diff --git a/.clang-tidy b/.clang-tidy index 33d7a66d14c..bc854d57f8a 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -62,6 +62,7 @@ Checks: '*, -google-build-using-namespace, -google-readability-braces-around-statements, + -google-readability-casting, -google-readability-function-size, -google-readability-namespace-comments, -google-readability-todo, diff --git a/.github/ISSUE_TEMPLATE/85_bug-report.md b/.github/ISSUE_TEMPLATE/85_bug-report.md index 87a2d877e30..3d2ed6148e3 100644 --- a/.github/ISSUE_TEMPLATE/85_bug-report.md +++ b/.github/ISSUE_TEMPLATE/85_bug-report.md @@ -1,6 +1,6 @@ --- name: Bug report -about: Wrong behaviour (visible to users) in official ClickHouse release. +about: Wrong behavior (visible to users) in the official ClickHouse release. title: '' labels: 'potential bug' assignees: '' diff --git a/.github/workflows/backport_branches.yml b/.github/workflows/backport_branches.yml index b93c1b61ffd..e1b2b1fad01 100644 --- a/.github/workflows/backport_branches.yml +++ b/.github/workflows/backport_branches.yml @@ -143,6 +143,8 @@ jobs: sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" - name: Check out repository code uses: actions/checkout@v2 + with: + fetch-depth: 0 # For a proper version and performance artifacts - name: Build run: | git -C "$GITHUB_WORKSPACE" submodule sync --recursive @@ -188,6 +190,8 @@ jobs: sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" - name: Check out repository code uses: actions/checkout@v2 + with: + fetch-depth: 0 # For a proper version and performance artifacts - name: Build run: | git -C "$GITHUB_WORKSPACE" submodule sync --recursive @@ -346,6 +350,36 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" ############################################################################################ +##################################### Docker images ####################################### +############################################################################################ + DockerServerImages: + needs: + - BuilderDebRelease + - BuilderDebAarch64 + runs-on: [self-hosted, style-checker] + steps: + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + with: + fetch-depth: 0 # It MUST BE THE SAME for all dependencies and the job itself + - name: Check docker clickhouse/clickhouse-server building + run: | + cd "$GITHUB_WORKSPACE/tests/ci" + python3 docker_server.py --release-type head --no-push + python3 docker_server.py --release-type head --no-push --no-ubuntu \ + --image-repo clickhouse/clickhouse-keeper --image-path docker/keeper + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" +############################################################################################ ##################################### BUILD REPORTER ####################################### ############################################################################################ BuilderReport: @@ -360,7 +394,7 @@ jobs: - name: Set envs run: | cat >> "$GITHUB_ENV" << 'EOF' - CHECK_NAME=ClickHouse build check (actions) + CHECK_NAME=ClickHouse build check REPORTS_PATH=${{runner.temp}}/reports_dir TEMP_PATH=${{runner.temp}}/report_check NEEDS_DATA_PATH=${{runner.temp}}/needs.json @@ -403,7 +437,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (address, actions) + CHECK_NAME=Stateless tests (address) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 EOF @@ -443,7 +477,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (debug, actions) + CHECK_NAME=Stateful tests (debug) REPO_COPY=${{runner.temp}}/stateful_debug/ClickHouse KILL_TIMEOUT=3600 EOF @@ -487,7 +521,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_thread REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (thread, actions) + CHECK_NAME=Stress test (thread) REPO_COPY=${{runner.temp}}/stress_thread/ClickHouse EOF - name: Download json reports @@ -526,7 +560,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (release, actions) + CHECK_NAME=Integration tests (release) REPO_COPY=${{runner.temp}}/integration_tests_release/ClickHouse EOF - name: Download json reports @@ -556,6 +590,7 @@ jobs: FinishCheck: needs: - DockerHubPush + - DockerServerImages - BuilderReport - FunctionalStatelessTestAsan - FunctionalStatefulTestDebug diff --git a/.github/workflows/backport.yml b/.github/workflows/cherry_pick.yml similarity index 92% rename from .github/workflows/backport.yml rename to .github/workflows/cherry_pick.yml index 620c698284e..e6a10479c7e 100644 --- a/.github/workflows/backport.yml +++ b/.github/workflows/cherry_pick.yml @@ -8,10 +8,12 @@ concurrency: group: cherry-pick on: # yamllint disable-line rule:truthy schedule: - - cron: '0 */3 * * *' + - cron: '0 * * * *' + workflow_dispatch: + jobs: CherryPick: - runs-on: [self-hosted, style-checker] + runs-on: [self-hosted, style-checker-aarch64] steps: - name: Set envs # https://docs.github.com/en/actions/learn-github-actions/workflow-commands-for-github-actions#multiline-strings diff --git a/.github/workflows/docs_check.yml b/.github/workflows/docs_check.yml index 0c657a245cb..b50584a2c01 100644 --- a/.github/workflows/docs_check.yml +++ b/.github/workflows/docs_check.yml @@ -102,6 +102,9 @@ jobs: run: | cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{ runner.temp }}/style_check + ROBOT_CLICKHOUSE_SSH_KEY<> "$GITHUB_ENV" << 'EOF' - CHECK_NAME=ClickHouse build check (actions) + CHECK_NAME=ClickHouse build check REPORTS_PATH=${{runner.temp}}/reports_dir REPORTS_PATH=${{runner.temp}}/reports_dir TEMP_PATH=${{runner.temp}}/report_check @@ -1011,8 +1011,8 @@ jobs: - BuilderBinFreeBSD # - BuilderBinGCC - BuilderBinPPC64 - - BuilderBinTidy - - BuilderDebSplitted + - BuilderBinClangTidy + - BuilderDebShared runs-on: [self-hosted, style-checker] steps: - name: Set envs @@ -1020,7 +1020,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/report_check REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=ClickHouse special build check (actions) + CHECK_NAME=ClickHouse special build check NEEDS_DATA_PATH=${{runner.temp}}/needs.json EOF - name: Download json reports @@ -1061,7 +1061,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (release, actions) + CHECK_NAME=Stateless tests (release) REPO_COPY=${{runner.temp}}/stateless_release/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1098,7 +1098,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_release_database_ordinary REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (release, DatabaseOrdinary, actions) + CHECK_NAME=Stateless tests (release, DatabaseOrdinary) REPO_COPY=${{runner.temp}}/stateless_release_database_ordinary/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1126,6 +1126,84 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" + FunctionalStatelessTestReleaseDatabaseReplicated0: + needs: [BuilderDebRelease] + runs-on: [self-hosted, func-tester] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/stateless_database_replicated + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Stateless tests (release, DatabaseReplicated) + REPO_COPY=${{runner.temp}}/stateless_database_replicated/ClickHouse + KILL_TIMEOUT=10800 + RUN_BY_HASH_NUM=0 + RUN_BY_HASH_TOTAL=2 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Functional test + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" + FunctionalStatelessTestReleaseDatabaseReplicated1: + needs: [BuilderDebRelease] + runs-on: [self-hosted, func-tester] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/stateless_database_replicated + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Stateless tests (release, DatabaseReplicated) + REPO_COPY=${{runner.temp}}/stateless_database_replicated/ClickHouse + KILL_TIMEOUT=10800 + RUN_BY_HASH_NUM=1 + RUN_BY_HASH_TOTAL=2 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Functional test + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" FunctionalStatelessTestReleaseS3: needs: [BuilderDebRelease] runs-on: [self-hosted, func-tester] @@ -1135,7 +1213,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_s3_storage REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (release, s3 storage, actions) + CHECK_NAME=Stateless tests (release, s3 storage) REPO_COPY=${{runner.temp}}/stateless_s3_storage/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1172,7 +1250,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (aarch64, actions) + CHECK_NAME=Stateless tests (aarch64) REPO_COPY=${{runner.temp}}/stateless_release/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1209,7 +1287,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (address, actions) + CHECK_NAME=Stateless tests (address) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -1248,7 +1326,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (address, actions) + CHECK_NAME=Stateless tests (address) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -1287,7 +1365,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (thread, actions) + CHECK_NAME=Stateless tests (thread) REPO_COPY=${{runner.temp}}/stateless_tsan/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -1326,7 +1404,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (thread, actions) + CHECK_NAME=Stateless tests (thread) REPO_COPY=${{runner.temp}}/stateless_tsan/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -1365,7 +1443,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (thread, actions) + CHECK_NAME=Stateless tests (thread) REPO_COPY=${{runner.temp}}/stateless_tsan/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=2 @@ -1404,7 +1482,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (ubsan, actions) + CHECK_NAME=Stateless tests (ubsan) REPO_COPY=${{runner.temp}}/stateless_ubsan/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1441,7 +1519,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (memory, actions) + CHECK_NAME=Stateless tests (memory) REPO_COPY=${{runner.temp}}/stateless_memory/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -1480,7 +1558,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (memory, actions) + CHECK_NAME=Stateless tests (memory) REPO_COPY=${{runner.temp}}/stateless_memory/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -1519,7 +1597,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (memory, actions) + CHECK_NAME=Stateless tests (memory) REPO_COPY=${{runner.temp}}/stateless_memory/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=2 @@ -1558,7 +1636,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (debug, actions) + CHECK_NAME=Stateless tests (debug) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -1597,7 +1675,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (debug, actions) + CHECK_NAME=Stateless tests (debug) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -1636,7 +1714,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (debug, actions) + CHECK_NAME=Stateless tests (debug) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=2 @@ -1678,7 +1756,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (release, actions) + CHECK_NAME=Stateful tests (release) REPO_COPY=${{runner.temp}}/stateful_release/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1706,43 +1784,6 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" - FunctionalStatefulTestReleaseDatabaseOrdinary: - needs: [BuilderDebRelease] - runs-on: [self-hosted, func-tester] - steps: - - name: Set envs - run: | - cat >> "$GITHUB_ENV" << 'EOF' - TEMP_PATH=${{runner.temp}}/stateful_release_database_ordinary - REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (release, DatabaseOrdinary, actions) - REPO_COPY=${{runner.temp}}/stateful_release_database_ordinary/ClickHouse - KILL_TIMEOUT=3600 - EOF - - name: Download json reports - uses: actions/download-artifact@v2 - with: - path: ${{ env.REPORTS_PATH }} - - name: Clear repository - run: | - sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" - - name: Check out repository code - uses: actions/checkout@v2 - - name: Functional test - run: | - sudo rm -fr "$TEMP_PATH" - mkdir -p "$TEMP_PATH" - cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" - cd "$REPO_COPY/tests/ci" - python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" - - name: Cleanup - if: always() - run: | - # shellcheck disable=SC2046 - docker kill $(docker ps -q) ||: - # shellcheck disable=SC2046 - docker rm -f $(docker ps -a -q) ||: - sudo rm -fr "$TEMP_PATH" FunctionalStatefulTestAarch64: needs: [BuilderDebAarch64] runs-on: [self-hosted, func-tester-aarch64] @@ -1752,7 +1793,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (aarch64, actions) + CHECK_NAME=Stateful tests (aarch64) REPO_COPY=${{runner.temp}}/stateful_release/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1789,7 +1830,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (address, actions) + CHECK_NAME=Stateful tests (address) REPO_COPY=${{runner.temp}}/stateful_debug/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1826,7 +1867,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (thread, actions) + CHECK_NAME=Stateful tests (thread) REPO_COPY=${{runner.temp}}/stateful_tsan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1863,7 +1904,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_msan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (memory, actions) + CHECK_NAME=Stateful tests (memory) REPO_COPY=${{runner.temp}}/stateful_msan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1900,7 +1941,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (ubsan, actions) + CHECK_NAME=Stateful tests (ubsan) REPO_COPY=${{runner.temp}}/stateful_ubsan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1937,7 +1978,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (debug, actions) + CHECK_NAME=Stateful tests (debug) REPO_COPY=${{runner.temp}}/stateful_debug/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1977,7 +2018,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_thread REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (address, actions) + CHECK_NAME=Stress test (address) REPO_COPY=${{runner.temp}}/stress_thread/ClickHouse EOF - name: Download json reports @@ -2017,7 +2058,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_thread REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (thread, actions) + CHECK_NAME=Stress test (thread) REPO_COPY=${{runner.temp}}/stress_thread/ClickHouse EOF - name: Download json reports @@ -2053,7 +2094,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (memory, actions) + CHECK_NAME=Stress test (memory) REPO_COPY=${{runner.temp}}/stress_memory/ClickHouse EOF - name: Download json reports @@ -2089,7 +2130,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_undefined REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (undefined, actions) + CHECK_NAME=Stress test (undefined) REPO_COPY=${{runner.temp}}/stress_undefined/ClickHouse EOF - name: Download json reports @@ -2125,7 +2166,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (debug, actions) + CHECK_NAME=Stress test (debug) REPO_COPY=${{runner.temp}}/stress_debug/ClickHouse EOF - name: Download json reports @@ -2164,7 +2205,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (asan, actions) + CHECK_NAME=Integration tests (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=3 @@ -2202,7 +2243,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (asan, actions) + CHECK_NAME=Integration tests (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=3 @@ -2240,7 +2281,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (asan, actions) + CHECK_NAME=Integration tests (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=3 @@ -2278,7 +2319,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=4 @@ -2316,7 +2357,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=4 @@ -2354,7 +2395,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=4 @@ -2392,7 +2433,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=3 RUN_BY_HASH_TOTAL=4 @@ -2430,7 +2471,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (release, actions) + CHECK_NAME=Integration tests (release) REPO_COPY=${{runner.temp}}/integration_tests_release/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=2 @@ -2468,7 +2509,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (release, actions) + CHECK_NAME=Integration tests (release) REPO_COPY=${{runner.temp}}/integration_tests_release/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=2 @@ -2509,7 +2550,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (ASan, actions) + CHECK_NAME=AST fuzzer (ASan) REPO_COPY=${{runner.temp}}/ast_fuzzer_asan/ClickHouse EOF - name: Download json reports @@ -2545,7 +2586,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (TSan, actions) + CHECK_NAME=AST fuzzer (TSan) REPO_COPY=${{runner.temp}}/ast_fuzzer_tsan/ClickHouse EOF - name: Download json reports @@ -2581,7 +2622,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (UBSan, actions) + CHECK_NAME=AST fuzzer (UBSan) REPO_COPY=${{runner.temp}}/ast_fuzzer_ubsan/ClickHouse EOF - name: Download json reports @@ -2617,7 +2658,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_msan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (MSan, actions) + CHECK_NAME=AST fuzzer (MSan) REPO_COPY=${{runner.temp}}/ast_fuzzer_msan/ClickHouse EOF - name: Download json reports @@ -2653,7 +2694,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (debug, actions) + CHECK_NAME=AST fuzzer (debug) REPO_COPY=${{runner.temp}}/ast_fuzzer_debug/ClickHouse EOF - name: Download json reports @@ -2692,7 +2733,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (asan, actions) + CHECK_NAME=Unit tests (asan) REPO_COPY=${{runner.temp}}/unit_tests_asan/ClickHouse EOF - name: Download json reports @@ -2728,7 +2769,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (release-clang, actions) + CHECK_NAME=Unit tests (release-clang) REPO_COPY=${{runner.temp}}/unit_tests_asan/ClickHouse EOF - name: Download json reports @@ -2764,7 +2805,7 @@ jobs: # cat >> "$GITHUB_ENV" << 'EOF' # TEMP_PATH=${{runner.temp}}/unit_tests_asan # REPORTS_PATH=${{runner.temp}}/reports_dir - # CHECK_NAME=Unit tests (release-gcc, actions) + # CHECK_NAME=Unit tests (release-gcc) # REPO_COPY=${{runner.temp}}/unit_tests_asan/ClickHouse # EOF # - name: Download json reports @@ -2800,7 +2841,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (tsan, actions) + CHECK_NAME=Unit tests (tsan) REPO_COPY=${{runner.temp}}/unit_tests_tsan/ClickHouse EOF - name: Download json reports @@ -2836,7 +2877,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_msan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (msan, actions) + CHECK_NAME=Unit tests (msan) REPO_COPY=${{runner.temp}}/unit_tests_msan/ClickHouse EOF - name: Download json reports @@ -2872,7 +2913,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (ubsan, actions) + CHECK_NAME=Unit tests (ubsan) REPO_COPY=${{runner.temp}}/unit_tests_ubsan/ClickHouse EOF - name: Download json reports @@ -2902,7 +2943,7 @@ jobs: ############################################################################################# #################################### PERFORMANCE TESTS ###################################### ############################################################################################# - PerformanceComparison0: + PerformanceComparisonX86-0: needs: [BuilderDebRelease] runs-on: [self-hosted, stress-tester] steps: @@ -2911,7 +2952,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=4 @@ -2940,7 +2981,7 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" - PerformanceComparison1: + PerformanceComparisonX86-1: needs: [BuilderDebRelease] runs-on: [self-hosted, stress-tester] steps: @@ -2949,7 +2990,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=4 @@ -2978,7 +3019,7 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" - PerformanceComparison2: + PerformanceComparisonX86-2: needs: [BuilderDebRelease] runs-on: [self-hosted, stress-tester] steps: @@ -2987,7 +3028,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=4 @@ -3016,7 +3057,7 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" - PerformanceComparison3: + PerformanceComparisonX86-3: needs: [BuilderDebRelease] runs-on: [self-hosted, stress-tester] steps: @@ -3025,7 +3066,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=3 RUN_BY_HASH_TOTAL=4 @@ -3063,6 +3104,8 @@ jobs: - FunctionalStatelessTestDebug2 - FunctionalStatelessTestRelease - FunctionalStatelessTestReleaseDatabaseOrdinary + - FunctionalStatelessTestReleaseDatabaseReplicated0 + - FunctionalStatelessTestReleaseDatabaseReplicated1 - FunctionalStatelessTestAarch64 - FunctionalStatelessTestAsan0 - FunctionalStatelessTestAsan1 @@ -3075,7 +3118,6 @@ jobs: - FunctionalStatelessTestUBsan - FunctionalStatefulTestDebug - FunctionalStatefulTestRelease - - FunctionalStatefulTestReleaseDatabaseOrdinary - FunctionalStatelessTestReleaseS3 - FunctionalStatefulTestAarch64 - FunctionalStatefulTestAsan @@ -3096,10 +3138,10 @@ jobs: - IntegrationTestsTsan1 - IntegrationTestsTsan2 - IntegrationTestsTsan3 - - PerformanceComparison0 - - PerformanceComparison1 - - PerformanceComparison2 - - PerformanceComparison3 + - PerformanceComparisonX86-0 + - PerformanceComparisonX86-1 + - PerformanceComparisonX86-2 + - PerformanceComparisonX86-3 - CompatibilityCheck - ASTFuzzerTestDebug - ASTFuzzerTestAsan @@ -3111,7 +3153,7 @@ jobs: - UnitTestsMsan - UnitTestsUBsan - UnitTestsReleaseClang - - SplitBuildSmokeTest + - SharedBuildSmokeTest runs-on: [self-hosted, style-checker] steps: - name: Clear repository diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index b2ddd87d173..e712ada1551 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -81,7 +81,6 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' BUILD_NAME=coverity CACHES_PATH=${{runner.temp}}/../ccaches - CHECK_NAME=ClickHouse build check (actions) IMAGES_PATH=${{runner.temp}}/images_path REPO_COPY=${{runner.temp}}/build_check/ClickHouse TEMP_PATH=${{runner.temp}}/build_check @@ -99,13 +98,15 @@ jobs: id: coverity-checkout uses: actions/checkout@v2 with: - submodules: 'true' + fetch-depth: 0 # otherwise we will have no info about contributors - name: Build run: | + git -C "$GITHUB_WORKSPACE" submodule sync + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" - cd "$REPO_COPY/tests/ci" && python3 build_check.py "$CHECK_NAME" "$BUILD_NAME" + cd "$REPO_COPY/tests/ci" && python3 build_check.py "$BUILD_NAME" - name: Upload Coverity Analysis if: ${{ success() || failure() }} run: | diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index f6e9880d088..513df8487c4 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -118,6 +118,9 @@ jobs: run: | cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{ runner.temp }}/style_check + ROBOT_CLICKHOUSE_SSH_KEY<> "$GITHUB_ENV" << 'EOF' - # TEMP_PATH=${{runner.temp}}/build_check - # IMAGES_PATH=${{runner.temp}}/images_path - # REPO_COPY=${{runner.temp}}/build_check/ClickHouse - # CACHES_PATH=${{runner.temp}}/../ccaches - # BUILD_NAME=binary_gcc - # EOF - # - name: Download changed images - # uses: actions/download-artifact@v2 - # with: - # name: changed_images - # path: ${{ runner.temp }}/images_path - # - name: Clear repository - # run: | - # sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" - # - name: Check out repository code - # uses: actions/checkout@v2 - # - name: Build - # run: | - # git -C "$GITHUB_WORKSPACE" submodule sync - # git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 - # sudo rm -fr "$TEMP_PATH" - # mkdir -p "$TEMP_PATH" - # cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" - # cd "$REPO_COPY/tests/ci" && python3 build_check.py "$BUILD_NAME" - # - name: Upload build URLs to artifacts - # if: ${{ success() || failure() }} - # uses: actions/upload-artifact@v2 - # with: - # name: ${{ env.BUILD_URLS }} - # path: ${{ env.TEMP_PATH }}/${{ env.BUILD_URLS }}.json - # - name: Cleanup - # if: always() - # run: | - # # shellcheck disable=SC2046 - # docker kill $(docker ps -q) ||: - # # shellcheck disable=SC2046 - # docker rm -f $(docker ps -a -q) ||: - # sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderDebAarch64: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -414,8 +372,8 @@ jobs: fetch-depth: 0 # for performance artifact - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -435,7 +393,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderDebAsan: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -459,8 +417,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -480,7 +438,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderDebUBsan: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -504,8 +462,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -525,7 +483,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderDebTsan: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -549,8 +507,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -570,7 +528,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderDebMsan: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -594,8 +552,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -615,7 +573,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderDebDebug: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -639,8 +597,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -662,8 +620,8 @@ jobs: ########################################################################################## ##################################### SPECIAL BUILDS ##################################### ########################################################################################## - BuilderDebSplitted: - needs: [DockerHubPush, FastTest] + BuilderDebShared: + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -673,7 +631,7 @@ jobs: IMAGES_PATH=${{runner.temp}}/images_path REPO_COPY=${{runner.temp}}/build_check/ClickHouse CACHES_PATH=${{runner.temp}}/../ccaches - BUILD_NAME=binary_splitted + BUILD_NAME=binary_shared EOF - name: Download changed images uses: actions/download-artifact@v2 @@ -687,8 +645,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -707,8 +665,8 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" - BuilderBinTidy: - needs: [DockerHubPush, FastTest] + BuilderBinClangTidy: + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -732,8 +690,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -753,7 +711,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderBinDarwin: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -777,8 +735,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -798,7 +756,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderBinAarch64: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -822,8 +780,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -843,7 +801,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderBinFreeBSD: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -867,8 +825,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -888,7 +846,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderBinDarwinAarch64: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -912,8 +870,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -933,7 +891,7 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" BuilderBinPPC64: - needs: [DockerHubPush, FastTest] + needs: [DockerHubPush, FastTest, StyleCheck] runs-on: [self-hosted, builder] steps: - name: Set envs @@ -957,8 +915,8 @@ jobs: uses: actions/checkout@v2 - name: Build run: | - git -C "$GITHUB_WORKSPACE" submodule sync - git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 + git -C "$GITHUB_WORKSPACE" submodule sync --recursive + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" @@ -1026,7 +984,7 @@ jobs: - name: Set envs run: | cat >> "$GITHUB_ENV" << 'EOF' - CHECK_NAME=ClickHouse build check (actions) + CHECK_NAME=ClickHouse build check REPORTS_PATH=${{runner.temp}}/reports_dir TEMP_PATH=${{runner.temp}}/report_check NEEDS_DATA_PATH=${{runner.temp}}/needs.json @@ -1065,8 +1023,8 @@ jobs: - BuilderBinFreeBSD # - BuilderBinGCC - BuilderBinPPC64 - - BuilderBinTidy - - BuilderDebSplitted + - BuilderBinClangTidy + - BuilderDebShared runs-on: [self-hosted, style-checker] if: ${{ success() || failure() }} steps: @@ -1075,7 +1033,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/report_check REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=ClickHouse special build check (actions) + CHECK_NAME=ClickHouse special build check NEEDS_DATA_PATH=${{runner.temp}}/needs.json EOF - name: Download json reports @@ -1116,7 +1074,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (release, actions) + CHECK_NAME=Stateless tests (release) REPO_COPY=${{runner.temp}}/stateless_release/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1153,7 +1111,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_database_replicated REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (release, DatabaseReplicated, actions) + CHECK_NAME=Stateless tests (release, DatabaseReplicated) REPO_COPY=${{runner.temp}}/stateless_database_replicated/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -1192,7 +1150,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_database_replicated REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (release, DatabaseReplicated, actions) + CHECK_NAME=Stateless tests (release, DatabaseReplicated) REPO_COPY=${{runner.temp}}/stateless_database_replicated/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -1231,7 +1189,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_wide_parts REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (release, wide parts enabled, actions) + CHECK_NAME=Stateless tests (release, wide parts enabled) REPO_COPY=${{runner.temp}}/stateless_wide_parts/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1268,7 +1226,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_s3_storage REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (release, s3 storage, actions) + CHECK_NAME=Stateless tests (release, s3 storage) REPO_COPY=${{runner.temp}}/stateless_s3_storage/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1305,7 +1263,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (aarch64, actions) + CHECK_NAME=Stateless tests (aarch64) REPO_COPY=${{runner.temp}}/stateless_release/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1342,7 +1300,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (address, actions) + CHECK_NAME=Stateless tests (address) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -1381,7 +1339,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (address, actions) + CHECK_NAME=Stateless tests (address) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -1420,7 +1378,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (thread, actions) + CHECK_NAME=Stateless tests (thread) REPO_COPY=${{runner.temp}}/stateless_tsan/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -1459,7 +1417,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (thread, actions) + CHECK_NAME=Stateless tests (thread) REPO_COPY=${{runner.temp}}/stateless_tsan/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -1498,7 +1456,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (thread, actions) + CHECK_NAME=Stateless tests (thread) REPO_COPY=${{runner.temp}}/stateless_tsan/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=2 @@ -1537,7 +1495,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (ubsan, actions) + CHECK_NAME=Stateless tests (ubsan) REPO_COPY=${{runner.temp}}/stateless_ubsan/ClickHouse KILL_TIMEOUT=10800 EOF @@ -1574,7 +1532,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (memory, actions) + CHECK_NAME=Stateless tests (memory) REPO_COPY=${{runner.temp}}/stateless_memory/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -1613,7 +1571,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (memory, actions) + CHECK_NAME=Stateless tests (memory) REPO_COPY=${{runner.temp}}/stateless_memory/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -1652,7 +1610,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (memory, actions) + CHECK_NAME=Stateless tests (memory) REPO_COPY=${{runner.temp}}/stateless_memory/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=2 @@ -1691,7 +1649,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (debug, actions) + CHECK_NAME=Stateless tests (debug) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -1730,7 +1688,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (debug, actions) + CHECK_NAME=Stateless tests (debug) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -1769,7 +1727,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (debug, actions) + CHECK_NAME=Stateless tests (debug) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=2 @@ -1808,7 +1766,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_flaky_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests flaky check (address, actions) + CHECK_NAME=Stateless tests flaky check (address) REPO_COPY=${{runner.temp}}/stateless_flaky_asan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1844,7 +1802,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/tests_bugfix_check REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Tests bugfix validate check (actions) + CHECK_NAME=tests bugfix validate check KILL_TIMEOUT=3600 REPO_COPY=${{runner.temp}}/tests_bugfix_check/ClickHouse EOF @@ -1866,12 +1824,12 @@ jobs: TEMP_PATH="${TEMP_PATH}/integration" \ REPORTS_PATH="${REPORTS_PATH}/integration" \ - python3 integration_test_check.py "Integration tests bugfix validate check" \ + python3 integration_test_check.py "Integration $CHECK_NAME" \ --validate-bugfix --post-commit-status=file || echo 'ignore exit code' TEMP_PATH="${TEMP_PATH}/stateless" \ REPORTS_PATH="${REPORTS_PATH}/stateless" \ - python3 functional_test_check.py "Stateless tests bugfix validate check" "$KILL_TIMEOUT" \ + python3 functional_test_check.py "Stateless $CHECK_NAME" "$KILL_TIMEOUT" \ --validate-bugfix --post-commit-status=file || echo 'ignore exit code' python3 bugfix_validate_check.py "${TEMP_PATH}/stateless/post_commit_status.tsv" "${TEMP_PATH}/integration/post_commit_status.tsv" @@ -1895,7 +1853,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (release, actions) + CHECK_NAME=Stateful tests (release) REPO_COPY=${{runner.temp}}/stateful_release/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1932,7 +1890,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (aarch64, actions) + CHECK_NAME=Stateful tests (aarch64) REPO_COPY=${{runner.temp}}/stateful_release/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1969,7 +1927,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (address, actions) + CHECK_NAME=Stateful tests (address) REPO_COPY=${{runner.temp}}/stateful_debug/ClickHouse KILL_TIMEOUT=3600 EOF @@ -2006,7 +1964,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (thread, actions) + CHECK_NAME=Stateful tests (thread) REPO_COPY=${{runner.temp}}/stateful_tsan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -2043,7 +2001,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_msan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (memory, actions) + CHECK_NAME=Stateful tests (memory) REPO_COPY=${{runner.temp}}/stateful_msan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -2080,7 +2038,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (ubsan, actions) + CHECK_NAME=Stateful tests (ubsan) REPO_COPY=${{runner.temp}}/stateful_ubsan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -2117,7 +2075,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (debug, actions) + CHECK_NAME=Stateful tests (debug) REPO_COPY=${{runner.temp}}/stateful_debug/ClickHouse KILL_TIMEOUT=3600 EOF @@ -2157,7 +2115,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_thread REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (address, actions) + CHECK_NAME=Stress test (address) REPO_COPY=${{runner.temp}}/stress_thread/ClickHouse EOF - name: Download json reports @@ -2197,7 +2155,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_thread REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (thread, actions) + CHECK_NAME=Stress test (thread) REPO_COPY=${{runner.temp}}/stress_thread/ClickHouse EOF - name: Download json reports @@ -2233,7 +2191,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (memory, actions) + CHECK_NAME=Stress test (memory) REPO_COPY=${{runner.temp}}/stress_memory/ClickHouse EOF - name: Download json reports @@ -2269,7 +2227,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_undefined REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (undefined, actions) + CHECK_NAME=Stress test (undefined) REPO_COPY=${{runner.temp}}/stress_undefined/ClickHouse EOF - name: Download json reports @@ -2305,7 +2263,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (debug, actions) + CHECK_NAME=Stress test (debug) REPO_COPY=${{runner.temp}}/stress_debug/ClickHouse EOF - name: Download json reports @@ -2344,7 +2302,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (ASan, actions) + CHECK_NAME=AST fuzzer (ASan) REPO_COPY=${{runner.temp}}/ast_fuzzer_asan/ClickHouse EOF - name: Download json reports @@ -2380,7 +2338,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (TSan, actions) + CHECK_NAME=AST fuzzer (TSan) REPO_COPY=${{runner.temp}}/ast_fuzzer_tsan/ClickHouse EOF - name: Download json reports @@ -2416,7 +2374,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (UBSan, actions) + CHECK_NAME=AST fuzzer (UBSan) REPO_COPY=${{runner.temp}}/ast_fuzzer_ubsan/ClickHouse EOF - name: Download json reports @@ -2452,7 +2410,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_msan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (MSan, actions) + CHECK_NAME=AST fuzzer (MSan) REPO_COPY=${{runner.temp}}/ast_fuzzer_msan/ClickHouse EOF - name: Download json reports @@ -2488,7 +2446,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/ast_fuzzer_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=AST fuzzer (debug, actions) + CHECK_NAME=AST fuzzer (debug) REPO_COPY=${{runner.temp}}/ast_fuzzer_debug/ClickHouse EOF - name: Download json reports @@ -2527,7 +2485,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (asan, actions) + CHECK_NAME=Integration tests (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=3 @@ -2565,7 +2523,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (asan, actions) + CHECK_NAME=Integration tests (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=3 @@ -2603,7 +2561,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (asan, actions) + CHECK_NAME=Integration tests (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=3 @@ -2641,7 +2599,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=4 @@ -2679,7 +2637,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=4 @@ -2717,7 +2675,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=4 @@ -2755,7 +2713,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=3 RUN_BY_HASH_TOTAL=4 @@ -2793,7 +2751,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (release, actions) + CHECK_NAME=Integration tests (release) REPO_COPY=${{runner.temp}}/integration_tests_release/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=2 @@ -2831,7 +2789,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (release, actions) + CHECK_NAME=Integration tests (release) REPO_COPY=${{runner.temp}}/integration_tests_release/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=2 @@ -2869,7 +2827,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan_flaky_check REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests flaky check (asan, actions) + CHECK_NAME=Integration tests flaky check (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan_flaky_check/ClickHouse EOF - name: Download json reports @@ -2908,7 +2866,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (asan, actions) + CHECK_NAME=Unit tests (asan) REPO_COPY=${{runner.temp}}/unit_tests_asan/ClickHouse EOF - name: Download json reports @@ -2944,7 +2902,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (release-clang, actions) + CHECK_NAME=Unit tests (release-clang) REPO_COPY=${{runner.temp}}/unit_tests_asan/ClickHouse EOF - name: Download json reports @@ -2971,42 +2929,6 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" - # UnitTestsReleaseGCC: - # needs: [BuilderBinGCC] - # runs-on: [self-hosted, fuzzer-unit-tester] - # steps: - # - name: Set envs - # run: | - # cat >> "$GITHUB_ENV" << 'EOF' - # TEMP_PATH=${{runner.temp}}/unit_tests_asan - # REPORTS_PATH=${{runner.temp}}/reports_dir - # CHECK_NAME=Unit tests (release-gcc, actions) - # REPO_COPY=${{runner.temp}}/unit_tests_asan/ClickHouse - # EOF - # - name: Download json reports - # uses: actions/download-artifact@v2 - # with: - # path: ${{ env.REPORTS_PATH }} - # - name: Clear repository - # run: | - # sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" - # - name: Check out repository code - # uses: actions/checkout@v2 - # - name: Unit test - # run: | - # sudo rm -fr "$TEMP_PATH" - # mkdir -p "$TEMP_PATH" - # cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" - # cd "$REPO_COPY/tests/ci" - # python3 unit_tests_check.py "$CHECK_NAME" - # - name: Cleanup - # if: always() - # run: | - # # shellcheck disable=SC2046 - # docker kill $(docker ps -q) ||: - # # shellcheck disable=SC2046 - # docker rm -f $(docker ps -a -q) ||: - # sudo rm -fr "$TEMP_PATH" UnitTestsTsan: needs: [BuilderDebTsan] runs-on: [self-hosted, fuzzer-unit-tester] @@ -3016,7 +2938,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (tsan, actions) + CHECK_NAME=Unit tests (tsan) REPO_COPY=${{runner.temp}}/unit_tests_tsan/ClickHouse EOF - name: Download json reports @@ -3052,7 +2974,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_msan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (msan, actions) + CHECK_NAME=Unit tests (msan) REPO_COPY=${{runner.temp}}/unit_tests_msan/ClickHouse EOF - name: Download json reports @@ -3088,7 +3010,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/unit_tests_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Unit tests (ubsan, actions) + CHECK_NAME=Unit tests (ubsan) REPO_COPY=${{runner.temp}}/unit_tests_ubsan/ClickHouse EOF - name: Download json reports @@ -3118,7 +3040,7 @@ jobs: ############################################################################################# #################################### PERFORMANCE TESTS ###################################### ############################################################################################# - PerformanceComparison0: + PerformanceComparisonX86-0: needs: [BuilderDebRelease] runs-on: [self-hosted, stress-tester] steps: @@ -3127,7 +3049,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=4 @@ -3156,7 +3078,7 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" - PerformanceComparison1: + PerformanceComparisonX86-1: needs: [BuilderDebRelease] runs-on: [self-hosted, stress-tester] steps: @@ -3165,7 +3087,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=4 @@ -3194,7 +3116,7 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" - PerformanceComparison2: + PerformanceComparisonX86-2: needs: [BuilderDebRelease] runs-on: [self-hosted, stress-tester] steps: @@ -3203,7 +3125,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=4 @@ -3232,7 +3154,7 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" - PerformanceComparison3: + PerformanceComparisonX86-3: needs: [BuilderDebRelease] runs-on: [self-hosted, stress-tester] steps: @@ -3241,7 +3163,159 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison + REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse + RUN_BY_HASH_NUM=3 + RUN_BY_HASH_TOTAL=4 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Performance Comparison + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 performance_comparison_check.py "$CHECK_NAME" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" + PerformanceComparisonAarch-0: + needs: [BuilderDebAarch64] + runs-on: [self-hosted, func-tester-aarch64] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/performance_comparison + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Performance Comparison Aarch64 + REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse + RUN_BY_HASH_NUM=0 + RUN_BY_HASH_TOTAL=4 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Performance Comparison + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 performance_comparison_check.py "$CHECK_NAME" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" + PerformanceComparisonAarch-1: + needs: [BuilderDebAarch64] + runs-on: [self-hosted, func-tester-aarch64] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/performance_comparison + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Performance Comparison Aarch64 + REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse + RUN_BY_HASH_NUM=1 + RUN_BY_HASH_TOTAL=4 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Performance Comparison + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 performance_comparison_check.py "$CHECK_NAME" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" + PerformanceComparisonAarch-2: + needs: [BuilderDebAarch64] + runs-on: [self-hosted, func-tester-aarch64] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/performance_comparison + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Performance Comparison Aarch64 + REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse + RUN_BY_HASH_NUM=2 + RUN_BY_HASH_TOTAL=4 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Performance Comparison + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 performance_comparison_check.py "$CHECK_NAME" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" + PerformanceComparisonAarch-3: + needs: [BuilderDebAarch64] + runs-on: [self-hosted, func-tester-aarch64] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/performance_comparison + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Performance Comparison Aarch64 REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=3 RUN_BY_HASH_TOTAL=4 @@ -3274,6 +3348,10 @@ jobs: ###################################### JEPSEN TESTS ######################################### ############################################################################################# Jepsen: + # This is special test NOT INCLUDED in FinishCheck + # When it's skipped, all dependent tasks will be skipped too. + # DO NOT add it there + if: contains(github.event.pull_request.labels.*.name, 'jepsen-test') needs: [BuilderBinRelease] uses: ./.github/workflows/jepsen.yml @@ -3329,19 +3407,22 @@ jobs: - IntegrationTestsTsan1 - IntegrationTestsTsan2 - IntegrationTestsTsan3 - - PerformanceComparison0 - - PerformanceComparison1 - - PerformanceComparison2 - - PerformanceComparison3 + - PerformanceComparisonX86-0 + - PerformanceComparisonX86-1 + - PerformanceComparisonX86-2 + - PerformanceComparisonX86-3 + - PerformanceComparisonAarch-0 + - PerformanceComparisonAarch-1 + - PerformanceComparisonAarch-2 + - PerformanceComparisonAarch-3 - UnitTestsAsan - UnitTestsTsan - UnitTestsMsan - UnitTestsUBsan - UnitTestsReleaseClang - - SplitBuildSmokeTest + - SharedBuildSmokeTest - CompatibilityCheck - IntegrationTestsFlakyCheck - - Jepsen runs-on: [self-hosted, style-checker] steps: - name: Clear repository diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 83e22c0b7c6..4d57ae450c4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,6 +21,9 @@ jobs: EOF - name: Check out repository code uses: actions/checkout@v2 + with: + # Always use the most recent script version + ref: master - name: Download packages and push to Artifactory run: | rm -rf "$TEMP_PATH" && mkdir -p "$TEMP_PATH" diff --git a/.github/workflows/release_branches.yml b/.github/workflows/release_branches.yml index a7a4b62a494..fdfedc56f5d 100644 --- a/.github/workflows/release_branches.yml +++ b/.github/workflows/release_branches.yml @@ -427,6 +427,36 @@ jobs: docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" ############################################################################################ +##################################### Docker images ####################################### +############################################################################################ + DockerServerImages: + needs: + - BuilderDebRelease + - BuilderDebAarch64 + runs-on: [self-hosted, style-checker] + steps: + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + with: + fetch-depth: 0 # It MUST BE THE SAME for all dependencies and the job itself + - name: Check docker clickhouse/clickhouse-server building + run: | + cd "$GITHUB_WORKSPACE/tests/ci" + python3 docker_server.py --release-type head --no-push + python3 docker_server.py --release-type head --no-push --no-ubuntu \ + --image-repo clickhouse/clickhouse-keeper --image-path docker/keeper + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" +############################################################################################ ##################################### BUILD REPORTER ####################################### ############################################################################################ BuilderReport: @@ -443,7 +473,7 @@ jobs: - name: Set envs run: | cat >> "$GITHUB_ENV" << 'EOF' - CHECK_NAME=ClickHouse build check (actions) + CHECK_NAME=ClickHouse build check REPORTS_PATH=${{runner.temp}}/reports_dir REPORTS_PATH=${{runner.temp}}/reports_dir TEMP_PATH=${{runner.temp}}/report_check @@ -487,7 +517,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (release, actions) + CHECK_NAME=Stateless tests (release) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 EOF @@ -524,7 +554,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (aarch64, actions) + CHECK_NAME=Stateless tests (aarch64) REPO_COPY=${{runner.temp}}/stateless_release/ClickHouse KILL_TIMEOUT=10800 EOF @@ -561,7 +591,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (address, actions) + CHECK_NAME=Stateless tests (address) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -600,7 +630,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (address, actions) + CHECK_NAME=Stateless tests (address) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -639,7 +669,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (thread, actions) + CHECK_NAME=Stateless tests (thread) REPO_COPY=${{runner.temp}}/stateless_tsan/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -678,7 +708,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (thread, actions) + CHECK_NAME=Stateless tests (thread) REPO_COPY=${{runner.temp}}/stateless_tsan/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -717,7 +747,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (thread, actions) + CHECK_NAME=Stateless tests (thread) REPO_COPY=${{runner.temp}}/stateless_tsan/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=2 @@ -756,7 +786,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (ubsan, actions) + CHECK_NAME=Stateless tests (ubsan) REPO_COPY=${{runner.temp}}/stateless_ubsan/ClickHouse KILL_TIMEOUT=10800 EOF @@ -793,7 +823,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (memory, actions) + CHECK_NAME=Stateless tests (memory) REPO_COPY=${{runner.temp}}/stateless_memory/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -832,7 +862,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (memory, actions) + CHECK_NAME=Stateless tests (memory) REPO_COPY=${{runner.temp}}/stateless_memory/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -871,7 +901,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (memory, actions) + CHECK_NAME=Stateless tests (memory) REPO_COPY=${{runner.temp}}/stateless_memory/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=2 @@ -910,7 +940,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (debug, actions) + CHECK_NAME=Stateless tests (debug) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=0 @@ -949,7 +979,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (debug, actions) + CHECK_NAME=Stateless tests (debug) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=1 @@ -988,7 +1018,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateless_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateless tests (debug, actions) + CHECK_NAME=Stateless tests (debug) REPO_COPY=${{runner.temp}}/stateless_debug/ClickHouse KILL_TIMEOUT=10800 RUN_BY_HASH_NUM=2 @@ -1030,7 +1060,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (release, actions) + CHECK_NAME=Stateful tests (release) REPO_COPY=${{runner.temp}}/stateful_debug/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1067,7 +1097,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (aarch64, actions) + CHECK_NAME=Stateful tests (aarch64) REPO_COPY=${{runner.temp}}/stateful_release/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1104,7 +1134,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (address, actions) + CHECK_NAME=Stateful tests (address) REPO_COPY=${{runner.temp}}/stateful_debug/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1141,7 +1171,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (thread, actions) + CHECK_NAME=Stateful tests (thread) REPO_COPY=${{runner.temp}}/stateful_tsan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1178,7 +1208,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_msan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (memory, actions) + CHECK_NAME=Stateful tests (memory) REPO_COPY=${{runner.temp}}/stateful_msan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1215,7 +1245,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_ubsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (ubsan, actions) + CHECK_NAME=Stateful tests (ubsan) REPO_COPY=${{runner.temp}}/stateful_ubsan/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1252,7 +1282,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stateful_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stateful tests (debug, actions) + CHECK_NAME=Stateful tests (debug) REPO_COPY=${{runner.temp}}/stateful_debug/ClickHouse KILL_TIMEOUT=3600 EOF @@ -1292,7 +1322,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_thread REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (address, actions) + CHECK_NAME=Stress test (address) REPO_COPY=${{runner.temp}}/stress_thread/ClickHouse EOF - name: Download json reports @@ -1332,7 +1362,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_thread REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (thread, actions) + CHECK_NAME=Stress test (thread) REPO_COPY=${{runner.temp}}/stress_thread/ClickHouse EOF - name: Download json reports @@ -1368,7 +1398,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_memory REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (memory, actions) + CHECK_NAME=Stress test (memory) REPO_COPY=${{runner.temp}}/stress_memory/ClickHouse EOF - name: Download json reports @@ -1404,7 +1434,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_undefined REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (undefined, actions) + CHECK_NAME=Stress test (undefined) REPO_COPY=${{runner.temp}}/stress_undefined/ClickHouse EOF - name: Download json reports @@ -1440,7 +1470,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/stress_debug REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Stress test (debug, actions) + CHECK_NAME=Stress test (debug) REPO_COPY=${{runner.temp}}/stress_debug/ClickHouse EOF - name: Download json reports @@ -1479,7 +1509,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (asan, actions) + CHECK_NAME=Integration tests (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=3 @@ -1517,7 +1547,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (asan, actions) + CHECK_NAME=Integration tests (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=3 @@ -1555,7 +1585,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_asan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (asan, actions) + CHECK_NAME=Integration tests (asan) REPO_COPY=${{runner.temp}}/integration_tests_asan/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=3 @@ -1593,7 +1623,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=4 @@ -1631,7 +1661,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=4 @@ -1669,7 +1699,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=4 @@ -1707,7 +1737,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_tsan REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (thread, actions) + CHECK_NAME=Integration tests (thread) REPO_COPY=${{runner.temp}}/integration_tests_tsan/ClickHouse RUN_BY_HASH_NUM=3 RUN_BY_HASH_TOTAL=4 @@ -1745,7 +1775,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (release, actions) + CHECK_NAME=Integration tests (release) REPO_COPY=${{runner.temp}}/integration_tests_release/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=2 @@ -1783,7 +1813,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/integration_tests_release REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Integration tests (release, actions) + CHECK_NAME=Integration tests (release) REPO_COPY=${{runner.temp}}/integration_tests_release/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=2 @@ -1815,6 +1845,7 @@ jobs: FinishCheck: needs: - DockerHubPush + - DockerServerImages - BuilderReport - FunctionalStatelessTestDebug0 - FunctionalStatelessTestDebug1 diff --git a/.github/workflows/tags_stable.yml b/.github/workflows/tags_stable.yml index 0e0eefb4a35..05ffc1df56f 100644 --- a/.github/workflows/tags_stable.yml +++ b/.github/workflows/tags_stable.yml @@ -29,7 +29,7 @@ jobs: fetch-depth: 0 - name: Generate versions env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.ROBOT_CLICKHOUSE_COMMIT_TOKEN }} run: | ./utils/list-versions/list-versions.sh > ./utils/list-versions/version_date.tsv GID=$(id -g "${UID}") diff --git a/.gitmodules b/.gitmodules index aa68aa218b5..62b2f9d7766 100644 --- a/.gitmodules +++ b/.gitmodules @@ -79,16 +79,13 @@ url = https://github.com/ClickHouse/snappy.git [submodule "contrib/cppkafka"] path = contrib/cppkafka - url = https://github.com/ClickHouse/cppkafka.git + url = https://github.com/mfontanini/cppkafka.git [submodule "contrib/brotli"] path = contrib/brotli - url = https://github.com/ClickHouse/brotli.git + url = https://github.com/google/brotli.git [submodule "contrib/h3"] path = contrib/h3 url = https://github.com/ClickHouse/h3 -[submodule "contrib/hyperscan"] - path = contrib/hyperscan - url = https://github.com/ClickHouse/hyperscan.git [submodule "contrib/libunwind"] path = contrib/libunwind url = https://github.com/ClickHouse/libunwind.git @@ -144,7 +141,7 @@ ignore = untracked [submodule "contrib/msgpack-c"] path = contrib/msgpack-c - url = https://github.com/ClickHouse/msgpack-c + url = https://github.com/msgpack/msgpack-c [submodule "contrib/libcpuid"] path = contrib/libcpuid url = https://github.com/ClickHouse/libcpuid.git @@ -204,7 +201,7 @@ [submodule "contrib/boringssl"] path = contrib/boringssl url = https://github.com/ClickHouse/boringssl.git - branch = MergeWithUpstream + branch = unknown_branch_from_artur [submodule "contrib/NuRaft"] path = contrib/NuRaft url = https://github.com/ClickHouse/NuRaft.git @@ -262,9 +259,24 @@ [submodule "contrib/minizip-ng"] path = contrib/minizip-ng url = https://github.com/zlib-ng/minizip-ng +[submodule "contrib/qpl"] + path = contrib/qpl + url = https://github.com/intel/qpl.git [submodule "contrib/wyhash"] path = contrib/wyhash url = https://github.com/wangyi-fudan/wyhash.git [submodule "contrib/hashidsxx"] path = contrib/hashidsxx url = https://github.com/schoentoon/hashidsxx.git +[submodule "contrib/nats-io"] + path = contrib/nats-io + url = https://github.com/ClickHouse/nats.c.git +[submodule "contrib/vectorscan"] + path = contrib/vectorscan + url = https://github.com/VectorCamp/vectorscan.git +[submodule "contrib/liburing"] + path = contrib/liburing + url = https://github.com/axboe/liburing.git +[submodule "contrib/c-ares"] + path = contrib/c-ares + url = https://github.com/ClickHouse/c-ares diff --git a/.pylintrc b/.pylintrc index add9a2aa94b..b672cbfdfad 100644 --- a/.pylintrc +++ b/.pylintrc @@ -13,9 +13,7 @@ max-statements=200 ignore-long-lines = (# )??$ [MESSAGES CONTROL] -disable = bad-continuation, - missing-docstring, - bad-whitespace, +disable = missing-docstring, too-few-public-methods, invalid-name, too-many-arguments, diff --git a/CHANGELOG.md b/CHANGELOG.md index e92f93b54ac..d7e2684380c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,344 @@ ### Table of Contents -**[ClickHouse release v22.5, 2022-05-19](#225)**
-**[ClickHouse release v22.4, 2022-04-20](#224)**
-**[ClickHouse release v22.3-lts, 2022-03-17](#223)**
-**[ClickHouse release v22.2, 2022-02-17](#222)**
-**[ClickHouse release v22.1, 2022-01-18](#221)**
-**[Changelog for 2021](https://github.com/ClickHouse/ClickHouse/blob/master/docs/en/whats-new/changelog/2021.md)**
+**[ClickHouse release v22.7, 2022-07-21](#227)**
+**[ClickHouse release v22.6, 2022-06-16](#226)**
+**[ClickHouse release v22.5, 2022-05-19](#225)**
+**[ClickHouse release v22.4, 2022-04-20](#224)**
+**[ClickHouse release v22.3-lts, 2022-03-17](#223)**
+**[ClickHouse release v22.2, 2022-02-17](#222)**
+**[ClickHouse release v22.1, 2022-01-18](#221)**
+**[Changelog for 2021](https://clickhouse.com/docs/en/whats-new/changelog/2021/)**
+ +### ClickHouse release 22.7, 2022-07-21 + +#### Upgrade Notes +* Enable setting `enable_positional_arguments` by default. It allows queries like `SELECT ... ORDER BY 1, 2` where 1, 2 are the references to the select clause. If you need to return the old behavior, disable this setting. [#38204](https://github.com/ClickHouse/ClickHouse/pull/38204) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Disable `format_csv_allow_single_quotes` by default. See [#37096](https://github.com/ClickHouse/ClickHouse/issues/37096). ([Kruglov Pavel](https://github.com/Avogar)). +* `Ordinary` database engine and old storage definition syntax for `*MergeTree` tables are deprecated. By default it's not possible to create new databases with `Ordinary` engine. If `system` database has `Ordinary` engine it will be automatically converted to `Atomic` on server startup. There are settings to keep old behavior (`allow_deprecated_database_ordinary` and `allow_deprecated_syntax_for_merge_tree`), but these settings may be removed in future releases. [#38335](https://github.com/ClickHouse/ClickHouse/pull/38335) ([Alexander Tokmakov](https://github.com/tavplubix)). +* Force rewriting comma join to inner by default (set default value `cross_to_inner_join_rewrite = 2`). To have old behavior set `cross_to_inner_join_rewrite = 1`. [#39326](https://github.com/ClickHouse/ClickHouse/pull/39326) ([Vladimir C](https://github.com/vdimir)). If you will face any incompatibilities, you can turn this setting back. + +#### New Feature +* Support expressions with window functions. Closes [#19857](https://github.com/ClickHouse/ClickHouse/issues/19857). [#37848](https://github.com/ClickHouse/ClickHouse/pull/37848) ([Dmitry Novik](https://github.com/novikd)). +* Add new `direct` join algorithm for `EmbeddedRocksDB` tables, see [#33582](https://github.com/ClickHouse/ClickHouse/issues/33582). [#35363](https://github.com/ClickHouse/ClickHouse/pull/35363) ([Vladimir C](https://github.com/vdimir)). +* Added full sorting merge join algorithm. [#35796](https://github.com/ClickHouse/ClickHouse/pull/35796) ([Vladimir C](https://github.com/vdimir)). +* Implement NATS table engine, which allows to pub/sub to NATS. Closes [#32388](https://github.com/ClickHouse/ClickHouse/issues/32388). [#37171](https://github.com/ClickHouse/ClickHouse/pull/37171) ([tchepavel](https://github.com/tchepavel)). ([Kseniia Sumarokova](https://github.com/kssenii)) +* Implement table function `mongodb`. Allow writes into `MongoDB` storage / table function. [#37213](https://github.com/ClickHouse/ClickHouse/pull/37213) ([aaapetrenko](https://github.com/aaapetrenko)). ([Kseniia Sumarokova](https://github.com/kssenii)) +* Add `SQLInsert` output format. Closes [#38441](https://github.com/ClickHouse/ClickHouse/issues/38441). [#38477](https://github.com/ClickHouse/ClickHouse/pull/38477) ([Kruglov Pavel](https://github.com/Avogar)). +* Introduced settings `additional_table_filters`. Using this setting, you can specify additional filtering condition for a table which will be applied directly after reading. Example: `select number, x, y from (select number from system.numbers limit 5) f any left join (select x, y from table_1) s on f.number = s.x settings additional_table_filters={'system.numbers : 'number != 3', 'table_1' : 'x != 2'}`. Introduced setting `additional_result_filter` which specifies additional filtering condition for query result. Closes [#37918](https://github.com/ClickHouse/ClickHouse/issues/37918). [#38475](https://github.com/ClickHouse/ClickHouse/pull/38475) ([Nikolai Kochetov](https://github.com/KochetovNicolai)). +* Add `compatibility` setting and `system.settings_changes` system table that contains information about changes in settings through ClickHouse versions. Closes [#35972](https://github.com/ClickHouse/ClickHouse/issues/35972). [#38957](https://github.com/ClickHouse/ClickHouse/pull/38957) ([Kruglov Pavel](https://github.com/Avogar)). +* Add functions `translate(string, from_string, to_string)` and `translateUTF8(string, from_string, to_string)`. It translates some characters to another. [#38935](https://github.com/ClickHouse/ClickHouse/pull/38935) ([Nikolay Degterinsky](https://github.com/evillique)). +* Support `parseTimeDelta` function. It can be used like ` ;-+,:` can be used as separators, eg. `1yr-2mo`, `2m:6s`: `SELECT parseTimeDelta('1yr-2mo-4w + 12 days, 3 hours : 1 minute ; 33 seconds')`. [#39071](https://github.com/ClickHouse/ClickHouse/pull/39071) ([jiahui-97](https://github.com/jiahui-97)). +* Added `CREATE TABLE ... EMPTY AS SELECT` query. It automatically deduces table structure from the SELECT query, but does not fill the table after creation. Resolves [#38049](https://github.com/ClickHouse/ClickHouse/issues/38049). [#38272](https://github.com/ClickHouse/ClickHouse/pull/38272) ([Alexander Tokmakov](https://github.com/tavplubix)). +* Added options to limit IO operations with remote storage: `max_remote_read_network_bandwidth_for_server` and `max_remote_write_network_bandwidth_for_server`. [#39095](https://github.com/ClickHouse/ClickHouse/pull/39095) ([Sergei Trifonov](https://github.com/serxa)). +* Add `group_by_use_nulls` setting to make aggregation key columns nullable in the case of ROLLUP, CUBE and GROUPING SETS. Closes [#37359](https://github.com/ClickHouse/ClickHouse/issues/37359). [#38642](https://github.com/ClickHouse/ClickHouse/pull/38642) ([Dmitry Novik](https://github.com/novikd)). +* Add the ability to specify compression level during data export. [#38907](https://github.com/ClickHouse/ClickHouse/pull/38907) ([Nikolay Degterinsky](https://github.com/evillique)). +* Add an option to require explicit grants to SELECT from the `system` database. Details: [#38970](https://github.com/ClickHouse/ClickHouse/pull/38970) ([Vitaly Baranov](https://github.com/vitlibar)). +* Functions `multiMatchAny`, `multiMatchAnyIndex`, `multiMatchAllIndices` and their fuzzy variants now accept non-const pattern array argument. [#38485](https://github.com/ClickHouse/ClickHouse/pull/38485) ([Robert Schulze](https://github.com/rschu1ze)). SQL function `multiSearchAllPositions` now accepts non-const needle arguments. [#39167](https://github.com/ClickHouse/ClickHouse/pull/39167) ([Robert Schulze](https://github.com/rschu1ze)). +* Add a setting `zstd_window_log_max` to configure max memory usage on zstd decoding when importing external files. Closes [#35693](https://github.com/ClickHouse/ClickHouse/issues/35693). [#37015](https://github.com/ClickHouse/ClickHouse/pull/37015) ([wuxiaobai24](https://github.com/wuxiaobai24)). +* Add `send_logs_source_regexp` setting. Send server text logs with specified regexp to match log source name. Empty means all sources. [#39161](https://github.com/ClickHouse/ClickHouse/pull/39161) ([Amos Bird](https://github.com/amosbird)). +* Support `ALTER` for `Hive` tables. [#38214](https://github.com/ClickHouse/ClickHouse/pull/38214) ([lgbo](https://github.com/lgbo-ustc)). +* Support `isNullable` function. This function checks whether it's argument is nullable and return 1 or 0. Closes [#38611](https://github.com/ClickHouse/ClickHouse/issues/38611). [#38841](https://github.com/ClickHouse/ClickHouse/pull/38841) ([lokax](https://github.com/lokax)). +* Added functions for base58 encoding/decoding. [#38159](https://github.com/ClickHouse/ClickHouse/pull/38159) ([Andrey Zvonov](https://github.com/zvonand)). +* Add chart visualization to Play UI. [#38197](https://github.com/ClickHouse/ClickHouse/pull/38197) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Added L2 Squared distance and norm functions for both arrays and tuples. [#38545](https://github.com/ClickHouse/ClickHouse/pull/38545) ([Julian Gilyadov](https://github.com/israelg99)). +* Add ability to pass HTTP headers to the `url` table function / storage via SQL. Closes [#37897](https://github.com/ClickHouse/ClickHouse/issues/37897). [#38176](https://github.com/ClickHouse/ClickHouse/pull/38176) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Add `clickhouse-diagnostics` binary to the packages. [#38647](https://github.com/ClickHouse/ClickHouse/pull/38647) ([Mikhail f. Shiryaev](https://github.com/Felixoid)). + +#### Experimental Feature +* Adds new setting `implicit_transaction` to run standalone queries inside a transaction. It handles both creation and closing (via COMMIT if the query succeeded or ROLLBACK if it didn't) of the transaction automatically. [#38344](https://github.com/ClickHouse/ClickHouse/pull/38344) ([Raúl Marín](https://github.com/Algunenano)). + +#### Performance Improvement +* Distinct optimization for sorted columns. Use specialized distinct transformation in case input stream is sorted by column(s) in distinct. Optimization can be applied to pre-distinct, final distinct, or both. Initial implementation by @dimarub2000. [#37803](https://github.com/ClickHouse/ClickHouse/pull/37803) ([Igor Nikonov](https://github.com/devcrafter)). +* Improve performance of `ORDER BY`, `MergeTree` merges, window functions using batch version of `BinaryHeap`. [#38022](https://github.com/ClickHouse/ClickHouse/pull/38022) ([Maksim Kita](https://github.com/kitaisreal)). +* More parallel execution for queries with `FINAL` [#36396](https://github.com/ClickHouse/ClickHouse/pull/36396) ([Nikita Taranov](https://github.com/nickitat)). +* Fix significant join performance regression which was introduced in [#35616](https://github.com/ClickHouse/ClickHouse/pull/35616). It's interesting that common join queries such as ssb queries have been 10 times slower for almost 3 months while no one complains. [#38052](https://github.com/ClickHouse/ClickHouse/pull/38052) ([Amos Bird](https://github.com/amosbird)). +* Migrate from the Intel hyperscan library to vectorscan, this speeds up many string matching on non-x86 platforms. [#38171](https://github.com/ClickHouse/ClickHouse/pull/38171) ([Robert Schulze](https://github.com/rschu1ze)). +* Increased parallelism of query plan steps executed after aggregation. [#38295](https://github.com/ClickHouse/ClickHouse/pull/38295) ([Nikita Taranov](https://github.com/nickitat)). +* Improve performance of insertion to columns of type `JSON`. [#38320](https://github.com/ClickHouse/ClickHouse/pull/38320) ([Anton Popov](https://github.com/CurtizJ)). +* Optimized insertion and lookups in the HashTable. [#38413](https://github.com/ClickHouse/ClickHouse/pull/38413) ([Nikita Taranov](https://github.com/nickitat)). +* Fix performance degradation from [#32493](https://github.com/ClickHouse/ClickHouse/issues/32493). [#38417](https://github.com/ClickHouse/ClickHouse/pull/38417) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Improve performance of joining with numeric columns using SIMD instructions. [#37235](https://github.com/ClickHouse/ClickHouse/pull/37235) ([zzachimed](https://github.com/zzachimed)). [#38565](https://github.com/ClickHouse/ClickHouse/pull/38565) ([Maksim Kita](https://github.com/kitaisreal)). +* Norm and Distance functions for arrays speed up 1.2-2 times. [#38740](https://github.com/ClickHouse/ClickHouse/pull/38740) ([Alexander Gololobov](https://github.com/davenger)). +* Add AVX-512 VBMI optimized `copyOverlap32Shuffle` for LZ4 decompression. In other words, LZ4 decompression performance is improved. [#37891](https://github.com/ClickHouse/ClickHouse/pull/37891) ([Guo Wangyang](https://github.com/guowangy)). +* `ORDER BY (a, b)` will use all the same benefits as `ORDER BY a, b`. [#38873](https://github.com/ClickHouse/ClickHouse/pull/38873) ([Igor Nikonov](https://github.com/devcrafter)). +* Align branches within a 32B boundary to make benchmark more stable. [#38988](https://github.com/ClickHouse/ClickHouse/pull/38988) ([Guo Wangyang](https://github.com/guowangy)). It improves performance 1..2% on average for Intel. +* Executable UDF, executable dictionaries, and Executable tables will avoid wasting one second during wait for subprocess termination. [#38929](https://github.com/ClickHouse/ClickHouse/pull/38929) ([Constantine Peresypkin](https://github.com/pkit)). +* Optimize accesses to `system.stack_trace` table if not all columns are selected. [#39177](https://github.com/ClickHouse/ClickHouse/pull/39177) ([Azat Khuzhin](https://github.com/azat)). +* Improve isNullable/isConstant/isNull/isNotNull performance for LowCardinality argument. [#39192](https://github.com/ClickHouse/ClickHouse/pull/39192) ([Kruglov Pavel](https://github.com/Avogar)). +* Optimized processing of ORDER BY in window functions. [#34632](https://github.com/ClickHouse/ClickHouse/pull/34632) ([Vladimir Chebotarev](https://github.com/excitoon)). +* The table `system.asynchronous_metric_log` is further optimized for storage space. This closes [#38134](https://github.com/ClickHouse/ClickHouse/issues/38134). See the [YouTube video](https://www.youtube.com/watch?v=0fSp9SF8N8A). [#38428](https://github.com/ClickHouse/ClickHouse/pull/38428) ([Alexey Milovidov](https://github.com/alexey-milovidov)). + +#### Improvement +* Support SQL standard CREATE INDEX and DROP INDEX syntax. [#35166](https://github.com/ClickHouse/ClickHouse/pull/35166) ([Jianmei Zhang](https://github.com/zhangjmruc)). +* Send profile events for INSERT queries (previously only SELECT was supported). [#37391](https://github.com/ClickHouse/ClickHouse/pull/37391) ([Azat Khuzhin](https://github.com/azat)). +* Implement in order aggregation (`optimize_aggregation_in_order`) for fully materialized projections. [#37469](https://github.com/ClickHouse/ClickHouse/pull/37469) ([Azat Khuzhin](https://github.com/azat)). +* Remove subprocess run for kerberos initialization. Added new integration test. Closes [#27651](https://github.com/ClickHouse/ClickHouse/issues/27651). [#38105](https://github.com/ClickHouse/ClickHouse/pull/38105) ([Roman Vasin](https://github.com/rvasin)). +* * Add setting `multiple_joins_try_to_keep_original_names` to not rewrite identifier name on multiple JOINs rewrite, close [#34697](https://github.com/ClickHouse/ClickHouse/issues/34697). [#38149](https://github.com/ClickHouse/ClickHouse/pull/38149) ([Vladimir C](https://github.com/vdimir)). +* Improved trace-visualizer UX. [#38169](https://github.com/ClickHouse/ClickHouse/pull/38169) ([Sergei Trifonov](https://github.com/serxa)). +* Enable stack trace collection and query profiler for AArch64. [#38181](https://github.com/ClickHouse/ClickHouse/pull/38181) ([Maksim Kita](https://github.com/kitaisreal)). +* Do not skip symlinks in `user_defined` directory during SQL user defined functions loading. Closes [#38042](https://github.com/ClickHouse/ClickHouse/issues/38042). [#38184](https://github.com/ClickHouse/ClickHouse/pull/38184) ([Maksim Kita](https://github.com/kitaisreal)). +* Added background cleanup of subdirectories in `store/`. In some cases clickhouse-server might left garbage subdirectories in `store/` (for example, on unsuccessful table creation) and those dirs were never been removed. Fixes [#33710](https://github.com/ClickHouse/ClickHouse/issues/33710). [#38265](https://github.com/ClickHouse/ClickHouse/pull/38265) ([Alexander Tokmakov](https://github.com/tavplubix)). +* Add `DESCRIBE CACHE` query to show cache settings from config. Add `SHOW CACHES` query to show available filesystem caches list. [#38279](https://github.com/ClickHouse/ClickHouse/pull/38279) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Add access check for `system drop filesystem cache`. Support ON CLUSTER. [#38319](https://github.com/ClickHouse/ClickHouse/pull/38319) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix PostgreSQL database engine incompatibility on upgrade from 21.3 to 22.3. Closes [#36659](https://github.com/ClickHouse/ClickHouse/issues/36659). [#38369](https://github.com/ClickHouse/ClickHouse/pull/38369) ([Kseniia Sumarokova](https://github.com/kssenii)). +* `filesystemAvailable` and similar functions now work in `clickhouse-local`. This closes [#38423](https://github.com/ClickHouse/ClickHouse/issues/38423). [#38424](https://github.com/ClickHouse/ClickHouse/pull/38424) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Add `revision` function. [#38555](https://github.com/ClickHouse/ClickHouse/pull/38555) ([Azat Khuzhin](https://github.com/azat)). +* Fix GCS via proxy tunnel usage. [#38726](https://github.com/ClickHouse/ClickHouse/pull/38726) ([Azat Khuzhin](https://github.com/azat)). +* Support `\i file` in clickhouse client / local (similar to psql \i). [#38813](https://github.com/ClickHouse/ClickHouse/pull/38813) ([Kseniia Sumarokova](https://github.com/kssenii)). +* New option `optimize = 1` in `EXPLAIN AST`. If enabled, it shows AST after it's rewritten, otherwise AST of original query. Disabled by default. [#38910](https://github.com/ClickHouse/ClickHouse/pull/38910) ([Igor Nikonov](https://github.com/devcrafter)). +* Allow trailing comma in columns list. closes [#38425](https://github.com/ClickHouse/ClickHouse/issues/38425). [#38440](https://github.com/ClickHouse/ClickHouse/pull/38440) ([chen](https://github.com/xiedeyantu)). +* Bugfixes and performance improvements for `parallel_hash` JOIN method. [#37648](https://github.com/ClickHouse/ClickHouse/pull/37648) ([Vladimir C](https://github.com/vdimir)). +* Support hadoop secure RPC transfer (hadoop.rpc.protection=privacy and hadoop.rpc.protection=integrity). [#37852](https://github.com/ClickHouse/ClickHouse/pull/37852) ([Peng Liu](https://github.com/michael1589)). +* Add struct type support in `StorageHive`. [#38118](https://github.com/ClickHouse/ClickHouse/pull/38118) ([lgbo](https://github.com/lgbo-ustc)). +* S3 single objects are now removed with `RemoveObjectRequest`. Implement compatibility with GCP which did not allow to use `removeFileIfExists` effectively breaking approximately half of `remove` functionality. Automatic detection for `DeleteObjects` S3 API, that is not supported by GCS. This will allow to use GCS without explicit `support_batch_delete=0` in configuration. [#37882](https://github.com/ClickHouse/ClickHouse/pull/37882) ([Vladimir Chebotarev](https://github.com/excitoon)). +* Expose basic ClickHouse Keeper related monitoring data (via ProfileEvents and CurrentMetrics). [#38072](https://github.com/ClickHouse/ClickHouse/pull/38072) ([lingpeng0314](https://github.com/lingpeng0314)). +* Support `auto_close` option for PostgreSQL engine connection. Closes [#31486](https://github.com/ClickHouse/ClickHouse/issues/31486). [#38363](https://github.com/ClickHouse/ClickHouse/pull/38363) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Allow `NULL` modifier in columns declaration for table functions. [#38816](https://github.com/ClickHouse/ClickHouse/pull/38816) ([Kruglov Pavel](https://github.com/Avogar)). +* Deactivate `mutations_finalizing_task` before shutdown to avoid benign `TABLE_IS_READ_ONLY` errors during shutdown. [#38851](https://github.com/ClickHouse/ClickHouse/pull/38851) ([Raúl Marín](https://github.com/Algunenano)). +* Eliminate unnecessary waiting of SELECT queries after ALTER queries in presence of INSERT queries if you use deprecated Ordinary databases. [#38864](https://github.com/ClickHouse/ClickHouse/pull/38864) ([Azat Khuzhin](https://github.com/azat)). +* New option `rewrite` in `EXPLAIN AST`. If enabled, it shows AST after it's rewritten, otherwise AST of original query. Disabled by default. [#38910](https://github.com/ClickHouse/ClickHouse/pull/38910) ([Igor Nikonov](https://github.com/devcrafter)). +* Stop reporting Zookeeper "Node exists" exceptions in system.errors when they are expected. [#38961](https://github.com/ClickHouse/ClickHouse/pull/38961) ([Raúl Marín](https://github.com/Algunenano)). +* `clickhouse-keeper`: add support for real-time digest calculation and verification. It is disabled by default. [#37555](https://github.com/ClickHouse/ClickHouse/pull/37555) ([Antonio Andelic](https://github.com/antonio2368)). +* Allow to specify globs `* or {expr1, expr2, expr3}` inside a key for `clickhouse-extract-from-config` tool. [#38966](https://github.com/ClickHouse/ClickHouse/pull/38966) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)). +* clearOldLogs: Don't report KEEPER_EXCEPTION on concurrent deletes. [#39016](https://github.com/ClickHouse/ClickHouse/pull/39016) ([Raúl Marín](https://github.com/Algunenano)). +* clickhouse-keeper improvement: persist meta-information about keeper servers to disk. [#39069](https://github.com/ClickHouse/ClickHouse/pull/39069) ([Antonio Andelic](https://github.com/antonio2368)). This will make it easier to operate if you shutdown or restart all keeper nodes at the same time. +* Continue without exception when running out of disk space when using filesystem cache. [#39106](https://github.com/ClickHouse/ClickHouse/pull/39106) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Handling SIGTERM signals from k8s. [#39130](https://github.com/ClickHouse/ClickHouse/pull/39130) ([Timur Solodovnikov](https://github.com/tsolodov)). +* Add `merge_algorithm` column (Undecided, Horizontal, Vertical) to system.part_log. [#39181](https://github.com/ClickHouse/ClickHouse/pull/39181) ([Azat Khuzhin](https://github.com/azat)). +* Don't increment a counter in `system.errors` when the disk is not rotational. [#39216](https://github.com/ClickHouse/ClickHouse/pull/39216) ([Raúl Marín](https://github.com/Algunenano)). +* The metric `result_bytes` for `INSERT` queries in `system.query_log` shows number of bytes inserted. Previously value was incorrect and stored the same value as `result_rows`. [#39225](https://github.com/ClickHouse/ClickHouse/pull/39225) ([Ilya Yatsishin](https://github.com/qoega)). +* The CPU usage metric in clickhouse-client will be displayed in a better way. Fixes [#38756](https://github.com/ClickHouse/ClickHouse/issues/38756). [#39280](https://github.com/ClickHouse/ClickHouse/pull/39280) ([Sergei Trifonov](https://github.com/serxa)). +* Rethrow exception on filesystem cache initialization on server startup, better error message. [#39386](https://github.com/ClickHouse/ClickHouse/pull/39386) ([Kseniia Sumarokova](https://github.com/kssenii)). +* OpenTelemetry now collects traces without Processors spans by default (there are too many). To enable Processors spans collection `opentelemetry_trace_processors` setting. [#39170](https://github.com/ClickHouse/ClickHouse/pull/39170) ([Ilya Yatsishin](https://github.com/qoega)). +* Functions `multiMatch[Fuzzy](AllIndices/Any/AnyIndex)` - don't throw a logical error if the needle argument is empty. [#39012](https://github.com/ClickHouse/ClickHouse/pull/39012) ([Robert Schulze](https://github.com/rschu1ze)). +* Allow to declare `RabbitMQ` queue without default arguments `x-max-length` and `x-overflow`. [#39259](https://github.com/ClickHouse/ClickHouse/pull/39259) ([rnbondarenko](https://github.com/rnbondarenko)). + +#### Build/Testing/Packaging Improvement +* Apply Clang Thread Safety Analysis (TSA) annotations to ClickHouse. [#38068](https://github.com/ClickHouse/ClickHouse/pull/38068) ([Robert Schulze](https://github.com/rschu1ze)). +* Adapt universal installation script for FreeBSD. [#39302](https://github.com/ClickHouse/ClickHouse/pull/39302) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Preparation for building on `s390x` platform. [#39193](https://github.com/ClickHouse/ClickHouse/pull/39193) ([Harry Lee](https://github.com/HarryLeeIBM)). +* Fix a bug in `jemalloc` library [#38757](https://github.com/ClickHouse/ClickHouse/pull/38757) ([Azat Khuzhin](https://github.com/azat)). +* Hardware benchmark now has support for automatic results uploading. [#38427](https://github.com/ClickHouse/ClickHouse/pull/38427) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* System table "system.licenses" is now correctly populated on Mac (Darwin). [#38294](https://github.com/ClickHouse/ClickHouse/pull/38294) ([Robert Schulze](https://github.com/rschu1ze)). +* Change `all|noarch` packages to architecture-dependent - Fix some documentation for it - Push aarch64|arm64 packages to artifactory and release assets - Fixes [#36443](https://github.com/ClickHouse/ClickHouse/issues/36443). [#38580](https://github.com/ClickHouse/ClickHouse/pull/38580) ([Mikhail f. Shiryaev](https://github.com/Felixoid)). + +#### Bug Fix (user-visible misbehavior in official stable or prestable release) +* Fix rounding for `Decimal128/Decimal256` with more than 19-digits long scale. [#38027](https://github.com/ClickHouse/ClickHouse/pull/38027) ([Igor Nikonov](https://github.com/devcrafter)). +* Fixed crash caused by data race in storage `Hive` (integration table engine). [#38887](https://github.com/ClickHouse/ClickHouse/pull/38887) ([lgbo](https://github.com/lgbo-ustc)). +* Fix crash when executing GRANT ALL ON *.* with ON CLUSTER. It was broken in https://github.com/ClickHouse/ClickHouse/pull/35767. This closes [#38618](https://github.com/ClickHouse/ClickHouse/issues/38618). [#38674](https://github.com/ClickHouse/ClickHouse/pull/38674) ([Vitaly Baranov](https://github.com/vitlibar)). +* Correct glob expansion in case of `{0..10}` forms. Fixes [#38498](https://github.com/ClickHouse/ClickHouse/issues/38498) Current Implementation is similar to what shell does mentiond by @rschu1ze [here](https://github.com/ClickHouse/ClickHouse/pull/38502#issuecomment-1169057723). [#38502](https://github.com/ClickHouse/ClickHouse/pull/38502) ([Heena Bansal](https://github.com/HeenaBansal2009)). +* Fix crash for `mapUpdate`, `mapFilter` functions when using with constant map argument. Closes [#38547](https://github.com/ClickHouse/ClickHouse/issues/38547). [#38553](https://github.com/ClickHouse/ClickHouse/pull/38553) ([hexiaoting](https://github.com/hexiaoting)). +* Fix `toHour` monotonicity information for query optimization which can lead to incorrect query result (incorrect index analysis). This fixes [#38333](https://github.com/ClickHouse/ClickHouse/issues/38333). [#38675](https://github.com/ClickHouse/ClickHouse/pull/38675) ([Amos Bird](https://github.com/amosbird)). +* Fix checking whether s3 storage support parallel writes. It resulted in s3 parallel writes not working. [#38792](https://github.com/ClickHouse/ClickHouse/pull/38792) ([chen](https://github.com/xiedeyantu)). +* Fix s3 seekable reads with parallel read buffer. (Affected memory usage during query). Closes [#38258](https://github.com/ClickHouse/ClickHouse/issues/38258). [#38802](https://github.com/ClickHouse/ClickHouse/pull/38802) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Update `simdjson`. This fixes [#38621](https://github.com/ClickHouse/ClickHouse/issues/38621) - a buffer overflow on machines with the latest Intel CPUs with AVX-512 VBMI. [#38838](https://github.com/ClickHouse/ClickHouse/pull/38838) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Fix possible logical error for Vertical merges. [#38859](https://github.com/ClickHouse/ClickHouse/pull/38859) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix settings profile with seconds unit. [#38896](https://github.com/ClickHouse/ClickHouse/pull/38896) ([Raúl Marín](https://github.com/Algunenano)). +* Fix incorrect partition pruning when there is a nullable partition key. Note: most likely you don't use nullable partition keys - this is an obscure feature you should not use. Nullable keys are a nonsense and this feature is only needed for some crazy use-cases. This fixes [#38941](https://github.com/ClickHouse/ClickHouse/issues/38941). [#38946](https://github.com/ClickHouse/ClickHouse/pull/38946) ([Amos Bird](https://github.com/amosbird)). +* Improve `fsync_part_directory` for fetches. [#38993](https://github.com/ClickHouse/ClickHouse/pull/38993) ([Azat Khuzhin](https://github.com/azat)). +* Fix possible dealock inside `OvercommitTracker`. Fixes [#37794](https://github.com/ClickHouse/ClickHouse/issues/37794). [#39030](https://github.com/ClickHouse/ClickHouse/pull/39030) ([Dmitry Novik](https://github.com/novikd)). +* Fix bug in filesystem cache that could happen in some corner case which coincided with cache capacity hitting the limit. Closes [#39066](https://github.com/ClickHouse/ClickHouse/issues/39066). [#39070](https://github.com/ClickHouse/ClickHouse/pull/39070) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix some corner cases of interpretation of the arguments of window expressions. Fixes [#38538](https://github.com/ClickHouse/ClickHouse/issues/38538) Allow using of higher-order functions in window expressions. [#39112](https://github.com/ClickHouse/ClickHouse/pull/39112) ([Dmitry Novik](https://github.com/novikd)). +* Keep `LowCardinality` type in `tuple` function. Previously `LowCardinality` type was dropped and elements of created tuple had underlying type of `LowCardinality`. [#39113](https://github.com/ClickHouse/ClickHouse/pull/39113) ([Anton Popov](https://github.com/CurtizJ)). +* Fix error `Block structure mismatch` which could happen for INSERT into table with attached MATERIALIZED VIEW and enabled setting `extremes = 1`. Closes [#29759](https://github.com/ClickHouse/ClickHouse/issues/29759) and [#38729](https://github.com/ClickHouse/ClickHouse/issues/38729). [#39125](https://github.com/ClickHouse/ClickHouse/pull/39125) ([Nikolai Kochetov](https://github.com/KochetovNicolai)). +* Fix unexpected query result when both `optimize_trivial_count_query` and `empty_result_for_aggregation_by_empty_set` are set to true. This fixes [#39140](https://github.com/ClickHouse/ClickHouse/issues/39140). [#39155](https://github.com/ClickHouse/ClickHouse/pull/39155) ([Amos Bird](https://github.com/amosbird)). +* Fixed error `Not found column Type in block` in selects with `PREWHERE` and read-in-order optimizations. [#39157](https://github.com/ClickHouse/ClickHouse/pull/39157) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* Fix extremely rare race condition in during hardlinks for remote filesystem. The only way to reproduce it is concurrent run of backups. [#39190](https://github.com/ClickHouse/ClickHouse/pull/39190) ([alesapin](https://github.com/alesapin)). +* (zero-copy replication is an experimental feature that should not be used in production) Fix fetch of in-memory part with `allow_remote_fs_zero_copy_replication`. [#39214](https://github.com/ClickHouse/ClickHouse/pull/39214) ([Azat Khuzhin](https://github.com/azat)). +* (MaterializedPostgreSQL - experimental feature). Fix segmentation fault in MaterializedPostgreSQL database engine, which could happen if some exception occurred at replication initialisation. Closes [#36939](https://github.com/ClickHouse/ClickHouse/issues/36939). [#39272](https://github.com/ClickHouse/ClickHouse/pull/39272) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix incorrect fetch of table metadata from PostgreSQL database engine. Closes [#33502](https://github.com/ClickHouse/ClickHouse/issues/33502). [#39283](https://github.com/ClickHouse/ClickHouse/pull/39283) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix projection exception when aggregation keys are wrapped inside other functions. This fixes [#37151](https://github.com/ClickHouse/ClickHouse/issues/37151). [#37155](https://github.com/ClickHouse/ClickHouse/pull/37155) ([Amos Bird](https://github.com/amosbird)). +* Fix possible logical error `... with argument with type Nothing and default implementation for Nothing is expected to return result with type Nothing, got ...` in some functions. Closes: [#37610](https://github.com/ClickHouse/ClickHouse/issues/37610) Closes: [#37741](https://github.com/ClickHouse/ClickHouse/issues/37741). [#37759](https://github.com/ClickHouse/ClickHouse/pull/37759) ([Kruglov Pavel](https://github.com/Avogar)). +* Fix incorrect columns order in subqueries of UNION (in case of duplicated columns in subselects may produce incorrect result). [#37887](https://github.com/ClickHouse/ClickHouse/pull/37887) ([Azat Khuzhin](https://github.com/azat)). +* Fix incorrect work of MODIFY ALTER Column with column names that contain dots. Closes [#37907](https://github.com/ClickHouse/ClickHouse/issues/37907). [#37971](https://github.com/ClickHouse/ClickHouse/pull/37971) ([Kruglov Pavel](https://github.com/Avogar)). +* Fix reading of sparse columns from `MergeTree` tables that store their data in S3. [#37978](https://github.com/ClickHouse/ClickHouse/pull/37978) ([Anton Popov](https://github.com/CurtizJ)). +* Fix possible crash in `Distributed` async insert in case of removing a replica from config. [#38029](https://github.com/ClickHouse/ClickHouse/pull/38029) ([Nikolai Kochetov](https://github.com/KochetovNicolai)). +* Fix "Missing columns" for GLOBAL JOIN with CTE without alias. [#38056](https://github.com/ClickHouse/ClickHouse/pull/38056) ([Azat Khuzhin](https://github.com/azat)). +* Rewrite tuple functions as literals in backwards-compatibility mode. [#38096](https://github.com/ClickHouse/ClickHouse/pull/38096) ([Anton Kozlov](https://github.com/tonickkozlov)). +* Fix redundant memory reservation for output block during `ORDER BY`. [#38127](https://github.com/ClickHouse/ClickHouse/pull/38127) ([iyupeng](https://github.com/iyupeng)). +* Fix possible logical error `Bad cast from type DB::IColumn* to DB::ColumnNullable*` in array mapped functions. Closes [#38006](https://github.com/ClickHouse/ClickHouse/issues/38006). [#38132](https://github.com/ClickHouse/ClickHouse/pull/38132) ([Kruglov Pavel](https://github.com/Avogar)). +* Fix temporary name clash in partial merge join, close [#37928](https://github.com/ClickHouse/ClickHouse/issues/37928). [#38135](https://github.com/ClickHouse/ClickHouse/pull/38135) ([Vladimir C](https://github.com/vdimir)). +* Some minr issue with queries like `CREATE TABLE nested_name_tuples (`a` Tuple(x String, y Tuple(i Int32, j String))) ENGINE = Memory;` [#38136](https://github.com/ClickHouse/ClickHouse/pull/38136) ([lgbo](https://github.com/lgbo-ustc)). +* Fix bug with nested short-circuit functions that led to execution of arguments even if condition is false. Closes [#38040](https://github.com/ClickHouse/ClickHouse/issues/38040). [#38173](https://github.com/ClickHouse/ClickHouse/pull/38173) ([Kruglov Pavel](https://github.com/Avogar)). +* (Window View is a experimental feature) Fix LOGICAL_ERROR for WINDOW VIEW with incorrect structure. [#38205](https://github.com/ClickHouse/ClickHouse/pull/38205) ([Azat Khuzhin](https://github.com/azat)). +* Update librdkafka submodule to fix crash when an OAUTHBEARER refresh callback is set. [#38225](https://github.com/ClickHouse/ClickHouse/pull/38225) ([Rafael Acevedo](https://github.com/racevedoo)). +* Fix INSERT into Distributed hung due to ProfileEvents. [#38307](https://github.com/ClickHouse/ClickHouse/pull/38307) ([Azat Khuzhin](https://github.com/azat)). +* Fix retries in PostgreSQL engine. [#38310](https://github.com/ClickHouse/ClickHouse/pull/38310) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix optimization in PartialSortingTransform (SIGSEGV and possible incorrect result). [#38324](https://github.com/ClickHouse/ClickHouse/pull/38324) ([Azat Khuzhin](https://github.com/azat)). +* Fix RabbitMQ with formats based on PeekableReadBuffer. Closes [#38061](https://github.com/ClickHouse/ClickHouse/issues/38061). [#38356](https://github.com/ClickHouse/ClickHouse/pull/38356) ([Kseniia Sumarokova](https://github.com/kssenii)). +* MaterializedPostgreSQL - experimentail feature. Fix possible `Invalid number of rows in Chunk` in MaterializedPostgreSQL. Closes [#37323](https://github.com/ClickHouse/ClickHouse/issues/37323). [#38360](https://github.com/ClickHouse/ClickHouse/pull/38360) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix RabbitMQ configuration with connection string setting. Closes [#36531](https://github.com/ClickHouse/ClickHouse/issues/36531). [#38365](https://github.com/ClickHouse/ClickHouse/pull/38365) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix PostgreSQL engine not using PostgreSQL schema when retrieving array dimension size. Closes [#36755](https://github.com/ClickHouse/ClickHouse/issues/36755). Closes [#36772](https://github.com/ClickHouse/ClickHouse/issues/36772). [#38366](https://github.com/ClickHouse/ClickHouse/pull/38366) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix possibly incorrect result of distributed queries with `DISTINCT` and `LIMIT`. Fixes [#38282](https://github.com/ClickHouse/ClickHouse/issues/38282). [#38371](https://github.com/ClickHouse/ClickHouse/pull/38371) ([Anton Popov](https://github.com/CurtizJ)). +* Fix wrong results of countSubstrings() & position() on patterns with 0-bytes. [#38589](https://github.com/ClickHouse/ClickHouse/pull/38589) ([Robert Schulze](https://github.com/rschu1ze)). +* Now it's possible to start a clickhouse-server and attach/detach tables even for tables with the incorrect values of IPv4/IPv6 representation. Proper fix for issue [#35156](https://github.com/ClickHouse/ClickHouse/issues/35156). [#38590](https://github.com/ClickHouse/ClickHouse/pull/38590) ([alesapin](https://github.com/alesapin)). +* `rankCorr` function will work correctly if some arguments are NaNs. This closes [#38396](https://github.com/ClickHouse/ClickHouse/issues/38396). [#38722](https://github.com/ClickHouse/ClickHouse/pull/38722) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Fix `parallel_view_processing=1` with `optimize_trivial_insert_select=1`. Fix `max_insert_threads` while pushing to views. [#38731](https://github.com/ClickHouse/ClickHouse/pull/38731) ([Azat Khuzhin](https://github.com/azat)). +* Fix use-after-free for aggregate functions with `Map` combinator that leads to incorrect result. [#38748](https://github.com/ClickHouse/ClickHouse/pull/38748) ([Azat Khuzhin](https://github.com/azat)). + +### ClickHouse release 22.6, 2022-06-16 + +#### Backward Incompatible Change +* Remove support for octal number literals in SQL. In previous versions they were parsed as Float64. [#37765](https://github.com/ClickHouse/ClickHouse/pull/37765) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* Changes how settings using `seconds` as type are parsed to support floating point values (for example: `max_execution_time=0.5`). Infinity or NaN values will throw an exception. [#37187](https://github.com/ClickHouse/ClickHouse/pull/37187) ([Raúl Marín](https://github.com/Algunenano)). +* Changed format of binary serialization of columns of experimental type `Object`. New format is more convenient to implement by third-party clients. [#37482](https://github.com/ClickHouse/ClickHouse/pull/37482) ([Anton Popov](https://github.com/CurtizJ)). +* Turn on setting `output_format_json_named_tuples_as_objects` by default. It allows to serialize named tuples as JSON objects in JSON formats. [#37756](https://github.com/ClickHouse/ClickHouse/pull/37756) ([Anton Popov](https://github.com/CurtizJ)). +* LIKE patterns with trailing escape symbol ('\\') are now disallowed (as mandated by the SQL standard). [#37764](https://github.com/ClickHouse/ClickHouse/pull/37764) ([Robert Schulze](https://github.com/rschu1ze)). +* If you run different ClickHouse versions on a cluster with AArch64 CPU or mix AArch64 and amd64 on a cluster, and use distributed queries with GROUP BY multiple keys of fixed-size type that fit in 256 bits but don't fit in 64 bits, and the size of the result is huge, the data will not be fully aggregated in the result of these queries during upgrade. Workaround: upgrade with downtime instead of a rolling upgrade. + +#### New Feature +* Add `GROUPING` function. It allows to disambiguate the records in the queries with `ROLLUP`, `CUBE` or `GROUPING SETS`. Closes [#19426](https://github.com/ClickHouse/ClickHouse/issues/19426). [#37163](https://github.com/ClickHouse/ClickHouse/pull/37163) ([Dmitry Novik](https://github.com/novikd)). +* A new codec [FPC](https://userweb.cs.txstate.edu/~burtscher/papers/dcc07a.pdf) algorithm for floating point data compression. [#37553](https://github.com/ClickHouse/ClickHouse/pull/37553) ([Mikhail Guzov](https://github.com/koloshmet)). +* Add new columnar JSON formats: `JSONColumns`, `JSONCompactColumns`, `JSONColumnsWithMetadata`. Closes [#36338](https://github.com/ClickHouse/ClickHouse/issues/36338) Closes [#34509](https://github.com/ClickHouse/ClickHouse/issues/34509). [#36975](https://github.com/ClickHouse/ClickHouse/pull/36975) ([Kruglov Pavel](https://github.com/Avogar)). +* Added open telemetry traces visualizing tool based on d3js. [#37810](https://github.com/ClickHouse/ClickHouse/pull/37810) ([Sergei Trifonov](https://github.com/serxa)). +* Support INSERTs into `system.zookeeper` table. Closes [#22130](https://github.com/ClickHouse/ClickHouse/issues/22130). [#37596](https://github.com/ClickHouse/ClickHouse/pull/37596) ([Han Fei](https://github.com/hanfei1991)). +* Support non-constant pattern argument for `LIKE`, `ILIKE` and `match` functions. [#37251](https://github.com/ClickHouse/ClickHouse/pull/37251) ([Robert Schulze](https://github.com/rschu1ze)). +* Executable user defined functions now support parameters. Example: `SELECT test_function(parameters)(arguments)`. Closes [#37578](https://github.com/ClickHouse/ClickHouse/issues/37578). [#37720](https://github.com/ClickHouse/ClickHouse/pull/37720) ([Maksim Kita](https://github.com/kitaisreal)). +* Add `merge_reason` column to system.part_log table. [#36912](https://github.com/ClickHouse/ClickHouse/pull/36912) ([Sema Checherinda](https://github.com/CheSema)). +* Add support for Maps and Records in Avro format. Add new setting `input_format_avro_null_as_default ` that allow to insert null as default in Avro format. Closes [#18925](https://github.com/ClickHouse/ClickHouse/issues/18925) Closes [#37378](https://github.com/ClickHouse/ClickHouse/issues/37378) Closes [#32899](https://github.com/ClickHouse/ClickHouse/issues/32899). [#37525](https://github.com/ClickHouse/ClickHouse/pull/37525) ([Kruglov Pavel](https://github.com/Avogar)). +* Add `clickhouse-disks` tool to introspect and operate on virtual filesystems configured for ClickHouse. [#36060](https://github.com/ClickHouse/ClickHouse/pull/36060) ([Artyom Yurkov](https://github.com/Varinara)). +* Adds H3 unidirectional edge functions. [#36843](https://github.com/ClickHouse/ClickHouse/pull/36843) ([Bharat Nallan](https://github.com/bharatnc)). +* Add support for calculating [hashids](https://hashids.org/) from unsigned integers. [#37013](https://github.com/ClickHouse/ClickHouse/pull/37013) ([Michael Nutt](https://github.com/mnutt)). +* Explicit `SALT` specification is allowed for `CREATE USER IDENTIFIED WITH sha256_hash`. [#37377](https://github.com/ClickHouse/ClickHouse/pull/37377) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* Add two new settings `input_format_csv_skip_first_lines/input_format_tsv_skip_first_lines` to allow skipping specified number of lines in the beginning of the file in CSV/TSV formats. [#37537](https://github.com/ClickHouse/ClickHouse/pull/37537) ([Kruglov Pavel](https://github.com/Avogar)). +* `showCertificate` function shows current server's SSL certificate. [#37540](https://github.com/ClickHouse/ClickHouse/pull/37540) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* HTTP source for Data Dictionaries in Named Collections is supported. [#37581](https://github.com/ClickHouse/ClickHouse/pull/37581) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* Implemented changing the comment for `ReplicatedMergeTree` tables. [#37416](https://github.com/ClickHouse/ClickHouse/pull/37416) ([Vasily Nemkov](https://github.com/Enmk)). +* Added `SYSTEM UNFREEZE` query that deletes the whole backup regardless if the corresponding table is deleted or not. [#36424](https://github.com/ClickHouse/ClickHouse/pull/36424) ([Vadim Volodin](https://github.com/PolyProgrammist)). + +#### Experimental Feature +* Enables `POPULATE` for `WINDOW VIEW`. [#36945](https://github.com/ClickHouse/ClickHouse/pull/36945) ([vxider](https://github.com/Vxider)). +* `ALTER TABLE ... MODIFY QUERY` support for `WINDOW VIEW`. [#37188](https://github.com/ClickHouse/ClickHouse/pull/37188) ([vxider](https://github.com/Vxider)). +* This PR changes the behavior of the `ENGINE` syntax in `WINDOW VIEW`, to make it like in `MATERIALIZED VIEW`. [#37214](https://github.com/ClickHouse/ClickHouse/pull/37214) ([vxider](https://github.com/Vxider)). + +#### Performance Improvement +* Added numerous optimizations for ARM NEON [#38093](https://github.com/ClickHouse/ClickHouse/pull/38093)([Daniel Kutenin](https://github.com/danlark1)), ([Alexandra Pilipyuk](https://github.com/chalice19)) Note: if you run different ClickHouse versions on a cluster with ARM CPU and use distributed queries with GROUP BY multiple keys of fixed-size type that fit in 256 bits but don't fit in 64 bits, the result of the aggregation query will be wrong during upgrade. Workaround: upgrade with downtime instead of a rolling upgrade. +* Improve performance and memory usage for select of subset of columns for formats Native, Protobuf, CapnProto, JSONEachRow, TSKV, all formats with suffixes WithNames/WithNamesAndTypes. Previously while selecting only subset of columns from files in these formats all columns were read and stored in memory. Now only required columns are read. This PR enables setting `input_format_skip_unknown_fields` by default, because otherwise in case of select of subset of columns exception will be thrown. [#37192](https://github.com/ClickHouse/ClickHouse/pull/37192) ([Kruglov Pavel](https://github.com/Avogar)). +* Now more filters can be pushed down for join. [#37472](https://github.com/ClickHouse/ClickHouse/pull/37472) ([Amos Bird](https://github.com/amosbird)). +* Load marks for only necessary columns when reading wide parts. [#36879](https://github.com/ClickHouse/ClickHouse/pull/36879) ([Anton Kozlov](https://github.com/tonickkozlov)). +* Improved performance of aggregation in case, when sparse columns (can be enabled by experimental setting `ratio_of_defaults_for_sparse_serialization` in `MergeTree` tables) are used as arguments in aggregate functions. [#37617](https://github.com/ClickHouse/ClickHouse/pull/37617) ([Anton Popov](https://github.com/CurtizJ)). +* Optimize function `COALESCE` with two arguments. [#37666](https://github.com/ClickHouse/ClickHouse/pull/37666) ([Anton Popov](https://github.com/CurtizJ)). +* Replace `multiIf` to `if` in case when `multiIf` has only one condition, because function `if` is more performant. [#37695](https://github.com/ClickHouse/ClickHouse/pull/37695) ([Anton Popov](https://github.com/CurtizJ)). +* Improve performance of `dictGetDescendants`, `dictGetChildren` functions, create temporary parent to children hierarchical index per query, not per function call during query. Allow to specify `BIDIRECTIONAL` for `HIERARHICAL` attributes, dictionary will maintain parent to children index in memory, that way functions `dictGetDescendants`, `dictGetChildren` will not create temporary index per query. Closes [#32481](https://github.com/ClickHouse/ClickHouse/issues/32481). [#37148](https://github.com/ClickHouse/ClickHouse/pull/37148) ([Maksim Kita](https://github.com/kitaisreal)). +* Aggregates state destruction now may be posted on a thread pool. For queries with LIMIT and big state it provides significant speedup, e.g. `select uniq(number) from numbers_mt(1e7) group by number limit 100` became around 2.5x faster. [#37855](https://github.com/ClickHouse/ClickHouse/pull/37855) ([Nikita Taranov](https://github.com/nickitat)). +* Improve sort performance by single column. [#37195](https://github.com/ClickHouse/ClickHouse/pull/37195) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of single column sorting using sorting queue specializations. [#37990](https://github.com/ClickHouse/ClickHouse/pull/37990) ([Maksim Kita](https://github.com/kitaisreal)). +* Improved performance on array norm and distance functions 2x-4x times. [#37394](https://github.com/ClickHouse/ClickHouse/pull/37394) ([Alexander Gololobov](https://github.com/davenger)). +* Improve performance of number comparison functions using dynamic dispatch. [#37399](https://github.com/ClickHouse/ClickHouse/pull/37399) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of ORDER BY with LIMIT. [#37481](https://github.com/ClickHouse/ClickHouse/pull/37481) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of `hasAll` function using dynamic dispatch infrastructure. [#37484](https://github.com/ClickHouse/ClickHouse/pull/37484) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of `greatCircleAngle`, `greatCircleDistance`, `geoDistance` functions. [#37524](https://github.com/ClickHouse/ClickHouse/pull/37524) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of insert into MergeTree if there are multiple columns in ORDER BY. [#35762](https://github.com/ClickHouse/ClickHouse/pull/35762) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix excessive CPU usage in background when there are a lot of tables. [#38028](https://github.com/ClickHouse/ClickHouse/pull/38028) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of `not` function using dynamic dispatch. [#38058](https://github.com/ClickHouse/ClickHouse/pull/38058) ([Maksim Kita](https://github.com/kitaisreal)). +* Optimized the internal caching of re2 patterns which occur e.g. in LIKE and MATCH functions. [#37544](https://github.com/ClickHouse/ClickHouse/pull/37544) ([Robert Schulze](https://github.com/rschu1ze)). +* Improve filter bitmask generator function all in one with AVX-512 instructions. [#37588](https://github.com/ClickHouse/ClickHouse/pull/37588) ([yaqi-zhao](https://github.com/yaqi-zhao)). +* Apply read method `threadpool` for Hive integration engine. This will significantly speed up reading. [#36328](https://github.com/ClickHouse/ClickHouse/pull/36328) ([李扬](https://github.com/taiyang-li)). +* When all the columns to read are partition keys, construct columns by the file's row number without real reading the Hive file. [#37103](https://github.com/ClickHouse/ClickHouse/pull/37103) ([lgbo](https://github.com/lgbo-ustc)). +* Support multi disks for caching hive files. [#37279](https://github.com/ClickHouse/ClickHouse/pull/37279) ([lgbo](https://github.com/lgbo-ustc)). +* Limiting the maximum cache usage per query can effectively prevent cache pool contamination. [Related Issues](https://github.com/ClickHouse/ClickHouse/issues/28961). [#37859](https://github.com/ClickHouse/ClickHouse/pull/37859) ([Han Shukai](https://github.com/KinderRiven)). +* Currently clickhouse directly downloads all remote files to the local cache (even if they are only read once), which will frequently cause IO of the local hard disk. In some scenarios, these IOs may not be necessary and may easily cause negative optimization. As shown in the figure below, when we run SSB Q1-Q4, the performance of the cache has caused negative optimization. [#37516](https://github.com/ClickHouse/ClickHouse/pull/37516) ([Han Shukai](https://github.com/KinderRiven)). +* Allow to prune the list of files via virtual columns such as `_file` and `_path` when reading from S3. This is for [#37174](https://github.com/ClickHouse/ClickHouse/issues/37174) , [#23494](https://github.com/ClickHouse/ClickHouse/issues/23494). [#37356](https://github.com/ClickHouse/ClickHouse/pull/37356) ([Amos Bird](https://github.com/amosbird)). +* In function: CompressedWriteBuffer::nextImpl(), there is an unnecessary write-copy step that would happen frequently during inserting data. Below shows the differentiation with this patch: - Before: 1. Compress "working_buffer" into "compressed_buffer" 2. write-copy into "out" - After: Directly Compress "working_buffer" into "out". [#37242](https://github.com/ClickHouse/ClickHouse/pull/37242) ([jasperzhu](https://github.com/jinjunzh)). + +#### Improvement +* Support types with non-standard defaults in ROLLUP, CUBE, GROUPING SETS. Closes [#37360](https://github.com/ClickHouse/ClickHouse/issues/37360). [#37667](https://github.com/ClickHouse/ClickHouse/pull/37667) ([Dmitry Novik](https://github.com/novikd)). +* Fix stack traces collection on ARM. Closes [#37044](https://github.com/ClickHouse/ClickHouse/issues/37044). Closes [#15638](https://github.com/ClickHouse/ClickHouse/issues/15638). [#37797](https://github.com/ClickHouse/ClickHouse/pull/37797) ([Maksim Kita](https://github.com/kitaisreal)). +* Client will try every IP address returned by DNS resolution until successful connection. [#37273](https://github.com/ClickHouse/ClickHouse/pull/37273) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* Allow to use String type instead of Binary in Arrow/Parquet/ORC formats. This PR introduces 3 new settings for it: `output_format_arrow_string_as_string`, `output_format_parquet_string_as_string`, `output_format_orc_string_as_string`. Default value for all settings is `false`. [#37327](https://github.com/ClickHouse/ClickHouse/pull/37327) ([Kruglov Pavel](https://github.com/Avogar)). +* Apply setting `input_format_max_rows_to_read_for_schema_inference` for all read rows in total from all files in globs. Previously setting `input_format_max_rows_to_read_for_schema_inference` was applied for each file in glob separately and in case of huge number of nulls we could read first `input_format_max_rows_to_read_for_schema_inference` rows from each file and get nothing. Also increase default value for this setting to 25000. [#37332](https://github.com/ClickHouse/ClickHouse/pull/37332) ([Kruglov Pavel](https://github.com/Avogar)). +* Add separate `CLUSTER` grant (and `access_control_improvements.on_cluster_queries_require_cluster_grant` configuration directive, for backward compatibility, default to `false`). [#35767](https://github.com/ClickHouse/ClickHouse/pull/35767) ([Azat Khuzhin](https://github.com/azat)). +* Added support for schema inference for `hdfsCluster`. [#35812](https://github.com/ClickHouse/ClickHouse/pull/35812) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)). +* Implement `least_used` load balancing algorithm for disks inside volume (multi disk configuration). [#36686](https://github.com/ClickHouse/ClickHouse/pull/36686) ([Azat Khuzhin](https://github.com/azat)). +* Modify the HTTP Endpoint to return the full stats under the `X-ClickHouse-Summary` header when `send_progress_in_http_headers=0` (before it would return all zeros). - Modify the HTTP Endpoint to return `X-ClickHouse-Exception-Code` header when progress has been sent before (`send_progress_in_http_headers=1`) - Modify the HTTP Endpoint to return `HTTP_REQUEST_TIMEOUT` (408) instead of `HTTP_INTERNAL_SERVER_ERROR` (500) on `TIMEOUT_EXCEEDED` errors. [#36884](https://github.com/ClickHouse/ClickHouse/pull/36884) ([Raúl Marín](https://github.com/Algunenano)). +* Allow a user to inspect grants from granted roles. [#36941](https://github.com/ClickHouse/ClickHouse/pull/36941) ([nvartolomei](https://github.com/nvartolomei)). +* Do not calculate an integral numerically but use CDF functions instead. This will speed up execution and will increase the precision. This fixes [#36714](https://github.com/ClickHouse/ClickHouse/issues/36714). [#36953](https://github.com/ClickHouse/ClickHouse/pull/36953) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)). +* Add default implementation for Nothing in functions. Now most of the functions will return column with type Nothing in case one of it's arguments is Nothing. It also solves problem with functions like arrayMap/arrayFilter and similar when they have empty array as an argument. Previously queries like `select arrayMap(x -> 2 * x, []);` failed because function inside lambda cannot work with type `Nothing`, now such queries return empty array with type `Array(Nothing)`. Also add support for arrays of nullable types in functions like arrayFilter/arrayFill. Previously, queries like `select arrayFilter(x -> x % 2, [1, NULL])` failed, now they work (if the result of lambda is NULL, then this value won't be included in the result). Closes [#37000](https://github.com/ClickHouse/ClickHouse/issues/37000). [#37048](https://github.com/ClickHouse/ClickHouse/pull/37048) ([Kruglov Pavel](https://github.com/Avogar)). +* Now if a shard has local replica we create a local plan and a plan to read from all remote replicas. They have shared initiator which coordinates reading. [#37204](https://github.com/ClickHouse/ClickHouse/pull/37204) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)). +* Do no longer abort server startup if configuration option "mark_cache_size" is not explicitly set. [#37326](https://github.com/ClickHouse/ClickHouse/pull/37326) ([Robert Schulze](https://github.com/rschu1ze)). +* Allows providing `NULL`/`NOT NULL` right after type in column declaration. [#37337](https://github.com/ClickHouse/ClickHouse/pull/37337) ([Igor Nikonov](https://github.com/devcrafter)). +* optimize file segment PARTIALLY_DOWNLOADED get read buffer. [#37338](https://github.com/ClickHouse/ClickHouse/pull/37338) ([xiedeyantu](https://github.com/xiedeyantu)). +* Try to improve short circuit functions processing to fix problems with stress tests. [#37384](https://github.com/ClickHouse/ClickHouse/pull/37384) ([Kruglov Pavel](https://github.com/Avogar)). +* Closes [#37395](https://github.com/ClickHouse/ClickHouse/issues/37395). [#37415](https://github.com/ClickHouse/ClickHouse/pull/37415) ([Memo](https://github.com/Joeywzr)). +* Fix extremely rare deadlock during part fetch in zero-copy replication. Fixes [#37423](https://github.com/ClickHouse/ClickHouse/issues/37423). [#37424](https://github.com/ClickHouse/ClickHouse/pull/37424) ([metahys](https://github.com/metahys)). +* Don't allow to create storage with unknown data format. [#37450](https://github.com/ClickHouse/ClickHouse/pull/37450) ([Kruglov Pavel](https://github.com/Avogar)). +* Set `global_memory_usage_overcommit_max_wait_microseconds` default value to 5 seconds. Add info about `OvercommitTracker` to OOM exception message. Add `MemoryOvercommitWaitTimeMicroseconds` profile event. [#37460](https://github.com/ClickHouse/ClickHouse/pull/37460) ([Dmitry Novik](https://github.com/novikd)). +* Do not display `-0.0` CPU time in clickhouse-client. It can appear due to rounding errors. This closes [#38003](https://github.com/ClickHouse/ClickHouse/issues/38003). This closes [#38038](https://github.com/ClickHouse/ClickHouse/issues/38038). [#38064](https://github.com/ClickHouse/ClickHouse/pull/38064) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Play UI: Keep controls in place when the page is scrolled horizontally. This makes edits comfortable even if the table is wide and it was scrolled far to the right. The feature proposed by Maksym Tereshchenko from CaspianDB. [#37470](https://github.com/ClickHouse/ClickHouse/pull/37470) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Modify query div in play.html to be extendable beyond 20% height. In case of very long queries it is helpful to extend the textarea element, only today, since the div is fixed height, the extended textarea hides the data div underneath. With this fix, extending the textarea element will push the data div down/up such the extended textarea won't hide it. Also, keeps query box width 100% even when the user adjusting the size of the query textarea. [#37488](https://github.com/ClickHouse/ClickHouse/pull/37488) ([guyco87](https://github.com/guyco87)). +* Added `ProfileEvents` for introspection of type of written (inserted or merged) parts (`Inserted{Wide/Compact/InMemory}Parts`, `MergedInto{Wide/Compact/InMemory}Parts`. Added column `part_type` to `system.part_log`. Resolves [#37495](https://github.com/ClickHouse/ClickHouse/issues/37495). [#37536](https://github.com/ClickHouse/ClickHouse/pull/37536) ([Anton Popov](https://github.com/CurtizJ)). +* clickhouse-keeper improvement: move broken logs to a timestamped folder. [#37565](https://github.com/ClickHouse/ClickHouse/pull/37565) ([Antonio Andelic](https://github.com/antonio2368)). +* Do not write expired columns by TTL after subsequent merges (before only first merge/optimize of the part will not write expired by TTL columns, all other will do). [#37570](https://github.com/ClickHouse/ClickHouse/pull/37570) ([Azat Khuzhin](https://github.com/azat)). +* More precise result of the `dumpColumnStructure` miscellaneous function in presence of LowCardinality or Sparse columns. In previous versions, these functions were converting the argument to a full column before returning the result. This is needed to provide an answer in [#6935](https://github.com/ClickHouse/ClickHouse/issues/6935). [#37633](https://github.com/ClickHouse/ClickHouse/pull/37633) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* clickhouse-keeper: store only unique session IDs for watches. [#37641](https://github.com/ClickHouse/ClickHouse/pull/37641) ([Azat Khuzhin](https://github.com/azat)). +* Fix possible "Cannot write to finalized buffer". [#37645](https://github.com/ClickHouse/ClickHouse/pull/37645) ([Azat Khuzhin](https://github.com/azat)). +* Add setting `support_batch_delete` for `DiskS3` to disable multiobject delete calls, which Google Cloud Storage doesn't support. [#37659](https://github.com/ClickHouse/ClickHouse/pull/37659) ([Fred Wulff](https://github.com/frew)). +* Add an option to disable connection pooling in ODBC bridge. [#37705](https://github.com/ClickHouse/ClickHouse/pull/37705) ([Anton Kozlov](https://github.com/tonickkozlov)). +* Functions `dictGetHierarchy`, `dictIsIn`, `dictGetChildren`, `dictGetDescendants` added support nullable `HIERARCHICAL` attribute in dictionaries. Closes [#35521](https://github.com/ClickHouse/ClickHouse/issues/35521). [#37805](https://github.com/ClickHouse/ClickHouse/pull/37805) ([Maksim Kita](https://github.com/kitaisreal)). +* Expose BoringSSL version related info in the `system.build_options` table. [#37850](https://github.com/ClickHouse/ClickHouse/pull/37850) ([Bharat Nallan](https://github.com/bharatnc)). +* Now clickhouse-server removes `delete_tmp` directories on server start. Fixes [#26503](https://github.com/ClickHouse/ClickHouse/issues/26503). [#37906](https://github.com/ClickHouse/ClickHouse/pull/37906) ([alesapin](https://github.com/alesapin)). +* Clean up broken detached parts after timeout. Closes [#25195](https://github.com/ClickHouse/ClickHouse/issues/25195). [#37975](https://github.com/ClickHouse/ClickHouse/pull/37975) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Now in MergeTree table engines family failed-to-move parts will be removed instantly. [#37994](https://github.com/ClickHouse/ClickHouse/pull/37994) ([alesapin](https://github.com/alesapin)). +* Now if setting `always_fetch_merged_part` is enabled for ReplicatedMergeTree merges will try to find parts on other replicas rarely with smaller load for [Zoo]Keeper. [#37995](https://github.com/ClickHouse/ClickHouse/pull/37995) ([alesapin](https://github.com/alesapin)). +* Add implicit grants with grant option too. For example `GRANT CREATE TABLE ON test.* TO A WITH GRANT OPTION` now allows `A` to execute `GRANT CREATE VIEW ON test.* TO B`. [#38017](https://github.com/ClickHouse/ClickHouse/pull/38017) ([Vitaly Baranov](https://github.com/vitlibar)). + +#### Build/Testing/Packaging Improvement +* Use `clang-14` and LLVM infrastructure version 14 for builds. This closes [#34681](https://github.com/ClickHouse/ClickHouse/issues/34681). [#34754](https://github.com/ClickHouse/ClickHouse/pull/34754) ([Alexey Milovidov](https://github.com/alexey-milovidov)). Note: `clang-14` has [a bug](https://github.com/google/sanitizers/issues/1540) in ThreadSanitizer that makes our CI work worse. +* Allow to drop privileges at startup. This simplifies Docker images. Closes [#36293](https://github.com/ClickHouse/ClickHouse/issues/36293). [#36341](https://github.com/ClickHouse/ClickHouse/pull/36341) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Add docs spellcheck to CI. [#37790](https://github.com/ClickHouse/ClickHouse/pull/37790) ([Vladimir C](https://github.com/vdimir)). +* Fix overly aggressive stripping which removed the embedded hash required for checking the consistency of the executable. [#37993](https://github.com/ClickHouse/ClickHouse/pull/37993) ([Robert Schulze](https://github.com/rschu1ze)). + +#### Bug Fix + +* Fix `SELECT ... INTERSECT` and `EXCEPT SELECT` statements with constant string types. [#37738](https://github.com/ClickHouse/ClickHouse/pull/37738) ([Antonio Andelic](https://github.com/antonio2368)). +* Fix `GROUP BY` `AggregateFunction` (i.e. you `GROUP BY` by the column that has `AggregateFunction` type). [#37093](https://github.com/ClickHouse/ClickHouse/pull/37093) ([Azat Khuzhin](https://github.com/azat)). +* (experimental WINDOW VIEW) Fix `addDependency` in WindowView. This bug can be reproduced like [#37237](https://github.com/ClickHouse/ClickHouse/issues/37237). [#37224](https://github.com/ClickHouse/ClickHouse/pull/37224) ([vxider](https://github.com/Vxider)). +* Fix inconsistency in ORDER BY ... WITH FILL feature. Query, containing ORDER BY ... WITH FILL, can generate extra rows when multiple WITH FILL columns are present. [#38074](https://github.com/ClickHouse/ClickHouse/pull/38074) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* This PR moving `addDependency` from constructor to `startup()` to avoid adding dependency to a *dropped* table, fix [#37237](https://github.com/ClickHouse/ClickHouse/issues/37237). [#37243](https://github.com/ClickHouse/ClickHouse/pull/37243) ([vxider](https://github.com/Vxider)). +* Fix inserting defaults for missing values in columnar formats. Previously missing columns were filled with defaults for types, not for columns. [#37253](https://github.com/ClickHouse/ClickHouse/pull/37253) ([Kruglov Pavel](https://github.com/Avogar)). +* (experimental Object type) Fix some cases of insertion nested arrays to columns of type `Object`. [#37305](https://github.com/ClickHouse/ClickHouse/pull/37305) ([Anton Popov](https://github.com/CurtizJ)). +* Fix unexpected errors with a clash of constant strings in aggregate function, prewhere and join. Close [#36891](https://github.com/ClickHouse/ClickHouse/issues/36891). [#37336](https://github.com/ClickHouse/ClickHouse/pull/37336) ([Vladimir C](https://github.com/vdimir)). +* Fix projections with GROUP/ORDER BY in query and optimize_aggregation_in_order (before the result was incorrect since only finish sorting was performed). [#37342](https://github.com/ClickHouse/ClickHouse/pull/37342) ([Azat Khuzhin](https://github.com/azat)). +* Fixed error with symbols in key name in S3. Fixes [#33009](https://github.com/ClickHouse/ClickHouse/issues/33009). [#37344](https://github.com/ClickHouse/ClickHouse/pull/37344) ([Vladimir Chebotarev](https://github.com/excitoon)). +* Throw an exception when GROUPING SETS used with ROLLUP or CUBE. [#37367](https://github.com/ClickHouse/ClickHouse/pull/37367) ([Dmitry Novik](https://github.com/novikd)). +* Fix LOGICAL_ERROR in getMaxSourcePartsSizeForMerge during merges (in case of non standard, greater, values of `background_pool_size`/`background_merges_mutations_concurrency_ratio` has been specified in `config.xml` (new way) not in `users.xml` (deprecated way)). [#37413](https://github.com/ClickHouse/ClickHouse/pull/37413) ([Azat Khuzhin](https://github.com/azat)). +* Stop removing UTF-8 BOM in RowBinary format. [#37428](https://github.com/ClickHouse/ClickHouse/pull/37428) ([Paul Loyd](https://github.com/loyd)). [#37428](https://github.com/ClickHouse/ClickHouse/pull/37428) ([Paul Loyd](https://github.com/loyd)). +* clickhouse-keeper bugfix: fix force recovery for single node cluster. [#37440](https://github.com/ClickHouse/ClickHouse/pull/37440) ([Antonio Andelic](https://github.com/antonio2368)). +* Fix logical error in normalizeUTF8 functions. Closes [#37298](https://github.com/ClickHouse/ClickHouse/issues/37298). [#37443](https://github.com/ClickHouse/ClickHouse/pull/37443) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix cast lowcard of nullable in JoinSwitcher, close [#37385](https://github.com/ClickHouse/ClickHouse/issues/37385). [#37453](https://github.com/ClickHouse/ClickHouse/pull/37453) ([Vladimir C](https://github.com/vdimir)). +* Fix named tuples output in ORC/Arrow/Parquet formats. [#37458](https://github.com/ClickHouse/ClickHouse/pull/37458) ([Kruglov Pavel](https://github.com/Avogar)). +* Fix optimization of monotonous functions in ORDER BY clause in presence of GROUPING SETS. Fixes [#37401](https://github.com/ClickHouse/ClickHouse/issues/37401). [#37493](https://github.com/ClickHouse/ClickHouse/pull/37493) ([Dmitry Novik](https://github.com/novikd)). +* Fix error on joining with dictionary on some conditions. Close [#37386](https://github.com/ClickHouse/ClickHouse/issues/37386). [#37530](https://github.com/ClickHouse/ClickHouse/pull/37530) ([Vladimir C](https://github.com/vdimir)). +* Prohibit `optimize_aggregation_in_order` with `GROUPING SETS` (fixes `LOGICAL_ERROR`). [#37542](https://github.com/ClickHouse/ClickHouse/pull/37542) ([Azat Khuzhin](https://github.com/azat)). +* Fix wrong dump information of ActionsDAG. [#37587](https://github.com/ClickHouse/ClickHouse/pull/37587) ([zhanglistar](https://github.com/zhanglistar)). +* Fix converting types for UNION queries (may produce LOGICAL_ERROR). [#37593](https://github.com/ClickHouse/ClickHouse/pull/37593) ([Azat Khuzhin](https://github.com/azat)). +* Fix `WITH FILL` modifier with negative intervals in `STEP` clause. Fixes [#37514](https://github.com/ClickHouse/ClickHouse/issues/37514). [#37600](https://github.com/ClickHouse/ClickHouse/pull/37600) ([Anton Popov](https://github.com/CurtizJ)). +* Fix illegal joinGet array usage when ` join_use_nulls = 1`. This fixes [#37562](https://github.com/ClickHouse/ClickHouse/issues/37562) . [#37650](https://github.com/ClickHouse/ClickHouse/pull/37650) ([Amos Bird](https://github.com/amosbird)). +* Fix columns number mismatch in cross join, close [#37561](https://github.com/ClickHouse/ClickHouse/issues/37561). [#37653](https://github.com/ClickHouse/ClickHouse/pull/37653) ([Vladimir C](https://github.com/vdimir)). +* Fix segmentation fault in `show create table` from mysql database when it is configured with named collections. Closes [#37683](https://github.com/ClickHouse/ClickHouse/issues/37683). [#37690](https://github.com/ClickHouse/ClickHouse/pull/37690) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix RabbitMQ Storage not being able to startup on server restart if storage was create without SETTINGS clause. Closes [#37463](https://github.com/ClickHouse/ClickHouse/issues/37463). [#37691](https://github.com/ClickHouse/ClickHouse/pull/37691) ([Kseniia Sumarokova](https://github.com/kssenii)). +* SQL user defined functions disable CREATE/DROP in readonly mode. Closes [#37280](https://github.com/ClickHouse/ClickHouse/issues/37280). [#37699](https://github.com/ClickHouse/ClickHouse/pull/37699) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix formatting of Nullable arguments for executable user defined functions. Closes [#35897](https://github.com/ClickHouse/ClickHouse/issues/35897). [#37711](https://github.com/ClickHouse/ClickHouse/pull/37711) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix optimization enabled by setting `optimize_monotonous_functions_in_order_by` in distributed queries. Fixes [#36037](https://github.com/ClickHouse/ClickHouse/issues/36037). [#37724](https://github.com/ClickHouse/ClickHouse/pull/37724) ([Anton Popov](https://github.com/CurtizJ)). +* Fix possible logical error: `Invalid Field get from type UInt64 to type Float64` in `values` table function. Closes [#37602](https://github.com/ClickHouse/ClickHouse/issues/37602). [#37754](https://github.com/ClickHouse/ClickHouse/pull/37754) ([Kruglov Pavel](https://github.com/Avogar)). +* Fix possible segfault in schema inference in case of exception in SchemaReader constructor. Closes [#37680](https://github.com/ClickHouse/ClickHouse/issues/37680). [#37760](https://github.com/ClickHouse/ClickHouse/pull/37760) ([Kruglov Pavel](https://github.com/Avogar)). +* Fix setting cast_ipv4_ipv6_default_on_conversion_error for internal cast function. Closes [#35156](https://github.com/ClickHouse/ClickHouse/issues/35156). [#37761](https://github.com/ClickHouse/ClickHouse/pull/37761) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix toString error on DatatypeDate32. [#37775](https://github.com/ClickHouse/ClickHouse/pull/37775) ([LiuNeng](https://github.com/liuneng1994)). +* The clickhouse-keeper setting `dead_session_check_period_ms` was transformed into microseconds (multiplied by 1000), which lead to dead sessions only being cleaned up after several minutes (instead of 500ms). [#37824](https://github.com/ClickHouse/ClickHouse/pull/37824) ([Michael Lex](https://github.com/mlex)). +* Fix possible "No more packets are available" for distributed queries (in case of `async_socket_for_remote`/`use_hedged_requests` is disabled). [#37826](https://github.com/ClickHouse/ClickHouse/pull/37826) ([Azat Khuzhin](https://github.com/azat)). +* (experimental WINDOW VIEW) Do not drop the inner target table when executing `ALTER TABLE … MODIFY QUERY` in WindowView. [#37879](https://github.com/ClickHouse/ClickHouse/pull/37879) ([vxider](https://github.com/Vxider)). +* Fix directory ownership of coordination dir in clickhouse-keeper Docker image. Fixes [#37914](https://github.com/ClickHouse/ClickHouse/issues/37914). [#37915](https://github.com/ClickHouse/ClickHouse/pull/37915) ([James Maidment](https://github.com/jamesmaidment)). +* Dictionaries fix custom query with update field and `{condition}`. Closes [#33746](https://github.com/ClickHouse/ClickHouse/issues/33746). [#37947](https://github.com/ClickHouse/ClickHouse/pull/37947) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix possible incorrect result of `SELECT ... WITH FILL` in the case when `ORDER BY` should be applied after `WITH FILL` result (e.g. for outer query). Incorrect result was caused by optimization for `ORDER BY` expressions ([#35623](https://github.com/ClickHouse/ClickHouse/issues/35623)). Closes [#37904](https://github.com/ClickHouse/ClickHouse/issues/37904). [#37959](https://github.com/ClickHouse/ClickHouse/pull/37959) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* (experimental WINDOW VIEW) Add missing default columns when pushing to the target table in WindowView, fix [#37815](https://github.com/ClickHouse/ClickHouse/issues/37815). [#37965](https://github.com/ClickHouse/ClickHouse/pull/37965) ([vxider](https://github.com/Vxider)). +* Fixed too large stack frame that would cause compilation to fail. [#37996](https://github.com/ClickHouse/ClickHouse/pull/37996) ([Han Shukai](https://github.com/KinderRiven)). +* When open enable_filesystem_query_cache_limit, throw Reserved cache size exceeds the remaining cache size. [#38004](https://github.com/ClickHouse/ClickHouse/pull/38004) ([xiedeyantu](https://github.com/xiedeyantu)). +* Fix converting types for UNION queries (may produce LOGICAL_ERROR). [#34775](https://github.com/ClickHouse/ClickHouse/pull/34775) ([Azat Khuzhin](https://github.com/azat)). +* TTL merge may not be scheduled again if BackgroundExecutor is busy. --merges_with_ttl_counter is increased in selectPartsToMerge() --merge task will be ignored if BackgroundExecutor is busy --merges_with_ttl_counter will not be decrease. [#36387](https://github.com/ClickHouse/ClickHouse/pull/36387) ([lthaooo](https://github.com/lthaooo)). +* Fix overridden settings value of `normalize_function_names`. [#36937](https://github.com/ClickHouse/ClickHouse/pull/36937) ([李扬](https://github.com/taiyang-li)). +* Fix for exponential time decaying window functions. Now respecting boundaries of the window. [#36944](https://github.com/ClickHouse/ClickHouse/pull/36944) ([Vladimir Chebotarev](https://github.com/excitoon)). +* Fix possible heap-use-after-free error when reading system.projection_parts and system.projection_parts_columns . This fixes [#37184](https://github.com/ClickHouse/ClickHouse/issues/37184). [#37185](https://github.com/ClickHouse/ClickHouse/pull/37185) ([Amos Bird](https://github.com/amosbird)). +* Fixed `DateTime64` fractional seconds behavior prior to Unix epoch. [#37697](https://github.com/ClickHouse/ClickHouse/pull/37697) ([Andrey Zvonov](https://github.com/zvonand)). [#37039](https://github.com/ClickHouse/ClickHouse/pull/37039) ([李扬](https://github.com/taiyang-li)). + ### ClickHouse release 22.5, 2022-05-19 @@ -172,7 +506,7 @@ #### Backward Incompatible Change -* Do not allow SETTINGS after FORMAT for INSERT queries (there is compatibility setting `parser_settings_after_format_compact` to accept such queries, but it is turned OFF by default). [#35883](https://github.com/ClickHouse/ClickHouse/pull/35883) ([Azat Khuzhin](https://github.com/azat)). +* Do not allow SETTINGS after FORMAT for INSERT queries (there is compatibility setting `allow_settings_after_format_in_insert` to accept such queries, but it is turned OFF by default). [#35883](https://github.com/ClickHouse/ClickHouse/pull/35883) ([Azat Khuzhin](https://github.com/azat)). * Function `yandexConsistentHash` (consistent hashing algorithm by Konstantin "kostik" Oblakov) is renamed to `kostikConsistentHash`. The old name is left as an alias for compatibility. Although this change is backward compatible, we may remove the alias in subsequent releases, that's why it's recommended to update the usages of this function in your apps. [#35553](https://github.com/ClickHouse/ClickHouse/pull/35553) ([Alexey Milovidov](https://github.com/alexey-milovidov)). #### New Feature @@ -801,4 +1135,4 @@ * Fix hang up with command `DROP TABLE system.query_log sync`. [#33293](https://github.com/ClickHouse/ClickHouse/pull/33293) ([zhanghuajie](https://github.com/zhanghuajieHIT)). -## [Changelog for 2021](https://github.com/ClickHouse/ClickHouse/blob/master/docs/en/whats-new/changelog/2021.md) +## [Changelog for 2021](https://clickhouse.com/docs/en/whats-new/changelog/2021) diff --git a/CMakeLists.txt b/CMakeLists.txt index abe263834ed..e3eff050015 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.14) +cmake_minimum_required(VERSION 3.15) project(ClickHouse LANGUAGES C CXX ASM) @@ -36,7 +36,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Check that submodules are present if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/sysroot/README.md") - message (FATAL_ERROR "Submodules are not initialized. Run\n\tgit submodule update --init --recursive") + message (FATAL_ERROR "Submodules are not initialized. Run\n\tgit submodule update --init") endif () # Take care to add prlimit in command line before ccache, or else ccache thinks that @@ -74,18 +74,12 @@ message (STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") string (TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC) option(USE_STATIC_LIBRARIES "Disable to use shared libraries" ON) - -if (NOT USE_STATIC_LIBRARIES) - # DEVELOPER ONLY. - # Faster linking if turned on. - option(SPLIT_SHARED_LIBRARIES "Keep all internal libraries as separate .so files") - - option(CLICKHOUSE_SPLIT_BINARY - "Make several binaries (clickhouse-server, clickhouse-client etc.) instead of one bundled") -endif () +# DEVELOPER ONLY. +# Faster linking if turned on. +option(SPLIT_SHARED_LIBRARIES "Keep all internal libraries as separate .so files" OFF) if (USE_STATIC_LIBRARIES AND SPLIT_SHARED_LIBRARIES) - message(FATAL_ERROR "Defining SPLIT_SHARED_LIBRARIES=1 without USE_STATIC_LIBRARIES=0 has no effect.") + message(FATAL_ERROR "SPLIT_SHARED_LIBRARIES=1 must not be used together with USE_STATIC_LIBRARIES=1") endif() if (NOT USE_STATIC_LIBRARIES AND SPLIT_SHARED_LIBRARIES) @@ -159,6 +153,8 @@ if (COMPILER_CLANG) set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Xclang -fuse-ctor-homing") endif() endif() + + no_warning(enum-constexpr-conversion) # breaks Protobuf in clang-16 endif () # If compiler has support for -Wreserved-identifier. It is difficult to detect by clang version, @@ -223,11 +219,25 @@ if (NOT CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE") endif () endif() +if (CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE" + OR CMAKE_BUILD_TYPE_UC STREQUAL "RELWITHDEBINFO" + OR CMAKE_BUILD_TYPE_UC STREQUAL "MINSIZEREL") + set (OMIT_HEAVY_DEBUG_SYMBOLS_DEFAULT ON) +else() + set (OMIT_HEAVY_DEBUG_SYMBOLS_DEFAULT OFF) +endif() +# Provides faster linking and lower binary size. +# Tradeoff is the inability to debug some source files with e.g. gdb +# (empty stack frames and no local variables)." +option(OMIT_HEAVY_DEBUG_SYMBOLS + "Do not generate debugger info for heavy modules (ClickHouse functions and dictionaries, some contrib)" + ${OMIT_HEAVY_DEBUG_SYMBOLS_DEFAULT}) + if (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG") set(USE_DEBUG_HELPERS ON) endif() - option(USE_DEBUG_HELPERS "Enable debug helpers" ${USE_DEBUG_HELPERS}) + option(BUILD_STANDALONE_KEEPER "Build keeper as small standalone binary" OFF) if (NOT BUILD_STANDALONE_KEEPER) option(CREATE_KEEPER_SYMLINK "Create symlink for clickhouse-keeper to main server binary" ON) @@ -244,16 +254,18 @@ endif () # Add a section with the hash of the compiled machine code for integrity checks. # Only for official builds, because adding a section can be time consuming (rewrite of several GB). # And cross compiled binaries are not supported (since you cannot execute clickhouse hash-binary) -if (OBJCOPY_PATH AND CLICKHOUSE_OFFICIAL_BUILD AND (NOT CMAKE_TOOLCHAIN_FILE OR CMAKE_TOOLCHAIN_FILE MATCHES "linux/toolchain-x86_64.cmake$")) +if (CLICKHOUSE_OFFICIAL_BUILD AND (NOT CMAKE_TOOLCHAIN_FILE OR CMAKE_TOOLCHAIN_FILE MATCHES "linux/toolchain-x86_64.cmake$")) + message(STATUS "Official build: A checksum hash will be added to the clickhouse executable") set (USE_BINARY_HASH 1 CACHE STRING "Calculate binary hash and store it in the separate section") +else () + message(STATUS "No official build: A checksum hash will not be added to the clickhouse executable") endif () -# Allows to build stripped binary in a separate directory -if (OBJCOPY_PATH AND STRIP_PATH) - option(INSTALL_STRIPPED_BINARIES "Build stripped binaries with debug info in separate directory" OFF) - if (INSTALL_STRIPPED_BINARIES) - set(STRIPPED_BINARIES_OUTPUT "stripped" CACHE STRING "A separate directory for stripped information") - endif() +# Optionally split binaries and debug symbols. +option(SPLIT_DEBUG_SYMBOLS "Split binaries and debug symbols" OFF) +if (SPLIT_DEBUG_SYMBOLS) + message(STATUS "Will split binaries and debug symbols") + set(SPLITTED_DEBUG_SYMBOLS_DIR "stripped" CACHE STRING "A separate directory for stripped information") endif() cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) # Not available under freebsd @@ -319,6 +331,22 @@ if (COMPILER_GCC OR COMPILER_CLANG) set(COMPILER_FLAGS "${COMPILER_FLAGS} -falign-functions=32") endif () +if (ARCH_AMD64) + # align branches within a 32-Byte boundary to avoid the potential performance loss when code layout change, + # which makes benchmark results more stable. + set(BRANCHES_WITHIN_32B_BOUNDARIES "-mbranches-within-32B-boundaries") + if (COMPILER_GCC) + # gcc is in assembler, need to add "-Wa," prefix + set(BRANCHES_WITHIN_32B_BOUNDARIES "-Wa,${BRANCHES_WITHIN_32B_BOUNDARIES}") + endif() + + include(CheckCXXCompilerFlag) + check_cxx_compiler_flag("${BRANCHES_WITHIN_32B_BOUNDARIES}" HAS_BRANCHES_WITHIN_32B_BOUNDARIES) + if (HAS_BRANCHES_WITHIN_32B_BOUNDARIES) + set(COMPILER_FLAGS "${COMPILER_FLAGS} ${BRANCHES_WITHIN_32B_BOUNDARIES}") + endif() +endif() + if (COMPILER_GCC) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines") endif () @@ -475,7 +503,7 @@ endif () message (STATUS "Building for: ${CMAKE_SYSTEM} ${CMAKE_SYSTEM_PROCESSOR} ${CMAKE_LIBRARY_ARCHITECTURE} ; USE_STATIC_LIBRARIES=${USE_STATIC_LIBRARIES} - SPLIT_SHARED=${SPLIT_SHARED_LIBRARIES}") + SPLIT_SHARED_LIBRARIES=${SPLIT_SHARED_LIBRARIES}") include (GNUInstallDirs) @@ -491,14 +519,14 @@ if (NOT ENABLE_JEMALLOC) message (WARNING "Non default allocator is disabled. This is not recommended for production builds.") endif () -macro (add_executable target) +macro (clickhouse_add_executable target) # invoke built-in add_executable # explicitly acquire and interpose malloc symbols by clickhouse_malloc # if GLIBC_COMPATIBILITY is ON and ENABLE_THINLTO is on than provide memcpy symbol explicitly to neutrialize thinlto's libcall generation. if (ARCH_AMD64 AND GLIBC_COMPATIBILITY AND ENABLE_THINLTO) - _add_executable (${ARGV} $ $) + add_executable (${ARGV} $ $) else () - _add_executable (${ARGV} $) + add_executable (${ARGV} $) endif () get_target_property (type ${target} TYPE) @@ -527,6 +555,16 @@ macro (add_executable target) endif() endmacro() +# With cross-compiling, all targets are built for the target platform which usually different from the host +# platform. This is problematic if a build artifact X (e.g. a file or an executable) is generated by running +# another executable Y previously produced in the build. This is solved by compiling and running Y for/on +# the host platform. Add target to the list: +# add_native_target( ...) +set_property (GLOBAL PROPERTY NATIVE_BUILD_TARGETS) +function (add_native_target) + set_property (GLOBAL APPEND PROPERTY NATIVE_BUILD_TARGETS ${ARGV}) +endfunction (add_native_target) + set(ConfigIncludePath ${CMAKE_CURRENT_BINARY_DIR}/includes/configs CACHE INTERNAL "Path to generated configuration files.") include_directories(${ConfigIncludePath}) @@ -541,3 +579,32 @@ add_subdirectory (tests) add_subdirectory (utils) include (cmake/sanitize_target_link_libraries.cmake) + +# Build native targets if necessary +get_property(NATIVE_BUILD_TARGETS GLOBAL PROPERTY NATIVE_BUILD_TARGETS) +if (NATIVE_BUILD_TARGETS + AND NOT( + CMAKE_HOST_SYSTEM_NAME STREQUAL CMAKE_SYSTEM_NAME + AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL CMAKE_SYSTEM_PROCESSOR + ) +) + message (STATUS "Building native targets...") + + set (NATIVE_BUILD_DIR "${CMAKE_BINARY_DIR}/native") + + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory "${NATIVE_BUILD_DIR}" + COMMAND_ECHO STDOUT) + + execute_process( + COMMAND ${CMAKE_COMMAND} + "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" + "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" + ${CMAKE_SOURCE_DIR} + WORKING_DIRECTORY "${NATIVE_BUILD_DIR}" + COMMAND_ECHO STDOUT) + + execute_process( + COMMAND ${CMAKE_COMMAND} --build "${NATIVE_BUILD_DIR}" --target ${NATIVE_BUILD_TARGETS} + COMMAND_ECHO STDOUT) +endif () diff --git a/PreLoad.cmake b/PreLoad.cmake index 793207e1e31..95f65b85f7f 100644 --- a/PreLoad.cmake +++ b/PreLoad.cmake @@ -15,25 +15,33 @@ if (NOT DEFINED ENV{CLION_IDE} AND NOT DEFINED ENV{XCODE_IDE}) find_program(NINJA_PATH ninja) if (NINJA_PATH) - set(CMAKE_GENERATOR "Ninja" CACHE INTERNAL "" FORCE) + set(CMAKE_GENERATOR "Ninja" CACHE INTERNAL "") endif () endif() # Check if environment is polluted. -if (NOT $ENV{CFLAGS} STREQUAL "" - OR NOT $ENV{CXXFLAGS} STREQUAL "" - OR NOT $ENV{LDFLAGS} STREQUAL "" +if (NOT "$ENV{CFLAGS}" STREQUAL "" + OR NOT "$ENV{CXXFLAGS}" STREQUAL "" + OR NOT "$ENV{LDFLAGS}" STREQUAL "" OR CMAKE_C_FLAGS OR CMAKE_CXX_FLAGS OR CMAKE_EXE_LINKER_FLAGS OR CMAKE_SHARED_LINKER_FLAGS OR CMAKE_MODULE_LINKER_FLAGS OR CMAKE_C_FLAGS_INIT OR CMAKE_CXX_FLAGS_INIT OR CMAKE_EXE_LINKER_FLAGS_INIT OR CMAKE_SHARED_LINKER_FLAGS_INIT OR CMAKE_MODULE_LINKER_FLAGS_INIT) + # if $ENV message("CFLAGS: $ENV{CFLAGS}") message("CXXFLAGS: $ENV{CXXFLAGS}") message("LDFLAGS: $ENV{LDFLAGS}") + # if *_FLAGS message("CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") message("CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}") message("CMAKE_SHARED_LINKER_FLAGS: ${CMAKE_SHARED_LINKER_FLAGS}") message("CMAKE_MODULE_LINKER_FLAGS: ${CMAKE_MODULE_LINKER_FLAGS}") + # if *_FLAGS_INIT + message("CMAKE_C_FLAGS_INIT: ${CMAKE_C_FLAGS_INIT}") + message("CMAKE_CXX_FLAGS_INIT: ${CMAKE_CXX_FLAGS_INIT}") + message("CMAKE_EXE_LINKER_FLAGS_INIT: ${CMAKE_EXE_LINKER_FLAGS_INIT}") + message("CMAKE_SHARED_LINKER_FLAGS_INIT: ${CMAKE_SHARED_LINKER_FLAGS_INIT}") + message("CMAKE_MODULE_LINKER_FLAGS_INIT: ${CMAKE_MODULE_LINKER_FLAGS_INIT}") message(FATAL_ERROR " Some of the variables like CFLAGS, CXXFLAGS, LDFLAGS are not empty. @@ -51,19 +59,36 @@ endif() execute_process(COMMAND uname -s OUTPUT_VARIABLE OS) execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCH) +# By default, prefer clang on Linux +# But note, that you still may change the compiler with -DCMAKE_C_COMPILER/-DCMAKE_CXX_COMPILER. +if (OS MATCHES "Linux" + AND "$ENV{CC}" STREQUAL "" + AND "$ENV{CXX}" STREQUAL "" + AND NOT DEFINED CMAKE_C_COMPILER + AND NOT DEFINED CMAKE_CXX_COMPILER) + find_program(CLANG_PATH clang) + if (CLANG_PATH) + set(CMAKE_C_COMPILER "clang" CACHE INTERNAL "") + endif() + + find_program(CLANG_CXX_PATH clang++) + if (CLANG_CXX_PATH) + set(CMAKE_CXX_COMPILER "clang++" CACHE INTERNAL "") + endif() +endif() + if (OS MATCHES "Linux" AND NOT DEFINED CMAKE_TOOLCHAIN_FILE AND NOT DISABLE_HERMETIC_BUILD - AND ($ENV{CC} MATCHES ".*clang.*" OR CMAKE_C_COMPILER MATCHES ".*clang.*")) + AND ("$ENV{CC}" MATCHES ".*clang.*" OR CMAKE_C_COMPILER MATCHES ".*clang.*")) if (ARCH MATCHES "amd64|x86_64") - set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-x86_64.cmake" CACHE INTERNAL "" FORCE) + set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-x86_64.cmake" CACHE INTERNAL "") elseif (ARCH MATCHES "^(aarch64.*|AARCH64.*|arm64.*|ARM64.*)") - set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-aarch64.cmake" CACHE INTERNAL "" FORCE) + set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-aarch64.cmake" CACHE INTERNAL "") elseif (ARCH MATCHES "^(ppc64le.*|PPC64LE.*)") - set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-ppc64le.cmake" CACHE INTERNAL "" FORCE) + set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-ppc64le.cmake" CACHE INTERNAL "") else () message (FATAL_ERROR "Unsupported architecture: ${ARCH}") endif () - endif() diff --git a/README.md b/README.md index e6dc9f1e6fc..b173add94e3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![ClickHouse — open source distributed column-oriented DBMS](https://github.com/ClickHouse/ClickHouse/raw/master/website/images/logo-400x240.png)](https://clickhouse.com) +[![ClickHouse — open source distributed column-oriented DBMS](https://github.com/ClickHouse/clickhouse-presentations/raw/master/images/logo-400x240.png)](https://clickhouse.com) ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time. @@ -12,4 +12,7 @@ ClickHouse® is an open-source column-oriented database management system that a * [Blog](https://clickhouse.com/blog/en/) contains various ClickHouse-related articles, as well as announcements and reports about events. * [Code Browser (Woboq)](https://clickhouse.com/codebrowser/ClickHouse/index.html) with syntax highlight and navigation. * [Code Browser (github.dev)](https://github.dev/ClickHouse/ClickHouse) with syntax highlight, powered by github.dev. -* [Contacts](https://clickhouse.com/company/#contact) can help to get your questions answered if there are any. +* [Contacts](https://clickhouse.com/company/contact) can help to get your questions answered if there are any. + +## Upcoming events +* [**v22.8 Release Webinar**](https://clickhouse.com/company/events/v22-8-release-webinar) Original creator, co-founder, and CTO of ClickHouse Alexey Milovidov will walk us through the highlights of the release, provide live demos, and share vision into what is coming in the roadmap. diff --git a/SECURITY.md b/SECURITY.md index 426559a0439..4bb6d9d0b3b 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,3 +1,4 @@ + # Security Policy ## Security Announcements @@ -7,35 +8,37 @@ Security fixes will be announced by posting them in the [security changelog](htt The following versions of ClickHouse server are currently being supported with security updates: -| Version | Supported | -| ------- | ------------------ | -| 1.x | :x: | -| 18.x | :x: | -| 19.x | :x: | -| 20.x | :x: | -| 21.1 | :x: | -| 21.2 | :x: | -| 21.3 | :x: | -| 21.4 | :x: | -| 21.5 | :x: | -| 21.6 | :x: | -| 21.7 | :x: | -| 21.8 | ✅ | -| 21.9 | :x: | -| 21.10 | :x: | -| 21.11 | :x: | -| 21.12 | :x: | -| 22.1 | :x: | -| 22.2 | :x: | -| 22.3 | ✅ | -| 22.4 | ✅ | -| 22.5 | ✅ | +| Version | Supported | +|:-|:-| +| 22.7 | ✔️ | +| 22.6 | ✔️ | +| 22.5 | ✔️ | +| 22.4 | ❌ | +| 22.3 | ✔️ | +| 22.2 | ❌ | +| 22.1 | ❌ | +| 21.12 | ❌ | +| 21.11 | ❌ | +| 21.10 | ❌ | +| 21.9 | ❌ | +| 21.8 | ✔️ | +| 21.7 | ❌ | +| 21.6 | ❌ | +| 21.5 | ❌ | +| 21.4 | ❌ | +| 21.3 | ❌ | +| 21.2 | ❌ | +| 21.1 | ❌ | +| 20.* | ❌ | +| 19.* | ❌ | +| 18.* | ❌ | +| 1.* | ❌ | ## Reporting a Vulnerability We're extremely grateful for security researchers and users that report vulnerabilities to the ClickHouse Open Source Community. All reports are thoroughly investigated by developers. -To report a potential vulnerability in ClickHouse please send the details about it to [security@clickhouse.com](mailto:security@clickhouse.com). +To report a potential vulnerability in ClickHouse please send the details about it to [security@clickhouse.com](mailto:security@clickhouse.com). We do not offer any financial rewards for reporting issues to us using this method. Alternatively, you can also submit your findings through our public bug bounty program hosted by [Bugcrowd](https://bugcrowd.com/clickhouse) and be rewarded for it as per the program scope and rules of engagement. ### When Should I Report a Vulnerability? @@ -55,6 +58,5 @@ As the security issue moves from triage, to identified fix, to release planning ## Public Disclosure Timing -A public disclosure date is negotiated by the ClickHouse maintainers and the bug submitter. We prefer to fully disclose the bug as soon as possible once a user mitigation is available. It is reasonable to delay disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for vendor coordination. The timeframe for disclosure is from immediate (especially if it's already publicly known) to 90 days. For a vulnerability with a straightforward mitigation, we expect report date to disclosure date to be on the order of 7 days. - +A public disclosure date is negotiated by the ClickHouse maintainers and the bug submitter. We prefer to fully disclose the bug as soon as possible once a user mitigation is available. It is reasonable to delay disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for vendor coordination. The timeframe for disclosure is from immediate (especially if it's already publicly known) to 90 days. For a vulnerability with a straightforward mitigation, we expect the report date to disclosure date to be on the order of 7 days. diff --git a/base/base/BorrowedObjectPool.h b/base/base/BorrowedObjectPool.h index 10dcc41d862..bb4c9cd1c21 100644 --- a/base/base/BorrowedObjectPool.h +++ b/base/base/BorrowedObjectPool.h @@ -89,7 +89,7 @@ public: inline void returnObject(T && object_to_return) { { - std::lock_guard lock(objects_mutex); + std::lock_guard lock(objects_mutex); objects.emplace_back(std::move(object_to_return)); --borrowed_objects_size; @@ -107,14 +107,14 @@ public: /// Allocated objects size by the pool. If allocatedObjectsSize == maxSize then pool is full. inline size_t allocatedObjectsSize() const { - std::unique_lock lock(objects_mutex); + std::lock_guard lock(objects_mutex); return allocated_objects_size; } /// Returns allocatedObjectsSize == maxSize inline bool isFull() const { - std::unique_lock lock(objects_mutex); + std::lock_guard lock(objects_mutex); return allocated_objects_size == max_size; } @@ -122,7 +122,7 @@ public: /// Then client will wait during borrowObject function call. inline size_t borrowedObjectsSize() const { - std::unique_lock lock(objects_mutex); + std::lock_guard lock(objects_mutex); return borrowed_objects_size; } diff --git a/base/base/CMakeLists.txt b/base/base/CMakeLists.txt index adffb91625c..175a4836e64 100644 --- a/base/base/CMakeLists.txt +++ b/base/base/CMakeLists.txt @@ -17,15 +17,12 @@ set (SRCS sleep.cpp terminalColors.cpp errnoToString.cpp + ReplxxLineReader.cpp StringRef.cpp safeExit.cpp throwError.cpp ) -if (ENABLE_REPLXX) - list (APPEND SRCS ReplxxLineReader.cpp) -endif () - if (USE_DEBUG_HELPERS) get_target_property(MAGIC_ENUM_INCLUDE_DIR ch_contrib::magic_enum INTERFACE_INCLUDE_DIRECTORIES) # CMake generator expression will do insane quoting when it encounters special character like quotes, spaces, etc. diff --git a/base/base/Decimal.h b/base/base/Decimal.h index aefe852b749..1efb8ba8d92 100644 --- a/base/base/Decimal.h +++ b/base/base/Decimal.h @@ -49,7 +49,7 @@ struct Decimal using NativeType = T; constexpr Decimal() = default; - constexpr Decimal(Decimal &&) = default; + constexpr Decimal(Decimal &&) noexcept = default; constexpr Decimal(const Decimal &) = default; constexpr Decimal(const T & value_): value(value_) {} @@ -57,7 +57,7 @@ struct Decimal template constexpr Decimal(const Decimal & x): value(x.value) {} - constexpr Decimal & operator = (Decimal &&) = default; + constexpr Decimal & operator=(Decimal &&) noexcept = default; constexpr Decimal & operator = (const Decimal &) = default; constexpr operator T () const { return value; } diff --git a/base/base/JSON.cpp b/base/base/JSON.cpp index 54074f20f16..92350ea0e18 100644 --- a/base/base/JSON.cpp +++ b/base/base/JSON.cpp @@ -12,7 +12,14 @@ #define JSON_MAX_DEPTH 100 +#ifdef __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wdeprecated-dynamic-exception-spec" +#endif POCO_IMPLEMENT_EXCEPTION(JSONException, Poco::Exception, "JSONException") // NOLINT(cert-err60-cpp, modernize-use-noexcept, hicpp-use-noexcept) +#ifdef __clang__ +# pragma clang diagnostic pop +#endif /// Прочитать беззнаковое целое в простом формате из не-0-terminated строки. @@ -662,18 +669,18 @@ std::string JSON::getName() const return getString(); } -StringRef JSON::getRawString() const +std::string_view JSON::getRawString() const { Pos s = ptr_begin; if (*s != '"') throw JSONException(std::string("JSON: expected \", got ") + *s); while (++s != ptr_end && *s != '"'); if (s != ptr_end) - return StringRef(ptr_begin + 1, s - ptr_begin - 1); + return std::string_view(ptr_begin + 1, s - ptr_begin - 1); throw JSONException("JSON: incorrect syntax (expected end of string, found end of JSON)."); } -StringRef JSON::getRawName() const +std::string_view JSON::getRawName() const { return getRawString(); } diff --git a/base/base/JSON.h b/base/base/JSON.h index 5965b2b17a9..214e9f88e9b 100644 --- a/base/base/JSON.h +++ b/base/base/JSON.h @@ -38,8 +38,14 @@ */ +#ifdef __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wdeprecated-dynamic-exception-spec" +#endif POCO_DECLARE_EXCEPTION(Foundation_API, JSONException, Poco::Exception) - +#ifdef __clang__ +# pragma clang diagnostic pop +#endif class JSON { @@ -130,8 +136,8 @@ public: std::string getName() const; /// Получить имя name-value пары. JSON getValue() const; /// Получить значение name-value пары. - StringRef getRawString() const; - StringRef getRawName() const; + std::string_view getRawString() const; + std::string_view getRawName() const; /// Получить значение элемента; если элемент - строка, то распарсить значение из строки; если не строка или число - то исключение. double toDouble() const; diff --git a/base/base/LineReader.h b/base/base/LineReader.h index 33daae49974..d4ab327fe00 100644 --- a/base/base/LineReader.h +++ b/base/base/LineReader.h @@ -7,6 +7,7 @@ #include #include +#include class LineReader { @@ -20,8 +21,8 @@ public: void addWords(Words && new_words); private: - Words words; - Words words_no_case; + Words words TSA_GUARDED_BY(mutex); + Words words_no_case TSA_GUARDED_BY(mutex); std::mutex mutex; }; @@ -29,7 +30,7 @@ public: using Patterns = std::vector; LineReader(const String & history_file_path, bool multiline, Patterns extenders, Patterns delimiters); - virtual ~LineReader() {} + virtual ~LineReader() = default; /// Reads the whole line until delimiter (in multiline mode) or until the last line without extender. /// If resulting line is empty, it means the user interrupted the input. diff --git a/base/base/ReplxxLineReader.cpp b/base/base/ReplxxLineReader.cpp index 0569567d4f8..bd26ec69c89 100644 --- a/base/base/ReplxxLineReader.cpp +++ b/base/base/ReplxxLineReader.cpp @@ -45,14 +45,16 @@ std::string replxx_now_ms_str() time_t t = ms.count() / 1000; tm broken; if (!localtime_r(&t, &broken)) - { - return std::string(); - } + return {}; static int const BUFF_SIZE(32); char str[BUFF_SIZE]; - strftime(str, BUFF_SIZE, "%Y-%m-%d %H:%M:%S.", &broken); - snprintf(str + sizeof("YYYY-mm-dd HH:MM:SS"), 5, "%03d", static_cast(ms.count() % 1000)); + if (strftime(str, BUFF_SIZE, "%Y-%m-%d %H:%M:%S.", &broken) <= 0) + return {}; + + if (snprintf(str + sizeof("YYYY-mm-dd HH:MM:SS"), 5, "%03d", static_cast(ms.count() % 1000)) <= 0) + return {}; + return str; } diff --git a/base/base/argsToConfig.h b/base/base/argsToConfig.h index 134eed64fd2..9b7b44b7b7f 100644 --- a/base/base/argsToConfig.h +++ b/base/base/argsToConfig.h @@ -4,7 +4,7 @@ namespace Poco::Util { -class LayeredConfiguration; +class LayeredConfiguration; // NOLINT(cppcoreguidelines-virtual-class-destructor) } /// Import extra command line arguments to configuration. These are command line arguments after --. diff --git a/base/base/defines.h b/base/base/defines.h index 084e710abf6..c8c408b9c93 100644 --- a/base/base/defines.h +++ b/base/base/defines.h @@ -100,6 +100,13 @@ # define ALWAYS_INLINE_NO_SANITIZE_UNDEFINED ALWAYS_INLINE #endif +#if defined(__clang__) && defined(__clang_major__) && __clang_major__ >= 14 +# define DISABLE_SANITIZER_INSTRUMENTATION __attribute__((disable_sanitizer_instrumentation)) +#else +# define DISABLE_SANITIZER_INSTRUMENTATION +#endif + + #if !__has_include() || !defined(ADDRESS_SANITIZER) # define ASAN_UNPOISON_MEMORY_REGION(a, b) # define ASAN_POISON_MEMORY_REGION(a, b) @@ -124,6 +131,39 @@ #endif #endif +/// Macros for Clang Thread Safety Analysis (TSA). They can be safely ignored by other compilers. +/// Feel free to extend, but please stay close to https://clang.llvm.org/docs/ThreadSafetyAnalysis.html#mutexheader +#if defined(__clang__) +# define TSA_GUARDED_BY(...) __attribute__((guarded_by(__VA_ARGS__))) /// data is protected by given capability +# define TSA_PT_GUARDED_BY(...) __attribute__((pt_guarded_by(__VA_ARGS__))) /// pointed-to data is protected by the given capability +# define TSA_REQUIRES(...) __attribute__((requires_capability(__VA_ARGS__))) /// thread needs exclusive possession of given capability +# define TSA_REQUIRES_SHARED(...) __attribute__((requires_shared_capability(__VA_ARGS__))) /// thread needs shared possession of given capability +# define TSA_ACQUIRED_AFTER(...) __attribute__((acquired_after(__VA_ARGS__))) /// annotated lock must be locked after given lock +# define TSA_NO_THREAD_SAFETY_ANALYSIS __attribute__((no_thread_safety_analysis)) /// disable TSA for a function + +/// Macros for suppressing TSA warnings for specific reads/writes (instead of suppressing it for the whole function) +/// Consider adding a comment before using these macros. +# define TSA_SUPPRESS_WARNING_FOR_READ(x) [&]() TSA_NO_THREAD_SAFETY_ANALYSIS -> const auto & { return (x); }() +# define TSA_SUPPRESS_WARNING_FOR_WRITE(x) [&]() TSA_NO_THREAD_SAFETY_ANALYSIS -> auto & { return (x); }() + +/// This macro is useful when only one thread writes to a member +/// and you want to read this member from the same thread without locking a mutex. +/// It's safe (because no concurrent writes are possible), but TSA generates a warning. +/// (Seems like there's no way to verify it, but it makes sense to distinguish it from TSA_SUPPRESS_WARNING_FOR_READ for readability) +# define TSA_READ_ONE_THREAD(x) TSA_SUPPRESS_WARNING_FOR_READ(x) + +#else +# define TSA_GUARDED_BY(...) +# define TSA_PT_GUARDED_BY(...) +# define TSA_REQUIRES(...) +# define TSA_REQUIRES_SHARED(...) +# define TSA_NO_THREAD_SAFETY_ANALYSIS + +# define TSA_SUPPRESS_WARNING_FOR_READ(x) +# define TSA_SUPPRESS_WARNING_FOR_WRITE(x) +# define TSA_READ_ONE_THREAD(x) +#endif + /// A template function for suppressing warnings about unused variables or function results. template constexpr void UNUSED(Args &&... args [[maybe_unused]]) diff --git a/base/base/demangle.h b/base/base/demangle.h index 3c20920ab7c..ddca264ecab 100644 --- a/base/base/demangle.h +++ b/base/base/demangle.h @@ -27,6 +27,6 @@ struct FreeingDeleter } }; -typedef std::unique_ptr DemangleResult; +using DemangleResult = std::unique_ptr; DemangleResult tryDemangle(const char * name); diff --git a/base/base/errnoToString.cpp b/base/base/errnoToString.cpp index cdadba2c615..c6d1139a9de 100644 --- a/base/base/errnoToString.cpp +++ b/base/base/errnoToString.cpp @@ -9,7 +9,7 @@ std::string errnoToString(int code, int the_errno) char buf[buf_size]; #ifndef _GNU_SOURCE int rc = strerror_r(the_errno, buf, buf_size); -#ifdef __APPLE__ +#ifdef OS_DARWIN if (rc != 0 && rc != EINVAL) #else if (rc != 0) diff --git a/base/base/getAvailableMemoryAmount.cpp b/base/base/getAvailableMemoryAmount.cpp index e9bbbd95caf..61ba97dd025 100644 --- a/base/base/getAvailableMemoryAmount.cpp +++ b/base/base/getAvailableMemoryAmount.cpp @@ -16,7 +16,7 @@ uint64_t getAvailableMemoryAmountOrZero() { #if defined(_SC_PHYS_PAGES) // linux return getPageSize() * sysconf(_SC_PHYS_PAGES); -#elif defined(__FreeBSD__) +#elif defined(OS_FREEBSD) struct vmtotal vmt; size_t vmt_size = sizeof(vmt); if (sysctlbyname("vm.vmtotal", &vmt, &vmt_size, NULL, 0) == 0) diff --git a/base/base/phdr_cache.cpp b/base/base/phdr_cache.cpp index 36a9b4f1f62..c3d7fed2d3f 100644 --- a/base/base/phdr_cache.cpp +++ b/base/base/phdr_cache.cpp @@ -6,7 +6,7 @@ #include -#if defined(__linux__) && !defined(THREAD_SANITIZER) && !defined(USE_MUSL) +#if defined(OS_LINUX) && !defined(THREAD_SANITIZER) && !defined(USE_MUSL) #define USE_PHDR_CACHE 1 #endif diff --git a/base/base/strong_typedef.h b/base/base/strong_typedef.h index 0c2e9ca7e8e..c9ea30b73fd 100644 --- a/base/base/strong_typedef.h +++ b/base/base/strong_typedef.h @@ -23,10 +23,10 @@ public: constexpr StrongTypedef(): t() {} constexpr StrongTypedef(const Self &) = default; - constexpr StrongTypedef(Self &&) = default; + constexpr StrongTypedef(Self &&) noexcept(std::is_nothrow_move_constructible_v) = default; Self & operator=(const Self &) = default; - Self & operator=(Self &&) = default; + Self & operator=(Self &&) noexcept(std::is_nothrow_move_assignable_v)= default; template ::type> Self & operator=(const T & rhs) { t = rhs; return *this;} diff --git a/base/base/tests/CMakeLists.txt b/base/base/tests/CMakeLists.txt index 2a07a94055f..81db4f3622f 100644 --- a/base/base/tests/CMakeLists.txt +++ b/base/base/tests/CMakeLists.txt @@ -1,2 +1,2 @@ -add_executable (dump_variable dump_variable.cpp) +clickhouse_add_executable (dump_variable dump_variable.cpp) target_link_libraries (dump_variable PRIVATE clickhouse_common_io) diff --git a/base/base/time.h b/base/base/time.h index d0b8e94a9a5..b029c9e3d42 100644 --- a/base/base/time.h +++ b/base/base/time.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #if defined (OS_DARWIN) || defined (OS_SUNOS) # define CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC diff --git a/base/base/unaligned.h b/base/base/unaligned.h index ca73298adfb..fcaaa38f2fe 100644 --- a/base/base/unaligned.h +++ b/base/base/unaligned.h @@ -1,9 +1,48 @@ #pragma once -#include +#include #include +#include +inline void reverseMemcpy(void * dst, const void * src, size_t size) +{ + uint8_t * uint_dst = reinterpret_cast(dst); + const uint8_t * uint_src = reinterpret_cast(src); + + uint_dst += size; + while (size) + { + --uint_dst; + *uint_dst = *uint_src; + ++uint_src; + --size; + } +} + +template +inline T unalignedLoadLE(const void * address) +{ + T res {}; + if constexpr (std::endian::native == std::endian::little) + memcpy(&res, address, sizeof(res)); + else + reverseMemcpy(&res, address, sizeof(res)); + return res; +} + + +template +inline void unalignedStoreLE(void * address, + const typename std::enable_if::type & src) +{ + static_assert(std::is_trivially_copyable_v); + if constexpr (std::endian::native == std::endian::little) + memcpy(address, &src, sizeof(src)); + else + reverseMemcpy(address, &src, sizeof(src)); +} + template inline T unalignedLoad(const void * address) { diff --git a/base/base/wide_integer.h b/base/base/wide_integer.h index de349633723..ffd30460c03 100644 --- a/base/base/wide_integer.h +++ b/base/base/wide_integer.h @@ -27,6 +27,8 @@ #include #include +// NOLINTBEGIN(*) + namespace wide { template @@ -257,4 +259,7 @@ struct hash>; } +// NOLINTEND(*) + #include "wide_integer_impl.h" + diff --git a/base/base/wide_integer_impl.h b/base/base/wide_integer_impl.h index ed2c2972cfe..5e32b286871 100644 --- a/base/base/wide_integer_impl.h +++ b/base/base/wide_integer_impl.h @@ -15,6 +15,8 @@ #include #include +// NOLINTBEGIN(*) + /// Use same extended double for all platforms #if (LDBL_MANT_DIG == 64) #define CONSTEXPR_FROM_DOUBLE constexpr @@ -576,8 +578,8 @@ private: else if constexpr (Bits == 128 && sizeof(base_type) == 8) { using CompilerUInt128 = unsigned __int128; - CompilerUInt128 a = (CompilerUInt128(lhs.items[1]) << 64) + lhs.items[0]; - CompilerUInt128 b = (CompilerUInt128(rhs.items[1]) << 64) + rhs.items[0]; + CompilerUInt128 a = (CompilerUInt128(lhs.items[1]) << 64) + lhs.items[0]; // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) + CompilerUInt128 b = (CompilerUInt128(rhs.items[1]) << 64) + rhs.items[0]; // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) CompilerUInt128 c = a * b; integer res; res.items[0] = c; @@ -841,8 +843,8 @@ public: { using CompilerUInt128 = unsigned __int128; - CompilerUInt128 a = (CompilerUInt128(numerator.items[1]) << 64) + numerator.items[0]; - CompilerUInt128 b = (CompilerUInt128(denominator.items[1]) << 64) + denominator.items[0]; + CompilerUInt128 a = (CompilerUInt128(numerator.items[1]) << 64) + numerator.items[0]; // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) + CompilerUInt128 b = (CompilerUInt128(denominator.items[1]) << 64) + denominator.items[0]; // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) CompilerUInt128 c = a / b; // NOLINT integer res; @@ -1204,7 +1206,7 @@ constexpr integer::operator T() const noexcept UnsignedT res{}; for (unsigned i = 0; i < _impl::item_count && i < (sizeof(T) + sizeof(base_type) - 1) / sizeof(base_type); ++i) - res += UnsignedT(items[i]) << (sizeof(base_type) * 8 * i); + res += UnsignedT(items[i]) << (sizeof(base_type) * 8 * i); // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) return res; } @@ -1478,3 +1480,5 @@ struct hash> }; } + +// NOLINTEND(*) diff --git a/base/glibc-compatibility/musl/getauxval.c b/base/glibc-compatibility/musl/getauxval.c index dad7aa938d7..22886013d07 100644 --- a/base/glibc-compatibility/musl/getauxval.c +++ b/base/glibc-compatibility/musl/getauxval.c @@ -1,68 +1,192 @@ -#include #include "atomic.h" -#include // __environ +#include +#include // open +#include // O_RDONLY +#include // read, close +#include // ssize_t +#include // perror, fprintf +#include // ElfW #include -// We don't have libc struct available here. Compute aux vector manually. -static unsigned long * __auxv = NULL; -static unsigned long __auxv_secure = 0; +#define ARRAY_SIZE(a) sizeof((a))/sizeof((a[0])) -static size_t __find_auxv(unsigned long type) +/// Suppress TSan since it is possible for this code to be called from multiple threads, +/// and initialization is safe to be done multiple times from multiple threads. +#if defined(__clang__) +# define NO_SANITIZE_THREAD __attribute__((__no_sanitize__("thread"))) +#else +# define NO_SANITIZE_THREAD +#endif + +// We don't have libc struct available here. +// Compute aux vector manually (from /proc/self/auxv). +// +// Right now there is only 51 AT_* constants, +// so 64 should be enough until this implementation will be replaced with musl. +static unsigned long __auxv_procfs[64]; +static unsigned long __auxv_secure = 0; +// Common +static unsigned long * __auxv_environ = NULL; + +static void * volatile getauxval_func; + +static unsigned long __auxv_init_environ(unsigned long type); + +// +// auxv from procfs interface +// +ssize_t __retry_read(int fd, void * buf, size_t count) +{ + for (;;) + { + ssize_t ret = read(fd, buf, count); + if (ret == -1) + { + if (errno == EINTR) + { + continue; + } + perror("Cannot read /proc/self/auxv"); + abort(); + } + return ret; + } +} +unsigned long NO_SANITIZE_THREAD __getauxval_procfs(unsigned long type) +{ + if (type == AT_SECURE) + { + return __auxv_secure; + } + + if (type >= ARRAY_SIZE(__auxv_procfs)) + { + errno = ENOENT; + return 0; + } + + return __auxv_procfs[type]; +} +static unsigned long NO_SANITIZE_THREAD __auxv_init_procfs(unsigned long type) +{ + // For debugging: + // - od -t dL /proc/self/auxv + // - LD_SHOW_AUX= ls + int fd = open("/proc/self/auxv", O_RDONLY); + // It is possible in case of: + // - no procfs mounted + // - on android you are not able to read it unless running from shell or debugging + // - some other issues + if (fd == -1) + { + // Fallback to environ. + a_cas_p(&getauxval_func, (void *)__auxv_init_procfs, (void *)__auxv_init_environ); + return __auxv_init_environ(type); + } + + ElfW(auxv_t) aux; + + /// NOTE: sizeof(aux) is very small (less then PAGE_SIZE), so partial read should not be possible. + _Static_assert(sizeof(aux) < 4096, "Unexpected sizeof(aux)"); + while (__retry_read(fd, &aux, sizeof(aux)) == sizeof(aux)) + { + if (aux.a_type == AT_NULL) + { + break; + } + if (aux.a_type == AT_IGNORE || aux.a_type == AT_IGNOREPPC) + { + continue; + } + + if (aux.a_type >= ARRAY_SIZE(__auxv_procfs)) + { + fprintf(stderr, "AT_* is out of range: %li (maximum allowed is %zu)\n", aux.a_type, ARRAY_SIZE(__auxv_procfs)); + abort(); + } + if (__auxv_procfs[aux.a_type]) + { + /// It is possible due to race on initialization. + } + __auxv_procfs[aux.a_type] = aux.a_un.a_val; + } + close(fd); + + __auxv_secure = __getauxval_procfs(AT_SECURE); + + // Now we've initialized __auxv_procfs, next time getauxval() will only call __get_auxval(). + a_cas_p(&getauxval_func, (void *)__auxv_init_procfs, (void *)__getauxval_procfs); + + return __getauxval_procfs(type); +} + +// +// auxv from environ interface +// +// NOTE: environ available only after static initializers, +// so you cannot rely on this if you need getauxval() before. +// +// Good example of such user is sanitizers, for example +// LSan will not work with __auxv_init_environ(), +// since it needs getauxval() before. +// +static size_t NO_SANITIZE_THREAD __find_auxv(unsigned long type) { size_t i; - for (i = 0; __auxv[i]; i += 2) + for (i = 0; __auxv_environ[i]; i += 2) { - if (__auxv[i] == type) + if (__auxv_environ[i] == type) + { return i + 1; + } } return (size_t) -1; } - -unsigned long __getauxval(unsigned long type) +unsigned long NO_SANITIZE_THREAD __getauxval_environ(unsigned long type) { if (type == AT_SECURE) return __auxv_secure; - if (__auxv) + if (__auxv_environ) { size_t index = __find_auxv(type); if (index != ((size_t) -1)) - return __auxv[index]; + return __auxv_environ[index]; } errno = ENOENT; return 0; } - -static void * volatile getauxval_func; - -static unsigned long __auxv_init(unsigned long type) +static unsigned long NO_SANITIZE_THREAD __auxv_init_environ(unsigned long type) { if (!__environ) { - // __environ is not initialized yet so we can't initialize __auxv right now. + // __environ is not initialized yet so we can't initialize __auxv_environ right now. // That's normally occurred only when getauxval() is called from some sanitizer's internal code. errno = ENOENT; return 0; } - // Initialize __auxv and __auxv_secure. + // Initialize __auxv_environ and __auxv_secure. size_t i; for (i = 0; __environ[i]; i++); - __auxv = (unsigned long *) (__environ + i + 1); + __auxv_environ = (unsigned long *) (__environ + i + 1); size_t secure_idx = __find_auxv(AT_SECURE); if (secure_idx != ((size_t) -1)) - __auxv_secure = __auxv[secure_idx]; + __auxv_secure = __auxv_environ[secure_idx]; - // Now we've initialized __auxv, next time getauxval() will only call __get_auxval(). - a_cas_p(&getauxval_func, (void *)__auxv_init, (void *)__getauxval); + // Now we need to switch to __getauxval_environ for all later calls, since + // everything is initialized. + a_cas_p(&getauxval_func, (void *)__auxv_init_environ, (void *)__getauxval_environ); - return __getauxval(type); + return __getauxval_environ(type); } -// First time getauxval() will call __auxv_init(). -static void * volatile getauxval_func = (void *)__auxv_init; +// Callchain: +// - __auxv_init_procfs -> __getauxval_environ +// - __auxv_init_procfs -> __auxv_init_environ -> __getauxval_environ +static void * volatile getauxval_func = (void *)__auxv_init_procfs; unsigned long getauxval(unsigned long type) { diff --git a/base/harmful/harmful.c b/base/harmful/harmful.c index 5a27cae0383..6112f9a339c 100644 --- a/base/harmful/harmful.c +++ b/base/harmful/harmful.c @@ -260,4 +260,35 @@ TRAP(mq_timedreceive) TRAP(wordexp) TRAP(wordfree) +/// C11 threading primitives are not supported by ThreadSanitizer. +/// Also we should avoid using them for compatibility with old libc. +TRAP(thrd_create) +TRAP(thrd_equal) +TRAP(thrd_current) +TRAP(thrd_sleep) +TRAP(thrd_yield) +TRAP(thrd_exit) +TRAP(thrd_detach) +TRAP(thrd_join) + +TRAP(mtx_init) +TRAP(mtx_lock) +TRAP(mtx_timedlock) +TRAP(mtx_trylock) +TRAP(mtx_unlock) +TRAP(mtx_destroy) +TRAP(call_once) + +TRAP(cnd_init) +TRAP(cnd_signal) +TRAP(cnd_broadcast) +TRAP(cnd_wait) +TRAP(cnd_timedwait) +TRAP(cnd_destroy) + +TRAP(tss_create) +TRAP(tss_get) +TRAP(tss_set) +TRAP(tss_delete) + #endif diff --git a/base/pcg-random/pcg_extras.hpp b/base/pcg-random/pcg_extras.hpp index 39c91c4ecfa..f5ba4d48849 100644 --- a/base/pcg-random/pcg_extras.hpp +++ b/base/pcg-random/pcg_extras.hpp @@ -90,6 +90,7 @@ #define PCG_EMULATED_128BIT_MATH 1 #endif +// NOLINTBEGIN(*) namespace pcg_extras { @@ -552,4 +553,6 @@ std::ostream& operator<<(std::ostream& out, printable_typename) { } // namespace pcg_extras +// NOLINTEND(*) + #endif // PCG_EXTRAS_HPP_INCLUDED diff --git a/base/pcg-random/pcg_random.hpp b/base/pcg-random/pcg_random.hpp index d9d3519a4cf..94e43e1007b 100644 --- a/base/pcg-random/pcg_random.hpp +++ b/base/pcg-random/pcg_random.hpp @@ -113,6 +113,8 @@ #include "pcg_extras.hpp" +// NOLINTBEGIN(*) + namespace DB { struct PcgSerializer; @@ -1777,4 +1779,6 @@ typedef pcg_engines::ext_oneseq_xsh_rs_64_32<14,32,true> pcg32_k16384_fast; #pragma warning(default:4146) #endif +// NOLINTEND(*) + #endif // PCG_RAND_HPP_INCLUDED diff --git a/base/widechar_width/widechar_width.h b/base/widechar_width/widechar_width.h index 3007a112886..4927b67eb91 100644 --- a/base/widechar_width/widechar_width.h +++ b/base/widechar_width/widechar_width.h @@ -16,6 +16,8 @@ #include #include +// NOLINTBEGIN(*) + /* Special width values */ enum { widechar_nonprint = -1, // The character is not printable. @@ -518,4 +520,6 @@ inline int widechar_wcwidth(wchar_t c) { return 1; } +// NOLINTEND(*) + #endif // WIDECHAR_WIDTH_H diff --git a/benchmark/README.md b/benchmark/README.md new file mode 100644 index 00000000000..ac43d967d5f --- /dev/null +++ b/benchmark/README.md @@ -0,0 +1 @@ +Benchmark is located in a separate repository: https://github.com/ClickHouse/ClickBench diff --git a/benchmark/benchmark.sh b/benchmark/benchmark.sh deleted file mode 100755 index 5fea1bfbb88..00000000000 --- a/benchmark/benchmark.sh +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/env bash -# script to run query to databases - -function usage() -{ - cat < /proc/sys/vm/drop_caches" - - if [[ "$restart_server_each_query" == "1" && "$use_service" == "1" ]]; then - echo "restart server: $etc_init_d_service restart" - sudo $etc_init_d_service restart - fi - - for i in $(seq $TIMES) - do - if [[ -f $etc_init_d_service && "$use_service" == "1" ]]; then - sudo $etc_init_d_service status - server_status=$? - expect -f $expect_file "" - - if [[ "$?" != "0" || $server_status != "0" ]]; then - echo "restart server: $etc_init_d_service restart" - sudo $etc_init_d_service restart - fi - - #wait until can connect to server - restart_timer=0 - restart_limit=60 - expect -f $expect_file "" &> /dev/null - while [ "$?" != "0" ]; do - echo "waiting" - sleep 1 - let "restart_timer = $restart_timer + 1" - if (( $restart_limit < $restart_timer )); then - sudo $etc_init_d_service restart - restart_timer=0 - fi - expect -f $expect_file "" &> /dev/null - done - fi - - echo - echo "times: $i" - - echo "query:" "$query" - expect -f $expect_file "$query" - - done - fi - - let "index = $index + 1" - done -} - -temp_test_file=temp_queries_$table_name -cat $test_file | sed s/$table_name_pattern/$table_name/g > $temp_test_file -mapfile -t test_queries < $temp_test_file - -echo "start time: $(date)" -time execute "${test_queries[@]}" -echo "stop time: $(date)" diff --git a/benchmark/clickhouse/benchmark-chyt.sh b/benchmark/clickhouse/benchmark-chyt.sh deleted file mode 100755 index 778ce4f86ce..00000000000 --- a/benchmark/clickhouse/benchmark-chyt.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -QUERIES_FILE="queries.sql" -TABLE=$1 -TRIES=3 - -cat "$QUERIES_FILE" | sed "s|{table}|\"${TABLE}\"|g" | while read query; do - - echo -n "[" - for i in $(seq 1 $TRIES); do - while true; do - RES=$(command time -f %e -o /dev/stdout curl -sS -G --data-urlencode "query=$query" --data "default_format=Null&max_memory_usage=100000000000&max_memory_usage_for_all_queries=100000000000&max_concurrent_queries_for_user=100&database=*$YT_CLIQUE_ID" --location-trusted -H "Authorization: OAuth $YT_TOKEN" "$YT_PROXY.yt.yandex.net/query" 2>/dev/null); - if [[ $? == 0 ]]; then - [[ $RES =~ 'fail|Exception' ]] || break; - fi - done - - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" - [[ "$i" != $TRIES ]] && echo -n ", " - done - echo "]," -done diff --git a/benchmark/clickhouse/benchmark-new.sh b/benchmark/clickhouse/benchmark-new.sh deleted file mode 100755 index 0c4cad6e5e3..00000000000 --- a/benchmark/clickhouse/benchmark-new.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash - -QUERIES_FILE="queries.sql" -TABLE=$1 -TRIES=3 - -if [ -x ./clickhouse ] -then - CLICKHOUSE_CLIENT="./clickhouse client" -elif command -v clickhouse-client >/dev/null 2>&1 -then - CLICKHOUSE_CLIENT="clickhouse-client" -else - echo "clickhouse-client is not found" - exit 1 -fi - -cat "$QUERIES_FILE" | sed "s/{table}/${TABLE}/g" | while read query; do - sync - echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null - - echo -n "[" - for i in $(seq 1 $TRIES); do - RES=$(${CLICKHOUSE_CLIENT} --time --format=Null --max_memory_usage=100G --query="$query" 2>&1) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" - [[ "$i" != $TRIES ]] && echo -n ", " - done - echo "]," -done diff --git a/benchmark/clickhouse/benchmark-yql.sh b/benchmark/clickhouse/benchmark-yql.sh deleted file mode 100755 index 7d30d39e7d3..00000000000 --- a/benchmark/clickhouse/benchmark-yql.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -QUERIES_FILE="queries.sql" -TABLE=$1 -TRIES=3 - -cat "$QUERIES_FILE" | sed "s|{table}|\"${TABLE}\"|g" | while read query; do - - echo -n "[" - for i in $(seq 1 $TRIES); do - while true; do - RES=$(command time -f %e -o time ./yql --clickhouse --syntax-version 1 -f empty <<< "USE chyt.hume; PRAGMA max_memory_usage = 100000000000; PRAGMA max_memory_usage_for_all_queries = 100000000000; $query" >/dev/null 2>&1 && cat time) && break; - done - - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" - [[ "$i" != $TRIES ]] && echo -n ", " - done - echo "]," -done diff --git a/benchmark/clickhouse/benchmark_cloud.sh b/benchmark/clickhouse/benchmark_cloud.sh deleted file mode 100755 index 01376e4009e..00000000000 --- a/benchmark/clickhouse/benchmark_cloud.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -QUERIES_FILE="queries.sql" -TABLE=$1 -TRIES=3 - -PARAMS="--host ... --secure --password ..." - -if [ -x ./clickhouse ] -then - CLICKHOUSE_CLIENT="./clickhouse client" -elif command -v clickhouse-client >/dev/null 2>&1 -then - CLICKHOUSE_CLIENT="clickhouse-client" -else - echo "clickhouse-client is not found" - exit 1 -fi - -QUERY_ID_PREFIX="benchmark_$RANDOM" -QUERY_NUM=1 - -cat "$QUERIES_FILE" | sed "s/{table}/${TABLE}/g" | while read query - do - for i in $(seq 1 $TRIES) - do - QUERY_ID="${QUERY_ID_PREFIX}_${QUERY_NUM}_${i}" - ${CLICKHOUSE_CLIENT} ${PARAMS} --query_id "${QUERY_ID}" --format=Null --max_memory_usage=100G --query="$query" - echo -n '.' - done - QUERY_NUM=$((QUERY_NUM + 1)) - echo -done - -sleep 10 - -${CLICKHOUSE_CLIENT} ${PARAMS} --query " - WITH extractGroups(query_id, '(\d+)_(\d+)\$') AS num_run, num_run[1]::UInt8 AS num, num_run[2]::UInt8 AS run - SELECT groupArrayInsertAt(query_duration_ms / 1000, (run - 1)::UInt8)::String || ',' - FROM clusterAllReplicas(default, system.query_log) - WHERE event_date >= yesterday() AND type = 2 AND query_id LIKE '${QUERY_ID_PREFIX}%' - GROUP BY num ORDER BY num FORMAT TSV -" diff --git a/benchmark/clickhouse/queries.sql b/benchmark/clickhouse/queries.sql deleted file mode 100644 index 89c4616c642..00000000000 --- a/benchmark/clickhouse/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -SELECT count() FROM {table}; -SELECT count() FROM {table} WHERE AdvEngineID != 0; -SELECT sum(AdvEngineID), count(), avg(ResolutionWidth) FROM {table} ; -SELECT sum(UserID) FROM {table} ; -SELECT uniq(UserID) FROM {table} ; -SELECT uniq(SearchPhrase) FROM {table} ; -SELECT min(EventDate), max(EventDate) FROM {table} ; -SELECT AdvEngineID, count() FROM {table} WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count() DESC; -SELECT RegionID, uniq(UserID) AS u FROM {table} GROUP BY RegionID ORDER BY u DESC LIMIT 10; -SELECT RegionID, sum(AdvEngineID), count() AS c, avg(ResolutionWidth), uniq(UserID) FROM {table} GROUP BY RegionID ORDER BY c DESC LIMIT 10; -SELECT MobilePhoneModel, uniq(UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT MobilePhone, MobilePhoneModel, uniq(UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT SearchPhrase, count() AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, uniq(UserID) AS u FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -SELECT SearchEngineID, SearchPhrase, count() AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT UserID, count() FROM {table} GROUP BY UserID ORDER BY count() DESC LIMIT 10; -SELECT UserID, SearchPhrase, count() FROM {table} GROUP BY UserID, SearchPhrase ORDER BY count() DESC LIMIT 10; -SELECT UserID, SearchPhrase, count() FROM {table} GROUP BY UserID, SearchPhrase LIMIT 10; -SELECT UserID, toMinute(EventTime) AS m, SearchPhrase, count() FROM {table} GROUP BY UserID, m, SearchPhrase ORDER BY count() DESC LIMIT 10; -SELECT UserID FROM {table} WHERE UserID = 12345678901234567890; -SELECT count() FROM {table} WHERE URL LIKE '%metrika%'; -SELECT SearchPhrase, any(URL), count() AS c FROM {table} WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, any(URL), any(Title), count() AS c, uniq(UserID) FROM {table} WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT * FROM {table} WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -SELECT CounterID, avg(length(URL)) AS l, count() AS c FROM {table} WHERE URL != '' GROUP BY CounterID HAVING c > 100000 ORDER BY l DESC LIMIT 25; -SELECT domainWithoutWWW(Referer) AS key, avg(length(Referer)) AS l, count() AS c, any(Referer) FROM {table} WHERE Referer != '' GROUP BY key HAVING c > 100000 ORDER BY l DESC LIMIT 25; -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM {table}; -SELECT SearchEngineID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM {table} GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT URL, count() AS c FROM {table} GROUP BY URL ORDER BY c DESC LIMIT 10; -SELECT 1, URL, count() AS c FROM {table} GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -SELECT ClientIP AS x, x - 1, x - 2, x - 3, count() AS c FROM {table} GROUP BY x, x - 1, x - 2, x - 3 ORDER BY c DESC LIMIT 10; -SELECT URL, count() AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT DontCountHits AND NOT Refresh AND notEmpty(URL) GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -SELECT Title, count() AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT DontCountHits AND NOT Refresh AND notEmpty(Title) GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -SELECT URL, count() AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -SELECT TraficSourceID, SearchEngineID, AdvEngineID, ((SearchEngineID = 0 AND AdvEngineID = 0) ? Referer : '') AS Src, URL AS Dst, count() AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -SELECT URLHash, EventDate, count() AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = halfMD5('http://example.ru/') GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -SELECT WindowClientWidth, WindowClientHeight, count() AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND NOT DontCountHits AND URLHash = halfMD5('http://example.ru/') GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -SELECT toStartOfMinute(EventTime) AS Minute, count() AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; diff --git a/benchmark/create_dump.sh b/benchmark/create_dump.sh deleted file mode 100755 index 3e26f8c1426..00000000000 --- a/benchmark/create_dump.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -table=hits_10m; time clickhouse-client --max_bytes_before_external_sort=30000000000 --query="SELECT toInt64(WatchID), JavaEnable, Title, GoodEvent, (EventTime < toDateTime('1971-01-01 00:00:00') ? toDateTime('1971-01-01 00:00:01') : EventTime), (EventDate < toDate('1971-01-01') ? toDate('1971-01-01') : EventDate), CounterID, ClientIP, RegionID, toInt64(UserID), CounterClass, OS, UserAgent, URL, Referer, Refresh, RefererCategoryID, RefererRegionID, URLCategoryID, URLRegionID, ResolutionWidth, ResolutionHeight, ResolutionDepth, FlashMajor, FlashMinor, FlashMinor2, NetMajor, NetMinor, UserAgentMajor, UserAgentMinor, CookieEnable, JavascriptEnable, IsMobile, MobilePhone, MobilePhoneModel, Params, IPNetworkID, TraficSourceID, SearchEngineID, SearchPhrase, AdvEngineID, IsArtifical, WindowClientWidth, WindowClientHeight, ClientTimeZone, (ClientEventTime < toDateTime('1971-01-01 00:00:01') ? toDateTime('1971-01-01 00:00:01') : ClientEventTime), SilverlightVersion1, SilverlightVersion2, SilverlightVersion3, SilverlightVersion4, PageCharset, CodeVersion, IsLink, IsDownload, IsNotBounce, toInt64(FUniqID), OriginalURL, HID, IsOldCounter, IsEvent, IsParameter, DontCountHits, WithHash, HitColor, (LocalEventTime < toDateTime('1971-01-01 00:00:01') ? toDateTime('1971-01-01 00:00:01') : LocalEventTime), Age, Sex, Income, Interests, Robotness, RemoteIP, WindowName, OpenerName, HistoryLength, BrowserLanguage, BrowserCountry, SocialNetwork, SocialAction, HTTPError, SendTiming, DNSTiming, ConnectTiming, ResponseStartTiming, ResponseEndTiming, FetchTiming, SocialSourceNetworkID, SocialSourcePage, ParamPrice, ParamOrderID, ParamCurrency, ParamCurrencyID, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, toInt64(RefererHash), toInt64(URLHash), CLID FROM $table ORDER BY rand()" | corrector_utf8 > /opt/dumps/${table}_corrected.tsv diff --git a/benchmark/duckdb/log b/benchmark/duckdb/log deleted file mode 100644 index 64a6ad6bbeb..00000000000 --- a/benchmark/duckdb/log +++ /dev/null @@ -1,15906 +0,0 @@ -milovidov@mtlog-perftest03j:~$ ./duckdb -v0.3.0 46a0fc50a -Enter ".help" for usage hints. -Connected to a transient in-memory database. -Use ".open FILENAME" to reopen on a persistent database. -D PRAGMA threads = 16; -D PRAGMA temp_directory='duckdb.tmp'; -D .timing on -Error: unknown command or invalid arguments: "timing". Enter ".help" for help -D .timing=on -Error: unknown command or invalid arguments: "timing=on". Enter ".help" for help -D .timer on -D CREATE TABLE hits AS SELECT * FROM parquet_scan('hits.parquet'); -Run Time: real 315.828 user 447.896000 sys 126.552000 -D SELECT count(*) FROM hits; -30), sum(ResolutionWidth + ┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 100000000 │ -└──────────────┘ -Run Time: real 0.189 user 0.172000 sys 0.000000 -D SELECT count(*) FROM hits WHERE AdvEngineID != 0;t -┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 630535 │ -└──────────────┘ -Run Time: real 0.063 user 0.420000 sys 0.008000 -D SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits;( -┌──────────────────┬──────────────┬──────────────────────┐ -│ sum(advengineid) │ count_star() │ avg(resolutionwidth) │ -├──────────────────┼──────────────┼──────────────────────┤ -│ 7280824 │ 100000000 │ 1513.48908394 │ -└──────────────────┴──────────────┴──────────────────────┘ -Run Time: real 0.097 user 0.744000 sys 0.116000 -D SELECT sum(UserID) FROM hits;s -┌────────────────────────┐ -│ sum(userid) │ -├────────────────────────┤ -│ 3.2306058694090605e+26 │ -└────────────────────────┘ -Run Time: real 0.095 user 0.684000 sys 0.012000 -D SELECT COUNT(DISTINCT UserID) FROM hits;+ -┌───────────────┐ -│ count(userid) │ -├───────────────┤ -│ 17630976 │ -└───────────────┘ -Run Time: real 10.279 user 10.520000 sys 2.380000 -D SELECT COUNT(DISTINCT SearchPhrase) FROM hits; -┌─────────────────────┐ -│ count(searchphrase) │ -├─────────────────────┤ -│ 6019589 │ -└─────────────────────┘ -Run Time: real 12.691 user 15.776000 sys 1.444000 -D SELECT min(EventDate), max(EventDate) FROM hits; -┌────────────────┬────────────────┐ -│ min(eventdate) │ max(eventdate) │ -├────────────────┼────────────────┤ -│ 15888 │ 15917 │ -└────────────────┴────────────────┘ -Run Time: real 0.119 user 0.608000 sys 0.020000 -D SELECT AdvEngineID, count(*) FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC;o -┌─────────────┬──────────────┐ -│ AdvEngineID │ count_star() │ -├─────────────┼──────────────┤ -│ 2 │ 404620 │ -│ 27 │ 113167 │ -│ 13 │ 45633 │ -│ 45 │ 38974 │ -│ 44 │ 9731 │ -│ 3 │ 6896 │ -│ 62 │ 5266 │ -│ 52 │ 3554 │ -│ 50 │ 938 │ -│ 28 │ 836 │ -│ 53 │ 350 │ -│ 25 │ 343 │ -│ 61 │ 158 │ -│ 21 │ 38 │ -│ 42 │ 20 │ -│ 16 │ 7 │ -│ 7 │ 3 │ -│ 22 │ 1 │ -└─────────────┴──────────────┘ -Run Time: real 0.050 user 0.608000 sys 0.164000 -D SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10; -┌──────────┬─────────┐ -│ RegionID │ u │ -├──────────┼─────────┤ -│ 229 │ 2845673 │ -│ 2 │ 1081016 │ -│ 208 │ 831676 │ -│ 169 │ 604583 │ -│ 184 │ 322661 │ -│ 158 │ 307152 │ -│ 34 │ 299479 │ -│ 55 │ 286525 │ -│ 107 │ 272448 │ -│ 42 │ 243181 │ -└──────────┴─────────┘ -Run Time: real 10.522 user 10.800000 sys 2.108000 -D SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10;o -┌──────────┬──────────────────┬──────────┬──────────────────────┬───────────────┐ -│ RegionID │ sum(advengineid) │ c │ avg(resolutionwidth) │ count(userid) │ -├──────────┼──────────────────┼──────────┼──────────────────────┼───────────────┤ -│ 229 │ 2078084 │ 18296430 │ 1506.0876750819696 │ 2845673 │ -│ 2 │ 441711 │ 6687708 │ 1479.8410618406187 │ 1081016 │ -│ 208 │ 285925 │ 4261945 │ 1285.260504769536 │ 831676 │ -│ 169 │ 100887 │ 3320286 │ 1465.90517142198 │ 604583 │ -│ 32 │ 81498 │ 1843721 │ 1538.0370495318978 │ 216010 │ -│ 34 │ 161779 │ 1792406 │ 1548.364990409539 │ 299479 │ -│ 184 │ 55526 │ 1755223 │ 1506.8102679830426 │ 322661 │ -│ 42 │ 108820 │ 1542771 │ 1587.1074287758845 │ 243181 │ -│ 107 │ 120470 │ 1516722 │ 1548.6039623609336 │ 272448 │ -│ 51 │ 98212 │ 1435598 │ 1579.8864215469791 │ 211505 │ -└──────────┴──────────────────┴──────────┴──────────────────────┴───────────────┘ -Run Time: real 12.087 user 13.296000 sys 2.408000 -D SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(MobilePhoneModel) > 0 GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -┌──────────────────┬─────────┐ -│ MobilePhoneModel │ u │ -├──────────────────┼─────────┤ -│ iPad │ 1090347 │ -│ iPhone │ 45758 │ -│ A500 │ 16046 │ -│ N8-00 │ 5565 │ -│ iPho │ 3300 │ -│ ONE TOUCH 6030A │ 2759 │ -│ GT-P7300B │ 1907 │ -│ 3110000 │ 1871 │ -│ GT-I9500 │ 1598 │ -│ eagle75 │ 1492 │ -└──────────────────┴─────────┘ -Run Time: real 2.262 user 5.536000 sys 0.564000 -D SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(MobilePhoneModel) > 0 GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -┌─────────────┬──────────────────┬────────┐ -│ MobilePhone │ MobilePhoneModel │ u │ -├─────────────┼──────────────────┼────────┤ -│ 1 │ iPad │ 931038 │ -│ 5 │ iPad │ 48385 │ -│ 6 │ iPad │ 29710 │ -│ 7 │ iPad │ 28391 │ -│ 118 │ A500 │ 16005 │ -│ 6 │ iPhone │ 14516 │ -│ 26 │ iPhone │ 13566 │ -│ 10 │ iPad │ 11433 │ -│ 32 │ iPad │ 9503 │ -│ 13 │ iPad │ 9417 │ -└─────────────┴──────────────────┴────────┘ -Run Time: real 2.487 user 6.048000 sys 0.412000 -D SELECT SearchPhrase, count(*) AS c FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchPhrase │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 70263 │ -│ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 34675 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 24579 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 21649 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 19703 │ -│ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 19195 │ -│ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 17284 │ -│ galaxy table │ 16746 │ -│ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 16620 │ -│ \xD1\x81\xD0\xBA\xD0\xBE\xD0\xBB\xD1\x8C\xD0\xBA\xD0\xBE \xD0\xBC\xD1\x8B\xD1\x... │ 12317 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 1.772 user 16.624000 sys 1.884000 -D SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;( -┌────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchPhrase │ u │ -├────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 23671 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 19738 │ -│ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 18394 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 17550 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 14599 │ -│ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 14529 │ -│ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 14197 │ -│ \xD1\x81\xD0\xBA\xD0\xBE\xD0\xBB\xD1\x8C\xD0\xBA\xD0\xBE \xD0\xBC\xD1\x8B\xD1\x... │ 9001 │ -│ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 8792 │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xB1\xD0\xB8\xD0\xBD\xD0\xB8\xD1\x80\xD0\xBE\xD0\xB... │ 7572 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 20.063 user 17.784000 sys 3.104000 -D SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;( -┌────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchEngineID │ SearchPhrase │ c │ -├────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ 2 │ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 46258 │ -│ 2 │ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 18871 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 16905 │ -│ 3 │ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 16748 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 14911 │ -│ 2 │ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 13716 │ -│ 2 │ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 13414 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 13105 │ -│ 3 │ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 12815 │ -│ 2 │ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 11946 │ -└────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 1.371 user 18.692000 sys 0.164000 -D SELECT UserID, count(*) FROM hits GROUP BY UserID ORDER BY count(*) DESC LIMIT 10;e -┌─────────────────────┬──────────────┐ -│ UserID │ count_star() │ -├─────────────────────┼──────────────┤ -│ 1313338681122956954 │ 29097 │ -│ 1907779576417363396 │ 25333 │ -│ 2305303682471783379 │ 10611 │ -│ 7982623143712728547 │ 7584 │ -│ 6018350421959114808 │ 6678 │ -│ 7280399273658728997 │ 6411 │ -│ 1090981537032625727 │ 6197 │ -│ 5730251990344211405 │ 6019 │ -│ 835157184735512989 │ 5211 │ -│ 770542365400669095 │ 4906 │ -└─────────────────────┴──────────────┘ -Run Time: real 1.016 user 12.592000 sys 0.120000 -D SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10;i -┌─────────────────────┬──────────────┬──────────────┐ -│ UserID │ SearchPhrase │ count_star() │ -├─────────────────────┼──────────────┼──────────────┤ -│ 1313338681122956954 │ │ 29097 │ -│ 1907779576417363396 │ │ 25333 │ -│ 2305303682471783379 │ │ 10611 │ -│ 7982623143712728547 │ │ 6669 │ -│ 7280399273658728997 │ │ 6408 │ -│ 1090981537032625727 │ │ 6196 │ -│ 5730251990344211405 │ │ 6019 │ -│ 6018350421959114808 │ │ 5990 │ -│ 835157184735512989 │ │ 5209 │ -│ 770542365400669095 │ │ 4906 │ -└─────────────────────┴──────────────┴──────────────┘ -Run Time: real 3.555 user 29.324000 sys 3.220000 -D SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10; -(┌──────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬──────────────┐ -│ UserID │ SearchPhrase │ count_star() │ -├──────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼──────────────┤ -│ 1429668226731527516 │ │ 10 │ -│ 7090682690943997576 │ │ 9 │ -│ 581931296369147468 │ │ 28 │ -│ 1303966184265002832 │ │ 3 │ -│ 3410567899957317285 │ │ 1 │ -│ 1144785580888361492 │ │ 2 │ -│ 8350014103248889436 │ │ 4 │ -│ 2765306422664525607 │ │ 1 │ -│ 1499056669116975597 │ \xD1\x85\xD0\xBE\xD1\x81\xD1\x82\xD1\x8C \xD0\xBE\xD0\xBD\xD0\xBB\xD0\xB0\xD0\x... │ 1 │ -│ 16159576947204565573 │ │ 79 │ -└──────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴──────────────┘ -Run Time: real 2.360 user 30.528000 sys 1.528000 -D SELECT UserID, extract(minute FROM (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) AS m, SearchPhrase, count(*) FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -┌─────────────────────┬────┬──────────────┬──────────────┐ -│ UserID │ m │ SearchPhrase │ count_star() │ -├─────────────────────┼────┼──────────────┼──────────────┤ -│ 1313338681122956954 │ 31 │ │ 589 │ -│ 1313338681122956954 │ 28 │ │ 578 │ -│ 1313338681122956954 │ 29 │ │ 572 │ -│ 1313338681122956954 │ 33 │ │ 567 │ -│ 1313338681122956954 │ 27 │ │ 557 │ -│ 1313338681122956954 │ 32 │ │ 554 │ -│ 1313338681122956954 │ 30 │ │ 552 │ -│ 1313338681122956954 │ 34 │ │ 546 │ -│ 1313338681122956954 │ 26 │ │ 540 │ -│ 1313338681122956954 │ 10 │ │ 539 │ -└─────────────────────┴────┴──────────────┴──────────────┘ -Run Time: real 8.635 user 52.720000 sys 1.648000 -D SELECT UserID FROM hits WHERE UserID = 12345678901234567890; -Run Time: real 0.257 user 0.256000 sys 0.000000 -D SELECT count(*) FROM hits WHERE URL::TEXT LIKE '%metrika%';e -┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 211 │ -└──────────────┘ -Run Time: real 7.228 user 46.668000 sys 0.300000 -D SELECT SearchPhrase, min(URL), count(*) AS c FROM hits WHERE URL::TEXT LIKE '%metrika%' AND octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;u -┌────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───┐ -│ SearchPhrase │ min(url) │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───┤ -│ \xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD0\xB2\xD1\x8B\xD0\xB5 \xD0\xB4\xD0\xBE\xD1\x... │ http://smeshariki.ru/index.ua/auto.ria.ua/change=0&s_yers=0&with_video.yandex.u... │ 1 │ -│ \xD1\x80\xD0\xB5\xD1\x86\xD0\xB5\xD0\xBF\xD1\x82 │ http://smeshariki.ru/index.ua/search/metrikanske-urali-belorussia/28.html?1=1&c... │ 1 │ -│ \xD0\xBE\xD0\xBA\xD0\xB5\xD0\xB0\xD0\xBD\xD1\x81\xD0\xBA\xD0\xBE\xD0\xB5 \xD1\x... │ http://bdsmpeople.ru/index.ru/metrikadeletedAutoSearch │ 1 │ -│ \xD0\xB8\xD1\x89\xD1\x83 \xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD1\x82\xD0\xB0 \xD0\... │ http://smeshariki.ru/index.ua/advanceForce.1primea/forum=1&district=25586/page4... │ 1 │ -│ \xD0\xB4\xD0\xB8\xD0\xBD\xD0\xB0 \xD0\xB2\xD0\xB0\xD0\xBA\xD0\xB0\xD0\xBD\xD1\x... │ http://ecrn.ru/personal/gost277572,9589&pt=b&pd=8&pw=2&page3/?state=0&damages/0... │ 1 │ -│ \xD0\xBC\xD1\x8B\xD1\x81\xD0\xBB \xD0\xBF\xD0\xB5\xD1\x81\xD0\xB5\xD0\xBD \xD1\... │ http://smeshariki.ru/a-folder=cmarka=15&sort=&sll=36872/metrika/frl-2/bage-all/... │ 1 │ -│ \xD0\xB2\xD0\xB8\xD0\xB4\xD0\xB5\xD0\xBE \xD1\x82\xD0\xB0\xD0\xBA\xD0\xBE\xD0\x... │ http://maximum_438424&pvno=2&evlg=VC,0;VL,628;IC,1653-82676212&op_page=0&door=0... │ 1 │ -│ \xD1\x82\xD0\xB5\xD0\xBA\xD1\x81\xD1\x82\xD1\x8B \xD0\xBF\xD0\xBE\xD0\xB4\xD1\x... │ http://bdsmpeople.ru/index.ru/metrikadeletedAutoSearch │ 1 │ -│ \xD0\xBA\xD0\xBE\xD1\x88\xD0\xBA\xD1\x83 \xD1\x81\xD0\xB7\xD0\xB0\xD0\xBE \xD1\... │ http://bdsmpeople.ru/index.ru/metrikadeletedAutoSearch │ 1 │ -│ \xD1\x82\xD1\x80\xD1\x83\xD0\xB4\xD0\xB0 \xD0\xB4\xD0\xBB\xD1\x8F \xD0\xB2\xD1\... │ http://smeshariki.ru/recipes/sadovka.ru/gorod55.ru/search?text=\xD0\xB8\xD0\xB7... │ 1 │ -└────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───┘ -Run Time: real 0.829 user 13.020000 sys 0.000000 -D count(*) AS c, COUNT(DISTINCT UserID) FROM hits WHERE Title::TEXT LIKE '%Яндекс%' AND URL::TEXT NOT LIKE '%.yandex.%' AND octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;( -Run Time: real 7.200 user 22.172000 sys 0.560000 -D SELECT * FROM hits WHERE URL::TEXT LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -┌─────────────────────┬────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┬────────────┬───────────┬───────────┬────────────┬──────────┬─────────────────────┬──────────────┬─────┬───────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬─────────┬───────────────────┬─────────────────┬───────────────┬─────────────┬─────────────────┬──────────────────┬─────────────────┬────────────┬────────────┬─────────────┬──────────┬──────────┬────────────────┬────────────────┬──────────────┬──────────────────┬──────────┬─────────────┬──────────────────┬────────┬─────────────┬────────────────┬────────────────┬──────────────┬─────────────┬─────────────┬───────────────────┬────────────────────┬────────────────┬─────────────────┬─────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┬──────────────────────┬─────────────┬────────┬────────────┬─────────────┬─────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┬──────────────┬─────────┬─────────────┬───────────────┬──────────┬──────────┬────────────────┬─────┬─────┬────────┬───────────┬───────────┬────────────┬────────────┬────────────┬───────────────┬─────────────────┬────────────────┬───────────────┬──────────────┬───────────┬────────────┬───────────┬───────────────┬─────────────────────┬───────────────────┬─────────────┬───────────────────────┬──────────────────┬────────────┬──────────────┬───────────────┬─────────────────┬─────────────────────┬────────────────────┬──────────────┬──────────────────┬───────────┬───────────┬─────────────┬────────────┬─────────┬─────────┬──────────┬──────────────────────┬──────────────────────┬──────┐ -│ WatchID │ JavaEnable │ Title │ GoodEvent │ EventTime │ EventDate │ CounterID │ ClientIP │ RegionID │ UserID │ CounterClass │ OS │ UserAgent │ URL │ Referer │ Refresh │ RefererCategoryID │ RefererRegionID │ URLCategoryID │ URLRegionID │ ResolutionWidth │ ResolutionHeight │ ResolutionDepth │ FlashMajor │ FlashMinor │ FlashMinor2 │ NetMajor │ NetMinor │ UserAgentMajor │ UserAgentMinor │ CookieEnable │ JavascriptEnable │ IsMobile │ MobilePhone │ MobilePhoneModel │ Params │ IPNetworkID │ TraficSourceID │ SearchEngineID │ SearchPhrase │ AdvEngineID │ IsArtifical │ WindowClientWidth │ WindowClientHeight │ ClientTimeZone │ ClientEventTime │ SilverlightVersion1 │ SilverlightVersion2 │ SilverlightVersion3 │ SilverlightVersion4 │ PageCharset │ CodeVersion │ IsLink │ IsDownload │ IsNotBounce │ FUniqID │ OriginalURL │ HID │ IsOldCounter │ IsEvent │ IsParameter │ DontCountHits │ WithHash │ HitColor │ LocalEventTime │ Age │ Sex │ Income │ Interests │ Robotness │ RemoteIP │ WindowName │ OpenerName │ HistoryLength │ BrowserLanguage │ BrowserCountry │ SocialNetwork │ SocialAction │ HTTPError │ SendTiming │ DNSTiming │ ConnectTiming │ ResponseStartTiming │ ResponseEndTiming │ FetchTiming │ SocialSourceNetworkID │ SocialSourcePage │ ParamPrice │ ParamOrderID │ ParamCurrency │ ParamCurrencyID │ OpenstatServiceName │ OpenstatCampaignID │ OpenstatAdID │ OpenstatSourceID │ UTMSource │ UTMMedium │ UTMCampaign │ UTMContent │ UTMTerm │ FromTag │ HasGCLID │ RefererHash │ URLHash │ CLID │ -├─────────────────────┼────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┼────────────┼───────────┼───────────┼────────────┼──────────┼─────────────────────┼──────────────┼─────┼───────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼─────────┼───────────────────┼─────────────────┼───────────────┼─────────────┼─────────────────┼──────────────────┼─────────────────┼────────────┼────────────┼─────────────┼──────────┼──────────┼────────────────┼────────────────┼──────────────┼──────────────────┼──────────┼─────────────┼──────────────────┼────────┼─────────────┼────────────────┼────────────────┼──────────────┼─────────────┼─────────────┼───────────────────┼────────────────────┼────────────────┼─────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼──────────────────────┼─────────────┼────────┼────────────┼─────────────┼─────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┼──────────────┼─────────┼─────────────┼───────────────┼──────────┼──────────┼────────────────┼─────┼─────┼────────┼───────────┼───────────┼────────────┼────────────┼────────────┼───────────────┼─────────────────┼────────────────┼───────────────┼──────────────┼───────────┼────────────┼───────────┼───────────────┼─────────────────────┼───────────────────┼─────────────┼───────────────────────┼──────────────────┼────────────┼──────────────┼───────────────┼─────────────────┼─────────────────────┼────────────────────┼──────────────┼──────────────────┼───────────┼───────────┼─────────────┼────────────┼─────────┼─────────┼──────────┼──────────────────────┼──────────────────────┼──────┤ -│ 9008228978173248400 │ 1 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372714203 │ 15888 │ 46429 │ 1741285710 │ 208 │ 727970985383478408 │ 0 │ 2 │ 2 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ http://smeshariki.ru/page%3D%26ev_n%3Dtvor_3_4 │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 1638 │ 1658 │ 37 │ 14 │ 0 │ 700.22 │ 0 │ 0 │ 15 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 2349927 │ -1 │ 0 │ │ 0 │ 0 │ 1844 │ 888 │ 135 │ 1372711075 │ 3 │ 0 │ 29241 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 0 │ │ 926364569 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372755313 │ 31 │ 1 │ 0 │ 0 │ 0 │ 1985697352 │ 13001 │ -1 │ 22 │ vG │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 16989158750233735299 │ 2619784076535420345 │ 0 │ -│ 7319686668886932386 │ 0 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372742048 │ 15888 │ 46429 │ 675534320 │ 208 │ 1167829038705361511 │ 0 │ 45 │ 1 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ http://smeshariki.ru/page=6&sqi=2&ved=0CC0QFjAA │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 280 │ 733 │ 0 │ 0 │ 0 │ │ 0 │ 0 │ 4 │ sO │ 1 │ 1 │ 1 │ 0 │ │ │ 1444853 │ -1 │ 0 │ │ 0 │ 0 │ 997 │ 800 │ 623 │ 1372713898 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 4655941889681510909 │ │ 721190565 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372747193 │ 31 │ 2 │ 3 │ 717 │ 0 │ 2935426383 │ 22084 │ -1 │ 1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 11629579472615090596 │ 2619784076535420345 │ 0 │ -│ 5650132582613869356 │ 0 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372742083 │ 15888 │ 46429 │ 675534320 │ 208 │ 1167829038705361511 │ 0 │ 45 │ 1 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ http://smeshariki.ru/page=6&sqi=2&ved=0CC0QFjAA │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 280 │ 733 │ 0 │ 0 │ 0 │ │ 0 │ 0 │ 4 │ D\xE0 │ 1 │ 1 │ 1 │ 0 │ │ │ 1444853 │ -1 │ 0 │ │ 0 │ 0 │ 997 │ 800 │ 623 │ 1372713960 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 4655941889681510909 │ │ 721255326 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372747245 │ 31 │ 2 │ 3 │ 717 │ 0 │ 2935426383 │ 64225 │ -1 │ 1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 11629579472615090596 │ 2619784076535420345 │ 0 │ -│ 6211862319117980382 │ 0 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372744794 │ 15888 │ 46429 │ 1384976586 │ 208 │ 45205883125357727 │ 0 │ 8 │ 1 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ │ 0 │ 0 │ 0 │ 9911 │ 216 │ 475 │ 368 │ 0 │ 0 │ 0 │ │ 0 │ 0 │ 7 │ D\xE0 │ 1 │ 1 │ 1 │ 0 │ │ │ 3195177 │ 0 │ 0 │ │ 0 │ 0 │ 412 │ 286 │ 135 │ 1372732810 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 7015666733105959947 │ │ 641313121 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372774931 │ 28 │ 1 │ 2 │ 1 │ 0 │ 1889444196 │ 44835 │ -1 │ 0 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 18150585289071012696 │ 2619784076535420345 │ 0 │ -│ 8127216893234548048 │ 0 │ \xD0\xA2\xD0\xBE\xD0\xBB\xD1\x81\xD1\x82\xD1\x83\xD1\x85\xD1\x83, \xD0\xB5\xD1\... │ 1 │ 1372752539 │ 15888 │ 46429 │ 1237806922 │ 208 │ 750085446646698731 │ 0 │ 2 │ 3 │ http://smeshariki.ru/used/99114578622-14406072,9269587/roometrika/?page=7&pw=2&... │ http://smeshariki.ru/page=11956bd3f5ba-bolshiient │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 1081 │ 979 │ 23 │ 15 │ 7 │ 700 │ 0 │ 0 │ 17 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 2914423 │ -1 │ 0 │ │ 0 │ 0 │ 1434 │ 739 │ 623 │ 1372781865 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 5496132257355632424 │ │ 983272850 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372760187 │ 50 │ 2 │ 2 │ 60 │ 18 │ 1113465640 │ 60610 │ -1 │ 29 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 194 │ 1631 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 13570011243001147277 │ 11339053197878713733 │ 0 │ -│ 5016976626924998727 │ 1 │ Toyota \xD1\x80\xD1\x83\xD0\xBA\xD0\xB0\xD0\xBB\xD1\x8B \xD0\xB4\xD0\xBB\xD1\x8... │ 1 │ 1372758784 │ 15888 │ 5645 │ 3888153915 │ 107 │ 4058808124307537573 │ 1 │ 2 │ 88 │ http:%2F%2Fwwww.bonprix.ru&pvid=131&op_products/transformality.pulsceness/01-me... │ http://forum.amur.info/node/12451180167540 │ 0 │ 10868 │ 635 │ 16361 │ 943 │ 1638 │ 777 │ 37 │ 15 │ 7 │ 700 │ 0 │ 0 │ 1 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 2726799 │ -1 │ 0 │ │ 0 │ 0 │ 1509 │ 618 │ 135 │ 1372835656 │ 0 │ 0 │ 0 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 6227398498798751865 │ │ 255959698 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372763371 │ 31 │ 1 │ 3 │ 3555 │ 13 │ 4006630121 │ -1 │ -1 │ -1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 10333931216342739575 │ 10009133566342666602 │ 0 │ -│ 4963765960745323978 │ 0 │ \xD0\x93\xD0\x90\xD0\x97 (ZAZ) 5403J \xE2\x80\x93 \xD0\xA4\xD0\xB8\xD0\xBB\xD1\... │ 1 │ 1372793626 │ 15888 │ 46429 │ 2063319617 │ 23967 │ 5283184799411504286 │ 0 │ 44 │ 2 │ http://smeshariki.ru/userId=0&matched_car=Volkswagency=1&p=8090/roometrika/?pag... │ http://smeshariki.ru/smsarhiv/num/33363634383294&lr=66&v6s=2&bodystyle │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 1996 │ 1781 │ 37 │ 15 │ 7 │ 700 │ 0 │ 0 │ 10 │ nA │ 1 │ 1 │ 0 │ 0 │ │ │ 4110783 │ -1 │ 0 │ │ 0 │ 0 │ 1551 │ 955 │ 291 │ 1372730435 │ 7 │ 1 │ 9577 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 8904020920948834668 │ │ 883138215 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372777308 │ 22 │ 2 │ 2 │ 11339 │ 18 │ 2136940575 │ 1653 │ -1 │ 1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 18276268115953212999 │ 9484754903086635093 │ 0 │ -│ 6284148982888572412 │ 1 │ Morskoj port \xE2\x80\x93 \xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD1\x82\xD1\... │ 1 │ 1372795222 │ 15889 │ 3922 │ 2460998382 │ 40 │ 1643466856862289966 │ 1 │ 44 │ 7 │ http://moikrug.ru/message-12-kak-pravdorubovnik_metrika-info.php?f=23&prr │ http://diary.ru/GameMain.aspx?d=1412&lr=75&mode=photo/login=igorod.irr.ru/i6102... │ 0 │ 306 │ 29199 │ 92 │ 247 │ 1368 │ 554 │ 37 │ 15 │ 7 │ 800.94 │ 0 │ 0 │ 12 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 1166094 │ 1 │ 0 │ │ 0 │ 0 │ 1253 │ 642 │ 135 │ 1372799147 │ 4 │ 1 │ 16561 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 7061143530822060136 │ │ 699865379 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372810401 │ 31 │ 2 │ 3 │ 6 │ 0 │ 3849445958 │ -1 │ -1 │ -1 │ S0 │ h1 │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 14060834305267311691 │ 1791983733815963315 │ 0 │ -│ 6024648629746505393 │ 0 │ \xD0\x9F\xD0\xBE\xD0\xB3\xD1\x80\xD0\xB5\xD0\xB2\xD0\xB0\xD1\x82\xD0\xB5\xD0\xB... │ 1 │ 1372795271 │ 15889 │ 1200 │ 2932550360 │ 208 │ 1578473929930714515 │ 1 │ 107 │ 82 │ http://afisha.yandex.ru/real-estate/out-of-town/household_app_metrika.ru/wildbe... │ http://ad.adrive_type_id=1959251&stUrl%3Dpopular/kw/306161&lr=1418][to]=&input_... │ 0 │ 15265 │ 19757 │ 8953 │ 32252 │ 958 │ 1871 │ 37 │ 0 │ 0 │ │ 0 │ 0 │ 3 │ D\xE0 │ 1 │ 1 │ 1 │ 6 │ │ │ 4010641 │ -1 │ 0 │ │ 0 │ 0 │ 521 │ 1803 │ -1 │ 1372870507 │ 0 │ 0 │ 0 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 0 │ http://b.kavanga.ru/tags/%FD%ED%FB%E2%F3%E6%E5%E6%ED%E8%ED%F1%FF%ED&ti=%D0%BD%D... │ 120241233 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372842094 │ 0 │ 0 │ 0 │ 0 │ 0 │ 3975911785 │ -1 │ -1 │ -1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 9685011611637290144 │ 5941547189901908071 │ 0 │ -│ 4857420640250996887 │ 1 │ Suzuki Escort 4* (\xD0\xA4\xD1\x80\xD0\xB0\xD0\xBD\xD1\x86\xD1\x8B 3 \xD1\x81\x... │ 1 │ 1372800737 │ 15889 │ 3922 │ 3201307115 │ 190 │ 7335986183190726964 │ 1 │ 44 │ 88 │ http://pova-ul-mir.irr.ru/search.php?gidcar=37408&uuid=1&bc=3&city=0&pv=20&s_ye... │ http://news/238/~6/?cauth=1&av=1&nm=1&ms=1,2/currency=RUR/page_num_id=15366563&... │ 0 │ 306 │ 144 │ 304 │ 132 │ 1368 │ 554 │ 37 │ 15 │ 4 │ 202 │ 0 │ 0 │ 1 │ fi │ 1 │ 1 │ 0 │ 0 │ │ │ 2311071 │ -1 │ 0 │ │ 0 │ 0 │ 1333 │ 924 │ 322 │ 1372840359 │ 4 │ 1 │ 16561 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 7659179697273795837 │ │ 232010762 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372866397 │ 31 │ 2 │ 2 │ 3658 │ 28 │ 2920265313 │ -1 │ -1 │ -1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 8839345929686869081 │ 5449259806403761803 │ 0 │ -└─────────────────────┴────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┴────────────┴───────────┴───────────┴────────────┴──────────┴─────────────────────┴──────────────┴─────┴───────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴─────────┴───────────────────┴─────────────────┴───────────────┴─────────────┴─────────────────┴──────────────────┴─────────────────┴────────────┴────────────┴─────────────┴──────────┴──────────┴────────────────┴────────────────┴──────────────┴──────────────────┴──────────┴─────────────┴──────────────────┴────────┴─────────────┴────────────────┴────────────────┴──────────────┴─────────────┴─────────────┴───────────────────┴────────────────────┴────────────────┴─────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴──────────────────────┴─────────────┴────────┴────────────┴─────────────┴─────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┴──────────────┴─────────┴─────────────┴───────────────┴──────────┴──────────┴────────────────┴─────┴─────┴────────┴───────────┴───────────┴────────────┴────────────┴────────────┴───────────────┴─────────────────┴────────────────┴───────────────┴──────────────┴───────────┴────────────┴───────────┴───────────────┴─────────────────────┴───────────────────┴─────────────┴───────────────────────┴──────────────────┴────────────┴──────────────┴───────────────┴─────────────────┴─────────────────────┴────────────────────┴──────────────┴──────────────────┴───────────┴───────────┴─────────────┴────────────┴─────────┴─────────┴──────────┴──────────────────────┴──────────────────────┴──────┘ -Run Time: real 36.001 user 164.452000 sys 5.964000 -D SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY EventTime LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ \xD1\x81\xD0\xB8\xD0\xBC\xD0\xBF\xD1\x82\xD0\xBE\xD0\xBC\xD1\x8B \xD1\x80\xD0\x... │ -│ galaxy s4 zoom \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC │ -│ \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC \xD0\xBD\xD0\xB5\xD0\xB1\xD0\xBE\xD0\x... │ -│ \xD0\xBD\xD0\xBE\xD1\x87\xD0\xBD\xD0\xBE \xD0\xBA\xD0\xB8\xD1\x82\xD0\xB0\xD1\x... │ -│ \xD0\xB0\xD0\xB2\xD0\xBE\xD0\xBC \xD0\xBA\xD0\xBE\xD0\xBD\xD1\x81\xD1\x82\xD0\x... │ -│ \xD0\xB1\xD1\x80\xD0\xB8\xD1\x82\xD0\xB0 \xD0\xB3\xD0\xB0\xD0\xBD\xD0\xB0\xD0\x... │ -│ \xD1\x81\xD0\xBB\xD0\xBE\xD0\xBD.\xD1\x80\xD1\x83\xD0\xB1., \xD0\xB4. \xD0\xB0.... │ -│ \xD1\x80\xD0\xB0\xD1\x81\xD0\xBF\xD0\xB8\xD1\x81\xD0\xB0\xD0\xBD\xD0\xB8\xD0\xB... │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ -│ \xD0\xBE\xD1\x82\xD0\xB4\xD1\x8B\xD1\x85\xD0\xB0 \xD1\x87\xD0\xB5\xD0\xBC \xD0\... │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 0.255 user 3.820000 sys 0.172000 -D SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY SearchPhrase LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ ! hektdf gjcgjhn conster │ -│ ! \xD1\x81\xD0\xBA\xD0\xB0\xD1\x80\xD0\xBF │ -│ !(\xD0\xBA\xD0\xB0\xD0\xBA \xD0\xB2\xD0\xBE\xD1\x80\xD0\xBE\xD0\xBD\xD0\xB8 │ -│ !(\xD0\xBF\xD0\xBE \xD0\xB3\xD0\xBE\xD1\x80\xD0\xB8\xD1\x8E \xD0\xB2 \xD1\x8F\x... │ -│ !(\xD1\x81) \xD0\xBF\xD1\x80\xD0\xBE \xD0\xB4\xD0\xBF\xD0\xBE \xD1\x81\xD0\xB5\... │ -│ !(\xD1\x81\xD0\xB0\xD0\xBB\xD0\xBE\xD0\xBD\xD1\x8B \xD0\xBE\xD1\x81\xD1\x82\xD0... │ -│ !(\xD1\x81\xD1\x82\xD0\xB0\xD1\x80\xD1\x82\xD0\xB5\xD1\x80 rav4 \xD1\x82\xD1\x8... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD0\xB4\xD0\xBB\xD1\x8F \xD0\xBC\xD1\x8F\xD1... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD0\xBC\xD0\xB0\xD1\x83\xD1\x81 \xD0\xBA\xD0... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD1\x81\xD0\xB5\xD1\x80\xD0\xB8\xD0\xB8 │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 0.251 user 3.676000 sys 0.104000 -D SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY EventTime, SearchPhrase LIMIT 10; -D┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ galaxy s4 zoom \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC │ -│ \xD0\xBD\xD0\xBE\xD1\x87\xD0\xBD\xD0\xBE \xD0\xBA\xD0\xB8\xD1\x82\xD0\xB0\xD1\x... │ -│ \xD1\x81\xD0\xB8\xD0\xBC\xD0\xBF\xD1\x82\xD0\xBE\xD0\xBC\xD1\x8B \xD1\x80\xD0\x... │ -│ \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC \xD0\xBD\xD0\xB5\xD0\xB1\xD0\xBE\xD0\x... │ -│ \xD0\xB0\xD0\xB2\xD0\xBE\xD0\xBC \xD0\xBA\xD0\xBE\xD0\xBD\xD1\x81\xD1\x82\xD0\x... │ -│ \xD0\xB0\xD0\xBD\xD0\xB0\xD0\xBF\xD0\xB0 \xD0\xBE\xD0\xBF\xD0\xB5\xD1\x80\xD0\x... │ -│ \xD0\xB1\xD1\x80\xD0\xB8\xD1\x82\xD0\xB0 \xD0\xB3\xD0\xB0\xD0\xBD\xD0\xB0\xD0\x... │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ -│ \xD0\xBE\xD1\x82\xD0\xB4\xD1\x8B\xD1\x85\xD0\xB0 \xD1\x87\xD0\xB5\xD0\xBC \xD0\... │ -│ \xD1\x80\xD0\xB0\xD1\x81\xD0\xBF\xD0\xB8\xD1\x81\xD0\xB0\xD0\xBD\xD0\xB8\xD0\xB... │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 0.232 user 3.660000 sys 0.000000 -D SELECT CounterID, avg(octet_length(URL)) AS l, count(*) AS c FROM hits WHERE octet_length(URL) > 0 GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;L -┌───────────┬────────────────────┬─────────┐ -│ CounterID │ l │ c │ -├───────────┼────────────────────┼─────────┤ -│ 233773 │ 469.18537326484886 │ 2938865 │ -│ 245438 │ 271.7892512777364 │ 2510103 │ -│ 122612 │ 238.64530987208474 │ 3574007 │ -│ 234004 │ 204.28793262381632 │ 238660 │ -│ 1634 │ 197.83321731651554 │ 323229 │ -│ 786 │ 186.75537634408602 │ 120528 │ -│ 114157 │ 142.91881538575285 │ 216408 │ -│ 515 │ 126.22860040706026 │ 146907 │ -│ 256004 │ 125.37108455074805 │ 858171 │ -│ 95427 │ 120.26856903175477 │ 374306 │ -│ 199550 │ 109.81720498866335 │ 7115413 │ -│ 220992 │ 105.85666196266179 │ 494614 │ -│ 196239 │ 98.34882201749727 │ 163797 │ -│ 62 │ 93.15981711034343 │ 738150 │ -│ 96948 │ 92.74321182146618 │ 396093 │ -│ 188878 │ 91.98308322489247 │ 311998 │ -│ 249603 │ 91.88026594639518 │ 120325 │ -│ 3922 │ 87.83856410684609 │ 8527069 │ -│ 191697 │ 86.95776647628826 │ 124664 │ -│ 97467 │ 84.2953696503987 │ 131178 │ -│ 186300 │ 83.97258027738701 │ 802561 │ -│ 146891 │ 77.77430173504756 │ 605286 │ -│ 38 │ 76.43757015971798 │ 507770 │ -│ 230962 │ 76.3127707226559 │ 169223 │ -│ 77639 │ 75.38681923602442 │ 253961 │ -└───────────┴────────────────────┴─────────┘ -Run Time: real 0.443 user 6.476000 sys 0.504000 -D //(?:www\.)?([^/]+)/.*$', '\1') AS key, avg(octet_length(Referer)) AS l, count(*) AS c, min(Referer) FROM hits WHERE octet_length(Referer) > 0 GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;E -┌────────────────────────────────────────────────────────────────────────┬────────────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────┐ -│ key │ l │ c │ min(referer) │ -├────────────────────────────────────────────────────────────────────────┼────────────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────┤ -│ svpressa.ru │ 307.980979437341 │ 242527 │ http://svpressa.ru/ │ -│ msuzie-showforumdisplay │ 263.327228380409 │ 183676 │ http://msuzie-showforumdisplay/63/~2/?name=&cost_neu%3D400%26retpath=default777... │ -│ saint-peters-total=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 80 │ 242.5236948271821 │ 200529 │ http://saint-peters-total=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 80/c... │ -│ domics │ 212.92990978061542 │ 326094 │ http://domics/825179.11931861234499792 │ -│ e96.ru │ 210.09628206687884 │ 1019276 │ http://e96.ru/%3Ffrom]=&input_act[count_num=0&dff=arian-carrina1201517&cad=rjt&... │ -│ gadgets.irr.ru │ 131.9597008950273 │ 349710 │ https://gadgets.irr.ru/2jmj7l5rSw0yVb │ -│ google.ru │ 109.24485253818524 │ 2158491 │ http://google.ru/ │ -│ go.mail │ 108.63930572737723 │ 8228007 │ http://go.mail/04/detskaia-moda-zhiensmed │ -│ msouz.ru │ 106.10887286512423 │ 301774 │ http://msouz.ru/?ffshop │ -│ state=19945206 │ 105.6469046513171 │ 512414 │ http://state=19945206/foto-4/login%20NoTs3M&where=all&filmId=u8aGGqtWs3M&where=... │ -│ loveplanet.ru │ 104.60136383347789 │ 461200 │ http://loveplanet.ru/%3Faw_opel/page=2013 │ -│ bonprix.ru │ 104.41683309557774 │ 1125105 │ http://bonprix.ru/ │ -│ novjob.ru │ 96.75331644732393 │ 133049 │ http://novjob.ru/ │ -│ cn.ru │ 95.63198716663325 │ 124675 │ http://cn.ru/GameMain.aspx#catalog/100523&tails.xml?market_pc.html?pid=9403&lr=... │ -│ geomethiettai.ru │ 94.78816556817006 │ 115916 │ https://geomethiettai.ru/GameMain.aspx?group=houses/list=266559j7077&num=7&prun... │ -│ kino │ 90.27628829938655 │ 120139 │ http://kino/6/21/2/women.asp?whichpage4/#oversion=unreadm&uid │ -│ yaroslavens.ru │ 90.17077281117085 │ 124610 │ http://yaroslavens.ru/main.aspx#catalog%2F1004-1100000147-otvet/actions/disloca... │ -│ mysw.info │ 89.68684313159915 │ 984596 │ http://mysw.info/ │ -│ m.myloveplanet.ru │ 88.73233749439181 │ 151564 │ http://m.myloveplanet.ru/ │ -│ povarenok.ru │ 83.97395952020882 │ 144813 │ http://povarenok.ru/ │ -│ gorod │ 80.33107253811141 │ 110728 │ http://gorod/%3Fauto.ria.ua%2Fjob │ -│ yandsearch │ 80.21664430621621 │ 245970 │ http://www.yandsearch/rooms=1/page2 │ -│ myloveplanet.ru │ 80.08183067768715 │ 110582 │ http://myloveplanet.ru/#associety/auto │ -│ tambov.irr.ru │ 77.8650188064113 │ 315318 │ http://tambov.irr.ru/0/c1/tgFtaeLDK0yb01A7xvQF08sjCFqQxn51 │ -│ kurortmag.ru │ 75.74958779884584 │ 155264 │ http://kurortmag.ru/ │ -└────────────────────────────────────────────────────────────────────────┴────────────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 121.613 user 1864.148000 sys 2.320000 -D + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits; -┌──────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐ -│ sum(resolutionwidth) │ sum(resolutionwidth + 1) │ sum(resolutionwidth + 2) │ sum(resolutionwidth + 3) │ sum(resolutionwidth + 4) │ sum(resolutionwidth + 5) │ sum(resolutionwidth + 6) │ sum(resolutionwidth + 7) │ sum(resolutionwidth + 8) │ sum(resolutionwidth + 9) │ sum(resolutionwidth + 10) │ sum(resolutionwidth + 11) │ sum(resolutionwidth + 12) │ sum(resolutionwidth + 13) │ sum(resolutionwidth + 14) │ sum(resolutionwidth + 15) │ sum(resolutionwidth + 16) │ sum(resolutionwidth + 17) │ sum(resolutionwidth + 18) │ sum(resolutionwidth + 19) │ sum(resolutionwidth + 20) │ sum(resolutionwidth + 21) │ sum(resolutionwidth + 22) │ sum(resolutionwidth + 23) │ sum(resolutionwidth + 24) │ sum(resolutionwidth + 25) │ sum(resolutionwidth + 26) │ sum(resolutionwidth + 27) │ sum(resolutionwidth + 28) │ sum(resolutionwidth + 29) │ sum(resolutionwidth + 30) │ sum(resolutionwidth + 31) │ sum(resolutionwidth + 32) │ sum(resolutionwidth + 33) │ sum(resolutionwidth + 34) │ sum(resolutionwidth + 35) │ sum(resolutionwidth + 36) │ sum(resolutionwidth + 37) │ sum(resolutionwidth + 38) │ sum(resolutionwidth + 39) │ sum(resolutionwidth + 40) │ sum(resolutionwidth + 41) │ sum(resolutionwidth + 42) │ sum(resolutionwidth + 43) │ sum(resolutionwidth + 44) │ sum(resolutionwidth + 45) │ sum(resolutionwidth + 46) │ sum(resolutionwidth + 47) │ sum(resolutionwidth + 48) │ sum(resolutionwidth + 49) │ sum(resolutionwidth + 50) │ sum(resolutionwidth + 51) │ sum(resolutionwidth + 52) │ sum(resolutionwidth + 53) │ sum(resolutionwidth + 54) │ sum(resolutionwidth + 55) │ sum(resolutionwidth + 56) │ sum(resolutionwidth + 57) │ sum(resolutionwidth + 58) │ sum(resolutionwidth + 59) │ sum(resolutionwidth + 60) │ sum(resolutionwidth + 61) │ sum(resolutionwidth + 62) │ sum(resolutionwidth + 63) │ sum(resolutionwidth + 64) │ sum(resolutionwidth + 65) │ sum(resolutionwidth + 66) │ sum(resolutionwidth + 67) │ sum(resolutionwidth + 68) │ sum(resolutionwidth + 69) │ sum(resolutionwidth + 70) │ sum(resolutionwidth + 71) │ sum(resolutionwidth + 72) │ sum(resolutionwidth + 73) │ sum(resolutionwidth + 74) │ sum(resolutionwidth + 75) │ sum(resolutionwidth + 76) │ sum(resolutionwidth + 77) │ sum(resolutionwidth + 78) │ sum(resolutionwidth + 79) │ sum(resolutionwidth + 80) │ sum(resolutionwidth + 81) │ sum(resolutionwidth + 82) │ sum(resolutionwidth + 83) │ sum(resolutionwidth + 84) │ sum(resolutionwidth + 85) │ sum(resolutionwidth + 86) │ sum(resolutionwidth + 87) │ sum(resolutionwidth + 88) │ sum(resolutionwidth + 89) │ -├──────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤ -│ 151348908394 │ 151448908394 │ 151548908394 │ 151648908394 │ 151748908394 │ 151848908394 │ 151948908394 │ 152048908394 │ 152148908394 │ 152248908394 │ 152348908394 │ 152448908394 │ 152548908394 │ 152648908394 │ 152748908394 │ 152848908394 │ 152948908394 │ 153048908394 │ 153148908394 │ 153248908394 │ 153348908394 │ 153448908394 │ 153548908394 │ 153648908394 │ 153748908394 │ 153848908394 │ 153948908394 │ 154048908394 │ 154148908394 │ 154248908394 │ 154348908394 │ 154448908394 │ 154548908394 │ 154648908394 │ 154748908394 │ 154848908394 │ 154948908394 │ 155048908394 │ 155148908394 │ 155248908394 │ 155348908394 │ 155448908394 │ 155548908394 │ 155648908394 │ 155748908394 │ 155848908394 │ 155948908394 │ 156048908394 │ 156148908394 │ 156248908394 │ 156348908394 │ 156448908394 │ 156548908394 │ 156648908394 │ 156748908394 │ 156848908394 │ 156948908394 │ 157048908394 │ 157148908394 │ 157248908394 │ 157348908394 │ 157448908394 │ 157548908394 │ 157648908394 │ 157748908394 │ 157848908394 │ 157948908394 │ 158048908394 │ 158148908394 │ 158248908394 │ 158348908394 │ 158448908394 │ 158548908394 │ 158648908394 │ 158748908394 │ 158848908394 │ 158948908394 │ 159048908394 │ 159148908394 │ 159248908394 │ 159348908394 │ 159448908394 │ 159548908394 │ 159648908394 │ 159748908394 │ 159848908394 │ 159948908394 │ 160048908394 │ 160148908394 │ 160248908394 │ -└──────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┘ -Run Time: real 6.264 user 99.452000 sys 0.008000 -D SELECT SearchEngineID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -┌────────────────┬────────────┬──────┬──────────────┬──────────────────────┐ -│ SearchEngineID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├────────────────┼────────────┼──────┼──────────────┼──────────────────────┤ -│ 2 │ 1138507705 │ 1633 │ 35 │ 1408.0122473974282 │ -│ 2 │ 1740861572 │ 1331 │ 28 │ 1577.945905334335 │ -│ 2 │ 3487820196 │ 1144 │ 35 │ 1553.1984265734266 │ -│ 2 │ 3797060577 │ 1140 │ 36 │ 1543.4140350877192 │ -│ 2 │ 2349209741 │ 1105 │ 30 │ 1557.387330316742 │ -│ 2 │ 2424344199 │ 1102 │ 31 │ 1555.6588021778584 │ -│ 2 │ 3663904793 │ 1083 │ 31 │ 1581.8171745152354 │ -│ 2 │ 3829154130 │ 1082 │ 30 │ 1541.253234750462 │ -│ 2 │ 2551371145 │ 1080 │ 24 │ 1559.8092592592593 │ -│ 2 │ 4029049820 │ 1058 │ 32 │ 1556.2003780718337 │ -└────────────────┴────────────┴──────┴──────────────┴──────────────────────┘ -Run Time: real 0.996 user 13.080000 sys 0.064000 -D SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -┌─────────────────────┬────────────┬───┬──────────────┬──────────────────────┐ -│ WatchID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├─────────────────────┼────────────┼───┼──────────────┼──────────────────────┤ -│ 4623938834438874046 │ 3335652175 │ 2 │ 0 │ 1917.0 │ -│ 8570880866533920844 │ 2776099975 │ 2 │ 0 │ 1917.0 │ -│ 6816565865734300637 │ 3770216628 │ 2 │ 0 │ 2038.0 │ -│ 7411827807718521758 │ 2301434990 │ 2 │ 0 │ 1087.0 │ -│ 8423042978509451644 │ 2960255590 │ 2 │ 0 │ 1368.0 │ -│ 8672760597587433971 │ 1269590216 │ 2 │ 0 │ 1368.0 │ -│ 5851512534509153320 │ 3968091174 │ 2 │ 0 │ 1368.0 │ -│ 5191389486841953200 │ 1487376472 │ 2 │ 0 │ 1828.0 │ -│ 7726072175618541265 │ 1876840662 │ 2 │ 0 │ 1638.0 │ -│ 8425973212606442266 │ 3882647820 │ 2 │ 0 │ 1368.0 │ -└─────────────────────┴────────────┴───┴──────────────┴──────────────────────┘ -Run Time: real 2.661 user 16.820000 sys 0.380000 -D SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -┌─────────────────────┬────────────┬───┬──────────────┬──────────────────────┐ -│ WatchID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├─────────────────────┼────────────┼───┼──────────────┼──────────────────────┤ -│ 9204615339472918567 │ 2852648576 │ 2 │ 0 │ 1638.0 │ -│ 4831526837317665710 │ 4079908211 │ 2 │ 0 │ 1917.0 │ -│ 6588223849545190851 │ 1818568139 │ 2 │ 0 │ 1638.0 │ -│ 7068064253809492202 │ 1818568139 │ 2 │ 0 │ 1638.0 │ -│ 8472345177156920540 │ 1607181793 │ 2 │ 0 │ 1638.0 │ -│ 7154833339725729693 │ 2038096066 │ 2 │ 0 │ 508.0 │ -│ 7985169136791284011 │ 481976292 │ 2 │ 0 │ 1638.0 │ -│ 5261458931164052280 │ 481976292 │ 2 │ 0 │ 1638.0 │ -│ 8672760597587433971 │ 1269590216 │ 2 │ 0 │ 1368.0 │ -│ 4848145794958638974 │ 3938580212 │ 2 │ 0 │ 1638.0 │ -└─────────────────────┴────────────┴───┴──────────────┴──────────────────────┘ -Run Time: real 20.238 user 75.988000 sys 23.744000 -D SELECT URL, count(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬─────────┐ -│ URL │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼─────────┤ -│ http://liver.ru/belgorod/page/1006.j\xD0\xBA\xD0\xB8/\xD0\xB4\xD0\xBE\xD0\xBF_\... │ 3288173 │ -│ http://kinopoisk.ru │ 1625251 │ -│ http://bdsm_po_yers=0&with_video │ 791465 │ -│ http://video.yandex │ 582404 │ -│ http://smeshariki.ru/region │ 514984 │ -│ http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with │ 507995 │ -│ http://liver.ru/place_rukodel=365115eb7bbb90 │ 359893 │ -│ http://kinopoisk.ru/vladimir.irr.ru │ 354690 │ -│ http://video.yandex.ru/search/?jenre=50&s_yers │ 318979 │ -│ http://tienskaia-moda │ 289355 │ -└────────────────────────────────────────────────────────────────────────────────────┴─────────┘ -Run Time: real 12.508 user 54.784000 sys 2.344000 -D SELECT 1, URL, count(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -┌───┬────────────────────────────────────────────────────────────────────────────────────┬─────────┐ -│ 1 │ URL │ c │ -├───┼────────────────────────────────────────────────────────────────────────────────────┼─────────┤ -│ 1 │ http://liver.ru/belgorod/page/1006.j\xD0\xBA\xD0\xB8/\xD0\xB4\xD0\xBE\xD0\xBF_\... │ 3288173 │ -│ 1 │ http://kinopoisk.ru │ 1625251 │ -│ 1 │ http://bdsm_po_yers=0&with_video │ 791465 │ -│ 1 │ http://video.yandex │ 582404 │ -│ 1 │ http://smeshariki.ru/region │ 514984 │ -│ 1 │ http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with │ 507995 │ -│ 1 │ http://liver.ru/place_rukodel=365115eb7bbb90 │ 359893 │ -│ 1 │ http://kinopoisk.ru/vladimir.irr.ru │ 354690 │ -│ 1 │ http://video.yandex.ru/search/?jenre=50&s_yers │ 318979 │ -│ 1 │ http://tienskaia-moda │ 289355 │ -└───┴────────────────────────────────────────────────────────────────────────────────────┴─────────┘ -Run Time: real 4.310 user 59.804000 sys 0.172000 -D SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -┌────────────┬──────────────┬──────────────┬──────────────┬───────┐ -│ ClientIP │ clientip - 1 │ clientip - 2 │ clientip - 3 │ c │ -├────────────┼──────────────┼──────────────┼──────────────┼───────┤ -│ 4255045322 │ 4255045321 │ 4255045320 │ 4255045319 │ 47008 │ -│ 2596862839 │ 2596862838 │ 2596862837 │ 2596862836 │ 29121 │ -│ 3119147744 │ 3119147743 │ 3119147742 │ 3119147741 │ 25333 │ -│ 1696638182 │ 1696638181 │ 1696638180 │ 1696638179 │ 20230 │ -│ 1138507705 │ 1138507704 │ 1138507703 │ 1138507702 │ 15778 │ -│ 3367941774 │ 3367941773 │ 3367941772 │ 3367941771 │ 12768 │ -│ 3032827420 │ 3032827419 │ 3032827418 │ 3032827417 │ 11349 │ -│ 1740861572 │ 1740861571 │ 1740861570 │ 1740861569 │ 11315 │ -│ 3487820196 │ 3487820195 │ 3487820194 │ 3487820193 │ 9881 │ -│ 3663904793 │ 3663904792 │ 3663904791 │ 3663904790 │ 9718 │ -└────────────┴──────────────┴──────────────┴──────────────┴───────┘ -Run Time: real 2.423 user 32.668000 sys 0.276000 -D '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(URL) > 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -┌──────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├──────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 102341 │ -│ http://komme%2F27.0.1453.116 │ 51218 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18315 │ -│ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16461 │ -│ http://irr.ru/index.php │ 12577 │ -│ http://irr.ru/index.php?showalbum/login │ 10880 │ -│ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 7627 │ -│ http://irr.ru/index.php?showalbum/login-kupalnik │ 4369 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 4058 │ -│ http://komme%2F27.0.1453.116 Safari │ 3021 │ -└──────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 1.153 user 1.492000 sys 0.064000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(Title) > 0 GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ Title │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ \xD0\xA2\xD0\xB5\xD1\x81\xD1\x82 (\xD0\xA0\xD0\xBE\xD1\x81\xD1\x81\xD0\xB8\xD1\... │ 122407 │ -│ \xD0\xA8\xD0\xB0\xD1\x80\xD0\xB0\xD1\x80\xD0\xB0\xD0\xB9), \xD0\x92\xD1\x8B\xD0... │ 82935 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA - IRR.ru │ 80958 │ -│ \xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\xB8 New Era H (\xD0\x90\xD1\x81\xD1\x83\xD... │ 39098 │ -│ \xD0\xA2\xD0\xB5\xD0\xBF\xD0\xBB\xD0\xBE\xD1\x81\xD0\xBA\xD1\x83 \xD0\xBD\xD0\x... │ 23123 │ -│ Dave and Hotpoint sport \xE2\x80\x93 \xD1\x81\xD0\xB0\xD0\xBC\xD1\x8B\xD0\xB5 \... │ 14329 │ -│ AUTO.ria.ua \xE2\x84\xA2 - \xD0\x90\xD0\xBF\xD0\xBF\xD0\xB5\xD1\x80 │ 14053 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA (\xD0\xA0\xD0\... │ 13912 │ -│ OWAProfessign), \xD0\xBF\xD1\x80\xD0\xBE\xD0\xB4\xD0\xB0\xD1\x82\xD1\x8C │ 10919 │ -│ \xD0\xA2\xD1\x80\xD1\x83\xD1\x81\xD0\xB8 - \xD0\xA8\xD0\xBE\xD1\x83\xD0\xB1\xD0... │ 10157 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 1.461 user 1.320000 sys 0.108000 -D AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 7479 │ -│ http://aliningrad │ 4791 │ -│ http://ekburg.irr.ru%2Fpuloveplanet │ 3584 │ -│ http://smeshariki.ru/obucheyelants │ 3064 │ -│ http://video.yandex.php │ 2887 │ -│ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 1084 │ -│ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 891 │ -│ http://afisha.yandex.ru/index │ 855 │ -│ http://sslow_13507.html?aspx?naId=6HS │ 521 │ -│ http://wildberrior/uphold │ 484 │ -│ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 289 │ -│ http://obninsk/detail │ 241 │ -│ http://diary.ru/forum/intries │ 208 │ -│ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 185 │ -│ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 185 │ -│ http://kurort/SINA, ADRIAN │ 157 │ -│ http://afisha.yandex.ru │ 132 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 124 │ -│ http://ssl.hurra.com/iframe │ 123 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 119 │ -│ http://stars-visa.html_params%3Drhost%3Dad.adriver.ru/catalog.php │ 105 │ -│ http://komme%2F27.0.1453.116 │ 83 │ -│ http://pogoda.yandex │ 80 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 79 │ -│ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 73 │ -│ http://video.yandex │ 71 │ -│ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 68 │ -│ http://wildberries.ru/daily │ 68 │ -│ http://smeshariki.ru/ru/index.ru%26bid │ 68 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 64 │ -│ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 64 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn │ 63 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 59 │ -│ http://sslow_135000008&position=search │ 58 │ -│ http:%2F%2Fwwwwww.bonprix.ru/topic │ 53 │ -│ http://sslow_13507.html/articles │ 52 │ -│ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 51 │ -│ http://rsdn.ru/rss.ya.ru/catalog │ 51 │ -│ http://ekburg.irr.ru/#lingvo │ 46 │ -│ http://pogoda.yandex.ru │ 45 │ -│ http://sslow_13500000%26rnd%3D2788881.html │ 44 │ -│ http://maps#ru_5_ru_22106.377648194,975924][to]=&int[14270pa106&op_uid=17759/6#... │ 42 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 37 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 37 │ -│ http://video.yandex.ru/film/46351/frl-2/bage │ 36 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 35 │ -│ http://direct.yandex │ 34 │ -│ http://sslow_13507.html?aspx?naId=3X_3bhLcs3M │ 33 │ -│ http://gotovim-doma │ 32 │ -│ http://che.ru/produkty_zarubezhei-niepochekhly │ 31 │ -│ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 30 │ -│ http://video.yandex.ru/Newsletter │ 29 │ -│ http://sslow_13507.html?aspx?naId=6D8IzMGys3M │ 29 │ -│ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ http://video.yandex.ru │ 28 │ -│ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 28 │ -│ http://notes=1/currency │ 27 │ -│ http://sslow_13507.html?aspx?naId=649&state/out-of-town=\xD0\xA5\xD0\xB0\xD0\xB... │ 27 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 26 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 26 │ -│ http:%2F%2Fwwww.bonprix.ru/tambov │ 24 │ -│ http://kinopoisk.ru/shoppich.ru/search?clid │ 24 │ -│ http://wildberries │ 23 │ -│ http:%2F%2Fwwwwww.bonprix.ru/searchAutoSearch?text=\xD0\xB2\xD0\xB5\xD0\xBB\xD0... │ 22 │ -│ http://myloveplanet │ 20 │ -│ http://stars-visa-litraj.txt","lpu":"http://pogoda │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/secondary │ 20 │ -│ http://msuzie-shop/premiery-c-38208_2.html │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 20 │ -│ http://smeshariki │ 19 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 19 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ http://irr.ru/6323%26bn%3D27888895,96772,97436 │ 18 │ -│ http://kinopoisk.ru │ 18 │ -│ http://nepogoda.yandex.ru%2Fproducts/search?text=subscripts/busineshop │ 17 │ -│ http://wildberries.ru │ 17 │ -│ http://kinopoisk.ru/catalog/9902224 │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://direct.yandex.html │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 17 │ -│ http://irr.ru/6323%26bn%3D27888895,963095425 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 16 │ -│ http://afisha.yandex.php?gidcar=36281664 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://auto.ria.ua/search │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://direct │ 15 │ -│ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ http://irr.ru/index.php?showalbum/login-kupalnaya-obl │ 15 │ -│ http://kinopoisk.ru/odessya │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 14 │ -│ http://ekburg.irr.irr.ru/maker │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.yandex │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.mail/rnd=0.9788 │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://auto_many_to_auto.ria.ua/igrush43/ │ 13 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 13 │ -│ http://afisha.yandex.ru/cars │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 13 │ -│ http://love.ru/a-myprofi │ 13 │ -│ http: │ 13 │ -│ http:%2F%2Fwww.bonprix │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://real-estate/aparther/offiliates/corruption/russinsk │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://on-online=on&accetti │ 12 │ -│ http://samara.irr.html5/v12/?from]= │ 12 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 12 │ -│ http://en.lyrsenses/zamba_zaborah_coldplay=1&gearbox │ 12 │ -│ http://kinopoisk.ru/saledParams │ 12 │ -│ http://zvukovo/hondar/2007&state/renlew/rigma.ru/scribed │ 12 │ -│ http://pogoda.yandex.php?SECTION │ 12 │ -│ http://msk/platia-nashing/vanny.diary.ru/moscow │ 12 │ -│ http://video.yandex.ru/GameMain.E6smreQhiu_hXR4&where=all&film │ 12 │ -│ http://news/6483731559676/Unlocknotebooks/m83/800_D_Black_list │ 11 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 11 │ -│ http://nizhnieiene/p17378705/currency=1&with_photo-ideapadeno │ 11 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty/photo-12/#imag... │ 11 │ -│ http://msk/platia-nashing/vanny.diary.ru/sale/liver │ 11 │ -│ http://video.yandex.ru/GameMain.aspx#location │ 11 │ -│ http://guid=6&pw=6&pv=13 │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 11 │ -│ http://wildberries.ru/rost.html?1 │ 11 │ -│ http://smeshariki.ru/?win=82&stat=1&page/196264&pt │ 11 │ -│ http://pogoda.yandex.ru/catalog/jokers │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 11 │ -│ http://en.lyrsenses/zamba_zabudtrimazok.html?page=12&prr=http://fap1.adrive_typ... │ 11 │ -│ http://bonprix.ru%26bid │ 11 │ -│ http://loveplanet.ru/GameMain │ 10 │ -│ http://bdsmpeople.ru │ 10 │ -│ http://video.yandex.ru&pvid │ 10 │ -│ http://liver.ru/cheboksicily/foto.aspx?sort=newly&trafkey │ 10 │ -│ http:%2F%2F%2Fwwww.bonprix │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 10 │ -│ http://club.ru/spokoiteli/photo37775280000 │ 10 │ -│ http:%2F%2Fwwww.bonprix │ 10 │ -│ http://auto_id=240&n=13901038 │ 10 │ -│ http://smeshariki.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 10 │ -│ http://slovariant_new3077940810/detail │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://en.lyrsenses/zamba_zabor_id=1012_blank%26site │ 10 │ -│ http://sslow_13500000%26rnd%3D2788881.html?parts/passe │ 10 │ -│ http://pogoda.html%3Fhtml_params%3Drhost%3D43 │ 10 │ -│ http://irr.ru/index.php?showalbum/logout%26verstova.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://pogoda.yandex.php │ 9 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film/6781203.html?id=242037047/detai... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://mysw.info/blog/sankt-peter%3D1216/00001216629 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://e96.ru/albumfotok-15-fotki │ 9 │ -│ http://alpari.yandex.html?html_param=0&users/#page/Search/ab_dob%2Ffieiie-razvo... │ 9 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru/catalog/8570/1006790 │ 9 │ -│ http://b2b.testered/main/discuss/matched_country=-1&top=0&cityid=1024&wi=1366&o... │ 9 │ -│ http://svpressa.ru/topic=17082630 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru │ 9 │ -│ http:%2F%2Fwwww.bonprix.ru/filmId=8j5j97LRs3M&where=all&sources │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/#win_13.html_p... │ 9 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/4744089758 │ 9 │ -│ http://nail=Yes&target=search │ 9 │ -│ http://rlsnet.ru/vacancy/view_type_id=9677548268010367 │ 9 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_produkty%2F&sr=http://slovaria │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/imagecache/wm/2013&where=all&filmId │ 8 │ -│ https://m.myloveplanet.ru/forum/abrika-kobelenie_nebestsenal │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 8 │ -│ http://zapchast.com/iframe-owa.html?1=1&cid=577&oki=1&op │ 8 │ -│ http://afisha.yandex.php?t=141880517 │ 8 │ -│ http://poisk.ru/price_ot=&price_ot=&price │ 8 │ -│ http://zarplata.ru/velika_all=\xD0\xBE\xD1\x82 │ 8 │ -│ http:%2F%2Fwwwwww.bonprix.ru/news/222974895&op │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://fore=3&marka=0&top=0 │ 8 │ -│ http://video.yandex.ru&xdm_p=1#item/search │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96777&oki │ 8 │ -│ http://direct.yandex.ru/catalog │ 8 │ -│ http://zarplata.ru/?p=12977-B26358/currency=RUR/page=1080&wi=1024&lo=http://rzh... │ 8 │ -│ http://en.lyrsenses/zamba_zabor/bedroomolsk │ 8 │ -│ http://masterh4.adriver.yandex │ 8 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 8 │ -│ http://mastered/main.aspx#location=1&bc=3&ct=1&pr=60322056107100919/page5/?_h=s... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ==&page_avtomodules.php?f=100&ref... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96779/87 │ 8 │ -│ http://omsk.mlsn.ru │ 8 │ -│ http://che.ru&pvid=13733142835/100/topic,5240556895&ch=UTF-8&sF=11,7,7,0 │ 8 │ -│ http://smeshariki.ru/GameMain │ 8 │ -│ http://wildberries.xml?from]=&input │ 8 │ -│ http://afisha.yandex.php?gidcar=367108851%2Fr%2F1 │ 8 │ -│ http://love.ru/?p=17059 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://irr.ru/index.php?showalbum/login-kupit-topy%2Fplatjie-gotovlexandex.html... │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 8 │ -│ http://auto.ria.ua/auto_id=24126629/0/index.ru/real-estate/out │ 8 │ -│ http://victor?page_type=city.stol-yar.ru/cars │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://video.yandex.ru%2F&sr=http://loveplants/65398f55 │ 7 │ -│ http://kinopoisk.ru/ch/feed/letniaiaprice/1609 │ 7 │ -│ http://real-estate/aparts/Aquarevski │ 7 │ -│ http://bonprix.ru/social/product_id │ 7 │ -│ http://video.yandex.ru/a-album/login-vitiju/photo │ 7 │ -│ http://moscow/detail/5552/0/2792834&m=111,7,7,5 │ 7 │ -│ http://irr.ru/Registered/main/topnewsru.com/page=6 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-kapustics?sort=pogoda.yandex.ru%26bt%3D... │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 7 │ -│ http://bonprix.ru/catalog/8570/14139489 │ 7 │ -│ http://afisha.yandex.ru/\xD0\xB4\xD0\xBE\xD0\xBC\xD0\xB0/\xD0\x91\xD0\xA1\xD0\x... │ 7 │ -│ http://irr.htm?from]=&int[85][from]=&input_vsegodnyie │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://love.ru/?p=1#country=&op_seo │ 7 │ -│ http://bdsmpeople.ru/niktory/shtory/308/roomed.ru/p59473682740295 │ 7 │ -│ http:%2F%2Fwwwww.bonprix │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 7 │ -│ http://myloveplantrackIt?tid │ 7 │ -│ http://spb/event=big&marka=84&model=0&auto_id=0&s_yers=0&pv=10&can_be_check_PP │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 7 │ -│ http://irr.ru/index.php?showalbum/login-a-5-advert27114 │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://pogoda.yandex.ru&pvid=1 │ 7 │ -│ http://bdsmpeople │ 7 │ -│ http://video=0&is_hot │ 7 │ -│ http://irr.ru/index.php?showalbum/login-zk34/pages/0001216629 │ 7 │ -│ http://svpressa.ru │ 7 │ -│ http://money.yandex │ 7 │ -│ http://gotovim-doma.ru │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 7 │ -│ http://afisha │ 7 │ -│ http://video.yandex.ru%2Fkategory_id │ 6 │ -│ │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://omsk/evential/house.ru/catalog/kitchedule=213-606361653965283 │ 6 │ -│ http://video.yandex.ru/ekt │ 6 │ -│ http://afisha.yandex.ru%2F%2Fmail/169 │ 6 │ -│ http://love.ru/?p=1#country=-1&sq_liver.ru/kyrgyzstan │ 6 │ -│ http://stars-varenok.ru/16745959680706/800_0.jpeg.html%3Fhtml5/v123593 │ 6 │ -│ http://afisha.yandex.ru/catalog=on │ 6 │ -│ http://bdsmpeople.ru/film/64544.690022.rar.html_params%3Drhost%3D_black_list=0&... │ 6 │ -│ http://bdsmpeople.ru/GameMain │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://v102.ru/investate/apartments-sale │ 6 │ -│ http://video.yandex.ru/GameMain.aspx#location/page_type=category │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://direct.yandex.ru/refererprofile%2F2.10 │ 6 │ -│ http://video.yandex.ru/a-topy │ 6 │ -│ http://omsk/evential/housession%3D0 │ 6 │ -│ http://afisha.yandex.ru%26bt%3D43%26anbietersburg │ 6 │ -│ http://wildberries.ru/search │ 6 │ -│ http://moscow/details │ 6 │ -│ http://smeshariki.ru/world/photofider_credit=0&view │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://rukodel=0&sort=newly&trafkey=2750 │ 6 │ -│ http://irr.ru/index.php?showalbum/login-12.html%26custom │ 6 │ -│ http://novosibirsk.irr.ru%26bid │ 6 │ -│ http://solutions.diary.ru/realtitroenie_v_jurman.ru/albums/frame-owa.html?stric... │ 6 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 6 │ -│ http://mr7.ru/newsru.com/iframe_right%3D43 │ 6 │ -│ http://smeshariki.ru/catalog │ 6 │ -│ http://edp2.adriver.ru/hocketshop.ru/moscow/detailanude │ 6 │ -│ http://autodoc.ru/real-estate/apart │ 6 │ -│ http://povari.yandex.ru/greecondary/Products_id=&auto_vaz_2111 │ 6 │ -│ http://msk/platia-nashing/vantralitsa_transion │ 6 │ -│ http://ereal-estate/rent │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://3dnewsru.com/iframe_right.html?1=1&cid=51538 │ 6 │ -│ http://novo/detail.aspx?group_cod_1s │ 6 │ -│ http://video.yandex.ru/catalog │ 6 │ -│ http://afisha.yandex.php/board,39.04839 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://auto_hyundai_sarator │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://kalininmyclonus1 │ 6 │ -│ http://forum/topnews/22294&op_category │ 6 │ -│ http://bdsmpeople.ru/saledParams=rhost%3D43%26bid%3D1 │ 6 │ -│ http://love.ru/?p=17055335 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.ru/mymail.php │ 6 │ -│ http://real-estate=week/page=1&expand_search?film/298677435615.html │ 6 │ -│ http://kinel-lab.com/rus/20130709_117485994,93304&op_seo_entry=1&gearbox=0&type... │ 6 │ -│ http://video=0&with_exchangeType │ 6 │ -│ http://afisha.yandex.ru/index.ru/recipe │ 6 │ -│ http://koolinar.ru/port.ru/doc │ 6 │ -│ http://diary.ru/exp?sid=3205 │ 6 │ -│ http://video.yandex.php?search?text=\xD0\x9A\xD0\xBE\xD0\xBD\xD1\x8C\xD1\x8F\xD... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ https://slovakia-600dd903c07022,101595,91194&op_seo_entry │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://video.yandex.php?from]=&interapy-wkti/ &cd │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D8393224 │ 6 │ -│ http://love.ru/ru/irk/event/search/ │ 6 │ -│ http://kinopoisk.ru/catalog │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 5 │ -│ http://barnaul/details/?cauth │ 5 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD0\xB5\xD1\x80&where=... │ 5 │ -│ http://auto_volkswagen/vologdano/il_dlya-dnevka.ru │ 5 │ -│ http://zvukovo-gorodsk │ 5 │ -│ http://metal-lodku-Obzor │ 5 │ -│ http://sp-mamrostova │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://tp66.ru/exp?sid=3860217/rooms=2/men.aspx#location%3D0%26rnd │ 5 │ -│ http://video.yandex.by/?state_id=&auth=1..630;IC,7711588 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://rmnt.ru/search/offilia_Sovetov_living_chamber/?78142 │ 5 │ -│ http://e96.ru/movies/614418821/artir.ua/search │ 5 │ -│ http:%2F%2Fwwww.bonprix.ru/?id=2013&where=all&filmId │ 5 │ -│ http://slovari.yandex.ru%26orderovskij-index.ru │ 5 │ -│ http://tks.ru/cat/publish-cherkalnaya-ttpodporyadushek │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://povari.yandex │ 5 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_seo_entry=&op_category_... │ 5 │ -│ http://video.yandex.ru/GameMain.aspx?Link │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://slovarenok.com │ 5 │ -│ http://auto.ria.ua/auto_id=241269.html?1=1&cid=2127970 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://en.lyrsenses/zamba_zaborah_chamberk │ 5 │ -│ http://radio&planet.ru/work.ru/catalog │ 5 │ -│ http://slovari.yandex │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://afisha.yandex.php?r=23436303135353.html?1 │ 5 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 40007&pt │ 5 │ -│ http://auto_volkswagen-Palities/horobki │ 5 │ -│ http://rustnye-sht-riemnikoi │ 5 │ -│ http://pogoda.yandex.php?gidcar │ 5 │ -│ http://bibidohertki-i-OOOO_REPORT/07_2013 │ 5 │ -│ http://sslow_135000008&position=search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 5 │ -│ http://myloveplanet.ru/v14572&lb_id=13000001216629 │ 5 │ -│ http://topnews.ru/GameMain.aspx?group_cod_1s=1983&pt=b&pd=9&pw=0 │ 5 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://avtomobile/motory.ru/comp.ru/view.php │ 5 │ -│ http://real-estate=week&m=Dvigenie.html?option │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://love.ru/product_id=0&po_yers=0&po_yers=2&refererro/model=1346488078722&c... │ 5 │ -│ http://autodoc.ru/moscow │ 5 │ -│ http://video.yandex.ru/firms.turizm │ 5 │ -│ http://video.yandex.ru%2FkategoriendflowerTo=&powerTo= │ 5 │ -│ http://loveplanet.ru/mymail/rudi │ 5 │ -│ http://auto.ria.ua/auto │ 5 │ -│ http://msk/platia-nashing/vannyie-product_id=1841&page2 │ 5 │ -│ http://auto.ria.ua │ 5 │ -│ http://club.ru/cinema/movies/no-pos │ 5 │ -│ http://tks.ru/cat/publish-chemec.ru/search?filmId=CktclMBmUXI │ 5 │ -│ http://direct.yandex.ru/index │ 5 │ -│ http://nizhnieiewva88/photo/101246465376&cmd=show-to-buchaiev-pugache=51db32a68... │ 5 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D158197%26width │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://kinopoisk.ru/spb.pulscen.ru/exp?sid=3159&op_category_id=&auth=0&checked=... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://holodilnik-rp-ploschaya-obuv/?ci=1280&with_video=0&choosOyg==&op_uid=111... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://wildberries.ru/real │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://slovariant_neu%3D1%26bid%3D1216/0001216629%26bt%3Dad │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://md.mirkovskaya-obl.irr.ru/jobinmoscow │ 5 │ -│ http://wildberrior/kia/ │ 5 │ -│ http://en.lyrsense.com/obshchin-idieiala │ 5 │ -│ http://povari.yandex.php?showalbum/login.pl?cl=all&film/497794,90458 │ 5 │ -│ http://loveplanet.ru/\xD0\xB0\xD1\x80\xD0\xBE\xD0\xBC/curre-ap-i-showalbum/loui... │ 5 │ -│ http://jcmotorom-921205&bt=7 │ 5 │ -│ http://smeshariki.ru/topic │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://moscow/detail/Torgovuyu-organske.ru/real-estate │ 5 │ -│ http:%2F%2Fwww.bonprix.ru │ 5 │ -│ http://gaylyU │ 5 │ -│ http://video.yandex.ru%26bt%3Dad.adriver.ru/recipe/view/10217/?from │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://loveplanet.ru │ 5 │ -│ http://alib.mist.html%26custom%3D%26c2%3D278888592138 │ 5 │ -│ http://alpari.ru/gallery/pic845274 │ 5 │ -│ http://loveplanet │ 4 │ -│ http://video.yandex.ru/price │ 4 │ -│ http://whoyougle.ru/images/images/00000i/specifiers.ru/image=1&furniture │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 4 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ua │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/filmId │ 4 │ -│ http://loveche.html │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://samarskii_krai/tuapse/detail/result.aspx │ 4 │ -│ http://sslovarenok.ru │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://irr.ru/index.php?showalbum/login-10618968476372773 │ 4 │ -│ http://afisha.yandex.ru/zoom.php?f=5162613838.html_partments │ 4 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 4 │ -│ http://bdsmpeople.ru/Web/Pages=1/feedsmag.ru/~\xD0\xBA\xD0\xBD\xD0\xB8\xD0\xB3\... │ 4 │ -│ http://auto.ria.ua/auto_id=0 │ 4 │ -│ http://wildberries.ru/catalog │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://diary.ru/catalog=on&input_city[3 │ 4 │ -│ http://echoradar-s-Levoshcha │ 4 │ -│ http://radio&planet.ru/marka=62&model=1178128455&pvno=2&evlg=VC,5 │ 4 │ -│ http://direct.yandex.php?formsof(INFLECTION_ID=30861/14365-4b11&state/apartment... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.ru%252f7769%252fe │ 4 │ -│ http://e96.ru/news/39733/page2=&input_sponsor=&o=1015219.html_partments-sale&pa... │ 4 │ -│ http://love.ru/?p=1#countpage/vacancies/events/738/0/3/women.aspx │ 4 │ -│ http://travel.ru/state/apartments-sale/rashinitit%2F537 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://rasp.pl?cmd │ 4 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://kinopoisk.ru/saledParams%3Drhost%3Dad.adriver.ru/GameMain.aspx#location │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ https://smeshariki.ru/cinema/article10363136000001216629%26site_offilia_Sovets.... │ 4 │ -│ http://afisha.yandex.php?r=3&bs=&day │ 4 │ -│ http://auto.ria.ua/auto_id=63799.html_params │ 4 │ -│ http://video.yandex.php?view_type=2&driveresult.ru/replies │ 4 │ -│ http://ssl.hurranovskaya-ul-31-foto.ria │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboy07/... │ 4 │ -│ http://card/windows)&bL=ru&cE │ 4 │ -│ http://kniga.ru/view=\xD0\xA1\xD1\x82\xD0\xB0\xD0\xB2\xD1\x80\xD0\xBE\xD0\xB2&w... │ 4 │ -│ http://guid=6&pw=2&pv=0&price_do=¤cy=1 │ 4 │ -│ http://vkirovoe-tourisma │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://smeshariki.ru/domchelkakh_location=search?text=\xD0\xBC\xD0\xB8vents │ 4 │ -│ http://smeshariki.ru/search/keukeru-soft │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://video.yandex.ru/GameMain.XYyZwYXRoPWEtbG9nb24vcG90Cw │ 4 │ -│ http://zarplata.ru/?p=12977-B26358/hasimages=1/page │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://tks.ru/cat/publish-chernyjbelyj-9375966238&op_categoriya │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/real │ 4 │ -│ http://matched_car=373838928155755775482794,9453.116 Safari%2F537.36&he=10&s_ye... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.ru/search │ 4 │ -│ http://video.yandex.ru/GameMain.aspx#location-4.0.html │ 4 │ -│ https:%2F%2Fwwww.yandex.ru │ 4 │ -│ http://v102.ru/?s=Adaments-sale │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/social │ 4 │ -│ http://auto.ria.ua/canel_pe_mascona Hilfigeratov/153228 │ 4 │ -│ http://video.yandex.ru%26target=search/ab_area=categorija80119 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://nizhny novgorod │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://video.yandex.ru/realty/leaser_map=1/hasimay-2.html │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://kubikus.ru/search.php?r=4140211,1,7,7,7,7,0 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://e-kuzbass.ru/a-shop │ 4 │ -│ http://guide.travel.ru/link │ 4 │ -│ http://victorhead.php?full&dom=780067167694.0; │ 4 │ -│ http://afisha.mail.aspx#locationalOffers │ 4 │ -│ https://produkty%2Fpulove.ru/gost/?page3 │ 4 │ -│ http://fitness/building │ 4 │ -│ http://svpress_up.aspx#location[propfilter_pf[PODVAL]=&arrFilter][3463351841195... │ 4 │ -│ http:%2F%2Fwwww.bonprix.ru/real-estate/out-of-town/house │ 4 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/cart.php/cars/papago-d-plosch │ 4 │ -│ http://afishi,Mudanted-belyj-974299099/guest-id=34089.html │ 4 │ -│ http://video.yandex.ru/GameMain/dukhovyy │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadbor_sh... │ 4 │ -│ http://tks.ru/cat/public/gamemain.aspx#location │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http%3A//magnitogorod/page3/#over │ 4 │ -│ http://anketka.ru/bridget │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://nepogoda.yandex.ru/search=1&target=search=0&can_be │ 4 │ -│ http://afisha.yandex.php?action/2741920 │ 4 │ -│ http://love.ru/image=2&marka=84&model/mihailovo │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://kinopoisk.ru/searchAutoSearch=0&driver.ru/catalog/1/women.aspx#locationp... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.php?show=rlv&ru=1&expand_search │ 4 │ -│ http://love.ru/?p=1705 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://auto_s_product_name=\xD0\x9A\xD1\x80\xD1\x83\xD0\xB3\xD0\xBB\xD0\xBE\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://rsdn.ru/details_103514,154;IC │ 4 │ -│ http://afisha.yandex.php?p=31&input │ 4 │ -│ http://loveche.ru/job/1162323&PAGEN_1=30&state │ 4 │ -│ http://video.yandex.ru/If yours.avtogsm.ru/animals/calculate │ 4 │ -│ http://ssl.hurra.com │ 4 │ -│ http://auto_volkswagen_cated_cartovskaya-obl.irr.ru/album/login │ 4 │ -│ http://pogoda.yandex.ru/cooking_sm5_1148786993ab-417/photo/69363/26#formi.ru/co... │ 4 │ -│ http://internet Explorer&aV=5.0 (Windows)&bL=en │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboyzon... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/topnews.ru/lanas-advert2713][to]=&int │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http%3A//edp1.adriverys/forum/view_type=city&custom=0&damages/0001216629%26bid%... │ 4 │ -│ http://inspelishchin-platjie-doma.ru/irkutsk.irr.ru │ 4 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD1\x82\xD0\xBE\xD1\x8... │ 4 │ -│ http://auto_volkswagen_pass_1161967 │ 4 │ -│ http://auto_id=0&with_photo │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://en.lyrsenses/zamba_zabudka/photo-1/#page=0&sale/search?text=\xD0\x9C\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://b.kavanga.ru/?a=inneVolumeFrom │ 4 │ -│ http://afisha.yandex.ru/content2.adriver │ 4 │ -│ http://smeshariki.ru/saint-petersburg-gorod/transfer/?id=7576149959760994861&op... │ 4 │ -│ http://arma/frl-4/transportnoy-kv-m-malchik.ru/show │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://irr.htm?from]=&int[1151;IC,112 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/GameMain │ 4 │ -│ http://afisha.yandex.ru&pvid=13733424 │ 4 │ -│ http://tp66.ru/money.yandex.ru/albums_screenterval │ 4 │ -│ http://bdsmpeople.ru/film/64544.690078 │ 4 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_category_id=592b9e01c48ce9403%26bn%3D0%2... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://banantikov-nadushenie_orleona_server=sc.cheloveplant_11612/page │ 3 │ -│ http://irr.kz/realty/lease/3516093&pvno=2&evlg │ 3 │ -│ https://produkty%2Fplatjie-kuzbass.ru/newsru.com/iframe_right=0&auto_ria=0&meta... │ 3 │ -│ http://fuckfind=rent/view/2021/3 │ 3 │ -│ https://orenburg/?arrFiltersburg │ 3 │ -│ http://kinopoisk.ru/service.ru/iframe │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://radiorecord.ru/login-m3w.html?1=1&cid │ 3 │ -│ http://video.yandex.ru%2Fplata.ru/ch │ 3 │ -│ http://romar/events/audio.ru/widget[]=vacancies/99.php?gidcar │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://afisha.yandex.php/topic104780204&op_uid=1954 │ 3 │ -│ http://afisha.yandex.php/tova.ru/uliya2076789599305953 │ 3 │ -│ http://afisha.yandex.ua/donetsk/urals │ 3 │ -│ http://afisha.yandex.ru/a-folders/misc │ 3 │ -│ http://afisha.yandex.ru/shop.ru/malta │ 3 │ -│ http://afisha.yandex.ru/project_price=&maxprice │ 3 │ -│ http://afisha.yandex.ru/kategoriya%2F5.0 (company │ 3 │ -│ http://afisha.yandex.ru/linkvac.php/board.php?topicseeng │ 3 │ -│ http://samara.irr.ru%2Fproduct │ 3 │ -│ http://radioscannerica/filmId=Ba_id=13733568414&city=\xD0\x9C\xD0\xBE\xD1\x81\x... │ 3 │ -│ http://kaluga/?ext=\xD0\xB3\xD0\xB5\xD1\x80\xD0\xBE\xD1\x8F\xD1\x82\xD0\xBD\xD1... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://sp-money.yandex.ru │ 3 │ -│ http://wildberrior/bedroom]=&int[17][to]=&int[858 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://love.qip.ru │ 3 │ -│ http://sp-money.yandex.ru/work rushki-sien-natalog/8570/page=0&expand │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://ssl.hurral=messages │ 3 │ -│ http://forum/topnews/2229605699574.html?1=1 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://afisha.yandex.ru/forum.materinburg │ 3 │ -│ http://afisha.yandex.php?addriver.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://video.yandex.by/search/?target%3D43%26bid%3D2 │ 3 │ -│ http://video.yandex.ru&pvid=13735/?_h │ 3 │ -│ https://slovakia-600dd903c06c999c226647639.html%3Fhtml │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category_id=0&wi=16000&... │ 3 │ -│ http://love.ru/forum.cofe.ru/forum/view_type=city=790&Selectronics-technik │ 3 │ -│ http://astrobank.ru/image │ 3 │ -│ http://auto_kia_30 │ 3 │ -│ https://slovakia-600dd903c07022,101595,9143531427800648_elit │ 3 │ -│ http://direct&sortdirect.yandex.ru/imagesize%3D0%26ar │ 3 │ -│ http://sp-mamrostokonkursovet │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://rmnt.ru/stars │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://edp2.adriver.ru/catalog/181 │ 3 │ -│ http://bdsmpeople.ru/search │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://b.kavanga.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://video.yandex.ru/circle&state/out-of-town/houses │ 3 │ -│ http://rmnt.ru/film/88677/russia/rio.ru/search?filmId=NNr6aJrm4s3M │ 3 │ -│ http://video.yandex.ua/auto_id │ 3 │ -│ http:%2F%2Fwww.bonprix_ru}%2Fnizhniynovgorod/request-id │ 3 │ -│ http://edp2.adriver.ru/jobinmoscow/detail │ 3 │ -│ http://kazan.irr.ru/location │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://card/windows NT 6.1) AppleWebKit%2F5 │ 3 │ -│ http://tks.ru/cat/publish-chin-play.php?categoriya%2Fzhiensmed │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ https://produkty%2Fpulove.ru/voronezh-sien-zhienskaia-moda-zhienskaia-moda-zhie... │ 3 │ -│ http://svpress_w1t1042796786/6/?category │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com/iframe-owa.html?1=1&cid=577&o... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/forum.donfiscategory │ 3 │ -│ http://msk/planet.ru/mymail.aspx#comme_me_saydinne │ 3 │ -│ http://radiorecord.ru/catalog/idShare │ 3 │ -│ http://pogoda.yandex.kz/family │ 3 │ -│ http://video.yandex.php?topbloveche │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://pogoda │ 3 │ -│ http://nigma.ru/product&op_category_name=\xD0\x91\xD0\xB8\xD0\xBA\xD0\xB8\xD0\x... │ 3 │ -│ http://magnitka_1_series.ru/?favorite_id=636233644&op_category_id=937514 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://ussuriysk.irr.ru/catalog/premiere/628962851d7fd0b6eb17b321d336f5bc7de189... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://smeshariki.ru/catalog/286/women.aspx │ 3 │ -│ http://svpressa.ru/content/search │ 3 │ -│ http://video_dvd/game/iframe-owa.html │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://ekategoriya%2F9B206 Safari │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountpage │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26url%3D//ad.adriver.ru/link/justic/h2.php/... │ 3 │ -│ http://afisha.yandex.ru/tatatit_chto.php?industry │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/92054446660.ht... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty%2Ftanki │ 3 │ -│ http://loveche.ru/volzhskiy │ 3 │ -│ http://svpress/showbiz/photo.htm │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://smeshariki.ru/a-phony │ 3 │ -│ http://msk/platia%2Fzhienskaia │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://povarenok.ru/files/eliteh.ru/perm.irr.ru/board,75.2013-07-09 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://smeshariki.ru/?win=82&stat=141882,373;IC,2552f48 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://e96.ru/real-estate │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://my.kp.ru/albumfoto-1/pol-2 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://amobil-nye-pliazhnaia │ 3 │ -│ http://brand=498&pvno │ 3 │ -│ http://tp66.ru/search/?page=1&fuelRateTo │ 3 │ -│ http://holodilnik.ru/catalog │ 3 │ -│ http://sp-mamrostovestory │ 3 │ -│ http://love.ru/?p=1#country=&op_seo_entry=-1&target │ 3 │ -│ http://lk.wildberries │ 3 │ -│ http://personal/atlants/7292&xdm_c │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberries.ru/item_no=2&evlg=VC,0;VL,205;IC,14;VL,757138/currency=RUR/h... │ 3 │ -│ http://product_brand=RAINBOW&op_cated_content/search/keup/en-ru │ 3 │ -│ http://smeshariki.ru/real │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://msuzie │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostavia.travel.ru/s... │ 3 │ -│ http://love.ru/recipes/indows │ 3 │ -│ http://irr.ru/index.php?showalbum/login-kupaljinik-chere │ 3 │ -│ http://3dnews.ru/?p=12636464/5#f │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic=79799398/?_h=search.htm... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://smeshariki.ru/goodavec/photo/6936325.html?id=223978/page=102 │ 3 │ -│ http://str_ob.html?1=1&choosO8gPJSs3M&where=all&filmId=mAyiC7y6M2mGV2GoA9hFoN3q... │ 3 │ -│ http://irr.ru/washek-s-printom │ 3 │ -│ http://afisha.yandex.php?app=membered │ 3 │ -│ http://afisha.yandex.php?ELEMENT_ID │ 3 │ -│ http://afisha.yandex.ru/lesyach-hotels │ 3 │ -│ http://afisha.yandex.php?id=727285 │ 3 │ -│ http://afisha.yandex.ru%26bt%3D90%26nid%3D1216629 │ 3 │ -│ http://kaluzha-na-NovletedAutoSearch=0 │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory_id=577&search/ab_district/date_id=2271][from... │ 3 │ -│ http://love.ru/ru/irk/event=little&cated_country=-192.html?1=1&cid │ 3 │ -│ http://love.ru/?p=17057 │ 3 │ -│ http://kinopoisk.ru/search │ 3 │ -│ http://state/room=94720-recept-Salat-iz-glasya1lesyat │ 3 │ -│ http://auto_id=0&engineVolumeFrom │ 3 │ -│ http://video_dvd/ratesTypeSearch?text=\xD1\x87\xD0\xB5\xD0\xBB\xD0\xBE\xD0\xB2\... │ 3 │ -│ http://povaria/chak_naytimes.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://smeshariki.ru/GameMain.aspx#location │ 3 │ -│ http://kinopoisk.ru/sessulyanovka.ru/photosessid=3205&bt │ 3 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD0\xB2\... │ 3 │ -│ http://li.ru/filmId=XpzlPj8P8gE&where=all&text=\xD1\x81\xD0\xBA\xD0\xB0\xD1\x87... │ 3 │ -│ http://soft.oszone.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://you_hashkaf.ua/search │ 3 │ -│ http://auto_repairs=0&po_yers=0&price.ru/\xD0\xB6\xD0\xB5\xD0\xBB\xD0\xB5\xD0\x... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://auto_repairs=0&confiscategoriya │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://afisha.yandex.ru%2Fobuv-sapozhkivka=23&price │ 3 │ -│ http://afisha.yandex.ru/hotel-agen-Goluboj-9730 │ 3 │ -│ http://notebooking pressa │ 3 │ -│ http://pogoda.yandex.ru/real-estate │ 3 │ -│ http://wildberries.ru/GameMain │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://afisha.yandex.ru/comment/search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 3 │ -│ http://wildberries.ru/basket&ch │ 3 │ -│ http://video.yandex.ru/personal/offeebe34c7e12944&op_product │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/photo/narod.irr.ru/katering=1&pr=569&s_yers │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://slovari.yandex.ru │ 3 │ -│ http://dom.net/provoe-pervouralnaya/ChildGluZ19oZXJlci1kYXRpb25zPU4mbj0zJmlkPTM... │ 3 │ -│ http://video.yandex.ru/extra │ 3 │ -│ http://afishers/story │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://guid=6&pw=2&pv=0&with_video.yandex.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com.ua/kiev/detail.ru/auth=1..640... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://trashbox.ru/book │ 3 │ -│ http://audio_video.yandex.ru/mosday.html?item=4#photo446962 │ 3 │ -│ http://auto_ford Mix).mp3.ucoz.ru/v1430497.html%3Fhtml │ 3 │ -│ http://v102.ru/investate/apartment/?id=137336IseNhcbx3J85GkHSnzgnsPdZUU&where=a... │ 3 │ -│ http://kommersantamina │ 3 │ -│ https://slovarenok │ 3 │ -│ http://pogoda.yandex.ru/vlas-moskovskaya │ 3 │ -│ http://alpari.yandex.ru/saint-petersburg.irr.ru/cars/page3 │ 3 │ -│ http://love.ru/ru/irk/event=little&category_id=731-643736&mode=1 │ 3 │ -│ http://bdsmpeople.ru/show/39932/Itemid,40.0.html_params%3DfsSaHR0cDovL2pzLnNtaT... │ 3 │ -│ http://radiorecord │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://en.lyrsenses/zamba_zabor_polnitsa-s.narod.irr.ru/bank/otzyvy/12031%2F%23... │ 3 │ -│ http://video.yandex.ru%2Fkategory_id=9759527418 │ 3 │ -│ http://state_shariki │ 3 │ -│ http://smeshariki.ru/cgi-bin/click.cgi%3Fsid%3D0%26pz │ 3 │ -│ http://loveplanet.ru/Bezli-all │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://kinopoisk.ru/spb.pulscen.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://omsk/evential/housession%3D240%26rleurl%3D//ad.adriver.ru/marshavskaya-r... │ 3 │ -│ http://wildberries.ru/cgi-bin/click.cgi%3Fsize │ 3 │ -│ http://afisha.yandex.php?partments │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://video.yandex.ru/real-estate/out-of-town/house.ru&pvid=1&distreet_legkovo... │ 3 │ -│ http://kinopoisk.ru/registernet Explorer&aV=5.0 (Windows NT 5.1; ru-ru&cE=true&... │ 3 │ -│ http://auto_id=0&color=0&confiscategory_id=3205&bt=7&bn=1&bc=3&ct=1&prr=http:%2... │ 3 │ -│ http://video │ 3 │ -│ http://balcon_caddy Club relove │ 3 │ -│ http://wildberring │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http:%2F%2Fwww.bonprix.ru/imagesize │ 3 │ -│ http://video.yandex.ru/realty/search/main.aspx?sort=popular │ 3 │ -│ http://un1.adriver.ru/page=30138117749516%252f110916%252fmedicinema/movie_ross ... │ 3 │ -│ http://afisha.yandex.ru/manga.ru/?rtext=\xD0\xBF\xD1\x80\xD0\xB8\xD0\xB1\xD0\xB... │ 3 │ -│ http://myloveplanet.ru/passenger/kitched_country_id=4312&input │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://cxem.net/324487194836848 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://saint-peter │ 3 │ -│ http://klubnich/zrh/ │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://ssl.hurra.com/iframe-owa │ 3 │ -│ http://wildberries.ru/comme%2F2.12.388 Version/1552/page │ 3 │ -│ http://wildberries.ru/comment/search │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://sunmar.ru/cart&ch=utf-8&sF=11,7,700&aN=Opera&aV=9.80 (Windows │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&film/67... │ 3 │ -│ http://smeshariki.ru/furniture.html5 │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://saint-petersburg-gorod/goodal │ 3 │ -│ http://lazarevskoe │ 3 │ -│ http://whoyougle.com/iframe/iframe_right.ru/spb │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_product_brand=4200&lo=h... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://jobs-education │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://pogoda.yandex.ua/telefon_shtukaturkey │ 3 │ -│ http://irr.ru/index.php?showalbum/logizer8/num-1/refremost │ 3 │ -│ http://video_dvd/suppoll/dleead6718.php?SECTION │ 3 │ -│ http://gotovim-doma.ru/personal/commersant.ru/image=19&pvno=2&engineVolum │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://bdsmpeople.ru/index.by/ru/page=0&confiscategory_id │ 3 │ -│ http://krasnodar.irr.ru/yaransferapid │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://afisha.yandex.php?p=176d43f96ef32d5bc1272 │ 3 │ -│ http://afisha.yandex.ru/sell/resident │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://forum/topics/ingradskazka-lookoformalities/poetry/events/?date&csrf-8200... │ 3 │ -│ http://video=0&input_with_video.yandex.ru/page/10/women.aspx │ 3 │ -│ http://radioscannerica/film/47018.html?1=1&cid=691390&pvno │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://auto_id=0&color=0&confiscategoriya%2Fzhienskaya-advert25593 │ 3 │ -│ http://pogoda.yandex.ru/real-estate/apartments/73151 │ 3 │ -│ http://msk/platia-nashing/vanny.diary.ru/otdam_daily │ 3 │ -│ http://tyva-5/country=-1&washestvo/den_sidentialAmount │ 3 │ -│ http://ssl.hurra.com/iframe/iframe-owa.html%26custom%3D%26custom │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/procoolonelopitered/ministrict/3d-probeg-340-... │ 3 │ -│ http://chehod/zvenia8312&input_who2=1&input_age1=35&aN=Netscape │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=&is... │ 3 │ -│ http://myloveplanet.ru/bad_by_sidential/nizhnieiewva88 │ 3 │ -│ http://direct.yandex.ru%2F&sr │ 3 │ -│ http://kinopoisk.ru/cgi-bin/click.cgi%3Fsid%3D1216 │ 3 │ -│ http://smeshariki.ru/news/2013/peshnye-udivlekanka.ru/l_03_00/bodreamfood.ua │ 3 │ -│ http://kinopoisk.ru/real-estate=2013-07-2089241607/photo=0&with_exchangeType │ 3 │ -│ http://mylove.ru/zoom.php?GID=2&IsOrder │ 3 │ -│ http://rsdn.ru/info_all=yes&razdumy-i-trikshop/search&_h_page/1719920 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://irr.ru/index.php?showalbum/login-do-500-kv-m-Maya │ 3 │ -│ http://rukodel=0&sort=newly&trafkey=27065/2/child.aspx#location │ 3 │ -│ http://arma/frl-4/travel.ru/moscow/details │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/used/KIA-Cee-d... │ 3 │ -│ http://maps#ru_5_ru_1_ru_ru_ru_202_ru_1_ru_ru_ru_ru_2_ru_1743.html?oscsid=36303... │ 3 │ -│ http://zapchastny_fashing_mashes/index.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://video=0&is_hot=0&che_simeis │ 3 │ -│ http://auto_operey-v-v-meha.ru/catalog/public │ 3 │ -│ http://kuharka=48&modeloveplanet │ 3 │ -│ http://whoyougle.ru/basket&ch=utf-8&sF=11,7,7,7,700 │ 3 │ -│ http://myloveplants_list-obl.irr.ru%2Fobuv-zhienskaia-modiezhda │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://zagranimals-planet.ru/user/31059&Module │ 3 │ -│ http://irr.ru/6323%26bn%3D27888895,96772&op_page47 │ 3 │ -│ http://myfashihtzu.html?1=1&cid=65625f313230303&po_yers=2013/07 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://forum/topnews/222968695,910112_1164074834-908745 │ 3 │ -│ http://smeshariki.ru/chipinfo │ 3 │ -│ http://afisha.yandex.ua/index.ru/recipe │ 3 │ -│ http://avtoto.ashx/1001087496197797217530729; Media Centernet_mastersburg │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://votpusk.ru/ │ 3 │ -│ http://video.yandex.ru%2F%2Fwww.bonprix │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://smeshariki.ru/index.ru/main.pl?cmd=show/47555 │ 3 │ -│ http://bdsmpeople.ru/Web/price │ 3 │ -│ http://sendflower │ 3 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 3 │ -│ http://afisha.mail.ru/stars/page │ 3 │ -│ http://smeshariki.ru/Web/price │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://irr.htm?from]=&int[852][to]=10&lastdiscussins/?keyworld │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stories.ru/art/MACKLEMORE │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountry │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://kurort/SP1399&op │ 3 │ -│ http://forum/topnews/2229362067528195&op_categoriya │ 3 │ -│ http://nizhnieie-bielie-bieriends&fb_source-temno │ 3 │ -│ http://afisha.yandex.php?link=114735200&brand=23368 │ 3 │ -│ http://afisha.yandex.php?w=3160/transports │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://pogoda.turizm.ru/communit=0&vip=0&order_by=2 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://wildberries.ru/page=0&vip │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://zarplata.ru/?p=1290&op_product_price=990348531&schoosOSRquM8gE&where=all... │ 3 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&top │ 3 │ -│ http://guid=6&pw=2&pv=0&po_yers=0&with_video │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://my.alpari.ru/filmId=yJg89hqV8gE&where=all&film/530/?fromCityCodeForcentr... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://radiorecord.ru │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&text=\x... │ 3 │ -│ http:%2F%2Fmuzhchine/ru-g-Chelya_v_tsentyabrskii │ 3 │ -│ http://gorbus.aspx#localiformalitic │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://ej.ru/muss/roll_to_audi/mode=replies │ 3 │ -│ http://ur.hh.ru/file/news/2013 \xD0\xB3\xD0\xBE\xD0\xB4\xD0\xB0 │ 3 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 2 │ -│ http://edp2.adrive_type=4754679564&pt=b&pd=9&price │ 2 │ -│ http://pogoda.yandex.ru/jobinmoscow │ 2 │ -│ http://auto.ria.ua/auto_auto.ria │ 2 │ -│ http://afisha.mail.ru/cheva.ru/reportby │ 2 │ -│ http://pogoda.yandex.php?t=14555667679/?PAGEN_3=5&s_yers=0&numphoto/62232/7#f │ 2 │ -│ http://wildberries<{bonprix.ru/forum.materinburg │ 2 │ -│ http://smeshariki.ru/kitched_country=-1&target= │ 2 │ -│ http://balance/#21792/guest=\xD1\x89\xD0\xB5\xD0\xBD\xD0\xBA\xD0\xBE \xD0\xB8 \... │ 2 │ -│ http://yartb.html?city=55&TopicID=2&IsOrderedProduct │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://smeshariki.ru/user_id=1&bodystyle=0&vip=&int[12][from=last_auto_id=13143... │ 2 │ -│ http://video=0&wi=1362653061306535333&site_id=&auth │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://en.lyrsense.com/iframe-owa.html?query=2&hide_black.asp?TOPIC_ID=914958&o... │ 2 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=2furii10.html?city=0&hide │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://ur.hh.ru/page=10&can_be_checked_auto_region=1&rm=1&lang=all&film/18212.1... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://forum.php?t=420 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://mysw.info/node/21544 │ 2 │ -│ http://3dnews.ru/iva-vesta.info.php?link=114737131 │ 2 │ -│ http://guid=6&pw=2&pv=0&price=690&s_yers=1916 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://pogoda.yandex.ru/places/premiery%2Fpage=2&confiscategoriya │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://rlsnet.ru/nogin.html5/v12 │ 2 │ -│ http://spb/event=big&marka=84&model=0&auto_id=0&s_yers=0&pv=10&category_name=\x... │ 2 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD1\x81\... │ 2 │ -│ http://sslow_13500000%26rnd%3D278888 │ 2 │ -│ http://moscow/detail/Torgovljatory/storii_efferanslyatting │ 2 │ -│ http://wildberries.ru/editem_no=100¤cy=1#country=&op_proizvodskaya-obuv-z... │ 2 │ -│ http://wildberries.ru/filmId=4920/room=1&lang=all&filmId=DnGbyVQVUXI&wheretomug... │ 2 │ -│ http://video.yandex.html5/v12 │ 2 │ -│ http://loveplants/740392319 │ 2 │ -│ http://yaroslavl.irr │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 2 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 2 │ -│ http:%2F%2Fwww.bonprix.ru/search=0&deletedAutos&marketing │ 2 │ -│ http://wildberrin/foton │ 2 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 2 │ -│ http://smeshariki.ru/product&op │ 2 │ -│ http://ssl.hurra.com.ua/auto_repairs=0&page=10&category_id=detail │ 2 │ -│ http://poisk.ru/news/articles │ 2 │ -│ http://afisha.yandex.php?id=1620_4_licanel │ 2 │ -│ http://afisha.yandex.php?s=4d450&pid │ 2 │ -│ http://afisha.yandex.ru/?trafkey=54073799 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://video.yandex.ru/rent/info/messa.ru │ 2 │ -│ http://afisha.yandex.php?city=418&view │ 2 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.415 user 0.532000 sys 0.028000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -┌────────────────┬────────────────┬─────────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ TraficSourceID │ SearchEngineID │ AdvEngineID │ src │ dst │ pageviews │ -├────────────────┼────────────────┼─────────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33069 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 24703 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 15817 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 14233 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 │ 6549 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 │ 5257 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 5257 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 3547 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login │ 3538 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik │ 3371 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php │ 3333 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 3309 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 2923 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 2616 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 2441 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php │ 2418 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 2390 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari │ 2367 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 2349 │ -│ 1 │ 0 │ 0 │ https://google.com.ua/url?sa=t&rct │ http://komme%2F27.0.1453.116 │ 2228 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 1920 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://komme%2F27.0.1453.116 │ 1679 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ekburg.irr.ru%2Fpuloveplanet │ 1340 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://aliningrad │ 1270 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1254 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1213 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1193 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1186 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1142 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F27.0.1453.116 │ 1007 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 954 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://aliningrad │ 859 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login │ 821 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 791 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 777 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 757 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 722 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://video.yandex.php │ 702 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 691 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/obucheyelants │ 684 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 632 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 593 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 577 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://smeshariki.ru/obucheyelants │ 566 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.php │ 452 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 445 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBA\xD0\xBE\xD0\xBD\xD1\x82\xD1\x80\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 422 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 421 │ -│ 0 │ 0 │ 0 │ │ http://obninsk/detail │ 407 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 386 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug.ru │ http://irr.ru/index.php │ 374 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru/index │ 360 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 348 │ -│ 2 │ 0 │ 13 │ │ http://komme%2F27.0.1453.116 │ 347 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-2011/43597 │ 293 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 293 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6HS │ 282 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 268 │ -│ 3 │ 72 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 267 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 259 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 257 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari │ 256 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 │ 241 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login │ 237 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 │ 236 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/28435&lr=157 │ http://komme%2F27.0.1453.116 │ 233 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/ru/photo/6936313555&text=\xD1\x85\xD0\xBA \xD0\xBB\xD0\xBE\xD... │ http://komme%2F27.0.1453.116 │ 224 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php │ 223 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cat/dushkirillovyj │ http://komme%2F27.0.1453.116 │ 222 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=359&op_page2/... │ 218 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kriminally-bezhevsk │ 217 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0 │ 212 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 207 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 202 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 199 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://ekburg.irr.ru%2Fpuloveplanet │ 199 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 198 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 197 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 195 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/414526863.xlsx │ 191 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CDMQFjAJ │ http://irr.ru/index.php?showalbum/login-kiriskaya-obl.irr.ru/index.ru/GameMain.... │ 190 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=0&with_photo.ashx/101/4/?cat=6257271 │ 188 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=partments-sale/search?text=\xD1\x81\xD0... │ 187 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://afisha.yandex.ru/index │ 183 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://ekburg.irr.ru%2Fpuloveplanet │ 171 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 168 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 164 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 163 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://ekburg.irr.ru%2Fpuloveplanet │ 160 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 160 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/life.ru/cars/misc/travel.ru/?trafkey=058143&p... │ 155 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 │ 154 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=577&oki=1&oby=&op_s... │ 152 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://wildberrior/uphold │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6HS │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 149 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 146 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustic/meterburg │ 144 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 144 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 144 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E │ 141 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 140 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 136 │ -│ 1 │ 0 │ 0 │ http://kombardighantnie │ http://komme%2F27.0.1453.116 │ 136 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login │ 135 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kysjacevtika │ 132 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://komme%2F27.0.1453.116 Safari │ 124 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 121 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category/stroy/dachines... │ 114 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/?state │ http://komme%2F27.0.1453.116 │ 113 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/GameMain │ http://komme%2F27.0.1453.116 │ 113 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 111 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login │ 110 │ -│ 3 │ 85 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 110 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kardigan │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 107 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosoftwarenok.ru/projects/zhbi.po... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 105 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268143.html?1=1&cid=577&o... │ 104 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 104 │ -│ 0 │ 0 │ 0 │ │ http://tvidi.ru/photo=0&confiscategory_id=0&engineVolumeFrom=&fuelRateFrom=type... │ 103 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 102 │ -│ 3 │ 14 │ 0 │ │ http://komme%2F27.0.1453.116 │ 102 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 100 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 98 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://video.yandex.php │ 97 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 96 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.21150895 │ 96 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?sort=price │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 95 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login │ 95 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.12.388 │ 93 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 93 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 92 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberrior/uphold │ 92 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 91 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-tanks/search=1&ady=62&modeloveplanet.ru │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 90 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.145332.15&he=10&category_id=2740387993 │ 89 │ -│ 1 │ 0 │ 0 │ http://in-the-weightEnd=2351&numphoto=&isExclusiver.ru/alertljus │ http://komme%2F27.0.1453.116 │ 88 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fprodazha_Italja_unit=1&av=1&nm=1&lang=ru │ http://irr.ru/index.ru/show/414526863.xlsx │ 87 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 86 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb1.html?item_no=386703/?bundle=7172&msid=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 86 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 │ 85 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 84 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733582852/ │ 84 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupit/action │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 82 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 82 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?bodystyle │ http://komme%2F27.0.1453.116 │ 81 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F22.14&he=768486 │ 81 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusk.ru/ru/lookaginitial/Prodayu-Dach... │ 80 │ -│ 3 │ 4 │ 0 │ │ http://komme%2F27.0.1453.116 │ 80 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 79 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://aliningrad │ 78 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 78 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login │ 76 │ -│ 1 │ 0 │ 0 │ https://go.1ps.ru/show&showforum │ http://komme%2F27.0.1453.116 │ 76 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandex.ru │ http://komme%2F27.0.1453.116 │ 76 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26221/detail.ru/v1496366&... │ 75 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php │ 75 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 74 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%2F&sr=http://bonprix.ru... │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len80/page/product │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filtr/all/perm.pulscen... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 73 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 73 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F1.7.1364.172 │ 72 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://diary.ru/forum/intries │ 72 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/show/414526863_112 │ 72 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2618561&pp=1059&op_produc... │ 72 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://video.yandex.php │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 71 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 71 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari │ 71 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://aliningrad │ 71 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=product_id=42&Selection.chelov.ru/searc... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/yandsearch?te... │ http://irr.ru/index.php │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/server=sc.chel.ru/main... │ http://irr.ru/index.php │ 70 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification/?year=\xD0\xB1\... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2791954~43.87725656132&op... │ 69 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://komme%2F27.0.1453.116 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/produkty/bleacs/udilis... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 69 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&wi=1366&br... │ 68 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 67 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731&CgID=124jc&where=all... │ 66 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/Yozh/Goodda │ http://komme%2F27.0.1453.116 │ 66 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2725215195&ti=\xD0\x9F\xD... │ 66 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://ekburg.irr.ru%2Fpuloveplanet │ 65 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru/index │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 64 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://afisha.yandex.ru/index │ 64 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nmg.com%2F4.0 Safari%26clients-sale/search&e... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 63 │ -│ 2 │ 13 │ 13 │ │ http://komme%2F27.0.1453.116 │ 62 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 62 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login │ 62 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://ekburg.irr.ru%2Fpuloveplanet │ 61 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 61 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 61 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26092.html?s_text=\x5C\x5... │ 59 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/thenon-houses/public/g... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27755f32316.30; .NET CLR ... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742/details/?cauth=0&dam... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fautoad/kniga.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26004/?_h=galle/\xD0\xBF\... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert27930555&sob=1&p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2692.html%3Fhtml?period=3... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/world/photo31469:Album... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=leting "HalUXI&where=\xD0\x9F\xD0\xB5\xD1\x8... │ http://irr.ru/index.php?showalbum/lofiver.ru/articles/86121%26uid%3D139750%26ad... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27000,224648804-recept-so... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/koshka.com/ig/iframe-o... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/realty/suntime-5/extre... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory=cinema.perm.p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742304][from]=&int[14670... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742357/detskii_gosts.xml... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694336/photo/suzannason/... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Forum25/top... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 57 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupit/action │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268320995,968650f45491882... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1375605&ga... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://video.yandex.php │ 56 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga/choice/... │ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_product_... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?showtopic,5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26017/quarius_Moscow/cavi... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2726125413975d77cf&search... │ 55 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 54 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266848223/review_type=pro... │ 53 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 53 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26989%26bt%3Dad.adriver.r... │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/album/login-1800002&pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 52 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0 │ 51 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2698172,93932353064614618... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605085268a9c4d61-9862.49... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-36575c72937][to]=&int[12822304 │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_v_bordovye-printime.ru │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/investate/comple/make/?page5/&docid=jlMNIrXw... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 50 │ -│ 0 │ 0 │ 0 │ │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 50 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F11.7.1364 │ 50 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 50 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26051.htBeg=6&NightRegist... │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD0\xB8\xD0\xB1... │ 49 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 49 │ -│ 5 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 49 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?group=days=3&text=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27410/photo-2.xhtml&serve... │ 48 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandsearch │ http://komme%2F27.0.1453.116 │ 48 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 48 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusty-i-vkont.at.ua/search=0&userId=0... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266128182&op_seo_entry/de... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?sort=&br... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/intrumen │ 46 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://afisha.yandex.ru/index │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumanegenre=33155?analog/kitchen_mini... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik │ 46 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login%2Flick.g.doubleclick.diary.ru/car/kw/3061/us... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://afisha.yandex.ru/index │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734.html_params%3Dfh_loc... │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/GameMain.p1Yo4A │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ua/searchads/jo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605906/frl-2/sportal.ru/... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fshow/lpp/cre.ru/pers... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.asp?search&ev... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logize.ru/msk/events_liver.ru/russert-plies.r... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26099486633033&countpage=... │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 43 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://sslow_135000008&position=search │ 43 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischet-solik/odezhda-plos... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert277553/38021/66936575776/... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271050&with_photo.kurortm... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 43 │ -│ 1 │ 0 │ 0 │ http://forums/liii-kuler S22oHgBJTngegotavgorod55.ru/filtr[2]=42 │ http://komme%2F27.0.1453.116 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-folders/?end=9a08488... │ http://irr.ru/index.php?showalbum/litamak.irr.ru/catalog/8570/travel.ru/cgi-bin... │ 41 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 41 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 41 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/0001216629/#top_by │ 41 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26040931&s_yers=0&with_vi... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://ekburg.irr.ru%2Fpuloveplanet │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.137508&s_yers=200... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://aliningrad │ 40 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logito8ergo_6470/page_type_id=20872/0/001:12:... │ 40 │ -│ 0 │ 0 │ 0 │ │ http://afisha.mail.ru/dmitrij │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/readar-nashi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27924563724&key=46960/med... │ 40 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://lib.ru/exp?sid=3205&bt=7&bn │ 40 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 39 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credit │ http://komme%2F27.0.1453.116 │ 38 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=8570/page=5&s_yers=2006 │ 38 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2679/detail/5482,935033/2... │ 38 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 38 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login │ 37 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dnevnoy-kv-Samara.irr.ru/searchAutos&marka=4... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 37 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://komme%2F27.0.1453.116 │ 37 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=theating&page=... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?group │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2784389/room=39695,966681... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/forum/topicID=269&stat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/votkim-rukav-i-kova-ul-adve... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wolf-club478561/OPEL | \xD0\xB0\xD0\xB2\xD1\... │ http://irr.ru/index.php?showalbum/login-marka=13&city&custom=0&damages/0001216 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filmId=xFX1UbTNJjxe4yF... │ http://irr.ru/index.php?showalbum/login.asp?razdel7/test/matched=115909d9_dsc07... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27553&s_yers=0&po_yers/46... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert275226607660?design=6efxq... │ 36 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=show=&fgroup-tab-mara.irinables/yearT... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278171&size=52094&op_seo_... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27330528/photo/6223799%26... │ 36 │ -│ 5 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://smeshariki.ru/obucheyelants │ 36 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36&he │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=post_neu%3D22%26pz%3D0%26rleurl%3D%26xp... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 35 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/8569 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/index.ru/katego... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vip.ru/book.com/photo/7086/page=0&state=mont... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-cukickdrops_bak_yant4tlGtZgy3BQ&bvm=bv.49478... │ http://irr.ru/index.php?showalbum/login-501-98552&op_uid=1060948/6#f │ 35 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (Windows │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19&m_staraya-obl │ http://irr.ru/index.ru/show/414526863_112 │ 34 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.12.388 │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/promo=C-Tease/rent/dat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 34 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_uid=1... │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/list │ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 34 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/directadvert/kavanga_728x90.html │ http://komme%2F27.0.1453.116 │ 34 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshops.xml?typ │ http://komme%2F27.0.1453.116 │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?cPath=default.ru/yandex.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33 │ -│ 1 │ 0 │ 0 │ http://auto.ria.ua/\xD0\x9A\xD0\xBB\xD0\xB8\xD0\xBC\xD0\xB0\xD1\x82\xD1\x8C\xD1... │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://video.yandex.php │ 33 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 33 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser │ 33 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265748ba3f755671_1162684&... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertif?sle=85000 \xD0\xB4\xD0... │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364 │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/pub │ 32 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zxcvbnm1990&search/jobinmoscow.ru/yandex.by/... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements-obschaya │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fproduct/foto-4/login... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&op_category_id=1174]... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniturers_id=575386110 │ http://irr.ru/index.php?showalbum/login.exit/rem/php/board/10_kruizer_8267049&o... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiepochto_id=93231238][to... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://afisha.yandex.ru/index │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ssl.hurra.com/iframe │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischuk_Kerasivye-klavik/?... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/jobs-education/m_acces... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26791e3a7c543c9bf9ef5c0-9... │ 31 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt │ http://komme%2F27.0.1453.116 │ 31 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertificia/?letteo_985428161/... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_api.php?cid=41389/rooms/perm.pulscen.ru/sear... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 30 │ -│ 1 │ 0 │ 0 │ http://domchelov.html&lr=55&text=\xD0\xB4\xD1\x80\xD1\x83\xD0\xB3\xD0\xB8\xD0\x... │ http://komme%2F27.0.1453.116 │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoryID=12452929587/... │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 30 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 30 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268630533&site_ot=&price_... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-k608i.trashbox.ru/cars/page5/&docid=577&lr=2... │ http://irr.ru/index.php?showalbum/logii_58247.php?forum.borovichy77/page5 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2716/~3/150160947694,9745... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2696374/#page/tab=com_avt... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/products/?category_id=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 30 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.14&he=768&wi=1920 │ 30 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/topic │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605446518%2F&sr=http://e... │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26979553039353936694&ch=u... │ 30 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://smeshariki.ru/obucheyelants │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-carava/fotok-8-steklove.ru │ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26928142&op_products/view... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kupibatikov/?recrete/personal/klimat.ru/work... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_countpage/1 │ 29 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x9A\xD0\xBE\xD1\x80\xD0\xBE\xD1\... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertifications[0][150]=60&inp... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/wedditeli_foto-2/__48/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274229696.0 (Windows)&bL=... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/click.net/paged=696&lo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-14132&with_photo=1&srtime-zone.net/catalog/t... │ http://irr.ru/index.php?showalbum/login-sierra%2Fdlia-zhienskaia-moda-zhiensmed │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 29 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704.html%3Fhtml5/v12/?fr... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2664952&xdm_p=1#country=-... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734/fotographic_2017666&... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategoriya/zhienskaya-... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9649.html%3... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/small_mercial-shoppicc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27350350394&ch=UTF-8&sF=1... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_seo_entr... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-baza/gadge... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27425.3120%26ntype_id=2&r... │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 28 │ -│ 1 │ 0 │ 0 │ https://directions[0][1541769377921968 │ http://komme%2F1.7.1364.172 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert272291684/hasimage=0&view... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13733097&op_categ... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/mann japanel/?text=\xD1\x81\xD0\xBC\xD0... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269500469412216388/detail... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-my-sovies/bebybum.homestion bonprix.ru/... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikarbox=2&tz=9b81998&po_y... │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?lang=all&fi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-176-kakaya-obl.irr.ru/search?lr=191&ei=N6rrg... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\xA4\... │ 28 │ -│ 3 │ 95 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-eve-nn.ru/cars/passenger/\xD0\x92\xD0\x90\xD... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/anime-2/#album/l... │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274236&pv=15&prr=8&sid=35... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/41452626u1zIq0SGLXCI │ 28 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic/8939858-59929477/detailshop │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://ekburg.irr.ru/#lingvo │ 28 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F22.14&he=768486 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678/page=2&marka=84&mode... │ 27 │ -│ 3 │ 2 │ 0 │ │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/search?cl4url=http://yandex.ru/online... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27013.ya.ru/sportalznakom... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert24061.jpg.html%3Fhtml?1=1... │ 27 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031343-sh-898675/sort=pri... │ http://irr.ru/index.php?showalbum/login-5158&jenre/slyudya_metroman.ru/GameMain... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19195/offset=101&district=&city&with_photo=¤cy │ http://irr.ru/img/catalog/53485785/topic/8939850.php?page=3&marka=84&mm │ 27 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 27 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 27 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fhit_list.html?s... │ http://irr.ru/index.php?showalbum/login-irake-myservierk-supierts%2F&ti=\xD0\x9... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-oleginnesujeli-i-centum=etarget=search?clid=... │ http://irr.ru/index.php?showalbum/login-kupe.html_params%3Drhost%3Dad.adriver.r... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27928092_price=\xD0\xBC\x... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/mazda-dievochnye_avari... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-19.xhtml?city_to_one=All&film]/on/orders/810... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/1.19.mobile_photo=6001... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27630/?item_id=0&bodystyl... │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ 1 │ 0 │ 0 │ http://bonprix_ru_11559&lr=12&usln │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lizova_ii_1112_1150&option[price_do=300... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E&wher... │ 26 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://obninsk/detail │ 26 │ -│ 1 │ 0 │ 0 │ http://yandex.ua/?target=search/tab=user │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detall/seconomicsmovinki │ http://komme%2F27.0.1453.116 │ 26 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login-jjjekrju-s-pring=1&price[price=\xD0\xBC... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/loginsk.irr.ru%2Fkategory_id=9204471-650/?_h=... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lejandsearch?text=\xD1\x82\xD0\xB8\xD1\x85\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert21124631/?Search.php │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification.ru/messa.ru/rea... │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 26 │ -│ -1 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_category... │ 26 │ -│ 3 │ 197 │ 0 │ │ http://komme%2F27.0.1453.116 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?messa.ru/worlds/page2/7277932582&text=\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 26 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-kupe-20010120652838799.html?n=7148.html... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemey-volvom80Cw&where=a... │ 26 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=607&state=4... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.22 (KHTML, like Gecko) │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 25 │ -│ 1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 25 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/people.ru/cars/passets... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731/?city=0&pvno=2&evlg=... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vivarki/redki_sdelaet-law.ru/produkty/kartgo... │ http://irr.ru/index.php?showalbum/login=driff/en-ru/?p=2#messages/00001216629 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 25 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert264314953); ru) AppleWebK... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.html&ei=GcXrUYe8F2DAU-RbuRlLMczoJ--5uDCx8 │ http://irr.ru/index.php?showalbum/login-132/#images/0000.h95/\xD1\x82\xD1\x8E\x... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search?text=myaccountry │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login │ 25 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://obninsk/detail │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguard-payments-sale/se... │ http://irr.ru/index.php?showalbum/login-88i8LaDyEkCVv6-DhRfEDcw==&action │ 25 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/yandex.ru/?f... │ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.ru/film/46351/frl-2/bage │ 25 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605838.html5/v12/?from=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-link=1147373-1&p=1&p=2&text=\xD0\xBC\xD0\xBE... │ http://irr.ru/index.php?showalbum/logisterlingvo/#! │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741559&t=5204/make=Chrys... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694589/detail/555-javata... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=shops.html?id=1&body_type=\xD0\xBF\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781472265&op_seo_entry=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626rleurl%3D//ad.adriver... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685/price_ot=&price=\xD0... │ 24 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://diary.ru/forum/intries │ 24 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-117031&op_category&op_seo_entry=&op_uid │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26685857947301_Zoryatiya/... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671291&fridgets/2012&pri... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27399992.php/board,13.0) ... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguar.ru/page4/?emain.a... │ http://irr.ru/index.php?showalbum/login=ogabass.ru/filmId=9WOqzzitive&view │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-annative-expressageId=0oVXx21hUXI&where=all&... │ http://irr.ru/index.php?showalbum/login-rybnovlevojj_mamountry=-1&type%3D0 │ 24 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://video.yandex.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo/7... │ http://irr.ru/index.php?showalbum/login-kupit-plitka-s-korsiety/art/151/n4p/160... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/intrumen │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kupalnaya_elit=&id=3&clid=9403&lr=1913849 │ http://irr.ru/index.php?showalbum/login-gallebia_zhurnalCall D.R.E.mp3ex.net/ph... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lolacake/tatyaka.html?1=1&cid=577&oki=1 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinglish.rus-l7-p70505-1... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/yandsearch?lr=1... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-yvaken/topic=7702.jpg.html?1=1&cid=577&... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=1&bc=3&ct=1&pr │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-547552/1/?sma=RAINBOW&op_uid=fdd1b9d2721728&... │ http://irr.ru/index.php?showalbum/login-kapusta-advertika/search/room=1&damage=... │ 23 │ -│ 1 │ 0 │ 0 │ http://auto_volkswagency=1&text │ http://komme%2F27.0.1453.116 │ 23 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgarials/commend/searchvage-2.html&dt=13734... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-tuniki_510... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263090024189-528619c2077/... │ 23 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/ru/index.ru%26bid │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333572620201709/page/10... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26939.html?page/3/#count=... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news/radio&clid=198555... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/kategory_id=5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2740974%26pz%3D0%26ar_sli... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 23 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/resultatya9176da22f1a521a5853.html&... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26600721376439322%26pz%3D... │ 23 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga_728x90.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://afisha.yandex.ru │ 22 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemennoke0070553995f27d6... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2697574697.html_param=0&u... │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-105vr/ │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=search.tutung/s... │ 22 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/wheel.ceratornaya_solnechka │ http://komme%2F27.0.1453.116 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-10760b31b65633eZateq eb806e887d9f15ccf593280... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2091&local=1&TypeSearch?mail.ru/yandsearch&c... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26058&nnum=s4746835895&op... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-the-ili-tempera-minsk.irr.ru/produkty/bluzki... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodny │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2649.html?pg=menu_29.jpg&... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739693071/pomer... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/v1465][from]=&int[157281 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-business/sale/ru/search?mail.ru/film%2Fbarna... │ http://irr.ru/index.php?showalbum/login-zakon_type=1&fuelRatesTypeSearch │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267830840994,95688781470%... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 22 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27200,55.7654.html_parat-... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26601629][from=&fuelRateT... │ 22 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&l... │ http://irr.ru/introlux_page5/2/page/Renaul.irr.ru/start=1500-rublic/gamemain/Tu... │ 22 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://ekburg.irr.ru%2Fpuloveplanet │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liliate_id=24145602&with_phoney.yandex.ru;ya... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-natashkarola.irr.ru%2Fviewforum/MsgList.html... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26900/technics-technics-t... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&city[7]=23239330794,25826044_Black_lis... │ 21 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?price_till beli.php?cx=015216684_36 │ http://komme%2F27.0.1453.116 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691_ru_17832523.html_par... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694,978825315f373400/det... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1) AppleWebKit%2F537 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/world/photo/41/62b1dfa450/3/women-clother%26tms%3D%26ev_ltx%3D... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/basketshop.ru/yandsear... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/forum%2Fukhov/l... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27025&Select[4][]=32598.h... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265228.html?1=1&cid=577&o... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo44953.116.php?t=4... │ http://irr.ru/index.php?showalbum/login=ko&page=0&view.aspx?group_cod_1s=85&key... │ 21 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://wildberrior/uphold │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/?from │ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/houses/passenge... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-dance/index.ru/?favorite_off=1&encoding&hl=\... │ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logino-s-grigerator/page1=&input_age1 │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cars/commeddesk.ru/google_s&12.5.746.59954.30 (KHTML, like/\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login.html?1=1&input_who1=2&input_who2=1&inpu... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/logii-bin/click.cgi%3Fsid%3D158195,97987231-9... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ramblery/pic/893985650697... │ http://smeshariki.ru/obucheyelants │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26737865/?page/12186/#/ec... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dietsik.ru/razdel_id=111,7,700&w=728x90.html... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929&from%3D%26custom=0&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/club.ru/anime-zone.ru/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-brie... │ 21 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739353/details.... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2186/detail.aspx#location... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kupalnik │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification%2F4.0; XBLWP7; ... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/9-0--navam-zhien... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741465][from]=&input_wit... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_uid=1147... │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login=uzpp2XnEw&bvm=bv.49784469][from │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 20 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-Larki-i-korobeg-1124-95367/guestblowinp... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26219&wi=1280&lo=http://w... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estatic.diary.ru/... │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=58&Selectronics-technics/k... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/yandex.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b706234651&op_uid=1&b... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?er=2&text=\xD0\xBA\xD1\x83\xD0\xBF\xD0\xB8\... │ http://irr.ru/index.php?showalbum/login=razer2.moikrug.ru/recipes/shop.spb │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://video.yandex.php │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=NeIdeaCenternet Explorer&aV=5.0 │ 20 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&price │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertificirovka.ru/noteating-i... │ 20 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271161076&st=261&t=170977... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate=0&ReturnUr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313163307/?from]=&int[15... │ http://che.ru/produkty_zarubezhei-niepochekhly │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_api.php?id=7262882,9454472&op_product_n... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604370757034dea482207549... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 20 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/cars │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-karbox=0&top=0&category/1961/#images/00... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26637&model=1705.html?1=1... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumilora481 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt=13733129/room │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-iulyanovskaya-obl/lyubvi?page=166733&eid=485... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27502/detail/?folders/#pa... │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626u1zIq0SGLXCI&where=al... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=240&u_cd=242035165&input_who2=1... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news_id_72387877055/nu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikulina.ru/real-estate/ou... │ 19 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?sort=popup/casualg... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBB\xD0\xB8\xD0\xBA\xD0\xBE\xD0\xBB\xD0\... │ http://irr.ru/index.php │ 19 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/filmId=eRaB4pYAXCI │ http://komme%2F27.0.1453.116 │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.ru/daily │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260540718534/?dateOn=1&bo... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login=perfect.yandex.ru%2Fkategoriya%2F537 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26672655462.html?city.ru/... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261921&pr=2441185112.html... │ 19 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostok.ru/cars │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671&Destige-all.html_par... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27404895,95923.html%26cus... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/check=1&redir=1&lang=a... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313437&pvno=2&evlg=VC,2;... │ http://irr.ru/index.php?showalbum/login-rizova.ru/look/timashirtsevm.cofe │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 19 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2638/?from=&raceTo=&power... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6HS │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166333/price[price_till]=&pri... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F_liveresum... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27355f3132366336601&uuid=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.php?f=11340.1j1j2.12...5998-103358071/8/page... │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/00007/10/1320006&p... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto_repai... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://smeshariki.ru/obucheyelants │ 19 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.15751 Safari%2F5.0 (Windows │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2675406828ac956028692581/... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://obninsk/detail │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26968794618/irr.ru/real-e... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2702483,631;IC,444041%2F&... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2629&lr=65&rstr=-213&text=back=False&withmos... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=http://video.yandex.ru/real-estate │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26669E116-1-1550046560013... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?search?text=\xD1\x80\xD1\x83\xD1\x81\xD0\xB... │ http://irr.ru/index.php?showalbum/login-inadlinny-sched_car=0&city=0&price=18&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274026181891&rn=52&brand=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/dlia-zhiensk... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&checked=0&state/room=10002-g-v-program... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-165&jenre]/49047&lr=163&text=samsung ga-moda... │ http://irr.ru/index.php?showalbum/login-2-komn-v-na-92f5-6ccf-fef3-013f9f926a21... │ 18 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ru/index │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5 │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?elmt=popular&where=all&film/723/num │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/restate/out-of-town-resh=1&cnt=1373... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2012-recept-Ragu-iz-2-x │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupaljinik-slidi/places/?PAGEN_1=2 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 18 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=deltec&type=citymo=&version%2F4.0 (Linu... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27534.30 (KHTML, like Gec... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kochtinsk.pulscendinskiy-krasnodar.irr.ru │ http://irr.ru/index.php?showalbum/login-kuplyuskij/zapchastorii_state/out │ 18 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login.moikrug.ru/catalog/otchenko-ul-advert27... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zzzi.ru/a-shop and blademas/?id=1&marka=0&ma... │ http://irr.ru/index.php?showalbum/login-2003prev=/search/index.ru/meteor.html%3... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\... │ 18 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27132069304;IC,1511e8d158... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278453&with_exchange=0&ex... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=367132&pv=2... │ 18 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27071038_114736895,923401... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x9A\... │ 18 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/8018&l=malkogo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27420780790931.html5/v12/... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kanza_tab_2499472&lr=1074&sort=popular │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-natura.ru/jobs-education=post_137336ID0... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/?target=search?... │ http://irr.ru/index.php?showalbum/login-bigutensiysk.irr.ru/regular&bid=3205&bt... │ 18 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-21102&text=\xD0\xB1\xD0\xB0\xD0\xB1\xD0\xBA\... │ http://irr.ru/index.php?showalbum/login.mospsy.ru/super-na-kostronics/tv-audio.... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/obuv%2F │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685&numphoto=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626p/ │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertimeshariki.ru/cgi-bin/cli... │ 18 │ -│ 1 │ 0 │ 0 │ https://diary.ru/magnitogorsk │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sien-zhienskaya-i-kvartir.html?id=1955451-01... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260908861%26point-peter=&... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeSearch?text=\xD0\xB2\xD0\xBA\xD1\x83\xD1... │ 18 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1453.116 Safari%2F8536 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=yators/?jumping.ru/series.ru/priceup&page=3&... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinger/\xD0\x93\xD0\x90\... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=36427929&stat... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929750%26ar_sliceid%3D2... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga1788778.137329TVmbFNmbVNaR0YwW$UyNDg4fxS... │ http://irr.ru/index.php?showalbum/login-sienskaia-moda-zhienskikh_rabotjaga.ru/... │ 18 │ -│ 4 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691c352005&pvno=2&evlg=V... │ 17 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27422544/3/womens.ru/ufa.... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru%2Ffilm/4858?pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/cars/communalux.ru/dos... │ http://irr.ru/index.php?showalbum/loshaya-obl.irr.ru/film/35562C?analytics/kto-... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271527091/frl-2/bage-2.ht... │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#7878... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.103402.html%3Fhtml │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=artira-Lyubyat │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.aspx#location │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=yes&y1=2013-07-07.ya.ru/5_search?text=\... │ 17 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://aliningrad │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.15.html?1=1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266149_51928/detail.ru/ka... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%26rleurl%3D%26CompPath%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2670308&po_yers=0&price_o... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2613168312.71 Safari%2F__... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_Bolers-device.aspx#commersanta_premiery... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=8&ch=UTF-8&ifr=1&av=1&nm=1&ved=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 17 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6HS │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-dlia-zhiensmed.ru/el... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginyazevskaya%2F5.0 (Windows NT 5.1) Prestorygoo... │ http://irr.ru/index.php?showalbum/login-kupilomatic.aspx#location=rr&days&city&... │ 17 │ -│ 1 │ 0 │ 0 │ http://bdsmpeople.ru/register2123 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logistereda.ru/photo/70861/6#f │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263161366&bid=2823&numpho... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowthreadreplies=24&ids=74&cu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313&ussp=mstp&usln=1&inp... │ http://irr.ru/index.php?showalbum/login-3767436/roomootofile/obzor.com/iframe │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26041.htm%3Fsid%3D0%26pz%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27595,9305f3931339322%26n... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273363331251798796&op_seo... │ 17 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/stan/index.kz/yandex │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertistia.html?partment/searc... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-search%3Futm_source=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031323532363&win=70&mode=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 3 │ 22 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://diary.ru/forum/intries │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 17 │ -│ 1 │ 0 │ 0 │ http://bibieters_sig=5ea8QizwGSPy0yGcm14ATH74D4Bw&usg=AFQjCNHxMZlonova.ru/p1847... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_style... │ 17 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/messar.ru/professig │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-futbolki-k... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lenfiki-zhienskaia-moda-muzhchin-sitafa ishq... │ http://irr.ru/index.php?showalbum/logical.ru/link=11485-9065383235348%2F&sr=htt... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261636/detail/odnoklassim... │ 17 │ -│ 1 │ 0 │ 0 │ http://acase.php?input_who1=2&input_who2=1 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.10 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694&option%2F12.14&he=76... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733145625/details... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268814453957595,94406/det... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26618531&t=111246.html?p=... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=Like Gecko) Chrome%2Fpotnik=1&price_do=&curr... │ http://irr.ru/index.php?showalbum/login-the-poxudet_sponsor=&o=6000708498/?caut... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-irina19910735%2F27.0.1453.116 Safari │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=bestwo.diary/details&id=9160/0/posti.ri... │ 17 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-53584715,1327288/belgium/arch=1&themec.... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b76faact/less=1&ru=1&... │ 17 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 16 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/category=cinem rasmusic │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27034195,9520160173/5/wom... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgas.rQRAX2Ua3IF1iHJcaz4ATv34DABw │ http://irr.ru/index.php?showalbum/login/?page=1024&wi=144438-88-3906740/currenc... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267044005320AA76)&vendor_... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098707209463401090/deta... │ 16 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search?clid=19554786.0.8.0.2.2003558_3497926... │ http://irr.ru/index.php?showalbum/logie-niz-doktops/electronics/4185570c72 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-herokee_tatus=1&rm=18606bAxFEcQT6smBB4W... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search/cuZXdzJTJGJmxyPTI4fQ,... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26396284046.xhtml%3Fhtml%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-plan... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&pt=b&pd=7&pw=2&page5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260612d7cf.4082813,74,756... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate/out-of-tow... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/page=91552&q=\... │ http://irr.ru/index.php │ 16 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/movinki... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?&clients-sale&siteurl%3D//ads/search?text... │ http://irr.ru/index.php?showalbum/login-kapusta-advert273786/foto-5/#photo=2817... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login.aspx?sle=13&s_yers=0&page_type=0&door=0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnaja-prost-petersburg/detail/?fold... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-krasok.html_params%3Drhost%3Dad.adriver │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661232&streamfood.com/if... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiensmed.ru/dl/\xD0\xB7\x... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti/redmonds %2F offset=403134333.2201560&c... │ http://irr.ru/index.php?showalbum/login-v40-velopiter.feriod=0&scroll_to_auto.r... │ 16 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/70948/35.htm?id=... │ http://irr.ru/index.php?showalbum/logiy-luchaiev%2F&sr=http:%2F%2Fwww.bonprix c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166303133334%2F&ei=horia+iudi... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26765.html_params%3Drhost... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-57548811426&text=\xD0\xBB\xD1\x83\xD1\x87\xD... │ http://irr.ru/index.php?showalbum/login-coolonellana-Molodilnik.ru/index.php?vi... │ 16 │ -│ 1 │ 0 │ 0 │ http://histore/profile;u= │ http://irr.ru/index.php?showalbum/login-kupe-20013&uuid=1373356164564_1sort/sta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/showtopic,803813.html&... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_catalog/1250/?itemsg/cd... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2755597.html%3Fhtml?1=1&c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=findjob.ru/planet.ru/index.ru/carinov.h... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert260477/cities/visas/exp?s... │ 16 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://video.yandex.php │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27429&input_bdsm_position... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2728024/detail/508/?instv... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26887301/Zona/simferopol.... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-153-4b9c4.4331626.htm?size%3D0%26rleurl │ 16 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect │ http://komme%2F27.0.1453.116 │ 16 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://msuzie-shop/premiery-c-38208_2.html │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-marka=23&model&desting?field_town/search/pri... │ http://irr.ru/index.php?showalbum/login-492ea9&show/417582,9626512874":10157628... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/posts&q=\xD0\xB2\xD0\xB5\xD0\xB4\xD1\x83\xD1... │ http://irr.ru/index.php?showalbum/login-mistore/#CATALOG_LIST-s-ovosibirsk/deta... │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/sch/price][min]=41&lr=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27364229586121%26url%3D%2... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ 1 │ 0 │ 0 │ http://volgografiyah_27_iyunya_50_let%2FgetId │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333%26bid%3D1%26rleurl%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-maritkiN │ http://irr.ru/index.php?showalbum/login-ladimir.irr.ru/remiery-telefon.ru │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new=127201148][fr... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661251-6efa-d61f-fef3-01... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/tv-audi/a7-spec=9894797179698712/p1/8... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti%2F%3Ff%3D100%&http://afisha.yandsearch&... │ http://irr.ru/index.php?showalbum/login-6030d.html_params%3Drhost%3D90%26height │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/7427510/detail/5... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269899458/price/3815&pvno... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=view/5/item3963... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logiste's a di galaxy-s4-story1.aspx#location... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5.0 (Win... │ 16 │ -│ 1 │ 0 │ 0 │ http://yandsearch?lr=2&color │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-gorod/search?p=7&oprnd=9902.jpg&img_url=http... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27222.vk.me/u3166 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2753][from]=&pricedownloa... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new10152954vac │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2735030373434-152495.php?... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makeevka.ru/perm.irr.ru/slingvo/#1\xD0\... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691.html?1=1&input_age2/... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26708662307][]=&selection... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313033393633310,932803][... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2010000087378687/pic/8939375f303839303935373... │ http://irr.ru/index.php?showalbum/login-souse=2/path=39_1.html?1=1&cid=577&oki=... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-irinakai/page_num_read2306e4574&ei=Ot_rUfjPG... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/artira │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/?strict=5710... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertists/736850/?item_no=737&... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2695/19545602cf94d77/repl... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumy.ua/search?text=\xD1\x81\xD0\xB5\... │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikal.ru/search/room=1&dam... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login/?do=ready-mansion%3D0%26url%3D%26bn%3D0... │ 15 │ -│ 1 │ 0 │ 0 │ http://forums/liiiervierk-suppohudeemvmesting/294465&op_categoriya │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb=1&prepairs=0&city[1 │ http://irr.ru/index.php?showalbum/lounona-muzhchin-kupaljinik-chernyj-odnoe/san... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&model=1173... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=new&cad=rjt&fu=0&input_country_id=228&lr=961... │ http://irr.ru/index.php?showalbum/login-cam.shtml#objdesc=true&uA=Mozilla │ 15 │ -│ 1 │ 0 │ 0 │ http://launcher-searchads/search │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-4433140796851/detail/536180&all=False&i... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26981583/page=1089592445/... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-album/login.2/second... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781308;IC,238208836746/0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginsk.eu/ru/Pagesize=13&m1=07 │ http://irr.ru/index.php?showalbum/login-3muda/truction/vacancies/750207190765.h... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_produkty/kiev.org/forum... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273631253711/foto-6320166... │ 15 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F1.7.1364.172 │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945HPS?analog/r10418/sort=price_do=200&site_off=1 │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 15 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshop/id_art_type=7&s_yers │ http://irr.ru/index.php?showalbum/login │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2724/?_h=search?text=\xD0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273389; U; Android 4.0.14... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-goluboj-podserial&dfs=13 │ http://irr.ru/index.php?showalbum/login-haus.html#news/228670,257&pci=3012/frl │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#67 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266356163f39ea6f8/7a8745&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/washes/built-in_two_ch... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26605566254/room=1.6&wher... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list.html?typ=SMA&anbieter=aleks_evilkos.com │ 15 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/state=1909644 │ http://afisha.yandex.ua/auto_id=0&with_photo.kurortmag.ru/razdnitsya-vishnury │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://irr.ru/index.ru/show/414526863_112 │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-land_search?text=\xD0\xB0\xD0\xBC\xD0\xB1\xD... │ http://irr.ru/6323%26bn%3D27888895,963095425 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?page37/?sta... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?Topic │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/index.ru/ange=0&s_yers=(3000&static.diary.ru... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/produkty%2Fplatj... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginskikh-viana.irr.ru/GameMain.aspx?sle=1/house.... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?transk.i... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678&op_page=60000/curren... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?Id=9582 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liloveplanet.ru/futurer533/women.aspx?group-... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2631920&lo=http://person_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.1Uv1UfqCA8SonYC4BQ&usg=AFQjCNGB3pBUuKY1jJPP3... │ http://irr.ru/index.php?showalbum/login-tank-sale/search%3Fmode=&page_type │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-tumbov.irr.ru/page1=&input_who1=2&id=29... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=alini... │ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2718599/photo=0&is_hot=0&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27515/418695&st=327-B110Q │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.php?city[1]=700003 │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2699364224073532663835386... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26761,55.654289600/detail... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login=vladimir/page_type=0&expand_search?text... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?dok=001&rightbox/week&From=0&user │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/frl-4/trailer/view/3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-lential/secondary/details9.html_params%... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27265484158197%26width%3D... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page9/#14... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=25127691%2F... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/ch/floore troubleclick... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-676216b8af/4fd00fa61b3185631821/page_ty... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/gamemain.asp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27877437494,943082&stat_t... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2730675595,9292fa-d61f-fe... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1955451&lr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienshchin-planet.ru/myma... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_appliazh-pliance/mista-bez-uchaiev/000202&cl... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginy_name/3196906481/currency=6465373200&price=\... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2776/?date=0&doorov.irr.r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-102-821922237&arrFilter2013/08-iH4AT5zIGQDA │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_type=&freetao.diary.ru/sea... │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 15 │ -│ 3 │ 123 │ 0 │ │ http://komme%2F27.0.1453.116 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Ford-antent... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 15 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nashinger/users/search?textilead&353%26ev_pl... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert276278-ploschaya_checked_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9584%26pz%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert262997385f32313335781094&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2693_763613.html_params%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/877/ru/buildin... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274298799461981/?date=129... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://ekburg.irr.ru%2Fpuloveplanet │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.10 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=on&input_onliner... │ http://irr.ru/index.php?showalbum/login.html%26custom%3D%26CompPath.2; WOW64; r... │ 15 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credir=1 │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/gosthelp.ru/auto.ria.... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=on&in... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/litlip/saint-peter557932E-8C62-4917%26ad%3D64... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-smi.org%2F40 (KHTML, like Gecko) Version... │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_sell/pansiyskaya-obl.irr.html%... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search?text=\xD1\x84\x... │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert269257798044.html_partmen... │ 15 │ -└────────────────┴────────────────┴─────────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.683 user 1.444000 sys 0.132000 -D 07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Run Time: real 1.480 user 0.196000 sys 0.048000 -D D (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Run Time: real 1.744 user 0.252000 sys 0.172000 -D " = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) ORDER BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))); -Run Time: real 0.508 user 0.712000 sys 0.024000 -D -D -D -D -D -D -D SELECT count(*) FROM hits;+ -┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 100000000 │ -└──────────────┘ -Run Time: real 0.010 user 0.080000 sys 0.000000 -D SELECT count(*) FROM hits WHERE AdvEngineID != 0;d -┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 630535 │ -└──────────────┘ -Run Time: real 0.639 user 0.520000 sys 0.060000 -D SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits;m -┌──────────────────┬──────────────┬──────────────────────┐ -│ sum(advengineid) │ count_star() │ avg(resolutionwidth) │ -├──────────────────┼──────────────┼──────────────────────┤ -│ 7280824 │ 100000000 │ 1513.48908394 │ -└──────────────────┴──────────────┴──────────────────────┘ -Run Time: real 0.053 user 0.780000 sys 0.044000 -D SELECT sum(UserID) FROM hits; -┌───────────────────────┐ -│ sum(userid) │ -├───────────────────────┤ -│ 3.230605869408804e+26 │ -└───────────────────────┘ -Run Time: real 0.039 user 0.604000 sys 0.004000 -D SELECT COUNT(DISTINCT UserID) FROM hits; -┌───────────────┐ -│ count(userid) │ -├───────────────┤ -│ 17630976 │ -└───────────────┘ -Run Time: real 8.105 user 9.812000 sys 0.996000 -D SELECT COUNT(DISTINCT SearchPhrase) FROM hits; -o┌─────────────────────┐ -│ count(searchphrase) │ -├─────────────────────┤ -│ 6019589 │ -└─────────────────────┘ -Run Time: real 12.975 user 17.084000 sys 1.176000 -D SELECT min(EventDate), max(EventDate) FROM hits; -o┌────────────────┬────────────────┐ -│ min(eventdate) │ max(eventdate) │ -├────────────────┼────────────────┤ -│ 15888 │ 15917 │ -└────────────────┴────────────────┘ -Run Time: real 0.338 user 0.560000 sys 0.040000 -D SELECT AdvEngineID, count(*) FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC;s -┌─────────────┬──────────────┐ -│ AdvEngineID │ count_star() │ -├─────────────┼──────────────┤ -│ 2 │ 404620 │ -│ 27 │ 113167 │ -│ 13 │ 45633 │ -│ 45 │ 38974 │ -│ 44 │ 9731 │ -│ 3 │ 6896 │ -│ 62 │ 5266 │ -│ 52 │ 3554 │ -│ 50 │ 938 │ -│ 28 │ 836 │ -│ 53 │ 350 │ -│ 25 │ 343 │ -│ 61 │ 158 │ -│ 21 │ 38 │ -│ 42 │ 20 │ -│ 16 │ 7 │ -│ 7 │ 3 │ -│ 22 │ 1 │ -└─────────────┴──────────────┘ -Run Time: real 0.030 user 0.456000 sys 0.000000 -D SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10; -┌──────────┬─────────┐ -│ RegionID │ u │ -├──────────┼─────────┤ -│ 229 │ 2845673 │ -│ 2 │ 1081016 │ -│ 208 │ 831676 │ -│ 169 │ 604583 │ -│ 184 │ 322661 │ -│ 158 │ 307152 │ -│ 34 │ 299479 │ -│ 55 │ 286525 │ -│ 107 │ 272448 │ -│ 42 │ 243181 │ -└──────────┴─────────┘ -Run Time: real 9.257 user 11.444000 sys 1.204000 -D SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10;i -┌──────────┬──────────────────┬──────────┬──────────────────────┬───────────────┐ -│ RegionID │ sum(advengineid) │ c │ avg(resolutionwidth) │ count(userid) │ -├──────────┼──────────────────┼──────────┼──────────────────────┼───────────────┤ -│ 229 │ 2078084 │ 18296430 │ 1506.0876750819696 │ 2845673 │ -│ 2 │ 441711 │ 6687708 │ 1479.8410618406187 │ 1081016 │ -│ 208 │ 285925 │ 4261945 │ 1285.260504769536 │ 831676 │ -│ 169 │ 100887 │ 3320286 │ 1465.90517142198 │ 604583 │ -│ 32 │ 81498 │ 1843721 │ 1538.0370495318978 │ 216010 │ -│ 34 │ 161779 │ 1792406 │ 1548.364990409539 │ 299479 │ -│ 184 │ 55526 │ 1755223 │ 1506.8102679830426 │ 322661 │ -│ 42 │ 108820 │ 1542771 │ 1587.1074287758845 │ 243181 │ -│ 107 │ 120470 │ 1516722 │ 1548.6039623609336 │ 272448 │ -│ 51 │ 98212 │ 1435598 │ 1579.8864215469791 │ 211505 │ -└──────────┴──────────────────┴──────────┴──────────────────────┴───────────────┘ -Run Time: real 10.892 user 14.136000 sys 1.056000 -D SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(MobilePhoneModel) > 0 GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;e -┌──────────────────┬─────────┐ -│ MobilePhoneModel │ u │ -├──────────────────┼─────────┤ -│ iPad │ 1090347 │ -│ iPhone │ 45758 │ -│ A500 │ 16046 │ -│ N8-00 │ 5565 │ -│ iPho │ 3300 │ -│ ONE TOUCH 6030A │ 2759 │ -│ GT-P7300B │ 1907 │ -│ 3110000 │ 1871 │ -│ GT-I9500 │ 1598 │ -│ eagle75 │ 1492 │ -└──────────────────┴─────────┘ -Run Time: real 2.245 user 5.984000 sys 0.540000 -D SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(MobilePhoneModel) > 0 GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;, -┌─────────────┬──────────────────┬────────┐ -│ MobilePhone │ MobilePhoneModel │ u │ -├─────────────┼──────────────────┼────────┤ -│ 1 │ iPad │ 931038 │ -│ 5 │ iPad │ 48385 │ -│ 6 │ iPad │ 29710 │ -│ 7 │ iPad │ 28391 │ -│ 118 │ A500 │ 16005 │ -│ 6 │ iPhone │ 14516 │ -│ 26 │ iPhone │ 13566 │ -│ 10 │ iPad │ 11433 │ -│ 32 │ iPad │ 9503 │ -│ 13 │ iPad │ 9417 │ -└─────────────┴──────────────────┴────────┘ -Run Time: real 2.461 user 6.304000 sys 0.532000 -D SELECT SearchPhrase, count(*) AS c FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;+ -┌────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchPhrase │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 70263 │ -│ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 34675 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 24579 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 21649 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 19703 │ -│ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 19195 │ -│ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 17284 │ -│ galaxy table │ 16746 │ -│ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 16620 │ -│ \xD1\x81\xD0\xBA\xD0\xBE\xD0\xBB\xD1\x8C\xD0\xBA\xD0\xBE \xD0\xBC\xD1\x8B\xD1\x... │ 12317 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 1.045 user 14.536000 sys 0.016000 -D SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;m -┌────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchPhrase │ u │ -├────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 23673 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 19743 │ -│ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 18394 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 17553 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 14600 │ -│ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 14529 │ -│ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 14198 │ -│ \xD1\x81\xD0\xBA\xD0\xBE\xD0\xBB\xD1\x8C\xD0\xBA\xD0\xBE \xD0\xBC\xD1\x8B\xD1\x... │ 9007 │ -│ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 8792 │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xB1\xD0\xB8\xD0\xBD\xD0\xB8\xD1\x80\xD0\xBE\xD0\xB... │ 7572 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 14.072 user 18.988000 sys 1.104000 -D SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;m -┌────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchEngineID │ SearchPhrase │ c │ -├────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ 2 │ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 46258 │ -│ 2 │ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 18871 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 16905 │ -│ 3 │ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 16748 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 14911 │ -│ 2 │ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 13716 │ -│ 2 │ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 13414 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 13105 │ -│ 3 │ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 12815 │ -│ 2 │ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 11946 │ -└────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 1.297 user 18.044000 sys 0.072000 -D SELECT UserID, count(*) FROM hits GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -┌─────────────────────┬──────────────┐ -│ UserID │ count_star() │ -├─────────────────────┼──────────────┤ -│ 1313338681122956954 │ 29097 │ -│ 1907779576417363396 │ 25333 │ -│ 2305303682471783379 │ 10611 │ -│ 7982623143712728547 │ 7584 │ -│ 6018350421959114808 │ 6678 │ -│ 7280399273658728997 │ 6411 │ -│ 1090981537032625727 │ 6197 │ -│ 5730251990344211405 │ 6019 │ -│ 835157184735512989 │ 5211 │ -│ 770542365400669095 │ 4906 │ -└─────────────────────┴──────────────┘ -Run Time: real 1.002 user 12.864000 sys 0.004000 -D SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10;l -┌─────────────────────┬──────────────┬──────────────┐ -│ UserID │ SearchPhrase │ count_star() │ -├─────────────────────┼──────────────┼──────────────┤ -│ 1313338681122956954 │ │ 29097 │ -│ 1907779576417363396 │ │ 25333 │ -│ 2305303682471783379 │ │ 10611 │ -│ 7982623143712728547 │ │ 6669 │ -│ 7280399273658728997 │ │ 6408 │ -│ 1090981537032625727 │ │ 6196 │ -│ 5730251990344211405 │ │ 6019 │ -│ 6018350421959114808 │ │ 5990 │ -│ 835157184735512989 │ │ 5209 │ -│ 770542365400669095 │ │ 4906 │ -└─────────────────────┴──────────────┴──────────────┘ -Run Time: real 2.324 user 30.028000 sys 0.292000 -D SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10; -h┌─────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬──────────────┐ -│ UserID │ SearchPhrase │ count_star() │ -├─────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼──────────────┤ -│ 1032076697239282790 │ \xD0\xBA\xD0\xBE\xD0\xBB\xD0\xBF\xD0\xB8\xD0\xBD\xD0\xBE \xD0\xBC\xD0\xBE\xD0\x... │ 2 │ -│ 2291669706871953428 │ │ 1 │ -│ 962730767009225899 │ │ 4 │ -│ 2233663724416113367 │ \xD0\xB6\xD0\xB0\xD0\xBD\xD0\xBD\xD1\x8B\xD0\xB5 \xD0\xB8\xD0\xB3\xD1\x80\xD0\x... │ 2 │ -│ 933748801326509236 │ │ 9 │ -│ 439500307031004026 │ \xD0\xB2\xD1\x81\xD0\xB5\xD0\xBB\xD1\x8F\xD1\x8E\xD1\x89\xD0\xB8\xD0\xB9 \xD1\x... │ 1 │ -│ 5695875839448562 │ │ 1 │ -│ 7102459534329662426 │ │ 3 │ -│ 1468681479646296604 │ \xD1\x81\xD0\xBC\xD0\xB5\xD1\x81\xD0\xB8\xD1\x82\xD0\xB5\xD1\x82 \xD0\xBC\xD0\x... │ 1 │ -│ 737933678636519547 │ │ 22 │ -└─────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴──────────────┘ -Run Time: real 1.908 user 29.032000 sys 0.268000 -D SELECT UserID, extract(minute FROM (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) AS m, SearchPhrase, count(*) FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10;) -┌─────────────────────┬────┬──────────────┬──────────────┐ -│ UserID │ m │ SearchPhrase │ count_star() │ -├─────────────────────┼────┼──────────────┼──────────────┤ -│ 1313338681122956954 │ 31 │ │ 589 │ -│ 1313338681122956954 │ 28 │ │ 578 │ -│ 1313338681122956954 │ 29 │ │ 572 │ -│ 1313338681122956954 │ 33 │ │ 567 │ -│ 1313338681122956954 │ 27 │ │ 557 │ -│ 1313338681122956954 │ 32 │ │ 554 │ -│ 1313338681122956954 │ 30 │ │ 552 │ -│ 1313338681122956954 │ 34 │ │ 546 │ -│ 1313338681122956954 │ 26 │ │ 540 │ -│ 1313338681122956954 │ 10 │ │ 539 │ -└─────────────────────┴────┴──────────────┴──────────────┘ -Run Time: real 4.255 user 50.680000 sys 1.116000 -D SELECT UserID FROM hits WHERE UserID = 12345678901234567890;L -Run Time: real 0.258 user 0.260000 sys 0.000000 -D SELECT count(*) FROM hits WHERE URL::TEXT LIKE '%metrika%';e -┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 211 │ -└──────────────┘ -Run Time: real 2.665 user 42.256000 sys 0.000000 -D SELECT SearchPhrase, min(URL), count(*) AS c FROM hits WHERE URL::TEXT LIKE '%metrika%' AND octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;u -┌────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───┐ -│ SearchPhrase │ min(url) │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───┤ -│ \xD0\xB8\xD1\x89\xD1\x83 \xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD1\x82\xD0\xB0 \xD0\... │ http://smeshariki.ru/index.ua/advanceForce.1primea/forum=1&district=25586/page4... │ 1 │ -│ \xD1\x82\xD0\xB5\xD0\xBA\xD1\x81\xD1\x82\xD1\x8B \xD0\xBF\xD0\xBE\xD0\xB4\xD1\x... │ http://bdsmpeople.ru/index.ru/metrikadeletedAutoSearch │ 1 │ -│ \xD0\xBE\xD0\xBA\xD0\xB5\xD0\xB0\xD0\xBD\xD1\x81\xD0\xBA\xD0\xBE\xD0\xB5 \xD1\x... │ http://bdsmpeople.ru/index.ru/metrikadeletedAutoSearch │ 1 │ -│ \xD1\x80\xD0\xB5\xD1\x86\xD0\xB5\xD0\xBF\xD1\x82 │ http://smeshariki.ru/index.ua/search/metrikanske-urali-belorussia/28.html?1=1&c... │ 1 │ -│ \xD0\xB4\xD0\xB8\xD0\xBD\xD0\xB0 \xD0\xB2\xD0\xB0\xD0\xBA\xD0\xB0\xD0\xBD\xD1\x... │ http://ecrn.ru/personal/gost277572,9589&pt=b&pd=8&pw=2&page3/?state=0&damages/0... │ 1 │ -│ \xD1\x82\xD1\x80\xD1\x83\xD0\xB4\xD0\xB0 \xD0\xB4\xD0\xBB\xD1\x8F \xD0\xB2\xD1\... │ http://smeshariki.ru/recipes/sadovka.ru/gorod55.ru/search?text=\xD0\xB8\xD0\xB7... │ 1 │ -│ \xD0\xBC\xD1\x8B\xD1\x81\xD0\xBB \xD0\xBF\xD0\xB5\xD1\x81\xD0\xB5\xD0\xBD \xD1\... │ http://smeshariki.ru/a-folder=cmarka=15&sort=&sll=36872/metrika/frl-2/bage-all/... │ 1 │ -│ \xD0\xB2\xD0\xB8\xD0\xB4\xD0\xB5\xD0\xBE \xD1\x82\xD0\xB0\xD0\xBA\xD0\xBE\xD0\x... │ http://maximum_438424&pvno=2&evlg=VC,0;VL,628;IC,1653-82676212&op_page=0&door=0... │ 1 │ -│ \xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD0\xB2\xD1\x8B\xD0\xB5 \xD0\xB4\xD0\xBE\xD1\x... │ http://smeshariki.ru/index.ua/auto.ria.ua/change=0&s_yers=0&with_video.yandex.u... │ 1 │ -│ \xD1\x83\xD0\xBD\xD0\xB8\xD0\xB2\xD0\xB5\xD1\x80\xD0\xBC\xD0\xB5\xD0\xB4\xD0\xB... │ http://smeshariki.ru/index.ua/syllanet.ru/busine-tyazin?model=4878/page=10&cate... │ 1 │ -└────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───┘ -Run Time: real 0.721 user 11.368000 sys 0.000000 -D count(*) AS c, COUNT(DISTINCT UserID) FROM hits WHERE Title::TEXT LIKE '%Яндекс%' AND URL::TEXT NOT LIKE '%.yandex.%' AND octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;( -Run Time: real 8.537 user 19.856000 sys 1.200000 -D SELECT * FROM hits WHERE URL::TEXT LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -┌─────────────────────┬────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┬────────────┬───────────┬───────────┬────────────┬──────────┬─────────────────────┬──────────────┬─────┬───────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬─────────┬───────────────────┬─────────────────┬───────────────┬─────────────┬─────────────────┬──────────────────┬─────────────────┬────────────┬────────────┬─────────────┬──────────┬──────────┬────────────────┬────────────────┬──────────────┬──────────────────┬──────────┬─────────────┬──────────────────┬────────┬─────────────┬────────────────┬────────────────┬──────────────┬─────────────┬─────────────┬───────────────────┬────────────────────┬────────────────┬─────────────────┬─────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┬──────────────────────┬─────────────┬────────┬────────────┬─────────────┬─────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┬──────────────┬─────────┬─────────────┬───────────────┬──────────┬──────────┬────────────────┬─────┬─────┬────────┬───────────┬───────────┬────────────┬────────────┬────────────┬───────────────┬─────────────────┬────────────────┬───────────────┬──────────────┬───────────┬────────────┬───────────┬───────────────┬─────────────────────┬───────────────────┬─────────────┬───────────────────────┬──────────────────┬────────────┬──────────────┬───────────────┬─────────────────┬─────────────────────┬────────────────────┬──────────────┬──────────────────┬───────────┬───────────┬─────────────┬────────────┬─────────┬─────────┬──────────┬──────────────────────┬──────────────────────┬──────┐ -│ WatchID │ JavaEnable │ Title │ GoodEvent │ EventTime │ EventDate │ CounterID │ ClientIP │ RegionID │ UserID │ CounterClass │ OS │ UserAgent │ URL │ Referer │ Refresh │ RefererCategoryID │ RefererRegionID │ URLCategoryID │ URLRegionID │ ResolutionWidth │ ResolutionHeight │ ResolutionDepth │ FlashMajor │ FlashMinor │ FlashMinor2 │ NetMajor │ NetMinor │ UserAgentMajor │ UserAgentMinor │ CookieEnable │ JavascriptEnable │ IsMobile │ MobilePhone │ MobilePhoneModel │ Params │ IPNetworkID │ TraficSourceID │ SearchEngineID │ SearchPhrase │ AdvEngineID │ IsArtifical │ WindowClientWidth │ WindowClientHeight │ ClientTimeZone │ ClientEventTime │ SilverlightVersion1 │ SilverlightVersion2 │ SilverlightVersion3 │ SilverlightVersion4 │ PageCharset │ CodeVersion │ IsLink │ IsDownload │ IsNotBounce │ FUniqID │ OriginalURL │ HID │ IsOldCounter │ IsEvent │ IsParameter │ DontCountHits │ WithHash │ HitColor │ LocalEventTime │ Age │ Sex │ Income │ Interests │ Robotness │ RemoteIP │ WindowName │ OpenerName │ HistoryLength │ BrowserLanguage │ BrowserCountry │ SocialNetwork │ SocialAction │ HTTPError │ SendTiming │ DNSTiming │ ConnectTiming │ ResponseStartTiming │ ResponseEndTiming │ FetchTiming │ SocialSourceNetworkID │ SocialSourcePage │ ParamPrice │ ParamOrderID │ ParamCurrency │ ParamCurrencyID │ OpenstatServiceName │ OpenstatCampaignID │ OpenstatAdID │ OpenstatSourceID │ UTMSource │ UTMMedium │ UTMCampaign │ UTMContent │ UTMTerm │ FromTag │ HasGCLID │ RefererHash │ URLHash │ CLID │ -├─────────────────────┼────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┼────────────┼───────────┼───────────┼────────────┼──────────┼─────────────────────┼──────────────┼─────┼───────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼─────────┼───────────────────┼─────────────────┼───────────────┼─────────────┼─────────────────┼──────────────────┼─────────────────┼────────────┼────────────┼─────────────┼──────────┼──────────┼────────────────┼────────────────┼──────────────┼──────────────────┼──────────┼─────────────┼──────────────────┼────────┼─────────────┼────────────────┼────────────────┼──────────────┼─────────────┼─────────────┼───────────────────┼────────────────────┼────────────────┼─────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼──────────────────────┼─────────────┼────────┼────────────┼─────────────┼─────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┼──────────────┼─────────┼─────────────┼───────────────┼──────────┼──────────┼────────────────┼─────┼─────┼────────┼───────────┼───────────┼────────────┼────────────┼────────────┼───────────────┼─────────────────┼────────────────┼───────────────┼──────────────┼───────────┼────────────┼───────────┼───────────────┼─────────────────────┼───────────────────┼─────────────┼───────────────────────┼──────────────────┼────────────┼──────────────┼───────────────┼─────────────────┼─────────────────────┼────────────────────┼──────────────┼──────────────────┼───────────┼───────────┼─────────────┼────────────┼─────────┼─────────┼──────────┼──────────────────────┼──────────────────────┼──────┤ -│ 9008228978173248400 │ 1 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372714203 │ 15888 │ 46429 │ 1741285710 │ 208 │ 727970985383478408 │ 0 │ 2 │ 2 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ http://smeshariki.ru/page%3D%26ev_n%3Dtvor_3_4 │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 1638 │ 1658 │ 37 │ 14 │ 0 │ 700.22 │ 0 │ 0 │ 15 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 2349927 │ -1 │ 0 │ │ 0 │ 0 │ 1844 │ 888 │ 135 │ 1372711075 │ 3 │ 0 │ 29241 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 0 │ │ 926364569 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372755313 │ 31 │ 1 │ 0 │ 0 │ 0 │ 1985697352 │ 13001 │ -1 │ 22 │ vG │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 16989158750233735299 │ 2619784076535420345 │ 0 │ -│ 7319686668886932386 │ 0 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372742048 │ 15888 │ 46429 │ 675534320 │ 208 │ 1167829038705361511 │ 0 │ 45 │ 1 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ http://smeshariki.ru/page=6&sqi=2&ved=0CC0QFjAA │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 280 │ 733 │ 0 │ 0 │ 0 │ │ 0 │ 0 │ 4 │ sO │ 1 │ 1 │ 1 │ 0 │ │ │ 1444853 │ -1 │ 0 │ │ 0 │ 0 │ 997 │ 800 │ 623 │ 1372713898 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 4655941889681510909 │ │ 721190565 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372747193 │ 31 │ 2 │ 3 │ 717 │ 0 │ 2935426383 │ 22084 │ -1 │ 1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 11629579472615090596 │ 2619784076535420345 │ 0 │ -│ 5650132582613869356 │ 0 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372742083 │ 15888 │ 46429 │ 675534320 │ 208 │ 1167829038705361511 │ 0 │ 45 │ 1 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ http://smeshariki.ru/page=6&sqi=2&ved=0CC0QFjAA │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 280 │ 733 │ 0 │ 0 │ 0 │ │ 0 │ 0 │ 4 │ D\xE0 │ 1 │ 1 │ 1 │ 0 │ │ │ 1444853 │ -1 │ 0 │ │ 0 │ 0 │ 997 │ 800 │ 623 │ 1372713960 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 4655941889681510909 │ │ 721255326 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372747245 │ 31 │ 2 │ 3 │ 717 │ 0 │ 2935426383 │ 64225 │ -1 │ 1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 11629579472615090596 │ 2619784076535420345 │ 0 │ -│ 6211862319117980382 │ 0 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372744794 │ 15888 │ 46429 │ 1384976586 │ 208 │ 45205883125357727 │ 0 │ 8 │ 1 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ │ 0 │ 0 │ 0 │ 9911 │ 216 │ 475 │ 368 │ 0 │ 0 │ 0 │ │ 0 │ 0 │ 7 │ D\xE0 │ 1 │ 1 │ 1 │ 0 │ │ │ 3195177 │ 0 │ 0 │ │ 0 │ 0 │ 412 │ 286 │ 135 │ 1372732810 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 7015666733105959947 │ │ 641313121 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372774931 │ 28 │ 1 │ 2 │ 1 │ 0 │ 1889444196 │ 44835 │ -1 │ 0 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 18150585289071012696 │ 2619784076535420345 │ 0 │ -│ 8127216893234548048 │ 0 │ \xD0\xA2\xD0\xBE\xD0\xBB\xD1\x81\xD1\x82\xD1\x83\xD1\x85\xD1\x83, \xD0\xB5\xD1\... │ 1 │ 1372752539 │ 15888 │ 46429 │ 1237806922 │ 208 │ 750085446646698731 │ 0 │ 2 │ 3 │ http://smeshariki.ru/used/99114578622-14406072,9269587/roometrika/?page=7&pw=2&... │ http://smeshariki.ru/page=11956bd3f5ba-bolshiient │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 1081 │ 979 │ 23 │ 15 │ 7 │ 700 │ 0 │ 0 │ 17 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 2914423 │ -1 │ 0 │ │ 0 │ 0 │ 1434 │ 739 │ 623 │ 1372781865 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 5496132257355632424 │ │ 983272850 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372760187 │ 50 │ 2 │ 2 │ 60 │ 18 │ 1113465640 │ 60610 │ -1 │ 29 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 194 │ 1631 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 13570011243001147277 │ 11339053197878713733 │ 0 │ -│ 5016976626924998727 │ 1 │ Toyota \xD1\x80\xD1\x83\xD0\xBA\xD0\xB0\xD0\xBB\xD1\x8B \xD0\xB4\xD0\xBB\xD1\x8... │ 1 │ 1372758784 │ 15888 │ 5645 │ 3888153915 │ 107 │ 4058808124307537573 │ 1 │ 2 │ 88 │ http:%2F%2Fwwww.bonprix.ru&pvid=131&op_products/transformality.pulsceness/01-me... │ http://forum.amur.info/node/12451180167540 │ 0 │ 10868 │ 635 │ 16361 │ 943 │ 1638 │ 777 │ 37 │ 15 │ 7 │ 700 │ 0 │ 0 │ 1 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 2726799 │ -1 │ 0 │ │ 0 │ 0 │ 1509 │ 618 │ 135 │ 1372835656 │ 0 │ 0 │ 0 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 6227398498798751865 │ │ 255959698 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372763371 │ 31 │ 1 │ 3 │ 3555 │ 13 │ 4006630121 │ -1 │ -1 │ -1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 10333931216342739575 │ 10009133566342666602 │ 0 │ -│ 4963765960745323978 │ 0 │ \xD0\x93\xD0\x90\xD0\x97 (ZAZ) 5403J \xE2\x80\x93 \xD0\xA4\xD0\xB8\xD0\xBB\xD1\... │ 1 │ 1372793626 │ 15888 │ 46429 │ 2063319617 │ 23967 │ 5283184799411504286 │ 0 │ 44 │ 2 │ http://smeshariki.ru/userId=0&matched_car=Volkswagency=1&p=8090/roometrika/?pag... │ http://smeshariki.ru/smsarhiv/num/33363634383294&lr=66&v6s=2&bodystyle │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 1996 │ 1781 │ 37 │ 15 │ 7 │ 700 │ 0 │ 0 │ 10 │ nA │ 1 │ 1 │ 0 │ 0 │ │ │ 4110783 │ -1 │ 0 │ │ 0 │ 0 │ 1551 │ 955 │ 291 │ 1372730435 │ 7 │ 1 │ 9577 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 8904020920948834668 │ │ 883138215 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372777308 │ 22 │ 2 │ 2 │ 11339 │ 18 │ 2136940575 │ 1653 │ -1 │ 1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 18276268115953212999 │ 9484754903086635093 │ 0 │ -│ 6284148982888572412 │ 1 │ Morskoj port \xE2\x80\x93 \xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD1\x82\xD1\... │ 1 │ 1372795222 │ 15889 │ 3922 │ 2460998382 │ 40 │ 1643466856862289966 │ 1 │ 44 │ 7 │ http://moikrug.ru/message-12-kak-pravdorubovnik_metrika-info.php?f=23&prr │ http://diary.ru/GameMain.aspx?d=1412&lr=75&mode=photo/login=igorod.irr.ru/i6102... │ 0 │ 306 │ 29199 │ 92 │ 247 │ 1368 │ 554 │ 37 │ 15 │ 7 │ 800.94 │ 0 │ 0 │ 12 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 1166094 │ 1 │ 0 │ │ 0 │ 0 │ 1253 │ 642 │ 135 │ 1372799147 │ 4 │ 1 │ 16561 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 7061143530822060136 │ │ 699865379 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372810401 │ 31 │ 2 │ 3 │ 6 │ 0 │ 3849445958 │ -1 │ -1 │ -1 │ S0 │ h1 │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 14060834305267311691 │ 1791983733815963315 │ 0 │ -│ 6024648629746505393 │ 0 │ \xD0\x9F\xD0\xBE\xD0\xB3\xD1\x80\xD0\xB5\xD0\xB2\xD0\xB0\xD1\x82\xD0\xB5\xD0\xB... │ 1 │ 1372795271 │ 15889 │ 1200 │ 2932550360 │ 208 │ 1578473929930714515 │ 1 │ 107 │ 82 │ http://afisha.yandex.ru/real-estate/out-of-town/household_app_metrika.ru/wildbe... │ http://ad.adrive_type_id=1959251&stUrl%3Dpopular/kw/306161&lr=1418][to]=&input_... │ 0 │ 15265 │ 19757 │ 8953 │ 32252 │ 958 │ 1871 │ 37 │ 0 │ 0 │ │ 0 │ 0 │ 3 │ D\xE0 │ 1 │ 1 │ 1 │ 6 │ │ │ 4010641 │ -1 │ 0 │ │ 0 │ 0 │ 521 │ 1803 │ -1 │ 1372870507 │ 0 │ 0 │ 0 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 0 │ http://b.kavanga.ru/tags/%FD%ED%FB%E2%F3%E6%E5%E6%ED%E8%ED%F1%FF%ED&ti=%D0%BD%D... │ 120241233 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372842094 │ 0 │ 0 │ 0 │ 0 │ 0 │ 3975911785 │ -1 │ -1 │ -1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 9685011611637290144 │ 5941547189901908071 │ 0 │ -│ 4857420640250996887 │ 1 │ Suzuki Escort 4* (\xD0\xA4\xD1\x80\xD0\xB0\xD0\xBD\xD1\x86\xD1\x8B 3 \xD1\x81\x... │ 1 │ 1372800737 │ 15889 │ 3922 │ 3201307115 │ 190 │ 7335986183190726964 │ 1 │ 44 │ 88 │ http://pova-ul-mir.irr.ru/search.php?gidcar=37408&uuid=1&bc=3&city=0&pv=20&s_ye... │ http://news/238/~6/?cauth=1&av=1&nm=1&ms=1,2/currency=RUR/page_num_id=15366563&... │ 0 │ 306 │ 144 │ 304 │ 132 │ 1368 │ 554 │ 37 │ 15 │ 4 │ 202 │ 0 │ 0 │ 1 │ fi │ 1 │ 1 │ 0 │ 0 │ │ │ 2311071 │ -1 │ 0 │ │ 0 │ 0 │ 1333 │ 924 │ 322 │ 1372840359 │ 4 │ 1 │ 16561 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 7659179697273795837 │ │ 232010762 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372866397 │ 31 │ 2 │ 2 │ 3658 │ 28 │ 2920265313 │ -1 │ -1 │ -1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 8839345929686869081 │ 5449259806403761803 │ 0 │ -└─────────────────────┴────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┴────────────┴───────────┴───────────┴────────────┴──────────┴─────────────────────┴──────────────┴─────┴───────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴─────────┴───────────────────┴─────────────────┴───────────────┴─────────────┴─────────────────┴──────────────────┴─────────────────┴────────────┴────────────┴─────────────┴──────────┴──────────┴────────────────┴────────────────┴──────────────┴──────────────────┴──────────┴─────────────┴──────────────────┴────────┴─────────────┴────────────────┴────────────────┴──────────────┴─────────────┴─────────────┴───────────────────┴────────────────────┴────────────────┴─────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴──────────────────────┴─────────────┴────────┴────────────┴─────────────┴─────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┴──────────────┴─────────┴─────────────┴───────────────┴──────────┴──────────┴────────────────┴─────┴─────┴────────┴───────────┴───────────┴────────────┴────────────┴────────────┴───────────────┴─────────────────┴────────────────┴───────────────┴──────────────┴───────────┴────────────┴───────────┴───────────────┴─────────────────────┴───────────────────┴─────────────┴───────────────────────┴──────────────────┴────────────┴──────────────┴───────────────┴─────────────────┴─────────────────────┴────────────────────┴──────────────┴──────────────────┴───────────┴───────────┴─────────────┴────────────┴─────────┴─────────┴──────────┴──────────────────────┴──────────────────────┴──────┘ -Run Time: real 72.104 user 135.356000 sys 10.484000 -D SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY EventTime LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC \xD0\xBD\xD0\xB5\xD0\xB1\xD0\xBE\xD0\x... │ -│ galaxy s4 zoom \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC │ -│ \xD0\xBD\xD0\xBE\xD1\x87\xD0\xBD\xD0\xBE \xD0\xBA\xD0\xB8\xD1\x82\xD0\xB0\xD1\x... │ -│ \xD1\x81\xD0\xB8\xD0\xBC\xD0\xBF\xD1\x82\xD0\xBE\xD0\xBC\xD1\x8B \xD1\x80\xD0\x... │ -│ \xD0\xBE\xD1\x82\xD0\xB4\xD1\x8B\xD1\x85\xD0\xB0 \xD1\x87\xD0\xB5\xD0\xBC \xD0\... │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ -│ \xD0\xB0\xD0\xB2\xD0\xBE\xD0\xBC \xD0\xBA\xD0\xBE\xD0\xBD\xD1\x81\xD1\x82\xD0\x... │ -│ \xD1\x81\xD0\xBB\xD0\xBE\xD0\xBD.\xD1\x80\xD1\x83\xD0\xB1., \xD0\xB4. \xD0\xB0.... │ -│ \xD1\x80\xD0\xB0\xD1\x81\xD0\xBF\xD0\xB8\xD1\x81\xD0\xB0\xD0\xBD\xD0\xB8\xD0\xB... │ -│ \xD0\xB0\xD0\xBD\xD0\xB0\xD0\xBF\xD0\xB0 \xD0\xBE\xD0\xBF\xD0\xB5\xD1\x80\xD0\x... │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 0.232 user 3.520000 sys 0.132000 -D SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY SearchPhrase LIMIT 10;e -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ ! hektdf gjcgjhn conster │ -│ ! \xD1\x81\xD0\xBA\xD0\xB0\xD1\x80\xD0\xBF │ -│ !(\xD0\xBA\xD0\xB0\xD0\xBA \xD0\xB2\xD0\xBE\xD1\x80\xD0\xBE\xD0\xBD\xD0\xB8 │ -│ !(\xD0\xBF\xD0\xBE \xD0\xB3\xD0\xBE\xD1\x80\xD0\xB8\xD1\x8E \xD0\xB2 \xD1\x8F\x... │ -│ !(\xD1\x81) \xD0\xBF\xD1\x80\xD0\xBE \xD0\xB4\xD0\xBF\xD0\xBE \xD1\x81\xD0\xB5\... │ -│ !(\xD1\x81\xD0\xB0\xD0\xBB\xD0\xBE\xD0\xBD\xD1\x8B \xD0\xBE\xD1\x81\xD1\x82\xD0... │ -│ !(\xD1\x81\xD1\x82\xD0\xB0\xD1\x80\xD1\x82\xD0\xB5\xD1\x80 rav4 \xD1\x82\xD1\x8... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD0\xB4\xD0\xBB\xD1\x8F \xD0\xBC\xD1\x8F\xD1... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD0\xBC\xD0\xB0\xD1\x83\xD1\x81 \xD0\xBA\xD0... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD1\x81\xD0\xB5\xD1\x80\xD0\xB8\xD0\xB8 │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 0.248 user 3.696000 sys 0.012000 -D SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY EventTime, SearchPhrase LIMIT 10; -D┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ galaxy s4 zoom \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC │ -│ \xD0\xBD\xD0\xBE\xD1\x87\xD0\xBD\xD0\xBE \xD0\xBA\xD0\xB8\xD1\x82\xD0\xB0\xD1\x... │ -│ \xD1\x81\xD0\xB8\xD0\xBC\xD0\xBF\xD1\x82\xD0\xBE\xD0\xBC\xD1\x8B \xD1\x80\xD0\x... │ -│ \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC \xD0\xBD\xD0\xB5\xD0\xB1\xD0\xBE\xD0\x... │ -│ \xD0\xB0\xD0\xB2\xD0\xBE\xD0\xBC \xD0\xBA\xD0\xBE\xD0\xBD\xD1\x81\xD1\x82\xD0\x... │ -│ \xD0\xB0\xD0\xBD\xD0\xB0\xD0\xBF\xD0\xB0 \xD0\xBE\xD0\xBF\xD0\xB5\xD1\x80\xD0\x... │ -│ \xD0\xB1\xD1\x80\xD0\xB8\xD1\x82\xD0\xB0 \xD0\xB3\xD0\xB0\xD0\xBD\xD0\xB0\xD0\x... │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ -│ \xD0\xBE\xD1\x82\xD0\xB4\xD1\x8B\xD1\x85\xD0\xB0 \xD1\x87\xD0\xB5\xD0\xBC \xD0\... │ -│ \xD1\x80\xD0\xB0\xD1\x81\xD0\xBF\xD0\xB8\xD1\x81\xD0\xB0\xD0\xBD\xD0\xB8\xD0\xB... │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 0.231 user 3.648000 sys 0.008000 -D SELECT CounterID, avg(octet_length(URL)) AS l, count(*) AS c FROM hits WHERE octet_length(URL) > 0 GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;L -┌───────────┬────────────────────┬─────────┐ -│ CounterID │ l │ c │ -├───────────┼────────────────────┼─────────┤ -│ 233773 │ 469.18537326484886 │ 2938865 │ -│ 245438 │ 271.7892512777364 │ 2510103 │ -│ 122612 │ 238.64530987208474 │ 3574007 │ -│ 234004 │ 204.28793262381632 │ 238660 │ -│ 1634 │ 197.83321731651554 │ 323229 │ -│ 786 │ 186.75537634408602 │ 120528 │ -│ 114157 │ 142.91881538575285 │ 216408 │ -│ 515 │ 126.22860040706026 │ 146907 │ -│ 256004 │ 125.37108455074805 │ 858171 │ -│ 95427 │ 120.26856903175477 │ 374306 │ -│ 199550 │ 109.81720498866335 │ 7115413 │ -│ 220992 │ 105.85666196266179 │ 494614 │ -│ 196239 │ 98.34882201749727 │ 163797 │ -│ 62 │ 93.15981711034343 │ 738150 │ -│ 96948 │ 92.74321182146618 │ 396093 │ -│ 188878 │ 91.98308322489247 │ 311998 │ -│ 249603 │ 91.88026594639518 │ 120325 │ -│ 3922 │ 87.83856410684609 │ 8527069 │ -│ 191697 │ 86.95776647628826 │ 124664 │ -│ 97467 │ 84.2953696503987 │ 131178 │ -│ 186300 │ 83.97258027738701 │ 802561 │ -│ 146891 │ 77.77430173504756 │ 605286 │ -│ 38 │ 76.43757015971798 │ 507770 │ -│ 230962 │ 76.3127707226559 │ 169223 │ -│ 77639 │ 75.38681923602442 │ 253961 │ -└───────────┴────────────────────┴─────────┘ -Run Time: real 0.439 user 6.632000 sys 0.300000 -D //(?:www\.)?([^/]+)/.*$', '\1') AS key, avg(octet_length(Referer)) AS l, count(*) AS c, min(Referer) FROM hits WHERE octet_length(Referer) > 0 GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -┌────────────────────────────────────────────────────────────────────────┬────────────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────┐ -│ key │ l │ c │ min(referer) │ -├────────────────────────────────────────────────────────────────────────┼────────────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────┤ -│ svpressa.ru │ 307.980979437341 │ 242527 │ http://svpressa.ru/ │ -│ msuzie-showforumdisplay │ 263.327228380409 │ 183676 │ http://msuzie-showforumdisplay/63/~2/?name=&cost_neu%3D400%26retpath=default777... │ -│ saint-peters-total=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 80 │ 242.5236948271821 │ 200529 │ http://saint-peters-total=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 80/c... │ -│ domics │ 212.92990978061542 │ 326094 │ http://domics/825179.11931861234499792 │ -│ e96.ru │ 210.09628206687884 │ 1019276 │ http://e96.ru/%3Ffrom]=&input_act[count_num=0&dff=arian-carrina1201517&cad=rjt&... │ -│ gadgets.irr.ru │ 131.9597008950273 │ 349710 │ https://gadgets.irr.ru/2jmj7l5rSw0yVb │ -│ google.ru │ 109.24485253818524 │ 2158491 │ http://google.ru/ │ -│ go.mail │ 108.63930572737723 │ 8228007 │ http://go.mail/04/detskaia-moda-zhiensmed │ -│ msouz.ru │ 106.10887286512423 │ 301774 │ http://msouz.ru/?ffshop │ -│ state=19945206 │ 105.6469046513171 │ 512414 │ http://state=19945206/foto-4/login%20NoTs3M&where=all&filmId=u8aGGqtWs3M&where=... │ -│ loveplanet.ru │ 104.60136383347789 │ 461200 │ http://loveplanet.ru/%3Faw_opel/page=2013 │ -│ bonprix.ru │ 104.41683309557774 │ 1125105 │ http://bonprix.ru/ │ -│ novjob.ru │ 96.75331644732393 │ 133049 │ http://novjob.ru/ │ -│ cn.ru │ 95.63198716663325 │ 124675 │ http://cn.ru/GameMain.aspx#catalog/100523&tails.xml?market_pc.html?pid=9403&lr=... │ -│ geomethiettai.ru │ 94.78816556817006 │ 115916 │ https://geomethiettai.ru/GameMain.aspx?group=houses/list=266559j7077&num=7&prun... │ -│ kino │ 90.27628829938655 │ 120139 │ http://kino/6/21/2/women.asp?whichpage4/#oversion=unreadm&uid │ -│ yaroslavens.ru │ 90.17077281117085 │ 124610 │ http://yaroslavens.ru/main.aspx#catalog%2F1004-1100000147-otvet/actions/disloca... │ -│ mysw.info │ 89.68684313159915 │ 984596 │ http://mysw.info/ │ -│ m.myloveplanet.ru │ 88.73233749439181 │ 151564 │ http://m.myloveplanet.ru/ │ -│ povarenok.ru │ 83.97395952020882 │ 144813 │ http://povarenok.ru/ │ -│ gorod │ 80.33107253811141 │ 110728 │ http://gorod/%3Fauto.ria.ua%2Fjob │ -│ yandsearch │ 80.21664430621621 │ 245970 │ http://www.yandsearch/rooms=1/page2 │ -│ myloveplanet.ru │ 80.08183067768715 │ 110582 │ http://myloveplanet.ru/#associety/auto │ -│ tambov.irr.ru │ 77.8650188064113 │ 315318 │ http://tambov.irr.ru/0/c1/tgFtaeLDK0yb01A7xvQF08sjCFqQxn51 │ -│ kurortmag.ru │ 75.74958779884584 │ 155264 │ http://kurortmag.ru/ │ -└────────────────────────────────────────────────────────────────────────┴────────────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 119.865 user 1866.652000 sys 4.096000 -D + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits; -┌──────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐ -│ sum(resolutionwidth) │ sum(resolutionwidth + 1) │ sum(resolutionwidth + 2) │ sum(resolutionwidth + 3) │ sum(resolutionwidth + 4) │ sum(resolutionwidth + 5) │ sum(resolutionwidth + 6) │ sum(resolutionwidth + 7) │ sum(resolutionwidth + 8) │ sum(resolutionwidth + 9) │ sum(resolutionwidth + 10) │ sum(resolutionwidth + 11) │ sum(resolutionwidth + 12) │ sum(resolutionwidth + 13) │ sum(resolutionwidth + 14) │ sum(resolutionwidth + 15) │ sum(resolutionwidth + 16) │ sum(resolutionwidth + 17) │ sum(resolutionwidth + 18) │ sum(resolutionwidth + 19) │ sum(resolutionwidth + 20) │ sum(resolutionwidth + 21) │ sum(resolutionwidth + 22) │ sum(resolutionwidth + 23) │ sum(resolutionwidth + 24) │ sum(resolutionwidth + 25) │ sum(resolutionwidth + 26) │ sum(resolutionwidth + 27) │ sum(resolutionwidth + 28) │ sum(resolutionwidth + 29) │ sum(resolutionwidth + 30) │ sum(resolutionwidth + 31) │ sum(resolutionwidth + 32) │ sum(resolutionwidth + 33) │ sum(resolutionwidth + 34) │ sum(resolutionwidth + 35) │ sum(resolutionwidth + 36) │ sum(resolutionwidth + 37) │ sum(resolutionwidth + 38) │ sum(resolutionwidth + 39) │ sum(resolutionwidth + 40) │ sum(resolutionwidth + 41) │ sum(resolutionwidth + 42) │ sum(resolutionwidth + 43) │ sum(resolutionwidth + 44) │ sum(resolutionwidth + 45) │ sum(resolutionwidth + 46) │ sum(resolutionwidth + 47) │ sum(resolutionwidth + 48) │ sum(resolutionwidth + 49) │ sum(resolutionwidth + 50) │ sum(resolutionwidth + 51) │ sum(resolutionwidth + 52) │ sum(resolutionwidth + 53) │ sum(resolutionwidth + 54) │ sum(resolutionwidth + 55) │ sum(resolutionwidth + 56) │ sum(resolutionwidth + 57) │ sum(resolutionwidth + 58) │ sum(resolutionwidth + 59) │ sum(resolutionwidth + 60) │ sum(resolutionwidth + 61) │ sum(resolutionwidth + 62) │ sum(resolutionwidth + 63) │ sum(resolutionwidth + 64) │ sum(resolutionwidth + 65) │ sum(resolutionwidth + 66) │ sum(resolutionwidth + 67) │ sum(resolutionwidth + 68) │ sum(resolutionwidth + 69) │ sum(resolutionwidth + 70) │ sum(resolutionwidth + 71) │ sum(resolutionwidth + 72) │ sum(resolutionwidth + 73) │ sum(resolutionwidth + 74) │ sum(resolutionwidth + 75) │ sum(resolutionwidth + 76) │ sum(resolutionwidth + 77) │ sum(resolutionwidth + 78) │ sum(resolutionwidth + 79) │ sum(resolutionwidth + 80) │ sum(resolutionwidth + 81) │ sum(resolutionwidth + 82) │ sum(resolutionwidth + 83) │ sum(resolutionwidth + 84) │ sum(resolutionwidth + 85) │ sum(resolutionwidth + 86) │ sum(resolutionwidth + 87) │ sum(resolutionwidth + 88) │ sum(resolutionwidth + 89) │ -├──────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤ -│ 151348908394 │ 151448908394 │ 151548908394 │ 151648908394 │ 151748908394 │ 151848908394 │ 151948908394 │ 152048908394 │ 152148908394 │ 152248908394 │ 152348908394 │ 152448908394 │ 152548908394 │ 152648908394 │ 152748908394 │ 152848908394 │ 152948908394 │ 153048908394 │ 153148908394 │ 153248908394 │ 153348908394 │ 153448908394 │ 153548908394 │ 153648908394 │ 153748908394 │ 153848908394 │ 153948908394 │ 154048908394 │ 154148908394 │ 154248908394 │ 154348908394 │ 154448908394 │ 154548908394 │ 154648908394 │ 154748908394 │ 154848908394 │ 154948908394 │ 155048908394 │ 155148908394 │ 155248908394 │ 155348908394 │ 155448908394 │ 155548908394 │ 155648908394 │ 155748908394 │ 155848908394 │ 155948908394 │ 156048908394 │ 156148908394 │ 156248908394 │ 156348908394 │ 156448908394 │ 156548908394 │ 156648908394 │ 156748908394 │ 156848908394 │ 156948908394 │ 157048908394 │ 157148908394 │ 157248908394 │ 157348908394 │ 157448908394 │ 157548908394 │ 157648908394 │ 157748908394 │ 157848908394 │ 157948908394 │ 158048908394 │ 158148908394 │ 158248908394 │ 158348908394 │ 158448908394 │ 158548908394 │ 158648908394 │ 158748908394 │ 158848908394 │ 158948908394 │ 159048908394 │ 159148908394 │ 159248908394 │ 159348908394 │ 159448908394 │ 159548908394 │ 159648908394 │ 159748908394 │ 159848908394 │ 159948908394 │ 160048908394 │ 160148908394 │ 160248908394 │ -└──────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┘ -Run Time: real 6.176 user 97.964000 sys 0.000000 -D SELECT SearchEngineID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -┌────────────────┬────────────┬──────┬──────────────┬──────────────────────┐ -│ SearchEngineID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├────────────────┼────────────┼──────┼──────────────┼──────────────────────┤ -│ 2 │ 1138507705 │ 1633 │ 35 │ 1408.0122473974282 │ -│ 2 │ 1740861572 │ 1331 │ 28 │ 1577.945905334335 │ -│ 2 │ 3487820196 │ 1144 │ 35 │ 1553.1984265734266 │ -│ 2 │ 3797060577 │ 1140 │ 36 │ 1543.4140350877192 │ -│ 2 │ 2349209741 │ 1105 │ 30 │ 1557.387330316742 │ -│ 2 │ 2424344199 │ 1102 │ 31 │ 1555.6588021778584 │ -│ 2 │ 3663904793 │ 1083 │ 31 │ 1581.8171745152354 │ -│ 2 │ 3829154130 │ 1082 │ 30 │ 1541.253234750462 │ -│ 2 │ 2551371145 │ 1080 │ 24 │ 1559.8092592592593 │ -│ 2 │ 4029049820 │ 1058 │ 32 │ 1556.2003780718337 │ -└────────────────┴────────────┴──────┴──────────────┴──────────────────────┘ -Run Time: real 0.991 user 13.144000 sys 0.080000 -D SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -┌─────────────────────┬────────────┬───┬──────────────┬──────────────────────┐ -│ WatchID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├─────────────────────┼────────────┼───┼──────────────┼──────────────────────┤ -│ 8425973212606442266 │ 3882647820 │ 2 │ 0 │ 1368.0 │ -│ 4822815447136935941 │ 4109934802 │ 2 │ 0 │ 1638.0 │ -│ 5851512534509153320 │ 3968091174 │ 2 │ 0 │ 1368.0 │ -│ 7542988325649023791 │ 303701440 │ 2 │ 0 │ 1828.0 │ -│ 6992742809870752121 │ 3979611525 │ 2 │ 0 │ 100.0 │ -│ 8469206111441108042 │ 1485652260 │ 2 │ 0 │ 1368.0 │ -│ 8268832962994556606 │ 1627418068 │ 2 │ 0 │ 1638.0 │ -│ 6959397072495903875 │ 1568492334 │ 2 │ 0 │ 1368.0 │ -│ 8672760597587433971 │ 1269590216 │ 2 │ 0 │ 1368.0 │ -│ 6637243485645608094 │ 1468144163 │ 2 │ 0 │ 1917.0 │ -└─────────────────────┴────────────┴───┴──────────────┴──────────────────────┘ -Run Time: real 1.552 user 16.744000 sys 0.356000 -D SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -┌─────────────────────┬────────────┬───┬──────────────┬──────────────────────┐ -│ WatchID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├─────────────────────┼────────────┼───┼──────────────┼──────────────────────┤ -│ 4784371382202293288 │ 3735345744 │ 2 │ 0 │ 1638.0 │ -│ 6711685491586624976 │ 1408513058 │ 2 │ 0 │ 1638.0 │ -│ 7162529939784944130 │ 3932318335 │ 2 │ 0 │ 1996.0 │ -│ 8775946809982825654 │ 3518457715 │ 2 │ 0 │ 1368.0 │ -│ 8716405327873619806 │ 3518457715 │ 2 │ 0 │ 1368.0 │ -│ 8723645685735855902 │ 2003188719 │ 2 │ 0 │ 1594.0 │ -│ 9007142022850874662 │ 4006219740 │ 2 │ 0 │ 1638.0 │ -│ 7542988325649023791 │ 303701440 │ 2 │ 0 │ 1828.0 │ -│ 4632233196500506143 │ 93692316 │ 2 │ 0 │ 1750.0 │ -│ 7726072175618541265 │ 1876840662 │ 2 │ 0 │ 1638.0 │ -└─────────────────────┴────────────┴───┴──────────────┴──────────────────────┘ -Run Time: real 55.584 user 81.372000 sys 17.980000 -D SELECT URL, count(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬─────────┐ -│ URL │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼─────────┤ -│ http://liver.ru/belgorod/page/1006.j\xD0\xBA\xD0\xB8/\xD0\xB4\xD0\xBE\xD0\xBF_\... │ 3288173 │ -│ http://kinopoisk.ru │ 1625251 │ -│ http://bdsm_po_yers=0&with_video │ 791465 │ -│ http://video.yandex │ 582404 │ -│ http://smeshariki.ru/region │ 514984 │ -│ http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with │ 507995 │ -│ http://liver.ru/place_rukodel=365115eb7bbb90 │ 359893 │ -│ http://kinopoisk.ru/vladimir.irr.ru │ 354690 │ -│ http://video.yandex.ru/search/?jenre=50&s_yers │ 318979 │ -│ http://tienskaia-moda │ 289355 │ -└────────────────────────────────────────────────────────────────────────────────────┴─────────┘ -Run Time: real 14.208 user 54.440000 sys 3.008000 -D SELECT 1, URL, count(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -┌───┬────────────────────────────────────────────────────────────────────────────────────┬─────────┐ -│ 1 │ URL │ c │ -├───┼────────────────────────────────────────────────────────────────────────────────────┼─────────┤ -│ 1 │ http://liver.ru/belgorod/page/1006.j\xD0\xBA\xD0\xB8/\xD0\xB4\xD0\xBE\xD0\xBF_\... │ 3288173 │ -│ 1 │ http://kinopoisk.ru │ 1625251 │ -│ 1 │ http://bdsm_po_yers=0&with_video │ 791465 │ -│ 1 │ http://video.yandex │ 582404 │ -│ 1 │ http://smeshariki.ru/region │ 514984 │ -│ 1 │ http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with │ 507995 │ -│ 1 │ http://liver.ru/place_rukodel=365115eb7bbb90 │ 359893 │ -│ 1 │ http://kinopoisk.ru/vladimir.irr.ru │ 354690 │ -│ 1 │ http://video.yandex.ru/search/?jenre=50&s_yers │ 318979 │ -│ 1 │ http://tienskaia-moda │ 289355 │ -└───┴────────────────────────────────────────────────────────────────────────────────────┴─────────┘ -Run Time: real 4.586 user 65.340000 sys 0.188000 -D SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -┌────────────┬──────────────┬──────────────┬──────────────┬───────┐ -│ ClientIP │ clientip - 1 │ clientip - 2 │ clientip - 3 │ c │ -├────────────┼──────────────┼──────────────┼──────────────┼───────┤ -│ 4255045322 │ 4255045321 │ 4255045320 │ 4255045319 │ 47008 │ -│ 2596862839 │ 2596862838 │ 2596862837 │ 2596862836 │ 29121 │ -│ 3119147744 │ 3119147743 │ 3119147742 │ 3119147741 │ 25333 │ -│ 1696638182 │ 1696638181 │ 1696638180 │ 1696638179 │ 20230 │ -│ 1138507705 │ 1138507704 │ 1138507703 │ 1138507702 │ 15778 │ -│ 3367941774 │ 3367941773 │ 3367941772 │ 3367941771 │ 12768 │ -│ 3032827420 │ 3032827419 │ 3032827418 │ 3032827417 │ 11349 │ -│ 1740861572 │ 1740861571 │ 1740861570 │ 1740861569 │ 11315 │ -│ 3487820196 │ 3487820195 │ 3487820194 │ 3487820193 │ 9881 │ -│ 3663904793 │ 3663904792 │ 3663904791 │ 3663904790 │ 9718 │ -└────────────┴──────────────┴──────────────┴──────────────┴───────┘ -Run Time: real 4.737 user 38.872000 sys 0.148000 -D '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(URL) > 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -┌──────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├──────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 102341 │ -│ http://komme%2F27.0.1453.116 │ 51218 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18315 │ -│ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16461 │ -│ http://irr.ru/index.php │ 12577 │ -│ http://irr.ru/index.php?showalbum/login │ 10880 │ -│ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 7627 │ -│ http://irr.ru/index.php?showalbum/login-kupalnik │ 4369 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 4058 │ -│ http://komme%2F27.0.1453.116 Safari │ 3021 │ -└──────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.819 user 1.016000 sys 0.152000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(Title) > 0 GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ Title │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ \xD0\xA2\xD0\xB5\xD1\x81\xD1\x82 (\xD0\xA0\xD0\xBE\xD1\x81\xD1\x81\xD0\xB8\xD1\... │ 122407 │ -│ \xD0\xA8\xD0\xB0\xD1\x80\xD0\xB0\xD1\x80\xD0\xB0\xD0\xB9), \xD0\x92\xD1\x8B\xD0... │ 82935 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA - IRR.ru │ 80958 │ -│ \xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\xB8 New Era H (\xD0\x90\xD1\x81\xD1\x83\xD... │ 39098 │ -│ \xD0\xA2\xD0\xB5\xD0\xBF\xD0\xBB\xD0\xBE\xD1\x81\xD0\xBA\xD1\x83 \xD0\xBD\xD0\x... │ 23123 │ -│ Dave and Hotpoint sport \xE2\x80\x93 \xD1\x81\xD0\xB0\xD0\xBC\xD1\x8B\xD0\xB5 \... │ 14329 │ -│ AUTO.ria.ua \xE2\x84\xA2 - \xD0\x90\xD0\xBF\xD0\xBF\xD0\xB5\xD1\x80 │ 14053 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA (\xD0\xA0\xD0\... │ 13912 │ -│ OWAProfessign), \xD0\xBF\xD1\x80\xD0\xBE\xD0\xB4\xD0\xB0\xD1\x82\xD1\x8C │ 10919 │ -│ \xD0\xA2\xD1\x80\xD1\x83\xD1\x81\xD0\xB8 - \xD0\xA8\xD0\xBE\xD1\x83\xD0\xB1\xD0... │ 10157 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.870 user 1.416000 sys 0.040000 -D AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 7479 │ -│ http://aliningrad │ 4791 │ -│ http://ekburg.irr.ru%2Fpuloveplanet │ 3584 │ -│ http://smeshariki.ru/obucheyelants │ 3064 │ -│ http://video.yandex.php │ 2887 │ -│ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 1084 │ -│ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 891 │ -│ http://afisha.yandex.ru/index │ 855 │ -│ http://sslow_13507.html?aspx?naId=6HS │ 521 │ -│ http://wildberrior/uphold │ 484 │ -│ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 289 │ -│ http://obninsk/detail │ 241 │ -│ http://diary.ru/forum/intries │ 208 │ -│ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 185 │ -│ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 185 │ -│ http://kurort/SINA, ADRIAN │ 157 │ -│ http://afisha.yandex.ru │ 132 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 124 │ -│ http://ssl.hurra.com/iframe │ 123 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 119 │ -│ http://stars-visa.html_params%3Drhost%3Dad.adriver.ru/catalog.php │ 105 │ -│ http://komme%2F27.0.1453.116 │ 83 │ -│ http://pogoda.yandex │ 80 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 79 │ -│ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 73 │ -│ http://video.yandex │ 71 │ -│ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 68 │ -│ http://wildberries.ru/daily │ 68 │ -│ http://smeshariki.ru/ru/index.ru%26bid │ 68 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 64 │ -│ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 64 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn │ 63 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 59 │ -│ http://sslow_135000008&position=search │ 58 │ -│ http:%2F%2Fwwwwww.bonprix.ru/topic │ 53 │ -│ http://sslow_13507.html/articles │ 52 │ -│ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 51 │ -│ http://rsdn.ru/rss.ya.ru/catalog │ 51 │ -│ http://ekburg.irr.ru/#lingvo │ 46 │ -│ http://pogoda.yandex.ru │ 45 │ -│ http://sslow_13500000%26rnd%3D2788881.html │ 44 │ -│ http://maps#ru_5_ru_22106.377648194,975924][to]=&int[14270pa106&op_uid=17759/6#... │ 42 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 37 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 37 │ -│ http://video.yandex.ru/film/46351/frl-2/bage │ 36 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 35 │ -│ http://direct.yandex │ 34 │ -│ http://sslow_13507.html?aspx?naId=3X_3bhLcs3M │ 33 │ -│ http://gotovim-doma │ 32 │ -│ http://che.ru/produkty_zarubezhei-niepochekhly │ 31 │ -│ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 30 │ -│ http://video.yandex.ru/Newsletter │ 29 │ -│ http://sslow_13507.html?aspx?naId=6D8IzMGys3M │ 29 │ -│ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ http://video.yandex.ru │ 28 │ -│ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 28 │ -│ http://notes=1/currency │ 27 │ -│ http://sslow_13507.html?aspx?naId=649&state/out-of-town=\xD0\xA5\xD0\xB0\xD0\xB... │ 27 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 26 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 26 │ -│ http:%2F%2Fwwww.bonprix.ru/tambov │ 24 │ -│ http://kinopoisk.ru/shoppich.ru/search?clid │ 24 │ -│ http://wildberries │ 23 │ -│ http:%2F%2Fwwwwww.bonprix.ru/searchAutoSearch?text=\xD0\xB2\xD0\xB5\xD0\xBB\xD0... │ 22 │ -│ http://myloveplanet │ 20 │ -│ http://stars-visa-litraj.txt","lpu":"http://pogoda │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/secondary │ 20 │ -│ http://msuzie-shop/premiery-c-38208_2.html │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 20 │ -│ http://smeshariki │ 19 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 19 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ http://irr.ru/6323%26bn%3D27888895,96772,97436 │ 18 │ -│ http://kinopoisk.ru │ 18 │ -│ http://nepogoda.yandex.ru%2Fproducts/search?text=subscripts/busineshop │ 17 │ -│ http://wildberries.ru │ 17 │ -│ http://kinopoisk.ru/catalog/9902224 │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://direct.yandex.html │ 17 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 17 │ -│ http://irr.ru/6323%26bn%3D27888895,963095425 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 16 │ -│ http://afisha.yandex.php?gidcar=36281664 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://auto.ria.ua/search │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://direct │ 15 │ -│ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ http://irr.ru/index.php?showalbum/login-kupalnaya-obl │ 15 │ -│ http://kinopoisk.ru/odessya │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 14 │ -│ http://ekburg.irr.irr.ru/maker │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.yandex │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.mail/rnd=0.9788 │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://auto_many_to_auto.ria.ua/igrush43/ │ 13 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 13 │ -│ http://afisha.yandex.ru/cars │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 13 │ -│ http://love.ru/a-myprofi │ 13 │ -│ http: │ 13 │ -│ http:%2F%2Fwww.bonprix │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://real-estate/aparther/offiliates/corruption/russinsk │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 12 │ -│ http://on-online=on&accetti │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 12 │ -│ http://en.lyrsenses/zamba_zaborah_coldplay=1&gearbox │ 12 │ -│ http://kinopoisk.ru/saledParams │ 12 │ -│ http://samara.irr.html5/v12/?from]= │ 12 │ -│ http://zvukovo/hondar/2007&state/renlew/rigma.ru/scribed │ 12 │ -│ http://pogoda.yandex.php?SECTION │ 12 │ -│ http://msk/platia-nashing/vanny.diary.ru/moscow │ 12 │ -│ http://video.yandex.ru/GameMain.E6smreQhiu_hXR4&where=all&film │ 12 │ -│ http://nizhnieiene/p17378705/currency=1&with_photo-ideapadeno │ 11 │ -│ http://news/6483731559676/Unlocknotebooks/m83/800_D_Black_list │ 11 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 11 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty/photo-12/#imag... │ 11 │ -│ http://msk/platia-nashing/vanny.diary.ru/sale/liver │ 11 │ -│ http://video.yandex.ru/GameMain.aspx#location │ 11 │ -│ http://guid=6&pw=6&pv=13 │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 11 │ -│ http://wildberries.ru/rost.html?1 │ 11 │ -│ http://smeshariki.ru/?win=82&stat=1&page/196264&pt │ 11 │ -│ http://pogoda.yandex.ru/catalog/jokers │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 11 │ -│ http://en.lyrsenses/zamba_zabudtrimazok.html?page=12&prr=http://fap1.adrive_typ... │ 11 │ -│ http://bonprix.ru%26bid │ 11 │ -│ http://loveplanet.ru/GameMain │ 10 │ -│ http://bdsmpeople.ru │ 10 │ -│ http://liver.ru/cheboksicily/foto.aspx?sort=newly&trafkey │ 10 │ -│ http://video.yandex.ru&pvid │ 10 │ -│ http:%2F%2F%2Fwwww.bonprix │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://club.ru/spokoiteli/photo37775280000 │ 10 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 10 │ -│ http:%2F%2Fwwww.bonprix │ 10 │ -│ http://auto_id=240&n=13901038 │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 10 │ -│ http://smeshariki.ru │ 10 │ -│ http://slovariant_new3077940810/detail │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://en.lyrsenses/zamba_zabor_id=1012_blank%26site │ 10 │ -│ http://sslow_13500000%26rnd%3D2788881.html?parts/passe │ 10 │ -│ http://pogoda.html%3Fhtml_params%3Drhost%3D43 │ 10 │ -│ http://irr.ru/index.php?showalbum/logout%26verstova.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://pogoda.yandex.php │ 9 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film/6781203.html?id=242037047/detai... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://mysw.info/blog/sankt-peter%3D1216/00001216629 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://e96.ru/albumfotok-15-fotki │ 9 │ -│ http://alpari.yandex.html?html_param=0&users/#page/Search/ab_dob%2Ffieiie-razvo... │ 9 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu │ 9 │ -│ http://bonprix.ru/catalog/8570/1006790 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://b2b.testered/main/discuss/matched_country=-1&top=0&cityid=1024&wi=1366&o... │ 9 │ -│ http://svpressa.ru/topic=17082630 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru │ 9 │ -│ http:%2F%2Fwwww.bonprix.ru/filmId=8j5j97LRs3M&where=all&sources │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/#win_13.html_p... │ 9 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/4744089758 │ 9 │ -│ http://nail=Yes&target=search │ 9 │ -│ http://rlsnet.ru/vacancy/view_type_id=9677548268010367 │ 9 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_produkty%2F&sr=http://slovaria │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/imagecache/wm/2013&where=all&filmId │ 8 │ -│ https://m.myloveplanet.ru/forum/abrika-kobelenie_nebestsenal │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 8 │ -│ http://zapchast.com/iframe-owa.html?1=1&cid=577&oki=1&op │ 8 │ -│ http://afisha.yandex.php?t=141880517 │ 8 │ -│ http://poisk.ru/price_ot=&price_ot=&price │ 8 │ -│ http://zarplata.ru/velika_all=\xD0\xBE\xD1\x82 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http:%2F%2Fwwwwww.bonprix.ru/news/222974895&op │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://fore=3&marka=0&top=0 │ 8 │ -│ http://direct.yandex.ru/catalog │ 8 │ -│ http://video.yandex.ru&xdm_p=1#item/search │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96777&oki │ 8 │ -│ http://zarplata.ru/?p=12977-B26358/currency=RUR/page=1080&wi=1024&lo=http://rzh... │ 8 │ -│ http://masterh4.adriver.yandex │ 8 │ -│ http://en.lyrsenses/zamba_zabor/bedroomolsk │ 8 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://mastered/main.aspx#location=1&bc=3&ct=1&pr=60322056107100919/page5/?_h=s... │ 8 │ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ==&page_avtomodules.php?f=100&ref... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://omsk.mlsn.ru │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96779/87 │ 8 │ -│ http://afisha.yandex.php?gidcar=367108851%2Fr%2F1 │ 8 │ -│ http://che.ru&pvid=13733142835/100/topic,5240556895&ch=UTF-8&sF=11,7,7,0 │ 8 │ -│ http://smeshariki.ru/GameMain │ 8 │ -│ http://love.ru/?p=17059 │ 8 │ -│ http://wildberries.xml?from]=&input │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://irr.ru/index.php?showalbum/login-kupit-topy%2Fplatjie-gotovlexandex.html... │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 8 │ -│ http://auto.ria.ua/auto_id=24126629/0/index.ru/real-estate/out │ 8 │ -│ http://victor?page_type=city.stol-yar.ru/cars │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://kinopoisk.ru/ch/feed/letniaiaprice/1609 │ 7 │ -│ http://video.yandex.ru%2F&sr=http://loveplants/65398f55 │ 7 │ -│ http://real-estate/aparts/Aquarevski │ 7 │ -│ http://bonprix.ru/social/product_id │ 7 │ -│ http://moscow/detail/5552/0/2792834&m=111,7,7,5 │ 7 │ -│ http://video.yandex.ru/a-album/login-vitiju/photo │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 7 │ -│ http://irr.ru/index.php?showalbum/login-kapustics?sort=pogoda.yandex.ru%26bt%3D... │ 7 │ -│ http://irr.ru/Registered/main/topnewsru.com/page=6 │ 7 │ -│ http://bonprix.ru/catalog/8570/14139489 │ 7 │ -│ http://afisha.yandex.ru/\xD0\xB4\xD0\xBE\xD0\xBC\xD0\xB0/\xD0\x91\xD0\xA1\xD0\x... │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://love.ru/?p=1#country=&op_seo │ 7 │ -│ http://irr.htm?from]=&int[85][from]=&input_vsegodnyie │ 7 │ -│ http://bdsmpeople.ru/niktory/shtory/308/roomed.ru/p59473682740295 │ 7 │ -│ http:%2F%2Fwwwww.bonprix │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 7 │ -│ http://myloveplantrackIt?tid │ 7 │ -│ http://spb/event=big&marka=84&model=0&auto_id=0&s_yers=0&pv=10&can_be_check_PP │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 7 │ -│ http://pogoda.yandex.ru&pvid=1 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-a-5-advert27114 │ 7 │ -│ http://video=0&is_hot │ 7 │ -│ http://bdsmpeople │ 7 │ -│ http://irr.ru/index.php?showalbum/login-zk34/pages/0001216629 │ 7 │ -│ http://svpressa.ru │ 7 │ -│ http://money.yandex │ 7 │ -│ http://gotovim-doma.ru │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 7 │ -│ http://afisha │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.ru%2F%2Fmail/169 │ 6 │ -│ http://omsk/evential/house.ru/catalog/kitchedule=213-606361653965283 │ 6 │ -│ http://video.yandex.ru%2Fkategory_id │ 6 │ -│ │ 6 │ -│ http://love.ru/?p=1#country=-1&sq_liver.ru/kyrgyzstan │ 6 │ -│ http://video.yandex.ru/ekt │ 6 │ -│ http://stars-varenok.ru/16745959680706/800_0.jpeg.html%3Fhtml5/v123593 │ 6 │ -│ http://afisha.yandex.ru/catalog=on │ 6 │ -│ http://bdsmpeople.ru/film/64544.690022.rar.html_params%3Drhost%3D_black_list=0&... │ 6 │ -│ http://v102.ru/investate/apartments-sale │ 6 │ -│ http://bdsmpeople.ru/GameMain │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://video.yandex.ru/GameMain.aspx#location/page_type=category │ 6 │ -│ http://afisha.yandex.ru%26bt%3D43%26anbietersburg │ 6 │ -│ http://wildberries.ru/search │ 6 │ -│ http://omsk/evential/housession%3D0 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://video.yandex.ru/a-topy │ 6 │ -│ http://direct.yandex.ru/refererprofile%2F2.10 │ 6 │ -│ http://rukodel=0&sort=newly&trafkey=2750 │ 6 │ -│ http://moscow/details │ 6 │ -│ http://smeshariki.ru/world/photofider_credit=0&view │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://novosibirsk.irr.ru%26bid │ 6 │ -│ http://irr.ru/index.php?showalbum/login-12.html%26custom │ 6 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 6 │ -│ http://solutions.diary.ru/realtitroenie_v_jurman.ru/albums/frame-owa.html?stric... │ 6 │ -│ http://mr7.ru/newsru.com/iframe_right%3D43 │ 6 │ -│ http://smeshariki.ru/catalog │ 6 │ -│ http://autodoc.ru/real-estate/apart │ 6 │ -│ http://edp2.adriver.ru/hocketshop.ru/moscow/detailanude │ 6 │ -│ http://povari.yandex.ru/greecondary/Products_id=&auto_vaz_2111 │ 6 │ -│ http://ereal-estate/rent │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.php/board,39.04839 │ 6 │ -│ http://msk/platia-nashing/vantralitsa_transion │ 6 │ -│ http://novo/detail.aspx?group_cod_1s │ 6 │ -│ http://video.yandex.ru/catalog │ 6 │ -│ http://3dnewsru.com/iframe_right.html?1=1&cid=51538 │ 6 │ -│ http://forum/topnews/22294&op_category │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://auto_hyundai_sarator │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://kalininmyclonus1 │ 6 │ -│ http://bdsmpeople.ru/saledParams=rhost%3D43%26bid%3D1 │ 6 │ -│ http://love.ru/?p=17055335 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.ru/mymail.php │ 6 │ -│ http://real-estate=week/page=1&expand_search?film/298677435615.html │ 6 │ -│ http://koolinar.ru/port.ru/doc │ 6 │ -│ http://afisha.yandex.ru/index.ru/recipe │ 6 │ -│ http://kinel-lab.com/rus/20130709_117485994,93304&op_seo_entry=1&gearbox=0&type... │ 6 │ -│ http://video=0&with_exchangeType │ 6 │ -│ http://diary.ru/exp?sid=3205 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://video.yandex.php?search?text=\xD0\x9A\xD0\xBE\xD0\xBD\xD1\x8C\xD1\x8F\xD... │ 6 │ -│ https://slovakia-600dd903c07022,101595,91194&op_seo_entry │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://video.yandex.php?from]=&interapy-wkti/ &cd │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D8393224 │ 6 │ -│ http://love.ru/ru/irk/event/search/ │ 6 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 5 │ -│ http://kinopoisk.ru/catalog │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://auto_volkswagen/vologdano/il_dlya-dnevka.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://barnaul/details/?cauth │ 5 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD0\xB5\xD1\x80&where=... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://sp-mamrostova │ 5 │ -│ http://zvukovo-gorodsk │ 5 │ -│ http://metal-lodku-Obzor │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 5 │ -│ http://tp66.ru/exp?sid=3860217/rooms=2/men.aspx#location%3D0%26rnd │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://video.yandex.by/?state_id=&auth=1..630;IC,7711588 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 5 │ -│ http:%2F%2Fwwww.bonprix.ru/?id=2013&where=all&filmId │ 5 │ -│ http://rmnt.ru/search/offilia_Sovetov_living_chamber/?78142 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://e96.ru/movies/614418821/artir.ua/search │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://slovari.yandex.ru%26orderovskij-index.ru │ 5 │ -│ http://povari.yandex │ 5 │ -│ http://tks.ru/cat/publish-cherkalnaya-ttpodporyadushek │ 5 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_seo_entry=&op_category_... │ 5 │ -│ http://slovarenok.com │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://video.yandex.ru/GameMain.aspx?Link │ 5 │ -│ http://auto.ria.ua/auto_id=241269.html?1=1&cid=2127970 │ 5 │ -│ http://slovari.yandex │ 5 │ -│ http://rustnye-sht-riemnikoi │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://radio&planet.ru/work.ru/catalog │ 5 │ -│ http://auto_volkswagen-Palities/horobki │ 5 │ -│ http://afisha.yandex.php?r=23436303135353.html?1 │ 5 │ -│ http://en.lyrsenses/zamba_zaborah_chamberk │ 5 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 40007&pt │ 5 │ -│ http://love.ru/product_id=0&po_yers=0&po_yers=2&refererro/model=1346488078722&c... │ 5 │ -│ http://myloveplanet.ru/v14572&lb_id=13000001216629 │ 5 │ -│ http://pogoda.yandex.php?gidcar │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://sslow_135000008&position=search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 5 │ -│ http://bibidohertki-i-OOOO_REPORT/07_2013 │ 5 │ -│ http://autodoc.ru/moscow │ 5 │ -│ http://avtomobile/motory.ru/comp.ru/view.php │ 5 │ -│ http://topnews.ru/GameMain.aspx?group_cod_1s=1983&pt=b&pd=9&pw=0 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://real-estate=week&m=Dvigenie.html?option │ 5 │ -│ http://loveplanet.ru/mymail/rudi │ 5 │ -│ http://video.yandex.ru/firms.turizm │ 5 │ -│ http://video.yandex.ru%2FkategoriendflowerTo=&powerTo= │ 5 │ -│ http://auto.ria.ua/auto │ 5 │ -│ http://auto.ria.ua │ 5 │ -│ http://nizhnieiewva88/photo/101246465376&cmd=show-to-buchaiev-pugache=51db32a68... │ 5 │ -│ http://msk/platia-nashing/vannyie-product_id=1841&page2 │ 5 │ -│ http://tks.ru/cat/publish-chemec.ru/search?filmId=CktclMBmUXI │ 5 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D158197%26width │ 5 │ -│ http://direct.yandex.ru/index │ 5 │ -│ http://club.ru/cinema/movies/no-pos │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://kinopoisk.ru/spb.pulscen.ru/exp?sid=3159&op_category_id=&auth=0&checked=... │ 5 │ -│ http://holodilnik-rp-ploschaya-obuv/?ci=1280&with_video=0&choosOyg==&op_uid=111... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://slovariant_neu%3D1%26bid%3D1216/0001216629%26bt%3Dad │ 5 │ -│ http://wildberries.ru/real │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://md.mirkovskaya-obl.irr.ru/jobinmoscow │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://wildberrior/kia/ │ 5 │ -│ http://jcmotorom-921205&bt=7 │ 5 │ -│ http://loveplanet.ru/\xD0\xB0\xD1\x80\xD0\xBE\xD0\xBC/curre-ap-i-showalbum/loui... │ 5 │ -│ http://en.lyrsense.com/obshchin-idieiala │ 5 │ -│ http://povari.yandex.php?showalbum/login.pl?cl=all&film/497794,90458 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://video.yandex.ru%26bt%3Dad.adriver.ru/recipe/view/10217/?from │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://smeshariki.ru/topic │ 5 │ -│ http://moscow/detail/Torgovuyu-organske.ru/real-estate │ 5 │ -│ http:%2F%2Fwww.bonprix.ru │ 5 │ -│ http://gaylyU │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://loveplanet.ru │ 5 │ -│ http://alib.mist.html%26custom%3D%26c2%3D278888592138 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://alpari.ru/gallery/pic845274 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://whoyougle.ru/images/images/00000i/specifiers.ru/image=1&furniture │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 4 │ -│ http://loveplanet │ 4 │ -│ http://video.yandex.ru/price │ 4 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 4 │ -│ http://video.yandex.ua │ 4 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 4 │ -│ http://sslovarenok.ru │ 4 │ -│ http://auto.ria.ua/auto_id=0 │ 4 │ -│ http://afisha.yandex.ru/zoom.php?f=5162613838.html_partments │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://loveche.html │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/filmId │ 4 │ -│ http://samarskii_krai/tuapse/detail/result.aspx │ 4 │ -│ http://irr.ru/index.php?showalbum/login-10618968476372773 │ 4 │ -│ http://bdsmpeople.ru/Web/Pages=1/feedsmag.ru/~\xD0\xBA\xD0\xBD\xD0\xB8\xD0\xB3\... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://e96.ru/news/39733/page2=&input_sponsor=&o=1015219.html_partments-sale&pa... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://radio&planet.ru/marka=62&model=1178128455&pvno=2&evlg=VC,5 │ 4 │ -│ http://wildberries.ru/catalog │ 4 │ -│ http://afisha.yandex.ru%252f7769%252fe │ 4 │ -│ http://echoradar-s-Levoshcha │ 4 │ -│ http://love.ru/?p=1#countpage/vacancies/events/738/0/3/women.aspx │ 4 │ -│ http://direct.yandex.php?formsof(INFLECTION_ID=30861/14365-4b11&state/apartment... │ 4 │ -│ http://diary.ru/catalog=on&input_city[3 │ 4 │ -│ http://rasp.pl?cmd │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 4 │ -│ http://travel.ru/state/apartments-sale/rashinitit%2F537 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.php?view_type=2&driveresult.ru/replies │ 4 │ -│ https://smeshariki.ru/cinema/article10363136000001216629%26site_offilia_Sovets.... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.php?r=3&bs=&day │ 4 │ -│ http://ssl.hurranovskaya-ul-31-foto.ria │ 4 │ -│ http://kinopoisk.ru/saledParams%3Drhost%3Dad.adriver.ru/GameMain.aspx#location │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://auto.ria.ua/auto_id=63799.html_params │ 4 │ -│ http://vkirovoe-tourisma │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://smeshariki.ru/domchelkakh_location=search?text=\xD0\xBC\xD0\xB8vents │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboy07/... │ 4 │ -│ http://card/windows)&bL=ru&cE │ 4 │ -│ http://kniga.ru/view=\xD0\xA1\xD1\x82\xD0\xB0\xD0\xB2\xD1\x80\xD0\xBE\xD0\xB2&w... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://smeshariki.ru/search/keukeru-soft │ 4 │ -│ http://guid=6&pw=2&pv=0&price_do=¤cy=1 │ 4 │ -│ http://v102.ru/?s=Adaments-sale │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/real │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.ru/search │ 4 │ -│ http://zarplata.ru/?p=12977-B26358/hasimages=1/page │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://matched_car=373838928155755775482794,9453.116 Safari%2F537.36&he=10&s_ye... │ 4 │ -│ http://video.yandex.ru/GameMain.aspx#location-4.0.html │ 4 │ -│ http://video.yandex.ru/GameMain.XYyZwYXRoPWEtbG9nb24vcG90Cw │ 4 │ -│ http://tks.ru/cat/publish-chernyjbelyj-9375966238&op_categoriya │ 4 │ -│ https:%2F%2Fwwww.yandex.ru │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://nizhny novgorod │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/social │ 4 │ -│ http://video.yandex.ru/realty/leaser_map=1/hasimay-2.html │ 4 │ -│ http://auto.ria.ua/canel_pe_mascona Hilfigeratov/153228 │ 4 │ -│ http://video.yandex.ru%26target=search/ab_area=categorija80119 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://guide.travel.ru/link │ 4 │ -│ http://victorhead.php?full&dom=780067167694.0; │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://kubikus.ru/search.php?r=4140211,1,7,7,7,7,0 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://e-kuzbass.ru/a-shop │ 4 │ -│ http://svpress_up.aspx#location[propfilter_pf[PODVAL]=&arrFilter][3463351841195... │ 4 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/cart.php/cars/papago-d-plosch │ 4 │ -│ http://afisha.mail.aspx#locationalOffers │ 4 │ -│ http:%2F%2Fwwww.bonprix.ru/real-estate/out-of-town/house │ 4 │ -│ https://produkty%2Fpulove.ru/gost/?page3 │ 4 │ -│ http://fitness/building │ 4 │ -│ http://afishi,Mudanted-belyj-974299099/guest-id=34089.html │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://anketka.ru/bridget │ 4 │ -│ http%3A//magnitogorod/page3/#over │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.php?action/2741920 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadbor_sh... │ 4 │ -│ http://tks.ru/cat/public/gamemain.aspx#location │ 4 │ -│ http://video.yandex.ru/GameMain/dukhovyy │ 4 │ -│ http://nepogoda.yandex.ru/search=1&target=search=0&can_be │ 4 │ -│ http://love.ru/image=2&marka=84&model/mihailovo │ 4 │ -│ http://kinopoisk.ru/searchAutoSearch=0&driver.ru/catalog/1/women.aspx#locationp... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.php?show=rlv&ru=1&expand_search │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://love.ru/?p=1705 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://internet Explorer&aV=5.0 (Windows)&bL=en │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://pogoda.yandex.ru/cooking_sm5_1148786993ab-417/photo/69363/26#formi.ru/co... │ 4 │ -│ http://auto_volkswagen_cated_cartovskaya-obl.irr.ru/album/login │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.php?p=31&input │ 4 │ -│ http://loveche.ru/job/1162323&PAGEN_1=30&state │ 4 │ -│ http://video.yandex.ru/If yours.avtogsm.ru/animals/calculate │ 4 │ -│ http://ssl.hurra.com │ 4 │ -│ http://auto_s_product_name=\xD0\x9A\xD1\x80\xD1\x83\xD0\xB3\xD0\xBB\xD0\xBE\xD0... │ 4 │ -│ http://rsdn.ru/details_103514,154;IC │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://inspelishchin-platjie-doma.ru/irkutsk.irr.ru │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://auto_volkswagen_pass_1161967 │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD1\x82\xD0\xBE\xD1\x8... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboyzon... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ru/topnews.ru/lanas-advert2713][to]=&int │ 4 │ -│ http%3A//edp1.adriverys/forum/view_type=city&custom=0&damages/0001216629%26bid%... │ 4 │ -│ http://auto_id=0&with_photo │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://afisha.yandex.ru/content2.adriver │ 4 │ -│ http://arma/frl-4/transportnoy-kv-m-malchik.ru/show │ 4 │ -│ http://en.lyrsenses/zamba_zabudka/photo-1/#page=0&sale/search?text=\xD0\x9C\xD0... │ 4 │ -│ http://b.kavanga.ru/?a=inneVolumeFrom │ 4 │ -│ http://smeshariki.ru/saint-petersburg-gorod/transfer/?id=7576149959760994861&op... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.ru&pvid=13733424 │ 4 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_category_id=592b9e01c48ce9403%26bn%3D0%2... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/GameMain │ 4 │ -│ http://tp66.ru/money.yandex.ru/albums_screenterval │ 4 │ -│ http://irr.htm?from]=&int[1151;IC,112 │ 4 │ -│ http://bdsmpeople.ru/film/64544.690078 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://romar/events/audio.ru/widget[]=vacancies/99.php?gidcar │ 3 │ -│ http://banantikov-nadushenie_orleona_server=sc.cheloveplant_11612/page │ 3 │ -│ http://afisha.yandex.php/topic104780204&op_uid=1954 │ 3 │ -│ http://afisha.yandex.php/tova.ru/uliya2076789599305953 │ 3 │ -│ http://afisha.yandex.ua/donetsk/urals │ 3 │ -│ http://afisha.yandex.ru/a-folders/misc │ 3 │ -│ http://afisha.yandex.ru/shop.ru/malta │ 3 │ -│ http://afisha.yandex.ru/project_price=&maxprice │ 3 │ -│ http://afisha.yandex.ru/kategoriya%2F5.0 (company │ 3 │ -│ http://afisha.yandex.ru/linkvac.php/board.php?topicseeng │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://kinopoisk.ru/service.ru/iframe │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://irr.kz/realty/lease/3516093&pvno=2&evlg │ 3 │ -│ https://produkty%2Fplatjie-kuzbass.ru/newsru.com/iframe_right=0&auto_ria=0&meta... │ 3 │ -│ http://fuckfind=rent/view/2021/3 │ 3 │ -│ https://orenburg/?arrFiltersburg │ 3 │ -│ http://radioscannerica/filmId=Ba_id=13733568414&city=\xD0\x9C\xD0\xBE\xD1\x81\x... │ 3 │ -│ http://radiorecord.ru/login-m3w.html?1=1&cid │ 3 │ -│ http://video.yandex.ru%2Fplata.ru/ch │ 3 │ -│ http://samara.irr.ru%2Fproduct │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://sp-money.yandex.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://astrobank.ru/image │ 3 │ -│ http://forum/topnews/2229605699574.html?1=1 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://love.qip.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://afisha.yandex.ru/forum.materinburg │ 3 │ -│ http://afisha.yandex.php?addriver.ru │ 3 │ -│ http://video.yandex.by/search/?target%3D43%26bid%3D2 │ 3 │ -│ http://love.ru/forum.cofe.ru/forum/view_type=city=790&Selectronics-technik │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ https://slovakia-600dd903c07022,101595,9143531427800648_elit │ 3 │ -│ http://wildberrior/bedroom]=&int[17][to]=&int[858 │ 3 │ -│ http://sp-money.yandex.ru/work rushki-sien-natalog/8570/page=0&expand │ 3 │ -│ https://slovakia-600dd903c06c999c226647639.html%3Fhtml │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category_id=0&wi=16000&... │ 3 │ -│ http://direct&sortdirect.yandex.ru/imagesize%3D0%26ar │ 3 │ -│ http://auto_kia_30 │ 3 │ -│ http://ssl.hurral=messages │ 3 │ -│ http://sp-mamrostokonkursovet │ 3 │ -│ http://kaluga/?ext=\xD0\xB3\xD0\xB5\xD1\x80\xD0\xBE\xD1\x8F\xD1\x82\xD0\xBD\xD1... │ 3 │ -│ http://video.yandex.ru&pvid=13735/?_h │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://rmnt.ru/stars │ 3 │ -│ http://edp2.adriver.ru/catalog/181 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://video.yandex.ru/circle&state/out-of-town/houses │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://bdsmpeople.ru/search │ 3 │ -│ http://b.kavanga.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http:%2F%2Fwww.bonprix_ru}%2Fnizhniynovgorod/request-id │ 3 │ -│ http://video.yandex.ua/auto_id │ 3 │ -│ http://rmnt.ru/film/88677/russia/rio.ru/search?filmId=NNr6aJrm4s3M │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://kazan.irr.ru/location │ 3 │ -│ http://pogoda │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://pogoda.yandex.kz/family │ 3 │ -│ http://edp2.adriver.ru/jobinmoscow/detail │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/forum.donfiscategory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://video.yandex.php?topbloveche │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com/iframe-owa.html?1=1&cid=577&o... │ 3 │ -│ http://nigma.ru/product&op_category_name=\xD0\x91\xD0\xB8\xD0\xBA\xD0\xB8\xD0\x... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://card/windows NT 6.1) AppleWebKit%2F5 │ 3 │ -│ http://tks.ru/cat/publish-chin-play.php?categoriya%2Fzhiensmed │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ https://produkty%2Fpulove.ru/voronezh-sien-zhienskaia-moda-zhienskaia-moda-zhie... │ 3 │ -│ http://svpress_w1t1042796786/6/?category │ 3 │ -│ http://radiorecord.ru/catalog/idShare │ 3 │ -│ http://msk/planet.ru/mymail.aspx#comme_me_saydinne │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountpage │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://ussuriysk.irr.ru/catalog/premiere/628962851d7fd0b6eb17b321d336f5bc7de189... │ 3 │ -│ http://ekategoriya%2F9B206 Safari │ 3 │ -│ http://magnitka_1_series.ru/?favorite_id=636233644&op_category_id=937514 │ 3 │ -│ http://afisha.yandex.ru/tatatit_chto.php?industry │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://smeshariki.ru/a-phony │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26url%3D//ad.adriver.ru/link/justic/h2.php/... │ 3 │ -│ http://smeshariki.ru/catalog/286/women.aspx │ 3 │ -│ http://svpress/showbiz/photo.htm │ 3 │ -│ http://svpressa.ru/content/search │ 3 │ -│ http://video_dvd/game/iframe-owa.html │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/92054446660.ht... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty%2Ftanki │ 3 │ -│ http://loveche.ru/volzhskiy │ 3 │ -│ http://sp-mamrostovestory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://e96.ru/real-estate │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://my.kp.ru/albumfoto-1/pol-2 │ 3 │ -│ http://holodilnik.ru/catalog │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://smeshariki.ru/?win=82&stat=141882,373;IC,2552f48 │ 3 │ -│ http://personal/atlants/7292&xdm_c │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://msk/platia%2Fzhienskaia │ 3 │ -│ http://tp66.ru/search/?page=1&fuelRateTo │ 3 │ -│ http://povarenok.ru/files/eliteh.ru/perm.irr.ru/board,75.2013-07-09 │ 3 │ -│ http://love.ru/?p=1#country=&op_seo_entry=-1&target │ 3 │ -│ http://amobil-nye-pliazhnaia │ 3 │ -│ http://lk.wildberries │ 3 │ -│ http://brand=498&pvno │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory_id=577&search/ab_district/date_id=2271][from... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostavia.travel.ru/s... │ 3 │ -│ http://irr.ru/washek-s-printom │ 3 │ -│ http://irr.ru/index.php?showalbum/login-kupaljinik-chere │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://product_brand=RAINBOW&op_cated_content/search/keup/en-ru │ 3 │ -│ http://wildberries.ru/item_no=2&evlg=VC,0;VL,205;IC,14;VL,757138/currency=RUR/h... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://afisha.yandex.php?app=membered │ 3 │ -│ http://afisha.yandex.php?ELEMENT_ID │ 3 │ -│ http://afisha.yandex.ru/lesyach-hotels │ 3 │ -│ http://msuzie │ 3 │ -│ http://afisha.yandex.ru%26bt%3D90%26nid%3D1216629 │ 3 │ -│ http://afisha.yandex.php?id=727285 │ 3 │ -│ http://smeshariki.ru/goodavec/photo/6936325.html?id=223978/page=102 │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://love.ru/recipes/indows │ 3 │ -│ http://str_ob.html?1=1&choosO8gPJSs3M&where=all&filmId=mAyiC7y6M2mGV2GoA9hFoN3q... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic=79799398/?_h=search.htm... │ 3 │ -│ http://3dnews.ru/?p=12636464/5#f │ 3 │ -│ http://love.ru/ru/irk/event=little&cated_country=-192.html?1=1&cid │ 3 │ -│ http://love.ru/?p=17057 │ 3 │ -│ http://smeshariki.ru/real │ 3 │ -│ http://kinopoisk.ru/search │ 3 │ -│ http://kaluzha-na-NovletedAutoSearch=0 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://pogoda.yandex.ru/real-estate │ 3 │ -│ http://soft.oszone.ru │ 3 │ -│ http://povaria/chak_naytimes.ru │ 3 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD0\xB2\... │ 3 │ -│ http://li.ru/filmId=XpzlPj8P8gE&where=all&text=\xD1\x81\xD0\xBA\xD0\xB0\xD1\x87... │ 3 │ -│ http://kinopoisk.ru/sessulyanovka.ru/photosessid=3205&bt │ 3 │ -│ http://wildberries.ru/basket&ch │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberries.ru/GameMain │ 3 │ -│ http://afisha.yandex.ru/comment/search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 3 │ -│ http://afisha.yandex.ru%2Fobuv-sapozhkivka=23&price │ 3 │ -│ http://afisha.yandex.ru/hotel-agen-Goluboj-9730 │ 3 │ -│ http://notebooking pressa │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://state/room=94720-recept-Salat-iz-glasya1lesyat │ 3 │ -│ http://you_hashkaf.ua/search │ 3 │ -│ http://auto_repairs=0&confiscategoriya │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://auto_id=0&engineVolumeFrom │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://video_dvd/ratesTypeSearch?text=\xD1\x87\xD0\xB5\xD0\xBB\xD0\xBE\xD0\xB2\... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://auto_repairs=0&po_yers=0&price.ru/\xD0\xB6\xD0\xB5\xD0\xBB\xD0\xB5\xD0\x... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://smeshariki.ru/GameMain.aspx#location │ 3 │ -│ http://slovari.yandex.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://audio_video.yandex.ru/mosday.html?item=4#photo446962 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://v102.ru/investate/apartment/?id=137336IseNhcbx3J85GkHSnzgnsPdZUU&where=a... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com.ua/kiev/detail.ru/auth=1..640... │ 3 │ -│ http://video.yandex.ru/personal/offeebe34c7e12944&op_product │ 3 │ -│ http://pogoda.yandex.ru/vlas-moskovskaya │ 3 │ -│ http://video.yandex.ru/extra │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/photo/narod.irr.ru/katering=1&pr=569&s_yers │ 3 │ -│ http://dom.net/provoe-pervouralnaya/ChildGluZ19oZXJlci1kYXRpb25zPU4mbj0zJmlkPTM... │ 3 │ -│ http://trashbox.ru/book │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ https://slovarenok │ 3 │ -│ http://afishers/story │ 3 │ -│ http://love.ru/ru/irk/event=little&category_id=731-643736&mode=1 │ 3 │ -│ http://alpari.yandex.ru/saint-petersburg.irr.ru/cars/page3 │ 3 │ -│ http://auto_ford Mix).mp3.ucoz.ru/v1430497.html%3Fhtml │ 3 │ -│ http://kommersantamina │ 3 │ -│ http://guid=6&pw=2&pv=0&with_video.yandex.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.ru/cgi-bin/click.cgi%3Fsize │ 3 │ -│ http://state_shariki │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://bdsmpeople.ru/show/39932/Itemid,40.0.html_params%3DfsSaHR0cDovL2pzLnNtaT... │ 3 │ -│ http://afisha.yandex.php?partments │ 3 │ -│ http://video.yandex.ru/real-estate/out-of-town/house.ru&pvid=1&distreet_legkovo... │ 3 │ -│ http://loveplanet.ru/Bezli-all │ 3 │ -│ http://omsk/evential/housession%3D240%26rleurl%3D//ad.adriver.ru/marshavskaya-r... │ 3 │ -│ http://radiorecord │ 3 │ -│ http://kinopoisk.ru/registernet Explorer&aV=5.0 (Windows NT 5.1; ru-ru&cE=true&... │ 3 │ -│ http://en.lyrsenses/zamba_zabor_polnitsa-s.narod.irr.ru/bank/otzyvy/12031%2F%23... │ 3 │ -│ http://auto_id=0&color=0&confiscategory_id=3205&bt=7&bn=1&bc=3&ct=1&prr=http:%2... │ 3 │ -│ http://balcon_caddy Club relove │ 3 │ -│ http://video.yandex.ru%2Fkategory_id=9759527418 │ 3 │ -│ http://kinopoisk.ru/spb.pulscen.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://smeshariki.ru/cgi-bin/click.cgi%3Fsid%3D0%26pz │ 3 │ -│ http://video │ 3 │ -│ http://wildberring │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://cxem.net/324487194836848 │ 3 │ -│ http://sunmar.ru/cart&ch=utf-8&sF=11,7,700&aN=Opera&aV=9.80 (Windows │ 3 │ -│ http://afisha.yandex.ru/manga.ru/?rtext=\xD0\xBF\xD1\x80\xD0\xB8\xD0\xB1\xD0\xB... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://smeshariki.ru/furniture.html5 │ 3 │ -│ http://myloveplanet.ru/passenger/kitched_country_id=4312&input │ 3 │ -│ http://wildberries.ru/comment/search │ 3 │ -│ http://klubnich/zrh/ │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http:%2F%2Fwww.bonprix.ru/imagesize │ 3 │ -│ http://saint-petersburg-gorod/goodal │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://un1.adriver.ru/page=30138117749516%252f110916%252fmedicinema/movie_ross ... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_product_brand=4200&lo=h... │ 3 │ -│ http://wildberries.ru/comme%2F2.12.388 Version/1552/page │ 3 │ -│ http://ssl.hurra.com/iframe-owa │ 3 │ -│ http://saint-peter │ 3 │ -│ http://lazarevskoe │ 3 │ -│ http://video.yandex.ru/realty/search/main.aspx?sort=popular │ 3 │ -│ http://whoyougle.com/iframe/iframe_right.ru/spb │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&film/67... │ 3 │ -│ http://jobs-education │ 3 │ -│ http://pogoda.yandex.ua/telefon_shtukaturkey │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://afisha.yandex.ru/sell/resident │ 3 │ -│ http://afisha.yandex.php?p=176d43f96ef32d5bc1272 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://video=0&input_with_video.yandex.ru/page/10/women.aspx │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://pogoda.yandex.ru/real-estate/apartments/73151 │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://bdsmpeople.ru/index.by/ru/page=0&confiscategory_id │ 3 │ -│ http://auto_id=0&color=0&confiscategoriya%2Fzhienskaya-advert25593 │ 3 │ -│ http://video_dvd/suppoll/dleead6718.php?SECTION │ 3 │ -│ http://gotovim-doma.ru/personal/commersant.ru/image=19&pvno=2&engineVolum │ 3 │ -│ http://radioscannerica/film/47018.html?1=1&cid=691390&pvno │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://krasnodar.irr.ru/yaransferapid │ 3 │ -│ http://forum/topics/ingradskazka-lookoformalities/poetry/events/?date&csrf-8200... │ 3 │ -│ http://irr.ru/index.php?showalbum/logizer8/num-1/refremost │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://tyva-5/country=-1&washestvo/den_sidentialAmount │ 3 │ -│ http://rukodel=0&sort=newly&trafkey=27065/2/child.aspx#location │ 3 │ -│ http://zapchastny_fashing_mashes/index.ru │ 3 │ -│ http://myloveplanet.ru/bad_by_sidential/nizhnieiewva88 │ 3 │ -│ http://irr.ru/index.php?showalbum/login-do-500-kv-m-Maya │ 3 │ -│ http://mylove.ru/zoom.php?GID=2&IsOrder │ 3 │ -│ http://arma/frl-4/travel.ru/moscow/details │ 3 │ -│ http://msk/platia-nashing/vanny.diary.ru/otdam_daily │ 3 │ -│ http://kinopoisk.ru/cgi-bin/click.cgi%3Fsid%3D1216 │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/procoolonelopitered/ministrict/3d-probeg-340-... │ 3 │ -│ http://ssl.hurra.com/iframe/iframe-owa.html%26custom%3D%26custom │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://maps#ru_5_ru_1_ru_ru_ru_202_ru_1_ru_ru_ru_ru_2_ru_1743.html?oscsid=36303... │ 3 │ -│ http://direct.yandex.ru%2F&sr │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://chehod/zvenia8312&input_who2=1&input_age1=35&aN=Netscape │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=&is... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/used/KIA-Cee-d... │ 3 │ -│ http://kinopoisk.ru/real-estate=2013-07-2089241607/photo=0&with_exchangeType │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://rsdn.ru/info_all=yes&razdumy-i-trikshop/search&_h_page/1719920 │ 3 │ -│ http://smeshariki.ru/news/2013/peshnye-udivlekanka.ru/l_03_00/bodreamfood.ua │ 3 │ -│ http://forum/topnews/222968695,910112_1164074834-908745 │ 3 │ -│ http://myfashihtzu.html?1=1&cid=65625f313230303&po_yers=2013/07 │ 3 │ -│ http://myloveplants_list-obl.irr.ru%2Fobuv-zhienskaia-modiezhda │ 3 │ -│ http://smeshariki.ru/chipinfo │ 3 │ -│ http://zagranimals-planet.ru/user/31059&Module │ 3 │ -│ http://kuharka=48&modeloveplanet │ 3 │ -│ http://smeshariki.ru/index.ru/main.pl?cmd=show/47555 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://whoyougle.ru/basket&ch=utf-8&sF=11,7,7,7,700 │ 3 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 3 │ -│ http://afisha.yandex.ua/index.ru/recipe │ 3 │ -│ http://video.yandex.ru%2F%2Fwww.bonprix │ 3 │ -│ http://afisha.mail.ru/stars/page │ 3 │ -│ http://bdsmpeople.ru/Web/price │ 3 │ -│ http://video=0&is_hot=0&che_simeis │ 3 │ -│ http://irr.ru/6323%26bn%3D27888895,96772&op_page47 │ 3 │ -│ http://sendflower │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://avtoto.ashx/1001087496197797217530729; Media Centernet_mastersburg │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://votpusk.ru/ │ 3 │ -│ http://auto_operey-v-v-meha.ru/catalog/public │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountry │ 3 │ -│ http://wildberries.ru/page=0&vip │ 3 │ -│ http://forum/topnews/2229362067528195&op_categoriya │ 3 │ -│ http://nizhnieie-bielie-bieriends&fb_source-temno │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 3 │ -│ http://stories.ru/art/MACKLEMORE │ 3 │ -│ http://afisha.yandex.php?link=114735200&brand=23368 │ 3 │ -│ http://afisha.yandex.php?w=3160/transports │ 3 │ -│ http://kurort/SP1399&op │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://pogoda.turizm.ru/communit=0&vip=0&order_by=2 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://smeshariki.ru/Web/price │ 3 │ -│ http://irr.htm?from]=&int[852][to]=10&lastdiscussins/?keyworld │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 3 │ -│ http://zarplata.ru/?p=1290&op_product_price=990348531&schoosOSRquM8gE&where=all... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&top │ 3 │ -│ http://ej.ru/muss/roll_to_audi/mode=replies │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://ur.hh.ru/file/news/2013 \xD0\xB3\xD0\xBE\xD0\xB4\xD0\xB0 │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://radiorecord.ru │ 3 │ -│ http://my.alpari.ru/filmId=yJg89hqV8gE&where=all&film/530/?fromCityCodeForcentr... │ 3 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 │ 3 │ -│ http://gorbus.aspx#localiformalitic │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&text=\x... │ 3 │ -│ http://guid=6&pw=2&pv=0&po_yers=0&with_video │ 3 │ -│ http:%2F%2Fmuzhchine/ru-g-Chelya_v_tsentyabrskii │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://rlsnet.ru/nogin.html5/v12 │ 2 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 2 │ -│ http://edp2.adrive_type=4754679564&pt=b&pd=9&price │ 2 │ -│ http://poisk.ru/news/articles │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://wildberries.ru/editem_no=100¤cy=1#country=&op_proizvodskaya-obuv-z... │ 2 │ -│ http://wildberries.ru/filmId=4920/room=1&lang=all&filmId=DnGbyVQVUXI&wheretomug... │ 2 │ -│ http://smeshariki.ru/product&op │ 2 │ -│ http://forum.php?t=420 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://afisha.yandex.php?id=1620_4_licanel │ 2 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD1\x81\... │ 2 │ -│ http://moscow/detail/Torgovljatory/storii_efferanslyatting │ 2 │ -│ http://mysw.inform%26q%3Dversion.cheltyj │ 2 │ -│ http://wildberrin/foton │ 2 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 2 │ -│ http://sslow_13500000%26rnd%3D278888 │ 2 │ -│ http://wildberries.ru/index.ua │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://smeshariki.ru/kitched_country=-1&target= │ 2 │ -│ http://balance/#21792/guest=\xD1\x89\xD0\xB5\xD0\xBD\xD0\xBA\xD0\xBE \xD0\xB8 \... │ 2 │ -│ http://afisha.yandex.php?s=4d450&pid │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://diary.ru/search?familliklink │ 2 │ -│ http://kaluga/?ext=\xD1\x80\xD0\xB5\xD0\xB9 \xD0\xBD\xD0\xB0 \xD0\xB1\xD1\x80\x... │ 2 │ -│ http://afisha.yandex.php?city=418&view │ 2 │ -│ http://afisha.yandex.ru/?trafkey=54073799 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://ssl.hurra.com.ua/auto_repairs=0&page=10&category_id=detail │ 2 │ -│ http://video.yandex.html?1=1&cid=1&bodystyle=0&color=0 │ 2 │ -│ http://hotel-2-komn-kvarticle/7081272794,921006 │ 2 │ -│ http://svpressages/00012166260001216629%26sliceid%3D0%26ad │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://video.yandex.ru/?win=82a&cid │ 2 │ -│ http://video.yandex.ru/rent/info/messa.ru │ 2 │ -│ http://news/398261_enl.jpg-1 │ 2 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 2 │ -│ http://auto.ria.ua/auto_auto.ria │ 2 │ -│ http://loveplants/740392319 │ 2 │ -│ http://yaroslavl.irr │ 2 │ -│ http://masterlingvo/#I 1 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://ur.hh.ru/page=10&can_be_checked_auto_region=1&rm=1&lang=all&film/18212.1... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://video.yandex.html5/v12 │ 2 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 2 │ -│ http://pogoda.yandex.ru&xdm_e=http://name=\xD0\x91\xD0\xB0\xD0\xBB\xD0\xB5\xD1\... │ 2 │ -│ http://auto_id=3159&input_age2 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://smeshariki.ru/user_id=1&bodystyle=0&vip=&int[12][from=last_auto_id=13143... │ 2 │ -│ http://en.lyrsense.com/iframe-owa.html?query=2&hide_black.asp?TOPIC_ID=914958&o... │ 2 │ -│ http://pogoda.yandex.ru/places/premiery%2Fpage=2&confiscategoriya │ 2 │ -│ http://video=0&wi=1362653061306535333&site_id=&auth │ 2 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=2furii10.html?city=0&hide │ 2 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.117 user 0.520000 sys 0.028000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -┌────────────────┬────────────────┬─────────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ TraficSourceID │ SearchEngineID │ AdvEngineID │ src │ dst │ pageviews │ -├────────────────┼────────────────┼─────────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33069 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 24703 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 15817 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 14233 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 │ 6549 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 │ 5257 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 5257 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 3547 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login │ 3538 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik │ 3371 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php │ 3333 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 3309 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 2923 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 2616 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 2441 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php │ 2418 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 2390 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari │ 2367 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 2349 │ -│ 1 │ 0 │ 0 │ https://google.com.ua/url?sa=t&rct │ http://komme%2F27.0.1453.116 │ 2228 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 1920 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://komme%2F27.0.1453.116 │ 1679 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ekburg.irr.ru%2Fpuloveplanet │ 1340 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://aliningrad │ 1270 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1254 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1213 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1193 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1186 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1142 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F27.0.1453.116 │ 1007 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 954 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://aliningrad │ 859 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login │ 821 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 791 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 777 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 757 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 722 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://video.yandex.php │ 702 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 691 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/obucheyelants │ 684 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 632 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 593 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 577 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://smeshariki.ru/obucheyelants │ 566 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.php │ 452 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 445 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBA\xD0\xBE\xD0\xBD\xD1\x82\xD1\x80\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 422 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 421 │ -│ 0 │ 0 │ 0 │ │ http://obninsk/detail │ 407 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 386 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug.ru │ http://irr.ru/index.php │ 374 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru/index │ 360 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 348 │ -│ 2 │ 0 │ 13 │ │ http://komme%2F27.0.1453.116 │ 347 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-2011/43597 │ 293 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 293 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6HS │ 282 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 268 │ -│ 3 │ 72 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 267 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 259 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 257 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari │ 256 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 │ 241 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login │ 237 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 │ 236 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/28435&lr=157 │ http://komme%2F27.0.1453.116 │ 233 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/ru/photo/6936313555&text=\xD1\x85\xD0\xBA \xD0\xBB\xD0\xBE\xD... │ http://komme%2F27.0.1453.116 │ 224 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php │ 223 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cat/dushkirillovyj │ http://komme%2F27.0.1453.116 │ 222 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=359&op_page2/... │ 218 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kriminally-bezhevsk │ 217 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0 │ 212 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 207 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 202 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 199 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://ekburg.irr.ru%2Fpuloveplanet │ 199 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 198 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 197 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 195 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/414526863.xlsx │ 191 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CDMQFjAJ │ http://irr.ru/index.php?showalbum/login-kiriskaya-obl.irr.ru/index.ru/GameMain.... │ 190 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=0&with_photo.ashx/101/4/?cat=6257271 │ 188 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=partments-sale/search?text=\xD1\x81\xD0... │ 187 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://afisha.yandex.ru/index │ 183 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://ekburg.irr.ru%2Fpuloveplanet │ 171 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 168 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 164 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 163 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://ekburg.irr.ru%2Fpuloveplanet │ 160 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 160 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/life.ru/cars/misc/travel.ru/?trafkey=058143&p... │ 155 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 │ 154 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=577&oki=1&oby=&op_s... │ 152 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://wildberrior/uphold │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6HS │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 149 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 146 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustic/meterburg │ 144 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 144 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 144 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E │ 141 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 140 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 136 │ -│ 1 │ 0 │ 0 │ http://kombardighantnie │ http://komme%2F27.0.1453.116 │ 136 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login │ 135 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kysjacevtika │ 132 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://komme%2F27.0.1453.116 Safari │ 124 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 121 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category/stroy/dachines... │ 114 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/?state │ http://komme%2F27.0.1453.116 │ 113 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/GameMain │ http://komme%2F27.0.1453.116 │ 113 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 111 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login │ 110 │ -│ 3 │ 85 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 110 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kardigan │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 107 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosoftwarenok.ru/projects/zhbi.po... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 105 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268143.html?1=1&cid=577&o... │ 104 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 104 │ -│ 0 │ 0 │ 0 │ │ http://tvidi.ru/photo=0&confiscategory_id=0&engineVolumeFrom=&fuelRateFrom=type... │ 103 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 102 │ -│ 3 │ 14 │ 0 │ │ http://komme%2F27.0.1453.116 │ 102 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 100 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 98 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://video.yandex.php │ 97 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 96 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.21150895 │ 96 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?sort=price │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 95 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login │ 95 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.12.388 │ 93 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 93 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 92 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberrior/uphold │ 92 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 91 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-tanks/search=1&ady=62&modeloveplanet.ru │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 90 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.145332.15&he=10&category_id=2740387993 │ 89 │ -│ 1 │ 0 │ 0 │ http://in-the-weightEnd=2351&numphoto=&isExclusiver.ru/alertljus │ http://komme%2F27.0.1453.116 │ 88 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fprodazha_Italja_unit=1&av=1&nm=1&lang=ru │ http://irr.ru/index.ru/show/414526863.xlsx │ 87 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 86 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb1.html?item_no=386703/?bundle=7172&msid=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 86 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 │ 85 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 84 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733582852/ │ 84 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupit/action │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 82 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 82 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?bodystyle │ http://komme%2F27.0.1453.116 │ 81 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F22.14&he=768486 │ 81 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusk.ru/ru/lookaginitial/Prodayu-Dach... │ 80 │ -│ 3 │ 4 │ 0 │ │ http://komme%2F27.0.1453.116 │ 80 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 79 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://aliningrad │ 78 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 78 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login │ 76 │ -│ 1 │ 0 │ 0 │ https://go.1ps.ru/show&showforum │ http://komme%2F27.0.1453.116 │ 76 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandex.ru │ http://komme%2F27.0.1453.116 │ 76 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26221/detail.ru/v1496366&... │ 75 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php │ 75 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 74 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%2F&sr=http://bonprix.ru... │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len80/page/product │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filtr/all/perm.pulscen... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 73 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 73 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F1.7.1364.172 │ 72 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://diary.ru/forum/intries │ 72 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/show/414526863_112 │ 72 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2618561&pp=1059&op_produc... │ 72 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://video.yandex.php │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 71 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 71 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari │ 71 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://aliningrad │ 71 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=product_id=42&Selection.chelov.ru/searc... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/yandsearch?te... │ http://irr.ru/index.php │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/server=sc.chel.ru/main... │ http://irr.ru/index.php │ 70 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification/?year=\xD0\xB1\... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2791954~43.87725656132&op... │ 69 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://komme%2F27.0.1453.116 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/produkty/bleacs/udilis... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 69 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&wi=1366&br... │ 68 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 67 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731&CgID=124jc&where=all... │ 66 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/Yozh/Goodda │ http://komme%2F27.0.1453.116 │ 66 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2725215195&ti=\xD0\x9F\xD... │ 66 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://ekburg.irr.ru%2Fpuloveplanet │ 65 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru/index │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 64 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://afisha.yandex.ru/index │ 64 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nmg.com%2F4.0 Safari%26clients-sale/search&e... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 63 │ -│ 2 │ 13 │ 13 │ │ http://komme%2F27.0.1453.116 │ 62 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 62 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login │ 62 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://ekburg.irr.ru%2Fpuloveplanet │ 61 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 61 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 61 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26092.html?s_text=\x5C\x5... │ 59 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/thenon-houses/public/g... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27755f32316.30; .NET CLR ... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742/details/?cauth=0&dam... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fautoad/kniga.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26004/?_h=galle/\xD0\xBF\... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert27930555&sob=1&p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2692.html%3Fhtml?period=3... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/world/photo31469:Album... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=leting "HalUXI&where=\xD0\x9F\xD0\xB5\xD1\x8... │ http://irr.ru/index.php?showalbum/lofiver.ru/articles/86121%26uid%3D139750%26ad... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27000,224648804-recept-so... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/koshka.com/ig/iframe-o... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory=cinema.perm.p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/realty/suntime-5/extre... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742357/detskii_gosts.xml... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742304][from]=&int[14670... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694336/photo/suzannason/... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Forum25/top... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268320995,968650f45491882... │ 57 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupit/action │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1375605&ga... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://video.yandex.php │ 56 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga/choice/... │ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_product_... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?showtopic,5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26017/quarius_Moscow/cavi... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2726125413975d77cf&search... │ 55 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 54 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266848223/review_type=pro... │ 53 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 53 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26989%26bt%3Dad.adriver.r... │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/album/login-1800002&pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 52 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0 │ 51 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2698172,93932353064614618... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605085268a9c4d61-9862.49... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-36575c72937][to]=&int[12822304 │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_v_bordovye-printime.ru │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/investate/comple/make/?page5/&docid=jlMNIrXw... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 50 │ -│ 0 │ 0 │ 0 │ │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 50 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F11.7.1364 │ 50 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 50 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26051.htBeg=6&NightRegist... │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD0\xB8\xD0\xB1... │ 49 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 49 │ -│ 5 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 49 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?group=days=3&text=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27410/photo-2.xhtml&serve... │ 48 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandsearch │ http://komme%2F27.0.1453.116 │ 48 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 48 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusty-i-vkont.at.ua/search=0&userId=0... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266128182&op_seo_entry/de... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?sort=&br... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/intrumen │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://afisha.yandex.ru/index │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumanegenre=33155?analog/kitchen_mini... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik │ 46 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login%2Flick.g.doubleclick.diary.ru/car/kw/3061/us... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734.html_params%3Dfh_loc... │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://afisha.yandex.ru/index │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/GameMain.p1Yo4A │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ua/searchads/jo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605906/frl-2/sportal.ru/... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fshow/lpp/cre.ru/pers... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.asp?search&ev... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logize.ru/msk/events_liver.ru/russert-plies.r... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26099486633033&countpage=... │ 44 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://sslow_135000008&position=search │ 43 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 43 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischet-solik/odezhda-plos... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert277553/38021/66936575776/... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271050&with_photo.kurortm... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 43 │ -│ 1 │ 0 │ 0 │ http://forums/liii-kuler S22oHgBJTngegotavgorod55.ru/filtr[2]=42 │ http://komme%2F27.0.1453.116 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-folders/?end=9a08488... │ http://irr.ru/index.php?showalbum/litamak.irr.ru/catalog/8570/travel.ru/cgi-bin... │ 41 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 41 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 41 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/0001216629/#top_by │ 41 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26040931&s_yers=0&with_vi... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://ekburg.irr.ru%2Fpuloveplanet │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.137508&s_yers=200... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://aliningrad │ 40 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logito8ergo_6470/page_type_id=20872/0/001:12:... │ 40 │ -│ 0 │ 0 │ 0 │ │ http://afisha.mail.ru/dmitrij │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/readar-nashi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27924563724&key=46960/med... │ 40 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://lib.ru/exp?sid=3205&bt=7&bn │ 40 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 39 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credit │ http://komme%2F27.0.1453.116 │ 38 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=8570/page=5&s_yers=2006 │ 38 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2679/detail/5482,935033/2... │ 38 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 38 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login │ 37 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dnevnoy-kv-Samara.irr.ru/searchAutos&marka=4... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://komme%2F27.0.1453.116 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 37 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=theating&page=... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?group │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2784389/room=39695,966681... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/forum/topicID=269&stat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/votkim-rukav-i-kova-ul-adve... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filmId=xFX1UbTNJjxe4yF... │ http://irr.ru/index.php?showalbum/login.asp?razdel7/test/matched=115909d9_dsc07... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wolf-club478561/OPEL | \xD0\xB0\xD0\xB2\xD1\... │ http://irr.ru/index.php?showalbum/login-marka=13&city&custom=0&damages/0001216 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27553&s_yers=0&po_yers/46... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert275226607660?design=6efxq... │ 36 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=show=&fgroup-tab-mara.irinables/yearT... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278171&size=52094&op_seo_... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27330528/photo/6223799%26... │ 36 │ -│ 5 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://smeshariki.ru/obucheyelants │ 36 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36&he │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=post_neu%3D22%26pz%3D0%26rleurl%3D%26xp... │ 35 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/8569 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/index.ru/katego... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vip.ru/book.com/photo/7086/page=0&state=mont... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-cukickdrops_bak_yant4tlGtZgy3BQ&bvm=bv.49478... │ http://irr.ru/index.php?showalbum/login-501-98552&op_uid=1060948/6#f │ 35 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (Windows │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19&m_staraya-obl │ http://irr.ru/index.ru/show/414526863_112 │ 34 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.12.388 │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/promo=C-Tease/rent/dat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 34 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_uid=1... │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/list │ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 34 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/directadvert/kavanga_728x90.html │ http://komme%2F27.0.1453.116 │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 33 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshops.xml?typ │ http://komme%2F27.0.1453.116 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?cPath=default.ru/yandex.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33 │ -│ 1 │ 0 │ 0 │ http://auto.ria.ua/\xD0\x9A\xD0\xBB\xD0\xB8\xD0\xBC\xD0\xB0\xD1\x82\xD1\x8C\xD1... │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://video.yandex.php │ 33 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 33 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser │ 33 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265748ba3f755671_1162684&... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertif?sle=85000 \xD0\xB4\xD0... │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364 │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/pub │ 32 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zxcvbnm1990&search/jobinmoscow.ru/yandex.by/... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements-obschaya │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fproduct/foto-4/login... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&op_category_id=1174]... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniturers_id=575386110 │ http://irr.ru/index.php?showalbum/login.exit/rem/php/board/10_kruizer_8267049&o... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiepochto_id=93231238][to... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://afisha.yandex.ru/index │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ssl.hurra.com/iframe │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischuk_Kerasivye-klavik/?... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/jobs-education/m_acces... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26791e3a7c543c9bf9ef5c0-9... │ 31 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt │ http://komme%2F27.0.1453.116 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertificia/?letteo_985428161/... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_api.php?cid=41389/rooms/perm.pulscen.ru/sear... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 30 │ -│ 1 │ 0 │ 0 │ http://domchelov.html&lr=55&text=\xD0\xB4\xD1\x80\xD1\x83\xD0\xB3\xD0\xB8\xD0\x... │ http://komme%2F27.0.1453.116 │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoryID=12452929587/... │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 30 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 30 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268630533&site_ot=&price_... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-k608i.trashbox.ru/cars/page5/&docid=577&lr=2... │ http://irr.ru/index.php?showalbum/logii_58247.php?forum.borovichy77/page5 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2716/~3/150160947694,9745... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2696374/#page/tab=com_avt... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/products/?category_id=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 30 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/topic │ 30 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.14&he=768&wi=1920 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605446518%2F&sr=http://e... │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26979553039353936694&ch=u... │ 30 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://smeshariki.ru/obucheyelants │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-carava/fotok-8-steklove.ru │ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26928142&op_products/view... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kupibatikov/?recrete/personal/klimat.ru/work... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 29 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x9A\xD0\xBE\xD1\x80\xD0\xBE\xD1\... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_countpage/1 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertifications[0][150]=60&inp... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/wedditeli_foto-2/__48/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/click.net/paged=696&lo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274229696.0 (Windows)&bL=... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-14132&with_photo=1&srtime-zone.net/catalog/t... │ http://irr.ru/index.php?showalbum/login-sierra%2Fdlia-zhienskaia-moda-zhiensmed │ 29 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704.html%3Fhtml5/v12/?fr... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2664952&xdm_p=1#country=-... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategoriya/zhienskaya-... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734/fotographic_2017666&... │ 29 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9649.html%3... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/small_mercial-shoppicc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27350350394&ch=UTF-8&sF=1... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_seo_entr... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27425.3120%26ntype_id=2&r... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-baza/gadge... │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 28 │ -│ 1 │ 0 │ 0 │ https://directions[0][1541769377921968 │ http://komme%2F1.7.1364.172 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13733097&op_categ... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert272291684/hasimage=0&view... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/mann japanel/?text=\xD1\x81\xD0\xBC\xD0... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269500469412216388/detail... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-my-sovies/bebybum.homestion bonprix.ru/... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikarbox=2&tz=9b81998&po_y... │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?lang=all&fi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-176-kakaya-obl.irr.ru/search?lr=191&ei=N6rrg... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\xA4\... │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 28 │ -│ 3 │ 95 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/anime-2/#album/l... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-eve-nn.ru/cars/passenger/\xD0\x92\xD0\x90\xD... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274236&pv=15&prr=8&sid=35... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/41452626u1zIq0SGLXCI │ 28 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic/8939858-59929477/detailshop │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://ekburg.irr.ru/#lingvo │ 28 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F22.14&he=768486 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678/page=2&marka=84&mode... │ 27 │ -│ 3 │ 2 │ 0 │ │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/search?cl4url=http://yandex.ru/online... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27013.ya.ru/sportalznakom... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert24061.jpg.html%3Fhtml?1=1... │ 27 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031343-sh-898675/sort=pri... │ http://irr.ru/index.php?showalbum/login-5158&jenre/slyudya_metroman.ru/GameMain... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19195/offset=101&district=&city&with_photo=¤cy │ http://irr.ru/img/catalog/53485785/topic/8939850.php?page=3&marka=84&mm │ 27 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 27 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 27 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-oleginnesujeli-i-centum=etarget=search?clid=... │ http://irr.ru/index.php?showalbum/login-kupe.html_params%3Drhost%3Dad.adriver.r... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fhit_list.html?s... │ http://irr.ru/index.php?showalbum/login-irake-myservierk-supierts%2F&ti=\xD0\x9... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27928092_price=\xD0\xBC\x... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/mazda-dievochnye_avari... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-19.xhtml?city_to_one=All&film]/on/orders/810... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/1.19.mobile_photo=6001... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27630/?item_id=0&bodystyl... │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ 1 │ 0 │ 0 │ http://bonprix_ru_11559&lr=12&usln │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lizova_ii_1112_1150&option[price_do=300... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E&wher... │ 26 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detall/seconomicsmovinki │ http://komme%2F27.0.1453.116 │ 26 │ -│ 1 │ 0 │ 0 │ http://yandex.ua/?target=search/tab=user │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://obninsk/detail │ 26 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/loginsk.irr.ru%2Fkategory_id=9204471-650/?_h=... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login-jjjekrju-s-pring=1&price[price=\xD0\xBC... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification.ru/messa.ru/rea... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lejandsearch?text=\xD1\x82\xD0\xB8\xD1\x85\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert21124631/?Search.php │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 26 │ -│ -1 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_category... │ 26 │ -│ 3 │ 197 │ 0 │ │ http://komme%2F27.0.1453.116 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?messa.ru/worlds/page2/7277932582&text=\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 26 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-kupe-20010120652838799.html?n=7148.html... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemey-volvom80Cw&where=a... │ 26 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=607&state=4... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.22 (KHTML, like Gecko) │ 25 │ -│ 1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 25 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/people.ru/cars/passets... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731/?city=0&pvno=2&evlg=... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vivarki/redki_sdelaet-law.ru/produkty/kartgo... │ http://irr.ru/index.php?showalbum/login=driff/en-ru/?p=2#messages/00001216629 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.html&ei=GcXrUYe8F2DAU-RbuRlLMczoJ--5uDCx8 │ http://irr.ru/index.php?showalbum/login-132/#images/0000.h95/\xD1\x82\xD1\x8E\x... │ 25 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert264314953); ru) AppleWebK... │ 25 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://obninsk/detail │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search?text=myaccountry │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguard-payments-sale/se... │ http://irr.ru/index.php?showalbum/login-88i8LaDyEkCVv6-DhRfEDcw==&action │ 25 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/yandex.ru/?f... │ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.ru/film/46351/frl-2/bage │ 25 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605838.html5/v12/?from=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-link=1147373-1&p=1&p=2&text=\xD0\xBC\xD0\xBE... │ http://irr.ru/index.php?showalbum/logisterlingvo/#! │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741559&t=5204/make=Chrys... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694589/detail/555-javata... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=shops.html?id=1&body_type=\xD0\xBF\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781472265&op_seo_entry=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626rleurl%3D//ad.adriver... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685/price_ot=&price=\xD0... │ 24 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://diary.ru/forum/intries │ 24 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-117031&op_category&op_seo_entry=&op_uid │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26685857947301_Zoryatiya/... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27399992.php/board,13.0) ... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671291&fridgets/2012&pri... │ 24 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://video.yandex.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo/7... │ http://irr.ru/index.php?showalbum/login-kupit-plitka-s-korsiety/art/151/n4p/160... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguar.ru/page4/?emain.a... │ http://irr.ru/index.php?showalbum/login=ogabass.ru/filmId=9WOqzzitive&view │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-annative-expressageId=0oVXx21hUXI&where=all&... │ http://irr.ru/index.php?showalbum/login-rybnovlevojj_mamountry=-1&type%3D0 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/intrumen │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kupalnaya_elit=&id=3&clid=9403&lr=1913849 │ http://irr.ru/index.php?showalbum/login-gallebia_zhurnalCall D.R.E.mp3ex.net/ph... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lolacake/tatyaka.html?1=1&cid=577&oki=1 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinglish.rus-l7-p70505-1... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/yandsearch?lr=1... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-yvaken/topic=7702.jpg.html?1=1&cid=577&... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-547552/1/?sma=RAINBOW&op_uid=fdd1b9d2721728&... │ http://irr.ru/index.php?showalbum/login-kapusta-advertika/search/room=1&damage=... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=1&bc=3&ct=1&pr │ 23 │ -│ 1 │ 0 │ 0 │ http://auto_volkswagency=1&text │ http://komme%2F27.0.1453.116 │ 23 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgarials/commend/searchvage-2.html&dt=13734... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-tuniki_510... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263090024189-528619c2077/... │ 23 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/ru/index.ru%26bid │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333572620201709/page/10... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news/radio&clid=198555... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26939.html?page/3/#count=... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/kategory_id=5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2740974%26pz%3D0%26ar_sli... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 23 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/resultatya9176da22f1a521a5853.html&... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26600721376439322%26pz%3D... │ 23 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga_728x90.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://afisha.yandex.ru │ 22 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2697574697.html_param=0&u... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemennoke0070553995f27d6... │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-105vr/ │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=search.tutung/s... │ 22 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/wheel.ceratornaya_solnechka │ http://komme%2F27.0.1453.116 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-10760b31b65633eZateq eb806e887d9f15ccf593280... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2091&local=1&TypeSearch?mail.ru/yandsearch&c... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26058&nnum=s4746835895&op... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-the-ili-tempera-minsk.irr.ru/produkty/bluzki... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodny │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2649.html?pg=menu_29.jpg&... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739693071/pomer... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/v1465][from]=&int[157281 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267830840994,95688781470%... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-business/sale/ru/search?mail.ru/film%2Fbarna... │ http://irr.ru/index.php?showalbum/login-zakon_type=1&fuelRatesTypeSearch │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 22 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27200,55.7654.html_parat-... │ 22 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26601629][from=&fuelRateT... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&l... │ http://irr.ru/introlux_page5/2/page/Renaul.irr.ru/start=1500-rublic/gamemain/Tu... │ 22 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://ekburg.irr.ru%2Fpuloveplanet │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liliate_id=24145602&with_phoney.yandex.ru;ya... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-natashkarola.irr.ru%2Fviewforum/MsgList.html... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26900/technics-technics-t... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&city[7]=23239330794,25826044_Black_lis... │ 21 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?price_till beli.php?cx=015216684_36 │ http://komme%2F27.0.1453.116 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694,978825315f373400/det... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691_ru_17832523.html_par... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1) AppleWebKit%2F537 │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/world/photo/41/62b1dfa450/3/women-clother%26tms%3D%26ev_ltx%3D... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/basketshop.ru/yandsear... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265228.html?1=1&cid=577&o... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/forum%2Fukhov/l... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27025&Select[4][]=32598.h... │ 21 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://wildberrior/uphold │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/houses/passenge... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo44953.116.php?t=4... │ http://irr.ru/index.php?showalbum/login=ko&page=0&view.aspx?group_cod_1s=85&key... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/?from │ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-dance/index.ru/?favorite_off=1&encoding&hl=\... │ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 21 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logino-s-grigerator/page1=&input_age1 │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cars/commeddesk.ru/google_s&12.5.746.59954.30 (KHTML, like/\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 21 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/logii-bin/click.cgi%3Fsid%3D158195,97987231-9... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ramblery/pic/893985650697... │ http://smeshariki.ru/obucheyelants │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26737865/?page/12186/#/ec... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login.html?1=1&input_who1=2&input_who2=1&inpu... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929&from%3D%26custom=0&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dietsik.ru/razdel_id=111,7,700&w=728x90.html... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/club.ru/anime-zone.ru/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-brie... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2186/detail.aspx#location... │ 21 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739353/details.... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kupalnik │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification%2F4.0; XBLWP7; ... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/9-0--navam-zhien... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741465][from]=&input_wit... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_uid=1147... │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login=uzpp2XnEw&bvm=bv.49784469][from │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 20 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-Larki-i-korobeg-1124-95367/guestblowinp... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26219&wi=1280&lo=http://w... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/yandex.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estatic.diary.ru/... │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=58&Selectronics-technics/k... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b706234651&op_uid=1&b... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?er=2&text=\xD0\xBA\xD1\x83\xD0\xBF\xD0\xB8\... │ http://irr.ru/index.php?showalbum/login=razer2.moikrug.ru/recipes/shop.spb │ 20 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&price │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=NeIdeaCenternet Explorer&aV=5.0 │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertificirovka.ru/noteating-i... │ 20 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate=0&ReturnUr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271161076&st=261&t=170977... │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313163307/?from]=&int[15... │ http://che.ru/produkty_zarubezhei-niepochekhly │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604370757034dea482207549... │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_api.php?id=7262882,9454472&op_product_n... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 20 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/cars │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-karbox=0&top=0&category/1961/#images/00... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26637&model=1705.html?1=1... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumilora481 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt=13733129/room │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-iulyanovskaya-obl/lyubvi?page=166733&eid=485... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27502/detail/?folders/#pa... │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626u1zIq0SGLXCI&where=al... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=240&u_cd=242035165&input_who2=1... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news_id_72387877055/nu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?sort=popup/casualg... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikulina.ru/real-estate/ou... │ 19 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/filmId=eRaB4pYAXCI │ http://komme%2F27.0.1453.116 │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBB\xD0\xB8\xD0\xBA\xD0\xBE\xD0\xBB\xD0\... │ http://irr.ru/index.php │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.ru/daily │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260540718534/?dateOn=1&bo... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login=perfect.yandex.ru%2Fkategoriya%2F537 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261921&pr=2441185112.html... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26672655462.html?city.ru/... │ 19 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostok.ru/cars │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/check=1&redir=1&lang=a... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671&Destige-all.html_par... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27404895,95923.html%26cus... │ 19 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2638/?from=&raceTo=&power... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313437&pvno=2&evlg=VC,2;... │ http://irr.ru/index.php?showalbum/login-rizova.ru/look/timashirtsevm.cofe │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6HS │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27355f3132366336601&uuid=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166333/price[price_till]=&pri... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F_liveresum... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.php?f=11340.1j1j2.12...5998-103358071/8/page... │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/00007/10/1320006&p... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto_repai... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://smeshariki.ru/obucheyelants │ 19 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.15751 Safari%2F5.0 (Windows │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2675406828ac956028692581/... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://obninsk/detail │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26968794618/irr.ru/real-e... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2629&lr=65&rstr=-213&text=back=False&withmos... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2702483,631;IC,444041%2F&... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26669E116-1-1550046560013... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?search?text=\xD1\x80\xD1\x83\xD1\x81\xD0\xB... │ http://irr.ru/index.php?showalbum/login-inadlinny-sched_car=0&city=0&price=18&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=http://video.yandex.ru/real-estate │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274026181891&rn=52&brand=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/dlia-zhiensk... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-165&jenre]/49047&lr=163&text=samsung ga-moda... │ http://irr.ru/index.php?showalbum/login-2-komn-v-na-92f5-6ccf-fef3-013f9f926a21... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&checked=0&state/room=10002-g-v-program... │ 18 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ru/index │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5 │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?elmt=popular&where=all&film/723/num │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/restate/out-of-town-resh=1&cnt=1373... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2012-recept-Ragu-iz-2-x │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupaljinik-slidi/places/?PAGEN_1=2 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 18 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=deltec&type=citymo=&version%2F4.0 (Linu... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27534.30 (KHTML, like Gec... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kochtinsk.pulscendinskiy-krasnodar.irr.ru │ http://irr.ru/index.php?showalbum/login-kuplyuskij/zapchastorii_state/out │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zzzi.ru/a-shop and blademas/?id=1&marka=0&ma... │ http://irr.ru/index.php?showalbum/login-2003prev=/search/index.ru/meteor.html%3... │ 18 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login.moikrug.ru/catalog/otchenko-ul-advert27... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\... │ 18 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278453&with_exchange=0&ex... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27132069304;IC,1511e8d158... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=367132&pv=2... │ 18 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27071038_114736895,923401... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x9A\... │ 18 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27420780790931.html5/v12/... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-natura.ru/jobs-education=post_137336ID0... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kanza_tab_2499472&lr=1074&sort=popular │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/8018&l=malkogo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/?target=search?... │ http://irr.ru/index.php?showalbum/login-bigutensiysk.irr.ru/regular&bid=3205&bt... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/obuv%2F │ 18 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-21102&text=\xD0\xB1\xD0\xB0\xD0\xB1\xD0\xBA\... │ http://irr.ru/index.php?showalbum/login.mospsy.ru/super-na-kostronics/tv-audio.... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685&numphoto=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626p/ │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertimeshariki.ru/cgi-bin/cli... │ 18 │ -│ 1 │ 0 │ 0 │ https://diary.ru/magnitogorsk │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260908861%26point-peter=&... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sien-zhienskaya-i-kvartir.html?id=1955451-01... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 18 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1453.116 Safari%2F8536 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=yators/?jumping.ru/series.ru/priceup&page=3&... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeSearch?text=\xD0\xB2\xD0\xBA\xD1\x83\xD1... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinger/\xD0\x93\xD0\x90\... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga1788778.137329TVmbFNmbVNaR0YwW$UyNDg4fxS... │ http://irr.ru/index.php?showalbum/login-sienskaia-moda-zhienskikh_rabotjaga.ru/... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929750%26ar_sliceid%3D2... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=36427929&stat... │ 18 │ -│ 4 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691c352005&pvno=2&evlg=V... │ 17 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27422544/3/womens.ru/ufa.... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru%2Ffilm/4858?pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/cars/communalux.ru/dos... │ http://irr.ru/index.php?showalbum/loshaya-obl.irr.ru/film/35562C?analytics/kto-... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271527091/frl-2/bage-2.ht... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.103402.html%3Fhtml │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#7878... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=artira-Lyubyat │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.aspx#location │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=yes&y1=2013-07-07.ya.ru/5_search?text=\... │ 17 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://aliningrad │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.15.html?1=1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266149_51928/detail.ru/ka... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%26rleurl%3D%26CompPath%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=8&ch=UTF-8&ifr=1&av=1&nm=1&ved=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2670308&po_yers=0&price_o... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_Bolers-device.aspx#commersanta_premiery... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2613168312.71 Safari%2F__... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginyazevskaya%2F5.0 (Windows NT 5.1) Prestorygoo... │ http://irr.ru/index.php?showalbum/login-kupilomatic.aspx#location=rr&days&city&... │ 17 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6HS │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-dlia-zhiensmed.ru/el... │ 17 │ -│ 1 │ 0 │ 0 │ http://bdsmpeople.ru/register2123 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logistereda.ru/photo/70861/6#f │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263161366&bid=2823&numpho... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowthreadreplies=24&ids=74&cu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273363331251798796&op_seo... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313&ussp=mstp&usln=1&inp... │ http://irr.ru/index.php?showalbum/login-3767436/roomootofile/obzor.com/iframe │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26041.htm%3Fsid%3D0%26pz%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27595,9305f3931339322%26n... │ 17 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/stan/index.kz/yandex │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertistia.html?partment/searc... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-search%3Futm_source=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031323532363&win=70&mode=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://diary.ru/forum/intries │ 17 │ -│ 1 │ 0 │ 0 │ http://bibieters_sig=5ea8QizwGSPy0yGcm14ATH74D4Bw&usg=AFQjCNHxMZlonova.ru/p1847... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 17 │ -│ 3 │ 22 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_style... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261636/detail/odnoklassim... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-futbolki-k... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lenfiki-zhienskaia-moda-muzhchin-sitafa ishq... │ http://irr.ru/index.php?showalbum/logical.ru/link=11485-9065383235348%2F&sr=htt... │ 17 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/messar.ru/professig │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 1 │ 0 │ 0 │ http://acase.php?input_who1=2&input_who2=1 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.10 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26618531&t=111246.html?p=... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694&option%2F12.14&he=76... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-irina19910735%2F27.0.1453.116 Safari │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268814453957595,94406/det... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733145625/details... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=Like Gecko) Chrome%2Fpotnik=1&price_do=&curr... │ http://irr.ru/index.php?showalbum/login-the-poxudet_sponsor=&o=6000708498/?caut... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b76faact/less=1&ru=1&... │ 17 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-53584715,1327288/belgium/arch=1&themec.... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=bestwo.diary/details&id=9160/0/posti.ri... │ 17 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/category=cinem rasmusic │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098707209463401090/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgas.rQRAX2Ua3IF1iHJcaz4ATv34DABw │ http://irr.ru/index.php?showalbum/login/?page=1024&wi=144438-88-3906740/currenc... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267044005320AA76)&vendor_... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-herokee_tatus=1&rm=18606bAxFEcQT6smBB4W... │ 16 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search?clid=19554786.0.8.0.2.2003558_3497926... │ http://irr.ru/index.php?showalbum/logie-niz-doktops/electronics/4185570c72 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27034195,9520160173/5/wom... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search/cuZXdzJTJGJmxyPTI4fQ,... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26396284046.xhtml%3Fhtml%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-plan... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&pt=b&pd=7&pw=2&page5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate/out-of-tow... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260612d7cf.4082813,74,756... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/page=91552&q=\... │ http://irr.ru/index.php │ 16 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login.aspx?sle=13&s_yers=0&page_type=0&door=0... │ 16 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/movinki... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?&clients-sale&siteurl%3D//ads/search?text... │ http://irr.ru/index.php?showalbum/login-kapusta-advert273786/foto-5/#photo=2817... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnaja-prost-petersburg/detail/?fold... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-krasok.html_params%3Drhost%3Dad.adriver │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661232&streamfood.com/if... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti/redmonds %2F offset=403134333.2201560&c... │ http://irr.ru/index.php?showalbum/login-v40-velopiter.feriod=0&scroll_to_auto.r... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiensmed.ru/dl/\xD0\xB7\x... │ 16 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-57548811426&text=\xD0\xBB\xD1\x83\xD1\x87\xD... │ http://irr.ru/index.php?showalbum/login-coolonellana-Molodilnik.ru/index.php?vi... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/70948/35.htm?id=... │ http://irr.ru/index.php?showalbum/logiy-luchaiev%2F&sr=http:%2F%2Fwww.bonprix c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166303133334%2F&ei=horia+iudi... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26765.html_params%3Drhost... │ 16 │ -│ 1 │ 0 │ 0 │ http://histore/profile;u= │ http://irr.ru/index.php?showalbum/login-kupe-20013&uuid=1373356164564_1sort/sta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=findjob.ru/planet.ru/index.ru/carinov.h... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2755597.html%3Fhtml?1=1&c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/showtopic,803813.html&... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_catalog/1250/?itemsg/cd... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert260477/cities/visas/exp?s... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://video.yandex.php │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2728024/detail/508/?instv... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26887301/Zona/simferopol.... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27429&input_bdsm_position... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-153-4b9c4.4331626.htm?size%3D0%26rleurl │ 16 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect │ http://komme%2F27.0.1453.116 │ 16 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://msuzie-shop/premiery-c-38208_2.html │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-marka=23&model&desting?field_town/search/pri... │ http://irr.ru/index.php?showalbum/login-492ea9&show/417582,9626512874":10157628... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/posts&q=\xD0\xB2\xD0\xB5\xD0\xB4\xD1\x83\xD1... │ http://irr.ru/index.php?showalbum/login-mistore/#CATALOG_LIST-s-ovosibirsk/deta... │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/sch/price][min]=41&lr=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27364229586121%26url%3D%2... │ 16 │ -│ 1 │ 0 │ 0 │ http://volgografiyah_27_iyunya_50_let%2FgetId │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-maritkiN │ http://irr.ru/index.php?showalbum/login-ladimir.irr.ru/remiery-telefon.ru │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333%26bid%3D1%26rleurl%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661251-6efa-d61f-fef3-01... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/tv-audi/a7-spec=9894797179698712/p1/8... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new=127201148][fr... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269899458/price/3815&pvno... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5.0 (Win... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=view/5/item3963... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/7427510/detail/5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti%2F%3Ff%3D100%&http://afisha.yandsearch&... │ http://irr.ru/index.php?showalbum/login-6030d.html_params%3Drhost%3D90%26height │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logiste's a di galaxy-s4-story1.aspx#location... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2753][from]=&pricedownloa... │ 16 │ -│ 1 │ 0 │ 0 │ http://yandsearch?lr=2&color │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2735030373434-152495.php?... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new10152954vac │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-gorod/search?p=7&oprnd=9902.jpg&img_url=http... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27222.vk.me/u3166 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691.html?1=1&input_age2/... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makeevka.ru/perm.irr.ru/slingvo/#1\xD0\... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-irinakai/page_num_read2306e4574&ei=Ot_rUfjPG... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26708662307][]=&selection... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313033393633310,932803][... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2010000087378687/pic/8939375f303839303935373... │ http://irr.ru/index.php?showalbum/login-souse=2/path=39_1.html?1=1&cid=577&oki=... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumy.ua/search?text=\xD1\x81\xD0\xB5\... │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/artira │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikal.ru/search/room=1&dam... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2695/19545602cf94d77/repl... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/?strict=5710... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertists/736850/?item_no=737&... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&model=1173... │ 15 │ -│ 1 │ 0 │ 0 │ http://forums/liiiervierk-suppohudeemvmesting/294465&op_categoriya │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=new&cad=rjt&fu=0&input_country_id=228&lr=961... │ http://irr.ru/index.php?showalbum/login-cam.shtml#objdesc=true&uA=Mozilla │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login/?do=ready-mansion%3D0%26url%3D%26bn%3D0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb=1&prepairs=0&city[1 │ http://irr.ru/index.php?showalbum/lounona-muzhchin-kupaljinik-chernyj-odnoe/san... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginsk.eu/ru/Pagesize=13&m1=07 │ http://irr.ru/index.php?showalbum/login-3muda/truction/vacancies/750207190765.h... │ 15 │ -│ 1 │ 0 │ 0 │ http://launcher-searchads/search │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-album/login.2/second... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_produkty/kiev.org/forum... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781308;IC,238208836746/0... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-4433140796851/detail/536180&all=False&i... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26981583/page=1089592445/... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945HPS?analog/r10418/sort=price_do=200&site_off=1 │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 15 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshop/id_art_type=7&s_yers │ http://irr.ru/index.php?showalbum/login │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F1.7.1364.172 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273389; U; Android 4.0.14... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2724/?_h=search?text=\xD0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-goluboj-podserial&dfs=13 │ http://irr.ru/index.php?showalbum/login-haus.html#news/228670,257&pci=3012/frl │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273631253711/foto-6320166... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#67 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266356163f39ea6f8/7a8745&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26605566254/room=1.6&wher... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/washes/built-in_two_ch... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?Topic │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/state=1909644 │ http://afisha.yandex.ua/auto_id=0&with_photo.kurortmag.ru/razdnitsya-vishnury │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://irr.ru/index.ru/show/414526863_112 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?transk.i... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/index.ru/ange=0&s_yers=(3000&static.diary.ru... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678&op_page=60000/curren... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginskikh-viana.irr.ru/GameMain.aspx?sle=1/house.... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-land_search?text=\xD0\xB0\xD0\xBC\xD0\xB1\xD... │ http://irr.ru/6323%26bn%3D27888895,963095425 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/produkty%2Fplatj... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list.html?typ=SMA&anbieter=aleks_evilkos.com │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?page37/?sta... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.1Uv1UfqCA8SonYC4BQ&usg=AFQjCNGB3pBUuKY1jJPP3... │ http://irr.ru/index.php?showalbum/login-tank-sale/search%3Fmode=&page_type │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=alini... │ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?Id=9582 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-tumbov.irr.ru/page1=&input_who1=2&id=29... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2718599/photo=0&is_hot=0&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liloveplanet.ru/futurer533/women.aspx?group-... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2631920&lo=http://person_... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.php?city[1]=700003 │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26761,55.654289600/detail... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27515/418695&st=327-B110Q │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login=vladimir/page_type=0&expand_search?text... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2699364224073532663835386... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?dok=001&rightbox/week&From=0&user │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/frl-4/trailer/view/3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-lential/secondary/details9.html_params%... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page9/#14... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=25127691%2F... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-676216b8af/4fd00fa61b3185631821/page_ty... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/gamemain.asp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1955451&lr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27877437494,943082&stat_t... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2730675595,9292fa-d61f-fe... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_appliazh-pliance/mista-bez-uchaiev/000202&cl... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/ch/floore troubleclick... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienshchin-planet.ru/myma... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27265484158197%26width%3D... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-102-821922237&arrFilter2013/08-iH4AT5zIGQDA │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_type=&freetao.diary.ru/sea... │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 15 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Ford-antent... │ 15 │ -│ 3 │ 123 │ 0 │ │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nashinger/users/search?textilead&353%26ev_pl... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginy_name/3196906481/currency=6465373200&price=\... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2776/?date=0&doorov.irr.r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert276278-ploschaya_checked_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/877/ru/buildin... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274298799461981/?date=129... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert262997385f32313335781094&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2693_763613.html_params%3... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9584%26pz%3... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://ekburg.irr.ru%2Fpuloveplanet │ 15 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credir=1 │ http://komme%2F27.0.1453.116 │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.10 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=on&input_onliner... │ http://irr.ru/index.php?showalbum/login.html%26custom%3D%26CompPath.2; WOW64; r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/gosthelp.ru/auto.ria.... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert269257798044.html_partmen... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2651734&pt=b&pd=7&pw=1&pr... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=on&in... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-smi.org%2F40 (KHTML, like Gecko) Version... │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_sell/pansiyskaya-obl.irr.html%... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga664.1721/deti74.ru/animals-planet.ru │ http://irr.ru/index.php?showalbum/login=K-SR-B-13-9635095,9661/9#f │ 15 │ -└────────────────┴────────────────┴─────────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.487 user 1.308000 sys 0.100000 -D 07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Run Time: real 0.548 user 0.680000 sys 0.028000 -D D (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Run Time: real 0.139 user 0.392000 sys 0.012000 -D " = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) ORDER BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))); -Run Time: real 0.017 user 0.200000 sys 0.020000 -D -D -D -D SELECT count(*) FROM hits;+ -┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 100000000 │ -└──────────────┘ -Run Time: real 0.012 user 0.180000 sys 0.000000 -D SELECT count(*) FROM hits WHERE AdvEngineID != 0; -d┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 630535 │ -└──────────────┘ -Run Time: real 0.154 user 0.400000 sys 0.052000 -D SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits; -┌──────────────────┬──────────────┬──────────────────────┐ -│ sum(advengineid) │ count_star() │ avg(resolutionwidth) │ -├──────────────────┼──────────────┼──────────────────────┤ -│ 7280824 │ 100000000 │ 1513.48908394 │ -└──────────────────┴──────────────┴──────────────────────┘ -Run Time: real 0.049 user 0.728000 sys 0.032000 -D SELECT sum(UserID) FROM hits;e -┌───────────────────────┐ -│ sum(userid) │ -├───────────────────────┤ -│ 3.230605869407883e+26 │ -└───────────────────────┘ -Run Time: real 0.471 user 0.608000 sys 0.088000 -D SELECT COUNT(DISTINCT UserID) FROM hits; -┌───────────────┐ -│ count(userid) │ -├───────────────┤ -│ 17630976 │ -└───────────────┘ -Run Time: real 8.319 user 10.196000 sys 0.916000 -D SELECT COUNT(DISTINCT SearchPhrase) FROM hits; -o┌─────────────────────┐ -│ count(searchphrase) │ -├─────────────────────┤ -│ 6019589 │ -└─────────────────────┘ -Run Time: real 12.888 user 17.264000 sys 1.072000 -D SELECT min(EventDate), max(EventDate) FROM hits; -o┌────────────────┬────────────────┐ -│ min(eventdate) │ max(eventdate) │ -├────────────────┼────────────────┤ -│ 15888 │ 15917 │ -└────────────────┴────────────────┘ -Run Time: real 0.183 user 0.528000 sys 0.040000 -D SELECT AdvEngineID, count(*) FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC;s -┌─────────────┬──────────────┐ -│ AdvEngineID │ count_star() │ -├─────────────┼──────────────┤ -│ 2 │ 404620 │ -│ 27 │ 113167 │ -│ 13 │ 45633 │ -│ 45 │ 38974 │ -│ 44 │ 9731 │ -│ 3 │ 6896 │ -│ 62 │ 5266 │ -│ 52 │ 3554 │ -│ 50 │ 938 │ -│ 28 │ 836 │ -│ 53 │ 350 │ -│ 25 │ 343 │ -│ 61 │ 158 │ -│ 21 │ 38 │ -│ 42 │ 20 │ -│ 16 │ 7 │ -│ 7 │ 3 │ -│ 22 │ 1 │ -└─────────────┴──────────────┘ -Run Time: real 0.048 user 0.684000 sys 0.000000 -D SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10;) -┌──────────┬─────────┐ -│ RegionID │ u │ -├──────────┼─────────┤ -│ 229 │ 2845673 │ -│ 2 │ 1081016 │ -│ 208 │ 831676 │ -│ 169 │ 604583 │ -│ 184 │ 322661 │ -│ 158 │ 307152 │ -│ 34 │ 299479 │ -│ 55 │ 286525 │ -│ 107 │ 272448 │ -│ 42 │ 243181 │ -└──────────┴─────────┘ -Run Time: real 10.040 user 11.608000 sys 1.272000 -D SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10;i -┌──────────┬──────────────────┬──────────┬──────────────────────┬───────────────┐ -│ RegionID │ sum(advengineid) │ c │ avg(resolutionwidth) │ count(userid) │ -├──────────┼──────────────────┼──────────┼──────────────────────┼───────────────┤ -│ 229 │ 2078084 │ 18296430 │ 1506.0876750819696 │ 2845673 │ -│ 2 │ 441711 │ 6687708 │ 1479.8410618406187 │ 1081016 │ -│ 208 │ 285925 │ 4261945 │ 1285.260504769536 │ 831676 │ -│ 169 │ 100887 │ 3320286 │ 1465.90517142198 │ 604583 │ -│ 32 │ 81498 │ 1843721 │ 1538.0370495318978 │ 216010 │ -│ 34 │ 161779 │ 1792406 │ 1548.364990409539 │ 299479 │ -│ 184 │ 55526 │ 1755223 │ 1506.8102679830426 │ 322661 │ -│ 42 │ 108820 │ 1542771 │ 1587.1074287758845 │ 243181 │ -│ 107 │ 120470 │ 1516722 │ 1548.6039623609336 │ 272448 │ -│ 51 │ 98212 │ 1435598 │ 1579.8864215469791 │ 211505 │ -└──────────┴──────────────────┴──────────┴──────────────────────┴───────────────┘ -Run Time: real 10.689 user 13.532000 sys 1.120000 -D SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(MobilePhoneModel) > 0 GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;e -┌──────────────────┬─────────┐ -│ MobilePhoneModel │ u │ -├──────────────────┼─────────┤ -│ iPad │ 1090347 │ -│ iPhone │ 45758 │ -│ A500 │ 16046 │ -│ N8-00 │ 5565 │ -│ iPho │ 3300 │ -│ ONE TOUCH 6030A │ 2759 │ -│ GT-P7300B │ 1907 │ -│ 3110000 │ 1871 │ -│ GT-I9500 │ 1598 │ -│ eagle75 │ 1492 │ -└──────────────────┴─────────┘ -Run Time: real 2.253 user 6.108000 sys 0.468000 -D SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(MobilePhoneModel) > 0 GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;, -┌─────────────┬──────────────────┬────────┐ -│ MobilePhone │ MobilePhoneModel │ u │ -├─────────────┼──────────────────┼────────┤ -│ 1 │ iPad │ 931038 │ -│ 5 │ iPad │ 48385 │ -│ 6 │ iPad │ 29710 │ -│ 7 │ iPad │ 28391 │ -│ 118 │ A500 │ 16005 │ -│ 6 │ iPhone │ 14516 │ -│ 26 │ iPhone │ 13566 │ -│ 10 │ iPad │ 11433 │ -│ 32 │ iPad │ 9503 │ -│ 13 │ iPad │ 9417 │ -└─────────────┴──────────────────┴────────┘ -Run Time: real 2.528 user 6.544000 sys 0.508000 -D SELECT SearchPhrase, count(*) AS c FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;+ -┌────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchPhrase │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 70263 │ -│ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 34675 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 24579 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 21649 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 19703 │ -│ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 19195 │ -│ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 17284 │ -│ galaxy table │ 16746 │ -│ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 16620 │ -│ \xD1\x81\xD0\xBA\xD0\xBE\xD0\xBB\xD1\x8C\xD0\xBA\xD0\xBE \xD0\xBC\xD1\x8B\xD1\x... │ 12317 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 1.127 user 16.040000 sys 0.016000 -D SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;m -┌────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchPhrase │ u │ -├────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 23673 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 19743 │ -│ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 18394 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 17553 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 14600 │ -│ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 14529 │ -│ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 14198 │ -│ \xD1\x81\xD0\xBA\xD0\xBE\xD0\xBB\xD1\x8C\xD0\xBA\xD0\xBE \xD0\xBC\xD1\x8B\xD1\x... │ 9007 │ -│ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 8792 │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xB1\xD0\xB8\xD0\xBD\xD0\xB8\xD1\x80\xD0\xBE\xD0\xB... │ 7572 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 13.811 user 18.612000 sys 1.096000 -D SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;m -┌────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchEngineID │ SearchPhrase │ c │ -├────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ 2 │ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 46258 │ -│ 2 │ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 18871 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 16905 │ -│ 3 │ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 16748 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 14911 │ -│ 2 │ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 13716 │ -│ 2 │ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 13414 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 13105 │ -│ 3 │ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 12815 │ -│ 2 │ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 11946 │ -└────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 1.170 user 16.316000 sys 0.060000 -D SELECT UserID, count(*) FROM hits GROUP BY UserID ORDER BY count(*) DESC LIMIT 10;R -┌─────────────────────┬──────────────┐ -│ UserID │ count_star() │ -├─────────────────────┼──────────────┤ -│ 1313338681122956954 │ 29097 │ -│ 1907779576417363396 │ 25333 │ -│ 2305303682471783379 │ 10611 │ -│ 7982623143712728547 │ 7584 │ -│ 6018350421959114808 │ 6678 │ -│ 7280399273658728997 │ 6411 │ -│ 1090981537032625727 │ 6197 │ -│ 5730251990344211405 │ 6019 │ -│ 835157184735512989 │ 5211 │ -│ 770542365400669095 │ 4906 │ -└─────────────────────┴──────────────┘ -Run Time: real 0.961 user 12.416000 sys 0.028000 -D SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10;l -┌─────────────────────┬──────────────┬──────────────┐ -│ UserID │ SearchPhrase │ count_star() │ -├─────────────────────┼──────────────┼──────────────┤ -│ 1313338681122956954 │ │ 29097 │ -│ 1907779576417363396 │ │ 25333 │ -│ 2305303682471783379 │ │ 10611 │ -│ 7982623143712728547 │ │ 6669 │ -│ 7280399273658728997 │ │ 6408 │ -│ 1090981537032625727 │ │ 6196 │ -│ 5730251990344211405 │ │ 6019 │ -│ 6018350421959114808 │ │ 5990 │ -│ 835157184735512989 │ │ 5209 │ -│ 770542365400669095 │ │ 4906 │ -└─────────────────────┴──────────────┴──────────────┘ -Run Time: real 2.309 user 29.740000 sys 0.256000 -D SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10;h -┌──────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬──────────────┐ -│ UserID │ SearchPhrase │ count_star() │ -├──────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼──────────────┤ -│ 2033505069917754133 │ │ 13 │ -│ 4177603680108851335 │ │ 2 │ -│ 2865865758754579169 │ │ 4 │ -│ 1348434893485989289 │ │ 1 │ -│ 4623542685155091116 │ \xD0\xB0\xD0\xB2\xD1\x82\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB9 \xD0\xBF\xD0\xB5\xD1\x... │ 1 │ -│ 6824890550049353433 │ │ 14 │ -│ 1722975923542031 │ │ 2 │ -│ 1510416351411292943 │ \xD0\xBC\xD0\xB5\xD0\xB9\xD0\xBD\xD1\x8B\xD1\x85 \xD0\xB2 \xD0\xB0\xD0\xB2\xD1\... │ 2 │ -│ 10675348576094566371 │ │ 1 │ -│ 5485742187896741713 │ \xD0\xBF\xD0\xBE\xD0\xB3\xD0\xBE\xD0\xB4\xD0\xB0 │ 3 │ -└──────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴──────────────┘ -Run Time: real 2.013 user 29.824000 sys 0.232000 -D SELECT UserID, extract(minute FROM (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) AS m, SearchPhrase, count(*) FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10;) -┌─────────────────────┬────┬──────────────┬──────────────┐ -│ UserID │ m │ SearchPhrase │ count_star() │ -├─────────────────────┼────┼──────────────┼──────────────┤ -│ 1313338681122956954 │ 31 │ │ 589 │ -│ 1313338681122956954 │ 28 │ │ 578 │ -│ 1313338681122956954 │ 29 │ │ 572 │ -│ 1313338681122956954 │ 33 │ │ 567 │ -│ 1313338681122956954 │ 27 │ │ 557 │ -│ 1313338681122956954 │ 32 │ │ 554 │ -│ 1313338681122956954 │ 30 │ │ 552 │ -│ 1313338681122956954 │ 34 │ │ 546 │ -│ 1313338681122956954 │ 26 │ │ 540 │ -│ 1313338681122956954 │ 10 │ │ 539 │ -└─────────────────────┴────┴──────────────┴──────────────┘ -Run Time: real 4.940 user 52.524000 sys 1.056000 -D SELECT UserID FROM hits WHERE UserID = 12345678901234567890; -Run Time: real 0.258 user 0.256000 sys 0.004000 -D SELECT count(*) FROM hits WHERE URL::TEXT LIKE '%metrika%';e -┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 211 │ -└──────────────┘ -Run Time: real 2.626 user 41.564000 sys 0.000000 -D SELECT SearchPhrase, min(URL), count(*) AS c FROM hits WHERE URL::TEXT LIKE '%metrika%' AND octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;u -┌────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───┐ -│ SearchPhrase │ min(url) │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───┤ -│ \xD0\xBC\xD1\x8B\xD1\x81\xD0\xBB \xD0\xBF\xD0\xB5\xD1\x81\xD0\xB5\xD0\xBD \xD1\... │ http://smeshariki.ru/a-folder=cmarka=15&sort=&sll=36872/metrika/frl-2/bage-all/... │ 1 │ -│ \xD0\xB2\xD0\xB8\xD0\xB4\xD0\xB5\xD0\xBE \xD1\x82\xD0\xB0\xD0\xBA\xD0\xBE\xD0\x... │ http://maximum_438424&pvno=2&evlg=VC,0;VL,628;IC,1653-82676212&op_page=0&door=0... │ 1 │ -│ \xD1\x82\xD0\xB5\xD0\xBA\xD1\x81\xD1\x82\xD1\x8B \xD0\xBF\xD0\xBE\xD0\xB4\xD1\x... │ http://bdsmpeople.ru/index.ru/metrikadeletedAutoSearch │ 1 │ -│ \xD1\x83\xD0\xBD\xD0\xB8\xD0\xB2\xD0\xB5\xD1\x80\xD0\xBC\xD0\xB5\xD0\xB4\xD0\xB... │ http://smeshariki.ru/index.ua/syllanet.ru/busine-tyazin?model=4878/page=10&cate... │ 1 │ -│ \xD0\xB4\xD0\xB8\xD0\xBD\xD0\xB0 \xD0\xB2\xD0\xB0\xD0\xBA\xD0\xB0\xD0\xBD\xD1\x... │ http://ecrn.ru/personal/gost277572,9589&pt=b&pd=8&pw=2&page3/?state=0&damages/0... │ 1 │ -│ \xD1\x82\xD1\x80\xD1\x83\xD0\xB4\xD0\xB0 \xD0\xB4\xD0\xBB\xD1\x8F \xD0\xB2\xD1\... │ http://smeshariki.ru/recipes/sadovka.ru/gorod55.ru/search?text=\xD0\xB8\xD0\xB7... │ 1 │ -│ \xD0\xBA\xD0\xBE\xD1\x88\xD0\xBA\xD1\x83 \xD1\x81\xD0\xB7\xD0\xB0\xD0\xBE \xD1\... │ http://bdsmpeople.ru/index.ru/metrikadeletedAutoSearch │ 1 │ -│ \xD1\x80\xD0\xB5\xD1\x86\xD0\xB5\xD0\xBF\xD1\x82 │ http://smeshariki.ru/index.ua/search/metrikanske-urali-belorussia/28.html?1=1&c... │ 1 │ -│ \xD0\xB4\xD0\xB8\xD0\xBD\xD0\xB0 \xD0\xB2\xD0\xB0\xD0\xBA\xD0\xB0\xD0\xBD\xD1\x... │ http://ecrn.ru/personal/gost277572,9589&pt=b&pd=8&pw=2&page3/?state=0&damages/0... │ 1 │ -│ \xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD0\xB2\xD1\x8B\xD0\xB5 \xD0\xB4\xD0\xBE\xD1\x... │ http://smeshariki.ru/index.ua/auto.ria.ua/change=0&s_yers=0&with_video.yandex.u... │ 1 │ -└────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───┘ -Run Time: real 0.716 user 11.292000 sys 0.000000 -D count(*) AS c, COUNT(DISTINCT UserID) FROM hits WHERE Title::TEXT LIKE '%Яндекс%' AND URL::TEXT NOT LIKE '%.yandex.%' AND octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;( -Run Time: real 3.669 user 19.464000 sys 0.932000 -D SELECT * FROM hits WHERE URL::TEXT LIKE '%metrika%' ORDER BY EventTime LIMIT 10;e -┌─────────────────────┬────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┬────────────┬───────────┬───────────┬────────────┬──────────┬─────────────────────┬──────────────┬─────┬───────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬─────────┬───────────────────┬─────────────────┬───────────────┬─────────────┬─────────────────┬──────────────────┬─────────────────┬────────────┬────────────┬─────────────┬──────────┬──────────┬────────────────┬────────────────┬──────────────┬──────────────────┬──────────┬─────────────┬──────────────────┬────────┬─────────────┬────────────────┬────────────────┬──────────────┬─────────────┬─────────────┬───────────────────┬────────────────────┬────────────────┬─────────────────┬─────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┬──────────────────────┬─────────────┬────────┬────────────┬─────────────┬─────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┬──────────────┬─────────┬─────────────┬───────────────┬──────────┬──────────┬────────────────┬─────┬─────┬────────┬───────────┬───────────┬────────────┬────────────┬────────────┬───────────────┬─────────────────┬────────────────┬───────────────┬──────────────┬───────────┬────────────┬───────────┬───────────────┬─────────────────────┬───────────────────┬─────────────┬───────────────────────┬──────────────────┬────────────┬──────────────┬───────────────┬─────────────────┬─────────────────────┬────────────────────┬──────────────┬──────────────────┬───────────┬───────────┬─────────────┬────────────┬─────────┬─────────┬──────────┬──────────────────────┬──────────────────────┬──────┐ -│ WatchID │ JavaEnable │ Title │ GoodEvent │ EventTime │ EventDate │ CounterID │ ClientIP │ RegionID │ UserID │ CounterClass │ OS │ UserAgent │ URL │ Referer │ Refresh │ RefererCategoryID │ RefererRegionID │ URLCategoryID │ URLRegionID │ ResolutionWidth │ ResolutionHeight │ ResolutionDepth │ FlashMajor │ FlashMinor │ FlashMinor2 │ NetMajor │ NetMinor │ UserAgentMajor │ UserAgentMinor │ CookieEnable │ JavascriptEnable │ IsMobile │ MobilePhone │ MobilePhoneModel │ Params │ IPNetworkID │ TraficSourceID │ SearchEngineID │ SearchPhrase │ AdvEngineID │ IsArtifical │ WindowClientWidth │ WindowClientHeight │ ClientTimeZone │ ClientEventTime │ SilverlightVersion1 │ SilverlightVersion2 │ SilverlightVersion3 │ SilverlightVersion4 │ PageCharset │ CodeVersion │ IsLink │ IsDownload │ IsNotBounce │ FUniqID │ OriginalURL │ HID │ IsOldCounter │ IsEvent │ IsParameter │ DontCountHits │ WithHash │ HitColor │ LocalEventTime │ Age │ Sex │ Income │ Interests │ Robotness │ RemoteIP │ WindowName │ OpenerName │ HistoryLength │ BrowserLanguage │ BrowserCountry │ SocialNetwork │ SocialAction │ HTTPError │ SendTiming │ DNSTiming │ ConnectTiming │ ResponseStartTiming │ ResponseEndTiming │ FetchTiming │ SocialSourceNetworkID │ SocialSourcePage │ ParamPrice │ ParamOrderID │ ParamCurrency │ ParamCurrencyID │ OpenstatServiceName │ OpenstatCampaignID │ OpenstatAdID │ OpenstatSourceID │ UTMSource │ UTMMedium │ UTMCampaign │ UTMContent │ UTMTerm │ FromTag │ HasGCLID │ RefererHash │ URLHash │ CLID │ -├─────────────────────┼────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┼────────────┼───────────┼───────────┼────────────┼──────────┼─────────────────────┼──────────────┼─────┼───────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼─────────┼───────────────────┼─────────────────┼───────────────┼─────────────┼─────────────────┼──────────────────┼─────────────────┼────────────┼────────────┼─────────────┼──────────┼──────────┼────────────────┼────────────────┼──────────────┼──────────────────┼──────────┼─────────────┼──────────────────┼────────┼─────────────┼────────────────┼────────────────┼──────────────┼─────────────┼─────────────┼───────────────────┼────────────────────┼────────────────┼─────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼──────────────────────┼─────────────┼────────┼────────────┼─────────────┼─────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┼──────────────┼─────────┼─────────────┼───────────────┼──────────┼──────────┼────────────────┼─────┼─────┼────────┼───────────┼───────────┼────────────┼────────────┼────────────┼───────────────┼─────────────────┼────────────────┼───────────────┼──────────────┼───────────┼────────────┼───────────┼───────────────┼─────────────────────┼───────────────────┼─────────────┼───────────────────────┼──────────────────┼────────────┼──────────────┼───────────────┼─────────────────┼─────────────────────┼────────────────────┼──────────────┼──────────────────┼───────────┼───────────┼─────────────┼────────────┼─────────┼─────────┼──────────┼──────────────────────┼──────────────────────┼──────┤ -│ 9008228978173248400 │ 1 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372714203 │ 15888 │ 46429 │ 1741285710 │ 208 │ 727970985383478408 │ 0 │ 2 │ 2 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ http://smeshariki.ru/page%3D%26ev_n%3Dtvor_3_4 │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 1638 │ 1658 │ 37 │ 14 │ 0 │ 700.22 │ 0 │ 0 │ 15 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 2349927 │ -1 │ 0 │ │ 0 │ 0 │ 1844 │ 888 │ 135 │ 1372711075 │ 3 │ 0 │ 29241 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 0 │ │ 926364569 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372755313 │ 31 │ 1 │ 0 │ 0 │ 0 │ 1985697352 │ 13001 │ -1 │ 22 │ vG │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 16989158750233735299 │ 2619784076535420345 │ 0 │ -│ 7319686668886932386 │ 0 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372742048 │ 15888 │ 46429 │ 675534320 │ 208 │ 1167829038705361511 │ 0 │ 45 │ 1 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ http://smeshariki.ru/page=6&sqi=2&ved=0CC0QFjAA │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 280 │ 733 │ 0 │ 0 │ 0 │ │ 0 │ 0 │ 4 │ sO │ 1 │ 1 │ 1 │ 0 │ │ │ 1444853 │ -1 │ 0 │ │ 0 │ 0 │ 997 │ 800 │ 623 │ 1372713898 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 4655941889681510909 │ │ 721190565 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372747193 │ 31 │ 2 │ 3 │ 717 │ 0 │ 2935426383 │ 22084 │ -1 │ 1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 11629579472615090596 │ 2619784076535420345 │ 0 │ -│ 5650132582613869356 │ 0 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372742083 │ 15888 │ 46429 │ 675534320 │ 208 │ 1167829038705361511 │ 0 │ 45 │ 1 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ http://smeshariki.ru/page=6&sqi=2&ved=0CC0QFjAA │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 280 │ 733 │ 0 │ 0 │ 0 │ │ 0 │ 0 │ 4 │ D\xE0 │ 1 │ 1 │ 1 │ 0 │ │ │ 1444853 │ -1 │ 0 │ │ 0 │ 0 │ 997 │ 800 │ 623 │ 1372713960 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 4655941889681510909 │ │ 721255326 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372747245 │ 31 │ 2 │ 3 │ 717 │ 0 │ 2935426383 │ 64225 │ -1 │ 1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 11629579472615090596 │ 2619784076535420345 │ 0 │ -│ 6211862319117980382 │ 0 │ \xD0\x9A\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ 1 │ 1372744794 │ 15888 │ 46429 │ 1384976586 │ 208 │ 45205883125357727 │ 0 │ 8 │ 1 │ http://smeshariki.ru/used/Audi-1993527&stateID=0&metrikauto/bmw_74012099/0/&&pu... │ │ 0 │ 0 │ 0 │ 9911 │ 216 │ 475 │ 368 │ 0 │ 0 │ 0 │ │ 0 │ 0 │ 7 │ D\xE0 │ 1 │ 1 │ 1 │ 0 │ │ │ 3195177 │ 0 │ 0 │ │ 0 │ 0 │ 412 │ 286 │ 135 │ 1372732810 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 7015666733105959947 │ │ 641313121 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372774931 │ 28 │ 1 │ 2 │ 1 │ 0 │ 1889444196 │ 44835 │ -1 │ 0 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 18150585289071012696 │ 2619784076535420345 │ 0 │ -│ 8127216893234548048 │ 0 │ \xD0\xA2\xD0\xBE\xD0\xBB\xD1\x81\xD1\x82\xD1\x83\xD1\x85\xD1\x83, \xD0\xB5\xD1\... │ 1 │ 1372752539 │ 15888 │ 46429 │ 1237806922 │ 208 │ 750085446646698731 │ 0 │ 2 │ 3 │ http://smeshariki.ru/used/99114578622-14406072,9269587/roometrika/?page=7&pw=2&... │ http://smeshariki.ru/page=11956bd3f5ba-bolshiient │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 1081 │ 979 │ 23 │ 15 │ 7 │ 700 │ 0 │ 0 │ 17 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 2914423 │ -1 │ 0 │ │ 0 │ 0 │ 1434 │ 739 │ 623 │ 1372781865 │ 0 │ 0 │ 0 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 5496132257355632424 │ │ 983272850 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372760187 │ 50 │ 2 │ 2 │ 60 │ 18 │ 1113465640 │ 60610 │ -1 │ 29 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 194 │ 1631 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 13570011243001147277 │ 11339053197878713733 │ 0 │ -│ 5016976626924998727 │ 1 │ Toyota \xD1\x80\xD1\x83\xD0\xBA\xD0\xB0\xD0\xBB\xD1\x8B \xD0\xB4\xD0\xBB\xD1\x8... │ 1 │ 1372758784 │ 15888 │ 5645 │ 3888153915 │ 107 │ 4058808124307537573 │ 1 │ 2 │ 88 │ http:%2F%2Fwwww.bonprix.ru&pvid=131&op_products/transformality.pulsceness/01-me... │ http://forum.amur.info/node/12451180167540 │ 0 │ 10868 │ 635 │ 16361 │ 943 │ 1638 │ 777 │ 37 │ 15 │ 7 │ 700 │ 0 │ 0 │ 1 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 2726799 │ -1 │ 0 │ │ 0 │ 0 │ 1509 │ 618 │ 135 │ 1372835656 │ 0 │ 0 │ 0 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 6227398498798751865 │ │ 255959698 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372763371 │ 31 │ 1 │ 3 │ 3555 │ 13 │ 4006630121 │ -1 │ -1 │ -1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 10333931216342739575 │ 10009133566342666602 │ 0 │ -│ 4963765960745323978 │ 0 │ \xD0\x93\xD0\x90\xD0\x97 (ZAZ) 5403J \xE2\x80\x93 \xD0\xA4\xD0\xB8\xD0\xBB\xD1\... │ 1 │ 1372793626 │ 15888 │ 46429 │ 2063319617 │ 23967 │ 5283184799411504286 │ 0 │ 44 │ 2 │ http://smeshariki.ru/userId=0&matched_car=Volkswagency=1&p=8090/roometrika/?pag... │ http://smeshariki.ru/smsarhiv/num/33363634383294&lr=66&v6s=2&bodystyle │ 0 │ 16000 │ 158 │ 9911 │ 216 │ 1996 │ 1781 │ 37 │ 15 │ 7 │ 700 │ 0 │ 0 │ 10 │ nA │ 1 │ 1 │ 0 │ 0 │ │ │ 4110783 │ -1 │ 0 │ │ 0 │ 0 │ 1551 │ 955 │ 291 │ 1372730435 │ 7 │ 1 │ 9577 │ 0 │ windows-1251;charset │ 1601 │ 0 │ 0 │ 0 │ 8904020920948834668 │ │ 883138215 │ 0 │ 0 │ 0 │ 0 │ 0 │ g │ 1372777308 │ 22 │ 2 │ 2 │ 11339 │ 18 │ 2136940575 │ 1653 │ -1 │ 1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 18276268115953212999 │ 9484754903086635093 │ 0 │ -│ 6284148982888572412 │ 1 │ Morskoj port \xE2\x80\x93 \xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD1\x82\xD1\... │ 1 │ 1372795222 │ 15889 │ 3922 │ 2460998382 │ 40 │ 1643466856862289966 │ 1 │ 44 │ 7 │ http://moikrug.ru/message-12-kak-pravdorubovnik_metrika-info.php?f=23&prr │ http://diary.ru/GameMain.aspx?d=1412&lr=75&mode=photo/login=igorod.irr.ru/i6102... │ 0 │ 306 │ 29199 │ 92 │ 247 │ 1368 │ 554 │ 37 │ 15 │ 7 │ 800.94 │ 0 │ 0 │ 12 │ D\xE0 │ 1 │ 1 │ 0 │ 0 │ │ │ 1166094 │ 1 │ 0 │ │ 0 │ 0 │ 1253 │ 642 │ 135 │ 1372799147 │ 4 │ 1 │ 16561 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 7061143530822060136 │ │ 699865379 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372810401 │ 31 │ 2 │ 3 │ 6 │ 0 │ 3849445958 │ -1 │ -1 │ -1 │ S0 │ h1 │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 14060834305267311691 │ 1791983733815963315 │ 0 │ -│ 6024648629746505393 │ 0 │ \xD0\x9F\xD0\xBE\xD0\xB3\xD1\x80\xD0\xB5\xD0\xB2\xD0\xB0\xD1\x82\xD0\xB5\xD0\xB... │ 1 │ 1372795271 │ 15889 │ 1200 │ 2932550360 │ 208 │ 1578473929930714515 │ 1 │ 107 │ 82 │ http://afisha.yandex.ru/real-estate/out-of-town/household_app_metrika.ru/wildbe... │ http://ad.adrive_type_id=1959251&stUrl%3Dpopular/kw/306161&lr=1418][to]=&input_... │ 0 │ 15265 │ 19757 │ 8953 │ 32252 │ 958 │ 1871 │ 37 │ 0 │ 0 │ │ 0 │ 0 │ 3 │ D\xE0 │ 1 │ 1 │ 1 │ 6 │ │ │ 4010641 │ -1 │ 0 │ │ 0 │ 0 │ 521 │ 1803 │ -1 │ 1372870507 │ 0 │ 0 │ 0 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 0 │ http://b.kavanga.ru/tags/%FD%ED%FB%E2%F3%E6%E5%E6%ED%E8%ED%F1%FF%ED&ti=%D0%BD%D... │ 120241233 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372842094 │ 0 │ 0 │ 0 │ 0 │ 0 │ 3975911785 │ -1 │ -1 │ -1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 9685011611637290144 │ 5941547189901908071 │ 0 │ -│ 4857420640250996887 │ 1 │ Suzuki Escort 4* (\xD0\xA4\xD1\x80\xD0\xB0\xD0\xBD\xD1\x86\xD1\x8B 3 \xD1\x81\x... │ 1 │ 1372800737 │ 15889 │ 3922 │ 3201307115 │ 190 │ 7335986183190726964 │ 1 │ 44 │ 88 │ http://pova-ul-mir.irr.ru/search.php?gidcar=37408&uuid=1&bc=3&city=0&pv=20&s_ye... │ http://news/238/~6/?cauth=1&av=1&nm=1&ms=1,2/currency=RUR/page_num_id=15366563&... │ 0 │ 306 │ 144 │ 304 │ 132 │ 1368 │ 554 │ 37 │ 15 │ 4 │ 202 │ 0 │ 0 │ 1 │ fi │ 1 │ 1 │ 0 │ 0 │ │ │ 2311071 │ -1 │ 0 │ │ 0 │ 0 │ 1333 │ 924 │ 322 │ 1372840359 │ 4 │ 1 │ 16561 │ 0 │ windows │ 1 │ 0 │ 0 │ 0 │ 7659179697273795837 │ │ 232010762 │ 0 │ 0 │ 0 │ 0 │ 0 │ 5 │ 1372866397 │ 31 │ 2 │ 2 │ 3658 │ 28 │ 2920265313 │ -1 │ -1 │ -1 │ S0 │ \xD0\x0C │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │ 0 │ │ NH\x1C │ 0 │ │ │ │ │ │ │ │ │ │ │ 0 │ 8839345929686869081 │ 5449259806403761803 │ 0 │ -└─────────────────────┴────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┴────────────┴───────────┴───────────┴────────────┴──────────┴─────────────────────┴──────────────┴─────┴───────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴─────────┴───────────────────┴─────────────────┴───────────────┴─────────────┴─────────────────┴──────────────────┴─────────────────┴────────────┴────────────┴─────────────┴──────────┴──────────┴────────────────┴────────────────┴──────────────┴──────────────────┴──────────┴─────────────┴──────────────────┴────────┴─────────────┴────────────────┴────────────────┴──────────────┴─────────────┴─────────────┴───────────────────┴────────────────────┴────────────────┴─────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴──────────────────────┴─────────────┴────────┴────────────┴─────────────┴─────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┴──────────────┴─────────┴─────────────┴───────────────┴──────────┴──────────┴────────────────┴─────┴─────┴────────┴───────────┴───────────┴────────────┴────────────┴────────────┴───────────────┴─────────────────┴────────────────┴───────────────┴──────────────┴───────────┴────────────┴───────────┴───────────────┴─────────────────────┴───────────────────┴─────────────┴───────────────────────┴──────────────────┴────────────┴──────────────┴───────────────┴─────────────────┴─────────────────────┴────────────────────┴──────────────┴──────────────────┴───────────┴───────────┴─────────────┴────────────┴─────────┴─────────┴──────────┴──────────────────────┴──────────────────────┴──────┘ -Run Time: real 38.169 user 135.808000 sys 9.856000 -D SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY EventTime LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ \xD1\x81\xD0\xB8\xD0\xBC\xD0\xBF\xD1\x82\xD0\xBE\xD0\xBC\xD1\x8B \xD1\x80\xD0\x... │ -│ galaxy s4 zoom \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC │ -│ \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC \xD0\xBD\xD0\xB5\xD0\xB1\xD0\xBE\xD0\x... │ -│ \xD0\xBD\xD0\xBE\xD1\x87\xD0\xBD\xD0\xBE \xD0\xBA\xD0\xB8\xD1\x82\xD0\xB0\xD1\x... │ -│ \xD0\xB0\xD0\xB2\xD0\xBE\xD0\xBC \xD0\xBA\xD0\xBE\xD0\xBD\xD1\x81\xD1\x82\xD0\x... │ -│ \xD0\xBE\xD1\x82\xD0\xB4\xD1\x8B\xD1\x85\xD0\xB0 \xD1\x87\xD0\xB5\xD0\xBC \xD0\... │ -│ \xD1\x81\xD0\xBA\xD0\xB0\xD1\x87\xD0\xB0\xD1\x82\xD1\x8C \xD1\x87\xD0\xB8\xD1\x... │ -│ \xD0\xB0\xD0\xBD\xD0\xB0\xD0\xBF\xD0\xB0 \xD0\xBE\xD0\xBF\xD0\xB5\xD1\x80\xD0\x... │ -│ \xD1\x81\xD0\xBB\xD0\xBE\xD0\xBD.\xD1\x80\xD1\x83\xD0\xB1., \xD0\xB4. \xD0\xB0.... │ -│ \xD1\x80\xD0\xB0\xD1\x81\xD0\xBF\xD0\xB8\xD1\x81\xD0\xB0\xD0\xBD\xD0\xB8\xD0\xB... │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 0.227 user 3.484000 sys 0.080000 -D SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY SearchPhrase LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ ! hektdf gjcgjhn conster │ -│ ! \xD1\x81\xD0\xBA\xD0\xB0\xD1\x80\xD0\xBF │ -│ !(\xD0\xBA\xD0\xB0\xD0\xBA \xD0\xB2\xD0\xBE\xD1\x80\xD0\xBE\xD0\xBD\xD0\xB8 │ -│ !(\xD0\xBF\xD0\xBE \xD0\xB3\xD0\xBE\xD1\x80\xD0\xB8\xD1\x8E \xD0\xB2 \xD1\x8F\x... │ -│ !(\xD1\x81) \xD0\xBF\xD1\x80\xD0\xBE \xD0\xB4\xD0\xBF\xD0\xBE \xD1\x81\xD0\xB5\... │ -│ !(\xD1\x81\xD0\xB0\xD0\xBB\xD0\xBE\xD0\xBD\xD1\x8B \xD0\xBE\xD1\x81\xD1\x82\xD0... │ -│ !(\xD1\x81\xD1\x82\xD0\xB0\xD1\x80\xD1\x82\xD0\xB5\xD1\x80 rav4 \xD1\x82\xD1\x8... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD0\xB4\xD0\xBB\xD1\x8F \xD0\xBC\xD1\x8F\xD1... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD0\xBC\xD0\xB0\xD1\x83\xD1\x81 \xD0\xBA\xD0... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD1\x81\xD0\xB5\xD1\x80\xD0\xB8\xD0\xB8 │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 0.271 user 3.996000 sys 0.092000 -D SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY EventTime, SearchPhrase LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ galaxy s4 zoom \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC │ -│ \xD0\xBD\xD0\xBE\xD1\x87\xD0\xBD\xD0\xBE \xD0\xBA\xD0\xB8\xD1\x82\xD0\xB0\xD1\x... │ -│ \xD1\x81\xD0\xB8\xD0\xBC\xD0\xBF\xD1\x82\xD0\xBE\xD0\xBC\xD1\x8B \xD1\x80\xD0\x... │ -│ \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC \xD0\xBD\xD0\xB5\xD0\xB1\xD0\xBE\xD0\x... │ -│ \xD0\xB0\xD0\xB2\xD0\xBE\xD0\xBC \xD0\xBA\xD0\xBE\xD0\xBD\xD1\x81\xD1\x82\xD0\x... │ -│ \xD0\xB0\xD0\xBD\xD0\xB0\xD0\xBF\xD0\xB0 \xD0\xBE\xD0\xBF\xD0\xB5\xD1\x80\xD0\x... │ -│ \xD0\xB1\xD1\x80\xD0\xB8\xD1\x82\xD0\xB0 \xD0\xB3\xD0\xB0\xD0\xBD\xD0\xB0\xD0\x... │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ -│ \xD0\xBE\xD1\x82\xD0\xB4\xD1\x8B\xD1\x85\xD0\xB0 \xD1\x87\xD0\xB5\xD0\xBC \xD0\... │ -│ \xD1\x80\xD0\xB0\xD1\x81\xD0\xBF\xD0\xB8\xD1\x81\xD0\xB0\xD0\xBD\xD0\xB8\xD0\xB... │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 0.231 user 3.632000 sys 0.008000 -D SELECT CounterID, avg(octet_length(URL)) AS l, count(*) AS c FROM hits WHERE octet_length(URL) > 0 GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;L -┌───────────┬────────────────────┬─────────┐ -│ CounterID │ l │ c │ -├───────────┼────────────────────┼─────────┤ -│ 233773 │ 469.18537326484886 │ 2938865 │ -│ 245438 │ 271.7892512777364 │ 2510103 │ -│ 122612 │ 238.64530987208474 │ 3574007 │ -│ 234004 │ 204.28793262381632 │ 238660 │ -│ 1634 │ 197.83321731651554 │ 323229 │ -│ 786 │ 186.75537634408602 │ 120528 │ -│ 114157 │ 142.91881538575285 │ 216408 │ -│ 515 │ 126.22860040706026 │ 146907 │ -│ 256004 │ 125.37108455074805 │ 858171 │ -│ 95427 │ 120.26856903175477 │ 374306 │ -│ 199550 │ 109.81720498866335 │ 7115413 │ -│ 220992 │ 105.85666196266179 │ 494614 │ -│ 196239 │ 98.34882201749727 │ 163797 │ -│ 62 │ 93.15981711034343 │ 738150 │ -│ 96948 │ 92.74321182146618 │ 396093 │ -│ 188878 │ 91.98308322489247 │ 311998 │ -│ 249603 │ 91.88026594639518 │ 120325 │ -│ 3922 │ 87.83856410684609 │ 8527069 │ -│ 191697 │ 86.95776647628826 │ 124664 │ -│ 97467 │ 84.2953696503987 │ 131178 │ -│ 186300 │ 83.97258027738701 │ 802561 │ -│ 146891 │ 77.77430173504756 │ 605286 │ -│ 38 │ 76.43757015971798 │ 507770 │ -│ 230962 │ 76.3127707226559 │ 169223 │ -│ 77639 │ 75.38681923602442 │ 253961 │ -└───────────┴────────────────────┴─────────┘ -Run Time: real 0.426 user 6.372000 sys 0.356000 -D //(?:www\.)?([^/]+)/.*$', '\1') AS key, avg(octet_length(Referer)) AS l, count(*) AS c, min(Referer) FROM hits WHERE octet_length(Referer) > 0 GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;E -┌────────────────────────────────────────────────────────────────────────┬────────────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────┐ -│ key │ l │ c │ min(referer) │ -├────────────────────────────────────────────────────────────────────────┼────────────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────┤ -│ svpressa.ru │ 307.980979437341 │ 242527 │ http://svpressa.ru/ │ -│ msuzie-showforumdisplay │ 263.327228380409 │ 183676 │ http://msuzie-showforumdisplay/63/~2/?name=&cost_neu%3D400%26retpath=default777... │ -│ saint-peters-total=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 80 │ 242.5236948271821 │ 200529 │ http://saint-peters-total=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 80/c... │ -│ domics │ 212.92990978061542 │ 326094 │ http://domics/825179.11931861234499792 │ -│ e96.ru │ 210.09628206687884 │ 1019276 │ http://e96.ru/%3Ffrom]=&input_act[count_num=0&dff=arian-carrina1201517&cad=rjt&... │ -│ gadgets.irr.ru │ 131.9597008950273 │ 349710 │ https://gadgets.irr.ru/2jmj7l5rSw0yVb │ -│ google.ru │ 109.24485253818524 │ 2158491 │ http://google.ru/ │ -│ go.mail │ 108.63930572737723 │ 8228007 │ http://go.mail/04/detskaia-moda-zhiensmed │ -│ msouz.ru │ 106.10887286512423 │ 301774 │ http://msouz.ru/?ffshop │ -│ state=19945206 │ 105.6469046513171 │ 512414 │ http://state=19945206/foto-4/login%20NoTs3M&where=all&filmId=u8aGGqtWs3M&where=... │ -│ loveplanet.ru │ 104.60136383347789 │ 461200 │ http://loveplanet.ru/%3Faw_opel/page=2013 │ -│ bonprix.ru │ 104.41683309557774 │ 1125105 │ http://bonprix.ru/ │ -│ novjob.ru │ 96.75331644732393 │ 133049 │ http://novjob.ru/ │ -│ cn.ru │ 95.63198716663325 │ 124675 │ http://cn.ru/GameMain.aspx#catalog/100523&tails.xml?market_pc.html?pid=9403&lr=... │ -│ geomethiettai.ru │ 94.78816556817006 │ 115916 │ https://geomethiettai.ru/GameMain.aspx?group=houses/list=266559j7077&num=7&prun... │ -│ kino │ 90.27628829938655 │ 120139 │ http://kino/6/21/2/women.asp?whichpage4/#oversion=unreadm&uid │ -│ yaroslavens.ru │ 90.17077281117085 │ 124610 │ http://yaroslavens.ru/main.aspx#catalog%2F1004-1100000147-otvet/actions/disloca... │ -│ mysw.info │ 89.68684313159915 │ 984596 │ http://mysw.info/ │ -│ m.myloveplanet.ru │ 88.73233749439181 │ 151564 │ http://m.myloveplanet.ru/ │ -│ povarenok.ru │ 83.97395952020882 │ 144813 │ http://povarenok.ru/ │ -│ gorod │ 80.33107253811141 │ 110728 │ http://gorod/%3Fauto.ria.ua%2Fjob │ -│ yandsearch │ 80.21664430621621 │ 245970 │ http://www.yandsearch/rooms=1/page2 │ -│ myloveplanet.ru │ 80.08183067768715 │ 110582 │ http://myloveplanet.ru/#associety/auto │ -│ tambov.irr.ru │ 77.8650188064113 │ 315318 │ http://tambov.irr.ru/0/c1/tgFtaeLDK0yb01A7xvQF08sjCFqQxn51 │ -│ kurortmag.ru │ 75.74958779884584 │ 155264 │ http://kurortmag.ru/ │ -└────────────────────────────────────────────────────────────────────────┴────────────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 123.649 user 1892.300000 sys 4.120000 -D + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits; -┌──────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐ -│ sum(resolutionwidth) │ sum(resolutionwidth + 1) │ sum(resolutionwidth + 2) │ sum(resolutionwidth + 3) │ sum(resolutionwidth + 4) │ sum(resolutionwidth + 5) │ sum(resolutionwidth + 6) │ sum(resolutionwidth + 7) │ sum(resolutionwidth + 8) │ sum(resolutionwidth + 9) │ sum(resolutionwidth + 10) │ sum(resolutionwidth + 11) │ sum(resolutionwidth + 12) │ sum(resolutionwidth + 13) │ sum(resolutionwidth + 14) │ sum(resolutionwidth + 15) │ sum(resolutionwidth + 16) │ sum(resolutionwidth + 17) │ sum(resolutionwidth + 18) │ sum(resolutionwidth + 19) │ sum(resolutionwidth + 20) │ sum(resolutionwidth + 21) │ sum(resolutionwidth + 22) │ sum(resolutionwidth + 23) │ sum(resolutionwidth + 24) │ sum(resolutionwidth + 25) │ sum(resolutionwidth + 26) │ sum(resolutionwidth + 27) │ sum(resolutionwidth + 28) │ sum(resolutionwidth + 29) │ sum(resolutionwidth + 30) │ sum(resolutionwidth + 31) │ sum(resolutionwidth + 32) │ sum(resolutionwidth + 33) │ sum(resolutionwidth + 34) │ sum(resolutionwidth + 35) │ sum(resolutionwidth + 36) │ sum(resolutionwidth + 37) │ sum(resolutionwidth + 38) │ sum(resolutionwidth + 39) │ sum(resolutionwidth + 40) │ sum(resolutionwidth + 41) │ sum(resolutionwidth + 42) │ sum(resolutionwidth + 43) │ sum(resolutionwidth + 44) │ sum(resolutionwidth + 45) │ sum(resolutionwidth + 46) │ sum(resolutionwidth + 47) │ sum(resolutionwidth + 48) │ sum(resolutionwidth + 49) │ sum(resolutionwidth + 50) │ sum(resolutionwidth + 51) │ sum(resolutionwidth + 52) │ sum(resolutionwidth + 53) │ sum(resolutionwidth + 54) │ sum(resolutionwidth + 55) │ sum(resolutionwidth + 56) │ sum(resolutionwidth + 57) │ sum(resolutionwidth + 58) │ sum(resolutionwidth + 59) │ sum(resolutionwidth + 60) │ sum(resolutionwidth + 61) │ sum(resolutionwidth + 62) │ sum(resolutionwidth + 63) │ sum(resolutionwidth + 64) │ sum(resolutionwidth + 65) │ sum(resolutionwidth + 66) │ sum(resolutionwidth + 67) │ sum(resolutionwidth + 68) │ sum(resolutionwidth + 69) │ sum(resolutionwidth + 70) │ sum(resolutionwidth + 71) │ sum(resolutionwidth + 72) │ sum(resolutionwidth + 73) │ sum(resolutionwidth + 74) │ sum(resolutionwidth + 75) │ sum(resolutionwidth + 76) │ sum(resolutionwidth + 77) │ sum(resolutionwidth + 78) │ sum(resolutionwidth + 79) │ sum(resolutionwidth + 80) │ sum(resolutionwidth + 81) │ sum(resolutionwidth + 82) │ sum(resolutionwidth + 83) │ sum(resolutionwidth + 84) │ sum(resolutionwidth + 85) │ sum(resolutionwidth + 86) │ sum(resolutionwidth + 87) │ sum(resolutionwidth + 88) │ sum(resolutionwidth + 89) │ -├──────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤ -│ 151348908394 │ 151448908394 │ 151548908394 │ 151648908394 │ 151748908394 │ 151848908394 │ 151948908394 │ 152048908394 │ 152148908394 │ 152248908394 │ 152348908394 │ 152448908394 │ 152548908394 │ 152648908394 │ 152748908394 │ 152848908394 │ 152948908394 │ 153048908394 │ 153148908394 │ 153248908394 │ 153348908394 │ 153448908394 │ 153548908394 │ 153648908394 │ 153748908394 │ 153848908394 │ 153948908394 │ 154048908394 │ 154148908394 │ 154248908394 │ 154348908394 │ 154448908394 │ 154548908394 │ 154648908394 │ 154748908394 │ 154848908394 │ 154948908394 │ 155048908394 │ 155148908394 │ 155248908394 │ 155348908394 │ 155448908394 │ 155548908394 │ 155648908394 │ 155748908394 │ 155848908394 │ 155948908394 │ 156048908394 │ 156148908394 │ 156248908394 │ 156348908394 │ 156448908394 │ 156548908394 │ 156648908394 │ 156748908394 │ 156848908394 │ 156948908394 │ 157048908394 │ 157148908394 │ 157248908394 │ 157348908394 │ 157448908394 │ 157548908394 │ 157648908394 │ 157748908394 │ 157848908394 │ 157948908394 │ 158048908394 │ 158148908394 │ 158248908394 │ 158348908394 │ 158448908394 │ 158548908394 │ 158648908394 │ 158748908394 │ 158848908394 │ 158948908394 │ 159048908394 │ 159148908394 │ 159248908394 │ 159348908394 │ 159448908394 │ 159548908394 │ 159648908394 │ 159748908394 │ 159848908394 │ 159948908394 │ 160048908394 │ 160148908394 │ 160248908394 │ -└──────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┘ -Run Time: real 6.374 user 101.052000 sys 0.008000 -D SELECT SearchEngineID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -┌────────────────┬────────────┬──────┬──────────────┬──────────────────────┐ -│ SearchEngineID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├────────────────┼────────────┼──────┼──────────────┼──────────────────────┤ -│ 2 │ 1138507705 │ 1633 │ 35 │ 1408.0122473974282 │ -│ 2 │ 1740861572 │ 1331 │ 28 │ 1577.945905334335 │ -│ 2 │ 3487820196 │ 1144 │ 35 │ 1553.1984265734266 │ -│ 2 │ 3797060577 │ 1140 │ 36 │ 1543.4140350877192 │ -│ 2 │ 2349209741 │ 1105 │ 30 │ 1557.387330316742 │ -│ 2 │ 2424344199 │ 1102 │ 31 │ 1555.6588021778584 │ -│ 2 │ 3663904793 │ 1083 │ 31 │ 1581.8171745152354 │ -│ 2 │ 3829154130 │ 1082 │ 30 │ 1541.253234750462 │ -│ 2 │ 2551371145 │ 1080 │ 24 │ 1559.8092592592593 │ -│ 2 │ 4029049820 │ 1058 │ 32 │ 1556.2003780718337 │ -└────────────────┴────────────┴──────┴──────────────┴──────────────────────┘ -Run Time: real 0.999 user 13.236000 sys 0.068000 -D SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -┌─────────────────────┬────────────┬───┬──────────────┬──────────────────────┐ -│ WatchID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├─────────────────────┼────────────┼───┼──────────────┼──────────────────────┤ -│ 4623938834438874046 │ 3335652175 │ 2 │ 0 │ 1917.0 │ -│ 6231340535817185610 │ 4012918818 │ 2 │ 0 │ 1638.0 │ -│ 8423042978509451644 │ 2960255590 │ 2 │ 0 │ 1368.0 │ -│ 8268832962994556606 │ 1627418068 │ 2 │ 0 │ 1638.0 │ -│ 5191389486841953200 │ 1487376472 │ 2 │ 0 │ 1828.0 │ -│ 6816565865734300637 │ 3770216628 │ 2 │ 0 │ 2038.0 │ -│ 7726072175618541265 │ 1876840662 │ 2 │ 0 │ 1638.0 │ -│ 8672760597587433971 │ 1269590216 │ 2 │ 0 │ 1368.0 │ -│ 7542988325649023791 │ 303701440 │ 2 │ 0 │ 1828.0 │ -│ 4792336058495451538 │ 3494775397 │ 2 │ 0 │ 2038.0 │ -└─────────────────────┴────────────┴───┴──────────────┴──────────────────────┘ -Run Time: real 1.531 user 16.536000 sys 0.392000 -D SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -┌─────────────────────┬────────────┬───┬──────────────┬──────────────────────┐ -│ WatchID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├─────────────────────┼────────────┼───┼──────────────┼──────────────────────┤ -│ 4744389098628902911 │ 1500313270 │ 2 │ 0 │ 1368.0 │ -│ 6489627466297098899 │ 1558450287 │ 2 │ 0 │ 1368.0 │ -│ 7485059124808740671 │ 1755688921 │ 2 │ 0 │ 1996.0 │ -│ 7229362496802796571 │ 1388026619 │ 2 │ 0 │ 1087.0 │ -│ 5699795602773001237 │ 1148637937 │ 2 │ 0 │ 1917.0 │ -│ 5513990774603668383 │ 1769439966 │ 2 │ 0 │ 1368.0 │ -│ 6466230155642720170 │ 720685641 │ 2 │ 0 │ 1368.0 │ -│ 5561182283490038976 │ 83735824 │ 2 │ 0 │ 1087.0 │ -│ 4784371382202293288 │ 3735345744 │ 2 │ 0 │ 1638.0 │ -│ 6244717263232015267 │ 1898460905 │ 2 │ 0 │ 1996.0 │ -└─────────────────────┴────────────┴───┴──────────────┴──────────────────────┘ -Run Time: real 63.046 user 79.256000 sys 10.484000 -D SELECT URL, count(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬─────────┐ -│ URL │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼─────────┤ -│ http://liver.ru/belgorod/page/1006.j\xD0\xBA\xD0\xB8/\xD0\xB4\xD0\xBE\xD0\xBF_\... │ 3288173 │ -│ http://kinopoisk.ru │ 1625251 │ -│ http://bdsm_po_yers=0&with_video │ 791465 │ -│ http://video.yandex │ 582404 │ -│ http://smeshariki.ru/region │ 514984 │ -│ http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with │ 507995 │ -│ http://liver.ru/place_rukodel=365115eb7bbb90 │ 359893 │ -│ http://kinopoisk.ru/vladimir.irr.ru │ 354690 │ -│ http://video.yandex.ru/search/?jenre=50&s_yers │ 318979 │ -│ http://tienskaia-moda │ 289355 │ -└────────────────────────────────────────────────────────────────────────────────────┴─────────┘ -Run Time: real 7.564 user 55.552000 sys 1.156000 -D SELECT 1, URL, count(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -┌───┬────────────────────────────────────────────────────────────────────────────────────┬─────────┐ -│ 1 │ URL │ c │ -├───┼────────────────────────────────────────────────────────────────────────────────────┼─────────┤ -│ 1 │ http://liver.ru/belgorod/page/1006.j\xD0\xBA\xD0\xB8/\xD0\xB4\xD0\xBE\xD0\xBF_\... │ 3288173 │ -│ 1 │ http://kinopoisk.ru │ 1625251 │ -│ 1 │ http://bdsm_po_yers=0&with_video │ 791465 │ -│ 1 │ http://video.yandex │ 582404 │ -│ 1 │ http://smeshariki.ru/region │ 514984 │ -│ 1 │ http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with │ 507995 │ -│ 1 │ http://liver.ru/place_rukodel=365115eb7bbb90 │ 359893 │ -│ 1 │ http://kinopoisk.ru/vladimir.irr.ru │ 354690 │ -│ 1 │ http://video.yandex.ru/search/?jenre=50&s_yers │ 318979 │ -│ 1 │ http://tienskaia-moda │ 289355 │ -└───┴────────────────────────────────────────────────────────────────────────────────────┴─────────┘ -Run Time: real 4.014 user 55.408000 sys 0.152000 -D SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -┌────────────┬──────────────┬──────────────┬──────────────┬───────┐ -│ ClientIP │ clientip - 1 │ clientip - 2 │ clientip - 3 │ c │ -├────────────┼──────────────┼──────────────┼──────────────┼───────┤ -│ 4255045322 │ 4255045321 │ 4255045320 │ 4255045319 │ 47008 │ -│ 2596862839 │ 2596862838 │ 2596862837 │ 2596862836 │ 29121 │ -│ 3119147744 │ 3119147743 │ 3119147742 │ 3119147741 │ 25333 │ -│ 1696638182 │ 1696638181 │ 1696638180 │ 1696638179 │ 20230 │ -│ 1138507705 │ 1138507704 │ 1138507703 │ 1138507702 │ 15778 │ -│ 3367941774 │ 3367941773 │ 3367941772 │ 3367941771 │ 12768 │ -│ 3032827420 │ 3032827419 │ 3032827418 │ 3032827417 │ 11349 │ -│ 1740861572 │ 1740861571 │ 1740861570 │ 1740861569 │ 11315 │ -│ 3487820196 │ 3487820195 │ 3487820194 │ 3487820193 │ 9881 │ -│ 3663904793 │ 3663904792 │ 3663904791 │ 3663904790 │ 9718 │ -└────────────┴──────────────┴──────────────┴──────────────┴───────┘ -Run Time: real 2.404 user 32.444000 sys 0.256000 -D '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(URL) > 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -┌──────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├──────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 102341 │ -│ http://komme%2F27.0.1453.116 │ 51218 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18315 │ -│ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16461 │ -│ http://irr.ru/index.php │ 12577 │ -│ http://irr.ru/index.php?showalbum/login │ 10880 │ -│ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 7627 │ -│ http://irr.ru/index.php?showalbum/login-kupalnik │ 4369 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 4058 │ -│ http://komme%2F27.0.1453.116 Safari │ 3021 │ -└──────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.278 user 0.800000 sys 0.092000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(Title) > 0 GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ Title │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ \xD0\xA2\xD0\xB5\xD1\x81\xD1\x82 (\xD0\xA0\xD0\xBE\xD1\x81\xD1\x81\xD0\xB8\xD1\... │ 122407 │ -│ \xD0\xA8\xD0\xB0\xD1\x80\xD0\xB0\xD1\x80\xD0\xB0\xD0\xB9), \xD0\x92\xD1\x8B\xD0... │ 82935 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA - IRR.ru │ 80958 │ -│ \xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\xB8 New Era H (\xD0\x90\xD1\x81\xD1\x83\xD... │ 39098 │ -│ \xD0\xA2\xD0\xB5\xD0\xBF\xD0\xBB\xD0\xBE\xD1\x81\xD0\xBA\xD1\x83 \xD0\xBD\xD0\x... │ 23123 │ -│ Dave and Hotpoint sport \xE2\x80\x93 \xD1\x81\xD0\xB0\xD0\xBC\xD1\x8B\xD0\xB5 \... │ 14329 │ -│ AUTO.ria.ua \xE2\x84\xA2 - \xD0\x90\xD0\xBF\xD0\xBF\xD0\xB5\xD1\x80 │ 14053 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA (\xD0\xA0\xD0\... │ 13912 │ -│ OWAProfessign), \xD0\xBF\xD1\x80\xD0\xBE\xD0\xB4\xD0\xB0\xD1\x82\xD1\x8C │ 10919 │ -│ \xD0\xA2\xD1\x80\xD1\x83\xD1\x81\xD0\xB8 - \xD0\xA8\xD0\xBE\xD1\x83\xD0\xB1\xD0... │ 10157 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.852 user 1.004000 sys 0.036000 -D AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 7479 │ -│ http://aliningrad │ 4791 │ -│ http://ekburg.irr.ru%2Fpuloveplanet │ 3584 │ -│ http://smeshariki.ru/obucheyelants │ 3064 │ -│ http://video.yandex.php │ 2887 │ -│ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 1084 │ -│ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 891 │ -│ http://afisha.yandex.ru/index │ 855 │ -│ http://sslow_13507.html?aspx?naId=6HS │ 521 │ -│ http://wildberrior/uphold │ 484 │ -│ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 289 │ -│ http://obninsk/detail │ 241 │ -│ http://diary.ru/forum/intries │ 208 │ -│ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 185 │ -│ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 185 │ -│ http://kurort/SINA, ADRIAN │ 157 │ -│ http://afisha.yandex.ru │ 132 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 124 │ -│ http://ssl.hurra.com/iframe │ 123 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 119 │ -│ http://stars-visa.html_params%3Drhost%3Dad.adriver.ru/catalog.php │ 105 │ -│ http://komme%2F27.0.1453.116 │ 83 │ -│ http://pogoda.yandex │ 80 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 79 │ -│ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 73 │ -│ http://video.yandex │ 71 │ -│ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 68 │ -│ http://wildberries.ru/daily │ 68 │ -│ http://smeshariki.ru/ru/index.ru%26bid │ 68 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 64 │ -│ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 64 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn │ 63 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 59 │ -│ http://sslow_135000008&position=search │ 58 │ -│ http:%2F%2Fwwwwww.bonprix.ru/topic │ 53 │ -│ http://sslow_13507.html/articles │ 52 │ -│ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 51 │ -│ http://rsdn.ru/rss.ya.ru/catalog │ 51 │ -│ http://ekburg.irr.ru/#lingvo │ 46 │ -│ http://pogoda.yandex.ru │ 45 │ -│ http://sslow_13500000%26rnd%3D2788881.html │ 44 │ -│ http://maps#ru_5_ru_22106.377648194,975924][to]=&int[14270pa106&op_uid=17759/6#... │ 42 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 37 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 37 │ -│ http://video.yandex.ru/film/46351/frl-2/bage │ 36 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 35 │ -│ http://direct.yandex │ 34 │ -│ http://sslow_13507.html?aspx?naId=3X_3bhLcs3M │ 33 │ -│ http://gotovim-doma │ 32 │ -│ http://che.ru/produkty_zarubezhei-niepochekhly │ 31 │ -│ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 30 │ -│ http://video.yandex.ru/Newsletter │ 29 │ -│ http://sslow_13507.html?aspx?naId=6D8IzMGys3M │ 29 │ -│ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ http://video.yandex.ru │ 28 │ -│ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 28 │ -│ http://sslow_13507.html?aspx?naId=649&state/out-of-town=\xD0\xA5\xD0\xB0\xD0\xB... │ 27 │ -│ http://notes=1/currency │ 27 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 26 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 26 │ -│ http:%2F%2Fwwww.bonprix.ru/tambov │ 24 │ -│ http://kinopoisk.ru/shoppich.ru/search?clid │ 24 │ -│ http://wildberries │ 23 │ -│ http:%2F%2Fwwwwww.bonprix.ru/searchAutoSearch?text=\xD0\xB2\xD0\xB5\xD0\xBB\xD0... │ 22 │ -│ http://myloveplanet │ 20 │ -│ http://stars-visa-litraj.txt","lpu":"http://pogoda │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/secondary │ 20 │ -│ http://msuzie-shop/premiery-c-38208_2.html │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 20 │ -│ http://smeshariki │ 19 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 19 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ http://irr.ru/6323%26bn%3D27888895,96772,97436 │ 18 │ -│ http://kinopoisk.ru │ 18 │ -│ http://nepogoda.yandex.ru%2Fproducts/search?text=subscripts/busineshop │ 17 │ -│ http://wildberries.ru │ 17 │ -│ http://kinopoisk.ru/catalog/9902224 │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://direct.yandex.html │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 17 │ -│ http://irr.ru/6323%26bn%3D27888895,963095425 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 16 │ -│ http://afisha.yandex.php?gidcar=36281664 │ 16 │ -│ http://auto.ria.ua/search │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://direct │ 15 │ -│ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ http://irr.ru/index.php?showalbum/login-kupalnaya-obl │ 15 │ -│ http://kinopoisk.ru/odessya │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 14 │ -│ http://ekburg.irr.irr.ru/maker │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.yandex │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.mail/rnd=0.9788 │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://auto_many_to_auto.ria.ua/igrush43/ │ 13 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 13 │ -│ http://afisha.yandex.ru/cars │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 13 │ -│ http://love.ru/a-myprofi │ 13 │ -│ http: │ 13 │ -│ http:%2F%2Fwww.bonprix │ 12 │ -│ http://real-estate/aparther/offiliates/corruption/russinsk │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 12 │ -│ http://on-online=on&accetti │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 12 │ -│ http://samara.irr.html5/v12/?from]= │ 12 │ -│ http://en.lyrsenses/zamba_zaborah_coldplay=1&gearbox │ 12 │ -│ http://kinopoisk.ru/saledParams │ 12 │ -│ http://zvukovo/hondar/2007&state/renlew/rigma.ru/scribed │ 12 │ -│ http://pogoda.yandex.php?SECTION │ 12 │ -│ http://msk/platia-nashing/vanny.diary.ru/moscow │ 12 │ -│ http://video.yandex.ru/GameMain.E6smreQhiu_hXR4&where=all&film │ 12 │ -│ http://nizhnieiene/p17378705/currency=1&with_photo-ideapadeno │ 11 │ -│ http://news/6483731559676/Unlocknotebooks/m83/800_D_Black_list │ 11 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 11 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty/photo-12/#imag... │ 11 │ -│ http://msk/platia-nashing/vanny.diary.ru/sale/liver │ 11 │ -│ http://video.yandex.ru/GameMain.aspx#location │ 11 │ -│ http://guid=6&pw=6&pv=13 │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 11 │ -│ http://wildberries.ru/rost.html?1 │ 11 │ -│ http://smeshariki.ru/?win=82&stat=1&page/196264&pt │ 11 │ -│ http://pogoda.yandex.ru/catalog/jokers │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 11 │ -│ http://en.lyrsenses/zamba_zabudtrimazok.html?page=12&prr=http://fap1.adrive_typ... │ 11 │ -│ http://bonprix.ru%26bid │ 11 │ -│ http://loveplanet.ru/GameMain │ 10 │ -│ http://bdsmpeople.ru │ 10 │ -│ http://liver.ru/cheboksicily/foto.aspx?sort=newly&trafkey │ 10 │ -│ http://video.yandex.ru&pvid │ 10 │ -│ http:%2F%2F%2Fwwww.bonprix │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://club.ru/spokoiteli/photo37775280000 │ 10 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 10 │ -│ http:%2F%2Fwwww.bonprix │ 10 │ -│ http://auto_id=240&n=13901038 │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 10 │ -│ http://smeshariki.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://slovariant_new3077940810/detail │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://en.lyrsenses/zamba_zabor_id=1012_blank%26site │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://sslow_13500000%26rnd%3D2788881.html?parts/passe │ 10 │ -│ http://pogoda.html%3Fhtml_params%3Drhost%3D43 │ 10 │ -│ http://irr.ru/index.php?showalbum/logout%26verstova.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://pogoda.yandex.php │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film/6781203.html?id=242037047/detai... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://mysw.info/blog/sankt-peter%3D1216/00001216629 │ 9 │ -│ http://e96.ru/albumfotok-15-fotki │ 9 │ -│ http://alpari.yandex.html?html_param=0&users/#page/Search/ab_dob%2Ffieiie-razvo... │ 9 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru/catalog/8570/1006790 │ 9 │ -│ http://b2b.testered/main/discuss/matched_country=-1&top=0&cityid=1024&wi=1366&o... │ 9 │ -│ http://svpressa.ru/topic=17082630 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru │ 9 │ -│ http:%2F%2Fwwww.bonprix.ru/filmId=8j5j97LRs3M&where=all&sources │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/#win_13.html_p... │ 9 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/4744089758 │ 9 │ -│ http://nail=Yes&target=search │ 9 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_produkty%2F&sr=http://slovaria │ 9 │ -│ http://rlsnet.ru/vacancy/view_type_id=9677548268010367 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/imagecache/wm/2013&where=all&filmId │ 8 │ -│ https://m.myloveplanet.ru/forum/abrika-kobelenie_nebestsenal │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 8 │ -│ http://zapchast.com/iframe-owa.html?1=1&cid=577&oki=1&op │ 8 │ -│ http://afisha.yandex.php?t=141880517 │ 8 │ -│ http://poisk.ru/price_ot=&price_ot=&price │ 8 │ -│ http://zarplata.ru/velika_all=\xD0\xBE\xD1\x82 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http:%2F%2Fwwwwww.bonprix.ru/news/222974895&op │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://fore=3&marka=0&top=0 │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96777&oki │ 8 │ -│ http://video.yandex.ru&xdm_p=1#item/search │ 8 │ -│ http://direct.yandex.ru/catalog │ 8 │ -│ http://zarplata.ru/?p=12977-B26358/currency=RUR/page=1080&wi=1024&lo=http://rzh... │ 8 │ -│ http://en.lyrsenses/zamba_zabor/bedroomolsk │ 8 │ -│ http://masterh4.adriver.yandex │ 8 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://mastered/main.aspx#location=1&bc=3&ct=1&pr=60322056107100919/page5/?_h=s... │ 8 │ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ==&page_avtomodules.php?f=100&ref... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96779/87 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://omsk.mlsn.ru │ 8 │ -│ http://smeshariki.ru/GameMain │ 8 │ -│ http://wildberries.xml?from]=&input │ 8 │ -│ http://love.ru/?p=17059 │ 8 │ -│ http://afisha.yandex.php?gidcar=367108851%2Fr%2F1 │ 8 │ -│ http://che.ru&pvid=13733142835/100/topic,5240556895&ch=UTF-8&sF=11,7,7,0 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/index.php?showalbum/login-kupit-topy%2Fplatjie-gotovlexandex.html... │ 8 │ -│ http://auto.ria.ua/auto_id=24126629/0/index.ru/real-estate/out │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 8 │ -│ http://victor?page_type=city.stol-yar.ru/cars │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://kinopoisk.ru/ch/feed/letniaiaprice/1609 │ 7 │ -│ http://video.yandex.ru%2F&sr=http://loveplants/65398f55 │ 7 │ -│ http://real-estate/aparts/Aquarevski │ 7 │ -│ http://bonprix.ru/social/product_id │ 7 │ -│ http://video.yandex.ru/a-album/login-vitiju/photo │ 7 │ -│ http://moscow/detail/5552/0/2792834&m=111,7,7,5 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-kapustics?sort=pogoda.yandex.ru%26bt%3D... │ 7 │ -│ http://irr.ru/Registered/main/topnewsru.com/page=6 │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 7 │ -│ http://bonprix.ru/catalog/8570/14139489 │ 7 │ -│ http://afisha.yandex.ru/\xD0\xB4\xD0\xBE\xD0\xBC\xD0\xB0/\xD0\x91\xD0\xA1\xD0\x... │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://irr.htm?from]=&int[85][from]=&input_vsegodnyie │ 7 │ -│ http://love.ru/?p=1#country=&op_seo │ 7 │ -│ http://bdsmpeople.ru/niktory/shtory/308/roomed.ru/p59473682740295 │ 7 │ -│ http:%2F%2Fwwwww.bonprix │ 7 │ -│ http://myloveplantrackIt?tid │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 7 │ -│ http://spb/event=big&marka=84&model=0&auto_id=0&s_yers=0&pv=10&can_be_check_PP │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://pogoda.yandex.ru&pvid=1 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-a-5-advert27114 │ 7 │ -│ http://bdsmpeople │ 7 │ -│ http://video=0&is_hot │ 7 │ -│ http://irr.ru/index.php?showalbum/login-zk34/pages/0001216629 │ 7 │ -│ http://svpressa.ru │ 7 │ -│ http://money.yandex │ 7 │ -│ http://gotovim-doma.ru │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 7 │ -│ http://afisha │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://love.ru/?p=1#country=-1&sq_liver.ru/kyrgyzstan │ 6 │ -│ http://afisha.yandex.ru%2F%2Fmail/169 │ 6 │ -│ │ 6 │ -│ http://video.yandex.ru%2Fkategory_id │ 6 │ -│ http://omsk/evential/house.ru/catalog/kitchedule=213-606361653965283 │ 6 │ -│ http://video.yandex.ru/ekt │ 6 │ -│ http://stars-varenok.ru/16745959680706/800_0.jpeg.html%3Fhtml5/v123593 │ 6 │ -│ http://afisha.yandex.ru/catalog=on │ 6 │ -│ http://bdsmpeople.ru/film/64544.690022.rar.html_params%3Drhost%3D_black_list=0&... │ 6 │ -│ http://bdsmpeople.ru/GameMain │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://v102.ru/investate/apartments-sale │ 6 │ -│ http://video.yandex.ru/a-topy │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://wildberries.ru/search │ 6 │ -│ http://afisha.yandex.ru%26bt%3D43%26anbietersburg │ 6 │ -│ http://direct.yandex.ru/refererprofile%2F2.10 │ 6 │ -│ http://video.yandex.ru/GameMain.aspx#location/page_type=category │ 6 │ -│ http://omsk/evential/housession%3D0 │ 6 │ -│ http://rukodel=0&sort=newly&trafkey=2750 │ 6 │ -│ http://smeshariki.ru/world/photofider_credit=0&view │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://moscow/details │ 6 │ -│ http://irr.ru/index.php?showalbum/login-12.html%26custom │ 6 │ -│ http://novosibirsk.irr.ru%26bid │ 6 │ -│ http://solutions.diary.ru/realtitroenie_v_jurman.ru/albums/frame-owa.html?stric... │ 6 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 6 │ -│ http://mr7.ru/newsru.com/iframe_right%3D43 │ 6 │ -│ http://autodoc.ru/real-estate/apart │ 6 │ -│ http://smeshariki.ru/catalog │ 6 │ -│ http://edp2.adriver.ru/hocketshop.ru/moscow/detailanude │ 6 │ -│ http://povari.yandex.ru/greecondary/Products_id=&auto_vaz_2111 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://3dnewsru.com/iframe_right.html?1=1&cid=51538 │ 6 │ -│ http://novo/detail.aspx?group_cod_1s │ 6 │ -│ http://video.yandex.ru/catalog │ 6 │ -│ http://ereal-estate/rent │ 6 │ -│ http://afisha.yandex.php/board,39.04839 │ 6 │ -│ http://msk/platia-nashing/vantralitsa_transion │ 6 │ -│ http://auto_hyundai_sarator │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://kalininmyclonus1 │ 6 │ -│ http://bdsmpeople.ru/saledParams=rhost%3D43%26bid%3D1 │ 6 │ -│ http://forum/topnews/22294&op_category │ 6 │ -│ http://love.ru/?p=17055335 │ 6 │ -│ http://real-estate=week/page=1&expand_search?film/298677435615.html │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://afisha.yandex.ru/mymail.php │ 6 │ -│ http://video=0&with_exchangeType │ 6 │ -│ http://afisha.yandex.ru/index.ru/recipe │ 6 │ -│ http://kinel-lab.com/rus/20130709_117485994,93304&op_seo_entry=1&gearbox=0&type... │ 6 │ -│ http://koolinar.ru/port.ru/doc │ 6 │ -│ http://diary.ru/exp?sid=3205 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://video.yandex.php?search?text=\xD0\x9A\xD0\xBE\xD0\xBD\xD1\x8C\xD1\x8F\xD... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ https://slovakia-600dd903c07022,101595,91194&op_seo_entry │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D8393224 │ 6 │ -│ http://love.ru/ru/irk/event/search/ │ 6 │ -│ http://video.yandex.php?from]=&interapy-wkti/ &cd │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 5 │ -│ http://kinopoisk.ru/catalog │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://auto_volkswagen/vologdano/il_dlya-dnevka.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://barnaul/details/?cauth │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD0\xB5\xD1\x80&where=... │ 5 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://sp-mamrostova │ 5 │ -│ http://tp66.ru/exp?sid=3860217/rooms=2/men.aspx#location%3D0%26rnd │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 5 │ -│ http://zvukovo-gorodsk │ 5 │ -│ http://metal-lodku-Obzor │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://video.yandex.by/?state_id=&auth=1..630;IC,7711588 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 5 │ -│ http:%2F%2Fwwww.bonprix.ru/?id=2013&where=all&filmId │ 5 │ -│ http://rmnt.ru/search/offilia_Sovetov_living_chamber/?78142 │ 5 │ -│ http://e96.ru/movies/614418821/artir.ua/search │ 5 │ -│ http://slovari.yandex.ru%26orderovskij-index.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://tks.ru/cat/publish-cherkalnaya-ttpodporyadushek │ 5 │ -│ http://povari.yandex │ 5 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_seo_entry=&op_category_... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://auto.ria.ua/auto_id=241269.html?1=1&cid=2127970 │ 5 │ -│ http://slovarenok.com │ 5 │ -│ http://video.yandex.ru/GameMain.aspx?Link │ 5 │ -│ http://slovari.yandex │ 5 │ -│ http://auto_volkswagen-Palities/horobki │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://en.lyrsenses/zamba_zaborah_chamberk │ 5 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 40007&pt │ 5 │ -│ http://radio&planet.ru/work.ru/catalog │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://afisha.yandex.php?r=23436303135353.html?1 │ 5 │ -│ http://rustnye-sht-riemnikoi │ 5 │ -│ http://pogoda.yandex.php?gidcar │ 5 │ -│ http://sslow_135000008&position=search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 5 │ -│ http://real-estate=week&m=Dvigenie.html?option │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://myloveplanet.ru/v14572&lb_id=13000001216629 │ 5 │ -│ http://avtomobile/motory.ru/comp.ru/view.php │ 5 │ -│ http://topnews.ru/GameMain.aspx?group_cod_1s=1983&pt=b&pd=9&pw=0 │ 5 │ -│ http://love.ru/product_id=0&po_yers=0&po_yers=2&refererro/model=1346488078722&c... │ 5 │ -│ http://autodoc.ru/moscow │ 5 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 5 │ -│ http://bibidohertki-i-OOOO_REPORT/07_2013 │ 5 │ -│ http://auto.ria.ua/auto │ 5 │ -│ http://loveplanet.ru/mymail/rudi │ 5 │ -│ http://video.yandex.ru/firms.turizm │ 5 │ -│ http://video.yandex.ru%2FkategoriendflowerTo=&powerTo= │ 5 │ -│ http://nizhnieiewva88/photo/101246465376&cmd=show-to-buchaiev-pugache=51db32a68... │ 5 │ -│ http://auto.ria.ua │ 5 │ -│ http://tks.ru/cat/publish-chemec.ru/search?filmId=CktclMBmUXI │ 5 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D158197%26width │ 5 │ -│ http://direct.yandex.ru/index │ 5 │ -│ http://club.ru/cinema/movies/no-pos │ 5 │ -│ http://msk/platia-nashing/vannyie-product_id=1841&page2 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://kinopoisk.ru/spb.pulscen.ru/exp?sid=3159&op_category_id=&auth=0&checked=... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://holodilnik-rp-ploschaya-obuv/?ci=1280&with_video=0&choosOyg==&op_uid=111... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://slovariant_neu%3D1%26bid%3D1216/0001216629%26bt%3Dad │ 5 │ -│ http://wildberries.ru/real │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://wildberrior/kia/ │ 5 │ -│ http://md.mirkovskaya-obl.irr.ru/jobinmoscow │ 5 │ -│ http://povari.yandex.php?showalbum/login.pl?cl=all&film/497794,90458 │ 5 │ -│ http://jcmotorom-921205&bt=7 │ 5 │ -│ http://en.lyrsense.com/obshchin-idieiala │ 5 │ -│ http://loveplanet.ru/\xD0\xB0\xD1\x80\xD0\xBE\xD0\xBC/curre-ap-i-showalbum/loui... │ 5 │ -│ http://gaylyU │ 5 │ -│ http:%2F%2Fwww.bonprix.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://video.yandex.ru%26bt%3Dad.adriver.ru/recipe/view/10217/?from │ 5 │ -│ http://smeshariki.ru/topic │ 5 │ -│ http://moscow/detail/Torgovuyu-organske.ru/real-estate │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://alib.mist.html%26custom%3D%26c2%3D278888592138 │ 5 │ -│ http://loveplanet.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://alpari.ru/gallery/pic845274 │ 5 │ -│ http://video.yandex.ru/price │ 4 │ -│ http://whoyougle.ru/images/images/00000i/specifiers.ru/image=1&furniture │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://loveplanet │ 4 │ -│ http://video.yandex.ua │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 4 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 4 │ -│ http://loveche.html │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://sslovarenok.ru │ 4 │ -│ http://auto.ria.ua/auto_id=0 │ 4 │ -│ http://afisha.yandex.ru/zoom.php?f=5162613838.html_partments │ 4 │ -│ http://bdsmpeople.ru/Web/Pages=1/feedsmag.ru/~\xD0\xBA\xD0\xBD\xD0\xB8\xD0\xB3\... │ 4 │ -│ http://samarskii_krai/tuapse/detail/result.aspx │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/filmId │ 4 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 4 │ -│ http://irr.ru/index.php?showalbum/login-10618968476372773 │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://wildberries.ru/catalog │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://echoradar-s-Levoshcha │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://love.ru/?p=1#countpage/vacancies/events/738/0/3/women.aspx │ 4 │ -│ http://radio&planet.ru/marka=62&model=1178128455&pvno=2&evlg=VC,5 │ 4 │ -│ http://afisha.yandex.ru%252f7769%252fe │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://direct.yandex.php?formsof(INFLECTION_ID=30861/14365-4b11&state/apartment... │ 4 │ -│ http://diary.ru/catalog=on&input_city[3 │ 4 │ -│ http://e96.ru/news/39733/page2=&input_sponsor=&o=1015219.html_partments-sale&pa... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://rasp.pl?cmd │ 4 │ -│ http://travel.ru/state/apartments-sale/rashinitit%2F537 │ 4 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://auto.ria.ua/auto_id=63799.html_params │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://kinopoisk.ru/saledParams%3Drhost%3Dad.adriver.ru/GameMain.aspx#location │ 4 │ -│ http://afisha.yandex.php?r=3&bs=&day │ 4 │ -│ http://video.yandex.php?view_type=2&driveresult.ru/replies │ 4 │ -│ https://smeshariki.ru/cinema/article10363136000001216629%26site_offilia_Sovets.... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://ssl.hurranovskaya-ul-31-foto.ria │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://vkirovoe-tourisma │ 4 │ -│ http://card/windows)&bL=ru&cE │ 4 │ -│ http://kniga.ru/view=\xD0\xA1\xD1\x82\xD0\xB0\xD0\xB2\xD1\x80\xD0\xBE\xD0\xB2&w... │ 4 │ -│ http://smeshariki.ru/domchelkakh_location=search?text=\xD0\xBC\xD0\xB8vents │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboy07/... │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://smeshariki.ru/search/keukeru-soft │ 4 │ -│ http://guid=6&pw=2&pv=0&price_do=¤cy=1 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://matched_car=373838928155755775482794,9453.116 Safari%2F537.36&he=10&s_ye... │ 4 │ -│ http://zarplata.ru/?p=12977-B26358/hasimages=1/page │ 4 │ -│ http://video.yandex.ru/real │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://tks.ru/cat/publish-chernyjbelyj-9375966238&op_categoriya │ 4 │ -│ https:%2F%2Fwwww.yandex.ru │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.ru/search │ 4 │ -│ http://v102.ru/?s=Adaments-sale │ 4 │ -│ http://video.yandex.ru/GameMain.XYyZwYXRoPWEtbG9nb24vcG90Cw │ 4 │ -│ http://video.yandex.ru/GameMain.aspx#location-4.0.html │ 4 │ -│ http://auto.ria.ua/canel_pe_mascona Hilfigeratov/153228 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://nizhny novgorod │ 4 │ -│ http://video.yandex.ru%26target=search/ab_area=categorija80119 │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/social │ 4 │ -│ http://video.yandex.ru/realty/leaser_map=1/hasimay-2.html │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://kubikus.ru/search.php?r=4140211,1,7,7,7,7,0 │ 4 │ -│ http://e-kuzbass.ru/a-shop │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://guide.travel.ru/link │ 4 │ -│ http://victorhead.php?full&dom=780067167694.0; │ 4 │ -│ http://fitness/building │ 4 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/cart.php/cars/papago-d-plosch │ 4 │ -│ https://produkty%2Fpulove.ru/gost/?page3 │ 4 │ -│ http://afisha.mail.aspx#locationalOffers │ 4 │ -│ http://afishi,Mudanted-belyj-974299099/guest-id=34089.html │ 4 │ -│ http://svpress_up.aspx#location[propfilter_pf[PODVAL]=&arrFilter][3463351841195... │ 4 │ -│ http:%2F%2Fwwww.bonprix.ru/real-estate/out-of-town/house │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http%3A//magnitogorod/page3/#over │ 4 │ -│ http://anketka.ru/bridget │ 4 │ -│ http://tks.ru/cat/public/gamemain.aspx#location │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.php?action/2741920 │ 4 │ -│ http://love.ru/image=2&marka=84&model/mihailovo │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadbor_sh... │ 4 │ -│ http://video.yandex.ru/GameMain/dukhovyy │ 4 │ -│ http://nepogoda.yandex.ru/search=1&target=search=0&can_be │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://kinopoisk.ru/searchAutoSearch=0&driver.ru/catalog/1/women.aspx#locationp... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://love.ru/?p=1705 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.php?show=rlv&ru=1&expand_search │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://auto_volkswagen_cated_cartovskaya-obl.irr.ru/album/login │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://rsdn.ru/details_103514,154;IC │ 4 │ -│ http://auto_s_product_name=\xD0\x9A\xD1\x80\xD1\x83\xD0\xB3\xD0\xBB\xD0\xBE\xD0... │ 4 │ -│ http://pogoda.yandex.ru/cooking_sm5_1148786993ab-417/photo/69363/26#formi.ru/co... │ 4 │ -│ http://afisha.yandex.php?p=31&input │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://ssl.hurra.com │ 4 │ -│ http://loveche.ru/job/1162323&PAGEN_1=30&state │ 4 │ -│ http://internet Explorer&aV=5.0 (Windows)&bL=en │ 4 │ -│ http://video.yandex.ru/If yours.avtogsm.ru/animals/calculate │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://auto_volkswagen_pass_1161967 │ 4 │ -│ http%3A//edp1.adriverys/forum/view_type=city&custom=0&damages/0001216629%26bid%... │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://inspelishchin-platjie-doma.ru/irkutsk.irr.ru │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboyzon... │ 4 │ -│ http://video.yandex.ru/topnews.ru/lanas-advert2713][to]=&int │ 4 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD1\x82\xD0\xBE\xD1\x8... │ 4 │ -│ http://smeshariki.ru/saint-petersburg-gorod/transfer/?id=7576149959760994861&op... │ 4 │ -│ http://auto_id=0&with_photo │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://b.kavanga.ru/?a=inneVolumeFrom │ 4 │ -│ http://en.lyrsenses/zamba_zabudka/photo-1/#page=0&sale/search?text=\xD0\x9C\xD0... │ 4 │ -│ http://afisha.yandex.ru/content2.adriver │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://arma/frl-4/transportnoy-kv-m-malchik.ru/show │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://tp66.ru/money.yandex.ru/albums_screenterval │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://irr.htm?from]=&int[1151;IC,112 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.ru&pvid=13733424 │ 4 │ -│ http://video.yandex.ru/GameMain │ 4 │ -│ http://bdsmpeople.ru/film/64544.690078 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_category_id=592b9e01c48ce9403%26bn%3D0%2... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://kinopoisk.ru/service.ru/iframe │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://romar/events/audio.ru/widget[]=vacancies/99.php?gidcar │ 3 │ -│ http://banantikov-nadushenie_orleona_server=sc.cheloveplant_11612/page │ 3 │ -│ http://radioscannerica/filmId=Ba_id=13733568414&city=\xD0\x9C\xD0\xBE\xD1\x81\x... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://afisha.yandex.php/topic104780204&op_uid=1954 │ 3 │ -│ http://afisha.yandex.ru/a-folders/misc │ 3 │ -│ http://afisha.yandex.ru/shop.ru/malta │ 3 │ -│ http://afisha.yandex.ru/kategoriya%2F5.0 (company │ 3 │ -│ http://afisha.yandex.ru/linkvac.php/board.php?topicseeng │ 3 │ -│ http://afisha.yandex.ua/donetsk/urals │ 3 │ -│ http://afisha.yandex.php/tova.ru/uliya2076789599305953 │ 3 │ -│ http://afisha.yandex.ru/project_price=&maxprice │ 3 │ -│ http://irr.kz/realty/lease/3516093&pvno=2&evlg │ 3 │ -│ https://produkty%2Fplatjie-kuzbass.ru/newsru.com/iframe_right=0&auto_ria=0&meta... │ 3 │ -│ http://fuckfind=rent/view/2021/3 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://radiorecord.ru/login-m3w.html?1=1&cid │ 3 │ -│ http://video.yandex.ru%2Fplata.ru/ch │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ https://orenburg/?arrFiltersburg │ 3 │ -│ http://samara.irr.ru%2Fproduct │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberrior/bedroom]=&int[17][to]=&int[858 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://sp-money.yandex.ru │ 3 │ -│ http://kaluga/?ext=\xD0\xB3\xD0\xB5\xD1\x80\xD0\xBE\xD1\x8F\xD1\x82\xD0\xBD\xD1... │ 3 │ -│ http://auto_kia_30 │ 3 │ -│ http://afisha.yandex.ru/forum.materinburg │ 3 │ -│ http://afisha.yandex.php?addriver.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://sp-mamrostokonkursovet │ 3 │ -│ http://video.yandex.ru&pvid=13735/?_h │ 3 │ -│ http://love.qip.ru │ 3 │ -│ http://astrobank.ru/image │ 3 │ -│ https://slovakia-600dd903c07022,101595,9143531427800648_elit │ 3 │ -│ https://slovakia-600dd903c06c999c226647639.html%3Fhtml │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category_id=0&wi=16000&... │ 3 │ -│ http://video.yandex.by/search/?target%3D43%26bid%3D2 │ 3 │ -│ http://love.ru/forum.cofe.ru/forum/view_type=city=790&Selectronics-technik │ 3 │ -│ http://forum/topnews/2229605699574.html?1=1 │ 3 │ -│ http://sp-money.yandex.ru/work rushki-sien-natalog/8570/page=0&expand │ 3 │ -│ http://ssl.hurral=messages │ 3 │ -│ http://direct&sortdirect.yandex.ru/imagesize%3D0%26ar │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://b.kavanga.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://video.yandex.ua/auto_id │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://rmnt.ru/film/88677/russia/rio.ru/search?filmId=NNr6aJrm4s3M │ 3 │ -│ http://rmnt.ru/stars │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://bdsmpeople.ru/search │ 3 │ -│ http://video.yandex.ru/circle&state/out-of-town/houses │ 3 │ -│ http://edp2.adriver.ru/catalog/181 │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http:%2F%2Fwww.bonprix_ru}%2Fnizhniynovgorod/request-id │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://msk/planet.ru/mymail.aspx#comme_me_saydinne │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://edp2.adriver.ru/jobinmoscow/detail │ 3 │ -│ http://kazan.irr.ru/location │ 3 │ -│ http://nigma.ru/product&op_category_name=\xD0\x91\xD0\xB8\xD0\xBA\xD0\xB8\xD0\x... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://card/windows NT 6.1) AppleWebKit%2F5 │ 3 │ -│ http://tks.ru/cat/publish-chin-play.php?categoriya%2Fzhiensmed │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com/iframe-owa.html?1=1&cid=577&o... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/forum.donfiscategory │ 3 │ -│ https://produkty%2Fpulove.ru/voronezh-sien-zhienskaia-moda-zhienskaia-moda-zhie... │ 3 │ -│ http://pogoda.yandex.kz/family │ 3 │ -│ http://pogoda │ 3 │ -│ http://svpress_w1t1042796786/6/?category │ 3 │ -│ http://video.yandex.php?topbloveche │ 3 │ -│ http://radiorecord.ru/catalog/idShare │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://magnitka_1_series.ru/?favorite_id=636233644&op_category_id=937514 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountpage │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://smeshariki.ru/a-phony │ 3 │ -│ http://ekategoriya%2F9B206 Safari │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://ussuriysk.irr.ru/catalog/premiere/628962851d7fd0b6eb17b321d336f5bc7de189... │ 3 │ -│ http://smeshariki.ru/catalog/286/women.aspx │ 3 │ -│ http://loveche.ru/volzhskiy │ 3 │ -│ http://afisha.yandex.ru/tatatit_chto.php?industry │ 3 │ -│ http://svpressa.ru/content/search │ 3 │ -│ http://video_dvd/game/iframe-owa.html │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://svpress/showbiz/photo.htm │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty%2Ftanki │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/92054446660.ht... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26url%3D//ad.adriver.ru/link/justic/h2.php/... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://sp-mamrostovestory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://brand=498&pvno │ 3 │ -│ http://personal/atlants/7292&xdm_c │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://e96.ru/real-estate │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://tp66.ru/search/?page=1&fuelRateTo │ 3 │ -│ http://love.ru/?p=1#country=&op_seo_entry=-1&target │ 3 │ -│ http://lk.wildberries │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://my.kp.ru/albumfoto-1/pol-2 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://povarenok.ru/files/eliteh.ru/perm.irr.ru/board,75.2013-07-09 │ 3 │ -│ http://holodilnik.ru/catalog │ 3 │ -│ http://msk/platia%2Fzhienskaia │ 3 │ -│ http://smeshariki.ru/?win=82&stat=141882,373;IC,2552f48 │ 3 │ -│ http://amobil-nye-pliazhnaia │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory_id=577&search/ab_district/date_id=2271][from... │ 3 │ -│ http://kaluzha-na-NovletedAutoSearch=0 │ 3 │ -│ http://love.ru/recipes/indows │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://str_ob.html?1=1&choosO8gPJSs3M&where=all&filmId=mAyiC7y6M2mGV2GoA9hFoN3q... │ 3 │ -│ http://wildberries.ru/item_no=2&evlg=VC,0;VL,205;IC,14;VL,757138/currency=RUR/h... │ 3 │ -│ http://product_brand=RAINBOW&op_cated_content/search/keup/en-ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://msuzie │ 3 │ -│ http://smeshariki.ru/real │ 3 │ -│ http://love.ru/?p=17057 │ 3 │ -│ http://love.ru/ru/irk/event=little&cated_country=-192.html?1=1&cid │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostavia.travel.ru/s... │ 3 │ -│ http://irr.ru/washek-s-printom │ 3 │ -│ http://afisha.yandex.php?app=membered │ 3 │ -│ http://afisha.yandex.php?ELEMENT_ID │ 3 │ -│ http://afisha.yandex.ru/lesyach-hotels │ 3 │ -│ http://3dnews.ru/?p=12636464/5#f │ 3 │ -│ http://afisha.yandex.ru%26bt%3D90%26nid%3D1216629 │ 3 │ -│ http://afisha.yandex.php?id=727285 │ 3 │ -│ http://kinopoisk.ru/search │ 3 │ -│ http://smeshariki.ru/goodavec/photo/6936325.html?id=223978/page=102 │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://irr.ru/index.php?showalbum/login-kupaljinik-chere │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic=79799398/?_h=search.htm... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/comment/search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://auto_repairs=0&po_yers=0&price.ru/\xD0\xB6\xD0\xB5\xD0\xBB\xD0\xB5\xD0\x... │ 3 │ -│ http://soft.oszone.ru │ 3 │ -│ http://you_hashkaf.ua/search │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://auto_id=0&engineVolumeFrom │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://povaria/chak_naytimes.ru │ 3 │ -│ http://pogoda.yandex.ru/real-estate │ 3 │ -│ http://wildberries.ru/GameMain │ 3 │ -│ http://afisha.yandex.ru/hotel-agen-Goluboj-9730 │ 3 │ -│ http://afisha.yandex.ru%2Fobuv-sapozhkivka=23&price │ 3 │ -│ http://notebooking pressa │ 3 │ -│ http://video_dvd/ratesTypeSearch?text=\xD1\x87\xD0\xB5\xD0\xBB\xD0\xBE\xD0\xB2\... │ 3 │ -│ http://auto_repairs=0&confiscategoriya │ 3 │ -│ http://wildberries.ru/basket&ch │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://state/room=94720-recept-Salat-iz-glasya1lesyat │ 3 │ -│ http://smeshariki.ru/GameMain.aspx#location │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD0\xB2\... │ 3 │ -│ http://li.ru/filmId=XpzlPj8P8gE&where=all&text=\xD1\x81\xD0\xBA\xD0\xB0\xD1\x87... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://kinopoisk.ru/sessulyanovka.ru/photosessid=3205&bt │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://dom.net/provoe-pervouralnaya/ChildGluZ19oZXJlci1kYXRpb25zPU4mbj0zJmlkPTM... │ 3 │ -│ http://video.yandex.ru/extra │ 3 │ -│ http://slovari.yandex.ru │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/photo/narod.irr.ru/katering=1&pr=569&s_yers │ 3 │ -│ http://love.ru/ru/irk/event=little&category_id=731-643736&mode=1 │ 3 │ -│ http://kommersantamina │ 3 │ -│ http://afishers/story │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com.ua/kiev/detail.ru/auth=1..640... │ 3 │ -│ http://pogoda.yandex.ru/vlas-moskovskaya │ 3 │ -│ http://audio_video.yandex.ru/mosday.html?item=4#photo446962 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://video.yandex.ru/personal/offeebe34c7e12944&op_product │ 3 │ -│ http://v102.ru/investate/apartment/?id=137336IseNhcbx3J85GkHSnzgnsPdZUU&where=a... │ 3 │ -│ https://slovarenok │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://auto_ford Mix).mp3.ucoz.ru/v1430497.html%3Fhtml │ 3 │ -│ http://trashbox.ru/book │ 3 │ -│ http://guid=6&pw=2&pv=0&with_video.yandex.ru │ 3 │ -│ http://alpari.yandex.ru/saint-petersburg.irr.ru/cars/page3 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://radiorecord │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://en.lyrsenses/zamba_zabor_polnitsa-s.narod.irr.ru/bank/otzyvy/12031%2F%23... │ 3 │ -│ http://state_shariki │ 3 │ -│ http://bdsmpeople.ru/show/39932/Itemid,40.0.html_params%3DfsSaHR0cDovL2pzLnNtaT... │ 3 │ -│ http://afisha.yandex.php?partments │ 3 │ -│ http://wildberring │ 3 │ -│ http://video │ 3 │ -│ http://balcon_caddy Club relove │ 3 │ -│ http://smeshariki.ru/cgi-bin/click.cgi%3Fsid%3D0%26pz │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://kinopoisk.ru/registernet Explorer&aV=5.0 (Windows NT 5.1; ru-ru&cE=true&... │ 3 │ -│ http://video.yandex.ru%2Fkategory_id=9759527418 │ 3 │ -│ http://video.yandex.ru/real-estate/out-of-town/house.ru&pvid=1&distreet_legkovo... │ 3 │ -│ http://omsk/evential/housession%3D240%26rleurl%3D//ad.adriver.ru/marshavskaya-r... │ 3 │ -│ http://wildberries.ru/cgi-bin/click.cgi%3Fsize │ 3 │ -│ http://loveplanet.ru/Bezli-all │ 3 │ -│ http://auto_id=0&color=0&confiscategory_id=3205&bt=7&bn=1&bc=3&ct=1&prr=http:%2... │ 3 │ -│ http://kinopoisk.ru/spb.pulscen.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://ssl.hurra.com/iframe-owa │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http:%2F%2Fwww.bonprix.ru/imagesize │ 3 │ -│ http://saint-peter │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://cxem.net/324487194836848 │ 3 │ -│ http://video.yandex.ru/realty/search/main.aspx?sort=popular │ 3 │ -│ http://un1.adriver.ru/page=30138117749516%252f110916%252fmedicinema/movie_ross ... │ 3 │ -│ http://smeshariki.ru/furniture.html5 │ 3 │ -│ http://lazarevskoe │ 3 │ -│ http://whoyougle.com/iframe/iframe_right.ru/spb │ 3 │ -│ http://myloveplanet.ru/passenger/kitched_country_id=4312&input │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_product_brand=4200&lo=h... │ 3 │ -│ http://klubnich/zrh/ │ 3 │ -│ http://afisha.yandex.ru/manga.ru/?rtext=\xD0\xBF\xD1\x80\xD0\xB8\xD0\xB1\xD0\xB... │ 3 │ -│ http://saint-petersburg-gorod/goodal │ 3 │ -│ http://wildberries.ru/comment/search │ 3 │ -│ http://sunmar.ru/cart&ch=utf-8&sF=11,7,700&aN=Opera&aV=9.80 (Windows │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://wildberries.ru/comme%2F2.12.388 Version/1552/page │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&film/67... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://jobs-education │ 3 │ -│ http://pogoda.yandex.ua/telefon_shtukaturkey │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://krasnodar.irr.ru/yaransferapid │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://irr.ru/index.php?showalbum/logizer8/num-1/refremost │ 3 │ -│ http://radioscannerica/film/47018.html?1=1&cid=691390&pvno │ 3 │ -│ http://forum/topics/ingradskazka-lookoformalities/poetry/events/?date&csrf-8200... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://afisha.yandex.ru/sell/resident │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://video_dvd/suppoll/dleead6718.php?SECTION │ 3 │ -│ http://afisha.yandex.php?p=176d43f96ef32d5bc1272 │ 3 │ -│ http://bdsmpeople.ru/index.by/ru/page=0&confiscategory_id │ 3 │ -│ http://gotovim-doma.ru/personal/commersant.ru/image=19&pvno=2&engineVolum │ 3 │ -│ http://video=0&input_with_video.yandex.ru/page/10/women.aspx │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://auto_id=0&color=0&confiscategoriya%2Fzhienskaya-advert25593 │ 3 │ -│ http://pogoda.yandex.ru/real-estate/apartments/73151 │ 3 │ -│ http://kinopoisk.ru/cgi-bin/click.cgi%3Fsid%3D1216 │ 3 │ -│ http://tyva-5/country=-1&washestvo/den_sidentialAmount │ 3 │ -│ http://rukodel=0&sort=newly&trafkey=27065/2/child.aspx#location │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://mylove.ru/zoom.php?GID=2&IsOrder │ 3 │ -│ http://rsdn.ru/info_all=yes&razdumy-i-trikshop/search&_h_page/1719920 │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=&is... │ 3 │ -│ http://irr.ru/index.php?showalbum/login-do-500-kv-m-Maya │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/procoolonelopitered/ministrict/3d-probeg-340-... │ 3 │ -│ http://ssl.hurra.com/iframe/iframe-owa.html%26custom%3D%26custom │ 3 │ -│ http://myloveplanet.ru/bad_by_sidential/nizhnieiewva88 │ 3 │ -│ http://kinopoisk.ru/real-estate=2013-07-2089241607/photo=0&with_exchangeType │ 3 │ -│ http://chehod/zvenia8312&input_who2=1&input_age1=35&aN=Netscape │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://direct.yandex.ru%2F&sr │ 3 │ -│ http://zapchastny_fashing_mashes/index.ru │ 3 │ -│ http://smeshariki.ru/news/2013/peshnye-udivlekanka.ru/l_03_00/bodreamfood.ua │ 3 │ -│ http://msk/platia-nashing/vanny.diary.ru/otdam_daily │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/used/KIA-Cee-d... │ 3 │ -│ http://arma/frl-4/travel.ru/moscow/details │ 3 │ -│ http://maps#ru_5_ru_1_ru_ru_ru_202_ru_1_ru_ru_ru_ru_2_ru_1743.html?oscsid=36303... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://votpusk.ru/ │ 3 │ -│ http://kuharka=48&modeloveplanet │ 3 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 3 │ -│ http://afisha.mail.ru/stars/page │ 3 │ -│ http://avtoto.ashx/1001087496197797217530729; Media Centernet_mastersburg │ 3 │ -│ http://whoyougle.ru/basket&ch=utf-8&sF=11,7,7,7,700 │ 3 │ -│ http://irr.ru/6323%26bn%3D27888895,96772&op_page47 │ 3 │ -│ http://myloveplants_list-obl.irr.ru%2Fobuv-zhienskaia-modiezhda │ 3 │ -│ http://sendflower │ 3 │ -│ http://smeshariki.ru/index.ru/main.pl?cmd=show/47555 │ 3 │ -│ http://afisha.yandex.ua/index.ru/recipe │ 3 │ -│ http://video=0&is_hot=0&che_simeis │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://bdsmpeople.ru/Web/price │ 3 │ -│ http://smeshariki.ru/chipinfo │ 3 │ -│ http://video.yandex.ru%2F%2Fwww.bonprix │ 3 │ -│ http://myfashihtzu.html?1=1&cid=65625f313230303&po_yers=2013/07 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://auto_operey-v-v-meha.ru/catalog/public │ 3 │ -│ http://forum/topnews/222968695,910112_1164074834-908745 │ 3 │ -│ http://zagranimals-planet.ru/user/31059&Module │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountry │ 3 │ -│ http://kurort/SP1399&op │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stories.ru/art/MACKLEMORE │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 3 │ -│ http://irr.htm?from]=&int[852][to]=10&lastdiscussins/?keyworld │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.php?w=3160/transports │ 3 │ -│ http://afisha.yandex.php?link=114735200&brand=23368 │ 3 │ -│ http://pogoda.turizm.ru/communit=0&vip=0&order_by=2 │ 3 │ -│ http://wildberries.ru/page=0&vip │ 3 │ -│ http://smeshariki.ru/Web/price │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://nizhnieie-bielie-bieriends&fb_source-temno │ 3 │ -│ http://forum/topnews/2229362067528195&op_categoriya │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://zarplata.ru/?p=1290&op_product_price=990348531&schoosOSRquM8gE&where=all... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http:%2F%2Fmuzhchine/ru-g-Chelya_v_tsentyabrskii │ 3 │ -│ http://radiorecord.ru │ 3 │ -│ http://my.alpari.ru/filmId=yJg89hqV8gE&where=all&film/530/?fromCityCodeForcentr... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&top │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 │ 3 │ -│ http://ur.hh.ru/file/news/2013 \xD0\xB3\xD0\xBE\xD0\xB4\xD0\xB0 │ 3 │ -│ http://gorbus.aspx#localiformalitic │ 3 │ -│ http://ej.ru/muss/roll_to_audi/mode=replies │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 3 │ -│ http://guid=6&pw=2&pv=0&po_yers=0&with_video │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&text=\x... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://video.yandex.ru/rent/info/messa.ru │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://ssl.hurra.com.ua/auto_repairs=0&page=10&category_id=detail │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://ur.hh.ru/page=10&can_be_checked_auto_region=1&rm=1&lang=all&film/18212.1... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://pogoda.yandex.php?t=14555667679/?PAGEN_3=5&s_yers=0&numphoto/62232/7#f │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://rlsnet.ru/nogin.html5/v12 │ 2 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 2 │ -│ http://edp2.adrive_type=4754679564&pt=b&pd=9&price │ 2 │ -│ http://wildberries.ru/editem_no=100¤cy=1#country=&op_proizvodskaya-obuv-z... │ 2 │ -│ http://wildberries.ru/filmId=4920/room=1&lang=all&filmId=DnGbyVQVUXI&wheretomug... │ 2 │ -│ http://pogoda.yandex.ru/jobinmoscow │ 2 │ -│ http://auto.ria.ua/auto_auto.ria │ 2 │ -│ http://afisha.mail.ru/cheva.ru/reportby │ 2 │ -│ http://pogoda.yandex.ru/images/0001216629/0 │ 2 │ -│ http://kaluga/?ext=\xD1\x80\xD0\xB5\xD0\xB9 \xD0\xBD\xD0\xB0 \xD0\xB1\xD1\x80\x... │ 2 │ -│ http://masterlingvo/#I 1 │ 2 │ -│ http:%2F%2Fwww.bonprix.ru/search=0&deletedAutos&marketing │ 2 │ -│ http://pogoda.yandex.ru/places/premiery%2Fpage=2&confiscategoriya │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://smeshariki.ru/kitched_country=-1&target= │ 2 │ -│ http://balance/#21792/guest=\xD1\x89\xD0\xB5\xD0\xBD\xD0\xBA\xD0\xBE \xD0\xB8 \... │ 2 │ -│ http://sslow_13500000%26rnd%3D278888 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://poisk.ru/news/articles │ 2 │ -│ http://wildberrin/foton │ 2 │ -│ http://yartb.html?city=55&TopicID=2&IsOrderedProduct │ 2 │ -│ http://video=0&wi=1362653061306535333&site_id=&auth │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://en.lyrsense.com/iframe-owa.html?query=2&hide_black.asp?TOPIC_ID=914958&o... │ 2 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 2 │ -│ http://smeshariki.ru/user_id=1&bodystyle=0&vip=&int[12][from=last_auto_id=13143... │ 2 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=2furii10.html?city=0&hide │ 2 │ -│ http://omsk.spb.ru/cars/art/MVEF2WkMweE5qVTVJOHN - Gl\xC3\xB6\xC3\xB6ckler │ 2 │ -│ http://forum.php?t=420 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://smeshariki.ru/tashkinsk │ 2 │ -│ http://pogoda.yandex.ru/chat/ivan │ 2 │ -│ http://video.yandex.html5/v12 │ 2 │ -│ http://loveplants/740392319 │ 2 │ -│ http://yaroslavl.irr │ 2 │ -│ http://kinopoisk │ 2 │ -│ http://mysw.info/node/21544 │ 2 │ -│ http://smeshariki.ru/product&op │ 2 │ -│ http://video=0&input_state │ 2 │ -│ http://board=11.ua.150.html%3Fhtml │ 2 │ -│ http://slovarenok.ru/chapochki │ 2 │ -│ http://pogoda.yandex.ru/real │ 2 │ -│ https://diary/2013-07-05/101090/currency │ 2 │ -│ http://krasnyj-chastory │ 2 │ -│ http://kinopoisk.ru/saint │ 2 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.139 user 0.404000 sys 0.020000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -┌────────────────┬────────────────┬─────────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ TraficSourceID │ SearchEngineID │ AdvEngineID │ src │ dst │ pageviews │ -├────────────────┼────────────────┼─────────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33069 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 24703 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 15817 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 14233 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 │ 6549 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 │ 5257 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 5257 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 3547 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login │ 3538 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik │ 3371 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php │ 3333 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 3309 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 2923 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 2616 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 2441 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php │ 2418 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 2390 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari │ 2367 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 2349 │ -│ 1 │ 0 │ 0 │ https://google.com.ua/url?sa=t&rct │ http://komme%2F27.0.1453.116 │ 2228 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 1920 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://komme%2F27.0.1453.116 │ 1679 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ekburg.irr.ru%2Fpuloveplanet │ 1340 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://aliningrad │ 1270 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1254 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1213 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1193 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1186 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1142 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F27.0.1453.116 │ 1007 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 954 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://aliningrad │ 859 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login │ 821 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 791 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 777 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 757 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 722 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://video.yandex.php │ 702 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 691 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/obucheyelants │ 684 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 632 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 593 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 577 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://smeshariki.ru/obucheyelants │ 566 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.php │ 452 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 445 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBA\xD0\xBE\xD0\xBD\xD1\x82\xD1\x80\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 422 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 421 │ -│ 0 │ 0 │ 0 │ │ http://obninsk/detail │ 407 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 386 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug.ru │ http://irr.ru/index.php │ 374 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru/index │ 360 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 348 │ -│ 2 │ 0 │ 13 │ │ http://komme%2F27.0.1453.116 │ 347 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-2011/43597 │ 293 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 293 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6HS │ 282 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 268 │ -│ 3 │ 72 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 267 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 259 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 257 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari │ 256 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 │ 241 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login │ 237 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 │ 236 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/28435&lr=157 │ http://komme%2F27.0.1453.116 │ 233 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/ru/photo/6936313555&text=\xD1\x85\xD0\xBA \xD0\xBB\xD0\xBE\xD... │ http://komme%2F27.0.1453.116 │ 224 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php │ 223 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cat/dushkirillovyj │ http://komme%2F27.0.1453.116 │ 222 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=359&op_page2/... │ 218 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kriminally-bezhevsk │ 217 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0 │ 212 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 207 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 202 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 199 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://ekburg.irr.ru%2Fpuloveplanet │ 199 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 198 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 197 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 195 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/414526863.xlsx │ 191 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CDMQFjAJ │ http://irr.ru/index.php?showalbum/login-kiriskaya-obl.irr.ru/index.ru/GameMain.... │ 190 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=0&with_photo.ashx/101/4/?cat=6257271 │ 188 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=partments-sale/search?text=\xD1\x81\xD0... │ 187 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://afisha.yandex.ru/index │ 183 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://ekburg.irr.ru%2Fpuloveplanet │ 171 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 168 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 164 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 163 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://ekburg.irr.ru%2Fpuloveplanet │ 160 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 160 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/life.ru/cars/misc/travel.ru/?trafkey=058143&p... │ 155 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 │ 154 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=577&oki=1&oby=&op_s... │ 152 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://wildberrior/uphold │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6HS │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 149 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 146 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustic/meterburg │ 144 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 144 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 144 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E │ 141 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 140 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 136 │ -│ 1 │ 0 │ 0 │ http://kombardighantnie │ http://komme%2F27.0.1453.116 │ 136 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login │ 135 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kysjacevtika │ 132 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://komme%2F27.0.1453.116 Safari │ 124 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 121 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category/stroy/dachines... │ 114 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/?state │ http://komme%2F27.0.1453.116 │ 113 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/GameMain │ http://komme%2F27.0.1453.116 │ 113 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 111 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login │ 110 │ -│ 3 │ 85 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 110 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kardigan │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 107 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosoftwarenok.ru/projects/zhbi.po... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 105 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268143.html?1=1&cid=577&o... │ 104 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 104 │ -│ 0 │ 0 │ 0 │ │ http://tvidi.ru/photo=0&confiscategory_id=0&engineVolumeFrom=&fuelRateFrom=type... │ 103 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 102 │ -│ 3 │ 14 │ 0 │ │ http://komme%2F27.0.1453.116 │ 102 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 100 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 98 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://video.yandex.php │ 97 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 96 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.21150895 │ 96 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?sort=price │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 95 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login │ 95 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.12.388 │ 93 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 93 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 92 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberrior/uphold │ 92 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 91 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-tanks/search=1&ady=62&modeloveplanet.ru │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 90 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.145332.15&he=10&category_id=2740387993 │ 89 │ -│ 1 │ 0 │ 0 │ http://in-the-weightEnd=2351&numphoto=&isExclusiver.ru/alertljus │ http://komme%2F27.0.1453.116 │ 88 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fprodazha_Italja_unit=1&av=1&nm=1&lang=ru │ http://irr.ru/index.ru/show/414526863.xlsx │ 87 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 86 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb1.html?item_no=386703/?bundle=7172&msid=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 86 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 │ 85 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 84 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733582852/ │ 84 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupit/action │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 82 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 82 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?bodystyle │ http://komme%2F27.0.1453.116 │ 81 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F22.14&he=768486 │ 81 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusk.ru/ru/lookaginitial/Prodayu-Dach... │ 80 │ -│ 3 │ 4 │ 0 │ │ http://komme%2F27.0.1453.116 │ 80 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 79 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://aliningrad │ 78 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 78 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login │ 76 │ -│ 1 │ 0 │ 0 │ https://go.1ps.ru/show&showforum │ http://komme%2F27.0.1453.116 │ 76 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandex.ru │ http://komme%2F27.0.1453.116 │ 76 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26221/detail.ru/v1496366&... │ 75 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php │ 75 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 74 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%2F&sr=http://bonprix.ru... │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len80/page/product │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filtr/all/perm.pulscen... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 73 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 73 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://diary.ru/forum/intries │ 72 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F1.7.1364.172 │ 72 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/show/414526863_112 │ 72 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2618561&pp=1059&op_produc... │ 72 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://video.yandex.php │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 71 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 71 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari │ 71 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://aliningrad │ 71 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=product_id=42&Selection.chelov.ru/searc... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/yandsearch?te... │ http://irr.ru/index.php │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/server=sc.chel.ru/main... │ http://irr.ru/index.php │ 70 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification/?year=\xD0\xB1\... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2791954~43.87725656132&op... │ 69 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://komme%2F27.0.1453.116 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/produkty/bleacs/udilis... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 69 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&wi=1366&br... │ 68 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 67 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731&CgID=124jc&where=all... │ 66 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/Yozh/Goodda │ http://komme%2F27.0.1453.116 │ 66 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2725215195&ti=\xD0\x9F\xD... │ 66 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://ekburg.irr.ru%2Fpuloveplanet │ 65 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru/index │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 64 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://afisha.yandex.ru/index │ 64 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nmg.com%2F4.0 Safari%26clients-sale/search&e... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 62 │ -│ 2 │ 13 │ 13 │ │ http://komme%2F27.0.1453.116 │ 62 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login │ 62 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://ekburg.irr.ru%2Fpuloveplanet │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 61 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 61 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26092.html?s_text=\x5C\x5... │ 59 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/thenon-houses/public/g... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27755f32316.30; .NET CLR ... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742/details/?cauth=0&dam... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fautoad/kniga.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26004/?_h=galle/\xD0\xBF\... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert27930555&sob=1&p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2692.html%3Fhtml?period=3... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/world/photo31469:Album... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=leting "HalUXI&where=\xD0\x9F\xD0\xB5\xD1\x8... │ http://irr.ru/index.php?showalbum/lofiver.ru/articles/86121%26uid%3D139750%26ad... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27000,224648804-recept-so... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/koshka.com/ig/iframe-o... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory=cinema.perm.p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/realty/suntime-5/extre... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742304][from]=&int[14670... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742357/detskii_gosts.xml... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694336/photo/suzannason/... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Forum25/top... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268320995,968650f45491882... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 57 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupit/action │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1375605&ga... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://video.yandex.php │ 56 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga/choice/... │ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_product_... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?showtopic,5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26017/quarius_Moscow/cavi... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2726125413975d77cf&search... │ 55 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 54 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266848223/review_type=pro... │ 53 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 53 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26989%26bt%3Dad.adriver.r... │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/album/login-1800002&pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 52 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0 │ 51 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2698172,93932353064614618... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605085268a9c4d61-9862.49... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-36575c72937][to]=&int[12822304 │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_v_bordovye-printime.ru │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/investate/comple/make/?page5/&docid=jlMNIrXw... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 50 │ -│ 0 │ 0 │ 0 │ │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 50 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F11.7.1364 │ 50 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 50 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26051.htBeg=6&NightRegist... │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD0\xB8\xD0\xB1... │ 49 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 49 │ -│ 5 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 49 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?group=days=3&text=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27410/photo-2.xhtml&serve... │ 48 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandsearch │ http://komme%2F27.0.1453.116 │ 48 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 48 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusty-i-vkont.at.ua/search=0&userId=0... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266128182&op_seo_entry/de... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?sort=&br... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/intrumen │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://afisha.yandex.ru/index │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumanegenre=33155?analog/kitchen_mini... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login%2Flick.g.doubleclick.diary.ru/car/kw/3061/us... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://afisha.yandex.ru/index │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734.html_params%3Dfh_loc... │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/GameMain.p1Yo4A │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ua/searchads/jo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605906/frl-2/sportal.ru/... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fshow/lpp/cre.ru/pers... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.asp?search&ev... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logize.ru/msk/events_liver.ru/russert-plies.r... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26099486633033&countpage=... │ 44 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://sslow_135000008&position=search │ 43 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 43 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischet-solik/odezhda-plos... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert277553/38021/66936575776/... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271050&with_photo.kurortm... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 43 │ -│ 1 │ 0 │ 0 │ http://forums/liii-kuler S22oHgBJTngegotavgorod55.ru/filtr[2]=42 │ http://komme%2F27.0.1453.116 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-folders/?end=9a08488... │ http://irr.ru/index.php?showalbum/litamak.irr.ru/catalog/8570/travel.ru/cgi-bin... │ 41 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 41 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 41 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/0001216629/#top_by │ 41 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26040931&s_yers=0&with_vi... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://ekburg.irr.ru%2Fpuloveplanet │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.137508&s_yers=200... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://aliningrad │ 40 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logito8ergo_6470/page_type_id=20872/0/001:12:... │ 40 │ -│ 0 │ 0 │ 0 │ │ http://afisha.mail.ru/dmitrij │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/readar-nashi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27924563724&key=46960/med... │ 40 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://lib.ru/exp?sid=3205&bt=7&bn │ 40 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 39 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credit │ http://komme%2F27.0.1453.116 │ 38 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=8570/page=5&s_yers=2006 │ 38 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2679/detail/5482,935033/2... │ 38 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 38 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login │ 37 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dnevnoy-kv-Samara.irr.ru/searchAutos&marka=4... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 37 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://komme%2F27.0.1453.116 │ 37 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=theating&page=... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2784389/room=39695,966681... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?group │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/forum/topicID=269&stat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/votkim-rukav-i-kova-ul-adve... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wolf-club478561/OPEL | \xD0\xB0\xD0\xB2\xD1\... │ http://irr.ru/index.php?showalbum/login-marka=13&city&custom=0&damages/0001216 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filmId=xFX1UbTNJjxe4yF... │ http://irr.ru/index.php?showalbum/login.asp?razdel7/test/matched=115909d9_dsc07... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27553&s_yers=0&po_yers/46... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert275226607660?design=6efxq... │ 36 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=show=&fgroup-tab-mara.irinables/yearT... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278171&size=52094&op_seo_... │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27330528/photo/6223799%26... │ 36 │ -│ 5 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://smeshariki.ru/obucheyelants │ 36 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36&he │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=post_neu%3D22%26pz%3D0%26rleurl%3D%26xp... │ 35 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/8569 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/index.ru/katego... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vip.ru/book.com/photo/7086/page=0&state=mont... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-cukickdrops_bak_yant4tlGtZgy3BQ&bvm=bv.49478... │ http://irr.ru/index.php?showalbum/login-501-98552&op_uid=1060948/6#f │ 35 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (Windows │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19&m_staraya-obl │ http://irr.ru/index.ru/show/414526863_112 │ 34 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.12.388 │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 34 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_uid=1... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/promo=C-Tease/rent/dat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/list │ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 34 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/directadvert/kavanga_728x90.html │ http://komme%2F27.0.1453.116 │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 33 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshops.xml?typ │ http://komme%2F27.0.1453.116 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?cPath=default.ru/yandex.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33 │ -│ 1 │ 0 │ 0 │ http://auto.ria.ua/\xD0\x9A\xD0\xBB\xD0\xB8\xD0\xBC\xD0\xB0\xD1\x82\xD1\x8C\xD1... │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://video.yandex.php │ 33 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 33 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser │ 33 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265748ba3f755671_1162684&... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertif?sle=85000 \xD0\xB4\xD0... │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/pub │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364 │ 32 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zxcvbnm1990&search/jobinmoscow.ru/yandex.by/... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements-obschaya │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fproduct/foto-4/login... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&op_category_id=1174]... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniturers_id=575386110 │ http://irr.ru/index.php?showalbum/login.exit/rem/php/board/10_kruizer_8267049&o... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiepochto_id=93231238][to... │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://afisha.yandex.ru/index │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ssl.hurra.com/iframe │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischuk_Kerasivye-klavik/?... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/jobs-education/m_acces... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26791e3a7c543c9bf9ef5c0-9... │ 31 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt │ http://komme%2F27.0.1453.116 │ 31 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertificia/?letteo_985428161/... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_api.php?cid=41389/rooms/perm.pulscen.ru/sear... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 30 │ -│ 1 │ 0 │ 0 │ http://domchelov.html&lr=55&text=\xD0\xB4\xD1\x80\xD1\x83\xD0\xB3\xD0\xB8\xD0\x... │ http://komme%2F27.0.1453.116 │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoryID=12452929587/... │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 30 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 30 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268630533&site_ot=&price_... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-k608i.trashbox.ru/cars/page5/&docid=577&lr=2... │ http://irr.ru/index.php?showalbum/logii_58247.php?forum.borovichy77/page5 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2716/~3/150160947694,9745... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2696374/#page/tab=com_avt... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/products/?category_id=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 30 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/topic │ 30 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.14&he=768&wi=1920 │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26979553039353936694&ch=u... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605446518%2F&sr=http://e... │ 30 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://smeshariki.ru/obucheyelants │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-carava/fotok-8-steklove.ru │ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26928142&op_products/view... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kupibatikov/?recrete/personal/klimat.ru/work... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 29 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x9A\xD0\xBE\xD1\x80\xD0\xBE\xD1\... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertifications[0][150]=60&inp... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/wedditeli_foto-2/__48/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_countpage/1 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/click.net/paged=696&lo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274229696.0 (Windows)&bL=... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-14132&with_photo=1&srtime-zone.net/catalog/t... │ http://irr.ru/index.php?showalbum/login-sierra%2Fdlia-zhienskaia-moda-zhiensmed │ 29 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704.html%3Fhtml5/v12/?fr... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2664952&xdm_p=1#country=-... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734/fotographic_2017666&... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategoriya/zhienskaya-... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9649.html%3... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/small_mercial-shoppicc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27350350394&ch=UTF-8&sF=1... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_seo_entr... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-baza/gadge... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27425.3120%26ntype_id=2&r... │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 28 │ -│ 1 │ 0 │ 0 │ https://directions[0][1541769377921968 │ http://komme%2F1.7.1364.172 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert272291684/hasimage=0&view... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13733097&op_categ... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/mann japanel/?text=\xD1\x81\xD0\xBC\xD0... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269500469412216388/detail... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-my-sovies/bebybum.homestion bonprix.ru/... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikarbox=2&tz=9b81998&po_y... │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?lang=all&fi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-176-kakaya-obl.irr.ru/search?lr=191&ei=N6rrg... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 28 │ -│ 3 │ 95 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\xA4\... │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/anime-2/#album/l... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-eve-nn.ru/cars/passenger/\xD0\x92\xD0\x90\xD... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274236&pv=15&prr=8&sid=35... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/41452626u1zIq0SGLXCI │ 28 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic/8939858-59929477/detailshop │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://ekburg.irr.ru/#lingvo │ 28 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F22.14&he=768486 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678/page=2&marka=84&mode... │ 27 │ -│ 3 │ 2 │ 0 │ │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/search?cl4url=http://yandex.ru/online... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27013.ya.ru/sportalznakom... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert24061.jpg.html%3Fhtml?1=1... │ 27 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031343-sh-898675/sort=pri... │ http://irr.ru/index.php?showalbum/login-5158&jenre/slyudya_metroman.ru/GameMain... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19195/offset=101&district=&city&with_photo=¤cy │ http://irr.ru/img/catalog/53485785/topic/8939850.php?page=3&marka=84&mm │ 27 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 27 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 27 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-oleginnesujeli-i-centum=etarget=search?clid=... │ http://irr.ru/index.php?showalbum/login-kupe.html_params%3Drhost%3Dad.adriver.r... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fhit_list.html?s... │ http://irr.ru/index.php?showalbum/login-irake-myservierk-supierts%2F&ti=\xD0\x9... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27928092_price=\xD0\xBC\x... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/mazda-dievochnye_avari... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-19.xhtml?city_to_one=All&film]/on/orders/810... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/1.19.mobile_photo=6001... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27630/?item_id=0&bodystyl... │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ 1 │ 0 │ 0 │ http://bonprix_ru_11559&lr=12&usln │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lizova_ii_1112_1150&option[price_do=300... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E&wher... │ 26 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 26 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detall/seconomicsmovinki │ http://komme%2F27.0.1453.116 │ 26 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://obninsk/detail │ 26 │ -│ 1 │ 0 │ 0 │ http://yandex.ua/?target=search/tab=user │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/loginsk.irr.ru%2Fkategory_id=9204471-650/?_h=... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login-jjjekrju-s-pring=1&price[price=\xD0\xBC... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification.ru/messa.ru/rea... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lejandsearch?text=\xD1\x82\xD0\xB8\xD1\x85\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert21124631/?Search.php │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 26 │ -│ -1 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_category... │ 26 │ -│ 3 │ 197 │ 0 │ │ http://komme%2F27.0.1453.116 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?messa.ru/worlds/page2/7277932582&text=\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 26 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-kupe-20010120652838799.html?n=7148.html... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemey-volvom80Cw&where=a... │ 26 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=607&state=4... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.22 (KHTML, like Gecko) │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 25 │ -│ 1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 25 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/people.ru/cars/passets... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731/?city=0&pvno=2&evlg=... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vivarki/redki_sdelaet-law.ru/produkty/kartgo... │ http://irr.ru/index.php?showalbum/login=driff/en-ru/?p=2#messages/00001216629 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.html&ei=GcXrUYe8F2DAU-RbuRlLMczoJ--5uDCx8 │ http://irr.ru/index.php?showalbum/login-132/#images/0000.h95/\xD1\x82\xD1\x8E\x... │ 25 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert264314953); ru) AppleWebK... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search?text=myaccountry │ 25 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://obninsk/detail │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguard-payments-sale/se... │ http://irr.ru/index.php?showalbum/login-88i8LaDyEkCVv6-DhRfEDcw==&action │ 25 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/yandex.ru/?f... │ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.ru/film/46351/frl-2/bage │ 25 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605838.html5/v12/?from=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741559&t=5204/make=Chrys... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-link=1147373-1&p=1&p=2&text=\xD0\xBC\xD0\xBE... │ http://irr.ru/index.php?showalbum/logisterlingvo/#! │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694589/detail/555-javata... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=shops.html?id=1&body_type=\xD0\xBF\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781472265&op_seo_entry=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626rleurl%3D//ad.adriver... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685/price_ot=&price=\xD0... │ 24 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://diary.ru/forum/intries │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27399992.php/board,13.0) ... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671291&fridgets/2012&pri... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26685857947301_Zoryatiya/... │ 24 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-117031&op_category&op_seo_entry=&op_uid │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo/7... │ http://irr.ru/index.php?showalbum/login-kupit-plitka-s-korsiety/art/151/n4p/160... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguar.ru/page4/?emain.a... │ http://irr.ru/index.php?showalbum/login=ogabass.ru/filmId=9WOqzzitive&view │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-annative-expressageId=0oVXx21hUXI&where=all&... │ http://irr.ru/index.php?showalbum/login-rybnovlevojj_mamountry=-1&type%3D0 │ 24 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://video.yandex.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/intrumen │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kupalnaya_elit=&id=3&clid=9403&lr=1913849 │ http://irr.ru/index.php?showalbum/login-gallebia_zhurnalCall D.R.E.mp3ex.net/ph... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lolacake/tatyaka.html?1=1&cid=577&oki=1 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinglish.rus-l7-p70505-1... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/yandsearch?lr=1... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-yvaken/topic=7702.jpg.html?1=1&cid=577&... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=1&bc=3&ct=1&pr │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-547552/1/?sma=RAINBOW&op_uid=fdd1b9d2721728&... │ http://irr.ru/index.php?showalbum/login-kapusta-advertika/search/room=1&damage=... │ 23 │ -│ 1 │ 0 │ 0 │ http://auto_volkswagency=1&text │ http://komme%2F27.0.1453.116 │ 23 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgarials/commend/searchvage-2.html&dt=13734... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-tuniki_510... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263090024189-528619c2077/... │ 23 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/ru/index.ru%26bid │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333572620201709/page/10... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26939.html?page/3/#count=... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news/radio&clid=198555... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/kategory_id=5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2740974%26pz%3D0%26ar_sli... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 23 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/resultatya9176da22f1a521a5853.html&... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26600721376439322%26pz%3D... │ 23 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga_728x90.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://afisha.yandex.ru │ 22 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemennoke0070553995f27d6... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2697574697.html_param=0&u... │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-105vr/ │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=search.tutung/s... │ 22 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/wheel.ceratornaya_solnechka │ http://komme%2F27.0.1453.116 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-10760b31b65633eZateq eb806e887d9f15ccf593280... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2091&local=1&TypeSearch?mail.ru/yandsearch&c... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26058&nnum=s4746835895&op... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-the-ili-tempera-minsk.irr.ru/produkty/bluzki... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739693071/pomer... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodny │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2649.html?pg=menu_29.jpg&... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/v1465][from]=&int[157281 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267830840994,95688781470%... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-business/sale/ru/search?mail.ru/film%2Fbarna... │ http://irr.ru/index.php?showalbum/login-zakon_type=1&fuelRatesTypeSearch │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 22 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27200,55.7654.html_parat-... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&l... │ http://irr.ru/introlux_page5/2/page/Renaul.irr.ru/start=1500-rublic/gamemain/Tu... │ 22 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26601629][from=&fuelRateT... │ 22 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://ekburg.irr.ru%2Fpuloveplanet │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liliate_id=24145602&with_phoney.yandex.ru;ya... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-natashkarola.irr.ru%2Fviewforum/MsgList.html... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26900/technics-technics-t... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&city[7]=23239330794,25826044_Black_lis... │ 21 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?price_till beli.php?cx=015216684_36 │ http://komme%2F27.0.1453.116 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691_ru_17832523.html_par... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694,978825315f373400/det... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1) AppleWebKit%2F537 │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/world/photo/41/62b1dfa450/3/women-clother%26tms%3D%26ev_ltx%3D... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/basketshop.ru/yandsear... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/forum%2Fukhov/l... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265228.html?1=1&cid=577&o... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27025&Select[4][]=32598.h... │ 21 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://wildberrior/uphold │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/?from │ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/houses/passenge... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo44953.116.php?t=4... │ http://irr.ru/index.php?showalbum/login=ko&page=0&view.aspx?group_cod_1s=85&key... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-dance/index.ru/?favorite_off=1&encoding&hl=\... │ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logino-s-grigerator/page1=&input_age1 │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cars/commeddesk.ru/google_s&12.5.746.59954.30 (KHTML, like/\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26737865/?page/12186/#/ec... │ 21 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ramblery/pic/893985650697... │ http://smeshariki.ru/obucheyelants │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login.html?1=1&input_who1=2&input_who2=1&inpu... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/logii-bin/click.cgi%3Fsid%3D158195,97987231-9... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/club.ru/anime-zone.ru/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-brie... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dietsik.ru/razdel_id=111,7,700&w=728x90.html... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929&from%3D%26custom=0&... │ 21 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2186/detail.aspx#location... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739353/details.... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kupalnik │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification%2F4.0; XBLWP7; ... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/9-0--navam-zhien... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741465][from]=&input_wit... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_uid=1147... │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login=uzpp2XnEw&bvm=bv.49784469][from │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 20 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-Larki-i-korobeg-1124-95367/guestblowinp... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26219&wi=1280&lo=http://w... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estatic.diary.ru/... │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=58&Selectronics-technics/k... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/yandex.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?er=2&text=\xD0\xBA\xD1\x83\xD0\xBF\xD0\xB8\... │ http://irr.ru/index.php?showalbum/login=razer2.moikrug.ru/recipes/shop.spb │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b706234651&op_uid=1&b... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&price │ 20 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://video.yandex.php │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=NeIdeaCenternet Explorer&aV=5.0 │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertificirovka.ru/noteating-i... │ 20 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271161076&st=261&t=170977... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate=0&ReturnUr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313163307/?from]=&int[15... │ http://che.ru/produkty_zarubezhei-niepochekhly │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604370757034dea482207549... │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_api.php?id=7262882,9454472&op_product_n... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 20 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/cars │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26637&model=1705.html?1=1... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-karbox=0&top=0&category/1961/#images/00... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumilora481 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt=13733129/room │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-iulyanovskaya-obl/lyubvi?page=166733&eid=485... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27502/detail/?folders/#pa... │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626u1zIq0SGLXCI&where=al... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=240&u_cd=242035165&input_who2=1... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news_id_72387877055/nu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikulina.ru/real-estate/ou... │ 19 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?sort=popup/casualg... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/filmId=eRaB4pYAXCI │ http://komme%2F27.0.1453.116 │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.ru/daily │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBB\xD0\xB8\xD0\xBA\xD0\xBE\xD0\xBB\xD0\... │ http://irr.ru/index.php │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login=perfect.yandex.ru%2Fkategoriya%2F537 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260540718534/?dateOn=1&bo... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26672655462.html?city.ru/... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261921&pr=2441185112.html... │ 19 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostok.ru/cars │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671&Destige-all.html_par... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/check=1&redir=1&lang=a... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27404895,95923.html%26cus... │ 19 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2638/?from=&raceTo=&power... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313437&pvno=2&evlg=VC,2;... │ http://irr.ru/index.php?showalbum/login-rizova.ru/look/timashirtsevm.cofe │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6HS │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166333/price[price_till]=&pri... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F_liveresum... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.php?f=11340.1j1j2.12...5998-103358071/8/page... │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/00007/10/1320006&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27355f3132366336601&uuid=... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto_repai... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://smeshariki.ru/obucheyelants │ 19 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.15751 Safari%2F5.0 (Windows │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2675406828ac956028692581/... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26968794618/irr.ru/real-e... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://obninsk/detail │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2702483,631;IC,444041%2F&... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2629&lr=65&rstr=-213&text=back=False&withmos... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=http://video.yandex.ru/real-estate │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26669E116-1-1550046560013... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?search?text=\xD1\x80\xD1\x83\xD1\x81\xD0\xB... │ http://irr.ru/index.php?showalbum/login-inadlinny-sched_car=0&city=0&price=18&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/dlia-zhiensk... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274026181891&rn=52&brand=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-165&jenre]/49047&lr=163&text=samsung ga-moda... │ http://irr.ru/index.php?showalbum/login-2-komn-v-na-92f5-6ccf-fef3-013f9f926a21... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&checked=0&state/room=10002-g-v-program... │ 18 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ru/index │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5 │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?elmt=popular&where=all&film/723/num │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/restate/out-of-town-resh=1&cnt=1373... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2012-recept-Ragu-iz-2-x │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupaljinik-slidi/places/?PAGEN_1=2 │ 18 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27534.30 (KHTML, like Gec... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=deltec&type=citymo=&version%2F4.0 (Linu... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kochtinsk.pulscendinskiy-krasnodar.irr.ru │ http://irr.ru/index.php?showalbum/login-kuplyuskij/zapchastorii_state/out │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zzzi.ru/a-shop and blademas/?id=1&marka=0&ma... │ http://irr.ru/index.php?showalbum/login-2003prev=/search/index.ru/meteor.html%3... │ 18 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login.moikrug.ru/catalog/otchenko-ul-advert27... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\... │ 18 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278453&with_exchange=0&ex... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27132069304;IC,1511e8d158... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=367132&pv=2... │ 18 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27071038_114736895,923401... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x9A\... │ 18 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kanza_tab_2499472&lr=1074&sort=popular │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/?target=search?... │ http://irr.ru/index.php?showalbum/login-bigutensiysk.irr.ru/regular&bid=3205&bt... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27420780790931.html5/v12/... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/8018&l=malkogo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-natura.ru/jobs-education=post_137336ID0... │ 18 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-21102&text=\xD0\xB1\xD0\xB0\xD0\xB1\xD0\xBA\... │ http://irr.ru/index.php?showalbum/login.mospsy.ru/super-na-kostronics/tv-audio.... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/obuv%2F │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685&numphoto=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626p/ │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertimeshariki.ru/cgi-bin/cli... │ 18 │ -│ 1 │ 0 │ 0 │ https://diary.ru/magnitogorsk │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sien-zhienskaya-i-kvartir.html?id=1955451-01... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260908861%26point-peter=&... │ 18 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1453.116 Safari%2F8536 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeSearch?text=\xD0\xB2\xD0\xBA\xD1\x83\xD1... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=yators/?jumping.ru/series.ru/priceup&page=3&... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga1788778.137329TVmbFNmbVNaR0YwW$UyNDg4fxS... │ http://irr.ru/index.php?showalbum/login-sienskaia-moda-zhienskikh_rabotjaga.ru/... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=36427929&stat... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinger/\xD0\x93\xD0\x90\... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929750%26ar_sliceid%3D2... │ 18 │ -│ 4 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691c352005&pvno=2&evlg=V... │ 17 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/cars/communalux.ru/dos... │ http://irr.ru/index.php?showalbum/loshaya-obl.irr.ru/film/35562C?analytics/kto-... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271527091/frl-2/bage-2.ht... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru%2Ffilm/4858?pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27422544/3/womens.ru/ufa.... │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#7878... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.103402.html%3Fhtml │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=artira-Lyubyat │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.aspx#location │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=yes&y1=2013-07-07.ya.ru/5_search?text=\... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.15.html?1=1 │ 17 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://aliningrad │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266149_51928/detail.ru/ka... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%26rleurl%3D%26CompPath%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_Bolers-device.aspx#commersanta_premiery... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2670308&po_yers=0&price_o... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2613168312.71 Safari%2F__... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=8&ch=UTF-8&ifr=1&av=1&nm=1&ved=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-dlia-zhiensmed.ru/el... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 17 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6HS │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginyazevskaya%2F5.0 (Windows NT 5.1) Prestorygoo... │ http://irr.ru/index.php?showalbum/login-kupilomatic.aspx#location=rr&days&city&... │ 17 │ -│ 1 │ 0 │ 0 │ http://bdsmpeople.ru/register2123 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logistereda.ru/photo/70861/6#f │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263161366&bid=2823&numpho... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26041.htm%3Fsid%3D0%26pz%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowthreadreplies=24&ids=74&cu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273363331251798796&op_seo... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27595,9305f3931339322%26n... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313&ussp=mstp&usln=1&inp... │ http://irr.ru/index.php?showalbum/login-3767436/roomootofile/obzor.com/iframe │ 17 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/stan/index.kz/yandex │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-search%3Futm_source=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertistia.html?partment/searc... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031323532363&win=70&mode=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 1 │ 0 │ 0 │ http://bibieters_sig=5ea8QizwGSPy0yGcm14ATH74D4Bw&usg=AFQjCNHxMZlonova.ru/p1847... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://diary.ru/forum/intries │ 17 │ -│ 3 │ 22 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_style... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lenfiki-zhienskaia-moda-muzhchin-sitafa ishq... │ http://irr.ru/index.php?showalbum/logical.ru/link=11485-9065383235348%2F&sr=htt... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-futbolki-k... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261636/detail/odnoklassim... │ 17 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/messar.ru/professig │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 1 │ 0 │ 0 │ http://acase.php?input_who1=2&input_who2=1 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.10 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268814453957595,94406/det... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-irina19910735%2F27.0.1453.116 Safari │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=Like Gecko) Chrome%2Fpotnik=1&price_do=&curr... │ http://irr.ru/index.php?showalbum/login-the-poxudet_sponsor=&o=6000708498/?caut... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733145625/details... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26618531&t=111246.html?p=... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694&option%2F12.14&he=76... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b76faact/less=1&ru=1&... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=bestwo.diary/details&id=9160/0/posti.ri... │ 17 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-53584715,1327288/belgium/arch=1&themec.... │ 17 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/category=cinem rasmusic │ http://komme%2F27.0.1453.116 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-herokee_tatus=1&rm=18606bAxFEcQT6smBB4W... │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267044005320AA76)&vendor_... │ 16 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search?clid=19554786.0.8.0.2.2003558_3497926... │ http://irr.ru/index.php?showalbum/logie-niz-doktops/electronics/4185570c72 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098707209463401090/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27034195,9520160173/5/wom... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgas.rQRAX2Ua3IF1iHJcaz4ATv34DABw │ http://irr.ru/index.php?showalbum/login/?page=1024&wi=144438-88-3906740/currenc... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search/cuZXdzJTJGJmxyPTI4fQ,... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&pt=b&pd=7&pw=2&page5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-plan... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26396284046.xhtml%3Fhtml%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate/out-of-tow... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260612d7cf.4082813,74,756... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login.aspx?sle=13&s_yers=0&page_type=0&door=0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnaja-prost-petersburg/detail/?fold... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?&clients-sale&siteurl%3D//ads/search?text... │ http://irr.ru/index.php?showalbum/login-kapusta-advert273786/foto-5/#photo=2817... │ 16 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/movinki... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/page=91552&q=\... │ http://irr.ru/index.php │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-krasok.html_params%3Drhost%3Dad.adriver │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti/redmonds %2F offset=403134333.2201560&c... │ http://irr.ru/index.php?showalbum/login-v40-velopiter.feriod=0&scroll_to_auto.r... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661232&streamfood.com/if... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiensmed.ru/dl/\xD0\xB7\x... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166303133334%2F&ei=horia+iudi... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26765.html_params%3Drhost... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-57548811426&text=\xD0\xBB\xD1\x83\xD1\x87\xD... │ http://irr.ru/index.php?showalbum/login-coolonellana-Molodilnik.ru/index.php?vi... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/70948/35.htm?id=... │ http://irr.ru/index.php?showalbum/logiy-luchaiev%2F&sr=http:%2F%2Fwww.bonprix c... │ 16 │ -│ 1 │ 0 │ 0 │ http://histore/profile;u= │ http://irr.ru/index.php?showalbum/login-kupe-20013&uuid=1373356164564_1sort/sta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/showtopic,803813.html&... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_catalog/1250/?itemsg/cd... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=findjob.ru/planet.ru/index.ru/carinov.h... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2755597.html%3Fhtml?1=1&c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert260477/cities/visas/exp?s... │ 16 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://video.yandex.php │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26887301/Zona/simferopol.... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2728024/detail/508/?instv... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27429&input_bdsm_position... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-153-4b9c4.4331626.htm?size%3D0%26rleurl │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/posts&q=\xD0\xB2\xD0\xB5\xD0\xB4\xD1\x83\xD1... │ http://irr.ru/index.php?showalbum/login-mistore/#CATALOG_LIST-s-ovosibirsk/deta... │ 16 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://msuzie-shop/premiery-c-38208_2.html │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 16 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-marka=23&model&desting?field_town/search/pri... │ http://irr.ru/index.php?showalbum/login-492ea9&show/417582,9626512874":10157628... │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27364229586121%26url%3D%2... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/sch/price][min]=41&lr=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ 1 │ 0 │ 0 │ http://volgografiyah_27_iyunya_50_let%2FgetId │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333%26bid%3D1%26rleurl%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new=127201148][fr... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661251-6efa-d61f-fef3-01... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-maritkiN │ http://irr.ru/index.php?showalbum/login-ladimir.irr.ru/remiery-telefon.ru │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/tv-audi/a7-spec=9894797179698712/p1/8... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logiste's a di galaxy-s4-story1.aspx#location... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5.0 (Win... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti%2F%3Ff%3D100%&http://afisha.yandsearch&... │ http://irr.ru/index.php?showalbum/login-6030d.html_params%3Drhost%3D90%26height │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/7427510/detail/5... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269899458/price/3815&pvno... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=view/5/item3963... │ 16 │ -│ 1 │ 0 │ 0 │ http://yandsearch?lr=2&color │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new10152954vac │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-gorod/search?p=7&oprnd=9902.jpg&img_url=http... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27222.vk.me/u3166 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2735030373434-152495.php?... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2753][from]=&pricedownloa... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makeevka.ru/perm.irr.ru/slingvo/#1\xD0\... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691.html?1=1&input_age2/... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2010000087378687/pic/8939375f303839303935373... │ http://irr.ru/index.php?showalbum/login-souse=2/path=39_1.html?1=1&cid=577&oki=... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-irinakai/page_num_read2306e4574&ei=Ot_rUfjPG... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26708662307][]=&selection... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313033393633310,932803][... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumy.ua/search?text=\xD1\x81\xD0\xB5\... │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2695/19545602cf94d77/repl... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/artira │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/?strict=5710... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertists/736850/?item_no=737&... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikal.ru/search/room=1&dam... │ 16 │ -│ 1 │ 0 │ 0 │ http://forums/liiiervierk-suppohudeemvmesting/294465&op_categoriya │ http://komme%2F27.0.1453.116 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&model=1173... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=new&cad=rjt&fu=0&input_country_id=228&lr=961... │ http://irr.ru/index.php?showalbum/login-cam.shtml#objdesc=true&uA=Mozilla │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login/?do=ready-mansion%3D0%26url%3D%26bn%3D0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb=1&prepairs=0&city[1 │ http://irr.ru/index.php?showalbum/lounona-muzhchin-kupaljinik-chernyj-odnoe/san... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-4433140796851/detail/536180&all=False&i... │ 15 │ -│ 1 │ 0 │ 0 │ http://launcher-searchads/search │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26981583/page=1089592445/... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_produkty/kiev.org/forum... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginsk.eu/ru/Pagesize=13&m1=07 │ http://irr.ru/index.php?showalbum/login-3muda/truction/vacancies/750207190765.h... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-album/login.2/second... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781308;IC,238208836746/0... │ 15 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F1.7.1364.172 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945HPS?analog/r10418/sort=price_do=200&site_off=1 │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 15 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshop/id_art_type=7&s_yers │ http://irr.ru/index.php?showalbum/login │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273631253711/foto-6320166... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2724/?_h=search?text=\xD0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273389; U; Android 4.0.14... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-goluboj-podserial&dfs=13 │ http://irr.ru/index.php?showalbum/login-haus.html#news/228670,257&pci=3012/frl │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#67 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266356163f39ea6f8/7a8745&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/washes/built-in_two_ch... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26605566254/room=1.6&wher... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?transk.i... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://irr.ru/index.ru/show/414526863_112 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?Topic │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?page37/?sta... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/produkty%2Fplatj... │ 15 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/state=1909644 │ http://afisha.yandex.ua/auto_id=0&with_photo.kurortmag.ru/razdnitsya-vishnury │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list.html?typ=SMA&anbieter=aleks_evilkos.com │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/index.ru/ange=0&s_yers=(3000&static.diary.ru... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-land_search?text=\xD0\xB0\xD0\xBC\xD0\xB1\xD... │ http://irr.ru/6323%26bn%3D27888895,963095425 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginskikh-viana.irr.ru/GameMain.aspx?sle=1/house.... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678&op_page=60000/curren... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?Id=9582 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=alini... │ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liloveplanet.ru/futurer533/women.aspx?group-... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2631920&lo=http://person_... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-tumbov.irr.ru/page1=&input_who1=2&id=29... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.1Uv1UfqCA8SonYC4BQ&usg=AFQjCNGB3pBUuKY1jJPP3... │ http://irr.ru/index.php?showalbum/login-tank-sale/search%3Fmode=&page_type │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2718599/photo=0&is_hot=0&... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.php?city[1]=700003 │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26761,55.654289600/detail... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2699364224073532663835386... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login=vladimir/page_type=0&expand_search?text... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27515/418695&st=327-B110Q │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?dok=001&rightbox/week&From=0&user │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/frl-4/trailer/view/3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-lential/secondary/details9.html_params%... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/gamemain.asp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page9/#14... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienshchin-planet.ru/myma... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=25127691%2F... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27265484158197%26width%3D... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27877437494,943082&stat_t... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2730675595,9292fa-d61f-fe... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-676216b8af/4fd00fa61b3185631821/page_ty... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_appliazh-pliance/mista-bez-uchaiev/000202&cl... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/ch/floore troubleclick... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1955451&lr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 3 │ 123 │ 0 │ │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Ford-antent... │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginy_name/3196906481/currency=6465373200&price=\... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2776/?date=0&doorov.irr.r... │ 15 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nashinger/users/search?textilead&353%26ev_pl... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-102-821922237&arrFilter2013/08-iH4AT5zIGQDA │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_type=&freetao.diary.ru/sea... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/877/ru/buildin... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert262997385f32313335781094&... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9584%26pz%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2693_763613.html_params%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274298799461981/?date=129... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert276278-ploschaya_checked_... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.10 │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://ekburg.irr.ru%2Fpuloveplanet │ 15 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credir=1 │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/gosthelp.ru/auto.ria.... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=on&input_onliner... │ http://irr.ru/index.php?showalbum/login.html%26custom%3D%26CompPath.2; WOW64; r... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=on&in... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga664.1721/deti74.ru/animals-planet.ru │ http://irr.ru/index.php?showalbum/login=K-SR-B-13-9635095,9661/9#f │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search?text=\xD1\x84\x... │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/doc.ru/belgorod.irr.ru... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-smi.org%2F40 (KHTML, like Gecko) Version... │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_sell/pansiyskaya-obl.irr.html%... │ 15 │ -└────────────────┴────────────────┴─────────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.986 user 1.912000 sys 0.104000 -D 07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Run Time: real 0.861 user 0.860000 sys 0.044000 -D D (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Run Time: real 1.168 user 1.208000 sys 0.096000 -D " = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) ORDER BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))); -Run Time: real 0.171 user 0.248000 sys 0.020000 -D -D CREATE INDEX counter_id_idx ON hits (CounterID) -> ; -Run Time: real 18.194 user 16.256000 sys 0.092000 -D D (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Run Time: real 0.022 user 0.296000 sys 0.000000 -D -D -D -D '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(URL) > 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -┌──────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├──────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 102341 │ -│ http://komme%2F27.0.1453.116 │ 51218 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18315 │ -│ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16461 │ -│ http://irr.ru/index.php │ 12577 │ -│ http://irr.ru/index.php?showalbum/login │ 10880 │ -│ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 7627 │ -│ http://irr.ru/index.php?showalbum/login-kupalnik │ 4369 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 4058 │ -│ http://komme%2F27.0.1453.116 Safari │ 3021 │ -└──────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.068 user 0.844000 sys 0.000000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(Title) > 0 GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ Title │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ \xD0\xA2\xD0\xB5\xD1\x81\xD1\x82 (\xD0\xA0\xD0\xBE\xD1\x81\xD1\x81\xD0\xB8\xD1\... │ 122407 │ -│ \xD0\xA8\xD0\xB0\xD1\x80\xD0\xB0\xD1\x80\xD0\xB0\xD0\xB9), \xD0\x92\xD1\x8B\xD0... │ 82935 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA - IRR.ru │ 80958 │ -│ \xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\xB8 New Era H (\xD0\x90\xD1\x81\xD1\x83\xD... │ 39098 │ -│ \xD0\xA2\xD0\xB5\xD0\xBF\xD0\xBB\xD0\xBE\xD1\x81\xD0\xBA\xD1\x83 \xD0\xBD\xD0\x... │ 23123 │ -│ Dave and Hotpoint sport \xE2\x80\x93 \xD1\x81\xD0\xB0\xD0\xBC\xD1\x8B\xD0\xB5 \... │ 14329 │ -│ AUTO.ria.ua \xE2\x84\xA2 - \xD0\x90\xD0\xBF\xD0\xBF\xD0\xB5\xD1\x80 │ 14053 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA (\xD0\xA0\xD0\... │ 13912 │ -│ OWAProfessign), \xD0\xBF\xD1\x80\xD0\xBE\xD0\xB4\xD0\xB0\xD1\x82\xD1\x8C │ 10919 │ -│ \xD0\xA2\xD1\x80\xD1\x83\xD1\x81\xD0\xB8 - \xD0\xA8\xD0\xBE\xD1\x83\xD0\xB1\xD0... │ 10157 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.045 user 0.584000 sys 0.000000 -D AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 7479 │ -│ http://aliningrad │ 4791 │ -│ http://ekburg.irr.ru%2Fpuloveplanet │ 3584 │ -│ http://smeshariki.ru/obucheyelants │ 3064 │ -│ http://video.yandex.php │ 2887 │ -│ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 1084 │ -│ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 891 │ -│ http://afisha.yandex.ru/index │ 855 │ -│ http://sslow_13507.html?aspx?naId=6HS │ 521 │ -│ http://wildberrior/uphold │ 484 │ -│ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 289 │ -│ http://obninsk/detail │ 241 │ -│ http://diary.ru/forum/intries │ 208 │ -│ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 185 │ -│ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 185 │ -│ http://kurort/SINA, ADRIAN │ 157 │ -│ http://afisha.yandex.ru │ 132 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 124 │ -│ http://ssl.hurra.com/iframe │ 123 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 119 │ -│ http://stars-visa.html_params%3Drhost%3Dad.adriver.ru/catalog.php │ 105 │ -│ http://komme%2F27.0.1453.116 │ 83 │ -│ http://pogoda.yandex │ 80 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 79 │ -│ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 73 │ -│ http://video.yandex │ 71 │ -│ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 68 │ -│ http://wildberries.ru/daily │ 68 │ -│ http://smeshariki.ru/ru/index.ru%26bid │ 68 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 64 │ -│ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 64 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn │ 63 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 59 │ -│ http://sslow_135000008&position=search │ 58 │ -│ http:%2F%2Fwwwwww.bonprix.ru/topic │ 53 │ -│ http://sslow_13507.html/articles │ 52 │ -│ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 51 │ -│ http://rsdn.ru/rss.ya.ru/catalog │ 51 │ -│ http://ekburg.irr.ru/#lingvo │ 46 │ -│ http://pogoda.yandex.ru │ 45 │ -│ http://sslow_13500000%26rnd%3D2788881.html │ 44 │ -│ http://maps#ru_5_ru_22106.377648194,975924][to]=&int[14270pa106&op_uid=17759/6#... │ 42 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 37 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 37 │ -│ http://video.yandex.ru/film/46351/frl-2/bage │ 36 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 35 │ -│ http://direct.yandex │ 34 │ -│ http://sslow_13507.html?aspx?naId=3X_3bhLcs3M │ 33 │ -│ http://gotovim-doma │ 32 │ -│ http://che.ru/produkty_zarubezhei-niepochekhly │ 31 │ -│ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 30 │ -│ http://video.yandex.ru/Newsletter │ 29 │ -│ http://sslow_13507.html?aspx?naId=6D8IzMGys3M │ 29 │ -│ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ http://video.yandex.ru │ 28 │ -│ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 28 │ -│ http://sslow_13507.html?aspx?naId=649&state/out-of-town=\xD0\xA5\xD0\xB0\xD0\xB... │ 27 │ -│ http://notes=1/currency │ 27 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 26 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 26 │ -│ http:%2F%2Fwwww.bonprix.ru/tambov │ 24 │ -│ http://kinopoisk.ru/shoppich.ru/search?clid │ 24 │ -│ http://wildberries │ 23 │ -│ http:%2F%2Fwwwwww.bonprix.ru/searchAutoSearch?text=\xD0\xB2\xD0\xB5\xD0\xBB\xD0... │ 22 │ -│ http://myloveplanet │ 20 │ -│ http://stars-visa-litraj.txt","lpu":"http://pogoda │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/secondary │ 20 │ -│ http://msuzie-shop/premiery-c-38208_2.html │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 20 │ -│ http://smeshariki │ 19 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 19 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ http://irr.ru/6323%26bn%3D27888895,96772,97436 │ 18 │ -│ http://kinopoisk.ru │ 18 │ -│ http://nepogoda.yandex.ru%2Fproducts/search?text=subscripts/busineshop │ 17 │ -│ http://wildberries.ru │ 17 │ -│ http://kinopoisk.ru/catalog/9902224 │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://direct.yandex.html │ 17 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 17 │ -│ http://irr.ru/6323%26bn%3D27888895,963095425 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 16 │ -│ http://afisha.yandex.php?gidcar=36281664 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://auto.ria.ua/search │ 15 │ -│ http://direct │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ http://irr.ru/index.php?showalbum/login-kupalnaya-obl │ 15 │ -│ http://kinopoisk.ru/odessya │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 14 │ -│ http://ekburg.irr.irr.ru/maker │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.yandex │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.mail/rnd=0.9788 │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://auto_many_to_auto.ria.ua/igrush43/ │ 13 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 13 │ -│ http://afisha.yandex.ru/cars │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 13 │ -│ http://love.ru/a-myprofi │ 13 │ -│ http: │ 13 │ -│ http:%2F%2Fwww.bonprix │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://real-estate/aparther/offiliates/corruption/russinsk │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 12 │ -│ http://on-online=on&accetti │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 12 │ -│ http://samara.irr.html5/v12/?from]= │ 12 │ -│ http://kinopoisk.ru/saledParams │ 12 │ -│ http://en.lyrsenses/zamba_zaborah_coldplay=1&gearbox │ 12 │ -│ http://zvukovo/hondar/2007&state/renlew/rigma.ru/scribed │ 12 │ -│ http://pogoda.yandex.php?SECTION │ 12 │ -│ http://msk/platia-nashing/vanny.diary.ru/moscow │ 12 │ -│ http://video.yandex.ru/GameMain.E6smreQhiu_hXR4&where=all&film │ 12 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 11 │ -│ http://nizhnieiene/p17378705/currency=1&with_photo-ideapadeno │ 11 │ -│ http://news/6483731559676/Unlocknotebooks/m83/800_D_Black_list │ 11 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty/photo-12/#imag... │ 11 │ -│ http://msk/platia-nashing/vanny.diary.ru/sale/liver │ 11 │ -│ http://video.yandex.ru/GameMain.aspx#location │ 11 │ -│ http://guid=6&pw=6&pv=13 │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 11 │ -│ http://wildberries.ru/rost.html?1 │ 11 │ -│ http://smeshariki.ru/?win=82&stat=1&page/196264&pt │ 11 │ -│ http://pogoda.yandex.ru/catalog/jokers │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 11 │ -│ http://en.lyrsenses/zamba_zabudtrimazok.html?page=12&prr=http://fap1.adrive_typ... │ 11 │ -│ http://bonprix.ru%26bid │ 11 │ -│ http://loveplanet.ru/GameMain │ 10 │ -│ http://bdsmpeople.ru │ 10 │ -│ http://liver.ru/cheboksicily/foto.aspx?sort=newly&trafkey │ 10 │ -│ http://video.yandex.ru&pvid │ 10 │ -│ http:%2F%2F%2Fwwww.bonprix │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 10 │ -│ http://club.ru/spokoiteli/photo37775280000 │ 10 │ -│ http:%2F%2Fwwww.bonprix │ 10 │ -│ http://auto_id=240&n=13901038 │ 10 │ -│ http://smeshariki.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://slovariant_new3077940810/detail │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://en.lyrsenses/zamba_zabor_id=1012_blank%26site │ 10 │ -│ http://sslow_13500000%26rnd%3D2788881.html?parts/passe │ 10 │ -│ http://pogoda.html%3Fhtml_params%3Drhost%3D43 │ 10 │ -│ http://irr.ru/index.php?showalbum/logout%26verstova.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://pogoda.yandex.php │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film/6781203.html?id=242037047/detai... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://mysw.info/blog/sankt-peter%3D1216/00001216629 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://e96.ru/albumfotok-15-fotki │ 9 │ -│ http://alpari.yandex.html?html_param=0&users/#page/Search/ab_dob%2Ffieiie-razvo... │ 9 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru/catalog/8570/1006790 │ 9 │ -│ http://b2b.testered/main/discuss/matched_country=-1&top=0&cityid=1024&wi=1366&o... │ 9 │ -│ http://svpressa.ru/topic=17082630 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru │ 9 │ -│ http:%2F%2Fwwww.bonprix.ru/filmId=8j5j97LRs3M&where=all&sources │ 9 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/#win_13.html_p... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/4744089758 │ 9 │ -│ http://nail=Yes&target=search │ 9 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_produkty%2F&sr=http://slovaria │ 9 │ -│ http://rlsnet.ru/vacancy/view_type_id=9677548268010367 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ https://m.myloveplanet.ru/forum/abrika-kobelenie_nebestsenal │ 8 │ -│ http://irr.ru/imagecache/wm/2013&where=all&filmId │ 8 │ -│ http://poisk.ru/price_ot=&price_ot=&price │ 8 │ -│ http://zapchast.com/iframe-owa.html?1=1&cid=577&oki=1&op │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 8 │ -│ http://afisha.yandex.php?t=141880517 │ 8 │ -│ http://zarplata.ru/velika_all=\xD0\xBE\xD1\x82 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http:%2F%2Fwwwwww.bonprix.ru/news/222974895&op │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://fore=3&marka=0&top=0 │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96777&oki │ 8 │ -│ http://video.yandex.ru&xdm_p=1#item/search │ 8 │ -│ http://direct.yandex.ru/catalog │ 8 │ -│ http://zarplata.ru/?p=12977-B26358/currency=RUR/page=1080&wi=1024&lo=http://rzh... │ 8 │ -│ http://en.lyrsenses/zamba_zabor/bedroomolsk │ 8 │ -│ http://masterh4.adriver.yandex │ 8 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ==&page_avtomodules.php?f=100&ref... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://mastered/main.aspx#location=1&bc=3&ct=1&pr=60322056107100919/page5/?_h=s... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://omsk.mlsn.ru │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96779/87 │ 8 │ -│ http://smeshariki.ru/GameMain │ 8 │ -│ http://afisha.yandex.php?gidcar=367108851%2Fr%2F1 │ 8 │ -│ http://che.ru&pvid=13733142835/100/topic,5240556895&ch=UTF-8&sF=11,7,7,0 │ 8 │ -│ http://love.ru/?p=17059 │ 8 │ -│ http://wildberries.xml?from]=&input │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/index.php?showalbum/login-kupit-topy%2Fplatjie-gotovlexandex.html... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://auto.ria.ua/auto_id=24126629/0/index.ru/real-estate/out │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 8 │ -│ http://victor?page_type=city.stol-yar.ru/cars │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://kinopoisk.ru/ch/feed/letniaiaprice/1609 │ 7 │ -│ http://video.yandex.ru%2F&sr=http://loveplants/65398f55 │ 7 │ -│ http://real-estate/aparts/Aquarevski │ 7 │ -│ http://bonprix.ru/social/product_id │ 7 │ -│ http://video.yandex.ru/a-album/login-vitiju/photo │ 7 │ -│ http://moscow/detail/5552/0/2792834&m=111,7,7,5 │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 7 │ -│ http://irr.ru/Registered/main/topnewsru.com/page=6 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-kapustics?sort=pogoda.yandex.ru%26bt%3D... │ 7 │ -│ http://bonprix.ru/catalog/8570/14139489 │ 7 │ -│ http://afisha.yandex.ru/\xD0\xB4\xD0\xBE\xD0\xBC\xD0\xB0/\xD0\x91\xD0\xA1\xD0\x... │ 7 │ -│ http://irr.htm?from]=&int[85][from]=&input_vsegodnyie │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://love.ru/?p=1#country=&op_seo │ 7 │ -│ http://bdsmpeople.ru/niktory/shtory/308/roomed.ru/p59473682740295 │ 7 │ -│ http:%2F%2Fwwwww.bonprix │ 7 │ -│ http://myloveplantrackIt?tid │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 7 │ -│ http://spb/event=big&marka=84&model=0&auto_id=0&s_yers=0&pv=10&can_be_check_PP │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://pogoda.yandex.ru&pvid=1 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-a-5-advert27114 │ 7 │ -│ http://bdsmpeople │ 7 │ -│ http://video=0&is_hot │ 7 │ -│ http://irr.ru/index.php?showalbum/login-zk34/pages/0001216629 │ 7 │ -│ http://svpressa.ru │ 7 │ -│ http://money.yandex │ 7 │ -│ http://gotovim-doma.ru │ 7 │ -│ http://afisha │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 7 │ -│ http://video.yandex.ru%2Fkategory_id │ 6 │ -│ │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.ru%2F%2Fmail/169 │ 6 │ -│ http://omsk/evential/house.ru/catalog/kitchedule=213-606361653965283 │ 6 │ -│ http://video.yandex.ru/ekt │ 6 │ -│ http://love.ru/?p=1#country=-1&sq_liver.ru/kyrgyzstan │ 6 │ -│ http://stars-varenok.ru/16745959680706/800_0.jpeg.html%3Fhtml5/v123593 │ 6 │ -│ http://afisha.yandex.ru/catalog=on │ 6 │ -│ http://bdsmpeople.ru/film/64544.690022.rar.html_params%3Drhost%3D_black_list=0&... │ 6 │ -│ http://bdsmpeople.ru/GameMain │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://v102.ru/investate/apartments-sale │ 6 │ -│ http://video.yandex.ru/GameMain.aspx#location/page_type=category │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://wildberries.ru/search │ 6 │ -│ http://afisha.yandex.ru%26bt%3D43%26anbietersburg │ 6 │ -│ http://omsk/evential/housession%3D0 │ 6 │ -│ http://video.yandex.ru/a-topy │ 6 │ -│ http://direct.yandex.ru/refererprofile%2F2.10 │ 6 │ -│ http://moscow/details │ 6 │ -│ http://rukodel=0&sort=newly&trafkey=2750 │ 6 │ -│ http://smeshariki.ru/world/photofider_credit=0&view │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://novosibirsk.irr.ru%26bid │ 6 │ -│ http://irr.ru/index.php?showalbum/login-12.html%26custom │ 6 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 6 │ -│ http://solutions.diary.ru/realtitroenie_v_jurman.ru/albums/frame-owa.html?stric... │ 6 │ -│ http://mr7.ru/newsru.com/iframe_right%3D43 │ 6 │ -│ http://autodoc.ru/real-estate/apart │ 6 │ -│ http://smeshariki.ru/catalog │ 6 │ -│ http://edp2.adriver.ru/hocketshop.ru/moscow/detailanude │ 6 │ -│ http://povari.yandex.ru/greecondary/Products_id=&auto_vaz_2111 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://msk/platia-nashing/vantralitsa_transion │ 6 │ -│ http://video.yandex.ru/catalog │ 6 │ -│ http://ereal-estate/rent │ 6 │ -│ http://3dnewsru.com/iframe_right.html?1=1&cid=51538 │ 6 │ -│ http://afisha.yandex.php/board,39.04839 │ 6 │ -│ http://novo/detail.aspx?group_cod_1s │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://kalininmyclonus1 │ 6 │ -│ http://auto_hyundai_sarator │ 6 │ -│ http://bdsmpeople.ru/saledParams=rhost%3D43%26bid%3D1 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://forum/topnews/22294&op_category │ 6 │ -│ http://love.ru/?p=17055335 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.ru/mymail.php │ 6 │ -│ http://real-estate=week/page=1&expand_search?film/298677435615.html │ 6 │ -│ http://koolinar.ru/port.ru/doc │ 6 │ -│ http://afisha.yandex.ru/index.ru/recipe │ 6 │ -│ http://video=0&with_exchangeType │ 6 │ -│ http://kinel-lab.com/rus/20130709_117485994,93304&op_seo_entry=1&gearbox=0&type... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ https://slovakia-600dd903c07022,101595,91194&op_seo_entry │ 6 │ -│ http://diary.ru/exp?sid=3205 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://video.yandex.php?search?text=\xD0\x9A\xD0\xBE\xD0\xBD\xD1\x8C\xD1\x8F\xD... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://video.yandex.php?from]=&interapy-wkti/ &cd │ 6 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D8393224 │ 6 │ -│ http://love.ru/ru/irk/event/search/ │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://kinopoisk.ru/catalog │ 5 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 5 │ -│ http://auto_volkswagen/vologdano/il_dlya-dnevka.ru │ 5 │ -│ http://barnaul/details/?cauth │ 5 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD0\xB5\xD1\x80&where=... │ 5 │ -│ http://metal-lodku-Obzor │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 5 │ -│ http://sp-mamrostova │ 5 │ -│ http://tp66.ru/exp?sid=3860217/rooms=2/men.aspx#location%3D0%26rnd │ 5 │ -│ http://zvukovo-gorodsk │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 5 │ -│ http://rmnt.ru/search/offilia_Sovetov_living_chamber/?78142 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http:%2F%2Fwwww.bonprix.ru/?id=2013&where=all&filmId │ 5 │ -│ http://video.yandex.by/?state_id=&auth=1..630;IC,7711588 │ 5 │ -│ http://e96.ru/movies/614418821/artir.ua/search │ 5 │ -│ http://slovari.yandex.ru%26orderovskij-index.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://povari.yandex │ 5 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_seo_entry=&op_category_... │ 5 │ -│ http://tks.ru/cat/publish-cherkalnaya-ttpodporyadushek │ 5 │ -│ http://auto.ria.ua/auto_id=241269.html?1=1&cid=2127970 │ 5 │ -│ http://video.yandex.ru/GameMain.aspx?Link │ 5 │ -│ http://slovarenok.com │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://slovari.yandex │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://auto_volkswagen-Palities/horobki │ 5 │ -│ http://afisha.yandex.php?r=23436303135353.html?1 │ 5 │ -│ http://rustnye-sht-riemnikoi │ 5 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 40007&pt │ 5 │ -│ http://radio&planet.ru/work.ru/catalog │ 5 │ -│ http://en.lyrsenses/zamba_zaborah_chamberk │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://myloveplanet.ru/v14572&lb_id=13000001216629 │ 5 │ -│ http://sslow_135000008&position=search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 5 │ -│ http://pogoda.yandex.php?gidcar │ 5 │ -│ http://bibidohertki-i-OOOO_REPORT/07_2013 │ 5 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 5 │ -│ http://real-estate=week&m=Dvigenie.html?option │ 5 │ -│ http://autodoc.ru/moscow │ 5 │ -│ http://love.ru/product_id=0&po_yers=0&po_yers=2&refererro/model=1346488078722&c... │ 5 │ -│ http://topnews.ru/GameMain.aspx?group_cod_1s=1983&pt=b&pd=9&pw=0 │ 5 │ -│ http://avtomobile/motory.ru/comp.ru/view.php │ 5 │ -│ http://video.yandex.ru/firms.turizm │ 5 │ -│ http://video.yandex.ru%2FkategoriendflowerTo=&powerTo= │ 5 │ -│ http://loveplanet.ru/mymail/rudi │ 5 │ -│ http://auto.ria.ua/auto │ 5 │ -│ http://msk/platia-nashing/vannyie-product_id=1841&page2 │ 5 │ -│ http://auto.ria.ua │ 5 │ -│ http://nizhnieiewva88/photo/101246465376&cmd=show-to-buchaiev-pugache=51db32a68... │ 5 │ -│ http://club.ru/cinema/movies/no-pos │ 5 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D158197%26width │ 5 │ -│ http://direct.yandex.ru/index │ 5 │ -│ http://tks.ru/cat/publish-chemec.ru/search?filmId=CktclMBmUXI │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://kinopoisk.ru/spb.pulscen.ru/exp?sid=3159&op_category_id=&auth=0&checked=... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://holodilnik-rp-ploschaya-obuv/?ci=1280&with_video=0&choosOyg==&op_uid=111... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://wildberries.ru/real │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://slovariant_neu%3D1%26bid%3D1216/0001216629%26bt%3Dad │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://wildberrior/kia/ │ 5 │ -│ http://md.mirkovskaya-obl.irr.ru/jobinmoscow │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://jcmotorom-921205&bt=7 │ 5 │ -│ http://povari.yandex.php?showalbum/login.pl?cl=all&film/497794,90458 │ 5 │ -│ http://en.lyrsense.com/obshchin-idieiala │ 5 │ -│ http://loveplanet.ru/\xD0\xB0\xD1\x80\xD0\xBE\xD0\xBC/curre-ap-i-showalbum/loui... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://moscow/detail/Torgovuyu-organske.ru/real-estate │ 5 │ -│ http://smeshariki.ru/topic │ 5 │ -│ http:%2F%2Fwww.bonprix.ru │ 5 │ -│ http://gaylyU │ 5 │ -│ http://video.yandex.ru%26bt%3Dad.adriver.ru/recipe/view/10217/?from │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 5 │ -│ http://loveplanet.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://alpari.ru/gallery/pic845274 │ 5 │ -│ http://alib.mist.html%26custom%3D%26c2%3D278888592138 │ 5 │ -│ http://loveplanet │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://whoyougle.ru/images/images/00000i/specifiers.ru/image=1&furniture │ 4 │ -│ http://video.yandex.ua │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 4 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 4 │ -│ http://video.yandex.ru/price │ 4 │ -│ http://sslovarenok.ru │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/filmId │ 4 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 4 │ -│ http://afisha.yandex.ru/zoom.php?f=5162613838.html_partments │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://auto.ria.ua/auto_id=0 │ 4 │ -│ http://irr.ru/index.php?showalbum/login-10618968476372773 │ 4 │ -│ http://samarskii_krai/tuapse/detail/result.aspx │ 4 │ -│ http://loveche.html │ 4 │ -│ http://bdsmpeople.ru/Web/Pages=1/feedsmag.ru/~\xD0\xBA\xD0\xBD\xD0\xB8\xD0\xB3\... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://wildberries.ru/catalog │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://e96.ru/news/39733/page2=&input_sponsor=&o=1015219.html_partments-sale&pa... │ 4 │ -│ http://afisha.yandex.ru%252f7769%252fe │ 4 │ -│ http://echoradar-s-Levoshcha │ 4 │ -│ http://diary.ru/catalog=on&input_city[3 │ 4 │ -│ http://love.ru/?p=1#countpage/vacancies/events/738/0/3/women.aspx │ 4 │ -│ http://direct.yandex.php?formsof(INFLECTION_ID=30861/14365-4b11&state/apartment... │ 4 │ -│ http://radio&planet.ru/marka=62&model=1178128455&pvno=2&evlg=VC,5 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://rasp.pl?cmd │ 4 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://travel.ru/state/apartments-sale/rashinitit%2F537 │ 4 │ -│ http://auto.ria.ua/auto_id=63799.html_params │ 4 │ -│ http://video.yandex.php?view_type=2&driveresult.ru/replies │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://afisha.yandex.php?r=3&bs=&day │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://kinopoisk.ru/saledParams%3Drhost%3Dad.adriver.ru/GameMain.aspx#location │ 4 │ -│ http://ssl.hurranovskaya-ul-31-foto.ria │ 4 │ -│ https://smeshariki.ru/cinema/article10363136000001216629%26site_offilia_Sovets.... │ 4 │ -│ http://vkirovoe-tourisma │ 4 │ -│ http://smeshariki.ru/domchelkakh_location=search?text=\xD0\xBC\xD0\xB8vents │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboy07/... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://guid=6&pw=2&pv=0&price_do=¤cy=1 │ 4 │ -│ http://smeshariki.ru/search/keukeru-soft │ 4 │ -│ http://card/windows)&bL=ru&cE │ 4 │ -│ http://kniga.ru/view=\xD0\xA1\xD1\x82\xD0\xB0\xD0\xB2\xD1\x80\xD0\xBE\xD0\xB2&w... │ 4 │ -│ http://afisha.yandex.ru/search │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://zarplata.ru/?p=12977-B26358/hasimages=1/page │ 4 │ -│ http://video.yandex.ru/GameMain.XYyZwYXRoPWEtbG9nb24vcG90Cw │ 4 │ -│ http://video.yandex.ru/real │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://v102.ru/?s=Adaments-sale │ 4 │ -│ http://matched_car=373838928155755775482794,9453.116 Safari%2F537.36&he=10&s_ye... │ 4 │ -│ https:%2F%2Fwwww.yandex.ru │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/GameMain.aspx#location-4.0.html │ 4 │ -│ http://tks.ru/cat/publish-chernyjbelyj-9375966238&op_categoriya │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/social │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://video.yandex.ru/realty/leaser_map=1/hasimay-2.html │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://video.yandex.ru%26target=search/ab_area=categorija80119 │ 4 │ -│ http://nizhny novgorod │ 4 │ -│ http://auto.ria.ua/canel_pe_mascona Hilfigeratov/153228 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://e-kuzbass.ru/a-shop │ 4 │ -│ http://victorhead.php?full&dom=780067167694.0; │ 4 │ -│ http://guide.travel.ru/link │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://kubikus.ru/search.php?r=4140211,1,7,7,7,7,0 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/cart.php/cars/papago-d-plosch │ 4 │ -│ http://afishi,Mudanted-belyj-974299099/guest-id=34089.html │ 4 │ -│ http://fitness/building │ 4 │ -│ http://svpress_up.aspx#location[propfilter_pf[PODVAL]=&arrFilter][3463351841195... │ 4 │ -│ http:%2F%2Fwwww.bonprix.ru/real-estate/out-of-town/house │ 4 │ -│ https://produkty%2Fpulove.ru/gost/?page3 │ 4 │ -│ http://afisha.mail.aspx#locationalOffers │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://anketka.ru/bridget │ 4 │ -│ http%3A//magnitogorod/page3/#over │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadbor_sh... │ 4 │ -│ http://video.yandex.ru/GameMain/dukhovyy │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.php?action/2741920 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://love.ru/image=2&marka=84&model/mihailovo │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://tks.ru/cat/public/gamemain.aspx#location │ 4 │ -│ http://nepogoda.yandex.ru/search=1&target=search=0&can_be │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://kinopoisk.ru/searchAutoSearch=0&driver.ru/catalog/1/women.aspx#locationp... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.php?show=rlv&ru=1&expand_search │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://love.ru/?p=1705 │ 4 │ -│ http://ssl.hurra.com │ 4 │ -│ http://auto_volkswagen_cated_cartovskaya-obl.irr.ru/album/login │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://afisha.yandex.php?p=31&input │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://loveche.ru/job/1162323&PAGEN_1=30&state │ 4 │ -│ http://video.yandex.ru/If yours.avtogsm.ru/animals/calculate │ 4 │ -│ http://internet Explorer&aV=5.0 (Windows)&bL=en │ 4 │ -│ http://rsdn.ru/details_103514,154;IC │ 4 │ -│ http://pogoda.yandex.ru/cooking_sm5_1148786993ab-417/photo/69363/26#formi.ru/co... │ 4 │ -│ http://auto_s_product_name=\xD0\x9A\xD1\x80\xD1\x83\xD0\xB3\xD0\xBB\xD0\xBE\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboyzon... │ 4 │ -│ http://video.yandex.ru/topnews.ru/lanas-advert2713][to]=&int │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://auto_volkswagen_pass_1161967 │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD1\x82\xD0\xBE\xD1\x8... │ 4 │ -│ http%3A//edp1.adriverys/forum/view_type=city&custom=0&damages/0001216629%26bid%... │ 4 │ -│ http://inspelishchin-platjie-doma.ru/irkutsk.irr.ru │ 4 │ -│ http://smeshariki.ru/saint-petersburg-gorod/transfer/?id=7576149959760994861&op... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://afisha.yandex.ru/content2.adriver │ 4 │ -│ http://en.lyrsenses/zamba_zabudka/photo-1/#page=0&sale/search?text=\xD0\x9C\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://auto_id=0&with_photo │ 4 │ -│ http://b.kavanga.ru/?a=inneVolumeFrom │ 4 │ -│ http://arma/frl-4/transportnoy-kv-m-malchik.ru/show │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://tp66.ru/money.yandex.ru/albums_screenterval │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://irr.htm?from]=&int[1151;IC,112 │ 4 │ -│ http://afisha.yandex.ru&pvid=13733424 │ 4 │ -│ http://bdsmpeople.ru/film/64544.690078 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_category_id=592b9e01c48ce9403%26bn%3D0%2... │ 4 │ -│ http://video.yandex.ru/GameMain │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ https://orenburg/?arrFiltersburg │ 3 │ -│ http://romar/events/audio.ru/widget[]=vacancies/99.php?gidcar │ 3 │ -│ http://afisha.yandex.php/topic104780204&op_uid=1954 │ 3 │ -│ http://afisha.yandex.php/tova.ru/uliya2076789599305953 │ 3 │ -│ http://afisha.yandex.ua/donetsk/urals │ 3 │ -│ http://afisha.yandex.ru/a-folders/misc │ 3 │ -│ http://afisha.yandex.ru/shop.ru/malta │ 3 │ -│ http://afisha.yandex.ru/project_price=&maxprice │ 3 │ -│ http://afisha.yandex.ru/kategoriya%2F5.0 (company │ 3 │ -│ http://afisha.yandex.ru/linkvac.php/board.php?topicseeng │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://samara.irr.ru%2Fproduct │ 3 │ -│ http://radiorecord.ru/login-m3w.html?1=1&cid │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://kinopoisk.ru/service.ru/iframe │ 3 │ -│ http://video.yandex.ru%2Fplata.ru/ch │ 3 │ -│ http://radioscannerica/filmId=Ba_id=13733568414&city=\xD0\x9C\xD0\xBE\xD1\x81\x... │ 3 │ -│ http://banantikov-nadushenie_orleona_server=sc.cheloveplant_11612/page │ 3 │ -│ http://irr.kz/realty/lease/3516093&pvno=2&evlg │ 3 │ -│ https://produkty%2Fplatjie-kuzbass.ru/newsru.com/iframe_right=0&auto_ria=0&meta... │ 3 │ -│ http://fuckfind=rent/view/2021/3 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ https://slovakia-600dd903c07022,101595,9143531427800648_elit │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://love.qip.ru │ 3 │ -│ http://auto_kia_30 │ 3 │ -│ http://kaluga/?ext=\xD0\xB3\xD0\xB5\xD1\x80\xD0\xBE\xD1\x8F\xD1\x82\xD0\xBD\xD1... │ 3 │ -│ http://sp-mamrostokonkursovet │ 3 │ -│ http://afisha.yandex.ru/forum.materinburg │ 3 │ -│ http://afisha.yandex.php?addriver.ru │ 3 │ -│ https://slovakia-600dd903c06c999c226647639.html%3Fhtml │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category_id=0&wi=16000&... │ 3 │ -│ http://sp-money.yandex.ru │ 3 │ -│ http://sp-money.yandex.ru/work rushki-sien-natalog/8570/page=0&expand │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://ssl.hurral=messages │ 3 │ -│ http://astrobank.ru/image │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://video.yandex.ru&pvid=13735/?_h │ 3 │ -│ http://love.ru/forum.cofe.ru/forum/view_type=city=790&Selectronics-technik │ 3 │ -│ http://wildberrior/bedroom]=&int[17][to]=&int[858 │ 3 │ -│ http://direct&sortdirect.yandex.ru/imagesize%3D0%26ar │ 3 │ -│ http://video.yandex.by/search/?target%3D43%26bid%3D2 │ 3 │ -│ http://forum/topnews/2229605699574.html?1=1 │ 3 │ -│ http://rmnt.ru/stars │ 3 │ -│ http://b.kavanga.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://video.yandex.ua/auto_id │ 3 │ -│ http://bdsmpeople.ru/search │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http:%2F%2Fwww.bonprix_ru}%2Fnizhniynovgorod/request-id │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://edp2.adriver.ru/catalog/181 │ 3 │ -│ http://rmnt.ru/film/88677/russia/rio.ru/search?filmId=NNr6aJrm4s3M │ 3 │ -│ http://video.yandex.ru/circle&state/out-of-town/houses │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film.ru │ 3 │ -│ http://msk/planet.ru/mymail.aspx#comme_me_saydinne │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://edp2.adriver.ru/jobinmoscow/detail │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://svpress_w1t1042796786/6/?category │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://pogoda │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/forum.donfiscategory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://pogoda.yandex.kz/family │ 3 │ -│ http://kazan.irr.ru/location │ 3 │ -│ http://video.yandex.php?topbloveche │ 3 │ -│ http://nigma.ru/product&op_category_name=\xD0\x91\xD0\xB8\xD0\xBA\xD0\xB8\xD0\x... │ 3 │ -│ http://radiorecord.ru/catalog/idShare │ 3 │ -│ https://produkty%2Fpulove.ru/voronezh-sien-zhienskaia-moda-zhienskaia-moda-zhie... │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com/iframe-owa.html?1=1&cid=577&o... │ 3 │ -│ http://tks.ru/cat/publish-chin-play.php?categoriya%2Fzhiensmed │ 3 │ -│ http://card/windows NT 6.1) AppleWebKit%2F5 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://magnitka_1_series.ru/?favorite_id=636233644&op_category_id=937514 │ 3 │ -│ http://svpress/showbiz/photo.htm │ 3 │ -│ http://loveche.ru/volzhskiy │ 3 │ -│ http://ussuriysk.irr.ru/catalog/premiere/628962851d7fd0b6eb17b321d336f5bc7de189... │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountpage │ 3 │ -│ http://afisha.yandex.ru/tatatit_chto.php?industry │ 3 │ -│ http://smeshariki.ru/a-phony │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26url%3D//ad.adriver.ru/link/justic/h2.php/... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty%2Ftanki │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/92054446660.ht... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://ekategoriya%2F9B206 Safari │ 3 │ -│ http://smeshariki.ru/catalog/286/women.aspx │ 3 │ -│ http://svpressa.ru/content/search │ 3 │ -│ http://video_dvd/game/iframe-owa.html │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://holodilnik.ru/catalog │ 3 │ -│ http://msk/platia%2Fzhienskaia │ 3 │ -│ http://lk.wildberries │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://tp66.ru/search/?page=1&fuelRateTo │ 3 │ -│ http://e96.ru/real-estate │ 3 │ -│ http://my.kp.ru/albumfoto-1/pol-2 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://personal/atlants/7292&xdm_c │ 3 │ -│ http://povarenok.ru/files/eliteh.ru/perm.irr.ru/board,75.2013-07-09 │ 3 │ -│ http://brand=498&pvno │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://sp-mamrostovestory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://amobil-nye-pliazhnaia │ 3 │ -│ http://smeshariki.ru/?win=82&stat=141882,373;IC,2552f48 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://love.ru/?p=1#country=&op_seo_entry=-1&target │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://irr.ru/washek-s-printom │ 3 │ -│ http://irr.ru/index.php?showalbum/login-kupaljinik-chere │ 3 │ -│ http://smeshariki.ru/goodavec/photo/6936325.html?id=223978/page=102 │ 3 │ -│ http://str_ob.html?1=1&choosO8gPJSs3M&where=all&filmId=mAyiC7y6M2mGV2GoA9hFoN3q... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberries.ru/item_no=2&evlg=VC,0;VL,205;IC,14;VL,757138/currency=RUR/h... │ 3 │ -│ http://msuzie │ 3 │ -│ http://smeshariki.ru/real │ 3 │ -│ http://kinopoisk.ru/search │ 3 │ -│ http://afisha.yandex.php?app=membered │ 3 │ -│ http://afisha.yandex.php?ELEMENT_ID │ 3 │ -│ http://afisha.yandex.ru/lesyach-hotels │ 3 │ -│ http://3dnews.ru/?p=12636464/5#f │ 3 │ -│ http://afisha.yandex.php?id=727285 │ 3 │ -│ http://afisha.yandex.ru%26bt%3D90%26nid%3D1216629 │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://kaluzha-na-NovletedAutoSearch=0 │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic=79799398/?_h=search.htm... │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory_id=577&search/ab_district/date_id=2271][from... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://love.ru/?p=17057 │ 3 │ -│ http://love.ru/ru/irk/event=little&cated_country=-192.html?1=1&cid │ 3 │ -│ http://product_brand=RAINBOW&op_cated_content/search/keup/en-ru │ 3 │ -│ http://love.ru/recipes/indows │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostavia.travel.ru/s... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://kinopoisk.ru/sessulyanovka.ru/photosessid=3205&bt │ 3 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD0\xB2\... │ 3 │ -│ http://li.ru/filmId=XpzlPj8P8gE&where=all&text=\xD1\x81\xD0\xBA\xD0\xB0\xD1\x87... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://you_hashkaf.ua/search │ 3 │ -│ http://auto_repairs=0&confiscategoriya │ 3 │ -│ http://wildberries.ru/GameMain │ 3 │ -│ http://povaria/chak_naytimes.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://afisha.yandex.ru/comment/search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 3 │ -│ http://afisha.yandex.ru%2Fobuv-sapozhkivka=23&price │ 3 │ -│ http://afisha.yandex.ru/hotel-agen-Goluboj-9730 │ 3 │ -│ http://notebooking pressa │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://smeshariki.ru/GameMain.aspx#location │ 3 │ -│ http://soft.oszone.ru │ 3 │ -│ http://pogoda.yandex.ru/real-estate │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://auto_repairs=0&po_yers=0&price.ru/\xD0\xB6\xD0\xB5\xD0\xBB\xD0\xB5\xD0\x... │ 3 │ -│ http://wildberries.ru/basket&ch │ 3 │ -│ http://state/room=94720-recept-Salat-iz-glasya1lesyat │ 3 │ -│ http://video_dvd/ratesTypeSearch?text=\xD1\x87\xD0\xB5\xD0\xBB\xD0\xBE\xD0\xB2\... │ 3 │ -│ http://auto_id=0&engineVolumeFrom │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://pogoda.yandex.ru/vlas-moskovskaya │ 3 │ -│ http://video.yandex.ru/personal/offeebe34c7e12944&op_product │ 3 │ -│ http://trashbox.ru/book │ 3 │ -│ http://slovari.yandex.ru │ 3 │ -│ http://kommersantamina │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://afishers/story │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ https://slovarenok │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://guid=6&pw=2&pv=0&with_video.yandex.ru │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/photo/narod.irr.ru/katering=1&pr=569&s_yers │ 3 │ -│ http://audio_video.yandex.ru/mosday.html?item=4#photo446962 │ 3 │ -│ http://auto_ford Mix).mp3.ucoz.ru/v1430497.html%3Fhtml │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://alpari.yandex.ru/saint-petersburg.irr.ru/cars/page3 │ 3 │ -│ http://video.yandex.ru/extra │ 3 │ -│ http://love.ru/ru/irk/event=little&category_id=731-643736&mode=1 │ 3 │ -│ http://dom.net/provoe-pervouralnaya/ChildGluZ19oZXJlci1kYXRpb25zPU4mbj0zJmlkPTM... │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com.ua/kiev/detail.ru/auth=1..640... │ 3 │ -│ http://v102.ru/investate/apartment/?id=137336IseNhcbx3J85GkHSnzgnsPdZUU&where=a... │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://kinopoisk.ru/registernet Explorer&aV=5.0 (Windows NT 5.1; ru-ru&cE=true&... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://video.yandex.ru%2Fkategory_id=9759527418 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberring │ 3 │ -│ http://video │ 3 │ -│ http://radiorecord │ 3 │ -│ http://balcon_caddy Club relove │ 3 │ -│ http://afisha.yandex.php?partments │ 3 │ -│ http://omsk/evential/housession%3D240%26rleurl%3D//ad.adriver.ru/marshavskaya-r... │ 3 │ -│ http://en.lyrsenses/zamba_zabor_polnitsa-s.narod.irr.ru/bank/otzyvy/12031%2F%23... │ 3 │ -│ http://auto_id=0&color=0&confiscategory_id=3205&bt=7&bn=1&bc=3&ct=1&prr=http:%2... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://state_shariki │ 3 │ -│ http://loveplanet.ru/Bezli-all │ 3 │ -│ http://smeshariki.ru/cgi-bin/click.cgi%3Fsid%3D0%26pz │ 3 │ -│ http://video.yandex.ru/real-estate/out-of-town/house.ru&pvid=1&distreet_legkovo... │ 3 │ -│ http://wildberries.ru/cgi-bin/click.cgi%3Fsize │ 3 │ -│ http://bdsmpeople.ru/show/39932/Itemid,40.0.html_params%3DfsSaHR0cDovL2pzLnNtaT... │ 3 │ -│ http://kinopoisk.ru/spb.pulscen.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://smeshariki.ru/furniture.html5 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/manga.ru/?rtext=\xD0\xBF\xD1\x80\xD0\xB8\xD0\xB1\xD0\xB... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://saint-peter │ 3 │ -│ http://lazarevskoe │ 3 │ -│ http://whoyougle.com/iframe/iframe_right.ru/spb │ 3 │ -│ http:%2F%2Fwww.bonprix.ru/imagesize │ 3 │ -│ http://video.yandex.ru/realty/search/main.aspx?sort=popular │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_product_brand=4200&lo=h... │ 3 │ -│ http://ssl.hurra.com/iframe-owa │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&film/67... │ 3 │ -│ http://klubnich/zrh/ │ 3 │ -│ http://un1.adriver.ru/page=30138117749516%252f110916%252fmedicinema/movie_ross ... │ 3 │ -│ http://wildberries.ru/comment/search │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://cxem.net/324487194836848 │ 3 │ -│ http://saint-petersburg-gorod/goodal │ 3 │ -│ http://sunmar.ru/cart&ch=utf-8&sF=11,7,700&aN=Opera&aV=9.80 (Windows │ 3 │ -│ http://myloveplanet.ru/passenger/kitched_country_id=4312&input │ 3 │ -│ http://wildberries.ru/comme%2F2.12.388 Version/1552/page │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://pogoda.yandex.ua/telefon_shtukaturkey │ 3 │ -│ http://bdsmpeople.ru/index.by/ru/page=0&confiscategory_id │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://gotovim-doma.ru/personal/commersant.ru/image=19&pvno=2&engineVolum │ 3 │ -│ http://krasnodar.irr.ru/yaransferapid │ 3 │ -│ http://jobs-education │ 3 │ -│ http://irr.ru/index.php?showalbum/logizer8/num-1/refremost │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://afisha.yandex.ru/sell/resident │ 3 │ -│ http://afisha.yandex.php?p=176d43f96ef32d5bc1272 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://auto_id=0&color=0&confiscategoriya%2Fzhienskaya-advert25593 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://forum/topics/ingradskazka-lookoformalities/poetry/events/?date&csrf-8200... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://radioscannerica/film/47018.html?1=1&cid=691390&pvno │ 3 │ -│ http://video=0&input_with_video.yandex.ru/page/10/women.aspx │ 3 │ -│ http://pogoda.yandex.ru/real-estate/apartments/73151 │ 3 │ -│ http://video_dvd/suppoll/dleead6718.php?SECTION │ 3 │ -│ http://msk/platia-nashing/vanny.diary.ru/otdam_daily │ 3 │ -│ http://direct.yandex.ru%2F&sr │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=&is... │ 3 │ -│ http://irr.ru/index.php?showalbum/login-do-500-kv-m-Maya │ 3 │ -│ http://kinopoisk.ru/real-estate=2013-07-2089241607/photo=0&with_exchangeType │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/used/KIA-Cee-d... │ 3 │ -│ http://tyva-5/country=-1&washestvo/den_sidentialAmount │ 3 │ -│ http://rukodel=0&sort=newly&trafkey=27065/2/child.aspx#location │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://maps#ru_5_ru_1_ru_ru_ru_202_ru_1_ru_ru_ru_ru_2_ru_1743.html?oscsid=36303... │ 3 │ -│ http://zapchastny_fashing_mashes/index.ru │ 3 │ -│ http://kinopoisk.ru/cgi-bin/click.cgi%3Fsid%3D1216 │ 3 │ -│ http://mylove.ru/zoom.php?GID=2&IsOrder │ 3 │ -│ http://smeshariki.ru/news/2013/peshnye-udivlekanka.ru/l_03_00/bodreamfood.ua │ 3 │ -│ http://arma/frl-4/travel.ru/moscow/details │ 3 │ -│ http://rsdn.ru/info_all=yes&razdumy-i-trikshop/search&_h_page/1719920 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://chehod/zvenia8312&input_who2=1&input_age1=35&aN=Netscape │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory │ 3 │ -│ http://myloveplanet.ru/bad_by_sidential/nizhnieiewva88 │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/procoolonelopitered/ministrict/3d-probeg-340-... │ 3 │ -│ http://ssl.hurra.com/iframe/iframe-owa.html%26custom%3D%26custom │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://avtoto.ashx/1001087496197797217530729; Media Centernet_mastersburg │ 3 │ -│ http://zagranimals-planet.ru/user/31059&Module │ 3 │ -│ http://kuharka=48&modeloveplanet │ 3 │ -│ http://whoyougle.ru/basket&ch=utf-8&sF=11,7,7,7,700 │ 3 │ -│ http://sendflower │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://bdsmpeople.ru/Web/price │ 3 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 3 │ -│ http://afisha.yandex.ua/index.ru/recipe │ 3 │ -│ http://votpusk.ru/ │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://auto_operey-v-v-meha.ru/catalog/public │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://smeshariki.ru/index.ru/main.pl?cmd=show/47555 │ 3 │ -│ http://afisha.mail.ru/stars/page │ 3 │ -│ http://irr.ru/6323%26bn%3D27888895,96772&op_page47 │ 3 │ -│ http://video.yandex.ru%2F%2Fwww.bonprix │ 3 │ -│ http://myfashihtzu.html?1=1&cid=65625f313230303&po_yers=2013/07 │ 3 │ -│ http://forum/topnews/222968695,910112_1164074834-908745 │ 3 │ -│ http://video=0&is_hot=0&che_simeis │ 3 │ -│ http://smeshariki.ru/chipinfo │ 3 │ -│ http://myloveplants_list-obl.irr.ru%2Fobuv-zhienskaia-modiezhda │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://pogoda.turizm.ru/communit=0&vip=0&order_by=2 │ 3 │ -│ http://kurort/SP1399&op │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://stories.ru/art/MACKLEMORE │ 3 │ -│ http://irr.htm?from]=&int[852][to]=10&lastdiscussins/?keyworld │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountry │ 3 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 3 │ -│ http://afisha.yandex.php?w=3160/transports │ 3 │ -│ http://afisha.yandex.php?link=114735200&brand=23368 │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://wildberries.ru/page=0&vip │ 3 │ -│ http://smeshariki.ru/Web/price │ 3 │ -│ http://nizhnieie-bielie-bieriends&fb_source-temno │ 3 │ -│ http://forum/topnews/2229362067528195&op_categoriya │ 3 │ -│ http:%2F%2Fmuzhchine/ru-g-Chelya_v_tsentyabrskii │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://zarplata.ru/?p=1290&op_product_price=990348531&schoosOSRquM8gE&where=all... │ 3 │ -│ http://radiorecord.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://guid=6&pw=2&pv=0&po_yers=0&with_video │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&text=\x... │ 3 │ -│ http://ur.hh.ru/file/news/2013 \xD0\xB3\xD0\xBE\xD0\xB4\xD0\xB0 │ 3 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 │ 3 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&top │ 3 │ -│ http://my.alpari.ru/filmId=yJg89hqV8gE&where=all&film/530/?fromCityCodeForcentr... │ 3 │ -│ http://gorbus.aspx#localiformalitic │ 3 │ -│ http://ej.ru/muss/roll_to_audi/mode=replies │ 3 │ -│ http://pogoda.yandex.php?t=14555667679/?PAGEN_3=5&s_yers=0&numphoto/62232/7#f │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD1\x81\... │ 2 │ -│ http://pogoda.yandex.ru&xdm_e=http://name=\xD0\x91\xD0\xB0\xD0\xBB\xD0\xB5\xD1\... │ 2 │ -│ http://auto_id=3159&input_age2 │ 2 │ -│ http://pogoda.yandex.ru/chat/ivan │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://sslow_13500000%26rnd%3D278888 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://moscow/detail/Torgovljatory/storii_efferanslyatting │ 2 │ -│ http://kinopoisk │ 2 │ -│ http://video=0&input_state │ 2 │ -│ http://poisk.ru/news/articles │ 2 │ -│ http://forum.php?t=420 │ 2 │ -│ http://mysw.info/node/21544 │ 2 │ -│ http://smeshariki.ru/tashkinsk │ 2 │ -│ http://smeshariki.ru/product&op │ 2 │ -│ http://board=11.ua.150.html%3Fhtml │ 2 │ -│ http://afisha.mail.ru/cheva.ru/reportby │ 2 │ -│ http://pogoda.yandex.ru/jobinmoscow │ 2 │ -│ https://diary/2013-07-05/101090/currency │ 2 │ -│ http://slovarenok.ru/chapochki │ 2 │ -│ http://kinopoisk.ru/saint │ 2 │ -│ http://krasnyj-chastory │ 2 │ -│ http://pogoda.yandex.ru/real │ 2 │ -│ http://3dnews.ru/msk/events │ 2 │ -│ http://yartb.html?city=55&TopicID=2&IsOrderedProduct │ 2 │ -│ http://yaroslavl.irr │ 2 │ -│ http://pogoda.yandex.php?showalbum │ 2 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 2 │ -│ http://wildberries.ru/editem_no=100¤cy=1#country=&op_proizvodskaya-obuv-z... │ 2 │ -│ http://wildberries.ru/filmId=4920/room=1&lang=all&filmId=DnGbyVQVUXI&wheretomug... │ 2 │ -│ http://wildberrin/foton │ 2 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://omsk.spb.ru/filmId=RUb3Hf2m0Cw&where=all&text │ 2 │ -│ http://afisha.yandex.php?s=4d450&pid │ 2 │ -│ http://afisha.yandex.php?city=418&view │ 2 │ -│ http://afisha.yandex.ru/?trafkey=54073799 │ 2 │ -│ http://kaluga/?ext=\xD1\x80\xD0\xB5\xD0\xB9 \xD0\xBD\xD0\xB0 \xD0\xB1\xD1\x80\x... │ 2 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 2 │ -│ http://news/398261_enl.jpg-1 │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://pogoda.yandex.ru/images/0001216629/0 │ 2 │ -│ http://rlsnet.ru/nogin.html5/v12 │ 2 │ -│ http://guid=6&pw=2&pv=0&price=690&s_yers=1916 │ 2 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=2furii10.html?city=0&hide │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://ur.hh.ru/page=10&can_be_checked_auto_region=1&rm=1&lang=all&film/18212.1... │ 2 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.041 user 0.380000 sys 0.004000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -┌────────────────┬────────────────┬─────────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ TraficSourceID │ SearchEngineID │ AdvEngineID │ src │ dst │ pageviews │ -├────────────────┼────────────────┼─────────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33069 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 24703 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 15817 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 14233 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 │ 6549 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 │ 5257 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 5257 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 3547 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login │ 3538 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik │ 3371 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php │ 3333 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 3309 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 2923 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 2616 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 2441 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php │ 2418 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 2390 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari │ 2367 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 2349 │ -│ 1 │ 0 │ 0 │ https://google.com.ua/url?sa=t&rct │ http://komme%2F27.0.1453.116 │ 2228 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 1920 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://komme%2F27.0.1453.116 │ 1679 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ekburg.irr.ru%2Fpuloveplanet │ 1340 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://aliningrad │ 1270 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1254 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1213 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1193 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1186 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1142 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F27.0.1453.116 │ 1007 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 954 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://aliningrad │ 859 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login │ 821 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 791 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 777 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 757 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 722 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://video.yandex.php │ 702 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 691 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/obucheyelants │ 684 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 632 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 593 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 577 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://smeshariki.ru/obucheyelants │ 566 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.php │ 452 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 445 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBA\xD0\xBE\xD0\xBD\xD1\x82\xD1\x80\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 422 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 421 │ -│ 0 │ 0 │ 0 │ │ http://obninsk/detail │ 407 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 386 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug.ru │ http://irr.ru/index.php │ 374 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru/index │ 360 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 348 │ -│ 2 │ 0 │ 13 │ │ http://komme%2F27.0.1453.116 │ 347 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-2011/43597 │ 293 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 293 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6HS │ 282 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 268 │ -│ 3 │ 72 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 267 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 259 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 257 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari │ 256 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 │ 241 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login │ 237 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 │ 236 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/28435&lr=157 │ http://komme%2F27.0.1453.116 │ 233 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/ru/photo/6936313555&text=\xD1\x85\xD0\xBA \xD0\xBB\xD0\xBE\xD... │ http://komme%2F27.0.1453.116 │ 224 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php │ 223 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cat/dushkirillovyj │ http://komme%2F27.0.1453.116 │ 222 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=359&op_page2/... │ 218 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kriminally-bezhevsk │ 217 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0 │ 212 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 207 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 202 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 199 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://ekburg.irr.ru%2Fpuloveplanet │ 199 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 198 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 197 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 195 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/414526863.xlsx │ 191 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CDMQFjAJ │ http://irr.ru/index.php?showalbum/login-kiriskaya-obl.irr.ru/index.ru/GameMain.... │ 190 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=0&with_photo.ashx/101/4/?cat=6257271 │ 188 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=partments-sale/search?text=\xD1\x81\xD0... │ 187 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://afisha.yandex.ru/index │ 183 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://ekburg.irr.ru%2Fpuloveplanet │ 171 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 168 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 164 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 163 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://ekburg.irr.ru%2Fpuloveplanet │ 160 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 160 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/life.ru/cars/misc/travel.ru/?trafkey=058143&p... │ 155 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 │ 154 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=577&oki=1&oby=&op_s... │ 152 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://wildberrior/uphold │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6HS │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 149 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 146 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustic/meterburg │ 144 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 144 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 144 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E │ 141 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 140 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 136 │ -│ 1 │ 0 │ 0 │ http://kombardighantnie │ http://komme%2F27.0.1453.116 │ 136 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login │ 135 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kysjacevtika │ 132 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://komme%2F27.0.1453.116 Safari │ 124 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 121 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category/stroy/dachines... │ 114 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/?state │ http://komme%2F27.0.1453.116 │ 113 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/GameMain │ http://komme%2F27.0.1453.116 │ 113 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 111 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login │ 110 │ -│ 3 │ 85 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 110 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kardigan │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 107 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosoftwarenok.ru/projects/zhbi.po... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 105 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268143.html?1=1&cid=577&o... │ 104 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 104 │ -│ 0 │ 0 │ 0 │ │ http://tvidi.ru/photo=0&confiscategory_id=0&engineVolumeFrom=&fuelRateFrom=type... │ 103 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 102 │ -│ 3 │ 14 │ 0 │ │ http://komme%2F27.0.1453.116 │ 102 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 100 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 98 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://video.yandex.php │ 97 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 96 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.21150895 │ 96 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?sort=price │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 95 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login │ 95 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.12.388 │ 93 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 93 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 92 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberrior/uphold │ 92 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 91 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-tanks/search=1&ady=62&modeloveplanet.ru │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 90 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.145332.15&he=10&category_id=2740387993 │ 89 │ -│ 1 │ 0 │ 0 │ http://in-the-weightEnd=2351&numphoto=&isExclusiver.ru/alertljus │ http://komme%2F27.0.1453.116 │ 88 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fprodazha_Italja_unit=1&av=1&nm=1&lang=ru │ http://irr.ru/index.ru/show/414526863.xlsx │ 87 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 86 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb1.html?item_no=386703/?bundle=7172&msid=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 86 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 │ 85 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 84 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733582852/ │ 84 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupit/action │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 82 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 82 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?bodystyle │ http://komme%2F27.0.1453.116 │ 81 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F22.14&he=768486 │ 81 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusk.ru/ru/lookaginitial/Prodayu-Dach... │ 80 │ -│ 3 │ 4 │ 0 │ │ http://komme%2F27.0.1453.116 │ 80 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 79 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://aliningrad │ 78 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 78 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login │ 76 │ -│ 1 │ 0 │ 0 │ https://go.1ps.ru/show&showforum │ http://komme%2F27.0.1453.116 │ 76 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandex.ru │ http://komme%2F27.0.1453.116 │ 76 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26221/detail.ru/v1496366&... │ 75 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php │ 75 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 74 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%2F&sr=http://bonprix.ru... │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len80/page/product │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filtr/all/perm.pulscen... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 73 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 73 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F1.7.1364.172 │ 72 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://diary.ru/forum/intries │ 72 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/show/414526863_112 │ 72 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2618561&pp=1059&op_produc... │ 72 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://video.yandex.php │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 71 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 71 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari │ 71 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://aliningrad │ 71 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=product_id=42&Selection.chelov.ru/searc... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/yandsearch?te... │ http://irr.ru/index.php │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/server=sc.chel.ru/main... │ http://irr.ru/index.php │ 70 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification/?year=\xD0\xB1\... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2791954~43.87725656132&op... │ 69 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://komme%2F27.0.1453.116 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/produkty/bleacs/udilis... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 69 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&wi=1366&br... │ 68 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 67 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731&CgID=124jc&where=all... │ 66 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/Yozh/Goodda │ http://komme%2F27.0.1453.116 │ 66 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2725215195&ti=\xD0\x9F\xD... │ 66 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://ekburg.irr.ru%2Fpuloveplanet │ 65 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru/index │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 64 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://afisha.yandex.ru/index │ 64 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nmg.com%2F4.0 Safari%26clients-sale/search&e... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 62 │ -│ 2 │ 13 │ 13 │ │ http://komme%2F27.0.1453.116 │ 62 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login │ 62 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://ekburg.irr.ru%2Fpuloveplanet │ 61 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 61 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 61 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26092.html?s_text=\x5C\x5... │ 59 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/thenon-houses/public/g... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27755f32316.30; .NET CLR ... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742/details/?cauth=0&dam... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fautoad/kniga.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26004/?_h=galle/\xD0\xBF\... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert27930555&sob=1&p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2692.html%3Fhtml?period=3... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/world/photo31469:Album... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=leting "HalUXI&where=\xD0\x9F\xD0\xB5\xD1\x8... │ http://irr.ru/index.php?showalbum/lofiver.ru/articles/86121%26uid%3D139750%26ad... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27000,224648804-recept-so... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/koshka.com/ig/iframe-o... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/realty/suntime-5/extre... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory=cinema.perm.p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742357/detskii_gosts.xml... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742304][from]=&int[14670... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694336/photo/suzannason/... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Forum25/top... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268320995,968650f45491882... │ 57 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupit/action │ 57 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1375605&ga... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://video.yandex.php │ 56 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga/choice/... │ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_product_... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?showtopic,5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26017/quarius_Moscow/cavi... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2726125413975d77cf&search... │ 55 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 54 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266848223/review_type=pro... │ 53 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 53 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26989%26bt%3Dad.adriver.r... │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/album/login-1800002&pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 52 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0 │ 51 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2698172,93932353064614618... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605085268a9c4d61-9862.49... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-36575c72937][to]=&int[12822304 │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_v_bordovye-printime.ru │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/investate/comple/make/?page5/&docid=jlMNIrXw... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 50 │ -│ 0 │ 0 │ 0 │ │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 50 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F11.7.1364 │ 50 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 50 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26051.htBeg=6&NightRegist... │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD0\xB8\xD0\xB1... │ 49 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 49 │ -│ 5 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 49 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?group=days=3&text=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27410/photo-2.xhtml&serve... │ 48 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandsearch │ http://komme%2F27.0.1453.116 │ 48 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 48 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusty-i-vkont.at.ua/search=0&userId=0... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266128182&op_seo_entry/de... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?sort=&br... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/intrumen │ 46 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://afisha.yandex.ru/index │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumanegenre=33155?analog/kitchen_mini... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik │ 46 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login%2Flick.g.doubleclick.diary.ru/car/kw/3061/us... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734.html_params%3Dfh_loc... │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://afisha.yandex.ru/index │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/GameMain.p1Yo4A │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ua/searchads/jo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605906/frl-2/sportal.ru/... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fshow/lpp/cre.ru/pers... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.asp?search&ev... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logize.ru/msk/events_liver.ru/russert-plies.r... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26099486633033&countpage=... │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 43 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://sslow_135000008&position=search │ 43 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischet-solik/odezhda-plos... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert277553/38021/66936575776/... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271050&with_photo.kurortm... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 43 │ -│ 1 │ 0 │ 0 │ http://forums/liii-kuler S22oHgBJTngegotavgorod55.ru/filtr[2]=42 │ http://komme%2F27.0.1453.116 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-folders/?end=9a08488... │ http://irr.ru/index.php?showalbum/litamak.irr.ru/catalog/8570/travel.ru/cgi-bin... │ 41 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 41 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 41 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/0001216629/#top_by │ 41 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26040931&s_yers=0&with_vi... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://ekburg.irr.ru%2Fpuloveplanet │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.137508&s_yers=200... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://aliningrad │ 40 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logito8ergo_6470/page_type_id=20872/0/001:12:... │ 40 │ -│ 0 │ 0 │ 0 │ │ http://afisha.mail.ru/dmitrij │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/readar-nashi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27924563724&key=46960/med... │ 40 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://lib.ru/exp?sid=3205&bt=7&bn │ 40 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 39 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credit │ http://komme%2F27.0.1453.116 │ 38 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=8570/page=5&s_yers=2006 │ 38 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2679/detail/5482,935033/2... │ 38 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 38 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login │ 37 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dnevnoy-kv-Samara.irr.ru/searchAutos&marka=4... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 37 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://komme%2F27.0.1453.116 │ 37 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=theating&page=... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?group │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2784389/room=39695,966681... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/forum/topicID=269&stat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/votkim-rukav-i-kova-ul-adve... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filmId=xFX1UbTNJjxe4yF... │ http://irr.ru/index.php?showalbum/login.asp?razdel7/test/matched=115909d9_dsc07... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wolf-club478561/OPEL | \xD0\xB0\xD0\xB2\xD1\... │ http://irr.ru/index.php?showalbum/login-marka=13&city&custom=0&damages/0001216 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27553&s_yers=0&po_yers/46... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert275226607660?design=6efxq... │ 36 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=show=&fgroup-tab-mara.irinables/yearT... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278171&size=52094&op_seo_... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27330528/photo/6223799%26... │ 36 │ -│ 5 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 36 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36&he │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://smeshariki.ru/obucheyelants │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=post_neu%3D22%26pz%3D0%26rleurl%3D%26xp... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 35 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/8569 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vip.ru/book.com/photo/7086/page=0&state=mont... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/index.ru/katego... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-cukickdrops_bak_yant4tlGtZgy3BQ&bvm=bv.49478... │ http://irr.ru/index.php?showalbum/login-501-98552&op_uid=1060948/6#f │ 35 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (Windows │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19&m_staraya-obl │ http://irr.ru/index.ru/show/414526863_112 │ 34 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.12.388 │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 34 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_uid=1... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/promo=C-Tease/rent/dat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/list │ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 34 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/directadvert/kavanga_728x90.html │ http://komme%2F27.0.1453.116 │ 34 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshops.xml?typ │ http://komme%2F27.0.1453.116 │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?cPath=default.ru/yandex.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33 │ -│ 1 │ 0 │ 0 │ http://auto.ria.ua/\xD0\x9A\xD0\xBB\xD0\xB8\xD0\xBC\xD0\xB0\xD1\x82\xD1\x8C\xD1... │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://video.yandex.php │ 33 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 33 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser │ 33 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265748ba3f755671_1162684&... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertif?sle=85000 \xD0\xB4\xD0... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/pub │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364 │ 32 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zxcvbnm1990&search/jobinmoscow.ru/yandex.by/... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements-obschaya │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fproduct/foto-4/login... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&op_category_id=1174]... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniturers_id=575386110 │ http://irr.ru/index.php?showalbum/login.exit/rem/php/board/10_kruizer_8267049&o... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiepochto_id=93231238][to... │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://afisha.yandex.ru/index │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ssl.hurra.com/iframe │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischuk_Kerasivye-klavik/?... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/jobs-education/m_acces... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26791e3a7c543c9bf9ef5c0-9... │ 31 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt │ http://komme%2F27.0.1453.116 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertificia/?letteo_985428161/... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_api.php?cid=41389/rooms/perm.pulscen.ru/sear... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 30 │ -│ 1 │ 0 │ 0 │ http://domchelov.html&lr=55&text=\xD0\xB4\xD1\x80\xD1\x83\xD0\xB3\xD0\xB8\xD0\x... │ http://komme%2F27.0.1453.116 │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoryID=12452929587/... │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 30 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 30 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268630533&site_ot=&price_... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-k608i.trashbox.ru/cars/page5/&docid=577&lr=2... │ http://irr.ru/index.php?showalbum/logii_58247.php?forum.borovichy77/page5 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2716/~3/150160947694,9745... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/products/?category_id=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2696374/#page/tab=com_avt... │ 30 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/topic │ 30 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.14&he=768&wi=1920 │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26979553039353936694&ch=u... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605446518%2F&sr=http://e... │ 30 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://smeshariki.ru/obucheyelants │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-carava/fotok-8-steklove.ru │ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26928142&op_products/view... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kupibatikov/?recrete/personal/klimat.ru/work... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/wedditeli_foto-2/__48/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertifications[0][150]=60&inp... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_countpage/1 │ 29 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x9A\xD0\xBE\xD1\x80\xD0\xBE\xD1\... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/click.net/paged=696&lo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274229696.0 (Windows)&bL=... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-14132&with_photo=1&srtime-zone.net/catalog/t... │ http://irr.ru/index.php?showalbum/login-sierra%2Fdlia-zhienskaia-moda-zhiensmed │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 29 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2664952&xdm_p=1#country=-... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704.html%3Fhtml5/v12/?fr... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734/fotographic_2017666&... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategoriya/zhienskaya-... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9649.html%3... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/small_mercial-shoppicc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27350350394&ch=UTF-8&sF=1... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_seo_entr... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-baza/gadge... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27425.3120%26ntype_id=2&r... │ 28 │ -│ 1 │ 0 │ 0 │ https://directions[0][1541769377921968 │ http://komme%2F1.7.1364.172 │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13733097&op_categ... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert272291684/hasimage=0&view... │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269500469412216388/detail... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/mann japanel/?text=\xD1\x81\xD0\xBC\xD0... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-my-sovies/bebybum.homestion bonprix.ru/... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikarbox=2&tz=9b81998&po_y... │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-176-kakaya-obl.irr.ru/search?lr=191&ei=N6rrg... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?lang=all&fi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\xA4\... │ 28 │ -│ 3 │ 95 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/anime-2/#album/l... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-eve-nn.ru/cars/passenger/\xD0\x92\xD0\x90\xD... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274236&pv=15&prr=8&sid=35... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/41452626u1zIq0SGLXCI │ 28 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic/8939858-59929477/detailshop │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F22.14&he=768486 │ 28 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://ekburg.irr.ru/#lingvo │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678/page=2&marka=84&mode... │ 27 │ -│ 3 │ 2 │ 0 │ │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/search?cl4url=http://yandex.ru/online... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27013.ya.ru/sportalznakom... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert24061.jpg.html%3Fhtml?1=1... │ 27 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031343-sh-898675/sort=pri... │ http://irr.ru/index.php?showalbum/login-5158&jenre/slyudya_metroman.ru/GameMain... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19195/offset=101&district=&city&with_photo=¤cy │ http://irr.ru/img/catalog/53485785/topic/8939850.php?page=3&marka=84&mm │ 27 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 27 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 27 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fhit_list.html?s... │ http://irr.ru/index.php?showalbum/login-irake-myservierk-supierts%2F&ti=\xD0\x9... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-oleginnesujeli-i-centum=etarget=search?clid=... │ http://irr.ru/index.php?showalbum/login-kupe.html_params%3Drhost%3Dad.adriver.r... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27928092_price=\xD0\xBC\x... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/mazda-dievochnye_avari... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-19.xhtml?city_to_one=All&film]/on/orders/810... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/1.19.mobile_photo=6001... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27630/?item_id=0&bodystyl... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ 1 │ 0 │ 0 │ http://bonprix_ru_11559&lr=12&usln │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lizova_ii_1112_1150&option[price_do=300... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E&wher... │ 26 │ -│ 1 │ 0 │ 0 │ http://yandex.ua/?target=search/tab=user │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detall/seconomicsmovinki │ http://komme%2F27.0.1453.116 │ 26 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 26 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://obninsk/detail │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/loginsk.irr.ru%2Fkategory_id=9204471-650/?_h=... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login-jjjekrju-s-pring=1&price[price=\xD0\xBC... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification.ru/messa.ru/rea... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lejandsearch?text=\xD1\x82\xD0\xB8\xD1\x85\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert21124631/?Search.php │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 26 │ -│ -1 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_category... │ 26 │ -│ 3 │ 197 │ 0 │ │ http://komme%2F27.0.1453.116 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?messa.ru/worlds/page2/7277932582&text=\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 26 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-kupe-20010120652838799.html?n=7148.html... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemey-volvom80Cw&where=a... │ 26 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=607&state=4... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.22 (KHTML, like Gecko) │ 25 │ -│ 1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 25 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/people.ru/cars/passets... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731/?city=0&pvno=2&evlg=... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vivarki/redki_sdelaet-law.ru/produkty/kartgo... │ http://irr.ru/index.php?showalbum/login=driff/en-ru/?p=2#messages/00001216629 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 25 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert264314953); ru) AppleWebK... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.html&ei=GcXrUYe8F2DAU-RbuRlLMczoJ--5uDCx8 │ http://irr.ru/index.php?showalbum/login-132/#images/0000.h95/\xD1\x82\xD1\x8E\x... │ 25 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://obninsk/detail │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search?text=myaccountry │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguard-payments-sale/se... │ http://irr.ru/index.php?showalbum/login-88i8LaDyEkCVv6-DhRfEDcw==&action │ 25 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/yandex.ru/?f... │ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.ru/film/46351/frl-2/bage │ 25 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605838.html5/v12/?from=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-link=1147373-1&p=1&p=2&text=\xD0\xBC\xD0\xBE... │ http://irr.ru/index.php?showalbum/logisterlingvo/#! │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741559&t=5204/make=Chrys... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694589/detail/555-javata... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=shops.html?id=1&body_type=\xD0\xBF\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781472265&op_seo_entry=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626rleurl%3D//ad.adriver... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685/price_ot=&price=\xD0... │ 24 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://diary.ru/forum/intries │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26685857947301_Zoryatiya/... │ 24 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-117031&op_category&op_seo_entry=&op_uid │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671291&fridgets/2012&pri... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27399992.php/board,13.0) ... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-annative-expressageId=0oVXx21hUXI&where=all&... │ http://irr.ru/index.php?showalbum/login-rybnovlevojj_mamountry=-1&type%3D0 │ 24 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://video.yandex.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguar.ru/page4/?emain.a... │ http://irr.ru/index.php?showalbum/login=ogabass.ru/filmId=9WOqzzitive&view │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo/7... │ http://irr.ru/index.php?showalbum/login-kupit-plitka-s-korsiety/art/151/n4p/160... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/intrumen │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kupalnaya_elit=&id=3&clid=9403&lr=1913849 │ http://irr.ru/index.php?showalbum/login-gallebia_zhurnalCall D.R.E.mp3ex.net/ph... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lolacake/tatyaka.html?1=1&cid=577&oki=1 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinglish.rus-l7-p70505-1... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/yandsearch?lr=1... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-yvaken/topic=7702.jpg.html?1=1&cid=577&... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-547552/1/?sma=RAINBOW&op_uid=fdd1b9d2721728&... │ http://irr.ru/index.php?showalbum/login-kapusta-advertika/search/room=1&damage=... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=1&bc=3&ct=1&pr │ 23 │ -│ 1 │ 0 │ 0 │ http://auto_volkswagency=1&text │ http://komme%2F27.0.1453.116 │ 23 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgarials/commend/searchvage-2.html&dt=13734... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-tuniki_510... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263090024189-528619c2077/... │ 23 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/ru/index.ru%26bid │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333572620201709/page/10... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news/radio&clid=198555... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26939.html?page/3/#count=... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2740974%26pz%3D0%26ar_sli... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/kategory_id=5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 23 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/resultatya9176da22f1a521a5853.html&... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26600721376439322%26pz%3D... │ 23 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 23 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga_728x90.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://afisha.yandex.ru │ 22 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemennoke0070553995f27d6... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2697574697.html_param=0&u... │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-105vr/ │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=search.tutung/s... │ 22 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/wheel.ceratornaya_solnechka │ http://komme%2F27.0.1453.116 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2091&local=1&TypeSearch?mail.ru/yandsearch&c... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26058&nnum=s4746835895&op... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-10760b31b65633eZateq eb806e887d9f15ccf593280... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-the-ili-tempera-minsk.irr.ru/produkty/bluzki... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739693071/pomer... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodny │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2649.html?pg=menu_29.jpg&... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/v1465][from]=&int[157281 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267830840994,95688781470%... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-business/sale/ru/search?mail.ru/film%2Fbarna... │ http://irr.ru/index.php?showalbum/login-zakon_type=1&fuelRatesTypeSearch │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 22 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27200,55.7654.html_parat-... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&l... │ http://irr.ru/introlux_page5/2/page/Renaul.irr.ru/start=1500-rublic/gamemain/Tu... │ 22 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26601629][from=&fuelRateT... │ 22 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://ekburg.irr.ru%2Fpuloveplanet │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-natashkarola.irr.ru%2Fviewforum/MsgList.html... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26900/technics-technics-t... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liliate_id=24145602&with_phoney.yandex.ru;ya... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&city[7]=23239330794,25826044_Black_lis... │ 21 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?price_till beli.php?cx=015216684_36 │ http://komme%2F27.0.1453.116 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694,978825315f373400/det... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691_ru_17832523.html_par... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1) AppleWebKit%2F537 │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/world/photo/41/62b1dfa450/3/women-clother%26tms%3D%26ev_ltx%3D... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/basketshop.ru/yandsear... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/forum%2Fukhov/l... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265228.html?1=1&cid=577&o... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27025&Select[4][]=32598.h... │ 21 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://wildberrior/uphold │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/houses/passenge... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo44953.116.php?t=4... │ http://irr.ru/index.php?showalbum/login=ko&page=0&view.aspx?group_cod_1s=85&key... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/?from │ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-dance/index.ru/?favorite_off=1&encoding&hl=\... │ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logino-s-grigerator/page1=&input_age1 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/logii-bin/click.cgi%3Fsid%3D158195,97987231-9... │ 21 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cars/commeddesk.ru/google_s&12.5.746.59954.30 (KHTML, like/\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26737865/?page/12186/#/ec... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ramblery/pic/893985650697... │ http://smeshariki.ru/obucheyelants │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login.html?1=1&input_who1=2&input_who2=1&inpu... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/club.ru/anime-zone.ru/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dietsik.ru/razdel_id=111,7,700&w=728x90.html... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-brie... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929&from%3D%26custom=0&... │ 21 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2186/detail.aspx#location... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739353/details.... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kupalnik │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/9-0--navam-zhien... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741465][from]=&input_wit... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification%2F4.0; XBLWP7; ... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_uid=1147... │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login=uzpp2XnEw&bvm=bv.49784469][from │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-Larki-i-korobeg-1124-95367/guestblowinp... │ 20 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26219&wi=1280&lo=http://w... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/yandex.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estatic.diary.ru/... │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=58&Selectronics-technics/k... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?er=2&text=\xD0\xBA\xD1\x83\xD0\xBF\xD0\xB8\... │ http://irr.ru/index.php?showalbum/login=razer2.moikrug.ru/recipes/shop.spb │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b706234651&op_uid=1&b... │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&price │ 20 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=NeIdeaCenternet Explorer&aV=5.0 │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertificirovka.ru/noteating-i... │ 20 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271161076&st=261&t=170977... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate=0&ReturnUr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313163307/?from]=&int[15... │ http://che.ru/produkty_zarubezhei-niepochekhly │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604370757034dea482207549... │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_api.php?id=7262882,9454472&op_product_n... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 20 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/cars │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26637&model=1705.html?1=1... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-karbox=0&top=0&category/1961/#images/00... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumilora481 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt=13733129/room │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-iulyanovskaya-obl/lyubvi?page=166733&eid=485... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27502/detail/?folders/#pa... │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626u1zIq0SGLXCI&where=al... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=240&u_cd=242035165&input_who2=1... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikulina.ru/real-estate/ou... │ 19 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?sort=popup/casualg... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news_id_72387877055/nu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/filmId=eRaB4pYAXCI │ http://komme%2F27.0.1453.116 │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBB\xD0\xB8\xD0\xBA\xD0\xBE\xD0\xBB\xD0\... │ http://irr.ru/index.php │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.ru/daily │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login=perfect.yandex.ru%2Fkategoriya%2F537 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260540718534/?dateOn=1&bo... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261921&pr=2441185112.html... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26672655462.html?city.ru/... │ 19 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostok.ru/cars │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27404895,95923.html%26cus... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/check=1&redir=1&lang=a... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671&Destige-all.html_par... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313437&pvno=2&evlg=VC,2;... │ http://irr.ru/index.php?showalbum/login-rizova.ru/look/timashirtsevm.cofe │ 19 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2638/?from=&raceTo=&power... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6HS │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.php?f=11340.1j1j2.12...5998-103358071/8/page... │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/00007/10/1320006&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27355f3132366336601&uuid=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166333/price[price_till]=&pri... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F_liveresum... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto_repai... │ 19 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.15751 Safari%2F5.0 (Windows │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://smeshariki.ru/obucheyelants │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2675406828ac956028692581/... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://obninsk/detail │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26968794618/irr.ru/real-e... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2629&lr=65&rstr=-213&text=back=False&withmos... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2702483,631;IC,444041%2F&... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?search?text=\xD1\x80\xD1\x83\xD1\x81\xD0\xB... │ http://irr.ru/index.php?showalbum/login-inadlinny-sched_car=0&city=0&price=18&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26669E116-1-1550046560013... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=http://video.yandex.ru/real-estate │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274026181891&rn=52&brand=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/dlia-zhiensk... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&checked=0&state/room=10002-g-v-program... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-165&jenre]/49047&lr=163&text=samsung ga-moda... │ http://irr.ru/index.php?showalbum/login-2-komn-v-na-92f5-6ccf-fef3-013f9f926a21... │ 18 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ru/index │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5 │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?elmt=popular&where=all&film/723/num │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/restate/out-of-town-resh=1&cnt=1373... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2012-recept-Ragu-iz-2-x │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupaljinik-slidi/places/?PAGEN_1=2 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=deltec&type=citymo=&version%2F4.0 (Linu... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27534.30 (KHTML, like Gec... │ 18 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kochtinsk.pulscendinskiy-krasnodar.irr.ru │ http://irr.ru/index.php?showalbum/login-kuplyuskij/zapchastorii_state/out │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zzzi.ru/a-shop and blademas/?id=1&marka=0&ma... │ http://irr.ru/index.php?showalbum/login-2003prev=/search/index.ru/meteor.html%3... │ 18 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login.moikrug.ru/catalog/otchenko-ul-advert27... │ 18 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27132069304;IC,1511e8d158... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278453&with_exchange=0&ex... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=367132&pv=2... │ 18 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27071038_114736895,923401... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x9A\... │ 18 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27420780790931.html5/v12/... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/8018&l=malkogo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/?target=search?... │ http://irr.ru/index.php?showalbum/login-bigutensiysk.irr.ru/regular&bid=3205&bt... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kanza_tab_2499472&lr=1074&sort=popular │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-natura.ru/jobs-education=post_137336ID0... │ 18 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/obuv%2F │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-21102&text=\xD0\xB1\xD0\xB0\xD0\xB1\xD0\xBA\... │ http://irr.ru/index.php?showalbum/login.mospsy.ru/super-na-kostronics/tv-audio.... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685&numphoto=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertimeshariki.ru/cgi-bin/cli... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626p/ │ 18 │ -│ 1 │ 0 │ 0 │ https://diary.ru/magnitogorsk │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sien-zhienskaya-i-kvartir.html?id=1955451-01... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260908861%26point-peter=&... │ 18 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1453.116 Safari%2F8536 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeSearch?text=\xD0\xB2\xD0\xBA\xD1\x83\xD1... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=yators/?jumping.ru/series.ru/priceup&page=3&... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinger/\xD0\x93\xD0\x90\... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga1788778.137329TVmbFNmbVNaR0YwW$UyNDg4fxS... │ http://irr.ru/index.php?showalbum/login-sienskaia-moda-zhienskikh_rabotjaga.ru/... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=36427929&stat... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929750%26ar_sliceid%3D2... │ 18 │ -│ 4 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691c352005&pvno=2&evlg=V... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27422544/3/womens.ru/ufa.... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/cars/communalux.ru/dos... │ http://irr.ru/index.php?showalbum/loshaya-obl.irr.ru/film/35562C?analytics/kto-... │ 17 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru%2Ffilm/4858?pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271527091/frl-2/bage-2.ht... │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#7878... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.103402.html%3Fhtml │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=artira-Lyubyat │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.aspx#location │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=yes&y1=2013-07-07.ya.ru/5_search?text=\... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.15.html?1=1 │ 17 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://aliningrad │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266149_51928/detail.ru/ka... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%26rleurl%3D%26CompPath%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2670308&po_yers=0&price_o... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2613168312.71 Safari%2F__... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=8&ch=UTF-8&ifr=1&av=1&nm=1&ved=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_Bolers-device.aspx#commersanta_premiery... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 17 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6HS │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginyazevskaya%2F5.0 (Windows NT 5.1) Prestorygoo... │ http://irr.ru/index.php?showalbum/login-kupilomatic.aspx#location=rr&days&city&... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-dlia-zhiensmed.ru/el... │ 17 │ -│ 1 │ 0 │ 0 │ http://bdsmpeople.ru/register2123 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logistereda.ru/photo/70861/6#f │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263161366&bid=2823&numpho... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowthreadreplies=24&ids=74&cu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313&ussp=mstp&usln=1&inp... │ http://irr.ru/index.php?showalbum/login-3767436/roomootofile/obzor.com/iframe │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27595,9305f3931339322%26n... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273363331251798796&op_seo... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26041.htm%3Fsid%3D0%26pz%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031323532363&win=70&mode=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertistia.html?partment/searc... │ 17 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/stan/index.kz/yandex │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-search%3Futm_source=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 3 │ 22 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ 1 │ 0 │ 0 │ http://bibieters_sig=5ea8QizwGSPy0yGcm14ATH74D4Bw&usg=AFQjCNHxMZlonova.ru/p1847... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://diary.ru/forum/intries │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_style... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-futbolki-k... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lenfiki-zhienskaia-moda-muzhchin-sitafa ishq... │ http://irr.ru/index.php?showalbum/logical.ru/link=11485-9065383235348%2F&sr=htt... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261636/detail/odnoklassim... │ 17 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/messar.ru/professig │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 1 │ 0 │ 0 │ http://acase.php?input_who1=2&input_who2=1 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.10 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694&option%2F12.14&he=76... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26618531&t=111246.html?p=... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733145625/details... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-irina19910735%2F27.0.1453.116 Safari │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268814453957595,94406/det... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=Like Gecko) Chrome%2Fpotnik=1&price_do=&curr... │ http://irr.ru/index.php?showalbum/login-the-poxudet_sponsor=&o=6000708498/?caut... │ 17 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-53584715,1327288/belgium/arch=1&themec.... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=bestwo.diary/details&id=9160/0/posti.ri... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b76faact/less=1&ru=1&... │ 17 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/category=cinem rasmusic │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-herokee_tatus=1&rm=18606bAxFEcQT6smBB4W... │ 16 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search?clid=19554786.0.8.0.2.2003558_3497926... │ http://irr.ru/index.php?showalbum/logie-niz-doktops/electronics/4185570c72 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267044005320AA76)&vendor_... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098707209463401090/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgas.rQRAX2Ua3IF1iHJcaz4ATv34DABw │ http://irr.ru/index.php?showalbum/login/?page=1024&wi=144438-88-3906740/currenc... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27034195,9520160173/5/wom... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search/cuZXdzJTJGJmxyPTI4fQ,... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&pt=b&pd=7&pw=2&page5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-plan... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26396284046.xhtml%3Fhtml%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate/out-of-tow... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260612d7cf.4082813,74,756... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login.aspx?sle=13&s_yers=0&page_type=0&door=0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?&clients-sale&siteurl%3D//ads/search?text... │ http://irr.ru/index.php?showalbum/login-kapusta-advert273786/foto-5/#photo=2817... │ 16 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/movinki... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/page=91552&q=\... │ http://irr.ru/index.php │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnaja-prost-petersburg/detail/?fold... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-krasok.html_params%3Drhost%3Dad.adriver │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiensmed.ru/dl/\xD0\xB7\x... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti/redmonds %2F offset=403134333.2201560&c... │ http://irr.ru/index.php?showalbum/login-v40-velopiter.feriod=0&scroll_to_auto.r... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661232&streamfood.com/if... │ 16 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166303133334%2F&ei=horia+iudi... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-57548811426&text=\xD0\xBB\xD1\x83\xD1\x87\xD... │ http://irr.ru/index.php?showalbum/login-coolonellana-Molodilnik.ru/index.php?vi... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26765.html_params%3Drhost... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/70948/35.htm?id=... │ http://irr.ru/index.php?showalbum/logiy-luchaiev%2F&sr=http:%2F%2Fwww.bonprix c... │ 16 │ -│ 1 │ 0 │ 0 │ http://histore/profile;u= │ http://irr.ru/index.php?showalbum/login-kupe-20013&uuid=1373356164564_1sort/sta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2755597.html%3Fhtml?1=1&c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=findjob.ru/planet.ru/index.ru/carinov.h... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/showtopic,803813.html&... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_catalog/1250/?itemsg/cd... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert260477/cities/visas/exp?s... │ 16 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://video.yandex.php │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27429&input_bdsm_position... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-153-4b9c4.4331626.htm?size%3D0%26rleurl │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26887301/Zona/simferopol.... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2728024/detail/508/?instv... │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 16 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect │ http://komme%2F27.0.1453.116 │ 16 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://msuzie-shop/premiery-c-38208_2.html │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/posts&q=\xD0\xB2\xD0\xB5\xD0\xB4\xD1\x83\xD1... │ http://irr.ru/index.php?showalbum/login-mistore/#CATALOG_LIST-s-ovosibirsk/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-marka=23&model&desting?field_town/search/pri... │ http://irr.ru/index.php?showalbum/login-492ea9&show/417582,9626512874":10157628... │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27364229586121%26url%3D%2... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/sch/price][min]=41&lr=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ 1 │ 0 │ 0 │ http://volgografiyah_27_iyunya_50_let%2FgetId │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661251-6efa-d61f-fef3-01... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-maritkiN │ http://irr.ru/index.php?showalbum/login-ladimir.irr.ru/remiery-telefon.ru │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new=127201148][fr... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333%26bid%3D1%26rleurl%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/tv-audi/a7-spec=9894797179698712/p1/8... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=view/5/item3963... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logiste's a di galaxy-s4-story1.aspx#location... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5.0 (Win... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti%2F%3Ff%3D100%&http://afisha.yandsearch&... │ http://irr.ru/index.php?showalbum/login-6030d.html_params%3Drhost%3D90%26height │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/7427510/detail/5... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269899458/price/3815&pvno... │ 16 │ -│ 1 │ 0 │ 0 │ http://yandsearch?lr=2&color │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-gorod/search?p=7&oprnd=9902.jpg&img_url=http... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27222.vk.me/u3166 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2753][from]=&pricedownloa... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new10152954vac │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2735030373434-152495.php?... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691.html?1=1&input_age2/... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makeevka.ru/perm.irr.ru/slingvo/#1\xD0\... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-irinakai/page_num_read2306e4574&ei=Ot_rUfjPG... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2010000087378687/pic/8939375f303839303935373... │ http://irr.ru/index.php?showalbum/login-souse=2/path=39_1.html?1=1&cid=577&oki=... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313033393633310,932803][... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26708662307][]=&selection... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/artira │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikal.ru/search/room=1&dam... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumy.ua/search?text=\xD1\x81\xD0\xB5\... │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/?strict=5710... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertists/736850/?item_no=737&... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2695/19545602cf94d77/repl... │ 16 │ -│ 1 │ 0 │ 0 │ http://forums/liiiervierk-suppohudeemvmesting/294465&op_categoriya │ http://komme%2F27.0.1453.116 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&model=1173... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login/?do=ready-mansion%3D0%26url%3D%26bn%3D0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=new&cad=rjt&fu=0&input_country_id=228&lr=961... │ http://irr.ru/index.php?showalbum/login-cam.shtml#objdesc=true&uA=Mozilla │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb=1&prepairs=0&city[1 │ http://irr.ru/index.php?showalbum/lounona-muzhchin-kupaljinik-chernyj-odnoe/san... │ 15 │ -│ 1 │ 0 │ 0 │ http://launcher-searchads/search │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-album/login.2/second... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginsk.eu/ru/Pagesize=13&m1=07 │ http://irr.ru/index.php?showalbum/login-3muda/truction/vacancies/750207190765.h... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_produkty/kiev.org/forum... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26981583/page=1089592445/... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781308;IC,238208836746/0... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-4433140796851/detail/536180&all=False&i... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273389; U; Android 4.0.14... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945HPS?analog/r10418/sort=price_do=200&site_off=1 │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 15 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshop/id_art_type=7&s_yers │ http://irr.ru/index.php?showalbum/login │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F1.7.1364.172 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273631253711/foto-6320166... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2724/?_h=search?text=\xD0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-goluboj-podserial&dfs=13 │ http://irr.ru/index.php?showalbum/login-haus.html#news/228670,257&pci=3012/frl │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#67 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/washes/built-in_two_ch... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266356163f39ea6f8/7a8745&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26605566254/room=1.6&wher... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?Topic │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://irr.ru/index.ru/show/414526863_112 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list.html?typ=SMA&anbieter=aleks_evilkos.com │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/index.ru/ange=0&s_yers=(3000&static.diary.ru... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/state=1909644 │ http://afisha.yandex.ua/auto_id=0&with_photo.kurortmag.ru/razdnitsya-vishnury │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginskikh-viana.irr.ru/GameMain.aspx?sle=1/house.... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?transk.i... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/produkty%2Fplatj... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?page37/?sta... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-land_search?text=\xD0\xB0\xD0\xBC\xD0\xB1\xD... │ http://irr.ru/6323%26bn%3D27888895,963095425 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678&op_page=60000/curren... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liloveplanet.ru/futurer533/women.aspx?group-... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2631920&lo=http://person_... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?Id=9582 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.1Uv1UfqCA8SonYC4BQ&usg=AFQjCNGB3pBUuKY1jJPP3... │ http://irr.ru/index.php?showalbum/login-tank-sale/search%3Fmode=&page_type │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=alini... │ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-tumbov.irr.ru/page1=&input_who1=2&id=29... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2718599/photo=0&is_hot=0&... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.php?city[1]=700003 │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26761,55.654289600/detail... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27515/418695&st=327-B110Q │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2699364224073532663835386... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login=vladimir/page_type=0&expand_search?text... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?dok=001&rightbox/week&From=0&user │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/frl-4/trailer/view/3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-lential/secondary/details9.html_params%... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2730675595,9292fa-d61f-fe... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page9/#14... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-676216b8af/4fd00fa61b3185631821/page_ty... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienshchin-planet.ru/myma... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=25127691%2F... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27265484158197%26width%3D... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27877437494,943082&stat_t... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1955451&lr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/gamemain.asp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_appliazh-pliance/mista-bez-uchaiev/000202&cl... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/ch/floore troubleclick... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Ford-antent... │ 15 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 3 │ 123 │ 0 │ │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nashinger/users/search?textilead&353%26ev_pl... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginy_name/3196906481/currency=6465373200&price=\... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2776/?date=0&doorov.irr.r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-102-821922237&arrFilter2013/08-iH4AT5zIGQDA │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_type=&freetao.diary.ru/sea... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2693_763613.html_params%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9584%26pz%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274298799461981/?date=129... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert262997385f32313335781094&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/877/ru/buildin... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert276278-ploschaya_checked_... │ 15 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credir=1 │ http://komme%2F27.0.1453.116 │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://ekburg.irr.ru%2Fpuloveplanet │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=on&input_onliner... │ http://irr.ru/index.php?showalbum/login.html%26custom%3D%26CompPath.2; WOW64; r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/gosthelp.ru/auto.ria.... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.10 │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=on&in... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga664.1721/deti74.ru/animals-planet.ru │ http://irr.ru/index.php?showalbum/login=K-SR-B-13-9635095,9661/9#f │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert269257798044.html_partmen... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/litlip/saint-peter557932E-8C62-4917%26ad%3D64... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2651734&pt=b&pd=7&pw=1&pr... │ 15 │ -└────────────────┴────────────────┴─────────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.127 user 1.216000 sys 0.004000 -D 07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Run Time: real 0.014 user 0.180000 sys 0.000000 -D D (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Run Time: real 0.018 user 0.240000 sys 0.000000 -D " = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) ORDER BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))); -Run Time: real 0.012 user 0.156000 sys 0.000000 -D -D -D -D '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(URL) > 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -┌──────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├──────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 102341 │ -│ http://komme%2F27.0.1453.116 │ 51218 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18315 │ -│ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16461 │ -│ http://irr.ru/index.php │ 12577 │ -│ http://irr.ru/index.php?showalbum/login │ 10880 │ -│ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 7627 │ -│ http://irr.ru/index.php?showalbum/login-kupalnik │ 4369 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 4058 │ -│ http://komme%2F27.0.1453.116 Safari │ 3021 │ -└──────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.065 user 0.800000 sys 0.008000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(Title) > 0 GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ Title │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ \xD0\xA2\xD0\xB5\xD1\x81\xD1\x82 (\xD0\xA0\xD0\xBE\xD1\x81\xD1\x81\xD0\xB8\xD1\... │ 122407 │ -│ \xD0\xA8\xD0\xB0\xD1\x80\xD0\xB0\xD1\x80\xD0\xB0\xD0\xB9), \xD0\x92\xD1\x8B\xD0... │ 82935 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA - IRR.ru │ 80958 │ -│ \xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\xB8 New Era H (\xD0\x90\xD1\x81\xD1\x83\xD... │ 39098 │ -│ \xD0\xA2\xD0\xB5\xD0\xBF\xD0\xBB\xD0\xBE\xD1\x81\xD0\xBA\xD1\x83 \xD0\xBD\xD0\x... │ 23123 │ -│ Dave and Hotpoint sport \xE2\x80\x93 \xD1\x81\xD0\xB0\xD0\xBC\xD1\x8B\xD0\xB5 \... │ 14329 │ -│ AUTO.ria.ua \xE2\x84\xA2 - \xD0\x90\xD0\xBF\xD0\xBF\xD0\xB5\xD1\x80 │ 14053 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA (\xD0\xA0\xD0\... │ 13912 │ -│ OWAProfessign), \xD0\xBF\xD1\x80\xD0\xBE\xD0\xB4\xD0\xB0\xD1\x82\xD1\x8C │ 10919 │ -│ \xD0\xA2\xD1\x80\xD1\x83\xD1\x81\xD0\xB8 - \xD0\xA8\xD0\xBE\xD1\x83\xD0\xB1\xD0... │ 10157 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.046 user 0.580000 sys 0.004000 -D AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 7479 │ -│ http://aliningrad │ 4791 │ -│ http://ekburg.irr.ru%2Fpuloveplanet │ 3584 │ -│ http://smeshariki.ru/obucheyelants │ 3064 │ -│ http://video.yandex.php │ 2887 │ -│ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 1084 │ -│ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 891 │ -│ http://afisha.yandex.ru/index │ 855 │ -│ http://sslow_13507.html?aspx?naId=6HS │ 521 │ -│ http://wildberrior/uphold │ 484 │ -│ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 289 │ -│ http://obninsk/detail │ 241 │ -│ http://diary.ru/forum/intries │ 208 │ -│ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 185 │ -│ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 185 │ -│ http://kurort/SINA, ADRIAN │ 157 │ -│ http://afisha.yandex.ru │ 132 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 124 │ -│ http://ssl.hurra.com/iframe │ 123 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 119 │ -│ http://stars-visa.html_params%3Drhost%3Dad.adriver.ru/catalog.php │ 105 │ -│ http://komme%2F27.0.1453.116 │ 83 │ -│ http://pogoda.yandex │ 80 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 79 │ -│ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 73 │ -│ http://video.yandex │ 71 │ -│ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 68 │ -│ http://wildberries.ru/daily │ 68 │ -│ http://smeshariki.ru/ru/index.ru%26bid │ 68 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 64 │ -│ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 64 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn │ 63 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 59 │ -│ http://sslow_135000008&position=search │ 58 │ -│ http:%2F%2Fwwwwww.bonprix.ru/topic │ 53 │ -│ http://sslow_13507.html/articles │ 52 │ -│ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 51 │ -│ http://rsdn.ru/rss.ya.ru/catalog │ 51 │ -│ http://ekburg.irr.ru/#lingvo │ 46 │ -│ http://pogoda.yandex.ru │ 45 │ -│ http://sslow_13500000%26rnd%3D2788881.html │ 44 │ -│ http://maps#ru_5_ru_22106.377648194,975924][to]=&int[14270pa106&op_uid=17759/6#... │ 42 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 37 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 37 │ -│ http://video.yandex.ru/film/46351/frl-2/bage │ 36 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 35 │ -│ http://direct.yandex │ 34 │ -│ http://sslow_13507.html?aspx?naId=3X_3bhLcs3M │ 33 │ -│ http://gotovim-doma │ 32 │ -│ http://che.ru/produkty_zarubezhei-niepochekhly │ 31 │ -│ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 30 │ -│ http://video.yandex.ru/Newsletter │ 29 │ -│ http://sslow_13507.html?aspx?naId=6D8IzMGys3M │ 29 │ -│ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ http://video.yandex.ru │ 28 │ -│ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 28 │ -│ http://notes=1/currency │ 27 │ -│ http://sslow_13507.html?aspx?naId=649&state/out-of-town=\xD0\xA5\xD0\xB0\xD0\xB... │ 27 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 26 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 26 │ -│ http:%2F%2Fwwww.bonprix.ru/tambov │ 24 │ -│ http://kinopoisk.ru/shoppich.ru/search?clid │ 24 │ -│ http://wildberries │ 23 │ -│ http:%2F%2Fwwwwww.bonprix.ru/searchAutoSearch?text=\xD0\xB2\xD0\xB5\xD0\xBB\xD0... │ 22 │ -│ http://myloveplanet │ 20 │ -│ http://stars-visa-litraj.txt","lpu":"http://pogoda │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/secondary │ 20 │ -│ http://msuzie-shop/premiery-c-38208_2.html │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 20 │ -│ http://smeshariki │ 19 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 19 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ http://irr.ru/6323%26bn%3D27888895,96772,97436 │ 18 │ -│ http://kinopoisk.ru │ 18 │ -│ http://nepogoda.yandex.ru%2Fproducts/search?text=subscripts/busineshop │ 17 │ -│ http://wildberries.ru │ 17 │ -│ http://kinopoisk.ru/catalog/9902224 │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://direct.yandex.html │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 17 │ -│ http://irr.ru/6323%26bn%3D27888895,963095425 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 16 │ -│ http://afisha.yandex.php?gidcar=36281664 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://auto.ria.ua/search │ 15 │ -│ http://direct │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ http://irr.ru/index.php?showalbum/login-kupalnaya-obl │ 15 │ -│ http://kinopoisk.ru/odessya │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 14 │ -│ http://ekburg.irr.irr.ru/maker │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.yandex │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.mail/rnd=0.9788 │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://auto_many_to_auto.ria.ua/igrush43/ │ 13 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 13 │ -│ http://afisha.yandex.ru/cars │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 13 │ -│ http://love.ru/a-myprofi │ 13 │ -│ http: │ 13 │ -│ http:%2F%2Fwww.bonprix │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://real-estate/aparther/offiliates/corruption/russinsk │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://on-online=on&accetti │ 12 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 12 │ -│ http://samara.irr.html5/v12/?from]= │ 12 │ -│ http://kinopoisk.ru/saledParams │ 12 │ -│ http://en.lyrsenses/zamba_zaborah_coldplay=1&gearbox │ 12 │ -│ http://zvukovo/hondar/2007&state/renlew/rigma.ru/scribed │ 12 │ -│ http://pogoda.yandex.php?SECTION │ 12 │ -│ http://msk/platia-nashing/vanny.diary.ru/moscow │ 12 │ -│ http://video.yandex.ru/GameMain.E6smreQhiu_hXR4&where=all&film │ 12 │ -│ http://news/6483731559676/Unlocknotebooks/m83/800_D_Black_list │ 11 │ -│ http://nizhnieiene/p17378705/currency=1&with_photo-ideapadeno │ 11 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 11 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty/photo-12/#imag... │ 11 │ -│ http://msk/platia-nashing/vanny.diary.ru/sale/liver │ 11 │ -│ http://video.yandex.ru/GameMain.aspx#location │ 11 │ -│ http://guid=6&pw=6&pv=13 │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 11 │ -│ http://wildberries.ru/rost.html?1 │ 11 │ -│ http://smeshariki.ru/?win=82&stat=1&page/196264&pt │ 11 │ -│ http://pogoda.yandex.ru/catalog/jokers │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 11 │ -│ http://en.lyrsenses/zamba_zabudtrimazok.html?page=12&prr=http://fap1.adrive_typ... │ 11 │ -│ http://bonprix.ru%26bid │ 11 │ -│ http://loveplanet.ru/GameMain │ 10 │ -│ http://bdsmpeople.ru │ 10 │ -│ http://video.yandex.ru&pvid │ 10 │ -│ http://liver.ru/cheboksicily/foto.aspx?sort=newly&trafkey │ 10 │ -│ http:%2F%2F%2Fwwww.bonprix │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://club.ru/spokoiteli/photo37775280000 │ 10 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 10 │ -│ http:%2F%2Fwwww.bonprix │ 10 │ -│ http://auto_id=240&n=13901038 │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 10 │ -│ http://smeshariki.ru │ 10 │ -│ http://slovariant_new3077940810/detail │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://en.lyrsenses/zamba_zabor_id=1012_blank%26site │ 10 │ -│ http://sslow_13500000%26rnd%3D2788881.html?parts/passe │ 10 │ -│ http://pogoda.html%3Fhtml_params%3Drhost%3D43 │ 10 │ -│ http://irr.ru/index.php?showalbum/logout%26verstova.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://pogoda.yandex.php │ 9 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film/6781203.html?id=242037047/detai... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://mysw.info/blog/sankt-peter%3D1216/00001216629 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://e96.ru/albumfotok-15-fotki │ 9 │ -│ http://alpari.yandex.html?html_param=0&users/#page/Search/ab_dob%2Ffieiie-razvo... │ 9 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru/catalog/8570/1006790 │ 9 │ -│ http://b2b.testered/main/discuss/matched_country=-1&top=0&cityid=1024&wi=1366&o... │ 9 │ -│ http://svpressa.ru/topic=17082630 │ 9 │ -│ http://bonprix.ru │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http:%2F%2Fwwww.bonprix.ru/filmId=8j5j97LRs3M&where=all&sources │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/#win_13.html_p... │ 9 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/4744089758 │ 9 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_produkty%2F&sr=http://slovaria │ 9 │ -│ http://nail=Yes&target=search │ 9 │ -│ http://rlsnet.ru/vacancy/view_type_id=9677548268010367 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/imagecache/wm/2013&where=all&filmId │ 8 │ -│ https://m.myloveplanet.ru/forum/abrika-kobelenie_nebestsenal │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 8 │ -│ http://zapchast.com/iframe-owa.html?1=1&cid=577&oki=1&op │ 8 │ -│ http://poisk.ru/price_ot=&price_ot=&price │ 8 │ -│ http://afisha.yandex.php?t=141880517 │ 8 │ -│ http://zarplata.ru/velika_all=\xD0\xBE\xD1\x82 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http:%2F%2Fwwwwww.bonprix.ru/news/222974895&op │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://fore=3&marka=0&top=0 │ 8 │ -│ http://direct.yandex.ru/catalog │ 8 │ -│ http://video.yandex.ru&xdm_p=1#item/search │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96777&oki │ 8 │ -│ http://zarplata.ru/?p=12977-B26358/currency=RUR/page=1080&wi=1024&lo=http://rzh... │ 8 │ -│ http://en.lyrsenses/zamba_zabor/bedroomolsk │ 8 │ -│ http://masterh4.adriver.yandex │ 8 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ==&page_avtomodules.php?f=100&ref... │ 8 │ -│ http://mastered/main.aspx#location=1&bc=3&ct=1&pr=60322056107100919/page5/?_h=s... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://omsk.mlsn.ru │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96779/87 │ 8 │ -│ http://smeshariki.ru/GameMain │ 8 │ -│ http://che.ru&pvid=13733142835/100/topic,5240556895&ch=UTF-8&sF=11,7,7,0 │ 8 │ -│ http://afisha.yandex.php?gidcar=367108851%2Fr%2F1 │ 8 │ -│ http://love.ru/?p=17059 │ 8 │ -│ http://wildberries.xml?from]=&input │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/index.php?showalbum/login-kupit-topy%2Fplatjie-gotovlexandex.html... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 8 │ -│ http://auto.ria.ua/auto_id=24126629/0/index.ru/real-estate/out │ 8 │ -│ http://victor?page_type=city.stol-yar.ru/cars │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://video.yandex.ru%2F&sr=http://loveplants/65398f55 │ 7 │ -│ http://kinopoisk.ru/ch/feed/letniaiaprice/1609 │ 7 │ -│ http://real-estate/aparts/Aquarevski │ 7 │ -│ http://video.yandex.ru/a-album/login-vitiju/photo │ 7 │ -│ http://bonprix.ru/social/product_id │ 7 │ -│ http://moscow/detail/5552/0/2792834&m=111,7,7,5 │ 7 │ -│ http://irr.ru/Registered/main/topnewsru.com/page=6 │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 7 │ -│ http://irr.ru/index.php?showalbum/login-kapustics?sort=pogoda.yandex.ru%26bt%3D... │ 7 │ -│ http://bonprix.ru/catalog/8570/14139489 │ 7 │ -│ http://afisha.yandex.ru/\xD0\xB4\xD0\xBE\xD0\xBC\xD0\xB0/\xD0\x91\xD0\xA1\xD0\x... │ 7 │ -│ http://irr.htm?from]=&int[85][from]=&input_vsegodnyie │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://love.ru/?p=1#country=&op_seo │ 7 │ -│ http://bdsmpeople.ru/niktory/shtory/308/roomed.ru/p59473682740295 │ 7 │ -│ http:%2F%2Fwwwww.bonprix │ 7 │ -│ http://myloveplantrackIt?tid │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 7 │ -│ http://spb/event=big&marka=84&model=0&auto_id=0&s_yers=0&pv=10&can_be_check_PP │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://pogoda.yandex.ru&pvid=1 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-a-5-advert27114 │ 7 │ -│ http://video=0&is_hot │ 7 │ -│ http://bdsmpeople │ 7 │ -│ http://irr.ru/index.php?showalbum/login-zk34/pages/0001216629 │ 7 │ -│ http://svpressa.ru │ 7 │ -│ http://money.yandex │ 7 │ -│ http://gotovim-doma.ru │ 7 │ -│ http://afisha │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 7 │ -│ http://video.yandex.ru%2Fkategory_id │ 6 │ -│ │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.ru%2F%2Fmail/169 │ 6 │ -│ http://love.ru/?p=1#country=-1&sq_liver.ru/kyrgyzstan │ 6 │ -│ http://omsk/evential/house.ru/catalog/kitchedule=213-606361653965283 │ 6 │ -│ http://video.yandex.ru/ekt │ 6 │ -│ http://stars-varenok.ru/16745959680706/800_0.jpeg.html%3Fhtml5/v123593 │ 6 │ -│ http://bdsmpeople.ru/film/64544.690022.rar.html_params%3Drhost%3D_black_list=0&... │ 6 │ -│ http://afisha.yandex.ru/catalog=on │ 6 │ -│ http://bdsmpeople.ru/GameMain │ 6 │ -│ http://v102.ru/investate/apartments-sale │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://video.yandex.ru/GameMain.aspx#location/page_type=category │ 6 │ -│ http://wildberries.ru/search │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://afisha.yandex.ru%26bt%3D43%26anbietersburg │ 6 │ -│ http://video.yandex.ru/a-topy │ 6 │ -│ http://omsk/evential/housession%3D0 │ 6 │ -│ http://direct.yandex.ru/refererprofile%2F2.10 │ 6 │ -│ http://moscow/details │ 6 │ -│ http://rukodel=0&sort=newly&trafkey=2750 │ 6 │ -│ http://smeshariki.ru/world/photofider_credit=0&view │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://irr.ru/index.php?showalbum/login-12.html%26custom │ 6 │ -│ http://novosibirsk.irr.ru%26bid │ 6 │ -│ http://solutions.diary.ru/realtitroenie_v_jurman.ru/albums/frame-owa.html?stric... │ 6 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 6 │ -│ http://mr7.ru/newsru.com/iframe_right%3D43 │ 6 │ -│ http://autodoc.ru/real-estate/apart │ 6 │ -│ http://smeshariki.ru/catalog │ 6 │ -│ http://edp2.adriver.ru/hocketshop.ru/moscow/detailanude │ 6 │ -│ http://povari.yandex.ru/greecondary/Products_id=&auto_vaz_2111 │ 6 │ -│ http://msk/platia-nashing/vantralitsa_transion │ 6 │ -│ http://3dnewsru.com/iframe_right.html?1=1&cid=51538 │ 6 │ -│ http://video.yandex.ru/catalog │ 6 │ -│ http://ereal-estate/rent │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.php/board,39.04839 │ 6 │ -│ http://novo/detail.aspx?group_cod_1s │ 6 │ -│ http://auto_hyundai_sarator │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://kalininmyclonus1 │ 6 │ -│ http://bdsmpeople.ru/saledParams=rhost%3D43%26bid%3D1 │ 6 │ -│ http://forum/topnews/22294&op_category │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://love.ru/?p=17055335 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.ru/mymail.php │ 6 │ -│ http://real-estate=week/page=1&expand_search?film/298677435615.html │ 6 │ -│ http://koolinar.ru/port.ru/doc │ 6 │ -│ http://video=0&with_exchangeType │ 6 │ -│ http://afisha.yandex.ru/index.ru/recipe │ 6 │ -│ http://kinel-lab.com/rus/20130709_117485994,93304&op_seo_entry=1&gearbox=0&type... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ https://slovakia-600dd903c07022,101595,91194&op_seo_entry │ 6 │ -│ http://diary.ru/exp?sid=3205 │ 6 │ -│ http://video.yandex.php?search?text=\xD0\x9A\xD0\xBE\xD0\xBD\xD1\x8C\xD1\x8F\xD... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://video.yandex.php?from]=&interapy-wkti/ &cd │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D8393224 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://love.ru/ru/irk/event/search/ │ 6 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://kinopoisk.ru/catalog │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://auto_volkswagen/vologdano/il_dlya-dnevka.ru │ 5 │ -│ http://barnaul/details/?cauth │ 5 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD0\xB5\xD1\x80&where=... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 5 │ -│ http://metal-lodku-Obzor │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 5 │ -│ http://sp-mamrostova │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://tp66.ru/exp?sid=3860217/rooms=2/men.aspx#location%3D0%26rnd │ 5 │ -│ http://zvukovo-gorodsk │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://video.yandex.by/?state_id=&auth=1..630;IC,7711588 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http:%2F%2Fwwww.bonprix.ru/?id=2013&where=all&filmId │ 5 │ -│ http://rmnt.ru/search/offilia_Sovetov_living_chamber/?78142 │ 5 │ -│ http://e96.ru/movies/614418821/artir.ua/search │ 5 │ -│ http://slovari.yandex.ru%26orderovskij-index.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://povari.yandex │ 5 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_seo_entry=&op_category_... │ 5 │ -│ http://tks.ru/cat/publish-cherkalnaya-ttpodporyadushek │ 5 │ -│ http://video.yandex.ru/GameMain.aspx?Link │ 5 │ -│ http://slovarenok.com │ 5 │ -│ http://auto.ria.ua/auto_id=241269.html?1=1&cid=2127970 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://slovari.yandex │ 5 │ -│ http://auto_volkswagen-Palities/horobki │ 5 │ -│ http://afisha.yandex.php?r=23436303135353.html?1 │ 5 │ -│ http://radio&planet.ru/work.ru/catalog │ 5 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 40007&pt │ 5 │ -│ http://en.lyrsenses/zamba_zaborah_chamberk │ 5 │ -│ http://rustnye-sht-riemnikoi │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://myloveplanet.ru/v14572&lb_id=13000001216629 │ 5 │ -│ http://sslow_135000008&position=search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 5 │ -│ http://pogoda.yandex.php?gidcar │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://bibidohertki-i-OOOO_REPORT/07_2013 │ 5 │ -│ http://autodoc.ru/moscow │ 5 │ -│ http://real-estate=week&m=Dvigenie.html?option │ 5 │ -│ http://avtomobile/motory.ru/comp.ru/view.php │ 5 │ -│ http://topnews.ru/GameMain.aspx?group_cod_1s=1983&pt=b&pd=9&pw=0 │ 5 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 5 │ -│ http://love.ru/product_id=0&po_yers=0&po_yers=2&refererro/model=1346488078722&c... │ 5 │ -│ http://video.yandex.ru/firms.turizm │ 5 │ -│ http://video.yandex.ru%2FkategoriendflowerTo=&powerTo= │ 5 │ -│ http://loveplanet.ru/mymail/rudi │ 5 │ -│ http://auto.ria.ua/auto │ 5 │ -│ http://msk/platia-nashing/vannyie-product_id=1841&page2 │ 5 │ -│ http://auto.ria.ua │ 5 │ -│ http://nizhnieiewva88/photo/101246465376&cmd=show-to-buchaiev-pugache=51db32a68... │ 5 │ -│ http://club.ru/cinema/movies/no-pos │ 5 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D158197%26width │ 5 │ -│ http://tks.ru/cat/publish-chemec.ru/search?filmId=CktclMBmUXI │ 5 │ -│ http://direct.yandex.ru/index │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://kinopoisk.ru/spb.pulscen.ru/exp?sid=3159&op_category_id=&auth=0&checked=... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://holodilnik-rp-ploschaya-obuv/?ci=1280&with_video=0&choosOyg==&op_uid=111... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://wildberries.ru/real │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://slovariant_neu%3D1%26bid%3D1216/0001216629%26bt%3Dad │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://wildberrior/kia/ │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://md.mirkovskaya-obl.irr.ru/jobinmoscow │ 5 │ -│ http://jcmotorom-921205&bt=7 │ 5 │ -│ http://loveplanet.ru/\xD0\xB0\xD1\x80\xD0\xBE\xD0\xBC/curre-ap-i-showalbum/loui... │ 5 │ -│ http://povari.yandex.php?showalbum/login.pl?cl=all&film/497794,90458 │ 5 │ -│ http://en.lyrsense.com/obshchin-idieiala │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://video.yandex.ru%26bt%3Dad.adriver.ru/recipe/view/10217/?from │ 5 │ -│ http://gaylyU │ 5 │ -│ http://moscow/detail/Torgovuyu-organske.ru/real-estate │ 5 │ -│ http://smeshariki.ru/topic │ 5 │ -│ http:%2F%2Fwww.bonprix.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://loveplanet.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://alpari.ru/gallery/pic845274 │ 5 │ -│ http://alib.mist.html%26custom%3D%26c2%3D278888592138 │ 5 │ -│ http://loveplanet │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ua │ 4 │ -│ http://whoyougle.ru/images/images/00000i/specifiers.ru/image=1&furniture │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 4 │ -│ http://video.yandex.ru/price │ 4 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/filmId │ 4 │ -│ http://samarskii_krai/tuapse/detail/result.aspx │ 4 │ -│ http://sslovarenok.ru │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://auto.ria.ua/auto_id=0 │ 4 │ -│ http://afisha.yandex.ru/zoom.php?f=5162613838.html_partments │ 4 │ -│ http://bdsmpeople.ru/Web/Pages=1/feedsmag.ru/~\xD0\xBA\xD0\xBD\xD0\xB8\xD0\xB3\... │ 4 │ -│ http://loveche.html │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 4 │ -│ http://irr.ru/index.php?showalbum/login-10618968476372773 │ 4 │ -│ http://wildberries.ru/catalog │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.ru%252f7769%252fe │ 4 │ -│ http://echoradar-s-Levoshcha │ 4 │ -│ http://radio&planet.ru/marka=62&model=1178128455&pvno=2&evlg=VC,5 │ 4 │ -│ http://love.ru/?p=1#countpage/vacancies/events/738/0/3/women.aspx │ 4 │ -│ http://diary.ru/catalog=on&input_city[3 │ 4 │ -│ http://direct.yandex.php?formsof(INFLECTION_ID=30861/14365-4b11&state/apartment... │ 4 │ -│ http://e96.ru/news/39733/page2=&input_sponsor=&o=1015219.html_partments-sale&pa... │ 4 │ -│ http://rasp.pl?cmd │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://travel.ru/state/apartments-sale/rashinitit%2F537 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.php?view_type=2&driveresult.ru/replies │ 4 │ -│ http://auto.ria.ua/auto_id=63799.html_params │ 4 │ -│ http://afisha.yandex.php?r=3&bs=&day │ 4 │ -│ http://ssl.hurranovskaya-ul-31-foto.ria │ 4 │ -│ http://kinopoisk.ru/saledParams%3Drhost%3Dad.adriver.ru/GameMain.aspx#location │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ https://smeshariki.ru/cinema/article10363136000001216629%26site_offilia_Sovets.... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboy07/... │ 4 │ -│ http://vkirovoe-tourisma │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://smeshariki.ru/domchelkakh_location=search?text=\xD0\xBC\xD0\xB8vents │ 4 │ -│ http://guid=6&pw=2&pv=0&price_do=¤cy=1 │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://card/windows)&bL=ru&cE │ 4 │ -│ http://kniga.ru/view=\xD0\xA1\xD1\x82\xD0\xB0\xD0\xB2\xD1\x80\xD0\xBE\xD0\xB2&w... │ 4 │ -│ http://smeshariki.ru/search/keukeru-soft │ 4 │ -│ http://video.yandex.ru/GameMain.XYyZwYXRoPWEtbG9nb24vcG90Cw │ 4 │ -│ http://zarplata.ru/?p=12977-B26358/hasimages=1/page │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://matched_car=373838928155755775482794,9453.116 Safari%2F537.36&he=10&s_ye... │ 4 │ -│ http://video.yandex.ru/real │ 4 │ -│ http://afisha.yandex.ru/search │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://v102.ru/?s=Adaments-sale │ 4 │ -│ http://video.yandex.ru/GameMain.aspx#location-4.0.html │ 4 │ -│ https:%2F%2Fwwww.yandex.ru │ 4 │ -│ http://tks.ru/cat/publish-chernyjbelyj-9375966238&op_categoriya │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/social │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/realty/leaser_map=1/hasimay-2.html │ 4 │ -│ http://auto.ria.ua/canel_pe_mascona Hilfigeratov/153228 │ 4 │ -│ http://nizhny novgorod │ 4 │ -│ http://video.yandex.ru%26target=search/ab_area=categorija80119 │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://kubikus.ru/search.php?r=4140211,1,7,7,7,7,0 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://e-kuzbass.ru/a-shop │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://victorhead.php?full&dom=780067167694.0; │ 4 │ -│ http://guide.travel.ru/link │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/cart.php/cars/papago-d-plosch │ 4 │ -│ http://afishi,Mudanted-belyj-974299099/guest-id=34089.html │ 4 │ -│ http://fitness/building │ 4 │ -│ http://svpress_up.aspx#location[propfilter_pf[PODVAL]=&arrFilter][3463351841195... │ 4 │ -│ https://produkty%2Fpulove.ru/gost/?page3 │ 4 │ -│ http:%2F%2Fwwww.bonprix.ru/real-estate/out-of-town/house │ 4 │ -│ http://afisha.mail.aspx#locationalOffers │ 4 │ -│ http://video.yandex.ru/GameMain/dukhovyy │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadbor_sh... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http%3A//magnitogorod/page3/#over │ 4 │ -│ http://anketka.ru/bridget │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://afisha.yandex.php?action/2741920 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://love.ru/image=2&marka=84&model/mihailovo │ 4 │ -│ http://tks.ru/cat/public/gamemain.aspx#location │ 4 │ -│ http://nepogoda.yandex.ru/search=1&target=search=0&can_be │ 4 │ -│ http://kinopoisk.ru/searchAutoSearch=0&driver.ru/catalog/1/women.aspx#locationp... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://afisha.yandex.php?show=rlv&ru=1&expand_search │ 4 │ -│ http://love.ru/?p=1705 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://ssl.hurra.com │ 4 │ -│ http://auto_volkswagen_cated_cartovskaya-obl.irr.ru/album/login │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ru/If yours.avtogsm.ru/animals/calculate │ 4 │ -│ http://afisha.yandex.php?p=31&input │ 4 │ -│ http://loveche.ru/job/1162323&PAGEN_1=30&state │ 4 │ -│ http://internet Explorer&aV=5.0 (Windows)&bL=en │ 4 │ -│ http://pogoda.yandex.ru/cooking_sm5_1148786993ab-417/photo/69363/26#formi.ru/co... │ 4 │ -│ http://rsdn.ru/details_103514,154;IC │ 4 │ -│ http://auto_s_product_name=\xD0\x9A\xD1\x80\xD1\x83\xD0\xB3\xD0\xBB\xD0\xBE\xD0... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboyzon... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://video.yandex.ru/topnews.ru/lanas-advert2713][to]=&int │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://auto_volkswagen_pass_1161967 │ 4 │ -│ http%3A//edp1.adriverys/forum/view_type=city&custom=0&damages/0001216629%26bid%... │ 4 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD1\x82\xD0\xBE\xD1\x8... │ 4 │ -│ http://inspelishchin-platjie-doma.ru/irkutsk.irr.ru │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://smeshariki.ru/saint-petersburg-gorod/transfer/?id=7576149959760994861&op... │ 4 │ -│ http://en.lyrsenses/zamba_zabudka/photo-1/#page=0&sale/search?text=\xD0\x9C\xD0... │ 4 │ -│ http://afisha.yandex.ru/content2.adriver │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://auto_id=0&with_photo │ 4 │ -│ http://arma/frl-4/transportnoy-kv-m-malchik.ru/show │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://b.kavanga.ru/?a=inneVolumeFrom │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://irr.htm?from]=&int[1151;IC,112 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_category_id=592b9e01c48ce9403%26bn%3D0%2... │ 4 │ -│ http://tp66.ru/money.yandex.ru/albums_screenterval │ 4 │ -│ http://bdsmpeople.ru/film/64544.690078 │ 4 │ -│ http://afisha.yandex.ru&pvid=13733424 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://video.yandex.ru/GameMain │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ https://orenburg/?arrFiltersburg │ 3 │ -│ http://kinopoisk.ru/service.ru/iframe │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://samara.irr.ru%2Fproduct │ 3 │ -│ http://radiorecord.ru/login-m3w.html?1=1&cid │ 3 │ -│ http://romar/events/audio.ru/widget[]=vacancies/99.php?gidcar │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://afisha.yandex.php/topic104780204&op_uid=1954 │ 3 │ -│ http://afisha.yandex.php/tova.ru/uliya2076789599305953 │ 3 │ -│ http://afisha.yandex.ua/donetsk/urals │ 3 │ -│ http://afisha.yandex.ru/a-folders/misc │ 3 │ -│ http://afisha.yandex.ru/shop.ru/malta │ 3 │ -│ http://afisha.yandex.ru/project_price=&maxprice │ 3 │ -│ http://afisha.yandex.ru/kategoriya%2F5.0 (company │ 3 │ -│ http://afisha.yandex.ru/linkvac.php/board.php?topicseeng │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://irr.kz/realty/lease/3516093&pvno=2&evlg │ 3 │ -│ https://produkty%2Fplatjie-kuzbass.ru/newsru.com/iframe_right=0&auto_ria=0&meta... │ 3 │ -│ http://fuckfind=rent/view/2021/3 │ 3 │ -│ http://banantikov-nadushenie_orleona_server=sc.cheloveplant_11612/page │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://radioscannerica/filmId=Ba_id=13733568414&city=\xD0\x9C\xD0\xBE\xD1\x81\x... │ 3 │ -│ http://video.yandex.ru%2Fplata.ru/ch │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://kaluga/?ext=\xD0\xB3\xD0\xB5\xD1\x80\xD0\xBE\xD1\x8F\xD1\x82\xD0\xBD\xD1... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://love.ru/forum.cofe.ru/forum/view_type=city=790&Selectronics-technik │ 3 │ -│ http://astrobank.ru/image │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://sp-money.yandex.ru │ 3 │ -│ http://love.qip.ru │ 3 │ -│ http://auto_kia_30 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://sp-mamrostokonkursovet │ 3 │ -│ https://slovakia-600dd903c06c999c226647639.html%3Fhtml │ 3 │ -│ https://slovakia-600dd903c07022,101595,9143531427800648_elit │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category_id=0&wi=16000&... │ 3 │ -│ http://sp-money.yandex.ru/work rushki-sien-natalog/8570/page=0&expand │ 3 │ -│ http://video.yandex.ru&pvid=13735/?_h │ 3 │ -│ http://afisha.yandex.ru/forum.materinburg │ 3 │ -│ http://afisha.yandex.php?addriver.ru │ 3 │ -│ http://forum/topnews/2229605699574.html?1=1 │ 3 │ -│ http://video.yandex.by/search/?target%3D43%26bid%3D2 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberrior/bedroom]=&int[17][to]=&int[858 │ 3 │ -│ http://direct&sortdirect.yandex.ru/imagesize%3D0%26ar │ 3 │ -│ http://ssl.hurral=messages │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://rmnt.ru/stars │ 3 │ -│ http://video.yandex.ua/auto_id │ 3 │ -│ http://bdsmpeople.ru/search │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://b.kavanga.ru │ 3 │ -│ http://rmnt.ru/film/88677/russia/rio.ru/search?filmId=NNr6aJrm4s3M │ 3 │ -│ http:%2F%2Fwww.bonprix_ru}%2Fnizhniynovgorod/request-id │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://edp2.adriver.ru/catalog/181 │ 3 │ -│ http://video.yandex.ru/circle&state/out-of-town/houses │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film.ru │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://edp2.adriver.ru/jobinmoscow/detail │ 3 │ -│ http://svpress_w1t1042796786/6/?category │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://pogoda │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://msk/planet.ru/mymail.aspx#comme_me_saydinne │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/forum.donfiscategory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://pogoda.yandex.kz/family │ 3 │ -│ http://kazan.irr.ru/location │ 3 │ -│ https://produkty%2Fpulove.ru/voronezh-sien-zhienskaia-moda-zhienskaia-moda-zhie... │ 3 │ -│ http://video.yandex.php?topbloveche │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com/iframe-owa.html?1=1&cid=577&o... │ 3 │ -│ http://tks.ru/cat/publish-chin-play.php?categoriya%2Fzhiensmed │ 3 │ -│ http://card/windows NT 6.1) AppleWebKit%2F5 │ 3 │ -│ http://radiorecord.ru/catalog/idShare │ 3 │ -│ http://nigma.ru/product&op_category_name=\xD0\x91\xD0\xB8\xD0\xBA\xD0\xB8\xD0\x... │ 3 │ -│ http://ussuriysk.irr.ru/catalog/premiere/628962851d7fd0b6eb17b321d336f5bc7de189... │ 3 │ -│ http://magnitka_1_series.ru/?favorite_id=636233644&op_category_id=937514 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://loveche.ru/volzhskiy │ 3 │ -│ http://smeshariki.ru/a-phony │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty%2Ftanki │ 3 │ -│ http://svpress/showbiz/photo.htm │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/92054446660.ht... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://afisha.yandex.ru/tatatit_chto.php?industry │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountpage │ 3 │ -│ http://smeshariki.ru/catalog/286/women.aspx │ 3 │ -│ http://svpressa.ru/content/search │ 3 │ -│ http://video_dvd/game/iframe-owa.html │ 3 │ -│ http://ekategoriya%2F9B206 Safari │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26url%3D//ad.adriver.ru/link/justic/h2.php/... │ 3 │ -│ http://msk/platia%2Fzhienskaia │ 3 │ -│ http://lk.wildberries │ 3 │ -│ http://holodilnik.ru/catalog │ 3 │ -│ http://tp66.ru/search/?page=1&fuelRateTo │ 3 │ -│ http://e96.ru/real-estate │ 3 │ -│ http://my.kp.ru/albumfoto-1/pol-2 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://amobil-nye-pliazhnaia │ 3 │ -│ http://personal/atlants/7292&xdm_c │ 3 │ -│ http://povarenok.ru/files/eliteh.ru/perm.irr.ru/board,75.2013-07-09 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://smeshariki.ru/?win=82&stat=141882,373;IC,2552f48 │ 3 │ -│ http://brand=498&pvno │ 3 │ -│ http://love.ru/?p=1#country=&op_seo_entry=-1&target │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://sp-mamrostovestory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://irr.ru/washek-s-printom │ 3 │ -│ http://smeshariki.ru/real │ 3 │ -│ http://smeshariki.ru/goodavec/photo/6936325.html?id=223978/page=102 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://irr.ru/index.php?showalbum/login-kupaljinik-chere │ 3 │ -│ http://msuzie │ 3 │ -│ http://kinopoisk.ru/search │ 3 │ -│ http://wildberries.ru/item_no=2&evlg=VC,0;VL,205;IC,14;VL,757138/currency=RUR/h... │ 3 │ -│ http://3dnews.ru/?p=12636464/5#f │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic=79799398/?_h=search.htm... │ 3 │ -│ http://afisha.yandex.php?app=membered │ 3 │ -│ http://afisha.yandex.php?ELEMENT_ID │ 3 │ -│ http://afisha.yandex.ru/lesyach-hotels │ 3 │ -│ http://afisha.yandex.ru%26bt%3D90%26nid%3D1216629 │ 3 │ -│ http://afisha.yandex.php?id=727285 │ 3 │ -│ http://str_ob.html?1=1&choosO8gPJSs3M&where=all&filmId=mAyiC7y6M2mGV2GoA9hFoN3q... │ 3 │ -│ http://kaluzha-na-NovletedAutoSearch=0 │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostavia.travel.ru/s... │ 3 │ -│ http://product_brand=RAINBOW&op_cated_content/search/keup/en-ru │ 3 │ -│ http://love.ru/ru/irk/event=little&cated_country=-192.html?1=1&cid │ 3 │ -│ http://love.ru/?p=17057 │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://love.ru/recipes/indows │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory_id=577&search/ab_district/date_id=2271][from... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://kinopoisk.ru/sessulyanovka.ru/photosessid=3205&bt │ 3 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD0\xB2\... │ 3 │ -│ http://li.ru/filmId=XpzlPj8P8gE&where=all&text=\xD1\x81\xD0\xBA\xD0\xB0\xD1\x87... │ 3 │ -│ http://you_hashkaf.ua/search │ 3 │ -│ http://wildberries.ru/GameMain │ 3 │ -│ http://povaria/chak_naytimes.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://auto_repairs=0&confiscategoriya │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://afisha.yandex.ru/comment/search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://smeshariki.ru/GameMain.aspx#location │ 3 │ -│ http://afisha.yandex.ru%2Fobuv-sapozhkivka=23&price │ 3 │ -│ http://afisha.yandex.ru/hotel-agen-Goluboj-9730 │ 3 │ -│ http://notebooking pressa │ 3 │ -│ http://soft.oszone.ru │ 3 │ -│ http://pogoda.yandex.ru/real-estate │ 3 │ -│ http://video_dvd/ratesTypeSearch?text=\xD1\x87\xD0\xB5\xD0\xBB\xD0\xBE\xD0\xB2\... │ 3 │ -│ http://auto_repairs=0&po_yers=0&price.ru/\xD0\xB6\xD0\xB5\xD0\xBB\xD0\xB5\xD0\x... │ 3 │ -│ http://auto_id=0&engineVolumeFrom │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://wildberries.ru/basket&ch │ 3 │ -│ http://state/room=94720-recept-Salat-iz-glasya1lesyat │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://video.yandex.ru/personal/offeebe34c7e12944&op_product │ 3 │ -│ http://trashbox.ru/book │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://slovari.yandex.ru │ 3 │ -│ http://kommersantamina │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://audio_video.yandex.ru/mosday.html?item=4#photo446962 │ 3 │ -│ http://auto_ford Mix).mp3.ucoz.ru/v1430497.html%3Fhtml │ 3 │ -│ http://v102.ru/investate/apartment/?id=137336IseNhcbx3J85GkHSnzgnsPdZUU&where=a... │ 3 │ -│ http://afishers/story │ 3 │ -│ https://slovarenok │ 3 │ -│ http://pogoda.yandex.ru/vlas-moskovskaya │ 3 │ -│ http://guid=6&pw=2&pv=0&with_video.yandex.ru │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/photo/narod.irr.ru/katering=1&pr=569&s_yers │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com.ua/kiev/detail.ru/auth=1..640... │ 3 │ -│ http://video.yandex.ru/extra │ 3 │ -│ http://love.ru/ru/irk/event=little&category_id=731-643736&mode=1 │ 3 │ -│ http://dom.net/provoe-pervouralnaya/ChildGluZ19oZXJlci1kYXRpb25zPU4mbj0zJmlkPTM... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://alpari.yandex.ru/saint-petersburg.irr.ru/cars/page3 │ 3 │ -│ http://video.yandex.ru%2Fkategory_id=9759527418 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://video │ 3 │ -│ http://radiorecord │ 3 │ -│ http://wildberring │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://balcon_caddy Club relove │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://kinopoisk.ru/registernet Explorer&aV=5.0 (Windows NT 5.1; ru-ru&cE=true&... │ 3 │ -│ http://state_shariki │ 3 │ -│ http://en.lyrsenses/zamba_zabor_polnitsa-s.narod.irr.ru/bank/otzyvy/12031%2F%23... │ 3 │ -│ http://auto_id=0&color=0&confiscategory_id=3205&bt=7&bn=1&bc=3&ct=1&prr=http:%2... │ 3 │ -│ http://afisha.yandex.php?partments │ 3 │ -│ http://wildberries.ru/cgi-bin/click.cgi%3Fsize │ 3 │ -│ http://video.yandex.ru/real-estate/out-of-town/house.ru&pvid=1&distreet_legkovo... │ 3 │ -│ http://omsk/evential/housession%3D240%26rleurl%3D//ad.adriver.ru/marshavskaya-r... │ 3 │ -│ http://smeshariki.ru/cgi-bin/click.cgi%3Fsid%3D0%26pz │ 3 │ -│ http://kinopoisk.ru/spb.pulscen.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://loveplanet.ru/Bezli-all │ 3 │ -│ http://bdsmpeople.ru/show/39932/Itemid,40.0.html_params%3DfsSaHR0cDovL2pzLnNtaT... │ 3 │ -│ http://video.yandex.ru/realty/search/main.aspx?sort=popular │ 3 │ -│ http://afisha.yandex.ru/manga.ru/?rtext=\xD0\xBF\xD1\x80\xD0\xB8\xD0\xB1\xD0\xB... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://saint-peter │ 3 │ -│ http://whoyougle.com/iframe/iframe_right.ru/spb │ 3 │ -│ http://lazarevskoe │ 3 │ -│ http:%2F%2Fwww.bonprix.ru/imagesize │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://un1.adriver.ru/page=30138117749516%252f110916%252fmedicinema/movie_ross ... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_product_brand=4200&lo=h... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://klubnich/zrh/ │ 3 │ -│ http://smeshariki.ru/furniture.html5 │ 3 │ -│ http://wildberries.ru/comment/search │ 3 │ -│ http://ssl.hurra.com/iframe-owa │ 3 │ -│ http://myloveplanet.ru/passenger/kitched_country_id=4312&input │ 3 │ -│ http://cxem.net/324487194836848 │ 3 │ -│ http://saint-petersburg-gorod/goodal │ 3 │ -│ http://sunmar.ru/cart&ch=utf-8&sF=11,7,700&aN=Opera&aV=9.80 (Windows │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://wildberries.ru/comme%2F2.12.388 Version/1552/page │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&film/67... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://irr.ru/index.php?showalbum/logizer8/num-1/refremost │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://pogoda.yandex.ru/real-estate/apartments/73151 │ 3 │ -│ http://gotovim-doma.ru/personal/commersant.ru/image=19&pvno=2&engineVolum │ 3 │ -│ http://pogoda.yandex.ua/telefon_shtukaturkey │ 3 │ -│ http://krasnodar.irr.ru/yaransferapid │ 3 │ -│ http://jobs-education │ 3 │ -│ http://bdsmpeople.ru/index.by/ru/page=0&confiscategory_id │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://auto_id=0&color=0&confiscategoriya%2Fzhienskaya-advert25593 │ 3 │ -│ http://afisha.yandex.ru/sell/resident │ 3 │ -│ http://afisha.yandex.php?p=176d43f96ef32d5bc1272 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://forum/topics/ingradskazka-lookoformalities/poetry/events/?date&csrf-8200... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://video_dvd/suppoll/dleead6718.php?SECTION │ 3 │ -│ http://video=0&input_with_video.yandex.ru/page/10/women.aspx │ 3 │ -│ http://radioscannerica/film/47018.html?1=1&cid=691390&pvno │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://msk/platia-nashing/vanny.diary.ru/otdam_daily │ 3 │ -│ http://direct.yandex.ru%2F&sr │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=&is... │ 3 │ -│ http://kinopoisk.ru/cgi-bin/click.cgi%3Fsid%3D1216 │ 3 │ -│ http://irr.ru/index.php?showalbum/login-do-500-kv-m-Maya │ 3 │ -│ http://kinopoisk.ru/real-estate=2013-07-2089241607/photo=0&with_exchangeType │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/used/KIA-Cee-d... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://maps#ru_5_ru_1_ru_ru_ru_202_ru_1_ru_ru_ru_ru_2_ru_1743.html?oscsid=36303... │ 3 │ -│ http://rukodel=0&sort=newly&trafkey=27065/2/child.aspx#location │ 3 │ -│ http://zapchastny_fashing_mashes/index.ru │ 3 │ -│ http://myloveplanet.ru/bad_by_sidential/nizhnieiewva88 │ 3 │ -│ http://tyva-5/country=-1&washestvo/den_sidentialAmount │ 3 │ -│ http://chehod/zvenia8312&input_who2=1&input_age1=35&aN=Netscape │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory │ 3 │ -│ http://arma/frl-4/travel.ru/moscow/details │ 3 │ -│ http://rsdn.ru/info_all=yes&razdumy-i-trikshop/search&_h_page/1719920 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/procoolonelopitered/ministrict/3d-probeg-340-... │ 3 │ -│ http://ssl.hurra.com/iframe/iframe-owa.html%26custom%3D%26custom │ 3 │ -│ http://smeshariki.ru/news/2013/peshnye-udivlekanka.ru/l_03_00/bodreamfood.ua │ 3 │ -│ http://mylove.ru/zoom.php?GID=2&IsOrder │ 3 │ -│ http://zagranimals-planet.ru/user/31059&Module │ 3 │ -│ http://kuharka=48&modeloveplanet │ 3 │ -│ http://avtoto.ashx/1001087496197797217530729; Media Centernet_mastersburg │ 3 │ -│ http://sendflower │ 3 │ -│ http://whoyougle.ru/basket&ch=utf-8&sF=11,7,7,7,700 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://bdsmpeople.ru/Web/price │ 3 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://smeshariki.ru/index.ru/main.pl?cmd=show/47555 │ 3 │ -│ http://afisha.yandex.ua/index.ru/recipe │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://auto_operey-v-v-meha.ru/catalog/public │ 3 │ -│ http://votpusk.ru/ │ 3 │ -│ http://myloveplants_list-obl.irr.ru%2Fobuv-zhienskaia-modiezhda │ 3 │ -│ http://video=0&is_hot=0&che_simeis │ 3 │ -│ http://forum/topnews/222968695,910112_1164074834-908745 │ 3 │ -│ http://myfashihtzu.html?1=1&cid=65625f313230303&po_yers=2013/07 │ 3 │ -│ http://video.yandex.ru%2F%2Fwww.bonprix │ 3 │ -│ http://irr.ru/6323%26bn%3D27888895,96772&op_page47 │ 3 │ -│ http://afisha.mail.ru/stars/page │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://smeshariki.ru/chipinfo │ 3 │ -│ http://kurort/SP1399&op │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://irr.htm?from]=&int[852][to]=10&lastdiscussins/?keyworld │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stories.ru/art/MACKLEMORE │ 3 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 3 │ -│ http://pogoda.turizm.ru/communit=0&vip=0&order_by=2 │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.php?w=3160/transports │ 3 │ -│ http://afisha.yandex.php?link=114735200&brand=23368 │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountry │ 3 │ -│ http://wildberries.ru/page=0&vip │ 3 │ -│ http://nizhnieie-bielie-bieriends&fb_source-temno │ 3 │ -│ http://forum/topnews/2229362067528195&op_categoriya │ 3 │ -│ http://smeshariki.ru/Web/price │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://zarplata.ru/?p=1290&op_product_price=990348531&schoosOSRquM8gE&where=all... │ 3 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&top │ 3 │ -│ http://radiorecord.ru │ 3 │ -│ http:%2F%2Fmuzhchine/ru-g-Chelya_v_tsentyabrskii │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://ej.ru/muss/roll_to_audi/mode=replies │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://ur.hh.ru/file/news/2013 \xD0\xB3\xD0\xBE\xD0\xB4\xD0\xB0 │ 3 │ -│ http://guid=6&pw=2&pv=0&po_yers=0&with_video │ 3 │ -│ http://gorbus.aspx#localiformalitic │ 3 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 │ 3 │ -│ http://my.alpari.ru/filmId=yJg89hqV8gE&where=all&film/530/?fromCityCodeForcentr... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&text=\x... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://pogoda.yandex.ru/chat/ivan │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://yartb.html?city=55&TopicID=2&IsOrderedProduct │ 2 │ -│ http://afisha.yandex.ru/?trafkey=54073799 │ 2 │ -│ http://news/398261_enl.jpg-1 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://poisk.ru/news/articles │ 2 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD1\x81\... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://video.yandex.ru/rent/info/messa.ru │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://ssl.hurra.com.ua/auto_repairs=0&page=10&category_id=detail │ 2 │ -│ http://moscow/detail/Torgovljatory/storii_efferanslyatting │ 2 │ -│ http://kinopoisk │ 2 │ -│ http://video=0&input_state │ 2 │ -│ http://forum.php?t=420 │ 2 │ -│ http://mysw.info/node/21544 │ 2 │ -│ http://smeshariki.ru/tashkinsk │ 2 │ -│ http://smeshariki.ru/product&op │ 2 │ -│ http://yaroslavl.irr │ 2 │ -│ http://board=11.ua.150.html%3Fhtml │ 2 │ -│ http://pogoda.yandex.ru/jobinmoscow │ 2 │ -│ http://afisha.mail.ru/cheva.ru/reportby │ 2 │ -│ https://diary/2013-07-05/101090/currency │ 2 │ -│ http://slovarenok.ru/chapochki │ 2 │ -│ http://pogoda.yandex.php?showalbum │ 2 │ -│ http://kinopoisk.ru/saint │ 2 │ -│ http://krasnyj-chastory │ 2 │ -│ http://pogoda.yandex.ru/real │ 2 │ -│ http://3dnews.ru/msk/events │ 2 │ -│ http://sslow_13500000%26rnd%3D278888 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 2 │ -│ http://wildberrin/foton │ 2 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 2 │ -│ http://diary.ru/search?familliklink │ 2 │ -│ http://omsk.spb.ru/filmId=RUb3Hf2m0Cw&where=all&text │ 2 │ -│ http:%2F%2Fwww.bonprix.ru/search=0&deletedAutos&marketing │ 2 │ -│ http://kaluga/?ext=\xD1\x80\xD0\xB5\xD0\xB9 \xD0\xBD\xD0\xB0 \xD0\xB1\xD1\x80\x... │ 2 │ -│ http://pogoda.yandex.php?t=14555667679/?PAGEN_3=5&s_yers=0&numphoto/62232/7#f │ 2 │ -│ http://pogoda.yandex.ru&xdm_e=http://name=\xD0\x91\xD0\xB0\xD0\xBB\xD0\xB5\xD1\... │ 2 │ -│ http://auto_id=3159&input_age2 │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://guid=6&pw=2&pv=0&price=690&s_yers=1916 │ 2 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=2furii10.html?city=0&hide │ 2 │ -│ http://afisha.yandex.php?s=4d450&pid │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://afisha.yandex.php?city=418&view │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://wildberries.ru/editem_no=100¤cy=1#country=&op_proizvodskaya-obuv-z... │ 2 │ -│ http://wildberries.ru/filmId=4920/room=1&lang=all&filmId=DnGbyVQVUXI&wheretomug... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.040 user 0.372000 sys 0.008000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -┌────────────────┬────────────────┬─────────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ TraficSourceID │ SearchEngineID │ AdvEngineID │ src │ dst │ pageviews │ -├────────────────┼────────────────┼─────────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33069 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 24703 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 15817 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 14233 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 │ 6549 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 │ 5257 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 5257 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 3547 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login │ 3538 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik │ 3371 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php │ 3333 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 3309 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 2923 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 2616 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 2441 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php │ 2418 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 2390 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari │ 2367 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 2349 │ -│ 1 │ 0 │ 0 │ https://google.com.ua/url?sa=t&rct │ http://komme%2F27.0.1453.116 │ 2228 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 1920 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://komme%2F27.0.1453.116 │ 1679 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ekburg.irr.ru%2Fpuloveplanet │ 1340 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://aliningrad │ 1270 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1254 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1213 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1193 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1186 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1142 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F27.0.1453.116 │ 1007 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 954 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://aliningrad │ 859 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login │ 821 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 791 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 777 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 757 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 722 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://video.yandex.php │ 702 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 691 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/obucheyelants │ 684 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 632 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 593 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 577 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://smeshariki.ru/obucheyelants │ 566 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.php │ 452 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 445 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBA\xD0\xBE\xD0\xBD\xD1\x82\xD1\x80\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 422 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 421 │ -│ 0 │ 0 │ 0 │ │ http://obninsk/detail │ 407 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 386 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug.ru │ http://irr.ru/index.php │ 374 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru/index │ 360 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 348 │ -│ 2 │ 0 │ 13 │ │ http://komme%2F27.0.1453.116 │ 347 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-2011/43597 │ 293 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 293 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6HS │ 282 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 268 │ -│ 3 │ 72 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 267 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 259 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 257 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari │ 256 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 │ 241 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login │ 237 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 │ 236 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/28435&lr=157 │ http://komme%2F27.0.1453.116 │ 233 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/ru/photo/6936313555&text=\xD1\x85\xD0\xBA \xD0\xBB\xD0\xBE\xD... │ http://komme%2F27.0.1453.116 │ 224 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php │ 223 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cat/dushkirillovyj │ http://komme%2F27.0.1453.116 │ 222 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=359&op_page2/... │ 218 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kriminally-bezhevsk │ 217 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0 │ 212 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 207 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 202 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 199 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://ekburg.irr.ru%2Fpuloveplanet │ 199 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 198 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 197 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 195 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/414526863.xlsx │ 191 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CDMQFjAJ │ http://irr.ru/index.php?showalbum/login-kiriskaya-obl.irr.ru/index.ru/GameMain.... │ 190 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=0&with_photo.ashx/101/4/?cat=6257271 │ 188 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=partments-sale/search?text=\xD1\x81\xD0... │ 187 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://afisha.yandex.ru/index │ 183 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://ekburg.irr.ru%2Fpuloveplanet │ 171 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 168 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 164 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 163 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://ekburg.irr.ru%2Fpuloveplanet │ 160 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 160 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/life.ru/cars/misc/travel.ru/?trafkey=058143&p... │ 155 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 │ 154 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=577&oki=1&oby=&op_s... │ 152 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://wildberrior/uphold │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6HS │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 149 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 146 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustic/meterburg │ 144 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 144 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 144 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E │ 141 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 140 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 136 │ -│ 1 │ 0 │ 0 │ http://kombardighantnie │ http://komme%2F27.0.1453.116 │ 136 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login │ 135 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kysjacevtika │ 132 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://komme%2F27.0.1453.116 Safari │ 124 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 121 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category/stroy/dachines... │ 114 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/?state │ http://komme%2F27.0.1453.116 │ 113 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/GameMain │ http://komme%2F27.0.1453.116 │ 113 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 111 │ -│ 3 │ 85 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 110 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login │ 110 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kardigan │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 107 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosoftwarenok.ru/projects/zhbi.po... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 105 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268143.html?1=1&cid=577&o... │ 104 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 104 │ -│ 0 │ 0 │ 0 │ │ http://tvidi.ru/photo=0&confiscategory_id=0&engineVolumeFrom=&fuelRateFrom=type... │ 103 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 102 │ -│ 3 │ 14 │ 0 │ │ http://komme%2F27.0.1453.116 │ 102 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 100 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 98 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://video.yandex.php │ 97 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 96 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.21150895 │ 96 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?sort=price │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 95 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login │ 95 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.12.388 │ 93 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 93 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 92 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberrior/uphold │ 92 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 91 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-tanks/search=1&ady=62&modeloveplanet.ru │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 90 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.145332.15&he=10&category_id=2740387993 │ 89 │ -│ 1 │ 0 │ 0 │ http://in-the-weightEnd=2351&numphoto=&isExclusiver.ru/alertljus │ http://komme%2F27.0.1453.116 │ 88 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fprodazha_Italja_unit=1&av=1&nm=1&lang=ru │ http://irr.ru/index.ru/show/414526863.xlsx │ 87 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 86 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb1.html?item_no=386703/?bundle=7172&msid=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 86 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 │ 85 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 84 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733582852/ │ 84 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupit/action │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 82 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 82 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?bodystyle │ http://komme%2F27.0.1453.116 │ 81 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F22.14&he=768486 │ 81 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusk.ru/ru/lookaginitial/Prodayu-Dach... │ 80 │ -│ 3 │ 4 │ 0 │ │ http://komme%2F27.0.1453.116 │ 80 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 79 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://aliningrad │ 78 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 78 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login │ 76 │ -│ 1 │ 0 │ 0 │ https://go.1ps.ru/show&showforum │ http://komme%2F27.0.1453.116 │ 76 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandex.ru │ http://komme%2F27.0.1453.116 │ 76 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26221/detail.ru/v1496366&... │ 75 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php │ 75 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 74 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%2F&sr=http://bonprix.ru... │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len80/page/product │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filtr/all/perm.pulscen... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 73 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 73 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F1.7.1364.172 │ 72 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://diary.ru/forum/intries │ 72 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/show/414526863_112 │ 72 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2618561&pp=1059&op_produc... │ 72 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://video.yandex.php │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 71 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 71 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari │ 71 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://aliningrad │ 71 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=product_id=42&Selection.chelov.ru/searc... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/yandsearch?te... │ http://irr.ru/index.php │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/server=sc.chel.ru/main... │ http://irr.ru/index.php │ 70 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification/?year=\xD0\xB1\... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2791954~43.87725656132&op... │ 69 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://komme%2F27.0.1453.116 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/produkty/bleacs/udilis... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 69 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&wi=1366&br... │ 68 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 67 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731&CgID=124jc&where=all... │ 66 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/Yozh/Goodda │ http://komme%2F27.0.1453.116 │ 66 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2725215195&ti=\xD0\x9F\xD... │ 66 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://ekburg.irr.ru%2Fpuloveplanet │ 65 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru/index │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 64 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://afisha.yandex.ru/index │ 64 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nmg.com%2F4.0 Safari%26clients-sale/search&e... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 63 │ -│ 2 │ 13 │ 13 │ │ http://komme%2F27.0.1453.116 │ 62 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 62 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login │ 62 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://ekburg.irr.ru%2Fpuloveplanet │ 61 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 61 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26092.html?s_text=\x5C\x5... │ 59 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/thenon-houses/public/g... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27755f32316.30; .NET CLR ... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742/details/?cauth=0&dam... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fautoad/kniga.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26004/?_h=galle/\xD0\xBF\... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert27930555&sob=1&p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2692.html%3Fhtml?period=3... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/world/photo31469:Album... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=leting "HalUXI&where=\xD0\x9F\xD0\xB5\xD1\x8... │ http://irr.ru/index.php?showalbum/lofiver.ru/articles/86121%26uid%3D139750%26ad... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/koshka.com/ig/iframe-o... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27000,224648804-recept-so... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory=cinema.perm.p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/realty/suntime-5/extre... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742357/detskii_gosts.xml... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742304][from]=&int[14670... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694336/photo/suzannason/... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Forum25/top... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268320995,968650f45491882... │ 57 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupit/action │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1375605&ga... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://video.yandex.php │ 56 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga/choice/... │ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_product_... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?showtopic,5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26017/quarius_Moscow/cavi... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2726125413975d77cf&search... │ 55 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 54 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266848223/review_type=pro... │ 53 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 53 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26989%26bt%3Dad.adriver.r... │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/album/login-1800002&pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 52 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0 │ 51 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2698172,93932353064614618... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605085268a9c4d61-9862.49... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-36575c72937][to]=&int[12822304 │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_v_bordovye-printime.ru │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/investate/comple/make/?page5/&docid=jlMNIrXw... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 50 │ -│ 0 │ 0 │ 0 │ │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 50 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F11.7.1364 │ 50 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 50 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26051.htBeg=6&NightRegist... │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD0\xB8\xD0\xB1... │ 49 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 49 │ -│ 5 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 49 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?group=days=3&text=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27410/photo-2.xhtml&serve... │ 48 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandsearch │ http://komme%2F27.0.1453.116 │ 48 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 48 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusty-i-vkont.at.ua/search=0&userId=0... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266128182&op_seo_entry/de... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?sort=&br... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/intrumen │ 46 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://afisha.yandex.ru/index │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumanegenre=33155?analog/kitchen_mini... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login%2Flick.g.doubleclick.diary.ru/car/kw/3061/us... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://afisha.yandex.ru/index │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734.html_params%3Dfh_loc... │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/GameMain.p1Yo4A │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ua/searchads/jo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605906/frl-2/sportal.ru/... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fshow/lpp/cre.ru/pers... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.asp?search&ev... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logize.ru/msk/events_liver.ru/russert-plies.r... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26099486633033&countpage=... │ 44 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://sslow_135000008&position=search │ 43 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 43 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischet-solik/odezhda-plos... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert277553/38021/66936575776/... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271050&with_photo.kurortm... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 43 │ -│ 1 │ 0 │ 0 │ http://forums/liii-kuler S22oHgBJTngegotavgorod55.ru/filtr[2]=42 │ http://komme%2F27.0.1453.116 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-folders/?end=9a08488... │ http://irr.ru/index.php?showalbum/litamak.irr.ru/catalog/8570/travel.ru/cgi-bin... │ 41 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 41 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 41 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/0001216629/#top_by │ 41 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26040931&s_yers=0&with_vi... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://ekburg.irr.ru%2Fpuloveplanet │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.137508&s_yers=200... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://aliningrad │ 40 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logito8ergo_6470/page_type_id=20872/0/001:12:... │ 40 │ -│ 0 │ 0 │ 0 │ │ http://afisha.mail.ru/dmitrij │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/readar-nashi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27924563724&key=46960/med... │ 40 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://lib.ru/exp?sid=3205&bt=7&bn │ 40 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 39 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credit │ http://komme%2F27.0.1453.116 │ 38 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=8570/page=5&s_yers=2006 │ 38 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2679/detail/5482,935033/2... │ 38 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 38 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login │ 37 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dnevnoy-kv-Samara.irr.ru/searchAutos&marka=4... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 37 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://komme%2F27.0.1453.116 │ 37 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=theating&page=... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?group │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2784389/room=39695,966681... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/forum/topicID=269&stat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/votkim-rukav-i-kova-ul-adve... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filmId=xFX1UbTNJjxe4yF... │ http://irr.ru/index.php?showalbum/login.asp?razdel7/test/matched=115909d9_dsc07... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wolf-club478561/OPEL | \xD0\xB0\xD0\xB2\xD1\... │ http://irr.ru/index.php?showalbum/login-marka=13&city&custom=0&damages/0001216 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27553&s_yers=0&po_yers/46... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert275226607660?design=6efxq... │ 36 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=show=&fgroup-tab-mara.irinables/yearT... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278171&size=52094&op_seo_... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27330528/photo/6223799%26... │ 36 │ -│ 5 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://smeshariki.ru/obucheyelants │ 36 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36&he │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=post_neu%3D22%26pz%3D0%26rleurl%3D%26xp... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 35 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/8569 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/index.ru/katego... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vip.ru/book.com/photo/7086/page=0&state=mont... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-cukickdrops_bak_yant4tlGtZgy3BQ&bvm=bv.49478... │ http://irr.ru/index.php?showalbum/login-501-98552&op_uid=1060948/6#f │ 35 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (Windows │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19&m_staraya-obl │ http://irr.ru/index.ru/show/414526863_112 │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 34 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.12.388 │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 34 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_uid=1... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/promo=C-Tease/rent/dat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/list │ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 34 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/directadvert/kavanga_728x90.html │ http://komme%2F27.0.1453.116 │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 33 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshops.xml?typ │ http://komme%2F27.0.1453.116 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?cPath=default.ru/yandex.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33 │ -│ 1 │ 0 │ 0 │ http://auto.ria.ua/\xD0\x9A\xD0\xBB\xD0\xB8\xD0\xBC\xD0\xB0\xD1\x82\xD1\x8C\xD1... │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://video.yandex.php │ 33 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 33 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser │ 33 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265748ba3f755671_1162684&... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertif?sle=85000 \xD0\xB4\xD0... │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364 │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/pub │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 32 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zxcvbnm1990&search/jobinmoscow.ru/yandex.by/... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements-obschaya │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fproduct/foto-4/login... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&op_category_id=1174]... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniturers_id=575386110 │ http://irr.ru/index.php?showalbum/login.exit/rem/php/board/10_kruizer_8267049&o... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiepochto_id=93231238][to... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://afisha.yandex.ru/index │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ssl.hurra.com/iframe │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischuk_Kerasivye-klavik/?... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/jobs-education/m_acces... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26791e3a7c543c9bf9ef5c0-9... │ 31 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt │ http://komme%2F27.0.1453.116 │ 31 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertificia/?letteo_985428161/... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_api.php?cid=41389/rooms/perm.pulscen.ru/sear... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 30 │ -│ 1 │ 0 │ 0 │ http://domchelov.html&lr=55&text=\xD0\xB4\xD1\x80\xD1\x83\xD0\xB3\xD0\xB8\xD0\x... │ http://komme%2F27.0.1453.116 │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoryID=12452929587/... │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 30 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 30 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268630533&site_ot=&price_... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-k608i.trashbox.ru/cars/page5/&docid=577&lr=2... │ http://irr.ru/index.php?showalbum/logii_58247.php?forum.borovichy77/page5 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2716/~3/150160947694,9745... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/products/?category_id=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2696374/#page/tab=com_avt... │ 30 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/topic │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605446518%2F&sr=http://e... │ 30 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.14&he=768&wi=1920 │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26979553039353936694&ch=u... │ 30 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://smeshariki.ru/obucheyelants │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-carava/fotok-8-steklove.ru │ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26928142&op_products/view... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kupibatikov/?recrete/personal/klimat.ru/work... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 29 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x9A\xD0\xBE\xD1\x80\xD0\xBE\xD1\... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/wedditeli_foto-2/__48/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertifications[0][150]=60&inp... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_countpage/1 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/click.net/paged=696&lo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274229696.0 (Windows)&bL=... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-14132&with_photo=1&srtime-zone.net/catalog/t... │ http://irr.ru/index.php?showalbum/login-sierra%2Fdlia-zhienskaia-moda-zhiensmed │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 29 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2664952&xdm_p=1#country=-... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704.html%3Fhtml5/v12/?fr... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734/fotographic_2017666&... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategoriya/zhienskaya-... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9649.html%3... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27350350394&ch=UTF-8&sF=1... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/small_mercial-shoppicc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_seo_entr... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-baza/gadge... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27425.3120%26ntype_id=2&r... │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 28 │ -│ 1 │ 0 │ 0 │ https://directions[0][1541769377921968 │ http://komme%2F1.7.1364.172 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13733097&op_categ... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert272291684/hasimage=0&view... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/mann japanel/?text=\xD1\x81\xD0\xBC\xD0... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269500469412216388/detail... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-my-sovies/bebybum.homestion bonprix.ru/... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikarbox=2&tz=9b81998&po_y... │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?lang=all&fi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-176-kakaya-obl.irr.ru/search?lr=191&ei=N6rrg... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\xA4\... │ 28 │ -│ 3 │ 95 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/anime-2/#album/l... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-eve-nn.ru/cars/passenger/\xD0\x92\xD0\x90\xD... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274236&pv=15&prr=8&sid=35... │ 28 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic/8939858-59929477/detailshop │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/41452626u1zIq0SGLXCI │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F22.14&he=768486 │ 28 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://ekburg.irr.ru/#lingvo │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678/page=2&marka=84&mode... │ 27 │ -│ 3 │ 2 │ 0 │ │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/search?cl4url=http://yandex.ru/online... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27013.ya.ru/sportalznakom... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert24061.jpg.html%3Fhtml?1=1... │ 27 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031343-sh-898675/sort=pri... │ http://irr.ru/index.php?showalbum/login-5158&jenre/slyudya_metroman.ru/GameMain... │ 27 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19195/offset=101&district=&city&with_photo=¤cy │ http://irr.ru/img/catalog/53485785/topic/8939850.php?page=3&marka=84&mm │ 27 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://obninsk/detail │ 27 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-oleginnesujeli-i-centum=etarget=search?clid=... │ http://irr.ru/index.php?showalbum/login-kupe.html_params%3Drhost%3Dad.adriver.r... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fhit_list.html?s... │ http://irr.ru/index.php?showalbum/login-irake-myservierk-supierts%2F&ti=\xD0\x9... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27928092_price=\xD0\xBC\x... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/mazda-dievochnye_avari... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-19.xhtml?city_to_one=All&film]/on/orders/810... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/1.19.mobile_photo=6001... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27630/?item_id=0&bodystyl... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ 1 │ 0 │ 0 │ http://bonprix_ru_11559&lr=12&usln │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lizova_ii_1112_1150&option[price_do=300... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E&wher... │ 26 │ -│ 1 │ 0 │ 0 │ http://yandex.ua/?target=search/tab=user │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://obninsk/detail │ 26 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detall/seconomicsmovinki │ http://komme%2F27.0.1453.116 │ 26 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/loginsk.irr.ru%2Fkategory_id=9204471-650/?_h=... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login-jjjekrju-s-pring=1&price[price=\xD0\xBC... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification.ru/messa.ru/rea... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lejandsearch?text=\xD1\x82\xD0\xB8\xD1\x85\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert21124631/?Search.php │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 26 │ -│ -1 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 26 │ -│ 3 │ 197 │ 0 │ │ http://komme%2F27.0.1453.116 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_category... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?messa.ru/worlds/page2/7277932582&text=\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 26 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-kupe-20010120652838799.html?n=7148.html... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemey-volvom80Cw&where=a... │ 26 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=607&state=4... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.22 (KHTML, like Gecko) │ 25 │ -│ 1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 25 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/people.ru/cars/passets... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731/?city=0&pvno=2&evlg=... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vivarki/redki_sdelaet-law.ru/produkty/kartgo... │ http://irr.ru/index.php?showalbum/login=driff/en-ru/?p=2#messages/00001216629 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.html&ei=GcXrUYe8F2DAU-RbuRlLMczoJ--5uDCx8 │ http://irr.ru/index.php?showalbum/login-132/#images/0000.h95/\xD1\x82\xD1\x8E\x... │ 25 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert264314953); ru) AppleWebK... │ 25 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://obninsk/detail │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search?text=myaccountry │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguard-payments-sale/se... │ http://irr.ru/index.php?showalbum/login-88i8LaDyEkCVv6-DhRfEDcw==&action │ 25 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/yandex.ru/?f... │ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 25 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.ru/film/46351/frl-2/bage │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605838.html5/v12/?from=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-link=1147373-1&p=1&p=2&text=\xD0\xBC\xD0\xBE... │ http://irr.ru/index.php?showalbum/logisterlingvo/#! │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694589/detail/555-javata... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741559&t=5204/make=Chrys... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=shops.html?id=1&body_type=\xD0\xBF\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781472265&op_seo_entry=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626rleurl%3D//ad.adriver... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685/price_ot=&price=\xD0... │ 24 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://diary.ru/forum/intries │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26685857947301_Zoryatiya/... │ 24 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-117031&op_category&op_seo_entry=&op_uid │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27399992.php/board,13.0) ... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671291&fridgets/2012&pri... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguar.ru/page4/?emain.a... │ http://irr.ru/index.php?showalbum/login=ogabass.ru/filmId=9WOqzzitive&view │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo/7... │ http://irr.ru/index.php?showalbum/login-kupit-plitka-s-korsiety/art/151/n4p/160... │ 24 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://video.yandex.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-annative-expressageId=0oVXx21hUXI&where=all&... │ http://irr.ru/index.php?showalbum/login-rybnovlevojj_mamountry=-1&type%3D0 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/intrumen │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kupalnaya_elit=&id=3&clid=9403&lr=1913849 │ http://irr.ru/index.php?showalbum/login-gallebia_zhurnalCall D.R.E.mp3ex.net/ph... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lolacake/tatyaka.html?1=1&cid=577&oki=1 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinglish.rus-l7-p70505-1... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/yandsearch?lr=1... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-yvaken/topic=7702.jpg.html?1=1&cid=577&... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=1&bc=3&ct=1&pr │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-547552/1/?sma=RAINBOW&op_uid=fdd1b9d2721728&... │ http://irr.ru/index.php?showalbum/login-kapusta-advertika/search/room=1&damage=... │ 23 │ -│ 1 │ 0 │ 0 │ http://auto_volkswagency=1&text │ http://komme%2F27.0.1453.116 │ 23 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgarials/commend/searchvage-2.html&dt=13734... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-tuniki_510... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263090024189-528619c2077/... │ 23 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/ru/index.ru%26bid │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333572620201709/page/10... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news/radio&clid=198555... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26939.html?page/3/#count=... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/kategory_id=5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2740974%26pz%3D0%26ar_sli... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 23 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/resultatya9176da22f1a521a5853.html&... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26600721376439322%26pz%3D... │ 23 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga_728x90.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://afisha.yandex.ru │ 22 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2697574697.html_param=0&u... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemennoke0070553995f27d6... │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-105vr/ │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=search.tutung/s... │ 22 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/wheel.ceratornaya_solnechka │ http://komme%2F27.0.1453.116 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-10760b31b65633eZateq eb806e887d9f15ccf593280... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2091&local=1&TypeSearch?mail.ru/yandsearch&c... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26058&nnum=s4746835895&op... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-the-ili-tempera-minsk.irr.ru/produkty/bluzki... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodny │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739693071/pomer... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2649.html?pg=menu_29.jpg&... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/v1465][from]=&int[157281 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267830840994,95688781470%... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-business/sale/ru/search?mail.ru/film%2Fbarna... │ http://irr.ru/index.php?showalbum/login-zakon_type=1&fuelRatesTypeSearch │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 22 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27200,55.7654.html_parat-... │ 22 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26601629][from=&fuelRateT... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&l... │ http://irr.ru/introlux_page5/2/page/Renaul.irr.ru/start=1500-rublic/gamemain/Tu... │ 22 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://ekburg.irr.ru%2Fpuloveplanet │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liliate_id=24145602&with_phoney.yandex.ru;ya... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-natashkarola.irr.ru%2Fviewforum/MsgList.html... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26900/technics-technics-t... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&city[7]=23239330794,25826044_Black_lis... │ 21 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?price_till beli.php?cx=015216684_36 │ http://komme%2F27.0.1453.116 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694,978825315f373400/det... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691_ru_17832523.html_par... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1) AppleWebKit%2F537 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/world/photo/41/62b1dfa450/3/women-clother%26tms%3D%26ev_ltx%3D... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/forum%2Fukhov/l... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27025&Select[4][]=32598.h... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/basketshop.ru/yandsear... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265228.html?1=1&cid=577&o... │ 21 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://wildberrior/uphold │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo44953.116.php?t=4... │ http://irr.ru/index.php?showalbum/login=ko&page=0&view.aspx?group_cod_1s=85&key... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/?from │ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/houses/passenge... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-dance/index.ru/?favorite_off=1&encoding&hl=\... │ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logino-s-grigerator/page1=&input_age1 │ 21 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cars/commeddesk.ru/google_s&12.5.746.59954.30 (KHTML, like/\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/logii-bin/click.cgi%3Fsid%3D158195,97987231-9... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26737865/?page/12186/#/ec... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ramblery/pic/893985650697... │ http://smeshariki.ru/obucheyelants │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login.html?1=1&input_who1=2&input_who2=1&inpu... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/club.ru/anime-zone.ru/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929&from%3D%26custom=0&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dietsik.ru/razdel_id=111,7,700&w=728x90.html... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-brie... │ 21 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739353/details.... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2186/detail.aspx#location... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification%2F4.0; XBLWP7; ... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kupalnik │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/9-0--navam-zhien... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741465][from]=&input_wit... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_uid=1147... │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login=uzpp2XnEw&bvm=bv.49784469][from │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 20 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-Larki-i-korobeg-1124-95367/guestblowinp... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26219&wi=1280&lo=http://w... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estatic.diary.ru/... │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=58&Selectronics-technics/k... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/yandex.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b706234651&op_uid=1&b... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?er=2&text=\xD0\xBA\xD1\x83\xD0\xBF\xD0\xB8\... │ http://irr.ru/index.php?showalbum/login=razer2.moikrug.ru/recipes/shop.spb │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&price │ 20 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://video.yandex.php │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=NeIdeaCenternet Explorer&aV=5.0 │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertificirovka.ru/noteating-i... │ 20 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271161076&st=261&t=170977... │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313163307/?from]=&int[15... │ http://che.ru/produkty_zarubezhei-niepochekhly │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate=0&ReturnUr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604370757034dea482207549... │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_api.php?id=7262882,9454472&op_product_n... │ 20 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/cars │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-karbox=0&top=0&category/1961/#images/00... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26637&model=1705.html?1=1... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumilora481 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-iulyanovskaya-obl/lyubvi?page=166733&eid=485... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27502/detail/?folders/#pa... │ 20 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt=13733129/room │ http://komme%2F27.0.1453.116 │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626u1zIq0SGLXCI&where=al... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=240&u_cd=242035165&input_who2=1... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news_id_72387877055/nu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?sort=popup/casualg... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikulina.ru/real-estate/ou... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 19 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/filmId=eRaB4pYAXCI │ http://komme%2F27.0.1453.116 │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.ru/daily │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBB\xD0\xB8\xD0\xBA\xD0\xBE\xD0\xBB\xD0\... │ http://irr.ru/index.php │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260540718534/?dateOn=1&bo... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login=perfect.yandex.ru%2Fkategoriya%2F537 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261921&pr=2441185112.html... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26672655462.html?city.ru/... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 19 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostok.ru/cars │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/check=1&redir=1&lang=a... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671&Destige-all.html_par... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27404895,95923.html%26cus... │ 19 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2638/?from=&raceTo=&power... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313437&pvno=2&evlg=VC,2;... │ http://irr.ru/index.php?showalbum/login-rizova.ru/look/timashirtsevm.cofe │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6HS │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166333/price[price_till]=&pri... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F_liveresum... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27355f3132366336601&uuid=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.php?f=11340.1j1j2.12...5998-103358071/8/page... │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/00007/10/1320006&p... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto_repai... │ 19 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.15751 Safari%2F5.0 (Windows │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://smeshariki.ru/obucheyelants │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2675406828ac956028692581/... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26968794618/irr.ru/real-e... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://obninsk/detail │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2629&lr=65&rstr=-213&text=back=False&withmos... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2702483,631;IC,444041%2F&... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?search?text=\xD1\x80\xD1\x83\xD1\x81\xD0\xB... │ http://irr.ru/index.php?showalbum/login-inadlinny-sched_car=0&city=0&price=18&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=http://video.yandex.ru/real-estate │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26669E116-1-1550046560013... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274026181891&rn=52&brand=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/dlia-zhiensk... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-165&jenre]/49047&lr=163&text=samsung ga-moda... │ http://irr.ru/index.php?showalbum/login-2-komn-v-na-92f5-6ccf-fef3-013f9f926a21... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&checked=0&state/room=10002-g-v-program... │ 18 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ru/index │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5 │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?elmt=popular&where=all&film/723/num │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/restate/out-of-town-resh=1&cnt=1373... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2012-recept-Ragu-iz-2-x │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupaljinik-slidi/places/?PAGEN_1=2 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=deltec&type=citymo=&version%2F4.0 (Linu... │ 18 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27534.30 (KHTML, like Gec... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kochtinsk.pulscendinskiy-krasnodar.irr.ru │ http://irr.ru/index.php?showalbum/login-kuplyuskij/zapchastorii_state/out │ 18 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login.moikrug.ru/catalog/otchenko-ul-advert27... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zzzi.ru/a-shop and blademas/?id=1&marka=0&ma... │ http://irr.ru/index.php?showalbum/login-2003prev=/search/index.ru/meteor.html%3... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\... │ 18 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278453&with_exchange=0&ex... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=367132&pv=2... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27132069304;IC,1511e8d158... │ 18 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27071038_114736895,923401... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x9A\... │ 18 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/8018&l=malkogo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kanza_tab_2499472&lr=1074&sort=popular │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/?target=search?... │ http://irr.ru/index.php?showalbum/login-bigutensiysk.irr.ru/regular&bid=3205&bt... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27420780790931.html5/v12/... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-natura.ru/jobs-education=post_137336ID0... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-21102&text=\xD0\xB1\xD0\xB0\xD0\xB1\xD0\xBA\... │ http://irr.ru/index.php?showalbum/login.mospsy.ru/super-na-kostronics/tv-audio.... │ 18 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/obuv%2F │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685&numphoto=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertimeshariki.ru/cgi-bin/cli... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626p/ │ 18 │ -│ 1 │ 0 │ 0 │ https://diary.ru/magnitogorsk │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260908861%26point-peter=&... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sien-zhienskaya-i-kvartir.html?id=1955451-01... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1453.116 Safari%2F8536 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeSearch?text=\xD0\xB2\xD0\xBA\xD1\x83\xD1... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=yators/?jumping.ru/series.ru/priceup&page=3&... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga1788778.137329TVmbFNmbVNaR0YwW$UyNDg4fxS... │ http://irr.ru/index.php?showalbum/login-sienskaia-moda-zhienskikh_rabotjaga.ru/... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=36427929&stat... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinger/\xD0\x93\xD0\x90\... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929750%26ar_sliceid%3D2... │ 18 │ -│ 4 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691c352005&pvno=2&evlg=V... │ 17 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27422544/3/womens.ru/ufa.... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/cars/communalux.ru/dos... │ http://irr.ru/index.php?showalbum/loshaya-obl.irr.ru/film/35562C?analytics/kto-... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru%2Ffilm/4858?pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271527091/frl-2/bage-2.ht... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.103402.html%3Fhtml │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#7878... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=artira-Lyubyat │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.aspx#location │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=yes&y1=2013-07-07.ya.ru/5_search?text=\... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.15.html?1=1 │ 17 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://aliningrad │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266149_51928/detail.ru/ka... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%26rleurl%3D%26CompPath%... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2613168312.71 Safari%2F__... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2670308&po_yers=0&price_o... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=8&ch=UTF-8&ifr=1&av=1&nm=1&ved=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_Bolers-device.aspx#commersanta_premiery... │ 17 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6HS │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-dlia-zhiensmed.ru/el... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginyazevskaya%2F5.0 (Windows NT 5.1) Prestorygoo... │ http://irr.ru/index.php?showalbum/login-kupilomatic.aspx#location=rr&days&city&... │ 17 │ -│ 1 │ 0 │ 0 │ http://bdsmpeople.ru/register2123 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logistereda.ru/photo/70861/6#f │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263161366&bid=2823&numpho... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26041.htm%3Fsid%3D0%26pz%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowthreadreplies=24&ids=74&cu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27595,9305f3931339322%26n... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313&ussp=mstp&usln=1&inp... │ http://irr.ru/index.php?showalbum/login-3767436/roomootofile/obzor.com/iframe │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273363331251798796&op_seo... │ 17 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/stan/index.kz/yandex │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-search%3Futm_source=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031323532363&win=70&mode=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertistia.html?partment/searc... │ 17 │ -│ 3 │ 22 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ 1 │ 0 │ 0 │ http://bibieters_sig=5ea8QizwGSPy0yGcm14ATH74D4Bw&usg=AFQjCNHxMZlonova.ru/p1847... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://diary.ru/forum/intries │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_style... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261636/detail/odnoklassim... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lenfiki-zhienskaia-moda-muzhchin-sitafa ishq... │ http://irr.ru/index.php?showalbum/logical.ru/link=11485-9065383235348%2F&sr=htt... │ 17 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/messar.ru/professig │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-futbolki-k... │ 17 │ -│ 1 │ 0 │ 0 │ http://acase.php?input_who1=2&input_who2=1 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.10 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733145625/details... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694&option%2F12.14&he=76... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-irina19910735%2F27.0.1453.116 Safari │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268814453957595,94406/det... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26618531&t=111246.html?p=... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=Like Gecko) Chrome%2Fpotnik=1&price_do=&curr... │ http://irr.ru/index.php?showalbum/login-the-poxudet_sponsor=&o=6000708498/?caut... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b76faact/less=1&ru=1&... │ 17 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-53584715,1327288/belgium/arch=1&themec.... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=bestwo.diary/details&id=9160/0/posti.ri... │ 17 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 16 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/category=cinem rasmusic │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098707209463401090/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267044005320AA76)&vendor_... │ 16 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search?clid=19554786.0.8.0.2.2003558_3497926... │ http://irr.ru/index.php?showalbum/logie-niz-doktops/electronics/4185570c72 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-herokee_tatus=1&rm=18606bAxFEcQT6smBB4W... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27034195,9520160173/5/wom... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgas.rQRAX2Ua3IF1iHJcaz4ATv34DABw │ http://irr.ru/index.php?showalbum/login/?page=1024&wi=144438-88-3906740/currenc... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search/cuZXdzJTJGJmxyPTI4fQ,... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&pt=b&pd=7&pw=2&page5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-plan... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26396284046.xhtml%3Fhtml%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate/out-of-tow... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260612d7cf.4082813,74,756... │ 16 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login.aspx?sle=13&s_yers=0&page_type=0&door=0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/page=91552&q=\... │ http://irr.ru/index.php │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-krasok.html_params%3Drhost%3Dad.adriver │ 16 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/movinki... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnaja-prost-petersburg/detail/?fold... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?&clients-sale&siteurl%3D//ads/search?text... │ http://irr.ru/index.php?showalbum/login-kapusta-advert273786/foto-5/#photo=2817... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661232&streamfood.com/if... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiensmed.ru/dl/\xD0\xB7\x... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti/redmonds %2F offset=403134333.2201560&c... │ http://irr.ru/index.php?showalbum/login-v40-velopiter.feriod=0&scroll_to_auto.r... │ 16 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-57548811426&text=\xD0\xBB\xD1\x83\xD1\x87\xD... │ http://irr.ru/index.php?showalbum/login-coolonellana-Molodilnik.ru/index.php?vi... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166303133334%2F&ei=horia+iudi... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26765.html_params%3Drhost... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/70948/35.htm?id=... │ http://irr.ru/index.php?showalbum/logiy-luchaiev%2F&sr=http:%2F%2Fwww.bonprix c... │ 16 │ -│ 1 │ 0 │ 0 │ http://histore/profile;u= │ http://irr.ru/index.php?showalbum/login-kupe-20013&uuid=1373356164564_1sort/sta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=findjob.ru/planet.ru/index.ru/carinov.h... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2755597.html%3Fhtml?1=1&c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/showtopic,803813.html&... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_catalog/1250/?itemsg/cd... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert260477/cities/visas/exp?s... │ 16 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://video.yandex.php │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27429&input_bdsm_position... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2728024/detail/508/?instv... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26887301/Zona/simferopol.... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-153-4b9c4.4331626.htm?size%3D0%26rleurl │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 16 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect │ http://komme%2F27.0.1453.116 │ 16 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://msuzie-shop/premiery-c-38208_2.html │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/posts&q=\xD0\xB2\xD0\xB5\xD0\xB4\xD1\x83\xD1... │ http://irr.ru/index.php?showalbum/login-mistore/#CATALOG_LIST-s-ovosibirsk/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-marka=23&model&desting?field_town/search/pri... │ http://irr.ru/index.php?showalbum/login-492ea9&show/417582,9626512874":10157628... │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/sch/price][min]=41&lr=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27364229586121%26url%3D%2... │ 16 │ -│ 1 │ 0 │ 0 │ http://volgografiyah_27_iyunya_50_let%2FgetId │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/tv-audi/a7-spec=9894797179698712/p1/8... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-maritkiN │ http://irr.ru/index.php?showalbum/login-ladimir.irr.ru/remiery-telefon.ru │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333%26bid%3D1%26rleurl%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661251-6efa-d61f-fef3-01... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new=127201148][fr... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/7427510/detail/5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti%2F%3Ff%3D100%&http://afisha.yandsearch&... │ http://irr.ru/index.php?showalbum/login-6030d.html_params%3Drhost%3D90%26height │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=view/5/item3963... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269899458/price/3815&pvno... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5.0 (Win... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logiste's a di galaxy-s4-story1.aspx#location... │ 16 │ -│ 1 │ 0 │ 0 │ http://yandsearch?lr=2&color │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-gorod/search?p=7&oprnd=9902.jpg&img_url=http... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27222.vk.me/u3166 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2753][from]=&pricedownloa... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new10152954vac │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2735030373434-152495.php?... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makeevka.ru/perm.irr.ru/slingvo/#1\xD0\... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313033393633310,932803][... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691.html?1=1&input_age2/... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26708662307][]=&selection... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-irinakai/page_num_read2306e4574&ei=Ot_rUfjPG... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2010000087378687/pic/8939375f303839303935373... │ http://irr.ru/index.php?showalbum/login-souse=2/path=39_1.html?1=1&cid=577&oki=... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumy.ua/search?text=\xD1\x81\xD0\xB5\... │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/?strict=5710... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/artira │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertists/736850/?item_no=737&... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2695/19545602cf94d77/repl... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikal.ru/search/room=1&dam... │ 16 │ -│ 1 │ 0 │ 0 │ http://forums/liiiervierk-suppohudeemvmesting/294465&op_categoriya │ http://komme%2F27.0.1453.116 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&model=1173... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=new&cad=rjt&fu=0&input_country_id=228&lr=961... │ http://irr.ru/index.php?showalbum/login-cam.shtml#objdesc=true&uA=Mozilla │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login/?do=ready-mansion%3D0%26url%3D%26bn%3D0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb=1&prepairs=0&city[1 │ http://irr.ru/index.php?showalbum/lounona-muzhchin-kupaljinik-chernyj-odnoe/san... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-4433140796851/detail/536180&all=False&i... │ 15 │ -│ 1 │ 0 │ 0 │ http://launcher-searchads/search │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781308;IC,238208836746/0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginsk.eu/ru/Pagesize=13&m1=07 │ http://irr.ru/index.php?showalbum/login-3muda/truction/vacancies/750207190765.h... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-album/login.2/second... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_produkty/kiev.org/forum... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26981583/page=1089592445/... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945HPS?analog/r10418/sort=price_do=200&site_off=1 │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F1.7.1364.172 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273389; U; Android 4.0.14... │ 15 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshop/id_art_type=7&s_yers │ http://irr.ru/index.php?showalbum/login │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273631253711/foto-6320166... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2724/?_h=search?text=\xD0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-goluboj-podserial&dfs=13 │ http://irr.ru/index.php?showalbum/login-haus.html#news/228670,257&pci=3012/frl │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#67 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266356163f39ea6f8/7a8745&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26605566254/room=1.6&wher... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/washes/built-in_two_ch... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?page37/?sta... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/state=1909644 │ http://afisha.yandex.ua/auto_id=0&with_photo.kurortmag.ru/razdnitsya-vishnury │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?Topic │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?transk.i... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginskikh-viana.irr.ru/GameMain.aspx?sle=1/house.... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://irr.ru/index.ru/show/414526863_112 │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-land_search?text=\xD0\xB0\xD0\xBC\xD0\xB1\xD... │ http://irr.ru/6323%26bn%3D27888895,963095425 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678&op_page=60000/curren... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list.html?typ=SMA&anbieter=aleks_evilkos.com │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/produkty%2Fplatj... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/index.ru/ange=0&s_yers=(3000&static.diary.ru... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2718599/photo=0&is_hot=0&... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?Id=9582 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-tumbov.irr.ru/page1=&input_who1=2&id=29... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=alini... │ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liloveplanet.ru/futurer533/women.aspx?group-... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2631920&lo=http://person_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.1Uv1UfqCA8SonYC4BQ&usg=AFQjCNGB3pBUuKY1jJPP3... │ http://irr.ru/index.php?showalbum/login-tank-sale/search%3Fmode=&page_type │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2699364224073532663835386... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.php?city[1]=700003 │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26761,55.654289600/detail... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27515/418695&st=327-B110Q │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login=vladimir/page_type=0&expand_search?text... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?dok=001&rightbox/week&From=0&user │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/frl-4/trailer/view/3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-lential/secondary/details9.html_params%... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page9/#14... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/gamemain.asp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-676216b8af/4fd00fa61b3185631821/page_ty... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=25127691%2F... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2730675595,9292fa-d61f-fe... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27877437494,943082&stat_t... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27265484158197%26width%3D... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienshchin-planet.ru/myma... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1955451&lr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/ch/floore troubleclick... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_appliazh-pliance/mista-bez-uchaiev/000202&cl... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Ford-antent... │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 15 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 15 │ -│ 3 │ 123 │ 0 │ │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginy_name/3196906481/currency=6465373200&price=\... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2776/?date=0&doorov.irr.r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-102-821922237&arrFilter2013/08-iH4AT5zIGQDA │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_type=&freetao.diary.ru/sea... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nashinger/users/search?textilead&353%26ev_pl... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert262997385f32313335781094&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2693_763613.html_params%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/877/ru/buildin... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert276278-ploschaya_checked_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274298799461981/?date=129... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9584%26pz%3... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.10 │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 15 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credir=1 │ http://komme%2F27.0.1453.116 │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://ekburg.irr.ru%2Fpuloveplanet │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=on&input_onliner... │ http://irr.ru/index.php?showalbum/login.html%26custom%3D%26CompPath.2; WOW64; r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/gosthelp.ru/auto.ria.... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=on&in... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga664.1721/deti74.ru/animals-planet.ru │ http://irr.ru/index.php?showalbum/login=K-SR-B-13-9635095,9661/9#f │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/litlip/saint-peter557932E-8C62-4917%26ad%3D64... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2651734&pt=b&pd=7&pw=1&pr... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search?text=\xD1\x84\x... │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 15 │ -└────────────────┴────────────────┴─────────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.126 user 1.188000 sys 0.004000 -D 07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Run Time: real 0.014 user 0.188000 sys 0.004000 -D D (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Run Time: real 0.019 user 0.264000 sys 0.000000 -D " = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) ORDER BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))); -Run Time: real 0.012 user 0.164000 sys 0.000000 -D -D -D -D -D '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(URL) > 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -┌──────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├──────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 102341 │ -│ http://komme%2F27.0.1453.116 │ 51218 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18315 │ -│ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16461 │ -│ http://irr.ru/index.php │ 12577 │ -│ http://irr.ru/index.php?showalbum/login │ 10880 │ -│ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 7627 │ -│ http://irr.ru/index.php?showalbum/login-kupalnik │ 4369 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 4058 │ -│ http://komme%2F27.0.1453.116 Safari │ 3021 │ -└──────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.064 user 0.792000 sys 0.000000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(Title) > 0 GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ Title │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ \xD0\xA2\xD0\xB5\xD1\x81\xD1\x82 (\xD0\xA0\xD0\xBE\xD1\x81\xD1\x81\xD0\xB8\xD1\... │ 122407 │ -│ \xD0\xA8\xD0\xB0\xD1\x80\xD0\xB0\xD1\x80\xD0\xB0\xD0\xB9), \xD0\x92\xD1\x8B\xD0... │ 82935 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA - IRR.ru │ 80958 │ -│ \xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\xB8 New Era H (\xD0\x90\xD1\x81\xD1\x83\xD... │ 39098 │ -│ \xD0\xA2\xD0\xB5\xD0\xBF\xD0\xBB\xD0\xBE\xD1\x81\xD0\xBA\xD1\x83 \xD0\xBD\xD0\x... │ 23123 │ -│ Dave and Hotpoint sport \xE2\x80\x93 \xD1\x81\xD0\xB0\xD0\xBC\xD1\x8B\xD0\xB5 \... │ 14329 │ -│ AUTO.ria.ua \xE2\x84\xA2 - \xD0\x90\xD0\xBF\xD0\xBF\xD0\xB5\xD1\x80 │ 14053 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA (\xD0\xA0\xD0\... │ 13912 │ -│ OWAProfessign), \xD0\xBF\xD1\x80\xD0\xBE\xD0\xB4\xD0\xB0\xD1\x82\xD1\x8C │ 10919 │ -│ \xD0\xA2\xD1\x80\xD1\x83\xD1\x81\xD0\xB8 - \xD0\xA8\xD0\xBE\xD1\x83\xD0\xB1\xD0... │ 10157 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.045 user 0.576000 sys 0.004000 -D AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 7479 │ -│ http://aliningrad │ 4791 │ -│ http://ekburg.irr.ru%2Fpuloveplanet │ 3584 │ -│ http://smeshariki.ru/obucheyelants │ 3064 │ -│ http://video.yandex.php │ 2887 │ -│ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 1084 │ -│ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 891 │ -│ http://afisha.yandex.ru/index │ 855 │ -│ http://sslow_13507.html?aspx?naId=6HS │ 521 │ -│ http://wildberrior/uphold │ 484 │ -│ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 289 │ -│ http://obninsk/detail │ 241 │ -│ http://diary.ru/forum/intries │ 208 │ -│ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 185 │ -│ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 185 │ -│ http://kurort/SINA, ADRIAN │ 157 │ -│ http://afisha.yandex.ru │ 132 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 124 │ -│ http://ssl.hurra.com/iframe │ 123 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 119 │ -│ http://stars-visa.html_params%3Drhost%3Dad.adriver.ru/catalog.php │ 105 │ -│ http://komme%2F27.0.1453.116 │ 83 │ -│ http://pogoda.yandex │ 80 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 79 │ -│ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 73 │ -│ http://video.yandex │ 71 │ -│ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 68 │ -│ http://wildberries.ru/daily │ 68 │ -│ http://smeshariki.ru/ru/index.ru%26bid │ 68 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 64 │ -│ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 64 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn │ 63 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 59 │ -│ http://sslow_135000008&position=search │ 58 │ -│ http:%2F%2Fwwwwww.bonprix.ru/topic │ 53 │ -│ http://sslow_13507.html/articles │ 52 │ -│ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 51 │ -│ http://rsdn.ru/rss.ya.ru/catalog │ 51 │ -│ http://ekburg.irr.ru/#lingvo │ 46 │ -│ http://pogoda.yandex.ru │ 45 │ -│ http://sslow_13500000%26rnd%3D2788881.html │ 44 │ -│ http://maps#ru_5_ru_22106.377648194,975924][to]=&int[14270pa106&op_uid=17759/6#... │ 42 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 37 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 37 │ -│ http://video.yandex.ru/film/46351/frl-2/bage │ 36 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 35 │ -│ http://direct.yandex │ 34 │ -│ http://sslow_13507.html?aspx?naId=3X_3bhLcs3M │ 33 │ -│ http://gotovim-doma │ 32 │ -│ http://che.ru/produkty_zarubezhei-niepochekhly │ 31 │ -│ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 30 │ -│ http://video.yandex.ru/Newsletter │ 29 │ -│ http://sslow_13507.html?aspx?naId=6D8IzMGys3M │ 29 │ -│ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ http://video.yandex.ru │ 28 │ -│ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 28 │ -│ http://notes=1/currency │ 27 │ -│ http://sslow_13507.html?aspx?naId=649&state/out-of-town=\xD0\xA5\xD0\xB0\xD0\xB... │ 27 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 26 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 26 │ -│ http:%2F%2Fwwww.bonprix.ru/tambov │ 24 │ -│ http://kinopoisk.ru/shoppich.ru/search?clid │ 24 │ -│ http://wildberries │ 23 │ -│ http:%2F%2Fwwwwww.bonprix.ru/searchAutoSearch?text=\xD0\xB2\xD0\xB5\xD0\xBB\xD0... │ 22 │ -│ http://myloveplanet │ 20 │ -│ http://stars-visa-litraj.txt","lpu":"http://pogoda │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/secondary │ 20 │ -│ http://msuzie-shop/premiery-c-38208_2.html │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://smeshariki │ 19 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 19 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ http://irr.ru/6323%26bn%3D27888895,96772,97436 │ 18 │ -│ http://kinopoisk.ru │ 18 │ -│ http://nepogoda.yandex.ru%2Fproducts/search?text=subscripts/busineshop │ 17 │ -│ http://wildberries.ru │ 17 │ -│ http://kinopoisk.ru/catalog/9902224 │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://direct.yandex.html │ 17 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 17 │ -│ http://irr.ru/6323%26bn%3D27888895,963095425 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 16 │ -│ http://afisha.yandex.php?gidcar=36281664 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://auto.ria.ua/search │ 15 │ -│ http://direct │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ http://irr.ru/index.php?showalbum/login-kupalnaya-obl │ 15 │ -│ http://kinopoisk.ru/odessya │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 14 │ -│ http://ekburg.irr.irr.ru/maker │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.yandex │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.mail/rnd=0.9788 │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://auto_many_to_auto.ria.ua/igrush43/ │ 13 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 13 │ -│ http://afisha.yandex.ru/cars │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 13 │ -│ http://love.ru/a-myprofi │ 13 │ -│ http: │ 13 │ -│ http:%2F%2Fwww.bonprix │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://real-estate/aparther/offiliates/corruption/russinsk │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://on-online=on&accetti │ 12 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 12 │ -│ http://samara.irr.html5/v12/?from]= │ 12 │ -│ http://en.lyrsenses/zamba_zaborah_coldplay=1&gearbox │ 12 │ -│ http://kinopoisk.ru/saledParams │ 12 │ -│ http://zvukovo/hondar/2007&state/renlew/rigma.ru/scribed │ 12 │ -│ http://pogoda.yandex.php?SECTION │ 12 │ -│ http://msk/platia-nashing/vanny.diary.ru/moscow │ 12 │ -│ http://video.yandex.ru/GameMain.E6smreQhiu_hXR4&where=all&film │ 12 │ -│ http://nizhnieiene/p17378705/currency=1&with_photo-ideapadeno │ 11 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 11 │ -│ http://news/6483731559676/Unlocknotebooks/m83/800_D_Black_list │ 11 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty/photo-12/#imag... │ 11 │ -│ http://msk/platia-nashing/vanny.diary.ru/sale/liver │ 11 │ -│ http://video.yandex.ru/GameMain.aspx#location │ 11 │ -│ http://guid=6&pw=6&pv=13 │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 11 │ -│ http://wildberries.ru/rost.html?1 │ 11 │ -│ http://smeshariki.ru/?win=82&stat=1&page/196264&pt │ 11 │ -│ http://pogoda.yandex.ru/catalog/jokers │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 11 │ -│ http://en.lyrsenses/zamba_zabudtrimazok.html?page=12&prr=http://fap1.adrive_typ... │ 11 │ -│ http://bonprix.ru%26bid │ 11 │ -│ http://loveplanet.ru/GameMain │ 10 │ -│ http://bdsmpeople.ru │ 10 │ -│ http://liver.ru/cheboksicily/foto.aspx?sort=newly&trafkey │ 10 │ -│ http://video.yandex.ru&pvid │ 10 │ -│ http:%2F%2F%2Fwwww.bonprix │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://club.ru/spokoiteli/photo37775280000 │ 10 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 10 │ -│ http:%2F%2Fwwww.bonprix │ 10 │ -│ http://auto_id=240&n=13901038 │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://smeshariki.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 10 │ -│ http://slovariant_new3077940810/detail │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://en.lyrsenses/zamba_zabor_id=1012_blank%26site │ 10 │ -│ http://sslow_13500000%26rnd%3D2788881.html?parts/passe │ 10 │ -│ http://pogoda.html%3Fhtml_params%3Drhost%3D43 │ 10 │ -│ http://irr.ru/index.php?showalbum/logout%26verstova.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://pogoda.yandex.php │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film/6781203.html?id=242037047/detai... │ 9 │ -│ http://mysw.info/blog/sankt-peter%3D1216/00001216629 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://e96.ru/albumfotok-15-fotki │ 9 │ -│ http://alpari.yandex.html?html_param=0&users/#page/Search/ab_dob%2Ffieiie-razvo... │ 9 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru/catalog/8570/1006790 │ 9 │ -│ http://b2b.testered/main/discuss/matched_country=-1&top=0&cityid=1024&wi=1366&o... │ 9 │ -│ http://svpressa.ru/topic=17082630 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://bonprix.ru │ 9 │ -│ http:%2F%2Fwwww.bonprix.ru/filmId=8j5j97LRs3M&where=all&sources │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/#win_13.html_p... │ 9 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/4744089758 │ 9 │ -│ http://nail=Yes&target=search │ 9 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_produkty%2F&sr=http://slovaria │ 9 │ -│ http://rlsnet.ru/vacancy/view_type_id=9677548268010367 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ https://m.myloveplanet.ru/forum/abrika-kobelenie_nebestsenal │ 8 │ -│ http://irr.ru/imagecache/wm/2013&where=all&filmId │ 8 │ -│ http://poisk.ru/price_ot=&price_ot=&price │ 8 │ -│ http://zapchast.com/iframe-owa.html?1=1&cid=577&oki=1&op │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 8 │ -│ http://afisha.yandex.php?t=141880517 │ 8 │ -│ http://zarplata.ru/velika_all=\xD0\xBE\xD1\x82 │ 8 │ -│ http:%2F%2Fwwwwww.bonprix.ru/news/222974895&op │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://fore=3&marka=0&top=0 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://direct.yandex.ru/catalog │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96777&oki │ 8 │ -│ http://video.yandex.ru&xdm_p=1#item/search │ 8 │ -│ http://en.lyrsenses/zamba_zabor/bedroomolsk │ 8 │ -│ http://zarplata.ru/?p=12977-B26358/currency=RUR/page=1080&wi=1024&lo=http://rzh... │ 8 │ -│ http://masterh4.adriver.yandex │ 8 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ==&page_avtomodules.php?f=100&ref... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://mastered/main.aspx#location=1&bc=3&ct=1&pr=60322056107100919/page5/?_h=s... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://omsk.mlsn.ru │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96779/87 │ 8 │ -│ http://che.ru&pvid=13733142835/100/topic,5240556895&ch=UTF-8&sF=11,7,7,0 │ 8 │ -│ http://smeshariki.ru/GameMain │ 8 │ -│ http://afisha.yandex.php?gidcar=367108851%2Fr%2F1 │ 8 │ -│ http://wildberries.xml?from]=&input │ 8 │ -│ http://love.ru/?p=17059 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/index.php?showalbum/login-kupit-topy%2Fplatjie-gotovlexandex.html... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 8 │ -│ http://auto.ria.ua/auto_id=24126629/0/index.ru/real-estate/out │ 8 │ -│ http://victor?page_type=city.stol-yar.ru/cars │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://video.yandex.ru%2F&sr=http://loveplants/65398f55 │ 7 │ -│ http://kinopoisk.ru/ch/feed/letniaiaprice/1609 │ 7 │ -│ http://real-estate/aparts/Aquarevski │ 7 │ -│ http://video.yandex.ru/a-album/login-vitiju/photo │ 7 │ -│ http://bonprix.ru/social/product_id │ 7 │ -│ http://moscow/detail/5552/0/2792834&m=111,7,7,5 │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 7 │ -│ http://irr.ru/Registered/main/topnewsru.com/page=6 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-kapustics?sort=pogoda.yandex.ru%26bt%3D... │ 7 │ -│ http://bonprix.ru/catalog/8570/14139489 │ 7 │ -│ http://afisha.yandex.ru/\xD0\xB4\xD0\xBE\xD0\xBC\xD0\xB0/\xD0\x91\xD0\xA1\xD0\x... │ 7 │ -│ http://irr.htm?from]=&int[85][from]=&input_vsegodnyie │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://love.ru/?p=1#country=&op_seo │ 7 │ -│ http://bdsmpeople.ru/niktory/shtory/308/roomed.ru/p59473682740295 │ 7 │ -│ http:%2F%2Fwwwww.bonprix │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 7 │ -│ http://myloveplantrackIt?tid │ 7 │ -│ http://spb/event=big&marka=84&model=0&auto_id=0&s_yers=0&pv=10&can_be_check_PP │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://pogoda.yandex.ru&pvid=1 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-a-5-advert27114 │ 7 │ -│ http://video=0&is_hot │ 7 │ -│ http://bdsmpeople │ 7 │ -│ http://irr.ru/index.php?showalbum/login-zk34/pages/0001216629 │ 7 │ -│ http://svpressa.ru │ 7 │ -│ http://money.yandex │ 7 │ -│ http://gotovim-doma.ru │ 7 │ -│ http://afisha │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://video.yandex.ru/ekt │ 6 │ -│ http://omsk/evential/house.ru/catalog/kitchedule=213-606361653965283 │ 6 │ -│ http://video.yandex.ru%2Fkategory_id │ 6 │ -│ │ 6 │ -│ http://afisha.yandex.ru%2F%2Fmail/169 │ 6 │ -│ http://love.ru/?p=1#country=-1&sq_liver.ru/kyrgyzstan │ 6 │ -│ http://bdsmpeople.ru/film/64544.690022.rar.html_params%3Drhost%3D_black_list=0&... │ 6 │ -│ http://stars-varenok.ru/16745959680706/800_0.jpeg.html%3Fhtml5/v123593 │ 6 │ -│ http://afisha.yandex.ru/catalog=on │ 6 │ -│ http://bdsmpeople.ru/GameMain │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://v102.ru/investate/apartments-sale │ 6 │ -│ http://wildberries.ru/search │ 6 │ -│ http://omsk/evential/housession%3D0 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://video.yandex.ru/GameMain.aspx#location/page_type=category │ 6 │ -│ http://afisha.yandex.ru%26bt%3D43%26anbietersburg │ 6 │ -│ http://direct.yandex.ru/refererprofile%2F2.10 │ 6 │ -│ http://video.yandex.ru/a-topy │ 6 │ -│ http://rukodel=0&sort=newly&trafkey=2750 │ 6 │ -│ http://moscow/details │ 6 │ -│ http://smeshariki.ru/world/photofider_credit=0&view │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://novosibirsk.irr.ru%26bid │ 6 │ -│ http://irr.ru/index.php?showalbum/login-12.html%26custom │ 6 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 6 │ -│ http://solutions.diary.ru/realtitroenie_v_jurman.ru/albums/frame-owa.html?stric... │ 6 │ -│ http://mr7.ru/newsru.com/iframe_right%3D43 │ 6 │ -│ http://autodoc.ru/real-estate/apart │ 6 │ -│ http://smeshariki.ru/catalog │ 6 │ -│ http://edp2.adriver.ru/hocketshop.ru/moscow/detailanude │ 6 │ -│ http://povari.yandex.ru/greecondary/Products_id=&auto_vaz_2111 │ 6 │ -│ http://video.yandex.ru/catalog │ 6 │ -│ http://ereal-estate/rent │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://msk/platia-nashing/vantralitsa_transion │ 6 │ -│ http://3dnewsru.com/iframe_right.html?1=1&cid=51538 │ 6 │ -│ http://afisha.yandex.php/board,39.04839 │ 6 │ -│ http://novo/detail.aspx?group_cod_1s │ 6 │ -│ http://bdsmpeople.ru/saledParams=rhost%3D43%26bid%3D1 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://kalininmyclonus1 │ 6 │ -│ http://forum/topnews/22294&op_category │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://auto_hyundai_sarator │ 6 │ -│ http://love.ru/?p=17055335 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://real-estate=week/page=1&expand_search?film/298677435615.html │ 6 │ -│ http://afisha.yandex.ru/mymail.php │ 6 │ -│ http://video=0&with_exchangeType │ 6 │ -│ http://afisha.yandex.ru/index.ru/recipe │ 6 │ -│ http://koolinar.ru/port.ru/doc │ 6 │ -│ http://kinel-lab.com/rus/20130709_117485994,93304&op_seo_entry=1&gearbox=0&type... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ https://slovakia-600dd903c07022,101595,91194&op_seo_entry │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://diary.ru/exp?sid=3205 │ 6 │ -│ http://video.yandex.php?search?text=\xD0\x9A\xD0\xBE\xD0\xBD\xD1\x8C\xD1\x8F\xD... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://video.yandex.php?from]=&interapy-wkti/ &cd │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://love.ru/ru/irk/event/search/ │ 6 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D8393224 │ 6 │ -│ http://kinopoisk.ru/catalog │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://auto_volkswagen/vologdano/il_dlya-dnevka.ru │ 5 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 5 │ -│ http://barnaul/details/?cauth │ 5 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD0\xB5\xD1\x80&where=... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://metal-lodku-Obzor │ 5 │ -│ http://sp-mamrostova │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 5 │ -│ http://tp66.ru/exp?sid=3860217/rooms=2/men.aspx#location%3D0%26rnd │ 5 │ -│ http://zvukovo-gorodsk │ 5 │ -│ http://rmnt.ru/search/offilia_Sovetov_living_chamber/?78142 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://e96.ru/movies/614418821/artir.ua/search │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 5 │ -│ http:%2F%2Fwwww.bonprix.ru/?id=2013&where=all&filmId │ 5 │ -│ http://video.yandex.by/?state_id=&auth=1..630;IC,7711588 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_seo_entry=&op_category_... │ 5 │ -│ http://povari.yandex │ 5 │ -│ http://slovari.yandex.ru%26orderovskij-index.ru │ 5 │ -│ http://tks.ru/cat/publish-cherkalnaya-ttpodporyadushek │ 5 │ -│ http://video.yandex.ru/GameMain.aspx?Link │ 5 │ -│ http://slovarenok.com │ 5 │ -│ http://auto.ria.ua/auto_id=241269.html?1=1&cid=2127970 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://rustnye-sht-riemnikoi │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://slovari.yandex │ 5 │ -│ http://afisha.yandex.php?r=23436303135353.html?1 │ 5 │ -│ http://auto_volkswagen-Palities/horobki │ 5 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 40007&pt │ 5 │ -│ http://en.lyrsenses/zamba_zaborah_chamberk │ 5 │ -│ http://radio&planet.ru/work.ru/catalog │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 5 │ -│ http://love.ru/product_id=0&po_yers=0&po_yers=2&refererro/model=1346488078722&c... │ 5 │ -│ http://topnews.ru/GameMain.aspx?group_cod_1s=1983&pt=b&pd=9&pw=0 │ 5 │ -│ http://myloveplanet.ru/v14572&lb_id=13000001216629 │ 5 │ -│ http://sslow_135000008&position=search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 5 │ -│ http://real-estate=week&m=Dvigenie.html?option │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://pogoda.yandex.php?gidcar │ 5 │ -│ http://autodoc.ru/moscow │ 5 │ -│ http://bibidohertki-i-OOOO_REPORT/07_2013 │ 5 │ -│ http://avtomobile/motory.ru/comp.ru/view.php │ 5 │ -│ http://loveplanet.ru/mymail/rudi │ 5 │ -│ http://video.yandex.ru/firms.turizm │ 5 │ -│ http://video.yandex.ru%2FkategoriendflowerTo=&powerTo= │ 5 │ -│ http://auto.ria.ua/auto │ 5 │ -│ http://msk/platia-nashing/vannyie-product_id=1841&page2 │ 5 │ -│ http://auto.ria.ua │ 5 │ -│ http://nizhnieiewva88/photo/101246465376&cmd=show-to-buchaiev-pugache=51db32a68... │ 5 │ -│ http://direct.yandex.ru/index │ 5 │ -│ http://tks.ru/cat/publish-chemec.ru/search?filmId=CktclMBmUXI │ 5 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D158197%26width │ 5 │ -│ http://club.ru/cinema/movies/no-pos │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://kinopoisk.ru/spb.pulscen.ru/exp?sid=3159&op_category_id=&auth=0&checked=... │ 5 │ -│ http://holodilnik-rp-ploschaya-obuv/?ci=1280&with_video=0&choosOyg==&op_uid=111... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://wildberries.ru/real │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://slovariant_neu%3D1%26bid%3D1216/0001216629%26bt%3Dad │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://md.mirkovskaya-obl.irr.ru/jobinmoscow │ 5 │ -│ http://wildberrior/kia/ │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://povari.yandex.php?showalbum/login.pl?cl=all&film/497794,90458 │ 5 │ -│ http://jcmotorom-921205&bt=7 │ 5 │ -│ http://loveplanet.ru/\xD0\xB0\xD1\x80\xD0\xBE\xD0\xBC/curre-ap-i-showalbum/loui... │ 5 │ -│ http://en.lyrsense.com/obshchin-idieiala │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://smeshariki.ru/topic │ 5 │ -│ http://video.yandex.ru%26bt%3Dad.adriver.ru/recipe/view/10217/?from │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://moscow/detail/Torgovuyu-organske.ru/real-estate │ 5 │ -│ http:%2F%2Fwww.bonprix.ru │ 5 │ -│ http://gaylyU │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://alib.mist.html%26custom%3D%26c2%3D278888592138 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://loveplanet.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 5 │ -│ http://alpari.ru/gallery/pic845274 │ 5 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 4 │ -│ http://loveplanet │ 4 │ -│ http://whoyougle.ru/images/images/00000i/specifiers.ru/image=1&furniture │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ua │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 4 │ -│ http://video.yandex.ru/price │ 4 │ -│ http://bdsmpeople.ru/Web/Pages=1/feedsmag.ru/~\xD0\xBA\xD0\xBD\xD0\xB8\xD0\xB3\... │ 4 │ -│ http://irr.ru/index.php?showalbum/login-10618968476372773 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/filmId │ 4 │ -│ http://sslovarenok.ru │ 4 │ -│ http://afisha.yandex.ru/zoom.php?f=5162613838.html_partments │ 4 │ -│ http://auto.ria.ua/auto_id=0 │ 4 │ -│ http://samarskii_krai/tuapse/detail/result.aspx │ 4 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 4 │ -│ http://loveche.html │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://wildberries.ru/catalog │ 4 │ -│ http://afisha.yandex.ru%252f7769%252fe │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://echoradar-s-Levoshcha │ 4 │ -│ http://e96.ru/news/39733/page2=&input_sponsor=&o=1015219.html_partments-sale&pa... │ 4 │ -│ http://direct.yandex.php?formsof(INFLECTION_ID=30861/14365-4b11&state/apartment... │ 4 │ -│ http://love.ru/?p=1#countpage/vacancies/events/738/0/3/women.aspx │ 4 │ -│ http://diary.ru/catalog=on&input_city[3 │ 4 │ -│ http://radio&planet.ru/marka=62&model=1178128455&pvno=2&evlg=VC,5 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://rasp.pl?cmd │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 4 │ -│ http://travel.ru/state/apartments-sale/rashinitit%2F537 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ https://smeshariki.ru/cinema/article10363136000001216629%26site_offilia_Sovets.... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.php?r=3&bs=&day │ 4 │ -│ http://video.yandex.php?view_type=2&driveresult.ru/replies │ 4 │ -│ http://auto.ria.ua/auto_id=63799.html_params │ 4 │ -│ http://ssl.hurranovskaya-ul-31-foto.ria │ 4 │ -│ http://kinopoisk.ru/saledParams%3Drhost%3Dad.adriver.ru/GameMain.aspx#location │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://smeshariki.ru/domchelkakh_location=search?text=\xD0\xBC\xD0\xB8vents │ 4 │ -│ http://vkirovoe-tourisma │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboy07/... │ 4 │ -│ http://smeshariki.ru/search/keukeru-soft │ 4 │ -│ http://guid=6&pw=2&pv=0&price_do=¤cy=1 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://card/windows)&bL=ru&cE │ 4 │ -│ http://kniga.ru/view=\xD0\xA1\xD1\x82\xD0\xB0\xD0\xB2\xD1\x80\xD0\xBE\xD0\xB2&w... │ 4 │ -│ http://afisha.yandex.ru/search │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://v102.ru/?s=Adaments-sale │ 4 │ -│ http://video.yandex.ru/GameMain.XYyZwYXRoPWEtbG9nb24vcG90Cw │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/real │ 4 │ -│ http://matched_car=373838928155755775482794,9453.116 Safari%2F537.36&he=10&s_ye... │ 4 │ -│ http://zarplata.ru/?p=12977-B26358/hasimages=1/page │ 4 │ -│ http://video.yandex.ru/GameMain.aspx#location-4.0.html │ 4 │ -│ https:%2F%2Fwwww.yandex.ru │ 4 │ -│ http://tks.ru/cat/publish-chernyjbelyj-9375966238&op_categoriya │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/social │ 4 │ -│ http://video.yandex.ru/realty/leaser_map=1/hasimay-2.html │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://auto.ria.ua/canel_pe_mascona Hilfigeratov/153228 │ 4 │ -│ http://nizhny novgorod │ 4 │ -│ http://video.yandex.ru%26target=search/ab_area=categorija80119 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://e-kuzbass.ru/a-shop │ 4 │ -│ http://guide.travel.ru/link │ 4 │ -│ http://victorhead.php?full&dom=780067167694.0; │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://kubikus.ru/search.php?r=4140211,1,7,7,7,7,0 │ 4 │ -│ http://afishi,Mudanted-belyj-974299099/guest-id=34089.html │ 4 │ -│ http://fitness/building │ 4 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/cart.php/cars/papago-d-plosch │ 4 │ -│ http://svpress_up.aspx#location[propfilter_pf[PODVAL]=&arrFilter][3463351841195... │ 4 │ -│ http:%2F%2Fwwww.bonprix.ru/real-estate/out-of-town/house │ 4 │ -│ https://produkty%2Fpulove.ru/gost/?page3 │ 4 │ -│ http://afisha.mail.aspx#locationalOffers │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/GameMain/dukhovyy │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadbor_sh... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http%3A//magnitogorod/page3/#over │ 4 │ -│ http://anketka.ru/bridget │ 4 │ -│ http://afisha.yandex.php?action/2741920 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://tks.ru/cat/public/gamemain.aspx#location │ 4 │ -│ http://love.ru/image=2&marka=84&model/mihailovo │ 4 │ -│ http://nepogoda.yandex.ru/search=1&target=search=0&can_be │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://kinopoisk.ru/searchAutoSearch=0&driver.ru/catalog/1/women.aspx#locationp... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.php?show=rlv&ru=1&expand_search │ 4 │ -│ http://love.ru/?p=1705 │ 4 │ -│ http://ssl.hurra.com │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://afisha.yandex.php?p=31&input │ 4 │ -│ http://loveche.ru/job/1162323&PAGEN_1=30&state │ 4 │ -│ http://video.yandex.ru/If yours.avtogsm.ru/animals/calculate │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://auto_volkswagen_cated_cartovskaya-obl.irr.ru/album/login │ 4 │ -│ http://rsdn.ru/details_103514,154;IC │ 4 │ -│ http://internet Explorer&aV=5.0 (Windows)&bL=en │ 4 │ -│ http://auto_s_product_name=\xD0\x9A\xD1\x80\xD1\x83\xD0\xB3\xD0\xBB\xD0\xBE\xD0... │ 4 │ -│ http://pogoda.yandex.ru/cooking_sm5_1148786993ab-417/photo/69363/26#formi.ru/co... │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboyzon... │ 4 │ -│ http://video.yandex.ru/topnews.ru/lanas-advert2713][to]=&int │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http%3A//edp1.adriverys/forum/view_type=city&custom=0&damages/0001216629%26bid%... │ 4 │ -│ http://inspelishchin-platjie-doma.ru/irkutsk.irr.ru │ 4 │ -│ http://auto_volkswagen_pass_1161967 │ 4 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD1\x82\xD0\xBE\xD1\x8... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://afisha.yandex.ru/content2.adriver │ 4 │ -│ http://en.lyrsenses/zamba_zabudka/photo-1/#page=0&sale/search?text=\xD0\x9C\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://auto_id=0&with_photo │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://b.kavanga.ru/?a=inneVolumeFrom │ 4 │ -│ http://smeshariki.ru/saint-petersburg-gorod/transfer/?id=7576149959760994861&op... │ 4 │ -│ http://arma/frl-4/transportnoy-kv-m-malchik.ru/show │ 4 │ -│ http://bdsmpeople.ru/film/64544.690078 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://tp66.ru/money.yandex.ru/albums_screenterval │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://irr.htm?from]=&int[1151;IC,112 │ 4 │ -│ http://afisha.yandex.ru&pvid=13733424 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_category_id=592b9e01c48ce9403%26bn%3D0%2... │ 4 │ -│ http://video.yandex.ru/GameMain │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://radiorecord.ru/login-m3w.html?1=1&cid │ 3 │ -│ http://video.yandex.ru%2Fplata.ru/ch │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ https://orenburg/?arrFiltersburg │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://afisha.yandex.php/topic104780204&op_uid=1954 │ 3 │ -│ http://afisha.yandex.php/tova.ru/uliya2076789599305953 │ 3 │ -│ http://afisha.yandex.ua/donetsk/urals │ 3 │ -│ http://afisha.yandex.ru/a-folders/misc │ 3 │ -│ http://afisha.yandex.ru/shop.ru/malta │ 3 │ -│ http://afisha.yandex.ru/project_price=&maxprice │ 3 │ -│ http://afisha.yandex.ru/kategoriya%2F5.0 (company │ 3 │ -│ http://afisha.yandex.ru/linkvac.php/board.php?topicseeng │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://romar/events/audio.ru/widget[]=vacancies/99.php?gidcar │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://irr.kz/realty/lease/3516093&pvno=2&evlg │ 3 │ -│ https://produkty%2Fplatjie-kuzbass.ru/newsru.com/iframe_right=0&auto_ria=0&meta... │ 3 │ -│ http://fuckfind=rent/view/2021/3 │ 3 │ -│ http://banantikov-nadushenie_orleona_server=sc.cheloveplant_11612/page │ 3 │ -│ http://radioscannerica/filmId=Ba_id=13733568414&city=\xD0\x9C\xD0\xBE\xD1\x81\x... │ 3 │ -│ http://kinopoisk.ru/service.ru/iframe │ 3 │ -│ http://samara.irr.ru%2Fproduct │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://video.yandex.ru&pvid=13735/?_h │ 3 │ -│ http://ssl.hurral=messages │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ https://slovakia-600dd903c06c999c226647639.html%3Fhtml │ 3 │ -│ https://slovakia-600dd903c07022,101595,9143531427800648_elit │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category_id=0&wi=16000&... │ 3 │ -│ http://sp-money.yandex.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://love.qip.ru │ 3 │ -│ http://auto_kia_30 │ 3 │ -│ http://kaluga/?ext=\xD0\xB3\xD0\xB5\xD1\x80\xD0\xBE\xD1\x8F\xD1\x82\xD0\xBD\xD1... │ 3 │ -│ http://sp-mamrostokonkursovet │ 3 │ -│ http://afisha.yandex.ru/forum.materinburg │ 3 │ -│ http://afisha.yandex.php?addriver.ru │ 3 │ -│ http://sp-money.yandex.ru/work rushki-sien-natalog/8570/page=0&expand │ 3 │ -│ http://love.ru/forum.cofe.ru/forum/view_type=city=790&Selectronics-technik │ 3 │ -│ http://astrobank.ru/image │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://forum/topnews/2229605699574.html?1=1 │ 3 │ -│ http://video.yandex.by/search/?target%3D43%26bid%3D2 │ 3 │ -│ http://direct&sortdirect.yandex.ru/imagesize%3D0%26ar │ 3 │ -│ http://wildberrior/bedroom]=&int[17][to]=&int[858 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://rmnt.ru/film/88677/russia/rio.ru/search?filmId=NNr6aJrm4s3M │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://bdsmpeople.ru/search │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://rmnt.ru/stars │ 3 │ -│ http://b.kavanga.ru │ 3 │ -│ http://video.yandex.ua/auto_id │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http:%2F%2Fwww.bonprix_ru}%2Fnizhniynovgorod/request-id │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://edp2.adriver.ru/catalog/181 │ 3 │ -│ http://video.yandex.ru/circle&state/out-of-town/houses │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://pogoda │ 3 │ -│ http://nigma.ru/product&op_category_name=\xD0\x91\xD0\xB8\xD0\xBA\xD0\xB8\xD0\x... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://svpress_w1t1042796786/6/?category │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://radiorecord.ru/catalog/idShare │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://afisha.yandex.ru/forum.donfiscategory │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://edp2.adriver.ru/jobinmoscow/detail │ 3 │ -│ http://kazan.irr.ru/location │ 3 │ -│ http://pogoda.yandex.kz/family │ 3 │ -│ http://msk/planet.ru/mymail.aspx#comme_me_saydinne │ 3 │ -│ https://produkty%2Fpulove.ru/voronezh-sien-zhienskaia-moda-zhienskaia-moda-zhie... │ 3 │ -│ http://video.yandex.php?topbloveche │ 3 │ -│ http://card/windows NT 6.1) AppleWebKit%2F5 │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com/iframe-owa.html?1=1&cid=577&o... │ 3 │ -│ http://tks.ru/cat/publish-chin-play.php?categoriya%2Fzhiensmed │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26url%3D//ad.adriver.ru/link/justic/h2.php/... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty%2Ftanki │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/92054446660.ht... │ 3 │ -│ http://svpress/showbiz/photo.htm │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://loveche.ru/volzhskiy │ 3 │ -│ http://ussuriysk.irr.ru/catalog/premiere/628962851d7fd0b6eb17b321d336f5bc7de189... │ 3 │ -│ http://afisha.yandex.ru/tatatit_chto.php?industry │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://magnitka_1_series.ru/?favorite_id=636233644&op_category_id=937514 │ 3 │ -│ http://smeshariki.ru/a-phony │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://ekategoriya%2F9B206 Safari │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://smeshariki.ru/catalog/286/women.aspx │ 3 │ -│ http://svpressa.ru/content/search │ 3 │ -│ http://video_dvd/game/iframe-owa.html │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountpage │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://msk/platia%2Fzhienskaia │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://brand=498&pvno │ 3 │ -│ http://tp66.ru/search/?page=1&fuelRateTo │ 3 │ -│ http://lk.wildberries │ 3 │ -│ http://e96.ru/real-estate │ 3 │ -│ http://my.kp.ru/albumfoto-1/pol-2 │ 3 │ -│ http://holodilnik.ru/catalog │ 3 │ -│ http://povarenok.ru/files/eliteh.ru/perm.irr.ru/board,75.2013-07-09 │ 3 │ -│ http://personal/atlants/7292&xdm_c │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://smeshariki.ru/?win=82&stat=141882,373;IC,2552f48 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://sp-mamrostovestory │ 3 │ -│ http://love.ru/?p=1#country=&op_seo_entry=-1&target │ 3 │ -│ http://amobil-nye-pliazhnaia │ 3 │ -│ http://smeshariki.ru/goodavec/photo/6936325.html?id=223978/page=102 │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://love.ru/recipes/indows │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberries.ru/item_no=2&evlg=VC,0;VL,205;IC,14;VL,757138/currency=RUR/h... │ 3 │ -│ http://kaluzha-na-NovletedAutoSearch=0 │ 3 │ -│ http://irr.ru/index.php?showalbum/login-kupaljinik-chere │ 3 │ -│ http://irr.ru/washek-s-printom │ 3 │ -│ http://msuzie │ 3 │ -│ http://kinopoisk.ru/search │ 3 │ -│ http://smeshariki.ru/real │ 3 │ -│ http://afisha.yandex.php?app=membered │ 3 │ -│ http://afisha.yandex.php?ELEMENT_ID │ 3 │ -│ http://afisha.yandex.ru/lesyach-hotels │ 3 │ -│ http://3dnews.ru/?p=12636464/5#f │ 3 │ -│ http://afisha.yandex.php?id=727285 │ 3 │ -│ http://afisha.yandex.ru%26bt%3D90%26nid%3D1216629 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic=79799398/?_h=search.htm... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://str_ob.html?1=1&choosO8gPJSs3M&where=all&filmId=mAyiC7y6M2mGV2GoA9hFoN3q... │ 3 │ -│ http://product_brand=RAINBOW&op_cated_content/search/keup/en-ru │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory_id=577&search/ab_district/date_id=2271][from... │ 3 │ -│ http://love.ru/ru/irk/event=little&cated_country=-192.html?1=1&cid │ 3 │ -│ http://love.ru/?p=17057 │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostavia.travel.ru/s... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberries.ru/basket&ch │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://state/room=94720-recept-Salat-iz-glasya1lesyat │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://kinopoisk.ru/sessulyanovka.ru/photosessid=3205&bt │ 3 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD0\xB2\... │ 3 │ -│ http://li.ru/filmId=XpzlPj8P8gE&where=all&text=\xD1\x81\xD0\xBA\xD0\xB0\xD1\x87... │ 3 │ -│ http://you_hashkaf.ua/search │ 3 │ -│ http://auto_repairs=0&confiscategoriya │ 3 │ -│ http://wildberries.ru/GameMain │ 3 │ -│ http://povaria/chak_naytimes.ru │ 3 │ -│ http://afisha.yandex.ru%2Fobuv-sapozhkivka=23&price │ 3 │ -│ http://afisha.yandex.ru/hotel-agen-Goluboj-9730 │ 3 │ -│ http://notebooking pressa │ 3 │ -│ http://smeshariki.ru/GameMain.aspx#location │ 3 │ -│ http://afisha.yandex.ru/comment/search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://soft.oszone.ru │ 3 │ -│ http://pogoda.yandex.ru/real-estate │ 3 │ -│ http://auto_repairs=0&po_yers=0&price.ru/\xD0\xB6\xD0\xB5\xD0\xBB\xD0\xB5\xD0\x... │ 3 │ -│ http://video_dvd/ratesTypeSearch?text=\xD1\x87\xD0\xB5\xD0\xBB\xD0\xBE\xD0\xB2\... │ 3 │ -│ http://auto_id=0&engineVolumeFrom │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://kommersantamina │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://video.yandex.ru/personal/offeebe34c7e12944&op_product │ 3 │ -│ https://slovarenok │ 3 │ -│ http://pogoda.yandex.ru/vlas-moskovskaya │ 3 │ -│ http://slovari.yandex.ru │ 3 │ -│ http://afishers/story │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://v102.ru/investate/apartment/?id=137336IseNhcbx3J85GkHSnzgnsPdZUU&where=a... │ 3 │ -│ http://guid=6&pw=2&pv=0&with_video.yandex.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/photo/narod.irr.ru/katering=1&pr=569&s_yers │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://audio_video.yandex.ru/mosday.html?item=4#photo446962 │ 3 │ -│ http://alpari.yandex.ru/saint-petersburg.irr.ru/cars/page3 │ 3 │ -│ http://video.yandex.ru/extra │ 3 │ -│ http://dom.net/provoe-pervouralnaya/ChildGluZ19oZXJlci1kYXRpb25zPU4mbj0zJmlkPTM... │ 3 │ -│ http://trashbox.ru/book │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com.ua/kiev/detail.ru/auth=1..640... │ 3 │ -│ http://love.ru/ru/irk/event=little&category_id=731-643736&mode=1 │ 3 │ -│ http://auto_ford Mix).mp3.ucoz.ru/v1430497.html%3Fhtml │ 3 │ -│ http://state_shariki │ 3 │ -│ http://omsk/evential/housession%3D240%26rleurl%3D//ad.adriver.ru/marshavskaya-r... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://smeshariki.ru/cgi-bin/click.cgi%3Fsid%3D0%26pz │ 3 │ -│ http://kinopoisk.ru/registernet Explorer&aV=5.0 (Windows NT 5.1; ru-ru&cE=true&... │ 3 │ -│ http://video.yandex.ru%2Fkategory_id=9759527418 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberring │ 3 │ -│ http://video │ 3 │ -│ http://radiorecord │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://afisha.yandex.php?partments │ 3 │ -│ http://en.lyrsenses/zamba_zabor_polnitsa-s.narod.irr.ru/bank/otzyvy/12031%2F%23... │ 3 │ -│ http://auto_id=0&color=0&confiscategory_id=3205&bt=7&bn=1&bc=3&ct=1&prr=http:%2... │ 3 │ -│ http://balcon_caddy Club relove │ 3 │ -│ http://wildberries.ru/cgi-bin/click.cgi%3Fsize │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://video.yandex.ru/real-estate/out-of-town/house.ru&pvid=1&distreet_legkovo... │ 3 │ -│ http://loveplanet.ru/Bezli-all │ 3 │ -│ http://bdsmpeople.ru/show/39932/Itemid,40.0.html_params%3DfsSaHR0cDovL2pzLnNtaT... │ 3 │ -│ http://kinopoisk.ru/spb.pulscen.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&film/67... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_product_brand=4200&lo=h... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/manga.ru/?rtext=\xD0\xBF\xD1\x80\xD0\xB8\xD0\xB1\xD0\xB... │ 3 │ -│ http://smeshariki.ru/furniture.html5 │ 3 │ -│ http://ssl.hurra.com/iframe-owa │ 3 │ -│ http://saint-peter │ 3 │ -│ http://whoyougle.com/iframe/iframe_right.ru/spb │ 3 │ -│ http://lazarevskoe │ 3 │ -│ http:%2F%2Fwww.bonprix.ru/imagesize │ 3 │ -│ http://video.yandex.ru/realty/search/main.aspx?sort=popular │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://cxem.net/324487194836848 │ 3 │ -│ http://klubnich/zrh/ │ 3 │ -│ http://wildberries.ru/comment/search │ 3 │ -│ http://saint-petersburg-gorod/goodal │ 3 │ -│ http://sunmar.ru/cart&ch=utf-8&sF=11,7,700&aN=Opera&aV=9.80 (Windows │ 3 │ -│ http://un1.adriver.ru/page=30138117749516%252f110916%252fmedicinema/movie_ross ... │ 3 │ -│ http://myloveplanet.ru/passenger/kitched_country_id=4312&input │ 3 │ -│ http://wildberries.ru/comme%2F2.12.388 Version/1552/page │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://bdsmpeople.ru/index.by/ru/page=0&confiscategory_id │ 3 │ -│ http://gotovim-doma.ru/personal/commersant.ru/image=19&pvno=2&engineVolum │ 3 │ -│ http://krasnodar.irr.ru/yaransferapid │ 3 │ -│ http://jobs-education │ 3 │ -│ http://irr.ru/index.php?showalbum/logizer8/num-1/refremost │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://afisha.yandex.ru/sell/resident │ 3 │ -│ http://afisha.yandex.php?p=176d43f96ef32d5bc1272 │ 3 │ -│ http://auto_id=0&color=0&confiscategoriya%2Fzhienskaya-advert25593 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://pogoda.yandex.ua/telefon_shtukaturkey │ 3 │ -│ http://forum/topics/ingradskazka-lookoformalities/poetry/events/?date&csrf-8200... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://pogoda.yandex.ru/real-estate/apartments/73151 │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://video=0&input_with_video.yandex.ru/page/10/women.aspx │ 3 │ -│ http://video_dvd/suppoll/dleead6718.php?SECTION │ 3 │ -│ http://radioscannerica/film/47018.html?1=1&cid=691390&pvno │ 3 │ -│ http://smeshariki.ru/news/2013/peshnye-udivlekanka.ru/l_03_00/bodreamfood.ua │ 3 │ -│ http://msk/platia-nashing/vanny.diary.ru/otdam_daily │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/used/KIA-Cee-d... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=&is... │ 3 │ -│ http://tyva-5/country=-1&washestvo/den_sidentialAmount │ 3 │ -│ http://rukodel=0&sort=newly&trafkey=27065/2/child.aspx#location │ 3 │ -│ http://kinopoisk.ru/real-estate=2013-07-2089241607/photo=0&with_exchangeType │ 3 │ -│ http://maps#ru_5_ru_1_ru_ru_ru_202_ru_1_ru_ru_ru_ru_2_ru_1743.html?oscsid=36303... │ 3 │ -│ http://irr.ru/index.php?showalbum/login-do-500-kv-m-Maya │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://mylove.ru/zoom.php?GID=2&IsOrder │ 3 │ -│ http://zapchastny_fashing_mashes/index.ru │ 3 │ -│ http://rsdn.ru/info_all=yes&razdumy-i-trikshop/search&_h_page/1719920 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://chehod/zvenia8312&input_who2=1&input_age1=35&aN=Netscape │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory │ 3 │ -│ http://arma/frl-4/travel.ru/moscow/details │ 3 │ -│ http://direct.yandex.ru%2F&sr │ 3 │ -│ http://kinopoisk.ru/cgi-bin/click.cgi%3Fsid%3D1216 │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/procoolonelopitered/ministrict/3d-probeg-340-... │ 3 │ -│ http://ssl.hurra.com/iframe/iframe-owa.html%26custom%3D%26custom │ 3 │ -│ http://myloveplanet.ru/bad_by_sidential/nizhnieiewva88 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://smeshariki.ru/index.ru/main.pl?cmd=show/47555 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://afisha.mail.ru/stars/page │ 3 │ -│ http://whoyougle.ru/basket&ch=utf-8&sF=11,7,7,7,700 │ 3 │ -│ http://votpusk.ru/ │ 3 │ -│ http://kuharka=48&modeloveplanet │ 3 │ -│ http://avtoto.ashx/1001087496197797217530729; Media Centernet_mastersburg │ 3 │ -│ http://zagranimals-planet.ru/user/31059&Module │ 3 │ -│ http://sendflower │ 3 │ -│ http://smeshariki.ru/chipinfo │ 3 │ -│ http://afisha.yandex.ua/index.ru/recipe │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://auto_operey-v-v-meha.ru/catalog/public │ 3 │ -│ http://bdsmpeople.ru/Web/price │ 3 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://irr.ru/6323%26bn%3D27888895,96772&op_page47 │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://forum/topnews/222968695,910112_1164074834-908745 │ 3 │ -│ http://myfashihtzu.html?1=1&cid=65625f313230303&po_yers=2013/07 │ 3 │ -│ http://video.yandex.ru%2F%2Fwww.bonprix │ 3 │ -│ http://video=0&is_hot=0&che_simeis │ 3 │ -│ http://myloveplants_list-obl.irr.ru%2Fobuv-zhienskaia-modiezhda │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://pogoda.turizm.ru/communit=0&vip=0&order_by=2 │ 3 │ -│ http://stories.ru/art/MACKLEMORE │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://irr.htm?from]=&int[852][to]=10&lastdiscussins/?keyworld │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://afisha.yandex.php?w=3160/transports │ 3 │ -│ http://kurort/SP1399&op │ 3 │ -│ http://afisha.yandex.php?link=114735200&brand=23368 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://wildberries.ru/page=0&vip │ 3 │ -│ http://nizhnieie-bielie-bieriends&fb_source-temno │ 3 │ -│ http://forum/topnews/2229362067528195&op_categoriya │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountry │ 3 │ -│ http://smeshariki.ru/Web/price │ 3 │ -│ http://ur.hh.ru/file/news/2013 \xD0\xB3\xD0\xBE\xD0\xB4\xD0\xB0 │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&text=\x... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http:%2F%2Fmuzhchine/ru-g-Chelya_v_tsentyabrskii │ 3 │ -│ http://radiorecord.ru │ 3 │ -│ http://ej.ru/muss/roll_to_audi/mode=replies │ 3 │ -│ http://guid=6&pw=2&pv=0&po_yers=0&with_video │ 3 │ -│ http://zarplata.ru/?p=1290&op_product_price=990348531&schoosOSRquM8gE&where=all... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 3 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&top │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://gorbus.aspx#localiformalitic │ 3 │ -│ http://my.alpari.ru/filmId=yJg89hqV8gE&where=all&film/530/?fromCityCodeForcentr... │ 3 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 │ 3 │ -│ http://pogoda.yandex.ru&xdm_e=http://name=\xD0\x91\xD0\xB0\xD0\xBB\xD0\xB5\xD1\... │ 2 │ -│ http://krasnyj-chastory │ 2 │ -│ http://board=11.ua.150.html%3Fhtml │ 2 │ -│ http://wildberries.ru/index.ua │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 2 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 2 │ -│ http://masterlingvo/#I 1 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://news/398261_enl.jpg-1 │ 2 │ -│ http://auto_id=3159&input_age2 │ 2 │ -│ http://poisk.ru/news/articles │ 2 │ -│ http://sslow_13500000%26rnd%3D278888 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD1\x81\... │ 2 │ -│ http://pogoda.yandex.ru/images/0001216629/0 │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://moscow/detail/Torgovljatory/storii_efferanslyatting │ 2 │ -│ http://kinopoisk │ 2 │ -│ http://video=0&input_state │ 2 │ -│ http://forum.php?t=420 │ 2 │ -│ http://mysw.info/node/21544 │ 2 │ -│ http://smeshariki.ru/tashkinsk │ 2 │ -│ http://smeshariki.ru/product&op │ 2 │ -│ http://pogoda.yandex.ru/jobinmoscow │ 2 │ -│ http://afisha.mail.ru/cheva.ru/reportby │ 2 │ -│ https://diary/2013-07-05/101090/currency │ 2 │ -│ http://slovarenok.ru/chapochki │ 2 │ -│ http://pogoda.yandex.php?showalbum │ 2 │ -│ http://pogoda.yandex.ru/real │ 2 │ -│ http://kinopoisk.ru/saint │ 2 │ -│ http://3dnews.ru/msk/events │ 2 │ -│ http://afisha.yandex.php?id=1620_4_licanel │ 2 │ -│ http://yartb.html?city=55&TopicID=2&IsOrderedProduct │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://yaroslavl.irr │ 2 │ -│ http://video.yandex.ru/rent/info/messa.ru │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://ssl.hurra.com.ua/auto_repairs=0&page=10&category_id=detail │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://pogoda.yandex.ru/chat/ivan │ 2 │ -│ http://afisha.yandex.php?s=4d450&pid │ 2 │ -│ http://afisha.yandex.ru/?trafkey=54073799 │ 2 │ -│ http://afisha.yandex.php?city=418&view │ 2 │ -│ http://guid=6&pw=2&pv=0&price=690&s_yers=1916 │ 2 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=2furii10.html?city=0&hide │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://diary.ru/search?familliklink │ 2 │ -│ http://omsk.spb.ru/filmId=RUb3Hf2m0Cw&where=all&text │ 2 │ -│ http://kaluga/?ext=\xD1\x80\xD0\xB5\xD0\xB9 \xD0\xBD\xD0\xB0 \xD0\xB1\xD1\x80\x... │ 2 │ -│ http://wildberrin/foton │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 2 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.040 user 0.368000 sys 0.012000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -┌────────────────┬────────────────┬─────────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ TraficSourceID │ SearchEngineID │ AdvEngineID │ src │ dst │ pageviews │ -├────────────────┼────────────────┼─────────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33069 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 24703 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 15817 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 14233 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 │ 6549 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 │ 5257 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 5257 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 3547 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login │ 3538 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik │ 3371 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php │ 3333 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 3309 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 2923 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 2616 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 2441 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php │ 2418 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 2390 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari │ 2367 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 2349 │ -│ 1 │ 0 │ 0 │ https://google.com.ua/url?sa=t&rct │ http://komme%2F27.0.1453.116 │ 2228 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 1920 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://komme%2F27.0.1453.116 │ 1679 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ekburg.irr.ru%2Fpuloveplanet │ 1340 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://aliningrad │ 1270 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1254 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1213 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1193 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1186 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1142 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F27.0.1453.116 │ 1007 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 954 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://aliningrad │ 859 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login │ 821 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 791 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 777 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 757 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 722 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://video.yandex.php │ 702 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 691 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/obucheyelants │ 684 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 632 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 593 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 577 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://smeshariki.ru/obucheyelants │ 566 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.php │ 452 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 445 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBA\xD0\xBE\xD0\xBD\xD1\x82\xD1\x80\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 422 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 421 │ -│ 0 │ 0 │ 0 │ │ http://obninsk/detail │ 407 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 386 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug.ru │ http://irr.ru/index.php │ 374 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru/index │ 360 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 348 │ -│ 2 │ 0 │ 13 │ │ http://komme%2F27.0.1453.116 │ 347 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-2011/43597 │ 293 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 293 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6HS │ 282 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 268 │ -│ 3 │ 72 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 267 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 259 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 257 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari │ 256 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 │ 241 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login │ 237 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 │ 236 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/28435&lr=157 │ http://komme%2F27.0.1453.116 │ 233 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/ru/photo/6936313555&text=\xD1\x85\xD0\xBA \xD0\xBB\xD0\xBE\xD... │ http://komme%2F27.0.1453.116 │ 224 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php │ 223 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cat/dushkirillovyj │ http://komme%2F27.0.1453.116 │ 222 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=359&op_page2/... │ 218 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kriminally-bezhevsk │ 217 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0 │ 212 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 207 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 202 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 199 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://ekburg.irr.ru%2Fpuloveplanet │ 199 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 198 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 197 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 195 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/414526863.xlsx │ 191 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CDMQFjAJ │ http://irr.ru/index.php?showalbum/login-kiriskaya-obl.irr.ru/index.ru/GameMain.... │ 190 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=0&with_photo.ashx/101/4/?cat=6257271 │ 188 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=partments-sale/search?text=\xD1\x81\xD0... │ 187 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://afisha.yandex.ru/index │ 183 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://ekburg.irr.ru%2Fpuloveplanet │ 171 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 168 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 164 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 163 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://ekburg.irr.ru%2Fpuloveplanet │ 160 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 160 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/life.ru/cars/misc/travel.ru/?trafkey=058143&p... │ 155 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 │ 154 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=577&oki=1&oby=&op_s... │ 152 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://wildberrior/uphold │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6HS │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 149 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 146 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustic/meterburg │ 144 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 144 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 144 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E │ 141 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 140 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 136 │ -│ 1 │ 0 │ 0 │ http://kombardighantnie │ http://komme%2F27.0.1453.116 │ 136 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login │ 135 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kysjacevtika │ 132 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://komme%2F27.0.1453.116 Safari │ 124 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 121 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category/stroy/dachines... │ 114 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/?state │ http://komme%2F27.0.1453.116 │ 113 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/GameMain │ http://komme%2F27.0.1453.116 │ 113 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 111 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login │ 110 │ -│ 3 │ 85 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 110 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kardigan │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 107 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosoftwarenok.ru/projects/zhbi.po... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 105 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268143.html?1=1&cid=577&o... │ 104 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 104 │ -│ 0 │ 0 │ 0 │ │ http://tvidi.ru/photo=0&confiscategory_id=0&engineVolumeFrom=&fuelRateFrom=type... │ 103 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 102 │ -│ 3 │ 14 │ 0 │ │ http://komme%2F27.0.1453.116 │ 102 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 100 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 98 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://video.yandex.php │ 97 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 96 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.21150895 │ 96 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?sort=price │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 95 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login │ 95 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.12.388 │ 93 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 93 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 92 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberrior/uphold │ 92 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 91 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-tanks/search=1&ady=62&modeloveplanet.ru │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 90 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.145332.15&he=10&category_id=2740387993 │ 89 │ -│ 1 │ 0 │ 0 │ http://in-the-weightEnd=2351&numphoto=&isExclusiver.ru/alertljus │ http://komme%2F27.0.1453.116 │ 88 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fprodazha_Italja_unit=1&av=1&nm=1&lang=ru │ http://irr.ru/index.ru/show/414526863.xlsx │ 87 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 86 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb1.html?item_no=386703/?bundle=7172&msid=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 86 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 │ 85 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 84 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733582852/ │ 84 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupit/action │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 82 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 82 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?bodystyle │ http://komme%2F27.0.1453.116 │ 81 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F22.14&he=768486 │ 81 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusk.ru/ru/lookaginitial/Prodayu-Dach... │ 80 │ -│ 3 │ 4 │ 0 │ │ http://komme%2F27.0.1453.116 │ 80 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 79 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://aliningrad │ 78 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 78 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login │ 76 │ -│ 1 │ 0 │ 0 │ https://go.1ps.ru/show&showforum │ http://komme%2F27.0.1453.116 │ 76 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandex.ru │ http://komme%2F27.0.1453.116 │ 76 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26221/detail.ru/v1496366&... │ 75 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php │ 75 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 74 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%2F&sr=http://bonprix.ru... │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len80/page/product │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filtr/all/perm.pulscen... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 73 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 73 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F1.7.1364.172 │ 72 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://diary.ru/forum/intries │ 72 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/show/414526863_112 │ 72 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2618561&pp=1059&op_produc... │ 72 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://video.yandex.php │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 71 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 71 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari │ 71 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://aliningrad │ 71 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=product_id=42&Selection.chelov.ru/searc... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/yandsearch?te... │ http://irr.ru/index.php │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/server=sc.chel.ru/main... │ http://irr.ru/index.php │ 70 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification/?year=\xD0\xB1\... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2791954~43.87725656132&op... │ 69 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://komme%2F27.0.1453.116 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/produkty/bleacs/udilis... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 69 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&wi=1366&br... │ 68 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 67 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731&CgID=124jc&where=all... │ 66 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/Yozh/Goodda │ http://komme%2F27.0.1453.116 │ 66 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2725215195&ti=\xD0\x9F\xD... │ 66 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://ekburg.irr.ru%2Fpuloveplanet │ 65 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru/index │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 64 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://afisha.yandex.ru/index │ 64 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nmg.com%2F4.0 Safari%26clients-sale/search&e... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 62 │ -│ 2 │ 13 │ 13 │ │ http://komme%2F27.0.1453.116 │ 62 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login │ 62 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://ekburg.irr.ru%2Fpuloveplanet │ 61 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 61 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 61 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26092.html?s_text=\x5C\x5... │ 59 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/thenon-houses/public/g... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27755f32316.30; .NET CLR ... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742/details/?cauth=0&dam... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fautoad/kniga.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26004/?_h=galle/\xD0\xBF\... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert27930555&sob=1&p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2692.html%3Fhtml?period=3... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/world/photo31469:Album... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=leting "HalUXI&where=\xD0\x9F\xD0\xB5\xD1\x8... │ http://irr.ru/index.php?showalbum/lofiver.ru/articles/86121%26uid%3D139750%26ad... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27000,224648804-recept-so... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/koshka.com/ig/iframe-o... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory=cinema.perm.p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/realty/suntime-5/extre... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742357/detskii_gosts.xml... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742304][from]=&int[14670... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694336/photo/suzannason/... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Forum25/top... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268320995,968650f45491882... │ 57 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupit/action │ 57 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1375605&ga... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://video.yandex.php │ 56 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga/choice/... │ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_product_... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?showtopic,5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26017/quarius_Moscow/cavi... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2726125413975d77cf&search... │ 55 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 54 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266848223/review_type=pro... │ 53 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 53 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26989%26bt%3Dad.adriver.r... │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/album/login-1800002&pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 52 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0 │ 51 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2698172,93932353064614618... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605085268a9c4d61-9862.49... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-36575c72937][to]=&int[12822304 │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_v_bordovye-printime.ru │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/investate/comple/make/?page5/&docid=jlMNIrXw... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 50 │ -│ 0 │ 0 │ 0 │ │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 50 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F11.7.1364 │ 50 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 50 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26051.htBeg=6&NightRegist... │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD0\xB8\xD0\xB1... │ 49 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 49 │ -│ 5 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 49 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?group=days=3&text=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27410/photo-2.xhtml&serve... │ 48 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandsearch │ http://komme%2F27.0.1453.116 │ 48 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 48 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusty-i-vkont.at.ua/search=0&userId=0... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266128182&op_seo_entry/de... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?sort=&br... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/intrumen │ 46 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://afisha.yandex.ru/index │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumanegenre=33155?analog/kitchen_mini... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik │ 46 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login%2Flick.g.doubleclick.diary.ru/car/kw/3061/us... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://afisha.yandex.ru/index │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734.html_params%3Dfh_loc... │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/GameMain.p1Yo4A │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ua/searchads/jo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605906/frl-2/sportal.ru/... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fshow/lpp/cre.ru/pers... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.asp?search&ev... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logize.ru/msk/events_liver.ru/russert-plies.r... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26099486633033&countpage=... │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 43 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://sslow_135000008&position=search │ 43 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischet-solik/odezhda-plos... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert277553/38021/66936575776/... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271050&with_photo.kurortm... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 43 │ -│ 1 │ 0 │ 0 │ http://forums/liii-kuler S22oHgBJTngegotavgorod55.ru/filtr[2]=42 │ http://komme%2F27.0.1453.116 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-folders/?end=9a08488... │ http://irr.ru/index.php?showalbum/litamak.irr.ru/catalog/8570/travel.ru/cgi-bin... │ 41 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 41 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 41 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/0001216629/#top_by │ 41 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26040931&s_yers=0&with_vi... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://ekburg.irr.ru%2Fpuloveplanet │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.137508&s_yers=200... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://aliningrad │ 40 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logito8ergo_6470/page_type_id=20872/0/001:12:... │ 40 │ -│ 0 │ 0 │ 0 │ │ http://afisha.mail.ru/dmitrij │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/readar-nashi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27924563724&key=46960/med... │ 40 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://lib.ru/exp?sid=3205&bt=7&bn │ 40 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 39 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credit │ http://komme%2F27.0.1453.116 │ 38 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=8570/page=5&s_yers=2006 │ 38 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2679/detail/5482,935033/2... │ 38 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 38 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login │ 37 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dnevnoy-kv-Samara.irr.ru/searchAutos&marka=4... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://komme%2F27.0.1453.116 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 37 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=theating&page=... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?group │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/forum/topicID=269&stat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2784389/room=39695,966681... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/votkim-rukav-i-kova-ul-adve... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filmId=xFX1UbTNJjxe4yF... │ http://irr.ru/index.php?showalbum/login.asp?razdel7/test/matched=115909d9_dsc07... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wolf-club478561/OPEL | \xD0\xB0\xD0\xB2\xD1\... │ http://irr.ru/index.php?showalbum/login-marka=13&city&custom=0&damages/0001216 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27553&s_yers=0&po_yers/46... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert275226607660?design=6efxq... │ 36 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=show=&fgroup-tab-mara.irinables/yearT... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278171&size=52094&op_seo_... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27330528/photo/6223799%26... │ 36 │ -│ 5 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 36 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36&he │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://smeshariki.ru/obucheyelants │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=post_neu%3D22%26pz%3D0%26rleurl%3D%26xp... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 35 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/8569 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/index.ru/katego... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vip.ru/book.com/photo/7086/page=0&state=mont... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-cukickdrops_bak_yant4tlGtZgy3BQ&bvm=bv.49478... │ http://irr.ru/index.php?showalbum/login-501-98552&op_uid=1060948/6#f │ 35 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (Windows │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19&m_staraya-obl │ http://irr.ru/index.ru/show/414526863_112 │ 34 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.12.388 │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/promo=C-Tease/rent/dat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 34 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_uid=1... │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/list │ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 34 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/directadvert/kavanga_728x90.html │ http://komme%2F27.0.1453.116 │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 33 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshops.xml?typ │ http://komme%2F27.0.1453.116 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?cPath=default.ru/yandex.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33 │ -│ 1 │ 0 │ 0 │ http://auto.ria.ua/\xD0\x9A\xD0\xBB\xD0\xB8\xD0\xBC\xD0\xB0\xD1\x82\xD1\x8C\xD1... │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://video.yandex.php │ 33 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 33 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser │ 33 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265748ba3f755671_1162684&... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertif?sle=85000 \xD0\xB4\xD0... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/pub │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364 │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 32 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zxcvbnm1990&search/jobinmoscow.ru/yandex.by/... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements-obschaya │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fproduct/foto-4/login... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&op_category_id=1174]... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniturers_id=575386110 │ http://irr.ru/index.php?showalbum/login.exit/rem/php/board/10_kruizer_8267049&o... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiepochto_id=93231238][to... │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://afisha.yandex.ru/index │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ssl.hurra.com/iframe │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischuk_Kerasivye-klavik/?... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/jobs-education/m_acces... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26791e3a7c543c9bf9ef5c0-9... │ 31 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt │ http://komme%2F27.0.1453.116 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_api.php?cid=41389/rooms/perm.pulscen.ru/sear... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertificia/?letteo_985428161/... │ 30 │ -│ 1 │ 0 │ 0 │ http://domchelov.html&lr=55&text=\xD0\xB4\xD1\x80\xD1\x83\xD0\xB3\xD0\xB8\xD0\x... │ http://komme%2F27.0.1453.116 │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoryID=12452929587/... │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 30 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 30 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268630533&site_ot=&price_... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-k608i.trashbox.ru/cars/page5/&docid=577&lr=2... │ http://irr.ru/index.php?showalbum/logii_58247.php?forum.borovichy77/page5 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2716/~3/150160947694,9745... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/products/?category_id=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2696374/#page/tab=com_avt... │ 30 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/topic │ 30 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.14&he=768&wi=1920 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605446518%2F&sr=http://e... │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26979553039353936694&ch=u... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://smeshariki.ru/obucheyelants │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-carava/fotok-8-steklove.ru │ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26928142&op_products/view... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kupibatikov/?recrete/personal/klimat.ru/work... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/wedditeli_foto-2/__48/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x9A\xD0\xBE\xD1\x80\xD0\xBE\xD1\... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertifications[0][150]=60&inp... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_countpage/1 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/click.net/paged=696&lo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274229696.0 (Windows)&bL=... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-14132&with_photo=1&srtime-zone.net/catalog/t... │ http://irr.ru/index.php?showalbum/login-sierra%2Fdlia-zhienskaia-moda-zhiensmed │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 29 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704.html%3Fhtml5/v12/?fr... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2664952&xdm_p=1#country=-... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734/fotographic_2017666&... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategoriya/zhienskaya-... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9649.html%3... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/small_mercial-shoppicc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27350350394&ch=UTF-8&sF=1... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_seo_entr... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-baza/gadge... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27425.3120%26ntype_id=2&r... │ 28 │ -│ 1 │ 0 │ 0 │ https://directions[0][1541769377921968 │ http://komme%2F1.7.1364.172 │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert272291684/hasimage=0&view... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13733097&op_categ... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/mann japanel/?text=\xD1\x81\xD0\xBC\xD0... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269500469412216388/detail... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-my-sovies/bebybum.homestion bonprix.ru/... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikarbox=2&tz=9b81998&po_y... │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-176-kakaya-obl.irr.ru/search?lr=191&ei=N6rrg... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?lang=all&fi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 28 │ -│ 3 │ 95 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\xA4\... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/anime-2/#album/l... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-eve-nn.ru/cars/passenger/\xD0\x92\xD0\x90\xD... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274236&pv=15&prr=8&sid=35... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/41452626u1zIq0SGLXCI │ 28 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic/8939858-59929477/detailshop │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://ekburg.irr.ru/#lingvo │ 28 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F22.14&he=768486 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678/page=2&marka=84&mode... │ 27 │ -│ 3 │ 2 │ 0 │ │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/search?cl4url=http://yandex.ru/online... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27013.ya.ru/sportalznakom... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert24061.jpg.html%3Fhtml?1=1... │ 27 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031343-sh-898675/sort=pri... │ http://irr.ru/index.php?showalbum/login-5158&jenre/slyudya_metroman.ru/GameMain... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19195/offset=101&district=&city&with_photo=¤cy │ http://irr.ru/img/catalog/53485785/topic/8939850.php?page=3&marka=84&mm │ 27 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 27 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 27 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-oleginnesujeli-i-centum=etarget=search?clid=... │ http://irr.ru/index.php?showalbum/login-kupe.html_params%3Drhost%3Dad.adriver.r... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fhit_list.html?s... │ http://irr.ru/index.php?showalbum/login-irake-myservierk-supierts%2F&ti=\xD0\x9... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27928092_price=\xD0\xBC\x... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/mazda-dievochnye_avari... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-19.xhtml?city_to_one=All&film]/on/orders/810... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/1.19.mobile_photo=6001... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27630/?item_id=0&bodystyl... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ 1 │ 0 │ 0 │ http://bonprix_ru_11559&lr=12&usln │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lizova_ii_1112_1150&option[price_do=300... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E&wher... │ 26 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 26 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detall/seconomicsmovinki │ http://komme%2F27.0.1453.116 │ 26 │ -│ 1 │ 0 │ 0 │ http://yandex.ua/?target=search/tab=user │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://obninsk/detail │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login-jjjekrju-s-pring=1&price[price=\xD0\xBC... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/loginsk.irr.ru%2Fkategory_id=9204471-650/?_h=... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification.ru/messa.ru/rea... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lejandsearch?text=\xD1\x82\xD0\xB8\xD1\x85\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert21124631/?Search.php │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 26 │ -│ -1 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_category... │ 26 │ -│ 3 │ 197 │ 0 │ │ http://komme%2F27.0.1453.116 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?messa.ru/worlds/page2/7277932582&text=\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 26 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-kupe-20010120652838799.html?n=7148.html... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemey-volvom80Cw&where=a... │ 26 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=607&state=4... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.22 (KHTML, like Gecko) │ 25 │ -│ 1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 25 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/people.ru/cars/passets... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731/?city=0&pvno=2&evlg=... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vivarki/redki_sdelaet-law.ru/produkty/kartgo... │ http://irr.ru/index.php?showalbum/login=driff/en-ru/?p=2#messages/00001216629 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.html&ei=GcXrUYe8F2DAU-RbuRlLMczoJ--5uDCx8 │ http://irr.ru/index.php?showalbum/login-132/#images/0000.h95/\xD1\x82\xD1\x8E\x... │ 25 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert264314953); ru) AppleWebK... │ 25 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://obninsk/detail │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search?text=myaccountry │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguard-payments-sale/se... │ http://irr.ru/index.php?showalbum/login-88i8LaDyEkCVv6-DhRfEDcw==&action │ 25 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/yandex.ru/?f... │ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.ru/film/46351/frl-2/bage │ 25 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605838.html5/v12/?from=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-link=1147373-1&p=1&p=2&text=\xD0\xBC\xD0\xBE... │ http://irr.ru/index.php?showalbum/logisterlingvo/#! │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741559&t=5204/make=Chrys... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694589/detail/555-javata... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=shops.html?id=1&body_type=\xD0\xBF\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781472265&op_seo_entry=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626rleurl%3D//ad.adriver... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685/price_ot=&price=\xD0... │ 24 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://diary.ru/forum/intries │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26685857947301_Zoryatiya/... │ 24 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-117031&op_category&op_seo_entry=&op_uid │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27399992.php/board,13.0) ... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671291&fridgets/2012&pri... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguar.ru/page4/?emain.a... │ http://irr.ru/index.php?showalbum/login=ogabass.ru/filmId=9WOqzzitive&view │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-annative-expressageId=0oVXx21hUXI&where=all&... │ http://irr.ru/index.php?showalbum/login-rybnovlevojj_mamountry=-1&type%3D0 │ 24 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://video.yandex.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo/7... │ http://irr.ru/index.php?showalbum/login-kupit-plitka-s-korsiety/art/151/n4p/160... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/intrumen │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kupalnaya_elit=&id=3&clid=9403&lr=1913849 │ http://irr.ru/index.php?showalbum/login-gallebia_zhurnalCall D.R.E.mp3ex.net/ph... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lolacake/tatyaka.html?1=1&cid=577&oki=1 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinglish.rus-l7-p70505-1... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/yandsearch?lr=1... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-yvaken/topic=7702.jpg.html?1=1&cid=577&... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=1&bc=3&ct=1&pr │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-547552/1/?sma=RAINBOW&op_uid=fdd1b9d2721728&... │ http://irr.ru/index.php?showalbum/login-kapusta-advertika/search/room=1&damage=... │ 23 │ -│ 1 │ 0 │ 0 │ http://auto_volkswagency=1&text │ http://komme%2F27.0.1453.116 │ 23 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgarials/commend/searchvage-2.html&dt=13734... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-tuniki_510... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263090024189-528619c2077/... │ 23 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/ru/index.ru%26bid │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333572620201709/page/10... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news/radio&clid=198555... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26939.html?page/3/#count=... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/kategory_id=5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2740974%26pz%3D0%26ar_sli... │ 23 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 23 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/resultatya9176da22f1a521a5853.html&... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26600721376439322%26pz%3D... │ 23 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 23 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga_728x90.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://afisha.yandex.ru │ 22 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemennoke0070553995f27d6... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2697574697.html_param=0&u... │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-105vr/ │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=search.tutung/s... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/wheel.ceratornaya_solnechka │ http://komme%2F27.0.1453.116 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-10760b31b65633eZateq eb806e887d9f15ccf593280... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2091&local=1&TypeSearch?mail.ru/yandsearch&c... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26058&nnum=s4746835895&op... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-the-ili-tempera-minsk.irr.ru/produkty/bluzki... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodny │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2649.html?pg=menu_29.jpg&... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739693071/pomer... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/v1465][from]=&int[157281 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267830840994,95688781470%... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-business/sale/ru/search?mail.ru/film%2Fbarna... │ http://irr.ru/index.php?showalbum/login-zakon_type=1&fuelRatesTypeSearch │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 22 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27200,55.7654.html_parat-... │ 22 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26601629][from=&fuelRateT... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&l... │ http://irr.ru/introlux_page5/2/page/Renaul.irr.ru/start=1500-rublic/gamemain/Tu... │ 22 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://ekburg.irr.ru%2Fpuloveplanet │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liliate_id=24145602&with_phoney.yandex.ru;ya... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-natashkarola.irr.ru%2Fviewforum/MsgList.html... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26900/technics-technics-t... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&city[7]=23239330794,25826044_Black_lis... │ 21 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?price_till beli.php?cx=015216684_36 │ http://komme%2F27.0.1453.116 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691_ru_17832523.html_par... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694,978825315f373400/det... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1) AppleWebKit%2F537 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/world/photo/41/62b1dfa450/3/women-clother%26tms%3D%26ev_ltx%3D... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/basketshop.ru/yandsear... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/forum%2Fukhov/l... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27025&Select[4][]=32598.h... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265228.html?1=1&cid=577&o... │ 21 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://wildberrior/uphold │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/houses/passenge... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo44953.116.php?t=4... │ http://irr.ru/index.php?showalbum/login=ko&page=0&view.aspx?group_cod_1s=85&key... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/?from │ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-dance/index.ru/?favorite_off=1&encoding&hl=\... │ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logino-s-grigerator/page1=&input_age1 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login.html?1=1&input_who1=2&input_who2=1&inpu... │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cars/commeddesk.ru/google_s&12.5.746.59954.30 (KHTML, like/\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ramblery/pic/893985650697... │ http://smeshariki.ru/obucheyelants │ 21 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26737865/?page/12186/#/ec... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/logii-bin/click.cgi%3Fsid%3D158195,97987231-9... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/club.ru/anime-zone.ru/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dietsik.ru/razdel_id=111,7,700&w=728x90.html... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929&from%3D%26custom=0&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-brie... │ 21 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739353/details.... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2186/detail.aspx#location... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kupalnik │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/9-0--navam-zhien... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741465][from]=&input_wit... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification%2F4.0; XBLWP7; ... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_uid=1147... │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login=uzpp2XnEw&bvm=bv.49784469][from │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 20 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-Larki-i-korobeg-1124-95367/guestblowinp... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26219&wi=1280&lo=http://w... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/yandex.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estatic.diary.ru/... │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=58&Selectronics-technics/k... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?er=2&text=\xD0\xBA\xD1\x83\xD0\xBF\xD0\xB8\... │ http://irr.ru/index.php?showalbum/login=razer2.moikrug.ru/recipes/shop.spb │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b706234651&op_uid=1&b... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&price │ 20 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://video.yandex.php │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=NeIdeaCenternet Explorer&aV=5.0 │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertificirovka.ru/noteating-i... │ 20 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271161076&st=261&t=170977... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate=0&ReturnUr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313163307/?from]=&int[15... │ http://che.ru/produkty_zarubezhei-niepochekhly │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604370757034dea482207549... │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_api.php?id=7262882,9454472&op_product_n... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 20 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/cars │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-karbox=0&top=0&category/1961/#images/00... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26637&model=1705.html?1=1... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumilora481 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt=13733129/room │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-iulyanovskaya-obl/lyubvi?page=166733&eid=485... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27502/detail/?folders/#pa... │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626u1zIq0SGLXCI&where=al... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=240&u_cd=242035165&input_who2=1... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news_id_72387877055/nu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikulina.ru/real-estate/ou... │ 19 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?sort=popup/casualg... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/filmId=eRaB4pYAXCI │ http://komme%2F27.0.1453.116 │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBB\xD0\xB8\xD0\xBA\xD0\xBE\xD0\xBB\xD0\... │ http://irr.ru/index.php │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.ru/daily │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260540718534/?dateOn=1&bo... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login=perfect.yandex.ru%2Fkategoriya%2F537 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26672655462.html?city.ru/... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261921&pr=2441185112.html... │ 19 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostok.ru/cars │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/check=1&redir=1&lang=a... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671&Destige-all.html_par... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27404895,95923.html%26cus... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313437&pvno=2&evlg=VC,2;... │ http://irr.ru/index.php?showalbum/login-rizova.ru/look/timashirtsevm.cofe │ 19 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2638/?from=&raceTo=&power... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6HS │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27355f3132366336601&uuid=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166333/price[price_till]=&pri... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F_liveresum... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.php?f=11340.1j1j2.12...5998-103358071/8/page... │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/00007/10/1320006&p... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto_repai... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://smeshariki.ru/obucheyelants │ 19 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.15751 Safari%2F5.0 (Windows │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2675406828ac956028692581/... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://obninsk/detail │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26968794618/irr.ru/real-e... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2629&lr=65&rstr=-213&text=back=False&withmos... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2702483,631;IC,444041%2F&... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=http://video.yandex.ru/real-estate │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?search?text=\xD1\x80\xD1\x83\xD1\x81\xD0\xB... │ http://irr.ru/index.php?showalbum/login-inadlinny-sched_car=0&city=0&price=18&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26669E116-1-1550046560013... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274026181891&rn=52&brand=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/dlia-zhiensk... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&checked=0&state/room=10002-g-v-program... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-165&jenre]/49047&lr=163&text=samsung ga-moda... │ http://irr.ru/index.php?showalbum/login-2-komn-v-na-92f5-6ccf-fef3-013f9f926a21... │ 18 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ru/index │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5 │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?elmt=popular&where=all&film/723/num │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupaljinik-slidi/places/?PAGEN_1=2 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/restate/out-of-town-resh=1&cnt=1373... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2012-recept-Ragu-iz-2-x │ 18 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=deltec&type=citymo=&version%2F4.0 (Linu... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27534.30 (KHTML, like Gec... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kochtinsk.pulscendinskiy-krasnodar.irr.ru │ http://irr.ru/index.php?showalbum/login-kuplyuskij/zapchastorii_state/out │ 18 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login.moikrug.ru/catalog/otchenko-ul-advert27... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zzzi.ru/a-shop and blademas/?id=1&marka=0&ma... │ http://irr.ru/index.php?showalbum/login-2003prev=/search/index.ru/meteor.html%3... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\... │ 18 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278453&with_exchange=0&ex... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=367132&pv=2... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27132069304;IC,1511e8d158... │ 18 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27071038_114736895,923401... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x9A\... │ 18 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/?target=search?... │ http://irr.ru/index.php?showalbum/login-bigutensiysk.irr.ru/regular&bid=3205&bt... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/8018&l=malkogo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-natura.ru/jobs-education=post_137336ID0... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kanza_tab_2499472&lr=1074&sort=popular │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27420780790931.html5/v12/... │ 18 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/obuv%2F │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-21102&text=\xD0\xB1\xD0\xB0\xD0\xB1\xD0\xBA\... │ http://irr.ru/index.php?showalbum/login.mospsy.ru/super-na-kostronics/tv-audio.... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685&numphoto=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertimeshariki.ru/cgi-bin/cli... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626p/ │ 18 │ -│ 1 │ 0 │ 0 │ https://diary.ru/magnitogorsk │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sien-zhienskaya-i-kvartir.html?id=1955451-01... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260908861%26point-peter=&... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=yators/?jumping.ru/series.ru/priceup&page=3&... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1453.116 Safari%2F8536 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeSearch?text=\xD0\xB2\xD0\xBA\xD1\x83\xD1... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga1788778.137329TVmbFNmbVNaR0YwW$UyNDg4fxS... │ http://irr.ru/index.php?showalbum/login-sienskaia-moda-zhienskikh_rabotjaga.ru/... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=36427929&stat... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinger/\xD0\x93\xD0\x90\... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929750%26ar_sliceid%3D2... │ 18 │ -│ 4 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691c352005&pvno=2&evlg=V... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru%2Ffilm/4858?pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/cars/communalux.ru/dos... │ http://irr.ru/index.php?showalbum/loshaya-obl.irr.ru/film/35562C?analytics/kto-... │ 17 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27422544/3/womens.ru/ufa.... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271527091/frl-2/bage-2.ht... │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#7878... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.103402.html%3Fhtml │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=artira-Lyubyat │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.aspx#location │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=yes&y1=2013-07-07.ya.ru/5_search?text=\... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.15.html?1=1 │ 17 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://aliningrad │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266149_51928/detail.ru/ka... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%26rleurl%3D%26CompPath%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2670308&po_yers=0&price_o... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2613168312.71 Safari%2F__... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_Bolers-device.aspx#commersanta_premiery... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=8&ch=UTF-8&ifr=1&av=1&nm=1&ved=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 17 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6HS │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-dlia-zhiensmed.ru/el... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginyazevskaya%2F5.0 (Windows NT 5.1) Prestorygoo... │ http://irr.ru/index.php?showalbum/login-kupilomatic.aspx#location=rr&days&city&... │ 17 │ -│ 1 │ 0 │ 0 │ http://bdsmpeople.ru/register2123 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logistereda.ru/photo/70861/6#f │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263161366&bid=2823&numpho... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowthreadreplies=24&ids=74&cu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27595,9305f3931339322%26n... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273363331251798796&op_seo... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313&ussp=mstp&usln=1&inp... │ http://irr.ru/index.php?showalbum/login-3767436/roomootofile/obzor.com/iframe │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26041.htm%3Fsid%3D0%26pz%... │ 17 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/stan/index.kz/yandex │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertistia.html?partment/searc... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-search%3Futm_source=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031323532363&win=70&mode=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 3 │ 22 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://diary.ru/forum/intries │ 17 │ -│ 1 │ 0 │ 0 │ http://bibieters_sig=5ea8QizwGSPy0yGcm14ATH74D4Bw&usg=AFQjCNHxMZlonova.ru/p1847... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_style... │ 17 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/messar.ru/professig │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261636/detail/odnoklassim... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lenfiki-zhienskaia-moda-muzhchin-sitafa ishq... │ http://irr.ru/index.php?showalbum/logical.ru/link=11485-9065383235348%2F&sr=htt... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-futbolki-k... │ 17 │ -│ 1 │ 0 │ 0 │ http://acase.php?input_who1=2&input_who2=1 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.10 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733145625/details... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694&option%2F12.14&he=76... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-irina19910735%2F27.0.1453.116 Safari │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268814453957595,94406/det... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26618531&t=111246.html?p=... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=Like Gecko) Chrome%2Fpotnik=1&price_do=&curr... │ http://irr.ru/index.php?showalbum/login-the-poxudet_sponsor=&o=6000708498/?caut... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b76faact/less=1&ru=1&... │ 17 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-53584715,1327288/belgium/arch=1&themec.... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=bestwo.diary/details&id=9160/0/posti.ri... │ 17 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/category=cinem rasmusic │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 16 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search?clid=19554786.0.8.0.2.2003558_3497926... │ http://irr.ru/index.php?showalbum/logie-niz-doktops/electronics/4185570c72 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098707209463401090/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgas.rQRAX2Ua3IF1iHJcaz4ATv34DABw │ http://irr.ru/index.php?showalbum/login/?page=1024&wi=144438-88-3906740/currenc... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267044005320AA76)&vendor_... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27034195,9520160173/5/wom... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-herokee_tatus=1&rm=18606bAxFEcQT6smBB4W... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search/cuZXdzJTJGJmxyPTI4fQ,... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-plan... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&pt=b&pd=7&pw=2&page5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26396284046.xhtml%3Fhtml%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate/out-of-tow... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260612d7cf.4082813,74,756... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/page=91552&q=\... │ http://irr.ru/index.php │ 16 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login.aspx?sle=13&s_yers=0&page_type=0&door=0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?&clients-sale&siteurl%3D//ads/search?text... │ http://irr.ru/index.php?showalbum/login-kapusta-advert273786/foto-5/#photo=2817... │ 16 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/movinki... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnaja-prost-petersburg/detail/?fold... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-krasok.html_params%3Drhost%3Dad.adriver │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiensmed.ru/dl/\xD0\xB7\x... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti/redmonds %2F offset=403134333.2201560&c... │ http://irr.ru/index.php?showalbum/login-v40-velopiter.feriod=0&scroll_to_auto.r... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661232&streamfood.com/if... │ 16 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26765.html_params%3Drhost... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166303133334%2F&ei=horia+iudi... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-57548811426&text=\xD0\xBB\xD1\x83\xD1\x87\xD... │ http://irr.ru/index.php?showalbum/login-coolonellana-Molodilnik.ru/index.php?vi... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/70948/35.htm?id=... │ http://irr.ru/index.php?showalbum/logiy-luchaiev%2F&sr=http:%2F%2Fwww.bonprix c... │ 16 │ -│ 1 │ 0 │ 0 │ http://histore/profile;u= │ http://irr.ru/index.php?showalbum/login-kupe-20013&uuid=1373356164564_1sort/sta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2755597.html%3Fhtml?1=1&c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=findjob.ru/planet.ru/index.ru/carinov.h... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/showtopic,803813.html&... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_catalog/1250/?itemsg/cd... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert260477/cities/visas/exp?s... │ 16 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://video.yandex.php │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27429&input_bdsm_position... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26887301/Zona/simferopol.... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2728024/detail/508/?instv... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-153-4b9c4.4331626.htm?size%3D0%26rleurl │ 16 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect │ http://komme%2F27.0.1453.116 │ 16 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://msuzie-shop/premiery-c-38208_2.html │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/posts&q=\xD0\xB2\xD0\xB5\xD0\xB4\xD1\x83\xD1... │ http://irr.ru/index.php?showalbum/login-mistore/#CATALOG_LIST-s-ovosibirsk/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-marka=23&model&desting?field_town/search/pri... │ http://irr.ru/index.php?showalbum/login-492ea9&show/417582,9626512874":10157628... │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/sch/price][min]=41&lr=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27364229586121%26url%3D%2... │ 16 │ -│ 1 │ 0 │ 0 │ http://volgografiyah_27_iyunya_50_let%2FgetId │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661251-6efa-d61f-fef3-01... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-maritkiN │ http://irr.ru/index.php?showalbum/login-ladimir.irr.ru/remiery-telefon.ru │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333%26bid%3D1%26rleurl%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new=127201148][fr... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/tv-audi/a7-spec=9894797179698712/p1/8... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=view/5/item3963... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti%2F%3Ff%3D100%&http://afisha.yandsearch&... │ http://irr.ru/index.php?showalbum/login-6030d.html_params%3Drhost%3D90%26height │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logiste's a di galaxy-s4-story1.aspx#location... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269899458/price/3815&pvno... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/7427510/detail/5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5.0 (Win... │ 16 │ -│ 1 │ 0 │ 0 │ http://yandsearch?lr=2&color │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new10152954vac │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2735030373434-152495.php?... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2753][from]=&pricedownloa... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-gorod/search?p=7&oprnd=9902.jpg&img_url=http... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27222.vk.me/u3166 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makeevka.ru/perm.irr.ru/slingvo/#1\xD0\... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26708662307][]=&selection... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313033393633310,932803][... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-irinakai/page_num_read2306e4574&ei=Ot_rUfjPG... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691.html?1=1&input_age2/... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2010000087378687/pic/8939375f303839303935373... │ http://irr.ru/index.php?showalbum/login-souse=2/path=39_1.html?1=1&cid=577&oki=... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/artira │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/?strict=5710... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2695/19545602cf94d77/repl... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumy.ua/search?text=\xD1\x81\xD0\xB5\... │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertists/736850/?item_no=737&... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikal.ru/search/room=1&dam... │ 16 │ -│ 1 │ 0 │ 0 │ http://forums/liiiervierk-suppohudeemvmesting/294465&op_categoriya │ http://komme%2F27.0.1453.116 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&model=1173... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login/?do=ready-mansion%3D0%26url%3D%26bn%3D0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=new&cad=rjt&fu=0&input_country_id=228&lr=961... │ http://irr.ru/index.php?showalbum/login-cam.shtml#objdesc=true&uA=Mozilla │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb=1&prepairs=0&city[1 │ http://irr.ru/index.php?showalbum/lounona-muzhchin-kupaljinik-chernyj-odnoe/san... │ 15 │ -│ 1 │ 0 │ 0 │ http://launcher-searchads/search │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781308;IC,238208836746/0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-album/login.2/second... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_produkty/kiev.org/forum... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginsk.eu/ru/Pagesize=13&m1=07 │ http://irr.ru/index.php?showalbum/login-3muda/truction/vacancies/750207190765.h... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26981583/page=1089592445/... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-4433140796851/detail/536180&all=False&i... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273389; U; Android 4.0.14... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945HPS?analog/r10418/sort=price_do=200&site_off=1 │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F1.7.1364.172 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273631253711/foto-6320166... │ 15 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshop/id_art_type=7&s_yers │ http://irr.ru/index.php?showalbum/login │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2724/?_h=search?text=\xD0... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-goluboj-podserial&dfs=13 │ http://irr.ru/index.php?showalbum/login-haus.html#news/228670,257&pci=3012/frl │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#67 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266356163f39ea6f8/7a8745&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26605566254/room=1.6&wher... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/washes/built-in_two_ch... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?Topic │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/state=1909644 │ http://afisha.yandex.ua/auto_id=0&with_photo.kurortmag.ru/razdnitsya-vishnury │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://irr.ru/index.ru/show/414526863_112 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/produkty%2Fplatj... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?transk.i... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginskikh-viana.irr.ru/GameMain.aspx?sle=1/house.... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-land_search?text=\xD0\xB0\xD0\xBC\xD0\xB1\xD... │ http://irr.ru/6323%26bn%3D27888895,963095425 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/index.ru/ange=0&s_yers=(3000&static.diary.ru... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?page37/?sta... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678&op_page=60000/curren... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list.html?typ=SMA&anbieter=aleks_evilkos.com │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?Id=9582 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=alini... │ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liloveplanet.ru/futurer533/women.aspx?group-... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2631920&lo=http://person_... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-tumbov.irr.ru/page1=&input_who1=2&id=29... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.1Uv1UfqCA8SonYC4BQ&usg=AFQjCNGB3pBUuKY1jJPP3... │ http://irr.ru/index.php?showalbum/login-tank-sale/search%3Fmode=&page_type │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2718599/photo=0&is_hot=0&... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.php?city[1]=700003 │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27515/418695&st=327-B110Q │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26761,55.654289600/detail... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login=vladimir/page_type=0&expand_search?text... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2699364224073532663835386... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-lential/secondary/details9.html_params%... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?dok=001&rightbox/week&From=0&user │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/frl-4/trailer/view/3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_appliazh-pliance/mista-bez-uchaiev/000202&cl... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=25127691%2F... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page9/#14... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2730675595,9292fa-d61f-fe... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienshchin-planet.ru/myma... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/gamemain.asp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27877437494,943082&stat_t... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27265484158197%26width%3D... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-676216b8af/4fd00fa61b3185631821/page_ty... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/ch/floore troubleclick... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1955451&lr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 15 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 3 │ 123 │ 0 │ │ http://komme%2F27.0.1453.116 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Ford-antent... │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nashinger/users/search?textilead&353%26ev_pl... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginy_name/3196906481/currency=6465373200&price=\... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2776/?date=0&doorov.irr.r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-102-821922237&arrFilter2013/08-iH4AT5zIGQDA │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_type=&freetao.diary.ru/sea... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/877/ru/buildin... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9584%26pz%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert276278-ploschaya_checked_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2693_763613.html_params%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274298799461981/?date=129... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert262997385f32313335781094&... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.10 │ 15 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credir=1 │ http://komme%2F27.0.1453.116 │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://ekburg.irr.ru%2Fpuloveplanet │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=on&input_onliner... │ http://irr.ru/index.php?showalbum/login.html%26custom%3D%26CompPath.2; WOW64; r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/gosthelp.ru/auto.ria.... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=on&in... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2651734&pt=b&pd=7&pw=1&pr... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/litlip/saint-peter557932E-8C62-4917%26ad%3D64... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga664.1721/deti74.ru/animals-planet.ru │ http://irr.ru/index.php?showalbum/login=K-SR-B-13-9635095,9661/9#f │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search?text=\xD1\x84\x... │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 15 │ -└────────────────┴────────────────┴─────────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.132 user 1.200000 sys 0.020000 -D 07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Run Time: real 0.014 user 0.184000 sys 0.000000 -D D (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Run Time: real 0.019 user 0.248000 sys 0.000000 -D " = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) ORDER BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))); -Run Time: real 0.012 user 0.152000 sys 0.000000 -D -D -D '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(URL) > 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -┌──────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├──────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 102341 │ -│ http://komme%2F27.0.1453.116 │ 51218 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18315 │ -│ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16461 │ -│ http://irr.ru/index.php │ 12577 │ -│ http://irr.ru/index.php?showalbum/login │ 10880 │ -│ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 7627 │ -│ http://irr.ru/index.php?showalbum/login-kupalnik │ 4369 │ -│ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 4058 │ -│ http://komme%2F27.0.1453.116 Safari │ 3021 │ -└──────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.077 user 0.900000 sys 0.016000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(Title) > 0 GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ Title │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ \xD0\xA2\xD0\xB5\xD1\x81\xD1\x82 (\xD0\xA0\xD0\xBE\xD1\x81\xD1\x81\xD0\xB8\xD1\... │ 122407 │ -│ \xD0\xA8\xD0\xB0\xD1\x80\xD0\xB0\xD1\x80\xD0\xB0\xD0\xB9), \xD0\x92\xD1\x8B\xD0... │ 82935 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA - IRR.ru │ 80958 │ -│ \xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\xB8 New Era H (\xD0\x90\xD1\x81\xD1\x83\xD... │ 39098 │ -│ \xD0\xA2\xD0\xB5\xD0\xBF\xD0\xBB\xD0\xBE\xD1\x81\xD0\xBA\xD1\x83 \xD0\xBD\xD0\x... │ 23123 │ -│ Dave and Hotpoint sport \xE2\x80\x93 \xD1\x81\xD0\xB0\xD0\xBC\xD1\x8B\xD0\xB5 \... │ 14329 │ -│ AUTO.ria.ua \xE2\x84\xA2 - \xD0\x90\xD0\xBF\xD0\xBF\xD0\xB5\xD1\x80 │ 14053 │ -│ \xD0\x9F\xD1\x80\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x80\xD1\x81\xD0\xBA (\xD0\xA0\xD0\... │ 13912 │ -│ OWAProfessign), \xD0\xBF\xD1\x80\xD0\xBE\xD0\xB4\xD0\xB0\xD1\x82\xD1\x8C │ 10919 │ -│ \xD0\xA2\xD1\x80\xD1\x83\xD1\x81\xD0\xB8 - \xD0\xA8\xD0\xBE\xD1\x83\xD0\xB1\xD0... │ 10157 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.051 user 0.688000 sys 0.000000 -D AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -┌────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ URL │ pageviews │ -├────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 7479 │ -│ http://aliningrad │ 4791 │ -│ http://ekburg.irr.ru%2Fpuloveplanet │ 3584 │ -│ http://smeshariki.ru/obucheyelants │ 3064 │ -│ http://video.yandex.php │ 2887 │ -│ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 1084 │ -│ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 891 │ -│ http://afisha.yandex.ru/index │ 855 │ -│ http://sslow_13507.html?aspx?naId=6HS │ 521 │ -│ http://wildberrior/uphold │ 484 │ -│ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 289 │ -│ http://obninsk/detail │ 241 │ -│ http://diary.ru/forum/intries │ 208 │ -│ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 185 │ -│ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 185 │ -│ http://kurort/SINA, ADRIAN │ 157 │ -│ http://afisha.yandex.ru │ 132 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 124 │ -│ http://ssl.hurra.com/iframe │ 123 │ -│ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 119 │ -│ http://stars-visa.html_params%3Drhost%3Dad.adriver.ru/catalog.php │ 105 │ -│ http://komme%2F27.0.1453.116 │ 83 │ -│ http://pogoda.yandex │ 80 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 79 │ -│ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 73 │ -│ http://video.yandex │ 71 │ -│ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 68 │ -│ http://wildberries.ru/daily │ 68 │ -│ http://smeshariki.ru/ru/index.ru%26bid │ 68 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 64 │ -│ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 64 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn │ 63 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 59 │ -│ http://sslow_135000008&position=search │ 58 │ -│ http:%2F%2Fwwwwww.bonprix.ru/topic │ 53 │ -│ http://sslow_13507.html/articles │ 52 │ -│ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 51 │ -│ http://rsdn.ru/rss.ya.ru/catalog │ 51 │ -│ http://ekburg.irr.ru/#lingvo │ 46 │ -│ http://pogoda.yandex.ru │ 45 │ -│ http://sslow_13500000%26rnd%3D2788881.html │ 44 │ -│ http://maps#ru_5_ru_22106.377648194,975924][to]=&int[14270pa106&op_uid=17759/6#... │ 42 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 37 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 37 │ -│ http://video.yandex.ru/film/46351/frl-2/bage │ 36 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 35 │ -│ http://direct.yandex │ 34 │ -│ http://sslow_13507.html?aspx?naId=3X_3bhLcs3M │ 33 │ -│ http://gotovim-doma │ 32 │ -│ http://che.ru/produkty_zarubezhei-niepochekhly │ 31 │ -│ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 30 │ -│ http://video.yandex.ru/Newsletter │ 29 │ -│ http://sslow_13507.html?aspx?naId=6D8IzMGys3M │ 29 │ -│ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ http://video.yandex.ru │ 28 │ -│ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 28 │ -│ http://notes=1/currency │ 27 │ -│ http://sslow_13507.html?aspx?naId=649&state/out-of-town=\xD0\xA5\xD0\xB0\xD0\xB... │ 27 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 26 │ -│ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 26 │ -│ http:%2F%2Fwwww.bonprix.ru/tambov │ 24 │ -│ http://kinopoisk.ru/shoppich.ru/search?clid │ 24 │ -│ http://wildberries │ 23 │ -│ http:%2F%2Fwwwwww.bonprix.ru/searchAutoSearch?text=\xD0\xB2\xD0\xB5\xD0\xBB\xD0... │ 22 │ -│ http://myloveplanet │ 20 │ -│ http://stars-visa-litraj.txt","lpu":"http://pogoda │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/secondary │ 20 │ -│ http://msuzie-shop/premiery-c-38208_2.html │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 20 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 20 │ -│ http://smeshariki │ 19 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 19 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ http://irr.ru/6323%26bn%3D27888895,96772,97436 │ 18 │ -│ http://kinopoisk.ru │ 18 │ -│ http://nepogoda.yandex.ru%2Fproducts/search?text=subscripts/busineshop │ 17 │ -│ http://wildberries.ru │ 17 │ -│ http://kinopoisk.ru/catalog/9902224 │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://direct.yandex.html │ 17 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 17 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 17 │ -│ http://irr.ru/6323%26bn%3D27888895,963095425 │ 16 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 16 │ -│ http://afisha.yandex.php?gidcar=36281664 │ 16 │ -│ http://auto.ria.ua/search │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://direct │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ http://irr.ru/index.php?showalbum/login-kupalnaya-obl │ 15 │ -│ http://kinopoisk.ru/odessya │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 15 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 14 │ -│ http://ekburg.irr.irr.ru/maker │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.yandex │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 14 │ -│ http://afisha.mail/rnd=0.9788 │ 14 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 13 │ -│ http://auto_many_to_auto.ria.ua/igrush43/ │ 13 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 13 │ -│ http://afisha.yandex.ru/cars │ 13 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 13 │ -│ http://love.ru/a-myprofi │ 13 │ -│ http: │ 13 │ -│ http:%2F%2Fwww.bonprix │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://real-estate/aparther/offiliates/corruption/russinsk │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 12 │ -│ http://on-online=on&accetti │ 12 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 12 │ -│ http://samara.irr.html5/v12/?from]= │ 12 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 12 │ -│ http://kinopoisk.ru/saledParams │ 12 │ -│ http://en.lyrsenses/zamba_zaborah_coldplay=1&gearbox │ 12 │ -│ http://zvukovo/hondar/2007&state/renlew/rigma.ru/scribed │ 12 │ -│ http://pogoda.yandex.php?SECTION │ 12 │ -│ http://msk/platia-nashing/vanny.diary.ru/moscow │ 12 │ -│ http://video.yandex.ru/GameMain.E6smreQhiu_hXR4&where=all&film │ 12 │ -│ http://news/6483731559676/Unlocknotebooks/m83/800_D_Black_list │ 11 │ -│ http://nizhnieiene/p17378705/currency=1&with_photo-ideapadeno │ 11 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 11 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty/photo-12/#imag... │ 11 │ -│ http://msk/platia-nashing/vanny.diary.ru/sale/liver │ 11 │ -│ http://video.yandex.ru/GameMain.aspx#location │ 11 │ -│ http://guid=6&pw=6&pv=13 │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 11 │ -│ http://wildberries.ru/rost.html?1 │ 11 │ -│ http://pogoda.yandex.ru/catalog/jokers │ 11 │ -│ http://smeshariki.ru/?win=82&stat=1&page/196264&pt │ 11 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 11 │ -│ http://en.lyrsenses/zamba_zabudtrimazok.html?page=12&prr=http://fap1.adrive_typ... │ 11 │ -│ http://bonprix.ru%26bid │ 11 │ -│ http://loveplanet.ru/GameMain │ 10 │ -│ http://bdsmpeople.ru │ 10 │ -│ http://video.yandex.ru&pvid │ 10 │ -│ http://liver.ru/cheboksicily/foto.aspx?sort=newly&trafkey │ 10 │ -│ http:%2F%2F%2Fwwww.bonprix │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://club.ru/spokoiteli/photo37775280000 │ 10 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 10 │ -│ http:%2F%2Fwwww.bonprix │ 10 │ -│ http://auto_id=240&n=13901038 │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 10 │ -│ http://smeshariki.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://slovariant_new3077940810/detail │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 10 │ -│ http://en.lyrsenses/zamba_zabor_id=1012_blank%26site │ 10 │ -│ http://sslow_13500000%26rnd%3D2788881.html?parts/passe │ 10 │ -│ http://pogoda.html%3Fhtml_params%3Drhost%3D43 │ 10 │ -│ http://irr.ru/index.php?showalbum/logout%26verstova.ru │ 10 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://pogoda.yandex.php │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film/6781203.html?id=242037047/detai... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://mysw.info/blog/sankt-peter%3D1216/00001216629 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 9 │ -│ http://e96.ru/albumfotok-15-fotki │ 9 │ -│ http://alpari.yandex.html?html_param=0&users/#page/Search/ab_dob%2Ffieiie-razvo... │ 9 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu │ 9 │ -│ http://bonprix.ru/catalog/8570/1006790 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http://b2b.testered/main/discuss/matched_country=-1&top=0&cityid=1024&wi=1366&o... │ 9 │ -│ http://svpressa.ru/topic=17082630 │ 9 │ -│ http://bonprix.ru │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 9 │ -│ http:%2F%2Fwwww.bonprix.ru/filmId=8j5j97LRs3M&where=all&sources │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 9 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/#win_13.html_p... │ 9 │ -│ http:%2F%2Fwwwwww.bonprix.ru/mymail/?folders/4744089758 │ 9 │ -│ http://nail=Yes&target=search │ 9 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_produkty%2F&sr=http://slovaria │ 9 │ -│ http://rlsnet.ru/vacancy/view_type_id=9677548268010367 │ 9 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/imagecache/wm/2013&where=all&filmId │ 8 │ -│ https://m.myloveplanet.ru/forum/abrika-kobelenie_nebestsenal │ 8 │ -│ http://zapchast.com/iframe-owa.html?1=1&cid=577&oki=1&op │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 8 │ -│ http://poisk.ru/price_ot=&price_ot=&price │ 8 │ -│ http://afisha.yandex.php?t=141880517 │ 8 │ -│ http://zarplata.ru/velika_all=\xD0\xBE\xD1\x82 │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http:%2F%2Fwwwwww.bonprix.ru/news/222974895&op │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://fore=3&marka=0&top=0 │ 8 │ -│ http://direct.yandex.ru/catalog │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96777&oki │ 8 │ -│ http://video.yandex.ru&xdm_p=1#item/search │ 8 │ -│ http://masterh4.adriver.yandex │ 8 │ -│ http://zarplata.ru/?p=12977-B26358/currency=RUR/page=1080&wi=1024&lo=http://rzh... │ 8 │ -│ http://en.lyrsenses/zamba_zabor/bedroomolsk │ 8 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ==&page_avtomodules.php?f=100&ref... │ 8 │ -│ http://mastered/main.aspx#location=1&bc=3&ct=1&pr=60322056107100919/page5/?_h=s... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://omsk.mlsn.ru │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://irr.ru/6323%26bn%3D27888895,96779/87 │ 8 │ -│ http://smeshariki.ru/GameMain │ 8 │ -│ http://che.ru&pvid=13733142835/100/topic,5240556895&ch=UTF-8&sF=11,7,7,0 │ 8 │ -│ http://afisha.yandex.php?gidcar=367108851%2Fr%2F1 │ 8 │ -│ http://love.ru/?p=17059 │ 8 │ -│ http://wildberries.xml?from]=&input │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 8 │ -│ http://irr.ru/index.php?showalbum/login-kupit-topy%2Fplatjie-gotovlexandex.html... │ 8 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 8 │ -│ http://auto.ria.ua/auto_id=24126629/0/index.ru/real-estate/out │ 8 │ -│ http://victor?page_type=city.stol-yar.ru/cars │ 8 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://video.yandex.ru%2F&sr=http://loveplants/65398f55 │ 7 │ -│ http://kinopoisk.ru/ch/feed/letniaiaprice/1609 │ 7 │ -│ http://real-estate/aparts/Aquarevski │ 7 │ -│ http://video.yandex.ru/a-album/login-vitiju/photo │ 7 │ -│ http://bonprix.ru/social/product_id │ 7 │ -│ http://moscow/detail/5552/0/2792834&m=111,7,7,5 │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 7 │ -│ http://irr.ru/Registered/main/topnewsru.com/page=6 │ 7 │ -│ http://irr.ru/index.php?showalbum/login-kapustics?sort=pogoda.yandex.ru%26bt%3D... │ 7 │ -│ http://bonprix.ru/catalog/8570/14139489 │ 7 │ -│ http://afisha.yandex.ru/\xD0\xB4\xD0\xBE\xD0\xBC\xD0\xB0/\xD0\x91\xD0\xA1\xD0\x... │ 7 │ -│ http://irr.htm?from]=&int[85][from]=&input_vsegodnyie │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://love.ru/?p=1#country=&op_seo │ 7 │ -│ http://bdsmpeople.ru/niktory/shtory/308/roomed.ru/p59473682740295 │ 7 │ -│ http:%2F%2Fwwwww.bonprix │ 7 │ -│ http://spb/event=big&marka=84&model=0&auto_id=0&s_yers=0&pv=10&can_be_check_PP │ 7 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 7 │ -│ http://myloveplantrackIt?tid │ 7 │ -│ http://pogoda.yandex.ru&pvid=1 │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 7 │ -│ http://irr.ru/index.php?showalbum/login-a-5-advert27114 │ 7 │ -│ http://bdsmpeople │ 7 │ -│ http://video=0&is_hot │ 7 │ -│ http://irr.ru/index.php?showalbum/login-zk34/pages/0001216629 │ 7 │ -│ http://svpressa.ru │ 7 │ -│ http://money.yandex │ 7 │ -│ http://gotovim-doma.ru │ 7 │ -│ http://afisha │ 7 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 7 │ -│ http://omsk/evential/house.ru/catalog/kitchedule=213-606361653965283 │ 6 │ -│ │ 6 │ -│ http://video.yandex.ru%2Fkategory_id │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://afisha.yandex.ru%2F%2Fmail/169 │ 6 │ -│ http://love.ru/?p=1#country=-1&sq_liver.ru/kyrgyzstan │ 6 │ -│ http://video.yandex.ru/ekt │ 6 │ -│ http://stars-varenok.ru/16745959680706/800_0.jpeg.html%3Fhtml5/v123593 │ 6 │ -│ http://bdsmpeople.ru/film/64544.690022.rar.html_params%3Drhost%3D_black_list=0&... │ 6 │ -│ http://afisha.yandex.ru/catalog=on │ 6 │ -│ http://bdsmpeople.ru/GameMain │ 6 │ -│ http://v102.ru/investate/apartments-sale │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://omsk/evential/housession%3D0 │ 6 │ -│ http://wildberries.ru/search │ 6 │ -│ http://video.yandex.ru/GameMain.aspx#location/page_type=category │ 6 │ -│ http://direct.yandex.ru/refererprofile%2F2.10 │ 6 │ -│ http://video.yandex.ru/a-topy │ 6 │ -│ http://afisha.yandex.ru%26bt%3D43%26anbietersburg │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://rukodel=0&sort=newly&trafkey=2750 │ 6 │ -│ http://moscow/details │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://smeshariki.ru/world/photofider_credit=0&view │ 6 │ -│ http://irr.ru/index.php?showalbum/login-12.html%26custom │ 6 │ -│ http://novosibirsk.irr.ru%26bid │ 6 │ -│ http://solutions.diary.ru/realtitroenie_v_jurman.ru/albums/frame-owa.html?stric... │ 6 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 6 │ -│ http://mr7.ru/newsru.com/iframe_right%3D43 │ 6 │ -│ http://autodoc.ru/real-estate/apart │ 6 │ -│ http://smeshariki.ru/catalog │ 6 │ -│ http://povari.yandex.ru/greecondary/Products_id=&auto_vaz_2111 │ 6 │ -│ http://edp2.adriver.ru/hocketshop.ru/moscow/detailanude │ 6 │ -│ http://video.yandex.ru/catalog │ 6 │ -│ http://ereal-estate/rent │ 6 │ -│ http://msk/platia-nashing/vantralitsa_transion │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://3dnewsru.com/iframe_right.html?1=1&cid=51538 │ 6 │ -│ http://afisha.yandex.php/board,39.04839 │ 6 │ -│ http://novo/detail.aspx?group_cod_1s │ 6 │ -│ http://auto_hyundai_sarator │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://kalininmyclonus1 │ 6 │ -│ http://bdsmpeople.ru/saledParams=rhost%3D43%26bid%3D1 │ 6 │ -│ http://forum/topnews/22294&op_category │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://love.ru/?p=17055335 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://real-estate=week/page=1&expand_search?film/298677435615.html │ 6 │ -│ http://afisha.yandex.ru/mymail.php │ 6 │ -│ http://koolinar.ru/port.ru/doc │ 6 │ -│ http://video=0&with_exchangeType │ 6 │ -│ http://afisha.yandex.ru/index.ru/recipe │ 6 │ -│ http://kinel-lab.com/rus/20130709_117485994,93304&op_seo_entry=1&gearbox=0&type... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ https://slovakia-600dd903c07022,101595,91194&op_seo_entry │ 6 │ -│ http://video.yandex.php?search?text=\xD0\x9A\xD0\xBE\xD0\xBD\xD1\x8C\xD1\x8F\xD... │ 6 │ -│ http://diary.ru/exp?sid=3205 │ 6 │ -│ http://video.yandex.php?from]=&interapy-wkti/ &cd │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 6 │ -│ http://love.ru/ru/irk/event/search/ │ 6 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D8393224 │ 6 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 6 │ -│ http://kinopoisk.ru/catalog │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://auto_volkswagen/vologdano/il_dlya-dnevka.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 5 │ -│ http://barnaul/details/?cauth │ 5 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD0\xB5\xD1\x80&where=... │ 5 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 5 │ -│ http://metal-lodku-Obzor │ 5 │ -│ http://sp-mamrostova │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 5 │ -│ http://zvukovo-gorodsk │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://tp66.ru/exp?sid=3860217/rooms=2/men.aspx#location%3D0%26rnd │ 5 │ -│ http://rmnt.ru/search/offilia_Sovetov_living_chamber/?78142 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://e96.ru/movies/614418821/artir.ua/search │ 5 │ -│ http://video.yandex.by/?state_id=&auth=1..630;IC,7711588 │ 5 │ -│ http:%2F%2Fwwww.bonprix.ru/?id=2013&where=all&filmId │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://povari.yandex │ 5 │ -│ http://slovari.yandex.ru%26orderovskij-index.ru │ 5 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_seo_entry=&op_category_... │ 5 │ -│ http://tks.ru/cat/publish-cherkalnaya-ttpodporyadushek │ 5 │ -│ http://slovarenok.com │ 5 │ -│ http://video.yandex.ru/GameMain.aspx?Link │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://auto.ria.ua/auto_id=241269.html?1=1&cid=2127970 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://auto_volkswagen-Palities/horobki │ 5 │ -│ http://slovari.yandex │ 5 │ -│ http://radio&planet.ru/work.ru/catalog │ 5 │ -│ http://afisha.yandex.php?r=23436303135353.html?1 │ 5 │ -│ http://en.lyrsenses/zamba_zaborah_chamberk │ 5 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 40007&pt │ 5 │ -│ http://rustnye-sht-riemnikoi │ 5 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 5 │ -│ http://sslow_135000008&position=search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 5 │ -│ http://pogoda.yandex.php?gidcar │ 5 │ -│ http://myloveplanet.ru/v14572&lb_id=13000001216629 │ 5 │ -│ http://topnews.ru/GameMain.aspx?group_cod_1s=1983&pt=b&pd=9&pw=0 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://bibidohertki-i-OOOO_REPORT/07_2013 │ 5 │ -│ http://real-estate=week&m=Dvigenie.html?option │ 5 │ -│ http://autodoc.ru/moscow │ 5 │ -│ http://avtomobile/motory.ru/comp.ru/view.php │ 5 │ -│ http://love.ru/product_id=0&po_yers=0&po_yers=2&refererro/model=1346488078722&c... │ 5 │ -│ http://auto.ria.ua/auto │ 5 │ -│ http://loveplanet.ru/mymail/rudi │ 5 │ -│ http://video.yandex.ru/firms.turizm │ 5 │ -│ http://video.yandex.ru%2FkategoriendflowerTo=&powerTo= │ 5 │ -│ http://auto.ria.ua │ 5 │ -│ http://msk/platia-nashing/vannyie-product_id=1841&page2 │ 5 │ -│ http://nizhnieiewva88/photo/101246465376&cmd=show-to-buchaiev-pugache=51db32a68... │ 5 │ -│ http://direct.yandex.ru/index │ 5 │ -│ http://tks.ru/cat/publish-chemec.ru/search?filmId=CktclMBmUXI │ 5 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid%3D158197%26width │ 5 │ -│ http://club.ru/cinema/movies/no-pos │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://kinopoisk.ru/spb.pulscen.ru/exp?sid=3159&op_category_id=&auth=0&checked=... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://holodilnik-rp-ploschaya-obuv/?ci=1280&with_video=0&choosOyg==&op_uid=111... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://wildberries.ru/real │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://slovariant_neu%3D1%26bid%3D1216/0001216629%26bt%3Dad │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://md.mirkovskaya-obl.irr.ru/jobinmoscow │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://wildberrior/kia/ │ 5 │ -│ http://loveplanet.ru/\xD0\xB0\xD1\x80\xD0\xBE\xD0\xBC/curre-ap-i-showalbum/loui... │ 5 │ -│ http://povari.yandex.php?showalbum/login.pl?cl=all&film/497794,90458 │ 5 │ -│ http://jcmotorom-921205&bt=7 │ 5 │ -│ http://en.lyrsense.com/obshchin-idieiala │ 5 │ -│ http://smeshariki.ru/topic │ 5 │ -│ http:%2F%2Fwww.bonprix.ru │ 5 │ -│ http://gaylyU │ 5 │ -│ http://moscow/detail/Torgovuyu-organske.ru/real-estate │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://video.yandex.ru%26bt%3Dad.adriver.ru/recipe/view/10217/?from │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&w... │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 5 │ -│ http://loveplanet.ru │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://alpari.ru/gallery/pic845274 │ 5 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 5 │ -│ http://alib.mist.html%26custom%3D%26c2%3D278888592138 │ 5 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 4 │ -│ http://loveplanet │ 4 │ -│ http://video.yandex.ua │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 4 │ -│ http://video.yandex.ru/price │ 4 │ -│ http://whoyougle.ru/images/images/00000i/specifiers.ru/image=1&furniture │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://sslovarenok.ru │ 4 │ -│ http://samarskii_krai/tuapse/detail/result.aspx │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/filmId │ 4 │ -│ http://auto.ria.ua/auto_id=0 │ 4 │ -│ http://loveche.html │ 4 │ -│ http://bdsmpeople.ru/Web/Pages=1/feedsmag.ru/~\xD0\xBA\xD0\xBD\xD0\xB8\xD0\xB3\... │ 4 │ -│ http://afisha.yandex.ru/zoom.php?f=5162613838.html_partments │ 4 │ -│ http://irr.ru/index.php?showalbum/login-10618968476372773 │ 4 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://wildberries.ru/catalog │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 4 │ -│ http://radio&planet.ru/marka=62&model=1178128455&pvno=2&evlg=VC,5 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://direct.yandex.php?formsof(INFLECTION_ID=30861/14365-4b11&state/apartment... │ 4 │ -│ http://afisha.yandex.ru%252f7769%252fe │ 4 │ -│ http://love.ru/?p=1#countpage/vacancies/events/738/0/3/women.aspx │ 4 │ -│ http://echoradar-s-Levoshcha │ 4 │ -│ http://e96.ru/news/39733/page2=&input_sponsor=&o=1015219.html_partments-sale&pa... │ 4 │ -│ http://diary.ru/catalog=on&input_city[3 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://rasp.pl?cmd │ 4 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://travel.ru/state/apartments-sale/rashinitit%2F537 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.php?view_type=2&driveresult.ru/replies │ 4 │ -│ https://smeshariki.ru/cinema/article10363136000001216629%26site_offilia_Sovets.... │ 4 │ -│ http://auto.ria.ua/auto_id=63799.html_params │ 4 │ -│ http://kinopoisk.ru/saledParams%3Drhost%3Dad.adriver.ru/GameMain.aspx#location │ 4 │ -│ http://ssl.hurranovskaya-ul-31-foto.ria │ 4 │ -│ http://afisha.yandex.php?r=3&bs=&day │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboy07/... │ 4 │ -│ http://smeshariki.ru/search/keukeru-soft │ 4 │ -│ http://vkirovoe-tourisma │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://smeshariki.ru/domchelkakh_location=search?text=\xD0\xBC\xD0\xB8vents │ 4 │ -│ http://card/windows)&bL=ru&cE │ 4 │ -│ http://kniga.ru/view=\xD0\xA1\xD1\x82\xD0\xB0\xD0\xB2\xD1\x80\xD0\xBE\xD0\xB2&w... │ 4 │ -│ http://guid=6&pw=2&pv=0&price_do=¤cy=1 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://video.yandex.ru/real │ 4 │ -│ http://afisha.yandex.ru/search │ 4 │ -│ http://v102.ru/?s=Adaments-sale │ 4 │ -│ http://video.yandex.ru/GameMain.XYyZwYXRoPWEtbG9nb24vcG90Cw │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://matched_car=373838928155755775482794,9453.116 Safari%2F537.36&he=10&s_ye... │ 4 │ -│ http://zarplata.ru/?p=12977-B26358/hasimages=1/page │ 4 │ -│ http://tks.ru/cat/publish-chernyjbelyj-9375966238&op_categoriya │ 4 │ -│ http://video.yandex.ru/GameMain.aspx#location-4.0.html │ 4 │ -│ https:%2F%2Fwwww.yandex.ru │ 4 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 4 │ -│ http://msk/platia-nashing/vanny.diary.ru/social │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://auto.ria.ua/canel_pe_mascona Hilfigeratov/153228 │ 4 │ -│ http://video.yandex.ru/realty/leaser_map=1/hasimay-2.html │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://nizhny novgorod │ 4 │ -│ http://video.yandex.ru%26target=search/ab_area=categorija80119 │ 4 │ -│ http://kubikus.ru/search.php?r=4140211,1,7,7,7,7,0 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://e-kuzbass.ru/a-shop │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://guide.travel.ru/link │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://victorhead.php?full&dom=780067167694.0; │ 4 │ -│ http://afishi,Mudanted-belyj-974299099/guest-id=34089.html │ 4 │ -│ http://fitness/building │ 4 │ -│ http://afisha.mail.aspx#locationalOffers │ 4 │ -│ http:%2F%2Fwwww.bonprix.ru/real-estate/out-of-town/house │ 4 │ -│ http:%2F%2Fbrjuki-lic-shop.ru/cart.php/cars/papago-d-plosch │ 4 │ -│ http://svpress_up.aspx#location[propfilter_pf[PODVAL]=&arrFilter][3463351841195... │ 4 │ -│ https://produkty%2Fpulove.ru/gost/?page3 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://anketka.ru/bridget │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ru/GameMain/dukhovyy │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadbor_sh... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http%3A//magnitogorod/page3/#over │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://afisha.yandex.php?action/2741920 │ 4 │ -│ http://tks.ru/cat/public/gamemain.aspx#location │ 4 │ -│ http://love.ru/image=2&marka=84&model/mihailovo │ 4 │ -│ http://nepogoda.yandex.ru/search=1&target=search=0&can_be │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://kinopoisk.ru/searchAutoSearch=0&driver.ru/catalog/1/women.aspx#locationp... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://afisha.yandex.php?show=rlv&ru=1&expand_search │ 4 │ -│ http://love.ru/?p=1705 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://ssl.hurra.com │ 4 │ -│ http://internet Explorer&aV=5.0 (Windows)&bL=en │ 4 │ -│ http://auto_volkswagen_cated_cartovskaya-obl.irr.ru/album/login │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://pogoda.yandex.ru/cooking_sm5_1148786993ab-417/photo/69363/26#formi.ru/co... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ru/If yours.avtogsm.ru/animals/calculate │ 4 │ -│ http://afisha.yandex.php?p=31&input │ 4 │ -│ http://auto_s_product_name=\xD0\x9A\xD1\x80\xD1\x83\xD0\xB3\xD0\xBB\xD0\xBE\xD0... │ 4 │ -│ http://loveche.ru/job/1162323&PAGEN_1=30&state │ 4 │ -│ http://rsdn.ru/details_103514,154;IC │ 4 │ -│ http://video.yandex.ru/topnews.ru/lanas-advert2713][to]=&int │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://video.yandex.ru/filmId=Xtvman98/num-1/refresh/russia/chapter/broadboyzon... │ 4 │ -│ http://auto_volkswagen_pass_1161967 │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http%3A//edp1.adriverys/forum/view_type=city&custom=0&damages/0001216629%26bid%... │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://inspelishchin-platjie-doma.ru/irkutsk.irr.ru │ 4 │ -│ http://video.yandex.ru/index.ru/\xD0\x9F\xD0\xBE\xD0\xB2\xD1\x82\xD0\xBE\xD1\x8... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://smeshariki.ru/saint-petersburg-gorod/transfer/?id=7576149959760994861&op... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 4 │ -│ http://en.lyrsenses/zamba_zabudka/photo-1/#page=0&sale/search?text=\xD0\x9C\xD0... │ 4 │ -│ http://afisha.yandex.ru/content2.adriver │ 4 │ -│ http://arma/frl-4/transportnoy-kv-m-malchik.ru/show │ 4 │ -│ http://b.kavanga.ru/?a=inneVolumeFrom │ 4 │ -│ http://auto_id=0&with_photo │ 4 │ -│ http://tp66.ru/money.yandex.ru/albums_screenterval │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 4 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&w... │ 4 │ -│ http://irr.htm?from]=&int[1151;IC,112 │ 4 │ -│ http://yoshka.diary.ru/exp?sid=3149&op_category_id=592b9e01c48ce9403%26bn%3D0%2... │ 4 │ -│ http://bdsmpeople.ru/film/64544.690078 │ 4 │ -│ http://afisha.yandex.ru&pvid=13733424 │ 4 │ -│ http://video.yandex.ru/GameMain │ 4 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 4 │ -│ http://kinopoisk.ru/service.ru/iframe │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ https://orenburg/?arrFiltersburg │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://radiorecord.ru/login-m3w.html?1=1&cid │ 3 │ -│ http://video.yandex.ru%2Fplata.ru/ch │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://banantikov-nadushenie_orleona_server=sc.cheloveplant_11612/page │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://romar/events/audio.ru/widget[]=vacancies/99.php?gidcar │ 3 │ -│ http://afisha.yandex.php/tova.ru/uliya2076789599305953 │ 3 │ -│ http://afisha.yandex.ru/shop.ru/malta │ 3 │ -│ http://afisha.yandex.ru/kategoriya%2F5.0 (company │ 3 │ -│ http://afisha.yandex.php/topic104780204&op_uid=1954 │ 3 │ -│ http://afisha.yandex.ua/donetsk/urals │ 3 │ -│ http://afisha.yandex.ru/a-folders/misc │ 3 │ -│ http://afisha.yandex.ru/project_price=&maxprice │ 3 │ -│ http://afisha.yandex.ru/linkvac.php/board.php?topicseeng │ 3 │ -│ http://radioscannerica/filmId=Ba_id=13733568414&city=\xD0\x9C\xD0\xBE\xD1\x81\x... │ 3 │ -│ http://irr.kz/realty/lease/3516093&pvno=2&evlg │ 3 │ -│ https://produkty%2Fplatjie-kuzbass.ru/newsru.com/iframe_right=0&auto_ria=0&meta... │ 3 │ -│ http://fuckfind=rent/view/2021/3 │ 3 │ -│ http://samara.irr.ru%2Fproduct │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://auto_kia_30 │ 3 │ -│ http://sp-mamrostokonkursovet │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://astrobank.ru/image │ 3 │ -│ http://love.qip.ru │ 3 │ -│ http://direct&sortdirect.yandex.ru/imagesize%3D0%26ar │ 3 │ -│ http://kaluga/?ext=\xD0\xB3\xD0\xB5\xD1\x80\xD0\xBE\xD1\x8F\xD1\x82\xD0\xBD\xD1... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ https://slovakia-600dd903c06c999c226647639.html%3Fhtml │ 3 │ -│ https://slovakia-600dd903c07022,101595,9143531427800648_elit │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category_id=0&wi=16000&... │ 3 │ -│ http://love.ru/forum.cofe.ru/forum/view_type=city=790&Selectronics-technik │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://sp-money.yandex.ru │ 3 │ -│ http://sp-money.yandex.ru/work rushki-sien-natalog/8570/page=0&expand │ 3 │ -│ http://video.yandex.ru&pvid=13735/?_h │ 3 │ -│ http://forum/topnews/2229605699574.html?1=1 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberrior/bedroom]=&int[17][to]=&int[858 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://afisha.yandex.ru/forum.materinburg │ 3 │ -│ http://afisha.yandex.php?addriver.ru │ 3 │ -│ http://video.yandex.by/search/?target%3D43%26bid%3D2 │ 3 │ -│ http://ssl.hurral=messages │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://bdsmpeople.ru/search │ 3 │ -│ http://video.yandex.ua/auto_id │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://rmnt.ru/stars │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://rmnt.ru/film/88677/russia/rio.ru/search?filmId=NNr6aJrm4s3M │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://video.yandex.ru/circle&state/out-of-town/houses │ 3 │ -│ http://irr.ru/imagecache/wm/2013&where=all&film.ru │ 3 │ -│ http://b.kavanga.ru │ 3 │ -│ http:%2F%2Fwww.bonprix_ru}%2Fnizhniynovgorod/request-id │ 3 │ -│ http://edp2.adriver.ru/catalog/181 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://pogoda │ 3 │ -│ http://pogoda.yandex.kz/family │ 3 │ -│ http://svpress_w1t1042796786/6/?category │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://edp2.adriver.ru/jobinmoscow/detail │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://radiorecord.ru/catalog/idShare │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com/iframe-owa.html?1=1&cid=577&o... │ 3 │ -│ http://msk/planet.ru/mymail.aspx#comme_me_saydinne │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://card/windows NT 6.1) AppleWebKit%2F5 │ 3 │ -│ http://afisha.yandex.ru/forum.donfiscategory │ 3 │ -│ http://tks.ru/cat/publish-chin-play.php?categoriya%2Fzhiensmed │ 3 │ -│ http://video.yandex.php?topbloveche │ 3 │ -│ http://kazan.irr.ru/location │ 3 │ -│ https://produkty%2Fpulove.ru/voronezh-sien-zhienskaia-moda-zhienskaia-moda-zhie... │ 3 │ -│ http://nigma.ru/product&op_category_name=\xD0\x91\xD0\xB8\xD0\xBA\xD0\xB8\xD0\x... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26url%3D//ad.adriver.ru/link/justic/h2.php/... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://loveche.ru/volzhskiy │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&s... │ 3 │ -│ http://smeshariki.ru/a-phony │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://magnitka_1_series.ru/?favorite_id=636233644&op_category_id=937514 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://ussuriysk.irr.ru/catalog/premiere/628962851d7fd0b6eb17b321d336f5bc7de189... │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountpage │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_produkty%2Ftanki │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/92054446660.ht... │ 3 │ -│ http://ekategoriya%2F9B206 Safari │ 3 │ -│ http://afisha.yandex.ru/tatatit_chto.php?industry │ 3 │ -│ http://smeshariki.ru/catalog/286/women.aspx │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://svpress/showbiz/photo.htm │ 3 │ -│ http://svpressa.ru/content/search │ 3 │ -│ http://video_dvd/game/iframe-owa.html │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://tp66.ru/search/?page=1&fuelRateTo │ 3 │ -│ http://e96.ru/real-estate │ 3 │ -│ http://lk.wildberries │ 3 │ -│ http://my.kp.ru/albumfoto-1/pol-2 │ 3 │ -│ http://holodilnik.ru/catalog │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://msk/platia%2Fzhienskaia │ 3 │ -│ http://personal/atlants/7292&xdm_c │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://povarenok.ru/files/eliteh.ru/perm.irr.ru/board,75.2013-07-09 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://brand=498&pvno │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://sp-mamrostovestory │ 3 │ -│ http://love.ru/?p=1#country=&op_seo_entry=-1&target │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://smeshariki.ru/?win=82&stat=141882,373;IC,2552f48 │ 3 │ -│ http://amobil-nye-pliazhnaia │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://irr.ru/washek-s-printom │ 3 │ -│ http://msuzie │ 3 │ -│ http://kinopoisk.ru/search │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://irr.ru/index.php?showalbum/login-kupaljinik-chere │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://smeshariki.ru/real │ 3 │ -│ http://wildberries.ru/item_no=2&evlg=VC,0;VL,205;IC,14;VL,757138/currency=RUR/h... │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostavia.travel.ru/s... │ 3 │ -│ http://3dnews.ru/?p=12636464/5#f │ 3 │ -│ http://smeshariki.ru/goodavec/photo/6936325.html?id=223978/page=102 │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic=79799398/?_h=search.htm... │ 3 │ -│ http://product_brand=RAINBOW&op_cated_content/search/keup/en-ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://love.ru/recipes/indows │ 3 │ -│ http://kaluzha-na-NovletedAutoSearch=0 │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory_id=577&search/ab_district/date_id=2271][from... │ 3 │ -│ http://afisha.yandex.php?app=membered │ 3 │ -│ http://afisha.yandex.php?ELEMENT_ID │ 3 │ -│ http://afisha.yandex.ru/lesyach-hotels │ 3 │ -│ http://afisha.yandex.ru%26bt%3D90%26nid%3D1216629 │ 3 │ -│ http://afisha.yandex.php?id=727285 │ 3 │ -│ http://love.ru/ru/irk/event=little&cated_country=-192.html?1=1&cid │ 3 │ -│ http://love.ru/?p=17057 │ 3 │ -│ http://str_ob.html?1=1&choosO8gPJSs3M&where=all&filmId=mAyiC7y6M2mGV2GoA9hFoN3q... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D1216629/0/&&puid1=m&puid2=23&pvno=2... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://you_hashkaf.ua/search │ 3 │ -│ http://auto_repairs=0&confiscategoriya │ 3 │ -│ http://wildberries.ru/GameMain │ 3 │ -│ http://povaria/chak_naytimes.ru │ 3 │ -│ http://pogoda.yandex.ru/real-estate │ 3 │ -│ http://afisha.yandex.ru/comment/search?text=\xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://kinopoisk.ru/sessulyanovka.ru/photosessid=3205&bt │ 3 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD0\xB2\... │ 3 │ -│ http://li.ru/filmId=XpzlPj8P8gE&where=all&text=\xD1\x81\xD0\xBA\xD0\xB0\xD1\x87... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://wildberries.ru/basket&ch │ 3 │ -│ http://soft.oszone.ru │ 3 │ -│ http://afisha.yandex.ru%2Fobuv-sapozhkivka=23&price │ 3 │ -│ http://afisha.yandex.ru/hotel-agen-Goluboj-9730 │ 3 │ -│ http://notebooking pressa │ 3 │ -│ http://auto_id=0&engineVolumeFrom │ 3 │ -│ http://smeshariki.ru/GameMain.aspx#location │ 3 │ -│ http://state/room=94720-recept-Salat-iz-glasya1lesyat │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://auto_repairs=0&po_yers=0&price.ru/\xD0\xB6\xD0\xB5\xD0\xBB\xD0\xB5\xD0\x... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://video_dvd/ratesTypeSearch?text=\xD1\x87\xD0\xB5\xD0\xBB\xD0\xBE\xD0\xB2\... │ 3 │ -│ http://omsk/evential/housession%3D0%26rnd%3D2%26bt%3D2%26nid%3D158197%26ad%3D21... │ 3 │ -│ http://slovari.yandex.ru │ 3 │ -│ http://kommersantamina │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://audio_video.yandex.ru/mosday.html?item=4#photo446962 │ 3 │ -│ http://afishers/story │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://video.yandex.ru/personal/offeebe34c7e12944&op_product │ 3 │ -│ http://v102.ru/investate/apartment/?id=137336IseNhcbx3J85GkHSnzgnsPdZUU&where=a... │ 3 │ -│ http://alpari.yandex.ru/saint-petersburg.irr.ru/cars/page3 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ https://slovarenok │ 3 │ -│ http://afisha.yandex.ru/real-esta.info/newsru.com.ua/kiev/detail.ru/auth=1..640... │ 3 │ -│ http://trashbox.ru/book │ 3 │ -│ http://video.yandex.ru/extra │ 3 │ -│ http://dom.net/provoe-pervouralnaya/ChildGluZ19oZXJlci1kYXRpb25zPU4mbj0zJmlkPTM... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/photo/narod.irr.ru/katering=1&pr=569&s_yers │ 3 │ -│ http://guid=6&pw=2&pv=0&with_video.yandex.ru │ 3 │ -│ http://love.ru/ru/irk/event=little&category_id=731-643736&mode=1 │ 3 │ -│ http://pogoda.yandex.ru/vlas-moskovskaya │ 3 │ -│ http://auto_ford Mix).mp3.ucoz.ru/v1430497.html%3Fhtml │ 3 │ -│ http://omsk/evential/housession%3D240%26rleurl%3D//ad.adriver.ru/marshavskaya-r... │ 3 │ -│ http://video │ 3 │ -│ http://radiorecord │ 3 │ -│ http://wildberring │ 3 │ -│ http://video.yandex.ru%2Fkategory_id=9759527418 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://smeshariki.ru/cgi-bin/click.cgi%3Fsid%3D0%26pz │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://bdsmpeople.ru/show/39932/Itemid,40.0.html_params%3DfsSaHR0cDovL2pzLnNtaT... │ 3 │ -│ http://state_shariki │ 3 │ -│ http://wildberries.ru/cgi-bin/click.cgi%3Fsize │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://balcon_caddy Club relove │ 3 │ -│ http://loveplanet.ru/Bezli-all │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://afisha.yandex.php?partments │ 3 │ -│ http://en.lyrsenses/zamba_zabor_polnitsa-s.narod.irr.ru/bank/otzyvy/12031%2F%23... │ 3 │ -│ http://video.yandex.ru/real-estate/out-of-town/house.ru&pvid=1&distreet_legkovo... │ 3 │ -│ http://auto_id=0&color=0&confiscategory_id=3205&bt=7&bn=1&bc=3&ct=1&prr=http:%2... │ 3 │ -│ http://kinopoisk.ru/registernet Explorer&aV=5.0 (Windows NT 5.1; ru-ru&cE=true&... │ 3 │ -│ http://kinopoisk.ru/spb.pulscen.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://saint-peter │ 3 │ -│ http://lazarevskoe │ 3 │ -│ http://whoyougle.com/iframe/iframe_right.ru/spb │ 3 │ -│ http:%2F%2Fwww.bonprix.ru/imagesize │ 3 │ -│ http://afisha.yandex.ru/manga.ru/?rtext=\xD0\xBF\xD1\x80\xD0\xB8\xD0\xB1\xD0\xB... │ 3 │ -│ http://smeshariki.ru/furniture.html5 │ 3 │ -│ http://cxem.net/324487194836848 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,947... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://video.yandex.ru/realty/search/main.aspx?sort=popular │ 3 │ -│ http://myloveplanet.ru/passenger/kitched_country_id=4312&input │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_product_brand=4200&lo=h... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://sunmar.ru/cart&ch=utf-8&sF=11,7,700&aN=Opera&aV=9.80 (Windows │ 3 │ -│ http://ssl.hurra.com/iframe-owa │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://saint-petersburg-gorod/goodal │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://un1.adriver.ru/page=30138117749516%252f110916%252fmedicinema/movie_ross ... │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&film/67... │ 3 │ -│ http://klubnich/zrh/ │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://wildberries.ru/comment/search │ 3 │ -│ http://wildberries.ru/comme%2F2.12.388 Version/1552/page │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://krasnodar.irr.ru/yaransferapid │ 3 │ -│ http://jobs-education │ 3 │ -│ http://gotovim-doma.ru/personal/commersant.ru/image=19&pvno=2&engineVolum │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 3 │ -│ http://irr.ru/index.php?showalbum/logizer8/num-1/refremost │ 3 │ -│ http://bdsmpeople.ru/index.by/ru/page=0&confiscategory_id │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://pogoda.yandex.ru/real-estate/apartments/73151 │ 3 │ -│ http://pogoda.yandex.ua/telefon_shtukaturkey │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://video=0&input_with_video.yandex.ru/page/10/women.aspx │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://afisha.yandex.ru/sell/resident │ 3 │ -│ http://afisha.yandex.php?p=176d43f96ef32d5bc1272 │ 3 │ -│ http://radioscannerica/film/47018.html?1=1&cid=691390&pvno │ 3 │ -│ http://auto_id=0&color=0&confiscategoriya%2Fzhienskaya-advert25593 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://forum/topics/ingradskazka-lookoformalities/poetry/events/?date&csrf-8200... │ 3 │ -│ http://video_dvd/suppoll/dleead6718.php?SECTION │ 3 │ -│ http://kinopoisk.ru/cgi-bin/click.cgi%3Fsid%3D1216 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=&is... │ 3 │ -│ http://rukodel=0&sort=newly&trafkey=27065/2/child.aspx#location │ 3 │ -│ http://zapchastny_fashing_mashes/index.ru │ 3 │ -│ http://msk/platia-nashing/vanny.diary.ru/otdam_daily │ 3 │ -│ http://smeshariki.ru/news/2013/peshnye-udivlekanka.ru/l_03_00/bodreamfood.ua │ 3 │ -│ http://myloveplanet.ru/bad_by_sidential/nizhnieiewva88 │ 3 │ -│ http://kinopoisk.ru/real-estate=2013-07-2089241607/photo=0&with_exchangeType │ 3 │ -│ http://video.yandex.ru/page=0&category&op_seo_entry=&op_category/used/KIA-Cee-d... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://direct.yandex.ru%2F&sr │ 3 │ -│ http://tyva-5/country=-1&washestvo/den_sidentialAmount │ 3 │ -│ http://mylove.ru/zoom.php?GID=2&IsOrder │ 3 │ -│ http://ssl.hurra.com/iframe/iframe-owa.html%26custom%3D%26custom │ 3 │ -│ http://en.lyrsenses/zamba_zabudka/procoolonelopitered/ministrict/3d-probeg-340-... │ 3 │ -│ http://arma/frl-4/travel.ru/moscow/details │ 3 │ -│ http://maps#ru_5_ru_1_ru_ru_ru_202_ru_1_ru_ru_ru_ru_2_ru_1743.html?oscsid=36303... │ 3 │ -│ http://rsdn.ru/info_all=yes&razdumy-i-trikshop/search&_h_page/1719920 │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://irr.ru/index.php?showalbum/login-do-500-kv-m-Maya │ 3 │ -│ http://chehod/zvenia8312&input_who2=1&input_age1=35&aN=Netscape │ 3 │ -│ http://pogoda.yandex.ru%2Fkategory │ 3 │ -│ http://kuharka=48&modeloveplanet │ 3 │ -│ http://sendflower │ 3 │ -│ http://avtoto.ashx/1001087496197797217530729; Media Centernet_mastersburg │ 3 │ -│ http://kaluga/?ext=\xD0\xB1\xD0\xB0\xD0\xB4\xD0\xBC\xD0\xB8\xD0\xBD\xD0\xBA\xD0... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://smeshariki.ru/index.ru/main.pl?cmd=show/47555 │ 3 │ -│ http://zagranimals-planet.ru/user/31059&Module │ 3 │ -│ http://afisha.mail.ru/stars/page │ 3 │ -│ http://myloveplants_list-obl.irr.ru%2Fobuv-zhienskaia-modiezhda │ 3 │ -│ http://smeshariki.ru/chipinfo │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://forum/topnews/222968695,910112_1164074834-908745 │ 3 │ -│ http://myfashihtzu.html?1=1&cid=65625f313230303&po_yers=2013/07 │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://bdsmpeople.ru/Web/price │ 3 │ -│ http://votpusk.ru/ │ 3 │ -│ http://afisha.yandex.ua/index.ru/recipe │ 3 │ -│ http://whoyougle.ru/basket&ch=utf-8&sF=11,7,7,7,700 │ 3 │ -│ http://video.yandex.ru%2F%2Fwww.bonprix │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://auto_operey-v-v-meha.ru/catalog/public │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://irr.ru/6323%26bn%3D27888895,96772&op_page47 │ 3 │ -│ http://video=0&is_hot=0&che_simeis │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D0%26ad%3D1216629/0/index.ru%26bn%3D0%26nid%3D... │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://wildberries.ru/page=0&vip │ 3 │ -│ http://kurort/SP1399&op │ 3 │ -│ http://irr.htm?from]=&int[852][to]=10&lastdiscussins/?keyworld │ 3 │ -│ http://wildberries.ru/filmId=4920/roomamountry │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 3 │ -│ http://nizhnieie-bielie-bieriends&fb_source-temno │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://forum/topnews/2229362067528195&op_categoriya │ 3 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 3 │ -│ http://afisha.yandex.php?w=3160/transports │ 3 │ -│ http://afisha.yandex.php?link=114735200&brand=23368 │ 3 │ -│ http://stories.ru/art/MACKLEMORE │ 3 │ -│ http://irr.ru/bank/otkrovnja-instvo.ru/search?text=\xD0\xBF\xD0\xB8\xD0\xBA\xD1... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 3 │ -│ http://pogoda.turizm.ru/communit=0&vip=0&order_by=2 │ 3 │ -│ http://maps#ru_5_ru_227_ru_3630&state/apartments-sale/secondary/pic/89395&op_pr... │ 3 │ -│ http://smeshariki.ru/Web/price │ 3 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 3 │ -│ http://radiorecord.ru │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 3 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 3 │ -│ http://ej.ru/muss/roll_to_audi/mode=replies │ 3 │ -│ http://zarplata.ru/?p=1290&op_product_price=990348531&schoosOSRquM8gE&where=all... │ 3 │ -│ http:%2F%2Fmuzhchine/ru-g-Chelya_v_tsentyabrskii │ 3 │ -│ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&top │ 3 │ -│ http://ur.hh.ru/file/news/2013 \xD0\xB3\xD0\xBE\xD0\xB4\xD0\xB0 │ 3 │ -│ http://my.alpari.ru/filmId=yJg89hqV8gE&where=all&film/530/?fromCityCodeForcentr... │ 3 │ -│ http://auto.ria.ua/auto_id=1&bc=3&ct=1&pr=9476648245557.html%26custom=1&damage=... │ 3 │ -│ http://bdsmpeople.ru/cgi-bin/click.cgi%3Fsid │ 3 │ -│ http://love.ru/?p=1#country=-1&sq_total=\xD0\xBE\xD1\x82 │ 3 │ -│ http://guid=6&pw=2&pv=0&po_yers=0&with_video │ 3 │ -│ http://tks.ru/filmId=rQRZO_mhUXI&where=all&filmId=z7pOMYOJ8gE&where=all&text=\x... │ 3 │ -│ http://gorbus.aspx#localiformalitic │ 3 │ -│ http://msk/events/7401438966/page_type=0&m_city.info/forum.rostov.irr.ru/msk/ev... │ 3 │ -│ http://omsk/evential/housession%3D90%26rnd%3D839322%26ntype=0&expand_search/obm... │ 2 │ -│ http://omsk/evential/housession%3D%26custom=0&damages/0000&with_photo/photo/708... │ 2 │ -│ http://kinopoisk │ 2 │ -│ http://video=0&input_state │ 2 │ -│ http://poisk.ru/news/articles │ 2 │ -│ http://forum.php?t=420 │ 2 │ -│ http://mysw.info/node/21544 │ 2 │ -│ http://smeshariki.ru/tashkinsk │ 2 │ -│ http://smeshariki.ru/product&op │ 2 │ -│ http://yaroslavl.irr │ 2 │ -│ http://board=11.ua.150.html%3Fhtml │ 2 │ -│ http://pogoda.yandex.ru/jobinmoscow │ 2 │ -│ http://afisha.mail.ru/cheva.ru/reportby │ 2 │ -│ http://3dnews.ru/msk/events │ 2 │ -│ http://slovarenok.ru/chapochki │ 2 │ -│ http://pogoda.yandex.ru/real │ 2 │ -│ https://diary/2013-07-05/101090/currency │ 2 │ -│ http://krasnyj-chastory │ 2 │ -│ http://kinopoisk.ru/saint │ 2 │ -│ http://pogoda.yandex.php?showalbum │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://rlsnet.ru/nogin.html5/v12 │ 2 │ -│ http://spb/event=big&marka=84&model=0&auto_id=0&s_yers=0&pv=10&category_name=\x... │ 2 │ -│ http://moscow/detail/Torgovljatory/storii_efferanslyatting │ 2 │ -│ http://sslow_13500000%26rnd%3D278888 │ 2 │ -│ http://kaluga/?ext=\xD1\x80\xD0\xB5\xD0\xB9 \xD0\xBD\xD0\xB0 \xD0\xB1\xD1\x80\x... │ 2 │ -│ http://auto.ria.ua/auto_auto.ria │ 2 │ -│ http://mysw.inform%26q%3Dversion.cheltyj │ 2 │ -│ http://diary.ru/search?familliklink │ 2 │ -│ http://ftp.auto.ria.ua/search?text=\xD0\xB8\xD0\xB3\xD1\x80\xD0\xB0 5 \xD1\x81\... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,940... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://ssl.hurra.com.ua/auto_repairs=0&page=10&category_id=detail │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://pogoda.yandex.ru/chat/ivan │ 2 │ -│ http://svpressages/00012166260001216629%26sliceid%3D0%26ad │ 2 │ -│ http://video.yandex.ru/rent/info/messa.ru │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?so... │ 2 │ -│ http://yartb.html?city=55&TopicID=2&IsOrderedProduct │ 2 │ -│ http://wildberries.ru/editem_no=100¤cy=1#country=&op_proizvodskaya-obuv-z... │ 2 │ -│ http://wildberries.ru/filmId=4920/room=1&lang=all&filmId=DnGbyVQVUXI&wheretomug... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//a... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26... │ 2 │ -│ http://news/398261_enl.jpg-1 │ 2 │ -│ http://afisha.yandex.ru/?trafkey=54073799 │ 2 │ -│ http://afisha.yandex.php?id=1620_4_licanel │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://ur.hh.ru/page=10&can_be_checked_auto_region=1&rm=1&lang=all&film/18212.1... │ 2 │ -│ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 2 │ -│ http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&i... │ 2 │ -│ http://wildberries.ru/index.ua │ 2 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.045 user 0.440000 sys 0.004000 -D 0-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -┌────────────────┬────────────────┬─────────────┬────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────────┐ -│ TraficSourceID │ SearchEngineID │ AdvEngineID │ src │ dst │ pageviews │ -├────────────────┼────────────────┼─────────────┼────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────────┤ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33069 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 24703 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 15817 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 14233 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 │ 6549 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 │ 5257 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 5257 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 3547 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login │ 3538 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik │ 3371 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php │ 3333 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 3309 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 2923 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 2616 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 2441 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php │ 2418 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 2390 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari │ 2367 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 2349 │ -│ 1 │ 0 │ 0 │ https://google.com.ua/url?sa=t&rct │ http://komme%2F27.0.1453.116 │ 2228 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 1920 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://komme%2F27.0.1453.116 │ 1679 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ekburg.irr.ru%2Fpuloveplanet │ 1340 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://aliningrad │ 1270 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1254 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1213 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1193 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1186 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 1142 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F27.0.1453.116 │ 1007 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 954 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://aliningrad │ 859 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login │ 821 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 791 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555419/page=show_photo/70946/detail/55212.15&he │ 777 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 757 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 722 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://video.yandex.php │ 702 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 691 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/obucheyelants │ 684 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 632 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 593 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 577 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://smeshariki.ru/obucheyelants │ 566 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.php │ 452 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 445 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBA\xD0\xBE\xD0\xBD\xD1\x82\xD1\x80\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 422 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 421 │ -│ 0 │ 0 │ 0 │ │ http://obninsk/detail │ 407 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 386 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug.ru │ http://irr.ru/index.php │ 374 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru/index │ 360 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 348 │ -│ 2 │ 0 │ 13 │ │ http://komme%2F27.0.1453.116 │ 347 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-2011/43597 │ 293 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 293 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6HS │ 282 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 268 │ -│ 3 │ 72 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 267 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 259 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 257 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari │ 256 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 │ 241 │ -│ 1 │ 0 │ 0 │ http://google.ru/realty │ http://irr.ru/index.php?showalbum/login │ 237 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 │ 236 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/28435&lr=157 │ http://komme%2F27.0.1453.116 │ 233 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/ru/photo/6936313555&text=\xD1\x85\xD0\xBA \xD0\xBB\xD0\xBE\xD... │ http://komme%2F27.0.1453.116 │ 224 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php │ 223 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cat/dushkirillovyj │ http://komme%2F27.0.1453.116 │ 222 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=359&op_page2/... │ 218 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kriminally-bezhevsk │ 217 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0 │ 212 │ -│ 3 │ 1 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 207 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 202 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 199 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://ekburg.irr.ru%2Fpuloveplanet │ 199 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 198 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 197 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 195 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/414526863.xlsx │ 191 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CDMQFjAJ │ http://irr.ru/index.php?showalbum/login-kiriskaya-obl.irr.ru/index.ru/GameMain.... │ 190 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=0&with_photo.ashx/101/4/?cat=6257271 │ 188 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=partments-sale/search?text=\xD1\x81\xD0... │ 187 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://afisha.yandex.ru/index │ 183 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://ekburg.irr.ru%2Fpuloveplanet │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 178 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://ekburg.irr.ru%2Fpuloveplanet │ 171 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 168 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 164 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 163 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://ekburg.irr.ru%2Fpuloveplanet │ 160 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 160 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/life.ru/cars/misc/travel.ru/?trafkey=058143&p... │ 155 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 │ 154 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=577&oki=1&oby=&op_s... │ 152 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://wildberrior/uphold │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6HS │ 150 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 149 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login │ 146 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustic/meterburg │ 144 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 144 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 144 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php │ 143 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E │ 141 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 140 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://kinopoisk.ru/news/2146555f3530316995264from]=&int[27][]=&selection/01a54... │ 136 │ -│ 1 │ 0 │ 0 │ http://kombardighantnie │ http://komme%2F27.0.1453.116 │ 136 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login │ 135 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kysjacevtika │ 132 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://komme%2F27.0.1453.116 Safari │ 124 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 121 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category/stroy/dachines... │ 114 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/?state │ http://komme%2F27.0.1453.116 │ 113 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/GameMain │ http://komme%2F27.0.1453.116 │ 113 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 111 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login │ 110 │ -│ 3 │ 85 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 110 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kardigan │ 109 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 107 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosoftwarenok.ru/projects/zhbi.po... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 105 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268143.html?1=1&cid=577&o... │ 104 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 104 │ -│ 0 │ 0 │ 0 │ │ http://tvidi.ru/photo=0&confiscategory_id=0&engineVolumeFrom=&fuelRateFrom=type... │ 103 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 102 │ -│ 3 │ 14 │ 0 │ │ http://komme%2F27.0.1453.116 │ 102 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 100 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 98 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://video.yandex.php │ 97 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId=GVlrcUaGUXI&wher... │ 96 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.21150895 │ 96 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?sort=price │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 95 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login │ 95 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.12.388 │ 93 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 93 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 92 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberrior/uphold │ 92 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 91 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-tanks/search=1&ady=62&modeloveplanet.ru │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 90 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.145332.15&he=10&category_id=2740387993 │ 89 │ -│ 1 │ 0 │ 0 │ http://in-the-weightEnd=2351&numphoto=&isExclusiver.ru/alertljus │ http://komme%2F27.0.1453.116 │ 88 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fprodazha_Italja_unit=1&av=1&nm=1&lang=ru │ http://irr.ru/index.ru/show/414526863.xlsx │ 87 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 86 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb1.html?item_no=386703/?bundle=7172&msid=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 86 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 │ 85 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 84 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733582852/ │ 84 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupit/action │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 83 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 82 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 82 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?bodystyle │ http://komme%2F27.0.1453.116 │ 81 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F22.14&he=768486 │ 81 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusk.ru/ru/lookaginitial/Prodayu-Dach... │ 80 │ -│ 3 │ 4 │ 0 │ │ http://komme%2F27.0.1453.116 │ 80 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 79 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://aliningrad │ 78 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 78 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login │ 76 │ -│ 1 │ 0 │ 0 │ https://go.1ps.ru/show&showforum │ http://komme%2F27.0.1453.116 │ 76 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandex.ru │ http://komme%2F27.0.1453.116 │ 76 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26221/detail.ru/v1496366&... │ 75 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php │ 75 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 74 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%2F&sr=http://bonprix.ru... │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len80/page/product │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filtr/all/perm.pulscen... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 74 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://irr.ru/introlux_page5/2/pageType=product_name=1&menu_7 │ 73 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 73 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F1.7.1364.172 │ 72 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://diary.ru/forum/intries │ 72 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/show/414526863_112 │ 72 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2618561&pp=1059&op_produc... │ 72 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://video.yandex.php │ 72 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 71 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 71 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari │ 71 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://aliningrad │ 71 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=product_id=42&Selection.chelov.ru/searc... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/yandsearch?te... │ http://irr.ru/index.php │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/server=sc.chel.ru/main... │ http://irr.ru/index.php │ 70 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification/?year=\xD0\xB1\... │ 70 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2791954~43.87725656132&op... │ 69 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://komme%2F27.0.1453.116 │ 69 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/produkty/bleacs/udilis... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 69 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&wi=1366&br... │ 68 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 67 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731&CgID=124jc&where=all... │ 66 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/Yozh/Goodda │ http://komme%2F27.0.1453.116 │ 66 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2725215195&ti=\xD0\x9F\xD... │ 66 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://ekburg.irr.ru%2Fpuloveplanet │ 65 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru/index │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 65 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 64 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://afisha.yandex.ru/index │ 64 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 63 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nmg.com%2F4.0 Safari%26clients-sale/search&e... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 63 │ -│ 2 │ 13 │ 13 │ │ http://komme%2F27.0.1453.116 │ 62 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 62 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://irr.ru/index.php?showalbum/login │ 62 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://ekburg.irr.ru%2Fpuloveplanet │ 61 │ -│ 1 │ 0 │ 0 │ https://gotovka/hotels.turizm │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 61 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia │ 61 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 61 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26092.html?s_text=\x5C\x5... │ 59 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/thenon-houses/public/g... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27755f32316.30; .NET CLR ... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742/details/?cauth=0&dam... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fautoad/kniga.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26004/?_h=galle/\xD0\xBF\... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert27930555&sob=1&p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2692.html%3Fhtml?period=3... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/world/photo31469:Album... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=leting "HalUXI&where=\xD0\x9F\xD0\xB5\xD1\x8... │ http://irr.ru/index.php?showalbum/lofiver.ru/articles/86121%26uid%3D139750%26ad... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27000,224648804-recept-so... │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/koshka.com/ig/iframe-o... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 58 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory=cinema.perm.p... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/realty/suntime-5/extre... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742357/detskii_gosts.xml... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2742304][from]=&int[14670... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694336/photo/suzannason/... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Forum25/top... │ 57 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268320995,968650f45491882... │ 57 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupit/action │ 57 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1375605&ga... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 57 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://video.yandex.php │ 56 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga/choice/... │ http://nizhnieie/novo/a78920&lo=http://sravni.ru/reposition/vacancies/eduard_32... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 56 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_product_... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?showtopic,5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26017/quarius_Moscow/cavi... │ 55 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2726125413975d77cf&search... │ 55 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 54 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266848223/review_type=pro... │ 53 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://obninsk/detail │ 53 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26989%26bt%3Dad.adriver.r... │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/metro=144&ved=0CEUQFjAB&url=http://bonp... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 52 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/album/login-1800002&pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 52 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0 │ 51 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2698172,93932353064614618... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605085268a9c4d61-9862.49... │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19&numphoto/login=A-CL-MS-36575c72937][to]=&int[12822304 │ http://irr.ru/index.ru/widgetchrome%2F&ti=no&dom_v_bordovye-printime.ru │ 51 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/investate/comple/make/?page5/&docid=jlMNIrXw... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 50 │ -│ 0 │ 0 │ 0 │ │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 50 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F11.7.1364 │ 50 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http:%2F%2Fwwwwww.bonprix.ru/GameMain.aspx │ 50 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://kurort/SINA, ADRIAN - Foreversant.ru/busineshevsk │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26051.htBeg=6&NightRegist... │ 50 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD0\xB8\xD0\xB1... │ 49 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 49 │ -│ 5 │ 0 │ 0 │ http://state=19&text=\xD0\xB4\xD0\xB0\xD1\x91\xD1\x88\xD1\x8C │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 49 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?group=days=3&text=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27410/photo-2.xhtml&serve... │ 48 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect.yandsearch │ http://komme%2F27.0.1453.116 │ 48 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http:%2F%2Fwwwwww.bonprix.ru/voskres.php?gr=1665773aad1900%26ntype │ 48 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusty-i-vkont.at.ua/search=0&userId=0... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266128182&op_seo_entry/de... │ 47 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?sort=&br... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/intrumen │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://afisha.yandex.ru/index │ 46 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupalnik │ 46 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumanegenre=33155?analog/kitchen_mini... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 46 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://irr.ru/index.php?showalbum/login │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login%2Flick.g.doubleclick.diary.ru/car/kw/3061/us... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734.html_params%3Dfh_loc... │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://afisha.yandex.ru/index │ 45 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/GameMain.p1Yo4A │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ua/searchads/jo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 45 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605906/frl-2/sportal.ru/... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fshow/lpp/cre.ru/pers... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostovskiy-kray.irr.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/login │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.asp?search&ev... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 44 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logize.ru/msk/events_liver.ru/russert-plies.r... │ 44 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26099486633033&countpage=... │ 44 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://sslow_135000008&position=search │ 43 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 43 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischet-solik/odezhda-plos... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert277553/38021/66936575776/... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271050&with_photo.kurortm... │ 43 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 43 │ -│ 1 │ 0 │ 0 │ http://forums/liii-kuler S22oHgBJTngegotavgorod55.ru/filtr[2]=42 │ http://komme%2F27.0.1453.116 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 42 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-folders/?end=9a08488... │ http://irr.ru/index.php?showalbum/litamak.irr.ru/catalog/8570/travel.ru/cgi-bin... │ 41 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 41 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 Safari │ 41 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/0001216629/#top_by │ 41 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26040931&s_yers=0&with_vi... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://ekburg.irr.ru%2Fpuloveplanet │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.137508&s_yers=200... │ 40 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://aliningrad │ 40 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logito8ergo_6470/page_type_id=20872/0/001:12:... │ 40 │ -│ 0 │ 0 │ 0 │ │ http://afisha.mail.ru/dmitrij │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/readar-nashi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 40 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27924563724&key=46960/med... │ 40 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://lib.ru/exp?sid=3205&bt=7&bn │ 40 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 39 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credit │ http://komme%2F27.0.1453.116 │ 38 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=8570/page=5&s_yers=2006 │ 38 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2679/detail/5482,935033/2... │ 38 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 38 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://irr.ru/index.php?showalbum/login │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dnevnoy-kv-Samara.irr.ru/searchAutos&marka=4... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 37 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://komme%2F27.0.1453.116 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=1 │ 37 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=theating&page=... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?group │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2784389/room=39695,966681... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/forum/topicID=269&stat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/votkim-rukav-i-kova-ul-adve... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wolf-club478561/OPEL | \xD0\xB0\xD0\xB2\xD1\... │ http://irr.ru/index.php?showalbum/login-marka=13&city&custom=0&damages/0001216 │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/filmId=xFX1UbTNJjxe4yF... │ http://irr.ru/index.php?showalbum/login.asp?razdel7/test/matched=115909d9_dsc07... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27553&s_yers=0&po_yers/46... │ 37 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert275226607660?design=6efxq... │ 36 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http:%2F%2Fbrjuki-lic-shop.ru/ch/metersburg/contertype%3D158197%26ad%3D1216629/... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=show=&fgroup-tab-mara.irinables/yearT... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278171&size=52094&op_seo_... │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27330528/photo/6223799%26... │ 36 │ -│ 5 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 36 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36&he │ 36 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://smeshariki.ru/obucheyelants │ 36 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=post_neu%3D22%26pz%3D0%26rleurl%3D%26xp... │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vip.ru/book.com/photo/7086/page=0&state=mont... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 35 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/catalog/8569 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/index.ru/katego... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-cukickdrops_bak_yant4tlGtZgy3BQ&bvm=bv.49478... │ http://irr.ru/index.php?showalbum/login-501-98552&op_uid=1060948/6#f │ 35 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (Windows │ 35 │ -│ -1 │ 0 │ 0 │ http://state=19&m_staraya-obl │ http://irr.ru/index.ru/show/414526863_112 │ 34 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.12.388 │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 34 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/promo=C-Tease/rent/dat... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 34 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_uid=1... │ 34 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/list │ http://lib.ru/exp?sid=3205&bt=7&bn=1&gearbox=0&type_id=0&last_auto_ria=0&type=0... │ 34 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/directadvert/kavanga_728x90.html │ http://komme%2F27.0.1453.116 │ 34 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshops.xml?typ │ http://komme%2F27.0.1453.116 │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/exp?sid=3205 │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?cPath=default.ru/yandex.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 33 │ -│ 1 │ 0 │ 0 │ http://auto.ria.ua/\xD0\x9A\xD0\xBB\xD0\xB8\xD0\xBC\xD0\xB0\xD1\x82\xD1\x8C\xD1... │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 33 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate/apartner │ http://video.yandex.php │ 33 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 33 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 33 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser │ 33 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga_728x90 │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265748ba3f755671_1162684&... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertif?sle=85000 \xD0\xB4\xD0... │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 32 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F27.0.1364 │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/pub │ 32 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zxcvbnm1990&search/jobinmoscow.ru/yandex.by/... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 32 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements-obschaya │ 32 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru%2Fproduct/foto-4/login... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&op_category_id=1174]... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniturers_id=575386110 │ http://irr.ru/index.php?showalbum/login.exit/rem/php/board/10_kruizer_8267049&o... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiepochto_id=93231238][to... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://afisha.yandex.ru/index │ 31 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://ssl.hurra.com/iframe │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertischuk_Kerasivye-klavik/?... │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/jobs-education/m_acces... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26791e3a7c543c9bf9ef5c0-9... │ 31 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 31 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt │ http://komme%2F27.0.1453.116 │ 31 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_api.php?cid=41389/rooms/perm.pulscen.ru/sear... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertificia/?letteo_985428161/... │ 30 │ -│ 1 │ 0 │ 0 │ http://domchelov.html&lr=55&text=\xD0\xB4\xD1\x80\xD1\x83\xD0\xB3\xD0\xB8\xD0\x... │ http://komme%2F27.0.1453.116 │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoryID=12452929587/... │ 30 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 30 │ -│ 1 │ 0 │ 0 │ http://video.yandsearch │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 30 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6DQgE4LmUXI&where=all&filmId │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert268630533&site_ot=&price_... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-k608i.trashbox.ru/cars/page5/&docid=577&lr=2... │ http://irr.ru/index.php?showalbum/logii_58247.php?forum.borovichy77/page5 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2716/~3/150160947694,9745... │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/products/?category_id=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2696374/#page/tab=com_avt... │ 30 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru/topic │ 30 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26979553039353936694&ch=u... │ 30 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.14&he=768&wi=1920 │ 30 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605446518%2F&sr=http://e... │ 30 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://smeshariki.ru/obucheyelants │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-carava/fotok-8-steklove.ru │ http://irr.ru/index.php?showalbum/login-yuoocor.ua/user │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26928142&op_products/view... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kupibatikov/?recrete/personal/klimat.ru/work... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 29 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x9A\xD0\xBE\xD1\x80\xD0\xBE\xD1\... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertifications[0][150]=60&inp... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/wedditeli_foto-2/__48/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_countpage/1 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/click.net/paged=696&lo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274229696.0 (Windows)&bL=... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-14132&with_photo=1&srtime-zone.net/catalog/t... │ http://irr.ru/index.php?showalbum/login-sierra%2Fdlia-zhienskaia-moda-zhiensmed │ 29 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2664952&xdm_p=1#country=-... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704.html%3Fhtml5/v12/?fr... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2734/fotographic_2017666&... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategoriya/zhienskaya-... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9649.html%3... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/small_mercial-shoppicc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27350350394&ch=UTF-8&sF=1... │ 29 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-baza/gadge... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_seo_entr... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27425.3120%26ntype_id=2&r... │ 28 │ -│ 1 │ 0 │ 0 │ https://directions[0][1541769377921968 │ http://komme%2F1.7.1364.172 │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13733097&op_categ... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert272291684/hasimage=0&view... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makuma.html?category_id=1017&lr=213&tex... │ http://irr.ru/index.php │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/mann japanel/?text=\xD1\x81\xD0\xBC\xD0... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269500469412216388/detail... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-my-sovies/bebybum.homestion bonprix.ru/... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikarbox=2&tz=9b81998&po_y... │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://video.yandex │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F8536.26 (KHTML │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-176-kakaya-obl.irr.ru/search?lr=191&ei=N6rrg... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?lang=all&fi... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\xA4\... │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/anime-2/#album/l... │ 28 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML, like Gecko │ 28 │ -│ 3 │ 95 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-eve-nn.ru/cars/passenger/\xD0\x92\xD0\x90\xD... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274236&pv=15&prr=8&sid=35... │ 28 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 28 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/poned │ http://irr.ru/img/catalog/53485785/topic/8939858-59929477/detailshop │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19&m_static.diary.ru%2Fpugache=51dba668ea2feb2Xw │ http://irr.ru/index.ru/show/41452626u1zIq0SGLXCI │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=Mitsundai/malitics/katersburg.irr.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 28 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/gold │ http://ekburg.irr.ru/#lingvo │ 28 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F22.14&he=768486 │ 28 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login.html?1=1&cid │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678/page=2&marka=84&mode... │ 27 │ -│ 3 │ 2 │ 0 │ │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/search?cl4url=http://yandex.ru/online... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27013.ya.ru/sportalznakom... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert24061.jpg.html%3Fhtml?1=1... │ 27 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031343-sh-898675/sort=pri... │ http://irr.ru/index.php?showalbum/login-5158&jenre/slyudya_metroman.ru/GameMain... │ 27 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19195/offset=101&district=&city&with_photo=¤cy │ http://irr.ru/img/catalog/53485785/topic/8939850.php?page=3&marka=84&mm │ 27 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://auto_map6%26pz%3D0%26geozone.net/201597547,8.0.146/imagecachel │ 27 │ -│ 1 │ 0 │ 0 │ http://forums/liiie/?target │ http://obninsk/detail │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fhit_list.html?s... │ http://irr.ru/index.php?showalbum/login-irake-myservierk-supierts%2F&ti=\xD0\x9... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-oleginnesujeli-i-centum=etarget=search?clid=... │ http://irr.ru/index.php?showalbum/login-kupe.html_params%3Drhost%3Dad.adriver.r... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27928092_price=\xD0\xBC\x... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/mazda-dievochnye_avari... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-kupalnik.10065%26bn%3D0%26ad%3D158197%2... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-19.xhtml?city_to_one=All&film]/on/orders/810... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/1.19.mobile_photo=6001... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27630/?item_id=0&bodystyl... │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId │ 27 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/poned#pa\xD0\xBE\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 27 │ -│ 1 │ 0 │ 0 │ http://bonprix_ru_11559&lr=12&usln │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lizova_ii_1112_1150&option[price_do=300... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search=0&choosO7a_rEk3E&wher... │ 26 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detall/seconomicsmovinki │ http://komme%2F27.0.1453.116 │ 26 │ -│ 1 │ 0 │ 0 │ http://yandex.ua/?target=search/tab=user │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 26 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 26 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://obninsk/detail │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 26 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/loginsk.irr.ru%2Fkategory_id=9204471-650/?_h=... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login-jjjekrju-s-pring=1&price[price=\xD0\xBC... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification.ru/messa.ru/rea... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lejandsearch?text=\xD1\x82\xD0\xB8\xD1\x85\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert21124631/?Search.php │ 26 │ -│ -1 │ 0 │ 0 │ http:%2F%2FwebcamMax │ http://afisha.yandex.ua/auto_id=1430][to]=&int[260][20][to] │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_category... │ 26 │ -│ 3 │ 197 │ 0 │ │ http://komme%2F27.0.1453.116 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?messa.ru/worlds/page2/7277932582&text=\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 26 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/openson XA2oYUXI │ http://irr.ru/index.php?showalbum/login-kupe-20010120652838799.html?n=7148.html... │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemey-volvom80Cw&where=a... │ 26 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://afisha.yandex.ru │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandsearch?text=\xD0\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 26 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_category │ 26 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=607&state=4... │ 26 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.22 (KHTML, like Gecko) │ 25 │ -│ 1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http:%2F%2Fwwwwww.bonprix.ru%2Fkategoriya │ 25 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978184 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=1&state │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/people.ru/cars/passets... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2731/?city=0&pvno=2&evlg=... │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-vivarki/redki_sdelaet-law.ru/produkty/kartgo... │ http://irr.ru/index.php?showalbum/login=driff/en-ru/?p=2#messages/00001216629 │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/offection │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.html&ei=GcXrUYe8F2DAU-RbuRlLMczoJ--5uDCx8 │ http://irr.ru/index.php?showalbum/login-132/#images/0000.h95/\xD1\x82\xD1\x8E\x... │ 25 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert264314953); ru) AppleWebK... │ 25 │ -│ 1 │ 0 │ 0 │ http://auto/auto.ria.ua/search/tab │ http://obninsk/detail │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search?text=myaccountry │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 25 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguard-payments-sale/se... │ http://irr.ru/index.php?showalbum/login-88i8LaDyEkCVv6-DhRfEDcw==&action │ 25 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/yandex.ru/?f... │ http://video.yandex.ru/page=0&category&op_seo_entry=&op_categoriya │ 25 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F537.36 (KHTML │ 25 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://video.yandex.ru/film/46351/frl-2/bage │ 25 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=7329 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2605838.html5/v12/?from=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694589/detail/555-javata... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741559&t=5204/make=Chrys... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-link=1147373-1&p=1&p=2&text=\xD0\xBC\xD0\xBE... │ http://irr.ru/index.php?showalbum/logisterlingvo/#! │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?cmd=shops.html?id=1&body_type=\xD0\xBF\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://irr.ru/index.php?showalbum/login-kupaljiteraturka │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781472265&op_seo_entry=&... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626rleurl%3D//ad.adriver... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685/price_ot=&price=\xD0... │ 24 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://diary.ru/forum/intries │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27399992.php/board,13.0) ... │ 24 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/login-117031&op_category&op_seo_entry=&op_uid │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671291&fridgets/2012&pri... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26685857947301_Zoryatiya/... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-annative-expressageId=0oVXx21hUXI&where=all&... │ http://irr.ru/index.php?showalbum/login-rybnovlevojj_mamountry=-1&type%3D0 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo/7... │ http://irr.ru/index.php?showalbum/login-kupit-plitka-s-korsiety/art/151/n4p/160... │ 24 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://video.yandex.php │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumyi-dachat/jaguar.ru/page4/?emain.a... │ http://irr.ru/index.php?showalbum/login=ogabass.ru/filmId=9WOqzzitive&view │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/intrumen │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kupalnaya_elit=&id=3&clid=9403&lr=1913849 │ http://irr.ru/index.php?showalbum/login-gallebia_zhurnalCall D.R.E.mp3ex.net/ph... │ 24 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-lolacake/tatyaka.html?1=1&cid=577&oki=1 │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinglish.rus-l7-p70505-1... │ 24 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/yandsearch?lr=1... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-yvaken/topic=7702.jpg.html?1=1&cid=577&... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=1&bc=3&ct=1&pr │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-547552/1/?sma=RAINBOW&op_uid=fdd1b9d2721728&... │ http://irr.ru/index.php?showalbum/login-kapusta-advertika/search/room=1&damage=... │ 23 │ -│ 1 │ 0 │ 0 │ http://auto_volkswagency=1&text │ http://komme%2F27.0.1453.116 │ 23 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgarials/commend/searchvage-2.html&dt=13734... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-tuniki_510... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263090024189-528619c2077/... │ 23 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://smeshariki.ru/ru/index.ru%26bid │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333572620201709/page/10... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news/radio&clid=198555... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26939.html?page/3/#count=... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2740974%26pz%3D0%26ar_sli... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/index.ru/kategory_id=5... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 23 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo │ 23 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://liver.ru/a/far_applunzsxi.cmle.ru/search?text │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/resultatya9176da22f1a521a5853.html&... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 23 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapustom%3D%26xpid%3DBBn-investate=toda... │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26600721376439322%26pz%3D... │ 23 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page │ 23 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,945... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/advert/kavanga_728x90.... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://afisha.yandex.ru │ 22 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=2512592 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisemennoke0070553995f27d6... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2697574697.html_param=0&u... │ 22 │ -│ 5 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-105vr/ │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=search.tutung/s... │ 22 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/wheel.ceratornaya_solnechka │ http://komme%2F27.0.1453.116 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2091&local=1&TypeSearch?mail.ru/yandsearch&c... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26058&nnum=s4746835895&op... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-10760b31b65633eZateq eb806e887d9f15ccf593280... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-the-ili-tempera-minsk.irr.ru/produkty/bluzki... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739693071/pomer... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodny │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2649.html?pg=menu_29.jpg&... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnik.ru/v1465][from]=&int[157281 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267830840994,95688781470%... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-business/sale/ru/search?mail.ru/film%2Fbarna... │ http://irr.ru/index.php?showalbum/login-zakon_type=1&fuelRatesTypeSearch │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 22 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27200,55.7654.html_parat-... │ 22 │ -│ 1 │ 0 │ 0 │ http://radioscannetcat=threadreplies │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&l... │ http://irr.ru/introlux_page5/2/page/Renaul.irr.ru/start=1500-rublic/gamemain/Tu... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26601629][from=&fuelRateT... │ 22 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://ekburg.irr.ru%2Fpuloveplanet │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-natashkarola.irr.ru%2Fviewforum/MsgList.html... │ http://irr.ru/index.php?showalbum/login-kapusta-advert26900/technics-technics-t... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liliate_id=24145602&with_phoney.yandex.ru;ya... │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 22 │ -│ -1 │ 0 │ 0 │ http://state=19&num=5&s_yers │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&city[7]=23239330794,25826044_Black_lis... │ 21 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?price_till beli.php?cx=015216684_36 │ http://komme%2F27.0.1453.116 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691_ru_17832523.html_par... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694,978825315f373400/det... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1) AppleWebKit%2F537 │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/world/photo/41/62b1dfa450/3/women-clother%26tms%3D%26ev_ltx%3D... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachka/saledParam │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomaha.diary.ru/forum%2Fukhov/l... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27025&Select[4][]=32598.h... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/basketshop.ru/yandsear... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert265228.html?1=1&cid=577&o... │ 21 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://wildberrior/uphold │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo44953.116.php?t=4... │ http://irr.ru/index.php?showalbum/login=ko&page=0&view.aspx?group_cod_1s=85&key... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/?from │ http://en.lyrsense.com.ua/?tag=type=category_id=1555768&wi=136225..87245-937559... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/houses/passenge... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-dance/index.ru/?favorite_off=1&encoding&hl=\... │ http://maps#ru_5_ru_22106.37766/men.aspx#location/topic.php?razdnuyu-komnatalog... │ 21 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F5.0 (Windo... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logino-s-grigerator/page1=&input_age1 │ 21 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 21 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/cars/commeddesk.ru/google_s&12.5.746.59954.30 (KHTML, like/\xD... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ramblery/pic/893985650697... │ http://smeshariki.ru/obucheyelants │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26737865/?page/12186/#/ec... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=199450984062 │ http://irr.ru/index.php?showalbum/logii-bin/click.cgi%3Fsid%3D158195,97987231-9... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/histofelny.i... │ http://irr.ru/index.php?showalbum/login.html?1=1&input_who1=2&input_who2=1&inpu... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/img/catalog/53485785/topic,806;IC,33;VL,1430/photo │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-brie... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-dietsik.ru/razdel_id=111,7,700&w=728x90.html... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929&from%3D%26custom=0&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/club.ru/anime-zone.ru/... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2186/detail.aspx#location... │ 21 │ -│ 1 │ 0 │ 0 │ https://google.com/fee=\xD0\xBC\xD0\xB5\xD0\xBD\xD1\x8C\xD1\x88\xD0\xB5 │ http://irr.ru/index.php?showalbum/login-kapusta-advert2686305895&op_seo_entry=&... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098-1.13739353/details.... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kupalnik │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification%2F4.0; XBLWP7; ... │ 21 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/9-0--navam-zhien... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2741465][from]=&input_wit... │ 21 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapustom=0&Itemid=577&oki=1&op_uid=1147... │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login=uzpp2XnEw&bvm=bv.49784469][from │ http://auto_s_product_id=25292.1406.798352/women.aspx?group_cod │ 20 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&sr=http://afisha │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-Larki-i-korobeg-1124-95367/guestblowinp... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26219&wi=1280&lo=http://w... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/yandex.ru/real... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estatic.diary.ru/... │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=58&Selectronics-technics/k... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?er=2&text=\xD0\xBA\xD1\x83\xD0\xBF\xD0\xB8\... │ http://irr.ru/index.php?showalbum/login=razer2.moikrug.ru/recipes/shop.spb │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b706234651&op_uid=1&b... │ 20 │ -│ 1 │ 0 │ 0 │ https://mysw.info=sw-131726275 │ http://komme%2F27.0.1453.116 Safari │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estate=yestered │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&price │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=NeIdeaCenternet Explorer&aV=5.0 │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertificirovka.ru/noteating-i... │ 20 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 20 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313163307/?from]=&int[15... │ http://che.ru/produkty_zarubezhei-niepochekhly │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate=0&ReturnUr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271161076&st=261&t=170977... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604370757034dea482207549... │ 20 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_api.php?id=7262882,9454472&op_product_n... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert27419&z=9&l=map&id=2211-9... │ 20 │ -│ 1 │ 0 │ 0 │ http://video.yandex.ru/cars │ http://komme%2F27.0.1453.116 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26637&model=1705.html?1=1... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-karbox=0&top=0&category/1961/#images/00... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumilora481 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-iulyanovskaya-obl/lyubvi?page=166733&eid=485... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27502/detail/?folders/#pa... │ 20 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credircnt=13733129/room │ http://komme%2F27.0.1453.116 │ 20 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://video.yandex.php │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626u1zIq0SGLXCI&where=al... │ 20 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=240&u_cd=242035165&input_who2=1... │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien%26ar_slice-russic.ru... │ 19 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state/apartments/parts.ru/GameMain.aspx?sort=popup/casualg... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/news_id_72387877055/nu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikulina.ru/real-estate/ou... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw │ 19 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/filmId=eRaB4pYAXCI │ http://komme%2F27.0.1453.116 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login=perfect.yandex.ru%2Fkategoriya%2F537 │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.ru/daily │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text=\xD0\xBB\xD0\xB8\xD0\xBA\xD0\xBE\xD0\xBB\xD0\... │ http://irr.ru/index.php │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260540718534/?dateOn=1&bo... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261921&pr=2441185112.html... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26672655462.html?city.ru/... │ 19 │ -│ 1 │ 0 │ 0 │ http://sp-mamrostok.ru/cars │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27252/women.aspx?group_co... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2671&Destige-all.html_par... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/check=1&redir=1&lang=a... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27404895,95923.html%26cus... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006&po_yers=20078816 │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 19 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2638/?from=&raceTo=&power... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313437&pvno=2&evlg=VC,2;... │ http://irr.ru/index.php?showalbum/login-rizova.ru/look/timashirtsevm.cofe │ 19 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-estation/vacancing │ http://sslow_13507.html?aspx?naId=6HS │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=487930 │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27355f3132366336601&uuid=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.php?f=11340.1j1j2.12...5998-103358071/8/page... │ http://irr.ru/index.php?showalbum/login/?ReturnUrl=%23images/00007/10/1320006&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166333/price[price_till]=&pri... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F_liveresum... │ 19 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto_repai... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://smeshariki.ru/obucheyelants │ 19 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.15751 Safari%2F5.0 (Windows │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2675406828ac956028692581/... │ 19 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://obninsk/detail │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26968794618/irr.ru/real-e... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2629&lr=65&rstr=-213&text=back=False&withmos... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27423026517034&pvno=2&evl... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2702483,631;IC,444041%2F&... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=9.80 (W... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26669E116-1-1550046560013... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=http://video.yandex.ru/real-estate │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?search?text=\xD1\x80\xD1\x83\xD1\x81\xD0\xB... │ http://irr.ru/index.php?showalbum/login-inadlinny-sched_car=0&city=0&price=18&p... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274026181891&rn=52&brand=... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/referery_besplay/4972&bL=ru-ru&xdm_... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/dlia-zhiensk... │ 19 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login.html?1=1&cid=577&oki=1&op_product │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list=0&checked=0&state/room=10002-g-v-program... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-165&jenre]/49047&lr=163&text=samsung ga-moda... │ http://irr.ru/index.php?showalbum/login-2-komn-v-na-92f5-6ccf-fef3-013f9f926a21... │ 18 │ -│ 5 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://afisha.yandex.ru/index │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5 │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login/?elmt=popular&where=all&film/723/num │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/man/restate/out-of-town-resh=1&cnt=1373... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2012-recept-Ragu-iz-2-x │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupaljinik-slidi/places/?PAGEN_1=2 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main/erle.com.ua/yandex.php?app=my&name │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 18 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://wildberries.aspx#location/group_cod_1s=53&butto_638_1360/3/women.aspx?na... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=deltec&type=citymo=&version%2F4.0 (Linu... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27534.30 (KHTML, like Gec... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-kochtinsk.pulscendinskiy-krasnodar.irr.ru │ http://irr.ru/index.php?showalbum/login-kuplyuskij/zapchastorii_state/out │ 18 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login.moikrug.ru/catalog/otchenko-ul-advert27... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-zzzi.ru/a-shop and blademas/?id=1&marka=0&ma... │ http://irr.ru/index.php?showalbum/login-2003prev=/search/index.ru/meteor.html%3... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F&ti=\xD0\x91\xD1\x80\xD1\x8E\xD0\xBA\xD0\... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=367132&pv=2... │ 18 │ -│ 1 │ 0 │ 0 │ http://radiorecord.ru/real-estatic.diary │ http://irr.ru/index.php │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert278453&with_exchange=0&ex... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27132069304;IC,1511e8d158... │ 18 │ -│ -1 │ 0 │ 0 │ http://go.mail.ru/yandsearch?lr │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27071038_114736895,923401... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estat_type-5/exte... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x9A\... │ 18 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=978152&ch=U... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-natura.ru/jobs-education=post_137336ID0... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/8018&l=malkogo... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=kanza_tab_2499472&lr=1074&sort=popular │ http://irr.ru/index.php?showalbum/login-kupaljinik-Internet Explorer&aV=5.0 (Wi... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/search/?target=search?... │ http://irr.ru/index.php?showalbum/login-bigutensiysk.irr.ru/regular&bid=3205&bt... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27420780790931.html5/v12/... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya/obuv%2F │ 18 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-21102&text=\xD0\xB1\xD0\xB0\xD0\xB1\xD0\xBA\... │ http://irr.ru/index.php?showalbum/login.mospsy.ru/super-na-kostronics/tv-audio.... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2685&numphoto=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626p/ │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertimeshariki.ru/cgi-bin/cli... │ 18 │ -│ 1 │ 0 │ 0 │ https://diary.ru/magnitogorsk │ http://komme%2F27.0.1453.116 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sien-zhienskaya-i-kvartir.html?id=1955451-01... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260908861%26point-peter=&... │ 18 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1453.116 Safari%2F8536 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=yators/?jumping.ru/series.ru/priceup&page=3&... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C \... │ http://irr.ru/introlux_page5/2/pageTypeSearch?text=\xD0\xB2\xD0\xBA\xD1\x83\xD1... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisinger/\xD0\x93\xD0\x90\... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olga1788778.137329TVmbFNmbVNaR0YwW$UyNDg4fxS... │ http://irr.ru/index.php?showalbum/login-sienskaia-moda-zhienskikh_rabotjaga.ru/... │ 18 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_car=36427929&stat... │ 18 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26929750%26ar_sliceid%3D2... │ 18 │ -│ 4 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691c352005&pvno=2&evlg=V... │ 17 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru%2Ffilm/4858?pa... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert271527091/frl-2/bage-2.ht... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27422544/3/womens.ru/ufa.... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/cars/communalux.ru/dos... │ http://irr.ru/index.php?showalbum/loshaya-obl.irr.ru/film/35562C?analytics/kto-... │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#7878... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser%2F12.103402.html%3Fhtml │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=artira-Lyubyat │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x92\xD0\x90\xD0\x97 │ http://irr.ru/index.php?showalbum/login.aspx#location │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://myloveplanet.ru/index.ru/registrict=3219&st=10# │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=yes&y1=2013-07-07.ya.ru/5_search?text=\... │ 17 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://aliningrad │ 17 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1453.116 Safari%2F5.15.html?1=1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266149_51928/detail.ru/ka... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-adverts%26rleurl%3D%26CompPath%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2670308&po_yers=0&price_o... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2613168312.71 Safari%2F__... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?Returniture=8&ch=UTF-8&ifr=1&av=1&nm=1&ved=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login_Bolers-device.aspx#commersanta_premiery... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 17 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http://sslow_13507.html?aspx?naId=6HS │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginyazevskaya%2F5.0 (Windows NT 5.1) Prestorygoo... │ http://irr.ru/index.php?showalbum/login-kupilomatic.aspx#location=rr&days&city&... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-dlia-zhiensmed.ru/el... │ 17 │ -│ 1 │ 0 │ 0 │ http://bdsmpeople.ru/register2123 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/logistereda.ru/photo/70861/6#f │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert263161366&bid=2823&numpho... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=ForeightEnd │ http://irr.ru/index.php │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowthreadreplies=24&ids=74&cu... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27595,9305f3931339322%26n... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26041.htm%3Fsid%3D0%26pz%... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313&ussp=mstp&usln=1&inp... │ http://irr.ru/index.php?showalbum/login-3767436/roomootofile/obzor.com/iframe │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273363331251798796&op_seo... │ 17 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/stan/index.kz/yandex │ http://komme%2F27.0.1453.116 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertistia.html?partment/searc... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-search%3Futm_source=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2046097563356531663031323532363&win=70&mode=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 3 │ 22 │ 0 │ │ http://komme%2F27.0.1453.116 │ 17 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://diary.ru/forum/intries │ 17 │ -│ 1 │ 0 │ 0 │ http://bibieters_sig=5ea8QizwGSPy0yGcm14ATH74D4Bw&usg=AFQjCNHxMZlonova.ru/p1847... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_len40/page3/#57366/?date_i... │ 17 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=&op_style... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-lenfiki-zhienskaia-moda-muzhchin-sitafa ishq... │ http://irr.ru/index.php?showalbum/logical.ru/link=11485-9065383235348%2F&sr=htt... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienskaia-moda-futbolki-k... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert261636/detail/odnoklassim... │ 17 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/messar.ru/professig │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 17 │ -│ 1 │ 0 │ 0 │ http://acase.php?input_who1=2&input_who2=1 │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 17 │ -│ 3 │ 3 │ 0 │ │ http://komme%2F2.10 │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2694&option%2F12.14&he=76... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26618531&t=111246.html?p=... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_uid=13733145625/details... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-irina19910735%2F27.0.1453.116 Safari │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert268814453957595,94406/det... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=Like Gecko) Chrome%2Fpotnik=1&price_do=&curr... │ http://irr.ru/index.php?showalbum/login-the-poxudet_sponsor=&o=6000708498/?caut... │ 17 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/login-53584715,1327288/belgium/arch=1&themec.... │ 17 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login=bestwo.diary/details&id=9160/0/posti.ri... │ 17 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2626b76faact/less=1&ru=1&... │ 17 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/category=cinem rasmusic │ http://komme%2F27.0.1453.116 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-herokee_tatus=1&rm=18606bAxFEcQT6smBB4W... │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-zhien... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-olgas.rQRAX2Ua3IF1iHJcaz4ATv34DABw │ http://irr.ru/index.php?showalbum/login/?page=1024&wi=144438-88-3906740/currenc... │ 16 │ -│ 1 │ 0 │ 0 │ http://autodoc.ru/a-search/?target=search?clid=19554786.0.8.0.2.2003558_3497926... │ http://irr.ru/index.php?showalbum/logie-niz-doktops/electronics/4185570c72 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26098707209463401090/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert267044005320AA76)&vendor_... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27034195,9520160173/5/wom... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19&text=\xD1\x81\xD0\xBB\xD1\x83\xD1\x88\xD0\xB0\xD1\x82\xD1\x8C&s... │ http://irr.ru/introlux_page5/2/pageTypeId=0&expand_search/cuZXdzJTJGJmxyPTI4fQ,... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsien-zhienskaia-moda-plan... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26396284046.xhtml%3Fhtml%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2660&pt=b&pd=7&pw=2&page5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/real-estate/out-of-tow... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert260612d7cf.4082813,74,756... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=&esrc... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ 1 │ 0 │ 0 │ http://kipirog-s-krug │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/movinki... │ 16 │ -│ 5 │ 0 │ 0 │ http://state=199450984062 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-kupalnaja-prost-petersburg/detail/?fold... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/page=91552&q=\... │ http://irr.ru/index.php │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.pl?&clients-sale&siteurl%3D//ads/search?text... │ http://irr.ru/index.php?showalbum/login-kapusta-advert273786/foto-5/#photo=2817... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-krasok.html_params%3Drhost%3Dad.adriver │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9C\xD0\x90\xD0\x97/page4/?_r... │ http://irr.ru/index.php?showalbum/login.aspx?sle=13&s_yers=0&page_type=0&door=0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertsiensmed.ru/dl/\xD0\xB7\x... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti/redmonds %2F offset=403134333.2201560&c... │ http://irr.ru/index.php?showalbum/login-v40-velopiter.feriod=0&scroll_to_auto.r... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661232&streamfood.com/if... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login-kupalnyj-bandom.ua/a-foldersSubCliensme... │ 16 │ -│ 1 │ 0 │ 0 │ http://google.ru/forum │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo/70948/35.htm?id=... │ http://irr.ru/index.php?showalbum/logiy-luchaiev%2F&sr=http:%2F%2Fwww.bonprix c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-57548811426&text=\xD0\xBB\xD1\x83\xD1\x87\xD... │ http://irr.ru/index.php?showalbum/login-coolonellana-Molodilnik.ru/index.php?vi... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-204609756335653166303133334%2F&ei=horia+iudi... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert26765.html_params%3Drhost... │ 16 │ -│ 1 │ 0 │ 0 │ http://histore/profile;u= │ http://irr.ru/index.php?showalbum/login-kupe-20013&uuid=1373356164564_1sort/sta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2755597.html%3Fhtml?1=1&c... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login=findjob.ru/planet.ru/index.ru/carinov.h... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/showtopic,803813.html&... │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_catalog/1250/?itemsg/cd... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/manga │ http://irr.ru/index.php?showalbum/login │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert260477/cities/visas/exp?s... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirosomahachkakh-2/?type=0&choos&lr... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 │ 16 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/real-esta.ru/election │ http://video.yandex.php │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27429&input_bdsm_position... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2728024/detail/508/?instv... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26887301/Zona/simferopol.... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-153-4b9c4.4331626.htm?size%3D0%26rleurl │ 16 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credirect │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http://komme%2F27.0.1364.172 YaBrowser%2F10B350 Safari%2F537 │ 16 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://msuzie-shop/premiery-c-38208_2.html │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/posts&q=\xD0\xB2\xD0\xB5\xD0\xB4\xD1\x83\xD1... │ http://irr.ru/index.php?showalbum/login-mistore/#CATALOG_LIST-s-ovosibirsk/deta... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-marka=23&model&desting?field_town/search/pri... │ http://irr.ru/index.php?showalbum/login-492ea9&show/417582,9626512874":10157628... │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_country=-1 │ 16 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_name=\xD0\x91\... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/sch/price][min]=41&lr=... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27364229586121%26url%3D%2... │ 16 │ -│ 1 │ 0 │ 0 │ http://volgografiyah_27_iyunya_50_let%2FgetId │ http://komme%2F27.0.1453.116 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-sovies/tv-audi/a7-spec=9894797179698712/p1/8... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27333%26bid%3D1%26rleurl%... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new=127201148][fr... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-maritkiN │ http://irr.ru/index.php?showalbum/login-ladimir.irr.ru/remiery-telefon.ru │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2661251-6efa-d61f-fef3-01... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert269899458/price/3815&pvno... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/7427510/detail/5... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login-7205011,1,7,700&aN=Netscape&aV=5.0 (Win... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-wkti%2F%3Ff%3D100%&http://afisha.yandsearch&... │ http://irr.ru/index.php?showalbum/login-6030d.html_params%3Drhost%3D90%26height │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertification=view/5/item3963... │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logiste's a di galaxy-s4-story1.aspx#location... │ 16 │ -│ 1 │ 0 │ 0 │ http://yandsearch?lr=2&color │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2753][from]=&pricedownloa... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-gorod/search?p=7&oprnd=9902.jpg&img_url=http... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27222.vk.me/u3166 │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2735030373434-152495.php?... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_cated_new10152954vac │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2691.html?1=1&input_age2/... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-irinakai/page_num_read2306e4574&ei=Ot_rUfjPG... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/page5/#over/190008/0... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makeevka.ru/perm.irr.ru/slingvo/#1\xD0\... │ http://irr.ru/index.php?showalbum/login-kapustic/product_name │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26708662307][]=&selection... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-20460975633565316630313033393633310,932803][... │ http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2010000087378687/pic/8939375f303839303935373... │ http://irr.ru/index.php?showalbum/login-souse=2/path=39_1.html?1=1&cid=577&oki=... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumy.ua/search?text=\xD1\x81\xD0\xB5\... │ http://irr.ru/index.php?showalbum/login-kapustya88/?sob │ 16 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.ru/widgetchrome%2F201001556&op_seo_entry │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/?strict=5710... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category=cinema/artira │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertists/736850/?item_no=737&... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertikal.ru/search/room=1&dam... │ 16 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2695/19545602cf94d77/repl... │ 16 │ -│ 1 │ 0 │ 0 │ http://forums/liiiervierk-suppohudeemvmesting/294465&op_categoriya │ http://komme%2F27.0.1453.116 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_product_id=0&model=1173... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login=new&cad=rjt&fu=0&input_country_id=228&lr=961... │ http://irr.ru/index.php?showalbum/login-cam.shtml#objdesc=true&uA=Mozilla │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-verb=1&prepairs=0&city[1 │ http://irr.ru/index.php?showalbum/lounona-muzhchin-kupaljinik-chernyj-odnoe/san... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makum │ http://irr.ru/index.php?showalbum/login/?do=ready-mansion%3D0%26url%3D%26bn%3D0... │ 15 │ -│ 1 │ 0 │ 0 │ http://launcher-searchads/search │ http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_produkty/kiev.org/forum... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/a-album/login.2/second... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2781308;IC,238208836746/0... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-4433140796851/detail/536180&all=False&i... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginsk.eu/ru/Pagesize=13&m1=07 │ http://irr.ru/index.php?showalbum/login-3muda/truction/vacancies/750207190765.h... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26981583/page=1089592445/... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945HPS?analog/r10418/sort=price_do=200&site_off=1 │ http://irr.ru/index.ru/\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xB3\xD0\xBE\xD1\x80\xD0\xBE... │ 15 │ -│ 1 │ 0 │ 0 │ http://wildberrifiers?year_detailshop/id_art_type=7&s_yers │ http://irr.ru/index.php?showalbum/login │ 15 │ -│ 3 │ 2 │ 0 │ │ http://komme%2F1.7.1364.172 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-goluboj-podserial&dfs=13 │ http://irr.ru/index.php?showalbum/login-haus.html#news/228670,257&pci=3012/frl │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273389; U; Android 4.0.14... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert273631253711/foto-6320166... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2724/?_h=search?text=\xD0... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category&op_page4/#67 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-ona.ru/name=yandex.ru/busineshematov/offers=... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price_... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26605566254/room=1.6&wher... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert266356163f39ea6f8/7a8745&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/washes/built-in_two_ch... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http:%2F%2Fwebbootate/aparts/state=1909644 │ http://afisha.yandex.ua/auto_id=0&with_photo.kurortmag.ru/razdnitsya-vishnury │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginskikh-viana.irr.ru/GameMain.aspx?sle=1/house.... │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/?act=full&Form.aspx?g... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/main.aspx?Topic │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/rative │ http://irr.ru/index.ru/show/414526863_112 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/list.html?typ=SMA&anbieter=aleks_evilkos.com │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertisements/produkty%2Fplatj... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-land_search?text=\xD0\xB0\xD0\xBC\xD0\xB1\xD... │ http://irr.ru/6323%26bn%3D27888895,963095425 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/index.ru/ange=0&s_yers=(3000&static.diary.ru... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?transk.i... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.php?page37/?sta... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2678&op_page=60000/curren... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F27.0.1364.172 YaBrowser │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login.1Uv1UfqCA8SonYC4BQ&usg=AFQjCNGB3pBUuKY1jJPP3... │ http://irr.ru/index.php?showalbum/login-tank-sale/search%3Fmode=&page_type │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/yandex.php?Id=9582 │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-liloveplanet.ru/futurer533/women.aspx?group-... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2631920&lo=http://person_... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advert2718599/photo=0&is_hot=0&... │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/url?sa=t&rct=j&q=alini... │ http://radio&planet.ru/moscow.ru/\xD0\xB8\xD0\xBB\xD0\xBB\xD1\x8E\xD0\xB7\xD0\x... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-tumbov.irr.ru/page1=&input_who1=2&id=29... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert26761,55.654289600/detail... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.php?city[1]=700003 │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2699364224073532663835386... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27515/418695&st=327-B110Q │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login=vladimir/page_type=0&expand_search?text... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login/?dok=001&rightbox/week&From=0&user │ http://irr.ru/index.php?showalbum/login-kapusta-advert2604/frl-4/trailer/view/3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=450&with_photo=7... │ http://irr.ru/index.php?showalbum/login-lential/secondary/details9.html_params%... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x95\x... │ http://irr.ru/index.php?showalbum/login-676216b8af/4fd00fa61b3185631821/page_ty... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page9/#14... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2730675595,9292fa-d61f-fe... │ 15 │ -│ -1 │ 0 │ 0 │ http://kinopoisk.ru/?state │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=25127691%2F... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27265484158197%26width%3D... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login_appliazh-pliance/mista-bez-uchaiev/000202&cl... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0&price │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/ch/floore troubleclick... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/yandex.ru/gamemain.asp... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/kategory_id=1955451&lr... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 0 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-kapusta-advertsienshchin-planet.ru/myma... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert27877437494,943082&stat_t... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiruiushching │ http://irr.ru/index.php?showalbum/login-kapusta-advert2704&prr=http:/ │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Ford-antent... │ 15 │ -│ 3 │ 123 │ 0 │ │ http://komme%2F27.0.1453.116 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2Fdlia-doma.... │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/url?sa │ http://sslow_13507.html?aspx?naId=6r7RoWvxU9qQ= │ 15 │ -│ 4 │ 0 │ 0 │ │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-nashinger/users/search?textilead&353%26ev_pl... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-102-821922237&arrFilter2013/08-iH4AT5zIGQDA │ http://irr.ru/index.php?showalbum/login-kupe-2/#page_type=&freetao.diary.ru/sea... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/loginy_name/3196906481/currency=6465373200&price=\... │ http://irr.ru/index.php?showalbum/login-kapusta-advert2776/?date=0&doorov.irr.r... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2693_763613.html_params%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert262997385f32313335781094&... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert274298799461981/?date=129... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert276278-ploschaya_checked_... │ 15 │ -│ 1 │ 0 │ 0 │ http://mysw.info/node/215455&text │ http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9584%26pz%3... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/catalog/877/ru/buildin... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ 5 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/make=\xD0\x9A\xD0\x90\xD0\x9C\xD0\x90\x... │ http://ekburg.irr.ru%2Fpuloveplanet │ 15 │ -│ 1 │ 0 │ 0 │ http://smeshariki.ru/diary.ru/yandex.ru/credir=1 │ http://komme%2F27.0.1453.116 │ 15 │ -│ 5 │ 0 │ 0 │ http://kinopoisk.ru/yandex.ru/auto/69363 │ http:%2F%2Fwwwwww.bonprix.ru/myAccountry │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo=on&input_onliner... │ http://irr.ru/index.php?showalbum/login.html%26custom%3D%26CompPath.2; WOW64; r... │ 15 │ -│ 0 │ 0 │ 0 │ │ http://komme%2F2.10 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advertist/gosthelp.ru/auto.ria.... │ 15 │ -│ 1 │ 0 │ 0 │ http://yandex.ru/search?q=\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBF\xD0\xBB\xD0\xB0\xD0\... │ http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=on&in... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumirostova.ru/doc.ru/belgorod.irr.ru... │ http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert269257798044.html_partmen... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7... │ http://irr.ru/index.php?showalbum/litlip/saint-peter557932E-8C62-4917%26ad%3D64... │ 15 │ -│ -1 │ 0 │ 0 │ http://state=19945206/foto-4/login-2491724/?bundlers/search?text │ http://irr.ru/index.php?showalbum/login-kapusta-advert2651734&pt=b&pd=7&pw=1&pr... │ 15 │ -└────────────────┴────────────────┴─────────────┴────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────────┘ -Run Time: real 0.137 user 1.400000 sys 0.004000 -D 07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Run Time: real 0.016 user 0.220000 sys 0.000000 -D D (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Run Time: real 0.022 user 0.312000 sys 0.000000 -D " = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) ORDER BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))); -Run Time: real 0.015 user 0.196000 sys 0.000000 diff --git a/benchmark/duckdb/queries.sql b/benchmark/duckdb/queries.sql deleted file mode 100644 index 6089b47ea7c..00000000000 --- a/benchmark/duckdb/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -SELECT count(*) FROM hits; -SELECT count(*) FROM hits WHERE AdvEngineID != 0; -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits; -SELECT sum(UserID) FROM hits; -SELECT COUNT(DISTINCT UserID) FROM hits; -SELECT COUNT(DISTINCT SearchPhrase) FROM hits; -SELECT min(EventDate), max(EventDate) FROM hits; -SELECT AdvEngineID, count(*) FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10; -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10; -SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(MobilePhoneModel) > 0 GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(MobilePhoneModel) > 0 GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT SearchPhrase, count(*) AS c FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT UserID, count(*) FROM hits GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10; -SELECT UserID, extract(minute FROM (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) AS m, SearchPhrase, count(*) FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID FROM hits WHERE UserID = 12345678901234567890; -SELECT count(*) FROM hits WHERE URL::TEXT LIKE '%metrika%'; -SELECT SearchPhrase, min(URL), count(*) AS c FROM hits WHERE URL::TEXT LIKE '%metrika%' AND octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, min(URL), min(Title), count(*) AS c, COUNT(DISTINCT UserID) FROM hits WHERE Title::TEXT LIKE '%Яндекс%' AND URL::TEXT NOT LIKE '%.yandex.%' AND octet_length(SearchPhrase) > 0 GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT * FROM hits WHERE URL::TEXT LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY SearchPhrase LIMIT 10; -SELECT SearchPhrase FROM hits WHERE octet_length(SearchPhrase) > 0 ORDER BY EventTime, SearchPhrase LIMIT 10; -SELECT CounterID, avg(octet_length(URL)) AS l, count(*) AS c FROM hits WHERE octet_length(URL) > 0 GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT regexp_replace(Referer::TEXT, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS key, avg(octet_length(Referer)) AS l, count(*) AS c, min(Referer) FROM hits WHERE octet_length(Referer) > 0 GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits; -SELECT SearchEngineID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE octet_length(SearchPhrase) > 0 GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT URL, count(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10; -SELECT 1, URL, count(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(URL) > 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -SELECT Title, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND octet_length(Title) > 0 GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -SELECT URLHash, EventDate, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -SELECT DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) AS "Minute", count(*) AS PageViews FROM hits WHERE CounterID = 62 AND (DATE '1970-01-01' + EventDate) >= '2013-07-01' AND (DATE '1970-01-01' + EventDate) <= '2013-07-02' AND "refresh" = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))) ORDER BY DATE_TRUNC('minute', (TIMESTAMP '1970-01-01 00:00:00' + to_seconds(EventTime))); diff --git a/benchmark/duckdb/usability.md b/benchmark/duckdb/usability.md deleted file mode 100644 index a032f68986a..00000000000 --- a/benchmark/duckdb/usability.md +++ /dev/null @@ -1,762 +0,0 @@ -Export data from ClickHouse: - -``` -SELECT * FROM hits_100m_obfuscated INTO OUTFILE 'hits.parquet' FORMAT Parquet - -$ wc -c hits.parquet -17193559098 hits.parquet -``` - -Install DuckDB: - -``` -wget https://github.com/duckdb/duckdb/releases/download/v0.3.0/duckdb_cli-linux-amd64.zip -unzip duckdb_cli-linux-amd64.zip -``` - -Try DuckDB: - -``` -milovidov@mtlog-perftest03j:~$ ./duckdb -v0.3.0 46a0fc50a -Enter ".help" for usage hints. -Connected to a transient in-memory database. -Use ".open FILENAME" to reopen on a persistent database. -D ? -> -> ; -Error: Parser Error: syntax error at or near "?" -LINE 1: ? - ^ -D help; -Error: Parser Error: syntax error at or near "help" -LINE 1: help; - ^ -D h; -Error: Parser Error: syntax error at or near "h" -LINE 1: h; - ^ -D .? -Error: unknown command or invalid arguments: "?". Enter ".help" for help -D .help -.auth ON|OFF Show authorizer callbacks -.backup ?DB? FILE Backup DB (default "main") to FILE -.bail on|off Stop after hitting an error. Default OFF -.binary on|off Turn binary output on or off. Default OFF -.cd DIRECTORY Change the working directory to DIRECTORY -.changes on|off Show number of rows changed by SQL -.check GLOB Fail if output since .testcase does not match -.clone NEWDB Clone data into NEWDB from the existing database -.databases List names and files of attached databases -.dbconfig ?op? ?val? List or change sqlite3_db_config() options -.dbinfo ?DB? Show status information about the database -.dump ?TABLE? Render database content as SQL -.echo on|off Turn command echo on or off -.eqp on|off|full|... Enable or disable automatic EXPLAIN QUERY PLAN -.excel Display the output of next command in spreadsheet -.exit ?CODE? Exit this program with return-code CODE -.expert EXPERIMENTAL. Suggest indexes for queries -.explain ?on|off|auto? Change the EXPLAIN formatting mode. Default: auto -.filectrl CMD ... Run various sqlite3_file_control() operations -.fullschema ?--indent? Show schema and the content of sqlite_stat tables -.headers on|off Turn display of headers on or off -.help ?-all? ?PATTERN? Show help text for PATTERN -.import FILE TABLE Import data from FILE into TABLE -.imposter INDEX TABLE Create imposter table TABLE on index INDEX -.indexes ?TABLE? Show names of indexes -.limit ?LIMIT? ?VAL? Display or change the value of an SQLITE_LIMIT -.lint OPTIONS Report potential schema issues. -.log FILE|off Turn logging on or off. FILE can be stderr/stdout -.mode MODE ?TABLE? Set output mode -.nullvalue STRING Use STRING in place of NULL values -.once ?OPTIONS? ?FILE? Output for the next SQL command only to FILE -.open ?OPTIONS? ?FILE? Close existing database and reopen FILE -.output ?FILE? Send output to FILE or stdout if FILE is omitted -.parameter CMD ... Manage SQL parameter bindings -.print STRING... Print literal STRING -.progress N Invoke progress handler after every N opcodes -.prompt MAIN CONTINUE Replace the standard prompts -.quit Exit this program -.read FILE Read input from FILE -.restore ?DB? FILE Restore content of DB (default "main") from FILE -.save FILE Write in-memory database into FILE -.scanstats on|off Turn sqlite3_stmt_scanstatus() metrics on or off -.schema ?PATTERN? Show the CREATE statements matching PATTERN -.selftest ?OPTIONS? Run tests defined in the SELFTEST table -.separator COL ?ROW? Change the column and row separators -.sha3sum ... Compute a SHA3 hash of database content -.shell CMD ARGS... Run CMD ARGS... in a system shell -.show Show the current values for various settings -.stats ?on|off? Show stats or turn stats on or off -.system CMD ARGS... Run CMD ARGS... in a system shell -.tables ?TABLE? List names of tables matching LIKE pattern TABLE -.testcase NAME Begin redirecting output to 'testcase-out.txt' -.testctrl CMD ... Run various sqlite3_test_control() operations -.timeout MS Try opening locked tables for MS milliseconds -.timer on|off Turn SQL timer on or off -.trace ?OPTIONS? Output each SQL statement as it is run -.vfsinfo ?AUX? Information about the top-level VFS -.vfslist List all available VFSes -.vfsname ?AUX? Print the name of the VFS stack -.width NUM1 NUM2 ... Set minimum column widths for columnar output -D q -> .q -> ; -Error: Parser Error: syntax error at or near "q" -LINE 1: q - ^ -D .q -``` - -Let's load the data: - -``` -D CREATE TABLE hits AS SELECT * FROM parquet_scan('hits.parquet') -> ; -``` - -It is using single CPU core and accumulating data in memory. - -``` -Killed -``` - -As expected. My server has "only" 128 GiB RAM. - -Let's free some memory and run again: - -``` -Error: Out of Memory Error: could not allocate block of 262144 bytes -Database is launched in in-memory mode and no temporary directory is specified. -Unused blocks cannot be offloaded to disk. - -Launch the database with a persistent storage back-end -Or set PRAGMA temp_directory='/path/to/tmp.tmp' -``` - -Now it works: - -``` -D PRAGMA temp_directory='duckdb.tmp' -> ; -D CREATE TABLE hits AS SELECT * FROM parquet_scan('hits.parquet'); -D SELECT count(*) FROM hits; -┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 100000000 │ -└──────────────┘ -D SELECT AdvEngineID, count(*) FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -┌─────────────┬──────────────┐ -│ AdvEngineID │ count_star() │ -├─────────────┼──────────────┤ -│ 2 │ 404620 │ -│ 27 │ 113167 │ -│ 13 │ 45633 │ -│ 45 │ 38974 │ -│ 44 │ 9731 │ -│ 3 │ 6896 │ -│ 62 │ 5266 │ -│ 52 │ 3554 │ -│ 50 │ 938 │ -│ 28 │ 836 │ -│ 53 │ 350 │ -│ 25 │ 343 │ -│ 61 │ 158 │ -│ 21 │ 38 │ -│ 42 │ 20 │ -│ 16 │ 7 │ -│ 7 │ 3 │ -│ 22 │ 1 │ -└─────────────┴──────────────┘ -``` - -But saving the database does not work: - -``` -D .save 'duckdb.data' -sqlite3_backup_init: unsupported. -Error: -``` - -Let's simply paste queries into CLI. - -``` -D SELECT count(*) FROM hits WHERE AdvEngineID != 0; -┌──────────────┐ -│ count_star() │ -├──────────────┤ -│ 630535 │ -└──────────────┘ -Run Time: real 0.227 user 0.228000 sys 0.000000 -D SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits; -┌──────────────────┬──────────────┬──────────────────────┐ -│ sum(advengineid) │ count_star() │ avg(resolutionwidth) │ -├──────────────────┼──────────────┼──────────────────────┤ -│ 7280824 │ 100000000 │ 1513.48908394 │ -└──────────────────┴──────────────┴──────────────────────┘ -Run Time: real 0.678 user 0.508000 sys 0.008000 -D SELECT sum(UserID) FROM hits; -┌────────────────────────┐ -│ sum(userid) │ -├────────────────────────┤ -│ 3.2306058693988996e+26 │ -└────────────────────────┘ -Run Time: real 0.697 user 0.448000 sys 0.020000 -D SELECT COUNT(DISTINCT UserID) FROM hits; -┌───────────────┐ -│ count(userid) │ -├───────────────┤ -│ 17630976 │ -└───────────────┘ -Run Time: real 7.928 user 7.164000 sys 0.660000 -D SELECT COUNT(DISTINCT SearchPhrase) FROM hits;u -┌─────────────────────┐ -│ count(searchphrase) │ -├─────────────────────┤ -│ 6019589 │ -└─────────────────────┘ -Run Time: real 12.403 user 10.820000 sys 0.208000 -D SELECT min(EventDate), max(EventDate) FROM hits; -R┌────────────────┬────────────────┐ -│ min(eventdate) │ max(eventdate) │ -├────────────────┼────────────────┤ -│ 15888 │ 15917 │ -└────────────────┴────────────────┘ -Run Time: real 0.604 user 0.376000 sys 0.008000 -D SELECT AdvEngineID, count(*) FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC;( -┌─────────────┬──────────────┐ -│ AdvEngineID │ count_star() │ -├─────────────┼──────────────┤ -│ 2 │ 404620 │ -│ 27 │ 113167 │ -│ 13 │ 45633 │ -│ 45 │ 38974 │ -│ 44 │ 9731 │ -│ 3 │ 6896 │ -│ 62 │ 5266 │ -│ 52 │ 3554 │ -│ 50 │ 938 │ -│ 28 │ 836 │ -│ 53 │ 350 │ -│ 25 │ 343 │ -│ 61 │ 158 │ -│ 21 │ 38 │ -│ 42 │ 20 │ -│ 16 │ 7 │ -│ 7 │ 3 │ -│ 22 │ 1 │ -└─────────────┴──────────────┘ -Run Time: real 0.344 user 0.344000 sys 0.000000 -D SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10; -┌──────────┬─────────┐ -│ RegionID │ u │ -├──────────┼─────────┤ -│ 229 │ 2845673 │ -│ 2 │ 1081016 │ -│ 208 │ 831676 │ -│ 169 │ 604583 │ -│ 184 │ 322661 │ -│ 158 │ 307152 │ -│ 34 │ 299479 │ -│ 55 │ 286525 │ -│ 107 │ 272448 │ -│ 42 │ 243181 │ -└──────────┴─────────┘ -Run Time: real 8.872 user 7.592000 sys 0.108000 -D SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10;l -┌──────────┬──────────────────┬──────────┬──────────────────────┬───────────────┐ -│ RegionID │ sum(advengineid) │ c │ avg(resolutionwidth) │ count(userid) │ -├──────────┼──────────────────┼──────────┼──────────────────────┼───────────────┤ -│ 229 │ 2078084 │ 18296430 │ 1506.0876750819696 │ 2845673 │ -│ 2 │ 441711 │ 6687708 │ 1479.8410618406187 │ 1081016 │ -│ 208 │ 285925 │ 4261945 │ 1285.260504769536 │ 831676 │ -│ 169 │ 100887 │ 3320286 │ 1465.90517142198 │ 604583 │ -│ 32 │ 81498 │ 1843721 │ 1538.0370495318978 │ 216010 │ -│ 34 │ 161779 │ 1792406 │ 1548.364990409539 │ 299479 │ -│ 184 │ 55526 │ 1755223 │ 1506.8102679830426 │ 322661 │ -│ 42 │ 108820 │ 1542771 │ 1587.1074287758845 │ 243181 │ -│ 107 │ 120470 │ 1516722 │ 1548.6039623609336 │ 272448 │ -│ 51 │ 98212 │ 1435598 │ 1579.8864215469791 │ 211505 │ -└──────────┴──────────────────┴──────────┴──────────────────────┴───────────────┘ -Run Time: real 8.447 user 8.444000 sys 0.000000 -D SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -t┌──────────────────┬─────────┐ -│ MobilePhoneModel │ u │ -├──────────────────┼─────────┤ -│ iPad │ 1090347 │ -│ iPhone │ 45758 │ -│ A500 │ 16046 │ -│ N8-00 │ 5565 │ -│ iPho │ 3300 │ -│ ONE TOUCH 6030A │ 2759 │ -│ GT-P7300B │ 1907 │ -│ 3110000 │ 1871 │ -│ GT-I9500 │ 1598 │ -│ eagle75 │ 1492 │ -└──────────────────┴─────────┘ -Run Time: real 5.077 user 4.416000 sys 0.032000 -D SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;, -┌─────────────┬──────────────────┬────────┐ -│ MobilePhone │ MobilePhoneModel │ u │ -├─────────────┼──────────────────┼────────┤ -│ 1 │ iPad │ 931038 │ -│ 5 │ iPad │ 48385 │ -│ 6 │ iPad │ 29710 │ -│ 7 │ iPad │ 28391 │ -│ 118 │ A500 │ 16005 │ -│ 6 │ iPhone │ 14516 │ -│ 26 │ iPhone │ 13566 │ -│ 10 │ iPad │ 11433 │ -│ 32 │ iPad │ 9503 │ -│ 13 │ iPad │ 9417 │ -└─────────────┴──────────────────┴────────┘ -Run Time: real 5.193 user 4.916000 sys 0.012000 -D SELECT SearchPhrase, count(*) AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -l┌────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchPhrase │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 70263 │ -│ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 34675 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 24579 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 21649 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 19703 │ -│ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 19195 │ -│ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 17284 │ -│ galaxy table │ 16746 │ -│ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 16620 │ -│ \xD1\x81\xD0\xBA\xD0\xBE\xD0\xBB\xD1\x8C\xD0\xBA\xD0\xBE \xD0\xBC\xD1\x8B\xD1\x... │ 12317 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 8.085 user 8.040000 sys 0.044000 -D SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;e -┌────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchPhrase │ u │ -├────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 23673 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 19743 │ -│ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 18394 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 17553 │ -│ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 14600 │ -│ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 14529 │ -│ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 14198 │ -│ \xD1\x81\xD0\xBA\xD0\xBE\xD0\xBB\xD1\x8C\xD0\xBA\xD0\xBE \xD0\xBC\xD1\x8B\xD1\x... │ 9007 │ -│ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 8792 │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xB1\xD0\xB8\xD0\xBD\xD0\xB8\xD1\x80\xD0\xBE\xD0\xB... │ 7572 │ -└────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 14.516 user 12.960000 sys 1.196000 -D SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -r┌────────────────┬────────────────────────────────────────────────────────────────────────────────────┬───────┐ -│ SearchEngineID │ SearchPhrase │ c │ -├────────────────┼────────────────────────────────────────────────────────────────────────────────────┼───────┤ -│ 2 │ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 46258 │ -│ 2 │ \xD0\xBC\xD0\xB0\xD0\xBD\xD0\xB3\xD1\x83 \xD0\xB2 \xD0\xB7\xD0\xB0\xD1\x80\xD0\... │ 18871 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 16905 │ -│ 3 │ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 16748 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C \xD0\xBE\xD0\x... │ 14911 │ -│ 2 │ \xD0\xB0\xD0\xBB\xD0\xB1\xD0\xB0\xD1\x82\xD1\x80\xD1\x83\xD1\x82\xD0\xB4\xD0\xB... │ 13716 │ -│ 2 │ \xD1\x8D\xD0\xBA\xD0\xB7\xD0\xBE\xD0\xB8\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xB5 │ 13414 │ -│ 2 │ \xD1\x81\xD0\xBC\xD0\xBE\xD1\x82\xD1\x80\xD0\xB5\xD1\x82\xD1\x8C │ 13105 │ -│ 3 │ \xD0\xBA\xD0\xB0\xD1\x80\xD0\xB5\xD0\xBB\xD0\xBA\xD0\xB8 │ 12815 │ -│ 2 │ \xD0\xB4\xD1\x80\xD1\x83\xD0\xB6\xD0\xBA\xD0\xB5 \xD0\xBF\xD0\xBE\xD0\xBC\xD0\x... │ 11946 │ -└────────────────┴────────────────────────────────────────────────────────────────────────────────────┴───────┘ -Run Time: real 8.029 user 7.544000 sys 0.016000 -D SELECT UserID, count(*) FROM hits GROUP BY UserID ORDER BY count(*) DESC LIMIT 10;s -┌─────────────────────┬──────────────┐ -│ UserID │ count_star() │ -├─────────────────────┼──────────────┤ -│ 1313338681122956954 │ 29097 │ -│ 1907779576417363396 │ 25333 │ -│ 2305303682471783379 │ 10611 │ -│ 7982623143712728547 │ 7584 │ -│ 6018350421959114808 │ 6678 │ -│ 7280399273658728997 │ 6411 │ -│ 1090981537032625727 │ 6197 │ -│ 5730251990344211405 │ 6019 │ -│ 835157184735512989 │ 5211 │ -│ 770542365400669095 │ 4906 │ -└─────────────────────┴──────────────┘ -Run Time: real 5.225 user 5.224000 sys 0.000000 -D SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10;, -┌─────────────────────┬──────────────┬──────────────┐ -│ UserID │ SearchPhrase │ count_star() │ -├─────────────────────┼──────────────┼──────────────┤ -│ 1313338681122956954 │ │ 29097 │ -│ 1907779576417363396 │ │ 25333 │ -│ 2305303682471783379 │ │ 10611 │ -│ 7982623143712728547 │ │ 6669 │ -│ 7280399273658728997 │ │ 6408 │ -│ 1090981537032625727 │ │ 6196 │ -│ 5730251990344211405 │ │ 6019 │ -│ 6018350421959114808 │ │ 5990 │ -│ 835157184735512989 │ │ 5209 │ -│ 770542365400669095 │ │ 4906 │ -└─────────────────────┴──────────────┴──────────────┘ -Run Time: real 14.506 user 13.748000 sys 0.496000 -D SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10; -┌──────────────────────┬────────────────────────────────────────────────────────────────────────────────────┬──────────────┐ -│ UserID │ SearchPhrase │ count_star() │ -├──────────────────────┼────────────────────────────────────────────────────────────────────────────────────┼──────────────┤ -│ 427738049800818189 │ │ 1 │ -│ 15985305027620249815 │ │ 6 │ -│ 7418527520126366595 │ │ 1 │ -│ 519640690937130534 │ │ 2 │ -│ 376160620089546609 │ │ 1 │ -│ 4523925649124320482 │ │ 1 │ -│ 2523324276554785406 │ │ 2 │ -│ 6025915247311731176 │ │ 26 │ -│ 6329532664518159520 │ \xD0\xB2\xD0\xB5\xD0\xB4\xD0\xBE\xD0\xBC\xD0\xBE\xD1\x81\xD0\xBA\xD0\xB2\xD1\x8... │ 2 │ -│ 6329532664518159520 │ │ 19 │ -└──────────────────────┴────────────────────────────────────────────────────────────────────────────────────┴──────────────┘ -Run Time: real 14.919 user 14.912000 sys 0.008000 -D SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, count(*) FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10;W -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Binder Error: No function matches the given name and argument types 'date_part(VARCHAR, BIGINT)'. You might need to add explicit type casts. - Candidate functions: - date_part(VARCHAR, DATE) -> BIGINT - date_part(VARCHAR, TIMESTAMP) -> BIGINT - date_part(VARCHAR, TIME) -> BIGINT - date_part(VARCHAR, INTERVAL) -> BIGINT - -LINE 1: SELECT UserID, extract(minute FROM EventTime) AS m, Se... - ^ -D SELECT UserID FROM hits WHERE UserID = -6101065172474983726; -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Conversion Error: Type INT64 with value -6101065172474983726 can't be cast because the value is out of range for the destination type UINT64 -D SELECT count(*) FROM hits WHERE URL LIKE '%metrika%'; -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Binder Error: No function matches the given name and argument types '~~(BLOB, VARCHAR)'. You might need to add explicit type casts. - Candidate functions: - ~~(VARCHAR, VARCHAR) -> BOOLEAN - -D SELECT SearchPhrase, min(URL), count(*) AS c FROM hits WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;A -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Binder Error: No function matches the given name and argument types '~~(BLOB, VARCHAR)'. You might need to add explicit type casts. - Candidate functions: - ~~(VARCHAR, VARCHAR) -> BOOLEAN - -D , min(URL), min(Title), count(*) AS c, COUNT(DISTINCT UserID) FROM hits WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;A -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Binder Error: No function matches the given name and argument types '~~(BLOB, VARCHAR)'. You might need to add explicit type casts. - Candidate functions: - ~~(VARCHAR, VARCHAR) -> BOOLEAN - -D SELECT * FROM hits WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Binder Error: No function matches the given name and argument types '~~(BLOB, VARCHAR)'. You might need to add explicit type casts. - Candidate functions: - ~~(VARCHAR, VARCHAR) -> BOOLEAN - -D SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ galaxy s4 zoom \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC │ -│ \xD0\xBD\xD0\xBE\xD1\x87\xD0\xBD\xD0\xBE \xD0\xBA\xD0\xB8\xD1\x82\xD0\xB0\xD1\x... │ -│ \xD1\x81\xD0\xB8\xD0\xBC\xD0\xBF\xD1\x82\xD0\xBE\xD0\xBC\xD1\x8B \xD1\x80\xD0\x... │ -│ \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC \xD0\xBD\xD0\xB5\xD0\xB1\xD0\xBE\xD0\x... │ -│ \xD1\x80\xD0\xB0\xD1\x81\xD0\xBF\xD0\xB8\xD1\x81\xD0\xB0\xD0\xBD\xD0\xB8\xD0\xB... │ -│ \xD0\xB1\xD1\x80\xD0\xB8\xD1\x82\xD0\xB0 \xD0\xB3\xD0\xB0\xD0\xBD\xD0\xB0\xD0\x... │ -│ \xD0\xB0\xD0\xBD\xD0\xB0\xD0\xBF\xD0\xB0 \xD0\xBE\xD0\xBF\xD0\xB5\xD1\x80\xD0\x... │ -│ \xD1\x81\xD0\xBA\xD0\xB0\xD1\x87\xD0\xB0\xD1\x82\xD1\x8C \xD1\x87\xD0\xB8\xD1\x... │ -│ \xD1\x81\xD0\xBB\xD0\xBE\xD0\xBD.\xD1\x80\xD1\x83\xD0\xB1., \xD0\xB4. \xD0\xB0.... │ -│ \xD0\xBE\xD1\x82\xD0\xB4\xD1\x8B\xD1\x85\xD0\xB0 \xD1\x87\xD0\xB5\xD0\xBC \xD0\... │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 4.282 user 3.572000 sys 0.048000 -D SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;= -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ ! hektdf gjcgjhn conster │ -│ ! \xD1\x81\xD0\xBA\xD0\xB0\xD1\x80\xD0\xBF │ -│ !(\xD0\xBA\xD0\xB0\xD0\xBA \xD0\xB2\xD0\xBE\xD1\x80\xD0\xBE\xD0\xBD\xD0\xB8 │ -│ !(\xD0\xBF\xD0\xBE \xD0\xB3\xD0\xBE\xD1\x80\xD0\xB8\xD1\x8E \xD0\xB2 \xD1\x8F\x... │ -│ !(\xD1\x81) \xD0\xBF\xD1\x80\xD0\xBE \xD0\xB4\xD0\xBF\xD0\xBE \xD1\x81\xD0\xB5\... │ -│ !(\xD1\x81\xD0\xB0\xD0\xBB\xD0\xBE\xD0\xBD\xD1\x8B \xD0\xBE\xD1\x81\xD1\x82\xD0... │ -│ !(\xD1\x81\xD1\x82\xD0\xB0\xD1\x80\xD1\x82\xD0\xB5\xD1\x80 rav4 \xD1\x82\xD1\x8... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD0\xB4\xD0\xBB\xD1\x8F \xD0\xBC\xD1\x8F\xD1... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD0\xBC\xD0\xB0\xD1\x83\xD1\x81 \xD0\xBA\xD0... │ -│ !\xD0\xBA\xD1\x83\xD0\xB3\xD0\xB8 \xD1\x81\xD0\xB5\xD1\x80\xD0\xB8\xD0\xB8 │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 3.610 user 3.612000 sys 0.000000 -D SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┐ -│ SearchPhrase │ -├────────────────────────────────────────────────────────────────────────────────────┤ -│ galaxy s4 zoom \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC │ -│ \xD0\xBD\xD0\xBE\xD1\x87\xD0\xBD\xD0\xBE \xD0\xBA\xD0\xB8\xD1\x82\xD0\xB0\xD1\x... │ -│ \xD1\x81\xD0\xB8\xD0\xBC\xD0\xBF\xD1\x82\xD0\xBE\xD0\xBC\xD1\x8B \xD1\x80\xD0\x... │ -│ \xD1\x84\xD0\xB8\xD0\xBB\xD1\x8C\xD0\xBC \xD0\xBD\xD0\xB5\xD0\xB1\xD0\xBE\xD0\x... │ -│ \xD0\xB0\xD0\xB2\xD0\xBE\xD0\xBC \xD0\xBA\xD0\xBE\xD0\xBD\xD1\x81\xD1\x82\xD0\x... │ -│ \xD0\xB0\xD0\xBD\xD0\xB0\xD0\xBF\xD0\xB0 \xD0\xBE\xD0\xBF\xD0\xB5\xD1\x80\xD0\x... │ -│ \xD0\xB1\xD1\x80\xD0\xB8\xD1\x82\xD0\xB0 \xD0\xB3\xD0\xB0\xD0\xBD\xD0\xB0\xD0\x... │ -│ \xD0\xBA\xD0\xBE\xD0\xBC\xD0\xBF\xD1\x8C\xD1\x8E\xD1\x82\xD0\xB5\xD1\x80\xD0\xB... │ -│ \xD0\xBE\xD1\x82\xD0\xB4\xD1\x8B\xD1\x85\xD0\xB0 \xD1\x87\xD0\xB5\xD0\xBC \xD0\... │ -│ \xD1\x80\xD0\xB0\xD1\x81\xD0\xBF\xD0\xB8\xD1\x81\xD0\xB0\xD0\xBD\xD0\xB8\xD0\xB... │ -└────────────────────────────────────────────────────────────────────────────────────┘ -Run Time: real 3.640 user 3.640000 sys 0.000000 -D SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Binder Error: No function matches the given name and argument types 'length(BLOB)'. You might need to add explicit type casts. - Candidate functions: - length(VARCHAR) -> BIGINT - length(LIST) -> BIGINT - -LINE 1: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM h... - ^ -D Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS key, avg(length(Referer)) AS l, count(*) AS c, min(Referer) FROM hits WHERE Referer != '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -VRun Time: real 0.000 user 0.000000 sys 0.000000 -Error: Binder Error: No function matches the given name and argument types 'regexp_replace(BLOB, VARCHAR, VARCHAR)'. You might need to add explicit type casts. - Candidate functions: - regexp_replace(VARCHAR, VARCHAR, VARCHAR) -> VARCHAR - regexp_replace(VARCHAR, VARCHAR, VARCHAR, VARCHAR) -> VARCHAR - -LINE 1: SELECT REGEXP_REPLACE(Referer, '^https?://(?:w... - ^ -D + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits; -┌──────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐ -│ sum(resolutionwidth) │ sum(resolutionwidth + 1) │ sum(resolutionwidth + 2) │ sum(resolutionwidth + 3) │ sum(resolutionwidth + 4) │ sum(resolutionwidth + 5) │ sum(resolutionwidth + 6) │ sum(resolutionwidth + 7) │ sum(resolutionwidth + 8) │ sum(resolutionwidth + 9) │ sum(resolutionwidth + 10) │ sum(resolutionwidth + 11) │ sum(resolutionwidth + 12) │ sum(resolutionwidth + 13) │ sum(resolutionwidth + 14) │ sum(resolutionwidth + 15) │ sum(resolutionwidth + 16) │ sum(resolutionwidth + 17) │ sum(resolutionwidth + 18) │ sum(resolutionwidth + 19) │ sum(resolutionwidth + 20) │ sum(resolutionwidth + 21) │ sum(resolutionwidth + 22) │ sum(resolutionwidth + 23) │ sum(resolutionwidth + 24) │ sum(resolutionwidth + 25) │ sum(resolutionwidth + 26) │ sum(resolutionwidth + 27) │ sum(resolutionwidth + 28) │ sum(resolutionwidth + 29) │ sum(resolutionwidth + 30) │ sum(resolutionwidth + 31) │ sum(resolutionwidth + 32) │ sum(resolutionwidth + 33) │ sum(resolutionwidth + 34) │ sum(resolutionwidth + 35) │ sum(resolutionwidth + 36) │ sum(resolutionwidth + 37) │ sum(resolutionwidth + 38) │ sum(resolutionwidth + 39) │ sum(resolutionwidth + 40) │ sum(resolutionwidth + 41) │ sum(resolutionwidth + 42) │ sum(resolutionwidth + 43) │ sum(resolutionwidth + 44) │ sum(resolutionwidth + 45) │ sum(resolutionwidth + 46) │ sum(resolutionwidth + 47) │ sum(resolutionwidth + 48) │ sum(resolutionwidth + 49) │ sum(resolutionwidth + 50) │ sum(resolutionwidth + 51) │ sum(resolutionwidth + 52) │ sum(resolutionwidth + 53) │ sum(resolutionwidth + 54) │ sum(resolutionwidth + 55) │ sum(resolutionwidth + 56) │ sum(resolutionwidth + 57) │ sum(resolutionwidth + 58) │ sum(resolutionwidth + 59) │ sum(resolutionwidth + 60) │ sum(resolutionwidth + 61) │ sum(resolutionwidth + 62) │ sum(resolutionwidth + 63) │ sum(resolutionwidth + 64) │ sum(resolutionwidth + 65) │ sum(resolutionwidth + 66) │ sum(resolutionwidth + 67) │ sum(resolutionwidth + 68) │ sum(resolutionwidth + 69) │ sum(resolutionwidth + 70) │ sum(resolutionwidth + 71) │ sum(resolutionwidth + 72) │ sum(resolutionwidth + 73) │ sum(resolutionwidth + 74) │ sum(resolutionwidth + 75) │ sum(resolutionwidth + 76) │ sum(resolutionwidth + 77) │ sum(resolutionwidth + 78) │ sum(resolutionwidth + 79) │ sum(resolutionwidth + 80) │ sum(resolutionwidth + 81) │ sum(resolutionwidth + 82) │ sum(resolutionwidth + 83) │ sum(resolutionwidth + 84) │ sum(resolutionwidth + 85) │ sum(resolutionwidth + 86) │ sum(resolutionwidth + 87) │ sum(resolutionwidth + 88) │ sum(resolutionwidth + 89) │ -├──────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤ -│ 151348908394 │ 151448908394 │ 151548908394 │ 151648908394 │ 151748908394 │ 151848908394 │ 151948908394 │ 152048908394 │ 152148908394 │ 152248908394 │ 152348908394 │ 152448908394 │ 152548908394 │ 152648908394 │ 152748908394 │ 152848908394 │ 152948908394 │ 153048908394 │ 153148908394 │ 153248908394 │ 153348908394 │ 153448908394 │ 153548908394 │ 153648908394 │ 153748908394 │ 153848908394 │ 153948908394 │ 154048908394 │ 154148908394 │ 154248908394 │ 154348908394 │ 154448908394 │ 154548908394 │ 154648908394 │ 154748908394 │ 154848908394 │ 154948908394 │ 155048908394 │ 155148908394 │ 155248908394 │ 155348908394 │ 155448908394 │ 155548908394 │ 155648908394 │ 155748908394 │ 155848908394 │ 155948908394 │ 156048908394 │ 156148908394 │ 156248908394 │ 156348908394 │ 156448908394 │ 156548908394 │ 156648908394 │ 156748908394 │ 156848908394 │ 156948908394 │ 157048908394 │ 157148908394 │ 157248908394 │ 157348908394 │ 157448908394 │ 157548908394 │ 157648908394 │ 157748908394 │ 157848908394 │ 157948908394 │ 158048908394 │ 158148908394 │ 158248908394 │ 158348908394 │ 158448908394 │ 158548908394 │ 158648908394 │ 158748908394 │ 158848908394 │ 158948908394 │ 159048908394 │ 159148908394 │ 159248908394 │ 159348908394 │ 159448908394 │ 159548908394 │ 159648908394 │ 159748908394 │ 159848908394 │ 159948908394 │ 160048908394 │ 160148908394 │ 160248908394 │ -└──────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┘ -Run Time: real 85.256 user 85.252000 sys 0.000000 -D SELECT SearchEngineID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -┌────────────────┬────────────┬──────┬──────────────┬──────────────────────┐ -│ SearchEngineID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├────────────────┼────────────┼──────┼──────────────┼──────────────────────┤ -│ 2 │ 1138507705 │ 1633 │ 35 │ 1408.0122473974282 │ -│ 2 │ 1740861572 │ 1331 │ 28 │ 1577.945905334335 │ -│ 2 │ 3487820196 │ 1144 │ 35 │ 1553.1984265734266 │ -│ 2 │ 3797060577 │ 1140 │ 36 │ 1543.4140350877192 │ -│ 2 │ 2349209741 │ 1105 │ 30 │ 1557.387330316742 │ -│ 2 │ 2424344199 │ 1102 │ 31 │ 1555.6588021778584 │ -│ 2 │ 3663904793 │ 1083 │ 31 │ 1581.8171745152354 │ -│ 2 │ 3829154130 │ 1082 │ 30 │ 1541.253234750462 │ -│ 2 │ 2551371145 │ 1080 │ 24 │ 1559.8092592592593 │ -│ 2 │ 4029049820 │ 1058 │ 32 │ 1556.2003780718337 │ -└────────────────┴────────────┴──────┴──────────────┴──────────────────────┘ -Run Time: real 8.033 user 7.032000 sys 0.048000 -D SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -┌─────────────────────┬────────────┬───┬──────────────┬──────────────────────┐ -│ WatchID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├─────────────────────┼────────────┼───┼──────────────┼──────────────────────┤ -│ 7472773096904766158 │ 972408088 │ 2 │ 0 │ 1368.0 │ -│ 8515267528803597958 │ 2005721512 │ 2 │ 0 │ 1917.0 │ -│ 5431383378337214900 │ 1373018819 │ 2 │ 0 │ 1087.0 │ -│ 4975771741728931240 │ 1594850068 │ 2 │ 0 │ 1917.0 │ -│ 6143560365929503526 │ 2912060982 │ 2 │ 0 │ 1368.0 │ -│ 4661775965756901134 │ 3822464671 │ 2 │ 0 │ 1638.0 │ -│ 5340100429706330950 │ 709893659 │ 2 │ 0 │ 1368.0 │ -│ 5265600775603767970 │ 1677655885 │ 2 │ 0 │ 1396.0 │ -│ 5449946953533528811 │ 3822667196 │ 2 │ 0 │ 1638.0 │ -│ 6426552621243022389 │ 3557962159 │ 2 │ 0 │ 1638.0 │ -└─────────────────────┴────────────┴───┴──────────────┴──────────────────────┘ -Run Time: real 9.317 user 8.380000 sys 0.052000 -D SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -┌─────────────────────┬────────────┬───┬──────────────┬──────────────────────┐ -│ WatchID │ ClientIP │ c │ sum(refresh) │ avg(resolutionwidth) │ -├─────────────────────┼────────────┼───┼──────────────┼──────────────────────┤ -│ 5732691047654519103 │ 1097532796 │ 2 │ 0 │ 1638.0 │ -│ 8308952461884454508 │ 2609801721 │ 2 │ 0 │ 1087.0 │ -│ 7472773096904766158 │ 972408088 │ 2 │ 0 │ 1368.0 │ -│ 7360470262372840837 │ 972408088 │ 2 │ 0 │ 1368.0 │ -│ 4778976465399160621 │ 3938580212 │ 2 │ 2 │ 1638.0 │ -│ 4848145794958638974 │ 3938580212 │ 2 │ 0 │ 1638.0 │ -│ 9172448021081089285 │ 2530876984 │ 2 │ 0 │ 1638.0 │ -│ 6471985135199404171 │ 765833715 │ 2 │ 0 │ 1594.0 │ -│ 8824813183119863159 │ 765833715 │ 2 │ 0 │ 1594.0 │ -│ 8227322756510819845 │ 765833715 │ 2 │ 0 │ 1594.0 │ -└─────────────────────┴────────────┴───┴──────────────┴──────────────────────┘ -Run Time: real 48.016 user 32.076000 sys 8.092000 -D SELECT URL, count(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10; -┌────────────────────────────────────────────────────────────────────────────────────┬─────────┐ -│ URL │ c │ -├────────────────────────────────────────────────────────────────────────────────────┼─────────┤ -│ http://liver.ru/belgorod/page/1006.j\xD0\xBA\xD0\xB8/\xD0\xB4\xD0\xBE\xD0\xBF_\... │ 3288173 │ -│ http://kinopoisk.ru │ 1625251 │ -│ http://bdsm_po_yers=0&with_video │ 791465 │ -│ http://video.yandex │ 582404 │ -│ http://smeshariki.ru/region │ 514984 │ -│ http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with │ 507995 │ -│ http://liver.ru/place_rukodel=365115eb7bbb90 │ 359893 │ -│ http://kinopoisk.ru/vladimir.irr.ru │ 354690 │ -│ http://video.yandex.ru/search/?jenre=50&s_yers │ 318979 │ -│ http://tienskaia-moda │ 289355 │ -└────────────────────────────────────────────────────────────────────────────────────┴─────────┘ -Run Time: real 55.180 user 33.916000 sys 1.012000 -D SELECT 1, URL, count(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -┌───┬────────────────────────────────────────────────────────────────────────────────────┬─────────┐ -│ 1 │ URL │ c │ -├───┼────────────────────────────────────────────────────────────────────────────────────┼─────────┤ -│ 1 │ http://liver.ru/belgorod/page/1006.j\xD0\xBA\xD0\xB8/\xD0\xB4\xD0\xBE\xD0\xBF_\... │ 3288173 │ -│ 1 │ http://kinopoisk.ru │ 1625251 │ -│ 1 │ http://bdsm_po_yers=0&with_video │ 791465 │ -│ 1 │ http://video.yandex │ 582404 │ -│ 1 │ http://smeshariki.ru/region │ 514984 │ -│ 1 │ http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with │ 507995 │ -│ 1 │ http://liver.ru/place_rukodel=365115eb7bbb90 │ 359893 │ -│ 1 │ http://kinopoisk.ru/vladimir.irr.ru │ 354690 │ -│ 1 │ http://video.yandex.ru/search/?jenre=50&s_yers │ 318979 │ -│ 1 │ http://tienskaia-moda │ 289355 │ -└───┴────────────────────────────────────────────────────────────────────────────────────┴─────────┘ -Run Time: real 34.194 user 34.132000 sys 0.060000 -D SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -┌────────────┬──────────────┬──────────────┬──────────────┬───────┐ -│ ClientIP │ clientip - 1 │ clientip - 2 │ clientip - 3 │ c │ -├────────────┼──────────────┼──────────────┼──────────────┼───────┤ -│ 4255045322 │ 4255045321 │ 4255045320 │ 4255045319 │ 47008 │ -│ 2596862839 │ 2596862838 │ 2596862837 │ 2596862836 │ 29121 │ -│ 3119147744 │ 3119147743 │ 3119147742 │ 3119147741 │ 25333 │ -│ 1696638182 │ 1696638181 │ 1696638180 │ 1696638179 │ 20230 │ -│ 1138507705 │ 1138507704 │ 1138507703 │ 1138507702 │ 15778 │ -│ 3367941774 │ 3367941773 │ 3367941772 │ 3367941771 │ 12768 │ -│ 3032827420 │ 3032827419 │ 3032827418 │ 3032827417 │ 11349 │ -│ 1740861572 │ 1740861571 │ 1740861570 │ 1740861569 │ 11315 │ -│ 3487820196 │ 3487820195 │ 3487820194 │ 3487820193 │ 9881 │ -│ 3663904793 │ 3663904792 │ 3663904791 │ 3663904790 │ 9718 │ -└────────────┴──────────────┴──────────────┴──────────────┴───────┘ -Run Time: real 17.028 user 17.024000 sys 0.004000 -D ) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Conversion Error: Could not convert string '2013-07-01' to UINT16 -D PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -Run Time: real 0.001 user 0.000000 sys 0.000000 -Error: Conversion Error: Could not convert string '2013-07-01' to UINT16 -D AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Conversion Error: Could not convert string '2013-07-01' to UINT16 -D ROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -Run Time: real 0.001 user 0.004000 sys 0.000000 -Error: Conversion Error: Could not convert string '2013-07-01' to UINT16 -D ND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Conversion Error: Could not convert string '2013-07-01' to UINT16 -D ate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Conversion Error: Could not convert string '2013-07-01' to UINT16 -D ts WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND "refresh" = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', EventTime) ORDER BY DATE_TRUNC('minute', EventTime); -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Binder Error: No function matches the given name and argument types 'date_trunc(VARCHAR, BIGINT)'. You might need to add explicit type casts. - Candidate functions: - date_trunc(VARCHAR, TIMESTAMP) -> TIMESTAMP - date_trunc(VARCHAR, DATE) -> TIMESTAMP - -LINE 1: ...sh" = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', EventTime) ORDER B... -``` - -Mostly alright but some functions are missing and the types from Parquet are wrong. - -Let's try to load from CSV: - -``` -SELECT * FROM hits_100m_obfuscated INTO OUTFILE 'hits.csv' FORMAT CSV -``` - -``` -$ ./duckdb -v0.3.0 46a0fc50a -Enter ".help" for usage hints. -Connected to a transient in-memory database. -Use ".open FILENAME" to reopen on a persistent database. -D .open 'duckdb.db' -D ; -D PRAGMA temp_directory='duckdb.tmp'; -Error: Parser Error: syntax error at or near "" -LINE 1: PRAGMA temp_directory='duckdb.tmp'; - ^ -D PRAGMA temp_directory='duckdb.tmp'; -Error: Parser Error: syntax error at or near "" -LINE 1: PRAGMA temp_directory='duckdb.tmp'; - ^ -D .open 'duckdb.db'; -D -D SELECT 1 -> ; -┌───┐ -│ 1 │ -├───┤ -│ 1 │ -└───┘ -D PRAGMA temp_directory='duckdb.tmp'; -Error: Parser Error: syntax error at or near "" -LINE 1: PRAGMA temp_directory='duckdb.tmp'; - ^ -D CREATE TABLE hits AS SELECT * FROM read_csv_auto('hits.csv'); -Error: String value is not valid UTF8 -``` - -It does not work for non-UTF8 data. - -Let's cleanup UTF-8. - -``` -clickhouse-local --input-format LineAsString --output-format TSVRaw --structure 's String' --query "SELECT toValidUTF8(s) FROM table" --progress < hits.csv > hits_valid.csv -``` - -``` -D CREATE TABLE hits AS SELECT * FROM read_csv_auto('hits_valid.csv'); -Error: Invalid Input Error: Could not convert string '2149615427' to INT32 in column "column082", between line 137217 and 138240. Parser options: DELIMITER=',' (auto detected), QUOTE='"' (auto detected), ESCAPE='' (auto detected), HEADER=0 (auto detected), SAMPLE_SIZE=10240, ALL_VARCHAR=0. Consider either increasing the sample size (SAMPLE_SIZE=X [X rows] or SAMPLE_SIZE=-1 [all rows]), or skipping column conversion (ALL_VARCHAR=1) -``` - -Does not work either. - -DuckDB CLI does not support history search (Ctrl+R). - -If I write a command and then prepend `-- ` before it, then history navigation becomes completely broken. - -``` -D CREATE TABLE hits AS SELECT * FROM parquet_scan('hits.parquet' ; -Run Time: real 0.000 user 0.000000 sys 0.000000 -Error: Parser Error: syntax error at or near ";" -LINE 1: ...ECT * FROM parquet_scan('hits.parquet' ; - ^ -D CREATE TABLE hits AS SELECT * FROM parquet_scan('hits.parque)' ; -``` - -``` -D CREATE TABLE hits AS SELECT * FROM parquet_scan('hits.parquet'); -Run Time: real 1086.631 user 758.036000 sys 201.360000 -``` - -It's just about 100 000 rows/second. Quite decent but not good. - -Cancelling queries by Ctrl+C does not work. - -I've noticed that DuckDB is using single thread. -Most likely it can be fixed with - -``` -PRAGMA threads = 16; -``` - -``` -PRAGMA threads = 16; -PRAGMA temp_directory='duckdb.tmp'; -.timer on -CREATE TABLE hits AS SELECT * FROM parquet_scan('hits.parquet'); -``` - -It's much better with threads: - -``` -D CREATE TABLE hits AS SELECT * FROM parquet_scan('hits.parquet'); -Run Time: real 315.828 user 447.896000 sys 126.552000 -``` - -Let's run all the queries three times. - -Collecting the results: - -``` -grep -F 'Run Time: real ' log | grep -oP 'real [\d\.]+' | grep -oP '[\d\.]+' | tail -n129 | clickhouse-local --structure 'x Decimal32(3)' --query "SELECT groupArray(x) FROM table GROUP BY rowNumberInAllBlocks() % 43 AS n ORDER BY n" -``` - -Let's create index to speed up point queries: - -``` -D CREATE INDEX counter_id_idx ON hits (CounterID); -Run Time: real 18.194 user 16.256000 sys 0.092000 -``` - -Ok, it's quite fast. - -Rerun the last 7 queries. diff --git a/benchmark/greenplum/README b/benchmark/greenplum/README deleted file mode 100644 index 8339557120e..00000000000 --- a/benchmark/greenplum/README +++ /dev/null @@ -1,43 +0,0 @@ -Folder structure -______________ -dump_dataset_from_ch.sh - bash script that dumps a dataset from Clickhouse -schema.sql - schema for a Greenplum cluster to load dumped dataset in -load_data_set.sql - the script that loads up a dumped dataset -queries.sql - SQL statements used in the benchmark -benchmark.sh - this piece of bash conducts a benchmark -result_parser.py - script to parse benchmark.sh's output and produce python code to build a graph to compare up to 4 benchmark results. -Requirements -____________ - -Greenplum uses a separate server as a point of entry, so you need 2 servers at least to run a cluster: master and segment hosts. 2 segments host and 56 segments(28 per host) had been used while conducting the test. -You has has to put segment hostnames in the benchmark.sh. -Greenplum quick installation instructions -_________________________________________ - -Obtain a stable Greenplum version here(4.3.9.1 was used while conducting the benchmark): -https://network.pivotal.io/products/pivotal-gpdb - -and install it using this detailed guide: -http://gpdb.docs.pivotal.io/4340/install_guide/install_guide.html - -You should change gp_interconnect_type to 'tcp' if cluster members are connected via 1GB link or lower. -There are some variables that has to be changed prior the first benchmark run: gp_vmem_protect_limit and max_statement_mem to allow each segment to use more virtual memory. Here are commands to change this GUCS that has to be executed as gpadmin at the master host: - - gpconfig -c gp_interconnect_type -v tcp - gpconfig -c gp_vmem_protect_limit -v 3000 - gpconfig -c max_statement_mem -v '4000MB' - -How to prepare data -------------------- - -One can prepare datasets to run the benchmark on using dump_dataset_from_ch.sh script from this repo. The script has to be run at at Clickhouse host. It takes a long time to get dumps. - -Upload the datasets into Greenplum master.Then run schema.sql to prepare schema and load_data_set.sql to load data up. This operation also takes a long time. - -How to conduct the benchmark -__________________________ -There is a benchmark.sh that take some arguments. Here is the syntax: - -./benchmark.sh sql_statements_file tablename dbname orca_switch - -If you don't know about the last one then just use a default value. diff --git a/benchmark/greenplum/benchmark.sh b/benchmark/greenplum/benchmark.sh deleted file mode 100755 index 30b881464a5..00000000000 --- a/benchmark/greenplum/benchmark.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash - -filename=${1-queries.sql} -table=$2 -dbname=$3 -orca=${4-on} -host1=somehost -host2=somehost -mem='15GB' -cat $filename | sed "s/{table}/$table/g" | while read query ; -do - ssh -n $host1 'echo 3 | tee /proc/sys/vm/drop_caches; sync' > /dev/null - ssh -n $host2 'echo 3 | tee /proc/sys/vm/drop_caches; sync' > /dev/null - sleep 5 - echo $query | egrep "SELECT UserID, date_trunc\('minute', EventTime\) AS m|SELECT Referer AS key, avg\(length\(Referer\)\) AS l|SELECT URL, count(1) AS c FROM.*GROUP BY URL|SELECT 1, URL, count\(1\) AS c FROM.*GROUP BY 1" && mem='10GB' - echo $query | egrep 'SELECT DISTINCT|GROUP BY UserID, SearchPhrase LIMIT 10|count\(DISTINCT UserID\) AS u' && mem='5GB' - echo "####################" - echo "$query" - echo "Timestamp_begin:$(date)" - echo "\\timing off \\\\set optimizer=$orca; set effective_cache_size='256MB'; set statement_mem='$mem';\\timing on \\\\ $query;" | psql -p 5432 -h 'localhost' -o /dev/null -U gpadmin ${dbname} - echo "Timestamp_end:$(date)" - echo "Timestamp_begin:$(date)" - echo "\\timing off \\\\set optimizer=$orca; set effective_cache_size='50GB'; set statement_mem='$mem';\\timing on \\\\ $query;" | psql -p 5432 -h 'localhost' -o /dev/null -U gpadmin ${dbname} - echo "Timestamp_end:$(date)" - echo "Timestamp_begin:$(date)" - echo "\\timing off \\\\set optimizer=$orca; set effective_cache_size='50GB'; set statement_mem='$mem';\\timing on \\\\ $query;" | psql -p 5432 -h 'localhost' -o /dev/null -U gpadmin ${dbname} - echo "Timestamp_end:$(date)" - echo "$query" - echo '####################' -done diff --git a/benchmark/greenplum/dump_dataset_from_ch.sh b/benchmark/greenplum/dump_dataset_from_ch.sh deleted file mode 100644 index 1b40f07c3f8..00000000000 --- a/benchmark/greenplum/dump_dataset_from_ch.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -for table in hits_10m_single hits_100m_single hits_1000m_single; do - clickhouse-client -q "SELECT (round(WatchID/2), JavaEnable, Title, GoodEvent, EventTime, EventDate, CounterID, ClientIP, RegionID,round(UserID/2), CounterClass, OS, UserAgent, URL, Referer, Refresh, RefererCategoryID, RefererRegionID, URLCategoryID, URLRegionID, ResolutionWidth, ResolutionHeight, ResolutionDepth, FlashMajor, FlashMinor, FlashMinor2, NetMajor, NetMinor, UserAgentMajor, CookieEnable, JavascriptEnable, IsMobile, MobilePhone, MobilePhoneModel, Params, IPNetworkID, TraficSourceID, SearchEngineID, SearchPhrase, AdvEngineID, IsArtifical, WindowClientWidth, WindowClientHeight, ClientTimeZone, ClientEventTime, SilverlightVersion1, SilverlightVersion2, SilverlightVersion3, SilverlightVersion4, PageCharset, CodeVersion, IsLink, IsDownload, IsNotBounce,round(FUniqID/2), OriginalURL, HID, IsOldCounter, IsEvent, IsParameter, DontCountHits, WithHash, HitColor, LocalEventTime, Age, Sex, Income, Interests, Robotness, RemoteIP, WindowName, OpenerName, HistoryLength, SocialNetwork, SocialAction, HTTPError, SendTiming, DNSTiming, ConnectTiming, ResponseStartTiming, ResponseEndTiming, FetchTiming, SocialSourceNetworkID, SocialSourcePage, ParamPrice, ParamOrderID, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID,round(RefererHash/2),round(URLHash/2), CLID) FROM $table FORMAT CSV" > $table -done diff --git a/benchmark/greenplum/load_data_set.sql b/benchmark/greenplum/load_data_set.sql deleted file mode 100644 index 60d31452c6d..00000000000 --- a/benchmark/greenplum/load_data_set.sql +++ /dev/null @@ -1,12 +0,0 @@ -COPY hits_all_10m FROM '/data/hits_10m_single.dump' CSV SEGMENT REJECT LIMIT 30 PERCENT; -CREATE INDEX pk_counterid_eventdate_userid_10m ON hits_all_10m USING btree (counterid, eventdate, userid); -CREATE INDEX idx_10m_counterid on hits_all_10m using btree (counterid); CREATE INDEX idx_10m_userid on hits_all_10m using btree (userid); -ANALYZE hits_all_10m; -COPY hits_all_100m from '/data/hits_100m_single.dump' CSV SEGMENT REJECT LIMIT 30 PERCENT; -CREATE INDEX pk_counterid_eventdate_userid_100m ON hits_all_100m USING btree (counterid, eventdate, userid); -CREATE INDEX idx_100m_counterid on hits_all_100m using btree (counterid); CREATE INDEX idx_100m_userid on hits_all_100m using btree (userid); -ANALYZE hits_all_100m; -COPY hits_all_1000m from '/data/hits_1000m_single.dump' CSV SEGMENT REJECT LIMIT 30 PERCENT; -CREATE INDEX pk_counterid_eventdate_userid_1000m ON hits_all_1000m USING btree (counterid, eventdate, userid); -CREATE INDEX idx_1000m_counterid on hits_all_1000m using btree (counterid); CREATE INDEX idx_1000m_userid on hits_all_1000m using btree (userid); -ANALYZE hits_all_1000m; diff --git a/benchmark/greenplum/queries.sql b/benchmark/greenplum/queries.sql deleted file mode 100644 index 8b5ed6ed9c8..00000000000 --- a/benchmark/greenplum/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -SELECT count(1) FROM {table} -SELECT count(1) FROM {table} WHERE AdvEngineID != 0 -SELECT sum(AdvEngineID), count(1), avg(ResolutionWidth) FROM {table} -SELECT sum(UserID) FROM {table} -SELECT count(UserID) FROM ( SELECT DISTINCT UserID FROM {table} ) AS d -SELECT count(SearchPhrase) FROM ( SELECT DISTINCT SearchPhrase FROM {table} ) AS d -SELECT min(EventDate), max(EventDate) FROM {table} -SELECT AdvEngineID, count(1) FROM {table} WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY 2 DESC -SELECT RegionID, count(DISTINCT UserID) AS u FROM {table} GROUP BY RegionID ORDER BY u DESC LIMIT 10 -SELECT RegionID, sum(AdvEngineID), count(1) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM {table} GROUP BY RegionID ORDER BY c DESC LIMIT 10 -SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10 -SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10 -SELECT SearchPhrase, count(1) AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10 -SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10 -SELECT SearchEngineID, SearchPhrase, count(1) AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10 -SELECT UserID, count(1) FROM {table} GROUP BY UserID ORDER BY 2 DESC LIMIT 10 -SELECT UserID, SearchPhrase, count(1) FROM {table} GROUP BY UserID, SearchPhrase ORDER BY 3 DESC LIMIT 10 -SELECT UserID, SearchPhrase, count(1) FROM {table} GROUP BY UserID, SearchPhrase LIMIT 10 -SELECT UserID, date_trunc('minute', EventTime) AS m, SearchPhrase, count(1) FROM {table} GROUP BY UserID, m, SearchPhrase ORDER BY count(1) DESC LIMIT 10 -SELECT UserID FROM {table} WHERE UserID = 12345678901234567890 -SELECT count(1) FROM {table} WHERE URL LIKE '%metrika%' -SELECT SearchPhrase, max(URL) as URL, count(1) AS c FROM {table} h WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10 -SELECT SearchPhrase, max(URL) as URL, min(Title) as Title, count(1) AS c, count(DISTINCT UserID) FROM {table} WHERE Title LIKE '%\xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT count(1) FROM {table} -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10 -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10 -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10 -SELECT CounterID, avg(length(URL)) AS l, count(1) AS c FROM {table} WHERE URL != '' GROUP BY CounterID HAVING count(1) > 100000 ORDER BY l DESC LIMIT 25 -SELECT Referer AS key, avg(length(Referer)) AS l, count(1) AS c, Referer FROM {table} WHERE Referer != '' GROUP BY key HAVING count(1) > 100000 ORDER BY l DESC LIMIT 25 -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM {table} -SELECT SearchEngineID, ClientIP, count(1) AS c, sum(Refresh), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10 -SELECT WatchID, ClientIP, count(1) AS c, sum(Refresh), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10 -SELECT WatchID, ClientIP, count(1) AS c, sum(Refresh), avg(ResolutionWidth) FROM {table} GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10 -SELECT URL, count(1) AS c FROM {table} GROUP BY URL ORDER BY c DESC LIMIT 10 -SELECT 1, URL, count(1) AS c FROM {table} GROUP BY 1, URL ORDER BY c DESC LIMIT 10 -SELECT ClientIP AS x, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(1) AS c FROM {table} GROUP BY x, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10 -SELECT URL, count(1) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate between '2013-07-01'::timestamp AND '2013-07-31'::timestamp AND DontCountHits =0 AND Refresh = 0 AND URL <>'' GROUP BY URL ORDER BY PageViews DESC LIMIT 10 -SELECT Title, count(1) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate BETWEEN '2013-07-01'::timestamp AND '2013-07-31'::timestamp AND DontCountHits=0 AND Refresh=0 AND Title <> '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10 -SELECT URL, count(1) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate between '2013-07-01'::timestamp AND '2013-07-31'::timestamp AND Refresh = 0 AND IsLink <> 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -SELECT TraficSourceID, SearchEngineID, AdvEngineID, case when (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END Src, URL AS Dst, count(1) AS PageViews FROM {table} WHERE CounterID = 62 AND eventDate between '2013-07-01'::timestamp AND '2013-07-31'::timestamp AND Refresh = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -SELECT URLHash, EventDate, count(1) AS PageViews FROM {table} WHERE CounterID = 62 AND eventDate between '2013-07-01'::timestamp AND '2013-07-31'::timestamp AND Refresh =0 AND TraficSourceID IN (-1, 6) AND RefererHash = 7135345792483900000 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100 -SELECT WindowClientWidth, WindowClientHeight, count(1) AS PageViews FROM {table} WHERE CounterID = 62 AND eventDate between '2013-07-01'::timestamp AND '2013-07-31'::timestamp AND Refresh =0 AND DontCountHits =0 AND URLHash = 7135345792483900000 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -SELECT date_trunc('minute', EventTime) AS Minute, count(1) AS PageViews FROM {table} WHERE CounterID = 62 AND eventDate between '2013-07-01'::timestamp AND '2013-07-31'::timestamp AND Refresh =0 AND DontCountHits =0 GROUP BY Minute ORDER BY Minute; diff --git a/benchmark/greenplum/result_parser.py b/benchmark/greenplum/result_parser.py deleted file mode 100755 index 4ed1aa5c4a5..00000000000 --- a/benchmark/greenplum/result_parser.py +++ /dev/null @@ -1,150 +0,0 @@ -#!/usr/bin/env python3 - - -import sys -import json - - -def parse_block(block=[], options=[]): - - # print('block is here', block) - # show_query = False - # show_query = options.show_query - result = [] - query = block[0].strip() - if len(block) > 4: - timing1 = block[1].strip().split()[1] - timing2 = block[3].strip().split()[1] - timing3 = block[5].strip().split()[1] - else: - timing1 = block[1].strip().split()[1] - timing2 = block[2].strip().split()[1] - timing3 = block[3].strip().split()[1] - if options.show_queries: - result.append(query) - if not options.show_first_timings: - result += [timing1, timing2, timing3] - else: - result.append(timing1) - return result - - -def read_stats_file(options, fname): - result = [] - int_result = [] - block = [] - time_count = 1 - with open(fname) as f: - - for line in f.readlines(): - - if "SELECT" in line: - if len(block) > 1: - result.append(parse_block(block, options)) - block = [line] - elif "Time:" in line: - block.append(line) - - return result - - -def compare_stats_files(options, arguments): - result = [] - file_output = [] - pyplot_colors = ["y", "b", "g", "r"] - for fname in arguments[1:]: - file_output.append((read_stats_file(options, fname))) - if len(file_output[0]) > 0: - timings_count = len(file_output[0]) - for idx, data_set in enumerate(file_output): - int_result = [] - for timing in data_set: - int_result.append(float(timing[0])) # y values - result.append( - [ - [x for x in range(0, len(int_result))], - int_result, - pyplot_colors[idx] + "^", - ] - ) - # result.append([x for x in range(1, len(int_result)) ]) #x values - # result.append( pyplot_colors[idx] + '^' ) - - return result - - -def parse_args(): - from optparse import OptionParser - - parser = OptionParser(usage="usage: %prog [options] [result_file_path]..") - parser.add_option( - "-q", - "--show-queries", - help="Show statements along with timings", - action="store_true", - dest="show_queries", - ) - parser.add_option( - "-f", - "--show-first-timings", - help="Show only first tries timings", - action="store_true", - dest="show_first_timings", - ) - parser.add_option( - "-c", - "--compare-mode", - help="Prepare output for pyplot comparing result files.", - action="store", - dest="compare_mode", - ) - (options, arguments) = parser.parse_args(sys.argv) - if len(arguments) < 2: - parser.print_usage() - sys.exit(1) - return (options, arguments) - - -def gen_pyplot_code(options, arguments): - result = "" - data_sets = compare_stats_files(options, arguments) - for idx, data_set in enumerate(data_sets, start=0): - x_values, y_values, line_style = data_set - result += "\nplt.plot(" - result += "%s, %s, '%s'" % (x_values, y_values, line_style) - result += ", label='%s try')" % idx - print("import matplotlib.pyplot as plt") - print(result) - print("plt.xlabel('Try number')") - print("plt.ylabel('Timing')") - print("plt.title('Benchmark query timings')") - print("plt.legend()") - print("plt.show()") - - -def gen_html_json(options, arguments): - tuples = read_stats_file(options, arguments[1]) - print("{") - print('"system: GreenPlum(x2),') - print(('"version": "%s",' % "4.3.9.1")) - print('"data_size": 10000000,') - print('"time": "",') - print('"comments": "",') - print('"result":') - print("[") - for s in tuples: - print(s) - print("]") - print("}") - - -def main(): - (options, arguments) = parse_args() - if len(arguments) > 2: - gen_pyplot_code(options, arguments) - else: - gen_html_json(options, arguments) - - -if __name__ == "__main__": - main() diff --git a/benchmark/greenplum/schema.sql b/benchmark/greenplum/schema.sql deleted file mode 100644 index f2bde529b75..00000000000 --- a/benchmark/greenplum/schema.sql +++ /dev/null @@ -1,3 +0,0 @@ -CREATE TABLE hits_all_10m ( WatchID bigint, JavaEnable int, Title text, GoodEvent int, EventTime timestamp, EventDate timestamp, CounterID bigint, ClientIP bigint, RegionID bigint, UserID bigint, CounterClass int, OS int, UserAgent int, URL text, Referer text, Refresh int, RefererCategoryID int, RefererRegionID bigint, URLCategoryID int, URLRegionID bigint, ResolutionWidth int, ResolutionHeight int, ResolutionDepth int, FlashMajor int, FlashMinor int, FlashMinor2 text, NetMajor int, NetMinor int, UserAgentMajor int, CookieEnable int, JavascriptEnable int, IsMobile int, MobilePhone int, MobilePhoneModel text, Params text, IPNetworkID bigint, TraficSourceID int, SearchEngineID int, SearchPhrase text, AdvEngineID int, IsArtifical int, WindowClientWidth int, WindowClientHeight int, ClientTimeZone int, ClientEventTime timestamp, SilverlightVersion1 int, SilverlightVersion2 int, SilverlightVersion3 bigint, SilverlightVersion4 int, PageCharset text, CodeVersion bigint, IsLink int, IsDownload int, IsNotBounce int, FUniqID bigint, OriginalURL text, HID bigint, IsOldCounter int, IsEvent int, IsParameter int, DontCountHits int, WithHash int, HitColor varchar(3), LocalEventTime timestamp, Age int, Sex int, Income int, Interests int, Robotness int, RemoteIP bigint, WindowName int, OpenerName int, HistoryLength int, SocialNetwork text, SocialAction text, HTTPError int, SendTiming bigint, DNSTiming bigint, ConnectTiming bigint, ResponseStartTiming bigint, ResponseEndTiming bigint, FetchTiming bigint, SocialSourceNetworkID int, SocialSourcePage text, ParamPrice int, ParamOrderID text, OpenstatServiceName text, OpenstatCampaignID text, OpenstatAdID text, OpenstatSourceID text, UTMSource text, UTMMedium text, UTMCampaign text, UTMContent text, UTMTerm text, FromTag text, HasGCLID int, RefererHash bigint, URLHash bigint, CLID bigint) WITH (appendonly=true, orientation=column, compresstype=quicklz) DISTRIBUTED BY (userid) ; -CREATE TABLE hits_all_100m ( WatchID bigint, JavaEnable int, Title text, GoodEvent int, EventTime timestamp, EventDate timestamp, CounterID bigint, ClientIP bigint, RegionID bigint, UserID bigint, CounterClass int, OS int, UserAgent int, URL text, Referer text, Refresh int, RefererCategoryID int, RefererRegionID bigint, URLCategoryID int, URLRegionID bigint, ResolutionWidth int, ResolutionHeight int, ResolutionDepth int, FlashMajor int, FlashMinor int, FlashMinor2 text, NetMajor int, NetMinor int, UserAgentMajor int, CookieEnable int, JavascriptEnable int, IsMobile int, MobilePhone int, MobilePhoneModel text, Params text, IPNetworkID bigint, TraficSourceID int, SearchEngineID int, SearchPhrase text, AdvEngineID int, IsArtifical int, WindowClientWidth int, WindowClientHeight int, ClientTimeZone int, ClientEventTime timestamp, SilverlightVersion1 int, SilverlightVersion2 int, SilverlightVersion3 bigint, SilverlightVersion4 int, PageCharset text, CodeVersion bigint, IsLink int, IsDownload int, IsNotBounce int, FUniqID bigint, OriginalURL text, HID bigint, IsOldCounter int, IsEvent int, IsParameter int, DontCountHits int, WithHash int, HitColor varchar(3), LocalEventTime timestamp, Age int, Sex int, Income int, Interests int, Robotness int, RemoteIP bigint, WindowName int, OpenerName int, HistoryLength int, SocialNetwork text, SocialAction text, HTTPError int, SendTiming bigint, DNSTiming bigint, ConnectTiming bigint, ResponseStartTiming bigint, ResponseEndTiming bigint, FetchTiming bigint, SocialSourceNetworkID int, SocialSourcePage text, ParamPrice int, ParamOrderID text, OpenstatServiceName text, OpenstatCampaignID text, OpenstatAdID text, OpenstatSourceID text, UTMSource text, UTMMedium text, UTMCampaign text, UTMContent text, UTMTerm text, FromTag text, HasGCLID int, RefererHash bigint, URLHash bigint, CLID bigint) WITH (appendonly=true, orientation=column, compresstype=quicklz) DISTRIBUTED BY (userid) ; -CREATE TABLE hits_all_1000m ( WatchID bigint, JavaEnable int, Title text, GoodEvent int, EventTime timestamp, EventDate timestamp, CounterID bigint, ClientIP bigint, RegionID bigint, UserID bigint, CounterClass int, OS int, UserAgent int, URL text, Referer text, Refresh int, RefererCategoryID int, RefererRegionID bigint, URLCategoryID int, URLRegionID bigint, ResolutionWidth int, ResolutionHeight int, ResolutionDepth int, FlashMajor int, FlashMinor int, FlashMinor2 text, NetMajor int, NetMinor int, UserAgentMajor int, CookieEnable int, JavascriptEnable int, IsMobile int, MobilePhone int, MobilePhoneModel text, Params text, IPNetworkID bigint, TraficSourceID int, SearchEngineID int, SearchPhrase text, AdvEngineID int, IsArtifical int, WindowClientWidth int, WindowClientHeight int, ClientTimeZone int, ClientEventTime timestamp, SilverlightVersion1 int, SilverlightVersion2 int, SilverlightVersion3 bigint, SilverlightVersion4 int, PageCharset text, CodeVersion bigint, IsLink int, IsDownload int, IsNotBounce int, FUniqID bigint, OriginalURL text, HID bigint, IsOldCounter int, IsEvent int, IsParameter int, DontCountHits int, WithHash int, HitColor varchar(3), LocalEventTime timestamp, Age int, Sex int, Income int, Interests int, Robotness int, RemoteIP bigint, WindowName int, OpenerName int, HistoryLength int, SocialNetwork text, SocialAction text, HTTPError int, SendTiming bigint, DNSTiming bigint, ConnectTiming bigint, ResponseStartTiming bigint, ResponseEndTiming bigint, FetchTiming bigint, SocialSourceNetworkID int, SocialSourcePage text, ParamPrice int, ParamOrderID text, OpenstatServiceName text, OpenstatCampaignID text, OpenstatAdID text, OpenstatSourceID text, UTMSource text, UTMMedium text, UTMCampaign text, UTMContent text, UTMTerm text, FromTag text, HasGCLID int, RefererHash bigint, URLHash bigint, CLID bigint) WITH (appendonly=true, orientation=column,compresstype=quicklz) DISTRIBUTED BY (userid) ; diff --git a/benchmark/hardware.sh b/benchmark/hardware.sh deleted file mode 100755 index f6206d0257c..00000000000 --- a/benchmark/hardware.sh +++ /dev/null @@ -1,189 +0,0 @@ -#!/bin/bash -e - -if [[ -n $1 ]]; then - SCALE=$1 -else - SCALE=100 -fi - -TABLE="hits_${SCALE}m_obfuscated" -DATASET="${TABLE}_v1.tar.xz" -QUERIES_FILE="queries.sql" -TRIES=3 - -# Note: on older Ubuntu versions, 'axel' does not support IPv6. If you are using IPv6-only servers on very old Ubuntu, just don't install 'axel'. - -FASTER_DOWNLOAD=wget -if command -v axel >/dev/null; then - FASTER_DOWNLOAD=axel -else - echo "It's recommended to install 'axel' for faster downloads." -fi - -if command -v pixz >/dev/null; then - TAR_PARAMS='-Ipixz' -else - echo "It's recommended to install 'pixz' for faster decompression of the dataset." -fi - -mkdir -p clickhouse-benchmark-$SCALE -pushd clickhouse-benchmark-$SCALE - -OS=$(uname -s) -ARCH=$(uname -m) - -DIR= - -if [ "${OS}" = "Linux" ] -then - if [ "${ARCH}" = "x86_64" ] - then - DIR="amd64" - elif [ "${ARCH}" = "aarch64" ] - then - DIR="aarch64" - elif [ "${ARCH}" = "powerpc64le" ] - then - DIR="powerpc64le" - fi -elif [ "${OS}" = "FreeBSD" ] -then - if [ "${ARCH}" = "x86_64" ] - then - DIR="freebsd" - elif [ "${ARCH}" = "aarch64" ] - then - DIR="freebsd-aarch64" - elif [ "${ARCH}" = "powerpc64le" ] - then - DIR="freebsd-powerpc64le" - fi -elif [ "${OS}" = "Darwin" ] -then - if [ "${ARCH}" = "x86_64" ] - then - DIR="macos" - elif [ "${ARCH}" = "aarch64" -o "${ARCH}" = "arm64" ] - then - DIR="macos-aarch64" - fi -fi - -if [ -z "${DIR}" ] -then - echo "The '${OS}' operating system with the '${ARCH}' architecture is not supported." - exit 1 -fi - -URL="https://builds.clickhouse.com/master/${DIR}/clickhouse" -echo -echo "Will download ${URL}" -echo -curl -O "${URL}" && chmod a+x clickhouse || exit 1 -echo -echo "Successfully downloaded the ClickHouse binary" - -chmod a+x clickhouse - -if [[ ! -f $QUERIES_FILE ]]; then - wget "https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/clickhouse/$QUERIES_FILE" -fi - -if [[ ! -d data ]]; then - if [[ ! -f $DATASET ]]; then - $FASTER_DOWNLOAD "https://datasets.clickhouse.com/hits/partitions/$DATASET" - fi - - tar $TAR_PARAMS --strip-components=1 --directory=. -x -v -f $DATASET -fi - -uptime - -echo "Starting clickhouse-server" - -./clickhouse server > server.log 2>&1 & -PID=$! - -function finish { - kill $PID - wait -} -trap finish EXIT - -echo "Waiting for clickhouse-server to start" - -for i in {1..30}; do - sleep 1 - ./clickhouse client --query "SELECT 'The dataset size is: ', count() FROM $TABLE" 2>/dev/null && break || echo '.' - if [[ $i == 30 ]]; then exit 1; fi -done - -echo -echo "Will perform benchmark. Results:" -echo - -cat "$QUERIES_FILE" | sed "s/{table}/${TABLE}/g" | while read query; do - sync - if [ "${OS}" = "Darwin" ] - then - sudo purge > /dev/null - else - echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null - fi - - echo -n "[" - for i in $(seq 1 $TRIES); do - RES=$(./clickhouse client --max_memory_usage 100G --time --format=Null --query="$query" 2>&1 ||:) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" - [[ "$i" != $TRIES ]] && echo -n ", " - done - echo "]," -done - - -echo -echo "Benchmark complete. System info:" -echo - -if [ "${OS}" = "Darwin" ] -then - echo '----Version, build id-----------' - ./clickhouse local --query "SELECT format('Version: {}', version())" - sw_vers | grep BuildVersion - ./clickhouse local --query "SELECT format('The number of threads is: {}', value) FROM system.settings WHERE name = 'max_threads'" --output-format TSVRaw - ./clickhouse local --query "SELECT format('Current time: {}', toString(now(), 'UTC'))" - echo '----CPU-------------------------' - sysctl hw.model - sysctl -a | grep -E 'hw.activecpu|hw.memsize|hw.byteorder|cachesize' - echo '----Disk Free and Total--------' - df -h . - echo '----Memory Free and Total-------' - vm_stat - echo '----Physical Memory Amount------' - ls -l /var/vm - echo '--------------------------------' -else - echo '----Version, build id-----------' - ./clickhouse local --query "SELECT format('Version: {}, build id: {}', version(), buildId())" - ./clickhouse local --query "SELECT format('The number of threads is: {}', value) FROM system.settings WHERE name = 'max_threads'" --output-format TSVRaw - ./clickhouse local --query "SELECT format('Current time: {}', toString(now(), 'UTC'))" - echo '----CPU-------------------------' - cat /proc/cpuinfo | grep -i -F 'model name' | uniq - lscpu - echo '----Block Devices---------------' - lsblk - echo '----Disk Free and Total--------' - df -h . - echo '----Memory Free and Total-------' - free -h - echo '----Physical Memory Amount------' - cat /proc/meminfo | grep MemTotal - echo '----RAID Info-------------------' - cat /proc/mdstat - #echo '----PCI-------------------------' - #lspci - #echo '----All Hardware Info-----------' - #lshw - echo '--------------------------------' -fi -echo diff --git a/benchmark/hive/conf.sh b/benchmark/hive/conf.sh deleted file mode 100644 index 943f488afac..00000000000 --- a/benchmark/hive/conf.sh +++ /dev/null @@ -1,4 +0,0 @@ -CONF_DIR=/home/kartavyy/benchmark/hive -expect_file=$CONF_DIR/expect.tcl -test_file=$CONF_DIR/queries.sql -etc_init_d_service= diff --git a/benchmark/hive/define_schema.sql b/benchmark/hive/define_schema.sql deleted file mode 100644 index 7701a216a0a..00000000000 --- a/benchmark/hive/define_schema.sql +++ /dev/null @@ -1,9 +0,0 @@ -create table hits_10m_raw ( WatchID BIGINT, JavaEnable SMALLINT, Title STRING, GoodEvent SMALLINT, EventTime TIMESTAMP, EventDate TIMESTAMP, CounterID BIGINT, ClientIP BIGINT, RegionID BIGINT, UserID BIGINT, CounterClass TINYINT, OS SMALLINT, UserAgent SMALLINT, URL STRING, Referer STRING, Refresh TINYINT, RefererCategoryID INT, RefererRegionID BIGINT, URLCategoryID INT, URLRegionID BIGINT, ResolutionWidth INT, ResolutionHeight INT, ResolutionDepth SMALLINT, FlashMajor SMALLINT, FlashMinor SMALLINT, FlashMinor2 STRING, NetMajor SMALLINT, NetMinor SMALLINT, UserAgentMajor INT, UserAgentMinor STRING, CookieEnable SMALLINT, JavascriptEnable SMALLINT, IsMobile SMALLINT, MobilePhone SMALLINT, MobilePhoneModel STRING, Params STRING, IPNetworkID BIGINT, TraficSourceID SMALLINT, SearchEngineID INT, SearchPhrase STRING, AdvEngineID SMALLINT, IsArtifical SMALLINT, WindowClientWidth INT, WindowClientHeight INT, ClientTimeZone INT, ClientEventTime TIMESTAMP, SilverlightVersion1 SMALLINT, SilverlightVersion2 SMALLINT, SilverlightVersion3 BIGINT, SilverlightVersion4 INT, PageCharset STRING, CodeVersion BIGINT, IsLink SMALLINT, IsDownload SMALLINT, IsNotBounce SMALLINT, FUniqID BIGINT, OriginalURL STRING, HID BIGINT, IsOldCounter SMALLINT, IsEvent SMALLINT, IsParameter SMALLINT, DontCountHits SMALLINT, WithHash SMALLINT, HitColor STRING, LocalEventTime TIMESTAMP, Age SMALLINT, Sex SMALLINT, Income SMALLINT, Interests INT, Robotness SMALLINT, RemoteIP BIGINT, WindowName INT, OpenerName INT, HistoryLength SMALLINT, BrowserLanguage STRING, BrowserCountry STRING, SocialNetwork STRING, SocialAction STRING, HTTPError INT, SendTiming BIGINT, DNSTiming BIGINT, ConnectTiming BIGINT, ResponseStartTiming BIGINT, ResponseEndTiming BIGINT, FetchTiming BIGINT, SocialSourceNetworkID SMALLINT, SocialSourcePage STRING, ParamPrice BIGINT, ParamOrderID STRING, ParamCurrency STRING, ParamCurrencyID INT, OpenstatServiceName STRING, OpenstatCampaignID STRING, OpenstatAdID STRING, OpenstatSourceID STRING, UTMSource STRING, UTMMedium STRING, UTMCampaign STRING, UTMContent STRING, UTMTerm STRING, FromTag STRING, HasGCLID SMALLINT, RefererHash BIGINT, URLHash BIGINT, CLID BIGINT, UserIDHash BIGINT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; - -load data local inpath '/opt/dump/dump_0.3/dump_hits_10m_meshed_utf8.tsv' overwrite into table hits_10m_raw; - -create table hits_10m ( WatchID BIGINT, JavaEnable SMALLINT, Title STRING, GoodEvent SMALLINT, EventTime TIMESTAMP, EventDate TIMESTAMP, CounterID BIGINT, ClientIP BIGINT, RegionID BIGINT, UserID BIGINT, CounterClass TINYINT, OS SMALLINT, UserAgent SMALLINT, URL STRING, Referer STRING, Refresh TINYINT, RefererCategoryID INT, RefererRegionID BIGINT, URLCategoryID INT, URLRegionID BIGINT, ResolutionWidth INT, ResolutionHeight INT, ResolutionDepth SMALLINT, FlashMajor SMALLINT, FlashMinor SMALLINT, FlashMinor2 STRING, NetMajor SMALLINT, NetMinor SMALLINT, UserAgentMajor INT, UserAgentMinor STRING, CookieEnable SMALLINT, JavascriptEnable SMALLINT, IsMobile SMALLINT, MobilePhone SMALLINT, MobilePhoneModel STRING, Params STRING, IPNetworkID BIGINT, TraficSourceID SMALLINT, SearchEngineID INT, SearchPhrase STRING, AdvEngineID SMALLINT, IsArtifical SMALLINT, WindowClientWidth INT, WindowClientHeight INT, ClientTimeZone INT, ClientEventTime TIMESTAMP, SilverlightVersion1 SMALLINT, SilverlightVersion2 SMALLINT, SilverlightVersion3 BIGINT, SilverlightVersion4 INT, PageCharset STRING, CodeVersion BIGINT, IsLink SMALLINT, IsDownload SMALLINT, IsNotBounce SMALLINT, FUniqID BIGINT, OriginalURL STRING, HID BIGINT, IsOldCounter SMALLINT, IsEvent SMALLINT, IsParameter SMALLINT, DontCountHits SMALLINT, WithHash SMALLINT, HitColor STRING, LocalEventTime TIMESTAMP, Age SMALLINT, Sex SMALLINT, Income SMALLINT, Interests INT, Robotness SMALLINT, RemoteIP BIGINT, WindowName INT, OpenerName INT, HistoryLength SMALLINT, BrowserLanguage STRING, BrowserCountry STRING, SocialNetwork STRING, SocialAction STRING, HTTPError INT, SendTiming BIGINT, DNSTiming BIGINT, ConnectTiming BIGINT, ResponseStartTiming BIGINT, ResponseEndTiming BIGINT, FetchTiming BIGINT, SocialSourceNetworkID SMALLINT, SocialSourcePage STRING, ParamPrice BIGINT, ParamOrderID STRING, ParamCurrency STRING, ParamCurrencyID INT, OpenstatServiceName STRING, OpenstatCampaignID STRING, OpenstatAdID STRING, OpenstatSourceID STRING, UTMSource STRING, UTMMedium STRING, UTMCampaign STRING, UTMContent STRING, UTMTerm STRING, FromTag STRING, HasGCLID SMALLINT, RefererHash BIGINT, URLHash BIGINT, CLID BIGINT, UserIDHash BIGINT ) CLUSTERED BY (EventDate) SORTED BY(CounterID, EventDate, UserIDHash, EventTime) INTO 10 BUCKETS STORED AS ORC tblproperties("orc.compress"="ZLIB"); - -insert overwrite table hits_10m select * from hits_10m_raw; - ---drop table hits_10m_raw; \ No newline at end of file diff --git a/benchmark/hive/expect.tcl b/benchmark/hive/expect.tcl deleted file mode 100644 index 15f43bb7392..00000000000 --- a/benchmark/hive/expect.tcl +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -#!/bin/expect - -# Set timeout -set timeout 600 - -# Get arguments -set query [lindex $argv 0] - -spawn hive - -expect "hive>" -send "$query;\r" - -expect "hive>" -send "quit;\r" - -expect eof \ No newline at end of file diff --git a/benchmark/hive/log/log_100m_tuned b/benchmark/hive/log/log_100m_tuned deleted file mode 100644 index 9bea7f50f4a..00000000000 --- a/benchmark/hive/log/log_100m_tuned +++ /dev/null @@ -1,11574 +0,0 @@ -Not found: /etc/init.d/service with path= -start time: Вт. сент. 17 22:55:26 MSK 2013 - -times: 1 -query: SELECT count(*) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18854@mturlrep13_201309172255_1961113475.txt -hive> SELECT count(*) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0004 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 22:56:16,852 Stage-1 map = 0%, reduce = 0% -2013-09-17 22:56:37,989 Stage-1 map = 1%, reduce = 0% -2013-09-17 22:56:41,077 Stage-1 map = 6%, reduce = 0% -2013-09-17 22:56:43,088 Stage-1 map = 10%, reduce = 0% -2013-09-17 22:56:44,095 Stage-1 map = 14%, reduce = 0% -2013-09-17 22:56:47,115 Stage-1 map = 16%, reduce = 0% -2013-09-17 22:56:48,121 Stage-1 map = 17%, reduce = 0% -2013-09-17 22:56:50,131 Stage-1 map = 24%, reduce = 0% -2013-09-17 22:56:51,144 Stage-1 map = 25%, reduce = 0% -2013-09-17 22:56:53,160 Stage-1 map = 30%, reduce = 0% -2013-09-17 22:56:54,167 Stage-1 map = 32%, reduce = 0% -2013-09-17 22:56:55,173 Stage-1 map = 33%, reduce = 0% -2013-09-17 22:56:56,179 Stage-1 map = 36%, reduce = 0% -2013-09-17 22:56:57,185 Stage-1 map = 37%, reduce = 0% -2013-09-17 22:56:58,199 Stage-1 map = 39%, reduce = 0% -2013-09-17 22:57:00,209 Stage-1 map = 45%, reduce = 0% -2013-09-17 22:57:01,214 Stage-1 map = 46%, reduce = 0% -2013-09-17 22:57:03,223 Stage-1 map = 51%, reduce = 0% -2013-09-17 22:57:04,230 Stage-1 map = 52%, reduce = 0% -2013-09-17 22:57:05,693 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 36.54 sec -2013-09-17 22:57:06,700 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 36.54 sec -2013-09-17 22:57:07,707 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 36.54 sec -2013-09-17 22:57:08,725 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 36.54 sec -2013-09-17 22:57:09,731 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 36.54 sec -2013-09-17 22:57:10,948 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 36.54 sec -2013-09-17 22:57:11,958 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 36.54 sec -2013-09-17 22:57:12,970 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 36.54 sec -2013-09-17 22:57:13,990 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 1483.14 sec -2013-09-17 22:57:15,025 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 1484.59 sec -2013-09-17 22:57:16,048 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 1484.59 sec -2013-09-17 22:57:17,060 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 1484.59 sec -2013-09-17 22:57:18,095 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 1502.09 sec -2013-09-17 22:57:19,123 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 1512.83 sec -2013-09-17 22:57:20,133 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 1530.9 sec -2013-09-17 22:57:21,147 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 1580.07 sec -2013-09-17 22:57:22,153 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 1640.62 sec -2013-09-17 22:57:23,159 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 1677.56 sec -2013-09-17 22:57:24,166 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 1722.04 sec -2013-09-17 22:57:25,267 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 1733.88 sec -2013-09-17 22:57:26,274 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1760.11 sec -2013-09-17 22:57:27,280 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1772.82 sec -2013-09-17 22:57:28,286 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1786.49 sec -2013-09-17 22:57:29,291 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1786.49 sec -2013-09-17 22:57:30,297 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1786.49 sec -2013-09-17 22:57:31,302 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1786.49 sec -2013-09-17 22:57:32,307 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1786.49 sec -2013-09-17 22:57:33,313 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1786.49 sec -2013-09-17 22:57:34,319 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1786.49 sec -2013-09-17 22:57:35,337 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1789.45 sec -2013-09-17 22:57:36,344 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1789.45 sec -2013-09-17 22:57:37,350 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1789.45 sec -MapReduce Total cumulative CPU time: 29 minutes 49 seconds 450 msec -Ended Job = job_201309172235_0004 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 1789.45 sec HDFS Read: 10081441390 HDFS Write: 10 SUCCESS -Total MapReduce CPU Time Spent: 29 minutes 49 seconds 450 msec -OK -100000000 -Time taken: 110.676 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(*) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23942@mturlrep13_201309172257_1656900452.txt -hive> SELECT count(*) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0005 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 22:58:08,971 Stage-1 map = 0%, reduce = 0% -2013-09-17 22:58:29,310 Stage-1 map = 1%, reduce = 0% -2013-09-17 22:58:32,327 Stage-1 map = 4%, reduce = 0% -2013-09-17 22:58:33,338 Stage-1 map = 5%, reduce = 0% -2013-09-17 22:58:34,345 Stage-1 map = 6%, reduce = 0% -2013-09-17 22:58:35,354 Stage-1 map = 8%, reduce = 0% -2013-09-17 22:58:36,360 Stage-1 map = 13%, reduce = 0% -2013-09-17 22:58:37,376 Stage-1 map = 15%, reduce = 0% -2013-09-17 22:58:39,389 Stage-1 map = 17%, reduce = 0% -2013-09-17 22:58:40,408 Stage-1 map = 18%, reduce = 0% -2013-09-17 22:58:41,420 Stage-1 map = 20%, reduce = 0% -2013-09-17 22:58:42,432 Stage-1 map = 25%, reduce = 0% -2013-09-17 22:58:43,444 Stage-1 map = 27%, reduce = 0% -2013-09-17 22:58:44,461 Stage-1 map = 29%, reduce = 0% -2013-09-17 22:58:45,468 Stage-1 map = 31%, reduce = 0% -2013-09-17 22:58:46,488 Stage-1 map = 33%, reduce = 0% -2013-09-17 22:58:48,499 Stage-1 map = 36%, reduce = 0% -2013-09-17 22:58:49,507 Stage-1 map = 38%, reduce = 0% -2013-09-17 22:58:50,513 Stage-1 map = 41%, reduce = 0% -2013-09-17 22:58:51,519 Stage-1 map = 42%, reduce = 0% -2013-09-17 22:58:52,524 Stage-1 map = 45%, reduce = 0% -2013-09-17 22:58:53,529 Stage-1 map = 46%, reduce = 0% -2013-09-17 22:58:54,535 Stage-1 map = 48%, reduce = 0% -2013-09-17 22:58:55,575 Stage-1 map = 51%, reduce = 0% -2013-09-17 22:58:56,602 Stage-1 map = 53%, reduce = 0% -2013-09-17 22:58:57,639 Stage-1 map = 54%, reduce = 0% -2013-09-17 22:58:58,645 Stage-1 map = 57%, reduce = 0% -2013-09-17 22:58:59,664 Stage-1 map = 59%, reduce = 0% -2013-09-17 22:59:01,690 Stage-1 map = 65%, reduce = 0% -2013-09-17 22:59:02,722 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 36.1 sec -2013-09-17 22:59:03,750 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 36.1 sec -2013-09-17 22:59:04,761 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 36.1 sec -2013-09-17 22:59:05,770 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 36.1 sec -2013-09-17 22:59:06,784 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 36.1 sec -2013-09-17 22:59:08,117 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 175.85 sec -2013-09-17 22:59:09,124 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 221.51 sec -2013-09-17 22:59:10,130 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 314.14 sec -2013-09-17 22:59:11,138 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 650.01 sec -2013-09-17 22:59:12,145 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 788.39 sec -2013-09-17 22:59:13,149 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 1123.31 sec -2013-09-17 22:59:14,155 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 1744.89 sec -2013-09-17 22:59:15,161 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 1753.27 sec -2013-09-17 22:59:16,167 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1760.31 sec -2013-09-17 22:59:17,174 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1765.77 sec -2013-09-17 22:59:18,179 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1773.76 sec -2013-09-17 22:59:19,185 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1773.76 sec -2013-09-17 22:59:20,191 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1773.76 sec -2013-09-17 22:59:21,196 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1773.76 sec -2013-09-17 22:59:22,202 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1773.76 sec -2013-09-17 22:59:23,215 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1773.76 sec -2013-09-17 22:59:24,221 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1773.76 sec -2013-09-17 22:59:25,226 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1773.76 sec -2013-09-17 22:59:26,234 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1776.78 sec -2013-09-17 22:59:27,552 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1776.78 sec -MapReduce Total cumulative CPU time: 29 minutes 36 seconds 780 msec -Ended Job = job_201309172235_0005 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 1776.78 sec HDFS Read: 10081441390 HDFS Write: 10 SUCCESS -Total MapReduce CPU Time Spent: 29 minutes 36 seconds 780 msec -OK -100000000 -Time taken: 105.13 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(*) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28935@mturlrep13_201309172259_1582946547.txt -hive> SELECT count(*) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0006 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 22:59:59,626 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:00:21,889 Stage-1 map = 1%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:22,898 Stage-1 map = 1%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:24,158 Stage-1 map = 5%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:25,172 Stage-1 map = 5%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:26,201 Stage-1 map = 6%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:27,208 Stage-1 map = 12%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:28,215 Stage-1 map = 13%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:29,226 Stage-1 map = 16%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:30,236 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:31,983 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:32,998 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:34,970 Stage-1 map = 24%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:35,996 Stage-1 map = 28%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:37,017 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:38,034 Stage-1 map = 30%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:39,050 Stage-1 map = 31%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:40,078 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:41,092 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:42,097 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:43,104 Stage-1 map = 41%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:44,109 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:45,115 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:46,124 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:47,148 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:48,154 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:49,162 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:50,172 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 106.84 sec -2013-09-17 23:00:51,207 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 140.29 sec -2013-09-17 23:00:52,224 Stage-1 map = 62%, reduce = 0%, Cumulative CPU 140.29 sec -2013-09-17 23:00:53,230 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 140.29 sec -2013-09-17 23:00:54,237 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 140.29 sec -2013-09-17 23:00:55,247 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 140.29 sec -2013-09-17 23:00:56,254 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 140.29 sec -2013-09-17 23:00:57,261 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 140.29 sec -2013-09-17 23:00:58,268 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 178.19 sec -2013-09-17 23:00:59,275 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 178.19 sec -2013-09-17 23:01:00,282 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 178.19 sec -2013-09-17 23:01:01,288 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 309.14 sec -2013-09-17 23:01:02,448 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 570.2 sec -2013-09-17 23:01:03,547 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 708.2 sec -2013-09-17 23:01:04,555 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 845.2 sec -2013-09-17 23:01:05,562 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 982.42 sec -2013-09-17 23:01:06,568 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 1312.62 sec -2013-09-17 23:01:07,574 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 1599.05 sec -2013-09-17 23:01:08,580 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 1599.05 sec -2013-09-17 23:01:09,585 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1697.63 sec -2013-09-17 23:01:10,590 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1749.84 sec -2013-09-17 23:01:11,595 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1749.84 sec -2013-09-17 23:01:12,601 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1802.81 sec -2013-09-17 23:01:13,606 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1802.81 sec -2013-09-17 23:01:14,611 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1803.33 sec -2013-09-17 23:01:15,617 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1803.33 sec -2013-09-17 23:01:16,624 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1803.33 sec -2013-09-17 23:01:17,632 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1805.73 sec -2013-09-17 23:01:18,638 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1805.73 sec -2013-09-17 23:01:19,644 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1805.73 sec -MapReduce Total cumulative CPU time: 30 minutes 5 seconds 730 msec -Ended Job = job_201309172235_0006 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 1805.73 sec HDFS Read: 10081441390 HDFS Write: 10 SUCCESS -Total MapReduce CPU Time Spent: 30 minutes 5 seconds 730 msec -OK -100000000 -Time taken: 107.358 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_100m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2345@mturlrep13_201309172301_1950916943.txt -hive> SELECT count(*) FROM hits_100m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0007 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:02:11,138 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:02:22,387 Stage-1 map = 4%, reduce = 0% -2013-09-17 23:02:23,396 Stage-1 map = 11%, reduce = 0% -2013-09-17 23:02:24,402 Stage-1 map = 30%, reduce = 0% -2013-09-17 23:02:25,700 Stage-1 map = 35%, reduce = 0% -2013-09-17 23:02:26,723 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 46.24 sec -2013-09-17 23:02:27,736 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 173.19 sec -2013-09-17 23:02:28,746 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.36 sec -2013-09-17 23:02:29,751 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.36 sec -2013-09-17 23:02:30,756 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.36 sec -2013-09-17 23:02:31,761 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.36 sec -2013-09-17 23:02:32,768 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.36 sec -2013-09-17 23:02:33,774 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.36 sec -2013-09-17 23:02:34,943 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.36 sec -2013-09-17 23:02:35,950 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.36 sec -2013-09-17 23:02:36,959 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 297.32 sec -2013-09-17 23:02:37,967 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 297.32 sec -MapReduce Total cumulative CPU time: 4 minutes 57 seconds 320 msec -Ended Job = job_201309172235_0007 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 297.32 sec HDFS Read: 6282387 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 4 minutes 57 seconds 320 msec -OK -630535 -Time taken: 55.195 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(*) FROM hits_100m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7709@mturlrep13_201309172302_964147901.txt -hive> SELECT count(*) FROM hits_100m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0008 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:02:52,920 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:03:03,995 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:03:05,016 Stage-1 map = 3%, reduce = 0% -2013-09-17 23:03:06,076 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 6.7 sec -2013-09-17 23:03:07,088 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 210.4 sec -2013-09-17 23:03:08,096 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.76 sec -2013-09-17 23:03:09,102 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.76 sec -2013-09-17 23:03:10,109 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.76 sec -2013-09-17 23:03:11,114 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.76 sec -2013-09-17 23:03:12,127 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.76 sec -2013-09-17 23:03:13,133 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 294.76 sec -2013-09-17 23:03:14,139 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 294.76 sec -2013-09-17 23:03:15,146 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 295.45 sec -2013-09-17 23:03:16,154 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 297.51 sec -2013-09-17 23:03:17,160 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 297.51 sec -MapReduce Total cumulative CPU time: 4 minutes 57 seconds 510 msec -Ended Job = job_201309172235_0008 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 297.51 sec HDFS Read: 6282387 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 4 minutes 57 seconds 510 msec -OK -630535 -Time taken: 36.435 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(*) FROM hits_100m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12665@mturlrep13_201309172303_2013045725.txt -hive> SELECT count(*) FROM hits_100m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0009 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:03:27,027 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:03:37,093 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:03:40,143 Stage-1 map = 41%, reduce = 0% -2013-09-17 23:03:41,161 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 171.9 sec -2013-09-17 23:03:42,169 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 298.73 sec -2013-09-17 23:03:43,177 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 298.73 sec -2013-09-17 23:03:44,184 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 298.73 sec -2013-09-17 23:03:45,190 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 298.73 sec -2013-09-17 23:03:46,196 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 298.73 sec -2013-09-17 23:03:47,202 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 298.73 sec -2013-09-17 23:03:48,208 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 298.73 sec -2013-09-17 23:03:49,214 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 298.73 sec -2013-09-17 23:03:50,223 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 301.9 sec -2013-09-17 23:03:51,229 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 301.9 sec -MapReduce Total cumulative CPU time: 5 minutes 1 seconds 900 msec -Ended Job = job_201309172235_0009 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 301.9 sec HDFS Read: 6282387 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 1 seconds 900 msec -OK -630535 -Time taken: 32.201 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17646@mturlrep13_201309172303_809195796.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0010 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:04:11,044 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:04:30,217 Stage-1 map = 21%, reduce = 0%, Cumulative CPU 29.16 sec -2013-09-17 23:04:31,225 Stage-1 map = 35%, reduce = 0%, Cumulative CPU 90.03 sec -2013-09-17 23:04:32,231 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 230.36 sec -2013-09-17 23:04:33,237 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 349.12 sec -2013-09-17 23:04:34,243 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 391.27 sec -2013-09-17 23:04:35,249 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 391.27 sec -2013-09-17 23:04:36,255 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 391.27 sec -2013-09-17 23:04:37,261 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 391.27 sec -2013-09-17 23:04:38,267 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 391.27 sec -2013-09-17 23:04:39,276 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 393.94 sec -2013-09-17 23:04:40,283 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 393.94 sec -MapReduce Total cumulative CPU time: 6 minutes 33 seconds 940 msec -Ended Job = job_201309172235_0010 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 393.94 sec HDFS Read: 78754487 HDFS Write: 32 SUCCESS -Total MapReduce CPU Time Spent: 6 minutes 33 seconds 940 msec -OK -Time taken: 39.991 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22907@mturlrep13_201309172304_403247887.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0011 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:04:50,128 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:05:02,260 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:05:03,278 Stage-1 map = 13%, reduce = 0% -2013-09-17 23:05:04,299 Stage-1 map = 25%, reduce = 0% -2013-09-17 23:05:05,308 Stage-1 map = 30%, reduce = 0% -2013-09-17 23:05:06,333 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 9.21 sec -2013-09-17 23:05:07,352 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 39.3 sec -2013-09-17 23:05:08,369 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 377.82 sec -2013-09-17 23:05:09,375 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 401.7 sec -2013-09-17 23:05:10,381 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 401.7 sec -2013-09-17 23:05:11,387 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 401.7 sec -2013-09-17 23:05:12,393 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 401.7 sec -2013-09-17 23:05:13,399 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 401.7 sec -2013-09-17 23:05:14,405 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 401.7 sec -2013-09-17 23:05:15,411 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 401.7 sec -2013-09-17 23:05:16,419 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 404.35 sec -2013-09-17 23:05:17,426 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 404.35 sec -MapReduce Total cumulative CPU time: 6 minutes 44 seconds 350 msec -Ended Job = job_201309172235_0011 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 404.35 sec HDFS Read: 78754487 HDFS Write: 32 SUCCESS -Total MapReduce CPU Time Spent: 6 minutes 44 seconds 350 msec -OK -Time taken: 35.143 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28807@mturlrep13_201309172305_1471136727.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0012 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:05:28,152 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:05:40,255 Stage-1 map = 7%, reduce = 0% -2013-09-17 23:05:41,260 Stage-1 map = 22%, reduce = 0% -2013-09-17 23:05:42,266 Stage-1 map = 28%, reduce = 0% -2013-09-17 23:05:43,279 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 9.21 sec -2013-09-17 23:05:44,286 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 90.45 sec -2013-09-17 23:05:45,294 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 363.6 sec -2013-09-17 23:05:46,301 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 399.15 sec -2013-09-17 23:05:47,307 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 399.15 sec -2013-09-17 23:05:48,312 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 399.15 sec -2013-09-17 23:05:49,317 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 399.15 sec -2013-09-17 23:05:50,323 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 399.15 sec -2013-09-17 23:05:51,329 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 399.15 sec -2013-09-17 23:05:52,334 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 399.15 sec -2013-09-17 23:05:53,343 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 402.09 sec -2013-09-17 23:05:54,348 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 402.09 sec -MapReduce Total cumulative CPU time: 6 minutes 42 seconds 90 msec -Ended Job = job_201309172235_0012 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 402.09 sec HDFS Read: 78754487 HDFS Write: 32 SUCCESS -Total MapReduce CPU Time Spent: 6 minutes 42 seconds 90 msec -OK -Time taken: 35.085 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT sum(UserID) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1699@mturlrep13_201309172306_1224643663.txt -hive> SELECT sum(UserID) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0013 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:06:12,215 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:06:22,307 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:06:24,332 Stage-1 map = 5%, reduce = 0% -2013-09-17 23:06:26,810 Stage-1 map = 15%, reduce = 0% -2013-09-17 23:06:27,822 Stage-1 map = 17%, reduce = 0%, Cumulative CPU 7.28 sec -2013-09-17 23:06:28,829 Stage-1 map = 17%, reduce = 0%, Cumulative CPU 7.28 sec -2013-09-17 23:06:29,837 Stage-1 map = 17%, reduce = 0%, Cumulative CPU 7.28 sec -2013-09-17 23:06:32,109 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 25.3 sec -2013-09-17 23:06:33,115 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 25.3 sec -2013-09-17 23:06:35,953 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 34.74 sec -2013-09-17 23:06:36,962 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 352.67 sec -2013-09-17 23:06:37,968 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 352.67 sec -2013-09-17 23:06:38,974 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 352.67 sec -2013-09-17 23:06:39,979 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 352.67 sec -2013-09-17 23:06:40,985 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 352.67 sec -2013-09-17 23:06:41,991 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 352.67 sec -2013-09-17 23:06:42,997 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 352.67 sec -2013-09-17 23:06:44,006 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 355.35 sec -2013-09-17 23:06:45,013 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 355.35 sec -2013-09-17 23:06:46,025 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 355.35 sec -MapReduce Total cumulative CPU time: 5 minutes 55 seconds 350 msec -Ended Job = job_201309172235_0013 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 355.35 sec HDFS Read: 663537300 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 55 seconds 350 msec -OK --2020069000640784227 -Time taken: 44.465 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT sum(UserID) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7091@mturlrep13_201309172306_2064459587.txt -hive> SELECT sum(UserID) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0014 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:06:55,801 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:07:07,899 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:07:08,910 Stage-1 map = 20%, reduce = 0% -2013-09-17 23:07:09,919 Stage-1 map = 38%, reduce = 0% -2013-09-17 23:07:10,933 Stage-1 map = 45%, reduce = 0%, Cumulative CPU 26.96 sec -2013-09-17 23:07:11,941 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 277.91 sec -2013-09-17 23:07:12,948 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.42 sec -2013-09-17 23:07:13,954 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.42 sec -2013-09-17 23:07:14,960 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.42 sec -2013-09-17 23:07:15,966 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.42 sec -2013-09-17 23:07:16,972 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.42 sec -2013-09-17 23:07:17,978 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.42 sec -2013-09-17 23:07:18,984 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 349.42 sec -2013-09-17 23:07:19,992 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 352.35 sec -2013-09-17 23:07:20,998 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 352.35 sec -2013-09-17 23:07:22,005 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 352.35 sec -MapReduce Total cumulative CPU time: 5 minutes 52 seconds 350 msec -Ended Job = job_201309172235_0014 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 352.35 sec HDFS Read: 663537300 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 52 seconds 350 msec -OK --2020069000640784227 -Time taken: 34.131 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT sum(UserID) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12067@mturlrep13_201309172307_240829598.txt -hive> SELECT sum(UserID) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0015 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:07:31,722 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:07:43,798 Stage-1 map = 3%, reduce = 0% -2013-09-17 23:07:44,804 Stage-1 map = 24%, reduce = 0% -2013-09-17 23:07:45,810 Stage-1 map = 38%, reduce = 0% -2013-09-17 23:07:46,822 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 33.64 sec -2013-09-17 23:07:47,830 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 257.18 sec -2013-09-17 23:07:48,837 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.23 sec -2013-09-17 23:07:49,842 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.23 sec -2013-09-17 23:07:50,847 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.23 sec -2013-09-17 23:07:51,852 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.23 sec -2013-09-17 23:07:52,858 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.23 sec -2013-09-17 23:07:53,863 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 349.23 sec -2013-09-17 23:07:54,869 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 349.23 sec -2013-09-17 23:07:55,877 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 352.02 sec -2013-09-17 23:07:56,884 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 352.02 sec -2013-09-17 23:07:57,889 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 352.02 sec -MapReduce Total cumulative CPU time: 5 minutes 52 seconds 20 msec -Ended Job = job_201309172235_0015 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 352.02 sec HDFS Read: 663537300 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 52 seconds 20 msec -OK --2020069000640784227 -Time taken: 34.032 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT count(DISTINCT UserID) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17039@mturlrep13_201309172308_800014414.txt -hive> SELECT count(DISTINCT UserID) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0016 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:08:15,876 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:08:25,047 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:08:27,066 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:08:28,077 Stage-1 map = 6%, reduce = 0% -2013-09-17 23:08:29,083 Stage-1 map = 11%, reduce = 0% -2013-09-17 23:08:30,088 Stage-1 map = 18%, reduce = 0% -2013-09-17 23:08:31,110 Stage-1 map = 19%, reduce = 0% -2013-09-17 23:08:32,125 Stage-1 map = 29%, reduce = 0% -2013-09-17 23:08:33,130 Stage-1 map = 34%, reduce = 0% -2013-09-17 23:08:35,158 Stage-1 map = 47%, reduce = 0% -2013-09-17 23:08:36,166 Stage-1 map = 51%, reduce = 0% -2013-09-17 23:08:38,177 Stage-1 map = 65%, reduce = 0% -2013-09-17 23:08:39,189 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 29.98 sec -2013-09-17 23:08:40,216 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 101.62 sec -2013-09-17 23:08:41,230 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 101.62 sec -2013-09-17 23:08:42,264 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 101.62 sec -2013-09-17 23:08:43,274 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 179.43 sec -2013-09-17 23:08:44,289 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 250.32 sec -2013-09-17 23:08:45,300 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 338.89 sec -2013-09-17 23:08:46,306 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 456.84 sec -2013-09-17 23:08:47,312 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 496.19 sec -2013-09-17 23:08:48,318 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 522.86 sec -2013-09-17 23:08:49,323 Stage-1 map = 98%, reduce = 1%, Cumulative CPU 600.26 sec -2013-09-17 23:08:50,329 Stage-1 map = 99%, reduce = 1%, Cumulative CPU 653.17 sec -2013-09-17 23:08:51,335 Stage-1 map = 99%, reduce = 1%, Cumulative CPU 653.17 sec -2013-09-17 23:08:52,341 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 708.39 sec -2013-09-17 23:08:53,347 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 708.39 sec -2013-09-17 23:08:54,352 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 708.39 sec -2013-09-17 23:08:55,359 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 708.39 sec -2013-09-17 23:08:56,365 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 708.39 sec -2013-09-17 23:08:57,371 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 708.39 sec -2013-09-17 23:08:58,377 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 708.39 sec -2013-09-17 23:08:59,383 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 708.39 sec -2013-09-17 23:09:00,389 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 708.39 sec -2013-09-17 23:09:01,395 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:02,401 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:03,406 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:04,412 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:05,418 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:06,424 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:07,430 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:08,436 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:09,442 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:10,447 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:11,453 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:12,459 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:13,464 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:14,470 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 708.39 sec -2013-09-17 23:09:15,476 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 733.92 sec -2013-09-17 23:09:16,482 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 733.92 sec -2013-09-17 23:09:17,488 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 733.92 sec -2013-09-17 23:09:18,494 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 733.92 sec -2013-09-17 23:09:19,500 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 733.92 sec -2013-09-17 23:09:20,506 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 733.92 sec -2013-09-17 23:09:21,511 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 733.92 sec -2013-09-17 23:09:22,517 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 733.92 sec -2013-09-17 23:09:23,523 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 733.92 sec -2013-09-17 23:09:24,595 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 733.92 sec -2013-09-17 23:09:25,601 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 733.92 sec -2013-09-17 23:09:26,607 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 733.92 sec -2013-09-17 23:09:27,613 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 733.92 sec -2013-09-17 23:09:28,619 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 733.92 sec -2013-09-17 23:09:29,625 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 733.92 sec -2013-09-17 23:09:30,631 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 733.92 sec -2013-09-17 23:09:31,637 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 733.92 sec -2013-09-17 23:09:32,643 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 733.92 sec -2013-09-17 23:09:33,650 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 733.92 sec -2013-09-17 23:09:36,622 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 733.92 sec -2013-09-17 23:09:37,628 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 733.92 sec -2013-09-17 23:09:38,634 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 733.92 sec -2013-09-17 23:09:39,648 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 733.92 sec -2013-09-17 23:09:40,654 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 733.92 sec -2013-09-17 23:09:41,660 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 733.92 sec -2013-09-17 23:09:42,666 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 733.92 sec -2013-09-17 23:09:43,672 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 733.92 sec -2013-09-17 23:09:44,677 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 733.92 sec -2013-09-17 23:09:45,683 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 733.92 sec -2013-09-17 23:09:46,689 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 733.92 sec -2013-09-17 23:09:47,695 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 733.92 sec -2013-09-17 23:09:48,702 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 733.92 sec -2013-09-17 23:09:49,708 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 733.92 sec -2013-09-17 23:09:50,714 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 733.92 sec -2013-09-17 23:09:51,720 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 733.92 sec -2013-09-17 23:09:52,726 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 733.92 sec -2013-09-17 23:09:53,732 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 733.92 sec -2013-09-17 23:09:54,740 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 775.12 sec -2013-09-17 23:09:55,746 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 775.12 sec -MapReduce Total cumulative CPU time: 12 minutes 55 seconds 120 msec -Ended Job = job_201309172235_0016 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 775.12 sec HDFS Read: 663537300 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 12 minutes 55 seconds 120 msec -OK -17630976 -Time taken: 110.69 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(DISTINCT UserID) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22191@mturlrep13_201309172309_1602577058.txt -hive> SELECT count(DISTINCT UserID) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0017 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:10:05,908 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:10:18,029 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:10:19,113 Stage-1 map = 16%, reduce = 0% -2013-09-17 23:10:20,139 Stage-1 map = 18%, reduce = 0% -2013-09-17 23:10:21,150 Stage-1 map = 19%, reduce = 0% -2013-09-17 23:10:22,158 Stage-1 map = 46%, reduce = 0% -2013-09-17 23:10:23,166 Stage-1 map = 56%, reduce = 0% -2013-09-17 23:10:24,186 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 10.62 sec -2013-09-17 23:10:25,199 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 10.62 sec -2013-09-17 23:10:26,206 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 10.62 sec -2013-09-17 23:10:27,222 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 37.91 sec -2013-09-17 23:10:28,230 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 79.92 sec -2013-09-17 23:10:29,287 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 172.39 sec -2013-09-17 23:10:30,300 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 220.22 sec -2013-09-17 23:10:31,311 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 326.41 sec -2013-09-17 23:10:32,317 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 441.77 sec -2013-09-17 23:10:33,324 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 481.76 sec -2013-09-17 23:10:34,330 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 481.76 sec -2013-09-17 23:10:35,337 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 481.76 sec -2013-09-17 23:10:36,344 Stage-1 map = 97%, reduce = 11%, Cumulative CPU 507.3 sec -2013-09-17 23:10:37,351 Stage-1 map = 98%, reduce = 11%, Cumulative CPU 610.94 sec -2013-09-17 23:10:38,357 Stage-1 map = 99%, reduce = 11%, Cumulative CPU 610.94 sec -2013-09-17 23:10:39,362 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 693.79 sec -2013-09-17 23:10:40,368 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 693.79 sec -2013-09-17 23:10:41,375 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 693.79 sec -2013-09-17 23:10:42,381 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 693.79 sec -2013-09-17 23:10:43,388 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 693.79 sec -2013-09-17 23:10:44,393 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 693.79 sec -2013-09-17 23:10:45,399 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:46,404 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:47,409 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:48,414 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:49,419 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:50,424 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:51,429 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:52,435 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:53,440 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:54,446 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:55,451 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:56,456 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:57,461 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:58,836 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:10:59,948 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:11:00,953 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:11:01,958 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:11:02,963 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:11:05,322 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 693.79 sec -2013-09-17 23:11:06,328 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 693.79 sec -2013-09-17 23:11:07,333 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 693.79 sec -2013-09-17 23:11:08,339 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 693.79 sec -2013-09-17 23:11:09,344 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 693.79 sec -2013-09-17 23:11:10,349 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 693.79 sec -2013-09-17 23:11:12,853 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 693.79 sec -2013-09-17 23:11:13,858 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 693.79 sec -2013-09-17 23:11:14,864 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 693.79 sec -2013-09-17 23:11:21,480 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 734.95 sec -2013-09-17 23:11:22,485 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 734.95 sec -2013-09-17 23:11:23,490 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 734.95 sec -2013-09-17 23:11:24,496 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 734.95 sec -2013-09-17 23:11:25,501 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 734.95 sec -2013-09-17 23:11:26,506 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 734.95 sec -2013-09-17 23:11:27,512 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 734.95 sec -2013-09-17 23:11:28,517 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 734.95 sec -2013-09-17 23:11:29,522 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 734.95 sec -2013-09-17 23:11:30,527 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 734.95 sec -2013-09-17 23:11:31,543 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 734.95 sec -2013-09-17 23:11:32,548 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 734.95 sec -2013-09-17 23:11:33,553 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 734.95 sec -2013-09-17 23:11:34,558 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 734.95 sec -2013-09-17 23:11:35,562 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 734.95 sec -2013-09-17 23:11:36,568 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 734.95 sec -2013-09-17 23:11:37,573 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 734.95 sec -2013-09-17 23:11:38,578 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 734.95 sec -2013-09-17 23:11:39,583 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 734.95 sec -2013-09-17 23:11:40,588 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 734.95 sec -2013-09-17 23:11:41,593 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 761.58 sec -2013-09-17 23:11:42,599 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 761.58 sec -2013-09-17 23:11:43,605 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 761.58 sec -MapReduce Total cumulative CPU time: 12 minutes 41 seconds 580 msec -Ended Job = job_201309172235_0017 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 761.58 sec HDFS Read: 663537300 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 12 minutes 41 seconds 580 msec -OK -17630976 -Time taken: 105.953 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(DISTINCT UserID) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28018@mturlrep13_201309172311_1489682234.txt -hive> SELECT count(DISTINCT UserID) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0018 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:11:54,362 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:12:06,510 Stage-1 map = 9%, reduce = 0% -2013-09-17 23:12:07,520 Stage-1 map = 20%, reduce = 0% -2013-09-17 23:12:08,525 Stage-1 map = 24%, reduce = 0% -2013-09-17 23:12:09,532 Stage-1 map = 35%, reduce = 0% -2013-09-17 23:12:10,537 Stage-1 map = 55%, reduce = 0% -2013-09-17 23:12:11,543 Stage-1 map = 58%, reduce = 0% -2013-09-17 23:12:12,555 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 11.81 sec -2013-09-17 23:12:13,575 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 11.81 sec -2013-09-17 23:12:14,581 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 11.81 sec -2013-09-17 23:12:15,598 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 81.59 sec -2013-09-17 23:12:16,636 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 141.75 sec -2013-09-17 23:12:17,658 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 223.95 sec -2013-09-17 23:12:18,665 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 293.32 sec -2013-09-17 23:12:19,671 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 427.68 sec -2013-09-17 23:12:20,678 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 487.22 sec -2013-09-17 23:12:21,684 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 642.1 sec -2013-09-17 23:12:22,691 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 642.1 sec -2013-09-17 23:12:23,697 Stage-1 map = 96%, reduce = 11%, Cumulative CPU 642.1 sec -2013-09-17 23:12:24,703 Stage-1 map = 98%, reduce = 11%, Cumulative CPU 665.75 sec -2013-09-17 23:12:25,709 Stage-1 map = 99%, reduce = 11%, Cumulative CPU 680.97 sec -2013-09-17 23:12:26,715 Stage-1 map = 100%, reduce = 11%, Cumulative CPU 699.12 sec -2013-09-17 23:12:27,720 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 699.12 sec -2013-09-17 23:12:28,725 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 699.12 sec -2013-09-17 23:12:29,730 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 699.12 sec -2013-09-17 23:12:30,736 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 699.12 sec -2013-09-17 23:12:31,741 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 699.12 sec -2013-09-17 23:12:32,747 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 699.12 sec -2013-09-17 23:12:33,752 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:34,757 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:35,762 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:36,766 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:37,771 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:38,776 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:39,780 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:40,785 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:41,789 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:42,794 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:43,798 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:44,803 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:45,808 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:46,813 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:48,011 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:49,016 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:50,021 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:51,025 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:52,030 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:53,035 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:54,041 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 699.12 sec -2013-09-17 23:12:55,046 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 699.12 sec -2013-09-17 23:12:56,051 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 699.12 sec -2013-09-17 23:12:57,056 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 699.12 sec -2013-09-17 23:12:58,061 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 699.12 sec -2013-09-17 23:12:59,066 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 699.12 sec -2013-09-17 23:13:00,071 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 699.12 sec -2013-09-17 23:13:01,076 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 699.12 sec -2013-09-17 23:13:02,081 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 699.12 sec -2013-09-17 23:13:03,086 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 699.12 sec -2013-09-17 23:13:09,756 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 699.12 sec -2013-09-17 23:13:10,762 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 699.12 sec -2013-09-17 23:13:11,767 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 699.12 sec -2013-09-17 23:13:12,773 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 699.12 sec -2013-09-17 23:13:13,779 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 699.12 sec -2013-09-17 23:13:14,784 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 699.12 sec -2013-09-17 23:13:15,790 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 699.12 sec -2013-09-17 23:13:16,795 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 699.12 sec -2013-09-17 23:13:17,800 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 699.12 sec -2013-09-17 23:13:18,805 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 699.12 sec -2013-09-17 23:13:19,815 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 699.12 sec -2013-09-17 23:13:20,820 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 699.12 sec -2013-09-17 23:13:21,827 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 755.01 sec -2013-09-17 23:13:22,832 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 755.01 sec -2013-09-17 23:13:23,837 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 755.01 sec -2013-09-17 23:13:24,844 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 755.01 sec -2013-09-17 23:13:25,849 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 755.01 sec -2013-09-17 23:13:26,855 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 755.01 sec -2013-09-17 23:13:27,860 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 755.01 sec -2013-09-17 23:13:28,866 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 755.01 sec -2013-09-17 23:13:29,872 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 755.01 sec -2013-09-17 23:13:30,877 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 764.66 sec -2013-09-17 23:13:31,883 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 764.66 sec -2013-09-17 23:13:32,888 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 764.66 sec -MapReduce Total cumulative CPU time: 12 minutes 44 seconds 660 msec -Ended Job = job_201309172235_0018 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 764.66 sec HDFS Read: 663537300 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 12 minutes 44 seconds 660 msec -OK -17630976 -Time taken: 107.343 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_709@mturlrep13_201309172313_1257295877.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0019 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:13:50,358 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:14:00,485 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:14:01,491 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:14:02,497 Stage-1 map = 11%, reduce = 0% -2013-09-17 23:14:04,042 Stage-1 map = 24%, reduce = 0% -2013-09-17 23:14:05,047 Stage-1 map = 26%, reduce = 0% -2013-09-17 23:14:06,057 Stage-1 map = 35%, reduce = 0% -2013-09-17 23:14:07,069 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 9.77 sec -2013-09-17 23:14:08,077 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 9.77 sec -2013-09-17 23:14:09,260 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 9.77 sec -2013-09-17 23:14:10,285 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 54.19 sec -2013-09-17 23:14:11,298 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 98.66 sec -2013-09-17 23:14:12,311 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 229.9 sec -2013-09-17 23:14:13,317 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 354.88 sec -2013-09-17 23:14:14,323 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 470.21 sec -2013-09-17 23:14:15,329 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 470.21 sec -2013-09-17 23:14:16,334 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 470.21 sec -2013-09-17 23:14:17,340 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 470.21 sec -2013-09-17 23:14:18,346 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 470.21 sec -2013-09-17 23:14:19,353 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 470.21 sec -2013-09-17 23:14:20,359 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 470.21 sec -2013-09-17 23:14:21,365 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 470.21 sec -2013-09-17 23:14:22,370 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 477.68 sec -2013-09-17 23:14:23,376 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 477.68 sec -2013-09-17 23:14:24,382 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 477.68 sec -2013-09-17 23:14:25,387 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 477.68 sec -2013-09-17 23:14:26,393 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 477.68 sec -2013-09-17 23:14:27,399 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 477.68 sec -2013-09-17 23:14:28,404 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 477.68 sec -2013-09-17 23:14:29,410 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 477.68 sec -2013-09-17 23:14:30,416 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 477.68 sec -2013-09-17 23:14:31,421 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 477.68 sec -2013-09-17 23:14:32,425 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 477.68 sec -2013-09-17 23:14:33,430 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 477.68 sec -2013-09-17 23:14:34,436 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 477.68 sec -2013-09-17 23:14:35,440 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 477.68 sec -2013-09-17 23:14:36,446 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 477.68 sec -2013-09-17 23:14:37,451 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 477.68 sec -2013-09-17 23:14:38,456 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 477.68 sec -2013-09-17 23:14:39,479 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 477.68 sec -2013-09-17 23:14:40,484 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 477.68 sec -2013-09-17 23:14:41,489 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 477.68 sec -2013-09-17 23:14:42,494 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 477.68 sec -2013-09-17 23:14:43,499 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 477.68 sec -2013-09-17 23:14:44,506 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 501.74 sec -2013-09-17 23:14:45,512 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 501.74 sec -MapReduce Total cumulative CPU time: 8 minutes 21 seconds 740 msec -Ended Job = job_201309172235_0019 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 501.74 sec HDFS Read: 182281719 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 21 seconds 740 msec -OK -6404441 -Time taken: 68.119 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5905@mturlrep13_201309172314_300988988.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0020 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:14:57,829 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:15:09,948 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:15:10,963 Stage-1 map = 17%, reduce = 0% -2013-09-17 23:15:11,975 Stage-1 map = 37%, reduce = 0% -2013-09-17 23:15:12,995 Stage-1 map = 38%, reduce = 0% -2013-09-17 23:15:14,001 Stage-1 map = 61%, reduce = 0% -2013-09-17 23:15:15,016 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 20.56 sec -2013-09-17 23:15:16,039 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 120.41 sec -2013-09-17 23:15:17,051 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 219.11 sec -2013-09-17 23:15:18,058 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 287.4 sec -2013-09-17 23:15:19,064 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 475.43 sec -2013-09-17 23:15:20,070 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 475.43 sec -2013-09-17 23:15:21,075 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 475.43 sec -2013-09-17 23:15:22,081 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 475.43 sec -2013-09-17 23:15:23,087 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 475.43 sec -2013-09-17 23:15:24,093 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 475.43 sec -2013-09-17 23:15:25,099 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 475.43 sec -2013-09-17 23:15:26,104 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 475.43 sec -2013-09-17 23:15:27,109 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 475.43 sec -2013-09-17 23:15:28,115 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 475.43 sec -2013-09-17 23:15:29,120 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 475.43 sec -2013-09-17 23:15:30,126 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 475.43 sec -2013-09-17 23:15:31,132 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 475.43 sec -2013-09-17 23:15:32,138 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 475.43 sec -2013-09-17 23:15:33,144 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 475.43 sec -2013-09-17 23:15:34,150 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 475.43 sec -2013-09-17 23:15:35,156 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 475.43 sec -2013-09-17 23:15:36,161 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 475.43 sec -2013-09-17 23:15:37,167 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 475.43 sec -2013-09-17 23:15:38,172 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 475.43 sec -2013-09-17 23:15:39,177 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 475.43 sec -2013-09-17 23:15:40,182 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 475.43 sec -2013-09-17 23:15:41,187 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 475.43 sec -2013-09-17 23:15:42,192 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 475.43 sec -2013-09-17 23:15:43,198 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 475.43 sec -2013-09-17 23:15:44,203 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 475.43 sec -2013-09-17 23:15:45,208 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 475.43 sec -2013-09-17 23:15:46,214 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 475.43 sec -2013-09-17 23:15:47,219 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 475.43 sec -2013-09-17 23:15:48,224 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 475.43 sec -2013-09-17 23:15:49,229 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 475.43 sec -2013-09-17 23:15:50,237 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 508.08 sec -2013-09-17 23:15:53,774 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 508.08 sec -2013-09-17 23:15:54,834 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 508.08 sec -MapReduce Total cumulative CPU time: 8 minutes 28 seconds 80 msec -Ended Job = job_201309172235_0020 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 508.08 sec HDFS Read: 182281719 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 28 seconds 80 msec -OK -6404441 -Time taken: 64.831 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11972@mturlrep13_201309172315_1325234581.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0021 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:16:04,362 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:16:16,459 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:16:17,471 Stage-1 map = 17%, reduce = 0% -2013-09-17 23:16:18,484 Stage-1 map = 31%, reduce = 0% -2013-09-17 23:16:19,512 Stage-1 map = 36%, reduce = 0% -2013-09-17 23:16:20,525 Stage-1 map = 66%, reduce = 0% -2013-09-17 23:16:21,542 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 31.11 sec -2013-09-17 23:16:22,565 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 364.53 sec -2013-09-17 23:16:23,583 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 382.31 sec -2013-09-17 23:16:24,593 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 432.98 sec -2013-09-17 23:16:25,599 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 472.89 sec -2013-09-17 23:16:26,604 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 472.89 sec -2013-09-17 23:16:27,610 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 472.89 sec -2013-09-17 23:16:28,615 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 472.89 sec -2013-09-17 23:16:29,621 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 472.89 sec -2013-09-17 23:16:30,626 Stage-1 map = 100%, reduce = 16%, Cumulative CPU 472.89 sec -2013-09-17 23:16:31,632 Stage-1 map = 100%, reduce = 16%, Cumulative CPU 472.89 sec -2013-09-17 23:16:32,638 Stage-1 map = 100%, reduce = 16%, Cumulative CPU 472.89 sec -2013-09-17 23:16:33,643 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 472.89 sec -2013-09-17 23:16:34,649 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 472.89 sec -2013-09-17 23:16:35,654 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 472.89 sec -2013-09-17 23:16:36,660 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 472.89 sec -2013-09-17 23:16:37,665 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 472.89 sec -2013-09-17 23:16:38,671 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 472.89 sec -2013-09-17 23:16:39,677 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 472.89 sec -2013-09-17 23:16:40,682 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 472.89 sec -2013-09-17 23:16:41,688 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 472.89 sec -2013-09-17 23:16:42,694 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 472.89 sec -2013-09-17 23:16:43,699 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 472.89 sec -2013-09-17 23:16:44,704 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 472.89 sec -2013-09-17 23:16:45,710 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 472.89 sec -2013-09-17 23:16:46,715 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 472.89 sec -2013-09-17 23:16:47,721 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 472.89 sec -2013-09-17 23:16:48,726 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 472.89 sec -2013-09-17 23:16:49,731 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 472.89 sec -2013-09-17 23:16:50,736 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 472.89 sec -2013-09-17 23:16:51,741 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 472.89 sec -2013-09-17 23:16:52,746 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 472.89 sec -2013-09-17 23:16:53,751 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 472.89 sec -2013-09-17 23:16:54,770 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 472.89 sec -2013-09-17 23:16:55,775 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 472.89 sec -2013-09-17 23:16:56,783 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 504.75 sec -2013-09-17 23:16:57,788 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 504.75 sec -MapReduce Total cumulative CPU time: 8 minutes 24 seconds 750 msec -Ended Job = job_201309172235_0021 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 504.75 sec HDFS Read: 182281719 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 24 seconds 750 msec -OK -6404441 -Time taken: 64.269 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT min(EventDate), max(EventDate) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17050@mturlrep13_201309172317_1762378997.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0022 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:17:18,068 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:17:30,186 Stage-1 map = 4%, reduce = 0% -2013-09-17 23:17:31,192 Stage-1 map = 30%, reduce = 0% -2013-09-17 23:17:32,197 Stage-1 map = 31%, reduce = 0% -2013-09-17 23:17:33,206 Stage-1 map = 36%, reduce = 0% -2013-09-17 23:17:34,211 Stage-1 map = 71%, reduce = 0% -2013-09-17 23:17:35,223 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 50.55 sec -2013-09-17 23:17:36,231 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 318.5 sec -2013-09-17 23:17:37,237 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 318.5 sec -2013-09-17 23:17:38,242 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 318.5 sec -2013-09-17 23:17:39,248 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 318.5 sec -2013-09-17 23:17:40,253 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 318.5 sec -2013-09-17 23:17:41,259 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 318.5 sec -2013-09-17 23:17:42,265 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 318.5 sec -2013-09-17 23:17:43,271 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 318.5 sec -2013-09-17 23:17:44,278 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 321.17 sec -2013-09-17 23:17:45,284 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 321.17 sec -MapReduce Total cumulative CPU time: 5 minutes 21 seconds 170 msec -Ended Job = job_201309172235_0022 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 321.17 sec HDFS Read: 4951094 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 21 seconds 170 msec -OK -Time taken: 37.809 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT min(EventDate), max(EventDate) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22045@mturlrep13_201309172317_1976013998.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0023 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:17:55,984 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:18:07,051 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:18:08,056 Stage-1 map = 37%, reduce = 0% -2013-09-17 23:18:09,084 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 15.31 sec -2013-09-17 23:18:10,092 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 213.11 sec -2013-09-17 23:18:11,100 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.89 sec -2013-09-17 23:18:12,105 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.89 sec -2013-09-17 23:18:13,111 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.89 sec -2013-09-17 23:18:14,117 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.89 sec -2013-09-17 23:18:15,123 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.89 sec -2013-09-17 23:18:16,128 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.89 sec -2013-09-17 23:18:17,134 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 322.89 sec -2013-09-17 23:18:18,141 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 325.69 sec -2013-09-17 23:18:19,147 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 325.69 sec -2013-09-17 23:18:20,153 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 325.69 sec -MapReduce Total cumulative CPU time: 5 minutes 25 seconds 690 msec -Ended Job = job_201309172235_0023 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 325.69 sec HDFS Read: 4951094 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 25 seconds 690 msec -OK -Time taken: 33.021 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT min(EventDate), max(EventDate) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26986@mturlrep13_201309172318_1806287056.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0024 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-17 23:18:30,852 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:18:42,000 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:18:43,008 Stage-1 map = 28%, reduce = 0% -2013-09-17 23:18:44,021 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 41.29 sec -2013-09-17 23:18:45,035 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 247.75 sec -2013-09-17 23:18:46,043 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.15 sec -2013-09-17 23:18:47,048 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.15 sec -2013-09-17 23:18:48,053 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.15 sec -2013-09-17 23:18:49,059 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.15 sec -2013-09-17 23:18:50,064 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.15 sec -2013-09-17 23:18:51,070 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 322.15 sec -2013-09-17 23:18:52,076 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 322.15 sec -2013-09-17 23:18:53,081 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 322.15 sec -2013-09-17 23:18:54,089 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 325.35 sec -2013-09-17 23:18:55,095 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 325.35 sec -MapReduce Total cumulative CPU time: 5 minutes 25 seconds 350 msec -Ended Job = job_201309172235_0024 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 325.35 sec HDFS Read: 4951094 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 25 seconds 350 msec -OK -Time taken: 33.13 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT AdvEngineID, count(*) AS c FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31945@mturlrep13_201309172319_144240708.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0025 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:19:12,376 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:19:22,455 Stage-1 map = 1%, reduce = 0%, Cumulative CPU 53.86 sec -2013-09-17 23:19:23,463 Stage-1 map = 1%, reduce = 0%, Cumulative CPU 53.86 sec -2013-09-17 23:19:24,470 Stage-1 map = 13%, reduce = 0%, Cumulative CPU 53.86 sec -2013-09-17 23:19:25,992 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 55.65 sec -2013-09-17 23:19:27,002 Stage-1 map = 37%, reduce = 0%, Cumulative CPU 55.65 sec -2013-09-17 23:19:28,010 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 97.8 sec -2013-09-17 23:19:29,023 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 216.67 sec -2013-09-17 23:19:30,033 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 288.99 sec -2013-09-17 23:19:31,040 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 288.99 sec -2013-09-17 23:19:32,046 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 288.99 sec -2013-09-17 23:19:33,052 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 288.99 sec -2013-09-17 23:19:34,058 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 288.99 sec -2013-09-17 23:19:35,065 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 288.99 sec -2013-09-17 23:19:36,070 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 288.99 sec -2013-09-17 23:19:37,080 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 292.1 sec -2013-09-17 23:19:38,087 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 310.42 sec -2013-09-17 23:19:39,094 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 328.04 sec -2013-09-17 23:19:40,101 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 328.04 sec -2013-09-17 23:19:41,111 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 328.04 sec -MapReduce Total cumulative CPU time: 5 minutes 28 seconds 40 msec -Ended Job = job_201309172235_0025 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0026 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:19:43,669 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:19:45,678 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-17 23:19:46,683 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-17 23:19:47,689 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-17 23:19:48,694 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-17 23:19:49,698 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-17 23:19:50,703 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-17 23:19:51,709 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-17 23:19:52,715 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.75 sec -2013-09-17 23:19:53,721 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.37 sec -2013-09-17 23:19:54,727 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.37 sec -2013-09-17 23:19:55,733 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.37 sec -MapReduce Total cumulative CPU time: 2 seconds 370 msec -Ended Job = job_201309172235_0026 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 328.04 sec HDFS Read: 6282387 HDFS Write: 1443 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.37 sec HDFS Read: 5020 HDFS Write: 129 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 30 seconds 410 msec -OK -Time taken: 53.788 seconds, Fetched: 18 row(s) -hive> quit; - -times: 2 -query: SELECT AdvEngineID, count(*) AS c FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6554@mturlrep13_201309172319_1947847771.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0027 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:20:07,904 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:20:19,166 Stage-1 map = 4%, reduce = 0% -2013-09-17 23:20:20,189 Stage-1 map = 42%, reduce = 0% -2013-09-17 23:20:21,209 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 147.41 sec -2013-09-17 23:20:22,217 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 296.25 sec -2013-09-17 23:20:23,226 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 296.25 sec -2013-09-17 23:20:24,237 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 296.25 sec -2013-09-17 23:20:25,244 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 296.25 sec -2013-09-17 23:20:26,251 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 296.25 sec -2013-09-17 23:20:27,257 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 296.25 sec -2013-09-17 23:20:28,264 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 296.25 sec -2013-09-17 23:20:29,270 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 296.25 sec -2013-09-17 23:20:30,279 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 305.77 sec -2013-09-17 23:20:31,286 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 315.54 sec -2013-09-17 23:20:32,293 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 327.93 sec -2013-09-17 23:20:33,300 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 331.3 sec -2013-09-17 23:20:34,306 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 331.3 sec -MapReduce Total cumulative CPU time: 5 minutes 31 seconds 300 msec -Ended Job = job_201309172235_0027 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0028 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:20:36,785 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:20:38,794 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-17 23:20:39,799 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-17 23:20:40,803 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-17 23:20:41,808 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-17 23:20:42,812 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-17 23:20:43,817 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-17 23:20:44,821 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-17 23:20:45,826 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.72 sec -2013-09-17 23:20:46,831 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.34 sec -2013-09-17 23:20:47,837 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.34 sec -2013-09-17 23:20:48,842 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.34 sec -MapReduce Total cumulative CPU time: 2 seconds 340 msec -Ended Job = job_201309172235_0028 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 331.3 sec HDFS Read: 6282387 HDFS Write: 1443 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.34 sec HDFS Read: 5020 HDFS Write: 129 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 33 seconds 640 msec -OK -Time taken: 51.261 seconds, Fetched: 18 row(s) -hive> quit; - -times: 3 -query: SELECT AdvEngineID, count(*) AS c FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13828@mturlrep13_201309172320_1002752164.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0029 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:20:59,464 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:21:08,619 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:21:10,697 Stage-1 map = 4%, reduce = 0%, Cumulative CPU 7.3 sec -2013-09-17 23:21:11,718 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 28.78 sec -2013-09-17 23:21:12,731 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 254.07 sec -2013-09-17 23:21:13,739 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 287.86 sec -2013-09-17 23:21:14,748 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 287.86 sec -2013-09-17 23:21:15,755 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 287.86 sec -2013-09-17 23:21:16,762 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 287.86 sec -2013-09-17 23:21:17,769 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 287.86 sec -2013-09-17 23:21:18,776 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 287.86 sec -2013-09-17 23:21:19,782 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 287.86 sec -2013-09-17 23:21:20,789 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 287.86 sec -2013-09-17 23:21:21,798 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 307.51 sec -2013-09-17 23:21:22,804 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 319.28 sec -2013-09-17 23:21:23,811 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 323.91 sec -2013-09-17 23:21:24,817 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 323.91 sec -MapReduce Total cumulative CPU time: 5 minutes 23 seconds 910 msec -Ended Job = job_201309172235_0029 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0030 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:21:28,286 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:21:29,293 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-17 23:21:30,299 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-17 23:21:31,304 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-17 23:21:32,309 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-17 23:21:33,314 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-17 23:21:34,320 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-17 23:21:35,325 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-17 23:21:36,330 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-17 23:21:37,336 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -2013-09-17 23:21:38,341 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -2013-09-17 23:21:39,348 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -MapReduce Total cumulative CPU time: 2 seconds 130 msec -Ended Job = job_201309172235_0030 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 323.91 sec HDFS Read: 6282387 HDFS Write: 1443 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.13 sec HDFS Read: 5009 HDFS Write: 129 SUCCESS -Total MapReduce CPU Time Spent: 5 minutes 26 seconds 40 msec -OK -Time taken: 48.653 seconds, Fetched: 18 row(s) -hive> quit; --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - - -times: 1 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20466@mturlrep13_201309172321_1193168986.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0031 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:21:56,900 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:22:07,016 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:22:08,024 Stage-1 map = 3%, reduce = 0% -2013-09-17 23:22:09,036 Stage-1 map = 4%, reduce = 0% -2013-09-17 23:22:10,195 Stage-1 map = 17%, reduce = 0% -2013-09-17 23:22:11,201 Stage-1 map = 18%, reduce = 0% -2013-09-17 23:22:12,207 Stage-1 map = 24%, reduce = 0% -2013-09-17 23:22:13,212 Stage-1 map = 32%, reduce = 0% -2013-09-17 23:22:14,220 Stage-1 map = 36%, reduce = 0% -2013-09-17 23:22:16,775 Stage-1 map = 52%, reduce = 0% -2013-09-17 23:22:18,821 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 39.61 sec -2013-09-17 23:22:19,842 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 39.61 sec -2013-09-17 23:22:20,847 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 39.61 sec -2013-09-17 23:22:21,854 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 59.18 sec -2013-09-17 23:22:22,860 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 538.37 sec -2013-09-17 23:22:23,900 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 540.67 sec -2013-09-17 23:22:25,023 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 541.84 sec -2013-09-17 23:22:26,034 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 571.25 sec -2013-09-17 23:22:27,044 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 595.16 sec -2013-09-17 23:22:28,050 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 618.83 sec -2013-09-17 23:22:29,057 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 647.47 sec -2013-09-17 23:22:30,063 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 664.76 sec -2013-09-17 23:22:31,070 Stage-1 map = 96%, reduce = 1%, Cumulative CPU 664.76 sec -2013-09-17 23:22:32,076 Stage-1 map = 98%, reduce = 12%, Cumulative CPU 685.09 sec -2013-09-17 23:22:33,082 Stage-1 map = 99%, reduce = 12%, Cumulative CPU 710.3 sec -2013-09-17 23:22:34,088 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 722.47 sec -2013-09-17 23:22:35,094 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 735.48 sec -2013-09-17 23:22:36,100 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 749.67 sec -2013-09-17 23:22:37,107 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 749.67 sec -2013-09-17 23:22:38,113 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 749.67 sec -2013-09-17 23:22:39,119 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 749.67 sec -2013-09-17 23:22:40,125 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 749.67 sec -2013-09-17 23:22:41,132 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 749.67 sec -2013-09-17 23:22:42,139 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 749.67 sec -2013-09-17 23:22:43,147 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 759.31 sec -2013-09-17 23:22:44,153 Stage-1 map = 100%, reduce = 62%, Cumulative CPU 792.97 sec -2013-09-17 23:22:45,159 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 792.97 sec -2013-09-17 23:22:46,166 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 805.88 sec -2013-09-17 23:22:47,172 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 816.79 sec -2013-09-17 23:22:48,178 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 816.79 sec -2013-09-17 23:22:49,184 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 829.11 sec -2013-09-17 23:22:50,190 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 843.07 sec -2013-09-17 23:22:51,196 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 872.26 sec -2013-09-17 23:22:52,202 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 872.26 sec -2013-09-17 23:22:53,207 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 872.26 sec -2013-09-17 23:22:54,219 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 872.26 sec -2013-09-17 23:22:55,224 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 872.26 sec -2013-09-17 23:22:56,230 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 897.41 sec -2013-09-17 23:22:57,236 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 897.41 sec -2013-09-17 23:22:58,242 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 897.41 sec -2013-09-17 23:22:59,248 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 897.41 sec -MapReduce Total cumulative CPU time: 14 minutes 57 seconds 410 msec -Ended Job = job_201309172235_0031 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0032 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:23:01,757 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:23:04,768 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:23:05,774 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:23:06,779 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:23:07,783 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:23:08,787 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:23:09,792 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:23:10,796 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:23:11,801 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.62 sec -2013-09-17 23:23:12,806 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.6 sec -2013-09-17 23:23:13,810 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.6 sec -MapReduce Total cumulative CPU time: 3 seconds 600 msec -Ended Job = job_201309172235_0032 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 897.41 sec HDFS Read: 773347596 HDFS Write: 200700 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.6 sec HDFS Read: 204277 HDFS Write: 106 SUCCESS -Total MapReduce CPU Time Spent: 15 minutes 1 seconds 10 msec -OK -Time taken: 87.479 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27218@mturlrep13_201309172323_828143909.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0033 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:23:24,453 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:23:35,535 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:23:36,541 Stage-1 map = 11%, reduce = 0% -2013-09-17 23:23:37,547 Stage-1 map = 15%, reduce = 0% -2013-09-17 23:23:38,823 Stage-1 map = 16%, reduce = 0% -2013-09-17 23:23:39,831 Stage-1 map = 44%, reduce = 0% -2013-09-17 23:23:40,851 Stage-1 map = 52%, reduce = 0% -2013-09-17 23:23:41,857 Stage-1 map = 53%, reduce = 0% -2013-09-17 23:23:42,879 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 11.88 sec -2013-09-17 23:23:43,887 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 11.88 sec -2013-09-17 23:23:44,916 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 40.11 sec -2013-09-17 23:23:45,931 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 54.11 sec -2013-09-17 23:23:46,948 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 83.97 sec -2013-09-17 23:23:47,955 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 116.76 sec -2013-09-17 23:23:48,966 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 237.46 sec -2013-09-17 23:23:49,982 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 292.37 sec -2013-09-17 23:23:50,990 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 331.01 sec -2013-09-17 23:23:51,996 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 474.07 sec -2013-09-17 23:23:53,002 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 516.53 sec -2013-09-17 23:23:54,009 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 516.53 sec -2013-09-17 23:23:55,018 Stage-1 map = 97%, reduce = 2%, Cumulative CPU 516.53 sec -2013-09-17 23:23:56,024 Stage-1 map = 97%, reduce = 10%, Cumulative CPU 516.53 sec -2013-09-17 23:23:57,030 Stage-1 map = 98%, reduce = 22%, Cumulative CPU 599.75 sec -2013-09-17 23:23:58,037 Stage-1 map = 99%, reduce = 24%, Cumulative CPU 656.33 sec -2013-09-17 23:23:59,043 Stage-1 map = 99%, reduce = 26%, Cumulative CPU 717.14 sec -2013-09-17 23:24:00,049 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 746.73 sec -2013-09-17 23:24:01,056 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 746.73 sec -2013-09-17 23:24:02,063 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 746.73 sec -2013-09-17 23:24:03,069 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 746.73 sec -2013-09-17 23:24:04,075 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 746.73 sec -2013-09-17 23:24:05,081 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 746.73 sec -2013-09-17 23:24:06,087 Stage-1 map = 100%, reduce = 53%, Cumulative CPU 746.73 sec -2013-09-17 23:24:07,094 Stage-1 map = 100%, reduce = 53%, Cumulative CPU 746.73 sec -2013-09-17 23:24:08,102 Stage-1 map = 100%, reduce = 59%, Cumulative CPU 766.33 sec -2013-09-17 23:24:09,109 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 790.42 sec -2013-09-17 23:24:10,115 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 790.42 sec -2013-09-17 23:24:11,122 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 817.26 sec -2013-09-17 23:24:12,128 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 817.26 sec -2013-09-17 23:24:13,134 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 828.67 sec -2013-09-17 23:24:14,141 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 840.81 sec -2013-09-17 23:24:15,147 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 869.4 sec -2013-09-17 23:24:16,152 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 869.4 sec -2013-09-17 23:24:17,158 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 869.4 sec -2013-09-17 23:24:18,592 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 869.4 sec -2013-09-17 23:24:19,724 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 869.4 sec -2013-09-17 23:24:20,729 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 869.4 sec -2013-09-17 23:24:21,735 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 894.47 sec -2013-09-17 23:24:22,742 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 894.47 sec -MapReduce Total cumulative CPU time: 14 minutes 54 seconds 470 msec -Ended Job = job_201309172235_0033 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0034 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:24:28,624 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:24:30,631 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.65 sec -2013-09-17 23:24:31,636 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.65 sec -2013-09-17 23:24:32,641 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.65 sec -2013-09-17 23:24:33,646 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.65 sec -2013-09-17 23:24:34,650 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.65 sec -2013-09-17 23:24:35,655 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.65 sec -2013-09-17 23:24:36,660 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.65 sec -2013-09-17 23:24:37,666 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.65 sec -2013-09-17 23:24:38,671 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.47 sec -2013-09-17 23:24:39,676 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.47 sec -2013-09-17 23:24:40,682 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.47 sec -MapReduce Total cumulative CPU time: 3 seconds 470 msec -Ended Job = job_201309172235_0034 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 894.47 sec HDFS Read: 773347596 HDFS Write: 200700 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.47 sec HDFS Read: 204277 HDFS Write: 106 SUCCESS -Total MapReduce CPU Time Spent: 14 minutes 57 seconds 940 msec -OK -Time taken: 85.062 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1610@mturlrep13_201309172324_625629875.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0035 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:24:50,386 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:25:02,507 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:25:03,535 Stage-1 map = 8%, reduce = 0% -2013-09-17 23:25:04,541 Stage-1 map = 14%, reduce = 0% -2013-09-17 23:25:05,547 Stage-1 map = 22%, reduce = 0% -2013-09-17 23:25:06,553 Stage-1 map = 39%, reduce = 0% -2013-09-17 23:25:07,559 Stage-1 map = 47%, reduce = 0% -2013-09-17 23:25:08,571 Stage-1 map = 56%, reduce = 0% -2013-09-17 23:25:09,583 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 12.22 sec -2013-09-17 23:25:10,598 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 12.22 sec -2013-09-17 23:25:11,612 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 12.22 sec -2013-09-17 23:25:12,618 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 55.11 sec -2013-09-17 23:25:13,632 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 55.11 sec -2013-09-17 23:25:14,646 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 117.12 sec -2013-09-17 23:25:15,672 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 186.45 sec -2013-09-17 23:25:16,681 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 275.56 sec -2013-09-17 23:25:17,690 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 373.55 sec -2013-09-17 23:25:18,698 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 434.47 sec -2013-09-17 23:25:19,704 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 497.78 sec -2013-09-17 23:25:20,710 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 518.9 sec -2013-09-17 23:25:21,717 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 518.9 sec -2013-09-17 23:25:22,723 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 518.9 sec -2013-09-17 23:25:23,729 Stage-1 map = 97%, reduce = 15%, Cumulative CPU 722.2 sec -2013-09-17 23:25:24,736 Stage-1 map = 98%, reduce = 20%, Cumulative CPU 729.94 sec -2013-09-17 23:25:25,742 Stage-1 map = 99%, reduce = 24%, Cumulative CPU 745.51 sec -2013-09-17 23:25:26,748 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 754.8 sec -2013-09-17 23:25:27,760 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 754.8 sec -2013-09-17 23:25:28,769 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 754.8 sec -2013-09-17 23:25:29,776 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 754.8 sec -2013-09-17 23:25:30,782 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 754.8 sec -2013-09-17 23:25:31,787 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 754.8 sec -2013-09-17 23:25:32,794 Stage-1 map = 100%, reduce = 48%, Cumulative CPU 754.8 sec -2013-09-17 23:25:33,800 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 754.8 sec -2013-09-17 23:25:34,806 Stage-1 map = 100%, reduce = 60%, Cumulative CPU 754.8 sec -2013-09-17 23:25:35,814 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 775.22 sec -2013-09-17 23:25:36,820 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 800.08 sec -2013-09-17 23:25:37,826 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 813.13 sec -2013-09-17 23:25:38,833 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 854.96 sec -2013-09-17 23:25:39,839 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 881.01 sec -2013-09-17 23:25:40,845 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 881.01 sec -2013-09-17 23:25:41,850 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 881.01 sec -2013-09-17 23:25:42,856 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 881.01 sec -2013-09-17 23:25:43,862 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 881.01 sec -2013-09-17 23:25:45,177 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 881.01 sec -2013-09-17 23:25:46,251 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 881.01 sec -2013-09-17 23:25:47,256 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 881.01 sec -2013-09-17 23:25:48,262 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 881.01 sec -2013-09-17 23:25:49,268 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 905.59 sec -2013-09-17 23:25:50,273 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 905.59 sec -MapReduce Total cumulative CPU time: 15 minutes 5 seconds 590 msec -Ended Job = job_201309172235_0035 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0036 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:25:55,561 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:25:57,569 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:25:58,574 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:25:59,579 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:26:00,584 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:26:01,588 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:26:02,592 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:26:03,597 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.62 sec -2013-09-17 23:26:04,603 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.62 sec -2013-09-17 23:26:05,609 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.52 sec -2013-09-17 23:26:06,614 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.52 sec -2013-09-17 23:26:07,619 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.52 sec -MapReduce Total cumulative CPU time: 3 seconds 520 msec -Ended Job = job_201309172235_0036 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 905.59 sec HDFS Read: 773347596 HDFS Write: 200700 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.52 sec HDFS Read: 204266 HDFS Write: 106 SUCCESS -Total MapReduce CPU Time Spent: 15 minutes 9 seconds 110 msec -OK -Time taken: 85.039 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей.; - - -times: 1 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9511@mturlrep13_201309172326_2040723350.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0037 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:26:25,696 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:26:35,814 Stage-1 map = 3%, reduce = 0% -2013-09-17 23:26:38,841 Stage-1 map = 10%, reduce = 0% -2013-09-17 23:26:39,848 Stage-1 map = 13%, reduce = 0% -2013-09-17 23:26:40,855 Stage-1 map = 16%, reduce = 0% -2013-09-17 23:26:41,883 Stage-1 map = 19%, reduce = 0% -2013-09-17 23:26:42,890 Stage-1 map = 29%, reduce = 0% -2013-09-17 23:26:43,897 Stage-1 map = 32%, reduce = 0% -2013-09-17 23:26:45,223 Stage-1 map = 38%, reduce = 0% -2013-09-17 23:26:46,236 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 14.75 sec -2013-09-17 23:26:47,243 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 14.75 sec -2013-09-17 23:26:48,308 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 14.75 sec -2013-09-17 23:26:49,329 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 14.75 sec -2013-09-17 23:26:50,342 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 14.75 sec -2013-09-17 23:26:51,354 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 14.75 sec -2013-09-17 23:26:52,368 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 14.75 sec -2013-09-17 23:26:53,382 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 74.49 sec -2013-09-17 23:26:54,393 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 113.4 sec -2013-09-17 23:26:55,401 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 135.12 sec -2013-09-17 23:26:56,414 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 176.43 sec -2013-09-17 23:26:57,430 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 194.75 sec -2013-09-17 23:26:58,444 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 238.4 sec -2013-09-17 23:26:59,451 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 277.62 sec -2013-09-17 23:27:00,458 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 418.29 sec -2013-09-17 23:27:01,465 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 447.59 sec -2013-09-17 23:27:02,472 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 578.54 sec -2013-09-17 23:27:03,478 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 657.91 sec -2013-09-17 23:27:04,486 Stage-1 map = 96%, reduce = 2%, Cumulative CPU 657.91 sec -2013-09-17 23:27:05,497 Stage-1 map = 97%, reduce = 12%, Cumulative CPU 726.48 sec -2013-09-17 23:27:06,503 Stage-1 map = 98%, reduce = 12%, Cumulative CPU 760.94 sec -2013-09-17 23:27:07,509 Stage-1 map = 99%, reduce = 17%, Cumulative CPU 867.41 sec -2013-09-17 23:27:08,515 Stage-1 map = 99%, reduce = 24%, Cumulative CPU 867.41 sec -2013-09-17 23:27:09,521 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 941.56 sec -2013-09-17 23:27:10,528 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 941.56 sec -2013-09-17 23:27:11,534 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 941.56 sec -2013-09-17 23:27:12,540 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 941.56 sec -2013-09-17 23:27:13,546 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 941.56 sec -2013-09-17 23:27:14,552 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 941.56 sec -2013-09-17 23:27:15,559 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 941.56 sec -2013-09-17 23:27:16,566 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 941.56 sec -2013-09-17 23:27:17,602 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 941.56 sec -2013-09-17 23:27:18,609 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 941.56 sec -2013-09-17 23:27:19,615 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 941.56 sec -2013-09-17 23:27:20,621 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 941.56 sec -2013-09-17 23:27:21,628 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 941.56 sec -2013-09-17 23:27:22,633 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 941.56 sec -2013-09-17 23:27:23,642 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 1072.24 sec -2013-09-17 23:27:24,649 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1080.16 sec -2013-09-17 23:27:25,655 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1080.16 sec -2013-09-17 23:27:26,661 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1087.79 sec -2013-09-17 23:27:27,668 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1097.18 sec -2013-09-17 23:27:28,675 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1097.18 sec -2013-09-17 23:27:29,682 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1106.96 sec -2013-09-17 23:27:30,688 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1106.96 sec -2013-09-17 23:27:31,695 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1106.96 sec -2013-09-17 23:27:32,701 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1106.96 sec -2013-09-17 23:27:33,923 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1136.44 sec -2013-09-17 23:27:34,929 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1136.44 sec -2013-09-17 23:27:35,935 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1136.44 sec -2013-09-17 23:27:36,940 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1136.44 sec -2013-09-17 23:27:37,946 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1136.44 sec -2013-09-17 23:27:41,680 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1136.44 sec -2013-09-17 23:27:42,685 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1136.44 sec -2013-09-17 23:27:43,690 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1136.44 sec -2013-09-17 23:27:45,033 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1155.81 sec -2013-09-17 23:27:46,039 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1155.81 sec -2013-09-17 23:27:47,045 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1155.81 sec -MapReduce Total cumulative CPU time: 19 minutes 15 seconds 810 msec -Ended Job = job_201309172235_0037 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0038 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:27:49,557 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:27:52,569 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.83 sec -2013-09-17 23:27:53,574 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.83 sec -2013-09-17 23:27:54,579 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.83 sec -2013-09-17 23:27:55,583 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.83 sec -2013-09-17 23:27:56,588 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.83 sec -2013-09-17 23:27:57,592 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.83 sec -2013-09-17 23:27:58,596 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.83 sec -2013-09-17 23:27:59,601 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.83 sec -2013-09-17 23:28:00,607 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.83 sec -2013-09-17 23:28:01,613 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.83 sec -MapReduce Total cumulative CPU time: 3 seconds 830 msec -Ended Job = job_201309172235_0038 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1155.81 sec HDFS Read: 847155129 HDFS Write: 298189 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.83 sec HDFS Read: 301766 HDFS Write: 437 SUCCESS -Total MapReduce CPU Time Spent: 19 minutes 19 seconds 640 msec -OK -Time taken: 106.577 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16855@mturlrep13_201309172328_909540588.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0039 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:28:12,290 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:28:23,414 Stage-1 map = 1%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:24,442 Stage-1 map = 6%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:25,480 Stage-1 map = 8%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:26,503 Stage-1 map = 10%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:27,510 Stage-1 map = 16%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:28,517 Stage-1 map = 28%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:29,524 Stage-1 map = 30%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:30,530 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:31,537 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:32,543 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:33,550 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 51.91 sec -2013-09-17 23:28:34,558 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 66.92 sec -2013-09-17 23:28:35,564 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 66.92 sec -2013-09-17 23:28:36,571 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 66.92 sec -2013-09-17 23:28:37,576 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 91.33 sec -2013-09-17 23:28:38,583 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 128.84 sec -2013-09-17 23:28:39,589 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 167.09 sec -2013-09-17 23:28:40,601 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 202.64 sec -2013-09-17 23:28:41,608 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 265.38 sec -2013-09-17 23:28:42,615 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 331.39 sec -2013-09-17 23:28:43,629 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 434.98 sec -2013-09-17 23:28:44,639 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 460.38 sec -2013-09-17 23:28:45,647 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 605.85 sec -2013-09-17 23:28:46,653 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 658.68 sec -2013-09-17 23:28:47,659 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 658.68 sec -2013-09-17 23:28:48,665 Stage-1 map = 95%, reduce = 1%, Cumulative CPU 658.68 sec -2013-09-17 23:28:49,672 Stage-1 map = 97%, reduce = 12%, Cumulative CPU 658.68 sec -2013-09-17 23:28:50,678 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 658.68 sec -2013-09-17 23:28:51,684 Stage-1 map = 98%, reduce = 21%, Cumulative CPU 795.29 sec -2013-09-17 23:28:52,690 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 927.85 sec -2013-09-17 23:28:53,696 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 927.85 sec -2013-09-17 23:28:54,702 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 927.85 sec -2013-09-17 23:28:55,712 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 927.85 sec -2013-09-17 23:28:56,718 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 927.85 sec -2013-09-17 23:28:57,724 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 927.85 sec -2013-09-17 23:28:58,730 Stage-1 map = 100%, reduce = 48%, Cumulative CPU 927.85 sec -2013-09-17 23:28:59,737 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 927.85 sec -2013-09-17 23:29:00,765 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 927.85 sec -2013-09-17 23:29:01,771 Stage-1 map = 100%, reduce = 65%, Cumulative CPU 927.85 sec -2013-09-17 23:29:02,777 Stage-1 map = 100%, reduce = 65%, Cumulative CPU 927.85 sec -2013-09-17 23:29:03,785 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 940.95 sec -2013-09-17 23:29:04,793 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 954.71 sec -2013-09-17 23:29:05,799 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 954.71 sec -2013-09-17 23:29:06,958 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1004.24 sec -2013-09-17 23:29:08,056 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1004.24 sec -2013-09-17 23:29:09,063 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1022.86 sec -2013-09-17 23:29:10,069 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1079.45 sec -2013-09-17 23:29:11,075 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1079.45 sec -2013-09-17 23:29:12,081 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1079.45 sec -2013-09-17 23:29:13,086 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1079.45 sec -2013-09-17 23:29:14,092 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1079.45 sec -2013-09-17 23:29:15,098 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1079.45 sec -2013-09-17 23:29:16,103 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1102.32 sec -2013-09-17 23:29:17,109 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1102.32 sec -2013-09-17 23:29:18,115 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1102.32 sec -2013-09-17 23:29:19,120 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1102.32 sec -2013-09-17 23:29:20,126 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1102.32 sec -2013-09-17 23:29:21,131 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1102.32 sec -2013-09-17 23:29:22,137 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1102.32 sec -2013-09-17 23:29:23,142 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1102.32 sec -2013-09-17 23:29:24,148 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1135.97 sec -2013-09-17 23:29:25,154 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1135.97 sec -2013-09-17 23:29:26,159 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1135.97 sec -2013-09-17 23:29:28,761 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1141.12 sec -2013-09-17 23:29:29,766 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1141.12 sec -2013-09-17 23:29:30,771 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1141.12 sec -MapReduce Total cumulative CPU time: 19 minutes 1 seconds 120 msec -Ended Job = job_201309172235_0039 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0040 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:29:33,329 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:29:36,340 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.71 sec -2013-09-17 23:29:37,344 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.71 sec -2013-09-17 23:29:38,348 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.71 sec -2013-09-17 23:29:39,352 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.71 sec -2013-09-17 23:29:40,356 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.71 sec -2013-09-17 23:29:41,360 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.71 sec -2013-09-17 23:29:42,364 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.71 sec -2013-09-17 23:29:43,369 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.71 sec -2013-09-17 23:29:44,373 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.59 sec -2013-09-17 23:29:45,378 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.59 sec -2013-09-17 23:29:46,383 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.59 sec -MapReduce Total cumulative CPU time: 3 seconds 590 msec -Ended Job = job_201309172235_0040 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1141.12 sec HDFS Read: 847155129 HDFS Write: 298189 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.59 sec HDFS Read: 301766 HDFS Write: 437 SUCCESS -Total MapReduce CPU Time Spent: 19 minutes 4 seconds 710 msec -OK -Time taken: 102.879 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24207@mturlrep13_201309172329_822092081.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0041 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:29:56,995 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:30:09,088 Stage-1 map = 5%, reduce = 0% -2013-09-17 23:30:10,094 Stage-1 map = 6%, reduce = 0% -2013-09-17 23:30:11,105 Stage-1 map = 7%, reduce = 0% -2013-09-17 23:30:12,113 Stage-1 map = 15%, reduce = 0% -2013-09-17 23:30:13,119 Stage-1 map = 26%, reduce = 0% -2013-09-17 23:30:14,124 Stage-1 map = 29%, reduce = 0% -2013-09-17 23:30:15,133 Stage-1 map = 33%, reduce = 0% -2013-09-17 23:30:16,147 Stage-1 map = 47%, reduce = 0% -2013-09-17 23:30:17,156 Stage-1 map = 52%, reduce = 0% -2013-09-17 23:30:18,165 Stage-1 map = 54%, reduce = 0% -2013-09-17 23:30:19,192 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 14.3 sec -2013-09-17 23:30:20,200 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 14.3 sec -2013-09-17 23:30:21,213 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 14.3 sec -2013-09-17 23:30:22,219 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 32.42 sec -2013-09-17 23:30:23,227 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 70.55 sec -2013-09-17 23:30:24,234 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 668.79 sec -2013-09-17 23:30:25,259 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 673.33 sec -2013-09-17 23:30:26,274 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 678.94 sec -2013-09-17 23:30:27,300 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 702.3 sec -2013-09-17 23:30:28,312 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 712.73 sec -2013-09-17 23:30:29,319 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 738.35 sec -2013-09-17 23:30:30,326 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 769.71 sec -2013-09-17 23:30:31,333 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 778.96 sec -2013-09-17 23:30:32,339 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 797.52 sec -2013-09-17 23:30:33,345 Stage-1 map = 95%, reduce = 1%, Cumulative CPU 797.52 sec -2013-09-17 23:30:34,354 Stage-1 map = 95%, reduce = 8%, Cumulative CPU 797.52 sec -2013-09-17 23:30:35,361 Stage-1 map = 97%, reduce = 13%, Cumulative CPU 797.52 sec -2013-09-17 23:30:36,367 Stage-1 map = 98%, reduce = 15%, Cumulative CPU 841.63 sec -2013-09-17 23:30:37,373 Stage-1 map = 98%, reduce = 21%, Cumulative CPU 857.24 sec -2013-09-17 23:30:38,379 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 928.19 sec -2013-09-17 23:30:39,385 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 928.19 sec -2013-09-17 23:30:40,391 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 928.19 sec -2013-09-17 23:30:41,396 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 928.19 sec -2013-09-17 23:30:42,403 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 928.19 sec -2013-09-17 23:30:43,409 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 928.19 sec -2013-09-17 23:30:44,415 Stage-1 map = 100%, reduce = 37%, Cumulative CPU 928.19 sec -2013-09-17 23:30:45,421 Stage-1 map = 100%, reduce = 37%, Cumulative CPU 928.19 sec -2013-09-17 23:30:46,428 Stage-1 map = 100%, reduce = 37%, Cumulative CPU 928.19 sec -2013-09-17 23:30:47,451 Stage-1 map = 100%, reduce = 44%, Cumulative CPU 928.19 sec -2013-09-17 23:30:48,460 Stage-1 map = 100%, reduce = 48%, Cumulative CPU 940.63 sec -2013-09-17 23:30:49,467 Stage-1 map = 100%, reduce = 66%, Cumulative CPU 940.63 sec -2013-09-17 23:30:50,474 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 940.63 sec -2013-09-17 23:30:51,480 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 940.63 sec -2013-09-17 23:30:52,487 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 940.63 sec -2013-09-17 23:30:53,494 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 954.04 sec -2013-09-17 23:30:54,500 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 989.38 sec -2013-09-17 23:30:55,507 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 989.38 sec -2013-09-17 23:30:56,514 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1005.72 sec -2013-09-17 23:30:57,520 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1005.72 sec -2013-09-17 23:30:58,526 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1040.57 sec -2013-09-17 23:30:59,532 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1061.53 sec -2013-09-17 23:31:00,538 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1081.7 sec -2013-09-17 23:31:01,544 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:02,550 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:03,556 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:04,562 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:05,568 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:06,573 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:07,579 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:08,585 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:09,591 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:10,597 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1104.84 sec -2013-09-17 23:31:13,163 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1144.43 sec -2013-09-17 23:31:14,168 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1144.43 sec -MapReduce Total cumulative CPU time: 19 minutes 4 seconds 430 msec -Ended Job = job_201309172235_0041 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0042 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:31:17,701 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:31:19,709 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.75 sec -2013-09-17 23:31:20,714 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.75 sec -2013-09-17 23:31:21,719 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.75 sec -2013-09-17 23:31:22,724 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.75 sec -2013-09-17 23:31:23,728 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.75 sec -2013-09-17 23:31:24,733 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.75 sec -2013-09-17 23:31:25,738 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.75 sec -2013-09-17 23:31:26,743 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.75 sec -2013-09-17 23:31:27,748 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.69 sec -2013-09-17 23:31:28,754 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.69 sec -2013-09-17 23:31:29,759 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.69 sec -MapReduce Total cumulative CPU time: 3 seconds 690 msec -Ended Job = job_201309172235_0042 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1144.43 sec HDFS Read: 847155129 HDFS Write: 298189 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.69 sec HDFS Read: 301766 HDFS Write: 437 SUCCESS -Total MapReduce CPU Time Spent: 19 minutes 8 seconds 120 msec -OK -Time taken: 101.705 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей, несколько агрегатных функций.; - - -times: 1 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32236@mturlrep13_201309172331_1074251986.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0043 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:31:47,285 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:31:57,397 Stage-1 map = 7%, reduce = 0% -2013-09-17 23:31:58,403 Stage-1 map = 8%, reduce = 0% -2013-09-17 23:32:01,416 Stage-1 map = 23%, reduce = 0% -2013-09-17 23:32:02,422 Stage-1 map = 24%, reduce = 0% -2013-09-17 23:32:03,436 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 7.06 sec -2013-09-17 23:32:04,442 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 7.06 sec -2013-09-17 23:32:06,734 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.18 sec -2013-09-17 23:32:07,740 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 57.06 sec -2013-09-17 23:32:08,752 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 57.06 sec -2013-09-17 23:32:09,767 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 67.22 sec -2013-09-17 23:32:10,784 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 135.37 sec -2013-09-17 23:32:11,792 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 293.42 sec -2013-09-17 23:32:12,798 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 369.89 sec -2013-09-17 23:32:13,805 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 369.89 sec -2013-09-17 23:32:14,811 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 369.89 sec -2013-09-17 23:32:15,817 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 369.89 sec -2013-09-17 23:32:16,825 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 374.04 sec -2013-09-17 23:32:17,832 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 378.73 sec -2013-09-17 23:32:18,840 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 387.59 sec -2013-09-17 23:32:19,848 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 396.86 sec -2013-09-17 23:32:20,855 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 418.82 sec -2013-09-17 23:32:21,861 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 425.02 sec -2013-09-17 23:32:22,868 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 425.02 sec -MapReduce Total cumulative CPU time: 7 minutes 5 seconds 20 msec -Ended Job = job_201309172235_0043 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0044 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:32:26,376 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:32:28,387 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.98 sec -2013-09-17 23:32:29,392 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.98 sec -2013-09-17 23:32:30,398 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.98 sec -2013-09-17 23:32:31,403 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.98 sec -2013-09-17 23:32:32,408 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.98 sec -2013-09-17 23:32:33,413 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.98 sec -2013-09-17 23:32:34,419 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.98 sec -2013-09-17 23:32:35,425 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.98 sec -2013-09-17 23:32:36,430 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.64 sec -2013-09-17 23:32:37,437 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.64 sec -MapReduce Total cumulative CPU time: 2 seconds 640 msec -Ended Job = job_201309172235_0044 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 425.02 sec HDFS Read: 673615476 HDFS Write: 41947 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.64 sec HDFS Read: 45524 HDFS Write: 131 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 7 seconds 660 msec -OK -Time taken: 60.4 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7129@mturlrep13_201309172332_718169783.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0045 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:32:46,858 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:32:58,979 Stage-1 map = 8%, reduce = 0% -2013-09-17 23:32:59,985 Stage-1 map = 18%, reduce = 0% -2013-09-17 23:33:00,999 Stage-1 map = 22%, reduce = 0% -2013-09-17 23:33:02,014 Stage-1 map = 30%, reduce = 0% -2013-09-17 23:33:03,035 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 39.47 sec -2013-09-17 23:33:04,061 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 127.5 sec -2013-09-17 23:33:05,075 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 389.68 sec -2013-09-17 23:33:06,082 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 414.94 sec -2013-09-17 23:33:07,089 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 414.94 sec -2013-09-17 23:33:08,095 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 414.94 sec -2013-09-17 23:33:09,101 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 414.94 sec -2013-09-17 23:33:10,108 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 414.94 sec -2013-09-17 23:33:11,114 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 414.94 sec -2013-09-17 23:33:12,123 Stage-1 map = 100%, reduce = 15%, Cumulative CPU 414.94 sec -2013-09-17 23:33:13,130 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 414.94 sec -2013-09-17 23:33:14,145 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 436.06 sec -2013-09-17 23:33:15,152 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 446.54 sec -2013-09-17 23:33:16,160 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 475.11 sec -2013-09-17 23:33:17,166 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 475.11 sec -2013-09-17 23:33:18,173 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 475.11 sec -MapReduce Total cumulative CPU time: 7 minutes 55 seconds 110 msec -Ended Job = job_201309172235_0045 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0046 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:33:21,703 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:33:23,714 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.0 sec -2013-09-17 23:33:24,719 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.0 sec -2013-09-17 23:33:25,724 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.0 sec -2013-09-17 23:33:26,729 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.0 sec -2013-09-17 23:33:27,733 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.0 sec -2013-09-17 23:33:28,738 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.0 sec -2013-09-17 23:33:29,743 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.0 sec -2013-09-17 23:33:30,749 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.71 sec -2013-09-17 23:33:31,755 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.71 sec -2013-09-17 23:33:32,761 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.71 sec -MapReduce Total cumulative CPU time: 2 seconds 710 msec -Ended Job = job_201309172235_0046 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 475.11 sec HDFS Read: 673615476 HDFS Write: 41947 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.71 sec HDFS Read: 45524 HDFS Write: 131 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 57 seconds 820 msec -OK -Time taken: 53.498 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13985@mturlrep13_201309172333_212079891.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0047 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:33:42,330 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:33:53,413 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:33:54,432 Stage-1 map = 7%, reduce = 0% -2013-09-17 23:33:55,462 Stage-1 map = 15%, reduce = 0% -2013-09-17 23:33:56,469 Stage-1 map = 23%, reduce = 0% -2013-09-17 23:33:57,482 Stage-1 map = 42%, reduce = 0% -2013-09-17 23:33:58,503 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 9.27 sec -2013-09-17 23:33:59,519 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 114.64 sec -2013-09-17 23:34:00,529 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 388.28 sec -2013-09-17 23:34:01,538 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 412.66 sec -2013-09-17 23:34:02,545 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 412.66 sec -2013-09-17 23:34:03,551 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 412.66 sec -2013-09-17 23:34:04,558 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 412.66 sec -2013-09-17 23:34:05,563 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 412.66 sec -2013-09-17 23:34:06,569 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 412.66 sec -2013-09-17 23:34:07,576 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 412.66 sec -2013-09-17 23:34:08,585 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 412.66 sec -2013-09-17 23:34:09,595 Stage-1 map = 100%, reduce = 45%, Cumulative CPU 422.58 sec -2013-09-17 23:34:10,603 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 442.18 sec -2013-09-17 23:34:11,609 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 464.06 sec -2013-09-17 23:34:12,616 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 470.59 sec -2013-09-17 23:34:13,623 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 470.59 sec -MapReduce Total cumulative CPU time: 7 minutes 50 seconds 590 msec -Ended Job = job_201309172235_0047 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0048 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:34:16,130 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:34:19,144 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-17 23:34:20,150 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-17 23:34:21,155 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-17 23:34:22,160 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-17 23:34:23,165 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-17 23:34:24,169 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-17 23:34:25,174 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-17 23:34:26,180 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.57 sec -2013-09-17 23:34:27,186 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.57 sec -2013-09-17 23:34:28,191 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.57 sec -MapReduce Total cumulative CPU time: 2 seconds 570 msec -Ended Job = job_201309172235_0048 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 470.59 sec HDFS Read: 673615476 HDFS Write: 41947 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.57 sec HDFS Read: 45524 HDFS Write: 131 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 53 seconds 160 msec -OK -Time taken: 53.516 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по строкам.; - - -times: 1 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20877@mturlrep13_201309172334_738248079.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0049 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:34:45,537 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:34:54,639 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:34:55,649 Stage-1 map = 6%, reduce = 0% -2013-09-17 23:34:56,654 Stage-1 map = 9%, reduce = 0% -2013-09-17 23:34:59,668 Stage-1 map = 21%, reduce = 0% -2013-09-17 23:35:01,463 Stage-1 map = 22%, reduce = 0% -2013-09-17 23:35:02,469 Stage-1 map = 43%, reduce = 0% -2013-09-17 23:35:05,662 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 19.08 sec -2013-09-17 23:35:06,670 Stage-1 map = 62%, reduce = 0%, Cumulative CPU 64.52 sec -2013-09-17 23:35:07,678 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 81.56 sec -2013-09-17 23:35:08,689 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 92.37 sec -2013-09-17 23:35:09,697 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 161.79 sec -2013-09-17 23:35:10,703 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 299.59 sec -2013-09-17 23:35:11,709 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 358.46 sec -2013-09-17 23:35:12,716 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 358.46 sec -2013-09-17 23:35:13,722 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 358.46 sec -2013-09-17 23:35:14,729 Stage-1 map = 100%, reduce = 15%, Cumulative CPU 358.46 sec -2013-09-17 23:35:15,735 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 358.46 sec -2013-09-17 23:35:16,745 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 372.22 sec -2013-09-17 23:35:17,752 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 377.09 sec -2013-09-17 23:35:18,760 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 394.56 sec -2013-09-17 23:35:19,766 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 415.94 sec -2013-09-17 23:35:20,773 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 415.94 sec -2013-09-17 23:35:21,779 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 415.94 sec -MapReduce Total cumulative CPU time: 6 minutes 55 seconds 940 msec -Ended Job = job_201309172235_0049 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0050 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:35:24,308 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:35:27,321 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.12 sec -2013-09-17 23:35:28,327 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.12 sec -2013-09-17 23:35:29,332 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.12 sec -2013-09-17 23:35:30,337 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.12 sec -2013-09-17 23:35:31,341 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.12 sec -2013-09-17 23:35:32,346 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.12 sec -2013-09-17 23:35:33,351 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.12 sec -2013-09-17 23:35:34,356 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.12 sec -2013-09-17 23:35:35,362 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.78 sec -2013-09-17 23:35:36,367 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.78 sec -MapReduce Total cumulative CPU time: 2 seconds 780 msec -Ended Job = job_201309172235_0050 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 415.94 sec HDFS Read: 683872957 HDFS Write: 45535 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.78 sec HDFS Read: 49112 HDFS Write: 154 SUCCESS -Total MapReduce CPU Time Spent: 6 minutes 58 seconds 720 msec -OK -Time taken: 61.275 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28396@mturlrep13_201309172335_1701222232.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0051 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:35:47,068 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:35:58,144 Stage-1 map = 4%, reduce = 0% -2013-09-17 23:35:59,176 Stage-1 map = 24%, reduce = 0% -2013-09-17 23:36:00,190 Stage-1 map = 27%, reduce = 0% -2013-09-17 23:36:01,199 Stage-1 map = 35%, reduce = 0% -2013-09-17 23:36:02,206 Stage-1 map = 66%, reduce = 0% -2013-09-17 23:36:03,233 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 156.88 sec -2013-09-17 23:36:04,245 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 396.77 sec -2013-09-17 23:36:05,254 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 408.98 sec -2013-09-17 23:36:06,262 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 408.98 sec -2013-09-17 23:36:07,268 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 408.98 sec -2013-09-17 23:36:08,275 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 408.98 sec -2013-09-17 23:36:09,282 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 408.98 sec -2013-09-17 23:36:10,289 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 408.98 sec -2013-09-17 23:36:11,296 Stage-1 map = 100%, reduce = 15%, Cumulative CPU 408.98 sec -2013-09-17 23:36:12,305 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 408.98 sec -2013-09-17 23:36:13,315 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 424.36 sec -2013-09-17 23:36:14,324 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 435.5 sec -2013-09-17 23:36:15,330 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 463.94 sec -2013-09-17 23:36:16,337 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 471.88 sec -2013-09-17 23:36:17,343 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 471.88 sec -MapReduce Total cumulative CPU time: 7 minutes 51 seconds 880 msec -Ended Job = job_201309172235_0051 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0052 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:36:20,861 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:36:22,870 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.06 sec -2013-09-17 23:36:23,876 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.06 sec -2013-09-17 23:36:24,881 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.06 sec -2013-09-17 23:36:25,886 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.06 sec -2013-09-17 23:36:26,892 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.06 sec -2013-09-17 23:36:27,897 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.06 sec -2013-09-17 23:36:28,902 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.06 sec -2013-09-17 23:36:29,907 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.06 sec -2013-09-17 23:36:30,914 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.64 sec -2013-09-17 23:36:31,919 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.64 sec -MapReduce Total cumulative CPU time: 2 seconds 640 msec -Ended Job = job_201309172235_0052 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 471.88 sec HDFS Read: 683872957 HDFS Write: 45535 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.64 sec HDFS Read: 49112 HDFS Write: 154 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 54 seconds 520 msec -OK -Time taken: 53.698 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2932@mturlrep13_201309172336_301621711.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0053 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:36:42,472 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:36:53,559 Stage-1 map = 3%, reduce = 0% -2013-09-17 23:36:54,579 Stage-1 map = 23%, reduce = 0% -2013-09-17 23:36:55,590 Stage-1 map = 26%, reduce = 0% -2013-09-17 23:36:56,627 Stage-1 map = 32%, reduce = 0% -2013-09-17 23:36:57,654 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 9.3 sec -2013-09-17 23:36:58,675 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 127.12 sec -2013-09-17 23:36:59,688 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 387.4 sec -2013-09-17 23:37:00,695 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 400.81 sec -2013-09-17 23:37:01,701 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 413.22 sec -2013-09-17 23:37:02,706 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 413.22 sec -2013-09-17 23:37:03,712 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 413.22 sec -2013-09-17 23:37:04,717 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 413.22 sec -2013-09-17 23:37:05,723 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 413.22 sec -2013-09-17 23:37:06,729 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 413.22 sec -2013-09-17 23:37:07,737 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 413.22 sec -2013-09-17 23:37:08,746 Stage-1 map = 100%, reduce = 42%, Cumulative CPU 422.72 sec -2013-09-17 23:37:09,754 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 432.93 sec -2013-09-17 23:37:10,760 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 448.36 sec -2013-09-17 23:37:11,768 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 474.11 sec -2013-09-17 23:37:12,775 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 474.11 sec -MapReduce Total cumulative CPU time: 7 minutes 54 seconds 110 msec -Ended Job = job_201309172235_0053 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0054 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-17 23:37:15,239 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:37:18,252 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.03 sec -2013-09-17 23:37:19,258 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.03 sec -2013-09-17 23:37:20,263 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.03 sec -2013-09-17 23:37:21,269 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.03 sec -2013-09-17 23:37:22,274 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.03 sec -2013-09-17 23:37:23,279 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.03 sec -2013-09-17 23:37:24,284 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.03 sec -2013-09-17 23:37:25,289 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.5 sec -2013-09-17 23:37:26,295 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.5 sec -2013-09-17 23:37:27,301 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.5 sec -MapReduce Total cumulative CPU time: 2 seconds 500 msec -Ended Job = job_201309172235_0054 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 474.11 sec HDFS Read: 683872957 HDFS Write: 45535 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.5 sec HDFS Read: 49101 HDFS Write: 154 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 56 seconds 610 msec -OK -Time taken: 53.577 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - - -times: 1 -query: SELECT SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10187@mturlrep13_201309172337_1774589050.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0055 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:37:44,238 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:37:54,302 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:37:55,311 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:37:56,318 Stage-1 map = 5%, reduce = 0% -2013-09-17 23:37:57,890 Stage-1 map = 19%, reduce = 0% -2013-09-17 23:37:58,905 Stage-1 map = 21%, reduce = 0% -2013-09-17 23:37:59,930 Stage-1 map = 25%, reduce = 0% -2013-09-17 23:38:00,937 Stage-1 map = 47%, reduce = 0% -2013-09-17 23:38:01,955 Stage-1 map = 50%, reduce = 0% -2013-09-17 23:38:02,982 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 30.99 sec -2013-09-17 23:38:04,003 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 125.27 sec -2013-09-17 23:38:05,023 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 170.25 sec -2013-09-17 23:38:06,039 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 236.5 sec -2013-09-17 23:38:07,052 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 320.67 sec -2013-09-17 23:38:08,061 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 455.12 sec -2013-09-17 23:38:09,067 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.66 sec -2013-09-17 23:38:10,073 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.66 sec -2013-09-17 23:38:11,079 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.66 sec -2013-09-17 23:38:12,085 Stage-1 map = 100%, reduce = 1%, Cumulative CPU 469.66 sec -2013-09-17 23:38:13,094 Stage-1 map = 100%, reduce = 10%, Cumulative CPU 469.66 sec -2013-09-17 23:38:14,102 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 469.66 sec -2013-09-17 23:38:15,109 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 469.66 sec -2013-09-17 23:38:16,116 Stage-1 map = 100%, reduce = 42%, Cumulative CPU 469.66 sec -2013-09-17 23:38:17,126 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 469.66 sec -2013-09-17 23:38:18,133 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 469.66 sec -2013-09-17 23:38:19,141 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 469.66 sec -2013-09-17 23:38:20,149 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 545.11 sec -2013-09-17 23:38:21,156 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 588.58 sec -2013-09-17 23:38:22,163 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 588.58 sec -MapReduce Total cumulative CPU time: 9 minutes 48 seconds 580 msec -Ended Job = job_201309172235_0055 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0056 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:38:25,617 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:38:32,641 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:38:35,652 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:38:38,663 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:38:41,672 Stage-2 map = 73%, reduce = 0% -2013-09-17 23:38:44,684 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.74 sec -2013-09-17 23:38:45,690 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.74 sec -2013-09-17 23:38:46,696 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.74 sec -2013-09-17 23:38:47,700 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.5 sec -2013-09-17 23:38:48,705 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.5 sec -2013-09-17 23:38:49,711 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.5 sec -2013-09-17 23:38:50,716 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.5 sec -2013-09-17 23:38:51,722 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.5 sec -2013-09-17 23:38:52,728 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.5 sec -2013-09-17 23:38:53,732 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.5 sec -2013-09-17 23:38:54,738 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.5 sec -2013-09-17 23:38:55,744 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.5 sec -2013-09-17 23:38:56,749 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.5 sec -2013-09-17 23:38:57,754 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.5 sec -2013-09-17 23:38:58,759 Stage-2 map = 100%, reduce = 74%, Cumulative CPU 54.5 sec -2013-09-17 23:38:59,764 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.07 sec -2013-09-17 23:39:00,769 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.07 sec -2013-09-17 23:39:01,774 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.07 sec -MapReduce Total cumulative CPU time: 1 minutes 4 seconds 70 msec -Ended Job = job_201309172235_0056 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 588.58 sec HDFS Read: 182281719 HDFS Write: 470238755 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 64.07 sec HDFS Read: 470242477 HDFS Write: 294 SUCCESS -Total MapReduce CPU Time Spent: 10 minutes 52 seconds 650 msec -OK -Time taken: 87.924 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16997@mturlrep13_201309172339_969560501.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0057 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:39:11,317 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:39:22,427 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:39:23,436 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:39:24,449 Stage-1 map = 17%, reduce = 0% -2013-09-17 23:39:25,489 Stage-1 map = 27%, reduce = 0%, Cumulative CPU 238.77 sec -2013-09-17 23:39:26,502 Stage-1 map = 31%, reduce = 0%, Cumulative CPU 238.77 sec -2013-09-17 23:39:27,523 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 240.99 sec -2013-09-17 23:39:28,534 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 257.1 sec -2013-09-17 23:39:29,549 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 285.48 sec -2013-09-17 23:39:30,573 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 324.5 sec -2013-09-17 23:39:31,585 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 386.01 sec -2013-09-17 23:39:32,592 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.29 sec -2013-09-17 23:39:33,597 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.29 sec -2013-09-17 23:39:34,603 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.29 sec -2013-09-17 23:39:35,608 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.29 sec -2013-09-17 23:39:36,614 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.29 sec -2013-09-17 23:39:37,621 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 469.29 sec -2013-09-17 23:39:38,629 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 469.29 sec -2013-09-17 23:39:39,637 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 469.29 sec -2013-09-17 23:39:40,644 Stage-1 map = 100%, reduce = 42%, Cumulative CPU 469.29 sec -2013-09-17 23:39:41,652 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 469.29 sec -2013-09-17 23:39:42,659 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 469.29 sec -2013-09-17 23:39:43,669 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 479.78 sec -2013-09-17 23:39:44,677 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 523.18 sec -2013-09-17 23:39:45,684 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 589.52 sec -2013-09-17 23:39:46,692 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 589.52 sec -2013-09-17 23:39:47,699 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 589.52 sec -MapReduce Total cumulative CPU time: 9 minutes 49 seconds 520 msec -Ended Job = job_201309172235_0057 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0058 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:39:50,186 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:39:58,217 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:40:01,228 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:40:04,240 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:40:07,251 Stage-2 map = 82%, reduce = 0% -2013-09-17 23:40:11,265 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.49 sec -2013-09-17 23:40:12,270 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.49 sec -2013-09-17 23:40:13,276 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.49 sec -2013-09-17 23:40:14,281 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.65 sec -2013-09-17 23:40:15,286 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.65 sec -2013-09-17 23:40:16,291 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.65 sec -2013-09-17 23:40:18,615 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.65 sec -2013-09-17 23:40:19,621 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.65 sec -2013-09-17 23:40:20,627 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.65 sec -2013-09-17 23:40:21,632 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.65 sec -2013-09-17 23:40:22,637 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.65 sec -2013-09-17 23:40:23,643 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.65 sec -2013-09-17 23:40:24,649 Stage-2 map = 100%, reduce = 74%, Cumulative CPU 54.65 sec -2013-09-17 23:40:25,654 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.01 sec -2013-09-17 23:40:26,660 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.01 sec -MapReduce Total cumulative CPU time: 1 minutes 4 seconds 10 msec -Ended Job = job_201309172235_0058 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 589.52 sec HDFS Read: 182281719 HDFS Write: 470238755 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 64.01 sec HDFS Read: 470242477 HDFS Write: 294 SUCCESS -Total MapReduce CPU Time Spent: 10 minutes 53 seconds 530 msec -OK -Time taken: 82.999 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24505@mturlrep13_201309172340_635324541.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0059 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:40:37,367 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:40:48,543 Stage-1 map = 3%, reduce = 0% -2013-09-17 23:40:49,571 Stage-1 map = 11%, reduce = 0% -2013-09-17 23:40:50,591 Stage-1 map = 26%, reduce = 0% -2013-09-17 23:40:51,619 Stage-1 map = 32%, reduce = 0% -2013-09-17 23:40:52,626 Stage-1 map = 43%, reduce = 0% -2013-09-17 23:40:53,651 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 28.49 sec -2013-09-17 23:40:54,672 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 114.43 sec -2013-09-17 23:40:55,681 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 171.5 sec -2013-09-17 23:40:56,691 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 279.83 sec -2013-09-17 23:40:57,706 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 424.96 sec -2013-09-17 23:40:58,712 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.69 sec -2013-09-17 23:40:59,717 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.69 sec -2013-09-17 23:41:00,723 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.69 sec -2013-09-17 23:41:01,728 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.69 sec -2013-09-17 23:41:02,735 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 469.69 sec -2013-09-17 23:41:03,743 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 469.69 sec -2013-09-17 23:41:04,751 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 469.69 sec -2013-09-17 23:41:05,758 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 469.69 sec -2013-09-17 23:41:06,765 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 469.69 sec -2013-09-17 23:41:07,772 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 469.69 sec -2013-09-17 23:41:08,779 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 469.69 sec -2013-09-17 23:41:09,788 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 513.51 sec -2013-09-17 23:41:10,794 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 579.41 sec -2013-09-17 23:41:11,800 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 590.63 sec -2013-09-17 23:41:12,807 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 590.63 sec -MapReduce Total cumulative CPU time: 9 minutes 50 seconds 630 msec -Ended Job = job_201309172235_0059 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0060 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:41:15,266 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:41:23,289 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:41:26,298 Stage-2 map = 37%, reduce = 0%, Cumulative CPU 21.93 sec -2013-09-17 23:41:27,302 Stage-2 map = 37%, reduce = 0%, Cumulative CPU 21.93 sec -2013-09-17 23:41:28,306 Stage-2 map = 37%, reduce = 0%, Cumulative CPU 21.93 sec -2013-09-17 23:41:29,310 Stage-2 map = 55%, reduce = 0%, Cumulative CPU 21.93 sec -2013-09-17 23:41:30,314 Stage-2 map = 55%, reduce = 0%, Cumulative CPU 21.93 sec -2013-09-17 23:41:31,318 Stage-2 map = 55%, reduce = 0%, Cumulative CPU 21.93 sec -2013-09-17 23:41:32,322 Stage-2 map = 73%, reduce = 0%, Cumulative CPU 21.93 sec -2013-09-17 23:41:33,326 Stage-2 map = 73%, reduce = 0%, Cumulative CPU 21.93 sec -2013-09-17 23:41:34,334 Stage-2 map = 73%, reduce = 0%, Cumulative CPU 21.93 sec -2013-09-17 23:41:35,338 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 36.41 sec -2013-09-17 23:41:36,342 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 36.41 sec -2013-09-17 23:41:37,347 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 36.41 sec -2013-09-17 23:41:38,351 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 36.41 sec -2013-09-17 23:41:39,355 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.78 sec -2013-09-17 23:41:40,359 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.78 sec -2013-09-17 23:41:41,363 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.78 sec -2013-09-17 23:41:42,368 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.78 sec -2013-09-17 23:41:43,372 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.78 sec -2013-09-17 23:41:44,376 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.78 sec -2013-09-17 23:41:45,381 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.78 sec -2013-09-17 23:41:46,386 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.78 sec -2013-09-17 23:41:47,390 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.78 sec -2013-09-17 23:41:48,394 Stage-2 map = 100%, reduce = 74%, Cumulative CPU 54.78 sec -2013-09-17 23:41:49,399 Stage-2 map = 100%, reduce = 74%, Cumulative CPU 54.78 sec -2013-09-17 23:41:50,404 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.36 sec -2013-09-17 23:41:51,408 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.36 sec -MapReduce Total cumulative CPU time: 1 minutes 4 seconds 360 msec -Ended Job = job_201309172235_0060 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 590.63 sec HDFS Read: 182281719 HDFS Write: 470238755 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 64.36 sec HDFS Read: 470242477 HDFS Write: 294 SUCCESS -Total MapReduce CPU Time Spent: 10 minutes 54 seconds 990 msec -OK -Time taken: 82.867 seconds, Fetched: 10 row(s) -hive> quit; --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - - -times: 1 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31334@mturlrep13_201309172342_322265508.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0061 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:42:11,682 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:42:21,798 Stage-1 map = 7%, reduce = 0% -2013-09-17 23:42:22,804 Stage-1 map = 8%, reduce = 0% -2013-09-17 23:42:24,816 Stage-1 map = 15%, reduce = 0% -2013-09-17 23:42:27,083 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 228.9 sec -2013-09-17 23:42:28,092 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 228.9 sec -2013-09-17 23:42:29,101 Stage-1 map = 35%, reduce = 0%, Cumulative CPU 228.9 sec -2013-09-17 23:42:31,162 Stage-1 map = 42%, reduce = 0%, Cumulative CPU 228.9 sec -2013-09-17 23:42:32,201 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 231.63 sec -2013-09-17 23:42:33,214 Stage-1 map = 51%, reduce = 0%, Cumulative CPU 234.97 sec -2013-09-17 23:42:34,223 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 254.73 sec -2013-09-17 23:42:35,315 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 254.73 sec -2013-09-17 23:42:36,327 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 260.85 sec -2013-09-17 23:42:37,339 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 292.13 sec -2013-09-17 23:42:38,347 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 320.32 sec -2013-09-17 23:42:39,358 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 396.48 sec -2013-09-17 23:42:40,364 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 484.46 sec -2013-09-17 23:42:41,369 Stage-1 map = 100%, reduce = 2%, Cumulative CPU 517.16 sec -2013-09-17 23:42:42,376 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 517.16 sec -2013-09-17 23:42:43,383 Stage-1 map = 100%, reduce = 16%, Cumulative CPU 517.16 sec -2013-09-17 23:42:44,391 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 517.16 sec -2013-09-17 23:42:45,397 Stage-1 map = 100%, reduce = 37%, Cumulative CPU 517.16 sec -2013-09-17 23:42:46,404 Stage-1 map = 100%, reduce = 48%, Cumulative CPU 517.16 sec -2013-09-17 23:42:47,411 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 517.16 sec -2013-09-17 23:42:48,419 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 517.16 sec -2013-09-17 23:42:49,427 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 528.88 sec -2013-09-17 23:42:50,435 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 540.66 sec -2013-09-17 23:42:51,442 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 589.36 sec -2013-09-17 23:42:52,449 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 626.57 sec -2013-09-17 23:42:53,455 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 626.57 sec -2013-09-17 23:42:54,461 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 651.04 sec -2013-09-17 23:42:55,468 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 651.04 sec -MapReduce Total cumulative CPU time: 10 minutes 51 seconds 40 msec -Ended Job = job_201309172235_0061 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0062 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:42:57,983 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:43:06,006 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:43:09,017 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:43:12,028 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:43:15,039 Stage-2 map = 73%, reduce = 0% -2013-09-17 23:43:18,050 Stage-2 map = 82%, reduce = 0% -2013-09-17 23:43:19,055 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.26 sec -2013-09-17 23:43:20,061 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.26 sec -2013-09-17 23:43:21,068 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 53.98 sec -2013-09-17 23:43:22,073 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 53.98 sec -2013-09-17 23:43:23,077 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 53.98 sec -2013-09-17 23:43:24,082 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 53.98 sec -2013-09-17 23:43:25,087 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 53.98 sec -2013-09-17 23:43:26,092 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 53.98 sec -2013-09-17 23:43:27,096 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 53.98 sec -2013-09-17 23:43:28,101 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 53.98 sec -2013-09-17 23:43:29,106 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 53.98 sec -2013-09-17 23:43:30,110 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 53.98 sec -2013-09-17 23:43:31,114 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 53.98 sec -2013-09-17 23:43:32,119 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 53.98 sec -2013-09-17 23:43:33,124 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 63.69 sec -2013-09-17 23:43:34,129 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 63.69 sec -2013-09-17 23:43:35,135 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 63.69 sec -MapReduce Total cumulative CPU time: 1 minutes 3 seconds 690 msec -Ended Job = job_201309172235_0062 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 651.04 sec HDFS Read: 840872065 HDFS Write: 470236967 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 63.69 sec HDFS Read: 470240689 HDFS Write: 291 SUCCESS -Total MapReduce CPU Time Spent: 11 minutes 54 seconds 730 msec -OK -Time taken: 94.281 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6246@mturlrep13_201309172343_752416466.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0063 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:43:46,269 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:43:55,322 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:43:56,328 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:43:57,335 Stage-1 map = 8%, reduce = 0% -2013-09-17 23:43:58,347 Stage-1 map = 15%, reduce = 0% -2013-09-17 23:43:59,353 Stage-1 map = 20%, reduce = 0% -2013-09-17 23:44:00,368 Stage-1 map = 29%, reduce = 0% -2013-09-17 23:44:01,375 Stage-1 map = 40%, reduce = 0% -2013-09-17 23:44:02,399 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 11.32 sec -2013-09-17 23:44:03,419 Stage-1 map = 54%, reduce = 0%, Cumulative CPU 45.05 sec -2013-09-17 23:44:04,431 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 68.44 sec -2013-09-17 23:44:05,439 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 146.24 sec -2013-09-17 23:44:06,446 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 213.64 sec -2013-09-17 23:44:07,457 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 292.27 sec -2013-09-17 23:44:08,464 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 443.09 sec -2013-09-17 23:44:09,470 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 549.17 sec -2013-09-17 23:44:10,476 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 549.17 sec -2013-09-17 23:44:11,482 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 549.17 sec -2013-09-17 23:44:12,489 Stage-1 map = 100%, reduce = 1%, Cumulative CPU 549.17 sec -2013-09-17 23:44:13,497 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 549.17 sec -2013-09-17 23:44:14,506 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 549.17 sec -2013-09-17 23:44:15,513 Stage-1 map = 100%, reduce = 34%, Cumulative CPU 549.17 sec -2013-09-17 23:44:16,520 Stage-1 map = 100%, reduce = 45%, Cumulative CPU 549.17 sec -2013-09-17 23:44:17,527 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 549.17 sec -2013-09-17 23:44:18,534 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 549.17 sec -2013-09-17 23:44:19,541 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 549.17 sec -2013-09-17 23:44:20,550 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 561.32 sec -2013-09-17 23:44:21,556 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 585.6 sec -2013-09-17 23:44:22,563 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 687.26 sec -2013-09-17 23:44:23,570 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 687.26 sec -2013-09-17 23:44:24,576 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 687.26 sec -MapReduce Total cumulative CPU time: 11 minutes 27 seconds 260 msec -Ended Job = job_201309172235_0063 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0064 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:44:28,140 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:44:35,163 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:44:38,174 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:44:41,183 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:44:44,194 Stage-2 map = 82%, reduce = 0% -2013-09-17 23:44:47,205 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.21 sec -2013-09-17 23:44:48,211 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.21 sec -2013-09-17 23:44:49,215 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.21 sec -2013-09-17 23:44:50,916 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.21 sec -2013-09-17 23:44:51,921 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.96 sec -2013-09-17 23:44:52,925 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.96 sec -2013-09-17 23:44:53,931 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.96 sec -2013-09-17 23:44:54,937 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.96 sec -2013-09-17 23:44:55,942 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.96 sec -2013-09-17 23:44:56,947 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.96 sec -2013-09-17 23:44:57,951 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.96 sec -2013-09-17 23:44:58,956 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.96 sec -2013-09-17 23:44:59,960 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 54.96 sec -2013-09-17 23:45:00,964 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 54.96 sec -2013-09-17 23:45:01,970 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.36 sec -2013-09-17 23:45:02,975 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.36 sec -2013-09-17 23:45:03,981 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.36 sec -MapReduce Total cumulative CPU time: 1 minutes 4 seconds 360 msec -Ended Job = job_201309172235_0064 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 687.26 sec HDFS Read: 840872065 HDFS Write: 470236967 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 64.36 sec HDFS Read: 470240689 HDFS Write: 291 SUCCESS -Total MapReduce CPU Time Spent: 12 minutes 31 seconds 620 msec -OK -Time taken: 86.991 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13649@mturlrep13_201309172345_1690142009.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0065 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:45:13,718 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:45:24,809 Stage-1 map = 3%, reduce = 0% -2013-09-17 23:45:25,833 Stage-1 map = 9%, reduce = 0%, Cumulative CPU 168.95 sec -2013-09-17 23:45:26,845 Stage-1 map = 12%, reduce = 0%, Cumulative CPU 168.95 sec -2013-09-17 23:45:27,853 Stage-1 map = 23%, reduce = 0%, Cumulative CPU 168.95 sec -2013-09-17 23:45:28,867 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 168.95 sec -2013-09-17 23:45:29,874 Stage-1 map = 40%, reduce = 0%, Cumulative CPU 168.95 sec -2013-09-17 23:45:30,887 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 173.1 sec -2013-09-17 23:45:31,894 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 190.37 sec -2013-09-17 23:45:32,900 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 207.59 sec -2013-09-17 23:45:33,913 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 266.9 sec -2013-09-17 23:45:34,921 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 286.81 sec -2013-09-17 23:45:35,928 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 319.49 sec -2013-09-17 23:45:36,935 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 429.06 sec -2013-09-17 23:45:37,943 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 545.45 sec -2013-09-17 23:45:38,949 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 545.45 sec -2013-09-17 23:45:39,955 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 545.45 sec -2013-09-17 23:45:40,961 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 545.45 sec -2013-09-17 23:45:41,968 Stage-1 map = 100%, reduce = 5%, Cumulative CPU 545.45 sec -2013-09-17 23:45:42,978 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 545.45 sec -2013-09-17 23:45:43,985 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 545.45 sec -2013-09-17 23:45:44,992 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 545.45 sec -2013-09-17 23:45:45,999 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 545.45 sec -2013-09-17 23:45:47,006 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 545.45 sec -2013-09-17 23:45:48,013 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 545.45 sec -2013-09-17 23:45:49,019 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 545.45 sec -2013-09-17 23:45:50,027 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 595.55 sec -2013-09-17 23:45:51,034 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 670.19 sec -2013-09-17 23:45:52,040 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 682.37 sec -2013-09-17 23:45:53,047 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 682.37 sec -MapReduce Total cumulative CPU time: 11 minutes 22 seconds 370 msec -Ended Job = job_201309172235_0065 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0066 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:45:56,566 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:46:03,591 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:46:06,601 Stage-2 map = 28%, reduce = 0% -2013-09-17 23:46:07,606 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:46:10,617 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:46:13,628 Stage-2 map = 73%, reduce = 0% -2013-09-17 23:46:16,640 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.88 sec -2013-09-17 23:46:17,646 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.88 sec -2013-09-17 23:46:18,651 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 25.88 sec -2013-09-17 23:46:19,840 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.97 sec -2013-09-17 23:46:20,844 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.97 sec -2013-09-17 23:46:21,848 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.97 sec -2013-09-17 23:46:22,853 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.97 sec -2013-09-17 23:46:23,857 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 54.97 sec -2013-09-17 23:46:24,862 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 54.97 sec -2013-09-17 23:46:25,866 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 56.42 sec -2013-09-17 23:46:26,871 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 56.42 sec -2013-09-17 23:46:27,875 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 56.42 sec -2013-09-17 23:46:28,879 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 56.42 sec -2013-09-17 23:46:29,883 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 56.42 sec -2013-09-17 23:46:30,888 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 56.42 sec -2013-09-17 23:46:31,893 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.4 sec -2013-09-17 23:46:32,899 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 64.4 sec -MapReduce Total cumulative CPU time: 1 minutes 4 seconds 400 msec -Ended Job = job_201309172235_0066 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 682.37 sec HDFS Read: 840872065 HDFS Write: 470236967 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 64.4 sec HDFS Read: 470240689 HDFS Write: 291 SUCCESS -Total MapReduce CPU Time Spent: 12 minutes 26 seconds 770 msec -OK -Time taken: 87.084 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация чуть сложнее.; - - -times: 1 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21386@mturlrep13_201309172346_1552848937.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0067 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:46:53,783 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:47:03,859 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:47:05,878 Stage-1 map = 5%, reduce = 0% -2013-09-17 23:47:07,199 Stage-1 map = 21%, reduce = 0% -2013-09-17 23:47:08,207 Stage-1 map = 24%, reduce = 0% -2013-09-17 23:47:09,214 Stage-1 map = 30%, reduce = 0% -2013-09-17 23:47:10,223 Stage-1 map = 48%, reduce = 0% -2013-09-17 23:47:11,239 Stage-1 map = 50%, reduce = 0% -2013-09-17 23:47:12,265 Stage-1 map = 62%, reduce = 0%, Cumulative CPU 41.92 sec -2013-09-17 23:47:13,282 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 108.6 sec -2013-09-17 23:47:14,295 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 181.12 sec -2013-09-17 23:47:15,307 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 247.1 sec -2013-09-17 23:47:16,313 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 290.6 sec -2013-09-17 23:47:17,320 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 460.07 sec -2013-09-17 23:47:18,326 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 491.41 sec -2013-09-17 23:47:19,332 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 491.41 sec -2013-09-17 23:47:20,338 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 491.41 sec -2013-09-17 23:47:21,345 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 491.41 sec -2013-09-17 23:47:22,352 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 491.41 sec -2013-09-17 23:47:23,359 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 491.41 sec -2013-09-17 23:47:24,369 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 491.41 sec -2013-09-17 23:47:25,377 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 491.41 sec -2013-09-17 23:47:26,389 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 543.54 sec -2013-09-17 23:47:27,397 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 543.54 sec -2013-09-17 23:47:28,404 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 543.54 sec -2013-09-17 23:47:29,411 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 560.73 sec -2013-09-17 23:47:30,418 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 619.13 sec -2013-09-17 23:47:31,425 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 619.13 sec -2013-09-17 23:47:32,432 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 619.13 sec -MapReduce Total cumulative CPU time: 10 minutes 19 seconds 130 msec -Ended Job = job_201309172235_0067 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0068 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:47:35,954 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:47:42,978 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:47:45,991 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:47:49,003 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:47:52,014 Stage-2 map = 73%, reduce = 0% -2013-09-17 23:47:55,025 Stage-2 map = 82%, reduce = 0% -2013-09-17 23:47:57,034 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 27.07 sec -2013-09-17 23:47:58,040 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 27.07 sec -2013-09-17 23:47:59,046 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 27.07 sec -2013-09-17 23:48:00,051 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 27.07 sec -2013-09-17 23:48:01,056 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 58.79 sec -2013-09-17 23:48:02,060 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 58.79 sec -2013-09-17 23:48:03,066 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 58.79 sec -2013-09-17 23:48:04,072 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 58.79 sec -2013-09-17 23:48:05,077 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 58.79 sec -2013-09-17 23:48:06,082 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 58.79 sec -2013-09-17 23:48:07,087 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 58.79 sec -2013-09-17 23:48:08,092 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 58.79 sec -2013-09-17 23:48:09,096 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 58.79 sec -2013-09-17 23:48:10,102 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 58.79 sec -2013-09-17 23:48:11,107 Stage-2 map = 100%, reduce = 74%, Cumulative CPU 58.79 sec -2013-09-17 23:48:12,112 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 68.73 sec -2013-09-17 23:48:13,119 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 68.73 sec -2013-09-17 23:48:14,124 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 68.73 sec -MapReduce Total cumulative CPU time: 1 minutes 8 seconds 730 msec -Ended Job = job_201309172235_0068 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 619.13 sec HDFS Read: 200023859 HDFS Write: 499984003 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 68.73 sec HDFS Read: 499987725 HDFS Write: 286 SUCCESS -Total MapReduce CPU Time Spent: 11 minutes 27 seconds 860 msec -OK -Time taken: 91.05 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28179@mturlrep13_201309172348_1562230786.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0069 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:48:23,881 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:48:35,995 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:48:37,001 Stage-1 map = 16%, reduce = 0% -2013-09-17 23:48:38,011 Stage-1 map = 20%, reduce = 0% -2013-09-17 23:48:39,018 Stage-1 map = 24%, reduce = 0% -2013-09-17 23:48:40,024 Stage-1 map = 39%, reduce = 0% -2013-09-17 23:48:41,052 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 10.64 sec -2013-09-17 23:48:42,094 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 99.96 sec -2013-09-17 23:48:43,114 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 158.73 sec -2013-09-17 23:48:44,140 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 239.0 sec -2013-09-17 23:48:45,149 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 313.14 sec -2013-09-17 23:48:46,156 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 453.86 sec -2013-09-17 23:48:47,162 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 503.27 sec -2013-09-17 23:48:48,168 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 503.27 sec -2013-09-17 23:48:49,174 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 503.27 sec -2013-09-17 23:48:50,181 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 503.27 sec -2013-09-17 23:48:51,188 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 503.27 sec -2013-09-17 23:48:52,194 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 503.27 sec -2013-09-17 23:48:53,201 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 503.27 sec -2013-09-17 23:48:54,207 Stage-1 map = 100%, reduce = 45%, Cumulative CPU 503.27 sec -2013-09-17 23:48:55,214 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 503.27 sec -2013-09-17 23:48:56,221 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 503.27 sec -2013-09-17 23:48:57,228 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 503.27 sec -2013-09-17 23:48:58,237 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 548.17 sec -2013-09-17 23:48:59,244 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 606.99 sec -2013-09-17 23:49:00,251 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 630.32 sec -2013-09-17 23:49:01,257 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 630.32 sec -MapReduce Total cumulative CPU time: 10 minutes 30 seconds 320 msec -Ended Job = job_201309172235_0069 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0070 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:49:04,779 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:49:11,801 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:49:14,812 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:49:17,821 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:49:20,831 Stage-2 map = 73%, reduce = 0% -2013-09-17 23:49:23,839 Stage-2 map = 82%, reduce = 0% -2013-09-17 23:49:26,850 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 52.88 sec -2013-09-17 23:49:27,856 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 52.88 sec -2013-09-17 23:49:28,860 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 52.88 sec -2013-09-17 23:49:29,866 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 52.88 sec -2013-09-17 23:49:32,220 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 60.11 sec -2013-09-17 23:49:33,226 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 60.11 sec -2013-09-17 23:49:34,231 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 60.11 sec -2013-09-17 23:49:35,237 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 60.11 sec -2013-09-17 23:49:36,242 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 60.11 sec -2013-09-17 23:49:37,248 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 60.11 sec -2013-09-17 23:49:38,253 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 60.11 sec -2013-09-17 23:49:39,259 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 60.11 sec -2013-09-17 23:49:40,265 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 60.11 sec -2013-09-17 23:49:41,270 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 70.2 sec -2013-09-17 23:49:42,276 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 70.2 sec -2013-09-17 23:49:43,281 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 70.2 sec -MapReduce Total cumulative CPU time: 1 minutes 10 seconds 200 msec -Ended Job = job_201309172235_0070 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 630.32 sec HDFS Read: 200023859 HDFS Write: 499984003 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 70.2 sec HDFS Read: 499987725 HDFS Write: 286 SUCCESS -Total MapReduce CPU Time Spent: 11 minutes 40 seconds 520 msec -OK -Time taken: 87.267 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2628@mturlrep13_201309172349_1108098215.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0071 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:49:52,985 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:50:05,128 Stage-1 map = 2%, reduce = 0% -2013-09-17 23:50:06,133 Stage-1 map = 15%, reduce = 0% -2013-09-17 23:50:07,151 Stage-1 map = 22%, reduce = 0% -2013-09-17 23:50:08,158 Stage-1 map = 23%, reduce = 0% -2013-09-17 23:50:09,175 Stage-1 map = 50%, reduce = 0% -2013-09-17 23:50:10,194 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 31.85 sec -2013-09-17 23:50:11,210 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 65.05 sec -2013-09-17 23:50:12,225 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 147.44 sec -2013-09-17 23:50:13,259 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 212.15 sec -2013-09-17 23:50:14,277 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 269.6 sec -2013-09-17 23:50:15,286 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 409.48 sec -2013-09-17 23:50:16,293 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 490.26 sec -2013-09-17 23:50:17,299 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 507.73 sec -2013-09-17 23:50:18,304 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 507.73 sec -2013-09-17 23:50:19,311 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 507.73 sec -2013-09-17 23:50:20,317 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 507.73 sec -2013-09-17 23:50:21,323 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 507.73 sec -2013-09-17 23:50:22,331 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 507.73 sec -2013-09-17 23:50:23,337 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 507.73 sec -2013-09-17 23:50:24,344 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 507.73 sec -2013-09-17 23:50:25,351 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 507.73 sec -2013-09-17 23:50:26,357 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 507.73 sec -2013-09-17 23:50:27,367 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 592.09 sec -2013-09-17 23:50:28,374 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 620.73 sec -2013-09-17 23:50:29,381 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 636.3 sec -2013-09-17 23:50:30,387 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 636.3 sec -MapReduce Total cumulative CPU time: 10 minutes 36 seconds 300 msec -Ended Job = job_201309172235_0071 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0072 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:50:33,867 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:50:40,890 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:50:43,901 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:50:46,911 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:50:49,921 Stage-2 map = 73%, reduce = 0% -2013-09-17 23:50:53,934 Stage-2 map = 82%, reduce = 0% -2013-09-17 23:50:55,943 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 27.87 sec -2013-09-17 23:50:56,949 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 27.87 sec -2013-09-17 23:50:57,955 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 27.87 sec -2013-09-17 23:50:59,680 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 27.87 sec -2013-09-17 23:51:00,685 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 61.27 sec -2013-09-17 23:51:01,690 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 61.27 sec -2013-09-17 23:51:02,695 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 61.27 sec -2013-09-17 23:51:03,700 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 61.27 sec -2013-09-17 23:51:04,705 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 61.27 sec -2013-09-17 23:51:05,710 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 61.27 sec -2013-09-17 23:51:06,715 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 61.27 sec -2013-09-17 23:51:07,719 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 61.27 sec -2013-09-17 23:51:08,725 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 61.27 sec -2013-09-17 23:51:09,730 Stage-2 map = 100%, reduce = 74%, Cumulative CPU 61.27 sec -2013-09-17 23:51:10,735 Stage-2 map = 100%, reduce = 74%, Cumulative CPU 61.27 sec -2013-09-17 23:51:11,740 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 71.17 sec -2013-09-17 23:51:12,746 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 71.17 sec -MapReduce Total cumulative CPU time: 1 minutes 11 seconds 170 msec -Ended Job = job_201309172235_0072 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 636.3 sec HDFS Read: 200023859 HDFS Write: 499984003 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 71.17 sec HDFS Read: 499987725 HDFS Write: 286 SUCCESS -Total MapReduce CPU Time Spent: 11 minutes 47 seconds 470 msec -OK -Time taken: 87.731 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по числу и строке, большое количество ключей.; - - -times: 1 -query: SELECT UserID, count(*) AS c FROM hits_100m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10539@mturlrep13_201309172351_1364032363.txt -hive> SELECT UserID, count(*) AS c FROM hits_100m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0073 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:51:32,893 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:51:43,007 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:51:45,021 Stage-1 map = 4%, reduce = 0% -2013-09-17 23:51:47,070 Stage-1 map = 11%, reduce = 0% -2013-09-17 23:51:48,076 Stage-1 map = 14%, reduce = 0% -2013-09-17 23:51:50,095 Stage-1 map = 33%, reduce = 0% -2013-09-17 23:51:51,260 Stage-1 map = 39%, reduce = 0% -2013-09-17 23:51:53,285 Stage-1 map = 51%, reduce = 0% -2013-09-17 23:51:54,299 Stage-1 map = 58%, reduce = 0% -2013-09-17 23:51:55,943 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 13.64 sec -2013-09-17 23:51:56,974 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 25.01 sec -2013-09-17 23:51:57,984 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 38.32 sec -2013-09-17 23:51:58,990 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 80.19 sec -2013-09-17 23:51:59,996 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 80.19 sec -2013-09-17 23:52:01,007 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 95.79 sec -2013-09-17 23:52:02,036 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 193.09 sec -2013-09-17 23:52:03,054 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 243.99 sec -2013-09-17 23:52:04,061 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 426.96 sec -2013-09-17 23:52:05,067 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 468.05 sec -2013-09-17 23:52:06,074 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 487.46 sec -2013-09-17 23:52:07,080 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 685.94 sec -2013-09-17 23:52:08,087 Stage-1 map = 100%, reduce = 2%, Cumulative CPU 685.94 sec -2013-09-17 23:52:09,093 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 685.94 sec -2013-09-17 23:52:10,100 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 685.94 sec -2013-09-17 23:52:11,107 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 685.94 sec -2013-09-17 23:52:12,114 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 685.94 sec -2013-09-17 23:52:13,122 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 685.94 sec -2013-09-17 23:52:14,128 Stage-1 map = 100%, reduce = 40%, Cumulative CPU 685.94 sec -2013-09-17 23:52:15,135 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 685.94 sec -2013-09-17 23:52:16,141 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 685.94 sec -2013-09-17 23:52:17,148 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 685.94 sec -2013-09-17 23:52:18,153 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 685.94 sec -2013-09-17 23:52:19,170 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 700.91 sec -2013-09-17 23:52:20,177 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 810.21 sec -2013-09-17 23:52:21,183 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 825.67 sec -2013-09-17 23:52:22,188 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 825.67 sec -2013-09-17 23:52:23,194 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 855.09 sec -2013-09-17 23:52:24,198 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 855.09 sec -MapReduce Total cumulative CPU time: 14 minutes 15 seconds 90 msec -Ended Job = job_201309172235_0073 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0074 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:52:27,714 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:52:40,754 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:52:48,779 Stage-2 map = 27%, reduce = 0% -2013-09-17 23:52:49,783 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:52:52,793 Stage-2 map = 45%, reduce = 0% -2013-09-17 23:52:55,803 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:53:01,889 Stage-2 map = 73%, reduce = 0% -2013-09-17 23:53:07,908 Stage-2 map = 82%, reduce = 0% -2013-09-17 23:53:13,929 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 55.32 sec -2013-09-17 23:53:14,935 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 55.32 sec -2013-09-17 23:53:15,940 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 55.32 sec -2013-09-17 23:53:16,946 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 55.32 sec -2013-09-17 23:53:17,951 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 55.32 sec -2013-09-17 23:53:18,956 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 55.32 sec -2013-09-17 23:53:19,961 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 118.9 sec -2013-09-17 23:53:20,966 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 118.9 sec -2013-09-17 23:53:21,971 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 118.9 sec -2013-09-17 23:53:22,975 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 118.9 sec -2013-09-17 23:53:23,979 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 118.9 sec -2013-09-17 23:53:24,983 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.9 sec -2013-09-17 23:53:25,987 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.9 sec -2013-09-17 23:53:26,992 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 123.85 sec -2013-09-17 23:53:27,996 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 123.85 sec -2013-09-17 23:53:29,001 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 123.85 sec -2013-09-17 23:53:30,005 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 123.85 sec -2013-09-17 23:53:31,010 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 123.85 sec -2013-09-17 23:53:32,014 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 123.85 sec -2013-09-17 23:53:33,019 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 123.85 sec -2013-09-17 23:53:34,029 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 133.7 sec -2013-09-17 23:53:35,034 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 133.7 sec -MapReduce Total cumulative CPU time: 2 minutes 13 seconds 700 msec -Ended Job = job_201309172235_0074 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 855.09 sec HDFS Read: 663537300 HDFS Write: 480155183 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 133.7 sec HDFS Read: 480158905 HDFS Write: 251 SUCCESS -Total MapReduce CPU Time Spent: 16 minutes 28 seconds 790 msec -OK -Time taken: 132.697 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT UserID, count(*) AS c FROM hits_100m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17435@mturlrep13_201309172353_888901844.txt -hive> SELECT UserID, count(*) AS c FROM hits_100m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0075 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:53:45,965 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:53:57,063 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:53:58,076 Stage-1 map = 9%, reduce = 0% -2013-09-17 23:53:59,095 Stage-1 map = 20%, reduce = 0% -2013-09-17 23:54:00,108 Stage-1 map = 23%, reduce = 0% -2013-09-17 23:54:01,121 Stage-1 map = 37%, reduce = 0% -2013-09-17 23:54:02,132 Stage-1 map = 58%, reduce = 0% -2013-09-17 23:54:03,151 Stage-1 map = 59%, reduce = 0% -2013-09-17 23:54:04,163 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 10.96 sec -2013-09-17 23:54:05,184 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 51.58 sec -2013-09-17 23:54:06,196 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 65.4 sec -2013-09-17 23:54:07,205 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 123.94 sec -2013-09-17 23:54:08,310 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 137.81 sec -2013-09-17 23:54:09,332 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 234.2 sec -2013-09-17 23:54:10,342 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 283.15 sec -2013-09-17 23:54:11,350 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 399.5 sec -2013-09-17 23:54:12,356 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 459.78 sec -2013-09-17 23:54:13,365 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 479.7 sec -2013-09-17 23:54:14,372 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 479.7 sec -2013-09-17 23:54:15,378 Stage-1 map = 98%, reduce = 5%, Cumulative CPU 553.18 sec -2013-09-17 23:54:16,383 Stage-1 map = 99%, reduce = 17%, Cumulative CPU 654.99 sec -2013-09-17 23:54:17,388 Stage-1 map = 100%, reduce = 23%, Cumulative CPU 681.14 sec -2013-09-17 23:54:18,394 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 681.14 sec -2013-09-17 23:54:19,399 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 681.14 sec -2013-09-17 23:54:20,405 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 681.14 sec -2013-09-17 23:54:21,411 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 681.14 sec -2013-09-17 23:54:22,417 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 681.14 sec -2013-09-17 23:54:23,423 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 681.14 sec -2013-09-17 23:54:24,430 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 681.14 sec -2013-09-17 23:54:25,442 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 681.14 sec -2013-09-17 23:54:26,448 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 681.14 sec -2013-09-17 23:54:27,456 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 758.79 sec -2013-09-17 23:54:28,462 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 758.79 sec -2013-09-17 23:54:29,468 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 758.79 sec -2013-09-17 23:54:30,475 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 758.79 sec -2013-09-17 23:54:31,481 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 792.19 sec -2013-09-17 23:54:32,487 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 841.44 sec -2013-09-17 23:54:33,493 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 849.83 sec -2013-09-17 23:54:34,499 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 849.83 sec -MapReduce Total cumulative CPU time: 14 minutes 9 seconds 830 msec -Ended Job = job_201309172235_0075 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0076 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:54:36,978 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:54:51,026 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:54:57,047 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:55:04,073 Stage-2 map = 47%, reduce = 0% -2013-09-17 23:55:07,084 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:55:10,096 Stage-2 map = 65%, reduce = 0% -2013-09-17 23:55:14,109 Stage-2 map = 73%, reduce = 0% -2013-09-17 23:55:20,130 Stage-2 map = 82%, reduce = 0% -2013-09-17 23:55:23,142 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 54.08 sec -2013-09-17 23:55:24,147 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 54.08 sec -2013-09-17 23:55:25,151 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 54.08 sec -2013-09-17 23:55:26,156 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 54.08 sec -2013-09-17 23:55:27,160 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 112.2 sec -2013-09-17 23:55:28,165 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 112.2 sec -2013-09-17 23:55:29,170 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 112.2 sec -2013-09-17 23:55:30,175 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 112.2 sec -2013-09-17 23:55:31,180 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 112.2 sec -2013-09-17 23:55:32,185 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 118.52 sec -2013-09-17 23:55:33,190 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 118.52 sec -2013-09-17 23:55:34,194 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 118.52 sec -2013-09-17 23:55:35,198 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 118.52 sec -2013-09-17 23:55:36,202 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 118.52 sec -2013-09-17 23:55:37,207 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 118.52 sec -2013-09-17 23:55:38,212 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 118.52 sec -2013-09-17 23:55:39,217 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 118.52 sec -2013-09-17 23:55:40,222 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.52 sec -2013-09-17 23:55:41,227 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.52 sec -2013-09-17 23:55:42,233 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.52 sec -2013-09-17 23:55:43,248 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.52 sec -2013-09-17 23:55:44,252 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.52 sec -2013-09-17 23:55:45,257 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.52 sec -2013-09-17 23:55:46,262 Stage-2 map = 100%, reduce = 80%, Cumulative CPU 118.52 sec -2013-09-17 23:55:47,267 Stage-2 map = 100%, reduce = 80%, Cumulative CPU 118.52 sec -2013-09-17 23:55:48,272 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 133.0 sec -2013-09-17 23:55:49,278 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 133.0 sec -MapReduce Total cumulative CPU time: 2 minutes 13 seconds 0 msec -Ended Job = job_201309172235_0076 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 849.83 sec HDFS Read: 663537300 HDFS Write: 480155183 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 133.0 sec HDFS Read: 480158905 HDFS Write: 251 SUCCESS -Total MapReduce CPU Time Spent: 16 minutes 22 seconds 830 msec -OK -Time taken: 132.306 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT UserID, count(*) AS c FROM hits_100m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25039@mturlrep13_201309172355_777652129.txt -hive> SELECT UserID, count(*) AS c FROM hits_100m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0077 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:55:58,731 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:56:11,863 Stage-1 map = 12%, reduce = 0% -2013-09-17 23:56:12,877 Stage-1 map = 20%, reduce = 0% -2013-09-17 23:56:13,887 Stage-1 map = 22%, reduce = 0% -2013-09-17 23:56:14,900 Stage-1 map = 40%, reduce = 0% -2013-09-17 23:56:15,915 Stage-1 map = 57%, reduce = 0% -2013-09-17 23:56:16,938 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 10.56 sec -2013-09-17 23:56:17,950 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 10.56 sec -2013-09-17 23:56:18,963 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 10.56 sec -2013-09-17 23:56:19,993 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 52.39 sec -2013-09-17 23:56:20,999 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 109.68 sec -2013-09-17 23:56:22,006 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 171.28 sec -2013-09-17 23:56:23,012 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 218.43 sec -2013-09-17 23:56:24,036 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 285.81 sec -2013-09-17 23:56:25,051 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 343.66 sec -2013-09-17 23:56:26,057 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 482.51 sec -2013-09-17 23:56:27,063 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 635.88 sec -2013-09-17 23:56:28,070 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 635.88 sec -2013-09-17 23:56:29,077 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 651.74 sec -2013-09-17 23:56:30,084 Stage-1 map = 100%, reduce = 7%, Cumulative CPU 682.92 sec -2013-09-17 23:56:31,091 Stage-1 map = 100%, reduce = 19%, Cumulative CPU 682.92 sec -2013-09-17 23:56:32,097 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 682.92 sec -2013-09-17 23:56:33,104 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 682.92 sec -2013-09-17 23:56:34,110 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 682.92 sec -2013-09-17 23:56:35,117 Stage-1 map = 100%, reduce = 40%, Cumulative CPU 682.92 sec -2013-09-17 23:56:36,123 Stage-1 map = 100%, reduce = 40%, Cumulative CPU 682.92 sec -2013-09-17 23:56:37,129 Stage-1 map = 100%, reduce = 40%, Cumulative CPU 682.92 sec -2013-09-17 23:56:38,136 Stage-1 map = 100%, reduce = 43%, Cumulative CPU 682.92 sec -2013-09-17 23:56:39,142 Stage-1 map = 100%, reduce = 54%, Cumulative CPU 682.92 sec -2013-09-17 23:56:40,150 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 682.92 sec -2013-09-17 23:56:41,155 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 682.92 sec -2013-09-17 23:56:42,163 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 725.63 sec -2013-09-17 23:56:43,170 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 725.63 sec -2013-09-17 23:56:44,176 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 725.63 sec -2013-09-17 23:56:45,182 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 755.1 sec -2013-09-17 23:56:46,188 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 785.47 sec -2013-09-17 23:56:47,195 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 845.55 sec -2013-09-17 23:56:48,201 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 845.55 sec -2013-09-17 23:56:49,207 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 845.55 sec -MapReduce Total cumulative CPU time: 14 minutes 5 seconds 550 msec -Ended Job = job_201309172235_0077 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0078 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-17 23:56:51,716 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:57:05,763 Stage-2 map = 18%, reduce = 0% -2013-09-17 23:57:11,783 Stage-2 map = 37%, reduce = 0% -2013-09-17 23:57:17,803 Stage-2 map = 55%, reduce = 0% -2013-09-17 23:57:23,823 Stage-2 map = 73%, reduce = 0% -2013-09-17 23:57:29,845 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 87.94 sec -2013-09-17 23:57:30,850 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 87.94 sec -2013-09-17 23:57:31,855 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 87.94 sec -2013-09-17 23:57:32,860 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 87.94 sec -2013-09-17 23:57:33,865 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 87.94 sec -2013-09-17 23:57:34,870 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 87.94 sec -2013-09-17 23:57:35,876 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 97.95 sec -2013-09-17 23:57:36,881 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 97.95 sec -2013-09-17 23:57:37,887 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 97.95 sec -2013-09-17 23:57:38,893 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 97.95 sec -2013-09-17 23:57:39,898 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 97.95 sec -2013-09-17 23:57:40,903 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 97.95 sec -2013-09-17 23:57:41,908 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 97.95 sec -2013-09-17 23:57:42,914 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 97.95 sec -2013-09-17 23:57:43,919 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 97.95 sec -2013-09-17 23:57:44,924 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 118.7 sec -2013-09-17 23:57:45,929 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 118.7 sec -2013-09-17 23:57:46,934 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 118.7 sec -2013-09-17 23:57:47,939 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 118.7 sec -2013-09-17 23:57:48,944 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 118.7 sec -2013-09-17 23:57:49,948 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.7 sec -2013-09-17 23:57:50,960 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.7 sec -2013-09-17 23:57:51,965 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.7 sec -2013-09-17 23:57:52,969 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.7 sec -2013-09-17 23:57:53,974 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.7 sec -2013-09-17 23:57:54,978 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.7 sec -2013-09-17 23:57:55,982 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.7 sec -2013-09-17 23:57:56,986 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.7 sec -2013-09-17 23:57:57,991 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 118.7 sec -2013-09-17 23:57:58,995 Stage-2 map = 100%, reduce = 80%, Cumulative CPU 118.7 sec -2013-09-17 23:58:00,000 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 133.21 sec -2013-09-17 23:58:01,005 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 133.21 sec -2013-09-17 23:58:02,010 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 133.21 sec -MapReduce Total cumulative CPU time: 2 minutes 13 seconds 210 msec -Ended Job = job_201309172235_0078 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 845.55 sec HDFS Read: 663537300 HDFS Write: 480155183 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 133.21 sec HDFS Read: 480158905 HDFS Write: 251 SUCCESS -Total MapReduce CPU Time Spent: 16 minutes 18 seconds 760 msec -OK -Time taken: 130.91 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31945@mturlrep13_201309172358_1169432593.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0079 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-17 23:58:22,443 Stage-1 map = 0%, reduce = 0% -2013-09-17 23:58:32,503 Stage-1 map = 1%, reduce = 0% -2013-09-17 23:58:36,545 Stage-1 map = 12%, reduce = 0% -2013-09-17 23:58:39,582 Stage-1 map = 18%, reduce = 0% -2013-09-17 23:58:41,277 Stage-1 map = 26%, reduce = 0% -2013-09-17 23:58:43,786 Stage-1 map = 40%, reduce = 0% -2013-09-17 23:58:46,818 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 15.02 sec -2013-09-17 23:58:47,825 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 15.02 sec -2013-09-17 23:58:48,836 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 15.02 sec -2013-09-17 23:58:49,842 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 31.76 sec -2013-09-17 23:58:50,856 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 31.76 sec -2013-09-17 23:58:51,862 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 83.8 sec -2013-09-17 23:58:52,870 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 99.52 sec -2013-09-17 23:58:53,884 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 99.52 sec -2013-09-17 23:58:54,894 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 117.13 sec -2013-09-17 23:58:55,909 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 213.91 sec -2013-09-17 23:58:56,924 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 324.7 sec -2013-09-17 23:58:57,930 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 449.36 sec -2013-09-17 23:58:58,936 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 491.93 sec -2013-09-17 23:58:59,943 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 542.45 sec -2013-09-17 23:59:00,949 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 591.47 sec -2013-09-17 23:59:01,955 Stage-1 map = 97%, reduce = 3%, Cumulative CPU 620.12 sec -2013-09-17 23:59:02,961 Stage-1 map = 99%, reduce = 10%, Cumulative CPU 796.58 sec -2013-09-17 23:59:03,967 Stage-1 map = 99%, reduce = 10%, Cumulative CPU 796.58 sec -2013-09-17 23:59:04,972 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 827.74 sec -2013-09-17 23:59:05,980 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 827.74 sec -2013-09-17 23:59:06,987 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 827.74 sec -2013-09-17 23:59:07,994 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 827.74 sec -2013-09-17 23:59:09,000 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 827.74 sec -2013-09-17 23:59:10,007 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 827.74 sec -2013-09-17 23:59:11,013 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 827.74 sec -2013-09-17 23:59:12,020 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 827.74 sec -2013-09-17 23:59:13,027 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 827.74 sec -2013-09-17 23:59:14,033 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 827.74 sec -2013-09-17 23:59:15,039 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 827.74 sec -2013-09-17 23:59:16,046 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 827.74 sec -2013-09-17 23:59:17,052 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 827.74 sec -2013-09-17 23:59:18,059 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 827.74 sec -2013-09-17 23:59:19,065 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 827.74 sec -2013-09-17 23:59:20,072 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 827.74 sec -2013-09-17 23:59:21,077 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 827.74 sec -2013-09-17 23:59:22,114 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 827.74 sec -2013-09-17 23:59:23,122 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 871.5 sec -2013-09-17 23:59:24,133 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1068.13 sec -2013-09-17 23:59:25,139 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1068.13 sec -2013-09-17 23:59:26,143 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1068.13 sec -MapReduce Total cumulative CPU time: 17 minutes 48 seconds 130 msec -Ended Job = job_201309172235_0079 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0080 -Hadoop job information for Stage-2: number of mappers: 5; number of reducers: 1 -2013-09-17 23:59:29,594 Stage-2 map = 0%, reduce = 0% -2013-09-17 23:59:39,626 Stage-2 map = 6%, reduce = 0% -2013-09-17 23:59:42,636 Stage-2 map = 28%, reduce = 0% -2013-09-17 23:59:45,462 Stage-2 map = 39%, reduce = 0% -2013-09-17 23:59:46,467 Stage-2 map = 44%, reduce = 0% -2013-09-17 23:59:47,945 Stage-2 map = 52%, reduce = 0%, Cumulative CPU 23.32 sec -2013-09-17 23:59:48,950 Stage-2 map = 58%, reduce = 0%, Cumulative CPU 23.32 sec -2013-09-17 23:59:49,955 Stage-2 map = 58%, reduce = 0%, Cumulative CPU 23.32 sec -2013-09-17 23:59:50,960 Stage-2 map = 58%, reduce = 0%, Cumulative CPU 23.32 sec -2013-09-17 23:59:51,965 Stage-2 map = 63%, reduce = 0%, Cumulative CPU 23.32 sec -2013-09-17 23:59:52,970 Stage-2 map = 63%, reduce = 0%, Cumulative CPU 23.32 sec -2013-09-17 23:59:53,976 Stage-2 map = 63%, reduce = 0%, Cumulative CPU 23.32 sec -2013-09-17 23:59:54,981 Stage-2 map = 78%, reduce = 7%, Cumulative CPU 23.32 sec -2013-09-17 23:59:55,986 Stage-2 map = 78%, reduce = 7%, Cumulative CPU 23.32 sec -2013-09-17 23:59:56,992 Stage-2 map = 78%, reduce = 7%, Cumulative CPU 23.32 sec -2013-09-17 23:59:57,997 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 23.32 sec -2013-09-17 23:59:59,002 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 23.32 sec -2013-09-18 00:00:00,007 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 23.32 sec -2013-09-18 00:00:01,028 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 23.32 sec -2013-09-18 00:00:02,033 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 23.32 sec -2013-09-18 00:00:03,039 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 23.32 sec -2013-09-18 00:00:04,043 Stage-2 map = 87%, reduce = 7%, Cumulative CPU 66.8 sec -2013-09-18 00:00:05,049 Stage-2 map = 91%, reduce = 7%, Cumulative CPU 111.39 sec -2013-09-18 00:00:06,054 Stage-2 map = 91%, reduce = 7%, Cumulative CPU 111.39 sec -2013-09-18 00:00:07,058 Stage-2 map = 95%, reduce = 7%, Cumulative CPU 158.23 sec -2013-09-18 00:00:08,064 Stage-2 map = 95%, reduce = 7%, Cumulative CPU 158.23 sec -2013-09-18 00:00:09,069 Stage-2 map = 100%, reduce = 7%, Cumulative CPU 206.95 sec -2013-09-18 00:00:10,074 Stage-2 map = 100%, reduce = 7%, Cumulative CPU 206.95 sec -2013-09-18 00:00:11,079 Stage-2 map = 100%, reduce = 7%, Cumulative CPU 206.95 sec -2013-09-18 00:00:12,088 Stage-2 map = 100%, reduce = 7%, Cumulative CPU 206.95 sec -2013-09-18 00:00:13,092 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:14,097 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:15,102 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:16,106 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:17,110 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:18,114 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:19,118 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:20,123 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:21,127 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:22,131 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:23,135 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:24,139 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:25,144 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:26,148 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:27,152 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.95 sec -2013-09-18 00:00:28,157 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 226.88 sec -2013-09-18 00:00:29,161 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 226.88 sec -2013-09-18 00:00:30,166 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 226.88 sec -2013-09-18 00:00:31,170 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 226.88 sec -2013-09-18 00:00:32,175 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 233.37 sec -2013-09-18 00:00:33,180 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 233.37 sec -MapReduce Total cumulative CPU time: 3 minutes 53 seconds 370 msec -Ended Job = job_201309172235_0080 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1068.13 sec HDFS Read: 840872065 HDFS Write: 1196040653 SUCCESS -Job 1: Map: 5 Reduce: 1 Cumulative CPU: 233.37 sec HDFS Read: 1196066509 HDFS Write: 261 SUCCESS -Total MapReduce CPU Time Spent: 21 minutes 41 seconds 500 msec -OK -Time taken: 141.357 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8249@mturlrep13_201309180000_1745995125.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0081 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:00:43,931 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:00:56,183 Stage-1 map = 6%, reduce = 0% -2013-09-18 00:00:57,190 Stage-1 map = 7%, reduce = 0% -2013-09-18 00:00:58,202 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:00:59,212 Stage-1 map = 29%, reduce = 0% -2013-09-18 00:01:00,225 Stage-1 map = 34%, reduce = 0% -2013-09-18 00:01:01,231 Stage-1 map = 37%, reduce = 0% -2013-09-18 00:01:02,237 Stage-1 map = 45%, reduce = 0% -2013-09-18 00:01:03,242 Stage-1 map = 58%, reduce = 0% -2013-09-18 00:01:04,254 Stage-1 map = 62%, reduce = 0% -2013-09-18 00:01:05,260 Stage-1 map = 66%, reduce = 0% -2013-09-18 00:01:06,286 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 14.75 sec -2013-09-18 00:01:07,294 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 30.84 sec -2013-09-18 00:01:08,306 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 81.13 sec -2013-09-18 00:01:09,336 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 133.53 sec -2013-09-18 00:01:10,343 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 152.09 sec -2013-09-18 00:01:11,353 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 212.05 sec -2013-09-18 00:01:12,359 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 251.83 sec -2013-09-18 00:01:13,366 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 359.32 sec -2013-09-18 00:01:14,373 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 452.13 sec -2013-09-18 00:01:15,379 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 547.58 sec -2013-09-18 00:01:16,387 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 547.58 sec -2013-09-18 00:01:17,393 Stage-1 map = 97%, reduce = 2%, Cumulative CPU 603.6 sec -2013-09-18 00:01:18,400 Stage-1 map = 98%, reduce = 6%, Cumulative CPU 715.99 sec -2013-09-18 00:01:19,407 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 744.69 sec -2013-09-18 00:01:20,413 Stage-1 map = 100%, reduce = 23%, Cumulative CPU 837.42 sec -2013-09-18 00:01:21,419 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 837.42 sec -2013-09-18 00:01:22,426 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 837.42 sec -2013-09-18 00:01:23,432 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 837.42 sec -2013-09-18 00:01:24,439 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 837.42 sec -2013-09-18 00:01:25,446 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 837.42 sec -2013-09-18 00:01:26,452 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 837.42 sec -2013-09-18 00:01:27,460 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 837.42 sec -2013-09-18 00:01:28,467 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 890.75 sec -2013-09-18 00:01:29,474 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 890.75 sec -2013-09-18 00:01:30,489 Stage-1 map = 100%, reduce = 53%, Cumulative CPU 890.75 sec -2013-09-18 00:01:31,496 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 890.75 sec -2013-09-18 00:01:32,503 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 890.75 sec -2013-09-18 00:01:33,509 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 890.75 sec -2013-09-18 00:01:34,515 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 890.75 sec -2013-09-18 00:01:35,522 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 890.75 sec -2013-09-18 00:01:36,528 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 890.75 sec -2013-09-18 00:01:37,534 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 890.75 sec -2013-09-18 00:01:38,541 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 890.75 sec -2013-09-18 00:01:39,555 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 998.36 sec -2013-09-18 00:01:40,562 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 998.36 sec -2013-09-18 00:01:41,568 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1035.02 sec -2013-09-18 00:01:42,574 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1070.49 sec -2013-09-18 00:01:43,580 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1070.49 sec -MapReduce Total cumulative CPU time: 17 minutes 50 seconds 490 msec -Ended Job = job_201309172235_0081 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0082 -Hadoop job information for Stage-2: number of mappers: 5; number of reducers: 1 -2013-09-18 00:01:47,035 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:01:57,066 Stage-2 map = 6%, reduce = 0% -2013-09-18 00:02:00,076 Stage-2 map = 28%, reduce = 0% -2013-09-18 00:02:05,092 Stage-2 map = 49%, reduce = 0%, Cumulative CPU 22.46 sec -2013-09-18 00:02:06,098 Stage-2 map = 49%, reduce = 0%, Cumulative CPU 22.46 sec -2013-09-18 00:02:07,104 Stage-2 map = 49%, reduce = 0%, Cumulative CPU 22.46 sec -2013-09-18 00:02:10,085 Stage-2 map = 52%, reduce = 0%, Cumulative CPU 22.46 sec -2013-09-18 00:02:11,090 Stage-2 map = 52%, reduce = 0%, Cumulative CPU 22.46 sec -2013-09-18 00:02:12,095 Stage-2 map = 52%, reduce = 0%, Cumulative CPU 22.46 sec -2013-09-18 00:02:13,100 Stage-2 map = 58%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:14,106 Stage-2 map = 58%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:15,111 Stage-2 map = 58%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:16,117 Stage-2 map = 68%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:17,122 Stage-2 map = 68%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:18,128 Stage-2 map = 68%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:19,133 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:20,166 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:21,171 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:22,176 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:23,273 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:24,279 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:25,284 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 22.46 sec -2013-09-18 00:02:26,289 Stage-2 map = 91%, reduce = 7%, Cumulative CPU 110.5 sec -2013-09-18 00:02:27,294 Stage-2 map = 91%, reduce = 7%, Cumulative CPU 110.5 sec -2013-09-18 00:02:28,412 Stage-2 map = 91%, reduce = 7%, Cumulative CPU 203.81 sec -2013-09-18 00:02:29,416 Stage-2 map = 100%, reduce = 7%, Cumulative CPU 206.44 sec -2013-09-18 00:02:30,420 Stage-2 map = 100%, reduce = 7%, Cumulative CPU 206.44 sec -2013-09-18 00:02:31,425 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 206.44 sec -2013-09-18 00:02:32,429 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 206.44 sec -2013-09-18 00:02:33,989 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 206.44 sec -2013-09-18 00:02:34,994 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 206.44 sec -2013-09-18 00:02:35,999 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 206.44 sec -2013-09-18 00:02:37,003 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 206.44 sec -2013-09-18 00:02:38,007 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 206.44 sec -2013-09-18 00:02:39,011 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 206.44 sec -2013-09-18 00:02:40,015 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:41,020 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:42,023 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:43,027 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:44,031 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:45,036 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:46,040 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:47,045 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:48,049 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:49,054 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 206.44 sec -2013-09-18 00:02:50,058 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 206.44 sec -2013-09-18 00:02:51,063 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 206.44 sec -2013-09-18 00:02:52,067 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 206.44 sec -2013-09-18 00:02:53,071 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 206.44 sec -2013-09-18 00:02:54,395 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 206.44 sec -2013-09-18 00:02:55,399 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 206.44 sec -2013-09-18 00:02:56,403 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 206.44 sec -2013-09-18 00:02:57,408 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 206.44 sec -2013-09-18 00:03:01,104 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 232.56 sec -2013-09-18 00:03:02,108 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 232.56 sec -MapReduce Total cumulative CPU time: 3 minutes 52 seconds 560 msec -Ended Job = job_201309172235_0082 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1070.49 sec HDFS Read: 840872065 HDFS Write: 1196040653 SUCCESS -Job 1: Map: 5 Reduce: 1 Cumulative CPU: 232.56 sec HDFS Read: 1196066509 HDFS Write: 261 SUCCESS -Total MapReduce CPU Time Spent: 21 minutes 43 seconds 50 msec -OK -Time taken: 147.059 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15858@mturlrep13_201309180003_1278146290.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0083 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:03:11,727 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:03:23,895 Stage-1 map = 2%, reduce = 0% -2013-09-18 00:03:24,924 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:03:25,943 Stage-1 map = 6%, reduce = 0% -2013-09-18 00:03:26,979 Stage-1 map = 13%, reduce = 0% -2013-09-18 00:03:28,028 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 341.29 sec -2013-09-18 00:03:29,044 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 341.29 sec -2013-09-18 00:03:30,053 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 341.29 sec -2013-09-18 00:03:31,062 Stage-1 map = 54%, reduce = 0%, Cumulative CPU 341.29 sec -2013-09-18 00:03:32,074 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 341.29 sec -2013-09-18 00:03:33,090 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 346.1 sec -2013-09-18 00:03:34,112 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 346.1 sec -2013-09-18 00:03:35,122 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 346.1 sec -2013-09-18 00:03:36,133 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 346.1 sec -2013-09-18 00:03:37,145 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 394.29 sec -2013-09-18 00:03:38,153 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 402.8 sec -2013-09-18 00:03:39,160 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 413.32 sec -2013-09-18 00:03:40,175 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 435.9 sec -2013-09-18 00:03:41,200 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 505.2 sec -2013-09-18 00:03:42,209 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 544.32 sec -2013-09-18 00:03:43,217 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 600.85 sec -2013-09-18 00:03:44,223 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 629.83 sec -2013-09-18 00:03:45,230 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 645.26 sec -2013-09-18 00:03:46,236 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 682.7 sec -2013-09-18 00:03:47,243 Stage-1 map = 98%, reduce = 3%, Cumulative CPU 758.48 sec -2013-09-18 00:03:48,250 Stage-1 map = 99%, reduce = 17%, Cumulative CPU 799.32 sec -2013-09-18 00:03:49,257 Stage-1 map = 100%, reduce = 22%, Cumulative CPU 841.01 sec -2013-09-18 00:03:50,263 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 841.01 sec -2013-09-18 00:03:51,269 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 841.01 sec -2013-09-18 00:03:52,275 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 841.01 sec -2013-09-18 00:03:53,281 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 841.01 sec -2013-09-18 00:03:54,287 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 841.01 sec -2013-09-18 00:03:55,293 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 841.01 sec -2013-09-18 00:03:56,300 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 841.01 sec -2013-09-18 00:03:57,306 Stage-1 map = 100%, reduce = 42%, Cumulative CPU 841.01 sec -2013-09-18 00:03:58,313 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 841.01 sec -2013-09-18 00:03:59,319 Stage-1 map = 100%, reduce = 53%, Cumulative CPU 841.01 sec -2013-09-18 00:04:00,325 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 841.01 sec -2013-09-18 00:04:01,331 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 841.01 sec -2013-09-18 00:04:02,338 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 841.01 sec -2013-09-18 00:04:03,344 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 841.01 sec -2013-09-18 00:04:04,350 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 841.01 sec -2013-09-18 00:04:05,357 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 841.01 sec -2013-09-18 00:04:06,363 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 841.01 sec -2013-09-18 00:04:07,382 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 841.01 sec -2013-09-18 00:04:08,391 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 924.61 sec -2013-09-18 00:04:09,396 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1053.16 sec -2013-09-18 00:04:10,402 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1074.59 sec -2013-09-18 00:04:11,408 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1074.59 sec -MapReduce Total cumulative CPU time: 17 minutes 54 seconds 590 msec -Ended Job = job_201309172235_0083 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0084 -Hadoop job information for Stage-2: number of mappers: 5; number of reducers: 1 -2013-09-18 00:04:16,454 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:04:27,489 Stage-2 map = 6%, reduce = 0% -2013-09-18 00:04:30,502 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 71.89 sec -2013-09-18 00:04:31,507 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 71.89 sec -2013-09-18 00:04:32,513 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 71.89 sec -2013-09-18 00:04:33,518 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 71.89 sec -2013-09-18 00:04:34,523 Stage-2 map = 41%, reduce = 0%, Cumulative CPU 71.89 sec -2013-09-18 00:04:35,529 Stage-2 map = 49%, reduce = 0%, Cumulative CPU 81.02 sec -2013-09-18 00:04:36,534 Stage-2 map = 49%, reduce = 0%, Cumulative CPU 81.02 sec -2013-09-18 00:04:37,539 Stage-2 map = 49%, reduce = 0%, Cumulative CPU 81.02 sec -2013-09-18 00:04:38,545 Stage-2 map = 58%, reduce = 0%, Cumulative CPU 81.02 sec -2013-09-18 00:04:39,550 Stage-2 map = 58%, reduce = 0%, Cumulative CPU 81.02 sec -2013-09-18 00:04:41,187 Stage-2 map = 68%, reduce = 0%, Cumulative CPU 81.02 sec -2013-09-18 00:04:42,265 Stage-2 map = 68%, reduce = 0%, Cumulative CPU 81.02 sec -2013-09-18 00:04:43,270 Stage-2 map = 68%, reduce = 7%, Cumulative CPU 81.02 sec -2013-09-18 00:04:44,275 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 81.02 sec -2013-09-18 00:04:45,281 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 81.02 sec -2013-09-18 00:04:46,286 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 81.02 sec -2013-09-18 00:04:47,291 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 81.02 sec -2013-09-18 00:04:48,302 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 81.02 sec -2013-09-18 00:04:49,306 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 81.02 sec -2013-09-18 00:04:50,311 Stage-2 map = 84%, reduce = 7%, Cumulative CPU 81.02 sec -2013-09-18 00:04:51,316 Stage-2 map = 87%, reduce = 7%, Cumulative CPU 108.7 sec -2013-09-18 00:04:52,321 Stage-2 map = 91%, reduce = 7%, Cumulative CPU 136.95 sec -2013-09-18 00:04:53,326 Stage-2 map = 91%, reduce = 7%, Cumulative CPU 136.95 sec -2013-09-18 00:04:54,331 Stage-2 map = 91%, reduce = 7%, Cumulative CPU 136.95 sec -2013-09-18 00:04:55,335 Stage-2 map = 95%, reduce = 7%, Cumulative CPU 169.96 sec -2013-09-18 00:04:56,340 Stage-2 map = 100%, reduce = 7%, Cumulative CPU 203.62 sec -2013-09-18 00:04:57,344 Stage-2 map = 100%, reduce = 7%, Cumulative CPU 203.62 sec -2013-09-18 00:04:58,348 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 203.62 sec -2013-09-18 00:04:59,353 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 203.62 sec -2013-09-18 00:05:00,358 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 203.62 sec -2013-09-18 00:05:01,362 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 203.62 sec -2013-09-18 00:05:02,367 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 203.62 sec -2013-09-18 00:05:03,371 Stage-2 map = 100%, reduce = 20%, Cumulative CPU 203.62 sec -2013-09-18 00:05:04,376 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:05,380 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:06,384 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:07,389 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:08,393 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:09,397 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:10,402 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:11,406 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:12,410 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:13,415 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:14,419 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:15,422 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 203.62 sec -2013-09-18 00:05:16,426 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 203.62 sec -2013-09-18 00:05:17,430 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 203.62 sec -2013-09-18 00:05:18,433 Stage-2 map = 100%, reduce = 77%, Cumulative CPU 203.62 sec -2013-09-18 00:05:19,439 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 228.63 sec -2013-09-18 00:05:20,443 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 228.63 sec -2013-09-18 00:05:21,448 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 228.63 sec -2013-09-18 00:05:24,696 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 228.63 sec -MapReduce Total cumulative CPU time: 3 minutes 48 seconds 630 msec -Ended Job = job_201309172235_0084 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1074.59 sec HDFS Read: 840872065 HDFS Write: 1196040653 SUCCESS -Job 1: Map: 5 Reduce: 1 Cumulative CPU: 228.63 sec HDFS Read: 1196066487 HDFS Write: 261 SUCCESS -Total MapReduce CPU Time Spent: 21 minutes 43 seconds 220 msec -OK -Time taken: 140.75 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация.; - - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24153@mturlrep13_201309180005_705271963.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0085 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:05:46,233 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:05:56,352 Stage-1 map = 3%, reduce = 0% -2013-09-18 00:05:59,390 Stage-1 map = 10%, reduce = 0% -2013-09-18 00:06:00,398 Stage-1 map = 17%, reduce = 0% -2013-09-18 00:06:02,423 Stage-1 map = 21%, reduce = 0% -2013-09-18 00:06:03,429 Stage-1 map = 28%, reduce = 0% -2013-09-18 00:06:04,764 Stage-1 map = 32%, reduce = 0% -2013-09-18 00:06:05,770 Stage-1 map = 40%, reduce = 0% -2013-09-18 00:06:06,782 Stage-1 map = 46%, reduce = 0% -2013-09-18 00:06:07,789 Stage-1 map = 49%, reduce = 0% -2013-09-18 00:06:08,936 Stage-1 map = 57%, reduce = 0% -2013-09-18 00:06:09,962 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 31.6 sec -2013-09-18 00:06:11,308 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 48.37 sec -2013-09-18 00:06:12,316 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 48.37 sec -2013-09-18 00:06:13,322 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 70.19 sec -2013-09-18 00:06:14,328 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 89.75 sec -2013-09-18 00:06:15,335 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 106.46 sec -2013-09-18 00:06:16,340 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 181.45 sec -2013-09-18 00:06:17,350 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 234.9 sec -2013-09-18 00:06:18,357 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 234.9 sec -2013-09-18 00:06:19,363 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 376.71 sec -2013-09-18 00:06:20,369 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 461.07 sec -2013-09-18 00:06:21,375 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 534.4 sec -2013-09-18 00:06:22,382 Stage-1 map = 96%, reduce = 1%, Cumulative CPU 584.98 sec -2013-09-18 00:06:23,388 Stage-1 map = 97%, reduce = 5%, Cumulative CPU 641.71 sec -2013-09-18 00:06:24,393 Stage-1 map = 99%, reduce = 5%, Cumulative CPU 730.93 sec -2013-09-18 00:06:25,398 Stage-1 map = 99%, reduce = 5%, Cumulative CPU 792.13 sec -2013-09-18 00:06:26,404 Stage-1 map = 100%, reduce = 16%, Cumulative CPU 822.69 sec -2013-09-18 00:06:27,410 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 822.69 sec -2013-09-18 00:06:28,416 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 822.69 sec -2013-09-18 00:06:29,422 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 853.5 sec -2013-09-18 00:06:30,427 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 853.5 sec -2013-09-18 00:06:31,434 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 853.5 sec -2013-09-18 00:06:32,440 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 853.5 sec -2013-09-18 00:06:33,447 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 890.94 sec -2013-09-18 00:06:34,456 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 928.82 sec -2013-09-18 00:06:35,461 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 928.82 sec -2013-09-18 00:06:36,466 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 928.82 sec -MapReduce Total cumulative CPU time: 15 minutes 28 seconds 820 msec -Ended Job = job_201309172235_0085 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 928.82 sec HDFS Read: 840872065 HDFS Write: 5012 SUCCESS -Total MapReduce CPU Time Spent: 15 minutes 28 seconds 820 msec -OK -Time taken: 60.884 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30696@mturlrep13_201309180006_357154034.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0086 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:06:47,336 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:06:58,492 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:06:59,507 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:07:00,512 Stage-1 map = 8%, reduce = 0% -2013-09-18 00:07:01,519 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:07:02,525 Stage-1 map = 30%, reduce = 0% -2013-09-18 00:07:03,531 Stage-1 map = 33%, reduce = 0% -2013-09-18 00:07:04,537 Stage-1 map = 36%, reduce = 0% -2013-09-18 00:07:05,542 Stage-1 map = 51%, reduce = 0% -2013-09-18 00:07:06,547 Stage-1 map = 56%, reduce = 0% -2013-09-18 00:07:07,553 Stage-1 map = 60%, reduce = 0% -2013-09-18 00:07:08,565 Stage-1 map = 66%, reduce = 0% -2013-09-18 00:07:09,577 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 14.92 sec -2013-09-18 00:07:10,584 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 46.57 sec -2013-09-18 00:07:11,590 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 80.51 sec -2013-09-18 00:07:12,596 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 131.92 sec -2013-09-18 00:07:13,713 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 131.92 sec -2013-09-18 00:07:14,736 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 152.9 sec -2013-09-18 00:07:15,752 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 254.96 sec -2013-09-18 00:07:16,766 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 338.32 sec -2013-09-18 00:07:17,773 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 429.15 sec -2013-09-18 00:07:18,778 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 523.97 sec -2013-09-18 00:07:19,784 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 548.71 sec -2013-09-18 00:07:20,791 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 604.14 sec -2013-09-18 00:07:21,798 Stage-1 map = 97%, reduce = 2%, Cumulative CPU 660.44 sec -2013-09-18 00:07:22,804 Stage-1 map = 99%, reduce = 13%, Cumulative CPU 747.55 sec -2013-09-18 00:07:23,810 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 839.86 sec -2013-09-18 00:07:24,816 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 839.86 sec -2013-09-18 00:07:25,822 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 839.86 sec -2013-09-18 00:07:26,829 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 839.86 sec -2013-09-18 00:07:27,835 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 839.86 sec -2013-09-18 00:07:28,841 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 839.86 sec -2013-09-18 00:07:29,847 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 871.07 sec -2013-09-18 00:07:30,853 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 871.07 sec -2013-09-18 00:07:31,859 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 871.07 sec -2013-09-18 00:07:32,868 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 898.81 sec -2013-09-18 00:07:33,873 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 949.24 sec -2013-09-18 00:07:34,879 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 949.24 sec -2013-09-18 00:07:35,885 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 949.24 sec -MapReduce Total cumulative CPU time: 15 minutes 49 seconds 240 msec -Ended Job = job_201309172235_0086 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 949.24 sec HDFS Read: 840872065 HDFS Write: 5012 SUCCESS -Total MapReduce CPU Time Spent: 15 minutes 49 seconds 240 msec -OK -Time taken: 57.376 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4908@mturlrep13_201309180007_865221313.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0087 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:07:46,553 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:07:56,648 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:07:58,657 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:07:59,663 Stage-1 map = 7%, reduce = 0% -2013-09-18 00:08:00,669 Stage-1 map = 12%, reduce = 0% -2013-09-18 00:08:01,675 Stage-1 map = 29%, reduce = 0% -2013-09-18 00:08:02,699 Stage-1 map = 32%, reduce = 0% -2013-09-18 00:08:03,714 Stage-1 map = 37%, reduce = 0% -2013-09-18 00:08:04,734 Stage-1 map = 46%, reduce = 0% -2013-09-18 00:08:05,741 Stage-1 map = 55%, reduce = 0% -2013-09-18 00:08:06,749 Stage-1 map = 61%, reduce = 0% -2013-09-18 00:08:07,780 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 14.11 sec -2013-09-18 00:08:08,868 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 14.11 sec -2013-09-18 00:08:09,882 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 14.11 sec -2013-09-18 00:08:10,889 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 64.17 sec -2013-09-18 00:08:11,894 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 133.33 sec -2013-09-18 00:08:12,901 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 152.87 sec -2013-09-18 00:08:13,906 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 152.87 sec -2013-09-18 00:08:14,926 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 318.88 sec -2013-09-18 00:08:15,942 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 382.36 sec -2013-09-18 00:08:16,947 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 498.71 sec -2013-09-18 00:08:17,953 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 522.53 sec -2013-09-18 00:08:18,958 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 546.88 sec -2013-09-18 00:08:19,985 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 603.23 sec -2013-09-18 00:08:20,991 Stage-1 map = 97%, reduce = 2%, Cumulative CPU 630.86 sec -2013-09-18 00:08:21,996 Stage-1 map = 99%, reduce = 13%, Cumulative CPU 777.69 sec -2013-09-18 00:08:23,002 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 839.76 sec -2013-09-18 00:08:24,008 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 839.76 sec -2013-09-18 00:08:25,013 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 839.76 sec -2013-09-18 00:08:26,019 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 839.76 sec -2013-09-18 00:08:27,026 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 839.76 sec -2013-09-18 00:08:28,032 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 839.76 sec -2013-09-18 00:08:29,038 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 839.76 sec -2013-09-18 00:08:30,044 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 872.39 sec -2013-09-18 00:08:31,050 Stage-1 map = 100%, reduce = 38%, Cumulative CPU 872.39 sec -2013-09-18 00:08:32,059 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 881.87 sec -2013-09-18 00:08:33,065 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 922.01 sec -2013-09-18 00:08:34,070 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 945.45 sec -2013-09-18 00:08:35,076 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 945.45 sec -MapReduce Total cumulative CPU time: 15 minutes 45 seconds 450 msec -Ended Job = job_201309172235_0087 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 945.45 sec HDFS Read: 840872065 HDFS Write: 5012 SUCCESS -Total MapReduce CPU Time Spent: 15 minutes 45 seconds 450 msec -OK -Time taken: 57.367 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но без сортировки.; - - -times: 1 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11923@mturlrep13_201309180008_1140241874.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0088 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:09:03,020 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:09:16,111 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:09:17,117 Stage-1 map = 2%, reduce = 0% -2013-09-18 00:09:19,132 Stage-1 map = 3%, reduce = 0% -2013-09-18 00:09:20,138 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:09:21,154 Stage-1 map = 8%, reduce = 0% -2013-09-18 00:09:22,176 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:09:23,188 Stage-1 map = 12%, reduce = 0% -2013-09-18 00:09:24,193 Stage-1 map = 15%, reduce = 0% -2013-09-18 00:09:25,203 Stage-1 map = 22%, reduce = 0% -2013-09-18 00:09:26,210 Stage-1 map = 24%, reduce = 0% -2013-09-18 00:09:27,313 Stage-1 map = 27%, reduce = 0% -2013-09-18 00:09:28,319 Stage-1 map = 34%, reduce = 0% -2013-09-18 00:09:29,325 Stage-1 map = 37%, reduce = 0% -2013-09-18 00:09:30,337 Stage-1 map = 38%, reduce = 0%, Cumulative CPU 616.5 sec -2013-09-18 00:09:31,344 Stage-1 map = 42%, reduce = 0%, Cumulative CPU 616.5 sec -2013-09-18 00:09:32,351 Stage-1 map = 45%, reduce = 0%, Cumulative CPU 616.5 sec -2013-09-18 00:09:33,366 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 616.5 sec -2013-09-18 00:09:34,373 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 616.5 sec -2013-09-18 00:09:35,382 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 628.21 sec -2013-09-18 00:09:36,418 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 628.21 sec -2013-09-18 00:09:37,437 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 628.21 sec -2013-09-18 00:09:38,446 Stage-1 map = 62%, reduce = 0%, Cumulative CPU 628.21 sec -2013-09-18 00:09:39,465 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 628.21 sec -2013-09-18 00:09:40,473 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 628.21 sec -2013-09-18 00:09:41,481 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 628.21 sec -2013-09-18 00:09:42,488 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 641.75 sec -2013-09-18 00:09:43,500 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 655.91 sec -2013-09-18 00:09:44,507 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 655.91 sec -2013-09-18 00:09:45,524 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 655.91 sec -2013-09-18 00:09:46,548 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 710.09 sec -2013-09-18 00:09:47,560 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 729.24 sec -2013-09-18 00:09:48,567 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 746.21 sec -2013-09-18 00:09:49,578 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 781.66 sec -2013-09-18 00:09:50,585 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 893.41 sec -2013-09-18 00:09:51,590 Stage-1 map = 94%, reduce = 1%, Cumulative CPU 997.39 sec -2013-09-18 00:09:52,799 Stage-1 map = 96%, reduce = 5%, Cumulative CPU 1063.45 sec -2013-09-18 00:09:53,805 Stage-1 map = 98%, reduce = 7%, Cumulative CPU 1196.08 sec -2013-09-18 00:09:54,811 Stage-1 map = 99%, reduce = 12%, Cumulative CPU 1239.77 sec -2013-09-18 00:09:55,817 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1264.22 sec -2013-09-18 00:09:56,822 Stage-1 map = 99%, reduce = 20%, Cumulative CPU 1289.61 sec -2013-09-18 00:09:57,828 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 1316.56 sec -2013-09-18 00:09:58,847 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 1316.56 sec -2013-09-18 00:09:59,853 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:00,859 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:01,866 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:02,872 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:03,879 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:04,885 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:05,892 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:06,899 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:07,908 Stage-1 map = 100%, reduce = 42%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:08,915 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:09,921 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:11,093 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:12,099 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:13,105 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:14,111 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:15,117 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:19,314 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:20,320 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:21,802 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:22,808 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:23,814 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:24,820 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:25,825 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:27,283 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:28,288 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:29,293 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1316.56 sec -2013-09-18 00:10:30,301 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:31,307 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:32,316 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:33,323 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:34,609 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:35,615 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:36,620 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:37,750 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:38,756 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:39,762 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:40,767 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:41,772 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:43,972 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:44,978 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:45,984 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:46,990 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:48,166 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:49,171 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:50,176 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1610.02 sec -2013-09-18 00:10:51,182 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1776.03 sec -2013-09-18 00:10:52,188 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1795.3 sec -2013-09-18 00:10:53,193 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1795.3 sec -MapReduce Total cumulative CPU time: 29 minutes 55 seconds 300 msec -Ended Job = job_201309172235_0088 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0089 -Hadoop job information for Stage-2: number of mappers: 9; number of reducers: 1 -2013-09-18 00:10:56,790 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:11:13,933 Stage-2 map = 22%, reduce = 0%, Cumulative CPU 22.42 sec -2013-09-18 00:11:14,937 Stage-2 map = 22%, reduce = 0%, Cumulative CPU 22.42 sec -2013-09-18 00:11:15,942 Stage-2 map = 22%, reduce = 0%, Cumulative CPU 22.42 sec -2013-09-18 00:11:16,948 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 22.42 sec -2013-09-18 00:11:17,953 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 22.42 sec -2013-09-18 00:11:18,959 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 22.42 sec -2013-09-18 00:11:19,964 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 22.42 sec -2013-09-18 00:11:20,969 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 22.42 sec -2013-09-18 00:11:21,974 Stage-2 map = 33%, reduce = 4%, Cumulative CPU 22.42 sec -2013-09-18 00:11:22,980 Stage-2 map = 47%, reduce = 4%, Cumulative CPU 22.42 sec -2013-09-18 00:11:23,985 Stage-2 map = 47%, reduce = 4%, Cumulative CPU 22.42 sec -2013-09-18 00:11:24,991 Stage-2 map = 47%, reduce = 4%, Cumulative CPU 22.42 sec -2013-09-18 00:11:25,996 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.42 sec -2013-09-18 00:11:27,001 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.42 sec -2013-09-18 00:11:28,007 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.42 sec -2013-09-18 00:11:29,012 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.42 sec -2013-09-18 00:11:30,017 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:31,022 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:32,027 Stage-2 map = 67%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:33,031 Stage-2 map = 67%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:34,036 Stage-2 map = 67%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:35,040 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:36,045 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:37,050 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:38,080 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:39,085 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:40,099 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:41,104 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:42,109 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:43,114 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:44,120 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:45,125 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 339.47 sec -2013-09-18 00:11:46,130 Stage-2 map = 81%, reduce = 4%, Cumulative CPU 358.69 sec -2013-09-18 00:11:47,135 Stage-2 map = 89%, reduce = 4%, Cumulative CPU 418.36 sec -2013-09-18 00:11:48,139 Stage-2 map = 89%, reduce = 4%, Cumulative CPU 418.36 sec -2013-09-18 00:11:49,144 Stage-2 map = 89%, reduce = 4%, Cumulative CPU 418.36 sec -2013-09-18 00:11:50,150 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 510.55 sec -2013-09-18 00:11:51,155 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 510.55 sec -2013-09-18 00:11:52,160 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 510.55 sec -2013-09-18 00:11:53,164 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 510.55 sec -2013-09-18 00:11:54,169 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 510.55 sec -2013-09-18 00:11:55,174 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 510.55 sec -2013-09-18 00:11:56,178 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 510.55 sec -2013-09-18 00:11:57,181 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 510.55 sec -2013-09-18 00:11:58,185 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 510.55 sec -2013-09-18 00:11:59,189 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 510.55 sec -2013-09-18 00:12:00,194 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 510.55 sec -2013-09-18 00:12:01,199 Stage-2 map = 100%, reduce = 22%, Cumulative CPU 510.55 sec -2013-09-18 00:12:02,202 Stage-2 map = 100%, reduce = 22%, Cumulative CPU 510.55 sec -2013-09-18 00:12:03,206 Stage-2 map = 100%, reduce = 22%, Cumulative CPU 510.55 sec -2013-09-18 00:12:04,210 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 510.55 sec -2013-09-18 00:12:05,214 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 510.55 sec -2013-09-18 00:12:06,218 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 510.55 sec -2013-09-18 00:12:07,222 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:08,226 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:09,230 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:10,234 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:11,238 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:12,241 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:13,245 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:14,250 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:15,253 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:16,257 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:17,261 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:18,265 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:19,826 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:20,830 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:21,833 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:24,804 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 510.55 sec -2013-09-18 00:12:31,735 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 545.43 sec -2013-09-18 00:12:32,740 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 545.43 sec -2013-09-18 00:12:33,744 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 545.43 sec -2013-09-18 00:12:34,748 Stage-2 map = 100%, reduce = 71%, Cumulative CPU 545.43 sec -2013-09-18 00:12:35,753 Stage-2 map = 100%, reduce = 71%, Cumulative CPU 545.43 sec -2013-09-18 00:12:36,757 Stage-2 map = 100%, reduce = 71%, Cumulative CPU 545.43 sec -2013-09-18 00:12:37,762 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 545.43 sec -2013-09-18 00:12:39,183 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 545.43 sec -2013-09-18 00:12:40,188 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 545.43 sec -2013-09-18 00:12:41,192 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 545.43 sec -2013-09-18 00:12:42,196 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 545.43 sec -2013-09-18 00:12:43,622 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 545.43 sec -2013-09-18 00:12:44,627 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 545.43 sec -2013-09-18 00:12:45,631 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 545.43 sec -2013-09-18 00:12:46,636 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 545.43 sec -2013-09-18 00:12:47,640 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 559.08 sec -2013-09-18 00:12:48,644 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 559.08 sec -2013-09-18 00:12:49,648 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 559.08 sec -MapReduce Total cumulative CPU time: 9 minutes 19 seconds 80 msec -Ended Job = job_201309172235_0089 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1795.3 sec HDFS Read: 843455069 HDFS Write: 2238428518 SUCCESS -Job 1: Map: 9 Reduce: 1 Cumulative CPU: 559.08 sec HDFS Read: 2238513761 HDFS Write: 278 SUCCESS -Total MapReduce CPU Time Spent: 39 minutes 14 seconds 380 msec -OK -Time taken: 237.554 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21185@mturlrep13_201309180012_506617682.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0090 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:12:59,255 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:13:15,399 Stage-1 map = 2%, reduce = 0% -2013-09-18 00:13:16,405 Stage-1 map = 8%, reduce = 0% -2013-09-18 00:13:18,423 Stage-1 map = 12%, reduce = 0% -2013-09-18 00:13:19,429 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:13:21,449 Stage-1 map = 21%, reduce = 0% -2013-09-18 00:13:22,454 Stage-1 map = 31%, reduce = 0% -2013-09-18 00:13:23,475 Stage-1 map = 32%, reduce = 0% -2013-09-18 00:13:25,512 Stage-1 map = 40%, reduce = 0% -2013-09-18 00:13:26,534 Stage-1 map = 41%, reduce = 0% -2013-09-18 00:13:28,545 Stage-1 map = 50%, reduce = 0% -2013-09-18 00:13:29,557 Stage-1 map = 52%, reduce = 0% -2013-09-18 00:13:30,834 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 21.31 sec -2013-09-18 00:13:31,841 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 814.57 sec -2013-09-18 00:13:32,847 Stage-1 map = 62%, reduce = 0%, Cumulative CPU 814.57 sec -2013-09-18 00:13:33,857 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 816.31 sec -2013-09-18 00:13:34,872 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 816.31 sec -2013-09-18 00:13:35,886 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 816.31 sec -2013-09-18 00:13:36,894 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 816.31 sec -2013-09-18 00:13:37,900 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 824.05 sec -2013-09-18 00:13:38,913 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 830.96 sec -2013-09-18 00:13:39,925 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 830.96 sec -2013-09-18 00:13:40,931 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 830.96 sec -2013-09-18 00:13:41,938 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 830.96 sec -2013-09-18 00:13:42,978 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 865.43 sec -2013-09-18 00:13:43,986 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 875.5 sec -2013-09-18 00:13:44,998 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 908.75 sec -2013-09-18 00:13:46,004 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 1001.65 sec -2013-09-18 00:13:47,011 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 1063.43 sec -2013-09-18 00:13:48,018 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 1202.46 sec -2013-09-18 00:13:49,023 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1255.44 sec -2013-09-18 00:13:50,029 Stage-1 map = 99%, reduce = 3%, Cumulative CPU 1272.82 sec -2013-09-18 00:13:51,035 Stage-1 map = 99%, reduce = 7%, Cumulative CPU 1272.82 sec -2013-09-18 00:13:52,040 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 1316.55 sec -2013-09-18 00:13:53,046 Stage-1 map = 100%, reduce = 23%, Cumulative CPU 1316.55 sec -2013-09-18 00:13:54,052 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 1316.55 sec -2013-09-18 00:13:55,065 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1316.55 sec -2013-09-18 00:13:56,071 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1316.55 sec -2013-09-18 00:13:57,077 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1316.55 sec -2013-09-18 00:13:58,083 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1316.55 sec -2013-09-18 00:13:59,109 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:00,116 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:01,122 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:02,127 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:03,133 Stage-1 map = 100%, reduce = 40%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:04,139 Stage-1 map = 100%, reduce = 40%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:05,145 Stage-1 map = 100%, reduce = 43%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:06,152 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:07,158 Stage-1 map = 100%, reduce = 59%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:08,164 Stage-1 map = 100%, reduce = 66%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:09,702 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:10,707 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:11,713 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:12,719 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:13,725 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:14,731 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:15,959 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:16,964 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:17,970 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:18,976 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:19,982 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:21,672 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:24,777 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:25,782 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:26,787 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:30,291 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1316.55 sec -2013-09-18 00:14:34,570 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:35,576 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:36,582 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:37,588 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:38,594 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:39,628 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:40,634 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:41,640 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:42,645 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:43,651 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:44,657 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1638.29 sec -2013-09-18 00:14:47,811 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1648.84 sec -2013-09-18 00:14:48,817 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1725.98 sec -2013-09-18 00:14:49,823 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1725.98 sec -2013-09-18 00:14:54,762 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1725.98 sec -2013-09-18 00:14:56,039 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1784.82 sec -2013-09-18 00:14:57,044 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1784.82 sec -MapReduce Total cumulative CPU time: 29 minutes 44 seconds 820 msec -Ended Job = job_201309172235_0090 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0091 -Hadoop job information for Stage-2: number of mappers: 9; number of reducers: 1 -2013-09-18 00:15:00,513 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:15:17,637 Stage-2 map = 30%, reduce = 0% -2013-09-18 00:15:18,642 Stage-2 map = 31%, reduce = 0%, Cumulative CPU 21.69 sec -2013-09-18 00:15:19,647 Stage-2 map = 31%, reduce = 0%, Cumulative CPU 21.69 sec -2013-09-18 00:15:20,652 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 21.69 sec -2013-09-18 00:15:21,657 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 21.69 sec -2013-09-18 00:15:22,662 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 21.69 sec -2013-09-18 00:15:23,667 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 21.69 sec -2013-09-18 00:15:24,672 Stage-2 map = 33%, reduce = 0%, Cumulative CPU 21.69 sec -2013-09-18 00:15:25,678 Stage-2 map = 33%, reduce = 4%, Cumulative CPU 21.69 sec -2013-09-18 00:15:26,683 Stage-2 map = 47%, reduce = 4%, Cumulative CPU 21.69 sec -2013-09-18 00:15:27,687 Stage-2 map = 47%, reduce = 4%, Cumulative CPU 21.69 sec -2013-09-18 00:15:28,692 Stage-2 map = 47%, reduce = 4%, Cumulative CPU 21.69 sec -2013-09-18 00:15:29,697 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 21.69 sec -2013-09-18 00:15:30,702 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 21.69 sec -2013-09-18 00:15:31,707 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 21.69 sec -2013-09-18 00:15:32,712 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 21.69 sec -2013-09-18 00:15:33,717 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 21.69 sec -2013-09-18 00:15:34,722 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:35,728 Stage-2 map = 70%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:36,733 Stage-2 map = 70%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:37,738 Stage-2 map = 70%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:38,744 Stage-2 map = 72%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:39,749 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:40,754 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:41,906 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:42,911 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:43,916 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:44,921 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:45,951 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:46,956 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:47,961 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:48,977 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:49,982 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:50,988 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:52,053 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 343.13 sec -2013-09-18 00:15:53,058 Stage-2 map = 92%, reduce = 4%, Cumulative CPU 444.1 sec -2013-09-18 00:15:54,063 Stage-2 map = 94%, reduce = 4%, Cumulative CPU 466.73 sec -2013-09-18 00:15:55,109 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 513.25 sec -2013-09-18 00:15:56,114 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 513.25 sec -2013-09-18 00:15:57,119 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 513.25 sec -2013-09-18 00:15:58,124 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 513.25 sec -2013-09-18 00:15:59,129 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 513.25 sec -2013-09-18 00:16:00,133 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 513.25 sec -2013-09-18 00:16:01,138 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 513.25 sec -2013-09-18 00:16:02,142 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 513.25 sec -2013-09-18 00:16:03,148 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 513.25 sec -2013-09-18 00:16:04,152 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 513.25 sec -2013-09-18 00:16:05,157 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 513.25 sec -2013-09-18 00:16:06,161 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 513.25 sec -2013-09-18 00:16:07,165 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 513.25 sec -2013-09-18 00:16:08,170 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 513.25 sec -2013-09-18 00:16:09,174 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 513.25 sec -2013-09-18 00:16:10,179 Stage-2 map = 100%, reduce = 30%, Cumulative CPU 513.25 sec -2013-09-18 00:16:11,183 Stage-2 map = 100%, reduce = 30%, Cumulative CPU 513.25 sec -2013-09-18 00:16:12,188 Stage-2 map = 100%, reduce = 30%, Cumulative CPU 513.25 sec -2013-09-18 00:16:13,191 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:14,196 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:15,200 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:16,204 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:18,269 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:19,273 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:20,276 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:21,281 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:27,554 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:28,559 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:29,564 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 513.25 sec -2013-09-18 00:16:33,769 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 513.25 sec -2013-09-18 00:16:34,774 Stage-2 map = 100%, reduce = 71%, Cumulative CPU 552.24 sec -2013-09-18 00:16:35,778 Stage-2 map = 100%, reduce = 71%, Cumulative CPU 552.24 sec -2013-09-18 00:16:36,782 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 552.24 sec -2013-09-18 00:16:37,787 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 552.24 sec -2013-09-18 00:16:38,792 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 552.24 sec -2013-09-18 00:16:39,796 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 552.24 sec -2013-09-18 00:16:40,801 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 552.24 sec -2013-09-18 00:16:41,805 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 552.24 sec -2013-09-18 00:16:42,809 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 552.24 sec -2013-09-18 00:16:43,814 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 552.24 sec -2013-09-18 00:16:44,819 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 562.94 sec -2013-09-18 00:16:45,823 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 562.94 sec -MapReduce Total cumulative CPU time: 9 minutes 22 seconds 940 msec -Ended Job = job_201309172235_0091 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1784.82 sec HDFS Read: 843455069 HDFS Write: 2238428518 SUCCESS -Job 1: Map: 9 Reduce: 1 Cumulative CPU: 562.94 sec HDFS Read: 2238513761 HDFS Write: 278 SUCCESS -Total MapReduce CPU Time Spent: 39 minutes 7 seconds 760 msec -OK -Time taken: 234.361 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30407@mturlrep13_201309180016_1665474298.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_100m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0092 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:16:56,793 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:17:10,896 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:17:11,902 Stage-1 map = 4%, reduce = 0% -2013-09-18 00:17:12,907 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:17:13,917 Stage-1 map = 10%, reduce = 0% -2013-09-18 00:17:14,928 Stage-1 map = 15%, reduce = 0% -2013-09-18 00:17:15,933 Stage-1 map = 17%, reduce = 0% -2013-09-18 00:17:16,939 Stage-1 map = 20%, reduce = 0% -2013-09-18 00:17:17,944 Stage-1 map = 24%, reduce = 0% -2013-09-18 00:17:18,950 Stage-1 map = 27%, reduce = 0% -2013-09-18 00:17:19,955 Stage-1 map = 31%, reduce = 0% -2013-09-18 00:17:20,961 Stage-1 map = 33%, reduce = 0% -2013-09-18 00:17:21,966 Stage-1 map = 37%, reduce = 0% -2013-09-18 00:17:22,971 Stage-1 map = 40%, reduce = 0% -2013-09-18 00:17:24,001 Stage-1 map = 44%, reduce = 0% -2013-09-18 00:17:25,019 Stage-1 map = 47%, reduce = 0% -2013-09-18 00:17:26,029 Stage-1 map = 50%, reduce = 0% -2013-09-18 00:17:27,037 Stage-1 map = 53%, reduce = 0% -2013-09-18 00:17:28,044 Stage-1 map = 58%, reduce = 0% -2013-09-18 00:17:29,062 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 21.75 sec -2013-09-18 00:17:30,082 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 21.75 sec -2013-09-18 00:17:31,094 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 21.75 sec -2013-09-18 00:17:32,114 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 21.75 sec -2013-09-18 00:17:33,129 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 21.75 sec -2013-09-18 00:17:34,140 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 105.0 sec -2013-09-18 00:17:35,156 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 1037.71 sec -2013-09-18 00:17:36,167 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 1037.71 sec -2013-09-18 00:17:37,173 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 1037.71 sec -2013-09-18 00:17:38,180 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 1037.71 sec -2013-09-18 00:17:39,186 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 1037.71 sec -2013-09-18 00:17:40,198 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 1047.34 sec -2013-09-18 00:17:41,214 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 1064.75 sec -2013-09-18 00:17:42,227 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 1113.1 sec -2013-09-18 00:17:43,233 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 1183.03 sec -2013-09-18 00:17:44,240 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 1236.75 sec -2013-09-18 00:17:45,256 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1266.7 sec -2013-09-18 00:17:46,269 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1290.62 sec -2013-09-18 00:17:47,277 Stage-1 map = 99%, reduce = 1%, Cumulative CPU 1290.62 sec -2013-09-18 00:17:48,283 Stage-1 map = 99%, reduce = 3%, Cumulative CPU 1304.6 sec -2013-09-18 00:17:49,289 Stage-1 map = 100%, reduce = 11%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:50,296 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:51,313 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:52,319 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:53,325 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:54,331 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:55,338 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:56,344 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:57,350 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:58,356 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1320.25 sec -2013-09-18 00:17:59,362 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:00,368 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:01,374 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:02,381 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:03,387 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:04,392 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:07,247 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:08,252 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:09,259 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:10,266 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:11,272 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:12,762 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:13,767 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:14,772 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:15,778 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:18,513 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:20,464 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:21,470 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:22,477 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:23,674 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:24,680 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:26,496 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:27,502 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:28,508 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:31,532 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:32,538 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:33,543 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1320.25 sec -2013-09-18 00:18:34,555 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1721.3 sec -2013-09-18 00:18:36,736 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1721.3 sec -2013-09-18 00:18:37,742 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1721.3 sec -2013-09-18 00:18:38,747 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1721.3 sec -2013-09-18 00:18:39,753 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1721.3 sec -2013-09-18 00:18:40,759 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1724.11 sec -2013-09-18 00:18:41,765 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1724.11 sec -2013-09-18 00:18:42,770 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1724.11 sec -2013-09-18 00:18:43,776 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1724.11 sec -2013-09-18 00:18:44,782 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1743.27 sec -2013-09-18 00:18:45,788 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1754.65 sec -2013-09-18 00:18:48,727 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1754.65 sec -2013-09-18 00:18:49,733 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1786.03 sec -2013-09-18 00:18:50,739 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1786.03 sec -2013-09-18 00:18:51,754 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1786.03 sec -MapReduce Total cumulative CPU time: 29 minutes 46 seconds 30 msec -Ended Job = job_201309172235_0092 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0093 -Hadoop job information for Stage-2: number of mappers: 9; number of reducers: 1 -2013-09-18 00:18:55,132 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:19:13,198 Stage-2 map = 33%, reduce = 0% -2013-09-18 00:19:21,228 Stage-2 map = 33%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:22,233 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:23,238 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:24,243 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:25,248 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:26,252 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:27,257 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:28,262 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:29,267 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:30,271 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:31,276 Stage-2 map = 56%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:32,280 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:33,285 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:34,290 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 22.55 sec -2013-09-18 00:19:35,295 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:36,299 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:37,305 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:38,310 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:39,315 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:40,320 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:41,326 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:42,331 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:43,349 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:44,354 Stage-2 map = 78%, reduce = 4%, Cumulative CPU 398.54 sec -2013-09-18 00:19:46,244 Stage-2 map = 84%, reduce = 4%, Cumulative CPU 423.18 sec -2013-09-18 00:19:47,248 Stage-2 map = 94%, reduce = 4%, Cumulative CPU 476.82 sec -2013-09-18 00:19:48,253 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 505.58 sec -2013-09-18 00:19:49,258 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 505.58 sec -2013-09-18 00:19:50,262 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 505.58 sec -2013-09-18 00:19:51,267 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 505.58 sec -2013-09-18 00:19:52,273 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 505.58 sec -2013-09-18 00:19:53,277 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 505.58 sec -2013-09-18 00:19:54,281 Stage-2 map = 100%, reduce = 4%, Cumulative CPU 505.58 sec -2013-09-18 00:19:55,285 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 505.58 sec -2013-09-18 00:19:56,289 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 505.58 sec -2013-09-18 00:19:57,293 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 505.58 sec -2013-09-18 00:19:58,296 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 505.58 sec -2013-09-18 00:19:59,300 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 505.58 sec -2013-09-18 00:20:00,305 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 505.58 sec -2013-09-18 00:20:01,309 Stage-2 map = 100%, reduce = 22%, Cumulative CPU 505.58 sec -2013-09-18 00:20:02,313 Stage-2 map = 100%, reduce = 22%, Cumulative CPU 505.58 sec -2013-09-18 00:20:03,317 Stage-2 map = 100%, reduce = 22%, Cumulative CPU 505.58 sec -2013-09-18 00:20:04,322 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 505.58 sec -2013-09-18 00:20:05,326 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 505.58 sec -2013-09-18 00:20:06,329 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 505.58 sec -2013-09-18 00:20:07,334 Stage-2 map = 100%, reduce = 30%, Cumulative CPU 505.58 sec -2013-09-18 00:20:08,338 Stage-2 map = 100%, reduce = 30%, Cumulative CPU 505.58 sec -2013-09-18 00:20:09,342 Stage-2 map = 100%, reduce = 30%, Cumulative CPU 505.58 sec -2013-09-18 00:20:10,347 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:11,357 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:12,362 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:13,366 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:14,371 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:15,376 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:16,381 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:17,386 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:18,391 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:19,396 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:20,401 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:21,405 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:22,410 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:24,399 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:25,403 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:26,407 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 505.58 sec -2013-09-18 00:20:27,761 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 505.58 sec -2013-09-18 00:20:28,766 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 505.58 sec -2013-09-18 00:20:29,947 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 505.58 sec -2013-09-18 00:20:30,952 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 505.58 sec -2013-09-18 00:20:31,956 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 505.58 sec -2013-09-18 00:20:32,961 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 505.58 sec -2013-09-18 00:20:33,966 Stage-2 map = 100%, reduce = 71%, Cumulative CPU 505.58 sec -2013-09-18 00:20:34,970 Stage-2 map = 100%, reduce = 71%, Cumulative CPU 544.29 sec -2013-09-18 00:20:35,975 Stage-2 map = 100%, reduce = 71%, Cumulative CPU 544.29 sec -2013-09-18 00:20:36,979 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 544.29 sec -2013-09-18 00:20:37,984 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 544.29 sec -2013-09-18 00:20:38,988 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 544.29 sec -2013-09-18 00:20:39,999 Stage-2 map = 100%, reduce = 76%, Cumulative CPU 544.29 sec -2013-09-18 00:20:41,004 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 555.06 sec -2013-09-18 00:20:42,008 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 555.06 sec -MapReduce Total cumulative CPU time: 9 minutes 15 seconds 60 msec -Ended Job = job_201309172235_0093 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1786.03 sec HDFS Read: 843455069 HDFS Write: 2238428518 SUCCESS -Job 1: Map: 9 Reduce: 1 Cumulative CPU: 555.06 sec HDFS Read: 2238513761 HDFS Write: 278 SUCCESS -Total MapReduce CPU Time Spent: 39 minutes 1 seconds 90 msec -OK -Time taken: 234.271 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - - -times: 1 -query: SELECT UserID FROM hits_100m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7682@mturlrep13_201309180020_537514801.txt -hive> SELECT UserID FROM hits_100m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0094 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 0 -2013-09-18 00:20:59,984 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:21:09,101 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:21:10,107 Stage-1 map = 16%, reduce = 0% -2013-09-18 00:21:14,125 Stage-1 map = 32%, reduce = 0% -2013-09-18 00:21:15,130 Stage-1 map = 34%, reduce = 0% -2013-09-18 00:21:17,153 Stage-1 map = 35%, reduce = 0%, Cumulative CPU 4.53 sec -2013-09-18 00:21:19,500 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 15.48 sec -2013-09-18 00:21:20,507 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 35.24 sec -2013-09-18 00:21:21,514 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 170.31 sec -2013-09-18 00:21:22,521 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 199.34 sec -2013-09-18 00:21:23,526 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 199.34 sec -MapReduce Total cumulative CPU time: 3 minutes 19 seconds 340 msec -Ended Job = job_201309172235_0094 -MapReduce Jobs Launched: -Job 0: Map: 37 Cumulative CPU: 199.34 sec HDFS Read: 663537300 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 19 seconds 340 msec -OK -Time taken: 34.019 seconds -hive> quit; - -times: 2 -query: SELECT UserID FROM hits_100m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12482@mturlrep13_201309180021_1171483805.txt -hive> SELECT UserID FROM hits_100m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0095 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 0 -2013-09-18 00:21:32,957 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:21:43,193 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 9.02 sec -2013-09-18 00:21:44,200 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 148.9 sec -2013-09-18 00:21:45,208 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 193.53 sec -2013-09-18 00:21:46,214 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 193.53 sec -2013-09-18 00:21:47,220 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 193.53 sec -MapReduce Total cumulative CPU time: 3 minutes 13 seconds 530 msec -Ended Job = job_201309172235_0095 -MapReduce Jobs Launched: -Job 0: Map: 37 Cumulative CPU: 193.53 sec HDFS Read: 663537300 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 13 seconds 530 msec -OK -Time taken: 21.834 seconds -hive> quit; - -times: 3 -query: SELECT UserID FROM hits_100m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17377@mturlrep13_201309180021_991857587.txt -hive> SELECT UserID FROM hits_100m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0096 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 0 -2013-09-18 00:21:56,800 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:22:07,146 Stage-1 map = 26%, reduce = 0%, Cumulative CPU 4.76 sec -2013-09-18 00:22:08,183 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 190.17 sec -2013-09-18 00:22:09,190 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 196.69 sec -2013-09-18 00:22:10,195 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 196.69 sec -MapReduce Total cumulative CPU time: 3 minutes 16 seconds 690 msec -Ended Job = job_201309172235_0096 -MapReduce Jobs Launched: -Job 0: Map: 37 Cumulative CPU: 196.69 sec HDFS Read: 663537300 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 16 seconds 690 msec -OK -Time taken: 21.08 seconds -hive> quit; --- мощная фильтрация по столбцу типа UInt64.; - - -times: 1 -query: SELECT count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22377@mturlrep13_201309180022_1306519242.txt -hive> SELECT count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0097 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:22:28,083 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:22:37,160 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:22:38,170 Stage-1 map = 6%, reduce = 0% -2013-09-18 00:22:42,194 Stage-1 map = 20%, reduce = 0% -2013-09-18 00:22:46,226 Stage-1 map = 46%, reduce = 0% -2013-09-18 00:22:47,241 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 10.63 sec -2013-09-18 00:22:48,259 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.62 sec -2013-09-18 00:22:49,271 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 38.64 sec -2013-09-18 00:22:50,278 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 61.43 sec -2013-09-18 00:22:51,542 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 244.69 sec -2013-09-18 00:22:52,548 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 321.75 sec -2013-09-18 00:22:53,555 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 417.5 sec -2013-09-18 00:22:54,560 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 417.5 sec -2013-09-18 00:22:55,566 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 417.5 sec -2013-09-18 00:22:56,572 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 417.5 sec -2013-09-18 00:22:57,581 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 420.38 sec -2013-09-18 00:22:58,586 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 420.38 sec -MapReduce Total cumulative CPU time: 7 minutes 0 seconds 380 msec -Ended Job = job_201309172235_0097 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 420.38 sec HDFS Read: 882764316 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 0 seconds 380 msec -OK -5238 -Time taken: 41.195 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27348@mturlrep13_201309180023_143827785.txt -hive> SELECT count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0098 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:23:09,675 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:23:19,749 Stage-1 map = 10%, reduce = 0% -2013-09-18 00:23:20,754 Stage-1 map = 12%, reduce = 0% -2013-09-18 00:23:21,760 Stage-1 map = 13%, reduce = 0% -2013-09-18 00:23:22,765 Stage-1 map = 30%, reduce = 0% -2013-09-18 00:23:23,779 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 8.29 sec -2013-09-18 00:23:24,790 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 8.29 sec -2013-09-18 00:23:25,805 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 38.21 sec -2013-09-18 00:23:26,811 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 125.77 sec -2013-09-18 00:23:27,819 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 297.36 sec -2013-09-18 00:23:28,825 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 425.9 sec -2013-09-18 00:23:29,830 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 439.17 sec -2013-09-18 00:23:30,836 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 439.17 sec -2013-09-18 00:23:31,841 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 439.17 sec -2013-09-18 00:23:32,847 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 439.17 sec -2013-09-18 00:23:33,853 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 439.17 sec -2013-09-18 00:23:34,858 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 439.17 sec -2013-09-18 00:23:35,865 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 441.94 sec -2013-09-18 00:23:36,871 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 441.94 sec -MapReduce Total cumulative CPU time: 7 minutes 21 seconds 940 msec -Ended Job = job_201309172235_0098 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 441.94 sec HDFS Read: 882764316 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 21 seconds 940 msec -OK -5238 -Time taken: 36.443 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32317@mturlrep13_201309180023_1607167986.txt -hive> SELECT count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0099 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:23:47,464 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:23:56,520 Stage-1 map = 3%, reduce = 0% -2013-09-18 00:23:57,526 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:23:59,535 Stage-1 map = 15%, reduce = 0% -2013-09-18 00:24:00,541 Stage-1 map = 38%, reduce = 0% -2013-09-18 00:24:01,559 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 8.66 sec -2013-09-18 00:24:02,572 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 8.66 sec -2013-09-18 00:24:03,580 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 50.46 sec -2013-09-18 00:24:04,591 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 152.61 sec -2013-09-18 00:24:05,597 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 361.23 sec -2013-09-18 00:24:06,603 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 427.75 sec -2013-09-18 00:24:07,609 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 441.29 sec -2013-09-18 00:24:08,613 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 441.29 sec -2013-09-18 00:24:09,618 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 441.29 sec -2013-09-18 00:24:10,624 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 441.29 sec -2013-09-18 00:24:11,696 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 441.29 sec -2013-09-18 00:24:12,703 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 444.08 sec -2013-09-18 00:24:13,709 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 444.08 sec -2013-09-18 00:24:14,715 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 444.08 sec -MapReduce Total cumulative CPU time: 7 minutes 24 seconds 80 msec -Ended Job = job_201309172235_0099 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 444.08 sec HDFS Read: 882764316 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 24 seconds 80 msec -OK -5238 -Time taken: 35.979 seconds, Fetched: 1 row(s) -hive> quit; --- фильтрация по поиску подстроки в строке.; - - -times: 1 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4931@mturlrep13_201309180024_377998774.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0100 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:24:32,532 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:24:41,635 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:24:42,650 Stage-1 map = 4%, reduce = 0% -2013-09-18 00:24:46,694 Stage-1 map = 15%, reduce = 0% -2013-09-18 00:24:49,790 Stage-1 map = 39%, reduce = 0% -2013-09-18 00:24:50,805 Stage-1 map = 40%, reduce = 0%, Cumulative CPU 12.57 sec -2013-09-18 00:24:54,895 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 60.14 sec -2013-09-18 00:24:55,919 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 143.58 sec -2013-09-18 00:24:56,938 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 219.04 sec -2013-09-18 00:24:57,944 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 404.21 sec -2013-09-18 00:24:58,950 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 468.52 sec -2013-09-18 00:24:59,956 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 468.52 sec -2013-09-18 00:25:00,962 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 468.52 sec -2013-09-18 00:25:01,971 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 471.46 sec -2013-09-18 00:25:02,978 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 474.57 sec -2013-09-18 00:25:03,988 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 490.52 sec -2013-09-18 00:25:04,995 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 500.12 sec -2013-09-18 00:25:06,001 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 500.12 sec -2013-09-18 00:25:07,008 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 503.18 sec -2013-09-18 00:25:08,019 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 503.18 sec -MapReduce Total cumulative CPU time: 8 minutes 23 seconds 180 msec -Ended Job = job_201309172235_0100 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0101 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:25:11,520 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:25:13,528 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 00:25:14,534 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 00:25:15,540 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 00:25:16,545 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 00:25:17,549 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 00:25:18,554 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 00:25:19,559 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 00:25:20,564 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.73 sec -2013-09-18 00:25:21,569 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.17 sec -2013-09-18 00:25:22,574 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.17 sec -MapReduce Total cumulative CPU time: 2 seconds 170 msec -Ended Job = job_201309172235_0101 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 503.18 sec HDFS Read: 1060099081 HDFS Write: 11615 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.17 sec HDFS Read: 15192 HDFS Write: 1152 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 25 seconds 350 msec -OK -Time taken: 60.385 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12874@mturlrep13_201309180025_385714226.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0102 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:25:33,396 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:25:43,564 Stage-1 map = 9%, reduce = 0% -2013-09-18 00:25:45,601 Stage-1 map = 10%, reduce = 0% -2013-09-18 00:25:46,613 Stage-1 map = 33%, reduce = 0% -2013-09-18 00:25:47,620 Stage-1 map = 37%, reduce = 0% -2013-09-18 00:25:48,634 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 9.38 sec -2013-09-18 00:25:49,642 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 9.38 sec -2013-09-18 00:25:50,658 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 9.38 sec -2013-09-18 00:25:51,664 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 21.89 sec -2013-09-18 00:25:52,694 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 218.15 sec -2013-09-18 00:25:53,701 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 479.2 sec -2013-09-18 00:25:54,708 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 493.05 sec -2013-09-18 00:25:55,715 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 493.05 sec -2013-09-18 00:25:56,721 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 493.05 sec -2013-09-18 00:25:57,727 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 493.05 sec -2013-09-18 00:25:58,733 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 493.05 sec -2013-09-18 00:25:59,740 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 493.05 sec -2013-09-18 00:26:00,748 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 493.05 sec -2013-09-18 00:26:01,758 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 510.23 sec -2013-09-18 00:26:02,768 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 524.01 sec -2013-09-18 00:26:03,775 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 530.35 sec -2013-09-18 00:26:04,781 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 530.35 sec -MapReduce Total cumulative CPU time: 8 minutes 50 seconds 350 msec -Ended Job = job_201309172235_0102 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0103 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:26:08,247 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:26:09,253 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:26:10,258 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:26:11,263 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:26:12,269 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:26:13,275 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:26:14,280 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:26:15,284 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:26:16,289 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:26:17,294 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -2013-09-18 00:26:18,299 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -2013-09-18 00:26:19,304 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -MapReduce Total cumulative CPU time: 2 seconds 350 msec -Ended Job = job_201309172235_0103 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 530.35 sec HDFS Read: 1060099081 HDFS Write: 11615 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.35 sec HDFS Read: 15192 HDFS Write: 1152 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 52 seconds 700 msec -OK -Time taken: 54.888 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19768@mturlrep13_201309180026_1068991002.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0104 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:26:30,060 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:26:39,192 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:26:40,200 Stage-1 map = 9%, reduce = 0% -2013-09-18 00:26:41,206 Stage-1 map = 10%, reduce = 0% -2013-09-18 00:26:42,212 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:26:43,218 Stage-1 map = 29%, reduce = 0% -2013-09-18 00:26:44,224 Stage-1 map = 35%, reduce = 0% -2013-09-18 00:26:45,239 Stage-1 map = 40%, reduce = 0%, Cumulative CPU 9.36 sec -2013-09-18 00:26:46,268 Stage-1 map = 45%, reduce = 0%, Cumulative CPU 9.36 sec -2013-09-18 00:26:47,275 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 9.36 sec -2013-09-18 00:26:48,316 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 21.78 sec -2013-09-18 00:26:49,334 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 217.46 sec -2013-09-18 00:26:50,341 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 406.39 sec -2013-09-18 00:26:51,348 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 477.62 sec -2013-09-18 00:26:52,356 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 491.94 sec -2013-09-18 00:26:53,362 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 491.94 sec -2013-09-18 00:26:54,368 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 491.94 sec -2013-09-18 00:26:55,374 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 491.94 sec -2013-09-18 00:26:56,380 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 491.94 sec -2013-09-18 00:26:57,388 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 491.94 sec -2013-09-18 00:26:58,397 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 504.87 sec -2013-09-18 00:26:59,404 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 518.69 sec -2013-09-18 00:27:00,410 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 528.53 sec -2013-09-18 00:27:01,416 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 528.53 sec -2013-09-18 00:27:02,423 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 528.53 sec -MapReduce Total cumulative CPU time: 8 minutes 48 seconds 530 msec -Ended Job = job_201309172235_0104 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0105 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:27:06,499 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:27:07,505 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 00:27:08,522 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 00:27:09,527 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 00:27:10,532 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 00:27:11,538 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 00:27:12,543 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 00:27:13,547 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 00:27:14,552 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 00:27:15,558 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -2013-09-18 00:27:16,563 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -2013-09-18 00:27:17,568 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -MapReduce Total cumulative CPU time: 2 seconds 260 msec -Ended Job = job_201309172235_0105 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 528.53 sec HDFS Read: 1060099081 HDFS Write: 11615 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.26 sec HDFS Read: 15192 HDFS Write: 1152 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 50 seconds 790 msec -OK -Time taken: 56.541 seconds, Fetched: 10 row(s) -hive> quit; --- вынимаем большие столбцы, фильтрация по строке.; - - -times: 1 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26625@mturlrep13_201309180027_303480636.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0106 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:27:35,507 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:27:45,586 Stage-1 map = 2%, reduce = 0% -2013-09-18 00:27:48,661 Stage-1 map = 10%, reduce = 0% -2013-09-18 00:27:50,957 Stage-1 map = 14%, reduce = 0% -2013-09-18 00:27:51,973 Stage-1 map = 20%, reduce = 0% -2013-09-18 00:27:53,983 Stage-1 map = 22%, reduce = 0% -2013-09-18 00:27:56,028 Stage-1 map = 35%, reduce = 0% -2013-09-18 00:27:58,127 Stage-1 map = 40%, reduce = 0%, Cumulative CPU 12.89 sec -2013-09-18 00:27:59,135 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 12.89 sec -2013-09-18 00:28:00,141 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.18 sec -2013-09-18 00:28:01,159 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 27.18 sec -2013-09-18 00:28:02,167 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 59.55 sec -2013-09-18 00:28:04,208 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 92.71 sec -2013-09-18 00:28:05,214 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 175.04 sec -2013-09-18 00:28:06,329 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 341.42 sec -2013-09-18 00:28:07,336 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 556.8 sec -2013-09-18 00:28:08,342 Stage-1 map = 100%, reduce = 2%, Cumulative CPU 608.33 sec -2013-09-18 00:28:09,348 Stage-1 map = 100%, reduce = 2%, Cumulative CPU 608.33 sec -2013-09-18 00:28:10,354 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 608.33 sec -2013-09-18 00:28:11,362 Stage-1 map = 100%, reduce = 20%, Cumulative CPU 611.74 sec -2013-09-18 00:28:12,369 Stage-1 map = 100%, reduce = 47%, Cumulative CPU 622.43 sec -2013-09-18 00:28:13,376 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 632.58 sec -2013-09-18 00:28:14,383 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 632.58 sec -2013-09-18 00:28:15,389 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 643.54 sec -2013-09-18 00:28:16,396 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 647.01 sec -2013-09-18 00:28:17,401 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 647.01 sec -MapReduce Total cumulative CPU time: 10 minutes 47 seconds 10 msec -Ended Job = job_201309172235_0106 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0107 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:28:19,874 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:28:21,883 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.61 sec -2013-09-18 00:28:22,887 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.61 sec -2013-09-18 00:28:23,892 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.61 sec -2013-09-18 00:28:24,896 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.61 sec -2013-09-18 00:28:25,900 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.61 sec -2013-09-18 00:28:26,904 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.61 sec -2013-09-18 00:28:27,908 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.61 sec -2013-09-18 00:28:28,912 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.61 sec -2013-09-18 00:28:29,917 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.61 sec -2013-09-18 00:28:30,923 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.4 sec -2013-09-18 00:28:31,928 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.4 sec -MapReduce Total cumulative CPU time: 3 seconds 400 msec -Ended Job = job_201309172235_0107 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 647.01 sec HDFS Read: 2479854627 HDFS Write: 1092954 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.4 sec HDFS Read: 1096531 HDFS Write: 1307 SUCCESS -Total MapReduce CPU Time Spent: 10 minutes 50 seconds 410 msec -OK -Time taken: 67.257 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1658@mturlrep13_201309180028_324429197.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0108 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:28:42,812 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:28:52,951 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:28:54,963 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:28:55,970 Stage-1 map = 18%, reduce = 0% -2013-09-18 00:28:56,983 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:28:57,990 Stage-1 map = 26%, reduce = 0% -2013-09-18 00:28:59,003 Stage-1 map = 29%, reduce = 0% -2013-09-18 00:29:00,009 Stage-1 map = 32%, reduce = 0% -2013-09-18 00:29:01,027 Stage-1 map = 39%, reduce = 0% -2013-09-18 00:29:02,034 Stage-1 map = 47%, reduce = 0% -2013-09-18 00:29:03,043 Stage-1 map = 51%, reduce = 0% -2013-09-18 00:29:04,091 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 30.86 sec -2013-09-18 00:29:05,114 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 63.18 sec -2013-09-18 00:29:06,133 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 233.25 sec -2013-09-18 00:29:07,141 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 514.05 sec -2013-09-18 00:29:08,148 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.77 sec -2013-09-18 00:29:09,154 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.77 sec -2013-09-18 00:29:10,160 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.77 sec -2013-09-18 00:29:11,166 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.77 sec -2013-09-18 00:29:12,173 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.77 sec -2013-09-18 00:29:13,179 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 641.77 sec -2013-09-18 00:29:14,186 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 641.77 sec -2013-09-18 00:29:15,211 Stage-1 map = 100%, reduce = 45%, Cumulative CPU 648.85 sec -2013-09-18 00:29:16,218 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 679.72 sec -2013-09-18 00:29:17,224 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 683.49 sec -2013-09-18 00:29:18,230 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 683.49 sec -MapReduce Total cumulative CPU time: 11 minutes 23 seconds 490 msec -Ended Job = job_201309172235_0108 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0109 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:29:20,736 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:29:23,749 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-18 00:29:24,754 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-18 00:29:25,759 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-18 00:29:26,763 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-18 00:29:27,767 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-18 00:29:28,772 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-18 00:29:29,776 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-18 00:29:30,782 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.6 sec -2013-09-18 00:29:31,787 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.35 sec -2013-09-18 00:29:32,792 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.35 sec -MapReduce Total cumulative CPU time: 3 seconds 350 msec -Ended Job = job_201309172235_0109 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 683.49 sec HDFS Read: 2479854627 HDFS Write: 1092954 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.35 sec HDFS Read: 1096531 HDFS Write: 1307 SUCCESS -Total MapReduce CPU Time Spent: 11 minutes 26 seconds 840 msec -OK -Time taken: 58.995 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9465@mturlrep13_201309180029_1752618536.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0110 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:29:42,551 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:29:53,652 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:29:56,667 Stage-1 map = 16%, reduce = 0% -2013-09-18 00:29:57,673 Stage-1 map = 21%, reduce = 0% -2013-09-18 00:29:58,678 Stage-1 map = 26%, reduce = 0% -2013-09-18 00:29:59,684 Stage-1 map = 28%, reduce = 0% -2013-09-18 00:30:00,690 Stage-1 map = 31%, reduce = 0% -2013-09-18 00:30:01,707 Stage-1 map = 38%, reduce = 0% -2013-09-18 00:30:02,717 Stage-1 map = 43%, reduce = 0% -2013-09-18 00:30:03,733 Stage-1 map = 51%, reduce = 0% -2013-09-18 00:30:04,774 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 14.24 sec -2013-09-18 00:30:05,800 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 45.73 sec -2013-09-18 00:30:06,808 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 128.94 sec -2013-09-18 00:30:07,818 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 335.92 sec -2013-09-18 00:30:08,826 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 549.46 sec -2013-09-18 00:30:09,832 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.18 sec -2013-09-18 00:30:10,838 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.18 sec -2013-09-18 00:30:11,844 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.18 sec -2013-09-18 00:30:12,850 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.18 sec -2013-09-18 00:30:13,856 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 641.18 sec -2013-09-18 00:30:14,863 Stage-1 map = 100%, reduce = 15%, Cumulative CPU 641.18 sec -2013-09-18 00:30:15,874 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 644.72 sec -2013-09-18 00:30:16,882 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 667.58 sec -2013-09-18 00:30:17,888 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 682.62 sec -2013-09-18 00:30:18,895 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 682.62 sec -2013-09-18 00:30:19,901 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 682.62 sec -MapReduce Total cumulative CPU time: 11 minutes 22 seconds 620 msec -Ended Job = job_201309172235_0110 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0111 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:30:23,450 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:30:25,458 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.57 sec -2013-09-18 00:30:26,463 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.57 sec -2013-09-18 00:30:27,468 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.57 sec -2013-09-18 00:30:28,472 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.57 sec -2013-09-18 00:30:29,476 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.57 sec -2013-09-18 00:30:30,480 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.57 sec -2013-09-18 00:30:31,484 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.57 sec -2013-09-18 00:30:32,489 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.57 sec -2013-09-18 00:30:33,494 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.37 sec -2013-09-18 00:30:34,500 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.37 sec -MapReduce Total cumulative CPU time: 3 seconds 370 msec -Ended Job = job_201309172235_0111 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 682.62 sec HDFS Read: 2479854627 HDFS Write: 1092954 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.37 sec HDFS Read: 1096531 HDFS Write: 1307 SUCCESS -Total MapReduce CPU Time Spent: 11 minutes 25 seconds 990 msec -OK -Time taken: 59.828 seconds, Fetched: 10 row(s) -hive> quit; --- чуть больше столбцы.; - - -times: 1 -query: SELECT * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17569@mturlrep13_201309180030_564255388.txt -hive> SELECT * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0112 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:30:52,920 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:31:12,034 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:31:15,535 Stage-1 map = 3%, reduce = 0% -2013-09-18 00:31:16,540 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:31:17,545 Stage-1 map = 7%, reduce = 0% -2013-09-18 00:31:18,551 Stage-1 map = 10%, reduce = 0% -2013-09-18 00:31:19,555 Stage-1 map = 13%, reduce = 0% -2013-09-18 00:31:21,568 Stage-1 map = 15%, reduce = 0% -2013-09-18 00:31:22,572 Stage-1 map = 17%, reduce = 0% -2013-09-18 00:31:23,581 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:31:24,586 Stage-1 map = 20%, reduce = 0% -2013-09-18 00:31:25,609 Stage-1 map = 25%, reduce = 0% -2013-09-18 00:31:26,614 Stage-1 map = 27%, reduce = 0% -2013-09-18 00:31:27,633 Stage-1 map = 28%, reduce = 0% -2013-09-18 00:31:28,641 Stage-1 map = 30%, reduce = 0% -2013-09-18 00:31:29,675 Stage-1 map = 32%, reduce = 0% -2013-09-18 00:31:30,698 Stage-1 map = 33%, reduce = 0% -2013-09-18 00:31:32,058 Stage-1 map = 36%, reduce = 0% -2013-09-18 00:31:33,079 Stage-1 map = 38%, reduce = 0% -2013-09-18 00:31:34,102 Stage-1 map = 40%, reduce = 0% -2013-09-18 00:31:35,117 Stage-1 map = 44%, reduce = 0% -2013-09-18 00:31:36,122 Stage-1 map = 45%, reduce = 0% -2013-09-18 00:31:37,152 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 1131.99 sec -2013-09-18 00:31:38,167 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 1131.99 sec -2013-09-18 00:31:39,186 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:40,202 Stage-1 map = 51%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:41,208 Stage-1 map = 54%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:42,221 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:43,226 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:44,286 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:45,292 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:46,298 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:47,305 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:48,325 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:49,332 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:50,340 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 1135.59 sec -2013-09-18 00:31:51,346 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 1150.66 sec -2013-09-18 00:31:52,357 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 1150.66 sec -2013-09-18 00:31:53,363 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 1201.45 sec -2013-09-18 00:31:54,370 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 1286.34 sec -2013-09-18 00:31:55,375 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 1340.63 sec -2013-09-18 00:31:56,384 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 1412.26 sec -2013-09-18 00:31:57,396 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 1529.38 sec -2013-09-18 00:31:58,401 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 1690.25 sec -2013-09-18 00:31:59,406 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1753.24 sec -2013-09-18 00:32:00,412 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1777.14 sec -2013-09-18 00:32:01,416 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1828.2 sec -2013-09-18 00:32:02,421 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1828.2 sec -2013-09-18 00:32:03,426 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1828.2 sec -2013-09-18 00:32:04,430 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1828.2 sec -2013-09-18 00:32:05,435 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1828.2 sec -2013-09-18 00:32:06,439 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1828.2 sec -2013-09-18 00:32:07,444 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1828.2 sec -2013-09-18 00:32:08,451 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1831.77 sec -2013-09-18 00:32:09,457 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1831.77 sec -MapReduce Total cumulative CPU time: 30 minutes 31 seconds 770 msec -Ended Job = job_201309172235_0112 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 1831.77 sec HDFS Read: 10081441390 HDFS Write: 5802 SUCCESS -Total MapReduce CPU Time Spent: 30 minutes 31 seconds 770 msec -OK -Time taken: 87.697 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22644@mturlrep13_201309180032_2112140807.txt -hive> SELECT * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0113 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:32:23,647 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:32:44,899 Stage-1 map = 1%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:45,910 Stage-1 map = 4%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:46,921 Stage-1 map = 5%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:47,927 Stage-1 map = 7%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:48,933 Stage-1 map = 9%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:49,944 Stage-1 map = 12%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:50,950 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:51,968 Stage-1 map = 16%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:52,974 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:53,981 Stage-1 map = 19%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:54,996 Stage-1 map = 21%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:56,002 Stage-1 map = 26%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:57,007 Stage-1 map = 28%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:58,206 Stage-1 map = 30%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:32:59,212 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:00,218 Stage-1 map = 33%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:01,225 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:02,242 Stage-1 map = 37%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:03,248 Stage-1 map = 40%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:04,253 Stage-1 map = 41%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:05,260 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:06,266 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:07,271 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:08,282 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:09,287 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 144.44 sec -2013-09-18 00:33:10,300 Stage-1 map = 54%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:11,313 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:12,329 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:13,349 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:14,361 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:15,370 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:16,376 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:17,382 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:18,389 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:19,406 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:20,411 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:21,417 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:22,426 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 174.77 sec -2013-09-18 00:33:23,432 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 345.6 sec -2013-09-18 00:33:24,439 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 435.05 sec -2013-09-18 00:33:25,444 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 477.09 sec -2013-09-18 00:33:26,450 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 930.38 sec -2013-09-18 00:33:27,467 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 1352.12 sec -2013-09-18 00:33:28,477 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 1492.34 sec -2013-09-18 00:33:29,483 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 1684.33 sec -2013-09-18 00:33:30,488 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1684.33 sec -2013-09-18 00:33:31,494 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1784.31 sec -2013-09-18 00:33:32,499 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1839.12 sec -2013-09-18 00:33:33,504 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1839.12 sec -2013-09-18 00:33:34,509 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1839.12 sec -2013-09-18 00:33:35,515 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1839.12 sec -2013-09-18 00:33:36,519 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1839.12 sec -2013-09-18 00:33:37,525 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1839.93 sec -2013-09-18 00:33:38,530 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1839.93 sec -2013-09-18 00:33:39,537 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1842.69 sec -2013-09-18 00:33:40,543 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1842.69 sec -MapReduce Total cumulative CPU time: 30 minutes 42 seconds 690 msec -Ended Job = job_201309172235_0113 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 1842.69 sec HDFS Read: 10081441390 HDFS Write: 5802 SUCCESS -Total MapReduce CPU Time Spent: 30 minutes 42 seconds 690 msec -OK -Time taken: 88.521 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27658@mturlrep13_201309180033_1797641182.txt -hive> SELECT * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0114 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:33:53,935 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:34:14,165 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:34:16,361 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:34:17,366 Stage-1 map = 6%, reduce = 0% -2013-09-18 00:34:18,371 Stage-1 map = 7%, reduce = 0% -2013-09-18 00:34:19,376 Stage-1 map = 10%, reduce = 0% -2013-09-18 00:34:20,389 Stage-1 map = 14%, reduce = 0% -2013-09-18 00:34:21,394 Stage-1 map = 15%, reduce = 0% -2013-09-18 00:34:22,404 Stage-1 map = 18%, reduce = 0% -2013-09-18 00:34:23,409 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:34:25,642 Stage-1 map = 22%, reduce = 0% -2013-09-18 00:34:26,649 Stage-1 map = 27%, reduce = 0% -2013-09-18 00:34:28,674 Stage-1 map = 28%, reduce = 0% -2013-09-18 00:34:29,680 Stage-1 map = 31%, reduce = 0% -2013-09-18 00:34:30,686 Stage-1 map = 32%, reduce = 0% -2013-09-18 00:34:31,692 Stage-1 map = 34%, reduce = 0% -2013-09-18 00:34:32,697 Stage-1 map = 36%, reduce = 0% -2013-09-18 00:34:33,702 Stage-1 map = 39%, reduce = 0% -2013-09-18 00:34:34,719 Stage-1 map = 40%, reduce = 0% -2013-09-18 00:34:35,725 Stage-1 map = 42%, reduce = 0% -2013-09-18 00:34:36,730 Stage-1 map = 44%, reduce = 0% -2013-09-18 00:34:37,740 Stage-1 map = 45%, reduce = 0%, Cumulative CPU 1134.9 sec -2013-09-18 00:34:38,752 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 1134.9 sec -2013-09-18 00:34:39,768 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 1134.9 sec -2013-09-18 00:34:40,779 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 1134.9 sec -2013-09-18 00:34:41,816 Stage-1 map = 54%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:42,825 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:43,831 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:44,837 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:45,843 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:46,856 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:47,862 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:48,880 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:49,889 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:50,902 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:51,908 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 1140.46 sec -2013-09-18 00:34:52,913 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 1171.26 sec -2013-09-18 00:34:53,952 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 1186.68 sec -2013-09-18 00:34:54,957 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 1255.59 sec -2013-09-18 00:34:55,970 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 1310.59 sec -2013-09-18 00:34:56,976 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 1386.73 sec -2013-09-18 00:34:57,981 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 1506.92 sec -2013-09-18 00:34:58,986 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 1683.99 sec -2013-09-18 00:34:59,991 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 1723.75 sec -2013-09-18 00:35:00,997 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 1772.53 sec -2013-09-18 00:35:02,002 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1772.53 sec -2013-09-18 00:35:03,006 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1826.62 sec -2013-09-18 00:35:04,011 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1855.25 sec -2013-09-18 00:35:05,015 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1855.25 sec -2013-09-18 00:35:06,019 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1855.25 sec -2013-09-18 00:35:07,023 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1855.25 sec -2013-09-18 00:35:08,028 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1855.25 sec -2013-09-18 00:35:09,033 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1855.25 sec -2013-09-18 00:35:10,038 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1855.25 sec -2013-09-18 00:35:11,045 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1858.98 sec -2013-09-18 00:35:12,051 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1858.98 sec -MapReduce Total cumulative CPU time: 30 minutes 58 seconds 980 msec -Ended Job = job_201309172235_0114 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 1858.98 sec HDFS Read: 10081441390 HDFS Write: 5802 SUCCESS -Total MapReduce CPU Time Spent: 30 minutes 58 seconds 980 msec -OK -Time taken: 89.324 seconds, Fetched: 10 row(s) -hive> quit; --- плохой запрос - вынимаем все столбцы.; - - -times: 1 -query: SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_637@mturlrep13_201309180035_636558816.txt -hive> SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0115 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:35:29,995 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:35:41,126 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:35:42,132 Stage-1 map = 4%, reduce = 0% -2013-09-18 00:35:43,139 Stage-1 map = 12%, reduce = 0% -2013-09-18 00:35:44,146 Stage-1 map = 16%, reduce = 0% -2013-09-18 00:35:45,160 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 8.89 sec -2013-09-18 00:35:46,172 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 8.89 sec -2013-09-18 00:35:47,181 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 8.89 sec -2013-09-18 00:35:48,823 Stage-1 map = 42%, reduce = 0%, Cumulative CPU 19.53 sec -2013-09-18 00:35:50,089 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 92.18 sec -2013-09-18 00:35:51,103 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 137.0 sec -2013-09-18 00:35:52,111 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 217.4 sec -2013-09-18 00:35:53,117 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 317.92 sec -2013-09-18 00:35:54,123 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 435.87 sec -2013-09-18 00:35:55,129 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 435.87 sec -2013-09-18 00:35:56,135 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 435.87 sec -2013-09-18 00:35:57,141 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 435.87 sec -2013-09-18 00:35:58,148 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 435.87 sec -2013-09-18 00:35:59,154 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 435.87 sec -2013-09-18 00:36:00,159 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 435.87 sec -2013-09-18 00:36:01,165 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 435.87 sec -2013-09-18 00:36:02,170 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 435.87 sec -2013-09-18 00:36:03,175 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 435.87 sec -2013-09-18 00:36:04,180 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 435.87 sec -2013-09-18 00:36:05,186 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 435.87 sec -2013-09-18 00:36:06,191 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 435.87 sec -2013-09-18 00:36:07,197 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 435.87 sec -2013-09-18 00:36:08,202 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 435.87 sec -2013-09-18 00:36:09,208 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 435.87 sec -2013-09-18 00:36:10,212 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 435.87 sec -2013-09-18 00:36:11,217 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 435.87 sec -2013-09-18 00:36:12,224 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 457.03 sec -2013-09-18 00:36:13,230 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 457.03 sec -MapReduce Total cumulative CPU time: 7 minutes 37 seconds 30 msec -Ended Job = job_201309172235_0115 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 457.03 sec HDFS Read: 184864723 HDFS Write: 747 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 37 seconds 30 msec -OK -Time taken: 53.796 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6758@mturlrep13_201309180036_334325394.txt -hive> SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0116 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:36:23,502 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:36:35,575 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:36:36,583 Stage-1 map = 9%, reduce = 0% -2013-09-18 00:36:37,595 Stage-1 map = 16%, reduce = 0%, Cumulative CPU 232.24 sec -2013-09-18 00:36:38,607 Stage-1 map = 24%, reduce = 0%, Cumulative CPU 232.24 sec -2013-09-18 00:36:39,625 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 232.24 sec -2013-09-18 00:36:40,671 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 246.94 sec -2013-09-18 00:36:41,688 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 294.67 sec -2013-09-18 00:36:42,699 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 362.37 sec -2013-09-18 00:36:43,705 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 448.5 sec -2013-09-18 00:36:44,711 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 448.5 sec -2013-09-18 00:36:45,717 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 448.5 sec -2013-09-18 00:36:46,723 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 448.5 sec -2013-09-18 00:36:47,729 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 448.5 sec -2013-09-18 00:36:48,735 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 448.5 sec -2013-09-18 00:36:49,741 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 448.5 sec -2013-09-18 00:36:50,747 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 448.5 sec -2013-09-18 00:36:51,753 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 448.5 sec -2013-09-18 00:36:52,759 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 448.5 sec -2013-09-18 00:36:53,764 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 448.5 sec -2013-09-18 00:36:54,770 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 448.5 sec -2013-09-18 00:36:55,776 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 448.5 sec -2013-09-18 00:36:56,782 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 448.5 sec -2013-09-18 00:36:57,789 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 448.5 sec -2013-09-18 00:36:58,796 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 448.5 sec -2013-09-18 00:36:59,802 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 448.5 sec -2013-09-18 00:37:00,808 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 448.5 sec -2013-09-18 00:37:01,814 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 448.5 sec -2013-09-18 00:37:02,820 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 448.5 sec -2013-09-18 00:37:03,828 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 469.6 sec -2013-09-18 00:37:04,834 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 469.6 sec -2013-09-18 00:37:05,840 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 469.6 sec -MapReduce Total cumulative CPU time: 7 minutes 49 seconds 600 msec -Ended Job = job_201309172235_0116 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 469.6 sec HDFS Read: 184864723 HDFS Write: 747 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 49 seconds 600 msec -OK -Time taken: 50.592 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12112@mturlrep13_201309180037_615192245.txt -hive> SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0117 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:37:16,411 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:37:27,531 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:37:28,541 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:37:29,559 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:37:30,564 Stage-1 map = 24%, reduce = 0% -2013-09-18 00:37:31,580 Stage-1 map = 51%, reduce = 0%, Cumulative CPU 9.16 sec -2013-09-18 00:37:32,592 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 47.94 sec -2013-09-18 00:37:33,600 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 167.83 sec -2013-09-18 00:37:34,607 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 256.71 sec -2013-09-18 00:37:35,612 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 445.74 sec -2013-09-18 00:37:36,617 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 445.74 sec -2013-09-18 00:37:37,622 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 445.74 sec -2013-09-18 00:37:38,627 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 445.74 sec -2013-09-18 00:37:39,632 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 445.74 sec -2013-09-18 00:37:40,637 Stage-1 map = 100%, reduce = 11%, Cumulative CPU 445.74 sec -2013-09-18 00:37:41,643 Stage-1 map = 100%, reduce = 11%, Cumulative CPU 445.74 sec -2013-09-18 00:37:42,648 Stage-1 map = 100%, reduce = 11%, Cumulative CPU 445.74 sec -2013-09-18 00:37:43,654 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 445.74 sec -2013-09-18 00:37:44,659 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 445.74 sec -2013-09-18 00:37:45,664 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 445.74 sec -2013-09-18 00:37:46,669 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 445.74 sec -2013-09-18 00:37:47,675 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 445.74 sec -2013-09-18 00:37:48,680 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 445.74 sec -2013-09-18 00:37:49,685 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 445.74 sec -2013-09-18 00:37:50,691 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 445.74 sec -2013-09-18 00:37:51,696 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 445.74 sec -2013-09-18 00:37:52,701 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 445.74 sec -2013-09-18 00:37:53,706 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 445.74 sec -2013-09-18 00:37:54,711 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 445.74 sec -2013-09-18 00:37:55,718 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 467.25 sec -2013-09-18 00:37:56,723 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 467.25 sec -2013-09-18 00:37:57,729 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 467.25 sec -MapReduce Total cumulative CPU time: 7 minutes 47 seconds 250 msec -Ended Job = job_201309172235_0117 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 467.25 sec HDFS Read: 184864723 HDFS Write: 747 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 47 seconds 250 msec -OK -Time taken: 50.118 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка.; - - -times: 1 -query: SELECT SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17453@mturlrep13_201309180038_1517091963.txt -hive> SELECT SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0118 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:38:15,283 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:38:25,343 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:38:27,409 Stage-1 map = 4%, reduce = 0% -2013-09-18 00:38:28,422 Stage-1 map = 14%, reduce = 0% -2013-09-18 00:38:29,428 Stage-1 map = 20%, reduce = 0% -2013-09-18 00:38:31,442 Stage-1 map = 46%, reduce = 0% -2013-09-18 00:38:32,447 Stage-1 map = 54%, reduce = 0% -2013-09-18 00:38:34,502 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 56.43 sec -2013-09-18 00:38:35,526 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 160.97 sec -2013-09-18 00:38:36,540 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 264.56 sec -2013-09-18 00:38:37,546 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 421.84 sec -2013-09-18 00:38:38,552 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 433.68 sec -2013-09-18 00:38:39,557 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 442.48 sec -2013-09-18 00:38:40,562 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 442.48 sec -2013-09-18 00:38:41,567 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 442.48 sec -2013-09-18 00:38:42,573 Stage-1 map = 100%, reduce = 5%, Cumulative CPU 442.48 sec -2013-09-18 00:38:43,579 Stage-1 map = 100%, reduce = 5%, Cumulative CPU 442.48 sec -2013-09-18 00:38:44,585 Stage-1 map = 100%, reduce = 5%, Cumulative CPU 442.48 sec -2013-09-18 00:38:45,590 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 442.48 sec -2013-09-18 00:38:46,596 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 442.48 sec -2013-09-18 00:38:47,602 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 442.48 sec -2013-09-18 00:38:48,607 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 442.48 sec -2013-09-18 00:38:49,613 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 442.48 sec -2013-09-18 00:38:50,618 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 442.48 sec -2013-09-18 00:38:51,624 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 442.48 sec -2013-09-18 00:38:52,629 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 442.48 sec -2013-09-18 00:38:53,635 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 442.48 sec -2013-09-18 00:38:54,640 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 442.48 sec -2013-09-18 00:38:55,645 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 442.48 sec -2013-09-18 00:38:56,649 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 442.48 sec -2013-09-18 00:38:57,654 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 442.48 sec -2013-09-18 00:38:58,658 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 442.48 sec -2013-09-18 00:38:59,663 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 442.48 sec -2013-09-18 00:39:00,668 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 442.48 sec -2013-09-18 00:39:01,673 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 442.48 sec -2013-09-18 00:39:02,677 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 442.48 sec -2013-09-18 00:39:03,682 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 442.48 sec -2013-09-18 00:39:04,689 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 477.8 sec -2013-09-18 00:39:08,034 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 477.8 sec -2013-09-18 00:39:09,045 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 477.8 sec -2013-09-18 00:39:10,050 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 477.8 sec -2013-09-18 00:39:11,056 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 477.8 sec -2013-09-18 00:39:12,062 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 477.8 sec -MapReduce Total cumulative CPU time: 7 minutes 57 seconds 800 msec -Ended Job = job_201309172235_0118 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 477.8 sec HDFS Read: 182281719 HDFS Write: 509 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 57 seconds 800 msec -OK - снип 2.07.01-89 - 19105-79 -! 20 самых ужасные пыток в истории человечества. видео -! bt -! гобилен желтый купить ) -! жизнь в тюрьме россии - -! минимальное значение измеряемой величины? -! новый htc 603e -! о чем говорит огромное количество антител в крови к кишечной палочке -Time taken: 68.786 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22553@mturlrep13_201309180039_34144715.txt -hive> SELECT SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0119 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:39:23,346 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:39:35,450 Stage-1 map = 2%, reduce = 0% -2013-09-18 00:39:36,456 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:39:37,472 Stage-1 map = 33%, reduce = 0%, Cumulative CPU 259.71 sec -2013-09-18 00:39:38,480 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 259.71 sec -2013-09-18 00:39:39,499 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 267.32 sec -2013-09-18 00:39:40,516 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 282.8 sec -2013-09-18 00:39:41,528 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 308.59 sec -2013-09-18 00:39:42,536 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 377.66 sec -2013-09-18 00:39:43,542 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 452.74 sec -2013-09-18 00:39:44,548 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 452.74 sec -2013-09-18 00:39:45,553 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 452.74 sec -2013-09-18 00:39:46,559 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 452.74 sec -2013-09-18 00:39:47,565 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 452.74 sec -2013-09-18 00:39:48,572 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 452.74 sec -2013-09-18 00:39:49,578 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 452.74 sec -2013-09-18 00:39:50,584 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 452.74 sec -2013-09-18 00:39:51,590 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 452.74 sec -2013-09-18 00:39:52,596 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 452.74 sec -2013-09-18 00:39:53,602 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 452.74 sec -2013-09-18 00:39:54,607 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.74 sec -2013-09-18 00:39:55,613 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.74 sec -2013-09-18 00:39:56,619 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.74 sec -2013-09-18 00:39:57,625 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.74 sec -2013-09-18 00:39:58,630 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.74 sec -2013-09-18 00:39:59,636 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.74 sec -2013-09-18 00:40:00,642 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.74 sec -2013-09-18 00:40:01,648 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.74 sec -2013-09-18 00:40:02,655 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.74 sec -2013-09-18 00:40:03,660 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 452.74 sec -2013-09-18 00:40:04,665 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 452.74 sec -2013-09-18 00:40:05,670 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 452.74 sec -2013-09-18 00:40:06,675 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 452.74 sec -2013-09-18 00:40:07,680 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 452.74 sec -2013-09-18 00:40:08,686 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 452.74 sec -2013-09-18 00:40:09,691 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 452.74 sec -2013-09-18 00:40:10,699 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 487.91 sec -2013-09-18 00:40:11,704 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 487.91 sec -2013-09-18 00:40:12,710 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 487.91 sec -MapReduce Total cumulative CPU time: 8 minutes 7 seconds 910 msec -Ended Job = job_201309172235_0119 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 487.91 sec HDFS Read: 182281719 HDFS Write: 509 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 7 seconds 910 msec -OK - снип 2.07.01-89 - 19105-79 -! 20 самых ужасные пыток в истории человечества. видео -! bt -! гобилен желтый купить ) -! жизнь в тюрьме россии - -! минимальное значение измеряемой величины? -! новый htc 603e -! о чем говорит огромное количество антител в крови к кишечной палочке -Time taken: 63.993 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27974@mturlrep13_201309180040_814853077.txt -hive> SELECT SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0120 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:40:30,016 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:40:42,091 Stage-1 map = 12%, reduce = 0% -2013-09-18 00:40:43,103 Stage-1 map = 28%, reduce = 0% -2013-09-18 00:40:44,113 Stage-1 map = 34%, reduce = 0% -2013-09-18 00:40:45,135 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 18.32 sec -2013-09-18 00:40:46,146 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 77.03 sec -2013-09-18 00:40:47,154 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 151.48 sec -2013-09-18 00:40:48,161 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 201.55 sec -2013-09-18 00:40:49,167 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 395.4 sec -2013-09-18 00:40:50,173 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 452.5 sec -2013-09-18 00:40:51,178 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 452.5 sec -2013-09-18 00:40:52,184 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 452.5 sec -2013-09-18 00:40:53,259 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 452.5 sec -2013-09-18 00:40:54,265 Stage-1 map = 100%, reduce = 7%, Cumulative CPU 452.5 sec -2013-09-18 00:40:55,271 Stage-1 map = 100%, reduce = 7%, Cumulative CPU 452.5 sec -2013-09-18 00:40:56,281 Stage-1 map = 100%, reduce = 7%, Cumulative CPU 452.5 sec -2013-09-18 00:40:57,288 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 452.5 sec -2013-09-18 00:40:58,293 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 452.5 sec -2013-09-18 00:40:59,298 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 452.5 sec -2013-09-18 00:41:00,303 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.5 sec -2013-09-18 00:41:01,307 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.5 sec -2013-09-18 00:41:02,312 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.5 sec -2013-09-18 00:41:03,317 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.5 sec -2013-09-18 00:41:04,322 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.5 sec -2013-09-18 00:41:05,326 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.5 sec -2013-09-18 00:41:06,331 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.5 sec -2013-09-18 00:41:07,336 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.5 sec -2013-09-18 00:41:08,341 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 452.5 sec -2013-09-18 00:41:09,346 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 452.5 sec -2013-09-18 00:41:10,351 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 452.5 sec -2013-09-18 00:41:11,356 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 452.5 sec -2013-09-18 00:41:12,360 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 452.5 sec -2013-09-18 00:41:13,365 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 452.5 sec -2013-09-18 00:41:14,369 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 452.5 sec -2013-09-18 00:41:15,374 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 452.5 sec -2013-09-18 00:41:16,381 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 487.48 sec -2013-09-18 00:41:17,387 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 487.48 sec -2013-09-18 00:41:18,392 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 487.48 sec -MapReduce Total cumulative CPU time: 8 minutes 7 seconds 480 msec -Ended Job = job_201309172235_0120 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 487.48 sec HDFS Read: 182281719 HDFS Write: 509 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 7 seconds 480 msec -OK - снип 2.07.01-89 - 19105-79 -! 20 самых ужасные пыток в истории человечества. видео -! bt -! гобилен желтый купить ) -! жизнь в тюрьме россии - -! минимальное значение измеряемой величины? -! новый htc 603e -! о чем говорит огромное количество антител в крови к кишечной палочке -Time taken: 62.886 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка по строкам.; - - -times: 1 -query: SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_964@mturlrep13_201309180041_1295667471.txt -hive> SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0121 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:41:41,880 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:41:53,981 Stage-1 map = 3%, reduce = 0% -2013-09-18 00:41:54,989 Stage-1 map = 10%, reduce = 0% -2013-09-18 00:41:55,998 Stage-1 map = 16%, reduce = 0% -2013-09-18 00:41:57,005 Stage-1 map = 24%, reduce = 0% -2013-09-18 00:41:58,010 Stage-1 map = 34%, reduce = 0% -2013-09-18 00:41:59,015 Stage-1 map = 39%, reduce = 0% -2013-09-18 00:42:00,845 Stage-1 map = 51%, reduce = 0% -2013-09-18 00:42:02,853 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 116.0 sec -2013-09-18 00:42:03,921 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 228.22 sec -2013-09-18 00:42:04,929 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 296.35 sec -2013-09-18 00:42:05,935 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 412.74 sec -2013-09-18 00:42:06,941 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 470.11 sec -2013-09-18 00:42:07,947 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 470.11 sec -2013-09-18 00:42:08,953 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 470.11 sec -2013-09-18 00:42:09,962 Stage-1 map = 100%, reduce = 5%, Cumulative CPU 470.11 sec -2013-09-18 00:42:10,968 Stage-1 map = 100%, reduce = 5%, Cumulative CPU 470.11 sec -2013-09-18 00:42:11,974 Stage-1 map = 100%, reduce = 5%, Cumulative CPU 470.11 sec -2013-09-18 00:42:12,980 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 470.11 sec -2013-09-18 00:42:13,985 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 470.11 sec -2013-09-18 00:42:14,991 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 470.11 sec -2013-09-18 00:42:15,996 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 470.11 sec -2013-09-18 00:42:17,001 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 470.11 sec -2013-09-18 00:42:18,007 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 470.11 sec -2013-09-18 00:42:19,012 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 470.11 sec -2013-09-18 00:42:20,018 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 470.11 sec -2013-09-18 00:42:21,024 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 470.11 sec -2013-09-18 00:42:22,030 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 470.11 sec -2013-09-18 00:42:23,036 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 470.11 sec -2013-09-18 00:42:24,040 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 470.11 sec -2013-09-18 00:42:25,044 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 470.11 sec -2013-09-18 00:42:26,049 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 470.11 sec -2013-09-18 00:42:27,054 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 470.11 sec -2013-09-18 00:42:28,059 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 470.11 sec -2013-09-18 00:42:29,064 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 470.11 sec -2013-09-18 00:42:30,071 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 503.72 sec -2013-09-18 00:42:31,077 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 503.72 sec -2013-09-18 00:42:32,083 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 503.72 sec -MapReduce Total cumulative CPU time: 8 minutes 23 seconds 720 msec -Ended Job = job_201309172235_0121 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 503.72 sec HDFS Read: 184864723 HDFS Write: 758 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 23 seconds 720 msec -OK -Time taken: 60.715 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6757@mturlrep13_201309180042_1836094631.txt -hive> SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0122 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:42:42,848 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:42:53,935 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:42:54,967 Stage-1 map = 7%, reduce = 0% -2013-09-18 00:42:55,986 Stage-1 map = 15%, reduce = 0% -2013-09-18 00:42:56,991 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:42:58,003 Stage-1 map = 37%, reduce = 0% -2013-09-18 00:42:59,028 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 20.21 sec -2013-09-18 00:43:00,042 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 95.48 sec -2013-09-18 00:43:01,060 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 203.64 sec -2013-09-18 00:43:02,067 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 316.18 sec -2013-09-18 00:43:03,074 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 451.06 sec -2013-09-18 00:43:04,079 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 482.61 sec -2013-09-18 00:43:05,085 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 482.61 sec -2013-09-18 00:43:06,090 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 482.61 sec -2013-09-18 00:43:07,095 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 482.61 sec -2013-09-18 00:43:08,100 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 482.61 sec -2013-09-18 00:43:09,105 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 482.61 sec -2013-09-18 00:43:10,112 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 482.61 sec -2013-09-18 00:43:11,119 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 482.61 sec -2013-09-18 00:43:12,124 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 482.61 sec -2013-09-18 00:43:13,130 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 482.61 sec -2013-09-18 00:43:14,136 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 482.61 sec -2013-09-18 00:43:15,141 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 482.61 sec -2013-09-18 00:43:16,147 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 482.61 sec -2013-09-18 00:43:17,152 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 482.61 sec -2013-09-18 00:43:18,158 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 482.61 sec -2013-09-18 00:43:19,162 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 482.61 sec -2013-09-18 00:43:20,167 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 482.61 sec -2013-09-18 00:43:21,172 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 482.61 sec -2013-09-18 00:43:22,177 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 482.61 sec -2013-09-18 00:43:23,182 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 482.61 sec -2013-09-18 00:43:24,186 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 482.61 sec -2013-09-18 00:43:25,190 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 482.61 sec -2013-09-18 00:43:26,195 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 482.61 sec -2013-09-18 00:43:27,200 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 482.61 sec -2013-09-18 00:43:28,206 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 517.47 sec -2013-09-18 00:43:29,827 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 517.47 sec -MapReduce Total cumulative CPU time: 8 minutes 37 seconds 470 msec -Ended Job = job_201309172235_0122 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 517.47 sec HDFS Read: 184864723 HDFS Write: 758 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 37 seconds 470 msec -OK -Time taken: 56.14 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12116@mturlrep13_201309180043_688174400.txt -hive> SELECT SearchPhrase, EventTime FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0123 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:43:39,885 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:43:52,084 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:43:53,089 Stage-1 map = 9%, reduce = 0% -2013-09-18 00:43:54,103 Stage-1 map = 21%, reduce = 0% -2013-09-18 00:43:55,109 Stage-1 map = 22%, reduce = 0% -2013-09-18 00:43:56,124 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 9.78 sec -2013-09-18 00:43:57,139 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 49.2 sec -2013-09-18 00:43:58,156 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 146.89 sec -2013-09-18 00:43:59,166 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 211.3 sec -2013-09-18 00:44:00,173 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 339.17 sec -2013-09-18 00:44:01,179 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 474.94 sec -2013-09-18 00:44:02,184 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 474.94 sec -2013-09-18 00:44:03,190 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 474.94 sec -2013-09-18 00:44:04,196 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 474.94 sec -2013-09-18 00:44:05,203 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 474.94 sec -2013-09-18 00:44:06,209 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 474.94 sec -2013-09-18 00:44:07,216 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 474.94 sec -2013-09-18 00:44:08,222 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 474.94 sec -2013-09-18 00:44:09,228 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 474.94 sec -2013-09-18 00:44:10,235 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 474.94 sec -2013-09-18 00:44:11,241 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:12,247 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:13,253 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:14,258 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:15,264 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:16,270 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:17,277 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:18,283 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:19,290 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:20,296 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 474.94 sec -2013-09-18 00:44:21,301 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 474.94 sec -2013-09-18 00:44:22,306 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 474.94 sec -2013-09-18 00:44:23,312 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 474.94 sec -2013-09-18 00:44:24,318 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 474.94 sec -2013-09-18 00:44:25,324 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 474.94 sec -2013-09-18 00:44:26,332 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 511.22 sec -2013-09-18 00:44:27,337 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 511.22 sec -MapReduce Total cumulative CPU time: 8 minutes 31 seconds 220 msec -Ended Job = job_201309172235_0123 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 511.22 sec HDFS Read: 184864723 HDFS Write: 758 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 31 seconds 220 msec -OK -Time taken: 55.303 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка по кортежу.; - - -times: 1 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17460@mturlrep13_201309180044_876855052.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0124 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:44:53,239 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:45:09,346 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:45:10,353 Stage-1 map = 7%, reduce = 0% -2013-09-18 00:45:11,358 Stage-1 map = 8%, reduce = 0% -2013-09-18 00:45:12,365 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:45:14,374 Stage-1 map = 14%, reduce = 0% -2013-09-18 00:45:15,389 Stage-1 map = 17%, reduce = 0% -2013-09-18 00:45:16,396 Stage-1 map = 21%, reduce = 0% -2013-09-18 00:45:17,410 Stage-1 map = 25%, reduce = 0% -2013-09-18 00:45:18,415 Stage-1 map = 28%, reduce = 0% -2013-09-18 00:45:19,438 Stage-1 map = 33%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:20,445 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:22,432 Stage-1 map = 40%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:23,470 Stage-1 map = 45%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:24,485 Stage-1 map = 45%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:25,493 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:27,100 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:28,112 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:29,121 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:30,130 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:31,442 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:32,466 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 14.93 sec -2013-09-18 00:45:33,482 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 72.87 sec -2013-09-18 00:45:34,504 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 152.52 sec -2013-09-18 00:45:35,718 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 324.07 sec -2013-09-18 00:45:36,726 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 615.07 sec -2013-09-18 00:45:37,738 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 861.87 sec -2013-09-18 00:45:38,744 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1085.12 sec -2013-09-18 00:45:39,750 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:40,756 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:41,761 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:42,772 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:43,781 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:44,801 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:45,818 Stage-1 map = 100%, reduce = 15%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:46,825 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:47,831 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:48,838 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:49,845 Stage-1 map = 100%, reduce = 44%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:50,852 Stage-1 map = 100%, reduce = 47%, Cumulative CPU 1087.12 sec -2013-09-18 00:45:51,861 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 1098.67 sec -2013-09-18 00:45:52,867 Stage-1 map = 100%, reduce = 60%, Cumulative CPU 1098.67 sec -2013-09-18 00:45:53,875 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1098.67 sec -2013-09-18 00:45:54,882 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1098.67 sec -2013-09-18 00:45:55,889 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1114.66 sec -2013-09-18 00:45:56,895 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1114.66 sec -2013-09-18 00:45:57,902 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1132.03 sec -2013-09-18 00:45:58,908 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 1132.03 sec -2013-09-18 00:45:59,915 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1132.03 sec -2013-09-18 00:46:00,922 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1175.97 sec -2013-09-18 00:46:01,929 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1199.97 sec -2013-09-18 00:46:02,936 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1199.97 sec -2013-09-18 00:46:03,943 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1199.97 sec -2013-09-18 00:46:04,949 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1199.97 sec -2013-09-18 00:46:05,955 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1199.97 sec -2013-09-18 00:46:10,612 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1224.95 sec -2013-09-18 00:46:11,618 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1224.95 sec -2013-09-18 00:46:13,271 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1250.63 sec -2013-09-18 00:46:14,276 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1250.63 sec -2013-09-18 00:46:15,344 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1277.48 sec -2013-09-18 00:46:16,350 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1333.41 sec -2013-09-18 00:46:17,356 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1333.41 sec -2013-09-18 00:46:20,396 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1333.41 sec -MapReduce Total cumulative CPU time: 22 minutes 13 seconds 410 msec -Ended Job = job_201309172235_0124 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0125 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:46:24,314 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:46:25,319 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:46:26,325 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:46:27,330 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:46:28,335 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:46:29,340 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:46:30,345 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:46:31,350 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:46:32,355 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 00:46:33,360 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -2013-09-18 00:46:34,366 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -2013-09-18 00:46:35,371 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -MapReduce Total cumulative CPU time: 2 seconds 290 msec -Ended Job = job_201309172235_0125 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1333.41 sec HDFS Read: 978257057 HDFS Write: 4324 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.29 sec HDFS Read: 7901 HDFS Write: 790 SUCCESS -Total MapReduce CPU Time Spent: 22 minutes 15 seconds 700 msec -OK -Time taken: 112.58 seconds, Fetched: 25 row(s) -hive> quit; - -times: 2 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25268@mturlrep13_201309180046_2058731462.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0126 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:46:46,178 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:46:59,296 Stage-1 map = 4%, reduce = 0% -2013-09-18 00:47:00,310 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:47:01,316 Stage-1 map = 6%, reduce = 0% -2013-09-18 00:47:03,326 Stage-1 map = 8%, reduce = 0% -2013-09-18 00:47:04,331 Stage-1 map = 13%, reduce = 0% -2013-09-18 00:47:05,337 Stage-1 map = 16%, reduce = 0% -2013-09-18 00:47:06,343 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:47:07,364 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:08,406 Stage-1 map = 30%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:09,418 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:10,425 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:11,459 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:12,470 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:13,476 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:14,517 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:15,536 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:16,546 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:17,560 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:18,584 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:19,602 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 14.43 sec -2013-09-18 00:47:20,610 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 40.87 sec -2013-09-18 00:47:21,619 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 69.23 sec -2013-09-18 00:47:22,628 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 237.25 sec -2013-09-18 00:47:23,638 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 408.41 sec -2013-09-18 00:47:24,670 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 645.37 sec -2013-09-18 00:47:25,677 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 955.16 sec -2013-09-18 00:47:26,685 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 987.34 sec -2013-09-18 00:47:27,691 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:28,696 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:29,702 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:30,722 Stage-1 map = 100%, reduce = 4%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:31,729 Stage-1 map = 100%, reduce = 15%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:32,735 Stage-1 map = 100%, reduce = 16%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:33,741 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:34,747 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:35,753 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:36,759 Stage-1 map = 100%, reduce = 40%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:37,765 Stage-1 map = 100%, reduce = 45%, Cumulative CPU 1085.3 sec -2013-09-18 00:47:38,774 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 1196.28 sec -2013-09-18 00:47:39,781 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 1196.28 sec -2013-09-18 00:47:40,787 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1196.28 sec -2013-09-18 00:47:41,794 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1196.28 sec -2013-09-18 00:47:42,800 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1201.93 sec -2013-09-18 00:47:43,806 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1201.93 sec -2013-09-18 00:47:44,820 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1209.07 sec -2013-09-18 00:47:45,826 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1209.07 sec -2013-09-18 00:47:46,832 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 1209.07 sec -2013-09-18 00:47:47,838 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1220.62 sec -2013-09-18 00:47:48,844 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1220.62 sec -2013-09-18 00:47:49,850 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1246.48 sec -2013-09-18 00:47:50,856 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1260.92 sec -2013-09-18 00:47:51,862 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1276.65 sec -2013-09-18 00:47:52,868 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1293.47 sec -2013-09-18 00:47:53,873 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:47:56,015 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:47:57,021 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:47:58,026 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:47:59,031 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:48:00,036 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:48:01,041 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:48:02,046 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:48:03,366 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:48:04,371 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:48:05,376 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1293.47 sec -2013-09-18 00:48:06,382 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1328.31 sec -2013-09-18 00:48:09,722 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1328.31 sec -MapReduce Total cumulative CPU time: 22 minutes 8 seconds 310 msec -Ended Job = job_201309172235_0126 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0127 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:48:13,466 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:48:15,474 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-18 00:48:16,478 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-18 00:48:17,481 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-18 00:48:18,485 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-18 00:48:19,489 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-18 00:48:20,494 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-18 00:48:21,497 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-18 00:48:22,502 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.38 sec -2013-09-18 00:48:23,508 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.38 sec -2013-09-18 00:48:24,513 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.38 sec -MapReduce Total cumulative CPU time: 2 seconds 380 msec -Ended Job = job_201309172235_0127 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1328.31 sec HDFS Read: 978257057 HDFS Write: 4324 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.38 sec HDFS Read: 7901 HDFS Write: 790 SUCCESS -Total MapReduce CPU Time Spent: 22 minutes 10 seconds 690 msec -OK -Time taken: 107.297 seconds, Fetched: 25 row(s) -hive> quit; - -times: 3 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32317@mturlrep13_201309180048_1314756439.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0128 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:48:35,184 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:48:48,323 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:48:49,329 Stage-1 map = 7%, reduce = 0% -2013-09-18 00:48:53,356 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:48:54,367 Stage-1 map = 15%, reduce = 0% -2013-09-18 00:48:55,377 Stage-1 map = 18%, reduce = 0% -2013-09-18 00:48:56,389 Stage-1 map = 23%, reduce = 0% -2013-09-18 00:48:57,404 Stage-1 map = 29%, reduce = 0% -2013-09-18 00:48:58,435 Stage-1 map = 32%, reduce = 0% -2013-09-18 00:48:59,450 Stage-1 map = 37%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:00,470 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:01,482 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:02,500 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:03,514 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:04,524 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:05,530 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:06,542 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:07,548 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:08,560 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:09,568 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 15.22 sec -2013-09-18 00:49:10,574 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 69.2 sec -2013-09-18 00:49:11,591 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 154.6 sec -2013-09-18 00:49:12,600 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 386.29 sec -2013-09-18 00:49:13,616 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 684.84 sec -2013-09-18 00:49:14,628 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 904.62 sec -2013-09-18 00:49:15,634 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 999.79 sec -2013-09-18 00:49:16,640 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:17,645 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:18,651 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:19,657 Stage-1 map = 100%, reduce = 2%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:20,664 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:21,693 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:22,703 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:23,709 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:24,715 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:25,721 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:26,728 Stage-1 map = 100%, reduce = 41%, Cumulative CPU 1097.36 sec -2013-09-18 00:49:27,736 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 1108.08 sec -2013-09-18 00:49:28,742 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 1108.08 sec -2013-09-18 00:49:29,748 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1108.08 sec -2013-09-18 00:49:30,754 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1108.08 sec -2013-09-18 00:49:31,760 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 1124.02 sec -2013-09-18 00:49:32,766 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1139.64 sec -2013-09-18 00:49:33,772 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1139.64 sec -2013-09-18 00:49:34,778 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1139.64 sec -2013-09-18 00:49:35,783 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 1139.64 sec -2013-09-18 00:49:36,789 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1160.79 sec -2013-09-18 00:49:37,795 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1160.79 sec -2013-09-18 00:49:38,801 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1313.18 sec -2013-09-18 00:49:39,807 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1314.93 sec -2013-09-18 00:49:40,813 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1321.52 sec -2013-09-18 00:49:41,819 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1321.52 sec -2013-09-18 00:49:42,825 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1332.94 sec -2013-09-18 00:49:43,911 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1332.94 sec -2013-09-18 00:49:44,917 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1332.94 sec -2013-09-18 00:49:45,922 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1332.94 sec -2013-09-18 00:49:46,926 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1332.94 sec -2013-09-18 00:49:47,931 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1340.83 sec -2013-09-18 00:49:50,236 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1340.83 sec -2013-09-18 00:49:51,240 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1340.83 sec -2013-09-18 00:49:52,245 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1340.83 sec -2013-09-18 00:49:53,256 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1340.83 sec -MapReduce Total cumulative CPU time: 22 minutes 20 seconds 830 msec -Ended Job = job_201309172235_0128 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0129 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:50:01,798 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:50:03,805 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 00:50:04,810 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 00:50:05,814 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 00:50:06,819 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 00:50:07,823 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 00:50:08,828 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 00:50:09,832 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 00:50:10,837 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.79 sec -2013-09-18 00:50:11,843 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.4 sec -2013-09-18 00:50:12,847 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.4 sec -MapReduce Total cumulative CPU time: 2 seconds 400 msec -Ended Job = job_201309172235_0129 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1340.83 sec HDFS Read: 978257057 HDFS Write: 4324 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.4 sec HDFS Read: 7901 HDFS Write: 790 SUCCESS -Total MapReduce CPU Time Spent: 22 minutes 23 seconds 230 msec -OK -Time taken: 106.493 seconds, Fetched: 25 row(s) -hive> quit; --- считаем средние длины URL для крупных счётчиков.; - - -times: 1 -query: SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8110@mturlrep13_201309180050_337201518.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -FAILED: SemanticException [Error 10011]: Line 1:337 Invalid function 'GREATEST' -hive> quit; - -times: 2 -query: SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8329@mturlrep13_201309180050_1201800197.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -FAILED: SemanticException [Error 10011]: Line 1:337 Invalid function 'GREATEST' -hive> quit; - -times: 3 -query: SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8542@mturlrep13_201309180050_468390903.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -FAILED: SemanticException [Error 10011]: Line 1:337 Invalid function 'GREATEST' -hive> quit; --- то же самое, но с разбивкой по доменам.; - - -times: 1 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8757@mturlrep13_201309180050_2105633958.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0130 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:50:56,035 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:51:21,228 Stage-1 map = 1%, reduce = 0% -2013-09-18 00:51:22,233 Stage-1 map = 4%, reduce = 0% -2013-09-18 00:51:23,242 Stage-1 map = 5%, reduce = 0% -2013-09-18 00:51:24,247 Stage-1 map = 6%, reduce = 0% -2013-09-18 00:51:25,251 Stage-1 map = 11%, reduce = 0% -2013-09-18 00:51:26,256 Stage-1 map = 13%, reduce = 0% -2013-09-18 00:51:28,265 Stage-1 map = 14%, reduce = 0% -2013-09-18 00:51:34,323 Stage-1 map = 17%, reduce = 0% -2013-09-18 00:51:35,333 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:51:36,342 Stage-1 map = 20%, reduce = 0% -2013-09-18 00:51:37,347 Stage-1 map = 21%, reduce = 0% -2013-09-18 00:51:38,352 Stage-1 map = 25%, reduce = 0% -2013-09-18 00:51:39,363 Stage-1 map = 26%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:40,382 Stage-1 map = 26%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:41,395 Stage-1 map = 27%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:42,410 Stage-1 map = 27%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:43,416 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:44,421 Stage-1 map = 31%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:45,427 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:46,437 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:47,444 Stage-1 map = 33%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:48,450 Stage-1 map = 33%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:49,455 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:50,461 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:51,466 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:52,472 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:53,478 Stage-1 map = 41%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:54,483 Stage-1 map = 42%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:55,489 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:56,494 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:57,500 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:58,535 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:51:59,548 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:00,553 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:01,575 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:02,586 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:03,591 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:04,597 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:05,602 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:06,608 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:07,614 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:08,653 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:09,659 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:10,687 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:11,702 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:13,057 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:14,078 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:15,103 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:16,131 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:17,155 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:18,174 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:19,198 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 1178.1 sec -2013-09-18 00:52:20,210 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 1212.03 sec -2013-09-18 00:52:21,248 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 1212.03 sec -2013-09-18 00:52:22,262 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 1212.03 sec -2013-09-18 00:52:23,274 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 1212.03 sec -2013-09-18 00:52:24,280 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 1212.03 sec -2013-09-18 00:52:25,290 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 1212.03 sec -2013-09-18 00:52:26,311 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 1212.03 sec -2013-09-18 00:52:27,322 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 1257.13 sec -2013-09-18 00:52:28,327 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 1347.07 sec -2013-09-18 00:52:29,333 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 1347.07 sec -2013-09-18 00:52:30,346 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 1393.25 sec -2013-09-18 00:52:31,358 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 1483.18 sec -2013-09-18 00:52:32,373 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 1674.0 sec -2013-09-18 00:52:33,378 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 1768.61 sec -2013-09-18 00:52:34,383 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 1815.43 sec -2013-09-18 00:52:35,389 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 1865.46 sec -2013-09-18 00:52:36,395 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 2120.58 sec -2013-09-18 00:52:37,401 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 2333.45 sec -2013-09-18 00:52:38,406 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 2333.45 sec -2013-09-18 00:52:39,412 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 3023.48 sec -2013-09-18 00:52:40,418 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 3027.43 sec -2013-09-18 00:52:41,424 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 3039.12 sec -2013-09-18 00:52:42,429 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 3047.25 sec -2013-09-18 00:52:43,434 Stage-1 map = 98%, reduce = 25%, Cumulative CPU 3052.91 sec -2013-09-18 00:52:44,440 Stage-1 map = 99%, reduce = 25%, Cumulative CPU 3052.91 sec -2013-09-18 00:52:45,453 Stage-1 map = 99%, reduce = 25%, Cumulative CPU 3052.91 sec -2013-09-18 00:52:46,459 Stage-1 map = 99%, reduce = 25%, Cumulative CPU 3061.93 sec -2013-09-18 00:52:47,464 Stage-1 map = 99%, reduce = 25%, Cumulative CPU 3061.93 sec -2013-09-18 00:52:48,469 Stage-1 map = 99%, reduce = 25%, Cumulative CPU 3061.93 sec -2013-09-18 00:52:49,474 Stage-1 map = 99%, reduce = 25%, Cumulative CPU 3061.93 sec -2013-09-18 00:52:50,480 Stage-1 map = 99%, reduce = 25%, Cumulative CPU 3061.93 sec -2013-09-18 00:52:51,485 Stage-1 map = 99%, reduce = 25%, Cumulative CPU 3061.93 sec -2013-09-18 00:52:52,490 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 3091.79 sec -2013-09-18 00:52:53,495 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 3091.79 sec -2013-09-18 00:52:54,500 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 3091.79 sec -2013-09-18 00:52:55,504 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 3091.79 sec -2013-09-18 00:52:56,509 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 3091.79 sec -2013-09-18 00:52:57,514 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 3091.79 sec -2013-09-18 00:52:58,521 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3095.82 sec -2013-09-18 00:52:59,529 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3095.82 sec -2013-09-18 00:53:00,534 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3095.82 sec -MapReduce Total cumulative CPU time: 51 minutes 35 seconds 820 msec -Ended Job = job_201309172235_0130 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 3095.82 sec HDFS Read: 77419054 HDFS Write: 1170 SUCCESS -Total MapReduce CPU Time Spent: 51 minutes 35 seconds 820 msec -OK -Time taken: 136.36 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13963@mturlrep13_201309180053_177355133.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0131 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:53:11,219 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:53:36,459 Stage-1 map = 2%, reduce = 0% -2013-09-18 00:53:38,478 Stage-1 map = 4%, reduce = 0% -2013-09-18 00:53:39,508 Stage-1 map = 7%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:40,526 Stage-1 map = 10%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:41,534 Stage-1 map = 13%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:42,546 Stage-1 map = 13%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:43,564 Stage-1 map = 13%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:44,570 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:45,576 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:46,582 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:47,588 Stage-1 map = 15%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:48,594 Stage-1 map = 15%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:49,600 Stage-1 map = 17%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:50,610 Stage-1 map = 20%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:51,667 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:52,674 Stage-1 map = 23%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:53,680 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:54,685 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:55,691 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:56,703 Stage-1 map = 27%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:57,708 Stage-1 map = 28%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:58,720 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:53:59,732 Stage-1 map = 30%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:00,738 Stage-1 map = 31%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:01,743 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:02,749 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:03,754 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:04,759 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:05,766 Stage-1 map = 37%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:06,771 Stage-1 map = 38%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:07,784 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:08,789 Stage-1 map = 40%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:09,795 Stage-1 map = 42%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:10,800 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:11,806 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:12,811 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:13,823 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:14,829 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:15,834 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:16,844 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:17,850 Stage-1 map = 51%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:18,858 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:19,871 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:20,878 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:21,883 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:22,888 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:23,894 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:24,901 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:25,930 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:27,189 Stage-1 map = 62%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:28,194 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:29,201 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:30,206 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:31,220 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 679.85 sec -2013-09-18 00:54:32,227 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 726.21 sec -2013-09-18 00:54:33,241 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 726.21 sec -2013-09-18 00:54:34,246 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 726.21 sec -2013-09-18 00:54:35,255 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 726.21 sec -2013-09-18 00:54:36,261 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 726.21 sec -2013-09-18 00:54:37,266 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 726.21 sec -2013-09-18 00:54:38,275 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 726.21 sec -2013-09-18 00:54:39,280 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 2591.6 sec -2013-09-18 00:54:40,290 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 2591.6 sec -2013-09-18 00:54:41,295 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 2591.6 sec -2013-09-18 00:54:42,301 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 2596.52 sec -2013-09-18 00:54:43,327 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 2606.89 sec -2013-09-18 00:54:44,338 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 2623.82 sec -2013-09-18 00:54:45,343 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 2631.82 sec -2013-09-18 00:54:46,349 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 2631.82 sec -2013-09-18 00:54:47,355 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 2647.97 sec -2013-09-18 00:54:48,360 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 2657.08 sec -2013-09-18 00:54:49,367 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 2679.32 sec -2013-09-18 00:54:50,372 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 2712.4 sec -2013-09-18 00:54:51,377 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 2738.4 sec -2013-09-18 00:54:52,383 Stage-1 map = 92%, reduce = 14%, Cumulative CPU 2779.62 sec -2013-09-18 00:54:53,388 Stage-1 map = 93%, reduce = 14%, Cumulative CPU 2809.67 sec -2013-09-18 00:54:54,399 Stage-1 map = 95%, reduce = 14%, Cumulative CPU 2872.97 sec -2013-09-18 00:54:55,404 Stage-1 map = 96%, reduce = 14%, Cumulative CPU 2923.72 sec -2013-09-18 00:54:56,410 Stage-1 map = 97%, reduce = 14%, Cumulative CPU 2923.72 sec -2013-09-18 00:54:57,414 Stage-1 map = 97%, reduce = 14%, Cumulative CPU 2942.34 sec -2013-09-18 00:54:58,419 Stage-1 map = 98%, reduce = 14%, Cumulative CPU 2962.2 sec -2013-09-18 00:54:59,424 Stage-1 map = 98%, reduce = 14%, Cumulative CPU 2983.52 sec -2013-09-18 00:55:00,429 Stage-1 map = 98%, reduce = 14%, Cumulative CPU 3004.99 sec -2013-09-18 00:55:01,435 Stage-1 map = 98%, reduce = 27%, Cumulative CPU 3004.99 sec -2013-09-18 00:55:02,440 Stage-1 map = 99%, reduce = 27%, Cumulative CPU 3004.99 sec -2013-09-18 00:55:03,445 Stage-1 map = 99%, reduce = 27%, Cumulative CPU 3029.77 sec -2013-09-18 00:55:04,450 Stage-1 map = 99%, reduce = 27%, Cumulative CPU 3029.77 sec -2013-09-18 00:55:05,454 Stage-1 map = 99%, reduce = 27%, Cumulative CPU 3029.77 sec -2013-09-18 00:55:06,459 Stage-1 map = 99%, reduce = 27%, Cumulative CPU 3057.4 sec -2013-09-18 00:55:07,464 Stage-1 map = 99%, reduce = 32%, Cumulative CPU 3057.4 sec -2013-09-18 00:55:08,469 Stage-1 map = 99%, reduce = 32%, Cumulative CPU 3057.4 sec -2013-09-18 00:55:09,474 Stage-1 map = 99%, reduce = 32%, Cumulative CPU 3057.4 sec -2013-09-18 00:55:10,479 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3089.43 sec -2013-09-18 00:55:11,484 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3089.43 sec -2013-09-18 00:55:12,489 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3089.43 sec -2013-09-18 00:55:13,495 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3093.95 sec -2013-09-18 00:55:14,501 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3093.95 sec -2013-09-18 00:55:15,506 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3093.95 sec -MapReduce Total cumulative CPU time: 51 minutes 33 seconds 950 msec -Ended Job = job_201309172235_0131 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 3093.95 sec HDFS Read: 77419054 HDFS Write: 1170 SUCCESS -Total MapReduce CPU Time Spent: 51 minutes 33 seconds 950 msec -OK -Time taken: 133.102 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19854@mturlrep13_201309180055_1882171438.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0132 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 1 -2013-09-18 00:55:27,376 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:55:51,539 Stage-1 map = 1%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:55:52,555 Stage-1 map = 2%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:55:53,565 Stage-1 map = 5%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:55:54,571 Stage-1 map = 7%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:55:55,576 Stage-1 map = 10%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:55:56,580 Stage-1 map = 12%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:55:57,586 Stage-1 map = 13%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:55:58,602 Stage-1 map = 13%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:55:59,608 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:00,614 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:01,619 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:02,625 Stage-1 map = 15%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:03,631 Stage-1 map = 15%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:04,639 Stage-1 map = 17%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:05,645 Stage-1 map = 19%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:06,650 Stage-1 map = 20%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:07,655 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:08,661 Stage-1 map = 24%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:09,666 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:10,671 Stage-1 map = 27%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:11,676 Stage-1 map = 28%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:12,681 Stage-1 map = 28%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:13,687 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:14,692 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:15,697 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:16,703 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:17,708 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:18,797 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:19,802 Stage-1 map = 35%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:20,808 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:21,813 Stage-1 map = 37%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:22,818 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:23,824 Stage-1 map = 40%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:24,829 Stage-1 map = 42%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:25,834 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:26,840 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:27,845 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:28,850 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:29,855 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:30,861 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:31,866 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:32,871 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:33,876 Stage-1 map = 51%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:34,881 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:35,887 Stage-1 map = 54%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:36,899 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:38,073 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:39,078 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 28.25 sec -2013-09-18 00:56:40,093 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 2125.98 sec -2013-09-18 00:56:41,098 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 2125.98 sec -2013-09-18 00:56:42,104 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 2125.98 sec -2013-09-18 00:56:43,109 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 2125.98 sec -2013-09-18 00:56:44,116 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:45,121 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:46,127 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:47,136 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:48,141 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:49,147 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:50,152 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:51,158 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:52,163 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:53,168 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:54,174 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 2129.75 sec -2013-09-18 00:56:55,179 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 2144.3 sec -2013-09-18 00:56:56,184 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 2144.3 sec -2013-09-18 00:56:57,189 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 2160.94 sec -2013-09-18 00:56:58,195 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 2178.2 sec -2013-09-18 00:56:59,200 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 2178.2 sec -2013-09-18 00:57:00,205 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 2199.66 sec -2013-09-18 00:57:01,210 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 2218.05 sec -2013-09-18 00:57:02,216 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 2282.19 sec -2013-09-18 00:57:03,221 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 2304.47 sec -2013-09-18 00:57:04,227 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 2349.8 sec -2013-09-18 00:57:05,233 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 2372.02 sec -2013-09-18 00:57:06,242 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 2427.89 sec -2013-09-18 00:57:07,248 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 2503.41 sec -2013-09-18 00:57:08,254 Stage-1 map = 94%, reduce = 11%, Cumulative CPU 2613.26 sec -2013-09-18 00:57:09,259 Stage-1 map = 95%, reduce = 11%, Cumulative CPU 2701.51 sec -2013-09-18 00:57:10,265 Stage-1 map = 96%, reduce = 11%, Cumulative CPU 2758.3 sec -2013-09-18 00:57:11,271 Stage-1 map = 97%, reduce = 22%, Cumulative CPU 2875.86 sec -2013-09-18 00:57:12,278 Stage-1 map = 97%, reduce = 22%, Cumulative CPU 2875.86 sec -2013-09-18 00:57:13,284 Stage-1 map = 98%, reduce = 22%, Cumulative CPU 2941.83 sec -2013-09-18 00:57:14,290 Stage-1 map = 99%, reduce = 22%, Cumulative CPU 3011.19 sec -2013-09-18 00:57:15,296 Stage-1 map = 99%, reduce = 22%, Cumulative CPU 3011.19 sec -2013-09-18 00:57:16,302 Stage-1 map = 99%, reduce = 22%, Cumulative CPU 3011.19 sec -2013-09-18 00:57:17,307 Stage-1 map = 99%, reduce = 22%, Cumulative CPU 3011.19 sec -2013-09-18 00:57:18,313 Stage-1 map = 99%, reduce = 22%, Cumulative CPU 3011.19 sec -2013-09-18 00:57:19,319 Stage-1 map = 99%, reduce = 22%, Cumulative CPU 3011.19 sec -2013-09-18 00:57:20,325 Stage-1 map = 99%, reduce = 32%, Cumulative CPU 3011.19 sec -2013-09-18 00:57:21,330 Stage-1 map = 99%, reduce = 32%, Cumulative CPU 3011.19 sec -2013-09-18 00:57:22,335 Stage-1 map = 99%, reduce = 32%, Cumulative CPU 3011.19 sec -2013-09-18 00:57:23,340 Stage-1 map = 99%, reduce = 32%, Cumulative CPU 3053.74 sec -2013-09-18 00:57:24,344 Stage-1 map = 99%, reduce = 32%, Cumulative CPU 3053.74 sec -2013-09-18 00:57:25,348 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3099.46 sec -2013-09-18 00:57:26,352 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3099.46 sec -2013-09-18 00:57:27,356 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3099.46 sec -2013-09-18 00:57:28,359 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3099.46 sec -2013-09-18 00:57:29,364 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3099.46 sec -2013-09-18 00:57:30,368 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3099.46 sec -2013-09-18 00:57:31,373 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 3099.46 sec -2013-09-18 00:57:32,380 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3104.28 sec -2013-09-18 00:57:33,385 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3104.28 sec -MapReduce Total cumulative CPU time: 51 minutes 44 seconds 280 msec -Ended Job = job_201309172235_0132 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 1 Cumulative CPU: 3104.28 sec HDFS Read: 77419054 HDFS Write: 1170 SUCCESS -Total MapReduce CPU Time Spent: 51 minutes 44 seconds 280 msec -OK -Time taken: 135.896 seconds, Fetched: 1 row(s) -hive> quit; --- много тупых агрегатных функций.; - - -times: 1 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25111@mturlrep13_201309180057_1190943875.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0133 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:57:50,216 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:58:00,383 Stage-1 map = 2%, reduce = 0% -2013-09-18 00:58:04,415 Stage-1 map = 8%, reduce = 0% -2013-09-18 00:58:07,430 Stage-1 map = 24%, reduce = 0% -2013-09-18 00:58:10,044 Stage-1 map = 33%, reduce = 0% -2013-09-18 00:58:11,136 Stage-1 map = 37%, reduce = 0% -2013-09-18 00:58:13,987 Stage-1 map = 45%, reduce = 0%, Cumulative CPU 10.4 sec -2013-09-18 00:58:14,998 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 10.4 sec -2013-09-18 00:58:16,016 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 44.12 sec -2013-09-18 00:58:17,029 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 44.12 sec -2013-09-18 00:58:19,269 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 44.12 sec -2013-09-18 00:58:20,277 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 54.05 sec -2013-09-18 00:58:21,283 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 54.05 sec -2013-09-18 00:58:22,290 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 217.63 sec -2013-09-18 00:58:23,297 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 293.68 sec -2013-09-18 00:58:24,303 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 354.53 sec -2013-09-18 00:58:25,310 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 431.46 sec -2013-09-18 00:58:26,316 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 532.5 sec -2013-09-18 00:58:27,322 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 532.5 sec -2013-09-18 00:58:28,329 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 532.5 sec -2013-09-18 00:58:29,337 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 532.5 sec -2013-09-18 00:58:30,344 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 532.5 sec -2013-09-18 00:58:31,351 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 532.5 sec -2013-09-18 00:58:32,359 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 532.5 sec -2013-09-18 00:58:33,367 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 532.5 sec -2013-09-18 00:58:34,374 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 532.5 sec -2013-09-18 00:58:35,379 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 532.5 sec -2013-09-18 00:58:36,387 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 600.15 sec -2013-09-18 00:58:37,394 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 600.15 sec -2013-09-18 00:58:38,402 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 622.76 sec -2013-09-18 00:58:39,408 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 656.89 sec -2013-09-18 00:58:40,415 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 656.89 sec -MapReduce Total cumulative CPU time: 10 minutes 56 seconds 890 msec -Ended Job = job_201309172235_0133 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0134 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 00:58:43,889 Stage-2 map = 0%, reduce = 0% -2013-09-18 00:58:50,910 Stage-2 map = 9%, reduce = 0% -2013-09-18 00:58:53,919 Stage-2 map = 18%, reduce = 0% -2013-09-18 00:58:56,928 Stage-2 map = 27%, reduce = 0% -2013-09-18 00:58:59,938 Stage-2 map = 45%, reduce = 0% -2013-09-18 00:59:02,948 Stage-2 map = 55%, reduce = 0% -2013-09-18 00:59:05,958 Stage-2 map = 64%, reduce = 0% -2013-09-18 00:59:08,967 Stage-2 map = 73%, reduce = 0% -2013-09-18 00:59:11,976 Stage-2 map = 82%, reduce = 0% -2013-09-18 00:59:14,991 Stage-2 map = 91%, reduce = 0% -2013-09-18 00:59:20,012 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.91 sec -2013-09-18 00:59:21,017 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.91 sec -2013-09-18 00:59:22,021 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.91 sec -2013-09-18 00:59:23,025 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.91 sec -2013-09-18 00:59:24,029 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.91 sec -2013-09-18 00:59:25,033 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.91 sec -2013-09-18 00:59:26,038 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.91 sec -2013-09-18 00:59:27,043 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 43.91 sec -2013-09-18 00:59:28,047 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 43.91 sec -2013-09-18 00:59:29,052 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 43.91 sec -2013-09-18 00:59:30,056 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 43.91 sec -2013-09-18 00:59:31,065 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 43.91 sec -2013-09-18 00:59:32,070 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.31 sec -2013-09-18 00:59:33,075 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.31 sec -MapReduce Total cumulative CPU time: 50 seconds 310 msec -Ended Job = job_201309172235_0134 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 656.89 sec HDFS Read: 613013229 HDFS Write: 191007594 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 50.31 sec HDFS Read: 191011171 HDFS Write: 399 SUCCESS -Total MapReduce CPU Time Spent: 11 minutes 47 seconds 200 msec -OK -Time taken: 113.348 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32655@mturlrep13_201309180059_1219302235.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0135 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 00:59:42,709 Stage-1 map = 0%, reduce = 0% -2013-09-18 00:59:54,021 Stage-1 map = 2%, reduce = 0% -2013-09-18 00:59:55,026 Stage-1 map = 6%, reduce = 0% -2013-09-18 00:59:56,031 Stage-1 map = 13%, reduce = 0% -2013-09-18 00:59:57,047 Stage-1 map = 19%, reduce = 0% -2013-09-18 00:59:58,067 Stage-1 map = 26%, reduce = 0% -2013-09-18 00:59:59,081 Stage-1 map = 39%, reduce = 0% -2013-09-18 01:00:00,095 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 11.06 sec -2013-09-18 01:00:01,103 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.66 sec -2013-09-18 01:00:02,114 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 93.97 sec -2013-09-18 01:00:03,127 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 133.19 sec -2013-09-18 01:00:04,152 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 186.98 sec -2013-09-18 01:00:05,168 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 248.68 sec -2013-09-18 01:00:06,178 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 281.8 sec -2013-09-18 01:00:07,185 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 545.59 sec -2013-09-18 01:00:08,191 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 563.72 sec -2013-09-18 01:00:09,197 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 563.72 sec -2013-09-18 01:00:10,203 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 563.72 sec -2013-09-18 01:00:11,210 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 563.72 sec -2013-09-18 01:00:12,218 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 563.72 sec -2013-09-18 01:00:13,233 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 563.72 sec -2013-09-18 01:00:14,240 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 563.72 sec -2013-09-18 01:00:15,247 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 563.72 sec -2013-09-18 01:00:16,253 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 563.72 sec -2013-09-18 01:00:17,261 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 563.72 sec -2013-09-18 01:00:18,270 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 574.8 sec -2013-09-18 01:00:19,278 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 609.56 sec -2013-09-18 01:00:20,285 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 690.28 sec -2013-09-18 01:00:21,291 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 690.28 sec -2013-09-18 01:00:22,299 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 690.28 sec -MapReduce Total cumulative CPU time: 11 minutes 30 seconds 280 msec -Ended Job = job_201309172235_0135 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0136 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 01:00:25,765 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:00:32,789 Stage-2 map = 9%, reduce = 0% -2013-09-18 01:00:35,800 Stage-2 map = 18%, reduce = 0% -2013-09-18 01:00:38,811 Stage-2 map = 27%, reduce = 0% -2013-09-18 01:00:41,823 Stage-2 map = 45%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:42,828 Stage-2 map = 45%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:43,834 Stage-2 map = 45%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:44,839 Stage-2 map = 55%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:45,844 Stage-2 map = 55%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:46,848 Stage-2 map = 55%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:47,853 Stage-2 map = 64%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:48,859 Stage-2 map = 64%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:49,864 Stage-2 map = 64%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:50,869 Stage-2 map = 73%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:51,874 Stage-2 map = 73%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:52,879 Stage-2 map = 73%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:53,885 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:54,890 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:55,895 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:56,901 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:57,906 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:58,911 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:00:59,916 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:01:00,921 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 17.28 sec -2013-09-18 01:01:01,926 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 01:01:02,936 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 01:01:03,941 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 01:01:04,945 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 01:01:05,949 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 01:01:06,954 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 01:01:07,958 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 01:01:08,963 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 43.57 sec -2013-09-18 01:01:09,968 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 43.57 sec -2013-09-18 01:01:10,972 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 43.57 sec -2013-09-18 01:01:11,976 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 43.57 sec -2013-09-18 01:01:12,981 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 43.57 sec -2013-09-18 01:01:13,986 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.9 sec -2013-09-18 01:01:14,991 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.9 sec -MapReduce Total cumulative CPU time: 49 seconds 900 msec -Ended Job = job_201309172235_0136 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 690.28 sec HDFS Read: 613013229 HDFS Write: 191007594 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 49.9 sec HDFS Read: 191011171 HDFS Write: 399 SUCCESS -Total MapReduce CPU Time Spent: 12 minutes 20 seconds 180 msec -OK -Time taken: 100.032 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8933@mturlrep13_201309180101_1921637373.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0137 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:01:24,685 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:01:35,760 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:01:36,769 Stage-1 map = 7%, reduce = 0% -2013-09-18 01:01:37,774 Stage-1 map = 12%, reduce = 0% -2013-09-18 01:01:38,803 Stage-1 map = 17%, reduce = 0% -2013-09-18 01:01:39,847 Stage-1 map = 23%, reduce = 0% -2013-09-18 01:01:40,868 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 286.36 sec -2013-09-18 01:01:41,883 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 286.36 sec -2013-09-18 01:01:42,895 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 289.4 sec -2013-09-18 01:01:43,902 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 301.74 sec -2013-09-18 01:01:44,920 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 341.22 sec -2013-09-18 01:01:45,934 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 365.65 sec -2013-09-18 01:01:46,942 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 373.98 sec -2013-09-18 01:01:47,949 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 460.32 sec -2013-09-18 01:01:48,957 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 557.15 sec -2013-09-18 01:01:49,963 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 557.15 sec -2013-09-18 01:01:50,969 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 557.15 sec -2013-09-18 01:01:51,974 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 557.15 sec -2013-09-18 01:01:52,986 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 557.15 sec -2013-09-18 01:01:53,993 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 557.15 sec -2013-09-18 01:01:55,000 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 557.15 sec -2013-09-18 01:01:56,006 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 557.15 sec -2013-09-18 01:01:57,013 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 557.15 sec -2013-09-18 01:01:58,020 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 557.15 sec -2013-09-18 01:01:59,026 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 557.15 sec -2013-09-18 01:02:00,035 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 568.49 sec -2013-09-18 01:02:01,042 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 603.17 sec -2013-09-18 01:02:02,048 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 671.6 sec -2013-09-18 01:02:03,056 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 682.9 sec -2013-09-18 01:02:04,062 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 682.9 sec -MapReduce Total cumulative CPU time: 11 minutes 22 seconds 900 msec -Ended Job = job_201309172235_0137 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0138 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 01:02:07,547 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:02:14,570 Stage-2 map = 9%, reduce = 0% -2013-09-18 01:02:17,581 Stage-2 map = 18%, reduce = 0% -2013-09-18 01:02:20,591 Stage-2 map = 27%, reduce = 0% -2013-09-18 01:02:23,602 Stage-2 map = 45%, reduce = 0% -2013-09-18 01:02:26,613 Stage-2 map = 55%, reduce = 0% -2013-09-18 01:02:29,623 Stage-2 map = 64%, reduce = 0% -2013-09-18 01:02:32,634 Stage-2 map = 73%, reduce = 0% -2013-09-18 01:02:35,643 Stage-2 map = 91%, reduce = 0% -2013-09-18 01:02:43,669 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.8 sec -2013-09-18 01:02:44,674 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.8 sec -2013-09-18 01:02:45,679 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.8 sec -2013-09-18 01:02:46,684 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.8 sec -2013-09-18 01:02:47,688 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.8 sec -2013-09-18 01:02:48,693 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.8 sec -2013-09-18 01:02:49,698 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.8 sec -2013-09-18 01:02:50,704 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 42.8 sec -2013-09-18 01:02:51,708 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 42.8 sec -2013-09-18 01:02:52,713 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 42.8 sec -2013-09-18 01:02:53,717 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 42.8 sec -2013-09-18 01:02:54,722 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.05 sec -2013-09-18 01:02:55,728 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.05 sec -2013-09-18 01:02:56,733 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.05 sec -MapReduce Total cumulative CPU time: 49 seconds 50 msec -Ended Job = job_201309172235_0138 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 682.9 sec HDFS Read: 613013229 HDFS Write: 191007594 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 49.05 sec HDFS Read: 191011171 HDFS Write: 399 SUCCESS -Total MapReduce CPU Time Spent: 12 minutes 11 seconds 950 msec -OK -Time taken: 99.905 seconds, Fetched: 10 row(s) -hive> quit; --- сложная агрегация, для больших таблиц может не хватить оперативки.; - - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16458@mturlrep13_201309180103_1014086590.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0139 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:03:15,821 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:03:25,881 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:03:28,896 Stage-1 map = 3%, reduce = 0% -2013-09-18 01:03:30,685 Stage-1 map = 11%, reduce = 0% -2013-09-18 01:03:31,692 Stage-1 map = 12%, reduce = 0% -2013-09-18 01:03:33,713 Stage-1 map = 24%, reduce = 0% -2013-09-18 01:03:34,719 Stage-1 map = 25%, reduce = 0% -2013-09-18 01:03:41,834 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 361.72 sec -2013-09-18 01:03:42,856 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 361.72 sec -2013-09-18 01:03:43,882 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 363.16 sec -2013-09-18 01:03:44,896 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 378.03 sec -2013-09-18 01:03:45,904 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 403.06 sec -2013-09-18 01:03:46,911 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 418.77 sec -2013-09-18 01:03:48,058 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 434.02 sec -2013-09-18 01:03:49,066 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 460.07 sec -2013-09-18 01:03:50,076 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 509.72 sec -2013-09-18 01:03:51,083 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 547.13 sec -2013-09-18 01:03:52,089 Stage-1 map = 100%, reduce = 2%, Cumulative CPU 547.13 sec -2013-09-18 01:03:53,096 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 547.13 sec -2013-09-18 01:03:54,105 Stage-1 map = 100%, reduce = 20%, Cumulative CPU 547.13 sec -2013-09-18 01:03:55,112 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 547.13 sec -2013-09-18 01:03:56,118 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 547.13 sec -2013-09-18 01:03:57,125 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 547.13 sec -2013-09-18 01:03:58,132 Stage-1 map = 100%, reduce = 65%, Cumulative CPU 547.13 sec -2013-09-18 01:03:59,138 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 547.13 sec -2013-09-18 01:04:00,145 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 547.13 sec -2013-09-18 01:04:01,154 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 560.31 sec -2013-09-18 01:04:02,162 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 573.82 sec -2013-09-18 01:04:03,169 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 600.97 sec -2013-09-18 01:04:04,176 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 683.89 sec -2013-09-18 01:04:05,182 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 683.89 sec -2013-09-18 01:04:06,188 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 697.41 sec -2013-09-18 01:04:07,193 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 697.41 sec -MapReduce Total cumulative CPU time: 11 minutes 37 seconds 410 msec -Ended Job = job_201309172235_0139 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0140 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 01:04:10,746 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:04:20,776 Stage-2 map = 10%, reduce = 0% -2013-09-18 01:04:23,786 Stage-2 map = 18%, reduce = 0% -2013-09-18 01:04:26,796 Stage-2 map = 28%, reduce = 0% -2013-09-18 01:04:29,806 Stage-2 map = 37%, reduce = 0% -2013-09-18 01:04:32,817 Stage-2 map = 55%, reduce = 0% -2013-09-18 01:04:38,835 Stage-2 map = 73%, reduce = 0% -2013-09-18 01:04:44,858 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 69.67 sec -2013-09-18 01:04:45,863 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 69.67 sec -2013-09-18 01:04:46,868 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 69.67 sec -2013-09-18 01:04:47,873 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 69.67 sec -2013-09-18 01:04:48,879 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 69.67 sec -2013-09-18 01:04:49,884 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 81.11 sec -2013-09-18 01:04:50,889 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 81.11 sec -2013-09-18 01:04:51,894 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 81.11 sec -2013-09-18 01:04:52,898 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 81.11 sec -2013-09-18 01:04:53,903 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 81.11 sec -2013-09-18 01:04:54,907 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 81.11 sec -2013-09-18 01:04:55,912 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 81.11 sec -2013-09-18 01:04:56,917 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 100.5 sec -2013-09-18 01:04:57,927 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 100.5 sec -2013-09-18 01:04:58,931 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 100.5 sec -2013-09-18 01:04:59,935 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 100.5 sec -2013-09-18 01:05:00,939 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 100.5 sec -2013-09-18 01:05:01,943 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 100.5 sec -2013-09-18 01:05:02,947 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 100.5 sec -2013-09-18 01:05:03,952 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 100.5 sec -2013-09-18 01:05:04,956 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 100.5 sec -2013-09-18 01:05:05,960 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 100.5 sec -2013-09-18 01:05:06,965 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 100.5 sec -2013-09-18 01:05:07,969 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 113.63 sec -2013-09-18 01:05:08,973 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 113.63 sec -MapReduce Total cumulative CPU time: 1 minutes 53 seconds 630 msec -Ended Job = job_201309172235_0140 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 697.41 sec HDFS Read: 1046532092 HDFS Write: 545445520 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 113.63 sec HDFS Read: 545449242 HDFS Write: 418 SUCCESS -Total MapReduce CPU Time Spent: 13 minutes 31 seconds 40 msec -OK -Time taken: 124.002 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24725@mturlrep13_201309180105_1494771182.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0141 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:05:19,764 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:05:29,107 Stage-1 map = 1%, reduce = 0% -2013-09-18 01:05:30,113 Stage-1 map = 4%, reduce = 0% -2013-09-18 01:05:31,124 Stage-1 map = 5%, reduce = 0% -2013-09-18 01:05:32,129 Stage-1 map = 12%, reduce = 0% -2013-09-18 01:05:33,137 Stage-1 map = 20%, reduce = 0% -2013-09-18 01:05:34,151 Stage-1 map = 22%, reduce = 0% -2013-09-18 01:05:35,158 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:05:36,163 Stage-1 map = 39%, reduce = 0% -2013-09-18 01:05:37,173 Stage-1 map = 43%, reduce = 0% -2013-09-18 01:05:38,187 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 34.53 sec -2013-09-18 01:05:39,204 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 108.67 sec -2013-09-18 01:05:40,224 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 150.31 sec -2013-09-18 01:05:41,238 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 497.43 sec -2013-09-18 01:05:42,253 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 506.05 sec -2013-09-18 01:05:43,260 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 533.06 sec -2013-09-18 01:05:44,266 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 577.12 sec -2013-09-18 01:05:45,271 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 577.12 sec -2013-09-18 01:05:46,277 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 577.12 sec -2013-09-18 01:05:47,282 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 577.12 sec -2013-09-18 01:05:48,288 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 577.12 sec -2013-09-18 01:05:49,309 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 577.12 sec -2013-09-18 01:05:50,315 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 577.12 sec -2013-09-18 01:05:51,322 Stage-1 map = 100%, reduce = 43%, Cumulative CPU 577.12 sec -2013-09-18 01:05:52,329 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 577.12 sec -2013-09-18 01:05:53,335 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 577.12 sec -2013-09-18 01:05:54,342 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 577.12 sec -2013-09-18 01:05:55,349 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 577.12 sec -2013-09-18 01:05:56,355 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 577.12 sec -2013-09-18 01:05:57,364 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 590.71 sec -2013-09-18 01:05:58,370 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 646.07 sec -2013-09-18 01:05:59,388 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 729.12 sec -2013-09-18 01:06:00,394 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 729.12 sec -2013-09-18 01:06:01,400 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 729.12 sec -MapReduce Total cumulative CPU time: 12 minutes 9 seconds 120 msec -Ended Job = job_201309172235_0141 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0142 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 01:06:03,914 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:06:14,948 Stage-2 map = 8%, reduce = 0% -2013-09-18 01:06:17,957 Stage-2 map = 18%, reduce = 0% -2013-09-18 01:06:20,967 Stage-2 map = 37%, reduce = 0% -2013-09-18 01:06:26,985 Stage-2 map = 55%, reduce = 0% -2013-09-18 01:06:33,003 Stage-2 map = 73%, reduce = 0% -2013-09-18 01:06:39,021 Stage-2 map = 82%, reduce = 0% -2013-09-18 01:06:44,041 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 87.48 sec -2013-09-18 01:06:45,046 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 87.48 sec -2013-09-18 01:06:46,051 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 87.48 sec -2013-09-18 01:06:47,056 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 87.48 sec -2013-09-18 01:06:48,061 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 87.48 sec -2013-09-18 01:06:49,066 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 87.48 sec -2013-09-18 01:06:50,071 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 99.29 sec -2013-09-18 01:06:51,076 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 99.29 sec -2013-09-18 01:06:52,092 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 99.29 sec -2013-09-18 01:06:53,097 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 99.29 sec -2013-09-18 01:06:54,101 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 99.29 sec -2013-09-18 01:06:55,106 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 99.29 sec -2013-09-18 01:06:56,110 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 99.29 sec -2013-09-18 01:06:57,115 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 99.29 sec -2013-09-18 01:06:58,119 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 99.29 sec -2013-09-18 01:06:59,123 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 99.29 sec -2013-09-18 01:07:00,127 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 99.29 sec -2013-09-18 01:07:01,132 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 99.29 sec -2013-09-18 01:07:02,136 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 99.29 sec -2013-09-18 01:07:03,140 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 99.29 sec -2013-09-18 01:07:04,144 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 99.29 sec -2013-09-18 01:07:05,148 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 99.29 sec -2013-09-18 01:07:06,154 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 112.67 sec -2013-09-18 01:07:07,159 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 112.67 sec -2013-09-18 01:07:08,164 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 112.67 sec -MapReduce Total cumulative CPU time: 1 minutes 52 seconds 670 msec -Ended Job = job_201309172235_0142 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 729.12 sec HDFS Read: 1046532092 HDFS Write: 545445520 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 112.67 sec HDFS Read: 545449242 HDFS Write: 418 SUCCESS -Total MapReduce CPU Time Spent: 14 minutes 1 seconds 790 msec -OK -Time taken: 117.366 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_583@mturlrep13_201309180107_219916780.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0143 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:07:18,186 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:07:29,269 Stage-1 map = 4%, reduce = 0% -2013-09-18 01:07:30,388 Stage-1 map = 9%, reduce = 0% -2013-09-18 01:07:31,400 Stage-1 map = 11%, reduce = 0% -2013-09-18 01:07:32,410 Stage-1 map = 19%, reduce = 0% -2013-09-18 01:07:33,417 Stage-1 map = 20%, reduce = 0% -2013-09-18 01:07:34,436 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:07:35,442 Stage-1 map = 39%, reduce = 0% -2013-09-18 01:07:36,448 Stage-1 map = 42%, reduce = 0% -2013-09-18 01:07:37,463 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 36.86 sec -2013-09-18 01:07:38,488 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 89.65 sec -2013-09-18 01:07:39,524 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 170.2 sec -2013-09-18 01:07:40,544 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 229.86 sec -2013-09-18 01:07:41,573 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 524.54 sec -2013-09-18 01:07:42,584 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 543.69 sec -2013-09-18 01:07:43,591 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 583.3 sec -2013-09-18 01:07:44,597 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 583.3 sec -2013-09-18 01:07:45,602 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 583.3 sec -2013-09-18 01:07:46,609 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 583.3 sec -2013-09-18 01:07:47,617 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 583.3 sec -2013-09-18 01:07:48,627 Stage-1 map = 100%, reduce = 23%, Cumulative CPU 583.3 sec -2013-09-18 01:07:49,634 Stage-1 map = 100%, reduce = 35%, Cumulative CPU 583.3 sec -2013-09-18 01:07:50,641 Stage-1 map = 100%, reduce = 38%, Cumulative CPU 583.3 sec -2013-09-18 01:07:51,648 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 583.3 sec -2013-09-18 01:07:52,655 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 583.3 sec -2013-09-18 01:07:53,662 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 583.3 sec -2013-09-18 01:07:54,669 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 583.3 sec -2013-09-18 01:07:55,676 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 583.3 sec -2013-09-18 01:07:56,686 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 610.88 sec -2013-09-18 01:07:57,693 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 665.19 sec -2013-09-18 01:07:58,698 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 735.33 sec -2013-09-18 01:07:59,704 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 735.33 sec -MapReduce Total cumulative CPU time: 12 minutes 15 seconds 330 msec -Ended Job = job_201309172235_0143 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0144 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 01:08:02,196 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:08:13,229 Stage-2 map = 18%, reduce = 0% -2013-09-18 01:08:19,247 Stage-2 map = 37%, reduce = 0% -2013-09-18 01:08:26,358 Stage-2 map = 55%, reduce = 0% -2013-09-18 01:08:31,375 Stage-2 map = 73%, reduce = 0% -2013-09-18 01:08:34,385 Stage-2 map = 82%, reduce = 0% -2013-09-18 01:08:40,407 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 45.23 sec -2013-09-18 01:08:41,412 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 90.45 sec -2013-09-18 01:08:42,416 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 90.45 sec -2013-09-18 01:08:43,421 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 90.45 sec -2013-09-18 01:08:44,425 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 90.45 sec -2013-09-18 01:08:45,430 Stage-2 map = 92%, reduce = 0%, Cumulative CPU 90.45 sec -2013-09-18 01:08:46,435 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 96.92 sec -2013-09-18 01:08:47,441 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 96.92 sec -2013-09-18 01:08:48,446 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 96.92 sec -2013-09-18 01:08:49,451 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 96.92 sec -2013-09-18 01:08:50,457 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 96.92 sec -2013-09-18 01:08:51,461 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 96.92 sec -2013-09-18 01:08:52,467 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 96.92 sec -2013-09-18 01:08:53,472 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 96.92 sec -2013-09-18 01:08:54,477 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 96.92 sec -2013-09-18 01:08:55,482 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 96.92 sec -2013-09-18 01:08:56,488 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 96.92 sec -2013-09-18 01:08:57,499 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 96.92 sec -2013-09-18 01:08:58,504 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 109.55 sec -2013-09-18 01:08:59,510 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 109.55 sec -MapReduce Total cumulative CPU time: 1 minutes 49 seconds 550 msec -Ended Job = job_201309172235_0144 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 735.33 sec HDFS Read: 1046532092 HDFS Write: 545445520 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 109.55 sec HDFS Read: 545449242 HDFS Write: 418 SUCCESS -Total MapReduce CPU Time Spent: 14 minutes 4 seconds 880 msec -OK -Time taken: 109.524 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9002@mturlrep13_201309180109_1127417909.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0145 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:09:21,157 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:09:34,238 Stage-1 map = 1%, reduce = 0% -2013-09-18 01:09:37,271 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:09:38,281 Stage-1 map = 5%, reduce = 0% -2013-09-18 01:09:39,287 Stage-1 map = 6%, reduce = 0% -2013-09-18 01:09:40,293 Stage-1 map = 11%, reduce = 0% -2013-09-18 01:09:41,307 Stage-1 map = 15%, reduce = 0% -2013-09-18 01:09:42,344 Stage-1 map = 16%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:43,369 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:44,396 Stage-1 map = 21%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:45,410 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:46,422 Stage-1 map = 26%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:47,429 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:48,440 Stage-1 map = 34%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:49,454 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:50,470 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:51,477 Stage-1 map = 45%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:52,487 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:53,494 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:54,510 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:55,539 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:56,564 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:57,574 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:58,586 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:09:59,593 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:10:00,605 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:10:01,613 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 424.15 sec -2013-09-18 01:10:02,631 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 461.38 sec -2013-09-18 01:10:03,659 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 461.38 sec -2013-09-18 01:10:04,670 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 504.24 sec -2013-09-18 01:10:05,681 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 504.24 sec -2013-09-18 01:10:06,688 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 526.72 sec -2013-09-18 01:10:07,709 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 618.33 sec -2013-09-18 01:10:08,722 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 708.66 sec -2013-09-18 01:10:09,737 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 906.45 sec -2013-09-18 01:10:10,743 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 956.72 sec -2013-09-18 01:10:11,750 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 1148.71 sec -2013-09-18 01:10:12,756 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1258.63 sec -2013-09-18 01:10:13,762 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1258.63 sec -2013-09-18 01:10:14,770 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1288.05 sec -2013-09-18 01:10:15,777 Stage-1 map = 100%, reduce = 2%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:16,784 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:17,807 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:18,813 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:19,819 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:20,825 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:21,831 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:22,837 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:26,141 Stage-1 map = 100%, reduce = 45%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:27,147 Stage-1 map = 100%, reduce = 45%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:28,153 Stage-1 map = 100%, reduce = 48%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:29,328 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:30,334 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:31,340 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:32,346 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:33,352 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:34,359 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:36,108 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:37,114 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:38,121 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:39,470 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:40,477 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:41,483 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1356.32 sec -2013-09-18 01:10:42,629 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:45,862 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:48,964 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:49,969 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:50,976 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:51,982 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:52,988 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:53,993 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:54,999 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:56,005 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:57,010 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:58,016 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1569.69 sec -2013-09-18 01:10:59,021 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:00,027 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:01,033 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:02,038 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:03,043 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:04,049 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:06,499 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:07,504 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:08,509 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:09,513 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:10,519 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:12,086 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:13,091 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:14,097 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:15,102 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:16,108 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:17,635 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:18,641 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:21,528 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:24,908 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:25,914 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:26,919 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:27,926 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:28,931 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:29,959 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:30,966 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:31,971 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:33,303 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:34,309 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:35,315 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1569.69 sec -2013-09-18 01:11:36,321 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1607.57 sec -2013-09-18 01:11:37,327 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1607.57 sec -2013-09-18 01:11:38,336 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1728.83 sec -2013-09-18 01:11:39,342 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1812.48 sec -2013-09-18 01:11:40,348 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1812.48 sec -2013-09-18 01:11:41,354 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1812.48 sec -2013-09-18 01:11:42,360 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 2013.45 sec -2013-09-18 01:11:43,365 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2030.96 sec -2013-09-18 01:11:44,371 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2030.96 sec -MapReduce Total cumulative CPU time: 33 minutes 50 seconds 960 msec -Ended Job = job_201309172235_0145 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0146 -Hadoop job information for Stage-2: number of mappers: 14; number of reducers: 1 -2013-09-18 01:11:47,866 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:12:01,932 Stage-2 map = 2%, reduce = 0% -2013-09-18 01:12:04,943 Stage-2 map = 15%, reduce = 0% -2013-09-18 01:12:07,952 Stage-2 map = 19%, reduce = 0% -2013-09-18 01:12:09,062 Stage-2 map = 22%, reduce = 0% -2013-09-18 01:12:11,068 Stage-2 map = 26%, reduce = 0% -2013-09-18 01:12:15,081 Stage-2 map = 28%, reduce = 0% -2013-09-18 01:12:17,087 Stage-2 map = 34%, reduce = 0% -2013-09-18 01:12:18,091 Stage-2 map = 43%, reduce = 0% -2013-09-18 01:12:21,102 Stage-2 map = 48%, reduce = 0% -2013-09-18 01:12:23,108 Stage-2 map = 52%, reduce = 0% -2013-09-18 01:12:24,112 Stage-2 map = 64%, reduce = 0% -2013-09-18 01:12:30,131 Stage-2 map = 73%, reduce = 0% -2013-09-18 01:12:33,143 Stage-2 map = 78%, reduce = 0% -2013-09-18 01:12:35,159 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 54.68 sec -2013-09-18 01:12:36,935 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 54.68 sec -2013-09-18 01:12:37,940 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 54.68 sec -2013-09-18 01:12:38,945 Stage-2 map = 81%, reduce = 0%, Cumulative CPU 111.92 sec -2013-09-18 01:12:39,950 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 231.05 sec -2013-09-18 01:12:40,956 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 231.05 sec -2013-09-18 01:12:41,961 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 231.05 sec -2013-09-18 01:12:42,966 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 842.33 sec -2013-09-18 01:12:43,971 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 842.33 sec -2013-09-18 01:12:45,166 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 842.33 sec -2013-09-18 01:12:46,171 Stage-2 map = 86%, reduce = 10%, Cumulative CPU 845.72 sec -2013-09-18 01:12:47,176 Stage-2 map = 95%, reduce = 10%, Cumulative CPU 870.78 sec -2013-09-18 01:12:48,180 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 887.76 sec -2013-09-18 01:12:49,184 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 887.76 sec -2013-09-18 01:12:50,188 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 887.76 sec -2013-09-18 01:12:53,214 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 887.76 sec -2013-09-18 01:12:55,469 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 887.76 sec -2013-09-18 01:12:56,473 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 887.76 sec -2013-09-18 01:12:57,477 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 887.76 sec -2013-09-18 01:12:58,480 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 887.76 sec -2013-09-18 01:12:59,485 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 887.76 sec -2013-09-18 01:13:00,557 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 887.76 sec -2013-09-18 01:13:01,561 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 887.76 sec -2013-09-18 01:13:02,566 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 887.76 sec -2013-09-18 01:13:03,571 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 887.76 sec -2013-09-18 01:13:04,575 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 887.76 sec -2013-09-18 01:13:05,579 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 887.76 sec -2013-09-18 01:13:06,583 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 887.76 sec -2013-09-18 01:13:10,271 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.76 sec -2013-09-18 01:13:11,275 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.76 sec -2013-09-18 01:13:12,279 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.76 sec -2013-09-18 01:13:13,283 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.76 sec -2013-09-18 01:13:14,287 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.76 sec -2013-09-18 01:13:15,291 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.76 sec -2013-09-18 01:13:16,295 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.76 sec -2013-09-18 01:13:17,544 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.76 sec -2013-09-18 01:13:18,548 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.76 sec -2013-09-18 01:13:19,552 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.76 sec -2013-09-18 01:13:21,226 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 887.76 sec -2013-09-18 01:13:22,398 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 887.76 sec -2013-09-18 01:13:26,427 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 887.76 sec -2013-09-18 01:13:27,431 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 887.76 sec -2013-09-18 01:13:28,435 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 887.76 sec -2013-09-18 01:13:29,440 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 887.76 sec -2013-09-18 01:13:30,447 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 887.76 sec -2013-09-18 01:13:31,451 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 887.76 sec -2013-09-18 01:13:32,455 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:33,459 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:34,463 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:35,467 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:36,471 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:37,475 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:38,520 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:39,524 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:40,528 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:41,533 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 887.76 sec -2013-09-18 01:13:42,538 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 947.26 sec -2013-09-18 01:13:43,543 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 947.26 sec -2013-09-18 01:13:44,548 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:45,553 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:46,557 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:47,561 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:48,566 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:49,570 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:50,574 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:51,662 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:52,666 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:57,873 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:58,877 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:13:59,880 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:14:00,884 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:14:01,888 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:14:02,892 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:14:03,895 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:14:04,899 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:14:05,903 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 947.26 sec -2013-09-18 01:14:10,178 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 976.07 sec -2013-09-18 01:14:11,182 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 976.07 sec -2013-09-18 01:14:12,187 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 976.07 sec -MapReduce Total cumulative CPU time: 16 minutes 16 seconds 70 msec -Ended Job = job_201309172235_0146 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 2030.96 sec HDFS Read: 869197327 HDFS Write: 4140713341 SUCCESS -Job 1: Map: 14 Reduce: 1 Cumulative CPU: 976.07 sec HDFS Read: 4140841812 HDFS Write: 415 SUCCESS -Total MapReduce CPU Time Spent: 50 minutes 7 seconds 30 msec -OK -Time taken: 301.77 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19253@mturlrep13_201309180114_1319337284.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0147 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:14:21,934 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:14:38,062 Stage-1 map = 3%, reduce = 0% -2013-09-18 01:14:39,067 Stage-1 map = 4%, reduce = 0% -2013-09-18 01:14:40,081 Stage-1 map = 5%, reduce = 0% -2013-09-18 01:14:41,089 Stage-1 map = 9%, reduce = 0% -2013-09-18 01:14:42,106 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:43,120 Stage-1 map = 15%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:44,128 Stage-1 map = 19%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:45,134 Stage-1 map = 27%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:46,141 Stage-1 map = 27%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:47,152 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:48,158 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:49,164 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:50,177 Stage-1 map = 38%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:51,183 Stage-1 map = 45%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:52,193 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:53,199 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:54,206 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:55,212 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:56,218 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:57,225 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:58,236 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:14:59,256 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 456.6 sec -2013-09-18 01:15:00,265 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 472.96 sec -2013-09-18 01:15:01,273 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 472.96 sec -2013-09-18 01:15:02,279 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 472.96 sec -2013-09-18 01:15:03,289 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 472.96 sec -2013-09-18 01:15:04,295 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 472.96 sec -2013-09-18 01:15:05,301 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 535.78 sec -2013-09-18 01:15:06,312 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 600.59 sec -2013-09-18 01:15:07,321 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 709.5 sec -2013-09-18 01:15:08,347 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 776.98 sec -2013-09-18 01:15:09,362 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 945.32 sec -2013-09-18 01:15:10,368 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 1072.86 sec -2013-09-18 01:15:11,374 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 1125.81 sec -2013-09-18 01:15:12,400 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1285.77 sec -2013-09-18 01:15:13,406 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1285.77 sec -2013-09-18 01:15:14,411 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1285.77 sec -2013-09-18 01:15:15,418 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:16,425 Stage-1 map = 100%, reduce = 7%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:17,452 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:18,458 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:19,463 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:20,469 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:21,475 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:23,349 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:24,354 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:25,360 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:26,368 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:27,374 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:29,096 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:30,102 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:31,107 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:32,113 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:33,119 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:34,124 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:35,356 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:36,362 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:37,368 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:38,374 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:39,379 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:40,385 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:41,390 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1349.28 sec -2013-09-18 01:15:43,287 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:44,293 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:45,299 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:46,306 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:47,312 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:48,318 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:49,324 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:50,329 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:51,335 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:52,341 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:53,347 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:54,353 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:57,177 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:58,183 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1558.8 sec -2013-09-18 01:15:59,188 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1558.8 sec -2013-09-18 01:16:00,499 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:01,505 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:02,511 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:03,517 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:04,524 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:05,551 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:06,557 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:07,562 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:08,567 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:09,573 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:10,583 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:11,588 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:12,594 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:13,600 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:14,606 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:16,677 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:17,682 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:20,073 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:21,079 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:23,600 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:24,606 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:25,614 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:26,620 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:27,625 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:28,631 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:29,637 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:30,642 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:31,648 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:32,654 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:33,660 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:34,666 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1536.68 sec -2013-09-18 01:16:35,672 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1613.31 sec -2013-09-18 01:16:37,443 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1656.62 sec -2013-09-18 01:16:38,449 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1742.64 sec -2013-09-18 01:16:39,455 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1879.43 sec -2013-09-18 01:16:40,460 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1970.65 sec -2013-09-18 01:16:41,465 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1970.65 sec -2013-09-18 01:16:43,070 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:44,076 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:45,081 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:46,086 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:47,092 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:50,460 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:51,564 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:52,760 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:53,765 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:54,771 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:55,776 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:16:56,781 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:00,159 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:01,164 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:02,169 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:03,175 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:04,180 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:05,185 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:06,189 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:07,194 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:08,199 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1997.98 sec -2013-09-18 01:17:09,934 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2024.84 sec -2013-09-18 01:17:10,938 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2024.84 sec -MapReduce Total cumulative CPU time: 33 minutes 44 seconds 840 msec -Ended Job = job_201309172235_0147 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0148 -Hadoop job information for Stage-2: number of mappers: 14; number of reducers: 1 -2013-09-18 01:17:14,417 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:17:27,528 Stage-2 map = 1%, reduce = 0% -2013-09-18 01:17:28,533 Stage-2 map = 2%, reduce = 0% -2013-09-18 01:17:31,543 Stage-2 map = 22%, reduce = 0% -2013-09-18 01:17:37,560 Stage-2 map = 28%, reduce = 0% -2013-09-18 01:17:40,569 Stage-2 map = 43%, reduce = 0% -2013-09-18 01:17:46,588 Stage-2 map = 53%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:47,592 Stage-2 map = 53%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:48,597 Stage-2 map = 53%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:49,601 Stage-2 map = 64%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:50,606 Stage-2 map = 64%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:51,611 Stage-2 map = 64%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:52,616 Stage-2 map = 70%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:53,621 Stage-2 map = 70%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:55,731 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:56,736 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:57,740 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 446.67 sec -2013-09-18 01:17:58,745 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 467.91 sec -2013-09-18 01:17:59,749 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 467.91 sec -2013-09-18 01:18:00,757 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 467.91 sec -2013-09-18 01:18:01,762 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 467.91 sec -2013-09-18 01:18:02,767 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 467.91 sec -2013-09-18 01:18:03,771 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 547.4 sec -2013-09-18 01:18:04,776 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 547.4 sec -2013-09-18 01:18:05,781 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 547.4 sec -2013-09-18 01:18:06,786 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 547.4 sec -2013-09-18 01:18:07,791 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 547.4 sec -2013-09-18 01:18:09,462 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 547.4 sec -2013-09-18 01:18:10,467 Stage-2 map = 88%, reduce = 10%, Cumulative CPU 613.28 sec -2013-09-18 01:18:11,472 Stage-2 map = 95%, reduce = 10%, Cumulative CPU 782.49 sec -2013-09-18 01:18:12,482 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 886.7 sec -2013-09-18 01:18:13,487 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 886.7 sec -2013-09-18 01:18:14,491 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 886.7 sec -2013-09-18 01:18:15,496 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 886.7 sec -2013-09-18 01:18:16,501 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 886.7 sec -2013-09-18 01:18:17,505 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 886.7 sec -2013-09-18 01:18:18,510 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 886.7 sec -2013-09-18 01:18:19,566 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 886.7 sec -2013-09-18 01:18:20,571 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 886.7 sec -2013-09-18 01:18:21,574 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 886.7 sec -2013-09-18 01:18:22,578 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 886.7 sec -2013-09-18 01:18:23,583 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 886.7 sec -2013-09-18 01:18:24,587 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 886.7 sec -2013-09-18 01:18:25,592 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 886.7 sec -2013-09-18 01:18:26,597 Stage-2 map = 100%, reduce = 14%, Cumulative CPU 886.7 sec -2013-09-18 01:18:27,680 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 886.7 sec -2013-09-18 01:18:28,684 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 886.7 sec -2013-09-18 01:18:29,689 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 886.7 sec -2013-09-18 01:18:30,693 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 886.7 sec -2013-09-18 01:18:31,698 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 886.7 sec -2013-09-18 01:18:32,702 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 886.7 sec -2013-09-18 01:18:34,644 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 886.7 sec -2013-09-18 01:18:35,648 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 886.7 sec -2013-09-18 01:18:36,653 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 886.7 sec -2013-09-18 01:18:37,657 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 886.7 sec -2013-09-18 01:18:38,662 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 886.7 sec -2013-09-18 01:18:39,666 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 886.7 sec -2013-09-18 01:18:40,670 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 886.7 sec -2013-09-18 01:18:41,674 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 886.7 sec -2013-09-18 01:18:42,679 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 924.39 sec -2013-09-18 01:18:43,683 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 924.39 sec -2013-09-18 01:18:44,687 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 924.39 sec -2013-09-18 01:18:49,434 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 924.39 sec -2013-09-18 01:18:50,438 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 924.39 sec -2013-09-18 01:18:51,443 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 924.39 sec -2013-09-18 01:18:52,448 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 924.39 sec -2013-09-18 01:18:53,452 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 924.39 sec -2013-09-18 01:18:54,457 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 924.39 sec -2013-09-18 01:18:55,461 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:18:56,465 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:18:57,469 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:18:58,473 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:18:59,477 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:19:00,481 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:19:05,293 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:19:06,297 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:19:07,301 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:19:08,306 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:19:09,310 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:19:10,314 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 924.39 sec -2013-09-18 01:19:11,319 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:12,323 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:13,331 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:14,336 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:16,921 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:17,927 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:18,931 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:19,935 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:20,939 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:21,943 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:22,947 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:23,951 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:24,955 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:25,959 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:26,963 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:27,966 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:28,970 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:29,974 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:30,977 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:31,981 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:32,985 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:33,989 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:34,992 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:35,996 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 924.39 sec -2013-09-18 01:19:37,001 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 976.38 sec -2013-09-18 01:19:38,006 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 976.38 sec -2013-09-18 01:19:39,010 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 976.38 sec -MapReduce Total cumulative CPU time: 16 minutes 16 seconds 380 msec -Ended Job = job_201309172235_0148 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 2024.84 sec HDFS Read: 869197327 HDFS Write: 4140713341 SUCCESS -Job 1: Map: 14 Reduce: 1 Cumulative CPU: 976.38 sec HDFS Read: 4140841812 HDFS Write: 417 SUCCESS -Total MapReduce CPU Time Spent: 50 minutes 1 seconds 220 msec -OK -Time taken: 324.867 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29643@mturlrep13_201309180119_1843662809.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0149 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:19:49,884 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:20:04,981 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:20:05,998 Stage-1 map = 3%, reduce = 0% -2013-09-18 01:20:08,008 Stage-1 map = 9%, reduce = 0% -2013-09-18 01:20:09,017 Stage-1 map = 14%, reduce = 0% -2013-09-18 01:20:11,035 Stage-1 map = 16%, reduce = 0% -2013-09-18 01:20:12,040 Stage-1 map = 26%, reduce = 0% -2013-09-18 01:20:13,052 Stage-1 map = 27%, reduce = 0% -2013-09-18 01:20:14,066 Stage-1 map = 28%, reduce = 0% -2013-09-18 01:20:15,083 Stage-1 map = 35%, reduce = 0% -2013-09-18 01:20:16,111 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:20:17,123 Stage-1 map = 37%, reduce = 0% -2013-09-18 01:20:18,128 Stage-1 map = 45%, reduce = 0% -2013-09-18 01:20:19,164 Stage-1 map = 47%, reduce = 0% -2013-09-18 01:20:21,208 Stage-1 map = 55%, reduce = 0% -2013-09-18 01:20:22,215 Stage-1 map = 58%, reduce = 0% -2013-09-18 01:20:24,224 Stage-1 map = 65%, reduce = 0% -2013-09-18 01:20:25,234 Stage-1 map = 68%, reduce = 0% -2013-09-18 01:20:27,288 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 28.16 sec -2013-09-18 01:20:28,302 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 28.16 sec -2013-09-18 01:20:29,308 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 28.16 sec -2013-09-18 01:20:30,314 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 92.89 sec -2013-09-18 01:20:31,331 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 92.89 sec -2013-09-18 01:20:32,346 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 193.14 sec -2013-09-18 01:20:33,367 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 259.68 sec -2013-09-18 01:20:34,384 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 362.61 sec -2013-09-18 01:20:35,420 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 431.76 sec -2013-09-18 01:20:36,426 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 683.06 sec -2013-09-18 01:20:37,432 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 832.82 sec -2013-09-18 01:20:38,438 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 1057.56 sec -2013-09-18 01:20:39,444 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1253.19 sec -2013-09-18 01:20:40,455 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 1253.19 sec -2013-09-18 01:20:41,462 Stage-1 map = 99%, reduce = 1%, Cumulative CPU 1253.19 sec -2013-09-18 01:20:42,468 Stage-1 map = 99%, reduce = 4%, Cumulative CPU 1297.77 sec -2013-09-18 01:20:43,475 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:44,481 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:45,487 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:46,493 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:47,499 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:48,505 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:49,534 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:50,540 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:51,546 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:52,552 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:53,962 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:54,968 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:55,973 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:56,979 Stage-1 map = 100%, reduce = 48%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:57,988 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1357.14 sec -2013-09-18 01:20:59,065 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:00,071 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:01,077 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:02,083 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:03,089 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:04,198 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:05,204 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:06,211 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:07,217 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:08,223 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:09,720 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:10,726 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:11,732 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:12,738 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:13,744 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:16,687 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:17,693 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:18,698 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:19,707 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:20,715 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:21,721 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:25,701 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:26,707 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:28,607 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:29,613 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:30,619 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:31,625 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:32,630 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:33,636 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:34,641 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:35,646 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:37,031 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:38,037 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:39,043 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:40,049 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:41,055 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:42,060 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1357.14 sec -2013-09-18 01:21:43,068 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:44,074 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:45,080 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:46,963 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:47,969 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:48,975 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:52,859 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:54,438 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:55,444 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:57,237 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1852.58 sec -2013-09-18 01:21:58,259 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1873.66 sec -2013-09-18 01:21:59,265 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1873.66 sec -2013-09-18 01:22:00,270 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1873.66 sec -2013-09-18 01:22:01,276 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1886.44 sec -2013-09-18 01:22:02,282 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1886.44 sec -2013-09-18 01:22:03,288 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1961.16 sec -2013-09-18 01:22:04,293 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1978.53 sec -2013-09-18 01:22:05,299 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2014.08 sec -2013-09-18 01:22:06,305 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2014.08 sec -2013-09-18 01:22:07,310 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2014.08 sec -MapReduce Total cumulative CPU time: 33 minutes 34 seconds 80 msec -Ended Job = job_201309172235_0149 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0150 -Hadoop job information for Stage-2: number of mappers: 14; number of reducers: 1 -2013-09-18 01:22:10,699 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:22:27,319 Stage-2 map = 5%, reduce = 0% -2013-09-18 01:22:30,330 Stage-2 map = 22%, reduce = 0% -2013-09-18 01:22:33,340 Stage-2 map = 25%, reduce = 0% -2013-09-18 01:22:36,352 Stage-2 map = 31%, reduce = 0% -2013-09-18 01:22:39,362 Stage-2 map = 43%, reduce = 0% -2013-09-18 01:22:42,371 Stage-2 map = 52%, reduce = 0% -2013-09-18 01:22:45,406 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:46,420 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:47,425 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:48,431 Stage-2 map = 64%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:49,436 Stage-2 map = 64%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:50,441 Stage-2 map = 64%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:51,446 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:54,870 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:55,875 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:56,880 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 517.66 sec -2013-09-18 01:22:57,885 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 533.57 sec -2013-09-18 01:23:00,883 Stage-2 map = 79%, reduce = 0%, Cumulative CPU 533.57 sec -2013-09-18 01:23:01,889 Stage-2 map = 81%, reduce = 0%, Cumulative CPU 553.42 sec -2013-09-18 01:23:02,895 Stage-2 map = 81%, reduce = 0%, Cumulative CPU 553.42 sec -2013-09-18 01:23:03,900 Stage-2 map = 81%, reduce = 0%, Cumulative CPU 553.42 sec -2013-09-18 01:23:04,905 Stage-2 map = 81%, reduce = 0%, Cumulative CPU 553.42 sec -2013-09-18 01:23:06,469 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 597.6 sec -2013-09-18 01:23:07,474 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 597.6 sec -2013-09-18 01:23:08,479 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 597.6 sec -2013-09-18 01:23:09,483 Stage-2 map = 88%, reduce = 10%, Cumulative CPU 653.66 sec -2013-09-18 01:23:10,488 Stage-2 map = 92%, reduce = 10%, Cumulative CPU 738.42 sec -2013-09-18 01:23:11,492 Stage-2 map = 98%, reduce = 10%, Cumulative CPU 857.27 sec -2013-09-18 01:23:12,884 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 887.38 sec -2013-09-18 01:23:14,634 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 887.38 sec -2013-09-18 01:23:15,638 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 887.38 sec -2013-09-18 01:23:16,643 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 887.38 sec -2013-09-18 01:23:17,648 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 887.38 sec -2013-09-18 01:23:18,652 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 887.38 sec -2013-09-18 01:23:19,657 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 887.38 sec -2013-09-18 01:23:20,662 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 887.38 sec -2013-09-18 01:23:21,667 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 887.38 sec -2013-09-18 01:23:22,671 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 887.38 sec -2013-09-18 01:23:23,797 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 887.38 sec -2013-09-18 01:23:24,801 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 887.38 sec -2013-09-18 01:23:25,806 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 887.38 sec -2013-09-18 01:23:26,811 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.38 sec -2013-09-18 01:23:27,815 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.38 sec -2013-09-18 01:23:28,820 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.38 sec -2013-09-18 01:23:29,825 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.38 sec -2013-09-18 01:23:31,274 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.38 sec -2013-09-18 01:23:32,278 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.38 sec -2013-09-18 01:23:33,283 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 887.38 sec -2013-09-18 01:23:34,287 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 887.38 sec -2013-09-18 01:23:35,291 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 887.38 sec -2013-09-18 01:23:36,295 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 887.38 sec -2013-09-18 01:23:37,300 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.38 sec -2013-09-18 01:23:38,305 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.38 sec -2013-09-18 01:23:39,310 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.38 sec -2013-09-18 01:23:41,159 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.38 sec -2013-09-18 01:23:42,164 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.38 sec -2013-09-18 01:23:43,170 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 887.38 sec -2013-09-18 01:23:44,175 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 923.46 sec -2013-09-18 01:23:47,083 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 923.46 sec -2013-09-18 01:23:53,300 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 923.46 sec -2013-09-18 01:23:54,304 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 923.46 sec -2013-09-18 01:23:55,307 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 923.46 sec -2013-09-18 01:23:56,311 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:23:57,314 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:23:58,318 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:23:59,322 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:24:00,325 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:24:01,329 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:24:02,333 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:24:03,337 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:24:08,423 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:24:09,427 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:24:10,431 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 923.46 sec -2013-09-18 01:24:11,435 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:12,439 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:13,442 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:14,446 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:15,450 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:16,454 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:17,458 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:18,462 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:19,893 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:20,896 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:21,900 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:22,904 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:23,908 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:24,918 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:25,922 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:26,926 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:27,929 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:28,932 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:29,936 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:30,939 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:31,943 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:32,947 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 923.46 sec -2013-09-18 01:24:33,952 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 975.78 sec -2013-09-18 01:24:34,957 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 975.78 sec -MapReduce Total cumulative CPU time: 16 minutes 15 seconds 780 msec -Ended Job = job_201309172235_0150 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 2014.08 sec HDFS Read: 869197327 HDFS Write: 4140713341 SUCCESS -Job 1: Map: 14 Reduce: 1 Cumulative CPU: 975.78 sec HDFS Read: 4140841812 HDFS Write: 419 SUCCESS -Total MapReduce CPU Time Spent: 49 minutes 49 seconds 860 msec -OK -Time taken: 294.034 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но ещё и без фильтрации.; - - -times: 1 -query: SELECT URL, count(*) AS c FROM hits_100m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7945@mturlrep13_201309180124_199584274.txt -hive> SELECT URL, count(*) AS c FROM hits_100m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0151 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:24:53,603 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:25:03,695 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:25:04,700 Stage-1 map = 3%, reduce = 0% -2013-09-18 01:25:09,065 Stage-1 map = 17%, reduce = 0% -2013-09-18 01:25:10,073 Stage-1 map = 22%, reduce = 0% -2013-09-18 01:25:11,078 Stage-1 map = 28%, reduce = 0% -2013-09-18 01:25:12,084 Stage-1 map = 31%, reduce = 0% -2013-09-18 01:25:13,091 Stage-1 map = 34%, reduce = 0% -2013-09-18 01:25:14,104 Stage-1 map = 44%, reduce = 0% -2013-09-18 01:25:15,116 Stage-1 map = 47%, reduce = 0% -2013-09-18 01:25:16,125 Stage-1 map = 50%, reduce = 0% -2013-09-18 01:25:17,131 Stage-1 map = 57%, reduce = 0% -2013-09-18 01:25:18,139 Stage-1 map = 61%, reduce = 0% -2013-09-18 01:25:20,170 Stage-1 map = 64%, reduce = 0% -2013-09-18 01:25:21,175 Stage-1 map = 66%, reduce = 0% -2013-09-18 01:25:22,187 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 17.87 sec -2013-09-18 01:25:23,203 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 38.23 sec -2013-09-18 01:25:24,213 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 80.85 sec -2013-09-18 01:25:25,223 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 123.43 sec -2013-09-18 01:25:26,229 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 191.82 sec -2013-09-18 01:25:27,236 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 236.59 sec -2013-09-18 01:25:28,248 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 236.59 sec -2013-09-18 01:25:29,255 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 284.0 sec -2013-09-18 01:25:30,261 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 284.0 sec -2013-09-18 01:25:31,273 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 284.0 sec -2013-09-18 01:25:32,278 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 284.0 sec -2013-09-18 01:25:33,284 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 284.0 sec -2013-09-18 01:25:34,290 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 428.41 sec -2013-09-18 01:25:35,759 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 428.41 sec -2013-09-18 01:25:36,772 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 428.41 sec -2013-09-18 01:25:37,778 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 428.41 sec -2013-09-18 01:25:38,785 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 565.42 sec -2013-09-18 01:25:41,597 Stage-1 map = 94%, reduce = 15%, Cumulative CPU 565.42 sec -2013-09-18 01:25:45,549 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 1109.57 sec -2013-09-18 01:25:46,775 Stage-1 map = 99%, reduce = 17%, Cumulative CPU 1121.14 sec -2013-09-18 01:25:47,781 Stage-1 map = 99%, reduce = 17%, Cumulative CPU 1123.73 sec -2013-09-18 01:25:48,787 Stage-1 map = 99%, reduce = 17%, Cumulative CPU 1123.73 sec -2013-09-18 01:25:49,792 Stage-1 map = 99%, reduce = 17%, Cumulative CPU 1123.73 sec -2013-09-18 01:25:50,799 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1123.73 sec -2013-09-18 01:25:51,805 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 1123.73 sec -2013-09-18 01:25:52,811 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 1130.32 sec -2013-09-18 01:25:53,816 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 1130.32 sec -2013-09-18 01:25:55,206 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 1130.32 sec -2013-09-18 01:25:56,212 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 1130.32 sec -2013-09-18 01:25:57,221 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1130.32 sec -2013-09-18 01:25:58,227 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1130.32 sec -2013-09-18 01:25:59,260 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:00,267 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:01,273 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:02,279 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:03,286 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:04,292 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:09,638 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:10,644 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:14,140 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:15,145 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:16,152 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:17,158 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:18,165 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:19,170 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:20,177 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:21,183 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:22,189 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:23,194 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:24,203 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:25,208 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:26,409 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:27,415 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:28,420 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:29,426 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:30,432 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:31,439 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:33,621 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:34,626 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:35,631 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:36,637 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:37,643 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:38,648 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:40,155 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:41,161 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:43,159 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1130.32 sec -2013-09-18 01:26:44,308 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1494.96 sec -2013-09-18 01:26:45,314 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1494.96 sec -2013-09-18 01:26:46,518 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1494.96 sec -2013-09-18 01:26:47,523 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1494.96 sec -2013-09-18 01:26:48,532 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1494.96 sec -2013-09-18 01:26:49,538 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1526.79 sec -2013-09-18 01:26:50,543 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1526.79 sec -MapReduce Total cumulative CPU time: 25 minutes 26 seconds 790 msec -Ended Job = job_201309172235_0151 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0152 -Hadoop job information for Stage-2: number of mappers: 14; number of reducers: 1 -2013-09-18 01:27:03,639 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:27:11,681 Stage-2 map = 9%, reduce = 0% -2013-09-18 01:27:12,685 Stage-2 map = 12%, reduce = 0% -2013-09-18 01:27:15,339 Stage-2 map = 32%, reduce = 0% -2013-09-18 01:27:18,350 Stage-2 map = 59%, reduce = 0% -2013-09-18 01:27:21,361 Stage-2 map = 78%, reduce = 0% -2013-09-18 01:27:23,369 Stage-2 map = 81%, reduce = 0%, Cumulative CPU 47.02 sec -2013-09-18 01:27:24,374 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 142.27 sec -2013-09-18 01:27:25,378 Stage-2 map = 90%, reduce = 0%, Cumulative CPU 190.85 sec -2013-09-18 01:27:26,383 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.83 sec -2013-09-18 01:27:27,388 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.83 sec -2013-09-18 01:27:28,392 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.83 sec -2013-09-18 01:27:29,400 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.83 sec -2013-09-18 01:27:30,405 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.83 sec -2013-09-18 01:27:31,411 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.83 sec -2013-09-18 01:27:32,416 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.83 sec -2013-09-18 01:27:33,421 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 350.83 sec -2013-09-18 01:27:34,425 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 350.83 sec -2013-09-18 01:27:35,430 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 350.83 sec -2013-09-18 01:27:36,435 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 350.83 sec -2013-09-18 01:27:37,440 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 350.83 sec -2013-09-18 01:27:38,445 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 350.83 sec -2013-09-18 01:27:39,453 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 350.83 sec -2013-09-18 01:27:40,457 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 350.83 sec -2013-09-18 01:27:41,461 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 350.83 sec -2013-09-18 01:27:42,466 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 350.83 sec -2013-09-18 01:27:43,471 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 350.83 sec -2013-09-18 01:27:44,508 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 368.28 sec -2013-09-18 01:27:45,513 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 368.28 sec -2013-09-18 01:27:46,517 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 368.28 sec -2013-09-18 01:27:47,522 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 368.28 sec -2013-09-18 01:27:48,527 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 368.28 sec -2013-09-18 01:27:50,078 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 368.28 sec -2013-09-18 01:27:51,083 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 368.28 sec -2013-09-18 01:27:52,091 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 368.28 sec -2013-09-18 01:27:53,096 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 368.28 sec -2013-09-18 01:27:54,100 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 368.28 sec -2013-09-18 01:27:55,105 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 368.28 sec -2013-09-18 01:27:56,109 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 368.28 sec -2013-09-18 01:27:58,555 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 368.28 sec -2013-09-18 01:27:59,560 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 368.28 sec -2013-09-18 01:28:00,564 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 368.28 sec -2013-09-18 01:28:02,601 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 368.28 sec -2013-09-18 01:28:03,606 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 368.28 sec -2013-09-18 01:28:04,611 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 368.28 sec -2013-09-18 01:28:05,616 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 368.28 sec -2013-09-18 01:28:06,621 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 368.28 sec -2013-09-18 01:28:07,625 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 368.28 sec -2013-09-18 01:28:08,630 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 368.28 sec -2013-09-18 01:28:09,635 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:10,639 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:11,644 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:12,648 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:13,653 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:14,657 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:15,662 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:16,666 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:17,671 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:18,675 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:19,679 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:20,684 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:21,688 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:22,692 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:23,696 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:24,700 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:29,545 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:31,146 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:32,150 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:33,154 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:34,158 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 368.28 sec -2013-09-18 01:28:35,163 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 400.78 sec -2013-09-18 01:28:36,169 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 400.78 sec -2013-09-18 01:28:37,173 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 400.78 sec -MapReduce Total cumulative CPU time: 6 minutes 40 seconds 780 msec -Ended Job = job_201309172235_0152 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1526.79 sec HDFS Read: 882764316 HDFS Write: 4155848594 SUCCESS -Job 1: Map: 14 Reduce: 1 Cumulative CPU: 400.78 sec HDFS Read: 4156020610 HDFS Write: 399 SUCCESS -Total MapReduce CPU Time Spent: 32 minutes 7 seconds 570 msec -OK -Time taken: 233.937 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT URL, count(*) AS c FROM hits_100m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17325@mturlrep13_201309180128_811787741.txt -hive> SELECT URL, count(*) AS c FROM hits_100m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0153 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:28:48,068 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:28:58,179 Stage-1 map = 7%, reduce = 0% -2013-09-18 01:29:01,193 Stage-1 map = 12%, reduce = 0% -2013-09-18 01:29:02,199 Stage-1 map = 16%, reduce = 0% -2013-09-18 01:29:03,232 Stage-1 map = 18%, reduce = 0% -2013-09-18 01:29:04,245 Stage-1 map = 25%, reduce = 0% -2013-09-18 01:29:05,251 Stage-1 map = 34%, reduce = 0% -2013-09-18 01:29:06,256 Stage-1 map = 38%, reduce = 0% -2013-09-18 01:29:07,261 Stage-1 map = 44%, reduce = 0% -2013-09-18 01:29:08,269 Stage-1 map = 50%, reduce = 0% -2013-09-18 01:29:09,284 Stage-1 map = 56%, reduce = 0% -2013-09-18 01:29:10,289 Stage-1 map = 57%, reduce = 0% -2013-09-18 01:29:11,317 Stage-1 map = 60%, reduce = 0% -2013-09-18 01:29:12,323 Stage-1 map = 63%, reduce = 0% -2013-09-18 01:29:13,344 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 17.02 sec -2013-09-18 01:29:14,380 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 17.02 sec -2013-09-18 01:29:15,404 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 57.53 sec -2013-09-18 01:29:16,412 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 98.75 sec -2013-09-18 01:29:17,422 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 119.1 sec -2013-09-18 01:29:18,433 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 183.33 sec -2013-09-18 01:29:19,440 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 229.01 sec -2013-09-18 01:29:20,451 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 229.01 sec -2013-09-18 01:29:21,457 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 229.01 sec -2013-09-18 01:29:22,468 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 276.95 sec -2013-09-18 01:29:23,483 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 276.95 sec -2013-09-18 01:29:24,490 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 276.95 sec -2013-09-18 01:29:25,502 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 362.44 sec -2013-09-18 01:29:26,510 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 362.44 sec -2013-09-18 01:29:29,051 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 392.77 sec -2013-09-18 01:29:35,351 Stage-1 map = 94%, reduce = 15%, Cumulative CPU 521.09 sec -2013-09-18 01:29:37,211 Stage-1 map = 98%, reduce = 15%, Cumulative CPU 907.91 sec -2013-09-18 01:29:38,217 Stage-1 map = 99%, reduce = 15%, Cumulative CPU 946.27 sec -2013-09-18 01:29:39,222 Stage-1 map = 99%, reduce = 15%, Cumulative CPU 946.27 sec -2013-09-18 01:29:40,228 Stage-1 map = 99%, reduce = 16%, Cumulative CPU 946.27 sec -2013-09-18 01:29:41,234 Stage-1 map = 99%, reduce = 17%, Cumulative CPU 946.27 sec -2013-09-18 01:29:42,239 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 946.27 sec -2013-09-18 01:29:43,245 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 946.27 sec -2013-09-18 01:29:44,252 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1126.33 sec -2013-09-18 01:29:45,257 Stage-1 map = 100%, reduce = 19%, Cumulative CPU 1126.92 sec -2013-09-18 01:29:46,262 Stage-1 map = 100%, reduce = 19%, Cumulative CPU 1126.92 sec -2013-09-18 01:29:47,268 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 1126.92 sec -2013-09-18 01:29:48,275 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 1126.92 sec -2013-09-18 01:29:49,281 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 1126.92 sec -2013-09-18 01:29:50,287 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1126.92 sec -2013-09-18 01:29:51,294 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1126.92 sec -2013-09-18 01:29:54,543 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1126.92 sec -2013-09-18 01:29:55,549 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1126.92 sec -2013-09-18 01:29:56,556 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:01,304 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:02,310 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:03,316 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:04,324 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:05,852 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:06,858 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:08,923 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:09,929 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:11,956 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:12,962 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:13,969 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:14,974 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:15,978 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:16,984 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:21,891 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:22,897 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:23,902 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:24,908 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:26,217 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:27,223 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:28,229 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:29,235 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:30,240 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:31,246 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:32,252 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:33,258 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:34,263 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:35,269 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:36,274 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:38,613 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:39,619 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:40,625 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:41,630 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:42,636 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:43,641 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:44,647 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:45,651 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:46,656 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:47,661 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:48,666 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:49,671 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:50,676 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:51,681 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:52,685 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:53,691 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1126.92 sec -2013-09-18 01:30:54,698 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:30:55,703 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:30:56,708 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:30:57,714 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:30:58,719 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:30:59,724 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:31:00,730 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:31:01,739 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:31:02,744 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:31:03,750 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:31:04,755 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:31:05,759 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1511.04 sec -2013-09-18 01:31:09,986 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1512.0 sec -2013-09-18 01:31:11,626 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1513.29 sec -2013-09-18 01:31:12,632 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1513.29 sec -2013-09-18 01:31:14,618 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1513.29 sec -2013-09-18 01:31:15,624 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1513.29 sec -2013-09-18 01:31:16,629 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1515.81 sec -2013-09-18 01:31:20,387 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1518.52 sec -2013-09-18 01:31:21,393 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1518.52 sec -MapReduce Total cumulative CPU time: 25 minutes 18 seconds 520 msec -Ended Job = job_201309172235_0153 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0154 -Hadoop job information for Stage-2: number of mappers: 14; number of reducers: 1 -2013-09-18 01:31:35,149 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:31:42,177 Stage-2 map = 13%, reduce = 0% -2013-09-18 01:31:45,189 Stage-2 map = 19%, reduce = 0% -2013-09-18 01:31:46,194 Stage-2 map = 36%, reduce = 0% -2013-09-18 01:31:49,205 Stage-2 map = 73%, reduce = 0% -2013-09-18 01:31:52,217 Stage-2 map = 82%, reduce = 0%, Cumulative CPU 45.62 sec -2013-09-18 01:31:53,223 Stage-2 map = 89%, reduce = 0%, Cumulative CPU 162.4 sec -2013-09-18 01:31:54,251 Stage-2 map = 94%, reduce = 0%, Cumulative CPU 239.19 sec -2013-09-18 01:31:55,256 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 346.31 sec -2013-09-18 01:31:56,260 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 346.31 sec -2013-09-18 01:31:57,265 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 346.31 sec -2013-09-18 01:31:58,270 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 346.31 sec -2013-09-18 01:31:59,275 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 346.31 sec -2013-09-18 01:32:00,280 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 346.31 sec -2013-09-18 01:32:01,285 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 346.31 sec -2013-09-18 01:32:02,291 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 346.31 sec -2013-09-18 01:32:03,296 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 346.31 sec -2013-09-18 01:32:04,301 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 346.31 sec -2013-09-18 01:32:05,307 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 346.31 sec -2013-09-18 01:32:06,312 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 346.31 sec -2013-09-18 01:32:07,318 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 346.31 sec -2013-09-18 01:32:08,323 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 346.31 sec -2013-09-18 01:32:09,328 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 346.31 sec -2013-09-18 01:32:10,332 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 346.31 sec -2013-09-18 01:32:11,338 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 346.31 sec -2013-09-18 01:32:12,343 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 346.31 sec -2013-09-18 01:32:13,348 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 346.31 sec -2013-09-18 01:32:14,353 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 346.31 sec -2013-09-18 01:32:15,358 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 346.31 sec -2013-09-18 01:32:16,363 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 346.31 sec -2013-09-18 01:32:17,368 Stage-2 map = 100%, reduce = 26%, Cumulative CPU 346.31 sec -2013-09-18 01:32:18,372 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 346.31 sec -2013-09-18 01:32:19,377 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 346.31 sec -2013-09-18 01:32:20,382 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 346.31 sec -2013-09-18 01:32:21,387 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 346.31 sec -2013-09-18 01:32:23,213 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 346.31 sec -2013-09-18 01:32:24,218 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:25,222 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:28,762 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:29,767 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:30,772 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:31,777 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:34,832 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:35,836 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:36,841 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:38,072 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:39,077 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 346.31 sec -2013-09-18 01:32:40,083 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 346.31 sec -2013-09-18 01:32:41,087 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 346.31 sec -2013-09-18 01:32:42,093 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 346.31 sec -2013-09-18 01:32:44,011 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:45,016 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:46,021 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:47,025 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:48,030 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:49,034 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:50,039 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:51,044 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:52,048 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:53,052 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:32:54,064 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 346.31 sec -2013-09-18 01:33:02,924 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 389.68 sec -2013-09-18 01:33:03,928 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 389.68 sec -2013-09-18 01:33:06,050 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 389.68 sec -2013-09-18 01:33:07,054 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 389.68 sec -2013-09-18 01:33:08,058 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 389.68 sec -2013-09-18 01:33:09,063 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 395.95 sec -2013-09-18 01:33:10,068 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 395.95 sec -2013-09-18 01:33:11,072 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 395.95 sec -MapReduce Total cumulative CPU time: 6 minutes 35 seconds 950 msec -Ended Job = job_201309172235_0154 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1518.52 sec HDFS Read: 882764316 HDFS Write: 4155848594 SUCCESS -Job 1: Map: 14 Reduce: 1 Cumulative CPU: 395.95 sec HDFS Read: 4156020676 HDFS Write: 399 SUCCESS -Total MapReduce CPU Time Spent: 31 minutes 54 seconds 470 msec -OK -Time taken: 272.053 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT URL, count(*) AS c FROM hits_100m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26732@mturlrep13_201309180133_998177234.txt -hive> SELECT URL, count(*) AS c FROM hits_100m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0155 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:33:21,912 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:33:30,987 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:33:31,993 Stage-1 map = 5%, reduce = 0% -2013-09-18 01:33:32,999 Stage-1 map = 6%, reduce = 0% -2013-09-18 01:33:34,004 Stage-1 map = 7%, reduce = 0% -2013-09-18 01:33:35,010 Stage-1 map = 12%, reduce = 0% -2013-09-18 01:33:36,017 Stage-1 map = 15%, reduce = 0% -2013-09-18 01:33:37,023 Stage-1 map = 19%, reduce = 0% -2013-09-18 01:33:38,030 Stage-1 map = 27%, reduce = 0% -2013-09-18 01:33:39,035 Stage-1 map = 32%, reduce = 0% -2013-09-18 01:33:40,041 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:33:41,047 Stage-1 map = 45%, reduce = 0% -2013-09-18 01:33:42,053 Stage-1 map = 49%, reduce = 0% -2013-09-18 01:33:43,073 Stage-1 map = 55%, reduce = 0% -2013-09-18 01:33:44,079 Stage-1 map = 58%, reduce = 0% -2013-09-18 01:33:45,084 Stage-1 map = 61%, reduce = 0% -2013-09-18 01:33:46,177 Stage-1 map = 63%, reduce = 0% -2013-09-18 01:33:47,185 Stage-1 map = 65%, reduce = 0% -2013-09-18 01:33:48,199 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 17.75 sec -2013-09-18 01:33:49,213 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 17.75 sec -2013-09-18 01:33:50,227 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 58.6 sec -2013-09-18 01:33:51,238 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 121.99 sec -2013-09-18 01:33:52,254 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 143.37 sec -2013-09-18 01:33:53,270 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 234.85 sec -2013-09-18 01:33:54,282 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 282.41 sec -2013-09-18 01:33:55,289 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 875.12 sec -2013-09-18 01:33:56,303 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 877.62 sec -2013-09-18 01:33:57,310 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 877.62 sec -2013-09-18 01:33:58,319 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 882.85 sec -2013-09-18 01:33:59,327 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 888.05 sec -2013-09-18 01:34:00,333 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 888.05 sec -2013-09-18 01:34:03,143 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 892.75 sec -2013-09-18 01:34:05,074 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 892.75 sec -2013-09-18 01:34:07,380 Stage-1 map = 94%, reduce = 15%, Cumulative CPU 917.16 sec -2013-09-18 01:34:08,387 Stage-1 map = 94%, reduce = 15%, Cumulative CPU 917.16 sec -2013-09-18 01:34:09,405 Stage-1 map = 94%, reduce = 15%, Cumulative CPU 917.16 sec -2013-09-18 01:34:12,449 Stage-1 map = 97%, reduce = 16%, Cumulative CPU 991.88 sec -2013-09-18 01:34:13,455 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1042.76 sec -2013-09-18 01:34:14,461 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 1042.76 sec -2013-09-18 01:34:15,467 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 1042.76 sec -2013-09-18 01:34:16,473 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 1085.14 sec -2013-09-18 01:34:17,478 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:18,484 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:19,489 Stage-1 map = 100%, reduce = 23%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:20,495 Stage-1 map = 100%, reduce = 23%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:21,500 Stage-1 map = 100%, reduce = 23%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:22,513 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:23,989 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:24,995 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:26,001 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:27,007 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:28,013 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:29,816 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:30,821 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:31,827 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:32,834 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:33,839 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:34,845 Stage-1 map = 100%, reduce = 42%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:38,795 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:40,768 Stage-1 map = 100%, reduce = 64%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:43,249 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:44,255 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:45,262 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:46,269 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:47,275 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:48,396 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:49,403 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:50,409 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:51,415 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:52,420 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:53,426 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:54,433 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:55,438 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1095.25 sec -2013-09-18 01:34:57,179 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 1415.82 sec -2013-09-18 01:34:58,185 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1415.82 sec -2013-09-18 01:34:59,192 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1415.82 sec -2013-09-18 01:35:00,198 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1415.82 sec -2013-09-18 01:35:01,205 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1415.82 sec -2013-09-18 01:35:02,210 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 1415.82 sec -2013-09-18 01:35:03,309 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1415.82 sec -2013-09-18 01:35:04,314 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1415.82 sec -2013-09-18 01:35:05,319 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1415.82 sec -2013-09-18 01:35:06,326 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1418.06 sec -2013-09-18 01:35:07,332 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1418.06 sec -2013-09-18 01:35:08,338 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1418.06 sec -2013-09-18 01:35:09,344 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1418.06 sec -2013-09-18 01:35:11,606 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1472.49 sec -2013-09-18 01:35:12,612 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1472.49 sec -2013-09-18 01:35:16,063 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1515.38 sec -2013-09-18 01:35:17,068 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1515.38 sec -MapReduce Total cumulative CPU time: 25 minutes 15 seconds 380 msec -Ended Job = job_201309172235_0155 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0156 -Hadoop job information for Stage-2: number of mappers: 14; number of reducers: 1 -2013-09-18 01:35:35,260 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:35:46,317 Stage-2 map = 17%, reduce = 0% -2013-09-18 01:35:49,327 Stage-2 map = 53%, reduce = 0% -2013-09-18 01:35:52,338 Stage-2 map = 78%, reduce = 0% -2013-09-18 01:35:55,352 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 310.42 sec -2013-09-18 01:35:56,358 Stage-2 map = 89%, reduce = 0%, Cumulative CPU 312.75 sec -2013-09-18 01:35:57,366 Stage-2 map = 97%, reduce = 0%, Cumulative CPU 320.21 sec -2013-09-18 01:35:58,371 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 325.09 sec -2013-09-18 01:35:59,376 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 325.09 sec -2013-09-18 01:36:00,380 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 325.09 sec -2013-09-18 01:36:01,386 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 325.09 sec -2013-09-18 01:36:02,391 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 325.09 sec -2013-09-18 01:36:03,397 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 325.09 sec -2013-09-18 01:36:04,402 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 325.09 sec -2013-09-18 01:36:05,407 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 325.09 sec -2013-09-18 01:36:06,412 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 325.09 sec -2013-09-18 01:36:07,417 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 325.09 sec -2013-09-18 01:36:08,422 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 325.09 sec -2013-09-18 01:36:09,427 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 325.09 sec -2013-09-18 01:36:10,433 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 325.09 sec -2013-09-18 01:36:11,438 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 325.09 sec -2013-09-18 01:36:12,444 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 325.09 sec -2013-09-18 01:36:13,449 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 325.09 sec -2013-09-18 01:36:14,453 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 325.09 sec -2013-09-18 01:36:15,458 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 325.09 sec -2013-09-18 01:36:16,463 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 325.09 sec -2013-09-18 01:36:17,468 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 325.09 sec -2013-09-18 01:36:18,473 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 325.09 sec -2013-09-18 01:36:19,477 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 325.09 sec -2013-09-18 01:36:20,482 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 325.09 sec -2013-09-18 01:36:21,486 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 325.09 sec -2013-09-18 01:36:25,199 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 325.09 sec -2013-09-18 01:36:26,204 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 325.09 sec -2013-09-18 01:36:27,208 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 325.09 sec -2013-09-18 01:36:28,213 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 325.09 sec -2013-09-18 01:36:29,217 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 325.09 sec -2013-09-18 01:36:32,866 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 325.09 sec -2013-09-18 01:36:33,870 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:34,875 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:35,880 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:36,885 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:37,888 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:38,892 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:39,896 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:40,900 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:41,904 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:43,207 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:44,211 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:45,216 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:46,220 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 325.09 sec -2013-09-18 01:36:47,225 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 325.09 sec -2013-09-18 01:36:48,377 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 325.09 sec -2013-09-18 01:36:49,382 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 325.09 sec -2013-09-18 01:36:50,386 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 325.09 sec -2013-09-18 01:36:51,390 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 325.09 sec -2013-09-18 01:36:52,394 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 325.09 sec -2013-09-18 01:36:53,398 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 325.09 sec -2013-09-18 01:36:54,402 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 325.09 sec -2013-09-18 01:36:55,406 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 325.09 sec -2013-09-18 01:37:04,189 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 369.99 sec -2013-09-18 01:37:05,193 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 369.99 sec -2013-09-18 01:37:06,197 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 369.99 sec -2013-09-18 01:37:07,202 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 369.99 sec -2013-09-18 01:37:08,206 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 369.99 sec -2013-09-18 01:37:09,212 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 369.99 sec -2013-09-18 01:37:10,216 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 376.06 sec -2013-09-18 01:37:11,220 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 376.06 sec -MapReduce Total cumulative CPU time: 6 minutes 16 seconds 60 msec -Ended Job = job_201309172235_0156 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1515.38 sec HDFS Read: 882764316 HDFS Write: 4155848594 SUCCESS -Job 1: Map: 14 Reduce: 1 Cumulative CPU: 376.06 sec HDFS Read: 4156020676 HDFS Write: 399 SUCCESS -Total MapReduce CPU Time Spent: 31 minutes 31 seconds 440 msec -OK -Time taken: 238.167 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по URL.; - - -times: 1 -query: SELECT 1, URL, count(*) AS c FROM hits_100m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3752@mturlrep13_201309180137_1035052608.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_100m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0157 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:37:29,808 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:37:39,901 Stage-1 map = 5%, reduce = 0% -2013-09-18 01:37:42,922 Stage-1 map = 8%, reduce = 0% -2013-09-18 01:37:43,935 Stage-1 map = 11%, reduce = 0% -2013-09-18 01:37:44,947 Stage-1 map = 13%, reduce = 0% -2013-09-18 01:37:45,953 Stage-1 map = 18%, reduce = 0% -2013-09-18 01:37:46,968 Stage-1 map = 25%, reduce = 0% -2013-09-18 01:37:47,979 Stage-1 map = 32%, reduce = 0% -2013-09-18 01:37:48,989 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:37:50,002 Stage-1 map = 43%, reduce = 0% -2013-09-18 01:37:51,007 Stage-1 map = 48%, reduce = 0% -2013-09-18 01:37:52,029 Stage-1 map = 49%, reduce = 0% -2013-09-18 01:37:53,038 Stage-1 map = 54%, reduce = 0% -2013-09-18 01:37:54,051 Stage-1 map = 58%, reduce = 0% -2013-09-18 01:37:55,056 Stage-1 map = 59%, reduce = 0% -2013-09-18 01:37:56,063 Stage-1 map = 61%, reduce = 0% -2013-09-18 01:37:57,079 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 669.47 sec -2013-09-18 01:37:58,095 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 671.87 sec -2013-09-18 01:37:59,110 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 674.43 sec -2013-09-18 01:38:00,117 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 680.69 sec -2013-09-18 01:38:01,130 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 692.13 sec -2013-09-18 01:38:02,144 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 697.59 sec -2013-09-18 01:38:03,151 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 703.09 sec -2013-09-18 01:38:04,158 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 715.71 sec -2013-09-18 01:38:05,171 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 724.69 sec -2013-09-18 01:38:06,182 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 733.5 sec -2013-09-18 01:38:07,188 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 733.5 sec -2013-09-18 01:38:12,135 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 799.0 sec -2013-09-18 01:38:15,432 Stage-1 map = 94%, reduce = 5%, Cumulative CPU 849.63 sec -2013-09-18 01:38:18,103 Stage-1 map = 94%, reduce = 16%, Cumulative CPU 849.63 sec -2013-09-18 01:38:21,194 Stage-1 map = 94%, reduce = 17%, Cumulative CPU 849.63 sec -2013-09-18 01:38:22,199 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1126.64 sec -2013-09-18 01:38:23,206 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1126.64 sec -2013-09-18 01:38:24,212 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1149.35 sec -2013-09-18 01:38:25,218 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1149.35 sec -2013-09-18 01:38:26,223 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1149.35 sec -2013-09-18 01:38:27,229 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 1149.35 sec -2013-09-18 01:38:28,235 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 1149.35 sec -2013-09-18 01:38:29,242 Stage-1 map = 99%, reduce = 20%, Cumulative CPU 1149.35 sec -2013-09-18 01:38:30,940 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:31,946 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:32,952 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:33,959 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:34,965 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:37,627 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:38,638 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:39,961 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:40,968 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:41,978 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:42,985 Stage-1 map = 100%, reduce = 49%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:43,991 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:45,341 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:46,346 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:47,352 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:49,208 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:50,214 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:51,221 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:52,229 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:53,235 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:54,242 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:55,248 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:56,281 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:57,288 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:58,296 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1172.28 sec -2013-09-18 01:38:59,305 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:00,313 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:02,538 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:03,544 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:04,551 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:05,560 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:06,566 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:07,700 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:08,706 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:09,713 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:12,763 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:13,794 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:14,799 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:15,805 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:18,636 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:19,643 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1469.23 sec -2013-09-18 01:39:21,526 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1479.55 sec -2013-09-18 01:39:22,532 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1479.55 sec -2013-09-18 01:39:23,538 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1479.55 sec -2013-09-18 01:39:24,543 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1490.68 sec -2013-09-18 01:39:25,549 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1490.68 sec -2013-09-18 01:39:26,555 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1490.68 sec -2013-09-18 01:39:27,560 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1490.68 sec -2013-09-18 01:39:28,565 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1490.68 sec -2013-09-18 01:39:29,571 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1490.68 sec -2013-09-18 01:39:30,577 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1490.68 sec -2013-09-18 01:39:31,766 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1504.37 sec -2013-09-18 01:39:32,771 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1504.37 sec -2013-09-18 01:39:33,777 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1504.37 sec -2013-09-18 01:39:34,782 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1543.5 sec -2013-09-18 01:39:35,788 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1543.5 sec -2013-09-18 01:39:36,793 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1559.47 sec -2013-09-18 01:39:37,798 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1559.47 sec -2013-09-18 01:39:38,803 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1572.01 sec -2013-09-18 01:39:39,808 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1572.01 sec -2013-09-18 01:39:42,552 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1585.06 sec -2013-09-18 01:39:43,556 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1585.06 sec -2013-09-18 01:39:44,715 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1611.38 sec -2013-09-18 01:39:45,727 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1611.38 sec -2013-09-18 01:39:46,732 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1611.38 sec -2013-09-18 01:39:47,738 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1611.38 sec -2013-09-18 01:39:50,360 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1611.38 sec -2013-09-18 01:39:51,394 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1611.38 sec -2013-09-18 01:39:52,399 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1611.38 sec -MapReduce Total cumulative CPU time: 26 minutes 51 seconds 380 msec -Ended Job = job_201309172235_0157 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0158 -Hadoop job information for Stage-2: number of mappers: 14; number of reducers: 1 -2013-09-18 01:39:56,709 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:40:04,747 Stage-2 map = 15%, reduce = 0% -2013-09-18 01:40:07,758 Stage-2 map = 38%, reduce = 0% -2013-09-18 01:40:10,768 Stage-2 map = 73%, reduce = 0% -2013-09-18 01:40:13,811 Stage-2 map = 78%, reduce = 0% -2013-09-18 01:40:14,816 Stage-2 map = 86%, reduce = 0%, Cumulative CPU 115.95 sec -2013-09-18 01:40:15,821 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 189.93 sec -2013-09-18 01:40:16,826 Stage-2 map = 95%, reduce = 0%, Cumulative CPU 268.74 sec -2013-09-18 01:40:17,830 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.63 sec -2013-09-18 01:40:18,835 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.63 sec -2013-09-18 01:40:19,839 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.63 sec -2013-09-18 01:40:20,843 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.63 sec -2013-09-18 01:40:21,848 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.63 sec -2013-09-18 01:40:22,853 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.63 sec -2013-09-18 01:40:23,857 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 350.63 sec -2013-09-18 01:40:24,862 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 350.63 sec -2013-09-18 01:40:25,866 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 350.63 sec -2013-09-18 01:40:26,871 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 350.63 sec -2013-09-18 01:40:27,875 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 350.63 sec -2013-09-18 01:40:28,880 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 350.63 sec -2013-09-18 01:40:29,884 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 350.63 sec -2013-09-18 01:40:30,889 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 350.63 sec -2013-09-18 01:40:31,893 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 350.63 sec -2013-09-18 01:40:32,897 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 350.63 sec -2013-09-18 01:40:33,901 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 350.63 sec -2013-09-18 01:40:34,905 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 350.63 sec -2013-09-18 01:40:35,909 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 350.63 sec -2013-09-18 01:40:36,914 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 350.63 sec -2013-09-18 01:40:37,918 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 350.63 sec -2013-09-18 01:40:38,923 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 350.63 sec -2013-09-18 01:40:39,927 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 350.63 sec -2013-09-18 01:40:40,931 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 350.63 sec -2013-09-18 01:40:41,935 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 350.63 sec -2013-09-18 01:40:42,939 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 350.63 sec -2013-09-18 01:40:43,943 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 350.63 sec -2013-09-18 01:40:44,947 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 350.63 sec -2013-09-18 01:40:45,951 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 350.63 sec -2013-09-18 01:40:46,956 Stage-2 map = 100%, reduce = 31%, Cumulative CPU 350.63 sec -2013-09-18 01:40:52,079 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 350.63 sec -2013-09-18 01:40:53,087 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 350.63 sec -2013-09-18 01:40:54,091 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 350.63 sec -2013-09-18 01:40:55,095 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 350.63 sec -2013-09-18 01:40:56,100 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 350.63 sec -2013-09-18 01:40:57,104 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 350.63 sec -2013-09-18 01:40:58,109 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 350.63 sec -2013-09-18 01:40:59,113 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:00,117 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:01,220 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:02,224 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:03,228 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:04,232 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:05,237 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:07,415 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:08,419 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:09,423 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:10,427 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:11,431 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:12,435 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:13,439 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:14,522 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:15,526 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:16,530 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:17,534 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:18,538 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 392.86 sec -2013-09-18 01:41:19,543 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 400.39 sec -2013-09-18 01:41:20,547 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 400.39 sec -MapReduce Total cumulative CPU time: 6 minutes 40 seconds 390 msec -Ended Job = job_201309172235_0158 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1611.38 sec HDFS Read: 882764316 HDFS Write: 4177941697 SUCCESS -Job 1: Map: 14 Reduce: 1 Cumulative CPU: 400.39 sec HDFS Read: 4178102019 HDFS Write: 419 SUCCESS -Total MapReduce CPU Time Spent: 33 minutes 31 seconds 770 msec -OK -Time taken: 241.283 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT 1, URL, count(*) AS c FROM hits_100m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13514@mturlrep13_201309180141_1043268364.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_100m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0159 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:41:31,551 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:41:40,616 Stage-1 map = 1%, reduce = 0% -2013-09-18 01:41:41,622 Stage-1 map = 4%, reduce = 0% -2013-09-18 01:41:42,627 Stage-1 map = 5%, reduce = 0% -2013-09-18 01:41:44,636 Stage-1 map = 13%, reduce = 0% -2013-09-18 01:41:45,642 Stage-1 map = 15%, reduce = 0% -2013-09-18 01:41:46,663 Stage-1 map = 17%, reduce = 0% -2013-09-18 01:41:47,669 Stage-1 map = 23%, reduce = 0% -2013-09-18 01:41:48,691 Stage-1 map = 32%, reduce = 0% -2013-09-18 01:41:49,697 Stage-1 map = 34%, reduce = 0% -2013-09-18 01:41:50,703 Stage-1 map = 37%, reduce = 0% -2013-09-18 01:41:51,708 Stage-1 map = 47%, reduce = 0% -2013-09-18 01:41:52,719 Stage-1 map = 52%, reduce = 0% -2013-09-18 01:41:53,724 Stage-1 map = 54%, reduce = 0% -2013-09-18 01:41:54,734 Stage-1 map = 57%, reduce = 0% -2013-09-18 01:41:55,745 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 18.08 sec -2013-09-18 01:41:56,770 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 18.08 sec -2013-09-18 01:41:57,780 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 18.08 sec -2013-09-18 01:41:58,786 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 18.08 sec -2013-09-18 01:41:59,801 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 706.43 sec -2013-09-18 01:42:00,824 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 708.46 sec -2013-09-18 01:42:01,830 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 716.88 sec -2013-09-18 01:42:02,842 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 720.42 sec -2013-09-18 01:42:03,848 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 736.35 sec -2013-09-18 01:42:04,853 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 752.31 sec -2013-09-18 01:42:05,863 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 752.31 sec -2013-09-18 01:42:06,870 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 759.4 sec -2013-09-18 01:42:07,876 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 759.4 sec -2013-09-18 01:42:08,882 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 759.4 sec -2013-09-18 01:42:12,723 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 801.07 sec -2013-09-18 01:42:13,730 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 825.56 sec -2013-09-18 01:42:18,187 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 825.56 sec -2013-09-18 01:42:19,197 Stage-1 map = 93%, reduce = 13%, Cumulative CPU 825.56 sec -2013-09-18 01:42:20,202 Stage-1 map = 93%, reduce = 13%, Cumulative CPU 825.56 sec -2013-09-18 01:42:21,215 Stage-1 map = 93%, reduce = 13%, Cumulative CPU 825.56 sec -2013-09-18 01:42:22,230 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 976.34 sec -2013-09-18 01:42:23,237 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 994.69 sec -2013-09-18 01:42:25,056 Stage-1 map = 99%, reduce = 18%, Cumulative CPU 1066.61 sec -2013-09-18 01:42:26,062 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 1066.61 sec -2013-09-18 01:42:27,068 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 1088.21 sec -2013-09-18 01:42:28,074 Stage-1 map = 99%, reduce = 21%, Cumulative CPU 1088.21 sec -2013-09-18 01:42:30,283 Stage-1 map = 99%, reduce = 26%, Cumulative CPU 1088.21 sec -2013-09-18 01:42:31,294 Stage-1 map = 99%, reduce = 29%, Cumulative CPU 1131.05 sec -2013-09-18 01:42:32,300 Stage-1 map = 99%, reduce = 29%, Cumulative CPU 1131.05 sec -2013-09-18 01:42:33,318 Stage-1 map = 99%, reduce = 29%, Cumulative CPU 1131.05 sec -2013-09-18 01:42:34,323 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:35,330 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:36,336 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:37,343 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:38,350 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:39,356 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:40,361 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:42,047 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:43,052 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:44,058 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:45,064 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:46,070 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:48,082 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:51,512 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:52,518 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:53,525 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:56,648 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:57,653 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:58,659 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1155.52 sec -2013-09-18 01:42:59,667 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:00,674 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:01,680 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:02,686 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:03,695 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:04,701 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:05,707 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:06,713 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:08,485 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:09,490 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:10,495 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:11,501 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:12,507 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:13,772 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:14,777 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:15,782 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:16,788 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:17,794 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:18,800 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:19,806 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:21,139 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:22,145 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:23,151 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:26,220 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:30,331 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:31,337 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:32,343 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:33,349 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1351.1 sec -2013-09-18 01:43:34,355 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1392.71 sec -2013-09-18 01:43:35,367 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1597.17 sec -2013-09-18 01:43:36,372 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1597.17 sec -MapReduce Total cumulative CPU time: 26 minutes 37 seconds 170 msec -Ended Job = job_201309172235_0159 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0160 -Hadoop job information for Stage-2: number of mappers: 14; number of reducers: 1 -2013-09-18 01:43:38,868 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:43:49,917 Stage-2 map = 6%, reduce = 0% -2013-09-18 01:43:55,242 Stage-2 map = 16%, reduce = 0% -2013-09-18 01:43:58,254 Stage-2 map = 58%, reduce = 0% -2013-09-18 01:44:01,267 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 232.96 sec -2013-09-18 01:44:02,272 Stage-2 map = 80%, reduce = 0%, Cumulative CPU 236.94 sec -2013-09-18 01:44:03,277 Stage-2 map = 85%, reduce = 0%, Cumulative CPU 254.07 sec -2013-09-18 01:44:04,282 Stage-2 map = 91%, reduce = 0%, Cumulative CPU 282.18 sec -2013-09-18 01:44:05,288 Stage-2 map = 95%, reduce = 0%, Cumulative CPU 324.72 sec -2013-09-18 01:44:06,294 Stage-2 map = 98%, reduce = 0%, Cumulative CPU 324.72 sec -2013-09-18 01:44:07,299 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 336.02 sec -2013-09-18 01:44:08,304 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 336.02 sec -2013-09-18 01:44:09,309 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 336.02 sec -2013-09-18 01:44:10,314 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 336.02 sec -2013-09-18 01:44:11,319 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 336.02 sec -2013-09-18 01:44:12,324 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 336.02 sec -2013-09-18 01:44:13,329 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 336.02 sec -2013-09-18 01:44:14,334 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 336.02 sec -2013-09-18 01:44:15,338 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 336.02 sec -2013-09-18 01:44:16,343 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 336.02 sec -2013-09-18 01:44:17,347 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 336.02 sec -2013-09-18 01:44:18,351 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 336.02 sec -2013-09-18 01:44:19,356 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 336.02 sec -2013-09-18 01:44:20,365 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 336.02 sec -2013-09-18 01:44:21,370 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 336.02 sec -2013-09-18 01:44:22,374 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 336.02 sec -2013-09-18 01:44:23,379 Stage-2 map = 100%, reduce = 19%, Cumulative CPU 336.02 sec -2013-09-18 01:44:24,383 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 336.02 sec -2013-09-18 01:44:25,388 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 336.02 sec -2013-09-18 01:44:26,392 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 336.02 sec -2013-09-18 01:44:27,396 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 336.02 sec -2013-09-18 01:44:28,401 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 336.02 sec -2013-09-18 01:44:29,405 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 336.02 sec -2013-09-18 01:44:30,409 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 336.02 sec -2013-09-18 01:44:31,413 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 336.02 sec -2013-09-18 01:44:32,417 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 336.02 sec -2013-09-18 01:44:33,421 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 336.02 sec -2013-09-18 01:44:34,425 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 336.02 sec -2013-09-18 01:44:37,987 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 336.02 sec -2013-09-18 01:44:38,993 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 336.02 sec -2013-09-18 01:44:39,997 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 336.02 sec -2013-09-18 01:44:41,001 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 336.02 sec -2013-09-18 01:44:42,006 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 336.02 sec -2013-09-18 01:44:43,010 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 336.02 sec -2013-09-18 01:44:44,083 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 336.02 sec -2013-09-18 01:44:45,087 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 336.02 sec -2013-09-18 01:44:46,091 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 336.02 sec -2013-09-18 01:44:47,095 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 336.02 sec -2013-09-18 01:44:48,099 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 336.02 sec -2013-09-18 01:44:49,103 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 336.02 sec -2013-09-18 01:44:50,106 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 336.02 sec -2013-09-18 01:44:51,478 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 336.02 sec -2013-09-18 01:44:52,482 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 336.02 sec -2013-09-18 01:44:53,485 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 336.02 sec -2013-09-18 01:44:54,489 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 336.02 sec -2013-09-18 01:44:55,493 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 336.02 sec -2013-09-18 01:44:56,497 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 336.02 sec -2013-09-18 01:44:57,500 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 336.02 sec -2013-09-18 01:44:58,503 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 336.02 sec -2013-09-18 01:44:59,507 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 381.91 sec -2013-09-18 01:45:00,511 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 381.91 sec -2013-09-18 01:45:01,514 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 381.91 sec -2013-09-18 01:45:02,518 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 381.91 sec -2013-09-18 01:45:03,522 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 381.91 sec -2013-09-18 01:45:04,526 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 381.91 sec -2013-09-18 01:45:05,530 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 381.91 sec -2013-09-18 01:45:06,534 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 381.91 sec -2013-09-18 01:45:07,538 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 381.91 sec -2013-09-18 01:45:08,543 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 386.71 sec -2013-09-18 01:45:09,548 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 386.71 sec -2013-09-18 01:45:10,553 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 386.71 sec -MapReduce Total cumulative CPU time: 6 minutes 26 seconds 710 msec -Ended Job = job_201309172235_0160 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1597.17 sec HDFS Read: 882764316 HDFS Write: 4177941697 SUCCESS -Job 1: Map: 14 Reduce: 1 Cumulative CPU: 386.71 sec HDFS Read: 4178102019 HDFS Write: 419 SUCCESS -Total MapReduce CPU Time Spent: 33 minutes 3 seconds 880 msec -OK -Time taken: 228.198 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT 1, URL, count(*) AS c FROM hits_100m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22530@mturlrep13_201309180145_1699071486.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_100m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0161 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:45:20,932 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:45:30,999 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:45:32,006 Stage-1 map = 4%, reduce = 0% -2013-09-18 01:45:35,020 Stage-1 map = 9%, reduce = 0% -2013-09-18 01:45:36,034 Stage-1 map = 16%, reduce = 0% -2013-09-18 01:45:37,039 Stage-1 map = 17%, reduce = 0% -2013-09-18 01:45:38,045 Stage-1 map = 20%, reduce = 0% -2013-09-18 01:45:39,054 Stage-1 map = 33%, reduce = 0% -2013-09-18 01:45:41,072 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:45:42,085 Stage-1 map = 50%, reduce = 0% -2013-09-18 01:45:44,098 Stage-1 map = 54%, reduce = 0% -2013-09-18 01:45:45,104 Stage-1 map = 55%, reduce = 0% -2013-09-18 01:45:46,112 Stage-1 map = 60%, reduce = 0% -2013-09-18 01:45:48,123 Stage-1 map = 62%, reduce = 0% -2013-09-18 01:45:49,139 Stage-1 map = 65%, reduce = 0%, Cumulative CPU 19.16 sec -2013-09-18 01:45:50,153 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 61.29 sec -2013-09-18 01:45:51,160 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 82.27 sec -2013-09-18 01:45:52,178 Stage-1 map = 73%, reduce = 0%, Cumulative CPU 104.66 sec -2013-09-18 01:45:53,184 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 149.39 sec -2013-09-18 01:45:54,190 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 196.78 sec -2013-09-18 01:45:55,197 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 221.14 sec -2013-09-18 01:45:56,210 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 271.7 sec -2013-09-18 01:45:57,219 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 297.77 sec -2013-09-18 01:45:58,225 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 297.77 sec -2013-09-18 01:45:59,232 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 326.46 sec -2013-09-18 01:46:02,398 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 976.26 sec -2013-09-18 01:46:03,406 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 978.66 sec -2013-09-18 01:46:07,469 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 981.5 sec -2013-09-18 01:46:08,492 Stage-1 map = 93%, reduce = 9%, Cumulative CPU 985.55 sec -2013-09-18 01:46:09,498 Stage-1 map = 93%, reduce = 9%, Cumulative CPU 990.67 sec -2013-09-18 01:46:12,267 Stage-1 map = 94%, reduce = 9%, Cumulative CPU 999.32 sec -2013-09-18 01:46:13,634 Stage-1 map = 96%, reduce = 16%, Cumulative CPU 1050.69 sec -2013-09-18 01:46:14,648 Stage-1 map = 98%, reduce = 16%, Cumulative CPU 1108.43 sec -2013-09-18 01:46:15,653 Stage-1 map = 99%, reduce = 16%, Cumulative CPU 1125.98 sec -2013-09-18 01:46:16,659 Stage-1 map = 100%, reduce = 16%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:17,666 Stage-1 map = 100%, reduce = 16%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:18,672 Stage-1 map = 100%, reduce = 16%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:20,622 Stage-1 map = 100%, reduce = 19%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:21,629 Stage-1 map = 100%, reduce = 22%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:22,635 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:23,643 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:24,982 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:25,989 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:26,996 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:28,002 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:30,536 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:31,543 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:32,549 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:35,134 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:36,140 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:39,099 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:40,105 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:41,113 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:42,118 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:43,185 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:44,192 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:45,198 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:46,205 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:47,211 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:48,217 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:49,748 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:50,753 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:51,759 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:52,765 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:53,772 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:54,777 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:56,274 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:57,278 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:58,286 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 1161.21 sec -2013-09-18 01:46:59,292 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1161.21 sec -2013-09-18 01:47:00,301 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1508.73 sec -2013-09-18 01:47:01,307 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 1508.73 sec -2013-09-18 01:47:02,711 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1508.73 sec -2013-09-18 01:47:03,717 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1508.73 sec -2013-09-18 01:47:04,723 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 1508.73 sec -2013-09-18 01:47:05,730 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1508.73 sec -2013-09-18 01:47:09,415 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 1508.73 sec -2013-09-18 01:47:13,308 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1508.73 sec -2013-09-18 01:47:14,314 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1516.27 sec -2013-09-18 01:47:15,320 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1516.27 sec -2013-09-18 01:47:16,326 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:17,332 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:18,337 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:19,342 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:20,348 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:21,353 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:22,358 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:23,363 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:24,368 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:25,373 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:26,379 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1524.18 sec -2013-09-18 01:47:27,385 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1541.34 sec -2013-09-18 01:47:28,390 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1541.34 sec -2013-09-18 01:47:29,396 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1541.34 sec -2013-09-18 01:47:30,401 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1541.34 sec -2013-09-18 01:47:31,406 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:32,411 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:33,417 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:34,423 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:35,428 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:36,433 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:37,855 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:38,866 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:39,872 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:40,877 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1555.39 sec -2013-09-18 01:47:41,881 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1565.2 sec -2013-09-18 01:47:42,886 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1565.2 sec -2013-09-18 01:47:44,926 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1565.2 sec -2013-09-18 01:47:45,931 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1565.2 sec -2013-09-18 01:47:46,936 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 1565.2 sec -2013-09-18 01:47:47,942 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1621.8 sec -2013-09-18 01:47:51,089 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 1621.8 sec -MapReduce Total cumulative CPU time: 27 minutes 1 seconds 800 msec -Ended Job = job_201309172235_0161 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0162 -Hadoop job information for Stage-2: number of mappers: 14; number of reducers: 1 -2013-09-18 01:47:56,428 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:48:04,465 Stage-2 map = 7%, reduce = 0% -2013-09-18 01:48:05,469 Stage-2 map = 10%, reduce = 0% -2013-09-18 01:48:07,477 Stage-2 map = 21%, reduce = 0% -2013-09-18 01:48:08,482 Stage-2 map = 34%, reduce = 0% -2013-09-18 01:48:10,489 Stage-2 map = 43%, reduce = 0% -2013-09-18 01:48:11,494 Stage-2 map = 70%, reduce = 0% -2013-09-18 01:48:14,505 Stage-2 map = 78%, reduce = 0% -2013-09-18 01:48:15,510 Stage-2 map = 89%, reduce = 0%, Cumulative CPU 167.69 sec -2013-09-18 01:48:16,516 Stage-2 map = 89%, reduce = 0%, Cumulative CPU 167.69 sec -2013-09-18 01:48:17,535 Stage-2 map = 94%, reduce = 0%, Cumulative CPU 246.5 sec -2013-09-18 01:48:18,541 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 356.26 sec -2013-09-18 01:48:19,545 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 356.26 sec -2013-09-18 01:48:20,551 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 356.26 sec -2013-09-18 01:48:21,555 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 356.26 sec -2013-09-18 01:48:22,560 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 356.26 sec -2013-09-18 01:48:23,565 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 356.26 sec -2013-09-18 01:48:24,570 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 356.26 sec -2013-09-18 01:48:25,574 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 356.26 sec -2013-09-18 01:48:26,578 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 356.26 sec -2013-09-18 01:48:27,582 Stage-2 map = 100%, reduce = 10%, Cumulative CPU 356.26 sec -2013-09-18 01:48:28,587 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 356.26 sec -2013-09-18 01:48:29,591 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 356.26 sec -2013-09-18 01:48:30,595 Stage-2 map = 100%, reduce = 12%, Cumulative CPU 356.26 sec -2013-09-18 01:48:31,599 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 356.26 sec -2013-09-18 01:48:32,603 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 356.26 sec -2013-09-18 01:48:33,606 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 356.26 sec -2013-09-18 01:48:34,610 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 356.26 sec -2013-09-18 01:48:35,615 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 356.26 sec -2013-09-18 01:48:36,619 Stage-2 map = 100%, reduce = 21%, Cumulative CPU 356.26 sec -2013-09-18 01:48:37,624 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 356.26 sec -2013-09-18 01:48:38,628 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 356.26 sec -2013-09-18 01:48:39,632 Stage-2 map = 100%, reduce = 24%, Cumulative CPU 356.26 sec -2013-09-18 01:48:40,636 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 356.26 sec -2013-09-18 01:48:41,641 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 356.26 sec -2013-09-18 01:48:42,645 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 356.26 sec -2013-09-18 01:48:43,649 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 356.26 sec -2013-09-18 01:48:44,653 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 356.26 sec -2013-09-18 01:48:45,658 Stage-2 map = 100%, reduce = 29%, Cumulative CPU 356.26 sec -2013-09-18 01:48:46,662 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 356.26 sec -2013-09-18 01:48:52,547 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 356.26 sec -2013-09-18 01:48:53,551 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 356.26 sec -2013-09-18 01:48:54,555 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 356.26 sec -2013-09-18 01:48:55,649 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 356.26 sec -2013-09-18 01:48:56,653 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 356.26 sec -2013-09-18 01:48:57,657 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 356.26 sec -2013-09-18 01:48:58,661 Stage-2 map = 100%, reduce = 70%, Cumulative CPU 356.26 sec -2013-09-18 01:49:00,401 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:01,405 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:02,409 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:03,413 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:04,417 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:05,421 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:06,424 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:07,428 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:08,431 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:09,435 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:10,439 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:11,443 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:12,447 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:13,452 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:14,456 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:15,461 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:16,465 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:17,470 Stage-2 map = 100%, reduce = 78%, Cumulative CPU 399.92 sec -2013-09-18 01:49:18,477 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 406.76 sec -2013-09-18 01:49:19,481 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 406.76 sec -MapReduce Total cumulative CPU time: 6 minutes 46 seconds 760 msec -Ended Job = job_201309172235_0162 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 1621.8 sec HDFS Read: 882764316 HDFS Write: 4177941697 SUCCESS -Job 1: Map: 14 Reduce: 1 Cumulative CPU: 406.76 sec HDFS Read: 4178102019 HDFS Write: 419 SUCCESS -Total MapReduce CPU Time Spent: 33 minutes 48 seconds 560 msec -OK -Time taken: 246.999 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по URL и числу.; - - -times: 1 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31570@mturlrep13_201309180149_1050651506.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0163 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:49:38,118 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:49:51,275 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:49:52,282 Stage-1 map = 6%, reduce = 0% -2013-09-18 01:49:53,293 Stage-1 map = 8%, reduce = 0% -2013-09-18 01:49:54,299 Stage-1 map = 25%, reduce = 0% -2013-09-18 01:49:55,305 Stage-1 map = 31%, reduce = 0% -2013-09-18 01:49:56,314 Stage-1 map = 33%, reduce = 0% -2013-09-18 01:49:57,321 Stage-1 map = 49%, reduce = 0% -2013-09-18 01:49:58,338 Stage-1 map = 55%, reduce = 0% -2013-09-18 01:49:59,351 Stage-1 map = 60%, reduce = 0%, Cumulative CPU 13.34 sec -2013-09-18 01:50:00,378 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 494.57 sec -2013-09-18 01:50:01,385 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 494.57 sec -2013-09-18 01:50:02,403 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 498.86 sec -2013-09-18 01:50:03,411 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 506.12 sec -2013-09-18 01:50:04,419 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 517.77 sec -2013-09-18 01:50:05,426 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 529.34 sec -2013-09-18 01:50:06,432 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 536.01 sec -2013-09-18 01:50:07,440 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 574.29 sec -2013-09-18 01:50:08,448 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 643.5 sec -2013-09-18 01:50:09,455 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 690.76 sec -2013-09-18 01:50:10,461 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 701.69 sec -2013-09-18 01:50:11,468 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 701.69 sec -2013-09-18 01:50:12,491 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 716.61 sec -2013-09-18 01:50:13,497 Stage-1 map = 99%, reduce = 4%, Cumulative CPU 758.65 sec -2013-09-18 01:50:14,502 Stage-1 map = 99%, reduce = 19%, Cumulative CPU 758.65 sec -2013-09-18 01:50:15,508 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 774.74 sec -2013-09-18 01:50:16,515 Stage-1 map = 100%, reduce = 26%, Cumulative CPU 774.74 sec -2013-09-18 01:50:17,521 Stage-1 map = 100%, reduce = 28%, Cumulative CPU 774.74 sec -2013-09-18 01:50:18,526 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 774.74 sec -2013-09-18 01:50:19,533 Stage-1 map = 100%, reduce = 32%, Cumulative CPU 774.74 sec -2013-09-18 01:50:20,539 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 774.74 sec -2013-09-18 01:50:21,545 Stage-1 map = 100%, reduce = 39%, Cumulative CPU 774.74 sec -2013-09-18 01:50:22,551 Stage-1 map = 100%, reduce = 42%, Cumulative CPU 774.74 sec -2013-09-18 01:50:23,557 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 774.74 sec -2013-09-18 01:50:24,562 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 774.74 sec -2013-09-18 01:50:25,568 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 774.74 sec -2013-09-18 01:50:26,574 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 774.74 sec -2013-09-18 01:50:27,583 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 802.67 sec -2013-09-18 01:50:28,589 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 874.81 sec -2013-09-18 01:50:29,594 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 934.02 sec -2013-09-18 01:50:30,617 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 934.02 sec -MapReduce Total cumulative CPU time: 15 minutes 34 seconds 20 msec -Ended Job = job_201309172235_0163 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0164 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 01:50:34,091 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:50:44,120 Stage-2 map = 23%, reduce = 0% -2013-09-18 01:50:47,129 Stage-2 map = 46%, reduce = 0% -2013-09-18 01:50:51,142 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 23.2 sec -2013-09-18 01:50:52,147 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 23.2 sec -2013-09-18 01:50:53,152 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 23.2 sec -2013-09-18 01:50:54,157 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 23.2 sec -2013-09-18 01:50:55,162 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 23.2 sec -2013-09-18 01:50:56,167 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 23.2 sec -2013-09-18 01:50:58,116 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 23.2 sec -2013-09-18 01:50:59,121 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 23.2 sec -2013-09-18 01:51:00,129 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 23.2 sec -2013-09-18 01:51:01,134 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:02,139 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:03,144 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:04,149 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:05,154 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:06,158 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:07,163 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:08,172 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:09,177 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:10,182 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:11,186 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:12,191 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:13,195 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:14,200 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:15,205 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:16,209 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.42 sec -2013-09-18 01:51:17,214 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.78 sec -2013-09-18 01:51:18,218 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.78 sec -2013-09-18 01:51:19,223 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.78 sec -2013-09-18 01:51:20,227 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.78 sec -2013-09-18 01:51:21,232 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.78 sec -2013-09-18 01:51:22,236 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.78 sec -2013-09-18 01:51:23,241 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.78 sec -2013-09-18 01:51:24,245 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.78 sec -2013-09-18 01:51:25,250 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.78 sec -2013-09-18 01:51:26,254 Stage-2 map = 100%, reduce = 89%, Cumulative CPU 77.78 sec -2013-09-18 01:51:27,259 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 87.04 sec -2013-09-18 01:51:28,264 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 87.04 sec -MapReduce Total cumulative CPU time: 1 minutes 27 seconds 40 msec -Ended Job = job_201309172235_0164 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 934.02 sec HDFS Read: 339202346 HDFS Write: 374792539 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 87.04 sec HDFS Read: 374796261 HDFS Write: 498 SUCCESS -Total MapReduce CPU Time Spent: 17 minutes 1 seconds 60 msec -OK -Time taken: 120.684 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7222@mturlrep13_201309180151_945335118.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0165 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:51:37,818 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:51:49,905 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:51:50,923 Stage-1 map = 6%, reduce = 0% -2013-09-18 01:51:52,936 Stage-1 map = 15%, reduce = 0% -2013-09-18 01:51:53,959 Stage-1 map = 33%, reduce = 0% -2013-09-18 01:51:54,965 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:51:55,979 Stage-1 map = 41%, reduce = 0% -2013-09-18 01:51:57,007 Stage-1 map = 62%, reduce = 0% -2013-09-18 01:51:58,018 Stage-1 map = 63%, reduce = 0% -2013-09-18 01:51:59,032 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 13.91 sec -2013-09-18 01:52:00,049 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 13.91 sec -2013-09-18 01:52:01,062 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 546.5 sec -2013-09-18 01:52:02,075 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 546.5 sec -2013-09-18 01:52:03,086 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 553.11 sec -2013-09-18 01:52:04,094 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 570.16 sec -2013-09-18 01:52:05,112 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 591.73 sec -2013-09-18 01:52:06,122 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 606.61 sec -2013-09-18 01:52:07,134 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 689.49 sec -2013-09-18 01:52:08,140 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 704.24 sec -2013-09-18 01:52:09,146 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 704.24 sec -2013-09-18 01:52:10,152 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 704.24 sec -2013-09-18 01:52:11,158 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 704.24 sec -2013-09-18 01:52:12,165 Stage-1 map = 98%, reduce = 4%, Cumulative CPU 717.42 sec -2013-09-18 01:52:13,170 Stage-1 map = 99%, reduce = 23%, Cumulative CPU 745.46 sec -2013-09-18 01:52:14,176 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 775.29 sec -2013-09-18 01:52:15,181 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 775.29 sec -2013-09-18 01:52:16,187 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 775.29 sec -2013-09-18 01:52:17,193 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 775.29 sec -2013-09-18 01:52:18,199 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 775.29 sec -2013-09-18 01:52:19,204 Stage-1 map = 100%, reduce = 31%, Cumulative CPU 775.29 sec -2013-09-18 01:52:20,209 Stage-1 map = 100%, reduce = 34%, Cumulative CPU 775.29 sec -2013-09-18 01:52:21,215 Stage-1 map = 100%, reduce = 43%, Cumulative CPU 775.29 sec -2013-09-18 01:52:22,221 Stage-1 map = 100%, reduce = 60%, Cumulative CPU 775.29 sec -2013-09-18 01:52:23,226 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 775.29 sec -2013-09-18 01:52:24,232 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 775.29 sec -2013-09-18 01:52:25,238 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 775.29 sec -2013-09-18 01:52:26,245 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 789.78 sec -2013-09-18 01:52:27,251 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 848.54 sec -2013-09-18 01:52:28,257 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 936.77 sec -2013-09-18 01:52:29,275 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 936.77 sec -2013-09-18 01:52:30,282 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 936.77 sec -MapReduce Total cumulative CPU time: 15 minutes 36 seconds 770 msec -Ended Job = job_201309172235_0165 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0166 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 01:52:33,818 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:52:43,850 Stage-2 map = 23%, reduce = 0% -2013-09-18 01:52:46,861 Stage-2 map = 46%, reduce = 0% -2013-09-18 01:52:49,871 Stage-2 map = 52%, reduce = 0% -2013-09-18 01:52:51,880 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 24.11 sec -2013-09-18 01:52:52,885 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 24.11 sec -2013-09-18 01:52:53,890 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 24.11 sec -2013-09-18 01:52:54,896 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 24.11 sec -2013-09-18 01:52:55,901 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 24.11 sec -2013-09-18 01:52:56,907 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 24.11 sec -2013-09-18 01:52:57,912 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 24.11 sec -2013-09-18 01:52:58,918 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 24.11 sec -2013-09-18 01:52:59,923 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 24.11 sec -2013-09-18 01:53:00,928 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:01,933 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:02,938 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:03,943 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:04,948 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:05,959 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:06,963 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:07,968 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:08,973 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:09,979 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:10,984 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:11,989 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:12,995 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:14,000 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:15,006 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 58.35 sec -2013-09-18 01:53:16,010 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.21 sec -2013-09-18 01:53:17,014 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.21 sec -2013-09-18 01:53:18,018 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.21 sec -2013-09-18 01:53:19,023 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.21 sec -2013-09-18 01:53:20,027 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.21 sec -2013-09-18 01:53:21,031 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.21 sec -2013-09-18 01:53:22,035 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.21 sec -2013-09-18 01:53:23,039 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.21 sec -2013-09-18 01:53:24,044 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 78.21 sec -2013-09-18 01:53:25,048 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 78.21 sec -2013-09-18 01:53:26,053 Stage-2 map = 100%, reduce = 83%, Cumulative CPU 78.21 sec -2013-09-18 01:53:27,058 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 87.43 sec -2013-09-18 01:53:28,063 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 87.43 sec -2013-09-18 01:53:29,068 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 87.43 sec -MapReduce Total cumulative CPU time: 1 minutes 27 seconds 430 msec -Ended Job = job_201309172235_0166 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 936.77 sec HDFS Read: 339202346 HDFS Write: 374792539 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 87.43 sec HDFS Read: 374796261 HDFS Write: 498 SUCCESS -Total MapReduce CPU Time Spent: 17 minutes 4 seconds 200 msec -OK -Time taken: 118.948 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14110@mturlrep13_201309180153_1737492136.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0167 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:53:39,704 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:53:50,787 Stage-1 map = 1%, reduce = 0% -2013-09-18 01:53:51,799 Stage-1 map = 4%, reduce = 0% -2013-09-18 01:53:52,813 Stage-1 map = 5%, reduce = 0% -2013-09-18 01:53:53,831 Stage-1 map = 14%, reduce = 0% -2013-09-18 01:53:54,840 Stage-1 map = 34%, reduce = 0% -2013-09-18 01:53:55,846 Stage-1 map = 35%, reduce = 0% -2013-09-18 01:53:56,851 Stage-1 map = 39%, reduce = 0% -2013-09-18 01:53:57,860 Stage-1 map = 59%, reduce = 0% -2013-09-18 01:53:58,883 Stage-1 map = 63%, reduce = 0% -2013-09-18 01:53:59,905 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 13.8 sec -2013-09-18 01:54:00,943 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 13.8 sec -2013-09-18 01:54:01,952 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 535.34 sec -2013-09-18 01:54:02,959 Stage-1 map = 80%, reduce = 0%, Cumulative CPU 537.7 sec -2013-09-18 01:54:03,966 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 540.16 sec -2013-09-18 01:54:04,973 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 551.46 sec -2013-09-18 01:54:05,979 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 573.16 sec -2013-09-18 01:54:07,008 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 605.0 sec -2013-09-18 01:54:08,027 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 654.51 sec -2013-09-18 01:54:09,034 Stage-1 map = 94%, reduce = 0%, Cumulative CPU 691.64 sec -2013-09-18 01:54:10,040 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 700.45 sec -2013-09-18 01:54:11,047 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 700.45 sec -2013-09-18 01:54:12,053 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 700.45 sec -2013-09-18 01:54:13,060 Stage-1 map = 98%, reduce = 3%, Cumulative CPU 700.45 sec -2013-09-18 01:54:14,066 Stage-1 map = 99%, reduce = 21%, Cumulative CPU 745.67 sec -2013-09-18 01:54:15,072 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 776.9 sec -2013-09-18 01:54:16,078 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 776.9 sec -2013-09-18 01:54:17,084 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 776.9 sec -2013-09-18 01:54:18,094 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 776.9 sec -2013-09-18 01:54:19,103 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 776.9 sec -2013-09-18 01:54:20,109 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 776.9 sec -2013-09-18 01:54:21,115 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 776.9 sec -2013-09-18 01:54:22,125 Stage-1 map = 100%, reduce = 43%, Cumulative CPU 776.9 sec -2013-09-18 01:54:23,131 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 776.9 sec -2013-09-18 01:54:24,137 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 776.9 sec -2013-09-18 01:54:25,144 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 776.9 sec -2013-09-18 01:54:26,149 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 776.9 sec -2013-09-18 01:54:27,155 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 776.9 sec -2013-09-18 01:54:28,164 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 862.86 sec -2013-09-18 01:54:29,177 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 934.72 sec -2013-09-18 01:54:30,183 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 934.72 sec -2013-09-18 01:54:31,188 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 934.72 sec -MapReduce Total cumulative CPU time: 15 minutes 34 seconds 720 msec -Ended Job = job_201309172235_0167 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0168 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 01:54:34,764 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:54:44,797 Stage-2 map = 23%, reduce = 0% -2013-09-18 01:54:47,807 Stage-2 map = 46%, reduce = 0% -2013-09-18 01:54:50,817 Stage-2 map = 52%, reduce = 0% -2013-09-18 01:54:52,826 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-18 01:54:53,831 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-18 01:54:54,836 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-18 01:54:55,841 Stage-2 map = 69%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-18 01:54:56,847 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-18 01:54:57,852 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-18 01:54:58,857 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-18 01:54:59,863 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 23.57 sec -2013-09-18 01:55:00,868 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 23.57 sec -2013-09-18 01:55:01,874 Stage-2 map = 81%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:02,879 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:03,883 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:04,888 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:05,898 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:06,903 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:07,908 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:08,913 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:09,918 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:10,923 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:11,928 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:12,933 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:13,938 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:14,942 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:15,947 Stage-2 map = 94%, reduce = 17%, Cumulative CPU 57.88 sec -2013-09-18 01:55:16,952 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.06 sec -2013-09-18 01:55:17,957 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.06 sec -2013-09-18 01:55:18,962 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.06 sec -2013-09-18 01:55:19,967 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.06 sec -2013-09-18 01:55:20,972 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.06 sec -2013-09-18 01:55:21,977 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.06 sec -2013-09-18 01:55:22,982 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.06 sec -2013-09-18 01:55:23,987 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.06 sec -2013-09-18 01:55:24,992 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.06 sec -2013-09-18 01:55:25,997 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.06 sec -2013-09-18 01:55:27,002 Stage-2 map = 100%, reduce = 89%, Cumulative CPU 77.06 sec -2013-09-18 01:55:28,008 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 86.19 sec -2013-09-18 01:55:29,013 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 86.19 sec -MapReduce Total cumulative CPU time: 1 minutes 26 seconds 190 msec -Ended Job = job_201309172235_0168 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 934.72 sec HDFS Read: 339202346 HDFS Write: 374792539 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 86.19 sec HDFS Read: 374796261 HDFS Write: 498 SUCCESS -Total MapReduce CPU Time Spent: 17 minutes 0 seconds 910 msec -OK -Time taken: 118.18 seconds, Fetched: 10 row(s) -hive> quit; - -times: 1 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21734@mturlrep13_201309180155_15887287.txt -hive> ; -hive> quit; - -times: 2 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21941@mturlrep13_201309180155_1922409770.txt -hive> ; -hive> quit; - -times: 3 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22141@mturlrep13_201309180155_818952348.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22349@mturlrep13_201309180155_129320467.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0169 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:55:58,117 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:56:11,233 Stage-1 map = 2%, reduce = 0% -2013-09-18 01:56:12,984 Stage-1 map = 3%, reduce = 0% -2013-09-18 01:56:13,990 Stage-1 map = 8%, reduce = 0% -2013-09-18 01:56:14,996 Stage-1 map = 14%, reduce = 0% -2013-09-18 01:56:16,314 Stage-1 map = 16%, reduce = 0% -2013-09-18 01:56:21,716 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:56:22,731 Stage-1 map = 38%, reduce = 0% -2013-09-18 01:56:24,752 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 22.96 sec -2013-09-18 01:56:25,760 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 22.96 sec -2013-09-18 01:56:26,767 Stage-1 map = 58%, reduce = 0%, Cumulative CPU 22.96 sec -2013-09-18 01:56:28,182 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 44.33 sec -2013-09-18 01:56:29,188 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 44.33 sec -2013-09-18 01:56:30,404 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 90.25 sec -2013-09-18 01:56:31,813 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 335.9 sec -2013-09-18 01:56:32,821 Stage-1 map = 98%, reduce = 0%, Cumulative CPU 404.3 sec -2013-09-18 01:56:33,827 Stage-1 map = 100%, reduce = 2%, Cumulative CPU 427.67 sec -2013-09-18 01:56:34,833 Stage-1 map = 100%, reduce = 11%, Cumulative CPU 427.67 sec -2013-09-18 01:56:35,840 Stage-1 map = 100%, reduce = 14%, Cumulative CPU 427.67 sec -2013-09-18 01:56:36,846 Stage-1 map = 100%, reduce = 23%, Cumulative CPU 427.67 sec -2013-09-18 01:56:37,854 Stage-1 map = 100%, reduce = 41%, Cumulative CPU 436.66 sec -2013-09-18 01:56:38,862 Stage-1 map = 100%, reduce = 47%, Cumulative CPU 436.66 sec -2013-09-18 01:56:39,869 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 446.83 sec -2013-09-18 01:56:40,875 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 454.28 sec -2013-09-18 01:56:41,881 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 463.94 sec -2013-09-18 01:56:42,887 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 463.94 sec -MapReduce Total cumulative CPU time: 7 minutes 43 seconds 940 msec -Ended Job = job_201309172235_0169 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0170 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 01:56:46,407 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:56:48,416 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.68 sec -2013-09-18 01:56:49,421 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.68 sec -2013-09-18 01:56:50,426 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.68 sec -2013-09-18 01:56:51,430 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.68 sec -2013-09-18 01:56:52,435 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.68 sec -2013-09-18 01:56:53,439 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.68 sec -2013-09-18 01:56:54,444 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.68 sec -2013-09-18 01:56:55,450 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-18 01:56:56,455 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-18 01:56:57,460 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -MapReduce Total cumulative CPU time: 2 seconds 140 msec -Ended Job = job_201309172235_0170 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 463.94 sec HDFS Read: 993495605 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.14 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 46 seconds 80 msec -OK -Time taken: 70.292 seconds -hive> quit; - -times: 2 -query: SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29743@mturlrep13_201309180156_208621189.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0171 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:57:08,252 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:57:17,362 Stage-1 map = 1%, reduce = 0% -2013-09-18 01:57:18,402 Stage-1 map = 8%, reduce = 0% -2013-09-18 01:57:19,415 Stage-1 map = 9%, reduce = 0% -2013-09-18 01:57:20,427 Stage-1 map = 13%, reduce = 0% -2013-09-18 01:57:21,432 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:57:22,447 Stage-1 map = 40%, reduce = 0%, Cumulative CPU 8.67 sec -2013-09-18 01:57:23,455 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 8.67 sec -2013-09-18 01:57:24,469 Stage-1 map = 52%, reduce = 0%, Cumulative CPU 8.67 sec -2013-09-18 01:57:25,476 Stage-1 map = 64%, reduce = 0%, Cumulative CPU 33.09 sec -2013-09-18 01:57:26,484 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 276.39 sec -2013-09-18 01:57:27,491 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 454.8 sec -2013-09-18 01:57:28,497 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 454.8 sec -2013-09-18 01:57:29,504 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 454.8 sec -2013-09-18 01:57:30,510 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 454.8 sec -2013-09-18 01:57:31,516 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 454.8 sec -2013-09-18 01:57:32,522 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 454.8 sec -2013-09-18 01:57:33,529 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 454.8 sec -2013-09-18 01:57:34,536 Stage-1 map = 100%, reduce = 18%, Cumulative CPU 454.8 sec -2013-09-18 01:57:35,549 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 469.58 sec -2013-09-18 01:57:36,556 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 487.12 sec -2013-09-18 01:57:37,564 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 493.48 sec -2013-09-18 01:57:38,570 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 493.48 sec -2013-09-18 01:57:39,576 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 493.48 sec -MapReduce Total cumulative CPU time: 8 minutes 13 seconds 480 msec -Ended Job = job_201309172235_0171 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0172 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 01:57:43,495 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:57:44,501 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 01:57:45,506 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 01:57:46,511 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 01:57:47,516 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 01:57:48,520 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 01:57:49,524 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 01:57:50,529 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 01:57:51,533 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 01:57:52,538 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -2013-09-18 01:57:53,544 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -2013-09-18 01:57:54,549 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -MapReduce Total cumulative CPU time: 2 seconds 250 msec -Ended Job = job_201309172235_0172 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 493.48 sec HDFS Read: 993495605 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.25 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 15 seconds 730 msec -OK -Time taken: 55.211 seconds -hive> quit; - -times: 3 -query: SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4778@mturlrep13_201309180157_2071772922.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0173 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:58:05,573 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:58:14,649 Stage-1 map = 1%, reduce = 0% -2013-09-18 01:58:15,664 Stage-1 map = 9%, reduce = 0% -2013-09-18 01:58:17,723 Stage-1 map = 12%, reduce = 0% -2013-09-18 01:58:18,734 Stage-1 map = 36%, reduce = 0% -2013-09-18 01:58:19,756 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 8.38 sec -2013-09-18 01:58:20,765 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 8.38 sec -2013-09-18 01:58:21,773 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 8.38 sec -2013-09-18 01:58:22,797 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 32.26 sec -2013-09-18 01:58:23,804 Stage-1 map = 87%, reduce = 0%, Cumulative CPU 254.83 sec -2013-09-18 01:58:24,812 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 460.38 sec -2013-09-18 01:58:25,818 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 460.38 sec -2013-09-18 01:58:26,825 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 460.38 sec -2013-09-18 01:58:27,831 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 460.38 sec -2013-09-18 01:58:28,836 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 460.38 sec -2013-09-18 01:58:29,842 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 460.38 sec -2013-09-18 01:58:30,847 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 460.38 sec -2013-09-18 01:58:31,854 Stage-1 map = 100%, reduce = 15%, Cumulative CPU 460.38 sec -2013-09-18 01:58:32,864 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 474.21 sec -2013-09-18 01:58:33,870 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 487.03 sec -2013-09-18 01:58:34,876 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 496.96 sec -2013-09-18 01:58:35,882 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 496.96 sec -2013-09-18 01:58:36,888 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 496.96 sec -MapReduce Total cumulative CPU time: 8 minutes 16 seconds 960 msec -Ended Job = job_201309172235_0173 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0174 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 01:58:40,381 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:58:41,387 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 01:58:42,393 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 01:58:43,398 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 01:58:44,403 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 01:58:45,408 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 01:58:46,413 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 01:58:47,418 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 01:58:48,423 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 01:58:49,429 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-18 01:58:50,435 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-18 01:58:51,440 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -MapReduce Total cumulative CPU time: 2 seconds 200 msec -Ended Job = job_201309172235_0174 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 496.96 sec HDFS Read: 993495605 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.2 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 19 seconds 160 msec -OK -Time taken: 55.076 seconds -hive> quit; - -times: 1 -query: SELECT Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12570@mturlrep13_201309180158_2097047961.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0175 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 01:59:09,511 Stage-1 map = 0%, reduce = 0% -2013-09-18 01:59:19,576 Stage-1 map = 5%, reduce = 0% -2013-09-18 01:59:22,593 Stage-1 map = 15%, reduce = 0% -2013-09-18 01:59:25,607 Stage-1 map = 29%, reduce = 0% -2013-09-18 01:59:26,612 Stage-1 map = 30%, reduce = 0% -2013-09-18 01:59:28,833 Stage-1 map = 42%, reduce = 0% -2013-09-18 01:59:34,330 Stage-1 map = 67%, reduce = 0%, Cumulative CPU 122.09 sec -2013-09-18 01:59:35,337 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 176.65 sec -2013-09-18 01:59:36,349 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 230.21 sec -2013-09-18 01:59:37,356 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 395.83 sec -2013-09-18 01:59:38,362 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 407.07 sec -2013-09-18 01:59:39,368 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 407.07 sec -2013-09-18 01:59:40,374 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 407.07 sec -2013-09-18 01:59:41,380 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 407.07 sec -2013-09-18 01:59:42,386 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 407.07 sec -2013-09-18 01:59:43,395 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 413.7 sec -2013-09-18 01:59:44,403 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 423.63 sec -2013-09-18 01:59:45,410 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 434.03 sec -2013-09-18 01:59:46,417 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 443.68 sec -2013-09-18 01:59:47,424 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 443.68 sec -MapReduce Total cumulative CPU time: 7 minutes 23 seconds 680 msec -Ended Job = job_201309172235_0175 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0176 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 01:59:50,937 Stage-2 map = 0%, reduce = 0% -2013-09-18 01:59:52,947 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 01:59:53,953 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 01:59:54,958 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 01:59:55,963 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 01:59:56,969 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 01:59:57,974 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 01:59:58,981 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 01:59:59,987 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.72 sec -2013-09-18 02:00:00,993 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -2013-09-18 02:00:01,999 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -MapReduce Total cumulative CPU time: 2 seconds 250 msec -Ended Job = job_201309172235_0176 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 443.68 sec HDFS Read: 876843443 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.25 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 25 seconds 930 msec -OK -Time taken: 63.4 seconds -hive> quit; - -times: 2 -query: SELECT Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19761@mturlrep13_201309180200_1379051620.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0177 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:00:13,526 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:00:23,659 Stage-1 map = 11%, reduce = 0% -2013-09-18 02:00:26,730 Stage-1 map = 48%, reduce = 0% -2013-09-18 02:00:28,741 Stage-1 map = 50%, reduce = 0% -2013-09-18 02:00:29,755 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 48.44 sec -2013-09-18 02:00:30,772 Stage-1 map = 77%, reduce = 0%, Cumulative CPU 100.32 sec -2013-09-18 02:00:31,784 Stage-1 map = 91%, reduce = 0%, Cumulative CPU 281.43 sec -2013-09-18 02:00:32,792 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 435.17 sec -2013-09-18 02:00:33,799 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 435.17 sec -2013-09-18 02:00:34,806 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 435.17 sec -2013-09-18 02:00:35,812 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 435.17 sec -2013-09-18 02:00:36,818 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 435.17 sec -2013-09-18 02:00:37,824 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 435.17 sec -2013-09-18 02:00:38,831 Stage-1 map = 100%, reduce = 15%, Cumulative CPU 435.17 sec -2013-09-18 02:00:39,843 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 448.52 sec -2013-09-18 02:00:40,850 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 470.07 sec -2013-09-18 02:00:41,857 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 473.43 sec -2013-09-18 02:00:42,864 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 473.43 sec -MapReduce Total cumulative CPU time: 7 minutes 53 seconds 430 msec -Ended Job = job_201309172235_0177 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0178 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:00:45,348 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:00:47,357 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:00:48,363 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:00:49,367 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:00:50,372 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:00:51,376 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:00:52,381 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:00:53,385 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:00:54,390 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.71 sec -2013-09-18 02:00:55,396 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -2013-09-18 02:00:56,403 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -MapReduce Total cumulative CPU time: 2 seconds 190 msec -Ended Job = job_201309172235_0178 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 473.43 sec HDFS Read: 876843443 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.19 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 55 seconds 620 msec -OK -Time taken: 52.093 seconds -hive> quit; - -times: 3 -query: SELECT Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27543@mturlrep13_201309180200_2073175542.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0179 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:01:07,075 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:01:16,231 Stage-1 map = 4%, reduce = 0% -2013-09-18 02:01:17,250 Stage-1 map = 10%, reduce = 0% -2013-09-18 02:01:19,265 Stage-1 map = 22%, reduce = 0% -2013-09-18 02:01:20,281 Stage-1 map = 48%, reduce = 0% -2013-09-18 02:01:21,287 Stage-1 map = 50%, reduce = 0% -2013-09-18 02:01:22,302 Stage-1 map = 54%, reduce = 0%, Cumulative CPU 28.59 sec -2013-09-18 02:01:23,344 Stage-1 map = 69%, reduce = 0%, Cumulative CPU 58.45 sec -2013-09-18 02:01:24,364 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 92.94 sec -2013-09-18 02:01:25,375 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 322.31 sec -2013-09-18 02:01:26,382 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 437.99 sec -2013-09-18 02:01:27,387 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 437.99 sec -2013-09-18 02:01:28,392 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 437.99 sec -2013-09-18 02:01:29,398 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 437.99 sec -2013-09-18 02:01:30,404 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 437.99 sec -2013-09-18 02:01:31,410 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 437.99 sec -2013-09-18 02:01:32,417 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 437.99 sec -2013-09-18 02:01:33,427 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 448.33 sec -2013-09-18 02:01:34,433 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 477.42 sec -2013-09-18 02:01:35,440 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 477.42 sec -2013-09-18 02:01:36,447 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 477.42 sec -MapReduce Total cumulative CPU time: 7 minutes 57 seconds 420 msec -Ended Job = job_201309172235_0179 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0180 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:01:39,908 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:01:40,913 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:01:41,919 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:01:42,924 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:01:43,928 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:01:44,933 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:01:46,032 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:01:47,037 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:01:48,042 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.79 sec -2013-09-18 02:01:49,048 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 02:01:50,053 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 02:01:51,058 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -MapReduce Total cumulative CPU time: 2 seconds 210 msec -Ended Job = job_201309172235_0180 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 477.42 sec HDFS Read: 876843443 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.21 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 59 seconds 630 msec -OK -Time taken: 52.895 seconds -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2326@mturlrep13_201309180201_303775162.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0181 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:02:08,645 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:02:18,769 Stage-1 map = 1%, reduce = 0% -2013-09-18 02:02:22,796 Stage-1 map = 5%, reduce = 0% -2013-09-18 02:02:23,803 Stage-1 map = 6%, reduce = 0% -2013-09-18 02:02:27,959 Stage-1 map = 24%, reduce = 0% -2013-09-18 02:02:32,561 Stage-1 map = 44%, reduce = 0% -2013-09-18 02:02:33,569 Stage-1 map = 54%, reduce = 0% -2013-09-18 02:02:34,585 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 56.79 sec -2013-09-18 02:02:35,594 Stage-1 map = 62%, reduce = 0%, Cumulative CPU 80.27 sec -2013-09-18 02:02:38,969 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 148.88 sec -2013-09-18 02:02:39,974 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 219.04 sec -2013-09-18 02:02:40,981 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 315.44 sec -2013-09-18 02:02:41,987 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 427.42 sec -2013-09-18 02:02:42,993 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 438.91 sec -2013-09-18 02:02:44,000 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 438.91 sec -2013-09-18 02:02:45,006 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 438.91 sec -2013-09-18 02:02:46,014 Stage-1 map = 100%, reduce = 45%, Cumulative CPU 454.78 sec -2013-09-18 02:02:47,020 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 454.78 sec -2013-09-18 02:02:48,027 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 465.13 sec -2013-09-18 02:02:49,033 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 474.77 sec -2013-09-18 02:02:50,040 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 474.77 sec -2013-09-18 02:02:51,046 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 474.77 sec -MapReduce Total cumulative CPU time: 7 minutes 54 seconds 770 msec -Ended Job = job_201309172235_0181 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0182 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:02:54,504 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:02:56,511 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:02:57,516 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:02:58,520 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:02:59,524 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:00,529 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:01,533 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:02,538 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:03,543 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-18 02:03:04,547 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-18 02:03:05,553 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -MapReduce Total cumulative CPU time: 2 seconds 200 msec -Ended Job = job_201309172235_0182 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 474.77 sec HDFS Read: 988828092 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.2 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 56 seconds 970 msec -OK -Time taken: 67.483 seconds -hive> quit; - -times: 2 -query: SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10101@mturlrep13_201309180203_1414891537.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0183 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:03:15,331 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:03:25,419 Stage-1 map = 2%, reduce = 0% -2013-09-18 02:03:26,435 Stage-1 map = 10%, reduce = 0% -2013-09-18 02:03:28,457 Stage-1 map = 14%, reduce = 0% -2013-09-18 02:03:29,465 Stage-1 map = 37%, reduce = 0% -2013-09-18 02:03:30,480 Stage-1 map = 41%, reduce = 0%, Cumulative CPU 8.3 sec -2013-09-18 02:03:31,488 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 8.3 sec -2013-09-18 02:03:32,496 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 19.5 sec -2013-09-18 02:03:33,503 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 31.5 sec -2013-09-18 02:03:34,511 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 192.2 sec -2013-09-18 02:03:35,518 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 435.25 sec -2013-09-18 02:03:36,525 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 463.51 sec -2013-09-18 02:03:37,531 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 463.51 sec -2013-09-18 02:03:38,536 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 463.51 sec -2013-09-18 02:03:39,542 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 463.51 sec -2013-09-18 02:03:40,548 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 463.51 sec -2013-09-18 02:03:41,554 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 463.51 sec -2013-09-18 02:03:42,560 Stage-1 map = 100%, reduce = 24%, Cumulative CPU 463.51 sec -2013-09-18 02:03:43,568 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 487.09 sec -2013-09-18 02:03:44,575 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 500.52 sec -2013-09-18 02:03:45,581 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 500.52 sec -2013-09-18 02:03:46,587 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 500.52 sec -MapReduce Total cumulative CPU time: 8 minutes 20 seconds 520 msec -Ended Job = job_201309172235_0183 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0184 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:03:49,037 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:03:51,046 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:52,051 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:53,056 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:54,061 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:55,066 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:56,071 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:57,076 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:58,080 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 02:03:59,086 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.34 sec -2013-09-18 02:04:00,091 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.34 sec -2013-09-18 02:04:01,096 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.34 sec -MapReduce Total cumulative CPU time: 2 seconds 340 msec -Ended Job = job_201309172235_0184 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 500.52 sec HDFS Read: 988828092 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.34 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 22 seconds 860 msec -OK -Time taken: 53.704 seconds -hive> quit; - -times: 3 -query: SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17498@mturlrep13_201309180204_309695720.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0185 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:04:11,776 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:04:20,938 Stage-1 map = 3%, reduce = 0% -2013-09-18 02:04:21,952 Stage-1 map = 11%, reduce = 0% -2013-09-18 02:04:23,979 Stage-1 map = 13%, reduce = 0% -2013-09-18 02:04:24,984 Stage-1 map = 37%, reduce = 0% -2013-09-18 02:04:25,990 Stage-1 map = 44%, reduce = 0% -2013-09-18 02:04:28,019 Stage-1 map = 53%, reduce = 0%, Cumulative CPU 8.73 sec -2013-09-18 02:04:29,048 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 43.13 sec -2013-09-18 02:04:30,071 Stage-1 map = 84%, reduce = 0%, Cumulative CPU 227.84 sec -2013-09-18 02:04:31,079 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 459.59 sec -2013-09-18 02:04:32,089 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 459.59 sec -2013-09-18 02:04:33,095 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 459.59 sec -2013-09-18 02:04:34,101 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 459.59 sec -2013-09-18 02:04:35,106 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 459.59 sec -2013-09-18 02:04:36,112 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 459.59 sec -2013-09-18 02:04:37,119 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 459.59 sec -2013-09-18 02:04:38,128 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 462.59 sec -2013-09-18 02:04:39,135 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 476.43 sec -2013-09-18 02:04:40,142 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 490.11 sec -2013-09-18 02:04:41,149 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 496.41 sec -2013-09-18 02:04:42,156 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 496.41 sec -2013-09-18 02:04:43,162 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 496.41 sec -MapReduce Total cumulative CPU time: 8 minutes 16 seconds 410 msec -Ended Job = job_201309172235_0185 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0186 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:04:45,666 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:04:47,674 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:04:48,680 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:04:49,685 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:04:50,689 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:04:51,694 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:04:52,699 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:04:53,703 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:04:54,707 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.7 sec -2013-09-18 02:04:55,712 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.15 sec -2013-09-18 02:04:56,718 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.15 sec -2013-09-18 02:04:57,723 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.15 sec -MapReduce Total cumulative CPU time: 2 seconds 150 msec -Ended Job = job_201309172235_0186 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 496.41 sec HDFS Read: 988828092 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.15 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 8 minutes 18 seconds 560 msec -OK -Time taken: 54.814 seconds -hive> quit; - -times: 1 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24933@mturlrep13_201309180205_1377920242.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; ; -FAILED: SemanticException [Error 10128]: Line 1:415 Not yet supported place for UDAF 'count' -hive> quit; - -times: 2 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25460@mturlrep13_201309180205_1132498226.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; ; -FAILED: SemanticException [Error 10128]: Line 1:415 Not yet supported place for UDAF 'count' -hive> quit; - -times: 3 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26035@mturlrep13_201309180205_978107887.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; ; -FAILED: SemanticException [Error 10128]: Line 1:415 Not yet supported place for UDAF 'count' -hive> quit; - -times: 1 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26250@mturlrep13_201309180205_637154344.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0187 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:05:41,227 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:05:51,363 Stage-1 map = 5%, reduce = 0% -2013-09-18 02:05:54,380 Stage-1 map = 16%, reduce = 0% -2013-09-18 02:05:57,395 Stage-1 map = 27%, reduce = 0% -2013-09-18 02:05:58,400 Stage-1 map = 30%, reduce = 0% -2013-09-18 02:06:00,410 Stage-1 map = 42%, reduce = 0% -2013-09-18 02:06:01,424 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 17.15 sec -2013-09-18 02:06:02,445 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 262.15 sec -2013-09-18 02:06:04,340 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 262.15 sec -2013-09-18 02:06:05,365 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 262.15 sec -2013-09-18 02:06:06,379 Stage-1 map = 68%, reduce = 0%, Cumulative CPU 285.59 sec -2013-09-18 02:06:07,390 Stage-1 map = 71%, reduce = 0%, Cumulative CPU 291.15 sec -2013-09-18 02:06:08,397 Stage-1 map = 90%, reduce = 0%, Cumulative CPU 320.44 sec -2013-09-18 02:06:09,404 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 364.61 sec -2013-09-18 02:06:10,410 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 373.66 sec -2013-09-18 02:06:11,417 Stage-1 map = 100%, reduce = 3%, Cumulative CPU 373.66 sec -2013-09-18 02:06:12,424 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 373.66 sec -2013-09-18 02:06:13,433 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 379.8 sec -2013-09-18 02:06:14,439 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 396.64 sec -2013-09-18 02:06:15,446 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 407.2 sec -2013-09-18 02:06:16,453 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 407.2 sec -2013-09-18 02:06:17,460 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 410.44 sec -2013-09-18 02:06:18,468 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 410.44 sec -MapReduce Total cumulative CPU time: 6 minutes 50 seconds 440 msec -Ended Job = job_201309172235_0187 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0188 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:06:21,966 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:06:22,972 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:06:23,978 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:06:24,984 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:06:25,990 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:06:26,994 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:06:27,999 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:06:29,004 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:06:30,008 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:06:31,015 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.41 sec -2013-09-18 02:06:32,021 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.41 sec -2013-09-18 02:06:33,027 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.41 sec -MapReduce Total cumulative CPU time: 2 seconds 410 msec -Ended Job = job_201309172235_0188 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 410.44 sec HDFS Read: 1326437326 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.41 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 6 minutes 52 seconds 850 msec -OK -Time taken: 62.644 seconds -hive> quit; - -times: 2 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1255@mturlrep13_201309180206_866108725.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0189 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:06:42,810 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:06:53,890 Stage-1 map = 1%, reduce = 0% -2013-09-18 02:06:54,899 Stage-1 map = 3%, reduce = 0% -2013-09-18 02:06:55,912 Stage-1 map = 12%, reduce = 0% -2013-09-18 02:06:56,943 Stage-1 map = 19%, reduce = 0% -2013-09-18 02:06:57,951 Stage-1 map = 20%, reduce = 0% -2013-09-18 02:06:58,970 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 9.16 sec -2013-09-18 02:07:00,000 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 83.33 sec -2013-09-18 02:07:01,028 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 218.77 sec -2013-09-18 02:07:02,042 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 399.52 sec -2013-09-18 02:07:03,049 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 425.85 sec -2013-09-18 02:07:04,055 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 425.85 sec -2013-09-18 02:07:05,061 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 425.85 sec -2013-09-18 02:07:06,067 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 425.85 sec -2013-09-18 02:07:07,073 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 425.85 sec -2013-09-18 02:07:08,080 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 425.85 sec -2013-09-18 02:07:09,086 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 425.85 sec -2013-09-18 02:07:10,096 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 446.81 sec -2013-09-18 02:07:11,102 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 459.98 sec -2013-09-18 02:07:12,109 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 463.17 sec -2013-09-18 02:07:13,117 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 463.17 sec -MapReduce Total cumulative CPU time: 7 minutes 43 seconds 170 msec -Ended Job = job_201309172235_0189 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0190 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:07:15,611 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:07:17,620 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:07:18,626 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:07:19,631 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:07:20,636 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:07:21,641 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:07:22,650 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:07:23,655 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:07:24,660 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.73 sec -2013-09-18 02:07:25,666 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.32 sec -2013-09-18 02:07:26,675 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.32 sec -MapReduce Total cumulative CPU time: 2 seconds 320 msec -Ended Job = job_201309172235_0190 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 463.17 sec HDFS Read: 1326437326 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.32 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 45 seconds 490 msec -OK -Time taken: 51.812 seconds -hive> quit; - -times: 3 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9097@mturlrep13_201309180207_752390467.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0191 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:07:36,443 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:07:48,547 Stage-1 map = 3%, reduce = 0% -2013-09-18 02:07:49,583 Stage-1 map = 13%, reduce = 0% -2013-09-18 02:07:50,619 Stage-1 map = 15%, reduce = 0% -2013-09-18 02:07:51,643 Stage-1 map = 22%, reduce = 0% -2013-09-18 02:07:52,690 Stage-1 map = 54%, reduce = 0%, Cumulative CPU 9.35 sec -2013-09-18 02:07:53,721 Stage-1 map = 62%, reduce = 0%, Cumulative CPU 50.99 sec -2013-09-18 02:07:54,737 Stage-1 map = 81%, reduce = 0%, Cumulative CPU 242.49 sec -2013-09-18 02:07:55,745 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 412.77 sec -2013-09-18 02:07:56,751 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 426.23 sec -2013-09-18 02:07:57,758 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 426.23 sec -2013-09-18 02:07:58,763 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 426.23 sec -2013-09-18 02:07:59,770 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 426.23 sec -2013-09-18 02:08:00,776 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 426.23 sec -2013-09-18 02:08:01,781 Stage-1 map = 100%, reduce = 9%, Cumulative CPU 426.23 sec -2013-09-18 02:08:02,791 Stage-1 map = 100%, reduce = 27%, Cumulative CPU 433.68 sec -2013-09-18 02:08:03,799 Stage-1 map = 100%, reduce = 61%, Cumulative CPU 444.3 sec -2013-09-18 02:08:04,806 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 460.63 sec -2013-09-18 02:08:05,812 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 464.02 sec -2013-09-18 02:08:06,819 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 464.02 sec -MapReduce Total cumulative CPU time: 7 minutes 44 seconds 20 msec -Ended Job = job_201309172235_0191 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0192 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:08:09,707 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:08:11,717 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:08:12,723 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:08:13,729 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:08:14,734 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:08:15,740 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:08:16,744 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:08:17,749 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:08:18,754 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.74 sec -2013-09-18 02:08:19,760 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -2013-09-18 02:08:20,766 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -2013-09-18 02:08:21,771 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -MapReduce Total cumulative CPU time: 2 seconds 290 msec -Ended Job = job_201309172235_0192 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 464.02 sec HDFS Read: 1326437326 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.29 sec HDFS Read: 4622 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 46 seconds 310 msec -OK -Time taken: 53.23 seconds -hive> quit; - -times: 1 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16494@mturlrep13_201309180208_1768463196.txt -hive> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0193 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:08:39,476 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:08:52,587 Stage-1 map = 2%, reduce = 0% -2013-09-18 02:08:53,593 Stage-1 map = 3%, reduce = 0% -2013-09-18 02:08:58,633 Stage-1 map = 18%, reduce = 0% -2013-09-18 02:08:59,640 Stage-1 map = 22%, reduce = 0% -2013-09-18 02:09:01,649 Stage-1 map = 37%, reduce = 0% -2013-09-18 02:09:02,654 Stage-1 map = 38%, reduce = 0% -2013-09-18 02:09:04,909 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 242.14 sec -2013-09-18 02:09:05,923 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 243.18 sec -2013-09-18 02:09:06,929 Stage-1 map = 49%, reduce = 0%, Cumulative CPU 243.18 sec -2013-09-18 02:09:07,941 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 244.77 sec -2013-09-18 02:09:08,962 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 244.77 sec -2013-09-18 02:09:10,398 Stage-1 map = 66%, reduce = 0%, Cumulative CPU 250.0 sec -2013-09-18 02:09:11,404 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 278.26 sec -2013-09-18 02:09:12,413 Stage-1 map = 76%, reduce = 0%, Cumulative CPU 278.26 sec -2013-09-18 02:09:13,428 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 289.83 sec -2013-09-18 02:09:14,435 Stage-1 map = 97%, reduce = 1%, Cumulative CPU 362.43 sec -2013-09-18 02:09:15,442 Stage-1 map = 100%, reduce = 1%, Cumulative CPU 399.93 sec -2013-09-18 02:09:16,449 Stage-1 map = 100%, reduce = 4%, Cumulative CPU 399.93 sec -2013-09-18 02:09:17,455 Stage-1 map = 100%, reduce = 15%, Cumulative CPU 399.93 sec -2013-09-18 02:09:18,463 Stage-1 map = 100%, reduce = 45%, Cumulative CPU 412.86 sec -2013-09-18 02:09:19,469 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 419.48 sec -2013-09-18 02:09:20,476 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 419.48 sec -2013-09-18 02:09:21,483 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 434.29 sec -2013-09-18 02:09:22,490 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 437.36 sec -2013-09-18 02:09:23,496 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 437.36 sec -MapReduce Total cumulative CPU time: 7 minutes 17 seconds 360 msec -Ended Job = job_201309172235_0193 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0194 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:09:27,006 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:09:28,011 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:09:29,015 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:09:30,021 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:09:31,024 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:09:32,028 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:09:33,032 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:09:34,037 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:09:35,041 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.7 sec -2013-09-18 02:09:36,047 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 02:09:37,052 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 02:09:38,057 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -MapReduce Total cumulative CPU time: 2 seconds 210 msec -Ended Job = job_201309172235_0194 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 437.36 sec HDFS Read: 1004716597 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.21 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 19 seconds 570 msec -OK -Time taken: 69.068 seconds -hive> quit; - -times: 2 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24195@mturlrep13_201309180209_485949400.txt -hive> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0195 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:09:47,707 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:09:58,784 Stage-1 map = 1%, reduce = 0% -2013-09-18 02:09:59,803 Stage-1 map = 8%, reduce = 0% -2013-09-18 02:10:00,817 Stage-1 map = 13%, reduce = 0% -2013-09-18 02:10:01,836 Stage-1 map = 18%, reduce = 0% -2013-09-18 02:10:02,908 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 279.26 sec -2013-09-18 02:10:03,925 Stage-1 map = 55%, reduce = 0%, Cumulative CPU 286.13 sec -2013-09-18 02:10:04,949 Stage-1 map = 62%, reduce = 0%, Cumulative CPU 292.13 sec -2013-09-18 02:10:05,955 Stage-1 map = 83%, reduce = 0%, Cumulative CPU 359.01 sec -2013-09-18 02:10:06,963 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 409.34 sec -2013-09-18 02:10:07,970 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 422.22 sec -2013-09-18 02:10:08,976 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 422.22 sec -2013-09-18 02:10:09,981 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 422.22 sec -2013-09-18 02:10:10,987 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 422.22 sec -2013-09-18 02:10:11,993 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 422.22 sec -2013-09-18 02:10:13,002 Stage-1 map = 100%, reduce = 12%, Cumulative CPU 422.22 sec -2013-09-18 02:10:14,012 Stage-1 map = 100%, reduce = 30%, Cumulative CPU 425.38 sec -2013-09-18 02:10:15,028 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 448.26 sec -2013-09-18 02:10:16,035 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 462.58 sec -2013-09-18 02:10:17,041 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 462.58 sec -2013-09-18 02:10:18,047 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 462.58 sec -MapReduce Total cumulative CPU time: 7 minutes 42 seconds 580 msec -Ended Job = job_201309172235_0195 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0196 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:10:22,087 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:10:24,096 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:10:25,101 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:10:26,106 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:10:27,111 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:10:28,116 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:10:29,121 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:10:30,126 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:10:31,131 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -2013-09-18 02:10:32,137 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -2013-09-18 02:10:33,142 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -MapReduce Total cumulative CPU time: 2 seconds 250 msec -Ended Job = job_201309172235_0196 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 462.58 sec HDFS Read: 1004716597 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.25 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 44 seconds 830 msec -OK -Time taken: 53.234 seconds -hive> quit; - -times: 3 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32545@mturlrep13_201309180210_1142487279.txt -hive> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 11 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0197 -Hadoop job information for Stage-1: number of mappers: 37; number of reducers: 11 -2013-09-18 02:10:43,786 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:10:53,999 Stage-1 map = 1%, reduce = 0% -2013-09-18 02:10:55,007 Stage-1 map = 4%, reduce = 0% -2013-09-18 02:10:56,013 Stage-1 map = 11%, reduce = 0% -2013-09-18 02:10:57,019 Stage-1 map = 17%, reduce = 0% -2013-09-18 02:10:58,030 Stage-1 map = 28%, reduce = 0% -2013-09-18 02:10:59,047 Stage-1 map = 48%, reduce = 0% -2013-09-18 02:11:00,066 Stage-1 map = 61%, reduce = 0%, Cumulative CPU 51.25 sec -2013-09-18 02:11:01,076 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 185.97 sec -2013-09-18 02:11:02,087 Stage-1 map = 99%, reduce = 0%, Cumulative CPU 391.71 sec -2013-09-18 02:11:03,100 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 432.05 sec -2013-09-18 02:11:04,107 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 432.05 sec -2013-09-18 02:11:05,113 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 432.05 sec -2013-09-18 02:11:06,118 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 432.05 sec -2013-09-18 02:11:07,124 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 432.05 sec -2013-09-18 02:11:08,130 Stage-1 map = 100%, reduce = 6%, Cumulative CPU 432.05 sec -2013-09-18 02:11:09,140 Stage-1 map = 100%, reduce = 36%, Cumulative CPU 438.09 sec -2013-09-18 02:11:10,147 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 452.13 sec -2013-09-18 02:11:11,154 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 466.84 sec -2013-09-18 02:11:12,160 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 470.1 sec -2013-09-18 02:11:13,166 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 470.1 sec -MapReduce Total cumulative CPU time: 7 minutes 50 seconds 100 msec -Ended Job = job_201309172235_0197 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0198 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:11:16,669 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:11:17,675 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:11:18,680 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:11:19,686 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:11:20,691 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:11:21,696 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:11:22,700 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:11:23,705 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:11:24,711 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-18 02:11:25,716 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -2013-09-18 02:11:26,721 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -2013-09-18 02:11:27,727 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -MapReduce Total cumulative CPU time: 2 seconds 260 msec -Ended Job = job_201309172235_0198 -MapReduce Jobs Launched: -Job 0: Map: 37 Reduce: 11 Cumulative CPU: 470.1 sec HDFS Read: 1004716597 HDFS Write: 1056 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.26 sec HDFS Read: 4633 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 7 minutes 52 seconds 360 msec -OK -Time taken: 52.853 seconds -hive> quit; - -times: 1 -query: SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8277@mturlrep13_201309180211_1471622.txt -hive> SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; ; -hive> quit; - -times: 2 -query: SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8496@mturlrep13_201309180211_1815785181.txt -hive> SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; ; -hive> quit; - -times: 3 -query: SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8703@mturlrep13_201309180211_1151158687.txt -hive> SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_100m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; ; -hive> quit; -stop time: Ср. сент. 18 02:11:52 MSK 2013 diff --git a/benchmark/hive/log/log_10m/log_10m_ b/benchmark/hive/log/log_10m/log_10m_ deleted file mode 100644 index 691327c9a38..00000000000 --- a/benchmark/hive/log/log_10m/log_10m_ +++ /dev/null @@ -1,5506 +0,0 @@ -start time: Вт. сент. 10 19:59:13 MSK 2013 -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30031@mturlrep13_201309101959_1531819947.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30467@mturlrep13_201309101959_742405451.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0102 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 19:59:33,010 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:59:40,041 Stage-1 map = 7%, reduce = 0% -2013-09-10 19:59:46,067 Stage-1 map = 14%, reduce = 0% -2013-09-10 19:59:49,084 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:50,090 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:51,096 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:52,102 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:53,107 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:54,112 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:55,145 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:56,150 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:57,155 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:58,160 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 19:59:59,165 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 20:00:00,170 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 45.21 sec -2013-09-10 20:00:01,177 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 70.99 sec -2013-09-10 20:00:02,183 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 70.99 sec -2013-09-10 20:00:03,189 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 70.99 sec -2013-09-10 20:00:04,194 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 70.99 sec -2013-09-10 20:00:05,221 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 70.99 sec -2013-09-10 20:00:06,226 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 70.99 sec -2013-09-10 20:00:07,231 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 70.99 sec -2013-09-10 20:00:08,237 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:09,242 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:10,247 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:11,253 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:12,258 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:13,264 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:14,269 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:15,303 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:16,308 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:17,313 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:18,317 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:19,322 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:20,327 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:21,332 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:22,337 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:23,342 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:24,347 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:25,353 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:26,358 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 70.99 sec -2013-09-10 20:00:27,362 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 107.19 sec -2013-09-10 20:00:28,367 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 107.19 sec -2013-09-10 20:00:29,371 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.24 sec -2013-09-10 20:00:30,376 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.24 sec -2013-09-10 20:00:31,380 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.24 sec -2013-09-10 20:00:32,385 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.24 sec -2013-09-10 20:00:33,390 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.24 sec -2013-09-10 20:00:34,397 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.71 sec -2013-09-10 20:00:35,402 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.71 sec -MapReduce Total cumulative CPU time: 2 minutes 27 seconds 710 msec -Ended Job = job_201309101627_0102 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 147.71 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 27 seconds 710 msec -OK -10000000 -Time taken: 72.111 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32544@mturlrep13_201309102000_1646880380.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_518@mturlrep13_201309102000_754325810.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0103 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:00:48,452 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:00:56,488 Stage-1 map = 7%, reduce = 0% -2013-09-10 20:00:59,500 Stage-1 map = 14%, reduce = 0% -2013-09-10 20:01:05,526 Stage-1 map = 22%, reduce = 0% -2013-09-10 20:01:08,538 Stage-1 map = 29%, reduce = 0% -2013-09-10 20:01:11,550 Stage-1 map = 36%, reduce = 0% -2013-09-10 20:01:14,561 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:01:16,575 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 80.56 sec -2013-09-10 20:01:17,582 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 80.56 sec -2013-09-10 20:01:18,587 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 80.56 sec -2013-09-10 20:01:19,593 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 80.56 sec -2013-09-10 20:01:20,598 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 80.56 sec -2013-09-10 20:01:21,603 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 80.56 sec -2013-09-10 20:01:22,608 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 80.56 sec -2013-09-10 20:01:23,613 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 80.56 sec -2013-09-10 20:01:24,619 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:25,624 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:26,629 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:27,634 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:28,639 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:29,645 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:30,650 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:31,654 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:32,659 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:33,665 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:34,670 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:35,675 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:36,680 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:37,685 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:38,690 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:39,695 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 80.56 sec -2013-09-10 20:01:40,700 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 110.63 sec -2013-09-10 20:01:41,705 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 110.63 sec -2013-09-10 20:01:42,710 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 110.63 sec -2013-09-10 20:01:43,715 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.16 sec -2013-09-10 20:01:44,719 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.16 sec -2013-09-10 20:01:45,723 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.16 sec -2013-09-10 20:01:46,727 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.16 sec -2013-09-10 20:01:47,732 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 145.16 sec -2013-09-10 20:01:48,737 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 145.16 sec -2013-09-10 20:01:49,744 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.56 sec -2013-09-10 20:01:50,761 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.56 sec -2013-09-10 20:01:51,766 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.56 sec -MapReduce Total cumulative CPU time: 2 minutes 27 seconds 560 msec -Ended Job = job_201309101627_0103 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 147.56 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 27 seconds 560 msec -OK -10000000 -Time taken: 70.619 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2229@mturlrep13_201309102001_150357587.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2633@mturlrep13_201309102001_764470607.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0104 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:02:04,867 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:02:12,918 Stage-1 map = 7%, reduce = 0% -2013-09-10 20:02:15,932 Stage-1 map = 14%, reduce = 0% -2013-09-10 20:02:21,957 Stage-1 map = 22%, reduce = 0% -2013-09-10 20:02:24,969 Stage-1 map = 29%, reduce = 0% -2013-09-10 20:02:27,981 Stage-1 map = 36%, reduce = 0% -2013-09-10 20:02:30,995 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:02:32,005 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 34.44 sec -2013-09-10 20:02:33,013 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.6 sec -2013-09-10 20:02:34,019 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.6 sec -2013-09-10 20:02:35,032 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.6 sec -2013-09-10 20:02:36,044 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.6 sec -2013-09-10 20:02:37,049 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.6 sec -2013-09-10 20:02:38,055 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.6 sec -2013-09-10 20:02:39,060 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.6 sec -2013-09-10 20:02:40,065 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:41,071 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:42,076 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:43,082 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:44,087 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:45,092 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:46,112 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:47,116 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:48,131 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:49,136 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 76.6 sec -2013-09-10 20:02:50,142 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 122.35 sec -2013-09-10 20:02:51,147 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 122.35 sec -2013-09-10 20:02:52,151 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 122.35 sec -2013-09-10 20:02:53,156 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 122.35 sec -2013-09-10 20:02:54,161 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 122.35 sec -2013-09-10 20:02:55,167 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 122.35 sec -2013-09-10 20:02:56,195 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 122.35 sec -2013-09-10 20:02:57,200 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 122.35 sec -2013-09-10 20:02:58,205 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 137.05 sec -2013-09-10 20:02:59,210 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 137.05 sec -2013-09-10 20:03:00,215 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 149.43 sec -2013-09-10 20:03:01,220 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 149.43 sec -2013-09-10 20:03:02,224 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 149.43 sec -2013-09-10 20:03:03,228 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 149.43 sec -2013-09-10 20:03:04,232 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 149.43 sec -2013-09-10 20:03:05,239 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 151.13 sec -2013-09-10 20:03:06,246 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 151.13 sec -2013-09-10 20:03:07,252 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 151.13 sec -MapReduce Total cumulative CPU time: 2 minutes 31 seconds 130 msec -Ended Job = job_201309101627_0104 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 151.13 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 31 seconds 130 msec -OK -10000000 -Time taken: 69.712 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4005@mturlrep13_201309102003_1205264534.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4453@mturlrep13_201309102003_994011847.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0105 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:03:27,324 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:03:32,353 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.26 sec -2013-09-10 20:03:33,361 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.26 sec -2013-09-10 20:03:34,368 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.26 sec -2013-09-10 20:03:35,374 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.26 sec -2013-09-10 20:03:36,380 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.26 sec -2013-09-10 20:03:37,386 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 17.88 sec -2013-09-10 20:03:38,392 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.98 sec -2013-09-10 20:03:39,398 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.98 sec -2013-09-10 20:03:40,407 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.98 sec -2013-09-10 20:03:41,413 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.98 sec -2013-09-10 20:03:42,420 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.98 sec -MapReduce Total cumulative CPU time: 25 seconds 980 msec -Ended Job = job_201309101627_0105 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 25.98 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 25 seconds 980 msec -OK -171127 -Time taken: 24.908 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5972@mturlrep13_201309102003_1892761219.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6381@mturlrep13_201309102003_2036843139.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0106 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:03:55,419 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:04:00,446 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 20:04:01,454 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 20:04:02,462 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 20:04:03,469 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 20:04:04,475 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 20:04:05,481 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-10 20:04:06,487 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-10 20:04:07,493 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-10 20:04:08,501 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.71 sec -2013-09-10 20:04:09,508 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.71 sec -2013-09-10 20:04:10,515 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.71 sec -MapReduce Total cumulative CPU time: 25 seconds 710 msec -Ended Job = job_201309101627_0106 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 25.71 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 25 seconds 710 msec -OK -171127 -Time taken: 22.567 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7629@mturlrep13_201309102004_1501464055.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8043@mturlrep13_201309102004_2101165091.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0107 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:04:23,561 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:04:28,586 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.66 sec -2013-09-10 20:04:29,594 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.66 sec -2013-09-10 20:04:30,602 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.66 sec -2013-09-10 20:04:31,608 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.66 sec -2013-09-10 20:04:32,613 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.66 sec -2013-09-10 20:04:33,618 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.37 sec -2013-09-10 20:04:34,623 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.37 sec -2013-09-10 20:04:35,628 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.37 sec -2013-09-10 20:04:36,635 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.28 sec -2013-09-10 20:04:37,641 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.28 sec -2013-09-10 20:04:38,648 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.28 sec -MapReduce Total cumulative CPU time: 25 seconds 280 msec -Ended Job = job_201309101627_0107 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 25.28 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 25 seconds 280 msec -OK -171127 -Time taken: 22.452 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9266@mturlrep13_201309102004_1013038557.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9693@mturlrep13_201309102004_1030085538.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0108 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:04:59,466 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:05:06,500 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-10 20:05:07,507 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-10 20:05:08,515 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-10 20:05:09,520 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-10 20:05:10,526 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-10 20:05:11,531 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-10 20:05:12,538 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-10 20:05:13,544 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 23.47 sec -2013-09-10 20:05:14,550 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.35 sec -2013-09-10 20:05:15,554 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.35 sec -2013-09-10 20:05:16,559 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.35 sec -2013-09-10 20:05:17,564 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.35 sec -2013-09-10 20:05:18,569 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.35 sec -2013-09-10 20:05:19,576 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.46 sec -2013-09-10 20:05:20,581 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.46 sec -2013-09-10 20:05:21,587 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.46 sec -MapReduce Total cumulative CPU time: 33 seconds 460 msec -Ended Job = job_201309101627_0108 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 33.46 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 460 msec -OK -Time taken: 32.261 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11697@mturlrep13_201309102005_1481049011.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12122@mturlrep13_201309102005_1165569106.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0109 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:05:35,519 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:05:41,547 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.67 sec -2013-09-10 20:05:42,554 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.67 sec -2013-09-10 20:05:43,560 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.67 sec -2013-09-10 20:05:44,565 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.67 sec -2013-09-10 20:05:45,570 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.67 sec -2013-09-10 20:05:46,575 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.67 sec -2013-09-10 20:05:47,581 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.67 sec -2013-09-10 20:05:48,586 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.39 sec -2013-09-10 20:05:49,591 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.39 sec -2013-09-10 20:05:50,597 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.98 sec -2013-09-10 20:05:51,602 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.98 sec -2013-09-10 20:05:52,607 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.98 sec -2013-09-10 20:05:53,611 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.98 sec -2013-09-10 20:05:54,618 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.53 sec -2013-09-10 20:05:55,624 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.53 sec -2013-09-10 20:05:56,629 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.53 sec -MapReduce Total cumulative CPU time: 34 seconds 530 msec -Ended Job = job_201309101627_0109 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 34.53 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 34 seconds 530 msec -OK -Time taken: 29.475 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13449@mturlrep13_201309102005_1900832859.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13873@mturlrep13_201309102006_801912719.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0110 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:06:10,558 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:06:16,584 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.41 sec -2013-09-10 20:06:17,590 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.41 sec -2013-09-10 20:06:18,599 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.41 sec -2013-09-10 20:06:19,606 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.41 sec -2013-09-10 20:06:20,611 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.41 sec -2013-09-10 20:06:21,616 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.41 sec -2013-09-10 20:06:22,622 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.41 sec -2013-09-10 20:06:23,627 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.36 sec -2013-09-10 20:06:24,632 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 32.36 sec -2013-09-10 20:06:25,638 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 32.36 sec -2013-09-10 20:06:26,643 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 32.36 sec -2013-09-10 20:06:27,648 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 32.36 sec -2013-09-10 20:06:28,653 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 32.36 sec -2013-09-10 20:06:29,657 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 32.36 sec -2013-09-10 20:06:30,664 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.45 sec -2013-09-10 20:06:31,670 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.45 sec -MapReduce Total cumulative CPU time: 34 seconds 450 msec -Ended Job = job_201309101627_0110 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 34.45 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 34 seconds 450 msec -OK -Time taken: 29.445 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15232@mturlrep13_201309102006_1831985638.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15654@mturlrep13_201309102006_663118057.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0111 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:06:52,411 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:06:59,445 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.89 sec -2013-09-10 20:07:00,452 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.89 sec -2013-09-10 20:07:01,459 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.89 sec -2013-09-10 20:07:02,465 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.89 sec -2013-09-10 20:07:03,470 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.89 sec -2013-09-10 20:07:04,476 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.89 sec -2013-09-10 20:07:05,481 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 21.89 sec -2013-09-10 20:07:06,487 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 29.59 sec -2013-09-10 20:07:07,492 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 29.59 sec -2013-09-10 20:07:08,497 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 29.59 sec -2013-09-10 20:07:09,502 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 29.59 sec -2013-09-10 20:07:10,506 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 29.59 sec -2013-09-10 20:07:11,511 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 29.59 sec -2013-09-10 20:07:12,518 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.64 sec -2013-09-10 20:07:13,524 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.64 sec -MapReduce Total cumulative CPU time: 31 seconds 640 msec -Ended Job = job_201309101627_0111 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 31.64 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 31 seconds 640 msec -OK --4662894107982093709 -Time taken: 30.886 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16961@mturlrep13_201309102007_560489574.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17378@mturlrep13_201309102007_948891522.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0112 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:07:27,959 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:07:33,989 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.72 sec -2013-09-10 20:07:34,997 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.72 sec -2013-09-10 20:07:36,004 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.72 sec -2013-09-10 20:07:37,010 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.72 sec -2013-09-10 20:07:38,016 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.72 sec -2013-09-10 20:07:39,022 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.72 sec -2013-09-10 20:07:40,028 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.86 sec -2013-09-10 20:07:41,032 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 31.86 sec -2013-09-10 20:07:42,038 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 31.86 sec -2013-09-10 20:07:43,043 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 31.86 sec -2013-09-10 20:07:44,049 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 31.86 sec -2013-09-10 20:07:45,054 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 31.86 sec -2013-09-10 20:07:46,059 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 31.86 sec -2013-09-10 20:07:47,066 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.75 sec -2013-09-10 20:07:48,071 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.75 sec -MapReduce Total cumulative CPU time: 33 seconds 750 msec -Ended Job = job_201309101627_0112 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 33.75 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 750 msec -OK --4662894107982093709 -Time taken: 28.62 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18627@mturlrep13_201309102007_1570970698.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19048@mturlrep13_201309102007_265385188.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0113 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:08:01,232 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:08:07,261 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 7.12 sec -2013-09-10 20:08:08,269 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.41 sec -2013-09-10 20:08:09,277 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.41 sec -2013-09-10 20:08:10,282 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.41 sec -2013-09-10 20:08:11,288 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.41 sec -2013-09-10 20:08:12,294 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.41 sec -2013-09-10 20:08:13,300 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 21.76 sec -2013-09-10 20:08:14,304 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 29.62 sec -2013-09-10 20:08:15,309 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 29.62 sec -2013-09-10 20:08:16,315 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 29.62 sec -2013-09-10 20:08:17,320 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 29.62 sec -2013-09-10 20:08:18,325 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 29.62 sec -2013-09-10 20:08:19,329 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 29.62 sec -2013-09-10 20:08:20,334 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 29.62 sec -2013-09-10 20:08:21,341 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.69 sec -2013-09-10 20:08:22,347 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.69 sec -MapReduce Total cumulative CPU time: 31 seconds 690 msec -Ended Job = job_201309101627_0113 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 31.69 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 31 seconds 690 msec -OK --4662894107982093709 -Time taken: 28.461 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20298@mturlrep13_201309102008_320778143.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20705@mturlrep13_201309102008_862349350.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0114 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:08:42,650 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:08:49,678 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:08:52,698 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.9 sec -2013-09-10 20:08:53,705 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.9 sec -2013-09-10 20:08:54,712 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.9 sec -2013-09-10 20:08:55,718 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.9 sec -2013-09-10 20:08:56,723 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.9 sec -2013-09-10 20:08:57,729 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.9 sec -2013-09-10 20:08:58,734 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.9 sec -2013-09-10 20:08:59,739 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.9 sec -2013-09-10 20:09:00,744 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.9 sec -2013-09-10 20:09:01,749 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.9 sec -2013-09-10 20:09:02,754 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.85 sec -2013-09-10 20:09:03,758 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.85 sec -2013-09-10 20:09:04,763 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.85 sec -2013-09-10 20:09:05,768 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.85 sec -2013-09-10 20:09:06,774 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.85 sec -2013-09-10 20:09:07,779 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.85 sec -2013-09-10 20:09:08,784 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.85 sec -2013-09-10 20:09:09,790 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 54.85 sec -2013-09-10 20:09:10,797 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.65 sec -2013-09-10 20:09:11,802 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.65 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 650 msec -Ended Job = job_201309101627_0114 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 62.65 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 2 seconds 650 msec -OK -2037258 -Time taken: 39.152 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22014@mturlrep13_201309102009_2085887753.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22418@mturlrep13_201309102009_1216544523.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0115 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:09:25,056 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:09:33,088 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:09:35,102 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.41 sec -2013-09-10 20:09:36,108 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.41 sec -2013-09-10 20:09:37,115 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.41 sec -2013-09-10 20:09:38,121 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.41 sec -2013-09-10 20:09:39,127 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.41 sec -2013-09-10 20:09:40,134 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.41 sec -2013-09-10 20:09:41,140 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.41 sec -2013-09-10 20:09:42,150 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.41 sec -2013-09-10 20:09:43,155 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.41 sec -2013-09-10 20:09:44,160 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.41 sec -2013-09-10 20:09:45,165 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.74 sec -2013-09-10 20:09:46,171 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.74 sec -2013-09-10 20:09:47,176 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.74 sec -2013-09-10 20:09:48,182 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.74 sec -2013-09-10 20:09:49,187 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.74 sec -2013-09-10 20:09:50,193 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.57 sec -2013-09-10 20:09:51,198 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.57 sec -2013-09-10 20:09:52,205 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.64 sec -2013-09-10 20:09:53,211 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.64 sec -2013-09-10 20:09:54,217 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.64 sec -MapReduce Total cumulative CPU time: 1 minutes 3 seconds 640 msec -Ended Job = job_201309101627_0115 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 63.64 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 3 seconds 640 msec -OK -2037258 -Time taken: 36.46 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23691@mturlrep13_201309102009_809944135.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24111@mturlrep13_201309102009_812926126.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0116 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:10:08,163 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:10:15,213 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:10:17,227 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.08 sec -2013-09-10 20:10:18,233 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.08 sec -2013-09-10 20:10:19,240 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.08 sec -2013-09-10 20:10:20,246 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.08 sec -2013-09-10 20:10:21,252 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.08 sec -2013-09-10 20:10:22,258 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.08 sec -2013-09-10 20:10:23,265 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.08 sec -2013-09-10 20:10:24,270 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.08 sec -2013-09-10 20:10:25,275 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.08 sec -2013-09-10 20:10:26,280 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 39.75 sec -2013-09-10 20:10:27,285 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.02 sec -2013-09-10 20:10:28,290 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.02 sec -2013-09-10 20:10:29,295 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.02 sec -2013-09-10 20:10:30,300 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.02 sec -2013-09-10 20:10:31,305 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.02 sec -2013-09-10 20:10:32,311 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.02 sec -2013-09-10 20:10:33,315 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.02 sec -2013-09-10 20:10:34,321 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 54.02 sec -2013-09-10 20:10:35,327 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 61.73 sec -2013-09-10 20:10:36,333 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 61.73 sec -MapReduce Total cumulative CPU time: 1 minutes 1 seconds 730 msec -Ended Job = job_201309101627_0116 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 61.73 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 1 seconds 730 msec -OK -2037258 -Time taken: 36.551 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26095@mturlrep13_201309102010_1548501792.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26522@mturlrep13_201309102010_1522319778.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0117 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:10:57,776 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:11:04,804 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:11:05,815 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.53 sec -2013-09-10 20:11:06,821 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.53 sec -2013-09-10 20:11:07,829 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.53 sec -2013-09-10 20:11:08,835 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.53 sec -2013-09-10 20:11:09,840 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.53 sec -2013-09-10 20:11:10,848 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.53 sec -2013-09-10 20:11:11,854 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.53 sec -2013-09-10 20:11:12,861 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.53 sec -2013-09-10 20:11:13,866 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 21.53 sec -2013-09-10 20:11:14,871 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.24 sec -2013-09-10 20:11:15,876 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.24 sec -2013-09-10 20:11:16,880 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.24 sec -2013-09-10 20:11:17,885 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.24 sec -2013-09-10 20:11:18,890 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.24 sec -2013-09-10 20:11:19,895 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.24 sec -2013-09-10 20:11:20,899 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.24 sec -2013-09-10 20:11:21,904 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.24 sec -2013-09-10 20:11:22,909 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 42.24 sec -2013-09-10 20:11:23,916 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.0 sec -2013-09-10 20:11:24,922 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.0 sec -MapReduce Total cumulative CPU time: 50 seconds 0 msec -Ended Job = job_201309101627_0117 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 50.0 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 50 seconds 0 msec -OK -1110413 -Time taken: 36.986 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27838@mturlrep13_201309102011_1558608875.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28243@mturlrep13_201309102011_1322698871.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0118 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:11:37,820 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:11:45,856 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:11:46,868 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-10 20:11:47,874 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-10 20:11:48,881 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-10 20:11:49,887 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-10 20:11:50,893 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-10 20:11:51,899 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-10 20:11:52,906 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-10 20:11:53,911 Stage-1 map = 72%, reduce = 17%, Cumulative CPU 22.55 sec -2013-09-10 20:11:54,917 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 32.95 sec -2013-09-10 20:11:55,922 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:11:56,926 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:11:57,931 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:11:58,936 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:11:59,941 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:00,946 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:01,962 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:02,967 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 44.61 sec -2013-09-10 20:12:03,975 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.41 sec -2013-09-10 20:12:04,981 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.41 sec -MapReduce Total cumulative CPU time: 52 seconds 410 msec -Ended Job = job_201309101627_0118 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 52.41 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 52 seconds 410 msec -OK -1110413 -Time taken: 34.466 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29534@mturlrep13_201309102012_702635740.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29941@mturlrep13_201309102012_2027998571.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0119 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:12:17,991 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:12:26,021 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:12:27,031 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.05 sec -2013-09-10 20:12:28,038 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.05 sec -2013-09-10 20:12:29,045 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.05 sec -2013-09-10 20:12:30,051 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.05 sec -2013-09-10 20:12:31,057 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.05 sec -2013-09-10 20:12:32,063 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.05 sec -2013-09-10 20:12:33,070 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.05 sec -2013-09-10 20:12:34,076 Stage-1 map = 72%, reduce = 17%, Cumulative CPU 22.05 sec -2013-09-10 20:12:35,081 Stage-1 map = 99%, reduce = 17%, Cumulative CPU 33.57 sec -2013-09-10 20:12:36,086 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:37,091 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:38,096 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:39,101 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:40,107 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:41,112 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:42,117 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.61 sec -2013-09-10 20:12:43,122 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 44.61 sec -2013-09-10 20:12:44,130 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.1 sec -2013-09-10 20:12:45,135 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.1 sec -MapReduce Total cumulative CPU time: 52 seconds 100 msec -Ended Job = job_201309101627_0119 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 52.1 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 52 seconds 100 msec -OK -1110413 -Time taken: 34.424 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31270@mturlrep13_201309102012_1959011426.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31694@mturlrep13_201309102012_1837865750.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0120 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:13:04,874 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:13:10,902 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.53 sec -2013-09-10 20:13:11,910 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.53 sec -2013-09-10 20:13:12,917 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.53 sec -2013-09-10 20:13:13,923 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.53 sec -2013-09-10 20:13:14,928 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.53 sec -2013-09-10 20:13:15,934 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.53 sec -2013-09-10 20:13:16,939 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 21.15 sec -2013-09-10 20:13:17,945 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 28.11 sec -2013-09-10 20:13:18,950 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.11 sec -2013-09-10 20:13:19,956 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.11 sec -2013-09-10 20:13:20,961 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.11 sec -2013-09-10 20:13:21,965 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.11 sec -2013-09-10 20:13:22,970 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.11 sec -2013-09-10 20:13:23,975 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.11 sec -2013-09-10 20:13:24,982 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.21 sec -2013-09-10 20:13:25,988 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.21 sec -MapReduce Total cumulative CPU time: 30 seconds 210 msec -Ended Job = job_201309101627_0120 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 30.21 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 30 seconds 210 msec -OK -Time taken: 31.036 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_484@mturlrep13_201309102013_979592639.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_912@mturlrep13_201309102013_1524044255.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0121 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:13:40,111 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:13:45,139 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-10 20:13:46,146 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-10 20:13:47,154 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-10 20:13:48,159 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-10 20:13:49,165 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-10 20:13:50,171 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 19.88 sec -2013-09-10 20:13:51,176 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.39 sec -2013-09-10 20:13:52,181 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.39 sec -2013-09-10 20:13:53,188 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.17 sec -2013-09-10 20:13:54,195 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.17 sec -2013-09-10 20:13:55,201 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.17 sec -MapReduce Total cumulative CPU time: 28 seconds 170 msec -Ended Job = job_201309101627_0121 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 28.17 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 28 seconds 170 msec -OK -Time taken: 23.561 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2425@mturlrep13_201309102013_943607470.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2853@mturlrep13_201309102014_7623515.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0122 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:14:08,198 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:14:14,228 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.03 sec -2013-09-10 20:14:15,235 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.03 sec -2013-09-10 20:14:16,243 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.03 sec -2013-09-10 20:14:17,249 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.03 sec -2013-09-10 20:14:18,254 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.03 sec -2013-09-10 20:14:19,260 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.03 sec -2013-09-10 20:14:20,265 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 20.82 sec -2013-09-10 20:14:21,270 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 28.54 sec -2013-09-10 20:14:22,276 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 28.54 sec -2013-09-10 20:14:23,284 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.46 sec -2013-09-10 20:14:24,289 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.46 sec -MapReduce Total cumulative CPU time: 30 seconds 460 msec -Ended Job = job_201309101627_0122 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 30.46 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 30 seconds 460 msec -OK -Time taken: 23.42 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4095@mturlrep13_201309102014_942872156.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4560@mturlrep13_201309102014_1712040963.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0123 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:14:44,237 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:14:49,266 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.11 sec -2013-09-10 20:14:50,273 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.11 sec -2013-09-10 20:14:51,282 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.11 sec -2013-09-10 20:14:52,288 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.11 sec -2013-09-10 20:14:53,294 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.11 sec -2013-09-10 20:14:54,301 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.77 sec -2013-09-10 20:14:55,307 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.77 sec -2013-09-10 20:14:56,313 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 24.77 sec -2013-09-10 20:14:57,320 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.57 sec -2013-09-10 20:14:58,326 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.57 sec -2013-09-10 20:14:59,332 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.57 sec -MapReduce Total cumulative CPU time: 28 seconds 570 msec -Ended Job = job_201309101627_0123 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0124 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:15:01,785 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:15:03,793 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:15:04,798 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:15:05,809 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:15:06,814 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:15:07,820 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:15:08,825 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:15:09,830 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:15:10,835 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.82 sec -2013-09-10 20:15:11,840 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -2013-09-10 20:15:12,846 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -MapReduce Total cumulative CPU time: 2 seconds 230 msec -Ended Job = job_201309101627_0124 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 28.57 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.23 sec HDFS Read: 1151 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 30 seconds 800 msec -OK -Time taken: 38.302 seconds, Fetched: 9 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7012@mturlrep13_201309102015_1321687480.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7736@mturlrep13_201309102015_1218789323.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0125 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:15:25,872 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:15:30,907 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 5.97 sec -2013-09-10 20:15:31,916 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.9 sec -2013-09-10 20:15:32,924 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.9 sec -2013-09-10 20:15:33,931 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.9 sec -2013-09-10 20:15:34,938 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.9 sec -2013-09-10 20:15:35,944 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 18.67 sec -2013-09-10 20:15:36,950 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.98 sec -2013-09-10 20:15:37,957 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.98 sec -2013-09-10 20:15:38,965 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 26.8 sec -2013-09-10 20:15:39,972 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.6 sec -2013-09-10 20:15:40,978 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.6 sec -MapReduce Total cumulative CPU time: 28 seconds 600 msec -Ended Job = job_201309101627_0125 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0126 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:15:44,517 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:15:45,522 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 20:15:46,528 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 20:15:47,534 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 20:15:48,539 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 20:15:49,544 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 20:15:50,549 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 20:15:51,555 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 20:15:52,561 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 20:15:53,567 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.24 sec -2013-09-10 20:15:54,573 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.24 sec -2013-09-10 20:15:55,578 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.24 sec -MapReduce Total cumulative CPU time: 2 seconds 240 msec -Ended Job = job_201309101627_0126 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 28.6 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.24 sec HDFS Read: 1149 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 30 seconds 840 msec -OK -Time taken: 37.076 seconds, Fetched: 9 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9595@mturlrep13_201309102015_955881835.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10020@mturlrep13_201309102016_1021454413.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0127 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:16:08,481 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:16:13,508 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.5 sec -2013-09-10 20:16:14,515 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.5 sec -2013-09-10 20:16:15,522 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.5 sec -2013-09-10 20:16:16,528 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.5 sec -2013-09-10 20:16:17,535 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.5 sec -2013-09-10 20:16:18,542 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.29 sec -2013-09-10 20:16:19,547 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.29 sec -2013-09-10 20:16:20,553 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.29 sec -2013-09-10 20:16:21,560 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 25.17 sec -2013-09-10 20:16:22,567 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.08 sec -2013-09-10 20:16:23,574 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.08 sec -MapReduce Total cumulative CPU time: 27 seconds 80 msec -Ended Job = job_201309101627_0127 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0128 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:16:27,070 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:16:28,075 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 20:16:29,081 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 20:16:30,090 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 20:16:31,096 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 20:16:32,101 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 20:16:33,106 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 20:16:34,111 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 20:16:35,117 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 20:16:36,122 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.12 sec -2013-09-10 20:16:37,127 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.12 sec -2013-09-10 20:16:38,133 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.12 sec -MapReduce Total cumulative CPU time: 2 seconds 120 msec -Ended Job = job_201309101627_0128 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 27.08 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.12 sec HDFS Read: 1153 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 29 seconds 200 msec -OK -Time taken: 37.118 seconds, Fetched: 9 row(s) -hive> quit; --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11865@mturlrep13_201309102016_504239459.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12310@mturlrep13_201309102016_364343400.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0129 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:16:59,009 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:17:06,036 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:17:10,057 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.36 sec -2013-09-10 20:17:11,064 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.36 sec -2013-09-10 20:17:12,072 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.36 sec -2013-09-10 20:17:13,079 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.36 sec -2013-09-10 20:17:14,086 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.36 sec -2013-09-10 20:17:15,092 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.36 sec -2013-09-10 20:17:16,099 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.36 sec -2013-09-10 20:17:17,105 Stage-1 map = 72%, reduce = 8%, Cumulative CPU 29.36 sec -2013-09-10 20:17:18,111 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 29.36 sec -2013-09-10 20:17:19,117 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 29.36 sec -2013-09-10 20:17:20,122 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 29.36 sec -2013-09-10 20:17:21,127 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.96 sec -2013-09-10 20:17:22,133 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.96 sec -2013-09-10 20:17:23,139 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.96 sec -2013-09-10 20:17:24,146 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.96 sec -2013-09-10 20:17:25,151 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.96 sec -2013-09-10 20:17:26,158 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 63.53 sec -2013-09-10 20:17:27,165 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.82 sec -2013-09-10 20:17:28,171 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.82 sec -MapReduce Total cumulative CPU time: 1 minutes 10 seconds 820 msec -Ended Job = job_201309101627_0129 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0130 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:17:30,606 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:17:32,615 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.51 sec -2013-09-10 20:17:33,621 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.51 sec -2013-09-10 20:17:34,626 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.51 sec -2013-09-10 20:17:35,631 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.51 sec -2013-09-10 20:17:36,637 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.51 sec -2013-09-10 20:17:37,642 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.51 sec -2013-09-10 20:17:38,648 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.51 sec -2013-09-10 20:17:39,653 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.51 sec -2013-09-10 20:17:40,659 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.05 sec -2013-09-10 20:17:41,665 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.05 sec -2013-09-10 20:17:42,670 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.05 sec -MapReduce Total cumulative CPU time: 3 seconds 50 msec -Ended Job = job_201309101627_0130 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 70.82 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.05 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 13 seconds 870 msec -OK -Time taken: 53.485 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14188@mturlrep13_201309102017_126837512.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14629@mturlrep13_201309102017_1747557025.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0131 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:17:56,720 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:18:03,746 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:18:06,763 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-10 20:18:07,770 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-10 20:18:08,777 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-10 20:18:09,783 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-10 20:18:10,789 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-10 20:18:11,795 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-10 20:18:12,801 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-10 20:18:13,812 Stage-1 map = 96%, reduce = 8%, Cumulative CPU 28.46 sec -2013-09-10 20:18:14,818 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-10 20:18:15,823 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-10 20:18:16,829 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.8 sec -2013-09-10 20:18:17,834 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.8 sec -2013-09-10 20:18:18,839 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.8 sec -2013-09-10 20:18:19,845 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.8 sec -2013-09-10 20:18:20,850 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.8 sec -2013-09-10 20:18:21,855 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.8 sec -2013-09-10 20:18:22,863 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 63.32 sec -2013-09-10 20:18:23,869 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.39 sec -2013-09-10 20:18:24,875 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.39 sec -MapReduce Total cumulative CPU time: 1 minutes 10 seconds 390 msec -Ended Job = job_201309101627_0131 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0132 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:18:27,568 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:18:30,579 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.46 sec -2013-09-10 20:18:31,584 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.46 sec -2013-09-10 20:18:32,589 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.46 sec -2013-09-10 20:18:33,594 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.46 sec -2013-09-10 20:18:34,599 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.46 sec -2013-09-10 20:18:35,604 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.46 sec -2013-09-10 20:18:36,609 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.46 sec -2013-09-10 20:18:37,614 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.0 sec -2013-09-10 20:18:38,620 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.0 sec -2013-09-10 20:18:39,625 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.0 sec -MapReduce Total cumulative CPU time: 3 seconds 0 msec -Ended Job = job_201309101627_0132 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 70.39 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.0 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 13 seconds 390 msec -OK -Time taken: 51.134 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16555@mturlrep13_201309102018_646695690.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16977@mturlrep13_201309102018_162818540.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0133 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:18:53,456 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:19:00,484 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:19:02,498 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-10 20:19:03,506 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-10 20:19:04,513 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-10 20:19:05,520 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-10 20:19:06,526 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-10 20:19:07,533 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-10 20:19:08,540 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-10 20:19:09,546 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-10 20:19:10,558 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.76 sec -2013-09-10 20:19:11,564 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.76 sec -2013-09-10 20:19:12,570 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 42.08 sec -2013-09-10 20:19:13,576 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.65 sec -2013-09-10 20:19:14,582 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.65 sec -2013-09-10 20:19:15,588 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.65 sec -2013-09-10 20:19:16,594 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.65 sec -2013-09-10 20:19:17,600 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.65 sec -2013-09-10 20:19:18,608 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 62.31 sec -2013-09-10 20:19:19,614 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 62.31 sec -2013-09-10 20:19:20,621 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.64 sec -2013-09-10 20:19:21,627 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.64 sec -MapReduce Total cumulative CPU time: 1 minutes 9 seconds 640 msec -Ended Job = job_201309101627_0133 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0134 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:19:25,083 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:19:27,101 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.52 sec -2013-09-10 20:19:28,107 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.52 sec -2013-09-10 20:19:29,112 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.52 sec -2013-09-10 20:19:30,117 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.52 sec -2013-09-10 20:19:31,122 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.52 sec -2013-09-10 20:19:32,127 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.52 sec -2013-09-10 20:19:33,133 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.52 sec -2013-09-10 20:19:34,138 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.52 sec -2013-09-10 20:19:35,143 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.06 sec -2013-09-10 20:19:36,149 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.06 sec -MapReduce Total cumulative CPU time: 3 seconds 60 msec -Ended Job = job_201309101627_0134 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 69.64 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.06 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 12 seconds 700 msec -OK -Time taken: 50.893 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18929@mturlrep13_201309102019_1852281941.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19369@mturlrep13_201309102019_1237243258.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0135 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:19:56,153 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:20:03,183 Stage-1 map = 29%, reduce = 0% -2013-09-10 20:20:06,195 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:20:09,213 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-10 20:20:10,221 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-10 20:20:11,229 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-10 20:20:12,236 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-10 20:20:13,242 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-10 20:20:14,249 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-10 20:20:15,255 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-10 20:20:16,261 Stage-1 map = 64%, reduce = 8%, Cumulative CPU 34.32 sec -2013-09-10 20:20:17,275 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 34.32 sec -2013-09-10 20:20:18,328 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 34.32 sec -2013-09-10 20:20:19,334 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.32 sec -2013-09-10 20:20:20,340 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.32 sec -2013-09-10 20:20:21,347 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.32 sec -2013-09-10 20:20:22,353 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.37 sec -2013-09-10 20:20:23,358 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.37 sec -2013-09-10 20:20:24,363 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.37 sec -2013-09-10 20:20:25,369 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.37 sec -2013-09-10 20:20:26,375 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.37 sec -2013-09-10 20:20:27,380 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.37 sec -2013-09-10 20:20:28,386 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.37 sec -2013-09-10 20:20:29,391 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.37 sec -2013-09-10 20:20:30,397 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.37 sec -2013-09-10 20:20:31,404 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 74.61 sec -2013-09-10 20:20:32,409 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 74.61 sec -2013-09-10 20:20:33,415 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 83.92 sec -2013-09-10 20:20:34,421 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 83.92 sec -MapReduce Total cumulative CPU time: 1 minutes 23 seconds 920 msec -Ended Job = job_201309101627_0135 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0136 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:20:36,980 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:20:39,990 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.64 sec -2013-09-10 20:20:40,995 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.64 sec -2013-09-10 20:20:42,000 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.64 sec -2013-09-10 20:20:43,005 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.64 sec -2013-09-10 20:20:44,010 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.64 sec -2013-09-10 20:20:45,016 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.64 sec -2013-09-10 20:20:46,021 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.64 sec -2013-09-10 20:20:47,027 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.21 sec -2013-09-10 20:20:48,032 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.21 sec -2013-09-10 20:20:49,038 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.21 sec -MapReduce Total cumulative CPU time: 3 seconds 210 msec -Ended Job = job_201309101627_0136 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 83.92 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.21 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 27 seconds 130 msec -OK -Time taken: 62.752 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22157@mturlrep13_201309102020_335437932.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22568@mturlrep13_201309102020_882304972.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0137 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:21:02,043 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:21:10,075 Stage-1 map = 36%, reduce = 0% -2013-09-10 20:21:13,089 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:21:15,103 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.24 sec -2013-09-10 20:21:16,110 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.24 sec -2013-09-10 20:21:17,119 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.24 sec -2013-09-10 20:21:18,125 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.24 sec -2013-09-10 20:21:19,132 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.24 sec -2013-09-10 20:21:20,138 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.24 sec -2013-09-10 20:21:21,145 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.24 sec -2013-09-10 20:21:22,151 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.24 sec -2013-09-10 20:21:23,157 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.24 sec -2013-09-10 20:21:24,162 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.24 sec -2013-09-10 20:21:25,168 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.24 sec -2013-09-10 20:21:26,174 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.24 sec -2013-09-10 20:21:27,179 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 49.89 sec -2013-09-10 20:21:28,185 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.04 sec -2013-09-10 20:21:29,190 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.04 sec -2013-09-10 20:21:30,195 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.04 sec -2013-09-10 20:21:31,202 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.04 sec -2013-09-10 20:21:32,209 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.04 sec -2013-09-10 20:21:33,214 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.04 sec -2013-09-10 20:21:34,220 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.04 sec -2013-09-10 20:21:35,225 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.04 sec -2013-09-10 20:21:36,231 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.04 sec -2013-09-10 20:21:37,239 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 75.13 sec -2013-09-10 20:21:38,244 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 75.13 sec -2013-09-10 20:21:39,250 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.3 sec -2013-09-10 20:21:40,256 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.3 sec -2013-09-10 20:21:41,262 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.3 sec -MapReduce Total cumulative CPU time: 1 minutes 24 seconds 300 msec -Ended Job = job_201309101627_0137 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0138 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:21:43,758 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:21:45,767 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.81 sec -2013-09-10 20:21:46,772 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.81 sec -2013-09-10 20:21:47,776 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.81 sec -2013-09-10 20:21:48,781 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.81 sec -2013-09-10 20:21:49,785 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.81 sec -2013-09-10 20:21:50,789 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.81 sec -2013-09-10 20:21:51,793 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.81 sec -2013-09-10 20:21:52,798 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.81 sec -2013-09-10 20:21:53,803 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.33 sec -2013-09-10 20:21:54,809 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.33 sec -2013-09-10 20:21:55,814 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.33 sec -MapReduce Total cumulative CPU time: 3 seconds 330 msec -Ended Job = job_201309101627_0138 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 84.3 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.33 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 27 seconds 630 msec -OK -Time taken: 61.04 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24690@mturlrep13_201309102021_1595959377.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25093@mturlrep13_201309102022_1638369950.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0139 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:22:08,691 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:22:16,719 Stage-1 map = 36%, reduce = 0% -2013-09-10 20:22:19,729 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:22:21,743 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.81 sec -2013-09-10 20:22:22,750 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.81 sec -2013-09-10 20:22:23,757 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.81 sec -2013-09-10 20:22:24,763 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.81 sec -2013-09-10 20:22:25,772 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.81 sec -2013-09-10 20:22:26,789 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.81 sec -2013-09-10 20:22:27,794 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.81 sec -2013-09-10 20:22:28,800 Stage-1 map = 88%, reduce = 8%, Cumulative CPU 32.81 sec -2013-09-10 20:22:29,804 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 32.81 sec -2013-09-10 20:22:30,809 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 32.81 sec -2013-09-10 20:22:31,815 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 32.81 sec -2013-09-10 20:22:32,820 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 48.46 sec -2013-09-10 20:22:33,825 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:34,830 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:35,835 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:36,840 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:37,846 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:38,851 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:39,857 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:40,862 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:41,867 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:42,872 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.91 sec -2013-09-10 20:22:43,879 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 74.06 sec -2013-09-10 20:22:44,885 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 74.06 sec -2013-09-10 20:22:45,890 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 83.62 sec -2013-09-10 20:22:46,895 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 83.62 sec -MapReduce Total cumulative CPU time: 1 minutes 23 seconds 620 msec -Ended Job = job_201309101627_0139 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0140 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:22:49,470 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:22:52,481 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.58 sec -2013-09-10 20:22:53,486 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.58 sec -2013-09-10 20:22:54,491 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.58 sec -2013-09-10 20:22:55,496 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.58 sec -2013-09-10 20:22:56,501 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.58 sec -2013-09-10 20:22:57,505 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.58 sec -2013-09-10 20:22:58,510 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.58 sec -2013-09-10 20:22:59,516 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.1 sec -2013-09-10 20:23:00,521 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.1 sec -2013-09-10 20:23:01,527 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.1 sec -MapReduce Total cumulative CPU time: 3 seconds 100 msec -Ended Job = job_201309101627_0140 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 83.62 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.1 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 26 seconds 720 msec -OK -Time taken: 60.141 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27176@mturlrep13_201309102023_1934793750.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27614@mturlrep13_201309102023_1296494329.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0141 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:23:21,374 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:23:28,411 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.04 sec -2013-09-10 20:23:29,419 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.04 sec -2013-09-10 20:23:30,426 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.04 sec -2013-09-10 20:23:31,433 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.04 sec -2013-09-10 20:23:32,439 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.04 sec -2013-09-10 20:23:33,446 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.04 sec -2013-09-10 20:23:34,453 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 17.69 sec -2013-09-10 20:23:35,460 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.96 sec -2013-09-10 20:23:36,466 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.96 sec -2013-09-10 20:23:37,472 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.96 sec -2013-09-10 20:23:38,478 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.96 sec -2013-09-10 20:23:39,483 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.96 sec -2013-09-10 20:23:40,489 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.96 sec -2013-09-10 20:23:41,496 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.96 sec -2013-09-10 20:23:42,503 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.53 sec -2013-09-10 20:23:43,510 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.53 sec -MapReduce Total cumulative CPU time: 30 seconds 530 msec -Ended Job = job_201309101627_0141 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0142 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:23:46,001 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:23:48,011 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:23:49,017 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:23:50,022 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:23:51,028 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:23:52,033 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:23:53,038 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:23:54,043 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-10 20:23:55,049 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.82 sec -2013-09-10 20:23:56,055 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-10 20:23:57,060 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -MapReduce Total cumulative CPU time: 2 seconds 210 msec -Ended Job = job_201309101627_0142 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 30.53 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.21 sec HDFS Read: 21897 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 32 seconds 740 msec -OK -Time taken: 45.242 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29548@mturlrep13_201309102023_2146255552.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29955@mturlrep13_201309102024_1375294080.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0143 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:24:10,138 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:24:16,170 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.73 sec -2013-09-10 20:24:17,178 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.73 sec -2013-09-10 20:24:18,185 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.73 sec -2013-09-10 20:24:19,192 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.73 sec -2013-09-10 20:24:20,198 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.73 sec -2013-09-10 20:24:21,205 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.73 sec -2013-09-10 20:24:22,212 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 17.85 sec -2013-09-10 20:24:23,218 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.46 sec -2013-09-10 20:24:24,224 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.46 sec -2013-09-10 20:24:25,230 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.46 sec -2013-09-10 20:24:26,236 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.46 sec -2013-09-10 20:24:27,242 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.46 sec -2013-09-10 20:24:28,247 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.46 sec -2013-09-10 20:24:29,253 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.46 sec -2013-09-10 20:24:30,261 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.02 sec -2013-09-10 20:24:31,267 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.02 sec -2013-09-10 20:24:32,273 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.02 sec -MapReduce Total cumulative CPU time: 31 seconds 20 msec -Ended Job = job_201309101627_0143 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0144 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:24:35,773 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:24:37,782 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.02 sec -2013-09-10 20:24:38,787 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.02 sec -2013-09-10 20:24:39,792 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.02 sec -2013-09-10 20:24:40,797 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.02 sec -2013-09-10 20:24:41,801 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.02 sec -2013-09-10 20:24:42,806 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.02 sec -2013-09-10 20:24:43,812 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.02 sec -2013-09-10 20:24:44,817 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.49 sec -2013-09-10 20:24:45,823 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.49 sec -2013-09-10 20:24:46,829 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.49 sec -MapReduce Total cumulative CPU time: 2 seconds 490 msec -Ended Job = job_201309101627_0144 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 31.02 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.49 sec HDFS Read: 21897 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 510 msec -OK -Time taken: 44.206 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31926@mturlrep13_201309102024_227013922.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32329@mturlrep13_201309102024_666768593.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0145 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:25:00,728 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:25:05,756 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 5.9 sec -2013-09-10 20:25:06,765 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 20:25:07,772 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 20:25:08,779 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 20:25:09,786 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 20:25:10,792 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 20:25:11,798 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 20:25:12,804 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 28.24 sec -2013-09-10 20:25:13,810 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 28.24 sec -2013-09-10 20:25:14,818 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 31.4 sec -2013-09-10 20:25:15,824 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 31.4 sec -2013-09-10 20:25:16,831 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 31.4 sec -2013-09-10 20:25:17,837 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 31.4 sec -2013-09-10 20:25:18,843 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 31.4 sec -2013-09-10 20:25:19,849 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.7 sec -2013-09-10 20:25:20,855 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.7 sec -2013-09-10 20:25:21,861 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.7 sec -MapReduce Total cumulative CPU time: 34 seconds 700 msec -Ended Job = job_201309101627_0145 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0146 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:25:24,374 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:25:26,382 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 20:25:27,388 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 20:25:28,393 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 20:25:29,398 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 20:25:30,402 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 20:25:31,407 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 20:25:32,412 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 20:25:33,418 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.88 sec -2013-09-10 20:25:34,423 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.41 sec -2013-09-10 20:25:35,429 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.41 sec -MapReduce Total cumulative CPU time: 2 seconds 410 msec -Ended Job = job_201309101627_0146 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 34.7 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.41 sec HDFS Read: 21895 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 37 seconds 110 msec -OK -Time taken: 43.002 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по строкам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2839@mturlrep13_201309102025_1906588406.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3277@mturlrep13_201309102025_1190023510.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0147 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:25:56,480 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:26:02,515 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.68 sec -2013-09-10 20:26:03,523 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.68 sec -2013-09-10 20:26:04,531 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.68 sec -2013-09-10 20:26:05,538 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.68 sec -2013-09-10 20:26:06,545 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.68 sec -2013-09-10 20:26:07,552 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.68 sec -2013-09-10 20:26:08,558 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.68 sec -2013-09-10 20:26:09,564 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 23.83 sec -2013-09-10 20:26:10,570 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 23.83 sec -2013-09-10 20:26:11,577 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 23.83 sec -2013-09-10 20:26:12,583 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 23.83 sec -2013-09-10 20:26:13,589 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 23.83 sec -2013-09-10 20:26:14,595 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 23.83 sec -2013-09-10 20:26:15,601 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 23.83 sec -2013-09-10 20:26:16,609 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.35 sec -2013-09-10 20:26:17,636 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.35 sec -2013-09-10 20:26:18,643 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.35 sec -MapReduce Total cumulative CPU time: 31 seconds 350 msec -Ended Job = job_201309101627_0147 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0148 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:26:22,244 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:26:23,249 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 20:26:24,255 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 20:26:25,261 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 20:26:26,266 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 20:26:27,272 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 20:26:28,277 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 20:26:29,282 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 20:26:30,287 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 20:26:31,294 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.34 sec -2013-09-10 20:26:32,299 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.34 sec -2013-09-10 20:26:33,305 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.34 sec -MapReduce Total cumulative CPU time: 2 seconds 340 msec -Ended Job = job_201309101627_0148 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 31.35 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.34 sec HDFS Read: 23479 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 690 msec -OK -Time taken: 46.938 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5533@mturlrep13_201309102026_343654465.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5957@mturlrep13_201309102026_864824933.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0149 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:26:46,474 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:26:52,507 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.69 sec -2013-09-10 20:26:53,515 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.69 sec -2013-09-10 20:26:54,522 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.69 sec -2013-09-10 20:26:55,528 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.69 sec -2013-09-10 20:26:56,534 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.69 sec -2013-09-10 20:26:57,540 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.69 sec -2013-09-10 20:26:58,546 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.76 sec -2013-09-10 20:26:59,552 Stage-1 map = 100%, reduce = 13%, Cumulative CPU 23.76 sec -2013-09-10 20:27:00,559 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 23.76 sec -2013-09-10 20:27:01,568 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 27.2 sec -2013-09-10 20:27:02,574 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 27.2 sec -2013-09-10 20:27:03,580 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 27.2 sec -2013-09-10 20:27:04,586 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 27.2 sec -2013-09-10 20:27:05,592 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 27.2 sec -2013-09-10 20:27:06,599 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.79 sec -2013-09-10 20:27:07,605 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.79 sec -MapReduce Total cumulative CPU time: 30 seconds 790 msec -Ended Job = job_201309101627_0149 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0150 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:27:10,095 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:27:12,104 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 20:27:13,109 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 20:27:14,115 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 20:27:15,120 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 20:27:16,125 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 20:27:17,130 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 20:27:18,136 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 20:27:19,141 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 20:27:20,148 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -2013-09-10 20:27:21,154 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -2013-09-10 20:27:22,160 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -MapReduce Total cumulative CPU time: 2 seconds 350 msec -Ended Job = job_201309101627_0150 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 30.79 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.35 sec HDFS Read: 23479 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 140 msec -OK -Time taken: 43.048 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7889@mturlrep13_201309102027_433190922.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8295@mturlrep13_201309102027_581718614.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0151 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:27:35,347 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:27:41,379 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.72 sec -2013-09-10 20:27:42,387 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.72 sec -2013-09-10 20:27:43,395 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.72 sec -2013-09-10 20:27:44,401 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.72 sec -2013-09-10 20:27:45,408 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.72 sec -2013-09-10 20:27:46,415 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.72 sec -2013-09-10 20:27:47,422 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-10 20:27:48,428 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-10 20:27:49,434 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 23.93 sec -2013-09-10 20:27:50,442 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 27.74 sec -2013-09-10 20:27:51,449 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 28.35 sec -2013-09-10 20:27:52,455 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 28.35 sec -2013-09-10 20:27:53,461 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 28.35 sec -2013-09-10 20:27:54,467 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 28.35 sec -2013-09-10 20:27:55,473 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.22 sec -2013-09-10 20:27:56,479 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.22 sec -2013-09-10 20:27:57,486 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.22 sec -MapReduce Total cumulative CPU time: 31 seconds 220 msec -Ended Job = job_201309101627_0151 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0152 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:28:00,985 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:28:02,995 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.96 sec -2013-09-10 20:28:04,000 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.96 sec -2013-09-10 20:28:05,005 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.96 sec -2013-09-10 20:28:06,010 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.96 sec -2013-09-10 20:28:07,016 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.96 sec -2013-09-10 20:28:08,021 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.96 sec -2013-09-10 20:28:09,027 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.96 sec -2013-09-10 20:28:10,033 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.4 sec -2013-09-10 20:28:11,039 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.4 sec -2013-09-10 20:28:12,044 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.4 sec -MapReduce Total cumulative CPU time: 2 seconds 400 msec -Ended Job = job_201309101627_0152 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 31.22 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.4 sec HDFS Read: 23479 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 620 msec -OK -Time taken: 44.124 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10235@mturlrep13_201309102028_1893210303.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10677@mturlrep13_201309102028_1721692497.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0153 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:28:32,602 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:28:39,632 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:28:40,644 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.88 sec -2013-09-10 20:28:41,652 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.88 sec -2013-09-10 20:28:42,659 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.88 sec -2013-09-10 20:28:43,665 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.88 sec -2013-09-10 20:28:44,671 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.88 sec -2013-09-10 20:28:45,677 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.88 sec -2013-09-10 20:28:46,684 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.88 sec -2013-09-10 20:28:47,691 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.88 sec -2013-09-10 20:28:48,697 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.87 sec -2013-09-10 20:28:49,702 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.87 sec -2013-09-10 20:28:50,708 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.87 sec -2013-09-10 20:28:51,714 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.54 sec -2013-09-10 20:28:52,720 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.54 sec -2013-09-10 20:28:53,726 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.54 sec -2013-09-10 20:28:54,732 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.54 sec -2013-09-10 20:28:55,738 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.54 sec -2013-09-10 20:28:56,744 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.54 sec -2013-09-10 20:28:57,752 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.79 sec -2013-09-10 20:28:58,758 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.79 sec -2013-09-10 20:28:59,763 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.79 sec -MapReduce Total cumulative CPU time: 56 seconds 790 msec -Ended Job = job_201309101627_0153 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0154 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:29:03,287 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:29:10,313 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:29:12,321 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.87 sec -2013-09-10 20:29:13,327 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.87 sec -2013-09-10 20:29:14,332 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.87 sec -2013-09-10 20:29:15,336 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.87 sec -2013-09-10 20:29:16,340 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.87 sec -2013-09-10 20:29:17,345 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.87 sec -2013-09-10 20:29:18,350 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.87 sec -2013-09-10 20:29:19,354 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.87 sec -2013-09-10 20:29:20,360 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.87 sec -2013-09-10 20:29:21,365 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.4 sec -2013-09-10 20:29:22,370 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.4 sec -2013-09-10 20:29:23,375 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.4 sec -MapReduce Total cumulative CPU time: 18 seconds 400 msec -Ended Job = job_201309101627_0154 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 56.79 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.4 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 15 seconds 190 msec -OK -Time taken: 60.48 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12624@mturlrep13_201309102029_1863431716.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13040@mturlrep13_201309102029_973897390.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0155 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:29:37,380 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:29:44,415 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.02 sec -2013-09-10 20:29:45,423 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.02 sec -2013-09-10 20:29:46,431 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.02 sec -2013-09-10 20:29:47,438 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.02 sec -2013-09-10 20:29:48,445 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.02 sec -2013-09-10 20:29:49,452 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.02 sec -2013-09-10 20:29:50,458 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.02 sec -2013-09-10 20:29:51,465 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.02 sec -2013-09-10 20:29:52,472 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.52 sec -2013-09-10 20:29:53,478 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.52 sec -2013-09-10 20:29:54,484 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.52 sec -2013-09-10 20:29:55,490 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.52 sec -2013-09-10 20:29:56,496 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.52 sec -2013-09-10 20:29:57,502 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.52 sec -2013-09-10 20:29:58,508 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.52 sec -2013-09-10 20:29:59,514 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.52 sec -2013-09-10 20:30:00,520 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.52 sec -2013-09-10 20:30:01,529 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.86 sec -2013-09-10 20:30:02,535 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.86 sec -2013-09-10 20:30:03,541 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.86 sec -MapReduce Total cumulative CPU time: 56 seconds 860 msec -Ended Job = job_201309101627_0155 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0156 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:30:06,136 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:30:14,165 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:30:16,174 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.7 sec -2013-09-10 20:30:17,180 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.7 sec -2013-09-10 20:30:18,186 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.7 sec -2013-09-10 20:30:19,191 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.7 sec -2013-09-10 20:30:20,195 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.7 sec -2013-09-10 20:30:21,200 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.7 sec -2013-09-10 20:30:22,205 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.7 sec -2013-09-10 20:30:23,210 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.7 sec -2013-09-10 20:30:24,216 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.7 sec -2013-09-10 20:30:25,221 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.4 sec -2013-09-10 20:30:26,227 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.4 sec -2013-09-10 20:30:27,232 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.4 sec -MapReduce Total cumulative CPU time: 18 seconds 400 msec -Ended Job = job_201309101627_0156 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 56.86 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.4 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 15 seconds 260 msec -OK -Time taken: 58.248 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15653@mturlrep13_201309102030_1115123601.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16121@mturlrep13_201309102030_1858922257.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0157 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:30:40,546 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:30:48,583 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.04 sec -2013-09-10 20:30:49,592 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.04 sec -2013-09-10 20:30:50,600 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.04 sec -2013-09-10 20:30:51,608 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.04 sec -2013-09-10 20:30:52,614 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.04 sec -2013-09-10 20:30:53,621 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.04 sec -2013-09-10 20:30:54,628 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.04 sec -2013-09-10 20:30:55,635 Stage-1 map = 96%, reduce = 8%, Cumulative CPU 21.04 sec -2013-09-10 20:30:56,641 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.64 sec -2013-09-10 20:30:57,648 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.64 sec -2013-09-10 20:30:58,655 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.64 sec -2013-09-10 20:30:59,661 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.64 sec -2013-09-10 20:31:00,667 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.64 sec -2013-09-10 20:31:01,673 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.64 sec -2013-09-10 20:31:02,679 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.64 sec -2013-09-10 20:31:03,685 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.64 sec -2013-09-10 20:31:04,693 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 49.56 sec -2013-09-10 20:31:05,699 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.8 sec -2013-09-10 20:31:06,706 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.8 sec -MapReduce Total cumulative CPU time: 56 seconds 800 msec -Ended Job = job_201309101627_0157 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0158 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:31:10,220 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:31:17,244 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:31:20,255 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.82 sec -2013-09-10 20:31:21,260 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.82 sec -2013-09-10 20:31:22,265 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.82 sec -2013-09-10 20:31:23,269 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.82 sec -2013-09-10 20:31:24,273 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.82 sec -2013-09-10 20:31:25,277 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.82 sec -2013-09-10 20:31:26,281 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.82 sec -2013-09-10 20:31:27,286 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.82 sec -2013-09-10 20:31:28,291 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.82 sec -2013-09-10 20:31:29,296 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.28 sec -2013-09-10 20:31:30,301 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.28 sec -MapReduce Total cumulative CPU time: 18 seconds 280 msec -Ended Job = job_201309101627_0158 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 56.8 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.28 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 15 seconds 80 msec -OK -Time taken: 57.158 seconds, Fetched: 10 row(s) -hive> quit; --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18105@mturlrep13_201309102031_1802187609.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18522@mturlrep13_201309102031_2086673923.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0159 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:31:51,697 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:31:58,726 Stage-1 map = 36%, reduce = 0% -2013-09-10 20:32:00,742 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.86 sec -2013-09-10 20:32:01,750 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.86 sec -2013-09-10 20:32:02,758 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.86 sec -2013-09-10 20:32:03,765 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.86 sec -2013-09-10 20:32:04,772 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.86 sec -2013-09-10 20:32:05,778 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.86 sec -2013-09-10 20:32:06,785 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.86 sec -2013-09-10 20:32:07,792 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.86 sec -2013-09-10 20:32:08,798 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 21.86 sec -2013-09-10 20:32:09,804 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 34.11 sec -2013-09-10 20:32:10,810 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.7 sec -2013-09-10 20:32:11,815 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.7 sec -2013-09-10 20:32:12,821 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.7 sec -2013-09-10 20:32:13,827 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.7 sec -2013-09-10 20:32:14,833 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.7 sec -2013-09-10 20:32:15,838 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.7 sec -2013-09-10 20:32:16,845 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.7 sec -2013-09-10 20:32:17,852 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 53.79 sec -2013-09-10 20:32:18,858 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.45 sec -2013-09-10 20:32:19,864 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.45 sec -2013-09-10 20:32:20,870 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.45 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 450 msec -Ended Job = job_201309101627_0159 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0160 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:32:23,381 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:32:31,407 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:32:33,415 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.98 sec -2013-09-10 20:32:34,420 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.98 sec -2013-09-10 20:32:35,425 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.98 sec -2013-09-10 20:32:36,430 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.98 sec -2013-09-10 20:32:37,435 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.98 sec -2013-09-10 20:32:38,439 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.98 sec -2013-09-10 20:32:39,444 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.98 sec -2013-09-10 20:32:40,450 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.98 sec -2013-09-10 20:32:41,454 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.98 sec -2013-09-10 20:32:42,460 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.54 sec -2013-09-10 20:32:43,465 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.54 sec -2013-09-10 20:32:44,470 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.54 sec -MapReduce Total cumulative CPU time: 18 seconds 540 msec -Ended Job = job_201309101627_0160 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.45 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.54 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 20 seconds 990 msec -OK -Time taken: 62.742 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20555@mturlrep13_201309102032_475578712.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20972@mturlrep13_201309102032_588341028.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0161 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:32:58,361 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:33:05,390 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:33:06,404 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.79 sec -2013-09-10 20:33:07,412 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.79 sec -2013-09-10 20:33:08,419 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.79 sec -2013-09-10 20:33:09,426 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.79 sec -2013-09-10 20:33:10,433 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.79 sec -2013-09-10 20:33:11,439 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.79 sec -2013-09-10 20:33:12,445 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.79 sec -2013-09-10 20:33:13,453 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 22.79 sec -2013-09-10 20:33:14,459 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 34.01 sec -2013-09-10 20:33:15,464 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.13 sec -2013-09-10 20:33:16,469 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.13 sec -2013-09-10 20:33:17,474 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.13 sec -2013-09-10 20:33:18,480 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.13 sec -2013-09-10 20:33:19,487 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.13 sec -2013-09-10 20:33:20,493 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.13 sec -2013-09-10 20:33:21,500 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.13 sec -2013-09-10 20:33:22,506 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 46.13 sec -2013-09-10 20:33:23,514 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 54.52 sec -2013-09-10 20:33:24,520 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.25 sec -2013-09-10 20:33:25,526 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.25 sec -MapReduce Total cumulative CPU time: 1 minutes 3 seconds 250 msec -Ended Job = job_201309101627_0161 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0162 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:33:28,009 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:33:36,038 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:33:38,047 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.62 sec -2013-09-10 20:33:39,052 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.62 sec -2013-09-10 20:33:40,057 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.62 sec -2013-09-10 20:33:41,062 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.62 sec -2013-09-10 20:33:42,067 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.62 sec -2013-09-10 20:33:43,072 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.62 sec -2013-09-10 20:33:44,077 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.62 sec -2013-09-10 20:33:45,083 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.62 sec -2013-09-10 20:33:46,088 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.62 sec -2013-09-10 20:33:47,094 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.02 sec -2013-09-10 20:33:48,100 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.02 sec -2013-09-10 20:33:49,106 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.02 sec -MapReduce Total cumulative CPU time: 19 seconds 20 msec -Ended Job = job_201309101627_0162 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 63.25 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 19.02 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 22 seconds 270 msec -OK -Time taken: 59.043 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22965@mturlrep13_201309102033_23929963.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23374@mturlrep13_201309102033_541536373.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0163 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:34:02,415 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:34:10,447 Stage-1 map = 39%, reduce = 0% -2013-09-10 20:34:11,460 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.54 sec -2013-09-10 20:34:12,468 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.54 sec -2013-09-10 20:34:13,476 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.54 sec -2013-09-10 20:34:14,482 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.54 sec -2013-09-10 20:34:15,489 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.54 sec -2013-09-10 20:34:16,496 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.54 sec -2013-09-10 20:34:17,504 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.54 sec -2013-09-10 20:34:18,510 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.54 sec -2013-09-10 20:34:19,517 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 34.51 sec -2013-09-10 20:34:20,523 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.08 sec -2013-09-10 20:34:21,528 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.08 sec -2013-09-10 20:34:22,534 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.08 sec -2013-09-10 20:34:23,540 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.08 sec -2013-09-10 20:34:24,546 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.08 sec -2013-09-10 20:34:25,552 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.08 sec -2013-09-10 20:34:26,558 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.08 sec -2013-09-10 20:34:27,617 Stage-1 map = 100%, reduce = 53%, Cumulative CPU 46.08 sec -2013-09-10 20:34:28,624 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 46.08 sec -2013-09-10 20:34:29,632 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.7 sec -2013-09-10 20:34:30,639 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.7 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 700 msec -Ended Job = job_201309101627_0163 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0164 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:34:33,122 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:34:41,155 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:34:43,164 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.71 sec -2013-09-10 20:34:44,169 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.71 sec -2013-09-10 20:34:45,174 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.71 sec -2013-09-10 20:34:46,178 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.71 sec -2013-09-10 20:34:47,183 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.71 sec -2013-09-10 20:34:48,187 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.71 sec -2013-09-10 20:34:49,192 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.71 sec -2013-09-10 20:34:50,197 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.71 sec -2013-09-10 20:34:51,202 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 12.71 sec -2013-09-10 20:34:52,208 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.18 sec -2013-09-10 20:34:53,213 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.18 sec -2013-09-10 20:34:54,218 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.18 sec -MapReduce Total cumulative CPU time: 17 seconds 180 msec -Ended Job = job_201309101627_0164 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.7 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.18 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 19 seconds 880 msec -OK -Time taken: 59.131 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация чуть сложнее.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25402@mturlrep13_201309102035_1149364562.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25922@mturlrep13_201309102035_1476813424.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0165 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:35:15,161 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:35:22,191 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:35:23,203 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-10 20:35:24,211 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.67 sec -2013-09-10 20:35:25,219 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.67 sec -2013-09-10 20:35:26,225 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.67 sec -2013-09-10 20:35:27,231 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.67 sec -2013-09-10 20:35:28,238 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.67 sec -2013-09-10 20:35:29,244 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.67 sec -2013-09-10 20:35:30,251 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.67 sec -2013-09-10 20:35:31,257 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 23.67 sec -2013-09-10 20:35:32,262 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.57 sec -2013-09-10 20:35:33,268 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.57 sec -2013-09-10 20:35:34,273 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.57 sec -2013-09-10 20:35:35,279 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.57 sec -2013-09-10 20:35:36,285 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.57 sec -2013-09-10 20:35:37,290 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.57 sec -2013-09-10 20:35:38,296 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.57 sec -2013-09-10 20:35:39,302 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.57 sec -2013-09-10 20:35:40,308 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 49.57 sec -2013-09-10 20:35:41,315 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 65.45 sec -2013-09-10 20:35:42,321 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 65.45 sec -MapReduce Total cumulative CPU time: 1 minutes 5 seconds 450 msec -Ended Job = job_201309101627_0165 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0166 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:35:45,794 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:35:52,817 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:35:55,829 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.25 sec -2013-09-10 20:35:56,834 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.25 sec -2013-09-10 20:35:57,839 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.25 sec -2013-09-10 20:35:58,844 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.25 sec -2013-09-10 20:35:59,849 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.25 sec -2013-09-10 20:36:00,854 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.25 sec -2013-09-10 20:36:01,859 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.25 sec -2013-09-10 20:36:02,864 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.25 sec -2013-09-10 20:36:03,871 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.25 sec -2013-09-10 20:36:04,875 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.73 sec -2013-09-10 20:36:05,880 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.73 sec -2013-09-10 20:36:06,885 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.73 sec -MapReduce Total cumulative CPU time: 18 seconds 730 msec -Ended Job = job_201309101627_0166 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 65.45 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.73 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 24 seconds 180 msec -OK -Time taken: 61.752 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28465@mturlrep13_201309102036_191417244.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28883@mturlrep13_201309102036_2013031139.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0167 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:36:19,984 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:36:28,024 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 13.29 sec -2013-09-10 20:36:29,031 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.97 sec -2013-09-10 20:36:30,039 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.97 sec -2013-09-10 20:36:31,045 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.97 sec -2013-09-10 20:36:32,051 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.97 sec -2013-09-10 20:36:33,057 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.97 sec -2013-09-10 20:36:34,064 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.97 sec -2013-09-10 20:36:35,071 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.97 sec -2013-09-10 20:36:36,077 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.97 sec -2013-09-10 20:36:37,083 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-10 20:36:38,088 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-10 20:36:39,094 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-10 20:36:40,100 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-10 20:36:41,106 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-10 20:36:42,113 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-10 20:36:43,119 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-10 20:36:44,125 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-10 20:36:45,133 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 59.87 sec -2013-09-10 20:36:46,162 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 67.67 sec -2013-09-10 20:36:47,168 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 67.67 sec -MapReduce Total cumulative CPU time: 1 minutes 7 seconds 670 msec -Ended Job = job_201309101627_0167 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0168 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:36:50,673 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:36:57,699 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:37:00,711 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.57 sec -2013-09-10 20:37:01,717 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.57 sec -2013-09-10 20:37:02,722 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.57 sec -2013-09-10 20:37:03,727 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.57 sec -2013-09-10 20:37:04,732 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.57 sec -2013-09-10 20:37:05,737 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.57 sec -2013-09-10 20:37:06,742 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.57 sec -2013-09-10 20:37:07,747 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.57 sec -2013-09-10 20:37:08,753 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.57 sec -2013-09-10 20:37:09,759 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.06 sec -2013-09-10 20:37:10,766 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.06 sec -2013-09-10 20:37:11,771 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.06 sec -MapReduce Total cumulative CPU time: 19 seconds 60 msec -Ended Job = job_201309101627_0168 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 67.67 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 19.06 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 26 seconds 730 msec -OK -Time taken: 59.316 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30836@mturlrep13_201309102037_1364975139.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31259@mturlrep13_201309102037_375310228.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0169 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:37:26,291 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:37:33,329 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-10 20:37:34,338 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-10 20:37:35,345 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-10 20:37:36,353 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-10 20:37:37,359 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-10 20:37:38,366 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-10 20:37:39,373 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-10 20:37:40,379 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-10 20:37:41,386 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.79 sec -2013-09-10 20:37:42,392 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.79 sec -2013-09-10 20:37:43,397 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.79 sec -2013-09-10 20:37:44,402 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.79 sec -2013-09-10 20:37:45,408 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.79 sec -2013-09-10 20:37:46,414 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.79 sec -2013-09-10 20:37:47,430 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.79 sec -2013-09-10 20:37:48,436 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.79 sec -2013-09-10 20:37:49,442 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.79 sec -2013-09-10 20:37:50,450 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.25 sec -2013-09-10 20:37:51,457 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.25 sec -2013-09-10 20:37:52,463 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.25 sec -MapReduce Total cumulative CPU time: 57 seconds 250 msec -Ended Job = job_201309101627_0169 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0170 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:37:55,055 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:38:03,082 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:38:06,093 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.95 sec -2013-09-10 20:38:07,099 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.95 sec -2013-09-10 20:38:08,103 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.95 sec -2013-09-10 20:38:09,108 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.95 sec -2013-09-10 20:38:10,112 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.95 sec -2013-09-10 20:38:11,116 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.95 sec -2013-09-10 20:38:12,121 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.95 sec -2013-09-10 20:38:13,132 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.95 sec -2013-09-10 20:38:14,138 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.95 sec -2013-09-10 20:38:15,145 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.87 sec -2013-09-10 20:38:16,151 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.87 sec -MapReduce Total cumulative CPU time: 18 seconds 870 msec -Ended Job = job_201309101627_0170 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 57.25 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.87 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 16 seconds 120 msec -OK -Time taken: 58.243 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по числу и строке, большое количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_793@mturlrep13_201309102038_41120761.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1406@mturlrep13_201309102038_1726333638.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0171 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:38:38,249 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:38:45,278 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:38:48,297 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.52 sec -2013-09-10 20:38:49,304 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.52 sec -2013-09-10 20:38:50,311 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.52 sec -2013-09-10 20:38:51,317 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.52 sec -2013-09-10 20:38:52,325 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.52 sec -2013-09-10 20:38:53,333 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.52 sec -2013-09-10 20:38:54,339 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.52 sec -2013-09-10 20:38:55,346 Stage-1 map = 72%, reduce = 8%, Cumulative CPU 27.52 sec -2013-09-10 20:38:56,352 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.52 sec -2013-09-10 20:38:57,358 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.52 sec -2013-09-10 20:38:58,365 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.52 sec -2013-09-10 20:38:59,371 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.77 sec -2013-09-10 20:39:00,377 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.77 sec -2013-09-10 20:39:01,383 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.77 sec -2013-09-10 20:39:02,390 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.77 sec -2013-09-10 20:39:03,396 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.77 sec -2013-09-10 20:39:04,401 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 55.77 sec -2013-09-10 20:39:05,409 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 62.77 sec -2013-09-10 20:39:06,415 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.11 sec -2013-09-10 20:39:07,421 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.11 sec -MapReduce Total cumulative CPU time: 1 minutes 10 seconds 110 msec -Ended Job = job_201309101627_0171 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0172 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:39:10,920 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:39:20,949 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:39:23,958 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 19.25 sec -2013-09-10 20:39:24,964 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 19.25 sec -2013-09-10 20:39:25,969 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 19.25 sec -2013-09-10 20:39:26,974 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 19.25 sec -2013-09-10 20:39:27,979 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 19.25 sec -2013-09-10 20:39:28,984 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 19.25 sec -2013-09-10 20:39:29,988 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 19.25 sec -2013-09-10 20:39:30,994 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 19.25 sec -2013-09-10 20:39:31,998 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 19.25 sec -2013-09-10 20:39:33,003 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 19.25 sec -2013-09-10 20:39:34,009 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.7 sec -2013-09-10 20:39:35,014 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.7 sec -MapReduce Total cumulative CPU time: 23 seconds 700 msec -Ended Job = job_201309101627_0172 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 70.11 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 23.7 sec HDFS Read: 55476181 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 33 seconds 810 msec -OK -Time taken: 66.769 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3462@mturlrep13_201309102039_1149451168.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3871@mturlrep13_201309102039_1735915084.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0173 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:39:48,055 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:39:56,086 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:39:58,100 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-10 20:39:59,108 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-10 20:40:00,116 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-10 20:40:01,122 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-10 20:40:02,128 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-10 20:40:03,135 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-10 20:40:04,141 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-10 20:40:05,147 Stage-1 map = 72%, reduce = 8%, Cumulative CPU 27.32 sec -2013-09-10 20:40:06,152 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.32 sec -2013-09-10 20:40:07,158 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 39.83 sec -2013-09-10 20:40:08,163 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.14 sec -2013-09-10 20:40:09,168 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.14 sec -2013-09-10 20:40:10,174 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.14 sec -2013-09-10 20:40:11,179 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.14 sec -2013-09-10 20:40:12,185 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.14 sec -2013-09-10 20:40:13,190 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.14 sec -2013-09-10 20:40:14,196 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 55.14 sec -2013-09-10 20:40:15,218 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.62 sec -2013-09-10 20:40:16,223 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.62 sec -2013-09-10 20:40:17,229 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.62 sec -MapReduce Total cumulative CPU time: 1 minutes 9 seconds 620 msec -Ended Job = job_201309101627_0173 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0174 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:40:19,719 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:40:30,752 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:40:34,764 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 20:40:35,768 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 20:40:36,772 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 20:40:37,776 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 20:40:38,781 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 20:40:39,785 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 20:40:40,790 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 20:40:41,807 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.83 sec -2013-09-10 20:40:42,811 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.83 sec -2013-09-10 20:40:43,816 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.17 sec -2013-09-10 20:40:44,820 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.17 sec -MapReduce Total cumulative CPU time: 23 seconds 170 msec -Ended Job = job_201309101627_0174 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 69.62 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 23.17 sec HDFS Read: 55476181 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 32 seconds 790 msec -OK -Time taken: 64.078 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6839@mturlrep13_201309102040_775437631.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7242@mturlrep13_201309102040_2081233093.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0175 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:40:57,539 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:41:05,573 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:41:07,588 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.59 sec -2013-09-10 20:41:08,596 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.59 sec -2013-09-10 20:41:09,603 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.59 sec -2013-09-10 20:41:10,609 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.59 sec -2013-09-10 20:41:11,616 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.59 sec -2013-09-10 20:41:12,623 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.59 sec -2013-09-10 20:41:13,629 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.59 sec -2013-09-10 20:41:14,635 Stage-1 map = 96%, reduce = 8%, Cumulative CPU 26.59 sec -2013-09-10 20:41:15,641 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 26.59 sec -2013-09-10 20:41:16,647 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 39.34 sec -2013-09-10 20:41:17,653 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.36 sec -2013-09-10 20:41:18,658 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.36 sec -2013-09-10 20:41:19,664 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.36 sec -2013-09-10 20:41:20,670 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.36 sec -2013-09-10 20:41:21,677 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.36 sec -2013-09-10 20:41:22,683 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.36 sec -2013-09-10 20:41:23,689 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 54.36 sec -2013-09-10 20:41:24,697 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.52 sec -2013-09-10 20:41:25,704 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.52 sec -2013-09-10 20:41:26,709 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.52 sec -MapReduce Total cumulative CPU time: 1 minutes 8 seconds 520 msec -Ended Job = job_201309101627_0175 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0176 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:41:29,212 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:41:40,246 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:41:44,259 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.47 sec -2013-09-10 20:41:45,264 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.47 sec -2013-09-10 20:41:46,268 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.47 sec -2013-09-10 20:41:47,273 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.47 sec -2013-09-10 20:41:48,278 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.47 sec -2013-09-10 20:41:49,283 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.47 sec -2013-09-10 20:41:50,287 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.47 sec -2013-09-10 20:41:51,293 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.47 sec -2013-09-10 20:41:52,298 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.47 sec -2013-09-10 20:41:53,303 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.87 sec -2013-09-10 20:41:54,309 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.87 sec -MapReduce Total cumulative CPU time: 22 seconds 870 msec -Ended Job = job_201309101627_0176 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 68.52 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 22.87 sec HDFS Read: 55476181 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 31 seconds 390 msec -OK -Time taken: 63.944 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9222@mturlrep13_201309102042_1508377166.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9653@mturlrep13_201309102042_1395015461.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0177 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:42:17,156 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:42:24,184 Stage-1 map = 36%, reduce = 0% -2013-09-10 20:42:27,198 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:42:29,212 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 16.85 sec -2013-09-10 20:42:30,219 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.6 sec -2013-09-10 20:42:31,227 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.6 sec -2013-09-10 20:42:32,234 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.6 sec -2013-09-10 20:42:33,240 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.6 sec -2013-09-10 20:42:34,246 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.6 sec -2013-09-10 20:42:35,251 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.6 sec -2013-09-10 20:42:36,257 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.6 sec -2013-09-10 20:42:37,262 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.6 sec -2013-09-10 20:42:38,272 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.6 sec -2013-09-10 20:42:39,277 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.6 sec -2013-09-10 20:42:40,283 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.6 sec -2013-09-10 20:42:41,289 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.6 sec -2013-09-10 20:42:42,295 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:43,301 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:44,306 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:45,312 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:46,318 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:47,324 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:48,329 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:49,336 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:50,341 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:51,347 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.15 sec -2013-09-10 20:42:52,352 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 68.15 sec -2013-09-10 20:42:53,360 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 84.75 sec -2013-09-10 20:42:54,366 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.79 sec -2013-09-10 20:42:55,371 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.79 sec -2013-09-10 20:42:56,377 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.79 sec -MapReduce Total cumulative CPU time: 1 minutes 29 seconds 790 msec -Ended Job = job_201309101627_0177 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0178 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:42:58,964 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:43:10,003 Stage-2 map = 46%, reduce = 0% -2013-09-10 20:43:13,012 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:43:16,023 Stage-2 map = 96%, reduce = 0% -2013-09-10 20:43:18,031 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.46 sec -2013-09-10 20:43:19,036 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.46 sec -2013-09-10 20:43:20,041 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.46 sec -2013-09-10 20:43:21,046 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.46 sec -2013-09-10 20:43:22,050 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.46 sec -2013-09-10 20:43:23,055 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.46 sec -2013-09-10 20:43:24,059 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.46 sec -2013-09-10 20:43:25,063 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.46 sec -2013-09-10 20:43:26,067 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.46 sec -2013-09-10 20:43:27,072 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.46 sec -2013-09-10 20:43:28,077 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.87 sec -2013-09-10 20:43:29,082 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.87 sec -2013-09-10 20:43:30,087 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.87 sec -MapReduce Total cumulative CPU time: 28 seconds 870 msec -Ended Job = job_201309101627_0178 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 89.79 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 28.87 sec HDFS Read: 146210123 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 58 seconds 660 msec -OK -Time taken: 82.627 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11739@mturlrep13_201309102043_755615207.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12158@mturlrep13_201309102043_667274494.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0179 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:43:44,421 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:43:51,451 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:43:55,477 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.5 sec -2013-09-10 20:43:56,485 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.5 sec -2013-09-10 20:43:57,492 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.5 sec -2013-09-10 20:43:58,500 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.5 sec -2013-09-10 20:43:59,508 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.5 sec -2013-09-10 20:44:00,514 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.5 sec -2013-09-10 20:44:01,521 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.5 sec -2013-09-10 20:44:02,527 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.5 sec -2013-09-10 20:44:03,534 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.5 sec -2013-09-10 20:44:04,541 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.5 sec -2013-09-10 20:44:05,547 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.5 sec -2013-09-10 20:44:06,553 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.5 sec -2013-09-10 20:44:07,559 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 49.48 sec -2013-09-10 20:44:08,565 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:09,570 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:10,575 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:11,580 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:12,586 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:13,594 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:14,600 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:15,606 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:16,612 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:17,618 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.45 sec -2013-09-10 20:44:18,624 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 67.45 sec -2013-09-10 20:44:19,630 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 67.45 sec -2013-09-10 20:44:20,638 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.72 sec -2013-09-10 20:44:21,644 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.72 sec -2013-09-10 20:44:22,650 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.72 sec -MapReduce Total cumulative CPU time: 1 minutes 29 seconds 720 msec -Ended Job = job_201309101627_0179 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0180 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:44:25,163 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:44:36,195 Stage-2 map = 46%, reduce = 0% -2013-09-10 20:44:39,205 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:44:42,214 Stage-2 map = 96%, reduce = 0% -2013-09-10 20:44:44,222 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-10 20:44:45,227 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-10 20:44:46,231 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-10 20:44:47,236 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-10 20:44:48,240 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-10 20:44:49,244 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-10 20:44:50,249 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-10 20:44:51,254 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.57 sec -2013-09-10 20:44:52,259 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.57 sec -2013-09-10 20:44:53,265 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.62 sec -2013-09-10 20:44:54,271 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.03 sec -2013-09-10 20:44:55,276 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.03 sec -2013-09-10 20:44:56,282 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.03 sec -MapReduce Total cumulative CPU time: 28 seconds 30 msec -Ended Job = job_201309101627_0180 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 89.72 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 28.03 sec HDFS Read: 146210123 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 57 seconds 750 msec -OK -Time taken: 80.369 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14245@mturlrep13_201309102044_1237091624.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14650@mturlrep13_201309102045_372590589.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0181 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:45:10,380 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:45:17,409 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:45:22,436 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.02 sec -2013-09-10 20:45:23,444 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.02 sec -2013-09-10 20:45:24,451 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.02 sec -2013-09-10 20:45:25,459 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.02 sec -2013-09-10 20:45:26,465 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.02 sec -2013-09-10 20:45:27,472 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.02 sec -2013-09-10 20:45:28,478 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.02 sec -2013-09-10 20:45:29,486 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 34.02 sec -2013-09-10 20:45:30,493 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 34.02 sec -2013-09-10 20:45:31,499 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 34.02 sec -2013-09-10 20:45:32,505 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.02 sec -2013-09-10 20:45:33,510 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 50.52 sec -2013-09-10 20:45:34,516 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:35,521 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:36,526 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:37,531 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:38,537 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:39,543 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:40,549 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:41,555 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:42,561 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:43,566 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.88 sec -2013-09-10 20:45:44,572 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 68.88 sec -2013-09-10 20:45:45,578 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 68.88 sec -2013-09-10 20:45:46,585 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.92 sec -2013-09-10 20:45:47,591 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.92 sec -2013-09-10 20:45:48,597 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.92 sec -MapReduce Total cumulative CPU time: 1 minutes 29 seconds 920 msec -Ended Job = job_201309101627_0181 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0182 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:45:52,108 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:46:02,139 Stage-2 map = 46%, reduce = 0% -2013-09-10 20:46:05,147 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:46:08,156 Stage-2 map = 96%, reduce = 0% -2013-09-10 20:46:10,163 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.28 sec -2013-09-10 20:46:11,168 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.28 sec -2013-09-10 20:46:12,173 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.28 sec -2013-09-10 20:46:13,177 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.28 sec -2013-09-10 20:46:14,181 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.28 sec -2013-09-10 20:46:15,186 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.28 sec -2013-09-10 20:46:16,190 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.28 sec -2013-09-10 20:46:17,195 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.28 sec -2013-09-10 20:46:18,200 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.28 sec -2013-09-10 20:46:19,205 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.28 sec -2013-09-10 20:46:20,210 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.28 sec -2013-09-10 20:46:21,215 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.79 sec -2013-09-10 20:46:22,220 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.79 sec -MapReduce Total cumulative CPU time: 28 seconds 790 msec -Ended Job = job_201309101627_0182 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 89.92 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 28.79 sec HDFS Read: 146210123 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 58 seconds 710 msec -OK -Time taken: 80.288 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17569@mturlrep13_201309102046_1421699291.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17985@mturlrep13_201309102046_1356986531.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0183 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:46:44,167 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:46:51,195 Stage-1 map = 32%, reduce = 0% -2013-09-10 20:46:54,211 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 18.03 sec -2013-09-10 20:46:55,217 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 18.03 sec -2013-09-10 20:46:56,226 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 26.65 sec -2013-09-10 20:46:57,232 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.42 sec -2013-09-10 20:46:58,239 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.42 sec -2013-09-10 20:46:59,246 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.42 sec -2013-09-10 20:47:00,252 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.42 sec -2013-09-10 20:47:01,259 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.42 sec -2013-09-10 20:47:02,265 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.42 sec -2013-09-10 20:47:03,271 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.42 sec -2013-09-10 20:47:04,276 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.42 sec -2013-09-10 20:47:05,281 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.42 sec -2013-09-10 20:47:06,287 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.42 sec -2013-09-10 20:47:07,292 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.42 sec -2013-09-10 20:47:08,297 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.42 sec -2013-09-10 20:47:09,302 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.29 sec -2013-09-10 20:47:10,307 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.29 sec -2013-09-10 20:47:11,312 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.29 sec -2013-09-10 20:47:12,317 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.29 sec -2013-09-10 20:47:13,323 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.29 sec -2013-09-10 20:47:14,328 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.29 sec -2013-09-10 20:47:15,333 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 66.29 sec -2013-09-10 20:47:16,340 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 75.8 sec -2013-09-10 20:47:17,346 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 75.8 sec -2013-09-10 20:47:18,352 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 75.8 sec -MapReduce Total cumulative CPU time: 1 minutes 15 seconds 800 msec -Ended Job = job_201309101627_0183 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 75.8 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 15 seconds 800 msec -OK -Time taken: 44.05 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19485@mturlrep13_201309102047_352390381.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19906@mturlrep13_201309102047_307105282.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0184 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:47:32,371 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:47:39,398 Stage-1 map = 39%, reduce = 0% -2013-09-10 20:47:42,409 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:47:43,421 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 17.21 sec -2013-09-10 20:47:44,427 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.34 sec -2013-09-10 20:47:45,435 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.34 sec -2013-09-10 20:47:46,441 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.34 sec -2013-09-10 20:47:47,448 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.34 sec -2013-09-10 20:47:48,454 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.34 sec -2013-09-10 20:47:49,460 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.34 sec -2013-09-10 20:47:50,465 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.34 sec -2013-09-10 20:47:51,470 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 35.34 sec -2013-09-10 20:47:52,476 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 35.34 sec -2013-09-10 20:47:53,483 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 55.87 sec -2013-09-10 20:47:54,488 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 55.87 sec -2013-09-10 20:47:55,494 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 60.92 sec -2013-09-10 20:47:56,499 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.81 sec -2013-09-10 20:47:57,504 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.81 sec -2013-09-10 20:47:58,508 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.81 sec -2013-09-10 20:47:59,513 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.81 sec -2013-09-10 20:48:00,519 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.81 sec -2013-09-10 20:48:01,524 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.81 sec -2013-09-10 20:48:02,530 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.81 sec -2013-09-10 20:48:03,537 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.42 sec -2013-09-10 20:48:04,544 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.42 sec -2013-09-10 20:48:05,549 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.42 sec -MapReduce Total cumulative CPU time: 1 minutes 17 seconds 420 msec -Ended Job = job_201309101627_0184 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 77.42 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 420 msec -OK -Time taken: 41.574 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21404@mturlrep13_201309102048_126554804.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21810@mturlrep13_201309102048_1454592884.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0185 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:48:18,529 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:48:26,558 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:48:30,578 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.15 sec -2013-09-10 20:48:31,586 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.15 sec -2013-09-10 20:48:32,594 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.15 sec -2013-09-10 20:48:33,601 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.15 sec -2013-09-10 20:48:34,606 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.15 sec -2013-09-10 20:48:35,613 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.15 sec -2013-09-10 20:48:36,618 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.15 sec -2013-09-10 20:48:37,623 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.15 sec -2013-09-10 20:48:38,632 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 35.15 sec -2013-09-10 20:48:39,638 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 35.15 sec -2013-09-10 20:48:40,654 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 35.15 sec -2013-09-10 20:48:41,660 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 35.15 sec -2013-09-10 20:48:42,665 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 50.57 sec -2013-09-10 20:48:43,670 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.89 sec -2013-09-10 20:48:44,675 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.89 sec -2013-09-10 20:48:45,680 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.89 sec -2013-09-10 20:48:46,690 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.89 sec -2013-09-10 20:48:47,695 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.89 sec -2013-09-10 20:48:48,701 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.89 sec -2013-09-10 20:48:49,706 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.89 sec -2013-09-10 20:48:50,711 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.89 sec -2013-09-10 20:48:51,718 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 78.48 sec -2013-09-10 20:48:52,724 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 78.48 sec -MapReduce Total cumulative CPU time: 1 minutes 18 seconds 480 msec -Ended Job = job_201309101627_0185 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 78.48 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 18 seconds 480 msec -OK -Time taken: 41.516 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но без сортировки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23317@mturlrep13_201309102048_633775434.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23745@mturlrep13_201309102049_424444339.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0186 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:49:13,392 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:49:20,429 Stage-1 map = 7%, reduce = 0% -2013-09-10 20:49:23,442 Stage-1 map = 22%, reduce = 0% -2013-09-10 20:49:26,455 Stage-1 map = 29%, reduce = 0% -2013-09-10 20:49:29,469 Stage-1 map = 36%, reduce = 0% -2013-09-10 20:49:32,480 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:49:34,495 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.74 sec -2013-09-10 20:49:35,502 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.74 sec -2013-09-10 20:49:36,510 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.74 sec -2013-09-10 20:49:37,517 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.74 sec -2013-09-10 20:49:38,523 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.74 sec -2013-09-10 20:49:39,529 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.74 sec -2013-09-10 20:49:40,534 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.74 sec -2013-09-10 20:49:41,540 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:42,545 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:43,551 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:44,557 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:45,562 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:46,567 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:47,571 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:48,576 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:49,581 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:50,585 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:51,590 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:52,596 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 54.74 sec -2013-09-10 20:49:53,603 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 104.41 sec -2013-09-10 20:49:54,608 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 109.4 sec -2013-09-10 20:49:55,613 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 109.4 sec -2013-09-10 20:49:56,619 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 109.4 sec -2013-09-10 20:49:57,624 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 109.4 sec -2013-09-10 20:49:58,630 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 109.4 sec -2013-09-10 20:49:59,636 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 109.4 sec -2013-09-10 20:50:00,642 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 109.4 sec -2013-09-10 20:50:01,648 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 109.4 sec -2013-09-10 20:50:02,654 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 109.4 sec -2013-09-10 20:50:03,660 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 109.4 sec -2013-09-10 20:50:04,665 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 109.4 sec -2013-09-10 20:50:06,204 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 109.4 sec -2013-09-10 20:50:07,210 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 109.4 sec -2013-09-10 20:50:08,216 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 109.4 sec -2013-09-10 20:50:09,222 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 109.4 sec -2013-09-10 20:50:10,228 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 109.4 sec -2013-09-10 20:50:11,233 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 109.4 sec -2013-09-10 20:50:12,238 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 109.4 sec -2013-09-10 20:50:13,245 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 109.4 sec -2013-09-10 20:50:14,251 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 128.24 sec -2013-09-10 20:50:15,258 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.79 sec -2013-09-10 20:50:16,263 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.79 sec -MapReduce Total cumulative CPU time: 2 minutes 27 seconds 790 msec -Ended Job = job_201309101627_0186 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0187 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:50:19,831 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:50:32,871 Stage-2 map = 28%, reduce = 0% -2013-09-10 20:50:38,890 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:50:48,919 Stage-2 map = 78%, reduce = 0% -2013-09-10 20:50:56,946 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:50:57,951 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:50:58,956 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:50:59,960 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:51:00,964 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:51:01,968 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:51:02,972 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:51:03,977 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:51:04,980 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:51:05,984 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.44 sec -2013-09-10 20:51:06,989 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 43.44 sec -2013-09-10 20:51:07,994 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.97 sec -2013-09-10 20:51:08,999 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.97 sec -2013-09-10 20:51:10,004 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.97 sec -MapReduce Total cumulative CPU time: 49 seconds 970 msec -Ended Job = job_201309101627_0187 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 147.79 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 49.97 sec HDFS Read: 241349358 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 17 seconds 760 msec -OK -Time taken: 126.359 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26780@mturlrep13_201309102051_75093307.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27199@mturlrep13_201309102051_564952806.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0188 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:51:23,085 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:51:31,119 Stage-1 map = 11%, reduce = 0% -2013-09-10 20:51:34,132 Stage-1 map = 22%, reduce = 0% -2013-09-10 20:51:37,144 Stage-1 map = 29%, reduce = 0% -2013-09-10 20:51:40,158 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:51:43,177 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.96 sec -2013-09-10 20:51:44,183 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.96 sec -2013-09-10 20:51:45,190 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.96 sec -2013-09-10 20:51:46,196 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.96 sec -2013-09-10 20:51:47,202 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.96 sec -2013-09-10 20:51:48,230 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.96 sec -2013-09-10 20:51:49,236 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.96 sec -2013-09-10 20:51:50,242 Stage-1 map = 54%, reduce = 8%, Cumulative CPU 52.96 sec -2013-09-10 20:51:51,247 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 52.96 sec -2013-09-10 20:51:52,253 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 52.96 sec -2013-09-10 20:51:53,259 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 81.09 sec -2013-09-10 20:51:54,265 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 81.09 sec -2013-09-10 20:51:55,271 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 81.09 sec -2013-09-10 20:51:56,276 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 81.09 sec -2013-09-10 20:51:57,282 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 81.09 sec -2013-09-10 20:51:58,288 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 81.09 sec -2013-09-10 20:51:59,294 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 81.09 sec -2013-09-10 20:52:00,300 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 81.09 sec -2013-09-10 20:52:01,305 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 81.09 sec -2013-09-10 20:52:02,311 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 95.63 sec -2013-09-10 20:52:03,315 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 95.63 sec -2013-09-10 20:52:04,320 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 109.67 sec -2013-09-10 20:52:05,325 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 109.67 sec -2013-09-10 20:52:06,330 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 109.67 sec -2013-09-10 20:52:07,334 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 109.67 sec -2013-09-10 20:52:08,339 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 109.67 sec -2013-09-10 20:52:09,344 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 109.67 sec -2013-09-10 20:52:10,349 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 109.67 sec -2013-09-10 20:52:11,355 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 109.67 sec -2013-09-10 20:52:12,360 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 109.67 sec -2013-09-10 20:52:13,366 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 109.67 sec -2013-09-10 20:52:14,371 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 109.67 sec -2013-09-10 20:52:15,377 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 109.67 sec -2013-09-10 20:52:16,382 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 109.67 sec -2013-09-10 20:52:17,388 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 109.67 sec -2013-09-10 20:52:18,393 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 109.67 sec -2013-09-10 20:52:19,399 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 109.67 sec -2013-09-10 20:52:20,404 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 109.67 sec -2013-09-10 20:52:21,410 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 109.67 sec -2013-09-10 20:52:22,417 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 148.66 sec -2013-09-10 20:52:23,428 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 148.66 sec -2013-09-10 20:52:24,433 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 148.66 sec -MapReduce Total cumulative CPU time: 2 minutes 28 seconds 660 msec -Ended Job = job_201309101627_0188 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0189 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:52:27,956 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:52:40,999 Stage-2 map = 28%, reduce = 0% -2013-09-10 20:52:47,512 Stage-2 map = 50%, reduce = 0% -2013-09-10 20:52:53,533 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:52:54,538 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:52:55,543 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:52:56,548 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:52:57,552 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:52:58,557 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:52:59,561 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:53:00,565 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:53:01,569 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:53:02,573 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 31.33 sec -2013-09-10 20:53:03,577 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:04,582 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:05,587 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:06,591 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:07,596 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:08,600 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:09,604 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:10,609 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:11,613 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:12,617 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:13,621 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.09 sec -2013-09-10 20:53:14,636 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 43.09 sec -2013-09-10 20:53:15,641 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.5 sec -2013-09-10 20:53:16,645 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.5 sec -2013-09-10 20:53:17,650 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.5 sec -MapReduce Total cumulative CPU time: 49 seconds 500 msec -Ended Job = job_201309101627_0189 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 148.66 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 49.5 sec HDFS Read: 241349358 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 18 seconds 160 msec -OK -Time taken: 121.853 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29500@mturlrep13_201309102053_2142354545.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29928@mturlrep13_201309102053_368055123.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0190 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:53:30,426 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:53:38,459 Stage-1 map = 14%, reduce = 0% -2013-09-10 20:53:41,471 Stage-1 map = 22%, reduce = 0% -2013-09-10 20:53:44,485 Stage-1 map = 32%, reduce = 0% -2013-09-10 20:53:47,498 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:53:50,516 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.53 sec -2013-09-10 20:53:51,523 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.53 sec -2013-09-10 20:53:52,538 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.53 sec -2013-09-10 20:53:53,544 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.53 sec -2013-09-10 20:53:54,550 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.53 sec -2013-09-10 20:53:55,556 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.53 sec -2013-09-10 20:53:56,562 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.53 sec -2013-09-10 20:53:57,568 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 52.53 sec -2013-09-10 20:53:58,574 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:53:59,579 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:54:00,585 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:54:01,592 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:54:02,598 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:54:03,604 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:54:04,610 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:54:05,616 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:54:06,622 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:54:07,628 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 52.53 sec -2013-09-10 20:54:08,634 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 77.54 sec -2013-09-10 20:54:09,640 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 77.54 sec -2013-09-10 20:54:10,645 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 104.77 sec -2013-09-10 20:54:11,650 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 104.77 sec -2013-09-10 20:54:12,655 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 104.77 sec -2013-09-10 20:54:13,661 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 104.77 sec -2013-09-10 20:54:14,666 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 104.77 sec -2013-09-10 20:54:15,671 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 104.77 sec -2013-09-10 20:54:16,677 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 104.77 sec -2013-09-10 20:54:17,682 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 104.77 sec -2013-09-10 20:54:18,688 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 104.77 sec -2013-09-10 20:54:19,693 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 104.77 sec -2013-09-10 20:54:20,699 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 104.77 sec -2013-09-10 20:54:21,704 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 104.77 sec -2013-09-10 20:54:23,614 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 104.77 sec -2013-09-10 20:54:24,620 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 104.77 sec -2013-09-10 20:54:25,626 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 104.77 sec -2013-09-10 20:54:26,632 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 104.77 sec -2013-09-10 20:54:27,638 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 104.77 sec -2013-09-10 20:54:28,643 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 104.77 sec -2013-09-10 20:54:29,649 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 104.77 sec -2013-09-10 20:54:30,656 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 146.68 sec -2013-09-10 20:54:31,662 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 146.68 sec -MapReduce Total cumulative CPU time: 2 minutes 26 seconds 680 msec -Ended Job = job_201309101627_0190 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0191 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:54:35,128 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:54:48,165 Stage-2 map = 28%, reduce = 0% -2013-09-10 20:54:54,183 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:54:55,188 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:54:56,192 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:54:57,197 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:54:58,202 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:54:59,207 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:00,211 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:01,216 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:02,220 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:03,224 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:04,229 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:05,233 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:06,238 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:07,242 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:08,247 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:09,251 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:10,256 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 20:55:11,261 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:12,265 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:13,270 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:14,274 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:15,286 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:16,291 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:17,296 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:18,301 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:19,307 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:20,311 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.54 sec -2013-09-10 20:55:21,316 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 42.54 sec -2013-09-10 20:55:22,321 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 48.86 sec -2013-09-10 20:55:23,326 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 48.86 sec -2013-09-10 20:55:24,330 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 48.86 sec -MapReduce Total cumulative CPU time: 48 seconds 860 msec -Ended Job = job_201309101627_0191 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 146.68 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 48.86 sec HDFS Read: 241349358 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 15 seconds 540 msec -OK -Time taken: 121.047 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_506@mturlrep13_201309102055_4203966.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_956@mturlrep13_201309102055_26161103.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0192 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-10 20:55:43,857 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:55:48,887 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.59 sec -2013-09-10 20:55:49,894 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.59 sec -2013-09-10 20:55:50,902 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.59 sec -2013-09-10 20:55:51,908 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.59 sec -2013-09-10 20:55:52,914 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.59 sec -2013-09-10 20:55:53,920 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.27 sec -2013-09-10 20:55:54,925 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.27 sec -2013-09-10 20:55:55,931 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 15.27 sec -MapReduce Total cumulative CPU time: 15 seconds 270 msec -Ended Job = job_201309101627_0192 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 15.27 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 15 seconds 270 msec -OK -Time taken: 21.635 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2371@mturlrep13_201309102055_813101102.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2777@mturlrep13_201309102056_2011806893.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0193 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-10 20:56:09,574 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:56:13,596 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.59 sec -2013-09-10 20:56:14,604 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.59 sec -2013-09-10 20:56:15,610 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.59 sec -2013-09-10 20:56:16,616 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.59 sec -2013-09-10 20:56:17,621 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 11.18 sec -2013-09-10 20:56:18,626 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.35 sec -2013-09-10 20:56:19,632 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 15.35 sec -MapReduce Total cumulative CPU time: 15 seconds 350 msec -Ended Job = job_201309101627_0193 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 15.35 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 15 seconds 350 msec -OK -Time taken: 18.086 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3888@mturlrep13_201309102056_1592116097.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4301@mturlrep13_201309102056_499033559.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0194 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-10 20:56:32,600 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:56:37,626 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.67 sec -2013-09-10 20:56:38,633 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.67 sec -2013-09-10 20:56:39,640 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.67 sec -2013-09-10 20:56:40,645 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.67 sec -2013-09-10 20:56:41,651 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.06 sec -2013-09-10 20:56:42,656 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.06 sec -2013-09-10 20:56:43,661 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 15.06 sec -MapReduce Total cumulative CPU time: 15 seconds 60 msec -Ended Job = job_201309101627_0194 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 15.06 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 15 seconds 60 msec -OK -Time taken: 18.296 seconds -hive> quit; --- мощная фильтрация по столбцу типа UInt64.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5720@mturlrep13_201309102056_94435251.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6130@mturlrep13_201309102056_174777183.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0195 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:57:03,409 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:57:10,436 Stage-1 map = 43%, reduce = 0% -2013-09-10 20:57:11,449 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.79 sec -2013-09-10 20:57:12,456 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.79 sec -2013-09-10 20:57:13,463 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.79 sec -2013-09-10 20:57:14,468 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.79 sec -2013-09-10 20:57:15,474 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.79 sec -2013-09-10 20:57:16,480 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.79 sec -2013-09-10 20:57:17,486 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.79 sec -2013-09-10 20:57:18,492 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 17.79 sec -2013-09-10 20:57:19,497 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.67 sec -2013-09-10 20:57:20,502 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.67 sec -2013-09-10 20:57:21,506 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.67 sec -2013-09-10 20:57:22,511 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.67 sec -2013-09-10 20:57:23,517 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.67 sec -2013-09-10 20:57:24,524 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.81 sec -2013-09-10 20:57:25,529 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.81 sec -MapReduce Total cumulative CPU time: 37 seconds 810 msec -Ended Job = job_201309101627_0195 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 37.81 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 37 seconds 810 msec -OK -8428 -Time taken: 32.044 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7386@mturlrep13_201309102057_110374524.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7806@mturlrep13_201309102057_1983544680.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0196 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:57:38,517 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:57:46,554 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.33 sec -2013-09-10 20:57:47,562 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.33 sec -2013-09-10 20:57:48,570 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.33 sec -2013-09-10 20:57:49,576 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.33 sec -2013-09-10 20:57:50,582 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.33 sec -2013-09-10 20:57:51,588 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.33 sec -2013-09-10 20:57:52,594 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.33 sec -2013-09-10 20:57:53,601 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.87 sec -2013-09-10 20:57:54,605 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.87 sec -2013-09-10 20:57:55,610 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.87 sec -2013-09-10 20:57:56,615 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.87 sec -2013-09-10 20:57:57,620 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.87 sec -2013-09-10 20:57:58,625 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.87 sec -2013-09-10 20:57:59,632 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.29 sec -2013-09-10 20:58:00,637 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.29 sec -MapReduce Total cumulative CPU time: 36 seconds 290 msec -Ended Job = job_201309101627_0196 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 36.29 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 36 seconds 290 msec -OK -8428 -Time taken: 29.413 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9045@mturlrep13_201309102058_1522105504.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9464@mturlrep13_201309102058_1256270560.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0197 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 20:58:13,484 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:58:21,525 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.01 sec -2013-09-10 20:58:22,534 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.01 sec -2013-09-10 20:58:23,540 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.01 sec -2013-09-10 20:58:24,546 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.01 sec -2013-09-10 20:58:25,551 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.01 sec -2013-09-10 20:58:26,556 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.01 sec -2013-09-10 20:58:27,562 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.01 sec -2013-09-10 20:58:28,568 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.97 sec -2013-09-10 20:58:29,572 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.97 sec -2013-09-10 20:58:30,577 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.97 sec -2013-09-10 20:58:31,582 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.97 sec -2013-09-10 20:58:32,587 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.97 sec -2013-09-10 20:58:33,591 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.97 sec -2013-09-10 20:58:34,599 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.93 sec -2013-09-10 20:58:35,604 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.93 sec -MapReduce Total cumulative CPU time: 36 seconds 930 msec -Ended Job = job_201309101627_0197 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 36.93 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 36 seconds 930 msec -OK -8428 -Time taken: 29.432 seconds, Fetched: 1 row(s) -hive> quit; --- фильтрация по поиску подстроки в строке.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10706@mturlrep13_201309102058_1880832226.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11132@mturlrep13_201309102058_286164766.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0198 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:58:55,183 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:59:02,210 Stage-1 map = 36%, reduce = 0% -2013-09-10 20:59:03,222 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 20:59:04,230 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 20:59:05,237 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 20:59:06,243 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 20:59:07,248 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 20:59:08,253 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 20:59:09,258 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 20:59:10,265 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 20:59:11,270 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 19.12 sec -2013-09-10 20:59:12,276 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.14 sec -2013-09-10 20:59:13,281 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.14 sec -2013-09-10 20:59:14,286 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.14 sec -2013-09-10 20:59:15,291 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.14 sec -2013-09-10 20:59:16,296 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.14 sec -2013-09-10 20:59:17,304 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.42 sec -2013-09-10 20:59:18,311 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.42 sec -MapReduce Total cumulative CPU time: 42 seconds 420 msec -Ended Job = job_201309101627_0198 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0199 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 20:59:20,834 Stage-2 map = 0%, reduce = 0% -2013-09-10 20:59:22,842 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-10 20:59:23,847 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-10 20:59:24,852 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-10 20:59:25,856 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-10 20:59:26,860 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-10 20:59:27,865 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-10 20:59:28,870 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-10 20:59:29,875 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.78 sec -2013-09-10 20:59:30,881 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.17 sec -2013-09-10 20:59:31,886 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.17 sec -MapReduce Total cumulative CPU time: 2 seconds 170 msec -Ended Job = job_201309101627_0199 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.42 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.17 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 590 msec -OK -Time taken: 46.47 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13069@mturlrep13_201309102059_1992501004.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13485@mturlrep13_201309102059_1401379353.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0200 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 20:59:44,971 Stage-1 map = 0%, reduce = 0% -2013-09-10 20:59:53,007 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.27 sec -2013-09-10 20:59:54,015 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.27 sec -2013-09-10 20:59:55,023 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.27 sec -2013-09-10 20:59:56,030 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.27 sec -2013-09-10 20:59:57,036 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.27 sec -2013-09-10 20:59:58,042 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.27 sec -2013-09-10 20:59:59,048 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.27 sec -2013-09-10 21:00:00,055 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.27 sec -2013-09-10 21:00:01,061 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.85 sec -2013-09-10 21:00:02,067 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.85 sec -2013-09-10 21:00:03,072 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.85 sec -2013-09-10 21:00:04,078 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.85 sec -2013-09-10 21:00:05,083 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.85 sec -2013-09-10 21:00:06,091 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 38.79 sec -2013-09-10 21:00:07,097 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.76 sec -2013-09-10 21:00:08,103 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.76 sec -MapReduce Total cumulative CPU time: 40 seconds 760 msec -Ended Job = job_201309101627_0200 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0201 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 21:00:10,622 Stage-2 map = 0%, reduce = 0% -2013-09-10 21:00:12,630 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-10 21:00:13,635 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-10 21:00:14,640 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-10 21:00:15,645 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-10 21:00:16,650 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-10 21:00:17,655 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-10 21:00:18,661 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-10 21:00:19,666 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.79 sec -2013-09-10 21:00:20,675 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.17 sec -2013-09-10 21:00:21,680 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.17 sec -MapReduce Total cumulative CPU time: 2 seconds 170 msec -Ended Job = job_201309101627_0201 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.76 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.17 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 930 msec -OK -Time taken: 44.122 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16145@mturlrep13_201309102100_902755262.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16578@mturlrep13_201309102100_20618285.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0202 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 21:00:35,897 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:00:42,923 Stage-1 map = 36%, reduce = 0% -2013-09-10 21:00:43,936 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 21:00:44,944 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 21:00:45,953 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 21:00:46,959 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 21:00:47,965 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 21:00:48,971 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 21:00:49,977 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.83 sec -2013-09-10 21:00:50,984 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.24 sec -2013-09-10 21:00:51,989 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.24 sec -2013-09-10 21:00:52,995 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.24 sec -2013-09-10 21:00:54,000 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-10 21:00:55,006 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-10 21:00:56,012 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-10 21:00:57,019 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.27 sec -2013-09-10 21:00:58,025 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.27 sec -2013-09-10 21:00:59,031 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.27 sec -MapReduce Total cumulative CPU time: 41 seconds 270 msec -Ended Job = job_201309101627_0202 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0203 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 21:01:01,551 Stage-2 map = 0%, reduce = 0% -2013-09-10 21:01:03,560 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:01:04,565 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:01:05,571 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:01:06,576 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:01:07,581 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:01:08,586 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:01:09,591 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:01:10,596 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.74 sec -2013-09-10 21:01:11,602 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -2013-09-10 21:01:12,607 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -2013-09-10 21:01:13,612 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -MapReduce Total cumulative CPU time: 2 seconds 130 msec -Ended Job = job_201309101627_0203 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.27 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.13 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 400 msec -OK -Time taken: 46.136 seconds, Fetched: 10 row(s) -hive> quit; --- вынимаем большие столбцы, фильтрация по строке.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18552@mturlrep13_201309102101_957503081.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18999@mturlrep13_201309102101_604919900.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0204 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 21:01:34,309 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:01:41,339 Stage-1 map = 22%, reduce = 0% -2013-09-10 21:01:44,352 Stage-1 map = 43%, reduce = 0% -2013-09-10 21:01:45,365 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.13 sec -2013-09-10 21:01:46,373 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.13 sec -2013-09-10 21:01:47,381 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.13 sec -2013-09-10 21:01:48,388 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.13 sec -2013-09-10 21:01:49,395 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.13 sec -2013-09-10 21:01:50,402 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.13 sec -2013-09-10 21:01:51,408 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.13 sec -2013-09-10 21:01:52,414 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 24.13 sec -2013-09-10 21:01:53,420 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 24.13 sec -2013-09-10 21:01:54,426 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 43.07 sec -2013-09-10 21:01:55,433 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 46.23 sec -2013-09-10 21:01:56,439 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 50.07 sec -2013-09-10 21:01:57,446 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 50.07 sec -2013-09-10 21:01:58,454 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.11 sec -2013-09-10 21:01:59,460 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.11 sec -2013-09-10 21:02:00,466 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.11 sec -MapReduce Total cumulative CPU time: 53 seconds 110 msec -Ended Job = job_201309101627_0204 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0205 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 21:02:04,015 Stage-2 map = 0%, reduce = 0% -2013-09-10 21:02:05,020 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 21:02:06,026 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 21:02:07,032 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 21:02:08,036 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 21:02:09,041 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 21:02:10,046 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 21:02:11,051 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 21:02:12,056 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-10 21:02:13,077 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -2013-09-10 21:02:14,084 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -2013-09-10 21:02:15,089 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -MapReduce Total cumulative CPU time: 2 seconds 290 msec -Ended Job = job_201309101627_0205 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 53.11 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.29 sec HDFS Read: 12990 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 55 seconds 400 msec -OK -Time taken: 50.819 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21073@mturlrep13_201309102102_804313256.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21509@mturlrep13_201309102102_1172673920.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0206 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 21:02:29,084 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:02:36,113 Stage-1 map = 29%, reduce = 0% -2013-09-10 21:02:39,134 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.74 sec -2013-09-10 21:02:40,142 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.74 sec -2013-09-10 21:02:41,150 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.74 sec -2013-09-10 21:02:42,156 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.74 sec -2013-09-10 21:02:43,163 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.74 sec -2013-09-10 21:02:44,170 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.74 sec -2013-09-10 21:02:45,176 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.74 sec -2013-09-10 21:02:46,181 Stage-1 map = 64%, reduce = 8%, Cumulative CPU 24.74 sec -2013-09-10 21:02:47,186 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 24.74 sec -2013-09-10 21:02:48,192 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 24.74 sec -2013-09-10 21:02:49,197 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.69 sec -2013-09-10 21:02:50,203 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.69 sec -2013-09-10 21:02:51,208 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.69 sec -2013-09-10 21:02:52,215 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.98 sec -2013-09-10 21:02:53,222 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.98 sec -2013-09-10 21:02:54,227 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.98 sec -MapReduce Total cumulative CPU time: 52 seconds 980 msec -Ended Job = job_201309101627_0206 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0207 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 21:02:58,034 Stage-2 map = 0%, reduce = 0% -2013-09-10 21:02:59,039 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:03:00,045 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:03:01,050 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:03:02,055 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:03:03,061 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:03:04,066 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:03:05,071 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:03:06,095 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-10 21:03:07,100 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -2013-09-10 21:03:08,106 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -2013-09-10 21:03:09,112 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -MapReduce Total cumulative CPU time: 2 seconds 160 msec -Ended Job = job_201309101627_0207 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 52.98 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.16 sec HDFS Read: 12990 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 55 seconds 140 msec -OK -Time taken: 48.425 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23586@mturlrep13_201309102103_1680692530.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23990@mturlrep13_201309102103_1640399179.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0208 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 21:03:23,428 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:03:30,457 Stage-1 map = 29%, reduce = 0% -2013-09-10 21:03:33,485 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.39 sec -2013-09-10 21:03:34,492 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.39 sec -2013-09-10 21:03:35,500 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.39 sec -2013-09-10 21:03:36,507 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.39 sec -2013-09-10 21:03:37,513 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.39 sec -2013-09-10 21:03:38,521 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.39 sec -2013-09-10 21:03:39,526 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.39 sec -2013-09-10 21:03:40,532 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.39 sec -2013-09-10 21:03:41,538 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 24.39 sec -2013-09-10 21:03:42,544 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 24.39 sec -2013-09-10 21:03:43,550 Stage-1 map = 89%, reduce = 17%, Cumulative CPU 35.95 sec -2013-09-10 21:03:44,556 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.76 sec -2013-09-10 21:03:45,562 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.76 sec -2013-09-10 21:03:46,570 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 50.88 sec -2013-09-10 21:03:47,576 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.9 sec -2013-09-10 21:03:48,582 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.9 sec -MapReduce Total cumulative CPU time: 52 seconds 900 msec -Ended Job = job_201309101627_0208 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0209 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 21:03:52,133 Stage-2 map = 0%, reduce = 0% -2013-09-10 21:03:53,139 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.85 sec -2013-09-10 21:03:54,145 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.85 sec -2013-09-10 21:03:55,151 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.85 sec -2013-09-10 21:03:56,158 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.85 sec -2013-09-10 21:03:57,164 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.85 sec -2013-09-10 21:03:58,169 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.85 sec -2013-09-10 21:03:59,174 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.85 sec -2013-09-10 21:04:00,179 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.85 sec -2013-09-10 21:04:01,185 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -2013-09-10 21:04:02,190 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -2013-09-10 21:04:03,196 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -MapReduce Total cumulative CPU time: 2 seconds 230 msec -Ended Job = job_201309101627_0209 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 52.9 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.23 sec HDFS Read: 12990 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 55 seconds 130 msec -OK -Time taken: 48.259 seconds, Fetched: 10 row(s) -hive> quit; --- чуть больше столбцы.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26079@mturlrep13_201309102104_979944715.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26503@mturlrep13_201309102104_1111113065.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0210 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 21:04:24,063 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:04:34,103 Stage-1 map = 7%, reduce = 0% -2013-09-10 21:04:37,115 Stage-1 map = 14%, reduce = 0% -2013-09-10 21:04:40,129 Stage-1 map = 22%, reduce = 0% -2013-09-10 21:04:43,157 Stage-1 map = 29%, reduce = 0% -2013-09-10 21:04:49,179 Stage-1 map = 36%, reduce = 0% -2013-09-10 21:04:52,190 Stage-1 map = 43%, reduce = 0% -2013-09-10 21:04:54,206 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 83.32 sec -2013-09-10 21:04:55,213 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 87.85 sec -2013-09-10 21:04:56,219 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 87.85 sec -2013-09-10 21:04:57,225 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 87.85 sec -2013-09-10 21:04:58,230 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 87.85 sec -2013-09-10 21:04:59,241 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 87.85 sec -2013-09-10 21:05:00,250 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 87.85 sec -2013-09-10 21:05:01,256 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 87.85 sec -2013-09-10 21:05:02,262 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:03,268 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:04,274 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:05,302 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:06,307 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:07,312 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:08,317 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:09,322 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:10,328 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:11,333 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:12,338 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:13,343 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:14,348 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:15,354 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:16,367 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:17,373 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:18,377 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:19,382 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:20,387 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:21,392 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:22,397 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 87.85 sec -2013-09-10 21:05:23,401 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 129.86 sec -2013-09-10 21:05:24,406 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 129.86 sec -2013-09-10 21:05:25,411 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 167.87 sec -2013-09-10 21:05:26,416 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 167.87 sec -2013-09-10 21:05:27,422 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 171.01 sec -2013-09-10 21:05:28,427 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 171.01 sec -2013-09-10 21:05:29,433 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 171.01 sec -MapReduce Total cumulative CPU time: 2 minutes 51 seconds 10 msec -Ended Job = job_201309101627_0210 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 171.01 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 51 seconds 10 msec -OK -Time taken: 75.657 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28589@mturlrep13_201309102105_518152082.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28997@mturlrep13_201309102105_1789871872.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0211 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 21:05:43,799 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:05:50,827 Stage-1 map = 7%, reduce = 0% -2013-09-10 21:05:56,854 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:05:57,861 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:05:58,868 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:05:59,891 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:00,897 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:01,902 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:02,907 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:03,912 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:04,917 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:05,922 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:06,927 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:07,932 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:08,937 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:09,942 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:10,947 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 27.49 sec -2013-09-10 21:06:11,956 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.55 sec -2013-09-10 21:06:12,962 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.55 sec -2013-09-10 21:06:13,967 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.55 sec -2013-09-10 21:06:14,973 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.55 sec -2013-09-10 21:06:15,979 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.55 sec -2013-09-10 21:06:16,985 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.55 sec -2013-09-10 21:06:17,991 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.55 sec -2013-09-10 21:06:18,997 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.55 sec -2013-09-10 21:06:20,003 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:21,009 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:22,015 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:23,020 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:24,031 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:25,037 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:26,042 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:27,047 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:28,053 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:29,075 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:30,080 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:31,085 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:32,090 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:33,096 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:34,101 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:35,106 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:36,111 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:37,116 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:38,121 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 74.55 sec -2013-09-10 21:06:39,126 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 114.8 sec -2013-09-10 21:06:40,132 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 114.8 sec -2013-09-10 21:06:41,137 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.73 sec -2013-09-10 21:06:42,142 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.73 sec -2013-09-10 21:06:43,147 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.73 sec -2013-09-10 21:06:44,152 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.73 sec -2013-09-10 21:06:45,158 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.73 sec -2013-09-10 21:06:46,165 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 155.83 sec -2013-09-10 21:06:47,170 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 155.83 sec -MapReduce Total cumulative CPU time: 2 minutes 35 seconds 830 msec -Ended Job = job_201309101627_0211 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 155.83 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 35 seconds 830 msec -OK -Time taken: 72.161 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30422@mturlrep13_201309102106_1368463100.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30864@mturlrep13_201309102106_502369015.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0212 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 21:07:00,709 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:07:11,769 Stage-1 map = 7%, reduce = 0% -2013-09-10 21:07:14,794 Stage-1 map = 14%, reduce = 0% -2013-09-10 21:07:17,807 Stage-1 map = 22%, reduce = 0% -2013-09-10 21:07:20,819 Stage-1 map = 29%, reduce = 0% -2013-09-10 21:07:23,831 Stage-1 map = 32%, reduce = 0% -2013-09-10 21:07:26,842 Stage-1 map = 36%, reduce = 0% -2013-09-10 21:07:29,853 Stage-1 map = 43%, reduce = 0% -2013-09-10 21:07:30,865 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.26 sec -2013-09-10 21:07:31,872 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.26 sec -2013-09-10 21:07:32,877 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.26 sec -2013-09-10 21:07:33,883 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.26 sec -2013-09-10 21:07:34,888 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.26 sec -2013-09-10 21:07:35,893 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.26 sec -2013-09-10 21:07:36,898 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 74.26 sec -2013-09-10 21:07:37,903 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:38,908 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:39,913 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:40,918 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:41,923 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:42,928 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:43,959 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:44,982 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:46,012 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:47,017 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:48,022 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:49,050 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:50,062 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:51,068 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:52,073 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:53,091 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:54,096 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 74.26 sec -2013-09-10 21:07:55,102 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 140.78 sec -2013-09-10 21:07:56,123 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 140.78 sec -2013-09-10 21:07:57,128 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 140.78 sec -2013-09-10 21:07:58,133 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 149.05 sec -2013-09-10 21:07:59,138 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 149.05 sec -2013-09-10 21:08:00,143 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 159.54 sec -2013-09-10 21:08:01,148 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 159.54 sec -2013-09-10 21:08:02,153 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 159.54 sec -2013-09-10 21:08:03,158 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 159.54 sec -2013-09-10 21:08:04,165 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 161.75 sec -2013-09-10 21:08:05,171 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 161.75 sec -2013-09-10 21:08:06,177 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 161.75 sec -MapReduce Total cumulative CPU time: 2 minutes 41 seconds 750 msec -Ended Job = job_201309101627_0212 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 161.75 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 41 seconds 750 msec -OK -Time taken: 73.239 seconds, Fetched: 10 row(s) -hive> quit; --- плохой запрос - вынимаем все столбцы.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32256@mturlrep13_201309102108_1366898564.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32681@mturlrep13_201309102108_1470113641.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0213 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 21:08:27,012 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:08:34,045 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.79 sec -2013-09-10 21:08:35,053 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.79 sec -2013-09-10 21:08:36,060 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.79 sec -2013-09-10 21:08:37,067 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.79 sec -2013-09-10 21:08:38,073 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.79 sec -2013-09-10 21:08:39,078 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.79 sec -2013-09-10 21:08:40,084 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.79 sec -2013-09-10 21:08:41,089 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.79 sec -2013-09-10 21:08:42,096 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 28.06 sec -2013-09-10 21:08:43,100 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.48 sec -2013-09-10 21:08:44,104 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.48 sec -2013-09-10 21:08:45,108 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.48 sec -2013-09-10 21:08:46,113 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.48 sec -2013-09-10 21:08:47,118 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.48 sec -2013-09-10 21:08:48,124 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.48 sec -2013-09-10 21:08:49,130 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.58 sec -2013-09-10 21:08:50,136 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.58 sec -2013-09-10 21:08:51,141 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.58 sec -MapReduce Total cumulative CPU time: 43 seconds 580 msec -Ended Job = job_201309101627_0213 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 43.58 sec HDFS Read: 28228143 HDFS Write: 766 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 580 msec -OK -Time taken: 33.927 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1886@mturlrep13_201309102108_2113013029.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2309@mturlrep13_201309102108_179448674.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0214 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 21:09:04,342 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:09:12,378 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.06 sec -2013-09-10 21:09:13,392 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.06 sec -2013-09-10 21:09:14,406 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.06 sec -2013-09-10 21:09:15,411 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.06 sec -2013-09-10 21:09:16,417 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.06 sec -2013-09-10 21:09:17,422 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.06 sec -2013-09-10 21:09:18,428 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 27.59 sec -2013-09-10 21:09:19,434 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.52 sec -2013-09-10 21:09:20,439 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.52 sec -2013-09-10 21:09:21,444 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.52 sec -2013-09-10 21:09:22,450 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.52 sec -2013-09-10 21:09:23,455 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.52 sec -2013-09-10 21:09:24,460 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.52 sec -2013-09-10 21:09:25,465 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.52 sec -2013-09-10 21:09:26,470 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.52 sec -2013-09-10 21:09:27,476 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.58 sec -2013-09-10 21:09:28,481 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.58 sec -MapReduce Total cumulative CPU time: 42 seconds 580 msec -Ended Job = job_201309101627_0214 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 42.58 sec HDFS Read: 28228143 HDFS Write: 766 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 580 msec -OK -Time taken: 31.299 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3670@mturlrep13_201309102109_1995808280.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4075@mturlrep13_201309102109_1289626769.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0215 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 21:09:42,640 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:09:49,676 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.1 sec -2013-09-10 21:09:50,683 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.1 sec -2013-09-10 21:09:51,690 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.1 sec -2013-09-10 21:09:52,696 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.1 sec -2013-09-10 21:09:53,703 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.1 sec -2013-09-10 21:09:54,710 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.1 sec -2013-09-10 21:09:55,716 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.1 sec -2013-09-10 21:09:56,722 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-10 21:09:57,728 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-10 21:09:58,733 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-10 21:09:59,738 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-10 21:10:00,744 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-10 21:10:01,750 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-10 21:10:02,756 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-10 21:10:03,783 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-10 21:10:04,790 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.5 sec -2013-09-10 21:10:05,796 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.5 sec -MapReduce Total cumulative CPU time: 43 seconds 500 msec -Ended Job = job_201309101627_0215 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 43.5 sec HDFS Read: 28228143 HDFS Write: 766 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 500 msec -OK -Time taken: 31.328 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6065@mturlrep13_201309102110_1165648233.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6867@mturlrep13_201309102110_1247268932.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0216 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 21:10:27,797 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:10:34,833 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.67 sec -2013-09-10 21:10:35,841 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.67 sec -2013-09-10 21:10:36,848 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.67 sec -2013-09-10 21:10:37,854 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.67 sec -2013-09-10 21:10:38,860 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.67 sec -2013-09-10 21:10:39,866 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.67 sec -2013-09-10 21:10:40,872 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.67 sec -2013-09-10 21:10:41,878 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.67 sec -2013-09-10 21:10:42,884 Stage-1 map = 96%, reduce = 8%, Cumulative CPU 19.67 sec -2013-09-10 21:10:43,895 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 39.0 sec -2013-09-10 21:10:44,900 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 39.0 sec -2013-09-10 21:10:45,905 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.0 sec -2013-09-10 21:10:46,910 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.0 sec -2013-09-10 21:10:47,915 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.0 sec -2013-09-10 21:10:48,920 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.0 sec -2013-09-10 21:10:49,926 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.0 sec -2013-09-10 21:10:50,930 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.0 sec -2013-09-10 21:10:51,937 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.08 sec -2013-09-10 21:10:52,943 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.08 sec -MapReduce Total cumulative CPU time: 45 seconds 80 msec -Ended Job = job_201309101627_0216 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 45.08 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 80 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 35.466 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8346@mturlrep13_201309102110_1245725421.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8754@mturlrep13_201309102110_1375499441.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8981@mturlrep13_201309102111_72221677.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9402@mturlrep13_201309102111_58410451.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0217 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 21:11:13,005 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:11:21,043 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.54 sec -2013-09-10 21:11:22,051 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.54 sec -2013-09-10 21:11:23,058 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.54 sec -2013-09-10 21:11:24,064 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.54 sec -2013-09-10 21:11:25,071 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.54 sec -2013-09-10 21:11:26,077 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.54 sec -2013-09-10 21:11:27,084 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.54 sec -2013-09-10 21:11:28,090 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 28.93 sec -2013-09-10 21:11:29,096 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.94 sec -2013-09-10 21:11:30,101 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.94 sec -2013-09-10 21:11:31,106 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.94 sec -2013-09-10 21:11:32,111 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.94 sec -2013-09-10 21:11:33,116 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.94 sec -2013-09-10 21:11:34,121 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.94 sec -2013-09-10 21:11:35,127 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.94 sec -2013-09-10 21:11:36,142 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.86 sec -2013-09-10 21:11:37,148 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.86 sec -2013-09-10 21:11:38,154 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.86 sec -MapReduce Total cumulative CPU time: 44 seconds 860 msec -Ended Job = job_201309101627_0217 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 44.86 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 860 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 32.221 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка по строкам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10685@mturlrep13_201309102111_636633590.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11102@mturlrep13_201309102111_1946455694.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0218 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 21:11:58,014 Stage-1 map = 0%, reduce = 0% -2013-09-10 21:12:05,044 Stage-1 map = 43%, reduce = 0% -2013-09-10 21:12:06,056 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.29 sec -2013-09-10 21:12:07,063 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.29 sec -2013-09-10 21:12:08,070 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.29 sec -2013-09-10 21:12:09,076 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.29 sec -2013-09-10 21:12:10,081 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.29 sec -2013-09-10 21:12:11,087 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.29 sec -2013-09-10 21:12:12,093 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.29 sec -2013-09-10 21:12:13,100 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.29 sec -2013-09-10 21:12:14,106 Stage-1 map = 97%, reduce = 8%, Cumulative CPU 30.09 sec -2013-09-10 21:12:15,112 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 40.62 sec -2013-09-10 21:12:16,118 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 40.62 sec -2013-09-10 21:12:17,123 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.62 sec -2013-09-10 21:12:18,128 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.62 sec -2013-09-10 21:12:19,133 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.62 sec -2013-09-10 21:12:20,138 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.62 sec -2013-09-10 21:12:21,143 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.62 sec -2013-09-10 21:12:22,148 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.62 sec -2013-09-10 21:12:23,154 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.82 sec -status -spawn hive -restart server: /bin/echo restart -restart diff --git a/benchmark/hive/log/log_10m/log_10m_1 b/benchmark/hive/log/log_10m/log_10m_1 deleted file mode 100644 index 39516540778..00000000000 --- a/benchmark/hive/log/log_10m/log_10m_1 +++ /dev/null @@ -1,1720 +0,0 @@ -start time: Вт. сент. 10 16:45:24 MSK 2013 -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13509@mturlrep13_201309101645_260093116.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13935@mturlrep13_201309101645_1686838746.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0003 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 16:45:44,818 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:45:52,861 Stage-1 map = 7%, reduce = 0% -2013-09-10 16:45:58,920 Stage-1 map = 14%, reduce = 0% -2013-09-10 16:46:01,954 Stage-1 map = 22%, reduce = 0% -2013-09-10 16:46:04,968 Stage-1 map = 29%, reduce = 0% -2013-09-10 16:46:07,983 Stage-1 map = 36%, reduce = 0% -2013-09-10 16:46:10,997 Stage-1 map = 43%, reduce = 0% -2013-09-10 16:46:14,022 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 71.81 sec -2013-09-10 16:46:15,030 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 71.81 sec -2013-09-10 16:46:16,037 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 71.81 sec -2013-09-10 16:46:17,043 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 71.81 sec -2013-09-10 16:46:18,050 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 71.81 sec -2013-09-10 16:46:19,056 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 71.81 sec -2013-09-10 16:46:20,063 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 71.81 sec -2013-09-10 16:46:21,069 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:22,077 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:23,085 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:24,178 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:25,185 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:26,193 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:27,200 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:28,206 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:29,212 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:30,218 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:31,224 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:32,231 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:33,237 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:34,264 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:35,270 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:36,276 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:37,283 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:38,289 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:39,296 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 71.81 sec -2013-09-10 16:46:40,303 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 103.22 sec -2013-09-10 16:46:41,309 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 103.22 sec -2013-09-10 16:46:42,315 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 103.22 sec -2013-09-10 16:46:43,322 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 103.22 sec -2013-09-10 16:46:44,329 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 147.18 sec -2013-09-10 16:46:45,335 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 147.18 sec -2013-09-10 16:46:46,342 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 147.18 sec -2013-09-10 16:46:47,350 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 149.59 sec -2013-09-10 16:46:48,357 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 149.59 sec -MapReduce Total cumulative CPU time: 2 minutes 29 seconds 590 msec -Ended Job = job_201309101627_0003 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 149.59 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 29 seconds 590 msec -OK -10000000 -Time taken: 73.507 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15349@mturlrep13_201309101646_1271191044.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15772@mturlrep13_201309101646_1616941126.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0004 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 16:47:08,378 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:47:13,414 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.82 sec -2013-09-10 16:47:14,424 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.82 sec -2013-09-10 16:47:15,434 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.82 sec -2013-09-10 16:47:16,442 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.82 sec -2013-09-10 16:47:17,449 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.82 sec -2013-09-10 16:47:18,457 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.48 sec -2013-09-10 16:47:19,464 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.48 sec -2013-09-10 16:47:20,471 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 23.48 sec -2013-09-10 16:47:21,481 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.27 sec -2013-09-10 16:47:22,489 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.27 sec -2013-09-10 16:47:23,497 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.27 sec -MapReduce Total cumulative CPU time: 25 seconds 270 msec -Ended Job = job_201309101627_0004 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 25.27 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 25 seconds 270 msec -OK -171127 -Time taken: 25.174 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17086@mturlrep13_201309101647_1352171486.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17518@mturlrep13_201309101647_1464636237.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0005 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 16:47:44,849 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:47:51,893 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.27 sec -2013-09-10 16:47:52,903 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.27 sec -2013-09-10 16:47:53,911 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.27 sec -2013-09-10 16:47:54,919 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.27 sec -2013-09-10 16:47:55,926 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.27 sec -2013-09-10 16:47:56,933 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.27 sec -2013-09-10 16:47:57,941 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.27 sec -2013-09-10 16:47:58,949 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.27 sec -2013-09-10 16:47:59,958 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.8 sec -2013-09-10 16:48:00,965 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.8 sec -2013-09-10 16:48:01,972 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.8 sec -2013-09-10 16:48:02,979 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.8 sec -2013-09-10 16:48:03,986 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.8 sec -2013-09-10 16:48:04,993 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.8 sec -2013-09-10 16:48:06,002 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.82 sec -2013-09-10 16:48:07,009 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.82 sec -MapReduce Total cumulative CPU time: 34 seconds 820 msec -Ended Job = job_201309101627_0005 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 34.82 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 34 seconds 820 msec -OK -Time taken: 32.087 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18864@mturlrep13_201309101648_496452414.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19287@mturlrep13_201309101648_1766379833.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0006 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 16:48:27,840 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:48:34,885 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.61 sec -2013-09-10 16:48:35,895 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.61 sec -2013-09-10 16:48:36,903 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.61 sec -2013-09-10 16:48:37,910 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.61 sec -2013-09-10 16:48:38,917 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.61 sec -2013-09-10 16:48:39,924 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.61 sec -2013-09-10 16:48:40,932 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 22.28 sec -2013-09-10 16:48:41,940 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.04 sec -2013-09-10 16:48:42,947 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.04 sec -2013-09-10 16:48:43,954 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.04 sec -2013-09-10 16:48:44,960 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.04 sec -2013-09-10 16:48:45,967 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.04 sec -2013-09-10 16:48:46,974 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.04 sec -2013-09-10 16:48:47,983 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.88 sec -2013-09-10 16:48:48,990 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.88 sec -MapReduce Total cumulative CPU time: 31 seconds 880 msec -Ended Job = job_201309101627_0006 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 31.88 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 31 seconds 880 msec -OK --4662894107982093709 -Time taken: 31.273 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20537@mturlrep13_201309101648_1262292362.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20975@mturlrep13_201309101648_113339726.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0007 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 16:49:10,173 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:49:17,212 Stage-1 map = 43%, reduce = 0% -2013-09-10 16:49:20,236 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.2 sec -2013-09-10 16:49:21,245 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.2 sec -2013-09-10 16:49:22,252 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.2 sec -2013-09-10 16:49:23,260 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.2 sec -2013-09-10 16:49:24,268 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.2 sec -2013-09-10 16:49:25,276 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.2 sec -2013-09-10 16:49:26,283 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.2 sec -2013-09-10 16:49:27,290 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 26.2 sec -2013-09-10 16:49:28,296 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 26.2 sec -2013-09-10 16:49:29,303 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 26.2 sec -2013-09-10 16:49:30,311 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 39.68 sec -2013-09-10 16:49:31,317 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.63 sec -2013-09-10 16:49:32,324 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.63 sec -2013-09-10 16:49:33,331 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.63 sec -2013-09-10 16:49:34,337 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.63 sec -2013-09-10 16:49:35,344 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.63 sec -2013-09-10 16:49:36,351 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 54.63 sec -2013-09-10 16:49:37,360 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.37 sec -2013-09-10 16:49:38,367 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.37 sec -2013-09-10 16:49:39,373 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.37 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 370 msec -Ended Job = job_201309101627_0007 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 62.37 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 2 seconds 370 msec -OK -2037258 -Time taken: 39.398 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22271@mturlrep13_201309101649_29172802.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22687@mturlrep13_201309101649_1900606579.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0008 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 16:50:00,361 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:50:07,399 Stage-1 map = 43%, reduce = 0% -2013-09-10 16:50:09,418 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.65 sec -2013-09-10 16:50:10,426 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.65 sec -2013-09-10 16:50:11,433 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.65 sec -2013-09-10 16:50:12,439 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.65 sec -2013-09-10 16:50:13,446 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.65 sec -2013-09-10 16:50:14,454 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.65 sec -2013-09-10 16:50:15,462 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.65 sec -2013-09-10 16:50:16,468 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 22.65 sec -2013-09-10 16:50:17,475 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 33.11 sec -2013-09-10 16:50:18,482 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.48 sec -2013-09-10 16:50:19,488 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.48 sec -2013-09-10 16:50:20,494 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.48 sec -2013-09-10 16:50:21,500 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.48 sec -2013-09-10 16:50:22,506 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.48 sec -2013-09-10 16:50:23,512 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.48 sec -2013-09-10 16:50:24,518 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.48 sec -2013-09-10 16:50:25,524 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 45.48 sec -2013-09-10 16:50:26,533 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.03 sec -2013-09-10 16:50:27,539 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.03 sec -MapReduce Total cumulative CPU time: 53 seconds 30 msec -Ended Job = job_201309101627_0008 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 53.03 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 53 seconds 30 msec -OK -1110413 -Time taken: 37.022 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24668@mturlrep13_201309101650_422361635.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25092@mturlrep13_201309101650_1967761435.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0009 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 16:50:48,843 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:50:54,879 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.61 sec -2013-09-10 16:50:55,888 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.61 sec -2013-09-10 16:50:56,897 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.61 sec -2013-09-10 16:50:57,904 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.61 sec -2013-09-10 16:50:58,916 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.61 sec -2013-09-10 16:50:59,923 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.61 sec -2013-09-10 16:51:00,930 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 21.31 sec -2013-09-10 16:51:01,937 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 28.16 sec -2013-09-10 16:51:02,943 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.16 sec -2013-09-10 16:51:03,950 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.16 sec -2013-09-10 16:51:04,956 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.16 sec -2013-09-10 16:51:05,961 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.16 sec -2013-09-10 16:51:06,967 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 28.16 sec -2013-09-10 16:51:07,975 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.18 sec -2013-09-10 16:51:08,980 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.18 sec -2013-09-10 16:51:09,987 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.18 sec -MapReduce Total cumulative CPU time: 30 seconds 180 msec -Ended Job = job_201309101627_0009 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 30.18 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 30 seconds 180 msec -OK -Time taken: 30.662 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26365@mturlrep13_201309101651_1129316279.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26818@mturlrep13_201309101651_583414602.txt -hive> SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC;; -FAILED: SemanticException [Error 10128]: Line 1:96 Not yet supported place for UDAF 'count' -hive> quit; --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27044@mturlrep13_201309101651_1075126234.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27463@mturlrep13_201309101651_522831884.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0010 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 16:51:45,485 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:51:52,523 Stage-1 map = 39%, reduce = 0% -2013-09-10 16:51:55,538 Stage-1 map = 43%, reduce = 0% -2013-09-10 16:51:56,550 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.73 sec -2013-09-10 16:51:57,559 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.73 sec -2013-09-10 16:51:58,566 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.73 sec -2013-09-10 16:51:59,574 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.73 sec -2013-09-10 16:52:00,581 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.73 sec -2013-09-10 16:52:01,588 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.73 sec -2013-09-10 16:52:02,600 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.73 sec -2013-09-10 16:52:03,607 Stage-1 map = 72%, reduce = 8%, Cumulative CPU 28.73 sec -2013-09-10 16:52:04,613 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.73 sec -2013-09-10 16:52:05,619 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.73 sec -2013-09-10 16:52:06,626 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.73 sec -2013-09-10 16:52:07,633 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.58 sec -2013-09-10 16:52:08,640 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.58 sec -2013-09-10 16:52:09,646 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.58 sec -2013-09-10 16:52:10,653 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.58 sec -2013-09-10 16:52:11,660 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.58 sec -2013-09-10 16:52:12,669 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 63.3 sec -2013-09-10 16:52:13,676 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.55 sec -2013-09-10 16:52:14,683 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.55 sec -MapReduce Total cumulative CPU time: 1 minutes 10 seconds 550 msec -Ended Job = job_201309101627_0010 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0011 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 16:52:18,198 Stage-2 map = 0%, reduce = 0% -2013-09-10 16:52:20,209 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-10 16:52:21,215 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-10 16:52:22,220 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-10 16:52:23,225 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-10 16:52:24,231 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-10 16:52:25,237 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-10 16:52:26,243 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-10 16:52:27,249 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.02 sec -2013-09-10 16:52:28,256 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.02 sec -2013-09-10 16:52:29,261 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.02 sec -MapReduce Total cumulative CPU time: 3 seconds 20 msec -Ended Job = job_201309101627_0011 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 70.55 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.02 sec HDFS Read: 100909 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 13 seconds 570 msec -OK -Time taken: 53.605 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29381@mturlrep13_201309101652_1928148472.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29809@mturlrep13_201309101652_663585233.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:136 Not yet supported place for UDAF 'count' -hive> quit; --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30055@mturlrep13_201309101652_258714563.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30484@mturlrep13_201309101652_1382767114.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0012 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 16:53:04,576 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:53:10,611 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 16:53:11,619 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 16:53:12,628 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 16:53:13,635 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 16:53:14,643 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 16:53:15,651 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 16:53:16,658 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.18 sec -2013-09-10 16:53:17,666 Stage-1 map = 100%, reduce = 13%, Cumulative CPU 24.44 sec -2013-09-10 16:53:18,673 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.44 sec -2013-09-10 16:53:19,680 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.44 sec -2013-09-10 16:53:20,686 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.44 sec -2013-09-10 16:53:21,693 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.44 sec -2013-09-10 16:53:22,699 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.44 sec -2013-09-10 16:53:23,705 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 24.44 sec -2013-09-10 16:53:24,714 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.1 sec -2013-09-10 16:53:25,720 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.1 sec -2013-09-10 16:53:26,727 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.1 sec -MapReduce Total cumulative CPU time: 31 seconds 100 msec -Ended Job = job_201309101627_0012 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0013 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 16:53:29,230 Stage-2 map = 0%, reduce = 0% -2013-09-10 16:53:31,240 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 16:53:32,246 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 16:53:33,252 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 16:53:34,257 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 16:53:35,263 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 16:53:36,269 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 16:53:37,275 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-10 16:53:38,281 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.88 sec -2013-09-10 16:53:39,287 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.39 sec -2013-09-10 16:53:40,294 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.39 sec -2013-09-10 16:53:41,301 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.39 sec -MapReduce Total cumulative CPU time: 2 seconds 390 msec -Ended Job = job_201309101627_0013 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 31.1 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.39 sec HDFS Read: 21895 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 490 msec -OK -Time taken: 46.622 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по строкам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32427@mturlrep13_201309101653_1424309351.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_394@mturlrep13_201309101653_1101478749.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0014 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 16:54:01,350 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:54:07,385 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.6 sec -2013-09-10 16:54:08,394 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.6 sec -2013-09-10 16:54:09,401 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.6 sec -2013-09-10 16:54:10,409 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.6 sec -2013-09-10 16:54:11,417 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.6 sec -2013-09-10 16:54:12,424 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.6 sec -2013-09-10 16:54:13,431 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.6 sec -2013-09-10 16:54:14,438 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 17.6 sec -2013-09-10 16:54:15,445 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 24.9 sec -2013-09-10 16:54:16,452 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 24.9 sec -2013-09-10 16:54:17,459 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 24.9 sec -2013-09-10 16:54:18,466 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 24.9 sec -2013-09-10 16:54:19,474 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 24.9 sec -2013-09-10 16:54:20,481 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 24.9 sec -2013-09-10 16:54:21,489 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.02 sec -2013-09-10 16:54:22,497 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.02 sec -2013-09-10 16:54:23,504 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.02 sec -MapReduce Total cumulative CPU time: 32 seconds 20 msec -Ended Job = job_201309101627_0014 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0015 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 16:54:26,101 Stage-2 map = 0%, reduce = 0% -2013-09-10 16:54:28,111 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.99 sec -2013-09-10 16:54:29,118 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.99 sec -2013-09-10 16:54:30,124 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.99 sec -2013-09-10 16:54:31,131 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.99 sec -2013-09-10 16:54:32,137 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.99 sec -2013-09-10 16:54:33,142 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.99 sec -2013-09-10 16:54:34,148 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.99 sec -2013-09-10 16:54:35,154 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.99 sec -2013-09-10 16:54:36,161 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -2013-09-10 16:54:37,169 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -MapReduce Total cumulative CPU time: 2 seconds 450 msec -Ended Job = job_201309101627_0015 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 32.02 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.45 sec HDFS Read: 23477 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 34 seconds 470 msec -OK -Time taken: 45.572 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2646@mturlrep13_201309101654_1193376842.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3074@mturlrep13_201309101654_1095912087.txt -hive> SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:100 Not yet supported place for UDAF 'count' -hive> quit; --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3321@mturlrep13_201309101654_686760308.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3757@mturlrep13_201309101655_1578096171.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0016 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 16:55:13,612 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:55:20,646 Stage-1 map = 36%, reduce = 0% -2013-09-10 16:55:22,664 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 11.28 sec -2013-09-10 16:55:23,672 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.77 sec -2013-09-10 16:55:24,682 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.77 sec -2013-09-10 16:55:25,690 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.77 sec -2013-09-10 16:55:26,697 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.77 sec -2013-09-10 16:55:27,704 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.77 sec -2013-09-10 16:55:28,711 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.77 sec -2013-09-10 16:55:29,718 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.77 sec -2013-09-10 16:55:30,725 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 22.77 sec -2013-09-10 16:55:31,731 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 22.77 sec -2013-09-10 16:55:32,738 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.15 sec -2013-09-10 16:55:33,744 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.15 sec -2013-09-10 16:55:34,751 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.15 sec -2013-09-10 16:55:35,757 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.15 sec -2013-09-10 16:55:36,764 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.15 sec -2013-09-10 16:55:37,770 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.15 sec -2013-09-10 16:55:38,777 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.15 sec -2013-09-10 16:55:39,783 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 46.15 sec -2013-09-10 16:55:40,792 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.76 sec -2013-09-10 16:55:41,798 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.76 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 760 msec -Ended Job = job_201309101627_0016 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0017 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 16:55:44,327 Stage-2 map = 0%, reduce = 0% -2013-09-10 16:55:52,361 Stage-2 map = 50%, reduce = 0% -2013-09-10 16:55:54,370 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.94 sec -2013-09-10 16:55:55,376 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.94 sec -2013-09-10 16:55:56,381 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.94 sec -2013-09-10 16:55:57,386 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.94 sec -2013-09-10 16:55:58,391 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.94 sec -2013-09-10 16:55:59,396 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.94 sec -2013-09-10 16:56:00,403 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.94 sec -2013-09-10 16:56:01,408 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 12.94 sec -2013-09-10 16:56:02,413 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 12.94 sec -2013-09-10 16:56:03,419 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.72 sec -2013-09-10 16:56:04,431 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.72 sec -MapReduce Total cumulative CPU time: 17 seconds 720 msec -Ended Job = job_201309101627_0017 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.76 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.72 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 20 seconds 480 msec -OK -Time taken: 60.763 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация чуть сложнее.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6801@mturlrep13_201309101656_776043994.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7208@mturlrep13_201309101656_657090356.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:132 Not yet supported place for UDAF 'count' -hive> quit; --- агрегация по числу и строке, большое количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7458@mturlrep13_201309101656_1567054324.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7890@mturlrep13_201309101656_1969270039.txt -hive> SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:63 Not yet supported place for UDAF 'count' -hive> quit; --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8121@mturlrep13_201309101656_1108276275.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8542@mturlrep13_201309101656_1566254424.txt -hive> SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:91 Not yet supported place for UDAF 'count' -hive> quit; --- ещё более сложная агрегация.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8792@mturlrep13_201309101656_1642375381.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9207@mturlrep13_201309101657_1235758846.txt -hive> SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0018 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 16:57:11,290 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:57:18,357 Stage-1 map = 36%, reduce = 0% -2013-09-10 16:57:21,373 Stage-1 map = 43%, reduce = 0% -2013-09-10 16:57:23,389 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 17.23 sec -2013-09-10 16:57:24,396 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.41 sec -2013-09-10 16:57:25,405 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.41 sec -2013-09-10 16:57:26,413 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.41 sec -2013-09-10 16:57:27,420 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.41 sec -2013-09-10 16:57:28,426 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.41 sec -2013-09-10 16:57:29,433 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.41 sec -2013-09-10 16:57:30,440 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.41 sec -2013-09-10 16:57:31,453 Stage-1 map = 85%, reduce = 17%, Cumulative CPU 34.41 sec -2013-09-10 16:57:32,460 Stage-1 map = 85%, reduce = 17%, Cumulative CPU 34.41 sec -2013-09-10 16:57:33,466 Stage-1 map = 85%, reduce = 17%, Cumulative CPU 34.41 sec -2013-09-10 16:57:34,472 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.41 sec -2013-09-10 16:57:35,479 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.41 sec -2013-09-10 16:57:36,486 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 50.94 sec -2013-09-10 16:57:37,491 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.84 sec -2013-09-10 16:57:38,498 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.84 sec -2013-09-10 16:57:39,504 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.84 sec -2013-09-10 16:57:40,511 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.84 sec -2013-09-10 16:57:41,516 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.84 sec -2013-09-10 16:57:42,523 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.84 sec -2013-09-10 16:57:43,531 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 73.66 sec -2013-09-10 16:57:44,538 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 78.48 sec -2013-09-10 16:57:45,544 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 78.48 sec -MapReduce Total cumulative CPU time: 1 minutes 18 seconds 480 msec -Ended Job = job_201309101627_0018 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 78.48 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 18 seconds 480 msec -OK -Time taken: 43.997 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но без сортировки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10713@mturlrep13_201309101657_1877182176.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11137@mturlrep13_201309101657_663767903.txt -hive> SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10;; -hive> quit; --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11382@mturlrep13_201309101658_145683406.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11815@mturlrep13_201309101658_1403531499.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0019 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-10 16:58:19,917 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:58:24,947 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.88 sec -2013-09-10 16:58:25,955 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.88 sec -2013-09-10 16:58:26,964 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.88 sec -2013-09-10 16:58:27,971 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.88 sec -2013-09-10 16:58:28,977 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.88 sec -2013-09-10 16:58:29,984 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 11.45 sec -2013-09-10 16:58:30,990 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.59 sec -2013-09-10 16:58:31,996 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 15.59 sec -MapReduce Total cumulative CPU time: 15 seconds 590 msec -Ended Job = job_201309101627_0019 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 15.59 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 15 seconds 590 msec -OK -Time taken: 21.833 seconds -hive> quit; --- мощная фильтрация по столбцу типа UInt64.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12917@mturlrep13_201309101658_31678322.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13347@mturlrep13_201309101658_1130637656.txt -hive> SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0020 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 16:58:52,391 Stage-1 map = 0%, reduce = 0% -2013-09-10 16:58:59,424 Stage-1 map = 43%, reduce = 0% -2013-09-10 16:59:00,438 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.87 sec -2013-09-10 16:59:01,446 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.87 sec -2013-09-10 16:59:02,454 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.87 sec -2013-09-10 16:59:03,461 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.87 sec -2013-09-10 16:59:04,468 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.87 sec -2013-09-10 16:59:05,475 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.87 sec -2013-09-10 16:59:06,483 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.87 sec -2013-09-10 16:59:07,490 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 26.09 sec -2013-09-10 16:59:08,497 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.91 sec -2013-09-10 16:59:09,503 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.91 sec -2013-09-10 16:59:10,508 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.91 sec -2013-09-10 16:59:11,515 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.91 sec -2013-09-10 16:59:12,522 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.91 sec -2013-09-10 16:59:13,530 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.04 sec -2013-09-10 16:59:14,538 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.04 sec -MapReduce Total cumulative CPU time: 37 seconds 40 msec -Ended Job = job_201309101627_0020 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 37.04 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 37 seconds 40 msec -OK -8428 -Time taken: 32.099 seconds, Fetched: 1 row(s) -hive> quit; --- фильтрация по поиску подстроки в строке.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14584@mturlrep13_201309101659_2137143541.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15034@mturlrep13_201309101659_646733649.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:135 Not yet supported place for UDAF 'count' -hive> quit; --- вынимаем большие столбцы, фильтрация по строке.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15279@mturlrep13_201309101659_658953966.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15691@mturlrep13_201309101659_532790270.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:207 Not yet supported place for UDAF 'count' -hive> quit; --- чуть больше столбцы.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15936@mturlrep13_201309101659_671465679.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16390@mturlrep13_201309101659_896460481.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0021 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 17:00:05,665 Stage-1 map = 0%, reduce = 0% -2013-09-10 17:00:16,730 Stage-1 map = 7%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:17,737 Stage-1 map = 7%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:18,745 Stage-1 map = 7%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:19,751 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:20,758 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:21,765 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:22,771 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:23,777 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:24,783 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:25,788 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:26,794 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:27,800 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:28,806 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:29,811 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:30,817 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:31,823 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:32,829 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:33,835 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:34,841 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 20.36 sec -2013-09-10 17:00:35,850 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 72.6 sec -2013-09-10 17:00:36,857 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 72.6 sec -2013-09-10 17:00:37,865 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 72.6 sec -2013-09-10 17:00:38,872 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 72.6 sec -2013-09-10 17:00:39,878 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 72.6 sec -2013-09-10 17:00:40,884 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 72.6 sec -2013-09-10 17:00:41,890 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 72.6 sec -2013-09-10 17:00:42,897 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:43,904 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:44,909 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:45,916 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:46,922 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:47,928 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:48,944 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:49,950 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:50,956 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:51,963 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:52,968 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:53,975 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:54,981 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:55,987 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:56,992 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:58,002 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:00:59,008 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:01:00,014 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:01:01,020 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:01:02,026 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:01:03,041 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 72.6 sec -2013-09-10 17:01:04,047 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 106.42 sec -2013-09-10 17:01:05,052 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 106.42 sec -2013-09-10 17:01:06,058 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 106.42 sec -2013-09-10 17:01:07,063 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 146.86 sec -2013-09-10 17:01:08,069 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 146.86 sec -2013-09-10 17:01:09,078 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 149.89 sec -2013-09-10 17:01:10,084 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 149.89 sec -2013-09-10 17:01:11,090 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 149.89 sec -MapReduce Total cumulative CPU time: 2 minutes 29 seconds 890 msec -Ended Job = job_201309101627_0021 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 149.89 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 29 seconds 890 msec -OK -Time taken: 75.953 seconds, Fetched: 10 row(s) -hive> quit; --- плохой запрос - вынимаем все столбцы.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18541@mturlrep13_201309101701_742167591.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18989@mturlrep13_201309101701_291925169.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -FAILED: SemanticException [Error 10004]: Line 1:68 Invalid table alias or column reference 'EventTime': (possible column names are: searchphrase) -hive> quit; --- большая сортировка.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19233@mturlrep13_201309101701_2095092578.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19634@mturlrep13_201309101701_1908098506.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0022 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 17:01:47,013 Stage-1 map = 0%, reduce = 0% -2013-09-10 17:01:54,048 Stage-1 map = 43%, reduce = 0% -2013-09-10 17:01:55,063 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.59 sec -2013-09-10 17:01:56,071 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.59 sec -2013-09-10 17:01:57,082 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.59 sec -2013-09-10 17:01:58,088 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.59 sec -2013-09-10 17:01:59,095 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.59 sec -2013-09-10 17:02:00,102 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.59 sec -2013-09-10 17:02:01,108 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.59 sec -2013-09-10 17:02:02,116 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 19.59 sec -2013-09-10 17:02:03,122 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.26 sec -2013-09-10 17:02:04,128 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.26 sec -2013-09-10 17:02:05,134 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.26 sec -2013-09-10 17:02:06,140 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.26 sec -2013-09-10 17:02:07,145 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.26 sec -2013-09-10 17:02:08,151 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.26 sec -2013-09-10 17:02:09,204 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.26 sec -2013-09-10 17:02:10,209 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.26 sec -2013-09-10 17:02:11,218 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 46.32 sec -2013-09-10 17:02:12,225 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 46.32 sec -2013-09-10 17:02:13,230 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 46.32 sec -MapReduce Total cumulative CPU time: 46 seconds 320 msec -Ended Job = job_201309101627_0022 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 46.32 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 46 seconds 320 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 35.815 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка по строкам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20928@mturlrep13_201309101702_1035938831.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21350@mturlrep13_201309101702_1140115628.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -FAILED: SemanticException [Error 10004]: Line 1:68 Invalid table alias or column reference 'EventTime': (possible column names are: searchphrase) -hive> quit; --- большая сортировка по кортежу.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21597@mturlrep13_201309101702_910063178.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22017@mturlrep13_201309101702_1828172994.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0023 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 17:02:48,816 Stage-1 map = 0%, reduce = 0% -2013-09-10 17:02:55,850 Stage-1 map = 14%, reduce = 0% -2013-09-10 17:02:58,883 Stage-1 map = 22%, reduce = 0% -2013-09-10 17:03:01,897 Stage-1 map = 36%, reduce = 0% -2013-09-10 17:03:04,913 Stage-1 map = 43%, reduce = 0% -2013-09-10 17:03:06,931 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 43.83 sec -2013-09-10 17:03:07,939 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 43.83 sec -2013-09-10 17:03:08,949 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 43.83 sec -2013-09-10 17:03:09,956 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 43.83 sec -2013-09-10 17:03:10,964 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 43.83 sec -2013-09-10 17:03:11,970 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 43.83 sec -2013-09-10 17:03:12,976 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 43.83 sec -2013-09-10 17:03:13,983 Stage-1 map = 57%, reduce = 4%, Cumulative CPU 43.83 sec -2013-09-10 17:03:14,991 Stage-1 map = 61%, reduce = 13%, Cumulative CPU 43.83 sec -2013-09-10 17:03:15,999 Stage-1 map = 61%, reduce = 13%, Cumulative CPU 66.49 sec -2013-09-10 17:03:17,005 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 66.49 sec -2013-09-10 17:03:18,013 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 66.49 sec -2013-09-10 17:03:19,019 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 66.49 sec -2013-09-10 17:03:20,026 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 66.49 sec -2013-09-10 17:03:21,032 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 66.49 sec -2013-09-10 17:03:22,039 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 66.49 sec -2013-09-10 17:03:23,047 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 66.49 sec -2013-09-10 17:03:24,054 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 77.28 sec -2013-09-10 17:03:25,061 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.49 sec -2013-09-10 17:03:26,067 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.49 sec -2013-09-10 17:03:27,074 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.49 sec -2013-09-10 17:03:28,081 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.49 sec -2013-09-10 17:03:29,088 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.49 sec -2013-09-10 17:03:30,095 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 89.49 sec -2013-09-10 17:03:31,103 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 89.49 sec -2013-09-10 17:03:32,110 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 89.49 sec -2013-09-10 17:03:33,116 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 89.49 sec -2013-09-10 17:03:34,122 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 89.49 sec -2013-09-10 17:03:35,129 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 89.49 sec -2013-09-10 17:03:36,141 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 89.49 sec -2013-09-10 17:03:37,339 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 98.61 sec -2013-09-10 17:03:38,347 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 98.61 sec -2013-09-10 17:03:39,354 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 98.61 sec -2013-09-10 17:03:40,360 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 98.61 sec -2013-09-10 17:03:41,367 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 98.61 sec -2013-09-10 17:03:42,374 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 112.26 sec -2013-09-10 17:03:43,392 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 112.26 sec -MapReduce Total cumulative CPU time: 1 minutes 52 seconds 260 msec -Ended Job = job_201309101627_0023 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0024 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 17:03:46,871 Stage-2 map = 0%, reduce = 0% -2013-09-10 17:03:47,877 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-10 17:03:48,883 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-10 17:03:49,889 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-10 17:03:50,895 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-10 17:03:51,900 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-10 17:03:52,905 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-10 17:03:53,911 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-10 17:03:54,916 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-10 17:03:55,922 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.22 sec -2013-09-10 17:03:56,928 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.22 sec -2013-09-10 17:03:57,934 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.22 sec -MapReduce Total cumulative CPU time: 2 seconds 220 msec -Ended Job = job_201309101627_0024 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 112.26 sec HDFS Read: 117363067 HDFS Write: 794 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.22 sec HDFS Read: 1563 HDFS Write: 571 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 54 seconds 480 msec -OK -Time taken: 79.029 seconds, Fetched: 19 row(s) -hive> quit; --- считаем средние длины URL для крупных счётчиков.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24060@mturlrep13_201309101704_697176297.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24498@mturlrep13_201309101704_1925741849.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -NoViableAltException(26@[()* loopback of 364:5: ( ( KW_NOT precedenceEqualNegatableOperator notExpr= precedenceBitwiseOrExpression ) -> ^( KW_NOT ^( precedenceEqualNegatableOperator $precedenceEqualExpression $notExpr) ) | ( precedenceEqualOperator equalExpr= precedenceBitwiseOrExpression ) -> ^( precedenceEqualOperator $precedenceEqualExpression $equalExpr) | ( KW_NOT KW_IN expressions ) -> ^( KW_NOT ^( TOK_FUNCTION KW_IN $precedenceEqualExpression expressions ) ) | ( KW_IN expressions ) -> ^( TOK_FUNCTION KW_IN $precedenceEqualExpression expressions ) | ( KW_NOT KW_BETWEEN (min= precedenceBitwiseOrExpression ) KW_AND (max= precedenceBitwiseOrExpression ) ) -> ^( TOK_FUNCTION Identifier["between"] KW_TRUE $left $min $max) | ( KW_BETWEEN (min= precedenceBitwiseOrExpression ) KW_AND (max= precedenceBitwiseOrExpression ) ) -> ^( TOK_FUNCTION Identifier["between"] KW_FALSE $left $min $max) )*]) -FAILED: ParseException line 1:53 cannot recognize input near 'IN' 'Referer' ')' in expression specification - -hive> quit; --- то же самое, но с разбивкой по доменам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24706@mturlrep13_201309101704_325408643.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25137@mturlrep13_201309101704_464421422.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0025 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 17:04:28,745 Stage-1 map = 0%, reduce = 0% -2013-09-10 17:04:41,802 Stage-1 map = 7%, reduce = 0% -2013-09-10 17:04:47,828 Stage-1 map = 14%, reduce = 0% -2013-09-10 17:04:53,852 Stage-1 map = 22%, reduce = 0% -2013-09-10 17:05:03,892 Stage-1 map = 29%, reduce = 0% -2013-09-10 17:05:09,916 Stage-1 map = 36%, reduce = 0% -2013-09-10 17:05:15,942 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 99.49 sec -2013-09-10 17:05:16,947 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 99.49 sec -2013-09-10 17:05:17,953 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 99.49 sec -2013-09-10 17:05:18,958 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 99.49 sec -2013-09-10 17:05:19,962 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 99.49 sec -2013-09-10 17:05:20,968 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 99.49 sec -2013-09-10 17:05:21,975 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 106.03 sec -2013-09-10 17:05:22,980 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.63 sec -2013-09-10 17:05:23,986 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.63 sec -2013-09-10 17:05:24,991 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.63 sec -2013-09-10 17:05:25,997 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.63 sec -2013-09-10 17:05:27,003 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.63 sec -2013-09-10 17:05:28,009 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.63 sec -2013-09-10 17:05:29,014 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:30,020 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:31,026 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:32,031 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:33,037 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:34,042 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:35,048 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:36,054 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:37,059 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:38,065 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:39,070 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:40,076 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:41,082 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:42,087 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:43,093 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:44,098 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:45,104 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:46,109 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:47,115 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:48,125 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:49,131 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:50,136 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:51,141 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:52,146 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:53,152 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:54,157 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:55,165 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:56,170 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:57,176 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:58,181 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:05:59,186 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:00,193 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:01,198 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:02,204 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:03,210 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:04,215 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:05,222 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:06,245 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:07,251 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:08,256 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:09,261 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:10,267 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:11,273 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 113.63 sec -2013-09-10 17:06:12,278 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 166.1 sec -2013-09-10 17:06:13,283 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 166.1 sec -2013-09-10 17:06:14,289 Stage-1 map = 97%, reduce = 25%, Cumulative CPU 166.1 sec -2013-09-10 17:06:15,294 Stage-1 map = 97%, reduce = 25%, Cumulative CPU 166.1 sec -2013-09-10 17:06:16,299 Stage-1 map = 97%, reduce = 25%, Cumulative CPU 223.78 sec -2013-09-10 17:06:17,305 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 226.31 sec -2013-09-10 17:06:18,310 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 226.31 sec -2013-09-10 17:06:19,315 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 226.31 sec -2013-09-10 17:06:20,323 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 228.69 sec -2013-09-10 17:06:21,329 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 228.69 sec -2013-09-10 17:06:22,335 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 228.69 sec -MapReduce Total cumulative CPU time: 3 minutes 48 seconds 690 msec -Ended Job = job_201309101627_0025 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 228.69 sec HDFS Read: 7797536 HDFS Write: 1080 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 48 seconds 690 msec -OK -Time taken: 124.625 seconds, Fetched: 1 row(s) -hive> quit; --- много тупых агрегатных функций.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27420@mturlrep13_201309101706_2102923774.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27827@mturlrep13_201309101706_1115249262.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:165 Not yet supported place for UDAF 'count' -hive> quit; --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28077@mturlrep13_201309101706_2124378603.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28492@mturlrep13_201309101706_64062784.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:151 Not yet supported place for UDAF 'count' -hive> quit; --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28748@mturlrep13_201309101706_115048628.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29182@mturlrep13_201309101707_799532651.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:126 Not yet supported place for UDAF 'count' -hive> quit; --- то же самое, но ещё и без фильтрации.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29398@mturlrep13_201309101707_1250937879.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29832@mturlrep13_201309101707_220900109.txt -hive> SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:57 Not yet supported place for UDAF 'count' -hive> quit; --- агрегация по URL.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30076@mturlrep13_201309101707_1998522483.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30483@mturlrep13_201309101707_601921974.txt -hive> SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:63 Not yet supported place for UDAF 'count' -hive> quit; --- агрегация по URL и числу.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30739@mturlrep13_201309101707_969907764.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31158@mturlrep13_201309101707_1022790326.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10;; -FAILED: SemanticException [Error 10128]: Line 1:151 Not yet supported place for UDAF 'count' -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31402@mturlrep13_201309101707_604885932.txt -hive> ; -hive> quit; - -times: 1 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31838@mturlrep13_201309101708_1455783747.txt -hive> ; -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32045@mturlrep13_201309101708_1506845175.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32470@mturlrep13_201309101708_252581742.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -FAILED: ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableShortObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32697@mturlrep13_201309101708_453394488.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_691@mturlrep13_201309101708_1243233989.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -FAILED: ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableShortObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_937@mturlrep13_201309101708_2043875791.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1630@mturlrep13_201309101708_1723964633.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -FAILED: ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableByteObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1875@mturlrep13_201309101708_280630488.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2302@mturlrep13_201309101708_1494219422.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; ; -FAILED: ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableByteObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2546@mturlrep13_201309101709_1003990940.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2963@mturlrep13_201309101709_1534270046.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -FAILED: ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableByteObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3205@mturlrep13_201309101709_665683333.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3636@mturlrep13_201309101709_67803216.txt -hive> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; ; -FAILED: ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableByteObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3862@mturlrep13_201309101709_1829457435.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4309@mturlrep13_201309101709_1514553234.txt -hive> SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; ; -NoViableAltException(26@[]) -FAILED: ParseException line 1:34 missing FROM at '(' near '(' in subquery source -line 1:35 cannot recognize input near 'EventTime' ')' 'SECOND' in subquery source - -hive> quit; -stop time: Вт. сент. 10 17:09:45 MSK 2013 diff --git a/benchmark/hive/log/log_10m/log_10m_2 b/benchmark/hive/log/log_10m/log_10m_2 deleted file mode 100644 index 6728a58aaf1..00000000000 --- a/benchmark/hive/log/log_10m/log_10m_2 +++ /dev/null @@ -1,624 +0,0 @@ -start time: Вт. сент. 10 18:46:00 MSK 2013 -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15579@mturlrep13_201309101846_67163557.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16038@mturlrep13_201309101846_623079473.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0036 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 18:46:20,061 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:46:27,089 Stage-1 map = 7%, reduce = 0% -2013-09-10 18:46:33,113 Stage-1 map = 14%, reduce = 0% -2013-09-10 18:46:36,127 Stage-1 map = 22%, reduce = 0% -2013-09-10 18:46:39,143 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:40,149 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:41,156 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:42,162 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:43,168 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:44,174 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:45,179 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:46,185 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:47,191 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:48,197 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 46.41 sec -2013-09-10 18:46:49,205 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 62.51 sec -2013-09-10 18:46:50,211 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 83.95 sec -2013-09-10 18:46:51,217 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 83.95 sec -2013-09-10 18:46:52,222 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 83.95 sec -2013-09-10 18:46:53,227 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 83.95 sec -2013-09-10 18:46:54,233 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 83.95 sec -2013-09-10 18:46:55,238 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 83.95 sec -2013-09-10 18:46:56,244 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 83.95 sec -2013-09-10 18:46:57,250 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:46:58,255 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:46:59,261 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:00,266 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:01,272 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:02,277 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:03,282 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:04,287 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:05,305 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:06,310 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:07,316 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:08,321 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:09,326 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:10,331 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:11,336 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:12,341 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:13,346 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:14,351 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 83.95 sec -2013-09-10 18:47:15,356 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 118.21 sec -2013-09-10 18:47:16,372 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 118.21 sec -2013-09-10 18:47:17,379 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 118.21 sec -2013-09-10 18:47:18,384 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 118.21 sec -2013-09-10 18:47:19,388 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 162.76 sec -2013-09-10 18:47:20,393 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 162.76 sec -2013-09-10 18:47:21,397 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 162.76 sec -2013-09-10 18:47:22,404 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 165.27 sec -2013-09-10 18:47:23,410 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 165.27 sec -2013-09-10 18:47:24,415 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 165.27 sec -MapReduce Total cumulative CPU time: 2 minutes 45 seconds 270 msec -Ended Job = job_201309101627_0036 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 165.27 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 45 seconds 270 msec -OK -10000000 -Time taken: 74.228 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17475@mturlrep13_201309101847_1783698271.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17882@mturlrep13_201309101847_1295809350.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0037 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 18:47:44,058 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:47:49,086 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 18:47:50,093 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 18:47:51,101 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 18:47:52,107 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 18:47:53,113 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.21 sec -2013-09-10 18:47:54,119 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 18.18 sec -2013-09-10 18:47:55,125 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.81 sec -2013-09-10 18:47:56,130 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.81 sec -2013-09-10 18:47:57,138 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.64 sec -2013-09-10 18:47:58,144 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.64 sec -2013-09-10 18:47:59,150 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.64 sec -MapReduce Total cumulative CPU time: 25 seconds 640 msec -Ended Job = job_201309101627_0037 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 25.64 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 25 seconds 640 msec -OK -171127 -Time taken: 25.153 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19147@mturlrep13_201309101848_1891179156.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19567@mturlrep13_201309101848_690102300.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0038 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 18:48:18,837 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:48:25,865 Stage-1 map = 39%, reduce = 0% -2013-09-10 18:48:26,875 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.45 sec -2013-09-10 18:48:27,882 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.45 sec -2013-09-10 18:48:28,889 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.45 sec -2013-09-10 18:48:29,895 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.45 sec -2013-09-10 18:48:30,901 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.45 sec -2013-09-10 18:48:31,907 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.45 sec -2013-09-10 18:48:32,914 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.45 sec -2013-09-10 18:48:33,920 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.59 sec -2013-09-10 18:48:34,925 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.59 sec -2013-09-10 18:48:35,930 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.59 sec -2013-09-10 18:48:36,935 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.59 sec -2013-09-10 18:48:37,940 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 34.59 sec -2013-09-10 18:48:38,945 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.24 sec -2013-09-10 18:48:39,952 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.63 sec -2013-09-10 18:48:40,958 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.63 sec -MapReduce Total cumulative CPU time: 36 seconds 630 msec -Ended Job = job_201309101627_0038 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 36.63 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 36 seconds 630 msec -OK -Time taken: 31.961 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20898@mturlrep13_201309101848_327652001.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21336@mturlrep13_201309101848_1975614127.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0039 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 18:49:00,561 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:49:07,617 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.12 sec -2013-09-10 18:49:08,626 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.12 sec -2013-09-10 18:49:09,634 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.12 sec -2013-09-10 18:49:10,639 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.12 sec -2013-09-10 18:49:11,646 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.12 sec -2013-09-10 18:49:12,652 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.12 sec -2013-09-10 18:49:13,658 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 21.86 sec -2013-09-10 18:49:14,664 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.08 sec -2013-09-10 18:49:15,670 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.08 sec -2013-09-10 18:49:16,675 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.08 sec -2013-09-10 18:49:17,680 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.08 sec -2013-09-10 18:49:18,685 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.08 sec -2013-09-10 18:49:19,690 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.08 sec -2013-09-10 18:49:20,697 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.07 sec -2013-09-10 18:49:21,703 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.07 sec -MapReduce Total cumulative CPU time: 32 seconds 70 msec -Ended Job = job_201309101627_0039 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 32.07 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 32 seconds 70 msec -OK --4662894107982093709 -Time taken: 30.94 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22560@mturlrep13_201309101849_2023198520.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22993@mturlrep13_201309101849_961728603.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0040 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 18:49:41,232 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:49:48,264 Stage-1 map = 43%, reduce = 0% -2013-09-10 18:49:51,283 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.01 sec -2013-09-10 18:49:52,291 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.01 sec -2013-09-10 18:49:53,298 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.01 sec -2013-09-10 18:49:54,304 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.01 sec -2013-09-10 18:49:55,310 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.01 sec -2013-09-10 18:49:56,317 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.01 sec -2013-09-10 18:49:57,332 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.01 sec -2013-09-10 18:49:58,337 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.01 sec -2013-09-10 18:49:59,342 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.01 sec -2013-09-10 18:50:00,348 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.01 sec -2013-09-10 18:50:01,353 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-10 18:50:02,360 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-10 18:50:03,365 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-10 18:50:04,369 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-10 18:50:05,375 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-10 18:50:06,379 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-10 18:50:07,385 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 55.01 sec -2013-09-10 18:50:08,391 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.95 sec -2013-09-10 18:50:09,397 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.95 sec -2013-09-10 18:50:10,402 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.95 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 950 msec -Ended Job = job_201309101627_0040 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 62.95 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 2 seconds 950 msec -OK -2037258 -Time taken: 38.84 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24634@mturlrep13_201309101850_840502487.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25401@mturlrep13_201309101850_84750246.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0041 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 18:50:31,472 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:50:38,501 Stage-1 map = 43%, reduce = 0% -2013-09-10 18:50:40,517 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.42 sec -2013-09-10 18:50:41,523 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.42 sec -2013-09-10 18:50:42,531 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.42 sec -2013-09-10 18:50:43,536 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.42 sec -2013-09-10 18:50:44,542 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.42 sec -2013-09-10 18:50:45,548 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.42 sec -2013-09-10 18:50:46,555 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.42 sec -2013-09-10 18:50:47,561 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 21.42 sec -2013-09-10 18:50:48,566 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 31.8 sec -2013-09-10 18:50:49,571 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.95 sec -2013-09-10 18:50:50,576 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.95 sec -2013-09-10 18:50:51,581 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.95 sec -2013-09-10 18:50:52,587 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.95 sec -2013-09-10 18:50:53,592 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.95 sec -2013-09-10 18:50:54,597 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.95 sec -2013-09-10 18:50:55,602 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.95 sec -2013-09-10 18:50:56,607 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 42.95 sec -2013-09-10 18:50:57,615 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.6 sec -2013-09-10 18:50:58,642 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.6 sec -MapReduce Total cumulative CPU time: 50 seconds 600 msec -Ended Job = job_201309101627_0041 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 50.6 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 50 seconds 600 msec -OK -1110413 -Time taken: 37.04 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26718@mturlrep13_201309101851_285967686.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27149@mturlrep13_201309101851_2135309314.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0042 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 18:51:19,077 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:51:25,106 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-10 18:51:26,114 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-10 18:51:27,123 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-10 18:51:28,129 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-10 18:51:29,135 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-10 18:51:30,141 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-10 18:51:31,147 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 20.4 sec -2013-09-10 18:51:32,152 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.44 sec -2013-09-10 18:51:33,158 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 27.44 sec -2013-09-10 18:51:34,163 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 27.44 sec -2013-09-10 18:51:35,168 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 27.44 sec -2013-09-10 18:51:36,173 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 27.44 sec -2013-09-10 18:51:37,179 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 27.44 sec -2013-09-10 18:51:38,184 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 27.44 sec -2013-09-10 18:51:39,192 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.39 sec -2013-09-10 18:51:40,198 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.39 sec -MapReduce Total cumulative CPU time: 29 seconds 390 msec -Ended Job = job_201309101627_0042 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 29.39 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 29 seconds 390 msec -OK -Time taken: 30.908 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28401@mturlrep13_201309101851_891001725.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28836@mturlrep13_201309101851_1054092389.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0043 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 18:51:59,809 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:52:04,838 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.48 sec -2013-09-10 18:52:05,847 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.48 sec -2013-09-10 18:52:06,855 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.48 sec -2013-09-10 18:52:07,861 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.48 sec -2013-09-10 18:52:08,868 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.48 sec -2013-09-10 18:52:09,875 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 18.07 sec -2013-09-10 18:52:10,881 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.92 sec -2013-09-10 18:52:11,887 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.92 sec -2013-09-10 18:52:12,894 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 25.68 sec -2013-09-10 18:52:13,901 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.53 sec -2013-09-10 18:52:14,908 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.53 sec -MapReduce Total cumulative CPU time: 27 seconds 530 msec -Ended Job = job_201309101627_0043 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0044 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 18:52:17,388 Stage-2 map = 0%, reduce = 0% -2013-09-10 18:52:19,396 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 18:52:20,401 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 18:52:21,406 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 18:52:22,411 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 18:52:23,415 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 18:52:24,420 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 18:52:25,425 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 18:52:26,430 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.75 sec -2013-09-10 18:52:27,436 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-10 18:52:28,442 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-10 18:52:29,448 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -MapReduce Total cumulative CPU time: 2 seconds 140 msec -Ended Job = job_201309101627_0044 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 27.53 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.14 sec HDFS Read: 1153 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 29 seconds 670 msec -OK -Time taken: 39.506 seconds, Fetched: 9 row(s) -hive> quit; --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30667@mturlrep13_201309101852_966681525.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31123@mturlrep13_201309101852_1252745596.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0045 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 18:52:49,457 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:52:56,485 Stage-1 map = 43%, reduce = 0% -2013-09-10 18:52:59,503 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 14.56 sec -2013-09-10 18:53:00,511 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.73 sec -2013-09-10 18:53:01,519 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.73 sec -2013-09-10 18:53:02,526 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.73 sec -2013-09-10 18:53:03,533 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.73 sec -2013-09-10 18:53:04,539 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.73 sec -2013-09-10 18:53:05,545 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.73 sec -2013-09-10 18:53:06,550 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.73 sec -2013-09-10 18:53:07,557 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 29.73 sec -2013-09-10 18:53:08,563 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 29.73 sec -2013-09-10 18:53:09,569 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 29.73 sec -2013-09-10 18:53:10,575 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 44.01 sec -2013-09-10 18:53:11,598 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.47 sec -2013-09-10 18:53:12,604 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.47 sec -2013-09-10 18:53:13,609 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.47 sec -2013-09-10 18:53:14,615 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.47 sec -2013-09-10 18:53:15,620 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.47 sec -2013-09-10 18:53:16,627 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 65.64 sec -2013-09-10 18:53:17,634 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 65.64 sec -2013-09-10 18:53:18,640 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 65.64 sec -2013-09-10 18:53:19,646 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 65.64 sec -2013-09-10 18:53:20,653 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 71.27 sec -2013-09-10 18:53:21,659 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 71.27 sec -MapReduce Total cumulative CPU time: 1 minutes 11 seconds 270 msec -Ended Job = job_201309101627_0045 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0046 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 18:53:25,187 Stage-2 map = 0%, reduce = 0% -2013-09-10 18:53:27,196 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.42 sec -2013-09-10 18:53:28,202 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.42 sec -2013-09-10 18:53:29,207 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.42 sec -2013-09-10 18:53:30,211 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.42 sec -2013-09-10 18:53:31,216 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.42 sec -2013-09-10 18:53:32,220 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.42 sec -2013-09-10 18:53:33,226 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.42 sec -2013-09-10 18:53:34,231 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.42 sec -2013-09-10 18:53:35,237 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.16 sec -2013-09-10 18:53:36,243 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.16 sec -MapReduce Total cumulative CPU time: 3 seconds 160 msec -Ended Job = job_201309101627_0046 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 71.27 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.16 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 14 seconds 430 msec -OK -Time taken: 56.439 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_609@mturlrep13_201309101853_355533849.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1183@mturlrep13_201309101853_289725544.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0047 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 18:53:55,838 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:54:02,865 Stage-1 map = 29%, reduce = 0% -2013-09-10 18:54:05,876 Stage-1 map = 43%, reduce = 0% -2013-09-10 18:54:08,894 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 16.8 sec -2013-09-10 18:54:09,901 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.85 sec -2013-09-10 18:54:10,909 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.85 sec -2013-09-10 18:54:11,915 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.85 sec -2013-09-10 18:54:12,921 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.85 sec -2013-09-10 18:54:13,927 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.85 sec -2013-09-10 18:54:14,932 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.85 sec -2013-09-10 18:54:15,938 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.85 sec -2013-09-10 18:54:16,943 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 34.85 sec -2013-09-10 18:54:17,949 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 34.85 sec -2013-09-10 18:54:18,954 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 34.85 sec -2013-09-10 18:54:19,959 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.85 sec -2013-09-10 18:54:20,964 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.85 sec -2013-09-10 18:54:21,970 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.35 sec -2013-09-10 18:54:22,975 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.35 sec -2013-09-10 18:54:23,980 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.35 sec -2013-09-10 18:54:24,986 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.35 sec -2013-09-10 18:54:25,991 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.35 sec -2013-09-10 18:54:26,997 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.35 sec -2013-09-10 18:54:28,002 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.35 sec -2013-09-10 18:54:29,008 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.35 sec -2013-09-10 18:54:30,014 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.35 sec -2013-09-10 18:54:31,021 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 74.39 sec -2013-09-10 18:54:32,027 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 74.39 sec -2013-09-10 18:54:33,033 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.05 sec -2013-09-10 18:54:34,038 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.05 sec -2013-09-10 18:54:35,044 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.05 sec -MapReduce Total cumulative CPU time: 1 minutes 24 seconds 50 msec -Ended Job = job_201309101627_0047 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0048 diff --git a/benchmark/hive/log/log_10m/log_10m_3 b/benchmark/hive/log/log_10m/log_10m_3 deleted file mode 100644 index 113f1e82f32..00000000000 --- a/benchmark/hive/log/log_10m/log_10m_3 +++ /dev/null @@ -1,2627 +0,0 @@ -start time: Вт. сент. 10 18:59:07 MSK 2013 -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6050@mturlrep13_201309101859_631689796.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6464@mturlrep13_201309101859_985586033.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0049 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 18:59:26,237 Stage-1 map = 0%, reduce = 0% -2013-09-10 18:59:33,264 Stage-1 map = 29%, reduce = 0% -2013-09-10 18:59:36,276 Stage-1 map = 43%, reduce = 0% -2013-09-10 18:59:39,296 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 36.62 sec -2013-09-10 18:59:40,304 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 36.62 sec -2013-09-10 18:59:41,312 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 36.62 sec -2013-09-10 18:59:42,319 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 36.62 sec -2013-09-10 18:59:43,325 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 36.62 sec -2013-09-10 18:59:44,331 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 36.62 sec -2013-09-10 18:59:45,337 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 36.62 sec -2013-09-10 18:59:46,343 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 36.62 sec -2013-09-10 18:59:47,349 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 36.62 sec -2013-09-10 18:59:48,355 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 36.62 sec -2013-09-10 18:59:49,362 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 36.62 sec -2013-09-10 18:59:50,368 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 36.62 sec -2013-09-10 18:59:51,374 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 73.0 sec -2013-09-10 18:59:52,379 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 73.0 sec -2013-09-10 18:59:53,385 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 73.0 sec -2013-09-10 18:59:54,390 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 73.0 sec -2013-09-10 18:59:55,396 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 73.0 sec -2013-09-10 18:59:56,401 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 73.0 sec -2013-09-10 18:59:57,407 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 73.0 sec -2013-09-10 18:59:58,412 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 73.0 sec -2013-09-10 18:59:59,418 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 73.0 sec -2013-09-10 19:00:00,425 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 80.12 sec -2013-09-10 19:00:01,431 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 80.12 sec -2013-09-10 19:00:02,437 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 80.12 sec -2013-09-10 19:00:03,443 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.63 sec -2013-09-10 19:00:04,449 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.63 sec -MapReduce Total cumulative CPU time: 1 minutes 29 seconds 630 msec -Ended Job = job_201309101627_0049 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0050 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:00:07,945 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:00:09,952 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-10 19:00:10,957 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-10 19:00:11,962 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-10 19:00:12,968 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-10 19:00:13,973 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-10 19:00:14,978 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-10 19:00:15,983 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.6 sec -2013-09-10 19:00:16,988 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.6 sec -2013-09-10 19:00:17,993 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.15 sec -2013-09-10 19:00:18,999 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.15 sec -MapReduce Total cumulative CPU time: 3 seconds 150 msec -Ended Job = job_201309101627_0050 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 89.63 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.15 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 32 seconds 780 msec -OK -Time taken: 62.773 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9300@mturlrep13_201309101900_1506085852.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9711@mturlrep13_201309101900_924615795.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0051 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:00:39,435 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:00:45,467 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.94 sec -2013-09-10 19:00:46,474 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.94 sec -2013-09-10 19:00:47,482 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.94 sec -2013-09-10 19:00:48,488 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.94 sec -2013-09-10 19:00:49,495 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.94 sec -2013-09-10 19:00:50,500 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.94 sec -2013-09-10 19:00:51,506 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.94 sec -2013-09-10 19:00:52,512 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 19.9 sec -2013-09-10 19:00:53,517 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 26.33 sec -2013-09-10 19:00:54,523 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 26.33 sec -2013-09-10 19:00:55,528 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 26.33 sec -2013-09-10 19:00:56,533 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 26.33 sec -2013-09-10 19:00:57,539 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 26.33 sec -2013-09-10 19:00:58,545 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 26.33 sec -2013-09-10 19:00:59,553 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.07 sec -2013-09-10 19:01:00,560 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.07 sec -2013-09-10 19:01:01,567 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.07 sec -MapReduce Total cumulative CPU time: 33 seconds 70 msec -Ended Job = job_201309101627_0051 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0052 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:01:04,042 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:01:06,051 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 19:01:07,057 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 19:01:08,063 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 19:01:09,068 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 19:01:10,073 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 19:01:11,079 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 19:01:12,084 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec -2013-09-10 19:01:13,090 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.87 sec -2013-09-10 19:01:14,095 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.22 sec -2013-09-10 19:01:15,102 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.22 sec -2013-09-10 19:01:16,107 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.22 sec -MapReduce Total cumulative CPU time: 2 seconds 220 msec -Ended Job = job_201309101627_0052 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 33.07 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.22 sec HDFS Read: 21897 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 35 seconds 290 msec -OK -Time taken: 46.54 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по строкам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11706@mturlrep13_201309101901_1717979914.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12124@mturlrep13_201309101901_499676225.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0053 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:01:37,263 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:01:44,301 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.64 sec -2013-09-10 19:01:45,310 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.64 sec -2013-09-10 19:01:46,319 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.64 sec -2013-09-10 19:01:47,326 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.64 sec -2013-09-10 19:01:48,333 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.64 sec -2013-09-10 19:01:49,340 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.64 sec -2013-09-10 19:01:50,346 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.68 sec -2013-09-10 19:01:51,353 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.68 sec -2013-09-10 19:01:52,360 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.68 sec -2013-09-10 19:01:53,367 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.68 sec -2013-09-10 19:01:54,373 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.68 sec -2013-09-10 19:01:55,379 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.68 sec -2013-09-10 19:01:56,386 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.68 sec -2013-09-10 19:01:57,392 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 23.68 sec -2013-09-10 19:01:58,401 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.08 sec -2013-09-10 19:01:59,407 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.08 sec -MapReduce Total cumulative CPU time: 31 seconds 80 msec -Ended Job = job_201309101627_0053 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0054 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:02:02,871 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:02:03,876 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-10 19:02:04,882 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-10 19:02:05,889 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-10 19:02:06,895 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-10 19:02:07,900 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-10 19:02:08,906 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-10 19:02:09,912 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-10 19:02:10,927 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-10 19:02:11,934 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.47 sec -2013-09-10 19:02:12,939 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.47 sec -2013-09-10 19:02:13,945 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.47 sec -MapReduce Total cumulative CPU time: 2 seconds 470 msec -Ended Job = job_201309101627_0054 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 31.08 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.47 sec HDFS Read: 23479 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 550 msec -OK -Time taken: 46.823 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14060@mturlrep13_201309101902_1323690190.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14501@mturlrep13_201309101902_2124415926.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0055 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:02:34,187 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:02:41,216 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:02:42,230 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.35 sec -2013-09-10 19:02:43,238 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.35 sec -2013-09-10 19:02:44,246 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.35 sec -2013-09-10 19:02:45,253 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.35 sec -2013-09-10 19:02:46,260 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.35 sec -2013-09-10 19:02:47,266 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.35 sec -2013-09-10 19:02:48,273 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.35 sec -2013-09-10 19:02:49,280 Stage-1 map = 72%, reduce = 8%, Cumulative CPU 20.35 sec -2013-09-10 19:02:50,286 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.1 sec -2013-09-10 19:02:51,292 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.1 sec -2013-09-10 19:02:52,297 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.1 sec -2013-09-10 19:02:53,302 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.1 sec -2013-09-10 19:02:54,309 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.1 sec -2013-09-10 19:02:55,315 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.1 sec -2013-09-10 19:02:56,321 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.1 sec -2013-09-10 19:02:57,327 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.1 sec -2013-09-10 19:02:58,333 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 40.1 sec -2013-09-10 19:02:59,340 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 54.51 sec -2013-09-10 19:03:00,346 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 54.51 sec -2013-09-10 19:03:01,352 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 54.51 sec -MapReduce Total cumulative CPU time: 54 seconds 510 msec -Ended Job = job_201309101627_0055 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0056 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:03:03,804 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:03:11,833 Stage-2 map = 50%, reduce = 0% -2013-09-10 19:03:13,842 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.34 sec -2013-09-10 19:03:14,847 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.34 sec -2013-09-10 19:03:15,851 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.34 sec -2013-09-10 19:03:16,856 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.34 sec -2013-09-10 19:03:17,860 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.34 sec -2013-09-10 19:03:18,864 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.34 sec -2013-09-10 19:03:19,868 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.34 sec -2013-09-10 19:03:20,873 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.34 sec -2013-09-10 19:03:21,878 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.34 sec -2013-09-10 19:03:22,883 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.49 sec -2013-09-10 19:03:23,887 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.49 sec -2013-09-10 19:03:24,892 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.49 sec -MapReduce Total cumulative CPU time: 18 seconds 490 msec -Ended Job = job_201309101627_0056 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 54.51 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.49 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 13 seconds 0 msec -OK -Time taken: 60.622 seconds, Fetched: 10 row(s) -hive> quit; --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16498@mturlrep13_201309101903_1119256282.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16962@mturlrep13_201309101903_443904173.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0057 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:03:45,087 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:03:52,116 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:03:54,132 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.1 sec -2013-09-10 19:03:55,140 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.1 sec -2013-09-10 19:03:56,148 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.1 sec -2013-09-10 19:03:57,155 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.1 sec -2013-09-10 19:03:58,161 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.1 sec -2013-09-10 19:03:59,167 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.1 sec -2013-09-10 19:04:00,174 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.1 sec -2013-09-10 19:04:01,181 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.1 sec -2013-09-10 19:04:02,187 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 22.1 sec -2013-09-10 19:04:03,193 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 33.77 sec -2013-09-10 19:04:04,199 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.59 sec -2013-09-10 19:04:05,205 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.59 sec -2013-09-10 19:04:06,212 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.59 sec -2013-09-10 19:04:07,218 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.59 sec -2013-09-10 19:04:08,225 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.59 sec -2013-09-10 19:04:09,232 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.59 sec -2013-09-10 19:04:10,238 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.59 sec -2013-09-10 19:04:11,244 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 45.59 sec -2013-09-10 19:04:12,252 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 61.87 sec -2013-09-10 19:04:13,259 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 61.87 sec -MapReduce Total cumulative CPU time: 1 minutes 1 seconds 870 msec -Ended Job = job_201309101627_0057 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0058 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:04:15,702 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:04:23,732 Stage-2 map = 50%, reduce = 0% -2013-09-10 19:04:25,740 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.18 sec -2013-09-10 19:04:26,746 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.18 sec -2013-09-10 19:04:27,751 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.18 sec -2013-09-10 19:04:28,757 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.18 sec -2013-09-10 19:04:29,762 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.18 sec -2013-09-10 19:04:30,767 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.18 sec -2013-09-10 19:04:31,782 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.18 sec -2013-09-10 19:04:32,787 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.18 sec -2013-09-10 19:04:33,793 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.18 sec -2013-09-10 19:04:34,799 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.89 sec -2013-09-10 19:04:35,810 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.89 sec -MapReduce Total cumulative CPU time: 17 seconds 890 msec -Ended Job = job_201309101627_0058 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 61.87 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.89 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 19 seconds 760 msec -OK -Time taken: 60.639 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация чуть сложнее.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18982@mturlrep13_201309101904_1735457209.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19424@mturlrep13_201309101904_1653965293.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0059 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:04:57,169 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:05:04,197 Stage-1 map = 39%, reduce = 0% -2013-09-10 19:05:05,209 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.06 sec -2013-09-10 19:05:06,217 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.06 sec -2013-09-10 19:05:07,227 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.06 sec -2013-09-10 19:05:08,235 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.06 sec -2013-09-10 19:05:09,241 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.06 sec -2013-09-10 19:05:10,247 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.06 sec -2013-09-10 19:05:11,254 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.06 sec -2013-09-10 19:05:12,260 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.06 sec -2013-09-10 19:05:13,267 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 24.06 sec -2013-09-10 19:05:14,273 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 34.72 sec -2013-09-10 19:05:15,279 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.1 sec -2013-09-10 19:05:16,285 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.1 sec -2013-09-10 19:05:17,292 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.1 sec -2013-09-10 19:05:18,298 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.1 sec -2013-09-10 19:05:19,303 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.1 sec -2013-09-10 19:05:20,309 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.1 sec -2013-09-10 19:05:21,315 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.1 sec -2013-09-10 19:05:22,322 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 46.1 sec -2013-09-10 19:05:23,330 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 61.52 sec -2013-09-10 19:05:24,337 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 61.52 sec -MapReduce Total cumulative CPU time: 1 minutes 1 seconds 520 msec -Ended Job = job_201309101627_0059 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0060 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:05:27,785 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:05:34,809 Stage-2 map = 50%, reduce = 0% -2013-09-10 19:05:37,822 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.13 sec -2013-09-10 19:05:38,827 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.13 sec -2013-09-10 19:05:39,832 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.13 sec -2013-09-10 19:05:40,838 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.13 sec -2013-09-10 19:05:41,843 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.13 sec -2013-09-10 19:05:42,848 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.13 sec -2013-09-10 19:05:43,853 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.13 sec -2013-09-10 19:05:44,858 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.13 sec -2013-09-10 19:05:45,864 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.13 sec -2013-09-10 19:05:46,870 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.06 sec -2013-09-10 19:05:47,875 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.06 sec -2013-09-10 19:05:48,882 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.06 sec -MapReduce Total cumulative CPU time: 20 seconds 60 msec -Ended Job = job_201309101627_0060 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 61.52 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 20.06 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 21 seconds 580 msec -OK -Time taken: 61.589 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по числу и строке, большое количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22049@mturlrep13_201309101905_1061955650.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22475@mturlrep13_201309101906_1586052270.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0061 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:06:10,398 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:06:17,425 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:06:20,444 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-10 19:06:21,451 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-10 19:06:22,460 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-10 19:06:23,466 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-10 19:06:24,472 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-10 19:06:25,479 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-10 19:06:26,484 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-10 19:06:27,496 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-10 19:06:28,502 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 26.97 sec -2013-09-10 19:06:29,508 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 26.97 sec -2013-09-10 19:06:30,514 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 53.98 sec -2013-09-10 19:06:31,520 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 53.98 sec -2013-09-10 19:06:32,526 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 53.98 sec -2013-09-10 19:06:33,532 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 53.98 sec -2013-09-10 19:06:34,538 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 53.98 sec -2013-09-10 19:06:35,544 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 53.98 sec -2013-09-10 19:06:36,550 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 53.98 sec -2013-09-10 19:06:37,559 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 61.23 sec -2013-09-10 19:06:38,565 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.59 sec -2013-09-10 19:06:39,571 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.59 sec -MapReduce Total cumulative CPU time: 1 minutes 8 seconds 590 msec -Ended Job = job_201309101627_0061 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0062 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:06:43,004 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:06:53,038 Stage-2 map = 50%, reduce = 0% -2013-09-10 19:06:57,053 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.42 sec -2013-09-10 19:06:58,059 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.42 sec -2013-09-10 19:06:59,064 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.42 sec -2013-09-10 19:07:00,068 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.42 sec -2013-09-10 19:07:01,073 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.42 sec -2013-09-10 19:07:02,078 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.42 sec -2013-09-10 19:07:03,083 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.42 sec -2013-09-10 19:07:04,088 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.42 sec -2013-09-10 19:07:05,093 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.42 sec -2013-09-10 19:07:06,099 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.68 sec -2013-09-10 19:07:07,105 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.68 sec -2013-09-10 19:07:08,110 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.68 sec -MapReduce Total cumulative CPU time: 22 seconds 680 msec -Ended Job = job_201309101627_0062 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 68.59 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 22.68 sec HDFS Read: 55476181 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 31 seconds 270 msec -OK -Time taken: 67.438 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24441@mturlrep13_201309101907_2142712344.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24859@mturlrep13_201309101907_1554318689.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0063 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:07:28,202 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:07:35,236 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:07:38,249 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:07:40,264 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 17.49 sec -2013-09-10 19:07:41,271 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.27 sec -2013-09-10 19:07:42,285 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.27 sec -2013-09-10 19:07:43,293 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.27 sec -2013-09-10 19:07:44,300 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.27 sec -2013-09-10 19:07:45,306 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.27 sec -2013-09-10 19:07:46,312 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.27 sec -2013-09-10 19:07:47,319 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.27 sec -2013-09-10 19:07:48,325 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.27 sec -2013-09-10 19:07:49,332 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.27 sec -2013-09-10 19:07:50,339 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.27 sec -2013-09-10 19:07:51,346 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.27 sec -2013-09-10 19:07:52,352 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.27 sec -2013-09-10 19:07:53,359 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:07:54,368 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:07:55,374 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:07:56,380 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:07:57,386 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:07:58,393 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:07:59,398 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:08:00,404 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:08:01,410 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:08:02,416 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.38 sec -2013-09-10 19:08:03,422 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 68.38 sec -2013-09-10 19:08:04,428 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 68.38 sec -2013-09-10 19:08:05,436 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 90.47 sec -2013-09-10 19:08:06,443 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 90.47 sec -2013-09-10 19:08:07,449 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 90.47 sec -MapReduce Total cumulative CPU time: 1 minutes 30 seconds 470 msec -Ended Job = job_201309101627_0063 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0064 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:08:10,060 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:08:21,113 Stage-2 map = 46%, reduce = 0% -2013-09-10 19:08:24,124 Stage-2 map = 50%, reduce = 0% -2013-09-10 19:08:27,134 Stage-2 map = 96%, reduce = 0% -2013-09-10 19:08:29,142 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.42 sec -2013-09-10 19:08:30,148 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.42 sec -2013-09-10 19:08:31,153 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.42 sec -2013-09-10 19:08:32,157 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.42 sec -2013-09-10 19:08:33,162 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.42 sec -2013-09-10 19:08:34,166 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.42 sec -2013-09-10 19:08:35,170 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.42 sec -2013-09-10 19:08:36,175 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.42 sec -2013-09-10 19:08:37,180 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.42 sec -2013-09-10 19:08:38,185 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.42 sec -2013-09-10 19:08:39,191 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.83 sec -2013-09-10 19:08:40,196 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.83 sec -2013-09-10 19:08:41,202 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.83 sec -MapReduce Total cumulative CPU time: 28 seconds 830 msec -Ended Job = job_201309101627_0064 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 90.47 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 28.83 sec HDFS Read: 146210123 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 59 seconds 300 msec -OK -Time taken: 82.888 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26996@mturlrep13_201309101908_242539464.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27403@mturlrep13_201309101908_1527602828.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0065 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:09:00,979 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:09:08,005 Stage-1 map = 39%, reduce = 0% -2013-09-10 19:09:11,017 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:09:13,032 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.58 sec -2013-09-10 19:09:14,039 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.58 sec -2013-09-10 19:09:15,046 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.58 sec -2013-09-10 19:09:16,052 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.58 sec -2013-09-10 19:09:17,058 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.58 sec -2013-09-10 19:09:18,064 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.58 sec -2013-09-10 19:09:19,069 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.58 sec -2013-09-10 19:09:20,074 Stage-1 map = 68%, reduce = 8%, Cumulative CPU 33.58 sec -2013-09-10 19:09:21,083 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 33.58 sec -2013-09-10 19:09:22,088 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 33.58 sec -2013-09-10 19:09:23,093 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.58 sec -2013-09-10 19:09:24,098 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.58 sec -2013-09-10 19:09:25,103 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.58 sec -2013-09-10 19:09:26,109 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-10 19:09:27,114 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-10 19:09:28,119 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-10 19:09:29,124 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-10 19:09:30,130 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-10 19:09:31,135 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-10 19:09:32,140 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-10 19:09:33,148 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.77 sec -2013-09-10 19:09:34,154 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.77 sec -2013-09-10 19:09:35,160 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.77 sec -MapReduce Total cumulative CPU time: 1 minutes 17 seconds 770 msec -Ended Job = job_201309101627_0065 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 77.77 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 770 msec -OK -Time taken: 44.016 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но без сортировки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28914@mturlrep13_201309101909_482341198.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29362@mturlrep13_201309101909_120722838.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0066 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:09:54,681 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:10:01,708 Stage-1 map = 7%, reduce = 0% -2013-09-10 19:10:04,721 Stage-1 map = 22%, reduce = 0% -2013-09-10 19:10:07,733 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:10:10,746 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:10:13,758 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:10:15,772 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.31 sec -2013-09-10 19:10:16,779 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.31 sec -2013-09-10 19:10:17,787 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.31 sec -2013-09-10 19:10:18,793 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.31 sec -2013-09-10 19:10:19,799 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.31 sec -2013-09-10 19:10:20,804 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.31 sec -2013-09-10 19:10:21,810 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.31 sec -2013-09-10 19:10:22,816 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 55.31 sec -2013-09-10 19:10:23,822 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:24,828 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:25,834 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:26,840 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:27,846 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:28,852 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:29,858 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:30,863 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:31,891 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:32,897 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 55.31 sec -2013-09-10 19:10:33,903 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 79.15 sec -2013-09-10 19:10:34,909 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 79.15 sec -2013-09-10 19:10:35,915 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 79.15 sec -2013-09-10 19:10:36,921 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.79 sec -2013-09-10 19:10:37,926 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 106.79 sec -2013-09-10 19:10:38,931 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 106.79 sec -2013-09-10 19:10:39,936 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 106.79 sec -2013-09-10 19:10:40,941 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 106.79 sec -2013-09-10 19:10:41,949 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 117.74 sec -2013-09-10 19:10:42,955 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 117.74 sec -2013-09-10 19:10:43,961 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 117.74 sec -2013-09-10 19:10:44,967 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 117.74 sec -2013-09-10 19:10:45,973 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 117.74 sec -2013-09-10 19:10:47,436 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 117.74 sec -2013-09-10 19:10:48,441 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 117.74 sec -2013-09-10 19:10:49,447 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 117.74 sec -2013-09-10 19:10:50,453 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 117.74 sec -2013-09-10 19:10:51,459 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 117.74 sec -2013-09-10 19:10:52,464 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 117.74 sec -2013-09-10 19:10:53,470 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 117.74 sec -2013-09-10 19:10:54,477 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 117.74 sec -2013-09-10 19:10:55,483 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 132.78 sec -2013-09-10 19:10:56,489 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 149.34 sec -2013-09-10 19:10:57,495 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 149.34 sec -MapReduce Total cumulative CPU time: 2 minutes 29 seconds 340 msec -Ended Job = job_201309101627_0066 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0067 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:11:00,980 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:11:14,017 Stage-2 map = 28%, reduce = 0% -2013-09-10 19:11:20,035 Stage-2 map = 50%, reduce = 0% -2013-09-10 19:11:26,052 Stage-2 map = 78%, reduce = 0% -2013-09-10 19:11:37,085 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:38,090 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:39,095 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:40,100 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:41,105 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:42,110 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:43,115 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:44,120 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:45,125 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:46,130 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:47,135 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 44.56 sec -2013-09-10 19:11:48,141 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 44.56 sec -2013-09-10 19:11:49,146 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 51.16 sec -2013-09-10 19:11:50,151 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 51.16 sec -2013-09-10 19:11:51,156 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 51.16 sec -MapReduce Total cumulative CPU time: 51 seconds 160 msec -Ended Job = job_201309101627_0067 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 149.34 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 51.16 sec HDFS Read: 241349358 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 20 seconds 500 msec -OK -Time taken: 126.4 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32415@mturlrep13_201309101911_1857306718.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_382@mturlrep13_201309101912_1225260718.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0068 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-10 19:12:10,928 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:12:15,958 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.87 sec -2013-09-10 19:12:16,966 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.87 sec -2013-09-10 19:12:17,974 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.87 sec -2013-09-10 19:12:18,980 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.87 sec -2013-09-10 19:12:19,986 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.87 sec -2013-09-10 19:12:20,991 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.7 sec -2013-09-10 19:12:21,997 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.7 sec -2013-09-10 19:12:23,003 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 15.7 sec -MapReduce Total cumulative CPU time: 15 seconds 700 msec -Ended Job = job_201309101627_0068 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 15.7 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 15 seconds 700 msec -OK -Time taken: 21.644 seconds -hive> quit; --- мощная фильтрация по столбцу типа UInt64.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1792@mturlrep13_201309101912_2025297481.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2232@mturlrep13_201309101912_482585319.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0069 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 19:12:42,684 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:12:49,731 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 8.94 sec -2013-09-10 19:12:50,740 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.06 sec -2013-09-10 19:12:51,747 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.06 sec -2013-09-10 19:12:52,753 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.06 sec -2013-09-10 19:12:53,760 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.06 sec -2013-09-10 19:12:54,765 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.06 sec -2013-09-10 19:12:55,771 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.06 sec -2013-09-10 19:12:56,777 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.06 sec -2013-09-10 19:12:57,783 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.42 sec -2013-09-10 19:12:58,788 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.42 sec -2013-09-10 19:12:59,793 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.42 sec -2013-09-10 19:13:00,798 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.42 sec -2013-09-10 19:13:01,802 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.42 sec -2013-09-10 19:13:02,809 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.55 sec -2013-09-10 19:13:03,815 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.55 sec -2013-09-10 19:13:04,821 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.55 sec -MapReduce Total cumulative CPU time: 37 seconds 550 msec -Ended Job = job_201309101627_0069 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 37.55 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 37 seconds 550 msec -OK -8428 -Time taken: 31.899 seconds, Fetched: 1 row(s) -hive> quit; --- фильтрация по поиску подстроки в строке.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3508@mturlrep13_201309101913_1663904191.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3940@mturlrep13_201309101913_52737902.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0070 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:13:26,058 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:13:33,084 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:13:35,102 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.32 sec -2013-09-10 19:13:36,110 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.32 sec -2013-09-10 19:13:37,119 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.32 sec -2013-09-10 19:13:38,125 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.32 sec -2013-09-10 19:13:39,132 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.32 sec -2013-09-10 19:13:40,139 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.32 sec -2013-09-10 19:13:41,145 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.32 sec -2013-09-10 19:13:42,152 Stage-1 map = 80%, reduce = 8%, Cumulative CPU 19.32 sec -2013-09-10 19:13:43,158 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 19.32 sec -2013-09-10 19:13:44,164 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.92 sec -2013-09-10 19:13:45,170 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.92 sec -2013-09-10 19:13:46,175 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.92 sec -2013-09-10 19:13:47,181 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.92 sec -2013-09-10 19:13:48,189 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.12 sec -2013-09-10 19:13:49,195 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.12 sec -2013-09-10 19:13:50,202 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.12 sec -MapReduce Total cumulative CPU time: 42 seconds 120 msec -Ended Job = job_201309101627_0070 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0071 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:13:52,707 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:13:54,716 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-10 19:13:55,722 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-10 19:13:56,727 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-10 19:13:57,732 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-10 19:13:58,737 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-10 19:13:59,742 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-10 19:14:00,747 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-10 19:14:01,752 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-10 19:14:02,757 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -2013-09-10 19:14:03,763 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -2013-09-10 19:14:04,770 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -MapReduce Total cumulative CPU time: 2 seconds 350 msec -Ended Job = job_201309101627_0071 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.12 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.35 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 470 msec -OK -Time taken: 48.699 seconds, Fetched: 10 row(s) -hive> quit; --- вынимаем большие столбцы, фильтрация по строке.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6191@mturlrep13_201309101914_772958419.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6615@mturlrep13_201309101914_691833901.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0072 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:14:25,492 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:14:32,521 Stage-1 map = 22%, reduce = 0% -2013-09-10 19:14:35,534 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:14:36,547 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.89 sec -2013-09-10 19:14:37,555 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.89 sec -2013-09-10 19:14:38,563 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.89 sec -2013-09-10 19:14:39,570 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.89 sec -2013-09-10 19:14:40,577 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.89 sec -2013-09-10 19:14:41,584 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.89 sec -2013-09-10 19:14:42,592 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.89 sec -2013-09-10 19:14:43,598 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 23.89 sec -2013-09-10 19:14:44,604 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 23.89 sec -2013-09-10 19:14:45,611 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 23.89 sec -2013-09-10 19:14:46,617 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 35.11 sec -2013-09-10 19:14:47,623 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.67 sec -2013-09-10 19:14:48,629 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.67 sec -2013-09-10 19:14:49,638 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.04 sec -2013-09-10 19:14:50,644 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.04 sec -2013-09-10 19:14:51,650 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.04 sec -MapReduce Total cumulative CPU time: 52 seconds 40 msec -Ended Job = job_201309101627_0072 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0073 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:14:55,180 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:14:56,185 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 19:14:57,191 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 19:14:58,196 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 19:14:59,201 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 19:15:00,206 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 19:15:01,211 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 19:15:02,217 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 19:15:03,222 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-10 19:15:04,228 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -2013-09-10 19:15:05,235 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -2013-09-10 19:15:06,241 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -MapReduce Total cumulative CPU time: 2 seconds 190 msec -Ended Job = job_201309101627_0073 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 52.04 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.19 sec HDFS Read: 12988 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 54 seconds 230 msec -OK -Time taken: 51.01 seconds, Fetched: 10 row(s) -hive> quit; --- чуть больше столбцы.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8983@mturlrep13_201309101915_314385462.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9580@mturlrep13_201309101915_1458362516.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0074 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 19:15:27,409 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:15:37,449 Stage-1 map = 7%, reduce = 0% -2013-09-10 19:15:40,463 Stage-1 map = 14%, reduce = 0% -2013-09-10 19:15:43,482 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:44,488 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:45,495 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:46,501 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:47,507 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:48,512 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:49,517 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:50,522 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:51,527 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:52,532 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:53,537 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:54,543 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:55,548 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:56,553 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:57,558 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 38.02 sec -2013-09-10 19:15:58,567 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 61.53 sec -2013-09-10 19:15:59,573 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 88.84 sec -2013-09-10 19:16:00,579 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 88.84 sec -2013-09-10 19:16:01,584 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 88.84 sec -2013-09-10 19:16:02,590 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 88.84 sec -2013-09-10 19:16:03,595 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 88.84 sec -2013-09-10 19:16:04,600 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 88.84 sec -2013-09-10 19:16:05,606 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:06,611 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:07,616 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:08,621 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:09,626 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:10,631 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:11,641 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:12,707 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:13,712 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:14,717 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:15,723 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:16,728 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:17,732 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:18,737 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:19,741 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:20,746 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:21,750 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:22,755 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:23,759 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:24,764 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:25,782 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 88.84 sec -2013-09-10 19:16:26,787 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 131.41 sec -2013-09-10 19:16:27,792 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 131.41 sec -2013-09-10 19:16:28,796 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 170.49 sec -2013-09-10 19:16:29,801 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 170.49 sec -2013-09-10 19:16:30,805 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 170.49 sec -2013-09-10 19:16:31,810 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 170.49 sec -2013-09-10 19:16:32,820 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 173.54 sec -2013-09-10 19:16:33,825 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 173.54 sec -MapReduce Total cumulative CPU time: 2 minutes 53 seconds 540 msec -Ended Job = job_201309101627_0074 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 173.54 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 53 seconds 540 msec -OK -Time taken: 76.991 seconds, Fetched: 10 row(s) -hive> quit; --- плохой запрос - вынимаем все столбцы.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11265@mturlrep13_201309101916_250616078.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11680@mturlrep13_201309101916_986198421.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -FAILED: SemanticException [Error 10004]: Line 1:68 Invalid table alias or column reference 'EventTime': (possible column names are: searchphrase) -hive> quit; --- большая сортировка.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11926@mturlrep13_201309101916_887631966.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12346@mturlrep13_201309101916_544482405.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0075 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 19:17:08,453 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:17:15,483 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:17:16,496 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.34 sec -2013-09-10 19:17:17,503 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.34 sec -2013-09-10 19:17:18,511 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.34 sec -2013-09-10 19:17:19,517 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.34 sec -2013-09-10 19:17:20,523 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.34 sec -2013-09-10 19:17:21,529 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.34 sec -2013-09-10 19:17:22,536 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.34 sec -2013-09-10 19:17:23,542 Stage-1 map = 97%, reduce = 8%, Cumulative CPU 27.55 sec -2013-09-10 19:17:24,548 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 37.45 sec -2013-09-10 19:17:25,553 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 37.45 sec -2013-09-10 19:17:26,558 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.45 sec -2013-09-10 19:17:27,563 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.45 sec -2013-09-10 19:17:28,568 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.45 sec -2013-09-10 19:17:29,573 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.45 sec -2013-09-10 19:17:30,578 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.45 sec -2013-09-10 19:17:31,582 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.45 sec -2013-09-10 19:17:32,589 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.38 sec -2013-09-10 19:17:33,596 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.38 sec -2013-09-10 19:17:34,601 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.38 sec -MapReduce Total cumulative CPU time: 44 seconds 380 msec -Ended Job = job_201309101627_0075 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 44.38 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 380 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 35.966 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка по строкам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13633@mturlrep13_201309101917_1660065208.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14049@mturlrep13_201309101917_1265821928.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -FAILED: SemanticException [Error 10004]: Line 1:68 Invalid table alias or column reference 'EventTime': (possible column names are: searchphrase) -hive> quit; --- большая сортировка по кортежу.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14295@mturlrep13_201309101917_1504626918.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14730@mturlrep13_201309101918_1497798883.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0076 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:18:11,561 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:18:18,592 Stage-1 map = 14%, reduce = 0% -2013-09-10 19:18:21,605 Stage-1 map = 22%, reduce = 0% -2013-09-10 19:18:24,620 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:18:27,635 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:18:29,651 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.35 sec -2013-09-10 19:18:30,659 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.35 sec -2013-09-10 19:18:31,666 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.35 sec -2013-09-10 19:18:32,673 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.35 sec -2013-09-10 19:18:33,685 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.35 sec -2013-09-10 19:18:34,690 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.35 sec -2013-09-10 19:18:35,696 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.35 sec -2013-09-10 19:18:36,702 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 44.35 sec -2013-09-10 19:18:37,708 Stage-1 map = 65%, reduce = 13%, Cumulative CPU 44.35 sec -2013-09-10 19:18:38,714 Stage-1 map = 65%, reduce = 13%, Cumulative CPU 44.35 sec -2013-09-10 19:18:39,719 Stage-1 map = 65%, reduce = 13%, Cumulative CPU 44.35 sec -2013-09-10 19:18:40,725 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 44.35 sec -2013-09-10 19:18:41,731 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 44.35 sec -2013-09-10 19:18:42,738 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 74.28 sec -2013-09-10 19:18:43,744 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 74.28 sec -2013-09-10 19:18:44,750 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 74.28 sec -2013-09-10 19:18:45,756 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 74.28 sec -2013-09-10 19:18:46,761 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 81.57 sec -2013-09-10 19:18:47,767 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 81.57 sec -2013-09-10 19:18:48,773 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 90.73 sec -2013-09-10 19:18:49,778 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 90.73 sec -2013-09-10 19:18:50,783 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 90.73 sec -2013-09-10 19:18:51,789 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 90.73 sec -2013-09-10 19:18:52,794 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 90.73 sec -2013-09-10 19:18:53,800 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 90.73 sec -2013-09-10 19:18:54,806 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 90.73 sec -2013-09-10 19:18:55,811 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 90.73 sec -2013-09-10 19:18:56,817 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 90.73 sec -2013-09-10 19:18:57,822 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 90.73 sec -2013-09-10 19:18:58,828 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 90.73 sec -2013-09-10 19:18:59,836 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 99.84 sec -2013-09-10 19:19:00,841 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 99.84 sec -2013-09-10 19:19:01,847 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 99.84 sec -2013-09-10 19:19:02,852 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 99.84 sec -2013-09-10 19:19:03,858 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 99.84 sec -2013-09-10 19:19:04,880 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 113.54 sec -2013-09-10 19:19:05,886 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 113.54 sec -2013-09-10 19:19:06,891 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 113.54 sec -MapReduce Total cumulative CPU time: 1 minutes 53 seconds 540 msec -Ended Job = job_201309101627_0076 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0077 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:19:09,375 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:19:11,384 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.89 sec -2013-09-10 19:19:12,388 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.89 sec -2013-09-10 19:19:13,393 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.89 sec -2013-09-10 19:19:14,398 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.89 sec -2013-09-10 19:19:15,403 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.89 sec -2013-09-10 19:19:16,407 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.89 sec -2013-09-10 19:19:17,412 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.89 sec -2013-09-10 19:19:18,417 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.89 sec -2013-09-10 19:19:19,422 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.31 sec -2013-09-10 19:19:20,428 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.31 sec -2013-09-10 19:19:21,433 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.31 sec -MapReduce Total cumulative CPU time: 2 seconds 310 msec -Ended Job = job_201309101627_0077 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 113.54 sec HDFS Read: 117363067 HDFS Write: 794 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.31 sec HDFS Read: 1563 HDFS Write: 571 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 55 seconds 850 msec -OK -Time taken: 79.996 seconds, Fetched: 19 row(s) -hive> quit; --- считаем средние длины URL для крупных счётчиков.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16867@mturlrep13_201309101919_377804928.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17304@mturlrep13_201309101919_1014637585.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -NoViableAltException(26@[()* loopback of 364:5: ( ( KW_NOT precedenceEqualNegatableOperator notExpr= precedenceBitwiseOrExpression ) -> ^( KW_NOT ^( precedenceEqualNegatableOperator $precedenceEqualExpression $notExpr) ) | ( precedenceEqualOperator equalExpr= precedenceBitwiseOrExpression ) -> ^( precedenceEqualOperator $precedenceEqualExpression $equalExpr) | ( KW_NOT KW_IN expressions ) -> ^( KW_NOT ^( TOK_FUNCTION KW_IN $precedenceEqualExpression expressions ) ) | ( KW_IN expressions ) -> ^( TOK_FUNCTION KW_IN $precedenceEqualExpression expressions ) | ( KW_NOT KW_BETWEEN (min= precedenceBitwiseOrExpression ) KW_AND (max= precedenceBitwiseOrExpression ) ) -> ^( TOK_FUNCTION Identifier["between"] KW_TRUE $left $min $max) | ( KW_BETWEEN (min= precedenceBitwiseOrExpression ) KW_AND (max= precedenceBitwiseOrExpression ) ) -> ^( TOK_FUNCTION Identifier["between"] KW_FALSE $left $min $max) )*]) -FAILED: ParseException line 1:53 cannot recognize input near 'IN' 'Referer' ')' in expression specification - -hive> quit; --- то же самое, но с разбивкой по доменам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17527@mturlrep13_201309101919_1522610318.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17943@mturlrep13_201309101919_574580111.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0078 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-10 19:19:51,666 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:20:04,716 Stage-1 map = 7%, reduce = 0% -2013-09-10 19:20:10,740 Stage-1 map = 14%, reduce = 0% -2013-09-10 19:20:16,762 Stage-1 map = 22%, reduce = 0% -2013-09-10 19:20:25,794 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:20:31,815 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:20:37,834 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:20:44,864 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.2 sec -2013-09-10 19:20:45,870 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.2 sec -2013-09-10 19:20:46,875 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.2 sec -2013-09-10 19:20:47,879 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.2 sec -2013-09-10 19:20:48,884 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.2 sec -2013-09-10 19:20:49,889 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.2 sec -2013-09-10 19:20:50,894 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 113.2 sec -2013-09-10 19:20:51,898 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:20:52,903 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:20:53,908 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:20:54,912 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:20:55,917 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:20:56,922 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:20:57,970 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:20:58,975 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:20:59,980 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:00,984 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:01,988 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:02,993 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:03,997 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:05,002 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:06,006 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:07,011 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:08,021 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:09,025 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:10,030 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:11,035 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:12,039 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:13,044 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:14,048 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:15,052 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:16,057 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:17,061 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:18,078 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:19,083 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:20,088 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:21,093 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:22,097 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:23,102 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:24,106 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:25,111 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:26,116 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:27,120 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:28,125 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:29,130 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:30,134 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:31,139 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:32,143 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 113.2 sec -2013-09-10 19:21:33,149 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 164.14 sec -2013-09-10 19:21:34,153 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 164.14 sec -2013-09-10 19:21:35,157 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 164.14 sec -2013-09-10 19:21:36,166 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 164.14 sec -2013-09-10 19:21:37,170 Stage-1 map = 97%, reduce = 25%, Cumulative CPU 164.14 sec -2013-09-10 19:21:38,174 Stage-1 map = 97%, reduce = 25%, Cumulative CPU 164.14 sec -2013-09-10 19:21:39,179 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 222.36 sec -2013-09-10 19:21:40,183 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 222.36 sec -2013-09-10 19:21:41,188 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 222.36 sec -2013-09-10 19:21:42,193 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 223.78 sec -2013-09-10 19:21:43,200 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 226.08 sec -2013-09-10 19:21:44,205 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 226.08 sec -2013-09-10 19:21:45,210 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 226.08 sec -MapReduce Total cumulative CPU time: 3 minutes 46 seconds 80 msec -Ended Job = job_201309101627_0078 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 226.08 sec HDFS Read: 7797536 HDFS Write: 1080 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 46 seconds 80 msec -OK -Time taken: 124.725 seconds, Fetched: 1 row(s) -hive> quit; --- много тупых агрегатных функций.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20232@mturlrep13_201309101921_1369480322.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20659@mturlrep13_201309101921_854127867.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0079 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:22:05,246 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:22:12,275 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:22:15,294 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.49 sec -2013-09-10 19:22:16,301 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.49 sec -2013-09-10 19:22:17,308 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.49 sec -2013-09-10 19:22:18,314 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.49 sec -2013-09-10 19:22:19,321 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.49 sec -2013-09-10 19:22:20,328 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.49 sec -2013-09-10 19:22:21,334 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.49 sec -2013-09-10 19:22:22,339 Stage-1 map = 80%, reduce = 8%, Cumulative CPU 24.49 sec -2013-09-10 19:22:23,344 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 24.49 sec -2013-09-10 19:22:24,350 Stage-1 map = 89%, reduce = 17%, Cumulative CPU 35.91 sec -2013-09-10 19:22:25,355 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.26 sec -2013-09-10 19:22:26,360 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.26 sec -2013-09-10 19:22:27,366 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.26 sec -2013-09-10 19:22:28,372 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.26 sec -2013-09-10 19:22:29,378 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.26 sec -2013-09-10 19:22:30,383 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.26 sec -2013-09-10 19:22:31,388 Stage-1 map = 100%, reduce = 54%, Cumulative CPU 48.26 sec -2013-09-10 19:22:32,396 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.73 sec -2013-09-10 19:22:33,401 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.73 sec -2013-09-10 19:22:34,408 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.73 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 730 msec -Ended Job = job_201309101627_0079 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0080 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:22:36,988 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:22:45,015 Stage-2 map = 52%, reduce = 0% -2013-09-10 19:22:46,020 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.51 sec -2013-09-10 19:22:47,024 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.51 sec -2013-09-10 19:22:48,029 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.51 sec -2013-09-10 19:22:49,034 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.51 sec -2013-09-10 19:22:50,039 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.51 sec -2013-09-10 19:22:51,043 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.51 sec -2013-09-10 19:22:52,048 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.51 sec -2013-09-10 19:22:53,053 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.51 sec -2013-09-10 19:22:54,058 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 11.51 sec -2013-09-10 19:22:55,063 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.28 sec -2013-09-10 19:22:56,069 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.28 sec -2013-09-10 19:22:57,074 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.28 sec -MapReduce Total cumulative CPU time: 14 seconds 280 msec -Ended Job = job_201309101627_0080 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.73 sec HDFS Read: 69312553 HDFS Write: 31841963 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 14.28 sec HDFS Read: 31842730 HDFS Write: 372 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 10 msec -OK -Time taken: 61.939 seconds, Fetched: 10 row(s) -hive> quit; --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22886@mturlrep13_201309101923_1655441357.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23308@mturlrep13_201309101923_1184621924.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0081 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:23:22,523 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:23:29,551 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:23:32,570 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.6 sec -2013-09-10 19:23:33,577 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.6 sec -2013-09-10 19:23:34,585 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.6 sec -2013-09-10 19:23:35,590 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.6 sec -2013-09-10 19:23:36,597 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.6 sec -2013-09-10 19:23:37,604 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.6 sec -2013-09-10 19:23:38,609 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.6 sec -2013-09-10 19:23:39,614 Stage-1 map = 64%, reduce = 8%, Cumulative CPU 23.6 sec -2013-09-10 19:23:40,619 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 23.6 sec -2013-09-10 19:23:41,624 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 23.6 sec -2013-09-10 19:23:42,630 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.29 sec -2013-09-10 19:23:43,636 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.29 sec -2013-09-10 19:23:44,642 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.29 sec -2013-09-10 19:23:45,648 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.29 sec -2013-09-10 19:23:46,654 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.29 sec -2013-09-10 19:23:47,660 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.29 sec -2013-09-10 19:23:48,666 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 49.29 sec -2013-09-10 19:23:49,671 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 49.29 sec -2013-09-10 19:23:50,679 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 57.04 sec -2013-09-10 19:23:51,685 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 65.11 sec -2013-09-10 19:23:52,692 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 65.11 sec -MapReduce Total cumulative CPU time: 1 minutes 5 seconds 110 msec -Ended Job = job_201309101627_0081 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0082 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:23:56,222 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:24:06,254 Stage-2 map = 50%, reduce = 0% -2013-09-10 19:24:09,264 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.25 sec -2013-09-10 19:24:10,269 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.25 sec -2013-09-10 19:24:11,274 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.25 sec -2013-09-10 19:24:12,279 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.25 sec -2013-09-10 19:24:13,284 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.25 sec -2013-09-10 19:24:14,289 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.25 sec -2013-09-10 19:24:15,294 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.25 sec -2013-09-10 19:24:16,300 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.25 sec -2013-09-10 19:24:17,305 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.25 sec -2013-09-10 19:24:18,310 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.0 sec -2013-09-10 19:24:19,316 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.0 sec -2013-09-10 19:24:20,321 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.0 sec -MapReduce Total cumulative CPU time: 22 seconds 0 msec -Ended Job = job_201309101627_0082 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 65.11 sec HDFS Read: 112931901 HDFS Write: 72725701 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 22.0 sec HDFS Read: 72726470 HDFS Write: 417 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 27 seconds 110 msec -OK -Time taken: 69.096 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25616@mturlrep13_201309101924_1244442553.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26032@mturlrep13_201309101924_522232031.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0083 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:24:41,696 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:24:48,727 Stage-1 map = 7%, reduce = 0% -2013-09-10 19:24:51,739 Stage-1 map = 22%, reduce = 0% -2013-09-10 19:24:54,752 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:24:57,766 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:25:00,780 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:25:01,790 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 51.85 sec -2013-09-10 19:25:02,797 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 51.85 sec -2013-09-10 19:25:03,803 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 51.85 sec -2013-09-10 19:25:04,808 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 51.85 sec -2013-09-10 19:25:05,813 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 51.85 sec -2013-09-10 19:25:06,819 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 51.85 sec -2013-09-10 19:25:07,825 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 51.85 sec -2013-09-10 19:25:08,831 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 51.85 sec -2013-09-10 19:25:09,911 Stage-1 map = 57%, reduce = 13%, Cumulative CPU 51.85 sec -2013-09-10 19:25:10,916 Stage-1 map = 57%, reduce = 13%, Cumulative CPU 51.85 sec -2013-09-10 19:25:11,922 Stage-1 map = 57%, reduce = 13%, Cumulative CPU 51.85 sec -2013-09-10 19:25:12,928 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 51.85 sec -2013-09-10 19:25:13,933 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 51.85 sec -2013-09-10 19:25:14,939 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 51.85 sec -2013-09-10 19:25:15,945 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 51.85 sec -2013-09-10 19:25:16,950 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 51.85 sec -2013-09-10 19:25:17,956 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 51.85 sec -2013-09-10 19:25:18,962 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 51.85 sec -2013-09-10 19:25:20,009 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 51.85 sec -2013-09-10 19:25:21,015 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 74.74 sec -2013-09-10 19:25:22,020 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 74.74 sec -2013-09-10 19:25:23,025 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 74.74 sec -2013-09-10 19:25:24,030 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 101.13 sec -2013-09-10 19:25:25,035 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 101.13 sec -2013-09-10 19:25:26,041 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 101.13 sec -2013-09-10 19:25:27,046 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 101.13 sec -2013-09-10 19:25:28,052 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 101.13 sec -2013-09-10 19:25:29,057 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 101.13 sec -2013-09-10 19:25:30,062 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 101.13 sec -2013-09-10 19:25:31,068 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 101.13 sec -2013-09-10 19:25:32,073 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 101.13 sec -2013-09-10 19:25:34,159 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 101.13 sec -2013-09-10 19:25:35,164 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 101.13 sec -2013-09-10 19:25:36,170 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 101.13 sec -2013-09-10 19:25:37,176 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 101.13 sec -2013-09-10 19:25:38,182 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 101.13 sec -2013-09-10 19:25:39,187 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 101.13 sec -2013-09-10 19:25:40,193 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 101.13 sec -2013-09-10 19:25:41,198 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 101.13 sec -2013-09-10 19:25:42,204 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 101.13 sec -2013-09-10 19:25:43,211 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 142.09 sec -2013-09-10 19:25:44,217 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 142.09 sec -2013-09-10 19:25:45,227 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 142.09 sec -2013-09-10 19:25:46,233 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 142.09 sec -2013-09-10 19:25:47,239 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 142.09 sec -2013-09-10 19:25:48,244 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 142.09 sec -2013-09-10 19:25:49,250 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 142.09 sec -2013-09-10 19:25:50,255 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 142.09 sec -2013-09-10 19:25:51,261 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 142.09 sec -2013-09-10 19:25:52,267 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 154.04 sec -2013-09-10 19:25:53,272 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 166.92 sec -2013-09-10 19:25:54,278 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 166.92 sec -2013-09-10 19:25:55,284 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 166.92 sec -MapReduce Total cumulative CPU time: 2 minutes 46 seconds 920 msec -Ended Job = job_201309101627_0083 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0084 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-10 19:25:58,773 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:26:11,814 Stage-2 map = 36%, reduce = 0% -2013-09-10 19:26:17,832 Stage-2 map = 60%, reduce = 0% -2013-09-10 19:26:20,844 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.8 sec -2013-09-10 19:26:21,848 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.8 sec -2013-09-10 19:26:22,853 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.8 sec -2013-09-10 19:26:23,856 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.8 sec -2013-09-10 19:26:24,860 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.8 sec -2013-09-10 19:26:25,864 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.8 sec -2013-09-10 19:26:26,882 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 28.8 sec -2013-09-10 19:26:27,886 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 28.8 sec -2013-09-10 19:26:28,890 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:29,893 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:30,897 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:31,901 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:32,905 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:33,910 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:34,913 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:35,917 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:36,921 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:37,924 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.8 sec -2013-09-10 19:26:38,929 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 76.5 sec -2013-09-10 19:26:39,933 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 76.5 sec -2013-09-10 19:26:40,937 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 76.5 sec -2013-09-10 19:26:41,941 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 76.5 sec -2013-09-10 19:26:42,946 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.76 sec -2013-09-10 19:26:43,951 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.76 sec -2013-09-10 19:26:44,955 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.76 sec -2013-09-10 19:26:45,959 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.76 sec -2013-09-10 19:26:46,966 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.76 sec -2013-09-10 19:26:47,971 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.76 sec -2013-09-10 19:26:48,975 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.76 sec -2013-09-10 19:26:49,979 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 77.76 sec -2013-09-10 19:26:50,991 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 77.76 sec -2013-09-10 19:26:51,995 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 77.76 sec -2013-09-10 19:26:53,000 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 86.76 sec -2013-09-10 19:26:54,005 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 86.76 sec -MapReduce Total cumulative CPU time: 1 minutes 26 seconds 760 msec -Ended Job = job_201309101627_0084 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 166.92 sec HDFS Read: 85707829 HDFS Write: 413932232 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 86.76 sec HDFS Read: 413942944 HDFS Write: 420 SUCCESS -Total MapReduce CPU Time Spent: 4 minutes 13 seconds 680 msec -OK -Time taken: 142.131 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но ещё и без фильтрации.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29353@mturlrep13_201309101927_1354960960.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29777@mturlrep13_201309101927_1772629937.txt -hive> SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0085 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:27:16,160 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:27:23,191 Stage-1 map = 7%, reduce = 0% -2013-09-10 19:27:26,204 Stage-1 map = 22%, reduce = 0% -2013-09-10 19:27:29,217 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:27:32,231 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:27:35,244 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:27:38,262 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.06 sec -2013-09-10 19:27:39,268 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.06 sec -2013-09-10 19:27:40,275 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.06 sec -2013-09-10 19:27:41,281 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.06 sec -2013-09-10 19:27:42,287 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.06 sec -2013-09-10 19:27:43,293 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.06 sec -2013-09-10 19:27:44,298 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.06 sec -2013-09-10 19:27:45,304 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 55.06 sec -2013-09-10 19:27:46,310 Stage-1 map = 61%, reduce = 4%, Cumulative CPU 55.06 sec -2013-09-10 19:27:47,316 Stage-1 map = 61%, reduce = 4%, Cumulative CPU 55.06 sec -2013-09-10 19:27:48,322 Stage-1 map = 65%, reduce = 13%, Cumulative CPU 55.06 sec -2013-09-10 19:27:49,327 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.06 sec -2013-09-10 19:27:50,333 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.06 sec -2013-09-10 19:27:51,339 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 55.06 sec -2013-09-10 19:27:52,344 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.06 sec -2013-09-10 19:27:53,350 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.06 sec -2013-09-10 19:27:54,356 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 55.06 sec -2013-09-10 19:27:55,361 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 55.06 sec -2013-09-10 19:27:56,366 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 55.06 sec -2013-09-10 19:27:57,372 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 55.06 sec -2013-09-10 19:27:58,377 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 79.16 sec -2013-09-10 19:27:59,383 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 79.16 sec -2013-09-10 19:28:00,389 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.09 sec -2013-09-10 19:28:01,394 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.09 sec -2013-09-10 19:28:02,400 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.09 sec -2013-09-10 19:28:03,405 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.09 sec -2013-09-10 19:28:04,410 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 106.09 sec -2013-09-10 19:28:05,416 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 106.09 sec -2013-09-10 19:28:06,421 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 106.09 sec -2013-09-10 19:28:07,426 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 106.09 sec -2013-09-10 19:28:09,260 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 106.09 sec -2013-09-10 19:28:10,265 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 106.09 sec -2013-09-10 19:28:11,271 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 106.09 sec -2013-09-10 19:28:12,276 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 106.09 sec -2013-09-10 19:28:13,282 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 106.09 sec -2013-09-10 19:28:14,287 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 106.09 sec -2013-09-10 19:28:15,293 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 106.09 sec -2013-09-10 19:28:16,298 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 106.09 sec -2013-09-10 19:28:17,304 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 106.09 sec -2013-09-10 19:28:18,312 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 133.23 sec -2013-09-10 19:28:19,318 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 133.23 sec -2013-09-10 19:28:20,324 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 157.37 sec -2013-09-10 19:28:21,330 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 157.37 sec -2013-09-10 19:28:22,335 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 157.37 sec -MapReduce Total cumulative CPU time: 2 minutes 37 seconds 370 msec -Ended Job = job_201309101627_0085 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0086 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-10 19:28:25,827 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:28:32,848 Stage-2 map = 25%, reduce = 0% -2013-09-10 19:28:34,856 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 13.41 sec -2013-09-10 19:28:35,861 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.41 sec -2013-09-10 19:28:36,866 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.41 sec -2013-09-10 19:28:37,871 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.41 sec -2013-09-10 19:28:38,875 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.41 sec -2013-09-10 19:28:39,880 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.41 sec -2013-09-10 19:28:40,885 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.41 sec -2013-09-10 19:28:41,890 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 13.41 sec -2013-09-10 19:28:42,896 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 36.49 sec -2013-09-10 19:28:43,900 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.1 sec -2013-09-10 19:28:44,905 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.1 sec -2013-09-10 19:28:45,909 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.1 sec -2013-09-10 19:28:46,913 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.1 sec -2013-09-10 19:28:47,917 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.1 sec -2013-09-10 19:28:48,921 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.1 sec -2013-09-10 19:28:49,925 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.1 sec -2013-09-10 19:28:50,930 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.1 sec -2013-09-10 19:28:51,934 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 38.1 sec -2013-09-10 19:28:52,939 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 44.49 sec -2013-09-10 19:28:53,944 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 44.49 sec -2013-09-10 19:28:54,961 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 44.49 sec -MapReduce Total cumulative CPU time: 44 seconds 490 msec -Ended Job = job_201309101627_0086 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 157.37 sec HDFS Read: 109451651 HDFS Write: 399298510 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 44.49 sec HDFS Read: 399308173 HDFS Write: 445 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 21 seconds 860 msec -OK -Time taken: 108.452 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по URL.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32048@mturlrep13_201309101929_256321783.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32462@mturlrep13_201309101929_599784390.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0087 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:29:17,670 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:29:24,699 Stage-1 map = 7%, reduce = 0% -2013-09-10 19:29:27,711 Stage-1 map = 22%, reduce = 0% -2013-09-10 19:29:30,724 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:29:33,738 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:29:36,750 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:29:40,770 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 60.13 sec -2013-09-10 19:29:41,777 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 60.13 sec -2013-09-10 19:29:42,784 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 60.13 sec -2013-09-10 19:29:43,791 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 60.13 sec -2013-09-10 19:29:44,797 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 60.13 sec -2013-09-10 19:29:45,802 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 60.13 sec -2013-09-10 19:29:46,808 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 60.13 sec -2013-09-10 19:29:47,814 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 60.13 sec -2013-09-10 19:29:48,820 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 60.13 sec -2013-09-10 19:29:49,825 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 60.13 sec -2013-09-10 19:29:50,831 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 60.13 sec -2013-09-10 19:29:51,837 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 60.13 sec -2013-09-10 19:29:52,843 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 60.13 sec -2013-09-10 19:29:53,849 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 60.13 sec -2013-09-10 19:29:54,854 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 60.13 sec -2013-09-10 19:29:55,860 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 60.13 sec -2013-09-10 19:29:56,866 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 60.13 sec -2013-09-10 19:29:57,871 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 60.13 sec -2013-09-10 19:29:58,877 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 60.13 sec -2013-09-10 19:29:59,882 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 60.13 sec -2013-09-10 19:30:00,888 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 84.82 sec -2013-09-10 19:30:01,893 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 84.82 sec -2013-09-10 19:30:02,898 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 84.82 sec -2013-09-10 19:30:03,904 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 113.03 sec -2013-09-10 19:30:04,909 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 113.03 sec -2013-09-10 19:30:05,914 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 113.03 sec -2013-09-10 19:30:06,919 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 113.03 sec -2013-09-10 19:30:07,924 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 113.03 sec -2013-09-10 19:30:08,930 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 113.03 sec -2013-09-10 19:30:11,147 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 113.03 sec -2013-09-10 19:30:12,152 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 113.03 sec -2013-09-10 19:30:13,158 Stage-1 map = 100%, reduce = 53%, Cumulative CPU 113.03 sec -2013-09-10 19:30:14,163 Stage-1 map = 100%, reduce = 53%, Cumulative CPU 113.03 sec -2013-09-10 19:30:15,169 Stage-1 map = 100%, reduce = 53%, Cumulative CPU 113.03 sec -2013-09-10 19:30:16,175 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 113.03 sec -2013-09-10 19:30:17,180 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 113.03 sec -2013-09-10 19:30:18,185 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 113.03 sec -2013-09-10 19:30:19,191 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 113.03 sec -2013-09-10 19:30:20,196 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 113.03 sec -2013-09-10 19:30:21,202 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 113.03 sec -2013-09-10 19:30:22,208 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 113.03 sec -2013-09-10 19:30:23,215 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 141.84 sec -2013-09-10 19:30:24,221 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 141.84 sec -2013-09-10 19:30:25,227 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 141.84 sec -2013-09-10 19:30:26,232 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 141.84 sec -2013-09-10 19:30:27,238 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.57 sec -2013-09-10 19:30:28,256 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.57 sec -MapReduce Total cumulative CPU time: 2 minutes 49 seconds 570 msec -Ended Job = job_201309101627_0087 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0088 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-10 19:30:30,840 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:30:38,866 Stage-2 map = 25%, reduce = 0% -2013-09-10 19:30:41,877 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 14.25 sec -2013-09-10 19:30:42,883 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 28.71 sec -2013-09-10 19:30:43,888 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 28.71 sec -2013-09-10 19:30:44,893 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 28.71 sec -2013-09-10 19:30:45,898 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 28.71 sec -2013-09-10 19:30:46,903 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 28.71 sec -2013-09-10 19:30:47,908 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 28.71 sec -2013-09-10 19:30:48,914 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.71 sec -2013-09-10 19:30:49,919 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.71 sec -2013-09-10 19:30:50,923 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.99 sec -2013-09-10 19:30:51,928 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.99 sec -2013-09-10 19:30:52,933 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.99 sec -2013-09-10 19:30:53,937 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.99 sec -2013-09-10 19:30:54,941 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.99 sec -2013-09-10 19:30:55,945 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.99 sec -2013-09-10 19:30:56,949 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.99 sec -2013-09-10 19:30:57,954 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 38.99 sec -2013-09-10 19:30:58,959 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 38.99 sec -2013-09-10 19:30:59,963 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.82 sec -2013-09-10 19:31:00,968 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.82 sec -MapReduce Total cumulative CPU time: 46 seconds 820 msec -Ended Job = job_201309101627_0088 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 169.57 sec HDFS Read: 109451651 HDFS Write: 402873759 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 46.82 sec HDFS Read: 402889658 HDFS Write: 465 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 36 seconds 390 msec -OK -Time taken: 112.977 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по URL и числу.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3367@mturlrep13_201309101931_394587693.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3777@mturlrep13_201309101931_1148397867.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0089 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:31:21,578 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:31:28,603 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:31:31,614 Stage-1 map = 43%, reduce = 0% -2013-09-10 19:31:33,628 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.78 sec -2013-09-10 19:31:34,635 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.78 sec -2013-09-10 19:31:35,643 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.78 sec -2013-09-10 19:31:36,650 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.78 sec -2013-09-10 19:31:37,657 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.78 sec -2013-09-10 19:31:38,663 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.78 sec -2013-09-10 19:31:39,669 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.78 sec -2013-09-10 19:31:40,675 Stage-1 map = 80%, reduce = 8%, Cumulative CPU 30.78 sec -2013-09-10 19:31:41,681 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 30.78 sec -2013-09-10 19:31:42,688 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 30.78 sec -2013-09-10 19:31:43,694 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 48.88 sec -2013-09-10 19:31:44,700 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 55.21 sec -2013-09-10 19:31:45,707 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 62.78 sec -2013-09-10 19:31:46,712 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 62.78 sec -2013-09-10 19:31:47,717 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 62.78 sec -2013-09-10 19:31:48,723 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 62.78 sec -2013-09-10 19:31:49,729 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 62.78 sec -2013-09-10 19:31:50,734 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 62.78 sec -2013-09-10 19:31:51,742 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 64.41 sec -2013-09-10 19:31:52,748 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 64.41 sec -2013-09-10 19:31:53,753 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 64.41 sec -2013-09-10 19:31:54,759 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 64.41 sec -2013-09-10 19:31:55,765 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 64.41 sec -2013-09-10 19:31:56,771 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 64.41 sec -2013-09-10 19:31:57,777 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 64.41 sec -2013-09-10 19:31:58,784 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 74.38 sec -2013-09-10 19:31:59,790 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 74.38 sec -MapReduce Total cumulative CPU time: 1 minutes 14 seconds 380 msec -Ended Job = job_201309101627_0089 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0090 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:32:02,272 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:32:14,305 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.3 sec -2013-09-10 19:32:15,310 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.3 sec -2013-09-10 19:32:16,315 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.3 sec -2013-09-10 19:32:17,319 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.3 sec -2013-09-10 19:32:18,324 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.3 sec -2013-09-10 19:32:19,328 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.3 sec -2013-09-10 19:32:20,333 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.3 sec -2013-09-10 19:32:21,338 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.3 sec -2013-09-10 19:32:22,344 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 16.3 sec -2013-09-10 19:32:23,351 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.67 sec -2013-09-10 19:32:24,356 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.67 sec -2013-09-10 19:32:25,362 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.67 sec -MapReduce Total cumulative CPU time: 20 seconds 670 msec -Ended Job = job_201309101627_0090 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 74.38 sec HDFS Read: 31344843 HDFS Write: 51717050 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 20.67 sec HDFS Read: 51717819 HDFS Write: 490 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 35 seconds 50 msec -OK -Time taken: 73.956 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6068@mturlrep13_201309101932_879967620.txt -hive> ; -hive> quit; - -times: 1 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6494@mturlrep13_201309101932_510743290.txt -hive> ; -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6720@mturlrep13_201309101932_1476479155.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7143@mturlrep13_201309101932_831179276.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0091 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:32:55,725 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:33:02,754 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:33:04,773 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.76 sec -2013-09-10 19:33:05,781 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.76 sec -2013-09-10 19:33:06,788 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.76 sec -2013-09-10 19:33:07,795 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.76 sec -2013-09-10 19:33:08,802 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.76 sec -2013-09-10 19:33:09,809 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.76 sec -2013-09-10 19:33:10,816 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.76 sec -2013-09-10 19:33:11,822 Stage-1 map = 84%, reduce = 8%, Cumulative CPU 19.76 sec -2013-09-10 19:33:12,828 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 19.76 sec -2013-09-10 19:33:13,835 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.12 sec -2013-09-10 19:33:14,841 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.12 sec -2013-09-10 19:33:15,846 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.12 sec -2013-09-10 19:33:16,853 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.12 sec -2013-09-10 19:33:17,861 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.24 sec -2013-09-10 19:33:18,867 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.24 sec -2013-09-10 19:33:19,874 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.24 sec -MapReduce Total cumulative CPU time: 42 seconds 240 msec -Ended Job = job_201309101627_0091 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0092 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:33:22,368 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:33:24,377 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:33:25,383 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:33:26,388 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:33:27,393 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:33:28,399 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:33:29,405 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:33:30,411 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:33:31,417 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.72 sec -2013-09-10 19:33:32,423 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-10 19:33:33,429 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-10 19:33:34,436 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -MapReduce Total cumulative CPU time: 2 seconds 140 msec -Ended Job = job_201309101627_0092 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.24 sec HDFS Read: 118784021 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.14 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 380 msec -OK -Time taken: 48.75 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9263@mturlrep13_201309101933_336058899.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9686@mturlrep13_201309101933_1339458822.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0093 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:33:55,210 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:34:02,239 Stage-1 map = 32%, reduce = 0% -2013-09-10 19:34:04,259 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.6 sec -2013-09-10 19:34:05,267 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.6 sec -2013-09-10 19:34:06,275 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.6 sec -2013-09-10 19:34:07,282 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.6 sec -2013-09-10 19:34:08,288 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.6 sec -2013-09-10 19:34:09,296 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.6 sec -2013-09-10 19:34:10,303 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.6 sec -2013-09-10 19:34:11,309 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 18.6 sec -2013-09-10 19:34:12,316 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.28 sec -2013-09-10 19:34:13,322 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.28 sec -2013-09-10 19:34:14,328 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.28 sec -2013-09-10 19:34:15,334 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.28 sec -2013-09-10 19:34:16,341 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.28 sec -2013-09-10 19:34:17,349 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.65 sec -2013-09-10 19:34:18,355 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.65 sec -2013-09-10 19:34:19,361 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.65 sec -MapReduce Total cumulative CPU time: 40 seconds 650 msec -Ended Job = job_201309101627_0093 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0094 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:34:21,901 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:34:23,911 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:34:24,916 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:34:25,920 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:34:26,924 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:34:27,929 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:34:28,933 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:34:29,938 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-10 19:34:30,943 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.72 sec -2013-09-10 19:34:31,949 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -2013-09-10 19:34:32,955 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -2013-09-10 19:34:33,960 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -MapReduce Total cumulative CPU time: 2 seconds 80 msec -Ended Job = job_201309101627_0094 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.65 sec HDFS Read: 115339269 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.08 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 730 msec -OK -Time taken: 49.009 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11721@mturlrep13_201309101934_1061275067.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12142@mturlrep13_201309101934_727094050.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0095 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:34:54,406 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:35:01,434 Stage-1 map = 29%, reduce = 0% -2013-09-10 19:35:03,451 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 19:35:04,459 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 19:35:05,466 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 19:35:06,472 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 19:35:07,479 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 19:35:08,485 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 19:35:09,492 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 19:35:10,498 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.12 sec -2013-09-10 19:35:11,504 Stage-1 map = 89%, reduce = 17%, Cumulative CPU 28.23 sec -2013-09-10 19:35:12,510 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.0 sec -2013-09-10 19:35:13,527 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.0 sec -2013-09-10 19:35:14,532 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.0 sec -2013-09-10 19:35:15,537 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.0 sec -2013-09-10 19:35:16,546 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 40.08 sec -2013-09-10 19:35:17,552 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.17 sec -2013-09-10 19:35:18,558 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.17 sec -MapReduce Total cumulative CPU time: 42 seconds 170 msec -Ended Job = job_201309101627_0095 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0096 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:35:22,063 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:35:23,069 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-10 19:35:24,074 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-10 19:35:25,079 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-10 19:35:26,083 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-10 19:35:27,088 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-10 19:35:28,093 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-10 19:35:29,098 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-10 19:35:30,103 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.73 sec -2013-09-10 19:35:31,108 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -2013-09-10 19:35:32,113 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -2013-09-10 19:35:33,119 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -MapReduce Total cumulative CPU time: 2 seconds 80 msec -Ended Job = job_201309101627_0096 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.17 sec HDFS Read: 118662691 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.08 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 250 msec -OK -Time taken: 48.833 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14932@mturlrep13_201309101935_1105454818.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15362@mturlrep13_201309101935_1538330096.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; ; -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15619@mturlrep13_201309101935_1070373557.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16082@mturlrep13_201309101935_708045225.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0097 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:36:08,381 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:36:15,410 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:36:16,424 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 9.96 sec -2013-09-10 19:36:17,432 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.48 sec -2013-09-10 19:36:18,440 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.48 sec -2013-09-10 19:36:19,449 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.48 sec -2013-09-10 19:36:20,456 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.48 sec -2013-09-10 19:36:21,462 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.48 sec -2013-09-10 19:36:22,468 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.48 sec -2013-09-10 19:36:23,475 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.48 sec -2013-09-10 19:36:24,481 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 20.48 sec -2013-09-10 19:36:25,487 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.4 sec -2013-09-10 19:36:26,492 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.4 sec -2013-09-10 19:36:27,497 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.4 sec -2013-09-10 19:36:28,503 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.4 sec -2013-09-10 19:36:29,508 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.4 sec -2013-09-10 19:36:30,527 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.46 sec -2013-09-10 19:36:31,533 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.46 sec -MapReduce Total cumulative CPU time: 42 seconds 460 msec -Ended Job = job_201309101627_0097 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0098 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:36:35,142 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:36:36,148 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-10 19:36:37,152 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-10 19:36:38,157 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-10 19:36:39,162 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-10 19:36:40,166 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-10 19:36:41,171 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-10 19:36:42,176 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-10 19:36:43,181 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-10 19:36:44,186 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.03 sec -2013-09-10 19:36:45,192 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.03 sec -2013-09-10 19:36:46,196 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.03 sec -MapReduce Total cumulative CPU time: 2 seconds 30 msec -Ended Job = job_201309101627_0098 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.46 sec HDFS Read: 148406904 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.03 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 490 msec -OK -Time taken: 47.801 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18252@mturlrep13_201309101936_1758564620.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18670@mturlrep13_201309101936_1898149333.txt -hive> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0099 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-10 19:37:07,178 Stage-1 map = 0%, reduce = 0% -2013-09-10 19:37:14,205 Stage-1 map = 36%, reduce = 0% -2013-09-10 19:37:16,221 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.41 sec -2013-09-10 19:37:17,228 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.41 sec -2013-09-10 19:37:18,236 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.41 sec -2013-09-10 19:37:19,243 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.41 sec -2013-09-10 19:37:20,249 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.41 sec -2013-09-10 19:37:21,255 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.41 sec -2013-09-10 19:37:22,262 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.41 sec -2013-09-10 19:37:23,268 Stage-1 map = 80%, reduce = 8%, Cumulative CPU 18.41 sec -2013-09-10 19:37:24,273 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 18.41 sec -2013-09-10 19:37:25,279 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.99 sec -2013-09-10 19:37:26,284 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.99 sec -2013-09-10 19:37:27,290 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.99 sec -2013-09-10 19:37:28,296 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.99 sec -2013-09-10 19:37:29,304 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.19 sec -2013-09-10 19:37:30,310 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.19 sec -2013-09-10 19:37:31,316 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.19 sec -MapReduce Total cumulative CPU time: 40 seconds 190 msec -Ended Job = job_201309101627_0099 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0100 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-10 19:37:33,844 Stage-2 map = 0%, reduce = 0% -2013-09-10 19:37:35,853 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 19:37:36,859 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 19:37:37,865 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 19:37:38,870 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 19:37:39,875 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 19:37:40,880 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 19:37:41,885 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-10 19:37:42,890 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.75 sec -2013-09-10 19:37:43,896 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.05 sec -2013-09-10 19:37:44,902 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.05 sec -2013-09-10 19:37:45,908 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.05 sec -MapReduce Total cumulative CPU time: 2 seconds 50 msec -Ended Job = job_201309101627_0100 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.19 sec HDFS Read: 105631340 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.05 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 240 msec -OK -Time taken: 48.865 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20877@mturlrep13_201309101937_323156088.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS m, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21297@mturlrep13_201309101937_1619127801.txt -hive> SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS m, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; ; -NoViableAltException(26@[]) -FAILED: ParseException line 1:34 missing FROM at '(' near '(' in subquery source -line 1:35 cannot recognize input near 'EventTime' ')' 'SECOND' in subquery source - -hive> quit; -stop time: Вт. сент. 10 19:37:56 MSK 2013 diff --git a/benchmark/hive/log/log_10m/log_10m_tuned b/benchmark/hive/log/log_10m/log_10m_tuned deleted file mode 100644 index 3589288d0b5..00000000000 --- a/benchmark/hive/log/log_10m/log_10m_tuned +++ /dev/null @@ -1,7608 +0,0 @@ -Not found: /etc/init.d/service with path= -start time: Ср. сент. 18 02:11:52 MSK 2013 - -times: 1 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8923@mturlrep13_201309180211_341387203.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0199 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:12:08,040 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:12:16,074 Stage-1 map = 4%, reduce = 0% -2013-09-18 02:12:19,086 Stage-1 map = 15%, reduce = 0% -2013-09-18 02:12:22,098 Stage-1 map = 29%, reduce = 0% -2013-09-18 02:12:25,110 Stage-1 map = 44%, reduce = 0% -2013-09-18 02:12:28,121 Stage-1 map = 59%, reduce = 0% -2013-09-18 02:12:34,140 Stage-1 map = 74%, reduce = 0% -2013-09-18 02:12:35,150 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 31.42 sec -2013-09-18 02:12:36,156 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 31.42 sec -2013-09-18 02:12:37,162 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 31.42 sec -2013-09-18 02:12:38,167 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 68.28 sec -2013-09-18 02:12:39,173 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 143.22 sec -2013-09-18 02:12:40,178 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 143.22 sec -2013-09-18 02:12:41,182 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 143.22 sec -2013-09-18 02:12:42,188 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 143.22 sec -2013-09-18 02:12:43,195 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 145.37 sec -2013-09-18 02:12:44,201 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 145.37 sec -2013-09-18 02:12:45,206 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 145.37 sec -MapReduce Total cumulative CPU time: 2 minutes 25 seconds 370 msec -Ended Job = job_201309172235_0199 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 145.37 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 25 seconds 370 msec -OK -10000000 -Time taken: 47.388 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10060@mturlrep13_201309180212_360076553.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0200 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:12:55,466 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:13:02,498 Stage-1 map = 4%, reduce = 0% -2013-09-18 02:13:05,516 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:06,523 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:07,530 Stage-1 map = 18%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:08,535 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:09,542 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:10,549 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:11,555 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:12,561 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:13,567 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:14,572 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:15,577 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:16,582 Stage-1 map = 56%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:17,588 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:18,594 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:19,600 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:20,605 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:21,611 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 41.56 sec -2013-09-18 02:13:22,618 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 65.53 sec -2013-09-18 02:13:23,623 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 95.51 sec -2013-09-18 02:13:24,629 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 95.51 sec -2013-09-18 02:13:25,634 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 151.45 sec -2013-09-18 02:13:26,639 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 151.45 sec -2013-09-18 02:13:27,643 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 151.45 sec -2013-09-18 02:13:28,648 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 151.45 sec -2013-09-18 02:13:29,653 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 151.45 sec -2013-09-18 02:13:30,661 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 153.61 sec -2013-09-18 02:13:31,667 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 153.61 sec -MapReduce Total cumulative CPU time: 2 minutes 33 seconds 610 msec -Ended Job = job_201309172235_0200 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 153.61 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 33 seconds 610 msec -OK -10000000 -Time taken: 44.55 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11198@mturlrep13_201309180213_1431795111.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0201 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:13:41,815 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:13:48,846 Stage-1 map = 15%, reduce = 0% -2013-09-18 02:13:51,858 Stage-1 map = 18%, reduce = 0% -2013-09-18 02:13:54,871 Stage-1 map = 29%, reduce = 0% -2013-09-18 02:13:57,884 Stage-1 map = 44%, reduce = 0% -2013-09-18 02:14:00,897 Stage-1 map = 59%, reduce = 0% -2013-09-18 02:14:03,913 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 105.42 sec -2013-09-18 02:14:04,919 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 105.42 sec -2013-09-18 02:14:05,925 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 105.42 sec -2013-09-18 02:14:06,931 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 105.42 sec -2013-09-18 02:14:07,937 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 113.25 sec -2013-09-18 02:14:08,942 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 121.6 sec -2013-09-18 02:14:09,947 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 128.96 sec -2013-09-18 02:14:10,952 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 140.92 sec -2013-09-18 02:14:11,957 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 140.92 sec -2013-09-18 02:14:12,967 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 140.92 sec -2013-09-18 02:14:13,971 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 140.92 sec -2013-09-18 02:14:14,976 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 140.92 sec -2013-09-18 02:14:15,983 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 142.87 sec -2013-09-18 02:14:16,988 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 142.87 sec -MapReduce Total cumulative CPU time: 2 minutes 22 seconds 870 msec -Ended Job = job_201309172235_0201 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 142.87 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 22 seconds 870 msec -OK -10000000 -Time taken: 43.513 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12353@mturlrep13_201309180214_1687900933.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0202 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:14:33,532 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:14:38,563 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 5.8 sec -2013-09-18 02:14:39,570 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.27 sec -2013-09-18 02:14:40,577 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.27 sec -2013-09-18 02:14:41,582 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.27 sec -2013-09-18 02:14:42,588 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.27 sec -2013-09-18 02:14:43,593 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.27 sec -2013-09-18 02:14:44,598 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.27 sec -2013-09-18 02:14:45,603 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.27 sec -2013-09-18 02:14:46,611 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.34 sec -2013-09-18 02:14:47,617 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.34 sec -2013-09-18 02:14:48,624 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.34 sec -MapReduce Total cumulative CPU time: 27 seconds 340 msec -Ended Job = job_201309172235_0202 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 27.34 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 27 seconds 340 msec -OK -171127 -Time taken: 25.332 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13496@mturlrep13_201309180214_186944360.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0203 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:14:58,925 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:15:03,954 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.94 sec -2013-09-18 02:15:04,962 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.94 sec -2013-09-18 02:15:05,970 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.94 sec -2013-09-18 02:15:06,975 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.94 sec -2013-09-18 02:15:07,982 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.94 sec -2013-09-18 02:15:08,988 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.94 sec -2013-09-18 02:15:09,994 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.94 sec -2013-09-18 02:15:11,001 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 23.94 sec -2013-09-18 02:15:12,008 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.75 sec -2013-09-18 02:15:13,015 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.75 sec -MapReduce Total cumulative CPU time: 25 seconds 750 msec -Ended Job = job_201309172235_0203 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 25.75 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 25 seconds 750 msec -OK -171127 -Time taken: 22.592 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15074@mturlrep13_201309180215_1069318863.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0204 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:15:22,365 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:15:27,393 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 17.92 sec -2013-09-18 02:15:28,401 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.51 sec -2013-09-18 02:15:29,409 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.51 sec -2013-09-18 02:15:30,415 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.51 sec -2013-09-18 02:15:31,421 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.51 sec -2013-09-18 02:15:32,427 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.51 sec -2013-09-18 02:15:33,433 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.51 sec -2013-09-18 02:15:34,439 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.51 sec -2013-09-18 02:15:35,447 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 26.63 sec -2013-09-18 02:15:36,454 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 26.63 sec -2013-09-18 02:15:37,461 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 26.63 sec -MapReduce Total cumulative CPU time: 26 seconds 630 msec -Ended Job = job_201309172235_0204 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 26.63 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 26 seconds 630 msec -OK -171127 -Time taken: 22.629 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16492@mturlrep13_201309180215_2118658323.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0205 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:15:54,647 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:16:02,687 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.0 sec -2013-09-18 02:16:03,694 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.0 sec -2013-09-18 02:16:04,700 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.0 sec -2013-09-18 02:16:05,706 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.0 sec -2013-09-18 02:16:06,712 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.0 sec -2013-09-18 02:16:07,717 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.0 sec -2013-09-18 02:16:08,724 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.0 sec -2013-09-18 02:16:09,731 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 34.0 sec -2013-09-18 02:16:10,739 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.22 sec -2013-09-18 02:16:11,745 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.22 sec -MapReduce Total cumulative CPU time: 36 seconds 220 msec -Ended Job = job_201309172235_0205 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 36.22 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 36 seconds 220 msec -OK -Time taken: 27.558 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17739@mturlrep13_201309180216_1507251512.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0206 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:16:21,573 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:16:28,610 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.85 sec -2013-09-18 02:16:29,617 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.85 sec -2013-09-18 02:16:30,623 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.85 sec -2013-09-18 02:16:31,628 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.85 sec -2013-09-18 02:16:32,634 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.85 sec -2013-09-18 02:16:33,639 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.85 sec -2013-09-18 02:16:34,645 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.85 sec -2013-09-18 02:16:35,651 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 31.85 sec -2013-09-18 02:16:36,661 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.81 sec -2013-09-18 02:16:37,667 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.81 sec -MapReduce Total cumulative CPU time: 33 seconds 810 msec -Ended Job = job_201309172235_0206 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 33.81 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 810 msec -OK -Time taken: 23.861 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18970@mturlrep13_201309180216_474859328.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0207 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:16:48,424 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:16:54,457 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 7.2 sec -2013-09-18 02:16:55,465 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.03 sec -2013-09-18 02:16:56,471 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.03 sec -2013-09-18 02:16:57,477 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.03 sec -2013-09-18 02:16:58,482 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.03 sec -2013-09-18 02:16:59,487 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.03 sec -2013-09-18 02:17:00,493 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.03 sec -2013-09-18 02:17:01,499 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.03 sec -2013-09-18 02:17:02,505 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 32.03 sec -2013-09-18 02:17:03,513 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.98 sec -2013-09-18 02:17:04,519 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.98 sec -MapReduce Total cumulative CPU time: 33 seconds 980 msec -Ended Job = job_201309172235_0207 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 33.98 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 980 msec -OK -Time taken: 24.986 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20233@mturlrep13_201309180217_1020705203.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0208 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:17:21,071 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:17:27,108 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 6.28 sec -2013-09-18 02:17:28,115 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.34 sec -2013-09-18 02:17:29,122 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.34 sec -2013-09-18 02:17:30,127 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.34 sec -2013-09-18 02:17:31,132 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.34 sec -2013-09-18 02:17:32,137 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.34 sec -2013-09-18 02:17:33,143 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.34 sec -2013-09-18 02:17:34,149 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.34 sec -2013-09-18 02:17:35,155 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 27.34 sec -2013-09-18 02:17:36,163 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.22 sec -2013-09-18 02:17:37,169 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.22 sec -MapReduce Total cumulative CPU time: 29 seconds 220 msec -Ended Job = job_201309172235_0208 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 29.22 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 29 seconds 220 msec -OK --4662894107982093709 -Time taken: 26.148 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21379@mturlrep13_201309180217_1577746245.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0209 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:17:46,496 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:17:52,527 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.37 sec -2013-09-18 02:17:53,534 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.37 sec -2013-09-18 02:17:54,540 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.37 sec -2013-09-18 02:17:55,545 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.37 sec -2013-09-18 02:17:56,550 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.37 sec -2013-09-18 02:17:57,555 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.37 sec -2013-09-18 02:17:58,561 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.37 sec -2013-09-18 02:17:59,565 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.37 sec -2013-09-18 02:18:00,574 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.46 sec -2013-09-18 02:18:01,581 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.46 sec -2013-09-18 02:18:02,587 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.46 sec -MapReduce Total cumulative CPU time: 29 seconds 460 msec -Ended Job = job_201309172235_0209 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 29.46 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 29 seconds 460 msec -OK --4662894107982093709 -Time taken: 23.564 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22513@mturlrep13_201309180218_799027004.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0210 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:18:12,872 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:18:17,906 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-18 02:18:18,915 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-18 02:18:19,922 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-18 02:18:20,928 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-18 02:18:21,933 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-18 02:18:22,938 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-18 02:18:23,943 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-18 02:18:24,947 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.76 sec -2013-09-18 02:18:25,953 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 27.76 sec -2013-09-18 02:18:26,960 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.92 sec -2013-09-18 02:18:27,966 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.92 sec -MapReduce Total cumulative CPU time: 29 seconds 920 msec -Ended Job = job_201309172235_0210 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 29.92 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 29 seconds 920 msec -OK --4662894107982093709 -Time taken: 23.508 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23657@mturlrep13_201309180218_452234815.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0211 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:18:45,243 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:18:53,314 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:18:56,332 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.1 sec -2013-09-18 02:18:57,339 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.1 sec -2013-09-18 02:18:58,346 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.1 sec -2013-09-18 02:18:59,352 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.1 sec -2013-09-18 02:19:00,359 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.1 sec -2013-09-18 02:19:01,364 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.1 sec -2013-09-18 02:19:02,370 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.1 sec -2013-09-18 02:19:03,375 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 50.1 sec -2013-09-18 02:19:04,380 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 50.1 sec -2013-09-18 02:19:05,386 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 50.9 sec -2013-09-18 02:19:06,391 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 50.9 sec -2013-09-18 02:19:07,396 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 50.9 sec -2013-09-18 02:19:08,404 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.82 sec -2013-09-18 02:19:09,409 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.82 sec -2013-09-18 02:19:10,416 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.82 sec -MapReduce Total cumulative CPU time: 57 seconds 820 msec -Ended Job = job_201309172235_0211 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 57.82 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 57 seconds 820 msec -OK -2037258 -Time taken: 35.237 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24818@mturlrep13_201309180219_76164215.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0212 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:19:20,706 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:19:27,739 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:19:30,759 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.88 sec -2013-09-18 02:19:31,766 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.88 sec -2013-09-18 02:19:32,772 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.88 sec -2013-09-18 02:19:33,777 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.88 sec -2013-09-18 02:19:34,784 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.88 sec -2013-09-18 02:19:35,790 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.88 sec -2013-09-18 02:19:36,796 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.88 sec -2013-09-18 02:19:37,801 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 50.88 sec -2013-09-18 02:19:38,807 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 50.88 sec -2013-09-18 02:19:39,812 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 50.88 sec -2013-09-18 02:19:40,818 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 50.88 sec -2013-09-18 02:19:41,823 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 50.88 sec -2013-09-18 02:19:42,830 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 58.39 sec -2013-09-18 02:19:43,835 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 58.39 sec -MapReduce Total cumulative CPU time: 58 seconds 390 msec -Ended Job = job_201309172235_0212 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 58.39 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 58 seconds 390 msec -OK -2037258 -Time taken: 31.445 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25977@mturlrep13_201309180219_1809129811.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0213 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:19:53,965 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:20:00,997 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:20:03,011 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 25.89 sec -2013-09-18 02:20:04,018 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.47 sec -2013-09-18 02:20:05,026 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.47 sec -2013-09-18 02:20:06,031 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.47 sec -2013-09-18 02:20:07,036 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.47 sec -2013-09-18 02:20:08,042 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.47 sec -2013-09-18 02:20:09,049 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.47 sec -2013-09-18 02:20:10,055 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.47 sec -2013-09-18 02:20:11,061 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 52.47 sec -2013-09-18 02:20:12,066 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 52.47 sec -2013-09-18 02:20:13,072 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 52.47 sec -2013-09-18 02:20:14,078 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 52.47 sec -2013-09-18 02:20:15,084 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 52.47 sec -2013-09-18 02:20:16,091 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 61.2 sec -2013-09-18 02:20:17,096 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 61.2 sec -2013-09-18 02:20:18,102 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 61.2 sec -MapReduce Total cumulative CPU time: 1 minutes 1 seconds 200 msec -Ended Job = job_201309172235_0213 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 61.2 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 1 seconds 200 msec -OK -2037258 -Time taken: 32.552 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27834@mturlrep13_201309180220_1270552368.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0214 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:20:35,012 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:20:43,045 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:20:45,062 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:46,068 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:47,074 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:48,079 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:49,085 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:50,091 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:51,097 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:52,103 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:53,109 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:54,115 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:55,121 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:56,126 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.7 sec -2013-09-18 02:20:57,133 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.24 sec -2013-09-18 02:20:58,139 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.24 sec -2013-09-18 02:20:59,144 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.24 sec -MapReduce Total cumulative CPU time: 50 seconds 240 msec -Ended Job = job_201309172235_0214 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 50.24 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 50 seconds 240 msec -OK -1110413 -Time taken: 34.063 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29013@mturlrep13_201309180221_818576677.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0215 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:21:08,404 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:21:16,449 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 10.79 sec -2013-09-18 02:21:17,457 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.2 sec -2013-09-18 02:21:18,464 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.2 sec -2013-09-18 02:21:19,469 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.2 sec -2013-09-18 02:21:20,475 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.2 sec -2013-09-18 02:21:21,481 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.2 sec -2013-09-18 02:21:22,488 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.2 sec -2013-09-18 02:21:23,494 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.2 sec -2013-09-18 02:21:24,500 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.2 sec -2013-09-18 02:21:25,506 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.2 sec -2013-09-18 02:21:26,511 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.2 sec -2013-09-18 02:21:27,516 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 43.2 sec -2013-09-18 02:21:28,523 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.7 sec -2013-09-18 02:21:29,528 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.7 sec -2013-09-18 02:21:30,533 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.7 sec -MapReduce Total cumulative CPU time: 50 seconds 700 msec -Ended Job = job_201309172235_0215 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 50.7 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 50 seconds 700 msec -OK -1110413 -Time taken: 29.607 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30188@mturlrep13_201309180221_356829267.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0216 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:21:40,608 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:21:47,636 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:21:48,646 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 31.99 sec -2013-09-18 02:21:49,653 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:21:50,659 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:21:51,666 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:21:52,671 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:21:53,677 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:21:54,683 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:21:55,690 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.43 sec -2013-09-18 02:21:56,695 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.43 sec -2013-09-18 02:21:57,700 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.43 sec -2013-09-18 02:21:58,704 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 43.43 sec -2013-09-18 02:21:59,710 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 43.43 sec -2013-09-18 02:22:00,717 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 51.3 sec -2013-09-18 02:22:01,727 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 51.3 sec -MapReduce Total cumulative CPU time: 51 seconds 300 msec -Ended Job = job_201309172235_0216 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 51.3 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 51 seconds 300 msec -OK -1110413 -Time taken: 29.268 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31349@mturlrep13_201309180222_1184363660.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0217 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:22:19,289 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:22:25,321 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 6.4 sec -2013-09-18 02:22:26,329 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.67 sec -2013-09-18 02:22:27,336 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.67 sec -2013-09-18 02:22:28,342 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.67 sec -2013-09-18 02:22:29,347 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.67 sec -2013-09-18 02:22:30,352 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.67 sec -2013-09-18 02:22:31,358 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.67 sec -2013-09-18 02:22:32,364 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.67 sec -2013-09-18 02:22:33,372 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.78 sec -2013-09-18 02:22:34,379 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.78 sec -2013-09-18 02:22:35,384 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.78 sec -MapReduce Total cumulative CPU time: 28 seconds 780 msec -Ended Job = job_201309172235_0217 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 28.78 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 28 seconds 780 msec -OK -Time taken: 25.999 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32505@mturlrep13_201309180222_1320628760.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0218 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:22:44,642 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:22:50,675 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.81 sec -2013-09-18 02:22:51,682 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.81 sec -2013-09-18 02:22:52,688 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.81 sec -2013-09-18 02:22:53,694 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.81 sec -2013-09-18 02:22:54,699 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.81 sec -2013-09-18 02:22:55,704 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.81 sec -2013-09-18 02:22:56,710 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.81 sec -2013-09-18 02:22:57,717 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 26.81 sec -2013-09-18 02:22:58,725 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.69 sec -2013-09-18 02:22:59,731 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.69 sec -MapReduce Total cumulative CPU time: 28 seconds 690 msec -Ended Job = job_201309172235_0218 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 28.69 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 28 seconds 690 msec -OK -Time taken: 22.443 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1222@mturlrep13_201309180223_1487045078.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0219 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:23:09,025 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:23:15,057 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.89 sec -2013-09-18 02:23:16,064 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.89 sec -2013-09-18 02:23:17,072 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.89 sec -2013-09-18 02:23:18,077 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.89 sec -2013-09-18 02:23:19,083 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.89 sec -2013-09-18 02:23:20,088 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.89 sec -2013-09-18 02:23:21,094 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.89 sec -2013-09-18 02:23:22,100 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 25.89 sec -2013-09-18 02:23:23,108 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.99 sec -2013-09-18 02:23:24,115 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.99 sec -MapReduce Total cumulative CPU time: 27 seconds 990 msec -Ended Job = job_201309172235_0219 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 27.99 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 27 seconds 990 msec -OK -Time taken: 22.559 seconds, Fetched: 1 row(s) -hive> quit; - -times: 1 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2436@mturlrep13_201309180223_855141249.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0220 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:23:40,593 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:23:45,623 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 6.06 sec -2013-09-18 02:23:46,632 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.31 sec -2013-09-18 02:23:47,640 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.31 sec -2013-09-18 02:23:48,647 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.31 sec -2013-09-18 02:23:49,652 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.31 sec -2013-09-18 02:23:50,659 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.31 sec -2013-09-18 02:23:51,665 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.31 sec -2013-09-18 02:23:52,672 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 25.31 sec -2013-09-18 02:23:53,677 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 25.31 sec -2013-09-18 02:23:54,686 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.84 sec -2013-09-18 02:23:55,693 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.84 sec -MapReduce Total cumulative CPU time: 29 seconds 840 msec -Ended Job = job_201309172235_0220 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0221 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:23:58,461 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:24:00,483 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 02:24:01,490 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 02:24:02,496 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 02:24:03,501 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 02:24:04,517 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 02:24:05,523 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 02:24:06,528 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 02:24:07,534 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.72 sec -2013-09-18 02:24:08,540 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.3 sec -2013-09-18 02:24:09,547 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.3 sec -MapReduce Total cumulative CPU time: 2 seconds 300 msec -Ended Job = job_201309172235_0221 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 29.84 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.3 sec HDFS Read: 1153 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 32 seconds 140 msec -OK -Time taken: 38.784 seconds, Fetched: 9 row(s) -hive> quit; - -times: 2 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4138@mturlrep13_201309180224_1265964624.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0222 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:24:19,801 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:24:24,833 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.53 sec -2013-09-18 02:24:25,840 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.53 sec -2013-09-18 02:24:26,847 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.53 sec -2013-09-18 02:24:27,852 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.53 sec -2013-09-18 02:24:28,858 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.53 sec -2013-09-18 02:24:29,863 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.53 sec -2013-09-18 02:24:30,870 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.53 sec -2013-09-18 02:24:31,876 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 26.53 sec -2013-09-18 02:24:32,884 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.38 sec -2013-09-18 02:24:33,891 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.38 sec -2013-09-18 02:24:34,898 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 30.38 sec -MapReduce Total cumulative CPU time: 30 seconds 380 msec -Ended Job = job_201309172235_0222 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0223 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:24:37,418 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:24:39,427 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 02:24:40,433 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 02:24:41,438 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 02:24:42,447 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 02:24:43,452 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 02:24:44,457 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 02:24:45,462 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 02:24:46,468 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.69 sec -2013-09-18 02:24:47,474 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -2013-09-18 02:24:48,480 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -MapReduce Total cumulative CPU time: 2 seconds 260 msec -Ended Job = job_201309172235_0223 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 30.38 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.26 sec HDFS Read: 1153 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 32 seconds 640 msec -OK -Time taken: 37.082 seconds, Fetched: 9 row(s) -hive> quit; - -times: 3 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5920@mturlrep13_201309180224_277886677.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0224 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:24:57,648 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:25:02,677 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-18 02:25:03,685 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-18 02:25:04,692 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-18 02:25:05,699 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-18 02:25:06,705 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-18 02:25:07,711 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-18 02:25:08,717 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-18 02:25:09,723 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.93 sec -2013-09-18 02:25:10,731 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 26.14 sec -2013-09-18 02:25:11,738 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.35 sec -2013-09-18 02:25:12,745 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.35 sec -MapReduce Total cumulative CPU time: 28 seconds 350 msec -Ended Job = job_201309172235_0224 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0225 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:25:15,963 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:25:17,971 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 02:25:18,976 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 02:25:19,986 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 02:25:20,991 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 02:25:21,995 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 02:25:23,000 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 02:25:24,004 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 02:25:25,009 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.67 sec -2013-09-18 02:25:26,014 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -2013-09-18 02:25:27,020 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -2013-09-18 02:25:28,025 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -MapReduce Total cumulative CPU time: 2 seconds 100 msec -Ended Job = job_201309172235_0225 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 28.35 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.1 sec HDFS Read: 1153 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 30 seconds 450 msec -OK -Time taken: 37.652 seconds, Fetched: 9 row(s) -hive> quit; --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - - -times: 1 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8653@mturlrep13_201309180225_1991831138.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0226 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:25:45,679 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:25:52,712 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:25:56,736 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.02 sec -2013-09-18 02:25:57,743 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.02 sec -2013-09-18 02:25:58,751 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.02 sec -2013-09-18 02:25:59,757 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.02 sec -2013-09-18 02:26:00,764 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.02 sec -2013-09-18 02:26:01,770 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.02 sec -2013-09-18 02:26:02,776 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.02 sec -2013-09-18 02:26:03,782 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.02 sec -2013-09-18 02:26:04,788 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 56.02 sec -2013-09-18 02:26:05,793 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 57.54 sec -2013-09-18 02:26:06,802 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 62.25 sec -2013-09-18 02:26:07,808 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 62.25 sec -2013-09-18 02:26:08,813 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.6 sec -2013-09-18 02:26:09,820 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.6 sec -MapReduce Total cumulative CPU time: 1 minutes 8 seconds 600 msec -Ended Job = job_201309172235_0226 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0227 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:26:13,294 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:26:15,303 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.41 sec -2013-09-18 02:26:16,320 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.41 sec -2013-09-18 02:26:17,325 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.41 sec -2013-09-18 02:26:18,330 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.41 sec -2013-09-18 02:26:19,335 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.41 sec -2013-09-18 02:26:20,341 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.41 sec -2013-09-18 02:26:21,346 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.41 sec -2013-09-18 02:26:22,352 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.41 sec -2013-09-18 02:26:23,358 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.16 sec -2013-09-18 02:26:24,365 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.16 sec -2013-09-18 02:26:25,371 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.16 sec -MapReduce Total cumulative CPU time: 3 seconds 160 msec -Ended Job = job_201309172235_0227 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 68.6 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.16 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 11 seconds 760 msec -OK -Time taken: 49.973 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10416@mturlrep13_201309180226_2116920110.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0228 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:26:34,811 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:26:42,870 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:26:44,885 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 27.09 sec -2013-09-18 02:26:45,892 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.71 sec -2013-09-18 02:26:46,901 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.71 sec -2013-09-18 02:26:47,907 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.71 sec -2013-09-18 02:26:48,913 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.71 sec -2013-09-18 02:26:49,920 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.71 sec -2013-09-18 02:26:50,926 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.71 sec -2013-09-18 02:26:51,932 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.71 sec -2013-09-18 02:26:52,939 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 56.71 sec -2013-09-18 02:26:53,945 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 56.71 sec -2013-09-18 02:26:54,951 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 56.71 sec -2013-09-18 02:26:55,959 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 62.1 sec -2013-09-18 02:26:56,965 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 62.1 sec -2013-09-18 02:26:57,971 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.76 sec -2013-09-18 02:26:58,977 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.76 sec -MapReduce Total cumulative CPU time: 1 minutes 8 seconds 760 msec -Ended Job = job_201309172235_0228 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0229 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:27:02,462 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:27:04,472 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.37 sec -2013-09-18 02:27:05,478 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.37 sec -2013-09-18 02:27:06,483 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.37 sec -2013-09-18 02:27:07,488 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.37 sec -2013-09-18 02:27:08,493 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.37 sec -2013-09-18 02:27:09,498 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.37 sec -2013-09-18 02:27:10,504 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.37 sec -2013-09-18 02:27:11,511 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.37 sec -2013-09-18 02:27:12,517 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.12 sec -2013-09-18 02:27:13,523 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.12 sec -2013-09-18 02:27:14,530 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.12 sec -MapReduce Total cumulative CPU time: 3 seconds 120 msec -Ended Job = job_201309172235_0229 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 68.76 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.12 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 11 seconds 880 msec -OK -Time taken: 47.282 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12148@mturlrep13_201309180227_553335692.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0230 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:27:23,737 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:27:31,772 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:27:34,792 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.34 sec -2013-09-18 02:27:35,800 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.34 sec -2013-09-18 02:27:36,806 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.34 sec -2013-09-18 02:27:37,812 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.34 sec -2013-09-18 02:27:38,819 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.34 sec -2013-09-18 02:27:39,825 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.34 sec -2013-09-18 02:27:40,831 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 52.34 sec -2013-09-18 02:27:41,837 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 52.34 sec -2013-09-18 02:27:42,842 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 52.34 sec -2013-09-18 02:27:43,847 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 52.34 sec -2013-09-18 02:27:44,853 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 57.59 sec -2013-09-18 02:27:45,858 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 64.28 sec -2013-09-18 02:27:46,864 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 64.28 sec -2013-09-18 02:27:47,870 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 64.28 sec -MapReduce Total cumulative CPU time: 1 minutes 4 seconds 280 msec -Ended Job = job_201309172235_0230 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0231 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:27:50,366 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:27:52,375 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.35 sec -2013-09-18 02:27:53,380 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.35 sec -2013-09-18 02:27:54,385 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.35 sec -2013-09-18 02:27:55,389 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.35 sec -2013-09-18 02:27:56,393 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.35 sec -2013-09-18 02:27:57,398 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.35 sec -2013-09-18 02:27:58,403 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.35 sec -2013-09-18 02:27:59,408 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.35 sec -2013-09-18 02:28:00,413 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.35 sec -2013-09-18 02:28:01,419 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.99 sec -2013-09-18 02:28:02,425 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.99 sec -MapReduce Total cumulative CPU time: 2 seconds 990 msec -Ended Job = job_201309172235_0231 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 64.28 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.99 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 7 seconds 270 msec -OK -Time taken: 46.027 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей.; - - -times: 1 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13875@mturlrep13_201309180228_1421953116.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0232 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:28:19,616 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:28:26,647 Stage-1 map = 43%, reduce = 0% -2013-09-18 02:28:27,653 Stage-1 map = 59%, reduce = 0% -2013-09-18 02:28:29,662 Stage-1 map = 73%, reduce = 0% -2013-09-18 02:28:30,668 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:28:33,688 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 65.54 sec -2013-09-18 02:28:34,696 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 65.54 sec -2013-09-18 02:28:35,703 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 65.54 sec -2013-09-18 02:28:36,710 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 65.54 sec -2013-09-18 02:28:37,716 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 65.54 sec -2013-09-18 02:28:38,721 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 65.54 sec -2013-09-18 02:28:39,727 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 65.54 sec -2013-09-18 02:28:40,733 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 65.54 sec -2013-09-18 02:28:41,739 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 65.54 sec -2013-09-18 02:28:42,745 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 65.54 sec -2013-09-18 02:28:43,755 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 65.54 sec -2013-09-18 02:28:44,763 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 72.69 sec -2013-09-18 02:28:45,768 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 72.69 sec -2013-09-18 02:28:46,774 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 81.91 sec -2013-09-18 02:28:47,780 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 81.91 sec -2013-09-18 02:28:48,786 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 81.91 sec -MapReduce Total cumulative CPU time: 1 minutes 21 seconds 910 msec -Ended Job = job_201309172235_0232 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0233 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:28:51,883 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:28:54,897 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.55 sec -2013-09-18 02:28:55,903 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.55 sec -2013-09-18 02:28:56,908 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.55 sec -2013-09-18 02:28:57,913 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.55 sec -2013-09-18 02:28:58,917 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.55 sec -2013-09-18 02:28:59,923 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.55 sec -2013-09-18 02:29:00,929 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.55 sec -2013-09-18 02:29:01,934 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.55 sec -2013-09-18 02:29:02,941 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.3 sec -2013-09-18 02:29:03,947 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.3 sec -MapReduce Total cumulative CPU time: 3 seconds 300 msec -Ended Job = job_201309172235_0233 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 81.91 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.3 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 25 seconds 210 msec -OK -Time taken: 54.759 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15771@mturlrep13_201309180229_811845410.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0234 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:29:13,428 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:29:21,464 Stage-1 map = 74%, reduce = 0% -2013-09-18 02:29:24,478 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:29:26,494 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 49.2 sec -2013-09-18 02:29:27,501 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 67.11 sec -2013-09-18 02:29:28,508 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 67.11 sec -2013-09-18 02:29:29,514 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 67.11 sec -2013-09-18 02:29:30,519 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 67.11 sec -2013-09-18 02:29:31,525 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 67.11 sec -2013-09-18 02:29:32,531 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 67.11 sec -2013-09-18 02:29:33,536 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 67.11 sec -2013-09-18 02:29:34,542 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 67.11 sec -2013-09-18 02:29:35,547 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 67.11 sec -2013-09-18 02:29:36,552 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 67.11 sec -2013-09-18 02:29:37,559 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 73.92 sec -2013-09-18 02:29:38,566 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 73.92 sec -2013-09-18 02:29:39,572 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 73.92 sec -2013-09-18 02:29:40,578 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 83.02 sec -2013-09-18 02:29:41,585 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 83.02 sec -MapReduce Total cumulative CPU time: 1 minutes 23 seconds 20 msec -Ended Job = job_201309172235_0234 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0235 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:29:45,075 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:29:47,084 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-18 02:29:48,089 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-18 02:29:49,094 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-18 02:29:50,099 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-18 02:29:51,104 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-18 02:29:52,109 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-18 02:29:53,114 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.47 sec -2013-09-18 02:29:54,120 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.47 sec -2013-09-18 02:29:55,125 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.2 sec -2013-09-18 02:29:56,130 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.2 sec -MapReduce Total cumulative CPU time: 3 seconds 200 msec -Ended Job = job_201309172235_0235 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 83.02 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.2 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 26 seconds 220 msec -OK -Time taken: 50.301 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17673@mturlrep13_201309180229_1772334372.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0236 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:30:06,838 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:30:13,869 Stage-1 map = 74%, reduce = 0% -2013-09-18 02:30:16,883 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:30:18,898 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 32.43 sec -2013-09-18 02:30:19,906 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 66.34 sec -2013-09-18 02:30:20,942 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 66.34 sec -2013-09-18 02:30:21,949 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 66.34 sec -2013-09-18 02:30:22,955 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 66.34 sec -2013-09-18 02:30:23,960 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 66.34 sec -2013-09-18 02:30:24,965 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 66.34 sec -2013-09-18 02:30:25,971 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 66.34 sec -2013-09-18 02:30:26,976 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 66.34 sec -2013-09-18 02:30:27,982 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 66.34 sec -2013-09-18 02:30:28,989 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 66.34 sec -2013-09-18 02:30:29,995 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 66.34 sec -2013-09-18 02:30:31,003 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 73.15 sec -2013-09-18 02:30:32,010 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 73.15 sec -2013-09-18 02:30:33,016 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 82.57 sec -2013-09-18 02:30:34,022 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 82.57 sec -2013-09-18 02:30:35,108 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 82.57 sec -MapReduce Total cumulative CPU time: 1 minutes 22 seconds 570 msec -Ended Job = job_201309172235_0236 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0237 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:30:37,758 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:30:39,767 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.45 sec -2013-09-18 02:30:40,773 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.45 sec -2013-09-18 02:30:41,779 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.45 sec -2013-09-18 02:30:42,783 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.45 sec -2013-09-18 02:30:43,788 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.45 sec -2013-09-18 02:30:44,792 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.45 sec -2013-09-18 02:30:45,796 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.45 sec -2013-09-18 02:30:46,801 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.45 sec -2013-09-18 02:30:47,806 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.45 sec -2013-09-18 02:30:48,812 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.2 sec -2013-09-18 02:30:49,817 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.2 sec -MapReduce Total cumulative CPU time: 3 seconds 200 msec -Ended Job = job_201309172235_0237 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 82.57 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.2 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 25 seconds 770 msec -OK -Time taken: 51.858 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей, несколько агрегатных функций.; - - -times: 1 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20314@mturlrep13_201309180230_1304388954.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0238 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:31:06,469 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:31:13,508 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 8.59 sec -2013-09-18 02:31:14,520 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.31 sec -2013-09-18 02:31:15,529 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.31 sec -2013-09-18 02:31:16,536 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.31 sec -2013-09-18 02:31:17,543 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.31 sec -2013-09-18 02:31:18,549 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.31 sec -2013-09-18 02:31:19,555 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.31 sec -2013-09-18 02:31:20,562 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 34.31 sec -2013-09-18 02:31:21,569 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 34.31 sec -2013-09-18 02:31:22,576 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 34.31 sec -2013-09-18 02:31:23,584 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.23 sec -2013-09-18 02:31:24,591 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.23 sec -MapReduce Total cumulative CPU time: 41 seconds 230 msec -Ended Job = job_201309172235_0238 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0239 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:31:28,037 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:31:29,043 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:31:30,049 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:31:31,055 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:31:32,060 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:31:33,065 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:31:34,070 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:31:35,076 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:31:36,082 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.79 sec -2013-09-18 02:31:37,088 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -2013-09-18 02:31:38,095 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -2013-09-18 02:31:39,102 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.35 sec -MapReduce Total cumulative CPU time: 2 seconds 350 msec -Ended Job = job_201309172235_0239 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.23 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.35 sec HDFS Read: 21897 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 580 msec -OK -Time taken: 42.793 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22123@mturlrep13_201309180231_845723400.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0240 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:31:49,498 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:31:55,532 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.77 sec -2013-09-18 02:31:56,540 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.77 sec -2013-09-18 02:31:57,547 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.77 sec -2013-09-18 02:31:58,552 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.77 sec -2013-09-18 02:31:59,557 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.77 sec -2013-09-18 02:32:00,563 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.77 sec -2013-09-18 02:32:01,570 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.77 sec -2013-09-18 02:32:02,576 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 31.77 sec -2013-09-18 02:32:03,582 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 31.77 sec -2013-09-18 02:32:04,590 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 38.18 sec -2013-09-18 02:32:05,597 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 38.18 sec -MapReduce Total cumulative CPU time: 38 seconds 180 msec -Ended Job = job_201309172235_0240 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0241 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:32:09,026 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:32:10,031 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-18 02:32:11,037 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-18 02:32:12,043 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-18 02:32:13,048 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-18 02:32:14,053 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-18 02:32:15,058 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-18 02:32:16,063 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-18 02:32:17,068 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-18 02:32:18,074 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -2013-09-18 02:32:19,079 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -2013-09-18 02:32:20,085 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -MapReduce Total cumulative CPU time: 2 seconds 440 msec -Ended Job = job_201309172235_0241 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 38.18 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.44 sec HDFS Read: 21897 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 40 seconds 620 msec -OK -Time taken: 39.001 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23905@mturlrep13_201309180232_33315104.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0242 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:32:30,268 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:32:36,302 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.2 sec -2013-09-18 02:32:37,310 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.2 sec -2013-09-18 02:32:38,317 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.2 sec -2013-09-18 02:32:39,323 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.2 sec -2013-09-18 02:32:40,329 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.2 sec -2013-09-18 02:32:41,336 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.2 sec -2013-09-18 02:32:42,342 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.2 sec -2013-09-18 02:32:43,348 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.2 sec -2013-09-18 02:32:44,355 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 32.2 sec -2013-09-18 02:32:45,363 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.05 sec -2013-09-18 02:32:46,370 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.05 sec -MapReduce Total cumulative CPU time: 39 seconds 50 msec -Ended Job = job_201309172235_0242 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0243 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:32:49,830 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:32:50,836 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:32:51,842 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:32:52,847 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:32:53,852 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:32:54,860 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:32:55,865 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:32:56,871 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:32:57,876 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-18 02:32:58,881 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.37 sec -2013-09-18 02:32:59,886 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.37 sec -2013-09-18 02:33:00,892 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.37 sec -MapReduce Total cumulative CPU time: 2 seconds 370 msec -Ended Job = job_201309172235_0243 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 39.05 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.37 sec HDFS Read: 21897 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 41 seconds 420 msec -OK -Time taken: 38.998 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по строкам.; - - -times: 1 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25692@mturlrep13_201309180233_546222477.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0244 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:33:17,631 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:33:24,670 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 23.16 sec -2013-09-18 02:33:25,678 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.61 sec -2013-09-18 02:33:26,685 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.61 sec -2013-09-18 02:33:27,693 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.61 sec -2013-09-18 02:33:28,699 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.61 sec -2013-09-18 02:33:29,705 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.61 sec -2013-09-18 02:33:30,711 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.61 sec -2013-09-18 02:33:31,718 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.61 sec -2013-09-18 02:33:32,725 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 31.61 sec -2013-09-18 02:33:33,733 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.08 sec -2013-09-18 02:33:34,740 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.08 sec -2013-09-18 02:33:35,747 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.08 sec -MapReduce Total cumulative CPU time: 39 seconds 80 msec -Ended Job = job_201309172235_0244 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0245 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:33:39,294 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:33:40,299 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:33:41,304 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:33:42,310 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:33:43,316 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:33:44,321 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:33:45,326 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:33:46,332 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:33:47,337 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:33:48,344 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.33 sec -2013-09-18 02:33:49,350 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.33 sec -2013-09-18 02:33:50,356 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.33 sec -MapReduce Total cumulative CPU time: 2 seconds 330 msec -Ended Job = job_201309172235_0245 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 39.08 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.33 sec HDFS Read: 23477 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 41 seconds 410 msec -OK -Time taken: 42.858 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27484@mturlrep13_201309180233_1733545584.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0246 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:34:00,545 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:34:06,577 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.0 sec -2013-09-18 02:34:07,584 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.0 sec -2013-09-18 02:34:08,591 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.0 sec -2013-09-18 02:34:09,598 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.0 sec -2013-09-18 02:34:10,604 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.0 sec -2013-09-18 02:34:11,610 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.0 sec -2013-09-18 02:34:12,615 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.0 sec -2013-09-18 02:34:13,621 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 32.0 sec -2013-09-18 02:34:14,628 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 32.0 sec -2013-09-18 02:34:15,636 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.52 sec -2013-09-18 02:34:16,642 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.52 sec -MapReduce Total cumulative CPU time: 39 seconds 520 msec -Ended Job = job_201309172235_0246 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0247 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:34:20,082 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:34:21,088 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:34:22,093 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:34:23,098 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:34:24,102 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:34:25,107 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:34:26,111 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:34:27,116 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:34:28,121 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-18 02:34:29,126 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.36 sec -2013-09-18 02:34:30,132 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.36 sec -2013-09-18 02:34:31,138 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.36 sec -MapReduce Total cumulative CPU time: 2 seconds 360 msec -Ended Job = job_201309172235_0247 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 39.52 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.36 sec HDFS Read: 23479 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 41 seconds 880 msec -OK -Time taken: 38.928 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29266@mturlrep13_201309180234_1724427023.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0248 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:34:41,249 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:34:47,281 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.23 sec -2013-09-18 02:34:48,289 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.23 sec -2013-09-18 02:34:49,295 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.23 sec -2013-09-18 02:34:50,301 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.23 sec -2013-09-18 02:34:51,307 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.23 sec -2013-09-18 02:34:52,313 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.23 sec -2013-09-18 02:34:53,319 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.23 sec -2013-09-18 02:34:54,325 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.23 sec -2013-09-18 02:34:55,331 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 33.23 sec -2013-09-18 02:34:56,340 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.78 sec -2013-09-18 02:34:57,346 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.78 sec -2013-09-18 02:34:58,351 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.78 sec -MapReduce Total cumulative CPU time: 40 seconds 780 msec -Ended Job = job_201309172235_0248 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0249 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:35:00,867 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:35:03,879 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:35:04,884 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:35:05,889 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:35:06,894 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:35:07,899 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:35:08,904 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:35:09,909 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-18 02:35:10,915 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -2013-09-18 02:35:11,921 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -2013-09-18 02:35:12,927 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -MapReduce Total cumulative CPU time: 2 seconds 450 msec -Ended Job = job_201309172235_0249 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.78 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.45 sec HDFS Read: 23479 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 230 msec -OK -Time taken: 40.035 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - - -times: 1 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31746@mturlrep13_201309180235_1665432259.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0250 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:35:30,446 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:35:37,477 Stage-1 map = 74%, reduce = 0% -2013-09-18 02:35:38,490 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 11.18 sec -2013-09-18 02:35:39,498 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.48 sec -2013-09-18 02:35:40,505 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.48 sec -2013-09-18 02:35:41,511 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.48 sec -2013-09-18 02:35:42,516 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.48 sec -2013-09-18 02:35:43,521 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.48 sec -2013-09-18 02:35:44,527 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.48 sec -2013-09-18 02:35:45,534 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.48 sec -2013-09-18 02:35:46,540 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.48 sec -2013-09-18 02:35:47,547 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.48 sec -2013-09-18 02:35:48,554 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.48 sec -2013-09-18 02:35:49,560 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 42.48 sec -2013-09-18 02:35:50,569 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 49.79 sec -2013-09-18 02:35:51,575 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.98 sec -2013-09-18 02:35:52,582 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.98 sec -MapReduce Total cumulative CPU time: 56 seconds 980 msec -Ended Job = job_201309172235_0250 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0251 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:35:56,085 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:36:03,111 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:36:05,121 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.4 sec -2013-09-18 02:36:06,127 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.4 sec -2013-09-18 02:36:07,132 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.4 sec -2013-09-18 02:36:08,137 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.4 sec -2013-09-18 02:36:09,142 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.4 sec -2013-09-18 02:36:10,147 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.4 sec -2013-09-18 02:36:11,153 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.4 sec -2013-09-18 02:36:12,158 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.4 sec -2013-09-18 02:36:13,163 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.4 sec -2013-09-18 02:36:14,171 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.23 sec -2013-09-18 02:36:15,177 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.23 sec -2013-09-18 02:36:16,183 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.23 sec -MapReduce Total cumulative CPU time: 18 seconds 230 msec -Ended Job = job_201309172235_0251 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 56.98 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.23 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 15 seconds 210 msec -OK -Time taken: 55.967 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1103@mturlrep13_201309180236_553015116.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0252 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:36:25,454 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:36:33,496 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 32.69 sec -2013-09-18 02:36:34,504 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 44.11 sec -2013-09-18 02:36:35,511 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 44.11 sec -2013-09-18 02:36:36,518 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 44.11 sec -2013-09-18 02:36:37,524 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 44.11 sec -2013-09-18 02:36:38,530 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 44.11 sec -2013-09-18 02:36:39,537 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 44.11 sec -2013-09-18 02:36:40,544 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.11 sec -2013-09-18 02:36:41,551 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 44.11 sec -2013-09-18 02:36:42,557 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 44.11 sec -2013-09-18 02:36:43,563 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 44.11 sec -2013-09-18 02:36:44,570 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 44.11 sec -2013-09-18 02:36:45,577 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 58.39 sec -2013-09-18 02:36:46,583 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 58.39 sec -2013-09-18 02:36:47,590 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 58.39 sec -MapReduce Total cumulative CPU time: 58 seconds 390 msec -Ended Job = job_201309172235_0252 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0253 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:36:50,133 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:36:58,161 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:37:00,169 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.07 sec -2013-09-18 02:37:01,175 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.07 sec -2013-09-18 02:37:02,180 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.07 sec -2013-09-18 02:37:03,184 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.07 sec -2013-09-18 02:37:04,189 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.07 sec -2013-09-18 02:37:05,195 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.07 sec -2013-09-18 02:37:06,200 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.07 sec -2013-09-18 02:37:07,205 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.97 sec -2013-09-18 02:37:08,211 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.97 sec -2013-09-18 02:37:09,216 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.86 sec -2013-09-18 02:37:10,221 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.86 sec -2013-09-18 02:37:11,226 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.86 sec -MapReduce Total cumulative CPU time: 18 seconds 860 msec -Ended Job = job_201309172235_0253 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 58.39 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.86 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 250 msec -OK -Time taken: 53.253 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2921@mturlrep13_201309180237_1642997595.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0254 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:37:21,370 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:37:28,400 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:37:29,413 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.06 sec -2013-09-18 02:37:30,420 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.06 sec -2013-09-18 02:37:31,427 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.06 sec -2013-09-18 02:37:32,433 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.06 sec -2013-09-18 02:37:33,439 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.06 sec -2013-09-18 02:37:34,445 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.06 sec -2013-09-18 02:37:35,451 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.06 sec -2013-09-18 02:37:36,457 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.06 sec -2013-09-18 02:37:37,464 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.06 sec -2013-09-18 02:37:38,470 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.06 sec -2013-09-18 02:37:39,476 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 43.06 sec -2013-09-18 02:37:40,483 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.99 sec -2013-09-18 02:37:41,490 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.99 sec -2013-09-18 02:37:42,495 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.99 sec -MapReduce Total cumulative CPU time: 56 seconds 990 msec -Ended Job = job_201309172235_0254 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0255 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:37:46,017 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:37:53,043 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:37:55,051 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.12 sec -2013-09-18 02:37:56,056 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.12 sec -2013-09-18 02:37:57,061 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.12 sec -2013-09-18 02:37:58,065 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.12 sec -2013-09-18 02:37:59,070 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.12 sec -2013-09-18 02:38:00,074 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.12 sec -2013-09-18 02:38:01,079 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.12 sec -2013-09-18 02:38:02,085 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.12 sec -2013-09-18 02:38:03,090 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.12 sec -2013-09-18 02:38:04,096 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.65 sec -2013-09-18 02:38:05,101 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.65 sec -2013-09-18 02:38:06,106 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.65 sec -MapReduce Total cumulative CPU time: 17 seconds 650 msec -Ended Job = job_201309172235_0255 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 56.99 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.65 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 14 seconds 640 msec -OK -Time taken: 53.053 seconds, Fetched: 10 row(s) -hive> quit; --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - - -times: 1 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4654@mturlrep13_201309180238_1576859277.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0256 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:38:23,923 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:38:30,955 Stage-1 map = 59%, reduce = 0% -2013-09-18 02:38:33,979 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.79 sec -2013-09-18 02:38:34,986 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.79 sec -2013-09-18 02:38:35,992 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.79 sec -2013-09-18 02:38:36,999 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.79 sec -2013-09-18 02:38:38,005 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.79 sec -2013-09-18 02:38:39,011 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.79 sec -2013-09-18 02:38:40,018 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.79 sec -2013-09-18 02:38:41,024 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.79 sec -2013-09-18 02:38:42,030 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.79 sec -2013-09-18 02:38:43,036 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.79 sec -2013-09-18 02:38:44,042 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 48.79 sec -2013-09-18 02:38:45,049 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 48.79 sec -2013-09-18 02:38:46,057 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 66.21 sec -2013-09-18 02:38:47,063 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 66.21 sec -2013-09-18 02:38:48,070 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 66.21 sec -MapReduce Total cumulative CPU time: 1 minutes 6 seconds 210 msec -Ended Job = job_201309172235_0256 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0257 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:38:50,633 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:38:58,663 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:39:00,672 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.14 sec -2013-09-18 02:39:01,679 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.14 sec -2013-09-18 02:39:02,684 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.14 sec -2013-09-18 02:39:03,690 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.14 sec -2013-09-18 02:39:04,695 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.14 sec -2013-09-18 02:39:05,700 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.14 sec -2013-09-18 02:39:06,705 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.14 sec -2013-09-18 02:39:07,710 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.14 sec -2013-09-18 02:39:08,715 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.0 sec -2013-09-18 02:39:09,720 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.9 sec -2013-09-18 02:39:10,726 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.9 sec -2013-09-18 02:39:11,731 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.9 sec -MapReduce Total cumulative CPU time: 17 seconds 900 msec -Ended Job = job_201309172235_0257 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 66.21 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.9 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 24 seconds 110 msec -OK -Time taken: 58.068 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6870@mturlrep13_201309180239_5166481.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0258 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:39:22,278 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:39:29,309 Stage-1 map = 74%, reduce = 0% -2013-09-18 02:39:30,322 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 11.14 sec -2013-09-18 02:39:31,329 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.0 sec -2013-09-18 02:39:32,337 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.0 sec -2013-09-18 02:39:33,342 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.0 sec -2013-09-18 02:39:34,347 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.0 sec -2013-09-18 02:39:35,353 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.0 sec -2013-09-18 02:39:36,359 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.0 sec -2013-09-18 02:39:37,365 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.0 sec -2013-09-18 02:39:38,374 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.0 sec -2013-09-18 02:39:39,381 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.0 sec -2013-09-18 02:39:40,387 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.0 sec -2013-09-18 02:39:41,394 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 48.0 sec -2013-09-18 02:39:42,399 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 48.0 sec -2013-09-18 02:39:43,407 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 65.26 sec -2013-09-18 02:39:44,413 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 65.26 sec -MapReduce Total cumulative CPU time: 1 minutes 5 seconds 260 msec -Ended Job = job_201309172235_0258 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0259 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:39:47,918 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:39:54,941 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:39:56,950 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.07 sec -2013-09-18 02:39:57,956 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.07 sec -2013-09-18 02:39:58,961 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.07 sec -2013-09-18 02:39:59,965 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.07 sec -2013-09-18 02:40:00,970 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.07 sec -2013-09-18 02:40:01,975 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.07 sec -2013-09-18 02:40:02,980 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.07 sec -2013-09-18 02:40:03,984 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.07 sec -2013-09-18 02:40:04,989 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.07 sec -2013-09-18 02:40:05,995 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.73 sec -2013-09-18 02:40:07,001 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.73 sec -2013-09-18 02:40:08,006 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.73 sec -MapReduce Total cumulative CPU time: 17 seconds 730 msec -Ended Job = job_201309172235_0259 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 65.26 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.73 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 22 seconds 990 msec -OK -Time taken: 54.393 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8928@mturlrep13_201309180240_2088574054.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0260 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:40:18,597 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:40:25,630 Stage-1 map = 74%, reduce = 0% -2013-09-18 02:40:26,645 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 11.55 sec -2013-09-18 02:40:27,653 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 47.89 sec -2013-09-18 02:40:28,661 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 47.89 sec -2013-09-18 02:40:29,668 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 47.89 sec -2013-09-18 02:40:30,674 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 47.89 sec -2013-09-18 02:40:31,680 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 47.89 sec -2013-09-18 02:40:32,687 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 47.89 sec -2013-09-18 02:40:33,694 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.89 sec -2013-09-18 02:40:34,701 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 47.89 sec -2013-09-18 02:40:35,707 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 47.89 sec -2013-09-18 02:40:36,714 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 47.89 sec -2013-09-18 02:40:37,720 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 47.89 sec -2013-09-18 02:40:38,726 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 47.89 sec -2013-09-18 02:40:39,734 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 64.72 sec -2013-09-18 02:40:40,740 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 64.72 sec -MapReduce Total cumulative CPU time: 1 minutes 4 seconds 720 msec -Ended Job = job_201309172235_0260 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0261 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:40:43,177 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:40:51,206 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:40:53,216 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.81 sec -2013-09-18 02:40:54,221 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.81 sec -2013-09-18 02:40:55,226 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.81 sec -2013-09-18 02:40:56,231 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.81 sec -2013-09-18 02:40:57,236 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.81 sec -2013-09-18 02:40:58,242 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.81 sec -2013-09-18 02:40:59,247 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.81 sec -2013-09-18 02:41:00,253 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 12.81 sec -2013-09-18 02:41:01,259 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 12.81 sec -2013-09-18 02:41:02,264 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.59 sec -2013-09-18 02:41:03,271 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.59 sec -MapReduce Total cumulative CPU time: 17 seconds 590 msec -Ended Job = job_201309172235_0261 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 64.72 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.59 sec HDFS Read: 79727311 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 22 seconds 310 msec -OK -Time taken: 53.189 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация чуть сложнее.; - - -times: 1 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11232@mturlrep13_201309180241_2050644034.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0262 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:41:21,239 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:41:28,272 Stage-1 map = 18%, reduce = 0% -2013-09-18 02:41:29,278 Stage-1 map = 74%, reduce = 0% -2013-09-18 02:41:30,291 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 22.42 sec -2013-09-18 02:41:31,298 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 45.45 sec -2013-09-18 02:41:32,306 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 45.45 sec -2013-09-18 02:41:33,312 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 45.45 sec -2013-09-18 02:41:34,319 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 45.45 sec -2013-09-18 02:41:35,326 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 45.45 sec -2013-09-18 02:41:36,333 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 45.45 sec -2013-09-18 02:41:37,340 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.45 sec -2013-09-18 02:41:38,347 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 45.45 sec -2013-09-18 02:41:39,353 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 45.45 sec -2013-09-18 02:41:40,360 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 45.45 sec -2013-09-18 02:41:41,366 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 45.45 sec -2013-09-18 02:41:42,375 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 60.58 sec -2013-09-18 02:41:43,382 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 60.58 sec -2013-09-18 02:41:44,388 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 60.58 sec -MapReduce Total cumulative CPU time: 1 minutes 0 seconds 580 msec -Ended Job = job_201309172235_0262 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0263 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:41:48,080 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:41:55,103 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:41:58,114 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.06 sec -2013-09-18 02:41:59,120 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.06 sec -2013-09-18 02:42:00,125 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.06 sec -2013-09-18 02:42:01,131 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.06 sec -2013-09-18 02:42:02,136 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.06 sec -2013-09-18 02:42:03,142 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.06 sec -2013-09-18 02:42:04,147 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.06 sec -2013-09-18 02:42:05,153 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.06 sec -2013-09-18 02:42:06,159 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.06 sec -2013-09-18 02:42:07,165 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.95 sec -2013-09-18 02:42:08,172 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.95 sec -2013-09-18 02:42:09,178 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.95 sec -MapReduce Total cumulative CPU time: 18 seconds 950 msec -Ended Job = job_201309172235_0263 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 60.58 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.95 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 19 seconds 530 msec -OK -Time taken: 58.359 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12984@mturlrep13_201309180242_2082311040.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0264 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:42:19,501 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:42:26,537 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 10.64 sec -2013-09-18 02:42:27,545 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:42:28,553 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:42:29,559 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:42:30,565 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:42:31,571 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:42:32,576 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:42:33,583 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.43 sec -2013-09-18 02:42:34,590 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.43 sec -2013-09-18 02:42:35,596 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.43 sec -2013-09-18 02:42:36,602 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.43 sec -2013-09-18 02:42:37,608 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 43.43 sec -2013-09-18 02:42:38,614 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 43.43 sec -2013-09-18 02:42:39,621 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 59.06 sec -2013-09-18 02:42:40,627 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 59.06 sec -MapReduce Total cumulative CPU time: 59 seconds 60 msec -Ended Job = job_201309172235_0264 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0265 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:42:43,197 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:42:51,226 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:42:54,237 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.46 sec -2013-09-18 02:42:55,243 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.46 sec -2013-09-18 02:42:56,247 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.46 sec -2013-09-18 02:42:57,254 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.46 sec -2013-09-18 02:42:58,260 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.46 sec -2013-09-18 02:42:59,265 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.46 sec -2013-09-18 02:43:00,275 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 14.46 sec -2013-09-18 02:43:01,281 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.46 sec -2013-09-18 02:43:02,286 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 14.46 sec -2013-09-18 02:43:03,291 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.26 sec -2013-09-18 02:43:04,296 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.26 sec -MapReduce Total cumulative CPU time: 19 seconds 260 msec -Ended Job = job_201309172235_0265 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 59.06 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 19.26 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 18 seconds 320 msec -OK -Time taken: 53.181 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14722@mturlrep13_201309180243_131124739.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0266 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:43:13,609 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:43:21,644 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:43:22,656 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.26 sec -2013-09-18 02:43:23,663 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.26 sec -2013-09-18 02:43:24,669 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.26 sec -2013-09-18 02:43:25,675 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.26 sec -2013-09-18 02:43:26,680 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.26 sec -2013-09-18 02:43:27,686 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.26 sec -2013-09-18 02:43:28,693 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 43.26 sec -2013-09-18 02:43:29,698 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.26 sec -2013-09-18 02:43:30,704 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.26 sec -2013-09-18 02:43:31,711 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 43.26 sec -2013-09-18 02:43:32,717 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 43.26 sec -2013-09-18 02:43:33,724 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 43.26 sec -2013-09-18 02:43:34,732 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 58.63 sec -2013-09-18 02:43:35,739 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 58.63 sec -MapReduce Total cumulative CPU time: 58 seconds 630 msec -Ended Job = job_201309172235_0266 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0267 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:43:39,244 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:43:46,270 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:43:49,283 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-18 02:43:50,289 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-18 02:43:51,294 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-18 02:43:52,300 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-18 02:43:53,305 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-18 02:43:54,313 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-18 02:43:55,318 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-18 02:43:56,323 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-18 02:43:57,329 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.92 sec -2013-09-18 02:43:58,334 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.06 sec -2013-09-18 02:43:59,340 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.06 sec -2013-09-18 02:44:00,345 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.06 sec -MapReduce Total cumulative CPU time: 19 seconds 60 msec -Ended Job = job_201309172235_0267 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 58.63 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 19.06 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 690 msec -OK -Time taken: 54.164 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по числу и строке, большое количество ключей.; - - -times: 1 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16467@mturlrep13_201309180244_1529367412.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0268 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:44:18,084 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:44:25,121 Stage-1 map = 81%, reduce = 0% -2013-09-18 02:44:28,140 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 23.45 sec -2013-09-18 02:44:29,148 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.87 sec -2013-09-18 02:44:30,155 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.87 sec -2013-09-18 02:44:31,161 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.87 sec -2013-09-18 02:44:32,167 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.87 sec -2013-09-18 02:44:33,174 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.87 sec -2013-09-18 02:44:34,180 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.87 sec -2013-09-18 02:44:35,186 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.87 sec -2013-09-18 02:44:36,192 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.87 sec -2013-09-18 02:44:37,198 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.87 sec -2013-09-18 02:44:38,204 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.87 sec -2013-09-18 02:44:39,209 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 48.87 sec -2013-09-18 02:44:40,217 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.8 sec -2013-09-18 02:44:41,222 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.8 sec -2013-09-18 02:44:42,229 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.8 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 800 msec -Ended Job = job_201309172235_0268 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0269 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:44:45,729 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:44:55,761 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:44:58,774 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.29 sec -2013-09-18 02:44:59,779 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.29 sec -2013-09-18 02:45:00,790 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.29 sec -2013-09-18 02:45:01,795 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.29 sec -2013-09-18 02:45:02,800 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.29 sec -2013-09-18 02:45:03,805 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.29 sec -2013-09-18 02:45:04,809 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.29 sec -2013-09-18 02:45:05,814 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.29 sec -2013-09-18 02:45:06,819 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.29 sec -2013-09-18 02:45:07,824 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.29 sec -2013-09-18 02:45:08,830 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.02 sec -2013-09-18 02:45:09,835 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.02 sec -2013-09-18 02:45:10,840 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.02 sec -MapReduce Total cumulative CPU time: 23 seconds 20 msec -Ended Job = job_201309172235_0269 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.8 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 23.02 sec HDFS Read: 55476181 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 25 seconds 820 msec -OK -Time taken: 63.096 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18524@mturlrep13_201309180245_141259504.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0270 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:45:21,420 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:45:28,450 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:45:30,465 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 35.49 sec -2013-09-18 02:45:31,472 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.62 sec -2013-09-18 02:45:32,478 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.62 sec -2013-09-18 02:45:33,483 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.62 sec -2013-09-18 02:45:34,488 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.62 sec -2013-09-18 02:45:35,494 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.62 sec -2013-09-18 02:45:36,501 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.62 sec -2013-09-18 02:45:37,507 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.62 sec -2013-09-18 02:45:38,513 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.62 sec -2013-09-18 02:45:39,518 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.62 sec -2013-09-18 02:45:40,523 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 48.62 sec -2013-09-18 02:45:41,529 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 48.62 sec -2013-09-18 02:45:42,537 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.57 sec -2013-09-18 02:45:43,543 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.57 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 570 msec -Ended Job = job_201309172235_0270 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0271 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:45:47,340 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:45:57,375 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:46:01,391 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.09 sec -2013-09-18 02:46:02,397 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.09 sec -2013-09-18 02:46:03,402 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.09 sec -2013-09-18 02:46:04,420 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.09 sec -2013-09-18 02:46:05,425 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.09 sec -2013-09-18 02:46:06,429 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.09 sec -2013-09-18 02:46:07,435 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.09 sec -2013-09-18 02:46:08,440 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.09 sec -2013-09-18 02:46:09,446 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.88 sec -2013-09-18 02:46:10,452 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.96 sec -2013-09-18 02:46:11,457 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.96 sec -MapReduce Total cumulative CPU time: 22 seconds 960 msec -Ended Job = job_201309172235_0271 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.57 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 22.96 sec HDFS Read: 55476181 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 25 seconds 530 msec -OK -Time taken: 58.614 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20702@mturlrep13_201309180246_772055237.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0272 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:46:21,609 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:46:28,640 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:46:30,656 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 23.58 sec -2013-09-18 02:46:31,664 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.28 sec -2013-09-18 02:46:32,671 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.28 sec -2013-09-18 02:46:33,676 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.28 sec -2013-09-18 02:46:34,682 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.28 sec -2013-09-18 02:46:35,688 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.28 sec -2013-09-18 02:46:36,698 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.28 sec -2013-09-18 02:46:37,706 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.28 sec -2013-09-18 02:46:38,712 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 49.28 sec -2013-09-18 02:46:39,717 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 49.28 sec -2013-09-18 02:46:40,723 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 49.28 sec -2013-09-18 02:46:41,728 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 49.28 sec -2013-09-18 02:46:42,735 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.18 sec -2013-09-18 02:46:43,741 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.18 sec -2013-09-18 02:46:44,747 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.18 sec -MapReduce Total cumulative CPU time: 1 minutes 3 seconds 180 msec -Ended Job = job_201309172235_0272 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0273 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:46:48,292 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:46:58,320 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:47:02,333 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.58 sec -2013-09-18 02:47:03,338 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.58 sec -2013-09-18 02:47:04,343 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.58 sec -2013-09-18 02:47:05,347 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.58 sec -2013-09-18 02:47:06,351 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.58 sec -2013-09-18 02:47:07,355 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.58 sec -2013-09-18 02:47:08,360 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.58 sec -2013-09-18 02:47:09,365 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 19.39 sec -2013-09-18 02:47:10,369 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 19.39 sec -2013-09-18 02:47:11,375 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.3 sec -2013-09-18 02:47:12,380 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.3 sec -2013-09-18 02:47:13,386 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.3 sec -MapReduce Total cumulative CPU time: 23 seconds 300 msec -Ended Job = job_201309172235_0273 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 63.18 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 23.3 sec HDFS Read: 55476181 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 26 seconds 480 msec -OK -Time taken: 60.153 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22448@mturlrep13_201309180247_332946336.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0274 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:47:30,239 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:47:37,271 Stage-1 map = 63%, reduce = 0% -2013-09-18 02:47:40,286 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:47:43,305 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 51.04 sec -2013-09-18 02:47:44,312 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 70.28 sec -2013-09-18 02:47:45,319 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 70.28 sec -2013-09-18 02:47:46,324 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 70.28 sec -2013-09-18 02:47:47,329 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 70.28 sec -2013-09-18 02:47:48,334 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 70.28 sec -2013-09-18 02:47:49,340 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 70.28 sec -2013-09-18 02:47:50,346 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 70.28 sec -2013-09-18 02:47:51,352 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 70.28 sec -2013-09-18 02:47:52,359 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 70.28 sec -2013-09-18 02:47:53,365 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 70.28 sec -2013-09-18 02:47:54,371 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 70.28 sec -2013-09-18 02:47:55,378 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 70.28 sec -2013-09-18 02:47:56,384 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 70.28 sec -2013-09-18 02:47:57,392 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 92.27 sec -2013-09-18 02:47:58,399 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 92.27 sec -2013-09-18 02:47:59,404 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 92.27 sec -MapReduce Total cumulative CPU time: 1 minutes 32 seconds 270 msec -Ended Job = job_201309172235_0274 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0275 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:48:02,066 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:48:13,104 Stage-2 map = 46%, reduce = 0% -2013-09-18 02:48:16,114 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:48:19,125 Stage-2 map = 96%, reduce = 0% -2013-09-18 02:48:21,132 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.92 sec -2013-09-18 02:48:22,138 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.92 sec -2013-09-18 02:48:23,142 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.92 sec -2013-09-18 02:48:24,146 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.92 sec -2013-09-18 02:48:25,150 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.92 sec -2013-09-18 02:48:26,154 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.92 sec -2013-09-18 02:48:27,159 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.92 sec -2013-09-18 02:48:28,165 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.92 sec -2013-09-18 02:48:29,170 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.92 sec -2013-09-18 02:48:30,175 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.92 sec -2013-09-18 02:48:31,182 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.57 sec -2013-09-18 02:48:32,187 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.57 sec -2013-09-18 02:48:33,193 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.57 sec -MapReduce Total cumulative CPU time: 28 seconds 570 msec -Ended Job = job_201309172235_0275 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 92.27 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 28.57 sec HDFS Read: 146210123 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 0 seconds 840 msec -OK -Time taken: 73.175 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24287@mturlrep13_201309180248_957091100.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0276 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:48:43,644 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:48:50,677 Stage-1 map = 81%, reduce = 0% -2013-09-18 02:48:53,691 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:48:55,754 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.03 sec -2013-09-18 02:48:56,761 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.03 sec -2013-09-18 02:48:57,769 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.03 sec -2013-09-18 02:48:58,775 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.03 sec -2013-09-18 02:48:59,781 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.03 sec -2013-09-18 02:49:00,786 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.03 sec -2013-09-18 02:49:01,792 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.03 sec -2013-09-18 02:49:02,797 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.03 sec -2013-09-18 02:49:03,804 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 69.03 sec -2013-09-18 02:49:04,810 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 69.03 sec -2013-09-18 02:49:05,816 Stage-1 map = 100%, reduce = 53%, Cumulative CPU 69.03 sec -2013-09-18 02:49:06,822 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 69.03 sec -2013-09-18 02:49:07,828 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 69.03 sec -2013-09-18 02:49:08,834 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 69.03 sec -2013-09-18 02:49:09,843 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 87.96 sec -2013-09-18 02:49:10,849 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 90.76 sec -2013-09-18 02:49:11,855 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 90.76 sec -MapReduce Total cumulative CPU time: 1 minutes 30 seconds 760 msec -Ended Job = job_201309172235_0276 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0277 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:49:15,354 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:49:25,387 Stage-2 map = 46%, reduce = 0% -2013-09-18 02:49:28,396 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:49:31,406 Stage-2 map = 96%, reduce = 0% -2013-09-18 02:49:34,416 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.84 sec -2013-09-18 02:49:35,421 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.84 sec -2013-09-18 02:49:36,510 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.84 sec -2013-09-18 02:49:37,521 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.84 sec -2013-09-18 02:49:38,526 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.84 sec -2013-09-18 02:49:39,530 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.84 sec -2013-09-18 02:49:40,536 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.84 sec -2013-09-18 02:49:41,541 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.84 sec -2013-09-18 02:49:42,546 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.84 sec -2013-09-18 02:49:43,551 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.84 sec -2013-09-18 02:49:44,557 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.37 sec -2013-09-18 02:49:45,562 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.37 sec -MapReduce Total cumulative CPU time: 28 seconds 370 msec -Ended Job = job_201309172235_0277 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 90.76 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 28.37 sec HDFS Read: 146210119 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 59 seconds 130 msec -OK -Time taken: 70.386 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26119@mturlrep13_201309180249_746088235.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0278 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:49:54,756 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:50:02,790 Stage-1 map = 78%, reduce = 0% -2013-09-18 02:50:05,803 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:50:07,818 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 72.7 sec -2013-09-18 02:50:08,826 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 72.7 sec -2013-09-18 02:50:09,834 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 72.7 sec -2013-09-18 02:50:10,840 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 72.7 sec -2013-09-18 02:50:11,846 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 72.7 sec -2013-09-18 02:50:12,852 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 72.7 sec -2013-09-18 02:50:13,858 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 72.7 sec -2013-09-18 02:50:14,864 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 72.7 sec -2013-09-18 02:50:15,870 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 72.7 sec -2013-09-18 02:50:16,877 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 72.7 sec -2013-09-18 02:50:17,883 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 72.7 sec -2013-09-18 02:50:18,889 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 72.7 sec -2013-09-18 02:50:19,895 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 72.7 sec -2013-09-18 02:50:20,901 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 72.7 sec -2013-09-18 02:50:21,909 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 83.46 sec -2013-09-18 02:50:22,915 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 94.56 sec -2013-09-18 02:50:23,921 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 94.56 sec -MapReduce Total cumulative CPU time: 1 minutes 34 seconds 560 msec -Ended Job = job_201309172235_0278 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0279 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:50:27,487 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:50:37,520 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:50:43,538 Stage-2 map = 96%, reduce = 0% -2013-09-18 02:50:45,545 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.15 sec -2013-09-18 02:50:46,551 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.15 sec -2013-09-18 02:50:47,555 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.15 sec -2013-09-18 02:50:48,560 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.15 sec -2013-09-18 02:50:49,564 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.15 sec -2013-09-18 02:50:50,568 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.15 sec -2013-09-18 02:50:51,572 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.15 sec -2013-09-18 02:50:52,577 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.15 sec -2013-09-18 02:50:53,583 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.15 sec -2013-09-18 02:50:54,588 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.15 sec -2013-09-18 02:50:55,594 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 27.69 sec -2013-09-18 02:50:56,599 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 27.69 sec -MapReduce Total cumulative CPU time: 27 seconds 690 msec -Ended Job = job_201309172235_0279 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 94.56 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 27.69 sec HDFS Read: 146210123 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 2 seconds 250 msec -OK -Time taken: 69.204 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация.; - - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28670@mturlrep13_201309180251_345585890.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0280 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:51:14,036 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:51:21,066 Stage-1 map = 59%, reduce = 0% -2013-09-18 02:51:24,080 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:51:27,098 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 34.73 sec -2013-09-18 02:51:28,105 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.99 sec -2013-09-18 02:51:29,113 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.99 sec -2013-09-18 02:51:30,119 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.99 sec -2013-09-18 02:51:31,124 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.99 sec -2013-09-18 02:51:32,130 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.99 sec -2013-09-18 02:51:33,135 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.99 sec -2013-09-18 02:51:34,140 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 69.99 sec -2013-09-18 02:51:35,146 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 69.99 sec -2013-09-18 02:51:36,151 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 69.99 sec -2013-09-18 02:51:37,158 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 79.66 sec -2013-09-18 02:51:38,164 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 79.66 sec -2013-09-18 02:51:39,170 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 79.66 sec -MapReduce Total cumulative CPU time: 1 minutes 19 seconds 660 msec -Ended Job = job_201309172235_0280 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 79.66 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 19 seconds 660 msec -OK -Time taken: 35.511 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30045@mturlrep13_201309180251_893832227.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0281 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:51:48,380 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:51:56,430 Stage-1 map = 78%, reduce = 0% -2013-09-18 02:51:59,444 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:52:00,455 Stage-1 map = 92%, reduce = 0%, Cumulative CPU 17.14 sec -2013-09-18 02:52:01,463 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.67 sec -2013-09-18 02:52:02,470 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.67 sec -2013-09-18 02:52:03,476 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.67 sec -2013-09-18 02:52:04,482 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.67 sec -2013-09-18 02:52:05,487 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.67 sec -2013-09-18 02:52:06,491 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.67 sec -2013-09-18 02:52:07,496 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.67 sec -2013-09-18 02:52:08,502 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 68.67 sec -2013-09-18 02:52:09,508 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 70.32 sec -2013-09-18 02:52:10,516 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.77 sec -2013-09-18 02:52:11,522 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.77 sec -2013-09-18 02:52:12,528 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.77 sec -MapReduce Total cumulative CPU time: 1 minutes 17 seconds 770 msec -Ended Job = job_201309172235_0281 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 77.77 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 770 msec -OK -Time taken: 31.512 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31399@mturlrep13_201309180252_43587713.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0282 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:52:22,770 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:52:29,799 Stage-1 map = 78%, reduce = 0% -2013-09-18 02:52:32,813 Stage-1 map = 89%, reduce = 0% -2013-09-18 02:52:34,829 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.3 sec -2013-09-18 02:52:35,836 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.3 sec -2013-09-18 02:52:36,843 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.3 sec -2013-09-18 02:52:37,849 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.3 sec -2013-09-18 02:52:38,855 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.3 sec -2013-09-18 02:52:39,861 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.3 sec -2013-09-18 02:52:40,866 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 68.3 sec -2013-09-18 02:52:41,872 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 68.3 sec -2013-09-18 02:52:42,877 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 68.3 sec -2013-09-18 02:52:43,885 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.39 sec -2013-09-18 02:52:44,891 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.39 sec -2013-09-18 02:52:45,897 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.39 sec -MapReduce Total cumulative CPU time: 1 minutes 17 seconds 390 msec -Ended Job = job_201309172235_0282 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 77.39 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 390 msec -OK -Time taken: 31.482 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но без сортировки.; - - -times: 1 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_300@mturlrep13_201309180252_1115673732.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0283 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:53:02,084 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:53:09,112 Stage-1 map = 15%, reduce = 0% -2013-09-18 02:53:12,137 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:13,143 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:14,151 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:15,163 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:16,169 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:17,177 Stage-1 map = 48%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:18,184 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:19,189 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:20,216 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:21,223 Stage-1 map = 85%, reduce = 0%, Cumulative CPU 40.15 sec -2013-09-18 02:53:22,231 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 56.66 sec -2013-09-18 02:53:23,237 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 56.66 sec -2013-09-18 02:53:24,244 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 95.24 sec -2013-09-18 02:53:25,249 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 115.4 sec -2013-09-18 02:53:26,255 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 115.4 sec -2013-09-18 02:53:27,260 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 115.4 sec -2013-09-18 02:53:28,266 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 115.4 sec -2013-09-18 02:53:29,272 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 115.4 sec -2013-09-18 02:53:30,278 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 115.4 sec -2013-09-18 02:53:31,283 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 115.4 sec -2013-09-18 02:53:32,288 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 115.4 sec -2013-09-18 02:53:33,293 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 115.4 sec -2013-09-18 02:53:34,298 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 115.4 sec -2013-09-18 02:53:35,303 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 115.4 sec -2013-09-18 02:53:36,308 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 115.4 sec -2013-09-18 02:53:37,314 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 115.4 sec -2013-09-18 02:53:38,320 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 115.4 sec -2013-09-18 02:53:39,325 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 115.4 sec -2013-09-18 02:53:40,330 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 115.4 sec -2013-09-18 02:53:41,336 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 115.4 sec -2013-09-18 02:53:42,341 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 115.4 sec -2013-09-18 02:53:43,345 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 115.4 sec -2013-09-18 02:53:44,351 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 115.4 sec -2013-09-18 02:53:45,356 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 115.4 sec -2013-09-18 02:53:46,361 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 115.4 sec -2013-09-18 02:53:47,367 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 159.4 sec -2013-09-18 02:53:48,372 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 159.4 sec -2013-09-18 02:53:49,378 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 159.4 sec -MapReduce Total cumulative CPU time: 2 minutes 39 seconds 400 msec -Ended Job = job_201309172235_0283 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0284 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:53:51,875 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:54:05,919 Stage-2 map = 28%, reduce = 0% -2013-09-18 02:54:11,975 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:12,981 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:13,986 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:14,991 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:15,996 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:17,001 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:18,006 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:19,011 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:20,016 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:21,021 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:22,026 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:23,032 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:24,037 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:25,042 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:26,047 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:27,052 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 20.31 sec -2013-09-18 02:54:28,057 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:29,062 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:30,066 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:31,071 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:32,075 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:33,080 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:34,085 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:35,090 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:36,095 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:37,100 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.15 sec -2013-09-18 02:54:38,105 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 42.15 sec -2013-09-18 02:54:39,110 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 42.15 sec -2013-09-18 02:54:40,115 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 48.87 sec -2013-09-18 02:54:41,121 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 48.87 sec -MapReduce Total cumulative CPU time: 48 seconds 870 msec -Ended Job = job_201309172235_0284 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 159.4 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 48.87 sec HDFS Read: 241349358 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 28 seconds 270 msec -OK -Time taken: 109.132 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2351@mturlrep13_201309180254_1547940573.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0285 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:54:50,345 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:54:58,379 Stage-1 map = 15%, reduce = 0% -2013-09-18 02:55:01,391 Stage-1 map = 40%, reduce = 0% -2013-09-18 02:55:04,405 Stage-1 map = 59%, reduce = 0% -2013-09-18 02:55:07,418 Stage-1 map = 74%, reduce = 0% -2013-09-18 02:55:10,437 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 93.25 sec -2013-09-18 02:55:11,444 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 93.25 sec -2013-09-18 02:55:12,452 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.72 sec -2013-09-18 02:55:13,458 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.72 sec -2013-09-18 02:55:14,464 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.72 sec -2013-09-18 02:55:15,469 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.72 sec -2013-09-18 02:55:16,474 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.72 sec -2013-09-18 02:55:17,481 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.72 sec -2013-09-18 02:55:18,487 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 112.72 sec -2013-09-18 02:55:19,492 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 112.72 sec -2013-09-18 02:55:20,497 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 112.72 sec -2013-09-18 02:55:21,503 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 112.72 sec -2013-09-18 02:55:22,509 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 112.72 sec -2013-09-18 02:55:23,515 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 112.72 sec -2013-09-18 02:55:24,524 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 112.72 sec -2013-09-18 02:55:25,529 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 112.72 sec -2013-09-18 02:55:26,535 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 112.72 sec -2013-09-18 02:55:27,540 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 112.72 sec -2013-09-18 02:55:28,545 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 112.72 sec -2013-09-18 02:55:29,551 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 112.72 sec -2013-09-18 02:55:30,557 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 112.72 sec -2013-09-18 02:55:31,562 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 112.72 sec -2013-09-18 02:55:32,568 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 112.72 sec -2013-09-18 02:55:33,573 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 112.72 sec -2013-09-18 02:55:34,580 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 156.37 sec -2013-09-18 02:55:35,585 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 156.37 sec -2013-09-18 02:55:36,591 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 156.37 sec -MapReduce Total cumulative CPU time: 2 minutes 36 seconds 370 msec -Ended Job = job_201309172235_0285 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0286 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:55:40,097 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:55:53,132 Stage-2 map = 28%, reduce = 0% -2013-09-18 02:55:59,148 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:56:08,170 Stage-2 map = 78%, reduce = 0% -2013-09-18 02:56:17,199 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:18,204 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:19,209 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:20,214 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:21,218 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:22,222 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:23,227 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:24,232 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:25,238 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:26,243 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.74 sec -2013-09-18 02:56:27,249 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 43.74 sec -2013-09-18 02:56:28,254 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.54 sec -2013-09-18 02:56:29,260 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.54 sec -2013-09-18 02:56:30,265 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.54 sec -MapReduce Total cumulative CPU time: 50 seconds 540 msec -Ended Job = job_201309172235_0286 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 156.37 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 50.54 sec HDFS Read: 241349358 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 26 seconds 910 msec -OK -Time taken: 107.333 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5002@mturlrep13_201309180256_1377188535.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0287 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 02:56:40,498 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:56:47,527 Stage-1 map = 15%, reduce = 0% -2013-09-18 02:56:50,540 Stage-1 map = 44%, reduce = 0% -2013-09-18 02:56:53,554 Stage-1 map = 59%, reduce = 0% -2013-09-18 02:56:56,569 Stage-1 map = 78%, reduce = 0% -2013-09-18 02:56:59,590 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 26.21 sec -2013-09-18 02:57:00,596 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 53.06 sec -2013-09-18 02:57:01,604 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 109.54 sec -2013-09-18 02:57:02,609 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 109.54 sec -2013-09-18 02:57:03,614 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 109.54 sec -2013-09-18 02:57:04,619 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 109.54 sec -2013-09-18 02:57:05,625 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 109.54 sec -2013-09-18 02:57:06,631 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 109.54 sec -2013-09-18 02:57:07,637 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 109.54 sec -2013-09-18 02:57:08,643 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 109.54 sec -2013-09-18 02:57:09,649 Stage-1 map = 100%, reduce = 46%, Cumulative CPU 109.54 sec -2013-09-18 02:57:10,657 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 121.89 sec -2013-09-18 02:57:11,664 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 121.89 sec -2013-09-18 02:57:12,670 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 121.89 sec -2013-09-18 02:57:13,676 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 121.89 sec -2013-09-18 02:57:14,682 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 121.89 sec -2013-09-18 02:57:15,689 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 121.89 sec -2013-09-18 02:57:16,695 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 121.89 sec -2013-09-18 02:57:17,702 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 121.89 sec -2013-09-18 02:57:18,708 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 121.89 sec -2013-09-18 02:57:19,715 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 121.89 sec -2013-09-18 02:57:20,722 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 121.89 sec -2013-09-18 02:57:21,728 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 121.89 sec -2013-09-18 02:57:22,733 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 121.89 sec -2013-09-18 02:57:23,740 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 152.17 sec -2013-09-18 02:57:24,747 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 152.17 sec -MapReduce Total cumulative CPU time: 2 minutes 32 seconds 170 msec -Ended Job = job_201309172235_0287 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0288 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 02:57:28,223 Stage-2 map = 0%, reduce = 0% -2013-09-18 02:57:41,263 Stage-2 map = 28%, reduce = 0% -2013-09-18 02:57:47,345 Stage-2 map = 50%, reduce = 0% -2013-09-18 02:57:53,362 Stage-2 map = 78%, reduce = 0% -2013-09-18 02:58:04,395 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:05,401 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:06,406 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:07,411 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:08,416 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:09,420 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:10,425 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:11,431 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:12,436 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:13,442 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.57 sec -2013-09-18 02:58:14,446 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 43.57 sec -2013-09-18 02:58:15,451 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 43.57 sec -2013-09-18 02:58:16,455 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.29 sec -2013-09-18 02:58:17,460 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.29 sec -2013-09-18 02:58:18,465 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.29 sec -MapReduce Total cumulative CPU time: 50 seconds 290 msec -Ended Job = job_201309172235_0288 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 152.17 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 50.29 sec HDFS Read: 241349358 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 22 seconds 460 msec -OK -Time taken: 106.376 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - - -times: 1 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7338@mturlrep13_201309180258_545165403.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0289 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-18 02:58:36,403 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:58:42,436 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 16.49 sec -2013-09-18 02:58:43,443 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 16.49 sec -2013-09-18 02:58:44,451 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 16.49 sec -MapReduce Total cumulative CPU time: 16 seconds 490 msec -Ended Job = job_201309172235_0289 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 16.49 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 16 seconds 490 msec -OK -Time taken: 17.948 seconds -hive> quit; - -times: 2 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8366@mturlrep13_201309180258_1808547962.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0290 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-18 02:58:54,728 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:58:58,753 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 16.35 sec -2013-09-18 02:58:59,761 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 16.35 sec -2013-09-18 02:59:00,768 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 16.35 sec -MapReduce Total cumulative CPU time: 16 seconds 350 msec -Ended Job = job_201309172235_0290 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 16.35 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 16 seconds 350 msec -OK -Time taken: 14.47 seconds -hive> quit; - -times: 3 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9390@mturlrep13_201309180259_978485030.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0291 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-18 02:59:10,689 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:59:14,716 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 4.14 sec -2013-09-18 02:59:15,723 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 17.49 sec -2013-09-18 02:59:16,732 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 17.49 sec -MapReduce Total cumulative CPU time: 17 seconds 490 msec -Ended Job = job_201309172235_0291 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 17.49 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 17 seconds 490 msec -OK -Time taken: 14.154 seconds -hive> quit; --- мощная фильтрация по столбцу типа UInt64.; - - -times: 1 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10422@mturlrep13_201309180259_1489695405.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0292 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:59:33,176 Stage-1 map = 0%, reduce = 0% -2013-09-18 02:59:40,206 Stage-1 map = 74%, reduce = 0% -2013-09-18 02:59:41,218 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.3 sec -2013-09-18 02:59:42,225 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.3 sec -2013-09-18 02:59:43,232 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.3 sec -2013-09-18 02:59:44,236 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.3 sec -2013-09-18 02:59:45,242 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.3 sec -2013-09-18 02:59:46,247 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.3 sec -2013-09-18 02:59:47,254 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.3 sec -2013-09-18 02:59:48,261 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 36.3 sec -2013-09-18 02:59:49,269 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 38.08 sec -2013-09-18 02:59:50,275 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 38.08 sec -MapReduce Total cumulative CPU time: 38 seconds 80 msec -Ended Job = job_201309172235_0292 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 38.08 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 38 seconds 80 msec -OK -8428 -Time taken: 27.452 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11577@mturlrep13_201309180259_208606502.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0293 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 02:59:59,752 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:00:07,795 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:00:08,802 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:00:09,809 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:00:10,815 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:00:11,821 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:00:12,827 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:00:13,834 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:00:14,841 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 36.09 sec -2013-09-18 03:00:15,848 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.96 sec -2013-09-18 03:00:16,855 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.96 sec -MapReduce Total cumulative CPU time: 37 seconds 960 msec -Ended Job = job_201309172235_0293 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 37.96 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 37 seconds 960 msec -OK -8428 -Time taken: 24.527 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13398@mturlrep13_201309180300_29036781.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0294 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:00:27,278 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:00:33,314 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 8.78 sec -2013-09-18 03:00:34,322 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.08 sec -2013-09-18 03:00:35,329 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.08 sec -2013-09-18 03:00:36,334 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.08 sec -2013-09-18 03:00:37,340 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.08 sec -2013-09-18 03:00:38,346 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.08 sec -2013-09-18 03:00:39,351 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.08 sec -2013-09-18 03:00:40,356 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.08 sec -2013-09-18 03:00:41,364 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.24 sec -2013-09-18 03:00:42,372 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.24 sec -2013-09-18 03:00:43,377 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.24 sec -MapReduce Total cumulative CPU time: 39 seconds 240 msec -Ended Job = job_201309172235_0294 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 39.24 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 39 seconds 240 msec -OK -8428 -Time taken: 24.674 seconds, Fetched: 1 row(s) -hive> quit; --- фильтрация по поиску подстроки в строке.; - - -times: 1 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14574@mturlrep13_201309180300_1950004320.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0295 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:00:59,984 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:01:08,021 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:01:09,034 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 28.57 sec -2013-09-18 03:01:10,042 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.55 sec -2013-09-18 03:01:11,051 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.55 sec -2013-09-18 03:01:12,057 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.55 sec -2013-09-18 03:01:13,064 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.55 sec -2013-09-18 03:01:14,071 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.55 sec -2013-09-18 03:01:15,078 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.55 sec -2013-09-18 03:01:16,084 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.55 sec -2013-09-18 03:01:17,103 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.91 sec -2013-09-18 03:01:18,109 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.91 sec -MapReduce Total cumulative CPU time: 42 seconds 910 msec -Ended Job = job_201309172235_0295 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0296 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:01:20,611 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:01:22,620 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:01:23,626 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:01:24,631 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:01:25,636 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:01:26,641 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:01:27,647 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:01:28,652 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:01:29,657 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.66 sec -2013-09-18 03:01:30,663 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -2013-09-18 03:01:31,669 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.26 sec -MapReduce Total cumulative CPU time: 2 seconds 260 msec -Ended Job = job_201309172235_0296 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.91 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.26 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 170 msec -OK -Time taken: 41.792 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16383@mturlrep13_201309180301_278669941.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0297 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:01:41,964 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:01:49,008 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 9.23 sec -2013-09-18 03:01:50,016 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.34 sec -2013-09-18 03:01:51,024 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.34 sec -2013-09-18 03:01:52,031 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.34 sec -2013-09-18 03:01:53,036 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.34 sec -2013-09-18 03:01:54,042 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.34 sec -2013-09-18 03:01:55,049 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.34 sec -2013-09-18 03:01:56,056 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.34 sec -2013-09-18 03:01:57,065 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.44 sec -2013-09-18 03:01:58,071 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.44 sec -2013-09-18 03:01:59,078 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.44 sec -MapReduce Total cumulative CPU time: 43 seconds 440 msec -Ended Job = job_201309172235_0297 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0298 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:02:01,570 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:02:03,580 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:04,586 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:05,591 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:06,596 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:07,601 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:08,606 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:09,611 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:10,617 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.21 sec -2013-09-18 03:02:11,623 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 03:02:12,629 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 03:02:13,635 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -MapReduce Total cumulative CPU time: 2 seconds 210 msec -Ended Job = job_201309172235_0298 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 43.44 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.21 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 650 msec -OK -Time taken: 40.17 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18173@mturlrep13_201309180302_1009071937.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0299 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:02:23,943 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:02:30,983 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 9.23 sec -2013-09-18 03:02:31,990 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.61 sec -2013-09-18 03:02:32,998 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.61 sec -2013-09-18 03:02:34,004 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.61 sec -2013-09-18 03:02:35,010 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.61 sec -2013-09-18 03:02:36,015 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.61 sec -2013-09-18 03:02:37,021 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.61 sec -2013-09-18 03:02:38,027 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.61 sec -2013-09-18 03:02:39,036 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.69 sec -2013-09-18 03:02:40,042 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.69 sec -2013-09-18 03:02:41,048 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.69 sec -MapReduce Total cumulative CPU time: 42 seconds 690 msec -Ended Job = job_201309172235_0299 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0300 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:02:43,536 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:02:45,545 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:46,551 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:47,556 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:48,560 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:49,565 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:50,570 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:51,575 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:02:52,580 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.64 sec -2013-09-18 03:02:53,585 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 03:02:54,591 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 03:02:55,597 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -MapReduce Total cumulative CPU time: 2 seconds 210 msec -Ended Job = job_201309172235_0300 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.69 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.21 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 900 msec -OK -Time taken: 40.052 seconds, Fetched: 10 row(s) -hive> quit; --- вынимаем большие столбцы, фильтрация по строке.; - - -times: 1 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19998@mturlrep13_201309180303_483326023.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0301 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:03:12,709 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:03:19,743 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:03:22,757 Stage-1 map = 81%, reduce = 0% -2013-09-18 03:03:23,769 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.01 sec -2013-09-18 03:03:24,777 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.01 sec -2013-09-18 03:03:25,783 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.01 sec -2013-09-18 03:03:26,790 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.01 sec -2013-09-18 03:03:27,797 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.01 sec -2013-09-18 03:03:28,802 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.01 sec -2013-09-18 03:03:29,808 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.01 sec -2013-09-18 03:03:30,814 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 51.01 sec -2013-09-18 03:03:31,821 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 55.69 sec -2013-09-18 03:03:32,828 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 55.69 sec -MapReduce Total cumulative CPU time: 55 seconds 690 msec -Ended Job = job_201309172235_0301 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0302 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:03:36,496 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:03:38,506 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:03:39,511 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:03:40,516 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:03:41,521 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:03:42,526 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:03:43,531 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:03:44,536 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:03:45,542 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 03:03:46,549 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -2013-09-18 03:03:47,555 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.21 sec -MapReduce Total cumulative CPU time: 2 seconds 210 msec -Ended Job = job_201309172235_0302 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 55.69 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.21 sec HDFS Read: 12990 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 57 seconds 900 msec -OK -Time taken: 45.079 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21928@mturlrep13_201309180303_564237676.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0303 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:03:56,744 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:04:04,788 Stage-1 map = 48%, reduce = 0% -2013-09-18 03:04:06,804 Stage-1 map = 57%, reduce = 0%, Cumulative CPU 11.57 sec -2013-09-18 03:04:07,820 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.6 sec -2013-09-18 03:04:08,827 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.6 sec -2013-09-18 03:04:09,833 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.6 sec -2013-09-18 03:04:10,839 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.6 sec -2013-09-18 03:04:11,845 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.6 sec -2013-09-18 03:04:12,850 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.6 sec -2013-09-18 03:04:13,856 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.6 sec -2013-09-18 03:04:14,864 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.66 sec -2013-09-18 03:04:15,870 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.66 sec -2013-09-18 03:04:16,877 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.66 sec -MapReduce Total cumulative CPU time: 53 seconds 660 msec -Ended Job = job_201309172235_0303 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0304 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:04:20,500 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:04:21,506 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:04:22,512 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:04:23,518 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:04:24,523 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:04:25,527 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:04:26,532 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:04:27,537 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:04:28,542 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:04:29,548 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.66 sec -2013-09-18 03:04:30,554 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -2013-09-18 03:04:31,560 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -MapReduce Total cumulative CPU time: 2 seconds 250 msec -Ended Job = job_201309172235_0304 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 53.66 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.25 sec HDFS Read: 12990 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 55 seconds 910 msec -OK -Time taken: 42.12 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23843@mturlrep13_201309180304_1844665833.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0305 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:04:42,274 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:04:49,306 Stage-1 map = 48%, reduce = 0% -2013-09-18 03:04:52,325 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 37.24 sec -2013-09-18 03:04:53,332 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.15 sec -2013-09-18 03:04:54,339 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.15 sec -2013-09-18 03:04:55,345 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.15 sec -2013-09-18 03:04:56,351 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.15 sec -2013-09-18 03:04:57,357 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.15 sec -2013-09-18 03:04:58,363 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 50.15 sec -2013-09-18 03:04:59,369 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 50.15 sec -2013-09-18 03:05:00,379 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 54.25 sec -2013-09-18 03:05:01,386 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 54.25 sec -MapReduce Total cumulative CPU time: 54 seconds 250 msec -Ended Job = job_201309172235_0305 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0306 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:05:05,825 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:05:07,833 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:05:08,839 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:05:09,844 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:05:10,848 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:05:11,853 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:05:12,858 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:05:13,863 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:05:14,868 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.66 sec -2013-09-18 03:05:15,874 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.32 sec -2013-09-18 03:05:16,880 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.32 sec -MapReduce Total cumulative CPU time: 2 seconds 320 msec -Ended Job = job_201309172235_0306 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 54.25 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.32 sec HDFS Read: 12990 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 56 seconds 570 msec -OK -Time taken: 43.438 seconds, Fetched: 10 row(s) -hive> quit; --- чуть больше столбцы.; - - -times: 1 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26447@mturlrep13_201309180305_468727938.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0307 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:05:34,147 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:05:44,189 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:05:47,201 Stage-1 map = 29%, reduce = 0% -2013-09-18 03:05:51,218 Stage-1 map = 33%, reduce = 0% -2013-09-18 03:05:53,227 Stage-1 map = 37%, reduce = 0% -2013-09-18 03:05:54,247 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:05:56,278 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:05:59,290 Stage-1 map = 67%, reduce = 0% -2013-09-18 03:06:03,314 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 39.6 sec -2013-09-18 03:06:04,322 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 39.6 sec -2013-09-18 03:06:05,327 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 77.13 sec -2013-09-18 03:06:06,333 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 77.13 sec -2013-09-18 03:06:07,338 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 166.73 sec -2013-09-18 03:06:08,344 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 166.73 sec -2013-09-18 03:06:09,350 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 166.73 sec -2013-09-18 03:06:10,355 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 166.73 sec -2013-09-18 03:06:11,361 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 167.32 sec -2013-09-18 03:06:12,368 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.65 sec -2013-09-18 03:06:13,374 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.65 sec -2013-09-18 03:06:14,380 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.65 sec -MapReduce Total cumulative CPU time: 2 minutes 49 seconds 650 msec -Ended Job = job_201309172235_0307 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 169.65 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 49 seconds 650 msec -OK -Time taken: 50.847 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27643@mturlrep13_201309180306_526482942.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0308 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:06:24,046 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:06:35,093 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:06:38,107 Stage-1 map = 29%, reduce = 0% -2013-09-18 03:06:41,122 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:06:44,158 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:06:47,171 Stage-1 map = 63%, reduce = 0% -2013-09-18 03:06:50,185 Stage-1 map = 78%, reduce = 0% -2013-09-18 03:06:52,213 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 33.78 sec -2013-09-18 03:06:53,220 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 33.78 sec -2013-09-18 03:06:54,225 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 72.08 sec -2013-09-18 03:06:55,230 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 148.07 sec -2013-09-18 03:06:56,235 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 148.07 sec -2013-09-18 03:06:57,241 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 148.07 sec -2013-09-18 03:06:58,246 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 148.07 sec -2013-09-18 03:06:59,252 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 148.07 sec -2013-09-18 03:07:00,260 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 150.7 sec -2013-09-18 03:07:01,266 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 150.7 sec -2013-09-18 03:07:02,273 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 150.7 sec -MapReduce Total cumulative CPU time: 2 minutes 30 seconds 700 msec -Ended Job = job_201309172235_0308 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 150.7 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 30 seconds 700 msec -OK -Time taken: 46.004 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28785@mturlrep13_201309180307_1226276178.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0309 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:07:12,867 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:07:22,931 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:07:25,943 Stage-1 map = 29%, reduce = 0% -2013-09-18 03:07:28,956 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:07:31,968 Stage-1 map = 48%, reduce = 0% -2013-09-18 03:07:34,979 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:07:37,991 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:07:40,007 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 37.4 sec -2013-09-18 03:07:41,014 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 37.4 sec -2013-09-18 03:07:42,019 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 37.4 sec -2013-09-18 03:07:43,024 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 37.4 sec -2013-09-18 03:07:44,030 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 160.55 sec -2013-09-18 03:07:45,035 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 160.55 sec -2013-09-18 03:07:46,040 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 160.55 sec -2013-09-18 03:07:47,045 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 160.55 sec -2013-09-18 03:07:48,052 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 163.46 sec -2013-09-18 03:07:49,059 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 163.46 sec -2013-09-18 03:07:50,065 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 163.46 sec -MapReduce Total cumulative CPU time: 2 minutes 43 seconds 460 msec -Ended Job = job_201309172235_0309 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 163.46 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 43 seconds 460 msec -OK -Time taken: 45.95 seconds, Fetched: 10 row(s) -hive> quit; --- плохой запрос - вынимаем все столбцы.; - - -times: 1 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29936@mturlrep13_201309180307_1379307985.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0310 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:08:06,541 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:08:14,581 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 19.92 sec -2013-09-18 03:08:15,589 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:16,597 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:17,602 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:18,607 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:19,613 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:20,619 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:21,626 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:22,632 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:23,637 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:24,643 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.4 sec -2013-09-18 03:08:25,651 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.56 sec -2013-09-18 03:08:26,656 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.56 sec -2013-09-18 03:08:27,662 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.56 sec -MapReduce Total cumulative CPU time: 45 seconds 560 msec -Ended Job = job_201309172235_0310 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 45.56 sec HDFS Read: 28228143 HDFS Write: 766 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 560 msec -OK -Time taken: 31.007 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31173@mturlrep13_201309180308_1952201032.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0311 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:08:37,914 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:08:44,951 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.48 sec -2013-09-18 03:08:45,959 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.48 sec -2013-09-18 03:08:46,969 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.48 sec -2013-09-18 03:08:47,974 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.48 sec -2013-09-18 03:08:48,980 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.48 sec -2013-09-18 03:08:49,986 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.48 sec -2013-09-18 03:08:50,992 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.48 sec -2013-09-18 03:08:51,998 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 39.48 sec -2013-09-18 03:08:53,004 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 39.48 sec -2013-09-18 03:08:54,009 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 39.48 sec -2013-09-18 03:08:55,017 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.59 sec -2013-09-18 03:08:56,023 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.59 sec -MapReduce Total cumulative CPU time: 44 seconds 590 msec -Ended Job = job_201309172235_0311 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 44.59 sec HDFS Read: 28228143 HDFS Write: 766 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 590 msec -OK -Time taken: 26.473 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32425@mturlrep13_201309180308_2035672137.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0312 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:09:05,993 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:09:13,029 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 29.62 sec -2013-09-18 03:09:14,037 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.74 sec -2013-09-18 03:09:15,043 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.74 sec -2013-09-18 03:09:16,049 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.74 sec -2013-09-18 03:09:17,054 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.74 sec -2013-09-18 03:09:18,060 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.74 sec -2013-09-18 03:09:19,066 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.74 sec -2013-09-18 03:09:20,072 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.74 sec -2013-09-18 03:09:21,079 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 39.74 sec -2013-09-18 03:09:22,085 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 39.74 sec -2013-09-18 03:09:23,092 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.03 sec -2013-09-18 03:09:24,098 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.03 sec -MapReduce Total cumulative CPU time: 45 seconds 30 msec -Ended Job = job_201309172235_0312 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 45.03 sec HDFS Read: 28228143 HDFS Write: 766 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 30 msec -OK -Time taken: 26.277 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка.; - - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1250@mturlrep13_201309180309_358088813.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0313 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:09:40,971 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:09:49,018 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 10.24 sec -2013-09-18 03:09:50,025 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.07 sec -2013-09-18 03:09:51,032 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.07 sec -2013-09-18 03:09:52,037 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.07 sec -2013-09-18 03:09:53,042 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.07 sec -2013-09-18 03:09:54,048 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.07 sec -2013-09-18 03:09:55,053 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.07 sec -2013-09-18 03:09:56,059 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.07 sec -2013-09-18 03:09:57,065 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.07 sec -2013-09-18 03:09:58,070 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.07 sec -2013-09-18 03:09:59,075 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.07 sec -2013-09-18 03:10:00,080 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 42.07 sec -2013-09-18 03:10:01,087 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 48.23 sec -2013-09-18 03:10:02,093 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 48.23 sec -MapReduce Total cumulative CPU time: 48 seconds 230 msec -Ended Job = job_201309172235_0313 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 48.23 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 48 seconds 230 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 30.985 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2534@mturlrep13_201309180310_1314367270.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0314 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:10:12,384 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:10:19,428 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 20.28 sec -2013-09-18 03:10:20,435 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.07 sec -2013-09-18 03:10:21,442 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.07 sec -2013-09-18 03:10:22,447 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.07 sec -2013-09-18 03:10:23,452 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.07 sec -2013-09-18 03:10:24,457 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.07 sec -2013-09-18 03:10:25,463 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.07 sec -2013-09-18 03:10:26,469 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 41.07 sec -2013-09-18 03:10:27,475 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 41.07 sec -2013-09-18 03:10:28,481 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 41.07 sec -2013-09-18 03:10:29,486 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 41.07 sec -2013-09-18 03:10:30,494 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.39 sec -2013-09-18 03:10:31,500 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.39 sec -MapReduce Total cumulative CPU time: 47 seconds 390 msec -Ended Job = job_201309172235_0314 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 47.39 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 47 seconds 390 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 27.724 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4327@mturlrep13_201309180310_2107081385.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0315 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:10:40,801 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:10:48,841 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.7 sec -2013-09-18 03:10:49,849 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.7 sec -2013-09-18 03:10:50,856 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.7 sec -2013-09-18 03:10:51,862 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.7 sec -2013-09-18 03:10:52,867 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.7 sec -2013-09-18 03:10:53,872 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.7 sec -2013-09-18 03:10:54,877 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.7 sec -2013-09-18 03:10:55,884 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.7 sec -2013-09-18 03:10:56,889 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 40.7 sec -2013-09-18 03:10:57,894 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 40.7 sec -2013-09-18 03:10:58,899 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 40.7 sec -2013-09-18 03:10:59,906 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.23 sec -2013-09-18 03:11:00,915 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.23 sec -MapReduce Total cumulative CPU time: 47 seconds 230 msec -Ended Job = job_201309172235_0315 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 47.23 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 47 seconds 230 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 27.357 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка по строкам.; - - -times: 1 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5527@mturlrep13_201309180311_656071928.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0316 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:11:19,126 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:11:26,155 Stage-1 map = 85%, reduce = 0% -2013-09-18 03:11:27,169 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 10.31 sec -2013-09-18 03:11:28,177 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.22 sec -2013-09-18 03:11:29,184 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.22 sec -2013-09-18 03:11:30,190 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.22 sec -2013-09-18 03:11:31,196 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.22 sec -2013-09-18 03:11:32,201 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.22 sec -2013-09-18 03:11:33,206 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.22 sec -2013-09-18 03:11:34,213 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.22 sec -2013-09-18 03:11:35,219 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 41.22 sec -2013-09-18 03:11:36,225 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 41.22 sec -2013-09-18 03:11:37,255 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 41.22 sec -2013-09-18 03:11:38,260 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 41.22 sec -2013-09-18 03:11:39,268 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 48.23 sec -2013-09-18 03:11:40,274 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 48.23 sec -2013-09-18 03:11:41,280 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 48.23 sec -MapReduce Total cumulative CPU time: 48 seconds 230 msec -Ended Job = job_201309172235_0316 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 48.23 sec HDFS Read: 28228143 HDFS Write: 762 SUCCESS -Total MapReduce CPU Time Spent: 48 seconds 230 msec -OK -Time taken: 32.747 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7168@mturlrep13_201309180311_1915819780.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0317 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:11:50,402 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:11:58,444 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 10.7 sec -2013-09-18 03:11:59,451 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.62 sec -2013-09-18 03:12:00,458 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.62 sec -2013-09-18 03:12:01,463 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.62 sec -2013-09-18 03:12:02,468 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.62 sec -2013-09-18 03:12:03,473 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.62 sec -2013-09-18 03:12:04,479 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 41.62 sec -2013-09-18 03:12:05,485 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 41.62 sec -2013-09-18 03:12:06,490 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 41.62 sec -2013-09-18 03:12:07,496 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 41.62 sec -2013-09-18 03:12:08,501 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 41.62 sec -2013-09-18 03:12:09,508 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 48.08 sec -2013-09-18 03:12:10,515 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 48.08 sec -2013-09-18 03:12:11,520 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 48.08 sec -MapReduce Total cumulative CPU time: 48 seconds 80 msec -Ended Job = job_201309172235_0317 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 48.08 sec HDFS Read: 28228143 HDFS Write: 762 SUCCESS -Total MapReduce CPU Time Spent: 48 seconds 80 msec -OK -Time taken: 28.329 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8422@mturlrep13_201309180312_364801550.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0318 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:12:21,723 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:12:28,768 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 9.8 sec -2013-09-18 03:12:29,775 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.77 sec -2013-09-18 03:12:30,780 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.77 sec -2013-09-18 03:12:31,785 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.77 sec -2013-09-18 03:12:32,790 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.77 sec -2013-09-18 03:12:33,796 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.77 sec -2013-09-18 03:12:34,801 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 42.77 sec -2013-09-18 03:12:35,807 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 42.77 sec -2013-09-18 03:12:36,814 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 42.77 sec -2013-09-18 03:12:37,820 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 42.77 sec -2013-09-18 03:12:38,828 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 49.41 sec -2013-09-18 03:12:39,833 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 49.41 sec -2013-09-18 03:12:40,839 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 49.41 sec -MapReduce Total cumulative CPU time: 49 seconds 410 msec -Ended Job = job_201309172235_0318 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 49.41 sec HDFS Read: 28228143 HDFS Write: 762 SUCCESS -Total MapReduce CPU Time Spent: 49 seconds 410 msec -OK -Time taken: 27.439 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка по кортежу.; - - -times: 1 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9670@mturlrep13_201309180312_462358371.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0319 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:12:57,315 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:13:04,346 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:13:07,360 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:13:10,373 Stage-1 map = 63%, reduce = 0% -2013-09-18 03:13:13,393 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 68.42 sec -2013-09-18 03:13:14,400 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 68.42 sec -2013-09-18 03:13:15,412 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 73.5 sec -2013-09-18 03:13:16,420 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 79.72 sec -2013-09-18 03:13:17,427 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 93.63 sec -2013-09-18 03:13:18,434 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 93.63 sec -2013-09-18 03:13:19,439 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 93.63 sec -2013-09-18 03:13:20,444 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 93.63 sec -2013-09-18 03:13:21,449 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 93.63 sec -2013-09-18 03:13:22,456 Stage-1 map = 100%, reduce = 4%, Cumulative CPU 93.63 sec -2013-09-18 03:13:23,462 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 93.63 sec -2013-09-18 03:13:24,468 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 93.63 sec -2013-09-18 03:13:25,474 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 93.63 sec -2013-09-18 03:13:26,481 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 93.63 sec -2013-09-18 03:13:27,487 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 93.63 sec -2013-09-18 03:13:28,493 Stage-1 map = 100%, reduce = 71%, Cumulative CPU 93.63 sec -2013-09-18 03:13:29,498 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 93.63 sec -2013-09-18 03:13:30,505 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 103.43 sec -2013-09-18 03:13:31,511 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 103.43 sec -2013-09-18 03:13:32,516 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 103.43 sec -2013-09-18 03:13:33,521 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 103.43 sec -2013-09-18 03:13:34,527 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 117.54 sec -2013-09-18 03:13:35,533 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 117.54 sec -MapReduce Total cumulative CPU time: 1 minutes 57 seconds 540 msec -Ended Job = job_201309172235_0319 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0320 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:13:39,017 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:13:40,022 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:13:41,027 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:13:42,033 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:13:43,039 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:13:44,044 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:13:45,049 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:13:46,053 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:13:47,058 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:13:48,064 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -2013-09-18 03:13:49,069 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -2013-09-18 03:13:50,074 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -MapReduce Total cumulative CPU time: 2 seconds 230 msec -Ended Job = job_201309172235_0320 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 117.54 sec HDFS Read: 117363067 HDFS Write: 794 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.23 sec HDFS Read: 1563 HDFS Write: 571 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 59 seconds 770 msec -OK -Time taken: 62.932 seconds, Fetched: 19 row(s) -hive> quit; - -times: 2 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11483@mturlrep13_201309180313_1683269213.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0321 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:13:59,358 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:14:07,402 Stage-1 map = 29%, reduce = 0% -2013-09-18 03:14:10,416 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:14:13,434 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 56.74 sec -2013-09-18 03:14:14,442 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 56.74 sec -2013-09-18 03:14:15,450 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 56.74 sec -2013-09-18 03:14:16,460 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 63.68 sec -2013-09-18 03:14:17,467 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 72.77 sec -2013-09-18 03:14:18,473 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 92.25 sec -2013-09-18 03:14:19,479 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 92.25 sec -2013-09-18 03:14:20,484 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 92.25 sec -2013-09-18 03:14:21,490 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 92.25 sec -2013-09-18 03:14:22,496 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 92.25 sec -2013-09-18 03:14:23,503 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 92.25 sec -2013-09-18 03:14:24,509 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 92.25 sec -2013-09-18 03:14:25,515 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 92.25 sec -2013-09-18 03:14:26,521 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 92.25 sec -2013-09-18 03:14:27,528 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 92.25 sec -2013-09-18 03:14:28,534 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 92.25 sec -2013-09-18 03:14:29,540 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 92.25 sec -2013-09-18 03:14:30,548 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 102.34 sec -2013-09-18 03:14:31,554 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 102.34 sec -2013-09-18 03:14:32,561 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 102.34 sec -2013-09-18 03:14:33,567 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 102.34 sec -2013-09-18 03:14:34,573 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 116.97 sec -2013-09-18 03:14:35,579 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 116.97 sec -MapReduce Total cumulative CPU time: 1 minutes 56 seconds 970 msec -Ended Job = job_201309172235_0321 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0322 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:14:38,052 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:14:40,061 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:14:41,066 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:14:42,071 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:14:43,075 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:14:44,081 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:14:45,086 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:14:46,090 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:14:47,096 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.66 sec -2013-09-18 03:14:48,102 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.07 sec -2013-09-18 03:14:49,107 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.07 sec -MapReduce Total cumulative CPU time: 2 seconds 70 msec -Ended Job = job_201309172235_0322 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 116.97 sec HDFS Read: 117363067 HDFS Write: 794 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.07 sec HDFS Read: 1563 HDFS Write: 571 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 59 seconds 40 msec -OK -Time taken: 57.159 seconds, Fetched: 19 row(s) -hive> quit; - -times: 3 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13299@mturlrep13_201309180314_854084991.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0323 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:14:59,355 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:15:06,385 Stage-1 map = 25%, reduce = 0% -2013-09-18 03:15:09,399 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:15:12,413 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:15:15,516 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 74.75 sec -2013-09-18 03:15:16,523 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 80.15 sec -2013-09-18 03:15:17,530 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 91.8 sec -2013-09-18 03:15:18,536 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 91.8 sec -2013-09-18 03:15:19,542 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 91.8 sec -2013-09-18 03:15:20,547 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 91.8 sec -2013-09-18 03:15:21,552 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 91.8 sec -2013-09-18 03:15:22,558 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 91.8 sec -2013-09-18 03:15:23,563 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 91.8 sec -2013-09-18 03:15:24,568 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 91.8 sec -2013-09-18 03:15:25,574 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 91.8 sec -2013-09-18 03:15:26,579 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 91.8 sec -2013-09-18 03:15:27,585 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 91.8 sec -2013-09-18 03:15:28,590 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 91.8 sec -2013-09-18 03:15:29,595 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 91.8 sec -2013-09-18 03:15:30,603 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 101.93 sec -2013-09-18 03:15:31,608 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 101.93 sec -2013-09-18 03:15:32,613 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 101.93 sec -2013-09-18 03:15:33,626 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 116.67 sec -2013-09-18 03:15:34,633 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 116.67 sec -2013-09-18 03:15:35,639 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 116.67 sec -MapReduce Total cumulative CPU time: 1 minutes 56 seconds 670 msec -Ended Job = job_201309172235_0323 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0324 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:15:39,125 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:15:40,130 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:15:41,136 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:15:42,141 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:15:43,145 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:15:44,150 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:15:45,155 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:15:46,159 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:15:47,165 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:15:48,170 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -2013-09-18 03:15:49,176 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -2013-09-18 03:15:50,182 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -MapReduce Total cumulative CPU time: 2 seconds 190 msec -Ended Job = job_201309172235_0324 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 116.67 sec HDFS Read: 117363067 HDFS Write: 794 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.19 sec HDFS Read: 1563 HDFS Write: 571 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 58 seconds 860 msec -OK -Time taken: 59.233 seconds, Fetched: 19 row(s) -hive> quit; --- считаем средние длины URL для крупных счётчиков.; - - -times: 1 -query: SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15829@mturlrep13_201309180315_1054632059.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -FAILED: SemanticException [Error 10011]: Line 1:336 Invalid function 'GREATEST' -hive> quit; - -times: 2 -query: SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16050@mturlrep13_201309180316_1145304248.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -FAILED: SemanticException [Error 10011]: Line 1:336 Invalid function 'GREATEST' -hive> quit; - -times: 3 -query: SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16266@mturlrep13_201309180316_80926883.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -FAILED: SemanticException [Error 10011]: Line 1:336 Invalid function 'GREATEST' -hive> quit; --- то же самое, но с разбивкой по доменам.; - - -times: 1 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16487@mturlrep13_201309180316_664462210.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0325 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:16:31,560 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:16:45,621 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:16:51,650 Stage-1 map = 29%, reduce = 0% -2013-09-18 03:16:57,674 Stage-1 map = 33%, reduce = 0% -2013-09-18 03:17:00,686 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:17:06,709 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:17:12,731 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:17:18,761 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 173.32 sec -2013-09-18 03:17:19,768 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 181.18 sec -2013-09-18 03:17:20,774 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 181.18 sec -2013-09-18 03:17:21,778 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 181.18 sec -2013-09-18 03:17:22,783 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 181.18 sec -2013-09-18 03:17:23,787 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 181.18 sec -2013-09-18 03:17:24,792 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 181.18 sec -2013-09-18 03:17:25,797 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 193.89 sec -2013-09-18 03:17:26,802 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 222.98 sec -2013-09-18 03:17:27,806 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 222.98 sec -2013-09-18 03:17:28,811 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 222.98 sec -2013-09-18 03:17:29,815 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 222.98 sec -2013-09-18 03:17:30,819 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 222.98 sec -2013-09-18 03:17:31,824 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 222.98 sec -2013-09-18 03:17:32,828 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 222.98 sec -2013-09-18 03:17:33,835 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 226.19 sec -2013-09-18 03:17:34,846 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 226.19 sec -MapReduce Total cumulative CPU time: 3 minutes 46 seconds 190 msec -Ended Job = job_201309172235_0325 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 226.19 sec HDFS Read: 7797536 HDFS Write: 1080 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 46 seconds 190 msec -OK -Time taken: 74.663 seconds, Fetched: 1 row(s) -hive> quit; - -times: 2 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17636@mturlrep13_201309180317_1915588567.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0326 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:17:45,771 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:17:56,817 Stage-1 map = 7%, reduce = 0% -2013-09-18 03:17:59,831 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:18:05,856 Stage-1 map = 29%, reduce = 0% -2013-09-18 03:18:11,880 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:18:17,911 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:18,916 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:19,924 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:20,929 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:21,934 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:22,939 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:23,945 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:24,951 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:25,956 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:26,961 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:27,966 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:28,971 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:29,976 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:30,982 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:31,986 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 115.96 sec -2013-09-18 03:18:32,993 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 138.53 sec -2013-09-18 03:18:33,999 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 138.53 sec -2013-09-18 03:18:35,004 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 138.53 sec -2013-09-18 03:18:36,010 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 138.53 sec -2013-09-18 03:18:37,015 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 138.53 sec -2013-09-18 03:18:38,020 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 192.67 sec -2013-09-18 03:18:39,024 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 220.35 sec -2013-09-18 03:18:40,029 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 220.35 sec -2013-09-18 03:18:41,034 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 220.35 sec -2013-09-18 03:18:42,040 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 223.54 sec -2013-09-18 03:18:43,046 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 223.54 sec -2013-09-18 03:18:44,052 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 223.54 sec -MapReduce Total cumulative CPU time: 3 minutes 43 seconds 540 msec -Ended Job = job_201309172235_0326 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 223.54 sec HDFS Read: 7797536 HDFS Write: 1080 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 43 seconds 540 msec -OK -Time taken: 67.206 seconds, Fetched: 1 row(s) -hive> quit; - -times: 3 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18790@mturlrep13_201309180318_731576789.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0327 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-18 03:18:55,297 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:19:05,340 Stage-1 map = 4%, reduce = 0% -2013-09-18 03:19:08,352 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:19:14,381 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:15,388 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:16,395 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:17,401 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:18,407 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:19,412 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:20,417 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:21,422 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:22,427 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:23,432 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:24,437 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:25,443 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:26,448 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:27,452 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:28,458 Stage-1 map = 44%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:29,463 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:30,468 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:31,473 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:32,478 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:33,484 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:34,489 Stage-1 map = 59%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:35,493 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:36,498 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:37,502 Stage-1 map = 70%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:38,507 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:39,511 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:40,516 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:41,520 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:42,525 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:43,530 Stage-1 map = 78%, reduce = 0%, Cumulative CPU 77.56 sec -2013-09-18 03:19:44,536 Stage-1 map = 82%, reduce = 0%, Cumulative CPU 111.44 sec -2013-09-18 03:19:45,541 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 111.44 sec -2013-09-18 03:19:46,546 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 111.44 sec -2013-09-18 03:19:47,551 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 111.44 sec -2013-09-18 03:19:48,556 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 149.94 sec -2013-09-18 03:19:49,561 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 229.05 sec -2013-09-18 03:19:50,565 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 229.05 sec -2013-09-18 03:19:51,569 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 229.05 sec -2013-09-18 03:19:52,574 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 229.05 sec -2013-09-18 03:19:53,581 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 232.1 sec -2013-09-18 03:19:54,586 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 232.1 sec -MapReduce Total cumulative CPU time: 3 minutes 52 seconds 100 msec -Ended Job = job_201309172235_0327 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 232.1 sec HDFS Read: 7797536 HDFS Write: 1080 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 52 seconds 100 msec -OK -Time taken: 68.586 seconds, Fetched: 1 row(s) -hive> quit; --- много тупых агрегатных функций.; - - -times: 1 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19971@mturlrep13_201309180319_1200397175.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0328 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:20:11,947 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:20:18,978 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:20:22,002 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:20:23,010 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:20:24,018 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:20:25,023 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:20:26,029 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:20:27,036 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:20:28,043 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:20:29,050 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 49.3 sec -2013-09-18 03:20:30,056 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 49.3 sec -2013-09-18 03:20:31,061 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 49.3 sec -2013-09-18 03:20:32,067 Stage-1 map = 100%, reduce = 57%, Cumulative CPU 49.3 sec -2013-09-18 03:20:33,072 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 49.3 sec -2013-09-18 03:20:34,080 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.8 sec -2013-09-18 03:20:35,087 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.8 sec -2013-09-18 03:20:36,093 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.8 sec -MapReduce Total cumulative CPU time: 1 minutes 3 seconds 800 msec -Ended Job = job_201309172235_0328 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0329 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:20:39,567 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:20:46,589 Stage-2 map = 52%, reduce = 0% -2013-09-18 03:20:48,598 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.27 sec -2013-09-18 03:20:49,603 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.27 sec -2013-09-18 03:20:50,607 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.27 sec -2013-09-18 03:20:51,612 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.27 sec -2013-09-18 03:20:52,616 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.27 sec -2013-09-18 03:20:53,621 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.27 sec -2013-09-18 03:20:54,626 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.27 sec -2013-09-18 03:20:55,632 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 12.27 sec -2013-09-18 03:20:56,637 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 12.27 sec -2013-09-18 03:20:57,642 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 15.17 sec -2013-09-18 03:20:58,647 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 15.17 sec -MapReduce Total cumulative CPU time: 15 seconds 170 msec -Ended Job = job_201309172235_0329 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 63.8 sec HDFS Read: 69312553 HDFS Write: 31841963 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 15.17 sec HDFS Read: 31842732 HDFS Write: 372 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 18 seconds 970 msec -OK -Time taken: 58.017 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22672@mturlrep13_201309180321_532082554.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0330 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:21:09,059 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:21:16,090 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:21:17,103 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 11.29 sec -2013-09-18 03:21:18,111 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.51 sec -2013-09-18 03:21:19,120 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.51 sec -2013-09-18 03:21:20,126 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.51 sec -2013-09-18 03:21:21,132 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.51 sec -2013-09-18 03:21:22,138 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.51 sec -2013-09-18 03:21:23,145 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.51 sec -2013-09-18 03:21:24,152 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.51 sec -2013-09-18 03:21:25,159 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.51 sec -2013-09-18 03:21:26,165 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.51 sec -2013-09-18 03:21:27,172 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.51 sec -2013-09-18 03:21:28,178 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 48.51 sec -2013-09-18 03:21:29,184 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 48.51 sec -2013-09-18 03:21:30,191 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.9 sec -2013-09-18 03:21:31,198 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.9 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 900 msec -Ended Job = job_201309172235_0330 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0331 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:21:34,779 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:21:41,804 Stage-2 map = 52%, reduce = 0% -2013-09-18 03:21:42,810 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.4 sec -2013-09-18 03:21:43,816 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.4 sec -2013-09-18 03:21:44,822 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.4 sec -2013-09-18 03:21:45,827 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.4 sec -2013-09-18 03:21:46,832 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.4 sec -2013-09-18 03:21:47,838 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.4 sec -2013-09-18 03:21:48,843 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.4 sec -2013-09-18 03:21:49,849 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 11.4 sec -2013-09-18 03:21:50,855 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 11.4 sec -2013-09-18 03:21:51,860 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.23 sec -2013-09-18 03:21:52,866 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.23 sec -MapReduce Total cumulative CPU time: 14 seconds 230 msec -Ended Job = job_201309172235_0331 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.9 sec HDFS Read: 69312553 HDFS Write: 31841963 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 14.23 sec HDFS Read: 31842732 HDFS Write: 372 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 130 msec -OK -Time taken: 52.364 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24667@mturlrep13_201309180321_1625792841.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0332 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:22:03,145 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:22:10,175 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:22:11,188 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 11.62 sec -2013-09-18 03:22:12,196 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.16 sec -2013-09-18 03:22:13,204 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.16 sec -2013-09-18 03:22:14,211 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.16 sec -2013-09-18 03:22:15,217 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.16 sec -2013-09-18 03:22:16,223 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.16 sec -2013-09-18 03:22:17,229 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 48.16 sec -2013-09-18 03:22:18,236 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.16 sec -2013-09-18 03:22:19,243 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.16 sec -2013-09-18 03:22:20,249 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 48.16 sec -2013-09-18 03:22:21,255 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 48.16 sec -2013-09-18 03:22:22,261 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 48.16 sec -2013-09-18 03:22:23,269 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.71 sec -2013-09-18 03:22:24,275 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.71 sec -2013-09-18 03:22:25,281 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.71 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 710 msec -Ended Job = job_201309172235_0332 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0333 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:22:28,772 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:22:35,794 Stage-2 map = 52%, reduce = 0% -2013-09-18 03:22:37,803 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.58 sec -2013-09-18 03:22:38,808 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.58 sec -2013-09-18 03:22:39,813 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.58 sec -2013-09-18 03:22:40,817 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.58 sec -2013-09-18 03:22:41,822 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.58 sec -2013-09-18 03:22:42,826 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.58 sec -2013-09-18 03:22:43,831 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.58 sec -2013-09-18 03:22:44,837 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 11.58 sec -2013-09-18 03:22:45,843 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 11.58 sec -2013-09-18 03:22:46,848 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.44 sec -2013-09-18 03:22:47,853 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.44 sec -MapReduce Total cumulative CPU time: 14 seconds 440 msec -Ended Job = job_201309172235_0333 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.71 sec HDFS Read: 69312553 HDFS Write: 31841963 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 14.44 sec HDFS Read: 31842732 HDFS Write: 372 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 150 msec -OK -Time taken: 53.155 seconds, Fetched: 10 row(s) -hive> quit; --- сложная агрегация, для больших таблиц может не хватить оперативки.; - - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26648@mturlrep13_201309180322_1394561217.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0334 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:23:04,981 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:23:12,010 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:23:15,034 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:23:16,041 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:23:17,049 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:23:18,055 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:23:19,061 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:23:20,068 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:23:21,073 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:23:22,078 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 49.3 sec -2013-09-18 03:23:23,084 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 49.3 sec -2013-09-18 03:23:24,089 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 49.3 sec -2013-09-18 03:23:25,095 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 49.3 sec -2013-09-18 03:23:26,101 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 49.3 sec -2013-09-18 03:23:27,106 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 49.3 sec -2013-09-18 03:23:28,114 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 57.83 sec -2013-09-18 03:23:29,122 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 66.46 sec -2013-09-18 03:23:30,129 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 66.46 sec -MapReduce Total cumulative CPU time: 1 minutes 6 seconds 460 msec -Ended Job = job_201309172235_0334 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0335 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:23:33,600 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:23:43,633 Stage-2 map = 50%, reduce = 0% -2013-09-18 03:23:46,644 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.06 sec -2013-09-18 03:23:47,649 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.06 sec -2013-09-18 03:23:48,654 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.06 sec -2013-09-18 03:23:49,659 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.06 sec -2013-09-18 03:23:50,664 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.06 sec -2013-09-18 03:23:51,668 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.06 sec -2013-09-18 03:23:52,674 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.06 sec -2013-09-18 03:23:53,679 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.06 sec -2013-09-18 03:23:54,685 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.06 sec -2013-09-18 03:23:55,690 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.06 sec -2013-09-18 03:23:56,696 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 21.88 sec -2013-09-18 03:23:57,701 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 21.88 sec -MapReduce Total cumulative CPU time: 21 seconds 880 msec -Ended Job = job_201309172235_0335 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 66.46 sec HDFS Read: 112931901 HDFS Write: 72725701 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 21.88 sec HDFS Read: 72726470 HDFS Write: 417 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 28 seconds 340 msec -OK -Time taken: 62.907 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28712@mturlrep13_201309180323_447001239.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0336 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:24:06,957 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:24:14,997 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 41.58 sec -2013-09-18 03:24:16,004 Stage-1 map = 63%, reduce = 0%, Cumulative CPU 41.58 sec -2013-09-18 03:24:17,015 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.71 sec -2013-09-18 03:24:18,023 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.71 sec -2013-09-18 03:24:19,029 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.71 sec -2013-09-18 03:24:20,034 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.71 sec -2013-09-18 03:24:21,040 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.71 sec -2013-09-18 03:24:22,047 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.71 sec -2013-09-18 03:24:23,052 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 51.71 sec -2013-09-18 03:24:24,058 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 51.71 sec -2013-09-18 03:24:25,064 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 51.71 sec -2013-09-18 03:24:26,070 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 51.71 sec -2013-09-18 03:24:27,075 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 51.71 sec -2013-09-18 03:24:28,081 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 51.71 sec -2013-09-18 03:24:29,087 Stage-1 map = 100%, reduce = 76%, Cumulative CPU 51.71 sec -2013-09-18 03:24:30,095 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.32 sec -2013-09-18 03:24:31,104 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.32 sec -2013-09-18 03:24:32,110 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.32 sec -MapReduce Total cumulative CPU time: 1 minutes 9 seconds 320 msec -Ended Job = job_201309172235_0336 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0337 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:24:34,678 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:24:45,718 Stage-2 map = 50%, reduce = 0% -2013-09-18 03:24:48,730 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.64 sec -2013-09-18 03:24:49,735 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.64 sec -2013-09-18 03:24:50,739 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.64 sec -2013-09-18 03:24:51,743 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.64 sec -2013-09-18 03:24:52,748 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.64 sec -2013-09-18 03:24:53,752 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.64 sec -2013-09-18 03:24:54,758 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.64 sec -2013-09-18 03:24:55,763 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.64 sec -2013-09-18 03:24:56,769 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.64 sec -2013-09-18 03:24:57,774 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.51 sec -2013-09-18 03:24:58,778 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.51 sec -2013-09-18 03:24:59,784 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.51 sec -MapReduce Total cumulative CPU time: 22 seconds 510 msec -Ended Job = job_201309172235_0337 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 69.32 sec HDFS Read: 112931901 HDFS Write: 72725701 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 22.51 sec HDFS Read: 72726466 HDFS Write: 417 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 31 seconds 830 msec -OK -Time taken: 60.202 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30775@mturlrep13_201309180325_1495569206.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0338 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:25:10,560 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:25:17,591 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:25:19,608 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 53.02 sec -2013-09-18 03:25:20,616 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 53.02 sec -2013-09-18 03:25:21,624 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 53.02 sec -2013-09-18 03:25:22,630 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 53.02 sec -2013-09-18 03:25:23,635 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 53.02 sec -2013-09-18 03:25:24,641 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 53.02 sec -2013-09-18 03:25:25,647 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 53.02 sec -2013-09-18 03:25:26,653 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 53.02 sec -2013-09-18 03:25:27,659 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 53.02 sec -2013-09-18 03:25:28,664 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 53.02 sec -2013-09-18 03:25:29,670 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 53.02 sec -2013-09-18 03:25:30,676 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 53.02 sec -2013-09-18 03:25:31,681 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 53.02 sec -2013-09-18 03:25:32,689 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 61.27 sec -2013-09-18 03:25:33,713 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.91 sec -2013-09-18 03:25:34,719 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.91 sec -MapReduce Total cumulative CPU time: 1 minutes 9 seconds 910 msec -Ended Job = job_201309172235_0338 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0339 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:25:37,201 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:25:48,240 Stage-2 map = 50%, reduce = 0% -2013-09-18 03:25:51,252 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.68 sec -2013-09-18 03:25:52,258 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.68 sec -2013-09-18 03:25:53,262 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.68 sec -2013-09-18 03:25:54,267 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.68 sec -2013-09-18 03:25:55,272 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.68 sec -2013-09-18 03:25:56,277 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.68 sec -2013-09-18 03:25:57,283 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 16.68 sec -2013-09-18 03:25:58,288 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 16.68 sec -2013-09-18 03:25:59,293 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 16.68 sec -2013-09-18 03:26:00,299 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 21.77 sec -2013-09-18 03:26:01,304 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 21.77 sec -MapReduce Total cumulative CPU time: 21 seconds 770 msec -Ended Job = job_201309172235_0339 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 69.91 sec HDFS Read: 112931901 HDFS Write: 72725701 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 21.77 sec HDFS Read: 72726470 HDFS Write: 417 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 31 seconds 680 msec -OK -Time taken: 59.653 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1150@mturlrep13_201309180326_1951977116.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0340 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:26:18,728 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:26:26,762 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:26:29,776 Stage-1 map = 29%, reduce = 0% -2013-09-18 03:26:32,790 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:26:35,804 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:26:38,824 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 24.87 sec -2013-09-18 03:26:39,832 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 24.87 sec -2013-09-18 03:26:40,840 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 80.51 sec -2013-09-18 03:26:41,846 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 108.69 sec -2013-09-18 03:26:42,852 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 108.69 sec -2013-09-18 03:26:43,857 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 108.69 sec -2013-09-18 03:26:44,862 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 108.69 sec -2013-09-18 03:26:45,868 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 108.69 sec -2013-09-18 03:26:46,873 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 108.69 sec -2013-09-18 03:26:47,879 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 108.69 sec -2013-09-18 03:26:48,884 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 108.69 sec -2013-09-18 03:26:49,890 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 108.69 sec -2013-09-18 03:26:50,895 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 108.69 sec -2013-09-18 03:26:51,901 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 108.69 sec -2013-09-18 03:26:52,907 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 108.69 sec -2013-09-18 03:26:53,913 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 108.69 sec -2013-09-18 03:26:54,918 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 108.69 sec -2013-09-18 03:26:55,924 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 108.69 sec -2013-09-18 03:26:56,930 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 108.69 sec -2013-09-18 03:26:57,936 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 108.69 sec -2013-09-18 03:26:58,941 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 108.69 sec -2013-09-18 03:26:59,947 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 108.69 sec -2013-09-18 03:27:00,953 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 108.69 sec -2013-09-18 03:27:01,958 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 108.69 sec -2013-09-18 03:27:02,963 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 108.69 sec -2013-09-18 03:27:03,968 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 108.69 sec -2013-09-18 03:27:04,974 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 108.69 sec -2013-09-18 03:27:05,980 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 108.69 sec -2013-09-18 03:27:06,986 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 108.69 sec -2013-09-18 03:27:07,992 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 108.69 sec -2013-09-18 03:27:08,998 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 108.69 sec -2013-09-18 03:27:11,596 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 108.69 sec -2013-09-18 03:27:12,610 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 108.69 sec -2013-09-18 03:27:13,618 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 170.18 sec -2013-09-18 03:27:14,642 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 170.18 sec -MapReduce Total cumulative CPU time: 2 minutes 50 seconds 180 msec -Ended Job = job_201309172235_0340 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0341 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 03:27:18,241 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:27:31,283 Stage-2 map = 36%, reduce = 0% -2013-09-18 03:27:40,311 Stage-2 map = 72%, reduce = 0% -2013-09-18 03:27:42,320 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 30.17 sec -2013-09-18 03:27:43,325 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 30.17 sec -2013-09-18 03:27:44,330 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 30.17 sec -2013-09-18 03:27:45,335 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 30.17 sec -2013-09-18 03:27:46,341 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 30.17 sec -2013-09-18 03:27:47,346 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 30.17 sec -2013-09-18 03:27:48,350 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 30.17 sec -2013-09-18 03:27:49,355 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 30.17 sec -2013-09-18 03:27:50,360 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 30.17 sec -2013-09-18 03:27:51,365 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 30.17 sec -2013-09-18 03:27:52,370 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 30.17 sec -2013-09-18 03:27:53,375 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 30.17 sec -2013-09-18 03:27:54,380 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 30.17 sec -2013-09-18 03:27:55,385 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 30.17 sec -2013-09-18 03:27:56,390 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 30.17 sec -2013-09-18 03:27:57,395 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 30.17 sec -2013-09-18 03:27:58,400 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 30.17 sec -2013-09-18 03:27:59,405 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.9 sec -2013-09-18 03:28:00,409 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.9 sec -2013-09-18 03:28:01,414 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.9 sec -2013-09-18 03:28:02,418 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.9 sec -2013-09-18 03:28:03,423 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.9 sec -2013-09-18 03:28:04,427 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.9 sec -2013-09-18 03:28:05,432 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.9 sec -2013-09-18 03:28:06,437 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.9 sec -2013-09-18 03:28:07,441 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 78.9 sec -2013-09-18 03:28:08,446 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 78.9 sec -2013-09-18 03:28:09,450 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 78.9 sec -2013-09-18 03:28:10,455 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 78.9 sec -2013-09-18 03:28:11,464 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 78.9 sec -2013-09-18 03:28:12,469 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 78.9 sec -2013-09-18 03:28:13,473 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 89.45 sec -2013-09-18 03:28:14,478 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 89.45 sec -2013-09-18 03:28:15,483 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 89.45 sec -MapReduce Total cumulative CPU time: 1 minutes 29 seconds 450 msec -Ended Job = job_201309172235_0341 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 170.18 sec HDFS Read: 85707829 HDFS Write: 413932232 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 89.45 sec HDFS Read: 413942944 HDFS Write: 420 SUCCESS -Total MapReduce CPU Time Spent: 4 minutes 19 seconds 630 msec -OK -Time taken: 127.206 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3393@mturlrep13_201309180328_1674206959.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0342 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:28:25,773 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:28:32,804 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:28:35,821 Stage-1 map = 41%, reduce = 0% -2013-09-18 03:28:38,834 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:28:41,849 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:28:44,868 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 25.88 sec -2013-09-18 03:28:45,875 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 53.48 sec -2013-09-18 03:28:46,883 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 53.48 sec -2013-09-18 03:28:47,888 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.03 sec -2013-09-18 03:28:48,894 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.03 sec -2013-09-18 03:28:49,908 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.03 sec -2013-09-18 03:28:50,913 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.03 sec -2013-09-18 03:28:51,919 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.03 sec -2013-09-18 03:28:52,925 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 112.03 sec -2013-09-18 03:28:53,931 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 112.03 sec -2013-09-18 03:28:54,936 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 112.03 sec -2013-09-18 03:28:55,942 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 112.03 sec -2013-09-18 03:28:56,948 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 112.03 sec -2013-09-18 03:28:57,954 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 112.03 sec -2013-09-18 03:28:58,960 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 112.03 sec -2013-09-18 03:28:59,966 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 112.03 sec -2013-09-18 03:29:00,971 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 112.03 sec -2013-09-18 03:29:01,977 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 112.03 sec -2013-09-18 03:29:02,983 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 112.03 sec -2013-09-18 03:29:03,989 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 112.03 sec -2013-09-18 03:29:04,995 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 112.03 sec -2013-09-18 03:29:06,000 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 112.03 sec -2013-09-18 03:29:07,005 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 112.03 sec -2013-09-18 03:29:08,010 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 112.03 sec -2013-09-18 03:29:09,016 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 112.03 sec -2013-09-18 03:29:10,021 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 112.03 sec -2013-09-18 03:29:11,026 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 112.03 sec -2013-09-18 03:29:12,032 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 112.03 sec -2013-09-18 03:29:13,037 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 112.03 sec -2013-09-18 03:29:14,043 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 112.03 sec -2013-09-18 03:29:15,048 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 112.03 sec -2013-09-18 03:29:16,055 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 165.0 sec -2013-09-18 03:29:19,092 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 168.62 sec -2013-09-18 03:29:20,097 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 168.62 sec -2013-09-18 03:29:21,103 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 173.79 sec -2013-09-18 03:29:22,108 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 173.79 sec -MapReduce Total cumulative CPU time: 2 minutes 53 seconds 790 msec -Ended Job = job_201309172235_0342 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0343 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 03:29:25,610 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:29:38,653 Stage-2 map = 36%, reduce = 0% -2013-09-18 03:29:47,683 Stage-2 map = 72%, reduce = 0% -2013-09-18 03:29:49,691 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-18 03:29:50,696 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-18 03:29:51,701 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-18 03:29:52,706 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-18 03:29:53,711 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-18 03:29:54,715 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-18 03:29:55,720 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 28.46 sec -2013-09-18 03:29:56,725 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:29:57,730 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:29:58,735 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:29:59,739 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:30:00,743 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:30:01,748 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:30:02,753 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:30:03,758 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:30:04,762 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:30:05,767 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:30:06,771 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 28.46 sec -2013-09-18 03:30:07,775 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.77 sec -2013-09-18 03:30:08,780 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.77 sec -2013-09-18 03:30:09,784 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.77 sec -2013-09-18 03:30:10,788 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.77 sec -2013-09-18 03:30:11,792 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.77 sec -2013-09-18 03:30:12,797 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.77 sec -2013-09-18 03:30:13,802 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.77 sec -2013-09-18 03:30:14,806 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.77 sec -2013-09-18 03:30:15,831 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 83.0 sec -2013-09-18 03:30:16,836 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 83.0 sec -2013-09-18 03:30:18,119 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 83.0 sec -2013-09-18 03:30:19,123 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 83.0 sec -2013-09-18 03:30:20,128 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 83.0 sec -2013-09-18 03:30:21,133 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 88.85 sec -2013-09-18 03:30:22,138 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 88.85 sec -MapReduce Total cumulative CPU time: 1 minutes 28 seconds 850 msec -Ended Job = job_201309172235_0343 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 173.79 sec HDFS Read: 85707829 HDFS Write: 413932232 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 88.85 sec HDFS Read: 413942944 HDFS Write: 420 SUCCESS -Total MapReduce CPU Time Spent: 4 minutes 22 seconds 640 msec -OK -Time taken: 124.701 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6613@mturlrep13_201309180330_1704971326.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0344 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:30:32,334 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:30:39,366 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:30:42,380 Stage-1 map = 41%, reduce = 0% -2013-09-18 03:30:45,392 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:30:48,407 Stage-1 map = 78%, reduce = 0% -2013-09-18 03:30:51,428 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 25.55 sec -2013-09-18 03:30:52,435 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 52.78 sec -2013-09-18 03:30:53,442 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 81.04 sec -2013-09-18 03:30:54,447 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 110.99 sec -2013-09-18 03:30:55,453 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 110.99 sec -2013-09-18 03:30:56,458 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 110.99 sec -2013-09-18 03:30:57,463 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 110.99 sec -2013-09-18 03:30:58,469 Stage-1 map = 100%, reduce = 13%, Cumulative CPU 110.99 sec -2013-09-18 03:30:59,474 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 110.99 sec -2013-09-18 03:31:00,480 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 110.99 sec -2013-09-18 03:31:01,485 Stage-1 map = 100%, reduce = 42%, Cumulative CPU 110.99 sec -2013-09-18 03:31:02,491 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 110.99 sec -2013-09-18 03:31:03,497 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 110.99 sec -2013-09-18 03:31:04,503 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 110.99 sec -2013-09-18 03:31:05,509 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 110.99 sec -2013-09-18 03:31:06,514 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 110.99 sec -2013-09-18 03:31:07,520 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 110.99 sec -2013-09-18 03:31:08,525 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 110.99 sec -2013-09-18 03:31:09,531 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 110.99 sec -2013-09-18 03:31:10,536 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 110.99 sec -2013-09-18 03:31:11,541 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 110.99 sec -2013-09-18 03:31:12,547 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 110.99 sec -2013-09-18 03:31:13,552 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 110.99 sec -2013-09-18 03:31:14,557 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 110.99 sec -2013-09-18 03:31:15,564 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 151.68 sec -2013-09-18 03:31:16,570 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 151.68 sec -2013-09-18 03:31:17,575 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 151.68 sec -2013-09-18 03:31:18,580 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 151.68 sec -2013-09-18 03:31:19,585 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 151.68 sec -2013-09-18 03:31:20,590 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 151.68 sec -2013-09-18 03:31:21,595 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 151.68 sec -2013-09-18 03:31:22,600 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 151.68 sec -2013-09-18 03:31:25,469 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 161.77 sec -2013-09-18 03:31:26,474 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 173.12 sec -2013-09-18 03:31:27,479 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 173.12 sec -2013-09-18 03:31:28,485 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 173.12 sec -MapReduce Total cumulative CPU time: 2 minutes 53 seconds 120 msec -Ended Job = job_201309172235_0344 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0345 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 03:31:30,990 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:31:45,038 Stage-2 map = 36%, reduce = 0% -2013-09-18 03:31:51,058 Stage-2 map = 48%, reduce = 0% -2013-09-18 03:31:54,070 Stage-2 map = 72%, reduce = 0% -2013-09-18 03:31:55,075 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 27.96 sec -2013-09-18 03:31:56,080 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 27.96 sec -2013-09-18 03:31:57,086 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 27.96 sec -2013-09-18 03:31:58,090 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 27.96 sec -2013-09-18 03:31:59,096 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 27.96 sec -2013-09-18 03:32:00,101 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 27.96 sec -2013-09-18 03:32:01,106 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 27.96 sec -2013-09-18 03:32:02,112 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 27.96 sec -2013-09-18 03:32:03,117 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 27.96 sec -2013-09-18 03:32:04,122 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 27.96 sec -2013-09-18 03:32:05,127 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 27.96 sec -2013-09-18 03:32:06,132 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 27.96 sec -2013-09-18 03:32:07,137 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 27.96 sec -2013-09-18 03:32:08,141 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 27.96 sec -2013-09-18 03:32:09,147 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 27.96 sec -2013-09-18 03:32:10,151 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 27.96 sec -2013-09-18 03:32:11,156 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 74.69 sec -2013-09-18 03:32:12,161 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 74.69 sec -2013-09-18 03:32:13,165 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 74.69 sec -2013-09-18 03:32:14,170 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 74.69 sec -2013-09-18 03:32:15,174 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 74.69 sec -2013-09-18 03:32:16,179 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 75.98 sec -2013-09-18 03:32:17,183 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 75.98 sec -2013-09-18 03:32:18,188 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 75.98 sec -2013-09-18 03:32:19,192 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 75.98 sec -2013-09-18 03:32:20,202 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 75.98 sec -2013-09-18 03:32:21,207 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 75.98 sec -2013-09-18 03:32:22,211 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 75.98 sec -2013-09-18 03:32:23,215 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 75.98 sec -2013-09-18 03:32:24,220 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 75.98 sec -2013-09-18 03:32:25,225 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 85.63 sec -2013-09-18 03:32:26,229 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 85.63 sec -2013-09-18 03:32:27,234 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 85.63 sec -MapReduce Total cumulative CPU time: 1 minutes 25 seconds 630 msec -Ended Job = job_201309172235_0345 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 173.12 sec HDFS Read: 85707829 HDFS Write: 413932232 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 85.63 sec HDFS Read: 413942944 HDFS Write: 420 SUCCESS -Total MapReduce CPU Time Spent: 4 minutes 18 seconds 750 msec -OK -Time taken: 123.291 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но ещё и без фильтрации.; - - -times: 1 -query: SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8833@mturlrep13_201309180332_1808208086.txt -hive> SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0346 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:32:43,874 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:32:50,903 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:32:53,915 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:32:57,932 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:33:00,946 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:33:03,965 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 25.99 sec -2013-09-18 03:33:04,972 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 25.99 sec -2013-09-18 03:33:05,979 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 54.38 sec -2013-09-18 03:33:06,986 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 83.01 sec -2013-09-18 03:33:07,992 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.86 sec -2013-09-18 03:33:08,998 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.86 sec -2013-09-18 03:33:10,003 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.86 sec -2013-09-18 03:33:11,010 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 112.86 sec -2013-09-18 03:33:12,016 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 112.86 sec -2013-09-18 03:33:13,023 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 112.86 sec -2013-09-18 03:33:14,029 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 112.86 sec -2013-09-18 03:33:15,036 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 112.86 sec -2013-09-18 03:33:16,042 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 136.61 sec -2013-09-18 03:33:17,049 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 136.61 sec -2013-09-18 03:33:18,055 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 136.61 sec -2013-09-18 03:33:19,061 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 136.61 sec -2013-09-18 03:33:20,068 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 136.61 sec -2013-09-18 03:33:21,075 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 136.61 sec -2013-09-18 03:33:22,081 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 136.61 sec -2013-09-18 03:33:23,087 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 136.61 sec -2013-09-18 03:33:24,094 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 136.61 sec -2013-09-18 03:33:25,099 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 136.61 sec -2013-09-18 03:33:26,106 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 136.61 sec -2013-09-18 03:33:27,112 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 136.61 sec -2013-09-18 03:33:28,118 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 136.61 sec -2013-09-18 03:33:29,126 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 170.16 sec -2013-09-18 03:33:30,132 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 170.16 sec -2013-09-18 03:33:31,138 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 170.16 sec -MapReduce Total cumulative CPU time: 2 minutes 50 seconds 160 msec -Ended Job = job_201309172235_0346 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0347 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 03:33:34,663 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:33:41,687 Stage-2 map = 25%, reduce = 0% -2013-09-18 03:33:43,695 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-18 03:33:44,701 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-18 03:33:45,705 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-18 03:33:46,711 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-18 03:33:47,716 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-18 03:33:48,720 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-18 03:33:49,726 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-18 03:33:50,731 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 13.37 sec -2013-09-18 03:33:51,736 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 13.37 sec -2013-09-18 03:33:52,741 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 36.76 sec -2013-09-18 03:33:53,746 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 36.76 sec -2013-09-18 03:33:54,753 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 36.76 sec -2013-09-18 03:33:55,759 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 36.76 sec -2013-09-18 03:33:56,765 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 36.76 sec -2013-09-18 03:33:57,771 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 36.76 sec -2013-09-18 03:33:58,776 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 36.76 sec -2013-09-18 03:33:59,782 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 36.76 sec -2013-09-18 03:34:00,787 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 36.76 sec -2013-09-18 03:34:01,793 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 44.31 sec -2013-09-18 03:34:02,799 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 44.31 sec -2013-09-18 03:34:03,804 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 44.31 sec -MapReduce Total cumulative CPU time: 44 seconds 310 msec -Ended Job = job_201309172235_0347 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 170.16 sec HDFS Read: 109451651 HDFS Write: 399298510 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 44.31 sec HDFS Read: 399308167 HDFS Write: 445 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 34 seconds 470 msec -OK -Time taken: 89.931 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10716@mturlrep13_201309180334_544608212.txt -hive> SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0348 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:34:13,365 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:34:21,405 Stage-1 map = 18%, reduce = 0% -2013-09-18 03:34:24,418 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:34:27,431 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:34:30,444 Stage-1 map = 78%, reduce = 0% -2013-09-18 03:34:33,463 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 25.62 sec -2013-09-18 03:34:34,469 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 25.62 sec -2013-09-18 03:34:35,477 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 25.62 sec -2013-09-18 03:34:36,485 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 114.36 sec -2013-09-18 03:34:37,490 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 114.36 sec -2013-09-18 03:34:38,495 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 114.36 sec -2013-09-18 03:34:39,500 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 114.36 sec -2013-09-18 03:34:40,506 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 114.36 sec -2013-09-18 03:34:41,512 Stage-1 map = 100%, reduce = 13%, Cumulative CPU 114.36 sec -2013-09-18 03:34:42,518 Stage-1 map = 100%, reduce = 13%, Cumulative CPU 114.36 sec -2013-09-18 03:34:43,523 Stage-1 map = 100%, reduce = 13%, Cumulative CPU 114.36 sec -2013-09-18 03:34:44,529 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 114.36 sec -2013-09-18 03:34:45,534 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 114.36 sec -2013-09-18 03:34:46,540 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 114.36 sec -2013-09-18 03:34:47,546 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 114.36 sec -2013-09-18 03:34:48,552 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 114.36 sec -2013-09-18 03:34:49,559 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 114.36 sec -2013-09-18 03:34:50,565 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 114.36 sec -2013-09-18 03:34:51,570 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 114.36 sec -2013-09-18 03:34:52,577 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 114.36 sec -2013-09-18 03:34:53,583 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 114.36 sec -2013-09-18 03:34:54,588 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 114.36 sec -2013-09-18 03:34:55,593 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 114.36 sec -2013-09-18 03:34:56,599 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 114.36 sec -2013-09-18 03:34:57,605 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 114.36 sec -2013-09-18 03:34:58,612 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 168.31 sec -2013-09-18 03:34:59,618 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 168.31 sec -2013-09-18 03:35:00,625 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 168.31 sec -MapReduce Total cumulative CPU time: 2 minutes 48 seconds 310 msec -Ended Job = job_201309172235_0348 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0349 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 03:35:04,093 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:35:11,115 Stage-2 map = 25%, reduce = 0% -2013-09-18 03:35:14,127 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 14.31 sec -2013-09-18 03:35:15,135 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 14.31 sec -2013-09-18 03:35:16,141 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 28.98 sec -2013-09-18 03:35:17,146 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 28.98 sec -2013-09-18 03:35:18,152 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 28.98 sec -2013-09-18 03:35:19,158 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 28.98 sec -2013-09-18 03:35:20,163 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 28.98 sec -2013-09-18 03:35:21,169 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 28.98 sec -2013-09-18 03:35:22,174 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-18 03:35:23,178 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-18 03:35:24,183 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-18 03:35:25,187 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-18 03:35:26,192 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-18 03:35:27,197 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-18 03:35:28,202 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-18 03:35:29,207 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.51 sec -2013-09-18 03:35:30,212 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 38.51 sec -2013-09-18 03:35:31,217 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 38.51 sec -2013-09-18 03:35:32,222 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.15 sec -2013-09-18 03:35:33,228 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.15 sec -MapReduce Total cumulative CPU time: 46 seconds 150 msec -Ended Job = job_201309172235_0349 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 168.31 sec HDFS Read: 109451651 HDFS Write: 399298510 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 46.15 sec HDFS Read: 399308173 HDFS Write: 445 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 34 seconds 460 msec -OK -Time taken: 87.6 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13289@mturlrep13_201309180335_999822129.txt -hive> SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0350 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:35:43,626 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:35:50,655 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:35:53,668 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:35:56,682 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:35:59,697 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:36:02,709 Stage-1 map = 89%, reduce = 0% -2013-09-18 03:36:06,735 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 116.11 sec -2013-09-18 03:36:07,740 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 116.11 sec -2013-09-18 03:36:08,747 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 116.11 sec -2013-09-18 03:36:09,752 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 116.11 sec -2013-09-18 03:36:10,758 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 116.11 sec -2013-09-18 03:36:11,764 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 116.11 sec -2013-09-18 03:36:12,769 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 116.11 sec -2013-09-18 03:36:13,779 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 116.11 sec -2013-09-18 03:36:14,784 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 116.11 sec -2013-09-18 03:36:15,790 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 116.11 sec -2013-09-18 03:36:16,795 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 130.52 sec -2013-09-18 03:36:17,801 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 130.52 sec -2013-09-18 03:36:18,808 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 130.52 sec -2013-09-18 03:36:19,814 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 130.52 sec -2013-09-18 03:36:20,820 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 130.52 sec -2013-09-18 03:36:21,826 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 130.52 sec -2013-09-18 03:36:22,832 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 130.52 sec -2013-09-18 03:36:23,838 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 130.52 sec -2013-09-18 03:36:24,843 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 130.52 sec -2013-09-18 03:36:25,849 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 130.52 sec -2013-09-18 03:36:26,854 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 130.52 sec -2013-09-18 03:36:27,860 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 130.52 sec -2013-09-18 03:36:28,867 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 172.7 sec -2013-09-18 03:36:29,873 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 172.7 sec -MapReduce Total cumulative CPU time: 2 minutes 52 seconds 700 msec -Ended Job = job_201309172235_0350 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0351 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 03:36:33,293 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:36:40,314 Stage-2 map = 25%, reduce = 0% -2013-09-18 03:36:43,325 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.65 sec -2013-09-18 03:36:44,330 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.65 sec -2013-09-18 03:36:45,335 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.65 sec -2013-09-18 03:36:46,340 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.65 sec -2013-09-18 03:36:47,344 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.65 sec -2013-09-18 03:36:48,349 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.65 sec -2013-09-18 03:36:49,354 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.65 sec -2013-09-18 03:36:50,359 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 13.65 sec -2013-09-18 03:36:51,364 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.93 sec -2013-09-18 03:36:52,368 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.93 sec -2013-09-18 03:36:53,373 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.93 sec -2013-09-18 03:36:54,377 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.93 sec -2013-09-18 03:36:55,383 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.93 sec -2013-09-18 03:36:56,388 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.93 sec -2013-09-18 03:36:57,392 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.93 sec -2013-09-18 03:36:58,397 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.93 sec -2013-09-18 03:36:59,402 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 37.93 sec -2013-09-18 03:37:00,407 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 45.36 sec -2013-09-18 03:37:01,413 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 45.36 sec -2013-09-18 03:37:02,418 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 45.36 sec -MapReduce Total cumulative CPU time: 45 seconds 360 msec -Ended Job = job_201309172235_0351 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 172.7 sec HDFS Read: 109451651 HDFS Write: 399298510 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 45.36 sec HDFS Read: 399308173 HDFS Write: 445 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 38 seconds 60 msec -OK -Time taken: 87.325 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по URL.; - - -times: 1 -query: SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15219@mturlrep13_201309180337_1137207213.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0352 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:37:21,097 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:37:29,132 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:37:32,145 Stage-1 map = 40%, reduce = 0% -2013-09-18 03:37:35,160 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:37:38,174 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:37:41,187 Stage-1 map = 89%, reduce = 0% -2013-09-18 03:37:45,212 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 116.3 sec -2013-09-18 03:37:46,218 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 116.3 sec -2013-09-18 03:37:47,225 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 116.3 sec -2013-09-18 03:37:48,230 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 116.3 sec -2013-09-18 03:37:49,235 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 116.3 sec -2013-09-18 03:37:50,241 Stage-1 map = 100%, reduce = 4%, Cumulative CPU 116.3 sec -2013-09-18 03:37:51,247 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 116.3 sec -2013-09-18 03:37:52,252 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 116.3 sec -2013-09-18 03:37:53,259 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 116.3 sec -2013-09-18 03:37:54,265 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 116.3 sec -2013-09-18 03:37:55,271 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 116.3 sec -2013-09-18 03:37:56,278 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 116.3 sec -2013-09-18 03:37:57,283 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 116.3 sec -2013-09-18 03:37:58,289 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 116.3 sec -2013-09-18 03:37:59,295 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 116.3 sec -2013-09-18 03:38:00,301 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 116.3 sec -2013-09-18 03:38:01,307 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 116.3 sec -2013-09-18 03:38:02,312 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 116.3 sec -2013-09-18 03:38:03,319 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 116.3 sec -2013-09-18 03:38:04,324 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 116.3 sec -2013-09-18 03:38:05,331 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 116.3 sec -2013-09-18 03:38:06,337 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 116.3 sec -2013-09-18 03:38:07,343 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 116.3 sec -2013-09-18 03:38:08,348 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 116.3 sec -2013-09-18 03:38:09,356 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 146.05 sec -2013-09-18 03:38:10,363 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 177.94 sec -2013-09-18 03:38:11,369 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 177.94 sec -MapReduce Total cumulative CPU time: 2 minutes 57 seconds 940 msec -Ended Job = job_201309172235_0352 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0353 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 03:38:19,184 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:38:27,211 Stage-2 map = 25%, reduce = 0% -2013-09-18 03:38:30,222 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-18 03:38:31,227 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-18 03:38:32,232 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-18 03:38:33,237 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-18 03:38:34,242 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-18 03:38:35,247 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-18 03:38:36,252 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.05 sec -2013-09-18 03:38:37,256 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 14.05 sec -2013-09-18 03:38:38,260 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.6 sec -2013-09-18 03:38:39,264 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.6 sec -2013-09-18 03:38:40,268 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.6 sec -2013-09-18 03:38:41,272 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.6 sec -2013-09-18 03:38:42,277 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.6 sec -2013-09-18 03:38:43,282 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.6 sec -2013-09-18 03:38:44,287 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.6 sec -2013-09-18 03:38:45,293 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.6 sec -2013-09-18 03:38:46,297 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 38.6 sec -2013-09-18 03:38:47,303 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 38.6 sec -2013-09-18 03:38:48,308 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.2 sec -2013-09-18 03:38:49,314 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.2 sec -MapReduce Total cumulative CPU time: 46 seconds 200 msec -Ended Job = job_201309172235_0353 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 177.94 sec HDFS Read: 109451651 HDFS Write: 402873759 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 46.2 sec HDFS Read: 402889658 HDFS Write: 465 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 44 seconds 140 msec -OK -Time taken: 98.879 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17127@mturlrep13_201309180338_1157991305.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0354 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:38:59,272 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:39:07,305 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:39:10,318 Stage-1 map = 37%, reduce = 0% -2013-09-18 03:39:13,332 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:39:16,349 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 86.63 sec -2013-09-18 03:39:17,356 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 86.63 sec -2013-09-18 03:39:18,364 Stage-1 map = 74%, reduce = 0%, Cumulative CPU 86.63 sec -2013-09-18 03:39:19,371 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 90.6 sec -2013-09-18 03:39:20,378 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 90.6 sec -2013-09-18 03:39:21,383 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 90.6 sec -2013-09-18 03:39:22,389 Stage-1 map = 89%, reduce = 0%, Cumulative CPU 90.6 sec -2013-09-18 03:39:23,395 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 99.43 sec -2013-09-18 03:39:24,400 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 118.35 sec -2013-09-18 03:39:25,406 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 118.35 sec -2013-09-18 03:39:26,412 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 118.35 sec -2013-09-18 03:39:27,417 Stage-1 map = 100%, reduce = 13%, Cumulative CPU 118.35 sec -2013-09-18 03:39:28,423 Stage-1 map = 100%, reduce = 13%, Cumulative CPU 118.35 sec -2013-09-18 03:39:29,429 Stage-1 map = 100%, reduce = 13%, Cumulative CPU 118.35 sec -2013-09-18 03:39:30,434 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 118.35 sec -2013-09-18 03:39:31,439 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 118.35 sec -2013-09-18 03:39:32,445 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 118.35 sec -2013-09-18 03:39:33,450 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 118.35 sec -2013-09-18 03:39:34,456 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 118.35 sec -2013-09-18 03:39:35,462 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 118.35 sec -2013-09-18 03:39:36,468 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 118.35 sec -2013-09-18 03:39:37,474 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 118.35 sec -2013-09-18 03:39:38,480 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 118.35 sec -2013-09-18 03:39:39,486 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 118.35 sec -2013-09-18 03:39:40,491 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 118.35 sec -2013-09-18 03:39:41,496 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 118.35 sec -2013-09-18 03:39:42,502 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 118.35 sec -2013-09-18 03:39:43,507 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 118.35 sec -2013-09-18 03:39:44,513 Stage-1 map = 100%, reduce = 91%, Cumulative CPU 118.35 sec -2013-09-18 03:39:45,519 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 146.1 sec -2013-09-18 03:39:46,524 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 174.21 sec -2013-09-18 03:39:47,529 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 174.21 sec -MapReduce Total cumulative CPU time: 2 minutes 54 seconds 210 msec -Ended Job = job_201309172235_0354 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0355 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 03:39:50,983 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:39:58,006 Stage-2 map = 25%, reduce = 0% -2013-09-18 03:40:01,016 Stage-2 map = 62%, reduce = 0% -2013-09-18 03:40:04,029 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.78 sec -2013-09-18 03:40:05,035 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.78 sec -2013-09-18 03:40:06,039 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.78 sec -2013-09-18 03:40:07,044 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.78 sec -2013-09-18 03:40:08,049 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.78 sec -2013-09-18 03:40:09,053 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 14.78 sec -2013-09-18 03:40:10,058 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 40.36 sec -2013-09-18 03:40:11,063 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 40.36 sec -2013-09-18 03:40:12,067 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 40.36 sec -2013-09-18 03:40:13,073 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 40.36 sec -2013-09-18 03:40:14,079 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 40.36 sec -2013-09-18 03:40:15,084 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 40.36 sec -2013-09-18 03:40:16,089 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 40.36 sec -2013-09-18 03:40:17,094 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 41.49 sec -2013-09-18 03:40:18,099 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 41.49 sec -2013-09-18 03:40:19,104 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 41.49 sec -2013-09-18 03:40:20,109 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 48.21 sec -2013-09-18 03:40:21,114 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 48.21 sec -MapReduce Total cumulative CPU time: 48 seconds 210 msec -Ended Job = job_201309172235_0355 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 174.21 sec HDFS Read: 109451651 HDFS Write: 402873759 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 48.21 sec HDFS Read: 402889658 HDFS Write: 465 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 42 seconds 420 msec -OK -Time taken: 89.299 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19706@mturlrep13_201309180340_906204677.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0356 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:40:31,369 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:40:38,401 Stage-1 map = 15%, reduce = 0% -2013-09-18 03:40:41,415 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:40:44,429 Stage-1 map = 59%, reduce = 0% -2013-09-18 03:40:47,444 Stage-1 map = 78%, reduce = 0% -2013-09-18 03:40:50,457 Stage-1 map = 89%, reduce = 0% -2013-09-18 03:40:53,477 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 57.18 sec -2013-09-18 03:40:54,483 Stage-1 map = 96%, reduce = 0%, Cumulative CPU 88.61 sec -2013-09-18 03:40:55,490 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 120.2 sec -2013-09-18 03:40:56,494 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 120.2 sec -2013-09-18 03:40:57,499 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 120.2 sec -2013-09-18 03:40:58,503 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 120.2 sec -2013-09-18 03:40:59,509 Stage-1 map = 100%, reduce = 4%, Cumulative CPU 120.2 sec -2013-09-18 03:41:00,514 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 120.2 sec -2013-09-18 03:41:01,520 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 120.2 sec -2013-09-18 03:41:02,526 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 120.2 sec -2013-09-18 03:41:03,532 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 120.2 sec -2013-09-18 03:41:04,538 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 120.2 sec -2013-09-18 03:41:05,544 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 120.2 sec -2013-09-18 03:41:06,550 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 120.2 sec -2013-09-18 03:41:07,556 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 120.2 sec -2013-09-18 03:41:08,562 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 120.2 sec -2013-09-18 03:41:09,568 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 120.2 sec -2013-09-18 03:41:10,573 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 120.2 sec -2013-09-18 03:41:11,580 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 120.2 sec -2013-09-18 03:41:12,586 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 120.2 sec -2013-09-18 03:41:13,591 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 120.2 sec -2013-09-18 03:41:14,597 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 120.2 sec -2013-09-18 03:41:15,602 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 120.2 sec -2013-09-18 03:41:16,610 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 173.32 sec -2013-09-18 03:41:17,616 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 173.32 sec -2013-09-18 03:41:18,622 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 180.14 sec -2013-09-18 03:41:19,628 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 180.14 sec -MapReduce Total cumulative CPU time: 3 minutes 0 seconds 140 msec -Ended Job = job_201309172235_0356 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0357 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-18 03:41:23,145 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:41:30,169 Stage-2 map = 25%, reduce = 0% -2013-09-18 03:41:33,182 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 14.51 sec -2013-09-18 03:41:34,187 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 14.51 sec -2013-09-18 03:41:35,193 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 14.51 sec -2013-09-18 03:41:36,198 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.51 sec -2013-09-18 03:41:37,203 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.51 sec -2013-09-18 03:41:38,208 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.51 sec -2013-09-18 03:41:39,214 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.51 sec -2013-09-18 03:41:40,219 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 14.51 sec -2013-09-18 03:41:41,224 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.04 sec -2013-09-18 03:41:42,229 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.04 sec -2013-09-18 03:41:43,234 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.04 sec -2013-09-18 03:41:44,238 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.04 sec -2013-09-18 03:41:45,243 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.04 sec -2013-09-18 03:41:46,248 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.04 sec -2013-09-18 03:41:47,252 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.04 sec -2013-09-18 03:41:48,257 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.04 sec -2013-09-18 03:41:49,262 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.04 sec -2013-09-18 03:41:50,266 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 39.04 sec -2013-09-18 03:41:51,271 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.66 sec -2013-09-18 03:41:52,277 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.66 sec -2013-09-18 03:41:53,282 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.66 sec -MapReduce Total cumulative CPU time: 46 seconds 660 msec -Ended Job = job_201309172235_0357 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 180.14 sec HDFS Read: 109451651 HDFS Write: 402873759 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 46.66 sec HDFS Read: 402889658 HDFS Write: 465 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 46 seconds 800 msec -OK -Time taken: 90.377 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по URL и числу.; - - -times: 1 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21698@mturlrep13_201309180342_83883651.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0358 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:42:11,758 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:42:18,790 Stage-1 map = 63%, reduce = 0% -2013-09-18 03:42:21,804 Stage-1 map = 89%, reduce = 0% -2013-09-18 03:42:22,816 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 26.17 sec -2013-09-18 03:42:23,825 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 54.18 sec -2013-09-18 03:42:24,832 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 54.18 sec -2013-09-18 03:42:25,838 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 54.18 sec -2013-09-18 03:42:26,845 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 54.18 sec -2013-09-18 03:42:27,851 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 54.18 sec -2013-09-18 03:42:28,856 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 54.18 sec -2013-09-18 03:42:29,862 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 54.18 sec -2013-09-18 03:42:30,869 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 54.18 sec -2013-09-18 03:42:31,876 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 56.28 sec -2013-09-18 03:42:32,882 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 56.28 sec -2013-09-18 03:42:33,889 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 56.28 sec -2013-09-18 03:42:34,895 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 56.28 sec -2013-09-18 03:42:35,902 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 56.28 sec -2013-09-18 03:42:36,909 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 56.28 sec -2013-09-18 03:42:37,915 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 67.05 sec -2013-09-18 03:42:38,921 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 67.05 sec -2013-09-18 03:42:39,927 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 67.05 sec -MapReduce Total cumulative CPU time: 1 minutes 7 seconds 50 msec -Ended Job = job_201309172235_0358 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0359 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:42:42,428 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:42:54,471 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.53 sec -2013-09-18 03:42:55,477 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.53 sec -2013-09-18 03:42:56,482 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.53 sec -2013-09-18 03:42:57,487 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.53 sec -2013-09-18 03:42:58,491 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.53 sec -2013-09-18 03:42:59,495 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.53 sec -2013-09-18 03:43:00,500 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.53 sec -2013-09-18 03:43:01,505 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.53 sec -2013-09-18 03:43:02,510 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.53 sec -2013-09-18 03:43:03,515 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.82 sec -2013-09-18 03:43:04,520 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.82 sec -2013-09-18 03:43:05,527 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.82 sec -MapReduce Total cumulative CPU time: 18 seconds 820 msec -Ended Job = job_201309172235_0359 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 67.05 sec HDFS Read: 31344843 HDFS Write: 51717050 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.82 sec HDFS Read: 51717819 HDFS Write: 490 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 25 seconds 870 msec -OK -Time taken: 63.792 seconds, Fetched: 10 row(s) -hive> quit; - -times: 2 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23423@mturlrep13_201309180343_849801634.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0360 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:43:14,871 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:43:22,908 Stage-1 map = 74%, reduce = 0% -2013-09-18 03:43:25,929 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 27.51 sec -2013-09-18 03:43:26,937 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.55 sec -2013-09-18 03:43:27,944 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.55 sec -2013-09-18 03:43:28,950 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.55 sec -2013-09-18 03:43:29,956 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.55 sec -2013-09-18 03:43:30,961 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.55 sec -2013-09-18 03:43:31,966 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.55 sec -2013-09-18 03:43:32,971 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 56.55 sec -2013-09-18 03:43:33,978 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 56.55 sec -2013-09-18 03:43:34,985 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 58.54 sec -2013-09-18 03:43:35,993 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 58.54 sec -2013-09-18 03:43:36,998 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 58.54 sec -2013-09-18 03:43:38,004 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 58.54 sec -2013-09-18 03:43:39,010 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 58.54 sec -2013-09-18 03:43:40,016 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 58.54 sec -2013-09-18 03:43:41,023 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.2 sec -2013-09-18 03:43:42,029 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.2 sec -2013-09-18 03:43:43,035 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.2 sec -MapReduce Total cumulative CPU time: 1 minutes 9 seconds 200 msec -Ended Job = job_201309172235_0360 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0361 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:43:45,535 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:43:57,575 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.46 sec -2013-09-18 03:43:58,580 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.46 sec -2013-09-18 03:43:59,588 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.46 sec -2013-09-18 03:44:00,592 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.46 sec -2013-09-18 03:44:01,597 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.46 sec -2013-09-18 03:44:02,601 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.46 sec -2013-09-18 03:44:03,606 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.46 sec -2013-09-18 03:44:04,612 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.46 sec -2013-09-18 03:44:05,617 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.46 sec -2013-09-18 03:44:06,621 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.66 sec -2013-09-18 03:44:07,642 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.66 sec -2013-09-18 03:44:08,647 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.66 sec -MapReduce Total cumulative CPU time: 18 seconds 660 msec -Ended Job = job_201309172235_0361 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 69.2 sec HDFS Read: 31344843 HDFS Write: 51717050 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.66 sec HDFS Read: 51717819 HDFS Write: 490 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 27 seconds 860 msec -OK -Time taken: 61.127 seconds, Fetched: 10 row(s) -hive> quit; - -times: 3 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25150@mturlrep13_201309180344_1265388056.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0362 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:44:18,182 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:44:26,214 Stage-1 map = 63%, reduce = 0% -2013-09-18 03:44:29,227 Stage-1 map = 89%, reduce = 0% -2013-09-18 03:44:30,239 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 57.27 sec -2013-09-18 03:44:31,245 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 57.27 sec -2013-09-18 03:44:32,252 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 57.27 sec -2013-09-18 03:44:33,258 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 57.27 sec -2013-09-18 03:44:34,264 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 57.27 sec -2013-09-18 03:44:35,269 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 57.27 sec -2013-09-18 03:44:36,275 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 57.27 sec -2013-09-18 03:44:37,280 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.27 sec -2013-09-18 03:44:38,287 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 59.28 sec -2013-09-18 03:44:39,293 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 59.28 sec -2013-09-18 03:44:40,298 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 59.28 sec -2013-09-18 03:44:41,303 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 59.28 sec -2013-09-18 03:44:42,308 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 59.28 sec -2013-09-18 03:44:43,314 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 59.28 sec -2013-09-18 03:44:44,319 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 59.28 sec -2013-09-18 03:44:45,325 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.26 sec -2013-09-18 03:44:46,331 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.26 sec -MapReduce Total cumulative CPU time: 1 minutes 10 seconds 260 msec -Ended Job = job_201309172235_0362 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0363 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:44:49,785 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:45:00,823 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.52 sec -2013-09-18 03:45:01,829 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.52 sec -2013-09-18 03:45:02,834 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.52 sec -2013-09-18 03:45:03,903 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.52 sec -2013-09-18 03:45:04,908 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.52 sec -2013-09-18 03:45:05,912 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.52 sec -2013-09-18 03:45:06,916 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.52 sec -2013-09-18 03:45:07,921 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.52 sec -2013-09-18 03:45:08,927 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.52 sec -2013-09-18 03:45:09,932 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.85 sec -2013-09-18 03:45:10,938 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.85 sec -2013-09-18 03:45:11,943 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.85 sec -MapReduce Total cumulative CPU time: 19 seconds 850 msec -Ended Job = job_201309172235_0363 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 70.26 sec HDFS Read: 31344843 HDFS Write: 51717050 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 19.85 sec HDFS Read: 51717819 HDFS Write: 490 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 30 seconds 110 msec -OK -Time taken: 61.517 seconds, Fetched: 10 row(s) -hive> quit; - -times: 1 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27316@mturlrep13_201309180345_1510224697.txt -hive> ; -hive> quit; - -times: 2 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27776@mturlrep13_201309180345_1361207737.txt -hive> ; -hive> quit; - -times: 3 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27977@mturlrep13_201309180345_862396725.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28185@mturlrep13_201309180345_1903344467.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0364 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:45:40,647 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:45:48,681 Stage-1 map = 51%, reduce = 0% -2013-09-18 03:45:49,694 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 18.62 sec -2013-09-18 03:45:50,702 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.91 sec -2013-09-18 03:45:51,710 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.91 sec -2013-09-18 03:45:52,716 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.91 sec -2013-09-18 03:45:53,721 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.91 sec -2013-09-18 03:45:54,726 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.91 sec -2013-09-18 03:45:55,733 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.91 sec -2013-09-18 03:45:56,738 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.91 sec -2013-09-18 03:45:57,746 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 40.93 sec -2013-09-18 03:45:58,752 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.77 sec -2013-09-18 03:45:59,758 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.77 sec -MapReduce Total cumulative CPU time: 42 seconds 770 msec -Ended Job = job_201309172235_0364 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0365 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:46:03,281 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:46:04,286 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:46:05,292 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:46:06,300 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:46:07,305 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:46:08,309 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:46:09,313 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:46:10,318 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:46:11,323 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:46:12,328 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.28 sec -2013-09-18 03:46:13,335 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.28 sec -2013-09-18 03:46:14,340 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.28 sec -MapReduce Total cumulative CPU time: 2 seconds 280 msec -Ended Job = job_201309172235_0365 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.77 sec HDFS Read: 118784021 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.28 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 50 msec -OK -Time taken: 44.325 seconds -hive> quit; - -times: 2 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30170@mturlrep13_201309180346_1971537054.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0366 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:46:23,592 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:46:31,635 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 18.42 sec -2013-09-18 03:46:32,643 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.46 sec -2013-09-18 03:46:33,650 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.46 sec -2013-09-18 03:46:34,657 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.46 sec -2013-09-18 03:46:35,663 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.46 sec -2013-09-18 03:46:36,670 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.46 sec -2013-09-18 03:46:37,677 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.46 sec -2013-09-18 03:46:38,684 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.46 sec -2013-09-18 03:46:39,692 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 40.52 sec -2013-09-18 03:46:40,698 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.46 sec -2013-09-18 03:46:41,704 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.46 sec -MapReduce Total cumulative CPU time: 42 seconds 460 msec -Ended Job = job_201309172235_0366 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0367 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:46:45,150 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:46:46,156 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:46:47,162 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:46:48,167 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:46:49,172 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:46:50,177 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:46:51,183 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:46:52,188 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:46:53,192 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:46:54,198 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-18 03:46:55,203 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-18 03:46:56,209 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -MapReduce Total cumulative CPU time: 2 seconds 140 msec -Ended Job = job_201309172235_0367 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.46 sec HDFS Read: 118784021 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.14 sec HDFS Read: 959 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 600 msec -OK -Time taken: 39.995 seconds -hive> quit; - -times: 3 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32117@mturlrep13_201309180346_265757676.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0368 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:47:06,367 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:47:13,406 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 9.51 sec -2013-09-18 03:47:14,415 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.45 sec -2013-09-18 03:47:15,422 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.45 sec -2013-09-18 03:47:16,428 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.45 sec -2013-09-18 03:47:17,433 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.45 sec -2013-09-18 03:47:18,439 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.45 sec -2013-09-18 03:47:19,444 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.45 sec -2013-09-18 03:47:20,450 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.45 sec -2013-09-18 03:47:21,459 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 41.37 sec -2013-09-18 03:47:22,465 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.32 sec -2013-09-18 03:47:23,471 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.32 sec -MapReduce Total cumulative CPU time: 43 seconds 320 msec -Ended Job = job_201309172235_0368 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0369 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:47:26,930 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:47:27,935 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 03:47:28,941 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 03:47:29,947 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 03:47:30,952 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 03:47:31,956 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 03:47:32,961 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 03:47:33,966 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 03:47:34,971 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-18 03:47:35,977 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -2013-09-18 03:47:36,983 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -2013-09-18 03:47:37,988 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -MapReduce Total cumulative CPU time: 2 seconds 290 msec -Ended Job = job_201309172235_0369 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 43.32 sec HDFS Read: 118784021 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.29 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 610 msec -OK -Time taken: 39.979 seconds -hive> quit; - -times: 1 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1699@mturlrep13_201309180347_773881817.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0370 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:47:54,727 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:48:01,761 Stage-1 map = 66%, reduce = 0% -2013-09-18 03:48:03,778 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.99 sec -2013-09-18 03:48:04,785 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.99 sec -2013-09-18 03:48:05,792 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.99 sec -2013-09-18 03:48:06,799 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.99 sec -2013-09-18 03:48:07,804 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.99 sec -2013-09-18 03:48:08,811 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.99 sec -2013-09-18 03:48:09,818 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.99 sec -2013-09-18 03:48:10,824 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 38.99 sec -2013-09-18 03:48:11,833 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.36 sec -2013-09-18 03:48:12,840 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.36 sec -2013-09-18 03:48:13,847 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.36 sec -MapReduce Total cumulative CPU time: 43 seconds 360 msec -Ended Job = job_201309172235_0370 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0371 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:48:17,471 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:48:18,477 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 03:48:19,486 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 03:48:20,491 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 03:48:21,496 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 03:48:22,502 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 03:48:23,508 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 03:48:24,514 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 03:48:25,520 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-18 03:48:26,526 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -2013-09-18 03:48:27,532 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -2013-09-18 03:48:28,538 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -MapReduce Total cumulative CPU time: 2 seconds 230 msec -Ended Job = job_201309172235_0371 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 43.36 sec HDFS Read: 115339269 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.23 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 590 msec -OK -Time taken: 43.852 seconds -hive> quit; - -times: 2 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3593@mturlrep13_201309180348_533961775.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0372 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:48:38,968 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:48:46,007 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 18.26 sec -2013-09-18 03:48:47,015 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.04 sec -2013-09-18 03:48:48,023 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.04 sec -2013-09-18 03:48:49,029 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.04 sec -2013-09-18 03:48:50,035 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.04 sec -2013-09-18 03:48:51,040 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.04 sec -2013-09-18 03:48:52,047 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.04 sec -2013-09-18 03:48:53,053 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.04 sec -2013-09-18 03:48:54,062 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 39.06 sec -2013-09-18 03:48:55,069 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.09 sec -2013-09-18 03:48:56,076 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.09 sec -MapReduce Total cumulative CPU time: 41 seconds 90 msec -Ended Job = job_201309172235_0372 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0373 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:48:58,539 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:49:00,548 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 03:49:01,554 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 03:49:02,560 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 03:49:03,564 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 03:49:04,569 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 03:49:05,574 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 03:49:06,578 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-18 03:49:07,583 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.69 sec -2013-09-18 03:49:08,589 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-18 03:49:09,594 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -2013-09-18 03:49:10,600 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.14 sec -MapReduce Total cumulative CPU time: 2 seconds 140 msec -Ended Job = job_201309172235_0373 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.09 sec HDFS Read: 115339269 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.14 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 230 msec -OK -Time taken: 40.178 seconds -hive> quit; - -times: 3 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5455@mturlrep13_201309180349_1828648291.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0374 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:49:21,008 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:49:28,046 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 8.89 sec -2013-09-18 03:49:29,054 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.98 sec -2013-09-18 03:49:30,062 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.98 sec -2013-09-18 03:49:31,067 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.98 sec -2013-09-18 03:49:32,073 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.98 sec -2013-09-18 03:49:33,079 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.98 sec -2013-09-18 03:49:34,084 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.98 sec -2013-09-18 03:49:35,090 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.98 sec -2013-09-18 03:49:36,096 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 37.98 sec -2013-09-18 03:49:37,104 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.56 sec -2013-09-18 03:49:38,109 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.56 sec -MapReduce Total cumulative CPU time: 42 seconds 560 msec -Ended Job = job_201309172235_0374 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0375 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:49:41,584 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:49:43,592 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:49:44,596 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:49:45,600 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:49:46,604 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:49:47,608 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:49:48,612 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:49:49,616 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:49:50,620 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -2013-09-18 03:49:51,625 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -2013-09-18 03:49:52,630 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -MapReduce Total cumulative CPU time: 2 seconds 100 msec -Ended Job = job_201309172235_0375 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.56 sec HDFS Read: 115339269 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.1 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 660 msec -OK -Time taken: 40.131 seconds -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7725@mturlrep13_201309180349_550066891.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0376 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:50:09,712 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:50:16,741 Stage-1 map = 44%, reduce = 0% -2013-09-18 03:50:18,758 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 34.83 sec -2013-09-18 03:50:19,766 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.89 sec -2013-09-18 03:50:20,774 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.89 sec -2013-09-18 03:50:21,781 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.89 sec -2013-09-18 03:50:22,787 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.89 sec -2013-09-18 03:50:23,793 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.89 sec -2013-09-18 03:50:24,799 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.89 sec -2013-09-18 03:50:25,805 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.89 sec -2013-09-18 03:50:26,813 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 41.94 sec -2013-09-18 03:50:27,820 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.02 sec -2013-09-18 03:50:28,827 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.02 sec -MapReduce Total cumulative CPU time: 44 seconds 20 msec -Ended Job = job_201309172235_0376 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0377 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:50:31,408 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:50:33,417 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:50:34,422 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:50:35,428 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:50:36,432 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:50:37,437 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:50:38,442 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:50:39,447 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.66 sec -2013-09-18 03:50:40,452 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.66 sec -2013-09-18 03:50:41,458 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -2013-09-18 03:50:42,463 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -2013-09-18 03:50:43,469 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.19 sec -MapReduce Total cumulative CPU time: 2 seconds 190 msec -Ended Job = job_201309172235_0377 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 44.02 sec HDFS Read: 118662691 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.19 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 46 seconds 210 msec -OK -Time taken: 44.493 seconds -hive> quit; - -times: 2 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10373@mturlrep13_201309180350_1849852052.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0378 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:50:53,794 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:51:00,831 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 9.24 sec -2013-09-18 03:51:01,838 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.73 sec -2013-09-18 03:51:02,846 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.73 sec -2013-09-18 03:51:03,852 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.73 sec -2013-09-18 03:51:04,858 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.73 sec -2013-09-18 03:51:05,865 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.73 sec -2013-09-18 03:51:06,871 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.73 sec -2013-09-18 03:51:07,876 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.73 sec -2013-09-18 03:51:08,883 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 40.86 sec -2013-09-18 03:51:09,890 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.85 sec -2013-09-18 03:51:10,897 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.85 sec -MapReduce Total cumulative CPU time: 42 seconds 850 msec -Ended Job = job_201309172235_0378 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0379 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:51:14,363 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:51:16,372 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:51:17,377 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:51:18,382 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:51:19,387 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:51:20,392 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:51:21,397 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:51:22,403 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:51:23,408 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -2013-09-18 03:51:24,414 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -2013-09-18 03:51:25,420 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -MapReduce Total cumulative CPU time: 2 seconds 160 msec -Ended Job = job_201309172235_0379 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.85 sec HDFS Read: 118662691 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.16 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 10 msec -OK -Time taken: 40.17 seconds -hive> quit; - -times: 3 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12355@mturlrep13_201309180351_396050441.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0380 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:51:34,723 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:51:42,768 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 19.49 sec -2013-09-18 03:51:43,777 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.68 sec -2013-09-18 03:51:44,785 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.68 sec -2013-09-18 03:51:45,791 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.68 sec -2013-09-18 03:51:46,798 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.68 sec -2013-09-18 03:51:47,804 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.68 sec -2013-09-18 03:51:48,810 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.68 sec -2013-09-18 03:51:49,818 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 40.68 sec -2013-09-18 03:51:50,825 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 40.68 sec -2013-09-18 03:51:51,834 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.72 sec -2013-09-18 03:51:52,841 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 44.72 sec -MapReduce Total cumulative CPU time: 44 seconds 720 msec -Ended Job = job_201309172235_0380 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0381 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:51:56,309 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:51:57,314 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:51:58,319 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:51:59,325 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:52:00,330 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:52:01,334 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:52:02,339 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:52:03,343 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:52:04,348 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:52:05,354 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -2013-09-18 03:52:06,360 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -2013-09-18 03:52:07,365 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -MapReduce Total cumulative CPU time: 2 seconds 160 msec -Ended Job = job_201309172235_0381 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 44.72 sec HDFS Read: 118662691 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.16 sec HDFS Read: 959 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 46 seconds 880 msec -OK -Time taken: 40.171 seconds -hive> quit; - -times: 1 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14305@mturlrep13_201309180352_966734049.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; ; -FAILED: SemanticException [Error 10128]: Line 1:414 Not yet supported place for UDAF 'count' -hive> quit; - -times: 2 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14524@mturlrep13_201309180352_643113009.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; ; -FAILED: SemanticException [Error 10128]: Line 1:414 Not yet supported place for UDAF 'count' -hive> quit; - -times: 3 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14731@mturlrep13_201309180352_231906667.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*), if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') AS SRC FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, ''), URL ORDER BY count(*) DESC LIMIT 1000; ; -FAILED: SemanticException [Error 10128]: Line 1:414 Not yet supported place for UDAF 'count' -hive> quit; - -times: 1 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14942@mturlrep13_201309180352_606832963.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0382 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:52:47,876 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:52:54,907 Stage-1 map = 63%, reduce = 0% -2013-09-18 03:52:55,919 Stage-1 map = 72%, reduce = 0%, Cumulative CPU 9.33 sec -2013-09-18 03:52:56,927 Stage-1 map = 79%, reduce = 0%, Cumulative CPU 19.11 sec -2013-09-18 03:52:57,935 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.01 sec -2013-09-18 03:52:58,941 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.01 sec -2013-09-18 03:52:59,946 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.01 sec -2013-09-18 03:53:00,952 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.01 sec -2013-09-18 03:53:01,958 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.01 sec -2013-09-18 03:53:02,965 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 39.01 sec -2013-09-18 03:53:03,972 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 39.01 sec -2013-09-18 03:53:04,980 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.35 sec -2013-09-18 03:53:05,987 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.35 sec -MapReduce Total cumulative CPU time: 43 seconds 350 msec -Ended Job = job_201309172235_0382 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0383 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:53:09,467 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:53:11,476 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:53:12,482 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:53:13,487 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:53:14,491 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:53:15,496 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:53:16,513 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:53:17,519 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:53:18,524 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -2013-09-18 03:53:19,530 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -2013-09-18 03:53:20,536 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -MapReduce Total cumulative CPU time: 2 seconds 100 msec -Ended Job = job_201309172235_0383 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 43.35 sec HDFS Read: 148406904 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.1 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 450 msec -OK -Time taken: 43.025 seconds -hive> quit; - -times: 2 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16891@mturlrep13_201309180353_499012303.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0384 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:53:30,022 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:53:38,064 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 27.01 sec -2013-09-18 03:53:39,072 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.42 sec -2013-09-18 03:53:40,080 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.42 sec -2013-09-18 03:53:41,086 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.42 sec -2013-09-18 03:53:42,092 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.42 sec -2013-09-18 03:53:43,098 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.42 sec -2013-09-18 03:53:44,105 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.42 sec -2013-09-18 03:53:45,112 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.42 sec -2013-09-18 03:53:46,120 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.33 sec -2013-09-18 03:53:47,127 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.33 sec -2013-09-18 03:53:48,134 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.33 sec -MapReduce Total cumulative CPU time: 40 seconds 330 msec -Ended Job = job_201309172235_0384 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0385 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:53:50,608 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:53:52,616 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:53:53,622 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:53:54,627 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:53:55,631 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:53:56,636 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:53:57,641 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:53:58,646 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:53:59,652 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.65 sec -2013-09-18 03:54:00,658 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -2013-09-18 03:54:01,664 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -MapReduce Total cumulative CPU time: 2 seconds 160 msec -Ended Job = job_201309172235_0385 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.33 sec HDFS Read: 148406904 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.16 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 490 msec -OK -Time taken: 39.168 seconds -hive> quit; - -times: 3 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18843@mturlrep13_201309180354_379983066.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0386 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:54:10,812 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:54:18,851 Stage-1 map = 86%, reduce = 0%, Cumulative CPU 36.06 sec -2013-09-18 03:54:19,859 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.5 sec -2013-09-18 03:54:20,867 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.5 sec -2013-09-18 03:54:21,873 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.5 sec -2013-09-18 03:54:22,879 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.5 sec -2013-09-18 03:54:23,885 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.5 sec -2013-09-18 03:54:24,891 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 38.5 sec -2013-09-18 03:54:25,898 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.5 sec -2013-09-18 03:54:26,905 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.56 sec -2013-09-18 03:54:27,912 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.56 sec -2013-09-18 03:54:28,918 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.56 sec -MapReduce Total cumulative CPU time: 42 seconds 560 msec -Ended Job = job_201309172235_0386 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0387 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:54:32,443 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:54:33,449 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:54:34,455 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:54:35,460 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:54:36,465 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:54:37,470 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:54:38,475 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:54:39,479 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:54:40,484 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.65 sec -2013-09-18 03:54:41,490 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -2013-09-18 03:54:42,495 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -2013-09-18 03:54:43,500 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -MapReduce Total cumulative CPU time: 2 seconds 80 msec -Ended Job = job_201309172235_0387 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.56 sec HDFS Read: 148406904 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.08 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 640 msec -OK -Time taken: 40.042 seconds -hive> quit; - -times: 1 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20827@mturlrep13_201309180354_891781723.txt -hive> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0388 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:54:59,946 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:55:06,975 Stage-1 map = 56%, reduce = 0% -2013-09-18 03:55:08,992 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 17.58 sec -2013-09-18 03:55:09,999 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.11 sec -2013-09-18 03:55:11,007 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.11 sec -2013-09-18 03:55:12,014 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.11 sec -2013-09-18 03:55:13,020 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.11 sec -2013-09-18 03:55:14,027 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.11 sec -2013-09-18 03:55:15,033 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.11 sec -2013-09-18 03:55:16,039 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.11 sec -2013-09-18 03:55:17,047 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.2 sec -2013-09-18 03:55:18,053 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.2 sec -MapReduce Total cumulative CPU time: 41 seconds 200 msec -Ended Job = job_201309172235_0388 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0389 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:55:20,567 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:55:22,576 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:55:23,582 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:55:24,587 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:55:25,591 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:55:26,596 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:55:27,600 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:55:28,605 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:55:29,610 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.64 sec -2013-09-18 03:55:30,615 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -2013-09-18 03:55:31,620 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -2013-09-18 03:55:32,625 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -MapReduce Total cumulative CPU time: 2 seconds 100 msec -Ended Job = job_201309172235_0389 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.2 sec HDFS Read: 105631340 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.1 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 300 msec -OK -Time taken: 42.914 seconds -hive> quit; - -times: 2 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23548@mturlrep13_201309180355_61949059.txt -hive> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0390 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:55:41,925 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:55:49,963 Stage-1 map = 93%, reduce = 0%, Cumulative CPU 27.55 sec -2013-09-18 03:55:50,974 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.61 sec -2013-09-18 03:55:51,982 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.61 sec -2013-09-18 03:55:52,988 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.61 sec -2013-09-18 03:55:53,994 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.61 sec -2013-09-18 03:55:55,000 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.61 sec -2013-09-18 03:55:56,005 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.61 sec -2013-09-18 03:55:57,012 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.61 sec -2013-09-18 03:55:58,020 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 38.63 sec -2013-09-18 03:55:59,026 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.74 sec -2013-09-18 03:56:00,032 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.74 sec -MapReduce Total cumulative CPU time: 40 seconds 740 msec -Ended Job = job_201309172235_0390 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0391 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:56:03,570 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:56:05,578 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:56:06,583 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:56:07,588 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:56:08,593 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:56:09,598 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:56:10,603 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:56:11,608 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.67 sec -2013-09-18 03:56:12,614 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.67 sec -2013-09-18 03:56:13,620 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -2013-09-18 03:56:14,625 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.29 sec -MapReduce Total cumulative CPU time: 2 seconds 290 msec -Ended Job = job_201309172235_0391 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.74 sec HDFS Read: 105631340 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.29 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 30 msec -OK -Time taken: 40.129 seconds -hive> quit; - -times: 3 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25608@mturlrep13_201309180356_1104505823.txt -hive> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0392 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-18 03:56:24,831 Stage-1 map = 0%, reduce = 0% -2013-09-18 03:56:31,868 Stage-1 map = 97%, reduce = 0%, Cumulative CPU 26.64 sec -2013-09-18 03:56:32,876 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:56:33,883 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:56:34,889 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:56:35,895 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:56:36,901 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:56:37,907 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 36.09 sec -2013-09-18 03:56:38,914 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.09 sec -2013-09-18 03:56:39,922 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.24 sec -2013-09-18 03:56:40,930 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.24 sec -2013-09-18 03:56:41,935 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.24 sec -MapReduce Total cumulative CPU time: 40 seconds 240 msec -Ended Job = job_201309172235_0392 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309172235_0393 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-18 03:56:44,482 Stage-2 map = 0%, reduce = 0% -2013-09-18 03:56:46,491 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:56:47,497 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:56:48,502 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:56:49,507 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:56:50,512 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:56:51,516 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:56:52,521 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.64 sec -2013-09-18 03:56:53,527 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.64 sec -2013-09-18 03:56:54,532 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.0 sec -2013-09-18 03:56:55,541 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.0 sec -MapReduce Total cumulative CPU time: 2 seconds 0 msec -Ended Job = job_201309172235_0393 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.24 sec HDFS Read: 105631340 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.0 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 240 msec -OK -Time taken: 39.135 seconds -hive> quit; - -times: 1 -query: SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27654@mturlrep13_201309180357_1202049838.txt -hive> SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; ; -hive> quit; - -times: 2 -query: SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27867@mturlrep13_201309180357_2097495906.txt -hive> SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; ; -hive> quit; - -times: 3 -query: SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28078@mturlrep13_201309180357_1074846519.txt -hive> SELECT unix_timestamp(EventTime) - SECOND(EventTime), count(*) FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY m ORDER BY m; ; -hive> quit; -stop time: Ср. сент. 18 03:57:19 MSK 2013 diff --git a/benchmark/hive/log/log_10m/log_hits_10m b/benchmark/hive/log/log_10m/log_hits_10m deleted file mode 100644 index 9404479a423..00000000000 --- a/benchmark/hive/log/log_10m/log_hits_10m +++ /dev/null @@ -1,9306 +0,0 @@ -start time: Ср. сент. 11 18:04:18 MSK 2013 -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27940@mturlrep13_201309111804_333737265.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28397@mturlrep13_201309111804_2040079163.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0219 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:04:42,860 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:04:49,913 Stage-1 map = 4%, reduce = 0% -2013-09-11 18:04:52,925 Stage-1 map = 7%, reduce = 0% -2013-09-11 18:04:55,955 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:04:56,962 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:04:57,969 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:04:58,976 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:04:59,982 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:00,988 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:01,993 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:02,998 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:04,003 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:05,008 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:06,018 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:07,024 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:08,029 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:09,035 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:10,039 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:11,044 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 27.32 sec -2013-09-11 18:05:12,051 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 51.0 sec -2013-09-11 18:05:13,056 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.63 sec -2013-09-11 18:05:14,062 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.63 sec -2013-09-11 18:05:15,067 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.63 sec -2013-09-11 18:05:16,072 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.63 sec -2013-09-11 18:05:17,077 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.63 sec -2013-09-11 18:05:18,083 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.63 sec -2013-09-11 18:05:19,088 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.63 sec -2013-09-11 18:05:20,093 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:21,098 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:22,103 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:23,108 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:24,112 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:25,117 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:26,122 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:27,127 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:28,131 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:29,136 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:30,141 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:31,151 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:32,159 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:33,163 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:34,168 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:35,173 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:36,208 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:37,212 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:38,217 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:39,222 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 18:05:40,227 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 116.26 sec -2013-09-11 18:05:41,240 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.04 sec -2013-09-11 18:05:42,244 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.04 sec -2013-09-11 18:05:43,248 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.04 sec -2013-09-11 18:05:44,253 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.04 sec -2013-09-11 18:05:45,259 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 154.32 sec -2013-09-11 18:05:46,264 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 154.32 sec -2013-09-11 18:05:47,269 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 154.32 sec -MapReduce Total cumulative CPU time: 2 minutes 34 seconds 320 msec -Ended Job = job_201309101627_0219 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 154.32 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 34 seconds 320 msec -OK -10000000 -Time taken: 79.195 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31005@mturlrep13_201309111805_665303300.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31457@mturlrep13_201309111805_1086613.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0220 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:06:01,601 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:06:08,629 Stage-1 map = 7%, reduce = 0% -2013-09-11 18:06:11,641 Stage-1 map = 14%, reduce = 0% -2013-09-11 18:06:18,671 Stage-1 map = 22%, reduce = 0% -2013-09-11 18:06:21,683 Stage-1 map = 29%, reduce = 0% -2013-09-11 18:06:24,695 Stage-1 map = 36%, reduce = 0% -2013-09-11 18:06:27,707 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:06:28,718 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 34.66 sec -2013-09-11 18:06:29,725 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.93 sec -2013-09-11 18:06:30,731 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.93 sec -2013-09-11 18:06:31,736 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.93 sec -2013-09-11 18:06:32,742 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.93 sec -2013-09-11 18:06:33,747 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.93 sec -2013-09-11 18:06:34,752 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.93 sec -2013-09-11 18:06:35,757 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 78.93 sec -2013-09-11 18:06:36,762 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:37,767 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:38,772 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:39,778 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:40,783 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:41,787 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:42,793 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:43,798 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:44,803 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:45,808 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:46,867 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:47,872 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:48,877 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:49,888 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:50,893 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:51,916 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:52,921 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 78.93 sec -2013-09-11 18:06:53,925 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 112.4 sec -2013-09-11 18:06:54,931 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 112.4 sec -2013-09-11 18:06:55,940 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 154.14 sec -2013-09-11 18:06:56,945 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 154.14 sec -2013-09-11 18:06:57,950 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 157.93 sec -2013-09-11 18:06:58,954 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 157.93 sec -2013-09-11 18:06:59,959 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 157.93 sec -2013-09-11 18:07:00,963 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 157.93 sec -2013-09-11 18:07:01,970 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 159.3 sec -2013-09-11 18:07:02,975 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 159.3 sec -2013-09-11 18:07:03,987 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 159.3 sec -MapReduce Total cumulative CPU time: 2 minutes 39 seconds 300 msec -Ended Job = job_201309101627_0220 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 159.3 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 39 seconds 300 msec -OK -10000000 -Time taken: 71.026 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_836@mturlrep13_201309111807_561551889.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(*) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1313@mturlrep13_201309111807_1846613812.txt -hive> SELECT count(*) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0221 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:07:18,418 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:07:25,501 Stage-1 map = 7%, reduce = 0% -2013-09-11 18:07:31,523 Stage-1 map = 14%, reduce = 0% -2013-09-11 18:07:34,537 Stage-1 map = 22%, reduce = 0% -2013-09-11 18:07:37,547 Stage-1 map = 25%, reduce = 0% -2013-09-11 18:07:38,551 Stage-1 map = 29%, reduce = 0% -2013-09-11 18:07:40,559 Stage-1 map = 32%, reduce = 0% -2013-09-11 18:07:41,564 Stage-1 map = 36%, reduce = 0% -2013-09-11 18:07:43,571 Stage-1 map = 39%, reduce = 0% -2013-09-11 18:07:47,591 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 85.17 sec -2013-09-11 18:07:48,598 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 85.17 sec -2013-09-11 18:07:49,609 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 85.17 sec -2013-09-11 18:07:50,615 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 85.17 sec -2013-09-11 18:07:51,620 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 85.17 sec -2013-09-11 18:07:52,625 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 85.17 sec -2013-09-11 18:07:53,630 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 85.17 sec -2013-09-11 18:07:54,635 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 85.17 sec -2013-09-11 18:07:55,640 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:07:56,660 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:07:57,668 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:07:58,672 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:07:59,676 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:00,681 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:01,685 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:02,690 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:03,694 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:04,699 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:05,703 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:06,708 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:07,712 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:08,716 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:09,720 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:10,725 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:11,729 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 107.69 sec -2013-09-11 18:08:12,734 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 128.12 sec -2013-09-11 18:08:13,739 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 128.12 sec -2013-09-11 18:08:14,743 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.45 sec -2013-09-11 18:08:15,747 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.45 sec -2013-09-11 18:08:16,752 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.45 sec -2013-09-11 18:08:17,859 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 152.45 sec -2013-09-11 18:08:18,863 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 152.45 sec -2013-09-11 18:08:19,868 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 152.45 sec -2013-09-11 18:08:20,874 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 154.14 sec -2013-09-11 18:08:21,879 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 154.14 sec -MapReduce Total cumulative CPU time: 2 minutes 34 seconds 140 msec -Ended Job = job_201309101627_0221 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 154.14 sec HDFS Read: 1082943442 HDFS Write: 9 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 34 seconds 140 msec -OK -10000000 -Time taken: 71.919 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3224@mturlrep13_201309111808_410663518.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3703@mturlrep13_201309111808_1060047951.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0222 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:08:42,497 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:08:47,524 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.16 sec -2013-09-11 18:08:48,531 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.16 sec -2013-09-11 18:08:49,539 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.16 sec -2013-09-11 18:08:50,546 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.16 sec -2013-09-11 18:08:51,551 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.16 sec -2013-09-11 18:08:52,557 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.16 sec -2013-09-11 18:08:53,563 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.25 sec -2013-09-11 18:08:54,568 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.25 sec -2013-09-11 18:08:55,574 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 23.94 sec -2013-09-11 18:08:56,582 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.2 sec -2013-09-11 18:08:57,609 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.2 sec -MapReduce Total cumulative CPU time: 25 seconds 200 msec -Ended Job = job_201309101627_0222 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 25.2 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 25 seconds 200 msec -OK -171127 -Time taken: 24.984 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5325@mturlrep13_201309111808_1536943547.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5808@mturlrep13_201309111809_1398241978.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0223 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:09:11,922 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:09:15,946 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.33 sec -2013-09-11 18:09:16,954 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.33 sec -2013-09-11 18:09:17,965 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.33 sec -2013-09-11 18:09:18,971 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.33 sec -2013-09-11 18:09:19,977 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.33 sec -2013-09-11 18:09:20,983 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 17.02 sec -2013-09-11 18:09:21,989 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.14 sec -2013-09-11 18:09:22,995 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.14 sec -2013-09-11 18:09:24,000 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 23.14 sec -2013-09-11 18:09:25,007 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.1 sec -2013-09-11 18:09:26,014 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.1 sec -MapReduce Total cumulative CPU time: 25 seconds 100 msec -Ended Job = job_201309101627_0223 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 25.1 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 25 seconds 100 msec -OK -171127 -Time taken: 22.815 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7174@mturlrep13_201309111809_1436708878.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7626@mturlrep13_201309111809_1436982971.txt -hive> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0224 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:09:40,309 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:09:44,332 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 6.0 sec -2013-09-11 18:09:45,340 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.79 sec -2013-09-11 18:09:46,348 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.79 sec -2013-09-11 18:09:47,354 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.79 sec -2013-09-11 18:09:48,360 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.79 sec -2013-09-11 18:09:49,367 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.73 sec -2013-09-11 18:09:50,372 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.73 sec -2013-09-11 18:09:51,378 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.73 sec -2013-09-11 18:09:52,384 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 23.73 sec -2013-09-11 18:09:53,392 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.56 sec -2013-09-11 18:09:54,397 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 25.56 sec -MapReduce Total cumulative CPU time: 25 seconds 560 msec -Ended Job = job_201309101627_0224 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 25.56 sec HDFS Read: 907716 HDFS Write: 7 SUCCESS -Total MapReduce CPU Time Spent: 25 seconds 560 msec -OK -171127 -Time taken: 22.71 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9005@mturlrep13_201309111810_1951461595.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9573@mturlrep13_201309111810_1888842341.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0225 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:10:15,477 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:10:23,514 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.01 sec -2013-09-11 18:10:24,522 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.01 sec -2013-09-11 18:10:25,528 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.01 sec -2013-09-11 18:10:26,534 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.01 sec -2013-09-11 18:10:27,540 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.01 sec -2013-09-11 18:10:28,545 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.01 sec -2013-09-11 18:10:29,552 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.01 sec -2013-09-11 18:10:30,558 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.01 sec -2013-09-11 18:10:31,563 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.01 sec -2013-09-11 18:10:32,568 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.01 sec -2013-09-11 18:10:33,573 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.01 sec -2013-09-11 18:10:34,578 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.01 sec -2013-09-11 18:10:35,583 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.01 sec -2013-09-11 18:10:36,590 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 35.1 sec -2013-09-11 18:10:37,595 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 35.1 sec -MapReduce Total cumulative CPU time: 35 seconds 100 msec -Ended Job = job_201309101627_0225 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 35.1 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 35 seconds 100 msec -OK -Time taken: 32.289 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11687@mturlrep13_201309111810_1411263650.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12147@mturlrep13_201309111810_146667107.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0226 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:10:51,464 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:10:58,498 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-11 18:10:59,506 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-11 18:11:00,512 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-11 18:11:01,518 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-11 18:11:02,523 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-11 18:11:03,529 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.22 sec -2013-09-11 18:11:04,535 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 23.49 sec -2013-09-11 18:11:05,540 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 31.49 sec -2013-09-11 18:11:06,545 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.49 sec -2013-09-11 18:11:07,550 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.49 sec -2013-09-11 18:11:08,555 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.49 sec -2013-09-11 18:11:09,560 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.49 sec -2013-09-11 18:11:10,565 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.49 sec -2013-09-11 18:11:11,572 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.46 sec -2013-09-11 18:11:12,577 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.46 sec -2013-09-11 18:11:13,582 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 33.46 sec -MapReduce Total cumulative CPU time: 33 seconds 460 msec -Ended Job = job_201309101627_0226 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 33.46 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 33 seconds 460 msec -OK -Time taken: 30.316 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13663@mturlrep13_201309111811_609536671.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14110@mturlrep13_201309111811_1164319988.txt -hive> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0227 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:11:27,691 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:11:33,721 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.15 sec -2013-09-11 18:11:34,728 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.15 sec -2013-09-11 18:11:35,735 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.15 sec -2013-09-11 18:11:36,740 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.15 sec -2013-09-11 18:11:37,746 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.15 sec -2013-09-11 18:11:38,751 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.15 sec -2013-09-11 18:11:39,757 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.15 sec -2013-09-11 18:11:40,762 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 32.31 sec -2013-09-11 18:11:41,768 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.31 sec -2013-09-11 18:11:42,773 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.31 sec -2013-09-11 18:11:43,777 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.31 sec -2013-09-11 18:11:44,781 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.31 sec -2013-09-11 18:11:45,786 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.31 sec -2013-09-11 18:11:46,793 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.38 sec -2013-09-11 18:11:47,799 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.38 sec -2013-09-11 18:11:48,804 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 34.38 sec -MapReduce Total cumulative CPU time: 34 seconds 380 msec -Ended Job = job_201309101627_0227 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 34.38 sec HDFS Read: 8109219 HDFS Write: 30 SUCCESS -Total MapReduce CPU Time Spent: 34 seconds 380 msec -OK -Time taken: 29.584 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15640@mturlrep13_201309111811_1787412572.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16152@mturlrep13_201309111812_1844919592.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0228 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:12:10,652 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:12:17,682 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.4 sec -2013-09-11 18:12:18,689 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.4 sec -2013-09-11 18:12:19,695 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.4 sec -2013-09-11 18:12:20,701 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.4 sec -2013-09-11 18:12:21,706 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.4 sec -2013-09-11 18:12:22,711 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.4 sec -2013-09-11 18:12:23,717 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.4 sec -2013-09-11 18:12:24,722 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.64 sec -2013-09-11 18:12:25,728 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.64 sec -2013-09-11 18:12:26,732 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.64 sec -2013-09-11 18:12:27,737 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.64 sec -2013-09-11 18:12:28,741 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.64 sec -2013-09-11 18:12:29,745 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.64 sec -2013-09-11 18:12:30,752 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.61 sec -2013-09-11 18:12:31,758 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.61 sec -2013-09-11 18:12:32,762 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.61 sec -MapReduce Total cumulative CPU time: 32 seconds 610 msec -Ended Job = job_201309101627_0228 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 32.61 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 32 seconds 610 msec -OK --4662894107982093709 -Time taken: 32.018 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17658@mturlrep13_201309111812_1917152659.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18081@mturlrep13_201309111812_969986372.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0229 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:12:46,636 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:12:52,673 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 7.62 sec -2013-09-11 18:12:53,681 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.58 sec -2013-09-11 18:12:54,687 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.58 sec -2013-09-11 18:12:55,692 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.58 sec -2013-09-11 18:12:56,698 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.58 sec -2013-09-11 18:12:57,704 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.58 sec -2013-09-11 18:12:58,710 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 22.97 sec -2013-09-11 18:12:59,715 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.12 sec -2013-09-11 18:13:00,721 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.12 sec -2013-09-11 18:13:01,726 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.12 sec -2013-09-11 18:13:02,731 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.12 sec -2013-09-11 18:13:03,736 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.12 sec -2013-09-11 18:13:04,740 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.12 sec -2013-09-11 18:13:05,747 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.15 sec -2013-09-11 18:13:06,752 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.15 sec -2013-09-11 18:13:07,757 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 32.15 sec -MapReduce Total cumulative CPU time: 32 seconds 150 msec -Ended Job = job_201309101627_0229 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 32.15 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 32 seconds 150 msec -OK --4662894107982093709 -Time taken: 29.424 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19726@mturlrep13_201309111813_601476946.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT sum(UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20163@mturlrep13_201309111813_458490060.txt -hive> SELECT sum(UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0230 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:13:22,398 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:13:28,444 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:13:29,452 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:13:30,459 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:13:31,464 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:13:32,470 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:13:33,476 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:13:34,481 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 29.52 sec -2013-09-11 18:13:35,486 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 29.52 sec -2013-09-11 18:13:36,493 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.4 sec -2013-09-11 18:13:37,500 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 31.4 sec -MapReduce Total cumulative CPU time: 31 seconds 400 msec -Ended Job = job_201309101627_0230 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 31.4 sec HDFS Read: 57312623 HDFS Write: 21 SUCCESS -Total MapReduce CPU Time Spent: 31 seconds 400 msec -OK --4662894107982093709 -Time taken: 23.314 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21535@mturlrep13_201309111813_1532287977.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22021@mturlrep13_201309111813_1807628976.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0231 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:13:58,394 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:14:05,419 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:14:08,436 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.36 sec -2013-09-11 18:14:09,442 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.36 sec -2013-09-11 18:14:10,449 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.36 sec -2013-09-11 18:14:11,454 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.36 sec -2013-09-11 18:14:12,460 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.36 sec -2013-09-11 18:14:13,466 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.36 sec -2013-09-11 18:14:14,471 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.36 sec -2013-09-11 18:14:15,518 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.36 sec -2013-09-11 18:14:16,523 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.36 sec -2013-09-11 18:14:17,529 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.36 sec -2013-09-11 18:14:18,535 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 40.6 sec -2013-09-11 18:14:19,551 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.46 sec -2013-09-11 18:14:20,556 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.46 sec -2013-09-11 18:14:21,561 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.46 sec -2013-09-11 18:14:22,566 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.46 sec -2013-09-11 18:14:23,572 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.46 sec -2013-09-11 18:14:24,576 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.46 sec -2013-09-11 18:14:25,581 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 55.46 sec -2013-09-11 18:14:26,589 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.41 sec -2013-09-11 18:14:27,646 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.41 sec -MapReduce Total cumulative CPU time: 1 minutes 3 seconds 410 msec -Ended Job = job_201309101627_0231 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 63.41 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 3 seconds 410 msec -OK -2037258 -Time taken: 39.018 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23547@mturlrep13_201309111814_32240262.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24000@mturlrep13_201309111814_899622484.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0232 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:14:41,528 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:14:48,560 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:14:50,573 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 14.3 sec -2013-09-11 18:14:51,581 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.07 sec -2013-09-11 18:14:52,588 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.07 sec -2013-09-11 18:14:53,594 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.07 sec -2013-09-11 18:14:54,599 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.07 sec -2013-09-11 18:14:55,606 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.07 sec -2013-09-11 18:14:56,613 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.07 sec -2013-09-11 18:14:57,619 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.07 sec -2013-09-11 18:14:58,625 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.07 sec -2013-09-11 18:14:59,630 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.07 sec -2013-09-11 18:15:00,635 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 18:15:01,640 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 18:15:02,645 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 18:15:03,651 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 18:15:04,656 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 18:15:05,661 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 18:15:06,667 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 18:15:07,672 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 55.82 sec -2013-09-11 18:15:08,679 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.98 sec -2013-09-11 18:15:09,685 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.98 sec -2013-09-11 18:15:10,690 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.98 sec -MapReduce Total cumulative CPU time: 1 minutes 3 seconds 980 msec -Ended Job = job_201309101627_0232 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 63.98 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 3 seconds 980 msec -OK -2037258 -Time taken: 37.449 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25822@mturlrep13_201309111815_360131093.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26668@mturlrep13_201309111815_984788128.txt -hive> SELECT count(DISTINCT UserID) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0233 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:15:23,620 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:15:31,655 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:15:33,669 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.26 sec -2013-09-11 18:15:34,676 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.26 sec -2013-09-11 18:15:35,683 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.26 sec -2013-09-11 18:15:36,689 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.26 sec -2013-09-11 18:15:37,695 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.26 sec -2013-09-11 18:15:38,702 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.26 sec -2013-09-11 18:15:39,708 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.26 sec -2013-09-11 18:15:40,713 Stage-1 map = 72%, reduce = 17%, Cumulative CPU 24.26 sec -2013-09-11 18:15:41,718 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 24.26 sec -2013-09-11 18:15:42,723 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 36.34 sec -2013-09-11 18:15:43,727 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.93 sec -2013-09-11 18:15:44,732 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.93 sec -2013-09-11 18:15:45,737 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.93 sec -2013-09-11 18:15:46,741 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.93 sec -2013-09-11 18:15:47,746 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.93 sec -2013-09-11 18:15:48,751 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.93 sec -2013-09-11 18:15:49,755 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 49.93 sec -2013-09-11 18:15:50,762 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.65 sec -2013-09-11 18:15:51,767 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.65 sec -2013-09-11 18:15:52,773 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.65 sec -MapReduce Total cumulative CPU time: 57 seconds 650 msec -Ended Job = job_201309101627_0233 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 57.65 sec HDFS Read: 57312623 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 57 seconds 650 msec -OK -2037258 -Time taken: 36.433 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28232@mturlrep13_201309111815_1215288015.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28709@mturlrep13_201309111816_1499620624.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0234 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:16:13,939 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:16:20,965 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:16:22,978 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.31 sec -2013-09-11 18:16:23,985 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.31 sec -2013-09-11 18:16:24,992 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.31 sec -2013-09-11 18:16:25,998 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.31 sec -2013-09-11 18:16:27,004 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.31 sec -2013-09-11 18:16:28,010 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.31 sec -2013-09-11 18:16:29,016 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.31 sec -2013-09-11 18:16:30,021 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 22.31 sec -2013-09-11 18:16:31,026 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 32.71 sec -2013-09-11 18:16:32,031 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.17 sec -2013-09-11 18:16:33,035 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.17 sec -2013-09-11 18:16:34,040 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.17 sec -2013-09-11 18:16:35,045 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.17 sec -2013-09-11 18:16:36,050 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.17 sec -2013-09-11 18:16:37,055 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.17 sec -2013-09-11 18:16:38,060 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.17 sec -2013-09-11 18:16:39,065 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 44.17 sec -2013-09-11 18:16:40,073 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 51.78 sec -2013-09-11 18:16:41,078 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 51.78 sec -2013-09-11 18:16:42,083 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 51.78 sec -MapReduce Total cumulative CPU time: 51 seconds 780 msec -Ended Job = job_201309101627_0234 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 51.78 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 51 seconds 780 msec -OK -1110413 -Time taken: 38.322 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30252@mturlrep13_201309111816_93736906.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30689@mturlrep13_201309111816_96459731.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0235 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:16:55,164 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:17:03,202 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:17:04,212 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-11 18:17:05,219 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-11 18:17:06,226 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-11 18:17:07,232 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-11 18:17:08,237 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-11 18:17:09,243 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-11 18:17:10,250 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.55 sec -2013-09-11 18:17:11,255 Stage-1 map = 72%, reduce = 17%, Cumulative CPU 22.55 sec -2013-09-11 18:17:12,261 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.9 sec -2013-09-11 18:17:13,266 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.9 sec -2013-09-11 18:17:14,271 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.9 sec -2013-09-11 18:17:15,275 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.9 sec -2013-09-11 18:17:16,280 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.9 sec -2013-09-11 18:17:17,285 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.9 sec -2013-09-11 18:17:18,290 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.9 sec -2013-09-11 18:17:19,296 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.9 sec -2013-09-11 18:17:20,301 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 44.9 sec -2013-09-11 18:17:21,309 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.41 sec -2013-09-11 18:17:22,314 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.41 sec -MapReduce Total cumulative CPU time: 52 seconds 410 msec -Ended Job = job_201309101627_0235 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 52.41 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 52 seconds 410 msec -OK -1110413 -Time taken: 34.532 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32218@mturlrep13_201309111817_1630955863.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32645@mturlrep13_201309111817_1064457391.txt -hive> SELECT count(DISTINCT SearchPhrase) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0236 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:17:35,486 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:17:43,516 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:17:44,526 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.45 sec -2013-09-11 18:17:45,533 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.45 sec -2013-09-11 18:17:46,539 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.45 sec -2013-09-11 18:17:47,545 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.45 sec -2013-09-11 18:17:48,550 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.45 sec -2013-09-11 18:17:49,556 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.45 sec -2013-09-11 18:17:50,563 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.45 sec -2013-09-11 18:17:51,568 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 21.45 sec -2013-09-11 18:17:52,573 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.27 sec -2013-09-11 18:17:53,578 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.27 sec -2013-09-11 18:17:54,583 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.27 sec -2013-09-11 18:17:55,588 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.27 sec -2013-09-11 18:17:56,593 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.2 sec -2013-09-11 18:17:57,598 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.2 sec -2013-09-11 18:17:58,604 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.2 sec -2013-09-11 18:17:59,609 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 44.2 sec -2013-09-11 18:18:00,614 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 44.2 sec -2013-09-11 18:18:01,621 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.93 sec -2013-09-11 18:18:02,626 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 50.93 sec -MapReduce Total cumulative CPU time: 50 seconds 930 msec -Ended Job = job_201309101627_0236 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 50.93 sec HDFS Read: 27820105 HDFS Write: 8 SUCCESS -Total MapReduce CPU Time Spent: 50 seconds 930 msec -OK -1110413 -Time taken: 34.523 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1798@mturlrep13_201309111818_1042447198.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2299@mturlrep13_201309111818_765489992.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0237 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:18:24,738 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:18:30,765 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.26 sec -2013-09-11 18:18:31,772 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.26 sec -2013-09-11 18:18:32,778 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.26 sec -2013-09-11 18:18:33,784 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.26 sec -2013-09-11 18:18:34,789 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.26 sec -2013-09-11 18:18:35,795 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.26 sec -2013-09-11 18:18:36,801 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.81 sec -2013-09-11 18:18:37,806 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 27.81 sec -2013-09-11 18:18:38,811 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 27.81 sec -2013-09-11 18:18:39,816 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 27.81 sec -2013-09-11 18:18:40,821 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 27.81 sec -2013-09-11 18:18:41,826 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 27.81 sec -2013-09-11 18:18:42,832 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 27.81 sec -2013-09-11 18:18:43,839 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.81 sec -2013-09-11 18:18:44,844 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.81 sec -2013-09-11 18:18:45,849 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 29.81 sec -MapReduce Total cumulative CPU time: 29 seconds 810 msec -Ended Job = job_201309101627_0237 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 29.81 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 29 seconds 810 msec -OK -Time taken: 31.306 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3746@mturlrep13_201309111818_1331650833.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4171@mturlrep13_201309111818_897231302.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0238 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:18:59,980 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:19:05,006 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.74 sec -2013-09-11 18:19:06,013 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.74 sec -2013-09-11 18:19:07,020 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.74 sec -2013-09-11 18:19:08,025 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.74 sec -2013-09-11 18:19:09,030 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.74 sec -2013-09-11 18:19:10,036 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.74 sec -2013-09-11 18:19:11,041 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.68 sec -2013-09-11 18:19:12,046 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.68 sec -2013-09-11 18:19:13,054 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 26.68 sec -2013-09-11 18:19:14,061 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.62 sec -2013-09-11 18:19:15,068 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.62 sec -MapReduce Total cumulative CPU time: 28 seconds 620 msec -Ended Job = job_201309101627_0238 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 28.62 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 28 seconds 620 msec -OK -Time taken: 23.519 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5847@mturlrep13_201309111819_1092177982.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6293@mturlrep13_201309111819_874118653.txt -hive> SELECT min(EventDate), max(EventDate) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0239 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 18:19:28,271 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:19:34,299 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.64 sec -2013-09-11 18:19:35,306 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.64 sec -2013-09-11 18:19:36,314 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.64 sec -2013-09-11 18:19:37,319 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.64 sec -2013-09-11 18:19:38,324 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.64 sec -2013-09-11 18:19:39,330 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 13.64 sec -2013-09-11 18:19:40,336 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-11 18:19:41,341 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 26.97 sec -2013-09-11 18:19:42,347 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 26.97 sec -2013-09-11 18:19:43,354 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.77 sec -2013-09-11 18:19:44,360 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.77 sec -MapReduce Total cumulative CPU time: 28 seconds 770 msec -Ended Job = job_201309101627_0239 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 28.77 sec HDFS Read: 597016 HDFS Write: 6 SUCCESS -Total MapReduce CPU Time Spent: 28 seconds 770 msec -OK -Time taken: 23.402 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7692@mturlrep13_201309111819_276347275.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8135@mturlrep13_201309111819_385716024.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0240 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:20:04,638 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:20:10,670 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.51 sec -2013-09-11 18:20:11,678 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.51 sec -2013-09-11 18:20:12,685 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.51 sec -2013-09-11 18:20:13,692 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.51 sec -2013-09-11 18:20:14,698 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.51 sec -2013-09-11 18:20:15,704 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.51 sec -2013-09-11 18:20:16,710 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 24.33 sec -2013-09-11 18:20:17,716 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 24.33 sec -2013-09-11 18:20:18,724 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.27 sec -2013-09-11 18:20:19,731 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.27 sec -2013-09-11 18:20:20,737 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 28.27 sec -MapReduce Total cumulative CPU time: 28 seconds 270 msec -Ended Job = job_201309101627_0240 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0241 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:20:24,339 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:20:25,345 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 18:20:26,351 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 18:20:27,356 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 18:20:28,361 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 18:20:29,366 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 18:20:30,371 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 18:20:31,376 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 18:20:32,391 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 18:20:33,396 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.18 sec -2013-09-11 18:20:34,401 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.18 sec -2013-09-11 18:20:35,407 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.18 sec -MapReduce Total cumulative CPU time: 2 seconds 180 msec -Ended Job = job_201309101627_0241 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 28.27 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.18 sec HDFS Read: 1153 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 30 seconds 450 msec -OK -Time taken: 40.897 seconds, Fetched: 9 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10933@mturlrep13_201309111820_1327597176.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11362@mturlrep13_201309111820_1775916404.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0242 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:20:50,332 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:20:54,363 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 5.92 sec -2013-09-11 18:20:55,371 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.99 sec -2013-09-11 18:20:56,378 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.99 sec -2013-09-11 18:20:57,385 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.99 sec -2013-09-11 18:20:58,392 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.99 sec -2013-09-11 18:20:59,398 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.48 sec -2013-09-11 18:21:00,404 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.48 sec -2013-09-11 18:21:01,410 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.48 sec -2013-09-11 18:21:02,418 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 25.33 sec -2013-09-11 18:21:03,425 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.22 sec -2013-09-11 18:21:04,432 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.22 sec -MapReduce Total cumulative CPU time: 27 seconds 220 msec -Ended Job = job_201309101627_0242 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0243 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:21:06,978 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:21:08,988 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:09,993 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:10,998 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:12,002 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:13,019 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:14,024 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:15,029 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:16,035 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.77 sec -2013-09-11 18:21:17,040 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -2013-09-11 18:21:18,046 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -2013-09-11 18:21:19,051 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.16 sec -MapReduce Total cumulative CPU time: 2 seconds 160 msec -Ended Job = job_201309101627_0243 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 27.22 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.16 sec HDFS Read: 1153 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 29 seconds 380 msec -OK -Time taken: 36.981 seconds, Fetched: 9 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13448@mturlrep13_201309111821_1010315846.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13877@mturlrep13_201309111821_1055383868.txt -hive> SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0244 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:21:32,304 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:21:38,338 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.77 sec -2013-09-11 18:21:39,346 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.77 sec -2013-09-11 18:21:40,353 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.77 sec -2013-09-11 18:21:41,360 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 11.77 sec -2013-09-11 18:21:42,366 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 17.34 sec -2013-09-11 18:21:43,373 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.62 sec -2013-09-11 18:21:44,379 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 23.62 sec -2013-09-11 18:21:45,385 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 23.62 sec -2013-09-11 18:21:46,393 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.25 sec -2013-09-11 18:21:47,400 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 27.25 sec -MapReduce Total cumulative CPU time: 27 seconds 250 msec -Ended Job = job_201309101627_0244 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0245 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:21:50,923 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:21:52,932 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:53,938 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:54,943 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:55,948 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:56,954 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:57,960 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:58,964 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 18:21:59,970 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -2013-09-11 18:22:00,976 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -2013-09-11 18:22:01,982 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -MapReduce Total cumulative CPU time: 2 seconds 130 msec -Ended Job = job_201309101627_0245 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 27.25 sec HDFS Read: 907716 HDFS Write: 384 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.13 sec HDFS Read: 1153 HDFS Write: 60 SUCCESS -Total MapReduce CPU Time Spent: 29 seconds 380 msec -OK -Time taken: 37.244 seconds, Fetched: 9 row(s) -hive> quit; --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15957@mturlrep13_201309111822_240108876.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16471@mturlrep13_201309111822_1455089061.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0246 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:22:22,925 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:22:29,950 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:22:32,967 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 14.49 sec -2013-09-11 18:22:33,975 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.57 sec -2013-09-11 18:22:34,984 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.57 sec -2013-09-11 18:22:35,990 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.57 sec -2013-09-11 18:22:36,996 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.57 sec -2013-09-11 18:22:38,003 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.57 sec -2013-09-11 18:22:39,008 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.57 sec -2013-09-11 18:22:40,015 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.57 sec -2013-09-11 18:22:41,021 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.57 sec -2013-09-11 18:22:42,026 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.57 sec -2013-09-11 18:22:43,032 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.57 sec -2013-09-11 18:22:44,038 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:22:45,043 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:22:46,049 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:22:47,055 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:22:48,060 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:22:49,067 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 63.29 sec -2013-09-11 18:22:50,073 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 63.29 sec -2013-09-11 18:22:51,079 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.54 sec -2013-09-11 18:22:52,084 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.54 sec -MapReduce Total cumulative CPU time: 1 minutes 10 seconds 540 msec -Ended Job = job_201309101627_0246 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0247 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:22:54,572 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:22:56,582 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:22:57,589 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:22:58,594 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:22:59,600 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:23:00,605 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:23:01,610 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:23:02,688 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:23:03,693 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:23:04,698 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.16 sec -2013-09-11 18:23:05,704 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.16 sec -2013-09-11 18:23:06,709 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.16 sec -MapReduce Total cumulative CPU time: 3 seconds 160 msec -Ended Job = job_201309101627_0247 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 70.54 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.16 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 13 seconds 700 msec -OK -Time taken: 53.83 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18961@mturlrep13_201309111823_617403759.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19391@mturlrep13_201309111823_22985485.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0248 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:23:19,790 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:23:27,823 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:23:29,837 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 14.01 sec -2013-09-11 18:23:30,846 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.85 sec -2013-09-11 18:23:31,853 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.85 sec -2013-09-11 18:23:32,859 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.85 sec -2013-09-11 18:23:33,865 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.85 sec -2013-09-11 18:23:34,872 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.85 sec -2013-09-11 18:23:35,878 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.85 sec -2013-09-11 18:23:36,884 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.85 sec -2013-09-11 18:23:37,890 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.85 sec -2013-09-11 18:23:38,896 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.85 sec -2013-09-11 18:23:39,902 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 43.08 sec -2013-09-11 18:23:40,908 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:23:41,913 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:23:42,919 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:23:43,925 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:23:44,930 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 18:23:45,937 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 63.27 sec -2013-09-11 18:23:46,943 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 63.27 sec -2013-09-11 18:23:47,949 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.4 sec -2013-09-11 18:23:48,954 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.4 sec -MapReduce Total cumulative CPU time: 1 minutes 10 seconds 400 msec -Ended Job = job_201309101627_0248 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0249 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:23:51,398 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:23:54,410 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.63 sec -2013-09-11 18:23:55,416 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.63 sec -2013-09-11 18:23:56,421 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.63 sec -2013-09-11 18:23:57,427 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.63 sec -2013-09-11 18:23:58,432 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.63 sec -2013-09-11 18:23:59,438 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.63 sec -2013-09-11 18:24:00,443 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.63 sec -2013-09-11 18:24:01,464 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.63 sec -2013-09-11 18:24:02,470 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.23 sec -2013-09-11 18:24:03,476 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.23 sec -MapReduce Total cumulative CPU time: 3 seconds 230 msec -Ended Job = job_201309101627_0249 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 70.4 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.23 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 13 seconds 630 msec -OK -Time taken: 51.073 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21591@mturlrep13_201309111824_608372135.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22042@mturlrep13_201309111824_581555967.txt -hive> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0250 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:24:16,471 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:24:24,501 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:24:26,515 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 14.52 sec -2013-09-11 18:24:27,522 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.86 sec -2013-09-11 18:24:28,532 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.86 sec -2013-09-11 18:24:29,538 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.86 sec -2013-09-11 18:24:30,544 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.86 sec -2013-09-11 18:24:31,551 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.86 sec -2013-09-11 18:24:32,557 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.86 sec -2013-09-11 18:24:33,563 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 28.86 sec -2013-09-11 18:24:34,568 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.86 sec -2013-09-11 18:24:35,573 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.86 sec -2013-09-11 18:24:36,578 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 28.86 sec -2013-09-11 18:24:37,584 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.7 sec -2013-09-11 18:24:38,589 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.7 sec -2013-09-11 18:24:39,595 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.7 sec -2013-09-11 18:24:40,600 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.7 sec -2013-09-11 18:24:41,605 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 58.7 sec -2013-09-11 18:24:42,613 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 64.21 sec -2013-09-11 18:24:43,618 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 64.21 sec -2013-09-11 18:24:44,625 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 71.23 sec -2013-09-11 18:24:45,630 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 71.23 sec -MapReduce Total cumulative CPU time: 1 minutes 11 seconds 230 msec -Ended Job = job_201309101627_0250 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0251 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:24:49,129 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:24:51,138 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.5 sec -2013-09-11 18:24:52,144 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.5 sec -2013-09-11 18:24:53,149 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.5 sec -2013-09-11 18:24:54,154 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.5 sec -2013-09-11 18:24:55,160 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.5 sec -2013-09-11 18:24:56,165 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.5 sec -2013-09-11 18:24:57,171 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.5 sec -2013-09-11 18:24:58,176 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.01 sec -2013-09-11 18:24:59,181 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.01 sec -2013-09-11 18:25:00,186 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.01 sec -MapReduce Total cumulative CPU time: 3 seconds 10 msec -Ended Job = job_201309101627_0251 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 71.23 sec HDFS Read: 67340015 HDFS Write: 100142 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.01 sec HDFS Read: 100911 HDFS Write: 96 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 14 seconds 240 msec -OK -Time taken: 51.083 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24272@mturlrep13_201309111825_819364546.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25048@mturlrep13_201309111825_117221208.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0252 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:25:21,952 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:25:28,978 Stage-1 map = 29%, reduce = 0% -2013-09-11 18:25:31,990 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:25:35,008 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.17 sec -2013-09-11 18:25:36,015 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.17 sec -2013-09-11 18:25:37,023 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.17 sec -2013-09-11 18:25:38,029 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.17 sec -2013-09-11 18:25:39,034 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.17 sec -2013-09-11 18:25:40,040 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.17 sec -2013-09-11 18:25:41,045 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.17 sec -2013-09-11 18:25:42,050 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 35.17 sec -2013-09-11 18:25:43,055 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 35.17 sec -2013-09-11 18:25:44,060 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 35.17 sec -2013-09-11 18:25:45,065 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 35.17 sec -2013-09-11 18:25:46,070 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 35.17 sec -2013-09-11 18:25:47,098 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 35.17 sec -2013-09-11 18:25:48,104 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-11 18:25:49,109 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-11 18:25:50,114 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-11 18:25:51,119 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-11 18:25:52,124 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-11 18:25:53,129 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-11 18:25:54,135 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-11 18:25:55,140 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-11 18:25:56,146 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.29 sec -2013-09-11 18:25:57,154 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 75.46 sec -2013-09-11 18:25:58,160 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 83.41 sec -2013-09-11 18:25:59,225 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.91 sec -2013-09-11 18:26:00,231 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.91 sec -MapReduce Total cumulative CPU time: 1 minutes 24 seconds 910 msec -Ended Job = job_201309101627_0252 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0253 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:26:03,726 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:26:05,734 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.54 sec -2013-09-11 18:26:06,738 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.54 sec -2013-09-11 18:26:07,742 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.54 sec -2013-09-11 18:26:08,747 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.54 sec -2013-09-11 18:26:09,786 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.54 sec -2013-09-11 18:26:10,790 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.54 sec -2013-09-11 18:26:11,795 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.54 sec -2013-09-11 18:26:12,800 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 1.54 sec -2013-09-11 18:26:13,805 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.09 sec -2013-09-11 18:26:14,810 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.09 sec -MapReduce Total cumulative CPU time: 3 seconds 90 msec -Ended Job = job_201309101627_0253 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 84.91 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.09 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 28 seconds 0 msec -OK -Time taken: 63.196 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27967@mturlrep13_201309111826_889850944.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28412@mturlrep13_201309111826_925180195.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0254 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:26:33,670 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:26:40,696 Stage-1 map = 29%, reduce = 0% -2013-09-11 18:26:43,708 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:26:46,726 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.26 sec -2013-09-11 18:26:47,733 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.26 sec -2013-09-11 18:26:48,741 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.26 sec -2013-09-11 18:26:49,748 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.26 sec -2013-09-11 18:26:50,753 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.26 sec -2013-09-11 18:26:51,760 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.26 sec -2013-09-11 18:26:52,765 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.26 sec -2013-09-11 18:26:53,771 Stage-1 map = 80%, reduce = 8%, Cumulative CPU 33.26 sec -2013-09-11 18:26:54,795 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 33.26 sec -2013-09-11 18:26:55,800 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 33.26 sec -2013-09-11 18:26:56,806 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.26 sec -2013-09-11 18:26:57,813 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 60.67 sec -2013-09-11 18:26:58,820 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 60.67 sec -2013-09-11 18:26:59,826 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:27:00,831 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:27:01,837 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:27:02,843 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:27:03,849 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:27:04,854 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:27:05,859 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:27:06,865 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:27:07,870 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:27:08,878 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 75.48 sec -2013-09-11 18:27:09,884 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 75.48 sec -2013-09-11 18:27:10,890 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.13 sec -2013-09-11 18:27:11,896 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 84.13 sec -MapReduce Total cumulative CPU time: 1 minutes 24 seconds 130 msec -Ended Job = job_201309101627_0254 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0255 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:27:15,439 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:27:17,447 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:27:18,451 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:27:19,457 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:27:20,462 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:27:21,467 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:27:22,472 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:27:23,477 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.56 sec -2013-09-11 18:27:24,482 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.15 sec -2013-09-11 18:27:25,487 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.15 sec -2013-09-11 18:27:26,493 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.15 sec -MapReduce Total cumulative CPU time: 3 seconds 150 msec -Ended Job = job_201309101627_0255 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 84.13 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.15 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 27 seconds 280 msec -OK -Time taken: 65.921 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31044@mturlrep13_201309111827_588046604.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31497@mturlrep13_201309111827_1421279621.txt -hive> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0256 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:27:41,761 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:27:49,791 Stage-1 map = 36%, reduce = 0% -2013-09-11 18:27:52,803 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:27:54,818 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.22 sec -2013-09-11 18:27:55,825 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.22 sec -2013-09-11 18:27:56,833 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.22 sec -2013-09-11 18:27:57,840 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.22 sec -2013-09-11 18:27:58,846 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.22 sec -2013-09-11 18:27:59,852 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.22 sec -2013-09-11 18:28:00,858 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.22 sec -2013-09-11 18:28:01,864 Stage-1 map = 88%, reduce = 8%, Cumulative CPU 34.22 sec -2013-09-11 18:28:02,869 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.22 sec -2013-09-11 18:28:03,875 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.22 sec -2013-09-11 18:28:04,881 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.22 sec -2013-09-11 18:28:05,887 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.22 sec -2013-09-11 18:28:06,892 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 50.09 sec -2013-09-11 18:28:07,897 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:28:08,903 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:28:09,908 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:28:10,914 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:28:11,920 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:28:12,925 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:28:13,930 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:28:14,936 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:28:15,941 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.82 sec -2013-09-11 18:28:16,948 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 76.29 sec -2013-09-11 18:28:17,953 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 76.29 sec -2013-09-11 18:28:19,811 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 76.29 sec -2013-09-11 18:28:20,994 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 86.22 sec -2013-09-11 18:28:22,073 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 86.22 sec -2013-09-11 18:28:23,078 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 86.22 sec -2013-09-11 18:28:24,083 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 86.22 sec -MapReduce Total cumulative CPU time: 1 minutes 26 seconds 220 msec -Ended Job = job_201309101627_0256 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0257 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:28:30,225 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:28:35,317 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:36,331 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:37,335 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:38,340 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:39,345 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:40,350 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:41,354 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:42,359 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:43,364 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:44,369 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:45,374 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 1.67 sec -2013-09-11 18:28:46,379 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.31 sec -2013-09-11 18:28:47,384 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.31 sec -2013-09-11 18:28:48,389 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.31 sec -2013-09-11 18:28:49,395 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.31 sec -2013-09-11 18:28:50,400 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 3.31 sec -MapReduce Total cumulative CPU time: 3 seconds 310 msec -Ended Job = job_201309101627_0257 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 86.22 sec HDFS Read: 74853201 HDFS Write: 148871 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 3.31 sec HDFS Read: 149640 HDFS Write: 414 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 29 seconds 530 msec -OK -Time taken: 77.923 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2540@mturlrep13_201309111828_1228944488.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3275@mturlrep13_201309111829_1496747935.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0258 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:29:20,524 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:29:27,560 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 6.02 sec -2013-09-11 18:29:28,569 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.58 sec -2013-09-11 18:29:29,577 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.58 sec -2013-09-11 18:29:30,585 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.58 sec -2013-09-11 18:29:31,592 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.58 sec -2013-09-11 18:29:32,598 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.58 sec -2013-09-11 18:29:33,605 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.58 sec -2013-09-11 18:29:34,611 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.58 sec -2013-09-11 18:29:35,618 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.88 sec -2013-09-11 18:29:36,623 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.88 sec -2013-09-11 18:29:37,629 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.88 sec -2013-09-11 18:29:38,634 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.88 sec -2013-09-11 18:29:39,640 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.88 sec -2013-09-11 18:29:40,645 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.88 sec -2013-09-11 18:29:41,653 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 32.47 sec -2013-09-11 18:29:42,660 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.02 sec -2013-09-11 18:29:43,666 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 36.02 sec -MapReduce Total cumulative CPU time: 36 seconds 20 msec -Ended Job = job_201309101627_0258 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0259 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:29:49,843 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:29:52,856 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:29:53,926 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:29:54,932 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:29:55,937 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:29:56,943 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:29:57,948 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:29:58,953 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:29:59,958 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:30:00,963 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:30:01,969 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:30:02,974 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:30:03,980 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:30:04,985 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:30:05,990 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.43 sec -2013-09-11 18:30:06,995 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.43 sec -2013-09-11 18:30:08,001 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.43 sec -2013-09-11 18:30:09,008 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.43 sec -2013-09-11 18:30:10,015 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.43 sec -MapReduce Total cumulative CPU time: 2 seconds 430 msec -Ended Job = job_201309101627_0259 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 36.02 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.43 sec HDFS Read: 21897 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 38 seconds 450 msec -OK -Time taken: 63.358 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7226@mturlrep13_201309111830_168478607.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8250@mturlrep13_201309111830_1240423626.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0260 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:30:47,475 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:30:55,514 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:30:56,528 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.56 sec -2013-09-11 18:30:57,535 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.56 sec -2013-09-11 18:30:58,544 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.56 sec -2013-09-11 18:30:59,550 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.56 sec -2013-09-11 18:31:00,556 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.56 sec -2013-09-11 18:31:01,563 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.56 sec -2013-09-11 18:31:02,574 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.56 sec -2013-09-11 18:31:03,580 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 25.74 sec -2013-09-11 18:31:04,587 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 33.71 sec -2013-09-11 18:31:05,593 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 33.71 sec -2013-09-11 18:31:06,599 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 33.71 sec -2013-09-11 18:31:07,605 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.71 sec -2013-09-11 18:31:08,610 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.71 sec -2013-09-11 18:31:09,617 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 33.71 sec -2013-09-11 18:31:10,623 Stage-1 map = 100%, reduce = 42%, Cumulative CPU 33.71 sec -2013-09-11 18:31:11,643 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.64 sec -2013-09-11 18:31:12,649 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.64 sec -2013-09-11 18:31:13,655 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.64 sec -2013-09-11 18:31:14,661 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.64 sec -2013-09-11 18:31:15,668 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.64 sec -2013-09-11 18:31:16,675 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.64 sec -MapReduce Total cumulative CPU time: 40 seconds 640 msec -Ended Job = job_201309101627_0260 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0261 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:31:21,465 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:31:23,474 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:31:24,479 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:31:25,485 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:31:26,490 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:31:27,495 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:31:28,501 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:31:29,506 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:31:30,511 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.51 sec -2013-09-11 18:31:31,516 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.51 sec -2013-09-11 18:31:32,521 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.51 sec -2013-09-11 18:31:33,527 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.51 sec -MapReduce Total cumulative CPU time: 2 seconds 510 msec -Ended Job = job_201309101627_0261 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.64 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.51 sec HDFS Read: 21897 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 150 msec -OK -Time taken: 71.328 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11493@mturlrep13_201309111831_1720637849.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12279@mturlrep13_201309111831_901895827.txt -hive> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0262 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:32:03,855 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:32:10,590 Stage-1 map = 36%, reduce = 0% -2013-09-11 18:32:12,950 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:13,958 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:14,965 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:15,972 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:16,978 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:17,984 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:18,990 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:19,997 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:21,002 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:22,009 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:23,014 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:24,021 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:25,027 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:26,034 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:27,040 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 12.86 sec -2013-09-11 18:32:28,046 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 20.25 sec -2013-09-11 18:32:29,052 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.79 sec -2013-09-11 18:32:30,059 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.79 sec -2013-09-11 18:32:31,064 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.79 sec -2013-09-11 18:32:32,070 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.79 sec -2013-09-11 18:32:33,076 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.79 sec -2013-09-11 18:32:34,081 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.79 sec -2013-09-11 18:32:35,088 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 28.79 sec -2013-09-11 18:32:36,120 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 35.98 sec -2013-09-11 18:32:37,126 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 35.98 sec -2013-09-11 18:32:38,133 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 35.98 sec -2013-09-11 18:32:39,226 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 35.98 sec -MapReduce Total cumulative CPU time: 35 seconds 980 msec -Ended Job = job_201309101627_0262 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0263 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:32:45,523 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:32:47,542 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 18:32:48,547 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 18:32:50,032 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 18:32:51,036 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 18:32:52,041 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 18:32:53,046 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 18:32:54,050 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 18:32:55,055 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.93 sec -2013-09-11 18:32:56,061 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.93 sec -2013-09-11 18:32:57,066 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -2013-09-11 18:32:58,071 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -2013-09-11 18:32:59,076 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -2013-09-11 18:33:00,081 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -2013-09-11 18:33:01,087 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -2013-09-11 18:33:02,092 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -MapReduce Total cumulative CPU time: 2 seconds 440 msec -Ended Job = job_201309101627_0263 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 35.98 sec HDFS Read: 58273488 HDFS Write: 21128 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.44 sec HDFS Read: 21897 HDFS Write: 127 SUCCESS -Total MapReduce CPU Time Spent: 38 seconds 420 msec -OK -Time taken: 75.971 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по строкам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16116@mturlrep13_201309111833_605870459.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16886@mturlrep13_201309111833_202130159.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0264 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:33:29,621 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:33:37,775 Stage-1 map = 36%, reduce = 0% -2013-09-11 18:33:38,846 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:39,854 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:40,861 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:41,868 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:42,875 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:43,882 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:44,889 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:45,895 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:46,900 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:47,906 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:48,913 Stage-1 map = 88%, reduce = 0%, Cumulative CPU 16.67 sec -2013-09-11 18:33:49,918 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.02 sec -2013-09-11 18:33:50,924 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.02 sec -2013-09-11 18:33:51,930 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.02 sec -2013-09-11 18:33:52,936 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.02 sec -2013-09-11 18:33:53,941 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 33.02 sec -2013-09-11 18:33:55,094 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 33.02 sec -2013-09-11 18:33:56,113 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.54 sec -2013-09-11 18:33:57,119 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.54 sec -2013-09-11 18:33:58,125 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.54 sec -2013-09-11 18:33:59,132 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.54 sec -2013-09-11 18:34:00,138 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.54 sec -2013-09-11 18:34:01,144 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.54 sec -MapReduce Total cumulative CPU time: 40 seconds 540 msec -Ended Job = job_201309101627_0264 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0265 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:34:04,726 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:34:06,735 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:34:07,741 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:34:08,746 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:34:09,751 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:34:10,756 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:34:11,761 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:34:12,766 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:34:13,771 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.95 sec -2013-09-11 18:34:14,777 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -2013-09-11 18:34:15,783 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -2013-09-11 18:34:16,788 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -MapReduce Total cumulative CPU time: 2 seconds 450 msec -Ended Job = job_201309101627_0265 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.54 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.45 sec HDFS Read: 23479 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 990 msec -OK -Time taken: 60.019 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20052@mturlrep13_201309111834_786769685.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20585@mturlrep13_201309111834_648955611.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0266 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:34:37,882 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:34:45,163 Stage-1 map = 21%, reduce = 0% -2013-09-11 18:34:46,294 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:47,302 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:48,310 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:49,317 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:50,323 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:51,330 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:52,338 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:53,345 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:54,351 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:55,357 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 15.03 sec -2013-09-11 18:34:56,364 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 15.03 sec -2013-09-11 18:34:57,370 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.28 sec -2013-09-11 18:34:58,377 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 31.28 sec -2013-09-11 18:34:59,383 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.94 sec -2013-09-11 18:35:00,389 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.94 sec -2013-09-11 18:35:01,395 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.94 sec -2013-09-11 18:35:02,401 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 32.94 sec -2013-09-11 18:35:03,410 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.58 sec -2013-09-11 18:35:04,417 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.58 sec -2013-09-11 18:35:05,447 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 39.58 sec -MapReduce Total cumulative CPU time: 39 seconds 580 msec -Ended Job = job_201309101627_0266 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0267 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:35:12,739 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:35:14,998 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:35:16,004 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:35:17,010 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:35:18,015 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:35:19,020 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:35:20,025 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:35:21,031 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:35:22,036 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:35:23,042 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.97 sec -2013-09-11 18:35:24,048 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -2013-09-11 18:35:25,053 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -2013-09-11 18:35:26,058 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -2013-09-11 18:35:27,064 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.45 sec -MapReduce Total cumulative CPU time: 2 seconds 450 msec -Ended Job = job_201309101627_0267 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 39.58 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.45 sec HDFS Read: 23479 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 30 msec -OK -Time taken: 59.993 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24080@mturlrep13_201309111835_1895693790.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24734@mturlrep13_201309111835_1260739241.txt -hive> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0268 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:35:59,129 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:36:06,189 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:36:07,197 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:36:08,207 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:36:09,214 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:36:10,222 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:36:11,228 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:36:12,234 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 14.87 sec -2013-09-11 18:36:13,241 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 30.46 sec -2013-09-11 18:36:14,248 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.46 sec -2013-09-11 18:36:15,254 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.46 sec -2013-09-11 18:36:16,260 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.46 sec -2013-09-11 18:36:17,266 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.46 sec -2013-09-11 18:36:18,272 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.46 sec -2013-09-11 18:36:19,278 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 30.46 sec -2013-09-11 18:36:20,286 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.87 sec -2013-09-11 18:36:21,292 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.87 sec -2013-09-11 18:36:22,300 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.87 sec -MapReduce Total cumulative CPU time: 37 seconds 870 msec -Ended Job = job_201309101627_0268 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0269 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:36:25,859 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:36:27,868 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.86 sec -2013-09-11 18:36:28,873 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.86 sec -2013-09-11 18:36:29,879 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.86 sec -2013-09-11 18:36:30,885 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.86 sec -2013-09-11 18:36:31,890 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.86 sec -2013-09-11 18:36:32,895 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.86 sec -2013-09-11 18:36:33,900 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.86 sec -2013-09-11 18:36:34,906 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.28 sec -2013-09-11 18:36:35,911 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.28 sec -2013-09-11 18:36:36,917 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.28 sec -MapReduce Total cumulative CPU time: 2 seconds 280 msec -Ended Job = job_201309101627_0269 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 37.87 sec HDFS Read: 59259422 HDFS Write: 22710 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.28 sec HDFS Read: 23479 HDFS Write: 149 SUCCESS -Total MapReduce CPU Time Spent: 40 seconds 150 msec -OK -Time taken: 52.093 seconds, Fetched: 10 row(s) -hive> quit; --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27342@mturlrep13_201309111836_1910306053.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27811@mturlrep13_201309111836_1213140572.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0270 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:36:57,519 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:37:04,550 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:37:05,563 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.33 sec -2013-09-11 18:37:06,570 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.33 sec -2013-09-11 18:37:07,577 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.33 sec -2013-09-11 18:37:08,583 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.33 sec -2013-09-11 18:37:09,589 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.33 sec -2013-09-11 18:37:10,595 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.33 sec -2013-09-11 18:37:11,602 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.33 sec -2013-09-11 18:37:12,608 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 20.33 sec -2013-09-11 18:37:13,613 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.89 sec -2013-09-11 18:37:14,618 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.89 sec -2013-09-11 18:37:15,623 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.89 sec -2013-09-11 18:37:16,629 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.89 sec -2013-09-11 18:37:17,635 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.89 sec -2013-09-11 18:37:18,640 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.89 sec -2013-09-11 18:37:19,646 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.89 sec -2013-09-11 18:37:20,652 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.89 sec -2013-09-11 18:37:21,659 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 47.0 sec -2013-09-11 18:37:22,665 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 54.11 sec -2013-09-11 18:37:23,671 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 54.11 sec -MapReduce Total cumulative CPU time: 54 seconds 110 msec -Ended Job = job_201309101627_0270 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0271 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:37:26,224 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:37:34,251 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:37:36,259 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.77 sec -2013-09-11 18:37:37,265 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.77 sec -2013-09-11 18:37:38,269 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.77 sec -2013-09-11 18:37:39,274 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.77 sec -2013-09-11 18:37:40,279 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.77 sec -2013-09-11 18:37:41,284 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.77 sec -2013-09-11 18:37:42,289 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.77 sec -2013-09-11 18:37:43,294 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.77 sec -2013-09-11 18:37:44,300 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.77 sec -2013-09-11 18:37:45,306 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.08 sec -2013-09-11 18:37:46,312 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.08 sec -2013-09-11 18:37:47,317 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.08 sec -MapReduce Total cumulative CPU time: 18 seconds 80 msec -Ended Job = job_201309101627_0271 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 54.11 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.08 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 12 seconds 190 msec -OK -Time taken: 59.798 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30130@mturlrep13_201309111837_1070436156.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30577@mturlrep13_201309111837_1857751509.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0272 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:38:00,966 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:38:09,007 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.49 sec -2013-09-11 18:38:10,015 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.49 sec -2013-09-11 18:38:11,023 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.49 sec -2013-09-11 18:38:12,029 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.49 sec -2013-09-11 18:38:13,036 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.49 sec -2013-09-11 18:38:14,042 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.49 sec -2013-09-11 18:38:15,050 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.49 sec -2013-09-11 18:38:16,057 Stage-1 map = 97%, reduce = 8%, Cumulative CPU 30.84 sec -2013-09-11 18:38:17,063 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.01 sec -2013-09-11 18:38:18,069 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.01 sec -2013-09-11 18:38:19,075 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.01 sec -2013-09-11 18:38:20,081 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.01 sec -2013-09-11 18:38:21,087 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.01 sec -2013-09-11 18:38:22,093 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.01 sec -2013-09-11 18:38:23,100 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.01 sec -2013-09-11 18:38:24,106 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.01 sec -2013-09-11 18:38:25,113 Stage-1 map = 100%, reduce = 56%, Cumulative CPU 41.01 sec -2013-09-11 18:38:26,122 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.19 sec -2013-09-11 18:38:27,128 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 56.19 sec -MapReduce Total cumulative CPU time: 56 seconds 190 msec -Ended Job = job_201309101627_0272 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0273 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:38:29,657 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:38:37,684 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:38:39,692 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.16 sec -2013-09-11 18:38:40,697 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.16 sec -2013-09-11 18:38:41,702 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.16 sec -2013-09-11 18:38:42,707 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.16 sec -2013-09-11 18:38:43,712 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.16 sec -2013-09-11 18:38:44,716 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.16 sec -2013-09-11 18:38:45,721 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.16 sec -2013-09-11 18:38:46,726 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.16 sec -2013-09-11 18:38:47,730 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.16 sec -2013-09-11 18:38:48,736 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.7 sec -2013-09-11 18:38:49,742 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.7 sec -2013-09-11 18:38:50,747 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.7 sec -MapReduce Total cumulative CPU time: 17 seconds 700 msec -Ended Job = job_201309101627_0273 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 56.19 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.7 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 13 seconds 890 msec -OK -Time taken: 57.143 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_415@mturlrep13_201309111838_1362426037.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_874@mturlrep13_201309111838_1940288899.txt -hive> SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0274 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:39:05,176 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:39:12,209 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.99 sec -2013-09-11 18:39:13,217 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.99 sec -2013-09-11 18:39:14,223 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.99 sec -2013-09-11 18:39:15,230 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.99 sec -2013-09-11 18:39:16,235 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.99 sec -2013-09-11 18:39:17,241 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.99 sec -2013-09-11 18:39:18,251 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.99 sec -2013-09-11 18:39:19,258 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 30.52 sec -2013-09-11 18:39:20,264 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.59 sec -2013-09-11 18:39:21,270 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.59 sec -2013-09-11 18:39:22,275 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.59 sec -2013-09-11 18:39:23,281 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.59 sec -2013-09-11 18:39:24,287 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.59 sec -2013-09-11 18:39:25,293 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.59 sec -2013-09-11 18:39:26,298 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.59 sec -2013-09-11 18:39:27,304 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.59 sec -2013-09-11 18:39:28,310 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.59 sec -2013-09-11 18:39:29,319 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 55.31 sec -2013-09-11 18:39:30,325 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 55.31 sec -2013-09-11 18:39:31,332 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 55.31 sec -MapReduce Total cumulative CPU time: 55 seconds 310 msec -Ended Job = job_201309101627_0274 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0275 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:39:33,849 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:39:41,877 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:39:43,918 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.1 sec -2013-09-11 18:39:44,924 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.1 sec -2013-09-11 18:39:45,929 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.1 sec -2013-09-11 18:39:46,934 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.1 sec -2013-09-11 18:39:47,939 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.1 sec -2013-09-11 18:39:48,944 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.1 sec -2013-09-11 18:39:49,948 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.1 sec -2013-09-11 18:39:50,954 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.1 sec -2013-09-11 18:39:52,010 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.1 sec -2013-09-11 18:39:53,015 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.36 sec -2013-09-11 18:39:54,020 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.36 sec -MapReduce Total cumulative CPU time: 17 seconds 360 msec -Ended Job = job_201309101627_0275 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 55.31 sec HDFS Read: 27820105 HDFS Write: 79726641 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.36 sec HDFS Read: 79727410 HDFS Write: 275 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 12 seconds 670 msec -OK -Time taken: 57.089 seconds, Fetched: 10 row(s) -hive> quit; --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3290@mturlrep13_201309111840_695958684.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3872@mturlrep13_201309111840_1093049561.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0276 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:40:17,267 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:40:24,294 Stage-1 map = 36%, reduce = 0% -2013-09-11 18:40:26,312 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.08 sec -2013-09-11 18:40:27,320 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.08 sec -2013-09-11 18:40:28,328 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.08 sec -2013-09-11 18:40:29,334 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.08 sec -2013-09-11 18:40:30,340 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.08 sec -2013-09-11 18:40:31,346 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.08 sec -2013-09-11 18:40:32,354 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.08 sec -2013-09-11 18:40:33,360 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.08 sec -2013-09-11 18:40:34,366 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 23.08 sec -2013-09-11 18:40:35,372 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 35.37 sec -2013-09-11 18:40:36,377 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.42 sec -2013-09-11 18:40:37,385 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.42 sec -2013-09-11 18:40:38,390 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.42 sec -2013-09-11 18:40:39,396 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.42 sec -2013-09-11 18:40:40,402 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.42 sec -2013-09-11 18:40:41,409 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.42 sec -2013-09-11 18:40:42,415 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.42 sec -2013-09-11 18:40:43,424 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 55.41 sec -2013-09-11 18:40:44,430 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.73 sec -2013-09-11 18:40:45,435 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.73 sec -MapReduce Total cumulative CPU time: 1 minutes 3 seconds 730 msec -Ended Job = job_201309101627_0276 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0277 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:40:48,962 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:40:55,985 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:40:57,993 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.39 sec -2013-09-11 18:40:58,999 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.39 sec -2013-09-11 18:41:00,004 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.39 sec -2013-09-11 18:41:01,009 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.39 sec -2013-09-11 18:41:02,013 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.39 sec -2013-09-11 18:41:03,018 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.39 sec -2013-09-11 18:41:04,023 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.39 sec -2013-09-11 18:41:05,028 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.39 sec -2013-09-11 18:41:06,034 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.39 sec -2013-09-11 18:41:07,040 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.97 sec -2013-09-11 18:41:08,046 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.97 sec -2013-09-11 18:41:09,051 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.97 sec -MapReduce Total cumulative CPU time: 17 seconds 970 msec -Ended Job = job_201309101627_0277 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 63.73 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.97 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 21 seconds 700 msec -OK -Time taken: 62.137 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7182@mturlrep13_201309111841_759539300.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7624@mturlrep13_201309111841_70388529.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0278 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:41:23,258 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:41:30,293 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:41:31,306 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.41 sec -2013-09-11 18:41:32,314 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.41 sec -2013-09-11 18:41:33,321 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.41 sec -2013-09-11 18:41:34,328 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.41 sec -2013-09-11 18:41:35,334 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.41 sec -2013-09-11 18:41:36,341 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.41 sec -2013-09-11 18:41:37,348 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.41 sec -2013-09-11 18:41:38,355 Stage-1 map = 88%, reduce = 8%, Cumulative CPU 22.41 sec -2013-09-11 18:41:39,362 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 33.84 sec -2013-09-11 18:41:40,368 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.56 sec -2013-09-11 18:41:41,374 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.56 sec -2013-09-11 18:41:42,380 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.56 sec -2013-09-11 18:41:43,385 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.56 sec -2013-09-11 18:41:44,391 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.56 sec -2013-09-11 18:41:45,398 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.56 sec -2013-09-11 18:41:46,404 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 45.56 sec -2013-09-11 18:41:47,410 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 45.56 sec -2013-09-11 18:41:48,416 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 45.56 sec -2013-09-11 18:41:49,424 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.28 sec -2013-09-11 18:41:50,430 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.28 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 280 msec -Ended Job = job_201309101627_0278 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0279 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:41:53,909 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:42:00,937 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:42:02,947 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.32 sec -2013-09-11 18:42:03,953 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.32 sec -2013-09-11 18:42:04,958 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.32 sec -2013-09-11 18:42:05,962 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.32 sec -2013-09-11 18:42:06,967 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.32 sec -2013-09-11 18:42:07,972 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.32 sec -2013-09-11 18:42:08,976 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.32 sec -2013-09-11 18:42:09,981 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.32 sec -2013-09-11 18:42:10,987 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.32 sec -2013-09-11 18:42:11,992 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.74 sec -2013-09-11 18:42:12,998 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.74 sec -2013-09-11 18:42:14,004 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.74 sec -MapReduce Total cumulative CPU time: 17 seconds 740 msec -Ended Job = job_201309101627_0279 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.28 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.74 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 20 seconds 20 msec -OK -Time taken: 59.295 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9991@mturlrep13_201309111842_1002615077.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10431@mturlrep13_201309111842_612246455.txt -hive> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0280 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:42:27,139 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:42:35,171 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:42:36,186 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.88 sec -2013-09-11 18:42:37,194 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.88 sec -2013-09-11 18:42:38,202 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.88 sec -2013-09-11 18:42:39,209 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.88 sec -2013-09-11 18:42:40,215 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.88 sec -2013-09-11 18:42:41,222 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.88 sec -2013-09-11 18:42:42,229 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 22.88 sec -2013-09-11 18:42:43,236 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 22.88 sec -2013-09-11 18:42:44,242 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 34.43 sec -2013-09-11 18:42:45,247 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.67 sec -2013-09-11 18:42:46,277 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.67 sec -2013-09-11 18:42:47,283 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.67 sec -2013-09-11 18:42:48,288 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.67 sec -2013-09-11 18:42:49,294 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.67 sec -2013-09-11 18:42:50,299 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.67 sec -2013-09-11 18:42:51,305 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.67 sec -2013-09-11 18:42:52,311 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 46.67 sec -2013-09-11 18:42:53,319 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 54.9 sec -2013-09-11 18:42:54,326 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.26 sec -2013-09-11 18:42:55,333 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 63.26 sec -MapReduce Total cumulative CPU time: 1 minutes 3 seconds 260 msec -Ended Job = job_201309101627_0280 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0281 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:42:57,815 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:43:05,847 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:43:07,856 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.3 sec -2013-09-11 18:43:08,862 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.3 sec -2013-09-11 18:43:09,867 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.3 sec -2013-09-11 18:43:10,872 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.3 sec -2013-09-11 18:43:11,877 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.3 sec -2013-09-11 18:43:12,883 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.3 sec -2013-09-11 18:43:13,888 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.3 sec -2013-09-11 18:43:14,893 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.3 sec -2013-09-11 18:43:15,898 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.3 sec -2013-09-11 18:43:16,904 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.84 sec -2013-09-11 18:43:17,909 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.84 sec -2013-09-11 18:43:18,915 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 17.84 sec -MapReduce Total cumulative CPU time: 17 seconds 840 msec -Ended Job = job_201309101627_0281 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 63.26 sec HDFS Read: 84536695 HDFS Write: 79726544 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 17.84 sec HDFS Read: 79727313 HDFS Write: 293 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 21 seconds 100 msec -OK -Time taken: 59.238 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация чуть сложнее.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12833@mturlrep13_201309111843_203223094.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13310@mturlrep13_201309111843_869968579.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0282 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:43:40,513 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:43:47,543 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:43:48,556 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.59 sec -2013-09-11 18:43:49,563 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.59 sec -2013-09-11 18:43:50,572 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.59 sec -2013-09-11 18:43:51,578 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.59 sec -2013-09-11 18:43:52,585 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.59 sec -2013-09-11 18:43:53,592 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.59 sec -2013-09-11 18:43:54,598 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.59 sec -2013-09-11 18:43:55,605 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.59 sec -2013-09-11 18:43:56,611 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 20.59 sec -2013-09-11 18:43:57,617 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.09 sec -2013-09-11 18:43:58,623 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.09 sec -2013-09-11 18:43:59,629 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.09 sec -2013-09-11 18:44:00,636 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.79 sec -2013-09-11 18:44:01,642 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.79 sec -2013-09-11 18:44:02,648 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.79 sec -2013-09-11 18:44:03,655 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.79 sec -2013-09-11 18:44:04,661 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.79 sec -2013-09-11 18:44:05,670 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 50.58 sec -2013-09-11 18:44:06,676 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.28 sec -2013-09-11 18:44:07,682 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 57.28 sec -MapReduce Total cumulative CPU time: 57 seconds 280 msec -Ended Job = job_201309101627_0282 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0283 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:44:11,283 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:44:18,307 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:44:21,319 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.71 sec -2013-09-11 18:44:22,324 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.71 sec -2013-09-11 18:44:23,329 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.71 sec -2013-09-11 18:44:24,333 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.71 sec -2013-09-11 18:44:25,338 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.71 sec -2013-09-11 18:44:26,343 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.71 sec -2013-09-11 18:44:27,347 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.71 sec -2013-09-11 18:44:28,352 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.71 sec -2013-09-11 18:44:29,357 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.71 sec -2013-09-11 18:44:30,362 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.74 sec -2013-09-11 18:44:31,368 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.74 sec -2013-09-11 18:44:32,374 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.74 sec -MapReduce Total cumulative CPU time: 20 seconds 740 msec -Ended Job = job_201309101627_0283 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 57.28 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 20.74 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 18 seconds 20 msec -OK -Time taken: 61.858 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15620@mturlrep13_201309111844_1876164990.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16081@mturlrep13_201309111844_1689787397.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0284 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:44:45,391 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:44:53,428 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.0 sec -2013-09-11 18:44:54,436 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.0 sec -2013-09-11 18:44:55,445 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.0 sec -2013-09-11 18:44:56,452 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.0 sec -2013-09-11 18:44:57,458 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.0 sec -2013-09-11 18:44:58,465 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.0 sec -2013-09-11 18:44:59,471 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.0 sec -2013-09-11 18:45:00,479 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.0 sec -2013-09-11 18:45:01,485 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 33.06 sec -2013-09-11 18:45:02,492 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.76 sec -2013-09-11 18:45:03,498 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.76 sec -2013-09-11 18:45:04,504 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.76 sec -2013-09-11 18:45:05,510 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.76 sec -2013-09-11 18:45:06,515 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.76 sec -2013-09-11 18:45:07,521 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.76 sec -2013-09-11 18:45:08,527 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.76 sec -2013-09-11 18:45:09,533 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 43.76 sec -2013-09-11 18:45:10,539 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 43.76 sec -2013-09-11 18:45:11,546 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 59.3 sec -2013-09-11 18:45:12,553 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 59.3 sec -2013-09-11 18:45:13,559 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 59.3 sec -MapReduce Total cumulative CPU time: 59 seconds 300 msec -Ended Job = job_201309101627_0284 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0285 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:45:16,070 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:45:24,097 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:45:27,108 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 18:45:28,114 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 18:45:29,119 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 18:45:30,123 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 18:45:31,128 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 18:45:32,133 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 18:45:33,139 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 18:45:34,144 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.71 sec -2013-09-11 18:45:35,149 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.71 sec -2013-09-11 18:45:36,155 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 16.95 sec -2013-09-11 18:45:37,160 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 16.95 sec -MapReduce Total cumulative CPU time: 16 seconds 950 msec -Ended Job = job_201309101627_0285 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 59.3 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 16.95 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 16 seconds 250 msec -OK -Time taken: 59.204 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19315@mturlrep13_201309111845_275707985.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19758@mturlrep13_201309111845_1428482437.txt -hive> SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0286 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:45:50,307 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:45:58,346 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.37 sec -2013-09-11 18:45:59,353 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.37 sec -2013-09-11 18:46:00,362 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.37 sec -2013-09-11 18:46:01,368 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.37 sec -2013-09-11 18:46:02,375 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.37 sec -2013-09-11 18:46:03,381 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.37 sec -2013-09-11 18:46:04,387 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.37 sec -2013-09-11 18:46:05,394 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 21.37 sec -2013-09-11 18:46:06,401 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 31.78 sec -2013-09-11 18:46:07,410 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.63 sec -2013-09-11 18:46:08,416 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.63 sec -2013-09-11 18:46:09,422 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.63 sec -2013-09-11 18:46:10,428 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.63 sec -2013-09-11 18:46:11,434 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.63 sec -2013-09-11 18:46:12,440 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.63 sec -2013-09-11 18:46:13,447 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.63 sec -2013-09-11 18:46:14,453 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 42.63 sec -2013-09-11 18:46:15,462 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 50.32 sec -2013-09-11 18:46:16,468 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 58.04 sec -2013-09-11 18:46:17,474 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 58.04 sec -MapReduce Total cumulative CPU time: 58 seconds 40 msec -Ended Job = job_201309101627_0286 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0287 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:46:20,954 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:46:27,976 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:46:30,987 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.59 sec -2013-09-11 18:46:31,992 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.59 sec -2013-09-11 18:46:32,998 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.59 sec -2013-09-11 18:46:34,003 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.59 sec -2013-09-11 18:46:35,008 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.59 sec -2013-09-11 18:46:36,013 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.59 sec -2013-09-11 18:46:37,017 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.59 sec -2013-09-11 18:46:38,023 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 13.59 sec -2013-09-11 18:46:39,028 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 13.59 sec -2013-09-11 18:46:40,033 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.25 sec -2013-09-11 18:46:41,039 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.25 sec -2013-09-11 18:46:42,044 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 18.25 sec -MapReduce Total cumulative CPU time: 18 seconds 250 msec -Ended Job = job_201309101627_0287 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 58.04 sec HDFS Read: 30310112 HDFS Write: 84160093 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 18.25 sec HDFS Read: 84160862 HDFS Write: 297 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 16 seconds 290 msec -OK -Time taken: 59.141 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по числу и строке, большое количество ключей.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22085@mturlrep13_201309111846_197414974.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22551@mturlrep13_201309111846_356966815.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0288 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:47:04,259 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:47:11,285 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:47:14,304 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.67 sec -2013-09-11 18:47:15,311 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.67 sec -2013-09-11 18:47:16,320 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.67 sec -2013-09-11 18:47:17,326 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.67 sec -2013-09-11 18:47:18,332 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.67 sec -2013-09-11 18:47:19,339 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.67 sec -2013-09-11 18:47:20,345 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.67 sec -2013-09-11 18:47:21,351 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.67 sec -2013-09-11 18:47:22,356 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.67 sec -2013-09-11 18:47:23,387 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.67 sec -2013-09-11 18:47:24,392 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 40.98 sec -2013-09-11 18:47:25,398 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.58 sec -2013-09-11 18:47:26,403 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.58 sec -2013-09-11 18:47:27,408 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.58 sec -2013-09-11 18:47:28,414 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.58 sec -2013-09-11 18:47:29,419 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.58 sec -2013-09-11 18:47:30,424 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 55.58 sec -2013-09-11 18:47:31,432 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 62.71 sec -2013-09-11 18:47:32,438 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.85 sec -2013-09-11 18:47:33,443 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 69.85 sec -MapReduce Total cumulative CPU time: 1 minutes 9 seconds 850 msec -Ended Job = job_201309101627_0288 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0289 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:47:37,065 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:47:47,092 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:47:51,104 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.97 sec -2013-09-11 18:47:52,109 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.97 sec -2013-09-11 18:47:53,113 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.97 sec -2013-09-11 18:47:54,117 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.97 sec -2013-09-11 18:47:55,122 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.97 sec -2013-09-11 18:47:56,127 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.97 sec -2013-09-11 18:47:57,131 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.97 sec -2013-09-11 18:47:58,136 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.97 sec -2013-09-11 18:47:59,141 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.97 sec -2013-09-11 18:48:00,146 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.32 sec -2013-09-11 18:48:01,150 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.32 sec -MapReduce Total cumulative CPU time: 22 seconds 320 msec -Ended Job = job_201309101627_0289 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 69.85 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 22.32 sec HDFS Read: 55476177 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 32 seconds 170 msec -OK -Time taken: 66.72 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24895@mturlrep13_201309111848_816582111.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_25356@mturlrep13_201309111848_354267688.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0290 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:48:14,183 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:48:22,214 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:48:24,229 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.34 sec -2013-09-11 18:48:25,236 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.34 sec -2013-09-11 18:48:26,243 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.34 sec -2013-09-11 18:48:27,249 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.34 sec -2013-09-11 18:48:28,256 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.34 sec -2013-09-11 18:48:29,262 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.34 sec -2013-09-11 18:48:30,267 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 26.34 sec -2013-09-11 18:48:31,273 Stage-1 map = 96%, reduce = 8%, Cumulative CPU 26.34 sec -2013-09-11 18:48:32,277 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 26.34 sec -2013-09-11 18:48:33,282 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 39.02 sec -2013-09-11 18:48:34,288 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.45 sec -2013-09-11 18:48:35,293 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.45 sec -2013-09-11 18:48:36,298 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.45 sec -2013-09-11 18:48:37,304 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.45 sec -2013-09-11 18:48:38,309 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.45 sec -2013-09-11 18:48:39,315 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 54.45 sec -2013-09-11 18:48:40,320 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 54.45 sec -2013-09-11 18:48:41,328 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.84 sec -2013-09-11 18:48:42,334 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.84 sec -2013-09-11 18:48:43,340 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 68.84 sec -MapReduce Total cumulative CPU time: 1 minutes 8 seconds 840 msec -Ended Job = job_201309101627_0290 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0291 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:48:45,869 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:48:56,900 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:49:00,912 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 18:49:01,917 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 18:49:02,922 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 18:49:03,927 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 18:49:04,931 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 18:49:05,936 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 18:49:06,941 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 18:49:07,946 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.7 sec -2013-09-11 18:49:08,951 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.7 sec -2013-09-11 18:49:10,270 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.14 sec -2013-09-11 18:49:11,275 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 23.14 sec -MapReduce Total cumulative CPU time: 23 seconds 140 msec -Ended Job = job_201309101627_0291 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 68.84 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 23.14 sec HDFS Read: 55476181 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 31 seconds 980 msec -OK -Time taken: 64.324 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27717@mturlrep13_201309111849_53528863.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28180@mturlrep13_201309111849_1908133462.txt -hive> SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0292 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:49:25,328 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:49:32,358 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:49:34,373 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.15 sec -2013-09-11 18:49:35,381 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.15 sec -2013-09-11 18:49:36,388 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.15 sec -2013-09-11 18:49:37,394 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.15 sec -2013-09-11 18:49:38,399 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.15 sec -2013-09-11 18:49:39,406 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.15 sec -2013-09-11 18:49:40,413 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.15 sec -2013-09-11 18:49:41,430 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 27.15 sec -2013-09-11 18:49:42,441 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.15 sec -2013-09-11 18:49:43,447 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 27.15 sec -2013-09-11 18:49:44,453 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 39.96 sec -2013-09-11 18:49:45,458 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.29 sec -2013-09-11 18:49:46,464 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.29 sec -2013-09-11 18:49:47,469 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.29 sec -2013-09-11 18:49:48,475 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.29 sec -2013-09-11 18:49:49,480 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.29 sec -2013-09-11 18:49:50,486 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 56.29 sec -2013-09-11 18:49:51,494 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 63.39 sec -2013-09-11 18:49:52,500 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.79 sec -2013-09-11 18:49:53,506 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 70.79 sec -MapReduce Total cumulative CPU time: 1 minutes 10 seconds 790 msec -Ended Job = job_201309101627_0292 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0293 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:49:57,008 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:50:07,044 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:50:11,059 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.15 sec -2013-09-11 18:50:12,064 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.15 sec -2013-09-11 18:50:13,069 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.15 sec -2013-09-11 18:50:14,074 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.15 sec -2013-09-11 18:50:15,078 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.15 sec -2013-09-11 18:50:16,083 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.15 sec -2013-09-11 18:50:17,088 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.15 sec -2013-09-11 18:50:18,093 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.15 sec -2013-09-11 18:50:19,100 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.15 sec -2013-09-11 18:50:20,106 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.72 sec -2013-09-11 18:50:21,111 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.72 sec -2013-09-11 18:50:22,117 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.72 sec -MapReduce Total cumulative CPU time: 22 seconds 720 msec -Ended Job = job_201309101627_0293 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 70.79 sec HDFS Read: 57312623 HDFS Write: 55475412 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 22.72 sec HDFS Read: 55476181 HDFS Write: 246 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 33 seconds 510 msec -OK -Time taken: 65.232 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31241@mturlrep13_201309111850_2087772278.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31725@mturlrep13_201309111850_1907040905.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0294 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:50:43,595 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:50:50,623 Stage-1 map = 36%, reduce = 0% -2013-09-11 18:50:53,635 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:50:56,653 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.96 sec -2013-09-11 18:50:57,661 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.96 sec -2013-09-11 18:50:58,669 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.96 sec -2013-09-11 18:50:59,675 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.96 sec -2013-09-11 18:51:00,682 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.96 sec -2013-09-11 18:51:01,689 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.96 sec -2013-09-11 18:51:02,695 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.96 sec -2013-09-11 18:51:03,727 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.96 sec -2013-09-11 18:51:04,733 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.96 sec -2013-09-11 18:51:05,739 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.96 sec -2013-09-11 18:51:06,745 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 34.96 sec -2013-09-11 18:51:07,751 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.96 sec -2013-09-11 18:51:08,756 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.96 sec -2013-09-11 18:51:09,762 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:10,767 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:11,772 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:12,778 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:13,783 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:14,788 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:15,794 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:16,800 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:17,805 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:18,811 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.89 sec -2013-09-11 18:51:19,817 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 69.89 sec -2013-09-11 18:51:20,822 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 69.89 sec -2013-09-11 18:51:21,830 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 91.37 sec -2013-09-11 18:51:22,836 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 91.37 sec -MapReduce Total cumulative CPU time: 1 minutes 31 seconds 370 msec -Ended Job = job_201309101627_0294 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0295 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:51:25,350 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:51:36,383 Stage-2 map = 46%, reduce = 0% -2013-09-11 18:51:39,394 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:51:42,404 Stage-2 map = 96%, reduce = 0% -2013-09-11 18:51:44,411 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.3 sec -2013-09-11 18:51:45,416 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.3 sec -2013-09-11 18:51:46,421 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.3 sec -2013-09-11 18:51:47,425 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.3 sec -2013-09-11 18:51:48,430 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.3 sec -2013-09-11 18:51:49,435 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.3 sec -2013-09-11 18:51:50,439 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.3 sec -2013-09-11 18:51:51,444 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.3 sec -2013-09-11 18:51:52,449 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.3 sec -2013-09-11 18:51:53,454 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.3 sec -2013-09-11 18:51:54,460 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 27.86 sec -2013-09-11 18:51:55,465 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 27.86 sec -2013-09-11 18:51:56,470 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 27.86 sec -MapReduce Total cumulative CPU time: 27 seconds 860 msec -Ended Job = job_201309101627_0295 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 91.37 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 27.86 sec HDFS Read: 146210119 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 59 seconds 230 msec -OK -Time taken: 82.786 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2016@mturlrep13_201309111851_1953281129.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2464@mturlrep13_201309111852_1098803176.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0296 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:52:09,495 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:52:17,540 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:52:21,561 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.76 sec -2013-09-11 18:52:22,568 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.76 sec -2013-09-11 18:52:23,576 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.76 sec -2013-09-11 18:52:24,583 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.76 sec -2013-09-11 18:52:25,589 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.76 sec -2013-09-11 18:52:26,595 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.76 sec -2013-09-11 18:52:27,600 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.76 sec -2013-09-11 18:52:28,606 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.76 sec -2013-09-11 18:52:29,611 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.76 sec -2013-09-11 18:52:30,616 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.76 sec -2013-09-11 18:52:31,622 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.76 sec -2013-09-11 18:52:32,627 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.76 sec -2013-09-11 18:52:33,633 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.13 sec -2013-09-11 18:52:34,638 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.13 sec -2013-09-11 18:52:35,643 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.13 sec -2013-09-11 18:52:36,648 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.13 sec -2013-09-11 18:52:37,654 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.13 sec -2013-09-11 18:52:38,659 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.13 sec -2013-09-11 18:52:39,665 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.13 sec -2013-09-11 18:52:40,671 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.13 sec -2013-09-11 18:52:41,677 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.13 sec -2013-09-11 18:52:42,683 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.13 sec -2013-09-11 18:52:43,688 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 68.13 sec -2013-09-11 18:52:44,694 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 68.13 sec -2013-09-11 18:52:45,700 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 68.13 sec -2013-09-11 18:52:46,708 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.71 sec -2013-09-11 18:52:47,714 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.71 sec -2013-09-11 18:52:48,720 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.71 sec -MapReduce Total cumulative CPU time: 1 minutes 29 seconds 710 msec -Ended Job = job_201309101627_0296 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0297 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:52:52,227 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:53:02,258 Stage-2 map = 46%, reduce = 0%, Cumulative CPU 10.28 sec -2013-09-11 18:53:03,263 Stage-2 map = 46%, reduce = 0%, Cumulative CPU 10.28 sec -2013-09-11 18:53:04,267 Stage-2 map = 46%, reduce = 0%, Cumulative CPU 10.28 sec -2013-09-11 18:53:05,272 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 10.28 sec -2013-09-11 18:53:06,276 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 10.28 sec -2013-09-11 18:53:07,281 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 10.28 sec -2013-09-11 18:53:08,286 Stage-2 map = 96%, reduce = 0%, Cumulative CPU 10.28 sec -2013-09-11 18:53:09,291 Stage-2 map = 96%, reduce = 0%, Cumulative CPU 10.28 sec -2013-09-11 18:53:10,296 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.23 sec -2013-09-11 18:53:11,300 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.23 sec -2013-09-11 18:53:12,305 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.23 sec -2013-09-11 18:53:13,309 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.23 sec -2013-09-11 18:53:14,313 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.23 sec -2013-09-11 18:53:15,318 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.23 sec -2013-09-11 18:53:16,322 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 23.23 sec -2013-09-11 18:53:17,327 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.23 sec -2013-09-11 18:53:18,331 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.23 sec -2013-09-11 18:53:19,336 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 23.23 sec -2013-09-11 18:53:20,341 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 27.69 sec -2013-09-11 18:53:21,347 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 27.69 sec -2013-09-11 18:53:22,352 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 27.69 sec -MapReduce Total cumulative CPU time: 27 seconds 690 msec -Ended Job = job_201309101627_0297 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 89.71 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 27.69 sec HDFS Read: 146210123 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 57 seconds 400 msec -OK -Time taken: 80.259 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5290@mturlrep13_201309111853_777112224.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5789@mturlrep13_201309111853_1022585979.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0298 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:53:36,406 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:53:43,433 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:53:47,454 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 16.37 sec -2013-09-11 18:53:48,462 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-11 18:53:49,469 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-11 18:53:50,476 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-11 18:53:51,485 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-11 18:53:52,495 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-11 18:53:53,500 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-11 18:53:54,506 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 34.32 sec -2013-09-11 18:53:55,512 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.32 sec -2013-09-11 18:53:56,519 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.32 sec -2013-09-11 18:53:57,525 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.32 sec -2013-09-11 18:53:58,531 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 34.32 sec -2013-09-11 18:53:59,537 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 68.03 sec -2013-09-11 18:54:00,543 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:01,548 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:02,554 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:03,560 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:04,566 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:05,572 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:06,578 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:07,584 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:08,590 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:09,596 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 69.66 sec -2013-09-11 18:54:10,602 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 69.66 sec -2013-09-11 18:54:11,608 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 69.66 sec -2013-09-11 18:54:12,616 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.68 sec -2013-09-11 18:54:13,622 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.68 sec -2013-09-11 18:54:14,628 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 89.68 sec -MapReduce Total cumulative CPU time: 1 minutes 29 seconds 680 msec -Ended Job = job_201309101627_0298 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0299 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:54:17,084 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:54:28,119 Stage-2 map = 46%, reduce = 0% -2013-09-11 18:54:31,128 Stage-2 map = 50%, reduce = 0% -2013-09-11 18:54:34,137 Stage-2 map = 96%, reduce = 0% -2013-09-11 18:54:36,145 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.19 sec -2013-09-11 18:54:37,151 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.19 sec -2013-09-11 18:54:38,156 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.19 sec -2013-09-11 18:54:39,161 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.19 sec -2013-09-11 18:54:40,166 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.19 sec -2013-09-11 18:54:41,171 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.19 sec -2013-09-11 18:54:42,176 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.19 sec -2013-09-11 18:54:43,181 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 24.19 sec -2013-09-11 18:54:44,187 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.19 sec -2013-09-11 18:54:45,192 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.19 sec -2013-09-11 18:54:46,198 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 24.19 sec -2013-09-11 18:54:47,204 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.71 sec -2013-09-11 18:54:48,210 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 28.71 sec -MapReduce Total cumulative CPU time: 28 seconds 710 msec -Ended Job = job_201309101627_0299 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 89.68 sec HDFS Read: 84536695 HDFS Write: 146202868 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 28.71 sec HDFS Read: 146210123 HDFS Write: 256 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 58 seconds 390 msec -OK -Time taken: 80.119 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8402@mturlrep13_201309111854_283727002.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8865@mturlrep13_201309111855_86754766.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0300 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:55:11,854 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:55:18,883 Stage-1 map = 36%, reduce = 0% -2013-09-11 18:55:21,896 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:55:24,917 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.54 sec -2013-09-11 18:55:25,924 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.54 sec -2013-09-11 18:55:26,932 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.54 sec -2013-09-11 18:55:27,938 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.54 sec -2013-09-11 18:55:28,944 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.54 sec -2013-09-11 18:55:29,950 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.54 sec -2013-09-11 18:55:30,955 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 33.54 sec -2013-09-11 18:55:31,961 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.54 sec -2013-09-11 18:55:32,967 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.54 sec -2013-09-11 18:55:33,973 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 33.54 sec -2013-09-11 18:55:34,979 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.54 sec -2013-09-11 18:55:35,985 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 33.54 sec -2013-09-11 18:55:36,991 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 49.64 sec -2013-09-11 18:55:37,996 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.87 sec -2013-09-11 18:55:39,002 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.87 sec -2013-09-11 18:55:40,008 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.87 sec -2013-09-11 18:55:41,013 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.87 sec -2013-09-11 18:55:42,019 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.87 sec -2013-09-11 18:55:43,025 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 67.87 sec -2013-09-11 18:55:44,032 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 72.63 sec -2013-09-11 18:55:45,037 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.38 sec -2013-09-11 18:55:46,042 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 77.38 sec -MapReduce Total cumulative CPU time: 1 minutes 17 seconds 380 msec -Ended Job = job_201309101627_0300 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 77.38 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 380 msec -OK -Time taken: 45.248 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11369@mturlrep13_201309111855_856551231.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11797@mturlrep13_201309111855_1646605999.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0301 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:56:00,548 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:56:07,575 Stage-1 map = 39%, reduce = 0% -2013-09-11 18:56:10,588 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:56:12,602 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.19 sec -2013-09-11 18:56:13,609 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.19 sec -2013-09-11 18:56:14,617 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.19 sec -2013-09-11 18:56:15,624 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.19 sec -2013-09-11 18:56:16,630 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.19 sec -2013-09-11 18:56:17,636 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.19 sec -2013-09-11 18:56:18,641 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.19 sec -2013-09-11 18:56:19,647 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 31.19 sec -2013-09-11 18:56:20,653 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 31.19 sec -2013-09-11 18:56:21,659 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 31.19 sec -2013-09-11 18:56:22,665 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 31.19 sec -2013-09-11 18:56:23,671 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 46.73 sec -2013-09-11 18:56:24,676 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 64.93 sec -2013-09-11 18:56:25,682 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 64.93 sec -2013-09-11 18:56:26,687 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 64.93 sec -2013-09-11 18:56:27,693 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 64.93 sec -2013-09-11 18:56:28,698 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 64.93 sec -2013-09-11 18:56:29,703 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 64.93 sec -2013-09-11 18:56:30,709 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 64.93 sec -2013-09-11 18:56:31,717 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 69.62 sec -2013-09-11 18:56:32,722 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 74.09 sec -2013-09-11 18:56:33,728 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 74.09 sec -MapReduce Total cumulative CPU time: 1 minutes 14 seconds 90 msec -Ended Job = job_201309101627_0301 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 74.09 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 14 seconds 90 msec -OK -Time taken: 41.584 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13564@mturlrep13_201309111856_1947594684.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14004@mturlrep13_201309111856_1046197498.txt -hive> SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0302 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:56:47,624 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:56:54,649 Stage-1 map = 43%, reduce = 0% -2013-09-11 18:56:58,669 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.32 sec -2013-09-11 18:56:59,676 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.32 sec -2013-09-11 18:57:00,687 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.32 sec -2013-09-11 18:57:01,693 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.32 sec -2013-09-11 18:57:02,701 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.32 sec -2013-09-11 18:57:03,707 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.32 sec -2013-09-11 18:57:04,713 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.32 sec -2013-09-11 18:57:05,718 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 32.32 sec -2013-09-11 18:57:06,723 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 32.32 sec -2013-09-11 18:57:07,729 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 32.32 sec -2013-09-11 18:57:08,734 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 32.32 sec -2013-09-11 18:57:09,740 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 32.32 sec -2013-09-11 18:57:10,745 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.85 sec -2013-09-11 18:57:11,749 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.85 sec -2013-09-11 18:57:12,754 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.85 sec -2013-09-11 18:57:13,758 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.85 sec -2013-09-11 18:57:14,763 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.85 sec -2013-09-11 18:57:15,769 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.85 sec -2013-09-11 18:57:16,774 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.85 sec -2013-09-11 18:57:17,780 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.85 sec -2013-09-11 18:57:18,787 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 73.17 sec -2013-09-11 18:57:19,793 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 73.17 sec -2013-09-11 18:57:20,799 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 73.17 sec -MapReduce Total cumulative CPU time: 1 minutes 13 seconds 170 msec -Ended Job = job_201309101627_0302 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 73.17 sec HDFS Read: 84536695 HDFS Write: 889 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 13 seconds 170 msec -OK -Time taken: 41.413 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но без сортировки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15789@mturlrep13_201309111857_1616448565.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16290@mturlrep13_201309111857_668645670.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0303 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:57:42,641 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:57:49,670 Stage-1 map = 7%, reduce = 0% -2013-09-11 18:57:52,683 Stage-1 map = 22%, reduce = 0% -2013-09-11 18:57:55,696 Stage-1 map = 29%, reduce = 0% -2013-09-11 18:57:58,710 Stage-1 map = 36%, reduce = 0% -2013-09-11 18:58:01,726 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 43.37 sec -2013-09-11 18:58:02,733 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.76 sec -2013-09-11 18:58:03,741 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.76 sec -2013-09-11 18:58:04,747 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.76 sec -2013-09-11 18:58:05,753 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.76 sec -2013-09-11 18:58:06,758 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.76 sec -2013-09-11 18:58:07,763 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.76 sec -2013-09-11 18:58:08,769 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.76 sec -2013-09-11 18:58:09,775 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.76 sec -2013-09-11 18:58:10,781 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:11,788 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:12,793 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:13,799 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:14,805 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:15,811 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:16,816 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:17,822 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:18,827 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:19,833 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:20,839 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:21,845 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 53.76 sec -2013-09-11 18:58:22,850 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 78.8 sec -2013-09-11 18:58:23,855 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 105.63 sec -2013-09-11 18:58:24,860 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 105.63 sec -2013-09-11 18:58:25,866 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 105.63 sec -2013-09-11 18:58:26,871 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 105.63 sec -2013-09-11 18:58:27,877 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 105.63 sec -2013-09-11 18:58:28,882 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 105.63 sec -2013-09-11 18:58:29,888 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 105.63 sec -2013-09-11 18:58:30,893 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 105.63 sec -2013-09-11 18:58:31,899 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 105.63 sec -2013-09-11 18:58:32,905 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 105.63 sec -2013-09-11 18:58:34,657 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 105.63 sec -2013-09-11 18:58:35,663 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 105.63 sec -2013-09-11 18:58:36,668 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 105.63 sec -2013-09-11 18:58:37,673 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 105.63 sec -2013-09-11 18:58:38,679 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 105.63 sec -2013-09-11 18:58:39,684 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 105.63 sec -2013-09-11 18:58:40,690 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 105.63 sec -2013-09-11 18:58:41,695 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 105.63 sec -2013-09-11 18:58:42,702 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 127.04 sec -2013-09-11 18:58:43,707 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 148.11 sec -2013-09-11 18:58:44,713 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 148.11 sec -MapReduce Total cumulative CPU time: 2 minutes 28 seconds 110 msec -Ended Job = job_201309101627_0303 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0304 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 18:58:47,302 Stage-2 map = 0%, reduce = 0% -2013-09-11 18:59:01,348 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:02,353 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:03,358 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:04,362 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:05,370 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:06,375 Stage-2 map = 28%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:07,381 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:08,385 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:09,390 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:10,395 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:11,400 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:12,405 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:13,410 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:14,415 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:15,419 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:16,424 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:17,429 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:18,434 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:19,438 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:20,452 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:21,457 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:22,461 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:23,466 Stage-2 map = 78%, reduce = 0%, Cumulative CPU 17.05 sec -2013-09-11 18:59:24,471 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:25,476 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:26,480 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:27,485 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:28,489 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:29,494 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:30,498 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:31,503 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:32,507 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:33,511 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 42.88 sec -2013-09-11 18:59:34,515 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 42.88 sec -2013-09-11 18:59:35,520 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.19 sec -2013-09-11 18:59:36,525 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.19 sec -2013-09-11 18:59:37,530 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 49.19 sec -MapReduce Total cumulative CPU time: 49 seconds 190 msec -Ended Job = job_201309101627_0304 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 148.11 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 49.19 sec HDFS Read: 241349358 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 17 seconds 300 msec -OK -Time taken: 124.833 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19630@mturlrep13_201309111859_2048292740.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20052@mturlrep13_201309111859_1861199290.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0305 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 18:59:51,492 Stage-1 map = 0%, reduce = 0% -2013-09-11 18:59:58,519 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:00:01,534 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:02,541 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:03,550 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:04,556 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:05,562 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:06,568 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:07,574 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:08,580 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:09,586 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:10,591 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 20.11 sec -2013-09-11 19:00:11,599 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.39 sec -2013-09-11 19:00:12,604 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.39 sec -2013-09-11 19:00:13,610 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.39 sec -2013-09-11 19:00:14,616 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.39 sec -2013-09-11 19:00:15,621 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.39 sec -2013-09-11 19:00:16,627 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.39 sec -2013-09-11 19:00:17,633 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.39 sec -2013-09-11 19:00:18,638 Stage-1 map = 54%, reduce = 8%, Cumulative CPU 54.39 sec -2013-09-11 19:00:19,644 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:20,649 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:21,655 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:22,660 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:23,666 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:24,671 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:25,676 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:26,682 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:27,687 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:28,692 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:29,698 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 54.39 sec -2013-09-11 19:00:30,703 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 78.63 sec -2013-09-11 19:00:31,708 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.04 sec -2013-09-11 19:00:32,713 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.04 sec -2013-09-11 19:00:33,717 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 106.04 sec -2013-09-11 19:00:34,722 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 106.04 sec -2013-09-11 19:00:35,727 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 106.04 sec -2013-09-11 19:00:36,732 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 106.04 sec -2013-09-11 19:00:37,736 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 106.04 sec -2013-09-11 19:00:38,742 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 106.04 sec -2013-09-11 19:00:39,746 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 106.04 sec -2013-09-11 19:00:40,751 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 106.04 sec -2013-09-11 19:00:41,756 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 106.04 sec -2013-09-11 19:00:42,762 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 106.04 sec -2013-09-11 19:00:43,767 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 106.04 sec -2013-09-11 19:00:45,242 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 106.04 sec -2013-09-11 19:00:46,247 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 106.04 sec -2013-09-11 19:00:47,253 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 106.04 sec -2013-09-11 19:00:48,259 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 106.04 sec -2013-09-11 19:00:49,264 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 106.04 sec -2013-09-11 19:00:50,275 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 106.04 sec -2013-09-11 19:00:51,283 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.57 sec -2013-09-11 19:00:52,288 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.57 sec -MapReduce Total cumulative CPU time: 2 minutes 27 seconds 570 msec -Ended Job = job_201309101627_0305 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0306 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:00:54,856 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:01:08,898 Stage-2 map = 28%, reduce = 0% -2013-09-11 19:01:15,016 Stage-2 map = 50%, reduce = 0% -2013-09-11 19:01:24,046 Stage-2 map = 78%, reduce = 0% -2013-09-11 19:01:32,074 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:33,080 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:34,085 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:35,090 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:36,095 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:37,100 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:38,105 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:39,110 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:40,116 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:41,121 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:42,126 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.92 sec -2013-09-11 19:01:43,131 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 43.92 sec -2013-09-11 19:01:44,142 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.31 sec -2013-09-11 19:01:45,148 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.31 sec -MapReduce Total cumulative CPU time: 50 seconds 310 msec -Ended Job = job_201309101627_0306 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 147.57 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 50.31 sec HDFS Read: 241349354 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 17 seconds 880 msec -OK -Time taken: 122.023 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23810@mturlrep13_201309111901_515641948.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24270@mturlrep13_201309111901_54212452.txt -hive> SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0307 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:01:57,968 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:02:06,001 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:02:09,013 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:02:12,025 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:02:15,039 Stage-1 map = 39%, reduce = 0% -2013-09-11 19:02:18,050 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:02:19,060 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.29 sec -2013-09-11 19:02:20,067 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.29 sec -2013-09-11 19:02:21,073 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.29 sec -2013-09-11 19:02:22,078 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.29 sec -2013-09-11 19:02:23,083 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.29 sec -2013-09-11 19:02:24,089 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.29 sec -2013-09-11 19:02:25,094 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.29 sec -2013-09-11 19:02:26,099 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:27,104 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:28,109 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:29,114 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:30,119 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:31,124 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:32,130 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:33,135 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:34,140 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:35,146 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:36,151 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 55.29 sec -2013-09-11 19:02:37,156 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 78.76 sec -2013-09-11 19:02:38,160 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 78.76 sec -2013-09-11 19:02:39,165 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 105.48 sec -2013-09-11 19:02:40,169 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 105.48 sec -2013-09-11 19:02:41,174 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 105.48 sec -2013-09-11 19:02:42,178 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 105.48 sec -2013-09-11 19:02:43,183 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 105.48 sec -2013-09-11 19:02:44,188 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 105.48 sec -2013-09-11 19:02:45,193 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 105.48 sec -2013-09-11 19:02:46,198 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 105.48 sec -2013-09-11 19:02:47,202 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 105.48 sec -2013-09-11 19:02:48,207 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 105.48 sec -2013-09-11 19:02:49,212 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 105.48 sec -2013-09-11 19:02:50,845 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 105.48 sec -2013-09-11 19:02:51,850 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 105.48 sec -2013-09-11 19:02:52,855 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 105.48 sec -2013-09-11 19:02:53,861 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 105.48 sec -2013-09-11 19:02:54,866 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 105.48 sec -2013-09-11 19:02:55,871 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 105.48 sec -2013-09-11 19:02:56,875 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 105.48 sec -2013-09-11 19:02:57,883 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 105.48 sec -2013-09-11 19:02:58,890 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.84 sec -2013-09-11 19:02:59,895 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 147.84 sec -MapReduce Total cumulative CPU time: 2 minutes 27 seconds 840 msec -Ended Job = job_201309101627_0307 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0308 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:03:03,355 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:03:16,392 Stage-2 map = 28%, reduce = 0% -2013-09-11 19:03:22,408 Stage-2 map = 50%, reduce = 0% -2013-09-11 19:03:31,433 Stage-2 map = 78%, reduce = 0% -2013-09-11 19:03:39,456 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:40,460 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:41,464 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:42,469 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:43,473 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:44,478 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:45,482 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:46,487 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:47,491 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:48,496 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 43.73 sec -2013-09-11 19:03:49,500 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 43.73 sec -2013-09-11 19:03:50,504 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 43.73 sec -2013-09-11 19:03:51,509 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.23 sec -2013-09-11 19:03:52,514 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 50.23 sec -MapReduce Total cumulative CPU time: 50 seconds 230 msec -Ended Job = job_201309101627_0308 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 147.84 sec HDFS Read: 84944733 HDFS Write: 241346048 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 50.23 sec HDFS Read: 241349358 HDFS Write: 268 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 18 seconds 70 msec -OK -Time taken: 121.826 seconds, Fetched: 10 row(s) -hive> quit; --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27368@mturlrep13_201309111904_1529836462.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27852@mturlrep13_201309111904_1081537639.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0309 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-11 19:04:14,784 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:04:19,814 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.75 sec -2013-09-11 19:04:20,820 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.75 sec -2013-09-11 19:04:21,827 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.75 sec -2013-09-11 19:04:22,832 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.75 sec -2013-09-11 19:04:23,838 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.75 sec -2013-09-11 19:04:24,843 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.39 sec -2013-09-11 19:04:25,848 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.39 sec -2013-09-11 19:04:26,854 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 15.39 sec -MapReduce Total cumulative CPU time: 15 seconds 390 msec -Ended Job = job_201309101627_0309 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 15.39 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 15 seconds 390 msec -OK -Time taken: 21.676 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29092@mturlrep13_201309111904_253068464.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29537@mturlrep13_201309111904_1909407625.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0310 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-11 19:04:40,721 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:04:44,746 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.65 sec -2013-09-11 19:04:45,753 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.65 sec -2013-09-11 19:04:46,761 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.65 sec -2013-09-11 19:04:47,767 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.65 sec -2013-09-11 19:04:48,774 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 11.23 sec -2013-09-11 19:04:49,780 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.19 sec -2013-09-11 19:04:50,786 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 15.19 sec -MapReduce Total cumulative CPU time: 15 seconds 190 msec -Ended Job = job_201309101627_0310 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 15.19 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 15 seconds 190 msec -OK -Time taken: 18.26 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30764@mturlrep13_201309111904_2146737469.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31195@mturlrep13_201309111904_832602397.txt -hive> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks is set to 0 since there's no reduce operator -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0311 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 0 -2013-09-11 19:05:04,452 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:05:09,482 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.95 sec -2013-09-11 19:05:10,490 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.95 sec -2013-09-11 19:05:11,498 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.95 sec -2013-09-11 19:05:12,504 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 7.95 sec -2013-09-11 19:05:13,510 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.6 sec -2013-09-11 19:05:14,516 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 15.6 sec -2013-09-11 19:05:15,522 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 15.6 sec -MapReduce Total cumulative CPU time: 15 seconds 600 msec -Ended Job = job_201309101627_0311 -MapReduce Jobs Launched: -Job 0: Map: 4 Cumulative CPU: 15.6 sec HDFS Read: 57312623 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 15 seconds 600 msec -OK -Time taken: 19.128 seconds -hive> quit; --- мощная фильтрация по столбцу типа UInt64.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_667@mturlrep13_201309111905_1082929224.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1182@mturlrep13_201309111905_294903948.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0312 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:05:36,814 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:05:43,841 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:05:44,854 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.28 sec -2013-09-11 19:05:45,861 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.28 sec -2013-09-11 19:05:46,869 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.28 sec -2013-09-11 19:05:47,876 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.28 sec -2013-09-11 19:05:48,882 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.28 sec -2013-09-11 19:05:49,888 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.28 sec -2013-09-11 19:05:50,894 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.28 sec -2013-09-11 19:05:51,901 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.6 sec -2013-09-11 19:05:52,906 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.6 sec -2013-09-11 19:05:53,912 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.6 sec -2013-09-11 19:05:54,917 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.6 sec -2013-09-11 19:05:55,923 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.6 sec -2013-09-11 19:05:56,928 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.6 sec -2013-09-11 19:05:57,935 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.72 sec -2013-09-11 19:05:58,941 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.72 sec -MapReduce Total cumulative CPU time: 37 seconds 720 msec -Ended Job = job_201309101627_0312 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 37.72 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 37 seconds 720 msec -OK -8428 -Time taken: 32.101 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2715@mturlrep13_201309111906_1847551068.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3181@mturlrep13_201309111906_1226066334.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0313 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:06:12,741 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:06:19,778 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.88 sec -2013-09-11 19:06:20,785 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.88 sec -2013-09-11 19:06:21,792 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.88 sec -2013-09-11 19:06:22,798 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.88 sec -2013-09-11 19:06:23,804 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.88 sec -2013-09-11 19:06:24,810 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.88 sec -2013-09-11 19:06:25,816 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 17.88 sec -2013-09-11 19:06:26,821 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 26.71 sec -2013-09-11 19:06:27,827 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.82 sec -2013-09-11 19:06:28,832 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.82 sec -2013-09-11 19:06:29,837 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.82 sec -2013-09-11 19:06:30,842 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.82 sec -2013-09-11 19:06:31,847 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.82 sec -2013-09-11 19:06:32,855 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 38.11 sec -2013-09-11 19:06:33,861 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 38.11 sec -2013-09-11 19:06:34,866 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 38.11 sec -MapReduce Total cumulative CPU time: 38 seconds 110 msec -Ended Job = job_201309101627_0313 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 38.11 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 38 seconds 110 msec -OK -8428 -Time taken: 30.408 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4693@mturlrep13_201309111906_1529180994.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5305@mturlrep13_201309111906_779445337.txt -hive> SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%';; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0314 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:06:48,153 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:06:56,192 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.5 sec -2013-09-11 19:06:57,200 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.5 sec -2013-09-11 19:06:58,207 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.5 sec -2013-09-11 19:06:59,213 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.5 sec -2013-09-11 19:07:00,219 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.5 sec -2013-09-11 19:07:01,225 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.5 sec -2013-09-11 19:07:02,232 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.5 sec -2013-09-11 19:07:03,239 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.91 sec -2013-09-11 19:07:04,244 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.91 sec -2013-09-11 19:07:05,250 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.91 sec -2013-09-11 19:07:06,255 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.91 sec -2013-09-11 19:07:07,261 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.91 sec -2013-09-11 19:07:08,266 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.91 sec -2013-09-11 19:07:09,274 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.92 sec -2013-09-11 19:07:10,280 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.92 sec -2013-09-11 19:07:11,285 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 37.92 sec -MapReduce Total cumulative CPU time: 37 seconds 920 msec -Ended Job = job_201309101627_0314 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 37.92 sec HDFS Read: 109451651 HDFS Write: 5 SUCCESS -Total MapReduce CPU Time Spent: 37 seconds 920 msec -OK -8428 -Time taken: 30.38 seconds, Fetched: 1 row(s) -hive> quit; --- фильтрация по поиску подстроки в строке.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6820@mturlrep13_201309111907_920541373.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7269@mturlrep13_201309111907_775629306.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0315 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:07:32,401 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:07:39,430 Stage-1 map = 32%, reduce = 0% -2013-09-11 19:07:40,443 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 9.06 sec -2013-09-11 19:07:41,451 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 19:07:42,458 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 19:07:43,465 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 19:07:44,471 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 19:07:45,478 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 19:07:46,485 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 19:07:47,492 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 19:07:48,498 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 18.91 sec -2013-09-11 19:07:49,504 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.92 sec -2013-09-11 19:07:50,509 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.92 sec -2013-09-11 19:07:51,515 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.92 sec -2013-09-11 19:07:52,521 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.92 sec -2013-09-11 19:07:53,527 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.92 sec -2013-09-11 19:07:54,534 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.18 sec -2013-09-11 19:07:55,540 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.18 sec -MapReduce Total cumulative CPU time: 42 seconds 180 msec -Ended Job = job_201309101627_0315 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0316 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:07:59,142 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:08:01,152 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-11 19:08:02,158 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-11 19:08:03,163 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-11 19:08:04,168 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-11 19:08:05,174 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-11 19:08:06,181 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-11 19:08:07,186 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.82 sec -2013-09-11 19:08:08,191 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.24 sec -2013-09-11 19:08:09,197 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.24 sec -2013-09-11 19:08:10,203 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.24 sec -MapReduce Total cumulative CPU time: 2 seconds 240 msec -Ended Job = job_201309101627_0316 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.18 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.24 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 420 msec -OK -Time taken: 47.807 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9501@mturlrep13_201309111908_1204289107.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9961@mturlrep13_201309111908_623470333.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0317 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:08:23,302 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:08:31,343 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.52 sec -2013-09-11 19:08:32,351 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.52 sec -2013-09-11 19:08:33,359 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.52 sec -2013-09-11 19:08:34,366 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.52 sec -2013-09-11 19:08:35,373 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.52 sec -2013-09-11 19:08:36,379 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.52 sec -2013-09-11 19:08:37,386 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.52 sec -2013-09-11 19:08:38,394 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.52 sec -2013-09-11 19:08:39,400 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 19:08:40,406 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 19:08:41,412 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 19:08:42,419 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 19:08:43,426 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 19:08:44,433 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 39.17 sec -2013-09-11 19:08:45,440 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.39 sec -2013-09-11 19:08:46,446 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.39 sec -MapReduce Total cumulative CPU time: 41 seconds 390 msec -Ended Job = job_201309101627_0317 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0318 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:08:48,932 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:08:50,941 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-11 19:08:51,947 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-11 19:08:52,954 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-11 19:08:53,960 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-11 19:08:54,965 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-11 19:08:55,971 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-11 19:08:56,976 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.78 sec -2013-09-11 19:08:57,983 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.78 sec -2013-09-11 19:08:58,989 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.3 sec -2013-09-11 19:08:59,995 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.3 sec -2013-09-11 19:09:01,000 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.3 sec -MapReduce Total cumulative CPU time: 2 seconds 300 msec -Ended Job = job_201309101627_0318 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.39 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.3 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 690 msec -OK -Time taken: 45.178 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12180@mturlrep13_201309111909_1253260332.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12625@mturlrep13_201309111909_397580064.txt -hive> SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0319 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:09:13,988 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:09:22,031 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.22 sec -2013-09-11 19:09:23,039 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.22 sec -2013-09-11 19:09:24,047 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.22 sec -2013-09-11 19:09:25,054 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.22 sec -2013-09-11 19:09:26,060 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.22 sec -2013-09-11 19:09:27,066 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.22 sec -2013-09-11 19:09:28,072 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.22 sec -2013-09-11 19:09:29,080 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.22 sec -2013-09-11 19:09:30,086 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.92 sec -2013-09-11 19:09:31,091 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.92 sec -2013-09-11 19:09:32,097 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.92 sec -2013-09-11 19:09:33,103 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.92 sec -2013-09-11 19:09:34,108 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.92 sec -2013-09-11 19:09:35,116 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 38.05 sec -2013-09-11 19:09:36,160 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.26 sec -2013-09-11 19:09:37,167 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.26 sec -MapReduce Total cumulative CPU time: 40 seconds 260 msec -Ended Job = job_201309101627_0319 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0320 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:09:39,694 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:09:41,703 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:09:42,708 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:09:43,713 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:09:44,718 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:09:45,722 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:09:46,727 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:09:47,732 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:09:48,737 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:09:49,743 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -2013-09-11 19:09:50,749 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.23 sec -MapReduce Total cumulative CPU time: 2 seconds 230 msec -Ended Job = job_201309101627_0320 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.26 sec HDFS Read: 136675723 HDFS Write: 5172 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.23 sec HDFS Read: 5941 HDFS Write: 984 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 490 msec -OK -Time taken: 44.192 seconds, Fetched: 10 row(s) -hive> quit; --- вынимаем большие столбцы, фильтрация по строке.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14855@mturlrep13_201309111909_548656441.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15305@mturlrep13_201309111910_808798094.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0321 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:10:12,656 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:10:19,683 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:10:22,695 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:10:23,708 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.32 sec -2013-09-11 19:10:24,746 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.32 sec -2013-09-11 19:10:25,755 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.32 sec -2013-09-11 19:10:26,761 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.32 sec -2013-09-11 19:10:27,769 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.32 sec -2013-09-11 19:10:28,775 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.32 sec -2013-09-11 19:10:29,781 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.32 sec -2013-09-11 19:10:30,787 Stage-1 map = 73%, reduce = 8%, Cumulative CPU 24.32 sec -2013-09-11 19:10:31,793 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 24.32 sec -2013-09-11 19:10:32,799 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 24.32 sec -2013-09-11 19:10:33,804 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 36.21 sec -2013-09-11 19:10:34,810 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.39 sec -2013-09-11 19:10:35,816 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.39 sec -2013-09-11 19:10:36,824 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 50.53 sec -2013-09-11 19:10:37,829 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 50.53 sec -2013-09-11 19:10:38,835 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 50.53 sec -2013-09-11 19:10:39,841 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 50.53 sec -2013-09-11 19:10:40,848 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 50.53 sec -2013-09-11 19:10:41,855 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.6 sec -2013-09-11 19:10:42,861 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.6 sec -2013-09-11 19:10:43,867 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 52.6 sec -MapReduce Total cumulative CPU time: 52 seconds 600 msec -Ended Job = job_201309101627_0321 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0322 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:10:47,360 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:10:48,366 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:10:49,371 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:10:50,377 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:10:51,382 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:10:52,387 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:10:53,392 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:10:54,396 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:10:55,402 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:10:56,407 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-11 19:10:57,412 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-11 19:10:58,418 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -MapReduce Total cumulative CPU time: 2 seconds 200 msec -Ended Job = job_201309101627_0322 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 52.6 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.2 sec HDFS Read: 12990 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 54 seconds 800 msec -OK -Time taken: 56.389 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18714@mturlrep13_201309111911_81889019.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19205@mturlrep13_201309111911_2026522553.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0323 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:11:11,864 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:11:19,897 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:11:22,917 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.28 sec -2013-09-11 19:11:23,924 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.28 sec -2013-09-11 19:11:24,933 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.28 sec -2013-09-11 19:11:25,939 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.28 sec -2013-09-11 19:11:26,946 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.28 sec -2013-09-11 19:11:27,952 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.28 sec -2013-09-11 19:11:28,958 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.28 sec -2013-09-11 19:11:29,963 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 25.28 sec -2013-09-11 19:11:30,969 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 25.28 sec -2013-09-11 19:11:31,974 Stage-1 map = 89%, reduce = 17%, Cumulative CPU 36.84 sec -2013-09-11 19:11:32,980 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.31 sec -2013-09-11 19:11:33,985 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.31 sec -2013-09-11 19:11:34,991 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 49.31 sec -2013-09-11 19:11:35,998 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.48 sec -2013-09-11 19:11:37,004 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.48 sec -2013-09-11 19:11:38,011 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.48 sec -MapReduce Total cumulative CPU time: 53 seconds 480 msec -Ended Job = job_201309101627_0323 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0324 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:11:40,494 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:11:42,503 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:11:43,508 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:11:44,514 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:11:45,519 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:11:46,524 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:11:47,529 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:11:48,534 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:11:49,540 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.76 sec -2013-09-11 19:11:50,545 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.15 sec -2013-09-11 19:11:51,551 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.15 sec -MapReduce Total cumulative CPU time: 2 seconds 150 msec -Ended Job = job_201309101627_0324 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 53.48 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.15 sec HDFS Read: 12988 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 55 seconds 630 msec -OK -Time taken: 47.357 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21577@mturlrep13_201309111911_1538548655.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22017@mturlrep13_201309111911_1851586484.txt -hive> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0325 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:12:06,075 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:12:13,105 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:12:15,124 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 12.29 sec -2013-09-11 19:12:16,133 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.56 sec -2013-09-11 19:12:17,141 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.56 sec -2013-09-11 19:12:18,148 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.56 sec -2013-09-11 19:12:19,155 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.56 sec -2013-09-11 19:12:20,162 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.56 sec -2013-09-11 19:12:21,169 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.56 sec -2013-09-11 19:12:22,176 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.56 sec -2013-09-11 19:12:23,182 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 24.56 sec -2013-09-11 19:12:24,188 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 24.56 sec -2013-09-11 19:12:25,194 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 24.56 sec -2013-09-11 19:12:26,209 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.93 sec -2013-09-11 19:12:27,215 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.93 sec -2013-09-11 19:12:28,221 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.93 sec -2013-09-11 19:12:29,229 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.09 sec -2013-09-11 19:12:30,235 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 53.09 sec -MapReduce Total cumulative CPU time: 53 seconds 90 msec -Ended Job = job_201309101627_0325 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0326 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:12:33,748 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:12:34,753 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-11 19:12:35,759 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-11 19:12:36,764 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-11 19:12:37,769 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-11 19:12:38,775 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-11 19:12:39,780 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-11 19:12:40,785 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-11 19:12:41,790 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.88 sec -2013-09-11 19:12:42,796 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.28 sec -2013-09-11 19:12:43,802 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.28 sec -2013-09-11 19:12:44,808 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.28 sec -MapReduce Total cumulative CPU time: 2 seconds 280 msec -Ended Job = job_201309101627_0326 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 53.09 sec HDFS Read: 298803179 HDFS Write: 12221 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.28 sec HDFS Read: 12990 HDFS Write: 2646 SUCCESS -Total MapReduce CPU Time Spent: 55 seconds 370 msec -OK -Time taken: 47.653 seconds, Fetched: 10 row(s) -hive> quit; --- чуть больше столбцы.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24402@mturlrep13_201309111912_1264895416.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24883@mturlrep13_201309111912_1271282115.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0327 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:13:05,825 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:13:15,872 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:13:18,884 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:13:21,898 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:13:27,920 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:13:30,932 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:13:36,953 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:13:37,964 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 93.08 sec -2013-09-11 19:13:38,971 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 93.08 sec -2013-09-11 19:13:39,978 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 93.08 sec -2013-09-11 19:13:40,984 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 93.08 sec -2013-09-11 19:13:41,990 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 93.08 sec -2013-09-11 19:13:42,995 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 93.08 sec -2013-09-11 19:13:44,001 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 93.08 sec -2013-09-11 19:13:45,007 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 93.08 sec -2013-09-11 19:13:46,011 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:47,016 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:48,020 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:49,060 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:50,074 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:51,078 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:52,082 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:53,086 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:54,090 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:55,095 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:56,100 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:57,105 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:58,110 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:13:59,115 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:14:00,120 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:14:01,125 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:14:02,130 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 93.08 sec -2013-09-11 19:14:03,140 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 155.04 sec -2013-09-11 19:14:04,145 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 155.04 sec -2013-09-11 19:14:05,153 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 159.81 sec -2013-09-11 19:14:06,158 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 159.81 sec -2013-09-11 19:14:07,163 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 159.81 sec -2013-09-11 19:14:08,168 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 159.81 sec -2013-09-11 19:14:09,173 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 159.81 sec -2013-09-11 19:14:10,178 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 175.38 sec -2013-09-11 19:14:11,183 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 175.38 sec -2013-09-11 19:14:12,188 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 175.38 sec -2013-09-11 19:14:13,193 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 175.38 sec -2013-09-11 19:14:14,197 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 175.38 sec -2013-09-11 19:14:15,202 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 175.38 sec -2013-09-11 19:14:16,210 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 177.7 sec -2013-09-11 19:14:17,215 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 177.7 sec -2013-09-11 19:14:18,221 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 177.7 sec -MapReduce Total cumulative CPU time: 2 minutes 57 seconds 700 msec -Ended Job = job_201309101627_0327 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 177.7 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 57 seconds 700 msec -OK -Time taken: 82.942 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26833@mturlrep13_201309111914_284626838.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27262@mturlrep13_201309111914_572123966.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0328 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:14:31,952 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:14:39,983 Stage-1 map = 4%, reduce = 0% -2013-09-11 19:14:42,994 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:14:46,006 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:14:49,018 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:14:52,064 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:14:55,075 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:15:01,097 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:15:02,183 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:03,191 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:04,196 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:05,202 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:06,208 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:07,213 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:08,219 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:09,224 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:10,230 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:11,235 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:12,240 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 76.71 sec -2013-09-11 19:15:13,247 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:14,252 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:15,257 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:16,263 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:17,267 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:18,272 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:19,276 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:20,281 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:21,286 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:22,291 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:23,296 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:24,306 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:25,311 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:26,316 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:27,381 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:28,387 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:29,392 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:30,396 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:31,401 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:32,406 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:33,411 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:34,416 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:35,421 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:36,425 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:37,429 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 76.71 sec -2013-09-11 19:15:38,434 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 111.68 sec -2013-09-11 19:15:39,439 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 111.68 sec -2013-09-11 19:15:40,443 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 150.15 sec -2013-09-11 19:15:41,447 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 150.15 sec -2013-09-11 19:15:42,452 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 150.15 sec -2013-09-11 19:15:43,457 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 150.15 sec -2013-09-11 19:15:44,462 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 150.15 sec -2013-09-11 19:15:45,466 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 150.15 sec -2013-09-11 19:15:46,501 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 153.5 sec -2013-09-11 19:15:47,506 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 153.5 sec -2013-09-11 19:15:48,511 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 153.5 sec -2013-09-11 19:15:49,516 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 153.5 sec -MapReduce Total cumulative CPU time: 2 minutes 33 seconds 500 msec -Ended Job = job_201309101627_0328 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 153.5 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 2 minutes 33 seconds 500 msec -OK -Time taken: 85.578 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30831@mturlrep13_201309111915_2050397294.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31290@mturlrep13_201309111915_470444048.txt -hive> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0329 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:16:06,376 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:16:16,414 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:16:19,425 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:16:22,437 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:16:25,449 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:16:31,471 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:16:34,482 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:16:37,501 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 94.38 sec -2013-09-11 19:16:38,508 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 94.38 sec -2013-09-11 19:16:39,514 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 94.38 sec -2013-09-11 19:16:40,521 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 94.38 sec -2013-09-11 19:16:41,526 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 94.38 sec -2013-09-11 19:16:42,532 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 94.38 sec -2013-09-11 19:16:43,538 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 94.38 sec -2013-09-11 19:16:44,543 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:45,549 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:46,554 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:47,559 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:48,565 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:49,570 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:50,575 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:51,580 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:52,585 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:53,590 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:54,595 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:55,600 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:56,605 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:57,610 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:58,616 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:16:59,621 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:17:00,626 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:17:01,630 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:17:02,644 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 94.38 sec -2013-09-11 19:17:03,668 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 164.11 sec -2013-09-11 19:17:04,676 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 164.11 sec -2013-09-11 19:17:05,681 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 172.49 sec -2013-09-11 19:17:06,687 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 172.49 sec -2013-09-11 19:17:07,691 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 179.48 sec -2013-09-11 19:17:08,696 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 179.48 sec -2013-09-11 19:17:09,701 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 179.48 sec -2013-09-11 19:17:10,707 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 181.61 sec -2013-09-11 19:17:11,712 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 181.61 sec -2013-09-11 19:17:12,717 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 181.61 sec -MapReduce Total cumulative CPU time: 3 minutes 1 seconds 610 msec -Ended Job = job_201309101627_0329 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 181.61 sec HDFS Read: 1082943442 HDFS Write: 5318 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 1 seconds 610 msec -OK -Time taken: 77.012 seconds, Fetched: 10 row(s) -hive> quit; --- плохой запрос - вынимаем все столбцы.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_745@mturlrep13_201309111917_444909204.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1250@mturlrep13_201309111917_461322150.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0330 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:17:33,067 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:17:40,099 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.68 sec -2013-09-11 19:17:41,107 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.68 sec -2013-09-11 19:17:42,114 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.68 sec -2013-09-11 19:17:43,120 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.68 sec -2013-09-11 19:17:44,125 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.68 sec -2013-09-11 19:17:45,131 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.68 sec -2013-09-11 19:17:46,136 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.68 sec -2013-09-11 19:17:47,142 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.68 sec -2013-09-11 19:17:48,148 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 28.05 sec -2013-09-11 19:17:49,153 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-11 19:17:50,158 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-11 19:17:51,163 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-11 19:17:52,168 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-11 19:17:53,173 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-11 19:17:54,179 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.3 sec -2013-09-11 19:17:55,185 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.51 sec -2013-09-11 19:17:56,191 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.51 sec -2013-09-11 19:17:57,196 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 43.51 sec -MapReduce Total cumulative CPU time: 43 seconds 510 msec -Ended Job = job_201309101627_0330 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 43.51 sec HDFS Read: 28228143 HDFS Write: 766 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 510 msec -OK -Time taken: 33.875 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2899@mturlrep13_201309111917_223797260.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3331@mturlrep13_201309111918_1567198931.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0331 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:18:10,975 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:18:18,012 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.48 sec -2013-09-11 19:18:19,020 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.48 sec -2013-09-11 19:18:20,027 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.48 sec -2013-09-11 19:18:21,033 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.48 sec -2013-09-11 19:18:22,039 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.48 sec -2013-09-11 19:18:23,045 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.48 sec -2013-09-11 19:18:24,051 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.48 sec -2013-09-11 19:18:25,056 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 37.82 sec -2013-09-11 19:18:26,062 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.82 sec -2013-09-11 19:18:27,067 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.82 sec -2013-09-11 19:18:28,072 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.82 sec -2013-09-11 19:18:29,077 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.82 sec -2013-09-11 19:18:30,082 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.82 sec -2013-09-11 19:18:31,087 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.82 sec -2013-09-11 19:18:32,092 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.82 sec -2013-09-11 19:18:33,099 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.82 sec -2013-09-11 19:18:34,105 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.82 sec -MapReduce Total cumulative CPU time: 42 seconds 820 msec -Ended Job = job_201309101627_0331 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 42.82 sec HDFS Read: 28228143 HDFS Write: 766 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 820 msec -OK -Time taken: 31.269 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5060@mturlrep13_201309111918_467637722.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5623@mturlrep13_201309111918_113416530.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0332 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:18:47,895 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:18:54,933 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 19:18:55,941 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 19:18:56,948 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 19:18:57,955 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 19:18:58,961 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 19:18:59,966 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 19:19:00,977 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 19:19:01,983 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.79 sec -2013-09-11 19:19:02,990 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.79 sec -2013-09-11 19:19:03,996 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 19:19:05,001 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 19:19:06,007 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 19:19:07,012 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 19:19:08,018 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 19:19:09,024 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 19:19:10,031 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.96 sec -2013-09-11 19:19:11,037 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.96 sec -MapReduce Total cumulative CPU time: 41 seconds 960 msec -Ended Job = job_201309101627_0332 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 41.96 sec HDFS Read: 28228143 HDFS Write: 766 SUCCESS -Total MapReduce CPU Time Spent: 41 seconds 960 msec -OK -Time taken: 31.323 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7228@mturlrep13_201309111919_1142490525.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7745@mturlrep13_201309111919_1527730811.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0333 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:19:32,813 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:19:39,842 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:19:40,855 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.55 sec -2013-09-11 19:19:41,862 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.55 sec -2013-09-11 19:19:42,869 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.55 sec -2013-09-11 19:19:43,875 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.55 sec -2013-09-11 19:19:44,881 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.55 sec -2013-09-11 19:19:45,887 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.55 sec -2013-09-11 19:19:46,893 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.55 sec -2013-09-11 19:19:47,900 Stage-1 map = 97%, reduce = 8%, Cumulative CPU 30.4 sec -2013-09-11 19:19:48,906 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 40.45 sec -2013-09-11 19:19:49,911 Stage-1 map = 100%, reduce = 8%, Cumulative CPU 40.45 sec -2013-09-11 19:19:50,916 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.45 sec -2013-09-11 19:19:51,921 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.45 sec -2013-09-11 19:19:52,926 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.45 sec -2013-09-11 19:19:53,931 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 40.45 sec -2013-09-11 19:19:54,936 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 40.45 sec -2013-09-11 19:19:55,942 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 40.45 sec -2013-09-11 19:19:56,947 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.45 sec -2013-09-11 19:19:57,955 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 46.75 sec -2013-09-11 19:19:58,961 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 46.75 sec -MapReduce Total cumulative CPU time: 46 seconds 750 msec -Ended Job = job_201309101627_0333 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 46.75 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 46 seconds 750 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 35.874 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9340@mturlrep13_201309111920_1347531078.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9842@mturlrep13_201309111920_1738943444.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0334 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:20:13,005 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:20:20,042 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.62 sec -2013-09-11 19:20:21,051 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.62 sec -2013-09-11 19:20:22,057 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.62 sec -2013-09-11 19:20:23,064 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.62 sec -2013-09-11 19:20:24,070 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.62 sec -2013-09-11 19:20:25,076 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.62 sec -2013-09-11 19:20:26,082 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.62 sec -2013-09-11 19:20:27,088 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.62 sec -2013-09-11 19:20:28,094 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.25 sec -2013-09-11 19:20:29,099 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.25 sec -2013-09-11 19:20:30,104 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.25 sec -2013-09-11 19:20:31,109 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.25 sec -2013-09-11 19:20:32,114 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.25 sec -2013-09-11 19:20:33,120 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.25 sec -2013-09-11 19:20:34,125 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.25 sec -2013-09-11 19:20:35,131 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.25 sec -2013-09-11 19:20:36,138 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.44 sec -2013-09-11 19:20:37,144 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.44 sec -MapReduce Total cumulative CPU time: 45 seconds 440 msec -Ended Job = job_201309101627_0334 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 45.44 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 440 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 32.533 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_11939@mturlrep13_201309111920_1151781772.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_12380@mturlrep13_201309111920_806872053.txt -hive> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0335 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:20:49,926 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:20:57,966 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.91 sec -2013-09-11 19:20:58,974 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.91 sec -2013-09-11 19:20:59,981 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.91 sec -2013-09-11 19:21:00,987 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.91 sec -2013-09-11 19:21:01,993 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.91 sec -2013-09-11 19:21:02,999 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.91 sec -2013-09-11 19:21:04,006 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.91 sec -2013-09-11 19:21:05,013 Stage-1 map = 75%, reduce = 0%, Cumulative CPU 29.4 sec -2013-09-11 19:21:06,019 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.14 sec -2013-09-11 19:21:07,024 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.14 sec -2013-09-11 19:21:08,030 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.14 sec -2013-09-11 19:21:09,036 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.14 sec -2013-09-11 19:21:10,041 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.14 sec -2013-09-11 19:21:11,047 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.14 sec -2013-09-11 19:21:12,052 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.14 sec -2013-09-11 19:21:13,058 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.14 sec -2013-09-11 19:21:14,066 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.25 sec -2013-09-11 19:21:15,072 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 45.25 sec -MapReduce Total cumulative CPU time: 45 seconds 250 msec -Ended Job = job_201309101627_0335 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 45.25 sec HDFS Read: 27820105 HDFS Write: 666 SUCCESS -Total MapReduce CPU Time Spent: 45 seconds 250 msec -OK -ялта интурист -! как одеть трехнедельного ребенка при температуре 20 градусов -! отель rattana beach hotel 3* -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -! официальный сайт ооо "группа аист"г москва, ул коцюбинского, д 4, офис 343 -!( центробежный скважинный калибр форумы) -!(!(storm master silmarils)) -!(!(storm master silmarils)) -!(!(title:(схема sputnik hi 4000))) -!(44-фз о контрактной системе) -Time taken: 32.402 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка по строкам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14015@mturlrep13_201309111921_1013339895.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_14464@mturlrep13_201309111921_1424399418.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0336 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:21:37,862 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:21:44,890 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:21:45,902 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.73 sec -2013-09-11 19:21:46,908 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.73 sec -2013-09-11 19:21:47,915 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.73 sec -2013-09-11 19:21:48,921 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.73 sec -2013-09-11 19:21:49,926 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.73 sec -2013-09-11 19:21:50,932 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.73 sec -2013-09-11 19:21:51,938 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.73 sec -2013-09-11 19:21:52,944 Stage-1 map = 72%, reduce = 17%, Cumulative CPU 20.73 sec -2013-09-11 19:21:53,953 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.75 sec -2013-09-11 19:21:54,959 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.75 sec -2013-09-11 19:21:55,964 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.75 sec -2013-09-11 19:21:56,970 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.75 sec -2013-09-11 19:21:57,975 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.75 sec -2013-09-11 19:21:58,980 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.75 sec -2013-09-11 19:21:59,984 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.75 sec -2013-09-11 19:22:00,989 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 40.75 sec -2013-09-11 19:22:01,996 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.37 sec -2013-09-11 19:22:03,001 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.37 sec -2013-09-11 19:22:04,007 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.37 sec -MapReduce Total cumulative CPU time: 47 seconds 370 msec -Ended Job = job_201309101627_0336 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 47.37 sec HDFS Read: 28228143 HDFS Write: 762 SUCCESS -Total MapReduce CPU Time Spent: 47 seconds 370 msec -OK -Time taken: 36.108 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16194@mturlrep13_201309111922_1473276999.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16658@mturlrep13_201309111922_883471210.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0337 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:22:16,915 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:22:24,952 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.15 sec -2013-09-11 19:22:25,959 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.15 sec -2013-09-11 19:22:26,966 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.15 sec -2013-09-11 19:22:27,972 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.15 sec -2013-09-11 19:22:28,978 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.15 sec -2013-09-11 19:22:29,984 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.15 sec -2013-09-11 19:22:30,990 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.15 sec -2013-09-11 19:22:32,000 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.15 sec -2013-09-11 19:22:33,005 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 19:22:34,011 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 19:22:35,016 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 19:22:36,022 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 19:22:37,027 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 19:22:38,032 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 19:22:39,038 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 19:22:40,043 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 19:22:41,051 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 46.37 sec -2013-09-11 19:22:42,056 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 46.37 sec -MapReduce Total cumulative CPU time: 46 seconds 370 msec -Ended Job = job_201309101627_0337 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 46.37 sec HDFS Read: 28228143 HDFS Write: 762 SUCCESS -Total MapReduce CPU Time Spent: 46 seconds 370 msec -OK -Time taken: 32.47 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18370@mturlrep13_201309111922_201833234.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18842@mturlrep13_201309111922_1636378734.txt -hive> SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0338 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:22:56,099 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:23:03,136 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.89 sec -2013-09-11 19:23:04,144 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.89 sec -2013-09-11 19:23:05,151 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.89 sec -2013-09-11 19:23:06,158 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.89 sec -2013-09-11 19:23:07,164 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.89 sec -2013-09-11 19:23:08,170 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.89 sec -2013-09-11 19:23:09,177 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.89 sec -2013-09-11 19:23:10,183 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 20.89 sec -2013-09-11 19:23:11,190 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.16 sec -2013-09-11 19:23:12,195 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.16 sec -2013-09-11 19:23:13,200 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.16 sec -2013-09-11 19:23:14,205 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.16 sec -2013-09-11 19:23:15,210 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.16 sec -2013-09-11 19:23:16,216 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.16 sec -2013-09-11 19:23:17,223 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.16 sec -2013-09-11 19:23:18,229 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 41.16 sec -2013-09-11 19:23:19,236 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.73 sec -2013-09-11 19:23:20,242 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 47.73 sec -MapReduce Total cumulative CPU time: 47 seconds 730 msec -Ended Job = job_201309101627_0338 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 47.73 sec HDFS Read: 28228143 HDFS Write: 762 SUCCESS -Total MapReduce CPU Time Spent: 47 seconds 730 msec -OK -Time taken: 32.441 seconds, Fetched: 10 row(s) -hive> quit; --- большая сортировка по кортежу.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20518@mturlrep13_201309111923_1417644101.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21000@mturlrep13_201309111923_777732561.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0339 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:23:40,966 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:23:47,994 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:23:51,006 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:23:54,019 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:23:57,032 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:24:00,051 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.36 sec -2013-09-11 19:24:01,058 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.36 sec -2013-09-11 19:24:02,065 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.36 sec -2013-09-11 19:24:03,071 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.36 sec -2013-09-11 19:24:04,078 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.36 sec -2013-09-11 19:24:05,084 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.36 sec -2013-09-11 19:24:06,090 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.36 sec -2013-09-11 19:24:07,096 Stage-1 map = 65%, reduce = 4%, Cumulative CPU 46.36 sec -2013-09-11 19:24:08,101 Stage-1 map = 65%, reduce = 13%, Cumulative CPU 46.36 sec -2013-09-11 19:24:09,107 Stage-1 map = 65%, reduce = 13%, Cumulative CPU 46.36 sec -2013-09-11 19:24:10,113 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 46.36 sec -2013-09-11 19:24:11,119 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 46.36 sec -2013-09-11 19:24:12,124 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 46.36 sec -2013-09-11 19:24:13,130 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 46.36 sec -2013-09-11 19:24:14,136 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 46.36 sec -2013-09-11 19:24:15,142 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 46.36 sec -2013-09-11 19:24:16,148 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 46.36 sec -2013-09-11 19:24:17,153 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 66.94 sec -2013-09-11 19:24:18,159 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 66.94 sec -2013-09-11 19:24:19,164 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 90.24 sec -2013-09-11 19:24:20,170 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 90.24 sec -2013-09-11 19:24:21,175 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 90.24 sec -2013-09-11 19:24:22,180 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 90.24 sec -2013-09-11 19:24:23,185 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 90.24 sec -2013-09-11 19:24:24,190 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 90.24 sec -2013-09-11 19:24:25,196 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 90.24 sec -2013-09-11 19:24:26,202 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 90.24 sec -2013-09-11 19:24:27,207 Stage-1 map = 100%, reduce = 51%, Cumulative CPU 90.24 sec -2013-09-11 19:24:28,212 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 90.24 sec -2013-09-11 19:24:29,219 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 99.81 sec -2013-09-11 19:24:30,224 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 99.81 sec -2013-09-11 19:24:31,230 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 99.81 sec -2013-09-11 19:24:32,468 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 99.81 sec -2013-09-11 19:24:33,480 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 99.81 sec -2013-09-11 19:24:34,496 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 99.81 sec -2013-09-11 19:24:35,501 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 116.36 sec -2013-09-11 19:24:36,506 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 116.36 sec -2013-09-11 19:24:37,511 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 116.36 sec -MapReduce Total cumulative CPU time: 1 minutes 56 seconds 360 msec -Ended Job = job_201309101627_0339 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0340 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:24:41,030 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:24:43,038 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 19:24:44,043 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 19:24:45,048 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 19:24:46,052 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 19:24:47,056 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 19:24:48,060 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 19:24:49,065 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.93 sec -2013-09-11 19:24:50,070 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -2013-09-11 19:24:51,075 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -2013-09-11 19:24:52,080 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.44 sec -MapReduce Total cumulative CPU time: 2 seconds 440 msec -Ended Job = job_201309101627_0340 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 116.36 sec HDFS Read: 117363067 HDFS Write: 794 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.44 sec HDFS Read: 1563 HDFS Write: 571 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 58 seconds 800 msec -OK -Time taken: 81.295 seconds, Fetched: 19 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23567@mturlrep13_201309111924_1954971285.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23997@mturlrep13_201309111924_515409695.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0341 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:25:06,659 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:25:13,685 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:25:16,697 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:25:19,708 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:25:22,720 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:25:24,736 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.82 sec -2013-09-11 19:25:25,743 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.82 sec -2013-09-11 19:25:26,752 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.82 sec -2013-09-11 19:25:27,758 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.82 sec -2013-09-11 19:25:28,764 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.82 sec -2013-09-11 19:25:29,770 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.82 sec -2013-09-11 19:25:30,776 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.82 sec -2013-09-11 19:25:31,782 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 46.82 sec -2013-09-11 19:25:32,788 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 46.82 sec -2013-09-11 19:25:33,793 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 46.82 sec -2013-09-11 19:25:34,799 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 46.82 sec -2013-09-11 19:25:35,804 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 46.82 sec -2013-09-11 19:25:36,809 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 46.82 sec -2013-09-11 19:25:37,815 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 46.82 sec -2013-09-11 19:25:38,821 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 46.82 sec -2013-09-11 19:25:39,827 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 46.82 sec -2013-09-11 19:25:40,832 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 46.82 sec -2013-09-11 19:25:41,838 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 67.29 sec -2013-09-11 19:25:42,843 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.57 sec -2013-09-11 19:25:43,848 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.57 sec -2013-09-11 19:25:44,854 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.57 sec -2013-09-11 19:25:45,860 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.57 sec -2013-09-11 19:25:46,865 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 89.57 sec -2013-09-11 19:25:47,871 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 89.57 sec -2013-09-11 19:25:48,876 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 89.57 sec -2013-09-11 19:25:49,884 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 89.57 sec -2013-09-11 19:25:50,891 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 89.57 sec -2013-09-11 19:25:51,896 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 89.57 sec -2013-09-11 19:25:52,901 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 89.57 sec -2013-09-11 19:25:53,906 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 89.57 sec -2013-09-11 19:25:54,913 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 99.36 sec -2013-09-11 19:25:55,919 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 99.36 sec -2013-09-11 19:25:56,925 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 99.36 sec -2013-09-11 19:25:57,931 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 99.36 sec -2013-09-11 19:25:58,936 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 99.36 sec -2013-09-11 19:25:59,952 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 114.98 sec -2013-09-11 19:26:00,959 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 114.98 sec -MapReduce Total cumulative CPU time: 1 minutes 54 seconds 980 msec -Ended Job = job_201309101627_0341 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0342 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:26:03,406 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:26:05,415 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:26:06,420 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:26:07,426 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:26:08,431 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:26:09,436 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:26:10,441 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:26:11,445 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.76 sec -2013-09-11 19:26:12,450 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.76 sec -2013-09-11 19:26:13,456 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.17 sec -2013-09-11 19:26:14,461 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.17 sec -MapReduce Total cumulative CPU time: 2 seconds 170 msec -Ended Job = job_201309101627_0342 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 114.98 sec HDFS Read: 117363067 HDFS Write: 794 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.17 sec HDFS Read: 1563 HDFS Write: 571 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 57 seconds 150 msec -OK -Time taken: 76.426 seconds, Fetched: 19 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27255@mturlrep13_201309111926_1222835314.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27706@mturlrep13_201309111926_904396134.txt -hive> SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0343 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:26:27,528 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:26:35,559 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:26:38,572 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:26:41,585 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:26:44,599 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:26:45,611 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.89 sec -2013-09-11 19:26:46,618 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.89 sec -2013-09-11 19:26:47,627 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.89 sec -2013-09-11 19:26:48,633 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.89 sec -2013-09-11 19:26:49,638 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.89 sec -2013-09-11 19:26:50,644 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.89 sec -2013-09-11 19:26:51,649 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 44.89 sec -2013-09-11 19:26:52,655 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 44.89 sec -2013-09-11 19:26:53,661 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 44.89 sec -2013-09-11 19:26:54,666 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 44.89 sec -2013-09-11 19:26:55,673 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 44.89 sec -2013-09-11 19:26:56,679 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 44.89 sec -2013-09-11 19:26:57,685 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 44.89 sec -2013-09-11 19:26:58,691 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 44.89 sec -2013-09-11 19:26:59,696 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 44.89 sec -2013-09-11 19:27:00,717 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 44.89 sec -2013-09-11 19:27:01,723 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 44.89 sec -2013-09-11 19:27:02,728 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 65.71 sec -2013-09-11 19:27:03,734 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 88.34 sec -2013-09-11 19:27:04,740 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 92.03 sec -2013-09-11 19:27:05,745 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 92.03 sec -2013-09-11 19:27:06,751 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 92.03 sec -2013-09-11 19:27:07,757 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 92.03 sec -2013-09-11 19:27:08,763 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 92.03 sec -2013-09-11 19:27:09,769 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 92.03 sec -2013-09-11 19:27:10,775 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 92.03 sec -2013-09-11 19:27:11,781 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 92.03 sec -2013-09-11 19:27:12,786 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 92.03 sec -2013-09-11 19:27:13,792 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 92.03 sec -2013-09-11 19:27:14,799 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 100.81 sec -2013-09-11 19:27:15,805 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 100.81 sec -2013-09-11 19:27:16,811 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 100.81 sec -2013-09-11 19:27:17,818 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 100.81 sec -2013-09-11 19:27:18,823 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 100.81 sec -2013-09-11 19:27:19,829 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 100.81 sec -2013-09-11 19:27:20,846 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 114.65 sec -2013-09-11 19:27:21,852 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 114.65 sec -MapReduce Total cumulative CPU time: 1 minutes 54 seconds 650 msec -Ended Job = job_201309101627_0343 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0344 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:27:24,306 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:27:26,313 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:27:27,318 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:27:28,323 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:27:29,327 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:27:30,331 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:27:31,335 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:27:32,340 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 19:27:33,345 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.75 sec -2013-09-11 19:27:34,351 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.15 sec -2013-09-11 19:27:35,356 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.15 sec -MapReduce Total cumulative CPU time: 2 seconds 150 msec -Ended Job = job_201309101627_0344 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 114.65 sec HDFS Read: 117363067 HDFS Write: 794 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.15 sec HDFS Read: 1563 HDFS Write: 571 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 56 seconds 800 msec -OK -Time taken: 75.21 seconds, Fetched: 19 row(s) -hive> quit; --- считаем средние длины URL для крупных счётчиков.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30248@mturlrep13_201309111927_36693068.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30881@mturlrep13_201309111927_1823096494.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -FAILED: SemanticException [Error 10011]: Line 1:336 Invalid function 'GREATEST' -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31193@mturlrep13_201309111927_277766864.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31619@mturlrep13_201309111927_804737407.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -FAILED: SemanticException [Error 10011]: Line 1:336 Invalid function 'GREATEST' -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31900@mturlrep13_201309111928_2860526.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32327@mturlrep13_201309111928_474072567.txt -hive> SELECT SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2), 1, GREATEST(0, FIND_IN_SET('/', SUBSTRING(Referer, FIND_IN_SET('//', Referer) + 2)) - 1)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;; -FAILED: SemanticException [Error 10011]: Line 1:336 Invalid function 'GREATEST' -hive> quit; --- то же самое, но с разбивкой по доменам.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_32599@mturlrep13_201309111928_1292767865.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_624@mturlrep13_201309111928_489280386.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0345 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:28:32,803 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:28:45,869 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:28:51,894 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:28:57,917 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:29:04,947 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:05,953 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:06,959 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:07,965 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:08,970 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:09,987 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:10,992 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:11,998 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:13,003 Stage-1 map = 32%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:14,008 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:15,013 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:16,017 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:17,022 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:18,027 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:19,031 Stage-1 map = 39%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:20,036 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:21,040 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:22,045 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:23,050 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:24,055 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 69.54 sec -2013-09-11 19:29:25,080 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 90.43 sec -2013-09-11 19:29:26,085 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.27 sec -2013-09-11 19:29:27,090 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.27 sec -2013-09-11 19:29:28,095 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.27 sec -2013-09-11 19:29:29,100 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.27 sec -2013-09-11 19:29:30,105 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.27 sec -2013-09-11 19:29:31,109 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.27 sec -2013-09-11 19:29:32,114 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:33,119 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:34,123 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:35,177 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:36,182 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:37,186 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:38,191 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:39,195 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:40,226 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:41,230 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:42,234 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:43,239 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:44,243 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:45,267 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:46,271 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:47,276 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:48,280 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:49,284 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:50,289 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:51,293 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:52,297 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:53,301 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:54,306 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:55,311 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:56,316 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:57,321 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:58,332 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:29:59,337 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:30:00,342 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:30:01,347 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:30:02,352 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:30:03,357 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 112.27 sec -2013-09-11 19:30:04,363 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 195.43 sec -2013-09-11 19:30:05,368 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 195.43 sec -2013-09-11 19:30:06,374 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 195.43 sec -2013-09-11 19:30:07,379 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 195.43 sec -2013-09-11 19:30:08,384 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 195.43 sec -2013-09-11 19:30:09,389 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 195.43 sec -2013-09-11 19:30:10,395 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 195.43 sec -2013-09-11 19:30:11,400 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 195.43 sec -2013-09-11 19:30:12,405 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 195.43 sec -2013-09-11 19:30:13,411 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 205.31 sec -2013-09-11 19:30:14,416 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 205.31 sec -2013-09-11 19:30:15,421 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 205.31 sec -2013-09-11 19:30:16,426 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 205.31 sec -2013-09-11 19:30:17,431 Stage-1 map = 97%, reduce = 25%, Cumulative CPU 205.31 sec -2013-09-11 19:30:18,436 Stage-1 map = 97%, reduce = 25%, Cumulative CPU 205.31 sec -2013-09-11 19:30:19,441 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 222.12 sec -2013-09-11 19:30:20,446 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 222.12 sec -2013-09-11 19:30:21,451 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 222.12 sec -2013-09-11 19:30:22,456 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 222.12 sec -2013-09-11 19:30:23,463 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 224.88 sec -2013-09-11 19:30:24,469 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 224.88 sec -2013-09-11 19:30:25,475 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 224.88 sec -MapReduce Total cumulative CPU time: 3 minutes 44 seconds 880 msec -Ended Job = job_201309101627_0345 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 224.88 sec HDFS Read: 7797536 HDFS Write: 1080 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 44 seconds 880 msec -OK -Time taken: 123.601 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3693@mturlrep13_201309111930_78582272.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4150@mturlrep13_201309111930_88890337.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0346 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:30:39,700 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:30:50,746 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:30:59,777 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:31:05,802 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:06,807 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:07,813 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:08,820 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:09,825 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:10,829 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:11,833 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:12,838 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:13,842 Stage-1 map = 25%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:14,847 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:15,852 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:16,857 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:17,861 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:18,866 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:19,870 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:20,875 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:21,879 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:22,883 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:23,887 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:24,892 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:25,896 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:26,900 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:27,904 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:28,908 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:29,912 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:30,917 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:31,921 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 50.77 sec -2013-09-11 19:31:32,928 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 81.31 sec -2013-09-11 19:31:33,934 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.9 sec -2013-09-11 19:31:34,939 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.9 sec -2013-09-11 19:31:35,944 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.9 sec -2013-09-11 19:31:36,949 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.9 sec -2013-09-11 19:31:37,954 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.9 sec -2013-09-11 19:31:38,960 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 112.9 sec -2013-09-11 19:31:39,965 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:40,970 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:41,975 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:42,980 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:43,985 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:44,990 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:45,994 Stage-1 map = 54%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:47,031 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:48,036 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:49,041 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:50,046 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:51,052 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:52,081 Stage-1 map = 61%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:53,086 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:54,091 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:55,096 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:56,101 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:57,115 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:58,119 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:31:59,128 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:32:00,132 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:32:01,137 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:32:02,165 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:32:03,170 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:32:04,175 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 112.9 sec -2013-09-11 19:32:05,181 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:06,186 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:07,191 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:08,196 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:09,201 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:10,206 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:11,210 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:12,215 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:13,220 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:14,226 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:15,230 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:16,236 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:17,241 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:18,246 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:19,251 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 181.27 sec -2013-09-11 19:32:20,256 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 200.03 sec -2013-09-11 19:32:21,260 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 200.03 sec -2013-09-11 19:32:22,268 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 200.03 sec -2013-09-11 19:32:23,273 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 200.03 sec -2013-09-11 19:32:24,278 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 200.03 sec -2013-09-11 19:32:25,282 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 221.55 sec -2013-09-11 19:32:26,287 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 221.55 sec -2013-09-11 19:32:27,291 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 221.55 sec -2013-09-11 19:32:28,296 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 221.55 sec -2013-09-11 19:32:29,300 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 221.55 sec -2013-09-11 19:32:30,304 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 221.55 sec -2013-09-11 19:32:31,311 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 224.51 sec -2013-09-11 19:32:32,315 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 224.51 sec -2013-09-11 19:32:33,320 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 224.51 sec -MapReduce Total cumulative CPU time: 3 minutes 44 seconds 510 msec -Ended Job = job_201309101627_0346 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 224.51 sec HDFS Read: 7797536 HDFS Write: 1080 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 44 seconds 510 msec -OK -Time taken: 121.982 seconds, Fetched: 1 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6746@mturlrep13_201309111932_688661171.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7179@mturlrep13_201309111932_74538691.txt -hive> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m;; -Total MapReduce jobs = 1 -Launching Job 1 out of 1 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0347 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 1 -2013-09-11 19:32:47,696 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:32:58,740 Stage-1 map = 4%, reduce = 0% -2013-09-11 19:33:01,753 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:33:07,785 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:08,792 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:09,798 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:10,803 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:11,809 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:12,814 Stage-1 map = 14%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:13,819 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:14,824 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:15,829 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:16,834 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:17,840 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:18,845 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:19,850 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:20,855 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:21,860 Stage-1 map = 22%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:22,865 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:23,870 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:24,876 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:25,881 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:26,886 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:27,891 Stage-1 map = 29%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:28,896 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:29,901 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:30,906 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:31,911 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:32,915 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:33,920 Stage-1 map = 36%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:34,925 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:35,930 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:36,935 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:37,939 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:38,944 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:39,952 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 39.05 sec -2013-09-11 19:33:40,959 Stage-1 map = 47%, reduce = 0%, Cumulative CPU 76.73 sec -2013-09-11 19:33:41,965 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 114.74 sec -2013-09-11 19:33:42,970 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 114.74 sec -2013-09-11 19:33:43,975 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 114.74 sec -2013-09-11 19:33:44,981 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 114.74 sec -2013-09-11 19:33:45,986 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 114.74 sec -2013-09-11 19:33:46,991 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 114.74 sec -2013-09-11 19:33:47,996 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 114.74 sec -2013-09-11 19:33:49,020 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:50,025 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:51,030 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:52,035 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:53,040 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:54,045 Stage-1 map = 50%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:55,050 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:56,055 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:57,060 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:58,064 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:33:59,113 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:34:00,118 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:34:01,123 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:34:02,128 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:34:03,132 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:34:04,146 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 114.74 sec -2013-09-11 19:34:05,152 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:06,161 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:07,166 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:08,171 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:09,196 Stage-1 map = 69%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:10,201 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:11,206 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:12,211 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:13,217 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:14,237 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:15,242 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:16,247 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:17,252 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:18,257 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:19,262 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:20,267 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:21,272 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:22,277 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:23,282 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:24,287 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:25,292 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:26,297 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:27,302 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:28,307 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:29,311 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 167.26 sec -2013-09-11 19:34:30,316 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 193.91 sec -2013-09-11 19:34:31,320 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 193.91 sec -2013-09-11 19:34:32,325 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 193.91 sec -2013-09-11 19:34:33,330 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 193.91 sec -2013-09-11 19:34:34,335 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 193.91 sec -2013-09-11 19:34:35,339 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 193.91 sec -2013-09-11 19:34:36,344 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 226.92 sec -2013-09-11 19:34:37,348 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 226.92 sec -2013-09-11 19:34:38,353 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 226.92 sec -2013-09-11 19:34:39,358 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 226.92 sec -2013-09-11 19:34:40,364 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 230.01 sec -2013-09-11 19:34:41,369 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 230.01 sec -MapReduce Total cumulative CPU time: 3 minutes 50 seconds 10 msec -Ended Job = job_201309101627_0347 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 1 Cumulative CPU: 230.01 sec HDFS Read: 7797536 HDFS Write: 1080 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 50 seconds 10 msec -OK -Time taken: 122.089 seconds, Fetched: 1 row(s) -hive> quit; --- много тупых агрегатных функций.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9487@mturlrep13_201309111934_1498253935.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9958@mturlrep13_201309111934_990229488.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0348 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:35:01,929 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:35:08,962 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:35:11,984 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.29 sec -2013-09-11 19:35:12,991 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.29 sec -2013-09-11 19:35:13,999 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.29 sec -2013-09-11 19:35:15,006 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.29 sec -2013-09-11 19:35:16,013 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.29 sec -2013-09-11 19:35:17,021 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.29 sec -2013-09-11 19:35:18,028 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 25.29 sec -2013-09-11 19:35:19,035 Stage-1 map = 80%, reduce = 8%, Cumulative CPU 25.29 sec -2013-09-11 19:35:20,041 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 25.29 sec -2013-09-11 19:35:21,048 Stage-1 map = 89%, reduce = 17%, Cumulative CPU 36.02 sec -2013-09-11 19:35:22,054 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.81 sec -2013-09-11 19:35:23,061 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.81 sec -2013-09-11 19:35:24,068 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.81 sec -2013-09-11 19:35:25,074 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.81 sec -2013-09-11 19:35:26,080 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.81 sec -2013-09-11 19:35:27,087 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.81 sec -2013-09-11 19:35:28,094 Stage-1 map = 100%, reduce = 54%, Cumulative CPU 47.81 sec -2013-09-11 19:35:29,102 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.62 sec -2013-09-11 19:35:30,109 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.62 sec -2013-09-11 19:35:31,116 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.62 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 620 msec -Ended Job = job_201309101627_0348 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0349 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:35:34,611 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:35:41,634 Stage-2 map = 52%, reduce = 0% -2013-09-11 19:35:43,642 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.27 sec -2013-09-11 19:35:44,647 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.27 sec -2013-09-11 19:35:45,653 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.27 sec -2013-09-11 19:35:46,657 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.27 sec -2013-09-11 19:35:47,662 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.27 sec -2013-09-11 19:35:48,667 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.27 sec -2013-09-11 19:35:49,672 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.27 sec -2013-09-11 19:35:50,678 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 11.27 sec -2013-09-11 19:35:51,683 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 13.93 sec -2013-09-11 19:35:52,688 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 13.93 sec -2013-09-11 19:35:53,694 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 13.93 sec -MapReduce Total cumulative CPU time: 13 seconds 930 msec -Ended Job = job_201309101627_0349 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.62 sec HDFS Read: 69312553 HDFS Write: 31841963 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 13.93 sec HDFS Read: 31842732 HDFS Write: 372 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 16 seconds 550 msec -OK -Time taken: 61.8 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13220@mturlrep13_201309111935_1450466202.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13656@mturlrep13_201309111935_882257175.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0350 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:36:06,591 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:36:14,621 Stage-1 map = 39%, reduce = 0% -2013-09-11 19:36:15,633 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-11 19:36:16,640 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-11 19:36:17,650 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-11 19:36:18,657 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-11 19:36:19,663 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-11 19:36:20,670 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-11 19:36:21,677 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-11 19:36:22,683 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 23.79 sec -2013-09-11 19:36:23,689 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 23.79 sec -2013-09-11 19:36:24,694 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.4 sec -2013-09-11 19:36:25,700 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.4 sec -2013-09-11 19:36:26,706 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.4 sec -2013-09-11 19:36:27,711 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.4 sec -2013-09-11 19:36:28,717 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.4 sec -2013-09-11 19:36:29,723 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.4 sec -2013-09-11 19:36:30,728 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.4 sec -2013-09-11 19:36:31,734 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 47.4 sec -2013-09-11 19:36:32,740 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 47.4 sec -2013-09-11 19:36:33,748 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.39 sec -2013-09-11 19:36:34,754 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.39 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 390 msec -Ended Job = job_201309101627_0350 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0351 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:36:38,242 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:36:45,265 Stage-2 map = 52%, reduce = 0% -2013-09-11 19:36:47,275 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.17 sec -2013-09-11 19:36:48,280 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.17 sec -2013-09-11 19:36:49,285 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.17 sec -2013-09-11 19:36:50,289 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.17 sec -2013-09-11 19:36:51,294 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.17 sec -2013-09-11 19:36:52,299 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.17 sec -2013-09-11 19:36:53,303 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 12.17 sec -2013-09-11 19:36:54,308 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 12.17 sec -2013-09-11 19:36:55,313 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 12.17 sec -2013-09-11 19:36:56,319 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.91 sec -2013-09-11 19:36:57,324 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.91 sec -MapReduce Total cumulative CPU time: 14 seconds 910 msec -Ended Job = job_201309101627_0351 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.39 sec HDFS Read: 69312553 HDFS Write: 31841963 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 14.91 sec HDFS Read: 31842732 HDFS Write: 372 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 17 seconds 300 msec -OK -Time taken: 58.141 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16233@mturlrep13_201309111936_495916780.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16705@mturlrep13_201309111937_103662092.txt -hive> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0352 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:37:11,503 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:37:18,531 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:37:20,547 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.6 sec -2013-09-11 19:37:21,555 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.6 sec -2013-09-11 19:37:22,563 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.6 sec -2013-09-11 19:37:23,569 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.6 sec -2013-09-11 19:37:24,576 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.6 sec -2013-09-11 19:37:25,582 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.6 sec -2013-09-11 19:37:26,589 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.6 sec -2013-09-11 19:37:27,596 Stage-1 map = 88%, reduce = 8%, Cumulative CPU 24.6 sec -2013-09-11 19:37:28,602 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 24.6 sec -2013-09-11 19:37:29,608 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.04 sec -2013-09-11 19:37:30,613 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.04 sec -2013-09-11 19:37:31,618 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.04 sec -2013-09-11 19:37:32,624 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.04 sec -2013-09-11 19:37:33,630 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.04 sec -2013-09-11 19:37:34,635 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.04 sec -2013-09-11 19:37:35,640 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.04 sec -2013-09-11 19:37:36,645 Stage-1 map = 100%, reduce = 55%, Cumulative CPU 48.04 sec -2013-09-11 19:37:37,652 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.72 sec -2013-09-11 19:37:38,658 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.72 sec -2013-09-11 19:37:39,664 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 62.72 sec -MapReduce Total cumulative CPU time: 1 minutes 2 seconds 720 msec -Ended Job = job_201309101627_0352 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0353 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:37:42,202 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:37:50,230 Stage-2 map = 52%, reduce = 0% -2013-09-11 19:37:51,236 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.46 sec -2013-09-11 19:37:52,243 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.46 sec -2013-09-11 19:37:53,248 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.46 sec -2013-09-11 19:37:54,253 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.46 sec -2013-09-11 19:37:55,258 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.46 sec -2013-09-11 19:37:56,263 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.46 sec -2013-09-11 19:37:57,268 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 11.46 sec -2013-09-11 19:37:58,272 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 11.46 sec -2013-09-11 19:37:59,277 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 11.46 sec -2013-09-11 19:38:00,283 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.2 sec -2013-09-11 19:38:01,289 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 14.2 sec -MapReduce Total cumulative CPU time: 14 seconds 200 msec -Ended Job = job_201309101627_0353 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 62.72 sec HDFS Read: 69312553 HDFS Write: 31841963 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 14.2 sec HDFS Read: 31842732 HDFS Write: 372 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 16 seconds 920 msec -OK -Time taken: 58.209 seconds, Fetched: 10 row(s) -hive> quit; --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19487@mturlrep13_201309111938_449325071.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19952@mturlrep13_201309111938_524378054.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0354 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:38:23,549 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:38:30,587 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:38:33,607 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.07 sec -2013-09-11 19:38:34,614 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.07 sec -2013-09-11 19:38:35,622 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.07 sec -2013-09-11 19:38:36,628 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.07 sec -2013-09-11 19:38:37,635 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.07 sec -2013-09-11 19:38:38,642 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.07 sec -2013-09-11 19:38:39,649 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.07 sec -2013-09-11 19:38:40,655 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.07 sec -2013-09-11 19:38:41,660 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 24.07 sec -2013-09-11 19:38:42,665 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 24.07 sec -2013-09-11 19:38:43,671 Stage-1 map = 89%, reduce = 17%, Cumulative CPU 36.3 sec -2013-09-11 19:38:44,676 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.95 sec -2013-09-11 19:38:45,681 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.95 sec -2013-09-11 19:38:46,686 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.95 sec -2013-09-11 19:38:47,691 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.95 sec -2013-09-11 19:38:48,696 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.95 sec -2013-09-11 19:38:49,702 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.95 sec -2013-09-11 19:38:50,707 Stage-1 map = 100%, reduce = 86%, Cumulative CPU 48.95 sec -2013-09-11 19:38:51,715 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 57.98 sec -2013-09-11 19:38:52,721 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 66.7 sec -2013-09-11 19:38:53,727 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 66.7 sec -MapReduce Total cumulative CPU time: 1 minutes 6 seconds 700 msec -Ended Job = job_201309101627_0354 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0355 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:38:57,273 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:39:07,307 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 10.01 sec -2013-09-11 19:39:08,312 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 10.01 sec -2013-09-11 19:39:09,316 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 10.01 sec -2013-09-11 19:39:10,321 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.48 sec -2013-09-11 19:39:11,326 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.48 sec -2013-09-11 19:39:12,331 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.48 sec -2013-09-11 19:39:13,336 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.48 sec -2013-09-11 19:39:14,341 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.48 sec -2013-09-11 19:39:15,346 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.48 sec -2013-09-11 19:39:16,350 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.48 sec -2013-09-11 19:39:17,356 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.48 sec -2013-09-11 19:39:18,361 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.48 sec -2013-09-11 19:39:19,366 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.34 sec -2013-09-11 19:39:20,372 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.34 sec -2013-09-11 19:39:21,377 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.34 sec -MapReduce Total cumulative CPU time: 22 seconds 340 msec -Ended Job = job_201309101627_0355 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 66.7 sec HDFS Read: 112931901 HDFS Write: 72725701 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 22.34 sec HDFS Read: 72726470 HDFS Write: 417 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 29 seconds 40 msec -OK -Time taken: 67.908 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_22641@mturlrep13_201309111939_2035435508.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_23093@mturlrep13_201309111939_526667313.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0356 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:39:35,562 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:39:42,588 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:39:44,605 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.84 sec -2013-09-11 19:39:45,612 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.84 sec -2013-09-11 19:39:46,620 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.84 sec -2013-09-11 19:39:47,626 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.84 sec -2013-09-11 19:39:48,632 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.84 sec -2013-09-11 19:39:49,638 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.84 sec -2013-09-11 19:39:50,644 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.84 sec -2013-09-11 19:39:51,650 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.84 sec -2013-09-11 19:39:52,655 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 24.84 sec -2013-09-11 19:39:53,660 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 36.18 sec -2013-09-11 19:39:54,665 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.13 sec -2013-09-11 19:39:55,671 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.13 sec -2013-09-11 19:39:56,676 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.13 sec -2013-09-11 19:39:57,682 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.13 sec -2013-09-11 19:39:58,688 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.13 sec -2013-09-11 19:39:59,693 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.13 sec -2013-09-11 19:40:00,698 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.13 sec -2013-09-11 19:40:01,705 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 48.13 sec -2013-09-11 19:40:02,710 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 48.13 sec -2013-09-11 19:40:03,717 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 66.55 sec -2013-09-11 19:40:04,723 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 66.55 sec -MapReduce Total cumulative CPU time: 1 minutes 6 seconds 550 msec -Ended Job = job_201309101627_0356 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0357 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:40:08,243 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:40:18,275 Stage-2 map = 50%, reduce = 0% -2013-09-11 19:40:21,285 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.04 sec -2013-09-11 19:40:22,290 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.04 sec -2013-09-11 19:40:23,295 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.04 sec -2013-09-11 19:40:24,299 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.04 sec -2013-09-11 19:40:25,303 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.04 sec -2013-09-11 19:40:26,308 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.04 sec -2013-09-11 19:40:27,312 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 18.04 sec -2013-09-11 19:40:28,319 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.04 sec -2013-09-11 19:40:29,325 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 18.04 sec -2013-09-11 19:40:30,331 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.87 sec -2013-09-11 19:40:31,336 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.87 sec -2013-09-11 19:40:32,341 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 22.87 sec -MapReduce Total cumulative CPU time: 22 seconds 870 msec -Ended Job = job_201309101627_0357 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 66.55 sec HDFS Read: 112931901 HDFS Write: 72725701 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 22.87 sec HDFS Read: 72726470 HDFS Write: 417 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 29 seconds 420 msec -OK -Time taken: 65.342 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26473@mturlrep13_201309111940_1279166240.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_26931@mturlrep13_201309111940_790078242.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0358 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:40:46,365 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:40:53,395 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:40:55,412 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.12 sec -2013-09-11 19:40:56,420 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.12 sec -2013-09-11 19:40:57,429 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.12 sec -2013-09-11 19:40:58,435 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.12 sec -2013-09-11 19:40:59,442 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.12 sec -2013-09-11 19:41:00,449 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.12 sec -2013-09-11 19:41:01,457 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 24.12 sec -2013-09-11 19:41:02,463 Stage-1 map = 68%, reduce = 8%, Cumulative CPU 24.12 sec -2013-09-11 19:41:03,469 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 24.12 sec -2013-09-11 19:41:04,475 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 46.93 sec -2013-09-11 19:41:05,481 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.42 sec -2013-09-11 19:41:06,487 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.42 sec -2013-09-11 19:41:07,493 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.42 sec -2013-09-11 19:41:08,499 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.42 sec -2013-09-11 19:41:09,505 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.42 sec -2013-09-11 19:41:10,511 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 48.42 sec -2013-09-11 19:41:11,518 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 48.42 sec -2013-09-11 19:41:12,524 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 48.42 sec -2013-09-11 19:41:13,531 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 56.93 sec -2013-09-11 19:41:14,537 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 65.67 sec -2013-09-11 19:41:15,544 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 65.67 sec -MapReduce Total cumulative CPU time: 1 minutes 5 seconds 670 msec -Ended Job = job_201309101627_0358 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0359 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 19:41:19,228 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:41:29,262 Stage-2 map = 50%, reduce = 0% -2013-09-11 19:41:32,273 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.08 sec -2013-09-11 19:41:33,278 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.08 sec -2013-09-11 19:41:34,283 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.08 sec -2013-09-11 19:41:35,287 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.08 sec -2013-09-11 19:41:36,291 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.08 sec -2013-09-11 19:41:37,296 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.08 sec -2013-09-11 19:41:38,301 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 17.08 sec -2013-09-11 19:41:39,307 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.08 sec -2013-09-11 19:41:40,311 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 17.08 sec -2013-09-11 19:41:41,317 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 21.69 sec -2013-09-11 19:41:42,323 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 21.69 sec -2013-09-11 19:41:43,328 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 21.69 sec -MapReduce Total cumulative CPU time: 21 seconds 690 msec -Ended Job = job_201309101627_0359 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 65.67 sec HDFS Read: 112931901 HDFS Write: 72725701 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 21.69 sec HDFS Read: 72726470 HDFS Write: 417 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 27 seconds 360 msec -OK -Time taken: 65.41 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_29665@mturlrep13_201309111941_1737478499.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30133@mturlrep13_201309111941_1994654944.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0360 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:42:06,244 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:42:13,269 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:42:16,281 Stage-1 map = 18%, reduce = 0% -2013-09-11 19:42:19,293 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:42:22,306 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:42:25,316 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:42:27,330 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 25.54 sec -2013-09-11 19:42:28,336 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.11 sec -2013-09-11 19:42:29,343 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.11 sec -2013-09-11 19:42:30,349 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.11 sec -2013-09-11 19:42:31,354 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.11 sec -2013-09-11 19:42:32,359 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.11 sec -2013-09-11 19:42:33,365 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.11 sec -2013-09-11 19:42:34,370 Stage-1 map = 54%, reduce = 13%, Cumulative CPU 53.11 sec -2013-09-11 19:42:35,375 Stage-1 map = 57%, reduce = 13%, Cumulative CPU 53.11 sec -2013-09-11 19:42:36,381 Stage-1 map = 57%, reduce = 13%, Cumulative CPU 53.11 sec -2013-09-11 19:42:37,386 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 53.11 sec -2013-09-11 19:42:38,391 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 53.11 sec -2013-09-11 19:42:39,397 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 53.11 sec -2013-09-11 19:42:40,403 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 53.11 sec -2013-09-11 19:42:41,408 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 53.11 sec -2013-09-11 19:42:42,423 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 53.11 sec -2013-09-11 19:42:43,428 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 53.11 sec -2013-09-11 19:42:44,433 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 53.11 sec -2013-09-11 19:42:45,439 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 53.11 sec -2013-09-11 19:42:46,444 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 76.02 sec -2013-09-11 19:42:47,449 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 76.02 sec -2013-09-11 19:42:48,454 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 102.55 sec -2013-09-11 19:42:49,458 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 102.55 sec -2013-09-11 19:42:50,462 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 102.55 sec -2013-09-11 19:42:51,466 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 102.55 sec -2013-09-11 19:42:52,471 Stage-1 map = 100%, reduce = 46%, Cumulative CPU 102.55 sec -2013-09-11 19:42:53,475 Stage-1 map = 100%, reduce = 46%, Cumulative CPU 102.55 sec -2013-09-11 19:42:54,479 Stage-1 map = 100%, reduce = 46%, Cumulative CPU 102.55 sec -2013-09-11 19:42:55,484 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 102.55 sec -2013-09-11 19:42:57,407 Stage-1 map = 100%, reduce = 52%, Cumulative CPU 102.55 sec -2013-09-11 19:42:58,412 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 102.55 sec -2013-09-11 19:42:59,417 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 102.55 sec -2013-09-11 19:43:00,422 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 102.55 sec -2013-09-11 19:43:01,427 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 102.55 sec -2013-09-11 19:43:02,432 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 102.55 sec -2013-09-11 19:43:03,438 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 102.55 sec -2013-09-11 19:43:04,443 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 102.55 sec -2013-09-11 19:43:05,450 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 139.29 sec -2013-09-11 19:43:06,456 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 139.29 sec -2013-09-11 19:43:07,461 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 139.29 sec -2013-09-11 19:43:08,467 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 139.29 sec -2013-09-11 19:43:09,472 Stage-1 map = 100%, reduce = 83%, Cumulative CPU 139.29 sec -2013-09-11 19:43:10,477 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 139.29 sec -2013-09-11 19:43:11,487 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 139.29 sec -2013-09-11 19:43:12,493 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 139.29 sec -2013-09-11 19:43:13,498 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 139.29 sec -2013-09-11 19:43:14,503 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 139.29 sec -2013-09-11 19:43:15,508 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 139.29 sec -2013-09-11 19:43:16,514 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 151.55 sec -2013-09-11 19:43:17,625 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 151.55 sec -2013-09-11 19:43:18,631 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 151.55 sec -2013-09-11 19:43:19,637 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 151.55 sec -2013-09-11 19:43:20,642 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 151.55 sec -2013-09-11 19:43:21,646 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 151.55 sec -2013-09-11 19:43:22,850 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.64 sec -2013-09-11 19:43:23,855 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.64 sec -MapReduce Total cumulative CPU time: 2 minutes 49 seconds 640 msec -Ended Job = job_201309101627_0360 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0361 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-11 19:43:27,476 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:43:40,514 Stage-2 map = 36%, reduce = 0% -2013-09-11 19:43:49,541 Stage-2 map = 72%, reduce = 0% -2013-09-11 19:43:51,548 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 29.17 sec -2013-09-11 19:43:52,553 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 29.17 sec -2013-09-11 19:43:53,557 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 29.17 sec -2013-09-11 19:43:54,561 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 29.17 sec -2013-09-11 19:43:55,565 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 29.17 sec -2013-09-11 19:43:56,817 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 29.17 sec -2013-09-11 19:43:57,821 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 29.17 sec -2013-09-11 19:43:58,825 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.17 sec -2013-09-11 19:43:59,829 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.17 sec -2013-09-11 19:44:00,834 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.17 sec -2013-09-11 19:44:01,838 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.17 sec -2013-09-11 19:44:02,842 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.17 sec -2013-09-11 19:44:03,846 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.17 sec -2013-09-11 19:44:04,850 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.17 sec -2013-09-11 19:44:05,855 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 75.56 sec -2013-09-11 19:44:06,860 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 75.56 sec -2013-09-11 19:44:07,865 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 75.56 sec -2013-09-11 19:44:08,869 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.0 sec -2013-09-11 19:44:09,874 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.0 sec -2013-09-11 19:44:10,878 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.0 sec -2013-09-11 19:44:11,882 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.0 sec -2013-09-11 19:44:12,886 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.0 sec -2013-09-11 19:44:13,891 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.0 sec -2013-09-11 19:44:14,896 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.0 sec -2013-09-11 19:44:15,900 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.0 sec -2013-09-11 19:44:16,904 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.0 sec -2013-09-11 19:44:17,908 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 79.0 sec -2013-09-11 19:44:18,913 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 79.0 sec -2013-09-11 19:44:19,917 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 79.0 sec -2013-09-11 19:44:20,921 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 79.0 sec -2013-09-11 19:44:21,925 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 79.0 sec -2013-09-11 19:44:23,426 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 88.07 sec -2013-09-11 19:44:24,431 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 88.07 sec -2013-09-11 19:44:25,436 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 88.07 sec -MapReduce Total cumulative CPU time: 1 minutes 28 seconds 70 msec -Ended Job = job_201309101627_0361 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 169.64 sec HDFS Read: 85707829 HDFS Write: 413932232 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 88.07 sec HDFS Read: 413942944 HDFS Write: 420 SUCCESS -Total MapReduce CPU Time Spent: 4 minutes 17 seconds 710 msec -OK -Time taken: 149.238 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1184@mturlrep13_201309111944_629860670.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1658@mturlrep13_201309111944_819122527.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0362 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:44:39,567 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:44:49,606 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:44:52,619 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:44:55,633 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:44:58,646 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:45:01,658 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:45:03,673 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 25.75 sec -2013-09-11 19:45:04,680 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.01 sec -2013-09-11 19:45:05,689 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.01 sec -2013-09-11 19:45:06,695 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.01 sec -2013-09-11 19:45:07,702 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.01 sec -2013-09-11 19:45:08,708 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.01 sec -2013-09-11 19:45:09,714 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 53.01 sec -2013-09-11 19:45:10,720 Stage-1 map = 54%, reduce = 8%, Cumulative CPU 53.01 sec -2013-09-11 19:45:11,726 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:12,732 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:13,738 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:14,744 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:15,750 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:16,756 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:17,762 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:18,768 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:19,774 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:20,780 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 53.01 sec -2013-09-11 19:45:21,786 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 76.34 sec -2013-09-11 19:45:22,792 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 76.34 sec -2013-09-11 19:45:23,798 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 102.7 sec -2013-09-11 19:45:24,803 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 102.7 sec -2013-09-11 19:45:25,808 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 102.7 sec -2013-09-11 19:45:26,814 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 102.7 sec -2013-09-11 19:45:27,820 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 102.7 sec -2013-09-11 19:45:28,826 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 102.7 sec -2013-09-11 19:45:29,831 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 102.7 sec -2013-09-11 19:45:30,837 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 102.7 sec -2013-09-11 19:45:31,842 Stage-1 map = 100%, reduce = 68%, Cumulative CPU 102.7 sec -2013-09-11 19:45:33,451 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 102.7 sec -2013-09-11 19:45:34,456 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 102.7 sec -2013-09-11 19:45:35,462 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 102.7 sec -2013-09-11 19:45:36,468 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 102.7 sec -2013-09-11 19:45:37,473 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 102.7 sec -2013-09-11 19:45:38,479 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 102.7 sec -2013-09-11 19:45:39,485 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 102.7 sec -2013-09-11 19:45:40,490 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 102.7 sec -2013-09-11 19:45:41,496 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 102.7 sec -2013-09-11 19:45:42,502 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 102.7 sec -2013-09-11 19:45:43,508 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 102.7 sec -2013-09-11 19:45:44,514 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 102.7 sec -2013-09-11 19:45:45,519 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 102.7 sec -2013-09-11 19:45:46,525 Stage-1 map = 100%, reduce = 89%, Cumulative CPU 102.7 sec -2013-09-11 19:45:47,537 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 102.7 sec -2013-09-11 19:45:48,542 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 102.7 sec -2013-09-11 19:45:49,548 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 102.7 sec -2013-09-11 19:45:50,554 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 102.7 sec -2013-09-11 19:45:51,561 Stage-1 map = 100%, reduce = 99%, Cumulative CPU 134.99 sec -2013-09-11 19:45:52,567 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 168.39 sec -2013-09-11 19:45:53,572 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 168.39 sec -MapReduce Total cumulative CPU time: 2 minutes 48 seconds 390 msec -Ended Job = job_201309101627_0362 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0363 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-11 19:45:57,372 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:46:10,035 Stage-2 map = 36%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:11,039 Stage-2 map = 36%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:12,044 Stage-2 map = 36%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:13,049 Stage-2 map = 36%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:14,053 Stage-2 map = 36%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:15,058 Stage-2 map = 36%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:16,062 Stage-2 map = 36%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:17,067 Stage-2 map = 36%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:18,071 Stage-2 map = 36%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:19,076 Stage-2 map = 48%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:20,081 Stage-2 map = 72%, reduce = 0%, Cumulative CPU 19.18 sec -2013-09-11 19:46:21,086 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 37.8 sec -2013-09-11 19:46:22,091 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 37.8 sec -2013-09-11 19:46:23,095 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 37.8 sec -2013-09-11 19:46:24,100 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 37.8 sec -2013-09-11 19:46:25,104 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 37.8 sec -2013-09-11 19:46:26,109 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 37.8 sec -2013-09-11 19:46:27,115 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 37.8 sec -2013-09-11 19:46:28,120 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:29,124 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:30,128 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:31,133 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:32,138 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:33,142 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:34,147 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:35,152 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:36,157 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:37,161 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:38,166 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:39,171 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 37.8 sec -2013-09-11 19:46:40,175 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.37 sec -2013-09-11 19:46:41,180 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.37 sec -2013-09-11 19:46:42,184 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.37 sec -2013-09-11 19:46:43,189 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.37 sec -2013-09-11 19:46:44,194 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.37 sec -2013-09-11 19:46:45,198 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.37 sec -2013-09-11 19:46:46,202 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.37 sec -2013-09-11 19:46:47,207 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.37 sec -2013-09-11 19:46:48,211 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 77.37 sec -2013-09-11 19:46:49,216 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 77.37 sec -2013-09-11 19:46:50,222 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 77.37 sec -2013-09-11 19:46:51,227 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 87.68 sec -2013-09-11 19:46:52,232 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 87.68 sec -MapReduce Total cumulative CPU time: 1 minutes 27 seconds 680 msec -Ended Job = job_201309101627_0363 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 168.39 sec HDFS Read: 85707829 HDFS Write: 413932232 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 87.68 sec HDFS Read: 413942944 HDFS Write: 420 SUCCESS -Total MapReduce CPU Time Spent: 4 minutes 16 seconds 70 msec -OK -Time taken: 141.031 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5940@mturlrep13_201309111946_577038948.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6372@mturlrep13_201309111946_455901052.txt -hive> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0364 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:47:05,315 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:47:13,350 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:47:16,363 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:47:19,377 Stage-1 map = 32%, reduce = 0% -2013-09-11 19:47:22,391 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:47:25,410 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.14 sec -2013-09-11 19:47:26,416 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.14 sec -2013-09-11 19:47:27,424 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.14 sec -2013-09-11 19:47:28,430 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.14 sec -2013-09-11 19:47:29,436 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.14 sec -2013-09-11 19:47:30,442 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.14 sec -2013-09-11 19:47:31,448 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 52.14 sec -2013-09-11 19:47:32,453 Stage-1 map = 54%, reduce = 8%, Cumulative CPU 52.14 sec -2013-09-11 19:47:33,459 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:34,465 Stage-1 map = 57%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:35,470 Stage-1 map = 65%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:36,476 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:37,482 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:38,488 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:39,493 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:40,499 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:41,505 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:42,511 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 52.14 sec -2013-09-11 19:47:43,517 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 75.85 sec -2013-09-11 19:47:44,523 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 75.85 sec -2013-09-11 19:47:45,529 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 103.18 sec -2013-09-11 19:47:46,534 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 103.18 sec -2013-09-11 19:47:47,539 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 103.18 sec -2013-09-11 19:47:48,544 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 103.18 sec -2013-09-11 19:47:49,550 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 103.18 sec -2013-09-11 19:47:50,555 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 103.18 sec -2013-09-11 19:47:51,561 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 103.18 sec -2013-09-11 19:47:52,566 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 103.18 sec -2013-09-11 19:47:53,571 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 103.18 sec -2013-09-11 19:47:54,577 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 103.18 sec -2013-09-11 19:47:55,582 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 103.18 sec -2013-09-11 19:47:56,587 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 103.18 sec -2013-09-11 19:47:57,592 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 103.18 sec -2013-09-11 19:47:59,138 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 103.18 sec -2013-09-11 19:48:00,143 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 103.18 sec -2013-09-11 19:48:01,149 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 103.18 sec -2013-09-11 19:48:02,154 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 103.18 sec -2013-09-11 19:48:03,159 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 103.18 sec -2013-09-11 19:48:04,164 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 103.18 sec -2013-09-11 19:48:05,169 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 103.18 sec -2013-09-11 19:48:06,177 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 151.44 sec -2013-09-11 19:48:07,182 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 151.44 sec -2013-09-11 19:48:08,188 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 151.44 sec -2013-09-11 19:48:09,193 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 151.44 sec -2013-09-11 19:48:10,199 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 151.44 sec -2013-09-11 19:48:11,210 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 151.44 sec -2013-09-11 19:48:12,216 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 151.44 sec -2013-09-11 19:48:13,222 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 151.44 sec -2013-09-11 19:48:14,228 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.64 sec -2013-09-11 19:48:15,234 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.64 sec -2013-09-11 19:48:16,239 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.64 sec -MapReduce Total cumulative CPU time: 2 minutes 49 seconds 640 msec -Ended Job = job_201309101627_0364 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0365 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-11 19:48:18,890 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:48:32,931 Stage-2 map = 36%, reduce = 0% -2013-09-11 19:48:41,958 Stage-2 map = 72%, reduce = 0% -2013-09-11 19:48:43,966 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 29.01 sec -2013-09-11 19:48:44,971 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 29.01 sec -2013-09-11 19:48:45,976 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 29.01 sec -2013-09-11 19:48:46,981 Stage-2 map = 74%, reduce = 0%, Cumulative CPU 29.01 sec -2013-09-11 19:48:47,986 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 29.01 sec -2013-09-11 19:48:48,991 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 29.01 sec -2013-09-11 19:48:49,996 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 29.01 sec -2013-09-11 19:48:51,001 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:48:52,006 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:48:53,011 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:48:54,028 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:48:55,033 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:48:56,038 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:48:57,043 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:48:58,048 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:48:59,053 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:49:00,058 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 29.01 sec -2013-09-11 19:49:01,063 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.48 sec -2013-09-11 19:49:02,068 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.48 sec -2013-09-11 19:49:03,072 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.48 sec -2013-09-11 19:49:04,077 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.48 sec -2013-09-11 19:49:05,081 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 77.48 sec -2013-09-11 19:49:06,086 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.28 sec -2013-09-11 19:49:07,091 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.28 sec -2013-09-11 19:49:08,095 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.28 sec -2013-09-11 19:49:09,100 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 79.28 sec -2013-09-11 19:49:10,104 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 79.28 sec -2013-09-11 19:49:11,109 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 79.28 sec -2013-09-11 19:49:12,113 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 79.28 sec -2013-09-11 19:49:13,117 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 79.28 sec -2013-09-11 19:49:14,122 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 79.28 sec -2013-09-11 19:49:15,556 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 87.92 sec -2013-09-11 19:49:16,561 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 87.92 sec -MapReduce Total cumulative CPU time: 1 minutes 27 seconds 920 msec -Ended Job = job_201309101627_0365 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 169.64 sec HDFS Read: 85707829 HDFS Write: 413932232 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 87.92 sec HDFS Read: 413942944 HDFS Write: 420 SUCCESS -Total MapReduce CPU Time Spent: 4 minutes 17 seconds 560 msec -OK -Time taken: 138.703 seconds, Fetched: 10 row(s) -hive> quit; --- то же самое, но ещё и без фильтрации.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9642@mturlrep13_201309111949_27347921.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10116@mturlrep13_201309111949_204794215.txt -hive> SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0366 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:49:39,677 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:49:46,707 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:49:49,719 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:49:52,731 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:49:55,744 Stage-1 map = 39%, reduce = 0% -2013-09-11 19:49:58,755 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:50:00,769 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 27.34 sec -2013-09-11 19:50:01,775 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.01 sec -2013-09-11 19:50:02,783 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.01 sec -2013-09-11 19:50:03,789 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.01 sec -2013-09-11 19:50:04,794 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.01 sec -2013-09-11 19:50:05,800 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.01 sec -2013-09-11 19:50:06,806 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.01 sec -2013-09-11 19:50:07,812 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.01 sec -2013-09-11 19:50:08,818 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 55.01 sec -2013-09-11 19:50:09,824 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 55.01 sec -2013-09-11 19:50:10,830 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 55.01 sec -2013-09-11 19:50:11,836 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:12,841 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:13,847 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:14,853 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:15,859 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:16,864 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:17,871 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:18,877 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:19,882 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:20,888 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 55.01 sec -2013-09-11 19:50:21,893 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 79.56 sec -2013-09-11 19:50:22,898 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.88 sec -2013-09-11 19:50:23,903 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.88 sec -2013-09-11 19:50:24,909 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.88 sec -2013-09-11 19:50:25,914 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 106.88 sec -2013-09-11 19:50:26,919 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 106.88 sec -2013-09-11 19:50:27,924 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 106.88 sec -2013-09-11 19:50:28,929 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 106.88 sec -2013-09-11 19:50:29,935 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 106.88 sec -2013-09-11 19:50:32,380 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 106.88 sec -2013-09-11 19:50:34,489 Stage-1 map = 100%, reduce = 72%, Cumulative CPU 106.88 sec -2013-09-11 19:50:35,495 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 106.88 sec -2013-09-11 19:50:36,500 Stage-1 map = 100%, reduce = 77%, Cumulative CPU 106.88 sec -2013-09-11 19:50:37,506 Stage-1 map = 100%, reduce = 82%, Cumulative CPU 106.88 sec -2013-09-11 19:50:38,511 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 106.88 sec -2013-09-11 19:50:39,517 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 106.88 sec -2013-09-11 19:50:40,522 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 106.88 sec -2013-09-11 19:50:41,531 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 132.09 sec -2013-09-11 19:50:42,536 Stage-1 map = 100%, reduce = 96%, Cumulative CPU 132.09 sec -2013-09-11 19:50:43,542 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 158.78 sec -2013-09-11 19:50:44,569 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 158.78 sec -MapReduce Total cumulative CPU time: 2 minutes 38 seconds 780 msec -Ended Job = job_201309101627_0366 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0367 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-11 19:50:48,203 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:50:55,225 Stage-2 map = 25%, reduce = 0% -2013-09-11 19:50:57,233 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-11 19:50:58,238 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-11 19:50:59,243 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-11 19:51:00,248 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-11 19:51:02,193 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-11 19:51:03,198 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.37 sec -2013-09-11 19:51:04,203 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 13.37 sec -2013-09-11 19:51:05,207 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 13.37 sec -2013-09-11 19:51:06,213 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.58 sec -2013-09-11 19:51:07,218 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.58 sec -2013-09-11 19:51:08,223 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.58 sec -2013-09-11 19:51:09,227 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.58 sec -2013-09-11 19:51:10,232 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.58 sec -2013-09-11 19:51:11,237 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.58 sec -2013-09-11 19:51:12,242 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.58 sec -2013-09-11 19:51:13,591 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 37.58 sec -2013-09-11 19:51:14,596 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 37.58 sec -2013-09-11 19:51:15,601 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 43.87 sec -2013-09-11 19:51:16,606 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 43.87 sec -MapReduce Total cumulative CPU time: 43 seconds 870 msec -Ended Job = job_201309101627_0367 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 158.78 sec HDFS Read: 109451651 HDFS Write: 399298510 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 43.87 sec HDFS Read: 399308173 HDFS Write: 445 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 22 seconds 650 msec -OK -Time taken: 107.308 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13554@mturlrep13_201309111951_64701143.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13986@mturlrep13_201309111951_819836063.txt -hive> SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0368 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:51:31,116 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:51:38,143 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:51:41,156 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:51:44,168 Stage-1 map = 32%, reduce = 0% -2013-09-11 19:51:47,181 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:51:51,201 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 26.66 sec -2013-09-11 19:51:52,207 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.03 sec -2013-09-11 19:51:53,215 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.03 sec -2013-09-11 19:51:54,221 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.03 sec -2013-09-11 19:51:55,227 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.03 sec -2013-09-11 19:51:56,233 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.03 sec -2013-09-11 19:51:57,239 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.03 sec -2013-09-11 19:51:58,244 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 54.03 sec -2013-09-11 19:51:59,249 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 54.03 sec -2013-09-11 19:52:00,255 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 54.03 sec -2013-09-11 19:52:01,259 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 54.03 sec -2013-09-11 19:52:02,265 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 54.03 sec -2013-09-11 19:52:03,271 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 54.03 sec -2013-09-11 19:52:04,276 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 54.03 sec -2013-09-11 19:52:05,281 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 54.03 sec -2013-09-11 19:52:06,287 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 96.31 sec -2013-09-11 19:52:07,292 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 96.31 sec -2013-09-11 19:52:08,298 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 96.31 sec -2013-09-11 19:52:09,303 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 96.31 sec -2013-09-11 19:52:10,309 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 96.31 sec -2013-09-11 19:52:11,314 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 96.31 sec -2013-09-11 19:52:12,318 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 104.46 sec -2013-09-11 19:52:13,323 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 114.6 sec -2013-09-11 19:52:14,328 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 114.6 sec -2013-09-11 19:52:15,333 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 114.6 sec -2013-09-11 19:52:16,338 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 114.6 sec -2013-09-11 19:52:17,343 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 114.6 sec -2013-09-11 19:52:18,349 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 114.6 sec -2013-09-11 19:52:19,354 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 114.6 sec -2013-09-11 19:52:20,359 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 114.6 sec -2013-09-11 19:52:21,364 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 114.6 sec -2013-09-11 19:52:23,754 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 114.6 sec -2013-09-11 19:52:25,932 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 114.6 sec -2013-09-11 19:52:26,938 Stage-1 map = 100%, reduce = 75%, Cumulative CPU 114.6 sec -2013-09-11 19:52:27,944 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 114.6 sec -2013-09-11 19:52:28,949 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 114.6 sec -2013-09-11 19:52:29,955 Stage-1 map = 100%, reduce = 85%, Cumulative CPU 114.6 sec -2013-09-11 19:52:30,961 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 114.6 sec -2013-09-11 19:52:31,966 Stage-1 map = 100%, reduce = 94%, Cumulative CPU 114.6 sec -2013-09-11 19:52:32,974 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 137.85 sec -2013-09-11 19:52:33,979 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 159.23 sec -2013-09-11 19:52:34,984 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 159.23 sec -MapReduce Total cumulative CPU time: 2 minutes 39 seconds 230 msec -Ended Job = job_201309101627_0368 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0369 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-11 19:52:38,543 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:52:45,564 Stage-2 map = 25%, reduce = 0% -2013-09-11 19:52:48,575 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 19:52:49,579 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 19:52:50,583 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 19:52:51,588 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 19:52:52,593 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 19:52:53,597 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 19:52:54,602 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.71 sec -2013-09-11 19:52:55,607 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 13.71 sec -2013-09-11 19:52:56,611 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.61 sec -2013-09-11 19:52:57,615 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.61 sec -2013-09-11 19:52:58,619 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.61 sec -2013-09-11 19:52:59,623 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.61 sec -2013-09-11 19:53:00,627 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.61 sec -2013-09-11 19:53:01,631 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.61 sec -2013-09-11 19:53:02,635 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.61 sec -2013-09-11 19:53:03,639 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.61 sec -2013-09-11 19:53:04,644 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 37.61 sec -2013-09-11 19:53:05,647 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 37.61 sec -2013-09-11 19:53:06,652 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 44.99 sec -2013-09-11 19:53:07,656 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 44.99 sec -MapReduce Total cumulative CPU time: 44 seconds 990 msec -Ended Job = job_201309101627_0369 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 159.23 sec HDFS Read: 109451651 HDFS Write: 399298510 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 44.99 sec HDFS Read: 399308173 HDFS Write: 445 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 24 seconds 220 msec -OK -Time taken: 104.847 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16749@mturlrep13_201309111953_313353407.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_17196@mturlrep13_201309111953_1275155665.txt -hive> SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0370 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:53:21,695 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:53:28,723 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:53:31,736 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:53:34,749 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:53:37,762 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:53:42,786 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 56.41 sec -2013-09-11 19:53:43,792 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 56.41 sec -2013-09-11 19:53:44,801 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 56.41 sec -2013-09-11 19:53:45,807 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 56.41 sec -2013-09-11 19:53:46,812 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 56.41 sec -2013-09-11 19:53:47,817 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 56.41 sec -2013-09-11 19:53:48,823 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 56.41 sec -2013-09-11 19:53:49,829 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 56.41 sec -2013-09-11 19:53:50,834 Stage-1 map = 61%, reduce = 8%, Cumulative CPU 56.41 sec -2013-09-11 19:53:51,840 Stage-1 map = 61%, reduce = 8%, Cumulative CPU 56.41 sec -2013-09-11 19:53:52,846 Stage-1 map = 61%, reduce = 8%, Cumulative CPU 56.41 sec -2013-09-11 19:53:53,852 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 56.41 sec -2013-09-11 19:53:54,857 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 56.41 sec -2013-09-11 19:53:55,863 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 56.41 sec -2013-09-11 19:53:56,869 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 56.41 sec -2013-09-11 19:53:57,875 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 56.41 sec -2013-09-11 19:53:58,881 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 56.41 sec -2013-09-11 19:53:59,887 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 56.41 sec -2013-09-11 19:54:00,893 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 56.41 sec -2013-09-11 19:54:01,898 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 80.95 sec -2013-09-11 19:54:02,903 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 80.95 sec -2013-09-11 19:54:03,908 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 107.94 sec -2013-09-11 19:54:04,913 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 107.94 sec -2013-09-11 19:54:05,918 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 107.94 sec -2013-09-11 19:54:06,924 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 116.14 sec -2013-09-11 19:54:07,929 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 116.14 sec -2013-09-11 19:54:08,935 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 116.14 sec -2013-09-11 19:54:09,940 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 116.14 sec -2013-09-11 19:54:10,945 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 116.14 sec -2013-09-11 19:54:11,951 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 116.14 sec -2013-09-11 19:54:12,956 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 116.14 sec -2013-09-11 19:54:15,279 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 116.14 sec -2013-09-11 19:54:16,285 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 116.14 sec -2013-09-11 19:54:17,533 Stage-1 map = 100%, reduce = 73%, Cumulative CPU 116.14 sec -2013-09-11 19:54:18,539 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 116.14 sec -2013-09-11 19:54:19,545 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 116.14 sec -2013-09-11 19:54:20,551 Stage-1 map = 100%, reduce = 80%, Cumulative CPU 116.14 sec -2013-09-11 19:54:21,556 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 116.14 sec -2013-09-11 19:54:22,562 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 116.14 sec -2013-09-11 19:54:23,568 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 116.14 sec -2013-09-11 19:54:24,573 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 116.14 sec -2013-09-11 19:54:25,581 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 161.84 sec -2013-09-11 19:54:26,586 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 161.84 sec -MapReduce Total cumulative CPU time: 2 minutes 41 seconds 840 msec -Ended Job = job_201309101627_0370 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0371 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-11 19:54:29,028 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:54:37,052 Stage-2 map = 25%, reduce = 0% -2013-09-11 19:54:39,060 Stage-2 map = 50%, reduce = 0%, Cumulative CPU 13.75 sec -2013-09-11 19:54:40,065 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.75 sec -2013-09-11 19:54:41,070 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.75 sec -2013-09-11 19:54:42,074 Stage-2 map = 75%, reduce = 0%, Cumulative CPU 13.75 sec -2013-09-11 19:54:43,079 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.75 sec -2013-09-11 19:54:44,667 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.75 sec -2013-09-11 19:54:45,672 Stage-2 map = 87%, reduce = 0%, Cumulative CPU 13.75 sec -2013-09-11 19:54:46,677 Stage-2 map = 87%, reduce = 17%, Cumulative CPU 13.75 sec -2013-09-11 19:54:47,682 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.64 sec -2013-09-11 19:54:48,687 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.64 sec -2013-09-11 19:54:49,692 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.64 sec -2013-09-11 19:54:50,697 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.64 sec -2013-09-11 19:54:51,702 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.64 sec -2013-09-11 19:54:52,707 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.64 sec -2013-09-11 19:54:53,712 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.64 sec -2013-09-11 19:54:54,717 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.64 sec -2013-09-11 19:54:55,781 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 37.64 sec -2013-09-11 19:54:56,785 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 37.64 sec -2013-09-11 19:54:57,791 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 45.18 sec -2013-09-11 19:54:58,796 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 45.18 sec -2013-09-11 19:54:59,801 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 45.18 sec -MapReduce Total cumulative CPU time: 45 seconds 180 msec -Ended Job = job_201309101627_0371 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 161.84 sec HDFS Read: 109451651 HDFS Write: 399298510 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 45.18 sec HDFS Read: 399308173 HDFS Write: 445 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 27 seconds 20 msec -OK -Time taken: 106.335 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по URL.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20260@mturlrep13_201309111955_930446055.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_20919@mturlrep13_201309111955_1684376997.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0372 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:55:24,288 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:55:31,317 Stage-1 map = 7%, reduce = 0% -2013-09-11 19:55:34,328 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:55:37,340 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:55:40,353 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:55:43,364 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:55:48,389 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 59.66 sec -2013-09-11 19:55:49,396 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 59.66 sec -2013-09-11 19:55:50,403 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 59.66 sec -2013-09-11 19:55:51,409 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 59.66 sec -2013-09-11 19:55:52,414 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 59.66 sec -2013-09-11 19:55:53,420 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 59.66 sec -2013-09-11 19:55:54,425 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 59.66 sec -2013-09-11 19:55:55,431 Stage-1 map = 57%, reduce = 4%, Cumulative CPU 59.66 sec -2013-09-11 19:55:56,436 Stage-1 map = 57%, reduce = 4%, Cumulative CPU 59.66 sec -2013-09-11 19:55:57,443 Stage-1 map = 57%, reduce = 4%, Cumulative CPU 59.66 sec -2013-09-11 19:55:58,448 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 59.66 sec -2013-09-11 19:55:59,454 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 59.66 sec -2013-09-11 19:56:00,459 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 59.66 sec -2013-09-11 19:56:01,464 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 59.66 sec -2013-09-11 19:56:02,470 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 59.66 sec -2013-09-11 19:56:03,475 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 59.66 sec -2013-09-11 19:56:04,479 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 59.66 sec -2013-09-11 19:56:05,484 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 59.66 sec -2013-09-11 19:56:06,489 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 59.66 sec -2013-09-11 19:56:07,494 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 111.58 sec -2013-09-11 19:56:08,499 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 116.3 sec -2013-09-11 19:56:09,503 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 116.3 sec -2013-09-11 19:56:10,509 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 123.6 sec -2013-09-11 19:56:11,514 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 123.6 sec -2013-09-11 19:56:12,518 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 123.6 sec -2013-09-11 19:56:13,523 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 123.6 sec -2013-09-11 19:56:14,529 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 123.6 sec -2013-09-11 19:56:15,534 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 123.6 sec -2013-09-11 19:56:16,538 Stage-1 map = 100%, reduce = 29%, Cumulative CPU 123.6 sec -2013-09-11 19:56:18,600 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 123.6 sec -2013-09-11 19:56:19,605 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 123.6 sec -2013-09-11 19:56:20,610 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 123.6 sec -2013-09-11 19:56:21,616 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 123.6 sec -2013-09-11 19:56:22,621 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 123.6 sec -2013-09-11 19:56:23,627 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 123.6 sec -2013-09-11 19:56:24,633 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 123.6 sec -2013-09-11 19:56:25,638 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 123.6 sec -2013-09-11 19:56:26,644 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 123.6 sec -2013-09-11 19:56:27,649 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 123.6 sec -2013-09-11 19:56:28,655 Stage-1 map = 100%, reduce = 79%, Cumulative CPU 123.6 sec -2013-09-11 19:56:29,661 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 123.6 sec -2013-09-11 19:56:30,666 Stage-1 map = 100%, reduce = 84%, Cumulative CPU 123.6 sec -2013-09-11 19:56:31,672 Stage-1 map = 100%, reduce = 88%, Cumulative CPU 123.6 sec -2013-09-11 19:56:32,677 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 123.6 sec -2013-09-11 19:56:33,683 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 123.6 sec -2013-09-11 19:56:34,692 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.4 sec -2013-09-11 19:56:35,701 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.4 sec -2013-09-11 19:56:36,706 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 169.4 sec -MapReduce Total cumulative CPU time: 2 minutes 49 seconds 400 msec -Ended Job = job_201309101627_0372 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0373 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-11 19:56:39,223 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:56:47,249 Stage-2 map = 25%, reduce = 0% -2013-09-11 19:56:50,259 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 14.04 sec -2013-09-11 19:56:51,263 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 14.04 sec -2013-09-11 19:56:52,268 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 14.04 sec -2013-09-11 19:56:53,273 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.04 sec -2013-09-11 19:56:54,278 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.04 sec -2013-09-11 19:56:55,283 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.04 sec -2013-09-11 19:56:56,288 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.04 sec -2013-09-11 19:56:57,293 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 14.04 sec -2013-09-11 19:56:58,297 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 14.04 sec -2013-09-11 19:56:59,302 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.58 sec -2013-09-11 19:57:00,306 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.58 sec -2013-09-11 19:57:01,310 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.58 sec -2013-09-11 19:57:02,315 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.58 sec -2013-09-11 19:57:03,320 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.58 sec -2013-09-11 19:57:04,324 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.58 sec -2013-09-11 19:57:05,328 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.58 sec -2013-09-11 19:57:06,333 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.58 sec -2013-09-11 19:57:07,343 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 44.0 sec -2013-09-11 19:57:08,348 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.0 sec -2013-09-11 19:57:09,352 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.0 sec -2013-09-11 19:57:10,357 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.0 sec -MapReduce Total cumulative CPU time: 46 seconds 0 msec -Ended Job = job_201309101627_0373 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 169.4 sec HDFS Read: 109451651 HDFS Write: 402873759 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 46.0 sec HDFS Read: 402889658 HDFS Write: 465 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 35 seconds 400 msec -OK -Time taken: 116.435 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24131@mturlrep13_201309111957_2140771388.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24572@mturlrep13_201309111957_461782804.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0374 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:57:25,327 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:57:32,354 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:57:35,367 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:57:38,379 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:57:41,393 Stage-1 map = 36%, reduce = 0% -2013-09-11 19:57:44,406 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:57:47,423 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 57.83 sec -2013-09-11 19:57:48,429 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 57.83 sec -2013-09-11 19:57:49,437 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 57.83 sec -2013-09-11 19:57:50,443 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 57.83 sec -2013-09-11 19:57:51,449 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 57.83 sec -2013-09-11 19:57:52,455 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 57.83 sec -2013-09-11 19:57:53,460 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 57.83 sec -2013-09-11 19:57:54,466 Stage-1 map = 57%, reduce = 4%, Cumulative CPU 57.83 sec -2013-09-11 19:57:55,472 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 57.83 sec -2013-09-11 19:57:56,477 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 57.83 sec -2013-09-11 19:57:57,488 Stage-1 map = 73%, reduce = 13%, Cumulative CPU 57.83 sec -2013-09-11 19:57:58,494 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 19:57:59,500 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 19:58:00,505 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 19:58:01,511 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 19:58:02,516 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 19:58:03,522 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 19:58:04,528 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 19:58:05,534 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 19:58:06,539 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 57.83 sec -2013-09-11 19:58:07,545 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 117.68 sec -2013-09-11 19:58:08,550 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 117.68 sec -2013-09-11 19:58:09,555 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 120.18 sec -2013-09-11 19:58:10,561 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 120.18 sec -2013-09-11 19:58:11,569 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 120.18 sec -2013-09-11 19:58:12,577 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 120.18 sec -2013-09-11 19:58:13,582 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 120.18 sec -2013-09-11 19:58:14,587 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 120.18 sec -2013-09-11 19:58:15,593 Stage-1 map = 100%, reduce = 50%, Cumulative CPU 120.18 sec -2013-09-11 19:58:17,436 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 120.18 sec -2013-09-11 19:58:18,441 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 120.18 sec -2013-09-11 19:58:20,040 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 120.18 sec -2013-09-11 19:58:21,044 Stage-1 map = 100%, reduce = 74%, Cumulative CPU 120.18 sec -2013-09-11 19:58:22,050 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 120.18 sec -2013-09-11 19:58:23,055 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 120.18 sec -2013-09-11 19:58:24,060 Stage-1 map = 100%, reduce = 81%, Cumulative CPU 120.18 sec -2013-09-11 19:58:25,065 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 120.18 sec -2013-09-11 19:58:26,071 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 120.18 sec -2013-09-11 19:58:27,076 Stage-1 map = 100%, reduce = 90%, Cumulative CPU 120.18 sec -2013-09-11 19:58:28,082 Stage-1 map = 100%, reduce = 98%, Cumulative CPU 120.18 sec -2013-09-11 19:58:29,089 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 166.94 sec -2013-09-11 19:58:30,095 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 166.94 sec -MapReduce Total cumulative CPU time: 2 minutes 46 seconds 940 msec -Ended Job = job_201309101627_0374 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0375 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-11 19:58:32,596 Stage-2 map = 0%, reduce = 0% -2013-09-11 19:58:40,620 Stage-2 map = 25%, reduce = 0% -2013-09-11 19:58:43,629 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 14.59 sec -2013-09-11 19:58:44,634 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 14.59 sec -2013-09-11 19:58:45,638 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 14.59 sec -2013-09-11 19:58:47,175 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.59 sec -2013-09-11 19:58:48,180 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.59 sec -2013-09-11 19:58:49,185 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.59 sec -2013-09-11 19:58:50,189 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 14.59 sec -2013-09-11 19:58:51,194 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 14.59 sec -2013-09-11 19:58:52,199 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.13 sec -2013-09-11 19:58:53,203 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.13 sec -2013-09-11 19:58:54,208 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.13 sec -2013-09-11 19:58:55,213 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.13 sec -2013-09-11 19:58:56,217 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.13 sec -2013-09-11 19:58:57,222 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.13 sec -2013-09-11 19:58:58,227 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.13 sec -2013-09-11 19:58:59,232 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 39.13 sec -2013-09-11 19:59:00,237 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 39.13 sec -2013-09-11 19:59:01,242 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.59 sec -2013-09-11 19:59:02,248 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.59 sec -2013-09-11 19:59:03,253 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 46.59 sec -MapReduce Total cumulative CPU time: 46 seconds 590 msec -Ended Job = job_201309101627_0375 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 166.94 sec HDFS Read: 109451651 HDFS Write: 402873759 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 46.59 sec HDFS Read: 402889658 HDFS Write: 465 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 33 seconds 530 msec -OK -Time taken: 106.259 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27337@mturlrep13_201309111959_812215985.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27769@mturlrep13_201309111959_1007582094.txt -hive> SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0376 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 19:59:17,040 Stage-1 map = 0%, reduce = 0% -2013-09-11 19:59:25,072 Stage-1 map = 14%, reduce = 0% -2013-09-11 19:59:28,085 Stage-1 map = 22%, reduce = 0% -2013-09-11 19:59:31,097 Stage-1 map = 29%, reduce = 0% -2013-09-11 19:59:34,111 Stage-1 map = 43%, reduce = 0% -2013-09-11 19:59:39,135 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.82 sec -2013-09-11 19:59:40,142 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.82 sec -2013-09-11 19:59:41,150 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.82 sec -2013-09-11 19:59:42,156 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.82 sec -2013-09-11 19:59:43,161 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.82 sec -2013-09-11 19:59:44,167 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.82 sec -2013-09-11 19:59:45,174 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 55.82 sec -2013-09-11 19:59:46,180 Stage-1 map = 54%, reduce = 4%, Cumulative CPU 55.82 sec -2013-09-11 19:59:47,185 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 55.82 sec -2013-09-11 19:59:48,191 Stage-1 map = 57%, reduce = 8%, Cumulative CPU 55.82 sec -2013-09-11 19:59:49,196 Stage-1 map = 65%, reduce = 13%, Cumulative CPU 55.82 sec -2013-09-11 19:59:50,202 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 19:59:51,208 Stage-1 map = 73%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 19:59:52,214 Stage-1 map = 76%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 19:59:53,219 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 19:59:54,225 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 19:59:55,230 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 19:59:56,246 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 19:59:57,252 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 19:59:58,257 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 55.82 sec -2013-09-11 19:59:59,263 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 81.61 sec -2013-09-11 20:00:00,269 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 81.61 sec -2013-09-11 20:00:01,274 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 109.62 sec -2013-09-11 20:00:02,280 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 109.62 sec -2013-09-11 20:00:03,287 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 109.62 sec -2013-09-11 20:00:04,292 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 109.62 sec -2013-09-11 20:00:05,298 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 109.62 sec -2013-09-11 20:00:06,303 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 109.62 sec -2013-09-11 20:00:08,494 Stage-1 map = 100%, reduce = 33%, Cumulative CPU 129.4 sec -2013-09-11 20:00:09,500 Stage-1 map = 100%, reduce = 67%, Cumulative CPU 129.4 sec -2013-09-11 20:00:10,505 Stage-1 map = 100%, reduce = 69%, Cumulative CPU 129.4 sec -2013-09-11 20:00:11,511 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 129.4 sec -2013-09-11 20:00:12,517 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 129.4 sec -2013-09-11 20:00:13,522 Stage-1 map = 100%, reduce = 70%, Cumulative CPU 129.4 sec -2013-09-11 20:00:14,528 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 129.4 sec -2013-09-11 20:00:15,533 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 129.4 sec -2013-09-11 20:00:16,539 Stage-1 map = 100%, reduce = 78%, Cumulative CPU 129.4 sec -2013-09-11 20:00:17,545 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 129.4 sec -2013-09-11 20:00:18,551 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 129.4 sec -2013-09-11 20:00:19,559 Stage-1 map = 100%, reduce = 87%, Cumulative CPU 129.4 sec -2013-09-11 20:00:20,564 Stage-1 map = 100%, reduce = 95%, Cumulative CPU 129.4 sec -2013-09-11 20:00:21,572 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 146.62 sec -2013-09-11 20:00:22,578 Stage-1 map = 100%, reduce = 97%, Cumulative CPU 146.62 sec -2013-09-11 20:00:23,583 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 164.63 sec -2013-09-11 20:00:24,588 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 164.63 sec -MapReduce Total cumulative CPU time: 2 minutes 44 seconds 630 msec -Ended Job = job_201309101627_0376 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0377 -Hadoop job information for Stage-2: number of mappers: 2; number of reducers: 1 -2013-09-11 20:00:27,378 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:00:35,403 Stage-2 map = 25%, reduce = 0% -2013-09-11 20:00:38,414 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-11 20:00:39,419 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-11 20:00:40,424 Stage-2 map = 62%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-11 20:00:41,430 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-11 20:00:42,587 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-11 20:00:43,592 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-11 20:00:44,598 Stage-2 map = 88%, reduce = 0%, Cumulative CPU 13.92 sec -2013-09-11 20:00:45,602 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 13.92 sec -2013-09-11 20:00:46,607 Stage-2 map = 88%, reduce = 17%, Cumulative CPU 13.92 sec -2013-09-11 20:00:47,612 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.24 sec -2013-09-11 20:00:48,616 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.24 sec -2013-09-11 20:00:49,621 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.24 sec -2013-09-11 20:00:50,626 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.24 sec -2013-09-11 20:00:51,631 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.24 sec -2013-09-11 20:00:52,636 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.24 sec -2013-09-11 20:00:53,641 Stage-2 map = 100%, reduce = 17%, Cumulative CPU 38.24 sec -2013-09-11 20:00:54,646 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 38.24 sec -2013-09-11 20:00:55,651 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 38.24 sec -2013-09-11 20:00:56,656 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 45.8 sec -2013-09-11 20:00:57,662 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 45.8 sec -MapReduce Total cumulative CPU time: 45 seconds 800 msec -Ended Job = job_201309101627_0377 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 164.63 sec HDFS Read: 109451651 HDFS Write: 402873759 SUCCESS -Job 1: Map: 2 Reduce: 1 Cumulative CPU: 45.8 sec HDFS Read: 402889658 HDFS Write: 465 SUCCESS -Total MapReduce CPU Time Spent: 3 minutes 30 seconds 430 msec -OK -Time taken: 108.254 seconds, Fetched: 10 row(s) -hive> quit; --- агрегация по URL и числу.; - -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31307@mturlrep13_201309112001_502707874.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_31761@mturlrep13_201309112001_1366550388.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0378 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:01:22,869 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:01:29,898 Stage-1 map = 29%, reduce = 0% -2013-09-11 20:01:32,911 Stage-1 map = 43%, reduce = 0% -2013-09-11 20:01:33,921 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 15.13 sec -2013-09-11 20:01:34,929 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.89 sec -2013-09-11 20:01:35,937 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.89 sec -2013-09-11 20:01:36,944 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.89 sec -2013-09-11 20:01:37,951 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.89 sec -2013-09-11 20:01:38,957 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.89 sec -2013-09-11 20:01:39,962 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.89 sec -2013-09-11 20:01:40,968 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 29.89 sec -2013-09-11 20:01:41,974 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 29.89 sec -2013-09-11 20:01:42,980 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 29.89 sec -2013-09-11 20:01:43,986 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 29.89 sec -2013-09-11 20:01:44,992 Stage-1 map = 96%, reduce = 17%, Cumulative CPU 29.89 sec -2013-09-11 20:01:45,998 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 60.94 sec -2013-09-11 20:01:47,004 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 60.94 sec -2013-09-11 20:01:48,009 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 60.94 sec -2013-09-11 20:01:49,015 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 60.94 sec -2013-09-11 20:01:50,020 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 60.94 sec -2013-09-11 20:01:51,026 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 60.94 sec -2013-09-11 20:01:52,032 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 60.94 sec -2013-09-11 20:01:53,040 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 62.99 sec -2013-09-11 20:01:54,046 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 62.99 sec -2013-09-11 20:01:55,052 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 62.99 sec -2013-09-11 20:01:56,066 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 62.99 sec -2013-09-11 20:01:57,072 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 62.99 sec -2013-09-11 20:01:58,078 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 62.99 sec -2013-09-11 20:01:59,084 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 73.53 sec -2013-09-11 20:02:00,090 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 73.53 sec -MapReduce Total cumulative CPU time: 1 minutes 13 seconds 530 msec -Ended Job = job_201309101627_0378 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0379 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:02:02,569 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:02:14,605 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.88 sec -2013-09-11 20:02:15,610 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.88 sec -2013-09-11 20:02:16,615 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.88 sec -2013-09-11 20:02:17,620 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.88 sec -2013-09-11 20:02:18,625 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.88 sec -2013-09-11 20:02:19,630 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.88 sec -2013-09-11 20:02:20,635 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.88 sec -2013-09-11 20:02:21,641 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.88 sec -2013-09-11 20:02:22,646 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.88 sec -2013-09-11 20:02:23,651 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.04 sec -2013-09-11 20:02:24,656 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.04 sec -2013-09-11 20:02:25,661 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 20.04 sec -MapReduce Total cumulative CPU time: 20 seconds 40 msec -Ended Job = job_201309101627_0379 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 73.53 sec HDFS Read: 31344843 HDFS Write: 51717050 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 20.04 sec HDFS Read: 51717819 HDFS Write: 490 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 33 seconds 570 msec -OK -Time taken: 72.762 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1702@mturlrep13_201309112002_1101587188.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_2174@mturlrep13_201309112002_314206404.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0380 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:02:38,506 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:02:46,538 Stage-1 map = 32%, reduce = 0% -2013-09-11 20:02:49,550 Stage-1 map = 43%, reduce = 0% -2013-09-11 20:02:50,562 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.29 sec -2013-09-11 20:02:51,569 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.29 sec -2013-09-11 20:02:52,577 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.29 sec -2013-09-11 20:02:53,583 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.29 sec -2013-09-11 20:02:54,590 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.29 sec -2013-09-11 20:02:55,596 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.29 sec -2013-09-11 20:02:56,602 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 30.29 sec -2013-09-11 20:02:57,608 Stage-1 map = 68%, reduce = 8%, Cumulative CPU 30.29 sec -2013-09-11 20:02:58,613 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 30.29 sec -2013-09-11 20:02:59,618 Stage-1 map = 88%, reduce = 17%, Cumulative CPU 30.29 sec -2013-09-11 20:03:00,623 Stage-1 map = 92%, reduce = 17%, Cumulative CPU 30.29 sec -2013-09-11 20:03:01,628 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 61.31 sec -2013-09-11 20:03:02,633 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 61.31 sec -2013-09-11 20:03:03,638 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 61.31 sec -2013-09-11 20:03:04,644 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 61.31 sec -2013-09-11 20:03:05,649 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 61.31 sec -2013-09-11 20:03:06,654 Stage-1 map = 100%, reduce = 21%, Cumulative CPU 61.31 sec -2013-09-11 20:03:07,661 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 63.28 sec -2013-09-11 20:03:08,669 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 64.61 sec -2013-09-11 20:03:09,675 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 64.61 sec -2013-09-11 20:03:10,680 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 64.61 sec -2013-09-11 20:03:11,685 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 64.61 sec -2013-09-11 20:03:12,691 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 64.61 sec -2013-09-11 20:03:13,696 Stage-1 map = 100%, reduce = 93%, Cumulative CPU 64.61 sec -2013-09-11 20:03:14,702 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 74.03 sec -2013-09-11 20:03:15,708 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 74.03 sec -2013-09-11 20:03:16,713 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 74.03 sec -MapReduce Total cumulative CPU time: 1 minutes 14 seconds 30 msec -Ended Job = job_201309101627_0380 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0381 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:03:20,309 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:03:31,341 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.54 sec -2013-09-11 20:03:32,346 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.54 sec -2013-09-11 20:03:33,351 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.54 sec -2013-09-11 20:03:34,355 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.54 sec -2013-09-11 20:03:35,361 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.54 sec -2013-09-11 20:03:36,365 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.54 sec -2013-09-11 20:03:37,370 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.54 sec -2013-09-11 20:03:38,375 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.54 sec -2013-09-11 20:03:39,380 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.54 sec -2013-09-11 20:03:40,385 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.84 sec -2013-09-11 20:03:41,392 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.84 sec -2013-09-11 20:03:42,397 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.84 sec -MapReduce Total cumulative CPU time: 19 seconds 840 msec -Ended Job = job_201309101627_0381 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 74.03 sec HDFS Read: 31344843 HDFS Write: 51717050 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 19.84 sec HDFS Read: 51717819 HDFS Write: 490 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 33 seconds 870 msec -OK -Time taken: 71.2 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4511@mturlrep13_201309112003_47105365.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5089@mturlrep13_201309112003_1512209035.txt -hive> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0382 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:03:55,705 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:04:03,735 Stage-1 map = 29%, reduce = 0% -2013-09-11 20:04:06,747 Stage-1 map = 43%, reduce = 0% -2013-09-11 20:04:07,758 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.07 sec -2013-09-11 20:04:08,765 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.07 sec -2013-09-11 20:04:09,773 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.07 sec -2013-09-11 20:04:10,780 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.07 sec -2013-09-11 20:04:11,786 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.07 sec -2013-09-11 20:04:12,792 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.07 sec -2013-09-11 20:04:13,797 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.07 sec -2013-09-11 20:04:14,802 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 31.07 sec -2013-09-11 20:04:15,808 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 31.07 sec -2013-09-11 20:04:16,813 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 31.07 sec -2013-09-11 20:04:17,818 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 31.07 sec -2013-09-11 20:04:18,824 Stage-1 map = 97%, reduce = 17%, Cumulative CPU 46.19 sec -2013-09-11 20:04:19,829 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.28 sec -2013-09-11 20:04:20,835 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.28 sec -2013-09-11 20:04:21,840 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.28 sec -2013-09-11 20:04:22,845 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.28 sec -2013-09-11 20:04:23,851 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 63.28 sec -2013-09-11 20:04:24,857 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 63.28 sec -2013-09-11 20:04:25,863 Stage-1 map = 100%, reduce = 25%, Cumulative CPU 63.28 sec -2013-09-11 20:04:26,870 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 65.42 sec -2013-09-11 20:04:27,876 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 65.42 sec -2013-09-11 20:04:28,880 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 65.42 sec -2013-09-11 20:04:29,886 Stage-1 map = 100%, reduce = 63%, Cumulative CPU 65.42 sec -2013-09-11 20:04:30,891 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 65.42 sec -2013-09-11 20:04:31,896 Stage-1 map = 100%, reduce = 92%, Cumulative CPU 65.42 sec -2013-09-11 20:04:32,902 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 76.37 sec -2013-09-11 20:04:33,908 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 76.37 sec -MapReduce Total cumulative CPU time: 1 minutes 16 seconds 370 msec -Ended Job = job_201309101627_0382 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0383 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:04:36,402 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:04:48,438 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.09 sec -2013-09-11 20:04:49,443 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.09 sec -2013-09-11 20:04:50,448 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.09 sec -2013-09-11 20:04:51,452 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.09 sec -2013-09-11 20:04:52,456 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.09 sec -2013-09-11 20:04:53,461 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.09 sec -2013-09-11 20:04:54,466 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 15.09 sec -2013-09-11 20:04:55,471 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.09 sec -2013-09-11 20:04:56,476 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 15.09 sec -2013-09-11 20:04:57,481 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.29 sec -2013-09-11 20:04:58,486 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 19.29 sec -MapReduce Total cumulative CPU time: 19 seconds 290 msec -Ended Job = job_201309101627_0383 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 76.37 sec HDFS Read: 31344843 HDFS Write: 51717050 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 19.29 sec HDFS Read: 51717819 HDFS Write: 490 SUCCESS -Total MapReduce CPU Time Spent: 1 minutes 35 seconds 660 msec -OK -Time taken: 70.36 seconds, Fetched: 10 row(s) -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_7537@mturlrep13_201309112005_898269574.txt -hive> ; -hive> quit; - -times: 1 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8303@mturlrep13_201309112005_242909153.txt -hive> ; -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8520@mturlrep13_201309112005_740096707.txt -hive> ; -hive> quit; - -times: 2 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9324@mturlrep13_201309112005_1365009510.txt -hive> ; -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9538@mturlrep13_201309112005_81537852.txt -hive> ; -hive> quit; - -times: 3 -query: -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9966@mturlrep13_201309112005_1125410388.txt -hive> ; -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10208@mturlrep13_201309112005_1554289038.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_10658@mturlrep13_201309112005_874745706.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0384 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:05:43,792 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:05:50,819 Stage-1 map = 32%, reduce = 0% -2013-09-11 20:05:52,837 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.84 sec -2013-09-11 20:05:53,845 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.84 sec -2013-09-11 20:05:54,853 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.84 sec -2013-09-11 20:05:55,859 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.84 sec -2013-09-11 20:05:56,866 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.84 sec -2013-09-11 20:05:57,873 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.84 sec -2013-09-11 20:05:58,880 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.84 sec -2013-09-11 20:05:59,885 Stage-1 map = 80%, reduce = 17%, Cumulative CPU 18.84 sec -2013-09-11 20:06:00,891 Stage-1 map = 89%, reduce = 17%, Cumulative CPU 27.75 sec -2013-09-11 20:06:01,896 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.3 sec -2013-09-11 20:06:02,902 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.3 sec -2013-09-11 20:06:03,907 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.3 sec -2013-09-11 20:06:04,913 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.3 sec -2013-09-11 20:06:05,920 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.53 sec -2013-09-11 20:06:06,926 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.53 sec -2013-09-11 20:06:07,932 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.53 sec -MapReduce Total cumulative CPU time: 41 seconds 530 msec -Ended Job = job_201309101627_0384 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0385 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:06:10,591 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:06:12,599 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-11 20:06:13,604 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-11 20:06:14,609 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-11 20:06:15,614 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-11 20:06:16,618 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-11 20:06:17,622 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-11 20:06:18,627 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-11 20:06:19,633 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.74 sec -2013-09-11 20:06:20,638 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -2013-09-11 20:06:21,644 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.08 sec -MapReduce Total cumulative CPU time: 2 seconds 80 msec -Ended Job = job_201309101627_0385 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.53 sec HDFS Read: 118784021 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.08 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 610 msec -OK -Time taken: 47.898 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13025@mturlrep13_201309112006_366484138.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_13471@mturlrep13_201309112006_1061969476.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0386 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:06:36,447 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:06:43,482 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 9.43 sec -2013-09-11 20:06:44,489 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.35 sec -2013-09-11 20:06:45,496 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.35 sec -2013-09-11 20:06:46,503 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.35 sec -2013-09-11 20:06:47,508 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.35 sec -2013-09-11 20:06:48,514 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.35 sec -2013-09-11 20:06:49,520 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.35 sec -2013-09-11 20:06:50,526 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.35 sec -2013-09-11 20:06:51,533 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.7 sec -2013-09-11 20:06:52,538 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.7 sec -2013-09-11 20:06:53,543 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.7 sec -2013-09-11 20:06:54,548 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.7 sec -2013-09-11 20:06:55,554 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.7 sec -2013-09-11 20:06:56,560 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.7 sec -2013-09-11 20:06:57,568 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.93 sec -2013-09-11 20:06:58,810 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.93 sec -MapReduce Total cumulative CPU time: 41 seconds 930 msec -Ended Job = job_201309101627_0386 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0387 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:07:01,348 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:07:03,357 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-11 20:07:04,362 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-11 20:07:05,367 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-11 20:07:06,371 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-11 20:07:07,376 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-11 20:07:08,381 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-11 20:07:09,387 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.71 sec -2013-09-11 20:07:10,392 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.71 sec -2013-09-11 20:07:11,397 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -2013-09-11 20:07:12,402 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.1 sec -MapReduce Total cumulative CPU time: 2 seconds 100 msec -Ended Job = job_201309101627_0387 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.93 sec HDFS Read: 118784021 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.1 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 30 msec -OK -Time taken: 44.248 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_15787@mturlrep13_201309112007_1440494394.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_16251@mturlrep13_201309112007_1706863363.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0388 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:07:26,087 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:07:34,130 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 9.01 sec -2013-09-11 20:07:35,137 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.94 sec -2013-09-11 20:07:36,145 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.94 sec -2013-09-11 20:07:37,152 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.94 sec -2013-09-11 20:07:38,158 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.94 sec -2013-09-11 20:07:39,165 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.94 sec -2013-09-11 20:07:40,172 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.94 sec -2013-09-11 20:07:41,179 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.94 sec -2013-09-11 20:07:42,185 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.34 sec -2013-09-11 20:07:43,190 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.34 sec -2013-09-11 20:07:44,195 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.34 sec -2013-09-11 20:07:45,201 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.34 sec -2013-09-11 20:07:46,206 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.34 sec -2013-09-11 20:07:47,214 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 39.41 sec -2013-09-11 20:07:48,220 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.49 sec -2013-09-11 20:07:49,226 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.49 sec -MapReduce Total cumulative CPU time: 41 seconds 490 msec -Ended Job = job_201309101627_0388 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0389 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:07:51,717 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:07:53,726 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-11 20:07:54,731 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-11 20:07:55,737 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-11 20:07:56,742 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-11 20:07:57,747 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-11 20:07:58,752 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-11 20:07:59,757 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.91 sec -2013-09-11 20:08:00,763 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.91 sec -2013-09-11 20:08:01,768 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.27 sec -2013-09-11 20:08:02,774 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.27 sec -2013-09-11 20:08:03,780 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.27 sec -MapReduce Total cumulative CPU time: 2 seconds 270 msec -Ended Job = job_201309101627_0389 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.49 sec HDFS Read: 118784021 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.27 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 760 msec -OK -Time taken: 45.022 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_18797@mturlrep13_201309112008_775683828.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_19297@mturlrep13_201309112008_761964500.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0390 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:08:25,097 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:08:32,126 Stage-1 map = 36%, reduce = 0% -2013-09-11 20:08:34,143 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 20:08:35,151 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 20:08:36,159 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 20:08:37,166 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 20:08:38,172 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 20:08:39,181 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 20:08:40,191 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.7 sec -2013-09-11 20:08:41,197 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 18.7 sec -2013-09-11 20:08:42,203 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 27.69 sec -2013-09-11 20:08:43,208 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.14 sec -2013-09-11 20:08:44,214 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.14 sec -2013-09-11 20:08:45,219 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.14 sec -2013-09-11 20:08:46,227 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.14 sec -2013-09-11 20:08:47,235 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.23 sec -2013-09-11 20:08:48,242 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.23 sec -2013-09-11 20:08:49,248 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.23 sec -MapReduce Total cumulative CPU time: 41 seconds 230 msec -Ended Job = job_201309101627_0390 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0391 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:08:51,794 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:08:53,820 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-11 20:08:54,826 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-11 20:08:55,832 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-11 20:08:56,836 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-11 20:08:57,842 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-11 20:08:58,848 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-11 20:08:59,853 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.72 sec -2013-09-11 20:09:00,858 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.72 sec -2013-09-11 20:09:01,864 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.02 sec -2013-09-11 20:09:02,870 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.02 sec -MapReduce Total cumulative CPU time: 2 seconds 20 msec -Ended Job = job_201309101627_0391 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.23 sec HDFS Read: 115339269 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.02 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 250 msec -OK -Time taken: 47.69 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21543@mturlrep13_201309112009_592955581.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_21971@mturlrep13_201309112009_2025172247.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0392 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:09:16,753 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:09:23,786 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 9.28 sec -2013-09-11 20:09:24,794 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.17 sec -2013-09-11 20:09:25,802 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.17 sec -2013-09-11 20:09:26,809 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.17 sec -2013-09-11 20:09:27,816 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.17 sec -2013-09-11 20:09:28,823 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.17 sec -2013-09-11 20:09:29,829 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.17 sec -2013-09-11 20:09:30,835 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.17 sec -2013-09-11 20:09:31,842 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 20:09:32,847 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 20:09:33,853 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 20:09:34,858 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 20:09:35,864 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 20:09:36,870 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.06 sec -2013-09-11 20:09:37,877 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.27 sec -2013-09-11 20:09:38,884 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.27 sec -MapReduce Total cumulative CPU time: 41 seconds 270 msec -Ended Job = job_201309101627_0392 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0393 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:09:42,378 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:09:43,384 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-11 20:09:44,390 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-11 20:09:45,395 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-11 20:09:46,400 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-11 20:09:47,405 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-11 20:09:48,410 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-11 20:09:49,415 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-11 20:09:50,420 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.83 sec -2013-09-11 20:09:51,426 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-11 20:09:52,432 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-11 20:09:53,437 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -MapReduce Total cumulative CPU time: 2 seconds 200 msec -Ended Job = job_201309101627_0393 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.27 sec HDFS Read: 115339269 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.2 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 470 msec -OK -Time taken: 44.993 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24204@mturlrep13_201309112009_1407745219.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_24634@mturlrep13_201309112009_1617977624.txt -hive> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0394 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:10:07,429 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:10:14,464 Stage-1 map = 46%, reduce = 0%, Cumulative CPU 9.2 sec -2013-09-11 20:10:15,472 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 20:10:16,480 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 20:10:17,486 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 20:10:18,492 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 20:10:19,499 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 20:10:20,505 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 20:10:21,511 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.91 sec -2013-09-11 20:10:22,517 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.24 sec -2013-09-11 20:10:23,523 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.24 sec -2013-09-11 20:10:24,528 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.24 sec -2013-09-11 20:10:25,533 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.24 sec -2013-09-11 20:10:26,539 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.24 sec -2013-09-11 20:10:27,544 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.24 sec -2013-09-11 20:10:28,552 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.33 sec -2013-09-11 20:10:29,557 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.33 sec -MapReduce Total cumulative CPU time: 41 seconds 330 msec -Ended Job = job_201309101627_0394 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0395 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:10:33,096 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:10:34,102 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-11 20:10:35,108 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-11 20:10:36,113 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-11 20:10:37,118 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-11 20:10:38,123 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-11 20:10:39,127 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-11 20:10:40,132 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-11 20:10:41,137 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.69 sec -2013-09-11 20:10:42,143 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.09 sec -2013-09-11 20:10:43,148 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.09 sec -2013-09-11 20:10:44,154 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.09 sec -MapReduce Total cumulative CPU time: 2 seconds 90 msec -Ended Job = job_201309101627_0395 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.33 sec HDFS Read: 115339269 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.09 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 420 msec -OK -Time taken: 45.13 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_27651@mturlrep13_201309112010_413283612.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_28105@mturlrep13_201309112010_1811330810.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0396 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:11:08,317 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:11:15,347 Stage-1 map = 32%, reduce = 0% -2013-09-11 20:11:17,363 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.33 sec -2013-09-11 20:11:18,371 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.33 sec -2013-09-11 20:11:19,380 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.33 sec -2013-09-11 20:11:20,386 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.33 sec -2013-09-11 20:11:21,393 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.33 sec -2013-09-11 20:11:22,399 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.33 sec -2013-09-11 20:11:23,406 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.33 sec -2013-09-11 20:11:24,413 Stage-1 map = 68%, reduce = 8%, Cumulative CPU 19.33 sec -2013-09-11 20:11:25,420 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 19.33 sec -2013-09-11 20:11:26,427 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 20:11:27,432 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 20:11:28,438 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 20:11:29,443 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 37.65 sec -2013-09-11 20:11:30,451 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.61 sec -2013-09-11 20:11:31,458 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.61 sec -2013-09-11 20:11:32,464 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 41.61 sec -MapReduce Total cumulative CPU time: 41 seconds 610 msec -Ended Job = job_201309101627_0396 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0397 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:11:34,967 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:11:36,976 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 20:11:37,981 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 20:11:38,986 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 20:11:39,990 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 20:11:40,995 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 20:11:42,000 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 20:11:43,038 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.77 sec -2013-09-11 20:11:44,044 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.77 sec -2013-09-11 20:11:45,050 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.18 sec -2013-09-11 20:11:46,056 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.18 sec -2013-09-11 20:11:47,062 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.18 sec -MapReduce Total cumulative CPU time: 2 seconds 180 msec -Ended Job = job_201309101627_0397 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 41.61 sec HDFS Read: 118662691 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.18 sec HDFS Read: 959 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 43 seconds 790 msec -OK -Time taken: 48.915 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30480@mturlrep13_201309112011_933995601.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_30907@mturlrep13_201309112011_251050369.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0398 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:12:01,259 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:12:08,296 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 20:12:09,304 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 20:12:10,313 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 20:12:11,320 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 20:12:12,326 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 20:12:13,333 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 20:12:14,339 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 20:12:15,346 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.56 sec -2013-09-11 20:12:16,352 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.26 sec -2013-09-11 20:12:17,358 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.26 sec -2013-09-11 20:12:18,363 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.26 sec -2013-09-11 20:12:19,368 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.26 sec -2013-09-11 20:12:20,373 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.26 sec -2013-09-11 20:12:21,379 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 36.26 sec -2013-09-11 20:12:22,387 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.33 sec -2013-09-11 20:12:23,393 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.33 sec -MapReduce Total cumulative CPU time: 40 seconds 330 msec -Ended Job = job_201309101627_0398 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0399 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:12:26,898 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:12:27,903 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:12:28,909 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:12:29,915 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:12:30,920 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:12:31,925 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:12:32,929 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:12:33,934 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:12:34,939 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:12:35,944 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -2013-09-11 20:12:36,950 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -2013-09-11 20:12:37,956 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.25 sec -MapReduce Total cumulative CPU time: 2 seconds 250 msec -Ended Job = job_201309101627_0399 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 40.33 sec HDFS Read: 118662691 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.25 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 42 seconds 580 msec -OK -Time taken: 45.122 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_782@mturlrep13_201309112012_979888029.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_1252@mturlrep13_201309112012_1568189503.txt -hive> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0400 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:12:51,075 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:12:59,115 Stage-1 map = 43%, reduce = 0%, Cumulative CPU 9.84 sec -2013-09-11 20:13:00,123 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.99 sec -2013-09-11 20:13:01,130 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.99 sec -2013-09-11 20:13:02,136 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.99 sec -2013-09-11 20:13:03,142 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.99 sec -2013-09-11 20:13:04,149 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.99 sec -2013-09-11 20:13:05,156 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.99 sec -2013-09-11 20:13:06,163 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.99 sec -2013-09-11 20:13:07,169 Stage-1 map = 93%, reduce = 17%, Cumulative CPU 28.64 sec -2013-09-11 20:13:08,176 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 20:13:09,181 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 20:13:10,188 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 20:13:11,193 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 39.72 sec -2013-09-11 20:13:12,201 Stage-1 map = 100%, reduce = 58%, Cumulative CPU 41.17 sec -2013-09-11 20:13:13,208 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.56 sec -2013-09-11 20:13:14,214 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.56 sec -MapReduce Total cumulative CPU time: 42 seconds 560 msec -Ended Job = job_201309101627_0400 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0401 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:13:16,674 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:13:18,684 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.8 sec -2013-09-11 20:13:19,689 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.8 sec -2013-09-11 20:13:20,695 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.8 sec -2013-09-11 20:13:21,700 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.8 sec -2013-09-11 20:13:22,705 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.8 sec -2013-09-11 20:13:23,711 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.8 sec -2013-09-11 20:13:24,716 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.8 sec -2013-09-11 20:13:25,721 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.8 sec -2013-09-11 20:13:26,727 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-11 20:13:27,734 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -2013-09-11 20:13:28,740 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.2 sec -MapReduce Total cumulative CPU time: 2 seconds 200 msec -Ended Job = job_201309101627_0401 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.56 sec HDFS Read: 118662691 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.2 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 760 msec -OK -Time taken: 44.996 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_3657@mturlrep13_201309112013_152749800.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4123@mturlrep13_201309112013_250715100.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; ; -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4384@mturlrep13_201309112013_11229958.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_4967@mturlrep13_201309112013_1609437791.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; ; -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5327@mturlrep13_201309112013_984749990.txt -hive> ; -hive> quit; - -times: 3 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_5791@mturlrep13_201309112014_528239556.txt -hive> SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; ; -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6065@mturlrep13_201309112014_1043898379.txt -hive> ; -hive> quit; - -times: 1 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_6531@mturlrep13_201309112014_1491442849.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0402 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:14:25,167 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:14:32,197 Stage-1 map = 36%, reduce = 0% -2013-09-11 20:14:33,208 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.37 sec -2013-09-11 20:14:34,216 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.37 sec -2013-09-11 20:14:35,224 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.37 sec -2013-09-11 20:14:36,231 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.37 sec -2013-09-11 20:14:37,237 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.37 sec -2013-09-11 20:14:38,243 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.37 sec -2013-09-11 20:14:39,250 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.37 sec -2013-09-11 20:14:40,257 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 19.37 sec -2013-09-11 20:14:41,263 Stage-1 map = 84%, reduce = 17%, Cumulative CPU 19.37 sec -2013-09-11 20:14:42,271 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.01 sec -2013-09-11 20:14:43,276 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.01 sec -2013-09-11 20:14:44,282 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.01 sec -2013-09-11 20:14:45,287 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.01 sec -2013-09-11 20:14:46,293 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 38.01 sec -2013-09-11 20:14:47,301 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.21 sec -2013-09-11 20:14:48,308 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 42.21 sec -MapReduce Total cumulative CPU time: 42 seconds 210 msec -Ended Job = job_201309101627_0402 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0403 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:14:50,774 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:14:52,782 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:14:53,788 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:14:54,792 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:14:55,797 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:14:56,802 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:14:57,807 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:14:58,813 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.75 sec -2013-09-11 20:14:59,819 Stage-2 map = 100%, reduce = 33%, Cumulative CPU 0.75 sec -2013-09-11 20:15:00,824 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -2013-09-11 20:15:01,831 Stage-2 map = 100%, reduce = 100%, Cumulative CPU 2.13 sec -MapReduce Total cumulative CPU time: 2 seconds 130 msec -Ended Job = job_201309101627_0403 -MapReduce Jobs Launched: -Job 0: Map: 4 Reduce: 2 Cumulative CPU: 42.21 sec HDFS Read: 148406904 HDFS Write: 192 SUCCESS -Job 1: Map: 1 Reduce: 1 Cumulative CPU: 2.13 sec HDFS Read: 961 HDFS Write: 0 SUCCESS -Total MapReduce CPU Time Spent: 44 seconds 340 msec -OK -Time taken: 46.841 seconds -hive> quit; -status -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_8933@mturlrep13_201309112015_1862976498.txt -hive> ; -hive> quit; - -times: 2 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn hive - -Logging initialized using configuration in file:/opt/hive/conf/hive-log4j.properties -Hive history file=/tmp/kartavyy/hive_job_log_kartavyy_9402@mturlrep13_201309112015_389918397.txt -hive> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; ; -Total MapReduce jobs = 2 -Launching Job 1 out of 2 -Number of reduce tasks not specified. Estimated from input data size: 2 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0404 -Hadoop job information for Stage-1: number of mappers: 4; number of reducers: 2 -2013-09-11 20:15:15,126 Stage-1 map = 0%, reduce = 0% -2013-09-11 20:15:23,165 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.36 sec -2013-09-11 20:15:24,174 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.36 sec -2013-09-11 20:15:25,181 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.36 sec -2013-09-11 20:15:26,188 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.36 sec -2013-09-11 20:15:27,195 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.36 sec -2013-09-11 20:15:28,201 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.36 sec -2013-09-11 20:15:29,208 Stage-1 map = 50%, reduce = 0%, Cumulative CPU 18.36 sec -2013-09-11 20:15:30,214 Stage-1 map = 97%, reduce = 8%, Cumulative CPU 26.7 sec -2013-09-11 20:15:31,220 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.89 sec -2013-09-11 20:15:32,226 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.89 sec -2013-09-11 20:15:33,231 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.89 sec -2013-09-11 20:15:34,237 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.89 sec -2013-09-11 20:15:35,243 Stage-1 map = 100%, reduce = 17%, Cumulative CPU 35.89 sec -2013-09-11 20:15:36,251 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.1 sec -2013-09-11 20:15:37,257 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.1 sec -2013-09-11 20:15:38,263 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 40.1 sec -MapReduce Total cumulative CPU time: 40 seconds 100 msec -Ended Job = job_201309101627_0404 -Launching Job 2 out of 2 -Number of reduce tasks determined at compile time: 1 -In order to change the average load for a reducer (in bytes): - set hive.exec.reducers.bytes.per.reducer= -In order to limit the maximum number of reducers: - set hive.exec.reducers.max= -In order to set a constant number of reducers: - set mapred.reduce.tasks= -Kill Command = /usr/libexec/../bin/hadoop job -kill job_201309101627_0405 -Hadoop job information for Stage-2: number of mappers: 1; number of reducers: 1 -2013-09-11 20:15:40,779 Stage-2 map = 0%, reduce = 0% -2013-09-11 20:15:42,789 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec -2013-09-11 20:15:43,794 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 0.74 sec diff --git a/benchmark/hive/queries.sql b/benchmark/hive/queries.sql deleted file mode 100644 index e48aa7057d8..00000000000 --- a/benchmark/hive/queries.sql +++ /dev/null @@ -1,109 +0,0 @@ -SELECT count(*) FROM hits_10m; -SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -SELECT sum(UserID) FROM hits_10m; -SELECT count(DISTINCT UserID) FROM hits_10m; -SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -SELECT min(EventDate), max(EventDate) FROM hits_10m; - -SELECT AdvEngineID, count(*) AS c FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY c DESC; --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; --- агрегация, среднее количество ключей.; - -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY c DESC LIMIT 10; --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; --- мощная фильтрация по строкам, затем агрегация по строкам.; - -SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -SELECT SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; --- агрегация чуть сложнее.; - -SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; --- агрегация по числу и строке, большое количество ключей.; - -SELECT UserID, count(*) AS c FROM hits_10m GROUP BY UserID ORDER BY c DESC LIMIT 10; --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY c DESC LIMIT 10; --- ещё более сложная агрегация.; - -SELECT UserID, SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; --- то же самое, но без сортировки.; - -SELECT UserID, minute(EventTime), SearchPhrase, count(*) AS c FROM hits_10m GROUP BY UserID, minute(EventTime), SearchPhrase ORDER BY c DESC LIMIT 10; --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; --- мощная фильтрация по столбцу типа UInt64.; - -SELECT count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%'; --- фильтрация по поиску подстроки в строке.; - -SELECT SearchPhrase, MAX(URL), count(*) AS c FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; --- вынимаем большие столбцы, фильтрация по строке.; - -SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; --- чуть больше столбцы.; - -SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; --- плохой запрос - вынимаем все столбцы.; - -SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; --- большая сортировка.; - -SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; --- большая сортировка по строкам.; - -SELECT SearchPhrase, EventTime FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; --- большая сортировка по кортежу.; - -SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; --- считаем средние длины URL для крупных счётчиков.; - -SELECT SUBSTRING(SUBSTRING(Referer, instr(Referer, '//') + 2), 1, if(0 < instr(SUBSTRING(Referer, instr(Referer, '//') + 2), '/') - 1, instr(SUBSTRING(Referer, instr(Referer, '//') + 2), '/' ) - 1, 0)), avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY SUBSTRING(SUBSTRING(Referer, instr(Referer, '//') + 2), 1, if(0 < instr(SUBSTRING(Referer, instr(Referer, '//') + 2), '/') - 1, instr(SUBSTRING(Referer, instr(Referer, '//') + 2), '/' ) - 1, 0)) HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; --- то же самое, но с разбивкой по доменам.; - -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; --- много тупых агрегатных функций.; - -SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; --- то же самое, но ещё и без фильтрации.; - -SELECT URL, count(*) AS c FROM hits_10m GROUP BY URL ORDER BY c DESC LIMIT 10; --- агрегация по URL.; - -SELECT 1, URL, count(*) AS c FROM hits_10m GROUP BY 1, URL ORDER BY c DESC LIMIT 10; --- агрегация по URL и числу.; - -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; - -SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; - - -SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT DontCountHits != 0 AND NOT Refresh != 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; - - -SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND IsLink != 0 AND NOT IsDownload != 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; - -SELECT TraficSourceID, SearchEngineID, AdvEngineID, URL, count(*) as c, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') as src FROM hits_100m WHERE CounterID = 62 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, URL, if(SearchEngineID = 0 AND AdvEngineID = 0 , Referer, '') ORDER BY c DESC LIMIT 1000; - -SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; - -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-31') AND NOT Refresh != 0 AND NOT DontCountHits != 0 AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; - -SELECT unix_timestamp(EventTime) - SECOND(EventTime) AS m, count(*) FROM hits_10m WHERE CounterID = 62 AND EventDate >= TIMESTAMP('2013-07-01') AND EventDate <= TIMESTAMP('2013-07-02') AND NOT Refresh != 0 AND NOT DontCountHits != 0 GROUP BY unix_timestamp(EventTime) - SECOND(EventTime) ORDER BY m; diff --git a/benchmark/hive/run_hive.sh b/benchmark/hive/run_hive.sh deleted file mode 100755 index 48604cd8aa6..00000000000 --- a/benchmark/hive/run_hive.sh +++ /dev/null @@ -1,2 +0,0 @@ -cd /home/kartavyy/benchmark -./benchmark.sh -c hive/conf.sh -n $1 > hive/log/log_$1 diff --git a/benchmark/infinidb/conf.sh b/benchmark/infinidb/conf.sh deleted file mode 100644 index cd201658c9e..00000000000 --- a/benchmark/infinidb/conf.sh +++ /dev/null @@ -1,4 +0,0 @@ -CONF_DIR=/home/kartavyy/benchmark/mysql -expect_file=$CONF_DIR/expect.tcl -test_file=$CONF_DIR/queries.sql -etc_init_d_service=/etc/init.d/mysql diff --git a/benchmark/infinidb/define_schema.sql b/benchmark/infinidb/define_schema.sql deleted file mode 100644 index 6348cda5f6f..00000000000 --- a/benchmark/infinidb/define_schema.sql +++ /dev/null @@ -1,7 +0,0 @@ -create table hits_10m( WatchID BIGINT, JavaEnable TINYINT UNSIGNED, Title VARCHAR(1024), GoodEvent SMALLINT, EventTime DATETIME, EventDate DATE, CounterID INTEGER UNSIGNED, ClientIP INTEGER UNSIGNED, RegionID INTEGER UNSIGNED, UserID BIGINT, CounterClass TINYINT, OS SMALLINT, UserAgent SMALLINT, URL VARCHAR(6072), Referer VARCHAR(2048), Refresh TINYINT, RefererCategoryID SMALLINT UNSIGNED, RefererRegionID INTEGER UNSIGNED, URLCategoryID SMALLINT UNSIGNED, URLRegionID INTEGER UNSIGNED, ResolutionWidth SMALLINT UNSIGNED, ResolutionHeight SMALLINT UNSIGNED, ResolutionDepth TINYINT UNSIGNED, FlashMajor TINYINT UNSIGNED, FlashMinor TINYINT UNSIGNED, FlashMinor2 VARCHAR(256), NetMajor TINYINT UNSIGNED, NetMinor TINYINT UNSIGNED, UserAgentMajor SMALLINT UNSIGNED, UserAgentMinor CHAR(2), CookieEnable TINYINT UNSIGNED, JavascriptEnable TINYINT UNSIGNED, IsMobile TINYINT UNSIGNED, MobilePhone TINYINT UNSIGNED, MobilePhoneModel VARCHAR(80), Params VARCHAR(2048), IPNetworkID INT UNSIGNED, TraficSourceID SMALLINT, SearchEngineID SMALLINT UNSIGNED, SearchPhrase VARCHAR(1024), AdvEngineID TINYINT UNSIGNED, IsArtifical TINYINT UNSIGNED, WindowClientWidth SMALLINT UNSIGNED, WindowClientHeight SMALLINT UNSIGNED, ClientTimeZone INTEGER, ClientEventTime DATETIME, SilverlightVersion1 TINYINT UNSIGNED, SilverlightVersion2 TINYINT UNSIGNED, SilverlightVersion3 INT UNSIGNED, SilverlightVersion4 SMALLINT UNSIGNED, PageCharset VARCHAR(80), CodeVersion INT UNSIGNED, IsLink TINYINT UNSIGNED, IsDownload TINYINT UNSIGNED, IsNotBounce TINYINT UNSIGNED, FUniqID BIGINT, OriginalURL VARCHAR(6072), HID INT UNSIGNED, IsOldCounter TINYINT UNSIGNED, IsEvent TINYINT UNSIGNED, IsParameter TINYINT UNSIGNED, DontCountHits TINYINT UNSIGNED, WithHash TINYINT UNSIGNED, HitColor CHAR(1), LocalEventTime DATETIME, Age TINYINT UNSIGNED, Sex TINYINT UNSIGNED, Income TINYINT UNSIGNED, Interests SMALLINT UNSIGNED, Robotness TINYINT UNSIGNED, RemoteIP INT UNSIGNED, WindowName INT, OpenerName INT, HistoryLength SMALLINT, BrowserLanguage CHAR(2), BrowserCountry CHAR(2), SocialNetwork VARCHAR(128), SocialAction VARCHAR(128), HTTPError SMALLINT UNSIGNED, SendTiming INT UNSIGNED, DNSTiming INT UNSIGNED, ConnectTiming INTEGER UNSIGNED, ResponseStartTiming INTEGER UNSIGNED, ResponseEndTiming INTEGER UNSIGNED, FetchTiming INTEGER UNSIGNED, SocialSourceNetworkID TINYINT UNSIGNED, SocialSourcePage VARCHAR(128), ParamPrice BIGINT, ParamOrderID VARCHAR(80), ParamCurrency CHAR(3), ParamCurrencyID SMALLINT UNSIGNED, OpenstatServiceName VARCHAR(80), OpenstatCampaignID VARCHAR(80), OpenstatAdID VARCHAR(80), OpenstatSourceID VARCHAR(80), UTMSource VARCHAR(256), UTMMedium VARCHAR(256), UTMCampaign VARCHAR(256), UTMContent VARCHAR(256), UTMTerm VARCHAR(256), FromTag VARCHAR(256), HasGCLID TINYINT UNSIGNED, RefererHash BIGINT, URLHash BIGINT, CLID INTEGER UNSIGNED, UserIDHash BIGINT UNSIGNED) ENGINE=MYISAM; - -CREATE INDEX hits_10m_ind on hits_10m (CounterID, EventDate, UserIDHash, EventTime) using BTREE; - -load data infile '/opt/dump/dump_0.3/dump_hits_10m_meshed_utf8.tsv' into table hits_10m FIELDS TERMINATED BY '\t' ESCAPED BY '\\' ; - - diff --git a/benchmark/infinidb/expect.tcl b/benchmark/infinidb/expect.tcl deleted file mode 100644 index 6b3a86c070a..00000000000 --- a/benchmark/infinidb/expect.tcl +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -#!/bin/expect - -# Set timeout -set timeout 600 - -# Get arguments -set query [lindex $argv 0] - -spawn mysql -u root - -expect "mysql>" -send "use hits\r" - -expect "mysql>" - -send "$query\r" - -expect "mysql>" - -send "quit\r" - -expect eof \ No newline at end of file diff --git a/benchmark/infinidb/log/log_100m b/benchmark/infinidb/log/log_100m deleted file mode 100644 index e797ac2d06d..00000000000 --- a/benchmark/infinidb/log/log_100m +++ /dev/null @@ -1,5540 +0,0 @@ -start time: Сб. сент. 21 01:16:53 MSK 2013 -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 956 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 958 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m; -+-----------+ -+-----------+ -+-----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 959 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 961 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m; -+-----------+ -+-----------+ -+-----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 962 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 964 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m; -+-----------+ -+-----------+ -+-----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 965 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 967 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (3 min 40.39 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 968 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 970 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (3 min 54.32 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 971 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 973 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (5 min 5.28 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 974 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 976 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -1 row in set (3 min 40.45 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 977 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 979 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -1 row in set (3 min 18.31 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 980 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 982 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -1 row in set (3 min 18.37 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 983 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 985 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -+-----------------------------+ -+-----------------------------+ -+-----------------------------+ -1 row in set (3 min 27.60 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 986 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 988 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -+-----------------------------+ -+-----------------------------+ -+-----------------------------+ -1 row in set (3 min 10.59 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 989 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 991 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -+-----------------------------+ -+-----------------------------+ -+-----------------------------+ -1 row in set (3 min 8.35 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 992 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 994 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (4 min 35.96 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 995 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 997 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (4 min 10.84 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 998 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1000 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (4 min 6.93 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1001 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1003 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (4 min 52.17 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1004 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1006 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (4 min 14.14 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1007 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1009 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (4 min 11.06 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1010 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1012 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (1 min 15.51 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1013 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1015 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (1 min 16.11 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1016 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1018 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (1 min 14.98 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1019 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1021 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -18 rows in set (3 min 23.94 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1022 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1024 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -18 rows in set (3 min 4.14 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1025 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1027 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -18 rows in set (3 min 0.82 sec) - -mysql> quit -Bye --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1028 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1030 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+---------+ -+----------+---------+ -+----------+---------+ -10 rows in set (4 min 47.28 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1031 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1033 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+---------+ -+----------+---------+ -+----------+---------+ -10 rows in set (4 min 12.52 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1034 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1036 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+---------+ -+----------+---------+ -+----------+---------+ -10 rows in set (4 min 9.48 sec) - -mysql> quit -Bye --- агрегация, среднее количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1037 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1039 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DES C LIMIT 10; -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -10 rows in set (4 min 59.44 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1040 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1042 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DES C LIMIT 10; -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -10 rows in set (4 min 42.02 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1043 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1045 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DES C LIMIT 10; -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -10 rows in set (4 min 31.33 sec) - -mysql> quit -Bye --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1046 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1048 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+--------+ -+------------------+--------+ -+------------------+--------+ -10 rows in set (3 min 38.71 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1049 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1051 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+--------+ -+------------------+--------+ -+------------------+--------+ -10 rows in set (3 min 17.51 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1052 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1054 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+--------+ -+------------------+--------+ -+------------------+--------+ -10 rows in set (3 min 15.94 sec) - -mysql> quit -Bye --- мощная фильтрация по строкам, затем агрегация по строкам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1055 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1057 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -+-------------+------------------+--------+ -+-------------+------------------+--------+ -+-------------+------------------+--------+ -10 rows in set (3 min 40.10 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1058 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1060 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -+-------------+------------------+--------+ -+-------------+------------------+--------+ -+-------------+------------------+--------+ -10 rows in set (3 min 17.17 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1061 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1063 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -+-------------+------------------+--------+ -+-------------+------------------+--------+ -+-------------+------------------+--------+ -10 rows in set (3 min 19.88 sec) - -mysql> quit -Bye --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1064 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1066 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -+-----------------------------------------------------------+----------+ -+-----------------------------------------------------------+----------+ -+-----------------------------------------------------------+----------+ -10 rows in set (15 min 29.45 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1067 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1069 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -+-----------------------------------------------------------+----------+ -+-----------------------------------------------------------+----------+ -+-----------------------------------------------------------+----------+ -10 rows in set (14 min 29.74 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1070 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1072 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -+-----------------------------------------------------------+----------+ -+-----------------------------------------------------------+----------+ -+-----------------------------------------------------------+----------+ -10 rows in set (12 min 19.53 sec) - -mysql> quit -Bye --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1073 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1075 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1076 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1078 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1079 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1081 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -quit --- агрегация чуть сложнее.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1082 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1084 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LI MIT 10; -quit -+----------------+-----------------------------------------------------------+----------+ -+----------------+-----------------------------------------------------------+----------+ -+----------------+-----------------------------------------------------------+----------+ -10 rows in set (19 min 56.42 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1085 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1087 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LI MIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1088 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1090 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LI MIT 10; -quit --- агрегация по числу и строке, большое количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1091 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1093 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1094 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1096 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1097 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1099 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -quit --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1100 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1102 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1103 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1105 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1108 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1110 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit --- ещё более сложная агрегация.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1111 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1113 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1114 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1116 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1117 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1119 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -quit --- то же самое, но без сортировки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1120 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1122 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1123 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1125 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1126 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1128 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1129 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1131 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -Empty set (7 min 27.72 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1132 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1134 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -Empty set (3 min 19.09 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1135 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1137 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -Empty set (3 min 5.82 sec) - -mysql> quit -Bye --- мощная фильтрация по столбцу типа UInt64.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1138 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1140 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (9 min 42.73 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1141 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1143 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (3 min 16.73 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1144 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1146 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (3 min 15.80 sec) - -mysql> quit -Bye --- фильтрация по поиску подстроки в строке.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1147 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1149 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (9 min 42.54 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1150 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1152 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (3 min 25.89 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1153 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1155 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (3 min 19.15 sec) - -mysql> quit -Bye --- вынимаем большие столбцы, фильтрация по строке.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1156 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1158 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yande x.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------+ -+---------------------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------+ -+---------------------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------+ -10 rows in set (9 min 28.75 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1159 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1161 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yande x.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------+ -+---------------------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------+ -+---------------------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------+ -10 rows in set (3 min 37.15 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1162 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1164 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yande x.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------+ -+---------------------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------+ -+---------------------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------+ -10 rows in set (3 min 29.65 sec) - -mysql> quit -Bye --- чуть больше столбцы.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1165 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1167 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -10 rows in set (9 min 22.72 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1168 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1170 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -10 rows in set (3 min 26.77 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1171 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1173 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -10 rows in set (3 min 23.19 sec) - -mysql> quit -Bye --- плохой запрос - вынимаем все столбцы.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1174 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1176 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -quit -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -10 rows in set (10 min 2.47 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1177 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1179 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -10 rows in set (3 min 6.80 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1180 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1182 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -10 rows in set (3 min 6.62 sec) - -mysql> quit -Bye --- большая сортировка.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1183 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1185 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+----------------------------------------------------------------------------------------------------------------------------------+ -+----------------------------------------------------------------------------------------------------------------------------------+ -+----------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (9 min 25.26 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1186 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1188 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+----------------------------------------------------------------------------------------------------------------------------------+ -+----------------------------------------------------------------------------------------------------------------------------------+ -+----------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (3 min 19.44 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1189 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1191 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+----------------------------------------------------------------------------------------------------------------------------------+ -+----------------------------------------------------------------------------------------------------------------------------------+ -+----------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (3 min 19.24 sec) - -mysql> quit -Bye --- большая сортировка по строкам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1192 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1194 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -quit -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -10 rows in set (10 min 57.78 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1195 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1197 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -10 rows in set (3 min 22.53 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1198 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1200 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------+ -10 rows in set (3 min 16.95 sec) - -mysql> quit -Bye --- большая сортировка по кортежу.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1201 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1203 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -quit -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -25 rows in set (11 min 15.84 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1204 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1206 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -25 rows in set (4 min 10.11 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1207 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1209 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -25 rows in set (4 min 8.90 sec) - -mysql> quit -Bye --- считаем средние длины URL для крупных счётчиков.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1210 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1212 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1213 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1215 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1216 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1218 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -quit --- то же самое, но с разбивкой по доменам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1219 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1221 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1222 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1224 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -quit -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (17 min 41.89 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1225 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1227 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -quit -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (17 min 34.60 sec) - -mysql> quit -Bye --- много тупых агрегатных функций.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1228 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1230 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, C lientIP ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1231 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1233 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, C lientIP ORDER BY count(*) DESC LIMIT 10; -quit -+----------------+------------+------+--------------+----------------------+ -+----------------+------------+------+--------------+----------------------+ -+----------------+------------+------+--------------+----------------------+ -10 rows in set (16 min 33.89 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1234 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1236 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, C lientIP ORDER BY count(*) DESC LIMIT 10; -quit -+----------------+------------+------+--------------+----------------------+ -+----------------+------------+------+--------------+----------------------+ -+----------------+------------+------+--------------+----------------------+ -10 rows in set (15 min 18.67 sec) - -mysql> quit -Bye --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1237 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1239 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1240 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1242 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -quit -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (10 min 4.48 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1243 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1245 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (9 min 13.33 sec) - -mysql> quit -Bye --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1246 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1248 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10 ; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1249 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1251 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10 ; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1252 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1254 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10 ; -quit --- то же самое, но ещё и без фильтрации.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1255 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1257 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1258 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1260 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1261 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1263 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit --- агрегация по URL.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1264 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1266 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1267 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1269 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1270 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1272 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit --- агрегация по URL и числу.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1273 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1275 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_100m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1276 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1278 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_100m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1279 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1281 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_100m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1282 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1284 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1285 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1287 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1288 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1290 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1291 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1293 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1294 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1296 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1297 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1299 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1300 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1302 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND N OT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1303 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1305 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND N OT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1306 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1308 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND N OT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -quit -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -10 rows in set (14 min 33.29 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1309 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1311 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1312 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1314 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1315 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1317 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1318 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1320 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1321 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1323 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1324 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1326 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1329 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1331 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013- 07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1332 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1334 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013- 07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1335 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1337 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013- 07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1338 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1340 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND Event Date <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DES C LIMIT 10000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1341 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1343 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND Event Date <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DES C LIMIT 10000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1344 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1346 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND Event Date <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DES C LIMIT 10000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1347 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1349 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013 -07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -Empty set (0.67 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1350 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1352 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013 -07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -Empty set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1353 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1355 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013 -07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -Empty set (0.00 sec) - -mysql> quit -Bye -stop time: Вс. сент. 22 13:02:57 MSK 2013 diff --git a/benchmark/infinidb/log/log_100m_tuned b/benchmark/infinidb/log/log_100m_tuned deleted file mode 100644 index ce0cffcc6e1..00000000000 --- a/benchmark/infinidb/log/log_100m_tuned +++ /dev/null @@ -1,5383 +0,0 @@ -start time: Вт. сент. 24 01:22:51 MSK 2013 -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 436 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 438 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m; -+-----------+ -+-----------+ -+-----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 439 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 441 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m; -+-----------+ -+-----------+ -+-----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 442 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 444 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m; -+-----------+ -+-----------+ -+-----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 445 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 447 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (4 min 9.62 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 448 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 450 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (3 min 19.97 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 451 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 453 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (3 min 17.75 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 454 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 456 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -1 row in set (4 min 19.81 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 457 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 459 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -1 row in set (3 min 25.92 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 460 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 462 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m; -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -+------------------+-----------+----------------------+ -1 row in set (3 min 29.53 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 463 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 465 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -+-----------------------------+ -+-----------------------------+ -+-----------------------------+ -1 row in set (4 min 16.53 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 466 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 468 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -+-----------------------------+ -+-----------------------------+ -+-----------------------------+ -1 row in set (3 min 20.29 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 469 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 471 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_100m; -+-----------------------------+ -+-----------------------------+ -+-----------------------------+ -1 row in set (3 min 18.65 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 472 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 474 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (5 min 22.25 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 475 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 477 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (4 min 21.56 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 478 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 480 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_100m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (4 min 31.99 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 481 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 483 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (5 min 56.15 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 484 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 486 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (5 min 1.56 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 487 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 489 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_100m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (4 min 38.27 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 490 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 492 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (1 min 16.32 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 493 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 495 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (1 min 8.47 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 496 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 498 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_100m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (1 min 8.16 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 499 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 501 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -18 rows in set (4 min 9.69 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 502 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 504 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -18 rows in set (3 min 14.80 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 505 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 507 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_100m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -18 rows in set (3 min 17.54 sec) - -mysql> quit -Bye --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 508 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 510 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+---------+ -+----------+---------+ -+----------+---------+ -10 rows in set (5 min 25.68 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 511 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 513 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+---------+ -+----------+---------+ -+----------+---------+ -10 rows in set (4 min 30.04 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 514 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 516 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_100m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+---------+ -+----------+---------+ -+----------+---------+ -10 rows in set (4 min 26.70 sec) - -mysql> quit -Bye --- агрегация, среднее количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 517 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 519 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DES C LIMIT 10; -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -10 rows in set (5 min 49.32 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 520 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 522 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DES C LIMIT 10; -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -10 rows in set (4 min 52.83 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 523 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 525 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_100m GROUP BY RegionID ORDER BY count(*) DES C LIMIT 10; -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -+----------+------------------+----------+----------------------+------------------------+ -10 rows in set (4 min 40.82 sec) - -mysql> quit -Bye --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 526 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 528 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+--------+ -+------------------+--------+ -+------------------+--------+ -10 rows in set (4 min 31.19 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 529 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 531 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+--------+ -+------------------+--------+ -+------------------+--------+ -10 rows in set (3 min 30.03 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 532 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 534 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+--------+ -+------------------+--------+ -+------------------+--------+ -10 rows in set (3 min 28.72 sec) - -mysql> quit -Bye --- мощная фильтрация по строкам, затем агрегация по строкам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 535 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 537 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -+-------------+------------------+--------+ -+-------------+------------------+--------+ -+-------------+------------------+--------+ -10 rows in set (4 min 29.82 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 538 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 540 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -+-------------+------------------+--------+ -+-------------+------------------+--------+ -+-------------+------------------+--------+ -10 rows in set (3 min 32.21 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 541 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 543 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_100m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -+-------------+------------------+--------+ -+-------------+------------------+--------+ -+-------------+------------------+--------+ -10 rows in set (3 min 30.17 sec) - -mysql> quit -Bye --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 544 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 546 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -+-----------------------------------------------------------------------------------------------------------------+----------+ -+-----------------------------------------------------------------------------------------------------------------+----------+ -+-----------------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (17 min 7.93 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 547 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 549 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -+-----------------------------------------------------------------------------------------------------------------+----------+ -+-----------------------------------------------------------------------------------------------------------------+----------+ -+-----------------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (13 min 50.35 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 550 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 552 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -+-----------------------------------------------------------------------------------------------------------------+----------+ -+-----------------------------------------------------------------------------------------------------------------+----------+ -+-----------------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (12 min 2.12 sec) - -mysql> quit -Bye --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 553 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 555 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 556 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 558 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 559 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 561 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -quit --- агрегация чуть сложнее.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 562 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 564 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LI MIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 565 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 567 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LI MIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 568 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 570 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LI MIT 10; -quit --- агрегация по числу и строке, большое количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 571 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 573 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 574 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 576 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 577 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 579 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_100m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -quit --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 580 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 582 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 585 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 587 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 588 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 590 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit --- ещё более сложная агрегация.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 591 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 593 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 594 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 596 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 597 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 599 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, SearchPhrase LIMIT 10; -quit --- то же самое, но без сортировки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 600 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 602 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 603 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 605 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 606 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 608 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_100m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 609 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 611 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -quit -Empty set (12 min 50.82 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 612 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 614 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -Empty set (6 min 15.34 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 615 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 617 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_100m WHERE UserID = 12345678901234567890; -quit -Empty set (10 min 15.52 sec) - -mysql> quit -Bye --- мощная фильтрация по столбцу типа UInt64.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 618 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 620 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -quit -+----------+ -+----------+ -+----------+ -1 row in set (15 min 5.81 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 621 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 623 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (8 min 56.63 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 624 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 626 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_100m WHERE URL LIKE '%metrika%'; -quit -+----------+ -+----------+ -+----------+ -1 row in set (16 min 21.78 sec) - -mysql> quit -Bye --- фильтрация по поиску подстроки в строке.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 627 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 629 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -quit -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (15 min 23.48 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 630 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 632 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (3 min 46.57 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 633 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 635 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_100m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (3 min 47.04 sec) - -mysql> quit -Bye --- вынимаем большие столбцы, фильтрация по строке.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 636 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 638 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yande x.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 639 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 641 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yande x.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 642 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 644 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_100m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yande x.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like' -mysql> quit -Bye --- чуть больше столбцы.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 645 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 647 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -quit -+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -10 rows in set (14 min 40.39 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 648 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 650 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -10 rows in set (3 min 28.27 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 651 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 653 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_100m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+----------------------------------------------------------------+---------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+-----------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+--------------------------+---------+----------+----------------------+----------------------+------+------------+ -10 rows in set (3 min 25.72 sec) - -mysql> quit -Bye --- плохой запрос - вынимаем все столбцы.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 654 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 656 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -quit -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (14 min 48.76 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 657 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 659 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (3 min 36.37 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 660 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 662 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (3 min 28.34 sec) - -mysql> quit -Bye --- большая сортировка.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 663 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 665 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -quit -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (16 min 11.61 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 666 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 668 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (3 min 44.06 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 669 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 671 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (3 min 44.03 sec) - -mysql> quit -Bye --- большая сортировка по строкам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 672 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 674 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -quit -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (16 min 15.34 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 675 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 677 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (3 min 36.92 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 678 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 680 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_100m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (3 min 34.24 sec) - -mysql> quit -Bye --- большая сортировка по кортежу.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 681 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 683 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -quit -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -25 rows in set (17 min 7.30 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 684 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 686 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -25 rows in set (4 min 25.74 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 687 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 689 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_100m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -25 rows in set (4 min 38.87 sec) - -mysql> quit -Bye --- считаем средние длины URL для крупных счётчиков.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 690 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 692 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 693 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 695 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 696 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 698 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_100m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25 ; -quit --- то же самое, но с разбивкой по доменам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 699 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 701 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 702 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 704 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -quit -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (19 min 5.15 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 705 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 707 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m; -quit -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (18 min 24.86 sec) - -mysql> quit -Bye --- много тупых агрегатных функций.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 708 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 710 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, C lientIP ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 711 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 713 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, C lientIP ORDER BY count(*) DESC LIMIT 10; -quit -+----------------+------------+------+--------------+----------------------+ -+----------------+------------+------+--------------+----------------------+ -+----------------+------------+------+--------------+----------------------+ -10 rows in set (11 min 4.21 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 714 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 716 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY SearchEngineID, C lientIP ORDER BY count(*) DESC LIMIT 10; -quit -+----------------+------------+------+--------------+----------------------+ -+----------------+------------+------+--------------+----------------------+ -+----------------+------------+------+--------------+----------------------+ -10 rows in set (11 min 41.50 sec) - -mysql> quit -Bye --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 717 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 719 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -quit -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (18 min 40.79 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 720 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 722 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (6 min 13.66 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 723 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 725 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (6 min 0.99 sec) - -mysql> quit -Bye --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 726 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 728 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10 ; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 729 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 731 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10 ; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 732 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 734 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_100m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10 ; -quit --- то же самое, но ещё и без фильтрации.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 735 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 737 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 738 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 740 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 741 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 743 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_100m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit --- агрегация по URL.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 744 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 746 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 747 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 749 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 750 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 752 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_100m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit --- агрегация по URL и числу.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 753 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 755 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_100m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 756 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 758 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_100m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 759 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 761 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_100m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_100m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 762 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 764 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 765 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 767 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 768 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 770 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 771 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 773 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 774 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 776 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 777 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 779 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 780 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 782 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND N OT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 783 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 785 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND N OT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 786 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 788 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND N OT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 789 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 791 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 792 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 794 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 795 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 797 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 800 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 802 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 803 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 805 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 806 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 808 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 809 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 811 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013- 07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 812 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 814 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013- 07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 815 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 817 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013- 07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 818 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 820 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND Event Date <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DES C LIMIT 10000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 821 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 823 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND Event Date <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DES C LIMIT 10000; -ERROR 1317 (70100): Query execution was interrupted -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql stop/killed, process 22087 -spawn mysql -u root -ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) -restart server: /etc/init.d/mysql restart -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql restart - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the stop(8) and then start(8) utilities, -e.g. stop mysql ; start mysql. The restart(8) utility is also available. -waiting diff --git a/benchmark/infinidb/log/log_10m b/benchmark/infinidb/log/log_10m deleted file mode 100644 index f35f2460898..00000000000 --- a/benchmark/infinidb/log/log_10m +++ /dev/null @@ -1,5818 +0,0 @@ -start time: Пт. сент. 20 20:04:14 MSK 2013 -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 560 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 562 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m; -+----------+ -+----------+ -+----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 563 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 565 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m; -+----------+ -+----------+ -+----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 566 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 568 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m; -+----------+ -+----------+ -+----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 569 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 571 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (21.55 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 572 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 574 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (18.91 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 575 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 577 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (18.28 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 578 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 580 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -1 row in set (22.71 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 581 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 583 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -1 row in set (19.86 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 584 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 586 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -1 row in set (20.53 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 587 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 589 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -+----------------------------+ -+----------------------------+ -+----------------------------+ -1 row in set (21.30 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 590 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 592 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -+----------------------------+ -+----------------------------+ -+----------------------------+ -1 row in set (18.93 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 593 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 595 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -+----------------------------+ -+----------------------------+ -+----------------------------+ -1 row in set (19.25 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 596 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 598 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (26.77 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 599 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 601 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (25.74 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 602 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 604 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (25.65 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 605 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 607 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (29.14 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 608 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 610 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (26.92 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 611 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 613 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (26.53 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 614 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 616 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (7.47 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 617 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 619 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (7.38 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 620 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 622 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (7.23 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 623 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 625 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -9 rows in set (20.56 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 626 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 628 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -9 rows in set (18.84 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 629 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 631 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -9 rows in set (18.41 sec) - -mysql> quit -Bye --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 632 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 634 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+--------+ -+----------+--------+ -+----------+--------+ -10 rows in set (27.53 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 635 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 637 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+--------+ -+----------+--------+ -+----------+--------+ -10 rows in set (25.14 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 638 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 640 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+--------+ -+----------+--------+ -+----------+--------+ -10 rows in set (24.45 sec) - -mysql> quit -Bye --- агрегация, среднее количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 641 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 643 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -10 rows in set (30.08 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 644 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 646 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -10 rows in set (26.07 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 647 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 649 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -10 rows in set (26.75 sec) - -mysql> quit -Bye --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 650 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 652 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+-------+ -+------------------+-------+ -+------------------+-------+ -10 rows in set (22.93 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 653 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 655 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+-------+ -+------------------+-------+ -+------------------+-------+ -10 rows in set (19.82 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 656 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 658 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+-------+ -+------------------+-------+ -+------------------+-------+ -10 rows in set (20.23 sec) - -mysql> quit -Bye --- мощная фильтрация по строкам, затем агрегация по строкам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 659 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 661 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel O RDER BY u DESC LIMIT 10; -+-------------+------------------+-------+ -+-------------+------------------+-------+ -+-------------+------------------+-------+ -10 rows in set (21.79 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 662 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 664 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel O RDER BY u DESC LIMIT 10; -+-------------+------------------+-------+ -+-------------+------------------+-------+ -+-------------+------------------+-------+ -10 rows in set (19.75 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 665 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 667 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel O RDER BY u DESC LIMIT 10; -+-------------+------------------+-------+ -+-------------+------------------+-------+ -+-------------+------------------+-------+ -10 rows in set (19.64 sec) - -mysql> quit -Bye --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 668 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 670 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-----------------------------+----------+ -+-----------------------------+----------+ -+-----------------------------+----------+ -10 rows in set (51.30 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 671 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 673 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-----------------------------+----------+ -+-----------------------------+----------+ -+-----------------------------+----------+ -10 rows in set (42.27 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 674 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 676 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-----------------------------+----------+ -+-----------------------------+----------+ -+-----------------------------+----------+ -10 rows in set (46.45 sec) - -mysql> quit -Bye --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 677 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 679 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -+-------------------------------------------+------+ -+-------------------------------------------+------+ -+-------------------------------------------+------+ -10 rows in set (43.75 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 680 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 682 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -+-------------------------------------------+------+ -+-------------------------------------------+------+ -+-------------------------------------------+------+ -10 rows in set (42.38 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 683 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 685 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -+-------------------------------------------+------+ -+-------------------------------------------+------+ -+-------------------------------------------+------+ -10 rows in set (42.36 sec) - -mysql> quit -Bye --- агрегация чуть сложнее.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 686 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 688 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIM IT 10; -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -10 rows in set (43.76 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 689 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 691 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIM IT 10; -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -10 rows in set (48.66 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 692 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 694 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIM IT 10; -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -10 rows in set (46.80 sec) - -mysql> quit -Bye --- агрегация по числу и строке, большое количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 695 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 697 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -+---------------------+----------+ -+---------------------+----------+ -+---------------------+----------+ -10 rows in set (1 min 46.76 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 698 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 700 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -+---------------------+----------+ -+---------------------+----------+ -+---------------------+----------+ -10 rows in set (1 min 46.53 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 701 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 703 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -+---------------------+----------+ -+---------------------+----------+ -+---------------------+----------+ -10 rows in set (1 min 45.32 sec) - -mysql> quit -Bye --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 704 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 706 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -10 rows in set (2 min 52.51 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 707 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 709 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -10 rows in set (3 min 1.59 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 710 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 712 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -10 rows in set (2 min 57.70 sec) - -mysql> quit -Bye --- ещё более сложная агрегация.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 713 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 715 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -+----------------------+---------------------------------------------------------------+----------+ -+----------------------+---------------------------------------------------------------+----------+ -+----------------------+---------------------------------------------------------------+----------+ -10 rows in set (3 min 9.92 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 716 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 718 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -+----------------------+---------------------------------------------------------------+----------+ -+----------------------+---------------------------------------------------------------+----------+ -+----------------------+---------------------------------------------------------------+----------+ -10 rows in set (2 min 46.09 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 719 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 721 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -+----------------------+---------------------------------------------------------------+----------+ -+----------------------+---------------------------------------------------------------+----------+ -+----------------------+---------------------------------------------------------------+----------+ -10 rows in set (2 min 52.03 sec) - -mysql> quit -Bye --- то же самое, но без сортировки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 722 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 724 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -10 rows in set (3 min 5.61 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 725 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 727 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -10 rows in set (3 min 1.38 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 728 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 730 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -10 rows in set (3 min 26.92 sec) - -mysql> quit -Bye --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 731 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 733 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -Empty set (20.30 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 734 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 736 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -Empty set (19.24 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 737 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 739 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -Empty set (18.49 sec) - -mysql> quit -Bye --- мощная фильтрация по столбцу типа UInt64.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 740 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 742 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (21.43 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 743 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 745 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (20.03 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 746 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 748 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (19.99 sec) - -mysql> quit -Bye --- фильтрация по поиску подстроки в строке.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 749 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 751 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -10 rows in set (21.88 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 752 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 754 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -10 rows in set (20.06 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 755 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 757 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -10 rows in set (20.30 sec) - -mysql> quit -Bye --- вынимаем большие столбцы, фильтрация по строке.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 758 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 760 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex .%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+---------------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+---------------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -10 rows in set (25.51 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 761 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 763 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex .%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+---------------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+---------------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -10 rows in set (20.72 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 764 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 766 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex .%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+---------------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+---------------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -10 rows in set (20.58 sec) - -mysql> quit -Bye --- чуть больше столбцы.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 767 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 769 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -10 rows in set (24.14 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 770 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 772 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -10 rows in set (20.04 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 773 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 775 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -10 rows in set (19.29 sec) - -mysql> quit -Bye --- плохой запрос - вынимаем все столбцы.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 776 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 778 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (21.65 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 779 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 781 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (19.11 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 782 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 784 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (19.00 sec) - -mysql> quit -Bye --- большая сортировка.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 785 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 787 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (22.44 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 788 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 790 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (20.35 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 791 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 793 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (20.02 sec) - -mysql> quit -Bye --- большая сортировка по строкам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 794 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 796 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (21.41 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 797 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 799 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (19.96 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 800 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 802 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (19.91 sec) - -mysql> quit -Bye --- большая сортировка по кортежу.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 803 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 805 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -19 rows in set (27.15 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 806 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 808 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -19 rows in set (26.28 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 809 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 811 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -19 rows in set (25.32 sec) - -mysql> quit -Bye --- считаем средние длины URL для крупных счётчиков.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 812 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 814 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+------------------+----------+---------+-----------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+-----------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+-----------------------------------------------------------------------------------------------------------------------------+ -11 rows in set (2 min 15.45 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 815 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 817 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+------------------+----------+---------+-----------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+-----------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+-----------------------------------------------------------------------------------------------------------------------------+ -11 rows in set (2 min 14.31 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 818 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 820 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+------------------+----------+---------+-----------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+-----------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+-----------------------------------------------------------------------------------------------------------------------------+ -11 rows in set (2 min 13.12 sec) - -mysql> quit -Bye --- то же самое, но с разбивкой по доменам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 821 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 823 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (1 min 47.44 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 824 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 826 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (1 min 46.26 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 827 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 829 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (1 min 46.16 sec) - -mysql> quit -Bye --- много тупых агрегатных функций.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 830 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 832 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, Cl ientIP ORDER BY count(*) DESC LIMIT 10; -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -10 rows in set (40.47 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 833 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 835 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, Cl ientIP ORDER BY count(*) DESC LIMIT 10; -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -10 rows in set (36.67 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 836 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 838 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, Cl ientIP ORDER BY count(*) DESC LIMIT 10; -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -10 rows in set (37.07 sec) - -mysql> quit -Bye --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 839 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 841 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER B Y count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (39.20 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 842 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 844 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER B Y count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (36.86 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 845 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 847 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER B Y count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (37.22 sec) - -mysql> quit -Bye --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 848 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 850 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; ; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (2 min 14.50 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 851 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 853 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; ; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (2 min 10.75 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 854 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 856 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; ; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (2 min 13.55 sec) - -mysql> quit -Bye --- то же самое, но ещё и без фильтрации.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 857 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 859 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -10 rows in set (17 min 37.45 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 860 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 862 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -10 rows in set (17 min 55.29 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 863 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 865 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -10 rows in set (15 min 28.38 sec) - -mysql> quit -Bye --- агрегация по URL.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 866 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 868 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -10 rows in set (14 min 27.64 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 869 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 871 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -10 rows in set (17 min 3.33 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 872 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 874 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -10 rows in set (17 min 43.40 sec) - -mysql> quit -Bye --- агрегация по URL и числу.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 875 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 877 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER B Y count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_10m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 878 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 880 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER B Y count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_10m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 881 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 883 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER B Y count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_10m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 884 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 886 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 887 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 889 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 890 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 892 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 893 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 895 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -quit -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -10 rows in set (19 min 20.03 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 896 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 898 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -10 rows in set (23.32 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 899 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 901 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -10 rows in set (23.08 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 902 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 904 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NO T DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -quit -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -10 rows in set (18 min 29.20 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 905 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 907 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NO T DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -10 rows in set (14.24 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 908 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 910 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NO T DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -10 rows in set (14.38 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 911 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 913 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -quit -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (18 min 6.92 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 914 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 916 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (7.29 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 917 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 919 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (6.63 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 920 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 922 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, S earchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -quit -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 923 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 925 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, S earchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (31.74 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 926 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 928 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, S earchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (31.79 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 929 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 931 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-0 7-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -quit -Empty set (17 min 54.29 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 932 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 934 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-0 7-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -Empty set (5.51 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 935 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 937 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-0 7-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -Empty set (5.43 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 938 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 940 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventD ate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -quit -Empty set (17 min 49.16 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 941 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 943 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventD ate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Empty set (5.60 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 944 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 946 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventD ate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Empty set (5.30 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 947 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 949 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013- 07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -quit -+---------------------+-----------+ -+---------------------+-----------+ -+---------------------+-----------+ -652 rows in set (10 min 52.84 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 950 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 952 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013- 07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -+---------------------+-----------+ -+---------------------+-----------+ -+---------------------+-----------+ -652 rows in set (4.84 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 19577 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 953 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 955 -Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013- 07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -+---------------------+-----------+ -+---------------------+-----------+ -+---------------------+-----------+ -652 rows in set (4.57 sec) - -mysql> quit -Bye -stop time: Сб. сент. 21 01:16:53 MSK 2013 diff --git a/benchmark/infinidb/log/log_10m_tuned b/benchmark/infinidb/log/log_10m_tuned deleted file mode 100644 index 7a3685446eb..00000000000 --- a/benchmark/infinidb/log/log_10m_tuned +++ /dev/null @@ -1,5812 +0,0 @@ -start time: Пн. сент. 23 21:13:28 MSK 2013 -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 40 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 42 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m; -+----------+ -+----------+ -+----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 43 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 45 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m; -+----------+ -+----------+ -+----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 46 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 48 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m; -+----------+ -+----------+ -+----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 49 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 51 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (24.67 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 52 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 54 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (19.89 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 55 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 57 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (19.40 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 58 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 60 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -1 row in set (28.22 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 61 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 63 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -1 row in set (21.02 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 64 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 66 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -1 row in set (20.72 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 67 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 69 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -+----------------------------+ -+----------------------------+ -+----------------------------+ -1 row in set (28.05 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 70 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 72 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -+----------------------------+ -+----------------------------+ -+----------------------------+ -1 row in set (20.23 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 73 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 75 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -+----------------------------+ -+----------------------------+ -+----------------------------+ -1 row in set (20.17 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 76 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 78 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (31.56 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 79 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 81 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (25.77 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 82 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 84 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (25.94 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 85 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 87 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (36.92 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 88 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 90 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (27.81 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 91 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 93 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (27.69 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 94 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 96 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (7.44 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 97 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 99 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (6.31 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 100 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 102 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (6.45 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 103 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 105 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -9 rows in set (24.57 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 106 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 108 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -9 rows in set (19.90 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 109 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 111 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -9 rows in set (19.73 sec) - -mysql> quit -Bye --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 112 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 114 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+--------+ -+----------+--------+ -+----------+--------+ -10 rows in set (31.77 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 115 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 117 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+--------+ -+----------+--------+ -+----------+--------+ -10 rows in set (25.16 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 118 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 120 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+--------+ -+----------+--------+ -+----------+--------+ -10 rows in set (25.15 sec) - -mysql> quit -Bye --- агрегация, среднее количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 121 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 123 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -10 rows in set (32.71 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 124 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 126 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -10 rows in set (27.17 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 127 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 129 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -10 rows in set (27.17 sec) - -mysql> quit -Bye --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 130 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 132 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+-------+ -+------------------+-------+ -+------------------+-------+ -10 rows in set (28.13 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 133 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 135 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+-------+ -+------------------+-------+ -+------------------+-------+ -10 rows in set (21.12 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 136 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 138 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+-------+ -+------------------+-------+ -+------------------+-------+ -10 rows in set (20.82 sec) - -mysql> quit -Bye --- мощная фильтрация по строкам, затем агрегация по строкам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 139 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 141 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel O RDER BY u DESC LIMIT 10; -+-------------+------------------+-------+ -+-------------+------------------+-------+ -+-------------+------------------+-------+ -10 rows in set (28.32 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 142 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 144 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel O RDER BY u DESC LIMIT 10; -+-------------+------------------+-------+ -+-------------+------------------+-------+ -+-------------+------------------+-------+ -10 rows in set (20.89 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 145 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 147 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel O RDER BY u DESC LIMIT 10; -+-------------+------------------+-------+ -+-------------+------------------+-------+ -+-------------+------------------+-------+ -10 rows in set (20.75 sec) - -mysql> quit -Bye --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 148 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 150 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------------------------------------------+----------+ -+---------------------------------------------------------+----------+ -+---------------------------------------------------------+----------+ -10 rows in set (49.31 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 151 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 153 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------------------------------------------+----------+ -+---------------------------------------------------------+----------+ -+---------------------------------------------------------+----------+ -10 rows in set (46.13 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 154 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 156 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------------------------------------------+----------+ -+---------------------------------------------------------+----------+ -+---------------------------------------------------------+----------+ -10 rows in set (47.95 sec) - -mysql> quit -Bye --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 157 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 159 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -+----------------------------------------------------------------------------------------+------+ -+----------------------------------------------------------------------------------------+------+ -+----------------------------------------------------------------------------------------+------+ -10 rows in set (1 min 4.20 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 160 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 162 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -+----------------------------------------------------------------------------------------+------+ -+----------------------------------------------------------------------------------------+------+ -+----------------------------------------------------------------------------------------+------+ -10 rows in set (42.81 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 163 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 165 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -+----------------------------------------------------------------------------------------+------+ -+----------------------------------------------------------------------------------------+------+ -+----------------------------------------------------------------------------------------+------+ -10 rows in set (43.65 sec) - -mysql> quit -Bye --- агрегация чуть сложнее.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 166 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 168 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIM IT 10; -+----------------+---------------------------------------------------------+----------+ -+----------------+---------------------------------------------------------+----------+ -+----------------+---------------------------------------------------------+----------+ -10 rows in set (48.47 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 169 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 171 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIM IT 10; -+----------------+---------------------------------------------------------+----------+ -+----------------+---------------------------------------------------------+----------+ -+----------------+---------------------------------------------------------+----------+ -10 rows in set (48.79 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 172 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 174 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIM IT 10; -+----------------+---------------------------------------------------------+----------+ -+----------------+---------------------------------------------------------+----------+ -+----------------+---------------------------------------------------------+----------+ -10 rows in set (43.92 sec) - -mysql> quit -Bye --- агрегация по числу и строке, большое количество ключей.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 175 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 177 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -+---------------------+----------+ -+---------------------+----------+ -+---------------------+----------+ -10 rows in set (1 min 37.97 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 178 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 180 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -+---------------------+----------+ -+---------------------+----------+ -+---------------------+----------+ -10 rows in set (1 min 29.48 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 181 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 183 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -+---------------------+----------+ -+---------------------+----------+ -+---------------------+----------+ -10 rows in set (1 min 29.29 sec) - -mysql> quit -Bye --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 184 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 186 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -10 rows in set (2 min 51.31 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 187 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 189 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -10 rows in set (2 min 49.48 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 190 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 192 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -10 rows in set (2 min 49.25 sec) - -mysql> quit -Bye --- ещё более сложная агрегация.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 193 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 195 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -+----------------------+------------------------------------------------------------------------------------------------------------------------------+----------+ -+----------------------+------------------------------------------------------------------------------------------------------------------------------+----------+ -+----------------------+------------------------------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (2 min 51.33 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 196 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 198 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -+----------------------+------------------------------------------------------------------------------------------------------------------------------+----------+ -+----------------------+------------------------------------------------------------------------------------------------------------------------------+----------+ -+----------------------+------------------------------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (2 min 30.93 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 199 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 201 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -+----------------------+------------------------------------------------------------------------------------------------------------------------------+----------+ -+----------------------+------------------------------------------------------------------------------------------------------------------------------+----------+ -+----------------------+------------------------------------------------------------------------------------------------------------------------------+----------+ -10 rows in set (2 min 36.59 sec) - -mysql> quit -Bye --- то же самое, но без сортировки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 202 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 204 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -10 rows in set (3 min 20.41 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 205 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 207 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -10 rows in set (2 min 52.73 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 208 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 210 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -10 rows in set (2 min 42.49 sec) - -mysql> quit -Bye --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 211 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 213 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -Empty set (28.61 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 214 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 216 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -Empty set (19.75 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 217 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 219 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; -Empty set (19.64 sec) - -mysql> quit -Bye --- мощная фильтрация по столбцу типа UInt64.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 220 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 222 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (26.78 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 223 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 225 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (20.81 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 226 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 228 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (20.72 sec) - -mysql> quit -Bye --- фильтрация по поиску подстроки в строке.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 229 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 231 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -10 rows in set (26.31 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 232 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 234 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -10 rows in set (21.54 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 235 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 237 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -10 rows in set (21.33 sec) - -mysql> quit -Bye --- вынимаем большие столбцы, фильтрация по строке.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 238 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 240 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex .%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 241 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 243 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex .%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 244 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 246 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex .%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like' -mysql> quit -Bye --- чуть больше столбцы.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 247 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 249 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-----------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-----------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-----------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -10 rows in set (25.20 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 250 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 252 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-----------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-----------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-----------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -10 rows in set (20.57 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 253 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 255 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-----------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-----------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-----------------------------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -10 rows in set (20.37 sec) - -mysql> quit -Bye --- плохой запрос - вынимаем все столбцы.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 256 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 258 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (28.62 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 259 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 261 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (19.96 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 262 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 264 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (19.73 sec) - -mysql> quit -Bye --- большая сортировка.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 265 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 267 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (28.33 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 268 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 270 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (21.23 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 271 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 273 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (21.03 sec) - -mysql> quit -Bye --- большая сортировка по строкам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 274 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 276 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (25.94 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 277 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 279 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (21.08 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 280 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 282 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (20.88 sec) - -mysql> quit -Bye --- большая сортировка по кортежу.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 283 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 285 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -19 rows in set (31.29 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 286 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 288 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -19 rows in set (26.67 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 289 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 291 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -19 rows in set (26.13 sec) - -mysql> quit -Bye --- считаем средние длины URL для крупных счётчиков.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 292 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 294 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+------------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -11 rows in set (2 min 28.78 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 295 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 297 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+------------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -11 rows in set (2 min 16.61 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 298 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 300 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; ; -+------------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -11 rows in set (2 min 17.29 sec) - -mysql> quit -Bye --- то же самое, но с разбивкой по доменам.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 301 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 303 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (1 min 59.84 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 304 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 306 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (1 min 48.96 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 307 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 309 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWi dth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), s um(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(Reso lutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionW idth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), su m(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(Resol utionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWi dth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 5 5), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum (ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(Resolu tionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWid th + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80 ), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum( ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (1 min 47.56 sec) - -mysql> quit -Bye --- много тупых агрегатных функций.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 310 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 312 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, Cl ientIP ORDER BY count(*) DESC LIMIT 10; -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -10 rows in set (44.77 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 313 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 315 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, Cl ientIP ORDER BY count(*) DESC LIMIT 10; -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -10 rows in set (36.73 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 316 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 318 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, Cl ientIP ORDER BY count(*) DESC LIMIT 10; -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -10 rows in set (37.20 sec) - -mysql> quit -Bye --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 319 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 321 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER B Y count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (45.03 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 322 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 324 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER B Y count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (37.40 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 325 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 327 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER B Y count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (37.66 sec) - -mysql> quit -Bye --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 328 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 330 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; ; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (2 min 19.49 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 331 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 333 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; ; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (2 min 7.79 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 334 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 336 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; ; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (2 min 6.97 sec) - -mysql> quit -Bye --- то же самое, но ещё и без фильтрации.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 337 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 339 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -10 rows in set (14 min 15.58 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 340 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 342 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -10 rows in set (15 min 30.25 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 343 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 345 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -quit -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -10 rows in set (16 min 21.86 sec) - -mysql> quit -Bye --- агрегация по URL.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 346 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 348 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -10 rows in set (13 min 39.56 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 349 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 351 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -10 rows in set (16 min 1.08 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 352 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 354 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -quit -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -10 rows in set (11 min 4.87 sec) - -mysql> quit -Bye --- агрегация по URL и числу.; - -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 355 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 357 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER B Y count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_10m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 358 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 360 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER B Y count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_10m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 361 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 363 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER B Y count(*) DESC LIMIT 10; -ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`hits`.`hits_10m`.`ClientIP` - 1)' -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 364 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 366 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 367 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 369 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 370 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 372 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 373 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 375 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -quit -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -10 rows in set (11 min 31.67 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 376 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 378 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -10 rows in set (24.08 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 379 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 381 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -10 rows in set (23.66 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 382 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 384 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NO T DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -quit -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -10 rows in set (10 min 55.00 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 385 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 387 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NO T DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -10 rows in set (14.56 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 388 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 390 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NO T DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -10 rows in set (14.07 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 391 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 393 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -quit -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (10 min 51.40 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 394 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 396 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (6.89 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 397 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 399 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (6.77 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 400 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 402 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, S earchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -quit -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (11 min 48.71 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 403 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 405 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, S earchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (32.55 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 406 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 408 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, co unt(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, S earchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (54.01 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 409 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 411 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-0 7-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -quit -Empty set (10 min 39.92 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 412 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 414 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-0 7-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -Empty set (5.32 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 415 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 417 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-0 7-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -Empty set (5.14 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 418 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 420 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventD ate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -quit -Empty set (10 min 39.47 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 421 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 423 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventD ate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Empty set (5.32 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 424 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 426 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventD ate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Empty set (5.09 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 427 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 1 -query: SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 429 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013- 07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -+---------------------+-----------+ -+---------------------+-----------+ -+---------------------+-----------+ -652 rows in set (6 min 40.66 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 430 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 2 -query: SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 432 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013- 07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -+---------------------+-----------+ -+---------------------+-----------+ -+---------------------+-----------+ -652 rows in set (5.15 sec) - -mysql> quit -Bye -Rather than invoking init scripts through /etc/init.d, use the service(8) -utility, e.g. service mysql status - -Since the script you are attempting to invoke has been converted to an -Upstart job, you may also use the status(8) utility, e.g. status mysql -mysql start/running, process 22087 -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 433 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> -mysql> quit -Bye - -times: 3 -query: SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql -u root -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 435 -Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> use hits -Reading table information for completion of table and column names -You can turn off this feature to get a quicker startup with -A - -Database changed -mysql> SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013- 07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -+---------------------+-----------+ -+---------------------+-----------+ -+---------------------+-----------+ -652 rows in set (5.02 sec) - -mysql> quit -Bye -stop time: Вт. сент. 24 01:22:51 MSK 2013 diff --git a/benchmark/infinidb/queries.sql b/benchmark/infinidb/queries.sql deleted file mode 100644 index b4da23ac8c8..00000000000 --- a/benchmark/infinidb/queries.sql +++ /dev/null @@ -1,111 +0,0 @@ -SELECT SQL_NO_CACHE count(*) FROM hits_10m; -SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE AdvEngineID != 0; -SELECT SQL_NO_CACHE sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -SELECT SQL_NO_CACHE sum(UserID) FROM hits_10m; -SELECT SQL_NO_CACHE count(DISTINCT UserID) FROM hits_10m; -SELECT SQL_NO_CACHE count(DISTINCT SearchPhrase) FROM hits_10m; -SELECT SQL_NO_CACHE min(EventDate), max(EventDate) FROM hits_10m; - -SELECT SQL_NO_CACHE AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -SELECT SQL_NO_CACHE RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; --- агрегация, среднее количество ключей.; - -SELECT SQL_NO_CACHE RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -SELECT SQL_NO_CACHE MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; --- мощная фильтрация по строкам, затем агрегация по строкам.; - -SELECT SQL_NO_CACHE MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -SELECT SQL_NO_CACHE SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -SELECT SQL_NO_CACHE SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; --- агрегация чуть сложнее.; - -SELECT SQL_NO_CACHE SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- агрегация по числу и строке, большое количество ключей.; - -SELECT SQL_NO_CACHE UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- ещё более сложная агрегация.; - -SELECT SQL_NO_CACHE UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; --- то же самое, но без сортировки.; - -SELECT SQL_NO_CACHE UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -SELECT SQL_NO_CACHE UserID FROM hits_10m WHERE UserID = 12345678901234567890; --- мощная фильтрация по столбцу типа UInt64.; - -SELECT SQL_NO_CACHE count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; --- фильтрация по поиску подстроки в строке.; - -SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- вынимаем большие столбцы, фильтрация по строке.; - -SELECT SQL_NO_CACHE SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- чуть больше столбцы.; - -SELECT SQL_NO_CACHE * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; --- плохой запрос - вынимаем все столбцы.; - -SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; --- большая сортировка.; - -SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; --- большая сортировка по строкам.; - -SELECT SQL_NO_CACHE SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; --- большая сортировка по кортежу.; - -SELECT SQL_NO_CACHE CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; --- считаем средние длины URL для крупных счётчиков.; - -SELECT SQL_NO_CACHE SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; --- то же самое, но с разбивкой по доменам.; - -SELECT SQL_NO_CACHE sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; --- много тупых агрегатных функций.; - -SELECT SQL_NO_CACHE SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -SELECT SQL_NO_CACHE WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; --- то же самое, но ещё и без фильтрации.; - -SELECT SQL_NO_CACHE URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; --- агрегация по URL.; - -SELECT SQL_NO_CACHE 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; --- агрегация по URL и числу.; - -SELECT SQL_NO_CACHE ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; - -SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; - - -SELECT SQL_NO_CACHE Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; - - -SELECT SQL_NO_CACHE URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; - - -SELECT SQL_NO_CACHE TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; - - -SELECT SQL_NO_CACHE URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; - -SELECT SQL_NO_CACHE WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; - -SELECT SQL_NO_CACHE EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; \ No newline at end of file diff --git a/benchmark/infobright/conf.sh b/benchmark/infobright/conf.sh deleted file mode 100644 index 48cd341208e..00000000000 --- a/benchmark/infobright/conf.sh +++ /dev/null @@ -1,5 +0,0 @@ -CONF_DIR=/home/kartavyy/benchmark/infobright -expect_file=$CONF_DIR/expect.tcl -test_file=$CONF_DIR/queries.sql -etc_init_d_service=/etc/init.d/mysqld-ib - diff --git a/benchmark/infobright/define_schema.sql b/benchmark/infobright/define_schema.sql deleted file mode 100644 index e2390d5ae75..00000000000 --- a/benchmark/infobright/define_schema.sql +++ /dev/null @@ -1,111 +0,0 @@ -create table hits_10m -( - WatchID BIGINT, - JavaEnable SMALLINT, - Title VARCHAR(1400), - GoodEvent SMALLINT, - EventTime TIMESTAMP, - EventDate DATE, - CounterID BIGINT, - ClientIP BIGINT, - RegionID BIGINT, - UserID BIGINT, - CounterClass TINYINT, - OS SMALLINT, - UserAgent SMALLINT, - URL VARCHAR(7800), - Referer VARCHAR(3125), - Refresh TINYINT, - RefererCategoryID INT, - RefererRegionID BIGINT, - URLCategoryID INT, - URLRegionID BIGINT, - ResolutionWidth INT, - ResolutionHeight INT, - ResolutionDepth SMALLINT, - FlashMajor SMALLINT, - FlashMinor SMALLINT, - FlashMinor2 VARCHAR(256), - NetMajor SMALLINT, - NetMinor SMALLINT, - UserAgentMajor INT, - UserAgentMinor CHAR(2), - CookieEnable SMALLINT, - JavascriptEnable SMALLINT, - IsMobile SMALLINT, - MobilePhone SMALLINT, - MobilePhoneModel VARCHAR(80), - Params VARCHAR(2925), - IPNetworkID BIGINT, - TraficSourceID SMALLINT, - SearchEngineID INT, - SearchPhrase VARCHAR(2008), - AdvEngineID SMALLINT, - IsArtifical SMALLINT, - WindowClientWidth INT, - WindowClientHeight INT, - ClientTimeZone INTEGER, - ClientEventTime TIMESTAMP, - SilverlightVersion1 SMALLINT, - SilverlightVersion2 SMALLINT, - SilverlightVersion3 BIGINT, - SilverlightVersion4 INT, - PageCharset VARCHAR(80), - CodeVersion BIGINT, - IsLink SMALLINT, - IsDownload SMALLINT, - IsNotBounce SMALLINT, - FUniqID BIGINT, - OriginalURL VARCHAR(8181), - HID BIGINT, - IsOldCounter SMALLINT, - IsEvent SMALLINT, - IsParameter SMALLINT, - DontCountHits SMALLINT, - WithHash SMALLINT, - HitColor CHAR(1), - LocalEventTime TIMESTAMP, - Age SMALLINT, - Sex SMALLINT, - Income SMALLINT, - Interests INT, - Robotness SMALLINT, - RemoteIP BIGINT, - WindowName INT, - OpenerName INT, - HistoryLength SMALLINT, - BrowserLanguage CHAR(2), - BrowserCountry CHAR(2), - SocialNetwork VARCHAR(128), - SocialAction VARCHAR(128), - HTTPError INT, - SendTiming BIGINT, - DNSTiming BIGINT, - ConnectTiming BIGINT, - ResponseStartTiming BIGINT, - ResponseEndTiming BIGINT, - FetchTiming BIGINT, - SocialSourceNetworkID SMALLINT, - SocialSourcePage VARCHAR(256), - ParamPrice BIGINT, - ParamOrderID VARCHAR(80), - ParamCurrency CHAR(3), - ParamCurrencyID INT, - OpenstatServiceName VARCHAR(80), - OpenstatCampaignID VARCHAR(512), - OpenstatAdID VARCHAR(80), - OpenstatSourceID VARCHAR(256), - UTMSource VARCHAR(256), - UTMMedium VARCHAR(256), - UTMCampaign VARCHAR(407), - UTMContent VARCHAR(256), - UTMTerm VARCHAR(437), - FromTag VARCHAR(428), - HasGCLID SMALLINT, - RefererHash BIGINT, - URLHash BIGINT, - CLID BIGINT, - UserIDHash BIGINT -); - -LOAD DATA INFILE '/opt/dump/dump_0.3/dump_hits_10m_meshed_utf8.tsv' INTO TABLE hits_10m FIELDS TERMINATED BY '\t' ESCAPED BY '\\' ENCLOSED BY "NULL"; \ No newline at end of file diff --git a/benchmark/infobright/expect.tcl b/benchmark/infobright/expect.tcl deleted file mode 100644 index d07ab257260..00000000000 --- a/benchmark/infobright/expect.tcl +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -#!/bin/expect - -# Set timeout -set timeout 600 - -# Get arguments -set query [lindex $argv 0] - -spawn mysql-ib -u root -D hits - -expect "mysql>" -send "$query\r" - -expect "mysql>" -send "quit\r" - -expect eof \ No newline at end of file diff --git a/benchmark/infobright/log-community/log_10m b/benchmark/infobright/log-community/log_10m deleted file mode 100644 index 817404241e5..00000000000 --- a/benchmark/infobright/log-community/log_10m +++ /dev/null @@ -1,2511 +0,0 @@ -start time: Вт. сент. 3 15:44:00 MSK 2013 --- set GLOBAL max_length_for_sort_data = 8388608; - - -times: 1 -query: SELECT count(*) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 11 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(*) FROM hits_10m; -+----------+ -+----------+ -+----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT count(*) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 12 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(*) FROM hits_10m; -+----------+ -+----------+ -+----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT count(*) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 13 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(*) FROM hits_10m; -+----------+ -+----------+ -+----------+ -1 row in set (0.00 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 14 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (0.40 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 15 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (0.38 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 16 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -+----------+ -+----------+ -+----------+ -1 row in set (0.39 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 17 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -1 row in set (0.10 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 18 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -1 row in set (0.00 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 19 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -+------------------+----------+----------------------+ -1 row in set (0.00 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT sum(UserID) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 20 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT sum(UserID) FROM hits_10m; -ERROR 5 (HY000): The query includes syntax that is not supported by the Infobright Optimizer. Either restructure the query with supported syntax, or enable the MySQL Query Path in the brighthouse.ini file to execute the query with reduced performance. -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT sum(UserID) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 21 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT sum(UserID) FROM hits_10m; -ERROR 5 (HY000): The query includes syntax that is not supported by the Infobright Optimizer. Either restructure the query with supported syntax, or enable the MySQL Query Path in the brighthouse.ini file to execute the query with reduced performance. -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT sum(UserID) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 22 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT sum(UserID) FROM hits_10m; -ERROR 5 (HY000): The query includes syntax that is not supported by the Infobright Optimizer. Either restructure the query with supported syntax, or enable the MySQL Query Path in the brighthouse.ini file to execute the query with reduced performance. -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 23 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(DISTINCT UserID) FROM hits_10m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (2.83 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 24 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(DISTINCT UserID) FROM hits_10m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (1.91 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT count(DISTINCT UserID) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 25 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(DISTINCT UserID) FROM hits_10m; -+------------------------+ -+------------------------+ -+------------------------+ -1 row in set (1.95 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 26 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (9.16 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 27 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (1.65 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 28 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -+------------------------------+ -+------------------------------+ -+------------------------------+ -1 row in set (1.70 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 29 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT min(EventDate), max(EventDate) FROM hits_10m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (0.03 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 30 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT min(EventDate), max(EventDate) FROM hits_10m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (0.00 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT min(EventDate), max(EventDate) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 31 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT min(EventDate), max(EventDate) FROM hits_10m; -+----------------+----------------+ -+----------------+----------------+ -+----------------+----------------+ -1 row in set (0.00 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 32 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -9 rows in set (0.46 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 33 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -9 rows in set (0.40 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 34 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -+-------------+----------+ -+-------------+----------+ -+-------------+----------+ -9 rows in set (0.41 sec) - -mysql> quit -Bye - * MySQL running (21735) --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - - -times: 1 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 35 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+--------+ -+----------+--------+ -+----------+--------+ -10 rows in set (4.13 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 36 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+--------+ -+----------+--------+ -+----------+--------+ -10 rows in set (2.97 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 37 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -+----------+--------+ -+----------+--------+ -+----------+--------+ -10 rows in set (3.43 sec) - -mysql> quit -Bye - * MySQL running (21735) --- агрегация, среднее количество ключей.; - - -times: 1 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 38 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -10 rows in set (5.12 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 39 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -10 rows in set (4.46 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 40 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -+----------+------------------+---------+----------------------+------------------------+ -10 rows in set (4.15 sec) - -mysql> quit -Bye - * MySQL running (21735) --- агрегация, среднее количество ключей, несколько агрегатных функций.; - - -times: 1 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 41 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+-------+ -+------------------+-------+ -+------------------+-------+ -10 rows in set (1.98 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 42 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+-------+ -+------------------+-------+ -+------------------+-------+ -10 rows in set (1.24 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 43 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -+------------------+-------+ -+------------------+-------+ -+------------------+-------+ -10 rows in set (1.36 sec) - -mysql> quit -Bye - * MySQL running (21735) --- мощная фильтрация по строкам, затем агрегация по строкам.; - - -times: 1 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 44 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DES C LIMIT 10; -+-------------+------------------+-------+ -+-------------+------------------+-------+ -+-------------+------------------+-------+ -10 rows in set (1.58 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 45 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DES C LIMIT 10; -+-------------+------------------+-------+ -+-------------+------------------+-------+ -+-------------+------------------+-------+ -10 rows in set (1.26 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 46 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DES C LIMIT 10; -+-------------+------------------+-------+ -+-------------+------------------+-------+ -+-------------+------------------+-------+ -10 rows in set (1.27 sec) - -mysql> quit -Bye - * MySQL running (21735) --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - - -times: 1 -query: SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 47 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-----------------------------+----------+ -+-----------------------------+----------+ -+-----------------------------+----------+ -10 rows in set (13.37 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 48 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-----------------------------+----------+ -+-----------------------------+----------+ -+-----------------------------+----------+ -10 rows in set (30.81 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 49 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-----------------------------+----------+ -+-----------------------------+----------+ -+-----------------------------+----------+ -10 rows in set (29.76 sec) - -mysql> quit -Bye - * MySQL running (21735) --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - - -times: 1 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 50 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -+-------------------------------------------+------+ -+-------------------------------------------+------+ -+-------------------------------------------+------+ -10 rows in set (32.59 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 51 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -+-------------------------------------------+------+ -+-------------------------------------------+------+ -+-------------------------------------------+------+ -10 rows in set (30.22 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 52 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -+-------------------------------------------+------+ -+-------------------------------------------+------+ -+-------------------------------------------+------+ -10 rows in set (13.00 sec) - -mysql> quit -Bye - * MySQL running (21735) --- агрегация чуть сложнее.; - - -times: 1 -query: SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 53 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -10 rows in set (12.93 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 54 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -10 rows in set (11.39 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 55 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -+----------------+-----------------------------+----------+ -10 rows in set (30.46 sec) - -mysql> quit -Bye - * MySQL running (21735) --- агрегация по числу и строке, большое количество ключей.; - - -times: 1 -query: SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 56 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -+---------------------+----------+ -+---------------------+----------+ -+---------------------+----------+ -10 rows in set (2.98 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 57 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -+---------------------+----------+ -+---------------------+----------+ -+---------------------+----------+ -10 rows in set (3.05 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 58 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -+---------------------+----------+ -+---------------------+----------+ -+---------------------+----------+ -10 rows in set (2.96 sec) - -mysql> quit -Bye - * MySQL running (21735) --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 59 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -10 rows in set (1 min 9.90 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 60 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -10 rows in set (1 min 20.86 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 61 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -+---------------------+--------------+----------+ -10 rows in set (1 min 25.17 sec) - -mysql> quit -Bye - * MySQL running (21735) --- ещё более сложная агрегация.; - - -times: 1 -query: SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 62 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -+---------------------+-----------------------------------------------------------------+----------+ -+---------------------+-----------------------------------------------------------------+----------+ -+---------------------+-----------------------------------------------------------------+----------+ -10 rows in set (10.38 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 63 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -+---------------------+-----------------------------------------------------------------+----------+ -+---------------------+-----------------------------------------------------------------+----------+ -+---------------------+-----------------------------------------------------------------+----------+ -10 rows in set (10.19 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 64 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -+---------------------+-----------------------------------------------------------------+----------+ -+---------------------+-----------------------------------------------------------------+----------+ -+---------------------+-----------------------------------------------------------------+----------+ -10 rows in set (10.28 sec) - -mysql> quit -Bye - * MySQL running (21735) --- то же самое, но без сортировки.; - - -times: 1 -query: SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 65 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -10 rows in set (2 min 42.43 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 66 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -10 rows in set (2 min 44.35 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 67 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -+---------------------+------+--------------+----------+ -10 rows in set (2 min 49.28 sec) - -mysql> quit -Bye - * MySQL running (21735) --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - - -times: 1 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 68 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -ERROR 5 (HY000): The query includes syntax that is not supported by the Infobright Optimizer. Either restructure the query with supported syntax, or enable the MySQL Query Path in the brighthouse.ini file to execute the query with reduced performance. -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 69 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -ERROR 5 (HY000): The query includes syntax that is not supported by the Infobright Optimizer. Either restructure the query with supported syntax, or enable the MySQL Query Path in the brighthouse.ini file to execute the query with reduced performance. -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 70 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT UserID FROM hits_10m WHERE UserID = 12345678901234567890; -ERROR 5 (HY000): The query includes syntax that is not supported by the Infobright Optimizer. Either restructure the query with supported syntax, or enable the MySQL Query Path in the brighthouse.ini file to execute the query with reduced performance. -mysql> quit -Bye - * MySQL running (21735) --- мощная фильтрация по столбцу типа UInt64.; - - -times: 1 -query: SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 71 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (47.80 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 72 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (4.40 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 73 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -+----------+ -+----------+ -+----------+ -1 row in set (4.47 sec) - -mysql> quit -Bye - * MySQL running (21735) --- фильтрация по поиску подстроки в строке.; - - -times: 1 -query: SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 74 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -10 rows in set (4.83 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 75 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -10 rows in set (1.15 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 76 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -+--------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+----------+ -10 rows in set (1.14 sec) - -mysql> quit -Bye - * MySQL running (21735) --- вынимаем большие столбцы, фильтрация по строке.; - - -times: 1 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 77 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-----------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+-----------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+-----------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -10 rows in set (43.82 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 78 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-----------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+-----------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+-----------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -10 rows in set (2.14 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 79 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -+-----------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+-----------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -+-----------------------------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+------------------------+ -10 rows in set (2.16 sec) - -mysql> quit -Bye - * MySQL running (21735) --- чуть больше столбцы.; - - -times: 1 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 80 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -10 rows in set (6.14 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 81 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -10 rows in set (4.39 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 82 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -+---------------------+------------+-------------------------+-----------+---------------------+------------+-----------+------------+----------+---------------------+--------------+------+-----------+---------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+---------+-------------------+-----------------+---------------+-------------+-----------------+------------------+-----------------+------------+------------+-------------+----------+----------+----------------+----------------+--------------+------------------+----------+-------------+------------------+--------+-------------+----------------+----------------+--------------+-------------+-------------+-------------------+--------------------+----------------+---------------------+---------------------+---------------------+---------------------+---------------------+-------------+-------------+--------+------------+-------------+---------------------+-------------+------------+--------------+---------+-------------+---------------+----------+----------+---------------------+------+------+--------+-----------+-----------+------------+------------+------------+---------------+-----------------+----------------+---------------+--------------+-----------+------------+-----------+---------------+---------------------+-------------------+-------------+-----------------------+------------------+------------+--------------+---------------+-----------------+---------------------+--------------------+--------------+------------------+-----------+-----------+-------------+------------+---------+---------+----------+----------------------+---------------------+------+------------+ -10 rows in set (4.35 sec) - -mysql> quit -Bye - * MySQL running (21735) --- плохой запрос - вынимаем все столбцы.; - - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 83 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (0.41 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 84 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (0.41 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 85 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (0.41 sec) - -mysql> quit -Bye - * MySQL running (21735) --- большая сортировка.; - - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 86 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (0.80 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 87 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (0.80 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 88 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -+------------------------------------------------------------------------------------------------------------------------------------+ -10 rows in set (0.80 sec) - -mysql> quit -Bye - * MySQL running (21735) --- большая сортировка по строкам.; - - -times: 1 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 89 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (0.41 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 90 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (0.41 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 91 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -+--------------------------------------------------------------------+ -10 rows in set (0.40 sec) - -mysql> quit -Bye - * MySQL running (21735) --- большая сортировка по кортежу.; - - -times: 1 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 92 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -19 rows in set (10.39 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 93 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -19 rows in set (10.12 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 94 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -+-----------+----------+----------+ -+-----------+----------+----------+ -+-----------+----------+----------+ -19 rows in set (9.88 sec) - -mysql> quit -Bye - * MySQL running (21735) --- считаем средние длины URL для крупных счётчиков.; - - -times: 1 -query: SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 95 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, a vg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -+------------------+----------+---------+--------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+--------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+--------------------------------------------------------------------------------------------------+ -11 rows in set (2 min 19.25 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 96 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, a vg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -+------------------+----------+---------+--------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+--------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+--------------------------------------------------------------------------------------------------+ -11 rows in set (1 min 19.33 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 97 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, a vg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -+------------------+----------+---------+--------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+--------------------------------------------------------------------------------------------------+ -+------------------+----------+---------+--------------------------------------------------------------------------------------------------+ -11 rows in set (1 min 18.92 sec) - -mysql> quit -Bye - * MySQL running (21735) --- то же самое, но с разбивкой по доменам.; - - -times: 1 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 98 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(Resolu tionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), s um(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionW idth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), su m(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWi dth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum (ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWid th + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum( ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidt h + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(R esolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(Re solutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (2 min 25.80 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 99 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(Resolu tionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), s um(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionW idth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), su m(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWi dth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum (ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWid th + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum( ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidt h + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(R esolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(Re solutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (2 min 26.20 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 100 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(Resolu tionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), s um(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionW idth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), su m(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWi dth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum (ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWid th + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum( ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidt h + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(R esolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(Re solutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -+----------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+---------------------------+ -1 row in set (2 min 24.97 sec) - -mysql> quit -Bye - * MySQL running (21735) --- много тупых агрегатных функций.; - - -times: 1 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 101 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY coun t(*) DESC LIMIT 10; -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -10 rows in set (3.34 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 102 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY coun t(*) DESC LIMIT 10; -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -10 rows in set (2.02 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 103 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY coun t(*) DESC LIMIT 10; -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -+----------------+------------+-----+--------------+----------------------+ -10 rows in set (2.06 sec) - -mysql> quit -Bye - * MySQL running (21735) --- сложная агрегация, для больших таблиц может не хватить оперативки.; - - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 104 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMI T 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (3.68 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 105 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMI T 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (3.05 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 106 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMI T 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (3.02 sec) - -mysql> quit -Bye - * MySQL running (21735) --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - - -times: 1 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 107 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (14.76 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 108 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (14.82 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 109 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -+---------------------+------------+---+--------------+----------------------+ -10 rows in set (14.76 sec) - -mysql> quit -Bye - * MySQL running (21735) --- то же самое, но ещё и без фильтрации.; - - -times: 1 -query: SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 110 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -10 rows in set (1 min 17.49 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 111 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -10 rows in set (1 min 31.40 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 112 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -+--------------------------------------------------------------+----------+ -10 rows in set (1 min 30.90 sec) - -mysql> quit -Bye - * MySQL running (21735) --- агрегация по URL.; - - -times: 1 -query: SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 113 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -10 rows in set (1 min 15.37 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 114 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -10 rows in set (1 min 23.55 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 115 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -+---+--------------------------------------------------------------+----------+ -10 rows in set (1 min 3.55 sec) - -mysql> quit -Bye - * MySQL running (21735) --- агрегация по URL и числу.; - - -times: 1 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 116 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMI T 10; -+------------+--------------+--------------+--------------+----------+ -+------------+--------------+--------------+--------------+----------+ -+------------+--------------+--------------+--------------+----------+ -10 rows in set (10.80 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 117 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMI T 10; -+------------+--------------+--------------+--------------+----------+ -+------------+--------------+--------------+--------------+----------+ -+------------+--------------+--------------+--------------+----------+ -10 rows in set (10.52 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 118 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMI T 10; -+------------+--------------+--------------+--------------+----------+ -+------------+--------------+--------------+--------------+----------+ -+------------+--------------+--------------+--------------+----------+ -10 rows in set (10.67 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 119 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 120 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 121 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 122 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AN D NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -10 rows in set (23.77 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 123 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AN D NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -10 rows in set (9.47 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 124 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AN D NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------+-----------+ -10 rows in set (9.30 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 125 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -10 rows in set (50.21 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 126 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -10 rows in set (3.37 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 127 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -+---------------------------------------------------------------------------------------+-----------+ -10 rows in set (3.36 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 128 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink A ND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (1.26 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 129 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink A ND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (0.77 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 130 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink A ND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (0.76 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 131 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (1 min 38.25 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 132 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (1 min 44.60 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 133 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -+----------------+----------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+ -1000 rows in set (1 min 34.29 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 134 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refre sh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -Empty set (2.04 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 135 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refre sh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -Empty set (0.47 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 136 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refre sh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -Empty set (0.54 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 137 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07 -31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Empty set (1.36 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 138 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07 -31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Empty set (0.42 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 139 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07 -31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Empty set (0.41 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 1 -query: SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 140 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDat e <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -+---------------------+-----------+ -+---------------------+-----------+ -+---------------------+-----------+ -652 rows in set (4.58 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 2 -query: SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 141 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDat e <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -+---------------------+-----------+ -+---------------------+-----------+ -+---------------------+-----------+ -652 rows in set (4.01 sec) - -mysql> quit -Bye - * MySQL running (21735) - -times: 3 -query: SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -spawn mysql-ib -u root -D hits -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 142 -Server version: 5.1.40 build number (revision)=IB_4.0.7_r16961_17249(ice) (static) - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 34 AND EventDate >= DATE('2013-07-01') AND EventDat e <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -+---------------------+-----------+ -+---------------------+-----------+ -+---------------------+-----------+ -652 rows in set (3.98 sec) - -mysql> quit -Bye - * MySQL running (21735) -stop time: Вт. сент. 3 16:34:22 MSK 2013 diff --git a/benchmark/infobright/queries.sql b/benchmark/infobright/queries.sql deleted file mode 100644 index f5a14c5908e..00000000000 --- a/benchmark/infobright/queries.sql +++ /dev/null @@ -1,113 +0,0 @@ --- set GLOBAL max_length_for_sort_data = 8388608; - -SELECT count(*) FROM hits_10m; -SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -SELECT sum(UserID) FROM hits_10m; -SELECT count(DISTINCT UserID) FROM hits_10m; -SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -SELECT min(EventDate), max(EventDate) FROM hits_10m; - -SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; --- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.; - -SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; --- агрегация, среднее количество ключей.; - -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; --- агрегация, среднее количество ключей, несколько агрегатных функций.; - -SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; --- мощная фильтрация по строкам, затем агрегация по строкам.; - -SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; --- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.; - -SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.; - -SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; --- агрегация чуть сложнее.; - -SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- агрегация по числу и строке, большое количество ключей.; - -SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; --- агрегация по очень большому количеству ключей, может не хватить оперативки.; - -SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- ещё более сложная агрегация.; - -SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; --- то же самое, но без сортировки.; - -SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- ещё более сложная агрегация, не стоит выполнять на больших таблицах.; - -SELECT UserID FROM hits_10m WHERE UserID = 123456789; --- мощная фильтрация по столбцу типа UInt64.; - -SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; --- фильтрация по поиску подстроки в строке.; - -SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- вынимаем большие столбцы, фильтрация по строке.; - -SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; --- чуть больше столбцы.; - -SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; --- плохой запрос - вынимаем все столбцы.; - -SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; --- большая сортировка.; - -SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; --- большая сортировка по строкам.; - -SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; --- большая сортировка по кортежу.; - -SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; --- считаем средние длины URL для крупных счётчиков.; - -SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; --- то же самое, но с разбивкой по доменам.; - -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; --- много тупых агрегатных функций.; - -SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; --- сложная агрегация, для больших таблиц может не хватить оперативки.; - -SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; --- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.; - -SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; --- то же самое, но ещё и без фильтрации.; - -SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; --- агрегация по URL.; - -SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; --- агрегация по URL и числу.; - -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; - -SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; - - -SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; - - -SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; - - -SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; - - -SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; - -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; - -SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; \ No newline at end of file diff --git a/benchmark/memsql/benchmark.sh b/benchmark/memsql/benchmark.sh deleted file mode 100644 index c4285370d74..00000000000 --- a/benchmark/memsql/benchmark.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -QUERIES_FILE="queries.sql" -TABLE=$1 -TRIES=3 - -cat "$QUERIES_FILE" | sed "s/{table}/${TABLE}/g" | while read query; do - sync - echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null - - echo -n "[" - for i in $(seq 1 $TRIES); do - - RES=$(mysql -u root -h 127.0.0.1 -P 3306 --database=test -t -vvv -e "$query" 2>&1 | grep ' set ' | grep -oP '\d+\.\d+') - - [[ "$?" == "0" ]] && echo -n "$RES" || echo -n "null" - [[ "$i" != $TRIES ]] && echo -n ", " - done - echo "]," -done diff --git a/benchmark/memsql/instructions.txt b/benchmark/memsql/instructions.txt deleted file mode 100644 index 6f167d62faf..00000000000 --- a/benchmark/memsql/instructions.txt +++ /dev/null @@ -1,141 +0,0 @@ -Note: column store in MemSQL was introduced in Feb 2014. - -http://www.memsql.com/download/ -http://docs.memsql.com/docs/latest/setup/setup_onprem.html -wget http://download.memsql.com/8d9f4c4d99a547baa40ba097b171bd15/memsql-3.2.x86_64.deb -scp memsql-3.2.x86_64.deb example05e:~ -ssh example05e -sudo dpkg -i memsql-3.2.x86_64.deb - -sudo mkdir /opt/memsql-data/ -sudo cp -r /var/lib/memsql/data/* /opt/memsql-data/ -sudo rm -rf /var/lib/memsql/data -sudo ln -s /opt/memsql-data /var/lib/memsql/data -sudo chown -R memsql /opt/memsql-data -sudo chown -R memsql /var/lib/memsql/data - -sudo service memsql start -mysql -u root -h 127.0.0.1 -P 3306 --prompt="memsql> " - -CREATE DATABASE test; -USE test; - -CREATE TABLE hits_10m -( - WatchID BIGINT, - JavaEnable SMALLINT, - Title VARCHAR(1400), - GoodEvent SMALLINT, - EventTime TIMESTAMP, - EventDate DATE, - CounterID BIGINT, - ClientIP BIGINT, - RegionID BIGINT, - UserID BIGINT, - CounterClass TINYINT, - OS SMALLINT, - UserAgent SMALLINT, - URL VARCHAR(7800), - Referer VARCHAR(3125), - Refresh TINYINT, - RefererCategoryID INT, - RefererRegionID BIGINT, - URLCategoryID INT, - URLRegionID BIGINT, - ResolutionWidth INT, - ResolutionHeight INT, - ResolutionDepth SMALLINT, - FlashMajor SMALLINT, - FlashMinor SMALLINT, - FlashMinor2 VARCHAR(256), - NetMajor SMALLINT, - NetMinor SMALLINT, - UserAgentMajor INT, - UserAgentMinor CHAR(2), - CookieEnable SMALLINT, - JavascriptEnable SMALLINT, - IsMobile SMALLINT, - MobilePhone SMALLINT, - MobilePhoneModel VARCHAR(80), - Params VARCHAR(2925), - IPNetworkID BIGINT, - TraficSourceID SMALLINT, - SearchEngineID INT, - SearchPhrase VARCHAR(2008), - AdvEngineID SMALLINT, - IsArtifical SMALLINT, - WindowClientWidth INT, - WindowClientHeight INT, - ClientTimeZone INTEGER, - ClientEventTime TIMESTAMP, - SilverlightVersion1 SMALLINT, - SilverlightVersion2 SMALLINT, - SilverlightVersion3 BIGINT, - SilverlightVersion4 INT, - PageCharset VARCHAR(80), - CodeVersion BIGINT, - IsLink SMALLINT, - IsDownload SMALLINT, - IsNotBounce SMALLINT, - FUniqID BIGINT, - OriginalURL VARCHAR(8181), - HID BIGINT, - IsOldCounter SMALLINT, - IsEvent SMALLINT, - IsParameter SMALLINT, - DontCountHits SMALLINT, - WithHash SMALLINT, - HitColor CHAR(1), - LocalEventTime TIMESTAMP, - Age SMALLINT, - Sex SMALLINT, - Income SMALLINT, - Interests INT, - Robotness SMALLINT, - RemoteIP BIGINT, - WindowName INT, - OpenerName INT, - HistoryLength SMALLINT, - BrowserLanguage CHAR(2), - BrowserCountry CHAR(2), - SocialNetwork VARCHAR(128), - SocialAction VARCHAR(128), - HTTPError INT, - SendTiming BIGINT, - DNSTiming BIGINT, - ConnectTiming BIGINT, - ResponseStartTiming BIGINT, - ResponseEndTiming BIGINT, - FetchTiming BIGINT, - SocialSourceNetworkID SMALLINT, - SocialSourcePage VARCHAR(256), - ParamPrice BIGINT, - ParamOrderID VARCHAR(80), - ParamCurrency CHAR(3), - ParamCurrencyID INT, - OpenstatServiceName VARCHAR(80), - OpenstatCampaignID VARCHAR(512), - OpenstatAdID VARCHAR(80), - OpenstatSourceID VARCHAR(256), - UTMSource VARCHAR(256), - UTMMedium VARCHAR(256), - UTMCampaign VARCHAR(407), - UTMContent VARCHAR(256), - UTMTerm VARCHAR(437), - FromTag VARCHAR(428), - HasGCLID SMALLINT, - RefererHash BIGINT, - URLHash BIGINT, - CLID BIGINT, - INDEX ColumnStoreIndex USING CLUSTERED COLUMNSTORE (CounterID, EventDate, UserID, EventTime) -); - -Table creation takes about 15 seconds. - -LOAD DATA INFILE '/opt/dumps/hits_10m_corrected.tsv' INTO TABLE hits_10m; - -12 min 24.51 sec - -13422 rows/sec. - -data size: 1 613 773 528 bytes. diff --git a/benchmark/memsql/queries.sql b/benchmark/memsql/queries.sql deleted file mode 100644 index 6069bad1b44..00000000000 --- a/benchmark/memsql/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -SELECT count(*) FROM hits_10m; -SELECT count(*) FROM hits_10m WHERE AdvEngineID != 0; -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m; -SELECT sum(UserID) FROM hits_10m; -SELECT count(DISTINCT UserID) FROM hits_10m; -SELECT count(DISTINCT SearchPhrase) FROM hits_10m; -SELECT min(EventDate), max(EventDate) FROM hits_10m; -SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10; -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10; -SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID FROM hits_10m WHERE UserID = 123456789; -SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%'; -SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT SUBSTRING(SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, GREATEST(0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1)) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer != '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m; -SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -SELECT EventTime - INTERVAL SECOND(EventTime) SECOND AS Minute, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; diff --git a/benchmark/monetdb/aws.log b/benchmark/monetdb/aws.log deleted file mode 100644 index e5fa40018bf..00000000000 --- a/benchmark/monetdb/aws.log +++ /dev/null @@ -1,1774 +0,0 @@ -milovidov@milovidov-desktop:~$ ssh -i ▉▉▉.pem ubuntu@ec2-▉▉▉.us-east-2.compute.amazonaws.com -Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 5.3.0-1032-aws x86_64) - - * Documentation: https://help.ubuntu.com - * Management: https://landscape.canonical.com - * Support: https://ubuntu.com/advantage - - System information as of Wed Aug 12 22:11:00 UTC 2020 - - System load: 0.06 Processes: 318 - Usage of /: 2.3% of 193.82GB Users logged in: 1 - Memory usage: 0% IP address for ens5: ▉▉▉ - Swap usage: 0% - - -0 packages can be updated. -0 updates are security updates. - - -Last login: Wed Aug 12 22:00:27 2020 from 109.252.51.97 -To run a command as administrator (user "root"), use "sudo ". -See "man sudo_root" for details. - -ubuntu@ip-▉▉▉:~$ wget https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/clickhouse/benchmark-new.sh ---2020-08-12 22:11:07-- https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/clickhouse/benchmark-new.sh -Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.248.133 -Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.248.133|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 468 [text/plain] -Saving to: ‘benchmark-new.sh’ - -benchmark-new.sh 100%[========================================================================================================================>] 468 --.-KB/s in 0s - -2020-08-12 22:11:12 (44.9 MB/s) - ‘benchmark-new.sh’ saved [468/468] - -ubuntu@ip-▉▉▉:~$ chmod a+x benchmark-new.sh -ubuntu@ip-▉▉▉:~$ wget https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/clickhouse/queries.sql ---2020-08-12 22:11:12-- https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/clickhouse/queries.sql -Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.248.133 -Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.248.133|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 8074 (7.9K) [text/plain] -Saving to: ‘queries.sql’ - -queries.sql 100%[========================================================================================================================>] 7.88K --.-KB/s in 0s - -2020-08-12 22:11:12 (135 MB/s) - ‘queries.sql’ saved [8074/8074] - -ubuntu@ip-▉▉▉:~$ wget https://clickhouse-datasets.s3.yandex.net/hits/partitions/hits_100m_obfuscated_v1.tar.xz ---2020-08-12 22:11:27-- https://clickhouse-datasets.s3.yandex.net/hits/partitions/hits_100m_obfuscated_v1.tar.xz -Resolving clickhouse-datasets.s3.yandex.net (clickhouse-datasets.s3.yandex.net)... 93.158.134.158, 2a02:6b8::2:158 -Connecting to clickhouse-datasets.s3.yandex.net (clickhouse-datasets.s3.yandex.net)|93.158.134.158|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 9722280160 (9.1G) [application/octet-stream] -Saving to: ‘hits_100m_obfuscated_v1.tar.xz’ - -hits_100m_obfuscated_v1.tar.xz 100%[========================================================================================================================>] 9.05G 10.8MB/s in 13m 7s - -2020-08-12 22:24:35 (11.8 MB/s) - ‘hits_100m_obfuscated_v1.tar.xz’ saved [9722280160/9722280160] - -ubuntu@ip-▉▉▉:~$ tar xvf hits_100m_obfuscated_v1.tar.xz -C . -hits_100m_obfuscated_v1/data/ -hits_100m_obfuscated_v1/data/default/ -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/ -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsParameter.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WithHash.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WatchID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Interests.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SocialNetwork.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsLink.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RefererCategoryID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResponseStartTiming.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ParamCurrency.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FetchTiming.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/MobilePhone.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HistoryLength.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Params.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CookieEnable.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ParamOrderID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Refresh.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HasGCLID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsNotBounce.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/EventDate.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SocialAction.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RemoteIP.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResolutionWidth.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsEvent.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WithHash.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SocialSourceNetworkID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CLID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/DontCountHits.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/EventTime.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FlashMinor.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMMedium.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WatchID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FlashMinor2.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CLID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/URLCategoryID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/URLRegionID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsEvent.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsParameter.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WindowClientHeight.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SocialSourcePage.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/checksums.txt -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CounterID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SilverlightVersion1.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SocialSourceNetworkID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Sex.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/PageCharset.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UserAgentMajor.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResolutionDepth.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenstatCampaignID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IPNetworkID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OriginalURL.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsArtifical.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CounterClass.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Refresh.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMSource.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/BrowserLanguage.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HTTPError.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/NetMajor.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMTerm.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenerName.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Robotness.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/GoodEvent.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FetchTiming.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UserAgent.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SilverlightVersion2.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ClientEventTime.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/EventTime.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WindowName.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OriginalURL.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Params.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SearchEngineID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/URLRegionID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Age.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ParamCurrencyID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FlashMajor.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FUniqID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SilverlightVersion3.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMTerm.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/EventDate.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SilverlightVersion4.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/URLCategoryID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsOldCounter.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WindowClientHeight.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Referer.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RefererCategoryID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsDownload.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ClientTimeZone.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ParamPrice.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMCampaign.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsArtifical.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HitColor.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HistoryLength.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RegionID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsLink.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Title.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FUniqID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SilverlightVersion2.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ConnectTiming.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResolutionWidth.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/LocalEventTime.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/columns.txt -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/minmax_EventDate.idx -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMMedium.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/TraficSourceID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ClientTimeZone.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenstatSourceID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/NetMinor.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RegionID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HTTPError.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/URLHash.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsMobile.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CodeVersion.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Age.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/URL.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/JavascriptEnable.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsOldCounter.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FlashMajor.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WindowName.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/JavaEnable.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CounterClass.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SocialSourcePage.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RefererRegionID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/partition.dat -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/DNSTiming.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenstatServiceName.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UserAgentMinor.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/MobilePhoneModel.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenstatServiceName.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResolutionHeight.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ParamCurrency.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Robotness.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SendTiming.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ConnectTiming.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FromTag.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenstatAdID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/URLHash.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/DontCountHits.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SendTiming.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResponseEndTiming.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ParamOrderID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMCampaign.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsMobile.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/MobilePhone.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RefererHash.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Referer.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/BrowserCountry.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CookieEnable.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UserAgentMinor.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FlashMinor.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/GoodEvent.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/AdvEngineID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OS.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HasGCLID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OS.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResolutionHeight.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResolutionDepth.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/BrowserLanguage.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/MobilePhoneModel.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenstatSourceID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsDownload.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Sex.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ClientIP.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/DNSTiming.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FlashMinor2.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/count.txt -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ClientEventTime.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/LocalEventTime.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UserAgentMajor.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/AdvEngineID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResponseEndTiming.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HitColor.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ParamCurrencyID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Title.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WindowClientWidth.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SilverlightVersion4.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Income.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMContent.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SilverlightVersion1.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/NetMajor.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UserID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/FromTag.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/TraficSourceID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/primary.idx -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMContent.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/WindowClientWidth.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UserAgent.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SocialAction.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/JavascriptEnable.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SilverlightVersion3.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenstatCampaignID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RefererHash.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenerName.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/BrowserCountry.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/JavaEnable.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Interests.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ResponseStartTiming.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RefererRegionID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/RemoteIP.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IsNotBounce.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ClientIP.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CounterID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UserID.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SearchPhrase.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/CodeVersion.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SearchPhrase.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/Income.bin -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/ParamPrice.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/PageCharset.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SearchEngineID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/SocialNetwork.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/OpenstatAdID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/URL.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/IPNetworkID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/HID.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/UTMSource.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/201307_1_96_4/NetMinor.mrk2 -hits_100m_obfuscated_v1/data/default/hits_100m_obfuscated/format_version.txt -hits_100m_obfuscated_v1/metadata/ -hits_100m_obfuscated_v1/metadata/default/ -hits_100m_obfuscated_v1/metadata/default/hits_100m_obfuscated.sql -ubuntu@ip-▉▉▉:~$ mv hits_100m_obfuscated_v1/* . -mv: cannot move 'hits_100m_obfuscated_v1/data' to './data': Directory not empty -mv: cannot move 'hits_100m_obfuscated_v1/metadata' to './metadata': Directory not empty -ubuntu@ip-▉▉▉:~$ rm -rf data metadata -ubuntu@ip-▉▉▉:~$ mv hits_100m_obfuscated_v1/* . -ubuntu@ip-▉▉▉:~$ ./clickhouse client --query "SELECT count() FROM hits_100m_obfuscated" -100000000 -ubuntu@ip-▉▉▉:~$ mcedit benchmark-new.sh - -Command 'mcedit' not found, but can be installed with: - -sudo apt install mc - -ubuntu@ip-▉▉▉:~$ nanobenchmark-new.sh -nanobenchmark-new.sh: command not found -ubuntu@ip-▉▉▉:~$ nano benchmark-new.sh -ubuntu@ip-▉▉▉:~$ ./benchmark-new.sh hits_100m_obfuscated -[0.015, 0.001, 0.001], -[0.038, 0.015, 0.015], -[0.072, 0.033, 0.033], -[0.198, 0.052, 0.051], -[0.338, 0.166, 0.120], -[1.036, 0.252, 0.264], -[0.034, 0.020, 0.020], -[0.020, 0.015, 0.015], -[0.521, 0.414, 0.391], -[0.563, 0.496, 0.497], -[0.242, 0.143, 0.143], -[0.261, 0.168, 0.168], -[1.067, 0.574, 0.567], -[1.537, 0.772, 0.759], -[0.802, 0.736, 0.752], -[0.904, 0.797, 0.742], -[2.229, 1.795, 1.867], -[1.314, 0.987, 0.962], -[5.216, 4.149, 5.540], -[0.208, 0.057, 0.036], -[9.238, 0.660, 0.609], -[10.105, 0.685, 0.668], -[19.544, 1.851, 1.766], -[19.690, 0.943, 0.817], -[1.834, 0.228, 0.217], -[0.757, 0.177, 0.176], -[2.331, 0.224, 0.214], -[9.174, 0.728, 0.688], -[7.330, 1.130, 1.108], -[1.834, 1.810, 1.818], -[1.429, 0.547, 0.550], -[4.518, 0.879, 0.895], -[6.157, 5.540, 5.547], -[9.846, 3.033, 3.044], -[9.847, 3.061, 3.016], -[1.157, 1.086, 1.117], -[0.238, 0.169, 0.175], -[0.094, 0.072, 0.072], -[0.041, 0.037, 0.041], -[0.453, 0.364, 0.345], -[0.054, 0.015, 0.019], -[0.024, 0.010, 0.010], -[0.012, 0.006, 0.007], -ubuntu@ip-▉▉▉:~$ ./clickhouse client -ClickHouse client version 20.8.1.4338 (official build). -Connecting to localhost:9000 as user default. -Connected to ClickHouse server version 20.8.1 revision 54438. - -ip-▉▉▉.us-east-2.compute.internal :) SELECT -:-] toInt64(WatchID) = -9223372036854775808 ? -9223372036854775807 : toInt64(WatchID), -:-] toInt8(JavaEnable) = -128 ? -127 : toInt8(JavaEnable), -:-] toValidUTF8(toString(Title)), -:-] toInt16(GoodEvent) = -32768 ? -32767 : toInt16(GoodEvent), -:-] EventTime, -:-] EventDate, -:-] toInt32(CounterID) = -2147483648 ? -2147483647 : toInt32(CounterID), -:-] toInt32(ClientIP) = -2147483648 ? -2147483647 : toInt32(ClientIP), -:-] toInt32(RegionID) = -2147483648 ? -2147483647 : toInt32(RegionID), -:-] toInt64(UserID) = -9223372036854775808 ? -9223372036854775807 : toInt64(UserID), -:-] toInt8(CounterClass) = -128 ? -127 : toInt8(CounterClass), -:-] toInt8(OS) = -128 ? -127 : toInt8(OS), -:-] toInt8(UserAgent) = -128 ? -127 : toInt8(UserAgent), -:-] toValidUTF8(toString(URL)), -:-] toValidUTF8(toString(Referer)), -:-] toInt8(Refresh) = -128 ? -127 : toInt8(Refresh), -:-] toInt16(RefererCategoryID) = -32768 ? -32767 : toInt16(RefererCategoryID), -:-] toInt32(RefererRegionID) = -2147483648 ? -2147483647 : toInt32(RefererRegionID), -:-] toInt16(URLCategoryID) = -32768 ? -32767 : toInt16(URLCategoryID), -:-] toInt32(URLRegionID) = -2147483648 ? -2147483647 : toInt32(URLRegionID), -:-] toInt16(ResolutionWidth) = -32768 ? -32767 : toInt16(ResolutionWidth), -:-] toInt16(ResolutionHeight) = -32768 ? -32767 : toInt16(ResolutionHeight), -:-] toInt8(ResolutionDepth) = -128 ? -127 : toInt8(ResolutionDepth), -:-] toInt8(FlashMajor) = -128 ? -127 : toInt8(FlashMajor), -:-] toInt8(FlashMinor) = -128 ? -127 : toInt8(FlashMinor), -:-] toValidUTF8(toString(FlashMinor2)), -:-] toInt8(NetMajor) = -128 ? -127 : toInt8(NetMajor), -:-] toInt8(NetMinor) = -128 ? -127 : toInt8(NetMinor), -:-] toInt16(UserAgentMajor) = -32768 ? -32767 : toInt16(UserAgentMajor), -:-] toValidUTF8(toString(UserAgentMinor)), -:-] toInt8(CookieEnable) = -128 ? -127 : toInt8(CookieEnable), -:-] toInt8(JavascriptEnable) = -128 ? -127 : toInt8(JavascriptEnable), -:-] toInt8(IsMobile) = -128 ? -127 : toInt8(IsMobile), -:-] toInt8(MobilePhone) = -128 ? -127 : toInt8(MobilePhone), -:-] toValidUTF8(toString(MobilePhoneModel)), -:-] toValidUTF8(toString(Params)), -:-] toInt32(IPNetworkID) = -2147483648 ? -2147483647 : toInt32(IPNetworkID), -:-] toInt8(TraficSourceID) = -128 ? -127 : toInt8(TraficSourceID), -:-] toInt16(SearchEngineID) = -32768 ? -32767 : toInt16(SearchEngineID), -:-] toValidUTF8(toString(SearchPhrase)), -:-] toInt8(AdvEngineID) = -128 ? -127 : toInt8(AdvEngineID), -:-] toInt8(IsArtifical) = -128 ? -127 : toInt8(IsArtifical), -:-] toInt16(WindowClientWidth) = -32768 ? -32767 : toInt16(WindowClientWidth), -:-] toInt16(WindowClientHeight) = -32768 ? -32767 : toInt16(WindowClientHeight), -:-] toInt16(ClientTimeZone) = -32768 ? -32767 : toInt16(ClientTimeZone), -:-] ClientEventTime, -:-] toInt8(SilverlightVersion1) = -128 ? -127 : toInt8(SilverlightVersion1), -:-] toInt8(SilverlightVersion2) = -128 ? -127 : toInt8(SilverlightVersion2), -:-] toInt32(SilverlightVersion3) = -2147483648 ? -2147483647 : toInt32(SilverlightVersion3), -:-] toInt16(SilverlightVersion4) = -32768 ? -32767 : toInt16(SilverlightVersion4), -:-] toValidUTF8(toString(PageCharset)), -:-] toInt32(CodeVersion) = -2147483648 ? -2147483647 : toInt32(CodeVersion), -:-] toInt8(IsLink) = -128 ? -127 : toInt8(IsLink), -:-] toInt8(IsDownload) = -128 ? -127 : toInt8(IsDownload), -:-] toInt8(IsNotBounce) = -128 ? -127 : toInt8(IsNotBounce), -:-] toInt64(FUniqID) = -9223372036854775808 ? -9223372036854775807 : toInt64(FUniqID), -:-] toValidUTF8(toString(OriginalURL)), -:-] toInt32(HID) = -2147483648 ? -2147483647 : toInt32(HID), -:-] toInt8(IsOldCounter) = -128 ? -127 : toInt8(IsOldCounter), -:-] toInt8(IsEvent) = -128 ? -127 : toInt8(IsEvent), -:-] toInt8(IsParameter) = -128 ? -127 : toInt8(IsParameter), -:-] toInt8(DontCountHits) = -128 ? -127 : toInt8(DontCountHits), -:-] toInt8(WithHash) = -128 ? -127 : toInt8(WithHash), -:-] toValidUTF8(toString(HitColor)), -:-] LocalEventTime, -:-] toInt8(Age) = -128 ? -127 : toInt8(Age), -:-] toInt8(Sex) = -128 ? -127 : toInt8(Sex), -:-] toInt8(Income) = -128 ? -127 : toInt8(Income), -:-] toInt16(Interests) = -32768 ? -32767 : toInt16(Interests), -:-] toInt8(Robotness) = -128 ? -127 : toInt8(Robotness), -:-] toInt32(RemoteIP) = -2147483648 ? -2147483647 : toInt32(RemoteIP), -:-] toInt32(WindowName) = -2147483648 ? -2147483647 : toInt32(WindowName), -:-] toInt32(OpenerName) = -2147483648 ? -2147483647 : toInt32(OpenerName), -:-] toInt16(HistoryLength) = -32768 ? -32767 : toInt16(HistoryLength), -:-] toValidUTF8(toString(BrowserLanguage)), -:-] toValidUTF8(toString(BrowserCountry)), -:-] toValidUTF8(toString(SocialNetwork)), -:-] toValidUTF8(toString(SocialAction)), -:-] toInt16(HTTPError) = -32768 ? -32767 : toInt16(HTTPError), -:-] toInt32(SendTiming) = -2147483648 ? -2147483647 : toInt32(SendTiming), -:-] toInt32(DNSTiming) = -2147483648 ? -2147483647 : toInt32(DNSTiming), -:-] toInt32(ConnectTiming) = -2147483648 ? -2147483647 : toInt32(ConnectTiming), -:-] toInt32(ResponseStartTiming) = -2147483648 ? -2147483647 : toInt32(ResponseStartTiming), -:-] toInt32(ResponseEndTiming) = -2147483648 ? -2147483647 : toInt32(ResponseEndTiming), -:-] toInt32(FetchTiming) = -2147483648 ? -2147483647 : toInt32(FetchTiming), -:-] toInt8(SocialSourceNetworkID) = -128 ? -127 : toInt8(SocialSourceNetworkID), -:-] toValidUTF8(toString(SocialSourcePage)), -:-] toInt64(ParamPrice) = -9223372036854775808 ? -9223372036854775807 : toInt64(ParamPrice), -:-] toValidUTF8(toString(ParamOrderID)), -:-] toValidUTF8(toString(ParamCurrency)), -:-] toInt16(ParamCurrencyID) = -32768 ? -32767 : toInt16(ParamCurrencyID), -:-] toValidUTF8(toString(OpenstatServiceName)), -:-] toValidUTF8(toString(OpenstatCampaignID)), -:-] toValidUTF8(toString(OpenstatAdID)), -:-] toValidUTF8(toString(OpenstatSourceID)), -:-] toValidUTF8(toString(UTMSource)), -:-] toValidUTF8(toString(UTMMedium)), -:-] toValidUTF8(toString(UTMCampaign)), -:-] toValidUTF8(toString(UTMContent)), -:-] toValidUTF8(toString(UTMTerm)), -:-] toValidUTF8(toString(FromTag)), -:-] toInt8(HasGCLID) = -128 ? -127 : toInt8(HasGCLID), -:-] toInt64(RefererHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(RefererHash), -:-] toInt64(URLHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(URLHash), -:-] toInt32(CLID) = -2147483648 ? -2147483647 : toInt32(CLID) -:-] FROM hits_100m_obfuscated -:-] INTO OUTFILE '/home/ubuntu/hits_100m_obfuscated_monetdb.tsv' -:-] FORMAT TSV; - -SELECT - if(toInt64(WatchID) = -9223372036854775808, -9223372036854775807, toInt64(WatchID)), - if(toInt8(JavaEnable) = -128, -127, toInt8(JavaEnable)), - toValidUTF8(toString(Title)), - if(toInt16(GoodEvent) = -32768, -32767, toInt16(GoodEvent)), - EventTime, - EventDate, - if(toInt32(CounterID) = -2147483648, -2147483647, toInt32(CounterID)), - if(toInt32(ClientIP) = -2147483648, -2147483647, toInt32(ClientIP)), - if(toInt32(RegionID) = -2147483648, -2147483647, toInt32(RegionID)), - if(toInt64(UserID) = -9223372036854775808, -9223372036854775807, toInt64(UserID)), - if(toInt8(CounterClass) = -128, -127, toInt8(CounterClass)), - if(toInt8(OS) = -128, -127, toInt8(OS)), - if(toInt8(UserAgent) = -128, -127, toInt8(UserAgent)), - toValidUTF8(toString(URL)), - toValidUTF8(toString(Referer)), - if(toInt8(Refresh) = -128, -127, toInt8(Refresh)), - if(toInt16(RefererCategoryID) = -32768, -32767, toInt16(RefererCategoryID)), - if(toInt32(RefererRegionID) = -2147483648, -2147483647, toInt32(RefererRegionID)), - if(toInt16(URLCategoryID) = -32768, -32767, toInt16(URLCategoryID)), - if(toInt32(URLRegionID) = -2147483648, -2147483647, toInt32(URLRegionID)), - if(toInt16(ResolutionWidth) = -32768, -32767, toInt16(ResolutionWidth)), - if(toInt16(ResolutionHeight) = -32768, -32767, toInt16(ResolutionHeight)), - if(toInt8(ResolutionDepth) = -128, -127, toInt8(ResolutionDepth)), - if(toInt8(FlashMajor) = -128, -127, toInt8(FlashMajor)), - if(toInt8(FlashMinor) = -128, -127, toInt8(FlashMinor)), - toValidUTF8(toString(FlashMinor2)), - if(toInt8(NetMajor) = -128, -127, toInt8(NetMajor)), - if(toInt8(NetMinor) = -128, -127, toInt8(NetMinor)), - if(toInt16(UserAgentMajor) = -32768, -32767, toInt16(UserAgentMajor)), - toValidUTF8(toString(UserAgentMinor)), - if(toInt8(CookieEnable) = -128, -127, toInt8(CookieEnable)), - if(toInt8(JavascriptEnable) = -128, -127, toInt8(JavascriptEnable)), - if(toInt8(IsMobile) = -128, -127, toInt8(IsMobile)), - if(toInt8(MobilePhone) = -128, -127, toInt8(MobilePhone)), - toValidUTF8(toString(MobilePhoneModel)), - toValidUTF8(toString(Params)), - if(toInt32(IPNetworkID) = -2147483648, -2147483647, toInt32(IPNetworkID)), - if(toInt8(TraficSourceID) = -128, -127, toInt8(TraficSourceID)), - if(toInt16(SearchEngineID) = -32768, -32767, toInt16(SearchEngineID)), - toValidUTF8(toString(SearchPhrase)), - if(toInt8(AdvEngineID) = -128, -127, toInt8(AdvEngineID)), - if(toInt8(IsArtifical) = -128, -127, toInt8(IsArtifical)), - if(toInt16(WindowClientWidth) = -32768, -32767, toInt16(WindowClientWidth)), - if(toInt16(WindowClientHeight) = -32768, -32767, toInt16(WindowClientHeight)), - if(toInt16(ClientTimeZone) = -32768, -32767, toInt16(ClientTimeZone)), - ClientEventTime, - if(toInt8(SilverlightVersion1) = -128, -127, toInt8(SilverlightVersion1)), - if(toInt8(SilverlightVersion2) = -128, -127, toInt8(SilverlightVersion2)), - if(toInt32(SilverlightVersion3) = -2147483648, -2147483647, toInt32(SilverlightVersion3)), - if(toInt16(SilverlightVersion4) = -32768, -32767, toInt16(SilverlightVersion4)), - toValidUTF8(toString(PageCharset)), - if(toInt32(CodeVersion) = -2147483648, -2147483647, toInt32(CodeVersion)), - if(toInt8(IsLink) = -128, -127, toInt8(IsLink)), - if(toInt8(IsDownload) = -128, -127, toInt8(IsDownload)), - if(toInt8(IsNotBounce) = -128, -127, toInt8(IsNotBounce)), - if(toInt64(FUniqID) = -9223372036854775808, -9223372036854775807, toInt64(FUniqID)), - toValidUTF8(toString(OriginalURL)), - if(toInt32(HID) = -2147483648, -2147483647, toInt32(HID)), - if(toInt8(IsOldCounter) = -128, -127, toInt8(IsOldCounter)), - if(toInt8(IsEvent) = -128, -127, toInt8(IsEvent)), - if(toInt8(IsParameter) = -128, -127, toInt8(IsParameter)), - if(toInt8(DontCountHits) = -128, -127, toInt8(DontCountHits)), - if(toInt8(WithHash) = -128, -127, toInt8(WithHash)), - toValidUTF8(toString(HitColor)), - LocalEventTime, - if(toInt8(Age) = -128, -127, toInt8(Age)), - if(toInt8(Sex) = -128, -127, toInt8(Sex)), - if(toInt8(Income) = -128, -127, toInt8(Income)), - if(toInt16(Interests) = -32768, -32767, toInt16(Interests)), - if(toInt8(Robotness) = -128, -127, toInt8(Robotness)), - if(toInt32(RemoteIP) = -2147483648, -2147483647, toInt32(RemoteIP)), - if(toInt32(WindowName) = -2147483648, -2147483647, toInt32(WindowName)), - if(toInt32(OpenerName) = -2147483648, -2147483647, toInt32(OpenerName)), - if(toInt16(HistoryLength) = -32768, -32767, toInt16(HistoryLength)), - toValidUTF8(toString(BrowserLanguage)), - toValidUTF8(toString(BrowserCountry)), - toValidUTF8(toString(SocialNetwork)), - toValidUTF8(toString(SocialAction)), - if(toInt16(HTTPError) = -32768, -32767, toInt16(HTTPError)), - if(toInt32(SendTiming) = -2147483648, -2147483647, toInt32(SendTiming)), - if(toInt32(DNSTiming) = -2147483648, -2147483647, toInt32(DNSTiming)), - if(toInt32(ConnectTiming) = -2147483648, -2147483647, toInt32(ConnectTiming)), - if(toInt32(ResponseStartTiming) = -2147483648, -2147483647, toInt32(ResponseStartTiming)), - if(toInt32(ResponseEndTiming) = -2147483648, -2147483647, toInt32(ResponseEndTiming)), - if(toInt32(FetchTiming) = -2147483648, -2147483647, toInt32(FetchTiming)), - if(toInt8(SocialSourceNetworkID) = -128, -127, toInt8(SocialSourceNetworkID)), - toValidUTF8(toString(SocialSourcePage)), - if(toInt64(ParamPrice) = -9223372036854775808, -9223372036854775807, toInt64(ParamPrice)), - toValidUTF8(toString(ParamOrderID)), - toValidUTF8(toString(ParamCurrency)), - if(toInt16(ParamCurrencyID) = -32768, -32767, toInt16(ParamCurrencyID)), - toValidUTF8(toString(OpenstatServiceName)), - toValidUTF8(toString(OpenstatCampaignID)), - toValidUTF8(toString(OpenstatAdID)), - toValidUTF8(toString(OpenstatSourceID)), - toValidUTF8(toString(UTMSource)), - toValidUTF8(toString(UTMMedium)), - toValidUTF8(toString(UTMCampaign)), - toValidUTF8(toString(UTMContent)), - toValidUTF8(toString(UTMTerm)), - toValidUTF8(toString(FromTag)), - if(toInt8(HasGCLID) = -128, -127, toInt8(HasGCLID)), - if(toInt64(RefererHash) = -9223372036854775808, -9223372036854775807, toInt64(RefererHash)), - if(toInt64(URLHash) = -9223372036854775808, -9223372036854775807, toInt64(URLHash)), - if(toInt32(CLID) = -2147483648, -2147483647, toInt32(CLID)) -FROM hits_100m_obfuscated -INTO OUTFILE '/home/ubuntu/hits_100m_obfuscated_monetdb.tsv' -FORMAT TSV - - -100000000 rows in set. Elapsed: 460.329 sec. Processed 100.00 million rows, 74.69 GB (217.24 thousand rows/s., 162.25 MB/s.) - -ip-▉▉▉.us-east-2.compute.internal :) Bye. -ubuntu@ip-▉▉▉:~$ ls -l -total 86156956 --rwxrwxr-x 1 ubuntu ubuntu 502 Aug 12 22:37 benchmark-new.sh --rwxrwxr-x 1 ubuntu ubuntu 3676614664 Aug 11 02:05 clickhouse -drwxrwxr-x 4 ubuntu ubuntu 4096 Aug 12 22:36 data -drwxr-x--- 2 ubuntu ubuntu 4096 Aug 12 22:10 dictionaries_lib -drwxr-x--- 2 ubuntu ubuntu 4096 Aug 12 22:10 flags -drwxr-x--- 2 ubuntu ubuntu 4096 Aug 12 22:10 format_schemas --rw-rw-r-- 1 ubuntu ubuntu 74825746736 Aug 12 22:50 hits_100m_obfuscated_monetdb.tsv -drwxrwxr-x 2 ubuntu ubuntu 4096 Aug 12 22:36 hits_100m_obfuscated_v1 --rw-rw-r-- 1 ubuntu ubuntu 9722280160 Aug 7 2019 hits_100m_obfuscated_v1.tar.xz -drwxrwxr-x 4 ubuntu ubuntu 4096 Aug 12 22:36 metadata -drwxr-x--- 2 ubuntu ubuntu 4096 Aug 12 22:10 metadata_dropped -drwxr-x--- 2 ubuntu ubuntu 4096 Aug 12 22:10 preprocessed_configs --rw-rw-r-- 1 ubuntu ubuntu 8074 Aug 12 22:11 queries.sql --rw-r----- 1 ubuntu ubuntu 58 Aug 12 22:36 status -drwxr-x--- 2 ubuntu ubuntu 4096 Aug 12 22:10 tmp -drwxr-x--- 2 ubuntu ubuntu 4096 Aug 12 22:10 user_files -ubuntu@ip-▉▉▉:~$ sudo nano /etc/apt/sources.list.d/monetdb.list -ubuntu@ip-▉▉▉:~$ wget --output-document=- https://www.monetdb.org/downloads/MonetDB-GPG-KEY | sudo apt-key add - ---2020-08-12 22:51:53-- https://www.monetdb.org/downloads/MonetDB-GPG-KEY -Resolving www.monetdb.org (www.monetdb.org)... 192.16.197.137 -Connecting to www.monetdb.org (www.monetdb.org)|192.16.197.137|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 6738 (6.6K) -Saving to: ‘STDOUT’ - -- 100%[========================================================================================================================>] 6.58K --.-KB/s in 0s - -2020-08-12 22:51:53 (2.24 GB/s) - written to stdout [6738/6738] - -OK -ubuntu@ip-▉▉▉:~$ sudo apt update -Hit:1 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic InRelease -Get:2 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] -Get:3 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] -Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] -Get:5 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [8570 kB] -Get:6 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic/universe Translation-en [4941 kB] -Get:7 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [151 kB] -Get:8 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic/multiverse Translation-en [108 kB] -Get:9 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1032 kB] -Get:10 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1097 kB] -Get:11 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [342 kB] -Get:12 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [19.2 kB] -Get:13 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-updates/multiverse Translation-en [6712 B] -Get:14 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [7516 B] -Get:15 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-backports/main Translation-en [4764 B] -Get:16 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [7736 B] -Get:17 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic-backports/universe Translation-en [4588 B] -Get:18 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [809 kB] -Get:19 https://dev.monetdb.org/downloads/deb bionic InRelease [4457 B] -Get:20 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [254 kB] -Get:21 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 Packages [72.8 kB] -Get:22 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [689 kB] -Get:23 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [228 kB] -Get:24 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [8100 B] -Get:25 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [2852 B] -Fetched 18.6 MB in 3s (6053 kB/s) -Reading package lists... Done -Building dependency tree -Reading state information... Done -2 packages can be upgraded. Run 'apt list --upgradable' to see them. -ubuntu@ip-▉▉▉:~$ sudo apt install monetdb5-sql monetdb-client -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following additional packages will be installed: - libmonetdb-client12 libmonetdb-stream13 libmonetdb20 monetdb5-server monetdb5-server-hugeint monetdb5-sql-hugeint -The following NEW packages will be installed: - libmonetdb-client12 libmonetdb-stream13 libmonetdb20 monetdb-client monetdb5-server monetdb5-server-hugeint monetdb5-sql monetdb5-sql-hugeint -0 upgraded, 8 newly installed, 0 to remove and 2 not upgraded. -Need to get 3315 kB of archives. -After this operation, 13.6 MB of additional disk space will be used. -Do you want to continue? [Y/n] -Get:1 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 libmonetdb-client12 amd64 11.37.11 [104 kB] -Get:2 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 libmonetdb-stream13 amd64 11.37.11 [92.4 kB] -Get:3 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 libmonetdb20 amd64 11.37.11 [1229 kB] -Get:4 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 monetdb-client amd64 11.37.11 [149 kB] -Get:5 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 monetdb5-server amd64 11.37.11 [695 kB] -Get:6 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 monetdb5-server-hugeint amd64 11.37.11 [92.4 kB] -Get:7 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 monetdb5-sql amd64 11.37.11 [875 kB] -Get:8 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 monetdb5-sql-hugeint amd64 11.37.11 [77.7 kB] -Get:8 https://dev.monetdb.org/downloads/deb bionic/monetdb amd64 monetdb5-sql-hugeint amd64 11.37.11 [77.7 kB] -Fetched 3250 kB in 36s (90.3 kB/s) -Selecting previously unselected package libmonetdb-client12. -(Reading database ... 57084 files and directories currently installed.) -Preparing to unpack .../0-libmonetdb-client12_11.37.11_amd64.deb ... -Unpacking libmonetdb-client12 (11.37.11) ... -Selecting previously unselected package libmonetdb-stream13. -Preparing to unpack .../1-libmonetdb-stream13_11.37.11_amd64.deb ... -Unpacking libmonetdb-stream13 (11.37.11) ... -Selecting previously unselected package libmonetdb20. -Preparing to unpack .../2-libmonetdb20_11.37.11_amd64.deb ... -Unpacking libmonetdb20 (11.37.11) ... -Selecting previously unselected package monetdb-client. -Preparing to unpack .../3-monetdb-client_11.37.11_amd64.deb ... -Unpacking monetdb-client (11.37.11) ... -Selecting previously unselected package monetdb5-server. -Preparing to unpack .../4-monetdb5-server_11.37.11_amd64.deb ... -Unpacking monetdb5-server (11.37.11) ... -Selecting previously unselected package monetdb5-server-hugeint. -Preparing to unpack .../5-monetdb5-server-hugeint_11.37.11_amd64.deb ... -Unpacking monetdb5-server-hugeint (11.37.11) ... -Selecting previously unselected package monetdb5-sql. -Preparing to unpack .../6-monetdb5-sql_11.37.11_amd64.deb ... -Unpacking monetdb5-sql (11.37.11) ... -Selecting previously unselected package monetdb5-sql-hugeint. -Preparing to unpack .../7-monetdb5-sql-hugeint_11.37.11_amd64.deb ... -Unpacking monetdb5-sql-hugeint (11.37.11) ... -Setting up libmonetdb20 (11.37.11) ... -Setting up libmonetdb-client12 (11.37.11) ... -Setting up libmonetdb-stream13 (11.37.11) ... -Setting up monetdb-client (11.37.11) ... -Setting up monetdb5-server (11.37.11) ... -Adding group `monetdb' (GID 115) ... -Done. -Warning: The home dir /var/lib/monetdb you specified already exists. -Adding system user `monetdb' (UID 111) ... -Adding new user `monetdb' (UID 111) with group `monetdb' ... -The home directory `/var/lib/monetdb' already exists. Not copying from `/etc/skel'. -adduser: Warning: The home directory `/var/lib/monetdb' does not belong to the user you are currently creating. -Setting up monetdb5-sql (11.37.11) ... -Setting up monetdb5-server-hugeint (11.37.11) ... -Setting up monetdb5-sql-hugeint (11.37.11) ... -Processing triggers for systemd (237-3ubuntu10.42) ... -Processing triggers for man-db (2.8.3-2ubuntu0.1) ... -Processing triggers for ureadahead (0.100.0-21) ... -Processing triggers for libc-bin (2.27-3ubuntu1.2) ... -ubuntu@ip-▉▉▉:~$ sudo systemctl enable monetdbd -Created symlink /etc/systemd/system/multi-user.target.wants/monetdbd.service → /lib/systemd/system/monetdbd.service. -ubuntu@ip-▉▉▉:~$ sudo systemctl start monetdbd -ubuntu@ip-▉▉▉:~$ sudo usermod -a -G monetdb $USER -ubuntu@ip-▉▉▉:~$ logout -Connection to ec2-▉▉▉.us-east-2.compute.amazonaws.com closed. -milovidov@milovidov-desktop:~$ ssh -i ~/.ssh/aws_milovidov.pem ubuntu@ec2-▉▉▉.us-east-2.compute.amazonaws.com -Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 5.3.0-1032-aws x86_64) - - * Documentation: https://help.ubuntu.com - * Management: https://landscape.canonical.com - * Support: https://ubuntu.com/advantage - - System information as of Wed Aug 12 22:53:13 UTC 2020 - - System load: 0.31 Processes: 329 - Usage of /: 50.1% of 193.82GB Users logged in: 1 - Memory usage: 2% IP address for ens5: ▉▉▉ - Swap usage: 0% - - -2 packages can be updated. -2 updates are security updates. - - -Last login: Wed Aug 12 22:11:01 2020 from 109.252.51.97 -ubuntu@ip-▉▉▉:~$ monetdbd create /opt/monetdb -unable to create directory '/opt/monetdb': Permission denied -ubuntu@ip-▉▉▉:~$ sudo monetdbd create /opt/monetdb -ubuntu@ip-▉▉▉:~$ sudo monetdbd start /opt/monetdb -monetdbd: binding to stream socket port 50000 failed: Address already in use -ubuntu@ip-▉▉▉:~$ monetdb create test -monetdb: cannot connect: control socket does not exist -ubuntu@ip-▉▉▉:~$ sudo systemctl start monetdbd -ubuntu@ip-▉▉▉:~$ monetdb create test -monetdb: cannot connect: control socket does not exist -ubuntu@ip-▉▉▉:~$ sudo systemctl start monetdbd -ubuntu@ip-▉▉▉:~$ sudo monetdb create test -monetdb: cannot connect: control socket does not exist -ubuntu@ip-▉▉▉:~$ less /var/log/monetdb/merovingian.log -/var/log/monetdb/merovingian.log: Permission denied -ubuntu@ip-▉▉▉:~$ sudo less /var/log/monetdb/merovingian.log -ubuntu@ip-▉▉▉:~$ monetdb create test -monetdb: cannot connect: control socket does not exist -ubuntu@ip-▉▉▉:~$ sudo systemctl stop monetdbd -ubuntu@ip-▉▉▉:~$ sudo monetdbd start /opt/monetdb -ubuntu@ip-▉▉▉:~$ monetdb create test -monetdb: cannot connect: no permission to access control socket -ubuntu@ip-▉▉▉:~$ sudo monetdb create test -created database in maintenance mode: test -ubuntu@ip-▉▉▉:~$ sudo monetdb release test -taken database out of maintenance mode: test -ubuntu@ip-▉▉▉:~$ mclient -u monetdb -d test -password: -Welcome to mclient, the MonetDB/SQL interactive terminal (Jun2020-SP1) -Database: MonetDB v11.37.11 (Jun2020-SP1), 'mapi:monetdb://ip-▉▉▉:50000/test' -FOLLOW US on https://twitter.com/MonetDB or https://github.com/MonetDB/MonetDB -Type \q to quit, \? for a list of available commands -auto commit mode: on -sql>CREATE TABLE hits -more>( -more> "WatchID" BIGINT, -more> "JavaEnable" TINYINT, -more> "Title" TEXT, -more> "GoodEvent" SMALLINT, -more> "EventTime" TIMESTAMP, -more> "EventDate" Date, -more> "CounterID" INTEGER, -more> "ClientIP" INTEGER, -more> "RegionID" INTEGER, -more> "UserID" BIGINT, -more> "CounterClass" TINYINT, -more> "OS" TINYINT, -more> "UserAgent" TINYINT, -more> "URL" TEXT, -more> "Referer" TEXT, -more> "Refresh" TINYINT, -more> "RefererCategoryID" SMALLINT, -more> "RefererRegionID" INTEGER, -more> "URLCategoryID" SMALLINT, -more> "URLRegionID" INTEGER, -more> "ResolutionWidth" SMALLINT, -more> "ResolutionHeight" SMALLINT, -more> "ResolutionDepth" TINYINT, -more> "FlashMajor" TINYINT, -more> "FlashMinor" TINYINT, -more> "FlashMinor2" TEXT, -more> "NetMajor" TINYINT, -more> "NetMinor" TINYINT, -more> "UserAgentMajor" SMALLINT, -more> "UserAgentMinor" TEXT, -more> "CookieEnable" TINYINT, -more> "JavascriptEnable" TINYINT, -more> "IsMobile" TINYINT, -more> "MobilePhone" TINYINT, -more> "MobilePhoneModel" TEXT, -more> "Params" TEXT, -more> "IPNetworkID" INTEGER, -more> "TraficSourceID" TINYINT, -more> "SearchEngineID" SMALLINT, -more> "SearchPhrase" TEXT, -more> "AdvEngineID" TINYINT, -more> "IsArtifical" TINYINT, -more> "WindowClientWidth" SMALLINT, -more> "WindowClientHeight" SMALLINT, -more> "ClientTimeZone" SMALLINT, -more> "ClientEventTime" TIMESTAMP, -more> "SilverlightVersion1" TINYINT, -more> "SilverlightVersion2" TINYINT, -more> "SilverlightVersion3" INTEGER, -more> "SilverlightVersion4" SMALLINT, -more> "PageCharset" TEXT, -more> "CodeVersion" INTEGER, -more> "IsLink" TINYINT, -more> "IsDownload" TINYINT, -more> "IsNotBounce" TINYINT, -more> "FUniqID" BIGINT, -more> "OriginalURL" TEXT, -more> "HID" INTEGER, -more> "IsOldCounter" TINYINT, -more> "IsEvent" TINYINT, -more> "IsParameter" TINYINT, -more> "DontCountHits" TINYINT, -more> "WithHash" TINYINT, -more> "HitColor" TEXT, -more> "LocalEventTime" TIMESTAMP, -more> "Age" TINYINT, -more> "Sex" TINYINT, -more> "Income" TINYINT, -more> "Interests" SMALLINT, -more> "Robotness" TINYINT, -more> "RemoteIP" INTEGER, -more> "WindowName" INTEGER, -more> "OpenerName" INTEGER, -more> "HistoryLength" SMALLINT, -more> "BrowserLanguage" TEXT, -more> "BrowserCountry" TEXT, -more> "SocialNetwork" TEXT, -more> "SocialAction" TEXT, -more> "HTTPError" SMALLINT, -more> "SendTiming" INTEGER, -more> "DNSTiming" INTEGER, -more> "ConnectTiming" INTEGER, -more> "ResponseStartTiming" INTEGER, -more> "ResponseEndTiming" INTEGER, -more> "FetchTiming" INTEGER, -more> "SocialSourceNetworkID" TINYINT, -more> "SocialSourcePage" TEXT, -more> "ParamPrice" BIGINT, -more> "ParamOrderID" TEXT, -more> "ParamCurrency" TEXT, -more> "ParamCurrencyID" SMALLINT, -more> "OpenstatServiceName" TEXT, -more> "OpenstatCampaignID" TEXT, -more> "OpenstatAdID" TEXT, -more> "OpenstatSourceID" TEXT, -more> "UTMSource" TEXT, -more> "UTMMedium" TEXT, -more> "UTMCampaign" TEXT, -more> "UTMContent" TEXT, -more> "UTMTerm" TEXT, -more> "FromTag" TEXT, -more> "HasGCLID" TINYINT, -more> "RefererHash" BIGINT, -more> "URLHash" BIGINT, -more> "CLID" INTEGER -more>); -operation successful -sql>ubuntu@ip-▉▉▉:~$ mclient -u monetdb -d test -password: -Welcome to mclient, the MonetDB/SQL interactive terminal (Jun2020-SP1) -Database: MonetDB v11.37.11 (Jun2020-SP1), 'mapi:monetdb://ip-▉▉▉:50000/test' -FOLLOW US on https://twitter.com/MonetDB or https://github.com/MonetDB/MonetDB -Type \q to quit, \? for a list of available commands -auto commit mode: on -sql>COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t'; -Cannot open file '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv': No such file or directory -sql>COPY INTO hits FROM '/home/ubuntu/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t'; -100000000 affected rows -sql>SELECT count(*) FROM hits; -+-----------+ -| %1 | -+===========+ -| 100000000 | -+-----------+ -1 tuple -sql>CREATE INDEX hits_idx ON hits ("CounterID", "EventDate"); -operation successful -sql>ubuntu@ip-▉▉▉:~$ wget https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/monetdb/{queries.sql,benchmark.sh,send-query} ---2020-08-12 23:28:53-- https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/monetdb/queries.sql -Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.200.133 -Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.200.133|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 8964 (8.8K) [text/plain] -Saving to: ‘queries.sql.1’ - -queries.sql.1 100%[========================================================================================================================>] 8.75K --.-KB/s in 0s - -2020-08-12 23:28:58 (93.2 MB/s) - ‘queries.sql.1’ saved [8964/8964] - ---2020-08-12 23:28:58-- https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/monetdb/benchmark.sh -Reusing existing connection to raw.githubusercontent.com:443. -HTTP request sent, awaiting response... 200 OK -Length: 285 [text/plain] -Saving to: ‘benchmark.sh’ - -benchmark.sh 100%[========================================================================================================================>] 285 --.-KB/s in 0s - -2020-08-12 23:28:58 (26.2 MB/s) - ‘benchmark.sh’ saved [285/285] - ---2020-08-12 23:28:58-- https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/monetdb/send-query -Reusing existing connection to raw.githubusercontent.com:443. -HTTP request sent, awaiting response... 200 OK -Length: 249 [text/plain] -Saving to: ‘send-query’ - -send-query 100%[========================================================================================================================>] 249 --.-KB/s in 0s - -2020-08-12 23:28:58 (24.4 MB/s) - ‘send-query’ saved [249/249] - -FINISHED --2020-08-12 23:28:58-- -Total wall clock time: 5.4s -Downloaded: 3 files, 9.3K in 0s (81.0 MB/s) -ubuntu@ip-▉▉▉:~$ chmod a+x benchmark.sh send-query -ubuntu@ip-▉▉▉:~$ ./benchmark.sh | tee log.txt -3 -SELECT count() FROM hits; -3 -SELECT count() FROM hits WHERE AdvEngineID != 0; -3 -SELECT sum(AdvEngineID), count(), avg(ResolutionWidth) FROM hits ; -3 -SELECT sum(UserID) FROM hits ; -3 -SELECT uniq(UserID) FROM hits ; -3 -SELECT uniq(SearchPhrase) FROM hits ; -3 -SELECT min(EventDate), max(EventDate) FROM hits ; -3 -SELECT AdvEngineID, count() FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count() DESC; -3 -SELECT RegionID, uniq(UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10; -3 -SELECT RegionID, sum(AdvEngineID), count() AS c, avg(ResolutionWidth), uniq(UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10; -3 -SELECT MobilePhoneModel, uniq(UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -3 -SELECT MobilePhone, MobilePhoneModel, uniq(UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -3 -SELECT SearchPhrase, count() AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -3 -SELECT SearchPhrase, uniq(UserID) AS u FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -3 -SELECT SearchEngineID, SearchPhrase, count() AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -3 -SELECT UserID, count() FROM hits GROUP BY UserID ORDER BY count() DESC LIMIT 10; -3 -SELECT UserID, SearchPhrase, count() FROM hits GROUP BY UserID, SearchPhrase ORDER BY count() DESC LIMIT 10; -3 -SELECT UserID, SearchPhrase, count() FROM hits GROUP BY UserID, SearchPhrase LIMIT 10; -3 -SELECT UserID, toMinute(EventTime) AS m, SearchPhrase, count() FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY count() DESC LIMIT 10; -3 -SELECT UserID FROM hits WHERE UserID = 12345678901234567890; -3 -SELECT count() FROM hits WHERE URL LIKE '%metrika%'; -3 -SELECT SearchPhrase, any(URL), count() AS c FROM hits WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -3 -SELECT SearchPhrase, any(URL), any(Title), count() AS c, uniq(UserID) FROM hits WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -3 -SELECT * FROM hits WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -3 -SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -3 -SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -3 -SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -3 -SELECT CounterID, avg(length(URL)) AS l, count() AS c FROM hits WHERE URL != '' GROUP BY CounterID HAVING c > 100000 ORDER BY l DESC LIMIT 25; -3 -SELECT domainWithoutWWW(Referer) AS key, avg(length(Referer)) AS l, count() AS c, any(Referer) FROM hits WHERE Referer != '' GROUP BY key HAVING c > 100000 ORDER BY l DESC LIMIT 25; -3 -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits; -3 -SELECT SearchEngineID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -3 -SELECT WatchID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -3 -SELECT WatchID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -3 -SELECT URL, count() AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10; -3 -SELECT 1, URL, count() AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -3 -SELECT ClientIP AS x, x - 1, x - 2, x - 3, count() AS c FROM hits GROUP BY x, x - 1, x - 2, x - 3 ORDER BY c DESC LIMIT 10; -3 -SELECT URL, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT DontCountHits AND NOT Refresh AND notEmpty(URL) GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -3 -SELECT Title, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT DontCountHits AND NOT Refresh AND notEmpty(Title) GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -3 -SELECT URL, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -3 -SELECT TraficSourceID, SearchEngineID, AdvEngineID, ((SearchEngineID = 0 AND AdvEngineID = 0) ? Referer : '') AS Src, URL AS Dst, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -3 -SELECT URLHash, EventDate, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = halfMD5('http://example.ru/') GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -3 -SELECT WindowClientWidth, WindowClientHeight, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND NOT DontCountHits AND URLHash = halfMD5('http://example.ru/') GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -3 -SELECT toStartOfMinute(EventTime) AS Minute, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -ubuntu@ip-▉▉▉:~$ mclient -u monetdb -d test -password: -Welcome to mclient, the MonetDB/SQL interactive terminal (Jun2020-SP1) -Database: MonetDB v11.37.11 (Jun2020-SP1), 'mapi:monetdb://ip-▉▉▉:50000/test' -FOLLOW US on https://twitter.com/MonetDB or https://github.com/MonetDB/MonetDB -Type \q to quit, \? for a list of available commands -auto commit mode: on -sql>SELECT COUNT(DISTINCT "SearchPhrase") FROM hits; -+---------+ -| %1 | -+=========+ -| 6019589 | -+---------+ -1 tuple -sql>ubuntu@ip-▉▉▉:~$ expect - -Command 'expect' not found, but can be installed with: - -sudo snap install expect # version 5.45-7snap0, or -sudo apt install expect - -See 'snap info expect' for additional versions. - -ubuntu@ip-▉▉▉:~$ sudo apt install expect -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following additional packages will be installed: - libtcl8.6 tcl-expect tcl8.6 -Suggested packages: - tk8.6 tcl-tclreadline -The following NEW packages will be installed: - expect libtcl8.6 tcl-expect tcl8.6 -0 upgraded, 4 newly installed, 0 to remove and 2 not upgraded. -Need to get 1138 kB of archives. -After this operation, 4598 kB of additional disk space will be used. -Do you want to continue? [Y/n] -Get:1 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic/main amd64 libtcl8.6 amd64 8.6.8+dfsg-3 [881 kB] -Get:2 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic/universe amd64 tcl-expect amd64 5.45.4-1 [105 kB] -Get:3 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic/universe amd64 expect amd64 5.45.4-1 [137 kB] -Get:4 http://us-east-2.ec2.archive.ubuntu.com/ubuntu bionic/main amd64 tcl8.6 amd64 8.6.8+dfsg-3 [14.4 kB] -Fetched 1138 kB in 0s (31.4 MB/s) -Selecting previously unselected package libtcl8.6:amd64. -(Reading database ... 57274 files and directories currently installed.) -Preparing to unpack .../libtcl8.6_8.6.8+dfsg-3_amd64.deb ... -Unpacking libtcl8.6:amd64 (8.6.8+dfsg-3) ... -Selecting previously unselected package tcl-expect:amd64. -Preparing to unpack .../tcl-expect_5.45.4-1_amd64.deb ... -Unpacking tcl-expect:amd64 (5.45.4-1) ... -Selecting previously unselected package expect. -Preparing to unpack .../expect_5.45.4-1_amd64.deb ... -Unpacking expect (5.45.4-1) ... -Selecting previously unselected package tcl8.6. -Preparing to unpack .../tcl8.6_8.6.8+dfsg-3_amd64.deb ... -Unpacking tcl8.6 (8.6.8+dfsg-3) ... -Setting up libtcl8.6:amd64 (8.6.8+dfsg-3) ... -Setting up tcl-expect:amd64 (5.45.4-1) ... -Setting up tcl8.6 (8.6.8+dfsg-3) ... -Setting up expect (5.45.4-1) ... -Processing triggers for man-db (2.8.3-2ubuntu0.1) ... -Processing triggers for libc-bin (2.27-3ubuntu1.2) ... -^[[Aubuntu@ip-▉▉▉:~$ ./benchmark.sh | tee log.txt -3 -SELECT count() FROM hits; -clk: 0.299 ms -clk: 0.380 ms -clk: 0.471 ms -3 -SELECT count() FROM hits WHERE AdvEngineID != 0; -clk: 0.297 ms -clk: 0.342 ms -clk: 0.363 ms -3 -SELECT sum(AdvEngineID), count(), avg(ResolutionWidth) FROM hits ; -SELECT: identifier 'advengineid' unknown -clk: 0.485 ms -SELECT: identifier 'advengineid' unknown -clk: 0.228 ms -SELECT: identifier 'advengineid' unknown -clk: 0.233 ms -3 -SELECT sum(UserID) FROM hits ; -SELECT: identifier 'userid' unknown -clk: 0.239 ms -SELECT: identifier 'userid' unknown -clk: 0.492 ms -SELECT: identifier 'userid' unknown -clk: 0.388 ms -3 -SELECT uniq(UserID) FROM hits ; -SELECT: identifier 'userid' unknown -clk: 0.267 ms -SELECT: identifier 'userid' unknown -clk: 0.222 ms -SELECT: identifier 'userid' unknown -clk: 0.212 ms -3 -SELECT uniq(SearchPhrase) FROM hits ; -SELECT: identifier 'searchphrase' unknown -clk: 0.498 ms -SELECT: identifier 'searchphrase' unknown -clk: 0.255 ms -SELECT: identifier 'searchphrase' unknown -clk: 0.224 ms -3 -SELECT min(EventDate), max(EventDate) FROM hits ; -SELECT: identifier 'eventdate' unknown -clk: 0.272 ms -SELECT: identifier 'eventdate' unknown -clk: 0.205 ms -SELECT: identifier 'eventdate' unknown -clk: 0.209 ms -3 -SELECT AdvEngineID, count() FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count() DESC; -clk: 0.439 ms -clk: 0.185 ms -clk: 0.235 ms -3 -SELECT RegionID, uniq(UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10; -SELECT: identifier 'regionid' unknown -clk: 0.283 ms -SELECT: identifier 'regionid' unknown -clk: 0.207 ms -SELECT: identifier 'regionid' unknown -clk: 0.212 ms -3 -SELECT RegionID, sum(AdvEngineID), count() AS c, avg(ResolutionWidth), uniq(UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10; -SELECT: identifier 'regionid' unknown -clk: 0.271 ms -SELECT: identifier 'regionid' unknown -clk: 0.231 ms -SELECT: identifier 'regionid' unknown -clk: 0.227 ms -3 -SELECT MobilePhoneModel, uniq(UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -clk: 0.256 ms -clk: 0.229 ms -clk: 0.223 ms -3 -SELECT MobilePhone, MobilePhoneModel, uniq(UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -clk: 0.244 ms -clk: 0.201 ms -clk: 0.234 ms -3 -SELECT SearchPhrase, count() AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -clk: 0.223 ms -clk: 0.210 ms -clk: 0.207 ms -3 -SELECT SearchPhrase, uniq(UserID) AS u FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -clk: 0.220 ms -clk: 0.231 ms -clk: 0.189 ms -3 -SELECT SearchEngineID, SearchPhrase, count() AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -clk: 0.238 ms -clk: 0.226 ms -clk: 0.221 ms -3 -SELECT UserID, count() FROM hits GROUP BY UserID ORDER BY count() DESC LIMIT 10; -SELECT: identifier 'userid' unknown -clk: 0.216 ms -SELECT: identifier 'userid' unknown -clk: 0.214 ms -SELECT: identifier 'userid' unknown -clk: 0.465 ms -3 -SELECT UserID, SearchPhrase, count() FROM hits GROUP BY UserID, SearchPhrase ORDER BY count() DESC LIMIT 10; -SELECT: identifier 'userid' unknown -clk: 0.250 ms -SELECT: identifier 'userid' unknown -clk: 0.304 ms -SELECT: identifier 'userid' unknown -clk: 0.239 ms -3 -SELECT UserID, SearchPhrase, count() FROM hits GROUP BY UserID, SearchPhrase LIMIT 10; -SELECT: identifier 'userid' unknown -clk: 0.203 ms -SELECT: identifier 'userid' unknown -clk: 0.209 ms -SELECT: identifier 'userid' unknown -clk: 0.221 ms -3 -SELECT UserID, toMinute(EventTime) AS m, SearchPhrase, count() FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY count() DESC LIMIT 10; -SELECT: identifier 'userid' unknown -clk: 0.238 ms -SELECT: identifier 'userid' unknown -clk: 0.249 ms -SELECT: identifier 'userid' unknown -clk: 0.258 ms -3 -SELECT UserID FROM hits WHERE UserID = 12345678901234567890; -SELECT: identifier 'userid' unknown -clk: 0.204 ms -SELECT: identifier 'userid' unknown -clk: 0.187 ms -SELECT: identifier 'userid' unknown -clk: 0.195 ms -3 -SELECT count() FROM hits WHERE URL LIKE '%metrika%'; -SELECT: identifier 'url' unknown -clk: 0.575 ms -SELECT: identifier 'url' unknown -clk: 0.191 ms -SELECT: identifier 'url' unknown -clk: 0.191 ms -3 -SELECT SearchPhrase, any(URL), count() AS c FROM hits WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -syntax error, unexpected ANY in: "select searchphrase, any" -clk: 0.411 ms -syntax error, unexpected ANY in: "select searchphrase, any" -clk: 0.233 ms -syntax error, unexpected ANY in: "select searchphrase, any" -clk: 0.208 ms -3 -SELECT SearchPhrase, any(URL), any(Title), count() AS c, uniq(UserID) FROM hits WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -syntax error, unexpected ANY in: "select searchphrase, any" -clk: 0.266 ms -syntax error, unexpected ANY in: "select searchphrase, any" -clk: 0.238 ms -syntax error, unexpected ANY in: "select searchphrase, any" -clk: 0.311 ms -3 -SELECT * FROM hits WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -SELECT: identifier 'url' unknown -clk: 0.221 ms -SELECT: identifier 'url' unknown -clk: 0.205 ms -SELECT: identifier 'url' unknown -clk: 0.201 ms -3 -SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -clk: 0.183 ms -clk: 0.539 ms -clk: 0.183 ms -3 -SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -clk: 0.227 ms -clk: 0.187 ms -clk: 0.201 ms -3 -SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -clk: 0.214 ms -clk: 0.192 ms -clk: 0.230 ms -3 -SELECT CounterID, avg(length(URL)) AS l, count() AS c FROM hits WHERE URL != '' GROUP BY CounterID HAVING c > 100000 ORDER BY l DESC LIMIT 25; -clk: 0.245 ms -clk: 0.244 ms -clk: 0.216 ms -3 -SELECT domainWithoutWWW(Referer) AS key, avg(length(Referer)) AS l, count() AS c, any(Referer) FROM hits WHERE Referer != '' GROUP BY key HAVING c > 100000 ORDER BY l DESC LIMIT 25; -syntax error, unexpected ANY in: "select domainwithoutwww(referer) as key, avg(length(referer)) as l, count() as c" -clk: 0.415 ms -syntax error, unexpected ANY in: "select domainwithoutwww(referer) as key, avg(length(referer)) as l, count() as c" -clk: 0.221 ms -syntax error, unexpected ANY in: "select domainwithoutwww(referer) as key, avg(length(referer)) as l, count() as c" -clk: 0.232 ms -3 -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits; -SELECT: identifier 'resolutionwidth' unknown -clk: 0.869 ms -SELECT: identifier 'resolutionwidth' unknown -clk: 0.705 ms -SELECT: identifier 'resolutionwidth' unknown -clk: 0.780 ms -3 -SELECT SearchEngineID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -clk: 0.251 ms -clk: 0.239 ms -clk: 0.231 ms -3 -SELECT WatchID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -clk: 0.237 ms -clk: 0.234 ms -clk: 0.209 ms -3 -SELECT WatchID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT: identifier 'watchid' unknown -clk: 0.252 ms -SELECT: identifier 'watchid' unknown -clk: 0.261 ms -SELECT: identifier 'watchid' unknown -clk: 0.226 ms -3 -SELECT URL, count() AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10; -SELECT: identifier 'url' unknown -clk: 0.459 ms -SELECT: identifier 'url' unknown -clk: 0.195 ms -SELECT: identifier 'url' unknown -clk: 0.206 ms -3 -SELECT 1, URL, count() AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -SELECT: identifier 'url' unknown -clk: 0.254 ms -SELECT: identifier 'url' unknown -clk: 0.204 ms -SELECT: identifier 'url' unknown -clk: 0.238 ms -3 -SELECT ClientIP AS x, x - 1, x - 2, x - 3, count() AS c FROM hits GROUP BY x, x - 1, x - 2, x - 3 ORDER BY c DESC LIMIT 10; -SELECT: identifier 'clientip' unknown -clk: 0.275 ms -SELECT: identifier 'clientip' unknown -clk: 0.254 ms -SELECT: identifier 'clientip' unknown -clk: 0.230 ms -3 -SELECT URL, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT DontCountHits AND NOT Refresh AND notEmpty(URL) GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -SELECT: identifier 'counterid' unknown -clk: 0.446 ms -SELECT: identifier 'counterid' unknown -clk: 0.276 ms -SELECT: identifier 'counterid' unknown -clk: 0.255 ms -3 -SELECT Title, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT DontCountHits AND NOT Refresh AND notEmpty(Title) GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -SELECT: identifier 'counterid' unknown -clk: 0.248 ms -SELECT: identifier 'counterid' unknown -clk: 0.237 ms -SELECT: identifier 'counterid' unknown -clk: 0.294 ms -3 -SELECT URL, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -SELECT: identifier 'counterid' unknown -clk: 0.302 ms -SELECT: identifier 'counterid' unknown -clk: 0.234 ms -SELECT: identifier 'counterid' unknown -clk: 0.274 ms -3 -SELECT TraficSourceID, SearchEngineID, AdvEngineID, ((SearchEngineID = 0 AND AdvEngineID = 0) ? Referer : '') AS Src, URL AS Dst, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -syntax error, unexpected '?', expecting ')' or OR in: "select traficsourceid, searchengineid, advengineid, ((searchengineid = 0 and adv" -clk: 0.446 ms -syntax error, unexpected '?', expecting ')' or OR in: "select traficsourceid, searchengineid, advengineid, ((searchengineid = 0 and adv" -clk: 0.239 ms -syntax error, unexpected '?', expecting ')' or OR in: "select traficsourceid, searchengineid, advengineid, ((searchengineid = 0 and adv" -clk: 0.232 ms -3 -SELECT URLHash, EventDate, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = halfMD5('http://example.ru/') GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -SELECT: identifier 'counterid' unknown -clk: 0.259 ms -SELECT: identifier 'counterid' unknown -clk: 0.263 ms -SELECT: identifier 'counterid' unknown -clk: 0.267 ms -3 -SELECT WindowClientWidth, WindowClientHeight, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND NOT DontCountHits AND URLHash = halfMD5('http://example.ru/') GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -SELECT: identifier 'counterid' unknown -clk: 0.253 ms -SELECT: identifier 'counterid' unknown -clk: 0.281 ms -SELECT: identifier 'counterid' unknown -clk: 0.556 ms -3 -SELECT toStartOfMinute(EventTime) AS Minute, count() AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; -syntax error, unexpected MINUTE, expecting SCOLON in: "select tostartofminute(eventtime) as minute" -clk: 0.239 ms -syntax error, unexpected MINUTE, expecting SCOLON in: "select tostartofminute(eventtime) as minute" -clk: 0.228 ms -syntax error, unexpected MINUTE, expecting SCOLON in: "select tostartofminute(eventtime) as minute" -clk: 0.223 ms -ubuntu@ip-▉▉▉:~$ less queries.sql -ubuntu@ip-▉▉▉:~$ rm queries.sql -ubuntu@ip-▉▉▉:~$ mv queries.sql.1 queries.sql -ubuntu@ip-▉▉▉:~$ ./benchmark.sh | tee log.txt -3 -SELECT count(*) FROM hits; -1 tuple -clk: 2.346 ms -1 tuple -clk: 1.873 ms -1 tuple -clk: 1.862 ms -3 -SELECT count(*) FROM hits WHERE "AdvEngineID" <> 0; -1 tuple -clk: 1.137 sec -1 tuple -clk: 36.303 ms -1 tuple -clk: 35.399 ms -3 -SELECT sum("AdvEngineID"), count(*), avg("ResolutionWidth") FROM hits; -1 tuple -clk: 194.816 ms -1 tuple -clk: 54.757 ms -1 tuple -clk: 51.177 ms -3 -SELECT sum("UserID") FROM hits; -overflow in calculation. -clk: 7.495 ms -overflow in calculation. -clk: 2.967 ms -overflow in calculation. -clk: 3.073 ms -3 -SELECT COUNT(DISTINCT "UserID") FROM hits; -1 tuple -clk: 5.556 sec -1 tuple -clk: 3.550 sec -1 tuple -clk: 3.797 sec -3 -SELECT COUNT(DISTINCT "SearchPhrase") FROM hits; -1 tuple -clk: 6.228 sec -1 tuple -clk: 4.042 sec -1 tuple -clk: 3.967 sec -3 -SELECT min("EventDate"), max("EventDate") FROM hits; -1 tuple -clk: 67.704 ms -1 tuple -clk: 50.072 ms -1 tuple -clk: 51.354 ms -3 -SELECT "AdvEngineID", count(*) FROM hits WHERE "AdvEngineID" <> 0 GROUP BY "AdvEngineID" ORDER BY count(*) DESC; -18 tuples -clk: 93.070 ms -18 tuples -clk: 37.996 ms -18 tuples -clk: 31.543 ms -3 -SELECT "RegionID", COUNT(DISTINCT "UserID") AS u FROM hits GROUP BY "RegionID" ORDER BY u DESC LIMIT 10; -10 tuples -clk: 8.111 sec -10 tuples -clk: 4.839 sec -10 tuples -clk: 5.105 sec -3 -SELECT "RegionID", sum("AdvEngineID"), count(*) AS c, avg("ResolutionWidth"), COUNT(DISTINCT "UserID") FROM hits GROUP BY "RegionID" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 11.571 sec -10 tuples -clk: 7.454 sec -10 tuples -clk: 7.433 sec -3 -SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10; -10 tuples -clk: 3.080 sec -10 tuples -clk: 387.757 ms -10 tuples -clk: 348.083 ms -3 -SELECT "MobilePhone", "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhone", "MobilePhoneModel" ORDER BY u DESC LIMIT 10; -10 tuples -clk: 3.456 sec -10 tuples -clk: 438.178 ms -10 tuples -clk: 393.357 ms -3 -SELECT "SearchPhrase", count(*) AS c FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 8.111 sec -10 tuples -clk: 5.833 sec -10 tuples -clk: 5.808 sec -3 -SELECT "SearchPhrase", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY u DESC LIMIT 10; -10 tuples -clk: 16.087 sec -10 tuples -clk: 10.259 sec -10 tuples -clk: 10.159 sec -3 -SELECT "SearchEngineID", "SearchPhrase", count(*) AS c FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "SearchPhrase" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 9.149 sec -10 tuples -clk: 6.234 sec -10 tuples -clk: 6.197 sec -3 -SELECT "UserID", count(*) FROM hits GROUP BY "UserID" ORDER BY count(*) DESC LIMIT 10; -10 tuples -clk: 5.809 sec -10 tuples -clk: 4.814 sec -10 tuples -clk: 4.413 sec -3 -SELECT "UserID", "SearchPhrase", count(*) FROM hits GROUP BY "UserID", "SearchPhrase" ORDER BY count(*) DESC LIMIT 10; -10 tuples -clk: 15.222 sec -10 tuples -clk: 11.985 sec -10 tuples -clk: 10.959 sec -3 -SELECT "UserID", "SearchPhrase", count(*) FROM hits GROUP BY "UserID", "SearchPhrase" LIMIT 10; -10 tuples -clk: 16.143 sec -10 tuples -clk: 10.903 sec -10 tuples -clk: 11.900 sec -3 -SELECT "UserID", extract(minute FROM "EventTime") AS m, "SearchPhrase", count(*) FROM hits GROUP BY "UserID", m, "SearchPhrase" ORDER BY count(*) DESC LIMIT 10; -10 tuples -clk: 28.492 sec -10 tuples -clk: 22.938 sec -10 tuples -clk: 20.756 sec -3 -SELECT "UserID" FROM hits WHERE "UserID" = -6101065172474983726; -0 tuples -clk: 5.792 sec -0 tuples -clk: 1.764 sec -0 tuples -clk: 0.574 ms -3 -SELECT count(*) FROM hits WHERE "URL" LIKE '%metrika%'; -1 tuple -clk: 22.995 sec -1 tuple -clk: 1.745 sec -1 tuple -clk: 1.597 sec -3 -SELECT "SearchPhrase", min("URL"), count(*) AS c FROM hits WHERE "URL" LIKE '%metrika%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 44.995 sec -10 tuples -clk: 14.185 sec -10 tuples -clk: 15.712 sec -3 -SELECT "SearchPhrase", min("URL"), min("Title"), count(*) AS c, COUNT(DISTINCT "UserID") FROM hits WHERE "Title" LIKE '%Яндекс%' AND "URL" NOT LIKE '%.yandex.%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 44.542 sec -10 tuples -clk: 1.850 sec -10 tuples -clk: 1.552 sec -3 -SELECT * FROM hits WHERE "URL" LIKE '%metrika%' ORDER BY "EventTime" LIMIT 10; -10 tuples !85 columns dropped, 29 fields truncated! -clk: 29.023 sec -10 tuples !85 columns dropped, 29 fields truncated! -clk: 1.696 sec -10 tuples !85 columns dropped, 29 fields truncated! -clk: 1.459 sec -3 -SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "EventTime" LIMIT 10; -10 tuples -clk: 5.979 sec -10 tuples -clk: 319.889 ms -10 tuples -clk: 288.515 ms -3 -SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "SearchPhrase" LIMIT 10; -10 tuples -clk: 3.500 sec -10 tuples -clk: 860.218 ms -10 tuples -clk: 852.812 ms -3 -SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "EventTime", "SearchPhrase" LIMIT 10; -10 tuples -clk: 6.540 sec -10 tuples -clk: 853.858 ms -10 tuples -clk: 765.395 ms -3 -SELECT "CounterID", avg(length("URL")) AS l, count(*) AS c FROM hits WHERE "URL" <> '' GROUP BY "CounterID" HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -25 tuples -clk: 24.407 sec -25 tuples -clk: 2.111 sec -25 tuples -clk: 2.085 sec -3 -SELECT sys.getdomain("Referer") AS key, avg(length("Referer")) AS l, count(*) AS c, min("Referer") FROM hits WHERE "Referer" <> '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -clk: 16.458 sec -clk: 7.022 sec -clk: 8.084 sec -3 -SELECT sum("ResolutionWidth"), sum("ResolutionWidth" + 1), sum("ResolutionWidth" + 2), sum("ResolutionWidth" + 3), sum("ResolutionWidth" + 4), sum("ResolutionWidth" + 5), sum("ResolutionWidth" + 6), sum("ResolutionWidth" + 7), sum("ResolutionWidth" + 8), sum("ResolutionWidth" + 9), sum("ResolutionWidth" + 10), sum("ResolutionWidth" + 11), sum("ResolutionWidth" + 12), sum("ResolutionWidth" + 13), sum("ResolutionWidth" + 14), sum("ResolutionWidth" + 15), sum("ResolutionWidth" + 16), sum("ResolutionWidth" + 17), sum("ResolutionWidth" + 18), sum("ResolutionWidth" + 19), sum("ResolutionWidth" + 20), sum("ResolutionWidth" + 21), sum("ResolutionWidth" + 22), sum("ResolutionWidth" + 23), sum("ResolutionWidth" + 24), sum("ResolutionWidth" + 25), sum("ResolutionWidth" + 26), sum("ResolutionWidth" + 27), sum("ResolutionWidth" + 28), sum("ResolutionWidth" + 29), sum("ResolutionWidth" + 30), sum("ResolutionWidth" + 31), sum("ResolutionWidth" + 32), sum("ResolutionWidth" + 33), sum("ResolutionWidth" + 34), sum("ResolutionWidth" + 35), sum("ResolutionWidth" + 36), sum("ResolutionWidth" + 37), sum("ResolutionWidth" + 38), sum("ResolutionWidth" + 39), sum("ResolutionWidth" + 40), sum("ResolutionWidth" + 41), sum("ResolutionWidth" + 42), sum("ResolutionWidth" + 43), sum("ResolutionWidth" + 44), sum("ResolutionWidth" + 45), sum("ResolutionWidth" + 46), sum("ResolutionWidth" + 47), sum("ResolutionWidth" + 48), sum("ResolutionWidth" + 49), sum("ResolutionWidth" + 50), sum("ResolutionWidth" + 51), sum("ResolutionWidth" + 52), sum("ResolutionWidth" + 53), sum("ResolutionWidth" + 54), sum("ResolutionWidth" + 55), sum("ResolutionWidth" + 56), sum("ResolutionWidth" + 57), sum("ResolutionWidth" + 58), sum("ResolutionWidth" + 59), sum("ResolutionWidth" + 60), sum("ResolutionWidth" + 61), sum("ResolutionWidth" + 62), sum("ResolutionWidth" + 63), sum("ResolutionWidth" + 64), sum("ResolutionWidth" + 65), sum("ResolutionWidth" + 66), sum("ResolutionWidth" + 67), sum("ResolutionWidth" + 68), sum("ResolutionWidth" + 69), sum("ResolutionWidth" + 70), sum("ResolutionWidth" + 71), sum("ResolutionWidth" + 72), sum("ResolutionWidth" + 73), sum("ResolutionWidth" + 74), sum("ResolutionWidth" + 75), sum("ResolutionWidth" + 76), sum("ResolutionWidth" + 77), sum("ResolutionWidth" + 78), sum("ResolutionWidth" + 79), sum("ResolutionWidth" + 80), sum("ResolutionWidth" + 81), sum("ResolutionWidth" + 82), sum("ResolutionWidth" + 83), sum("ResolutionWidth" + 84), sum("ResolutionWidth" + 85), sum("ResolutionWidth" + 86), sum("ResolutionWidth" + 87), sum("ResolutionWidth" + 88), sum("ResolutionWidth" + 89) FROM hits; -1 tuple !76 columns dropped! -clk: 3.026 sec -1 tuple !76 columns dropped! -clk: 2.862 sec -1 tuple !76 columns dropped! -clk: 2.846 sec -3 -SELECT "SearchEngineID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "ClientIP" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 9.145 sec -10 tuples -clk: 3.225 sec -10 tuples -clk: 3.061 sec -3 -SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM hits WHERE "SearchPhrase" <> '' GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 12.443 sec -10 tuples -clk: 4.298 sec -10 tuples -clk: 4.308 sec -3 -SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM hits GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 28.515 sec -10 tuples -clk: 27.195 sec -10 tuples -clk: 27.687 sec -3 -SELECT "URL", count(*) AS c FROM hits GROUP BY "URL" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 42.507 sec -10 tuples -clk: 22.997 sec -10 tuples -clk: 21.922 sec -3 -SELECT 1, "URL", count(*) AS c FROM hits GROUP BY 1, "URL" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 42.009 sec -10 tuples -clk: 22.347 sec -10 tuples -clk: 21.288 sec -3 -SELECT "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3, count(*) AS c FROM hits GROUP BY "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3 ORDER BY c DESC LIMIT 10; -10 tuples -clk: 16.540 sec -10 tuples -clk: 14.959 sec -10 tuples -clk: 14.100 sec -3 -SELECT "URL", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "URL" <> '' GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 10; -10 tuples -clk: 2:08 min -10 tuples -clk: 24.004 sec -10 tuples -clk: 23.890 sec -3 -SELECT "Title", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "Title" <> '' GROUP BY "Title" ORDER BY "PageViews" DESC LIMIT 10; -10 tuples -clk: 1.893 sec -10 tuples -clk: 245.259 ms -10 tuples -clk: 226.849 ms -3 -SELECT "URL", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "IsLink" <> 0 AND "IsDownload" = 0 GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 1000; -1000 tuples -clk: 2:09 min -1000 tuples -clk: 22.917 sec -1000 tuples -clk: 23.099 sec -3 -SELECT "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END AS Src, "URL" AS Dst, count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 GROUP BY "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END, "URL" ORDER BY "PageViews" DESC LIMIT 1000; -1000 tuples -clk: 2:09 min -1000 tuples -clk: 23.975 sec -1000 tuples -clk: 22.763 sec -3 -SELECT "URLHash", "EventDate", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "TraficSourceID" IN (-1, 6) AND "RefererHash" = 686716256552154761 GROUP BY "URLHash", "EventDate" ORDER BY "PageViews" DESC LIMIT 100; -0 tuples -clk: 1.148 sec -0 tuples -clk: 114.740 ms -0 tuples -clk: 114.258 ms -3 -SELECT "WindowClientWidth", "WindowClientHeight", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "DontCountHits" = 0 AND "URLHash" = 686716256552154761 GROUP BY "WindowClientWidth", "WindowClientHeight" ORDER BY "PageViews" DESC LIMIT 10000; -0 tuples -clk: 2.079 sec -0 tuples -clk: 235.220 ms -0 tuples -clk: 163.850 ms -3 -SELECT DATE_TRUNC('minute', "EventTime") AS "Minute", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-02' AND "Refresh" = 0 AND "DontCountHits" = 0 GROUP BY DATE_TRUNC('minute', "EventTime") ORDER BY DATE_TRUNC('minute', "EventTime"); -0 tuples -clk: 1.690 sec -0 tuples -clk: 148.379 ms -0 tuples -clk: 166.565 ms -ubuntu@ip-▉▉▉:~$ grep clk log.txt | tr -d '\r' | awk '{ if ($3 == "ms") { print $2 / 1000; } else if ($3 == "sec") { print $2 } else { print } }' > tmp.txt -ubuntu@ip-▉▉▉:~$ nano tmp.txt -ubuntu@ip-▉▉▉:~$ awk '{ -> if (i % 3 == 0) { a = $1 } -> else if (i % 3 == 1) { b = $1 } -> else if (i % 3 == 2) { c = $1; print "[" a ", " b ", " c "]," }; -> ++i; }' < tmp.txt -[0.002346, 0.001873, 0.001862], -[1.137, 0.036303, 0.035399], -[0.194816, 0.054757, 0.051177], -[0.007495, 0.002967, 0.003073], -[5.556, 3.550, 3.797], -[6.228, 4.042, 3.967], -[0.067704, 0.050072, 0.051354], -[0.09307, 0.037996, 0.031543], -[8.111, 4.839, 5.105], -[11.571, 7.454, 7.433], -[3.080, 0.387757, 0.348083], -[3.456, 0.438178, 0.393357], -[8.111, 5.833, 5.808], -[16.087, 10.259, 10.159], -[9.149, 6.234, 6.197], -[5.809, 4.814, 4.413], -[15.222, 11.985, 10.959], -[16.143, 10.903, 11.900], -[28.492, 22.938, 20.756], -[5.792, 1.764, 0.000574], -[22.995, 1.745, 1.597], -[44.995, 14.185, 15.712], -[44.542, 1.850, 1.552], -[29.023, 1.696, 1.459], -[5.979, 0.319889, 0.288515], -[3.500, 0.860218, 0.852812], -[6.540, 0.853858, 0.765395], -[24.407, 2.111, 2.085], -[16.458, 7.022, 8.084], -[3.026, 2.862, 2.846], -[9.145, 3.225, 3.061], -[12.443, 4.298, 4.308], -[28.515, 27.195, 27.687], -[42.507, 22.997, 21.922], -[42.009, 22.347, 21.288], -[16.540, 14.959, 14.100], -[128, 24.004, 23.890], -[1.893, 0.245259, 0.226849], -[129, 22.917, 23.099], -[129, 23.975, 22.763], -[1.148, 0.11474, 0.114258], -[2.079, 0.23522, 0.16385], -[1.690, 0.148379, 0.166565], -ubuntu@ip-▉▉▉:~$ diff --git a/benchmark/monetdb/benchmark.sh b/benchmark/monetdb/benchmark.sh deleted file mode 100755 index 3766f1a8eef..00000000000 --- a/benchmark/monetdb/benchmark.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -grep -v -P '^#' queries.sql | sed -e 's/{table}/hits/' | while read query; do - echo 3 | sudo tee /proc/sys/vm/drop_caches - - echo "$query"; - for i in {1..3}; do - ./send-query "$query" 2>&1 | grep -P '\d+ tuple|clk: |unknown|overflow|error'; - done; -done; diff --git a/benchmark/monetdb/instruction.md b/benchmark/monetdb/instruction.md deleted file mode 100644 index b48bb19ecc1..00000000000 --- a/benchmark/monetdb/instruction.md +++ /dev/null @@ -1,356 +0,0 @@ -Go to https://www.monetdb.org/ - -Dowload now. -Latest binary releases. -Ubuntu & Debian. - -https://www.monetdb.org/downloads/deb/ - -Go to the server where you want to install MonetDB. -``` -$ sudo mcedit /etc/apt/sources.list.d/monetdb.list -``` -Write: -``` -deb https://dev.monetdb.org/downloads/deb/ bionic monetdb -``` - -``` -$ wget --output-document=- https://www.monetdb.org/downloads/MonetDB-GPG-KEY | sudo apt-key add - - -$ sudo apt update -$ sudo apt install monetdb5-sql monetdb-client - -$ sudo systemctl enable monetdbd -$ sudo systemctl start monetdbd -$ sudo usermod -a -G monetdb $USER -``` - -Logout and login back to your server. - -Tutorial: -https://www.monetdb.org/Documentation/UserGuide/Tutorial - -Creating the database: - -``` -$ sudo mkdir /opt/monetdb -$ sudo chmod 777 /opt/monetdb -$ monetdbd create /opt/monetdb - -$ monetdbd start /opt/monetdb -cannot remove socket files -``` - -Now you have to stop MonetDB, copy the contents of `/var/monetdb5` to `/opt/monetdb` and replace the `/var/monetdb5` with symlink to `/opt/monetdb`. This is necessary, because I don't have free space in `/var` and creation of database in `/opt` did not succeed. - -Start MonetDB again. - -``` -$ sudo systemctl start monetdbd -``` - -``` -$ monetdb create test -created database in maintenance mode: test - -$ monetdb release test -taken database out of maintenance mode: test -``` - -Run client: -``` -$ mclient -u monetdb -d test -``` - -Type password: monetdb - -``` -CREATE TABLE hits -( - "WatchID" BIGINT, - "JavaEnable" TINYINT, - "Title" TEXT, - "GoodEvent" SMALLINT, - "EventTime" TIMESTAMP, - "EventDate" Date, - "CounterID" INTEGER, - "ClientIP" INTEGER, - "RegionID" INTEGER, - "UserID" BIGINT, - "CounterClass" TINYINT, - "OS" TINYINT, - "UserAgent" TINYINT, - "URL" TEXT, - "Referer" TEXT, - "Refresh" TINYINT, - "RefererCategoryID" SMALLINT, - "RefererRegionID" INTEGER, - "URLCategoryID" SMALLINT, - "URLRegionID" INTEGER, - "ResolutionWidth" SMALLINT, - "ResolutionHeight" SMALLINT, - "ResolutionDepth" TINYINT, - "FlashMajor" TINYINT, - "FlashMinor" TINYINT, - "FlashMinor2" TEXT, - "NetMajor" TINYINT, - "NetMinor" TINYINT, - "UserAgentMajor" SMALLINT, - "UserAgentMinor" TEXT, - "CookieEnable" TINYINT, - "JavascriptEnable" TINYINT, - "IsMobile" TINYINT, - "MobilePhone" TINYINT, - "MobilePhoneModel" TEXT, - "Params" TEXT, - "IPNetworkID" INTEGER, - "TraficSourceID" TINYINT, - "SearchEngineID" SMALLINT, - "SearchPhrase" TEXT, - "AdvEngineID" TINYINT, - "IsArtifical" TINYINT, - "WindowClientWidth" SMALLINT, - "WindowClientHeight" SMALLINT, - "ClientTimeZone" SMALLINT, - "ClientEventTime" TIMESTAMP, - "SilverlightVersion1" TINYINT, - "SilverlightVersion2" TINYINT, - "SilverlightVersion3" INTEGER, - "SilverlightVersion4" SMALLINT, - "PageCharset" TEXT, - "CodeVersion" INTEGER, - "IsLink" TINYINT, - "IsDownload" TINYINT, - "IsNotBounce" TINYINT, - "FUniqID" BIGINT, - "OriginalURL" TEXT, - "HID" INTEGER, - "IsOldCounter" TINYINT, - "IsEvent" TINYINT, - "IsParameter" TINYINT, - "DontCountHits" TINYINT, - "WithHash" TINYINT, - "HitColor" TEXT, - "LocalEventTime" TIMESTAMP, - "Age" TINYINT, - "Sex" TINYINT, - "Income" TINYINT, - "Interests" SMALLINT, - "Robotness" TINYINT, - "RemoteIP" INTEGER, - "WindowName" INTEGER, - "OpenerName" INTEGER, - "HistoryLength" SMALLINT, - "BrowserLanguage" TEXT, - "BrowserCountry" TEXT, - "SocialNetwork" TEXT, - "SocialAction" TEXT, - "HTTPError" SMALLINT, - "SendTiming" INTEGER, - "DNSTiming" INTEGER, - "ConnectTiming" INTEGER, - "ResponseStartTiming" INTEGER, - "ResponseEndTiming" INTEGER, - "FetchTiming" INTEGER, - "SocialSourceNetworkID" TINYINT, - "SocialSourcePage" TEXT, - "ParamPrice" BIGINT, - "ParamOrderID" TEXT, - "ParamCurrency" TEXT, - "ParamCurrencyID" SMALLINT, - "OpenstatServiceName" TEXT, - "OpenstatCampaignID" TEXT, - "OpenstatAdID" TEXT, - "OpenstatSourceID" TEXT, - "UTMSource" TEXT, - "UTMMedium" TEXT, - "UTMCampaign" TEXT, - "UTMContent" TEXT, - "UTMTerm" TEXT, - "FromTag" TEXT, - "HasGCLID" TINYINT, - "RefererHash" BIGINT, - "URLHash" BIGINT, - "CLID" INTEGER -); -``` - -# How to prepare data - -Download the 100 million rows dataset from here and insert into ClickHouse: -https://clickhouse.com/docs/en/getting-started/example-datasets/metrica/ - -Create the dataset from ClickHouse: - -``` -SELECT - toInt64(WatchID) = -9223372036854775808 ? -9223372036854775807 : toInt64(WatchID), - toInt8(JavaEnable) = -128 ? -127 : toInt8(JavaEnable), - toValidUTF8(toString(Title)), - toInt16(GoodEvent) = -32768 ? -32767 : toInt16(GoodEvent), - EventTime, - EventDate, - toInt32(CounterID) = -2147483648 ? -2147483647 : toInt32(CounterID), - toInt32(ClientIP) = -2147483648 ? -2147483647 : toInt32(ClientIP), - toInt32(RegionID) = -2147483648 ? -2147483647 : toInt32(RegionID), - toInt64(UserID) = -9223372036854775808 ? -9223372036854775807 : toInt64(UserID), - toInt8(CounterClass) = -128 ? -127 : toInt8(CounterClass), - toInt8(OS) = -128 ? -127 : toInt8(OS), - toInt8(UserAgent) = -128 ? -127 : toInt8(UserAgent), - toValidUTF8(toString(URL)), - toValidUTF8(toString(Referer)), - toInt8(Refresh) = -128 ? -127 : toInt8(Refresh), - toInt16(RefererCategoryID) = -32768 ? -32767 : toInt16(RefererCategoryID), - toInt32(RefererRegionID) = -2147483648 ? -2147483647 : toInt32(RefererRegionID), - toInt16(URLCategoryID) = -32768 ? -32767 : toInt16(URLCategoryID), - toInt32(URLRegionID) = -2147483648 ? -2147483647 : toInt32(URLRegionID), - toInt16(ResolutionWidth) = -32768 ? -32767 : toInt16(ResolutionWidth), - toInt16(ResolutionHeight) = -32768 ? -32767 : toInt16(ResolutionHeight), - toInt8(ResolutionDepth) = -128 ? -127 : toInt8(ResolutionDepth), - toInt8(FlashMajor) = -128 ? -127 : toInt8(FlashMajor), - toInt8(FlashMinor) = -128 ? -127 : toInt8(FlashMinor), - toValidUTF8(toString(FlashMinor2)), - toInt8(NetMajor) = -128 ? -127 : toInt8(NetMajor), - toInt8(NetMinor) = -128 ? -127 : toInt8(NetMinor), - toInt16(UserAgentMajor) = -32768 ? -32767 : toInt16(UserAgentMajor), - toValidUTF8(toString(UserAgentMinor)), - toInt8(CookieEnable) = -128 ? -127 : toInt8(CookieEnable), - toInt8(JavascriptEnable) = -128 ? -127 : toInt8(JavascriptEnable), - toInt8(IsMobile) = -128 ? -127 : toInt8(IsMobile), - toInt8(MobilePhone) = -128 ? -127 : toInt8(MobilePhone), - toValidUTF8(toString(MobilePhoneModel)), - toValidUTF8(toString(Params)), - toInt32(IPNetworkID) = -2147483648 ? -2147483647 : toInt32(IPNetworkID), - toInt8(TraficSourceID) = -128 ? -127 : toInt8(TraficSourceID), - toInt16(SearchEngineID) = -32768 ? -32767 : toInt16(SearchEngineID), - toValidUTF8(toString(SearchPhrase)), - toInt8(AdvEngineID) = -128 ? -127 : toInt8(AdvEngineID), - toInt8(IsArtifical) = -128 ? -127 : toInt8(IsArtifical), - toInt16(WindowClientWidth) = -32768 ? -32767 : toInt16(WindowClientWidth), - toInt16(WindowClientHeight) = -32768 ? -32767 : toInt16(WindowClientHeight), - toInt16(ClientTimeZone) = -32768 ? -32767 : toInt16(ClientTimeZone), - ClientEventTime, - toInt8(SilverlightVersion1) = -128 ? -127 : toInt8(SilverlightVersion1), - toInt8(SilverlightVersion2) = -128 ? -127 : toInt8(SilverlightVersion2), - toInt32(SilverlightVersion3) = -2147483648 ? -2147483647 : toInt32(SilverlightVersion3), - toInt16(SilverlightVersion4) = -32768 ? -32767 : toInt16(SilverlightVersion4), - toValidUTF8(toString(PageCharset)), - toInt32(CodeVersion) = -2147483648 ? -2147483647 : toInt32(CodeVersion), - toInt8(IsLink) = -128 ? -127 : toInt8(IsLink), - toInt8(IsDownload) = -128 ? -127 : toInt8(IsDownload), - toInt8(IsNotBounce) = -128 ? -127 : toInt8(IsNotBounce), - toInt64(FUniqID) = -9223372036854775808 ? -9223372036854775807 : toInt64(FUniqID), - toValidUTF8(toString(OriginalURL)), - toInt32(HID) = -2147483648 ? -2147483647 : toInt32(HID), - toInt8(IsOldCounter) = -128 ? -127 : toInt8(IsOldCounter), - toInt8(IsEvent) = -128 ? -127 : toInt8(IsEvent), - toInt8(IsParameter) = -128 ? -127 : toInt8(IsParameter), - toInt8(DontCountHits) = -128 ? -127 : toInt8(DontCountHits), - toInt8(WithHash) = -128 ? -127 : toInt8(WithHash), - toValidUTF8(toString(HitColor)), - LocalEventTime, - toInt8(Age) = -128 ? -127 : toInt8(Age), - toInt8(Sex) = -128 ? -127 : toInt8(Sex), - toInt8(Income) = -128 ? -127 : toInt8(Income), - toInt16(Interests) = -32768 ? -32767 : toInt16(Interests), - toInt8(Robotness) = -128 ? -127 : toInt8(Robotness), - toInt32(RemoteIP) = -2147483648 ? -2147483647 : toInt32(RemoteIP), - toInt32(WindowName) = -2147483648 ? -2147483647 : toInt32(WindowName), - toInt32(OpenerName) = -2147483648 ? -2147483647 : toInt32(OpenerName), - toInt16(HistoryLength) = -32768 ? -32767 : toInt16(HistoryLength), - toValidUTF8(toString(BrowserLanguage)), - toValidUTF8(toString(BrowserCountry)), - toValidUTF8(toString(SocialNetwork)), - toValidUTF8(toString(SocialAction)), - toInt16(HTTPError) = -32768 ? -32767 : toInt16(HTTPError), - toInt32(SendTiming) = -2147483648 ? -2147483647 : toInt32(SendTiming), - toInt32(DNSTiming) = -2147483648 ? -2147483647 : toInt32(DNSTiming), - toInt32(ConnectTiming) = -2147483648 ? -2147483647 : toInt32(ConnectTiming), - toInt32(ResponseStartTiming) = -2147483648 ? -2147483647 : toInt32(ResponseStartTiming), - toInt32(ResponseEndTiming) = -2147483648 ? -2147483647 : toInt32(ResponseEndTiming), - toInt32(FetchTiming) = -2147483648 ? -2147483647 : toInt32(FetchTiming), - toInt8(SocialSourceNetworkID) = -128 ? -127 : toInt8(SocialSourceNetworkID), - toValidUTF8(toString(SocialSourcePage)), - toInt64(ParamPrice) = -9223372036854775808 ? -9223372036854775807 : toInt64(ParamPrice), - toValidUTF8(toString(ParamOrderID)), - toValidUTF8(toString(ParamCurrency)), - toInt16(ParamCurrencyID) = -32768 ? -32767 : toInt16(ParamCurrencyID), - toValidUTF8(toString(OpenstatServiceName)), - toValidUTF8(toString(OpenstatCampaignID)), - toValidUTF8(toString(OpenstatAdID)), - toValidUTF8(toString(OpenstatSourceID)), - toValidUTF8(toString(UTMSource)), - toValidUTF8(toString(UTMMedium)), - toValidUTF8(toString(UTMCampaign)), - toValidUTF8(toString(UTMContent)), - toValidUTF8(toString(UTMTerm)), - toValidUTF8(toString(FromTag)), - toInt8(HasGCLID) = -128 ? -127 : toInt8(HasGCLID), - toInt64(RefererHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(RefererHash), - toInt64(URLHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(URLHash), - toInt32(CLID) = -2147483648 ? -2147483647 : toInt32(CLID) -FROM hits_100m_obfuscated -INTO OUTFILE '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' -FORMAT TSV; -``` - -Note that MonetDB does not support the most negative numbers like -128. And we have to convert them by adding one. -It makes impossible to store the values of 64bit identifiers in BIGINT. -Maybe it's a trick to optimize NULLs? - -Upload the data: - -``` -$ mclient -u monetdb -d test -``` - -Type password: monetdb - -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t'; -``` - -It takes 28 minutes 02 seconds on a server (Linux Ubuntu, Xeon E5-2560v2, 32 logical CPU, 128 GiB RAM, 8xHDD RAID-5, 40 TB). -It is roughly 60 000 rows per second. - -Validate the data: - -``` -SELECT count(*) FROM hits; -``` - -Create an index: - -``` -CREATE INDEX hits_idx ON hits ("CounterID", "EventDate"); -``` - -(it takes 5 seconds) - -Run the benchmark: - -``` -./benchmark.sh | tee log.txt -``` - -You can find the log in `log.txt` file. - -Postprocess data: - -``` -grep clk log.txt | tr -d '\r' | awk '{ if ($3 == "ms") { print $2 / 1000; } else if ($3 == "sec") { print $2 } else { print } }' -``` - -Then replace values with "min" (minutes) timing manually and save to `tmp.txt`. -Then process to JSON format: - -``` -awk '{ - if (i % 3 == 0) { a = $1 } - else if (i % 3 == 1) { b = $1 } - else if (i % 3 == 2) { c = $1; print "[" a ", " b ", " c "]," }; - ++i; }' < tmp.txt -``` - -And paste to `/website/benchmark/dbms/results/005_monetdb.json` in the repository. diff --git a/benchmark/monetdb/log.txt b/benchmark/monetdb/log.txt deleted file mode 100644 index 40f480bf216..00000000000 --- a/benchmark/monetdb/log.txt +++ /dev/null @@ -1,341 +0,0 @@ -3 -SELECT count(*) FROM hits; -1 tuple -clk: 1.262 ms -1 tuple -clk: 1.420 ms -1 tuple -clk: 1.190 ms -3 -SELECT count(*) FROM hits WHERE "AdvEngineID" <> 0; -1 tuple -clk: 1.530 sec -1 tuple -clk: 1.489 sec -1 tuple -clk: 1.490 sec -3 -SELECT sum("AdvEngineID"), count(*), avg("ResolutionWidth") FROM hits; -1 tuple -clk: 597.512 ms -1 tuple -clk: 579.383 ms -1 tuple -clk: 598.220 ms -3 -SELECT sum("UserID") FROM hits; -overflow in calculation. -clk: 568.003 ms -overflow in calculation. -clk: 554.572 ms -overflow in calculation. -clk: 552.076 ms -3 -SELECT COUNT(DISTINCT "UserID") FROM hits; -1 tuple -clk: 6.688 sec -1 tuple -clk: 6.689 sec -1 tuple -clk: 6.652 sec -3 -SELECT COUNT(DISTINCT "SearchPhrase") FROM hits; -1 tuple -clk: 15.702 sec -1 tuple -clk: 17.189 sec -1 tuple -clk: 15.514 sec -3 -SELECT min("EventDate"), max("EventDate") FROM hits; -1 tuple -clk: 697.770 ms -1 tuple -clk: 711.870 ms -1 tuple -clk: 697.177 ms -3 -SELECT "AdvEngineID", count(*) FROM hits WHERE "AdvEngineID" <> 0 GROUP BY "AdvEngineID" ORDER BY count(*) DESC; -18 tuples -clk: 1.536 sec -18 tuples -clk: 1.505 sec -18 tuples -clk: 1.492 sec -3 -SELECT "RegionID", COUNT(DISTINCT "UserID") AS u FROM hits GROUP BY "RegionID" ORDER BY u DESC LIMIT 10; -10 tuples -clk: 9.965 sec -10 tuples -clk: 10.106 sec -10 tuples -clk: 10.136 sec -3 -SELECT "RegionID", sum("AdvEngineID"), count(*) AS c, avg("ResolutionWidth"), COUNT(DISTINCT "UserID") FROM hits GROUP BY "RegionID" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 8.329 sec -10 tuples -clk: 8.601 sec -10 tuples -clk: 8.039 sec -3 -SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10; -10 tuples -clk: 3.385 sec -10 tuples -clk: 3.321 sec -10 tuples -clk: 3.326 sec -3 -SELECT "MobilePhone", "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhone", "MobilePhoneModel" ORDER BY u DESC LIMIT 10; -10 tuples -clk: 3.510 sec -10 tuples -clk: 3.431 sec -10 tuples -clk: 3.382 sec -3 -SELECT "SearchPhrase", count(*) AS c FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 10.891 sec -10 tuples -clk: 11.483 sec -10 tuples -clk: 10.352 sec -3 -SELECT "SearchPhrase", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY u DESC LIMIT 10; -10 tuples -clk: 15.711 sec -10 tuples -clk: 15.444 sec -10 tuples -clk: 15.503 sec -3 -SELECT "SearchEngineID", "SearchPhrase", count(*) AS c FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "SearchPhrase" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 11.433 sec -10 tuples -clk: 11.399 sec -10 tuples -clk: 11.285 sec -3 -SELECT "UserID", count(*) FROM hits GROUP BY "UserID" ORDER BY count(*) DESC LIMIT 10; -10 tuples -clk: 7.184 sec -10 tuples -clk: 7.015 sec -10 tuples -clk: 6.849 sec -3 -SELECT "UserID", "SearchPhrase", count(*) FROM hits GROUP BY "UserID", "SearchPhrase" ORDER BY count(*) DESC LIMIT 10; -10 tuples -clk: 29.096 sec -10 tuples -clk: 28.328 sec -10 tuples -clk: 29.247 sec -3 -SELECT "UserID", "SearchPhrase", count(*) FROM hits GROUP BY "UserID", "SearchPhrase" LIMIT 10; -10 tuples -clk: 29.457 sec -10 tuples -clk: 29.364 sec -10 tuples -clk: 29.269 sec -3 -SELECT "UserID", extract(minute FROM "EventTime") AS m, "SearchPhrase", count(*) FROM hits GROUP BY "UserID", m, "SearchPhrase" ORDER BY count(*) DESC LIMIT 10; -10 tuples -clk: 47.141 sec -10 tuples -clk: 46.495 sec -10 tuples -clk: 46.472 sec -3 -SELECT "UserID" FROM hits WHERE "UserID" = -6101065172474983726; -0 tuples -clk: 783.332 ms -0 tuples -clk: 771.157 ms -0 tuples -clk: 783.082 ms -3 -SELECT count(*) FROM hits WHERE "URL" LIKE '%metrika%'; -1 tuple -clk: 3.963 sec -1 tuple -clk: 3.930 sec -1 tuple -clk: 3.964 sec -3 -SELECT "SearchPhrase", min("URL"), count(*) AS c FROM hits WHERE "URL" LIKE '%metrika%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 3.925 sec -10 tuples -clk: 3.817 sec -10 tuples -clk: 3.802 sec -3 -SELECT "SearchPhrase", min("URL"), min("Title"), count(*) AS c, COUNT(DISTINCT "UserID") FROM hits WHERE "Title" LIKE '%Яндекс%' AND "URL" NOT LIKE '%.yandex.%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 6.067 sec -10 tuples -clk: 6.120 sec -10 tuples -clk: 6.012 sec -3 -SELECT * FROM hits WHERE "URL" LIKE '%metrika%' ORDER BY "EventTime" LIMIT 10; -10 tuples !87 columns dropped, 29 fields truncated! -clk: 4.251 sec -10 tuples !87 columns dropped, 29 fields truncated! -clk: 4.190 sec -10 tuples !87 columns dropped, 29 fields truncated! -clk: 4.379 sec -3 -SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "EventTime" LIMIT 10; -10 tuples -clk: 6.699 sec -10 tuples -clk: 6.718 sec -10 tuples -clk: 6.802 sec -3 -SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "SearchPhrase" LIMIT 10; -10 tuples -clk: 6.887 sec -10 tuples -clk: 6.838 sec -10 tuples -clk: 6.844 sec -3 -SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "EventTime", "SearchPhrase" LIMIT 10; -10 tuples -clk: 6.806 sec -10 tuples -clk: 6.878 sec -10 tuples -clk: 6.807 sec -3 -SELECT "CounterID", avg(length("URL")) AS l, count(*) AS c FROM hits WHERE "URL" <> '' GROUP BY "CounterID" HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -25 tuples -clk: 1:01 min -25 tuples -clk: 55.553 sec -25 tuples -clk: 56.188 sec -3 -SELECT sys.getdomain("Referer") AS key, avg(length("Referer")) AS l, count(*) AS c, min("Referer") FROM hits WHERE "Referer" <> '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -clk: 1:00 min -clk: 1:00 min -clk: 1:00 min -3 -SELECT sum("ResolutionWidth"), sum("ResolutionWidth" + 1), sum("ResolutionWidth" + 2), sum("ResolutionWidth" + 3), sum("ResolutionWidth" + 4), sum("ResolutionWidth" + 5), sum("ResolutionWidth" + 6), sum("ResolutionWidth" + 7), sum("ResolutionWidth" + 8), sum("ResolutionWidth" + 9), sum("ResolutionWidth" + 10), sum("ResolutionWidth" + 11), sum("ResolutionWidth" + 12), sum("ResolutionWidth" + 13), sum("ResolutionWidth" + 14), sum("ResolutionWidth" + 15), sum("ResolutionWidth" + 16), sum("ResolutionWidth" + 17), sum("ResolutionWidth" + 18), sum("ResolutionWidth" + 19), sum("ResolutionWidth" + 20), sum("ResolutionWidth" + 21), sum("ResolutionWidth" + 22), sum("ResolutionWidth" + 23), sum("ResolutionWidth" + 24), sum("ResolutionWidth" + 25), sum("ResolutionWidth" + 26), sum("ResolutionWidth" + 27), sum("ResolutionWidth" + 28), sum("ResolutionWidth" + 29), sum("ResolutionWidth" + 30), sum("ResolutionWidth" + 31), sum("ResolutionWidth" + 32), sum("ResolutionWidth" + 33), sum("ResolutionWidth" + 34), sum("ResolutionWidth" + 35), sum("ResolutionWidth" + 36), sum("ResolutionWidth" + 37), sum("ResolutionWidth" + 38), sum("ResolutionWidth" + 39), sum("ResolutionWidth" + 40), sum("ResolutionWidth" + 41), sum("ResolutionWidth" + 42), sum("ResolutionWidth" + 43), sum("ResolutionWidth" + 44), sum("ResolutionWidth" + 45), sum("ResolutionWidth" + 46), sum("ResolutionWidth" + 47), sum("ResolutionWidth" + 48), sum("ResolutionWidth" + 49), sum("ResolutionWidth" + 50), sum("ResolutionWidth" + 51), sum("ResolutionWidth" + 52), sum("ResolutionWidth" + 53), sum("ResolutionWidth" + 54), sum("ResolutionWidth" + 55), sum("ResolutionWidth" + 56), sum("ResolutionWidth" + 57), sum("ResolutionWidth" + 58), sum("ResolutionWidth" + 59), sum("ResolutionWidth" + 60), sum("ResolutionWidth" + 61), sum("ResolutionWidth" + 62), sum("ResolutionWidth" + 63), sum("ResolutionWidth" + 64), sum("ResolutionWidth" + 65), sum("ResolutionWidth" + 66), sum("ResolutionWidth" + 67), sum("ResolutionWidth" + 68), sum("ResolutionWidth" + 69), sum("ResolutionWidth" + 70), sum("ResolutionWidth" + 71), sum("ResolutionWidth" + 72), sum("ResolutionWidth" + 73), sum("ResolutionWidth" + 74), sum("ResolutionWidth" + 75), sum("ResolutionWidth" + 76), sum("ResolutionWidth" + 77), sum("ResolutionWidth" + 78), sum("ResolutionWidth" + 79), sum("ResolutionWidth" + 80), sum("ResolutionWidth" + 81), sum("ResolutionWidth" + 82), sum("ResolutionWidth" + 83), sum("ResolutionWidth" + 84), sum("ResolutionWidth" + 85), sum("ResolutionWidth" + 86), sum("ResolutionWidth" + 87), sum("ResolutionWidth" + 88), sum("ResolutionWidth" + 89) FROM hits; -1 tuple !77 columns dropped! -clk: 6.221 sec -1 tuple !77 columns dropped! -clk: 6.170 sec -1 tuple !77 columns dropped! -clk: 6.382 sec -3 -SELECT "SearchEngineID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "ClientIP" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 5.684 sec -10 tuples -clk: 5.585 sec -10 tuples -clk: 5.463 sec -3 -SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM hits WHERE "SearchPhrase" <> '' GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 6.281 sec -10 tuples -clk: 6.574 sec -10 tuples -clk: 6.243 sec -3 -SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM hits GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 44.641 sec -10 tuples -clk: 41.904 sec -10 tuples -clk: 43.218 sec -3 -SELECT "URL", count(*) AS c FROM hits GROUP BY "URL" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 1:24 min -10 tuples -clk: 1:31 min -10 tuples -clk: 1:24 min -3 -SELECT 1, "URL", count(*) AS c FROM hits GROUP BY 1, "URL" ORDER BY c DESC LIMIT 10; -10 tuples -clk: 1:24 min -10 tuples -clk: 1:25 min -10 tuples -clk: 1:24 min -3 -SELECT "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3, count(*) AS c FROM hits GROUP BY "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3 ORDER BY c DESC LIMIT 10; -10 tuples -clk: 26.438 sec -10 tuples -clk: 26.033 sec -10 tuples -clk: 26.147 sec -3 -SELECT "URL", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "URL" <> '' GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 10; -10 tuples -clk: 4.825 sec -10 tuples -clk: 4.618 sec -10 tuples -clk: 4.623 sec -3 -SELECT "Title", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "Title" <> '' GROUP BY "Title" ORDER BY "PageViews" DESC LIMIT 10; -10 tuples -clk: 4.380 sec -10 tuples -clk: 4.418 sec -10 tuples -clk: 4.413 sec -3 -SELECT "URL", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "IsLink" <> 0 AND "IsDownload" = 0 GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 1000; -1000 tuples -clk: 4.259 sec -1000 tuples -clk: 4.195 sec -1000 tuples -clk: 4.195 sec -3 -SELECT "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END AS Src, "URL" AS Dst, count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 GROUP BY "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END, "URL" ORDER BY "PageViews" DESC LIMIT 1000; -1000 tuples -clk: 3.233 sec -1000 tuples -clk: 3.180 sec -1000 tuples -clk: 3.181 sec -3 -SELECT "URLHash", "EventDate", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "TraficSourceID" IN (-1, 6) AND "RefererHash" = 686716256552154761 GROUP BY "URLHash", "EventDate" ORDER BY "PageViews" DESC LIMIT 100; -0 tuples -clk: 2.656 sec -0 tuples -clk: 2.557 sec -0 tuples -clk: 2.561 sec -3 -SELECT "WindowClientWidth", "WindowClientHeight", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "DontCountHits" = 0 AND "URLHash" = 686716256552154761 GROUP BY "WindowClientWidth", "WindowClientHeight" ORDER BY "PageViews" DESC LIMIT 10000; -0 tuples -clk: 4.161 sec -0 tuples -clk: 4.243 sec -0 tuples -clk: 4.166 sec -3 -SELECT DATE_TRUNC('minute', "EventTime") AS "Minute", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-02' AND "Refresh" = 0 AND "DontCountHits" = 0 GROUP BY DATE_TRUNC('minute', "EventTime") ORDER BY DATE_TRUNC('minute', "EventTime"); -0 tuples -clk: 4.199 sec -0 tuples -clk: 4.211 sec -0 tuples -clk: 4.190 sec diff --git a/benchmark/monetdb/queries.sql b/benchmark/monetdb/queries.sql deleted file mode 100644 index 0b9eadb1011..00000000000 --- a/benchmark/monetdb/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -SELECT count(*) FROM {table}; -SELECT count(*) FROM {table} WHERE "AdvEngineID" <> 0; -SELECT sum("AdvEngineID"), count(*), avg("ResolutionWidth") FROM {table}; -SELECT sum("UserID") FROM {table}; -SELECT COUNT(DISTINCT "UserID") FROM {table}; -SELECT COUNT(DISTINCT "SearchPhrase") FROM {table}; -SELECT min("EventDate"), max("EventDate") FROM {table}; -SELECT "AdvEngineID", count(*) FROM {table} WHERE "AdvEngineID" <> 0 GROUP BY "AdvEngineID" ORDER BY count(*) DESC; -SELECT "RegionID", COUNT(DISTINCT "UserID") AS u FROM {table} GROUP BY "RegionID" ORDER BY u DESC LIMIT 10; -SELECT "RegionID", sum("AdvEngineID"), count(*) AS c, avg("ResolutionWidth"), COUNT(DISTINCT "UserID") FROM {table} GROUP BY "RegionID" ORDER BY c DESC LIMIT 10; -SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM {table} WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10; -SELECT "MobilePhone", "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM {table} WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhone", "MobilePhoneModel" ORDER BY u DESC LIMIT 10; -SELECT "SearchPhrase", count(*) AS c FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10; -SELECT "SearchPhrase", COUNT(DISTINCT "UserID") AS u FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY u DESC LIMIT 10; -SELECT "SearchEngineID", "SearchPhrase", count(*) AS c FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "SearchPhrase" ORDER BY c DESC LIMIT 10; -SELECT "UserID", count(*) FROM {table} GROUP BY "UserID" ORDER BY count(*) DESC LIMIT 10; -SELECT "UserID", "SearchPhrase", count(*) FROM {table} GROUP BY "UserID", "SearchPhrase" ORDER BY count(*) DESC LIMIT 10; -SELECT "UserID", "SearchPhrase", count(*) FROM {table} GROUP BY "UserID", "SearchPhrase" LIMIT 10; -SELECT "UserID", extract(minute FROM "EventTime") AS m, "SearchPhrase", count(*) FROM {table} GROUP BY "UserID", m, "SearchPhrase" ORDER BY count(*) DESC LIMIT 10; -SELECT "UserID" FROM {table} WHERE "UserID" = -6101065172474983726; -SELECT count(*) FROM {table} WHERE "URL" LIKE '%metrika%'; -SELECT "SearchPhrase", min("URL"), count(*) AS c FROM {table} WHERE "URL" LIKE '%metrika%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10; -SELECT "SearchPhrase", min("URL"), min("Title"), count(*) AS c, COUNT(DISTINCT "UserID") FROM {table} WHERE "Title" LIKE '%Яндекс%' AND "URL" NOT LIKE '%.yandex.%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10; -SELECT * FROM {table} WHERE "URL" LIKE '%metrika%' ORDER BY "EventTime" LIMIT 10; -SELECT "SearchPhrase" FROM {table} WHERE "SearchPhrase" <> '' ORDER BY "EventTime" LIMIT 10; -SELECT "SearchPhrase" FROM {table} WHERE "SearchPhrase" <> '' ORDER BY "SearchPhrase" LIMIT 10; -SELECT "SearchPhrase" FROM {table} WHERE "SearchPhrase" <> '' ORDER BY "EventTime", "SearchPhrase" LIMIT 10; -SELECT "CounterID", avg(length("URL")) AS l, count(*) AS c FROM {table} WHERE "URL" <> '' GROUP BY "CounterID" HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT sys.getdomain("Referer") AS key, avg(length("Referer")) AS l, count(*) AS c, min("Referer") FROM {table} WHERE "Referer" <> '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT sum("ResolutionWidth"), sum("ResolutionWidth" + 1), sum("ResolutionWidth" + 2), sum("ResolutionWidth" + 3), sum("ResolutionWidth" + 4), sum("ResolutionWidth" + 5), sum("ResolutionWidth" + 6), sum("ResolutionWidth" + 7), sum("ResolutionWidth" + 8), sum("ResolutionWidth" + 9), sum("ResolutionWidth" + 10), sum("ResolutionWidth" + 11), sum("ResolutionWidth" + 12), sum("ResolutionWidth" + 13), sum("ResolutionWidth" + 14), sum("ResolutionWidth" + 15), sum("ResolutionWidth" + 16), sum("ResolutionWidth" + 17), sum("ResolutionWidth" + 18), sum("ResolutionWidth" + 19), sum("ResolutionWidth" + 20), sum("ResolutionWidth" + 21), sum("ResolutionWidth" + 22), sum("ResolutionWidth" + 23), sum("ResolutionWidth" + 24), sum("ResolutionWidth" + 25), sum("ResolutionWidth" + 26), sum("ResolutionWidth" + 27), sum("ResolutionWidth" + 28), sum("ResolutionWidth" + 29), sum("ResolutionWidth" + 30), sum("ResolutionWidth" + 31), sum("ResolutionWidth" + 32), sum("ResolutionWidth" + 33), sum("ResolutionWidth" + 34), sum("ResolutionWidth" + 35), sum("ResolutionWidth" + 36), sum("ResolutionWidth" + 37), sum("ResolutionWidth" + 38), sum("ResolutionWidth" + 39), sum("ResolutionWidth" + 40), sum("ResolutionWidth" + 41), sum("ResolutionWidth" + 42), sum("ResolutionWidth" + 43), sum("ResolutionWidth" + 44), sum("ResolutionWidth" + 45), sum("ResolutionWidth" + 46), sum("ResolutionWidth" + 47), sum("ResolutionWidth" + 48), sum("ResolutionWidth" + 49), sum("ResolutionWidth" + 50), sum("ResolutionWidth" + 51), sum("ResolutionWidth" + 52), sum("ResolutionWidth" + 53), sum("ResolutionWidth" + 54), sum("ResolutionWidth" + 55), sum("ResolutionWidth" + 56), sum("ResolutionWidth" + 57), sum("ResolutionWidth" + 58), sum("ResolutionWidth" + 59), sum("ResolutionWidth" + 60), sum("ResolutionWidth" + 61), sum("ResolutionWidth" + 62), sum("ResolutionWidth" + 63), sum("ResolutionWidth" + 64), sum("ResolutionWidth" + 65), sum("ResolutionWidth" + 66), sum("ResolutionWidth" + 67), sum("ResolutionWidth" + 68), sum("ResolutionWidth" + 69), sum("ResolutionWidth" + 70), sum("ResolutionWidth" + 71), sum("ResolutionWidth" + 72), sum("ResolutionWidth" + 73), sum("ResolutionWidth" + 74), sum("ResolutionWidth" + 75), sum("ResolutionWidth" + 76), sum("ResolutionWidth" + 77), sum("ResolutionWidth" + 78), sum("ResolutionWidth" + 79), sum("ResolutionWidth" + 80), sum("ResolutionWidth" + 81), sum("ResolutionWidth" + 82), sum("ResolutionWidth" + 83), sum("ResolutionWidth" + 84), sum("ResolutionWidth" + 85), sum("ResolutionWidth" + 86), sum("ResolutionWidth" + 87), sum("ResolutionWidth" + 88), sum("ResolutionWidth" + 89) FROM {table}; -SELECT "SearchEngineID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "ClientIP" ORDER BY c DESC LIMIT 10; -SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10; -SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM {table} GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10; -SELECT "URL", count(*) AS c FROM {table} GROUP BY "URL" ORDER BY c DESC LIMIT 10; -SELECT 1, "URL", count(*) AS c FROM {table} GROUP BY 1, "URL" ORDER BY c DESC LIMIT 10; -SELECT "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3, count(*) AS c FROM {table} GROUP BY "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3 ORDER BY c DESC LIMIT 10; -SELECT "URL", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "URL" <> '' GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 10; -SELECT "Title", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "Title" <> '' GROUP BY "Title" ORDER BY "PageViews" DESC LIMIT 10; -SELECT "URL", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "IsLink" <> 0 AND "IsDownload" = 0 GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 1000; -SELECT "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END AS Src, "URL" AS Dst, count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 GROUP BY "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END, "URL" ORDER BY "PageViews" DESC LIMIT 1000; -SELECT "URLHash", "EventDate", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "TraficSourceID" IN (-1, 6) AND "RefererHash" = 686716256552154761 GROUP BY "URLHash", "EventDate" ORDER BY "PageViews" DESC LIMIT 100; -SELECT "WindowClientWidth", "WindowClientHeight", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "DontCountHits" = 0 AND "URLHash" = 686716256552154761 GROUP BY "WindowClientWidth", "WindowClientHeight" ORDER BY "PageViews" DESC LIMIT 10000; -SELECT DATE_TRUNC('minute', "EventTime") AS "Minute", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-02' AND "Refresh" = 0 AND "DontCountHits" = 0 GROUP BY DATE_TRUNC('minute', "EventTime") ORDER BY DATE_TRUNC('minute', "EventTime"); diff --git a/benchmark/monetdb/send-query b/benchmark/monetdb/send-query deleted file mode 100755 index 6817302e2d5..00000000000 --- a/benchmark/monetdb/send-query +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/expect - -# Set timeout -set timeout 600 - -# Get arguments -set query [lindex $argv 0] - -spawn mclient -u monetdb -d test --timer=clock -expect "password:" -send "monetdb\r" - -expect "sql>" -send "$query;\r" - -expect "sql>" -send "\\q\r" - -expect eof diff --git a/benchmark/monetdb/usability.md b/benchmark/monetdb/usability.md deleted file mode 100644 index 741079b5663..00000000000 --- a/benchmark/monetdb/usability.md +++ /dev/null @@ -1,1222 +0,0 @@ -Go to https://www.monetdb.org/ - -The graphical design of the website is a bit old-fashioned but I do not afraid. - -Download now. -Latest binary releases. -Ubuntu & Debian. - -https://www.monetdb.org/downloads/deb/ - -Go to the server where you want to install MonetDB. -``` -$ sudo mcedit /etc/apt/sources.list.d/monetdb.list -``` -Write: -``` -deb https://dev.monetdb.org/downloads/deb/ bionic monetdb -``` - -``` -$ wget --output-document=- https://www.monetdb.org/downloads/MonetDB-GPG-KEY | sudo apt-key add - - -$ sudo apt update -$ sudo apt install monetdb5-sql monetdb-client - -$ sudo systemctl enable monetdbd -$ sudo systemctl start monetdbd -$ sudo usermod -a -G monetdb $USER -``` - -Logout and login back to your server. - -Tutorial: -https://www.monetdb.org/Documentation/UserGuide/Tutorial - -Creating the database: - -``` -$ sudo mkdir /opt/monetdb -$ sudo chmod 777 /opt/monetdb -$ monetdbd create /opt/monetdb - -$ monetdbd start /opt/monetdb -cannot remove socket files -``` - -Don't know what it's doing but I hope it's Ok to ignore. - -``` -$ monetdb create test -created database in maintenance mode: test - -$ monetdb release test -taken database out of maintenance mode: test -``` - -Run client: -``` -$ mclient -u monetdb -d test -``` - -Type password: monetdb - -``` -$ mclient -u monetdb -d test -password: -Welcome to mclient, the MonetDB/SQL interactive terminal (Jun2020-SP1) -Database: MonetDB v11.37.11 (Jun2020-SP1), 'mapi:monetdb://mtlog-perftest03j:50000/test' -FOLLOW US on https://twitter.com/MonetDB or https://github.com/MonetDB/MonetDB -Type \q to quit, \? for a list of available commands -auto commit mode: on -sql>SELECT 1 -more>; -+------+ -| %2 | -+======+ -| 1 | -+------+ -1 tuple -``` - -Yes, it works. -The only downside is the lack of whitespace after `sql>`. - -Upload the dataset. - -``` -CREATE TABLE hits -( - "WatchID" BIGINT, - "JavaEnable" TINYINT, - "Title" TEXT, - "GoodEvent" SMALLINT, - "EventTime" TIMESTAMP, - "EventDate" Date, - "CounterID" INTEGER, - "ClientIP" INTEGER, - "RegionID" INTEGER, - "UserID" BIGINT, - "CounterClass" TINYINT, - "OS" TINYINT, - "UserAgent" TINYINT, - "URL" TEXT, - "Referer" TEXT, - "Refresh" TINYINT, - "RefererCategoryID" SMALLINT, - "RefererRegionID" INTEGER, - "URLCategoryID" SMALLINT, - "URLRegionID" INTEGER, - "ResolutionWidth" SMALLINT, - "ResolutionHeight" SMALLINT, - "ResolutionDepth" TINYINT, - "FlashMajor" TINYINT, - "FlashMinor" TINYINT, - "FlashMinor2" TEXT, - "NetMajor" TINYINT, - "NetMinor" TINYINT, - "UserAgentMajor" SMALLINT, - "UserAgentMinor" TEXT(16), - "CookieEnable" TINYINT, - "JavascriptEnable" TINYINT, - "IsMobile" TINYINT, - "MobilePhone" TINYINT, - "MobilePhoneModel" TEXT, - "Params" TEXT, - "IPNetworkID" INTEGER, - "TraficSourceID" TINYINT, - "SearchEngineID" SMALLINT, - "SearchPhrase" TEXT, - "AdvEngineID" TINYINT, - "IsArtifical" TINYINT, - "WindowClientWidth" SMALLINT, - "WindowClientHeight" SMALLINT, - "ClientTimeZone" SMALLINT, - "ClientEventTime" TIMESTAMP, - "SilverlightVersion1" TINYINT, - "SilverlightVersion2" TINYINT, - "SilverlightVersion3" INTEGER, - "SilverlightVersion4" SMALLINT, - "PageCharset" TEXT, - "CodeVersion" INTEGER, - "IsLink" TINYINT, - "IsDownload" TINYINT, - "IsNotBounce" TINYINT, - "FUniqID" BIGINT, - "OriginalURL" TEXT, - "HID" INTEGER, - "IsOldCounter" TINYINT, - "IsEvent" TINYINT, - "IsParameter" TINYINT, - "DontCountHits" TINYINT, - "WithHash" TINYINT, - "HitColor" TEXT(8), - "LocalEventTime" TIMESTAMP, - "Age" TINYINT, - "Sex" TINYINT, - "Income" TINYINT, - "Interests" SMALLINT, - "Robotness" TINYINT, - "RemoteIP" INTEGER, - "WindowName" INTEGER, - "OpenerName" INTEGER, - "HistoryLength" SMALLINT, - "BrowserLanguage" TEXT(16), - "BrowserCountry" TEXT(16), - "SocialNetwork" TEXT, - "SocialAction" TEXT, - "HTTPError" SMALLINT, - "SendTiming" INTEGER, - "DNSTiming" INTEGER, - "ConnectTiming" INTEGER, - "ResponseStartTiming" INTEGER, - "ResponseEndTiming" INTEGER, - "FetchTiming" INTEGER, - "SocialSourceNetworkID" TINYINT, - "SocialSourcePage" TEXT, - "ParamPrice" BIGINT, - "ParamOrderID" TEXT, - "ParamCurrency" TEXT, - "ParamCurrencyID" SMALLINT, - "OpenstatServiceName" TEXT, - "OpenstatCampaignID" TEXT, - "OpenstatAdID" TEXT, - "OpenstatSourceID" TEXT, - "UTMSource" TEXT, - "UTMMedium" TEXT, - "UTMCampaign" TEXT, - "UTMContent" TEXT, - "UTMTerm" TEXT, - "FromTag" TEXT, - "HasGCLID" TINYINT, - "RefererHash" BIGINT, - "URLHash" BIGINT, - "CLID" INTEGER -); - -operation successful -``` - -``` -sql>SELECT * FROM hits; -+---------+------------+-------+-----------+-----------+-----------+-----------+----------+----------+--------+--------------+----+-----------+-----+---------+---------+-------------------+ -| WatchID | JavaEnable | Title | GoodEvent | EventTime | EventDate | CounterID | ClientIP | RegionID | UserID | CounterClass | OS | UserAgent | URL | Referer | Refresh | RefererCategoryID |> -+=========+============+=======+===========+===========+===========+===========+==========+==========+========+==============+====+===========+=====+=========+=========+===================+ -+---------+------------+-------+-----------+-----------+-----------+-----------+----------+----------+--------+--------------+----+-----------+-----+---------+---------+-------------------+ -0 tuples !88 columns dropped! -note: to disable dropping columns and/or truncating fields use \w-1 -``` - -Perfect. - -https://www.monetdb.org/Documentation/Reference/MonetDBClientApplications/mclient - broken link on page https://www.monetdb.org/Documentation/ServerAdministration/QueryTiming - - -COPY command: https://www.monetdb.org/Documentation/SQLreference/SQLSyntaxOverview#COPY_INTO_FROM - -`COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated.csv' USING DELIMITERS ',', '\n', '"';` - -``` -sql>COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated.csv' USING DELIMITERS ',', '\n', '"'; -Failed to import table 'hits', line 55390 field Robotness 'tinyint' expected in '-128' -``` - -TINYINT - 8 bit signed integer between -127 and 127 -The smallest negative number is not supported by any of the types. - -It makes impossible to store the values of 64bit identifiers in BIGINT. - -Maybe it's a trick to optimize NULLs? - -Let's just cheat and add one to all the most negative numbers while exporting dataset from ClickHouse... - -``` -SELECT - toInt64(WatchID) = -9223372036854775808 ? -9223372036854775807 : toInt64(WatchID), - toInt8(JavaEnable) = -128 ? -127 : toInt8(JavaEnable), - toValidUTF8(toString(Title)), - toInt16(GoodEvent) = -32768 ? -32767 : toInt16(GoodEvent), - EventTime, - EventDate, - toInt32(CounterID) = -2147483648 ? -2147483647 : toInt32(CounterID), - toInt32(ClientIP) = -2147483648 ? -2147483647 : toInt32(ClientIP), - toInt32(RegionID) = -2147483648 ? -2147483647 : toInt32(RegionID), - toInt64(UserID) = -9223372036854775808 ? -9223372036854775807 : toInt64(UserID), - toInt8(CounterClass) = -128 ? -127 : toInt8(CounterClass), - toInt8(OS) = -128 ? -127 : toInt8(OS), - toInt8(UserAgent) = -128 ? -127 : toInt8(UserAgent), - toValidUTF8(toString(URL)), - toValidUTF8(toString(Referer)), - toInt8(Refresh) = -128 ? -127 : toInt8(Refresh), - toInt16(RefererCategoryID) = -32768 ? -32767 : toInt16(RefererCategoryID), - toInt32(RefererRegionID) = -2147483648 ? -2147483647 : toInt32(RefererRegionID), - toInt16(URLCategoryID) = -32768 ? -32767 : toInt16(URLCategoryID), - toInt32(URLRegionID) = -2147483648 ? -2147483647 : toInt32(URLRegionID), - toInt16(ResolutionWidth) = -32768 ? -32767 : toInt16(ResolutionWidth), - toInt16(ResolutionHeight) = -32768 ? -32767 : toInt16(ResolutionHeight), - toInt8(ResolutionDepth) = -128 ? -127 : toInt8(ResolutionDepth), - toInt8(FlashMajor) = -128 ? -127 : toInt8(FlashMajor), - toInt8(FlashMinor) = -128 ? -127 : toInt8(FlashMinor), - toValidUTF8(toString(FlashMinor2)), - toInt8(NetMajor) = -128 ? -127 : toInt8(NetMajor), - toInt8(NetMinor) = -128 ? -127 : toInt8(NetMinor), - toInt16(UserAgentMajor) = -32768 ? -32767 : toInt16(UserAgentMajor), - toValidUTF8(toString(UserAgentMinor)), - toInt8(CookieEnable) = -128 ? -127 : toInt8(CookieEnable), - toInt8(JavascriptEnable) = -128 ? -127 : toInt8(JavascriptEnable), - toInt8(IsMobile) = -128 ? -127 : toInt8(IsMobile), - toInt8(MobilePhone) = -128 ? -127 : toInt8(MobilePhone), - toValidUTF8(toString(MobilePhoneModel)), - toValidUTF8(toString(Params)), - toInt32(IPNetworkID) = -2147483648 ? -2147483647 : toInt32(IPNetworkID), - toInt8(TraficSourceID) = -128 ? -127 : toInt8(TraficSourceID), - toInt16(SearchEngineID) = -32768 ? -32767 : toInt16(SearchEngineID), - toValidUTF8(toString(SearchPhrase)), - toInt8(AdvEngineID) = -128 ? -127 : toInt8(AdvEngineID), - toInt8(IsArtifical) = -128 ? -127 : toInt8(IsArtifical), - toInt16(WindowClientWidth) = -32768 ? -32767 : toInt16(WindowClientWidth), - toInt16(WindowClientHeight) = -32768 ? -32767 : toInt16(WindowClientHeight), - toInt16(ClientTimeZone) = -32768 ? -32767 : toInt16(ClientTimeZone), - ClientEventTime, - toInt8(SilverlightVersion1) = -128 ? -127 : toInt8(SilverlightVersion1), - toInt8(SilverlightVersion2) = -128 ? -127 : toInt8(SilverlightVersion2), - toInt32(SilverlightVersion3) = -2147483648 ? -2147483647 : toInt32(SilverlightVersion3), - toInt16(SilverlightVersion4) = -32768 ? -32767 : toInt16(SilverlightVersion4), - toValidUTF8(toString(PageCharset)), - toInt32(CodeVersion) = -2147483648 ? -2147483647 : toInt32(CodeVersion), - toInt8(IsLink) = -128 ? -127 : toInt8(IsLink), - toInt8(IsDownload) = -128 ? -127 : toInt8(IsDownload), - toInt8(IsNotBounce) = -128 ? -127 : toInt8(IsNotBounce), - toInt64(FUniqID) = -9223372036854775808 ? -9223372036854775807 : toInt64(FUniqID), - toValidUTF8(toString(OriginalURL)), - toInt32(HID) = -2147483648 ? -2147483647 : toInt32(HID), - toInt8(IsOldCounter) = -128 ? -127 : toInt8(IsOldCounter), - toInt8(IsEvent) = -128 ? -127 : toInt8(IsEvent), - toInt8(IsParameter) = -128 ? -127 : toInt8(IsParameter), - toInt8(DontCountHits) = -128 ? -127 : toInt8(DontCountHits), - toInt8(WithHash) = -128 ? -127 : toInt8(WithHash), - toValidUTF8(toString(HitColor)), - LocalEventTime, - toInt8(Age) = -128 ? -127 : toInt8(Age), - toInt8(Sex) = -128 ? -127 : toInt8(Sex), - toInt8(Income) = -128 ? -127 : toInt8(Income), - toInt16(Interests) = -32768 ? -32767 : toInt16(Interests), - toInt8(Robotness) = -128 ? -127 : toInt8(Robotness), - toInt32(RemoteIP) = -2147483648 ? -2147483647 : toInt32(RemoteIP), - toInt32(WindowName) = -2147483648 ? -2147483647 : toInt32(WindowName), - toInt32(OpenerName) = -2147483648 ? -2147483647 : toInt32(OpenerName), - toInt16(HistoryLength) = -32768 ? -32767 : toInt16(HistoryLength), - toValidUTF8(toString(BrowserLanguage)), - toValidUTF8(toString(BrowserCountry)), - toValidUTF8(toString(SocialNetwork)), - toValidUTF8(toString(SocialAction)), - toInt16(HTTPError) = -32768 ? -32767 : toInt16(HTTPError), - toInt32(SendTiming) = -2147483648 ? -2147483647 : toInt32(SendTiming), - toInt32(DNSTiming) = -2147483648 ? -2147483647 : toInt32(DNSTiming), - toInt32(ConnectTiming) = -2147483648 ? -2147483647 : toInt32(ConnectTiming), - toInt32(ResponseStartTiming) = -2147483648 ? -2147483647 : toInt32(ResponseStartTiming), - toInt32(ResponseEndTiming) = -2147483648 ? -2147483647 : toInt32(ResponseEndTiming), - toInt32(FetchTiming) = -2147483648 ? -2147483647 : toInt32(FetchTiming), - toInt8(SocialSourceNetworkID) = -128 ? -127 : toInt8(SocialSourceNetworkID), - toValidUTF8(toString(SocialSourcePage)), - toInt64(ParamPrice) = -9223372036854775808 ? -9223372036854775807 : toInt64(ParamPrice), - toValidUTF8(toString(ParamOrderID)), - toValidUTF8(toString(ParamCurrency)), - toInt16(ParamCurrencyID) = -32768 ? -32767 : toInt16(ParamCurrencyID), - toValidUTF8(toString(OpenstatServiceName)), - toValidUTF8(toString(OpenstatCampaignID)), - toValidUTF8(toString(OpenstatAdID)), - toValidUTF8(toString(OpenstatSourceID)), - toValidUTF8(toString(UTMSource)), - toValidUTF8(toString(UTMMedium)), - toValidUTF8(toString(UTMCampaign)), - toValidUTF8(toString(UTMContent)), - toValidUTF8(toString(UTMTerm)), - toValidUTF8(toString(FromTag)), - toInt8(HasGCLID) = -128 ? -127 : toInt8(HasGCLID), - toInt64(RefererHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(RefererHash), - toInt64(URLHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(URLHash), - toInt32(CLID) = -2147483648 ? -2147483647 : toInt32(CLID) -FROM hits_100m_obfuscated -INTO OUTFILE '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' -FORMAT CSV; -``` - -Try №2. - -`COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', '\n', '"';` - - -``` -sql>COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', '\n', '"'; -Failed to import table 'hits', line 1: column 106: Leftover data '1526320043,139,7122783580357023164,1,44,2,"http://smeshariki.ru/a-albumshowtopic/8940180","http://video.yandex.ru/yandex.ru/site=&airbag=&srt=0&fu=0",0,0,20,0,22,1917,879,37,15,13,"800",0,0,10,"sO",1,1,0,0,"","",3626245,-1,0,"",0,0,746,459,135,"2013-07-21 15:14:16",0,0,0,0,"windows",1,0,0,0,8675577400349020325,"",1034597214,0,0,0,0,0,"5","2013-07-21 11:14:27",31,1,2,3557,5,1782490839,-1,-1,-1,"S0","� - " -``` - -Looks like it does not support newlines inside string literals. - -Let's dig into https://www.monetdb.org/Documentation/ServerAdministration/LoadingBulkData/CSVBulkLoads - -First, it's better to specify the number of records: -`COPY 100000000 RECORDS INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', '\n', '"';` - -> Quote characters in quoted fields may be escaped with a backslash. - -Ok, then it's TSV, not CSV. Let's create TSV dump... - - -``` -SELECT - toInt64(WatchID) = -9223372036854775808 ? -9223372036854775807 : toInt64(WatchID), - toInt8(JavaEnable) = -128 ? -127 : toInt8(JavaEnable), - toValidUTF8(toString(Title)), - toInt16(GoodEvent) = -32768 ? -32767 : toInt16(GoodEvent), - EventTime, - EventDate, - toInt32(CounterID) = -2147483648 ? -2147483647 : toInt32(CounterID), - toInt32(ClientIP) = -2147483648 ? -2147483647 : toInt32(ClientIP), - toInt32(RegionID) = -2147483648 ? -2147483647 : toInt32(RegionID), - toInt64(UserID) = -9223372036854775808 ? -9223372036854775807 : toInt64(UserID), - toInt8(CounterClass) = -128 ? -127 : toInt8(CounterClass), - toInt8(OS) = -128 ? -127 : toInt8(OS), - toInt8(UserAgent) = -128 ? -127 : toInt8(UserAgent), - toValidUTF8(toString(URL)), - toValidUTF8(toString(Referer)), - toInt8(Refresh) = -128 ? -127 : toInt8(Refresh), - toInt16(RefererCategoryID) = -32768 ? -32767 : toInt16(RefererCategoryID), - toInt32(RefererRegionID) = -2147483648 ? -2147483647 : toInt32(RefererRegionID), - toInt16(URLCategoryID) = -32768 ? -32767 : toInt16(URLCategoryID), - toInt32(URLRegionID) = -2147483648 ? -2147483647 : toInt32(URLRegionID), - toInt16(ResolutionWidth) = -32768 ? -32767 : toInt16(ResolutionWidth), - toInt16(ResolutionHeight) = -32768 ? -32767 : toInt16(ResolutionHeight), - toInt8(ResolutionDepth) = -128 ? -127 : toInt8(ResolutionDepth), - toInt8(FlashMajor) = -128 ? -127 : toInt8(FlashMajor), - toInt8(FlashMinor) = -128 ? -127 : toInt8(FlashMinor), - toValidUTF8(toString(FlashMinor2)), - toInt8(NetMajor) = -128 ? -127 : toInt8(NetMajor), - toInt8(NetMinor) = -128 ? -127 : toInt8(NetMinor), - toInt16(UserAgentMajor) = -32768 ? -32767 : toInt16(UserAgentMajor), - toValidUTF8(toString(UserAgentMinor)), - toInt8(CookieEnable) = -128 ? -127 : toInt8(CookieEnable), - toInt8(JavascriptEnable) = -128 ? -127 : toInt8(JavascriptEnable), - toInt8(IsMobile) = -128 ? -127 : toInt8(IsMobile), - toInt8(MobilePhone) = -128 ? -127 : toInt8(MobilePhone), - toValidUTF8(toString(MobilePhoneModel)), - toValidUTF8(toString(Params)), - toInt32(IPNetworkID) = -2147483648 ? -2147483647 : toInt32(IPNetworkID), - toInt8(TraficSourceID) = -128 ? -127 : toInt8(TraficSourceID), - toInt16(SearchEngineID) = -32768 ? -32767 : toInt16(SearchEngineID), - toValidUTF8(toString(SearchPhrase)), - toInt8(AdvEngineID) = -128 ? -127 : toInt8(AdvEngineID), - toInt8(IsArtifical) = -128 ? -127 : toInt8(IsArtifical), - toInt16(WindowClientWidth) = -32768 ? -32767 : toInt16(WindowClientWidth), - toInt16(WindowClientHeight) = -32768 ? -32767 : toInt16(WindowClientHeight), - toInt16(ClientTimeZone) = -32768 ? -32767 : toInt16(ClientTimeZone), - ClientEventTime, - toInt8(SilverlightVersion1) = -128 ? -127 : toInt8(SilverlightVersion1), - toInt8(SilverlightVersion2) = -128 ? -127 : toInt8(SilverlightVersion2), - toInt32(SilverlightVersion3) = -2147483648 ? -2147483647 : toInt32(SilverlightVersion3), - toInt16(SilverlightVersion4) = -32768 ? -32767 : toInt16(SilverlightVersion4), - toValidUTF8(toString(PageCharset)), - toInt32(CodeVersion) = -2147483648 ? -2147483647 : toInt32(CodeVersion), - toInt8(IsLink) = -128 ? -127 : toInt8(IsLink), - toInt8(IsDownload) = -128 ? -127 : toInt8(IsDownload), - toInt8(IsNotBounce) = -128 ? -127 : toInt8(IsNotBounce), - toInt64(FUniqID) = -9223372036854775808 ? -9223372036854775807 : toInt64(FUniqID), - toValidUTF8(toString(OriginalURL)), - toInt32(HID) = -2147483648 ? -2147483647 : toInt32(HID), - toInt8(IsOldCounter) = -128 ? -127 : toInt8(IsOldCounter), - toInt8(IsEvent) = -128 ? -127 : toInt8(IsEvent), - toInt8(IsParameter) = -128 ? -127 : toInt8(IsParameter), - toInt8(DontCountHits) = -128 ? -127 : toInt8(DontCountHits), - toInt8(WithHash) = -128 ? -127 : toInt8(WithHash), - toValidUTF8(toString(HitColor)), - LocalEventTime, - toInt8(Age) = -128 ? -127 : toInt8(Age), - toInt8(Sex) = -128 ? -127 : toInt8(Sex), - toInt8(Income) = -128 ? -127 : toInt8(Income), - toInt16(Interests) = -32768 ? -32767 : toInt16(Interests), - toInt8(Robotness) = -128 ? -127 : toInt8(Robotness), - toInt32(RemoteIP) = -2147483648 ? -2147483647 : toInt32(RemoteIP), - toInt32(WindowName) = -2147483648 ? -2147483647 : toInt32(WindowName), - toInt32(OpenerName) = -2147483648 ? -2147483647 : toInt32(OpenerName), - toInt16(HistoryLength) = -32768 ? -32767 : toInt16(HistoryLength), - toValidUTF8(toString(BrowserLanguage)), - toValidUTF8(toString(BrowserCountry)), - toValidUTF8(toString(SocialNetwork)), - toValidUTF8(toString(SocialAction)), - toInt16(HTTPError) = -32768 ? -32767 : toInt16(HTTPError), - toInt32(SendTiming) = -2147483648 ? -2147483647 : toInt32(SendTiming), - toInt32(DNSTiming) = -2147483648 ? -2147483647 : toInt32(DNSTiming), - toInt32(ConnectTiming) = -2147483648 ? -2147483647 : toInt32(ConnectTiming), - toInt32(ResponseStartTiming) = -2147483648 ? -2147483647 : toInt32(ResponseStartTiming), - toInt32(ResponseEndTiming) = -2147483648 ? -2147483647 : toInt32(ResponseEndTiming), - toInt32(FetchTiming) = -2147483648 ? -2147483647 : toInt32(FetchTiming), - toInt8(SocialSourceNetworkID) = -128 ? -127 : toInt8(SocialSourceNetworkID), - toValidUTF8(toString(SocialSourcePage)), - toInt64(ParamPrice) = -9223372036854775808 ? -9223372036854775807 : toInt64(ParamPrice), - toValidUTF8(toString(ParamOrderID)), - toValidUTF8(toString(ParamCurrency)), - toInt16(ParamCurrencyID) = -32768 ? -32767 : toInt16(ParamCurrencyID), - toValidUTF8(toString(OpenstatServiceName)), - toValidUTF8(toString(OpenstatCampaignID)), - toValidUTF8(toString(OpenstatAdID)), - toValidUTF8(toString(OpenstatSourceID)), - toValidUTF8(toString(UTMSource)), - toValidUTF8(toString(UTMMedium)), - toValidUTF8(toString(UTMCampaign)), - toValidUTF8(toString(UTMContent)), - toValidUTF8(toString(UTMTerm)), - toValidUTF8(toString(FromTag)), - toInt8(HasGCLID) = -128 ? -127 : toInt8(HasGCLID), - toInt64(RefererHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(RefererHash), - toInt64(URLHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(URLHash), - toInt32(CLID) = -2147483648 ? -2147483647 : toInt32(CLID) -FROM hits_100m_obfuscated -INTO OUTFILE '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' -FORMAT TSV; -``` - -MonetDB client lacks history. - -`mclient -u monetdb -d test --timer=clock` - -`COPY 100000000 RECORDS INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t', '\n', '';` - -``` -sql>COPY 100000000 RECORDS INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t', '\n', ''; -Failed to import table 'hits', -clk: 1.200 sec -``` - -Now it gives incomprehensible error... -Looks like it because of 100000000 RECORDS. -Let's try without it. - -`COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t', '\n', '';` - -Ok, it appeared to work... - -`top -d0.5` - -`mserver5` consumes about 1 CPU core but with strange pauses. - -``` -sql>COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t', '\n', ''; -Failed to import table 'hits', -clk: 2:31 min -``` - -It does not work and there is no explanation available. - -When I type Ctrl+D in CLI, it does not output a line feed into terminal. - -Let's google it. -https://www.monetdb.org/pipermail/users-list/2013-November/007014.html - -Probably it because of no quoting for strings. -Let's create a dump with `|` as a separator, `"` as string quote and C-style escaping. -But it's impossible to create dump in that format in ClickHouse. - -Let's consider using binary format... - -Ok, before we consider binary format, maybe we need to write character literals as E'\t' instead of '\t'? - -`mclient` does not have an option to specify password in command line, it's annoying. -PS. I found how to solve it here: https://www.monetdb.org/Documentation/ServerAdministration/ServerSetupAndConfiguration - -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS E'\t', E'\n', E''; -``` - -It does not work either: - -``` -sql>COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS E'\t', E'\n', E''; -Failed to import table 'hits', Failed to extend the BAT, perhaps disk full -clk: 1:17 min -``` - -Let's try binary import. But it would not work: - -> For variable length strings, the file must have one C-based string value per line, terminated by a newline, and it is processed without escape character conversion. Fixed length strings are handled the same way. MonetDB assumes that all files are aligned, i.e. the i-th value in each file corresponds to the i-th record in the table. - -According to the docs, there is no way to import strings with line feed characters. - -BTW, the favicon of the MonetDB website makes an impression that the web page is constantly loading (it looks like a spinner). - -Let's cheat again and replace all line feeds in strings to whitespaces and all double quotes to single quotes. - -``` -SELECT - toInt64(WatchID) = -9223372036854775808 ? -9223372036854775807 : toInt64(WatchID), - toInt8(JavaEnable) = -128 ? -127 : toInt8(JavaEnable), - replaceAll(replaceAll(toValidUTF8(toString(Title)), '\n', ' '), '"', '\''), - toInt16(GoodEvent) = -32768 ? -32767 : toInt16(GoodEvent), - EventTime, - EventDate, - toInt32(CounterID) = -2147483648 ? -2147483647 : toInt32(CounterID), - toInt32(ClientIP) = -2147483648 ? -2147483647 : toInt32(ClientIP), - toInt32(RegionID) = -2147483648 ? -2147483647 : toInt32(RegionID), - toInt64(UserID) = -9223372036854775808 ? -9223372036854775807 : toInt64(UserID), - toInt8(CounterClass) = -128 ? -127 : toInt8(CounterClass), - toInt8(OS) = -128 ? -127 : toInt8(OS), - toInt8(UserAgent) = -128 ? -127 : toInt8(UserAgent), - replaceAll(replaceAll(toValidUTF8(toString(URL)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(Referer)), '\n', ' '), '"', '\''), - toInt8(Refresh) = -128 ? -127 : toInt8(Refresh), - toInt16(RefererCategoryID) = -32768 ? -32767 : toInt16(RefererCategoryID), - toInt32(RefererRegionID) = -2147483648 ? -2147483647 : toInt32(RefererRegionID), - toInt16(URLCategoryID) = -32768 ? -32767 : toInt16(URLCategoryID), - toInt32(URLRegionID) = -2147483648 ? -2147483647 : toInt32(URLRegionID), - toInt16(ResolutionWidth) = -32768 ? -32767 : toInt16(ResolutionWidth), - toInt16(ResolutionHeight) = -32768 ? -32767 : toInt16(ResolutionHeight), - toInt8(ResolutionDepth) = -128 ? -127 : toInt8(ResolutionDepth), - toInt8(FlashMajor) = -128 ? -127 : toInt8(FlashMajor), - toInt8(FlashMinor) = -128 ? -127 : toInt8(FlashMinor), - replaceAll(replaceAll(toValidUTF8(toString(FlashMinor2)), '\n', ' '), '"', '\''), - toInt8(NetMajor) = -128 ? -127 : toInt8(NetMajor), - toInt8(NetMinor) = -128 ? -127 : toInt8(NetMinor), - toInt16(UserAgentMajor) = -32768 ? -32767 : toInt16(UserAgentMajor), - replaceAll(replaceAll(toValidUTF8(toString(UserAgentMinor)), '\n', ' '), '"', '\''), - toInt8(CookieEnable) = -128 ? -127 : toInt8(CookieEnable), - toInt8(JavascriptEnable) = -128 ? -127 : toInt8(JavascriptEnable), - toInt8(IsMobile) = -128 ? -127 : toInt8(IsMobile), - toInt8(MobilePhone) = -128 ? -127 : toInt8(MobilePhone), - replaceAll(replaceAll(toValidUTF8(toString(MobilePhoneModel)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(Params)), '\n', ' '), '"', '\''), - toInt32(IPNetworkID) = -2147483648 ? -2147483647 : toInt32(IPNetworkID), - toInt8(TraficSourceID) = -128 ? -127 : toInt8(TraficSourceID), - toInt16(SearchEngineID) = -32768 ? -32767 : toInt16(SearchEngineID), - replaceAll(replaceAll(toValidUTF8(toString(SearchPhrase)), '\n', ' '), '"', '\''), - toInt8(AdvEngineID) = -128 ? -127 : toInt8(AdvEngineID), - toInt8(IsArtifical) = -128 ? -127 : toInt8(IsArtifical), - toInt16(WindowClientWidth) = -32768 ? -32767 : toInt16(WindowClientWidth), - toInt16(WindowClientHeight) = -32768 ? -32767 : toInt16(WindowClientHeight), - toInt16(ClientTimeZone) = -32768 ? -32767 : toInt16(ClientTimeZone), - ClientEventTime, - toInt8(SilverlightVersion1) = -128 ? -127 : toInt8(SilverlightVersion1), - toInt8(SilverlightVersion2) = -128 ? -127 : toInt8(SilverlightVersion2), - toInt32(SilverlightVersion3) = -2147483648 ? -2147483647 : toInt32(SilverlightVersion3), - toInt16(SilverlightVersion4) = -32768 ? -32767 : toInt16(SilverlightVersion4), - replaceAll(replaceAll(toValidUTF8(toString(PageCharset)), '\n', ' '), '"', '\''), - toInt32(CodeVersion) = -2147483648 ? -2147483647 : toInt32(CodeVersion), - toInt8(IsLink) = -128 ? -127 : toInt8(IsLink), - toInt8(IsDownload) = -128 ? -127 : toInt8(IsDownload), - toInt8(IsNotBounce) = -128 ? -127 : toInt8(IsNotBounce), - toInt64(FUniqID) = -9223372036854775808 ? -9223372036854775807 : toInt64(FUniqID), - replaceAll(replaceAll(toValidUTF8(toString(OriginalURL)), '\n', ' '), '"', '\''), - toInt32(HID) = -2147483648 ? -2147483647 : toInt32(HID), - toInt8(IsOldCounter) = -128 ? -127 : toInt8(IsOldCounter), - toInt8(IsEvent) = -128 ? -127 : toInt8(IsEvent), - toInt8(IsParameter) = -128 ? -127 : toInt8(IsParameter), - toInt8(DontCountHits) = -128 ? -127 : toInt8(DontCountHits), - toInt8(WithHash) = -128 ? -127 : toInt8(WithHash), - replaceAll(replaceAll(toValidUTF8(toString(HitColor)), '\n', ' '), '"', '\''), - LocalEventTime, - toInt8(Age) = -128 ? -127 : toInt8(Age), - toInt8(Sex) = -128 ? -127 : toInt8(Sex), - toInt8(Income) = -128 ? -127 : toInt8(Income), - toInt16(Interests) = -32768 ? -32767 : toInt16(Interests), - toInt8(Robotness) = -128 ? -127 : toInt8(Robotness), - toInt32(RemoteIP) = -2147483648 ? -2147483647 : toInt32(RemoteIP), - toInt32(WindowName) = -2147483648 ? -2147483647 : toInt32(WindowName), - toInt32(OpenerName) = -2147483648 ? -2147483647 : toInt32(OpenerName), - toInt16(HistoryLength) = -32768 ? -32767 : toInt16(HistoryLength), - replaceAll(replaceAll(toValidUTF8(toString(BrowserLanguage)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(BrowserCountry)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(SocialNetwork)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(SocialAction)), '\n', ' '), '"', '\''), - toInt16(HTTPError) = -32768 ? -32767 : toInt16(HTTPError), - toInt32(SendTiming) = -2147483648 ? -2147483647 : toInt32(SendTiming), - toInt32(DNSTiming) = -2147483648 ? -2147483647 : toInt32(DNSTiming), - toInt32(ConnectTiming) = -2147483648 ? -2147483647 : toInt32(ConnectTiming), - toInt32(ResponseStartTiming) = -2147483648 ? -2147483647 : toInt32(ResponseStartTiming), - toInt32(ResponseEndTiming) = -2147483648 ? -2147483647 : toInt32(ResponseEndTiming), - toInt32(FetchTiming) = -2147483648 ? -2147483647 : toInt32(FetchTiming), - toInt8(SocialSourceNetworkID) = -128 ? -127 : toInt8(SocialSourceNetworkID), - replaceAll(replaceAll(toValidUTF8(toString(SocialSourcePage)), '\n', ' '), '"', '\''), - toInt64(ParamPrice) = -9223372036854775808 ? -9223372036854775807 : toInt64(ParamPrice), - replaceAll(replaceAll(toValidUTF8(toString(ParamOrderID)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(ParamCurrency)), '\n', ' '), '"', '\''), - toInt16(ParamCurrencyID) = -32768 ? -32767 : toInt16(ParamCurrencyID), - replaceAll(replaceAll(toValidUTF8(toString(OpenstatServiceName)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(OpenstatCampaignID)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(OpenstatAdID)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(OpenstatSourceID)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(UTMSource)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(UTMMedium)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(UTMCampaign)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(UTMContent)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(UTMTerm)), '\n', ' '), '"', '\''), - replaceAll(replaceAll(toValidUTF8(toString(FromTag)), '\n', ' '), '"', '\''), - toInt8(HasGCLID) = -128 ? -127 : toInt8(HasGCLID), - toInt64(RefererHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(RefererHash), - toInt64(URLHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(URLHash), - toInt32(CLID) = -2147483648 ? -2147483647 : toInt32(CLID) -FROM hits_100m_obfuscated -INTO OUTFILE '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' -FORMAT CSV; -``` - -Another try: - -``` -COPY 100000000 RECORDS INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', '\n', '"'; -``` - -Does not work. - -``` -Failed to import table 'hits', -clk: 1.091 sec -``` - -Another try: - -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', '\n', '"'; -``` - -Does not work. - -``` -Failed to import table 'hits', line 79128: record too long -clk: 1.194 sec -``` - -Ok, the error message becomes more meaningful. Looks like MonetDB does not support long TEXT. -Let's continue reading docs... - -> CLOB | TEXT | STRING | CHARACTER LARGE OBJECT: UTF-8 character string with unbounded length - -It must be unbounded! -But maybe there is global limit on record length... - -https://www.monetdb.org/search/node?keys=record+length -https://www.monetdb.org/search/node?keys=record+too+long - -The docs search did not give an answer. Let's search in the internet... - -https://www.monetdb.org/pipermail/users-list/2017-August/009930.html - -It's unclear what is the record numbering scheme - from 1 or from 0. -But when I took at the records with - -``` -head -n79128 hits_100m_obfuscated_monetdb.csv | tail -n1 -head -n79129 hits_100m_obfuscated_monetdb.csv | tail -n1 -``` - -they don't look too long. - -Ok, let's try to load data with "best effort" mode that MonetDB offers. - -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', '\n', '"' BEST EFFORT; -``` - -But it loaded just 79127 rows. That's not what I need. - -``` -79127 affected rows -clk: 1.684 sec -``` - -The TRUNCATE query works: - -``` -TRUNCATE TABLE hits; -``` - -Let's check if the record 79127 is really any longer than other records. - -Let's remove all length like `TEXT(16)` from CREATE TABLE statement... - -``` -DROP TABLE hits; - -CREATE TABLE hits -( - "WatchID" BIGINT, - "JavaEnable" TINYINT, - "Title" TEXT, - "GoodEvent" SMALLINT, - "EventTime" TIMESTAMP, - "EventDate" Date, - "CounterID" INTEGER, - "ClientIP" INTEGER, - "RegionID" INTEGER, - "UserID" BIGINT, - "CounterClass" TINYINT, - "OS" TINYINT, - "UserAgent" TINYINT, - "URL" TEXT, - "Referer" TEXT, - "Refresh" TINYINT, - "RefererCategoryID" SMALLINT, - "RefererRegionID" INTEGER, - "URLCategoryID" SMALLINT, - "URLRegionID" INTEGER, - "ResolutionWidth" SMALLINT, - "ResolutionHeight" SMALLINT, - "ResolutionDepth" TINYINT, - "FlashMajor" TINYINT, - "FlashMinor" TINYINT, - "FlashMinor2" TEXT, - "NetMajor" TINYINT, - "NetMinor" TINYINT, - "UserAgentMajor" SMALLINT, - "UserAgentMinor" TEXT, - "CookieEnable" TINYINT, - "JavascriptEnable" TINYINT, - "IsMobile" TINYINT, - "MobilePhone" TINYINT, - "MobilePhoneModel" TEXT, - "Params" TEXT, - "IPNetworkID" INTEGER, - "TraficSourceID" TINYINT, - "SearchEngineID" SMALLINT, - "SearchPhrase" TEXT, - "AdvEngineID" TINYINT, - "IsArtifical" TINYINT, - "WindowClientWidth" SMALLINT, - "WindowClientHeight" SMALLINT, - "ClientTimeZone" SMALLINT, - "ClientEventTime" TIMESTAMP, - "SilverlightVersion1" TINYINT, - "SilverlightVersion2" TINYINT, - "SilverlightVersion3" INTEGER, - "SilverlightVersion4" SMALLINT, - "PageCharset" TEXT, - "CodeVersion" INTEGER, - "IsLink" TINYINT, - "IsDownload" TINYINT, - "IsNotBounce" TINYINT, - "FUniqID" BIGINT, - "OriginalURL" TEXT, - "HID" INTEGER, - "IsOldCounter" TINYINT, - "IsEvent" TINYINT, - "IsParameter" TINYINT, - "DontCountHits" TINYINT, - "WithHash" TINYINT, - "HitColor" TEXT, - "LocalEventTime" TIMESTAMP, - "Age" TINYINT, - "Sex" TINYINT, - "Income" TINYINT, - "Interests" SMALLINT, - "Robotness" TINYINT, - "RemoteIP" INTEGER, - "WindowName" INTEGER, - "OpenerName" INTEGER, - "HistoryLength" SMALLINT, - "BrowserLanguage" TEXT, - "BrowserCountry" TEXT, - "SocialNetwork" TEXT, - "SocialAction" TEXT, - "HTTPError" SMALLINT, - "SendTiming" INTEGER, - "DNSTiming" INTEGER, - "ConnectTiming" INTEGER, - "ResponseStartTiming" INTEGER, - "ResponseEndTiming" INTEGER, - "FetchTiming" INTEGER, - "SocialSourceNetworkID" TINYINT, - "SocialSourcePage" TEXT, - "ParamPrice" BIGINT, - "ParamOrderID" TEXT, - "ParamCurrency" TEXT, - "ParamCurrencyID" SMALLINT, - "OpenstatServiceName" TEXT, - "OpenstatCampaignID" TEXT, - "OpenstatAdID" TEXT, - "OpenstatSourceID" TEXT, - "UTMSource" TEXT, - "UTMMedium" TEXT, - "UTMCampaign" TEXT, - "UTMContent" TEXT, - "UTMTerm" TEXT, - "FromTag" TEXT, - "HasGCLID" TINYINT, - "RefererHash" BIGINT, - "URLHash" BIGINT, - "CLID" INTEGER -); -``` - -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', '\n', '"'; -``` - -Unfortunately it did not help. - -``` -Failed to import table 'hits', line 79128: record too long -clk: 1.224 sec -``` - -Let's check actual record lengths: - -``` -$ cat hits_100m_obfuscated_monetdb.csv | awk 'BEGIN { FS = "\n"; max_length = 0 } { ++num; l = length($1); if (l > max_length) { max_length = l; print l, "in line", num } }' -588 in line 1 -705 in line 2 -786 in line 4 -788 in line 5 -913 in line 9 -917 in line 38 -996 in line 56 -1007 in line 113 -1008 in line 115 -1015 in line 183 -1147 in line 207 -1180 in line 654 -1190 in line 656 -1191 in line 795 -1446 in line 856 -1519 in line 1572 -1646 in line 1686 -1700 in line 3084 -1701 in line 3086 -2346 in line 4013 -2630 in line 8245 -3035 in line 8248 -3257 in line 8289 -3762 in line 8307 -5536 in line 8376 -5568 in line 71721 -6507 in line 92993 -6734 in line 163169 -7706 in line 473542 -8368 in line 2803973 -9375 in line 5433559 -``` - -No, there is nothing special in line 79128. - -Let's try to load just a single line into MonetDB to figure out what is so special about this line. - -``` -head -n79128 hits_100m_obfuscated_monetdb.csv | tail -n1 > hits_100m_obfuscated_monetdb.csv1 -``` - -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv1' USING DELIMITERS ',', '\n', '"'; -``` - -`Failed to import table 'hits', line 1: incomplete record at end of file` - -Now we have another error. -Ok. I understand that MonetDB is just parsing CSV with C-style escaping rules as TSV. - -I will try to stick with TSV. - -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t'; -``` - -Nothing good happened, it failed after 2.5 minutes with incomprehensible error: - -``` -Failed to import table 'hits', -clk: 2:30 min -``` - -Let's replace all backslashes from CSV. - -``` -SELECT - toInt64(WatchID) = -9223372036854775808 ? -9223372036854775807 : toInt64(WatchID), - toInt8(JavaEnable) = -128 ? -127 : toInt8(JavaEnable), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(Title)), '\n', ' '), '"', '\''), '\\', '/'), - toInt16(GoodEvent) = -32768 ? -32767 : toInt16(GoodEvent), - EventTime, - EventDate, - toInt32(CounterID) = -2147483648 ? -2147483647 : toInt32(CounterID), - toInt32(ClientIP) = -2147483648 ? -2147483647 : toInt32(ClientIP), - toInt32(RegionID) = -2147483648 ? -2147483647 : toInt32(RegionID), - toInt64(UserID) = -9223372036854775808 ? -9223372036854775807 : toInt64(UserID), - toInt8(CounterClass) = -128 ? -127 : toInt8(CounterClass), - toInt8(OS) = -128 ? -127 : toInt8(OS), - toInt8(UserAgent) = -128 ? -127 : toInt8(UserAgent), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(URL)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(Referer)), '\n', ' '), '"', '\''), '\\', '/'), - toInt8(Refresh) = -128 ? -127 : toInt8(Refresh), - toInt16(RefererCategoryID) = -32768 ? -32767 : toInt16(RefererCategoryID), - toInt32(RefererRegionID) = -2147483648 ? -2147483647 : toInt32(RefererRegionID), - toInt16(URLCategoryID) = -32768 ? -32767 : toInt16(URLCategoryID), - toInt32(URLRegionID) = -2147483648 ? -2147483647 : toInt32(URLRegionID), - toInt16(ResolutionWidth) = -32768 ? -32767 : toInt16(ResolutionWidth), - toInt16(ResolutionHeight) = -32768 ? -32767 : toInt16(ResolutionHeight), - toInt8(ResolutionDepth) = -128 ? -127 : toInt8(ResolutionDepth), - toInt8(FlashMajor) = -128 ? -127 : toInt8(FlashMajor), - toInt8(FlashMinor) = -128 ? -127 : toInt8(FlashMinor), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(FlashMinor2)), '\n', ' '), '"', '\''), '\\', '/'), - toInt8(NetMajor) = -128 ? -127 : toInt8(NetMajor), - toInt8(NetMinor) = -128 ? -127 : toInt8(NetMinor), - toInt16(UserAgentMajor) = -32768 ? -32767 : toInt16(UserAgentMajor), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(UserAgentMinor)), '\n', ' '), '"', '\''), '\\', '/'), - toInt8(CookieEnable) = -128 ? -127 : toInt8(CookieEnable), - toInt8(JavascriptEnable) = -128 ? -127 : toInt8(JavascriptEnable), - toInt8(IsMobile) = -128 ? -127 : toInt8(IsMobile), - toInt8(MobilePhone) = -128 ? -127 : toInt8(MobilePhone), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(MobilePhoneModel)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(Params)), '\n', ' '), '"', '\''), '\\', '/'), - toInt32(IPNetworkID) = -2147483648 ? -2147483647 : toInt32(IPNetworkID), - toInt8(TraficSourceID) = -128 ? -127 : toInt8(TraficSourceID), - toInt16(SearchEngineID) = -32768 ? -32767 : toInt16(SearchEngineID), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(SearchPhrase)), '\n', ' '), '"', '\''), '\\', '/'), - toInt8(AdvEngineID) = -128 ? -127 : toInt8(AdvEngineID), - toInt8(IsArtifical) = -128 ? -127 : toInt8(IsArtifical), - toInt16(WindowClientWidth) = -32768 ? -32767 : toInt16(WindowClientWidth), - toInt16(WindowClientHeight) = -32768 ? -32767 : toInt16(WindowClientHeight), - toInt16(ClientTimeZone) = -32768 ? -32767 : toInt16(ClientTimeZone), - ClientEventTime, - toInt8(SilverlightVersion1) = -128 ? -127 : toInt8(SilverlightVersion1), - toInt8(SilverlightVersion2) = -128 ? -127 : toInt8(SilverlightVersion2), - toInt32(SilverlightVersion3) = -2147483648 ? -2147483647 : toInt32(SilverlightVersion3), - toInt16(SilverlightVersion4) = -32768 ? -32767 : toInt16(SilverlightVersion4), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(PageCharset)), '\n', ' '), '"', '\''), '\\', '/'), - toInt32(CodeVersion) = -2147483648 ? -2147483647 : toInt32(CodeVersion), - toInt8(IsLink) = -128 ? -127 : toInt8(IsLink), - toInt8(IsDownload) = -128 ? -127 : toInt8(IsDownload), - toInt8(IsNotBounce) = -128 ? -127 : toInt8(IsNotBounce), - toInt64(FUniqID) = -9223372036854775808 ? -9223372036854775807 : toInt64(FUniqID), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(OriginalURL)), '\n', ' '), '"', '\''), '\\', '/'), - toInt32(HID) = -2147483648 ? -2147483647 : toInt32(HID), - toInt8(IsOldCounter) = -128 ? -127 : toInt8(IsOldCounter), - toInt8(IsEvent) = -128 ? -127 : toInt8(IsEvent), - toInt8(IsParameter) = -128 ? -127 : toInt8(IsParameter), - toInt8(DontCountHits) = -128 ? -127 : toInt8(DontCountHits), - toInt8(WithHash) = -128 ? -127 : toInt8(WithHash), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(HitColor)), '\n', ' '), '"', '\''), '\\', '/'), - LocalEventTime, - toInt8(Age) = -128 ? -127 : toInt8(Age), - toInt8(Sex) = -128 ? -127 : toInt8(Sex), - toInt8(Income) = -128 ? -127 : toInt8(Income), - toInt16(Interests) = -32768 ? -32767 : toInt16(Interests), - toInt8(Robotness) = -128 ? -127 : toInt8(Robotness), - toInt32(RemoteIP) = -2147483648 ? -2147483647 : toInt32(RemoteIP), - toInt32(WindowName) = -2147483648 ? -2147483647 : toInt32(WindowName), - toInt32(OpenerName) = -2147483648 ? -2147483647 : toInt32(OpenerName), - toInt16(HistoryLength) = -32768 ? -32767 : toInt16(HistoryLength), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(BrowserLanguage)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(BrowserCountry)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(SocialNetwork)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(SocialAction)), '\n', ' '), '"', '\''), '\\', '/'), - toInt16(HTTPError) = -32768 ? -32767 : toInt16(HTTPError), - toInt32(SendTiming) = -2147483648 ? -2147483647 : toInt32(SendTiming), - toInt32(DNSTiming) = -2147483648 ? -2147483647 : toInt32(DNSTiming), - toInt32(ConnectTiming) = -2147483648 ? -2147483647 : toInt32(ConnectTiming), - toInt32(ResponseStartTiming) = -2147483648 ? -2147483647 : toInt32(ResponseStartTiming), - toInt32(ResponseEndTiming) = -2147483648 ? -2147483647 : toInt32(ResponseEndTiming), - toInt32(FetchTiming) = -2147483648 ? -2147483647 : toInt32(FetchTiming), - toInt8(SocialSourceNetworkID) = -128 ? -127 : toInt8(SocialSourceNetworkID), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(SocialSourcePage)), '\n', ' '), '"', '\''), '\\', '/'), - toInt64(ParamPrice) = -9223372036854775808 ? -9223372036854775807 : toInt64(ParamPrice), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(ParamOrderID)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(ParamCurrency)), '\n', ' '), '"', '\''), '\\', '/'), - toInt16(ParamCurrencyID) = -32768 ? -32767 : toInt16(ParamCurrencyID), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(OpenstatServiceName)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(OpenstatCampaignID)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(OpenstatAdID)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(OpenstatSourceID)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(UTMSource)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(UTMMedium)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(UTMCampaign)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(UTMContent)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(UTMTerm)), '\n', ' '), '"', '\''), '\\', '/'), - replaceAll(replaceAll(replaceAll(toValidUTF8(toString(FromTag)), '\n', ' '), '"', '\''), '\\', '/'), - toInt8(HasGCLID) = -128 ? -127 : toInt8(HasGCLID), - toInt64(RefererHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(RefererHash), - toInt64(URLHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(URLHash), - toInt32(CLID) = -2147483648 ? -2147483647 : toInt32(CLID) -FROM hits_100m_obfuscated -INTO OUTFILE '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' -FORMAT CSV; -``` - -Another try: -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', '\n', '"'; -``` - -MonetDB still takes about one CPU core to load the data, while docs promised me parallel load. -And there are strange pauses... - -``` -sql>COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', '\n', '"'; -Failed to import table 'hits', -clk: 2:14 min -``` - -It still does not work!!! - -Let's look at the logs. -Logs are found in - -``` -/var/log/monetdb$ sudo less merovingian.log -``` - -And the log is the following: -``` -2020-08-12 03:44:03 ERR test[542123]: #wrkr0-hits: GDKextendf: !ERROR: could not extend file: No space left on device -2020-08-12 03:44:03 ERR test[542123]: #wrkr0-hits: MT_mremap: !ERROR: MT_mremap(/var/monetdb5/dbfarm/test/bat/10/1013.theap,0x7f0b2c3b0000,344981504,349175808): GDKextendf() failed -2020-08-12 03:44:03 ERR test[542123]: #wrkr0-hits: GDKmremap: !ERROR: requesting virtual memory failed; memory requested: 349175808, memory in use: 113744056, virtual memory in use: 3124271288 -2020-08-12 03:44:03 ERR test[542123]: #wrkr0-hits: HEAPextend: !ERROR: failed to extend to 349175808 for 10/1013.theap: GDKmremap() failed -2020-08-12 03:44:04 ERR test[542123]: #client14: createExceptionInternal: !ERROR: SQLException:importTable:42000!Failed to import table 'hits', -``` - -So, why it was created my "db farm" inside /var/monetdb5/ instead of /opt/ as I requested? - -Let's stop MonetDB and symlink /var/monetdb5 to /opt - -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.csv' USING DELIMITERS ',', E'\n', '"'; -``` - -It started to load data... but after ten minutes it looks like stopped processing it, but the query does not finish. - -There is no `SHOW PROCESSLIST` command. - -I see the following message in `merovingian.log`: -``` -2020-08-12 04:03:53 ERR test[682554]: #prod-hits: createExceptionInternal: !ERROR: MALException:sql.copy_from:line 40694471: record too long (EOS found) -``` - -What does EOS mean? It should not be "end of stream" because we have 100 000 000 records, that's more than just 40 694 471. - -Another try with TSV: - -``` -COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t'; -``` - -Ok, it's doing something at least for ten minues... -Ok, it's doing something at least for twenty minues... - -``` -100000000 affected rows -clk: 28:02 min -``` - -Finally it has loaded data successfully in 28 minutes. It's not fast - just below 60 000 rows per second. - -But the second query from the test does not work: - -``` -sql>SELECT count(*) FROM hits WHERE AdvEngineID <> 0; -SELECT: identifier 'advengineid' unknown -clk: 0.328 ms -sql>DESC TABLE hits -more>; -syntax error, unexpected DESC in: "desc" -clk: 0.471 ms -sql>DESCRIBE TABLE hits; -syntax error, unexpected IDENT in: "describe" -clk: 0.245 ms -sql>SHOW CREATE TABLE hits; -syntax error, unexpected IDENT in: "show" -clk: 0.246 ms -sql>\d hits; -table sys.hits; does not exist -sql>\d test.hits; -table test.hits; does not exist -sql>\d -TABLE sys.hits -sql>\t -Current time formatter: clock -sql>\dd -unknown sub-command for \d: d -sql>help -more>; -syntax error, unexpected IDENT in: "help" -clk: 0.494 ms -sql>SELECT count(*) FROM hits; -+-----------+ -| %1 | -+===========+ -| 100000001 | -+-----------+ -1 tuple -clk: 1.949 ms -sql>SELECT * FROM hits LIMIT 1; -``` - -And the query `SELECT * FROM hits LIMIT 1` does not finish in reasonable time. -It took 3:23 min. - -Ok, I has to put all identifiers in quotes in my queries, like this: - -``` -SELECT count(*) FROM hits WHERE "AdvEngineID" <> 0; -``` - -There is no approximate count distinct functions. Will use exact count distinct instead. - -Run queries: -`./benchmark.sh` - -It works rather slowly. It is barely using more than a single CPU core. And there is nothing about performance tuning in: -https://www.monetdb.org/Documentation/ServerAdministration/ServerSetupAndConfiguration - - -The last 7 queries from the benchmark benefit from index. Let's create it: - -`CREATE INDEX hits_idx ON hits ("CounterID", "EventDate");` - -``` -sql>CREATE INDEX hits_idx ON hits ("CounterID", "EventDate"); -operation successful -clk: 5.374 sec -``` - -Ok. It was created quickly and successful. -Let's check how does it speed up queries... - -``` -sql>SELECT DATE_TRUNC('minute', "EventTime") AS "Minute", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-02' AND "Refresh" = 0 AND "DontCountHits" = 0 GROUP BY DATE_TRUNC('minute', "EventTime") ORDER BY DATE_TRUNC('minute', "EventTime"); -+--------+-----------+ -| Minute | PageViews | -+========+===========+ -+--------+-----------+ -0 tuples -clk: 4.042 sec -``` - -There is almost no difference. -And the trivial index lookup query is still slow: - -``` -sql>SELECT count(*) FROM hits WHERE "CounterID" = 62; -+--------+ -| %1 | -+========+ -| 738172 | -+--------+ -1 tuple -clk: 1.406 sec -``` - -How to prepare the benchmark report: - -`grep clk log.txt | awk '{ if ($3 == "ms") { print $2 / 1000; } else if ($3 == "sec") { print $2 } else { print } }'` - -``` -awk '{ - if (i % 3 == 0) { a = $1 } - else if (i % 3 == 1) { b = $1 } - else if (i % 3 == 2) { c = $1; print "[" a ", " b ", " c "]," }; - ++i; }' < tmp.txt -``` - -When I run: - -``` -sudo systemctl stop monetdbd -``` - -It takes a few minutes to complete. diff --git a/benchmark/omnisci/benchmark.sh b/benchmark/omnisci/benchmark.sh deleted file mode 100755 index 2e4b10fab73..00000000000 --- a/benchmark/omnisci/benchmark.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -grep -v -P '^#' queries.sql | sed -e 's/{table}/hits/' | while read query; do - - echo 3 | sudo tee /proc/sys/vm/drop_caches - sudo systemctl restart omnisci_server - for i in {1..1000}; do - /opt/omnisci/bin/omnisql -t -p HyperInteractive <<< "SELECT 1;" 2>&1 | grep -q '1 rows returned' && break; - sleep 0.1; - done - sleep 10; - - echo "$query"; - for i in {1..3}; do - /opt/omnisci/bin/omnisql -t -p HyperInteractive <<< "$query" 2>&1 | grep -P 'Exception:|Execution time:'; - done; -done; diff --git a/benchmark/omnisci/instruction.md b/benchmark/omnisci/instruction.md deleted file mode 100644 index e81e3783e44..00000000000 --- a/benchmark/omnisci/instruction.md +++ /dev/null @@ -1,332 +0,0 @@ -# Instruction to run benchmark for OmniSci on web-analytics dataset - -OmniSci (former name "MapD") is open-source (open-core) in-memory analytical DBMS with support for GPU processing. -It can run on CPU without GPU as well. It can show competitive performance on simple queries (like - simple aggregation on a single column). - -# How to install - -https://docs.omnisci.com/installation-and-configuration/installation/installing-on-ubuntu - -# Caveats - -- Dataset (at least needed columns) must fit in memory. -- It does not support data compression (only dictionary encoding for strings). -- First query execution is very slow because uncompressed data is read from disk. -- It does not support index for quick range queries. -- It does not support NOT NULL for data types. -- It does not support BLOB. -- No support for UNSIGNED data type (it's Ok according to SQL standard). -- Lack of string processing functions. -- Strings are limited to 32767 bytes. -- GROUP BY on text data type is supported only if it has dictionary encoding. -`Exception: Cannot group by string columns which are not dictionary encoded` -- Some aggregate functions are not supported for strings at all. -`Aggregate on TEXT is not supported yet.` -- Sometimes I hit a bug when query is run in infinite loop and does not finish (after retry it's finished successfully). -- One query executed in hours even with retries. -- Sorting is slow and disabled with default settings for large resultsets. -`Exception: Sorting the result would be too slow` -`Cast from dictionary-encoded string to none-encoded would be slow` -- There is approximate count distinct function but the precision is not documented. - -To enable sorting of large resultsets, see: -https://stackoverflow.com/questions/62977734/omnissci-sorting-the-result-would-be-too-slow - -The list of known issues is here: -https://github.com/omnisci/omniscidb/issues?q=is%3Aissue+author%3Aalexey-milovidov - -# How to prepare data - -Download the 100 million rows dataset from here and insert into ClickHouse: -https://clickhouse.com/docs/en/getting-started/example-datasets/metrica/ - -Convert the CREATE TABLE query: - -``` -clickhouse-client --query "SHOW CREATE TABLE hits_100m" --format TSVRaw | - tr '`' '"' | - sed -r -e ' - s/U?Int64/BIGINT/; - s/U?Int32/INTEGER/; - s/U?Int16/SMALLINT/; - s/U?Int8/TINYINT/; - s/DateTime/TIMESTAMP ENCODING FIXED(32)/; - s/ Date/ DATE ENCODING DAYS(16)/; - s/FixedString\(2\)/TEXT ENCODING DICT(16)/; - s/FixedString\(3\)/TEXT ENCODING DICT/; - s/FixedString\(\d+\)/TEXT ENCODING DICT/; - s/String/TEXT ENCODING DICT/;' -``` -And cut `ENGINE` part. - -The resulting CREATE TABLE query: -``` -CREATE TABLE hits -( - "WatchID" BIGINT, - "JavaEnable" TINYINT, - "Title" TEXT ENCODING DICT, - "GoodEvent" SMALLINT, - "EventTime" TIMESTAMP ENCODING FIXED(32), - "EventDate" ENCODING DAYS(16) Date, - "CounterID" INTEGER, - "ClientIP" INTEGER, - "RegionID" INTEGER, - "UserID" BIGINT, - "CounterClass" TINYINT, - "OS" TINYINT, - "UserAgent" TINYINT, - "URL" TEXT ENCODING DICT, - "Referer" TEXT ENCODING DICT, - "Refresh" TINYINT, - "RefererCategoryID" SMALLINT, - "RefererRegionID" INTEGER, - "URLCategoryID" SMALLINT, - "URLRegionID" INTEGER, - "ResolutionWidth" SMALLINT, - "ResolutionHeight" SMALLINT, - "ResolutionDepth" TINYINT, - "FlashMajor" TINYINT, - "FlashMinor" TINYINT, - "FlashMinor2" TEXT ENCODING DICT, - "NetMajor" TINYINT, - "NetMinor" TINYINT, - "UserAgentMajor" SMALLINT, - "UserAgentMinor" TEXT ENCODING DICT(16), - "CookieEnable" TINYINT, - "JavascriptEnable" TINYINT, - "IsMobile" TINYINT, - "MobilePhone" TINYINT, - "MobilePhoneModel" TEXT ENCODING DICT, - "Params" TEXT ENCODING DICT, - "IPNetworkID" INTEGER, - "TraficSourceID" TINYINT, - "SearchEngineID" SMALLINT, - "SearchPhrase" TEXT ENCODING DICT, - "AdvEngineID" TINYINT, - "IsArtifical" TINYINT, - "WindowClientWidth" SMALLINT, - "WindowClientHeight" SMALLINT, - "ClientTimeZone" SMALLINT, - "ClientEventTime" TIMESTAMP ENCODING FIXED(32), - "SilverlightVersion1" TINYINT, - "SilverlightVersion2" TINYINT, - "SilverlightVersion3" INTEGER, - "SilverlightVersion4" SMALLINT, - "PageCharset" TEXT ENCODING DICT, - "CodeVersion" INTEGER, - "IsLink" TINYINT, - "IsDownload" TINYINT, - "IsNotBounce" TINYINT, - "FUniqID" BIGINT, - "OriginalURL" TEXT ENCODING DICT, - "HID" INTEGER, - "IsOldCounter" TINYINT, - "IsEvent" TINYINT, - "IsParameter" TINYINT, - "DontCountHits" TINYINT, - "WithHash" TINYINT, - "HitColor" TEXT ENCODING DICT(8), - "LocalEventTime" TIMESTAMP ENCODING FIXED(32), - "Age" TINYINT, - "Sex" TINYINT, - "Income" TINYINT, - "Interests" SMALLINT, - "Robotness" TINYINT, - "RemoteIP" INTEGER, - "WindowName" INTEGER, - "OpenerName" INTEGER, - "HistoryLength" SMALLINT, - "BrowserLanguage" TEXT ENCODING DICT(16), - "BrowserCountry" TEXT ENCODING DICT(16), - "SocialNetwork" TEXT ENCODING DICT, - "SocialAction" TEXT ENCODING DICT, - "HTTPError" SMALLINT, - "SendTiming" INTEGER, - "DNSTiming" INTEGER, - "ConnectTiming" INTEGER, - "ResponseStartTiming" INTEGER, - "ResponseEndTiming" INTEGER, - "FetchTiming" INTEGER, - "SocialSourceNetworkID" TINYINT, - "SocialSourcePage" TEXT ENCODING DICT, - "ParamPrice" BIGINT, - "ParamOrderID" TEXT ENCODING DICT, - "ParamCurrency" TEXT ENCODING DICT, - "ParamCurrencyID" SMALLINT, - "OpenstatServiceName" TEXT ENCODING DICT, - "OpenstatCampaignID" TEXT ENCODING DICT, - "OpenstatAdID" TEXT ENCODING DICT, - "OpenstatSourceID" TEXT ENCODING DICT, - "UTMSource" TEXT ENCODING DICT, - "UTMMedium" TEXT ENCODING DICT, - "UTMCampaign" TEXT ENCODING DICT, - "UTMContent" TEXT ENCODING DICT, - "UTMTerm" TEXT ENCODING DICT, - "FromTag" TEXT ENCODING DICT, - "HasGCLID" TINYINT, - "RefererHash" BIGINT, - "URLHash" BIGINT, - "CLID" INTEGER -); -``` - -Convert the dataset, prepare the list of fields for SELECT: - -``` -clickhouse-client --query "SHOW CREATE TABLE hits_100m" --format TSVRaw | - tr '`' '"' | - sed -r -e ' - s/"(\w+)" U?Int([0-9]+)/toInt\2(\1)/; - s/"(\w+)" (Fixed)?String(\([0-9]+\))?/toValidUTF8(toString(\1))/; - s/"(\w+)" \w+/\1/' -``` - -The resulting SELECT query for data preparation: - -``` -SELECT - toInt64(WatchID), - toInt8(JavaEnable), - toValidUTF8(toString(Title)), - toInt16(GoodEvent), - EventTime, - EventDate, - toInt32(CounterID), - toInt32(ClientIP), - toInt32(RegionID), - toInt64(UserID), - toInt8(CounterClass), - toInt8(OS), - toInt8(UserAgent), - toValidUTF8(toString(URL)), - toValidUTF8(toString(Referer)), - toInt8(Refresh), - toInt16(RefererCategoryID), - toInt32(RefererRegionID), - toInt16(URLCategoryID), - toInt32(URLRegionID), - toInt16(ResolutionWidth), - toInt16(ResolutionHeight), - toInt8(ResolutionDepth), - toInt8(FlashMajor), - toInt8(FlashMinor), - toValidUTF8(toString(FlashMinor2)), - toInt8(NetMajor), - toInt8(NetMinor), - toInt16(UserAgentMajor), - toValidUTF8(toString(UserAgentMinor)), - toInt8(CookieEnable), - toInt8(JavascriptEnable), - toInt8(IsMobile), - toInt8(MobilePhone), - toValidUTF8(toString(MobilePhoneModel)), - toValidUTF8(toString(Params)), - toInt32(IPNetworkID), - toInt8(TraficSourceID), - toInt16(SearchEngineID), - toValidUTF8(toString(SearchPhrase)), - toInt8(AdvEngineID), - toInt8(IsArtifical), - toInt16(WindowClientWidth), - toInt16(WindowClientHeight), - toInt16(ClientTimeZone), - ClientEventTime, - toInt8(SilverlightVersion1), - toInt8(SilverlightVersion2), - toInt32(SilverlightVersion3), - toInt16(SilverlightVersion4), - toValidUTF8(toString(PageCharset)), - toInt32(CodeVersion), - toInt8(IsLink), - toInt8(IsDownload), - toInt8(IsNotBounce), - toInt64(FUniqID), - toValidUTF8(toString(OriginalURL)), - toInt32(HID), - toInt8(IsOldCounter), - toInt8(IsEvent), - toInt8(IsParameter), - toInt8(DontCountHits), - toInt8(WithHash), - toValidUTF8(toString(HitColor)), - LocalEventTime, - toInt8(Age), - toInt8(Sex), - toInt8(Income), - toInt16(Interests), - toInt8(Robotness), - toInt32(RemoteIP), - toInt32(WindowName), - toInt32(OpenerName), - toInt16(HistoryLength), - toValidUTF8(toString(BrowserLanguage)), - toValidUTF8(toString(BrowserCountry)), - toValidUTF8(toString(SocialNetwork)), - toValidUTF8(toString(SocialAction)), - toInt16(HTTPError), - toInt32(SendTiming), - toInt32(DNSTiming), - toInt32(ConnectTiming), - toInt32(ResponseStartTiming), - toInt32(ResponseEndTiming), - toInt32(FetchTiming), - toInt8(SocialSourceNetworkID), - toValidUTF8(toString(SocialSourcePage)), - toInt64(ParamPrice), - toValidUTF8(toString(ParamOrderID)), - toValidUTF8(toString(ParamCurrency)), - toInt16(ParamCurrencyID), - toValidUTF8(toString(OpenstatServiceName)), - toValidUTF8(toString(OpenstatCampaignID)), - toValidUTF8(toString(OpenstatAdID)), - toValidUTF8(toString(OpenstatSourceID)), - toValidUTF8(toString(UTMSource)), - toValidUTF8(toString(UTMMedium)), - toValidUTF8(toString(UTMCampaign)), - toValidUTF8(toString(UTMContent)), - toValidUTF8(toString(UTMTerm)), - toValidUTF8(toString(FromTag)), - toInt8(HasGCLID), - toInt64(RefererHash), - toInt64(URLHash), - toInt32(CLID) -FROM hits_100m_obfuscated -INTO OUTFILE '/home/milovidov/example_datasets/hits_100m_obfuscated.csv' -FORMAT CSV; -``` - -Upload data to OmniSci: -``` -/opt/omnisci/bin/omnisql -t -p HyperInteractive -``` -Run CREATE TABLE statement, then run: -``` -COPY hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated.csv' WITH (HEADER = 'false'); -``` - -Data loading took -``` -336639 ms -``` -on a server (Linux Ubuntu, Xeon E5-2560v2, 32 logical CPU, 128 GiB RAM, 8xHDD RAID-5, 40 TB). - -Run benchmark: - -``` -./benchmark.sh -``` - -Prepare the result to paste into JSON: - -``` -grep -oP 'Total time: \d+' log.txt | - grep -oP '\d+' | - awk '{ - if (i % 3 == 0) { a = $1 } - else if (i % 3 == 1) { b = $1 } - else if (i % 3 == 2) { c = $1; print "[" a / 1000 ", " b / 1000 ", " c / 1000 "]," }; - ++i; }' -``` - -And fill out `[null, null, null]` for missing runs. diff --git a/benchmark/omnisci/log.txt b/benchmark/omnisci/log.txt deleted file mode 100644 index 986f00d2096..00000000000 --- a/benchmark/omnisci/log.txt +++ /dev/null @@ -1,210 +0,0 @@ -3 -SELECT count(*) FROM hits; -Execution time: 23471 ms, Total time: 23471 ms -Execution time: 42 ms, Total time: 43 ms -Execution time: 35 ms, Total time: 35 ms -3 -SELECT count(*) FROM hits WHERE AdvEngineID != 0; -Execution time: 17328 ms, Total time: 17329 ms -Execution time: 58 ms, Total time: 59 ms -Execution time: 57 ms, Total time: 59 ms -3 -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits; -Execution time: 17309 ms, Total time: 17310 ms -Execution time: 115 ms, Total time: 115 ms -Execution time: 129 ms, Total time: 130 ms -3 -SELECT sum(UserID) FROM hits; -Execution time: 26091 ms, Total time: 26091 ms -Execution time: 88 ms, Total time: 89 ms -Execution time: 71 ms, Total time: 72 ms -3 -SELECT APPROX_COUNT_DISTINCT(UserID) FROM hits; -Execution time: 21720 ms, Total time: 21720 ms -Execution time: 364 ms, Total time: 364 ms -Execution time: 344 ms, Total time: 345 ms -3 -SELECT APPROX_COUNT_DISTINCT(SearchPhrase) FROM hits; -Execution time: 19314 ms, Total time: 19315 ms -Execution time: 385 ms, Total time: 386 ms -Execution time: 382 ms, Total time: 382 ms -3 -SELECT min(EventDate), max(EventDate) FROM hits; -Execution time: 19431 ms, Total time: 19432 ms -Execution time: 130 ms, Total time: 131 ms -Execution time: 147 ms, Total time: 148 ms -3 -SELECT AdvEngineID, count(*) FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -Execution time: 20660 ms, Total time: 20661 ms -Execution time: 63 ms, Total time: 64 ms -Execution time: 88 ms, Total time: 89 ms -3 -SELECT RegionID, APPROX_COUNT_DISTINCT(UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10; -Execution time: 21364 ms, Total time: 21472 ms -Execution time: 1387 ms, Total time: 1504 ms -Execution time: 1443 ms, Total time: 1505 ms -3 -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), APPROX_COUNT_DISTINCT(UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10; -Execution time: 22205 ms, Total time: 22285 ms -Execution time: 1590 ms, Total time: 1655 ms -Execution time: 1591 ms, Total time: 1658 ms -3 -SELECT MobilePhoneModel, APPROX_COUNT_DISTINCT(UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -Execution time: 22343 ms, Total time: 22344 ms -Execution time: 122 ms, Total time: 123 ms -Execution time: 117 ms, Total time: 118 ms -3 -SELECT MobilePhone, MobilePhoneModel, APPROX_COUNT_DISTINCT(UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -Execution time: 21681 ms, Total time: 21695 ms -Execution time: 299 ms, Total time: 310 ms -Execution time: 275 ms, Total time: 292 ms -3 -SELECT SearchPhrase, count(*) AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -Execution time: 23346 ms, Total time: 23360 ms -Execution time: 613 ms, Total time: 631 ms -Execution time: 606 ms, Total time: 624 ms -3 -SELECT SearchPhrase, APPROX_COUNT_DISTINCT(UserID) AS u FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -Execution time: 66014 ms, Total time: 68618 ms -Execution time: 44309 ms, Total time: 47296 ms -Execution time: 44019 ms, Total time: 46866 ms -3 -SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -Execution time: 25853 ms, Total time: 25984 ms -Execution time: 2590 ms, Total time: 2728 ms -Execution time: 2652 ms, Total time: 2789 ms -3 -SELECT UserID, count(*) FROM hits GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -Execution time: 26581 ms, Total time: 26953 ms -Execution time: 5843 ms, Total time: 6158 ms -Execution time: 5970 ms, Total time: 6286 ms -3 -SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -Execution time: 33007 ms, Total time: 33581 ms -Execution time: 9943 ms, Total time: 10509 ms -Execution time: 9470 ms, Total time: 10047 ms -3 -SELECT UserID, SearchPhrase, count(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10; -Execution time: 39009 ms, Total time: 39575 ms -Execution time: 8151 ms, Total time: 8785 ms -Execution time: 8037 ms, Total time: 8665 ms -3 -SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, count(*) FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -Execution time: 56207 ms, Total time: 57764 ms -Execution time: 26653 ms, Total time: 28199 ms -Execution time: 25614 ms, Total time: 27336 ms -3 -SELECT UserID FROM hits WHERE UserID = -6101065172474983726; -Execution time: 18975 ms, Total time: 18976 ms -Execution time: 136 ms, Total time: 136 ms -Execution time: 136 ms, Total time: 136 ms -3 -SELECT count(*) FROM hits WHERE URL LIKE '%metrika%'; -Execution time: 32444 ms, Total time: 32445 ms -Execution time: 125 ms, Total time: 126 ms -Execution time: 134 ms, Total time: 136 ms -3 -SELECT SearchPhrase, min(URL), count(*) AS c FROM hits WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -Exception: Aggregate on TEXT is not supported yet. -Exception: Aggregate on TEXT is not supported yet. -Exception: Aggregate on TEXT is not supported yet. -3 -SELECT SearchPhrase, min(URL), min(Title), count(*) AS c, APPROX_COUNT_DISTINCT(UserID) FROM hits WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -Exception: Aggregate on TEXT is not supported yet. -Exception: Aggregate on TEXT is not supported yet. -Exception: Aggregate on TEXT is not supported yet. -3 -SELECT * FROM hits WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -Execution time: 96163 ms, Total time: 96166 ms -Execution time: 312 ms, Total time: 314 ms -Execution time: 303 ms, Total time: 305 ms -3 -SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -Execution time: 27493 ms, Total time: 27494 ms -Execution time: 216 ms, Total time: 216 ms -Execution time: 221 ms, Total time: 222 ms -3 -SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -Execution time: 38230 ms, Total time: 38308 ms -Execution time: 17175 ms, Total time: 17256 ms -Execution time: 17225 ms, Total time: 17310 ms -3 -SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -Execution time: 115614 ms, Total time: 115714 ms -Execution time: 95944 ms, Total time: 96041 ms -Execution time: 94274 ms, Total time: 94383 ms -3 -SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits WHERE URL != '' GROUP BY CounterID HAVING c > 100000 ORDER BY l DESC LIMIT 25; -Execution time: 31775 ms, Total time: 31779 ms -Execution time: 2643 ms, Total time: 2647 ms -Execution time: 2933 ms, Total time: 2937 ms -3 -SELECT domainWithoutWWW(Referer) AS key, avg(length(Referer)) AS l, count(*) AS c, min(Referer) FROM hits WHERE Referer != '' GROUP BY key HAVING c > 100000 ORDER BY l DESC LIMIT 25; -Exception: Exception occurred: org.apache.calcite.runtime.CalciteContextException: From line 1, column 8 to line 1, column 36: No match found for function signature domainWithoutWWW() -Exception: Exception occurred: org.apache.calcite.runtime.CalciteContextException: From line 1, column 8 to line 1, column 36: No match found for function signature domainWithoutWWW() -Exception: Exception occurred: org.apache.calcite.runtime.CalciteContextException: From line 1, column 8 to line 1, column 36: No match found for function signature domainWithoutWWW() -3 -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits; -Execution time: 28853 ms, Total time: 28854 ms -Execution time: 5654 ms, Total time: 5655 ms -Execution time: 5579 ms, Total time: 5581 ms -3 -SELECT SearchEngineID, ClientIP, count(*) AS c, sum("Refresh"), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -Execution time: 31694 ms, Total time: 31925 ms -Execution time: 3872 ms, Total time: 4142 ms -Execution time: 3928 ms, Total time: 4162 ms -3 -SELECT WatchID, ClientIP, count(*) AS c, sum("Refresh"), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -Execution time: 43690 ms, Total time: 44297 ms -Execution time: 8221 ms, Total time: 8825 ms -Execution time: 8115 ms, Total time: 8711 ms -3 -SELECT URL, count(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10; -Execution time: 29669 ms, Total time: 29715 ms -Execution time: 1623 ms, Total time: 1669 ms -Execution time: 1534 ms, Total time: 1586 ms -3 -SELECT 1, URL, count(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -Execution time: 34860 ms, Total time: 35201 ms -Execution time: 7075 ms, Total time: 7414 ms -Execution time: 7164 ms, Total time: 7567 ms -3 -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -Execution time: 26467 ms, Total time: 26724 ms -Execution time: 5740 ms, Total time: 6026 ms -Execution time: 5667 ms, Total time: 5920 ms -3 -SELECT URL, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "Refresh" = 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -Execution time: 31899 ms, Total time: 31908 ms -Execution time: 1141 ms, Total time: 1154 ms -Execution time: 1155 ms, Total time: 1168 ms -3 -SELECT Title, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "Refresh" = 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -Execution time: 27991 ms, Total time: 27997 ms -Execution time: 719 ms, Total time: 724 ms -Execution time: 737 ms, Total time: 744 ms -3 -SELECT URL, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "Refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -Execution time: 34651 ms, Total time: 34661 ms -Execution time: 1182 ms, Total time: 1200 ms -Execution time: 1142 ms, Total time: 1159 ms -3 -SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "Refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -Execution time: 30130 ms, Total time: 30136 ms -Execution time: 461 ms, Total time: 467 ms -Execution time: 445 ms, Total time: 451 ms -3 -SELECT URLHash, EventDate, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "Refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Execution time: 19989 ms, Total time: 19991 ms -Execution time: 326 ms, Total time: 327 ms -Execution time: 325 ms, Total time: 326 ms -3 -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "Refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Execution time: 18658 ms, Total time: 18660 ms -Execution time: 265 ms, Total time: 266 ms -Execution time: 254 ms, Total time: 255 ms -3 -SELECT DATE_TRUNC(minute, EventTime) AS "Minute", count(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND "Refresh" = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC(minute, EventTime) ORDER BY DATE_TRUNC(minute, EventTime); -Execution time: 25225 ms, Total time: 25227 ms -Execution time: 210 ms, Total time: 212 ms -Execution time: 199 ms, Total time: 200 ms diff --git a/benchmark/omnisci/queries.sql b/benchmark/omnisci/queries.sql deleted file mode 100644 index 342de72db8a..00000000000 --- a/benchmark/omnisci/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -SELECT count(*) FROM {table}; -SELECT count(*) FROM {table} WHERE AdvEngineID != 0; -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM {table}; -SELECT sum(UserID) FROM {table}; -SELECT APPROX_COUNT_DISTINCT(UserID) FROM {table}; -SELECT APPROX_COUNT_DISTINCT(SearchPhrase) FROM {table}; -SELECT min(EventDate), max(EventDate) FROM {table}; -SELECT AdvEngineID, count(*) FROM {table} WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -SELECT RegionID, APPROX_COUNT_DISTINCT(UserID) AS u FROM {table} GROUP BY RegionID ORDER BY u DESC LIMIT 10; -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), APPROX_COUNT_DISTINCT(UserID) FROM {table} GROUP BY RegionID ORDER BY c DESC LIMIT 10; -SELECT MobilePhoneModel, APPROX_COUNT_DISTINCT(UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT MobilePhone, MobilePhoneModel, APPROX_COUNT_DISTINCT(UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT SearchPhrase, count(*) AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, APPROX_COUNT_DISTINCT(UserID) AS u FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT UserID, count(*) FROM {table} GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM {table} GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM {table} GROUP BY UserID, SearchPhrase LIMIT 10; -SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, count(*) FROM {table} GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID FROM {table} WHERE UserID = -6101065172474983726; -SELECT count(*) FROM {table} WHERE URL LIKE '%metrika%'; -SELECT SearchPhrase, min(URL), count(*) AS c FROM {table} WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, min(URL), min(Title), count(*) AS c, APPROX_COUNT_DISTINCT(UserID) FROM {table} WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT * FROM {table} WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM {table} WHERE URL != '' GROUP BY CounterID HAVING c > 100000 ORDER BY l DESC LIMIT 25; -SELECT domainWithoutWWW(Referer) AS key, avg(length(Referer)) AS l, count(*) AS c, min(Referer) FROM {table} WHERE Referer != '' GROUP BY key HAVING c > 100000 ORDER BY l DESC LIMIT 25; -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM {table}; -SELECT SearchEngineID, ClientIP, count(*) AS c, sum("Refresh"), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum("Refresh"), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -#SELECT WatchID, ClientIP, count(*) AS c, sum("Refresh"), avg(ResolutionWidth) FROM {table} GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT URL, count(*) AS c FROM {table} GROUP BY URL ORDER BY c DESC LIMIT 10; -SELECT 1, URL, count(*) AS c FROM {table} GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM {table} GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "Refresh" = 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -SELECT Title, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "Refresh" = 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "Refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "Refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -SELECT URLHash, EventDate, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "Refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "Refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -SELECT DATE_TRUNC(minute, EventTime) AS "Minute", count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND "Refresh" = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC(minute, EventTime) ORDER BY DATE_TRUNC(minute, EventTime); diff --git a/benchmark/postgresql/benchmark.sh b/benchmark/postgresql/benchmark.sh deleted file mode 100755 index 4a7139ec79d..00000000000 --- a/benchmark/postgresql/benchmark.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -grep -v -P '^#' queries.sql | sed -e 's/{table}/hits_100m_pg/' | while read query; do - - echo 3 | sudo tee /proc/sys/vm/drop_caches - - echo "$query"; - for i in {1..3}; do - # For some reason JIT does not work on my machine - sudo -u postgres psql tutorial -t -c 'set jit = off' -c '\timing' -c "$query" | grep 'Time' | tee --append log - done; -done; diff --git a/benchmark/postgresql/instructions.md b/benchmark/postgresql/instructions.md deleted file mode 100644 index 296fa377bd1..00000000000 --- a/benchmark/postgresql/instructions.md +++ /dev/null @@ -1,142 +0,0 @@ -Create a table in PostgreSQL: - -``` -CREATE TABLE hits_100m_pg -( - WatchID BIGINT NOT NULL, - JavaEnable SMALLINT NOT NULL, - Title TEXT NOT NULL, - GoodEvent SMALLINT NOT NULL, - EventTime TIMESTAMP NOT NULL, - EventDate Date NOT NULL, - CounterID INTEGER NOT NULL, - ClientIP INTEGER NOT NULL, - RegionID INTEGER NOT NULL, - UserID BIGINT NOT NULL, - CounterClass SMALLINT NOT NULL, - OS SMALLINT NOT NULL, - UserAgent SMALLINT NOT NULL, - URL TEXT NOT NULL, - Referer TEXT NOT NULL, - Refresh SMALLINT NOT NULL, - RefererCategoryID SMALLINT NOT NULL, - RefererRegionID INTEGER NOT NULL, - URLCategoryID SMALLINT NOT NULL, - URLRegionID INTEGER NOT NULL, - ResolutionWidth SMALLINT NOT NULL, - ResolutionHeight SMALLINT NOT NULL, - ResolutionDepth SMALLINT NOT NULL, - FlashMajor SMALLINT NOT NULL, - FlashMinor SMALLINT NOT NULL, - FlashMinor2 TEXT NOT NULL, - NetMajor SMALLINT NOT NULL, - NetMinor SMALLINT NOT NULL, - UserAgentMajor SMALLINT NOT NULL, - UserAgentMinor CHAR(2) NOT NULL, - CookieEnable SMALLINT NOT NULL, - JavascriptEnable SMALLINT NOT NULL, - IsMobile SMALLINT NOT NULL, - MobilePhone SMALLINT NOT NULL, - MobilePhoneModel TEXT NOT NULL, - Params TEXT NOT NULL, - IPNetworkID INTEGER NOT NULL, - TraficSourceID SMALLINT NOT NULL, - SearchEngineID SMALLINT NOT NULL, - SearchPhrase TEXT NOT NULL, - AdvEngineID SMALLINT NOT NULL, - IsArtifical SMALLINT NOT NULL, - WindowClientWidth SMALLINT NOT NULL, - WindowClientHeight SMALLINT NOT NULL, - ClientTimeZone SMALLINT NOT NULL, - ClientEventTime TIMESTAMP NOT NULL, - SilverlightVersion1 SMALLINT NOT NULL, - SilverlightVersion2 SMALLINT NOT NULL, - SilverlightVersion3 INTEGER NOT NULL, - SilverlightVersion4 SMALLINT NOT NULL, - PageCharset TEXT NOT NULL, - CodeVersion INTEGER NOT NULL, - IsLink SMALLINT NOT NULL, - IsDownload SMALLINT NOT NULL, - IsNotBounce SMALLINT NOT NULL, - FUniqID BIGINT NOT NULL, - OriginalURL TEXT NOT NULL, - HID INTEGER NOT NULL, - IsOldCounter SMALLINT NOT NULL, - IsEvent SMALLINT NOT NULL, - IsParameter SMALLINT NOT NULL, - DontCountHits SMALLINT NOT NULL, - WithHash SMALLINT NOT NULL, - HitColor CHAR NOT NULL, - LocalEventTime TIMESTAMP NOT NULL, - Age SMALLINT NOT NULL, - Sex SMALLINT NOT NULL, - Income SMALLINT NOT NULL, - Interests SMALLINT NOT NULL, - Robotness SMALLINT NOT NULL, - RemoteIP INTEGER NOT NULL, - WindowName INTEGER NOT NULL, - OpenerName INTEGER NOT NULL, - HistoryLength SMALLINT NOT NULL, - BrowserLanguage TEXT NOT NULL, - BrowserCountry TEXT NOT NULL, - SocialNetwork TEXT NOT NULL, - SocialAction TEXT NOT NULL, - HTTPError SMALLINT NOT NULL, - SendTiming INTEGER NOT NULL, - DNSTiming INTEGER NOT NULL, - ConnectTiming INTEGER NOT NULL, - ResponseStartTiming INTEGER NOT NULL, - ResponseEndTiming INTEGER NOT NULL, - FetchTiming INTEGER NOT NULL, - SocialSourceNetworkID SMALLINT NOT NULL, - SocialSourcePage TEXT NOT NULL, - ParamPrice BIGINT NOT NULL, - ParamOrderID TEXT NOT NULL, - ParamCurrency TEXT NOT NULL, - ParamCurrencyID SMALLINT NOT NULL, - OpenstatServiceName TEXT NOT NULL, - OpenstatCampaignID TEXT NOT NULL, - OpenstatAdID TEXT NOT NULL, - OpenstatSourceID TEXT NOT NULL, - UTMSource TEXT NOT NULL, - UTMMedium TEXT NOT NULL, - UTMCampaign TEXT NOT NULL, - UTMContent TEXT NOT NULL, - UTMTerm TEXT NOT NULL, - FromTag TEXT NOT NULL, - HasGCLID SMALLINT NOT NULL, - RefererHash BIGINT NOT NULL, - URLHash BIGINT NOT NULL, - CLID INTEGER NOT NULL -); -``` - -Create a dump from ClickHouse: - -``` -SELECT WatchID::Int64, JavaEnable, replaceAll(replaceAll(replaceAll(toValidUTF8(Title), '\0', ''), '"', ''), '\\', ''), GoodEvent, EventTime, EventDate, CounterID::Int32, ClientIP::Int32, RegionID::Int32, - UserID::Int64, CounterClass, OS, UserAgent, replaceAll(replaceAll(replaceAll(toValidUTF8(URL), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(Referer), '\0', ''), '"', ''), '\\', ''), Refresh, RefererCategoryID::Int16, RefererRegionID::Int32, - URLCategoryID::Int16, URLRegionID::Int32, ResolutionWidth::Int16, ResolutionHeight::Int16, ResolutionDepth, FlashMajor, FlashMinor, - FlashMinor2, NetMajor, NetMinor, UserAgentMajor::Int16, replaceAll(replaceAll(replaceAll(toValidUTF8(UserAgentMinor::String), '\0', ''), '"', ''), '\\', ''), CookieEnable, JavascriptEnable, IsMobile, MobilePhone, - replaceAll(replaceAll(replaceAll(toValidUTF8(MobilePhoneModel), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(Params), '\0', ''), '"', ''), '\\', ''), IPNetworkID::Int32, TraficSourceID, SearchEngineID::Int16, replaceAll(replaceAll(replaceAll(toValidUTF8(SearchPhrase), '\0', ''), '"', ''), '\\', ''), - AdvEngineID, IsArtifical, WindowClientWidth::Int16, WindowClientHeight::Int16, ClientTimeZone, ClientEventTime, - SilverlightVersion1, SilverlightVersion2, SilverlightVersion3::Int32, SilverlightVersion4::Int16, replaceAll(replaceAll(replaceAll(toValidUTF8(PageCharset), '\0', ''), '"', ''), '\\', ''), - CodeVersion::Int32, IsLink, IsDownload, IsNotBounce, FUniqID::Int64, replaceAll(replaceAll(replaceAll(toValidUTF8(OriginalURL), '\0', ''), '"', ''), '\\', ''), HID::Int32, IsOldCounter, IsEvent, - IsParameter, DontCountHits, WithHash, replaceAll(replaceAll(replaceAll(toValidUTF8(HitColor::String), '\0', ''), '"', ''), '\\', ''), LocalEventTime, Age, Sex, Income, Interests::Int16, Robotness, RemoteIP::Int32, - WindowName, OpenerName, HistoryLength, replaceAll(replaceAll(replaceAll(toValidUTF8(BrowserLanguage::String), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(BrowserCountry::String), '\0', ''), '"', ''), '\\', ''), - replaceAll(replaceAll(replaceAll(toValidUTF8(SocialNetwork), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(SocialAction), '\0', ''), '"', ''), '\\', ''), - HTTPError, least(SendTiming, 30000), least(DNSTiming, 30000), least(ConnectTiming, 30000), least(ResponseStartTiming, 30000), - least(ResponseEndTiming, 30000), least(FetchTiming, 30000), SocialSourceNetworkID, - replaceAll(replaceAll(replaceAll(toValidUTF8(SocialSourcePage), '\0', ''), '"', ''), '\\', ''), ParamPrice, replaceAll(replaceAll(replaceAll(toValidUTF8(ParamOrderID), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(ParamCurrency::String), '\0', ''), '"', ''), '\\', ''), - ParamCurrencyID::Int16, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, - UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, RefererHash::Int64, URLHash::Int64, CLID::Int32 -FROM hits_100m_obfuscated -INTO OUTFILE 'dump.tsv' -FORMAT TSV -``` - -Insert data into PostgreSQL: - -``` -\copy hits_100m_pg FROM 'dump.tsv'; -``` diff --git a/benchmark/postgresql/log b/benchmark/postgresql/log deleted file mode 100644 index 6a95561e6da..00000000000 --- a/benchmark/postgresql/log +++ /dev/null @@ -1,129 +0,0 @@ -Time: 122020.258 ms (02:02.020) -Time: 5060.281 ms (00:05.060) -Time: 5052.692 ms (00:05.053) -Time: 129594.172 ms (02:09.594) -Time: 8079.623 ms (00:08.080) -Time: 7866.964 ms (00:07.867) -Time: 129584.717 ms (02:09.585) -Time: 8276.161 ms (00:08.276) -Time: 8153.295 ms (00:08.153) -Time: 123707.890 ms (02:03.708) -Time: 6835.297 ms (00:06.835) -Time: 6607.039 ms (00:06.607) -Time: 166640.676 ms (02:46.641) -Time: 75401.239 ms (01:15.401) -Time: 73526.027 ms (01:13.526) -Time: 272715.750 ms (04:32.716) -Time: 182721.613 ms (03:02.722) -Time: 182880.525 ms (03:02.881) -Time: 127108.191 ms (02:07.108) -Time: 6542.913 ms (00:06.543) -Time: 6339.887 ms (00:06.340) -Time: 127339.314 ms (02:07.339) -Time: 8376.381 ms (00:08.376) -Time: 7831.872 ms (00:07.832) -Time: 179176.439 ms (02:59.176) -Time: 58559.297 ms (00:58.559) -Time: 58139.265 ms (00:58.139) -Time: 182019.101 ms (03:02.019) -Time: 58435.027 ms (00:58.435) -Time: 58130.994 ms (00:58.131) -Time: 132449.502 ms (02:12.450) -Time: 11203.104 ms (00:11.203) -Time: 11048.435 ms (00:11.048) -Time: 128445.641 ms (02:08.446) -Time: 11602.145 ms (00:11.602) -Time: 11418.356 ms (00:11.418) -Time: 162831.387 ms (02:42.831) -Time: 41510.710 ms (00:41.511) -Time: 41682.899 ms (00:41.683) -Time: 171898.965 ms (02:51.899) -Time: 47379.274 ms (00:47.379) -Time: 47429.908 ms (00:47.430) -Time: 161607.811 ms (02:41.608) -Time: 41674.409 ms (00:41.674) -Time: 40854.340 ms (00:40.854) -Time: 175247.929 ms (02:55.248) -Time: 46721.776 ms (00:46.722) -Time: 46507.631 ms (00:46.508) -Time: 335961.271 ms (05:35.961) -Time: 248535.866 ms (04:08.536) -Time: 247383.678 ms (04:07.384) -Time: 132852.983 ms (02:12.853) -Time: 14939.304 ms (00:14.939) -Time: 14607.525 ms (00:14.608) -Time: 243461.844 ms (04:03.462) -Time: 157307.904 ms (02:37.308) -Time: 155093.101 ms (02:35.093) -Time: 122090.761 ms (02:02.091) -Time: 6411.266 ms (00:06.411) -Time: 6308.178 ms (00:06.308) -Time: 126584.819 ms (02:06.585) -Time: 8836.471 ms (00:08.836) -Time: 8532.176 ms (00:08.532) -Time: 125225.097 ms (02:05.225) -Time: 10236.910 ms (00:10.237) -Time: 9849.757 ms (00:09.850) -Time: 139140.064 ms (02:19.140) -Time: 21797.859 ms (00:21.798) -Time: 21559.214 ms (00:21.559) -Time: 124757.485 ms (02:04.757) -Time: 8728.403 ms (00:08.728) -Time: 8714.130 ms (00:08.714) -Time: 120687.258 ms (02:00.687) -Time: 8366.245 ms (00:08.366) -Time: 8146.856 ms (00:08.147) -Time: 122327.148 ms (02:02.327) -Time: 8698.359 ms (00:08.698) -Time: 8480.807 ms (00:08.481) -Time: 123958.614 ms (02:03.959) -Time: 8595.931 ms (00:08.596) -Time: 8241.773 ms (00:08.242) -Time: 128982.905 ms (02:08.983) -Time: 11252.783 ms (00:11.253) -Time: 10957.931 ms (00:10.958) -Time: 208455.385 ms (03:28.455) -Time: 102530.897 ms (01:42.531) -Time: 102049.298 ms (01:42.049) -Time: 131268.420 ms (02:11.268) -Time: 21094.466 ms (00:21.094) -Time: 20934.610 ms (00:20.935) -Time: 164084.134 ms (02:44.084) -Time: 77418.547 ms (01:17.419) -Time: 75422.290 ms (01:15.422) -Time: 174800.022 ms (02:54.800) -Time: 87859.594 ms (01:27.860) -Time: 85733.954 ms (01:25.734) -Time: 419357.463 ms (06:59.357) -Time: 339047.269 ms (05:39.047) -Time: 334808.230 ms (05:34.808) -Time: 475011.901 ms (07:55.012) -Time: 344406.246 ms (05:44.406) -Time: 347197.731 ms (05:47.198) -Time: 464657.732 ms (07:44.658) -Time: 332084.079 ms (05:32.084) -Time: 330921.322 ms (05:30.921) -Time: 152490.615 ms (02:32.491) -Time: 30954.343 ms (00:30.954) -Time: 31379.062 ms (00:31.379) -Time: 128539.127 ms (02:08.539) -Time: 12802.672 ms (00:12.803) -Time: 12494.088 ms (00:12.494) -Time: 125850.120 ms (02:05.850) -Time: 10318.773 ms (00:10.319) -Time: 9953.030 ms (00:09.953) -Time: 126602.092 ms (02:06.602) -Time: 8935.571 ms (00:08.936) -Time: 8711.184 ms (00:08.711) -Time: 133222.456 ms (02:13.222) -Time: 11848.869 ms (00:11.849) -Time: 11752.640 ms (00:11.753) -Time: 126950.067 ms (02:06.950) -Time: 11260.892 ms (00:11.261) -Time: 10943.649 ms (00:10.944) -Time: 128451.171 ms (02:08.451) -Time: 10984.980 ms (00:10.985) -Time: 10770.609 ms (00:10.771) -Time: 124621.000 ms (02:04.621) -Time: 8885.466 ms (00:08.885) -Time: 8857.296 ms (00:08.857) diff --git a/benchmark/postgresql/queries.sql b/benchmark/postgresql/queries.sql deleted file mode 100644 index d7a2fe2d8bf..00000000000 --- a/benchmark/postgresql/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -SELECT count(*) FROM {table}; -SELECT count(*) FROM {table} WHERE AdvEngineID != 0; -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM {table}; -SELECT sum(UserID) FROM {table}; -SELECT COUNT(DISTINCT UserID) FROM {table}; -SELECT COUNT(DISTINCT SearchPhrase) FROM {table}; -SELECT min(EventDate), max(EventDate) FROM {table}; -SELECT AdvEngineID, count(*) FROM {table} WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM {table} GROUP BY RegionID ORDER BY u DESC LIMIT 10; -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), COUNT(DISTINCT UserID) FROM {table} GROUP BY RegionID ORDER BY c DESC LIMIT 10; -SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT SearchPhrase, count(*) AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT UserID, count(*) FROM {table} GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM {table} GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM {table} GROUP BY UserID, SearchPhrase LIMIT 10; -SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, count(*) FROM {table} GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID FROM {table} WHERE UserID = -6101065172474983726; -SELECT count(*) FROM {table} WHERE URL LIKE '%metrika%'; -SELECT SearchPhrase, min(URL), count(*) AS c FROM {table} WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, min(URL), min(Title), count(*) AS c, COUNT(DISTINCT UserID) FROM {table} WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT * FROM {table} WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM {table} WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS key, avg(length(Referer)) AS l, count(*) AS c, min(Referer) FROM {table} WHERE Referer != '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM {table}; -SELECT SearchEngineID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM {table} GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT URL, count(*) AS c FROM {table} GROUP BY URL ORDER BY c DESC LIMIT 10; -SELECT 1, URL, count(*) AS c FROM {table} GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM {table} GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -SELECT Title, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -SELECT URLHash, EventDate, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -SELECT DATE_TRUNC('minute', EventTime) AS "Minute", count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND "refresh" = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', EventTime) ORDER BY DATE_TRUNC('minute', EventTime); diff --git a/benchmark/timescaledb/benchmark.sh b/benchmark/timescaledb/benchmark.sh deleted file mode 100755 index 691f4c42bfa..00000000000 --- a/benchmark/timescaledb/benchmark.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -grep -v -P '^#' queries.sql | sed -e 's/{table}/hits_100m_obfuscated/' | while read query; do - - echo 3 | sudo tee /proc/sys/vm/drop_caches - - echo "$query"; - for i in {1..3}; do - sudo -u postgres psql tutorial -t -c 'set jit = off' -c '\timing' -c "$query" | grep 'Time' | tee --append log - done; -done; diff --git a/benchmark/timescaledb/log b/benchmark/timescaledb/log deleted file mode 100644 index 9c98da60612..00000000000 --- a/benchmark/timescaledb/log +++ /dev/null @@ -1,215 +0,0 @@ -3 -SELECT count(*) FROM hits_100m_obfuscated; -Time: 3259.733 ms (00:03.260) -Time: 3135.484 ms (00:03.135) -Time: 3135.579 ms (00:03.136) -3 -SELECT count(*) FROM hits_100m_obfuscated WHERE AdvEngineID != 0; -Time: 146854.557 ms (02:26.855) -Time: 6921.736 ms (00:06.922) -Time: 6619.892 ms (00:06.620) -3 -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_100m_obfuscated; -Time: 146568.297 ms (02:26.568) -Time: 7481.610 ms (00:07.482) -Time: 7258.209 ms (00:07.258) -3 -SELECT sum(UserID) FROM hits_100m_obfuscated; -Time: 146864.106 ms (02:26.864) -Time: 5690.024 ms (00:05.690) -Time: 5381.820 ms (00:05.382) -3 -SELECT COUNT(DISTINCT UserID) FROM hits_100m_obfuscated; -Time: 227507.331 ms (03:47.507) -Time: 69165.471 ms (01:09.165) -Time: 72216.950 ms (01:12.217) -3 -SELECT COUNT(DISTINCT SearchPhrase) FROM hits_100m_obfuscated; -Time: 323644.397 ms (05:23.644) -Time: 177578.740 ms (02:57.579) -Time: 175055.738 ms (02:55.056) -3 -SELECT min(EventDate), max(EventDate) FROM hits_100m_obfuscated; -Time: 146147.843 ms (02:26.148) -Time: 5735.128 ms (00:05.735) -Time: 5428.638 ms (00:05.429) -3 -SELECT AdvEngineID, count(*) FROM hits_100m_obfuscated WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -Time: 148658.450 ms (02:28.658) -Time: 7014.882 ms (00:07.015) -Time: 6599.736 ms (00:06.600) -3 -SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits_100m_obfuscated GROUP BY RegionID ORDER BY u DESC LIMIT 10; -Time: 202423.122 ms (03:22.423) -Time: 54439.047 ms (00:54.439) -Time: 54800.354 ms (00:54.800) -3 -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits_100m_obfuscated GROUP BY RegionID ORDER BY c DESC LIMIT 10; -Time: 201152.491 ms (03:21.152) -Time: 55875.854 ms (00:55.876) -Time: 55200.330 ms (00:55.200) -3 -SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits_100m_obfuscated WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -Time: 146042.603 ms (02:26.043) -Time: 9931.633 ms (00:09.932) -Time: 10037.032 ms (00:10.037) -3 -SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits_100m_obfuscated WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -Time: 150811.952 ms (02:30.812) -Time: 10320.230 ms (00:10.320) -Time: 9993.232 ms (00:09.993) -3 -SELECT SearchPhrase, count(*) AS c FROM hits_100m_obfuscated WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -Time: 173071.218 ms (02:53.071) -Time: 34314.835 ms (00:34.315) -Time: 34420.919 ms (00:34.421) -3 -SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits_100m_obfuscated WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -Time: 172874.155 ms (02:52.874) -Time: 43704.494 ms (00:43.704) -Time: 43918.380 ms (00:43.918) -3 -SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM hits_100m_obfuscated WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -Time: 178484.822 ms (02:58.485) -Time: 36850.436 ms (00:36.850) -Time: 35789.029 ms (00:35.789) -3 -SELECT UserID, count(*) FROM hits_100m_obfuscated GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -Time: 169720.759 ms (02:49.721) -Time: 24125.730 ms (00:24.126) -Time: 23782.745 ms (00:23.783) -3 -SELECT UserID, SearchPhrase, count(*) FROM hits_100m_obfuscated GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -Time: 182335.631 ms (03:02.336) -Time: 37324.563 ms (00:37.325) -Time: 37124.250 ms (00:37.124) -3 -SELECT UserID, SearchPhrase, count(*) FROM hits_100m_obfuscated GROUP BY UserID, SearchPhrase LIMIT 10; -Time: 163799.714 ms (02:43.800) -Time: 18514.031 ms (00:18.514) -Time: 18968.524 ms (00:18.969) -3 -SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, count(*) FROM hits_100m_obfuscated GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -Time: 294799.480 ms (04:54.799) -Time: 149592.992 ms (02:29.593) -Time: 149466.291 ms (02:29.466) -3 -SELECT UserID FROM hits_100m_obfuscated WHERE UserID = -6101065172474983726; -Time: 140797.496 ms (02:20.797) -Time: 5312.321 ms (00:05.312) -Time: 5020.502 ms (00:05.021) -3 -SELECT count(*) FROM hits_100m_obfuscated WHERE URL LIKE '%metrika%'; -Time: 143092.287 ms (02:23.092) -Time: 7893.874 ms (00:07.894) -Time: 7661.326 ms (00:07.661) -3 -SELECT SearchPhrase, min(URL), count(*) AS c FROM hits_100m_obfuscated WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -Time: 143682.424 ms (02:23.682) -Time: 9249.962 ms (00:09.250) -Time: 9073.876 ms (00:09.074) -3 -SELECT SearchPhrase, min(URL), min(Title), count(*) AS c, COUNT(DISTINCT UserID) FROM hits_100m_obfuscated WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -Time: 150965.884 ms (02:30.966) -Time: 20350.812 ms (00:20.351) -Time: 20074.939 ms (00:20.075) -3 -SELECT * FROM hits_100m_obfuscated WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -Time: 4674.669 ms (00:04.675) -Time: 4532.389 ms (00:04.532) -Time: 4555.457 ms (00:04.555) -3 -SELECT SearchPhrase FROM hits_100m_obfuscated WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -Time: 5.177 ms -Time: 5.031 ms -Time: 4.419 ms -3 -SELECT SearchPhrase FROM hits_100m_obfuscated WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -Time: 141152.210 ms (02:21.152) -Time: 7492.968 ms (00:07.493) -Time: 7300.428 ms (00:07.300) -3 -SELECT SearchPhrase FROM hits_100m_obfuscated WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -Time: 30.736 ms -Time: 5.018 ms -Time: 5.132 ms -3 -SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM hits_100m_obfuscated WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -Time: 144034.016 ms (02:24.034) -Time: 10701.672 ms (00:10.702) -Time: 10348.565 ms (00:10.349) -3 -SELECT REGEXP_REPLACE(Referer, '^https?://(?:www.)?([^/]+)/.*$', '1') AS key, avg(length(Referer)) AS l, count(*) AS c, min(Referer) FROM hits_100m_obfuscated WHERE Referer != '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -Time: 191575.080 ms (03:11.575) -Time: 97836.706 ms (01:37.837) -Time: 97673.219 ms (01:37.673) -3 -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_100m_obfuscated; -Time: 143652.317 ms (02:23.652) -Time: 22185.656 ms (00:22.186) -Time: 21887.411 ms (00:21.887) -3 -SELECT SearchEngineID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits_100m_obfuscated WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -Time: 153481.944 ms (02:33.482) -Time: 17748.628 ms (00:17.749) -Time: 17551.116 ms (00:17.551) -3 -SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits_100m_obfuscated WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -Time: 167448.684 ms (02:47.449) -Time: 25902.961 ms (00:25.903) -Time: 25592.018 ms (00:25.592) -3 -SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM hits_100m_obfuscated GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -Time: 299183.443 ms (04:59.183) -Time: 145349.772 ms (02:25.350) -Time: 143214.688 ms (02:23.215) -3 -SELECT URL, count(*) AS c FROM hits_100m_obfuscated GROUP BY URL ORDER BY c DESC LIMIT 10; -Time: 389851.369 ms (06:29.851) -Time: 228158.639 ms (03:48.159) -Time: 231811.118 ms (03:51.811) -3 -SELECT 1, URL, count(*) AS c FROM hits_100m_obfuscated GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -Time: 407458.343 ms (06:47.458) -Time: 230125.530 ms (03:50.126) -Time: 230764.511 ms (03:50.765) -3 -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM hits_100m_obfuscated GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -Time: 174098.556 ms (02:54.099) -Time: 23503.975 ms (00:23.504) -Time: 24322.856 ms (00:24.323) -3 -SELECT URL, count(*) AS PageViews FROM hits_100m_obfuscated WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -Time: 145906.025 ms (02:25.906) -Time: 10824.695 ms (00:10.825) -Time: 10484.885 ms (00:10.485) -3 -SELECT Title, count(*) AS PageViews FROM hits_100m_obfuscated WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -Time: 144063.711 ms (02:24.064) -Time: 8947.980 ms (00:08.948) -Time: 8608.434 ms (00:08.608) -3 -SELECT URL, count(*) AS PageViews FROM hits_100m_obfuscated WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -Time: 141883.596 ms (02:21.884) -Time: 7977.257 ms (00:07.977) -Time: 7673.547 ms (00:07.674) -3 -SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_100m_obfuscated WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -Time: 147100.084 ms (02:27.100) -Time: 9527.812 ms (00:09.528) -Time: 9457.663 ms (00:09.458) -3 -SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_100m_obfuscated WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -Time: 144585.669 ms (02:24.586) -Time: 10815.223 ms (00:10.815) -Time: 10594.707 ms (00:10.595) -3 -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_100m_obfuscated WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -Time: 145738.341 ms (02:25.738) -Time: 10592.979 ms (00:10.593) -Time: 10181.477 ms (00:10.181) -3 -SELECT DATE_TRUNC('minute', EventTime) AS "Minute", count(*) AS PageViews FROM hits_100m_obfuscated WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND "refresh" = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', EventTime) ORDER BY DATE_TRUNC('minute', EventTime); -Time: 145023.796 ms (02:25.024) -Time: 8035.337 ms (00:08.035) -Time: 7865.698 ms (00:07.866) diff --git a/benchmark/timescaledb/log_compressed b/benchmark/timescaledb/log_compressed deleted file mode 100644 index 235f659791f..00000000000 --- a/benchmark/timescaledb/log_compressed +++ /dev/null @@ -1,129 +0,0 @@ -Time: 1784.299 ms (00:01.784) -Time: 1223.461 ms (00:01.223) -Time: 1200.665 ms (00:01.201) -Time: 22730.141 ms (00:22.730) -Time: 1379.227 ms (00:01.379) -Time: 1361.595 ms (00:01.362) -Time: 29888.235 ms (00:29.888) -Time: 3160.611 ms (00:03.161) -Time: 3207.363 ms (00:03.207) -Time: 53922.569 ms (00:53.923) -Time: 2301.456 ms (00:02.301) -Time: 2277.009 ms (00:02.277) -Time: 45363.999 ms (00:45.364) -Time: 43765.848 ms (00:43.766) -Time: 44066.621 ms (00:44.067) -Time: 172945.633 ms (02:52.946) -Time: 136944.098 ms (02:16.944) -Time: 138268.413 ms (02:18.268) -Time: 16764.579 ms (00:16.765) -Time: 2579.907 ms (00:02.580) -Time: 2590.390 ms (00:02.590) -Time: 1498.034 ms (00:01.498) -Time: 1434.534 ms (00:01.435) -Time: 1448.123 ms (00:01.448) -Time: 113533.016 ms (01:53.533) -Time: 78465.335 ms (01:18.465) -Time: 80778.839 ms (01:20.779) -Time: 90456.388 ms (01:30.456) -Time: 87050.166 ms (01:27.050) -Time: 88426.851 ms (01:28.427) -Time: 45021.632 ms (00:45.022) -Time: 12486.342 ms (00:12.486) -Time: 12222.489 ms (00:12.222) -Time: 44246.843 ms (00:44.247) -Time: 15606.856 ms (00:15.607) -Time: 15251.554 ms (00:15.252) -Time: 29654.719 ms (00:29.655) -Time: 29441.858 ms (00:29.442) -Time: 29608.141 ms (00:29.608) -Time: 103547.383 ms (01:43.547) -Time: 104733.648 ms (01:44.734) -Time: 105779.016 ms (01:45.779) -Time: 29695.834 ms (00:29.696) -Time: 15395.447 ms (00:15.395) -Time: 15819.650 ms (00:15.820) -Time: 27841.552 ms (00:27.842) -Time: 29521.849 ms (00:29.522) -Time: 27508.521 ms (00:27.509) -Time: 56665.709 ms (00:56.666) -Time: 56459.321 ms (00:56.459) -Time: 56407.620 ms (00:56.408) -Time: 27488.888 ms (00:27.489) -Time: 25557.427 ms (00:25.557) -Time: 25634.140 ms (00:25.634) -Time: 97376.463 ms (01:37.376) -Time: 96047.902 ms (01:36.048) -Time: 99918.341 ms (01:39.918) -Time: 6294.887 ms (00:06.295) -Time: 6407.262 ms (00:06.407) -Time: 6376.369 ms (00:06.376) -Time: 40787.808 ms (00:40.788) -Time: 11206.256 ms (00:11.206) -Time: 11219.871 ms (00:11.220) -Time: 12420.227 ms (00:12.420) -Time: 12548.301 ms (00:12.548) -Time: 12468.458 ms (00:12.468) -Time: 57679.878 ms (00:57.680) -Time: 35466.123 ms (00:35.466) -Time: 35562.064 ms (00:35.562) -Time: 13551.276 ms (00:13.551) -Time: 13417.313 ms (00:13.417) -Time: 13645.287 ms (00:13.645) -Time: 150.297 ms -Time: 55.995 ms -Time: 55.796 ms -Time: 3059.796 ms (00:03.060) -Time: 3038.246 ms (00:03.038) -Time: 3041.210 ms (00:03.041) -Time: 4461.720 ms (00:04.462) -Time: 4446.691 ms (00:04.447) -Time: 4424.526 ms (00:04.425) -Time: 29275.463 ms (00:29.275) -Time: 17558.747 ms (00:17.559) -Time: 17438.621 ms (00:17.439) -Time: 203316.184 ms (03:23.316) -Time: 190037.946 ms (03:10.038) -Time: 189276.624 ms (03:09.277) -Time: 36921.542 ms (00:36.922) -Time: 36963.771 ms (00:36.964) -Time: 36660.406 ms (00:36.660) -Time: 38307.345 ms (00:38.307) -Time: 17597.355 ms (00:17.597) -Time: 17324.776 ms (00:17.325) -Time: 39857.567 ms (00:39.858) -Time: 26776.411 ms (00:26.776) -Time: 26592.819 ms (00:26.593) -Time: 162782.290 ms (02:42.782) -Time: 160722.582 ms (02:40.723) -Time: 162487.263 ms (02:42.487) -Time: 261494.290 ms (04:21.494) -Time: 263594.014 ms (04:23.594) -Time: 260436.201 ms (04:20.436) -Time: 265758.455 ms (04:25.758) -Time: 270087.523 ms (04:30.088) -Time: 266617.218 ms (04:26.617) -Time: 30677.159 ms (00:30.677) -Time: 28933.542 ms (00:28.934) -Time: 29815.271 ms (00:29.815) -Time: 19754.932 ms (00:19.755) -Time: 16851.157 ms (00:16.851) -Time: 16703.289 ms (00:16.703) -Time: 10379.500 ms (00:10.379) -Time: 10267.336 ms (00:10.267) -Time: 10287.944 ms (00:10.288) -Time: 17320.582 ms (00:17.321) -Time: 9786.410 ms (00:09.786) -Time: 9760.578 ms (00:09.761) -Time: 33487.352 ms (00:33.487) -Time: 26056.528 ms (00:26.057) -Time: 25958.258 ms (00:25.958) -Time: 28020.227 ms (00:28.020) -Time: 5609.725 ms (00:05.610) -Time: 5538.744 ms (00:05.539) -Time: 15119.473 ms (00:15.119) -Time: 5057.455 ms (00:05.057) -Time: 5063.154 ms (00:05.063) -Time: 3627.703 ms (00:03.628) -Time: 3645.232 ms (00:03.645) -Time: 3546.855 ms (00:03.547) diff --git a/benchmark/timescaledb/queries.sql b/benchmark/timescaledb/queries.sql deleted file mode 100644 index d7a2fe2d8bf..00000000000 --- a/benchmark/timescaledb/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -SELECT count(*) FROM {table}; -SELECT count(*) FROM {table} WHERE AdvEngineID != 0; -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM {table}; -SELECT sum(UserID) FROM {table}; -SELECT COUNT(DISTINCT UserID) FROM {table}; -SELECT COUNT(DISTINCT SearchPhrase) FROM {table}; -SELECT min(EventDate), max(EventDate) FROM {table}; -SELECT AdvEngineID, count(*) FROM {table} WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM {table} GROUP BY RegionID ORDER BY u DESC LIMIT 10; -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), COUNT(DISTINCT UserID) FROM {table} GROUP BY RegionID ORDER BY c DESC LIMIT 10; -SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT SearchPhrase, count(*) AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -SELECT SearchEngineID, SearchPhrase, count(*) AS c FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT UserID, count(*) FROM {table} GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM {table} GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM {table} GROUP BY UserID, SearchPhrase LIMIT 10; -SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, count(*) FROM {table} GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID FROM {table} WHERE UserID = -6101065172474983726; -SELECT count(*) FROM {table} WHERE URL LIKE '%metrika%'; -SELECT SearchPhrase, min(URL), count(*) AS c FROM {table} WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, min(URL), min(Title), count(*) AS c, COUNT(DISTINCT UserID) FROM {table} WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT * FROM {table} WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -SELECT CounterID, avg(length(URL)) AS l, count(*) AS c FROM {table} WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS key, avg(length(Referer)) AS l, count(*) AS c, min(Referer) FROM {table} WHERE Referer != '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM {table}; -SELECT SearchEngineID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum("refresh"), avg(ResolutionWidth) FROM {table} GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT URL, count(*) AS c FROM {table} GROUP BY URL ORDER BY c DESC LIMIT 10; -SELECT 1, URL, count(*) AS c FROM {table} GROUP BY 1, URL ORDER BY c DESC LIMIT 10; -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) AS c FROM {table} GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -SELECT Title, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND "refresh" = 0 AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND IsLink != 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -SELECT URLHash, EventDate, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 686716256552154761 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100; -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND "refresh" = 0 AND DontCountHits = 0 AND URLHash = 686716256552154761 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -SELECT DATE_TRUNC('minute', EventTime) AS "Minute", count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND "refresh" = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', EventTime) ORDER BY DATE_TRUNC('minute', EventTime); diff --git a/benchmark/timescaledb/usability.md b/benchmark/timescaledb/usability.md deleted file mode 100644 index 6914dc24118..00000000000 --- a/benchmark/timescaledb/usability.md +++ /dev/null @@ -1,1663 +0,0 @@ -This is a "usability testing" of TimescaleDB. I did not use TimescaleDB before. I will try to install it, load the data and conduct benchmarks. And record every obstacle that I will face. -Usability testing need to be conducted by the most clueless person in the room. Doing this "usability testing" requires a bit of patience and courage (to publish all the struggles as is). - -Note: insted of using clear VM, I have to run benchmark on exactly the same baremetal server where all other benchmarks were run. - - -## Installation - -Install as following: -https://docs.timescale.com/timescaledb/latest/how-to-guides/install-timescaledb/self-hosted/ubuntu/installation-apt-ubuntu/#installation-apt-ubuntu - -I've noticed that TimescaleDB documentation website does not have favicon in contrast to the main page. -In other means, it is quite neat. - -``` -sudo apt install postgresql-common -sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/timescale.keyring] https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main' > /etc/apt/sources.list.d/timescaledb.list" -wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/timescale.keyring -sudo apt-get update -sudo apt install timescaledb-2-postgresql-13 -``` - -It recommends to tune it: - -``` -sudo apt install timescaledb-tune - -sudo timescaledb-tune --quiet --yes -Using postgresql.conf at this path: -/etc/postgresql/13/main/postgresql.conf - -Writing backup to: -/tmp/timescaledb_tune.backup202110292328 - -Recommendations based on 125.88 GB of available memory and 32 CPUs for PostgreSQL 13 -shared_preload_libraries = 'timescaledb' # (change requires restart) -shared_buffers = 32226MB -effective_cache_size = 96678MB -maintenance_work_mem = 2047MB -work_mem = 10312kB -timescaledb.max_background_workers = 8 -max_worker_processes = 43 -max_parallel_workers_per_gather = 16 -max_parallel_workers = 32 -wal_buffers = 16MB -min_wal_size = 512MB -default_statistics_target = 500 -random_page_cost = 1.1 -checkpoint_completion_target = 0.9 -max_locks_per_transaction = 512 -autovacuum_max_workers = 10 -autovacuum_naptime = 10 -effective_io_concurrency = 256 -timescaledb.last_tuned = '2021-10-29T23:28:49+03:00' -timescaledb.last_tuned_version = '0.12.0' -Saving changes to: /etc/postgresql/13/main/postgresql.conf -``` - -``` -sudo service postgresql restart -``` - -Post-install setup: -https://docs.timescale.com/timescaledb/latest/how-to-guides/install-timescaledb/post-install-setup/ - -``` -$ psql -U postgres -h localhost -Password for user postgres: -psql: error: connection to server at "localhost" (::1), port 5432 failed: fe_sendauth: no password supplied -``` - -How to set up password? - -``` -milovidov@mtlog-perftest03j:~$ psql -U postgres -h localhost -Password for user postgres: -psql: error: connection to server at "localhost" (::1), port 5432 failed: fe_sendauth: no password supplied -milovidov@mtlog-perftest03j:~$ psql -psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "milovidov" does not exist -milovidov@mtlog-perftest03j:~$ sudo psql -psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "root" does not exist -milovidov@mtlog-perftest03j:~$ psql -U postgres -psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication failed for user "postgres" -milovidov@mtlog-perftest03j:~$ psql -U postgres -h localost -psql: error: could not translate host name "localost" to address: Name or service not known -milovidov@mtlog-perftest03j:~$ sudo psql -U postgres -h localost -psql: error: could not translate host name "localost" to address: Name or service not known -milovidov@mtlog-perftest03j:~$ sudo psql -U postgres -h localhost -Password for user postgres: -psql: error: connection to server at "localhost" (::1), port 5432 failed: fe_sendauth: no password supplied -milovidov@mtlog-perftest03j:~$ sudo -u postgres psql -h localhost -Password for user postgres: -psql: error: connection to server at "localhost" (::1), port 5432 failed: fe_sendauth: no password supplied -``` - -I found an answer here: https://stackoverflow.com/questions/12720967/how-to-change-postgresql-user-password - -``` -$ sudo -u postgres psql -psql (13.4 (Ubuntu 13.4-4.pgdg18.04+1), server 9.5.25) -Type "help" for help. - -postgres=# \password postgres -Enter new password: -Enter it again: -postgres=# - -CREATE database tutorial; - -postgres=# CREATE EXTENSION IF NOT EXISTS timescaledb; -ERROR: could not open extension control file "/usr/share/postgresql/9.5/extension/timescaledb.control": No such file or directory -``` - -Looks like I have old PostgreSQL. - -``` -$ ls -l /usr/share/postgresql/ -10/ 11/ 13/ 9.5/ -``` - -But there is also newer PostgreSQL. - -``` -$ psql --version -psql (PostgreSQL) 13.4 (Ubuntu 13.4-4.pgdg18.04+1) - -psql is new, so what is wrong? -``` - -Looks like I have all versions running simultaneously? - -https://askubuntu.com/questions/17823/how-to-list-all-installed-packages - -``` -$ ps auxw | grep postgres -postgres 718818 0.0 0.5 33991600 730184 ? Ss 23:29 0:00 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.conf -postgres 718825 0.0 0.0 320356 27660 ? S 23:29 0:00 /usr/lib/postgresql/10/bin/postgres -D /var/lib/postgresql/10/main -c config_file=/etc/postgresql/10/main/postgresql.conf -postgres 718826 0.0 0.0 320712 27900 ? S 23:29 0:00 /usr/lib/postgresql/11/bin/postgres -D /var/lib/postgresql/11/main -c config_file=/etc/postgresql/11/main/postgresql.conf -postgres 718829 0.0 0.0 320468 7092 ? Ss 23:29 0:00 postgres: 10/main: checkpointer process -postgres 718830 0.0 0.0 320356 4300 ? Ss 23:29 0:00 postgres: 10/main: writer process -postgres 718831 0.0 0.0 320356 9204 ? Ss 23:29 0:00 postgres: 10/main: wal writer process -postgres 718832 0.0 0.0 320776 6964 ? Ss 23:29 0:00 postgres: 10/main: autovacuum launcher process -postgres 718833 0.0 0.0 175404 3596 ? Ss 23:29 0:00 postgres: 10/main: stats collector process -postgres 718834 0.0 0.0 320640 5052 ? Ss 23:29 0:00 postgres: 10/main: bgworker: logical replication launcher -postgres 718835 0.0 0.0 320820 5592 ? Ss 23:29 0:00 postgres: 11/main: checkpointer -postgres 718836 0.0 0.0 320712 4164 ? Ss 23:29 0:00 postgres: 11/main: background writer -postgres 718837 0.0 0.0 320712 9040 ? Ss 23:29 0:00 postgres: 11/main: walwriter -postgres 718838 0.0 0.0 321116 6824 ? Ss 23:29 0:00 postgres: 11/main: autovacuum launcher -postgres 718839 0.0 0.0 175752 3652 ? Ss 23:29 0:00 postgres: 11/main: stats collector -postgres 718840 0.0 0.0 321120 6640 ? Ss 23:29 0:00 postgres: 11/main: logical replication launcher -postgres 718842 0.0 0.1 33991700 263860 ? Ss 23:29 0:00 postgres: 13/main: checkpointer -postgres 718843 0.0 0.2 33991600 264096 ? Ss 23:29 0:00 postgres: 13/main: background writer -postgres 718844 0.0 0.0 33991600 22044 ? Ss 23:29 0:00 postgres: 13/main: walwriter -postgres 718845 0.0 0.0 33992284 7040 ? Ss 23:29 0:00 postgres: 13/main: autovacuum launcher -postgres 718846 0.0 0.0 177920 4320 ? Ss 23:29 0:00 postgres: 13/main: stats collector -postgres 718847 0.0 0.0 33992136 7972 ? Ss 23:29 0:00 postgres: 13/main: TimescaleDB Background Worker Launcher -postgres 718848 0.0 0.0 33992164 7248 ? Ss 23:29 0:00 postgres: 13/main: logical replication launcher -postgres 718857 0.0 0.0 304492 26284 ? S 23:29 0:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf -postgres 718859 0.0 0.0 304592 6480 ? Ss 23:29 0:00 postgres: checkpointer process -postgres 718860 0.0 0.0 304492 5656 ? Ss 23:29 0:00 postgres: writer process -postgres 718861 0.0 0.0 304492 4144 ? Ss 23:29 0:00 postgres: wal writer process -postgres 718862 0.0 0.0 304928 6896 ? Ss 23:29 0:00 postgres: autovacuum launcher process -postgres 718863 0.0 0.0 159744 4156 ? Ss 23:29 0:00 postgres: stats collector process -milovid+ 724277 0.0 0.0 14364 1024 pts/17 S+ 23:41 0:00 grep --color=auto postgres - -$ apt list --installed | grep postgres - -WARNING: apt does not have a stable CLI interface. Use with caution in scripts. - -postgresql-10/now 10.16-1.pgdg18.04+1 amd64 [installed,upgradable to: 10.18-1.pgdg18.04+1] -postgresql-11/now 11.11-1.pgdg18.04+1 amd64 [installed,upgradable to: 11.13-1.pgdg18.04+1] -postgresql-11-postgis-3/now 3.1.1+dfsg-1.pgdg18.04+1 amd64 [installed,upgradable to: 3.1.4+dfsg-1.pgdg18.04+1] -postgresql-11-postgis-3-scripts/now 3.1.1+dfsg-1.pgdg18.04+1 all [installed,upgradable to: 3.1.4+dfsg-1.pgdg18.04+1] -postgresql-13/bionic-pgdg,now 13.4-4.pgdg18.04+1 amd64 [installed,automatic] -postgresql-9.5/bionic-pgdg,now 9.5.25-1.pgdg18.04+1 amd64 [installed] -postgresql-9.5-postgis-2.2-scripts/now 2.2.2+dfsg-4.pgdg14.04+1.yandex all [installed,local] -postgresql-client-10/now 10.16-1.pgdg18.04+1 amd64 [installed,upgradable to: 10.18-1.pgdg18.04+1] -postgresql-client-11/now 11.11-1.pgdg18.04+1 amd64 [installed,upgradable to: 11.13-1.pgdg18.04+1] -postgresql-client-13/bionic-pgdg,now 13.4-4.pgdg18.04+1 amd64 [installed,automatic] -postgresql-client-9.5/bionic-pgdg,now 9.5.25-1.pgdg18.04+1 amd64 [installed] -postgresql-client-common/bionic-pgdg,now 231.pgdg18.04+1 all [installed] -postgresql-common/bionic-pgdg,now 231.pgdg18.04+1 all [installed] -timescaledb-2-loader-postgresql-13/bionic,now 2.5.0~ubuntu18.04 amd64 [installed,automatic] -timescaledb-2-postgresql-13/bionic,now 2.5.0~ubuntu18.04 amd64 [installed] -``` - -Let's remove all older packages. - -``` -sudo apt remove postgresql-10 postgresql-11 postgresql-9.5 postgresql-client-10 postgresql-client-11 postgresql-client-9.5 -``` - -Just in case: - -``` -sudo service postgresql restart -``` - -Now it stopped to work: - -``` -$ sudo -u postgres psql -psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory - Is the server running locally and accepting connections on that socket? - -$ sudo -u postgres psql -h localhost -psql: error: connection to server at "localhost" (::1), port 5432 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -``` - -But it's running: - -``` -$ ps auxw | grep postgres -postgres 726158 0.5 0.5 33991600 730084 ? Ss 23:45 0:00 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.conf -postgres 726160 0.0 0.0 33991600 4256 ? Ss 23:45 0:00 postgres: 13/main: checkpointer -postgres 726161 0.1 0.1 33991600 150048 ? Ss 23:45 0:00 postgres: 13/main: background writer -postgres 726162 0.0 0.0 33991600 22044 ? Ss 23:45 0:00 postgres: 13/main: walwriter -postgres 726163 0.0 0.0 33992284 6976 ? Ss 23:45 0:00 postgres: 13/main: autovacuum launcher -postgres 726164 0.0 0.0 177920 4384 ? Ss 23:45 0:00 postgres: 13/main: stats collector -postgres 726165 0.0 0.0 33992136 7840 ? Ss 23:45 0:00 postgres: 13/main: TimescaleDB Background Worker Launcher -postgres 726166 0.0 0.0 33992164 7244 ? Ss 23:45 0:00 postgres: 13/main: logical replication launcher -milovid+ 726578 0.0 0.0 14364 1100 pts/17 S+ 23:46 0:00 grep --color=auto postgres -``` - -But it does not listen 5432: - -``` -$ netstat -n | grep 5432 -``` - -Let's look at the config: - -``` -sudo mcedit /etc/postgresql/13/main/postgresql.conf -``` - -``` -# - Connection Settings - - -#listen_addresses = 'localhost' -``` - -Looks like I need to uncomment it. - -``` -sudo service postgresql restart -``` - -But it did not help: - -``` -$ sudo -u postgres psql -h localhost -psql: error: connection to server at "localhost" (::1), port 5432 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -``` - -Let's consult https://stackoverflow.com/questions/31091748/postgres-server-not-listening - -It is mentioning some pg_hba.conf. BTW what is HBA*? Let's find this file... - -``` -sudo mcedit /etc/postgresql/13/main/pg_hba.conf -``` - -\* host based authentication rules - it is explained inside this file. - -Nothing wrong in this file... - -``` -$ sudo service postgresql status -● postgresql.service - PostgreSQL RDBMS - Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) - Active: active (exited) since Fri 2021-10-29 23:50:14 MSK; 6min ago - Process: 728545 ExecStart=/bin/true (code=exited, status=0/SUCCESS) - Main PID: 728545 (code=exited, status=0/SUCCESS) - -Oct 29 23:50:14 mtlog-perftest03j systemd[1]: postgresql.service: Changed dead -> start -Oct 29 23:50:14 mtlog-perftest03j systemd[1]: Starting PostgreSQL RDBMS... -Oct 29 23:50:14 mtlog-perftest03j systemd[728545]: postgresql.service: Executing: /bin/true -Oct 29 23:50:14 mtlog-perftest03j systemd[1]: postgresql.service: Child 728545 belongs to postgresql.service. -Oct 29 23:50:14 mtlog-perftest03j systemd[1]: postgresql.service: Main process exited, code=exited, status=0/SUCCESS -Oct 29 23:50:14 mtlog-perftest03j systemd[1]: postgresql.service: Changed start -> exited -Oct 29 23:50:14 mtlog-perftest03j systemd[1]: postgresql.service: Job postgresql.service/start finished, result=done -Oct 29 23:50:14 mtlog-perftest03j systemd[1]: Started PostgreSQL RDBMS. -Oct 29 23:50:14 mtlog-perftest03j systemd[1]: postgresql.service: Failed to send unit change signal for postgresql.service: Connection reset by peer -``` - -It's quite cryptic. What does it mean "Failed to send unit change signal"? Is it good or bad? -What is the "unit"? Maybe it is "SystemD Unit" - the phrase that I've heard many times but don't really understand. - -Almost gave up... Wow, I found the culprit! In `/etc/postgresql/13/main/postgresql.conf`: - -``` -port = 5435 -``` - -Most likely this has happened, because multiple versions of PostgreSQL were installed. - -Let's change to 5432. - -``` -sudo mcedit /etc/postgresql/13/main/postgresql.conf -sudo service postgresql restart -``` - -But now it does not accept password: - -``` -milovidov@mtlog-perftest03j:~$ sudo -u postgres psql -h 127.0.0.1 -Password for user postgres: -psql: error: connection to server at "127.0.0.1", port 5432 failed: fe_sendauth: no password supplied -milovidov@mtlog-perftest03j:~$ sudo -u postgres psql -h 127.0.0.1 --password '' -Password: -psql: error: connection to server at "127.0.0.1", port 5432 failed: fe_sendauth: no password supplied -milovidov@mtlog-perftest03j:~$ sudo -u postgres psql -h 127.0.0.1 -Password for user postgres: -psql: error: connection to server at "127.0.0.1", port 5432 failed: fe_sendauth: no password supplied -``` - -Works this way: - -``` -$ sudo -u postgres psql -psql (13.4 (Ubuntu 13.4-4.pgdg18.04+1)) -Type "help" for help. - -postgres=# \password -Enter new password: -Enter it again: -``` - -It works with fine ASCII arc: - -``` -postgres=# CREATE database tutorial; -CREATE DATABASE -postgres=# \c tutorial -You are now connected to database "tutorial" as user "postgres". -tutorial=# CREATE EXTENSION IF NOT EXISTS timescaledb; -WARNING: -WELCOME TO - _____ _ _ ____________ -|_ _(_) | | | _ \ ___ \ - | | _ _ __ ___ ___ ___ ___ __ _| | ___| | | | |_/ / - | | | | _ ` _ \ / _ \/ __|/ __/ _` | |/ _ \ | | | ___ \ - | | | | | | | | | __/\__ \ (_| (_| | | __/ |/ /| |_/ / - |_| |_|_| |_| |_|\___||___/\___\__,_|_|\___|___/ \____/ - Running version 2.5.0 -For more information on TimescaleDB, please visit the following links: - - 1. Getting started: https://docs.timescale.com/timescaledb/latest/getting-started - 2. API reference documentation: https://docs.timescale.com/api/latest - 3. How TimescaleDB is designed: https://docs.timescale.com/timescaledb/latest/overview/core-concepts - -Note: TimescaleDB collects anonymous reports to better understand and assist our users. -For more information and how to disable, please see our docs https://docs.timescale.com/timescaledb/latest/how-to-guides/configuration/telemetry. - -CREATE EXTENSION -``` - - -## Creating Table - -Continuing to https://docs.timescale.com/timescaledb/latest/how-to-guides/hypertables/create/ - -Create table: - -``` -CREATE TABLE hits_100m_obfuscated ( -WatchID BIGINT, -JavaEnable SMALLINT, -Title TEXT, -GoodEvent SMALLINT, -EventTime TIMESTAMP, -EventDate Date, -CounterID INTEGER, -ClientIP INTEGER, -RegionID INTEGER, -UserID BIGINT, -CounterClass SMALLINT, -OS SMALLINT, -UserAgent SMALLINT, -URL TEXT, -Referer TEXT, -Refresh SMALLINT, -RefererCategoryID SMALLINT, -RefererRegionID INTEGER, -URLCategoryID SMALLINT, -URLRegionID INTEGER, -ResolutionWidth SMALLINT, -ResolutionHeight SMALLINT, -ResolutionDepth SMALLINT, -FlashMajor SMALLINT, -FlashMinor SMALLINT, -FlashMinor2 TEXT, -NetMajor SMALLINT, -NetMinor SMALLINT, -UserAgentMajor SMALLINT, -UserAgentMinor CHAR(2), -CookieEnable SMALLINT, -JavascriptEnable SMALLINT, -IsMobile SMALLINT, -MobilePhone SMALLINT, -MobilePhoneModel TEXT, -Params TEXT, -IPNetworkID INTEGER, -TraficSourceID SMALLINT, -SearchEngineID SMALLINT, -SearchPhrase TEXT, -AdvEngineID SMALLINT, -IsArtifical SMALLINT, -WindowClientWidth SMALLINT, -WindowClientHeight SMALLINT, -ClientTimeZone SMALLINT, -ClientEventTime TIMESTAMP, -SilverlightVersion1 SMALLINT, -SilverlightVersion2 SMALLINT, -SilverlightVersion3 INTEGER, -SilverlightVersion4 SMALLINT, -PageCharset TEXT, -CodeVersion INTEGER, -IsLink SMALLINT, -IsDownload SMALLINT, -IsNotBounce SMALLINT, -FUniqID BIGINT, -OriginalURL TEXT, -HID INTEGER, -IsOldCounter SMALLINT, -IsEvent SMALLINT, -IsParameter SMALLINT, -DontCountHits SMALLINT, -WithHash SMALLINT, -HitColor CHAR, -LocalEventTime TIMESTAMP, -Age SMALLINT, -Sex SMALLINT, -Income SMALLINT, -Interests SMALLINT, -Robotness SMALLINT, -RemoteIP INTEGER, -WindowName INTEGER, -OpenerName INTEGER, -HistoryLength SMALLINT, -BrowserLanguage TEXT, -BrowserCountry TEXT, -SocialNetwork TEXT, -SocialAction TEXT, -HTTPError SMALLINT, -SendTiming INTEGER, -DNSTiming INTEGER, -ConnectTiming INTEGER, -ResponseStartTiming INTEGER, -ResponseEndTiming INTEGER, -FetchTiming INTEGER, -SocialSourceNetworkID SMALLINT, -SocialSourcePage TEXT, -ParamPrice BIGINT, -ParamOrderID TEXT, -ParamCurrency TEXT, -ParamCurrencyID SMALLINT, -OpenstatServiceName TEXT, -OpenstatCampaignID TEXT, -OpenstatAdID TEXT, -OpenstatSourceID TEXT, -UTMSource TEXT, -UTMMedium TEXT, -UTMCampaign TEXT, -UTMContent TEXT, -UTMTerm TEXT, -FromTag TEXT, -HasGCLID SMALLINT, -RefererHash BIGINT, -URLHash BIGINT, -CLID INTEGER -); -``` - -I remember PostgreSQL does not support unsigned integers. It also does not support TINYINT. -And it does not support zero bytes in TEXT fields. We will deal with it... - -``` -tutorial=# SELECT create_hypertable('hits_100m_obfuscated', 'EventTime'); -ERROR: column "EventTime" does not exist -``` - -WTF? - -Maybe it because column names are lowercased? - -``` -tutorial=# SELECT create_hypertable('hits_100m_obfuscated', 'eventtime'); -NOTICE: adding not-null constraint to column "eventtime" -DETAIL: Time dimensions cannot have NULL values. - create_hypertable ------------------------------------ - (1,public,hits_100m_obfuscated,t) -(1 row) -``` - -Looks like I forgot to specify NOT NULL for every column. -Let's repeat... - -``` -tutorial=# DROP TABLE hits_100m_obfuscated -tutorial-# ; -DROP TABLE -tutorial=# CREATE TABLE hits_100m_obfuscated ( -tutorial(# WatchID BIGINT NOT NULL, -tutorial(# JavaEnable SMALLINT NOT NULL, -tutorial(# Title TEXT NOT NULL, -tutorial(# GoodEvent SMALLINT NOT NULL, -tutorial(# EventTime TIMESTAMP NOT NULL, -tutorial(# EventDate Date NOT NULL, -tutorial(# CounterID INTEGER NOT NULL, -tutorial(# ClientIP INTEGER NOT NULL, -tutorial(# RegionID INTEGER NOT NULL, -tutorial(# UserID BIGINT NOT NULL, -tutorial(# CounterClass SMALLINT NOT NULL, -tutorial(# OS SMALLINT NOT NULL, -tutorial(# UserAgent SMALLINT NOT NULL, -tutorial(# URL TEXT NOT NULL, -tutorial(# Referer TEXT NOT NULL, -tutorial(# Refresh SMALLINT NOT NULL, -tutorial(# RefererCategoryID SMALLINT NOT NULL, -tutorial(# RefererRegionID INTEGER NOT NULL, -tutorial(# URLCategoryID SMALLINT NOT NULL, -tutorial(# URLRegionID INTEGER NOT NULL, -tutorial(# ResolutionWidth SMALLINT NOT NULL, -tutorial(# ResolutionHeight SMALLINT NOT NULL, -tutorial(# ResolutionDepth SMALLINT NOT NULL, -tutorial(# FlashMajor SMALLINT NOT NULL, -tutorial(# FlashMinor SMALLINT NOT NULL, -tutorial(# FlashMinor2 TEXT NOT NULL, -tutorial(# NetMajor SMALLINT NOT NULL, -tutorial(# NetMinor SMALLINT NOT NULL, -tutorial(# UserAgentMajor SMALLINT NOT NULL, -tutorial(# UserAgentMinor CHAR(2) NOT NULL, -tutorial(# CookieEnable SMALLINT NOT NULL, -tutorial(# JavascriptEnable SMALLINT NOT NULL, -tutorial(# IsMobile SMALLINT NOT NULL, -tutorial(# MobilePhone SMALLINT NOT NULL, -tutorial(# MobilePhoneModel TEXT NOT NULL, -tutorial(# Params TEXT NOT NULL, -tutorial(# IPNetworkID INTEGER NOT NULL, -tutorial(# TraficSourceID SMALLINT NOT NULL, -tutorial(# SearchEngineID SMALLINT NOT NULL, -tutorial(# SearchPhrase TEXT NOT NULL, -tutorial(# AdvEngineID SMALLINT NOT NULL, -tutorial(# IsArtifical SMALLINT NOT NULL, -tutorial(# WindowClientWidth SMALLINT NOT NULL, -tutorial(# WindowClientHeight SMALLINT NOT NULL, -tutorial(# ClientTimeZone SMALLINT NOT NULL, -tutorial(# ClientEventTime TIMESTAMP NOT NULL, -tutorial(# SilverlightVersion1 SMALLINT NOT NULL, -tutorial(# SilverlightVersion2 SMALLINT NOT NULL, -tutorial(# SilverlightVersion3 INTEGER NOT NULL, -tutorial(# SilverlightVersion4 SMALLINT NOT NULL, -tutorial(# PageCharset TEXT NOT NULL, -tutorial(# CodeVersion INTEGER NOT NULL, -tutorial(# IsLink SMALLINT NOT NULL, -tutorial(# IsDownload SMALLINT NOT NULL, -tutorial(# IsNotBounce SMALLINT NOT NULL, -tutorial(# FUniqID BIGINT NOT NULL, -tutorial(# OriginalURL TEXT NOT NULL, -tutorial(# HID INTEGER NOT NULL, -tutorial(# IsOldCounter SMALLINT NOT NULL, -tutorial(# IsEvent SMALLINT NOT NULL, -tutorial(# IsParameter SMALLINT NOT NULL, -tutorial(# DontCountHits SMALLINT NOT NULL, -tutorial(# WithHash SMALLINT NOT NULL, -tutorial(# HitColor CHAR NOT NULL, -tutorial(# LocalEventTime TIMESTAMP NOT NULL, -tutorial(# Age SMALLINT NOT NULL, -tutorial(# Sex SMALLINT NOT NULL, -tutorial(# Income SMALLINT NOT NULL, -tutorial(# Interests SMALLINT NOT NULL, -tutorial(# Robotness SMALLINT NOT NULL, -tutorial(# RemoteIP INTEGER NOT NULL, -tutorial(# WindowName INTEGER NOT NULL, -tutorial(# OpenerName INTEGER NOT NULL, -tutorial(# HistoryLength SMALLINT NOT NULL, -tutorial(# BrowserLanguage TEXT NOT NULL, -tutorial(# BrowserCountry TEXT NOT NULL, -tutorial(# SocialNetwork TEXT NOT NULL, -tutorial(# SocialAction TEXT NOT NULL, -tutorial(# HTTPError SMALLINT NOT NULL, -tutorial(# SendTiming INTEGER NOT NULL, -tutorial(# DNSTiming INTEGER NOT NULL, -tutorial(# ConnectTiming INTEGER NOT NULL, -tutorial(# ResponseStartTiming INTEGER NOT NULL, -tutorial(# ResponseEndTiming INTEGER NOT NULL, -tutorial(# FetchTiming INTEGER NOT NULL, -tutorial(# SocialSourceNetworkID SMALLINT NOT NULL, -tutorial(# SocialSourcePage TEXT NOT NULL, -tutorial(# ParamPrice BIGINT NOT NULL, -tutorial(# ParamOrderID TEXT NOT NULL, -tutorial(# ParamCurrency TEXT NOT NULL, -tutorial(# ParamCurrencyID SMALLINT NOT NULL, -tutorial(# OpenstatServiceName TEXT NOT NULL, -tutorial(# OpenstatCampaignID TEXT NOT NULL, -tutorial(# OpenstatAdID TEXT NOT NULL, -tutorial(# OpenstatSourceID TEXT NOT NULL, -tutorial(# UTMSource TEXT NOT NULL, -tutorial(# UTMMedium TEXT NOT NULL, -tutorial(# UTMCampaign TEXT NOT NULL, -tutorial(# UTMContent TEXT NOT NULL, -tutorial(# UTMTerm TEXT NOT NULL, -tutorial(# FromTag TEXT NOT NULL, -tutorial(# HasGCLID SMALLINT NOT NULL, -tutorial(# RefererHash BIGINT NOT NULL, -tutorial(# URLHash BIGINT NOT NULL, -tutorial(# CLID INTEGER NOT NULL -tutorial(# ); -CREATE TABLE -tutorial=# SELECT create_hypertable('hits_100m_obfuscated', 'eventtime'); - create_hypertable ------------------------------------ - (2,public,hits_100m_obfuscated,t) -(1 row) - -tutorial=# -``` - -Now ok. - - -## Loading Data - -Next - importing data: -https://docs.timescale.com/timescaledb/latest/how-to-guides/migrate-data/import-csv/#csv-import - -``` -SELECT WatchID::Int64, JavaEnable, toValidUTF8(Title), GoodEvent, EventTime, EventDate, CounterID::Int32, ClientIP::Int32, RegionID::Int32, UserID::Int64, CounterClass, OS, UserAgent, toValidUTF8(URL), toValidUTF8(Referer), Refresh, RefererCategoryID::Int16, RefererRegionID::Int32, URLCategoryID::Int16, URLRegionID::Int32, ResolutionWidth::Int16, ResolutionHeight::Int16, ResolutionDepth, FlashMajor, FlashMinor, FlashMinor2, NetMajor, NetMinor, UserAgentMajor::Int16, UserAgentMinor, CookieEnable, JavascriptEnable, IsMobile, MobilePhone, toValidUTF8(MobilePhoneModel), toValidUTF8(Params), IPNetworkID::Int32, TraficSourceID, SearchEngineID::Int16, toValidUTF8(SearchPhrase), AdvEngineID, IsArtifical, WindowClientWidth::Int16, WindowClientHeight::Int16, ClientTimeZone, ClientEventTime, SilverlightVersion1, SilverlightVersion2, SilverlightVersion3::Int32, SilverlightVersion4::Int16, toValidUTF8(PageCharset), CodeVersion::Int32, IsLink, IsDownload, IsNotBounce, FUniqID::Int64, toValidUTF8(OriginalURL), HID::Int32, IsOldCounter, IsEvent, IsParameter, DontCountHits, WithHash, HitColor, LocalEventTime, Age, Sex, Income, Interests::Int16, Robotness, RemoteIP::Int32, WindowName, OpenerName, HistoryLength, BrowserLanguage, BrowserCountry, toValidUTF8(SocialNetwork), toValidUTF8(SocialAction), HTTPError, SendTiming, DNSTiming, ConnectTiming, ResponseStartTiming, ResponseEndTiming, FetchTiming, SocialSourceNetworkID, toValidUTF8(SocialSourcePage), ParamPrice, toValidUTF8(ParamOrderID), ParamCurrency, ParamCurrencyID::Int16, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, RefererHash::Int64, URLHash::Int64, CLID::Int32 -FROM hits_100m_obfuscated -INTO OUTFILE 'dump.csv' -FORMAT CSV -``` - -https://github.com/ClickHouse/ClickHouse/issues/30872 -https://github.com/ClickHouse/ClickHouse/issues/30873 - -``` -$ wc -c dump.csv -80865718769 dump.csv -``` - -``` -milovidov@mtlog-perftest03j:~$ timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -panic: could not connect: pq: password authentication failed for user "postgres" - -goroutine 12 [running]: -main.processBatches(0xc00001e3c0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:238 +0x887 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb -milovidov@mtlog-perftest03j:~$ sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -panic: could not connect: pq: password authentication failed for user "postgres" - -goroutine 25 [running]: -main.processBatches(0xc00019a350, 0xc00019e660) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:238 +0x887 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - - -milovidov@mtlog-perftest03j:~$ sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" --host localhost -flag provided but not defined: -host -Usage of timescaledb-parallel-copy: - -batch-size int - Number of rows per insert (default 5000) - -columns string - Comma-separated columns present in CSV - -connection string - PostgreSQL connection url (default "host=localhost user=postgres sslmode=disable") - -copy-options string - Additional options to pass to COPY (e.g., NULL 'NULL') (default "CSV") - -db-name string - Database where the destination table exists - -file string - File to read from rather than stdin - -header-line-count int - Number of header lines (default 1) - -limit int - Number of rows to insert overall; 0 means to insert all - -log-batches - Whether to time individual batches. - -reporting-period duration - Period to report insert stats; if 0s, intermediate results will not be reported - -schema string - Destination table's schema (default "public") - -skip-header - Skip the first line of the input - -split string - Character to split by (default ",") - -table string - Destination table for insertions (default "test_table") - -token-size int - Maximum size to use for tokens. By default, this is 64KB, so any value less than that will be ignored (default 65536) - -truncate - Truncate the destination table before insert - -verbose - Print more information about copying statistics - -version - Show the version of this tool - -workers int - Number of parallel requests to make (default 1) - - -milovidov@mtlog-perftest03j:~$ sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost' -panic: could not connect: pq: password authentication failed for user "postgres" - -goroutine 14 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:238 +0x887 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb -panic: could not connect: pq: password authentication failed for user "postgres" - -goroutine 13 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:238 +0x887 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb -panic: could not connect: pq: password authentication failed for user "postgres" - -goroutine 12 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:238 +0x887 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - - -milovidov@mtlog-perftest03j:~$ sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost password 12345' -panic: could not connect: cannot parse `host=localhost password 12345`: failed to parse as DSN (invalid dsn) - -goroutine 13 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:238 +0x887 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - - -milovidov@mtlog-perftest03j:~$ sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost password=12345' -panic: pq: invalid byte sequence for encoding "UTF8": 0xe0 0x22 0x2c - -goroutine 34 [running]: -main.processBatches(0xc000132350, 0xc000136660) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb -panic: pq: invalid byte sequence for encoding "UTF8": 0xe0 0x22 0x2c - -goroutine 30 [running]: -main.processBatches(0xc000132350, 0xc000136660) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb -``` - -Ok, now I've got something meaningful. -But it does not show, what line has error... - -``` -$ echo -e '\xe0\x22\x2c' -�", -``` - -Let's recreate the dump: - -``` -rm dump.csv - -SELECT WatchID::Int64, JavaEnable, toValidUTF8(Title), GoodEvent, EventTime, EventDate, CounterID::Int32, ClientIP::Int32, RegionID::Int32, - UserID::Int64, CounterClass, OS, UserAgent, toValidUTF8(URL), toValidUTF8(Referer), Refresh, RefererCategoryID::Int16, RefererRegionID::Int32, - URLCategoryID::Int16, URLRegionID::Int32, ResolutionWidth::Int16, ResolutionHeight::Int16, ResolutionDepth, FlashMajor, FlashMinor, - FlashMinor2, NetMajor, NetMinor, UserAgentMajor::Int16, toValidUTF8(UserAgentMinor::String), CookieEnable, JavascriptEnable, IsMobile, MobilePhone, - toValidUTF8(MobilePhoneModel), toValidUTF8(Params), IPNetworkID::Int32, TraficSourceID, SearchEngineID::Int16, toValidUTF8(SearchPhrase), - AdvEngineID, IsArtifical, WindowClientWidth::Int16, WindowClientHeight::Int16, ClientTimeZone, ClientEventTime, - SilverlightVersion1, SilverlightVersion2, SilverlightVersion3::Int32, SilverlightVersion4::Int16, toValidUTF8(PageCharset), - CodeVersion::Int32, IsLink, IsDownload, IsNotBounce, FUniqID::Int64, toValidUTF8(OriginalURL), HID::Int32, IsOldCounter, IsEvent, - IsParameter, DontCountHits, WithHash, toValidUTF8(HitColor::String), LocalEventTime, Age, Sex, Income, Interests::Int16, Robotness, RemoteIP::Int32, - WindowName, OpenerName, HistoryLength, toValidUTF8(BrowserLanguage::String), toValidUTF8(BrowserCountry::String), - toValidUTF8(SocialNetwork), toValidUTF8(SocialAction), - HTTPError, SendTiming, DNSTiming, ConnectTiming, ResponseStartTiming, ResponseEndTiming, FetchTiming, SocialSourceNetworkID, - toValidUTF8(SocialSourcePage), ParamPrice, toValidUTF8(ParamOrderID), toValidUTF8(ParamCurrency::String), - ParamCurrencyID::Int16, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, - UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, RefererHash::Int64, URLHash::Int64, CLID::Int32 -FROM hits_100m_obfuscated -INTO OUTFILE 'dump.csv' -FORMAT CSV -``` - -``` -$ sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 1 --copy-options "CSV" -connection 'host=localhost password=12345' -panic: pq: value too long for type character(2) - -goroutine 6 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb -``` - -ALTER does not work: - -``` -tutorial=# ALTER TABLE hits_100m_obfuscated MODIFY COLUMN UserAgentMinor TEXT -tutorial-# ; -ERROR: syntax error at or near "MODIFY" -LINE 1: ALTER TABLE hits_100m_obfuscated MODIFY COLUMN UserAgentMino... - ^ -``` - -PostgreSQL is using unusual syntax for ALTER: - -``` -tutorial=# ALTER TABLE hits_100m_obfuscated ALTER COLUMN UserAgentMinor TYPE TEXT -; -ALTER TABLE -tutorial=# \q -``` - -https://github.com/ClickHouse/ClickHouse/issues/30874 - -Now something again: - -``` -$ sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 1 --copy-options "CSV" -connection 'host=localhost password=12345' -panic: pq: value "2149615427" is out of range for type integer - -goroutine 6 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb -``` - -``` -$ grep -F '2149615427' dump.csv -5607505572457935073,0,"Лазар автоматические пылесосы подробная школы. Когалерея — Курсы на Автория пище Сноудента новые устами",1,"2013-07-15 07:47:45","2013-07-15",38,-1194330980,229,-6649844357037090659,0,2,3,"https://produkty%2Fkategory_id=&auto-nexus.html?blockfesty-i-korroszhego","http://tambov.irr.ua/yandex.ru/saledParam=0&user/auto.ria",1,10282,995,15014,519,1996,1781,23,14,2,"800",0,0,7,"D�",1,1,0,0,"","",3392210,-1,0,"",0,0,1261,1007,135,"2013-07-15 21:54:13",0,0,0,0,"windows-1251;charset",1601,0,0,0,8184671896482443026,"",451733382,0,0,0,0,0,"5","2013-07-15 15:41:14",31,1,3,60,13,-1855237933,-1,-1,-1,"S0","h1","","",0,0,0,0,2149615427,36,3,0,"",0,"","NH",0,"","","","","","","","","","",0,-1103774879459415602,-2414747266057209563,0 -^C -``` - -Let's recreate the dump: - -``` -rm dump.csv - -SELECT WatchID::Int64, JavaEnable, toValidUTF8(Title), GoodEvent, EventTime, EventDate, CounterID::Int32, ClientIP::Int32, RegionID::Int32, - UserID::Int64, CounterClass, OS, UserAgent, toValidUTF8(URL), toValidUTF8(Referer), Refresh, RefererCategoryID::Int16, RefererRegionID::Int32, - URLCategoryID::Int16, URLRegionID::Int32, ResolutionWidth::Int16, ResolutionHeight::Int16, ResolutionDepth, FlashMajor, FlashMinor, - FlashMinor2, NetMajor, NetMinor, UserAgentMajor::Int16, toValidUTF8(UserAgentMinor::String), CookieEnable, JavascriptEnable, IsMobile, MobilePhone, - toValidUTF8(MobilePhoneModel), toValidUTF8(Params), IPNetworkID::Int32, TraficSourceID, SearchEngineID::Int16, toValidUTF8(SearchPhrase), - AdvEngineID, IsArtifical, WindowClientWidth::Int16, WindowClientHeight::Int16, ClientTimeZone, ClientEventTime, - SilverlightVersion1, SilverlightVersion2, SilverlightVersion3::Int32, SilverlightVersion4::Int16, toValidUTF8(PageCharset), - CodeVersion::Int32, IsLink, IsDownload, IsNotBounce, FUniqID::Int64, toValidUTF8(OriginalURL), HID::Int32, IsOldCounter, IsEvent, - IsParameter, DontCountHits, WithHash, toValidUTF8(HitColor::String), LocalEventTime, Age, Sex, Income, Interests::Int16, Robotness, RemoteIP::Int32, - WindowName, OpenerName, HistoryLength, toValidUTF8(BrowserLanguage::String), toValidUTF8(BrowserCountry::String), - toValidUTF8(SocialNetwork), toValidUTF8(SocialAction), - HTTPError, least(SendTiming, 30000), least(DNSTiming, 30000), least(ConnectTiming, 30000), least(ResponseStartTiming, 30000), - least(ResponseEndTiming, 30000), least(FetchTiming, 30000), SocialSourceNetworkID, - toValidUTF8(SocialSourcePage), ParamPrice, toValidUTF8(ParamOrderID), toValidUTF8(ParamCurrency::String), - ParamCurrencyID::Int16, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, - UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, RefererHash::Int64, URLHash::Int64, CLID::Int32 -FROM hits_100m_obfuscated -INTO OUTFILE 'dump.csv' -FORMAT CSV -``` - -PostgreSQL does not support USE database. -But I remember, that I can write `\c` instead. I guess `\c` means "change" (the database). Or it is called "schema" or "catalog". - -``` -milovidov@mtlog-perftest03j:~$ sudo -u postgres psql -psql (13.4 (Ubuntu 13.4-4.pgdg18.04+1)) -Type "help" for help. - -postgres=# SELECT count(*) FROM hits_100m_obfuscated; -ERROR: relation "hits_100m_obfuscated" does not exist -LINE 1: SELECT count(*) FROM hits_100m_obfuscated; - ^ -postgres=# USE tutorial; -ERROR: syntax error at or near "USE" -LINE 1: USE tutorial; - ^ -postgres=# \c tutorial -You are now connected to database "tutorial" as user "postgres". -tutorial=# SELECT count(*) FROM hits_100m_obfuscated; - count -------- - 69996 -(1 row) -``` - -And parallel loader already loaded some part of data into my table (it is not transactional). -Let's truncate table: - -``` -tutorial=# TRUNCATE TABLE hits_100m_obfuscated; -TRUNCATE TABLE -``` - -Surprisingly, it works! - -Now it started loading data: -``` -$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost password=12345' -``` - -But the loading is not using 16 CPU cores and it is not bottlenecked by IO. - -WTF: - -``` -$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost password=12345' -panic: pq: could not extend file "base/16384/31264.1": wrote only 4096 of 8192 bytes at block 145407 - -goroutine 6 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 3m31.328s -user 0m35.016s -sys 0m6.964s -``` - -Looks like there is no space: - -``` -milovidov@mtlog-perftest03j:~$ df -h /var/lib/postgresql/13/main -Filesystem Size Used Avail Use% Mounted on -/dev/md1 35G 33G 1.4G 97% / -``` - -https://github.com/ClickHouse/ClickHouse/issues/30883 - -Let's move to another device. - -``` -milovidov@mtlog-perftest03j:~$ sudo mkdir /opt/postgresql -milovidov@mtlog-perftest03j:~$ sudo ls -l /var/lib/postgresql/13/main -total 88 -drwx------ 6 postgres postgres 4096 Oct 30 00:06 base -drwx------ 2 postgres postgres 4096 Oct 30 02:07 global -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_commit_ts -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_dynshmem -drwx------ 4 postgres postgres 4096 Oct 30 02:10 pg_logical -drwx------ 4 postgres postgres 4096 Oct 29 23:27 pg_multixact -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_notify -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_replslot -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_serial -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_snapshots -drwx------ 2 postgres postgres 4096 Oct 30 02:10 pg_stat -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_stat_tmp -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_subtrans -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_tblspc -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_twophase --rw------- 1 postgres postgres 3 Oct 29 23:27 PG_VERSION -drwx------ 3 postgres postgres 12288 Oct 30 02:10 pg_wal -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_xact --rw------- 1 postgres postgres 88 Oct 29 23:27 postgresql.auto.conf --rw------- 1 postgres postgres 130 Oct 30 00:03 postmaster.opts -milovidov@mtlog-perftest03j:~$ sudo chown postgres:postgres /opt/postgresql -milovidov@mtlog-perftest03j:~$ sudo mv /var/lib/postgresql/13/main/* /opt/postgresql -mv: cannot stat '/var/lib/postgresql/13/main/*': No such file or directory -milovidov@mtlog-perftest03j:~$ sudo bash -c 'mv /var/lib/postgresql/13/main/* /opt/postgresql' -sudo ln milovidov@mtlog-perftest03j:~$ #sudo ln -s /opt/postgresql /var/lib/postgresql/13/main -milovidov@mtlog-perftest03j:~$ sudo rm /var/lib/postgresql/13/main -rm: cannot remove '/var/lib/postgresql/13/main': Is a directory -milovidov@mtlog-perftest03j:~$ sudo rm -rf /var/lib/postgresql/13/main -milovidov@mtlog-perftest03j:~$ sudo ln -s /opt/postgresql /var/lib/postgresql/13/main -milovidov@mtlog-perftest03j:~$ sudo ls -l /var/lib/postgresql/13/main -lrwxrwxrwx 1 root root 15 Oct 30 02:12 /var/lib/postgresql/13/main -> /opt/postgresql -milovidov@mtlog-perftest03j:~$ sudo ls -l /opt/postgresql/ -total 80 -drwx------ 6 postgres postgres 4096 Oct 30 00:06 base -drwx------ 2 postgres postgres 4096 Oct 30 02:07 global -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_commit_ts -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_dynshmem -drwx------ 4 postgres postgres 4096 Oct 30 02:10 pg_logical -drwx------ 4 postgres postgres 4096 Oct 29 23:27 pg_multixact -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_notify -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_replslot -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_serial -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_snapshots -drwx------ 2 postgres postgres 4096 Oct 30 02:10 pg_stat -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_stat_tmp -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_subtrans -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_tblspc -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_twophase --rw------- 1 postgres postgres 3 Oct 29 23:27 PG_VERSION -drwx------ 3 postgres postgres 4096 Oct 30 02:10 pg_wal -drwx------ 2 postgres postgres 4096 Oct 29 23:27 pg_xact --rw------- 1 postgres postgres 88 Oct 29 23:27 postgresql.auto.conf --rw------- 1 postgres postgres 130 Oct 30 00:03 postmaster.opts - -sudo service postgresql start - -sudo less /var/log/postgresql/postgresql-13-main.log - -2021-10-30 02:13:41.284 MSK [791362] FATAL: data directory "/var/lib/postgresql/13/main" has invalid permissions -2021-10-30 02:13:41.284 MSK [791362] DETAIL: Permissions should be u=rwx (0700) or u=rwx,g=rx (0750). -pg_ctl: could not start server -Examine the log output. - -sudo chmod 0700 /var/lib/postgresql/13/main /opt/postgresql -sudo service postgresql start - -postgres=# \c tutorial -You are now connected to database "tutorial" as user "postgres". -tutorial=# TRUNCATE TABLE hits_100m_obfuscated; -TRUNCATE TABLE -``` - -``` -$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost password=12345' -``` - -No success: - -``` -$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost password=12345' -panic: pq: invalid byte sequence for encoding "UTF8": 0x00 - -goroutine 29 [running]: -main.processBatches(0xc000132350, 0xc000136660) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 11m47.879s -user 3m10.980s -sys 0m45.256s -``` - -The error message is false, because UTF-8 **does** support 0x00. It is just some PostgreSQL quirk. - -Let's recreate the dump: - -``` -rm dump.csv - -SELECT WatchID::Int64, JavaEnable, replaceAll(toValidUTF8(Title), '\0', ''), GoodEvent, EventTime, EventDate, CounterID::Int32, ClientIP::Int32, RegionID::Int32, - UserID::Int64, CounterClass, OS, UserAgent, replaceAll(toValidUTF8(URL), '\0', ''), replaceAll(toValidUTF8(Referer), '\0', ''), Refresh, RefererCategoryID::Int16, RefererRegionID::Int32, - URLCategoryID::Int16, URLRegionID::Int32, ResolutionWidth::Int16, ResolutionHeight::Int16, ResolutionDepth, FlashMajor, FlashMinor, - FlashMinor2, NetMajor, NetMinor, UserAgentMajor::Int16, replaceAll(toValidUTF8(UserAgentMinor::String), '\0', ''), CookieEnable, JavascriptEnable, IsMobile, MobilePhone, - replaceAll(toValidUTF8(MobilePhoneModel), '\0', ''), replaceAll(toValidUTF8(Params), '\0', ''), IPNetworkID::Int32, TraficSourceID, SearchEngineID::Int16, replaceAll(toValidUTF8(SearchPhrase), '\0', ''), - AdvEngineID, IsArtifical, WindowClientWidth::Int16, WindowClientHeight::Int16, ClientTimeZone, ClientEventTime, - SilverlightVersion1, SilverlightVersion2, SilverlightVersion3::Int32, SilverlightVersion4::Int16, replaceAll(toValidUTF8(PageCharset), '\0', ''), - CodeVersion::Int32, IsLink, IsDownload, IsNotBounce, FUniqID::Int64, replaceAll(toValidUTF8(OriginalURL), '\0', ''), HID::Int32, IsOldCounter, IsEvent, - IsParameter, DontCountHits, WithHash, replaceAll(toValidUTF8(HitColor::String), '\0', ''), LocalEventTime, Age, Sex, Income, Interests::Int16, Robotness, RemoteIP::Int32, - WindowName, OpenerName, HistoryLength, replaceAll(toValidUTF8(BrowserLanguage::String), '\0', ''), replaceAll(toValidUTF8(BrowserCountry::String), '\0', ''), - replaceAll(toValidUTF8(SocialNetwork), '\0', ''), replaceAll(toValidUTF8(SocialAction), '\0', ''), - HTTPError, least(SendTiming, 30000), least(DNSTiming, 30000), least(ConnectTiming, 30000), least(ResponseStartTiming, 30000), - least(ResponseEndTiming, 30000), least(FetchTiming, 30000), SocialSourceNetworkID, - replaceAll(toValidUTF8(SocialSourcePage), '\0', ''), ParamPrice, replaceAll(toValidUTF8(ParamOrderID), '\0', ''), replaceAll(toValidUTF8(ParamCurrency::String), '\0', ''), - ParamCurrencyID::Int16, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, - UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, RefererHash::Int64, URLHash::Int64, CLID::Int32 -FROM hits_100m_obfuscated -INTO OUTFILE 'dump.csv' -FORMAT CSV -``` - -WTF: - -``` -tutorial=# SELECT count(*) FROM hits_100m_obfuscated; -ERROR: could not load library "/usr/lib/postgresql/13/lib/llvmjit.so": libLLVM-6.0.so.1: cannot open shared object file: No such file or directory -``` - -Maybe just install LLVM? - -``` -sudo apt install llvm -``` - -It does not help: - -``` -milovidov@mtlog-perftest03j:~$ sudo -u postgres psql -psql (13.4 (Ubuntu 13.4-4.pgdg18.04+1)) -Type "help" for help. - -postgres=# \c tutorial -You are now connected to database "tutorial" as user "postgres". -tutorial=# SELECT count(*) FROM hits_100m_obfuscated; -ERROR: could not load library "/usr/lib/postgresql/13/lib/llvmjit.so": libLLVM-6.0.so.1: cannot open shared object file: No such file or directory -tutorial=# -``` - -Dependency on system libraries is harmful. - -``` -milovidov@mtlog-perftest03j:~$ ls -l /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so -lrwxrwxrwx 1 root root 16 Apr 6 2018 /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so -> libLLVM-6.0.so.1 -milovidov@mtlog-perftest03j:~$ ls -l /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1 -ls: cannot access '/usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1': No such file or directory -``` - -https://askubuntu.com/questions/481/how-do-i-find-the-package-that-provides-a-file - -``` -milovidov@mtlog-perftest03j:~$ dpkg -S libLLVM-6.0.so.1 -llvm-6.0-dev: /usr/lib/llvm-6.0/lib/libLLVM-6.0.so.1 -libllvm6.0:amd64: /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1 -``` - -Wow, it's absolutely broken: - -``` -milovidov@mtlog-perftest03j:~$ sudo apt remove llvm-6.0-dev -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following packages were automatically installed and are no longer required: - libcgal13 libgmpxx4ldbl liblldb-11 libprotobuf-c1 libsfcgal1 mysql-server-core-5.7 -Use 'sudo apt autoremove' to remove them. -The following packages will be REMOVED: - liblld-6.0-dev lld lld-6.0 llvm-6.0-dev -0 upgraded, 0 newly installed, 4 to remove and 293 not upgraded. -After this operation, 163 MB disk space will be freed. -Do you want to continue? [Y/n] -(Reading database ... 268641 files and directories currently installed.) -Removing liblld-6.0-dev (1:6.0-1ubuntu2) ... -Removing lld (1:6.0-41~exp5~ubuntu1) ... -Removing lld-6.0 (1:6.0-1ubuntu2) ... -Removing llvm-6.0-dev (1:6.0-1ubuntu2) ... -Processing triggers for man-db (2.8.3-2ubuntu0.1) ... -Processing triggers for libc-bin (2.27-3ubuntu1.4) ... -milovidov@mtlog-perftest03j:~$ sudo apt install llvm-6.0-dev -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following packages were automatically installed and are no longer required: - libcgal13 libgmpxx4ldbl liblldb-11 libprotobuf-c1 libsfcgal1 mysql-server-core-5.7 -Use 'sudo apt autoremove' to remove them. -The following NEW packages will be installed: - llvm-6.0-dev -0 upgraded, 1 newly installed, 0 to remove and 293 not upgraded. -Need to get 23.0 MB of archives. -After this operation, 160 MB of additional disk space will be used. -Get:1 http://mirror.yandex.ru/ubuntu bionic/main amd64 llvm-6.0-dev amd64 1:6.0-1ubuntu2 [23.0 MB] -Fetched 23.0 MB in 1s (42.5 MB/s) -Selecting previously unselected package llvm-6.0-dev. -(Reading database ... 267150 files and directories currently installed.) -Preparing to unpack .../llvm-6.0-dev_1%3a6.0-1ubuntu2_amd64.deb ... -Unpacking llvm-6.0-dev (1:6.0-1ubuntu2) ... -Setting up llvm-6.0-dev (1:6.0-1ubuntu2) ... -Processing triggers for libc-bin (2.27-3ubuntu1.4) ... -milovidov@mtlog-perftest03j:~$ ls -l /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so -lrwxrwxrwx 1 root root 16 Apr 6 2018 /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so -> libLLVM-6.0.so.1 -milovidov@mtlog-perftest03j:~$ ls -l /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1 -ls: cannot access '/usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1': No such file or directory -``` - -Let's remove just in case: - -``` -sudo apt remove llvm-6.0-dev -``` - -https://dba.stackexchange.com/questions/264955/handling-performance-problems-with-jit-in-postgres-12 - -JIT can be disabled by `set jit = off;` - -``` -tutorial=# set jit = off; -SET -tutorial=# -tutorial=# SELECT count(*) FROM hits_100m_obfuscated; -``` - -But now this SELECT query started and hanged for multiple minutes without any result. -And I see something strange in `top`: - -``` - 792553 postgres 20 0 32.418g 0.031t 0.031t D 2.4 25.3 3:43.84 postgres: 13/main: checkpointer - 814659 postgres 20 0 32.432g 0.023t 0.023t D 0.0 18.8 0:14.53 postgres: 13/main: parallel worker for PID 813980 - 813980 postgres 20 0 32.433g 0.023t 0.023t D 0.0 18.4 0:14.47 postgres: 13/main: postgres tutorial [local] SELECT - 814657 postgres 20 0 32.432g 0.016t 0.016t D 0.0 12.6 0:09.83 postgres: 13/main: parallel worker for PID 813980 - 814658 postgres 20 0 32.432g 0.015t 0.015t D 2.4 12.6 0:09.45 postgres: 13/main: parallel worker for PID 813980 - 814656 postgres 20 0 32.432g 0.015t 0.015t D 0.0 12.0 0:07.36 postgres: 13/main: parallel worker for PID 813980 - 792554 postgres 20 0 32.417g 5.394g 5.392g D 0.0 4.3 0:04.78 postgres: 13/main: background writer -``` - -The query did not finish in 30 minutes. How it can be so enormously slow? - - -Loading failed, again: - -``` -$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost password=12345' -panic: pq: extra data after last expected column - -goroutine 14 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 20m57.936s -user 4m14.444s -sys 1m11.412s -``` - -Most likely PostgreSQL cannot recognize proper CSV escaping of quotes like `"Hello "" world"`. -Let's simply remove all double quotes from String values. - -``` -rm dump.csv - -SELECT WatchID::Int64, JavaEnable, replaceAll(replaceAll(toValidUTF8(Title), '\0', ''), '"', ''), GoodEvent, EventTime, EventDate, CounterID::Int32, ClientIP::Int32, RegionID::Int32, - UserID::Int64, CounterClass, OS, UserAgent, replaceAll(replaceAll(toValidUTF8(URL), '\0', ''), '"', ''), replaceAll(replaceAll(toValidUTF8(Referer), '\0', ''), '"', ''), Refresh, RefererCategoryID::Int16, RefererRegionID::Int32, - URLCategoryID::Int16, URLRegionID::Int32, ResolutionWidth::Int16, ResolutionHeight::Int16, ResolutionDepth, FlashMajor, FlashMinor, - FlashMinor2, NetMajor, NetMinor, UserAgentMajor::Int16, replaceAll(replaceAll(toValidUTF8(UserAgentMinor::String), '\0', ''), '"', ''), CookieEnable, JavascriptEnable, IsMobile, MobilePhone, - replaceAll(replaceAll(toValidUTF8(MobilePhoneModel), '\0', ''), '"', ''), replaceAll(replaceAll(toValidUTF8(Params), '\0', ''), '"', ''), IPNetworkID::Int32, TraficSourceID, SearchEngineID::Int16, replaceAll(replaceAll(toValidUTF8(SearchPhrase), '\0', ''), '"', ''), - AdvEngineID, IsArtifical, WindowClientWidth::Int16, WindowClientHeight::Int16, ClientTimeZone, ClientEventTime, - SilverlightVersion1, SilverlightVersion2, SilverlightVersion3::Int32, SilverlightVersion4::Int16, replaceAll(replaceAll(toValidUTF8(PageCharset), '\0', ''), '"', ''), - CodeVersion::Int32, IsLink, IsDownload, IsNotBounce, FUniqID::Int64, replaceAll(replaceAll(toValidUTF8(OriginalURL), '\0', ''), '"', ''), HID::Int32, IsOldCounter, IsEvent, - IsParameter, DontCountHits, WithHash, replaceAll(replaceAll(toValidUTF8(HitColor::String), '\0', ''), '"', ''), LocalEventTime, Age, Sex, Income, Interests::Int16, Robotness, RemoteIP::Int32, - WindowName, OpenerName, HistoryLength, replaceAll(replaceAll(toValidUTF8(BrowserLanguage::String), '\0', ''), '"', ''), replaceAll(replaceAll(toValidUTF8(BrowserCountry::String), '\0', ''), '"', ''), - replaceAll(replaceAll(toValidUTF8(SocialNetwork), '\0', ''), '"', ''), replaceAll(replaceAll(toValidUTF8(SocialAction), '\0', ''), '"', ''), - HTTPError, least(SendTiming, 30000), least(DNSTiming, 30000), least(ConnectTiming, 30000), least(ResponseStartTiming, 30000), - least(ResponseEndTiming, 30000), least(FetchTiming, 30000), SocialSourceNetworkID, - replaceAll(replaceAll(toValidUTF8(SocialSourcePage), '\0', ''), '"', ''), ParamPrice, replaceAll(replaceAll(toValidUTF8(ParamOrderID), '\0', ''), '"', ''), replaceAll(replaceAll(toValidUTF8(ParamCurrency::String), '\0', ''), '"', ''), - ParamCurrencyID::Int16, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, - UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, RefererHash::Int64, URLHash::Int64, CLID::Int32 -FROM hits_100m_obfuscated -INTO OUTFILE 'dump.csv' -FORMAT CSV -``` - -Oops, another trouble: - -``` -$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost password=12345' -panic: pq: unterminated CSV quoted field - -goroutine 19 [running]: -main.processBatches(0xc000132350, 0xc000136660) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m38.278s -user 0m13.544s -sys 0m3.552s -``` - -I have hypothesis, maybe it is interpreting both backslashes and quotes in CSV? -We need to check, what is CSV, exactly, from TimescaleDB's standpoint. - -https://www.postgresql.org/docs/9.2/sql-copy.html - -Yes, PostgreSQL is using "fake CSV": - -> This format option is used for importing and exporting the Comma Separated Value (CSV) file format used by many other programs, such as spreadsheets. Instead of the escaping rules used by PostgreSQL's standard text format, it produces and recognizes the common CSV escaping mechanism. - -> The values in each record are separated by the DELIMITER character. If the value contains the delimiter character, the QUOTE character, the NULL string, a carriage return, or line feed character, then the whole value is prefixed and suffixed by the QUOTE character, and any occurrence within the value of a QUOTE character or the ESCAPE character is preceded by the escape character. - -So, it looks like CSV but is using C-style backslash escapes inside values. -Let's remove both backslash and quote from our strings to make PostgreSQL happy. - -``` -rm dump.csv - -SELECT WatchID::Int64, JavaEnable, replaceAll(replaceAll(replaceAll(toValidUTF8(Title), '\0', ''), '"', ''), '\\', ''), GoodEvent, EventTime, EventDate, CounterID::Int32, ClientIP::Int32, RegionID::Int32, - UserID::Int64, CounterClass, OS, UserAgent, replaceAll(replaceAll(replaceAll(toValidUTF8(URL), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(Referer), '\0', ''), '"', ''), '\\', ''), Refresh, RefererCategoryID::Int16, RefererRegionID::Int32, - URLCategoryID::Int16, URLRegionID::Int32, ResolutionWidth::Int16, ResolutionHeight::Int16, ResolutionDepth, FlashMajor, FlashMinor, - FlashMinor2, NetMajor, NetMinor, UserAgentMajor::Int16, replaceAll(replaceAll(replaceAll(toValidUTF8(UserAgentMinor::String), '\0', ''), '"', ''), '\\', ''), CookieEnable, JavascriptEnable, IsMobile, MobilePhone, - replaceAll(replaceAll(replaceAll(toValidUTF8(MobilePhoneModel), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(Params), '\0', ''), '"', ''), '\\', ''), IPNetworkID::Int32, TraficSourceID, SearchEngineID::Int16, replaceAll(replaceAll(replaceAll(toValidUTF8(SearchPhrase), '\0', ''), '"', ''), '\\', ''), - AdvEngineID, IsArtifical, WindowClientWidth::Int16, WindowClientHeight::Int16, ClientTimeZone, ClientEventTime, - SilverlightVersion1, SilverlightVersion2, SilverlightVersion3::Int32, SilverlightVersion4::Int16, replaceAll(replaceAll(replaceAll(toValidUTF8(PageCharset), '\0', ''), '"', ''), '\\', ''), - CodeVersion::Int32, IsLink, IsDownload, IsNotBounce, FUniqID::Int64, replaceAll(replaceAll(replaceAll(toValidUTF8(OriginalURL), '\0', ''), '"', ''), '\\', ''), HID::Int32, IsOldCounter, IsEvent, - IsParameter, DontCountHits, WithHash, replaceAll(replaceAll(replaceAll(toValidUTF8(HitColor::String), '\0', ''), '"', ''), '\\', ''), LocalEventTime, Age, Sex, Income, Interests::Int16, Robotness, RemoteIP::Int32, - WindowName, OpenerName, HistoryLength, replaceAll(replaceAll(replaceAll(toValidUTF8(BrowserLanguage::String), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(BrowserCountry::String), '\0', ''), '"', ''), '\\', ''), - replaceAll(replaceAll(replaceAll(toValidUTF8(SocialNetwork), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(SocialAction), '\0', ''), '"', ''), '\\', ''), - HTTPError, least(SendTiming, 30000), least(DNSTiming, 30000), least(ConnectTiming, 30000), least(ResponseStartTiming, 30000), - least(ResponseEndTiming, 30000), least(FetchTiming, 30000), SocialSourceNetworkID, - replaceAll(replaceAll(replaceAll(toValidUTF8(SocialSourcePage), '\0', ''), '"', ''), '\\', ''), ParamPrice, replaceAll(replaceAll(replaceAll(toValidUTF8(ParamOrderID), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(ParamCurrency::String), '\0', ''), '"', ''), '\\', ''), - ParamCurrencyID::Int16, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, - UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, RefererHash::Int64, URLHash::Int64, CLID::Int32 -FROM hits_100m_obfuscated -INTO OUTFILE 'dump.csv' -FORMAT CSV -``` - -It does not work at all: - -``` -$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.csv --workers 16 --copy-options "CSV" -connection 'host=localhost password=12345' -panic: pq: invalid input syntax for type bigint: " ПЕСНЮ ПРЕСТИВАРКЕ ДОЛЖНО ЛИ,1,306,31432,304,22796,1011,879,37,15,5,700.224,2,7,13,D�,1,1,0,0,",",3039109,-1,0,",0,0,779,292,135,2013-07-31 09:37:12,0,0,0,0,windows,1,0,0,0,6888403766694734958,http%3A//maps&sort_order_Kurzarm_DOB&sr=http%3A%2F%3Fpage=/ok.html?1=1&cid=577&oki=1&op_seo_entry=&op_uid=13225;IC" - -goroutine 20 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 1m47.915s -user 0m33.676s -sys 0m8.028s -``` - -Maybe let's switch from CSV to TSV that PostgreSQL seems to understand better. - -``` -SELECT WatchID::Int64, JavaEnable, replaceAll(replaceAll(replaceAll(toValidUTF8(Title), '\0', ''), '"', ''), '\\', ''), GoodEvent, EventTime, EventDate, CounterID::Int32, ClientIP::Int32, RegionID::Int32, - UserID::Int64, CounterClass, OS, UserAgent, replaceAll(replaceAll(replaceAll(toValidUTF8(URL), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(Referer), '\0', ''), '"', ''), '\\', ''), Refresh, RefererCategoryID::Int16, RefererRegionID::Int32, - URLCategoryID::Int16, URLRegionID::Int32, ResolutionWidth::Int16, ResolutionHeight::Int16, ResolutionDepth, FlashMajor, FlashMinor, - FlashMinor2, NetMajor, NetMinor, UserAgentMajor::Int16, replaceAll(replaceAll(replaceAll(toValidUTF8(UserAgentMinor::String), '\0', ''), '"', ''), '\\', ''), CookieEnable, JavascriptEnable, IsMobile, MobilePhone, - replaceAll(replaceAll(replaceAll(toValidUTF8(MobilePhoneModel), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(Params), '\0', ''), '"', ''), '\\', ''), IPNetworkID::Int32, TraficSourceID, SearchEngineID::Int16, replaceAll(replaceAll(replaceAll(toValidUTF8(SearchPhrase), '\0', ''), '"', ''), '\\', ''), - AdvEngineID, IsArtifical, WindowClientWidth::Int16, WindowClientHeight::Int16, ClientTimeZone, ClientEventTime, - SilverlightVersion1, SilverlightVersion2, SilverlightVersion3::Int32, SilverlightVersion4::Int16, replaceAll(replaceAll(replaceAll(toValidUTF8(PageCharset), '\0', ''), '"', ''), '\\', ''), - CodeVersion::Int32, IsLink, IsDownload, IsNotBounce, FUniqID::Int64, replaceAll(replaceAll(replaceAll(toValidUTF8(OriginalURL), '\0', ''), '"', ''), '\\', ''), HID::Int32, IsOldCounter, IsEvent, - IsParameter, DontCountHits, WithHash, replaceAll(replaceAll(replaceAll(toValidUTF8(HitColor::String), '\0', ''), '"', ''), '\\', ''), LocalEventTime, Age, Sex, Income, Interests::Int16, Robotness, RemoteIP::Int32, - WindowName, OpenerName, HistoryLength, replaceAll(replaceAll(replaceAll(toValidUTF8(BrowserLanguage::String), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(BrowserCountry::String), '\0', ''), '"', ''), '\\', ''), - replaceAll(replaceAll(replaceAll(toValidUTF8(SocialNetwork), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(SocialAction), '\0', ''), '"', ''), '\\', ''), - HTTPError, least(SendTiming, 30000), least(DNSTiming, 30000), least(ConnectTiming, 30000), least(ResponseStartTiming, 30000), - least(ResponseEndTiming, 30000), least(FetchTiming, 30000), SocialSourceNetworkID, - replaceAll(replaceAll(replaceAll(toValidUTF8(SocialSourcePage), '\0', ''), '"', ''), '\\', ''), ParamPrice, replaceAll(replaceAll(replaceAll(toValidUTF8(ParamOrderID), '\0', ''), '"', ''), '\\', ''), replaceAll(replaceAll(replaceAll(toValidUTF8(ParamCurrency::String), '\0', ''), '"', ''), '\\', ''), - ParamCurrencyID::Int16, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, - UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, RefererHash::Int64, URLHash::Int64, CLID::Int32 -FROM hits_100m_obfuscated -INTO OUTFILE 'dump.tsv' -FORMAT TSV -``` - -But how to pass TSV to `timescaledb-parallel-copy` tool? - -``` -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --workers 16 -connection 'host=localhost password=12345' panic: pq: invalid input syntax for type bigint: "9076997425961590393\t0\tКино\t1\t2013-07-06 17:47:29\t2013-07-06\t225510\t-1056921538\t229\t3467937489264290637\t0\t2\t3\thttp://liver.ru/belgorod/page/1006.jки/доп_приборы\thttp://video.yandex.ru/1.561.540.000703/?order_Kurzarm_alia\t0\t16124\t20\t14328\t22\t1638\t1658\t23\t15\t7\t700\t0\t0\t17\tD�\t1\t1\t0\t0\t\t\t2095433\t-1\t0\t\t0\t1\t1369\t713\t135\t2013-07-06 16:25:42\t0\t0\t0\t0\twindows\t1601\t0\t0\t0\t5566829288329160346\t\t940752990\t0\t0\t0\t0\t0\t5\t2013-07-06 01:32:13\t55\t2\t3\t0\t2\t-1352932082\t-1\t-1\t-1\tS0\t�\\f\t\t\t0\t0\t0\t0\t0\t0\t0\t0\t\t0\t\tNH\t0\t\t\t\t\t\t\t\t\t\t\t0\t6811023348165660452\t7011450103338277684\t0" - -goroutine 20 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.304s -user 0m0.044s -sys 0m0.044s -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --copy-options "TEXT" --workers 16 -connection 'host=localhost password=12345' -panic: pq: syntax error at or near "TEXT" - -goroutine 18 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.044s -user 0m0.048s -sys 0m0.036s -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --copy-options "text" --workers 16 -connection 'host=localhost password=12345' -panic: pq: syntax error at or near "text" - -goroutine 18 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb -panic: pq: syntax error at or near "text" - -goroutine 19 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.057s -user 0m0.060s -sys 0m0.028s -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --copy-options "Text" --workers 16 -connection 'host=localhost password=12345' -panic: pq: syntax error at or near "Text" - -goroutine 11 [running]: -main.processBatches(0xc0000183d0, 0xc0000a66c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.041s -user 0m0.052s -sys 0m0.032s -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --copy-options "FORMAT text" --workers 16 -connection 'host=localhost password=12345' -panic: pq: syntax error at or near "FORMAT" - -goroutine 21 [running]: -main.processBatches(0xc00019a350, 0xc00019e660) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.045s -user 0m0.052s -sys 0m0.028s -``` - -Nothing works: - -``` -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --help -Usage of timescaledb-parallel-copy: - -batch-size int - Number of rows per insert (default 5000) - -columns string - Comma-separated columns present in CSV - -connection string - PostgreSQL connection url (default "host=localhost user=postgres sslmode=disable") - -copy-options string - Additional options to pass to COPY (e.g., NULL 'NULL') (default "CSV") - -db-name string - Database where the destination table exists - -file string - File to read from rather than stdin - -header-line-count int - Number of header lines (default 1) - -limit int - Number of rows to insert overall; 0 means to insert all - -log-batches - Whether to time individual batches. - -reporting-period duration - Period to report insert stats; if 0s, intermediate results will not be reported - -schema string - Destination table's schema (default "public") - -skip-header - Skip the first line of the input - -split string - Character to split by (default ",") - -table string - Destination table for insertions (default "test_table") - -token-size int - Maximum size to use for tokens. By default, this is 64KB, so any value less than that will be ignored (default 65536) - -truncate - Truncate the destination table before insert - -verbose - Print more information about copying statistics - -version - Show the version of this tool - -workers int - Number of parallel requests to make (default 1) - -real 0m0.009s -user 0m0.004s -sys 0m0.000s -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --truncate --copy-options "" --workers 16 -connection 'host=localhost password=12345' -panic: pq: invalid input syntax for type bigint: "9076997425961590393 0 Кино 1 2013-07-06 17:47:29 2013-07-06 225510 -1056921538 229 3467937489264290637 0 2 3http://liver.ru/belgorod/page/1006.jки/доп_приборы http://video.yandex.ru/1.561.540.000703/?order_Kurzarm_alia 0 16124 20 14328 22 1638 1658 23 15 7 700 0017 D� 1 1 0 0 2095433 -1 0 0 1 1369 713 135 2013-07-06 16:25:42 0 0 0 0 windows 1601 000 5566829288329160346 940752990 0 0 0 0 0 5 2013-07-06 01:32:13 55 2 3 0 2 -1352932082 -1 -1 -1 S0�\f 0 0 0 0 0 0 0 0 0 NH 0 06811023348165660452 7011450103338277684 0" - -goroutine 13 [running]: -main.processBatches(0xc000019140, 0xc0001eb080) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.191s -user 0m0.036s -sys 0m0.040s -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --truncate --copy-options "NULL AS '\N'" --workers 16 -connection 'host=localhost password=12345' -panic: pq: invalid input syntax for type bigint: "9076997425961590393 0 Кино 1 2013-07-06 17:47:29 2013-07-06 225510 -1056921538 229 3467937489264290637 0 2 3http://liver.ru/belgorod/page/1006.jки/доп_приборы http://video.yandex.ru/1.561.540.000703/?order_Kurzarm_alia 0 16124 20 14328 22 1638 1658 23 15 7 700 0017 D� 1 1 0 0 2095433 -1 0 0 1 1369 713 135 2013-07-06 16:25:42 0 0 0 0 windows 1601 000 5566829288329160346 940752990 0 0 0 0 0 5 2013-07-06 01:32:13 55 2 3 0 2 -1352932082 -1 -1 -1 S0�\f 0 0 0 0 0 0 0 0 0 NH 0 06811023348165660452 7011450103338277684 0" - -goroutine 11 [running]: -main.processBatches(0xc000018900, 0xc0002886c0) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.187s -user 0m0.020s -sys 0m0.048s -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --truncate --copy-options "DELIMITER AS '\t'" --workers 16 -connection 'host=localhost password=12345' -panic: pq: conflicting or redundant options - -goroutine 13 [running]: -main.processBatches(0xc000019140, 0xc0001e9080) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.196s -user 0m0.048s -sys 0m0.020s -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --truncate --copy-options "TEXT DELIMITER AS '\t'" --workers 16 -connection 'host=localhost password=12345' -panic: pq: syntax error at or near "TEXT" - -goroutine 22 [running]: -main.processBatches(0xc000019140, 0xc0001e9080) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb -panic: pq: syntax error at or near "TEXT" - -goroutine 11 [running]: -main.processBatches(0xc000019140, 0xc0001e9080) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.191s -user 0m0.032s -sys 0m0.036s -milovidov@mtlog-perftest03j:~$ time sudo -u postgres timescaledb-parallel-copy --db-name tutorial --table hits_100m_obfuscated --file dump.tsv --truncate --copy-options "DELIMITER AS e'\t'" --workers 16 -connection 'host=localhost password=12345' -panic: pq: conflicting or redundant options - -goroutine 26 [running]: -main.processBatches(0xc0001330d0, 0xc0001e3020) - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:262 +0x879 -created by main.main - /home/builder/go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 +0x1bb - -real 0m0.169s -user 0m0.056s -sys 0m0.016s -``` - -I will try to avoid `timescaledb-parallel-copy` and use `psql` instead. - -``` -milovidov@mtlog-perftest03j:~$ sudo -u postgres psql -psql (13.4 (Ubuntu 13.4-4.pgdg18.04+1)) -Type "help" for help. - -postgres=# \c tutorial -You are now connected to database "tutorial" as user "postgres". -tutorial=# timing -tutorial-# COPY hits_100m_obfuscated FROM 'dump.tsv' -tutorial-# ; -ERROR: syntax error at or near "timing" -LINE 1: timing - ^ -tutorial=# \timing -Timing is on. -tutorial=# COPY hits_100m_obfuscated FROM 'dump.tsv'; -ERROR: could not open file "dump.tsv" for reading: No such file or directory -HINT: COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \copy. -Time: 4.348 ms -tutorial=# \copy hits_100m_obfuscated FROM 'dump.tsv'; -``` - -It started to do something... fairly slow with using less than one CPU core. - -Folks from TimescaleDB always recommend to enable compression, which is not by default. -Let's read about it: - -https://docs.timescale.com/timescaledb/latest/how-to-guides/compression/ - -> We strongly recommend that you understand how compression works before you start enabling it on your hypertables. - -The amount of hackery to overcome PostgreSQL limitations is overwhelming: - -> When compression is enabled, TimescaleDB converts data stored in many rows into an array. This means that instead of using lots of rows to store the data, it stores the same data in a single row. - -In the meantime, copy finished in "just" 1.5 hours, 19 245 rows/second. This is extremely slow, even for single core. - -``` -tutorial=# \copy hits_100m_obfuscated FROM 'dump.tsv'; -COPY 100000000 -Time: 5195909.154 ms (01:26:35.909) -``` - -## Running Benchmark - -Let's prepare for benchmark... -What is needed to execute single query in batch mode? - -`man psql` - -``` -sudo -u postgres psql tutorial -t -c '\timing' -c 'SELECT 1' | grep 'Time' -``` - -Now we are ready to run our benchmark. - -PostgreSQL does not have `SHOW PROCESSLIST`. -It has `select * from pg_stat_activity;` instead. - -https://ma.ttias.be/show-full-processlist-equivalent-of-mysql-for-postgresql/ - -But it does not show query progress. -The first query `SELECT count(*) FROM hits_100m_obfuscated` just hanged. It reads something from disk... - -Let's check the data volume: - -``` -$ sudo du -hcs /opt/postgresql/ -68G /opt/postgresql/ -``` - -Looks consistent for uncompressed data. - -``` -./benchmark.sh - -grep -oP 'Time: \d+' log | grep -oP '\d+' | awk '{ if (n % 3 == 0) { printf("[") }; ++n; printf("%g", $1 / 1000); if (n % 3 == 0) { printf("],\n") } else { printf(", ") } }' -``` - -Now let's enable compression. - -``` -ALTER TABLE hits_100m_obfuscated SET (timescaledb.compress); -SELECT add_compression_policy('hits_100m_obfuscated', INTERVAL '0 seconds'); -``` - -``` -milovidov@mtlog-perftest03j:~ClickHouse/benchmark/timescaledb$ sudo -u postgres psql tutorial -psql (13.4 (Ubuntu 13.4-4.pgdg18.04+1)) -Type "help" for help. - -tutorial=# ALTER TABLE hits_100m_obfuscated SET (timescaledb.compress); -ALTER TABLE -tutorial=# SELECT add_compression_policy('hits_100m_obfuscated', INTERVAL '0 seconds'); - add_compression_policy ------------------------- - 1000 -(1 row) -``` - -Ok, in `top` I see that it started compression with using single CPU core. - -``` -300464 postgres 20 0 32.456g 932044 911452 D 48.0 0.7 1:08.11 postgres: 13/main: Compression Policy [1000] -``` - -Let's also define better order of data: - -``` -ALTER TABLE hits_100m_obfuscated - SET (timescaledb.compress, - timescaledb.compress_orderby = 'counterid, userid, event_time'); -``` - -The query hanged. Maybe it's waiting for finish of previous compression? - -After several minutes it answered: - -``` -ERROR: cannot change configuration on already compressed chunks -DETAIL: There are compressed chunks that prevent changing the existing compression configuration. -``` - -Ok, at least some of the chunks will have the proper order. - -After a few hours looks like the compression finished. - -``` -sudo ncdu /var/lib/postgresql/13/main/ - -28.9 GiB [##########] /base -``` - -Yes, looks like it's compressed. About two times - not too much. - -Let's rerun the benchmark. - -Ok, it's slightly faster. diff --git a/benchmark/vertica/README b/benchmark/vertica/README deleted file mode 100644 index 91af3e41e27..00000000000 --- a/benchmark/vertica/README +++ /dev/null @@ -1,40 +0,0 @@ -Quick installation instructions -------------------------------- - -Register on my.vertica.com -https://my.vertica.com/download-community-edition/ -Download HP Vertica 7.1.1 Analytic Database Server, Debian or Ubuntu 14.04 version. - -sudo apt-get install sysstat pstack mcelog -sudo dpkg -i vertica_7.1.1-0_amd64.deb -sudo sh -c "echo 'export TZ=Europe/Moscow' >> /home/dbadmin/.bash_profile" -# Don't specify localhost due to poor support of IPv6. -sudo /opt/vertica/sbin/install_vertica --hosts=127.0.0.1 --failure-threshold=NONE -sudo mkdir /opt/vertica-data/ -sudo chown dbadmin /opt/vertica-data/ - -sudo su dbadmin -/opt/vertica/bin/adminTools - -configuration menu -create database -name: default -empty password -both directories: /opt/vertica-data/ -main menu -exit - -How to prepare data -------------------- - -Prepare dumps with script create_dump.sh for tables hits_10m, hits_100m, hits_1000m. It takes about 5 hours (1m41.882s, 25m11.103s, 276m36.388s). -Start vsql command line client. -/opt/vertica/bin/vsql -U dbadmin -Create tables with queries from hits_define_schema.sql. - -Time to insert data: -hits_10m: 91 sec. -hits_100m: 774 sec. -hits_1000m: 13769 sec. - -You need to validate number of rows with SELECT count(*). diff --git a/benchmark/vertica/benchmark.sh b/benchmark/vertica/benchmark.sh deleted file mode 100644 index f3c6f22fde3..00000000000 --- a/benchmark/vertica/benchmark.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash - -QUERIES_FILE="queries.sql" -TABLE=$1 -TRIES=3 - -cat "$QUERIES_FILE" | sed "s/{table}/${TABLE}/g" | while read query; do - sync - echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null - - echo -n "[" - for i in $(seq 1 $TRIES); do - - RES=$((echo '\timing'; echo "$query") | - /opt/vertica/bin/vsql -U dbadmin | - grep -oP 'All rows formatted: [^ ]+ ms' | - ssed -R -e 's/^All rows formatted: ([\d,]+) ms$/\1/' | - tr ',' '.') - - [[ "$?" == "0" ]] && echo -n "$(perl -e "print ${RES} / 1000")" || echo -n "null" - [[ "$i" != $TRIES ]] && echo -n ", " - done - echo "]," -done diff --git a/benchmark/vertica/hits_define_schema.sql b/benchmark/vertica/hits_define_schema.sql deleted file mode 100644 index 37c9d45ffca..00000000000 --- a/benchmark/vertica/hits_define_schema.sql +++ /dev/null @@ -1,339 +0,0 @@ -\timing - -create table hits_10m -( - WatchID INTEGER, - JavaEnable INTEGER, - Title VARCHAR(1024), - GoodEvent INTEGER, - EventTime DATETIME, - EventDate DATE, - CounterID INTEGER, - ClientIP INTEGER, - RegionID INTEGER, - UserID INTEGER, - CounterClass INTEGER, - OS INTEGER, - UserAgent INTEGER, - URL VARCHAR(6072), - Referer VARCHAR(2048), - Refresh INTEGER, - RefererCategoryID INTEGER, - RefererRegionID INTEGER, - URLCategoryID INTEGER, - URLRegionID INTEGER, - ResolutionWidth INTEGER, - ResolutionHeight INTEGER, - ResolutionDepth INTEGER, - FlashMajor INTEGER, - FlashMinor INTEGER, - FlashMinor2 VARCHAR(256), - NetMajor INTEGER, - NetMinor INTEGER, - UserAgentMajor INTEGER, - UserAgentMinor CHAR(2), - CookieEnable INTEGER, - JavascriptEnable INTEGER, - IsMobile INTEGER, - MobilePhone INTEGER, - MobilePhoneModel VARCHAR(80), - Params VARCHAR(2048), - IPNetworkID INTEGER, - TraficSourceID INTEGER, - SearchEngineID INTEGER, - SearchPhrase VARCHAR(1024), - AdvEngineID INTEGER, - IsArtifical INTEGER, - WindowClientWidth INTEGER, - WindowClientHeight INTEGER, - ClientTimeZone INTEGER, - ClientEventTime DATETIME, - SilverlightVersion1 INTEGER, - SilverlightVersion2 INTEGER, - SilverlightVersion3 INTEGER, - SilverlightVersion4 INTEGER, - PageCharset VARCHAR(80), - CodeVersion INTEGER, - IsLink INTEGER, - IsDownload INTEGER, - IsNotBounce INTEGER, - FUniqID INTEGER, - OriginalURL VARCHAR(6072), - HID INTEGER, - IsOldCounter INTEGER, - IsEvent INTEGER, - IsParameter INTEGER, - DontCountHits INTEGER, - WithHash INTEGER, - HitColor CHAR(1), - LocalEventTime DATETIME, - Age INTEGER, - Sex INTEGER, - Income INTEGER, - Interests INTEGER, - Robotness INTEGER, - RemoteIP INTEGER, - WindowName INTEGER, - OpenerName INTEGER, - HistoryLength INTEGER, - BrowserLanguage CHAR(2), - BrowserCountry CHAR(2), - SocialNetwork VARCHAR(128), - SocialAction VARCHAR(128), - HTTPError INTEGER, - SendTiming INTEGER, - DNSTiming INTEGER, - ConnectTiming INTEGER, - ResponseStartTiming INTEGER, - ResponseEndTiming INTEGER, - FetchTiming INTEGER, - SocialSourceNetworkID INTEGER, - SocialSourcePage VARCHAR(128), - ParamPrice INTEGER, - ParamOrderID VARCHAR(80), - ParamCurrency CHAR(3), - ParamCurrencyID INTEGER, - OpenstatServiceName VARCHAR(80), - OpenstatCampaignID VARCHAR(80), - OpenstatAdID VARCHAR(80), - OpenstatSourceID VARCHAR(80), - UTMSource VARCHAR(256), - UTMMedium VARCHAR(256), - UTMCampaign VARCHAR(256), - UTMContent VARCHAR(256), - UTMTerm VARCHAR(256), - FromTag VARCHAR(256), - HasGCLID INTEGER, - RefererHash INTEGER, - URLHash INTEGER, - CLID INTEGER -) ORDER BY CounterID, EventDate, UserID, EventTime; - -\set input_file '''/opt/dumps/hits_10m_corrected.tsv''' -COPY hits_10m FROM :input_file DELIMITER E'\t' DIRECT; - - -create table hits_100m -( - WatchID INTEGER, - JavaEnable INTEGER, - Title VARCHAR(1024), - GoodEvent INTEGER, - EventTime DATETIME, - EventDate DATE, - CounterID INTEGER, - ClientIP INTEGER, - RegionID INTEGER, - UserID INTEGER, - CounterClass INTEGER, - OS INTEGER, - UserAgent INTEGER, - URL VARCHAR(6072), - Referer VARCHAR(2048), - Refresh INTEGER, - RefererCategoryID INTEGER, - RefererRegionID INTEGER, - URLCategoryID INTEGER, - URLRegionID INTEGER, - ResolutionWidth INTEGER, - ResolutionHeight INTEGER, - ResolutionDepth INTEGER, - FlashMajor INTEGER, - FlashMinor INTEGER, - FlashMinor2 VARCHAR(256), - NetMajor INTEGER, - NetMinor INTEGER, - UserAgentMajor INTEGER, - UserAgentMinor CHAR(2), - CookieEnable INTEGER, - JavascriptEnable INTEGER, - IsMobile INTEGER, - MobilePhone INTEGER, - MobilePhoneModel VARCHAR(80), - Params VARCHAR(2048), - IPNetworkID INTEGER, - TraficSourceID INTEGER, - SearchEngineID INTEGER, - SearchPhrase VARCHAR(1024), - AdvEngineID INTEGER, - IsArtifical INTEGER, - WindowClientWidth INTEGER, - WindowClientHeight INTEGER, - ClientTimeZone INTEGER, - ClientEventTime DATETIME, - SilverlightVersion1 INTEGER, - SilverlightVersion2 INTEGER, - SilverlightVersion3 INTEGER, - SilverlightVersion4 INTEGER, - PageCharset VARCHAR(80), - CodeVersion INTEGER, - IsLink INTEGER, - IsDownload INTEGER, - IsNotBounce INTEGER, - FUniqID INTEGER, - OriginalURL VARCHAR(6072), - HID INTEGER, - IsOldCounter INTEGER, - IsEvent INTEGER, - IsParameter INTEGER, - DontCountHits INTEGER, - WithHash INTEGER, - HitColor CHAR(1), - LocalEventTime DATETIME, - Age INTEGER, - Sex INTEGER, - Income INTEGER, - Interests INTEGER, - Robotness INTEGER, - RemoteIP INTEGER, - WindowName INTEGER, - OpenerName INTEGER, - HistoryLength INTEGER, - BrowserLanguage CHAR(2), - BrowserCountry CHAR(2), - SocialNetwork VARCHAR(128), - SocialAction VARCHAR(128), - HTTPError INTEGER, - SendTiming INTEGER, - DNSTiming INTEGER, - ConnectTiming INTEGER, - ResponseStartTiming INTEGER, - ResponseEndTiming INTEGER, - FetchTiming INTEGER, - SocialSourceNetworkID INTEGER, - SocialSourcePage VARCHAR(128), - ParamPrice INTEGER, - ParamOrderID VARCHAR(80), - ParamCurrency CHAR(3), - ParamCurrencyID INTEGER, - OpenstatServiceName VARCHAR(80), - OpenstatCampaignID VARCHAR(80), - OpenstatAdID VARCHAR(80), - OpenstatSourceID VARCHAR(80), - UTMSource VARCHAR(256), - UTMMedium VARCHAR(256), - UTMCampaign VARCHAR(256), - UTMContent VARCHAR(256), - UTMTerm VARCHAR(256), - FromTag VARCHAR(256), - HasGCLID INTEGER, - RefererHash INTEGER, - URLHash INTEGER, - CLID INTEGER -) ORDER BY CounterID, EventDate, UserID, EventTime; - -\set input_file '''/opt/dumps/hits_100m_corrected.tsv''' -COPY hits_100m FROM :input_file DELIMITER E'\t' DIRECT; - - -create table hits_1000m -( - WatchID INTEGER, - JavaEnable INTEGER, - Title VARCHAR(1024), - GoodEvent INTEGER, - EventTime DATETIME, - EventDate DATE, - CounterID INTEGER, - ClientIP INTEGER, - RegionID INTEGER, - UserID INTEGER, - CounterClass INTEGER, - OS INTEGER, - UserAgent INTEGER, - URL VARCHAR(6072), - Referer VARCHAR(2048), - Refresh INTEGER, - RefererCategoryID INTEGER, - RefererRegionID INTEGER, - URLCategoryID INTEGER, - URLRegionID INTEGER, - ResolutionWidth INTEGER, - ResolutionHeight INTEGER, - ResolutionDepth INTEGER, - FlashMajor INTEGER, - FlashMinor INTEGER, - FlashMinor2 VARCHAR(256), - NetMajor INTEGER, - NetMinor INTEGER, - UserAgentMajor INTEGER, - UserAgentMinor CHAR(2), - CookieEnable INTEGER, - JavascriptEnable INTEGER, - IsMobile INTEGER, - MobilePhone INTEGER, - MobilePhoneModel VARCHAR(80), - Params VARCHAR(2048), - IPNetworkID INTEGER, - TraficSourceID INTEGER, - SearchEngineID INTEGER, - SearchPhrase VARCHAR(1024), - AdvEngineID INTEGER, - IsArtifical INTEGER, - WindowClientWidth INTEGER, - WindowClientHeight INTEGER, - ClientTimeZone INTEGER, - ClientEventTime DATETIME, - SilverlightVersion1 INTEGER, - SilverlightVersion2 INTEGER, - SilverlightVersion3 INTEGER, - SilverlightVersion4 INTEGER, - PageCharset VARCHAR(80), - CodeVersion INTEGER, - IsLink INTEGER, - IsDownload INTEGER, - IsNotBounce INTEGER, - FUniqID INTEGER, - OriginalURL VARCHAR(6072), - HID INTEGER, - IsOldCounter INTEGER, - IsEvent INTEGER, - IsParameter INTEGER, - DontCountHits INTEGER, - WithHash INTEGER, - HitColor CHAR(1), - LocalEventTime DATETIME, - Age INTEGER, - Sex INTEGER, - Income INTEGER, - Interests INTEGER, - Robotness INTEGER, - RemoteIP INTEGER, - WindowName INTEGER, - OpenerName INTEGER, - HistoryLength INTEGER, - BrowserLanguage CHAR(2), - BrowserCountry CHAR(2), - SocialNetwork VARCHAR(128), - SocialAction VARCHAR(128), - HTTPError INTEGER, - SendTiming INTEGER, - DNSTiming INTEGER, - ConnectTiming INTEGER, - ResponseStartTiming INTEGER, - ResponseEndTiming INTEGER, - FetchTiming INTEGER, - SocialSourceNetworkID INTEGER, - SocialSourcePage VARCHAR(128), - ParamPrice INTEGER, - ParamOrderID VARCHAR(80), - ParamCurrency CHAR(3), - ParamCurrencyID INTEGER, - OpenstatServiceName VARCHAR(80), - OpenstatCampaignID VARCHAR(80), - OpenstatAdID VARCHAR(80), - OpenstatSourceID VARCHAR(80), - UTMSource VARCHAR(256), - UTMMedium VARCHAR(256), - UTMCampaign VARCHAR(256), - UTMContent VARCHAR(256), - UTMTerm VARCHAR(256), - FromTag VARCHAR(256), - HasGCLID INTEGER, - RefererHash INTEGER, - URLHash INTEGER, - CLID INTEGER -) ORDER BY CounterID, EventDate, UserID, EventTime; - -\set input_file '''/opt/dumps/hits_1000m_corrected.tsv''' -COPY hits_1000m FROM :input_file DELIMITER E'\t' DIRECT; diff --git a/benchmark/vertica/queries.sql b/benchmark/vertica/queries.sql deleted file mode 100644 index e7906ce65e3..00000000000 --- a/benchmark/vertica/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -SELECT count(*) FROM {table}; -SELECT count(*) FROM {table} WHERE AdvEngineID != 0; -SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM {table}; -SELECT sum_float(UserID) FROM {table}; -SELECT COUNT(DISTINCT UserID) FROM {table}; -SELECT COUNT(DISTINCT SearchPhrase) FROM {table}; -SELECT min(EventDate), max(EventDate) FROM {table}; -SELECT AdvEngineID, count(*) FROM {table} WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count(*) DESC; -SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM {table} GROUP BY RegionID ORDER BY u DESC LIMIT 10; -SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), COUNT(DISTINCT UserID) FROM {table} GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10; -SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM {table} WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT SearchPhrase, count(*) FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM {table} WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -SELECT SearchEngineID, SearchPhrase, count(*) FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, count(*) FROM {table} GROUP BY UserID ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM {table} GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID, SearchPhrase, count(*) FROM {table} GROUP BY UserID, SearchPhrase LIMIT 10; -SELECT UserID, Minute(EventTime) AS m, SearchPhrase, count(*) FROM {table} GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT UserID FROM {table} WHERE UserID = 12345678901234567890; -SELECT count(*) FROM {table} WHERE URL LIKE '%metrika%'; -SELECT SearchPhrase, MAX(URL), count(*) FROM {table} WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, COUNT(DISTINCT UserID) FROM {table} WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10; -SELECT * FROM {table} WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10; -SELECT SearchPhrase FROM {table} WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10; -SELECT CounterID, avg(OCTET_LENGTH(URL)) AS l, count(*) FROM {table} WHERE URL != '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT SUBSTRB(SUBSTRB(Referer, POSITIONB(Referer, '//') + 2), 1, GREATEST(0, POSITIONB(SUBSTRB(Referer, POSITIONB(Referer, '//') + 2), '/') - 1)) AS key, avg(OCTET_LENGTH(Referer)) AS l, count(*) AS c, MAX(Referer) FROM {table} WHERE Referer != '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25; -SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM {table}; -SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM {table} WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM {table} GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10; -SELECT URL, count(*) FROM {table} GROUP BY URL ORDER BY count(*) DESC LIMIT 10; -SELECT 1, URL, count(*) FROM {table} GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10; -SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM {table} GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND URL != '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -SELECT Title, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT DontCountHits AND NOT Refresh AND Title != '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -SELECT URL, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000; -SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000; -SELECT URLHash, EventDate, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000; -SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-31') AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000; -SELECT TIME_SLICE(EventTime, 1, 'MINUTE') AS Minute, count(*) AS PageViews FROM {table} WHERE CounterID = 62 AND EventDate >= DATE('2013-07-01') AND EventDate <= DATE('2013-07-02') AND NOT Refresh AND NOT DontCountHits GROUP BY Minute ORDER BY Minute; diff --git a/cmake/autogenerated_versions.txt b/cmake/autogenerated_versions.txt index 210c927b2fd..edc7805150b 100644 --- a/cmake/autogenerated_versions.txt +++ b/cmake/autogenerated_versions.txt @@ -2,11 +2,11 @@ # NOTE: has nothing common with DBMS_TCP_PROTOCOL_VERSION, # only DBMS_TCP_PROTOCOL_VERSION should be incremented on protocol changes. -SET(VERSION_REVISION 54463) +SET(VERSION_REVISION 54465) SET(VERSION_MAJOR 22) -SET(VERSION_MINOR 6) +SET(VERSION_MINOR 8) SET(VERSION_PATCH 1) -SET(VERSION_GITHASH df0cb0620985eb5ec59760cc76f7736e5b6209bb) -SET(VERSION_DESCRIBE v22.6.1.1-testing) -SET(VERSION_STRING 22.6.1.1) +SET(VERSION_GITHASH f4f05ec786a8b8966dd0ea2a2d7e39a8c7db24f4) +SET(VERSION_DESCRIBE v22.8.1.1-testing) +SET(VERSION_STRING 22.8.1.1) # end of autochange diff --git a/cmake/cpu_features.cmake b/cmake/cpu_features.cmake index fd4cc51b6f9..f1f6dfb9a9c 100644 --- a/cmake/cpu_features.cmake +++ b/cmake/cpu_features.cmake @@ -16,9 +16,10 @@ option (ENABLE_SSE41 "Use SSE4.1 instructions on x86_64" 1) option (ENABLE_SSE42 "Use SSE4.2 instructions on x86_64" 1) option (ENABLE_PCLMULQDQ "Use pclmulqdq instructions on x86_64" 1) option (ENABLE_POPCNT "Use popcnt instructions on x86_64" 1) -option (ENABLE_AVX "Use AVX instructions on x86_64" 0) +option (ENABLE_AVX "Use AVX instructions on x86_64" 1) option (ENABLE_AVX2 "Use AVX2 instructions on x86_64" 0) option (ENABLE_AVX512 "Use AVX512 instructions on x86_64" 0) +option (ENABLE_AVX512_VBMI "Use AVX512_VBMI instruction on x86_64 (depends on ENABLE_AVX512)" 0) option (ENABLE_BMI "Use BMI instructions on x86_64" 0) option (ENABLE_AVX2_FOR_SPEC_OP "Use avx2 instructions for specific operations on x86_64" 0) option (ENABLE_AVX512_FOR_SPEC_OP "Use avx512 instructions for specific operations on x86_64" 0) @@ -29,7 +30,7 @@ if (ARCH_NATIVE) set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=native") elseif (ARCH_AARCH64) - set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=armv8-a+crc") + set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=armv8-a+crc+simd+crypto+dotprod+ssbs") elseif (ARCH_PPC64LE) # Note that gcc and clang have support for x86 SSE2 intrinsics when building for PowerPC @@ -151,6 +152,20 @@ elseif (ARCH_AMD64) set (COMPILER_FLAGS "${COMPILER_FLAGS} ${TEST_FLAG}") endif () + set (TEST_FLAG "-mavx512vbmi") + set (CMAKE_REQUIRED_FLAGS "${TEST_FLAG} -O0") + check_cxx_source_compiles(" + #include + int main() { + auto a = _mm512_permutexvar_epi8(__m512i(), __m512i()); + (void)a; + return 0; + } + " HAVE_AVX512_VBMI) + if (HAVE_AVX512 AND ENABLE_AVX512 AND HAVE_AVX512_VBMI AND ENABLE_AVX512_VBMI) + set (COMPILER_FLAGS "${COMPILER_FLAGS} ${TEST_FLAG}") + endif () + set (TEST_FLAG "-mbmi") set (CMAKE_REQUIRED_FLAGS "${TEST_FLAG} -O0") check_cxx_source_compiles(" diff --git a/cmake/limit_jobs.cmake b/cmake/limit_jobs.cmake index 96c6b75bc43..a8f105b8987 100644 --- a/cmake/limit_jobs.cmake +++ b/cmake/limit_jobs.cmake @@ -3,7 +3,7 @@ # set (MAX_LINKER_MEMORY 3500 CACHE INTERNAL "") # include (cmake/limit_jobs.cmake) -cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) # Not available under freebsd +cmake_host_system_information(RESULT TOTAL_PHYSICAL_MEMORY QUERY TOTAL_PHYSICAL_MEMORY) # Not available under freebsd cmake_host_system_information(RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES) # 1 if not set @@ -12,8 +12,8 @@ option(PARALLEL_COMPILE_JOBS "Maximum number of concurrent compilation jobs" "") # 1 if not set option(PARALLEL_LINK_JOBS "Maximum number of concurrent link jobs" "") -if (NOT PARALLEL_COMPILE_JOBS AND AVAILABLE_PHYSICAL_MEMORY AND MAX_COMPILER_MEMORY) - math(EXPR PARALLEL_COMPILE_JOBS ${AVAILABLE_PHYSICAL_MEMORY}/${MAX_COMPILER_MEMORY}) +if (NOT PARALLEL_COMPILE_JOBS AND TOTAL_PHYSICAL_MEMORY AND MAX_COMPILER_MEMORY) + math(EXPR PARALLEL_COMPILE_JOBS ${TOTAL_PHYSICAL_MEMORY}/${MAX_COMPILER_MEMORY}) if (NOT PARALLEL_COMPILE_JOBS) set (PARALLEL_COMPILE_JOBS 1) @@ -27,8 +27,8 @@ if (PARALLEL_COMPILE_JOBS AND (NOT NUMBER_OF_LOGICAL_CORES OR PARALLEL_COMPILE_J endif () -if (NOT PARALLEL_LINK_JOBS AND AVAILABLE_PHYSICAL_MEMORY AND MAX_LINKER_MEMORY) - math(EXPR PARALLEL_LINK_JOBS ${AVAILABLE_PHYSICAL_MEMORY}/${MAX_LINKER_MEMORY}) +if (NOT PARALLEL_LINK_JOBS AND TOTAL_PHYSICAL_MEMORY AND MAX_LINKER_MEMORY) + math(EXPR PARALLEL_LINK_JOBS ${TOTAL_PHYSICAL_MEMORY}/${MAX_LINKER_MEMORY}) if (NOT PARALLEL_LINK_JOBS) set (PARALLEL_LINK_JOBS 1) @@ -54,6 +54,6 @@ endif () if (PARALLEL_COMPILE_JOBS OR PARALLEL_LINK_JOBS) message(STATUS - "${CMAKE_CURRENT_SOURCE_DIR}: Have ${AVAILABLE_PHYSICAL_MEMORY} megabytes of memory. + "${CMAKE_CURRENT_SOURCE_DIR}: Have ${TOTAL_PHYSICAL_MEMORY} megabytes of memory. Limiting concurrent linkers jobs to ${PARALLEL_LINK_JOBS} and compiler jobs to ${PARALLEL_COMPILE_JOBS} (system has ${NUMBER_OF_LOGICAL_CORES} logical cores)") endif () diff --git a/cmake/linux/toolchain-riscv64.cmake b/cmake/linux/toolchain-riscv64.cmake index cb0a9482a72..02c3d0c97fc 100644 --- a/cmake/linux/toolchain-riscv64.cmake +++ b/cmake/linux/toolchain-riscv64.cmake @@ -21,6 +21,11 @@ set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}") set (CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=bfd") set (CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=bfd") +# Currently, lld does not work with the error: +# ld.lld: error: section size decrease is too large +# But GNU BinUtils work. +set (LINKER_NAME "riscv64-linux-gnu-ld.bfd" CACHE STRING "Linker name" FORCE) + set (HAS_PRE_1970_EXITCODE "0" CACHE STRING "Result from TRY_RUN" FORCE) set (HAS_PRE_1970_EXITCODE__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE) diff --git a/cmake/linux/toolchain-x86_64.cmake b/cmake/linux/toolchain-x86_64.cmake index 965ea024ab7..bdcfcfa013a 100644 --- a/cmake/linux/toolchain-x86_64.cmake +++ b/cmake/linux/toolchain-x86_64.cmake @@ -1,3 +1,19 @@ +if (_CLICKHOUSE_TOOLCHAIN_FILE_LOADED) + # During first run of cmake the toolchain file will be loaded twice, + # - /usr/share/cmake-3.23/Modules/CMakeDetermineSystem.cmake + # - /bld/CMakeFiles/3.23.2/CMakeSystem.cmake + # + # But once you already have non-empty cmake cache it will be loaded only + # once: + # - /bld/CMakeFiles/3.23.2/CMakeSystem.cmake + # + # This has no harm except for double load of toolchain will add + # --gcc-toolchain multiple times that will not allow ccache to reuse the + # cache. + return() +endif() +set (_CLICKHOUSE_TOOLCHAIN_FILE_LOADED ON) + set (CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) set (CMAKE_SYSTEM_NAME "Linux") diff --git a/cmake/strip_binary.cmake b/cmake/split_debug_symbols.cmake similarity index 84% rename from cmake/strip_binary.cmake rename to cmake/split_debug_symbols.cmake index be23a4c1c30..12182ed9c20 100644 --- a/cmake/strip_binary.cmake +++ b/cmake/split_debug_symbols.cmake @@ -1,4 +1,4 @@ -macro(clickhouse_strip_binary) +macro(clickhouse_split_debug_symbols) set(oneValueArgs TARGET DESTINATION_DIR BINARY_PATH) cmake_parse_arguments(STRIP "" "${oneValueArgs}" "" ${ARGN}) @@ -19,9 +19,12 @@ macro(clickhouse_strip_binary) COMMAND mkdir -p "${STRIP_DESTINATION_DIR}/lib/debug/bin" COMMAND mkdir -p "${STRIP_DESTINATION_DIR}/bin" COMMAND cp "${STRIP_BINARY_PATH}" "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" + # Splits debug symbols into separate file, leaves the binary untouched: COMMAND "${OBJCOPY_PATH}" --only-keep-debug --compress-debug-sections "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" "${STRIP_DESTINATION_DIR}/lib/debug/bin/${STRIP_TARGET}.debug" COMMAND chmod 0644 "${STRIP_DESTINATION_DIR}/lib/debug/bin/${STRIP_TARGET}.debug" - COMMAND "${STRIP_PATH}" --remove-section=.comment --remove-section=.note "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" + # Strips binary, sections '.note' & '.comment' are removed in line with Debian's stripping policy: www.debian.org/doc/debian-policy/ch-files.html, section '.clickhouse.hash' is needed for integrity check: + COMMAND "${STRIP_PATH}" --remove-section=.comment --remove-section=.note --keep-section=.clickhouse.hash "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" + # Associate stripped binary with debug symbols: COMMAND "${OBJCOPY_PATH}" --add-gnu-debuglink "${STRIP_DESTINATION_DIR}/lib/debug/bin/${STRIP_TARGET}.debug" "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" COMMENT "Stripping clickhouse binary" VERBATIM ) diff --git a/cmake/tools.cmake b/cmake/tools.cmake index 5e3acf10bd5..5b005a6f1f9 100644 --- a/cmake/tools.cmake +++ b/cmake/tools.cmake @@ -77,6 +77,7 @@ if (OS_LINUX AND NOT LINKER_NAME) if (NOT LINKER_NAME) if (GOLD_PATH) + message (WARNING "Linking with gold is not recommended. Please use lld.") if (COMPILER_GCC) set (LINKER_NAME "gold") else () @@ -111,7 +112,7 @@ endif() # Archiver if (COMPILER_GCC) - find_program (LLVM_AR_PATH NAMES "llvm-ar" "llvm-ar-13" "llvm-ar-12" "llvm-ar-11") + find_program (LLVM_AR_PATH NAMES "llvm-ar" "llvm-ar-14" "llvm-ar-13" "llvm-ar-12") else () find_program (LLVM_AR_PATH NAMES "llvm-ar-${COMPILER_VERSION_MAJOR}" "llvm-ar") endif () @@ -125,7 +126,7 @@ message(STATUS "Using archiver: ${CMAKE_AR}") # Ranlib if (COMPILER_GCC) - find_program (LLVM_RANLIB_PATH NAMES "llvm-ranlib" "llvm-ranlib-13" "llvm-ranlib-12" "llvm-ranlib-11") + find_program (LLVM_RANLIB_PATH NAMES "llvm-ranlib" "llvm-ranlib-14" "llvm-ranlib-13" "llvm-ranlib-12") else () find_program (LLVM_RANLIB_PATH NAMES "llvm-ranlib-${COMPILER_VERSION_MAJOR}" "llvm-ranlib") endif () @@ -139,7 +140,7 @@ message(STATUS "Using ranlib: ${CMAKE_RANLIB}") # Install Name Tool if (COMPILER_GCC) - find_program (LLVM_INSTALL_NAME_TOOL_PATH NAMES "llvm-install-name-tool" "llvm-install-name-tool-13" "llvm-install-name-tool-12" "llvm-install-name-tool-11") + find_program (LLVM_INSTALL_NAME_TOOL_PATH NAMES "llvm-install-name-tool" "llvm-install-name-tool-14" "llvm-install-name-tool-13" "llvm-install-name-tool-12") else () find_program (LLVM_INSTALL_NAME_TOOL_PATH NAMES "llvm-install-name-tool-${COMPILER_VERSION_MAJOR}" "llvm-install-name-tool") endif () @@ -153,7 +154,7 @@ message(STATUS "Using install-name-tool: ${CMAKE_INSTALL_NAME_TOOL}") # Objcopy if (COMPILER_GCC) - find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-13" "llvm-objcopy-12" "llvm-objcopy-11" "objcopy") + find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-14" "llvm-objcopy-13" "llvm-objcopy-12" "objcopy") else () find_program (OBJCOPY_PATH NAMES "llvm-objcopy-${COMPILER_VERSION_MAJOR}" "llvm-objcopy" "objcopy") endif () @@ -167,7 +168,7 @@ endif () # Strip if (COMPILER_GCC) - find_program (STRIP_PATH NAMES "llvm-strip" "llvm-strip-13" "llvm-strip-12" "llvm-strip-11" "strip") + find_program (STRIP_PATH NAMES "llvm-strip" "llvm-strip-14" "llvm-strip-13" "llvm-strip-12" "strip") else () find_program (STRIP_PATH NAMES "llvm-strip-${COMPILER_VERSION_MAJOR}" "llvm-strip" "strip") endif () @@ -177,3 +178,17 @@ if (STRIP_PATH) else () message (FATAL_ERROR "Cannot find strip.") endif () + +if (OS_DARWIN AND NOT CMAKE_TOOLCHAIN_FILE) + # utils/list-licenses/list-licenses.sh (which generates system table system.licenses) needs the GNU versions of find and grep. These are + # not available out-of-the-box on Mac. As a special case, Darwin builds in CI are cross-compiled from x86 Linux where the GNU userland is + # available. + find_program(GFIND_PATH NAMES "gfind") + if (NOT GFIND_PATH) + message (FATAL_ERROR "GNU find not found. You can install it with 'brew install findutils'.") + endif() + find_program(GGREP_PATH NAMES "ggrep") + if (NOT GGREP_PATH) + message (FATAL_ERROR "GNU grep not found. You can install it with 'brew install grep'.") + endif() +endif () diff --git a/cmake/warnings.cmake b/cmake/warnings.cmake index 4b8f83df090..042935a835f 100644 --- a/cmake/warnings.cmake +++ b/cmake/warnings.cmake @@ -19,18 +19,13 @@ if (COMPILER_CLANG) # Add some warnings that are not available even with -Wall -Wextra -Wpedantic. # We want to get everything out of the compiler for code quality. add_warning(everything) - add_warning(pedantic) - no_warning(vla-extension) no_warning(zero-length-array) - no_warning(c11-extensions) - no_warning(unused-command-line-argument) no_warning(c++98-compat-pedantic) no_warning(c++98-compat) - no_warning(c99-extensions) + no_warning(c++20-compat) # Use constinit in C++20 without warnings no_warning(conversion) no_warning(ctad-maybe-unsupported) # clang 9+, linux-only - no_warning(deprecated-dynamic-exception-spec) no_warning(disabled-macro-expansion) no_warning(documentation-unknown-command) no_warning(double-promotion) @@ -39,18 +34,15 @@ if (COMPILER_CLANG) no_warning(global-constructors) no_warning(missing-prototypes) no_warning(missing-variable-declarations) - no_warning(nested-anon-types) - no_warning(packed) no_warning(padded) - no_warning(return-std-move-in-c++11) # clang 7+ - no_warning(shift-sign-overflow) - no_warning(sign-conversion) no_warning(switch-enum) no_warning(undefined-func-template) no_warning(unused-template) no_warning(vla) no_warning(weak-template-vtables) no_warning(weak-vtables) + no_warning(thread-safety-negative) # experimental flag, too many false positives + no_warning(enum-constexpr-conversion) # breaks magic-enum library in clang-16 # TODO Enable conversion, sign-conversion, double-promotion warnings. elseif (COMPILER_GCC) # Add compiler options only to c++ compiler diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt index 943e0e0ebc1..08b91c1b81c 100644 --- a/contrib/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -37,6 +37,8 @@ function(add_contrib cmake_folder) file(GLOB contrib_files "${base_folder}/*") if (NOT contrib_files) + # Checking out *all* submodules takes > 5 min. Therefore, the smoke build ("FastTest") in CI initializes only the set of + # submodules minimally needed for a build and we cannot assume here that all submodules are populated. message(STATUS "submodule ${base_folder} is missing or empty. to fix try run:") message(STATUS " git submodule update --init") return() @@ -56,7 +58,7 @@ add_contrib (boost-cmake boost) add_contrib (cctz-cmake cctz) add_contrib (consistent-hashing) add_contrib (dragonbox-cmake dragonbox) -add_contrib (hyperscan-cmake hyperscan) +add_contrib (vectorscan-cmake vectorscan) add_contrib (jemalloc-cmake jemalloc) add_contrib (libcpuid-cmake libcpuid) add_contrib (libdivide) @@ -132,6 +134,7 @@ add_contrib (krb5-cmake krb5) add_contrib (cyrus-sasl-cmake cyrus-sasl) # for krb5 add_contrib (libgsasl-cmake libgsasl) # requires krb5 add_contrib (librdkafka-cmake librdkafka) # requires: libgsasl +add_contrib (nats-io-cmake nats-io) add_contrib (libhdfs3-cmake libhdfs3) # requires: protobuf, krb5 add_contrib (hive-metastore-cmake hive-metastore) # requires: thrift/avro/arrow/libhdfs3 add_contrib (cppkafka-cmake cppkafka) @@ -153,6 +156,8 @@ endif() add_contrib (sqlite-cmake sqlite-amalgamation) add_contrib (s2geometry-cmake s2geometry) +add_contrib (c-ares-cmake c-ares) +add_contrib (qpl-cmake qpl) # Put all targets defined here and in subdirectories under "contrib/" folders in GUI-based IDEs. # Some of third-party projects may override CMAKE_FOLDER or FOLDER property of their targets, so they would not appear diff --git a/contrib/NuRaft b/contrib/NuRaft index 24a13f15cf0..1b0af760b35 160000 --- a/contrib/NuRaft +++ b/contrib/NuRaft @@ -1 +1 @@ -Subproject commit 24a13f15cf0838b93f3b1beb62ed010dffdb2117 +Subproject commit 1b0af760b3506b8e35b50cb7df098cbad5064ff2 diff --git a/contrib/abseil-cpp-cmake/CMakeLists.txt b/contrib/abseil-cpp-cmake/CMakeLists.txt index 4fb02327d17..4c31ecfc599 100644 --- a/contrib/abseil-cpp-cmake/CMakeLists.txt +++ b/contrib/abseil-cpp-cmake/CMakeLists.txt @@ -1,7 +1,4 @@ set(ABSL_ROOT_DIR "${ClickHouse_SOURCE_DIR}/contrib/abseil-cpp") -if(NOT EXISTS "${ABSL_ROOT_DIR}/CMakeLists.txt") - message(FATAL_ERROR " submodule third_party/abseil-cpp is missing. To fix try run: \n git submodule update --init --recursive") -endif() set(BUILD_TESTING OFF) set(ABSL_PROPAGATE_CXX_STD ON) add_subdirectory("${ABSL_ROOT_DIR}" "${ClickHouse_BINARY_DIR}/contrib/abseil-cpp") diff --git a/contrib/amqpcpp-cmake/CMakeLists.txt b/contrib/amqpcpp-cmake/CMakeLists.txt index 6e655d3c255..6f6a0188e6f 100644 --- a/contrib/amqpcpp-cmake/CMakeLists.txt +++ b/contrib/amqpcpp-cmake/CMakeLists.txt @@ -5,6 +5,7 @@ if (NOT ENABLE_AMQPCPP) return() endif() +# can be removed once libuv build on MacOS with GCC is possible if (NOT TARGET ch_contrib::uv) message(STATUS "Not using AMQP-CPP because libuv is disabled") return() @@ -37,21 +38,6 @@ set (SRCS add_library(_amqp-cpp ${SRCS}) -target_compile_options (_amqp-cpp - PRIVATE - -Wno-old-style-cast - -Wno-inconsistent-missing-destructor-override - -Wno-deprecated - -Wno-unused-parameter - -Wno-shadow - -Wno-tautological-type-limit-compare - -Wno-extra-semi -# NOTE: disable all warnings at last because the warning: - # "conversion function converting 'XXX' to itself will never be used" - # doesn't have it's own diagnostic flag yet. - -w -) - target_include_directories (_amqp-cpp SYSTEM BEFORE PUBLIC "${LIBRARY_DIR}/include" "${LIBRARY_DIR}") target_link_libraries (_amqp-cpp PUBLIC OpenSSL::Crypto OpenSSL::SSL ch_contrib::uv) add_library (ch_contrib::amqp_cpp ALIAS _amqp-cpp) diff --git a/contrib/arrow b/contrib/arrow index 6f274b737c6..450a5638704 160000 --- a/contrib/arrow +++ b/contrib/arrow @@ -1 +1 @@ -Subproject commit 6f274b737c66a6c39bab0d3bdf6cf7d139ef06f5 +Subproject commit 450a5638704386356f8e520080468fc9bc8bcaf8 diff --git a/contrib/arrow-cmake/CMakeLists.txt b/contrib/arrow-cmake/CMakeLists.txt index a4574493440..c289c88ef7b 100644 --- a/contrib/arrow-cmake/CMakeLists.txt +++ b/contrib/arrow-cmake/CMakeLists.txt @@ -20,7 +20,7 @@ endif() option (ENABLE_PARQUET "Enable parquet" ${ENABLE_PARQUET_DEFAULT}) if (NOT ENABLE_PARQUET) - message(STATUS "Building without Parquet support") + message(STATUS "Not using parquet") return() endif() @@ -462,5 +462,7 @@ foreach (TOOL ${PARQUET_TOOLS}) endforeach () # The library is large - avoid bloat. -target_compile_options (_arrow PRIVATE -g0) -target_compile_options (_parquet PRIVATE -g0) +if (OMIT_HEAVY_DEBUG_SYMBOLS) + target_compile_options (_arrow PRIVATE -g0) + target_compile_options (_parquet PRIVATE -g0) +endif() diff --git a/contrib/avro b/contrib/avro index e43c46e87fd..7832659ec98 160000 --- a/contrib/avro +++ b/contrib/avro @@ -1 +1 @@ -Subproject commit e43c46e87fd32eafdc09471e95344555454c5ef8 +Subproject commit 7832659ec986075d560f930c288e973c64679552 diff --git a/contrib/avro-cmake/CMakeLists.txt b/contrib/avro-cmake/CMakeLists.txt index c5bda41782d..25474650d0e 100644 --- a/contrib/avro-cmake/CMakeLists.txt +++ b/contrib/avro-cmake/CMakeLists.txt @@ -60,14 +60,6 @@ target_compile_definitions (_avrocpp PUBLIC SNAPPY_CODEC_AVAILABLE) target_include_directories (_avrocpp PRIVATE ${SNAPPY_INCLUDE_DIR}) target_link_libraries (_avrocpp PRIVATE ch_contrib::snappy) -if (COMPILER_GCC) - set (SUPPRESS_WARNINGS -Wno-non-virtual-dtor) -elseif (COMPILER_CLANG) - set (SUPPRESS_WARNINGS -Wno-non-virtual-dtor) -endif () - -target_compile_options(_avrocpp PRIVATE ${SUPPRESS_WARNINGS}) - # create a symlink to include headers with set(AVRO_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/include") ADD_CUSTOM_TARGET(avro_symlink_headers ALL diff --git a/contrib/aws-s3-cmake/CMakeLists.txt b/contrib/aws-s3-cmake/CMakeLists.txt index de6486e58fd..eabed601722 100644 --- a/contrib/aws-s3-cmake/CMakeLists.txt +++ b/contrib/aws-s3-cmake/CMakeLists.txt @@ -114,7 +114,9 @@ endif() target_link_libraries(_aws_s3 PRIVATE _aws_s3_checksums) # The library is large - avoid bloat. -target_compile_options (_aws_s3 PRIVATE -g0) -target_compile_options (_aws_s3_checksums PRIVATE -g0) +if (OMIT_HEAVY_DEBUG_SYMBOLS) + target_compile_options (_aws_s3 PRIVATE -g0) + target_compile_options (_aws_s3_checksums PRIVATE -g0) +endif() add_library(ch_contrib::aws_s3 ALIAS _aws_s3) diff --git a/contrib/azure b/contrib/azure index ac4b763d4ca..ef75afc075f 160000 --- a/contrib/azure +++ b/contrib/azure @@ -1 +1 @@ -Subproject commit ac4b763d4ca40122275f1497cbdc5451337461d9 +Subproject commit ef75afc075fc71fbcd8fe28dcda3794ae265fd1c diff --git a/contrib/azure-cmake/CMakeLists.txt b/contrib/azure-cmake/CMakeLists.txt index 031d8dc9a0b..1e2a4c97824 100644 --- a/contrib/azure-cmake/CMakeLists.txt +++ b/contrib/azure-cmake/CMakeLists.txt @@ -1,6 +1,6 @@ option (ENABLE_AZURE_BLOB_STORAGE "Enable Azure blob storage" ${ENABLE_LIBRARIES}) -if (NOT ENABLE_AZURE_BLOB_STORAGE) +if (NOT ENABLE_AZURE_BLOB_STORAGE OR BUILD_STANDALONE_KEEPER OR OS_FREEBSD) message(STATUS "Not using Azure blob storage") return() endif() @@ -52,20 +52,6 @@ include("${AZURE_DIR}/cmake-modules/AzureTransportAdapters.cmake") add_library(_azure_sdk ${AZURE_SDK_UNIFIED_SRC}) -if (COMPILER_CLANG) - target_compile_options(_azure_sdk PRIVATE - -Wno-deprecated-copy-dtor - -Wno-extra-semi - -Wno-suggest-destructor-override - -Wno-inconsistent-missing-destructor-override - -Wno-error=unknown-warning-option - ) - - if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13) - target_compile_options(_azure_sdk PRIVATE -Wno-reserved-identifier) - endif() -endif() - # Originally, on Windows azure-core is built with bcrypt and crypt32 by default if (TARGET OpenSSL::SSL) target_link_libraries(_azure_sdk PRIVATE OpenSSL::Crypto OpenSSL::SSL) diff --git a/contrib/boost b/contrib/boost index c0807e83f28..03d9ec9cd15 160000 --- a/contrib/boost +++ b/contrib/boost @@ -1 +1 @@ -Subproject commit c0807e83f2824e8dd67a15b355496a9b784cdcd5 +Subproject commit 03d9ec9cd159d14bd0b17c05138098451a1ea606 diff --git a/contrib/boringssl b/contrib/boringssl index 9c0715ce459..8061ac62d67 160000 --- a/contrib/boringssl +++ b/contrib/boringssl @@ -1 +1 @@ -Subproject commit 9c0715ce459de443e7b08f270a518c1702f1a380 +Subproject commit 8061ac62d67953e61b793042e33baf1352e67510 diff --git a/contrib/boringssl-cmake/CMakeLists.txt b/contrib/boringssl-cmake/CMakeLists.txt index 180fb3874c1..9a1f667f52e 100644 --- a/contrib/boringssl-cmake/CMakeLists.txt +++ b/contrib/boringssl-cmake/CMakeLists.txt @@ -1,7 +1,12 @@ # Needed for: # - securely connecting to an external server, e.g. clickhouse-client --host ... --secure # - lots of thirdparty libraries -option(ENABLE_SSL "Enable ssl" ${ENABLE_LIBRARIES}) + +# Actually, so many 3rd party libraries + unit tests need SSL that we cannot disable it +# without breaking the build ... +option(ENABLE_SSL "Enable ssl" ON) # breaks if OFF +# TODO: Making SSL dependent on ENABLE_LIBRARIES is desirable but needs fixing dependent libs + tests. +# option(ENABLE_SSL "Enable ssl" ${ENABLE_LIBRARIES}) if(NOT ENABLE_SSL) message(STATUS "Not using openssl") @@ -154,14 +159,12 @@ set( ios-aarch64/crypto/fipsmodule/sha512-armv8.S ios-aarch64/crypto/fipsmodule/vpaes-armv8.S ios-aarch64/crypto/test/trampoline-armv8.S - ios-aarch64/crypto/third_party/sike/asm/fp-armv8.S ) set( CRYPTO_ios_arm_SOURCES ios-arm/crypto/chacha/chacha-armv4.S - ios-arm/crypto/fipsmodule/aes-armv4.S ios-arm/crypto/fipsmodule/aesv8-armx32.S ios-arm/crypto/fipsmodule/armv4-mont.S ios-arm/crypto/fipsmodule/bsaes-armv7.S @@ -187,14 +190,12 @@ set( linux-aarch64/crypto/fipsmodule/sha512-armv8.S linux-aarch64/crypto/fipsmodule/vpaes-armv8.S linux-aarch64/crypto/test/trampoline-armv8.S - linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S ) set( CRYPTO_linux_arm_SOURCES linux-arm/crypto/chacha/chacha-armv4.S - linux-arm/crypto/fipsmodule/aes-armv4.S linux-arm/crypto/fipsmodule/aesv8-armx32.S linux-arm/crypto/fipsmodule/armv4-mont.S linux-arm/crypto/fipsmodule/bsaes-armv7.S @@ -214,13 +215,13 @@ set( linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S + linux-ppc64le/crypto/test/trampoline-ppc.S ) set( CRYPTO_linux_x86_SOURCES linux-x86/crypto/chacha/chacha-x86.S - linux-x86/crypto/fipsmodule/aes-586.S linux-x86/crypto/fipsmodule/aesni-x86.S linux-x86/crypto/fipsmodule/bn-586.S linux-x86/crypto/fipsmodule/co-586.S @@ -241,7 +242,6 @@ set( linux-x86_64/crypto/chacha/chacha-x86_64.S linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S - linux-x86_64/crypto/fipsmodule/aes-x86_64.S linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S linux-x86_64/crypto/fipsmodule/aesni-x86_64.S linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S @@ -258,7 +258,6 @@ set( linux-x86_64/crypto/fipsmodule/x86_64-mont.S linux-x86_64/crypto/fipsmodule/x86_64-mont5.S linux-x86_64/crypto/test/trampoline-x86_64.S - linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S "${BORINGSSL_SOURCE_DIR}/crypto/hrss/asm/poly_rq_mul.S" ) @@ -266,7 +265,6 @@ set( CRYPTO_mac_x86_SOURCES mac-x86/crypto/chacha/chacha-x86.S - mac-x86/crypto/fipsmodule/aes-586.S mac-x86/crypto/fipsmodule/aesni-x86.S mac-x86/crypto/fipsmodule/bn-586.S mac-x86/crypto/fipsmodule/co-586.S @@ -287,7 +285,6 @@ set( mac-x86_64/crypto/chacha/chacha-x86_64.S mac-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S mac-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S - mac-x86_64/crypto/fipsmodule/aes-x86_64.S mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S mac-x86_64/crypto/fipsmodule/aesni-x86_64.S mac-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S @@ -304,7 +301,6 @@ set( mac-x86_64/crypto/fipsmodule/x86_64-mont.S mac-x86_64/crypto/fipsmodule/x86_64-mont5.S mac-x86_64/crypto/test/trampoline-x86_64.S - mac-x86_64/crypto/third_party/sike/asm/fp-x86_64.S ) set( @@ -326,7 +322,6 @@ set( CRYPTO_win_x86_SOURCES win-x86/crypto/chacha/chacha-x86.asm - win-x86/crypto/fipsmodule/aes-586.asm win-x86/crypto/fipsmodule/aesni-x86.asm win-x86/crypto/fipsmodule/bn-586.asm win-x86/crypto/fipsmodule/co-586.asm @@ -347,7 +342,6 @@ set( win-x86_64/crypto/chacha/chacha-x86_64.asm win-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.asm win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm - win-x86_64/crypto/fipsmodule/aes-x86_64.asm win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm win-x86_64/crypto/fipsmodule/aesni-x86_64.asm win-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.asm @@ -364,7 +358,6 @@ set( win-x86_64/crypto/fipsmodule/x86_64-mont.asm win-x86_64/crypto/fipsmodule/x86_64-mont5.asm win-x86_64/crypto/test/trampoline-x86_64.asm - win-x86_64/crypto/third_party/sike/asm/fp-x86_64.asm ) if(APPLE AND ARCH STREQUAL "aarch64") @@ -396,6 +389,7 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_object.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_octet.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_print.c" + "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_strex.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_strnid.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_time.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_type.c" @@ -425,6 +419,7 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/bio/printf.c" "${BORINGSSL_SOURCE_DIR}/crypto/bio/socket.c" "${BORINGSSL_SOURCE_DIR}/crypto/bio/socket_helper.c" + "${BORINGSSL_SOURCE_DIR}/crypto/blake2/blake2.c" "${BORINGSSL_SOURCE_DIR}/crypto/bn_extra/bn_asn1.c" "${BORINGSSL_SOURCE_DIR}/crypto/bn_extra/convert.c" "${BORINGSSL_SOURCE_DIR}/crypto/buf/buf.c" @@ -449,20 +444,22 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/conf/conf.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-aarch64-fuchsia.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-aarch64-linux.c" + "${BORINGSSL_SOURCE_DIR}/crypto/cpu-aarch64-win.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-arm-linux.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-arm.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-intel.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-ppc64le.c" "${BORINGSSL_SOURCE_DIR}/crypto/crypto.c" + "${BORINGSSL_SOURCE_DIR}/crypto/curve25519/curve25519.c" "${BORINGSSL_SOURCE_DIR}/crypto/curve25519/spake25519.c" - "${BORINGSSL_SOURCE_DIR}/crypto/dh/check.c" - "${BORINGSSL_SOURCE_DIR}/crypto/dh/dh.c" - "${BORINGSSL_SOURCE_DIR}/crypto/dh/dh_asn1.c" - "${BORINGSSL_SOURCE_DIR}/crypto/dh/params.c" + "${BORINGSSL_SOURCE_DIR}/crypto/dh_extra/dh_asn1.c" + "${BORINGSSL_SOURCE_DIR}/crypto/dh_extra/params.c" "${BORINGSSL_SOURCE_DIR}/crypto/digest_extra/digest_extra.c" "${BORINGSSL_SOURCE_DIR}/crypto/dsa/dsa.c" "${BORINGSSL_SOURCE_DIR}/crypto/dsa/dsa_asn1.c" "${BORINGSSL_SOURCE_DIR}/crypto/ec_extra/ec_asn1.c" + "${BORINGSSL_SOURCE_DIR}/crypto/ec_extra/ec_derive.c" + "${BORINGSSL_SOURCE_DIR}/crypto/ec_extra/hash_to_curve.c" "${BORINGSSL_SOURCE_DIR}/crypto/ecdh_extra/ecdh_extra.c" "${BORINGSSL_SOURCE_DIR}/crypto/ecdsa_extra/ecdsa_asn1.c" "${BORINGSSL_SOURCE_DIR}/crypto/engine/engine.c" @@ -487,8 +484,8 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/ex_data.c" "${BORINGSSL_SOURCE_DIR}/crypto/fipsmodule/bcm.c" "${BORINGSSL_SOURCE_DIR}/crypto/fipsmodule/fips_shared_support.c" - "${BORINGSSL_SOURCE_DIR}/crypto/fipsmodule/is_fips.c" "${BORINGSSL_SOURCE_DIR}/crypto/hkdf/hkdf.c" + "${BORINGSSL_SOURCE_DIR}/crypto/hpke/hpke.c" "${BORINGSSL_SOURCE_DIR}/crypto/hrss/hrss.c" "${BORINGSSL_SOURCE_DIR}/crypto/lhash/lhash.c" "${BORINGSSL_SOURCE_DIR}/crypto/mem.c" @@ -514,6 +511,7 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/deterministic.c" "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/forkunsafe.c" "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/fuchsia.c" + "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/passive.c" "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/rand_extra.c" "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/windows.c" "${BORINGSSL_SOURCE_DIR}/crypto/rc4/rc4.c" @@ -527,15 +525,18 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/thread_none.c" "${BORINGSSL_SOURCE_DIR}/crypto/thread_pthread.c" "${BORINGSSL_SOURCE_DIR}/crypto/thread_win.c" + "${BORINGSSL_SOURCE_DIR}/crypto/trust_token/pmbtoken.c" + "${BORINGSSL_SOURCE_DIR}/crypto/trust_token/trust_token.c" + "${BORINGSSL_SOURCE_DIR}/crypto/trust_token/voprf.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/a_digest.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/a_sign.c" - "${BORINGSSL_SOURCE_DIR}/crypto/x509/a_strex.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/a_verify.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/algorithm.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/asn1_gen.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/by_dir.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/by_file.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/i2d_pr.c" + "${BORINGSSL_SOURCE_DIR}/crypto/x509/name_print.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/rsa_pss.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/t_crl.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/t_req.c" @@ -601,19 +602,11 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pci.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pcia.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pcons.c" - "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pku.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pmaps.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_prn.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_purp.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_skey.c" - "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_sxnet.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_utl.c" - "${BORINGSSL_SOURCE_DIR}/third_party/fiat/curve25519.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/asm/fp_generic.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/curve_params.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/fpx.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/isogeny.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/sike.c" ) add_library( @@ -626,6 +619,8 @@ add_library( "${BORINGSSL_SOURCE_DIR}/ssl/d1_srtp.cc" "${BORINGSSL_SOURCE_DIR}/ssl/dtls_method.cc" "${BORINGSSL_SOURCE_DIR}/ssl/dtls_record.cc" + "${BORINGSSL_SOURCE_DIR}/ssl/encrypted_client_hello.cc" + "${BORINGSSL_SOURCE_DIR}/ssl/extensions.cc" "${BORINGSSL_SOURCE_DIR}/ssl/handoff.cc" "${BORINGSSL_SOURCE_DIR}/ssl/handshake.cc" "${BORINGSSL_SOURCE_DIR}/ssl/handshake_client.cc" @@ -648,7 +643,6 @@ add_library( "${BORINGSSL_SOURCE_DIR}/ssl/ssl_versions.cc" "${BORINGSSL_SOURCE_DIR}/ssl/ssl_x509.cc" "${BORINGSSL_SOURCE_DIR}/ssl/t1_enc.cc" - "${BORINGSSL_SOURCE_DIR}/ssl/t1_lib.cc" "${BORINGSSL_SOURCE_DIR}/ssl/tls13_both.cc" "${BORINGSSL_SOURCE_DIR}/ssl/tls13_client.cc" "${BORINGSSL_SOURCE_DIR}/ssl/tls13_enc.cc" @@ -669,7 +663,9 @@ add_executable( "${BORINGSSL_SOURCE_DIR}/tool/client.cc" "${BORINGSSL_SOURCE_DIR}/tool/const.cc" "${BORINGSSL_SOURCE_DIR}/tool/digest.cc" + "${BORINGSSL_SOURCE_DIR}/tool/fd.cc" "${BORINGSSL_SOURCE_DIR}/tool/file.cc" + "${BORINGSSL_SOURCE_DIR}/tool/generate_ech.cc" "${BORINGSSL_SOURCE_DIR}/tool/generate_ed25519.cc" "${BORINGSSL_SOURCE_DIR}/tool/genrsa.cc" "${BORINGSSL_SOURCE_DIR}/tool/pkcs12.cc" @@ -700,3 +696,109 @@ target_compile_options(_crypto PRIVATE -Wno-gnu-anonymous-struct) add_library(OpenSSL::Crypto ALIAS _crypto) add_library(OpenSSL::SSL ALIAS _ssl) + +# Helper function used in the populate_openssl_vars function below +function(from_hex HEX DEC) + string(TOUPPER "${HEX}" HEX) + set(_res 0) + string(LENGTH "${HEX}" _strlen) + + while (_strlen GREATER 0) + math(EXPR _res "${_res} * 16") + string(SUBSTRING "${HEX}" 0 1 NIBBLE) + string(SUBSTRING "${HEX}" 1 -1 HEX) + if (NIBBLE STREQUAL "A") + math(EXPR _res "${_res} + 10") + elseif (NIBBLE STREQUAL "B") + math(EXPR _res "${_res} + 11") + elseif (NIBBLE STREQUAL "C") + math(EXPR _res "${_res} + 12") + elseif (NIBBLE STREQUAL "D") + math(EXPR _res "${_res} + 13") + elseif (NIBBLE STREQUAL "E") + math(EXPR _res "${_res} + 14") + elseif (NIBBLE STREQUAL "F") + math(EXPR _res "${_res} + 15") + else () + math(EXPR _res "${_res} + ${NIBBLE}") + endif () + + string(LENGTH "${HEX}" _strlen) + endwhile () + + set(${DEC} ${_res} PARENT_SCOPE) +endfunction() + +# ClickHouse uses BoringSSL which is a fork of OpenSSL. +# This populates CMAKE var OPENSSL_VERSION from the OPENSSL_VERSION_NUMBER defined +# in contrib/boringssl/include/openssl/base.h. It also sets the CMAKE var OPENSSL_IS_BORING_SSL +# if it's defined in the file. Both OPENSSL_VERSION and OPENSSL_IS_BORING_SSL variables will be +# used to populate flags in the `system.build_options` table for more context on ssl version used. +# This cmake script is adopted from FindOpenSSL cmake module and slightly modified for this use-case . +if (EXISTS "${BORINGSSL_SOURCE_DIR}/include/openssl/base.h") + file(STRINGS "${BORINGSSL_SOURCE_DIR}/include/openssl/base.h" openssl_version_str + REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*") + + file(STRINGS "${BORINGSSL_SOURCE_DIR}/include/openssl/base.h" openssl_is_boringssl + REGEX "^#[\t ]*define[\t ]+OPENSSL_IS_BORINGSSL.*") + + # Set to true if OPENSSL_IS_BORING_SSL is defined + if (openssl_is_boringssl) + set(OPENSSL_IS_BORING_SSL 1) + endif () + + # If openssl_version_str is defined extrapolate and set OPENSSL_VERSION + if (openssl_version_str) + # The version number is encoded as 0xMNNFFPPS: major minor fix patch status + # The status gives if this is a developer or prerelease and is ignored here. + # Major, minor, and fix directly translate into the version numbers shown in + # the string. The patch field translates to the single character suffix that + # indicates the bug fix state, which 00 -> nothing, 01 -> a, 02 -> b and so + # on. + + string(REGEX REPLACE "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F]).*$" + "\\1;\\2;\\3;\\4;\\5" OPENSSL_VERSION_LIST "${openssl_version_str}") + list(GET OPENSSL_VERSION_LIST 0 OPENSSL_VERSION_MAJOR) + list(GET OPENSSL_VERSION_LIST 1 OPENSSL_VERSION_MINOR) + from_hex("${OPENSSL_VERSION_MINOR}" OPENSSL_VERSION_MINOR) + list(GET OPENSSL_VERSION_LIST 2 OPENSSL_VERSION_FIX) + from_hex("${OPENSSL_VERSION_FIX}" OPENSSL_VERSION_FIX) + list(GET OPENSSL_VERSION_LIST 3 OPENSSL_VERSION_PATCH) + + if (NOT OPENSSL_VERSION_PATCH STREQUAL "00") + from_hex("${OPENSSL_VERSION_PATCH}" _tmp) + # 96 is the ASCII code of 'a' minus 1 + math(EXPR OPENSSL_VERSION_PATCH_ASCII "${_tmp} + 96") + unset(_tmp) + # Once anyone knows how OpenSSL would call the patch versions beyond 'z' + # this should be updated to handle that, too. This has not happened yet + # so it is simply ignored here for now. + string(ASCII "${OPENSSL_VERSION_PATCH_ASCII}" OPENSSL_VERSION_PATCH_STRING) + endif () + + set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}") + else () + # Since OpenSSL 3.0.0, the new version format is MAJOR.MINOR.PATCH and + # a new OPENSSL_VERSION_STR macro contains exactly that + file(STRINGS "${BORINGSSL_SOURCE_DIR}/include/openssl/base.h" OPENSSL_VERSION_STR + REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_STR[\t ]+\"([0-9])+\\.([0-9])+\\.([0-9])+\".*") + string(REGEX REPLACE "^.*OPENSSL_VERSION_STR[\t ]+\"([0-9]+\\.[0-9]+\\.[0-9]+)\".*$" + "\\1" OPENSSL_VERSION_STR "${OPENSSL_VERSION_STR}") + + set(OPENSSL_VERSION "${OPENSSL_VERSION_STR}") + + # Setting OPENSSL_VERSION_MAJOR OPENSSL_VERSION_MINOR and OPENSSL_VERSION_FIX + string(REGEX MATCHALL "([0-9])+" OPENSSL_VERSION_NUMBER "${OPENSSL_VERSION}") + list(POP_FRONT OPENSSL_VERSION_NUMBER + OPENSSL_VERSION_MAJOR + OPENSSL_VERSION_MINOR + OPENSSL_VERSION_FIX) + + unset(OPENSSL_VERSION_NUMBER) + unset(OPENSSL_VERSION_STR) + endif () +endif () + +# Set CMAKE variables so that they can be referenced properly from everywhere +set(OPENSSL_VERSION "${OPENSSL_VERSION}" CACHE INTERNAL "") +set(OPENSSL_IS_BORING_SSL "${OPENSSL_IS_BORING_SSL}" CACHE INTERNAL 0) diff --git a/contrib/boringssl-cmake/crypto_test_data.cc b/contrib/boringssl-cmake/crypto_test_data.cc index 91675df55dd..c7f75386825 100644 --- a/contrib/boringssl-cmake/crypto_test_data.cc +++ b/contrib/boringssl-cmake/crypto_test_data.cc @@ -22,6 +22,7 @@ * crypto/cipher_extra/test/aes_128_ctr_hmac_sha256.txt \ * crypto/cipher_extra/test/aes_128_gcm_siv_tests.txt \ * crypto/cipher_extra/test/aes_128_gcm_tests.txt \ + * crypto/cipher_extra/test/aes_192_gcm_tests.txt \ * crypto/cipher_extra/test/aes_256_cbc_sha1_tls_implicit_iv_tests.txt \ * crypto/cipher_extra/test/aes_256_cbc_sha1_tls_tests.txt \ * crypto/cipher_extra/test/aes_256_cbc_sha256_tls_tests.txt \ @@ -54,6 +55,7 @@ * crypto/evp/scrypt_tests.txt \ * crypto/fipsmodule/aes/aes_tests.txt \ * crypto/fipsmodule/bn/bn_tests.txt \ + * crypto/fipsmodule/bn/miller_rabin_tests.txt \ * crypto/fipsmodule/ec/ec_scalar_base_mult_tests.txt \ * crypto/fipsmodule/ec/p256-x86_64_tests.txt \ * crypto/fipsmodule/ecdsa/ecdsa_sign_tests.txt \ @@ -61,15 +63,46 @@ * crypto/fipsmodule/modes/gcm_tests.txt \ * crypto/fipsmodule/rand/ctrdrbg_vectors.txt \ * crypto/hmac_extra/hmac_tests.txt \ + * crypto/hpke/hpke_test_vectors.txt \ * crypto/poly1305/poly1305_tests.txt \ * crypto/siphash/siphash_tests.txt \ - * crypto/x509/many_constraints.pem \ - * crypto/x509/many_names1.pem \ - * crypto/x509/many_names2.pem \ - * crypto/x509/many_names3.pem \ - * crypto/x509/some_names1.pem \ - * crypto/x509/some_names2.pem \ - * crypto/x509/some_names3.pem \ + * crypto/x509/test/basic_constraints_ca.pem \ + * crypto/x509/test/basic_constraints_ca_pathlen_0.pem \ + * crypto/x509/test/basic_constraints_ca_pathlen_1.pem \ + * crypto/x509/test/basic_constraints_ca_pathlen_10.pem \ + * crypto/x509/test/basic_constraints_leaf.pem \ + * crypto/x509/test/basic_constraints_none.pem \ + * crypto/x509/test/invalid_extension_intermediate.pem \ + * crypto/x509/test/invalid_extension_intermediate_authority_key_identifier.pem \ + * crypto/x509/test/invalid_extension_intermediate_basic_constraints.pem \ + * crypto/x509/test/invalid_extension_intermediate_ext_key_usage.pem \ + * crypto/x509/test/invalid_extension_intermediate_key_usage.pem \ + * crypto/x509/test/invalid_extension_intermediate_name_constraints.pem \ + * crypto/x509/test/invalid_extension_intermediate_subject_alt_name.pem \ + * crypto/x509/test/invalid_extension_intermediate_subject_key_identifier.pem \ + * crypto/x509/test/invalid_extension_leaf.pem \ + * crypto/x509/test/invalid_extension_leaf_authority_key_identifier.pem \ + * crypto/x509/test/invalid_extension_leaf_basic_constraints.pem \ + * crypto/x509/test/invalid_extension_leaf_ext_key_usage.pem \ + * crypto/x509/test/invalid_extension_leaf_key_usage.pem \ + * crypto/x509/test/invalid_extension_leaf_name_constraints.pem \ + * crypto/x509/test/invalid_extension_leaf_subject_alt_name.pem \ + * crypto/x509/test/invalid_extension_leaf_subject_key_identifier.pem \ + * crypto/x509/test/invalid_extension_root.pem \ + * crypto/x509/test/invalid_extension_root_authority_key_identifier.pem \ + * crypto/x509/test/invalid_extension_root_basic_constraints.pem \ + * crypto/x509/test/invalid_extension_root_ext_key_usage.pem \ + * crypto/x509/test/invalid_extension_root_key_usage.pem \ + * crypto/x509/test/invalid_extension_root_name_constraints.pem \ + * crypto/x509/test/invalid_extension_root_subject_alt_name.pem \ + * crypto/x509/test/invalid_extension_root_subject_key_identifier.pem \ + * crypto/x509/test/many_constraints.pem \ + * crypto/x509/test/many_names1.pem \ + * crypto/x509/test/many_names2.pem \ + * crypto/x509/test/many_names3.pem \ + * crypto/x509/test/some_names1.pem \ + * crypto/x509/test/some_names2.pem \ + * crypto/x509/test/some_names3.pem \ * third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt \ * third_party/wycheproof_testvectors/aes_cmac_test.txt \ * third_party/wycheproof_testvectors/aes_gcm_siv_test.txt \ @@ -89,8 +122,39 @@ * third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt \ * third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt \ * third_party/wycheproof_testvectors/eddsa_test.txt \ + * third_party/wycheproof_testvectors/hkdf_sha1_test.txt \ + * third_party/wycheproof_testvectors/hkdf_sha256_test.txt \ + * third_party/wycheproof_testvectors/hkdf_sha384_test.txt \ + * third_party/wycheproof_testvectors/hkdf_sha512_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha1_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha224_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha256_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha384_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha512_test.txt \ * third_party/wycheproof_testvectors/kwp_test.txt \ * third_party/wycheproof_testvectors/kw_test.txt \ + * third_party/wycheproof_testvectors/primality_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha1_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha224_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha384_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_misc_test.txt \ + * third_party/wycheproof_testvectors/rsa_pkcs1_2048_test.txt \ + * third_party/wycheproof_testvectors/rsa_pkcs1_3072_test.txt \ + * third_party/wycheproof_testvectors/rsa_pkcs1_4096_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_2048_sha1_mgf1_20_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_0_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_32_test.txt \ @@ -98,8 +162,19 @@ * third_party/wycheproof_testvectors/rsa_pss_4096_sha256_mgf1_32_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_4096_sha512_mgf1_32_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_misc_test.txt \ + * third_party/wycheproof_testvectors/rsa_sig_gen_misc_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_2048_sha224_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_2048_sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_2048_sha384_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_2048_sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_3072_sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_3072_sha384_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_3072_sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_4096_sha384_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_4096_sha512_test.txt \ * third_party/wycheproof_testvectors/rsa_signature_test.txt \ - * third_party/wycheproof_testvectors/x25519_test.txt */ + * third_party/wycheproof_testvectors/x25519_test.txt \ + * third_party/wycheproof_testvectors/xchacha20_poly1305_test.txt */ /* clang-format off */ @@ -348,9 +423,14 @@ static const char *kData7[] = { "397440f1a4a0c7c9c2773c0a0cd3b890effb010dbcc00237dbed1177b86bf60913309bfda9376b4192da59a360afc5bcfaf8be16ea8313de97b417aaddceadc63a1c3a355693616413ed4101ad68f6e6aaa99c839dd2a9ff536\nAD: 18e3195358bae4ccf43ff8daa34902fe48f99fc1371d34060aaa442a43016a1d756f795fa5c9c4a828525554571e18c27134f46094790dd1e68471ee40c17bfa02f175b2c2f7f2aef20f00e4d71926560b58f015de19c871d808acdd341675d8fc19d1e6d4028e1e8926df500c4685c14729c6a056898cf919bf3ae429fa3ca8746495716d78c9a8f2ecde596f985b1c25ad0e73aa305a86259319176b4c4f3bb231fdaa478a856f46416ddb10a14ed23c96dcb86f5bea3114568a44d8fc6ff4bb47fd0e2538b70d964842910a682e7bc7c7263249832c21b7083a1e8b143828de0f3dea8b404cbd82efb19a11e4d60aeef13abd86621ccbc3d8f220715730eabbe04a6bf0e11a4f78cd2c4369ce2447a76f4fa48ef8d322a8a28a67039c24c4bfbf\nCT: 6beeb306c71318cedabe3877ec916ce2074b2c3f1df887cc3a3e8019c10d353854b6b65c947359138d5decc62a42d50921dc8f6cf63a16062af47aa8cd50d0b2dcbc3300ba0d7d069a5e4b4fe03bbf7062c6001e276be116fdd00d15a6399d1b0db71c58f396f8bc7e51c2b1f47430d4ebd6c5d05328b29aa79bcb26927ea5a40c82715aa0e36cc83ca6d250812c1305c02ed4291a25762cd709cb3d808031b5f918ce253f622c1afcb83c43707edc493d18ec6f0dba4353a1cde7184db65654088fa13baf45f7643f0dfedf4058e6095156b791ed30827c556a7721658314356e7a3f3c62cd62fe938b008cda56ceca71442fa0ffeb78b13c5847a3ee9668bcd2a01c753bd797c240378505d1e8f2b8905428b23bf589de9af390f94f21630d1826\nTAG: df5a21a399354b2b3346a9eb6820b81f\n\nKEY: 06a4c6a8aa189134f5784a525d46ff10\nNONCE: 0f765d3893af99f5c3e6d9e1\nIN: 706b754094869313523493089e591d34868b708cbde9bd8b42cba8175d1fdb6a8769bb9ec156d44bcb8f9cbf2685a0dc18b5a802dcf7a12570bb9042a0aa53dfb19af8c0f13763f388d9626a480d6d435dd90fbdbb4292d9015a5633252aa0583498d6f7ec54460d8589c1d6a6d16a349d10ec6070e1cc52e5fb996f810d333675a7130e4f3db9f4db0e3fd3541d32e0b2efbd40ba70cd59295bc8d08481f0f137832b01bac1778ffd7450376e174067b3ec23d0495cbf936bdc176cabc3f42e2991947a4fa87dd8343c32fa3d7ac0e2d22660a0c128a00e1b51a8742fdb2aff44540e39e588c5920ea16293aaa522513c944d3b77f3a0e90bd9105319c170886202e336893d100b0a25aa609a49a8255f78233561f7b88256386d1c3c002c3ee68f2775585c65\nAD: 18e2ed6d500b176e49f7e1b5074c0b7dbfdefdf00a63d9fa2fea8c5e78a1c4ae00f17b23442933543ac864097629e112a099f3dce6d5beb1e3f3c8e19522c6b8f615cbe23444bc91a802edf8a08995a55125da805ebb073fd89863996ef708f7293069a744ad95db8c17cbcfedc331119e85020df8852d74b8092fd38ad424f3da41b4775beac19536ed801ac1069925b12303d8ad2c52c36ca5b4ec95e96f02ebc5725ee6cdc099e666d9055b789e39ded77a8fdca0fe2d94b8039be55b6a75209cbee4fc7864957402b50427db71bc75a0b1e3d2ed6ea20f12a980c5ee916067d0dde7d686570d075da4df7088fe5dccf0d440064a96998da6f318b603d513104c723f27484780bdad586ee358d821b480f9569e4dbdd1a45ab9056f8d8e5a879789a0d65338\nCT: 5f3627bd53f8da0bbe6f3c9246d6f96fe9abb91cdecf66ddd42f833d98f4d4634c2e1e1ad4088c84c22191bdb9d99ef227320e455dd112c4a9e9cca95724fcc9ae024ed12bf60a802d0b87b99d9bf22590786567c2962171d2b05bec9754c627608e9eba7bccc70540aa4da72e1e04b26d8f968b10230f707501c0091a8ac118f86e87aae1ac00257aee29c3345bd3839154977acd378fc1b2197f5c1fd8e12262f9c2974fb92dc481eeb51aadd44a8851f61b93a84ba57f2870df0423d289bfdcfe634f9ecb7d7c6110a95b49418a2dd6663377690275c205b3efa79a0a77c92567fb429d8ee437312a39df7516dc238f7b9414938223d7ec24d256d3fb3a5954a7c75dbd79486d49ba6bb38a7ccce0f58700260b71319adf98ab8684e34913abe2d9d97193e2\nTAG: e690e89af39ff367f5d40a1b7c7ccd4f\n\nKEY: 31323334353637383930313233343536\nNONCE: 31323334353637383930313233343536\nIN: 48656c6c6f2c20576f726c64\nAD:\nCT: cec189d0e8419b90fb16d555\nTAG: 32893832a8d609224d77c2e56a922282\n\n# AES GCM test vectors from http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf\n\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: \"\"\nCT: \"\"\nAD: \"\"\nTAG: 58e2fccefa7e3061367f1d57a4e7455a\n\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 00000000000000000000000000000000\nCT: 0388dace60b6a392f328c2b971b2fe78\nAD: \"\"\nTAG: ab6e47d42cec13bdf53a67b21257bddf\n\nKEY: feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbaddecaf888\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nCT: 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985\nAD: \"\"\nTAG: 4d5c2af327cd64a62cf35abd2ba6fab4\n\nKEY: feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbaddecaf888\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 5bc94fbc3221a5db94fae95ae7121a47\n\nKEY: feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbad\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 3612d2e79e3b0785561be14aaca2fccb\n\nKEY: feffe9928665731c6d6a8f9467308308\nNONCE: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 619cc5aefffe0bfa462af43c1699d050\n\n# local add-ons, primarily streaming ghash tests\n\n# 128 bytes AD\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: \"\"\nCT: \"\"\nAD: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad\nTAG: 5fea793a2d6f974d37e68e0cb8ff9492\n\n# 48 bytes plaintext\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0\nAD: \"\"\nTAG: 9dd0a376b08e40eb00c35f29f9ea61a4\n\n# 80 bytes plaintext\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d5270291\nAD: \"\"\nTAG: 98885a3a22bd4742fe7b72172193b163\n\n# 128 bytes plaintext\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d527029195b84d1b96c690ff2f2de30bf2ec89e00253786e126504f0dab90c48a30321de3345e6b0461e7c9e6c6b7afedde83f40\nAD: \"\"\nTAG: cac45f60e31efd3b5a43b98a22ce1aa1\n\n# 192 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF\nKEY: 00000000000000000000000000000000\nNONCE: ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nIN: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af", "24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606\nAD: \"\"\nTAG: 566f8ef683078bfdeeffa869d751a017\n\n# 288 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF\nKEY: 00000000000000000000000000000000\nNONCE: ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nIN: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606872ca10dee15b3249b1a1b958f23134c4bccb7d03200bce420a2f8eb66dcf3644d1423c1b5699003c13ecef4bf38a3b60eedc34033bac1902783dc6d89e2e774188a439c7ebcc0672dbda4ddcfb2794613b0be41315ef778708a70ee7d75165c\nAD: \"\"\nTAG: 8b307f6b33286d0ab026a9ed3fe1e85f\n\n# 80 bytes plaintext, submitted by Intel\nKEY: 843ffcf5d2b72694d19ed01d01249412\nNONCE: dbcca32ebf9b804617c3aa9e\nIN: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f\nAD: 00000000000000000000000000000000101112131415161718191a1b1c1d1e1f\nCT: 6268c6fa2a80b2d137467f092f657ac04d89be2beaa623d61b5a868c8f03ff95d3dcee23ad2f1ab3a6c80eaf4b140eb05de3457f0fbc111a6b43d0763aa422a3013cf1dc37fe417d1fbfc449b75d4cc5\nTAG: 3b629ccfbc1119b7319e1dce2cd6fd6d\n", }; -static const size_t kLen8 = 469493; +static const size_t kLen8 = 2196; static const char *kData8[] = { + "# Test vectors from NIST: http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf\n\nKEY: 000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nAD:\nTAG: cd33b28ac773f74ba00ed1f312572435\nIN:\nCT:\n\nKEY: 000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nAD:\nTAG: 2ff58d80033927ab8ef4d4587514f0fb\nIN: 00000000000000000000000000000000\nCT: 98e7247c07f0fe411c267e4384b0f600\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c\nNONCE: cafebabefacedbaddecaf888\nAD:\nTAG: 9924a7c8587336bfb118024db8674a14\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nCT: 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c\nNONCE: cafebabefacedbaddecaf888\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 2519498e80f1478f37ba55bd6d27618c\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c\nNONCE: cafebabefacedbad\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 65dcc57fcf623a24094fcca40d3533f8\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c\nNONCE: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: dcf566ff291c25bbb8568fc3d376a6d9\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b\n", +}; +static const size_t kLen9 = 469493; + +static const char *kData9[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher aes256 -mac sha1 -implicit-iv\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660\nNONCE: \nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: d88861dcbb\nTAG: 181ebd603365ed262b8f2faf5b86ab90a8930bfc0c55cb9f1c88defe20893b2d5eb8ee6809c2452f302315\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660\nNONCE: \nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: d88861dcbb\nTAG: 181ebd603365ed262b8f2f9292c597b813c031f09b7a7144e557dd\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: c6105cc86e18eb8376c16ea37693db5c07b77137\nKEY: 8503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f0\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748\nAD: 1df3f4183aa23fd8d7efd8\nCT: c90e0c2567341ea7e9d968dbde46ecb46ad78dc8be7d47672068de66d6e7eae14b500b94927f24ff6a4f7b07\nTAG: ec90d128ef465f4a3645fd0b2601fbe2b0bceae2\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: ceb2d295bd0efd37c6c34dab1854c80e986174fc\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d4120\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: 000893d3434c5be7cbf9daffd81f03545f735cb70d1bd16eab26e07da7ee29b4c607d9a57077d74437e5b01a89c808c7ceca0d3838e5c6ee9947f1d4ee1d5e5e\nTAG: 6d8dc4edeeea81cb503d7389da209ae335876393fdab048965c7eb1a1403d05f8ef059788d08c2e906444388fd416a87bf8706f78d35797453b242618f4a99f47c3756116ec0318d96435032225ff82b902b9b6985189ca438e466154ded91676676c645926e2cf8a5d6f3bfafbb713d646cfd35b091f68e5ac2e7ec10badf1fd80767e6953abeecdc89beb2180dc92be21631164ef801147917e0c8d7841bdcdb52ea03344ab5f2bf3d5157794f5be79f51eb1efdacc0b77b27b72e2ce03d05473203522e3c2c196390d77dc28a35951f3aebd72ee58021d55e521dd029719a7660408ed0da5ab41830102bceb514b0b172d0ee10937111edba82b47e719c3beb3ce49a665accdc1c5bf028d465b5e1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: a07054c760cc66fc704edf950201005031f3faac\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: a1e92776d0ffcfed03d1be956169f606733755d5a7011620c7ced6a825d8e59627e75692a41a1f2a86e62fc6052873b5458616414584e36bad698cf4c44909e0a2\nTAG: 6e0b32528feac2d7f69abb480efc7aae6cd1c5f8a654bcd10ec5be08b58f5a2198bddd83439d69ba9f55408cdf087e8a7f33fca6859638c5a4e8bc6961afee7534d8ffd95249d554b02e5beb81100be5e10abf679300f4ba514c03f4fbbba3cc62bd13dc8c8b9a726a9f217446c6e3b89cadb40488b177926c88c9d22a6c4ad9deca67f0d976fe62cd24c3cbb2e51dd16ee2e7bfe91d867b77c77a9a65c387e2682d946e617d0128034f5fe436eb7fa88aca82526d71dfefbdeeeb5a2c15d57fce0cf12e6ce0b101ef92d9ca540447e0bb65bc04b6a02e4e6d9378c6eebcd6d530c4ae14243beebb18403e8bcd434c2d88cc121e2df182edc3e1f52b060b1aecc48490c6cf3260299449945c803891\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: d059c266cf6233af730b7a229b19356a4c6fcf06\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: f414f0321370af1490839677747893befa438051fef5f02fef488d7b84dc03140b3a5dc3a57041be4c8b688633110fc07251d877de0d6242928e4d937e3cc58ed611\nTAG: 4ee98ac6f10e179314a251a9db190037c47b9fdfc66321d83a995f6dccc5259801b18c3f466f7f4939b7d2d7196e0b161aaa013721e81bb9707b974b904f670e4aa495357b562a254908417b65fa69e86c42b3efdd423838575db08465a7f4889c85201629f6350c0865b5b0cfbac4f51ea1eacc8f9768014975d780438c3bd77f7f18612080abdeac9331e1a068c8f3a345d0026c5723bdbc48643c1a733a5b7ca9078424522db9491bc38d2644dab2d75499715707cd83ed655343ca73672d480f1420754fbbfeae0fba05be3b5235a5fa48bda9f39df0b298351d8f4da3fb8a2feab8b1aca9335eb31ab03f40ab19f668bb864c798ae08de37bf848fe2e898172d26fa23f383787d7199a6990\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 8aac0687e33041fcc18da154b41f20a6af2bfb28\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: b51ab2f8c4ba3e8638d454ea72da5e3cb15336c347c442b8e1ade85c5cbd0dde790dc707d60d452d5b88d72e718f13cd0e0f4c9149b72e8d6be869d817a3232513c958\nTAG: dc8feba112517f6a820ca12de43c5d64c51cca713d3702a2b4a5cdbe86a90946a7369ec26ea8b5b35df329bfc6e29ef50c2774649134bd6e3f3fb38ef13d9c7fbe066e9cac4fb88dd0c02b677472ebbb2d0679dffedcaf13fccef6a25aed3a272ec01e7680becf80a624518e1333d28c97487b06e0581cc80c94989db4e93489f3dece9eab6dbbee73aeab572d1ee7705d18b899d9c62d7a370311e64131a801400b580d3c8f7af88be485b84fbdd89f7f7dacb29afeb56658f3d8e49f27adc542e412b0fd652b9f60575bf61622d7306c54bed50b43d89cdaecf1981ede09f9ea36fd174118ac178ade5f26ba04fcbd2eb035f030e2139506456ff8d342a4e59bd55dfafebda23a66cacfe6d1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 53658226c112b86438dd27b58a71f9e36fc73c1e\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce99\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: 87bf1af7e4987cdab35bfe32adc6b1be286751426cf926217f2c699bc095bde7b6ff3d6cc96b79328ab776547c2cb756d9de8c1245d21619a51dba8364ef6914590f15f8\nTAG: 55b9a1ee198080846389dd088016acab73622b1e2f902b0776846c74d99c27e67c7bbb55b2ac0efff91af0f6cb2ddcc0b5b8bab768048bb1662bb343d2f3a164bd4ca4850fbf8111b29e9be7bb836e2a8ac50ec2cb0b1c4529e50904007372284ec9187ea27d8faa03fc9535ba744155d06c06a0a97d96c03de71c13c95f185f426615f1368be346aa5ebf80049ac6771763235f2ee44dc910a01035c53caf8f9fa6f51fe3ad094513a8db177b6a66e24d21e1e40a23aa3629fffad45f84a58a29ef9237fac5eb6f5deb3825de6f399e46b2b2b91faf64ce45d164155e4dc757f6005c7c3e7fb3d8829623fd7c6ca48b923be90c38f5209c6d94696d2b2b7ebc5dfbf2cfa1a37e8ed038e830\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 6b7d5268b0b5037afb5be5af6a0ceb34e7656ac4\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 44237c388c3d017300db0fc9827f9b575e59bd971a0fd89cde4aeb1763912b49d50e92ba19d7594ef6da27320ac2bd1db3bcfe56b68a9ea8e2347d69890fa1fdc8bed782ad\nTAG: c1068d84aa962e7b89090993378806194ffbf677e7a66524d2ebfa7bdc52d76d09b914168eec4a5fde0953d4567affd3a4e0e48190e7a84471efe8ad1ce577c21df93b9d641c865d90ea1e6069bd703c4ee372379a4ec94f7e99867179561d41e9053977cc985b98f7a9fbc675d77052809b89b8f23f993e191ed1a07f97b89d05de948107f94245f216c413288eb4e40f3cee9c00c15926657d9ef9187ab405ee8000b4bd84d", "5771464401d59156a97eea7b23b4a6e9f1587cd3b75826a621b699515829dfc57740ad5719c43e88d835e13ebf703a0966779d31dc26866e0e9d27e3376137c92c97af49a876eed425d3980f1904f013143faeccb4fc920185ec2325361e5b318434487f9\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGEST: 63efe7af502231420ed5aecce9a28446b257828d\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8f\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: 2f25b5a3b01af5411466c8aa5d8ece037434d5e12b62306f2732cb063d0dcdfc2725e67118a242a5576d470fcaf9be6d811bf2789cc66f5561d0542438b5432fe713187a879f\nTAG: d80e1f4edc2137f430d36a5ac93680c973fd7c64a03f7c2ce1b7e33085fe94da70ee26f47998947310508448cc70daa595687eaa540e48f048132de108a045da6d71170e39bb45160a344a2fdb5cb56ab020b9c0842ef2a1a5c83b4d63359fb8d71506d1e611fafa29e77d0669474d135e37bd8aefc3e17f024093186ff80fef73889e887b8d6672256dd592946ea84becc08c29445c8d978e896b1dad5e2608e347e54a97f3f757d7362f95f4cedebed07ab45b05713f7119c38d15a0f22d4259893f5e2401267543b3f78b52d54dd2d608173119e2dc7fe01f66589628e95fd7528958e993b21e4db664b8cba2f776d5cc305c42553da936d580c17d6f5090ff04e106c6488b5b18dd\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: 1a555c300a1d1bd5b03cdd6bf2a678621624eb05\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: bbf934979c5d9da5c8b27d0341a164d640f12956a392303b0f1665935b5c39de458f53e0a6f824cc56081db1615fc67ffff0d300d1564666b81bb37da59e4da30de9d6a19df74e\nTAG: 9c18b0f9ee6a167a23566325eb330660997193385214abaf945dc18fb8252fbab8330b9809a6f1b300ae5a0c9d841fdd6f77e8d65f1cd0b221fb9b94b5e5d7215e6f501f490a7fa0a754efa7f2d9f5b927a5da2bea736e73af067e5d988901032d503ef3ab89894d03e48a096e7c31fe64bbc2c13f02d878590659ee7606d9212898d4d246e52b03c5646b1c3fbd43baaeda6548156987fc8f490f5763da18198bf0754d20f16dcf7df6bd35ca4bd95cd5c95a60427fc541aaf1f6923ff150de825cff9900ac9492350770bdd13fc4d0ac858ccdf36efbaeeb572aa45ca5470a04a7fa1ce5954d58771730b7202def47b303e560e81ebba2080d044a0851043c5af1a05c30a5a448eb\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: de9156349b578f2f44945ec6a676a67a829daea1\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2ea\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 9b9bb61ca4d5aab8d0342d2b174e8f39b8e21db0fb7146025fb298016df3bab4363bb47f5b1fa038587df98851d09d473a68c959ead8062c52b9d6de86bd6a0fc9a2daab4667c621\nTAG: 897472da6d837ec173c2ae738721306e8d3c9e5353b65d1ecb3be3d0039739de379c9b06f42af8e952aa9acb4780a6de888dc8c54fe9a2eec19ae4a864b3b9696d712153bb66c49825ec5c891e30915c4b7b66b190525195429426ad694467dab09e8c2f9f21ffae4d54b74c0c5ed9a05963651dfcb9560677693429c63f3024043385ab0a31066243d42b80d2aa9854005504d6c8b9b7f736a8731c5dea0f3fc9007aae0c6edcd0a91dd1bbc5750de12ee13d4a77379cd3b2c2bbac885fa17338011b7b81cec6711fd5d65178f20a06f5475e09c202deef57939161ca8ed3e4aa9b010277acddc4478d1afb64138b276e265182ef2dea321b4f136c5c439ef6d099621813209a43\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: 12812df3aa7f3bbc899f6f248f5590e02570c292\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: 33ac574b7962d03b7816c0199a7f661a485832b9023867a749fc4bfe8ff0485571744f801139afd8215863b23e2d68ee7a254c60d8029e0f1ee10a1b947a4984f37f98a6767f52661e\nTAG: 3ee493d8cc764880f4ae7fc3c189b95bfe11d89640e3c9ddb55b230ba0d142d53fe18be8b955cf0d0d237c3b295459fc4c723b27ba8a29ed8dd5c80fb9839e30bc92e6afbf28ef6f72d1c28e5452460f986444678e7ea982d8bae63b69788012bd43aa66e5a521840c79831ae74426fb16f0917c5d2747b9c31fe43ecee604f26afddb093a9f1f1205a4451d50080ed0a9208a88ed6dbde37a674932bca837c46dd8725982c2ef6ac54511151c4cd59e511ca3835ea9bdbbd2e0842dc9674a854b8d4b063d0685086cdf917a7b7983dcc28af2addf3bc302034e365da1a87334a68477aa34a3a878d926d4c17f50316749d917e172e47597d060403a0279ee68dcd864652f37c6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: f3c89f21c327fca4aa400fabea9e39780378e901\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad40\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: 8517e13ca00214ebfc748efd3a233e8b64801dcce99f9fee3d271357220dff7b1678c1cd6392a6ade62146c0e783248918a7cb69dd26dea525bd9060f380dba75e502bdc19581ebc3295\nTAG: d1f1280699f5514e4a56b08a5c3146142ef8e44c18ccac74577ec0feffbc29884da82212cba95b31d8464954498340f35e9a3d84256e8628368edd166d4b429fcb76e0072d2f5276ed8dc7bd5f34e754f6577ba00ee7ad74e9c89c4f82af0a7716d6ac77c39643909dedcc9356ba42f07874031878229a076da9ac7b0e49b2d170239089ceaf84392e889e7bceb3e383d0f744e229c53e8654ef0099a11773885efc456883e4a973557852f70c0e35668f3f212260e131962087416e668c9f995f226152251f5873fb89047a9dfa65b9fd0116486092b1092c4ee33e7625772944c06a2969b162986cd46d2b4185af2658c25c69a7a599d17f37be0fe1c8250cd7df5e6cf304\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: e8e41988fad6c8b44c56544964cfe0a347b35b1e\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409a\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: b1cf0005c93547664e09031d923c4ef9ad663a808189cd8aaa68fbada340d8bb13330499131ef3788cd91e9527702a2388802fdd2e91998a53ffbb466bb7e362d06677edd673cae71418a6\nTAG: 7cad97328236aee512598d1a4c7d51b2154218fddf0ef21724921c1afe61fed1b7a1d1b56b8099dafff77362c4154e4bd7089fb0908ab1de49244a053997a0d04229250e52bc1ecf4550da5753a35108b6752f907ddf7a77fefbdb5d7290b02ae231d019d04ad9a5295336639e7e6c81ea46863d2bc3c4fca7d0f3b05237306759b156ac1fd10b044730987d04a943f0f598704f2191f6c627299b92a2c01a4004111c21f650376c3f28fc9793eddaefd74a2bb3cc5dea73685c954c63b71f2924ebcf9853ff084117cc84a0785d96d8d55d02723a2082ecd8c4b49b8d4068071593aff50c2e08fe7c49f6de1d7586e299b42ec723063f2341fd9b3445cf40893cf8c2bfa5\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: d1c7b2c04dc25fe7b742a1d659aec20e1475ee4f\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae0\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: 7195b9643e0f7a4293c865db36442d4fe2cf3ea2c648dc88cd5636fe5e6bcea3d1197966e800da8c78bcb8830f3fa97671aebce98549e62827adf612e70f946673b07e2f953c8fe5e0b97aa1\nTAG: 3a909a9fa57e720bea6251ebbc1a71bbae1fd894f6bbd16e11abe51bbd1293abc0ad4c152a08b4acfac7a65b723fc6bd6923db66bbf202e184e8dbba150e6021ad1310ab4752cd4ae874409688996fdf88636084db7762b9578bb0c98d77c5156a82a97a3f6989db2359d252ff7c6405bd4834708c88d4481b35eabe2f7069bf8bac374fa382f4225659b41dd2a8006c0ff8d7c77c8d157e0373f45fcc0abc804a9f8a6b816f2b729befd606dc61e7f763f18121f56255662e36d120b27adfc8e1b528bd8ced5386cdb62cc73e58cc7918d27253297e9cbb9c740c7765cb014cf7bf160cbf09e00d32d31d462f356791bcf1286bb9023254afa6c41fe3d165f1bf7e6c002ef64ecdf3b5e073fb569028032e6713\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n", "# DIGEST: 116e20ff1e79e0af464d473b1e7c187f4dd66007\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae021\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: 1d50f3eb1cd76d8e08a9f386db0cdc3eddfc694e8502ccae47ab431c2935fc461254b80386c87690b01c22f38ea9bd118d2e0ed316ac249437a3e9c30f6c1f767c150216ec90e6c8913ff3d469\nTAG: e44bfe162cbba654362d1c86088564b14120815f181932e9f111d6da5efb5f4caad61f1161d1d148cc429ad34fcad9128bab101c7cc004fb8f0b516216a809a6599b5144b4c5828cf159fcecac46a86ba0698a6e5267610bad10cd7ce9079b6c691c2ecd522dbe3563074f2ac85712e58cca41761aa94449199a8b440016e68eb8bc9db3ff2c2bd9c64d9d3c71566bfb5d234af1a144859431f16ce6d65b4cc604e9cbf4e5539c192f07a2981b55582376bedc07aa20f5a841c9f500915fef353c37446511da3affd743fc551d5c22454797b3eb957770f1ca16da138c71bf5c00ab7893ae83b3f499a2c42f55551a986555925337e0604227ebf1c65312f0b1a8cdf2d06b5daf3e5ea97ceeb2f33421d0b44b\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c081d0d09b2c9eb39a372ef4a7b0246a0956b0f9\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: 4d754c684658bcc89208bcd75f24dc8e18b70a28b8a2201535e60ab755fb20e1ddfa98742d257eadd02d96c6a65f880d058312311efdf67f9a106beff9f5ace0ac6af586aefbb5e8b4850e584bb7\nTAG: a9bc9bdf2c16ace8cd471c2bcfbc2cf933fc1886faeec62d4809ed5cc4dd4fcb6ca6c42f31bab300264b278dc0b10fe8a54005b590160b410dcdfa3db413dd04a72c897b262ed0fe4ad6683fc5229010f1d2bc939e61a2c9e0480ef3e03e90f74a3edd8bb523271adc45d097b197ca9034bff48677efa763e1ae7528d3f775f827b9c56ba7f042d7f9413b4c5d01972e86976ab3a398afae27faf3cd19ef1b24b5342f9d067e7702bf1ae9679540a72f7a12cdbfbac234d596856b3bfdc2190dff0b50f45b4355cfa25ebf8d1d16528fe6c4baf9b0e5a50f95c4091704e939c8ffe69183c2695ecb1f12f24fdf288a8e8bdf3fe510bae70c46d0214303d5503d21366c4eec24cc2808542a203d81789efbb6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 6f7bb1f9e2772eb909c315e653e4737cfed78a18\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae0211641\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: 25bc47e58e7d4f3a417c95768699c92240a2be0e86232a41fe02d64f66716023996772e1118be48e685042f989dcd9cdc574614c9c3989f1885b4b71dfd5b1c32c1321ca41ca1e6ff1828e677e30fe\nTAG: c96a78b9ca68054bc1ed2a150dff9f9585174f343d3df80350982002b4c95106b72813a90028f2855faef235909686607f39655ec48f4024e170c9f9574b0c81b63c8df7af6b4d0f0633853a09c334379952bbaead7415125f541a01e320c5f5d9806b71c3ba71890e3229e751f25ac82c245596b5fa688f1b13844d91169354bf0cc03cccf576c2216aeb9eeab33e2a9f8bad2145d36cf0e7585a02296a7a3b434f4efeeaa4d7ed65befda32b287d9d0946e25dbc0edc22de871184ae8c76777528b917585be784d5e0674b1e5693d0b8cbe8253f8db67c879e1d2b7ddd5df4777a15509f813eb4d0f5a935aa011daaf0cc1ba2ebba9a20a74847e9c53b648f6fce4c08b6e7babc1919e6de22210a6f05\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 172f4992e692a88f49628e5d3937959be01aed2e\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417d\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: f1ab85a35a17541efb4f906e7fc85e64efec6ab40d59d3da920c4ec09797c3ad47820e9d934e51e3f4d097c4a555575939bfaeb8cfea062b64816a160d6e4d1ff02a5fded435ab9aa2daf22fa7d676fa\nTAG: 14684ce099f4f0e11e785320debb89c79c03e8bb8751860d3779b4b553f6dedabdb23119d2866ad63fc974a6c6442b734394cb6705309a4d3889e90c4a222bbd14624cd89a9c3f904367c418140375dd592107f839ca94d43d09495a8dc8273201bd8f5a447bdf57506421a975ff4db3aab7878ff18e5b73c8f072a8d092461257d0182710ee9df9f86ac5ad321eac7ee96dddb27ecf561db222ed1c7c183c2ecdf4c7f57cf295638de3c4176ea244100d51c006282e98af1a8fd540daf0ca6f2fc0b88c550b4ab638760d95f2f9d09612da198616cd13fbfa1ad12a3fd30ac9956491cb11539a1be43175fb1452393f13f8d03501c89cf5962730125a7e185dc089b41124fc1e7f69b1fad46bd661c1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: 00133da1f7c63fd5f0eec364e9a359be02c1d3da\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: 5d6bfe91cd2273a9b986397a38e81be5fbbcd0403ef51873c2c467a9fbadc7bf540e83c538a43dc0e0ab780a4c4b1f5b77ced74f65b61f8b8b58b26fa3e8cba568bb717dc7071bf82dd8c68b068e739706\nTAG: 2ab9e654859c35e065f763d949d43c65dc85dc5d918850809ad8efaed6569d4b3ad064bef3427ae4c3be571fb914cefe2362169bed5b4c0cb17d2106fd6993d20ab8a8b70edb5f5d59b3357c8499c36e2b0b67edf7f334ff02d599031f43252b8d30d39affbd2093a6687c771b672329e14901ad9128f063267d3ab332ea31a79d37cb24ad0fd2d07f23b13d4643d1d9c529e1dd0490c851b0009fc1192f2438a48aba5a39be2ee925b1a38647197ead5cdea3499daa5abf9f4503d3581115a6847363348d5e7933948dce867752cde69ecc401012674ad75e12245dee86d775989275a5fc635c66d42c01b7646e180d28798905a3beb210c049be35b522ad580e1ca29f81b9469448749fce961ba6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 60a6821269be6c5b985576b245f106128eb0b325\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0c\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: 16e3c681ba1ece3bdbfb1da491f877e806ddac5f1ae96bc406bd195c9d48bcd4a9b700a8ced21d824bfb99eb057e401c3529818725b51e96c576e8009bfe4866e98f550a23ef4748ff761a4d1c44ccb5eba0\nTAG: a30286b3d06306818a268db0e5116abc2c7361c5a32d334d8ce5f4007aaeab750980018b435c79391151fdd33df2a97dc2cf62c4426ce45be43f7e4949be735bcd33f0e81cc6b5a3c2255fbac9ff5a8fd7e7b57554d7ef00640d92b605c9afb0c19dd5ca4c79c409d85c197e8f21d79e91df01a817bf68e8718bc771028c945471ae003c0a210c572b79d772560031b5d3e5495aa8d9bd6fa3f8ae9976ed7e7f8d7275030d2f12ed5ab05276ebebafcac7d0ca41f9d860583f800e4f1b9658b12fab31fd63f6a5e4b80463918f8295ae11d7b97f9b5f89b8166861aec8f1b1417163a6a8adce23ce66c9a4306acae7ca75435cbaece814d6010a3e335bd7db9783812052179d5337d1c353be6e0b\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (19 mod 64).\n# DIGEST: e2593f3b6741a9ed9fa188fc06efd057556ee624\nKEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df6\nAD: 60ed82933f62be8dc55b43\nCT: 9b51ba0eebf72bbcd7a1b8452a49f30bf2d96bf0cde4d9e5efe7f1903eb4e09f53aec649c5a8ad7e7fc6c28a0dcf4bd3556f4377bbf8b3f9c79dffa5978692559f732c109a7a02390746f5975d5a0aac4d04ce\nTAG: 636f7bcc9b0b5320643f4b6acbecd60a0a89d2511621ab47fa4c9af610fa1ff9c6cc5cb8fb64493d6a4dca0e94a90794f31698cb1c5bb5658e8b6a63a2cc9b2f1f297240d3d6c62087e32f5d5e9f9d608eccf4b41253933c7391983db1138012a5f5caa5abde25c8a16fc33cccb0604421d985f198c48552650f5dd299bf9163c136c042c9a35cdf7120a702bf460d739ab264fe1f58453ff4990f7315379ff074e01730e7cace8d45a5d0355c0acc409db8fbc759516ad56818b37700548aca769719937103787311b6dbc8488d9e68ee439cec3075bafb725f44734326df9b10d6a4f7133ba84489a9985febc96200276a1fb513f8a3c062466cbe63e7ad668cade7ea70c3b8cd040a6162be\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with max", @@ -410,9 +490,9 @@ static const char *kData8[] = { "02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: fcbf4939de59426da2002fcb8e3a4d07604a168e9ffb5f13afcfbdc45325e3ecf0659ea736f9dbf61cec1dbed1024eff9e3bcb721c28d004549fd84e2cdeae36dc5e5abba4f0102835740bb877858814fa38290344addefb47ae583171a510719d9aa18c8f8a5e01396fecf1a982e162edf1047f56e8e4a839c5560473f389a4c7ea8fd5e03c7f2d31ccbc094f04e2a510aa57fe30f37cda765ddcd2bec89ab3f1f5f2ca423c68664c3303520c71439230116409dd84b4a26c1a102e521253ccd455793b0d883b1569b5013653b1c606143fcba7252a70d2a2026b989d1f67fdd594d2b33bde1bf7ee9bcb6c013ea8886e0ec1341039b8d8fbb4d865754a62d0e2a1151c917368e93fed0cb29e2d63ae176cbd95991db0a2864b27b6cf5782093bbe0ae117c7b2931f678bcb07aaae3d955b61e7ebbab8e84442295700cebf1a8f7d846fe788baa0660608bcbfa59c4bc9e5d163654aea99635f9bb63b8074478fc97b4981f5e5d35430b1e18332370dc5f4e94616b0270112dc446335d10a169e8a6923765647607ba9ad65c6f6f008cdf041af2e136b398bd1d1f67044f8360d9c1e90012e594a353d8e45aefac62173fd1b03ee5e4aa6961d83cbf1096dfa02f36ef62ceea5bf88f95301464d0046cc8ae3bfa611caa0c63d07\nTAG: 850f8608529bdc90c222092bfab0239a3b07b9cb1f\nTAG_LEN: 20\n\n# DIGEST: e654b4c78e1c0061eea2996fc126c9bfd41eb6d9\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 3a35e98cfbeeabc993af7e952b148ceb87a110d851bf2d036e5eed8482b39b881b3180dc50ce782a8cbe2c586863c5d038fc4f37d4a96ce8732abb984ae90bbccb86f7766e9712e43d3ec40fdd7a1c88cfbf14743908c78dd4c19d449db7557e0c30127d35a49503d8dce6c9a9e6f07e1c86d7e365162ec05a8b4ed301645f8274999a6c5beafc5b27dd68608aeb2efdd9cb00c6236bb143e7d91709a3fea0e865330680a854d47ae3b6067002a01aec6bdab9e60c19ca66cc39d4a44ada1e21720bd5bd87cdfb31b8a9bfac77feeafc9f8e92c4131d73a3cfb64efae2e8d14fed99c2bc88f63f88079d30b78df18ac03db855338986c0fd1614dc6afaea71130290bf52270999f3392128bc48fb0a6d6425c383b637f4c293e177f479f6a2d6323ed545bbd564f743850a121da96256a8daf163fd80835558b21e0286cf008e7cd87bab94222fd7faa395ee2ba19aa3abf5d000e7514a35357941b97e4ef433c30972e995b0991c862cefdf79712cbd3655ceb43e1e5f5b0d3f5e275bfad98a667d997333d704e4d70acc488b6829d18d1263b841307d592f760a66761e800b4676d64546a1d8630d97218a7c5f555d4a90cf58eee4bd1e1fc0e15f8f64d336edf9ca00183169f237a924e7efd5a339f3cc1bb90b4c513bb9969ecdc9beb5c5\nTAG: b24af9f27ebc204aace6315a197550907bf6079b848eb1dca1a96192ee7c8107\nTAG_LEN: 20\n\n# DIGEST: 654b8591c7f0506261713e9ce7a6fd24a6b9357e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c21\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 7e1b59c791aeef6577c7ac69f8624352b7c2c7d1c8b14a7a0daf8240cc9d71ff1298eebf18ab6d469e1a327bbc3bb539df445ddcf7dccacb54f0a4ce6cf18bec20101bcd62bb2b30d8426a1e3ba949dcb69767aab5b8d2228267d784bde55bf887403188cd39453d32d50428bb9846212e4bbd3843161dc830646ba6e251ffad5d1b382101c7a3c87163867391fe44a58639e8a29fbd34cce657d321d004f842e0efa9d4cf03f557bf07a1201ac36258a4810dc101c427e19bb79f0800f27732094ee1dbab2abfc061fd4a1e84b2d36e560a38465cd4c8bc04bc27ffe90f1ce5999fc78d9432ed98c8dac4047a61547b6205bebe2191782ca63e50bb29c9bea553f5de0e9051cef35e3122c00e0d3a2468ecb2a898225c5f65fae573b17a15e013655a2ddc62adfe61ce5a7e352539c6d27c9726d2ca5492ee25b6d8233e32383100d131abce97b33dfe18a415156917ead8fe854c53bde97c0202e782679ac46f05afe1b9ad6b41bcb65bc8a80682ea8092bba0c47a9a03d08004a11756d9274ff83d5d468475c8a4a56f81cd1367040a3f75fd998b5fb3380cf8c1630fdb948fa2d0930fa5b009abc755f4bf70a59847969500d43e2db40ee517c9a6826e8e3746b3d40f9a6e7b35362550cabfa601a887bfabfd28476b3d7eb8917d66bbe9d21bfebb5a\nTAG: 22e74d37769a86785c57bb760e8a28de7a7ca3207fef4e80c284b4\nTAG_LEN: 20\n\n# DIGEST: 1eaad32c8d0cefaa5e2c503bb2185a73e6387fac\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: 26234359615c88fbbf5fddd43d4832a57bda2037e2177b264309e2e50c28efc28c5ed5cbf6dea046a14caa64d499352ecba0eb2d4bd376c6b1e14048033e21b9ec63f500a70c53be60099d9c9e46ea8f250d3d20c834c3c0638a9245377fe2b76b74ea14bca6b4bdc7e8d86ca59f397fe72b8c4cbb8edc3dca7f9f234529034fe5f1441210a8ad9b4694fe013f7e4a906fc400a27279f2a1a31700750e2209f6296ed808c893a42214b46f765c9d01cee46df18b02d5493c3a1da3a6258e89e47934ade4da2fa9eef7f5b1887a60585684b1c5c2ac60d94a62d79694b063444fa36674ecde12095e9203d281da3118d058f547ede5e4b67a11ab55c1b42fe01a94a601ba031c5b0b4088563344cc28d640bf2e7c81a259211b130bb9ba9ad93090c0e11cc939b99046fe7f25132672c3714f9973513af628f21942da6b459a60e31fe1bb9bf4f6259d8c9fa07d796a264f94d64122d186a0220d9f44b040396c9c187d5ad1d806ca613a4d0f5038a8b77177f39361f9107bea7700ba835dcd38cb48a6c5af0bfbb07b7a2543f1c661", "f1dec06acadf8860fa2220c67bbc9c97c44cb7cc58831563153149713ca2db85af46932a8de891da1d4662e52ed5b7c1c15d5557a0930c7177c2046b50aaf14874512cd9ed62efabe5704573a4f44a4ddf71202a6ea8c706842299\nTAG: 8eb60165231c67e88b0abd1d7c1c3dcab1b7006d4d3f\nTAG_LEN: 20\n\n# DIGEST: 862c0517b3658e9b9cd27db608d49e24e9b4667d\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0636617\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: 6f2cea3b4aa1b3ae78d31e47c0c1e03df944352b9bd5483cfc09577aab2095a0a7e977e9c1c6451625d85d162c1653423609f141aac93123b2a0bd093c5bcdd9a49b27ace4dbe6acb486446f437c27e619a0f69405afc83240f087feb029fdf8f3f25a8a262b4a3efc4bc80512a96a45cca61d46e42132abd34c2821e7ff588c742062c01eacf9d1689f11648ebe326a91fe79275b5b1fb2af4d1440ff4a9ad35381daf2a2c0aa928216351c5b89ea33bf225d34efd7ec2c81c5af325b138a5f4ac50c5aca196d1b32ce8352431a8f08cb3b59d2f8de5c850e2a06d00c1d7f7027b4aa6757eb0c9fd3035063669a5ff8db2402818c88a7137ee309ef2735dd575e43b7508c81306dc50da65aa2276dbcd98537636ef06d1736f14e2babbc39457dc8d101d22e5516d652151c2092812814e9f73dd6cc805e670ca36e62799b42bc07fa1d93b9332c43a4b759e53ae138fd2b2b419b21a332ea304fb7db57e860509855b2a540cc909aff57e1433f295e8052c7609a88170feb7623cee8ee651ae1dca4b1afa427e2e43569d5b7f2ea688d2e2afb33f1dc0666c4b0df8aee281cbcbf5e964beb3851f7b929e5a4e06766746f22d4fa1a32913c0f449b4da8aac6294348f711d4d75bca509516668944d2a162a53a31229528e54e4bfbe13cef013efcd6687e890d292e42119529c92c\nTAG: 76c80a678b6cd735a2d01acc18dbd90bc3997f57efc2c5c78c22fe4dd13f06fb91\nTAG_LEN: 20\n\n", }; -static const size_t kLen9 = 469480; +static const size_t kLen10 = 469480; -static const char *kData9[] = { +static const char *kData10[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher aes256 -mac sha1\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nNONCE: 0d0c302a5f47e037446f5891d77df660\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: d88861dcbb\nTAG: 181ebd603365ed262b8f2faf5b86ab90a8930bfc0c55cb9f1c88defe20893b2d5eb8ee6809c2452f302315\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nNONCE: 0d0c302a5f47e037446f5891d77df660\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: d88861dcbb\nTAG: 181ebd603365ed262b8f2f9292c597b813c031f09b7a7144e557dd\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: c6105cc86e18eb8376c16ea37693db5c07b77137\nKEY: 8503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371e\nNONCE: b8da7dac997deafd64b1fc65de39f4f0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748\nAD: 1df3f4183aa23fd8d7efd8\nCT: c90e0c2567341ea7e9d968dbde46ecb46ad78dc8be7d47672068de66d6e7eae14b500b94927f24ff6a4f7b07\nTAG: ec90d128ef465f4a3645fd0b2601fbe2b0bceae2\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: ceb2d295bd0efd37c6c34dab1854c80e986174fc\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11b\nNONCE: e112a72933c7b54ed4fad0be905d4120\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: 000893d3434c5be7cbf9daffd81f03545f735cb70d1bd16eab26e07da7ee29b4c607d9a57077d74437e5b01a89c808c7ceca0d3838e5c6ee9947f1d4ee1d5e5e\nTAG: 6d8dc4edeeea81cb503d7389da209ae335876393fdab048965c7eb1a1403d05f8ef059788d08c2e906444388fd416a87bf8706f78d35797453b242618f4a99f47c3756116ec0318d96435032225ff82b902b9b6985189ca438e466154ded91676676c645926e2cf8a5d6f3bfafbb713d646cfd35b091f68e5ac2e7ec10badf1fd80767e6953abeecdc89beb2180dc92be21631164ef801147917e0c8d7841bdcdb52ea03344ab5f2bf3d5157794f5be79f51eb1efdacc0b77b27b72e2ce03d05473203522e3c2c196390d77dc28a35951f3aebd72ee58021d55e521dd029719a7660408ed0da5ab41830102bceb514b0b172d0ee10937111edba82b47e719c3beb3ce49a665accdc1c5bf028d465b5e1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: a07054c760cc66fc704edf950201005031f3faac\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be1\nNONCE: 12a72933c7b54ed4fad0be905d41203f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: a1e92776d0ffcfed03d1be956169f606733755d5a7011620c7ced6a825d8e59627e75692a41a1f2a86e62fc6052873b5458616414584e36bad698cf4c44909e0a2\nTAG: 6e0b32528feac2d7f69abb480efc7aae6cd1c5f8a654bcd10ec5be08b58f5a2198bddd83439d69ba9f55408cdf087e8a7f33fca6859638c5a4e8bc6961afee7534d8ffd95249d554b02e5beb81100be5e10abf679300f4ba514c03f4fbbba3cc62bd13dc8c8b9a726a9f217446c6e3b89cadb40488b177926c88c9d22a6c4ad9deca67f0d976fe62cd24c3cbb2e51dd16ee2e7bfe91d867b77c77a9a65c387e2682d946e617d0128034f5fe436eb7fa88aca82526d71dfefbdeeeb5a2c15d57fce0cf12e6ce0b101ef92d9ca540447e0bb65bc04b6a02e4e6d9378c6eebcd6d530c4ae14243beebb18403e8bcd434c2d88cc121e2df182edc3e1f52b060b1aecc48490c6cf3260299449945c803891\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: d059c266cf6233af730b7a229b19356a4c6fcf06\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112\nNONCE: a72933c7b54ed4fad0be905d41203f5d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: f414f0321370af1490839677747893befa438051fef5f02fef488d7b84dc03140b3a5dc3a57041be4c8b688633110fc07251d877de0d6242928e4d937e3cc58ed611\nTAG: 4ee98ac6f10e179314a251a9db190037c47b9fdfc66321d83a995f6dccc5259801b18c3f466f7f4939b7d2d7196e0b161aaa013721e81bb9707b974b904f670e4aa495357b562a254908417b65fa69e86c42b3efdd423838575db08465a7f4889c85201629f6350c0865b5b0cfbac4f51ea1eacc8f9768014975d780438c3bd77f7f18612080abdeac9331e1a068c8f3a345d0026c5723bdbc48643c1a733a5b7ca9078424522db9491bc38d2644dab2d75499715707cd83ed655343ca73672d480f1420754fbbfeae0fba05be3b5235a5fa48bda9f39df0b298351d8f4da3fb8a2feab8b1aca9335eb31ab03f40ab19f668bb864c798ae08de37bf848fe2e898172d26fa23f383787d7199a6990\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 8aac0687e33041fcc18da154b41f20a6af2bfb28\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7\nNONCE: 2933c7b54ed4fad0be905d41203f5dce\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: b51ab2f8c4ba3e8638d454ea72da5e3cb15336c347c442b8e1ade85c5cbd0dde790dc707d60d452d5b88d72e718f13cd0e0f4c9149b72e8d6be869d817a3232513c958\nTAG: dc8feba112517f6a820ca12de43c5d64c51cca713d3702a2b4a5cdbe86a90946a7369ec26ea8b5b35df329bfc6e29ef50c2774649134bd6e3f3fb38ef13d9c7fbe066e9cac4fb88dd0c02b677472ebbb2d0679dffedcaf13fccef6a25aed3a272ec01e7680becf80a624518e1333d28c97487b06e0581cc80c94989db4e93489f3dece9eab6dbbee73aeab572d1ee7705d18b899d9c62d7a370311e64131a801400b580d3c8f7af88be485b84fbdd89f7f7dacb29afeb56658f3d8e49f27adc542e412b0fd652b9f60575bf61622d7306c54bed50b43d89cdaecf1981ede09f9ea36fd174118ac178ade5f26ba04fcbd2eb035f030e2139506456ff8d342a4e59bd55dfafebda23a66cacfe6d1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 53658226c112b86438dd27b58a71f9e36fc73c1e\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729\nNONCE: 33c7b54ed4fad0be905d41203f5dce99\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: 87bf1af7e4987cdab35bfe32adc6b1be286751426cf926217f2c699bc095bde7b6ff3d6cc96b79328ab776547c2cb756d9de8c1245d21619a51dba8364ef6914590f15f8\nTAG: 55b9a1ee198080846389dd088016acab73622b1e2f902b0776846c74d99c27e67c7bbb55b2ac0efff91af0f6cb2ddcc0b5b8bab768048bb1662bb343d2f3a164bd4ca4850fbf8111b29e9be7bb836e2a8ac50ec2cb0b1c4529e50904007372284ec9187ea27d8faa03fc9535ba744155d06c06a0a97d96c03de71c13c95f185f426615f1368be346aa5ebf80049ac6771763235f2ee44dc910a01035c53caf8f9fa6f51fe3ad094513a8db177b6a66e24d21e1e40a23aa3629fffad45f84a58a29ef9237fac5eb6f5deb3825de6f399e46b2b2b91faf64ce45d164155e4dc757f6005c7c3e7fb3d8829623fd7c6ca48b923be90c38f5209c6d94696d2b2b7ebc5dfbf2cfa1a37e8ed038e830\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 6b7d5268b0b5037afb5be5af6a0ceb34e7656ac4\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933\nNONCE: c7b54ed4fad0be905d41203f5dce998f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 44237c388c3d017300db0fc9827f9b575e59bd971a0fd89cde4aeb1763912b49d50e92ba19d7594ef6da27320ac2bd1db3bcfe56b68a9ea8e2347d69890fa1fdc8bed782ad\nTAG: c1068d84aa962e7b89090993378806194ffbf677e7a66524d2ebfa7bdc52d76d09b914168eec4a5fde0953d4567affd3a4e0e48190e7a84471efe8ad1ce577c21df93b9d641c865d90ea1e6069bd703c4ee372379a4ec94f7e99867179561d41e9053977cc985b98f7a9fbc675d77052809b89b8f23f993e191ed1a07f97b89d05de948107f94245f216c413288eb4e40f3cee9c00c15926657d9ef9187ab405ee8000b4bd84d5771464401d59", "156a97eea7b23b4a6e9f1587cd3b75826a621b699515829dfc57740ad5719c43e88d835e13ebf703a0966779d31dc26866e0e9d27e3376137c92c97af49a876eed425d3980f1904f013143faeccb4fc920185ec2325361e5b318434487f9\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGEST: 63efe7af502231420ed5aecce9a28446b257828d\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7\nNONCE: b54ed4fad0be905d41203f5dce998f8f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: 2f25b5a3b01af5411466c8aa5d8ece037434d5e12b62306f2732cb063d0dcdfc2725e67118a242a5576d470fcaf9be6d811bf2789cc66f5561d0542438b5432fe713187a879f\nTAG: d80e1f4edc2137f430d36a5ac93680c973fd7c64a03f7c2ce1b7e33085fe94da70ee26f47998947310508448cc70daa595687eaa540e48f048132de108a045da6d71170e39bb45160a344a2fdb5cb56ab020b9c0842ef2a1a5c83b4d63359fb8d71506d1e611fafa29e77d0669474d135e37bd8aefc3e17f024093186ff80fef73889e887b8d6672256dd592946ea84becc08c29445c8d978e896b1dad5e2608e347e54a97f3f757d7362f95f4cedebed07ab45b05713f7119c38d15a0f22d4259893f5e2401267543b3f78b52d54dd2d608173119e2dc7fe01f66589628e95fd7528958e993b21e4db664b8cba2f776d5cc305c42553da936d580c17d6f5090ff04e106c6488b5b18dd\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: 1a555c300a1d1bd5b03cdd6bf2a678621624eb05\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b5\nNONCE: 4ed4fad0be905d41203f5dce998f8fb2\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: bbf934979c5d9da5c8b27d0341a164d640f12956a392303b0f1665935b5c39de458f53e0a6f824cc56081db1615fc67ffff0d300d1564666b81bb37da59e4da30de9d6a19df74e\nTAG: 9c18b0f9ee6a167a23566325eb330660997193385214abaf945dc18fb8252fbab8330b9809a6f1b300ae5a0c9d841fdd6f77e8d65f1cd0b221fb9b94b5e5d7215e6f501f490a7fa0a754efa7f2d9f5b927a5da2bea736e73af067e5d988901032d503ef3ab89894d03e48a096e7c31fe64bbc2c13f02d878590659ee7606d9212898d4d246e52b03c5646b1c3fbd43baaeda6548156987fc8f490f5763da18198bf0754d20f16dcf7df6bd35ca4bd95cd5c95a60427fc541aaf1f6923ff150de825cff9900ac9492350770bdd13fc4d0ac858ccdf36efbaeeb572aa45ca5470a04a7fa1ce5954d58771730b7202def47b303e560e81ebba2080d044a0851043c5af1a05c30a5a448eb\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: de9156349b578f2f44945ec6a676a67a829daea1\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e\nNONCE: d4fad0be905d41203f5dce998f8fb2ea\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 9b9bb61ca4d5aab8d0342d2b174e8f39b8e21db0fb7146025fb298016df3bab4363bb47f5b1fa038587df98851d09d473a68c959ead8062c52b9d6de86bd6a0fc9a2daab4667c621\nTAG: 897472da6d837ec173c2ae738721306e8d3c9e5353b65d1ecb3be3d0039739de379c9b06f42af8e952aa9acb4780a6de888dc8c54fe9a2eec19ae4a864b3b9696d712153bb66c49825ec5c891e30915c4b7b66b190525195429426ad694467dab09e8c2f9f21ffae4d54b74c0c5ed9a05963651dfcb9560677693429c63f3024043385ab0a31066243d42b80d2aa9854005504d6c8b9b7f736a8731c5dea0f3fc9007aae0c6edcd0a91dd1bbc5750de12ee13d4a77379cd3b2c2bbac885fa17338011b7b81cec6711fd5d65178f20a06f5475e09c202deef57939161ca8ed3e4aa9b010277acddc4478d1afb64138b276e265182ef2dea321b4f136c5c439ef6d099621813209a43\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: 12812df3aa7f3bbc899f6f248f5590e02570c292\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4\nNONCE: fad0be905d41203f5dce998f8fb2eaad\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: 33ac574b7962d03b7816c0199a7f661a485832b9023867a749fc4bfe8ff0485571744f801139afd8215863b23e2d68ee7a254c60d8029e0f1ee10a1b947a4984f37f98a6767f52661e\nTAG: 3ee493d8cc764880f4ae7fc3c189b95bfe11d89640e3c9ddb55b230ba0d142d53fe18be8b955cf0d0d237c3b295459fc4c723b27ba8a29ed8dd5c80fb9839e30bc92e6afbf28ef6f72d1c28e5452460f986444678e7ea982d8bae63b69788012bd43aa66e5a521840c79831ae74426fb16f0917c5d2747b9c31fe43ecee604f26afddb093a9f1f1205a4451d50080ed0a9208a88ed6dbde37a674932bca837c46dd8725982c2ef6ac54511151c4cd59e511ca3835ea9bdbbd2e0842dc9674a854b8d4b063d0685086cdf917a7b7983dcc28af2addf3bc302034e365da1a87334a68477aa34a3a878d926d4c17f50316749d917e172e47597d060403a0279ee68dcd864652f37c6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: f3c89f21c327fca4aa400fabea9e39780378e901\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fa\nNONCE: d0be905d41203f5dce998f8fb2eaad40\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: 8517e13ca00214ebfc748efd3a233e8b64801dcce99f9fee3d271357220dff7b1678c1cd6392a6ade62146c0e783248918a7cb69dd26dea525bd9060f380dba75e502bdc19581ebc3295\nTAG: d1f1280699f5514e4a56b08a5c3146142ef8e44c18ccac74577ec0feffbc29884da82212cba95b31d8464954498340f35e9a3d84256e8628368edd166d4b429fcb76e0072d2f5276ed8dc7bd5f34e754f6577ba00ee7ad74e9c89c4f82af0a7716d6ac77c39643909dedcc9356ba42f07874031878229a076da9ac7b0e49b2d170239089ceaf84392e889e7bceb3e383d0f744e229c53e8654ef0099a11773885efc456883e4a973557852f70c0e35668f3f212260e131962087416e668c9f995f226152251f5873fb89047a9dfa65b9fd0116486092b1092c4ee33e7625772944c06a2969b162986cd46d2b4185af2658c25c69a7a599d17f37be0fe1c8250cd7df5e6cf304\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: e8e41988fad6c8b44c56544964cfe0a347b35b1e\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0\nNONCE: be905d41203f5dce998f8fb2eaad409a\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: b1cf0005c93547664e09031d923c4ef9ad663a808189cd8aaa68fbada340d8bb13330499131ef3788cd91e9527702a2388802fdd2e91998a53ffbb466bb7e362d06677edd673cae71418a6\nTAG: 7cad97328236aee512598d1a4c7d51b2154218fddf0ef21724921c1afe61fed1b7a1d1b56b8099dafff77362c4154e4bd7089fb0908ab1de49244a053997a0d04229250e52bc1ecf4550da5753a35108b6752f907ddf7a77fefbdb5d7290b02ae231d019d04ad9a5295336639e7e6c81ea46863d2bc3c4fca7d0f3b05237306759b156ac1fd10b044730987d04a943f0f598704f2191f6c627299b92a2c01a4004111c21f650376c3f28fc9793eddaefd74a2bb3cc5dea73685c954c63b71f2924ebcf9853ff084117cc84a0785d96d8d55d02723a2082ecd8c4b49b8d4068071593aff50c2e08fe7c49f6de1d7586e299b42ec723063f2341fd9b3445cf40893cf8c2bfa5\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: d1c7b2c04dc25fe7b742a1d659aec20e1475ee4f\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nNONCE: 905d41203f5dce998f8fb2eaad409ae0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: 7195b9643e0f7a4293c865db36442d4fe2cf3ea2c648dc88cd5636fe5e6bcea3d1197966e800da8c78bcb8830f3fa97671aebce98549e62827adf612e70f946673b07e2f953c8fe5e0b97aa1\nTAG: 3a909a9fa57e720bea6251ebbc1a71bbae1fd894f6bbd16e11abe51bbd1293abc0ad4c152a08b4acfac7a65b723fc6bd6923db66bbf202e184e8dbba150e6021ad1310ab4752cd4ae874409688996fdf88636084db7762b9578bb0c98d77c5156a82a97a3f6989db2359d252ff7c6405bd4834708c88d4481b35eabe2f7069bf8bac374fa382f4225659b41dd2a8006c0ff8d7c77c8d157e0373f45fcc0abc804a9f8a6b816f2b729befd606dc61e7f763f18121f56255662e36d120b27adfc8e1b528bd8ced5386cdb62cc73e58cc7918d27253297e9cbb9c740c7765cb014cf7bf160cbf09e00d32d31d462f356791bcf1286bb9023254afa6c41fe3d165f1bf7e6c002ef64ecdf3b5e073fb569028032e6713\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n# DIGEST: 116", "e20ff1e79e0af464d473b1e7c187f4dd66007\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90\nNONCE: 5d41203f5dce998f8fb2eaad409ae021\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: 1d50f3eb1cd76d8e08a9f386db0cdc3eddfc694e8502ccae47ab431c2935fc461254b80386c87690b01c22f38ea9bd118d2e0ed316ac249437a3e9c30f6c1f767c150216ec90e6c8913ff3d469\nTAG: e44bfe162cbba654362d1c86088564b14120815f181932e9f111d6da5efb5f4caad61f1161d1d148cc429ad34fcad9128bab101c7cc004fb8f0b516216a809a6599b5144b4c5828cf159fcecac46a86ba0698a6e5267610bad10cd7ce9079b6c691c2ecd522dbe3563074f2ac85712e58cca41761aa94449199a8b440016e68eb8bc9db3ff2c2bd9c64d9d3c71566bfb5d234af1a144859431f16ce6d65b4cc604e9cbf4e5539c192f07a2981b55582376bedc07aa20f5a841c9f500915fef353c37446511da3affd743fc551d5c22454797b3eb957770f1ca16da138c71bf5c00ab7893ae83b3f499a2c42f55551a986555925337e0604227ebf1c65312f0b1a8cdf2d06b5daf3e5ea97ceeb2f33421d0b44b\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c081d0d09b2c9eb39a372ef4a7b0246a0956b0f9\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d\nNONCE: 41203f5dce998f8fb2eaad409ae02116\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: 4d754c684658bcc89208bcd75f24dc8e18b70a28b8a2201535e60ab755fb20e1ddfa98742d257eadd02d96c6a65f880d058312311efdf67f9a106beff9f5ace0ac6af586aefbb5e8b4850e584bb7\nTAG: a9bc9bdf2c16ace8cd471c2bcfbc2cf933fc1886faeec62d4809ed5cc4dd4fcb6ca6c42f31bab300264b278dc0b10fe8a54005b590160b410dcdfa3db413dd04a72c897b262ed0fe4ad6683fc5229010f1d2bc939e61a2c9e0480ef3e03e90f74a3edd8bb523271adc45d097b197ca9034bff48677efa763e1ae7528d3f775f827b9c56ba7f042d7f9413b4c5d01972e86976ab3a398afae27faf3cd19ef1b24b5342f9d067e7702bf1ae9679540a72f7a12cdbfbac234d596856b3bfdc2190dff0b50f45b4355cfa25ebf8d1d16528fe6c4baf9b0e5a50f95c4091704e939c8ffe69183c2695ecb1f12f24fdf288a8e8bdf3fe510bae70c46d0214303d5503d21366c4eec24cc2808542a203d81789efbb6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 6f7bb1f9e2772eb909c315e653e4737cfed78a18\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41\nNONCE: 203f5dce998f8fb2eaad409ae0211641\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: 25bc47e58e7d4f3a417c95768699c92240a2be0e86232a41fe02d64f66716023996772e1118be48e685042f989dcd9cdc574614c9c3989f1885b4b71dfd5b1c32c1321ca41ca1e6ff1828e677e30fe\nTAG: c96a78b9ca68054bc1ed2a150dff9f9585174f343d3df80350982002b4c95106b72813a90028f2855faef235909686607f39655ec48f4024e170c9f9574b0c81b63c8df7af6b4d0f0633853a09c334379952bbaead7415125f541a01e320c5f5d9806b71c3ba71890e3229e751f25ac82c245596b5fa688f1b13844d91169354bf0cc03cccf576c2216aeb9eeab33e2a9f8bad2145d36cf0e7585a02296a7a3b434f4efeeaa4d7ed65befda32b287d9d0946e25dbc0edc22de871184ae8c76777528b917585be784d5e0674b1e5693d0b8cbe8253f8db67c879e1d2b7ddd5df4777a15509f813eb4d0f5a935aa011daaf0cc1ba2ebba9a20a74847e9c53b648f6fce4c08b6e7babc1919e6de22210a6f05\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 172f4992e692a88f49628e5d3937959be01aed2e\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d4120\nNONCE: 3f5dce998f8fb2eaad409ae02116417d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: f1ab85a35a17541efb4f906e7fc85e64efec6ab40d59d3da920c4ec09797c3ad47820e9d934e51e3f4d097c4a555575939bfaeb8cfea062b64816a160d6e4d1ff02a5fded435ab9aa2daf22fa7d676fa\nTAG: 14684ce099f4f0e11e785320debb89c79c03e8bb8751860d3779b4b553f6dedabdb23119d2866ad63fc974a6c6442b734394cb6705309a4d3889e90c4a222bbd14624cd89a9c3f904367c418140375dd592107f839ca94d43d09495a8dc8273201bd8f5a447bdf57506421a975ff4db3aab7878ff18e5b73c8f072a8d092461257d0182710ee9df9f86ac5ad321eac7ee96dddb27ecf561db222ed1c7c183c2ecdf4c7f57cf295638de3c4176ea244100d51c006282e98af1a8fd540daf0ca6f2fc0b88c550b4ab638760d95f2f9d09612da198616cd13fbfa1ad12a3fd30ac9956491cb11539a1be43175fb1452393f13f8d03501c89cf5962730125a7e185dc089b41124fc1e7f69b1fad46bd661c1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: 00133da1f7c63fd5f0eec364e9a359be02c1d3da\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f\nNONCE: 5dce998f8fb2eaad409ae02116417dae\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: 5d6bfe91cd2273a9b986397a38e81be5fbbcd0403ef51873c2c467a9fbadc7bf540e83c538a43dc0e0ab780a4c4b1f5b77ced74f65b61f8b8b58b26fa3e8cba568bb717dc7071bf82dd8c68b068e739706\nTAG: 2ab9e654859c35e065f763d949d43c65dc85dc5d918850809ad8efaed6569d4b3ad064bef3427ae4c3be571fb914cefe2362169bed5b4c0cb17d2106fd6993d20ab8a8b70edb5f5d59b3357c8499c36e2b0b67edf7f334ff02d599031f43252b8d30d39affbd2093a6687c771b672329e14901ad9128f063267d3ab332ea31a79d37cb24ad0fd2d07f23b13d4643d1d9c529e1dd0490c851b0009fc1192f2438a48aba5a39be2ee925b1a38647197ead5cdea3499daa5abf9f4503d3581115a6847363348d5e7933948dce867752cde69ecc401012674ad75e12245dee86d775989275a5fc635c66d42c01b7646e180d28798905a3beb210c049be35b522ad580e1ca29f81b9469448749fce961ba6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 60a6821269be6c5b985576b245f106128eb0b325\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d\nNONCE: ce998f8fb2eaad409ae02116417dae0c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: 16e3c681ba1ece3bdbfb1da491f877e806ddac5f1ae96bc406bd195c9d48bcd4a9b700a8ced21d824bfb99eb057e401c3529818725b51e96c576e8009bfe4866e98f550a23ef4748ff761a4d1c44ccb5eba0\nTAG: a30286b3d06306818a268db0e5116abc2c7361c5a32d334d8ce5f4007aaeab750980018b435c79391151fdd33df2a97dc2cf62c4426ce45be43f7e4949be735bcd33f0e81cc6b5a3c2255fbac9ff5a8fd7e7b57554d7ef00640d92b605c9afb0c19dd5ca4c79c409d85c197e8f21d79e91df01a817bf68e8718bc771028c945471ae003c0a210c572b79d772560031b5d3e5495aa8d9bd6fa3f8ae9976ed7e7f8d7275030d2f12ed5ab05276ebebafcac7d0ca41f9d860583f800e4f1b9658b12fab31fd63f6a5e4b80463918f8295ae11d7b97f9b5f89b8166861aec8f1b1417163a6a8adce23ce66c9a4306acae7ca75435cbaece814d6010a3e335bd7db9783812052179d5337d1c353be6e0b\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (19 mod 64).\n# DIGEST: e2593f3b6741a9ed9fa188fc06efd057556ee624\nKEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce\nNONCE: 998f8fb2eaad409ae02116417dae0cef\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df6\nAD: 60ed82933f62be8dc55b43\nCT: 9b51ba0eebf72bbcd7a1b8452a49f30bf2d96bf0cde4d9e5efe7f1903eb4e09f53aec649c5a8ad7e7fc6c28a0dcf4bd3556f4377bbf8b3f9c79dffa5978692559f732c109a7a02390746f5975d5a0aac4d04ce\nTAG: 636f7bcc9b0b5320643f4b6acbecd60a0a89d2511621ab47fa4c9af610fa1ff9c6cc5cb8fb64493d6a4dca0e94a90794f31698cb1c5bb5658e8b6a63a2cc9b2f1f297240d3d6c62087e32f5d5e9f9d608eccf4b41253933c7391983db1138012a5f5caa5abde25c8a16fc33cccb0604421d985f198c48552650f5dd299bf9163c136c042c9a35cdf7120a702bf460d739ab264fe1f58453ff4990f7315379ff074e01730e7cace8d45a5d0355c0acc409db8fbc759516ad56818b37700548aca769719937103787311b6dbc8488d9e68ee439cec3075bafb725f44734326df9b10d6a4f7133ba84489a9985febc96200276a1fb513f8a3c062466cbe63e7ad668cade7ea70c3b8cd040a6162be\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding ", @@ -472,9 +552,9 @@ static const char *kData9[] = { "ef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: fcbf4939de59426da2002fcb8e3a4d07604a168e9ffb5f13afcfbdc45325e3ecf0659ea736f9dbf61cec1dbed1024eff9e3bcb721c28d004549fd84e2cdeae36dc5e5abba4f0102835740bb877858814fa38290344addefb47ae583171a510719d9aa18c8f8a5e01396fecf1a982e162edf1047f56e8e4a839c5560473f389a4c7ea8fd5e03c7f2d31ccbc094f04e2a510aa57fe30f37cda765ddcd2bec89ab3f1f5f2ca423c68664c3303520c71439230116409dd84b4a26c1a102e521253ccd455793b0d883b1569b5013653b1c606143fcba7252a70d2a2026b989d1f67fdd594d2b33bde1bf7ee9bcb6c013ea8886e0ec1341039b8d8fbb4d865754a62d0e2a1151c917368e93fed0cb29e2d63ae176cbd95991db0a2864b27b6cf5782093bbe0ae117c7b2931f678bcb07aaae3d955b61e7ebbab8e84442295700cebf1a8f7d846fe788baa0660608bcbfa59c4bc9e5d163654aea99635f9bb63b8074478fc97b4981f5e5d35430b1e18332370dc5f4e94616b0270112dc446335d10a169e8a6923765647607ba9ad65c6f6f008cdf041af2e136b398bd1d1f67044f8360d9c1e90012e594a353d8e45aefac62173fd1b03ee5e4aa6961d83cbf1096dfa02f36ef62ceea5bf88f95301464d0046cc8ae3bfa611caa0c63d07\nTAG: 850f8608529bdc90c222092bfab0239a3b07b9cb1f\nTAG_LEN: 20\n\n# DIGEST: e654b4c78e1c0061eea2996fc126c9bfd41eb6d9\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b\nNONCE: 66262c0f0368fe9d0cb746bbd55813e8\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 3a35e98cfbeeabc993af7e952b148ceb87a110d851bf2d036e5eed8482b39b881b3180dc50ce782a8cbe2c586863c5d038fc4f37d4a96ce8732abb984ae90bbccb86f7766e9712e43d3ec40fdd7a1c88cfbf14743908c78dd4c19d449db7557e0c30127d35a49503d8dce6c9a9e6f07e1c86d7e365162ec05a8b4ed301645f8274999a6c5beafc5b27dd68608aeb2efdd9cb00c6236bb143e7d91709a3fea0e865330680a854d47ae3b6067002a01aec6bdab9e60c19ca66cc39d4a44ada1e21720bd5bd87cdfb31b8a9bfac77feeafc9f8e92c4131d73a3cfb64efae2e8d14fed99c2bc88f63f88079d30b78df18ac03db855338986c0fd1614dc6afaea71130290bf52270999f3392128bc48fb0a6d6425c383b637f4c293e177f479f6a2d6323ed545bbd564f743850a121da96256a8daf163fd80835558b21e0286cf008e7cd87bab94222fd7faa395ee2ba19aa3abf5d000e7514a35357941b97e4ef433c30972e995b0991c862cefdf79712cbd3655ceb43e1e5f5b0d3f5e275bfad98a667d997333d704e4d70acc488b6829d18d1263b841307d592f760a66761e800b4676d64546a1d8630d97218a7c5f555d4a90cf58eee4bd1e1fc0e15f8f64d336edf9ca00183169f237a924e7efd5a339f3cc1bb90b4c513bb9969ecdc9beb5c5\nTAG: b24af9f27ebc204aace6315a197550907bf6079b848eb1dca1a96192ee7c8107\nTAG_LEN: 20\n\n# DIGEST: 654b8591c7f0506261713e9ce7a6fd24a6b9357e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f03\nNONCE: 68fe9d0cb746bbd55813e8d454817c21\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 7e1b59c791aeef6577c7ac69f8624352b7c2c7d1c8b14a7a0daf8240cc9d71ff1298eebf18ab6d469e1a327bbc3bb539df445ddcf7dccacb54f0a4ce6cf18bec20101bcd62bb2b30d8426a1e3ba949dcb69767aab5b8d2228267d784bde55bf887403188cd39453d32d50428bb9846212e4bbd3843161dc830646ba6e251ffad5d1b382101c7a3c87163867391fe44a58639e8a29fbd34cce657d321d004f842e0efa9d4cf03f557bf07a1201ac36258a4810dc101c427e19bb79f0800f27732094ee1dbab2abfc061fd4a1e84b2d36e560a38465cd4c8bc04bc27ffe90f1ce5999fc78d9432ed98c8dac4047a61547b6205bebe2191782ca63e50bb29c9bea553f5de0e9051cef35e3122c00e0d3a2468ecb2a898225c5f65fae573b17a15e013655a2ddc62adfe61ce5a7e352539c6d27c9726d2ca5492ee25b6d8233e32383100d131abce97b33dfe18a415156917ead8fe854c53bde97c0202e782679ac46f05afe1b9ad6b41bcb65bc8a80682ea8092bba0c47a9a03d08004a11756d9274ff83d5d468475c8a4a56f81cd1367040a3f75fd998b5fb3380cf8c1630fdb948fa2d0930fa5b009abc755f4bf70a59847969500d43e2db40ee517c9a6826e8e3746b3d40f9a6e7b35362550cabfa601a887bfabfd28476b3d7eb8917d66bbe9d21bfebb5a\nTAG: 22e74d37769a86785c57bb760e8a28de7a7ca3207fef4e80c284b4\nTAG_LEN: 20\n\n# DIGEST: 1eaad32c8d0cefaa5e2c503bb2185a73e6387fac\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb7\nNONCE: 46bbd55813e8d454817c212d3a0063be\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: 26234359615c88fbbf5fddd43d4832a57bda2037e2177b264309e2e50c28efc28c5ed5cbf6dea046a14caa64d499352ecba0eb2d4bd376c6b1e14048033e21b9ec63f500a70c53be60099d9c9e46ea8f250d3d20c834c3c0638a9245377fe2b76b74ea14bca6b4bdc7e8d86ca59f397fe72b8c4cbb8edc3dca7f9f234529034fe5f1441210a8ad9b4694fe013f7e4a906fc400a27279f2a1a31700750e2209f6296ed808c893a42214b46f765c9d01cee46df18b02d5493c3a1da3a6258e89e47934ade4da2fa9eef7f5b1887a60585684b1c5c2ac60d94a62d79694b063444fa36674ecde12095e9203d281da3118d058f547ede5e4b67a11ab55c1b42fe01a94a601ba031c5b0b4088563344cc28d640bf2e7c81a259211b130bb9ba9ad93090c0e11cc939b99046fe7f25132672c3714f9973513af628f21942da6b459a60e31fe1bb9bf4f6259d8c9fa07d796a264f94d64122d186a0220d9f44b040396c9c187d5ad1d806ca613a4d0f5038a8b77177f39361f9107bea7700ba835dcd38cb48a6c5af0bfbb07b7a2543f1c661f1dec06acadf8", "860fa2220c67bbc9c97c44cb7cc58831563153149713ca2db85af46932a8de891da1d4662e52ed5b7c1c15d5557a0930c7177c2046b50aaf14874512cd9ed62efabe5704573a4f44a4ddf71202a6ea8c706842299\nTAG: 8eb60165231c67e88b0abd1d7c1c3dcab1b7006d4d3f\nTAG_LEN: 20\n\n# DIGEST: 862c0517b3658e9b9cd27db608d49e24e9b4667d\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813\nNONCE: e8d454817c212d3a0063be26e0636617\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: 6f2cea3b4aa1b3ae78d31e47c0c1e03df944352b9bd5483cfc09577aab2095a0a7e977e9c1c6451625d85d162c1653423609f141aac93123b2a0bd093c5bcdd9a49b27ace4dbe6acb486446f437c27e619a0f69405afc83240f087feb029fdf8f3f25a8a262b4a3efc4bc80512a96a45cca61d46e42132abd34c2821e7ff588c742062c01eacf9d1689f11648ebe326a91fe79275b5b1fb2af4d1440ff4a9ad35381daf2a2c0aa928216351c5b89ea33bf225d34efd7ec2c81c5af325b138a5f4ac50c5aca196d1b32ce8352431a8f08cb3b59d2f8de5c850e2a06d00c1d7f7027b4aa6757eb0c9fd3035063669a5ff8db2402818c88a7137ee309ef2735dd575e43b7508c81306dc50da65aa2276dbcd98537636ef06d1736f14e2babbc39457dc8d101d22e5516d652151c2092812814e9f73dd6cc805e670ca36e62799b42bc07fa1d93b9332c43a4b759e53ae138fd2b2b419b21a332ea304fb7db57e860509855b2a540cc909aff57e1433f295e8052c7609a88170feb7623cee8ee651ae1dca4b1afa427e2e43569d5b7f2ea688d2e2afb33f1dc0666c4b0df8aee281cbcbf5e964beb3851f7b929e5a4e06766746f22d4fa1a32913c0f449b4da8aac6294348f711d4d75bca509516668944d2a162a53a31229528e54e4bfbe13cef013efcd6687e890d292e42119529c92c\nTAG: 76c80a678b6cd735a2d01acc18dbd90bc3997f57efc2c5c78c22fe4dd13f06fb91\nTAG_LEN: 20\n\n", }; -static const size_t kLen10 = 487666; +static const size_t kLen11 = 487666; -static const char *kData10[] = { +static const char *kData11[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher aes256 -mac sha256\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 9c95dd31953799bae5073105f0694f1a0e48afce9277fe009ff26b28ca9ce072\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nNONCE: d77df660ed82933f62be8dc55b436965\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 5485a38963\nTAG: 7bd49a1ea251ed03f3478129a62964bc26d5d16c69be13c2e657f10e971352bae57fd40d369aa902d9e8d365c498a4f4829af1a7e0da1bbd913e36\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 9c95dd31953799bae5073105f0694f1a0e48afce9277fe009ff26b28ca9ce072\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nNONCE: d77df660ed82933f62be8dc55b436965\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 5485a38963\nTAG: 7bd49a1ea251ed03f3478129a62964bc26d5d16c69be13c2e657f1ae0fe30a3006727ffecf985f1a015f16\nTAG_LEN: 32\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: 3519ab2b2943d2a50996628f6c26bea29f84c95af4c128cc3af012bb358ee9f7\nKEY: 481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371e\nNONCE: b8da7dac997deafd64b1fc65de39f4f0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8\nAD: afa22993a340b9b3c589c7\nCT: c90e0c2567341ea7e9d968dbde46ecb46ad78dc8be7d47672068de66d6e7eae1\nTAG: bc33ca235ae35aad13e540cc9f0714dab00678652cc476d57c543967c39dddc9\nTAG_LEN: 32\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: 6d9cc64eaa0b3c7482d8431bff6d24c9bec634ef6459d873af4ff97756c9fe46\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nNONCE: 905d41203f5dce998f8fb2eaad409ae0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: 7195b9643e0f7a4293c865db36442d4fe2cf3ea2c648dc88cd5636fe5e6bcea3d1197966e800da8c78bcb8830f3fa97671aebce98549e62827adf612e70f9466\nTAG: aecfefa9e983ae857f033408f04a2f4dc9069ce275e00f9c35649716c3c65e9bebbcbf75ea3445ffde4dea79bf5c3d1dc4cd15a351972492445d1fdca03f7834b18e556e7e37e1ee1fe9a3c9d99010fee3a7506677e3ac5cbd5448549ee3a5e7bdd5a7b584767e76f1964a864ad2dad467e35702a5771d960b47f0cc4654a09a5cb4b7336fd43cd4fe5290b15ff50ca286f654b215c3bdbf3b918ae042fc17626ebdae135302ab9553416224cfee1203f804d99804d9653ec2a99a7fbf5d2a54bccbac2ef38e6d58b22ed53804cd5851e07f7cefc52df184a3c9acce574ec14c99a3abfda4f21ad119dec4a7743b384490136e77b1216d0df8b58607cc1cb4dcdbf25682dcdee237b773fe9714d24f2b3531037614585df4f56c855fda9949cd\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: bb57bd76fe5f29b96ee3f2d62d8f3c4d1c8c986c0991382834046dc907fe1ea7\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90\nNONCE: 5d41203f5dce998f8fb2eaad409ae021\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: 1d50f3eb1cd76d8e08a9f386db0cdc3eddfc694e8502ccae47ab431c2935fc461254b80386c87690b01c22f38ea9bd118d2e0ed316ac249437a3e9c30f6c1f7636\nTAG: 4b376f558ddf76137f0690dd8eb88720c506760c182e4cbb2fddb2f64e269bbf9e4bd20d1f2e1b8203f10df5a92a5950a7394525c2c36006716d741e686473de9895bbbf47849ad3a340dd262c095263be3d7678734ca7edeebd4eee8d3375c8f552436e3a90c7305aa0bafed0bd42f8f651a38666e28455e335ed58d86ed265da1e9cb77c780d4be9a5674e3bf7b624ec862aa9f5201793cc1cfbad7d0f700ce44d3894ed8e19884277bb1e58fe2ff4d4439163c6642f11f13be03c62d5a13182edc3e62bb72cdd7d0e157fb20fe4815a6803425781c1701d0601153811ef79ecf6ed3852eb87f886abee0e4ff13622b32dd040691810a80f3e21cb1d24fd2dd2b74cdeca38c49a7a1d68d72aad5484c6907a4e6440743a56cb8b6394d2a9\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: b09802c727f0f85cb590791372c52bfdc2e69de36b9695daaf7a93d2fcf56fda\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d\nNONCE: 41203f5dce998f8fb2eaad409ae02116\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: 4d754c684658bcc89208bcd75f24dc8e18b70a28b8a2201535e60ab755fb20e1ddfa98742d257eadd02d96c6a65f880d058312311efdf67f9a106beff9f5ace06577\nTAG: 261eb376dbb9e82baf29687e823a93bd63961414b1bc396d5fd21e70afa47aafee1103248a9be160a0cc35a7cf05e6a07984ccfc354d37903f9a199698485d5e136648b1fe6adee40b0dfb589979df3b158fd8b3d35c8ab4c387f61782242e23e5698e5f7ebb4e733a63f3282ecd0c565f9c9535df36f6156aabd988e06e754fb3082afa90800af3e564a8d275d9afe184a72d538bd26ca1b4b8c12dc0ed449e643c1a1aeb8b943bd74abda7dc19b2e303a778d348fbbfe221df38d538c921030ce6485ea2bf899284e5bc8329432b16e4562d1609af0fdc616d3bd91688c2655dc0d5b436c0db8e0b434d897687e91a60f749a7e5a6e88e43a16b5f7a4c68d5c8325c260915139d901988ab924f7e9b72bb16020f0cc0c6b3f97ce4380f\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 13588ebf114df38b7b59f890dffab8b1a4c85f090c3f4a0e508603ecd34f78f4\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41\nNONCE: 203f5dce998f8fb2eaad409ae0211641\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: 25bc47e58e7d4f3a417c95768699c92240a2be0e86232a41fe02d64f66716023996772e1118be48e685042f989dcd9cdc574614c9c3989f1885b4b71dfd5b1c323db52\nTAG: 9e72a44693493371870022657655991223f9a9570caa8d43b20b7e567cacc129dcbf03e2a7583b5b494bd6c52cc66ff1d1b3ecb7c39e26efb5fe025ea5bbef7dc579c58c9cc8f272d36b3b596910477d4af7e7105055f7769ee01dbdfc684956d44d583748085de4d2d4f5a9aea177e1f59f4b851c2794e1ee26ef2462b77f1ffb6d41fa793cac4aaac3aa88bcafc60066cbfba2af3a006bf929621350aa66aeffcd8fd7928e50df5dd27ca0831119107aeb0a2e7af5531da7b4033a049180a477ba24b8bd8042c4d30385ca098f9a8f16be6c286811bc036b827576da12beabf69c481a2633f6bcc7cc9255d5c2ffbaf5fc5813c6350f45b8cc664ad18304cf895907ac6c1c1fa5f9485f8d87e0a61f702334db886fa0aedc353fe50f\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 25c98c13e308408c882677b48f3a49a53b500146eadf5bbc0f5a240ab6ccbfb8\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d4120\nNONCE: 3f5dce998f8fb2eaad409ae02116417d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: f1ab85a35a17541efb4f906e7fc85e64efec6ab40d59d3da920c4ec09797c3ad47820e9d934e51e3f4d097c4a555575939bfaeb8cfea062b64816a160d6e4d1f282dbe90\nTAG: 2e3eea7d54f2a95572c0dc382ef826f9fa138637df323adf2f64e42a4be6d493ee3d087704d9a1ddadfa34b0cc2c35f4d7802a87fe3e14be035b269c8135e822771faf57a21ee9f892f26e2231a0e4e03b32f2a809d560ce72c7e910ba4c1b524b171bd50a7a150ed327e791e2f76551d4eaac1e53091f5d701caa50edb892c6e1e2c2f8ac0413b864847fc10875d6f702c03fe366ee4971ee4602d078ce648f54b8e71bcd383bc4c3a14342ebfae042fa52f59bc5ad73a51cd1c561ae615fbfe24eda7301794349431ae59fa6a791dbd0691a83dfe1f8cb0fbe9e385708a9dc9449186cd6026f962552903753372934e220c7d5eadc2ea75356a73cd086f850f40a9b83f1e9331009d23785bb5468feee97f6e9e21d2a17a9eb2b5d\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 3fb8ba4df90f52332bc7a20df805fe903351279e0424c232365cfc4e62982296\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f\nNONCE: 5dce998f8fb2eaad409ae02116417dae\nIN: 936a91d0b5d2c0267218cb7090", "c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 5d6bfe91cd2273a9b986397a38e81be5fbbcd0403ef51873c2c467a9fbadc7bf540e83c538a43dc0e0ab780a4c4b1f5b77ced74f65b61f8b8b58b26fa3e8cba574bb9527e4\nTAG: 8f360ea3d348aa4a950019f720333de020f23bb86eb11ab2bad10665f2294b914eace65dd890642fe33979f0ab04de5fd00b98757e734cc1becc43830eaabd48d415ca58dedad92d4c71f0b7744b74326b9d1dcc7b9afa134c097fd563bb001d8e91dd71a41d5f906080097d811355c268581ddc1c7698d9a65179526eb8c96bfc03aca614f84aa2c871958e71fcef12efe601309efdd7084c7c02aec5a6649dd7fde231de46b4b0b4c52676edc19edb740b33f8c90885147137011c921336b52b3597a30334319d69d71498b11feb841c09577c2167b58430784a056310d1b264e52af8ae737d7f8dc6431b305afe2ad43640cb90c2eb6fb4d5cb8540ebeed729416c04d2260a6b923ad698541a3315f938ed6a1b1626b1e73ea0\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGEST: 23f13497afad98ac65bd2a1642935ff7185a839a672fd94b18279ff92202a3b7\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d\nNONCE: ce998f8fb2eaad409ae02116417dae0c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: 16e3c681ba1ece3bdbfb1da491f877e806ddac5f1ae96bc406bd195c9d48bcd4a9b700a8ced21d824bfb99eb057e401c3529818725b51e96c576e8009bfe486610501aa3068c\nTAG: 52e952e88946079d0e7e443f24f113c0c13ee17438fb7c302d82abec8e24524ddb4121bd1f2f1ba18389ea5aaa2ff43b9978425f1795cf3b2b5245f13d74afbce0e6f4107c9478c9e76a803be141320ed0ebd81ad6133d0ba901cfc4ef9802c29dafb2fa0d4b6ec49bde0ad8e359265b9fcdb9caed5c2c3772f2777c8dc59190d554a76d6ddeb67f12a3cb382015a36a93ea747a808feee5cf9abb7dd413acadd6519125a68071f7f490209f2de8049724a87dedfe208322cc01ebafac59d1d7bcc8c2896074908b40c23094a878a0b33592ecb8d407a9c68016a112ff1b5226a0ca7ffc9fcebc4f674b4f13711ee64dafd5bfa757f3820366a26b12f74fc30297a1209c16ea6299841713d46b72d03a12a51c5309317939d556\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: fc71e48cdc62c15988a84f32ad60aa760b5766c892e559fa1ebd882a587ce590\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce\nNONCE: 998f8fb2eaad409ae02116417dae0cef\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: 9b51ba0eebf72bbcd7a1b8452a49f30bf2d96bf0cde4d9e5efe7f1903eb4e09f53aec649c5a8ad7e7fc6c28a0dcf4bd3556f4377bbf8b3f9c79dffa597869255f783cf0c89206f\nTAG: d94d45b132507172de566b7fafe7ff2f6b50387ba1cb27c2f2d566eeb644490a01e89745aeec464c3aae3fcb240dacea5c13f8fab5e3db55a415052a01e0ea77d0ce06a75cdcbe0b7c83433b33022de91034a18188f7ddb699c55957611f0d1f2fccbf1e8e325d33e50ffde6b62cb153c43547f7faa3934eadc45b5bb18a88dc25470dbe6456ccc99ad306e664226630a761e9673f673262690af6e2922f2376ee9dd486872314d2afa8be11db1baa876a9c0c8d4f2050d65bcebf39a11656760142d0d4d505e2a80a0ae3533608c161cf6f9ed4de850a9fe77a0212bbab0c82b9fec6fd151bf391bc794229736b1a51bdb2b012393ee405f8ac64db7471aa63077d9aca9ab11da3d078947dbb7e8c3935c0dbce060df66655\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: ff4f42d72ae561abda38963a2713bb743038589bc2d7efa0f3fab298630b9c02\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce99\nNONCE: 8f8fb2eaad409ae02116417dae0cef45\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 5e4df84379f9736d784d9166047003e3ce3375a8e7add80c8687e94f68595aaa52e3bd39a45a7f67d35b4df0c5d62abc81680ebea78d1ec02153833b4dc4bc5112f4dc2b3f14deeb\nTAG: 9772a910db4e6582b98dbcd4ddcf7833fd0e20fb8044161467d80288acdc76685c62394023653d4942a5d1d27e63c12b44dcca72217d43555728199bf2e751a1e17bfddbc0ff8c6b618715fbcd27990a7f94fa7009466dcf570508fcce46e0a807c6892e805aed7141fb4cd151642dffce62f8d9e677a6a5b3f3506c4aab3cf3cac29bf4bc04d8a2379b8ae4d55a3f7b1414cfa7f576f8345457a87f257a75cbe7862829a5b0f9f779aa50bdeaf36ac6411a1fa7ddbba9519fa933a0729f02a404eaeb2c35ba4ee424bab056ee3a8ad0cc5b5199e6eafa0795dab533d062410f775277907f36375ec1cda175ab1b8f8032899298557bab8f3eb67190175b710854f0338418cd46da7e1d4d0ef8fb8881df16f781df7f47b7\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: f4f7f147b43ea50a1f5a4f19c093ef917d3b92b46e5798e18b5294b0a0fef814\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f\nNONCE: 8fb2eaad409ae02116417dae0cef457b\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: 1ddce9b3f674dfc1b94a6cb34418e6b75c93f14941a6dbe028ed59667404b93afead95ec50b9393a8e0e5f469fc1cbc5136f4dc54f3a005af6c88cf70ff39487dec8dec0a9e6ad33c0\nTAG: 6875fe08d6aec1a18c56b4f446562a523b95c8434fcea5942abbc10f6e10ff7c455db0e80f945f81462a0e689df450630a34a8c9c3379c4494821e762c16a73b029df8e3e5775e78ac2a4106d539a5aa2522dd0a586a974b84bc09e86ffb21f3fc6a0d1c9e1d75179bada55085a3d9f9779c2461f2ccc990765da2450815da4cff73913b224bb946204ba50acf5884f71da7a487b743bfa20a09175a4dc11e9ee6a0b12bba1a7330fb482f925f36532c52a3ead78a8924cd30a1e3053faa174d5acf16fc3e02e0867b921d382c842afe2b69556bb89c853338f6f32434e2b9da81bcf7a237e709fd55ede388b51b2ae62e10b1ca69b4fcbdfa3ac73114713c66eb51fb36678137aa4516530a92e03b9454ca6b8ef35263\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: c48f43e4386dbf727ca93d57b5b2a4ccd8e1f27b201db03000660078b773faf7\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8f\nNONCE: b2eaad409ae02116417dae0cef457b9e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: 6736ca287cf31ea3ec92c68697bfd1f88642e67d9dcab11c5dc8ecfc61611ecffc54a04119f53f9e5476196f220486ab53e2b21e1135bc6745731f0bd32eee9752fe18aa410159805977\nTAG: 5e40a60a3661940d928cc1818e0f0277390296d5a20f1d020452845b5ecf83dabb95153285213d50438bfd32980c294aefd1d302517cf2aad8bdefc63d87d2995523db2f2380cbec94cf5f5a7af4f605d7c9cb2c2c5fc67b567c5c219de53c39e92ce4e597ff10c929d7e66f7a156f3bb8fcf5c05df504924dc282bb94fbc7045e5c758239b70c3f171bc9c34e95f8821738b02b1049c8e1b21d66e8ce2ad606c8492749b78592ddb0df4a51de74514a1f25fc4278b22dfd5aa0761e1afc5e4d622e9088879df40964ba02503e876ebc70ab5e75c33d7ba0d3879e32255ac7a884a723a673fcf7007c8105e7dedcfa91832ebecf6a929033da1069839a1ad5ea9f659e2f2d295b06d5d6c5e685732f8d9c4b95eca515\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: 4fb8d7ccd762998c343aef821e49cf91783d15669105b725eb1123ddc16ea445\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2\nNONCE: eaad409ae02116417dae0cef457b9e5e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: 95b9375058667abde693e7e3a598dd4c326ae4db29f54667c54453e6191c52f86d2fb4fe324e9a02b94f094f1dc272b1e6ad85529206a511468879d31ab9e74f44d9f388b72cd2461fb67f\nTAG: 7d5b0073be50f1aa588d60ff430da154c9793c30646b9d98ff8581febbf8541698a3a14e8dcd317d3f5102a828923b4a060843e4f813cc0198d19bc7b8c7c3fb00bbeadde45d84393bcbf90e4caa0b4fb7e8ce97584d639aaedca28b685083417c996ea73686a504e58ce170d5e59dd1e75cc2527c9a9976ab552533fd3e9c22603c5b4b25456d833182821116d7f80fbfeb9b0a840c127a755b4ac4121cd82f12508b0eabcf1255d5ed866b11366f9a2a59becf0aa3944ed0b1531c92342cb89dc819fa342d19db29556a98a6f1d7f166406257c4fc2019f5cfb8e1a2f02a161e2e6e91bd717c3c0b7429e9eb9d50f873ccdf0b487ee1996e38b248b0bc29ff17d713b810907bacca6f4dcc0633757d84bc065497\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: 756ef874fe4546df371e012", "dc34660cebd6321b67dac201988cc72e48917d7b0\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2ea\nNONCE: ad409ae02116417dae0cef457b9e5e16\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: eded2db8c302b3b5b5b0c0d556f8d34408fdb2af75d38231049b5f91e02a4086e6ffcfabcba5e3ec68173dfde382a41523d3c8ea1f7944351baad1588516c548942da82684d52639453ffdca\nTAG: 518bf4d7ce510d2d8b41b8948c72f652efcc6973337da9e53d8daafd49a8fadebd391c0867ffe253dc07d26c12985933288fc617b9f1e0b74ba51b4a85e11d14de331f9af1c3ec66f4c85e0db13e2669a0429b3be48cb3e8a59f3fae779aba1ae3cf8a9c7d3c7c3d7046b3e7592c67da2779af921b2fe68801d739ebc0fe61ff52724a034f8d6ab916cfac58e9530a541148da1bcd17957a9fd9481571d054e6e38f6f13460fc1bfcc51052a7ae75f514a4d6525dd85d067698197322e61212d58c3fdd3f08e0a06189d8773f87f18c0156eda94657acf5659c6bd687188fe8e3f09b7cceb63d6c78e0198cfb985bfea1e6ef70f2e1727b50c45b123d189607c3dbe0e06f1b359ac5f8dfe1766580afe966c8f68\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n# DIGEST: 01fbec0db232a15b4f3e02a14f412e296a0f2c7bbc539ea1e5e835206e197929\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad\nNONCE: 409ae02116417dae0cef457b9e5e16dc\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: a56c9d8579b78c9ef40c4a230e8bd42750510340fbd0cf55393bd13d93b105fd2cd1d701b6882bacc661e8da81b7c9eed6b5dd4da12353298150819c748f464fa35936dbdb39149ed790f58777\nTAG: ec23664bb72e227a2d60f8e04aa12b33b78d59f1237f2305c1041793344510993f4dee5081f28a969c122c414a4218d4a73e4e8ba26ad8f6a8c3f73bfde7b0412f8fd6941f26ab73eca7110a4873cceccd43a917d5ea6418c85788512fbd262c72e594d2defd5a0a136ee74e9d1e76f335965a7679b3a059fdd6b72eab855763e4af5e028e9239418197e00088c7e2f661142d63babe769de4df2bb36f2fbb39b3723516d0c85b1214e82f12367582e9c707097cbd91650f2b0ae6f13a006cdaf65f9384496055bed36622b4b495335850b10fc6376112b99c4ca121228814539a2024bd4e839bb020efb32f858322b4474bf5317fced4ba64817e022bd53eb839793c59e673d4a50aea352db65143bc0a1d14\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c49af18a935082656e153daa62270e736e336727424bf48be78da0b7dced9de0\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad40\nNONCE: 9ae02116417dae0cef457b9e5e16dcc5\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: bf13550fa32201ffc699cbf22de17ca268652f8ba2693dde72b626d01855eea7c21f0afae3fa03dc757491e8efb9091a4c100f8dccfd15a9b4dd94e4fe1f5e90a96a8ee973df3f67b1b87adde382\nTAG: 45c6bd5afe30cb502e43d1b3b2440faaa2908d171c8e7f53480efb6d74fecc454a6dbe10ca0ea6368b4afc200632c1b078250369c85a463c63c8c79a95a8d5c3b2ed6ea220b8f624e381022f78cb94d401bc384c5c6be68e8f56f353524d93b68dbb590ca9afefe04e642fb8d8650c8e94a873985c14c1fc7f7e114b2dadf9c9cd89e504636329f476fce6fec894337704b6406c634aed0330cc20030543261a628efd49bbd4c52e7d70fe4b32415359135e2328027b388e3dd4edc43977e8eeecc04919087ec0935f3b7482defceac851adad46db682cb19d407a2615164e2930278c26f942572b64ff9ade93d2debb185309fc2c526a80aa57ce225ca7cfbddd4ae17cea86afaf38b1544a8efcef6df761\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 8d6f1fdc3d60175573775cc289d7436b88d10dfa029e90e10e513c8e739666c4\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409a\nNONCE: e02116417dae0cef457b9e5e16dcc5b6\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: 9f9a3ab733e50c1584c4f0c2a2dc0ff71bb3a9b32dbe92da2fcff8fe46a4bf16d4f30ec8efb1319891b7d2586839fffe5012a6dc3d5f0ad21e1572a1ffb48fbb82daa5c2de27d8d64515d8b50556ac\nTAG: d59e25e24c745028ce4239294565972873c4debbf863e3a3b5d69c5a32127916516037aff509bacc58b89e041ef8d2c56b7a3898aad9426f6c26c7d61adf61790362e299c73eda72314b6429d9f64985d91820bcfa806cf4b99d45d60369f52c369970c8162499f6c39948bea9a7ccb7ded6b4f69f13a98cb1665a9be4ad2f8e3e584157a7cf74009f504622b4529e55d36e92cc45df30bfea3d3687437ade9ae87e16f64da2960d30d6660faea9c890d4110e18c20576b729bf0157c151397aec86b563c1234f2deedfea18b2ed2a780b3fba34ddf21edef8bacc5155834e2ad144b39eacde01196a70e309122eeada9c1c589ecb7cd22a954a8025edd31383b2e36f453f9bc1fd8779e7a23653cfbea7\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 11a40304bc276c51e2e7d8e3fa16f905bf050f3861586be68ca4257b1e6cc566\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae0\nNONCE: 2116417dae0cef457b9e5e16dcc5b6f2\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: b4d33c5131701c960eda4c50fc0a918acbe28cd47fbcaa328c6a9eb08e3c36b697928c6981992ab155c30984c6b8e9340cb00decef7086f589ed2d730cfafd5ccfb95373b8c55044fa1c95927d02278a\nTAG: 713f2e3e88f54fa870bb429940553f8a55526f219f062dadacd69284718a21914f86d905517eb301bb5693610d69a32becab289041fb962d940eb0a37da57724b4d07c3b968700dec4d019f6672cfc45be30e4ea80a33dfa7d88abc6733a1cc7a788c6dd12f2e18f001a9d8f0deea3411c00e9234d9484fd030375bb6c3519e8068694019cd8e7eda59760cbb775a01d68626f88ccb026604fb260c0e3eeecd3482619d1108c3ed9ee2f992c0d221f8a0b3964a6ac23bdab18f2a825a2bd8893551686224eaab405e027bcf3cf6cfd840479be33ebd22479b72d61e1d26c0d62ec8e378982a61e85da137019fdb017338fb245ed0f82c531be137dcd56af636c69197228ed2be7ae7dfb0097c4f7e5144577a2cb0cff362c52e28bb1d2b284c0\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: da3fd1aaca630fe609395b45a44384c57f779505188c8b12391b9f34de17dbf5\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae021\nNONCE: 16417dae0cef457b9e5e16dcc5b6f256\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: fe6540372ad1c40ec1dd644e935c480b9e34aed05a7f21e2e37dd46db52ebc5352cbc3be2aa289cc2e9712aa7d393f4454c9fa3a4acc30db41ada1257693d3469b0a1d5680dc8dbfea8cbb4768161f8291\nTAG: fb0e5d817e59ba33aad224a3d75b490058e8d743e6db43e920b30fff5e931aa17ebdd9f33ffd1eb9d73a2b9301fec0981bd29d85edd9804def4edcc9d25c04e7bb4f092b71322dbfb1c54fb71de189c88b0c63a4fc615a389b7d67758732f2356924813539ba0248d47fe0a536d141210b4e01d3a3cd1a846933c45abf7441eba3de98bf42c217ba29eab4dd52bdb44bc8ba97c7cdf10106f0e5ed04df11835e1ed86290c2b4b79e5b9a3597dfce92a71958957ceed5bab67ca5b00eb19c0897ea081929a9fa4c45db9dceb70875cf9773cb5dc543885f62bede29135a5e637c078029b09b290347f1e39b6ce35c43294fbee0cf3d9359c25d2a55083eb7d3d13486e851b1b60e1f51ef7fc48d16fa427d7440aa890d300d7a2876ab371686\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 2ea803a4525d24849aeda1b0adb81676b32d99c42bcd0011932085424a0a8078\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116\nNONCE: 417dae0cef457b9e5e16dcc5b6f25607\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: 22e6c691ae1ba796667ceeaba4dcf85582e398e529d938da63c8221a58c2fbe242f6da82eae8c896dd31b45b3e8b72ff3dd7906130954f7b68d4c8729d3ff66ffad72104047209a56f1d6cdd927b57e8d08e\nTAG: 0325aa247e8c830cb0fbe906d495777fb41894e5721f07b1aadd8b0a2419dd28c973681d131ad8866e938ceb84e65762930d3961ec13c2ca461e927a8aa79cab8508709520b1dee01e81ab4c6f5ee93eb610d6185469d88b32f8acd04f6e8e138aab41456c9ecbe0ebc1d6f9edbcf8e4d543", @@ -536,9 +616,9 @@ static const char *kData10[] = { "9a468797639a48f1b8318d531531696b2aaec489306c070d6fa6bc1f00d0956a4b995db24049c6ead0065f28f570a857bf2a78fd8ead6784ec7c2182db92da136a38c6bf0489cc342fc6ddcd1be1f96fc040923078faa8e259572472b9353cd2a8ea88ffd99fb6173de97e45479fd93b6830b92775a7d831dc0070f7292b44a8242df02e2f1a0d3d9415209052f14f6a6c0d3e1773e6900c8e4d18e6ee0785d651f465fc629e4228cf0c56bad63a74f1f4146f1e411996199ecc7058ef56eeb9e04803bf6751bb544f79a9414a4e23ec1ad6fc998a64ceb4d6649946980be065aa274434c1244045bf6494c38d41c2527e7bcfefd97b56e02a88714517ce9e8bc09bd95bcfce333d8365af3ae81a7f925a18af9dfc3d66a3de394fb3126d596edbd85e17d9de30e70adc2049df16d73b7ec3a5034cc6e3a909e08dbc863d69cecff8035f49cce01fe284e5f52245f1ef8bb27f46939372c5d4f7cb5089b3bedf3eb7940442994081f6413716e831362acc732e8f0ad1670251a664ce3db8a32f87a172e77df3ad3722b56d0a40da18139a6\nTAG: f64196334f9a8a0ec08819927d2ba1e0796124f4d752f084f1c58725b45930fd2d873c4126c8c9019d95\nTAG_LEN: 32\n\n# DIGEST: ff2a290f638f41038a81fe1e1e9bf3835c0423886d264bc60adbdfc38e7441f1\nKEY: e9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe\nNONCE: 9d0cb746bbd55813e8d454817c212d3a\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: aca825e4559f40de2808ef65930926da912bfe99aec6688bfe17727cf5518ecf004cd88dd52a9a8657924068c7651c64378b763909e06cd3c60fe97c75ea15ec3dcc043588f17ca9cc59b7e85f7fa3bb10bdf28437e9bdc37207c79789033cc97a37bc9fbf31d7084b59a2b47918a9dd331bcb3431cb8a76de859ebced78927ef0d1871674312671dd99aa03a68df7fd62b0d6e3bb96434ddad5361670b38004e1e70e85b4a67912f93f69996c571e0deab051b1ffad32e16b7a5f93092d3f11b32df90de0405eedbcc122f97066e8455e1ac186c37634478e2a1d9ce9b3f17209bfe611ac69efd50ee698f9749d095d36edbe03e7ba5e28dc69a44cbc06bf3e3841400f3ca60bf8032e0d4d09b6d68156ade78a488932a6f44af7394b148e0f5420594ed37eab06f53e1cb266fdd16ce53ad4b012e341f99cfc78d25dec223b30f78b672ccceb034f3f5e0168f5a6287e7d6880ce00f3fb968fc3f101697a126d9e1b39d03bb064bf52ddde36acc2be4e6d753dfa767230f942dcdbed8fe360a9d3e2120459c24274f64761ddeb7934632d900ac60e5f78bbc31c94606173cddf966f86c45d51b69b9bff5fbbf8a7a94baf284713876be230a959347dcc4e1da5a326a78c9c28af0dba48877d0ea0cdcec88cae74ece4ffaa89a9\nTAG: abb6640954263403c1e8aa601023bc08e4e56e0876908ff7c7ba5c5effeadee6b98fe24dde\nTAG_LEN: 32\n\n# DIGEST: 989e0d1b57528f06473357bb0001d552849b928083a8bd2a4642e72be7dd71d6\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bb\nNONCE: d55813e8d454817c212d3a0063be26e0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 8d0aa9d329e5b0dada9bf8d38ee8a980f7dce1ddc16eb9efd3d41006b2df5d3daba48f09736f75d8abce242dd2911cf80b233530e8d70905e26984b9e392063117f20e92c0cf0f3a7a50c8ee839fd18549ba2db16f724dd3d03a2b8e79877c8b4a213150338e0b1a4e57042886f3982579362fdf5204416bb0edbb8be587a4a2c4ca64ae03cb7306785d2eec45eabee789321ef52b8aadd397aee9acb996da928f5fd2e6f44118a50f0bf044a316f954c45e2b6c17120e873c15cb80eb44d2565609e08644b561219f0c343e1d0b01904db4c69a03a4c00479ccd4f8696579aa601fddc12dc61bc72a40e084df39621e0726b1dab7894c68b4182f3b0ff8c4e0d46bec9744d95e27646904ebfbfa7a8b58de71fece8908a14ddb9157aec0c97327f760519594cf8d0720040e7e27c570dba60febd7e3f289e1f583e721d67ff0d8d5b31e3a51ab68a008abc80febade9cc2023b35a7b001bd5196d9785789b8dc1ffa1fc69c6c10f0eb3eef9e764c1e1a40d26310c567ea8d98cbdd29dbec0df6bcb7b222d4b86941270bebbb0be0535eb15903afb3c5148372e1e616c16f300a6698c983e5eb8fd42dd6816007afe1f42f0d86cdd2ce4cdf0c0ee2fee29ce6cc326f91686e670050ee76b5f6897639d5d30df19e4aa15ae3d0b73d6bad3e870\nTAG: ad95c5e3840e677351b30d88f11a43bd8e30261054a605d54ad1777b82804210c251870d9a6cce9b3dc5b21a7b7b3f77\nTAG_LEN: 32\n\n# DIGEST: a6924d514c1b926c930a9da2091f42787d1e8111ae5ce12a0292e9d25d906c8e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d4\nNONCE: 54817c212d3a0063be26e0636617781e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: f1848c2b876ebd13f307d4a98d2834e994bc7b884b767aaab9e59ea5893a8dfd82d05c3fa9a0a59b8720c29c5ebb01293a30372c05dab5eb3c3d2427915289ab212a882128f584e62e201d10df90bce4202e48511fe41c8f1cf03dd2a843016802b489a10b3b3b0282a684b2162ddb2f9dbb23d0ebdc6820dc87263547eb00a8e54dc9193f3e1c2fdfce901fb36c982865c76b6a49cc2d6132a825c645be6ecc30af67d1b5738f69a4b8e6299440a3c396dcdf70d36079239f5a4f9a7ee28e4765a009324a9091472091864e7773708c1d0610d521a8634e1a6c1505ce79cf8c012caf3d6578782fc374c52dd6b78a5c7fee68ab99872ec8dd4b55858bd48df1ef39d2ef8c6fda201371a41d086946ce3d8daf107cdb5a5aceed9530b40e27a274a31de3688e0bb2fa89b6b3dc8bc5bc146d4fe0b7e565556cb9be1575e7661c43d4f385d571439fd3400841b96723277edea50154b6ae2b93f9040e4c5613690f690f3330fe06b293386de70d3c313985eda63f7f2ea35053b53d9bf8de93703bc5a43930e44a0ea6ac82a102f957ff13a19f42a328e9b5b586433d421b520c55fb6e2f9eaef264931679866a88731d716eb513236b44661b3d186d7273320a6fef5140ec5e6ff32da365ff9d393143a3e4f7e62b9a065313738d437b550cd1694c1b9900\nTAG: 5ffebc8724d29794a04cd2157479f16efc49829ad7b25b7a97b0e216c4092711d833e82d4152bbe1965398\nTAG_LEN: 32\n\n# DIGEST: eac0a728eea929714da1c2a7934747811313b16a918363bd291d7eeeb8082047\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d\nNONCE: 3a0063be26e0636617781e8591a6c6a1\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23", "fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: 9ce57bbeec62f4bb724c36bc2fc4da15d2f371e09f9de5cd436f99f39ba84a07959c002ec82006a69f5624333abf264dc93ab263d4202e8a078890927212f68fcbc2850dd569498db53b7a8e24921fa186b1575e6150b1785cc649aa6728ad08a57e6eb1aa1eb95635fee0ed3a689b3131c939e4de3aa8ff479784b10fae712c9d94708a8a4095acae2ac4ffe2685a3d1b654aa3a879683c54df1aaf42ae496d911789707c2b7598e418a8bb4b3ce767fa7d9f970691b010b529d770cc3fb9e5dfb840a9c815e09f47a5f8178e91af1ff10c1112c0e7f70cb9d31391dd7e7002a80774d101e18407d514bb28d5cf7db5a7c694c1cca10b447689ecc00aebde49652f8d8d65368a2f2e8039a06d7660c7f0743cb5e3144e3301509c003e803ca47587afc081b58799952cd17a53a891c6530797e288ff8543955c3011ec924024f7e2a1dd539285075783ddd478d4d06e7c20bb2037a5e9ffdfb5359d85a066f0d23aaf762996d97c15f7e42659395b7130945b62f6ed8c31996ecef0c5ce098c0530fed5a012540a3c4f5b1aa821a5c2a3e25c07d61d95de4d124d64cfeedbc8d1925a1d75a01e9e870005156786181e7c606ba058e29374a45f066cdf3f5b4acb607e6e5cc56c95931438f4f8973b7124cc176ed66b83d398b7c7507cfee916818a34c4627560f525a0\nTAG: 87f23cb98be68f9ce0a655e72b55443984e2db06b61f29cbca726534113013f257f403766ddd\nTAG_LEN: 32\n\n# DIGEST: 8ad5314b867b5272f447c02f6666e53ceb37d99aaf1ee5833e3827cd1725b5b7\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26\nNONCE: e0636617781e8591a6c6a196868dee0c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: 02c37207bdef46b95ac29c1f55c4068c5ac406490ed3843c9d507fc562a05bd2e8f6dfa6446b927ee18944d2e6e87521332e0e4d01ec2e1927e89c367e465579b0b7a9b37e32b57d0389e1d313ea25223f4b2d93fda46c87ad9c5fdc180c031df2c43cc53458322ba003c3502cc4eb19ac388e75f2eed8e2d071a678fb9d23a187644ac6e7e1ba36af68225950fda501a403bcb8d54619f4bff98e5b10d68dd74ee86944974d1142b87fec029d34a2e7c35c02b14b17c396f60a07f6a9676430a7745a90a223243bef3fe7ff6b555c40c93aee082f0285837a3abe8afe704b80862f59884e1fb71d3e7906dd33e951d93b6827c787d6c8666d0a56520f9d1bd78620ad0d806d03ce996e5b84e019877a320508ecb30088a09abe023a92b0956ea61020370f8df95c78ab2d136e18877892e7ed1da39a40550f561ba041b5c35bb82631dff76e8f5c4d3cdd2c8b3dd3d49874219ffdd6c9441190d71e2bb52af177a0961c120a68c81bdacc4766d7c0cef8bcaf2cae6906571d3bdc5c332a2bc81528a1529d0158af7e78fea2023f3b69134f54490a7a27cf1a6239e99fddd09d01f11f6d3e11a9a67d4233d9e4f6f26c3e065096276b59904006353edaf40efdf9bb77112c5952ad0bfc8cce42a2e4348b41530dfa12bb993fc19f40766f843d3428f60be569faeafead6a412187b3\nTAG: 2007b01b5ebc9c9b6aa3ca1db3b26e6e3df8db6b41f774220ec075286a7e894dbe\nTAG_LEN: 32\n\n", }; -static const size_t kLen11 = 650606; +static const size_t kLen12 = 650606; -static const char *kData11[] = { +static const char *kData12[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher aes256 -mac sha384\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 2e661c639db0b3d4e89d27c55e03361e12fab46ed2e8c795f131ead30d185257790e87bcaf3af7fa0399583386f12648\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965\nNONCE: aabe477e0cdd46be99371eb8da7dac99\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: f6f8de8547\nTAG: cadb667c8c823a2ff44444bdc80dc7de80e5faffb40880dcf4d20f706109ef1d8fb6bed697545eeb0060e7f680d30dd70e8ecd3135b7e01e895983de56fb0889a4ab0856040dba57e94dcb\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 2e661c639db0b3d4e89d27c55e03361e12fab46ed2e8c795f131ead30d185257790e87bcaf3af7fa0399583386f12648\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965\nNONCE: aabe477e0cdd46be99371eb8da7dac99\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: f6f8de8547\nTAG: cadb667c8c823a2ff44444bdc80dc7de80e5faffb40880dcf4d20f706109ef1d8fb6bed697545eeb0060e723a2dc7485b3546d50b6ba7fab863b28\nTAG_LEN: 48\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: 43a413967bf0fc76201e7b4427191338c74b86300fbb5a193e01a1a4c743a36168ec2f52433b8ad4075186e5c7fed1c0\nKEY: f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371e\nNONCE: b8da7dac997deafd64b1fc65de39f4f0\nIN: 936a91d0b5d2c0267218cb7090c61713\nAD: 86d641b87797b684e0fb56\nCT: c90e0c2567341ea7e9d968dbde46ecb4\nTAG: 8b4323f68c2cb1882cff4dd9ed10f49aa406481275509633d33028a0b510a77e780d4297ab8ad09b60445146ce85b21e\nTAG_LEN: 48\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 128).\n# DIGEST: e0da414882ab12a63e2a2d6a11652cbd8ed8db8c8c25d862c9b760e6692f58c6744e1613a741a49481e0bc357c59e343\nKEY: 905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c\nNONCE: 5f3aacefe61b184ad2463939ed518ce9\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be1\nAD: 12a72933c7b54ed4fad0be\nCT: 4c249d9e3db726a097f647c83121c90d779a31f5dd7c7945b8f3133b11dc94e8bc926a7c522cd78a1574fddd63a0afbc58bc956c8370719f321b511438e6449da18d28a15b5a602553551ab1e9a057983fd1ba0aad005716f10747406fb3726697d50ab5a1fc83e1ffc9a0579022af54530671a90ded71569b8fb4c62607419a\nTAG: ade1d9bcdc913506b8507f69e3914fc26b62110590a2d8963c6950c41958e688c96583aac18c5797083d2956597e5d242fcbe08fb795d92c5af302beb4c1dc00de1bf7953613f8534b7f919503151482e4320b55f46c043b60afde3d754d1957112386e61c0ca1bbda510a76b2ffcbb4785e26d385f2a34cf7204b03be69561ea321c389ffdbacdd40b5ef7be69c49ef547346b7d88be9734120c2be3db817e6f2680b6e92de05efb3d26bb95ef911a62892d858a533a410cda7b366e75943c3b6382a064b7639611b4f643e9b64af54dd93e942ce566984823c25bb8f813e4c18300ed5eb91a174bf7bf98e29941161a0f17c7e5ae30fd0bc8547bb525be66224740a587f16a3b5d0e9de5280e2676c247ed818907b5fd1553e611bbb22c419801857ae3f31b3586dfd01c8c8a0881a\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 128).\n# DIGEST: 920d7224487e682bff3c7989152cfbfdf747453c05930f9b92c23ad65e4ab47c203765597116dbc5462e1385d15ffd37\nKEY: 5d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f\nNONCE: 3aacefe61b184ad2463939ed518ce97c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112\nAD: a72933c7b54ed4fad0be90\nCT: a8b0f34da40f7b7f9669e5eee8148fbee9d53a83583043dabd4c11cb01fb74c044ed01878f8a28d49f8a45530f9d4fb7918bbef7eecfb86f1573605e68e87d0ba1b1bc554d863a11f8439d9623ae316285e9440fae8c50c92175ad7d83ac5c0e4cf9856f5857920e981799f0e25669e61a4487febcd0ae165f9117d9ec79725049\nTAG: f6293f1e91d53348c8f02c290e83d1d67a339cc65fe2ca90f2bab29af3f6bbb1767afd77031eac18a4821f7435f959053adead3c4a51f0947c0b41e8ee1c0f264d4dd4699800f3a3e0ea6f4e792cf4dd524c64ead7d9f3fef924b5c309b2528ca486c7435f759fd91163afa34cd558641b42e41a5dfb80f3e88ed6adea18dc196716036bcc126dc45792470fedc6062103e94cfea9ac827362118e8cfcbedf67db51ed403cb26046fa2f5c4953d4092a3a1d96a71eac5098ca06b9b89d1fb41853b4de7f0bb0259aea0f2df05a06ca3eb2ad08788abce7d38ae3d5278554036e21cf4819e8a3fddbf2f1919e9a0aa7d013c8c10012c91ea06c8dd81735fe55b5bce6c251a1feb66cd5d61219df7f799e57134b636de716726ca1c13786827f4d1e5979b168fd15b588bfba195e416f\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 128).\n# DIGEST: 2f2f9bc024a04218f1863efcd195fb4576836915ee658a38d3da7db7ba2e535e452b309b381ca5105040017b0a4d0b12\nKEY: 41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3a\nNONCE: acefe61b184ad2463939ed518ce97c3f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7\nAD: 2933c7b54ed4fad0be905d\nCT: 77b4e444d271670653f04d99105b36886383a2853163a47615b431eb3347fcb7e013392376ca0c7bd2ba68e9b3e9e8513c783df10c1e71650c952c31821db41a509b7163f509f1445ec13f31090fcf566b69f6f1c5330ab588eea6f229025409c4b749edc4e22e1f4612a9dd9df978e685e30d6c27a8f50d7063c73be06ba9e85fc8\nTAG: a15c86236a1519eb952f87295688ae78628bcaf9984c97193aa897609ba6666c3d50c39f7b20d7cd92a672018369aa71196cf8bced2373fb06dc141ade6f867e0373871c684f6c876b9b49e31197edf57e3500d437ff7ccfafc23e4fc3581f07295310341e45fc0fa9efe351faba7360a6d981b123ac68310ba6759fedff004e92d4f6091284bc3bc9edc3e9585d1f5b5d18f1e6dcea6a0806f63c2bee3eb9fbb69960dc050b3b39d151737676ce121842a24c6c36a6897cbc161cd5217e520403677e1aad786505c8307fed2bb4e87dfe869f660d705049b19da3c0a0e49d51551a18f327cf6f457f57d860ffd11d007e32a2ed48628e6956675c2e3c1e50b158fe401864188c12e4c5c874ae435412f2a62ff6f3155474335a40b6f1afb88bfd9b8451e7891dde13b739d2d45d\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 128).\n# DIGEST: 013f5656642276661f8938885e9023770a997cff7c994c2a607ccdaf86e638dcc740d890203c23c4fb3453f329c6937d\nKEY: 203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aac\nNONCE: efe61b184ad2463939ed518ce97c3fdd\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729\nAD: 33c7b54ed4fad0be905d41\nCT: 1bc46fc0214a2958091da3c57d9f883f63bc865959e851aab36c328d9087f7f053b97466f2c08c32a9dbd9b6c1a443410ce6d78c63d3dd9c93ce5eb7d9026da4b9be6d5866f99abda5d82032d8db8f2d10ee35e1d045607fcec06a05529c95598f7a024553eefb4bf32662d4852d2aed23911b749f3d19fe7c116bb0863a798eb94504\nTAG: 289f9e94cd28fa6e519325ef0ea9c47d47a8b2afb8ec086dd243e4057d3e9a074e90d67e8ef62e832925a69d535ba2bda326676e8b0a59936f4cd829627098f6b7984afc2f45474c27a287ffc6e91ffacbfaef2ce9946a4bd9306af337e21d03a9d81d83c58caa75d57b1d4d62cec552f96a1dc365c44ebb549c1c670c7f882f6ac12088242553dfe137c55b0558a2de916f6ea80576515a76fa3bac1fd7a2d8d3c0dc0ccdf9e8b5f7f855c478edaa824e7d044336b870042cca2b25b5facd952e4fea10fb4969d5064e7fe3fd6a2fb9f4c3b237a3ba6c9bfbf1339ea20bb9941b8d92dc7f63d34e5da9d6ff4793b493c357573b94e7e09432dc99ddd812", "d740ce95b2dacecd28849f4d9c5d9dcba1f2c8ec5b4178467cc0efafda2ca32d9a086d67840d26ae7a629f2f5877a7\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 128).\n# DIGEST: 0e1dc79d3d1bbc3220e65cb3383b22228b1d003c2d14de0f6d4551c8157aa1ca9f7f2b59919326a69f50241bb879b28d\nKEY: 3f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacef\nNONCE: e61b184ad2463939ed518ce97c3fdd29\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933\nAD: c7b54ed4fad0be905d4120\nCT: a6fda8e3bc0c1a2cc69ac359d338159b984f31ed1e1f8747bcd7ba473c3d0aa7f0f577d8115e74bc71e077ad5c320f3250a0fd21ff531e09f746f39377e4ad02f34843b5467ed61c839ca899e2b0cfc5e37c5889b934c4ddf9b862ee4f5c9bfa0db31dcfe6622e81a7caeb65a96d5059d6b58f9f440ef473be63192420a6f753ce79ef45\nTAG: ba30b6a295ac73d62fbe71cfd2b83a7c2907dde3a800e334e89477d3ecfd9286a91fc7011dcd6c5ce6d2442bce64735e805f82cf56c7acc0eb429c082651eacf09fd59fafc10899826eed4f68d9cb67ebc5ca558e64875c8bd25d3af9f357a9869ecf4523d7fa5e4846e949850c42a10252d71db0503b7022e524dac1d333ebffda7bd264e711c9d59eff54c1e584a0e1b1444b1b725d7d441cc9889f6e8b393f0d7ca3d000c268415b66047575389d15dd2c1eca0b4af385ea4f426e800a1e5ac539a4b81aa09855b6431c8a4b89f7842aea03162a9c7cb35b3396c6258297e7814f7ffcf8d8602dbd0e5fb0e9aaa0467c680cd9d9bf93b471362f766ebb0ccb9ff959e6095d9c15b3d8377737a28b78610058f26ab050630687de4495ad6f01189a1cd945011e21fbb9b30\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 128).\n# DIGEST: c32ef0d9579c66bcc4f7e4027cabfa21d7aeb4ae68bcf88ef88ccf6aaae503fe3bf313bf7586b603b321e6b5ae9eec58\nKEY: 5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe6\nNONCE: 1b184ad2463939ed518ce97c3fdd293d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7\nAD: b54ed4fad0be905d41203f\nCT: 1289661db1fef390402ba70abb2e4b9178007f650e06f4a96f0a80f346d1b525fe4d65fb78b4a358684c04aa21d3be6cae4c6edb70448b046733dbd27e669826e257fc3a129d0d07f6fc48031817d65420d9badf7358b3b7eef8803b8cccbf05047a517541f66e0a182134cc0f24ec77302ab350e7a1a52a4a06cc9b4f235f7fe02ff1bfbf\nTAG: 5444d4aa3eb69bccf9224c22d69460be9deb561392044a3aa8c279053def8f591211d409deb46b1a78f586fbecbbb32fe756162fe0cc33390b85da86a458bc856277d01d8b31895d0607fa34dc6c06ff49ab48a3b7e88e5a6f62df5efbe1fd1456497e41142c3e57b6dde69aa177cb76d5616930f99d2f25632cb301ac5c947a031ee2a9067ab9e81d61ae811d8be121251c7c6cfcf45ed7b0833bfa7c1120432bef0d904f12dfddbcfaf53f4611a0dfefe1bcf8a1b9d57a99d021c0b443af27b9c01180cbfaecee67b13848f8b9787953909dbb893f0e0393cf1a32366f6b3536ef4b17586c3714ed62e210f0a1de2cd77f03f1403305ae975eae1b325f4a0edf2021f1e1dd8698ceab70e91bf5255b0c5c99e8de8702a4874905129c0c0800d68da81184162c0deb152f\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 128).\n# DIGEST: c7f000a1337dc472ed5cd98b7bc52340b5388ce0e48b81729c2743b98ce2b096b70da9284e31daddf8586c83ce603b8d\nKEY: ce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b\nNONCE: 184ad2463939ed518ce97c3fdd293d72\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b5\nAD: 4ed4fad0be905d41203f5d\nCT: 0f480ed31ef27cb2f1d317cde4541ab855c9f5ff474cbfae88156a9d44b557a1febac105a4b2f70c468431e316d3a72bd51e6044b0e619cb8aa255fb5802ff9f026593b0576c3bbafc0ce1c0721e9e2bdd6cbab1d298f5c48f78e92806eaab2dd7c5975e1adba426c720f20e1cf06615cf54d75abb82be5729797cefabf42047dd800d50a95b\nTAG: feb68cf72e130472bb57d43d251ae0173c414a8baaef07594034cb66959e0fc104c6b54a39bf540b87884b6216ecb9062017418c3a3c8c47987d63761399d0c7e3e907007b4acec1de5fca7026fbe86f2cdb508a99613ba0eb0a56074f15e9c4e85931ded12f5ae3631677713d3ef273e5013177ba4d1488c48d8aa4c97b5d64fde3c3d7405eae4e5fd588aa5fce1fda6ef97022eeb1ab228a29485f37bd9f62815c76f38ab970c86feab605780631930ea7acf4603e145b7486d78dd6d3b369cc64e795984b9f4b87ad63e62d7e548d245c092ea38c3b4e84f78f2d3961383d18d7f3675163286c3b7a8484c43dfdc64339b4a77457ade3fcdb647f9b5164b153a29a588ea3601db2879646c061b66df5a8537992fa7451744c43062d31016e3557f860868bcc540513\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 128).\n# DIGEST: 20a22396a997be31e1bfc48c6599519cc1362918f955976a90e0c9303a61e95c80af563819337001c9da724f05c1cba3\nKEY: 998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b18\nNONCE: 4ad2463939ed518ce97c3fdd293d72af\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e\nAD: d4fad0be905d41203f5dce\nCT: f48adc232363a0490e75ff78e4071f299eb70eccefe5e2b93a5e223e2521a266d9b5f9f2d6ee01c1aee3e4b85e71551c8d22535406146d9561eee1ab3b3ddf46cb55cbe4f38d309da8c71a508892f19a86940101e191d0b2fedda544b64f5baff9829554be885553500f09d707357c4cbbc7fe96ecd36a699645d5257f71ce7d0f1defe3a0db65\nTAG: dd2d4910cd800c9837702ff168bc6fcd623f65ba01cdc6424545e12e9936d87979a83200472ab1e18ce60e4e07b15c02526c69f5f64e71100d8663df8dda051794bb0210ad043913511e8a3a60cf4a7fa7b0b57b22769f178c35ef5a951ec7200d13c08cf98ea828ecb1a6259a005fe148845ca5ae5d40311e99d06fc3bc7a522ffd348a4ff91ca0606c643ccf270e6072ab5b954cfaa5e71f9e280b449e24963edfc75c37500294f78a7784167b08c5db3b1489922223508101a312fc1eb5f4f3d68d6f9fe0729a68277e3a4e830450f94178ed81f6a5ebb42818b5ed52ee8d4ee24f6a2ea66939db614bed0054638f8ec44fc7fc9a1653b05a4452b9858b76407c9af1ac2b4ce3b47f734b51c7a100f87f3a1a0c56684fd6609a73776fc2888abcde5a24cfc4b1fe\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 128).\n# DIGEST: 7fcbcde0c60de1fe6892f76945272c267fca7502a1acd42dfa5315fb5da69395a29144ca273d54e9e7ccb2b01035f233\nKEY: 8f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184a\nNONCE: d2463939ed518ce97c3fdd293d72afc0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4\nAD: fad0be905d41203f5dce99\nCT: 2d77b3924e76b153521ef2bf93aa42ca89142b0ca2f10bbf395df321f1f0d860914c6880901b58fde174a121ed8c18582dc166542167507a6b00047f15d522b54e0d1a25c5ed36ac9264fa3e1e8fd96de78c99d012699c7fd24d0aeba63f6bcf549e3e7435444d817830d0235f2b52d34a390851f66ffbd386eea48828b71576691944660053464d\nTAG: 35c8ada83304c12f5d3d0f7caacdbdbbe50b6375efbdb64238ae643b74ff6cc3c6315929657fd58364addacda253c0e42395cdf6a1a2a451c6caee947bdcd783625bfc461e49b81e7fa79fdc81b34feeb0a0eed211c67500a668f42fe9d5aee63dd42b7a42f1b76cbeb58cc38ce96ec406f472ce23728ea3c0eb3881f713aef73787f100d434de3da0cafc111ae3d8e84b748b23ebead7016662ba43610301c5b34a12ce0b144728052ce965c7abf58cd83cc112c6ee04ac8825cdcbc2443766f466c34bcd2c7694947f83f1d0371aef02aff0bf6b4504e9ae211f38f307a0d3a8c407f46eb10da8c53aac465e7a65e25c4dfe13148472d9dbee5c60c1ef4eae7ef3e6395f59a772c543e375b7d4287a9651c2d8e26d0def8127c3960159e9c413e43c53fec73e65\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 128).\n# DIGEST: dd003e935b6429dbce52f9dac780a52562ccd7b621f3a3dbec443a371a6295dd76769ce42f6414c9b12b4ebae8019a18\nKEY: 8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aace", "fe61b184ad2\nNONCE: 463939ed518ce97c3fdd293d72afc09f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fa\nAD: d0be905d41203f5dce998f\nCT: 61239a68ef268c69afa1f73aec32aceae19915a59fb977f948fce8352f16cd782fee60f9fdcf7b98357b7220a727081344285deb0a4f866e12a9c77791b5cf506fe35fe1d153e928138952c64a4091fe9d337d7b760960261476e338cb18c0c057ca756aafbf62f2c38e5a5faa398e5c5a043f33fc7ca61a633e78b22c007fb7758834807370805bab\nTAG: 9706658cb636004e496b5f20042ba5aad6e2becd4b76258b6a4dcb27887f1b98b93fd2c61771b7f50dea47eacfd1b89f6040d444208d37a29383ab985533f8d65b751a15448990badcd2ba2002704d5e041d651df074ec83091280583313a6ef9bb0cc8056570834aa52b06ba2b205a735295894d144dde4e95883b84599ed97ad99b01fff72244df316a47c7812950fc07ca0daac08925a85de568199c6a12386b75f9b737fc1abd3b3005a267c301976a4ea3bf0105e92799278a0344b82859ab0e5cb13f7965ec0f08093d0f1110d0687bc6d5ac6bc251557bef0b2b18bb4f5ff9c262992025bf31f46c2cff9cfe2196d8081469987446dd8ab9224f8ab6c8c0e626efd1ae005a8b581f4c1ae2c470899424cff4de54ce97c33a68cbeea9eb0882de1840db6\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 128).\n# DIGEST: eec7cdbbaa8aafd58bc1ec2b3f5719c263a13d42fbab03b10264fc1178e64970e0d1969d503e8daf031ac4118d112400\nKEY: b2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad246\nNONCE: 3939ed518ce97c3fdd293d72afc09ffd\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0\nAD: be905d41203f5dce998f8f\nCT: c80e7d052c8c9b29df147282ec0041a85f51c31a7f9a74523a4a116509eeadaeadb7ae55951f6fc3f854b16f6318c2a5c6426b6431f9693fa9ca186f70ee9aacba7f5afe57dca613fc193c9d3d84f75c11a655a40c3e9cb75c071cac98eaca01c100f4cb787a652b9754edb40027833fd11865757c863351c5d69903a135559f5e62ccebd582349b1624\nTAG: a8d9569582799f87602c08ae3cd56b6a6ac16d7f220977c0dfbbf9ada2e3d6698e93b118e14f71d7828a3527f765f88313b74592435f153bb0cbee013a1592a8e3d60043342c18c327c2ee8f6c4afa76f53d7bd4d98417dacfe958c8d6f357aacc05b3165b9c9f16edfc72767f996fafd2ba47d736ec142d4be750ccc321932775c33b3f4443906c557d0fe9b96567647aad12509066bbf121560f33d123b7b3294238175cd842658c5295e2c892b6c401f13098fda08185b7838ad6b99451e34beb775afc127f8593fc1f70769a1d4cd94bb8a8f2daa58049b045f352b1af0dd1f31afca7c6241f37ab3c865c5cbefefc6f5e5615ba7eb3b6d460140d7c85958a693232d159204ac2c753ca1da3cce6d6b9872edf6863546111671c7cc39ac03dc2290ec157\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 128).\n# DIGEST: c8cb0897b6e5a7501c7cf297420e9da5b63f56acff75016fa90051b0626c98ce3f6e1a315e161354b488c2a2ad0ba366\nKEY: eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad24639\nNONCE: 39ed518ce97c3fdd293d72afc09ffdd4\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nAD: 905d41203f5dce998f8fb2\nCT: 1545bc0aca055503fba91292148a0707f2f6e32c9fa51a432bfd630d7c7d82992e2c5364dddfbb313df2e82b36a05aeb1565607a44217d3a70b425d045e6eba799ff1f2b081108f9895cac6cc1c390b9bbbef4a946ffa535e96267b7f87bd0bca11c519aec7a80d0586ae5d0475ee0ca537e74cdfdb4d9f96a3ff8d23b24cc1aabf83e715896ce7d120d93\nTAG: 20357e2b0ea27f5d118a7a69e21f293f2d12a5615ca40050fdbde6877a04779713ed32e7dcd3080eefb3b78206a7a779f38682a9662af00974183683150bdfbbc72fc3305f1f96d67f8dcea9bffccf1a3629bdb7df9b2af9c355b55ecf05a68d7d4d1e75bd6065786153bf5b83cab2736be6fa5c5599ec7dd873be55bbe752c6565ef5db268f2b9f670c076ced82180e1d7f00602027a7f81a1ffb7a4efe75cffcf06563e5db914a36cba87e5979c3e4da6add4e87529143817cdc3f28cb5b7bac443203c2aa0c575bb328c7471bc5f5a734a77f12f13a605d84640a2fd2bb7ef89988d7a124f631a52f6f6a014c244e425607c45b0e74ff462701e646ced351af0aeef71e69967af384ba12468203b905da111fd39660e09c282d59db4808d015090912cb\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 128).\n# DIGEST: 95f818eb95b73edf2473f9c8ba94a6db66c085bf46bd9fa44a70705148e60e30688f65818126a70dfd4f3c26d2a20a5e\nKEY: ad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939\nNONCE: ed518ce97c3fdd293d72afc09ffdd4f4\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90\nAD: 5d41203f5dce998f8fb2ea\nCT: f4cbe7ed67750574ab0716367351b71575476b76987a082de8c92e79861d945779aff8e89905bf3c9ba0bad99b8710fdba8298510063b646b4e1dda6ab11890e6cb30350d110c46f954f3bde6738828d339c6380b5008ae314ff09ba49dfaffce583400765a52af8970ca0e542b963219c0cf6c0d627b68df25ae47e1d81df1d26d670410d41a87b9a8e6790\nTAG: 0c9a3e5bbeb14b0645b8990d824180606057e1953ee69b74091ff3da651879021d1b830040a7efc05623d7b0ff1560819455be5cc6f0a097578e55c8354b298eeedf2a3f670552198feb2ad5d742435b2ed6f76e9fffc69fecf596c33cbdbf8b4294d4a66be7d2e47de8f43f2861703fd51810bdf1cd2b3d7d324c9ff219dc85c1b70fe41403838f1555556017efb4bd0b090ad841e2b0cdb60c9ca6e7420630ca033fe7ddfb57a1213fcc7a3bb41918a8b60e1ece0190acf3227dad7735fff14715f2756a6ec0ab6fb8db6a6a8cc5bfffa0d80b13f0a7777b86186d7be845baaa7306089affec15d5ee42011e84cf441d93cd20cafd0f23a0c0b1b675f0757c5d4f72ddb1df01c7644bbb53bc5041db63bab067de5b25272a52d1ce0f472504b650b26f\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 128).\n# DIGEST: d958cc86261d3367dfacb874a49bb2fc87e01e834279fee67a8f469a6d400520acdc17803a7bc8c1cdaa72e7fd8e8c6e\nKEY: 409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed\nNONCE: 518ce97c3fdd293d72afc09ffdd4f419\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d\nAD: 41203f5dce998f8fb2eaad\nCT: fb03d97f254e965546ab119a07be5ef4bf5027ef03f07c703c0be652bdf96957c36a0b5f3b283a8e23b9cca14d0df06cb6adbefe252360da3cdaa6acba162468ca3dae01f881bf47e962e9ed6bf23cbc921e067e6b0f3248fae15b43018e3584d1a81a6d9048b33774167e387e3fdc32a9814684c8bcd6dc06439a5ab8076eaf6bf57deb446f9aecdaac75ab76\nTAG: 4bc5dae86f239c99790cf3d913f0cb2edbe9fcac0a992c1c58f3407cc2de3e34728d5a0d10dfe595bc662ff3acc56498e293904e5ef14bf587ef1ca49fab3a577ab442799ef67ed986a627308b8b0670d9ec2a0f395fa2d0811f61b83a189daa953b9972de4df10d124c9044cbf3c13cad0a349825c809a9e6bb4170aea4680ec1398144b2e62c2b88d2f80c22a791d03bacf300de54279a9df6bf2daa9f819b1af43c57e7a0e010fd28198ba3ba3bdaa17f66f7d02a8c91fdce893abf56b7bdf32025f8642149fca74ac94632f7beae30858ccedcff15bbf2bff19da8789816f8b409918d47e85065f02a61aceef6bc7d52accbec115813fa3535806bd85237037c3988a37bbb0e713519091ec3634599c4ce19dfbcd7f87a7b2cb764c000e1b2d5f8\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 128).\n# DIGEST: d5c9dc28df5cec36b17c2cb928eba4ccd15c1a8e65f9576137ba53673a0e286a4016c4953cf1cd5b05b3e53989a7a1c1\nKEY: 9ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed51\nNONCE: 8ce97c3fdd293d72afc09ffdd4f41963\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41\nAD: 203f5dce998f8fb2eaad40", @@ -620,16 +700,16 @@ static const char *kData11[] = { "5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: 2b71c8e3167dc7f9af0b0262a21fb3a0c96e4d718746e696727ea6ad66f7025da2068763234fc0145f4bfd1fd72823a561765b7deb09d94e450a7900d9bbc043fc357b4b0b7a3c58c9296ddf24cdb1e512f21c7a985149ecd8ced6c37b8e978478e375493c6d4d8a6370200364bd475bf3ea057c027f0fdc943eb995437420672ac97605c32646aef8a041b24c7161c8d9442630e4969f03ff0496f76df605d074de57c2fcd0148b3775e17f33a732b6b98ddc859aeffee95be88d82394e1f1afefdc8495c24dabf73b8c6c6cbcac255bc72269778bade183be2fba30b7689ed9517fa5defaf515826ee20144f870efff3d78d34c66c61a87f1b0d9376fc0da7bd0cfdcb7393d36d1c4bfa21840cd06aa097655ae5aa2902c6ffed0cb1065d24664e5cc28188bb72f0a056a6ab451e6a6eb030533a9111c3744a4845807c7282e85a24daa3a06943e8bf0471328025995fa15ec0164810405bee5175211bce9fe27d321e4536dd3d6e15469ff370d1c400f29bae50441c085ce78f91fcab367c15a0b9e3b01f741b067709e684d607154875f34f4bdf03fb29ead4687310349b1501b3afeea224bbb95a26c25622e40e244214af2bbf3907905ecd88f46c89a5061f27b19adbc6c788fbc9ccaf9fa6ffb101c4dc2c06efb3cab8f0\nTAG: 04126d789d9b5d62a77353e22bdd46652a8619c7b3001789a7ef746fe37afaf8a509c1662da515b4a8c4e8292e1e07e977ded352f9\nTAG_LEN: 48\n\n# DIGEST: 9e5fa1cdd02e7db7705cfe6107db39192c778c1ec2f6c58116e4159394858791effea9245bf0ddb0c6982cf91df5d9b2\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0\nNONCE: 636617781e8591a6c6a196868dee0c1c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: f29d253023b7c21c9ba097e4110101081b3d6af8d9d3b785c4c3a0e47a152cf7eecb33b5717e7f0a7d78c447aab987a70bc9c972f6b7cb4f43e8ca5001870cd306df554c70b3c327215634ad992c6d5b33f759a22123b4e376132656f9913b3b87bcac24fad0f123dfbf546ee71292c282c1c4bb21b6f4d6a56dda5d8968da822c2f6e45e7cb9284bb6f84eb64fa50d418104e966f488828cbd6f312f05c188b68b8aa824d7df75b4a2edfff1d67c0c6fe708dcae42ce7f1e11164e5ada8babfdb81f3ec54a8735ecac4afa54360b2fe766c7a7a1a4e037d77e5d4e5017399282ed1fcb8cb1b234f9565261449b32edbdbf01208cf573512cbd8155af6e00c4ffa98e2f4dd3acbecc132f92226db83fdc28f6532b143a8c25625b759a50b27aeef92bf840b77aba3103aef102b4750c752ca422ff6654ede8341306fb7a1d4251e753bf19d26a8637287634c2ca6baca7d3fe0edf5fc913808976006391f9f16657958374e2e0715b28e1bb1446845674c88c24f369969de33fad62118e24be11f8db058b27aa15bdde4e3ff803ba4a264eada9d69f3157551b4f2a728f223dd986708c9f9763fc2d02101a40a0648b1c211f48c0d720645fd18beb6137b2a7cd0ff20a445e99d66a872c3714e52a553d2e66ae3033778ed2837b3dc540b50b7\nTAG: 0e2608bc3483bf8e9db8a2abbe288655e130f0459c4dfde80d3ca84b598695e2e678735157258dc238b6457f5e464473352e019cb4bac880e72332581d5aca03\nTAG_LEN: 48\n\n# DIGEST: 703473db66fec69eb1310c49e13b6a10777d97c5239fdd4a32449f2b5c32bdf1d08dddeaedc0251cc0bfb87da2030de6\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0636617781e\nNONCE: 8591a6c6a196868dee0c1c0781065055\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 74683b4d9443a715d1783e37f9f33d37c8c7d47d628204abaa590cf604ff88070045f76f8027875c1ad708b601200fc8f181757f8270a2d146b22a388c015de42b2b271d754ef89b6e4c3ab1244ad81d9978bb9f43bb0fd99ed601ea0c14ed1127bda4b0960c500663bc4f34ee9d1ff105f857934fb04793a22208a51f13905410538ee56df3111e6a55776582a6c927b95c2b6e3c1a91355fbba474046a26a6480138be5dcee13215edb98ee28b75ce567ccf5de3d8767078d1f9f755cbd0d19911cfa6b2a6fa97636c9984f2e4b86276a860e49ed2a1ce47fa5572d80b384c37c091698778a52c6e1c87ac73f26443803ba2945f8ebf35f3ab9f2f0136869f6acae5eea4ebacc674679a2c58858452ae86e064242183cff9306a3874925af99fbc4b919cd5f949c692a83786d9d4063a10598acfe0fedc863330b45a4a2d9eaee3a2ed8fdcc848feb6008f14f88e6e110c9f2491a83f6e216ac034dc1319d63739df19b5607001195ed45feb35dbb47ea38cba7a5051db17119631a40cc99f7f956e4b9adf05ff111faad50e5ca78167ba37dda6019e3786b042aa57d328f639e12b782743d0f94a45a4ecabb72fce616c416ee77d8031542a4e59638696c71640e09717fe9ee248097c27c86fee64806624d9540990410dac0cbd06330568bbcc303d10\nTAG: 70a48c36b93a775550a2cbb4789c75916cdf2df8a1ad1095e327f46e91a05b4ca26e01fe51a51af3a5d73f2b653e76eef70a3ca290b1482f3279c7\nTAG_LEN: 48\n\n# DIGEST: e96830967214251621bbf449099c3333ce8b37d4417d13943955d1d56ce43fab845de9e38405f6cc4fba07b8f238f80c\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0636617781e8591a6c6a1\nNONCE: 96868dee0c1c07810650555861d449dd\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: 57878ab87bdc04e3c96214d485d14caa3f65c7d0b7ce5a03b7ab53ee501e21b91d227423dcb5a8f4629c01561bb17ba56d433ae648f2886ec087b", "9f6a2beff3a079ee25809a12534bfb65e94e0c2f7ff74497db708219840266102371609564e7dbc476bcd1d00866bef78a7f96843478760c2ae7338f789e73a2bb8b1a3e604b6c38cc0134bcfda72da30c5de221390099396709ced02a0312e6f86d29852878a6cb1fcf966d62b72d2099bd22007dcb1d42a8903bd70b5ca5610a8a4112837474963d1e6ce105b8c58e548e553b60ab5e1bbb9f1df31f4518b40bc6d69078a62013bbd78c9786881c4c53a75a710787d15a9ff0a4f0bd355cabc7df781702fbe124232331e0d0260f9810190245e346ab086ee986c7c9c0c84a1d531fa6900aaefd0a8b9b9c0e0372751f6d23cfe9f98294fa114da2f52409bd6ed73069f0dabbc7571ec10161cf07f1fa60c2901a05fefb88632e3e88b62a799b80ad6ed506c3442f064712dbebe893ff034620c0fce4a2d89b3a101c6652cdd46cf98073f7de3e1c3efa8211a9ec8ef7273ed0e1333eda03b8a3c57381175dc7495ca799b419f72169534dc8995fb0f63d396f5c5bbfd86f9e1822fe8590b24ccb11f7b66ff5c515bc7e9654238dfdaa70bdd6b7236954914dd332886ef2840c5aaace8c39968ad277303d78cbe2f\nTAG: 7e02b3d7d2f5af4901d32845aa5d64289a40ca03a2235c8801c7d4adb18a8c3a4e84af83c2842e973483d5cff6a1a6050aff512cc7b9\nTAG_LEN: 48\n\n# DIGEST: 5e69338cb47e83dc76efcd3d20ebb4a9c9e8288b709c554a39f344dfdc691b58fe2234ec740167f6976d1e9f2775cca6\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0636617781e8591a6c6a196868dee0c\nNONCE: 1c07810650555861d449dd43726a4e03\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: 7082642b0cc17e3ef8cadb87d81d3e973dd92e18a45e72833b34e6c4a2d24a77a1048b96e6c19a82732eb355438d577ef8e33ac646d374d99ad15c633bfccbea5e31ca27aff9e1e9b335708bbd62e3ceb7db34178a9111fc2a395957fde085b7c17645d7a473326919e7c24206a332ed8db0ac372aba510c72f1e3d480197b6811fe9bdaaad328bea365a8e732911be04a7e4bf8adb9f7d2d2e2b436287b5a5eee1dc11f43b7e12d83f83c1d928d1ace7c625abdb704745c4e2d5575aa4f0eface8bddb22c9db6aa9a32f5fe879b8210ee78c09c0be83e039ca7d64bef8dadf89bb966966e0306fc138a57d6a3f208e987c643d80b2bdb8a71eaf8b2e8ca33eadd49e422c99dafe511fbdcbfaa39aa6170d57d1107f9ccc80caee2bf0b3d3928628694e3d42b49d69c02c13685a2175493771fcf93704b95b621b491f4cd3231c1736a5abcc41d0b20722c21b23c4631a0e13134c36be19bd8a8ddcac189518facf810688cf69b28d9548621357ad635b40c253a1af855b896395db2e5ffa2f1388b3860dd5997ab42e329c6beb926db93899a7daec7b408a86f848d7db34374fcfac9fe8a875622947fa067954b47946dff7d042bbde8e64fe5e3bf894bd632a80c63581c26935abf19a944989568511983c6e3839a0f4f5c521671da973f756da87e146a3db56314254d95172f19\nTAG: 640c5cc64d87084321fc1707667d2c39e6186e9690aa90bc2ba26007fbac8878ac9f769b29375119c5d6cac500eba86cab\nTAG_LEN: 48\n\n", }; -static const size_t kLen12 = 23568; +static const size_t kLen13 = 23568; -static const char *kData12[] = { +static const char *kData13[] = { "KEY: a5060fecb0a738d8ff6dd50009a757c6e58db73228534d03f32c26baa1c209f402c3e03a6947c1d9421d63ce43f6df26d30ce783f5ed0d6b88edd389d9f92d8d\nNONCE: b52227e92203630a79ec7f5c\nIN: \nAD: \nCT: \nTAG: e61a28f5df7061b4236834d2034d2b62cb63c660b7de696c26b345e66b34d222\n\nKEY: d676047046bd5be9263ae39caaa0f688abb1bc67c083658894da6aeeff80b6d58ffc7ca1a1c88f49e629bf5544b2cc7669367202b158fce83fc4a4826dd90a7c\nNONCE: eabef87a00fd99ebb6ed6d25\nIN: \nAD: 83\nCT: \nTAG: 473cf728899cd5fdd54f18d6f934c3901f7ca118fc5ab2cbb837feefa7852a67\n\nKEY: 5eaef3b8e068fbb652bd37df4dfad6490095642cd49761a35476dffc2b5b5f75236d0351d96a9028660788893323a777ea8a2ac88bb5e500b334af02b1c2a648\nNONCE: 34d049342b9db5ffa039eac0\nIN: \nAD: 7578949699d44dec9188a7f7e14b0a23637cddb9107dbb1f8e2a968aad0443356d7eeceff4316ba7b2e8fe\nCT: \nTAG: 4d2612c21357638bada9290d2a272f10fb5f070337bf87bae396a1e7253633ae\n\nKEY: eb7b3d7eeb5f26010915a36837dc83da2bad07eba714566584bf1ce62fa9b61210b0ead7182bc28c8f0427699bf04786583fa32f3c3a8a6582cdc254930043bc\nNONCE: 3bee5ebcdfc72f4ab0023211\nIN: \nAD: efecb57e79a326c6b2ce0ae74d7656992a005fbb8da5a55b9595fc5348a5489ee2e69541ec0e8a727a560625\nCT: \nTAG: f457db1e274adabe5fc898fb1eb7c4a5a8e9a2b66f964d0958aa058c1f9e15ba\n\nKEY: 1c1abffa8a2667a8c1ab347860528162d316d58e3966050dc140fd360e6ff7c557520a8982aae97c5db5495d8951eaa485e1cac4cd8f448a13d071d759885474\nNONCE: 4fdce4e59bfdf5d9b57c78e9\nIN: \nAD: 55125cefc919379b3b4b2a24ee1794f44ac66fd99b8b68f98d4abd45ba50a5b76e5375d08abe3b8b8d3c576bc8\nCT: \nTAG: c021d2c73737e54ac6e7f61f9bb44818e5bdbf8d81d43842fd25a535790fafba\n\nKEY: 366cf53bc185473acf62610b74231e53aace84e9c5d6fbf71fc24db4f42956065d3eec01ecc72a6c89266565ff530075f4532c860e3192e866b41aee98c5c42a\nNONCE: 9ff54bd7b10f4fdfd8db76c7\nIN: \nAD: 853ef59ae873bf0bfe1465e9dd8c2cddfcf123d213ba4f599d984e4ea69d3c85a23508ec7941ca740a9157ca2a788e9b519291240b307d6c5a8c6860a96b4be698659d19e31ab0ac7ae6ba31dcd609c1db67ad580fe4422e42d368c3e93a56f2a087b0d587188462310c2ebe58ecfcf7178412223808eeb2eda76446168730fe\nCT: \nTAG: 12d869dc4bd4ac4ce9ed643cccda9e11a1ade65c76f7c1535fa4ec2bcc5eb4c3\n\nKEY: 147b41369bed390f0a9561586fd975474e3b3bbf7f7ebb7a35e5cc43b516c044dce93e154ac790a109709ac5299bb17b709a913d33fd57ebfef2b48ed66393b3\nNONCE: 85b81732d2863b41d2551763\nIN: 73\nAD: \nCT: bc\nTAG: 47fd81f6eed8d3c66afe06d788ffe40717847785f4b4c617d75a11171690a60c\n\nKEY: 9bf35c1194659c1da634eab6707c55b853c8f61d087187162e926adbae02f8bd4d15bae5b05865d0e2236d64715fc39f32e4e3679a0309396c37eab13d1c637b\nNONCE: 8da14a98ee741a5fce0de732\nIN: 10\nAD: 8e\nCT: 17\nTAG: b76af41002a946af4947f98f42a873b7da0871f482990a70bda8f005274ca179\n\nKEY: 0befac10caec674c9f23676d121f065dbcc8c91852dd5eb4e80c41076995a2138077592fec665954d21fd6787234d32d3d54bf9c220cf2bf018b374bde29926e\nNONCE: a96bfb49f3a136840a0e32ff\nIN: 59\nAD: 236adab55e1bb8a8db384c01bb2afd30ff35da71f955fb217b8305a45ee075e7f8d863d4c0e5dbe36e297c\nCT: ac\nTAG: 7bb634357e0835b02a0642352a834ff6598c2ded1af8e8ab60b9ef0641fe863d\n\nKEY: acc672aecf6f10119ee77070abbc2b4fade7e910efd1f93a5716161f88606469a49df05b40332b390d3ac289abfdf6bf7c37c033b1671082922d939139de0d42\nNONCE: af0f57b55f1a73794b3ce5cc\nIN: ee\nAD: f385a50ef027e532635878a4df0deb23369774be47c42f17cbd44925b668f628338ea5f8256c5ad8219c13cf\nCT: 71\nTAG: 13a5296075ef23216c2f2e83b940d24e8e1e6a01967af96599360f11499ac0a6\n\nKEY: 6195ef5ce3ee01188c48b04ce7a28b3ddd04b78711a6d1233121fc8ec3db3a7a0e496d1b6a416675b1e666b9a3df167efb8ade29e4f22fc77111f32ba8bd1ec2\nNONCE: 092070b2f8b65fcfe646f6bc\nIN: 26\nAD: 98526dba4437d88f657c0b7ce2a2be44ef4951711a40747a7d14b195e4c0eae97247256bba7dbd93d6a8f738c1\nCT: 83\nTAG: b6aad3f91a26a38245031d6a7eb97be0d386939d4536b2a27c90a2ddb891de73\n\nKEY: 40335487f9958dfc00b76ff06dfec162ae5c6be4e26918bd12e3f21760cb0bd364521a11f5bfae11dee989627525ab5295ee404bce476c280d13d238dea1bd40\nNONCE: ecf77c7c827a34efd8cdf79d\nIN: 34\nAD: f6e661254bf235c7d5b8ee330cb754087480dec5fe4c31dee65d1ab4479642101404bb563522937fb2e41d3aa8a4d269a222e6e0bcfd07ec4b29c1185f99fff7cb5bd2ca8c5b38742270e586c8db19138b446833f2ee07a11dae5b6a1a4c28657f3380e84bffe1bafeccad57d9cfea3da7f728119ec5bb18b79e002954f4379c\nCT: 5c\nTAG: f3420d4cecae2c1ad79d977abbe408045bd87525c0da2b93e0af3e6c53ba7d74\n\nKEY: bf32ef44c7ca9851f397e70df736d7e0e6243cfd875ebb81d76ad7612dbcfd084cab6b0d67c6a6e8b567c93fd0c3abb78ae121fdb3051a62ccfa045692d3453c\nNONCE: 46e0cc64d6e431c1efc2bd2d\nIN: 959348a8ad6912d7d6c8eae52f19b1\nAD: \nCT: 55e8cb6fd958f18b3c19451c5c79a7\nTAG: af09194071cb0ed4488d27e79700f938ce77386e5d772f9853b17b719f2b1ebc\n\nKEY: a6b5b8b051edf5cea0353ead88ea887fab048ef32f8303275e93d8f926da0d4b0e34b9447cf44fa70c24c9ab964380065398336bbb20be167fc6cd5e591ef50e\nNONCE: 371363612c4675a2e59ebd39\nIN: 443d16621b0cf9a12552216f9558ca\nAD: 32\nCT: b7f432eeda8e4b8a25f0445f17ca7c\nTAG: 649934922826febab4d59dfb52a7558e6d30d56e273602b98f3c55fd8e24f4da\n\nKEY: 075b75434269a3fcc57922ee8cc55b5bbe1b90516a3b71838ade73d41ed1d1f33ae1e0e86f88f6ed7e091cae3ccb05144b3ef239831554d6e79ff97c4d8f150e\nNONCE: 754d5c4ccbfb291133859de3\nIN: 62a151add825077c59459fbf82b708\nAD: c8db27487de71124a95eb6359270a8363908159200333b46ee74e2709b308878779686bd43c24e9ecabfc3\nCT: 2ffb9a9f65c9fe3daad13768ab56bf\nTAG: 4430a90fed7d4b5b2adf5a60d6854956be4feef497781ac7d864a04259e99516\n\nKEY: e787fdeca1095f2f2760a1c5e0f302e07d6b08de39ce31fe6a0db2f76e4626eb0968768ae04d37082c114573c307699707630b8c7ceef60abe3b7831d2adcd6e\nNONCE: 9dc9bcfe8b4e2ea059e349bb\nIN: 3ad57105144e544f95b82d485f80bb\nAD: 96bce5dcaf4a90f6638a7e30cfd840a1e8dbc60cb70ab9592803f8799f909cafe71a83c2d884e1e289cc61e7\nCT: e504109cdbf57b0e8a87080379e00d\nTAG: 1798a64b5261761ecd88f36eaf7f86ed3db62100aed20dc6e337bc93c459487e\n\nKEY: b43ab650bdd201cf05e0436afe89ac54867383f04c5ed2faea5db8e6784c720d905234f1f5443c550ca14edd8d697fa2d9e288aa58c9a337b30e6d41cfa56545\nNONCE: 4e3dd3efe527902b9de45a5f\nIN: e386663e249b241fb8249cfec33ac2\nAD: 3cf7a396e1bd034ea77a54ffca789f206f94263d90d98bf3e69cb42205fc5c95cfbd0481b0ec490ea447299159\nCT: 94aacf00092723e778d25ba78e9d27\nTAG: bd5fcf90b9532e7abfa858aed90d5170f08edcdd28ff2c673e0ab45b8c0a0f39\n\nKEY: b22a7c5bb38715025cd59cc0feed9ad8e51101200000168052b294fb1ead545a517dee636a7acd22b8283afb33d30adbe02c1c8557715eea7147f3d98a97cbb9\nNONCE: 3b4244c9ad9fedd3f10fdf7a\nIN: da79e1ed131856cec3250fde7bda4b\nAD: 4b77472ade3f06500169405b86a793d63cfa58f57bde0dd706f369b391142c2fa8a3e6345ccf0a9c29b2182f578e22f55c576f155a05be5e81997fbe06410034ecddd871e5ed94b5eeffc6dbd90a8e66449da01f8ef47d28a4a4bd253ffc427f868867c73b5c709b01732bd8035b1a23ff0a903def1eb136fc90d8b3c8279769\nCT: 5d8ad7abc047bfdf9d9cd0b0aaa53e\nTAG: 41d050d518d0e51ce16bc2920aa6c76eb8eabd4ed76373c59618c6354885f47a\n\nKEY: 04b3fd8126d65f851f47b3dea22cd6e32506f21effaa3e29820ac7825e01b51c5a2816f0298154f2d8addefa2fdc34c0635d4d6b80ad23eb320c4d4f2aa1de1c\nNONCE: fae1b1da40471dbdcec64d4e\nIN: 509f116ef7435b0640cf141d5b958aaf\nAD: \nCT: ecf553eba80e6dd1fae2eab24d772a89\nTAG: 11473566e80cff5d7421f65949c34301f34de378e91ad50928cf2caeadc466d4\n\nKEY: 413d154dadc7d8869e9e0f24b3320019a04b7a37620dd9e7aa40b5c08d70dea03c12ccf7faad7009e972680e81544b647650c6ff033f56e5bcdac9a35bd7f804\nNONCE: 6a4404adae3f4a7bd2bef95c\nIN: 3539fe02b75981fad4f8762772b3c11f\nAD: eb\nCT: 3f8a96905609a4ef1a95fdb87337503d\nTAG: 8ee076fd624d90e1f6336a92165e80408ca6f0e165b201547d351177c95e8d51\n\nKEY: ddc10df673e720c00f28fdfb69f1b8fba99696f23b6f29704a0114444cc0c8a6c8606e8d37fa95aabfd65b29c655678fcec50966c8758a3fb15332a1854a8eac\nNONCE: 06331613842b4af86c13f8a2\nIN: 55d74bcfc3d1cfc716c6e6b7153c6369\nAD: acc264344ae79959f9dd5130664273ba6f345c3fc7bc33c6c1ce33312bfbd5f181a3c7a24f15e7acf72ccf\nCT: 20650d9e846eb42854692d438b21d5e8\nTAG: 973857523e7ff600cf9bcfcc98403b34ab38d939a6d76716beac42678ca5f5bd\n\nKEY: be0c884db54cf761fc24ff3dd572362910dedacece5e1d93a916df277f923f78e7dcd908e60beb0043503c5b4877a9d962a7de37cacc7387a7553949b52894ec\nNONCE: 3f027a93e2716668c7634195\nIN: 1ba8f3a87ac6738167aac1491b602ddd\nAD: d06dd1b9360a68afa3de5d239b6d91d212c5c555567545a4f133bf5a3b0f26addb9379e1cc1cd690cd427c57\nCT: 3596cc50ae72db932dd83bbc8661641d\nTAG: 44a1834b1587d0f88e34137dcebbca059dfb8f65ddab18f338a8a30152167be0\n\nKEY: 2ee848726730c64332877a4f88ad7fb241a73b71fbee8eeb4d9d6485855ea32b487e03968e1a7b9e8ac8ab7fbd84257efbce0aa207aeefa67302d5847e0d9c05\nNONCE: 526b0a79b6359d133ad51011\nIN: a0c0477e8a9ebfd275b674ed33230d42\nAD: ded2f0f3f28aea28b17aa58d4b906c6a9b3078f97ffe95b7e161b0c3dbf", "66879bea7603a046da4945c802ac8b3\nCT: b1691c8275f12f7d9af85e71dde9dd5d\nTAG: 65a5742dcbc49295c4805387e0a15f986ae47e51add9389dfabb6468a6e83013\n\nKEY: f4a7c0e29ff510c034778e47bb30a468a92140a707936d381b1554d421af107c578e74c53ea08c7f7d93cf67612061359ae458408a9c79250f776ca4192016c0\nNONCE: 025bc10dc99346c4d0766a7d\nIN: d449a2e812429beb5c466d344f5b5eec\nAD: 304dbf9a59bfd33b777d8dec9dddce4c365e72aed851210eb964c1da18119bd13248266a67408e88ac2eadfc54def0fb57f23743d376b11293377565d253d2bffe0309f2946cb78d4e9536dde4691fe1eef9ce2dc916a773d06b42fe2b014e7974d4aeffce25a0902c9b44265e5d6d26809b5f24875e80cc13f1f8872b04a237\nCT: f366e7b66683f52586e1c363c15b7fb1\nTAG: e0e1bb733471f150ddce1b83f3fc2d88589d286ca052574b7f0735bb598362d2\n\nKEY: eb78ea626b219e12937057155884547cb7578718f569dc8f2b370c0fea80e7f0d0f5cb590f0b7341d20c775bcd6a3c818e23b6cea949cf99eb94a23a81cd2249\nNONCE: 75a10f16d429b809cf12b9ef\nIN: 6b0203316e8108ff01b12df91ba6644382\nAD: \nCT: 7ee07054f76471115be159259340c24391\nTAG: ab970669d1603767d588a93cf215673ad307244f9179f46fca56e97f64a5fbac\n\nKEY: 3221167926be262b7bd0591f56be6bf030365d45ab84a93a94ea41a5e07735b17245ad43787e8791e7ceaa0472b562ed17e3b609c66c868c9b08304c8bb328b1\nNONCE: a94d8417d2bb0323bcfd354d\nIN: cec81bac7b85c441b6261163d67921eb49\nAD: dd\nCT: ddd8860fa9e2e8087db30c9da1ec9f9487\nTAG: 26a3b9bc4d4cd802cc22e7647a19fc2a5092293c9f5b1c84bdab7245a6d8f4ab\n\nKEY: 4b16e2d62294f76cd2a6c8e0928279d9de40f0b169ef9465738cbfa064c520128ee89cf657da27e4e532d8c4709d992970bfc9daab2f31b3a67e53200d3d6710\nNONCE: e746d498b9031007332447f7\nIN: 16841e3fc1f53990d33f7ba525dab121a0\nAD: a785917bc9f3aaadfd170abe83bb30c0c5d595fc8b491d983131aeab1a7b8d8771f1a963c251976152dd63\nCT: 6bcf5eac15ef74cb8a706856f62eb5e8c7\nTAG: 9dc84b06e8ec8921be4bc7762e8cebb61a95ac5660022520f9438e8f77b45796\n\nKEY: ff2f5944111226df1d9a300533d3e871694fe15a418b2090265cd8c0111b249dfb7ee86bd9228f7ea5d89d8afcf10bf69942ee4c29bfa8409b63c00c2213629e\nNONCE: 477060f0c61555873bbeb225\nIN: f091891c43e2374c2755a88a11b04beb4a\nAD: f1323fd1ac4de9719dc5966dae45dd7b8ddbee3f8da4f4f4d5f25d06bdb8ebf57328dde76d0bdb9bdc5f6b12\nCT: e0d96f6f3ed0493a289d4c3b79238b9ed6\nTAG: 71276c05b52bab0063108dbf4e8ff57cf3e15079055a309d725f14bb86671ce1\n\nKEY: 1ce841bcf2ad8accc458a2d94774c3aa53a99e7dbec587376212101303ca2b42272a23fe28514be190b82e503e7772a3713800f4360fdb767e85ea5e1f7b8eca\nNONCE: a2f8afc5ceb5382882907630\nIN: 620fece1e843d1d0b5c5a541a6f615a81d\nAD: ded910647464d0fbb0a5d93ffb9839de3360c675179c5991ad3470285d79071436025111153628c563ad1b595e\nCT: 34431c3422e009373c50f3ee6c5b3fcc2d\nTAG: 6e4e8a3967307f47e233a36ce05a4826a698fada2ac19543bab7c9ac4f79451b\n\nKEY: 6bafd28a32690851fda667eb2d3c5993f13df52b2e97630527f26c498fd5019f26177a78f27c0c41616d2a4a73757fcaf9cd92a7da8498f90315d41e7479d90a\nNONCE: 75166c506c8e1d10da4da8b9\nIN: 697bea4d6eed5e6ed243cf01cc79bfd3a5\nAD: c0fa663961c3f7e09a8c7bc73e252a232977dd6c9483f02067b34fe695f341d05338ea2002952439ce08295ee5c12f38dafffeb5716908d3f1d4bfbf9eb0e4077bf8e534f19568ed04fca3bbff95da9088cb939f7a20cc97cc0994f9308e184219bf12c8af0d66df436c296ad39832d661b88c98cbb168c751719ac1383c9124\nCT: 8f37885b9602725385fd9a244ab2a156ea\nTAG: 7fa5cedd330887900f4a44d098e04d5eca16cf94e21f897fa54b0fc116b711b6\n\nKEY: 815786c7744d15afe1d6ab452cb6696fead8b88269ba3eb35c458f6248bad77b404acc744ebb74612c4f97deaccb99a7bcc6ad41917d61057c05b30c581dc4a0\nNONCE: 12342e4704f02336ebfc91df\nIN: 7f15e696b49ae5104ced5bebbf58a9d8ddcfaf46ddce9df88fe0d58a2f8546feeb83b975c66e4dafddb7fd9d17e80127e70af06b3b8b13c3390f1f50a227e7\nAD: \nCT: 22e7c5d54a7b622c47a9edb77cfe7c094e500b0ef9595bc346de736e0088e5934dc07160aea34f24d3ab21440878213d28059551cbfdaa418af40d344674f7\nTAG: 8c271ea5c15aa771c900388267efb2f435f001c2e83f4ec297e77c608de2d579\n\nKEY: 66d87d2b18e46257476456a1f87123424477decf196b88b09acfd3ca74bdebef4c98f1b93803098a141e0acc3ce8eede065417a0c1eda9b4614558d2383762b6\nNONCE: 1ec0ca1d3b09ef186ac4bb1a\nIN: cbb59e14098c2a8ab7e84ace913515c74e056e0fb272c7b88d0dddfb62e395afb695647d97d1071eb09cc1e1776b609fceaf4e30e92640379bb8f0e762ca9c\nAD: ec\nCT: 832804b8003b0ca1b4eff1dc4da6f6a9649e5a582854bb72cd74357476bf38d81ea3bc8ac0463f21fe37683bcbe07360d0ec2d7ab90b588adf669099303ac1\nTAG: 9fecafc768fca71ffe7d640dbb7a052d97d6c8e2fc86001d71feaf284ab609f0\n\nKEY: fbff97085351f4500e73190ac139dd3ac91e268042b5926b57e0394c750b10348b47641d195d5fb5b0846256ab229f102538b81e209db5d93b4d55f30c453d9c\nNONCE: d4868c918de2af7d3e3f57d3\nIN: 4f14aa5a680d66ae15ce0ce4739888f64d827def862572f9a6cd620badbe4ee9d75f4f9bc1f73d409f519a657f53a50d50e68e22f33a8ef5aa08b1212889e5\nAD: c41253e96696a948ce500030af27086842aacb79c04cc02a42b858a65c630065a5292bb9b2e69ea5fe5a7a\nCT: 08596ac0550574e352edc13d7e390d8fd0a57406dd61e1543066b4aa0ea06670f356e26ada0d6c61c1e41de1b4fd7a251c961fae44b23523ce227eec99a338\nTAG: 72f58de3e6697c8419ef518748fe0bb3cb930907c71b6d682c5e61068206d991\n\nKEY: c78c550aba82b571d39ce21d6ecf5e5f7c2a7bf921c6162c64ec1fdff4d0b8c41bfcea0e2486cc86b9ed9e9ceb73c4ec228a2ecbcfa0379174e76475cc21ae31\nNONCE: b5adf4de19980a71cb8ae8e6\nIN: 3d5e43ce95ff9d7f797f27b904c07291a35678fe76a9c57f0c0cba724f38acbb22c6c185db864a2a17b7ef2d67a04810ee5a45fd5a4e28a15a1ae16971451d\nAD: b5eeb9a18d436ada7bd5601944784f50fb0a989397b5c781a2cdf29337315dc7664f3c1cbf17f37fd0cc8b30\nCT: f91f1f20d06ad4480ff233480228994cfa052f9bf3038d06d997d31eb68bffa4960341b93eb5ed2260341e6816519c47bf231db2a41ad8a9719f4de6a33de5\nTAG: 6e5eabda421961e26dc17a7e1f750425235df4eaf9a97934c1e1b4439fc22791\n\nKEY: 17b90dec44546d9dbc489e55a01f2cc64452a9b0e50506a8ad7c81bc6fb21328285cafed901a7204048866ff3bd543003fdcbeb3e9e2f3d580f9062362879633\nNONCE: f0c0cb247d210031f9b233bc\nIN: 75b9b524cbfd1287259da116f536aff56112a406f069aa08f545b5372d45b66d7a5d05e02728c4bc2c779609dfe251386f78c5f48b9dad90b363d324826cd6\nAD: 8a604a9b06ad595ce0b9ad1644a596c7d3cde81490abc80840c764c40d6df08fc71d1e8196eae0802f8c8dfc24\nCT: 23ad62a668f942e613c3b5a7828142048f1f6a67f7f0e0cc8bf3fffb2d1dd967da472d080353dc9c23b900a566f20afb850e4a47688ee507faa6178fef2afd\nTAG: e9e82d3221f964d9e6c09d761afa3f05d1316d39c82618a82dafa23607bb40a3\n\nKEY: d5c09fe24201fcc3ad4c9a9c4b759345f643e930301c3714f62c8dd4974bb15a026b217ac637b4f0e8d6ef40f36be967c50aaea83b2e72df18eeb9576865f1d8\nNONCE: 9cfa0df1fe0910b33ee9849d\nIN: bfeb3d86ce3f4c5ccd0c3945e1da0e75dd057aa5b4e1f070593394f4a0227abedac0b77478e04d498506245b162e909cb711d8b875d33f9c4578e80a0e2113\nAD: b874a8523799554436a1174ab124677dc2ae2042a436c85065c50d5b5e7519623379ffed9a9c2b84b9626214b13c1806b65a432ba79066ff28ed94d17628f5ff84618593954389181e997ebd245d31f520539e250b31c86b99992983820f79e74aeaacb3a95e690e2841aba5a384d0333ebaa5d1fde06b4b8e3e1cabc6639459\nCT: afa649ea47db94936f89612ece681bb175664a97aa6faae5745f49ac9fcbfd4287b73cb58e8d8aa12eccf309182f075098f339db697fc60540481dad0cd82e\nTAG: 9909335130df0326650823de5a4f5b6f45e6941a6a72ceaf80ef32fe67363944\n\nKEY: a13c4654606f532a8df47c367dab1b214166e4f7188c20560831ac30ba5e58d316d29764e4c716ec0126657c926ba2e4541da062447228ae61340a951101b4a0\nNONCE: a2df3417ebb86bbb2f954939\nIN: f1954e59a319547d32e81f846e0c79db41c681166b43eb9c10458948606ced50a44df26fad5654a7c25d3fb52539cf25fcc1c11707c4b5aca7910a76e2374740\nAD: \nCT: 374726a4691f178a4c0a6f96108ba30c4ca8a30242c14e84380969473879d4a5de580fab4cf6ef6e465560a15028ba78a1a88f9e62322cb698b15ccce6ba83a8\nTAG: 683e5a3e61d9d9c8b170f1d4eaa4f74dcbecb1a4cb1551dc364bbb336d4e4109\n\nKEY: 0c1751677a9b7373e0c2ceab2c8e4dab50af22e2230be3187c21ed46069168d173c28a7474d8f7c3cab39401663405aebdcc474ce136e1fff9cfc520bfe17ca6\nNONCE: 38bc2efcd97998de1528b064\nIN: 8a3c6212240bdcb86da98f0e3ab3e9e78f7f61f0627ea088ab283e739a0bed5c360eeed26cea43ec09b4f3556049a1d7f8ef86abfd1118f9c0e34cc6eea4544a\nAD: 20\nCT: a1a9f7f4750be3d89fc4f25917f8ffa7dd462ce712ddf61792a01b1840bc8e428000372252f1b41055416a961db3be8fbe774f0a0a71a82e79e74927522703a0\nTAG: ae24708df0d5893a902765f6c6c2eebae0c11312936cd415bf4a74bb8498a367\n\nKEY: 154c21eb43d8d556e5f782ddd64d577ac8066fa172c2936fc2b2e875aa437f941819d9ecfaefa2e388fdeea81a0ece8dcb7647f2c68da48884aeb1315b577c09\nNONCE: e14d1bd8681373d41702a762\nIN: a2c880fcda87d9d4681a735a6790d93a1c9c68e55b87d5f7b3146665a6b2051398eb9895e1f5d522841668b9915633aa8cb40048c619baf6d63ca2da486cdeb8\nAD: b0b725cf634349ce1d3ac49d48313a09697efd9996cc5afd06b1d0817181d0374db05825dc2f08207bfb3b\nCT: 1cc0db5980863df7a40c78e323a78be6c6d556d4e3b5f930d8d0f2c6a10c6477e31c000d3f0563b4", "6e1a4aa566a4ef4b433e17e94c43338b51a7a3f862739b6e\nTAG: fe005424112de2a5ca6e68ada40984df1ae5ac666cf5fee19e9a0f203dd69f52\n\nKEY: c34482341724ee431b5272ee2964b245d7657778f7927cad4b5a1bc30a176b1eb88a83ac9faf58215a72855edf94f8e86fade58c5b5907994bb8381c9f21b753\nNONCE: 4934d9afc32fc7e2d8851594\nIN: aa3d32adc47b0b84d1b038ddcaeb007a7d5c96cc06a943eba5da6d0d367625330556e67da099c84086b3f46bb4b72986e076eb426913e415cd20bee34e434bd0\nAD: 076a7bc587b306f3da3ba88e66a55cb8125bbf8aa000dda266e950f381e35ac938ac86f8a15a83022a25f28b\nCT: cf017d87da8927e42c1f10fd3d73cf483bae43f4e110363159a9fbb7cba363930a0364cd42a5de2c70171edc4caf15bfc7238f7087bf1402b32c7bdb1f493393\nTAG: 3961efea656aab1b83082522b801fafdae346f7d4be70db1981283f323e5b5dd\n\nKEY: 363e10d8b3fe349014d6222761bba7af86545dcd1812fe2e5ada564c5008f8ea1850f374208e87362afa135f20f9e79dd0ad32f86448263416086d3afc5d37c0\nNONCE: cc545928edd3b21c0e8bc0f1\nIN: b68e3a54d17dab6eb41b03de2df14e792201d78a9c1cbf341da421da82b026ff471d4305ede5c6baae162a098c73da5cab93f30d6d540b4eaa0ee772448dade8\nAD: e21498edf4e25ada2dd6a382eceaf737623e501db34f5c5bd5c963f45818b146a6e45aa92db2a2069e55d46a4c\nCT: e4920c1fddb5dfed2268781fbb17e9ad2ea88bf2a0f116fbb7b309b25a5b9f989e1abc334999ab175b65f87e874d8ba80792044b458dc27d2b24c989d24385e1\nTAG: f0dcfa064cdf042e0b9a0443d634c38695dd09b99dadc647195fc2ad53dde547\n\nKEY: ae93f58aefa94e4e0622f2e962529fd2efdab840fd0bce62e163ca0fb004ec3b22e246073614203d9b63fe2842ef5903ed08b3e52abf7ea18acbe16fa8f66368\nNONCE: c9ac237c87270f2d88b91b64\nIN: a75f49778a6c03b0f8915f5d09efe99c5f4e9cd928713882e6b9b78bab3541812db41792b893c7e2259debc6c660ce708851912a5b9eaf91416d86b5de114ce1\nAD: a4b198a329e9c5bb6d9f31a6415811eb33c79422b0db130b78d788c38c0b9a5122688cbc50fea811afa20789465f9ee4362336cc3701ece701179af96eb7c86d5a00ed8582f24364393287d5dbc3e83a82b7a585cee5b152b5da40aa45ccd46dc841004778998c7efe9eb43c9762d1c8581eee64e18c5a961bda5aafdd5cfec8\nCT: 453fad9395106a703ccbfe811bf775f1827ea960c71d79242d2ea0e3e31b14baa76eb6d107dfc6e484f4e5146f8cad5b389e4c0fa18260c96a193edbc8091a36\nTAG: b67082c21557b31392a9821fbce4b93706f96856d2581c92e7fb65dd2166624f\n\nKEY: a145adafac46280e1cee8696903c5f3866540f27f17a519637373d95dca4ac5ac0bfd85ca6e1f8df8ae3fcfc9158421581669db52c20a3e19c5d251952f63218\nNONCE: 90bd43611f235ff225b23208\nIN: cbe5f3a5b7a94b8665cac1a4d173a225679e1a3926d8596b5adc0ef4fd00f7d93a432ff141cc04f877be60b6a17fff40ac845a91bcee3b483862f67d9a76ef498ce5e49c361bfc018e401aff47b397e96b2982d4fdcd043ca09905be9634e83dc22a667c955bc992ec96ca1b76f73631767f64fc7151284d5aa81c1aa42eb3aa\nAD: \nCT: 604f718dbce17dfca1fc5e0f400151cb65bea9d7d8f26d56687a76a23f89201aab01ef928006d15493f5b1501bb99c517cf123acd956ab575e687298488a88d5739c266e67ca6a20a5dbe5f5f27ac778816f04e7b1764cb716477f3aa01482cb6b25fe034ab5d942013164aa124608cacf13d6cc9487446cfba54315fc6bfc42\nTAG: 8e3e1a01945bfd9e1aa4eff1cdd0a6da6d8fdd5446e6d732a673effe8e44d76a\n\nKEY: 63ac8e2561341587bc066c87cd23f7f33e6023bdc1521a91d6ce63d3ab213825d95d674928b56da1741aad8e85a8b703239ad74e0304ad555eeadebf4ae30aa6\nNONCE: 4f3073c3b780ebb146e136c7\nIN: 7f9a05b1aead29b4d5361c2606e5db8a48122858842679cd46f8386ef9359f998cd2c6c266791429624ff634a160d08faf1523b650c30b2fcd71517da5f377000251ef23cfd2510a0630215ad45fa6d2313f9add040a07df8259b82d3f29cf1ab8477cd114c9ee579d3e2ce60c5da2f3375b68b4d6e0913d39dac9399c00bd32\nAD: 22\nCT: d4ed811c8db932348e0c311e9278ef22f22cec8af88b3ac0cef77f13bbd9b8cca037c1ea87590a0ce3f3e7b3ffe1dcc4c7cd9e721baa5f126a3e0afb26dcfa02bf44428846c0f1e07ba0e026c23a39877de1e69e16a2766ff4fa3d4e8d3a97ba28f407f459ae3520dd840e8f9e149ea582048dc6e3d0227bd86a9c26ddd59895\nTAG: 0abc9111229bcb725953d139a2dcb1aa0cb9d3d6c01ef4733482dc5edcc88958\n\nKEY: 355454fbe12f125edbc13550a7494f37efbe12b843058d29f892e1524289c2868ef0050a75a232d3083c381289e4950e352d68d64bf05f0608d694763c36641c\nNONCE: 0a344bb3da1c4260f2daf256\nIN: 362e97f8ef09f30e5db2f21d40568d347d9bc42d4c94a563484b12eb109886ccfd2c61c40dfe93eb836bb6aa4f828e77c137485da2df494cbeb6a9a0192c3777b4d7a927fba11a8eaf604b85a81ac4719ce8b595a74656286fd0b80d1ad3f3393e6038b258af97af9a77f6760d486d9caf5a451ba26dee51bda0f76d75bfc26e\nAD: c7c2e8196f37185b44515480d5d9451d79d07df4c1256bff6382f942727ce9b3a4f81ae964d8af2cd9f638\nCT: 32a67922947fd6b1c1bfaf3e1d41397173b97095e55307cae1c574daca275778d4aa4313fb1fe5b3997ff18800903ce044c7d0976abbb03b6cc1f7498d8b56d00672bd74f7cb152b677c632ef7a6f6fc13e95e82b6e35d663eb47f27c229c81174fd7c62c94c414e47216af2580fe822643e54907af77ae18e903fe856a02173\nTAG: 72d0fe5baee8090c5f8e79890b77f6d72a4213a7d1a81e0d1f1c9e6731e44d54\n\nKEY: 664478c9d30d2cbc39351ec3b3494f3edb81e32e48bd4ef05969da07e770e4181a9ada3b2f83b46f40fc2d9ad35fd8ee6864ff3d70436d6cca3f8e0563cc3b06\nNONCE: 7313df9679181ffad2972a6b\nIN: 142f073f2ce443c68822f120b5009e39bea3453017dc04c1b091adfddcb2a7e361c2b79eab1bf0818bc86e9d7964834d3775698b56a11ee07a0c9c03cb7bb895bf1a1dde3975c3662d233052824f1539f58cd6ad5cadb58fecaf2b34935ff711c45a639d642fb8fc3a52929b1296683bb13e67f2cc8ed9090126cdf28a4395c6\nAD: d0d78b94505793af546912f3780699dd72e288c775bfc75da6e306defcd868f6d40c6d6ce34fab9c11574ef5\nCT: cb913e40ea5dfe76beae612e9732d23ce352789987134822b2324db585179bf90d0ee20bee102e93a49a55fc978d19e99ba316cf8d9a10d2f2bcb75da4b135d1fcb8057edc33a180586015d8829a128f8fdc87b72497016c280f54f4d974c2c7e9d32ae137eaa1bcb670be237269fa73c3a0f273da9e70d89600ae7c231fc9d4\nTAG: dcc158c254ff7e131ad854a2158d51c643c281dfd7df342d5481384ab236a685\n\nKEY: 409d1b4e1c187c8b1c053e999f2af648583e1045d56d553cce9270d08c5643ef365eb35e3bdeaedcd164b0122ad185e71c75146a9807104d9b65b56d9bc1dc55\nNONCE: 1cce3f08a5aa5824d063a6f2\nIN: a255239e4065f3effe6aa5e88814d516236d016c51cd8eb35af7cee86418966559802f8ff7ac39c6a45acc1f1b18cc28d7cc32ae66dff43289fe44c3a2a72fbadf3a7249d76c1ba9671dfc420ddf513539f2da5f31030f2b6775c57432c2c3486621d841e80dd4894229debc12ef47d74716838f2d807e208f0fdaf733bce76e\nAD: 8f34f8b676e71844841c6a7b63fef1ad3061f2449c1044e1a281595da2d9e9fd141aea7350bd8cf9774d375e67\nCT: 969fc2c64261db415e51eee8cc5e0cf5185b8e3325dea516a70e32115a5b72233a44458c40f2daff3594d71e42ca2e3fc1c444ce171d22ef40009d798456613fa4b76beaa6d469e235997a302ac468c8bcfb8ef5de5cda58d7e554a9eab6cb568945dc37f28b0dbd674c083dfbd2e42fda1b42d0c1966e9652a21b32af71e2d5\nTAG: fa0789a83c255412501944a67bdceaff3f01d9a23b0c749be38abc956e2acae6\n\nKEY: e6fd8144cdb305bf9e62a2c901764c62902f354409d8c5b9c8cbfc0ba8ac7d0859ff8994e573e46784395d89c355a91a313f601b56e86ed3fd10ba428a5481ce\nNONCE: bae080718d3e5c5998542f15\nIN: 2258ffcd6fcf91b1723f8db0047525d61cc8ffc440acf3290690685d16384292493807312b7dfc23ac9d9c3ee1405baab21a3770a05875cfe325268b65fc877463e3208c842ea4a32cf144cc46d57afd91f6b6b5d85fb2dedb0702f0c4e7f742cf4c9b4aec02f07267ec1f7b96a5a3ef25f6c1b4c27bd829e86583e239cd854b\nAD: 51ae57749b7757718aef9b9c47da5794659516e7f98bc80e6c18c89253f8617963331f54d4f009f087d1d2bd69a083f3a4b98f2a51ce24ffc6079774f7c7b01638b6131bfccebe21fea67bc839c259a50fcc0a16a69ada3c5adee4097d9e053a03266cb9b4b39ee2a465ec1aa058e61a0b9888b93bfcfd103f91ca3a7b274a10\nCT: 5b2fe8eea3313cc04d5ec75d75d05b3242b6e3b65c6fa1761716780c9529ff8ca523096dd037c5bda27984aa93c702ce9c01c63569a90657cc6373ad5d4473028b7eef69dd79c44c38d0063e8a8b7f1aa2bf6b646711ecd4eea3fa27408e089d9c4c4aceedff29a25baa6a9069eb7eac83a53212c0b387d700547c46cdc525e3\nTAG: 60319de093aec5c0bb8d5f17e950b0f4df0dfd20ad96490f6f12db461b2a4a84\n\n", }; -static const size_t kLen13 = 178545; +static const size_t kLen14 = 178545; -static const char *kData13[] = { +static const char *kData14[] = { "# Test vectors from\n# https://tools.ietf.org/html/draft-irtf-cfrg-gcmsiv-04#appendix-C\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: \nAD: \nCT: \nTAG: 07f5f4169bbf55a8400cd47ea6fd400f\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0100000000000000\nAD: \nCT: c2ef328e5c71c83b\nTAG: 843122130f7364b761e0b97427e3df28\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 010000000000000000000000\nAD: \nCT: 9aab2aeb3faa0a34aea8e2b1\nTAG: 8ca50da9ae6559e48fd10f6e5c9ca17e\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 01000000000000000000000000000000\nAD: \nCT: 85a01b63025ba19b7fd3ddfc033b3e76\nTAG: c9eac6fa700942702e90862383c6c366\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0100000000000000000000000000000002000000000000000000000000000000\nAD: \nCT: 4a6a9db4c8c6549201b9edb53006cba821ec9cf850948a7c86c68ac7539d027f\nTAG: e819e63abcd020b006a976397632eb5d\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nAD: \nCT: c00d121893a9fa603f48ccc1ca3c57ce7499245ea0046db16c53c7c66fe717e39cf6c748837b61f6ee3adcee17534ed5\nTAG: 790bc96880a99ba804bd12c0e6a22cc4\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nAD: \nCT: c2d5160a1f8683834910acdafc41fbb1632d4a353e8b905ec9a5499ac34f96c7e1049eb080883891a4db8caaa1f99dd004d80487540735234e3744512c6f90ce\nTAG: 112864c269fc0d9d88c61fa47e39aa08\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0200000000000000\nAD: 01\nCT: 1de22967237a8132\nTAG: 91213f267e3b452f02d01ae33e4ec854\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 020000000000000000000000\nAD: 01\nCT: 163d6f9cc1b346cd453a2e4c\nTAG: c1a4a19ae800941ccdc57cc8413c277f\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 02000000000000000000000000000000\nAD: 01\nCT: c91545823cc24f17dbb0e9e807d5ec17\nTAG: b292d28ff61189e8e49f3875ef91aff7\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0200000000000000000000000000000003000000000000000000000000000000\nAD: 01\nCT: 07dad364bfc2b9da89116d7bef6daaaf6f255510aa654f920ac81b94e8bad365\nTAG: aea1bad12702e1965604374aab96dbbc\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nAD: 01\nCT: c67a1f0f567a5198aa1fcc8e3f21314336f7f51ca8b1af61feac35a86416fa47fbca3b5f749cdf564527f2314f42fe25\nTAG: 03332742b228c647173616cfd44c54eb\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nAD: 01\nCT: 67fd45e126bfb9a79930c43aad2d36967d3f0e4d217c1e551f59727870beefc98cb933a8fce9de887b1e40799988db1fc3f91880ed405b2dd298318858467c89\nTAG: 5bde0285037c5de81e5b570a049b62a0\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 02000000\nAD: 010000000000000000000000\nCT: 22b3f4cd\nTAG: 1835e517741dfddccfa07fa4661b74cf\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0300000000000000000000000000000004000000\nAD: 010000000000000000000000000000000200\nCT: 43dd0163cdb48f9fe3212bf61b201976067f342b\nTAG: b879ad976d8242acc188ab59cabfe307\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 030000000000000000000000000000000400\nAD: 0100000000000000000000000000000002000000\nCT: 462401724b5ce6588d5a54aae5375513a075\nTAG: cfcdf5042112aa29685c912fc2056543\n\n# Random vectors generated by the reference code.\n\nKEY: e66021d5eb8e4f4066d4adb9c33560e4f46e44bb3da0015c94f7088736864200\nNONCE: e0eaf5284d884a0e77d31646\nIN: \nAD: \nCT: \nTAG: 169fbb2fbf389a995f6390af22228a62\n\nKEY: bae8e37fc83441b16034566b7a806c46bb91c3c5aedb64a6c590bc84d1a5e269\nNONCE: e4b47801afc0577e34699b9e\nIN: 671fdd4fbdc66f146545fc880c94a95198\nAD: 874296d5cc1fd16132\nCT: 9209cfae7372e0a3ec2e5d072d5e26b7b9\nTAG: f3acb73908e54cddf7be1864914e13cf\n\nKEY: 0b6920ce07787f86743b275d1ab32f6d1f0434d8848c1177441f195495860f04\nNONCE: 6787f3ea22c127aaf195d189\nIN: 4728b3fed1473c528b8426a582995929a1499e9ad8780c8d63d0ab4149c09f572c61\nAD: 4b4745914474e7c7c9882e5386fd9f92ec48\nCT: 8ad7deb4be91cdc4e75c77de1c746d816212b109c5a485c6cb79e3005d2e94355104\nTAG: d71002b6a9de0addb173f49e34edab61\n\nKEY: 9c8fde2be2cf97e74e932d4ed87da44102952ef94b02b805249bac80e6f61455\nNONCE: bfac8308a2d40d8c84511780\nIN: 82355c9e940fea2f582950a70d5a1db2316fd568378da107b52b0da55210cc1c1b0abde3b2f204d1e9f8b06bc47f9745b3d1ae\nAD: 06556fb6aa7890bebc18fe6b3db4da3d57aa94842b9803a96e07fb\nCT: ced477a00135f16006e100b9d7521f9e1bddbc7d339cc41333abe3cc79dd8e3a18e310dd1dd53ac664673ab9090d5dc07b4859\nTAG: fdfb01ef873060efc7c3c32adf3b46cc\n\nKEY: 6de71860f762ebfbd08284e421702de0de18baa9c9596291b08466f37de21c7f\nNONCE: f901cfe8a69615a93fdf7a98\nIN: cad481796245709fb18853f68d833640e42a3c02c25b64869e146d7b233987bddfc240871d7576f7028ec6eb5ea7e298342a94d4b202b370ef9768ec6561c4fe6b7e7296\nAD: fa859c2159058b1f0fe91433a5bdc20e214eab7fecef4454a10ef0657df21ac73c535de1\nCT: 01fcded8e89997d446236c8e3a77ba755b85b9b5ab8fa8f355be587a3954c4a4231a7c8c198b72525ce4304125a4dabd1574453437f6584790d8cd90d5957b0d5c804a6e\nTAG: ecb5e6b6e75d241c221a2f4dbd7d0448\n\nKEY: 92eaed3822a2fbbe2ca9dfc88255e14a661b8aa82cc54236093bbc23688089e5\nNONCE: 5540db1872504e1cced532ce\nIN: 4159b035277d4dfbb7db62968b13cd4eec734320ccc9d9bbbb19cb81b2af4ecbc3e72834321f7aa0f70b7282b4f33df23f167541ac15c8417abaf17a282ac7a57252ff224ae7911a905b8c699b20e40c1e9569a6b2\nAD: aa0232d4b10bb6f20406135861c19795b95f9597f9b72c20931c41164f1b469b0901f2b5da3a956a6e278c940e\nCT: c49082d9a1bb49356f1a9b75b443832a56387066b617b939b60381db47711bfd174324e8d20c9713d562fb8f5c698dab02b5c00ecb652c182ac5544648599fd7fdd042009ed44961efd975972ae3c9aed8a4f58ddb\nTAG: 75639e5472bec58e96b358cbe429c4ac\n\nKEY: 82593eb58f56f6d3681fb00dedf7f612c4cb3193b73ab35f9a5a9cc8d13aa27f\nNONCE: f1dea3b2a7d832ed8ab959d8\nIN: 2ee795df8e1ef530cc6fd9a1f10543b44c49383921d74fe0c71d50da4adb9e9c7e5491a488ceb5c384ebafadf0f484fae982019a8ea22efd1358adf7ad4f5fa0d2acd2f1ee095cdfc13310241243fa53b8c2610d1924b1d55cb6d9cb6a5b98a72127255967b8\nAD: ff23623c5453e61cecf9e624e5c803250c382481d3c10febfa54d03894ba8f9ed72637fcf5631f7b7312cc74e6ff63ecb240349a575f\nCT: 6841f9ffed11d165b18917ed0aeed507bfdbea3a57beac2f2e08625e9929d3f2d84373ac3b21813f7dde1b25c93129b541fc640e09f5233cd9f0587edad70b73c423011cccae55a9deff9f29308fbdfc9a73f5fff4a7b0ad308ca9b545223adcf724d3d8b127\nTAG: 479bf5015121d25bf2346429a5c569b4\n\nKEY: 2cd817f2afbaaf21815bf08ac1e8f87520244b4a3fc492c7120296607ef64d0a\nNONCE: db4c74b73839e13455fd91dd\nIN: f7f81d460034b9c41eaf0cc6040a84e17e6108372f1ca50656793554ea1d05181310711d0e60d4d556b2bedb24d7b622c01fe8025119ae0c8a20b679dc40c9908f88fecfafd688b0ebec6a2ac13421012874c80685c481b41323a1724ea96c1df644a595e8cc73955e6f661e0fa30737d78e7cec11629b\nAD: 8f1fa4bbd8e8e655f50019859514dbc4cbcf944f95084e45337d9d9d8972bd8da92b4eb5a75c0b284305601de859f8d1fac6d6b3fdd42210fdcf696119e436\nCT: 97d729cde56ec1f95bfbc16ca5dec6a208543c3255f7a2b97fbf5fcbbb34908ace9ce13bd9e90474ed620715a5e9e43c34802b85feebc4d4a23d1bc8b4b5a6c11da7158765c40d2c863185c5551cb2b10eb0b45c61b939f8274ad84fe0a74e163bfd6afc5759946362adc74b4a7f705827323f8291ec38\nTAG: ea1c9094241c5b75ea880723ccb17ca7\n\nKEY: 006a5a863859d5b70806197fdb9f0da3e4c31b0c7545809808bf7683757cd11b\nNONCE: 9d0f8621664df31eb95b5e17\nIN: 567d680b1a26980772e8ad3e9b2e2de537414368c4f97adff1408d36c1dfee65b78375c7361", "c91452e7d463338474a400ef9efcaa648e93f38f8784a1598bca461211195d7844de56b91cccc96d89e6471bca6b7374aa5ec4b2f5fba66c17a435970411f2af3d6e33c0d094f74fcb77beb6cbbac1f3a8a19f69ca087f94a5b80d5e3692e0d10ec34\nAD: aa67269c824b382d6238bcfaaed586177b852f816c31e9966744188f02647d881990d98c3eabd477557a739262bb3f682f64d2208faf98097586053a32cbf37e\nCT: 85f7411a7f8ab505a7c10c5c1fb9bdabcd9a7826465de96e3b7c762830ce133b33d8956756ec29c00b429d30047040043cd5b3bd87dff60e09e4d7c3a95bcbfa2603ac964be32a82250741e19b6786638be28709ddeae496cba7558b7acbc5545b259e6a1b2ac1f5135f5719987dc547f97f68ffb7b9eac892527a4bf0ffbf59f77327ee763c54d6\nTAG: 3a8cb8fdab2c79aceaef6680daaf3ecc\n\nKEY: 78413a2d89613a81966e8d654cac0aa34107947a036f403bda53e74bc524e7bc\nNONCE: 2d2c51dc426b38c308cc5748\nIN: 39129e5e6251f41dec9cff7ccf256c38e4994e15ca976d3185ae17030ad3751e56367f86886acc32e27fe04d0b89cc89b0206f281aa2d80f9be19928dabf07417e7659b17f09c56d170ed1ef10d2fadf01e0c78473d06a1685ef0bb112e4ec7e6ce0cbc601fc8a2dd64045c8fada4a28c0c6f0ec98542e365279d00ffdf5e2eae3b663c4b79342f2f265db30a86d6e1b325318d7f7a622b36e\nAD: 746875b71165defd5ca1afc0a92db6ef4fb9e20b81018a5293899f1e0d06b18a2e65f7616638f79a0db3f2cfdcc0eac2ee1e2e454958e2e6d214a20ad13156f97d0f2cf4276b09f594\nCT: 142722bf554b8c70e8e76e52b9c0e0bb19b618f7bbc7ffbc91a66031f418d031d3c111eddb9f1ff7c2e64191be8dad4f8cd175079d2ada20c8880d0565c56afe5c9742753cbd50b93620b081f0877f045d0be91ff05a603fdc87e1940ac1e1f0c9aa96d5aaf4a58e0393ced4fad8e83171fa71c397817cd48ce6991e3b73d3356ef0448be1bd8114feff5f23db3b9cacdcfb4d25fd4dbfcae7\nTAG: e489f6c52120c8cfdc0f164b3440de99\n\nKEY: 5c11f6b20b7bede26d6c2f0e5cf2786eea66e18d6ece02156f9233bdfc57c75b\nNONCE: 1a8a8b1f4ab85be5a4a089f0\nIN: ac762060a336aa502f5a1df1e0a647fb9d5d932dc0654e0725122f6a567681a7d1cb7625ed0404d540d8b3145c911280d2a0ff9d1c53e27677be0436faeb39009fe5751c0b37c7a5f1137a26995577faa109071bee1c87d5e6772ca55fdec02348a625b49c3c881aab162f20ba0b834e8159d9bf20ee0c5d14da0221961c4fc7d9b44c7822f32298d30775cf974172ebfdb36cfb2881ccb15e5f69ed27880b920f4a092815357e03d982\nAD: f75590af08b447f0f8466b031ed2409e9f5eb479affd9e18017a369486914c63a7494168d91df157f5e56fbc4ab6ee5a8f3af1fbe1bf9324338a1f4acad45fc7137676797c89620b15feb8512544771f280f\nCT: d8355d51bcd69356ec74b9b8657cec57335731cebfe83202c1557fd208480a2c25747625bcc70533d1ef75d2bfbeb9354066a8650f59a575e836339dd45d0d8a5cac221954b77cabba5e95da7437665fe9b48257148b7e8a88cb2cc4e0912f511aba0a013aaaf09255ec13b27cd9cd05ea11fe2ff21c9ab8a3fe86090dfe13166b172ba08e76d30ad48bef0e2325da08835ecc468cc40222db0552834ae94458366f28f6ba63b3e656bf\nTAG: 0c7f16d3294d5ef185c2d06ed719ed8d\n\nKEY: 322cbaac9c4d7cfb4c326824825ba5b5f5190fcde0d399ef1f52b82abb5a8b1e\nNONCE: 5f2eea2c79702dec4cfbee3d\nIN: 1f5cc11e085d2254f8b37f8030bd285d6aa1cc53868d18ecfdd963153485dce5a3e3e8cb0a3cf8074571f7a2e9e841229466463f506a2bc90f2d6413128efee043e01eccb930fbc002563510e499457161083ed7997e58ebf03ce7ed2f8d5487936311922884bfd31cf828f3d0ce78f3c6981932268108a369048cdc0a75c062c0ed02e27bbd11754e621ff67c511ed98c6fadc3e95e7100644ebe1aa147a7e99f25ce5c2edb8ab6446749441027a211b8d04a6247299dfea9d75e\nAD: ab257a625aeb51f74e0b47b302fb5c0475ab23e99f4d93ecf07694497ff6b27c9848805af93a5615bc71486b26fc9da67cf60c8d3a396bc0164985fab2c64bbaa4dd0fdc22c9d9e433e8c70dcdeeebf230c7a3cb3e5d0d48573a64\nCT: e8d083e25f9332d30bfe60ac071f502909b26393440a848d1f81c3f5fd521de98cd9ad1fc3e806724f5b3732582853cf280f1b99cffdc6b46874d42adb8784cf9ab8e158531b4dbbd76391d48727b585fca0610777fa8ec6a2a7f070627f1ed254e430e55472622289f44089ff22f02b7f3c5e45e228b7b03a5d1e1abdc18b154124f8cdd3b2229e4720cbc1bd3cc3f86f3a6a745de0bffa2536027ee03d447b306ae69b1232e964ca27a6d252c1582422c99373ca2b9541a27081\nTAG: f6b8a72d4235589f7811ee1c6f8d2167\n\nKEY: b068daf90f56b15579767ecdd420c0858fabe23abc0b313b97a9c1ceddcb59d5\nNONCE: 322e47a85cc58e753f00d6f0\nIN: d032d4c5110c8f22e98895279a30a86da0ef71cea6ef2738fe3e747ee54d2e96e3afb8916281f6369ab1a397ca0a18c6c0e9a0c4edeaa4190ce6422bd116ac254a12235eb66fb5cc7ef55b721d3d2db4c67c38bbbb0bcac9234ea7d733f200e6b86fc55f4abb9b65ee1897c262533cccd118b0f493c849a7aa7f35d243f9438f1858da62bdd03fd5a8c7b01d8097d7ce319a41f80104968a46599e9a3289a29a16b245877898f345f92fa70d3e613c38e6e4ebbf0bcb64c1c41f8b83ec8e9f159d4b830d9a1b79f2ad90db06\nAD: 7856eb8621e52ab3060e8d72dfe782b62364c163fa00b49aa6fbe4210fb7208c642b7a6735b1a8b2f1dbc4b3d4952985ef207a3eb0a07b1341700762e9f9d1c3438fc6633da2fbade15844cb1813d258aa5bfa4ac129d693792a89622a0c686f05d87019\nCT: 00d34f899f0a8b40fdfe9fcec98a96c5995b4524b144545026aaa55f629c3befbb8ff794b726e759e18b7198bb2fd2a866379418e6dc4f9fa9e4edc84d21454a5cd212f68a7df321b18e9eb2c537e0cf2e0bf65e80218b841ae8a994ea3f6832d667430dc314567267d7f31519fd856d73eaa1d3bfca419abc5001b25cc1fdf860812b077fda4b01abbe8f8a81a16ad2ab5d9299ea9a0d81aa26e1a573504d5fbdf29e6b2098ce975f2f3c8c212939569c8ea8ed63c4847f2d0fd16f47bcb30bd7e00956ab8a9deddc54e009\nTAG: 6152a0401a33257c8148e65440601d5c\n\nKEY: a266f91387d96bf2baae0262782b9c23162f5271cfa3144265deefe2c569e829\nNONCE: 11e842e5c9ae8fb79becf42c\nIN: 3afe389acfdc9a34bec7b45705ba68e205b83b33f50b7852fbb7f4ae5dfdfdfb3cfee8a03c96a036388aa8f7809bd47eaa073f92905d0d5f199d466cc0ebd9bceb207f4209bf9925c6109973194742dc8d813f3cb212bbd8d92d7eef645fb0f8245811876dee5f241763edaf7d79c1b83d973f9ba3b29a9b9408418f73743ff0546f0d9290010cf3a665c443b85255759ec6248021e4b6eb825c398b5af7b5257efb7afc481abc20d90249bed5b30d44f725c78ad0ce2821f86838874dceb6b6207ad6fa34579126de720ce34bdfd2058d92b8bbbb3f1bec607de3f0a0\nAD: 28d8f6e13d0d4d2d3861e1a26d79cb68d3fef68127e8458eb599915022da751e271cd047cc712fae5b0459ae7815a24f4edf806889fc462c83181111f4de5bbb7e66a701460f508eaf73798c3ca9c08cc1a046472f4b18c69b7ed249a96f9bfa05a276499a5f499c586027c64a\nCT: 11bd92445b4e43dca339491c8100cf933795ef7cf4c3c4d6c42ae5b729ca22869d443505fbb49ccd29b44046569da104f7ddaf325e71e7f30487e83acd012bd492cb4e98342ac7d64843eb499744b3d17db402d51b5bf8cbcb8995fad4a81dad4221ca30ceb3590df41e124c327fd31aa53c86514a12e22c477489871bfeb38cf71cb3a959f4167402576f142bd88b1221281a94661c8d643f89fc92dffef322ce97f8c19b133e55f8020232dbdf42e4527d9f133b8a5934bf0a2df3754d6455a9d765182691ab94ec7a2e68f3ff59805c7457428ee4af8388f91e88b3\nTAG: 8f1bd0ef9d08299f494054ab9409f663\n\nKEY: d6a68dcb52a50aa6d1b1d4d202e6f184f01daa08fbd643523f4f73ae6b8d764a\nNONCE: 7f567087a5fec5ad1ee3e4be\nIN: 5b677b87109e69eae9a635ac2ea185ba08ebce3ba4be06d53b2da081c5030f5a746fea7bbdda340e10eccd47238340b9244b9442c0efae7644cff53c7abd8445163e891cf30bc8e26eea01f0c461b4796c2106e1ffdfdd1bac29f7d3c72c8ca7f625008d8d333d2a2092c08ef83c8002ed90e2ad01dadfe4cc0681384b489f38d25e83c2c563485fb361f81d44aea205e5bb4c1912d00d8f99f8d7a931e55ae72f749147fbd97699ec730bfb01b8261f1f94696278fc703263cc789b283460af9d74647a8c039ad2184674e78f6a355a26eefc6fcd4cd32d96d245d583836312652fd9e6694ac5644eeb4c2bd667\nAD: b52e5af14bcb108c8e277728d6d6116e8ed1981993771b8bb783bb351982f9f8c2a0e7c20a5a863c6d71b7145b73d7e6d84d47780d66847244d0b8ef559f2297f39e26501d8a2aae8c36189580292da842c4d0d06a21d21ab175e34589e3b814d8a00ac1d8a3b2eca2a91b21e36c55fc6dad8c0a1b2c\nCT: ddc900dd582d322c567e3fd7eb23069b9e559bb16639cc79ffc6f3deb6e92cbf71ee66c839b4115e883390646245a42480ae6c638fe7fa04b575b4a8341050e2f3de075f2f19ad9b24d9cc1c39a659b0ffc362d46354da6bee0e41319221cf7cb160017d589413e5c1f07e5f626c2a1f8ae9e8b9ba0320a2de9e1b5f7baa4d551c090521d8ee0b30c8c709fbc00f1fdce999f1f96883e3b83b363cc47665e5a21fcf25afb6aa2bbcd0a374618c3dd8b8f97f21037946dde9bfdc7e907ac39e64f1a5ec8dda60a47148bd066f907a25b9caeb3804c0423836a8d9c35bc58c57882c5b23e00c7f4e3b1743cb14f102\nTAG: 8ac7e104a0165df543c7454223a01f90\n\nKEY: c7bcb2108b2e21fafeaa26a2d4881b183b899210b474bdc43a8f0b8464075d86\nNONCE: a2ba1e9cd195a8ecadd31587\nIN: 0d5740c4e22eab0783de87d541fa834647c3fc6543c60d5df31c19c6ca38707649fa8dcfc3c0ccc16b1bb60283d7ae2778a8f83ba07b905e23cb06d5656f614f1efcb346f34e190bcc636cdca229b64af9ae4b1f05b58f1ffd1a077a51bbf9ede69ac3954de7daf569cc8de12282cac09b9a49dfb92dcc409b8c63f2ae4a34091633f4aaf225aa02ba9c57b910a76535f0cba67fbab0e6fa0bc876217fc9a546a97dabc9be41209bdb582d8d8a62865df7398d4f7e9ac681bcd102e31bfd40cfb8e9352b1e8ff7a7b81cfe2a62849e8b77dcfb645d2046404a83442133e245bd1df35d69dba9ee097dbc867cde7b431565c72fec31719318dd27c3e47dc5f8\nAD: 729ea794668d8724a1d4115adcee0725e4c1e3ce16ed9e31bd5a409cd074c0277e21a0b431d3b30ddd361ecd176a8d86927c2f6693105d7d3c47d9be8bd90d0b2fb20587623b2e838624b5", "90a5c9f0e6d519b35eb5332b16bd2c2f9534e376ba68316efdb963d63e2c87cb0716973297d986bbd885a7306e2bdca0855447b5\nCT: d0e58d936c8b83c253ae9bd29f45afaaba9712647b3da6c6ffd40a9390a4476a0e74a2f2d458c88056bcc0a57fb64597a7c8a5e2be39669dec53c6bf0f7b4a2bacaff9aef36b43fe37b80cccc7d42cc283ba1c1eca739167c07754edec14375d86e88668b156d04c989bcf3fdc70e8a25aa3e6052d6befe3072ec0993d6b520c722dda62b6879324eb4ae016e54d139d816be7fb1bf9c0168d8f7225bc8ed9b7509b45cdb2c8a1db4b3619120c824d0bad7deb7fd0dfdb3674ab15a712f6196a5a840ee8895670cf3b20b8a5e43caa41c5524bf47c2ed4ae7027c2b566dc3e2548244057b880da2a3f1abe5e4eff090f9358970da6568bdb5f8288f9d25829\nTAG: 057ab8d811b5c3819781752230badd5c\n\nKEY: 7817285801341c10baf67bb5f71b75a11856d2551eb47e60025a0021b9948afd\nNONCE: 8818888585a6957eb59680a5\nIN: 5a5c42458f2d0e0f39bcbada0ba0b6e72340193500e22d243e32be0e7d7bc5c632ef3dc7e79ad5acc895cbba3111d8d1faa69bfe2ce634fc0d7b12242dd8bb105c6ce54cc9718921378c906ff5e61f48fa259b25bd10fee96856a206a928b450a0098089d5cb7378c2935c4537172076d829975798d4f24ad243e4aad474fd5e59e25a6dd133944918709e33f84b4daf4bc6d3ba1e0b9e364dcad5834024066ab5c8e672a999bbf23a83956623943e0011e3a2883d23a767b280ad84e2d7fe5811099395edd269077162310481ff304128271d4ce5c84ea738fde318cb2528bc5cd448c67837cb7dedb632d47e8f90e351b0a8942da2f78e2065cdf827a85f51\nAD: 0e22156bfd971ab3f123e9774bf3ff7c224af19bc79e812839eeb3f1c14f89e5666c16c44a5483efbe449237508ab2436939098640931fe3b928cb3a9378b6b9fc2a54c6bf59f34b16f06d5ef132ae2a7161034f26a6e07badc61ea51a94a20e4692a0a0525726f3de9bd1d6151fa6a0ea3acef3634847cfbc98d2e0bb9ae89e\nCT: 5eb6120cae6df4766b40ffb4d204ade5ae08aa2cda263b39ec7b47756ed7e6b7837fdcde8d01a2bf01367e9398e25991f9da11bc9f8de8e6c1b4e922af05d20d683edb4a245e22eb6cc4fec2375e8d81f9f27af5f118a16fde654b4ceabe770fb3a00bc7a88763b670b5e3a6ca06aea1824e20b9c1a304c4bdb62643fea73030ef6d18ee2e22095b4c73abc51abc4883f2bcce14033608ff7e1ce72ab3382c29069eb75426d283a4a71348123be19f480dba1d1677055de9e82d683c2d6413a6a4e0c6d58f7f2188ca5c8b916aa49975b80630d27a89ac284b971478376ad6e55dc64098951bec2ca7d77ebe790b1ed7fe7f33fe571d8613f143e3d3ab6bc613\nTAG: 6f3f79c6231d7e45ebc1ccbe5d110a0b\n\nKEY: 4f91a78c56558ac92b4f33fb1d96b1ade26cf4b2fec779bfbf6709e531ce0e62\nNONCE: 19f75c4c31873d4915b1af3a\nIN: 51c2ef5e89218ac4060dd12be216654eff2991e8d7bce6f6a437966f80c59c527679b8983e75c617c917fa9b63bc60748f5ca179645afdfe6a126a73d3fbcd41a9df6d734e8783aff3a5134ecacbb289f93febbd8eb493693264026f8678e9fdb779038ac13199459caf9c4e86f4cf8306af6dc04d9dbb678d3ce9e41d154c4c1bca018bbc4d744655af04ee2cd524db41170f0946df225d156dcdca3e52139561b61c26bfc56bc90c21cffa69468863afb66c3e1524303f8f42103e435fa2fe2c2956feffe5b06ed20bdba730d675166f13118a193b06d7985d54d46e4150468df1252d7cd144afc99ce99b93ce9526ea4dec2cde1d0d72fb82f55db65ec2035e387e7923d98490cacc793046afaa2e49\nAD: bed34cd7e4eaa52e75bac5e86f9e9eb81028cbe8a515870edb9a151334e1f961949855565abc51af9a1bbac0222e9bd217d3e3a642b0f3df8e7c47c2c9d5a801cc8028c425b3becbe31df39d30637c38f981d268017da818010189c93d2d135024f239407623496c5435f04f9cae86e63ef46fcf9787c946b400249d8476f82dee274cc0cd3714973f\nCT: 27bf7ffbf2c9733c3da8947db11ac8801475451b0a65c96a2a3934bf45ff54fd5fb21ff0d51c83ddf0f49b005d424620b04d0c731cb214f4beb6d353a6d6b7bf1a706b070faf5146b562c9f4e6c0ba5dc9ef9ccde79cd162bcdd887dc02bc95e29dd606d22845f35d0cd6d5eb1f1b154607c0c5c2e8c7dac005eeb17c238e3d4d1e1caab72b20a9d7b2676e6491eb84e9cab903bb0c05751a33642e145de8391ca9e598ffe2e579486ce32d5d76a35d440836ede088267e8cecf4b660fc5eaf05f68872b6cd9427607b146e15fae406ae7089ae446cc2172b8ac9e42cbc27d4e5ee38c21d3fd6d4d52b2d43462756d93995b9333a079dc1f2bea9ac4248c448d932c5c0f6b76da4698d15a64f761a7380b\nTAG: 7efb02056e18e98960cc5718edd07cb2\n\nKEY: 1b6e0ebc443d681af25ee26a8ed475136ed8bfaeaa8315a4cd198961518c7bc7\nNONCE: b15c68437005a4973a068187\nIN: 38adcaa250949af910aeb807096595b3af54bacbedd966f83f784f651f7a2044461a94f1a6925e6d2064e72319dae75d3883a50afb6be1395d429f24029dc9b8cc021f15e305e5418d844aa4a89ddd299bf2e8c698a8f6a6cf0165c37bcf2e5885d73bb81ca15a33ea75da5946678dfcd546d475149dd1a2dab0e11cc8b07c0b06105a497b1fdb1a720b9510d7d8819b6d946dd85c73be515c6ec00a10a69661c59fcd7a005dd08f3cad722bf3560f356c624404f3be55a02b3301ed756f557a51593ba90d18a1c13e227c8d5180fefdde4957484dcb81d08ee3331a6fa74c9c549ae13b2dc2a80ca0435710eb9f0dc2c908d896957b87325180d397c37ea7cf65db45960c4d791bf8cf798bd7626b13bc5e6b45b45be1a8ff687572ece86d1f5361\nAD: abaedc1a7f9d9ff8003bca97af7dcc42b4399f9da4a0e7e829c0e12f4d41607303f60d1df5949fca0dd9ef171678e013b88789ac1f51a8160687d842c273a2dda93c5fba1eb5bed7476ba96a12e70cabba43d509b311e9d000212c81c483b7e9e7bae1d9869a125558b2c7ef8f838bdfe97af413b460bd9dc5e372afcb105832ee4c406d74781d3e9f2aa581ba4fe458989a\nCT: 92aa5661d04af60245f6f56153cd86c6a61d5584473979eef596d6d0c205db9e4d928ba4827dbb08d5b34946b8f3e58ff62a976461ea5639fe2ee79839f99f83cde00e3fa3258e21754fa91a17e0d1fa22cc76fbce0bebb7adad09f99bd12e70e519048d96c1f97a183d8ae66445e63a4a1f936821fa7b58f569a16e25a0d0b202231a79eca0e8a2ed21755f496d8b7a9f59f6bfcf47ee4bf35788935cfb1b5ec2af2ce11c002b2843090e2267d5fc5e26f927e8836d6a97dea2a7e508f82a4cb7df375110217f88f4376782626039af166b080e181d8a310ea7fbb4fb11d5b24367f63ae83475269281aa09b7bd259a348fca28f2e1d7938127c888c68bad2608f89a2440add0c644de2b5f08d3477641675cdb428393758317c273536942caad42\nTAG: 4a43c15d469378383e9a9a26dca7083a\n\nKEY: 03679744edb73ba31c7d9d37920d4d57a766104afc9c96650e5a602ba885d207\nNONCE: 8f1c67d44d6e86eff0c96a14\nIN: 6bad3420c7dd0c64d800ea5ab7ff472d0f61bdf2e5634e06cb4f3c022dff8c4b46f2a47fdca2d04572b67f24125c66a551a1f150a02f635e1e99895807efa8001f46388365c48e4afe49c04f6681510f7e4cdfa02deb3e60eed745cf6d7ca6b773e1537d057a043cf517e5388dbbc44ff4bd68d2a7243587f8929ef07df5d001a6099bebedf8f26f49323209496d50109c383071e4a61ce18f495d98b6c4bcffd0fc2496b7eb0ba612e2a4cca8eee2a3daa0c21d854d49ca73cf5b24b38940dc2b44a2a6623e8404fc30c4e3aaf759425ebff85cb1c661744adf34c6c5d538f3210dcd0270a3d12784effc48734b53c1a228db291e2e5573b6ba2aed0a7296c1bbfdd1f4a86d6057d5534675a3f4897fe3a1200c54af7e09b97b0a2ab9f25d5ed375e7bac921f28f7b6983a41580362dcf0820\nAD: a2dfe82989ccf0a998286623617453722bea0b6e8fba504b93cd043c7e6c7cccfbccea43f7e87502026f94cc7035c5e84cc14a5fef9bf2be53dc379053725a9a29c4e86252369bf6dfd3cf2801af7447fd0529e94beba961ed65dcfd492398123faa55346edfc3ecff720966b74fd0ff28f443ca67f88b8f5a4a73007f79ef782bef601a0827888c4c74f7777279c625de8a4b51db94f94f846474\nCT: d64a6980718a5fe833da2e6c1a119f2f16a5bf3cc5089168520603d37998d5fab07a9e18ebdc0b8417cb6a4d34357f8d598753affd51e93b451269dc24354d197885ce9a3b2f575fdc9c572b05bd7bc8df091a6675185ac15bd1c4f2cc0a8a412ff72baa6fbe95065bf2111910f4f004f6c39cd8e7ff5bab5f86abdb231406763233354734807fe0346ff6ad23a1c9c81b9942b370e02bd79eacf703ebcd53a54a5782f13ad3591801d1ece15c6deb56bb5e32d959ed1363875c57cd9d42881dc1799e652bd554059ce059a9d00a126de35f0285d5d82bfdc383b1b37d77cc1180184b2180aa35d46f816fcf125c9e8e3bbdd67c8770da26b89c7e406f02ec515edca3910de72fc76ddad8344ae36fec1d72315e1a568ee69a08154696e4545ec5ca53b3c0f5ec9cfe82792380c1b9a151a8d6\nTAG: a258557d32e1924b3eafceb7b73e43d2\n\nKEY: f8563001339afb3db339ab997cd1eb1eb7b03b228162a480e129c66ad47dbd18\nNONCE: b4c98f6d51fee205805a50c1\nIN: 63beb176b754366e13c57c18433228a81089be18b534ee5f9567d529c802d34bbca36807bf845a9d14dd141c5de85607a4b4c5521e5aa717f78fe78612b770a4677cacd77a425e2496ae50ab2e559526c37ea723f2b8d14bd8314e4cc3727bfb835ea4062e87870b13d94d52c25f0c631668292f184fc048dfeed7a9d1a88cc5c4662030700cd8c257784009b4da9039909f73840b600eaf670cd4d988845b1d41cfeeb1ea740db129c12f66a74e6234ebccf4df706ed30fc736cb5cc0db17ed108229e87d6b039da5c4f0568a4cbef9d513dfbc0af9313f02d5129cf616487934f741a0a60bf11fdc8d29ec81eb37577726f54f3e35bb10ef98b1d15bd5726fe501a9249e409eccae128df61762447962ba2a63f30b59ea25e18895d2fd11431606caf6b45b908b08cf2e150c031e20e6cc649699fed5785cfc6a0e22bd8bd8c6d25221\nAD: e9c9a8d2869d236388fdcdcff990cc940ddefd06da0524a351ae6113b29db9822adf9cb548d92f23e3951ae8522ab113579232e58578e80bd2fe3e1d06414a27ce0ae2e40d87745a8991dd5bd2e8ecbcad8b903195c15ac2eaf9bfe0104bae32f772a7d7416c5671350524419a6df6ed5e1df32b961ea39b164eb7e1353b046100998ba6853674ebd5ba011691a270c046096143daa84752f872e1ae32ac07c4f0d2a048\nCT: 2ac34bf9d0d909a32322cbfb765875297c50110ad859857c641ffba8efd60ca003b8f32d157b6fd8fcfb1c6037b13285be884ae2dbcbc9194e8757560807a14b2219b9f2dac11af7dbbb2f504e3d8ad47ff73657a4d1283c78bcd", @@ -653,9 +733,9 @@ static const char *kData13[] = { "613c3be18aab77c708f5e91af8006e11b6ddebb8b0ef98c06dc3c97d008e058bf3e534582c24a1485f68214cdd88167814802c89d5c07a7453aff1010d6db0b778d9d8fc64b5bf3bb84cb97cef38a4b30a7deee12f0af806833c8c6d35a7f995b414eb0d9a900e3e56afaf2dd0d162063c4dd52bc6ffa56cfece2ed90bc7c9f4276459c9bd128ee40a5aa514de786ec15d04a16adddd64c7613ec9eed738fd36e24fbcbdcd0d3318fab948f47314a5400d71c5ee07a8c1fa17e4a4c08f4a467291cec1e8266342a42646d138331b08498f2dc3fda0374ef736d05c2a363fe08dc71ec799f0256ac9114743f40641ed8d9a039c57cd409bff29bde518657cb305a875cc6c0a58fe9ea3452df3e3802cf316a0c1f477179f6cdcb39c7c9424c07997500989a600887dd9f04c92226df10e9a8301818a5ec2f0b7b06b6d1443dec46f478a9271498b956b72060dd2b3021b004358b\nAD: 7eb6a083ff2facc3e9500278352790ccb6f9df67dccf7a03c33a34c6f33c1b4dc4ced2d5f69e5f68e79c582bf0db7751b774019d9399329f1a6692c5c527a646c9bb866e69d4f1ba4e6065cf0c5b09e941c5bb6e96d7edcb19a5cc02411507701b65987dc206ffbfaba4f06cf394976bdde1ac343e368ec1083813417cd0a325aa0e88913958974fcc911478a460b79b9978e33b21064ffdc1fc4df1e314948df71af9a6e0a40907e6b35ec6304bcaada85b456298637b6fa582ef331e2815fef135dcb66870107b2149c5aaa790f7127c0f0819b83bec46c0f6d30edb61b6fdf4f35f4b5345f1c684f41eed8088aa2f1d42c920a06092058e7c225d10fe1e5befb4dc593badee754fa12b843a6e9f67ea0e0616eaca697b22f526fb79a2ec259076971185678aaebc6449ba3bd284230ee621bc02ef1f5ff23651a6116cbb7770ec7385a44f4d54e7cb04aecd59a99660a1021eb6abb5d2cffd76e6e7380c22d0224e499e0c7b69aa0e7dd6deb47b22b1f1fb882dc35eb944a495fc3f6345b08da8f7185c3be95952bd7c982d9c8b2410a1cf1f5164961f6d1db6160d252e631f77b02d4e23dcd655e7e875b9b703fd27c57008184772c73fb5dc626ba43f54cbdc2937de7b4c470235098cb0a3e699baaa8e2adc09f8182ae1f168aa86a790688795003c3598293ca269a944\nCT: ac837bdf77bb97a1bac4cdde49ef8d6c7024f5f25a7bdcf924fa87b0c77ddd66bdb67c9b8798922f5378c0405be67d5da47f7c245c5f7330accaf74d5bec6a8667c911384d9c77e9d3ca38d88bf87deaca62b58d092bbabe64895b944fa9f6bca0aa17a55031fa19ab0c324948816c57f67adf84077b277e71a7db9a6ac537a95e54d3cd4c9517bcdb7e9e1ccc8e7dc252c27c89b9c20c9876ce7c01b17b80a05c6f75006cdd1e081ade6f9353c66f7113613a5f72d82dd28a65efb74d0d1c92793d652edf23bf7c70f6dcfd5d40b2799b60c2a6fb53beb02571c78001381fc97d4a9292a0eb7a4a0a67cdf20b4810aebe5aa4a6d20fc30e2971924a09f106d0b5b7fcf181321b6f8442f91fb7ff3b5610353500b9d6f8a36301e7cb12d94d1aab6ec0f797fdb57232c02d5fb4b2ffc7d0cd2336ff96a4a811cd1aa02248f4a48c7646591507f9e02f8f441cacee92b5bb3cfcb7a5dbb02993d0fb1818e0ec4cb719a6b43d82e15ce576f95912ebeac7a7aa377a50d1190799b00a6da2fe7cd7231c3fecfd4e6913df0b46887ae8412cd2c9de49ad7a4e8f55e7f53239649b566c4940db50e0ba9a915acbdf0ed97905b0c70930d49c5c31cb398fa4f52222d3cdbd9374ae9d7d979991fa50a2cefeee88b3943578f99b9a46e58900378ef22880c862103ab7e0c2066685571b28c3407cfef5bc0c9b176be8dacf6130bbc44389aac32cd0011aaedcb752e16a1f99838030f7364c17441de87d5ec670a25a2b55a77a57f2304233b3d9d1f4c7b145e7e145eb8607f2d9b6159e954f14b02609830fe54ce1a7dab775b49d77a0ed503773c81e3c53f50e0cb676387dec6e506494ea7843fe533aa7f09dd1d4c960dca585a1590035a9c36cc9f821b4a8aaff6548fddce5250efc4211b0ad0ad4dbc3dc5038218e58851da4848f399f8d7938da211484139000dbf8b6c6314312586311ca1d8639fcdbb20b6a6a608c23027eb46938cd6bb869ea2d3b327728f31012de124a9b57dc96d5d98154b98045943a24e4f788e48bbcf0dc20598fb91627f09495c8fd5bce762b1193fdcf9c45174005d589ba6ad971b5d7ee13e1aab89447a14f9d750621184cdf55ef4ac2f7fedd7b8fe89e0fefb4382ea18cc4feb62e9650e9ba5a12f9366584ec774f5aa09793293b558293991de7fd1793bc44341a5b59cdb45095d5b53a4b847512dd2ea621f9778b4c0f33cb7bdbee1061505f08f1f2919cafc5d6e45206cc35e89e1d366b7abfff3da64f6cfc0d0b855bf5d425a85d93ecb01186697f60a7a47870ee2a6a50cdf134a67a51565d28974dbaa9c62ffc960b70fcdadf79dc489741095ef3052df69c55b99c95a44728d30e267a02922c7a6ef2523ec379239a5148eef6\nTAG: 09a43ea9d67cec2b3f35d401141af9a8\n\nKEY: 94f159c5d19a22469924c5fbfd198b8add28b37cf7bc3258fb4b906f2ecd672f\nNONCE: 4fe1fd1359a4332402251d90\nIN: b2e081fc4457b3387c1033affd15747b79dad1d6d3b69c076d4dc5c209ba1cdd383a5196fc21fbc49fc65c69b85ec299b1daa26a4bd2e5ec2559cb230b21c3bb62e2831830a2b86da2abaa289d98eb04eaf3cf8d583ffc7291c3201df2c09b7d900a4bce0972e390fc980eb67cfe654ba3b9c579f997e319496b57819b36dd2b4484b88ea3cc1ba777b10ecaf526a08afd9e2b3b32b2bc02932af5d09c2ee3fdcfa18d6261808e418c4bb80be4315a5581d405841341bf2775d8d0adc21c10b9ffdc0ea4b22e22f61b46f844d8caeda0aeb7e1c3f84d337898af24fa68d60e2f19ff815713e1587e0d6e68d64cd088ed432c45637e1767913343d899b2f8c01bdb83253219878a5b3a4e6166e02387124e711a56e49da1893b4f72198c6339943262cdfccba33428009dff70a0c8c79af248d081ca04edb2ad4f35ed1819f0846dfade107c7e9f4094c014087c719517d943e524b86047d24aef8b901a7b1ec4e839400b717e758520cfc7a2dbced0ef491eef6aa2695b2ab9a92296b6e75251f124168c36a6555c4a465cf84a7b36f3277859dd5bb0f10f84cbc944b87e37b6b8ff6958bf1f0546839effd30995853c734a11c062414fe841113d0ae62597cd12ef80dbd4dc4f72e065171c8394e45dc6f87c86154e9846c1eb58f560b8c503848eacf05107c445a6a06420e67e2297a9975d23a406f8b8ee46d958d10d8724d90bb26e2b38be1c0e8258de3a09541826486ad28af8f2fa8c7befc95510589baf81a88f3823e87eaa8e40759cf0853547301de1e87b2eeccd76967bb364278174823c1cb1963f34fab537915031cead844dbb1c614eda56e9952b1eb4cb153d06c59c8da3b10af499b1c15ab0f03559fea13b81bd35fa5eb9a5431e12ab87c3c094861154d3d8eda448af7e15017103ad3dc7e9991b10cbe61cb33d2ff90121f4e40bd5d9e9c34b89679b6e1b54e38f00b128093af3e4ca9830a1a4d7a5e9db067c9c51fa26232945fa3e1e31e28c5000e1965cc7aa11a051305e68be9d60fb92f46eb2b701b3f959819f525ebefd5339bebfb64636d680a2a4f32afce85e287f8936bf62676c37ba810754186e30b812b1196e8661e345fb5b09b8dbe5f96e0010c5e3dd0a4e983149f4a058437cd46e3b32ca04c51ae3a4a39a7e15768a8fc379563450c616a5c7d7d98c46c0b934c894727532a9e713d330d294a2753f0f46049c88eed68711e9c49632144d5cb14d76848a6f7741d36c969edecdde52cbfb57a628678d31befa7ae3198343deae760d5c92c31f3c045b3e932e9051cd201d2dae66ca0368b94445d662acd6442c39eb945c8a4b46129a8cf5bbb2b27927729406f9b081695ce148a10226bc345c648fe557b7f8db4604fd0704831e5bdef6694afe716ddc3a8d69ccad4113\nAD: ebe1684346b493db264417cde9c0e48db46aed1984f72903e94b72cc2b2f151fec80b32523f96f61485f026d63734ff80015a1cad4b21ed1ba057627b387eaecdfc6d7a195b7d46e485bc137726d96c4ba51e1656c3f234174759ad922f3493077d65c149d1e871855490b6fa5924f6270cf15920838b66e3250a99ff7a55ecc9944cf3fd204081a61ce05bb989e5abeae4b2f24801e7f2223d5ce05c2b61f32344a0370c22751293bb898061ff50d6364ea0275bece795be21c9dc0b2749ff68a6d15896d4692474bd46fb256d1d012e45e7a58d880fba240ac6b89d2087da1ff7d41df44c768fee5bdf51f36b090bbf85e7ecb69f61312463eb0b4b1a04a153f593f8d43f62ac96f76e13ab5928147c5e63788bba4f076d12eb6dd15842e2c40fc9f1ad5dcb80bd95d9d41222953776b3304badd650afc783b7342196ab551a474579d95f826f53d15b96ac98a10c2c6d50a7b9b947cda9fb8d8d7dc7def72c5283a93112d2b58487a25debc9ca06946bb0a52a1e4ed3bcf0fb8decae49fa6607c55501f01b7441671f08c814023f7d46f4bc596d709d305ce320b1b0160bf35c8f17622c65b8e5c97b3fe7327e8e22384f6c400e551dd438d6d3d0f9ba6101abd1bc2486ba249b4cc83c47982c1210328968f2b28e4a7c4880d598d5b47aca2093965622ba7b4e4062c86d81070ecaad93d5e47ec\nCT: c5311b1a6e3d93da070ee0fc2c1007558db64bfdabdc23c832d151472513482314e7d9385918abe772970c7d8b3ae4eb0d12965e6d7f6d01f6c97d06b51d3be812dfb290592578713ed6342a690ac115c29d471826f37f7f7b46936ab9f431cc0e4029579036bc6311574205810fecd3a17ebccd0f15752152276d5169b48b0a4fa93613fde13997517956f84500edd7eac1082ab6b69bf43f56fb9046cefe8425140db5f6bd3bb201b3345b2138c7f42120a3009ccc19e2d95ddb2b4384205d2aecb47c89cb43fab6c353f781caafae280e93dff5bd213640c41cfcd81b9dfd1be05ce21758c5474c38bd24819e5d085241dd54c8d2cbb5b21a616e47c05d4c64c0f397fc16d52d008fe4e83c040a6304c41a448784fb0c54f8a66fb00b240b9d66e8db234d14534dcdd6b3ba78db0403cf0219406ca858fef6bcb259fb69c53c6f964f450bcd12997955d0190ccbb2d9ae6b3562d85dc7de2bf1bd5a8d49651fe5de73243d7f89ac8796387e0a04c74d5834e47afb6b7444df7d27592fbfdeca72428582703ae52aab48c1b587b12fad6c887e451a54ef81481e3d8b4da1e3fc09404a7c209db8c880c40b3fedc579fdf19f956bfb36d5b2d1affa0a3631681084ae4e41e3a0fed84e056bc72b6c0eb1f5449935f7c2d3de07a2a5fb65af65f91d2c1d730edb80b437cba66fea779449b68c557c5f8bc6a2581b6808a98a1acb9e6de414377f5b08fd5cfeb4806e8699e50236dc8100a88f4f55d887caaa6ae8ca09c23019126b62b5c3186b459c39ee397076c825b6e28ab62d8286743f9d07182cfc634eb4512ec3beb04ba81bc20294b16fb6d42301a74fa95f95510155a15eb953eaa51d82fc363c0c63d1cf401a3ccc0c577474f99f7c4f187316fb85e1db38dac1df4b5e7c710be5b5949dbb1925723d042944eac09dbfd74d7e876f5931f619bfba1ea9580bf4e", "6c2540fd68d5aa9cd21203ba207f0f62e325c1e054271933563063acb4d932eef201bf3312763dddf6992fbd128cb8fc8b7936acbe8712ad398c5a8719b9efbe0927b9f637f323c4bea80901091608ab76e483b5ef666560937705bff96d430e6e17b0b24c755de19bb88aa81077852c92a96e902d538b4e11b78a4b5d1f5669aacdfe5125d806a21c06ccf4980edee24e41b7e17672fed0ace9b19e4d55415d097f0b5874d60dbe311871abaf47220893c398d5595ee16275eecc6d15f39aa5e2181ad1448345406a4c77a34c3fac77b4c506cf393791d69e113270adf0393cad689a07056e388ea3bbd00ee5878e1120c869531a8b4745ca2debc1e008493d17bb3777992cfcaa165188b4801122af5422acfa0a1807a2a35e793ebdd95aa9e025edc065cf9ae85972a5f42da193cd9b653373a6e15d647b8d26207f3230e50bb49\nTAG: e2df8917d70683fb6e6ea67db55367b0\n\nKEY: e22480e24a29b2910b227930344f6a00916bb215e57e1f3155fa9437603fabc6\nNONCE: a4c6732e0887f40b5017de54\nIN: e46035c45b6ebf14c5088c5f15f552a4d233de7d3750d7736838a5cd4a7b41df1b71e6c5e6a7dc63519ec43bcb4fc603168352b8b8e261c15e76e73556aaffa32193c1f5641b2eab29497c80eb06543c1b0f1787bc616a4e6618f751dd0a2b28a87fcabf405e97efa91becc8ac1b036a2ca244e13dcbae589f0d6bf8e19bf91caff673f2a80de93a6fd5da1e63516e2760ca12a64c8175071de22b26ce72ff9e15e5c55fb253cae55a3f48c0b507bfd423f66ebdecd0b6227d0e67c4347f2a4819a6825dfc2651e97c1da629e92bed3827a15dec0f0c8743731baef8035fb0a790f49e5b2a7339485df313a9633496fd9e7a9904ec566bf20b8dbc0e3c1e4572411da7835b5eb5cd51313b78a1d6ed96bd9aff2fba37e86d475d95fd7e14c6fe8ab23645b15e7823b7bc9d0a02fbd9a43c05a6c660b6690891c4d055af21b50a5500d72c91695536eb1a3852caceae05803486c64535747df691ebc62e888bce8a5c820569b3d80edb4e29027e737fcdc4f49f6eae43b4bf68a5731fbd09778d6b205bd8b3ab4cf251ff31dd94f2033118ff0c4154c78af27570d12def873fcf4de7ccb6b6cc8924dc63f8104e9a3323ddd32006d8ec3aa530818e299490dfa0a9d811fb3bbb5f624f26dd7d0d7a87a7e7748af5ee4f4bbeb150ea4078b504aadaf92b8f9edfb701c6df7ca615416f61bd770d5fc6675db01394a26f585ffb8f86b254d0e08d0a0f5a499ef1b2bb0216e486229f5deb16d1e95332b8673652a86a6e3fa0e479987b2bdb1909fb772c6836d15cc57d97f29acf335ec1873c1bc6e714b689db855c8ba59289fe792d93774dd83313e3fdf11bfd6a40d6c8b57a5989e844cdf2fb38c239f6116c1c3aafb9356ad4b07ab37f7fb089cd424a8c1f19e5a13f085ec8cd74c3c9f0aefccd6fe5340eb1e419d15285b6b0d3b57a5545f6e28b75bf4795d995a20dc7a618f0f77a174e3eaafe221f8da0cb071473c507054243a7f9eee7d5c77b071602936fd5bc411e9923fc82016cf5345454285e9c1396696e05d984649a2955d7446a1d3966adda11bddbf3dbc11e093c15b7d4fa2a7a0c33fa28dd3242738d7a77775cbeb8176a6e9a4e4e58e03f631a67c3229d57302fe5967c7e3362ff926fd584edc32905a350b390391f7fc3343f22498bd198ad56cc2827926b0c4700cc352bb990876db7c17e2d32b5b0af617554a1f76c32b94cf7728e89bc208f22e986e7d2faef190f820918afa4e08cc46adf0704aab761cbb9791aa12eb31a7785d7716c3f0a46afbe2a44a52e5d0944fbe207ac78d54c407679814cc03d9c9ea28f1e518a10e0cf034d1ffa27b67c9f027d738e0a96a381571bb52afe2e983b34f9159f05d4ac9973d996c4612b7c60407a66925068fd98ba6b7742a219d8bed4ceb720a8541f4cd9eb990384f8f8698515ed3692\nAD: 8eb26d00d61388ca0f06d45cd697e36f11e25f618eaee0562dbba21d10abfd0bbfe232e6efca4947adfa7fc59de529652d11847d3cca84ad147f8905bfd0743be43cd21a9ece92d2d7397f74b1632ec2b1e398565e3f37039f1e147c061b51d59eb31bd16bf830b7824d1ec5e79441e5c5e5131062171467a037c350fd16f58854e3dfd9c1224d26fd600b006d4bcae123a7a9d4e98c47b9e9e3fdbc22abce09b3c24a5a060e371ee70110227c9a8b6049f194dc4f74cc97d01247d76b460774acf7c5d4a8fb4f01888e29ffc517839c234836cf513951435f226e635ff8b02b18225402b026566e951449023fcf7f6bc2285dac1b7dd83028697dac70927db01c22921f6a7a6304052e58c8e87819bbb75de9cbe6239cb1ae8fd4849eb4f48759aed59d5a0ec3108b3131b0b74a4f860e37d02e04b9501e5e3c306cb25820abc50cdfbb05f8e5e2d2b94c58190c5d950f804786fb2ef97eb013f6f049b38fc57561b9cdfce5ae30516050d13d0ad8c1d750b51a552520785a9dd03c68203d91e72e3bab17cd67989bd103532071676718e889b94ee12856547a6d0a6c88c236d7fc7b0d8f222592d00aad4e813f8c738bc10c0b1fbf23bdb2baa56b1047348ed172a15dffd0bab088e2b406f040ef81d3362d0f86d129fde70ffaf87ef3c4554fa43850d1816407b4d5b0459bc622414a2d9cf2809e60e467fde6ecb7f4d9\nCT: 98763c2423882eb5a1e9075920b2245f2243341f6dd2dceae7780aa738fab65c7d86f41dd4a64283752db5e86cecaed0ac1afe966171e94f2c30d63a93ff11343ce15ff3bf464d88a6912fbba42c08e6225cfaa63c6da17a6354a34362fda3d993920050dfb99c84a235726aa4cbd66260b0e5675bfe89078e33e76ef537d2071d5801758c6cf07557c0e8bfe0a49aa6e212d69617d1a22ff15a26ae28f4d724d6b537ed34af62672cc9d48836f284cbc7eaae8cd15b46b8e233c94bf3036713f2679e23e0bd829dde5b3a5d7a2d65193f55a45def3d52830cfb1ce3f8208c1425d8171a053ab076c2377f7c26b37970bc3c937db75181a47467b9735be331a0f30a7f3ae135a533153ecd0a5e0cc1568e303a6ba6065c0dca8162a33df7c5b69542938c88e2141e2aa697c48e72ec0573065e9d9a9945cfd070d45218f646e5cf0c0ba145ed1fc7b7cf96c64e3a4671eb6b51ac8eb79bf0b4abd56fffa2ad8a93c001e2baf0b65e257782d7b7e3a837cbae16d40183a8b629467f77f2c7f8640da57904ab75a642e99fe4b45ba7ee488f889b07ce7a4e74540c3e0e0e67f88d473509295a66e27d4ebda1d4d3313add2555477aebf7fb84edbfdba18afc6f04c4af6a90730518a8ce28c12ab90921c413bb822e63cae113e5254039cdcad2dbfecfd97c183679c6c4691c99ba771b1389384259b966f358f871343b4bc5f9a92d8f27588202ae1269658ed91bae33deec6a6a35b9fbc523cc11cbc15024f4dd386b8f41c3fc7097d717099e722e6243a13bc475d5f2b1b2569f14cae6710c8650bfd78520caeceb035f58adae811c0fe9857c8cec59a01123e5eb2774190943c2cc7d535af77ea1f79cdce94e23de21004c73fb8469c230e25fe245c8a5a6314736166a7fe4e1bb0f91ee8d60daa0e576b9b7c6b5957d4bd8d8b928d36aa46fbdf742dd602f9cda2ed1608255d6dc962cc6d3f270d6a42f5185b38e6f0085f39dd17260f0580b62d49cdb668e3e5f76d47dd1deaba0db5b315ed6deb62e6e4388a74ff21903d7bed3c3e87585675a608668bc031aa83e7546cee77bacf9d3f5cbcf00ca71d6f6c86751a5db0d7f7065324d33458b7fe66e2b63bf9d8b514006d14da70f0d64f171a7bc11b2fa5955b85090701260a13cb52b930681e10e9daf89bdffacb9c13b9b60319e3be0ed29f7b7d4723ac5af888375c9e23bc97d3b189ec778eaefb3e4649d1b1ea96979c8f004064abefdfb3479e924dd974ff6478beb1034124b1cf27fc739872bd24bf257df2068475f0b144e61411481a48739e2691e535b64066acce2e0fee9c239c4015014dd38570b01646bbe97a389a3604312f06bcf7ae288790b73434288ba0c90d7015bc1bbcd5a0fe84564cd6a692df04d53716bb96d769074d758bf1199f716cfe5c4c542f9852435fc9675a80b4d\nTAG: 9f62d794a54433e79c71a5a5cc8d282e\n\n# Counter wrapping tests\nKEY: 0000000000000000000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 000000000000000000000000000000004db923dc793ee6497c76dcc03a98e108\nAD:\nCT: f3f80f2cf0cb2dd9c5984fcda908456cc537703b5ba70324a6793a7bf218d3ea\nTAG: ffffffff000000000000000000000000\n\nKEY: 0000000000000000000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: eb3640277c7ffd1303c7a542d02d3e4c0000000000000000\nAD:\nCT: 18ce4f0b8cb4d0cac65fea8f79257b20888e53e72299e56d\nTAG: ffffffff000000000000000000000000\n", }; -static const size_t kLen14 = 64853; +static const size_t kLen15 = 64853; -static const char *kData14[] = { +static const char *kData15[] = { "# The AES-256-GCM test cases from cipher_tests.txt have been merged into this\n# file.\n\nKEY: e5ac4a32c67e425ac4b143c83c6f161312a97d88d634afdf9f4da5bd35223f01\nNONCE: 5bf11a0951f0bfc7ea5c9e58\nIN: \nAD: \nCT: \nTAG: d7cba289d6d19a5af45dc13857016bac\n\nKEY: 73ad7bbbbc640c845a150f67d058b279849370cd2c1f3c67c4dd6c869213e13a\nNONCE: a330a184fc245812f4820caa\nIN: f0535fe211\nAD: e91428be04\nCT: e9b8a896da\nTAG: 9115ed79f26a030c14947b3e454db9e7\n\nKEY: 80e2e561886eb2a953cf923aaac1653ed2db0111ee62e09cb20d9e2652bd3476\nNONCE: 5daf201589654da8884c3c68\nIN: 96669d2d3542a4d49c7c\nAD: e51e5bce7cbceb660399\nCT: 4521953e7d39497e4563\nTAG: 2083e3c0d84d663066bbe2961b08dcf7\n\nKEY: 881cca012ef9d6f1241b88e4364084d8c95470c6022e59b62732a1afcc02e657\nNONCE: 172ec639be736062bba5c32f\nIN: 8ed8ef4c09360ef70bb22c716554ef\nAD: 98c115f2c3bbe22e3a0c562e8e67ff\nCT: 06a761987a7eb0e57a31979043747d\nTAG: cf07239b9d40a759e0f4f8ef088f016a\n\nKEY: a6efd2e2b0056d0f955e008ca88ca59fb21a8f5fc0e9aa6d730fbfc5a28b5f90\nNONCE: f6775dca7cd8674c16fdb4ee\nIN: 5dc495d949f4b2c8a709092b120ac8078cdfd104\nAD: 86a597f5e2c398fff963fcfe126eae1bc13f097f\nCT: 04416e23586ee364b1cf3fb75405f8ef28fddbde\nTAG: e7b9d5ecb2cf30162a28c8f645f62f87\n\nKEY: 8d6ed9a6d410989e3bd37874edb5a89f9ab355fa395967dcbbfa216ec9ce3f45\nNONCE: 55debbb289b9439eb47834ab\nIN: 52939c7416220822a77435a46687f134cebc70a2f1a4c33d37\nAD: 7790af913d84a04c1b72d4484ea2e09fdaa802d8b1733b8470\nCT: d7bddae8929ed6bbc9ac077e2415d9fbafae4a0432f8f7eb6b\nTAG: e6383b16ed9c32521dcaeef3a7b9b67f\n\nKEY: 525429d45a66b9d860c83860111cc65324ab91ff77938bbc30a654220bb3e526\nNONCE: 31535d82b9b46f5ad75a1629\nIN: 677eca74660499acf2e2fd6c7800fd6da2d0273a31906a691205b5765b85\nAD: 513bc218acee89848e73ab108401bfc4f9c2aa70310a4e543644c37dd2f3\nCT: f1e6032ee3ce224b2e8f17f91055c81a480398e07fd9366ad69d84dca712\nTAG: e39da5658f1d2994a529646d692c55d8\n\nKEY: 630b506aa4b15c555cf279dc4a7ee9add213219d2c68163ceaeda903fb892c30\nNONCE: 79eca200a5cdf92b28be5a7a\nIN: b12e6f1f8160cd65278c48f68ad53c8c82fd17c2c39bbb109f077c17fdcb8a0b3a5dbf\nAD: 46cb18593b3b26ba75e4cb20a252caef31d00be31093d2369e93572a393d650c68313f\nCT: 9a9ad1f78b4d411afe450d2e46347a7df98f39daa4fd478b9ab6e6b417878bcd52743a\nTAG: 55453a003b021c8a247379cdc4fa6da6\n\nKEY: d10bb6641e9ba0a3f1b016317831ad4232f81c2137adac0940ecd7fa36de0563\nNONCE: 99c922d37c95ebeda8e81ae8\nIN: 8b9089df5bb048cebbe709cb61e178ec768515a0031288d95b7cc4dfffeb51b836e126a237ec50cc\nAD: f1cbf6c83493b2087d9f88e02121a114f45ed51817e46ffc0b66a783350eae89c6700db3f3be5f4a\nCT: 8a838c51a8ef8134481e9951033295ae686624aa4df72f869d140980347a5e69a6d7cb3d7119b303\nTAG: 9152bef766579a3e9a1e36abd7ebb64c\n\nKEY: ca665229adcc7554f1b1c8f50e7444c6d4059c525f9c0da1406ffb35d50cae97\nNONCE: 8e2df19123ce0ad41df416d4\nIN: 12365eaac86b270e9c61b3ae7702a6f3583ef4accb80a98454c56e34e2ab97d8afa23ddee34e7e3a522497f985\nAD: bf539d8e9e3a02f3e5834970e7efd40cc7cb340a075041428d6a69ed9fa5105e4bc63720be9a7040ce5b4af6e1\nCT: 96027efdcd4433df8e7f6181c05be365cdce550b09d45cfc96fe258eab6d55976a9306a0070c9589ef08cf7a42\nTAG: ec9fb5e79cdf8ad4c8a79c900975159d\n\nKEY: 5033338bf7526cca0425f4a620424662ebc58364c8d985d130e525fd1f598f3f\nNONCE: b40842b30758aa3eef7cda62\nIN: 69a62b8c5f9b81cebee3a9345f4e49ea089b0d9c1cc57b4ef707956d0287de83fcca6d8f5270a9393e00693075028189bda7\nAD: 3efe0ed6fbafa61070388abc59c0d06589309736b02418df5534c8c594d61a2afefbee17af8283d01634b6ca3e8e2aeadff8\nCT: d6184677a21978b6443d99d7de1fd01c6b6334cf01b7e7d58456267453f4de96708b62301172c8c87e970f91c5301e0ff61e\nTAG: f8ac7aef208712845d137b8b176c89f1\n\nKEY: f33c39140999a2cb69e43129cb5df18fffeb3513ec3560792e9909784daee43b\nNONCE: 70608463f1dfabb1fc4451e9\nIN: e2802c4d290468177fdb031a717345753cd7c3028ed07dea428db84e7c50c3eb7b24f7381a167b4ee31bf88dcaf5251fdb90ecbb74ac2f\nAD: 10a6f463dc59d4791b3c2b4c93cbe2dec579a154962cb2c4cc77664e8c2b106c574fe115fd43dad94b8b1bf2f74820e28435b4444b2b82\nCT: a27419a46037323c033d7cf2a716777fedc02a5ddd8bfbdbca82ffbdea3037bc1cc80df7c5e502b32276ae88ad6fd0f0cfe72604648812\nTAG: b1ae330d47fd399aaaa687e141e23fc7\n\nKEY: 2121056225a7b2316a93c4bfeb970486fa9c586c14ba8b40be5844a31e9449c0\nNONCE: b4b7d1e8fa7d0e2334c92315\nIN: 2038e2c6cdf5282f081292448f8febbb60a1520fa3771cbfef387f48c5915a1438ab709628e8d4c81623ddbc2f6f159c3c9a8922905c4994269898b8\nAD: b07f66508a39c4932b04c16172d6462d78273cd9463e52284bb73e3b8b8e7047bdf10c5ace1f903e5a5eacbf67c9351f82c74bda140df2fe0480c80a\nCT: 7b54618ae09b37ee72e51873c82cdd20b6dca37c334af89548f52f34df3a757e632cc0d453fc97270898eb50ce2f2a98c4cbd4cbb22a5b7c7564406b\nTAG: de3a9e2aab2439675c4f7f0b61216d5a\n\nKEY: efb15235bc91771aa32d51472877b0eb364de2f88766908eebc6e6b57a702099\nNONCE: 1a510b42dc20d1d0fb34fb52\nIN: 4eff604dd4bba67f143dab0728b8597e269d4e0ecb4ce80c9850afc645d96da239d9db360605bb4268d74e1fe3431a44242ae862fa2340c076db13315f615b85f0\nAD: e8dad34f727e77444a96cf06425640f1fc80fe3b01dafd1d91476140afe8204286d01b0ebdadc0270a3d218516ff5f08a69a7ba251ac325983caccbe0d9e1de359\nCT: 989fef0145e2fe93b9f99fd90123632d83d9df8f37d8e1f80dac329dbe0c214c2191009e31232538fec63a29665f0fc1c77dc86b2f5f2050b86b3ae48e85d63116\nTAG: 6816304faeb45da4e4772f5c35730f8a\n\nKEY: 998c22912d5687fc3faac262a902783fcb0c738520b5c4135a8dd2cdbd7b0dfb\nNONCE: eeb535c5bd6edfd696655b60\nIN: 1f6ae10d425923c882b7d2f556571acfc10333ec665b07bfad9f8948a3b8c5e5f163a4e99d4726da1a35359c657c848f327b7fd9b5f61987440ab12b9399db24715715a2d1c8\nAD: 9a3c76dbaeb69a6481a89318caeb6358267ef51a1a364a48387bf77526837c9c70afb6f105cd47d2b976dbda7d2b6bfea7b76b135810c53437472f7b80ffc8ce4dc95c7e5045\nCT: 87f4e2c80a4f15f92a8e94f468e70fe7f0e0f83c0a7799a1d465043d25210ac6f0f39a5e9765b4daca637864d1bcc090d2ef33ddfccded2d2dad61dab443b3cfcc683147c490\nTAG: 0744d928a5b5ec95f3087cc2623f0031\n\nKEY: e12effa8da2c90a5d35d257c07d1b467991bd5f75fecd7129aea4e26b9e27ff1\nNONCE: 4edd0b4cc349d37eb77f5576\nIN: 21dc87984edca46a629ed95ffb04471397da8806c525a781d9a71818422e344e4af577f38e7cdbc556d4766770a9a3c95bea59ad497fe0127816ec4dcecb6b999486719b0b86cdb2c9d09e\nAD: bc158e6570fb0a08d73367dba65b80a8c8e57ba6c7b99493ebdaef0424e18d8ab1f7c88670cf51c4d91b77eb9ce0f89a46ed1316141e4299ec6c3d6e712ec9e92d3db44640402aa4ac00ba\nCT: 07ab8c623d683ff83030392e2864edd4b8e3d296d60579a226a8d2aff6bc5af3c4598a18cc1e8d7db4ac8eb56a082af864ac52a324851dd29af51a0945cee4bf303ea111b9b627aabf5ff8\nTAG: 53e69b7be969c39560c016c6bc1aa4e1\n\nKEY: 3d9723c9235939df8647529b7e4a57b8536476d5b71b424e2c27ba4d0b82b0e8\nNONCE: 60163d2eb7822af7fad64c04\nIN: b44face0f45e4a8da19aa0c5cbe3aa960ed6b74fe3d3d9201f52523dfe7651756b2ce482e759c87bde4ec670a0e808fb4883e437c7cbcf2f6470352174327824200cb0897edc4def1736f51e229addaa\nAD: a4b2b7bf36a70a5246feee52c474058100bc618fb0e3d32e8c1f76153edec47fab3045dcc7eed9ca1886bb2593703c9ffb8883c45386d2f4e3fbb0b7c722d19f2eca94767174d9127450549e8993ae33\nCT: 66fa63ded066ac67bf218af7bc21169a875f4bd695f44fbdff906f0a9b8a067be721fd260571c53a8b51661c8d49fe178dcb28c31deb3fa71b096b387f9fc8f3657d280404c05d2b6443eba7e60b562e\nTAG: 59d5450872510c4bfb590d9497524331\n\nKEY: 75b0a20935c4a5e2126ac7420d632bfda8d41bc947c2402bed4759b6e617ff92\nNONCE: 0c3edf0dcd1125d7e263b897\nIN: 8edc98e70030e40bea1548f6f56b4561272be0c333f3b7ae53ff3e27c35a91b1aa42d39e6305ec4811e75931e5cae2261d88a6f7d6c5b05bfb48802264e9cac782411f1de579e29d464ba56840b126a3fad07f01c4\nAD: 7e35081ef652424da6304852243ce43ff711da17f7881d5e0433b1ad7535e755a8531b93d67ce99ffe66e59fbb24f6b42655524b39f2c84daa5cdacb5e7916266c05711a118b2128930b95de83ff1a67e53337474a\nCT: 858dc74dbec6fdbe4ef15a3596ff7201c8f4fcca765bf5452f678b1493a66ed9852a6fa174a73099acf951a35699f33289ec50625538c01eaa456dc658013a29e4d133b856eb969c1f221f99e11fadc98b0ee08243\nTAG: 3d8f17838c4fc69f04d7e2b76eebbc0b\n\nKEY: 7a3823191abcebadb7970d1b65c2a8dab8a908151737bd5400b3b6c0d59e3b08\nNONCE: e32eb00e5106097e2ef0e8ba\nIN: 220db5400dce604adee4cb698cdc02d2ca61622bbdeebe347b0bfef55cc45319b940f93773a9878725c5f55485d7a26363251b9ce0d3da1f8f6e34ad5329dc9f752ec7dc12b2d259ac89a8059085996a431a56cc2dc2400a26b4\nAD: a83b6dc78931cb7500eddcf77792e810c1edbd5f4e33f85018807a8539a3cace094fb794fa9ea058e82c830d42d5a6b3e22b7785698774aec5c73edd92731c51106a23c569c0c0fef18d13da1562a9a42aa435b243c4fbc9fe42\nCT: 5ce6ec0e1d67ced5a6aa46c909b9b8907b372be03331dd0940ceb6d87e928c14a1a1e8ef9096c9b63ab4cd93242ec7be7e38b80643f9c52e7e90ffa06b8f2d238fa63dcd97af74ae37802d124623b8a272e68ca18b3432b7c017\nTAG: e21c61d604253bc5b5d58283756b9eb3\n\nKEY: 53ff6d", "c0af3e89fc2de7370caa433f539d068609fcfed6400a5b9fda4c83e3aa\nNONCE: 91a824c5e023283959858062\nIN: fc23e07b4018460279f8392e86423ecfe465b25b60382f58995ef5fa1f9ca235e4bf87112554aa0e72836831d7b5f39125df11518b8aeb1809d804419beb05ae013482213012e4ce980ddd1c58e11608b775d12b450ecace83e678c69d2c5d\nAD: b3a1db2d467780480f166859e0e7aab212738b85e88237c2782496c9c503347de02f3dad6bfc671fda71a04ff1e4661767c11303daa0c36d944346d39e3e29ec63d695cdcd83b2b57181582c5ac692b13e4299ab5e86c59d09c2dc6194ebe9\nCT: 88af588ec33bdac2cc748a01ee3eec97e5bbfdf69de1d66176f42b66383bbffa8b185cdedc25b11a62237d334d68120fccfd68c2f9447b3b8e1f623f33f7f97ad8815d29bf11bc0c65641ba8fca4a087783f4694fb1d574450191825f84402\nTAG: 2c4973323e635a885f78ee106eddf19e\n\nKEY: ca2b4d335598f26d3d3607e62b9ef853d3543e741350f92f3050894721d3d450\nNONCE: 2431b5cee8c3ecec4caad278\nIN: 75e29e46350d1fa99403b1e5baa414e41a8e714910f313f8e850cf3076508ff650011af766b51283fbd5626166d775fd4b4cb7124d26d77b41eb17bf642bf67a34c1caf0fa9b43eec12103f864e56c5ccdc81b89c1a35e394362688d05dd94eda3d05dd2\nAD: 31c3ce532bc1bae65b5ced69449129b112019cc6078268b853dd17c41832ecae07f9c6b068ef6cba2b55f352904afd6096ff8432081aed408d9340c319fd8e2029c389b6e3a4bdc38853444c3f7be9385ff1ca27e59c43b542e99799bb4ce56b8e26d6c1\nCT: 90c13ec26d01b7b96bdd6816d3ee57df57efeabdb15ba602229ff71d71793fe8081eb1b462e8b2967bc4af96fd6dc72cee3d2b6495c7f04c9068b2ad0b073e11cd5999df541ad705c6315eefa8da49c5dbc258f7ba922908489c1ce672971c3bfb6e8482\nTAG: 3a7741a094be92b838850c32e4b06c6d\n\nKEY: 49fbbdb5ae21cd955be7f7603cb8563ea0b02b77a9ea14016baa5cffc55d20c9\nNONCE: c0a4463350506d2af9e35d8f\nIN: f31003aaf5d8fd6261c01c5bb1e7bf6af248e0be3cf8aac67ccaeb0b7468a40d98be526a8e4f692dd23763563e601915ebcb59ecbf03bf9c665c4c5313c318939a911888fd427d5297b9b2fd91dd33eb7ed38e2f0f6ab74ec263989cdd9915811a022d4a46ed35eef0\nAD: 17e01af2386531ce67d5bc3325d8f83b53a87b38f1c305f99c0798380a7e59d3ecddf33a5ad23a82e33f0fa34eb2438b17e958451439774ab642fafd3794f80a0ee1b9bc165f32df705a6175310670ba54af3a204e446db35170ab02670086c47a475c22d1f14cbe44\nCT: bd661836d1b74244baca62d7d1cb6717e17e2fb0bcbc8d36b3265a983d557c562b0be60708499d0e7e9626825bc049db79a0ef4d2393fef6024d849089455e55693fd4da3d910eac11496492a645e4376855732765e1b3580461a2a2533cebb482736ac928cba175bb\nTAG: 4596e3802109c899f27f6cfcbdceac5d\n\nKEY: 30d0e4f6425e38c92ac34dcaa06a815166f301289ca9cb0ed08156617d87bdf4\nNONCE: 525618ac9e317405c7d44367\nIN: 06f2204ca864dd3f7c9d0290f6fe3d0337eb9442cd5d2b586d1d5c30e58951fc2f4e99831ac7bca4356db4609a0428c482f2580b9e8cf5fd00d86d474fd88ac3b2413f44c1ff66e59e7538c090b2444396f02004ff636aca05ec40439f4e3f470a24916fa4033cb60127223addc1\nAD: 23c1a3e1083904f7226be7242027abb7af9d62f1115340cd4a57611be88303955cbcbeba44eab5488c80aed3e063c70cb7bbdd9ac289c8c8977868c3702be63d0358836838a97b31f6aee148f2b8615ad7c5dc0de7c48db7752e5f1ae8637f8c70335bbecf1313ae1b972ffb9442\nCT: afe3e71953bad46ad28113b7c8f2092fdebaeb81626bf94bd7e9dd59e000e8ba31c1ce7f728fe19dbbb42322e54aab278e3c29beb59b2d085e65cb8e54ea45d6a9fb1f561bac0bb74afe18cc8de51abf962c2fbc974c7ed54ccf2c063ff148b3e6cccdaa65cc89ab19fcd9cd0436\nTAG: e9f5edea1fdfc31cd5da693b50b72094\n\nKEY: 661309741227606892db13ab553070b456c5e421cca59087144873ae6d59e590\nNONCE: 9f07692c017e1391a981e70e\nIN: 40b5f8081b5dd173203e02e90a6c171fc41f804b2903ea18109edcf77c03dba687b47ca389c55389bd7b0ac59bfaefaf43b5f97065df6a5375c1fbb95d95cad589c2a45cd9e1e7960b1d13622440f7180aa565863b4f9dfe26ed336ff4318653e1a520bdb830e01db78a7e598f251834d0c9bb\nAD: e8540d084f24b80414af554f470048b29a5af8adb2f9d55c9759e5ff1595ca74884af67027324587131d90c77ca72b2d15b66564549ce93df7f667d0218a6e874848563a33886c6a0c5a9d00fa435dfabaa9053243b4c8c25779a4dbf79eb4b8530a7c7bf4263ea824713a90cee92dec78c449\nCT: d543f49e6cbe26f1d8a6e058769d5b16e6f8255a28b4d73ba2cbdf664bbc5ded73f9dea12a11b86b6a6acd578f685afabc232dbe9ff8431a5318ec7f0202959a310595b147353a7ca89c9d1fc2d2b92ea610cf6d9ad2716df2dfed70f5b74d498edab114058c22c96873a2a64abc254c82af46\nTAG: 31a8441886d0e4c6bfcd6d74f6a5ee5e\n\nKEY: a248b0d683973d205ef2d3f86468cf5a343d6ad7c5aaac0b9b6b2a412eed3552\nNONCE: 8f62ffac4027f4dfeacf3df2\nIN: c2d7d29256832def577392acb9fe4f249eb4859025ea55cc0c4a67806caba3e1cb81bc7f5717d94e1c91ff06607b23c238daafcb0fa96905616f02205b702508970fe3bfca87270ed1102a9ab96df57ebdcfd86ef6e9c4c4242b4febd82b0220b0d6f76d8c2d0fba33ca49279907f6bcf7e8401d1419ed58\nAD: c738cdbde6dc277ab81dae20fbbb4a50d71bcf0ac1ee0ec6a39747ccd87be40b1f0f2c37f2c6b32ea99722979fcfddd0ddc2e4ff34a2e6113b591cbfda317c6f4b021ad30325276f8d8dd78f757618b53297fec091f029f9b00850b35f3863a3801c882422b318b4a1bdd89002f928371ea05c6fabcb1792\nCT: 7a837df292ad2e58f21b89da43a74de411e1746556fe47db55a136757513bd249384bf67887a5c1f605e7f7e3057596e17039701ea351e5ccaf0fd4882559e87197144632977cf07cf9e86784a959fa7399476a4fd196d7c507fe3876d759e2b37bd37edb3c12b89716f29ddc8b64974263a1ec1b6364b0e\nTAG: 291098a2376a0faa5da6fb2606b4f2a4\n\nKEY: 80634a8baea1c4fe5dedb664c9b5d714422dd1726d642e60d15e02364195206e\nNONCE: 725ee5023ae08fece15d621a\nIN: 4d1d8855b4d155e77bd1bf34b3d049ef09b2b94f4e604306406b015a2d520e8772b084ed668b868e32c7563085f2a82e7d99219da549e507aff9515e45a045c7cd5292c0e09a3a38c769acfd0a11826b27d8bf05184971670200e79c49754debbfc57d9ebc661b25f22f241c4d143bd922f7b0981a48c6a63462cb5cfd\nAD: 12b3fa94a64454dc5b47433df1ce0a7dd5e8066d05b2433c6cbcb83087bb7d22d153a19c05aeb76141431c5f9801cb13531691655939c0c812611c6a30083ed3ec27e63e6868f186be559c48367a00b18085ffb8c7727638e833a7b907ff8465e3a01d654b52432767b18b855c05a9cfb5d4aabae19164f0dc2ca6346c\nCT: 6b01e934916823f391cd0d2829c224a12eeddc79f18351d2484ef6cb5d492ec9ec4d8c4bd3354f01d538bbd81327f6360a7d157feee64b539489bfdd1be4d7f724d2a6dfa1af91e4108dbfffd529afa71388b07e5079236644da289ae236100b2fbeda0c17bf2a01e76cd1f88081682c2d074223fb8a41d59e70a37870\nTAG: 55762e95d897a33c4c75106449112986\n\nKEY: 4f2edc967b11983f05ef5ee2a4364039ac02dbcccef3f3719913ae2719c8217c\nNONCE: 255f8209b0c67a6277bdb42e\nIN: f8217163bcaf77c1383089e396b271e22c517e8ccda244256cc39315fab7d0c291078d90e9b6e336992f015282caa1ec0ea858a179c9735b7a2f0d50f6f1eecaf3b9308772279ebb95f8aa53826e9dd60fb354de0c50c10001c98812b59d7c0f36daa1aecda6782ca36130fbb559363fe07704b0b91ea85be319ada027e47840c764\nAD: 1dc7065f1585384b88be47598ca484782716c78f49b3b6bf5d24a5b0d24fbd7831f18d77d80951d2c4fafb6f939d46362a69b558afadb3bb4d8aa27f7fcf3dd9624e1e075fce9bb239926d51ea9dff03619d64d5828103a414e360adcda8fd864fca55c21df86c76972c3765ab1d68ce89f708e7e5a3e06cd4de08573cf750c6f5f9\nCT: 6719849b7cea3f7f2a8e4de13d7a864d581b7c638f49fb06378a768d2034548179963c33f0ad099254c2edda9ef771daf5d299f58850033e2e449d7bc21ca3f7d3b7408429b596da615c8582886a6d8c1a9ba81fec4a41a38b7cbf1a80ee0ec8bd71451e727051fbf2a1d1e3c6ca98ee113e47650ba4fe80451e79b04abc8bb99a2a\nTAG: 2ac7f962553a8007de3369c7795bc876\n\nKEY: 51c5cf1f0c76ec96f4a5f9aa50a36185521f3ba259145ac6cb4da3cd12467696\nNONCE: c751e5e7e3d75874acfd2bfa\nIN: fcda42cd098b7936f4bebaa37d5850cb0fdd6526966b1b5734f23d5050ee44466627576e1144957929123198e40b64eaef74476870afecd7b70f7583208603a1b5247074c6c77e10b9bbd41a3d468ff41db89895b0e9ca95be77526ddb30d4c5eb0796ba97d7d5c56d0eece344dde3ebd7de586226c00da224b04e74d9abe832686797df067c52\nAD: 343ae5e73fd1da48dce92ba7b86d21de0a203ba8587536fbaf4646bc45051a7feb343e38916f6c4c75b65f940045e830857c7b62b34a44622a36b34268b8a397892ed3e4de5df3fa7384d4ca50202b5b0833f921349c877931f4b735cec45db6b95410c8042ba49c1a39870276e0165f09c73b14bdf7f36d19084f958695c7ad2cc56f0487eae9\nCT: 04192659d6a2f1b7be472372c8f969a7de388c97d37b4a89653593e48b630947d2160b569379698e94de49b21572ef0b4dd330487a8be814a84e959a1a8e3cf33dcc9f7464fd44814d0cd7ab85e4c01c9d015f42ce3723c8ef8c311222b0c78eb83d81696c217992be725faf27701b4922c6e6099442787ddde2b7572500a5320a4d0c787b786e\nTAG: 23c7a866574976dca8f401c4b5b58292\n\nKEY: 1cec3efc0311d623f34b6853b3dc97e470fa728cdfd65993d9d48fdc192b28e9\nNONCE: 320fe742ef171b7b8cb615cc\nIN: 722e503a97166a07974dcbf136fbaec6c03668fa52495b040383433ca59f6311103f2fc6a95ba4c925f8637167537321eff6949aa3051269fc094393a7b17d1ac8d29af052760835665b0ee89adda5dae7738656af9e8513c96e8a532a46ef34cd7430832d2be51c586a14e9aaec2458c1911bbc0f90b496737e838a12ff37d3db058bda9360d7d33e11629a\nAD: fd5ccf6b6948c3eb96543aa40f107fafe94e5206c326dd8900ea510c6b61d1bcf746151a75404e31406c8e991fbf6e660db7c18e243fd2608aa22dd7ca9de88f277037661ce6dea4ff0a86809dbfe1708cd47d3061a34657cad143e6577549c9944e08", "1f79c276300bb406378b26f349a91fa87de02a1405d712c516ae11b4bcf30ac9d56e677d03eb33e3be\nCT: 363c1d6b806a6d97e2fddf53b242378e1d2b818828863fbb3f856f7737d63998a84e02d6c91e1df5f5eb6cf89f7ef53e16d10ad52f82362292d3acafaa02c23be7da7616a8b8daf8ee3ae74ee1078742c4ddc3e5a110e510417b9f43fbcbb00e17af3301b2fbcb784fb0a05b66469e771fbd78114fce3c4352c42928bf5a0ecc49228a3c930b0790bde7ad7b\nTAG: 669482999be99149f9b723b60fec62d3\n\nKEY: d3465cdecaecbf25943b7bbf8084ccabc15474a4228c46cbe652a99be24a861b\nNONCE: 04fc836de3a1420b8e7136ca\nIN: 81e0e984ce0a4074a44524f93e375eabc650a847a42393f5c524c65523368d38a7e2b677fe08502dd3bc42311775016b5689c660cc0ca8cb33a09b89f3ed3d02fa0fb75ca5bf0dc3c27c546b369ab5e7731f93bc074d37ee50d6f8366f6c8a45f73ac92b05c4aa552ecc5266041dc122a0df69a36ad625a26edb57bfff43a84e527ea0d9d3cf076f8de9eda28eb09de3ff\nAD: e4adc14ac4bbf3ae7ec7d97f5c0e6090bf8127a75e8b70e9b86496a62a759dba5a4eef64a8c679c362785501260d29b58e1af647782564947950428dbf14edab8e6841c7afaf9e7949b560419c44bae30315c597f6f6e02204da7ec605a4d9a8753de1268bb0b1c84c972b4e7296da5c969781feeb35a44d2aef799ed228aa399ea04e21cf9f7d5600a2c07b047aa78388\nCT: d7995e7b610eede708526c05c584039d48b9b4356fc71b0c37ec2559309a688a7c69ac9655f94e178cd2311db58587863b0fbb990554dc9a6aa849571f945c61e5611ae7e1a96903be725a1aa75adc381b86e43fbc68a36f44e0e0cb8fe5c494caa91f758597b6ef3b80a879154cd8a7e5f570893b4f768105b24b58efb67c5f07c6db60e0f48eba9563f17d38aaf0847e\nTAG: cc3fe61642c2d7fcbd579048fdfb19ec\n\nKEY: 1a0dfe2a6bc6a69659c68942ad0858e1df905890f47dab728ab9c73f742f469f\nNONCE: f8f76b014116ba61392597de\nIN: d93eead436e835a061ca061e3a53c3f9c66c6f011b21682b8a6fed098bde2018a2462aa5ab542c69bfa2805612cf6146c9150888b9720db1dcd0f359c1fa3416df4cd225dd0b0d949e917adfb3e83bf5ba2b967d48908e6b6d8aabc545335014d951a67390d7b5c7cd7dcbcf66e4e3f02aa4e5e9cccaf73e75622bad006c63433d36cb1c6aa4aa253dd1b2eacac75c548aa6648ecf9d\nAD: 56ca2d5340629ca75de4e98921da352941559bd79f47ef0ab42d1d5857059352f96ee877f5458f090ca237e4eef5b08a53311c8dfd4c4582f18a93aaa8cf75080734cb2ea3389c9c74d2b04ead614eb54512ea93f0e3434e9a9366454b303a8129d6ce6cf96b1d6dd4f751311c736b517dcb50a6f6e0962c46637b4f5aaf0f34bff518cbd551a7aad3fa615708b17cf6d8fbc864f580\nCT: 8dc4d8483dc665b174ba32d6b6244da5f2a8fcc4b1865d662ec23057838b332a07ff073ecc893d413696f3fffc6dca5d107a5673f14abe8e0457a02e61138380d25e269686cbbd23cb7da3060f482f62bf80a40dcc2e711ecf5f7836ca14e456c4b73a48bef90749024393f5f8af01b73302e81bc37c4110dc26174702231d831cd14231905d2dd3f375cf2bef0425084d5b19f1039f\nTAG: 825e7b7e195f65c454ce9fdd637138c1\n\nKEY: 03cec87d0a947822493b5b67b918b5c6a6bbdebe45d016ec5cb6779c3ddfb35d\nNONCE: eb7d261a6b56a179c88e88ad\nIN: 2326102c58524326759ad399222c5b5a563cd01a29809d6aed4d49772a4723cfdf30c9f85f031063e838f543c201412d6f085a8f5435b0b2fe94659aaf70cf7bde99309239ed5b815b48342d4f81011f5aefe10ba105ac15601c64a91076c29c3cdafaa12bdd5706dd7305b48e923873cf06944b5027b210c59d79856f602bd6481980ea909152216756d77362c59d57673cedb91ee6f56a40061e\nAD: 4d0fbeb69c1869d2d23198ec49b3dc23149005a84aace7025293c3afb8cb2e38c167a822e25c2fdf667d3677f4e94ed6574529c987de506d26b7ffccf3b7a36d9adac48bca76084710338eeb5bfca9df1bf6b403e33e90761a0b3152afac333071a5ef4f54010b945d03b51f123865673e8877f41ca23359e60518f076cc64232b306bd858634417e92e546ede4ac6231635c9cfcf43aab1f8fc1e\nCT: 06746f993843901ce72f2fcd4af7d15e64b3102d2f9bec0fe72cdd0b97e43177a1a2238c9c1dfc3311f701196653249e767a73dbe819b660cee07a5f3bb8f25823875fb4b4d34a5a3a212d2e166311bbe11fb1d36f4e725c3b74054ed7fffb7082203ccb5e9d65873cb8a1ce28d5c6e2b6555c1a864a725e6c7d5555d37dcaf1d0884264be72d38cc4b65bc2f0d039d542c5055da56c57e084b804\nTAG: d36a4b6d2f592d4f0d347d906fc319cc\n\nKEY: 7f4b4bfa26719d9610c80ba3f474c43127f4aa3414fb070fc2f389e5219886e1\nNONCE: b144d4df961d4f1c25342d12\nIN: 638982b95d66ddb689b7b92e3adb683ac0ac19480148bac9db550be034cd18dbd10f2459c915e99c385cd8dc4dc6ec48b75f97e818030fc2d8fcdf66d66b80df64f0ca4af91bba83a74f3946b17af405bbbc6e216435641f5633ad3ee24c1a2ed1b39f649acce59ee56c282a3aebaee6e97f96b34cfc63d5b0482fec20d755f399dd5f61688fe55878713cc55d562c2d72236eb674a340d1a64932cdd8534a06\nAD: f2fe3d27bfc278cdcf16fffc541846d428b31534ec5cf51c30c8b6d988dc36cd6c0d41a4485a3f4469e92ea0fc7e694065bd8130c2854c95549630bd9cbaab2205f27a6efdc2c918c3be53f2d12f8f7cc8e6a81dc8be7cccd217be1fa2e6887cea7d637d2e2a390f50d2c5be10a32a9b380a400cddbdd40eac67f1fe9ba6033d4bfa88c563eaf57272c8a7052916cf4460f31ad026a0ac2588a45d082fbb5c0e\nCT: 0d4de3489e09c7239972b675063579e409acbb663bea76bee8fb3f7e8785158ebe1c26db9219a9b97ea29e74762999518613249c3a87fbcd0128f651e2db8e2167f10ab532eced3464b56bcaa09780e5ece18182a6e092477ad933bd8de015c80e67c6802257a97a647fe2b1e9ab6a76c1cbf7d905deeb824aba2a34095f84b276d55ff940d6ab788c16cd63d9b16e0908d718c851a3230b0a37257751df5a38\nTAG: 9f0a882d4456847f44c7287c8ff3ba04\n\nKEY: 9799ae8045d58250e4d9c3b0ccc8897a04b5b9fb164e54019dc58d7d77b65459\nNONCE: 0f20d002dbcd06528a23d5e0\nIN: 8f323018b1b636617c935791e1c8023f887da67974080af07378b533a7573424f1de9193c5d38f55e9af870f6c60ab49c80d7d1ad1f18f1a34893fd2892d49c315ee668c431f5f35e3f60ecfd534b4b09b64cc77cd16b0e1b8882872cd109a5ca377518e5b660d75052e9a4228e3935705b6bf6b4f4249346b7bf4afb891641a76621cd315cd75de391c898959be945ccca7a96073f2569f217617b08502f7d569bd2f80e0\nAD: 3f1e297bd91a276a4a4b613add617b0488414a57ede2ac75d10934e03be58ec518a418e98a4dbb39d2365889db7c5f389b2a16d8c702cf21b888a4cbf77b356df48a30298c825fb86128de45d7fa0e5f4b0b7bf82a2c4cad2470f33c231802263901fbda54a6edbf2df638716492157ec1407e7fc2eb6c663d9a215afbec3612778b8115e78a5fd68cf6ce66c12c0ca26e5c1f7ab079bc09c3bc7b673d21835671a13dd2a0\nCT: 9a5758dad7997a766db05d698b43fd491bdcec21352032cc023bcf10e136523219745a56f0360efee75a37de55da23cc7d8184a50ccebb110bcb960dcf6b25fe731e21f26290281d9c1c7715c4e6ff3dc0026cce52929163ba222f123d4f50e1d3cf67725fb4737f4010ee2b5b163ca6251c50efe05c5ab0b1ff57b97ffa24c98653f5c82690d40c791047a3d5e553a0142fa2f4346cfcd1c849a9647885c0daaac9efe222\nTAG: 5b85501a476217f100be680b2f5882cb\n\nKEY: a26c0e3864a7dd3b589d17a74a7c9c1f7e8f9adb4aafa0e75c083d10956b6bf6\nNONCE: b54a2a43ca3f84aef3824375\nIN: 6fd4ec60613646490791d82de30ded1a12e61fd270f1642d2221272dbb150ef63ef2604213e203b740dfc9c4bcdf722b3c85aa20abb1197949de710d7e8311956c8649524afc72a9bf5eddf0b284c7fc6d48a741b82c215a0dcd73bb8afd08d5532a6f7f99b5c6beb2ad793d6da53a81e6523b2240729924ddac996a723421f57125f928990daa7a55a5b6b53d7361d9728f66590d969659aacd9aa5c0ec627d991b55e9fd0bf9c3210f\nAD: d6d8b570eca29a48a4d408d5b27ec6aec291d70cfefcd02bbfe8d8ba8aeb6db770bfd723d2c3a4859f1992767d24e7b33e3e241874292af640e2bd22a5b77e0e9e1e0d5e485041cac41d4694ac929ae1fbc08e7591e1cef689028f5db26f95fc9e0868887fb9c635579fc6335757697f63b4f2b46664ae338eafdd827988c8f2ebad80ea9787871ed8d6b302d5dbf7e8019f2e139c59036cb5964a3701ec049b839e19e33e68b83539c8\nCT: 2420e09adb24098038b2750c946551a5f6a5bdf23b126947348ddb5e938b3fcb874b33fbac6407095e05ce62df999e7234cd2b4e413009c71d855b23993cd58c1e26ba0deed891dc88f099fdf852cec0aab45f488a90edd8feb6f4c837036945bd304edbf7a2737921a2f8c1b00a1daaf9e25b908a65a8f69963fc767bc975b5b7bcc215ce37009009dc90b5c7edb1a1174a10ad28f4c1d1a2241e7ffc215edef4f847ceedf7b64f2d15\nTAG: 20521b35310385ae66557740b435d204\n\nKEY: 53ef3dc7a10e435650dd20550cf3ec2b997afc8d9e79cca8f7062622afac3496\nNONCE: 257a205ed0f84016183f4613\nIN: 081e2769935f945419aa06fb5fa7d8412efd1f9b52a45863808022850836c1974d53d2b2c5c0cd420711a71e6d1a09e984366b8b677e6c61bbce8f3adf9f5a9fb5860887617a08c923171d681c4fbc6d569690f6a183d42b52a80ef0693862efd22bf83b7b4014a7008424c356b5022df1842309b3a4a2caee0fd3f4d3fc52a17d53959daccf8e0ca889578ee2905dd8c17d52e76712dc104344148e8184c82af8165ea8386f91de585b54fc8535c3\nAD: 5b73ae02bf4a70e57f5d48fbf45f85b8496ae8514c8aeb779c184f9cf823d8c1883c9e5a42b2c099d959c2298ace2d86c4479059256d6a4325e109fa4b6c4ce90f84a8228316e80aa86de9b5e111d88b2be447a29297b35ca90a8eb280d4c0fe92a1d593cb966cb0010bc06831efb0c72c1e222b031e900ef06ab8da542a5abe2870a0efbe92351d5915ab545b14900e41a27c5ca9d75d6277afafe7ae861131c2767eb314c0c3da5c264f8f2b4ac7\nCT: 20ecb6cda861b660656d692c626436227bd4ac17a9bc71f6c84a1917ef3b5a0f6ba370f00fa2e7f1bd5aa8d6c15032572090482c23e4ab7376ef1f4dfb77f79d5dc065792fe3476c9c37614e32f493e461981b519dd7d10234c2c69264ffe5be06a8e14c81022b652c8cfa24adcc7c7536a55a2fc41e9ffcd09e1c483541cba814eafd5e09e9e44477018a41b073e387c9257c07d97e40f0761fe295d015e1f2df5be65b13f34b6ef0fe1b109ad109\nTAG: c129ba4", @@ -665,9 +745,9 @@ static const char *kData14[] = { "2d59740c9b9d4b97075b874015251ad55483068b00f87502b18182b140db07c70a80fd884fd79b7b5fef1d307ca4db0ff046494443e1cae83478d275c31402035f1fc24e26214b78d9a4dac78d074150012f9fee810a121d87a16d8e1eec5700e9facba350029788480a259d9f30df1c2b8df7691629314391719853c0b68614134f6028865700b1fc4e7f34ff28f449c6abc3027f38d7a7f6d84b8f27f7cc5afa09478c809eec346bb58244ab42a3bef61a14ae7640d76591343983de9fe5f1b985ce56c9fcfb2e3f6220779ca6f92a6b8aa726573b38ed7663ebe4c85066ae3f488ea3309593fa41dba8efd2b8f44b9fa8f7a427823c1228093a3\nTAG: f1832022e06228c36181856325d4eb68\n\nKEY: 3828b138f72f8fe793d46c55ad413bab31a51e7a9093cdd10fddb4739e28e678\nNONCE: a60413c0ab529ccf3de58468\nIN: fec017c1c51da5ce9dcd8e84cdc03a43145b31edfd039c7c85d8811a2f58efe7a2d7590149a98cf0b5af82d3e0a325223bc9d5585ceb1afc4cdd96024be6c8064c2abac14f68e65de49e25e3e967500ce5b4504d00a9cbad1e86bbdcf65c01a7a92de27583b7b92122b6a4923b7192994a1edf00b75d14a982f92559dbc2d5e427a75ad29715375d90193ddbb39b9a52c1a23d75629c539e0a6ce822c7c08fc77dcd3adc357893215df4694673a16d34513de21217ce86897c8f0575d213ce0c66eb1d1985fe73dd86da3ab5e89df4243e1be9dd95af94f878995d02929ee42a062100d6d4d3884730f54593d5ff7b7ae53e03d4f0e10f6f4c3077206499ab7d4de1e825d532d0918f\nAD: e2b16ff2b6c73c9374704ffb4cdfe7bad9eeee32157f2eedf427f99c2cce80c5aa4d9145e85af0cb08e6ed477cbe79ee168ded5c0895f9f4f939c21916b3dd5c9d268b3aabdefb85d953bce9b70732fc9acf6c7b727f78d8c9aaca9e022d7cf0f95583e81744227d87fa34ae19de44d202ba01e3d03993f38c9b2fb00b54dfb677d67e6f5a15f46c29eb5597ae3d5384b37bbeca3f3d825e2b7cceaaeb36a8c1273062259608956dd0c79877cc460d0268de27355e34b9d8d1188c062ac5e10a73f2d70fd0636304b3de06cffeedd246e2db19b8b66785f9f9c62b8f0198f29d37a4ab5280f4aa0320559810f89a1618844d0ad5f3a4f5a0e834ab31e56798b7158217f834d372c36f\nCT: 88ea11ef6b6ee6fb0be77bcbf227e77508922550ef0d7534bf05668ae5fcab2f4defe643747716e7e000950e36c6cb24b79987389a150382c091d39ddf841b0a5e31d763d9c59753a3ef36a23b81f38e6e715357395ce715d30c14d6ab5b7454804ecf633daa39b6107f562fae6a646efb25c1119dd17955bb9e640105a21566345408f72f2acc8f2726a0be465551f9ae566da559fc0b92c36764c5ca20a18a316c02e606030a53450e7ae1146050a48a64c600d33cb84389b0bdac7ff45d3d1f2f669a6e365ef722d76d2fe9bef2df93c58bbdd6965e18111b5de0f4a62dbb874161bf8adfa61e9cdecd97b4fff668b3efeb3e32eeb929cf58d94ad8077c0a2ca79e80877c5d9329\nTAG: 9b47afc5816b7229213cd3c9135545ed\n\nKEY: 91ea63dc27d9d6bbc279ec6cecdce6c45ff0b247cfb8e26b6ab15f9b63b031a4\nNONCE: 80a134fac73eca30459d5964\nIN: a848e41c77ac8c733370435b5b6a9960af36031e96260d5703ce15b003606875a7901cd11e4571bf88dda29a627c0b98065a8b4e6d382852dfa4f47d86fa08e48ad8f5a98e55c305900b83200d44029f304abd21e0264115192a3fd7b0eb69b9f8ca7865b3be93f4ba5a28468fd7bbb584c32ae867f5146efbeb1412d3ac36c30cb308c327a6f207e30f561d6efe0a535446c693e14176e9e714ffb5a5b1075812909a362a6c4bbe18322e15690c2c9cf5a18e0120c11551cb7055b5aee97e7a56d7c24fdf1214641c8eacb196d74f3d96a7fbecdd4fe52dc7b6ead9041cafd5a3fdf91fd3614e63189b488d4d7c1ea3c6351d112a2223b29d390ac3ab7f09a60bbd3df6e0d606d902aa44244334\nAD: 47940a0694183b2fcb5e760c9ef6dbe4cbff6ccf33208337a981138f9d35c03f8adbd810e94636acaebef6791b531a65e99b03fc78e7eb48036615874e97cf762fa6ca5d880bb2c2f644f1aed70c667880f98834d501caa277cb8ef1095ff882e79c3a92ea8982abebf63ea9ed7e9a24d32cb81d5d98e891974e3d636a59e165984e00f05a040d33f07b39eccb924fb24780a422a6b2b7bddb5b316beddcf6fad20e4cee7d0141c2f7c4e4f759db8691dc7b8525ccbc3ee6071a2ead63e750d6d92dde7eb1303d5b1194702b6c3e0c2e6f9649e60eeddec9c1f71cf309af0672cd2ffcf94ba7e6c3d7cee020a224a9a956274d1d36ba16030e215d90a165756666eff066a8e51bf7d4babe8b7d8d\nCT: b90449af99327afb1124bb24f1c8b5cb878423b0370d5f7cd297b28cc4135ee77d6f1913a221cfeee119bafa873072bfa79e303fe377bbed05add41ce3a42ca4632b98f40a36227de1a9ba84d6176c01eca9d33d954d0ebdf4e40f136e0f6a56156fbb33b344a8a433941fd6e08774bd00075aedb0e396c2bc37d1250541248dbeb899e1b5170cdfeaf7b89995b049428bb277c501354f8cd48fb58f6f04f956dfd099c48778dbdbb4c95b7c9d6797cf6d3bcd1d00e88cea885ee4a10d94356509e148990a0e10dd89103a9d5c8434a7bdbed6c0ac1271e0709eba144abf3cf075c020e9f7835d5a98fb2439b399e377ae6e19fc5f32df9ddfb9e936190d3e9c62de99835249d1f32ca3f92ecd44\nTAG: 6ccaf7c142d86b83e4d0b4289b49c4d4\n\nKEY: 1344db082889367fd48c5f06bc39f9cb9e3ad4b92fa484ccf49418dd4caa2e19\nNONCE: c04a98e7e29326b5330818d4\nIN: b0e12e3122c1ebfdcadded5a45163a6208548e9bdf95cfd18ea504e5d2e97372e58dbfe460a57b724d38f3bc0ce02a54015779bcf127343474d7d4c1402d598bee56897203b903da5b819e2218bd0d1a2af11c542544f02c46969cd2bfac683b76a8de61698ccba63361a1a0b570adf69d24e9a7e466873c8c12e25e0bcead7828386179a4d65d5bbdb800eb52fc01b67498d7b5f9864270162158a8572eccf541b07833f001848672098c57708eb479855799567c318b1aa097efa70db0d8a8d36fe0ac22ebcc2870baacac690a79e07ab286acad9f7a877939cf2989cd6200eb86dfa7a41e969a3683ceacc7c97d1cd5487f13c439a9777a67770687657d38267a347a0b6d3aa3cf64e7f31017246e4369da\nAD: c96db14dbc2aa0ce3ac63794f75c7e78037dac6763282edb307821a7938de4baa3d2e35a8cfe0c8724c2a8d870d0a462ea157e15aacc69a3c881d9c819225ea8be479872d55e655c897936c95b9ab340820264567495fc5e4e3354f42b84e191b470ca9f4d8fc25d011bf9c9e73e1590e1bb919dd2f288b26935fbfb8c93e54331dc8edad5e1cc4aec103c2f3320d59870c1770319f105ee790b704ed655be423e63ab040f1153f41e7070ae3a0f34d217c4649c180c84814463902d99a9396f8c7c85a3a4c8ae2f01737649fae478a40fc72303a108822775e9c421f945cc0eea992730790a9aa0c0d014518dab371b52d30b5a560f34946a9344cfb8a19b09ee9b123bcb8f642780697508f04983b790dd2d\nCT: ffda075dbde7b874995230e1324f17894689baaa7f1354e26100befb546ea23dc74807818e43a3cee00ec1bbb95c82180489ae5f3a1c482dec28f96ecaf5ca4655ff7f33c814197cb1973cf02a0b720a5c44068d8ddff0789fc1e7f20ef408c1a438133fce4f7a3e8c85d95a381b94e949ce47a85895c4be7cbfad468e52a160dee34b8ddeef2ab280eaaed4990ecec790ac16de3c74aac6fe2d5e28ea2b66a921c894a3971cee4a2158054c3567e0d941f867ded5ed1d21d8ab090848fb3eddfb1559bf11815db52b8eed871cfc117980f297da79da31da32de3f162a03d95090d3329da3662df29e6ec9b236e0f7c1d7d957cfd54d5efc99c694b9dece989912388254798513d881e5943ce830729a8e2ddf\nTAG: 81c55fe9aa2de0d63efe3f74a3d8096f\n\nKEY: 31dbefe589b661af00a6fbad426e013f30f448c763f957bbcbaf9c09764f4a95\nNONCE: 147fe99bba0f606c57242314\nIN: 908bd801b70d85085dd480e1207a4a4b7ef179dac495a9befb16afe5adf7cb6f6d734882e6e96f587d38bfc080341dc8d5428a5fe3498b9d5faa497f60646bcb1155d2342f6b26381795daeb261d4ab1415f35c6c8ac9c8e90ea34823122df25c6ddae365cc66d92fc2fe2941f60895e00233b2e5968b01e2811c8c6f7a0a229f1c301a72715bd5c35234c1be81ef7d5cc2779e146314d3783a7aa72d87a8f107654b93cb66e3648c26fc9e4a2f0378fa178c586d096092f6a80e2e03708da72d6e4d7316c2384a522459a4ad369c82d192f6f695b0d90fcc47c6f86b8bbc6f2f4ea303aa64f5ce8b8710da62482147bcc29c8238116549256a7a011fd9c78bbb8c40e278740dc156c2cc99c3591fec2918cdeb5240fb428\nAD: 5a32d7044f003b2ffefffe5896933f4d8d64909fa03e321a1bdf063099b9f89752d72e877291d8da12340c5dd570d7d42984ffab5177824fc5483b4faf488504e6822e371dca9af541c6a97312b9cbf341b4198b0902cd2985ac10a8b5b5fe9691bb29a88344f863c980e4e871a72a8b74f92eef68c176e9d2ef037898ff567298e186af52ec62eb7429a8004ac46b945678b82859396d36d388ec3d67653aec35cf1da2684bbc6c78a5f9e3ce1b355af3b207f64e0fa73501c5d48a14638d0906c87eaa876debcf1a532c1475d80ed3d4b96458d2236eb9f67988863bc6d5c16b96b93d898683d248d7bc601b5035fc365481b89465e37a8f7dd64635e19a0282639cecde72c6b1638e0aa6e56f9c00d031cdadc59ce37e\nCT: aeab9db30a579ca54195e54a9e6c787f40100c6d12ceee35643f36ae45f618cc9bb66aa4c0fae0ec2686cb4101a5b23a46877460c7e020b38b0d8d1f533ecfa99df03d346bc854a578276d7d5685ad1fb03655683a64aae4159c9efa6781f053057e0811226c7c533967a94587f4025353b28cc3a2ce5763783b4c31e7818b8ad9195bc03be8f294f9f6ceac578f9d30b22b1f5a68d647d46cf6db4a9c3a8a5c06fa97c9efb4578f501ea96db1f40942e3f24c44a7e4070a6b931c39947d9692930b67767357015de51a39e46fff94b6019e4bc1ad9d216a571ba0dc88859c49d2c487ca657384e49b4d382d86a60c8d5195320909c4e82fc077a3b22bd4eccf0f067e66ec78eed642b2d16f0f304f60f1d9ba69e205c982\nTAG: 17ca09e3084504fc22e914ee28312c8e\n\nKEY: 0ecc44c9036961fba57c841ace4ca3c547c51d9f126567bf41626765cfcbd53b\nNONCE: aa98b6ddff7e4b2041f29d70\nIN: e49a2a5713f507bfa00c140dfbefc0c43e37bcb932e0741db03f0055da61cd837b6e2d8f99115d70750fb23685a17121b52e98a37c87204e0207729fd9219d11a48e57970d790338793cf329f7b239512a44dd4409fe9d157f92123dfc5cba24af106442644dedda87e1d9e95fd395f2f0ad8f7d27f313e6ce1a07d9845dec5ad732e6e4749b3a161527c8ce42331f5de1d700650072fb68e9c7645a0e0e529d0563d2727e3fb38ed341f74ef1ad95a0216a440e1384d0e7ef71cde38ce", "cdc9e2b2d563f19014c40c1f92ea0af3b4f6da9146d433ae85f647153db326a28ef6ea2e0ebac0cc1aff157067c7dba7cc4317d56920ee9deab5764368e7e5b3ce8bebd0fa129f869b15897c09659c53188bf8efb7b6ac7d265c9b85fe96166\nAD: df41db4ef5350d4afcaa88b4a577b3370b96699bbd73e59aeebca6ea856cf22694a9399ae7f97a3bec226d82f5598f8949dfb92530dcfe77770f066f2af988fba5543b8ba7655bc43f8dca032981a34a1beff695c6908169d475c55b2119fe5578623f68a9dd85b653656881b0db4006d3336fdfc784d1805e48ff478fdc196601f044c9d33fca3ddde2db0102f90fff0b370f520e00e3786c2a9b0b4a9a7ea6f9d866f77d870c8ef0f3a8bedef17949a32598512af665679dfbe71e1c3efc3dee8f5d4499e20dc63281191751f67e51f201973a6675896484527d66bed94d6aaceff65fbc4192cec19452b8873f22d72bf2f4981fe656285cb24be5c58e77dafd3e096166b230f18d3f4197fe16f6ec84c060ce0793ae6848311a18b7\nCT: b15b2bc4b9e8ecc5d9c4a6359a805b7590bdb4bfaa9b3fc4d7676d721edc4b3b1ef71b18a3d78f1b31a477cf25e55b278eb3ed774805ae8e5a2a0204f7291d9587663c4d8b1b744154f3b7cef796e0b91590161f3bde82f1d8139cb8d017606ae6d0552ba144788fd8caf435ab09a43a1f4057776af49bad98fc35cefefb159cfebfed76f2e4d18b7be143677ff8b3d6e2b440fe68475b5a1193bcd19ab157d0d2257f33de8e50091ea3388648c3410aa68c830566a0413d92454e4eff433c3edc74e8f7516ec17b2c01cf57a2d7c48db97b706b8d7da0b68051f2d6a87c417f46cf217a48611980890f669d39b478c35d834ed2c79299df2381a1215d6db303cb63e2795fe517649874226e0a6dbfe2c86370b9fbdd8c5de349bfa25f\nTAG: 7082c7ef72c82d23e0ba524132acd208\n\nKEY: c05dc14b5def43f2e8f86c3008ef44e4dc6513768812e9218b2b216818c4cec6\nNONCE: 5cfe0dca6e599ed9aa89ba97\nIN: 8a06e2997b8e5f8040b22e07978c83c48d0f90bd2b2f8b426b43feea0b614d3b0681745ea4224cabcaa25ca45c3053a6300c47ffa4f72e838db135ae35c27939aad4cf7f75fb61daa3148d869057598e4e8b44c6fb19b0d9281e18676d8bc137489bb77a51a3a8f807a896d558f00040e8729ea9bbdc7db6102c8b99c8a1eacb0735577bc6533cd1d8147013935b6344116090a1bdef1f2e38a877a50c8fc0f394bafede31375c57476ba06d95ae734e6dae771a32e5091dff71d845c5f7385b9b9069ced12fcfea34a510880b088bb0016e94a5932c89baee038cbafbf06b3d09426afd2d5dd5e392636362e9ffa9186b5c753eb84f82f68fb1286ed06c58a5a936cad018ebc4269037b49f2ea0349373adea99f06062e5dbb0bf94f2883f5c0556\nAD: f2a3f7af8ea984bbd85953f14202c6e478f98d0bcaacd414329ec480d0c29fb4c1a052d3228c883928448f0bef12cee5b69829b4a3eb4680084131867cfc3d3af84fcc0d80c2292d3fe02405634f6cfb20b0fb90345da3a557fb30582175c32e432be66ad096f9425ff4060df54d6741fd6567a1e2fc5f6f3ed95cefc806ff64ae91ae82920b5c829ea026f83fd90d760e240da3c9ddaafe4d08507f4af1049056dc6d09657779a3dbd889d851e97d4ac60dc66df2d24979ba8947a7890a304bb301d0d42b67824e0c68fc882e90cb6deee50c2e3d9f0da59ab23c997b05635a0d56c71fc39aa0e6b19c43a7fe12d4e4145453cd7fbd8a3f33bf5451addf05052df7ef044a33513bc5f1a4cfc8b68015664bb5c8e4bf54a85efff109ee96af75d4a5\nCT: 2cf630548d6f2b449057c7861920308958199f77b123a142c6b7c89c4982f4ed0efa2fe899914ddbf4543e70865a5e683b0721d6c8443df2e697acf31e11c8809aba94196409020a7c64d396fe136826455aec973af23a6c7733cb567f5ea550e50e0b796623a97807d042855568e3c568990cfc818c31a1bf415337f43e9baed57fada2fb2ad3c3543f2b7f2777e03f84040c1c854c310ab1cc5dc7f2a5fb213af79ac068b46c7d9475bea126adf079e2100bb57904a931faf248e0f7d5832ca83ea8a283e0136979737132afb1f4ab38d307ac0774814f4d5ecdc4aad79185c05f8a706f579b78f2c1c7004cb38e6cd22c2080735b34c3f6134955ed3bc36b1ad5c8e33209c9f3c658fb07b59b6002b2526cd8d853a5c624b7108573d7df60c827\nTAG: 3dcdabcd1c82002a551cea41921570e5\n\nKEY: b33f449deccc2ef0d7616f22b4a00fcd84c51a8383782f66f1696bc6405005ee\nNONCE: 6afa8baf923f986b5779ac6a\nIN: b0af85a6deae5fcaa94778bce015ce2da7400ab768f3e114cc1b645fb2716789e2aeb96894fda6da5bc24fcf2466124720d6ba99e5475d77e5bcf2c2f8c8e5becf5eb73ad650861bbdeb51ba5ee789c227478934200fc18f36e4fe392c99d4c3fe0b38b40d2e84f831b8ef9bce9ac1362c755943521ecf5b5cf8fbcdf08f2d47ff7cd62838597dd342695a1b037bcede69500bf70bf1edbb40a17b44695bd8ff8bc8664b3211a6bbfdcbd1bffbfb1a2ea0141cfbc6ac841c803b137be5eeb2666c46c09cc1c4fa82be43bfd56e7a2b8ceeecb6efc1933a90213a0e1bc7aca2af35f2d1dad5f0d9002561064a699f1ce76c39d9c2224ae596e88a1517e19c2115370768d50107f3f2a55051838ae5897acf2ac0814ccd864eee2f6b5d7a6728c6ac6e6a57327102\nAD: 2134f74e882a44e457c38b6580cd58ce20e81267baeb4a9d50c41ababc2a91ddf300c39963643d3c0797b628c75a5fc39c058d319e7d6deb836334dbe8e1fe3cc5704b90c712e1fb60a3c8b58d474a73d65fae886394f8b2c029e420b923f2af4d54c9de3c7fa2bccaa1e96664ccf681cacbbf9845069a4bfd6c135c4392d7d6be338eca414e3a45f50510718e2a5a3e5815eafa0c50172cf5f147510645d2269929843bbbab682deb5823d4cdf42bd250bdbd20c43e2919d7a6e48973f43a4cab73454b97cdca96721ebd83b6dbaaec7e12cf0dae678a57c431b81421657037dd47dccbee73a41f56495fd7c25c75744fe8f55cbd1eac4a174d8f7dd6f6ba57b3e53449a9ce7806517e3e07cf6546a0fa62c7b1fa244d42eee64a3182461792edb628e567b23a\nCT: 0fe35823610ea698aeb5b571f3ebbaf0ac3586ecb3b24fcc7c56943d4426f7fdf4e4a53fb430751456d41551f8e5502faa0e1ac5f452b27b13c1dc63e9231c6b192f8dd2978300293298acb6293459d3204429e374881085d49ed6ad76f1d85e3f6dd5455a7a5a9d7127386a30f80658395dc8eb158e5ca052a7137feef28aa247e176cceb9c031f73fb8d48139e3bdb30e2e19627f7fc3501a6d6287e2fb89ad184cefa1774585aa663586f289c778462eee3cd88071140274770e4ed98b9b83cd4fa659fcdd2d1fde7e58333c6cf7f83fe285b97ad8f276a375fafa15f88e6167f5f2bfb95af1aefee80b0620a9bc09402ab79036e716f0c8d518ae2fa15094f6ea4c5e8b283f97cc27f2f1d0b6367b4b508c7bad16f1539325751bd785e9e08cd508bdb3b84\nTAG: 1976d7e121704ce463a8d4fe1b93d90f\n\n# AES GCM test vectors from http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf\n\nKEY: 0000000000000000000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: \"\"\nCT: \"\"\nAD: \"\"\nTAG: 530f8afbc74536b9a963b4f1c4cb738b\n\nKEY: 0000000000000000000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 00000000000000000000000000000000\nCT: cea7403d4d606b6e074ec5d3baf39d18\nAD: \"\"\nTAG: d0d1c8a799996bf0265b98b5d48ab919\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbaddecaf888\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nCT: 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad\nAD: \"\"\nTAG: b094dac5d93471bdec1a502270e3cc6c\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbaddecaf888\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 76fc6ece0f4e1768cddf8853bb2d551b\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbad\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 3a337dbf46a792c45e454913fe2ea8f2\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nNONCE: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: a44a8266ee1c8eb0c8b5d4cf5ae9f19a\n", }; -static const size_t kLen15 = 69162; +static const size_t kLen16 = 69162; -static const char *kData15[] = { +static const char *kData16[] = { "# Test vector from RFC 7539 Section 2.8.1.\n\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"Ladies and Gentlemen of the class of '99: If I could offer you only one tip for the future, sunscreen would be it.\"\nAD: 50515253c0c1c2c3c4c5c6c7\nCT: d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116\nTAG: 1ae10b594f09e26a7e902ecbd0600691\n\n# Test padding AD with 15 zeros in the tag calculation.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"123456789abcdef0\"\nAD: \"1\"\nCT: ae49da6934cb77822c83ed9852e46c9e\nTAG: dac9c841c168379dcf8f2bb8e22d6da2\n\n# Test padding IN with 15 zeros in the tag calculation.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"1\"\nAD: \"123456789abcdef0\"\nCT: ae\nTAG: 3ed2f824f901a8994052f852127c196a\n\n# Test padding AD with 1 zero in the tag calculation.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"123456789abcdef0\"\nAD: \"123456789abcdef\"\nCT: ae49da6934cb77822c83ed9852e46c9e\nTAG: 2e9c9b1689adb5ec444002eb920efb66\n\n# Test padding IN with 1 zero in the tag calculation.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"123456789abcdef\"\nAD: \"123456789abcdef0\"\nCT: ae49da6934cb77822c83ed9852e46c\nTAG: 05b2937f8bbc64fed21f0fb74cd7147c\n\n# Test maximal nonce value.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: ffffffffffffffffffffffff\nIN: \"123456789abcdef0\"\nAD: \"123456789abcdef0\"\nCT: e275aeb341e1fc9a70c4fd4496fc7cdb\nTAG: 41acd0560ea6843d3e5d4e5babf6e946\n\nKEY: 9a97f65b9b4c721b960a672145fca8d4e32e67f9111ea979ce9c4826806aeee6\nNONCE: 000000003de9c0da2bd7f91e\nIN: \"\"\nAD: \"\"\nCT: \"\"\nTAG: 5a6e21f4ba6dbee57380e79e79c30def\n\nKEY: bcb2639bf989c6251b29bf38d39a9bdce7c55f4b2ac12a39c8a37b5d0a5cc2b5\nNONCE: 000000001e8b4c510f5ca083\nIN: 8c8419bc27\nAD: 34ab88c265\nCT: 1a7c2f33f5\nTAG: 2a63876a887f4f080c9df418813fc1fd\n\nKEY: 4290bcb154173531f314af57f3be3b5006da371ece272afa1b5dbdd1100a1007\nNONCE: 00000000cd7cf67be39c794a\nIN: 86d09974840bded2a5ca\nAD: 87e229d4500845a079c0\nCT: e3e446f7ede9a19b62a4\nTAG: 356d9eda66d08016b853d87c08b5c1b3\n\nKEY: 422a5355b56dcf2b436aa8152858106a88d9ba23cdfe087b5e74e817a52388b3\nNONCE: 000000001d12d6d91848f2ea\nIN: 537a645387f22d6f6dbbea568d3feb\nAD: bef267c99aec8af56bc238612bfea6\nCT: 281a366705c5a24b94e56146681e44\nTAG: 59143dab187449060a3ec2a1681613cc\n\nKEY: ec7b864a078c3d05d970b6ea3ba6d33d6bb73dfa64c622a4727a96ede876f685\nNONCE: 000000002bca0e59e39508d3\nIN: b76733895c871edd728a45ed1a21f15a9597d49d\nAD: cc1243ea54272db602fb0853c8e7027c56338b6c\nCT: 1fb9b2958fce47a5cada9d895fbb0c00d3569858\nTAG: 219b4252deb16a43b292165aabc5d5ce\n\nKEY: 2c4c0fdb611df2d4d5e7898c6af0022795364adb8749155e2c68776a090e7d5c\nNONCE: 0000000013ce7382734c4a71\nIN: 0dc6ff21a346e1337dd0db81d8f7d9f6fd1864418b98aadcdb\nAD: 0115edcb176ab8bfa947d1f7c3a86a845d310bf6706c59a8f9\nCT: dad65e4244a1a17ce59d88b00af4f7434bd7830ffdd4c5558f\nTAG: 7ae32f186cf9ec59b41b764b34307d4f\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84138648a5919a\n\nKEY: a8b9766f404dea8cf7d7dfaf5822f53df9ccd092e332a57f007b301b507d5e14\nNONCE: 00000000c7f2f7a233104a2d\nIN: 4d6faeaee39179a7c892faae3719656cc614c7e6ecd8fcb570a3b82c4dace969090338\nAD: c6d83b6a56408a356e68d0494d4eff150530b09551d008373d6dee2b8d6b5619d67fdb\nCT: a15443f083316eef627a371f4c9ac654d0dd75255d8a303125e9f51af4233ff4ceb7fe\nTAG: 63c2b4e0973096299488b0a66ffa54c1\n\nKEY: 5e8d0e5f1467f7a750c55144d0c670f7d91075f386795b230c9bf1c04ba250bc\nNONCE: 0000000088049f44ba61b88f\nIN: 51a1eebcc348e0582196a0bce16ed1f8ac2e91c3e8a690e04a9f4b5cf63313d7ad08d1efbff85c89\nAD: 5d09bf0be90026f9fc51f73418d6d864b6d197ea030b3de072bd2c2f5cab5860a342abbd29dba9dc\nCT: 35aa4bd4537aa611fd7578fc227df50ebcb00c692a1cf6f02e50ed9270bd93af3bc68f4c75b96638\nTAG: 4461139c4055333106cf7f7556fd4171\n\nKEY: 21a9f07ec891d488805e9b92bb1b2286f3f0410c323b07fee1dc6f7379e22e48\nNONCE: 00000000066215be6567377a\nIN: c1b0affaf2b8d7ef51cca9aacf7969f92f928c2e3cc7db2e15f47ee1f65023910d09f209d007b7436ee898133d\nAD: dfdfdf4d3a68b47ad0d48828dc17b2585da9c81c3a8d71d826b5fa8020fee002397e91fc9658e9d61d728b93eb\nCT: 8ff4ceb600e7d45696d02467f8e30df0d33864a040a41ffb9e4c2da09b92e88b6f6b850e9f7258d827b9aaf346\nTAG: b2ad07b86aca1b3ab34033c12d6a08cc\n\nKEY: 54c93db9aa0e00d10b45041c7a7e41ee9f90ab78ae4c1bba18d673c3b370abde\nNONCE: 000000003f2d44e7b352360f\nIN: 1241e7d6fbe5eef5d8af9c2fb8b516e0f1dd49aa4ebe5491205194fe5aea3704efaf30d392f44cc99e0925b84460d4873344\nAD: f1d1b08dd6fe96c46578c1d1ad38881840b10cb5eae41e5f05fe5287223fa72242aea48cb374a80be937b541f9381efa66bb\nCT: 027b86865b80b4c4da823a7d3dbcf5845bf57d58ee334eb357e82369cc628979e2947830d9d4817efd3d0bc4779f0b388943\nTAG: 6de01091d749f189c4e25aa315b31495\n\nKEY: 808e0e73e9bcd274d4c6f65df2fe957822a602f039d4752616ba29a28926ef4a\nNONCE: 000000001b9cd73d2fc3cb8e\nIN: 3436c7b5be2394af7e88320c82326a6db37887ff9de41961c7d654dd22dd1f7d40444d48f5c663b86ff41f3e15b5c8ca1337f97635858f\nAD: d57cfbe5f2538044282e53b2f0bb4e86ea2233041fb36adb8338ded092148f8c2e894ef8766a7ec2dd02c6ac5dbab0c3703c5e9119e37c\nCT: 9b950b3caf7d25eaf5fca6fa3fe12ed077d80dcd5579851233c766bb8bb613ec91d925a939bb52fb88d5eda803cfe2a8cda2e055b962fd\nTAG: 0887ec7d5e1a4e532746ec247a30825a\n\nKEY: 4adfe1a26c5636536cd7cb72aa5bded0b1aa64487ad0e4078f311e8782768e97\nNONCE: 00000000d69e54badec11560\nIN: 19b3f9411ce875fcb684cbdc07938c4c1347e164f9640d37b22f975b4b9a373c4302ae0e7dfdeba1e0d00ced446e338f4c5bc01b4becef5115825276\nAD: bda1b0f6c2f4eb8121dcbd2eebd91a03ae1d6e0523b9b6f34b6f16ceca0d086654fb0552bfd5c8e1887730e1449ea02d7f647ae835bc2dab4bbc65b9\nCT: ea765a829d961e08bacaed801237ef4067df38ad3737b7c6de4db587a102a86fc4abbaabea0ee97c95ca7f571c7bab6f38cbae60cd6e6a4ce3c7a320\nTAG: a27f18846f5a4f7fcc724656c91cf4f3\n\nKEY: eb3db86c14b7cc2e494345d0dfb4841bbd3aa1e2bc640cca0c6c405520685639\nNONCE: 0000000088b54b28d6da8c81\nIN: f75c0a357271430b1ecff07a307b6c29325c6e66935046704a19845e629f87a9e3b8aa6c1df55dd426a487d533bb333e46f0d3418464ac1bef059231f8e87e6284\nAD: 34b08bb0df821c573dcb56f5b8b4a9920465067f3b5bf3e3254ea1da1a7fc9847fd38bdfe6b30927945263a91fa288c7cf1bee0fddb0fadf5948c5d83eb4623575\nCT: 146ec84f5dc1c9fe9de3307a9182dbaa75965bf85f5e64563e68d039a5b659aa8863b89228edb93ff3d8c3323ab0d03300476aa4aca206d4626a6b269b2078912d\nTAG: 854cbb42bade86a09597482c8604681a\n\nKEY: dd5b49b5953e04d926d664da3b65ebcffbbf06abbe93a3819dfc1abbecbaab13\nNONCE: 00000000c5c8009459b9e31a\nIN: f21f6706a4dc33a361362c214defd56d353bcb29811e5819ab3c5c2c13950c7aa0000b9d1fe69bb46454514dcce88a4a5eda097c281b81e51d6a4dba47c80326ba6cea8e2bab\nAD: fe6f4cbb00794adea59e9de8b03c7fdf482e46f6c47a35f96997669c735ed5e729a49416b42468777e6a8d7aa173c18b8177418ded600124a98cbb65489f9c24a04f1e7127ce\nCT: 911ead61b2aa81d00c5eff53aeea3ab713709ed571765890d558fb59d3993b45f598a39e5eff4be844c4d4bd1ef9622e60412b21140007d54dcf31b2c0e3e98cf33a00fd27f0\nTAG: 2865d2a26f413cc92416340f9491e1be\n\nKEY: 3b319e40148a67dc0bb19271d9272b327bc5eee087173d3d134ad56c8c7dc020\nNONCE: 00000000ce5cf6fef84d0010\nIN: 27b5627b17a2de31ad00fc2ecb347da0a399bb75cc6eadd4d6ee02de8fbd6a2168d4763ba9368ba982e97a2db8126df0343cdad06d2bc7d7e12eec731d130f8b8745c1954bfd1d717b4ea2\nAD: a026b6638f2939ec9cc28d935fb7113157f3b5b7e26c12f8f25b36412b0cd560b7f11b62788a76bd171342e2ae858bcecb8266ff8482bbaed593afe818b9829e05e8e2b281ae7799580142\nCT: 368fb69892447b75778f1c5236e1e9d5d89255c3d68d565a5bba4f524d6ad27de13087f301e2ef4c08f5e2c6128b1d3e26de845c4ac4869e4c8bd8858ad0d26dec3b5d61a9e3666a3911ba\nTAG: 1414f1b91966340417c38226ccca9d3d\n\nKEY: 43bf97407a82d0f684bb85342380d66b85fcc81c3e22f1c0d972cd5bfdf407f4\nNONCE: 000000008b6ba494c540fba4\nIN: 4b4c7e292a357f56fdf567c32fc0f33608110d7ce5c69112987d7b5a0bd46d8627a721b0aed070b54ea9726084188c518cba829f3920365a", "fc9382c6a5eb0dd332b84612366735be2479b63c9efc7ff5\nAD: 1e0acf4070e8d6758b60d81b6d289a4ecdc30e3de4f9090c13691d5b93d5bbcef984f90956de53c5cf44be6c70440661fa58e65dec2734ff51d6d03f57bddda1f47807247e3194e2f7ddd5f3cafd250f\nCT: d0076c88ad4bc12d77eb8ae8d9b5bf3a2c5888a8d4c15297b38ece5d64f673191dc81547240a0cbe066c9c563f5c3424809971b5a07dcc70b107305561ce85aecb0b0ea0e8b4ff4d1e4f84836955a945\nTAG: c5ca34599c6a8b357c6723ee12b24da8\n\nKEY: 12fc0bc94104ed8150bde1e56856ce3c57cd1cf633954d22552140e1f4e7c65d\nNONCE: 00000000d3875d1b6c808353\nIN: 24592082d6e73eb65c409b26ceae032e57f6877514947fc45eb007b8a6034494dde5563ac586ea081dc12fa6cda32266be858e4748be40bb20f71320711bf84c3f0e2783a63ad6e25a63b44c373a99af845cdf452c\nAD: b8be08463e84a909d071f5ff87213391b7da889dc56fd2f1e3cf86a0a03e2c8eaa2f539bf73f90f5298c26f27ef4a673a12784833acb4d0861562142c974ee37b09ae7708a19f14d1ad8c402bd1ecf5ea280fab280\nCT: 9d9ae6328711fb897a88462d20b8aa1b278134cdf7b23e1f1c809fa408b68a7bfc2be61a790008edaa98823381f45ae65f71042689d88acfa5f63332f0fba737c4772c972eba266640056452903d6522cefd3f264e\nTAG: e84211b6cfd43543f8b1b4db07a494d1\n\nKEY: 7b6300f7dc21c9fddeaa71f439d53b553a7bf3e69ff515b5cb6495d652a0f99c\nNONCE: 0000000040b32e3fdc646453\nIN: 572f60d98c8becc8ba80dd6b8d2d0f7b7bbfd7e4abc235f374abd44d9035c7650a79d1dd545fa2f6fb0b5eba271779913e5c5eb450528e4128909a96d11a652bf3f7ae9d0d17adbf612ec9ca32e73ef6e87d7f4e21fe3412ce14\nAD: 9ff377545a35cf1bfb77c734ad900c703aee6c3174fdb3736664863036a3a9d09163c2992f093e2408911b8751f001e493decc41e4eeeed04f698b6daed48452a7e1a74ec3b4f3dcf2151ca249fa568aa084c8428a41f20be5fd\nCT: 229da76844426639e2fd3ef253a195e0a93f08452ba37219b6773f103134f3f87b1345f9b4bf8cfc11277c311780a2b6e19a363b6ac2efe6c4cc54a39b144e29c94b9ebbde6fd094c30f59d1b770ebf9fcad2a5c695dc003bf51\nTAG: 55e025a1eb87bc84d4be00c775c92ad2\n\nKEY: 4aeb62f024e187606ee7cc9f5865c391c43df1963f459c87ba00e44bb163a866\nNONCE: 000000009559bd08718b75af\nIN: c5d586ceece6f41812c969bcf1e727fe6ff8d1ae8c8c52367c612caa7cdf50e0662f5dffc5ea7d3cc39400dfe3dc1897905f6490fd7747b5f5f9842739c67d07ce7c339a5b3997a7fb4cd0d8e4817ff8916b251c11ef919167f858e41504b9\nAD: 51f5b503b73a5de8b96534c2a3f2d859ece0bd063ea6dfa486a7eec99f6c020983f7148cccb86202cf9685cc1cc266930f04e536ad8bc26094252baa4606d883bd2aeed6b430152202e9b6cc797ff24fc365315ed67391374c1357c9a845f2\nCT: 252ea42b6e5740306816974a4fe67b66e793ebe0914778ef485d55288eb6c9c45fa34ac853dc7a39252520514c3cb34c72b973b14b32bc257687d398f36f64cc2a668faffa7305ab240171343b5f9f49b6c2197e4fbe187b10540d7cdcfa37\nTAG: ab1d8a5a1f3eda9b5609c0028737477f\n\nKEY: 9a19e72f005cae1ae78b8e350d7aabe59fc8845999e8c52fad545b942c225eaf\nNONCE: 00000000d9dae2ea8d2ffc31\nIN: 2110378d856ded07eb2be8e8f43308e0c75bc8a3fcc7b1773b0725b7de49f6a166c4528e64120bdf7c9776615d3ce6feeb03de964a7b919206a77392f80437faceb6745845cafc166e1c13b68e70ca2a1d00c71737b8fcbbbd50902565c32159e05fcd23\nAD: 1cd73b72c4e103afbefd7c777e0480f3f5e68c60b85bd2e71ef5caebb175d7fc6535d39f38f92c24f2eb0fe97d878ed3d5967c0bb4394a5d41f7d34cda6e1523d3848f049cde554a7d31e1afeab5d3e6150f85858335cbd28c8a7f87d528058df50eea06\nCT: 5f009fbce4ec8e4ca9d8d42258b1a3e4e920b2fbad33d5e9f07557d9595e841025193b521ba440110dd83958e8ee30219d952b418e98a6c624894aa248aedc0678f2d263e7bfaf54ca379fef6c5d2f7ac422ea4b4369408b82d6225a7a2cf9a9f46fd4ef\nTAG: 1c6bdff7d8b9554dc7bf40e50b37d352\n\nKEY: ba1d0b3329ecc009f1da0fab4c854b00ad944870fdca561838e38bad364da507\nNONCE: 000000008a81c92b37221f2f\nIN: 6289944ffa3ccea4bf25cd601b271f64e6deb0eba77d65efb4d69ca93e01996e4727168b6f74f3ccf17bd44715f23ceb8fc030c0e035e77f53263db025021fd2d04b87a1b54b12229c5e860481452a80a125cb0693a2ba1b47e28ee7cbaf9e683c178232c7f6d34f97\nAD: e57883961b8d041d9b9eeaddcfd61fa9f59213f66571fadffffdd1498b9b014f1ef2e7e56c3044d7f9fa7a1403a1169e86430a2a782137093f5456e142aad03a5f7a66d38009dd01b7fc02c9cf61642dedaf7cc8d46066c281ee17780674c3a36eae66c58d2d765075\nCT: 9c44d9135db0dbf81c862c1f69bec55a279794cdd29a58e61909aa29ec4c120c9c5a508d856b9e56138095714a4bb58402a1ad06774cf4ecdf2273839c0007cb88b5444b25c76f6d2424281101d043fc6369ebb3b2ff63cdb0f11a6ea1b8a7dafc80cdaef2813fa661\nTAG: 689a141bc11159d306dad7a4ecf6ad9d\n\nKEY: 0cf8c73a6cffc1b8b2f5d320da1d859d314374e4a9468db7fd42c8d270b7613a\nNONCE: 000000003c4c6f0281841aff\nIN: 4434728d234603c916e2faa06b25d83bad3348990ecde2344368d1a7af1309bd04251bb2e0b72044948f8dea33cce2618283b6af742073a9586b26c1089335fe735141e099785a1235810a3a67ff309e2f0ce68220ba0077ad1a5dc1a4aef898a3b9ff8f5ad7fe60149bd0bd6d83\nAD: a38d09a4f1c9241623c639b7688d8d35345ea5824080c9d74e4352919db63c74d318f19e1cbb9b14eebd7c74b0ad0119247651911f3551583e749ea50ff648858dcaaa789b7419d9e93a5bf6c8167188dbac2f36804380db325201982b8b06597efeb7684546b272642941591e92\nCT: bdfbfea261b1f4c134445321db9e6e40476e2dd2f4e4dbe86e31d6a116d25830762e065b07b11a3799aab93a94b4f98c31c0faeb77ec52c02048e9579257e67f5a6bae9bc65210c25b37fc16ee93bda88fd5f30a533e470b6188c6ce5739fa3e90f77120b490fc1027964f277f40\nTAG: 780cc54bb6f1c9b78545c1562cd9d550\n\nKEY: 69f4e5788d486a75adf9207df1bd262dd2fe3dd3a0236420390d16e2a3040466\nNONCE: 000000006255bf5c71bb27d1\nIN: c15048ca2941ef9600e767a5045aa98ac615225b805a9fbda3ac6301cd5a66aef611400fa3bc04838ead9924d382bef8251a47f1e487d2f3ca4bccd3476a6ca7f13e94fd639a259ef23cc2f8b8d248a471d30ac9219631c3e6985100dc45e0b59b8fc62046309165ddb6f092da3a4f067c8a44\nAD: 0c83039504c8464b49d63b7f944802f0d39c85e9f3745e250f10119fa2c960490f75ae4dced8503b156d072a69f20400e9494ab2fa58446c255d82ff0be4b7e43046580bc1cf34060c6f076c72ea455c3687381a3b908e152b10c95c7b94155b0b4b303b7764a8a27d1db0a885f1040d5dbcc3\nCT: f0bb2b73d94f2a7cef70fe77e054f206998eacf2b86c05c4fa3f40f2b8cebf034fe17bcbee4dea821f51c18c0aa85b160f8508bd1dc455cc7f49668b1fb25557cdae147bf2399e07fcacaca18eccded741e026ef25365a6b0f44a6b3dd975ee6bb580f5fccd040b73c18b0fbf8f63199ba10fe\nTAG: 2ecccea4607d14dbb2d2475792aeb468\n\nKEY: ad7b9409147a896648a2a2fe2128f79022a70d96dc482730cd85c70db492b638\nNONCE: 00000000a28a6dedf3f2b01a\nIN: 791d293ff0a3b8510b4d494b30f50b38a01638bf130e58c7601904f12cb8900871e8cf3d50abd4d34fda122c76dfee5b7f82cd6e8590647535c915ae08714e427da52f80aef09f40040036034ca52718ea68313c534e7a045cd51745ec52f2e1b59463db07de7ca401c6f6453841d247f370341b2dbc1212\nAD: 9a6defddb9b8d5c24a26dd8096f5b8c3af7a89e1f7d886f560fabbe64f14db838d6eb9d6879f4f0b769fe1f9eebf67fcd47b6f9ceb4840b2dba7587e98dc5cae186ef2a0f8601060e8058d9dda812d91387c583da701d2ba3347f285c5d44385a2b0bf07150cbc95e7fcfa8ae07132849a023c98817c03d2\nCT: c2f109d6d94f77a7289c8a2ab33bc6a98d976554721b0c726cbf4121069473e62ba36e7090e02414f3edc25c5d83ac80b49ad528cda1e3ad815b5a8c8ae9ad0753de725319df236983abd3f69ab4465d9b806c075b1896d40bdba72d73ba84c4a530896eb94ffccf5fb67eb59119e66a1861872218f928cf\nTAG: 17ec6cf2b172f01e3c456ad047196805\n\nKEY: 48470da98228c9b53f58747673504f74ca1737d7d4bb6dbf7c0cba6ca42f80b9\nNONCE: 0000000056fb4923a97e9320\nIN: bc6626d651e2b237f22ee51608ddcffeba5f31c26df72f443f701f2b085d6f34f806e29673584cb21522179edb62a82427d946acabce065b88b2878e9eb87ed1004e55ef58f51ec46375ac542c5782725ff013136cb506fcf99496e13fcd224b8a74a971cc8ddb8b393ccc6ac910bd1906ea9f2ed8a5d066dc639c20cd\nAD: df8ab634d3dca14e2e091b15ecc78f91e229a1a13cba5edd6526d182525ec575aa45bc70fb6193ffcd59bad3c347159099c4f139c323c30a230753d070018786b2e59b758dd4a97d1a88e8f672092bef780b451fd66ba7431cbb5660ea7816cdf26e19a6ebb9aadc3088e6923f29f53f877a6758068f79a6f2a182b4bf\nCT: a62e313ecf258cc9087cbb94fcc12643eb722d255c3f98c39f130e10058a375f0809662442c7b18044feb1602d89be40facae8e89ca967015f0b7f8c2e4e4a3855dbb46a066e49abf9cef67e6036400c8ff46b241fc99ba1974ba3ba6ea20dc52ec6753f6fc7697adbccd02b0bbea1df8352629b03b43cc3d632576787\nTAG: d29a8968067aeb457ffc114c3a9efb95\n\nKEY: b62fb85c1decd0faf242ce662140ad1b82975e99a3fa01666cac2385ab91da54\nNONCE: 000000002f4a5ca096a4faf8\nIN: 03b14f13c0065e4a4421de62ab1d842bffb80f3da30bf47d115c09857f5bdd5756fd7c9ac3d9af1c9fb94f2640f7f4386cfba74db468e5288dbe4dd78bfe4f69e41480ca6138e8beacc6eaa3374157c713cfa900c07dd836eaecc8827fa3e70e052ae09e8473e2ae1a10b1bb669ef60a8dd957f6553daa8114918e17371f2ac327bd\nAD: cfe3b7ab7550b0e8e2e8235fa0dcef95647ce6814abd3dc3f5a3bd7d6d282504660c34ad8341e4d11402c7d46c83a494d7ddb105e1002979023e0e3dc2978c9ae53e10eb8567e7a02b60e51e945c7040d832ca900d132b4205a35034fed939a1b7965183c25654931a9b744401c4649c945710b0d9733b87451348b32ba81de30ea7\nCT: 8965db3d3ae4fb483208f147276e7d81b71a86e7202ffc9b1eaade009bc01683", "8dc09ca4bcf30887b2f4243fbd652cd90ebed1ceef8151ff17ea70518d03b0f2a24960aa7de9b30fa65c2e2d57360061aae6d9376e984e9fcd5e5dd0911a4bc8deca832ffb76f252bd7da523076593ba6b174f7d9fb0377e066ecbb6638036241e86\nTAG: 28a5284696ed82714eaa94c9ebe6e815\n\nKEY: de9c657258774d4ebc09d109a0fc79d66493ae578797cac4eb8830a6a4b547e0\nNONCE: 00000000b5e35fe3398efa34\nIN: 4d68fb683aa4f4c7a16ba1114fc0b1b8d8898610fa2763e435ded8771b3651078bef73d4dfd14e76a34cd5eb9ef4db4ead4da9e83f4ce50fe059977b2d17d687c29335a04d87389d211f8215449749969f7652dc1935a0f9a94538dc81dc9a39af63446a6517609076987920547d0098a9c6766cf5e704883ea32feaea1889b1554b5eb0ce5ecc\nAD: 436ea5a5fee8293b93e4e8488116c94d3269c19f1d5050def23d280515457b931bbed64a542b317cc5023d648330a4b7adca14dd6f3783207b94f86ccaa0a0ac39b7db00ac87a99e3cd8a764ed9c75da8454479636ab2b29e770b166a5b75cacc425c919bf1ce9ac34afe6b4425c3d9fd2e48bc81e7d15516d60e592bfcc2ebefb660f0995f2b5\nCT: 97a97b8f0f5420845ae8d57567f9bba693d30e6db916fad0b971f553ad7d993f806f27ab8b458d8046062ced4778c004b4f958a4436141637c6039963308dea2f54008b7feab79650295ed41bf9e65e1a2d75ab1c7b2a70ebb9e9f38d07a9a672d3e95ea78afe9ac02f2566b48b0251aef6eeeca8bd15bd8d43b559426aa9d15d960ee35cb3edf\nTAG: 4ef49e8a0c2ef85826d7f03e81c577f2\n\nKEY: 6885bd333c336c7672db8ebdf24c1a1b605c5a4ae279f0f698162f47e6c73401\nNONCE: 00000000f0c4a213a6168aab\nIN: fa905a2bfa5b5bad767239fb070a7bc0b303d1503ecd2b429418cc8feba843e5444ed89022fdb379c3b155a0f9ceab2979000a0f60292a631771f2fde4ef065aa746426609082969530a9c70ad145308c30ba389ea122fd766081511a031ce3a0bd9f9f583c7000b333b79ac004fbde6ec3eb2d905977ff95dcff77858e3c424fe8932a6a12139e6ec8d5e98\nAD: 8ded368f919efb522bb6a9ad009e02ffbc6a16536e34d95cdb34f1153d7cb7b0f3c2b13dd05cedae27cfe68ec3aca8047e0930a29c9d0770c1b83c234dcb0385deae7ae85da73a5f8de3dfb28612a001f4e552c4f67ae0e2ec53853289b7017a58591fd6f70b0e954876bb2f7ec33001e298856a64bb16181017ba924648c09fc63c62eff262c80d614679bd\nCT: 0cb3d6c31e0f4029eca5524f951244df042fc637c4162511fea512a52d3f7581af097eb642e79e48666cb1086edbd38c4777c535a20945fabc23e7c9277e2b960aac46865f1026eb6da82759108b9baece5da930ccfc1052b1656b0eadaa120ed0c45ad04b24ae8cdb22ceab76c5f180b46a392ab45b1b99c612546e6b947f4d5c06ad5abee92ff96345ad43\nTAG: fad7d5a5193dfb121c68529ba8c0c35d\n\nKEY: fbc978abb1240a6937ccc16735b8d6ed5411cdbc1897214165a174e16f4e699b\nNONCE: 000000007968379a8ce88117\nIN: 1a8196cd4a1389ec916ef8b7da5078a2afa8e9f1081223fa72f6524ac0a1a8019e44a09563a953615587429295052cc904b89f778ef446ed341430d7d8f747cf2db4308478524639f44457253ae5a4451c7efca8ae0b6c5c051aaa781e9c505489b381a6dcba87b157edc7f820a8fbaf2a52e484dc121f33d9d8b9ac59d4901d6ed8996ed4f62d9d4d82274c449cd74efa\nAD: 3913cd01299b8a4e507f067d887d7e9a6ded16dd9f9bb3115c5779aa14239fd33ee9f25756d45262dc3011069356425b5c81a4729594e17c9747119f81463e85625d5603d05e00f568b0c800bb181eb717be8d7a93166a504ce1bc817e15530c5bd2b3df1d4222245ea78a38bc10f66c5cf68d661503131f11af885c8a910b6dce70bc3a7448dfae00595beb707fe054d3\nCT: d152bcb4c24c3711b0fad28548dc4db605bbc89237cdbea7dbf956b8855d1161a0781f27bd56d798141e2ace339955efb98fe05d9b44cd011e645106bf47726183958cb6df34ce5766695f60bc70b6fe0fabb9afa009a8ef043dbf75f861881368fa07726625448fe608d578cdc48277f2dc53eaaf1bdc075269a42f9302a57cad387a82c6969608acacda20e1cac4596c\nTAG: 96ae06cd7c72456e5568a42317046158\n\nKEY: 77d1a857fbadfe01aba7974eea2dfb3dc7bf41de73686aece403993e5016c714\nNONCE: 00000000fdd913a321c40eb0\nIN: db8915bfe651e2ecb3ce0b27d99a6bfa7a7c507cfcb2987293018636c365a459c6a138b4428be538413db15bda69e697cbb92b154b7f4d2cbb07965225aa6865d7dcd1ba2c17c484b00b1986fed63e889f25a4966dc3ed4273f1577768f665362d7d3e824484f0dded7f82b8be8797ad951719719365e45abbf76324bc7d657799d4d4f4bb1dba67d96ab1c88519a5bee704f7214814\nAD: 3cb2c06c20cb0832bbacebfc205d77393ca1816346ea2681de4d3ab1fadb774ad273e4713290454496f5281ebc65e04cfe84ed37cd0aedc4bbe3decbd8d79d04a4e434876650e0d64309e336bfb10e924066a64acb92260b2dbd96735d03af03909aa6a80a6e89fda81037257aec21fe9be7e91a64e88e0a58fa38ecba4c4c4cffb61958f3c486cbb0b1d0b0014a2d1d3df248eec1ca\nCT: acb825e6023b44b03b2efc265603e887954e8612b2ee134bdcb61501cfb9492952bf67be597c3a005b09af74d9e421a576d2c65e98104780feab838d8cb1bd135452ea39dc8907a4c1a6a9161805e4fa3e16989e6a418a7eea2582bf895da967028eab7c95d846a6de4b9980785814cf00484baa2f6de609912fff689bce6e854261ffe866bd8e63274605c7c5ad677bd7897ade543e\nTAG: bcf523a9bcf772e157941753c6d7401e\n\nKEY: b7e9b90dc02b5cd6df5df7283ef293ed4dc07513d9e67331b606f4d42dec7d29\nNONCE: 00000000a6c191f6d1818f8e\nIN: 2ada0e3c7ca6db1f780ce8c79472af4e8e951ddc828e0d6e8a67df520638ff5f14a2f95a5e5931749ae2c4e9946ae4d5eb5de42fb5b77d2236e2e2bd817df51be40b1b8a6c21015a7c79fe06dba4a08b34013dfa02747b5f03930268404c455dc54a74d9c6e35485e10026da573cb41cd50b64cfafe4cfcdf3c9684ef877e45d84e22bd5e15fa6c8fd5be921366ff0dc6fe2df45f7252972c9b303\nAD: 0f4269ed5ef0bfff7be39946a4e86e8bf79f84b70cd0b14fecb7be3c071316ce86de3d99d6871e0ba5667d9d7bba7dcaba10cb2a36668b6c3e2fb6c102938b75008bb9c213ebf9b85b5e91a802df0d31d7f11d764b2289f6225212694ab6b7c0e3ff36e84245d9f4f43fc5f98e654dea7ba9bd918658879c5bb4a1642af0d83113e3cf935d3c0d5208318f66f654eb17d8c28a602543e77ad3e815\nCT: 22586fe7338e99cdaad9f85bd724ba4cfe6249b8a71399f9a3707b5c4323b8d96679568dfc8d230aefb453df596e13eb3e8a439249bd64bc93a58f95089a62b94f6562b821c83d91f56c55147381e9de4beb4ae81bd6fe7caef7e7e9a2078f2fba8f3e70d4910da9accc92b8e81a61b0fefbece4bd89443e66e8ddda8e47a66a62f17fd0e7d0a4852ce1a4d43d72a0b5e8914bbec698f060f2b092\nTAG: bd05336ed6426de412aac37661953052\n\nKEY: 6b2cb2678d1102f2fbbd028794a79f14585c223d405e1ae904c0361e9b241e99\nNONCE: 000000007b3ae31f8f938251\nIN: b3cb745930e05f3ab8c926c0a343a6eb14809fd21b8390a6fcc58adb5579e5432021765b2d249a0ecf6ba678634c4f53f71495865f031ee97aa159f9ead3a3fcb823ee5238bdf12706a9c6137d236e2e7110ce650c321e41daf0afd62bab2a8fe55d7018de49a14efe6d83a15b2f256d595e998d25309f23633360f5745c50c4e5af8ccc9a8a2cb47064105a023e919c7795d2dc331d3f2afb8c42e5c0bcc26d\nAD: 1c32fd3df22b3e440e2a3c7a7624990194cb16a5f74af36f87fd6ca7d410ce9064316a2d091945deef7d9b35ceec8396069307caced2b80afd7d53ec479c35cedf2dfd4c95c3dd8400f71ad34028c6e4f8681d93d0774064ba38f3fb9b0c1dfa1f5f0c7d20676a5911d999fb6a1d41367a8e99d852bf3d3b7b3f4c233249ed1ca135389a674ff48232ded3f6800a97b6d409c40e6cd70d09bf9d2ad25d9b9485\nCT: ef70c7de98ab1d4ad817024a970be463443640eb0cd7ff234bdd00e653074a77a1d5749e698bd526dc709f82df06f4c0e64046b3dc5f3c7044aef53aebb807d32239d0652dd990362c44ec25bf5aeae641e27bf716e0c4a1c9fbd37bbf602bb0d0c35b0638be20dd5d5891d446137e842f92c0ee075c68225e4dbacb63cc6fb32442b4bcda5e62cb500a4df2741a4059034d2ccb71b0b8b0112bf1c4ca6eec74\nTAG: d48657033095db3f873c33445fec8d35\n\nKEY: 4dbc80a402c9fceaa755e1105dc49ef6489016776883e06fcf3aed93bf7f6af7\nNONCE: 000000002358ae0ce3fb8e9f\nIN: 197c06403eb896d2fa6465e4d64426d24cc7476aa1ae4127cd2bd8a48ce2c99c16b1cbf3064856e84073b6cf12e7406698ef3dd1240c026cbd1ab04ee603e1e6e735c9b7551fd0d355202b4f64b482dd4a7c7d82c4fe2eb494d0d5e17788982d704c1356c41a94655530deda23118cba281d0f717e149fbeb2c59b22d0c0574c1a2e640afad1a6ceb92e1bf1dde71752a1c991e9a5517fe98688a16b073dbf6884cfde61ac\nAD: cf6ce7b899fb700a90d2a5466d54d31358ecf0562e02b330a27ba0138006b342b7ed6349d73c4c5c6d29bde75a25089b11dac5b27adea7e7640ca1a7ceb050e3aae84a47e11640a6e485bd54ae9fdb547edc7313d24a0328429fcffd8b18f39880edd616447344ebeec9eadb2dcb1fa7e67179e7f913c194ebd8f5a58aea73b0c5d1133561245b6d9c5cfd8bb0c25b38ffb37db5e2de5cdded6b57355e9d215cb095b8731f\nCT: aa87f9a83048b6919c8f2b050315db4e2adae4a9c2ca0109b81961b520e63299dcb028cec0b9d3249a945ee67dd029b40f361245c740f004f8cf0d2214fcfa65e6124a3e74b78aa94345c46fdc158d34823ed249ee550431eaae9218367321cdd6e6a477650469bb3cc137a8f48d9cf27934b16703608b383d2145659922fb83bb2e7ee2ef938a90f2ff846a4a949129b1fb74dde55c5ae013c2f285de84f7dac7d1662f23\nTAG: 298f84c8312029a7b1f38c5ea6021f57\n\nKEY: 9e4a62016dae4b3223fed1d01d0787e31d30694f79e8142224fe4c4735248a83\nNONCE: 00000000263a2fc06a2872e7\nIN: 5a46946601f93a0cee5993c69575e599cc24f51aafa2d7c28d816a5b9b4decda2e59c111075fb60a903d701ad2680bb14aeda14af2ae9c07a759d8388b30446f28b85f0a05cd150050bd2e715ff550ebbd24da3ebb1eac15aba23d448659de34be962ab3ab31cb1758db76c468b5bb8ce44b06c4e4db9bd2f0615b1e727f053f6b4ffb6358d248f022bcad6ca973044bed23d3920906a89a9a9c5d8024ec67d7f061f64529a955ce16b3\nAD: 4cd65f68f9f88c0516231f2a425c8f8a287de47d409d5ecde3ad151e906b3839fb01bb91a456f20ea9d394d4b06604ab1f9009ef29019af79", @@ -678,16 +758,16 @@ static const char *kData15[] = { "16b39afee75e53602de319484db89a51e844f38c361634e474f8f1f01c340f3f3594860d671346449c6d08ee38de22d246309bc7e4a252a29c86aa6d94b5b4fa58904c70\nAD: 1c2503d5aa1aad193f0da12874074ea0432bb76a61cd43a3017061514da0759846a0f3ae3a49fdb0b6d29f713de665beacb6568f2694112ca380d13f3c1698316866a7a7f87f1d7503a92176ab84fc08977b46ba664508a858e7525753c45511b3d2f407d5e993c6ede77f13d12975707e5195704970a89f71fc30828049f92f944f3aa93d6a5297e678e08952919beb7eac5919df1919cab3c3da6aa696a1eeab6371f310f7e81143e7d240b0213ae554524b52000306160dd4877bf13ba0f13bbe867da7c7d707f31335eef4cd942938ac890a0829ec66bd30ae01a2188a6e5ea0f17cd7dc875e17f03c0ab5dd18e36db8a1fc1f72859ee046b62368f168b3bea2234e0432c07b7d8e1b9277f21e692c513b9e816e6860\nCT: 7d35cfe4be56bd6e0e09dedcd01735b915bc1891a4d1f6a541abc4bcd0ebe89dcb8e365e5813742e8ec65777b6159422fada747da99394252baf8a046fc1b60ad79755f545f4448627b7acaf403000894f5641e78d3f946dfca29ec617f0660dcd6e8d8827e67e1022a245c595d86e60fbd176bf721b171bbe5ecaf4ae671b9f3dd3920146e6ad431bd8fc431820e19454b6ca209723d80fdbee187fca9c937c979206ae97be55f6ba7366a5608770a11d537396485eb0a66586385f4d4cf3905d1fc90831c3e136d5d513fa22be285193142994a3ed477145bacdcbdd791e8b3b88b0d4f1d18b27382550a818c4fd8884bf36f677c6c3ff5677406e510911e696af75e5b3f859bef699bdd16e6215fdb98d874025eada50\nTAG: 0fa4cb2bab84336409aa4349ab99a8bd\n\nKEY: 923d4b086b9e43b986f7b65e4cea6113a3d8aabefa89323c5e4d5b6f158bb7e0\nNONCE: 00000000a0f73297b87f5deb\nIN: 21435e8d5c8edf0684f58c2cba4070c10b4801adf46b6c4d322eb3990a38a9ad338ad704b9df6597f3e68d66cd5b56290c8466db2231e56d6bcb9c44e1bd081f42ca2a894dad369df2bd0d2c63d6c881732d6ea22bb22b5bc9a62eaffa1b094d0845f6b966d2cb095e7b3b8bcbc15e707449d35c8df4aea30c3b7243e977fffd59c80f1c5c9af4bb5a54b9c786fbbe8d21b2b906a87a786caed841a34a3e0cc0ac3209d83c58afba19edd63622dd261532d2cfb0b49d527d8eaa0887a087f5129d897f665264b229f860363d71a88b7d49c8dc6360182b357b0662391bb41337f46010ac32b9fada2d60a2efcb99365d3b27b7ac396900d1c821d0df8b86cc9cc1f2673259a33efea610bf8e1d00d7e9db2afea21da8f58c55f799999d\nAD: c853a8b39c0dc597d562f123cd221e4104b65423a062a4f4ba890ba344feb84290f61817e23330c365f58c3583ce08360d3c1171982ead5496d525ac878f23a57480a6ee39d4e65afd6268245bb982a2545fa1195427cdbbcd404cdad5198f55cce2a5a028fae435f71b15921d066e8d43766c32b2f2c3f57c0674e129607dcd3703eca529414adaee79d81fed432153cceb6f3fc53404810d8ec878f7d94be5d379d0e0e1aa9bc404b4b5d396038a9d76a5ce53c9f3759b8e50fb331858ca58cee81bfc3ee58baef5d19c402a3dc8b36370ec1ace5a4aa2527fb94b4f933a4ab8ccaaf6a5af5a779eae5667c2a24ab027e781c8d4f30c377aa5885a2fdaf6507d18cd824a847c35368b4ea984d2c3c3824a5b8ba3042e1852504a21a3\nCT: f2e21052eebbb86a4f5e803360855d8632aa727dca6f5e79dd74d7aff106e442001928d113005b030f8446f8eff2ee951db663978abe43090dd5ad2c51ba97a0ecf988c607d95e486d02524f690fa3c28d5c48c1f75c1f555e7b43fe7e46f2ca2b9fdb408ec4ba18b6cdde2af673183cb7b1a3c23ae77eddd4cac75e1ea14743fc571f8d31ce2e96787524cd48aadaa474181c096a032184574ddc25a6e0ac8441c212bc36298708e33c963ae931e6c6241d1affeef7b6ef759495df44b6ab647447693cf703569e69aa72f1def9a342b8978c1edea9703a421ca75b92cac4de14b88c693200022b8a2ed22b1c4678b99f4d695e080dd1196d7168e14f0d0f8ff880d742e97b9f6d00af1f7118e10b77c5ef3ea6c52f84a20fd6ea46dc\nTAG: 9bd8b7743c056bb2334833afd6143e18\n\nKEY: df73adab2768559ea983cce85453fe81d79be3b3c57f202b31b94d6635cf2e4b\nNONCE: 00000000e7a87e6bf6b5a354\nIN: 0032a37abf661faa18c587fd2aa88885c061deeba81105dd221969bed5d59c7204b09b1a8c4c8de3b9f748c7fc70626ebeaca060233a57b102221b1bf0f3d9fdaaad3d2b1439c24d08f9c67f49f3c47128f92ee530abf4c4f4573bc60ae4b38109f55bca3ca9e1ba9f9fd6e34ba0d174892977a53356e1f5c88c614fe3ff3b3dd0818e7a2285412e3b37444bbe8a80942efcfd03958809a6966cda9430b2f0c9e552f4bced6e19eb3e85fc5758bd7b588297ccbed37ed94c3adc8c08ea8b058462aac9d57a939ec711bc4ecfec944d2b653b7cfc7b02a65d7057c9fdadd51b9da8cc4a3c68dae9da8b9c5319c1a2baa3d6c891c5ac4a39461484b5a01abc64df447ada24c04a4363e605eaccf339a9aa515e724206206da6d22bbd2f52e64cd7c895\nAD: f833e5ab4f8bc89167f80f576b1d6b22cdd0e30721f5f735799746cf645b6eff531d4c7b03584f3dfcb73cbd35ac42736216dc7f0de098a4f42c61ceb4b227ee288e47d697a0a76afc762f084e8fdbf9351c28340c324771c109a469341ab10ca10483ed2af5e878d7d3dc2bced2f72da3d1a25852b103ee9878e8158eb4309c1ce528f3a178ace153b6d3ae0af0d577cb3cb1540489e80427f792217ad8a09b84f027fca7ceb651b4264e98e94b4cb8a37b133390897233e8ba9103628d05b9609e8552c4a4b11e3f2fa8d56af36957390e88cba44656be3edace798cf8cdf7771bac338a256bc3cba6df97728f222f423ca7c6d149c9372d66163a98f79a234b00d4b75fb2ec860dcc2d1998105e4b9c01d68f079f3e0aa21cc534047fc7b858f8\nCT: b842eadfdf431c135bd6581d3eccae54e2267d8890036aa33dfe2d2d9715c44625441210a3a0d666d708d30588fe851ec36e10d8fa3584ed77b095149494b7c54379d62c8935e1d2b9a8f47e4759ad0b3437fdf2cc2fb6c5ea25ad10e0bdc9dc5b0517fc237eb783cc461c46665e2b1d1a5b8008dbf409ea2a63fea0276de23a32c99d92a498807a0f95e208fc6262321a78aafaf0cc3f833fff37bd4efa66f6023a25cdc6702cee3912799563d908a5183c9956a06aa71085d855dc7c809ed6e2889592b361ab3ab39060f8e419152187a794a19c2a1128882201900ea2cd597860674bf78d9720643df8701676718fd201baed4935a88e50558daf86edd08a9ab227ac7afae55c974b68de8dacad4a4d79b13ed6dfe74017a4cb9148e033436fb6\nTAG: ee1ec36804e1d5cdbddb52608c711fd8\n\nKEY: 55a4be2448b464c2ea52a2f2664ed6aba865c14ea1fea77f4689331fd105c8d4\nNONCE: 00000000db37c0a405b4626d\nIN: d266e66272e5d3462081b004cb42429c8b9741e9f678153754d726f6f9aa513464763c5e793b482fe512fece97585f1426120d4cefb3d0a8cc0a8db4bde93fc72c78f44d4fecca14650c660d3e285b327e7cdd813063e7e867b8a2d059a41bab70432b7f857199894da90dca3fe5272bae1ec694a1a07b60b05df275784d4975637e4673109f3ba846dfd1a048b202ed8e89973be608b91ee4743b1e759900f1443038951fe6189e806638985f3c16338c3c60695df58e621154d79bb973859c4558e9dca90470f77c73f004443ad5db0717abbe43266f90e57397b83ac34d1fef2e897e2483d5bcdcb627abd64b0d1aef525835f25e76d6e9158232cdde6dce970b59f58de8a98e653be32fb58edabbcefa5065d73afdf1c9c4fbf50c1022bd22bfcb98e4b422\nAD: fd6a3fdd879f8880843eac20ae01c1b9dc3487d270a806572088ef2ddc1f1e0de495e71d4813bf5c501ad31e5d791c4b5b3a0a71b63fdddcc8de4b056064ef467989ecccc5d0160d403bf3a025d4892b3b1de3e062bc3581d4410f273338311eb4637529e4a680a6e4a5e26e308630a5b6d49ead6d543f8f2bf9050aa94ce091318721e1d8b96e279f34b9759b65037bec4bf6ccda6929705aeeeebe49e327e4d7a916620c9faf3765120658af34c53fbb97ec07657b3f088fcbdc401aa7949ddeda34d885018c2c23f4f0bb8218bf0d4fc90643658b4d8834f4a8c08e590c2a790995baa9e77627c342d283e454f84fcc05be15e9627a2d9be340c9d72f222bbdfc47905f56616cd9f936d49e4732f319f020513340fb8b22828db251b102b6b137c9533936d6\nCT: bd11ed07b7b4b30eeaf25d6a41a549cca0a5aee71f990ac566a37265d7af2ce3c03703427ee0b2755c2bdfc29f9d826aec6ee4ad28af48079ac23db16580b97424f3a4e35cc23625d39f95699d9ff5143e9a2bc26fcfee4f125f5aa2d968ccfc2faaf9db3c28850f6757f735cbc50c94c498bcde4f23bffafa8dd5f70d1a011e35eb26e905d4e68848fedebeb197be595c085ba33f11ba8398258445051751888e9bba111f800f31b37c447074ca6dce6d54b4dfad6cee5138643d4f6ac045e8047248924e88ea4294c7878bc22c9b41924ce301f22693c33733107bf1ba85e34806c5e4366ea66fc52a5f89dd9bf213239158b3d4d2600dde696c61d76c398b9bf10de9118e812e891c8f3355c0ecc6405f79bc32a58905e37888a1d8395fbedc3ac54eca569f\nTAG: 296a397d280d026fc3627f4718971be9\n\n# Tag truncation tests.\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19", "ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c2\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f3\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f37465\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a8413\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a841386\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84138648\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84138648a5\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84138648a591\n", }; -static const size_t kLen16 = 17493; +static const size_t kLen17 = 17493; -static const char *kData16[] = { +static const char *kData17[] = { "# Test vectors generated from libsodium with this code:\n#\n# #include \n# #include \n# #include \n#\n# void hexdump(const uint8_t *in, size_t in_len) {\n# for (size_t i = 0; i < in_len; i++) {\n# printf(\"%02x\", in[i]);\n# }\n# printf(\"\\n\");\n# }\n#\n# int main() {\n# uint8_t nonce[24];\n# uint8_t key[32];\n# uint8_t m[64], c[64];\n# uint8_t ad[16], tag[16];\n#\n# for (size_t ad_len = 0; ad_len < sizeof(ad); ad_len += 4) {\n# for (size_t m_len = 0; m_len < sizeof(m); m_len += 5) {\n# randombytes(nonce, sizeof(nonce));\n# randombytes(key, sizeof(key));\n# randombytes(m, m_len);\n# randombytes(ad, ad_len);\n#\n# unsigned long long tag_len = sizeof(tag);\n#\n# if (crypto_aead_xchacha20poly1305_ietf_encrypt_detached(\n# c, tag, &tag_len, m, m_len, ad, ad_len, NULL, nonce, key)) {\n# abort();\n# }\n#\n# printf(\"KEY: \");\n# hexdump(key, sizeof(key));\n# printf(\"NONCE: \");\n# hexdump(nonce, sizeof(nonce));\n# printf(\"IN: \");\n# hexdump(m, m_len);\n# printf(\"AD: \");\n# hexdump(ad, ad_len);\n# printf(\"CT: \");\n# hexdump(c, m_len);\n# printf(\"TAG: \");\n# hexdump(tag, sizeof(tag));\n# printf(\"\\n\");\n# }\n# }\n#\n# return 0;\n# }\n\nKEY: 1f4774fbe6324700d62dd6a104e7b3ca7160cfd958413f2afdb96695475f007e\nNONCE: 029174e5102710975a8a4a936075eb3e0f470d436884d250\nIN:\nAD:\nCT:\nTAG: f55cf0949af356f977479f1f187d7291\n\nKEY: eb27969c7abf9aff79348e1e77f1fcba7508ceb29a7471961b017aef9ceaf1c2\nNONCE: 990009311eab3459c1bee84b5b860bb5bdf93c7bec8767e2\nIN: e7ec3d4b9f\nAD:\nCT: 66bd484861\nTAG: 07e31b4dd0f51f0819a0641c86380f32\n\nKEY: 4b6d89dbd7d019c0e1683d4c2a497305c778e2089ddb0f383f2c7fa2a5a52153\nNONCE: 97525eb02a8d347fcf38c81b1be5c3ba59406241cf251ba6\nIN: 074db54ef9fbc680b41a\nAD:\nCT: 1221898afd6f516f770f\nTAG: 75e7182e7d715f5a32ee6733fd324539\n\nKEY: 766997b1dc6c3c73b1f50e8c28c0fcb90f206258e685aff320f2d4884506c8f4\nNONCE: 30e7a9454892ef304776b6dc3d2c2f767ed97041b331c173\nIN: b8250c93ac6cf28902137b4522cc67\nAD:\nCT: e2a13eeff8831a35d9336cb3b5c5d9\nTAG: 62fdf67735cad0172f9b88603b5f3c13\n\nKEY: 6585031b5649fcabd9d4971d4ac5646fc7dca22f991dfa7dac39647001004e20\nNONCE: 705ee25d03fec430e24c9c6ccaa633f5b86dd43682778278\nIN: 9a4ca0633886a742e0241f132e8f90794c34dfd4\nAD:\nCT: 0a8e6fd4cd1640be77c4c87dde4ae6222c887ed7\nTAG: edc4fbc91dfa07021e74ae0d9d1c98dc\n\nKEY: dfc6f7c86a10a319ebcb6362997e585f55b67f3434f47dc4039c2d67973e3077\nNONCE: 6097f30fd75229d928454c7d59a2d2c58bfddcb14c16438e\nIN: 74c946a7f0733377e852a23087506a28dccef86e101a4359c0\nAD:\nCT: 6e8ea0bb4c2f1323841d8e236816c61c3295866b75cefb5c25\nTAG: f16c0e9487ca7de5e7cb2a1b8bb370fc\n\nKEY: 59b8d488773767c4804d918709cfec6c69a193371145bb94f183899851aaadac\nNONCE: ad5bdf8f190ca2d2cc02a75bb62aa22274cb3c98fe2d25f2\nIN: 066b9ed10f16d3dc132b409aae02d8cac209dd9b4fb789c4d34725ab2a1f\nAD:\nCT: 2bbd4542489006df66ad1462a932524642b139ddcbf86b6b480e9e6d976c\nTAG: ca4835419ba029bc57010a8cc8bca80c\n\nKEY: 8c0cb4633cf8dc6b4b9552d1035f85517cb1ba4c36bcbc43338a8c6c7d15ce20\nNONCE: 8418b9655a0376fadefa3cdf8805815c4f7b56f467a74a95\nIN: 50c205a9c5d4088ba8e59a96fcd837f5170669854547678288199f1078ff2a81f0b19a\nAD:\nCT: 8b55a12df1a85dd3fb19c34ab047a85849d15a30225bb5360bad1f0a8f5f2bd49f5898\nTAG: bce13201df6e4a7e6d896262e45d969d\n\nKEY: b45386a75a5772e34bd193e1946f69ebfb90c37ae4581d39c9669d75e4584f50\nNONCE: 9fb763d0926585b5f726af9b8e3babdb331e9aa97f8d99ed\nIN: 64df0e341145d9e4a0d090153591a74893bc36cb9dae1e9570d8fee62e907cf004f9d8a360343483\nAD:\nCT: 3146d8a5c898edd832ec9d126e93b3a433ec97dc47dce0e1985bda88c88c6aeca46fc7d9a68e30ab\nTAG: 44fdb0d69abd8068442cb2ea6df8b2f2\n\nKEY: f2efbd358dd353639a162be39a957d27c0175d5ab72aeba4a266aeda434e4a58\nNONCE: 65a6f7ebe48de78beb183b518589a0afacf71b40a949fa59\nIN: f7473947996e6682a3b9c720f03cfaf26bbcdaf76c83342d2ad922435e227a5d1eacbd9bd6ea1727ec19fb0e42\nAD:\nCT: 778a0fb701b9d671ccfaf1454e8928158ede9bb4395119356a8133036840c1bcbb8fe5e19922fbbcf8b18596e7\nTAG: 9d195a89fdd29ca271405d3330f996f9\n\nKEY: 9dd674fb4a30a7bb85fc78050479ab0e2c3cc9f9f5b8689a7a67413aca304b21\nNONCE: ad9e8fe15940694725f232e88f79cda7c82fe1b8aae58ba4\nIN: 7272bb6609cbd1399a0b89f6ea255165f99330aeb170ac88fccdd8e226df0952407e35718fb5edc9e987faabb271cc69f7e7\nAD:\nCT: 846901650cb38974463a18c367676e1579ebdaf3e96b57224e842f5d5f678f3270b9a15f01241795662befb3db0768800e25\nTAG: 900004db3613acbeb33d65d74dd437d7\n\nKEY: 280cbe7380a0d8bb4d8dd4476012f2eeb388a37b8b71067969abb99f6a888007\nNONCE: 2e1854617c67002599e6b077a812c326deb22fe29d093cbb\nIN: d0901ec3d31ece2832685ff577f383bdff26c31341ea254acee7c5929a5df74fea2aa964524dc680b2f55fbd4fea900e956c304cc4ac3c\nAD:\nCT: 546370726cc63068d3520d67f4f57f65d03b9ecec21c2a8c7b1133089ad28b07025a7181bddeb4a49f514fac1a44f64ee3af33d778fb98\nTAG: 39084e33e42a1b05f58da65ba487d138\n\nKEY: 887564f75afa78f595cdadcea7340d20f5c5a2df169d0ad14b15fe32ce337004\nNONCE: 54c11df13d1f444da80b0964caeb59474b17b23a650a33f5\nIN: f0f008eece79ecb24b715dff8a3456dfe253924b99f98f2f1b18564cced50925fca860d1c2d4785bdf4a964c76c3079efa6b37c4ba2cacc534fb590c\nAD:\nCT: 32bb077268568d569b39e8ccdeeeb447ef424eaa2ffab565209a19b16a25952f897e5405bb0d67d8c9005d1c0b32687164d17fa4d0f412b80414c025\nTAG: 0bac7c0f8dce12917fbd4ed1738ac0cc\n\nKEY: 21c6aa88eb1a320d251f71a4b312ca75347040990d869a1dd2a1982c30fda2c7\nNONCE: 7dead2f1a3d9d45a9124a40efe8994300976991a4417ef4d\nIN:\nAD: e1bf7de4\nCT:\nTAG: 341e9d0687006f981bced2f985f953e6\n\nKEY: 0c97b9a65ffcd80b8f7c20c3904d0d6dd8809a7f97d7f46d39a12c198a85da5d\nNONCE: 1f2c1dbc5f52fc9c8f9ca7695515d01d15904b86f703fba3\nIN: ecaf65b66d\nAD: bd8a6f18\nCT: 8d1b2b0e38\nTAG: 27a7c7ac8bda627085414f0f31206a07\n\nKEY: 4ab5e3595f39c4379a924e5f8ebcf3279075c08d18daff01d9ddfa40e03faf12\nNONCE: 94e6ddc294f5f1531924ec018823343ebcc220a88ea5ee33\nIN: c91b73abe5316c3effc6\nAD: c576f6ea\nCT: abe960fbc64b339c53b1\nTAG: 7ebae48a2ff10117069324f04619ad6f\n\nKEY: a1e6146c71c2ea22300e9063455f621e15bd5bf1a3762e17f845e1aba5dd5a9c\nNONCE: 82ddb6929abff8a9ad03dfb86c0bb3e7c092d45ebfa60a1b\nIN: f011f32ccc2955158c117f53cf7b12\nAD: 5d14bc05\nCT: 44592321c665f51e9ffea052df1fea\nTAG: d556798b97f9b647729801419424affc\n\nKEY: 7a1af30362c27fd55b8c24b7fca324d350decee1d1f8fae56b66253a9dd127dd\nNONCE: 61201d6247992002e24e1a893180d4f0c19a3ae4cc74bf0c\nIN: 5c7150b6a4daa362e62f82f676fdc4c4b558df64\nAD: 00c49210\nCT: 27d9e2730b6809c08efbd4b0d24639c7b67486f3\nTAG: 5889fdee25379960038778e36b2cedb2\n\nKEY: 0b3fd9073e545ac44a7967263ead139c9547f7a54f06228fd3c8609fa2620784\nNONCE: 6450e1097d6f9ea76eb42e8e65972d501041c3a58baf8770\nIN: d679ae442b0351e5bff9906b099d45aab4f6aea5306a7a794f\nAD: 318d292b\nCT: a3f9ee45316d7b0f948a26145ee4fd0552bc6dc25e577e777a\nTAG: 0068a401a194b8417ec0e198baa81830\n\nKEY: 047c7d378fe80c02ee48df6f679a859253aed534fdcdd87023eb3d2f93fcafe3\nNONCE: ed240b0ff6f8ac585b3ea1ab2dab8080fc2f6401b010c5d0\nIN: 7288afb4e0fa5c58602090a75c10d84b5f5f1c0e03498519afe457251aa7\nAD: e4310302\nCT: 87906b14ca3e32ab01523b31ae0bb74590ce9e1df0811e743a2c7a93415a\nTAG: 3a0abeab93792b1ffe768d316da74741\n\nKEY: 1ad4e42acc5dfd07eb0a2456e9103cd0e150a36c667eb2f2b73c0d1ac1089ce3\nNONCE: 48efb52387284c5d38b4940c75f0c39a3f81f60bfebb48cb\nIN: da7edb5b3193b4484f09efa85fcf85600968ecdc537d3829a469c866ee67b0df677866\nAD: 446be8e3\nCT: b76457ca99e95b6539b12f1d6bdac55a6d5c6469b1ff274459363ec05241f7e6e5d3ce\nTAG: 06880ee508ce929da5a81f8b9de0031c\n\nKEY: 702a554c1b703d4dd69ad51234293ab787a01e15bdb3ce88bf89e18c01a67164\nNONCE: ea535d9c371241b9850b8b4a596b63db79eea60bd2cd9fbb\nIN: a97156e9b39d05c00b811552d22088d7ee090a117a7f08adac574820d592021f16207720d49fb5fd\nAD: ba5790e3\nCT: 8d0b2b04479c33287096f0c6276a73f6c037edc1a2b28f8d3b2b8e6d4c5f9dc5113309dd3ecb15e6\nTAG: 3cf303305e12924d29c223976699fb73\n\nKEY: 1bb7303fefa4d8d344bb9a215901b2314324bf1f3aeb9df5d1c1532c3a55ebf1\nNONCE: a304551e5f0dc98995ddfee6215a9995023a3696debfd302\nIN: 6cf6819ce3e7ed9d4f85f4a5699701dbcaf3161adc210c0b7825ddfd83d6d7c685db62f68b3801ccc8a786066d\nAD: 901c5feb\nCT: bc5ef09c111f76e54f897e6fce4aee1d25b6ed934f641ed5262d0c5eed45f610a6aea3b58b7771e34256d43a16\nTAG: b83f73f7995ba1b243dbf48ddfeb8e3a\n\nKEY: 24b294f6cbac10d87158d1c6aca83b337d596132afac7633f69a3b3e58823f11\nNONCE: 805772ff619cc6fcc5ec0e9965435d6f74a2290c055ec754\nIN: 65e8581286868caabcec1a9814db00b805edc660b94ee3babc6ce19a3ca868bd322105484d59b4ce02ced4071bc16642a1f2\nAD: 7ae1", "c561\nCT: fe1d463b1466e8e411f0b0700f90760472ee5141f3e5afef43fd729f1623dca75cd4d00576765b335f8b2b77b00527599cb3\nTAG: 111d8540fd5ec04b9ba16ed810133026\n\nKEY: 38e63e8b6402ac3f6d1641a1e3b74d2074be0fe41129975a3ff62b74ca52af05\nNONCE: 228d671b036710cbdaa72e9bf1d9ed6982b0bb3428a69fd6\nIN: 20a8d18878924d09aac32853c10e73dbd741134b7050ae6999839f2dbc727cb0052b5497c4bbd2a89e716278f15c81b871953614a49693\nAD: e9e6ac73\nCT: 80e0fe8eb26e5df229c6d939c944d440a37aa3cabf76eab5b9a420095513021ea4241ab367f6f44a20817b14631549ae6c96aa963970e1\nTAG: 1e80fbafcc7168e0494fce4cd76d692c\n\nKEY: 4325dd8406fdb8431a81f1b5db3603995256de36121019724cca2190c87a6e83\nNONCE: dcbf3077b36d5d678d668fd2d0c99284c780b55c4658ea75\nIN: 4f599ad04f79be9add10fdc649b8be53e1062ea5e9c2bed22265dc6fb30d5ab4fd4425b38ff14d8e68013405bec1eff8c9ef3069902e492aac73dcd9\nAD: 6fa0d757\nCT: 7decbdc7043495c59ecc64e720436bb0708b586a46f8745f74391477f5a2520905dfcebc3765a330999013d309dfaa997bf70bab6a0b8f4f2a2a3cdf\nTAG: 051ec4ecce208d9be0cd17f434e13be3\n\nKEY: 2d3d9ed4bc9eb9668733bafbb73e88be2cd17021c3a23be69b981d9f0df71df1\nNONCE: 84cae69639240c82b58895997511f145e474ebe1b008f391\nIN:\nAD: 64db597c26a4c3da\nCT:\nTAG: 2a22c4a962d46a719014ab7b0ffaf6d3\n\nKEY: 09ec4e79a02db53b19b54dd2d3592afc92c74ef57d1e0f51f3726a6631b1b73f\nNONCE: 2907ced16e0777fedb1e2de30df11b3fd712af41dd714a4b\nIN: b6e50cd4ea\nAD: b5488e9b7f339b7b\nCT: 0163e75330\nTAG: e29401c6d756adcc516580ae656852aa\n\nKEY: 9d5ac25a417b8a57b85332979e8a7cbad23617bb27772bbccc2acb0acae7b755\nNONCE: ff152421688dd6af7fef87817b508493a32d97a06fbda4f3\nIN: 92f4b9bc809be77e6a0d\nAD: 892b793f7a6e0727\nCT: bcc594f59de8ee8c22c6\nTAG: 1a8275816c0d32a1b6cfd41fa3889558\n\nKEY: eccf80c5f744d2ecc932f95ade0d9fe9327e19795023db1846d68d04720a2401\nNONCE: abc050fad8876589633b222d6a0f2e0bf709f73610aa23ee\nIN: 45a380e438405314510c166bac6840\nAD: c32c9a1ce6852046\nCT: 9fa452dc9ca04c16ff7bde9925e246\nTAG: 3d5e826162fa78de3fc043af26044a08\n\nKEY: b1912d6bc3cff47f0c3beccff85d7cd915b70ab88d0d3a8a59e994e1b0da8ac8\nNONCE: d8756090a42eea14ff25be890e66bfe4949fad498776ea20\nIN: e2f85df2ebcfa6045bd521abfe8af37fc88a0be1\nAD: 4576bb59b78032c8\nCT: 5eb6324aa48e0a4f72f5cb0a4917faf93af4209c\nTAG: 774f8077f039588495045fee07950e14\n\nKEY: 85162b111c9f3163f57c2cbc311a1e9aeed9dd6136b5784bc9c0b5052f8bffbd\nNONCE: 23cdb8b546bb8a5a746b24446f0ab4199f0543d915ff51f1\nIN: dc81000077d5743beef09ac91663885d984212bbccf3dbe6f3\nAD: 3084f3e9c4d0a15f\nCT: 692d17ae0b524ec6edc0cf49b69ac90c99bed44691f7ae63b7\nTAG: efe72ff84b3bccb4d83a27ddc574bc21\n\nKEY: b05ca358d8ca79f51283d83e2673bfb741c379ba271a773b8dd9c6a108e758d3\nNONCE: 9a53ad79f535c6e9da011463063c896f2ec7645e6e3548fc\nIN: 44e793742c774020e7349c996418042dc0dc30ee2bfd2654008c8929a436\nAD: 71ab5948c5e0f4c6\nCT: c5eddb7aeaa175b5f3dab68cf746f2acaf56fc62b29804629e25e2d63879\nTAG: bec3b7a8b8dad22ff3d14d26273294d2\n\nKEY: abb5136a01354c765a96e832df58bec3b088bd19dc4d6bd6674f2f02007ebdaa\nNONCE: 71267ac9f4fe5caa1d52cd85948a170a778f0141d54dbffe\nIN: afb526fe41c4e2a767ce77c4145b9d054268f5f3b279237dec97f8bc46f9d158868b86\nAD: 047baa2b04748b62\nCT: 0032d4c1e65da2266539464c5d3c2b1618454a6af0e7f1e3cfc87845c75f2f4ae8b03f\nTAG: b526a95a33f17ab61f2cdfc1e2dd486a\n\nKEY: bb826ed38008a0d7fb34c0c1a1a1149d2cad16b691d5129cc83f5eff2b3e5748\nNONCE: 4e02fe0915d81e9d5a62e5b3551b9db882e3873c0aaa230d\nIN: 20270d291a8d9791b0f5e35a64387bb4237bad61169841d7e1667c994ad49869c7d5580ffa752a2d\nAD: db852a275081e29b\nCT: d740012efb7e1bb986ce2c535134a45f658b92163c109bdecf1ce5b836879fe9e006a56be1fac8d7\nTAG: 21e931042e7df80695262198a06286c9\n\nKEY: 938d2c59f6f3e2e7316726537932372e05e8c1b5577aae0ee870bf712ff001ab\nNONCE: fb4d71cf7eb2f70df9759a64c76a36b75203f88bf64f4edb\nIN: 8910415d674a93c54c8f5e4aa88e59648d9a0a5039a66837d58ab14f0665a5f6d9af9b839f9033d0fe8bc58f19\nAD: a3fca278a63bf944\nCT: 1905c6987a702980b7f87f1ed2d3ae073abe1401b23434f3db43b5c37c979c2068ce9a92afedcdc218003848ea\nTAG: 1bd712f64777381f68be5ccc73f364a3\n\nKEY: dd0521842f498d23236692a22db0eb2f0f14fef57577e5fb194503e206b0973d\nNONCE: 519e0eee8f86c75c7a364e0905a5d10d82073e11b91083a5\nIN: 61ff13acb99c5a7fd1921ec787c8de23c1a712ff002b08cecc644a78c47341eab78e7680380c93c7d53d5e56ef050d6ff192\nAD: bb5c4e5ae8f7e461\nCT: 9bfdb0fd195fa5d37da3416b3b1e8f67bd2a456eb0317c02aabf9aac9d833a19bda299e6388e7b7119be235761477a34d49e\nTAG: 0f0c03b8423583cb8305a74f622fa1f9\n\nKEY: 189bd84be3fb02723539b29cf76d41507c8b85b7217777ee1fb8f84a24aa7fee\nNONCE: ef1bf39f22ba2edf86853505c24fafdf62c1a067963c63ba\nIN: d5f96e240b5dd77b9fb2bf11c154fcbff312a791c3eb0717684e4fd84bf943e788050b47e76c427f42f3e5344b2636091603ba3b1d7a91\nAD: 93368a8e0900c7b6\nCT: c55a8b7f587bee4f97514582c5115582abffd6312914d76c2568be6836f62ba098789ed897c9a7508a5dc214bf8c218664f29941ccdfd6\nTAG: 78f87352dcb1143038c95dc6e7352cfd\n\nKEY: 23a2dbfcd02d265805169fa86e6927c7d49c9a24d2707884e18955e32dafc542\nNONCE: 305c7851f46f23ea8d832d5ed09d266714fd14f82ba0f69c\nIN: 224de94a938d49cad46144e657e548bd86690a1b57b81558095eace59df1c552600dea389aaa609304fbc1eadf2241f2118c8bdf04522e1898efe1d4\nAD: 0075b20502bd29b2\nCT: 8e10c59369bbb0d72958100b05788498f59588795e075b8bce21d92d320206348b04010ced9b8cd3d651e825488915ce4a6e4f1af2f4d2f77b955376\nTAG: c39f0595ae8112dea6ef96df1c12458b\n\nKEY: 264e3c3f47bdf795cdde57d9a30be5a4da8b18463c0e3e05df28b7bf4e56410b\nNONCE: 3ee09b6e205c261bf48ac53a9ba0afa460a5d5c0f2d80be8\nIN:\nAD: 8eeec09d8972cb8ab0069554\nCT:\nTAG: 245a034d84edab9fa6f0decb6b984766\n\nKEY: d8ba98a272b5f91797b04b114311c3b92b7f2e3bb72edb7f78ed311b9f8ea2ad\nNONCE: 481de9a06eee76a501e3c2b9d7423d90596193ad9d8a6564\nIN: 9ee1a3134d\nAD: 928653701f6d6c8429b08c0d\nCT: 459a07898f\nTAG: 9188ec8d8e3bd91dcfda48fcc76773f7\n\nKEY: ac9afd627a745df682bb003517056f07876eb94d2f8c610c61b6ac0d34ec4ec0\nNONCE: eaae7b8704530db1e8c3dcc968a00604a333c7c27ba51b16\nIN: f7c3f6ee2e9c03394dc8\nAD: 796620b367d5f041821baf69\nCT: d4a69005790cc91d8d34\nTAG: e4c83def113afcf83a1ea8cb204a0eae\n\nKEY: ea1a07c1fd60a5421f1fb6c43b4318090e290c97aa3bfa037e6fc5ee00fd47d4\nNONCE: 37327805cce92b38a669affbca1de92e068727fcf6fbb09a\nIN: 7002ca765b91913ee719e7521ef5ac\nAD: 64e7c48fc3041eac0734737f\nCT: 9d8857a8c52a9ab3bf44b024b191b6\nTAG: d072c31714a7d0fe1596fd443a96e715\n\nKEY: b3beb34fe0229fc8f49b354e941025bde6a788f25017a60e8a49591ed5d7e7da\nNONCE: dd0e9fec76de1f6efb022b12164f7e9248b8e8c01d14ac02\nIN: acf360d7529a42be1f132f74745a940da9e823f2\nAD: 1489ca8d852f0a8547dbe8bc\nCT: 2e8718372d6e8167213cf112dc41c80377244f5a\nTAG: e4f31e8f84b9356999dc60989009e698\n\nKEY: 9357cecd10bab8d2e42ed88c0386204827c3b76e9e51150d09fd4e3b4e0e1e6f\nNONCE: 81f2106a5379e0ed861cf76b3cf95afb17515478b5cbcae9\nIN: ee51a0f25d091288b5e2b91ad11d491329e48b35a18a3a8685\nAD: b80cb677f4b409cd1537363b\nCT: f681f19fa8de1fdea3538001a46f30fa6333b76d6439337e68\nTAG: afad5e6d282d9df6d8119c32237b3e60\n\nKEY: 9f868600fbf81e40398b7dfb201fcae35d34bba10908860b0b2bf8b942b4e8fa\nNONCE: 2ddcc13c97185614095d437900b8c0a9170e0a4a50e46ba5\nIN: 133fa3ac176fee6df67472752e41c6834f13300c0064ff5b190f903b7ac7\nAD: 0d61321fbee8bb1f3f5cb454\nCT: b93abb311ec0bf018dc300c7d511b42ade72780373186e231820b44f22f0\nTAG: f8bd2f649a337783ff911e37966037bd\n\nKEY: 05affcdfce0a28539924370db8d80a78b835254778ec41acbff52bfab092fa33\nNONCE: 3edaeb185f7273b1a7cccba54f84c5f7d6583433b49d3694\nIN: 7657581faad266cc1037962a380c8aa5306f88000427d0a05397696b503790ad2643c6\nAD: d7c213e9e6f4a40f3e5b662c\nCT: 5eb19080aadc89f2329da4f5c41dc60568651c424c1b05d827f2bfb8dbff42c5a08224\nTAG: 2da20087b5674f0b967d1baa664bbd82\n\nKEY: 645ed60ec74ddfe1f02694792db4436c262d20405d8645cd9755d64876219799\nNONCE: d83665b44c1fdf567299f2b8501e9c0e7ae2dda0bb8f2c82\nIN: ceee69d32ad4667a00909964d9611bf34fd98be41ad7f0feaaaff8169060d64cf310c13bcb9394cf\nAD: 57379f8f44191ec9cf3b1a07\nCT: 4496a0666f0f895ebce224b448a04502f2ae7b354d868b7c54295bf051162e82c530c767d1ffd2cc\nTAG: 1ffc56da4fb961ffdfabe66d82ec8f29\n\nKEY: 06624c9a75bb7dbe224a3f23791281f53c40b407a14161a3f82f34924623dc02\nNONCE: e647b8b4739bf542a81d72d695e1cd6ba348fa593987ac47\nIN: 2658763f8d70e8c3303582d66ba3d736ce9d407e9507f6c6627e382d0144da157d73d0aee10ef034083cdd9013\nAD: 75536443a6c2189a57d553bb\nCT: 305cab5c2f9a6edccac307d6965febe3c86f2a1e31ac8c74e88924a10c2a29106bce980c803b7886985bba8ec5\nTAG: 8c12bb58c84175b9f601b704d0f8a25c\n\nKEY: 63aeb46083100bbcc430f4f09bcc34410df9cfd5883d629e4af8645ffabb89c2\nNONCE: b09830874dc549195a5d6da93b9dcc12aa1ec8af201c96bd\nIN: 1b3c9050e0a062f5a5cff7bec8706864c", "f8648142ec5cb1f9867ace384e9b2bba33aab8dc83e83b2d2fac70cd5189f2b5ab5\nAD: 7dcc05b0940198bd5c68cdf1\nCT: d8b22e5d381de08a50b163c00dbbca6c07d61c80199cebd52234c7bd4f7ed0a90d47ef05617cdb8e3f782875ae629c0f0ad6\nTAG: 194077f0e6d415bf7307d171e8484a9c\n\nKEY: 4826c1bf8b48088fece4008922173c500ff45790f945b1027f36110da4fecc92\nNONCE: 3a78fc7397944d762303b0a75974ac92a60e250bf112600a\nIN: d26e3a2b92120ff8056bb992660cc8a2364792589c16a518b8d232b8184aed05ba8d4fd0b2ad2b928cd873e11905a21ffece5f1e63c974\nAD: 904d2cd3e50f7bfb9352f142\nCT: 21f4cf679662fad36f57945fc0c0753c3791261eb58d643278dfe1f14bfb585c5a01370ba96f18dc3f6b6945a2c6997330b24f12f5219a\nTAG: 95397c54428f9d069c511b5c82e0151c\n\nKEY: ec526c03d8a08e8a63751112428a76399c399e8b83d98c9247c73164805ac8fe\nNONCE: 2cc1a6ae89c2a091415fa2964b44a0e5da629d40d77b77f1\nIN: 567377f5b6df5442e70bc9a31bc450bd4febfcf89d7ca611353c7e612d8b7e36e859f6365ec7e5e99e9e0e882532666dd7203d06f6e25439ed871237\nAD: 35575b56716868b66cd21e24\nCT: 6b738274fe974438f1f5fca8ef1ee7df664f1e72bc54ccd3fb58c4a3df67ef9a73261df41ffe9c52aeafc8be4f6524baf9efb1558d4a57defec7bee3\nTAG: 92599d4b14a795e8c375ec2a8960b4dc\n\n", }; -static const size_t kLen17 = 98266; +static const size_t kLen18 = 98266; -static const char *kData17[] = { +static const char *kData18[] = { "# RC4 tests (from rc4test)\nCipher = RC4\nKey = 0123456789abcdef0123456789abcdef\nPlaintext = 0123456789abcdef\nCiphertext = 75b7878099e0c596\n\nCipher = RC4\nKey = 0123456789abcdef0123456789abcdef\nPlaintext = 0000000000000000\nCiphertext = 7494c2e7104b0879\n\nCipher = RC4\nKey = 00000000000000000000000000000000\nPlaintext = 0000000000000000\nCiphertext = de188941a3375d3a\n\nCipher = RC4\nKey = ef012345ef012345ef012345ef012345\nPlaintext = 0000000000000000000000000000000000000000\nCiphertext = d6a141a7ec3c38dfbd615a1162e1c7ba36b67858\n\nCipher = RC4\nKey = 0123456789abcdef0123456789abcdef\nPlaintext = 123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345678\nCiphertext = 66a0949f8af7d6891f7f832ba833c00c892ebe30143ce28740011ecf\n\nCipher = RC4\nKey = ef012345ef012345ef012345ef012345\nPlaintext = 00000000000000000000\nCiphertext = d6a141a7ec3c38dfbd61\n\n\n# DES EDE3 ECB tests\nCipher = DES-EDE3\nKey = 2eaf97304cfaeb822c04a7b7bef328c7b82fef2ae81b06b5\nPlaintext = b3ed255d4f5e2d6d9a1aa2bc03489064d28fe1431eceee183b7231fad3273140\nCiphertext = 629d608789e51dff699343d061ec01d94c0681c7698ab617ea0145f37304c8e2\n\nCipher = DES-EDE3\nKey = 72f52e1ded0a88eac6c88d2901b27c2fd6e9f3f3387432ee\nPlaintext = 60de7b5667a1ad5995f178553d695d9b0fb537562876faa9b6cc50d05a1271ac\nCiphertext = 09875b215ed2499318c2d99c48209ca5f288830cc6edb9538190fa3ca31fa175\n\nCipher = DES-EDE3\nKey = 4cd30f1e14d485dbc05c69b65ebf44e556056a2261c9e714\nPlaintext = 7ae59441bbd665d8867273386fc72a8cd62cc5bc6bb7cbd57fc1f5dcdc73adfd\nCiphertext = 004d0daad970bfee944c8779927867b964dd0afaae7a830c2b8e7fdcaeac2158\n\nCipher = DES-EDE3\nKey = 7a07ac63adfaf1b26860ce39edfc402758bc4d1edda156ab\nPlaintext = ed4f18cf10bfcbd4354710df053d3e2b776860137349471b8dcf526b8eea8b22\nCiphertext = a1fc1014abda7e198ac8e096a368f65d9b59e1eddf5d97715015a2408dd8e799\n\nCipher = DES-EDE3\nKey = 37c443ab336fed59b0efae51ea7f5d07b7040868beefcd99\nPlaintext = a10a180cc94b75fc9d6556dfc0a816b71020dc3906f9d59d9dd4c839dfc1c1d3\nCiphertext = 0a874652b621618635138a7d4b33bb624f91a39ef1422b3e0490311ac6df3602\n\nCipher = DES-EDE3\nKey = 1ff1a7f4839d484e308d9b8c2c052b126def413d5fb8e0c5\nPlaintext = 4f28ef6683d36c80556ff240b247a3967aec23f859e3afb93aefad93b1e9964b\nCiphertext = 87a8f3fb4c51b3caf19c4ac51363d92025acc053e538c1502d347a618314a4bd\n\nCipher = DES-EDE3\nKey = 5642c4d1859a85b342e3f253fd8bd835e856c451e63673e5\nPlaintext = 687af9b298db752b47982f64ad9bff52a9ae487aa5e5c08f902035b0633225bf\nCiphertext = ca2ed48392ba5d70879ac8772180c3028ef946b6ac1df0348f206ce16bc449bd\n\nCipher = DES-EDE3\nKey = 30f9d27472f9deee309dbca76ba29ca174c39d0631084735\nPlaintext = 85db2c266902932c8e46d0207459b203f90955adcd7506b49bc82e2796de764f\nCiphertext = bbb5940b45add7c587cc9fcfc40674bac7e081baf71285891c65ed9573947a07\n\nCipher = DES-EDE3\nKey = ebc5a73005b77a812c3f4f61669ba859939852580fa61cbc\nPlaintext = 808d22c60b883a986dcb0860e8d92a75441cca0a2a4b06dd78dbcbec198b38d9\nCiphertext = 75d39d30862431ab07227e22b4c8218f1fbc2a3816daebc555c1b999c86d15c9\n\nCipher = DES-EDE3\nKey = 2e8eb05dd8a2b7a5a61a6b8a3830b12da2c4b1bea1e884d5\nPlaintext = cc7569d005afd1a365f5c5836c14475fc15091199902af4a78460d56c16f91ca\nCiphertext = 64db8af7a30363051a017cc92ed67ac6c0e2e1ffda0c94bbf0eeb803ba6b3d22\n\n\n# DES EDE3 CBC tests (from destest)\nCipher = DES-EDE3-CBC\nKey = 0123456789abcdeff1e0d3c2b5a49786fedcba9876543210\nIV = fedcba9876543210\nPlaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000\nCiphertext = 3FE301C962AC01D02213763C1CBD4CDC799657C064ECF5D41C673812CFDE9675\n\n\n# DES EDE CBC tests\nCipher = DES-EDE-CBC\nKey = 0123456789abcdeff1e0d3c2b5a49786\nIV = fedcba9876543210\nPlaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000\nCiphertext = 7948C0DA4FE91CD815DCA96DBC9B60A857EB954F4DEB08EB98722642AE69257B\n\n\n# DES EDE tests\nCipher = DES-EDE\nKey = 0123456789abcdeff1e0d3c2b5a49786\nIV = fedcba9876543210\nPlaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000\nCiphertext = 22E889402E28422F8167AD279D90A566DA75B734E12C671FC2669AECB3E4FE8F\n\n\n# AES 128 ECB tests (from FIPS-197 test vectors, encrypt)\nCipher = AES-128-ECB\nKey = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 00112233445566778899AABBCCDDEEFF\nCiphertext = 69C4E0D86A7B0430D8CDB78070B4C55A\n\n\n# AES 256 ECB tests (from FIPS-197 test vectors, encrypt)\nCipher = AES-256-ECB\nKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\nOperation = ENCRYPT\nPlaintext = 00112233445566778899AABBCCDDEEFF\nCiphertext = 8EA2B7CA516745BFEAFC49904B496089\n\n\n# AES tests from NIST document SP800-38A\n# For all ECB encrypts and decrypts, the transformed sequence is\n# AES-bits-ECB:key::plaintext:ciphertext:encdec\n# ECB-AES128.Encrypt and ECB-AES128.Decrypt\nCipher = AES-128-ECB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 3AD77BB40D7A3660A89ECAF32466EF97\n\nCipher = AES-128-ECB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = F5D3D58503B9699DE785895A96FDBAAF\n\nCipher = AES-128-ECB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 43B1CD7F598ECE23881B00E3ED030688\n\nCipher = AES-128-ECB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 7B0C785E27E8AD3F8223207104725DD4\n\n\n# ECB-AES256.Encrypt and ECB-AES256.Decrypt\nCipher = AES-256-ECB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = F3EED1BDB5D2A03C064B5A7E3DB181F8\n\nCipher = AES-256-ECB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 591CCB10D410ED26DC5BA74A31362870\n\nCipher = AES-256-ECB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = B6ED21B99CA6F4F9F153E7B1BEAFED1D\n\nCipher = AES-256-ECB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 23304B7A39F9F3FF067D8D8F9E24ECC7\n\n\n# For all CBC encrypts and decrypts, the transformed sequence is\n# AES-bits-CBC:key:IV/ciphertext':plaintext:ciphertext:encdec\n# CBC-AES128.Encrypt and CBC-AES128.Decrypt\nCipher = AES-128-CBC\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 000102030405060708090A0B0C0D0E0F\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 7649ABAC8119B246CEE98E9B12E9197D\n\nCipher = AES-128-CBC\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 7649ABAC8119B246CEE98E9B12E9197D\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 5086CB9B507219EE95DB113A917678B2\n\nCipher = AES-128-CBC\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 5086CB9B507219EE95DB113A917678B2\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 73BED6B8E3C1743B7116E69E22229516\n\nCipher = AES-128-CBC\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 73BED6B8E3C1743B7116E69E22229516\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 3FF1CAA1681FAC09120ECA307586E1A7\n\n\n# CBC-AES256.Encrypt and CBC-AES256.Decrypt\nCipher = AES-256-CBC\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 000102030405060708090A0B0C0D0E0F\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = F58C4C04D6E5F1BA779EABFB5F7BFBD6\n\nCipher = AES-256-CBC\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = F58C4C04D6E5F1BA779EABFB5F7BFBD6\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 9CFC4E967EDB808D679F777BC6702C7D\n\nCipher = AES-256-CBC\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 9CFC4E967EDB808D679F777BC6702C7D\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 39F23369A9D9BACFA530E26304231461\n\nCipher = AES-256-CBC\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 39F23369A9D9BACFA530E26304231461\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = B2EB05E2C39BE9FCDA6C19078C6A9D1B\n\n\n# AES Counter test vectors from RFC3686\nCipher = AES-128-CTR\nKey = AE6852F8121067CC4BF7A5765577F39E\nIV = 00000030000000000000000000000001\nOperation = ENCRYPT\nPlaintext = 53696E676C6520626C6F636B206D7367\nCiphertext = E4095D4FB7A7B3792D6175A3261311B8\n\nCipher = AES-128-CTR\nKey = 7E24067817FAE0", "D743D6CE1F32539163\nIV = 006CB6DBC0543B59DA48D90B00000001\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\nCiphertext = 5104A106168A72D9790D41EE8EDAD388EB2E1EFC46DA57C8FCE630DF9141BE28\n\nCipher = AES-128-CTR\nKey = 7691BE035E5020A8AC6E618529F9A0DC\nIV = 00E0017B27777F3F4A1786F000000001\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223\nCiphertext = C1CF48A89F2FFDD9CF4652E9EFDB72D74540A42BDE6D7836D59A5CEAAEF3105325B2072F\n\nCipher = AES-256-CTR\nKey = 776BEFF2851DB06F4C8A0542C8696F6C6A81AF1EEC96B4D37FC1D689E6C1C104\nIV = 00000060DB5672C97AA8F0B200000001\nOperation = ENCRYPT\nPlaintext = 53696E676C6520626C6F636B206D7367\nCiphertext = 145AD01DBF824EC7560863DC71E3E0C0\n\nCipher = AES-256-CTR\nKey = F6D66D6BD52D59BB0796365879EFF886C66DD51A5B6A99744B50590C87A23884\nIV = 00FAAC24C1585EF15A43D87500000001\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\nCiphertext = F05E231B3894612C49EE000B804EB2A9B8306B508F839D6A5530831D9344AF1C\n\nCipher = AES-256-CTR\nKey = FF7A617CE69148E4F1726E2F43581DE2AA62D9F805532EDFF1EED687FB54153D\nIV = 001CC5B751A51D70A1C1114800000001\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223\nCiphertext = EB6C52821D0BBBF7CE7594462ACA4FAAB407DF866569FD07F48CC0B583D6071F1EC0E6B8\n\n# Regression test for https://github.com/openssl/openssl/issues/1916.\nCipher = AES-128-CTR\nKey = 7E24067817FAE0D743D6CE1F32539163\nIV = 00000000000000007FFFFFFFFFFFFFFF\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\nCiphertext = A2D459477E6432BD74184B1B5370D2243CDC202BC43583B2A55D288CDBBD1E03\n\n\n# AES GCM test vectors from http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf\nCipher = AES-128-GCM\nKey = 00000000000000000000000000000000\nIV = 000000000000000000000000\nPlaintext =\nCiphertext =\nAAD =\nTag = 58e2fccefa7e3061367f1d57a4e7455a\n\nCipher = AES-128-GCM\nKey = 00000000000000000000000000000000\nIV = 000000000000000000000000\nPlaintext = 00000000000000000000000000000000\nCiphertext = 0388dace60b6a392f328c2b971b2fe78\nAAD =\nTag = ab6e47d42cec13bdf53a67b21257bddf\n\nCipher = AES-128-GCM\nKey = feffe9928665731c6d6a8f9467308308\nIV = cafebabefacedbaddecaf888\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nCiphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985\nAAD =\nTag = 4d5c2af327cd64a62cf35abd2ba6fab4\n\nCipher = AES-128-GCM\nKey = feffe9928665731c6d6a8f9467308308\nIV = cafebabefacedbaddecaf888\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCiphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091\nAAD = feedfacedeadbeeffeedfacedeadbeefabaddad2\nTag = 5bc94fbc3221a5db94fae95ae7121a47\n\nCipher = AES-128-GCM\nKey = feffe9928665731c6d6a8f9467308308\nIV = cafebabefacedbad\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCiphertext = 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598\nAAD = feedfacedeadbeeffeedfacedeadbeefabaddad2\nTag = 3612d2e79e3b0785561be14aaca2fccb\n\nCipher = AES-128-GCM\nKey = feffe9928665731c6d6a8f9467308308\nIV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCiphertext = 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5\nAAD = feedfacedeadbeeffeedfacedeadbeefabaddad2\nTag = 619cc5aefffe0bfa462af43c1699d050\n\nCipher = AES-128-GCM\nKey = 3de7b368783bd7287f2b9b731814c876\nIV = 90dedcfff100eb1f1db9d935\nPlaintext = 8d766795cadc0961c0f448c62df3827eef3a8664599b3adbaab0cfd63875bceb8f992b4f7447dca10ddd716aa0bc4fe925e1aa3e3fd1d5c430c650fe3546d6b9a24d576a857c5f04e8c0a3b149df277aa19cfa64ee235891d3b8ec0e840d268b1e70dd8a4bf97628a0c7aea38aa21eeb8fb1a8437f2abfee05e0d2c30659e312ec03d30da51b7c19073a2341c17df806e27e796d581143d39e4de8d3f8d46aa6d6fc1a98d94fa69b92dab751d930cc12de21fb1a7468af09e3c12ff6c3db3967d10cf140bc46f17a16e24b010b6cba5ebf777341c52042596ee53008389c48d9690ab9f5625795c3e588f72f7a1670b2b25a9f4eee1c8845ac90f1bf47ae4ea4b607a50aca88ed304cbb700d02d5486139b0bc81ec042e574abf986972fa008b83ef22dbfe720c2f2f6355c87c975932cec545ebed657e5e7570c503e9aa7f0b87d0b2648e421ed1d34749637c95d1e931af8925236387e50454f0ba2e22ed05f90450fad46f4eb7ddb08656511dd065c0f852a7e42f618a961a6c6bec42226c6b6043580b009ec9837cf99844cb74794a82c269ff648e0bae9ae50256a0ad98ad9f5a35057b3004ac96f469f9ee966dadc16dc47616586cf242706df96bb2f7ee43d3bd1c65d2eac7b82ef242e77ab509afb9639e5f3995380e926305729ca762c487f4411ec2a9c688b8347e5287216dbb38c3fe2281a89fcb47ee2ee7ddf79bfa3ab61cd56a00981019bbcea8aa0444eb75958e5fa56ea0036d2de4950a7db886f4a318b433bd41e00905ab158171e0ef13172293bdf70064b9dc7b243bf9dc927589bf9e99468d1cb330639dbff1850cc51929b8971b0b2ede9d06bc5f6ba39d4551b587f09bf6f8206e8f1524f55714612581d6aa45d8fb83425f84a736576deeecafdcbfbb8670d14cd2ab2a7f8b7f374c07881b7bac2605fd5ff7ff7cf43e30cf49910961a9079c0343b8601be8c3e9fe38f49fdab0b7e1a8c1536cf84e4d80d26ae5ec37570839b5cda02929221898d611525c3a88fc444167ffc532b256cdd0a8f31ff08097d75b629fab99c9e1062d1d9962b211e15ec8709934029c4934e64db8d7a2f32e23dc541be306e9a57a3419115994cbc3a8f8d5ea2a6f45b9ea9ac0e51ed0c6680fa029f4552a6c8665aab00ab77928342e7284c321e9500ad4774ef1fed0f596d5aea371fe1793271aef38cde55547f34701a525526e83a72673385a85f44db511bc87ce1f831fc6ccf8204ca4f4a20eac09897aae93684f14ede21bcaf40a09c08012b92600d6a839ebdf8bdca7b34192c6c50bad8796b3be3c375dbae6217815d2c75cc878d39b4e842d4eaa5f5df2242cf230e44a240e18e47827f089b18bf880fd41a2516eac8e6ba3fc2db64a4bc28789860d7b18d9edeae8b3059f4d945b15d0ee27b1f74842dd1df117fe83a8fdade23a47c93902eedc4d33f2dbfcd1996e6dc1458409fde2302830e8d44c58c5ae67486b9950dd938f14c38bc4c9484fdc4ded93a0f90875773453fc14d428cd6e7beb0c705d61229d2b3df09632ebb30b325fefe2aebbf2a7aa8e4ad46277ca4b8b078818b63d04e7652057f6cbbab7c43ac355537e0d3918b4a73c00dbe6b30a27ee7a6fa213d3347ae478e8edc323404b8322b9c7b0173ed61c38ed25f3576a675d527d22edd51d6dfa5767560d3a50a91226338e8c4e6436eedbcd3d2efe9dc1e686b15d2f57d553abcfda57dc316ca453a690f20148f0dfa20c1c4a58240aaf7195095fedfa56d839d0230d55ce9a8ca1b9d1acd6fe98d583148ba0f4a4e3413c76e6ec57ddb79428d3a90079f64d3321c791f60d501c3fd02c8403f0f5e6c6836bbc96430c1b48e83350c3a3cfd017f15bee3e4bb1295d821dc98b85ab3145555cce2c34a8142fe50f8db19918b514a165d12ff6301fb2296788760ac0b6d9e3a57770ad5111cde5d24b6321918cb0b0887a282b827a8749733171914b000e7d3c0edad1d42ca60da37f0698554bb2a1749f73b3120dbeaa32951f8217a781a200467d5b569d16f56fc9b7dff0ac524f03fee0617f4c692d94613b1e13b18075dc9f0d32811d4a8949a95f6b5fa46aeb83597adb409e68b2a0177c36dcc95dcb2e7dd4fb7337ff97c013364fe139e185014948fa698741d822044fa3f6978b16afd18138c845587c405ebf7a6cd1c28610ce67e992ed49e406658a0a202feed9709500d064b6f53eecfca57dd4b38363ce3aae9d59126d8ae7e140a373851188ae28c909181d0ac64770df70dd2475809350cb367825b59d521d5e457b4e36aea6dedd90a2266898b753b57fa359d43cd388e7d6c7ed90bc4c2af34ceafe88a3af6ac376fec35f1240f08af4f3eb30bc53dd68e5762e6d39e6b16f63003fbe0bee828d0d7adc58c41e857c2c44702215b202701fc696eae021af19c79e59c3e32627cd571f5db99b17f1772b5d746196befabb0b7446687827f3315b391d5dff069b1c39c00bb143218ef458e3b397e1c99640d57fc8db2e0083d3d22ed4111a8fc9e0e6f55fe6a56e946dbee43909bdd7d516fdf756ed8099ba80b1e17a5e279119345104379a36962ca9c8b2a53c414d79eb09fe79862ca749a9eabd9185ad1df57215945882f5894868a134bfc35c835e040e77ecf077d6a98a73ee022963d70b036be3fe5718280ae52c5d751211b22950c0597aaedd35af41f7dd5999e5f7ee34a37edcf97df54a46742b0252b196eaee454ff0c30685b15f8de087de208906be1d971f0fd89f7cdff2af0bdc96759d6889fba9ef092ad1c8deab0404562a7f3977d211c28dfd1573aebd5427a8773f03986101703fa", "19cd4ab96a381c76a747f63b63f7a9a3a08e251cdc593a024f63b443b76d17dd9e151809da3c582fbd334fa6dd0221b6d410c6a78ba95bb0154bb8999f619f2e084a6b9755ceee4ca3c7e0481a47776c8814f13054e627e37630d593bd09d5f10a049c66c9999f4b0b037e81ef70615d674c7c7975972994a053c069675fad3fae5ae3e779233b70254fb87f25d44c104afc3d5911b8b695173f9337130e39a02cf97356cb817f6cd23f55ef74dd06bd24ce5887a7001ef576262ffaa99f9bb5e3f55bda2aa0f199115909af48bb4d6b1a0a0847774515302cafebe75aad1f63362b1f38141e8721851c3ef1a247931b3b450581eb5d09027b9e3ba60ae9801d629b74991b7fd65520eac561d47115a85141d9a757bc75710bedff1630561ae05254ea541a7ff1846ed5e164834417556dd562c45543c88d8030bb56451fd5b3cbf10fb0164c5288789d2aac7e7a836e79bc3dd401a8e3e05aa6714ffb2dfddb3037c35fa1ebed62a073b2da42133f2620ae88de5e3f46cc69f2b9b3c9b88e39b8b108059ac6bd493be5f7a39f6b53ee825f4593b77ec9238f5ab804d533f48803e7d8187291ee25cfac4da5d8c9279517adfb09c422f6d704711726c73828a5082b4c7b3d85611b8f496d3e0f78c5c4f1dd1c722b1b11d55861f232beee6aaef8a00fd2eeeb45f182af191ca6de8eaa25ceda5451416fbf6d1abc0670b8c10e2815076f271044c690bdcb64856b91265bac202043a28f6bbeb807535aad4bd89e572a9427c826b170d3862f4cca70ddffb4769d6593a1cc6c42fd06cf68642835fe474a23e6f63df316f8361bab959b768d78e20c03c2a99913c162a9662bd9981eee55922f36792de0af68da04ab49dca72e3d9b0de79df828b433bcf6be073f851a36418c03a717d54d48c1014ccb793577c8393b7cb53cad6bc7060a54cc6363734f6ad388763519ca09b533078d3cfa61d7bdd4c4dd0ffe64d68d501b55903d3f4a1f310a3826ac2ca700de01d656188dcf577fd1b63e305614b8d13471f6f84a5d4b12c5e119870a63d1e3dbd39d3b5c26b09f9d80f8a59ce836b20bc933496923d278a022c00f3aac204d07d2e5075bbcef1e4820d633a3a2b35974f72a033484a91a1d6a9913239c93e5783b01833073c98f358e3465efd5087af37ad60b7285550e776d67ea7019e788776c5a456102358c32eb4e7c28096af88b9a20d8ce379ba3928a10ffd539c106f4927e7ac0f382c74017d6e4438fb128c660affd45e9bb68452de72b574eeffe3ce239d0718908c3800bc7e8ecd2fc7d9754171506017fd7868594c9373a96579fed475a28811649ce5dc8a3107bd0d8578748878ce4998684620931dc3981a2499568c2f61174c3b3fc46a7010468e8ff75c08cd43ac764d95e2ad1659f9db62e9554f811e0f43bb74779d923c8c243d12a5314d3c0c6ec84fe60e1d2b2e2b20d3e64054d62049ef9233ff55223a319c285e4e3f4c98dc95b2ca81230d7fed9bb99fd7d97430eb32c9c11647992bd85dcb47cfd58ea3e221d095bcf9374a6baa7c8333581f62b9e489282483023fdd18451f09bec764146b587209160b3d1d7a3d2e145fdb640c4bc382541e0d84255122d51a710887ebe1ccf29d41b4dd7fd7368d68ada250d3968d6f0971f0849c13c09abadb9db8b08960a18f84f0346ea0aa71227afa55b90cabc062d549b616400d36450b19adb67d7358e48c043fa1135abfca89374c906f8d1a6a845debf6b37f055d390b029c7f4524958bdf8d7e2755dde3b957f0926f9d3b8821ba96044d3cad2d637b973bfb657fcc06ff44c17965acf572ab7a0c87604c7dd1cfd136a0ad02b22e8ef320e101ea09772588e8c5b4d88f40fe1be18d27146a2b9559491949671700cebff9a709f297c2621ca9d5d1749623abc20a326ff5be55cb9435c03bf49b147b1e0a4a918bfdc3642df90b396a474f81d75c953d87b3f3b4e31fced630bd7c481c63acbb84dd31249101ac5277a36dcdfc80d8d9a2e928e9b2d65bb257bce97ccda83b187da8a7886dc96eab93d0864d88c358105f9cfe1ad0f0a8508b5b3985ff95de652e684da970b57669aa3fdfbe590a631522abe8246393639709a9a6cd549e78e3c2d1acf84643e9f554c5e076f75a5c1dce1be20a66722d0b896837b7036509ab8d473d5d2b7a8374d6a575f69d54afe3e7e18f4faf4e917be8a74e55c271b96d966e0c0b883f84b3ef2e4f278daeda2efd3ce770801d2c4bda5eb9b646deeab9fa55324e917e63e4eb6aeb4176cb4e43af3db61aea1546fbf16e76a12fcdbe726b565710e3f9866551023e5fbac0038678717e6ab4d3e92dcc53049e8cb65c00216d31a8869ff4d3539313fe2fd7ce0f53b255e3659e7dfc5f92b7627dd9ba42972f0ba72b888932d870ab97226040c4c0f4826be131fe1d2cdc21005ec2addd7796f0927501251ab26b0e5f3f9d2a1cb346a774e18bc233cc89aa69f5f70e3d5c17098eed350ec419c82837153b5c7f5813bf5918defc8df143063f3fe45125deded2b15892d5cebce589b60f2ada0f9d608983e8d107d8e6482b5f542c6650b014445e8c055aac142f16cfc59229fc9626f7aaa40cefacef777e494e13dfa93d27c201788ca9f60e572af8d65ffb513473dade5fe494cbf7377bd1ed03db2571d65af3be4b0bf27c1f069797bfb67ef0bd8a88c6286af6712c106df9c418d88054e3b46c88296a2e63894d6bee0dda8833c373d6a1b27637e1510fea3eb2fb34ae27354571369653a282a8d19f2c34f9e5ec34555b4ed24327dc5d246df13736bd41021697104f80c85bd0ae920e9aeb4e628fb8aec269d55858df149af298b06d61250b043c8a14a15f0646d0aaa18109d031c449e66dd7336044dbdec912b1bb615fae2a3df480bd64cbed74be65c8f1acac247e80bbaeb6f9dab38c6addf4f3b094d5934ef5c9749053b9159e280034e601731a12d6688ff27ee3581ae289de424d16676fb750d2ccd5b3f964dd77bdefc15bb204e2350632822384cc194cf9130f1ee81bfc3887d3366ec0b48cbbe0fe674281ae7445f03791887873659825680448f162452cef57d783821a73047078a8cf94c416850092ac772ef0b2e48517ef101ee0681b5259aa27fd56edf3c01e6dba6298ccc91b09bb304b637eccf8c673b816e74bd7f8ceffa6b17ab03df7ee9ca4098d24d044015a07df782a309cb6761528272632a6e1323c4e18284b463dfcabed708e4fc95cef133865cdbec8bfdde100621c65a92762cc3141ff37b66dea8fa6e3aad61dcbf3b512467c4773d36e58989e12a636389c1678c191137a5f7f59668c8a527dddcdd0c3fbb14cf48b8f3ea306850a5eda76c57aad06312d7bbfc18969d7b611f512358a7bdf959cc2f41de1c408133ef02b1fb2cdf8efe9973c27536434e56fc1bb4880db7fe901087b53ef3c0de18aafa47c25f1cd62c362f2e5da41c2dbff0e13adaba26c1e0829f027dc0320442e851eaed9507b70ac17180725349f6ea7b59bf39c095a9d10790e87221c7c2d24b8bca184ee95a3ef7449aad6c1d905f688498ae7a0cd1b01f76dabc342fb2be0295ca1484bece3c9b8a1b91e53de2d2587f3607a7f348f5cbefaa7a6dcf61bbbcae9444e2d25a77b016cbd1508c8cd319e9812b43b0bbca52df155d418dacb6ab1360a9e605fb53c6e20588a10bef42d884989e836b2ff16fbcdd2c1704f75dc8c1ac2cc6aeb92726f5d46e4784c70e1e249c102be6da506e5e3c2cef6a8bc4a60dac7adf3cacca8679f8f792ddc27613e44a70fd849b7617e042da46d65a3e6cf425f59b83cbae5b6e911142abd13a0a8cdf06d041435ee20e2ca417e905d2dc49c15b863ae5920ff7f9380a86bb0c86b69a000c157cd35245bf71f9dfdefbd1760af90ec3e554ebc511aebf650633221ca9157226f613f41406872765f8d7b916ff3877266f017b8d840dca0697ec3dffce7912ea9eafb62cc2f2d0a112c9bc0727444b47b62766bddf5b5f26d391f653b6894b069069979d0cf8cc7fc4143626a8420bc0a3866db3860096cc128d620ceff059d1614487004adbdf6b0c4428ac8897dcf16e6b11a692a6b465a92b40010f3480b444d4d2e24b0af8467666905c2a6233bdd6502521b621d3cdd4a5e1f268d65bf6a1879608ffd3abf635c5f0948f3cec7e087485c72b00258ba69783cfe7d611bc41c27814ef5674185791dbe626e1f276cf2c399a4eb264f19c77ee95d94252f546528f629188318e9ede65a927aafd2f2af56ff32c0ef39862d2f92268bc9400afa8ddeff591f3ef99681263a33b873bd9e01a59c8b281da30875245cbffee5268563c7f6f20b9e22d998934131dd219624d3cef6df2f3d2d6401833f72c619d6f763837141dbf93179d0f01375581ebe227185166aa7988eb9fd453d510ca6616cc013d551d23a33a4241e85aac3201284344977d496d768f5d920c5670b1d8bb608efc1b99abd261afb0a4ebe191605cc5c2e20523a13b3b94dd1fb24a27009d9a5b6329336f3516a327642386ba64c8769da1324a8a3d1f304cf0700df2b3e38215a954523e1d40ae96d0046e2929a815bf70785e94bc9b89246ab6aded60d65170eeb49b0ee0a57ee2e57db92409105c25f2d0c1a17b5556d06511bd0991a426258372c7f2b402dd533a75aa175524eb5d6b9575300b81fdb2258bd74429add8aa477bd1182db57107d411d16147defc3582861c68f5ce82e0a0316edd5d0f3cf36825a2c79a33e376cce2e63274b3b41bcbdd755845ad9ed2a3bdacb6fa3fa9484b7b60edeb1d9ef84772e78e39adca14c9fa0bb3ad1f1c17fb9449270e9b4c97b5b320839947fc73853fc58304ee9c9e86f3775f5469554d5006eb7ce9d02d5f900c771806c275ee7022e2b55d111338dd93ad51d14008df4c13d8c03fd9bb3689607e5cbdd499c3a372b487af74cb140f6300cd2dc2acda07277ea3dab57ecf09f1a8f2d6abf7c44fcdaa6dcb1f6e791164004b20b3b4c860f409c1483c7044b6fa445f7224606894e386ba08057a387b48920d4de203b1acc4dbe2b0b4cbdc3f7d7bbb097abbf81e01db09e120eab83def925a059cdb513efe6bc93f0579ebf75638df3c3d7f9eba3c36a169e9d88495c452888853640d93ee70f254f86e2d2d3fbb5e8883b36fbd2da105cf3a75cfe998068203186bb37f1d1ebead8ce1f9383b816f1da2fd0a9e01377b6ebfed4f05bec08b4ff9b90e385736fd13a3af7980c21b0dab58decea8e9545af5d0fb11bb51aeda2c8616960e8f6f84e6c2fc4f50d7e413afe030f75475509fbcf49cbe14445d267994fd3f38f41a1339f2895c0b2969a9bf9c59b85e629486c7bb5107c7a6b069793be7690f7a7c96c93b09a9d610594a156ab27a32d5557a5b1ec8920761cd2f559ad808dff3da64717ea5f10fba87b8ff2712ce322eb3c288939e0007f779a3920f45fdd533369f6f85a8cce21f91552fe03702ef81a926af0e402b418fbb25a6a3dad0ec18ec663126b3f48c341e2725abfeae865352d5ad275a9e3ca20393c64d118968023daac84bdc724a3c522d97a5878ed788cf8e44f80f8803d57584d8c8688cff24dd8c0e881b62d16ea30104d62007a4bec051da7fdc95d1df8556ebdf607383a0825ae503e24661ceb8ba773b793360c3f4ed3b761bd372570cb17e7c2030f07b0b45a7974e45ee6fcf5bd7ae9e9abde5421b42cff6af0c6eb7fc73f4deb67bb4e0b3dc9b4008da30c67071243cda649091a14b89bdacf2ae98dd230e", @@ -701,9 +781,9 @@ static const char *kData17[] = { "6d417de31eb5dba123e3ce9e2269867d9a94fdcd8ccac40a9451953085109f5ae0c3e04daadb4a2a47b0e176917660eb3c9f1aae0ec6b00635fa387e056623947c0621f0a12e86fac1881ed1dc1b9f523388d6b6596a152b3e732c561972879dcd3f0232ef0773a4fb195a90c3186c4688ea58967ce7f18386b80bd38e90cfd4cb899337ab27cba8db6523e979b4c449645bb2f320ccd28578bc7ec38f47225273fa61a2e5df97c4d76c556fbe2b0fd30e615f5fc82c3de7194caed9f5946c151c22b7a0c48f4a7cf78aa153414f2913c5eb95e3dbcea7ca544272cd13a1c52fa87759aeb430aab144fab418c835344605df3a044825965ca15de6ba0e59b2080f5844b2d110d71587e19acf14264cec2de5b8c77d18893215d1c1da0a940e7c2ee429a99e2633c216aecb7675a2314a09044951ca5a8eac798f8878fb5ea65f4ddccac53ee0c786e597169079fb6e8ceb37a71580b0904a97450909ca454a690821e249aebb75449e582fe1b30f1fa9f6464bdef654daa5ede6d4f223f4589ea25a25f4672cfbe974d51008bce296628556f55d26646e40b59f40e3149273760b40806ace3b5171e0b79865c6adb53513da2f24c4115de243150cec76107b48ca8da19117f00b5870e67eb8357e43c1b7b593c9875795d46ede26a109e05406b69fda988947e49ab195f22454c3c743c2ec51b91370b4df8d38653b353e51bb83215d122bcfa591009c007bbb6124bc590fed3f9c5699180b3b1424ad02f7c90a149b77d22dea5c996aba675c2a1a20e206d9c25d9446247d495a26486c0d0bfb09d0b5a1a177a09fa749dc36cee73af0116a6b779c2b827512a04ff0f60b483edbcdb33d2a18339463c498ae67ffa9da0aa3f3beb6bc99212f9e6961afde89045520b1f3f2e2761666a333d76030f443f53322f099035584a60978ef8b49f46d7d4d8c5c758ea52a04b59c1a3a1c2f9df3f3b6f5c45cf4b3547043b18c1d615a2c965c3918d090cc72946e8fd0b938e60e03464f4bc71fb719a1d173b0931930e58bf7f6d4403971d36b40f83be6b57244a7029e1d41dc908764d57a5442557218b509faeda4e9fcf31debbc54ae671ef636871233f29e0013c0e33933543f4b59df1978ec89b109c3977b0cf938b7f6166d6c93be5e87684a703c8b7b5fe1a8bfe153a179b55575ff05e599b39e32ed10d958699a1ffe07136081f0719b18c69dc74f66f211103e9c544f3c81a88ba9f66a9bc7017d9ca9e2cd97634052694a598476b99daf1cdfb6122869375ca5873d32d5c1e07d9b5b380b4f09dbe04478cfb1a13853eafacfed70c8abcd444ed095f78d07c0e8b4093be95c3aa24b2e5b6bfe3a06e9d2d9fedfcfeac4cea2490627e6da6a5cca383351952f654ce2b0ad359c0f7f4ad3f8d1d4a030a947d4a2e417bb79102729115cc8b6558c3362b1d805fb48ce4858deff97677e60375ed13e150a12ee7dcc8ccc64d9710c7f516555c1f7a1a08f0d7c6fd21f864fcf28c8f748c40494e01fc32006f977a5100577f86a484d11b82c90cfe6b4d6b1902fef486cc6f3e033904e150e67283e49a5382961dabd244412ca9657b48796e476a82443167e277d5a65c0c563a6abca77d316e5d3ab639a1ecfb1110af2d29f146508bd9874486dbb56328d6f59479e2766692821660462aa60b6bc8a710707ceeb0ea6429e5113e03c9f41ce0d69c7589deb547527673e8a9f9a9a74e9e4bbcabf2e306b35504c1da99730ae86e94cd047b2e6ea5e97e63a492430d37ec446434fb3b066adde08b17d7d903ad194a4a863d6cfe181a45c8c97b5062bf7c4e44d69c0d1a7e1f5029b805b7c21d1b5e56e697999a32557870ebaae8d87dcb5ca5eea2c5547a16b3f30ef9df8df821028c106f86e091050ff8b6ea4171e59dc2592d405073bea53f8ea62edf112dfbc7ca69809db8005783d63557d3d90d123a944be395c1dc3b5e1476dff188346327769fea65f3cf9363e88ed67335870ec8ef13eb9d9ff5317c4e24dfce9d11699e5f47b4233cc8f9d1b915e716a5730a5898ee65d30b1628b484a5e82eda95a590964a8d8bc89dd3c5cf6c4f9137b8c6ee9d6a692e0c0d1d858dd5b3c12de48badade4d01bff312c56ce3ddb34b0fdde3b0c2706fc292b9fac7e1a0dcd0b6534c968117f7de15eba84d2754e4bcb8093a5440297605598659f686075e2b1b464b6b3ec68abb13cde263b1c607545c45746338b9b207b5c381da690f653b35e363e1249551ad938b9fd7b0a944151cda07127bf9ba76958e926472f4aa1de8512ce834cfcae5414b226f23acdb1fe5cf685d2201b78167ad35fc1da282744c2a43cc49d49242f968f7e06de14455e7ef5adedc5b33184346018114e2d1fc7a5349e378da9b2af5b328c213888652aca9f1145363809eca7c1fd8e64a5cc3255418736e048a731f3053db77971f67014e6121a8e464833e5dbd02ea6caf385e43e9f378bfba657986bf852b32adb55e35a2675bfc8d70d43a902032a61f59f57dad2dd7d7963322136233200cb9a90c952074e9ba0fc0654f1b6fd6f7f0eb77c0fa6d8143213ce6e8b0c178f73e17a7c64839f9bebca2fc955ea8ae406a13b80a9045fa8d129fd859faa46fd27c48bde7b890f98ee938c0d78889f84181ae2f5711304fe554d4251bbc6437ced59d577a2a1f26da736193c3674adb13cef9f4cb4aa6585c4d6874b0309ecde300493b1642c595746f09e03977c8902f3a4a877db1153b248f295a0ca2f1e437d15fcab8fd77c5f967304efb5c4920b990674ae61b954af40be17a8559dc377c591b68067fdcaf2d27bd9a22041b981a84be3de50d5962b58f8c4a22fa05192c5ac99a0a9423284fe62a3a59f085136cec72cda2a53af106a2eb5bda28b6e02c299118cd91714c2e7d045346c78d9ed1b41c73231a21e42c298949f70122277f4134ed5c56639edbf3c3e717310e3d1f03dc5a94e64c4ce148bc5c6bde64eb80b17d5979892786a31225eb89bf9f5a582bcf65b83ff7aa361ccd9238d144f6a22a3f77dd8a01382df4ee90a2057dd310a6b0c4b81dfc92a2cc0c606d3be8b18fbe64ddfdf2004eeabea892be2f914edd1edd8e8829dc7704d71bbaaf08c41824dd0f4b34c9eedead9e10e53bfc6fc0bd37417de0c5c71cff0754d672f29c262d8e27b524427e12bc4e4705ab311d3bedcb1ddd09a3ca0c268c05c64951b7d724a9dafe4d249aaabda91d68633aaab845bf78f9a22d467c7e0c5fc70fc9a318b01d7492efea7fffd329d70692e76647ae665c62b280da0d62f870a52e4dc4cd92c9150c96aab16f8c23475e3152d4debb41b6756f000c3d8aceef18b49e295be7a71da1eeadf4eb96509d45d7cc42af4b7013d8bb445f577e8d4cff92770b8ba0e451f3e24c6d981efdb68c7f2dfafee40b8a425955796e369f0d4da3e998c1626ae0fa583334475f1fdde68ca211c3f2e9afb003f553191702e11f8b731c89ea26059ea4466f2bd0a1a5601025ca9417006bca5c9a57dfdba44c603ef9ad38922623b40feda036d84425c47fa42973e348a180a7570e1215044c375313ab08d6f521052dda415707ebb74d6c4774e039bb04cadc2799224bde1802e2ee2a018032e3a341700c0fa2aa28bf93cc479231efe7da0e9f68e572415348c08cf648117e9b6d1267fef6617f5927252c86cc087775db3e30180feb5ce7e1ac9c3761161e07a4853aa6d97e525aa88302954cf9390fde81f8e11d97a11c79e3bad261364c18890dd1f8fc71127edefe3571518a42be611a46a0426a33221aa25a0ae6514daaf96038cb59aaba898de49e3b215a4464e0af614e638c2d9b6e676ec427fc906bc516331a18121f306a5246d179e2d3d0f38ab8393f7ea5a2d24585e7cca649637b9983924a15483c167e8780f8dd7aa1154cbf731745a8d8d54a8c4f8d854371bb8172303f9ba3c8c7cfe8c378ee56bc35c6376aafe907d3294ee9a8786281b7deff78ff125761f1a31d0e8fffe04a52a7574eeb8679670ca3bfb740167a559488d4337819613d32752d8a89013622f6a8d70f3c64b84a4215f4b7bb282a2d17c36a326167e3270757b8f1d9a0137bfc5ec278e8ca35a69e49779cfc25b95a89cc18732b5b9d1986b18878c57e118506909207207ad0b4edf32fb2b35b6e70546f45d0849bd139ffff9d8ae547787e7b51403b54f110e2ac65468cd0910d80a4e321deafd46e9af19609bee1efa41b762b8ace989dd681503539e7d9948664cf7a73ffac9ce2a34b514253c4f21bbccd38057a6d68732930dcdfc9a32219b53339d100db0037a8bbd101e71f5054f3\nAAD = 7b3b9c07148fcd897f657ecfcc87e530191536b8e77f9309e8d7323888b3b21477f2ab7c885c105d9c29ac96aed23b366f9fde4177401b7038c6770c7bd2ee8b4335105cc0eab9e367f0cea90d6f1ae3fa76cd21ceb9f3500ce7fb4b2a3f9e90f900a231ec693aeced7afb6821391d1f5b1b957895777aa7a2b71d9571c00336f26d54d756392cdb74bfb67d5a621d517db20441f74d0940180baf613b09452f64224f8af7bbc864ab4a8434ff624d0c0646ee07132fd376506951899bde975df8c836ab4ed9cc084f1f6d500ad56345d2f250a0d6991b9e458c62b6023191f341c8659e8a38c878cfac12b032674503df9c9bb01c4340c709eb6dd7c74907d769a317f4dd7317843c47bdb4c5e1f07f2380d464b0c47269389cc8a43a09adba86f6aa8f44c8fe514e73b5fe8d344769c1aa20a4538ecfbf47562ca79fa497b0f02f103f75522db9ead50d56dbe86997d6085f1b5aa7a4cab9e51a1247ce4f724a14983b6bafd17369fac973c6be268e20d800de870928e100990ebb0d3bedfceda36c64be3a729b603bce677a49e8caf282c9159b6e3e1e775129bd30dc3f5c9849535d86a27474be03bb5749b4c0115e2614f8feaa7405cc69b1de479b3b57e551f876a9c8c57ab9879cc68bb2ea110b2e77e59dd6a65eaa67cc4d4b2f4d6e646b2a298d3c80fb43969275d4414734e74726145dab06124c040656c39a94846e8fd58d326f4f9eafe5b95d85254765a21993f55070fcb9e85db5d42ab6b9464ce66de3f236dd2a0a26c4e5535dbdcd6eb350209a65aee785c6647ad4103d092a8ac932470880eb314f7c98cdff34fdf35ee2d36f09bd443b5defad7a5acb9df55965421fd043def6f4771e1bb27385b30ba22c0d8972aead6b654085a7dd3b60c4004a0dae22e25100e54e0badd0cadf909799329ddff699de8066dd6c3822d80c73c52d87e6fcbdb2dbbf852e37804b1256e23e76dbe43f30be4a577bc23c7941a3d708d1e1f579e9c6eebc219c74768168f6790a41f883790e08cd1e88ad09a544eb97b3d1d5af67eea666b9c027e5c7c976921189b955a9e605f6cc9c012c1c2e197c5b02504cb9ffbcb0f3ed778d540d5194fdf5d38dba6340c93da7c5501a082689616f337d8b59c2a92c25e777515726e1d7f6cc9552693cc7c30f1294b37f97d49814250d6c1e3eb335c5d214ef3641739d508b87106eaaf367902433a148ca962ec694409acb82d7749e1c88938ad382d0ca6e6cbe8255746832fe737c3e71dae8397f260c98d4a292a126ec21935c24096d2f91ae114194af659455d8a4206197495a28474dd2809debf5f550d77ffac2b0db521559910c352f23472d7aa9f4dbbdb158f40aa36912cbd918ae4c642e76d78d57ade1075c4fe1086ddee3d554353b4693bbcef1cfa87e49890838c36156af0edf384b0413d6d7aa\nTag = ", "51cbcf4a2fd82f221de1bfebf86a8c24\n\n# OFB tests from OpenSSL upstream.\n\n# OFB-AES128.Encrypt\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 3B3FD92EB72DAD20333449F8E83CFB4A\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 50FE67CC996D32B6DA0937E99BAFEC60\nOperation = ENCRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 7789508D16918F03F53C52DAC54ED825\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = D9A4DADA0892239F6B8B3D7680E15674\nOperation = ENCRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 9740051E9C5FECF64344F7A82260EDCC\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = A78819583F0308E7A6BF36B1386ABF23\nOperation = ENCRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 304C6528F659C77866A510D9C1D6AE5E\n\n# OFB-AES128.Decrypt\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = DECRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 3B3FD92EB72DAD20333449F8E83CFB4A\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 50FE67CC996D32B6DA0937E99BAFEC60\nOperation = DECRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 7789508D16918F03F53C52DAC54ED825\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = D9A4DADA0892239F6B8B3D7680E15674\nOperation = DECRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 9740051E9C5FECF64344F7A82260EDCC\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = A78819583F0308E7A6BF36B1386ABF23\nOperation = DECRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 304C6528F659C77866A510D9C1D6AE5E\n\n# OFB-AES192.Encrypt\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = CDC80D6FDDF18CAB34C25909C99A4174\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = A609B38DF3B1133DDDFF2718BA09565E\nOperation = ENCRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = FCC28B8D4C63837C09E81700C1100401\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 52EF01DA52602FE0975F78AC84BF8A50\nOperation = ENCRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = BD5286AC63AABD7EB067AC54B553F71D\nOperation = ENCRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A\n\n# OFB-AES192.Decrypt\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = CDC80D6FDDF18CAB34C25909C99A4174\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = A609B38DF3B1133DDDFF2718BA09565E\nOperation = ENCRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = FCC28B8D4C63837C09E81700C1100401\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 52EF01DA52602FE0975F78AC84BF8A50\nOperation = ENCRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = BD5286AC63AABD7EB067AC54B553F71D\nOperation = ENCRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A\n\n# OFB-AES256.Encrypt\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = DC7E84BFDA79164B7ECD8486985D3860\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = B7BF3A5DF43989DD97F0FA97EBCE2F4A\nOperation = ENCRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 4FEBDC6740D20B3AC88F6AD82A4FB08D\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = E1C656305ED1A7A6563805746FE03EDC\nOperation = ENCRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 71AB47A086E86EEDF39D1C5BBA97C408\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 41635BE625B48AFC1666DD42A09D96E7\nOperation = ENCRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 0126141D67F37BE8538F5A8BE740E484\n\n\n# OFB-AES256.Decrypt\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = DECRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = DC7E84BFDA79164B7ECD8486985D3860\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = B7BF3A5DF43989DD97F0FA97EBCE2F4A\nOperation = DECRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 4FEBDC6740D20B3AC88F6AD82A4FB08D\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = E1C656305ED1A7A6563805746FE03EDC\nOperation = DECRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 71AB47A086E86EEDF39D1C5BBA97C408\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 41635BE625B48AFC1666DD42A09D96E7\nOperation = DECRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 0126141D67F37BE8538F5A8BE740E484\n\n\n# AES-192 CBC-mode test from upstream OpenSSL.\nCipher = AES-192-CBC\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 000102030405060708090A0B0C0D0E0F\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 4F021DB243BC633D7178183A9FA071E8\n\nCipher = AES-192-CBC\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 4F021DB243BC633D7178183A9FA071E8\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = B4D9ADA9AD7DEDF4E5E738763F69145A\n\nCipher = AES-192-CBC\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = B4D9ADA9AD7DEDF4E5E738763F69145A\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 571B242012FB7AE07FA9BAAC3DF102E0\n\nCipher = AES-192-CBC\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 571B242012FB7AE07FA9BAAC3DF102E0\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 08B0E27988598881D920A9E64F5615CD\n\n\n# AES-192-ECB tests from FIPS-197\nCipher = AES-192-ECB\nKey = 000102030405060708090A0B0C0D0E0F1011121314151617\nOperation = ENCRYPT\nPlaintext = 00112233445566778899AABBCCDDEEFF\nCiphertext = DDA97CA4864CDFE06EAF70A0EC0D7191\n\n\n# AES-192-ECB tests from NIST document SP800-38A\nCipher = AES-192-ECB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = BD334F1D6E45F25FF712A214571FA5CC\n\nCipher = AES-192-ECB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 974104846D0AD3AD7734ECB3ECEE4EEF\n\nCipher = AES-192-ECB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = EF7AFD2270E2E60ADCE0BA2FACE6444E\n\nCipher = AES-192-ECB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 9A4B41BA738D6C72FB16691603C18E0E\n\n# DES ECB tests\n\nCipher = DES-ECB\nKey = 0000000000000000\nPlaintext = 0000000000000000\nCiphertext = 8CA64DE9C1B123A7\n\nCipher = DES-ECB\nKey = FFFFFFFFFFFFFFFF\nPlaintext = FFFFFFFFFFFFFFFF\nCiphertext = 7359B2163E4EDC58\n\nCipher = DES-ECB\nKey = 3000000000000000\nPlaintext = 1000000000000001\nCiphertext = 958E6E627A05557B\n\nCipher = DES-ECB\nKey = 1111111111111111\nPlaintext = 1111111111111111\nCiphertext = F40379AB9E0EC533\n\nCipher = DES-ECB\nKey = 0123456789ABCDEF\nPlaintext = 1111111111111111\nCiphertext = 17668DFC7292532D\n\nCipher = DES-ECB\nKey = 1111111111111111\nPlaintext = 0123456789ABCDEF\nCiphertext = 8A5AE1F81AB8F2DD\n\nCipher = DES-ECB\nKey = FEDCBA9876543210\nPlaintext = 0123456789ABCDEF\nCiphertext = ED39D950FA74BCC4\n", }; -static const size_t kLen18 = 455619; +static const size_t kLen19 = 455619; -static const char *kData18[] = { +static const char *kData19[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher 3des -mac sha1 -implicit-iv\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nNONCE: \nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 144c98ca1f\nTAG: 4a40ffe530b338e5173a8e62c8530b0c14b15046d12f2ca3158ad71effd0f46b29b3ae\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nNONCE: \nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 144c98ca1f\nTAG: 4a40ffe530b338e5173a8e62c8530b0c14b1508045d58f4bdae400\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: c6105cc86e18eb8376c16ea37693db5c07b77137\nKEY: 8503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371e\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748\nAD: 1df3f4183aa23fd8d7efd8\nCT: 17944422f667bf1356c234189f9c6cf7af52b2832b2fbaa990ccef4e7f9bc3841e59e25c00e3686d5bd5c29f\nTAG: 3ebd1b0bee840e8a6e992421c62de5a8fda3a82f\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: ceb2d295bd0efd37c6c34dab1854c80e986174fc\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11b\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: f2ab16ba87c52d066c0637d387b89d700a66828ef231b480f39aa08ac2447c8ddd205d1a95da37f267c06a1338532de890904f9f19c930adfb684e81cc06bdf2\nTAG: 3ff610fb9e208ff6ad58b78c5b2cf54b997eb3f24ac0171229ff7ee9cd5070de5a604f78b35b6cd25b3f2ab487847ca1e3928bf7f19bd19c9c9a1015dabd2de426fe57d342009ae4a2e67fdea378f24ec8dec1e87b62b6f70626bfd71f8d8d5e5c5b935a76527ee8a9a3094d635dc2b01a31dc4df336aa023517d7c35e142ccd6a79bc689e335f187a5358a00a7d4eb168cca3f9c6523ad4d74609a5b5c9e36db6bdf8464c4c8497c501084afa17557d070a7671c9144c86b4de9d57f033bc6b59a7f1f4e947b6a2d69c85877de731f6eb3db71d9f4c2dc086a3303bcbcd2f5b71643058b7ce08ef5879e0578ec81ced96ce907d4f32e67fd4cd269de9b60e09ff74bad6c86356ee297475ea7fe75d75\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: a07054c760cc66fc704edf950201005031f3faac\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be1\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: d7059edbabb5cfc2cd5c459abd74e136790aad50d988c6c9271428597617db171b89ab171a68b14f9d417bb81f9f7d2e2045aa47c0b5d166c8b2622bd914c4e752\nTAG: e3d17e303776640b3ab712f6068c44e0e3b5d375203a8b01ad47e6f4681011eff04a41d03ff073e61c630b5faacb744447226a35e7496204911ddd660792be62c5f34c918a0d8514872100c4637ca12bc9c13b1580aed10a68c9187377441bcdf213bf3aa72831f3498d990a7a5960e1e6795bb11e4c7910a881d76ac81320ae61b151b8dbde093bc9e56b8204463d8ec31dc32b3cad5cd8cb48b5f20e54c17469ce97c069051c8e4b2ae5dffc0c2651d868a9909187c2732056213e41e315e94d14a84a24a676155ba86ef0b96efee3e4765dfc750953dc9a7ed739422c7d988f290432320313848a2eb7723c7c85ca3590eb35e3058d0462ddaab0cd48730107d4031a216c6c2595d1ca0b3f1815\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: d059c266cf6233af730b7a229b19356a4c6fcf06\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: 8864e31c8b2ce1bcd1745671da5bd66e1e366b0af66b91f605574c841084a5df358483c7839e4456ae5a442930f21d4bde67578186a91c0a603468339ffbe3bfc607\nTAG: d8a0bcddd40964405ef006e0083e67a607b9f926e6508880d7784248a626d56a0673ff990920960fb307ed9cf40c2a1cc3b632b1f94aeb30efa02123e66165b77aa4be5e2aaba4c4a52372b403cae2f78a3bffc1cae8dc6f53839de7f16b8984304abc4a81ffe1ffb42799b54dc43ca0b963be6299a404fd4b3acf65939ac319966aae0a941c74135705092567e1237044c88f79b02b68ef622f9c776bbc04dbc2f58338c129f25afcd8cad7a0e91f30339457075b68df4960c003ef574e3aaae870787ae9ddab96495861388b341aa63ab2721abb176c4f2e6d5704cae123c20f1394d6a12d51fd5782dcb59d075775dfeb72df846995b87b1d374c0d0b8a003ba60f713ad777b8d6ad42c5e373\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 8aac0687e33041fcc18da154b41f20a6af2bfb28\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: 1d239b3880e2261806ee770e7296d573d308d9850c8bd90a0764822faf5f65770f98f18ce4738538f03ad9b289bd5fa1367258f00d3ed91e32885bc45c30a240cad8c2\nTAG: dbeb6d1a1165a902128a27d7f55f4d928b56a3b83fa430d47bc4f935219fcc6005487f1ab14df0a07a270645d1c2fc23efc9866ec7e4427fe0382b75215c0f994f09c4ac54bf360f8ec938b02c17c4104127d2cb1eb51a11455180931b8e473838e5b1e61cf5cd05947a5b154be5df49905e6e7c049d00f065f680b0e5f3f4a7e9dad37d493f13c7ba318ca2bae086136d67b17a6ebf28b45cebcbfe115a45dfa32786a8b8354d51acf58bc126a13146e0ca509a26cc32c3e8ecf5b9d6ce76a9f76d674316c42f3140d5139304479376db2a167c65da7250e6fefc9d3b37a2072180ab3202f1fc7dd7f4598d1d976b15945fa73e1be07a91186ce7c16c4249d9f7287baafc572673925e95caba\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 53658226c112b86438dd27b58a71f9e36fc73c1e\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: 719d9de3bc86d08510354817d0fb94340ab1ddeefdb95a1cf460f7c9b185837b5320dd862b4c319619a0b18dc75f1762cf7c9bed63713c31e39a6f7069563441b9e6f106\nTAG: 8b61062c9480ffa62f7b96e9f50249426d05bf237d25e2b676e0041d40ba97101843d9ebc978949eb7ba53b8989ed0e93e5b91f13365345baefa1d7f59b694f6ef0bef0adc1d6763978e12fe354e57b90127533f3f991ce611e31e88a97962f859ebbc0e50d130c323aff35581f1f45cb5c650299025a03d99026d6f6a844ed9d5fe66e15a9fca79726afdaa54c077d148d561ca9e77e427b8f8074714aaf8b011697524e4d91bbab69bc01c8346e9055d7269cf124b503f7ad38c384abfd91ca36159d8a41e6389212167278b830ea464f7dffc3e01c9807368d3457ad5f21b33bcb1afd41ab7d805c9ed2f2c32da9bd4b510366b362dd02f50666ab8e5a72486b3c0d6b9bafb38c9375dda42daef635a0007ef\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 6b7d5268b0b5037afb5be5af6a0ceb34e7656ac4\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 9adce31c760d09ff911ed98eeb7146e82017261c8017d9a5fae1127479f6fb54d081cacc1ab7150f05d13547b992c1fe36a6e8e55ef1fa3bcc45bca495a981000a0c0b4f62\nTAG: 51d033e8003b06bf819a4f7978d75abec450c6b11a00bdf27f549f6060390ff99e0feb9509c6ac882777da699f5d5332d1b838a0436101574789ba485769ea6f4d73a10db775f06331140b218fa2ddad7fecf381fb9e3d26b06b3577bdf57e2a8435ba0e5b1e305ddf28070d1749d11ec5504cd9aa51ffe9133152ff35de21e4bbc3b109a318075d924bbaf0e267a1abd3d7afd2d3d8f4d951d4e96fa63741087a975eee8156b01fe566f7f6a309257c17a0bd9faae4c2781aae72eeab1903602b09b69026540a84b4786b8dce2a3e5ca26c65eb7b220dfad400cd236a4435d7fb1be60b9074f2f226e810d54abe7ec0cf10e7c465059720baf93915dda8a56d5a012a990d72408d2c9ab9b8dc813eb2f1caec\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGES", "T: 63efe7af502231420ed5aecce9a28446b257828d\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: b81f6e678c5a08244a5f578970d64f96f50ad5b5724a9287ee7b293308db34e03456f1745f79c594ecc480fb2a9412bd685e6c0df028eda06aaa15c90afa4ec01736450e3eb8\nTAG: 63b849636c212d353918c6e3044d298da268ccf1042987617860b58eb7ec8314ccd7762ebc39b62c0f0f1c346c8f4bbcbf3bd0134c0a7374de1868b08ba013398d8e4b578bb8d7359f2cff1629ede34da00138efa4a724d892fe4ed2b28613e66e0bb4830f66c14dccbf8656e615d66f267182662fee8a3e1fcde0941793f0bf2b00d6ab6e9fcb30553b620cf8e9e0a15f122808d739e698f88aa157baba12428541e928ed556517978f6c9f29c6ae8fe5b4e9ed6f0ce49351ac2a63e74bda9288a874a7fd5327c6856596a3271039dcf54affbaf29a5556f1fe1062279d2600b920f4e26c96e9e8fa696c521f60e9418975befa58ad564e730d1de312ca1b999a5e89b813743b1512659d809078243170ab\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: 1a555c300a1d1bd5b03cdd6bf2a678621624eb05\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b5\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: 6b6f94bc2326760d257d8156de961acac0b32d7f4d0e20363532e76ce76641ba66a1aa7945b9ee58527039cf83fcb01d8ef85254566947347463e161ec8cdec74a839637288d09\nTAG: 77b18bca8ed1d056d9c974054598216bc15bae5b7d70f3bbe32b3deb92398b0ce25a1efc5eb6782fa5fbcdbb415ef43eca090fcad4d34d53b1fd89cdd760e6424715c7703c51e08b72cb3e3b8a30bff159d5126f1473f216d5c931ae03703d3baf311a59d7ef3d6db123f3e8c0ca26fd3f8809ca63265d2fac935bec32631af43626ed1ee9785c81d7bd0cbc0c5178e1ca7de5d12c3592a7880be6590072c4728b2afa1eaaeecdf7cadd8304c2d4b614af7af14efa00dda595be92de09c74b39df05d7d023db721f86992c57061a264dead21e24fa47816f43b77b8ccccde44bfc32a015134a2cfaf04c582fb839202b08b81543ea9358d5735e7c197762a6a39936e26de58690a02dfc273e6779e77708\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: de9156349b578f2f44945ec6a676a67a829daea1\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 8f211be563f98f493745cca0e385e5b0113027efe3b0a880805427e363014323c4f6c7e6b30d2466c70ed56d63157f2c4f6dabe14d5a22c6c708ab3fb667a6c64ce5c8de22f5261b\nTAG: e5807ffa59e0005c9dd7eef0b854ee1b2cfccef9977f8a963167cc563d844f795c4ce4f9d03da95e4cfd2fc80c9efb6424df8cd3b7875a6ca129da8f509ab09d1f0eec0211e0ffe5492913fb688796a29a8eac54f374e8948991059f6e73a68eba75a892b3e2ed5ab9680eb0b308b07337e75ad5b406c260af5d27955aa820bd0435549700e960e66c211000885e19b804579acfa8c526603f8d743491d916fd4d0e250159e485a4db2fea39a8eb9443516518e6612aae97b1d9b7ac48066d5fbe2c1be3b2e20233a2fb4d39052ef4ca3bfc47e561aaac9c57a7dbff922d6d997821f6b09bf3b4c91bc6162b150e17bfa2544f93f2bebcb4d20322bf0357fdffeec8f75679e6627b4ffbf8e0bfee63c8\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: 12812df3aa7f3bbc899f6f248f5590e02570c292\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: eeb6afcfd2626da1230067ed9938f7df35e99d2ba1c91d0e91c3db53034a3dd2ce3352b06e3d1b9e8415ef4ced9b2257eb05bc86db8204a8bd943bde51423a09459fecd528faccb646\nTAG: a69c7d8db2c021284e73b3c07620022eb6f199509e34611ed671c3558ae7c103c78024d96c00c791f3450d1e0338598a246855811af4cc9ae1a6522487a4a77b57b58ce29038ab0a2036404eae59133512b9ea40e2d7176e1b36965a27ee2c898d6514872bec952a029d9d85bfb0c99d8b348db6a3bbfedb6d1a3128664c454b9ef29f075fecc469f233e18567fe16759b378600a1d71504231e6caee5688e9858e14fe6fe850d95d7c010865781f0457a22f53add7ef57071c7153d312ca303e4884b83c9acfe86686517d80ce271c148cf3ab6464a9751b66ac7682a5f885ad9301a5602c099e89977f06b41badd1c2ea1f7027a38b749e2ca1a3ff4e4889e6dbd3674a52c8e24d2c76f64a6bc77\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: f3c89f21c327fca4aa400fabea9e39780378e901\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fa\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: e1eb2175bfee27951357b7536e2c3a4c607bf511d1922f6cce462fdf98de9dfbbea66d38884c270e29d08c5ace1d6bb7bcd2b46eaffc67a99e225927421a9894238cefa73bdb48694abf\nTAG: fc1d8ef98aa65ba8a288ca04990bfb373071633eb1e8f30847d3c19ebef66962cce12d015b045e10c9e0aa7f275137e00cb2c9a0508c0187827a74faca4bcd015620f1cdd8f72161bebbb8231ad4b705d1982db6f9fa1d2303c429469737a3141adf729729144f55223df1fb45705fb15adb5cd03c2936674a47d7f6aa5d2a4d9a017e57a4f5dd954504abb588866457730304878ca322f776e3c8e7becb8437002bc757d5b34b16d04ae4710553a624a3fca8866fb3d20672d6f4a2f937edecd58e68b7b0a8c39819ab48788956c1f3f5f4a15e7d13350090a20c61620c9181f03b4d68d7e4f336cb7e4a1a277df5101511150dd39fb43a84cfc480fd548035c8e9ec26602dd66d250fce39dfd8\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: e8e41988fad6c8b44c56544964cfe0a347b35b1e\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: a799c4a6590a4c48735d1da9746e5441cb11b664daada5d4d68d3a0110c4ad8d5e96d7331d5f7a0d1df9af5da4208065b6bf31affdfcd4944e8ed55b0ba7b7911be1a9052fbd93d5fbe292\nTAG: 6a6e5ced88748f87682759b554d9685280e094e083d297dc5fd474c4a2605612b2f8b1c31dea24d58c25bcacfbf03b8b09dc662d6e1120868ae9a0f1dbd2799756136c2a26a22e3a61a0216e76e94393534586e1a59c570d8bdb37d5ee6d0762e60c7171fc7953e59d74b0f2ff4a061d27a7baa8ed138c51264b356d9a42b0768bca1c1c458acdc82bd621031e2ae7790596594d2f6eda2c8d58d4b53cf6990434da8aa9e9eafec648d52233e9b92994ca5cbc071dceeed57b02e36f93f8d22551660cc4c1e425aa77dcda3bf6c98bff7905becc075e1707e37453de8f300be5aabc96c1051fa46c796a2c8367a00af3c4dccc58bb7dc8aa2e21e0886eceb898080bbc7259648f2be9da0f1b56\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: d1c7b2c04dc25fe7b742a1d659aec20e1475ee4f\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: 2b8ac97f05a67490bf16bc64381e9c49e7f348212d0645056ca5405e9e0a248b6918568481ceca70e20ae4b7c1f62700a2954188793b34504fa86decc73f667e5fae944211059dfa94ef072e\nTAG: 5f91838f37198290b43fc04a186db6a05261ea9916a1dd6450604ed8a7d0bb59751f6637f593ef1a7e3aab6421b7a0cc6b5b47477d36bf439806dd8156e2bc2e229bcbaed9a3beedfa383d674d3b91922e6248d1aa8ad62361a4bdcfd3d86daeb6d775a521916ecefa2244aefbb0cfc0ede1b1c0e0059a4d69850160d2f4f662ea2b77fb074a6de69feab87bb56f27edc3a42037a041007f0a08d204cbad0a9047f7798dad51e5c04126519b53772ad4f3017f9d9fe91920aa7585a5f2d95e7a8fe5c7b22fc696be10e308f939c34e52b7bc2e71b06a56e3ffa5a0ed529eaf5a8c4b6857b1f144f51fc8bbc858c88ede7ca325d231b34e4ae0e7ac8fec3e8f6a9bbc6f8975fec1e877f0d05046c3fd7a0e15ebb3\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n# DIGEST: 116e20ff1e79e0af464d473b1e7c187f4dd66007\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: 783a362232c871213daa72d58658aee2ceb4de66198", "df21e227326010be056d5c4d2481ffead6c80733603b132b256d1c52d64eb8b700d614dca0adeacc0c7a05d1a64ee7b5c8163d1eae17fdd\nTAG: ba611208a3cc40e2cc638c335fd508441aaa15c612a5100c960543d2ceef9709bbb3e70904f3f2efac3112fc61bdfe7accfb5f0e9d640812a4f5b0676d95b1d5298eddc97ce3aa16ee761491e9f424af39119c9f56322b10e8575697bc93d1f6a63007ae085bd20c83fc32a5d4e59ce8840f75b8c52f6aeda4fc34f11301d64e058b39ff765e1ec9997ec51aeb43b35cba9ad4b020e7dcee79ad532b897faee018dae1231ceafa1a5fca1ff1a01f863580c9c07b13354e31b0067a2fb16477150ab6d027fe88276767ebb46b1029c7d6dcacbf418f10d932dea2ea161ff8a4f6d79e0bdbf0a67227d5c9100a45fde25e2d4e360c0c0942e9ce13b570b5ea149dfe422fea36251e226b3f7eb709ed7c7339aaff\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c081d0d09b2c9eb39a372ef4a7b0246a0956b0f9\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: 894d8fc70288c7b8a5d12e63ed6e6e8c74b8d9837720762ccc519a42e024ee05e8f770180e5213a7c7ceac56cab05834d49847aa1432fcfad8286e092feddd421b33212e41716b3db5358903c11e\nTAG: c00612f3ee6619c87aa5c7958da77fdac74ea2ad1af9115fd003edc7bdb36f639dc2d89668f6c2440827a1e7bdb65acd172be229f8852d4b81d1d2ee1e167ff127fed768d0a6eb822c2fd88e733a0884f06e47d5f3a7e84e7f20d8b630c8e748a03f2eb807f3d6bf67d3f93ec97f22a3bfc477143f9e34049fd9143ad5e480bf538464fa847a5302e6d9ec3710122fe6c295191906d98d69e01e81a79de0538442a76a17fea214c74bec28c01370a0aed01e1a32a629857f5d48c3275b79a25d3fe549829e5d72d9d26c2e07fe133e214e40dfba4cd19ddccb01a6887bfba26db80b40eaee435a7619415af7be271739dc339fbe4a500db56613498b34c2b1f9dfbea13aff30c84fd1380ecd821b57cb3775\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 6f7bb1f9e2772eb909c315e653e4737cfed78a18\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: e5d56aea96fb40312e288074a21691ed29f17a547529d2427e8bcd5024e617411c08999a8a514adc83a14fe27c51b0f7d44f684fc60274c009274ff9af14d4b1277cc03453e02c0ceb26c796432f0d\nTAG: 07cea5df6c6594985f9af65319e2fcb1882f6d1d66fae0ab595ee72dc4a1118a7ef8ea450209809349b41664ee21afcb053e8edfa53bb1e66d9aefde4c48c6ff5b5e411c1228cbf5c1021d605311a20bd6708aa004d7da8bf72ddce1cbc9a12100969131d596cca0fe61c82208d0848ae0d098036a07600cc4b443e344b06d3162c8ebe14850239f77d178152fee009b1bd81a68bbf632082f9a62dbe60a1ba579077842c713ab4d5619b7abb15eb8fd3b1ee1506fe8df31bc90a63eeeefc0f23ab5ec83f4a1e9fa8833f15c90d6b68615ce297b466d5d67a87ac9fb10a2ffba5a91d31d1b18aaee8c00ff1a8b8df9584a33e946e85d8c6a6c8719421b75a8a56f964725abb4a4be790acbd60efde68671\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 172f4992e692a88f49628e5d3937959be01aed2e\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d4120\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: 7923c66ac88a9d3a2c9d9e714d491372caea0658b4e5692a7df8da934dce8525d0974848545ce89a44a735eedb22f18b5b8f1455c0aeedea9cb8f5c0bb51addd065a83c4e825ff3993ff58cf0af7577b\nTAG: 06b8d51726fe8d46fce9a59b084c3924c4aa9575d3b3f9b9e31a098c2c0475e460a89639863652164b724927ef13d2c52faeba797d38ddcb9274dfc6478c06626ec55954ce17df075f0b089ef155daf416980039458b7979afeefe9fa3e365ca19637b05cd17987e25f20e62031c32d441a102c22efb3660e4e3c13800acbfba0e7dc99175e35338b87ebb56d09a3b4bca72774d87e9cf92ce8e66917835c765129c8946c7f42ad8acd9afc22acc44a89dbebf6f4b2a55c139312559e2aaf6115aa617ce07cb2a63c66cbaeeeb5c95ce617928f93031f6dcbd3ee30a6fcd4cd9606695b690d95fb8d126c4962f49f11910a6e9daa2227f46a249819074a06cb5ffd449bd5744f9d9c70dc14475fd4b9a\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: 00133da1f7c63fd5f0eec364e9a359be02c1d3da\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: e0b671d572a26f0553cdeca68a4d023615570ed0e9414e5783691fb6d1c2bc30bb4a7590d3138972345f3a55f2f90fdc8ad46555d41968a00a6462c2bc0931a18df5480e48cfcfcc00078314cabe0e44ce\nTAG: d01f174c6f726b83162a8a0734e1b1e9e9498fa067454e3a488cee1a04703987d5ce9a219b4ba168a809a181d6a291eae84f91705fc0701166400f24775bf5816a67ea6f011829ca07ef1aec6ac3b7ba0576c26b557b00fb76e84b6e633c48b8c425678ae12c922a7af7ce0484861efccf958ed418e2658b03b5c978fe624b16428c41a2a7ee1cc07c9d730b689cf92f2041b5e68908fc93d8221821106d73363e2d53df824a82841be5bdc0668c5b8759a1e79e193dac2e55e4cc083569fa727b952a45e71840fc330977e072457de678d3f3694e429131e25efd339421094512755604e1ec84efdb52259f6e8284bb7ebdf229cd3e4f1abfd6498e3b493b21184f8a42ba31f4f22dbeacbb1d977d\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 60a6821269be6c5b985576b245f106128eb0b325\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: aa02a8b8deeb507cd2b2ee187af85b5afa85583c258df91df9cf5307316d03b5d8aad0441bacc27c4cb26c56239423f8e46746978c0edd3c21018f6b9a1c39278f71b462c6da999a6f4d9513a47cd7986c88\nTAG: 5cea96fc3da1457f7e66f324a3c634829a6382fb75efc614bf944cafda4c9cde5bf3118838487401497849d59f895d761b8b0da9f339123aeab5b237edd48d6c1ab4120da7769a7f8510bfca3d7313f0f38dc6c34fea81f60dd3e421afef2d9a61e6b0d7be96b357f1a293fe5c21d4ee858725a4c088f49a24930d846d2c0fad98002fa66a618367425cbae16fe570f3058fcfa2544f1d085ddbc6226e35c4355c916660f7f8fef4f5ab705c93b5182269adb8a4eeff4e62ee278c0588b96043f1ad24ca39a7ad458f541101e1d6cef99d742e2e4a124e4f3a57986d0192537d956231f4e49f5a87f5b7f5a4cdae6cc647b90177dc4d81232c62bad3d99036812f84b3208ed2edb8058f4973abd7\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (19 mod 64).\n# DIGEST: e2593f3b6741a9ed9fa188fc06efd057556ee624\nKEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df6\nAD: 60ed82933f62be8dc55b43\nCT: 8b397fb4fa218359120058dbd145f4bd99def7e5e0a88249783128801b3828909ea19d9f5fb0f3e15ebd624fc32525796ccf9ec01b1da3acc6dec2a9306c57db4eeeeef4830575fd8166c13c23664d4df4cbac\nTAG: fe141cebcd20919976fe53fa1a9e186db43122704ac5dcfd23abc2da394907a9da4011bf32a3948b0ae848d6d010024c6f37191f6fe5cdc46430b915a9c5cc80329ab5d32797fc97bf3ca270d8b35c14e3091c99ca3947492613d183845ea5b80619d20c38434261dab80d4068449a0880eadc55f0b43cc344a875adfd23020b6e63c3015c887ef52c72750c09f60c7bc0dc29ac7a6494bf9771c4aa931aa440ad400c1cdff8f3d1bc4173977128d1eb57731e4b69d3e6d4715dc5d2a9cfdc2afeabf3513b3e3c107a83ac48f511750f887f59b10f40e8f2d197832dbb1febb82c29627232e3793c8a72d7033c86cf99fb54dd2e3ce099d4fdb50a63b06d5f595d5bf59474cb190245a36095bd\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (20 mod 64).\n# DIGEST: 17450a437efe239e1858ac4062f34024305372be\nKEY: 65aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce99\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660\nAD: ed82933f62be8dc55b4369\nCT: 24e568a27d8bce547f628bfa545c4b7ccffce40f73b5abd6e1b60d5efca7cd6d5feda872e172f64d9193d3d2d3381efb52c05f98d3e1fb689fb05d7017654eb57346f1b3dee23b0f166e50531626582115af7cf0\nTAG: 4dae8797b02d7f1d8dc42b10f18973c094880a10207d9479aa825", @@ -761,9 +841,9 @@ static const char *kData18[] = { "642aae9f7bc42060e\nTAG_LEN: 20\n\n# DIGEST: 6b7295febce7fba8d79d1e7ab8fdfc452191e2ba\nKEY: 454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e\nAD: 6da12dd4c27f4372480974\nCT: a1d0537c3bddc7459a37268608d30ee8e15377c922a4300d7e7f00084cb45a9ab7cfc7f89dfb68f3cf7defd102012361782e977e22c12ac1d91d1e093a21ab26bd171b426af9af7b2dec9d1f2dcf78f19748b39e9b0736e24b44dabf677296db10dc28cd37751d020e1780e5fb00142e972baffc546b9b55bd0067e22ffee4f10312a590394a296cf6fba3456b3c0a64b662d232f185a41762bbad664f977328bba56b62f489d33821d4d604265c388b5ea852968db95ab844c7cb9498bd28d4b055760f83fa94f2a35492a4dd03a1fe9f0c2947fedd44b96948447054e2da7fd3b9d95bfcd0cfe3d1c909e84c9f87ba2a50c33d588592ff3c7c7b56442d52683e222f2610b740a2187159b05f2b15afbba7a97ef2dcb30813b89393706011397f4aa3c537e91fab098ecbf3a87c2185b9001ff1a78e104fbeac85bea4ad609bf1571d83969934d483794944c2e6bea9d778d2deac2d6344106c1dc30d56251faaab3f4dda43a2ed8c3345d9773e4fa4effc5edc3a68cc423b539ed63e8b0605b58aa881906e38b38f02a4df3708e9de4333056c96a02ad6d235636da61fedc631f705e771af9f522109a4d3b34d684b3b175d28a389ea574215131aa68016ea9cf3664b0baa6491f85d3a4370f73967e4c23637fd1d\nTAG: 131597a4dd3057b4a44498ea09294f2df51a5e81adcb3318ccd5\nTAG_LEN: 20\n\n# DIGEST: 1dadffba439570155af2509a548764a93042d23a\nKEY: e9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e97\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: 98c951eccacf8dcba5b819312f0ed234ea1cc06abee5f70888558000c2857de7411feffdf379c187d327943c63ab697675557a62c68c13f48d3970531225d5fb6c1434a126cfd6ba80b8f6dda08b3e3629ed12f7bbb45f45148f8544f0a8eb70c849260916eb62baa1bd850e082ad69ca5817594e8f26f63a1909ff03f5696b7a52f146af246c0c6485ea5826c89471c04fd6c373e9d0fef06f4a7b01400962ebfa4ef4166dc895619864accfef9a4be874111cb333518b33a3a2565d032a2434931a16e000d01e35317338ddbc48317517367603697a225d81fc63fcc7d4b8463bbd24910b4972375a995e13baa148b644993b9a7bd706ae64da00f898599957e406c1ab15fd44b6e85b41d47ffaec8136a5dadab324cb0ce95c738a1f8d246af90d98a68b8ab7003d74aa29591b58ca7b2dc38f21f4cfbc04f2e239728e1350b0f074293a13970b264bee368ff98c6960a805346c19702983d3ddfb6306f24cc7f8224e553b0668180787e48ca8e5d851f84df71d5ce6fd7815d39d7e3941b8e0562af98e6e244216bf418d7ca2d9e29ecd3997573b2c4d92aea1a5a82f2272af1218b379ca40a28cc7ce09ad60028a5a6aac6ce145cc3936f89a5d34ba54aeec8d99f84ebf7367fa5fdc12def2294fd3fa3299ba1a59aacc0d7\nTAG: f65b77267d53b2dfc87a936ae08ef7a3f630176553\nTAG_LEN: 20\n\n# DIGEST: e654b4c78e1c0061eea2996fc126c9bfd41eb6d9\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 5a1c2b7a8d5bc74901521e1300567f30e2b7755f004ddcfd8fe64f471cbaec4bc6d445ea931bafe6ad78034d0ac1d3916f1e0405c2f2aa4b193c2cd599d34b86029840ad379b136aea5c2a74ea70e22e8c8d1e017a2f7d47f8ebac7b85087075c28d6d2846e357ce031abe09e03629a32cef0b205d631f36ec9a1c9c4e90a80900e01688c7298b99be65f204ebaf312364bfdf57d9e16b0142e879a47b9ae0e96fc62e90883624ee2dc110f3a83ab341f4558f360df399170bbae57cb2eb377a87aaed9755e8057d76609d447a33a8255450504b71439fc0d03e0fffb775019ebf921325b42ef56e1b454b5c87ba5daa1f0d0920e860eea43c913d417cd9e9b6676759a4e2c71b0180b432fe2aab4e4fcffb51b4198ffbedbfcdb4dd4e105847f5a5832e85744f34bf3b9929ffeb177ceb4c5e68585a3ff8fda6569921b3d093a2f1d77e710f78245eacd471af88da8ff8f268293845a9a8550ef34e2bbff9d6cf55b18987c71eb98803bac42b0e6c062015fafb754c6a75f927cac4a8adfcfa8ee05a3f115f1f90d734f78180aec2aa621fa7908d350b0cd8550895cf4b5c3cc75eb95fa574f9a91c1f5efa61f054bedd9267f10a08a21b19e63754de10a1bb0c4ffd8c5c08558882a2f98f1175920a71b981affffde44ae1c9281eee161c4c\nTAG: 28f3243632b13692a2f175644a0e192d8102dd9e2affc5c1\nTAG_LEN: 20\n\n# DIGEST: 654b8591c7f0506261713e9ce7a6fd24a6b9357e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f03\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 62d0c56ae3e695bafc3cfa3c2d8b9d17ac8ff3b84ccac28d568c1ac84e1574ea06f31605caf86d4e809e39e9c275eed4a8f27eb00dc78e1c10dae719519d949dbc22e00d8644bc3806e54e6531864ae4cb5694002e2a3d7146b39b0b38acadbf1651401805f6394831c608b0478d496cc939b24aa3d3e6d445faceb798a69ae1308a593244645e242829f64f7945d0af8af0eeb6d391c69c2d5bf7b00e42092b36c23362bdd627af43ca7336d88cc36e95ede07b83afb54c8758678d19e0ea7956d8f26776b0f4b6b637c1152853651b6c130f436ffa2d4fd0c344e7583c5e56d6262f43767a1011d8398", "311dd6e3d7f9ea89d3eb3f6a1a9cb98905c0761fc5be1d83005fb9ca039b877c30b402743bdf0109ee5de42eef860be676a399a206c08dca8e757f059f7d9611137039b9053430e7d6406abcbf7aed645110aae84f758fcf0d225738cc7c90ace5d83eb9fe65d1e65efa4f6c9d808060cb0f72605e3d7c70e0d13d84689aa1e44aa4dcb152f230d456eb6cf520898bb249262d30c64fde02d6894f72ddff201e4bc41c5fc1f394f2620f764d40098292b04aee45e26812f3abf9a020b5215beb7938e2c121e809ab825d22a2d560bb9bde47572ecb891dd49b38f41af9649dfbdc83ab9bceb444bacdfca2fcbefd623364d4e255e2c0f3164ad92\nTAG: 42174887a9a11a8ac5d1d13e83f8502a3cb0310bbf46b24ff42e3d\nTAG_LEN: 20\n\n# DIGEST: 1eaad32c8d0cefaa5e2c503bb2185a73e6387fac\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb7\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: cc269c9aed42c9ba90c768710fa03985372a219f391327e438b1593af29aaf2b66cf8fd60f137d8ce8438a7bcbf7c1c7010c06636f191802daa26fe12ac1c1458baefb2a51fc7361b2d98311c2eaa27e046fffbb76fc855ac01a1321672658e394043367e89478a789d662c88e91642af53824097326d991abd62d1ab818452fc152aa1bd05032027fbb691886d9269937f7f57e214a2186a191b2249ba6fe79b69a94623d85ef0db6b5c2363627ea15a614e6ee42ce0a26a90faaa3ec45451c69c7d472d98b0376a95503b16c6f17eeeb42e0ad5c8775584819aa01309e6071e6b9494da6ddcf992ec6bfc81e0031d74353afa042abfe62fae02792bb6dcae82694cb651689e4039208bf677c90ed6245606cae81732d9d32043e5435f8c40cb76b55a03593dda1271aaccdbc24f18c9a881c77e1dca0e62bfdd36208ee94370b166d66203dfb90c8602dfb48159410840c669c47e7514bf91ef603834bc213173458a87909979b3b77aaa77262e1a634fcb40241818f544f9d207e91ca1f46f77c5c4f606398938f764080dda0978c6b76ce76830a15098870e72b5c9f4975b495d2c5d969688b555773601ad8c857ca8c38565674539fa71a8acadac5415b563f55811b0c010ca1e6793ad08e6c830a0ec2b385402fb8af3b6f0ea0b70b458667953207e4d44f1959\nTAG: ecd2bdb2e683ff8bc7d20482e698ce2b608032094cc2\nTAG_LEN: 20\n\n# DIGEST: 862c0517b3658e9b9cd27db608d49e24e9b4667d\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: def7eba4397065d05a7a1b742179c1d8eff65e7e4ac18bec49ed020a95497a58af4ce62679a36b77f95f72913c2a58184ea0c3b59b60784bdf63893a2a84f76ab2b6324a218361316971ebb1e2850b6c7baaf9130715580626bf298f60d862cc4b9c4f353a9e4c7536fd697ece9407eb8ad434c97e325cebd5aa0cf4a5342724f2950c8623aa3a5322f2e06a6b1d71a57b22a2f85ed1acacbeba192cb29ced37983e4231bb930c07f7266728c54e8fa9a0b7195975095fd714440e07d63aa87778061a361b4d44f0241a504089b738cdf3a6323b7a709d39637a2c61677c1f034214a4da6471a89425a5cc6040f37261b9a8e55589b2c24a01b4379dfe00ce758e9e617b6d15abcf0974be46d151c5d26e69c50d3fe68d1854b788d6a43e72a00b1602bb9e7557c4c298b99cccaa17fd950123d672978cd359e115eceb88480d59f5496a920949e09d0590283280d78df0ee068c475706701034b5b8686c60e2c4c4d4bafb2dd25c86293d472d195186f3fbaaaa000cf678295143aa290b011ec35e1eb2dcc6ad12593a934b60af7b570bc59569df2e99bf618aaa60e533265e2bfcfe3e01dd1620cd7d6df8b70726b5fa1191b0cdbe627f714744b2bf2abaddf800cc091ce5ee447f2a61ad36094743182ebbe236745bbeb27a946c8d8dba54dd3597fc4328bb3fa5f43371b531bb\nTAG: bcb4795a551fa0b1d147e2c8f70c31f20a60228963076b32bb\nTAG_LEN: 20\n\n", }; -static const size_t kLen19 = 455606; +static const size_t kLen20 = 455606; -static const char *kData19[] = { +static const char *kData20[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher 3des -mac sha1\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8e\nNONCE: d1c8e9ba2fd6773e\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 144c98ca1f\nTAG: 4a40ffe530b338e5173a8e62c8530b0c14b15046d12f2ca3158ad71effd0f46b29b3ae\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8e\nNONCE: d1c8e9ba2fd6773e\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 144c98ca1f\nTAG: 4a40ffe530b338e5173a8e62c8530b0c14b1508045d58f4bdae400\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: c6105cc86e18eb8376c16ea37693db5c07b77137\nKEY: 8503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe47\nNONCE: 7e0cdd46be99371e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748\nAD: 1df3f4183aa23fd8d7efd8\nCT: 17944422f667bf1356c234189f9c6cf7af52b2832b2fbaa990ccef4e7f9bc3841e59e25c00e3686d5bd5c29f\nTAG: 3ebd1b0bee840e8a6e992421c62de5a8fda3a82f\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: ceb2d295bd0efd37c6c34dab1854c80e986174fc\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65\nNONCE: de39f4f03541a11b\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: f2ab16ba87c52d066c0637d387b89d700a66828ef231b480f39aa08ac2447c8ddd205d1a95da37f267c06a1338532de890904f9f19c930adfb684e81cc06bdf2\nTAG: 3ff610fb9e208ff6ad58b78c5b2cf54b997eb3f24ac0171229ff7ee9cd5070de5a604f78b35b6cd25b3f2ab487847ca1e3928bf7f19bd19c9c9a1015dabd2de426fe57d342009ae4a2e67fdea378f24ec8dec1e87b62b6f70626bfd71f8d8d5e5c5b935a76527ee8a9a3094d635dc2b01a31dc4df336aa023517d7c35e142ccd6a79bc689e335f187a5358a00a7d4eb168cca3f9c6523ad4d74609a5b5c9e36db6bdf8464c4c8497c501084afa17557d070a7671c9144c86b4de9d57f033bc6b59a7f1f4e947b6a2d69c85877de731f6eb3db71d9f4c2dc086a3303bcbcd2f5b71643058b7ce08ef5879e0578ec81ced96ce907d4f32e67fd4cd269de9b60e09ff74bad6c86356ee297475ea7fe75d75\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: a07054c760cc66fc704edf950201005031f3faac\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de\nNONCE: 39f4f03541a11be1\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: d7059edbabb5cfc2cd5c459abd74e136790aad50d988c6c9271428597617db171b89ab171a68b14f9d417bb81f9f7d2e2045aa47c0b5d166c8b2622bd914c4e752\nTAG: e3d17e303776640b3ab712f6068c44e0e3b5d375203a8b01ad47e6f4681011eff04a41d03ff073e61c630b5faacb744447226a35e7496204911ddd660792be62c5f34c918a0d8514872100c4637ca12bc9c13b1580aed10a68c9187377441bcdf213bf3aa72831f3498d990a7a5960e1e6795bb11e4c7910a881d76ac81320ae61b151b8dbde093bc9e56b8204463d8ec31dc32b3cad5cd8cb48b5f20e54c17469ce97c069051c8e4b2ae5dffc0c2651d868a9909187c2732056213e41e315e94d14a84a24a676155ba86ef0b96efee3e4765dfc750953dc9a7ed739422c7d988f290432320313848a2eb7723c7c85ca3590eb35e3058d0462ddaab0cd48730107d4031a216c6c2595d1ca0b3f1815\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: d059c266cf6233af730b7a229b19356a4c6fcf06\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39\nNONCE: f4f03541a11be112\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: 8864e31c8b2ce1bcd1745671da5bd66e1e366b0af66b91f605574c841084a5df358483c7839e4456ae5a442930f21d4bde67578186a91c0a603468339ffbe3bfc607\nTAG: d8a0bcddd40964405ef006e0083e67a607b9f926e6508880d7784248a626d56a0673ff990920960fb307ed9cf40c2a1cc3b632b1f94aeb30efa02123e66165b77aa4be5e2aaba4c4a52372b403cae2f78a3bffc1cae8dc6f53839de7f16b8984304abc4a81ffe1ffb42799b54dc43ca0b963be6299a404fd4b3acf65939ac319966aae0a941c74135705092567e1237044c88f79b02b68ef622f9c776bbc04dbc2f58338c129f25afcd8cad7a0e91f30339457075b68df4960c003ef574e3aaae870787ae9ddab96495861388b341aa63ab2721abb176c4f2e6d5704cae123c20f1394d6a12d51fd5782dcb59d075775dfeb72df846995b87b1d374c0d0b8a003ba60f713ad777b8d6ad42c5e373\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 8aac0687e33041fcc18da154b41f20a6af2bfb28\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4\nNONCE: f03541a11be112a7\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: 1d239b3880e2261806ee770e7296d573d308d9850c8bd90a0764822faf5f65770f98f18ce4738538f03ad9b289bd5fa1367258f00d3ed91e32885bc45c30a240cad8c2\nTAG: dbeb6d1a1165a902128a27d7f55f4d928b56a3b83fa430d47bc4f935219fcc6005487f1ab14df0a07a270645d1c2fc23efc9866ec7e4427fe0382b75215c0f994f09c4ac54bf360f8ec938b02c17c4104127d2cb1eb51a11455180931b8e473838e5b1e61cf5cd05947a5b154be5df49905e6e7c049d00f065f680b0e5f3f4a7e9dad37d493f13c7ba318ca2bae086136d67b17a6ebf28b45cebcbfe115a45dfa32786a8b8354d51acf58bc126a13146e0ca509a26cc32c3e8ecf5b9d6ce76a9f76d674316c42f3140d5139304479376db2a167c65da7250e6fefc9d3b37a2072180ab3202f1fc7dd7f4598d1d976b15945fa73e1be07a91186ce7c16c4249d9f7287baafc572673925e95caba\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 53658226c112b86438dd27b58a71f9e36fc73c1e\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f0\nNONCE: 3541a11be112a729\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: 719d9de3bc86d08510354817d0fb94340ab1ddeefdb95a1cf460f7c9b185837b5320dd862b4c319619a0b18dc75f1762cf7c9bed63713c31e39a6f7069563441b9e6f106\nTAG: 8b61062c9480ffa62f7b96e9f50249426d05bf237d25e2b676e0041d40ba97101843d9ebc978949eb7ba53b8989ed0e93e5b91f13365345baefa1d7f59b694f6ef0bef0adc1d6763978e12fe354e57b90127533f3f991ce611e31e88a97962f859ebbc0e50d130c323aff35581f1f45cb5c650299025a03d99026d6f6a844ed9d5fe66e15a9fca79726afdaa54c077d148d561ca9e77e427b8f8074714aaf8b011697524e4d91bbab69bc01c8346e9055d7269cf124b503f7ad38c384abfd91ca36159d8a41e6389212167278b830ea464f7dffc3e01c9807368d3457ad5f21b33bcb1afd41ab7d805c9ed2f2c32da9bd4b510366b362dd02f50666ab8e5a72486b3c0d6b9bafb38c9375dda42daef635a0007ef\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 6b7d5268b0b5037afb5be5af6a0ceb34e7656ac4\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f035\nNONCE: 41a11be112a72933\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 9adce31c760d09ff911ed98eeb7146e82017261c8017d9a5fae1127479f6fb54d081cacc1ab7150f05d13547b992c1fe36a6e8e55ef1fa3bcc45bca495a981000a0c0b4f62\nTAG: 51d033e8003b06bf819a4f7978d75abec450c6b11a00bdf27f549f6060390ff99e0feb9509c6ac882777da699f5d5332d1b838a0436101574789ba485769ea6f4d73a10db775f06331140b218fa2ddad7fecf381fb9e3d26b06b3577bdf57e2a8435ba0e5b1e305ddf28070d1749d11ec5504cd9aa51ffe9133152ff35de21e4bbc3b109a318075d924bbaf0e267a1abd3d7afd2d3d8f4d951d4e96fa63741087a975eee8156b01fe566f7f6a309257c17a0bd9faae4c2781aae72eeab1903602b09b69026540a84b4786b8dce2a3e5ca26c65eb7b220dfad400cd236a4435d7fb1be60b9074f2f226e810d54abe7ec0cf10e7c465059720baf93915dda8a56d5a012a990d72408d2c9ab9b8dc813eb2f1caec\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGEST: 63efe7af50", "2231420ed5aecce9a28446b257828d\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541\nNONCE: a11be112a72933c7\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: b81f6e678c5a08244a5f578970d64f96f50ad5b5724a9287ee7b293308db34e03456f1745f79c594ecc480fb2a9412bd685e6c0df028eda06aaa15c90afa4ec01736450e3eb8\nTAG: 63b849636c212d353918c6e3044d298da268ccf1042987617860b58eb7ec8314ccd7762ebc39b62c0f0f1c346c8f4bbcbf3bd0134c0a7374de1868b08ba013398d8e4b578bb8d7359f2cff1629ede34da00138efa4a724d892fe4ed2b28613e66e0bb4830f66c14dccbf8656e615d66f267182662fee8a3e1fcde0941793f0bf2b00d6ab6e9fcb30553b620cf8e9e0a15f122808d739e698f88aa157baba12428541e928ed556517978f6c9f29c6ae8fe5b4e9ed6f0ce49351ac2a63e74bda9288a874a7fd5327c6856596a3271039dcf54affbaf29a5556f1fe1062279d2600b920f4e26c96e9e8fa696c521f60e9418975befa58ad564e730d1de312ca1b999a5e89b813743b1512659d809078243170ab\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: 1a555c300a1d1bd5b03cdd6bf2a678621624eb05\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a1\nNONCE: 1be112a72933c7b5\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: 6b6f94bc2326760d257d8156de961acac0b32d7f4d0e20363532e76ce76641ba66a1aa7945b9ee58527039cf83fcb01d8ef85254566947347463e161ec8cdec74a839637288d09\nTAG: 77b18bca8ed1d056d9c974054598216bc15bae5b7d70f3bbe32b3deb92398b0ce25a1efc5eb6782fa5fbcdbb415ef43eca090fcad4d34d53b1fd89cdd760e6424715c7703c51e08b72cb3e3b8a30bff159d5126f1473f216d5c931ae03703d3baf311a59d7ef3d6db123f3e8c0ca26fd3f8809ca63265d2fac935bec32631af43626ed1ee9785c81d7bd0cbc0c5178e1ca7de5d12c3592a7880be6590072c4728b2afa1eaaeecdf7cadd8304c2d4b614af7af14efa00dda595be92de09c74b39df05d7d023db721f86992c57061a264dead21e24fa47816f43b77b8ccccde44bfc32a015134a2cfaf04c582fb839202b08b81543ea9358d5735e7c197762a6a39936e26de58690a02dfc273e6779e77708\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: de9156349b578f2f44945ec6a676a67a829daea1\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11b\nNONCE: e112a72933c7b54e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 8f211be563f98f493745cca0e385e5b0113027efe3b0a880805427e363014323c4f6c7e6b30d2466c70ed56d63157f2c4f6dabe14d5a22c6c708ab3fb667a6c64ce5c8de22f5261b\nTAG: e5807ffa59e0005c9dd7eef0b854ee1b2cfccef9977f8a963167cc563d844f795c4ce4f9d03da95e4cfd2fc80c9efb6424df8cd3b7875a6ca129da8f509ab09d1f0eec0211e0ffe5492913fb688796a29a8eac54f374e8948991059f6e73a68eba75a892b3e2ed5ab9680eb0b308b07337e75ad5b406c260af5d27955aa820bd0435549700e960e66c211000885e19b804579acfa8c526603f8d743491d916fd4d0e250159e485a4db2fea39a8eb9443516518e6612aae97b1d9b7ac48066d5fbe2c1be3b2e20233a2fb4d39052ef4ca3bfc47e561aaac9c57a7dbff922d6d997821f6b09bf3b4c91bc6162b150e17bfa2544f93f2bebcb4d20322bf0357fdffeec8f75679e6627b4ffbf8e0bfee63c8\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: 12812df3aa7f3bbc899f6f248f5590e02570c292\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be1\nNONCE: 12a72933c7b54ed4\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: eeb6afcfd2626da1230067ed9938f7df35e99d2ba1c91d0e91c3db53034a3dd2ce3352b06e3d1b9e8415ef4ced9b2257eb05bc86db8204a8bd943bde51423a09459fecd528faccb646\nTAG: a69c7d8db2c021284e73b3c07620022eb6f199509e34611ed671c3558ae7c103c78024d96c00c791f3450d1e0338598a246855811af4cc9ae1a6522487a4a77b57b58ce29038ab0a2036404eae59133512b9ea40e2d7176e1b36965a27ee2c898d6514872bec952a029d9d85bfb0c99d8b348db6a3bbfedb6d1a3128664c454b9ef29f075fecc469f233e18567fe16759b378600a1d71504231e6caee5688e9858e14fe6fe850d95d7c010865781f0457a22f53add7ef57071c7153d312ca303e4884b83c9acfe86686517d80ce271c148cf3ab6464a9751b66ac7682a5f885ad9301a5602c099e89977f06b41badd1c2ea1f7027a38b749e2ca1a3ff4e4889e6dbd3674a52c8e24d2c76f64a6bc77\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: f3c89f21c327fca4aa400fabea9e39780378e901\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112\nNONCE: a72933c7b54ed4fa\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: e1eb2175bfee27951357b7536e2c3a4c607bf511d1922f6cce462fdf98de9dfbbea66d38884c270e29d08c5ace1d6bb7bcd2b46eaffc67a99e225927421a9894238cefa73bdb48694abf\nTAG: fc1d8ef98aa65ba8a288ca04990bfb373071633eb1e8f30847d3c19ebef66962cce12d015b045e10c9e0aa7f275137e00cb2c9a0508c0187827a74faca4bcd015620f1cdd8f72161bebbb8231ad4b705d1982db6f9fa1d2303c429469737a3141adf729729144f55223df1fb45705fb15adb5cd03c2936674a47d7f6aa5d2a4d9a017e57a4f5dd954504abb588866457730304878ca322f776e3c8e7becb8437002bc757d5b34b16d04ae4710553a624a3fca8866fb3d20672d6f4a2f937edecd58e68b7b0a8c39819ab48788956c1f3f5f4a15e7d13350090a20c61620c9181f03b4d68d7e4f336cb7e4a1a277df5101511150dd39fb43a84cfc480fd548035c8e9ec26602dd66d250fce39dfd8\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: e8e41988fad6c8b44c56544964cfe0a347b35b1e\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7\nNONCE: 2933c7b54ed4fad0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: a799c4a6590a4c48735d1da9746e5441cb11b664daada5d4d68d3a0110c4ad8d5e96d7331d5f7a0d1df9af5da4208065b6bf31affdfcd4944e8ed55b0ba7b7911be1a9052fbd93d5fbe292\nTAG: 6a6e5ced88748f87682759b554d9685280e094e083d297dc5fd474c4a2605612b2f8b1c31dea24d58c25bcacfbf03b8b09dc662d6e1120868ae9a0f1dbd2799756136c2a26a22e3a61a0216e76e94393534586e1a59c570d8bdb37d5ee6d0762e60c7171fc7953e59d74b0f2ff4a061d27a7baa8ed138c51264b356d9a42b0768bca1c1c458acdc82bd621031e2ae7790596594d2f6eda2c8d58d4b53cf6990434da8aa9e9eafec648d52233e9b92994ca5cbc071dceeed57b02e36f93f8d22551660cc4c1e425aa77dcda3bf6c98bff7905becc075e1707e37453de8f300be5aabc96c1051fa46c796a2c8367a00af3c4dccc58bb7dc8aa2e21e0886eceb898080bbc7259648f2be9da0f1b56\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: d1c7b2c04dc25fe7b742a1d659aec20e1475ee4f\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729\nNONCE: 33c7b54ed4fad0be\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: 2b8ac97f05a67490bf16bc64381e9c49e7f348212d0645056ca5405e9e0a248b6918568481ceca70e20ae4b7c1f62700a2954188793b34504fa86decc73f667e5fae944211059dfa94ef072e\nTAG: 5f91838f37198290b43fc04a186db6a05261ea9916a1dd6450604ed8a7d0bb59751f6637f593ef1a7e3aab6421b7a0cc6b5b47477d36bf439806dd8156e2bc2e229bcbaed9a3beedfa383d674d3b91922e6248d1aa8ad62361a4bdcfd3d86daeb6d775a521916ecefa2244aefbb0cfc0ede1b1c0e0059a4d69850160d2f4f662ea2b77fb074a6de69feab87bb56f27edc3a42037a041007f0a08d204cbad0a9047f7798dad51e5c04126519b53772ad4f3017f9d9fe91920aa7585a5f2d95e7a8fe5c7b22fc696be10e308f939c34e52b7bc2e71b06a56e3ffa5a0ed529eaf5a8c4b6857b1f144f51fc8bbc858c88ede7ca325d231b34e4ae0e7ac8fec3e8f6a9bbc6f8975fec1e877f0d05046c3fd7a0e15ebb3\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n# DIGEST: 116e20ff1e79e0af464d473b1e7c187f4dd66007\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933\nNONCE: c7b54ed4fad0be90\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: 783a362232c871213daa72d58658aee2ceb4de66198df21e22732601", "0be056d5c4d2481ffead6c80733603b132b256d1c52d64eb8b700d614dca0adeacc0c7a05d1a64ee7b5c8163d1eae17fdd\nTAG: ba611208a3cc40e2cc638c335fd508441aaa15c612a5100c960543d2ceef9709bbb3e70904f3f2efac3112fc61bdfe7accfb5f0e9d640812a4f5b0676d95b1d5298eddc97ce3aa16ee761491e9f424af39119c9f56322b10e8575697bc93d1f6a63007ae085bd20c83fc32a5d4e59ce8840f75b8c52f6aeda4fc34f11301d64e058b39ff765e1ec9997ec51aeb43b35cba9ad4b020e7dcee79ad532b897faee018dae1231ceafa1a5fca1ff1a01f863580c9c07b13354e31b0067a2fb16477150ab6d027fe88276767ebb46b1029c7d6dcacbf418f10d932dea2ea161ff8a4f6d79e0bdbf0a67227d5c9100a45fde25e2d4e360c0c0942e9ce13b570b5ea149dfe422fea36251e226b3f7eb709ed7c7339aaff\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c081d0d09b2c9eb39a372ef4a7b0246a0956b0f9\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7\nNONCE: b54ed4fad0be905d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: 894d8fc70288c7b8a5d12e63ed6e6e8c74b8d9837720762ccc519a42e024ee05e8f770180e5213a7c7ceac56cab05834d49847aa1432fcfad8286e092feddd421b33212e41716b3db5358903c11e\nTAG: c00612f3ee6619c87aa5c7958da77fdac74ea2ad1af9115fd003edc7bdb36f639dc2d89668f6c2440827a1e7bdb65acd172be229f8852d4b81d1d2ee1e167ff127fed768d0a6eb822c2fd88e733a0884f06e47d5f3a7e84e7f20d8b630c8e748a03f2eb807f3d6bf67d3f93ec97f22a3bfc477143f9e34049fd9143ad5e480bf538464fa847a5302e6d9ec3710122fe6c295191906d98d69e01e81a79de0538442a76a17fea214c74bec28c01370a0aed01e1a32a629857f5d48c3275b79a25d3fe549829e5d72d9d26c2e07fe133e214e40dfba4cd19ddccb01a6887bfba26db80b40eaee435a7619415af7be271739dc339fbe4a500db56613498b34c2b1f9dfbea13aff30c84fd1380ecd821b57cb3775\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 6f7bb1f9e2772eb909c315e653e4737cfed78a18\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b5\nNONCE: 4ed4fad0be905d41\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: e5d56aea96fb40312e288074a21691ed29f17a547529d2427e8bcd5024e617411c08999a8a514adc83a14fe27c51b0f7d44f684fc60274c009274ff9af14d4b1277cc03453e02c0ceb26c796432f0d\nTAG: 07cea5df6c6594985f9af65319e2fcb1882f6d1d66fae0ab595ee72dc4a1118a7ef8ea450209809349b41664ee21afcb053e8edfa53bb1e66d9aefde4c48c6ff5b5e411c1228cbf5c1021d605311a20bd6708aa004d7da8bf72ddce1cbc9a12100969131d596cca0fe61c82208d0848ae0d098036a07600cc4b443e344b06d3162c8ebe14850239f77d178152fee009b1bd81a68bbf632082f9a62dbe60a1ba579077842c713ab4d5619b7abb15eb8fd3b1ee1506fe8df31bc90a63eeeefc0f23ab5ec83f4a1e9fa8833f15c90d6b68615ce297b466d5d67a87ac9fb10a2ffba5a91d31d1b18aaee8c00ff1a8b8df9584a33e946e85d8c6a6c8719421b75a8a56f964725abb4a4be790acbd60efde68671\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 172f4992e692a88f49628e5d3937959be01aed2e\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e\nNONCE: d4fad0be905d4120\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: 7923c66ac88a9d3a2c9d9e714d491372caea0658b4e5692a7df8da934dce8525d0974848545ce89a44a735eedb22f18b5b8f1455c0aeedea9cb8f5c0bb51addd065a83c4e825ff3993ff58cf0af7577b\nTAG: 06b8d51726fe8d46fce9a59b084c3924c4aa9575d3b3f9b9e31a098c2c0475e460a89639863652164b724927ef13d2c52faeba797d38ddcb9274dfc6478c06626ec55954ce17df075f0b089ef155daf416980039458b7979afeefe9fa3e365ca19637b05cd17987e25f20e62031c32d441a102c22efb3660e4e3c13800acbfba0e7dc99175e35338b87ebb56d09a3b4bca72774d87e9cf92ce8e66917835c765129c8946c7f42ad8acd9afc22acc44a89dbebf6f4b2a55c139312559e2aaf6115aa617ce07cb2a63c66cbaeeeb5c95ce617928f93031f6dcbd3ee30a6fcd4cd9606695b690d95fb8d126c4962f49f11910a6e9daa2227f46a249819074a06cb5ffd449bd5744f9d9c70dc14475fd4b9a\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: 00133da1f7c63fd5f0eec364e9a359be02c1d3da\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4\nNONCE: fad0be905d41203f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: e0b671d572a26f0553cdeca68a4d023615570ed0e9414e5783691fb6d1c2bc30bb4a7590d3138972345f3a55f2f90fdc8ad46555d41968a00a6462c2bc0931a18df5480e48cfcfcc00078314cabe0e44ce\nTAG: d01f174c6f726b83162a8a0734e1b1e9e9498fa067454e3a488cee1a04703987d5ce9a219b4ba168a809a181d6a291eae84f91705fc0701166400f24775bf5816a67ea6f011829ca07ef1aec6ac3b7ba0576c26b557b00fb76e84b6e633c48b8c425678ae12c922a7af7ce0484861efccf958ed418e2658b03b5c978fe624b16428c41a2a7ee1cc07c9d730b689cf92f2041b5e68908fc93d8221821106d73363e2d53df824a82841be5bdc0668c5b8759a1e79e193dac2e55e4cc083569fa727b952a45e71840fc330977e072457de678d3f3694e429131e25efd339421094512755604e1ec84efdb52259f6e8284bb7ebdf229cd3e4f1abfd6498e3b493b21184f8a42ba31f4f22dbeacbb1d977d\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 60a6821269be6c5b985576b245f106128eb0b325\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fa\nNONCE: d0be905d41203f5d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: aa02a8b8deeb507cd2b2ee187af85b5afa85583c258df91df9cf5307316d03b5d8aad0441bacc27c4cb26c56239423f8e46746978c0edd3c21018f6b9a1c39278f71b462c6da999a6f4d9513a47cd7986c88\nTAG: 5cea96fc3da1457f7e66f324a3c634829a6382fb75efc614bf944cafda4c9cde5bf3118838487401497849d59f895d761b8b0da9f339123aeab5b237edd48d6c1ab4120da7769a7f8510bfca3d7313f0f38dc6c34fea81f60dd3e421afef2d9a61e6b0d7be96b357f1a293fe5c21d4ee858725a4c088f49a24930d846d2c0fad98002fa66a618367425cbae16fe570f3058fcfa2544f1d085ddbc6226e35c4355c916660f7f8fef4f5ab705c93b5182269adb8a4eeff4e62ee278c0588b96043f1ad24ca39a7ad458f541101e1d6cef99d742e2e4a124e4f3a57986d0192537d956231f4e49f5a87f5b7f5a4cdae6cc647b90177dc4d81232c62bad3d99036812f84b3208ed2edb8058f4973abd7\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (19 mod 64).\n# DIGEST: e2593f3b6741a9ed9fa188fc06efd057556ee624\nKEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0\nNONCE: be905d41203f5dce\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df6\nAD: 60ed82933f62be8dc55b43\nCT: 8b397fb4fa218359120058dbd145f4bd99def7e5e0a88249783128801b3828909ea19d9f5fb0f3e15ebd624fc32525796ccf9ec01b1da3acc6dec2a9306c57db4eeeeef4830575fd8166c13c23664d4df4cbac\nTAG: fe141cebcd20919976fe53fa1a9e186db43122704ac5dcfd23abc2da394907a9da4011bf32a3948b0ae848d6d010024c6f37191f6fe5cdc46430b915a9c5cc80329ab5d32797fc97bf3ca270d8b35c14e3091c99ca3947492613d183845ea5b80619d20c38434261dab80d4068449a0880eadc55f0b43cc344a875adfd23020b6e63c3015c887ef52c72750c09f60c7bc0dc29ac7a6494bf9771c4aa931aa440ad400c1cdff8f3d1bc4173977128d1eb57731e4b69d3e6d4715dc5d2a9cfdc2afeabf3513b3e3c107a83ac48f511750f887f59b10f40e8f2d197832dbb1febb82c29627232e3793c8a72d7033c86cf99fb54dd2e3ce099d4fdb50a63b06d5f595d5bf59474cb190245a36095bd\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (20 mod 64).\n# DIGEST: 17450a437efe239e1858ac4062f34024305372be\nKEY: 65aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nNONCE: 905d41203f5dce99\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660\nAD: ed82933f62be8dc55b4369\nCT: 24e568a27d8bce547f628bfa545c4b7ccffce40f73b5abd6e1b60d5efca7cd6d5feda872e172f64d9193d3d2d3381efb52c05f98d3e1fb689fb05d7017654eb57346f1b3dee23b0f166e50531626582115af7cf0\nTAG: 4dae8797b02d7f1d8dc42b10f18973c094880a10207d9479aa8252df66e855a7a4", @@ -821,9 +901,9 @@ static const char *kData19[] = { "060e\nTAG_LEN: 20\n\n# DIGEST: 6b7295febce7fba8d79d1e7ab8fdfc452191e2ba\nKEY: 454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6\nNONCE: 944f44d722271233\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e\nAD: 6da12dd4c27f4372480974\nCT: a1d0537c3bddc7459a37268608d30ee8e15377c922a4300d7e7f00084cb45a9ab7cfc7f89dfb68f3cf7defd102012361782e977e22c12ac1d91d1e093a21ab26bd171b426af9af7b2dec9d1f2dcf78f19748b39e9b0736e24b44dabf677296db10dc28cd37751d020e1780e5fb00142e972baffc546b9b55bd0067e22ffee4f10312a590394a296cf6fba3456b3c0a64b662d232f185a41762bbad664f977328bba56b62f489d33821d4d604265c388b5ea852968db95ab844c7cb9498bd28d4b055760f83fa94f2a35492a4dd03a1fe9f0c2947fedd44b96948447054e2da7fd3b9d95bfcd0cfe3d1c909e84c9f87ba2a50c33d588592ff3c7c7b56442d52683e222f2610b740a2187159b05f2b15afbba7a97ef2dcb30813b89393706011397f4aa3c537e91fab098ecbf3a87c2185b9001ff1a78e104fbeac85bea4ad609bf1571d83969934d483794944c2e6bea9d778d2deac2d6344106c1dc30d56251faaab3f4dda43a2ed8c3345d9773e4fa4effc5edc3a68cc423b539ed63e8b0605b58aa881906e38b38f02a4df3708e9de4333056c96a02ad6d235636da61fedc631f705e771af9f522109a4d3b34d684b3b175d28a389ea574215131aa68016ea9cf3664b0baa6491f85d3a4370f73967e4c23637fd1d\nTAG: 131597a4dd3057b4a44498ea09294f2df51a5e81adcb3318ccd5\nTAG_LEN: 20\n\n# DIGEST: 1dadffba439570155af2509a548764a93042d23a\nKEY: e9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722\nNONCE: 271233a825264e97\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: 98c951eccacf8dcba5b819312f0ed234ea1cc06abee5f70888558000c2857de7411feffdf379c187d327943c63ab697675557a62c68c13f48d3970531225d5fb6c1434a126cfd6ba80b8f6dda08b3e3629ed12f7bbb45f45148f8544f0a8eb70c849260916eb62baa1bd850e082ad69ca5817594e8f26f63a1909ff03f5696b7a52f146af246c0c6485ea5826c89471c04fd6c373e9d0fef06f4a7b01400962ebfa4ef4166dc895619864accfef9a4be874111cb333518b33a3a2565d032a2434931a16e000d01e35317338ddbc48317517367603697a225d81fc63fcc7d4b8463bbd24910b4972375a995e13baa148b644993b9a7bd706ae64da00f898599957e406c1ab15fd44b6e85b41d47ffaec8136a5dadab324cb0ce95c738a1f8d246af90d98a68b8ab7003d74aa29591b58ca7b2dc38f21f4cfbc04f2e239728e1350b0f074293a13970b264bee368ff98c6960a805346c19702983d3ddfb6306f24cc7f8224e553b0668180787e48ca8e5d851f84df71d5ce6fd7815d39d7e3941b8e0562af98e6e244216bf418d7ca2d9e29ecd3997573b2c4d92aea1a5a82f2272af1218b379ca40a28cc7ce09ad60028a5a6aac6ce145cc3936f89a5d34ba54aeec8d99f84ebf7367fa5fdc12def2294fd3fa3299ba1a59aacc0d7\nTAG: f65b77267d53b2dfc87a936ae08ef7a3f630176553\nTAG_LEN: 20\n\n# DIGEST: e654b4c78e1c0061eea2996fc126c9bfd41eb6d9\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825\nNONCE: 264e977045318c9b\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 5a1c2b7a8d5bc74901521e1300567f30e2b7755f004ddcfd8fe64f471cbaec4bc6d445ea931bafe6ad78034d0ac1d3916f1e0405c2f2aa4b193c2cd599d34b86029840ad379b136aea5c2a74ea70e22e8c8d1e017a2f7d47f8ebac7b85087075c28d6d2846e357ce031abe09e03629a32cef0b205d631f36ec9a1c9c4e90a80900e01688c7298b99be65f204ebaf312364bfdf57d9e16b0142e879a47b9ae0e96fc62e90883624ee2dc110f3a83ab341f4558f360df399170bbae57cb2eb377a87aaed9755e8057d76609d447a33a8255450504b71439fc0d03e0fffb775019ebf921325b42ef56e1b454b5c87ba5daa1f0d0920e860eea43c913d417cd9e9b6676759a4e2c71b0180b432fe2aab4e4fcffb51b4198ffbedbfcdb4dd4e105847f5a5832e85744f34bf3b9929ffeb177ceb4c5e68585a3ff8fda6569921b3d093a2f1d77e710f78245eacd471af88da8ff8f268293845a9a8550ef34e2bbff9d6cf55b18987c71eb98803bac42b0e6c062015fafb754c6a75f927cac4a8adfcfa8ee05a3f115f1f90d734f78180aec2aa621fa7908d350b0cd8550895cf4b5c3cc75eb95fa574f9a91c1f5efa61f054bedd9267f10a08a21b19e63754de10a1bb0c4ffd8c5c08558882a2f98f1175920a71b981affffde44ae1c9281eee161c4c\nTAG: 28f3243632b13692a2f175644a0e192d8102dd9e2affc5c1\nTAG_LEN: 20\n\n# DIGEST: 654b8591c7f0506261713e9ce7a6fd24a6b9357e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045\nNONCE: 318c9b66262c0f03\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 62d0c56ae3e695bafc3cfa3c2d8b9d17ac8ff3b84ccac28d568c1ac84e1574ea06f31605caf86d4e809e39e9c275eed4a8f27eb00dc78e1c10dae719519d949dbc22e00d8644bc3806e54e6531864ae4cb5694002e2a3d7146b39b0b38acadbf1651401805f6394831c608b0478d496cc939b24aa3d3e6d445faceb798a69ae1308a593244645e242829f64f7945d0af8af0eeb6d391c69c2d5bf7b00e42092b36c23362bdd627af43ca7336d88cc36e95ede07b83afb54c8758678d19e0ea7956d8f26776b0f4b6b637c1152853651b6c130f436ffa2d4fd0c344e7583c5e56d6262f43767a1011d8398311dd6e3d7f9e", "a89d3eb3f6a1a9cb98905c0761fc5be1d83005fb9ca039b877c30b402743bdf0109ee5de42eef860be676a399a206c08dca8e757f059f7d9611137039b9053430e7d6406abcbf7aed645110aae84f758fcf0d225738cc7c90ace5d83eb9fe65d1e65efa4f6c9d808060cb0f72605e3d7c70e0d13d84689aa1e44aa4dcb152f230d456eb6cf520898bb249262d30c64fde02d6894f72ddff201e4bc41c5fc1f394f2620f764d40098292b04aee45e26812f3abf9a020b5215beb7938e2c121e809ab825d22a2d560bb9bde47572ecb891dd49b38f41af9649dfbdc83ab9bceb444bacdfca2fcbefd623364d4e255e2c0f3164ad92\nTAG: 42174887a9a11a8ac5d1d13e83f8502a3cb0310bbf46b24ff42e3d\nTAG_LEN: 20\n\n# DIGEST: 1eaad32c8d0cefaa5e2c503bb2185a73e6387fac\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b6626\nNONCE: 2c0f0368fe9d0cb7\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: cc269c9aed42c9ba90c768710fa03985372a219f391327e438b1593af29aaf2b66cf8fd60f137d8ce8438a7bcbf7c1c7010c06636f191802daa26fe12ac1c1458baefb2a51fc7361b2d98311c2eaa27e046fffbb76fc855ac01a1321672658e394043367e89478a789d662c88e91642af53824097326d991abd62d1ab818452fc152aa1bd05032027fbb691886d9269937f7f57e214a2186a191b2249ba6fe79b69a94623d85ef0db6b5c2363627ea15a614e6ee42ce0a26a90faaa3ec45451c69c7d472d98b0376a95503b16c6f17eeeb42e0ad5c8775584819aa01309e6071e6b9494da6ddcf992ec6bfc81e0031d74353afa042abfe62fae02792bb6dcae82694cb651689e4039208bf677c90ed6245606cae81732d9d32043e5435f8c40cb76b55a03593dda1271aaccdbc24f18c9a881c77e1dca0e62bfdd36208ee94370b166d66203dfb90c8602dfb48159410840c669c47e7514bf91ef603834bc213173458a87909979b3b77aaa77262e1a634fcb40241818f544f9d207e91ca1f46f77c5c4f606398938f764080dda0978c6b76ce76830a15098870e72b5c9f4975b495d2c5d969688b555773601ad8c857ca8c38565674539fa71a8acadac5415b563f55811b0c010ca1e6793ad08e6c830a0ec2b385402fb8af3b6f0ea0b70b458667953207e4d44f1959\nTAG: ecd2bdb2e683ff8bc7d20482e698ce2b608032094cc2\nTAG_LEN: 20\n\n# DIGEST: 862c0517b3658e9b9cd27db608d49e24e9b4667d\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe\nNONCE: 9d0cb746bbd55813\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: def7eba4397065d05a7a1b742179c1d8eff65e7e4ac18bec49ed020a95497a58af4ce62679a36b77f95f72913c2a58184ea0c3b59b60784bdf63893a2a84f76ab2b6324a218361316971ebb1e2850b6c7baaf9130715580626bf298f60d862cc4b9c4f353a9e4c7536fd697ece9407eb8ad434c97e325cebd5aa0cf4a5342724f2950c8623aa3a5322f2e06a6b1d71a57b22a2f85ed1acacbeba192cb29ced37983e4231bb930c07f7266728c54e8fa9a0b7195975095fd714440e07d63aa87778061a361b4d44f0241a504089b738cdf3a6323b7a709d39637a2c61677c1f034214a4da6471a89425a5cc6040f37261b9a8e55589b2c24a01b4379dfe00ce758e9e617b6d15abcf0974be46d151c5d26e69c50d3fe68d1854b788d6a43e72a00b1602bb9e7557c4c298b99cccaa17fd950123d672978cd359e115eceb88480d59f5496a920949e09d0590283280d78df0ee068c475706701034b5b8686c60e2c4c4d4bafb2dd25c86293d472d195186f3fbaaaa000cf678295143aa290b011ec35e1eb2dcc6ad12593a934b60af7b570bc59569df2e99bf618aaa60e533265e2bfcfe3e01dd1620cd7d6df8b70726b5fa1191b0cdbe627f714744b2bf2abaddf800cc091ce5ee447f2a61ad36094743182ebbe236745bbeb27a946c8d8dba54dd3597fc4328bb3fa5f43371b531bb\nTAG: bcb4795a551fa0b1d147e2c8f70c31f20a60228963076b32bb\nTAG_LEN: 20\n\n", }; -static const size_t kLen20 = 116191; +static const size_t kLen21 = 116191; -static const char *kData20[] = { +static const char *kData21[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-128-CBC kat_aes/CBCGFSbox128.rsp kat_aes/CBCKeySbox128.rsp kat_aes/CBCVarKey128.rsp kat_aes/CBCVarTxt128.rsp\"\n\n# File 1: kat_aes/CBCGFSbox128.rsp\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: f34481ec3cc627bacd5dc3fb08f273e6\nCiphertext: 0336763e966d92595a567cc9ce537f5e\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 9798c4640bad75c7c3227db910174e72\nCiphertext: a9a1631bf4996954ebc093957b234589\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 96ab5c2ff612d9dfaae8c31f30c42168\nCiphertext: ff4f8391a6a40ca5b25d23bedd44a597\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 6a118a874519e64e9963798a503f1d35\nCiphertext: dc43be40be0e53712f7e2bf5ca707209\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: cb9fceec81286ca3e989bd979b0cb284\nCiphertext: 92beedab1895a94faa69b632e5cc47ce\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: b26aeb1874e47ca8358ff22378f09144\nCiphertext: 459264f4798f6a78bacb89c15ed3d601\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 58c8e00b2631686d54eab84b91f0aca1\nCiphertext: 08a4e2efec8a8e3312ca7460b9040bbf\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0336763e966d92595a567cc9ce537f5e\nPlaintext: f34481ec3cc627bacd5dc3fb08f273e6\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a9a1631bf4996954ebc093957b234589\nPlaintext: 9798c4640bad75c7c3227db910174e72\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ff4f8391a6a40ca5b25d23bedd44a597\nPlaintext: 96ab5c2ff612d9dfaae8c31f30c42168\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: dc43be40be0e53712f7e2bf5ca707209\nPlaintext: 6a118a874519e64e9963798a503f1d35\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 92beedab1895a94faa69b632e5cc47ce\nPlaintext: cb9fceec81286ca3e989bd979b0cb284\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 459264f4798f6a78bacb89c15ed3d601\nPlaintext: b26aeb1874e47ca8358ff22378f09144\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 08a4e2efec8a8e3312ca7460b9040bbf\nPlaintext: 58c8e00b2631686d54eab84b91f0aca1\n\n# File 2: kat_aes/CBCKeySbox128.rsp\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 10a58869d74be5a374cf867cfb473859\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6d251e6944b051e04eaa6fb4dbf78465\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: caea65cdbb75e9169ecd22ebe6e54675\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6e29201190152df4ee058139def610bb\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: a2e2fa9baf7d20822ca9f0542f764a41\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c3b44b95d9d2f25670eee9a0de099fa3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: b6364ac4e1de1e285eaf144a2415f7a0\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5d9b05578fc944b3cf1ccf0e746cd581\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 64cf9c7abc50b888af65f49d521944b2\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f7efc89d5dba578104016ce5ad659c05\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 47d6742eefcc0465dc96355e851b64d9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0306194f666d183624aa230a8b264ae7\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 3eb39790678c56bee34bbcdeccf6cdb5\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 858075d536d79ccee571f7d7204b1f67\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 64110a924f0743d500ccadae72c13427\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 35870c6a57e9e92314bcb8087cde72ce\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 18d8126516f8a12ab1a36d9f04d68e51\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6c68e9be5ec41e22c825b7c7affb4363\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: f530357968578480b398a3c251cd1093\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f5df39990fc688f1b07224cc03e86cea\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: da84367f325d42d601b4326964802e8e\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: bba071bcb470f8f6586e5d3add18bc66\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: e37b1c6aa2846f6fdb413f238b089f23\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 43c9f7e62f5d288bb27aa40ef8fe1ea8\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 6c002b682483e0cabcc731c253be5674\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3580d19cff44f1014a7c966a69059de5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 143ae8ed6555aba96110ab58893a8ae1\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 806da864dd29d48deafbe764f8202aef\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: b69418a85332240dc82492353956ae0c\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a303d940ded8f0baff6f75414cac5243\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 71b5c08a1993e1362e4d0ce9b22b78d5\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c2dabd117f8a3ecabfbb11d12194d9d0\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: e234cdca2606b81f29408d5f6da21206\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fff60a4740086b3b9c56195b98d91a7b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 13237c49074a3da078dc1d828bb78c6f\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8146a08e2357f0caa30ca8c94d1a0544\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 3071a2a48fe6cbd04f1a129098e308f8\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4b98e06d356deb07ebb824e5713f7be3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 90f42ec0f68385f2ffc5dfc03a654dce\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7a20a53d460fc9ce0423a7a0764c6cf2\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: febd9a24d8b65c1c787d50a4ed3619a9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f4a70d8af877f9b02b4c40df57d45b17\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 10a58869d74be5a374cf867cfb473859\nIV: 00000000000000000000000000000000\nCiphertext: 6d251e6944b051e04eaa6fb4dbf78465\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: caea65cdbb75e9169ecd22ebe6e54675\nIV: 00000000000000000000000000000000\nCiphertext: 6e29201190152df4ee058139def610bb\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: a2e2fa9baf7d20822ca9f0542f764a41\nIV: 00000000000000000000000000000000\nCiphertext: c3b44b95d9d2f25670eee9a0de099fa3\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: b6364ac4e1de1e285eaf144a2415f7a0\nIV: 00000000000000000000000000000000\nCiphertext: 5d9b05578fc944b3cf1ccf0e746cd581\nPlaintext: 00000000000000000000000", "000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 64cf9c7abc50b888af65f49d521944b2\nIV: 00000000000000000000000000000000\nCiphertext: f7efc89d5dba578104016ce5ad659c05\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 47d6742eefcc0465dc96355e851b64d9\nIV: 00000000000000000000000000000000\nCiphertext: 0306194f666d183624aa230a8b264ae7\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 3eb39790678c56bee34bbcdeccf6cdb5\nIV: 00000000000000000000000000000000\nCiphertext: 858075d536d79ccee571f7d7204b1f67\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 64110a924f0743d500ccadae72c13427\nIV: 00000000000000000000000000000000\nCiphertext: 35870c6a57e9e92314bcb8087cde72ce\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 18d8126516f8a12ab1a36d9f04d68e51\nIV: 00000000000000000000000000000000\nCiphertext: 6c68e9be5ec41e22c825b7c7affb4363\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: f530357968578480b398a3c251cd1093\nIV: 00000000000000000000000000000000\nCiphertext: f5df39990fc688f1b07224cc03e86cea\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: da84367f325d42d601b4326964802e8e\nIV: 00000000000000000000000000000000\nCiphertext: bba071bcb470f8f6586e5d3add18bc66\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: e37b1c6aa2846f6fdb413f238b089f23\nIV: 00000000000000000000000000000000\nCiphertext: 43c9f7e62f5d288bb27aa40ef8fe1ea8\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 6c002b682483e0cabcc731c253be5674\nIV: 00000000000000000000000000000000\nCiphertext: 3580d19cff44f1014a7c966a69059de5\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 143ae8ed6555aba96110ab58893a8ae1\nIV: 00000000000000000000000000000000\nCiphertext: 806da864dd29d48deafbe764f8202aef\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: b69418a85332240dc82492353956ae0c\nIV: 00000000000000000000000000000000\nCiphertext: a303d940ded8f0baff6f75414cac5243\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 71b5c08a1993e1362e4d0ce9b22b78d5\nIV: 00000000000000000000000000000000\nCiphertext: c2dabd117f8a3ecabfbb11d12194d9d0\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: e234cdca2606b81f29408d5f6da21206\nIV: 00000000000000000000000000000000\nCiphertext: fff60a4740086b3b9c56195b98d91a7b\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 13237c49074a3da078dc1d828bb78c6f\nIV: 00000000000000000000000000000000\nCiphertext: 8146a08e2357f0caa30ca8c94d1a0544\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 3071a2a48fe6cbd04f1a129098e308f8\nIV: 00000000000000000000000000000000\nCiphertext: 4b98e06d356deb07ebb824e5713f7be3\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 90f42ec0f68385f2ffc5dfc03a654dce\nIV: 00000000000000000000000000000000\nCiphertext: 7a20a53d460fc9ce0423a7a0764c6cf2\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: febd9a24d8b65c1c787d50a4ed3619a9\nIV: 00000000000000000000000000000000\nCiphertext: f4a70d8af877f9b02b4c40df57d45b17\nPlaintext: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey128.rsp\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 80000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0edd33d3c621e546455bd8ba1418bec8\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: c0000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4bc3f883450c113c64ca42e1112a9e87\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: e0000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 72a1da770f5d7ac4c9ef94d822affd97\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: f0000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 970014d634e2b7650777e8e84d03ccd8\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: f8000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f17e79aed0db7e279e955b5f493875a7\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fc000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9ed5a75136a940d0963da379db4af26a\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fe000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c4295f83465c7755e8fa364bac6a7ea5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ff000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b1d758256b28fd850ad4944208cf1155\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ff800000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 42ffb34c743de4d88ca38011c990890b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffc00000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9958f0ecea8b2172c0c1995f9182c0f3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffe00000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 956d7798fac20f82a8823f984d06f7f5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fff00000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a01bf44f2d16be928ca44aaf7b9b106b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fff80000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b5f1a33e50d40d103764c76bd4c6b6f8\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffc0000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2637050c9fc0d4817e2d69de878aee8d\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffe0000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 113ecbe4a453269a0dd26069467fb5b5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffff0000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 97d0754fe68f11b9e375d070a608c884\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffff8000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c6a0b3e998d05068a5399778405200b4\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffc000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: df556a33438db87bc41b1752c55e5e49\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffe000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 90fb128d3a1af6e548521bb962bf1f05\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffff000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 26298e9c1db517c215fadfb7d2a8d691\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffff800000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a6cb761d61f8292d0df393a279ad0380\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffc00000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 12acd89b13cd5f8726e34d44fd486108\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffe00000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 95b1703fc57ba09fe0c", "3580febdd7ed4\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffff00000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: de11722d893e9f9121c381becc1da59a\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffff80000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6d114ccb27bf391012e8974c546d9bf2\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffc0000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5ce37e17eb4646ecfac29b9cc38d9340\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffe0000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 18c1b6e2157122056d0243d8a165cddb\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffff0000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 99693e6a59d1366c74d823562d7e1431\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffff8000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6c7c64dc84a8bba758ed17eb025a57e3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffc000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e17bc79f30eaab2fac2cbbe3458d687a\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffe000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1114bc2028009b923f0b01915ce5e7c4\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffff000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9c28524a16a1e1c1452971caa8d13476\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffff800000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ed62e16363638360fdd6ad62112794f0\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffc00000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5a8688f0b2a2c16224c161658ffd4044\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffe00000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 23f710842b9bb9c32f26648c786807ca\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffff00000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 44a98bf11e163f632c47ec6a49683a89\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffff80000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0f18aff94274696d9b61848bd50ac5e5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffc0000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 82408571c3e2424540207f833b6dda69\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffe0000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 303ff996947f0c7d1f43c8f3027b9b75\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffff0000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7df4daf4ad29a3615a9b6ece5c99518a\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffff8000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c72954a48d0774db0b4971c526260415\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffc000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1df9b76112dc6531e07d2cfda04411f0\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffe000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e4d8e699119e1fc87545a647fb1d34f\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffff000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e6c4807ae11f36f091c57d9fb68548d1\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffff800000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8ebf73aad49c82007f77a5c1ccec6ab4\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffc00000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4fb288cc2040049001d2c7585ad123fc\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffe00000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 04497110efb9dceb13e2b13fb4465564\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffff00000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 75550e6cb5a88e49634c9ab69eda0430\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffff80000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b6768473ce9843ea66a81405dd50b345\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffc0000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cb2f430383f9084e03a653571e065de6\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffe0000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff4e66c07bae3e79fb7d210847a3b0ba\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffff0000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7b90785125505fad59b13c186dd66ce3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffff8000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8b527a6aebdaec9eaef8eda2cb7783e5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffc000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 43fdaf53ebbc9880c228617d6a9b548b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffe000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 53786104b9744b98f052c46f1c850d0b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffff000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b5ab3013dd1e61df06cbaf34ca2aee78\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffff800000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7470469be9723030fdcc73a8cd4fbb10\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffffc00000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a35a63f5343ebe9ef8167bcb48ad122e\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffffe00000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fd8687f0757a210e9fdf181204c30863\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffff00000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7a181e84bd5457d26a88fbae96018fb0\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffff80000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 653317b9362b6f9b9e1a580e68d494b5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffffc0000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 995c9dc0b689f03c45867b5faa5c18d1\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffffe0000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 77a4d96d56dda398b9aabecfc75729fd\n\nCipher: AES-128-C", @@ -840,9 +920,9 @@ static const char *kData20[] = { "0000000000000000\nCiphertext: b87c921b91829ef3b13ca541ee1130a6\nPlaintext: ffffffffffffffffffff800000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2e65eb6b6ea383e109accce8326b0393\nPlaintext: ffffffffffffffffffffc00000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9ca547f7439edc3e255c0f4d49aa8990\nPlaintext: ffffffffffffffffffffe00000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a5e652614c9300f37816b1f9fd0c87f9\nPlaintext: fffffffffffffffffffff00000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 14954f0b4697776f44494fe458d814ed\nPlaintext: fffffffffffffffffffff80000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7c8d9ab6c2761723fe42f8bb506cbcf7\nPlaintext: fffffffffffffffffffffc0000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: db7e1932679fdd99742aab04aa0d5a80\nPlaintext: fffffffffffffffffffffe0000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4c6a1c83e568cd10f27c2d73ded19c28\nPlaintext: ffffffffffffffffffffff0000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 90ecbe6177e674c98de412413f7ac915\nPlaintext: ffffffffffffffffffffff8000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 90684a2ac55fe1ec2b8ebd5622520b73\nPlaintext: ffffffffffffffffffffffc000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7472f9a7988607ca79707795991035e6\nPlaintext: ffffffffffffffffffffffe000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 56aff089878bf3352f8df172a3ae47d8\nPlaintext: fffffffffffffffffffffff000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 65c0526cbe40161b8019a2a3171abd23\nPlaintext: fffffffffffffffffffffff800000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 377be0be33b4e3e310b4aabda173f84f\nPlaintext: fffffffffffffffffffffffc00000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9402e9aa6f69de6504da8d20c4fcaa2f\nPlaintext: fffffffffffffffffffffffe00000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 123c1f4af313ad8c2ce648b2e71fb6e1\nPlaintext: ffffffffffffffffffffffff00000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1ffc626d30203dcdb0019fb80f726cf4\nPlaintext: ffffffffffffffffffffffff80000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 76da1fbe3a50728c50fd2e621b5ad885\nPlaintext: ffffffffffffffffffffffffc0000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 082eb8be35f442fb52668e16a591d1d6\nPlaintext: ffffffffffffffffffffffffe0000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e656f9ecf5fe27ec3e4a73d00c282fb3\nPlaintext: fffffffffffffffffffffffff0000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2ca8209d63274cd9a29bb74bcd77683a\nPlaintext: fffffffffffffffffffffffff8000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 79bf5dce14bb7dd73a8e3611de7ce026\nPlaintext: fffffffffffffffffffffffffc000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3c849939a5d29399f344c4a0eca8a576\nPlaintext: fffffffffffffffffffffffffe000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ed3c0a94d59bece98835da7aa4f07ca2\nPlaintext: ffffffffffffffffffffffffff000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 63919ed4ce10196438b6ad09d99cd795\nPlaintext: ffffffffffffffffffffffffff800000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7678f3a833f19fea95f3c6029e2bc610\nPlaintext: ffffffffffffffffffffffffffc00000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3aa426831067d36b92be7c5f81c13c56\nPlaintext: ffffffffffffffffffffffffffe00000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9272e2d2cdd11050998c845077a30ea0\nPlaintext: fffffffffffffffffffffffffff00000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 088c4b53f5ec0ff814c19adae7f6246c\nPlaintext: fffffffffffffffffffffffffff80000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4010a5e401fdf0a0354ddbcc0d012b17\nPlaintext: fffffffffffffffffffffffffffc0000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a87a385736c0a6189bd6589bd8445a93\nPlaintext: fffffffffffffffffffffffffffe0000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 545f2b83d9616dccf60fa9830e9cd287\nPlaintext: ffffffffffffffffffffffffffff0000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4b706f7f92406352394037a6d4f4688d\nPlaintext: ffffffffffffffffffffffffffff8000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b7972b3941c44b90afa7b264bfba7387\nPlaintext: ffffffffffffffffffffffffffffc000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6f45732cf10881546f0fd23896d2bb60\nPlaintext: ffffffffffffffffffffffffffffe000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2e3579ca15af27f64b3c955a5bfc30ba\nPlaintext: fffffffffffffffffffffffffffff000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 34a2c5a91ae2aec99b7d1b5fa6780447\nPlaintext: fffffffffffffffffffffffffffff800\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a4d6616bd04f87335b0e53351227a9ee\nPlaintext: fffffffffffffffffffffffffffffc00\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7f692b03945867d16179a8cefc83ea3f\nPlaintext: fffffffffffffffffffffffffffffe00\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3bd141ee84a0e6414a26e7a4f281f8a2\nPlaintext: ffffffffffffffffffffffffffffff00\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d17", "88f572d98b2b16ec5d5f3922b99bc\nPlaintext: ffffffffffffffffffffffffffffff80\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0833ff6f61d98a57b288e8c3586b85a6\nPlaintext: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8568261797de176bf0b43becc6285afb\nPlaintext: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f9b0fda0c4a898f5b9e6f661c4ce4d07\nPlaintext: fffffffffffffffffffffffffffffff0\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8ade895913685c67c5269f8aae42983e\nPlaintext: fffffffffffffffffffffffffffffff8\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 39bde67d5c8ed8a8b1c37eb8fa9f5ac0\nPlaintext: fffffffffffffffffffffffffffffffc\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5c005e72c1418c44f569f2ea33ba54f3\nPlaintext: fffffffffffffffffffffffffffffffe\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3f5b8cc9ea855a0afa7347d23e8d664e\nPlaintext: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen21 = 116210; +static const size_t kLen22 = 116210; -static const char *kData21[] = { +static const char *kData22[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-128-CTR -swap-iv-plaintext kat_aes/CBCGFSbox128.rsp kat_aes/CBCKeySbox128.rsp kat_aes/CBCVarKey128.rsp kat_aes/CBCVarTxt128.rsp\"\n\n# File 1: kat_aes/CBCGFSbox128.rsp\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: f34481ec3cc627bacd5dc3fb08f273e6\nCiphertext: 0336763e966d92595a567cc9ce537f5e\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 9798c4640bad75c7c3227db910174e72\nCiphertext: a9a1631bf4996954ebc093957b234589\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 96ab5c2ff612d9dfaae8c31f30c42168\nCiphertext: ff4f8391a6a40ca5b25d23bedd44a597\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 6a118a874519e64e9963798a503f1d35\nCiphertext: dc43be40be0e53712f7e2bf5ca707209\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: cb9fceec81286ca3e989bd979b0cb284\nCiphertext: 92beedab1895a94faa69b632e5cc47ce\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: b26aeb1874e47ca8358ff22378f09144\nCiphertext: 459264f4798f6a78bacb89c15ed3d601\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 58c8e00b2631686d54eab84b91f0aca1\nCiphertext: 08a4e2efec8a8e3312ca7460b9040bbf\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0336763e966d92595a567cc9ce537f5e\nIV: f34481ec3cc627bacd5dc3fb08f273e6\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a9a1631bf4996954ebc093957b234589\nIV: 9798c4640bad75c7c3227db910174e72\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff4f8391a6a40ca5b25d23bedd44a597\nIV: 96ab5c2ff612d9dfaae8c31f30c42168\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: dc43be40be0e53712f7e2bf5ca707209\nIV: 6a118a874519e64e9963798a503f1d35\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 92beedab1895a94faa69b632e5cc47ce\nIV: cb9fceec81286ca3e989bd979b0cb284\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 459264f4798f6a78bacb89c15ed3d601\nIV: b26aeb1874e47ca8358ff22378f09144\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 08a4e2efec8a8e3312ca7460b9040bbf\nIV: 58c8e00b2631686d54eab84b91f0aca1\n\n# File 2: kat_aes/CBCKeySbox128.rsp\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 10a58869d74be5a374cf867cfb473859\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6d251e6944b051e04eaa6fb4dbf78465\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: caea65cdbb75e9169ecd22ebe6e54675\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6e29201190152df4ee058139def610bb\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: a2e2fa9baf7d20822ca9f0542f764a41\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c3b44b95d9d2f25670eee9a0de099fa3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: b6364ac4e1de1e285eaf144a2415f7a0\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5d9b05578fc944b3cf1ccf0e746cd581\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 64cf9c7abc50b888af65f49d521944b2\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f7efc89d5dba578104016ce5ad659c05\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 47d6742eefcc0465dc96355e851b64d9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0306194f666d183624aa230a8b264ae7\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 3eb39790678c56bee34bbcdeccf6cdb5\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 858075d536d79ccee571f7d7204b1f67\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 64110a924f0743d500ccadae72c13427\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 35870c6a57e9e92314bcb8087cde72ce\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 18d8126516f8a12ab1a36d9f04d68e51\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6c68e9be5ec41e22c825b7c7affb4363\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: f530357968578480b398a3c251cd1093\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f5df39990fc688f1b07224cc03e86cea\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: da84367f325d42d601b4326964802e8e\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: bba071bcb470f8f6586e5d3add18bc66\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: e37b1c6aa2846f6fdb413f238b089f23\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 43c9f7e62f5d288bb27aa40ef8fe1ea8\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 6c002b682483e0cabcc731c253be5674\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3580d19cff44f1014a7c966a69059de5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 143ae8ed6555aba96110ab58893a8ae1\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 806da864dd29d48deafbe764f8202aef\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: b69418a85332240dc82492353956ae0c\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a303d940ded8f0baff6f75414cac5243\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 71b5c08a1993e1362e4d0ce9b22b78d5\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c2dabd117f8a3ecabfbb11d12194d9d0\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: e234cdca2606b81f29408d5f6da21206\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fff60a4740086b3b9c56195b98d91a7b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 13237c49074a3da078dc1d828bb78c6f\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8146a08e2357f0caa30ca8c94d1a0544\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 3071a2a48fe6cbd04f1a129098e308f8\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4b98e06d356deb07ebb824e5713f7be3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 90f42ec0f68385f2ffc5dfc03a654dce\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7a20a53d460fc9ce0423a7a0764c6cf2\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: febd9a24d8b65c1c787d50a4ed3619a9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f4a70d8af877f9b02b4c40df57d45b17\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 10a58869d74be5a374cf867cfb473859\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6d251e6944b051e04eaa6fb4dbf78465\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: caea65cdbb75e9169ecd22ebe6e54675\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6e29201190152df4ee058139def610bb\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: a2e2fa9baf7d20822ca9f0542f764a41\nPlaintext: 00000000000000000000000000000000\nCiphertext: c3b44b95d9d2f25670eee9a0de099fa3\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: b6364ac4e1de1e285eaf144a2415f7a0\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5d9b05578fc944b3cf1ccf0e746cd581\nIV: 0000", "0000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 64cf9c7abc50b888af65f49d521944b2\nPlaintext: 00000000000000000000000000000000\nCiphertext: f7efc89d5dba578104016ce5ad659c05\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 47d6742eefcc0465dc96355e851b64d9\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0306194f666d183624aa230a8b264ae7\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 3eb39790678c56bee34bbcdeccf6cdb5\nPlaintext: 00000000000000000000000000000000\nCiphertext: 858075d536d79ccee571f7d7204b1f67\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 64110a924f0743d500ccadae72c13427\nPlaintext: 00000000000000000000000000000000\nCiphertext: 35870c6a57e9e92314bcb8087cde72ce\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 18d8126516f8a12ab1a36d9f04d68e51\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6c68e9be5ec41e22c825b7c7affb4363\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: f530357968578480b398a3c251cd1093\nPlaintext: 00000000000000000000000000000000\nCiphertext: f5df39990fc688f1b07224cc03e86cea\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: da84367f325d42d601b4326964802e8e\nPlaintext: 00000000000000000000000000000000\nCiphertext: bba071bcb470f8f6586e5d3add18bc66\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: e37b1c6aa2846f6fdb413f238b089f23\nPlaintext: 00000000000000000000000000000000\nCiphertext: 43c9f7e62f5d288bb27aa40ef8fe1ea8\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 6c002b682483e0cabcc731c253be5674\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3580d19cff44f1014a7c966a69059de5\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 143ae8ed6555aba96110ab58893a8ae1\nPlaintext: 00000000000000000000000000000000\nCiphertext: 806da864dd29d48deafbe764f8202aef\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: b69418a85332240dc82492353956ae0c\nPlaintext: 00000000000000000000000000000000\nCiphertext: a303d940ded8f0baff6f75414cac5243\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 71b5c08a1993e1362e4d0ce9b22b78d5\nPlaintext: 00000000000000000000000000000000\nCiphertext: c2dabd117f8a3ecabfbb11d12194d9d0\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: e234cdca2606b81f29408d5f6da21206\nPlaintext: 00000000000000000000000000000000\nCiphertext: fff60a4740086b3b9c56195b98d91a7b\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 13237c49074a3da078dc1d828bb78c6f\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8146a08e2357f0caa30ca8c94d1a0544\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 3071a2a48fe6cbd04f1a129098e308f8\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4b98e06d356deb07ebb824e5713f7be3\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 90f42ec0f68385f2ffc5dfc03a654dce\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7a20a53d460fc9ce0423a7a0764c6cf2\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: febd9a24d8b65c1c787d50a4ed3619a9\nPlaintext: 00000000000000000000000000000000\nCiphertext: f4a70d8af877f9b02b4c40df57d45b17\nIV: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey128.rsp\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 80000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0edd33d3c621e546455bd8ba1418bec8\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: c0000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4bc3f883450c113c64ca42e1112a9e87\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: e0000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 72a1da770f5d7ac4c9ef94d822affd97\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: f0000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 970014d634e2b7650777e8e84d03ccd8\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: f8000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f17e79aed0db7e279e955b5f493875a7\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fc000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9ed5a75136a940d0963da379db4af26a\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fe000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c4295f83465c7755e8fa364bac6a7ea5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ff000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b1d758256b28fd850ad4944208cf1155\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ff800000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 42ffb34c743de4d88ca38011c990890b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffc00000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9958f0ecea8b2172c0c1995f9182c0f3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffe00000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 956d7798fac20f82a8823f984d06f7f5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fff00000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a01bf44f2d16be928ca44aaf7b9b106b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fff80000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b5f1a33e50d40d103764c76bd4c6b6f8\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffc0000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2637050c9fc0d4817e2d69de878aee8d\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffe0000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 113ecbe4a453269a0dd26069467fb5b5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffff0000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 97d0754fe68f11b9e375d070a608c884\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffff8000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c6a0b3e998d05068a5399778405200b4\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffc000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: df556a33438db87bc41b1752c55e5e49\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffe000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 90fb128d3a1af6e548521bb962bf1f05\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffff000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 26298e9c1db517c215fadfb7d2a8d691\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffff800000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a6cb761d61f8292d0df393a279ad0380\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffc00000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 12acd89b13cd5f8726e34d44fd486108\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffe00000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ", "95b1703fc57ba09fe0c3580febdd7ed4\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffff00000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: de11722d893e9f9121c381becc1da59a\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffff80000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6d114ccb27bf391012e8974c546d9bf2\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffc0000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5ce37e17eb4646ecfac29b9cc38d9340\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffe0000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 18c1b6e2157122056d0243d8a165cddb\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffff0000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 99693e6a59d1366c74d823562d7e1431\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffff8000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6c7c64dc84a8bba758ed17eb025a57e3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffc000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e17bc79f30eaab2fac2cbbe3458d687a\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffe000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1114bc2028009b923f0b01915ce5e7c4\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffff000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9c28524a16a1e1c1452971caa8d13476\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffff800000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ed62e16363638360fdd6ad62112794f0\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffc00000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5a8688f0b2a2c16224c161658ffd4044\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffe00000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 23f710842b9bb9c32f26648c786807ca\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffff00000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 44a98bf11e163f632c47ec6a49683a89\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffff80000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0f18aff94274696d9b61848bd50ac5e5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffc0000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 82408571c3e2424540207f833b6dda69\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffe0000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 303ff996947f0c7d1f43c8f3027b9b75\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffff0000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7df4daf4ad29a3615a9b6ece5c99518a\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffff8000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c72954a48d0774db0b4971c526260415\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffc000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1df9b76112dc6531e07d2cfda04411f0\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffe000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8e4d8e699119e1fc87545a647fb1d34f\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffff000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e6c4807ae11f36f091c57d9fb68548d1\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffff800000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8ebf73aad49c82007f77a5c1ccec6ab4\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffc00000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4fb288cc2040049001d2c7585ad123fc\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffe00000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 04497110efb9dceb13e2b13fb4465564\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffff00000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 75550e6cb5a88e49634c9ab69eda0430\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffff80000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b6768473ce9843ea66a81405dd50b345\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffc0000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cb2f430383f9084e03a653571e065de6\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffe0000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ff4e66c07bae3e79fb7d210847a3b0ba\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffff0000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7b90785125505fad59b13c186dd66ce3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffff8000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8b527a6aebdaec9eaef8eda2cb7783e5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffc000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 43fdaf53ebbc9880c228617d6a9b548b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffe000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 53786104b9744b98f052c46f1c850d0b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffff000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b5ab3013dd1e61df06cbaf34ca2aee78\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffff800000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7470469be9723030fdcc73a8cd4fbb10\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffffc00000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a35a63f5343ebe9ef8167bcb48ad122e\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffffe00000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fd8687f0757a210e9fdf181204c30863\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffff00000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7a181e84bd5457d26a88fbae96018fb0\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffff80000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 653317b9362b6f9b9e1a580e68d494b5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffffc0000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 995c9dc0b689f03c45867b5faa5c18d1\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffffe0000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 77a4d96d56dda398b9aabecfc75729fd", @@ -859,9 +939,9 @@ static const char *kData21[] = { "laintext: 00000000000000000000000000000000\nCiphertext: b87c921b91829ef3b13ca541ee1130a6\nIV: ffffffffffffffffffff800000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e65eb6b6ea383e109accce8326b0393\nIV: ffffffffffffffffffffc00000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9ca547f7439edc3e255c0f4d49aa8990\nIV: ffffffffffffffffffffe00000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a5e652614c9300f37816b1f9fd0c87f9\nIV: fffffffffffffffffffff00000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 14954f0b4697776f44494fe458d814ed\nIV: fffffffffffffffffffff80000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7c8d9ab6c2761723fe42f8bb506cbcf7\nIV: fffffffffffffffffffffc0000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: db7e1932679fdd99742aab04aa0d5a80\nIV: fffffffffffffffffffffe0000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4c6a1c83e568cd10f27c2d73ded19c28\nIV: ffffffffffffffffffffff0000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 90ecbe6177e674c98de412413f7ac915\nIV: ffffffffffffffffffffff8000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 90684a2ac55fe1ec2b8ebd5622520b73\nIV: ffffffffffffffffffffffc000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7472f9a7988607ca79707795991035e6\nIV: ffffffffffffffffffffffe000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 56aff089878bf3352f8df172a3ae47d8\nIV: fffffffffffffffffffffff000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 65c0526cbe40161b8019a2a3171abd23\nIV: fffffffffffffffffffffff800000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 377be0be33b4e3e310b4aabda173f84f\nIV: fffffffffffffffffffffffc00000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9402e9aa6f69de6504da8d20c4fcaa2f\nIV: fffffffffffffffffffffffe00000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 123c1f4af313ad8c2ce648b2e71fb6e1\nIV: ffffffffffffffffffffffff00000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1ffc626d30203dcdb0019fb80f726cf4\nIV: ffffffffffffffffffffffff80000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 76da1fbe3a50728c50fd2e621b5ad885\nIV: ffffffffffffffffffffffffc0000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 082eb8be35f442fb52668e16a591d1d6\nIV: ffffffffffffffffffffffffe0000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e656f9ecf5fe27ec3e4a73d00c282fb3\nIV: fffffffffffffffffffffffff0000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2ca8209d63274cd9a29bb74bcd77683a\nIV: fffffffffffffffffffffffff8000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 79bf5dce14bb7dd73a8e3611de7ce026\nIV: fffffffffffffffffffffffffc000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3c849939a5d29399f344c4a0eca8a576\nIV: fffffffffffffffffffffffffe000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ed3c0a94d59bece98835da7aa4f07ca2\nIV: ffffffffffffffffffffffffff000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 63919ed4ce10196438b6ad09d99cd795\nIV: ffffffffffffffffffffffffff800000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7678f3a833f19fea95f3c6029e2bc610\nIV: ffffffffffffffffffffffffffc00000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3aa426831067d36b92be7c5f81c13c56\nIV: ffffffffffffffffffffffffffe00000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9272e2d2cdd11050998c845077a30ea0\nIV: fffffffffffffffffffffffffff00000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 088c4b53f5ec0ff814c19adae7f6246c\nIV: fffffffffffffffffffffffffff80000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4010a5e401fdf0a0354ddbcc0d012b17\nIV: fffffffffffffffffffffffffffc0000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a87a385736c0a6189bd6589bd8445a93\nIV: fffffffffffffffffffffffffffe0000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 545f2b83d9616dccf60fa9830e9cd287\nIV: ffffffffffffffffffffffffffff0000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4b706f7f92406352394037a6d4f4688d\nIV: ffffffffffffffffffffffffffff8000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b7972b3941c44b90afa7b264bfba7387\nIV: ffffffffffffffffffffffffffffc000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6f45732cf10881546f0fd23896d2bb60\nIV: ffffffffffffffffffffffffffffe000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e3579ca15af27f64b3c955a5bfc30ba\nIV: fffffffffffffffffffffffffffff000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 34a2c5a91ae2aec99b7d1b5fa6780447\nIV: fffffffffffffffffffffffffffff800\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a4d6616bd04f87335b0e53351227a9ee\nIV: fffffffffffffffffffffffffffffc00\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7f692b03945867d16179a8cefc83ea3f\nIV: fffffffffffffffffffffffffffffe00\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3bd141ee84a0e6414a26e7a4f281f8a2\nIV: ffffffffffffffffffffffffffffff00\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 0000000000000000000000", "0000000000\nCiphertext: d1788f572d98b2b16ec5d5f3922b99bc\nIV: ffffffffffffffffffffffffffffff80\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0833ff6f61d98a57b288e8c3586b85a6\nIV: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8568261797de176bf0b43becc6285afb\nIV: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f9b0fda0c4a898f5b9e6f661c4ce4d07\nIV: fffffffffffffffffffffffffffffff0\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8ade895913685c67c5269f8aae42983e\nIV: fffffffffffffffffffffffffffffff8\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 39bde67d5c8ed8a8b1c37eb8fa9f5ac0\nIV: fffffffffffffffffffffffffffffffc\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5c005e72c1418c44f569f2ea33ba54f3\nIV: fffffffffffffffffffffffffffffffe\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3f5b8cc9ea855a0afa7347d23e8d664e\nIV: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen22 = 5321952; +static const size_t kLen23 = 5321952; -static const char *kData22[] = { +static const char *kData23[] = { "# Generated by \"make_cavp -cipher gcm kat_gcm/gcmDecrypt128.rsp kat_gcm/gcmEncryptExtIV128.rsp\"\n\n# File 1: kat_gcm/gcmDecrypt128.rsp\n\nKEY: cf063a34d4a9a76c2c86787d3f96db71\nNONCE: 113b9785971864c83b01c787\nCT: \nAD: \nTAG: 72ac8493e3a5228b5d130a69d2510e42\nIN: \n\nKEY: a49a5e26a2f8cb63d05546c2a62f5343\nNONCE: 907763b19b9b4ab6bd4f0281\nCT: \nAD: \nTAG: a2be08210d8c470a8df6e8fbd79ec5cf\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2ad0bf5aeb47a0c1a98da3dfdab4fded\nNONCE: 25f1b6091ee7040fea4ba854\nCT: \nAD: \nTAG: d7963d240317653e01cf5abe5d0966ae\nIN: \n\nKEY: d8cd400a0a73d114cd3ecf36537cab3d\nNONCE: 3c162c9f16a49b8fe6c92a81\nCT: \nAD: \nTAG: 4203aec165f9d397cf9009770a088c16\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a982a7bae2b3eae1b7832f16faf693b4\nNONCE: 78d2d2fa43850483ce933576\nCT: \nAD: \nTAG: ceabb89ee3179e25ed32d5a225006361\nIN: \n\nKEY: f9e3992196f7d7a21bd956f4b5a5ffce\nNONCE: 0794a6bdf5f198c9f193b9ba\nCT: \nAD: \nTAG: f8247fd5dc7bd6d40e96af32aa9c1889\nIN: \n\nKEY: c91aab7ebe13653a71a4232fd1beb793\nNONCE: 7799464b6de6383da0daec52\nCT: \nAD: \nTAG: 00c4f7033f3c05e9d531f3ca573dc98d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e7e4eefd0a3abd4ee1bef270d257eab7\nNONCE: f548f2a04a50a2f0342b2250\nCT: \nAD: \nTAG: 044159b8a18668167fbd28ac500c20fe\nIN: \n\nKEY: 1bd49e553457459aee1b5d83e7c216a2\nNONCE: 2b37cf40ed2685eb2a907cd0\nCT: \nAD: \nTAG: fcb41d17fdb023d4d14f84a387d3ad77\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 4d6486fa68ce5a14b9db7334ab4838cb\nNONCE: afad3f4190d56a1b8eb08e58\nCT: \nAD: \nTAG: 4bda04755b7ce9da020ce7467a5ced8f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: da5b59d5eb448fd6c08c350df9a82114\nNONCE: 15fb65d9fe2fa27f226312c0\nCT: \nAD: \nTAG: e407fccbb9f00eeb9cef4a520cff957c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 07d5a7d405b21c64d74cc0988693b784\nNONCE: 2eefd7990ea025925e9ca6f9\nCT: \nAD: \nTAG: 1439522d18c9eb129f1f776590027761\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 48760dec952010140ffc4b4078438b56\nNONCE: 930cc3ff276d7bbb74d187ef\nCT: \nAD: \nTAG: 8673dcb97934d54dc17de0037344737f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: ed7c50762dc0dc4aa5c8be4cf0a56b88\nNONCE: 50dfb73b5034cffb6709af8f\nCT: \nAD: \nTAG: cb02203ee8eccec446ed1c2cf68fd1c0\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: b5d4b3e80a56adbc780ff02c5da6a7ab\nNONCE: abc5b96c5e872502971dcc55\nCT: \nAD: \nTAG: 4e85677cc16e2b2fb50a2ca9c0ac1b9c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: eac258e99c55e6ae8ef1da26640613d7\nNONCE: 4e8df20faaf2c8eebe922902\nCT: \nAD: \nTAG: e39aeaebe86aa309a4d062d6274339\nIN: \n\nKEY: 3726cf02fcc6b8639a5497652c94350d\nNONCE: 55fef82cde693ce76efcc193\nCT: \nAD: \nTAG: 3d68111a81ed22d2ef5bccac4fc27f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f202299d5fd74f03b12d2119a6c4c038\nNONCE: eec51e7958c3f20a1bb71815\nCT: \nAD: \nTAG: a81886b3fb26e51fca87b267e1e157\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fd52925f39546b4c55ffb6b20c59898c\nNONCE: f5cf3227444afd905a5f6dba\nCT: \nAD: \nTAG: 1665b0f1a0b456e1664cfd3de08ccd\nIN: \n\nKEY: 39c070eaace1c6e30ab004bfbfa830fd\nNONCE: 6e55ff3bba561f17f338313c\nCT: \nAD: \nTAG: 4e3c2db540790f26a4704e72ef9b4f\nIN: \n\nKEY: 96b12ebb99edca96838f88caaa74abbc\nNONCE: 679feb33d6e35962518a63c1\nCT: \nAD: \nTAG: cbe9d90bb8600bb14e8ca81cde5b2e\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5b1a1ad45349cb7ec3afb613674c9381\nNONCE: 7ef3542c0ca2415f767eec7c\nCT: \nAD: \nTAG: fbc65cc7f1f4edbb746b47f950e472\nIN: \n\nKEY: b349f8d86e91144c86ed49a100358239\nNONCE: 3e3879e1a4ccf74cc442b9c5\nCT: \nAD: \nTAG: 0d935691c84813b8c1e5ba23ee621f\nIN: \n\nKEY: df4074001cf89ad0b046fceeea5a1ef2\nNONCE: 080fb68a083a219354a7cdcd\nCT: \nAD: \nTAG: eaa44ef28c446610b33dd2fdbdb8a0\nIN: \n\nKEY: 84816510accb68149ee65be220df3d9e\nNONCE: 99c41452f73f3a2dd48f2eaf\nCT: \nAD: \nTAG: 5d5f3c09d2498587c7230dbe5fd497\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 98740d9ac6cee9379253d4e6718a1de5\nNONCE: b723dd15270c767a31636117\nCT: \nAD: \nTAG: 199630b915021b98055f295d08befc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 79b8cb97ec3e3f7536eeaffc64bdb372\nNONCE: e945122f1e4d960a2e9f9a41\nCT: \nAD: \nTAG: cb9c041f18070030399006d77954cb\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 26e7fb1c3b5448d7ad7b67aadaf360bb\nNONCE: 34bf017f9283236dee171e10\nCT: \nAD: \nTAG: 8756ca5c8aa644a852e5eb2c49bf39\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d6a515d24ef9099695b179c01bc1f4b1\nNONCE: b54a5bbbf6faae5f33b8c133\nCT: \nAD: \nTAG: 02b1243c92f6b059d00bd672dfb8e5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9e9ec40db0a07f24c417d3c63d1b946b\nNONCE: 8605c97fa5d8f94798b845f9\nCT: \nAD: \nTAG: 10ce3c41553e7f5b413d1470ced09b\nIN: \n\nKEY: dc1b3fdce56baf77ddb22246ebb224db\nNONCE: 1394643db950ac42366cda3c\nCT: \nAD: \nTAG: 25bfdb151d21994e90b095230247\nIN: \n\nKEY: c1b668ee720eb90730d7c30e663e941b\nNONCE: b8f27f51092d65697a9740de\nCT: \nAD: \nTAG: d6acce523efdb3e7b28220896827\nIN: \n\nKEY: 7a25451203338a3a046902fc5169a9ac\nNONCE: 070a0b0fb560999c6b778aa5\nCT: \nAD: \nTAG: 51d73876b57dea6ef24e2740fc69\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8747e8b9058632721cab00c217e24fca\nNONCE: c44c7bbf8b4a48e2b64c4e41\nCT: \nAD: \nTAG: 2f7fccde59ec9e6ad2cbd6ced7c1\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 79d9e7d647dbe9926ba08f078b2c4768\nNONCE: b7fef625e03c6e97bb7988eb\nCT: \nAD: \nTAG: 8508fe578eacef69d8e1468cc905\nIN: \n\nKEY: 84ade1f350d68ceff9fe8a7ef120e7b6\nNONCE: 7617886bff63257768f54173\nCT: \nAD: \nTAG: 461ecfef2f3b746cc3a47c28a43a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f7a85574fb8be04e92d219cf3524877b\nNONCE: 9a3febc5d2bd389e0db3863c\nCT: \nAD: \nTAG: 69a1d7bbf81f830534312c641068\nIN: \n\nKEY: 18f42b8a3dca6e80777d5c681d8c4a32\nNONCE: ed425811547c5989ea6d4cb2\nCT: \nAD: \nTAG: 60b5712b52b56facc8758aec40c9\nIN: \n\nKEY: adeb972fe5160e14137c286b6e281163\nNONCE: 38e536e647b83fc429bbcabd\nCT: \nAD: \nTAG: 22e32a3c2637ac48c0deaf06435c\nIN: \n\nKEY: 0686f241ca82a590980929858c789d7a\nNONCE: c5d0737448692684c5ac1c8c\nCT: \nAD: \nTAG: 65eecbd0fe423c6e1608745ab677\nIN: \n\nKEY: f7d57c6e4699d4f242270f41781d39dc\nNONCE: a2842a9dd1b5874cb50e8707\nCT: \nAD: \nTAG: 09999cdc3dd28e818b88a6485c8d\nIN: \n\nKEY: 4df05ee5ee95c69938b4049a2be92504\nNONCE: afdefd136622128fd6c2c534\nCT: \nAD: \nTAG: 3a24e5f166d70627954b55029fc3\nIN: \n\nKEY: 0f4469766ea265d22cba4c7105bc49b0\nNONCE: 25ede41ed4c638195354713a\nCT: \nAD: \nTAG: 6dd4e9cc6ed04976f2cced5804b4\nIN: \n\nKEY: 24c7de158fcb0808b3cfda0e95706e6f\nNONCE: 88eb7f00a129040d05952d17\nCT: \nAD: \nTAG: 2d587fd20457566fed19cca36d2b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2610de38144b05876b0d0b34a1c7812e\nNONCE: 6673bf587f9f90df3a1715fd\nCT: \nAD: \nTAG: 7b13fff5e79951ebee51d12f8422\nIN: \n\nKEY: a830c905dad3a8e5aae739d7ab60a5dc\nNONCE: 54633aa565952e80fb0b9869\nCT: \nAD: \nTAG: 482d9381230cd015b2a16976b6\nIN: \n\nKEY: eb7ae9788a5dc09a7812e389c67138ea\nNONCE: 2ecd19b70ffe87cad58a0029\nCT: \nAD: \nTAG: c1ebf4e3594a722bab9f61e084\nIN: \n\nKEY: 9c247b33ffb3fe486f8f1c06b3db6563\nNONCE: 978769bc16a7dd3d90ab9d76\nCT: \nAD: \nTAG: 09acccba7e7be6b5687b478327\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 23281eec6b12fe1184e6c113788915b8\nNONCE: 78538fb690491381daa41ef5\nCT: \nAD: \nTAG: 80d9c8d781035be9f68de209ad\nIN: \n\nKEY: 443657744df4b5d5de80f27efe244b27\nNONCE: a637b48e67d1cf8f3ddf6d7c\nCT: \nAD: \nTAG: bf84664af0260e0b5b352e5cd9\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: b93ae43e8eb3e94b67b09b833e376327\nNONCE: 14ef4f357845d34ce06b170a\nCT: \nAD: \nTAG: 22c987ec9c91ce7714fbb794d8\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6eff3644c83c75c0678cf4f6713561f7\nNONCE: e7bf04fab5909668065d2b43\nCT: \nAD: \nTAG: 2fab50a07c1a50ba8e4381dad9\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9613b9b4c70e5ab130534309059e99b7\nNONCE: 40414f80b586ecfb22860442\nCT: \nAD: \nTAG: 9cc1a298d9d57b6d4bcdf3e5b5\nIN: \n\nKEY: 400fcee6ea1b8b1fccffdbccef08a5e2\nNONCE: dc16236581a6da126550b08a\nCT: \nAD: \nTAG: 6ceeca2188cf4da42ed3f248df\nIN: \n\nKEY: d27c84466faf1a45a2435eb9293478e2\nNONCE: cdd7e1bdf60bd12885dc8fdc\nCT: \nAD: \nTAG: 5397381a8817ef557ac6c57a22\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8ed40d2b24f52dbf2fa8486c8fde62e9\nNONCE: 837f36e0f6fb34d08e8df9f9\nCT: \nAD: \nTAG: e6c787dfeae37a34dc49d52caa\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 34395d007dac4a4b83c943de4406d821\nNONCE: 4bbfe5f3276461e594b1fd2e\nCT: \nAD: \nTAG: 30daec9c07fa2e11a1acc28baa\nIN: \n\nKEY: 5a8321edf8d532d51299ecbaffc56cbc\nNONCE: c512db4e75e52950f89f458e\nCT: \nAD: \nTAG: 88fddfe667c3519963ebb6d0b7\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d9ed395776deb772a218db03abbd8606\nNONCE: 600075a6d85d86d6a3f6624a\nCT: \nAD: \nTAG: 7f486053d65559dca0a3761e00\nIN: \n\nKEY: 16b5d6282fa184deeb837c706f191079\nNONCE: ea09b0a8f65f3ac16d954c9a\nCT: \nAD: \nTAG: 6defe4a6354e1383111d96fcb3\nIN: \n\nKEY: 4c5a02440befba5820539ccf74b40355\nNONCE: 3852fd7da7a375a2a2227e9c\nCT: \nAD: \nTAG: 9f45b723d14708dad1edd831\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d4e885208426247f27428ede3b318e68\nNONCE: 5513f9ec35e2e72be3470f57\nCT: \nAD: \nTAG: 48d716f0f94ac7fbc291932e\nIN: \n\nKEY: 25954f34970b4fc834fff", "1552bea4896\nNONCE: b66b254e66240f0e8e262f01\nCT: \nAD: \nTAG: 5b5569b200c06bd24382ec73\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 303b5662bcf71ca82e07e10248c17629\nNONCE: 45f9c33e03f84fa88209858d\nCT: \nAD: \nTAG: e8b99255a0e953d57361db29\nIN: \n\nKEY: 8394912058620e935335f7627b18b1b3\nNONCE: 772149bd434c0b27ac45e672\nCT: \nAD: \nTAG: c7a43e2ee7e161a52583ad83\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2ca00481ac56aac664b28f29781a7e82\nNONCE: 14574966f3b12bc0502a3a55\nCT: \nAD: \nTAG: 938628eba4b72f79fd7b7396\nIN: \n\nKEY: 8ed5a13a5046d10379c75eaa3fd17bb2\nNONCE: 2b111cc8c84ff7f1c262ec1c\nCT: \nAD: \nTAG: 82e8bed016ae384ae75ac16c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 7041298fe906405905e8b4de1de3c0f0\nNONCE: e4fbdc72d00a331bfa326d59\nCT: \nAD: \nTAG: 17292560680114395372691a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: faeeee9bbaff25e221121d1122807009\nNONCE: e9e872d525c2315f49e2d94f\nCT: \nAD: \nTAG: 98146c72b9365016ff33b7e2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: df0a1dd37c0144e0bcff6e7deed857f0\nNONCE: eba039eaf7f2f48f761abc9c\nCT: \nAD: \nTAG: 973e0ff877b085ad8083d6c9\nIN: \n\nKEY: 27f19b4b2d23285d92480ca2dc3799dc\nNONCE: 335b2f88f2fc4b6188867558\nCT: \nAD: \nTAG: 8b1c43ade7a3c5af9a639e02\nIN: \n\nKEY: 6edf19775190943d196148165087ebe1\nNONCE: c2fcf9919d85407086c2be20\nCT: \nAD: \nTAG: dda2c0cfe5d922a3cfb15ab8\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9acca9099afc2ec75441587bdd96a469\nNONCE: ca178e969478e36621db60df\nCT: \nAD: \nTAG: 86a70322e57fd6cca64a6aa6\nIN: \n\nKEY: d0718716395e03f7fde7fb40f497f9cf\nNONCE: dd20e6b684a0f53d3785df71\nCT: \nAD: \nTAG: 70cfeb7a503a1869fa0dc0ee\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5fcbf7953da6781ae96852885ae01488\nNONCE: 34ca7d2a0aaf09fcb8a5b39a\nCT: \nAD: \nTAG: 142828e093e80e346008c2b6\nIN: \n\nKEY: a958dea10183955fb62b5cf0d6560efd\nNONCE: 9c6fd7fcb79ab149a2ef8416\nCT: \nAD: \nTAG: 0fa19df0ef498402\nIN: \n\nKEY: 2bd8c68da36fc74a66e8bc9c58c7b3d9\nNONCE: 0a0c9cee4e712ce526271644\nCT: \nAD: \nTAG: f94a128bb6c31902\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5f8441de9b68a525bd77a9f8db9ac1ec\nNONCE: 7b704888d905e11b3e8f6751\nCT: \nAD: \nTAG: 1920f39509e495ec\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 47a49ee87638b74b48dfc42b9892ff93\nNONCE: 927f32a1fdeed0da6c80c4c1\nCT: \nAD: \nTAG: 568ca20233ab20e1\nIN: \n\nKEY: 871616dda80c31ef677f770774f41d27\nNONCE: 94f9c4a7f7d69cfef745c085\nCT: \nAD: \nTAG: f779d3356f60d96c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e6a7ce1c109162cc24552b2de8355bd8\nNONCE: b140aa5f0f2312cf7b8696c1\nCT: \nAD: \nTAG: ea5f6c5b9224afcc\nIN: \n\nKEY: a90b62bfba34ca0cfb4d5ccd52ff7369\nNONCE: 5fd3cf7a9a1e2a15ad6a58e2\nCT: \nAD: \nTAG: 6f3dd881088a0b29\nIN: \n\nKEY: 6280067b5626d5d6bf35ab1c903c1d75\nNONCE: 99523c6f792e03276c44ba7a\nCT: \nAD: \nTAG: 3a68ccdb69008d9d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f40b500c70209092efa29a2a7e96ca64\nNONCE: 86d1047059ee2986bd96daf7\nCT: \nAD: \nTAG: c594ea04f674de69\nIN: \n\nKEY: 6cb7829e2295e60036bb967d06116601\nNONCE: 4dfb5fb2ea41fae7653e1438\nCT: \nAD: \nTAG: bb9b39fe673ffd18\nIN: \n\nKEY: 05cd9b0de53c072321ae4a1cdc2cafc3\nNONCE: c869859421df985bbc8c9c62\nCT: \nAD: \nTAG: 0f8ad033a0ae3cb2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fd025400ab17f5e35c3cae3aeed4ebc7\nNONCE: 6c3b7e178df39504d3ca2e31\nCT: \nAD: \nTAG: 5fd986d21ac0bb49\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c7678eeb06cd24484b81a469c024c3d6\nNONCE: a1fea7d9afd9493a83b5d531\nCT: \nAD: \nTAG: 8c5828f475c4f902\nIN: \n\nKEY: 056c731555048f5831a4c7ba57f9022b\nNONCE: a8a13e93a33807811ed327f6\nCT: \nAD: \nTAG: c2d9d4fb79d675f3\nIN: \n\nKEY: c0395a8391049d30f7e0fa7afd1b0ec4\nNONCE: 381894100b3d786bfca314b7\nCT: \nAD: \nTAG: 2fef77ef639adc00\nIN: \n\nKEY: d1cb603b886e9deb62cbf5182caaeb35\nNONCE: cd23f90cfd17727ea0975ff2\nCT: \nAD: \nTAG: e319af65\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e626638a113c617077f5c4b2284921c5\nNONCE: c4a8864b4c3385a78cb8759f\nCT: \nAD: \nTAG: 039d51f8\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8f74a8b922fcf1a8eed7320df9f03fd6\nNONCE: 925ec6414e777062ac839f06\nCT: \nAD: \nTAG: bb0dc912\nIN: \n\nKEY: f59152b1d2991e7dfbd6b9cf91d2a9f1\nNONCE: 776f95b088803b537dfbe941\nCT: \nAD: \nTAG: 9163e80b\nIN: \n\nKEY: 72a9159c9f8f4953b6ab4fbad02c019a\nNONCE: 7ca4d31dba07c89b3d5cf059\nCT: \nAD: \nTAG: ee28643d\nIN: \n\nKEY: 6ca652634faee86176a8bbff37f5234c\nNONCE: 77bbe192e81594223b8869cb\nCT: \nAD: \nTAG: d054e86e\nIN: \n\nKEY: d06a1cebb4b1cf8b2f48126bffd4530b\nNONCE: ac7c4c669d5d7749d114448a\nCT: \nAD: \nTAG: c606dbcb\nIN: \n\nKEY: 42797f87d381cbbec3dddb8e7ee1b30e\nNONCE: c4be94c9b2f76132875374d0\nCT: \nAD: \nTAG: 40156799\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: accec0302ba0f854c2c5a6faf08f4972\nNONCE: 2722ce4848acc2b4cc9aafa2\nCT: \nAD: \nTAG: d90c055f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 117ecaafb5c844ceb9e505f8a33bfa79\nNONCE: cb95b76c9dbf4b6ee4fe6a46\nCT: \nAD: \nTAG: 641e2aa6\nIN: \n\nKEY: 453e89f0646d2532e3d0d019a7d7e302\nNONCE: 14732cb98fb4ad26c0ee9e1b\nCT: \nAD: \nTAG: 232f4035\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 121143f3835cb0d1f88f8f53a7abdb11\nNONCE: 601c15958cf77c0ea1c3862e\nCT: \nAD: \nTAG: 43c61d3d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c5d7666d37ced3e4c2b9b738d4b38557\nNONCE: 012fa72716b777e0bc248f2d\nCT: \nAD: \nTAG: f4208947\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5d06c11668c4aa9899496b5d7f229b83\nNONCE: 0ca7102fff9fe056a5afa9f8\nCT: \nAD: \nTAG: d7a7af6d\nIN: \n\nKEY: b63a6afbc9906d23f1e9c0f487b6d919\nNONCE: 2b091d6b35e4f9ba5f9cfdb8\nCT: \nAD: \nTAG: d1eafd50\nIN: \n\nKEY: d1f6af919cde85661208bdce0c27cb22\nNONCE: 898c6929b435017bf031c3c5\nCT: \nAD: 7c5faa40e636bbc91107e68010c92b9f\nTAG: ae45f11777540a2caeb128be8092468a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2370e320d4344208e0ff5683f243b213\nNONCE: 04dbb82f044d30831c441228\nCT: \nAD: d43a8e5089eea0d026c03a85178b27da\nTAG: 2a049c049d25aa95969b451d93c31c6e\nIN: \n\nKEY: bc3ab28150fd4cb731d5f48ed2784173\nNONCE: 40408445c203c647312b8f01\nCT: \nAD: 53d2fc19963fc99a36a524e39cb68aa8\nTAG: 3f04dbd2f49909f73044175041fd9eff\nIN: \n\nKEY: 34537f1a0ba093aefedefe8b4b6b34e7\nNONCE: 9c5fc88eb388ef6776aa2182\nCT: \nAD: 4dd377d089c617dda1ecd42341d1878b\nTAG: c0fccde30ba354e23c05b5371c40d088\nIN: \n\nKEY: 54c3f935982de19de88d6384f9493389\nNONCE: 3d7eec1cdf3cd419511793ab\nCT: \nAD: 2ded8cbc69fa57678aadc7477f2a2173\nTAG: 74107fc192c94a7d85d0f9205f8b02c9\nIN: \n\nKEY: 790f8945b127a1a418d6d58b4378e0dc\nNONCE: f5694d77b816f2cef0ac80fc\nCT: \nAD: e5c71b82a60c97f050511a3b9a09e450\nTAG: 4c75effb688dccd0affe92c0e0391d64\nIN: \n\nKEY: f6ed6f0afea7e99ab320b525107715c9\nNONCE: 351e7dc999b9de77ce61b2f7\nCT: \nAD: c9101b64e0b6abc0e46828aec14d29cc\nTAG: 4f2ec2e1ab001443a60722671a9c9656\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2eccf9cda0e4e70f273ee8251120c768\nNONCE: 1d869f4b8497bc19d948cea6\nCT: \nAD: 1d86a6a21f23ee56ad0fa6c1de525906\nTAG: 37ffc390298c3ea8cceb382f394c2fc2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d61767f07b959e94f73c64cb5a5520b3\nNONCE: ecfa850395f8cf9348f1324f\nCT: \nAD: c3571bf1700b114bbf0c6bb2278d4d88\nTAG: 1065f86bc9e22197880ea87ac326a17f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9421cac15ce7d49ec7c088f7524a1ff5\nNONCE: b3d395bca123b265c05577cc\nCT: \nAD: eb6e06071dae4360e8347bfb72d9c188\nTAG: 1f04c228c7efc71f1706d10fd819f35e\nIN: \n\nKEY: 8580395a5d777c1690af79f6068e291b\nNONCE: cad1a0f2b76f064ca56be3cf\nCT: \nAD: 174388edf0b7f86fe634cb942c13754b\nTAG: 0067b03f2e0efc72cb08792fbe3b0267\nIN: \n\nKEY: 0c21da9c8b84d371fde59e6d1752113e\nNONCE: f8c13e58aaa329427438db8b\nCT: \nAD: b8b197789cfd085b09a47760c28c7e8a\nTAG: f8613cc5dcb4cc5c78f1f7c2d8084ec6\nIN: \n\nKEY: 162fc51e46e771222a04842f5546db8c\nNONCE: 13557e09e738eb895eca2d8d\nCT: \nAD: 691e71952c31a6b49b785f627c03e948\nTAG: 4f7ea723b1abd74e53fa356809275ca4\nIN: \n\nKEY: c46d9562d954801b8e99e4e57cbcc0ec\nNONCE: 30414c934b14e0bb0110ae44\nCT: \nAD: 41ae6a63855c1944446491e80670bf68\nTAG: 3e2366a2cf5632c1ecfde33f1f5f6d18\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2904df4dafcc6bbb8375baf6a7eede80\nNONCE: 6aae8ff4b1609f4026b47259\nCT: \nAD: c4afa7b21e5f41b892be52365a18584e\nTAG: e1810fe340207fa83815182bbad62bde\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a663a6aeac790c61e07e5f8ab843439d\nNONCE: e287d287051c82e2253e33f7\nCT: \nAD: d211a58e7d4884a26669b335c0af8d5c\nTAG: cdf52e39cced5c04ddaec8227826da\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6dfa1a07c14f978020ace450ad663d18\nNONCE: 34edfa462a14c6969a680ec1\nCT: \nAD: 2a35c7f5f8578e919a581c60500c04f6\nTAG: 751f3098d59cf4ea1d2fb0853bde1c\nIN: \n\nKEY: 5f20eb8f6f579ec235b3403831fd58b1\nNONCE: b989444625a730876cc1a439\nCT: \nAD: 5881865ceb44bf171a7ba87d63f1fdcb\nTAG: 2d9c926c872c04bd0915f3e4ffccc5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d1e376ecfa46321a3a4a187fc1524789\nNONCE: 7387c1af03adfffc53248ac8\nCT: \nAD: e9d8269ecf857dd6afd85fa90260a565\nTAG: 6a1da57b70e9c4fd006e4a669008d5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f20681f4b61e72f8a6517e40b5860e0a\nNONCE: df80104736d5acba2348e5be\nCT: \nAD: e4247e85dafdabff95b6d8c27e8979a2\n", "TAG: 746ee686eddfac0785341bb616f90e\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 0f6ee618d0b66fa269398d5d3279931b\nNONCE: 7ac7c776a9a77aa8f7fc653b\nCT: \nAD: 2774b19121188965922c4a702c45fcfb\nTAG: 58d810fd408978d0f5eb33f06aa861\nIN: \n\nKEY: 9405240a2e0fbef7ac89f66f9188472f\nNONCE: 60718e8fb2866d27ddff8a78\nCT: \nAD: e86f19201889740743a9b95091283ab5\nTAG: 2984f343aff7e0ad84aa7134f77699\nIN: \n\nKEY: 9a5f24a325ac049169f7073b9583fa79\nNONCE: bf364dee6ac48e711aa2af2e\nCT: \nAD: 131339c8b9c785350efee37c0c37b6e5\nTAG: 69b1815c978cccdd146c51ad164429\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2b51c516898ded4dfedf1839eb09f059\nNONCE: 8080260add3b5d2182b3574a\nCT: \nAD: 303f4aa89c1ce37ff8b36940c65586e6\nTAG: 3750db28f9a09493ab60c9cb426e0b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 084877d61fd67442461c741afc4cf5f8\nNONCE: 798bce4a6b8663919dc922e0\nCT: \nAD: 056221633de809d2f48ff41c2d75d851\nTAG: a6c40f9765113e9dea6fd2f8bae96b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fe9cb0d7753d80686621fcf28705a39a\nNONCE: bd71586f2509814283ca1ec8\nCT: \nAD: 8676d9c9952340c31c9eb9e0d75c68d4\nTAG: d55ab183b959d697fb9145d37a7b27\nIN: \n\nKEY: 0ddee4104e896aae2849e8c4c5b97da4\nNONCE: 03d4bf8a036f974f92c77ed3\nCT: \nAD: 742838addd4a519d901736aa0a08d769\nTAG: cfb89c9ad51c348d65f7ce7cc4b72a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a22e58bd9a09eddaa630d499dd6d410c\nNONCE: ea9a7f75676dcc2f79b9147b\nCT: \nAD: 0a730acd7b5805ca0fbfdd5bef7690c5\nTAG: f3c63684015db6cc958bfb3ac84222\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8e5f16c84b0dd5357ad66f0540f1bf87\nNONCE: 6231ff08e050b7f7c5204842\nCT: \nAD: ab622472635a3ebae68aaaf8153df35a\nTAG: 1df90759291bfebd7cb239e75746ee\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 31c987a595a80a4c91de68805f66e5b9\nNONCE: 67edf7afbc125ecf99a804a2\nCT: \nAD: 8648a3452aaa3ff68d488de1abecef41\nTAG: 1c9199d9465ba5c9314911b4ad2057\nIN: \n\nKEY: 2d4fe4c17b1e86f0316846e642ff3a4d\nNONCE: a8b283438ad968e17fb5a755\nCT: \nAD: d0fdf6e1543d2b0f62c96c6e9c09c977\nTAG: 80149613bc962e4735acf317a3a4\nIN: \n\nKEY: aebb04a17265c4720d5a377c38efc460\nNONCE: b607be60340e557013e7adce\nCT: \nAD: 3cff96ceffa4c9a2193beeca9444e474\nTAG: a207fb626fb731c3234bad3573e8\nIN: \n\nKEY: 0807bf020df6ce3aba407e4d4f76ef6e\nNONCE: de63592624932a0805bce0a2\nCT: \nAD: 7c85c60c15301bfff6f2a4a3038b3c9f\nTAG: 5c83dce13c5bed35d8941f16627a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: efaa4666776ff4c6a87f563dd2e2794e\nNONCE: 9eb99f9741d9de6d3cbc9703\nCT: \nAD: 3addaaf513eb42606a24311ca7058846\nTAG: df02cfaace61423d45f64cec0e78\nIN: \n\nKEY: cf8d3e7cd62754bea5092409db3dc6c4\nNONCE: 5af3d5f1d144de8aca4bbda3\nCT: \nAD: 907083ee93cbf0b9b8421b8083bfcde8\nTAG: f19ebbc361dff17249251c9a7f5c\nIN: \n\nKEY: b894e7483c9f367b41af103f2860a6c8\nNONCE: 42d71d79e22740e1d1871ab5\nCT: \nAD: 8f78015bb82fbe032a6595e679198b47\nTAG: 96ce7b7f620b697f074f109c4488\nIN: \n\nKEY: 8299ee6ebdf1ea6e2561933b406de656\nNONCE: 98aade4ae4cda264b364987b\nCT: \nAD: 29a0fdb89ec5c5f969932e0aa0c170a8\nTAG: 60e0a7c2384f1d208abcfd4e4b3d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 29ac8dc4b69fb48289ceecd435ce3066\nNONCE: 2ecc8b95fae59fe59402bae5\nCT: \nAD: ec279eebc147897ea067a105c7e418c9\nTAG: d6f6127ec39852f18a7941948e41\nIN: \n\nKEY: 065bcae64ef1a982237e5977e73382ae\nNONCE: 164fed8cbe6d6cb0bbb6d608\nCT: \nAD: ed7da5abf307f9ceb18b630de9291b4a\nTAG: ac22e57ebf8ff258ffc77fa4bbb5\nIN: \n\nKEY: 1ad71eb24ea2a8055533fc1ec1b51b98\nNONCE: b27b640c3919a21da93e42c5\nCT: \nAD: 882acc108ee77afc6754089e864f0080\nTAG: dc36f18c131004e815c228a3fe9c\nIN: \n\nKEY: 54f06e8769711b40076d3cfc0239c324\nNONCE: d607633bd5336ce01c98f458\nCT: \nAD: e8f2f9edf850ade8e7cb55fba052e27a\nTAG: ff32f6d2418b2e646288bb105dcf\nIN: \n\nKEY: 8a473ce70b7694cb36efe5f5f268f1c4\nNONCE: 8236c764c7614dedabdd2dc0\nCT: \nAD: 4ea00a00b2bde6f183366b1ce8c33400\nTAG: 158bba897c1ab0cbce33355947fb\nIN: \n\nKEY: 4b42945e4361de3f6623b01872ff5f95\nNONCE: 5d7ec8f90b140049a8ef85f6\nCT: \nAD: 50feab5dce291d771df81b0124da29ed\nTAG: 90590e115ba688b50a66d59eb8b2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f2bad7d4f033b19c3b918da3021b3edb\nNONCE: 3825afbecc01cc66caddd402\nCT: \nAD: 49a6738279742410a0ce63276306c288\nTAG: 95a5980947205fe2225dbd39d098\nIN: \n\nKEY: 2c113bdd16d5f827bb84d9a9f1e2ced8\nNONCE: 97ce5737ca5305cebc3dbd0f\nCT: \nAD: 6833844c135173f2641190a5c81e2d38\nTAG: 9576596016c502bfb51adf861405\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 1dfee02fd2e411d8a95218059717e65e\nNONCE: 534f2db1833e2b95d17f4749\nCT: \nAD: 969f2d219986f9e3305b8be533ca164a\nTAG: 750e26041514a140374e857b19\nIN: \n\nKEY: 80a351296fdf716a59ce9cd3f3db1378\nNONCE: d57877a78eaea750131e1f62\nCT: \nAD: 89d5b612686f10f4523ad8721abb4a17\nTAG: 1445fe02c7eacc1968b5c2f436\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 44cdf8d44d4a85d4c718b6dfb3565f1f\nNONCE: 5fe0e438db113e46f73f0227\nCT: \nAD: 76fbc7e5d64be21cbb341b32ea61d8c6\nTAG: 98aaad6c40345751803926295d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5e86779506b46f0eabc6181b5a313222\nNONCE: ad02946f9f4e148462d14eea\nCT: \nAD: 89d777550c1c2148dbef73d7179d2bef\nTAG: dbfdb23c13eec51652128a223e\nIN: \n\nKEY: 0ea30aaa137345525472dbaa01918c86\nNONCE: 5ab6b70b7ede3b3fb08fcc39\nCT: \nAD: 64c3471c9ee1da88220ebae0a48cf98f\nTAG: cd171585c15995cedfcd148582\nIN: \n\nKEY: b0589030b2496a3b7ef823e2cc39bfd5\nNONCE: 6b9d5bc27d46fcdc6fbc39a9\nCT: \nAD: 7639433669bd4c1a1f3b1ac04fbf9cd8\nTAG: 83328a0e57afdf647e59a2d2c1\nIN: \n\nKEY: 81b27f066e5508f361cb98b3f378199c\nNONCE: 9ead7424a30cdc069b8668ed\nCT: \nAD: c19b80309e4aa34569f3058d13372b94\nTAG: a1127f3719147804e4eaeed8ca\nIN: \n\nKEY: 61a35d01df1b36fdbce2a6fc52b28305\nNONCE: 9d1708a0221d1d9bf3354a79\nCT: \nAD: 5ed9b0cd7a5e4072cce8f782a5438d1f\nTAG: 954fd6412d4b5f93d681c27baa\nIN: \n\nKEY: 15bbdcee8d262dfcf68f451e24bf26ca\nNONCE: c33f1f1eb456e6fb6d2277d3\nCT: \nAD: a3562c2071373e21cf346fee25cec4f2\nTAG: 1ce20f2935f8b8433a6820c228\nIN: \n\nKEY: eeda4ca996042630c017972b3bdaf09a\nNONCE: 0e02cd8bb87275df5287cee9\nCT: \nAD: 4ff3c0e013efca89e774b5794a8ba170\nTAG: 3b0e6daa01ad734c2eca681bf2\nIN: \n\nKEY: 75798e2e0ee570b06d4c47786336a099\nNONCE: e17c46acd0b0bbb15a5f9349\nCT: \nAD: e3779798212e7e9b4b2f387fbbbd95fe\nTAG: 1ab3d2c1cd55a89278224fc037\nIN: \n\nKEY: af2b060a94b20c9960f94fced963b2c5\nNONCE: dc8defbb5e45227e8576f45e\nCT: \nAD: 122f529fef4445f11a34111e10fd8b5d\nTAG: bb862654b76bd729ced4b4e9ad\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e1d07f1bc8f4a4b145badb96c85a82a6\nNONCE: 685e9636a2915adfc867889d\nCT: \nAD: 80c001fbf00b2bfd38ce903f0cd72db4\nTAG: ac9191dbb057b670dc76a194c2\nIN: \n\nKEY: ec4b3c2e077de7c2d62e28e3d05fe6c4\nNONCE: 704106b91d3a8f4dbee3ddbf\nCT: \nAD: f27dc1430cb30f8018cfc670eec9bb71\nTAG: d28d19fbedf2439140b0573083\nIN: \n\nKEY: 0dbbad4a54122500bb584787bfe94a86\nNONCE: dcad55f03d29103503858ff9\nCT: \nAD: 3c26ce754334b7fcc4576f4014349134\nTAG: 3251f275a3be44de87c5ff0544\nIN: \n\nKEY: d36cd8e8dd709b68433b4cef15efa4b8\nNONCE: dc859fa01cf3992fd5e74ba3\nCT: \nAD: 5983b73431118f294a4de08a4fbfbcc3\nTAG: 109412f2cd3dee2e75d9d90d\nIN: \n\nKEY: aa2717236879b0bfc29661187c0d2420\nNONCE: 1264dcda92ded29c03d846be\nCT: \nAD: 6b12dfb961f2e4d0ca2cea60666003af\nTAG: d69227a40670b13097d6f583\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 308a70f727df2e3c0f9da9f6607710b6\nNONCE: 1a790ff86fc2e6a428c9dd89\nCT: \nAD: fa18646779fa5a8ce9e271de0872f76d\nTAG: 68ffa9b8b2cc804935136712\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fb01d2721acc1c4a832232bb7ec59163\nNONCE: 6cd3cf1bc45c6f26b87b95a3\nCT: \nAD: 3fde68f37caf7e0f38c0281e3fb5e9a1\nTAG: f9da75272d67a6e180764a18\nIN: \n\nKEY: 8478e6653acf07ebb766bc941953aa23\nNONCE: 143b6fe40260052ddfc4537b\nCT: \nAD: 12f49ae610cea95e776f27f0ea433dc6\nTAG: 60aa4aefb53b800e1efd64bf\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f56ab97fbd0a2d8c6725f5a5ad117a2c\nNONCE: 266a436d9d05ee331a3ec858\nCT: \nAD: f31a01cd934b44208e9abe08c21f8be7\nTAG: b07258864aa6083fc15899e7\nIN: \n\nKEY: ba8a42bcc9d0bcbc9129d536d2364ebd\nNONCE: 6fc5c4ddb461acee4e3c2271\nCT: \nAD: 6bbb55b97c9cc3cfffa4f450b0debfee\nTAG: 3696c121fbb1def560c14182\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 827e4e3e9a4de530ae43510b94a55d54\nNONCE: d6c7fba9a73e76f6d1b015c6\nCT: \nAD: 3beff1d14cd6021b709d399d02015b05\nTAG: 2d58236b7e8113c821ddb4a0\nIN: \n\nKEY: 608ab3f94dd16b51c9afe4ba8dbdf852\nNONCE: a7b32bc6c976e8bd839f9af9\nCT: \nAD: eb212ef0a3a307024978a2c41a41d8a5\nTAG: 7aed47ba76b07717558bb87b\nIN: \n\nKEY: ef50e9ca5c53c2ddf49ccbd3c41a5a56\nNONCE: 817bee5ddedd26601cdb7cbc\nCT: \nAD: 75e26952eeaae53d83f77a3a502d3ca3\nTAG: 37245789deaada2d0dc5f2d4\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a9811b598adf0bbc34395b43829e86f6\nNONCE: c0def2f064789ad5d8f63799\nCT: \nAD: a735aab3b327ca3f575a09157b77a1c7\nTAG: 9f457e8e4757dae5cbd395bc\nIN: \n\nKEY: 3d906fa69252e00551b4a6347fe367ac\nNONCE: 067ea32f23e29d116fb0512b\nCT: \nAD: 4bf2a2096e27e75448cde7744b0209b", @@ -1513,9 +1593,9 @@ static const char *kData22[] = { "45795cf2a4ea1f33cbb4e1d769231b72a590ce3dc408ec7386a265d65102833edd8dd43b718e9ccf2655ccab0a6022dd81f6697544d9e8bd69c5e6511879686dc2d936cf9e4fb23ef1273fb61eb7bd62ab2b8c49fb916368d7f4a1fa081fd9b3633c1e4cf\nIN: 15ecba6f0f8a42236d020573bbc866d29a86dbff689694e0ba3087bcaade496eacf110d903cd99b81b808c6ecb6f36cb990b63\nAD: 6e848ab8f7f4971a52cbcd42eca24d33a8ba4a43a473444fe2a5f69cac5209779939349d7a73e65db30ff0adbdbf7f99db3f4a810764e4edde1a95b6138e08c7c939549d83aecd46a84a9b897b6896ab07a6a9de663376d6197d\nCT: 9c7d13e78bacc849c76072c527abba06046075fae2a3d13079f0f66635a521e0e1e822e05e009ce3aa788052f5600c00e71031\nTAG: cf632f67bc5092e0\n\nKEY: b4166038b75dec191fc0ddf8375ff4c7\nNONCE: 7f4ab1196310affe7d2d3c165f48c4a5652dc76e0baa1497727a87c49b445d350e810e8b73f9d53590fcc041a863971bf70c715f90bc594a5b98c521b0a91907b0058583f48aa10aba51c45937dfad510b5772e4875186954a575e906e48efa26bb1cf6201fec8f13a3a477da68fb6288b3573095d7027c1fea292d0ba2f2aa0\nIN: e4f6678ac787f6b6ea1c2f04ebae8afdb8941f1ca363f5654d4822358d6041af03979e269f070ba9f03e814114bedaea88a203\nAD: b9bf722d2eae013fa11c49f3475514f9592556abfc334cf9dfba3cfe37d0de7d7c996eb6712facb376651178585d4a60844f52e2590837c35acf169817b692bfae8d08ef374bba4bb0301005b4aae16c54f848b8226a312ad6b3\nCT: b16224062ade5afd4796e658b3beef0d13683e494aa0d745d930378d4b8bd0465f4e58b8ec9c85e97779a461a426e337abe399\nTAG: 3fc244c1caca2757\n\nKEY: d16e4e7ec43a42bd7156f259b369ce93\nNONCE: 34834e81b1ed4ea895cc76788c3adb48c2884b213a46f24a2012a5d06dd6a7175b61d9d4ffdc0e00c54163280b2ed247be68788866094b5b8846e0da034940f800cf3dd0ccd44163a085cb0194461fbde7d621e029fe3effbdde9d856d70fa3398ace4216a94d530b71408bdb9d3036ec81a8a21df120965629c13b796d7d9a7\nIN: 3c6791d91654bf4069f7ccce712fcfb82dac85f2669b80dae7d23f94ebcb280ef621ed8c5cc77fc582dc4f8240061b5e269a1a\nAD: 4bfeb3935a388f15b7418182f8b37c61487865f519c5e7dfbfa4c3b74e60398d82d449ed418ee301895bcd8ddf5a9d50b74037af9a261bad3633600ba7dc79f06a5f09f350ad43c90c27f744779e82f850e23fd79136adafb555\nCT: aa546ace6bd092399bdefe0ab0985f9c380006117be38648e3a0da80cf4d32ece831c06e532b9324fd1df14a6acf8d75275fc3\nTAG: 7068e4ca6ac26998\n\nKEY: c4a8b2c99b62a2a64f8086aab1fd6c43\nNONCE: 2e6d6f434c72c71560f05b55fb7c07e310260aec112aab0e64e8f87fe738fc1b23dea859bbefbe9545fb575fc0a6d45fef42af09dccc9fde0a52ee84afe8d1339641ee5e00239e42b310d9acfd428c2075d93112bcf9ebe728707966ec29b1f72e87cccf75a2255875bf78abf0cd6534520625ac7d0df18bd6a1fd613f894198\nIN: a77ccd123128b46d9144fc5a90ec64bce6b4b5efc5646c8d4961eebe253235baeb236d8af9d1d81ad2bd4c86db78c31c1c8c90\nAD: 23463bb91dcd4716b7364e71a2ebe5e1aaef3cba8ea4214dbd6a987c9850af86518747c4869e00ce244f418ce19f0113705999aac35ad0bbda719573d69101046b34df89774d0093684ad7ec66eb509d8e7c25f552956c488095\nCT: a3632572e59a7c558d5e1ee9f5c059a5e118964c14e3d4e953b5c15d105db76bf970ed17bcccd84162feecbb3fc93d7015143a\nTAG: 27ccd8eae70c6ec9\n\nKEY: 2633d1781ce54f74ac609a5b5209a01f\nNONCE: 7d0e90b7e9f36f760d2dcbd66f352df45f3917afdbe1d0a89cc44be0bd85cf8bf75edbdd33f1d16dad02824d81389210b0f146f3df63f9232d7035eb9e8297a09474985b3e038a5fa6840155d8848fc7c53061ba0f442b84408660a997176ca5bf3473103fd3c9a1de2580b9e539af872259ecae925a8ef50f5a176a069b1fb8\nIN: ae695828625b264e0b13d3c9a539f2cf306a7501cdd35b817b699b2d7c25cf20d2dceec3fa883019db807272fddfdca8e7f672\nAD: 584c3cad3035d1427d6f5f1b261e97a5ea7d97c0b88cedf3b1aa5e21e5916805a63964eab4449d8806e7af60618465cf39f82769b7528bba9bb9c04992cd7b9e26efe9be38e1bfeeb41678c52d5ba3508fd7a2b1e8478505bfde\nCT: fbc32a56885100a36c276ff368db9236906021a8cc7500f2b3e78a6ca01546827073ff1103145f139f4d116eb47b84e33c7160\nTAG: 49589b3a\n\nKEY: 62dc8e1a98863c7de64f30b74c01d530\nNONCE: e9f658589f973895510cb34eef99b0cf34fc311c20c21464e07c4d6d34a15fcad3ea9ef51ef05513fb700cbb92aeef35e4cdda47b2c06c1104e987afa1cd6f827e7bc5a8db6d0657345945c068cabfd6e6b57533c929fe5804e121809b8b43d050a211fbee319879b1ba4cc2768df3a92014839086a377663a1d1967d7c602e9\nIN: f2c54a35286a225389e853e51f3f64b6980a79262e5545856c053d558d87d7b739eb75f27587efe219eb82e9a176fa14419dbe\nAD: 5d78b486c29131866569768d5eedb61afc48de7d1a223d0cccc647cf35408bb932293f3bc1b51a504e13c27548d083c8e8a45d4e9d4dc923c3c2bde38d6cdeaed2929b67e371356f74f635b3b1183ee0db71476f2024e1f5e13c\nCT: fe0c3ae08418ef91b478360942a84a58f8d93df7fe5bde138f59cc23432f04b9637841ccf7a5d539a36f621a7d17e026d4cc2c\nTAG: e413041a\n\nKEY: 9cb4b060870a2563d9f38b7c84f45ad0\nNONCE: 6f268f644af70b43d71c881009a29d966d4d4b13e9a22dae30c299d69d195f92d7ac45579444358acb2de20b78afa3f258eae68f7abc68a664f375efe43f8d39c69668931dd0daba24c8fb74b0a0eca13434ee9573246d342a91514a2495b6c8fce8ec9ecfc93400601d80ac9c4711777a7cc00086d31cc536c05b961c4fc5e8\nIN: 0f75400a6deb4427878b0ac3a1cc3950b39531716cab167ba2113aac383627b173ccd942858b0a3dc5bea3144f9a52179a8565\nAD: 99932f2dcd9dd63a4af30ede3b00d8e12fd24f2328fb03a3251cb1ff9b67b9bfcfe5432e444d4d60a8ce6a39fa41a391c0bccf686d9ac044f72c60ee8f3f26b8355267343b31bc0d2886c84dc6bb1c7c20388c16d04fada74915\nCT: 872ffa67cc633f74ad29cb8b0595989c0c79a5028f629b2800d1412abf1df68a10142e760ecadafba3361f2d43afe79c29c168\nTAG: 15851c9b\n\nKEY: b9587f9d7f881ec94a096b7fddfdc5ce\nNONCE: 107ab768521c30b4778ff9191934249561b8df2e803190da64de20f05979d2376ff6c048aefca35b246a888319b21306f52d1f1f1913545f532a3cf1de4cd52b926321a5a27f501bda538e1418c4b07599a9f897cd6d37320d1e08ffd4a2697bdf91fd5123038ccafd38457e061e3c48def212f94a5efe259ff276ee86c91337\nIN: 5d69699972afef8d1a7fcbb513a87dfdcbfcf01c367d5a378a649cbf92812c6da38815270a9ba0af4be351ad8b062a73a7f63b\nAD: a9d648927fce9991ae15571e1f7810536b41714506ee0197b9471e06613bcb8636203c1c67b93af6d1545baa181c2a149ac471dbd54dbae9784848a4b7ac6894a67bf40ed892df9bc720376e866e92c05c16bc58db1286d5ccb4\nCT: ee550d3368a1115d9cbb1dc37715d7e16e827eabc7d73b537c4cb6fd437e7c88e4afac6ee8807046f0da4788b3b26eb31e4a58\nTAG: dcd71cee\n\nKEY: 1e0c8c8cd53c942ca29dd3d202eb343f\nNONCE: beaf4a32b50c86f92611d7ab665ba344a12f8e5b281580f043633e9bf515d572520b23bf9e5214c38ab43fa4ef2f1a1bca05bba703c5c529943f069ea6f6053e8af0c7eb751b628a82e3ac22ada6e17a12152ae2d5d4162f70e34a8d0685af1d174db91cdc1c103678245cd9483753aca6ac240e5909c18c84f0c090dede24ee\nIN: 2dba40b971012ee4f3b443fd815726065859a28a06d22a1c35cd04529c7b805999cde4ce370b2ed3ea675428dcf5a3a99f7622\nAD: b61a1b5501326d7e67387500835f788574d21fa80df4a9fc6184259a8f0fd8180ef988e12baa645b7500ee246ea52284722051ec4c345a803714f2bc8f02dad385c575128cc6247ca3d293e2b487327f69b0304d402f97dcfa5c\nCT: ce5e806ad840e78042c2e0da0ff3af376a1f7d38adcab0226da6d34887b2b3ae17efcafeb0e32f5070d7cdb850c9ab5b0d8614\nTAG: 6d82627c\n\nKEY: 2fadbffa3eae8caba795506e9d9db0ef\nNONCE: f67d45a1d51912eed0e80d5f5ae05ce4c2c381aee2c4a391823df6b44ad123802602160cd679bdf893dc3aaa547a604e7d1e94de79523891ad32fc0943c822cfb995e5efa197f37a885aab5fd91d47c5ccf852977d7e689f663c5e933a5a72eb4417fce7f3a635cdcaffd60bfa875ad6c2f72cf284831fe640a23fdda21fcf77\nIN: 2f01fb5b9036ab22af19b326769f332b3f6adffbaa9583474bcc5499e00413f9b273a76412ce7d268f12471c078600a2f15bef\nAD: b872df430bd4400030ec5c38289a4be8d4bae608023b6f3922aab24f75bc0d29c2fc378bfdf47a99d7d3d53e1ea2e9420c2752f5b9b6e06b18b9eebd2344e190c4c1ee0f60b14ca89b5c8d3a25c9546a2d013b22ee9fbf92a247\nCT: c1d0f6f53c885b6470372f7d7468eb42fa1f4e20b540a68cac91060050f430d27c50e85403428a75de816c4747776476ae4e3d\nTAG: 8a457c98\n\nKEY: 3f3ec6bb52cc9a725abbf7b9b3f9fa4d\nNONCE: a700805e157f5fd7cec77bc556c2ad7e662c4b55b284970175d0476189822855d44fdecbe28b3fe7a73a6040e6994b8460262b5b5ac1049dbcf4a5febe21eb8574d3a679cc480958852efe787746b4b85acb86757cc855b9db99193208029ad1446631e4a101a115122a98e861c62ef1e3d6587122353b5f958420dc7c80d751\nIN: 07029e02ff512e948112d4f51d5f86d04edd2003447aba21f3976a7200f765130b8971508acbdaa6191c7691dccdde8617a86b\nAD: c6ca6cc319e5296e2ee085036193bbfc4e25a6079dfce25171ef0a2dd569355c73c69cfba69dfac17834ed3226886c07e5461bd605e83be4edd20173f395b37093bef321949d8a0797987796b30aa3387bfd3137506d6fbe5080\nCT: 3b26164ad8088f7e16ae82bd48c7c09230b05a820ea8f89cb4ca54529ccfd74addc308d00ef18f6712d3beac1946ab7da0852e\nTAG: 7e25563d\n\nKEY: 2f2f448e677da243aed2046c864db4dd\nNONCE: e0e01fea2c7c412f6365486b8859d1955075d82f68fb217047db274042d5fec731765541c2111e2ebd17894fd38b82cfadaa34c16526c1bc2efd3b8d6eacd7c4643da5288f37a0c61e8eebf6da76d641ad4c6545c0d7a7d4ae4a23373687e08b8e2d9c457ceff49947bf59e96db4f7304665584d22a0bc858a49721987afa904\nIN: 07a1024ae506ac70abb723c606eea5f6df328195c2f5a3fb629dd2813251abc7d3874deccca999", "44caefcb83f5bbbf36566807\nAD: be09b05e89a7e910f21607bed4e950d120e9d935c715023febdcd4639de7e440189aac53009cfbcd2acb230688abca97165943c65b1e8ed24ca72c4b57084e0610040929b918922d0f1b8a0d25c8cce46889add73b0b6d8a89bf\nCT: 15e4f0f567861361eb342ca281bf1b860f6681b33ba7c547682c4e92d48805cccce12b4be0c3b13af464fba9e79c561e3f0f00\nTAG: e7a6dfb2\n\nKEY: c35b35f68743e2e4f88bb48059f2e21b\nNONCE: 2dfae4843d58be3cc005915c357c5bdfaf7c4e7817e0164b123ec1ad08187269c323568f2bb80c50100b0de276dee9c81ba98801b848bdfdd6185a1926b3eb6adf1df193a6609932a150e0eeee08ee58d3027c712cc729abf9e7bfd3d5b328aa2887109b606704cee0455bf7135a3b4179c8aa86ac31e5e3209c04921975fb83\nIN: b1f1dd264e4f26da74f839728cf70743ef435c016a6549b17b70ac93ac37b0e97bbc3fd092dc07f2b020527b781a38f8d2687c\nAD: 65556a625bfa8b96e71ab5eca7bacb87c9140828b8605d9f3e441628d76281d5a5aca1fec44f038162977cff46d64f965bc4f94214fc63cc56c496aa9aca5adb855faef1f54123633a5d4dc367ab3cceb0c9e42eff3d981945d6\nCT: dabfba195ac7f737153810c3b6db598e2e346af941108f6535b3cbd389428280daf4d86b78148197fd6e0831434a0fdda3bf93\nTAG: c85e1c09\n\nKEY: f6e086357ed6cb07dbb463aa500ae69c\nNONCE: 15b56fb043a72881081a72bce9298e21fe60aeaf1e4b4a85bde873930adecb48d4c8f17362aef0cdf2c3bbbdbc00ce29669b633f181bfcb85c44511c5754ca07595dbdcd335b0078ebf8b09f5190096a9078259168b5a5e1b79211b62d8f0c306e5a0c4e81ea0c6c78e63f5529b633c28494c6f0a42ffe51be150df24aed1602\nIN: fe49c833bfcb93c401b3483d7c7fc9fdaaf3a2146bcc36e0ffe37ef1ac6ce855d0fad3675c9c9fe7cb908589cddf43c4c35421\nAD: b3f36b821f294d33a90c4675aba4b32f32abc3683843ad1689acf130a43a3b21b3473d3a6c7cccecd4c767a7682a26fc524eb6c9688719acfd708c304d3db201b662f48610cbb6c1ae521f00de7904d668b95b812be2b4298807\nCT: e56f27f5aea684a8421f1d559b56d80b3790cf3fbb5cd309f2866ae628c8196605edaca9be512cf6a42e53aca4478405a95d6a\nTAG: d2d608be\n\nKEY: 0dbefe872ed2ea2a964fe991541ae834\nNONCE: 82f382aee615f224677e876367268b31c89981e816c7c5a5ed1c7fa50370ce6a6e13dc2d1ffefef5d317302e22874d28fc67e0cf4d6fdbf1b5c8ff5645256378eca8426454ea600376aadf02d17bc171e40faa2e62530235063e73ac50d06c2a88d9e5e35739cffe8ac70aa2c4f4e00716052f823e0dcdd2b4b5afacbc79f4c1\nIN: 8445831a7b481e187978afbf195eb65eac1ebf3acf1fa452da79248ea484c9bc00d233c2e3b827de9b46bad3726c315080ca7f\nAD: 72caa4d008c9f7f9667fb98501c7e44972f491a8723db27e4a404d377cb4456234f9b56b9235087e25016e00cc6e6be08de7d8739a546db4a78407cc9200404332955a3c68d1f3c6bebf9c74d2e9bc54dc1c56c6b62c72bad6d0\nCT: 800fa98daa36955ab30dd4044756cccf382210a6548069d2f740094c29bdd10ba9bb0db0ca7a7db5fdaf2217c59ff5e0bce136\nTAG: fbc8e65c\n\nKEY: 92666e547ca6722278bc41f78c606014\nNONCE: 2e9733e8dc10ca3964e96b56839fbce9969f5f821fdf2f278e5465b6cf3fac8ed407d04b602209a0c97c14b710f6a3f29f65a1599869139f8061824745ad4470406956d3018eec8ff2584164db279a5a5f724030fa8478e7dacb949e473dee12332fd611bd66b06faa380b57b530a5cac30f3aacd607233c22460240edad253d\nIN: 97ce2ebd1850551b96813179b2bad2270eccf7195fe70273c9b4045e68a501781e47f808cb248326cb6425635db1d516ec760f\nAD: 20d0f02f1346ed9c8a697a5b507ed482033a177d4a71bd694b1533e94b72aaf54e48be64b6f7a30b2c6e94a00159ad60ce84d677d035790591a00e8068275e5caebe185bdb14ad24ab41e8fa3d0f4e19f57a390707efcd191cd0\nCT: 44af16eb4079f52009592436a0f1d7373a992fb5679c048466804495b9e1264e8292afe33c2661e30d3c2fedab5963bf0c63f5\nTAG: 917b6024\n\nKEY: d3f7d84e2a2f2e45e19e7dd4432f6cbb\nNONCE: bf1b1afa5c28d0f6883a12a4eb984ee8edd3c75e91d44628eb1133bad58506285961fd3d2d3f671788895a55824022c4b5a2ee0e470124c9b7cc00d6082e95991deedff69e366e9eb96a9e814e58e89c58abb224dc13d78db68797bbccdacf082f8563cc4c40137203c206476668482d51eee902c7e3344e7355ac18b61d3e1a\nIN: e02d21da508ab1157ec2aee2c18a924a34b84d7746bba79da3662402c111d686fb5f50a8831f01623e1b22f1a79b2cd014d715\nAD: 951ea13d95700d0c97e12df456280532ef86260307cf95375211b7fb44c3eb50ddeb5ef350714ac2c620ef8f66eb0da1796915400210568360d571e58de7d30e06b812112069667370376812e4e593362226997fe2947ded6371\nCT: d948b5f4f415423b656abf715c9fc756f90117f694b32961fa8f4bf003cffd463716644eef0ce5919dca38788e0df24a7d1367\nTAG: 19a23818\n\nKEY: 357e9c3ab5323ff141bdf17228b80a61\nNONCE: de8cd40a5db81e8b7083807a8a5c16d4808f48c52a56c68b77edb01b563f80513518eac2672c8f5524aa6e3850337233c693dec99a547cf6599dc33a6d89763e5f91d9a74715c9a635ed1931403b2fbec8be85f287506ed4bd7da3c6e2b25e29becf9466f4abdf3b0daa4818a7f31563fb5be7aba7cbd53c6522331fc04d4573\nIN: 995142af8870fd1c805aa9919f76485dc1fed5ead1e8366633ef09db5595c1a305bd10d945409148744d3998aba6434172087f\nAD: 863ebc2231af641f620f618567007847057146db69b1066dc1c4464d251729eb6ea3871d3e997e71a963439e9d81691a7196ddd439748e795a2cc62b8382a61e79863259cb643851f9a271130e0f9f54e15f0dc3ec8b27084c39\nCT: fc12b78280d4a9eef7d536f2f5b3b3d63cf641e07f6b91332b9200d224632c5b1ee41ee136693bf0c26d569e998d9a09ad24f8\nTAG: c0f7d0e6\n\nKEY: 0e00c76561d2bd9b40c3c15427e2b08f\nNONCE: 492cadaccd3ca3fbc9cf9f06eb3325c4e159850b0dbe98199b89b7af528806610b6f63998e1eae80c348e74cbb921d8326631631fc6a5d304f39166daf7ea15fa1977f101819adb510b50fe9932e12c5a85aa3fd1e73d8d760af218be829903a77c63359d75edd91b4f6ed5465a72662f5055999e059e7654a8edc921aa0d496\nIN: fef03c2d7fb15bf0d2df18007d99f967c878ad59359034f7bb2c19af120685d78e32f6b8b83b032019956ca9c0195721476b85\nAD: d8f1163d8c840292a2b2dacf4ac7c36aff8733f18fabb4fa5594544125e03d1e6e5d6d0fd61656c8d8f327c92839ae5539bb469c9257f109ebff85aad7bd220fdaa95c022dbd0c7bb2d878ad504122c943045d3c5eba8f1f56c0\nCT: 4f6cf471be7cbd2575cd5a1747aea8fe9dea83e51936beac3e68f66206922060c697ffa7af80ad6bb68f2cf4fc97416ee52abe\nTAG: e20b6655\n\n", }; -static const size_t kLen23 = 154319; +static const size_t kLen24 = 154319; -static const char *kData23[] = { +static const char *kData24[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-192-CBC kat_aes/CBCGFSbox192.rsp kat_aes/CBCKeySbox192.rsp kat_aes/CBCVarKey192.rsp kat_aes/CBCVarTxt192.rsp\"\n\n# File 1: kat_aes/CBCGFSbox192.rsp\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 1b077a6af4b7f98229de786d7516b639\nCiphertext: 275cfc0413d8ccb70513c3859b1d0f72\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 9c2d8842e5f48f57648205d39a239af1\nCiphertext: c9b8135ff1b5adc413dfd053b21bd96d\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: bff52510095f518ecca60af4205444bb\nCiphertext: 4a3650c3371ce2eb35e389a171427440\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 51719783d3185a535bd75adc65071ce1\nCiphertext: 4f354592ff7c8847d2d0870ca9481b7c\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 26aa49dcfe7629a8901a69a9914e6dfd\nCiphertext: d5e08bf9a182e857cf40b3a36ee248cc\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 941a4773058224e1ef66d10e0a6ee782\nCiphertext: 067cd9d3749207791841562507fa9626\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 275cfc0413d8ccb70513c3859b1d0f72\nPlaintext: 1b077a6af4b7f98229de786d7516b639\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c9b8135ff1b5adc413dfd053b21bd96d\nPlaintext: 9c2d8842e5f48f57648205d39a239af1\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4a3650c3371ce2eb35e389a171427440\nPlaintext: bff52510095f518ecca60af4205444bb\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4f354592ff7c8847d2d0870ca9481b7c\nPlaintext: 51719783d3185a535bd75adc65071ce1\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d5e08bf9a182e857cf40b3a36ee248cc\nPlaintext: 26aa49dcfe7629a8901a69a9914e6dfd\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 067cd9d3749207791841562507fa9626\nPlaintext: 941a4773058224e1ef66d10e0a6ee782\n\n# File 2: kat_aes/CBCKeySbox192.rsp\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0956259c9cd5cfd0181cca53380cde06\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e4e18424e591a3d5b6f0876f16f8594\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 93f3270cfc877ef17e106ce938979cb0\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: cd62376d5ebb414917f0c78f05266433dc9192a1ec943300\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7f6c25ff41858561bb62f36492e93c29\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 502a6ab36984af268bf423c7f509205207fc1552af4a91e5\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e06556dcbb00b809a025047cff2a940\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3608c344868e94555d23a120f8a5502d\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 77da2021935b840b7f5dcc39132da9e5\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 64ebf95686b353508c90ecd8b6134316\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff558c5d27210b7929b73fc708eb4cf1\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a2c3b2a818075490a7b4c14380f02702\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cfe4d74002696ccf7d87b14a2f9cafc9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d2eafd86f63b109b91f5dbb3a3fb7e13\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9b9fdd1c5975655f539998b306a324af\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: dd619e1cf204446112e0af2b9afa8f8c\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 19c80ec4a6deb7e5ed1033dda933498f\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3cf5e1d21a17956d1dffad6a7c41c659\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 45899367c3132849763073c435a9288a766c8b9ec2308516\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 69fd12e8505f8ded2fdcb197a121b362\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8aa584e2cc4d17417a97cb9a28ba29c8\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: abc786fb1edb504580c4d882ef29a0c7\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: d184c36cf0dddfec39e654195006022237871a47c33d3198\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e19fb60a3e1de0166f483c97824a978\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7656709538dd5fec41e0ce6a0f8e207d\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a67cf333b314d411d3c0ae6e1cfcd8f5\n\nCipher: AES-192-CBC\nOpera", "tion: DECRYPT\nKey: e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd\nIV: 00000000000000000000000000000000\nCiphertext: 0956259c9cd5cfd0181cca53380cde06\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29\nIV: 00000000000000000000000000000000\nCiphertext: 8e4e18424e591a3d5b6f0876f16f8594\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c\nIV: 00000000000000000000000000000000\nCiphertext: 93f3270cfc877ef17e106ce938979cb0\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: cd62376d5ebb414917f0c78f05266433dc9192a1ec943300\nIV: 00000000000000000000000000000000\nCiphertext: 7f6c25ff41858561bb62f36492e93c29\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 502a6ab36984af268bf423c7f509205207fc1552af4a91e5\nIV: 00000000000000000000000000000000\nCiphertext: 8e06556dcbb00b809a025047cff2a940\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce\nIV: 00000000000000000000000000000000\nCiphertext: 3608c344868e94555d23a120f8a5502d\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53\nIV: 00000000000000000000000000000000\nCiphertext: 77da2021935b840b7f5dcc39132da9e5\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980\nIV: 00000000000000000000000000000000\nCiphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53\nIV: 00000000000000000000000000000000\nCiphertext: 64ebf95686b353508c90ecd8b6134316\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40\nIV: 00000000000000000000000000000000\nCiphertext: ff558c5d27210b7929b73fc708eb4cf1\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae\nIV: 00000000000000000000000000000000\nCiphertext: a2c3b2a818075490a7b4c14380f02702\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79\nIV: 00000000000000000000000000000000\nCiphertext: cfe4d74002696ccf7d87b14a2f9cafc9\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570\nIV: 00000000000000000000000000000000\nCiphertext: d2eafd86f63b109b91f5dbb3a3fb7e13\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6\nIV: 00000000000000000000000000000000\nCiphertext: 9b9fdd1c5975655f539998b306a324af\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3\nIV: 00000000000000000000000000000000\nCiphertext: dd619e1cf204446112e0af2b9afa8f8c\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93\nIV: 00000000000000000000000000000000\nCiphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9\nIV: 00000000000000000000000000000000\nCiphertext: 19c80ec4a6deb7e5ed1033dda933498f\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35\nIV: 00000000000000000000000000000000\nCiphertext: 3cf5e1d21a17956d1dffad6a7c41c659\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 45899367c3132849763073c435a9288a766c8b9ec2308516\nIV: 00000000000000000000000000000000\nCiphertext: 69fd12e8505f8ded2fdcb197a121b362\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e\nIV: 00000000000000000000000000000000\nCiphertext: 8aa584e2cc4d17417a97cb9a28ba29c8\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9\nIV: 00000000000000000000000000000000\nCiphertext: abc786fb1edb504580c4d882ef29a0c7\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: d184c36cf0dddfec39e654195006022237871a47c33d3198\nIV: 00000000000000000000000000000000\nCiphertext: 2e19fb60a3e1de0166f483c97824a978\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080\nIV: 00000000000000000000000000000000\nCiphertext: 7656709538dd5fec41e0ce6a0f8e207d\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72\nIV: 00000000000000000000000000000000\nCiphertext: a67cf333b314d411d3c0ae6e1cfcd8f5\nPlaintext: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey192.rsp\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 800000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: de885dc87f5a92594082d02cc1e1b42c\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: c00000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 132b074e80f2a597bf5febd8ea5da55e\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: e00000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6eccedf8de592c22fb81347b79f2db1f\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: f00000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 180b09f267c45145db2f826c2582d35c\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: f80000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: edd807ef7652d7eb0e13c8b5e15b3bc0\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fc0000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9978bcf8dd8fd72241223ad24b31b8a4\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fe0000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5310f654343e8f27e12c83a48d24ff81\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ff0000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 833f71258d53036b02952c76c744f5a1\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ff8000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: eba83ff200cff9318a92f8691a06b09f\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffc000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff620ccbe9f3292abdf2176b09f04eba\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffe000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7ababc4b3f516c9aafb35f4140b548f9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fff000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: aa187824d9c4582b0916493ecbde8c57\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fff800000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1c0ad553177fd5ea1092c9d626a29dc4\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKe", "y: fffc00000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a5dc46c37261194124ecaebd680408ec\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffe00000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e4f2f2ae23e9b10bacfa58601531ba54\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffff00000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b7d67cf1a1e91e8ff3a57a172c7bf412\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffff80000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 26706be06967884e847d137128ce47b3\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffc0000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b2f8b409b0585909aad3a7b5a219072a\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffe0000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5e4b7bff0290c78344c54a23b722cd20\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffff0000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 07093657552d4414227ce161e9ebf7dd\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffff8000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e1af1e7d8bc225ed4dffb771ecbb9e67\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffc000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ef6555253635d8432156cfd9c11b145a\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffe000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fb4035074a5d4260c90cbd6da6c3fceb\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffff000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 446ee416f9ad1c103eb0cc96751c88e1\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffff800000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 198ae2a4637ac0a7890a8fd1485445c9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffc00000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 562012ec8faded0825fb2fa70ab30cbd\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffe00000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cc8a64b46b5d88bf7f247d4dbaf38f05\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffff00000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a168253762e2cc81b42d1e5001762699\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffff80000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1b41f83b38ce5032c6cd7af98cf62061\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffc0000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 61a89990cd1411750d5fb0dc988447d4\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffe0000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b5accc8ed629edf8c68a539183b1ea82\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffff0000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b16fa71f846b81a13f361c43a851f290\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffff8000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4fad6efdff5975aee7692234bcd54488\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffc000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ebfdb05a783d03082dfe5fdd80a00b17\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffe000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: eb81b584766997af6ba5529d3bdd8609\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffff000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0cf4ff4f49c8a0ca060c443499e29313\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffff800000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cc4ba8a8e029f8b26d8afff9df133bb6\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffc00000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fefebf64360f38e4e63558f0ffc550c3\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffe00000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 12ad98cbf725137d6a8108c2bed99322\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffff00000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6afaa996226198b3e2610413ce1b3f78\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffff80000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2a8ce6747a7e39367828e290848502d9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffc0000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 223736e8b8f89ca1e37b6deab40facf1\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffe0000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c0f797e50418b95fa6013333917a9480\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffff0000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a758de37c2ece2a02c73c01fedc9a132\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffff8000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3a9b87ae77bae706803966c66c73adbd\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffffc000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d365ab8df8ffd782e358121a4a4fc541\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffffe000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c8dcd9e6f75e6c36c8daee0466f0ed74\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffff000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c79a637beb1c0304f14014c037e736dd\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffff800000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 105f0a25e84ac930d996281a5f954dd9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffffc00000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 42e4074b2927973e8d17ffa92f7fe615\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffffe00000000000000000000000000000000000\n", @@ -1536,9 +1616,9 @@ static const char *kData23[] = { "0000\nCiphertext: 0882a16f44088d42447a29ac090ec17e\nPlaintext: fffffffffffffff00000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3a3c15bfc11a9537c130687004e136ee\nPlaintext: fffffffffffffff80000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 22c0a7678dc6d8cf5c8a6d5a9960767c\nPlaintext: fffffffffffffffc0000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b46b09809d68b9a456432a79bdc2e38c\nPlaintext: fffffffffffffffe0000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 93baaffb35fbe739c17c6ac22eecf18f\nPlaintext: ffffffffffffffff0000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c8aa80a7850675bc007c46df06b49868\nPlaintext: ffffffffffffffff8000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 12c6f3877af421a918a84b775858021d\nPlaintext: ffffffffffffffffc000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 33f123282c5d633924f7d5ba3f3cab11\nPlaintext: ffffffffffffffffe000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a8f161002733e93ca4527d22c1a0c5bb\nPlaintext: fffffffffffffffff000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b72f70ebf3e3fda23f508eec76b42c02\nPlaintext: fffffffffffffffff800000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6a9d965e6274143f25afdcfc88ffd77c\nPlaintext: fffffffffffffffffc00000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a0c74fd0b9361764ce91c5200b095357\nPlaintext: fffffffffffffffffe00000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 091d1fdc2bd2c346cd5046a8c6209146\nPlaintext: ffffffffffffffffff00000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e2a37580116cfb71856254496ab0aca8\nPlaintext: ffffffffffffffffff80000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e0b3a00785917c7efc9adba322813571\nPlaintext: ffffffffffffffffffc0000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 733d41f4727b5ef0df4af4cf3cffa0cb\nPlaintext: ffffffffffffffffffe0000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a99ebb030260826f981ad3e64490aa4f\nPlaintext: fffffffffffffffffff0000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 73f34c7d3eae5e80082c1647524308ee\nPlaintext: fffffffffffffffffff8000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 40ebd5ad082345b7a2097ccd3464da02\nPlaintext: fffffffffffffffffffc000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7cc4ae9a424b2cec90c97153c2457ec5\nPlaintext: fffffffffffffffffffe000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 54d632d03aba0bd0f91877ebdd4d09cb\nPlaintext: ffffffffffffffffffff000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d3427be7e4d27cd54f5fe37b03cf0897\nPlaintext: ffffffffffffffffffff800000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b2099795e88cc158fd75ea133d7e7fbe\nPlaintext: ffffffffffffffffffffc00000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a6cae46fb6fadfe7a2c302a34242817b\nPlaintext: ffffffffffffffffffffe00000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 026a7024d6a902e0b3ffccbaa910cc3f\nPlaintext: fffffffffffffffffffff00000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 156f07767a85a4312321f63968338a01\nPlaintext: fffffffffffffffffffff80000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 15eec9ebf42b9ca76897d2cd6c5a12e2\nPlaintext: fffffffffffffffffffffc0000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: db0d3a6fdcc13f915e2b302ceeb70fd8\nPlaintext: fffffffffffffffffffffe0000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 71dbf37e87a2e34d15b20e8f10e48924\nPlaintext: ffffffffffffffffffffff0000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c745c451e96ff3c045e4367c833e3b54\nPlaintext: ffffffffffffffffffffff8000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 340da09c2dd11c3b679d08ccd27dd595\nPlaintext: ffffffffffffffffffffffc000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8279f7c0c2a03ee660c6d392db025d18\nPlaintext: ffffffffffffffffffffffe000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a4b2c7d8eba531ff47c5041a55fbd1ec\nPlaintext: fffffffffffffffffffffff000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 74569a2ca5a7bd5131ce8dc7cbfbf72f\nPlaintext: fffffffffffffffffffffff800000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3713da0c0219b63454035613b5a403dd\nPlaintext: fffffffffffffffffffffffc00000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8827551ddcc9df23fa72a3de4e9f0b07\nPlaintext: fffffffffffffffffffffffe00000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2e3febfd625bfcd0a2c06eb460da1732\nPlaintext: ffffffffffffffffffffffff00000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ee82e6ba488156f76496311da6941deb\nPl", "aintext: ffffffffffffffffffffffff80000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4770446f01d1f391256e85a1b30d89d3\nPlaintext: ffffffffffffffffffffffffc0000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: af04b68f104f21ef2afb4767cf74143c\nPlaintext: ffffffffffffffffffffffffe0000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cf3579a9ba38c8e43653173e14f3a4c6\nPlaintext: fffffffffffffffffffffffff0000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b3bba904f4953e09b54800af2f62e7d4\nPlaintext: fffffffffffffffffffffffff8000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fc4249656e14b29eb9c44829b4c59a46\nPlaintext: fffffffffffffffffffffffffc000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9b31568febe81cfc2e65af1c86d1a308\nPlaintext: fffffffffffffffffffffffffe000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9ca09c25f273a766db98a480ce8dfedc\nPlaintext: ffffffffffffffffffffffffff000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b909925786f34c3c92d971883c9fbedf\nPlaintext: ffffffffffffffffffffffffff800000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 82647f1332fe570a9d4d92b2ee771d3b\nPlaintext: ffffffffffffffffffffffffffc00000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3604a7e80832b3a99954bca6f5b9f501\nPlaintext: ffffffffffffffffffffffffffe00000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 884607b128c5de3ab39a529a1ef51bef\nPlaintext: fffffffffffffffffffffffffff00000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 670cfa093d1dbdb2317041404102435e\nPlaintext: fffffffffffffffffffffffffff80000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7a867195f3ce8769cbd336502fbb5130\nPlaintext: fffffffffffffffffffffffffffc0000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 52efcf64c72b2f7ca5b3c836b1078c15\nPlaintext: fffffffffffffffffffffffffffe0000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4019250f6eefb2ac5ccbcae044e75c7e\nPlaintext: ffffffffffffffffffffffffffff0000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 022c4f6f5a017d292785627667ddef24\nPlaintext: ffffffffffffffffffffffffffff8000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e9c21078a2eb7e03250f71000fa9e3ed\nPlaintext: ffffffffffffffffffffffffffffc000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a13eaeeb9cd391da4e2b09490b3e7fad\nPlaintext: ffffffffffffffffffffffffffffe000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c958a171dca1d4ed53e1af1d380803a9\nPlaintext: fffffffffffffffffffffffffffff000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 21442e07a110667f2583eaeeee44dc8c\nPlaintext: fffffffffffffffffffffffffffff800\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 59bbb353cf1dd867a6e33737af655e99\nPlaintext: fffffffffffffffffffffffffffffc00\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 43cd3b25375d0ce41087ff9fe2829639\nPlaintext: fffffffffffffffffffffffffffffe00\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6b98b17e80d1118e3516bd768b285a84\nPlaintext: ffffffffffffffffffffffffffffff00\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ae47ed3676ca0c08deea02d95b81db58\nPlaintext: ffffffffffffffffffffffffffffff80\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 34ec40dc20413795ed53628ea748720b\nPlaintext: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4dc68163f8e9835473253542c8a65d46\nPlaintext: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2aabb999f43693175af65c6c612c46fb\nPlaintext: fffffffffffffffffffffffffffffff0\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e01f94499dac3547515c5b1d756f0f58\nPlaintext: fffffffffffffffffffffffffffffff8\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9d12435a46480ce00ea349f71799df9a\nPlaintext: fffffffffffffffffffffffffffffffc\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cef41d16d266bdfe46938ad7884cc0cf\nPlaintext: fffffffffffffffffffffffffffffffe\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b13db4da1f718bc6904797c82bcf2d32\nPlaintext: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen24 = 154338; +static const size_t kLen25 = 154338; -static const char *kData24[] = { +static const char *kData25[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-192-CTR -swap-iv-plaintext kat_aes/CBCGFSbox192.rsp kat_aes/CBCKeySbox192.rsp kat_aes/CBCVarKey192.rsp kat_aes/CBCVarTxt192.rsp\"\n\n# File 1: kat_aes/CBCGFSbox192.rsp\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 1b077a6af4b7f98229de786d7516b639\nCiphertext: 275cfc0413d8ccb70513c3859b1d0f72\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 9c2d8842e5f48f57648205d39a239af1\nCiphertext: c9b8135ff1b5adc413dfd053b21bd96d\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: bff52510095f518ecca60af4205444bb\nCiphertext: 4a3650c3371ce2eb35e389a171427440\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 51719783d3185a535bd75adc65071ce1\nCiphertext: 4f354592ff7c8847d2d0870ca9481b7c\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 26aa49dcfe7629a8901a69a9914e6dfd\nCiphertext: d5e08bf9a182e857cf40b3a36ee248cc\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 941a4773058224e1ef66d10e0a6ee782\nCiphertext: 067cd9d3749207791841562507fa9626\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 275cfc0413d8ccb70513c3859b1d0f72\nIV: 1b077a6af4b7f98229de786d7516b639\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c9b8135ff1b5adc413dfd053b21bd96d\nIV: 9c2d8842e5f48f57648205d39a239af1\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4a3650c3371ce2eb35e389a171427440\nIV: bff52510095f518ecca60af4205444bb\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4f354592ff7c8847d2d0870ca9481b7c\nIV: 51719783d3185a535bd75adc65071ce1\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d5e08bf9a182e857cf40b3a36ee248cc\nIV: 26aa49dcfe7629a8901a69a9914e6dfd\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 067cd9d3749207791841562507fa9626\nIV: 941a4773058224e1ef66d10e0a6ee782\n\n# File 2: kat_aes/CBCKeySbox192.rsp\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0956259c9cd5cfd0181cca53380cde06\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8e4e18424e591a3d5b6f0876f16f8594\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 93f3270cfc877ef17e106ce938979cb0\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: cd62376d5ebb414917f0c78f05266433dc9192a1ec943300\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7f6c25ff41858561bb62f36492e93c29\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 502a6ab36984af268bf423c7f509205207fc1552af4a91e5\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8e06556dcbb00b809a025047cff2a940\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3608c344868e94555d23a120f8a5502d\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 77da2021935b840b7f5dcc39132da9e5\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 64ebf95686b353508c90ecd8b6134316\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ff558c5d27210b7929b73fc708eb4cf1\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a2c3b2a818075490a7b4c14380f02702\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cfe4d74002696ccf7d87b14a2f9cafc9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d2eafd86f63b109b91f5dbb3a3fb7e13\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9b9fdd1c5975655f539998b306a324af\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: dd619e1cf204446112e0af2b9afa8f8c\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 19c80ec4a6deb7e5ed1033dda933498f\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3cf5e1d21a17956d1dffad6a7c41c659\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 45899367c3132849763073c435a9288a766c8b9ec2308516\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 69fd12e8505f8ded2fdcb197a121b362\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8aa584e2cc4d17417a97cb9a28ba29c8\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: abc786fb1edb504580c4d882ef29a0c7\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: d184c36cf0dddfec39e654195006022237871a47c33d3198\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2e19fb60a3e1de0166f483c97824a978\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7656709538dd5fec41e0ce6a0f8e207d\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a67cf333b314d411d3c0ae6e1cfcd8f5\n\nCipher", ": AES-192-CTR\nOperation: DECRYPT\nKey: e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0956259c9cd5cfd0181cca53380cde06\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e4e18424e591a3d5b6f0876f16f8594\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c\nPlaintext: 00000000000000000000000000000000\nCiphertext: 93f3270cfc877ef17e106ce938979cb0\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: cd62376d5ebb414917f0c78f05266433dc9192a1ec943300\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7f6c25ff41858561bb62f36492e93c29\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 502a6ab36984af268bf423c7f509205207fc1552af4a91e5\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e06556dcbb00b809a025047cff2a940\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3608c344868e94555d23a120f8a5502d\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53\nPlaintext: 00000000000000000000000000000000\nCiphertext: 77da2021935b840b7f5dcc39132da9e5\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53\nPlaintext: 00000000000000000000000000000000\nCiphertext: 64ebf95686b353508c90ecd8b6134316\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff558c5d27210b7929b73fc708eb4cf1\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae\nPlaintext: 00000000000000000000000000000000\nCiphertext: a2c3b2a818075490a7b4c14380f02702\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79\nPlaintext: 00000000000000000000000000000000\nCiphertext: cfe4d74002696ccf7d87b14a2f9cafc9\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570\nPlaintext: 00000000000000000000000000000000\nCiphertext: d2eafd86f63b109b91f5dbb3a3fb7e13\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9b9fdd1c5975655f539998b306a324af\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3\nPlaintext: 00000000000000000000000000000000\nCiphertext: dd619e1cf204446112e0af2b9afa8f8c\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93\nPlaintext: 00000000000000000000000000000000\nCiphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9\nPlaintext: 00000000000000000000000000000000\nCiphertext: 19c80ec4a6deb7e5ed1033dda933498f\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3cf5e1d21a17956d1dffad6a7c41c659\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 45899367c3132849763073c435a9288a766c8b9ec2308516\nPlaintext: 00000000000000000000000000000000\nCiphertext: 69fd12e8505f8ded2fdcb197a121b362\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8aa584e2cc4d17417a97cb9a28ba29c8\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9\nPlaintext: 00000000000000000000000000000000\nCiphertext: abc786fb1edb504580c4d882ef29a0c7\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: d184c36cf0dddfec39e654195006022237871a47c33d3198\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e19fb60a3e1de0166f483c97824a978\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7656709538dd5fec41e0ce6a0f8e207d\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72\nPlaintext: 00000000000000000000000000000000\nCiphertext: a67cf333b314d411d3c0ae6e1cfcd8f5\nIV: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey192.rsp\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 800000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: de885dc87f5a92594082d02cc1e1b42c\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: c00000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 132b074e80f2a597bf5febd8ea5da55e\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: e00000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6eccedf8de592c22fb81347b79f2db1f\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: f00000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 180b09f267c45145db2f826c2582d35c\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: f80000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: edd807ef7652d7eb0e13c8b5e15b3bc0\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fc0000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9978bcf8dd8fd72241223ad24b31b8a4\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fe0000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5310f654343e8f27e12c83a48d24ff81\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ff0000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 833f71258d53036b02952c76c744f5a1\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ff8000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: eba83ff200cff9318a92f8691a06b09f\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffc000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ff620ccbe9f3292abdf2176b09f04eba\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffe000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7ababc4b3f516c9aafb35f4140b548f9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fff000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: aa187824d9c4582b0916493ecbde8c57\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fff800000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1c0ad553177fd5ea1092c9d626a29dc4\n\nCipher: AES-192-CTR\nOp", "eration: ENCRYPT\nKey: fffc00000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a5dc46c37261194124ecaebd680408ec\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffe00000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e4f2f2ae23e9b10bacfa58601531ba54\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffff00000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b7d67cf1a1e91e8ff3a57a172c7bf412\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffff80000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 26706be06967884e847d137128ce47b3\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffc0000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b2f8b409b0585909aad3a7b5a219072a\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffe0000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5e4b7bff0290c78344c54a23b722cd20\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffff0000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 07093657552d4414227ce161e9ebf7dd\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffff8000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e1af1e7d8bc225ed4dffb771ecbb9e67\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffc000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ef6555253635d8432156cfd9c11b145a\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffe000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fb4035074a5d4260c90cbd6da6c3fceb\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffff000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 446ee416f9ad1c103eb0cc96751c88e1\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffff800000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 198ae2a4637ac0a7890a8fd1485445c9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffc00000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 562012ec8faded0825fb2fa70ab30cbd\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffe00000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cc8a64b46b5d88bf7f247d4dbaf38f05\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffff00000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a168253762e2cc81b42d1e5001762699\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffff80000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1b41f83b38ce5032c6cd7af98cf62061\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffc0000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 61a89990cd1411750d5fb0dc988447d4\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffe0000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b5accc8ed629edf8c68a539183b1ea82\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffff0000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b16fa71f846b81a13f361c43a851f290\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffff8000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4fad6efdff5975aee7692234bcd54488\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffc000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ebfdb05a783d03082dfe5fdd80a00b17\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffe000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: eb81b584766997af6ba5529d3bdd8609\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffff000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0cf4ff4f49c8a0ca060c443499e29313\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffff800000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cc4ba8a8e029f8b26d8afff9df133bb6\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffc00000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fefebf64360f38e4e63558f0ffc550c3\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffe00000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 12ad98cbf725137d6a8108c2bed99322\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffff00000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6afaa996226198b3e2610413ce1b3f78\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffff80000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2a8ce6747a7e39367828e290848502d9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffc0000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 223736e8b8f89ca1e37b6deab40facf1\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffe0000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c0f797e50418b95fa6013333917a9480\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffff0000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a758de37c2ece2a02c73c01fedc9a132\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffff8000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3a9b87ae77bae706803966c66c73adbd\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffffc000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d365ab8df8ffd782e358121a4a4fc541\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffffe000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c8dcd9e6f75e6c36c8daee0466f0ed74\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffff000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c79a637beb1c0304f14014c037e736dd\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffff800000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 105f0a25e84ac930d996281a5f954dd9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffffc00000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 42e4074b2927973e8d17ffa92f7fe615\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffffe00000000000000000", @@ -1559,9 +1639,9 @@ static const char *kData24[] = { "000000000000000000000000000000\nCiphertext: 0882a16f44088d42447a29ac090ec17e\nIV: fffffffffffffff00000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3a3c15bfc11a9537c130687004e136ee\nIV: fffffffffffffff80000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 22c0a7678dc6d8cf5c8a6d5a9960767c\nIV: fffffffffffffffc0000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b46b09809d68b9a456432a79bdc2e38c\nIV: fffffffffffffffe0000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 93baaffb35fbe739c17c6ac22eecf18f\nIV: ffffffffffffffff0000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c8aa80a7850675bc007c46df06b49868\nIV: ffffffffffffffff8000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 12c6f3877af421a918a84b775858021d\nIV: ffffffffffffffffc000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 33f123282c5d633924f7d5ba3f3cab11\nIV: ffffffffffffffffe000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a8f161002733e93ca4527d22c1a0c5bb\nIV: fffffffffffffffff000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b72f70ebf3e3fda23f508eec76b42c02\nIV: fffffffffffffffff800000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6a9d965e6274143f25afdcfc88ffd77c\nIV: fffffffffffffffffc00000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a0c74fd0b9361764ce91c5200b095357\nIV: fffffffffffffffffe00000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 091d1fdc2bd2c346cd5046a8c6209146\nIV: ffffffffffffffffff00000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e2a37580116cfb71856254496ab0aca8\nIV: ffffffffffffffffff80000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e0b3a00785917c7efc9adba322813571\nIV: ffffffffffffffffffc0000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 733d41f4727b5ef0df4af4cf3cffa0cb\nIV: ffffffffffffffffffe0000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a99ebb030260826f981ad3e64490aa4f\nIV: fffffffffffffffffff0000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 73f34c7d3eae5e80082c1647524308ee\nIV: fffffffffffffffffff8000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 40ebd5ad082345b7a2097ccd3464da02\nIV: fffffffffffffffffffc000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7cc4ae9a424b2cec90c97153c2457ec5\nIV: fffffffffffffffffffe000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 54d632d03aba0bd0f91877ebdd4d09cb\nIV: ffffffffffffffffffff000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d3427be7e4d27cd54f5fe37b03cf0897\nIV: ffffffffffffffffffff800000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b2099795e88cc158fd75ea133d7e7fbe\nIV: ffffffffffffffffffffc00000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a6cae46fb6fadfe7a2c302a34242817b\nIV: ffffffffffffffffffffe00000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 026a7024d6a902e0b3ffccbaa910cc3f\nIV: fffffffffffffffffffff00000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 156f07767a85a4312321f63968338a01\nIV: fffffffffffffffffffff80000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 15eec9ebf42b9ca76897d2cd6c5a12e2\nIV: fffffffffffffffffffffc0000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: db0d3a6fdcc13f915e2b302ceeb70fd8\nIV: fffffffffffffffffffffe0000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 71dbf37e87a2e34d15b20e8f10e48924\nIV: ffffffffffffffffffffff0000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c745c451e96ff3c045e4367c833e3b54\nIV: ffffffffffffffffffffff8000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 340da09c2dd11c3b679d08ccd27dd595\nIV: ffffffffffffffffffffffc000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8279f7c0c2a03ee660c6d392db025d18\nIV: ffffffffffffffffffffffe000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a4b2c7d8eba531ff47c5041a55fbd1ec\nIV: fffffffffffffffffffffff000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 74569a2ca5a7bd5131ce8dc7cbfbf72f\nIV: fffffffffffffffffffffff800000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3713da0c0219b63454035613b5a403dd\nIV: fffffffffffffffffffffffc00000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8827551ddcc9df23fa72a3de4e9f0b07\nIV: fffffffffffffffffffffffe00000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e3febfd625bfcd0a2c06eb460da1732\nIV: ffffffffffffffffffffffff00000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ee82e6ba4", "88156f76496311da6941deb\nIV: ffffffffffffffffffffffff80000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4770446f01d1f391256e85a1b30d89d3\nIV: ffffffffffffffffffffffffc0000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: af04b68f104f21ef2afb4767cf74143c\nIV: ffffffffffffffffffffffffe0000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cf3579a9ba38c8e43653173e14f3a4c6\nIV: fffffffffffffffffffffffff0000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b3bba904f4953e09b54800af2f62e7d4\nIV: fffffffffffffffffffffffff8000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fc4249656e14b29eb9c44829b4c59a46\nIV: fffffffffffffffffffffffffc000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9b31568febe81cfc2e65af1c86d1a308\nIV: fffffffffffffffffffffffffe000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9ca09c25f273a766db98a480ce8dfedc\nIV: ffffffffffffffffffffffffff000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b909925786f34c3c92d971883c9fbedf\nIV: ffffffffffffffffffffffffff800000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 82647f1332fe570a9d4d92b2ee771d3b\nIV: ffffffffffffffffffffffffffc00000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3604a7e80832b3a99954bca6f5b9f501\nIV: ffffffffffffffffffffffffffe00000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 884607b128c5de3ab39a529a1ef51bef\nIV: fffffffffffffffffffffffffff00000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 670cfa093d1dbdb2317041404102435e\nIV: fffffffffffffffffffffffffff80000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7a867195f3ce8769cbd336502fbb5130\nIV: fffffffffffffffffffffffffffc0000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 52efcf64c72b2f7ca5b3c836b1078c15\nIV: fffffffffffffffffffffffffffe0000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4019250f6eefb2ac5ccbcae044e75c7e\nIV: ffffffffffffffffffffffffffff0000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 022c4f6f5a017d292785627667ddef24\nIV: ffffffffffffffffffffffffffff8000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e9c21078a2eb7e03250f71000fa9e3ed\nIV: ffffffffffffffffffffffffffffc000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a13eaeeb9cd391da4e2b09490b3e7fad\nIV: ffffffffffffffffffffffffffffe000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c958a171dca1d4ed53e1af1d380803a9\nIV: fffffffffffffffffffffffffffff000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 21442e07a110667f2583eaeeee44dc8c\nIV: fffffffffffffffffffffffffffff800\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 59bbb353cf1dd867a6e33737af655e99\nIV: fffffffffffffffffffffffffffffc00\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 43cd3b25375d0ce41087ff9fe2829639\nIV: fffffffffffffffffffffffffffffe00\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6b98b17e80d1118e3516bd768b285a84\nIV: ffffffffffffffffffffffffffffff00\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ae47ed3676ca0c08deea02d95b81db58\nIV: ffffffffffffffffffffffffffffff80\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 34ec40dc20413795ed53628ea748720b\nIV: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4dc68163f8e9835473253542c8a65d46\nIV: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2aabb999f43693175af65c6c612c46fb\nIV: fffffffffffffffffffffffffffffff0\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e01f94499dac3547515c5b1d756f0f58\nIV: fffffffffffffffffffffffffffffff8\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9d12435a46480ce00ea349f71799df9a\nIV: fffffffffffffffffffffffffffffffc\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cef41d16d266bdfe46938ad7884cc0cf\nIV: fffffffffffffffffffffffffffffffe\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b13db4da1f718bc6904797c82bcf2d32\nIV: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen25 = 191479; +static const size_t kLen26 = 191479; -static const char *kData25[] = { +static const char *kData26[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-256-CBC kat_aes/CBCGFSbox256.rsp kat_aes/CBCKeySbox256.rsp kat_aes/CBCVarKey256.rsp kat_aes/CBCVarTxt256.rsp\"\n\n# File 1: kat_aes/CBCGFSbox256.rsp\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 014730f80ac625fe84f026c60bfd547d\nCiphertext: 5c9d844ed46f9885085e5d6a4f94c7d7\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 0b24af36193ce4665f2825d7b4749c98\nCiphertext: a9ff75bd7cf6613d3731c77c3b6d0c04\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 761c1fe41a18acf20d241650611d90f1\nCiphertext: 623a52fcea5d443e48d9181ab32c7421\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 8a560769d605868ad80d819bdba03771\nCiphertext: 38f2c7ae10612415d27ca190d27da8b4\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 91fbef2d15a97816060bee1feaa49afe\nCiphertext: 1bc704f1bce135ceb810341b216d7abe\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5c9d844ed46f9885085e5d6a4f94c7d7\nPlaintext: 014730f80ac625fe84f026c60bfd547d\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a9ff75bd7cf6613d3731c77c3b6d0c04\nPlaintext: 0b24af36193ce4665f2825d7b4749c98\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 623a52fcea5d443e48d9181ab32c7421\nPlaintext: 761c1fe41a18acf20d241650611d90f1\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 38f2c7ae10612415d27ca190d27da8b4\nPlaintext: 8a560769d605868ad80d819bdba03771\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1bc704f1bce135ceb810341b216d7abe\nPlaintext: 91fbef2d15a97816060bee1feaa49afe\n\n# File 2: kat_aes/CBCKeySbox256.rsp\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 46f2fb342d6f0ab477476fc501242c5f\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4bf3b0a69aeb6657794f2901b1440ad4\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 352065272169abf9856843927d0674fd\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4307456a9e67813b452e15fa8fffe398\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4663446607354989477a5c6f0f007ef4\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 531c2c38344578b84d50b3c917bbb6e1\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fc6aec906323480005c58e7e1ab004ad\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a3944b95ca0b52043584ef02151926a8\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a74289fe73a4c123ca189ea1e1b49ad5\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b91d4ea4488644b56cf0812fa7fcf5fc\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 304f81ab61a80c2e743b94d5002a126b\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 649a71545378c783e368c9ade7114f6c\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 47cb030da2ab051dfc6c4bf6910d12bb\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 798c7c005dee432b2c8ea5dfa381ecc3\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 637c31dc2591a07636f646b72daabbe7\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 179a49c712154bbffbe6e7a84a18e220\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558\nIV: 00000000000000000000000000000000\nCiphertext: 46f2fb342d6f0ab477476fc501242c5f\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64\nIV: 00000000000000000000000000000000\nCiphertext: 4bf3b0a69aeb6657794f2901b1440ad4\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c\nIV: 00000000000000000000000000000000\nCiphertext: 352065272169abf9856843927d0674fd\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627\nIV: 00000000000000000000000000000000\nCiphertext: 4307456a9e67813b452e15fa8fffe398\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f\nIV: 00000000000000000000000000000000\nCiphertext: 4663446607354989477a5c6f0f007ef4\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9\nIV: 00000000000000000000000000000000\nCiphertext: 531c2c38344578b84d50b3c917bbb6e1\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf\nIV: 00000000000000000000000000000000\nCiphertext: fc6aec906323480005c58e7e1ab004ad\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9\nIV: 00000000000000000000000000000000\nCiphertext:", " a3944b95ca0b52043584ef02151926a8\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e\nIV: 00000000000000000000000000000000\nCiphertext: a74289fe73a4c123ca189ea1e1b49ad5\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707\nIV: 00000000000000000000000000000000\nCiphertext: b91d4ea4488644b56cf0812fa7fcf5fc\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc\nIV: 00000000000000000000000000000000\nCiphertext: 304f81ab61a80c2e743b94d5002a126b\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887\nIV: 00000000000000000000000000000000\nCiphertext: 649a71545378c783e368c9ade7114f6c\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee\nIV: 00000000000000000000000000000000\nCiphertext: 47cb030da2ab051dfc6c4bf6910d12bb\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1\nIV: 00000000000000000000000000000000\nCiphertext: 798c7c005dee432b2c8ea5dfa381ecc3\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07\nIV: 00000000000000000000000000000000\nCiphertext: 637c31dc2591a07636f646b72daabbe7\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e\nIV: 00000000000000000000000000000000\nCiphertext: 179a49c712154bbffbe6e7a84a18e220\nPlaintext: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey256.rsp\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 8000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e35a6dcb19b201a01ebcfa8aa22b5759\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: c000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b29169cdcf2d83e838125a12ee6aa400\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: e000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d8f3a72fc3cdf74dfaf6c3e6b97b2fa6\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: f000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1c777679d50037c79491a94da76a9a35\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: f800000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9cf4893ecafa0a0247a898e040691559\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fc00000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8fbb413703735326310a269bd3aa94b2\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fe00000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 60e32246bed2b0e859e55c1cc6b26502\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ff00000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ec52a212f80a09df6317021bc2a9819e\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ff80000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f23e5b600eb70dbccf6c0b1d9a68182c\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffc0000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a3f599d63a82a968c33fe26590745970\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffe0000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d1ccb9b1337002cbac42c520b5d67722\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fff0000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cc111f6c37cf40a1159d00fb59fb0488\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fff8000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: dc43b51ab609052372989a26e9cdd714\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffc000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4dcede8da9e2578f39703d4433dc6459\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffe000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1a4c1c263bbccfafc11782894685e3a8\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffff000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 937ad84880db50613423d6d527a2823d\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffff800000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 610b71dfc688e150d8152c5b35ebc14d\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffc00000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 27ef2495dabf323885aab39c80f18d8b\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffe00000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 633cafea395bc03adae3a1e2068e4b4e\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffff00000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6e1b482b53761cf631819b749a6f3724\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffff80000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 976e6f851ab52c771998dbb2d71c75a9\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffc0000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 85f2ba84f8c307cf525e124c3e22e6cc\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffe0000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6bcca98bf6a835fa64955f72de4115fe\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffff0000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2c75e2d36eebd65411f14fd0eb1d2a06\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffff8000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: bd49295006250ffca5100b6007a0eade\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffc000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a190527d0ef7c70f459cd3940df316ec\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffe00", "0000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: bbd1097a62433f79449fa97d4ee80dbf\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffff000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 07058e408f5b99b0e0f061a1761b5b3b\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffff800000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5fd1f13fa0f31e37fabde328f894eac2\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffc00000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fc4af7c948df26e2ef3e01c1ee5b8f6f\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffe00000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 829fd7208fb92d44a074a677ee9861ac\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffff00000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ad9fc613a703251b54c64a0e76431711\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffff80000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 33ac9eccc4cc75e2711618f80b1548e8\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffc0000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2025c74b8ad8f4cda17ee2049c4c902d\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffe0000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f85ca05fe528f1ce9b790166e8d551e7\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffff0000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6f6238d8966048d4967154e0dad5a6c9\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffff8000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f2b21b4e7640a9b3346de8b82fb41e49\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffc000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f836f251ad1d11d49dc344628b1884e1\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffe000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 077e9470ae7abea5a9769d49182628c3\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffff000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e0dcc2d27fc9865633f85223cf0d611f\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffff800000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: be66cfea2fecd6bf0ec7b4352c99bcaa\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffc00000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: df31144f87a2ef523facdcf21a427804\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffe00000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b5bb0f5629fb6aae5e1839a3c3625d63\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffff00000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3c9db3335306fe1ec612bdbfae6b6028\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffff80000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3dd5c34634a79d3cfcc8339760e6f5f4\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffc0000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 82bda118a3ed7af314fa2ccc5c07b761\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffe0000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2937a64f7d4f46fe6fea3b349ec78e38\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffff0000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 225f068c28476605735ad671bb8f39f3\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffff8000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ae682c5ecd71898e08942ac9aa89875c\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffc000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5e031cb9d676c3022d7f26227e85c38f\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffe000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a78463fb064db5d52bb64bfef64f2dda\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffff000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8aa9b75e784593876c53a00eae5af52b\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffff800000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3f84566df23da48af692722fe980573a\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffffc00000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 31690b5ed41c7eb42a1e83270a7ff0e6\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffffe00000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 77dd7702646d55f08365e477d3590eda\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffff00000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4c022ac62b3cb78d739cc67b3e20bb7e\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffff80000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 092fa137ce18b5dfe7906f550bb13370\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffffc0000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3e0cdadf2e68353c0027672c97144dd3\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffffe0000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d8c4b200b383fc1f2b2ea677618a1d27\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffffff0000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 11825f99b0e9bb3477c1c0713b015aac\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffffff8000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f8b9fffb5c187f7ddc7", @@ -1587,9 +1667,9 @@ static const char *kData25[] = { "00000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4cc42fc1407b008fe350907c092e80ac\nPlaintext: ffffffffffffffffffff800000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 08b244ce7cbc8ee97fbba808cb146fda\nPlaintext: ffffffffffffffffffffc00000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 39b333e8694f21546ad1edd9d87ed95b\nPlaintext: ffffffffffffffffffffe00000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3b271f8ab2e6e4a20ba8090f43ba78f3\nPlaintext: fffffffffffffffffffff00000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9ad983f3bf651cd0393f0a73cccdea50\nPlaintext: fffffffffffffffffffff80000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8f476cbff75c1f725ce18e4bbcd19b32\nPlaintext: fffffffffffffffffffffc0000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 905b6267f1d6ab5320835a133f096f2a\nPlaintext: fffffffffffffffffffffe0000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 145b60d6d0193c23f4221848a892d61a\nPlaintext: ffffffffffffffffffffff0000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 55cfb3fb6d75cad0445bbc8dafa25b0f\nPlaintext: ffffffffffffffffffffff8000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7b8e7098e357ef71237d46d8b075b0f5\nPlaintext: ffffffffffffffffffffffc000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2bf27229901eb40f2df9d8398d1505ae\nPlaintext: ffffffffffffffffffffffe000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 83a63402a77f9ad5c1e931a931ecd706\nPlaintext: fffffffffffffffffffffff000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6f8ba6521152d31f2bada1843e26b973\nPlaintext: fffffffffffffffffffffff800000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e5c3b8e30fd2d8e6239b17b44bd23bbd\nPlaintext: fffffffffffffffffffffffc00000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1ac1f7102c59933e8b2ddc3f14e94baa\nPlaintext: fffffffffffffffffffffffe00000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 21d9ba49f276b45f11af8fc71a088e3d\nPlaintext: ffffffffffffffffffffffff00000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 649f1cddc3792b4638635a392bc9bade\nPlaintext: ffffffffffffffffffffffff80000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e2775e4b59c1bc2e31a2078c11b5a08c\nPlaintext: ffffffffffffffffffffffffc0000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2be1fae5048a25582a679ca10905eb80\nPlaintext: ffffffffffffffffffffffffe0000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: da86f292c6f41ea34fb2068df75ecc29\nPlaintext: fffffffffffffffffffffffff0000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 220df19f85d69b1b562fa69a3c5beca5\nPlaintext: fffffffffffffffffffffffff8000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1f11d5d0355e0b556ccdb6c7f5083b4d\nPlaintext: fffffffffffffffffffffffffc000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 62526b78be79cb384633c91f83b4151b\nPlaintext: fffffffffffffffffffffffffe000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 90ddbcb950843592dd47bbef00fdc876\nPlaintext: ffffffffffffffffffffffffff000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2fd0e41c5b8402277354a7391d2618e2\nPlaintext: ffffffffffffffffffffffffff800000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3cdf13e72dee4c581bafec70b85f9660\nPlaintext: ffffffffffffffffffffffffffc00000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: afa2ffc137577092e2b654fa199d2c43\nPlaintext: ffffffffffffffffffffffffffe00000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8d683ee63e60d208e343ce48dbc44cac\nPlaintext: fffffffffffffffffffffffffff00000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 705a4ef8ba2133729c20185c3d3a4763\nPlaintext: fffffffffffffffffffffffffff80000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0861a861c3db4e94194211b77ed761b9\nPlaintext: fffffffffffffffffffffffffffc0000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4b00c27e8b26da7eab9d3a88dec8b031\nPlaintext: fffffffffffffffffffffffffffe0000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5f397bf03084820cc8810d52e5b666e9\nPlaintext: ffffffffffffffffffffffffffff0000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 63fafabb72c07bfbd3ddc9b1203104b8\nPlaintext: ffffffffffffffffffffffffffff8000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 683e2140585b18452dd4ffbb93c95df9\nPlaintext: ffffffffffffffffffffffffffffc000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 286894e48e537f8763b56707d7d155c8\nPlaintext: ffffffffffffffffffffffffffffe000\n\nCiphe", "r: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a423deabc173dcf7e2c4c53e77d37cd1\nPlaintext: fffffffffffffffffffffffffffff000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: eb8168313e1cfdfdb5e986d5429cf172\nPlaintext: fffffffffffffffffffffffffffff800\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 27127daafc9accd2fb334ec3eba52323\nPlaintext: fffffffffffffffffffffffffffffc00\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ee0715b96f72e3f7a22a5064fc592f4c\nPlaintext: fffffffffffffffffffffffffffffe00\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 29ee526770f2a11dcfa989d1ce88830f\nPlaintext: ffffffffffffffffffffffffffffff00\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0493370e054b09871130fe49af730a5a\nPlaintext: ffffffffffffffffffffffffffffff80\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9b7b940f6c509f9e44a4ee140448ee46\nPlaintext: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2915be4a1ecfdcbe3e023811a12bb6c7\nPlaintext: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7240e524bc51d8c4d440b1be55d1062c\nPlaintext: fffffffffffffffffffffffffffffff0\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: da63039d38cb4612b2dc36ba26684b93\nPlaintext: fffffffffffffffffffffffffffffff8\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0f59cb5a4b522e2ac56c1a64f558ad9a\nPlaintext: fffffffffffffffffffffffffffffffc\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7bfe9d876c6d63c1d035da8fe21c409d\nPlaintext: fffffffffffffffffffffffffffffffe\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: acdace8078a32b1a182bfa4987ca1347\nPlaintext: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen26 = 191498; +static const size_t kLen27 = 191498; -static const char *kData26[] = { +static const char *kData27[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-256-CTR -swap-iv-plaintext kat_aes/CBCGFSbox256.rsp kat_aes/CBCKeySbox256.rsp kat_aes/CBCVarKey256.rsp kat_aes/CBCVarTxt256.rsp\"\n\n# File 1: kat_aes/CBCGFSbox256.rsp\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 014730f80ac625fe84f026c60bfd547d\nCiphertext: 5c9d844ed46f9885085e5d6a4f94c7d7\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 0b24af36193ce4665f2825d7b4749c98\nCiphertext: a9ff75bd7cf6613d3731c77c3b6d0c04\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 761c1fe41a18acf20d241650611d90f1\nCiphertext: 623a52fcea5d443e48d9181ab32c7421\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 8a560769d605868ad80d819bdba03771\nCiphertext: 38f2c7ae10612415d27ca190d27da8b4\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 91fbef2d15a97816060bee1feaa49afe\nCiphertext: 1bc704f1bce135ceb810341b216d7abe\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5c9d844ed46f9885085e5d6a4f94c7d7\nIV: 014730f80ac625fe84f026c60bfd547d\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a9ff75bd7cf6613d3731c77c3b6d0c04\nIV: 0b24af36193ce4665f2825d7b4749c98\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 623a52fcea5d443e48d9181ab32c7421\nIV: 761c1fe41a18acf20d241650611d90f1\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 38f2c7ae10612415d27ca190d27da8b4\nIV: 8a560769d605868ad80d819bdba03771\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1bc704f1bce135ceb810341b216d7abe\nIV: 91fbef2d15a97816060bee1feaa49afe\n\n# File 2: kat_aes/CBCKeySbox256.rsp\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 46f2fb342d6f0ab477476fc501242c5f\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4bf3b0a69aeb6657794f2901b1440ad4\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 352065272169abf9856843927d0674fd\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4307456a9e67813b452e15fa8fffe398\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4663446607354989477a5c6f0f007ef4\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 531c2c38344578b84d50b3c917bbb6e1\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fc6aec906323480005c58e7e1ab004ad\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a3944b95ca0b52043584ef02151926a8\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a74289fe73a4c123ca189ea1e1b49ad5\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b91d4ea4488644b56cf0812fa7fcf5fc\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 304f81ab61a80c2e743b94d5002a126b\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 649a71545378c783e368c9ade7114f6c\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 47cb030da2ab051dfc6c4bf6910d12bb\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 798c7c005dee432b2c8ea5dfa381ecc3\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 637c31dc2591a07636f646b72daabbe7\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 179a49c712154bbffbe6e7a84a18e220\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558\nPlaintext: 00000000000000000000000000000000\nCiphertext: 46f2fb342d6f0ab477476fc501242c5f\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4bf3b0a69aeb6657794f2901b1440ad4\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c\nPlaintext: 00000000000000000000000000000000\nCiphertext: 352065272169abf9856843927d0674fd\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4307456a9e67813b452e15fa8fffe398\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4663446607354989477a5c6f0f007ef4\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9\nPlaintext: 00000000000000000000000000000000\nCiphertext: 531c2c38344578b84d50b3c917bbb6e1\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf\nPlaintext: 00000000000000000000000000000000\nCiphertext: fc6aec906323480005c58e7e1ab004ad\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9\nPlaintext: 000000000000000000", "00000000000000\nCiphertext: a3944b95ca0b52043584ef02151926a8\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e\nPlaintext: 00000000000000000000000000000000\nCiphertext: a74289fe73a4c123ca189ea1e1b49ad5\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707\nPlaintext: 00000000000000000000000000000000\nCiphertext: b91d4ea4488644b56cf0812fa7fcf5fc\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc\nPlaintext: 00000000000000000000000000000000\nCiphertext: 304f81ab61a80c2e743b94d5002a126b\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887\nPlaintext: 00000000000000000000000000000000\nCiphertext: 649a71545378c783e368c9ade7114f6c\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee\nPlaintext: 00000000000000000000000000000000\nCiphertext: 47cb030da2ab051dfc6c4bf6910d12bb\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1\nPlaintext: 00000000000000000000000000000000\nCiphertext: 798c7c005dee432b2c8ea5dfa381ecc3\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07\nPlaintext: 00000000000000000000000000000000\nCiphertext: 637c31dc2591a07636f646b72daabbe7\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e\nPlaintext: 00000000000000000000000000000000\nCiphertext: 179a49c712154bbffbe6e7a84a18e220\nIV: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey256.rsp\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 8000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e35a6dcb19b201a01ebcfa8aa22b5759\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: c000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b29169cdcf2d83e838125a12ee6aa400\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: e000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d8f3a72fc3cdf74dfaf6c3e6b97b2fa6\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: f000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1c777679d50037c79491a94da76a9a35\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: f800000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9cf4893ecafa0a0247a898e040691559\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fc00000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8fbb413703735326310a269bd3aa94b2\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fe00000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 60e32246bed2b0e859e55c1cc6b26502\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ff00000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ec52a212f80a09df6317021bc2a9819e\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ff80000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f23e5b600eb70dbccf6c0b1d9a68182c\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffc0000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a3f599d63a82a968c33fe26590745970\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffe0000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d1ccb9b1337002cbac42c520b5d67722\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fff0000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cc111f6c37cf40a1159d00fb59fb0488\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fff8000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: dc43b51ab609052372989a26e9cdd714\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffc000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4dcede8da9e2578f39703d4433dc6459\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffe000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1a4c1c263bbccfafc11782894685e3a8\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffff000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 937ad84880db50613423d6d527a2823d\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffff800000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 610b71dfc688e150d8152c5b35ebc14d\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffc00000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 27ef2495dabf323885aab39c80f18d8b\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffe00000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 633cafea395bc03adae3a1e2068e4b4e\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffff00000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6e1b482b53761cf631819b749a6f3724\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffff80000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 976e6f851ab52c771998dbb2d71c75a9\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffc0000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 85f2ba84f8c307cf525e124c3e22e6cc\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffe0000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6bcca98bf6a835fa64955f72de4115fe\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffff0000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2c75e2d36eebd65411f14fd0eb1d2a06\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffff8000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: bd49295006250ffca5100b6007a0eade\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffc000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a190527d0ef7c70f459cd3940df316ec\n\nCipher: AES-256-CTR\nOperation: ENC", "RYPT\nKey: ffffffe000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: bbd1097a62433f79449fa97d4ee80dbf\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffff000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 07058e408f5b99b0e0f061a1761b5b3b\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffff800000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5fd1f13fa0f31e37fabde328f894eac2\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffc00000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fc4af7c948df26e2ef3e01c1ee5b8f6f\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffe00000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 829fd7208fb92d44a074a677ee9861ac\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffff00000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ad9fc613a703251b54c64a0e76431711\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffff80000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 33ac9eccc4cc75e2711618f80b1548e8\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffc0000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2025c74b8ad8f4cda17ee2049c4c902d\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffe0000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f85ca05fe528f1ce9b790166e8d551e7\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffff0000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6f6238d8966048d4967154e0dad5a6c9\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffff8000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f2b21b4e7640a9b3346de8b82fb41e49\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffc000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f836f251ad1d11d49dc344628b1884e1\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffe000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 077e9470ae7abea5a9769d49182628c3\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffff000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e0dcc2d27fc9865633f85223cf0d611f\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffff800000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: be66cfea2fecd6bf0ec7b4352c99bcaa\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffc00000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: df31144f87a2ef523facdcf21a427804\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffe00000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b5bb0f5629fb6aae5e1839a3c3625d63\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffff00000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3c9db3335306fe1ec612bdbfae6b6028\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffff80000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3dd5c34634a79d3cfcc8339760e6f5f4\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffc0000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 82bda118a3ed7af314fa2ccc5c07b761\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffe0000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2937a64f7d4f46fe6fea3b349ec78e38\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffff0000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 225f068c28476605735ad671bb8f39f3\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffff8000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ae682c5ecd71898e08942ac9aa89875c\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffc000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5e031cb9d676c3022d7f26227e85c38f\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffe000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a78463fb064db5d52bb64bfef64f2dda\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffff000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8aa9b75e784593876c53a00eae5af52b\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffff800000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3f84566df23da48af692722fe980573a\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffffc00000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 31690b5ed41c7eb42a1e83270a7ff0e6\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffffe00000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 77dd7702646d55f08365e477d3590eda\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffff00000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4c022ac62b3cb78d739cc67b3e20bb7e\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffff80000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 092fa137ce18b5dfe7906f550bb13370\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffffc0000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3e0cdadf2e68353c0027672c97144dd3\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffffe0000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d8c4b200b383fc1f2b2ea677618a1d27\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffffff0000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 11825f99b0e9bb3477c1c0713b015aac\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffffff8000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ", @@ -1615,9 +1695,9 @@ static const char *kData26[] = { "000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4cc42fc1407b008fe350907c092e80ac\nIV: ffffffffffffffffffff800000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 08b244ce7cbc8ee97fbba808cb146fda\nIV: ffffffffffffffffffffc00000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 39b333e8694f21546ad1edd9d87ed95b\nIV: ffffffffffffffffffffe00000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3b271f8ab2e6e4a20ba8090f43ba78f3\nIV: fffffffffffffffffffff00000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9ad983f3bf651cd0393f0a73cccdea50\nIV: fffffffffffffffffffff80000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8f476cbff75c1f725ce18e4bbcd19b32\nIV: fffffffffffffffffffffc0000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 905b6267f1d6ab5320835a133f096f2a\nIV: fffffffffffffffffffffe0000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 145b60d6d0193c23f4221848a892d61a\nIV: ffffffffffffffffffffff0000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 55cfb3fb6d75cad0445bbc8dafa25b0f\nIV: ffffffffffffffffffffff8000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7b8e7098e357ef71237d46d8b075b0f5\nIV: ffffffffffffffffffffffc000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2bf27229901eb40f2df9d8398d1505ae\nIV: ffffffffffffffffffffffe000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 83a63402a77f9ad5c1e931a931ecd706\nIV: fffffffffffffffffffffff000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6f8ba6521152d31f2bada1843e26b973\nIV: fffffffffffffffffffffff800000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e5c3b8e30fd2d8e6239b17b44bd23bbd\nIV: fffffffffffffffffffffffc00000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1ac1f7102c59933e8b2ddc3f14e94baa\nIV: fffffffffffffffffffffffe00000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 21d9ba49f276b45f11af8fc71a088e3d\nIV: ffffffffffffffffffffffff00000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 649f1cddc3792b4638635a392bc9bade\nIV: ffffffffffffffffffffffff80000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e2775e4b59c1bc2e31a2078c11b5a08c\nIV: ffffffffffffffffffffffffc0000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2be1fae5048a25582a679ca10905eb80\nIV: ffffffffffffffffffffffffe0000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: da86f292c6f41ea34fb2068df75ecc29\nIV: fffffffffffffffffffffffff0000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 220df19f85d69b1b562fa69a3c5beca5\nIV: fffffffffffffffffffffffff8000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1f11d5d0355e0b556ccdb6c7f5083b4d\nIV: fffffffffffffffffffffffffc000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 62526b78be79cb384633c91f83b4151b\nIV: fffffffffffffffffffffffffe000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 90ddbcb950843592dd47bbef00fdc876\nIV: ffffffffffffffffffffffffff000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2fd0e41c5b8402277354a7391d2618e2\nIV: ffffffffffffffffffffffffff800000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3cdf13e72dee4c581bafec70b85f9660\nIV: ffffffffffffffffffffffffffc00000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: afa2ffc137577092e2b654fa199d2c43\nIV: ffffffffffffffffffffffffffe00000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8d683ee63e60d208e343ce48dbc44cac\nIV: fffffffffffffffffffffffffff00000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 705a4ef8ba2133729c20185c3d3a4763\nIV: fffffffffffffffffffffffffff80000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0861a861c3db4e94194211b77ed761b9\nIV: fffffffffffffffffffffffffffc0000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4b00c27e8b26da7eab9d3a88dec8b031\nIV: fffffffffffffffffffffffffffe0000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5f397bf03084820cc8810d52e5b666e9\nIV: ffffffffffffffffffffffffffff0000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 63fafabb72c07bfbd3ddc9b1203104b8\nIV: ffffffffffffffffffffffffffff8000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 683e2140585b18452dd4ffbb93c95df9\nIV: ffffffffffffffffffffffffffffc000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 286894e48e537f8763b56707d7d155c8\nIV: ffffffffffffffffffff", "ffffffffe000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a423deabc173dcf7e2c4c53e77d37cd1\nIV: fffffffffffffffffffffffffffff000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: eb8168313e1cfdfdb5e986d5429cf172\nIV: fffffffffffffffffffffffffffff800\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 27127daafc9accd2fb334ec3eba52323\nIV: fffffffffffffffffffffffffffffc00\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ee0715b96f72e3f7a22a5064fc592f4c\nIV: fffffffffffffffffffffffffffffe00\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 29ee526770f2a11dcfa989d1ce88830f\nIV: ffffffffffffffffffffffffffffff00\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0493370e054b09871130fe49af730a5a\nIV: ffffffffffffffffffffffffffffff80\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9b7b940f6c509f9e44a4ee140448ee46\nIV: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2915be4a1ecfdcbe3e023811a12bb6c7\nIV: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7240e524bc51d8c4d440b1be55d1062c\nIV: fffffffffffffffffffffffffffffff0\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: da63039d38cb4612b2dc36ba26684b93\nIV: fffffffffffffffffffffffffffffff8\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0f59cb5a4b522e2ac56c1a64f558ad9a\nIV: fffffffffffffffffffffffffffffffc\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7bfe9d876c6d63c1d035da8fe21c409d\nIV: fffffffffffffffffffffffffffffffe\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: acdace8078a32b1a182bfa4987ca1347\nIV: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen27 = 5825374; +static const size_t kLen28 = 5825374; -static const char *kData27[] = { +static const char *kData28[] = { "# Generated by \"make_cavp -cipher gcm kat_gcm/gcmDecrypt256.rsp kat_gcm/gcmEncryptExtIV256.rsp\"\n\n# File 1: kat_gcm/gcmDecrypt256.rsp\n\nKEY: f5a2b27c74355872eb3ef6c5feafaa740e6ae990d9d48c3bd9bb8235e589f010\nNONCE: 58d2240f580a31c1d24948e9\nCT: \nAD: \nTAG: 15e051a5e4a5f5da6cea92e2ebee5bac\nIN: \n\nKEY: e5a8123f2e2e007d4e379ba114a2fb66e6613f57c72d4e4f024964053028a831\nNONCE: 51e43385bf533e168427e1ad\nCT: \nAD: \nTAG: 38fe845c66e66bdd884c2aecafd280e6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c5ba3bf9ada560fb0301cd4e0b8b8a46a2aff2400395a72ed5804b3c755c4e59\nNONCE: de2b956e704063c000f28bbb\nCT: \nAD: \nTAG: 04eb9b20fd4548dc71594f20073a45a2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c1d6162b585e2bac14d554d5675c6ddaa6b93be2eb07f8df86c9bb30f93ae688\nNONCE: f04dfce5c8e7713c71a70cc9\nCT: \nAD: \nTAG: 37fb4f33c82f6fce0c562896b3e10fc2\nIN: \n\nKEY: 70458edea4d95c8b3e069f14e1ad71d9186f482fe6d85088c71db58267e747ec\nNONCE: d6413ee8453a1729a658c6f4\nCT: \nAD: \nTAG: bd9e5e0c6ddc94acf65bf4e301d20a37\nIN: \n\nKEY: aa0bedc56b30418235aa94327062c34e0ddbf931e7bcb964b60678d411baf6cb\nNONCE: 8a7220c9a7e417e5da182bdb\nCT: \nAD: \nTAG: ae7e608491439940b4d1046c28361258\nIN: \n\nKEY: c11ce73ba45d5e33be3efd335c4d67d659284b3a824ae35d5982e9ea4c68145d\nNONCE: 1eeffdbab0745a757789018f\nCT: \nAD: \nTAG: d387f9e6bbbbf273746c9b5276a8618c\nIN: \n\nKEY: 639664a00278e45d18cd4ac1265a4fea39d1cd8d7907a0adb38723209c46a4bf\nNONCE: d838ba74c7ad57ee5266c5b7\nCT: \nAD: \nTAG: 3750f87de43cfa02ef882d6497da082d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: dc18f40a774ceeb930f0bb45070404783c66988a515db1a36ec0cc0d70fac2fd\nNONCE: 9c3a7dd947e6f50a6577c5ff\nCT: \nAD: \nTAG: 511924f2603d6d38920539fb10178989\nIN: \n\nKEY: 39aed23722e201752d2e53efe66c8f0f695658a63a9a8cecf4e25f02dd7da1d5\nNONCE: ce0108bc35e7ff7ba8408f3f\nCT: \nAD: \nTAG: 66acc084d5f62e639338131f5ab8f6c1\nIN: \n\nKEY: c5c19e080bbbce795754ae25e36dc7aea1589d823fe89835d0286e54de7f3153\nNONCE: 3109398abd423349b9b50adc\nCT: \nAD: \nTAG: 73c92b76997dbd9fe251436a7f61a666\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 831640f910ef709eb0ec3998ea5aa55470082de05ee20ed8b19f067d8af1308e\nNONCE: 443dcee827eb4cc49fe2b287\nCT: \nAD: \nTAG: 005ec26c2d708d5234b7937313dc7384\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 56567431c5210979a8dbb432966a81b3f1db5ec021f8aae0f0c3cce3678cc6fd\nNONCE: 45a97d48000ce1dab68de02e\nCT: \nAD: \nTAG: bbb295fd1e37c317f8130221af50496b\nIN: \n\nKEY: fdf71650d60cb7aa566cdd7ba66f462ed613a1c6c1dfdab0ba8e676fb7a8b935\nNONCE: a035553c5a9b88a67627dbcc\nCT: \nAD: \nTAG: 4a7361a05757e2cb60cc17ff8c5911b7\nIN: \n\nKEY: 3b19d8a4795b52e6dc4f8fd3c091c05a65c8f3cddc665ab473e6144011ae54a4\nNONCE: 23744265b6865b99bed99f11\nCT: \nAD: \nTAG: b7a67b6068d2b22c1b26f795ee1701be\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 31201b86ccb6cbcf289798225c55de5a1c936a18aec996b5b8dcceb33bf96b41\nNONCE: c2c6402f1f5ae89a6fa0fb65\nCT: \nAD: \nTAG: 0b0bebb86a5d60f1f1881cea155e33\nIN: \n\nKEY: 2878cdd980bd1289e2efef7f3116b0a2772d272412e1cfeaf20f90cc278820e9\nNONCE: 9ada69a2f393958cc3866bf9\nCT: \nAD: \nTAG: cff55846db838aaf5e08e88f8d7fe2\nIN: \n\nKEY: 1ee02b8c391d6559ceb1683221821e377d20fb186733d24d2becb73e4121e92b\nNONCE: 70181ecf28be85c68f4dbe86\nCT: \nAD: \nTAG: b90acb4d41e2df4c148d8837ca712b\nIN: \n\nKEY: e8cd41c3d9ee7dca4c5d66753384cd1a034f729595fbeb00042874fe704fe4a8\nNONCE: cab88d202761537e288dcd47\nCT: \nAD: \nTAG: 954296ab400209335f424eb22636a5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 56fec15de81f78182f3f4d9cda32c3d7744568ab6e2285c7c3384bd17f0a4e22\nNONCE: 71e09145955273fd889cefda\nCT: \nAD: \nTAG: 3b2191283125d17f1f41558279630f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f66d1d2bd210d75c555b856c5c61d9c09b035498a9896284c34d9312e35b1065\nNONCE: 10dda1bf8ebca4b0a1f3396d\nCT: \nAD: \nTAG: 6da9c30516fe1d60355a01211669dd\nIN: \n\nKEY: 421ad8416b0558e225e9e3de2ec1c7fc0ea5a3378291dfd4c43f85fb3fa63d59\nNONCE: 23a84ef01256fa90a44e502b\nCT: \nAD: \nTAG: 237b556e56c27f03ff2e893d46dc14\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5a848b232b428015fc1a86134774558bdb3180f8b853bc32be40b6e4f098a857\nNONCE: cc87b1468b8ee9a5a4e1d7e1\nCT: \nAD: \nTAG: 329be89d4cd62d3d3a755d0989f3e7\nIN: \n\nKEY: 9a865aa04969fe50bcb48b90d75ce72f1ced9337ef81acec5a633eac7544f86d\nNONCE: cf4962b18e6b8f6f4146a0e7\nCT: \nAD: \nTAG: da7e4d68f4f77271537786350f8fcc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e106e692ae0285dad853a3232e150c1ccc602d74bf3bd91e0ffa36c33855d152\nNONCE: c4fe31cf2f36bf29080e6317\nCT: \nAD: \nTAG: 2523855a9d0bf9db28c39142aabb76\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: cfae5da8cabe9bd774713bc5b6c5a3ae42a872154636b6f976ee51e6a197a949\nNONCE: 033a03e2d701d1aafea3c399\nCT: \nAD: \nTAG: bb94014b3268e39eb71a2e3f5e65b2\nIN: \n\nKEY: 267b7087ad528cb9564c909b4fd8f9a80787ac2f85f23d10be6d0b2bfa043c09\nNONCE: cf8e3f28b1af597a76d0f538\nCT: \nAD: \nTAG: acec8a91da886b56075e5661fd5281\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 174162718b2e85482533322741309a4d3100c77e4178cd936b9881ab868b9bf9\nNONCE: 6a4abe063efd24fc960c56cb\nCT: \nAD: \nTAG: 1dc929a76cc0f4e28e65367e29002b\nIN: \n\nKEY: badd602c95d173fcb1334a32cd1437fbbfc21813bbefa8457b543a6f05c7ca80\nNONCE: c28a85678f63fd46edf03810\nCT: \nAD: \nTAG: 94f4cc2fb26c2d487b20b01441574f\nIN: \n\nKEY: 8ff59e7c71865c94b637a924132e5519137da18573ee797c981dfd41c70538e7\nNONCE: 80b277f8789d5f1165924d21\nCT: \nAD: \nTAG: fc1bd57ced8be952b9ff6017502ff6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 799c0a95a15bbe3915cd55ff2af71a437247c74092819c8f398f820b5829b4de\nNONCE: 53be11fdaa1cef09b7cbbdf7\nCT: \nAD: \nTAG: e81916926bbd1cf8d0378467dd99\nIN: \n\nKEY: d24580e7584b7fce9bce2e6a0d1d3bab184ac25171e57c9d67db832325202a96\nNONCE: 2d40c5487ea483e543238c93\nCT: \nAD: \nTAG: ed989ab0f70be34acf71f6ac6a00\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a8b15b30aa3f69190611031906cc125c98289fed2836f99b29e1d38b2c32c8ed\nNONCE: 317a4522cc374f32458142e2\nCT: \nAD: \nTAG: 4d421b1e0551f632b80f14cc433e\nIN: \n\nKEY: 8f85436046b48589390986646a5ed0e1587d431d1d10ec66d490f38c60ae9182\nNONCE: 6bbe054c533f5d659f5442fd\nCT: \nAD: \nTAG: edf25381a757cf747676fea43772\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9254c8375c3fe74b35a125a8e9f5109cf880f13ad03b7ff35ac0255efbc51a5d\nNONCE: 912705e60880ea3b9554dd69\nCT: \nAD: \nTAG: a5c899aea5e9483d9506682b6a66\nIN: \n\nKEY: 3a3908ae84d595b377fa7325374a7cf8ab6b70e62d21b8b5be75ae2e31334481\nNONCE: ec3ec0cec10bcbd3f2ea0002\nCT: \nAD: \nTAG: c122ee4d6df5f23f1e48732516e7\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 57eb6a05eb054b404f2d87623fe1340b052d20597e9331ef90ad684d4f660202\nNONCE: ee2468096c2befc44e16d351\nCT: \nAD: \nTAG: 0894132b1594df56b6114419cd4c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8704fce138b35ccf644ed70285300df5a7ddb19c3a1e244b6c6764c565812fc6\nNONCE: 8acfc17f01e8200da86009c1\nCT: \nAD: \nTAG: 914a956e661b064f91cfe779bf14\nIN: \n\nKEY: 6bdf1a1a465dc9777147de2f73527f193883ea5241d5cd209939290d73a3e149\nNONCE: c9e36c568487a78cf85269d6\nCT: \nAD: \nTAG: 34fbc5a0c2bb9bf937c4316838da\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 4da9edd0d5f7fe42bd0ff2d6342c9588625bf24ed3e3f5c1a456f2915ead961a\nNONCE: 3f1ece70c54dcc320de79733\nCT: \nAD: \nTAG: 083510a941749021d64ba5ec59d4\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 7a83b53a0b11f4477f673cad123ea5548903759e9d5d856235c59ff3af1caa8d\nNONCE: 7c3f82f7bf425398742916fc\nCT: \nAD: \nTAG: 7de106e354fe15c5111cb127335f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 4f17984fd466eede268b8ef75629cc7bac53b2dfcaf326700ac1a9841ea580fe\nNONCE: 2a9d7d283c33c953ed0fb90a\nCT: \nAD: \nTAG: 9befbbe25a1f2d7e8eb39689f39b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d7a5f32bc7ba818b26fdc03fc1a4de7d8837bcebc023b36591284a0973fde527\nNONCE: d590b0a69cea63c8c3293f2c\nCT: \nAD: \nTAG: 1080033d9a947bb879b1df5576c3\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 270b3ca4321ba7346226c89868483a6e6e679cd896f8e9d52cea9000e1939746\nNONCE: 3f29410035eeb93d03a7b2d1\nCT: \nAD: \nTAG: 7529cd4204b9a8e149034907e829\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 0bf97de28518991a5043c1b6d56d2ef87d38d195d47984fc1ccbfcb7f3860908\nNONCE: 1d76c092d2dd79a62b970403\nCT: \nAD: \nTAG: e63432142ef64756c38d693fd8fe\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 585daad086f48a3dffd89e3712f1f8033e8b168c107ddc7f3454690decc132d5\nNONCE: e2f2a83f6aaec072d8268cee\nCT: \nAD: \nTAG: d400ebadcef9ce147a3b00ea39\nIN: \n\nKEY: 42de0aed7e4b699546d351af85db208d79273393bde6318e33232850c65457e7\nNONCE: 82bd822d011e38319a76dfe2\nCT: \nAD: \nTAG: e262760567ca2ca6cbb3fa5703\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 00ae365607def9dd57d4f38f131ea9659abdd96eae6c52179b16796cf1ee53a0\nNONCE: 56d2485bb17cd4a6791ebd07\nCT: \nAD: \nTAG: 8460e8e8fbb4c8212c96fee330\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 27271e1fa38fadaae145b7fdb15c357c95cf7cbe77961561b59b0ad27df57b5b\nNONCE: 22fb1457c21627e8ddf5017c\nCT: \nAD: \nTAG: 0b6b620e9f5d1ba6e886d71e75\nIN: \n\nKEY: eb9fd8b60a524219cf09805e6aabf65ebb1730fe3b1ef0d91adf054", "44088d665\nNONCE: f8745cf1171199ee02607d59\nCT: \nAD: \nTAG: 65866a3b4455bd3ee58a88d7c3\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: cc72d5bdb02986acecd74dfcf20d880ae5bc14afd26db1b9f04fe08b85a4bf6e\nNONCE: b2d26145ed1be0cf782ea5fd\nCT: \nAD: \nTAG: 101f1e5c96748958462434cdd5\nIN: \n\nKEY: 4ac59235d7350ddad294fa9e0ea8e246a7c9f10689d2b0bd9e0145ecebf89885\nNONCE: cef0563a1797cc62589af02b\nCT: \nAD: \nTAG: a5299a6eaaf9b3ad82bd23b340\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 30fc4f8d634f404d1a66791d7c745d841c635320b7a1b28fbd26f3154b952d19\nNONCE: e7addadf0740e62ee32dd111\nCT: \nAD: \nTAG: 4c9a4fdecf2af9a609b67b6564\nIN: \n\nKEY: 3896ca84611b23bda4af5cc9fe0d62cf093019f1192a2c27cd7d2c1320102998\nNONCE: 0cc3ae5b56f3db71e2195e6e\nCT: \nAD: \nTAG: 0413fefe638d6613ad15ff5422\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9d4cfc649a6c146c20b17e44af835c42cafe4c8e1ebcba092c22d77fdb0a5478\nNONCE: a27cce894b2dc42f1754aae0\nCT: \nAD: \nTAG: b1259f4cae8c4708fd46e60c26\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e7ad81d26e5a639b7e99d3b205ddb6a09598ac804b5913ee8b8e724e5b69d003\nNONCE: 08fc7f46f6f600feecefc008\nCT: \nAD: \nTAG: e51e2ed634294d73942a9aafd8\nIN: \n\nKEY: d9288c7e44440398e9c5b6156615bb0d63064cbcee22cee46e710cdf6753e2cf\nNONCE: dc37870991b27ae42dfd6c33\nCT: \nAD: \nTAG: 5408193318902ae3e92b4b6eca\nIN: \n\nKEY: 3e7c2c5dd3c9e092e45d0ee9eaa2f8c2714cf845f50be787cb6a3e65726a7a56\nNONCE: 0e39d519e9d6db4dc462f2ec\nCT: \nAD: \nTAG: bbf6cd3c840ba5347b281ccd99\nIN: \n\nKEY: 29ae533689bc22ea72580a42260b71128504ff55f4025f455fe656a7cd534c08\nNONCE: fd0a67e9cdea915eb367e069\nCT: \nAD: \nTAG: 6421e4d996407496e09231a96e\nIN: \n\nKEY: 7930342c63e26215a80eaa824ec382d452c6d71f81a7ac2667b1baf1b139cee8\nNONCE: 920cf0199c32cdcf419971ad\nCT: \nAD: \nTAG: 866e974b681af38f0a98074ec1\nIN: \n\nKEY: 96ad13bf2492f4675340e65b455bd0b884574f5b6c4fea774462496b8a0925ad\nNONCE: 2ddf6aa50c2ea9106ce0a951\nCT: \nAD: \nTAG: 10a471540cc7bae14273f2e2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: b1599e78f21b175a3038aacde9141f7198c301ff80276020c1974342baad1e55\nNONCE: abdd25c66d7821fde6ec0b76\nCT: \nAD: \nTAG: ab077a703bfb6646d5aef26b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 7c487e31244dcbf84ee6e7c03714302aa3e52ae1282f8de72c44d3777e73593c\nNONCE: 297e056784c12646ed2fa6c7\nCT: \nAD: \nTAG: 08c53ea6cc85662f0d9bb018\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d9304fc27885ac2ac5cf871e9c5758ad66babbc50b26d1c3e32d00ebb4273525\nNONCE: c73d0831e8e23cec9ac4143c\nCT: \nAD: \nTAG: 2f19c7a022909777853ccd5a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9f6fed7d59ef1650244ee0966f647179968edb74f5d9b4ea412300979d2c9d9d\nNONCE: c0d8eafd572e76402bf2421b\nCT: \nAD: \nTAG: 157519d699f8f19b6ed0a4c9\nIN: \n\nKEY: 72eb01f911a998bd534b696b0ce99cbbe7788f1d5f3f1c07f5286daef7007ad0\nNONCE: 6930e168edf7be096aa92f77\nCT: \nAD: \nTAG: 8229b618c52079abd2d8cf96\nIN: \n\nKEY: e625dc4d57da4975c5e2bbdc3be61716c910975848f2a06a8a375c12ceff702a\nNONCE: 44925a2c8f2eaa0d02d33047\nCT: \nAD: \nTAG: 9a0f456312dce97e23d4af58\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 648914e5322383a1984b84726deeead89dd19c60556622d61ce649ba74b152b5\nNONCE: 8a070725978278d7e3e6fae4\nCT: \nAD: \nTAG: 40819c4375be0ec64543f5c2\nIN: \n\nKEY: b0a2fc05e05eb23b03f6fd073d1502fa071cfdde6e4a57f344d3b46587d44667\nNONCE: 6b05139925fca211928767ab\nCT: \nAD: \nTAG: b927b087690a7d2fdc5da1d7\nIN: \n\nKEY: 9a56a45297bf12c63db8207118c3570f05eebcc31a87ad20ac85fad9a9cfcbce\nNONCE: 2108bf02ae1b9191e5f20e06\nCT: \nAD: \nTAG: c1a03eeb46a080507fb39e33\nIN: \n\nKEY: 98f9da937717a7698eda75b5671ea209dde1b37506d2a5874b9ec57805310e73\nNONCE: 4db9d0d9cb66a80565af6c84\nCT: \nAD: \nTAG: eeef79af87fe6bc0d0476d16\nIN: \n\nKEY: b5c699b548cd0839a24eec8aee1b0a5bc42de0bec78aacaa9b18b666986891b4\nNONCE: 87e21a74da97bc02d7f9e0cc\nCT: \nAD: \nTAG: c4a584270a5b0bfe0ac979bb\nIN: \n\nKEY: cd3adadded7c7ae047ae38c93a73d029fdf4e12a8a0c2fbc6c5f354fe07b0fa9\nNONCE: acf47c06e93b5d042c8444b9\nCT: \nAD: \nTAG: f1391598e2172300fb5279dc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: cf90a8f6731d71abaaa354076c69812a96145b4d283369b0c519ce1818c85cff\nNONCE: 718b1b2d8979f54e357bce92\nCT: \nAD: \nTAG: ea7dc6b16c9a870a560facbc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 849ee5f331af0bbb2366033ca07c29fe8ec64b2e18f8d2af91d88c08b958763c\nNONCE: 23b34d13fa0e2c954e0a5974\nCT: \nAD: \nTAG: c4a18f7724ca968055aa0d8a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: caed02e544e9eb475360e9b3e4b6e7572605081790ec54ea39ab9bc67932e0fd\nNONCE: d2ffaa7f0b6c3c708238a1b0\nCT: \nAD: \nTAG: eb053ee206ab47cc\nIN: \n\nKEY: ddd2cc50ed30a394387adcef5dcfdb7405082d62b3a513902977301f22ccf851\nNONCE: 4dc0d75a392e1b1cd2e5b6d6\nCT: \nAD: \nTAG: 11e713078f660a45\nIN: \n\nKEY: ae166cba7907a50a2faeb8a1f835e0a21b6074f403d2fbf265ca8525663865c5\nNONCE: d70ea09bd1dc20d47625a7ce\nCT: \nAD: \nTAG: 8a0138d6b06dbee0\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 119c935ac47a3d2e2bbc2fe753c34727ea28e96c288a8b46a0c884066a85edc5\nNONCE: e04c72c0dfec84d52bcda87d\nCT: \nAD: \nTAG: 5ca9d3a5b75b519a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 166ebf390a9aa54e3c525b06497adcdc9b394ba25e65731c0004e9ff9793e0e5\nNONCE: 7e8e61d97c17a303510d581c\nCT: \nAD: \nTAG: 7c2a0b411cc8f2f5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 7f3c7d35e06b60a0e948212da1170467a54b88a488e7edf4b7fbf9d03f645d4f\nNONCE: 3b21437bd320ffc3f90f835c\nCT: \nAD: \nTAG: 7e18457fe81b2302\nIN: \n\nKEY: 37875cda07364dae174c1b422e0daa8b949b6478332988504ef3f633d58df4ca\nNONCE: 746e59be002990d169b4a783\nCT: \nAD: \nTAG: 81be9ff1ddfb32bc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6e1eec50f2eb68da620a913a2a0d2250ad0541f3acf88fed2f890f840c0046ad\nNONCE: a75bf504651adadd31743464\nCT: \nAD: \nTAG: 49d75b1504d39ebb\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2864eb7a7025da05ea9ed75f07baf26d90b8eb93f2c57dec6dcc87e650f48f54\nNONCE: 98b764326898d43e443f441b\nCT: \nAD: \nTAG: 1996834986570afe\nIN: \n\nKEY: 8ef06b7a47655a6248c782291476d983d43e17cf419852868d488d2a6093f750\nNONCE: 40c3ceb10e9dddfe23569244\nCT: \nAD: \nTAG: ce828e8aa6056b7f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 30ec395340ba1d05b9964dc932750e6bcfb3acabd1c07656ca3654128893d77c\nNONCE: 69d240b1d240c0c71cf10966\nCT: \nAD: \nTAG: 18b112b18cd0bd86\nIN: \n\nKEY: 18efa6f3395d20ddbd483924fabdbe105d70e69f4652b929207d9746b098ee11\nNONCE: 4f166cb3acc43383ec9b2bfd\nCT: \nAD: \nTAG: 4b34f4c59236dcbf\nIN: \n\nKEY: 540407922c1056e6e0df4c9a7af8360222cec57167161ad00121a5cc19bebd53\nNONCE: 6d9f32e3139a18fcd34c1e73\nCT: \nAD: \nTAG: f12553f984d4a1d0\nIN: \n\nKEY: ddd54500533cffd1af87c6f58d880d45c1d27c22ed283c110d04227658d443ac\nNONCE: 2cb369234c276e1838c9575a\nCT: \nAD: \nTAG: 7f43b5a32da7b9f2\nIN: \n\nKEY: 62450ce465840e8d49e7aab125f66817bf57ccb0553e5aa633150913406281eb\nNONCE: da552ec45463002256b07393\nCT: \nAD: \nTAG: dccb3788c2e2a66f\nIN: \n\nKEY: 5765ad16f4dbd4d4e6370dbfa18b8ef5ac37459e39556afaba9b553dea4c1b23\nNONCE: 59678f262588e4d526d9fc34\nCT: \nAD: \nTAG: a68f33ed\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a29fa93614e9f714c73d3707d1142b2514fa8a14641f79ef14e9bf0e812f49fa\nNONCE: 68272acf71b1cdad4655dbdc\nCT: \nAD: \nTAG: b90e554a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 717d2a5396ae21560a895a7847f53c47956d155ca4dd2165137d3506ff48a7bf\nNONCE: 6ccd8086830f586fa3b0e777\nCT: \nAD: \nTAG: a618ac6a\nIN: \n\nKEY: 6ecf9a1db3e42ed91d2206646369d9eab43fab9efbf797a6b2633db3eebcff18\nNONCE: 7142907a03b12ba332d84107\nCT: \nAD: \nTAG: 57e1882b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 186361bee6c4d37b94b6c9389216db63b7cf7c5b28592c290c02c9aa0978b6e7\nNONCE: f1a7b61b6a503665049d36ae\nCT: \nAD: \nTAG: aa52f4e2\nIN: \n\nKEY: d8d3fd180da0136621d9a7ebb273bdc4ae48fa72997c7b902c2c512c2bcc11e6\nNONCE: 4f7692221b2e295220f6a1a9\nCT: \nAD: \nTAG: 7c16931d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2231071e59bbfa627f0881f04ea13290302674e05f405f75e3c62d787d07c2f3\nNONCE: 65b3758e6418f04afa2b4d9d\nCT: \nAD: \nTAG: a56259a6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fa1dc19ed84ffa40c94ffd1021208f50dffe16e9f0a53b5ee6be55163a408618\nNONCE: 09bb332baa725ca0c72a150b\nCT: \nAD: \nTAG: 76c71a63\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 0a7733e3c0e7017b17abc46e25047b3b5d5a3f95bd45e069953d08761b826e9e\nNONCE: 0257955c4f6b354ae46b5d44\nCT: \nAD: \nTAG: 04f4bffe\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 060ecdff8a7325d76017b93071797b2c299d6519d0605b565c8550c66875cdd5\nNONCE: a8f8288d9124ee73c6b89f47\nCT: \nAD: \nTAG: f493e8eb\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9a9d85fff37716f90d4523586e99046e66cede008fd8acdb55ecefcd9228d7b8\nNONCE: 8a7296be2b691ea45bf4cf9d\nCT: \nAD: \nTAG: d63728a4\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2344f2cb986326d931d768e8f9bf7cbf7aa0fe91fe5d7a9d8e0591e1144a064a\nNONCE: 0fd7ad08c13f0c97f5c85d75\nCT: \nAD: \nTAG: 6196202c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 17b00458ce181235bc704ea54cfed4a74d792350ea4e3e1dd4d1817b3720b4f6\nNONCE: c4ec09b35b857bea94a728a2\nCT: \nAD: \nTAG: acceb73a\nIN: \n\nKEY: 7e6c0a5cc37125408f8f11f5607054a3314924c36a7f1b1988c46cd06", "ebe4ffa\nNONCE: 299973ab4a56aaa8a67e6e59\nCT: \nAD: \nTAG: 1f450c0a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 1b5b987676d7ce62c42d9103f7ee8b3964da272eaae5097a0e0b0a2678e6a382\nNONCE: 1828385a47e53ce3810c0bc0\nCT: \nAD: \nTAG: f938bdc2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6dfdafd6703c285c01f14fd10a6012862b2af950d4733abb403b2e745b26945d\nNONCE: 3749d0b3d5bacb71be06ade6\nCT: \nAD: c0d249871992e70302ae008193d1e89f\nTAG: 4aa4cc69f84ee6ac16d9bfb4e05de500\nIN: \n\nKEY: 033360a08d0b2963ce4dcf807b772ac86ae3e8b8fabb9cd3a636f8ec54365646\nNONCE: 8dcaa63d13a2425395609914\nCT: \nAD: f9d15fc34984b8f4a7caa29a82b24c52\nTAG: 42bc9cc93a1c8592bd29c9ef9f907780\nIN: \n\nKEY: 4f1a5fc8e4689c493ef8e23a653e86e4d4c8972a2338653375b0f36a4feb91d7\nNONCE: 9b8221a631404088218fe487\nCT: \nAD: f09b0fc4e4ccb5e28dfcc0792a6800f3\nTAG: 31073f1a0050462a03c7ad0bbefaf93b\nIN: \n\nKEY: e70e4f6919b521dab68f0dff6b4aa57e443db4f8301186819d8611969af33b28\nNONCE: 63d5ff1ba0d5e69f5dc1c92f\nCT: \nAD: c29abcf1f61063c6765747da8980fde4\nTAG: 3d78ec2d237dfd57b8b125ff0912653a\nIN: \n\nKEY: 2c392a5eb1a9c705371beda3a901c7c61dca4d93b4291de1dd0dd15ec11ffc45\nNONCE: 0723fb84a08f4ea09841f32a\nCT: \nAD: 140be561b6171eab942c486a94d33d43\nTAG: aa0e1c9b57975bfc91aa137231977d2c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 48f7b300acde77c3a00e8dcde06063761d2dc64809db5d39c7a671d2b2f7902e\nNONCE: 194e611ed5980b0e93a4a388\nCT: \nAD: 72ce59bdf0059bf33e03e5fc21f3a6df\nTAG: 7d26231fd58aea00331165c8adf912f3\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 94233d297c08899ccd69eeec3e4e258eacabee0cdc2c363c352e833200162599\nNONCE: 733fa0c7e0e692b0ea66a402\nCT: \nAD: b5bcc7ef6837b61253db277118fafc9d\nTAG: 024174b6f7fed276966d17b31cab2b47\nIN: \n\nKEY: c90ac1e868bb79467a58383f02440f9155d57dc719f0a22d0d6f088ebe7c18ae\nNONCE: 149a0b9691b35750f72e03e9\nCT: \nAD: 2426db7f430a090f5132c63d23504350\nTAG: 807b58bebd6de9752f62eec313def53b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: efc390eb39011ec8078700f4de848298c26d750c9127fa79cb8c1089038da129\nNONCE: 13b65b7cf33db33b3d5afb1f\nCT: \nAD: 7e56ab79b176488969e51a58de554979\nTAG: 35ec21526ab815582d201582e7ddcd77\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5c202933d7efedc1bdc4fcf72794bf448f6c22959978e1947e399d9f3386bf2b\nNONCE: fef59a2f3e7d9eae573ff06a\nCT: \nAD: 9cdab8e46ef227f113e1ce1dc7ee2733\nTAG: 76bf3a22f991625dda441975b4af8952\nIN: \n\nKEY: 577cd9f1a9f0f4b61455db0d5183536c2e5d000df5c812e140ca746ea9d05cbd\nNONCE: 7d6a93560b53453681028e45\nCT: \nAD: 7b4114eb668366fc26bc2078f04cac9a\nTAG: 294409118a4ac46ee9444464ac352cd6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 942c44274a9dabdb86328484ee933d0d632efb6a074323ab41fac267c0b25e48\nNONCE: 961645b7ec62bb4e4bda29f6\nCT: \nAD: 0e4f8509aaa009192fa04425b9d803b9\nTAG: 2fd7f29b68ec985ec564926484df7e3d\nIN: \n\nKEY: ebacc6cd567c245f37100d76f2898a471a435b07d605a3251835f450f9861da3\nNONCE: 164617867a09dd08d75b8675\nCT: \nAD: 7f5b2c707a8199c8795d7d440664e9cb\nTAG: c8881e8c4dd1d62a2cf6f8458b45c0af\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 415fbefbe947204a5a4412372922cd68ef7cab6b7f48d8da868f24c2426e755f\nNONCE: f939844564c5b26e18b907d8\nCT: \nAD: 462ef98fe991867d0888954adc772edf\nTAG: 811b9c99e66456002558c8a8392b04ff\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8f82e4eb127be9b5a2dedf8f3f16ed46df0443eab39d604523b2a0909044426e\nNONCE: e0d06f20e17990d17abedfd3\nCT: \nAD: 81f78234cb6c9f8c8134a81e29712457\nTAG: bbde500c67c81f7d2ecb214b33f298b6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 3395a1485315c5b5e6353acb05ae9499c440a2e9f5c57494662f827235ea314c\nNONCE: 3b7e632571602456b49880f0\nCT: \nAD: f283f80226dacb69c8af089ec6b59e81\nTAG: 84c8beff4b0d160ee68ac613097f51\nIN: \n\nKEY: 737ef66d81c3c2610f77f90244b45c9fcbb3f46b41c8cfa959f1b64bf1af9a30\nNONCE: ee35b4f52756562c53f34710\nCT: \nAD: 591d20b3dad931c15958a6c08945f2c0\nTAG: 67786146498e15b97785ed29e3cf4d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 667eb074e723473425639188aeb1137645968b37fd51ac85ecf887630537e790\nNONCE: 66259c4c34952325039dae8f\nCT: \nAD: be4e71df8b90ae61fcfe2522fad707be\nTAG: 313f387ceb2fee4113a3b97a75a0cb\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 864c3c19d43a850bf696f546be59fa4939ee7a2b39fe0f3e56f6b777c4929d09\nNONCE: d53bb663a8d0aac07eddd12a\nCT: \nAD: 4ad4e048c24b370530f482a4d7a6d1ba\nTAG: fc0e69cd020693a0186da50cdc6f69\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 42b434401a46ab08b799571e8b2ff3834bf002ca910989ed86bafd5a6142d190\nNONCE: 81eb9cc03444f5d0dc3b76d9\nCT: \nAD: 82f75629976fd7ab11ef70c6f8f977f9\nTAG: bd1bb7d7cdb7f25a457b85e939c131\nIN: \n\nKEY: 7e4d9071738036cad1ddcaf8439d0f243aef78116dff67269fc3fec66b86384b\nNONCE: 3a7fbd41615e656a0ff3738a\nCT: \nAD: f4adfe43c17af941168fa4b879ebf209\nTAG: 48a7f7b1a1c05f20e9bf049bb562b2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 345e15dfc70d4f0609cbc5724276f606ab3aa9d0ae4bcb5a6536dbfef8f5df62\nNONCE: 970bc624e62e6834b7f3fe5d\nCT: \nAD: 44a5fa62b3babf2c86064cc0a65b1cb8\nTAG: d7b83a03f18f6623bd41acc3f6f3aa\nIN: \n\nKEY: 6dcb770c7777225902bae16a6e77045ffe682a7985c265566c61c4ffb405a547\nNONCE: 1faf5b86290e23ff7411c146\nCT: \nAD: fbe8e5e071969c7baf0f4c1c2a830327\nTAG: 78a4078b4decc5e34d477e308f0cc7\nIN: \n\nKEY: ef9a0377ae02c600f6fdd5dd6f4f7a30954235539bc9b3fce0085b3b30d6c354\nNONCE: 33db5adfa43c37d002e82038\nCT: \nAD: 945b8a540c57923e7cd4ca319e40063d\nTAG: 3c0e1f73433c5d229e739fed399ff6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6ec5526e7cff0b75f9af20ea59e7cdbaa91a4194d51374527909a3bd6d8ba3bb\nNONCE: c23ff927bba76205628506bc\nCT: \nAD: 8ed268badda27f8fe5a16ce8a3d7fc2e\nTAG: 3079599fc1b2e66e1c9f668cf9c001\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fdf860cfc7e769d262f1e0b0640a56e0081c75ea96376e4a51ff728dc4b11503\nNONCE: d29767af7bb47bc18fd7076b\nCT: \nAD: ee7e40f375e100fdaf39765d60429289\nTAG: 19f95691d2fc7d7724474ebb501738\nIN: \n\nKEY: b548e4934f5c64d3c0f0b78f7b4d8824aac46b3c8d2cc35ee4bfb254e4fcbaf7\nNONCE: 2eede1dc6447c7afc4415358\nCT: \nAD: 8bd50878c430718b7b3775fed76e5aeb\nTAG: a7186df4cec4bcf921ee8733359567\nIN: \n\nKEY: eb70ee93654a3ae49775d315e51c758bc0b61c1fa848089fc12c65419a00afc2\nNONCE: 87cd3cadd925b79636bf128a\nCT: \nAD: 80b04fb39d7b6096be12dec866de2d37\nTAG: 3f9902ce6dd2fefe0a9578276250f0\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: db8151b0d80c930331ed8c7ff7d8038b34ad20fbf537844f7ba9912b71213f1a\nNONCE: 32f9e46e555eeabf12bc59ce\nCT: \nAD: f2ba52d1e09c37eebdcf15250979643e\nTAG: 8817c90146b70b252c124e03ada704\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 65b90acf1544349bfa1871163c92680139aa9a5e2b620c43b41cc59fe1cfc15c\nNONCE: 5cff688f2ba29cf9a6d94a7d\nCT: \nAD: 43d55cfde3d5832f0adbf3dc47943d00\nTAG: bb787f2450cda0c33b08579dca4e63\nIN: \n\nKEY: 34d3dd0a9cbec32dfe94c9707b48dff9e2ecdbee7ca28b3ca9dabbb3701ae493\nNONCE: f8e05f6e7a04cadca8b5c4fd\nCT: \nAD: 9e52b1a7c1fb736d659754e671caa840\nTAG: d6615a18f437f38311f5ac3a9f60\nIN: \n\nKEY: e8ad0a2b1bfceeac69ed3e075d4dc5fc03b3633919bc5edf0f1ffd9842424985\nNONCE: f8b5b6bde3fc26b7a553ecef\nCT: \nAD: ed8bc8a123b35e0e7ed3aa8f8820b0fd\nTAG: 008bb8ed513bf8d3210d1278382e\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: ac9d68e15be409d5998885b714bb51f0d5a75df29e4ed7be2c1c1e4c6db49ae4\nNONCE: 4bcd1869cdcb16adb45dfb98\nCT: \nAD: 9f81a65554c7185181fec88601051cfc\nTAG: a7ca610547cba6ec333371528c0c\nIN: \n\nKEY: e9a4f481187083070dc1956a7c34ee9b86791cd6e40353e3f868560ee77127c3\nNONCE: b7894710eb0cea0acf1838fc\nCT: \nAD: caf33a8552cd0caaf1333c9aed7eda13\nTAG: 326e875a09b9df1ada0321a005f2\nIN: \n\nKEY: 0220d839e195821944f343a71dde45006a2c3600df8883bc83a9fd60cc67771e\nNONCE: 8d22fe9571e9096c22f3fae9\nCT: \nAD: bad23a8f33857c447e89b0691b7fb03f\nTAG: 43c0cabf088b71fed4dabd63c2e8\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: b253cdbb8519abd630435f277d9d69f25c3fc7c87004e506092f05855854b9a9\nNONCE: 493bacee0dbe6edb5b77d1fd\nCT: \nAD: ccd5a9521aaa06b967316be581487a63\nTAG: 01afc617f6a2786dcf13ecc00bbe\nIN: \n\nKEY: a0cf288734824493aa3673f95e68d07e289d394a04f2e3e5881afab773f1e242\nNONCE: 2c18ee9f12c5229c0cfc3f43\nCT: \nAD: 0b89b94d636559adc46902e463514e12\nTAG: c933b5cee0de1a2cab183afe3ec5\nIN: \n\nKEY: 3271f86968b3fd49bf4ec0e572616e2b96edd4a530c519b542ca926b09a92efe\nNONCE: af184a643754b70eb60b15f1\nCT: \nAD: cd839a71cd04bac3bc3c17871b6853f0\nTAG: ee6ba4f92dcee9c20b734811318a\nIN: \n\nKEY: 31a3e5aa9da7b44c302cd716937584195adfd26f24a6c49720a50d49762df80f\nNONCE: 9a999c5f8dade4184aae1301\nCT: \nAD: 0d84dd614fc04e58a971a270bec5b8f6\nTAG: 230bc3c4cb7c46e73ce3662d1e15\nIN: \n\nKEY: 865f524ea89d3299b372c01f5c072c1fe07f78e86620fcab5e3e96cd3044962e\nNONCE: 8df4d357882c805d5a5a5d95\nCT: \nAD: f9b70b9d4bb6f9562b10cb65ba1c0a7d\nTAG: ab59a2107248e6651e3d6f3e116d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c12c83994e125c98e588d93f968572460345c44b5f94deecd538f0e5e7b0fd66\nNONCE: b684791dd61b9d940a0dee14\nCT: \nAD: 57a128a7ac50137520ffce721271b8ca\nTAG: e322ccdcd7594", @@ -2331,9 +2411,9 @@ static const char *kData27[] = { "ac4f2cd8a71f0fb078323449c5bd4e3cac8422318b06b44c49ccb701d69831\nTAG: 7347166e\n\nKEY: 36f610b6f08b020f4d3ca0faba582222016aa4ae44c619efc3aa8a3d794c4678\nNONCE: 842b957ca5f56f3b3686269f17f7e5b712593b8f37fd6079459958e31e07955f1a1861204e4c9e5a6b70205a0f45a33229b948524f7102dbaaf4e7a66900006168ec0c99e766fe89da8ae72dcda8e071f4c2fe75ce3cf903dd7b53ddf5ef95a88663c381afea00abc5e6be5c6477a9c5152312cf54af7b0c718a5985e5e8c7ec\nIN: 78a7deed4eb613cf2b3e572a3ff47e6551c7908fded855fba64247493a7360505f1a08e7ab850d00d02b970e3a2b5da9bb6c33\nAD: 6f91e23494601696841fd9dc0a0e7fdcb6b32aaaf2ee7b84270a59aaa2bb13b5bd1990a9fe3b0534751f10c2058dd3a550fbab61bdb4525fe6bd45326419a48339398f3191e7ddb0d8f65f4b00b4f5b6ca4aba9e99edcd0ad05f\nCT: aab48f5510ad845ebe79e7689dbf7ffb1dc3c6a810c1b754576576675e77fa81eace7882045220baded90ac098c6c65f26613d\nTAG: b21bccec\n\nKEY: 14644de3b6efc121077952f76c3e76ce847306a355e734e0869b51506f6bd979\nNONCE: 84a47e799c51d8052b27644399a4b807487d64c06ea037b62af6a0b0d1212f4acfd1d080518c1a9fec5b2c8ba4699ad7df155715cd049f5085e86c0601fab79ef1472fbb35065e7dfee9e4077e0e365d185f3c88564abf1fd1c3d3bf1a209a5e24a2b027895ef1524fe199c31a4bf690ea3ce209cbb9ffcbac4c06461e010fb9\nIN: ed1a2abba7e782a8f3625f5abcf613cb3d353837fb88edc5b117fc35ab553e244a60dd2ed67aa6b8a99ade1bab69cf04405957\nAD: 7e223758e23e4bb99ee7406030a2db698d5e32c69d5f19170c052bd597bbfd4bbbdcebbdcc801b1bcad869da195a8c4452bedec0fcd91fedb6fa49c38e187e8b536b69da683ce4a322b81e70c93eb66c9010ca3be5d54200d87c\nCT: 80b8c3829d991e5b1331cf229d7448988ed6271efccfe84998acc67e924c73362337da0d697f4b4613d06a88bb4ae8fa81c2cb\nTAG: 38b59916\n\nKEY: eb3fe1c8bb57d72fea9f9e9cc3cc746d41742716dd3cbf574eee95162bd93f9f\nNONCE: 1ee1a2fe7dab975fffd19230d80804b45662855c0a5bbd2802e47b2d3fe55b0c15e2383e7070404ce46670c0a2840a6e14945c5bd9ac521bad8ca7effd6dbe71f74eca082a490d15088d7bbfeb9cbb1e8ee86d77b1db35b43a259a14ab6b771ac58ce36bf99d28417a04d2d3ff2d4380a6b23ccd6e68b0ae58a6fa54c973b6a0\nIN: 0ace576340e524019888cb4900fd9b52e5382e4e36ac9a969c5f6bdddfac12c2d991ea9e2ed5f68dc4a51d62dab83df8f838af\nAD: 28d402e6e8cce27e47a0eb03b5497915c3b71399fb95f4bc6d3255cad73508eed443cd44e59cacf9177dd3ac1cdca5233bce39621227951d11f2a2012930822ee929dc791f3eaf1a97e219db04d6f178b804de60224ab120abdd\nCT: 50096632df34a1f2d8848304e20060d999a5b1eda1932774e30f36026da8c6c0baca7f6e59a7c74018c5f51075008b74424bd2\nTAG: 7d9d2417\n\nKEY: 85ee354b4675a9c5d16e3d6f4118043bd92f209f016f49efab7ce3023b78112e\nNONCE: 5c3b5a95147880f9d14373bc3886e92036a0abcb49fb6768e2811761cfcddbcac813bea95a5b76fa1ce5fc726708ddeee5d1a9196d31eb1f0c1d4992ba37a9c4179d223c460ff2b512a9d3cf3562c586d793efd94a5e93d4b1e86ae96c3aa6711a291ec710dfbd7ec46b2ed4f4085df511fabcc5e42bded5214253d235f12d14\nIN: 1b56de101a75bb9d1a5e77590be302837d3921278e480347944b92975e819e7a233339f31ecf02b874842fb5a136c810a9a9ca\nAD: d2eb4e760ed4fb687b32c6bd073bffaf9631ed3ab83101cab236352d024cf422b917a7660a484be236e4d3b3fa3343d3f9e87d86c50834a213b7ca2a3212c254564e1c59551c7bd3e01710a7d8c8419320a6d3362489aa368424\nCT: 67dec658a84468cb86268099e03ce701e9936c27b50059b5c9e8743df7df5b828364ab7025f854cb9e3cfb27ca5b717502b838\nTAG: 65a1bfa1\n\nKEY: 6f79bf94da7dde3c86009934d9258f1b3fc2f5382aca9c9cb8e216eed235f34c\nNONCE: 83e413c8e6f76b32aeb2960c11aa9e522d3994e14c18609c634c9cc1cf94f2c49a5347d3f440367f08a3322eb3560675bc4715d03abbe0da4a75208775e8bdc3ff2d33daa301f53dd75a83f74c998245c1826ad41602c3fea313098d20a65e417e7c6ff954d9c9b2458a04ab4deddf07dd22bc409211dbd121f5a95215d40094\nIN: 738516823e8f5d23f3181b297eb70be633e3b0cdd61117384e474e3223658167ad6afd83d9839bc925876e4e41a001f678a06a\nAD: 02a59b404f7fceabc06e0988bcbfbca1d08f75a83f2cb9542edf106702e2c9964d7e37ef86fb368a9890a4f2ae7f58f336cb2df990cdaa2775959c99cf1d11a59abe348cc5a47f98c447e6500b1013b38418677bd582c5fbdcd8\nCT: 183cc63f537b301e928a1efa211818a128964e5d025c7dde9ccd69e6a8dddc2b9824520e31d52cde506062d225407520a00155\nTAG: bb1df68d\n\nKEY: 0c5aa8e0b1979183b997f29362ae83700d3ba6190a210fc90541b17e45a46668\nNONCE: 96a1f2559204788f6bb0ea50bd598614a7ce518ec4dab951e9517bc46357448a6b4aed200ee21a7543fbff861ed56321195675d9225cac72547d3e4880b9517672b86206e9acffba53d66526e919587e7b284a612aec391517e907f2bf6a625a990466d66cb14c690be17b7a22085ab032a05dbc16a99437670cfa2bb8a283d6\nIN: f460e28cb67fb2b0aa5315c25f8132e5a8298ae3077ee0bd918fe1acd6312a98a3412a3198c834beb932200281fe6128a08be3\nAD: 9c410a60931ef1cb5f6fa9c7da0a96ca537daac174fd4f1bf247de1e25d3dd44a37f54d58ca48d1ecdcf2ebff8959c2db0ac82244ac76243404adf45be72aff4b19be063c088e1810f9eb4b894f405c61691e2789297b17430b8\nCT: 3e12c2a17cad65077073385c055054bc8f72f1beca59b0636384d027dc1350d39a8f3c77f5bc26eb916287dd742bcd3a819299\nTAG: 154a3b39\n\nKEY: ace49b23bebdbb36cae24809c68cd4763c000c689c77d230256f6e5206ba178c\nNONCE: 34e829796c7d186b3c83c894b3f36f3f07d66261670f4c1f74c83b074b2b7e5fabd8756d2c9676bb52e9c7a62c7c26376128d1ffda5f9ad5d7b48724d46672eabf83ab9e6cd596510bd9ab3be81089c4262a9f8a88820c6e27a49593bf91b9dbc884b4548aa9ec4bed9e1d5be57d413553459f5d8e7cbca84ac89babb45f501c\nIN: 9c85b9c441034e26c5ebf04580cf617eea19a001098c910a7eac423af2f5fb2cee0335fde1fe56bdfd31af513e99e92d5ad7cd\nAD: 419583e7bd2f698ddbbdd429a81654c37b07dd2d80f34c9ac3d0f9ef7329f39fb5c21db57bdd496fd69097736989fd0f1d3c803ebbff7d128ac31873754f881247896907574bcecfdf2eb3a5e6996050eafd68f0401d0543fd46\nCT: 9141c922cb598ae9dd3aefd9593e2788870e9ac546fb3fbf5ba0bd1479216743cb603c4cc2fad030796f9cdb5b325ee4c33d8a\nTAG: 356fdb25\n\nKEY: 69e095a9ae4cd697869b845c4e848b7fe1511d1ee334ffa63ea427eee18a6b54\nNONCE: 7ae669a8b81bbcc2b72724a14169f1e2e1c114c0ff3ef33434a82d368272525398ae1a9aabb1c50ddebfca5e853dde04b46518bc94b91b51364c82301087ca30852ec7ac52f51ecda1c2ca2e099c040929f6d1236157011ddf7e928df7fb329a012752eb66cdb725e416e7a10108b2bd4f676b5ab85b8f33438c273bddb8cffa\nIN: b2727222246b940448a24741984ab6afe5e9474e60cbb8ce714110390f1c90b33ed0ec0267b86cc305b9807e370ca146bd61c4\nAD: 74a1899056c4ef9d848cd7c8d8ca377c6810912c62e428fe5acb60908abae48c887e7460943e9d6795fa6203b994e05799ab8edb55c29fcdccc3c41b3b74346f354a214d3abf891b8058e55461d3f68c3a2897bc514212aac91d\nCT: ddeaac80cb1db067d40143a382eedb2183809153db5b23528c476ae25c9db5d28d53dbab6f59ac5c016150f8384f5b84767189\nTAG: 0936e1ff\n\nKEY: 9c8e8c0638b76c552d1ce80028b707286bf2a84568d7021179be55708e820adb\nNONCE: f414375eb3faa866349ee5a6f11db10b2d2b32719906fb25f22ac2053e9f402c4cf545ae973336ada616d99fd57e7b2fbb6bb8f167fd907efbd9983515d509cbb6966778bccfdedacd9cb58b0a8fbf0a3900128f9f47317485e2c8e30a65f68e43ff8ed0b20c83681e750214b8f004f2529f1f3fb06554a47ffb8532edecf949\nIN: 8af304c8d9ff794d784cca9bafec22868cf7cf5c038b2afa7cefbd84be5d98b50d3009bad9d69083abf47b5068d59465c10389\nAD: 913b191b128e8d021ca46d29455b8082e7013ea49e1c931fe94adf3cfde26785ad9e9828eb48bdda066eb530c5af62481eca4401fe31eb320f6c52011db38f98144a0ea5f9fa6d5c373c76eead287e67e83f9dde0f2e27a6c40e\nCT: 63a8f8e0183e5c30532dd6d5235d6418828243e4ef9aab82ad537e20fa11fe188d440a7fd5a53669422c65fed98a00e4631f44\nTAG: 33491cd4\n\nKEY: d74eb3cfdd9fd9fe176415e1973a12f0110ef55568746e99d07d91b339cee79f\nNONCE: 06b5cc871a93bf13726836392a7e134f2b122f2238b086f18ec88f16d21f1914551a63a169e97c9dadabc9f488bf54a7883e618e59472041dd74ad356e7d92f8666af1b4b2cdb35fb0d722ac0b31d2fd475052507eafb98d5c2109b5f10254957fc9b4c6dbfb3bf4692771b4ed305d7521f5842d1aeaca0ffbab8247fc3b76bd\nIN: d654f510806c9ece9c12dc749cb9a08467cac2cad1afcf3b4a41a2e0873dea9bc0cf61b7aac2ebba93eb46ae6c5f11610d0b41\nAD: 9855a05c20be9b2416fa0032d94db428c949e68262f8a084ce3762f85c3edbe6175ef48279141822c101929aecf36e8a68e8fec8524945debb54e046b3c71a44630e569ec849691c7f0f9a74e374d27732df33578c5bde492907\nCT: af6f67769f0f099e6590e97dc6d605dea986772a68966408e81d49b1e8d24fd835daed0d4bda048c47d5ef87f22752e99e1446\nTAG: d449dec7\n\nKEY: b5f849da887e3c1878b6775aff7e49f5f31ed8cdf9f79ead5b36219eea87af80\nNONCE: 63f75fd55a8bf19eadfa23eb7a3e5c8fd13d79f6bb6ba414d2027fb08283f5108c11c2d49db52f4c68c11164c8a1585bf115512cbe5f5aa478c6c0e91864f5198862a694f0c2471aacd32ba57be1a33f04a56fdc60a3dcdde73c7714c10eb67b749433b1b3027b3c4b4f29fc57c3eaad9eefd033dc4d42bc75b36e7445a383db\nIN: c1a27f693387a1c8f5fd1eed0c5cf3111897dc8797b4e63e89bcea06cb19b734e354d9f539f5af700641f0f4acf91ab52147f0\nAD: 6dc78b3a5ea409838b533ebd77cf1d1b4808fef131275a0d4dcd94ca0f55b9dd86017bd664e036c2fa756c65a7a7d246229900fa468349eb2de18b5bf1af0f7da56ed0377a65f5e650ddf081c4a29eb985456b276b4d303b7832\nCT: 837a", "ff99c32f665841239e0897134461fc3e8faa8f9965eca5dae67b2934e0816f39d36c45ef8a0b8066ae4f9752e65ef3a6d9\nTAG: 94b73bcf\n\nKEY: cd670a8ac109d0f0e436ee42e490d5576bb7c13230f727b150b473bde659826d\nNONCE: 719191db1dc5ae92cf75cd8ff02ff036e78d6bef59714e5d40c24301443952148c61ab2e7e15d95f8d1792ee307a27c0112ec1b28c4a0416f76290b77d89088542d13649d17af09d6c5302438895534dedbb587f543c0d76b1e3e065ce6a261473d27dab6a928ad1fc786333dac512f3b521760dd1f67907292d868423a4f64b\nIN: c94ebec7d8aa421bfa9a0203520e02570338d12359c5b16d51050cd3f802351b17cad85b52ea9b42147f528a25e52c170c6308\nAD: abdf817a7ff3f28bd0b5ef0c2ec02ccde1799d4dea806580941f63b7840b2deedd3873ad1c3186ee3c6b6fa95062fcb56e33c6737532e7c326e116f2da4cc920c8bb354e8d2e27c1920962e16a4c89521c4e1699f2145f742d36\nCT: 286b594cf9a92b2d7348f0c75619e14916f2cafb990cc2d6aa07162d0703a9f7591e40eae402edfc64cafbedfc7ec2147acd51\nTAG: 22d3ec0f\n\n", }; -static const size_t kLen28 = 81764; +static const size_t kLen29 = 81764; -static const char *kData28[] = { +static const char *kData29[] = { "# Generated by \"make_cavp -extra-labels Cipher=DES-EDE3-CBC -cipher tdes kat_des/KAT_TDES/TCBCinvperm.rsp kat_des/KAT_TDES/TCBCpermop.rsp kat_des/KAT_TDES/TCBCsubtab.rsp kat_des/KAT_TDES/TCBCvarkey.rsp kat_des/KAT_TDES/TCBCvartext.rsp\"\n\n# File 1: kat_des/KAT_TDES/TCBCinvperm.rsp\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 95f8a5e5dd31d900\nCiphertext: 8000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: dd7f121ca5015619\nCiphertext: 4000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 2e8653104f3834ea\nCiphertext: 2000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 4bd388ff6cd81d4f\nCiphertext: 1000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 20b9e767b2fb1456\nCiphertext: 0800000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 55579380d77138ef\nCiphertext: 0400000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 6cc5defaaf04512f\nCiphertext: 0200000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0d9f279ba5d87260\nCiphertext: 0100000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: d9031b0271bd5a0a\nCiphertext: 0080000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 424250b37c3dd951\nCiphertext: 0040000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: b8061b7ecd9a21e5\nCiphertext: 0020000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: f15d0f286b65bd28\nCiphertext: 0010000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: add0cc8d6e5deba1\nCiphertext: 0008000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e6d5f82752ad63d1\nCiphertext: 0004000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ecbfe3bd3f591a5e\nCiphertext: 0002000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: f356834379d165cd\nCiphertext: 0001000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 2b9f982f20037fa9\nCiphertext: 0000800000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 889de068a16f0be6\nCiphertext: 0000400000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e19e275d846a1298\nCiphertext: 0000200000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 329a8ed523d71aec\nCiphertext: 0000100000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e7fce22557d23c97\nCiphertext: 0000080000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 12a9f5817ff2d65d\nCiphertext: 0000040000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: a484c3ad38dc9c19\nCiphertext: 0000020000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: fbe00a8a1ef8ad72\nCiphertext: 0000010000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 750d079407521363\nCiphertext: 0000008000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 64feed9c724c2faf\nCiphertext: 0000004000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: f02b263b328e2b60\nCiphertext: 0000002000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 9d64555a9a10b852\nCiphertext: 0000001000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: d106ff0bed5255d7\nCiphertext: 0000000800000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e1652c6b138c64a5\nCiphertext: 0000000400000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e428581186ec8f46\nCiphertext: 0000000200000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: aeb5f5ede22d1a36\nCiphertext: 0000000100000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e943d7568aec0c5c\nCiphertext: 0000000080000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: df98c8276f54b04b\nCiphertext: 0000000040000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: b160e4680f6c696f\nCiphertext: 0000000020000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: fa0752b07d9c4ab8\nCiphertext: 0000000010000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ca3a2b036dbc8502\nCiphertext: 0000000008000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 5e0905517bb59bcf\nCiphertext: 0000000004000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 814eeb3b91d90726\nCiphertext: 0000000002000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 4d49db1532919c9f\nCiphertext: 0000000001000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 25eb5fc3f8cf0621\nCiphertext: 0000000000800000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ab6a20c0620d1c6f\nCiphertext: 0000000000400000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 79e90dbc98f92cca\nCiphertext: 0000000000200000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 866ecedd8072bb0e\nCiphertext: 0000000000100000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 8b54536f2f3e64a8\nCiphertext: 0000000000080000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ", "ea51d3975595b86b\nCiphertext: 0000000000040000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: caffc6ac4542de31\nCiphertext: 0000000000020000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 8dd45a2ddf90796c\nCiphertext: 0000000000010000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 1029d55e880ec2d0\nCiphertext: 0000000000008000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 5d86cb23639dbea9\nCiphertext: 0000000000004000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 1d1ca853ae7c0c5f\nCiphertext: 0000000000002000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ce332329248f3228\nCiphertext: 0000000000001000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 8405d1abe24fb942\nCiphertext: 0000000000000800\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e643d78090ca4207\nCiphertext: 0000000000000400\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 48221b9937748a23\nCiphertext: 0000000000000200\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: dd7c0bbd61fafd54\nCiphertext: 0000000000000100\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 2fbc291a570db5c4\nCiphertext: 0000000000000080\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e07c30d7e4e26e12\nCiphertext: 0000000000000040\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0953e2258e8e90a1\nCiphertext: 0000000000000020\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 5b711bc4ceebf2ee\nCiphertext: 0000000000000010\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: cc083f1e6d9e85f6\nCiphertext: 0000000000000008\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: d2fd8867d50d2dfe\nCiphertext: 0000000000000004\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 06e7ea22ce92708f\nCiphertext: 0000000000000002\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 166b40b44aba4bd6\nCiphertext: 0000000000000001\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 8000000000000000\nPlaintext: 95f8a5e5dd31d900\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 4000000000000000\nPlaintext: dd7f121ca5015619\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 2000000000000000\nPlaintext: 2e8653104f3834ea\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 1000000000000000\nPlaintext: 4bd388ff6cd81d4f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0800000000000000\nPlaintext: 20b9e767b2fb1456\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0400000000000000\nPlaintext: 55579380d77138ef\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0200000000000000\nPlaintext: 6cc5defaaf04512f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0100000000000000\nPlaintext: 0d9f279ba5d87260\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0080000000000000\nPlaintext: d9031b0271bd5a0a\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0040000000000000\nPlaintext: 424250b37c3dd951\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0020000000000000\nPlaintext: b8061b7ecd9a21e5\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0010000000000000\nPlaintext: f15d0f286b65bd28\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0008000000000000\nPlaintext: add0cc8d6e5deba1\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0004000000000000\nPlaintext: e6d5f82752ad63d1\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0002000000000000\nPlaintext: ecbfe3bd3f591a5e\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0001000000000000\nPlaintext: f356834379d165cd\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000800000000000\nPlaintext: 2b9f982f20037fa9\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000400000000000\nPlaintext: 889de068a16f0be6\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000200000000000\nPlaintext: e19e275d846a1298\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000100000000000\nPlaintext: 329a8ed523d71aec\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000080000000000\nPlaintext: e7fce22557d23c97\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000040000000000\nPlaintext: 12a9f5817ff2d65d\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000020000000000\nPlaintext: a484c3ad38dc9c19\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000010000000000\nPlaintext: fbe00a8a1ef8ad72\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000008000000000\nPlaintext: 750d079407521363\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000004000000000\nPlaintext: 64feed9c724c2faf\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000002000000000\nPlaintext: f02b263b328e2b60\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000001000000000\nPlaintext: 9d64555a9a10b852\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000800000000\nPlaintext: d106ff0bed5255d7\n\nCipher: DES-ED", "E3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000400000000\nPlaintext: e1652c6b138c64a5\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000200000000\nPlaintext: e428581186ec8f46\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000100000000\nPlaintext: aeb5f5ede22d1a36\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000080000000\nPlaintext: e943d7568aec0c5c\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000040000000\nPlaintext: df98c8276f54b04b\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000020000000\nPlaintext: b160e4680f6c696f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000010000000\nPlaintext: fa0752b07d9c4ab8\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000008000000\nPlaintext: ca3a2b036dbc8502\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000004000000\nPlaintext: 5e0905517bb59bcf\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000002000000\nPlaintext: 814eeb3b91d90726\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000001000000\nPlaintext: 4d49db1532919c9f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000800000\nPlaintext: 25eb5fc3f8cf0621\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000400000\nPlaintext: ab6a20c0620d1c6f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000200000\nPlaintext: 79e90dbc98f92cca\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000100000\nPlaintext: 866ecedd8072bb0e\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000080000\nPlaintext: 8b54536f2f3e64a8\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000040000\nPlaintext: ea51d3975595b86b\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000020000\nPlaintext: caffc6ac4542de31\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000010000\nPlaintext: 8dd45a2ddf90796c\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000008000\nPlaintext: 1029d55e880ec2d0\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000004000\nPlaintext: 5d86cb23639dbea9\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000002000\nPlaintext: 1d1ca853ae7c0c5f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000001000\nPlaintext: ce332329248f3228\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000800\nPlaintext: 8405d1abe24fb942\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000400\nPlaintext: e643d78090ca4207\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000200\nPlaintext: 48221b9937748a23\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000100\nPlaintext: dd7c0bbd61fafd54\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000080\nPlaintext: 2fbc291a570db5c4\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000040\nPlaintext: e07c30d7e4e26e12\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000020\nPlaintext: 0953e2258e8e90a1\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000010\nPlaintext: 5b711bc4ceebf2ee\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000008\nPlaintext: cc083f1e6d9e85f6\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000004\nPlaintext: d2fd8867d50d2dfe\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000002\nPlaintext: 06e7ea22ce92708f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000001\nPlaintext: 166b40b44aba4bd6\n\n# File 2: kat_des/KAT_TDES/TCBCpermop.rsp\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 104691348998013110469134899801311046913489980131\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 88d55e54f54c97b4\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 100710348998802010071034899880201007103489988020\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 0c0cc00c83ea48fd\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 10071034c898012010071034c898012010071034c8980120\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 83bc8ef3a6570183\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 104610348998802010461034899880201046103489988020\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: df725dcad94ea2e9\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 108691151919010110869115191901011086911519190101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: e652b53b550be8b0\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 108691151958010110869115195801011086911519580101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: af527120c485cbb0\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 5107b015195801015107b015195801015107b01519580101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 0f04ce393db926d5\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 1007b015191901011007b015191901011007b01519190101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: c9f00ffc74079067\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 310791549808010131079154980801013107915498080101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 7cfd82a593252b4e\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 310791949808010131079194980801013107919498080101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: cb49a2f9e91363e3\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 10079115b908014010079115b908014010079115b9080140\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 00b588be70d23f56\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 310791159808014031079115980801403107911598080140\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 406a9a6ab43399ae\n\nCipher: DES-EDE3-CBC\nOperation: ", @@ -2345,9 +2425,9 @@ static const char *kData28[] = { "CRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000020000000\nCiphertext: b160e4680f6c696f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000010000000\nCiphertext: fa0752b07d9c4ab8\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000008000000\nCiphertext: ca3a2b036dbc8502\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000004000000\nCiphertext: 5e0905517bb59bcf\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000002000000\nCiphertext: 814eeb3b91d90726\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000001000000\nCiphertext: 4d49db1532919c9f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000800000\nCiphertext: 25eb5fc3f8cf0621\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000400000\nCiphertext: ab6a20c0620d1c6f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000200000\nCiphertext: 79e90dbc98f92cca\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000100000\nCiphertext: 866ecedd8072bb0e\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000080000\nCiphertext: 8b54536f2f3e64a8\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000040000\nCiphertext: ea51d3975595b86b\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000020000\nCiphertext: caffc6ac4542de31\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000010000\nCiphertext: 8dd45a2ddf90796c\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000008000\nCiphertext: 1029d55e880ec2d0\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000004000\nCiphertext: 5d86cb23639dbea9\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000002000\nCiphertext: 1d1ca853ae7c0c5f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000001000\nCiphertext: ce332329248f3228\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000800\nCiphertext: 8405d1abe24fb942\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000400\nCiphertext: e643d78090ca4207\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000200\nCiphertext: 48221b9937748a23\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000100\nCiphertext: dd7c0bbd61fafd54\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000080\nCiphertext: 2fbc291a570db5c4\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000040\nCiphertext: e07c30d7e4e26e12\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000020\nCiphertext: 0953e2258e8e90a1\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000010\nCiphertext: 5b711bc4ceebf2ee\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000008\nCiphertext: cc083f1e6d9e85f6\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000004\nCiphertext: d2fd8867d50d2dfe\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000002\nCiphertext: 06e7ea22ce92708f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000001\nCiphertext: 166b40b44aba4bd6\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 95f8a5e5dd31d900\nPlaintext: 8000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: dd7f121ca5015619\nPlaintext: 4000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 2e8653104f3834ea\nPlaintext: 2000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 4bd388ff6cd81d4f\nPlaintext: 1000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 20b9e767b2fb1456\nPlaintext: 0800000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 55579380d77138ef\nPlaintext: 0400000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 6cc5defaaf04512f\nPlaintext: 0200000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0d9f279ba5d87260\nPlaintext: 0100000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: d9031b0271bd5a0a\nPlaintext: 0080000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 424250b37c3dd951\nPlaintext: 0040000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: b8061b7ecd9a21e5\nPlaintext: 0020000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: f15d0f286b65bd28\nPlaintext: 0010000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: add0cc8d6e5deba1\nPlaintext: 0008000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e6d5f82752ad63d1\nPlaintext: 0004000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ecbfe3bd3f591a5e\nPlaintext: 0002000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: f356834379d165cd\nPlaintext: 0001000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 2b9f982f20037fa9\nPlaintext: 0000800000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nI", "V: 0000000000000000\nCiphertext: 889de068a16f0be6\nPlaintext: 0000400000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e19e275d846a1298\nPlaintext: 0000200000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 329a8ed523d71aec\nPlaintext: 0000100000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e7fce22557d23c97\nPlaintext: 0000080000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 12a9f5817ff2d65d\nPlaintext: 0000040000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: a484c3ad38dc9c19\nPlaintext: 0000020000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: fbe00a8a1ef8ad72\nPlaintext: 0000010000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 750d079407521363\nPlaintext: 0000008000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 64feed9c724c2faf\nPlaintext: 0000004000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: f02b263b328e2b60\nPlaintext: 0000002000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 9d64555a9a10b852\nPlaintext: 0000001000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: d106ff0bed5255d7\nPlaintext: 0000000800000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e1652c6b138c64a5\nPlaintext: 0000000400000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e428581186ec8f46\nPlaintext: 0000000200000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: aeb5f5ede22d1a36\nPlaintext: 0000000100000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e943d7568aec0c5c\nPlaintext: 0000000080000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: df98c8276f54b04b\nPlaintext: 0000000040000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: b160e4680f6c696f\nPlaintext: 0000000020000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: fa0752b07d9c4ab8\nPlaintext: 0000000010000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ca3a2b036dbc8502\nPlaintext: 0000000008000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 5e0905517bb59bcf\nPlaintext: 0000000004000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 814eeb3b91d90726\nPlaintext: 0000000002000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 4d49db1532919c9f\nPlaintext: 0000000001000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 25eb5fc3f8cf0621\nPlaintext: 0000000000800000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ab6a20c0620d1c6f\nPlaintext: 0000000000400000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 79e90dbc98f92cca\nPlaintext: 0000000000200000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 866ecedd8072bb0e\nPlaintext: 0000000000100000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 8b54536f2f3e64a8\nPlaintext: 0000000000080000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ea51d3975595b86b\nPlaintext: 0000000000040000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: caffc6ac4542de31\nPlaintext: 0000000000020000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 8dd45a2ddf90796c\nPlaintext: 0000000000010000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 1029d55e880ec2d0\nPlaintext: 0000000000008000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 5d86cb23639dbea9\nPlaintext: 0000000000004000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 1d1ca853ae7c0c5f\nPlaintext: 0000000000002000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ce332329248f3228\nPlaintext: 0000000000001000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 8405d1abe24fb942\nPlaintext: 0000000000000800\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e643d78090ca4207\nPlaintext: 0000000000000400\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 48221b9937748a23\nPlaintext: 0000000000000200\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: dd7c0bbd61fafd54\nPlaintext: 0000000000000100\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 2fbc291a570db5c4\nPlaintext: 0000000000000080\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e07c30d7e4e26e12\nPlaintext: 0000000000000040\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0953e2258e8e90a1\nPlaintext: 0000000000000020\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 5b711bc4ceebf2ee\nPlaintext: 0000000000000010\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: cc083f1e6d9e85f6\nPlaintext: 0000000000000008\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: d2fd8867d50d2dfe\nPlaintext: 0000000000000004\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 06e7ea22ce92708f\nPlaintext: 0000000000000002\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 166b40b44aba4bd6\nPlaintext: 0000000000000001\n\n", }; -static const size_t kLen29 = 70010; +static const size_t kLen30 = 70010; -static const char *kData29[] = { +static const char *kData30[] = { "# Generated by \"make_cavp -extra-labels Cipher=DES-EDE3 -cipher tdes kat_des/KAT_TDES/TECBinvperm.rsp kat_des/KAT_TDES/TECBpermop.rsp kat_des/KAT_TDES/TECBsubtab.rsp kat_des/KAT_TDES/TECBvarkey.rsp kat_des/KAT_TDES/TECBvartext.rsp\"\n\n# File 1: kat_des/KAT_TDES/TECBinvperm.rsp\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 95f8a5e5dd31d900\nCiphertext: 8000000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: dd7f121ca5015619\nCiphertext: 4000000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 2e8653104f3834ea\nCiphertext: 2000000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 4bd388ff6cd81d4f\nCiphertext: 1000000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 20b9e767b2fb1456\nCiphertext: 0800000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 55579380d77138ef\nCiphertext: 0400000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 6cc5defaaf04512f\nCiphertext: 0200000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0d9f279ba5d87260\nCiphertext: 0100000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: d9031b0271bd5a0a\nCiphertext: 0080000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 424250b37c3dd951\nCiphertext: 0040000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: b8061b7ecd9a21e5\nCiphertext: 0020000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: f15d0f286b65bd28\nCiphertext: 0010000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: add0cc8d6e5deba1\nCiphertext: 0008000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e6d5f82752ad63d1\nCiphertext: 0004000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ecbfe3bd3f591a5e\nCiphertext: 0002000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: f356834379d165cd\nCiphertext: 0001000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 2b9f982f20037fa9\nCiphertext: 0000800000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 889de068a16f0be6\nCiphertext: 0000400000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e19e275d846a1298\nCiphertext: 0000200000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 329a8ed523d71aec\nCiphertext: 0000100000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e7fce22557d23c97\nCiphertext: 0000080000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 12a9f5817ff2d65d\nCiphertext: 0000040000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: a484c3ad38dc9c19\nCiphertext: 0000020000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: fbe00a8a1ef8ad72\nCiphertext: 0000010000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 750d079407521363\nCiphertext: 0000008000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 64feed9c724c2faf\nCiphertext: 0000004000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: f02b263b328e2b60\nCiphertext: 0000002000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 9d64555a9a10b852\nCiphertext: 0000001000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: d106ff0bed5255d7\nCiphertext: 0000000800000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e1652c6b138c64a5\nCiphertext: 0000000400000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e428581186ec8f46\nCiphertext: 0000000200000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: aeb5f5ede22d1a36\nCiphertext: 0000000100000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e943d7568aec0c5c\nCiphertext: 0000000080000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: df98c8276f54b04b\nCiphertext: 0000000040000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: b160e4680f6c696f\nCiphertext: 0000000020000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: fa0752b07d9c4ab8\nCiphertext: 0000000010000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ca3a2b036dbc8502\nCiphertext: 0000000008000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 5e0905517bb59bcf\nCiphertext: 0000000004000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 814eeb3b91d90726\nCiphertext: 0000000002000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 4d49db1532919c9f\nCiphertext: 0000000001000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 25eb5fc3f8cf0621\nCiphertext: 0000000000800000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ab6a20c0620d1c6f\nCiphertext: 0000000000400000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 79e90dbc98f92cca\nCiphertext: 0000000000200000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 866ecedd8072bb0e\nCiphertext: 0000000000100000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 8b54536f2f3e64a8\nCiphertext: 0000000000080000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ea51d3975595b86b\nCiphertext: 0000000000040000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: caffc6ac4542de31\nCiphertext: 0000000000020000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 8dd45a2ddf90796c\nCiphertext: 0000000000010000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 1029d55e880ec2d0\nCiphertext: 0000000000008000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 5d86cb23639dbea9\nCiphertext: 0000000000004000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 1d1ca853ae7c0c5f\nCiphertext: 0000000000002000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ce332329248f3228\nCiphertext: 0000000000001000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 8405d1abe24fb942\nCiphertext: 0000000000000800\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101", "010101010101010101\nPlaintext: e643d78090ca4207\nCiphertext: 0000000000000400\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 48221b9937748a23\nCiphertext: 0000000000000200\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: dd7c0bbd61fafd54\nCiphertext: 0000000000000100\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 2fbc291a570db5c4\nCiphertext: 0000000000000080\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e07c30d7e4e26e12\nCiphertext: 0000000000000040\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0953e2258e8e90a1\nCiphertext: 0000000000000020\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 5b711bc4ceebf2ee\nCiphertext: 0000000000000010\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: cc083f1e6d9e85f6\nCiphertext: 0000000000000008\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: d2fd8867d50d2dfe\nCiphertext: 0000000000000004\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 06e7ea22ce92708f\nCiphertext: 0000000000000002\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 166b40b44aba4bd6\nCiphertext: 0000000000000001\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 8000000000000000\nPlaintext: 95f8a5e5dd31d900\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 4000000000000000\nPlaintext: dd7f121ca5015619\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 2000000000000000\nPlaintext: 2e8653104f3834ea\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 1000000000000000\nPlaintext: 4bd388ff6cd81d4f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0800000000000000\nPlaintext: 20b9e767b2fb1456\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0400000000000000\nPlaintext: 55579380d77138ef\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0200000000000000\nPlaintext: 6cc5defaaf04512f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0100000000000000\nPlaintext: 0d9f279ba5d87260\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0080000000000000\nPlaintext: d9031b0271bd5a0a\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0040000000000000\nPlaintext: 424250b37c3dd951\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0020000000000000\nPlaintext: b8061b7ecd9a21e5\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0010000000000000\nPlaintext: f15d0f286b65bd28\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0008000000000000\nPlaintext: add0cc8d6e5deba1\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0004000000000000\nPlaintext: e6d5f82752ad63d1\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0002000000000000\nPlaintext: ecbfe3bd3f591a5e\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0001000000000000\nPlaintext: f356834379d165cd\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000800000000000\nPlaintext: 2b9f982f20037fa9\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000400000000000\nPlaintext: 889de068a16f0be6\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000200000000000\nPlaintext: e19e275d846a1298\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000100000000000\nPlaintext: 329a8ed523d71aec\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000080000000000\nPlaintext: e7fce22557d23c97\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000040000000000\nPlaintext: 12a9f5817ff2d65d\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000020000000000\nPlaintext: a484c3ad38dc9c19\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000010000000000\nPlaintext: fbe00a8a1ef8ad72\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000008000000000\nPlaintext: 750d079407521363\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000004000000000\nPlaintext: 64feed9c724c2faf\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000002000000000\nPlaintext: f02b263b328e2b60\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000001000000000\nPlaintext: 9d64555a9a10b852\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000800000000\nPlaintext: d106ff0bed5255d7\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000400000000\nPlaintext: e1652c6b138c64a5\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000200000000\nPlaintext: e428581186ec8f46\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000100000000\nPlaintext: aeb5f5ede22d1a36\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000080000000\nPlaintext: e943d7568aec0c5c\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000040000000\nPlaintext: df98c8276f54b04b\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000020000000\nPlaintext: b160e4680f6c696f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000010000000\nPlaintext: fa0752b07d9c4ab8\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000008000000\nPlaintext: ca3a2b036dbc8502\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000004000000\nPlaintext: 5e0905517bb59bcf\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000002000000\nPlaintext: 814eeb3b91d90726\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000001000000\nPlaintext: 4d49db1532919c9f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000800000\nPlaintext: 25eb5fc3f8cf0621\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000400000\nPlaintext: ab6a20c0620d1c6f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000200000\nPlaintext: 79e90dbc98f92cca\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000100000\nPlaintext: 866ecedd8072bb0e\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000080000\nPlai", "ntext: 8b54536f2f3e64a8\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000040000\nPlaintext: ea51d3975595b86b\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000020000\nPlaintext: caffc6ac4542de31\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000010000\nPlaintext: 8dd45a2ddf90796c\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000008000\nPlaintext: 1029d55e880ec2d0\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000004000\nPlaintext: 5d86cb23639dbea9\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000002000\nPlaintext: 1d1ca853ae7c0c5f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000001000\nPlaintext: ce332329248f3228\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000800\nPlaintext: 8405d1abe24fb942\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000400\nPlaintext: e643d78090ca4207\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000200\nPlaintext: 48221b9937748a23\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000100\nPlaintext: dd7c0bbd61fafd54\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000080\nPlaintext: 2fbc291a570db5c4\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000040\nPlaintext: e07c30d7e4e26e12\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000020\nPlaintext: 0953e2258e8e90a1\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000010\nPlaintext: 5b711bc4ceebf2ee\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000008\nPlaintext: cc083f1e6d9e85f6\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000004\nPlaintext: d2fd8867d50d2dfe\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000002\nPlaintext: 06e7ea22ce92708f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000001\nPlaintext: 166b40b44aba4bd6\n\n# File 2: kat_des/KAT_TDES/TECBpermop.rsp\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 104691348998013110469134899801311046913489980131\nPlaintext: 0000000000000000\nCiphertext: 88d55e54f54c97b4\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100710348998802010071034899880201007103489988020\nPlaintext: 0000000000000000\nCiphertext: 0c0cc00c83ea48fd\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 10071034c898012010071034c898012010071034c8980120\nPlaintext: 0000000000000000\nCiphertext: 83bc8ef3a6570183\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 104610348998802010461034899880201046103489988020\nPlaintext: 0000000000000000\nCiphertext: df725dcad94ea2e9\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 108691151919010110869115191901011086911519190101\nPlaintext: 0000000000000000\nCiphertext: e652b53b550be8b0\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 108691151958010110869115195801011086911519580101\nPlaintext: 0000000000000000\nCiphertext: af527120c485cbb0\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 5107b015195801015107b015195801015107b01519580101\nPlaintext: 0000000000000000\nCiphertext: 0f04ce393db926d5\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 1007b015191901011007b015191901011007b01519190101\nPlaintext: 0000000000000000\nCiphertext: c9f00ffc74079067\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 310791549808010131079154980801013107915498080101\nPlaintext: 0000000000000000\nCiphertext: 7cfd82a593252b4e\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 310791949808010131079194980801013107919498080101\nPlaintext: 0000000000000000\nCiphertext: cb49a2f9e91363e3\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 10079115b908014010079115b908014010079115b9080140\nPlaintext: 0000000000000000\nCiphertext: 00b588be70d23f56\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 310791159808014031079115980801403107911598080140\nPlaintext: 0000000000000000\nCiphertext: 406a9a6ab43399ae\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 1007d015899801011007d015899801011007d01589980101\nPlaintext: 0000000000000000\nCiphertext: 6cb773611dca9ada\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 910791158998010191079115899801019107911589980101\nPlaintext: 0000000000000000\nCiphertext: 67fd21c17dbb5d70\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 9107d015891901019107d015891901019107d01589190101\nPlaintext: 0000000000000000\nCiphertext: 9592cb4110430787\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 1007d015989801201007d015989801201007d01598980120\nPlaintext: 0000000000000000\nCiphertext: a6b7ff68a318ddd3\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100794049819010110079404981901011007940498190101\nPlaintext: 0000000000000000\nCiphertext: 4d102196c914ca16\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010791049119040101079104911904010107910491190401\nPlaintext: 0000000000000000\nCiphertext: 2dfa9f4573594965\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010791049119010101079104911901010107910491190101\nPlaintext: 0000000000000000\nCiphertext: b46604816c0e0774\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010794049119040101079404911904010107940491190401\nPlaintext: 0000000000000000\nCiphertext: 6e7e6221a4f34e87\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 19079210981a010119079210981a010119079210981a0101\nPlaintext: 0000000000000000\nCiphertext: aa85e74643233199\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100791199819080110079119981908011007911998190801\nPlaintext: 0000000000000000\nCiphertext: 2e5a19db4d1962d6\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 10079119981a080110079119981a080110079119981a0801\nPlaintext: 0000000000000000\nCiphertext: 23a866a809d30894\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100792109819010110079210981901011007921098190101\nPlaintext: 0000000000000000\nCiphertext: d812d961f017d320\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100791159819010b100791159819010b100791159819010b\nPlaintext: 0000000000000000\nCiphertext: 055605816e58608f\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100480159819010110048015981901011004801598190101\nPlaintext: 0000000000000000\nCiphertext: abd88e8b1b7716f1\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100480159819010210048015981901021004801598190102\nPlaintext: 0000000000000000\nCiphertext: 537ac95be69da1e1\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100480159819010810048015981901081004801598190108\nPlaintext: 0000000000000000\nCiphertext: aed0f6ae3c25cdd8\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100291159810010410029115981001041002911598100104\nPlaintext: 0000000000000000\nCiphertext: b3e35a5ee53e7b8d\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100291159819010410029115981901041002911598190104\nPlaintext: 0000000000000000\nCiphertext: 61c79c71921a2ef8\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100291159810020110029115981002011002911598100201\nPlaintext: 0000000000000000\nCiphertext: e2f5728f0995013c\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100291169810010110029116981001011002911698100101\nPlaintext: 0000000000000000\nCiphertext: 1aeac39a61f0a464\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 104691348998013110469134899801311046913489980131\nCiphertext: 88d55e54f54c97b4\nPlaintext: 0000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 100710348998802010071034899880201007103489988020\nCiphertext: 0c0cc00c83ea48fd\nPlaintext: 0000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 10071034c898012010071034c898012010071034c8980120\nCiphertext: 83bc8ef3a6570183\nPlaintext: 0000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 104610348998802010461034899880201046103489988020\nCiphertext: df725dcad94ea2e9\nPlaintext: 00", @@ -2358,9 +2438,9 @@ static const char *kData29[] = { "101010101010101010101010101\nPlaintext: 0000000000200000\nCiphertext: 79e90dbc98f92cca\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000100000\nCiphertext: 866ecedd8072bb0e\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000080000\nCiphertext: 8b54536f2f3e64a8\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000040000\nCiphertext: ea51d3975595b86b\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000020000\nCiphertext: caffc6ac4542de31\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000010000\nCiphertext: 8dd45a2ddf90796c\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000008000\nCiphertext: 1029d55e880ec2d0\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000004000\nCiphertext: 5d86cb23639dbea9\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000002000\nCiphertext: 1d1ca853ae7c0c5f\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000001000\nCiphertext: ce332329248f3228\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000800\nCiphertext: 8405d1abe24fb942\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000400\nCiphertext: e643d78090ca4207\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000200\nCiphertext: 48221b9937748a23\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000100\nCiphertext: dd7c0bbd61fafd54\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000080\nCiphertext: 2fbc291a570db5c4\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000040\nCiphertext: e07c30d7e4e26e12\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000020\nCiphertext: 0953e2258e8e90a1\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000010\nCiphertext: 5b711bc4ceebf2ee\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000008\nCiphertext: cc083f1e6d9e85f6\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000004\nCiphertext: d2fd8867d50d2dfe\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000002\nCiphertext: 06e7ea22ce92708f\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000001\nCiphertext: 166b40b44aba4bd6\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 95f8a5e5dd31d900\nPlaintext: 8000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: dd7f121ca5015619\nPlaintext: 4000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 2e8653104f3834ea\nPlaintext: 2000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 4bd388ff6cd81d4f\nPlaintext: 1000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 20b9e767b2fb1456\nPlaintext: 0800000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 55579380d77138ef\nPlaintext: 0400000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 6cc5defaaf04512f\nPlaintext: 0200000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0d9f279ba5d87260\nPlaintext: 0100000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: d9031b0271bd5a0a\nPlaintext: 0080000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 424250b37c3dd951\nPlaintext: 0040000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: b8061b7ecd9a21e5\nPlaintext: 0020000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: f15d0f286b65bd28\nPlaintext: 0010000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: add0cc8d6e5deba1\nPlaintext: 0008000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e6d5f82752ad63d1\nPlaintext: 0004000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ecbfe3bd3f591a5e\nPlaintext: 0002000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: f356834379d165cd\nPlaintext: 0001000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 2b9f982f20037fa9\nPlaintext: 0000800000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 889de068a16f0be6\nPlaintext: 0000400000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e19e275d846a1298\nPlaintext: 0000200000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 329a8ed523d71aec\nPlaintext: 0000100000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e7fce22557d23c97\nPlaintext: 0000080000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 12a9f5817ff2d65d\nPlaintext: 0000040000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: a484c3ad38dc9c19\nPlaintext: 0000020000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: fbe00a8a1ef8ad72\nPlaintext: 0000010000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 750d079407521363\nPlaintext: 0000008000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 64feed9c724c2faf\nPlaintext: 0000004000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: f02b263b328e2b60\nPlaintext: 0000002000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 9d64555a9a10b852\nPlaintext: 0000001000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: d106ff0bed5255d7\nPlaintext: 0000000800000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e1652c6b138c64a5\nPlaintext: 0000000400000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e428581186ec8f46\nPlaintext: 0000000200000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: aeb5f5ede22d1a36\nPlaintext: 0000000100000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e943d7568aec0c5c\nPlaintext: 0000000080000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: df98c8276f54", "b04b\nPlaintext: 0000000040000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: b160e4680f6c696f\nPlaintext: 0000000020000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: fa0752b07d9c4ab8\nPlaintext: 0000000010000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ca3a2b036dbc8502\nPlaintext: 0000000008000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 5e0905517bb59bcf\nPlaintext: 0000000004000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 814eeb3b91d90726\nPlaintext: 0000000002000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 4d49db1532919c9f\nPlaintext: 0000000001000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 25eb5fc3f8cf0621\nPlaintext: 0000000000800000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ab6a20c0620d1c6f\nPlaintext: 0000000000400000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 79e90dbc98f92cca\nPlaintext: 0000000000200000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 866ecedd8072bb0e\nPlaintext: 0000000000100000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 8b54536f2f3e64a8\nPlaintext: 0000000000080000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ea51d3975595b86b\nPlaintext: 0000000000040000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: caffc6ac4542de31\nPlaintext: 0000000000020000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 8dd45a2ddf90796c\nPlaintext: 0000000000010000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 1029d55e880ec2d0\nPlaintext: 0000000000008000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 5d86cb23639dbea9\nPlaintext: 0000000000004000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 1d1ca853ae7c0c5f\nPlaintext: 0000000000002000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ce332329248f3228\nPlaintext: 0000000000001000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 8405d1abe24fb942\nPlaintext: 0000000000000800\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e643d78090ca4207\nPlaintext: 0000000000000400\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 48221b9937748a23\nPlaintext: 0000000000000200\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: dd7c0bbd61fafd54\nPlaintext: 0000000000000100\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 2fbc291a570db5c4\nPlaintext: 0000000000000080\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e07c30d7e4e26e12\nPlaintext: 0000000000000040\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0953e2258e8e90a1\nPlaintext: 0000000000000020\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 5b711bc4ceebf2ee\nPlaintext: 0000000000000010\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: cc083f1e6d9e85f6\nPlaintext: 0000000000000008\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: d2fd8867d50d2dfe\nPlaintext: 0000000000000004\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 06e7ea22ce92708f\nPlaintext: 0000000000000002\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 166b40b44aba4bd6\nPlaintext: 0000000000000001\n\n", }; -static const size_t kLen30 = 444193; +static const size_t kLen31 = 444193; -static const char *kData30[] = { +static const char *kData31[] = { "# The contents of this file were generated from\n# http://ed25519.cr.yp.to/python/sign.input using the following Python script:\n#\n# import sys\n#\n# isFirst = True\n#\n# for line in sys.stdin.readlines():\n# (private, public, message, sig_and_message, _) = line.split(':')\n#\n# if not isFirst:\n# print\n# print \"PRIV:\", private\n# print \"PUB:\", public\n# print \"MESSAGE:\", message\n# print \"SIG:\", sig_and_message[:128]\n# isFirst = False\n\nPRIV: 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nPUB: d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nMESSAGE: \nSIG: e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nPRIV: 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\nPUB: 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\nMESSAGE: 72\nSIG: 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nPRIV: c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\nPUB: fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\nMESSAGE: af82\nSIG: 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nPRIV: 0d4a05b07352a5436e180356da0ae6efa0345ff7fb1572575772e8005ed978e9e61a185bcef2613a6c7cb79763ce945d3b245d76114dd440bcf5f2dc1aa57057\nPUB: e61a185bcef2613a6c7cb79763ce945d3b245d76114dd440bcf5f2dc1aa57057\nMESSAGE: cbc77b\nSIG: d9868d52c2bebce5f3fa5a79891970f309cb6591e3e1702a70276fa97c24b3a8e58606c38c9758529da50ee31b8219cba45271c689afa60b0ea26c99db19b00c\n\nPRIV: 6df9340c138cc188b5fe4464ebaa3f7fc206a2d55c3434707e74c9fc04e20ebbc0dac102c4533186e25dc43128472353eaabdb878b152aeb8e001f92d90233a7\nPUB: c0dac102c4533186e25dc43128472353eaabdb878b152aeb8e001f92d90233a7\nMESSAGE: 5f4c8989\nSIG: 124f6fc6b0d100842769e71bd530664d888df8507df6c56dedfdb509aeb93416e26b918d38aa06305df3095697c18b2aa832eaa52edc0ae49fbae5a85e150c07\n\nPRIV: b780381a65edf8b78f6945e8dbec7941ac049fd4c61040cf0c324357975a293ce253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01\nPUB: e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01\nMESSAGE: 18b6bec097\nSIG: b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09\n\nPRIV: 78ae9effe6f245e924a7be63041146ebc670dbd3060cba67fbc6216febc44546fbcfbfa40505d7f2be444a33d185cc54e16d615260e1640b2b5087b83ee3643d\nPUB: fbcfbfa40505d7f2be444a33d185cc54e16d615260e1640b2b5087b83ee3643d\nMESSAGE: 89010d855972\nSIG: 6ed629fc1d9ce9e1468755ff636d5a3f40a5d9c91afd93b79d241830f7e5fa29854b8f20cc6eecbb248dbd8d16d14e99752194e4904d09c74d639518839d2300\n\nPRIV: 691865bfc82a1e4b574eecde4c7519093faf0cf867380234e3664645c61c5f7998a5e3a36e67aaba89888bf093de1ad963e774013b3902bfab356d8b90178a63\nPUB: 98a5e3a36e67aaba89888bf093de1ad963e774013b3902bfab356d8b90178a63\nMESSAGE: b4a8f381e70e7a\nSIG: 6e0af2fe55ae377a6b7a7278edfb419bd321e06d0df5e27037db8812e7e3529810fa5552f6c0020985ca17a0e02e036d7b222a24f99b77b75fdd16cb05568107\n\nPRIV: 3b26516fb3dc88eb181b9ed73f0bcd52bcd6b4c788e4bcaf46057fd078bee073f81fb54a825fced95eb033afcd64314075abfb0abd20a970892503436f34b863\nPUB: f81fb54a825fced95eb033afcd64314075abfb0abd20a970892503436f34b863\nMESSAGE: 4284abc51bb67235\nSIG: d6addec5afb0528ac17bb178d3e7f2887f9adbb1ad16e110545ef3bc57f9de2314a5c8388f723b8907be0f3ac90c6259bbe885ecc17645df3db7d488f805fa08\n\nPRIV: edc6f5fbdd1cee4d101c063530a30490b221be68c036f5b07d0f953b745df192c1a49c66e617f9ef5ec66bc4c6564ca33de2a5fb5e1464062e6d6c6219155efd\nPUB: c1a49c66e617f9ef5ec66bc4c6564ca33de2a5fb5e1464062e6d6c6219155efd\nMESSAGE: 672bf8965d04bc5146\nSIG: 2c76a04af2391c147082e33faacdbe56642a1e134bd388620b852b901a6bc16ff6c9cc9404c41dea12ed281da067a1513866f9d964f8bdd24953856c50042901\n\nPRIV: 4e7d21fb3b1897571a445833be0f9fd41cd62be3aa04040f8934e1fcbdcacd4531b2524b8348f7ab1dfafa675cc538e9a84e3fe5819e27c12ad8bbc1a36e4dff\nPUB: 31b2524b8348f7ab1dfafa675cc538e9a84e3fe5819e27c12ad8bbc1a36e4dff\nMESSAGE: 33d7a786aded8c1bf691\nSIG: 28e4598c415ae9de01f03f9f3fab4e919e8bf537dd2b0cdf6e79b9e6559c9409d9151a4c40f083193937627c369488259e99da5a9f0a87497fa6696a5dd6ce08\n\nPRIV: a980f892db13c99a3e8971e965b2ff3d41eafd54093bc9f34d1fd22d84115bb644b57ee30cdb55829d0a5d4f046baef078f1e97a7f21b62d75f8e96ea139c35f\nPUB: 44b57ee30cdb55829d0a5d4f046baef078f1e97a7f21b62d75f8e96ea139c35f\nMESSAGE: 3486f68848a65a0eb5507d\nSIG: 77d389e599630d934076329583cd4105a649a9292abc44cd28c40000c8e2f5ac7660a81c85b72af8452d7d25c070861dae91601c7803d656531650dd4e5c4100\n\nPRIV: 5b5a619f8ce1c66d7ce26e5a2ae7b0c04febcd346d286c929e19d0d5973bfef96fe83693d011d111131c4f3fbaaa40a9d3d76b30012ff73bb0e39ec27ab18257\nPUB: 6fe83693d011d111131c4f3fbaaa40a9d3d76b30012ff73bb0e39ec27ab18257\nMESSAGE: 5a8d9d0a22357e6655f9c785\nSIG: 0f9ad9793033a2fa06614b277d37381e6d94f65ac2a5a94558d09ed6ce922258c1a567952e863ac94297aec3c0d0c8ddf71084e504860bb6ba27449b55adc40e\n\nPRIV: 940c89fe40a81dafbdb2416d14ae469119869744410c3303bfaa0241dac57800a2eb8c0501e30bae0cf842d2bde8dec7386f6b7fc3981b8c57c9792bb94cf2dd\nPUB: a2eb8c0501e30bae0cf842d2bde8dec7386f6b7fc3981b8c57c9792bb94cf2dd\nMESSAGE: b87d3813e03f58cf19fd0b6395\nSIG: d8bb64aad8c9955a115a793addd24f7f2b077648714f49c4694ec995b330d09d640df310f447fd7b6cb5c14f9fe9f490bcf8cfadbfd2169c8ac20d3b8af49a0c\n\nPRIV: 9acad959d216212d789a119252ebfe0c96512a23c73bd9f3b202292d6916a738cf3af898467a5b7a52d33d53bc037e2642a8da996903fc252217e9c033e2f291\nPUB: cf3af898467a5b7a52d33d53bc037e2642a8da996903fc252217e9c033e2f291\nMESSAGE: 55c7fa434f5ed8cdec2b7aeac173\nSIG: 6ee3fe81e23c60eb2312b2006b3b25e6838e02106623f844c44edb8dafd66ab0671087fd195df5b8f58a1d6e52af42908053d55c7321010092748795ef94cf06\n\nPRIV: d5aeee41eeb0e9d1bf8337f939587ebe296161e6bf5209f591ec939e1440c300fd2a565723163e29f53c9de3d5e8fbe36a7ab66e1439ec4eae9c0a604af291a5\nPUB: fd2a565723163e29f53c9de3d5e8fbe36a7ab66e1439ec4eae9c0a604af291a5\nMESSAGE: 0a688e79be24f866286d4646b5d81c\nSIG: f68d04847e5b249737899c014d31c805c5007a62c0a10d50bb1538c5f35503951fbc1e08682f2cc0c92efe8f4985dec61dcbd54d4b94a22547d24451271c8b00\n\nPRIV: 0a47d10452ae2febec518a1c7c362890c3fc1a49d34b03b6467d35c904a8362d34e5a8508c4743746962c066e4badea2201b8ab484de5c4f94476ccd2143955b\nPUB: 34e5a8508c4743746962c066e4badea2201b8ab484de5c4f94476ccd2143955b\nMESSAGE: c942fa7ac6b23ab7ff612fdc8e68ef39\nSIG: 2a3d27dc40d0a8127949a3b7f908b3688f63b7f14f651aacd715940bdbe27a0809aac142f47ab0e1e44fa490ba87ce5392f33a891539caf1ef4c367cae54500c\n\nPRIV: f8148f7506b775ef46fdc8e8c756516812d47d6cfbfa318c27c9a22641e56f170445e456dacc7d5b0bbed23c8200cdb74bdcb03e4c7b73f0a2b9b46eac5d4372\nPUB: 0445e456dacc7d5b0bbed23c8200cdb74bdcb03e4c7b73f0a2b9b46eac5d4372\nMESSAGE: 7368724a5b0efb57d28d97622dbde725af\nSIG: 3653ccb21219202b8436fb41a32ba2618c4a133431e6e63463ceb3b6106c4d56e1d2ba165ba76eaad3dc39bffb130f1de3d8e6427db5b71938db4e272bc3e20b\n\nPRIV: 77f88691c4eff23ebb7364947092951a5ff3f10785b417e918823a552dab7c7574d29127f199d86a8676aec33b4ce3f225ccb191f52c191ccd1e8cca65213a6b\nPUB: 74d29127f199d86a8676aec33b4ce3f225ccb191f52c191ccd1e8cca65213a6b\nMESSAGE: bd8e05033f3a8bcdcbf4beceb70901c82e31\nSIG: fbe929d743a03c17910575492f3092ee2a2bf14a60a3fcacec74a58c7334510fc262db582791322d6c8c41f1700adb80027ecabc14270b703444ae3ee7623e0a\n\nPRIV: ab6f7aee6a0837b334ba5eb1b2ad7fcecfab7e323cab187fe2e0a95d80eff1325b96dca497875bf9664c5e75facf3f9bc54bae913d66ca15ee85f1491ca24d2c\nPUB: 5b96dca497875bf9664c5e75facf3f9bc54bae913d66ca15ee85f1491ca24d2c\nMESSAGE: 8171456f8b907189b1d779e26bc5afbb08c67a\nSIG: 73bca64e9dd0db88138eedfafcea8f5436cfb74bfb0e7733cf349baa0c49775c56d5934e1d38e36f39b7c5beb0a836510c45126f8ec4b6810519905b0ca07c09\n\nPRIV: 8d135de7c8411bbdbd1b31e5dc678f2ac7109e792b60f38cd24936e8a898c32d1ca281938529896535a7714e3584085b86ef9fec723f42819fc8dd5d8c00817f\nPUB: 1ca281938529896535a7714e3584085b86ef9fec723f42819fc8dd5d8c00817f\nMESSAGE: 8ba6a4c9a15a244a9c26bb2a59b1026f21348b49\nSIG: a1adc2bc6a2d980662677e7fdff6424de7dba50f5795ca90fdf3e96e256f3285cac71d3360482e993d0294ba4ec7440c61affdf35f", "e83e6e04263937db93f105\n\nPRIV: 0e765d720e705f9366c1ab8c3fa84c9a44370c06969f803296884b2846a652a47fae45dd0a05971026d410bc497af5be7d0827a82a145c203f625dfcb8b03ba8\nPUB: 7fae45dd0a05971026d410bc497af5be7d0827a82a145c203f625dfcb8b03ba8\nMESSAGE: 1d566a6232bbaab3e6d8804bb518a498ed0f904986\nSIG: bb61cf84de61862207c6a455258bc4db4e15eea0317ff88718b882a06b5cf6ec6fd20c5a269e5d5c805bafbcc579e2590af414c7c227273c102a10070cdfe80f\n\nPRIV: db36e326d676c2d19cc8fe0c14b709202ecfc761d27089eb6ea4b1bb021ecfa748359b850d23f0715d94bb8bb75e7e14322eaf14f06f28a805403fbda002fc85\nPUB: 48359b850d23f0715d94bb8bb75e7e14322eaf14f06f28a805403fbda002fc85\nMESSAGE: 1b0afb0ac4ba9ab7b7172cddc9eb42bba1a64bce47d4\nSIG: b6dcd09989dfbac54322a3ce87876e1d62134da998c79d24b50bd7a6a797d86a0e14dc9d7491d6c14a673c652cfbec9f962a38c945da3b2f0879d0b68a921300\n\nPRIV: c89955e0f7741d905df0730b3dc2b0ce1a13134e44fef3d40d60c020ef19df77fdb30673402faf1c8033714f3517e47cc0f91fe70cf3836d6c23636e3fd2287c\nPUB: fdb30673402faf1c8033714f3517e47cc0f91fe70cf3836d6c23636e3fd2287c\nMESSAGE: 507c94c8820d2a5793cbf3442b3d71936f35fe3afef316\nSIG: 7ef66e5e86f2360848e0014e94880ae2920ad8a3185a46b35d1e07dea8fa8ae4f6b843ba174d99fa7986654a0891c12a794455669375bf92af4cc2770b579e0c\n\nPRIV: 4e62627fc221142478aee7f00781f817f662e3b75db29bb14ab47cf8e84104d6b1d39801892027d58a8c64335163195893bfc1b61dbeca3260497e1f30371107\nPUB: b1d39801892027d58a8c64335163195893bfc1b61dbeca3260497e1f30371107\nMESSAGE: d3d615a8472d9962bb70c5b5466a3d983a4811046e2a0ef5\nSIG: 836afa764d9c48aa4770a4388b654e97b3c16f082967febca27f2fc47ddfd9244b03cfc729698acf5109704346b60b230f255430089ddc56912399d1122de70a\n\nPRIV: 6b83d7da8908c3e7205b39864b56e5f3e17196a3fc9c2f5805aad0f5554c142dd0c846f97fe28585c0ee159015d64c56311c886eddcc185d296dbb165d2625d6\nPUB: d0c846f97fe28585c0ee159015d64c56311c886eddcc185d296dbb165d2625d6\nMESSAGE: 6ada80b6fa84f7034920789e8536b82d5e4678059aed27f71c\nSIG: 16e462a29a6dd498685a3718b3eed00cc1598601ee47820486032d6b9acc9bf89f57684e08d8c0f05589cda2882a05dc4c63f9d0431d6552710812433003bc08\n\nPRIV: 19a91fe23a4e9e33ecc474878f57c64cf154b394203487a7035e1ad9cd697b0d2bf32ba142ba4622d8f3e29ecd85eea07b9c47be9d64412c9b510b27dd218b23\nPUB: 2bf32ba142ba4622d8f3e29ecd85eea07b9c47be9d64412c9b510b27dd218b23\nMESSAGE: 82cb53c4d5a013bae5070759ec06c3c6955ab7a4050958ec328c\nSIG: 881f5b8c5a030df0f75b6634b070dd27bd1ee3c08738ae349338b3ee6469bbf9760b13578a237d5182535ede121283027a90b5f865d63a6537dca07b44049a0f\n\nPRIV: 1d5b8cb6215c18141666baeefcf5d69dad5bea9a3493dddaa357a4397a13d4de94d23d977c33e49e5e4992c68f25ec99a27c41ce6b91f2bfa0cd8292fe962835\nPUB: 94d23d977c33e49e5e4992c68f25ec99a27c41ce6b91f2bfa0cd8292fe962835\nMESSAGE: a9a8cbb0ad585124e522abbfb40533bdd6f49347b55b18e8558cb0\nSIG: 3acd39bec8c3cd2b44299722b5850a0400c1443590fd4861d59aae7496acb3df73fc3fdf7969ae5f50ba47dddc435246e5fd376f6b891cd4c2caf5d614b6170c\n\nPRIV: 6a91b3227c472299089bdce9356e726a40efd840f11002708b7ee55b64105ac29d084aa8b97a6b9bafa496dbc6f76f3306a116c9d917e681520a0f914369427e\nPUB: 9d084aa8b97a6b9bafa496dbc6f76f3306a116c9d917e681520a0f914369427e\nMESSAGE: 5cb6f9aa59b80eca14f6a68fb40cf07b794e75171fba96262c1c6adc\nSIG: f5875423781b66216cb5e8998de5d9ffc29d1d67107054ace3374503a9c3ef811577f269de81296744bd706f1ac478caf09b54cdf871b3f802bd57f9a6cb9101\n\nPRIV: 93eaa854d791f05372ce72b94fc6503b2ff8ae6819e6a21afe825e27ada9e4fb16cee8a3f2631834c88b670897ff0b08ce90cc147b4593b3f1f403727f7e7ad5\nPUB: 16cee8a3f2631834c88b670897ff0b08ce90cc147b4593b3f1f403727f7e7ad5\nMESSAGE: 32fe27994124202153b5c70d3813fdee9c2aa6e7dc743d4d535f1840a5\nSIG: d834197c1a3080614e0a5fa0aaaa808824f21c38d692e6ffbd200f7dfb3c8f44402a7382180b98ad0afc8eec1a02acecf3cb7fde627b9f18111f260ab1db9a07\n\nPRIV: 941cac69fb7b1815c57bb987c4d6c2ad2c35d5f9a3182a79d4ba13eab253a8ad23be323c562dfd71ce65f5bba56a74a3a6dfc36b573d2f94f635c7f9b4fd5a5b\nPUB: 23be323c562dfd71ce65f5bba56a74a3a6dfc36b573d2f94f635c7f9b4fd5a5b\nMESSAGE: bb3172795710fe00054d3b5dfef8a11623582da68bf8e46d72d27cece2aa\nSIG: 0f8fad1e6bde771b4f5420eac75c378bae6db5ac6650cd2bc210c1823b432b48e016b10595458ffab92f7a8989b293ceb8dfed6c243a2038fc06652aaaf16f02\n\nPRIV: 1acdbb793b0384934627470d795c3d1dd4d79cea59ef983f295b9b59179cbb283f60c7541afa76c019cf5aa82dcdb088ed9e4ed9780514aefb379dabc844f31a\nPUB: 3f60c7541afa76c019cf5aa82dcdb088ed9e4ed9780514aefb379dabc844f31a\nMESSAGE: 7cf34f75c3dac9a804d0fcd09eba9b29c9484e8a018fa9e073042df88e3c56\nSIG: be71ef4806cb041d885effd9e6b0fbb73d65d7cdec47a89c8a994892f4e55a568c4cc78d61f901e80dbb628b86a23ccd594e712b57fa94c2d67ec26634878507\n\nPRIV: 8ed7a797b9cea8a8370d419136bcdf683b759d2e3c6947f17e13e2485aa9d420b49f3a78b1c6a7fca8f3466f33bc0e929f01fba04306c2a7465f46c3759316d9\nPUB: b49f3a78b1c6a7fca8f3466f33bc0e929f01fba04306c2a7465f46c3759316d9\nMESSAGE: a750c232933dc14b1184d86d8b4ce72e16d69744ba69818b6ac33b1d823bb2c3\nSIG: 04266c033b91c1322ceb3446c901ffcf3cc40c4034e887c9597ca1893ba7330becbbd8b48142ef35c012c6ba51a66df9308cb6268ad6b1e4b03e70102495790b\n\nPRIV: f2ab396fe8906e3e5633e99cabcd5b09df0859b516230b1e0450b580b65f616c8ea074245159a116aa7122a25ec16b891d625a68f33660423908f6bdc44f8c1b\nPUB: 8ea074245159a116aa7122a25ec16b891d625a68f33660423908f6bdc44f8c1b\nMESSAGE: 5a44e34b746c5fd1898d552ab354d28fb4713856d7697dd63eb9bd6b99c280e187\nSIG: a06a23d982d81ab883aae230adbc368a6a9977f003cebb00d4c2e4018490191a84d3a282fdbfb2fc88046e62de43e15fb575336b3c8b77d19ce6a009ce51f50c\n\nPRIV: 550a41c013f79bab8f06e43ad1836d51312736a9713806fafe6645219eaa1f9daf6b7145474dc9954b9af93a9cdb34449d5b7c651c824d24e230b90033ce59c0\nPUB: af6b7145474dc9954b9af93a9cdb34449d5b7c651c824d24e230b90033ce59c0\nMESSAGE: 8bc4185e50e57d5f87f47515fe2b1837d585f0aae9e1ca383b3ec908884bb900ff27\nSIG: 16dc1e2b9fa909eefdc277ba16ebe207b8da5e91143cde78c5047a89f681c33c4e4e3428d5c928095903a811ec002d52a39ed7f8b3fe1927200c6dd0b9ab3e04\n\nPRIV: 19ac3e272438c72ddf7b881964867cb3b31ff4c793bb7ea154613c1db068cb7ef85b80e050a1b9620db138bfc9e100327e25c257c59217b601f1f6ac9a413d3f\nPUB: f85b80e050a1b9620db138bfc9e100327e25c257c59217b601f1f6ac9a413d3f\nMESSAGE: 95872d5f789f95484e30cbb0e114028953b16f5c6a8d9f65c003a83543beaa46b38645\nSIG: ea855d781cbea4682e350173cb89e8619ccfddb97cdce16f9a2f6f6892f46dbe68e04b12b8d88689a7a31670cdff409af98a93b49a34537b6aa009d2eb8b4701\n\nPRIV: ca267de96c93c238fafb1279812059ab93ac03059657fd994f8fa5a09239c821017370c879090a81c7f272c2fc80e3aac2bc603fcb379afc98691160ab745b26\nPUB: 017370c879090a81c7f272c2fc80e3aac2bc603fcb379afc98691160ab745b26\nMESSAGE: e05f71e4e49a72ec550c44a3b85aca8f20ff26c3ee94a80f1b431c7d154ec9603ee02531\nSIG: ac957f82335aa7141e96b59d63e3ccee95c3a2c47d026540c2af42dc9533d5fd81827d1679ad187aeaf37834915e75b147a9286806c8017516ba43dd051a5e0c\n\nPRIV: 3dff5e899475e7e91dd261322fab09980c52970de1da6e2e201660cc4fce7032f30162bac98447c4042fac05da448034629be2c6a58d30dfd578ba9fb5e3930b\nPUB: f30162bac98447c4042fac05da448034629be2c6a58d30dfd578ba9fb5e3930b\nMESSAGE: 938f0e77621bf3ea52c7c4911c5157c2d8a2a858093ef16aa9b107e69d98037ba139a3c382\nSIG: 5efe7a92ff9623089b3e3b78f352115366e26ba3fb1a416209bc029e9cadccd9f4affa333555a8f3a35a9d0f7c34b292cae77ec96fa3adfcaadee2d9ced8f805\n\nPRIV: 9a6b847864e70cfe8ba6ab22fa0ca308c0cc8bec7141fbcaa3b81f5d1e1cfcfc34ad0fbdb2566507a81c2b1f8aa8f53dccaa64cc87ada91b903e900d07eee930\nPUB: 34ad0fbdb2566507a81c2b1f8aa8f53dccaa64cc87ada91b903e900d07eee930\nMESSAGE: 838367471183c71f7e717724f89d401c3ad9863fd9cc7aa3cf33d3c529860cb581f3093d87da\nSIG: 2ab255169c489c54c732232e37c87349d486b1eba20509dbabe7fed329ef08fd75ba1cd145e67b2ea26cb5cc51cab343eeb085fe1fd7b0ec4c6afcd9b979f905\n\nPRIV: 575be07afca5d063c238cd9b8028772cc49cda34471432a2e166e096e2219efc94e5eb4d5024f49d7ebf79817c8de11497dc2b55622a51ae123ffc749dbb16e0\nPUB: 94e5eb4d5024f49d7ebf79817c8de11497dc2b55622a51ae123ffc749dbb16e0\nMESSAGE: 33e5918b66d33d55fe717ca34383eae78f0af82889caf6696e1ac9d95d1ffb32cba755f9e3503e\nSIG: 58271d44236f3b98c58fd7ae0d2f49ef2b6e3affdb225aa3ba555f0e11cc53c23ad19baf24346590d05d7d5390582082cf94d39cad6530ab93d13efb39279506\n\nPRIV: 15ffb45514d43444d61fcb105e30e135fd268523dda20b82758b1794231104411772c5abc2d23fd2f9d1c3257be7bc3c1cd79cee40844b749b3a7743d2f964b8\nPUB: 1772c5abc2d23fd2f9d1c3257be7bc3c1cd79cee40844b749b3a7743d2f964b8\nMESSAGE: da9c5559d0ea51d255b6bd9d7638b876472f942b330fc0e2b30aea68d77368fce4948272991d257e\nSIG: 6828cd7624e793b8a4ceb96d3c2a975bf773e5ff6645f353614058621e58835289e7f31f42dfe6", "af6d736f2644511e320c0fa698582a79778d18730ed3e8cb08\n\nPRIV: fe0568642943b2e1afbfd1f10fe8df87a4236bea40dce742072cb21886eec1fa299ebd1f13177dbdb66a912bbf712038fdf73b06c3ac020c7b19126755d47f61\nPUB: 299ebd1f13177dbdb66a912bbf712038fdf73b06c3ac020c7b19126755d47f61\nMESSAGE: c59d0862ec1c9746abcc3cf83c9eeba2c7082a036a8cb57ce487e763492796d47e6e063a0c1feccc2d\nSIG: d59e6dfcc6d7e3e2c58dec81e985d245e681acf6594a23c59214f7bed8015d813c7682b60b3583440311e72a8665ba2c96dec23ce826e160127e18132b030404\n\nPRIV: 5ecb16c2df27c8cf58e436a9d3affbd58e9538a92659a0f97c4c4f994635a8cada768b20c437dd3aa5f84bb6a077ffa34ab68501c5352b5cc3fdce7fe6c2398d\nPUB: da768b20c437dd3aa5f84bb6a077ffa34ab68501c5352b5cc3fdce7fe6c2398d\nMESSAGE: 56f1329d9a6be25a6159c72f12688dc8314e85dd9e7e4dc05bbecb7729e023c86f8e0937353f27c7ede9\nSIG: 1c723a20c6772426a670e4d5c4a97c6ebe9147f71bb0a415631e44406e290322e4ca977d348fe7856a8edc235d0fe95f7ed91aefddf28a77e2c7dbfd8f552f0a\n\nPRIV: d599d637b3c30a82a9984e2f758497d144de6f06b9fba04dd40fd949039d7c846791d8ce50a44689fc178727c5c3a1c959fbeed74ef7d8e7bd3c1ab4da31c51f\nPUB: 6791d8ce50a44689fc178727c5c3a1c959fbeed74ef7d8e7bd3c1ab4da31c51f\nMESSAGE: a7c04e8ba75d0a03d8b166ad7a1d77e1b91c7aaf7befdd99311fc3c54a684ddd971d5b3211c3eeaff1e54e\nSIG: ebf10d9ac7c96108140e7def6fe9533d727646ff5b3af273c1df95762a66f32b65a09634d013f54b5dd6011f91bc336ca8b355ce33f8cfbec2535a4c427f8205\n\nPRIV: 30ab8232fa7018f0ce6c39bd8f782fe2e159758bb0f2f4386c7f28cfd2c85898ecfb6a2bd42f31b61250ba5de7e46b4719afdfbc660db71a7bd1df7b0a3abe37\nPUB: ecfb6a2bd42f31b61250ba5de7e46b4719afdfbc660db71a7bd1df7b0a3abe37\nMESSAGE: 63b80b7956acbecf0c35e9ab06b914b0c7014fe1a4bbc0217240c1a33095d707953ed77b15d211adaf9b97dc\nSIG: 9af885344cc7239498f712df80bc01b80638291ed4a1d28baa5545017a72e2f65649ccf9603da6eb5bfab9f5543a6ca4a7af3866153c76bf66bf95def615b00c\n\nPRIV: 0ddcdc872c7b748d40efe96c2881ae189d87f56148ed8af3ebbbc80324e38bdd588ddadcbcedf40df0e9697d8bb277c7bb1498fa1d26ce0a835a760b92ca7c85\nPUB: 588ddadcbcedf40df0e9697d8bb277c7bb1498fa1d26ce0a835a760b92ca7c85\nMESSAGE: 65641cd402add8bf3d1d67dbeb6d41debfbef67e4317c35b0a6d5bbbae0e034de7d670ba1413d056f2d6f1de12\nSIG: c179c09456e235fe24105afa6e8ec04637f8f943817cd098ba95387f9653b2add181a31447d92d1a1ddf1ceb0db62118de9dffb7dcd2424057cbdff5d41d0403\n\nPRIV: 89f0d68299ba0a5a83f248ae0c169f8e3849a9b47bd4549884305c9912b46603aba3e795aab2012acceadd7b3bd9daeeed6ff5258bdcd7c93699c2a3836e3832\nPUB: aba3e795aab2012acceadd7b3bd9daeeed6ff5258bdcd7c93699c2a3836e3832\nMESSAGE: 4f1846dd7ad50e545d4cfbffbb1dc2ff145dc123754d08af4e44ecc0bc8c91411388bc7653e2d893d1eac2107d05\nSIG: 2c691fa8d487ce20d5d2fa41559116e0bbf4397cf5240e152556183541d66cf753582401a4388d390339dbef4d384743caa346f55f8daba68ba7b9131a8a6e0b\n\nPRIV: 0a3c1844e2db070fb24e3c95cb1cc6714ef84e2ccd2b9dd2f1460ebf7ecf13b172e409937e0610eb5c20b326dc6ea1bbbc0406701c5cd67d1fbde09192b07c01\nPUB: 72e409937e0610eb5c20b326dc6ea1bbbc0406701c5cd67d1fbde09192b07c01\nMESSAGE: 4c8274d0ed1f74e2c86c08d955bde55b2d54327e82062a1f71f70d536fdc8722cdead7d22aaead2bfaa1ad00b82957\nSIG: 87f7fdf46095201e877a588fe3e5aaf476bd63138d8a878b89d6ac60631b3458b9d41a3c61a588e1db8d29a5968981b018776c588780922f5aa732ba6379dd05\n\nPRIV: c8d7a8818b98dfdb20839c871cb5c48e9e9470ca3ad35ba2613a5d3199c8ab2390d2efbba4d43e6b2b992ca16083dbcfa2b322383907b0ee75f3e95845d3c47f\nPUB: 90d2efbba4d43e6b2b992ca16083dbcfa2b322383907b0ee75f3e95845d3c47f\nMESSAGE: 783e33c3acbdbb36e819f544a7781d83fc283d3309f5d3d12c8dcd6b0b3d0e89e38cfd3b4d0885661ca547fb9764abff\nSIG: fa2e994421aef1d5856674813d05cbd2cf84ef5eb424af6ecd0dc6fdbdc2fe605fe985883312ecf34f59bfb2f1c9149e5b9cc9ecda05b2731130f3ed28ddae0b\n\nPRIV: b482703612d0c586f76cfcb21cfd2103c957251504a8c0ac4c86c9c6f3e429fffd711dc7dd3b1dfb9df9704be3e6b26f587fe7dd7ba456a91ba43fe51aec09ad\nPUB: fd711dc7dd3b1dfb9df9704be3e6b26f587fe7dd7ba456a91ba43fe51aec09ad\nMESSAGE: 29d77acfd99c7a0070a88feb6247a2bce9984fe3e6fbf19d4045042a21ab26cbd771e184a9a75f316b648c6920db92b87b\nSIG: 58832bdeb26feafc31b46277cf3fb5d7a17dfb7ccd9b1f58ecbe6feb979666828f239ba4d75219260ecac0acf40f0e5e2590f4caa16bbbcd8a155d347967a607\n\nPRIV: 84e50dd9a0f197e3893c38dbd91fafc344c1776d3a400e2f0f0ee7aa829eb8a22c50f870ee48b36b0ac2f8a5f336fb090b113050dbcc25e078200a6e16153eea\nPUB: 2c50f870ee48b36b0ac2f8a5f336fb090b113050dbcc25e078200a6e16153eea\nMESSAGE: f3992cde6493e671f1e129ddca8038b0abdb77bb9035f9f8be54bd5d68c1aeff724ff47d29344391dc536166b8671cbbf123\nSIG: 69e6a4491a63837316e86a5f4ba7cd0d731ecc58f1d0a264c67c89befdd8d3829d8de13b33cc0bf513931715c7809657e2bfb960e5c764c971d733746093e500\n\nPRIV: b322d46577a2a991a4d1698287832a39c487ef776b4bff037a05c7f1812bdeeceb2bcadfd3eec2986baff32b98e7c4dbf03ff95d8ad5ff9aa9506e5472ff845f\nPUB: eb2bcadfd3eec2986baff32b98e7c4dbf03ff95d8ad5ff9aa9506e5472ff845f\nMESSAGE: 19f1bf5dcf1750c611f1c4a2865200504d82298edd72671f62a7b1471ac3d4a30f7de9e5da4108c52a4ce70a3e114a52a3b3c5\nSIG: c7b55137317ca21e33489ff6a9bfab97c855dc6f85684a70a9125a261b56d5e6f149c5774d734f2d8debfc77b721896a8267c23768e9badb910eef83ec258802\n\nPRIV: 960cab5034b9838d098d2dcbf4364bec16d388f6376d73a6273b70f82bbc98c05e3c19f2415acf729f829a4ebd5c40e1a6bc9fbca95703a9376087ed0937e51a\nPUB: 5e3c19f2415acf729f829a4ebd5c40e1a6bc9fbca95703a9376087ed0937e51a\nMESSAGE: f8b21962447b0a8f2e4279de411bea128e0be44b6915e6cda88341a68a0d818357db938eac73e0af6d31206b3948f8c48a447308\nSIG: 27d4c3a1811ef9d4360b3bdd133c2ccc30d02c2f248215776cb07ee4177f9b13fc42dd70a6c2fed8f225c7663c7f182e7ee8eccff20dc7b0e1d5834ec5b1ea01\n\nPRIV: eb77b2638f23eebc82efe45ee9e5a0326637401e663ed029699b21e6443fb48e9ef27608961ac711de71a6e2d4d4663ea3ecd42fb7e4e8627c39622df4af0bbc\nPUB: 9ef27608961ac711de71a6e2d4d4663ea3ecd42fb7e4e8627c39622df4af0bbc\nMESSAGE: 99e3d00934003ebafc3e9fdb687b0f5ff9d5782a4b1f56b9700046c077915602c3134e22fc90ed7e690fddd4433e2034dcb2dc99ab\nSIG: 18dc56d7bd9acd4f4daa78540b4ac8ff7aa9815f45a0bba370731a14eaabe96df8b5f37dbf8eae4cb15a64b244651e59d6a3d6761d9e3c50f2d0cbb09c05ec06\n\nPRIV: b625aa89d3f7308715427b6c39bbac58effd3a0fb7316f7a22b99ee5922f2dc965a99c3e16fea894ec33c6b20d9105e2a04e2764a4769d9bbd4d8bacfeab4a2e\nPUB: 65a99c3e16fea894ec33c6b20d9105e2a04e2764a4769d9bbd4d8bacfeab4a2e\nMESSAGE: e07241dbd3adbe610bbe4d005dd46732a4c25086ecb8ec29cd7bca116e1bf9f53bfbf3e11fa49018d39ff1154a06668ef7df5c678e6a\nSIG: 01bb901d83b8b682d3614af46a807ba2691358feb775325d3423f549ff0aa5757e4e1a74e9c70f9721d8f354b319d4f4a1d91445c870fd0ffb94fed64664730d\n\nPRIV: b1c9f8bd03fe82e78f5c0fb06450f27dacdf716434db268275df3e1dc177af427fc88b1f7b3f11c629be671c21621f5c10672fafc8492da885742059ee6774cf\nPUB: 7fc88b1f7b3f11c629be671c21621f5c10672fafc8492da885742059ee6774cf\nMESSAGE: 331da7a9c1f87b2ac91ee3b86d06c29163c05ed6f8d8a9725b471b7db0d6acec7f0f702487163f5eda020ca5b493f399e1c8d308c3c0c2\nSIG: 4b229951ef262f16978f7914bc672e7226c5f8379d2778c5a2dc0a2650869f7acfbd0bcd30fdb0619bb44fc1ae5939b87cc318133009c20395b6c7eb98107701\n\nPRIV: 6d8cdb2e075f3a2f86137214cb236ceb89a6728bb4a200806bf3557fb78fac6957a04c7a5113cddfe49a4c124691d46c1f9cdc8f343f9dcb72a1330aeca71fda\nPUB: 57a04c7a5113cddfe49a4c124691d46c1f9cdc8f343f9dcb72a1330aeca71fda\nMESSAGE: 7f318dbd121c08bfddfeff4f6aff4e45793251f8abf658403358238984360054f2a862c5bb83ed89025d2014a7a0cee50da3cb0e76bbb6bf\nSIG: a6cbc947f9c87d1455cf1a708528c090f11ecee4855d1dbaadf47454a4de55fa4ce84b36d73a5b5f8f59298ccf21992df492ef34163d87753b7e9d32f2c3660b\n\nPRIV: 47adc6d6bf571ee9570ca0f75b604ac43e303e4ab339ca9b53cacc5be45b2ccba3f527a1c1f17dfeed92277347c9f98ab475de1755b0ab546b8a15d01b9bd0be\nPUB: a3f527a1c1f17dfeed92277347c9f98ab475de1755b0ab546b8a15d01b9bd0be\nMESSAGE: ce497c5ff5a77990b7d8f8699eb1f5d8c0582f70cb7ac5c54d9d924913278bc654d37ea227590e15202217fc98dac4c0f3be2183d133315739\nSIG: 4e8c318343c306adbba60c92b75cb0569b9219d8a86e5d57752ed235fc109a43c2cf4e942cacf297279fbb28675347e08027722a4eb7395e00a17495d32edf0b\n\nPRIV: 3c19b50b0fe47961719c381d0d8da9b9869d312f13e3298b97fb22f0af29cbbe0f7eda091499625e2bae8536ea35cda5483bd16a9c7e416b341d6f2c83343612\nPUB: 0f7eda091499625e2bae8536ea35cda5483bd16a9c7e416b341d6f2c83343612\nMESSAGE: 8ddcd63043f55ec3bfc83dceae69d8f8b32f4cdb6e2aebd94b4314f8fe7287dcb62732c9052e7557fe63534338efb5b6254c5d41d2690cf5144f\nSIG: efbd41f26a5d62685516f882b6ec74e0d5a71830d203c231248f26e99a9c6578ec900d68cdb8fa7216ad0d24f9ecbc9ffa655351666582f626645395a31fa704\n\nPRIV: 34e1e9d539107eb86b393a5ccea1496d35bc7d5e9a8c5159d957", @@ -2417,9 +2497,9 @@ static const char *kData30[] = { "28bb92e9a0edec8951ce2009a88ee1b64d9b9e89f69051203384210a102a44d2d6703173b68507dceadd3bf6510df2a5cefd9c80e4f385b2f9e6215813ed32\nSIG: 9da60cc4a64d07dee1346bd3d3010995ce2738208ab35b34c2a8fd1787ae3a1e207fe784525154fae4f5794cd8503045fea85cf77fd92f6a70cd0c5a52c0810e\n\nPRIV: 1126496a582ce58d3d618dd8a3933547aa7a8a30fb54063b8dfdd31671c6c73de10229c623fa8ad8982c3e4c36ff52df0f219b57915b6e980e5fe72ea0962e22\nPUB: e10229c623fa8ad8982c3e4c36ff52df0f219b57915b6e980e5fe72ea0962e22\nMESSAGE: 6a4b52d730ddab829b2a179590cbd4c372498e9f439977c0a10dc13c0ae1736eaaff063371434fd0da80360ec5890607d2fae1c9a2e1ab0b7f3d667f5b1b9c418f18b10c9e6fd669d3ebec168efef44163e577a2ebd0f2cb768f80c23188e86069e4d10f410306cedd7a341a61e0f4f3bc25041bc2f922ed073e1e2f1b709c579d10630f33071754d707894a1c62190de18882c564dc4c01dc545dd8966404ed78fa3267a9469f63b6120abb65f9b3ba3eee28d79c2eb4e7020cc6987dfc5c29672f8c0fa3e690d584fe000c64f352610179621bfd5ff3eb30d18f1a0250416db93b1c1e93cf8a3646517560d1cc8fff822b51ef27b200e987b592390753453ef138bd3d29db7cb1b5f45e4795b89c53f49704192752237c6ab274849f9594ee9777f6efe70483129d067f97199d9ae36090703864f7ca4750a6f3b6ff83824c910484394d1e2eceba18446fe4e994ce07433a740ddd05f0e396d482894e6f14acf7b97bae6c7eb88703039fa785d60a3af78b13243a4f88dde1d998617f2e3fa7eafc2f435dd4ac1ea9c238407aa09b4eea8ed434927b406674ac270458cfb3bf29c347f94559613179b9502192321b88e9af0a90e9a4ab9eddaae382e3734d1415ebe32499c34e6fdeaf15b0d9787985e08dfe495460c54f6743d81ff16881e5e30c51f4b092373783f12423c3e1ae8591130a269980caa1cb5c\nSIG: b30eb56ca9b120bf849a3a9d56af033de8a590c9e1240c1e36dbc6cf0a71b78a11ec143fb9959a8f25b57711d6a90a67e01be3a4da2b69394869bb8d64b87e0f\n\nPRIV: 9c167aff3b1b788f133d422de8ca9a64316409f9e35bfe22032ec417ae9abc6defb534f0d47c068e77b28a906d95ad8d213a4d4fc1c70542f01e596d57b5f019\nPUB: efb534f0d47c068e77b28a906d95ad8d213a4d4fc1c70542f01e596d57b5f019\nMESSAGE: 68ac0fc2b607ba38e377fae845c808c8f9fa614eb1f31158a9620a937d3e301e85acaa69144bc349a39dfb582041c4a197ae99b4d4d59b7a2ca3d16228b5591cbf57c18a781efd19193c47b16c6023a3a8ba3d668f05a37f1e83b0d7febdd10f63e48ef7a20e015b1c6725d4c300a986c60e3a115469c8e52ba05b51c05d0af40d89fd9ed76f36950aee3c7819898a903cfe0361a91c69100b495141e86ee79d63d17403fb1a1629ef63cb7e9d2720cbfff0002b190bcdc26794124dd38d42bcaa7175405eb0bbcf8e37d65d05a37195b479371fa2bbbb167d91cee88235dd72ea88fc73ce3ce43d33b715f25f192ec215dac124899c5e7586e86340d8cbe53735defbe02e4cc9fde69fb9794d1db72b98c0f19766ee5138bbfa78909aa299b4913c499deaf54b4841d5044829984936700dcf92f36542b2fc7e86441b9925f5d0b78c17a85cfcfcb20b0fd751349c27463abde4d27df74265288713f96dea013b945521808b4996b1b2dc0338b6d236efd6d2b27dafda46ec5fa32b965e8bb5e8bb61bd966edeb774681e0ea8c17b8c99fa7d660f0f66c9bc6d95cbd7dc094724098eb05191b53a3df6566b9c90e0d7dff2943848b61a20d48c22b6d3c958e293d709c8f48110230ff51918562877daf6d920c85a82e07c451fe7ae9759c0a77e97bb298b5d0592a41d08f67a4ed5a1bb41e937b6a68aeb38fd5be9\nSIG: c9ae67fd6415dcbab292fab394ca6c3b7d90ca244dc6a7764e74fd202bf4b2905bd2030e6beb914c3c238db371b1cba6d9261aa392ec871a4b8b12fe9c1c970e\n\nPRIV: e9948805eb341b2867479c668fd3532c309941c0ad4cb2e54231756e6a1bdecb5447a8e34d6a640002d8d60bcf1ddc711e4c465c94c34b50bdef358960ff81f1\nPUB: 5447a8e34d6a640002d8d60bcf1ddc711e4c465c94c34b50bdef358960ff81f1\nMESSAGE: 91cffd7eb1cf6bd4756bce6a30af9dfba26ddd1cce0394c194a3e39cc3d1cbc221b7eb70bea18d29c267457176a3c9e53c18e47d10a67c464505197702e6b2470d38869db5174b158f9992e4435d02246f540258dedd3ce33df582555a681fb76ecaccb1c2989b177e3b7e454aaa529de59bf5a03123d571df2e7f7cb830805c58b74a653bac0e5a888e08dc2236d6cd496aa06d0d67cf3b335e218c49dedad82fc1be9ef20cac61905c30eb132d739b16ca8a8c906619c0e0d8b33985327e36f3d4b8fda387c186cc50443104db761f7ff9301270204a713e58902101fad000ce931647c577fdec148dca95cdc08918ebed037c60332fadf088f036083ebc92e173b7ddcc30c493f27e69cd17a20d30b78f83a72e4f5a747d86d96c5e1bb7a438166204013e2164d6aabc0d562f54015c365c80445607145e5692ee34f6353077fab7452d88ce3eb01d2b3797dc91b341a3a726301516baae18e851f74dfbdf0866bb2376867de55231e362c472c52116544cd4f81e93571c4ec820e7e653f4e21be0a942576c9de91e7d1251683d859de448f822dcf3d2cf55ede2f9c71b6063d1373061f8f5936b698d1384e65459ea2bc26ec96775ef425207432dda0ac1fe28526c5e4559349c3d8df9918230f4044683cc2c1b858d141ab8d0805bb9336067522aa89c810f3eaa7ac2d8dd28c3751225a19ecec8bcca52439946\nSIG: d3dc62d6ce9c766f2abaf9a7fbe09d6bdb07a4747b56080db09beb4a4e804a70d7ddf4119475c7be834f31956f4a71dad029cdf2363dd0365ce22dc27f078003\n\nPRIV: b01753efa73bb3de7aa778be7afcbff66a5d3e2c2f8b5aa2b048844050996965d0cc6cf109c999fbf6d16f471fafd0232b0a68d4c46406ec7545dbaba8194158\nPUB: d0cc6cf109c999fbf6d16f471fafd0232b0a68d4c46406ec7545dbaba8194158\nMESSAGE: 684e612f27eead0d34844cc81ba911c28aaf6d66e71229e8cc3462f7c7a050daa30cb74471150f07dad459b5a91358476c0598255d8a642dd7c0802811bd88e4cac597efe41ebd96cd0f3b5ce72db4be1a3dbd6b84f5446e3da600d3b1d2b460a009bd31cacd98a91518ce33e9a703d404288736ccc43103fc69e67974f31652fa3dadef3337f6c897a3d201303c8f03597b4a87c98f291ccd58a3f1e898332aa5993b47fcb5ddaa1c0868b643742d0e4a4b9cd427038b3b74999bc89ac3484c0ca13f25aae8e78ae1ccee6218accab81a4f694f5324a347629d49b55e4037504a9acc8df58c6841dddcd4fc4347f7b6f1fd9de0564577e6f329ed951a0a6b9124ff63e22eb36d3a8863bc1bf69cea24c605967e7d8948953f27d5c4c75f0849f872a3e3d16d422fa5a11e1b9a74df6f38b90f277d81fce8437a14d99d2bef189d7cac83ddc61377ed348b3c4fc09ec2b9005925d04a71e26d641667bdf549294331c6ea01cd5c0bd1b6a7ecfda20b0f1929582b74697cb262c3927d6b223f4b5f3043aa6eb4571a78e9da11c2b36f64552580caa7b5fa6b90f929e0162e608d1240d7242cd2f47025c03debe059b1dc94770232bc6765148480bb1d9f50da1ee6448cf9c88b19dd459932c06ed811c4a64a12d5938bd1c757bcfaeaee8933fe5fff21763de740482bcf1ba59afdc8fcf873c3d507bb394e32e45f736519\nSIG: 16b7421227ae09130685cbb1a0c60aa57a5e1afe1bbe6bacea0c281bcc8998e6824a772c3208a6b6b4d236695505c9be82700cf93a783985a39e16e377a7410e\n\nPRIV: 4f4b20d899366f2f23ee628f229b236cf80f43ba183177c97ee34829546f1742c94576641f4a893cdfcee7b39fc21929b86b349976d7b0a46d39a588bcfe4357\nPUB: c94576641f4a893cdfcee7b39fc21929b86b349976d7b0a46d39a588bcfe4357\nMESSAGE: db8ef02e3033e6b96a56cab05082fb4695f4a1c916250dd75173f430a10c9468817709d37623346ae8245b42bda0da6b60462ccfdfc75a9ab994e66c9ab9fecdd8599610910affe4f10215cb280bf8f9f2700a444796dae93e06c6bea7d8b4fe1301baa79ccec769368feb2442c7de84f095e6b3bff63d388cbafb2b9809dc38e9b12ebd039c0a57f4d522e91ec8d1f2b8d23a4a0ae059af85393bb0a15f749110f6774a1fd731a6ec213e4ff435daab546d31ed9ec3b6d8cc2edacebf4facc5566556eea92e5b3f2542239b25e28012dd4ef40072eebf83ed2a255181f3a442189d68c6c609f4dfdf3db7d67d087a2fcd6d2dc50bbfed8bfbbfcb74d3c41f02a87865b13b8efcf5c3581257be0aa913f60c370527bde11a475c136a17c5eefeb03f5bff28693ed841e8ed1f7c29102f5599dd444009bcea6a92d5574152458e0caf8a36aa72b5dc4908a6461c9b741453005c8fbcc68113ae184208ee14b835480c6efafed18a76000b38e5858290f4d51f52f096cbe490e1eb5cacb226ec495a55a7fa457843d57fab67f8be7e209334785bdd665d7b63e4daf57b6e78928b603c8c0f9bc85464733b61273ef9e2b8a0cd7c3bf8ee0a6872e34d5a27a625e35eaf7ff5440b8b141af704df70c9c18623bd11209513192505105cd7bcfa5f0d919da706948fbe1f761f315846aa3b4813dd9ba3d81b9204e5409c0382b6eb\nSIG: 0f80ff5d17488fe26f93c543b04ed959b5f0643fc61c7f2c3bc60132ba9c6210c8b250ea5e84d07b01de68bc174414eeeb31fdc2ba6823e231e312a91ededd02\n\n\n# Additional test vectors from RFC 8032\n\nPRIV: f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\nPUB: 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\nMESSAGE: 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc27", "32e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nSIG: 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nPRIV: 833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\nPUB: ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\nMESSAGE: ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nSIG: dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n", }; -static const size_t kLen31 = 41961; +static const size_t kLen32 = 41961; -static const char *kData31[] = { +static const char *kData32[] = { "# This file has been modified to remove the 65536-byte long inputs.\r\n\r\n# CAVS 11.0\r\n# CMACVer information \r\n# Algorithms tested:Alg = TDES KeySize = 3 Mode = Verify \r\n# Generated on Tue Mar 15 08:40:47 2011\r\n\r\n\r\nCount = 0\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 3bb96170d5df4cce\r\nKey2 = 25d5daa22a982f08\r\nKey3 = 52f4a110dcdc9e45\r\nMsg = 00\r\nMac = 96\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 1\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 9413d38685688f58\r\nKey2 = dc38b6b3cef125f1\r\nKey3 = 5b61f4f7a1c46ed6\r\nMsg = 00\r\nMac = fc\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 2\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 101a2f13fbb69473\r\nKey2 = 76fb98f24073f4d5\r\nKey3 = 2ca2706d76d00b67\r\nMsg = 00\r\nMac = 53\r\nResult = P\r\n\r\nCount = 3\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 2f8a238552c1e367\r\nKey2 = f8131f1c26ab3289\r\nKey3 = 83d5b6ba253bea31\r\nMsg = 00\r\nMac = 95\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 4\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = c1bafb5dc7100758\r\nKey2 = e9ef047a58b5ba89\r\nKey3 = 76cb4fb55ebcc1c7\r\nMsg = 00\r\nMac = f4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 5\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = c82c29f1cb5851b6\r\nKey2 = 8b5b45dcbf0d8079\r\nKey3 = e6407057ae34ec0b\r\nMsg = 00\r\nMac = 03\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 6\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 6b455116f4f883d5\r\nKey2 = a81a206d25152aab\r\nKey3 = 86dc07b607202abc\r\nMsg = 00\r\nMac = 75\r\nResult = P\r\n\r\nCount = 7\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = c873d5bc4598d0b0\r\nKey2 = 1c1523cb4f794c8a\r\nKey3 = cedf6797d523dcab\r\nMsg = 00\r\nMac = 2e\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 8\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 45ce943bd31fe9b5\r\nKey2 = 677cc47c13c24923\r\nKey3 = 6b2086f14934838a\r\nMsg = 00\r\nMac = 01\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 9\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 804f9ef7baf7dfc7\r\nKey2 = 9bb6494cb60b8c07\r\nKey3 = 2080fe52e0d3943d\r\nMsg = 00\r\nMac = c3\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 10\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 73c10b833e1043ab\r\nKey2 = 16dcd343645d5207\r\nKey3 = 6426f7f88c3473c8\r\nMsg = 00\r\nMac = 8b\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 11\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 310d54d96bc73452\r\nKey2 = bae34f158ceafb04\r\nKey3 = 4651c1b53de3da26\r\nMsg = 00\r\nMac = ce\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 12\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 0e3d49d0e692f20e\r\nKey2 = a9cd384a3b688c0e\r\nKey3 = 584ae5f794f8fe7f\r\nMsg = 00\r\nMac = 4b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 13\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = b0fda857ea402f0b\r\nKey2 = d567e9f48568f1e0\r\nKey3 = 0ec2ad452a547a91\r\nMsg = 00\r\nMac = 04\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 14\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 1ac1543b1591f270\r\nKey2 = dcda0e9870b9d949\r\nKey3 = 68ea9b1c4380ae9e\r\nMsg = 00\r\nMac = 43\r\nResult = P\r\n\r\nCount = 15\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = d0b008aea4454551\r\nKey2 = 9234a7731ab610b5\r\nKey3 = 2fb97a8ffbaedae6\r\nMsg = 00\r\nMac = 4c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 16\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 04793b0b0e976d0b\r\nKey2 = bf493e58fb73681f\r\nKey3 = 1f54a262d649b985\r\nMsg = 00\r\nMac = 77\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 17\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 043b759b578ae570\r\nKey2 = 5e522f19cb9de092\r\nKey3 = 2af2e90eb6dcc1fd\r\nMsg = 00\r\nMac = 77\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 18\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = e58520088910513d\r\nKey2 = 7c10196e1a310dd5\r\nKey3 = 5b043b2a1ab97f85\r\nMsg = 00\r\nMac = 1c\r\nResult = P\r\n\r\nCount = 19\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = f27fd0f189452c15\r\nKey2 = 04681651014916ab\r\nKey3 = 204046aeeffecd15\r\nMsg = 00\r\nMac = 0b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 20\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 860864a710ab0475\r\nKey2 = b9205751bfd91f7f\r\nKey3 = 3bf72abf13d97640\r\nMsg = 00\r\nMac = e890abe6ea126215\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 21\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = a7a1d57aabf1137c\r\nKey2 = fd0df2e35b8cdf2a\r\nKey3 = b386755bc2ab3d9d\r\nMsg = 00\r\nMac = f475587c2101eff2\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 22\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = c2c28a4c7698804c\r\nKey2 = ab25b53783dc0419\r\nKey3 = ab16341f4cead054\r\nMsg = 00\r\nMac = d335575aa3a4d8af\r\nResult = P\r\n\r\nCount = 23\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 7594a7aed3e986ba\r\nKey2 = 52a280e662d9e9da\r\nKey3 = 7649d3ad6838f2c2\r\nMsg = 00\r\nMac = 0e109f43557f250f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 24\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 0798d9ef158cd698\r\nKey2 = fff4ade09b169762\r\nKey3 = 5b6e6849ec2c238a\r\nMsg = 00\r\nMac = 05af623529b168a9\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 25\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 254991cb4af76dc8\r\nKey2 = 2cf2e915918a025b\r\nKey3 = 2c61bfaee69b2676\r\nMsg = 00\r\nMac = 725ab7a770762894\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 26\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 9f68cbbf3bb5b3da\r\nKey2 = 31adb5a46e2cc8e3\r\nKey3 = f86ed9eaabb625da\r\nMsg = 00\r\nMac = 0422d94f874dda7e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 27\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 1fd51f70a77ac8e9\r\nKey2 = 5dd9986e974c08ec\r\nKey3 = fd61ce34a75279f7\r\nMsg = 00\r\nMac = a163a5d269b3cc3e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 28\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 078c57d6df9ba1d5\r\nKey2 = 08d94ac1b3d3c183\r\nKey3 = e90bf4fe7973c2c7\r\nMsg = 00\r\nMac = 9af3f01e20dc7c1e\r\nResult = P\r\n\r\nCount = 29\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 08df322f040e7c01\r\nKey2 = e92343e69d83eac7\r\nKey3 = fe94c1ec0da22c1a\r\nMsg = 00\r\nMac = 3d88c20a4f828c5b\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 30\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = b2ecf41c8692c2b0\r\nKey2 = 8ff18c1f1f296454\r\nKey3 = 383dcbc4a28c7629\r\nMsg = 00\r\nMac = 17241dc726fa4c56\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 31\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 07d99d58f2ec1fd5\r\nKey2 = ea46c73bf4b60ed0\r\nKey3 = f20ec149c831aecb\r\nMsg = 00\r\nMac = f6a8a0b536fd97d3\r\nResult = P\r\n\r\nCount = 32\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 3dfdc19426fbd56d\r\nKey2 = b03b7985b32af857\r\nKey3 = a807c7b3621ffdda\r\nMsg = 00\r\nMac = 3ef9b263ae1df460\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 33\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = fbc79bab46b97923\r\nKey2 = ece6da4c40f1e6e9\r\nKey3 = eaa76770ef517a40\r\nMsg = 00\r\nMac = b2da3efa7fc64abe\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 34\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 5ba4a1d5a80db5ef\r\nKey2 = 7ce6aeb9261cb00b\r\nKey3 = 8a5df23ea445e0c8\r\nMsg = 00\r\nMac = 51b2e75334d90889\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 35\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = e9c494e001027c86\r\nKey2 = c4649e58ea251904\r\nKey3 = 8025343dec34409e\r\nMsg = 00\r\nMac = 166123f1c59132a3\r\nResult = P\r\n\r\nCount = 36\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 6bce61e646452a46\r\nKey2 = 54ba8a020d0876fb\r\nKey3 = 34ea2f6149bad664\r\nMsg = 00\r\nMac = b0d0f625f06f2a3a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 37\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 2f38f79bc8e0ea4a\r\nKey2 = d09876f22ca43e10\r\nKey3 = 3b8fab02299d328c\r\nMsg = 00\r\nMac = b26d377a504b8985\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 38\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 51febf790815f1d0\r\nKey2 = 9152d5e32f6713fb\r\nKey3 = 4a40c2c8fdb9f2b5\r\nMsg = 00\r\nMac = a27978e62026743b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 39\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 10ba8fd6256ee9a4\r\nKey2 = fa8332a46ead52ab\r\nKey3 = b0e06e1fef04abb5\r\nMsg = 00\r\nMac = e1b0a228c142555c\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 40\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = f2fbab6734769e9b\r\nKey2 = ab45910e5775ab0d\r\nKey3 = 5bd5ea0db015a89e\r\nMsg = 7efeb7d4d14b3f2b3df4b8a276b18b49\r\nMac = 5c\r\nResult = P\r\n\r\nCount = 41\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 5bc776ba64adf4ea\r\nKey2 = 195e04987c62a4f2\r\nKey3 = c1642fdc1a31705d\r\nMsg = d1fb4f35914404af9df3bf5c368c0e69\r\nMac = 4d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 42\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = b67c57f770202c6e\r\nKey2 = e91f4fb361bcae37\r\nKey3 = ada8d3df4fbcf4b9\r\nMsg = 9800db878187c87ea05bf92054b0e3e3\r\nMac = 8b\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 43\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = ce0bc48002fe7602\r\nKey2 = e702abe31c7a2313\r\nKey3 = d61964867f2579da\r\nMsg = 704e4e75be1623b21332c14555bf5edc\r\nMac = b0\r\nResult = F (2 - Key or Key2 changed", ")\r\n\r\nCount = 44\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = ad75e32cc11980f2\r\nKey2 = d0570429680e9486\r\nKey3 = c2379207f862dcfd\r\nMsg = 197de855b3962b1fdad687f9c4f1efd6\r\nMac = 44\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 45\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 9db504803d29f126\r\nKey2 = 07fe58b3da765bad\r\nKey3 = 6dc489516e9bb5f8\r\nMsg = 8f296b265fa575d146799f9e39d52965\r\nMac = 14\r\nResult = P\r\n\r\nCount = 46\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 991f0ed04079293d\r\nKey2 = 57077ff1baecd907\r\nKey3 = dcc7a719c4372967\r\nMsg = d9cfcc67520c5b2ceeb622c694a8e3fe\r\nMac = a3\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 47\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = eca815d6b0371cf1\r\nKey2 = 597980cdb6c892df\r\nKey3 = 3dba0ed3ba16ae1c\r\nMsg = a03636db2fdc84722aeb9d98a6ed70d0\r\nMac = 78\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 48\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = ea80a43d5886dfef\r\nKey2 = 08bf4f76a8893732\r\nKey3 = 4557a13752d6730d\r\nMsg = 0371a63ad722523ef297d8399b124593\r\nMac = be\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 49\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = e9fe73e640808c02\r\nKey2 = 9be6986446012091\r\nKey3 = 707023615462a40e\r\nMsg = 83bcb484dca73d49ac234ece3a5d2ad3\r\nMac = d6\r\nResult = F (1 - Message changed)\r\n\r\nCount = 50\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 1fe9800ecb0dd9f1\r\nKey2 = dbbc6bc72c794c23\r\nKey3 = 899b08469b6bc8b5\r\nMsg = 95f4a41c4c64cd7310fba748aa267a14\r\nMac = 59\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 51\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 34546261a21c1c43\r\nKey2 = 0449eaeca4f29725\r\nKey3 = 4cc4e6525186802f\r\nMsg = d204de1e671d3e43670dd67fee114402\r\nMac = 6e\r\nResult = F (1 - Message changed)\r\n\r\nCount = 52\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 048aa8701fb5fe26\r\nKey2 = d56bd53d83e60bd9\r\nKey3 = 6707d6523ebc32f4\r\nMsg = f4e9f92fd2c9313fb61a889eaa4ff283\r\nMac = d5\r\nResult = P\r\n\r\nCount = 53\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 6ec19b02976e5ba2\r\nKey2 = 13540732d997c2b6\r\nKey3 = 7f4068926183251c\r\nMsg = 963363ab7c82b634974954bd0fe2c307\r\nMac = d7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 54\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = f4ecea5d32e32c6e\r\nKey2 = 385710cd3eb0fe51\r\nKey3 = 5d4c8f7ccdf10154\r\nMsg = a298857dc60ad2f0a8fa878607b50c18\r\nMac = 4c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 55\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = b31ff49dd970f8e9\r\nKey2 = 164aefb00efb5461\r\nKey3 = 981629757f4532dc\r\nMsg = fc3957b2ed0558bce61d478be615b774\r\nMac = 90\r\nResult = P\r\n\r\nCount = 56\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 85384543d3aef157\r\nKey2 = 57ea916d9b2fd0c8\r\nKey3 = 1a85830473fbe6c4\r\nMsg = 87db0d9d69bc0cf69cabeb92570e482b\r\nMac = 53\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 57\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 9bf8fb0b464070f8\r\nKey2 = 10ea23c7e5a19bcb\r\nKey3 = 408c236e10863e2a\r\nMsg = f9c98cd8a7d27553da946427b8276349\r\nMac = 53\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 58\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 91b083e9c8e9803b\r\nKey2 = 76d0341cd54c38e5\r\nKey3 = 07bca7f44a3e76bc\r\nMsg = 7e5b64dc6bcbae6bb4496fc033947343\r\nMac = de\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 59\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = e6795b1ffe8f3e38\r\nKey2 = 4fdcea8c73c76e75\r\nKey3 = df0726ae4c079461\r\nMsg = 5265fb6a796d99a6beec6f71ba267b5d\r\nMac = e0\r\nResult = F (1 - Message changed)\r\n\r\nCount = 60\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 375710c76202bff1\r\nKey2 = 3bb96170d5df4cce\r\nKey3 = 23d5daa22a982f08\r\nMsg = 52f5a110dddc9f44f8a534eef9df0b22\r\nMac = b1b9e11939228900\r\nResult = P\r\n\r\nCount = 61\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = b59b855dce76adf4\r\nKey2 = be9bae10fe34fb1c\r\nKey3 = 0d49159bf804a4ea\r\nMsg = 869f3b62ee78bfeb5287168eacf69ccb\r\nMac = 169a389352793c8b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 62\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 615d792a7038fd89\r\nKey2 = 98ce972f016e75a8\r\nKey3 = c470255783b32f01\r\nMsg = e5aed6715aa4291f9c32baf6b8449b53\r\nMac = 73ac2da999bfdf5d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 63\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 1fb09443a1074564\r\nKey2 = 3d1aa82c086eba13\r\nKey3 = c137d0f4ea54d604\r\nMsg = 16f02efd285381d7657ca5cd99d9e25b\r\nMac = 38126d16957893ce\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 64\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 2e5d163461fea761\r\nKey2 = 9173bf75372fb640\r\nKey3 = 9e3d1c3dcdbfbc31\r\nMsg = b10fcb03443302ae929ff95a17b025fa\r\nMac = b70f2d761ca643c9\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 65\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = b9e5861c1c4013d3\r\nKey2 = d554806efd3801a1\r\nKey3 = 64d9bc3d646e76dc\r\nMsg = 0e6c9fced82669cffe7b5a6f09dceec8\r\nMac = 78ce4635e486635a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 66\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = ad2376516b974c70\r\nKey2 = cd3b5870c2312929\r\nKey3 = 1a731a7feacbf783\r\nMsg = 88eb7a0379da9d113343dc1fe0f3e6f7\r\nMac = 0c949483e7fa7d0c\r\nResult = F (1 - Message changed)\r\n\r\nCount = 67\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 9ada194c100eeacb\r\nKey2 = da23ad9825c194d0\r\nKey3 = 3ef1f4c438dce031\r\nMsg = 0f9703a3454c25c0b1053de62b0ffc5b\r\nMac = c78a4ca3662527e5\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 68\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = e375f870f4d55b02\r\nKey2 = 1b015791e3e337b3\r\nKey3 = 370dc45b15671c5b\r\nMsg = 5ad9dd3b112ea4cee1654d2dfabab01e\r\nMac = 22becbbe7bfcade5\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 69\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = d61f4aeff4b5f2f8\r\nKey2 = 0486b53de3ecc297\r\nKey3 = 807fe92fc2fed376\r\nMsg = d094cf77a709c0fa5d6b4b7e9e86a2c2\r\nMac = 947d024d9d5359a8\r\nResult = P\r\n\r\nCount = 70\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = c2c28a4c7698804c\r\nKey2 = ab25b53783dc0419\r\nKey3 = ab16341f4cead054\r\nMsg = 7295a7aed3e987baef19ad68c33ba5a5\r\nMac = 58de82acc10d556f\r\nResult = P\r\n\r\nCount = 71\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = f1ce4992c851e3a8\r\nKey2 = 835ec1abef97f2c8\r\nKey3 = 5b92384f20dcc2ad\r\nMsg = 9094935fcd7c389dd17b5b121cddadf9\r\nMac = 319c70370c172de3\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 72\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = c16ebcc1165d6892\r\nKey2 = 75268c4602f8c8bf\r\nKey3 = dab97f79544cf1cd\r\nMsg = b7ba1c66282cb6092ba601407ff9578a\r\nMac = d73c26311bd44a32\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 73\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = fe4a796720a46dbc\r\nKey2 = 98f45289e9f8b080\r\nKey3 = e05def5b25520d43\r\nMsg = 31c9eed491bb0cda9b8c0eb5afa31019\r\nMac = 8c2ce22633c62751\r\nResult = F (1 - Message changed)\r\n\r\nCount = 74\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = eefb40c715c4546d\r\nKey2 = 5b2325c8d9daa48a\r\nKey3 = d5ec4a6bc82a7a62\r\nMsg = 5a97259dfa081f040d3893da2f231ca3\r\nMac = a64113544f509be8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 75\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 0d0851311ca45db0\r\nKey2 = 3d7c458957c8c408\r\nKey3 = 98d37c9d51ab2f25\r\nMsg = 8be16380af3e2dbc6cf678c2e3331335\r\nMac = 8817baeaa909e33a\r\nResult = P\r\n\r\nCount = 76\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = b7239438d61cd626\r\nKey2 = 082c6404cb3897b5\r\nKey3 = c4c732cdd5e043c2\r\nMsg = 7120f19169e7cbb913c7d1f0ceb006c0\r\nMac = 32841ad7621cc0fc\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 77\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 73f449ef83df75e9\r\nKey2 = 5f3d2016bfd0703b\r\nKey3 = 31abc16b58b64af4\r\nMsg = 83ecbfcff3bc37f1305d83bc0290350c\r\nMac = 8f8ba8bfc74203fa\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 78\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 9b6ea461c7b9abe6\r\nKey2 = 4a08dcdc5b9e01fe\r\nKey3 = 6b850e9b6ebae9d6\r\nMsg = c538416fba487fac5c94449d0757f3e9\r\nMac = c13f372e9a061db8\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 79\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = c7aeeacb156dfbfb\r\nKey2 = ba43ef516232a7d3\r\nKey3 = 2c572aea62808c68\r\nMsg = a1bc9950759d0df4cffaf29345dfb340\r\nMac = d7dad4519b56a1eb\r\nResult = F (1 - Message changed)\r\n\r\nCount = 80\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = cda4d34370234946\r\nKey2 = c408ea6bec07c78c\r\nKey3 = 19eff7f798fd6808\r\nMsg = d1fb0b68176269cf9fda18bf13efc054f0c24fd042b9e2ecaf75e86cb60484f6\r\nMac = d8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 81\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 02100be5627686a8\r\nKey2 = 7f0b38ec073e75ef\r\nKey3 = 373b1a64ba5416d9\r\nMsg = c60be37fb0bda4f46894690b3344643c772fbd2237db348adaa407ca2eae1654\r\nMac = fb\r\nResult = F (1 - Message changed)\r\n\r\nCount = 82\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 7597571a6e7c6bc8\r\nKey2 = c143a2a461626b1a\r\nKey3 = 6b1307d910434cc7\r\nMsg = 49cb128641f7952dfdf34f338da268b2ef1482557b593e", "c57f930164264ff83e\r\nMac = 90\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 83\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = ae89ad615201546b\r\nKey2 = ae20765745458fce\r\nKey3 = efd0867fba43dcb0\r\nMsg = e47d8659c9ad94971adedd6bce744206e1cfb65d042b942d93c4363cc73ec3e3\r\nMac = 95\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 84\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = b65886f13d6e8c4a\r\nKey2 = 0708e0b0730473a8\r\nKey3 = d04f2a86dc0b9e7a\r\nMsg = b97c12251d91512fe7b3a349a982409c7412f39494d970e77acbe9d3fac3dca7\r\nMac = 05\r\nResult = P\r\n\r\nCount = 85\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 3197a4a26261588a\r\nKey2 = 0dc4a75ec8b99b58\r\nKey3 = efb93e7620205289\r\nMsg = 65f4b3a00c1c1ef39445a69b2150b034705410140ff9dad0ce21740271cef04a\r\nMac = 57\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 86\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 62c4a16e946b4313\r\nKey2 = d09ea80e7fb33449\r\nKey3 = 164fdc04c2d5f116\r\nMsg = 898e824fdc89f21779156a9e58564c4b99004b95226c2ebb8aebd0b5365a6c6a\r\nMac = 93\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 87\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 6eeff20d3d5d5223\r\nKey2 = 258076b313611c1c\r\nKey3 = b013b957f70d9e62\r\nMsg = 2d7fec1a1e9ee85cf960e5dc4e239619ed85f4b14d32cbd42dfa79f77a27f2cd\r\nMac = 0a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 88\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 193e23e6fd8aa185\r\nKey2 = 1910cbdc549da804\r\nKey3 = 6b769b4923523425\r\nMsg = bd65798a1d02ab164e2d31b1387e505874779539046820bd429043c617854c36\r\nMac = d3\r\nResult = P\r\n\r\nCount = 89\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 150789ab37ef2ce9\r\nKey2 = 10cdf45dad9ed9e5\r\nKey3 = f475fd3e153898fe\r\nMsg = 044dd73a7d1ef37a437c09e9268708c82ebad189dc1e989ab3bd8d7ff75abc23\r\nMac = e4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 90\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 48d9d08a6bdcc4f8\r\nKey2 = 1383641c08735d0e\r\nKey3 = 374a89c8cb73a7f4\r\nMsg = d62fb84f2a2442b52acf817d7f067edca031970bea092c35f29f9a931aa06dd6\r\nMac = 26\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 91\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 68f4620da8b00201\r\nKey2 = df1c8362345180d3\r\nKey3 = 26abda897f89d90d\r\nMsg = 0ac3f7f22d24b64aa584845d3a990bb69e5d2d4650640056c16c17c0b636045f\r\nMac = f9\r\nResult = P\r\n\r\nCount = 92\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 1c259df7492361b6\r\nKey2 = cd4acdb65b3e5b1c\r\nKey3 = 3b01addc2579ef64\r\nMsg = 607f4730a5ea9dabfbcd8586f680c3021c7ebc858e73354beb975d58713b0eb1\r\nMac = fa\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 93\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = f18a9dba9db5dff1\r\nKey2 = d5987013a4b69e38\r\nKey3 = dc16e0ce1351e3f4\r\nMsg = bfe99e184a7d7bf0b4ade8f402f2c49aa4948e74b2d5c905756ba5d32934dbbd\r\nMac = e4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 94\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 8361bac48afb1091\r\nKey2 = da85400d107fbf8f\r\nKey3 = 31ec732cc29d7045\r\nMsg = 3a1ee70d4607325c13bff68e402e0a72742f6a63ae972c6dda74b6b2a3922f0c\r\nMac = 0e\r\nResult = F (1 - Message changed)\r\n\r\nCount = 95\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = d0df1adf1cf72032\r\nKey2 = 1504d564ec1aea61\r\nKey3 = c42fada45d80a43e\r\nMsg = 3a53d9c7ae59e7811699fb0973e43256ed92162267c7ca4b57f5887ad5a24e02\r\nMac = 8a\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 96\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 973bfe5b3be573da\r\nKey2 = 94b3ec7f343e46ab\r\nKey3 = dcaeabc8df405db6\r\nMsg = c8437dba76591a9031b3aa3b59fec0562d4eac439ca8efca57c3f2022b0ff775\r\nMac = 53\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 97\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = bc89867c43a74640\r\nKey2 = df347fb319464c80\r\nKey3 = fd92108a266bcdcd\r\nMsg = 1c9898ede16139560519e808ee9ddaf710a5bab30f54ed98230d1a44c189ea4f\r\nMac = f6\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 98\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = fde925e301897f67\r\nKey2 = 54b3ab80f815df15\r\nKey3 = dc58928aa286c8e5\r\nMsg = b34f898d98a3aa0fa022b1b1d76953a5b3ecc88d60f2c79b59e1b1f636bc0d60\r\nMac = 0f\r\nResult = F (1 - Message changed)\r\n\r\nCount = 99\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 8a704ffe43e951f8\r\nKey2 = 2346dc8501202a40\r\nKey3 = d67afed616230113\r\nMsg = b2b4cb5e90ebf4bd265093b7f5efd4d62dc60e29737aa496e14929724e40c74f\r\nMac = df\r\nResult = P\r\n\r\nCount = 100\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 8c1f29f440f7f8b5\r\nKey2 = 5b45fe8f1f688661\r\nKey3 = ba40f43d9e7cc86b\r\nMsg = 220817144a15a0a654fc1beaabce60270aa72df83591754ee7a5fbb40b7420d7\r\nMac = 80ac51c2ef7bd5d7\r\nResult = P\r\n\r\nCount = 101\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d66e76d97f94ea16\r\nKey2 = f15e3ed06dd94598\r\nKey3 = ae073d1a6e5bc819\r\nMsg = 233d547ab33790859ab0dbc7a93f3bbebb610bed9acbfbce1fff580e9a1e8ef9\r\nMac = 4cb8ce681e4bc7c8\r\nResult = F (1 - Message changed)\r\n\r\nCount = 102\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 0437836df770e943\r\nKey2 = c96e2c43bffd5298\r\nKey3 = 8552fbc16215e0c4\r\nMsg = 4f87d730bdfc7a7c72525c6b26ee9cae9a219b30d9575fedbd913a07b615a616\r\nMac = ea79cbc28f4264db\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 103\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d849ba8570b6ef9d\r\nKey2 = f1405732aeb61f92\r\nKey3 = 73c8e51ff167f857\r\nMsg = fd03202d0bd109b6e4299c7390c1407cd21ffb110013e6381185dea8f8707de6\r\nMac = 71070b17d05dabef\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 104\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 914cef7ab6d998dc\r\nKey2 = a767abc18cf485e9\r\nKey3 = a2624ff20b2a408a\r\nMsg = bc5ce4c0bf3ad1a93e5306c9d7dbb620dde8708efe84e78c2200f41a958cdef8\r\nMac = 3cf4aaf3d337c9c8\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 105\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 757f52e626eabce0\r\nKey2 = 700d91f14554bcb0\r\nKey3 = 548640d0dfaec2ab\r\nMsg = 22a4cf581584346095783be0982744c6201ff040760f868ab63895058d1edb88\r\nMac = b008b1150535ef11\r\nResult = F (1 - Message changed)\r\n\r\nCount = 106\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d65d0e58d3133b34\r\nKey2 = 289e58704994a249\r\nKey3 = e3df20ae3d585e2f\r\nMsg = 94c8414cbbec52e2d73bb8f02ef687c91432495c0c744666317d02e6d46706d2\r\nMac = b1292e1c7074dcfc\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 107\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d77a4989f4a17f2a\r\nKey2 = 409d91d51fa4d045\r\nKey3 = 6bb652ea1526fd4f\r\nMsg = 7a08ce579ae7af8004421cff72715e0b137da81f47d8f84da34c3ed53c32c0f6\r\nMac = 8b3cb70477ca7ca8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 108\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = e670c17519d9c2f2\r\nKey2 = dcc8a132629b462f\r\nKey3 = 58c1d52543ad570d\r\nMsg = a6dbad96ad23ff61479df39b99f0673a09f2a7eaebbd34b95d05c4146fa989f2\r\nMac = c470ec40599a0a11\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 109\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 290d292a15b6268a\r\nKey2 = 2638d9ad83ad1f34\r\nKey3 = a7d9ba62735dc2d3\r\nMsg = ef995cbfc49b0ebccdbd37d9f40a431c385d33d4b8234d7f0d6211eaddfb709a\r\nMac = 67ae62fb8142bd8b\r\nResult = P\r\n\r\nCount = 110\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 4faba73bcd5b5dfe\r\nKey2 = 1c97ea85207a97a7\r\nKey3 = 19eff116100dc82f\r\nMsg = c48e53c6956432460584c7ee1577c1c38b7fae2ff288199be25bf64081154139\r\nMac = d68a4558e95a67e4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 111\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d37c3dbc2f68baba\r\nKey2 = 918cb5e39237e016\r\nKey3 = f286b0739d38c4fb\r\nMsg = 2533361761ac80578fa262a50462045e3ec6e4d5d25c6e99a5c4ccf75f5affc0\r\nMac = c20f36e67732f864\r\nResult = P\r\n\r\nCount = 112\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = a0baa71c38d6d064\r\nKey2 = 8f58ba45cb494ab9\r\nKey3 = 853decc431f7b3cd\r\nMsg = 20e394c7cc90bdfa6186fc1ba6fff158dfc690e24ba4c9fbf11b68519d573a8a\r\nMac = 4ba956b98a99d7bf\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 113\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = b69752407c68b6bf\r\nKey2 = 8fceb05201ec4320\r\nKey3 = 2a755e372373ef26\r\nMsg = e884d65c87411584a56956d5b27ca9725b473c205b64cff09400671f5ee0473a\r\nMac = 9f3de5e8cddc374d\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 114\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 8c04e0f27f83b0ec\r\nKey2 = 042cfb6883348fe6\r\nKey3 = 404f5dfe587ab591\r\nMsg = 8a34cd562b111fe04fa0bf5e004faedaef99d0bab9344d966c8b3847486e6f40\r\nMac = 6c530215fb25015b\r\nResult = F (1 - Message changed)\r\n\r\nCount = 115\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 429401ea49cd97b0\r\nKey2 = a8f1b6b63101cee0\r\nKey3 = 20bcd08c5d16e049\r\nMsg = 591d88123fc9a786b247e8d5ce155f136d6fe4084117c41f2056b67f9e3e1077\r\nMac = 6c414640b424cf56\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 116\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = c470255783b32f01\r\nKey2 = e3aed6705ba4291f\r\nKey3 = 7319100e54f432d3\r\nMsg = 01acc3282fe41b62f95f5dbfb7e7bfef694c5fe34ca87d31abe7e7bbf887b48c\r", @@ -2427,9 +2507,9 @@ static const char *kData31[] = { "6a1eddd80737a724c\r\nMac = 0ff14761c982f890\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 158\r\nKlen = 3 \r\nMlen = 10\r\nTlen = 8\r\nKey1 = bc327a0bcb2575df\r\nKey2 = 6b9483e6e0755d2a\r\nKey3 = 622cdc5b2916ab89\r\nMsg = e1be89af98ffd7d9257a\r\nMac = d6f4c8d96b3e2180\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 159\r\nKlen = 3 \r\nMlen = 10\r\nTlen = 8\r\nKey1 = 9e517cd616a48ada\r\nKey2 = 6d266192d5387a97\r\nKey3 = 8a081fda97c86b94\r\nMsg = 9e9fb0b2b77be6eeaae8\r\nMac = ba0b73fbffc0ab0b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 160\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = e0b9a826a85efe94\r\nKey2 = 4f615bce7cc1ba68\r\nKey3 = 3bb56d3d9816103e\r\nMsg = cfe9ee956cb1f5a60aa6ec79a3e454224b456879\r\nMac = 64\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 161\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 1e08a794a175b69e\r\nKey2 = f7d3ab46aeb9073e\r\nKey3 = 3e7cf8cea19d0891\r\nMsg = eb4f5b04517ee93e2c900e01948ac81ca56b2b26\r\nMac = 79\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 162\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 8f26700dc140570b\r\nKey2 = 8325e3a889c823ad\r\nKey3 = 6b048aa73decf83b\r\nMsg = cefb55151933a488e2b3d421dea9720727188106\r\nMac = 85\r\nResult = P\r\n\r\nCount = 163\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 3443f4016dadcd86\r\nKey2 = 255dec80323e5838\r\nKey3 = fd583285e6efbc51\r\nMsg = e64eeb89828b4297601a5b3fcde60075fc2424ae\r\nMac = c0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 164\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 91a401cbb6460b16\r\nKey2 = 85438675f15b6e73\r\nKey3 = b09140318a767038\r\nMsg = 8c65cde13149d9d54a5bccc17747f1d5f3e807e3\r\nMac = 56\r\nResult = F (1 - Message changed)\r\n\r\nCount = 165\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = b78a16fb9b075d3b\r\nKey2 = dcabbf7a07150261\r\nKey3 = f7644a01d5dcea46\r\nMsg = abe2fd996bb6804ed3286c057df9cea6836a2dad\r\nMac = 09\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 166\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = ce8a467534cd679e\r\nKey2 = cb9ee6fb70a42f4f\r\nKey3 = 16c1e5c1459e4ac8\r\nMsg = 3c56ccfbe92023109983e740d6a53488b813ee87\r\nMac = c8\r\nResult = F (1 - Message changed)\r\n\r\nCount = 167\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 401f0de0efd6dfa8\r\nKey2 = 16ae7c3bbc6e5b86\r\nKey3 = 4ffebf790815f1d0\r\nMsg = 9052d5e22e6712fab88e8dfaa928b6e015ca589c\r\nMac = 61\r\nResult = P\r\n\r\nCount = 168\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = d357bf5bef2cfba7\r\nKey2 = b757d3abf49b4ac2\r\nKey3 = 16388051da8a04a7\r\nMsg = b04e8f6d20924be8e4e2c6767f87b74377bdf90c\r\nMac = 72\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 169\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = f8ea68aba1bcd9e6\r\nKey2 = 4abaa4260d864573\r\nKey3 = a49840ab737af7b0\r\nMsg = 1fc99e586f87932445930a300eb28191d9c6215b\r\nMac = 19\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 170\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 94ec086d8c0110cd\r\nKey2 = 4ea11f327f70c245\r\nKey3 = c8d07adf7c7c5eb9\r\nMsg = 812dbc453a1fda59f73aceea3bc84d2c7a437dfc\r\nMac = b2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 171\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 9d575d582a9723c1\r\nKey2 = 294af47a54b051fe\r\nKey3 = 5131bff85bf12608\r\nMsg = 266e5305b96f497a956ae82b20367ebac0b14215\r\nMac = a9\r\nResult = F (1 - Message changed)\r\n\r\nCount = 172\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 913d800ecd0dc762\r\nKey2 = 7f6ec476b6b07c15\r\nKey3 = 973262ab7c83b634\r\nMsg = 4670a266bebcdf95c62d36cda33d50e6650fcdcd\r\nMac = 4f\r\nResult = P\r\n\r\nCount = 173\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = b97ffe79d068ece5\r\nKey2 = 4a75fe2f67dae392\r\nKey3 = 45a4d9f17a9d70f8\r\nMsg = b53017500c100dea0511845597214484fc5f7f34\r\nMac = 6d\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 174\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 7e1af10bcd86c283\r\nKey2 = 51cd37540e19021a\r\nKey3 = 988fd3c7250e2a6d\r\nMsg = da1919d4a2a7fcc34c88fb2065e52bf9dbc50731\r\nMac = 22\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 175\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 8c0dc16eb9c80775\r\nKey2 = 6eeff20d3d5d5223\r\nKey3 = 258076b313611c1c\r\nMsg = b212b857f70c9f63d0c9d2ccd253c28d1534631f\r\nMac = 2e\r\nResult = F (1 - Message changed)\r\n\r\nCount = 176\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 92c29eb0bf3e73a4\r\nKey2 = c6ecfbe6cd49bf4f\r\nKey3 = ef19d9d06d7a5e7f\r\nMsg = 969304e651ca62039088f8123085ac3263796b67\r\nMac = 57\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 177\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = a4432f52975e4316\r\nKey2 = 7f2086da04fddf4f\r\nKey3 = 8302139e79684329\r\nMsg = 5c9bcd197ea59e1b58b3da707b253491cc5a5ef8\r\nMac = ea\r\nResult = P\r\n\r\nCount = 178\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 5ae0b6d6c2855b7a\r\nKey2 = ec675d3e73bfd685\r\nKey3 = d3406b868fd3ae0e\r\nMsg = 89b9ecfef6f10e81f7956dbc7ca4a335047535a8\r\nMac = 70\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 179\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 8f7f85649d5e08a4\r\nKey2 = ceda75687308e07a\r\nKey3 = 9215c4c19bdc0d46\r\nMsg = e53101e6eabcda32c13d7b1dd1d88e7c2ca3ddc2\r\nMac = 14\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 180\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 7061b5f46b98d394\r\nKey2 = 58c2ce3807623475\r\nKey3 = 0df8e3c432da8a37\r\nMsg = 1086953d352e94a51a6d4c59a2295e8fff5b311e\r\nMac = 554d4df88228eba3\r\nResult = P\r\n\r\nCount = 181\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 347a25a1ec433b52\r\nKey2 = ec75d97046152c10\r\nKey3 = 86b937b6ad1ccbf8\r\nMsg = 4fe6bd43c28143ea5d40919cb5330a7e674f5bd8\r\nMac = 3d0d841895fb7c65\r\nResult = F (1 - Message changed)\r\n\r\nCount = 182\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = b3701aa7da61512c\r\nKey2 = 46dacba40740e3c1\r\nKey3 = 8f79a4dcadbc315e\r\nMsg = 4612fb4586d7518d0d648894347ae7d49d043f29\r\nMac = e5dd4392afbeabe7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 183\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = b5b57acb2c7fd6cb\r\nKey2 = 70b02c9d8651c889\r\nKey3 = 07f485f7b00e45d9\r\nMsg = 9011231ec382ecaaae57f34de1ac6bbb50741014\r\nMac = d34581ad5a3e9e57\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 184\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 88985bdfd9852604\r\nKey2 = f7f829aec8a208b3\r\nKey3 = d5ba012ce6754554\r\nMsg = 6cad7f3b9f196839bbc5a7f755c09aa8e17c83d9\r\nMac = fc7c93552aa14ca2\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 185\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = cd0815194319d552\r\nKey2 = 346bb634027668d9\r\nKey3 = c17f2a26257afbad\r\nMsg = e31b3d97ba6ee6f2e18f084215ca0a5ca0d816d7\r\nMac = af5772396bb63d20\r\nResult = F (1 - Message changed)\r\n\r\nCount = 186\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 236e5201dfc1081a\r\nKey2 = c81526bc85c7a2ce\r\nKey3 = ab91d0aee0d68931\r\nMsg = 1f36b9cbf3d4d4dfcc4ba7fafa7c229f0a9253f4\r\nMac = 27586cf856a41e82\r\nResult = P\r\n\r\nCount = 187\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 2e01198faeb6986e\r\nKey2 = 7cb564801f15bc5d\r\nKey3 = f2d3ef0d4fec61c1\r\nMsg = 27c8c90c9e46e14b8cbb0b7559bb166d65f58aeb\r\nMac = eaa7b4a171e449ef\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 188\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = df575b851331b016\r\nKey2 = 33ec7326e9ef31e5\r\nKey3 = 1686c1ec8a3ea16d\r\nMsg = 1e4e01d38ff65d05646d544b52a6df49b897eacc\r\nMac = 45789bd32147c0ae\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 189\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 43b68c1f29ef5b94\r\nKey2 = a7dfa1cbe9ea3df1\r\nKey3 = 83d3c286e973ada1\r\nMsg = 0ca9b0f6465db0e101f8c14b2e73859d9c355b0a\r\nMac = da439a51157ff0d5\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 190\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = bf91d679268c85ce\r\nKey2 = 46b9f7bf4aa1a2c2\r\nKey3 = f7fd15fda2cd6408\r\nMsg = 0c2933e39d7e601ee6f2519eaf01294853664262\r\nMac = 455cd46d3b452a55\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 191\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 0dad9d451f890b38\r\nKey2 = 3416e3c240a16ee6\r\nKey3 = 5b80d6aefd4ab5a4\r\nMsg = b6e1de9abef7525c5dabbdc85746958781d50139\r\nMac = 3445a869cca839fb\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 192\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 96858f8f2ab56df2\r\nKey2 = 5edc3b04b94ca7cd\r\nKey3 = bf10614ce0491645\r\nMsg = ec9aa18b3e7da99dcbd7de7617a79130abe3348a\r\nMac = c744a1392fc656c2\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 193\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 46ad6ebad9644a67\r\nKey2 = da684aa48f23d619\r\nKey3 = 43a2316b40a46e25\r\nMsg = cf97c2abe3d0fc89e05538b50147a3f405391219\r\nMac = 7ac08967edc5730b\r\nResult = P\r\n\r\nCount = 194\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 68647694efb32023\r\nKey2 = 0d2938c8fe1a4057\r\nKey3 = f479f16e7552942f\r\nMsg = 33a9c750bb532d2d37ec86fa851aeb3cad1eaad8\r\nMac = 3873ae02210eb5fc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 195\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 58d62fd92af7437f\r\nKey2 = 89dfb51fc807cd6d\r\nKey3 = 024fd04f40d5d0e3\r", "\nMsg = cc293c9e1780b401d2e7fceef6f69edcf0f70b86\r\nMac = 6574bfceaf04b4e1\r\nResult = F (1 - Message changed)\r\n\r\nCount = 196\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 4b377f98df0b7598\r\nKey2 = bf73f4c2cb074001\r\nKey3 = dc9857f47fe6101f\r\nMsg = 9ba5dbe7a8ecfbedadd7889cd7f1ae073e01ee3b\r\nMac = aaaeb7223578bbad\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 197\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 91c8851934cdecc2\r\nKey2 = 582562aef1205e32\r\nKey3 = a12a70eacbad310e\r\nMsg = aa390a0ae33751b0bd8de5723df91d999aa70358\r\nMac = 67f76912ed61eaab\r\nResult = P\r\n\r\nCount = 198\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = dcc2bacbea0dcd10\r\nKey2 = c18ca45ed57f8f97\r\nKey3 = 5d58157a677f1951\r\nMsg = a7573e5b7dd7f4ce9e4480f603c14145a27f7c7a\r\nMac = 2b6af968464ac63f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 199\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = fe6d49702f044f40\r\nKey2 = 33321613da401004\r\nKey3 = 8c3438f74cc2680d\r\nMsg = b15a118b3132c20c31e6c9d09acdee0e15fcc59d\r\nMac = 9f28413a00da00ab\r\nResult = F (2 - Key or Key2 changed)\r\n", }; -static const size_t kLen32 = 53587; +static const size_t kLen33 = 53587; -static const char *kData32[] = { +static const char *kData33[] = { "# CAVS 11.0\r\n# CMACVer information \r\n# Algorithms tested:Alg = AES KeySize = 128 Mode = Verify \r\n# Generated on Tue Mar 15 08:40:37 2011\r\n\r\n\r\nCount = 0\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 27b5686c79b3d242f96d3892c6135b26\r\nMsg = 00\r\nMac = c98d11822b9b4d7a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 1\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = b4542a22baa348ee2d11ef62d44cebab\r\nMsg = 00\r\nMac = f7a2a3f519fc462f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 2\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 7256e344f68b3e7f9dd6e04c5c65135c\r\nMsg = 00\r\nMac = d4d7fcc5f979230f\r\nResult = P\r\n\r\nCount = 3\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 7a2116595c5cf6482199d3312498006d\r\nMsg = 00\r\nMac = c3c4fa28709060b0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 4\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 0341551d6c7e7c57f678068f0b41d1fe\r\nMsg = 00\r\nMac = 821030d4b7889fcf\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 5\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = b67ba2aa4e9ea9871c3def87e2dd77f4\r\nMsg = 00\r\nMac = ea896182698ac145\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 6\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 0091d39f3478d2c59bf874b96db9ce0f\r\nMsg = 00\r\nMac = fb12c5971b0f2f18\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 7\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 46a2e6bd3fd5336abf02eace3cd1e1f6\r\nMsg = 00\r\nMac = 9c6b46ef046ae1d1\r\nResult = P\r\n\r\nCount = 8\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 4b0fbd5e6f9298e5ced5ebdc60fc18a7\r\nMsg = 00\r\nMac = 221857badcbcd2be\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 9\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = fb20547da671acd4c6df37f6568a6428\r\nMsg = 00\r\nMac = ba0c9bfd3d9c0c95\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 10\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = b787def50aaf446bf15c562434844562\r\nMsg = 00\r\nMac = ba60bdae64068330\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 11\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 67d77f50727c7cd5b38e0b175a888c88\r\nMsg = 00\r\nMac = 555923e6b5fbc504\r\nResult = P\r\n\r\nCount = 12\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 6f552ef7d309bb98597b91cecc21e158\r\nMsg = 00\r\nMac = c2aa402c0443dfbd\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 13\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 411871267919a145532cc401e753ebff\r\nMsg = 00\r\nMac = 167a31913228f45f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 14\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = abfe32efdf0464cb2eaafca8eac30d9b\r\nMsg = 00\r\nMac = 8edbc729b1923e10\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 15\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 85504d59a12f3e17edfb0b6337d4a081\r\nMsg = 00\r\nMac = 9045fd77cb26dcb2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 16\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 55f7565826b0e2ccc1368f4de32022de\r\nMsg = 00\r\nMac = f82395416a8dc209\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 17\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 43c8f984390debb0f26c6b9c2df8518c\r\nMsg = 00\r\nMac = b5d732086bf8feab\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 18\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = da288d2014616f16a2abf5923dea49ad\r\nMsg = 00\r\nMac = e03b67b53fc7863f\r\nResult = P\r\n\r\nCount = 19\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = e2f962d076df051c2d291b47a902ea0c\r\nMsg = 00\r\nMac = df1456a7edeb4e42\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 20\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 191b53e0c7d90161e5e2014e9b8aea31\r\nMsg = 00\r\nMac = 1e210cff3c90bd2e2a27a78ef7662f61\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 21\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 54666bdf6db300ee10982d14dac828bc\r\nMsg = 00\r\nMac = 9fef67209b8da28049b80efe98f85f13\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 22\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 9a143c21cc6c9528b9ddd7e4405682e1\r\nMsg = 00\r\nMac = 1c3c3b6d1d86ac5787234f8f6d707acc\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 23\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 802047ee1309e548ae81e93a17bff9e7\r\nMsg = 00\r\nMac = 1472aecaa0a09e45893a14090ed9a17f\r\nResult = P\r\n\r\nCount = 24\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = ab79ce74c0959aea0fd0b28ea5d0afe2\r\nMsg = 00\r\nMac = fde8a95536cc334f7fc8881a187afc61\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 25\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 644ac6fdc1e713ecb7ff1e0bd5729a57\r\nMsg = 00\r\nMac = 95a93bb50703521e6c1a8be1aab6a646\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 26\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = b4571e56f66a857daffbdc99370ceddd\r\nMsg = 00\r\nMac = d2742ea62f1d6513c4eb0e533922f251\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 27\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = abff2b097d688293701ff2c49ba48eb3\r\nMsg = 00\r\nMac = 17e724f66d4a9ef5dfc0cf903f8ff04a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 28\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 9d45f6d97d1573de3cb3488befaf5b7f\r\nMsg = 00\r\nMac = 96ec3cf234d6704483a93885bd67e6dc\r\nResult = P\r\n\r\nCount = 29\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 00d385629e5df815a5300e6635351934\r\nMsg = 00\r\nMac = cb23bb449ac26e2186b02f7428fa022b\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 30\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 2f9109e7eea21b2615c81c03182ce603\r\nMsg = 00\r\nMac = 4532211f48124a9eacd795ea4313adaf\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 31\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 9f3830f5cd40a2396b6093b358cef1e9\r\nMsg = 00\r\nMac = f5ea59ec909a8ec2d8b11f5f276201fd\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 32\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 17378e17c41586b88523a6b6af738dc4\r\nMsg = 00\r\nMac = 40cc8b388be6789aca584659acc7aa06\r\nResult = P\r\n\r\nCount = 33\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 064e8c88a0a0766186d75867b5ca3acd\r\nMsg = 00\r\nMac = b2f94222a68fcf803868b00404ad170f\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 34\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 1e39f1cba97dac4e4d4f3bce7fda72e5\r\nMsg = 00\r\nMac = 60763815c1075c31078a9b44fe4b8427\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 35\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 06f0e4618e0ea8fa5443b50ea005b672\r\nMsg = 00\r\nMac = 295c6cd08b1d668d9fa85ef851b1e029\r\nResult = P\r\n\r\nCount = 36\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 648d77b57770b67ecda1ce7951eaaeea\r\nMsg = 00\r\nMac = 2f3fbc6edf5827fce440b9a7ff8535b4\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 37\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 6f3938932b5c1280311e892280d8a822\r\nMsg = 00\r\nMac = df02edfb316350c81dbee385d6e1d8e4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 38\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = f909903451d1f9f45ffcb93a407ffb50\r\nMsg = 00\r\nMac = d176620722c5327270ef30956d7ac02f\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 39\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 181d92c7df1ebb0924719e066e08b95e\r\nMsg = 00\r\nMac = 144f688fa0d29faf787c48cd0765eecd\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 40\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 0c5b763b1e97b4f4dfc7059e4896ba58\r\nMsg = a0b3c6944b35f7208dfb40b4c4ba134a14dac928b679950793b3b6751221f178\r\nMac = d922ea85b3992a67\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 41\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 461d7d629778c8b05a688bee4fc01e9f\r\nMsg = 07571a6c9bcb6f97d626796bc74e551d1c45cce38afed761706f6264b7e751d3\r\nMac = 794b224a85396a27\r\nResult = P\r\n\r\nCount = 42\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = b91c6b09bf5a0487a9b5ea2fe0c1f3d2\r\nMsg = d31fd388e97727ba0a35d34ae05d9980e5974f6b3d86e2d4dd569b70f394a159\r\nMac = 2665ff2785bcb606\r\nResult = F (1 - Message changed)\r\n\r\nCount = 43\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 0737836cf771e842a70f3eeed7206799\r\nMsg = fce631a9eb130178018ca88cec966ae53ecc83a51d0a73173c8a9af10b4d04d6\r\nMac = 1eee822e37dd1e84\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 44\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 120132c315bfc9c4fb93023f5d3500d7\r\nMsg = c2576ed3189eff3205f5e01dd8fe7c64f12dc73c807c22918f607f9e43fcc5ba\r\nMac = ddca15c8b5a80cb2\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 45\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 5363bd7d867a9f9f0592dd9940a791e8\r\nMsg = f34e86b8803d386573b81045df945df8319a93b613de4c41904c8e1879844cee\r\nMac = 109dd7c920ebbf41\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 46\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 3fa1c7cffaa167557b250634e8052fa0\r\nMsg = 4255f8af18df7237e0abe98421aec9634443561752d893aaffe76380e829ef32\r\nMac = 0eceab8d28dd4a2a\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 47\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 6583a4ff27b6e109046d11b977c8293d\r\nMsg = b63be320f92", "e01260fba37312224494a2764dfc928287c75dc1cafee7b698d48\r\nMac = fa0cced22e896b40\r\nResult = F (1 - Message changed)\r\n\r\nCount = 48\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 5949378fd3135dd02ee1929014000411\r\nMsg = 65c16f4e66b10c7c153be7ba2dbe3a6d4eed3b04fec44188edc229747d52f8c8\r\nMac = 9ef023345848680b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 49\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 0e80fa889b1d96a0d23d236d4d642a27\r\nMsg = f6f094e46cdb2e45fe49b18aff1427ebdac9710fa7f47f75fc9ec7140613ef3e\r\nMac = a09774009934c9d4\r\nResult = P\r\n\r\nCount = 50\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 1f88dfd4f5c52c22b1db47f9f4fb6e2f\r\nMsg = de433ebd1cdabeac46b94cc00d984f172923535ca8fdfeeb860546357dd8e266\r\nMac = bb17b3983faee0db\r\nResult = P\r\n\r\nCount = 51\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = ab0ab9e79ee53a6946a31ea807258dbb\r\nMsg = 89ddbb042aa2aea5207b312c9831fb48138aca90626ef7c5ce474d5797ae1b2b\r\nMac = 72f316d5bfcfcf6f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 52\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 1eb19542a0064564e096e5d7d60acaa6\r\nMsg = ca25504f3f5559aa0e88199ce1551c9240b5c76f55b83bdbf2777cded54ad3af\r\nMac = d936b1fca0a96aec\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 53\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 33f11aa36d8ab0fc53486839a576b31e\r\nMsg = a58524e37c2504468f77a9c21b0e6d1a6b5e06fa051d5b8025ef97fa69417cf2\r\nMac = fd64f7cb283adce1\r\nResult = F (1 - Message changed)\r\n\r\nCount = 54\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = a7b81d8245129aa451dcb7229de415e5\r\nMsg = 2b2ec02aba10aee056443cf90585caa2510b3b835454a99f1324567b0dcbe682\r\nMac = f4cd48f32c9dc66b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 55\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 3c1baf0d915e5aec92bb62babad0ba2c\r\nMsg = f8f2424c2dc0d0f3821af7244038da0832c547be4ff0850b98c04d4d44a716b1\r\nMac = e17ea6862129d6b9\r\nResult = P\r\n\r\nCount = 56\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 943a49073db6ae94a88844ed895f8fd9\r\nMsg = 8a15e5be479d3a39a459ca7b50457472cbf44f6a8324ee3d4096e2c3bf1d8190\r\nMac = adcce0ea2c8b11d9\r\nResult = F (1 - Message changed)\r\n\r\nCount = 57\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = ebf8935f53dfb3bd40453c31f627c73e\r\nMsg = 7edddb03d861dc9796f8e069bde434681620f604db436f34b7a6a3beeec925b3\r\nMac = e8ea88729d49bea4\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 58\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = f18e8feed77d1b80c31483fe69073d56\r\nMsg = 37c6206e23163c39a13f19de48cc25dc26e6f83cb376e8d2048ad7c141fa503d\r\nMac = 0d4f5cdb2a49b471\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 59\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = b4e41c7bfb8fcaa5236f656185c1496b\r\nMsg = 32758ae47884fcef766dd1fee1a7f55ca6f6691574e2ea097a68cd4072ef2e7d\r\nMac = bad08badb66c8e5f\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 60\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 708484fba04972b815256c5dab12d5d4\r\nMsg = 97751b4893a83cfe6b760e10da795682e9668749c09036f9bfadce9dcbdd85e6\r\nMac = fa74b33267c5ffeca75e5e16978bd7b0\r\nResult = F (1 - Message changed)\r\n\r\nCount = 61\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = d0df1bdf1df6203241722fb9c9c1cf74\r\nMsg = 0e41361ebfbe4e6580fb5751e58e98de8ee5d9849fe875026fdab15a85804c1d\r\nMac = de4992c9d33659620cc203848e42a279\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 62\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 7c0b7db9811f10d00e476c7a0d92f6e0\r\nMsg = 1ee0ec466d46fd849b40c066b4fbbd22a20a4d80a008ac9af17e4fdfd106785e\r\nMac = baecdc91e9a1fc3572adf1e4232ae285\r\nResult = P\r\n\r\nCount = 63\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 7b4c800f5071521119e4cc6deee8729f\r\nMsg = 775946f3014523b6ea37804585cadd35e74e9382ebc1022579fbebe407281b6e\r\nMac = 2f6697f5d067aecdb3ff5a09d9169b3b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 64\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 7618d222630138cc14246e8fddcf98cf\r\nMsg = 432e3575a966958434da38dda3606f1f69adeaca536a7bf66c8b1e451edc3716\r\nMac = d7d78aac615ffc1bb32dfea41f2b8771\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 65\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = c8804fef18ef263c010c8a205e14516e\r\nMsg = f2d23bc605181e3894f61fa63d61ed4a610123ab7d3531c0b7579a58b74161ba\r\nMac = bfe5e2c10a5cecccd3de2529f340cf6b\r\nResult = F (1 - Message changed)\r\n\r\nCount = 66\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = f98ac86ecb742c188852980b5150d100\r\nMsg = 4e6fd4fa7669ce9552154bd796644961b51067dc02303430150aacf671280031\r\nMac = 73df5f4d3ab9240d4fb2be775188adc0\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 67\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 638d7d95ff5f57571261e23ffa081189\r\nMsg = 5f5bc4e32764bb00085667b7f1b15433f09c1f6fa48689f8f50dcaf5021f2864\r\nMac = 96b270629b2bfbf721f1a70eccf9abe0\r\nResult = P\r\n\r\nCount = 68\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = a5a20d8139472a4cb38993c5711ac2ca\r\nMsg = 73e1e75538f9a63e49a068189e3b0a1a1e65ca5d1295589bdafa3136deaa287c\r\nMac = 320647d53ccdf2335a9c9a3452c1cee5\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 69\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 57656be54860414e8a62223381ca4405\r\nMsg = 3447e82ecec6c8b6fe1e44ed91f933e4a70c431911eb86eefe222d5ad78193df\r\nMac = 47c6b5a28d723129648aef418b74daa8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 70\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = e7b665600a2aa413e117c53816cbed34\r\nMsg = 5e4d49ab796025157add6d42258b9c506d9ce82bdd85c604360db0ff5aa4262c\r\nMac = e741166cfa2a58003dcae357d7a199b8\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 71\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 693cbb46bc8366086ec7cd7776f2c563\r\nMsg = 5a908ae85ff721ffc5096aeeda5ee83bddcf639e7be68d109394e5253c22dc9b\r\nMac = 9d56b03ef83082f601a9cc8730b0de42\r\nResult = F (1 - Message changed)\r\n\r\nCount = 72\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = b4190e3462e07fca26496adcb877724f\r\nMsg = 02097035a312cb02ea7f09fc1accc230a205e4a208e64a8f204291f581a12756\r\nMac = eb9604ec71aac0cacb63e0b369ae7664\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 73\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 4ae06c3b2940819e58eb24122a2988c9\r\nMsg = a2e7be3314238d7e4f604e134790bb15a87c09356c091b1aacb9f605b67475b5\r\nMac = 14b4507ae4b50cfe4989b544bede756c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 74\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 8d560de2e310ea69389221ce2e850625\r\nMsg = 04d9db45e4df19db757b9b95c25be43e822b8372ed148d49ce824a36da2b2f2e\r\nMac = 647f2874a083e82fa804b6c58c7b5c90\r\nResult = P\r\n\r\nCount = 75\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 0e1a79c5d734118c19eaba700f5da238\r\nMsg = 026470d57dad9893dc037b80978bf70c2e552fe46c8fe8c3ebf8338bda984d94\r\nMac = b936ff3bb8afb9e42351a2a3ad49d70a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 76\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = c88b1bc0050e19780ab53efbea175634\r\nMsg = 7207aa8fa87283f1f57019bf1c89645ff8fc36ab1102704e6d577671a9f7e098\r\nMac = c1dbd79e31c3b0bb824f16f735ccdfe6\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 77\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = d87df10a53eb3ea24c003d2a65e44921\r\nMsg = fedd5813146a8c2af398d6066956829833b75e44b6e010e4f025ac0fad6f869b\r\nMac = 9dd7cbb34445bfb351d01e8cdb21d695\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 78\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 4d436a4a5c02b22ad49548b97216f277\r\nMsg = 2d73204f0b2d35806a8227206922ac9c18eff6ebddc73809179d67a702cf3e21\r\nMac = d2654d9bd6396075296cbe918d90670f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 79\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 8af7b74e35eb38f4086343bc329ab465\r\nMsg = ada1fa439c653d0cc88c0d129ba252e86c7d20a3087be93e920bf13d8e6f0391\r\nMac = 0fc9b177c874ea909b6beb1db1b802b4\r\nResult = P\r\n\r\nCount = 80\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 91ce6c87860aa84053f42e1abc16f489\r\nMsg = 4c287bc16196698d762d5fb428e801975fdaa29026b7b78dba968bfee0f534f27cfec57c6009c55c6261e0dbb14bddf76944d0c0648b910254df6c240e8a1a50\r\nMac = c1ce12f51aa823d0\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 81\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = b7b774e5c9e2f6926660c48b8df52354\r\nMsg = 937273c7355e7b88a630d15be875234cacaa44e815f31997bf10b52c008cc3bb6d3724aaa0d7da0b391b252923d0eb6119575d346857d89af6af099883af5514\r\nMac = ff845eb2d77aa5a7\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 82\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = d7572ed0e37261efa02f8c83e695efdc\r\nMsg = 85a327b0c7a31a4116e7fae0c0971e1578ab6fbdf90124b9ecacd0e70c909f51882cdca5a8b6b7e6b46d4660122bc9e1ae3932269f68e594075dbc293a2d4eb1\r\nMac = b8b3b7526419e069\r\nResult = P\r\n\r\nCount = 83\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 259129eb760f8a770410c160e4e13a6b\r\nMsg = 77d9c30", "6aa257379053cf1f2043c388a301dac2a9e2bb89eb8bab6eb3f150fe391b7a3f628be6b4b649c5c108a108f0e0c55a0800b9954251ab07e94450a23d0\r\nMac = f9376f11cbec0ec0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 84\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 6ccd61ed20f16ca7a78192f5b6ab5528\r\nMsg = 9211231ec382ecaaae57f34de1ac6bbb50741014a978160ce59c60491e64f30da0b8aa1442e42bc0f7e31973a0dd8c3c24eebeb7c329072ea7dd0b04bc163254\r\nMac = 94c275e6a4675d8a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 85\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 1cdc44c40efc3c0ed6fb84b0c2f78aec\r\nMsg = 818c636772036761af037c23aa8cb63e424f0ba0375b645de2f8f5af23d3ca3b9a5ca3951a6d02075a2c828eee326a2676ed8247164226b0267798632a519bf1\r\nMac = 74355397c7a29bb1\r\nResult = P\r\n\r\nCount = 86\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 2e523e9d8a5532127ec63b220838f11b\r\nMsg = e6d067907610109b8789e1ad00542539991677b9efc97a98d8bfcb50f3e334d0844323207fcb5a47e353e76d49dd573dbd17278dcc287b41dea8126cc7f07ab9\r\nMac = 7bd6745c6f73d92e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 87\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0eee5bc8994b723a580f67d45ccb194a\r\nMsg = 1dc4fcbc73dab4e73ed9d7606acdcd42b74972460c640fe50f028abdf255d9368fa3bc65b849ac31c8000eb47e5fade40ca167726aa927f2f043133d24ad0613\r\nMac = 486721355fff9cbc\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 88\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 388468d10bf0b770cc125f8b7d359261\r\nMsg = b9aaadfb3f60e48f1b421a9450129d75af2ce811ab0b1661680e9d5b147c38167ac7252ed40d916ae1e4519c3857d2c9dc2c538a106951b26d16433131438839\r\nMac = e13cef9392f4a80b\r\nResult = F (1 - Message changed)\r\n\r\nCount = 89\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = edfe2e15edf0b0c28875651d4becfca5\r\nMsg = 70b1e2e4cf260b108f5a52d0d8234838ffd6ffe7b4acd78d7d6b95aa6342b598eaf402cb47396358ce61f8b4aa3a65bed0346e0036c3c5323f051f007aa58d0e\r\nMac = 7b70730219907d18\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 90\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 6876df1a77e11165331a5ce2e0e6bea6\r\nMsg = 34b73ba208bbe1df06da768b0321243815df4ece555974dee2bf5732295f5ea9631939425e13c47681ae2ecb0bb85aa69be38560f5752a9d034222d91ad71044\r\nMac = 80e00df873439fe7\r\nResult = F (1 - Message changed)\r\n\r\nCount = 91\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = e65d5fd5f446b4eab63d56b0a5eb1d29\r\nMsg = 554395f9b113c0f2a1f155de171d6c0a805c838beb90c3756e8b864dc52517c03d8cb894d1dceae092f0e8784c7775ac664ad7320afd246086b3bc9ef237171c\r\nMac = c60f8ced2efd52fe\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 92\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 5bdbd06f4df6e15d644f3a635d7bb14f\r\nMsg = 4fcc7c2763a8dd5bfe74e34f512be8042af9ba1c73a944edfb616ad47a8d34cbcf192f3e8be3101bb3709b29c2dec39aee1913e3ac524ccb76ad50c2cc3a3e75\r\nMac = af33d5a2746bfa5c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 93\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 13bf2f72211cc8e16ac1986a22e19f60\r\nMsg = 8ee212ed4bd110ca6a91b37bca59e19ba842e3a1b50619bc6b07ec02a09303ca5c66ba56e870d0b627d95fe829431244fe4f9218c862418f14a92bd76b5a3a82\r\nMac = 18e8cd5bd42c75ea\r\nResult = P\r\n\r\nCount = 94\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = e9b913c2f0630562eb1c16b3b1ed8409\r\nMsg = 031105ff01daa66ff95834e47b6f5c683994084d0fcb84c140d1dfa2039a95933efe6a4f91af993d966e2e45677eb1e36159047928a38eeaeb5c9a64ea59f97d\r\nMac = f00a17da0fb9e6b6\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 95\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 6fa5a5991315702cba3beb33867c7bca\r\nMsg = bb0fabffbcc6935ca35755fd4bfbd192b6812cf75c4dc95bc3a175a1501be2065d7f57058cb7a5785a185dfff7e740a5551cf7c17e65051b2c6ef9509360e878\r\nMac = dcfd143f86442183\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 96\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 3f8c6d21ec05bc439bf82774f1812bd2\r\nMsg = d726deb8537bcd671ddbaff8fcc6968f951b71aa82dfc802a53aadb2bcc2ef9a35fd90064320798b311d6d32f7dd3cd90bca39d57991eddc36260d23b108aac3\r\nMac = 449e20567875d56f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 97\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 8ed1a4873bb37fafd4f8c2ee417443cf\r\nMsg = 1652c9539bff4b6e9f303f3e6b5d4b9ff7e85aa2a401ee8c2dc7b722dbaf6424f92ab9188882e2483405070e8666204f5a600b46949cdb830fd57433d63a55a1\r\nMac = 601eb06acc5a4e0a\r\nResult = P\r\n\r\nCount = 98\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 83a4669cb9961448cf418cb83a16098b\r\nMsg = 26d97c3e28460d46216da39e043e024ed08e387b1e5fcfd3f962472cf1bac4676b03039b3b93927075ff41c87fe1d4a56bd9fa4784d283942787cdbdd5457f1f\r\nMac = 01a42494a10691ce\r\nResult = F (1 - Message changed)\r\n\r\nCount = 99\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = c9e6d0b3dcd8ab50ba5ff31d9c1bd95d\r\nMsg = 0d32c1cd73569ab2b10c67c167875fe22625358ed3469b424c5e052d4e49af2c97dfe1f947c972a08c938b327e01adbc48a7f57a89b49f49fa0fca5b50a57a2e\r\nMac = 476add8ee51b5e3e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 100\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 17281acb525b13653000ab45d86e7010\r\nMsg = 225750ca982e5b34fc62e277eaaa0f248532abf374933e572b0278566cc7cf980df26abefb493ef57f8477cac0bd19408a22e71f4ded84906996d8e7a846b5c0\r\nMac = 0f2aa7f2dffcf7df34c84d101aa9bab5\r\nResult = P\r\n\r\nCount = 101\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = d3624653ad0ed144667df0e0e355c29e\r\nMsg = 39dd298acc45cb597f0733572677f7102536c0dd86fcfcc44895d29af92a5b6a87c20f1b53087d4c874f4083aad32e877142d20ad87b1d8b7295587bfd235d9f\r\nMac = 795da5a50f5b7df40317616b5a470c02\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 102\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 813b3d579664cebe50a8e7050a0b4e65\r\nMsg = 78ad6517a09b99c1113d175f3129aade4d4a2516ebe054f15bc833d08ffe5e2a2d60c976e1b4b14cf8edd2c72baadb2db8001fd2b8798d39ac5ce27d592f1def\r\nMac = 20f40553bedb6496233e0b53143b6d10\r\nResult = F (1 - Message changed)\r\n\r\nCount = 103\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 21095cdbe94afa27d84bcd68276993f3\r\nMsg = 10525eb2794d03409faeab22a6d4cc4ebc0421daacb0e865b0f94eb387722897c827e31676debec9d49c36837b6bc234a95bc10ddcc7b1e5a0d9a1dca550e93e\r\nMac = c0b806ce5eaceb51b53b028e6efea9c7\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 104\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 6c769a4822523525bb36c02518475549\r\nMsg = 4af38908fa44b46873535b39f432d9b3e677f6d06d8719af3d15b936afe515fc13d62566481fd0108bd95f6e8dbe32b3c830b1f1127d868273610aa834ccfc70\r\nMac = c1934b9c74127cfd515521df330c0333\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 105\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 6b454930925ca09d39e1e39a2e78fbfc\r\nMsg = 2bc884394ab7050c14d66fb8901cac109c0126668d918a4419bfcc5d75fb6bc2ba07f6598d06cf8cffd62f3eb29f6a033eac7490d27aa4701f0fb9f9718d1b7f\r\nMac = db19b8ef218018e5a53abcc39b7c514a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 106\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 5df295be7c44d59c44fead3f1988356f\r\nMsg = 3d7370cc2d61af35bf7b2ba50a143b23bfa0d1eff66c5ace2d8de5a28d17883d708fff7721a2977ee2164b6e34022c22523a0649ff0e40bc8134040fee02a065\r\nMac = 81b3181acbc2d6d2960ec57441ff3c40\r\nResult = P\r\n\r\nCount = 107\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 387fc73be9f019913f2222d98053f95b\r\nMsg = 944daaa76249bd9d3bd517d01b074920b7d4434d1a2618af902e0228c3fca658244d990f8ca42208239c42d4827cf114140cabebc2a72bb3cf9277ef008c1c81\r\nMac = 5de79be9ff9c3c9d64f9cce35b188648\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 108\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 7424990dee834ad05f4218861ab21eae\r\nMsg = 49fd56dec210e903f6c703332637f9c267eab9333e2701a16c74ce5e0b5a16d9da68b9c5d67bb6770a3c9a90a7e93fdd5759b27bcf3a753fa39ee7545fb60026\r\nMac = 38b66049ee8ed81f3f8ce2b45a4001ad\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 109\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 232407986ad4a8e438990fd04ffa35bf\r\nMsg = 9d88a7970d4c58cecc20ed1811298a5b37297419ca49c74fe216679dafc938a656cb92bafb78efb31f24e71c2d5b5f994f6dfd82862adfd2faeb8c408fd22aab\r\nMac = 313d46dda3ccb75f497f9069c9478b3a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 110\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = d9bd6ac153cb0bc4e19e59c45cfe0d6f\r\nMsg = c68094c26c7f017b79f126dc26b3bbcb95f97535ca412da5f7853e15fcb52f042e6492c857c22b26ffca5520eabca20ee2cec2f0b71ea60383ece49232065e0f\r\nMac = 3b17778955990ae58e03feda7fc43998\r\nResult = P\r\n\r\nCount = 111\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 857fa35c6f70f637a9a5e6f215c694fd\r\nMsg = a1fc1307757ed91665980e2d3cf9778d8bffc9a84cce6bd5c5a07e47af5c1b409869db8286c49d07dd5083f1826e3ec441ce8cd36c85fef8c55fff889e761286\r\nMac = e1ddd63db51d3035adfd309ddc186238\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 112\r\nKlen = 16 \r\nMlen", @@ -2438,9 +2518,9 @@ static const char *kData32[] = { "35\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 195\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = baf5afafd7d0c8ad42a44e4e0a90fd2c\r\nMsg = cc5a4209a6a60dcf12621e17150b4576b918732e\r\nMac = 5a43002d9144a1d5e48c2dc8dc167a52\r\nResult = P\r\n\r\nCount = 196\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = fa6405355bfb5065dc81e764d20277bb\r\nMsg = 5dd1febed8e94d4715e772c3295b48eaf471daee\r\nMac = 29e96ce5ba930134670b3c68b5c512f3\r\nResult = F (1 - Message changed)\r\n\r\nCount = 197\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = ad2e3d3af6195e74b3e43296b1f618d3\r\nMsg = ca776f79b8581014ae58a4d533b60483fd1fbbd0\r\nMac = b32ce1f493b126fccb9829d4dbe76382\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 198\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = 04ae7190f0cabd117d30a359f80b720c\r\nMsg = b885e5e147f967032ab2552829a6e09210c44a45\r\nMac = 9386d73a01960ab399bb7d290674b21f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 199\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = 51fdc65f6bb0d20a3c08ac1493ddddb2\r\nMsg = 1f0a56fb615b594d938bb8a27f4b2f5463ee9a61\r\nMac = 8506fb1b74806381e2654c8764464d8d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 200\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = cfb7e930b838dc3644f6c06f2ad0c8d1\r\nMsg = 611db4c194dbb54d80a4f4fa731cd9a6a330eaca734d3351f2cfebaba4bd541d86b3e35b4c1fa158edb0d15d610cd359a9c24878117f77f6b284f0363a576e0ef0\r\nMac = e9589a711f5d4a5a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 201\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = d179dfeead9d765d000462785459b1e2\r\nMsg = 795ee78ffdf302f3f1f2b31629ae918409cb42979afe3752dd14968d603678520e6b55884b5ebcce416248aa74b3cfe39dfedc2bb5246001503ca4d62cd7826f0a\r\nMac = f16ea84f554dfb54\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 202\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 22b7eb25e688672ab0e17206623094b0\r\nMsg = d830b16fa236a1dbe60f6db8d7e81a3ddb5f658c9f446e94639cae3699ec2ea6afb4fb152939d58df287271cf4b73c34e66eaf5265a623de47b135522c7aaf9f55\r\nMac = 16229efcb7523025\r\nResult = F (1 - Message changed)\r\n\r\nCount = 203\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = a64fa98b4662d801159f61eefd1c8bc5\r\nMsg = d5982c462ad40458660cd7b120ce07fce9afe812caedcebdee536ac19b5d561d679dee8ea85d62552c86093a2ac1f8d179dbd4fc006ee4b16ebe6afd2be134498e\r\nMac = 2f9a2fbcb96461fd\r\nResult = P\r\n\r\nCount = 204\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = e4fb10325d18666c382e6cc2442381e1\r\nMsg = dc28484ebfd293d62ac759d5754bdf502423e4d419fa79020805134b2ce3dff738c7556c91d810adbad8dd210f041296b73c2185d4646c97fc0a5b69ed49ac8c7c\r\nMac = 8f771ffe0c8d3445\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 205\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = fdcd3459061c36c9a0daa0dcab2b967f\r\nMsg = 1cfa3342540d03ec3fcc8378c021443ba3321fbc26dad7c5b859faba004a082a21d6d7a43d2836cc3820d1adbe4c55518714d48fd9346a254f702107da8212f605\r\nMac = 6635f9e17949a14e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 206\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = fc593384e6eebc508d181fc49ee10e56\r\nMsg = a6c891c9dd1fcc982c35bc74cfe71651bae424602519672b466d80e160af51eefccc5fcf76467a25bce1a10853a0209d9beffbeb53228fea5f1e77ddc956ade207\r\nMac = 7a6fd94e3928d2a0\r\nResult = F (1 - Message changed)\r\n\r\nCount = 207\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 4e4ff248f591ca27665960d9357a8de1\r\nMsg = 198d5c9c4aa35d12b62e8c4bf6f3f141e6ebefd8ab396c71f55e32bc82b094cde409547383bcc4c5e5cd2cfd2d616c8ae273e260f2c98e93f7267424b8c2421bf3\r\nMac = 9140f91a0cf70762\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 208\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = f20826990acdf225d9451a3d22f89747\r\nMsg = 03d340904ace1cd52d4b72a96d96afd77aee68ac3936415005ed0d56f46036915b1e5f2994ad49effe7bf3ee46170642e5a16f2eea804e68fa520fb79529d6c09a\r\nMac = f30b668f16bfe6c4\r\nResult = P\r\n\r\nCount = 209\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = c231ea8b75c65de68c49b76e7a3128de\r\nMsg = 5b50879191a6debdb96c0bfaf9086b7dc6e25594416b08d2c75fe16cc347d2e3c7410fe3dc030a6c161ea22f6b80973bc43d42d8558f83b32a1bfa3c03757a4d62\r\nMac = 65ba53ef4711e807\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 210\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 8ef18639bc8c831dc0b4aeeca25eff4f\r\nMsg = 094c4d9baead7c5acd7dc58f3b4b4f57f1406b4e6af81a034d90cfa94c01760f4cacb4d2c63671d16d9594e1116b0dc2c39319523afac10175b1a485a240f7cf3f\r\nMac = d84f89e16c3b1633\r\nResult = P\r\n\r\nCount = 211\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = bab9d79aae4a1b282d8c5aa35d5c0876\r\nMsg = 02815f53c2be5f7246d4794895b4b15b6c3944819dfd3051b371f6d7d52d9f8ced84fd84095c33ea013c78aa5aa7176d6aa9bacabdafe9bab89cce4d7c183b9c0d\r\nMac = a01f976031bc8140\r\nResult = F (1 - Message changed)\r\n\r\nCount = 212\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 42b97f583f64d88358885c66add5d03a\r\nMsg = 187fe16a764c0987a28088f5cfcf55a6b9591b6395d2d41043e09932cbc4b8ae073d08d39da9799b316eef2ed89851a8cfc4dc1c6d3cbed95663e0ecf25403e61d\r\nMac = 0820b1ca0cd34e5f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 213\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 4fd555bd3a5253a90b68b5d4d46bd050\r\nMsg = 1ef253c61ac8ac66734ea80eefc1dc077edd660dc3518b5ecf709f10302925a72a3938e7449f2ae707506a67022dab63113242e9dff0d027aa3d22c8462a558165\r\nMac = 3770a6cc988a28eb\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 214\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = d3a8eb3f9e5fb264ff098d85c28dd763\r\nMsg = e97a0986bf75e0e821f5adda80778863d9d479bd8ac3e7fe64a053f8016c465d581487278ef6923610a1463bdedcded62aeb22fb210dde9a0949947f8c6a6e7753\r\nMac = 4947e6e28dbba216\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 215\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 3043857fc40be37fb0bda4f46894690b\r\nMsg = 14874a8b59b0178c5ec89cd7316d909371969c1a1a1bc8a29f78341d39ce085e7e2aad7c350a3e7b691d3929bc4b7b47fef56be9fe7e7520a00abad5308505f8f6\r\nMac = 1a8c82e9109a68a5\r\nResult = F (1 - Message changed)\r\n\r\nCount = 216\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = b325d425c810d22deb3209f29c5c1377\r\nMsg = e44c4202499440c12109296a35dfb1f669f97e7f415cd251a5e36943e134a548f0f2e841fa3541151b374c04665053382a24b99d731b99f3d411aa22644f66cd07\r\nMac = 84faaeb5a9756a27\r\nResult = P\r\n\r\nCount = 217\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 7cb6a84e99f5573c1eb27c0078f2127b\r\nMsg = d7fa7be9c10252d6e41bc1a08195a344ef77b81785cea6b4ba453d398bf6ffb31d80e0d6a45a4af283676422b5ca94c76bfb4334f61ae0abe884278976a5a3bd21\r\nMac = 64fa7f9284c24f14\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 218\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 00341fb81209c2abdfe3a9d607b98277\r\nMsg = 74f6fd37ccb4b7702bb3a03b7322c0d5fcc657cb2c3f1361488d853589d2d6207359b65d62d896ed66f217395000c2fa0d11f956332f2d4bdae55251adfe903b41\r\nMac = 4cf05b6e583c70f9\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 219\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 647a5be8a66c83b4b238975388e15d00\r\nMsg = 0db33eda4188a9165147e24e40f79fee1985eb68d51627287e9c4ec995a77d89b27fb2fa6a6fd3fb7563f3e710b6d20ca145a25f9ac8116d9f628395eb769f75f0\r\nMac = e8ef4f3cd7442246\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 220\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c98fc3416457d9eed0fa7ab1dc1b8a6a\r\nMsg = 190ae57ab8bb70464e4a10c112a54c646438301b5662f3536c26d754a02451d1a9c76abd7dbf656115b2a2ac702ec2cadae30cf86e0f0f96da39897d6222889428\r\nMac = 1bea94a457b2886e9098bf3ded932a3a\r\nResult = P\r\n\r\nCount = 221\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 87428d5a53f750abdb335f70ee13b5d1\r\nMsg = 7bb0c2ecfd141e7e93a897b259732b6153af3542eb7289b1a18dc0aefeb4d129c9e0e27d7ef25d3afc9945277e75cb87cc7d1c9cb39e7e6ab2a49bbdf65e1c6d89\r\nMac = a854d2da46afb77a787f0606a69cf467\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 222\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c725d9ef0dc6cfca84865cf5cc91d403\r\nMsg = d3208eb695e84c7a9250378e18be2f231ca3ebe72ba68e3ea4ff7bcf25206b43439bbd497e400dde738507cb542c7d6f961fb8bee99f0c8a6d9daf022368cc78a2\r\nMac = 35d57445a5f10fd567595fc668293e95\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 223\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 13e3fe7856cd680593a85cda3d6ff873\r\nMsg = b208e5a1a852caef0795150cf8313ee0cff06e3d28d438c2351484005661cbdcea6d8a3466aef0c6a460da4d7dc902ec99c073d086704112085a76dab0994fcab0\r\nMac = efb2bef5aae555463ebbeebe69791459\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 224\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 9b8112c1fb29fba2c8b0d8f16481b993\r\nMsg = f54105a04a4a02a1a07e020a6a4f4176e9c92bf40018ccac434988c650550c87625b84bd232d0e5ec20e6f6c46ba061b22a7fe36098bc7bf031ec6d6c1214bdb2d\r\nMac = 673281bc0effe92adfac4fef49477ee2\r\nResult = F (1 - Message changed)\r\n\r\nCount = 225\r\nKlen = 16 \r", "\nMlen = 65\r\nTlen = 16\r\nKey = 82e71e3ad1bc9a12a46e460a05ad9c05\r\nMsg = 41fb3dd6df78fe267175297e208ac753d50aaabd9edbf5e45385dfb47988b3d966f31be7a6329fd89e2869bc6f7e4bac1e3a0300f193bdc21c03d9629c9fefaa64\r\nMac = 36f7df58abb54a053988cae066110ecb\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 226\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = b46e219217ab73c34904e24c6d995b72\r\nMsg = 887d6576572a3d8f6a1649394248c4d09d15026ffa930c0659508bac4243e7360802af084f363c2bcc4c91a04c6e86f4f8b22615d7915564949ab60b8267cb91dd\r\nMac = 10c1d8054ac549ad24ae4af2d8de97e2\r\nResult = F (1 - Message changed)\r\n\r\nCount = 227\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = b66edcc59dc9d8e34bea3baf4bfc0d5e\r\nMsg = 57caadbb1a56cc5b8a5cf9584552e17e7af9542ba13e9c54695e0dc8f24eddb93d5a3678e10c8a80ff4f27b677d40bef5cb5f9b3a659cc4127970cd2c11ebf22d5\r\nMac = 0c5864eefc04a6cac4f053ab2f65f851\r\nResult = P\r\n\r\nCount = 228\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c607f631d792499ea43586b81fa3e2f2\r\nMsg = 21ed22abc7bbb62fb2d51d1fb8830ca95b16213f56291af976274934ab0d43805f71d9b906c44973f7d4b59b7a94d35c2220e7405dfcee98499c1c1dc92a89d7d9\r\nMac = 4e65b3d58492a0eebb66928a8214498f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 229\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = d9e9136339d361949242e4d8a0cd6917\r\nMsg = 419b9c9b093052577837862900e7de29273eb0678bf6238223b59176c78430b6f382f27bc8d9a95b53f26f1d12e545ccb434fa0a21b84fa7badb5872e208254fbd\r\nMac = 6c81094aded51ccd4da38d0412e7ca67\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 230\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 6f349dd8b69dd41c6f246a1685115772\r\nMsg = a5a3c8afe5b84e0c3ba4f708a87b596d1b7c8694dbe691d7240e4e4815ad5aa4ca7e5b82c50989d092b96e80aa35e97f99ed79e75cf3b8750d0d263dc208289cb2\r\nMac = cbf41299c35e65fa4e2626430f95051e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 231\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c15e4e552c9197184b3eb0a74f5fffe0\r\nMsg = 7c4699a7d9e2d9f31410f20029676f3c97f5793f6732f95f6d33fd7ecc205d27b8e89eda803316a3cb9951f12111b4a6aeac606b43835a469eede86eebf63e5e8b\r\nMac = 77e77de5c5600900e5b928d4be3d5f8c\r\nResult = F (1 - Message changed)\r\n\r\nCount = 232\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 2eda9b2c6d7ad95b644a8739580ab4a4\r\nMsg = beadccddcf392ee56a8913f057da183ab06ec538e581b52c027ff7f63574b32d8bc4116efa1c56f4a4a851695a87f5fc5f7c47b46fe67b0400f2599fc80fe68d7f\r\nMac = 948e63657b8b6e2d130f6f25369d6160\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 233\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 233088b67b741f07859d122a6a406d89\r\nMsg = 5717ed57ca0b6921f04dcacad34e0f6210c36673dc9f4d92493ff733c6e5f1c2e56805ef622a5f496049ee0ef51a0d41e9d363febb87070be558e8af61e86dc76c\r\nMac = c778152b00760fcd85bced0f58861d13\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 234\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = b7471a8b2e50fb319f198a09cdaeb319\r\nMsg = 385f9fb139dbf88561b7a500b0c7b835fe57e2698c6d9f76de4fae6dcd45c47fd8a0811ebbfba35f43c17aa360f09c767c1cd9b70bb671fa638e852ace97cc73de\r\nMac = 1a8b81be875a4814e3f988c274784a63\r\nResult = P\r\n\r\nCount = 235\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = adf072ebb71e3400a2175c96fb0007a3\r\nMsg = a49840ab727bf6b03015eaca3f15a2bb64fd27b51b27fe7a2e0559c287ac8fdd4294ca990799ff66974624b8a4539dade66cf7f06b35d8dd2f8a36e6ec0bc83533\r\nMac = ceac74b3af8750467e3b3c51624d96d1\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 236\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 1b1d471add4e7f4fe197e3a4a44d06ab\r\nMsg = da06bd1405028d93fefa3c037b5ad551879451a28314bae86a7591b359f56e4b4e26e6fb2fe7b1af0f930cc2ae785d113e8b16546d59dbae9f41e7827be1ac89aa\r\nMac = 16d0021b1f9c00b37fefb60af3358d87\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 237\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = af5d4991c189dada2cb552c3c52d599d\r\nMsg = 1bb1e0efa2d6811d2370a039a0c47c59683befbd46c04257f86a468ae25ba03304e865e62afae77a62b3cec7b3556aae0c60475a7bfb02c69f955c7f60cc8dacdd\r\nMac = d7056fe01f0ed1b20adbe05cbccc544b\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 238\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = d149441e667b245d4640e04c53ca6f51\r\nMsg = cbb34794bc8bfdf93d3c8d9f87ec1482b516b48b1e8a89b5e3b5df70c423a243384215b4bc69c76c6b18c497cf82088af74839a8c98895869a16294dfc094360d7\r\nMac = 64f5e8dce5c3e0f9cc224e306de70b87\r\nResult = P\r\n\r\nCount = 239\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c2f5d4837f9f75fb440c3bccad7c2e69\r\nMsg = 6a84594c4b3865f047c96038060b5b413db0d4e081c62e405b815ecd9e3be651f8b9075dc8b032eb2f87c1416a5fe4195f51defe75f671f9a92d966ddf18724075\r\nMac = df8c8c61e8d604e24c7e3d0115dbe898\r\nResult = F (1 - Message changed)\r\n", }; -static const size_t kLen33 = 69750; +static const size_t kLen34 = 69750; -static const char *kData33[] = { +static const char *kData34[] = { "# This file has been modified to remove the 65536-byte long inputs.\r\n\r\n# CAVS 11.0\r\n# CMACVer information \r\n# Algorithms tested:Alg = AES KeySize = 192 Mode = Verify \r\n# Generated on Tue Mar 15 08:40:38 2011\r\n\r\n\r\nCount = 0\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 771887708683bcb3577fbd0e6c13cad39955eafdc226d17b\r\nMsg = 00\r\nMac = a0db9bb6e8891e92\r\nResult = P\r\n\r\nCount = 1\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 733fd349c56d1086794eb20ed59ddc89b065bb8533b968c6\r\nMsg = 00\r\nMac = c76f82937b457105\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 2\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 761d74be5fae170a1bdfa16081b44c1e49972e15ce0818df\r\nMsg = 00\r\nMac = c65feb3d5336dffa\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 3\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 40f4a2261f154280a311f5b172c7ae34243cf2c59b98d37e\r\nMsg = 00\r\nMac = 05d920e78520839e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 4\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = e27150ee958b998c8a7e8b9324ead937d15580d09d6ffc3a\r\nMsg = 00\r\nMac = cf60783b5defbe3f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 5\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = d9bf5efb694089b2de533b1a65c12ae96d8c5bd75bd67fa5\r\nMsg = 00\r\nMac = ccde2029fb26c8ff\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 6\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = bcc658b2e53d51ed00c567ded2a124f8d1f85fc72dce5f80\r\nMsg = 00\r\nMac = 35d0d9ccab5b0f41\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 7\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = e31fdf3891c9068f621430315fb1daf418c328baf5e6da97\r\nMsg = 00\r\nMac = 8802047c11abcf2a\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 8\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 16a10208e91807fc479607cbaa39fa9c7273d89ce403b796\r\nMsg = 00\r\nMac = fcedadeca37381c1\r\nResult = P\r\n\r\nCount = 9\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 50fec559910391abc23eb7f5eddbc26a1031c0abd0a29ad6\r\nMsg = 00\r\nMac = cdc41e9b491092ce\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 10\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 6e9e0ae953b1b486ecd6b766d7b961ab79bcdfe2ffe95e94\r\nMsg = 00\r\nMac = 5096b9fc700929c6\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 11\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 48043c405ef221c281d1e88246b6e1dda77e072f9d10353d\r\nMsg = 00\r\nMac = cab96cfcaad5cc20\r\nResult = P\r\n\r\nCount = 12\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 10c361934fd6ff77a5051879ff228b08d841660d48b4067e\r\nMsg = 00\r\nMac = 167e7227d59d65e1\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 13\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 867ab71470f2dc3f5f11f8bfa7272dfc9c888e8e03323103\r\nMsg = 00\r\nMac = 96d9e7b084448004\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 14\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 5b10c228b447968267293ede9131d9345daa18c11d71eff4\r\nMsg = 00\r\nMac = f7055fcd9e8a8fd0\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 15\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 997b712cd9295dc43cc19b40679f218c27af3e8c638d2e5d\r\nMsg = 00\r\nMac = 79a13778151aaaba\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 16\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 465b9364b3f06f3c28da12707673fecb4b8071de06b6e0a3\r\nMsg = 00\r\nMac = 945198b568ed3db3\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 17\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = d233ef50e0ce1924abd315510464ce22de377026529085ce\r\nMsg = 00\r\nMac = 240698cd0183f002\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 18\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = eb6e828e01930a4b0afc8bda63160942ce32df7b2c38a8c9\r\nMsg = 00\r\nMac = c68fc388f0633ecf\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 19\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 471b8a2e5cb08c21d87e9eb7ecff1d6e6fc2335581769dc4\r\nMsg = 00\r\nMac = ab5e7c91c35a0e91\r\nResult = P\r\n\r\nCount = 20\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 8b404993b4c3f62a57e4aef272788206c8076acc32cf3a1d\r\nMsg = 00\r\nMac = 6a3beff4d1d0e84ea4d4\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 21\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 7cccb84fa5c1c795bc05a05ea5bc6497acd2de2d193fba72\r\nMsg = 00\r\nMac = 557b8efe4ca9c4e603f7\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 22\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = f1d434dac8cefca05ba120a34840531bf1542c8fd03b1ff9\r\nMsg = 00\r\nMac = e2c299a2c5159eb777cb\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 23\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 7fac8beb476b470e13a404ded315db1b15a85c2783eb3017\r\nMsg = 00\r\nMac = 50faaf26afd61c5f616c\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 24\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = f5b4c2a9f096e13ab426dd8654fc7b8ae6a4a8d3daa16b9c\r\nMsg = 00\r\nMac = 535cde3d2c32788bf167\r\nResult = P\r\n\r\nCount = 25\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = f72879cc3446de9a0a43ae1cf08935b8c83f9265b8cb2258\r\nMsg = 00\r\nMac = 4eeea4a1847f2a30010c\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 26\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 7021eaab074be980543cc70c809186d93652d7674c10ddd9\r\nMsg = 00\r\nMac = d98c93f4e0228ff68cad\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 27\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 7fd546397a9a0129861fb6815d419a307f90d259d55f3503\r\nMsg = 00\r\nMac = 13597bb97e38f400e686\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 28\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 563cfb49f1af034cd38d2112685a52ebce8dca93e84ca10f\r\nMsg = 00\r\nMac = 866bc21135b11ea1bc24\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 29\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 17e9555b9b4f89cb63f2e90aca95c27ead6a099bc41c4c05\r\nMsg = 00\r\nMac = b04b3bd1719d35e80e2d\r\nResult = P\r\n\r\nCount = 30\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = a65d24bd1ab92d8d294d654423412860e113c976f12ed76b\r\nMsg = 00\r\nMac = 83c1c0f3e89f6584bdd1\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 31\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 35555c801a2e7c68cd0c347e0f006be00fcce70fdd8d60ae\r\nMsg = 00\r\nMac = 7e3670cab617e79b3f57\r\nResult = P\r\n\r\nCount = 32\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 138b3db9baca13bc66e893efee2b767ce6a912b172c2cda7\r\nMsg = 00\r\nMac = 4686805681afa38cb7c4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 33\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 1bc05440ee3e34d0f25e90ca1ecbb555d0fb92b311621d17\r\nMsg = 00\r\nMac = 1e9f80432b39f7318433\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 34\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 5776d94b577ed26820fb13c00ab0e2d1a1c3589bfdc45cbd\r\nMsg = 00\r\nMac = 4d5f56d3543abed97233\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 35\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 22e493c1f2e27c9be7bb07fc00fdd51089582d139b0a9f68\r\nMsg = 00\r\nMac = efe1c6493542a8412118\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 36\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = d52f030107a2becde77331fff0c24cd72ef62c0f46ae3e6b\r\nMsg = 00\r\nMac = d1b9c7f13b189cd828c7\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 37\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = be31363e5144d9ff49ee67efebeef6d9a97e22f8a3ceb209\r\nMsg = 00\r\nMac = 03228a1a80d5f3d87b56\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 38\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 6a46492ab7ae5f3dbf16ee7b8876e0b4f0449f3b4f8cd89a\r\nMsg = 00\r\nMac = f016af853140edf22d31\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 39\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 89ef2284d8245d87f88919d4d2f71a2df05ee21d85b7d689\r\nMsg = 00\r\nMac = acdbd54bfb1f20bb65cf\r\nResult = P\r\n\r\nCount = 40\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = f4e74acdeb91d0f0ab143823102d5baed1ffe168fdb5587a\r\nMsg = 00\r\nMac = 9c15bfd3c766f88190e54d395e5387\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 41\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = d9aa4efa5d75195a400018bd38f7d8cd53fdffe88df1837f\r\nMsg = 00\r\nMac = 4a11b22e871b051ea74db3f763f140\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 42\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 13439fb32b1514d48de6002f5d12e19e1ced4caf35042602\r\nMsg = 00\r\nMac = 1412aad5e6b7f0d924700b438e0aaa\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 43\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = ffead92a4a5dc1eec6d2e441de9a9e1b7a88c607c9a79079\r\nMsg = 00\r\nMac = 6fb18d51e9a30fe6b7a6f405b3d3b4\r\nResult = P\r\n\r\nCount = 44\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 176ad1686a81992e042d6497a305038ba0cabf74c6ecd8eb\r\nMsg = 00\r\nMac = f676bdc753ffdad36628b1724b967e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 45\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = acd58261bcb2eb6345af7290b1d216c3016af6697bf5ab88\r\nMsg = 00\r\nMac = a6ae95e5a23b5f5a2dd8c8a520b9a4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 46\r\nKlen = 24 \r\n", "Mlen = 0\r\nTlen = 15\r\nKey = 0b5eb52135dc6d9c1f56a2571c1389852482e7aa3edc245a\r\nMsg = 00\r\nMac = a46221058177012b073c6ebc6aff1c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 47\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 7bd398d1b9b45f7a024e70e71c1ee7132795fbaa2d63306d\r\nMsg = 00\r\nMac = 119bc07d7f3da0be3a87844b425c0d\r\nResult = P\r\n\r\nCount = 48\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 47575b64fd4797cda8d67e9cf115ae850d7998c39d2f8709\r\nMsg = 00\r\nMac = 3f2010bdcb2fd70241475db9381570\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 49\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 68627d802cfc43bb1a987e1ef4401fa84e8a7b2b43759f50\r\nMsg = 00\r\nMac = 1e0e3333ca5790a7e7df0d6d4bf860\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 50\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 7f16b90a18deec135d32c836063cde963fc4e6daa1555476\r\nMsg = 00\r\nMac = 013e1d0bfc7a7a6c838ac98ce0da2e\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 51\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 3c89c59ab30eba6e5be8f69f597adc534cb52e94259780f6\r\nMsg = 00\r\nMac = 7f9f1bdba93d26cc3c1f022244bff6\r\nResult = P\r\n\r\nCount = 52\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = fdcf28931c91b4b79c8f8332b4eeb3f995eb1ed2fb1e8ab9\r\nMsg = 00\r\nMac = ad7f8852f1bfd65dfbce3bb39db59b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 53\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 8f570ddd0963a80abec82caf8883eaddfd63cee9f375fa7a\r\nMsg = 00\r\nMac = 82b16380d804b8eef855afb5eb839d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 54\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = cc1d70d3050f022442093e3210f5b45f1b610dc0f12fef74\r\nMsg = 00\r\nMac = d1dc61c2ef7e2cd1a4e43dc34c0ba5\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 55\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = a8a1cf9547543045fa2f00edf79bd85436bc1ae1d746790b\r\nMsg = 00\r\nMac = 48fc14782a351553ea453a3ec2538f\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 56\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 123ff732cccb535ec7a1c47a6b0ead68df31094d896709a1\r\nMsg = 00\r\nMac = 8f29dcec0a5d026d6fe4dc64cd1d4a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 57\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = ed06bd049d772cb6cc5a705faa734e87321dc8f2a4ea366a\r\nMsg = 00\r\nMac = e3fcf2590fa9ffe093bbfe8d3d7b0b\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 58\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = fa18c0b348aad167b7050c0ef6e7caf0436750873c7e4929\r\nMsg = 00\r\nMac = 630915919b6108770f5c3deaece1af\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 59\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = f66296bf67b6e91d8ad629c1b260cb5ca1985273925e73fb\r\nMsg = 00\r\nMac = 729f983d3b49b2ebf24eb04368a851\r\nResult = P\r\n\r\nCount = 60\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 2f4a6501d8fe7b65f607757ddff6ed87ae0681b98b53331d\r\nMsg = 2361d2ed837c14b6c231daf0acf2623779e0d952e98e14149308807f79145c30\r\nMac = 9a8ad7bb37d79321\r\nResult = P\r\n\r\nCount = 61\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = e2d592cb412e65f9044257d78e7491f9f80c8b08102c2d5d\r\nMsg = 4163b7ad671761a3f27394776970b413e35a2c43ca85560cdd3c9b407bfadb4f\r\nMac = ab85ac3a4f92ee2c\r\nResult = F (1 - Message changed)\r\n\r\nCount = 62\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 1534e69565cbc541bfde6901bd6e598e41a7a703091c2240\r\nMsg = 85b78269899a4712eaa9c3de041f5a74766ec27dd5265da8a117c6f277baaa24\r\nMac = 6b177203b17cc7c2\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 63\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = f0302d9a197a285909657d611ce12458b8d24652e91ffe8c\r\nMsg = 3fd6b98961f31c7b7fff0baf1cbb5884a9290ea7b5ee49915efb4b510b6ccd8c\r\nMac = d2d84fac8ecb665d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 64\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 2081442435626f7ce377132c46385510d9febfdd90c3f104\r\nMsg = c4185eb75fc23adff60d6380006a1c20fa2ff466ffddf67e99a421bfd729188b\r\nMac = 7373df1900b7a3df\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 65\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 715fb6fb464513f3650a9d0c3687980ab9caa9876d69dfeb\r\nMsg = d60b3402ad9f5f09375862ae7a370f0c744ffaf5001c80e3fd150730ab848689\r\nMac = ba39c81c18821872\r\nResult = F (1 - Message changed)\r\n\r\nCount = 66\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = a4d9f94e644fbcd97e0d993cb0af507eed259fbcf8fd7083\r\nMsg = 677acb68500d6cbbf77a3f34f58840f0c16044827641dc43d6767ce98f85dd5c\r\nMac = b129c1785acf17ba\r\nResult = P\r\n\r\nCount = 67\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 94b911cdc3137a6f7f32651b788eb82975660aea52b2c03b\r\nMsg = 549aa84bb182312dd016e3107f3b1f9c5b6a89b543561a450ccf713c76e66ad5\r\nMac = 7b92156f8b36d5eb\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 68\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = d3fff7b6f08dc4256239fc112890429fa00393e84e9b294f\r\nMsg = 15d1522654bcdce344b5d9753a0a6f31c859d547edf520478a8b5ae41506d5f7\r\nMac = 2d778849023fc9e9\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 69\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 77bbda69ec034d73e02b06f0af30e2dab60ac80cb7822eb1\r\nMsg = 1e6ee96598bd014c95e9540f5cadfe6885cd094e04048e81633d1d634f065f09\r\nMac = d35f3c169f67b597\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 70\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 544a757bc50658d7e73b25688e7fef86fb1f9f08ffb33a70\r\nMsg = e473fe5656713b3b0e4fd12c640e8c542950577f446b01d09cbc41b6393ef81c\r\nMac = e1dad03ab8d2f432\r\nResult = F (1 - Message changed)\r\n\r\nCount = 71\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 1bebfde2d5468ba0a3031bde629b11fd4094afcb205393fa\r\nMsg = cf27b30423bd7e40d6b3aeb4b1bc01b40aec081aa00f2e3bc63ff61ac4b684dc\r\nMac = 617fdf927d0e4e42\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 72\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = ab83567833d2f3461b5fbecc0e366694bb5ea00933b2b3e7\r\nMsg = 58d43b9f1581c590daab1a5c56d6fbcff749e489acc3ed51ee6aeeac0104e6ae\r\nMac = b29232e882dcb8ef\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 73\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 0e0fece7b6b659b642668e8ba3dca330523e70279155f485\r\nMsg = d8c35129ca5a84e2e6723332217f0fd2e19fd06eb27d84a93b75276270f97335\r\nMac = d7ea4755260630e2\r\nResult = P\r\n\r\nCount = 74\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = b15763294afa61bc27e0785500ab5739136f51bc78b65562\r\nMsg = 8e8271b2758964fa71520f26aab6f870fa76ea4aa220475b3b379ec4ef8e80a7\r\nMac = 6357fb64482d171c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 75\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 6dd6efd6f6caa63b729aa8186e308bc1bda06307c05a2c0a\r\nMsg = d2c9c1300f5a7520614550f9d23dcba6b41be6733426616f32912f155045282c\r\nMac = a12adaf849719778\r\nResult = P\r\n\r\nCount = 76\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 35631c844313ac335aa0d590fec472d805521f0905d44ca4\r\nMsg = 766f9ac761a06f4e006f405f7b3398aecad253f5cb8653e091e17427ff0fc1f9\r\nMac = 49090265af87c220\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 77\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 35008ef5baf263ae233758ca237dec1a51d67fcd3573094c\r\nMsg = a8f1b7b73100cfe1a03003331d9d55b75fb0d2596ede723fae9240581967ba38\r\nMac = af6c2ebe004c6d71\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 78\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 6f383f798df8f4b9f0a99206cff82709c367340c7b3b0401\r\nMsg = 9668a011e5a3a613ddfd149b0e529e9e66665006f98e730400adb4a8226283af\r\nMac = f97fcc39e240b547\r\nResult = F (1 - Message changed)\r\n\r\nCount = 79\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 9071be7a11dcf7a062d582dd5932f047396fd9eb71982bcd\r\nMsg = a8a6703044010f8301ea33bd9a808ca35838c9f58683ae3925ab67b9e1fe1ccf\r\nMac = 9065cbc5249ff8b3\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 80\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 36ad69f192ae4dcab771aeeacf01bbd32609bcbbea8ff9df\r\nMsg = 6e60fac7c027aed4632444a95824e61e2c50aa3ecdaf09ed9cec92cec35adf63\r\nMac = b6bf70e67b315c256f41\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 81\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 0cbb1d567bce009d1dc5bdb8115607213ed9a516389f728f\r\nMsg = 634efdf89ce2a9fcbd38bdc0b4cece54dfd7532880e0b4ce6eb3a4010b7cb1e7\r\nMac = 4f0af4ff9a9c9e844fe6\r\nResult = F (1 - Message changed)\r\n\r\nCount = 82\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = ec65afd2d72bf477c7fdd9fbe3f1694c328088cb5f39d9a2\r\nMsg = 10d0e88b0db8d515bdff3a791c830b28e4e3ff4fa63f45b31a3f73dfb457bf82\r\nMac = 7172095284694f5ccdf5\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 83\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = a76b981540ce229e73064af4474a7ca4a042d03a6e6bdcbf\r\nMsg = 740d4b25ca7221d0826057701a6bfd66c50a82f010a57be8c5efa0af0f761764\r\nMac = 94b657fb57cb2fd6ed3c\r\nResult = P\r\n\r\nCount = 84\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 36bf85bf63b28093d2dae511990a0bbd75184044b033c66d\r\nMsg = c1fbbae61b81ae", "bacf151f1bccfb1584f3a211fe797996938c03e806392e14c1\r\nMac = 71796cf452f61db7f540\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 85\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 67b79d9ef1a47867c7d21f19f99ed1085f17a9f092fac689\r\nMsg = d354c54151c9dcdf0d0fd8c51413c2645efafb2bf6b680b25ad76d3825a4c04f\r\nMac = e324e8d377447b40629f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 86\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = eafa8699695431ab3cfa1e87ffeae4b822a391653d2e9d78\r\nMsg = bd647990f7afec76c8f726d1de806ca0cae6f708b5024b514f11c4320913724e\r\nMac = b0da9d38a1e821ef1f39\r\nResult = P\r\n\r\nCount = 87\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 1fc4fcbc73dab4e73ed9d7606acdcd42b74972460c640fe5\r\nMsg = c86553a60da69bec1924788fc3ab985158a2d4788f33c01abead80974d26dd67\r\nMac = 992fd0b735b9fa9255c1\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 88\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 618041501dfcfdd2b60d71c04d635f6357ad8b0643af77aa\r\nMsg = e7e6b57e74ce7afbde3697e2a69d61ca615aa3dfd32fe31f5521e6ca79877613\r\nMac = c183b8f21cb2aac7201a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 89\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 53bcc9e9244e2fa1752c61e65aa5c592138447ef9287fdcb\r\nMsg = 92e962f0086591b6f61c2ce5af62480722ba6a640c3f53806c421de438358721\r\nMac = 105d286777da3f2a03a5\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 90\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 6d2429921f90a22893cb65c4530e56068e9944d0b0f61fa7\r\nMsg = ea2ad7b7d3f80793391af0328fbb594d79898e1047210628bbc7441e135bfbe3\r\nMac = 482a75ec0ecf1ea59f5c\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 91\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 3100d3c70e823fee9a1bf486ec1c56771acae35246535de1\r\nMsg = 4e6ddae0d805afcd10a055bce584c848d050fb29fe8f1c64b18e1abfe46b6578\r\nMac = b0deaf1bb6d0425d1810\r\nResult = P\r\n\r\nCount = 92\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 79aa6c03dde4bc5949921563264b440ebef71b3298da67b9\r\nMsg = 879954f977e945cd4db33d20e6749a6832677adbdd9c7e262e4acf632f665f45\r\nMac = 9863fe041d191777067d\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 93\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 85467aa82c22ab019f9243c203b4371c95604dccee5d81ef\r\nMsg = b86edcc59dc9d8e34bea3baf4bfc0d5e117482a48e522c1b02a370e9124b379e\r\nMac = 54b2f4664eca96639f7a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 94\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = d37e7aa9215cb5c2c2fe81834f200192ada3dd0f4ccb9d69\r\nMsg = 064f85a23e049529c74c4f8267abbbe685b6a838841a9e304fdf14b835eee396\r\nMac = 536701771f51d2ec354f\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 95\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 72e8c7d74cec3e248fe938a1159d8d969928e6da26b8cf96\r\nMsg = 58019989445d5ee855e0ffcf84e76f3383ae09cfad74276a3edaf05cbf8d714f\r\nMac = 182d3bf14cc391aef27b\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 96\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 5f847950d2a5d44137110594d3c0afa995b36422ab36d044\r\nMsg = 70523bc397417e09d791a4976960e02636ca7144a5681cf7b116daa33eface2d\r\nMac = 5f0b325fbfaede23de5c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 97\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = b01e84220a7d514060a79088b754ac0beacb60e5b3a47020\r\nMsg = 036137cfed567fc5e234f18d6c2b8c7e9ae0f3fa526d6596e9a9ee7bf1abdf0d\r\nMac = dbe49af18c1e1bc99b73\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 98\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = d90ba47d7c9107b103cf167041dbd7b41d96016d93961917\r\nMsg = 2d53836a0437ccf27cdfe2bf2ad53f3082100a9f045cebe6b3031d21c9a6c5b6\r\nMac = 7252ee3b5eb76abeec9a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 99\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 02e5a1306f612bdec098458cff3e691d93f050ba11ba6273\r\nMsg = 4bef96da992ab9386a3463213773f3ca7164813a15e014ab819f153386fa04a3\r\nMac = 5fac9c1a1636b66e2f55\r\nResult = P\r\n\r\nCount = 100\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 4c99ce359b8b82b67ee990529a10f2ecceadad456925a57d\r\nMsg = 89ed296a3ac03fbfb71422b9211799150b9d766a8116bebd48bd0a5068132dbc\r\nMac = e0e9583d784f87e0b7dd8fd7494a81\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 101\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = f085fb257ab64013b43a59150864a31e76c9ae94913a56ef\r\nMsg = b90ef6b773f250d4dac6fb9e62babad69ab424c96a8c0625987c030a91d27d64\r\nMac = 96f1dc9a1c668bb203428181c016ec\r\nResult = P\r\n\r\nCount = 102\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 8109f3208d5cda0f12141e40c85959b72eff1a937dae7f4c\r\nMsg = 49ab30d5c01e91bf113764342cb8ad32e6af945341a9c6a0ee2319a910416fd6\r\nMac = d13777a33f9520793eb8cbcec047cd\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 103\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 1eba29062320df7275a51aa090ab489571057e64f0ff6a52\r\nMsg = 754f03c2e298a699568d10c3e40390e0f8c398283ce1c35dbc4916fe479b87be\r\nMac = 87dcee48dfaa43e8223a2b338b220f\r\nResult = F (1 - Message changed)\r\n\r\nCount = 104\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = a04b976fa01411bcc9a3863cec91f486944fdca6e8754615\r\nMsg = abf45f39904a8f5766763fe80fa189ed9c6c15bb1a7a8fa0ae3058c9e5b87c63\r\nMac = 577aa39884335a4f66dce2a612515b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 105\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = c6f0a3692c9280c48393b0dd763e5d0b90477f34ad69f192\r\nMsg = 737bab64c8a0fd6a07329bd729d2ec88685cb5404bd13a40e095a61846dbacbc\r\nMac = d61ad5f6d8aecb7b3fc1ddb1aff64d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 106\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 095eb52135dc6d9c1f56a2571c1389852482e7aa3edc245a\r\nMsg = 47c577d1a7e69828b5c3264738dd334be8d7678ec77bf1ccb5fec3843f85ffa1\r\nMac = 4fd309a62435edd9b1ac8861f904c1\r\nResult = P\r\n\r\nCount = 107\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 2f853c1ddb31694985ea5e47322bfc8567fd7a74a46b0597\r\nMsg = 5719e671686e87e931c2c0e5842e907bf584d226e040645eaebb896b53a28c7a\r\nMac = 75ed56da2db0ffa101578118e3f620\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 108\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 67f5adc0842d7e1a4f8591d678334c95ac83df95c4341c30\r\nMsg = 6c8aaf2f91ba87b61814ed689331264c7bf98c2223c426a4ebbf7b0db692a8d8\r\nMac = b7c591522e9a5a4f3af3aea24121b6\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 109\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 8702cfd1ff87a749ceb0a7192f5a872740b7fc600845df4f\r\nMsg = d29b6a2d421abd00a59b756af34bd72a42f5557a2ed40f8a7ea59b2e05ff01d3\r\nMac = 33b597665d375c95464af2ad56465c\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 110\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 64ec1fd6af554485856b7bb3c0ad16fcd9c4ec690914a09f\r\nMsg = 0418a0afc13d6215c7bd68b12a327587eb63c145120ea626fce59c16f7d66717\r\nMac = 80a85e77efe4f47d8938dd9c55d67e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 111\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = f2991112c2cbd3038ae37b772a5090690006009f0c1965dc\r\nMsg = 231d72c9325f8c17aef4efc94855803eb2fc1eea601c84a98e8f7053840f0591\r\nMac = 14269c545a0e3d56ac9cb195cb6197\r\nResult = F (1 - Message changed)\r\n\r\nCount = 112\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 2c6d7fb9e92d98a1dd92e96f6b4013954ce1aaa5de242e6f\r\nMsg = 87ec7423f1ebfc37ee83c85938d58259efd16e3c8e55fb871e9998baa9cac81a\r\nMac = 782b7ebbada87c3572a3918a03305f\r\nResult = P\r\n\r\nCount = 113\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = d95a1b24964bfea5dd5a65f5a1398c6f9d43b26d98b47816\r\nMsg = 92f9cf56188322d18cb41d723847e6d419cd163e2be71b78e7b8dbdd099a99b2\r\nMac = 2498787836840fe1411a17f153c546\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 114\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 62f2490ba0c658848859fcbea8cc6774e24c9de979dd29d0\r\nMsg = 0822e3e6ba982091d532cd5271fbde25305d1f6e71880f81c618f267a9f122e0\r\nMac = ffb6c2a6c73245138ce06e458cf914\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 115\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 1841161a3752de1491b2b2f519d8447636e149437478d2ff\r\nMsg = 238e36b73b474de88226d4298121393ac9162f1736040bcd717b6e8db85125ff\r\nMac = 4d1656a2c8632260aa55a097451fe7\r\nResult = P\r\n\r\nCount = 116\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = d7d9a5f750078f1a82dffe2c70e6b0016eb42d13e1a8aad1\r\nMsg = 28a107d22fcd0499e0ea5aceda6dbc288a5f1d9da003c626bfb9a6c27922e9bd\r\nMac = b67bc2e20c422f9c7c27a84ba0bcfe\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 117\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = dc3ca30782c9c0a7fe8923d4b8d31aaf21e63895f51fb2f1\r\nMsg = 8716298bc17ed51aa273711873e2c2863e7a5021e46a183e6c6c81f99c02918e\r\nMac = f41b1896a22db30dac50b6b3e5e2b8\r\nResult = F (1 - Message changed)\r\n\r\nCount = 118\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 0b6b36339122610178c4bb72eb558abf15e5ed9ea0077a5c\r\nMsg = 52839f2f0853a30df14ec897a1914c685c1ac21470d00654c8c37", @@ -2451,9 +2531,9 @@ static const char *kData33[] = { "= 247\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 4f98838899bb47fd3b0fd5efcf55403996567a0fbe1abdda\r\nMsg = 0c8cc752ae8d487c621be129326513a5ccb4141e324d21aab399148c1a83\r\nMac = 1aef1b7bc7856c6e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 248\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = c98a22a667aafab0c94047e03837d51b11490693d5c57ea2\r\nMsg = e4fb1612e50607457dee8087ec41e57fcd7fc550497eaf1c8b0d47c773d8\r\nMac = 2c467fe37fee5342\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 249\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = bc6d4c46476ac1ea902be391b8a3f04e102aecead167f0e4\r\nMsg = 93b3314baf20e28a39e89592012c35adfaa3ee6d3d8e494051ee9944aaf4\r\nMac = 7f10757d2d36a55d\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 250\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 5783548205826853ae740d35d6d69ab524c38fdfc5c51eb1\r\nMsg = 11c90809f9c53d2f77b56af0a42287ac6920e3d2921cceb824d496caf1a7\r\nMac = 07630c2fc52a24b2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 251\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 9cac76976750b7937b3bbc6986b4c726f0d0a63310db85d7\r\nMsg = 5de2265292780222349ac793eaa17c5a22902344063f497aabb9dc038ce2\r\nMac = fd092bab159861c0\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 252\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 616de0b0f868eec923bf9edebbbaa51d3faaa3f86b2a5687\r\nMsg = 38013d62558647bc21d293830aa3ba80ff3fb84a8e0938754c5213077771\r\nMac = b4e782780989dc11\r\nResult = F (1 - Message changed)\r\n\r\nCount = 253\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 5df77b26f3d34eba49d287addf0a38d20514e2b7e6059935\r\nMsg = 1930a8b428334df9fa1ac16890f3a6a93fcf9d6855d00b06ff831d8f6a70\r\nMac = a8ad975046cd7571\r\nResult = P\r\n\r\nCount = 254\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = c56f710e39deed799ffde6d10e8aebfa2bab5e5e073d78e2\r\nMsg = f6fe0f16403182d012f8b6e02539c386075b4585be5b18d6ae1c5f9ebdff\r\nMac = d0df47dda012655d\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 255\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = fef8982f7342f1b953658453cd5ea413700eff00f1ee7d6f\r\nMsg = 269b6c1c95bc079398bb31e285a887c1832202d6ec257a2cf62468e29358\r\nMac = d2c90040bf66b2a6\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 256\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = a34dfa24847c365291ce1b54bcf8d9a75d861e5133cc3a74\r\nMsg = 105d2b82676bf67ca9575ffd31d7d114e709826fccb6a5c3d3d7e26ff258\r\nMac = 5e60278f98b3135c\r\nResult = F (1 - Message changed)\r\n\r\nCount = 257\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 520fe80cc4a3a5ad9c31f7010504923b7a7fd88292a64f98\r\nMsg = 2e1e0712ce74a1ad02079aeb0ce35edacc33f9a5d907cf70d0548d84ec3c\r\nMac = daf839ef84f1c81d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 258\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = da4775b8f7d654bc4cf2eb75ecf4831411bbc9a960ea2df0\r\nMsg = bfaccce3a9e66f45e454090ffedc348306dc2807951ce0bf100178612703\r\nMac = 3e2eb7f029e687be\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 259\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 15e3b3c5794fececd703ac58ccb22a78e15bbd55c579416b\r\nMsg = c6c3457ffcb6e66c085ecb69492deaa704e25aeeabb7b7795fdcc807b325\r\nMac = afd75cdc02222e65\r\nResult = P\r\n\r\nCount = 260\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = e0f2cdfb64bda8f02ab90620fc5a1943c4b536a99f3f8820\r\nMsg = fd0365ff6061e5f55c0e382f5861aad99c135f9511f33ace4bdcfe48c6e4\r\nMac = a1046d4b29fc50ed94a4\r\nResult = F (1 - Message changed)\r\n\r\nCount = 261\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = c7aafe7d3b419fa4ea06143897054846ac4b25e4744b62ba\r\nMsg = f1baf3be69f69611fcd47256e43830a1b3fd8bd3952eb26ed679eda7a4e0\r\nMac = dbc419e1ddd5cfdc63a7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 262\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 58c219f2bc8ef2ed7a82cf70e4af4747e36a30809a5a6222\r\nMsg = 622642aa69b3efe14abe0a1d2ba20f3f76efddf62e6cafe2845c4dfaa501\r\nMac = 4e496c3d2d84d11923c2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 263\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = abccee975feb10f635d548a8502f7c8b6adbd2be74117257\r\nMsg = 4f37a460d180a12789779fc335326c983ad6b18295b47f1715b82b2dc704\r\nMac = 41b234e0173770c469b9\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 264\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 0218eb619dbbde2e846218339aee4383792856496eb3b85c\r\nMsg = 28d3510a37d5f8481e7f22941c1fb1d6c70686fbad9747a23c9d5f18dfe2\r\nMac = 3cede44c942387d91767\r\nResult = P\r\n\r\nCount = 265\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 88b2514f368d51db283039efcde1891652a77daf68feec43\r\nMsg = 067a3a0434e92cac02710221fbb6dfcb7ef0264e2994905491317c8c3697\r\nMac = 128e652ce0a8f1a6194d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 266\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = f2a78c449621278e9e927fcd50742d042d98d5142380fd3d\r\nMsg = df899dd6b99cc28d66604ca92431fa7f442a4927d03b392e707b548b8ebf\r\nMac = 2eca3c42b5e5d0f3b9e4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 267\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 01fbfbde7dfdd6f0a0c5244cf6c36eece4d6dedd8baa463b\r\nMsg = 485ef613bdab5473763bb269a0d8c7a4bf4850bba072a96f8fc39a31cbd0\r\nMac = 333eb331d6a0d46fa279\r\nResult = P\r\n\r\nCount = 268\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 6ce99c231d2ef0fd48c2375dca93f8bb0df97d4a44e835cf\r\nMsg = 32d71e59634126ac6c6156a80a0dfa0175b29e9f40a3169680b1c15830fc\r\nMac = 3e90350e115c425ba466\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 269\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = f7a93aab5707ca3d2362c5669198e0218493acc3cb7b02d3\r\nMsg = aeec40ca8964fd6a67d3dc871ebf1bfb72f52907f1d6ad441bf2cadcc6d8\r\nMac = 7381d65aa138c86713b5\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 270\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 84f39f5207afcfd677a7544579f2b888a1eabdee4e835924\r\nMsg = b8d21e9c70bf63f04be311d50f84aad7e1bd2b0e517434ab978d68d01c5d\r\nMac = 4ab61c537f8b15f824cd\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 271\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = d488bdda400932de56a9f105f0e74ee79c2ed869faaadc31\r\nMsg = e64949ed85de6359595f286e29014c26daa7759aee56e4194ee958774606\r\nMac = 2752bc490802b9dd8686\r\nResult = F (1 - Message changed)\r\n\r\nCount = 272\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 76ddfb075fce4be8854185c6899a88d06e24854506b31237\r\nMsg = 9d86ae7d70e839078babf7fd60480a4351690867c6a8af837d9ad465220c\r\nMac = 2522efecaa1ba11c0260\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 273\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 618041501dfcfdd2b60d71c04d635f6357ad8b0643af77aa\r\nMsg = e5e6b57e74ce7afbde3697e2a69d61ca615aa3dfd32fe31f5521e6ca7987\r\nMac = d958753757a11eacc848\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 274\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = dff6b9493de80447ee18ea7311fc9b8d74f77ac1ab21ce84\r\nMsg = d70aef3532bdc5293a3ebb11589ac1f801c9f93ea0d656e1d04068facf9f\r\nMac = 9a761e0e54767e414cf2\r\nResult = P\r\n\r\nCount = 275\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = d7780ba2dc5cc584472b64bc9f6246bedb27c70aca22c0a3\r\nMsg = 14691c1b47ff1547c1d2151913c2d1862d8f54782291ea202caa3d8ef07a\r\nMac = 78a2bf3a5fc87a14e090\r\nResult = P\r\n\r\nCount = 276\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 3bc5dba883e2e3b81df06760cc32f11009cf5a5503cbe864\r\nMsg = 9d043e368b41acb5eebb99197e15adbc3d19175a0bfcc97275e3e5efcfa5\r\nMac = f457293acf683c873add\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 277\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 7b3fba25c5ef410ecec62276b105ecc01c325dc2530e8364\r\nMsg = fda4bede287c57eea4448af5e99d41c7d307d1f202af7f387f874342a29c\r\nMac = 0cfb78ede5f4c185c33b\r\nResult = F (1 - Message changed)\r\n\r\nCount = 278\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 38efdbbc5645f65414b9cb81d2f9e4f190cf6e6e05eaedbe\r\nMsg = 50422c5e6a0fb8231b3bb6e2f89607019be6ad92a4dae8e0fe3f9e486476\r\nMac = 0c1acd8e8527e2663486\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 279\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 94ea5b0aa6c8b07e379122006042c920077bd61610df6b4b\r\nMsg = 1d52f401f01058356d8c4c630f64c5322caa6063d6365ebf0040ec4ee12e\r\nMac = 2dec0d3bca617209b07a\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 280\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 5584994f80640233ac8eb4d2f873e8c997499095250b48b3\r\nMsg = 91febca4f1ae7e27501400c44ce8681ec90f5a5637c962db142c9284b1d1\r\nMac = f0b3135c1748e823aed10c4694fc60\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 281\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 57e99653fdcab10135a2ee3bf45c1be69e9ed57bd74dfbad\r\nMsg = 51c88fd98a7d82043a1500fc3d8a66ba7ab7760467c7fd89cfeeb22dd257\r\nMac = c588ee1d4f330e51872065c02cae61\r\nResult = F (1 - Message changed)\r\n\r\nCount = 282\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = f622d736124641bb7d53706bf2a69db2fc31461fb92818be\r\nMsg = f09569906", "381138cc49e3fc2384c5d33c34abd3d617c487b52ec6ee7b510\r\nMac = 610e1c1f9ab35059580061b8662a81\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 283\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 9662baae49c26e5452f3304ceed3b78326d2020a99a63f69\r\nMsg = 1d93aca4e2e31f5ebb84fad580fe74f5b6d1d86ab30cd0c8031be4090be1\r\nMac = 3c5a4eb51ec58ef3468bb00e7cae8c\r\nResult = P\r\n\r\nCount = 284\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = f2100615431349aba5c4f5a7f358fe7be579f4cb9e8f33d2\r\nMsg = aaf26bff7ad4116969c15d9206de6c737b7dda87619e3575d9b6b2efd8b0\r\nMac = 7396deeb4316fc6d84d3af119656f3\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 285\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = a5993acbea8c55d7eb55d60596f83e1d9f2cf636d06240da\r\nMsg = 0bc1fede6a6ed9e1deda82612fbaa6e60f0b2461fd5d131e6a7206f41a07\r\nMac = 2f6b0a9f2a972d299bfa5892f8ea83\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 286\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 775846f9dbf36415640276642cccf87e3dbdf6519c5b2db8\r\nMsg = 4fc989f327e1a1cc7b8af618ee6ae6d25f78e2b76b681455336945655f13\r\nMac = 8b3cf3171912096763a2ebe5ea9e41\r\nResult = P\r\n\r\nCount = 287\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = b214b16bbac27ccc9773d3c8dd31275da4876c039740ca8d\r\nMsg = 7786a3e30acffd6dde375bd859dd6be2c9221b979d0c66d1d5ed6e00b73f\r\nMac = 1a73acbf4e9250610b74c727b9c42c\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 288\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 032b4cfce8a1acd89de5f6f78794e2813bbcdb89959dafec\r\nMsg = 3f0bf0141dd3ace0fabeace61811eac5ec801deb7ffe3b0514d43db90bf0\r\nMac = c24066cbc00cb5c28e48141b627411\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 289\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = a053255875ed4b5193bd9c5fa4172a1f660ecfd2a394c2a5\r\nMsg = 14666eb960c6b4f8b6ccc49f79a039b12c02e0972c300f1e9d0a38c0a474\r\nMac = abce3abc224772a43c058016bf25bc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 290\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 0ee87b40abaa99f598fba22c3e677a85ca3ec95c3a51aca8\r\nMsg = 1bff19aacb9c7d0a44a15ce686a2469e3934d086365d36f449484498353d\r\nMac = 4d565c2e12901845e77ed8b02746ca\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 291\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 3384f8563cfd0fc8019bacc9b691c9ba4ae6dc8cf4c00629\r\nMsg = d31e959cf7842db351db407266ddae0b36e37f34270576724083e9989764\r\nMac = 96d0dbf51d96b532321da593383964\r\nResult = P\r\n\r\nCount = 292\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 375904fb9fcafb7f19877b145b0284cef61ac7a3d88f537c\r\nMsg = 441bd4db5e80c7db1b575a19b7bad021a719658a2c818566291d3cdd32fd\r\nMac = 3b8dac029f6658e44e5f5bb8f8ee40\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 293\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 3c1ca347a7d3d8db8f704410c493d7a65718cb7bffec2dff\r\nMsg = 555fd02fad4f44484133f9472c050f9da27390fa2a3e48cb0be0d7020171\r\nMac = 32be39d874c15a0fffc7111f76bbc4\r\nResult = F (1 - Message changed)\r\n\r\nCount = 294\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 8bed296a3ac03fbfb71422b9211799150b9d766a8116bebd\r\nMsg = 6df3de543cdb6d1adb6ca7df6b5a4510fc8379a4f2c87497ad1c2b9a69da\r\nMac = f24ff3218e7905d81c3e99c84bfd26\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 295\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 9530bb291d38f6bed10318081dde8fd178f02eb0e8b7d022\r\nMsg = 5f48624302d1acf7750994d45f0999ecd89a3861cd0268d5a51e672124b1\r\nMac = 0afed54c577e550eba7ac94a2d82d8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 296\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = f5400b86ace6e3da5f090befb96fc05d0409bf41fc77b4e0\r\nMsg = 1c79b055fded54af5ad2f3253f93a090ec003863d9458d3ff718c4c13937\r\nMac = 59f94d4b13539a5f0a8672e4599bad\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 297\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = c033e4a512297caecdbead892b11a9f7007af9a74bcab89e\r\nMsg = 3ce965d58856663d54269af4791ec57ef98227ea387d525769c23ab74674\r\nMac = 0dc19e37a255dabb61957f7f89ab06\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 298\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 2459f951d1255d093b72144b83b05ea3185d5123d1ca864d\r\nMsg = 661c6ff41af91a6d828a4d5d507f8a9130abe91412070950c5fa4c75c8d7\r\nMac = ac8e75b4465a52b3a7da3746f9875a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 299\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 3b63415210361822e23cccf0faae88cd7642f44cec45fe37\r\nMsg = d7f78e950d2ab520a6f1e82ec6f206b2e8c71131c85234bd80500527f131\r\nMac = 15e59760acd3dd74155d6d3739c189\r\nResult = P\r\n", }; -static const size_t kLen34 = 61387; +static const size_t kLen35 = 61387; -static const char *kData34[] = { +static const char *kData35[] = { "# CAVS 11.0\r\n# CMACVer information \r\n# Algorithms tested:Alg = AES KeySize = 256 Mode = Verify \r\n# Generated on Tue Mar 15 08:40:45 2011\r\n\r\n\r\nCount = 0\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 45b74171271e1fdc19f9beadda58010d843af69dc2f4ad003dd74b9b570d5a98\r\nMsg = 00\r\nMac = dc0ee796\r\nResult = P\r\n\r\nCount = 1\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 2cb4239fffd13762fb5391f5a4760d12d96ea12666a793b4d651e9f4891c22c1\r\nMsg = 00\r\nMac = 2e19d6cf\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 2\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = d88586da8b605a6fd5a45d316b89fea15e27ff4d92238397718e68b8e00ad605\r\nMsg = 00\r\nMac = 8ad78885\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 3\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 136ffda3359fee8c81e6dac131256f4bffc0d3c3e74f8aaf2f979a0fa5b8ed32\r\nMsg = 00\r\nMac = e430d0da\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 4\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = e1a7867476bee9928b7237ab7a3d502fbe3d2d45b6e4c41aa9f12b79099f019d\r\nMsg = 00\r\nMac = b6f00f90\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 5\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 5b4d945d55dea22e37821ec396476a4bfb617d2f392ad93afe67bcfda9cd9b72\r\nMsg = 00\r\nMac = 5076ef43\r\nResult = P\r\n\r\nCount = 6\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 23df62a79fd5866425427d0ccabf05b16590e8452ee22e028b51910926ad314a\r\nMsg = 00\r\nMac = 7bd29398\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 7\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = ce9da814595f76a7e52a1222c7c9a6579b3cc2e393ba51580ff6cc9b6ea2ad8a\r\nMsg = 00\r\nMac = ce872fd7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 8\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 507c4f32246d637fe08e454c638b014438109e1fca31f724d40ac6ec1aa20268\r\nMsg = 00\r\nMac = 282a7ec2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 9\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 537dfe9fc000468dde29800549b1cfaae67ad89d22c8264d7eadcd914ac54ef4\r\nMsg = 00\r\nMac = 7936b7d5\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 10\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 1f57959cecbd377374477e33b34979814f260f77867392ed645998f73a3b06ae\r\nMsg = 00\r\nMac = b4b63264\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 11\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 3d272b4a1a1031369aff514e2df98d580f972b5abeacc05cb1288e6e473c0fed\r\nMsg = 00\r\nMac = 18b35edb\r\nResult = P\r\n\r\nCount = 12\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 8774d1acf96362215a3d1e51e1a52a980685dec4f3afd2d438c03c00c04a79f9\r\nMsg = 00\r\nMac = 80eb7a84\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 13\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = f37155beb5eed8899d9ed4b5fa21b60b40af289f090a355d5bb1aee52957cd99\r\nMsg = 00\r\nMac = 6827f73d\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 14\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = fcb52c44379ae8083bdc7b827383df93cb1a7ecc21574730f9fe003b7302de23\r\nMsg = 00\r\nMac = ccad16d9\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 15\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 83e231ecf8913ebce00e62b8f00c1abbaad710142fdb912c54664169f7af0e51\r\nMsg = 00\r\nMac = 8e393f56\r\nResult = P\r\n\r\nCount = 16\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 7d35e77450e2adf8805d5ad67de5835b2c5dccafe8440865c7e7a1501ed53a98\r\nMsg = 00\r\nMac = c6899710\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 17\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 87143071241bb65261fe7afcc102416e59b9e46ee0c9007308f0eec10e45f6d6\r\nMsg = 00\r\nMac = a1a4449e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 18\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = d30d2d1670553c71ff0264ab861574dd03a103d954226d1b540f18fc47b3fc29\r\nMsg = 00\r\nMac = 217ac763\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 19\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = d6983226b2c3a431abcceb77c8ec6b9bae80199115b28c5d7c56561e1b12944c\r\nMsg = 00\r\nMac = 26c717ce\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 20\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 0cf53b4aae3e0a209e58385dd32d9cc6163265241332c332af4de4b99b4022fa\r\nMsg = 00\r\nMac = 1bfd19f6e1070186\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 21\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 5f988f38410d26d293ef32d74eaa81acca82545e767ab59dcc750a09849cebad\r\nMsg = 00\r\nMac = 7e52911c0d7987a2\r\nResult = P\r\n\r\nCount = 22\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = d8fd6e1dfcca8f656705aed7e356a576baf8907c8d10d54c833d62a8a6703624\r\nMsg = 00\r\nMac = 31b478b4b4adaae0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 23\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 49fd56dec210e903f6c703332637f9c267eab9333e2701a16c74ce5e0b5a16d9\r\nMsg = 00\r\nMac = c8be2b36c93684f3\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 24\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = fa282e1f3276a3e0c769f2ba25ce830591e860300cc03ab57abdb14c0374d060\r\nMsg = 00\r\nMac = 27b8111c3d9f14f1\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 25\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 1c6942e914218135496e0d7910abe67b9f7f29bb09029bb37021865d7543c4f6\r\nMsg = 00\r\nMac = 466b7077bec98b7b\r\nResult = P\r\n\r\nCount = 26\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 08f199a8d7e3ea821dd3106e8947cd2e9d485342b25a64713db2b8a650a49ffd\r\nMsg = 00\r\nMac = 796deae0d06b1bf4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 27\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = febacddf3448c7464297ae53166793e2ed962de0d0947c5e5e17abe3cc103b07\r\nMsg = 00\r\nMac = 5e2d21aa3351a2a0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 28\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 59b9fb83b6a85f017bde6c0ff3ced955b9f343cc71b680c6b591302f52759412\r\nMsg = 00\r\nMac = 3e5428eca10808b6\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 29\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = f07e6655424125462a96390e02bfee9d89cb271bd9bbf22a9de45f6b7e949343\r\nMsg = 00\r\nMac = eed5aed01096226b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 30\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = a04f84bd79406c138d02698f003276d0449120bef4578d78fecabe8e070e1171\r\nMsg = 00\r\nMac = 18553226e5f9788a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 31\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 1673a52494e9af02472c1777232aa3813c7c162593eca7112f34b3807009af5e\r\nMsg = 00\r\nMac = c5907fff58c68ee7\r\nResult = P\r\n\r\nCount = 32\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 1e4ffbed2d5a7bcda5e24a66048660629d57567f83307087a846db8246ff332a\r\nMsg = 00\r\nMac = 29599bc212927246\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 33\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 8b80c24ab4a3c24ced82ca8c69924553a37a139bfa2541c59e15188ab0fa5a34\r\nMsg = 00\r\nMac = 299746d93b0b4881\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 34\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = a00ebf59768f6437b48a91923f5effcf31c745b980f79f2edde9ed18dcf2ffa0\r\nMsg = 00\r\nMac = 61950ed83db6bf74\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 35\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 319d3f58fd7257901ff364fa68b86b1ba27c11962b2c5be8e33eb95548444322\r\nMsg = 00\r\nMac = 26793e8f8d5eb7c2\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 36\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 015a9d1f2df2c31f14cfbdc0bd68725fe8113a024f2a43312d963207fd6f0d88\r\nMsg = 00\r\nMac = b19fc2680b8b82b7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 37\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 003cff344c4e1932ac628440d819eaaafcc3ebe7c525cb7abb7a6716d2b76e05\r\nMsg = 00\r\nMac = 48a98dbf16257142\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 38\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 1a581f36e1816d346f7bcc6df78316aa353111e447fee6f0bd05d562f30626ab\r\nMsg = 00\r\nMac = 587155c18ebbf8b8\r\nResult = P\r\n\r\nCount = 39\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = ebab54c4a22a16f7d9546bbf682b995a6ce944e949f1920eee058db95ab9c93f\r\nMsg = 00\r\nMac = 067927f063adfaac\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 40\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 58405ef8fb69e88221edc10a92c01cc44255aa7083096adb79bec3a8cec6d050\r\nMsg = b4aaf9ad1bde60a8d7e7cb16c1cf6b713df17d1507b028973068a95963a5ad5b\r\nMac = 42ffe65f\r\nResult = P\r\n\r\nCount = 41\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = ca0f404e3389e9527135f53eb58bca7726266b8086d33fb512e8143daad7633a\r\nMsg = 8f2a6b2185f73372ccaeaa7f93d30d1ca80a451ee0e46ccbbaf98c8f3f37aaf1\r\nMac = f2b311b4\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 42\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 67b896b88f07962e08471634ab7e522144d716a2969bde55a05c3c931f747a8d\r\nMsg = 0218eb619dbbde2e846218339aee4383792856496eb3b85cc43fa81446fedc5d\r\nMac = 69db1949\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 43\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 422994df8766f7a6a7ebfa2ca57ed6189d9e9e8455c8715c14f3f407b75dff4a\r\nMsg =", " 12f0c45d06a138a964fb11b2d450620a2977bcd2952afe371cad6e3d48b009bc\r\nMac = fc5f1ccc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 44\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 3291be3aecd2e06cd2ee61a14d723450043d450567cbb0bf88ba32972d86dca3\r\nMsg = 343d5a4ad39acf81adcf24e9807618932abcb3bc076734f179174c77c8cb89e9\r\nMac = 3593d615\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 45\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = a1885ce431cedbb60f7b3d96a06cbc60a964df156ea4b4191abc5a9f60a0c361\r\nMsg = eedd0d767a25b24ee25fe747718256af51d7b4bfe900adc069381a71a2dc7aad\r\nMac = c558f768\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 46\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 039188ec58fa55acde53c337fcfd0013f0c6efa55c60ce470112159bcaada11e\r\nMsg = 009f47f180e085776be6644aeac0070be64c289f84a7ba3dece7cdc54f0db354\r\nMac = 20d3639b\r\nResult = P\r\n\r\nCount = 47\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = f7d946f66e1cc4e5a79dfb5559cbea5a128545eac38e17ee7f3bac9a806faefa\r\nMsg = f250c49f9882f10db247adfdb2112c2589e1011f77c48e0f219dbf85e326f8a5\r\nMac = 90b4bfcb\r\nResult = F (1 - Message changed)\r\n\r\nCount = 48\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = a61f586ddbbe0219187f8f446d4b172f5e9bf855d1d5d6592ad8e03eb4d555d6\r\nMsg = 71c8eb0079559a306e236c49b7ce1b6cfe26c7888733eb7ec07690831a72c0c5\r\nMac = 78ce0135\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 49\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 7774802fd82fe96c05431acd40b49b1160d403c0db09b10f23d0bd0435022edc\r\nMsg = e75b6ca1b87e775b33536979422a1cf743f58c71b1599adb00050972c843cdf2\r\nMac = d885703e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 50\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = c4261ebb87a76aaa82a00392ee2e2318f0b52d5f2724e374847ad9ea5c8929c1\r\nMsg = a41bb1f256228302cd0548ae2148ff42774d18c2d6d3e38b36bc4938da13bac3\r\nMac = 857d8909\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 51\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 6219c19233c1b91d7785fde3b65df3bd2e1d74331ba62e4d365947a77cd243c4\r\nMsg = 68f17b9f57734784144112c79bf360ee324d37f9a7718137d954b15e796fa9db\r\nMac = 0e85de57\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 52\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 7e8cae1374d3a21bf2dd3786754668f17aa63dd5e3654cff9dd18041806d1968\r\nMsg = 2d335be62ecfed45183f5a04014c1a52afb7b918b9cc1f2be93b15c6e5240537\r\nMac = b56ee72c\r\nResult = P\r\n\r\nCount = 53\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = c2425ed20cd28fda67a2bcc0ab342a49d79d6b4eb196266cb0d116fc18895545\r\nMsg = b5f24c00cd15e377f444ae55e02b335379e7ae14e7c9bd05f0575d8981941553\r\nMac = 2e44c573\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 54\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 1f7871680bfa59a8a178604dc513b51a3d4c682cc4c421de594512e9dd062ad0\r\nMsg = fcb43224bf8989e1809d90481ba043328febaf4b6c1c05d18800ed98f4b71c52\r\nMac = bee03b92\r\nResult = F (1 - Message changed)\r\n\r\nCount = 55\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = d8a27558d070214d3f765cf969b2b8f09c0b14ebc492cb2539072b04db9f29fc\r\nMsg = fc69a1f0d0ba8eca9e7c0570cec9c76b511c74b2d8b65928444189675eb42fbc\r\nMac = fab3b2f6\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 56\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 72354b455230b72a6dbfa5cf6c3726d7f8e65ca773f9d469e99d165743657b36\r\nMsg = aac60835c309d837aacc635931af95702a4784c214283ebbfb43c4e29973560b\r\nMac = 69519d9e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 57\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = ca92b095173076a40e24522297be27fd3a765c8d417f24c71a9f03b3fe3d8e20\r\nMsg = a96c4d5c89a364263c97a453308b9360bc0ed868602b9ff54fe13f162ad31ab2\r\nMac = c59a1a39\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 58\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = aa56f98e03f559eea02ad958e125f2312ff97bc3310079ce437b383f247a9b3f\r\nMsg = 01bf2aa8dc66ca44d16d4567f1adddd4461f78706ff15cf68ad937eb57aa62d5\r\nMac = 31171cfc\r\nResult = P\r\n\r\nCount = 59\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = a0e317b790870e6703e6077dfb8ea327c12e29a17107284cb89d5effddb2d9a1\r\nMsg = eb4ea6b72dfc6657e835bf82054796183330c02a8db3c5b179abe37fd0a05675\r\nMac = 05d54199\r\nResult = F (1 - Message changed)\r\n\r\nCount = 60\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = e3de27949ff64066131c81bfee172b308f9bb0b31710678ec394837b79434605\r\nMsg = e41557341e8dae33568524f3f64b23426044c9db3526463ad16786af14f611b2\r\nMac = 975ad1d2fcff6a85\r\nResult = F (1 - Message changed)\r\n\r\nCount = 61\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 492dacdcb4a35fc438a6eaa35e26d2f683a1e85e92df28f213dfe1da6511161a\r\nMsg = 0515ad7b8576258645d37b7ac771745620e2e9e009cd778f34ed77a7dc5c30a6\r\nMac = 9f43dba2aad2f539\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 62\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = d71c50d55850d432cd8c8ff4ea427b3f19cbe14c785a7704202fcbcead0de5a5\r\nMsg = 7ffbc4a09583029cbb0acb6b13f08a189033da22c2ecf921f01d79ac68a9397b\r\nMac = 5d00ffc5f8cf1ddd\r\nResult = P\r\n\r\nCount = 63\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 557eb2e709d58915a8bada6433f2e5660247e0cb1588ea84a9d24028090eb396\r\nMsg = 003132645e3026f6a2b9d0644c16e5e4d1bf8b53a51f0e1b999bd45a67d19341\r\nMac = 6f3d9f50d09476ef\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 64\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 351d779277148ab4474843cc798942cacbe863eb1c1c9338dc25e251c12fda68\r\nMsg = 34bcdd3d0469c01d0d95a85ca705d887385bfde20596a90b47d902db826dbc8d\r\nMac = 79ded259f93456bc\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 65\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = e1c17ce3d3c61468a7652a95128bc0f6c33d9ccc46e7490327f15f645a94040c\r\nMsg = 97829c60ca9a71c23eaf1c4b4fbd72043037ef0cd356b68e0db0d4f0f50cc54d\r\nMac = a93f0d16499f63ec\r\nResult = F (1 - Message changed)\r\n\r\nCount = 66\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = a9a86a4407b7ecebc89434baa65ef173e88bd2dad9899b717ca578867c2d916f\r\nMsg = 25a152850b4b80b19d8f0b504b2a8a241824b3a1fca8d85c8713b2c0c84b5e02\r\nMac = fe84ce3defe00f67\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 67\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = ed14373671cd8041e00874b5d098ea225eaf9c68bb51cecbe8083149bdda062a\r\nMsg = 38106cdc72b1ddd0fe11f23819096dd7479e95ee9730940c28f51e28eca653ed\r\nMac = 470404ed731640a7\r\nResult = P\r\n\r\nCount = 68\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 009f47f180e085776be6644aeac0070be64c289f84a7ba3dece7cdc54f0db354\r\nMsg = 2eced43c084a86f89f61e7237425137c167aac29e4cac4071afafd3f0c9dee1a\r\nMac = f67d432e5b6fc5e4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 69\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = f250c49f9882f10db247adfdb2112c2589e1011f77c48e0f219dbf85e326f8a5\r\nMsg = ce61d6d8de1b299c9b063d1e1cb1faf7a616faa7c6673d7f9c0a1ebe7ae285fa\r\nMac = e1d950593abc14e4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 70\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 001150b2dd572288b6fde466ec2c2a64c75a9d516b7096f7082bec9f52c20ad8\r\nMsg = 6dc38e37d1379732df4dd535db88d17aa59d7cf9e8d60ae695b4047b90d899f7\r\nMac = 2de6700fc1562ad3\r\nResult = P\r\n\r\nCount = 71\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 68e00d394855b6697da8213a120dc2213b3a8a1e88c9b93f5edef465a809974a\r\nMsg = d21aed2073e8ae9c0560f9dc1adb961d4f959fa12c0384a44c675192bea13477\r\nMac = 9594f10d5ce5e616\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 72\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = be0f6052baf658a3607d999b81401edf7e2afac2b143e1b908c8ea0ff38193d9\r\nMsg = e502f0b4710bfe517e783c4bbb85055c8471b04e12dd6776f276367fb5d36369\r\nMac = d409a879dccca77d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 73\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 7147b3c5ffb2660c45cd8d78a6fd44bdd5ba75349642b32ec88f6688a287297f\r\nMsg = cebe84df789c98dd125bf43cd993e2f089611b98d10be04904e2468d116dd2ab\r\nMac = 21cfc1e6c1c38df8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 74\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 205e751926038ef940c6599d84a9e1b4737bc826e9fcde544d43f2a10b5de931\r\nMsg = 86ffd5bd3bd1cae10706a61d247b2257b165f37cb53ff21761077a2295a9111b\r\nMac = 73d66ea826b84fc0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 75\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 8c8a502eafcfbb813dd1ea907b1660a41fcaa3f905aa93c22320f96ebfaf632a\r\nMsg = 626aed82974ef29a1ba0a6c6fefcbf34ca982e6214835183502f6a24ea2e500f\r\nMac = ca3d007ecd99be83\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 76\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 596db502a357e102566291b916b32b8a09e99d3739f5e6543a2cd8fb0c9a1cc2\r\nMsg = 22bade59214fa4b933cb5e3dc5f096e239af4c2f44f582b095c7fea6b8914bfd\r\nMac = ff4ec21d89d4762c\r\nResult = P\r\n\r\nCount = 77\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = f51f2fb4b3fd8045b70d34b600a2697cbf7503be0d8cfb5cdc60f9312e3e269", "5\r\nMsg = 4d43702be4f0530319555d7f1a3356160f6cae48051f12e22a153d7e405c1149\r\nMac = 3d615ee77043d8b4\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 78\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 80a4b14f951490618ce53d39abd3d786b425d4f76b26a25052d98ebdb7e9e666\r\nMsg = 0b2a77b0175ffafee40cf83bd19e785dc7ec4319786c49b3e7a741142aea901d\r\nMac = aedcaa2e26d2f5a7\r\nResult = F (1 - Message changed)\r\n\r\nCount = 79\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 39fb57fadff7cd9e1cfdba154422b71d693d08807d86da46ba63c929417ea549\r\nMsg = 567c7400f190d06e682b3dac5f751639a9007362b1a2a8b618800fbb9f6c08df\r\nMac = e29461fe8c6b3767\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 80\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 535ed61510eb268100be032b7a258e84bdb32448269d3000a76444ca74b4695c\r\nMsg = f7f28df82f910badc5f4b3860af28cbb6a1c7af3fafa6dae5398d8e0a14165def78be77ee6948f7a4d8a64167271ed0352203082368de1cd874bd3b2e351b281\r\nMac = 4a0fd541\r\nResult = F (1 - Message changed)\r\n\r\nCount = 81\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 713fd349c56d1086794eb20ed59ddc89b065bb8533b968c6dfa60bddd16646fd\r\nMsg = 4f3b91aeaaabfc7d4dd6821549d4eee2ea17f59aa196c67b422be2d46f3a2ec65494464c969b157985a6a30199a72dfb1c0b7be524e16ee9c43fd95e83e19192\r\nMac = bd4eab1e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 82\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 1f89d9ee93294aeaf3503d15a6dbef48708de48897a72b3545b9e3852eb7fe31\r\nMsg = ea0608b19f47676f0f342cc2742e003a6a74fa2850f41e0cf162235163887a3830dd8b13b45842b3c686ca239bdb9897e646ac9f440713a0d8c5b18532db3db2\r\nMac = 8bddd404\r\nResult = P\r\n\r\nCount = 83\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 2b50dbe8a5ed0c7cb69aa60a38d10cfa4553c73d58c0ce84b26504b0fd55038a\r\nMsg = 2586563b0102f662b5a8f9bfb0c1d107a4c27569d27bc066889213e3e830427ceafaae1ca543aecaca7f34c671fbadd518cc28d9e806bba43b2e220e5cf1aa45\r\nMac = 987514d4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 84\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 29a7ed3aa55c7eb7e5bf343ca0efbf8b2062ce67b086255551a8efa0ae16569f\r\nMsg = 2e6f2d21aa133a5061622f08ac64c6b3a3dc8154862033055c27c3a3d9e42dc885d2c9f91bd1d0212f301c3e140b2f5bfdd777be623bd162a6214ba8f60e2e49\r\nMac = 1bf45457\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 85\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982\r\nMsg = 65916ae3d88ab2add5c0c6910ea993d385cbd35c5077ea0d9db30e53f378abfcbb1e0649fe14204470d4dd53ae16650ec444cb4ef22fed86b0009b57ef71fb5e\r\nMac = 578f80b2\r\nResult = F (1 - Message changed)\r\n\r\nCount = 86\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 47e49e5b57fbb834932fa32107697471119f1be3c3a6e71a8c474d4b1596e539\r\nMsg = b3cec7ad75e2bf6c87029a67365aa83cf797ae2f4d42e720ed4c48ba21ea08ee6aa3609f69a6909fff6222dbb45172d255146e4ce1c59b48a7895936a8646766\r\nMac = e6e64597\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 87\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = f0b0aaacc25a791c236aed0e9b537fad00a15efa9c89b5068ac52c64639fb1de\r\nMsg = 9a5a9560baed3b8e0e90b92655d4e5f33889e5d7253d9f6c5aff71ea4069224cfbdd19ae3f0ecdfa65c27dc3bed721712784a09fdde243c193ab6a0ac2417e8d\r\nMac = 990bb31e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 88\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 14db1ffc1c87117fc72981706c0f90404acc98aabe950839baeb6f0b727bd6d4\r\nMsg = 3d736aeca5720f5c7bbb16df61f6d785facfa070aaa89c2d9e8af9450d62490ebd6a29c7c8e521e4a00fcca7515439f006c09056cfb7f976a1e6b98b9f799e40\r\nMac = a6786e52\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 89\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = c6f0a3692c9280c48393b0dd763e5d0b90477f34ad69f192ae4dcab771aeeacf\r\nMsg = 8439ff717e1e15161119494d368d7f3812601588265bbefbc6d48e22cc8a51688dd021500cee38fe6ec402f9aeb0762f92b2a73adece96e1c7b24be2aa9924ef\r\nMac = 70126cfa\r\nResult = P\r\n\r\nCount = 90\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 75225a26d63e91281fb37ace46354f81de99dedfde8b770ea47f08503aea87d8\r\nMsg = d729d8cd1631aacfe485b1f408a4fb60256e7a8ed6e5b53afc34be7e57f1643b549fa9ba2677779318688ece225cc149babd6259ec37fbb4adc03e8f6dd63f03\r\nMac = 5112f762\r\nResult = P\r\n\r\nCount = 91\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = ab72eef2aba30205c986e2052d6e2c67881d24ae5fceaa8fa77969539152527e\r\nMsg = 5251a0aadbc92b76705eb053d09b25b5ad38eebabfe1980d143ac90aa81f7723353059824c8d9befa5ded6f5b4973f407c7a1f4aa85d8337d82d34fd3933e9c7\r\nMac = 52f7a014\r\nResult = F (1 - Message changed)\r\n\r\nCount = 92\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 6906d6533fbc33f56e38e6a639798005daa228ebd2fc8f93803d26fef30b8e95\r\nMsg = 6341370e126097f9721a13c977eb4875cf1286e15c3adfa4e7597e0e13d93b6a8ff66c809067fd5e7f40c358ee170d4ed1657c2deb3015b886e79589678e0452\r\nMac = 1b6a021e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 93\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = cd9072aeffebbdfcce95b569c34158d0e130ef24dc99e3f98a4dd246949be269\r\nMsg = f882339f93ff114bfead78044aab1c7fe109dbf1bb2d968ad476403fdd2034cd3168ccfb0cf02f1ff7646ae3875ec349478749edf300b08be7005cc0d6bebc15\r\nMac = d16bcdc7\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 94\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 3005c0100dff59e5e4b0e3b95abbbc79749dc49ba29a79b1fcf7613ecb6aa9c8\r\nMsg = 4c2c670f3ac1c4e33a8d43063c8983e20f1ce6a73299fef1e70a42a5882c061b1ebaaa8330ee1181d946541b1d84b8d57df8de1ac9013ade36d2c682b172f8f8\r\nMac = e5689100\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 95\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = f32eefb301356fb1cad6dfa94864542b5f8cd8e98438bdbfbbb431f0c10f12b3\r\nMsg = dae6db62842a8a25123e50041b701ad17e2f63a0496443c3d905a9f943e6e4e2f3d369b693ddd0372ff11fe496af4b700378fc72fcc9915e7bc864b44c1d4f77\r\nMac = 280624c3\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 96\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = b0212ca369c611b725eccc3daa58df412787a3475f418d820971af46773382c0\r\nMsg = 13ca022396285bf7b82a600b560208c54ee14f8496bce684895029027e6451a09f4eeb0af9b889dacfa4b7b934ae30c7d991523e23edd0528048a75bfc525335\r\nMac = 8e9759db\r\nResult = F (1 - Message changed)\r\n\r\nCount = 97\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 57a9d1ea216c69c6e360221f8c858a9d356598a8b253e2cf67f1116b5df5927f\r\nMsg = 77772e91be674abb0f496b47dbd632e5616177a0d16a8c11b271c2d381082f379b2cae385dd526b189cc10cdebbd33bf3d8db2b449ed49064d30d4b3a359110d\r\nMac = 41022947\r\nResult = P\r\n\r\nCount = 98\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 749f2fb720d321757473afc5d3a377a0eaacb425e5591026e3a1bae6a785b921\r\nMsg = 2e4f5149d67c955c409b63b04d95538808da6202e69a50ed4d3846da52fcbc76c7089a17758d9d94a63efd5ae7054dbc0bf5a28b7381f7e78debd0549bff1e11\r\nMac = 67b34b0a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 99\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = f8ebad761b9e73c77faae3fd9390093fef595e77e6d7f6b35e2dfccbde925c44\r\nMsg = 18430f34d5b5fddbd228a910cab9c48e1ba2b5f57819eacbde756cc0c993b736a778c8008d37776a2915077af8ecfc76b8cd2ca621e9195bd0b27e31843d2890\r\nMac = 7a446398\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 100\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 5bb9fb83b6a85f017bde6c0ff3ced955b9f343cc71b680c6b591302f52759412\r\nMsg = ee7e6655424125462a96390e02bfee9d89cb271bd9bbf22a9de45f6b7e949343def818dfc93d777528f609cd38be0a013b1eef816eb1f9593a850bb7aec5b9a7\r\nMac = 5e1fa5b9c9dcd90e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 101\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 57a9d1ea216c69c6e360221f8c858a9d356598a8b253e2cf67f1116b5df5927f\r\nMsg = 77772e91be674abb0f496b47dbd632e5616177a0d16a8c11b271c2d381082f379b2cae385dd526b189cc10cdebbd33bf3d8db2b449ed49064d30d4b3a359110d\r\nMac = 430229471a1cf1b5\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 102\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 749f2fb720d321757473afc5d3a377a0eaacb425e5591026e3a1bae6a785b921\r\nMsg = 304f5149d67c955c409b63b04d95538808da6202e69a50ed4d3846da52fcbc76c7089a17758d9d94a63efd5ae7054dbc0bf5a28b7381f7e78debd0549bff1e11\r\nMac = 65b34b0ace2fc6bc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 103\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = f8ebad761b9e73c77faae3fd9390093fef595e77e6d7f6b35e2dfccbde925c44\r\nMsg = 18430f34d5b5fddbd228a910cab9c48e1ba2b5f57819eacbde756cc0c993b736a778c8008d37776a2915077af8ecfc76b8cd2ca621e9195bd0b27e31843d2890\r\nMac = 7a446398a5c59ec6\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 104\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = b228c753292acd5df351000a591bf960d8555c3f6284afe7c6846cbb6c6f5445\r\nMsg = c66d322247ebf272e6a353f9940b00847cf78e27f2bc0c81a696db411e47c0e9630137d3fa860a71158e23d80b699e8006e52345fb7273b2e084407f19394258\r\nMac = 129", @@ -2463,9 +2543,9 @@ static const char *kData34[] = { " 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 5c77fe134af3fef72fcd16006097dc7dbc45ca10339ae3bc85e0993e4cdcefa1\r\nMsg = fab52c44379ae8083bdc7b827383df93cb1a7ecc21574730f9fe003b7302de237bed535d40832763e7a2cab5806de91d39aa3f38d167ae3250e48ed1f6ad45b5\r\nMac = 03f36c5a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 201\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 997c6b4b513bbdeaf701867bbe81bdee63de0d0d18c870bcc1e9ff7f627f093e\r\nMsg = 4c23d92665e88a4f6f732de384034d493d5df37b767a8260557de05688e8d60dcd0eba9cb8cc4bceb174dcbd3c0ab5a37db3b6ecfb6a3d90a4f54a9f1117e11e\r\nMac = 9e798c73\r\nResult = F (1 - Message changed)\r\n\r\nCount = 202\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 64e390edd97c0af1ba5165900828e0630606f83d4df5240e1b05c307ee9153ff\r\nMsg = 1ae71094fc1b304adfa3378c4efa8fb290526bb314714c9613beca2a709c91f7e3f6aa74561bfc7b8fcd12f910941eea3b593e85ba2fffb31e7420c6c6199868\r\nMac = 1977347f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 203\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 44e2f6d41e04b75f541e724c6f6325f27d7475b3676fa0247f28b36e58b6fdf5\r\nMsg = b9ac624288352617e4d375f33953b431cbf8f03f9ecbda9893330ff2d3c59db8705dc3ba4a6ef924309630ac48765b10b1c02ec0669126d76602c95012fa2f77\r\nMac = 2cba4713\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 204\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 8e0f75b7029d4afc2a86adb4a088b89ef9783965027c1176497ada0fdfd0cd99\r\nMsg = 21cd3ff946e2b3c1c61932205899502852b1333d1c79a3d4e5b6617996ffba17041e5b746ab967fb1632c7be62cbc2bbe60ecd5eec6ca4482424994f9a662cc6\r\nMac = b651d356\r\nResult = P\r\n\r\nCount = 205\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 35b1106d174acce103ecf5801b03d3c10d579c4ee491ebad25fb6f1f1787e0c8\r\nMsg = 960026395d0544975dffaaa2c56db1df5816cd80cde513dc76f6f81d21f15c383c97c7233c9af2423fb28922efed2f69aa47c30de17ae1c5be17acbd0ad6cb8e\r\nMac = 8a8f65a8\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 206\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 71efa75961dfd60ad533082a8cfe111214eb02573adc4591c5d0e961640a3ab2\r\nMsg = 6bafbd22b75e21e1fa5444af283e69d53ac2f0412f717a2153f74eb1c195fc5127d240dbc96d2833c9957920a55c505a016a05e4a7ee549bccdbbf1095502e93\r\nMac = 88fea081\r\nResult = F (1 - Message changed)\r\n\r\nCount = 207\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 11752eb8aeffa364c9947092c1612461cc19b6c3a3ddd1817b5e6f7f3745a942\r\nMsg = 2d9109e7eea21b2615c81c03182ce6033c93783b13d698624392bd2a8a202bd0ffc860f29b31afa2f71c2bb85752c66ce8dbba244671288a4135ffe2e1a0209b\r\nMac = b5a26c1c\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 208\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 279a6c226f6a48f3128626012baaa309d99065a59dc0a4c003a6e94d85e61638\r\nMsg = 9bff96ba07a52d9ea2415283321395cf57cb37c610fad7a482c74de9f5e3d7f520bf73d4a6fc8b5be023d774dd9680b6a7c68139c8a753a80d61c9978a493917\r\nMac = 5e281941\r\nResult = P\r\n\r\nCount = 209\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 0bcdcaa87ddf8bbe6db8411d14bb9064e4a121286cc8a6e97fce1844935f436b\r\nMsg = 3ec0aa8d30d5ed825b77dc7095f421b1e608158797a377ff8bed641bd387832f7c14818cabf9bd5ced6044cdc883ff7296272be693660ab234b2d870ba170131\r\nMac = 1da79d07\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 210\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 1b41d148e3c202d419ce16385139da196dede5be63987e6940a2bae86d62e567\r\nMsg = 13ecd70e2d76dd53a19b2e5fc0afe0c0793577ba8948b7d4ef3ab797a07a37927dbb33a18252b96f40e0f73a8d3298d67a6551f5854eb6a51019531a122ff8ae\r\nMac = 91bd49b2\r\nResult = F (1 - Message changed)\r\n\r\nCount = 211\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = a1ccc9c992c8a307ad39504854456696f8eafd7c8da0c0c53b3a4485570e985e\r\nMsg = f68b0c3b4556c7f8866b3fa873ed2014418d6421d3f224512e5dae8c2d8dd92175e09508acbcc66ae62d536260cf790671ef66a1bded0343ace4117c1b8d7764\r\nMac = b9317feb\r\nResult = P\r\n\r\nCount = 212\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 4d8d0264ae6d8f7a7440dd760e0ded25a3a94cb0491fe81e7b55221ac8ed24f7\r\nMsg = 5faaf6b8ee8ed5b56bfc1a7f886f9f91a6566ceb99c39462ab675a3ae3be98f68787626fdf77e6243c2e96d1396a8a43417b1f6a51f7e5b0ffaeb889bce02c4b\r\nMac = 3f610010\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 213\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = bcf95051ae2ae84ac32a763d5477ccc4659a9ed3e25de5932939826dc90e2464\r\nMsg = fce924dd27db3e07837694c34f576c16084e5b0a254ca3af0582bf6026c73b47973ac924b02992490032cae987a887932539d3fa53cdfff711b03bd11ff464bb\r\nMac = 7b7e89ef\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 214\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 45ce953ad31ee9b53a9c948883bc86f4bbe0f0744085a9943cbad1066cd7b4f3\r\nMsg = edb1aaa7e8ac37bca99ff8eff5516464aa33fc2bebef8a727d43abf971108bc604aef019c3837aa2f3d429f22fda1f305319a70d99ed77f902663298f855316f\r\nMac = cbf4addd\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 215\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = d60841cd71d7227ab56e767817760edba9ce2290f8da504b341ee2c1910b5018\r\nMsg = 365fea641559759d1e5b5581218486318b1c776de812b1aca6a9ba6b1c6e39c5cb6d5a44e3a474f709b8eac457e74f00a43ecd3d060cc7639696bd03730c70e7\r\nMac = 7406f935\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 216\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = d172f991eb697ffdefc57349dadbe51066d2744c39041cd55ca75024eead495d\r\nMsg = 6a91da64812b9bb41a026e727b4f77c384813da2948caed5a9846420c86a26b89f46b2fa6975b95d12452ca69bbfb65bc1c48a79d95c5e69ff4ab7316fe468e8\r\nMac = 6bd82bcc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 217\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 3725c7905bfaca415908c617b78f8deeeff286e0c2bba268d0de92c7664238a7\r\nMsg = fc4bbe329a86089ebe2a2f3320dad55a9bdac1133dd28ddc9ace9ed665885a2341ea9492d4cf4b7e1d0a95f308a9d613407b35b845cf515bbe7f2f35102d78a3\r\nMac = c8e11823\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 218\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = bb3087d1b5b0f6f14a532c3604c82874fb15e97a4b3883dfc50e71ffe5752d40\r\nMsg = 979a9f96112d1ea95eec2cdfdf48c55114472360aa7de24bb53761013af96b33f02b17ae470fece8aaf649d801b4040b7b5152f58a01e7852f565efc77b5dafe\r\nMac = 66466425\r\nResult = P\r\n\r\nCount = 219\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = eeb983439a03ee6a315ebf941e9368f90bb6845b03b31839d72a1946c17d2f19\r\nMsg = 6d5573c9279897d7d1602d8a95c04bb5ca3fad2dbe89a024b3651eb227e73bb559e7c0db08b215fd7efe64afcd24fb155989f2f8965d0e181389e6c4b8e244a9\r\nMac = 7f77d596\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 220\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 6f0353a0ad95df6d3190a251435f62c30ed6b9cc0dd024c3c316565cad83d2e1\r\nMsg = 83011a83db0524628b55589ba0165523ce7c916465eaf185805b97ec7f00fc01b82a3e356a6bbb44f2f8deb6425239ac8e26d4d94871c5cf4fe7017c649672f4\r\nMac = 9e56e4574dd01fe8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 221\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 777a22c5fa2f864a9233587e3e9634172ce25006daacbba97b68e7429c8266a8\r\nMsg = 1f7d58d65c36142620172fda3197d3c629bc7bc584e1aaa0f8b6dd320588becaccc39ad124b515adeb941de49ac31c851c5172c4e1c322e42e13cb5ab7f8db2f\r\nMac = 498dafe2807ba34e\r\nResult = P\r\n\r\nCount = 222\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = e17736560b1a13aa8e536500ea6cdb9a6757309aadf25a6a9189055a309c3f8b\r\nMsg = 1a6b80d506147c3c02c89f50892bd1f04d34f9f21e8307140df43835d17495c56a13be7a045be5441de01d84ea19d579f76e9ffa0f92376b5b13c0eacd3050c9\r\nMac = 52d3fbc6e5821f1d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 223\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = f31f2fb4b3fd8045b70d34b600a2697cbf7503be0d8cfb5cdc60f9312e3e2695\r\nMsg = 4f43702be4f0530319555d7f1a3356160f6cae48051f12e22a153d7e405c11494c31e6098e24225eb676094755c6d7e992ec0c8c1e2608e76a72d79d173a4e07\r\nMac = 71239a4c38fa04b3\r\nResult = F (1 - Message changed)\r\n\r\nCount = 224\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 10a678f591b4d87280f42d77a91635575e2e82ef610a7c9105c3a9418f932c24\r\nMsg = f7b577f1396b23c27eb637e53d3d92460270b001cc612fd3b4d68bcdd09c2d50571ea4350636324cc2428a087e7bd8785f8202791e3c2d2bafe084a1204e34dd\r\nMac = 5b11c1407904c15e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 225\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = b8728441226558fa9764824597fe254bf8c2623789541feaf6c007efeb0dd2b1\r\nMsg = 80a2be15809f12738f305be3a210ba0c933599c4b24b48257c60e8e3aae189dc6ec58ff1f9085a15405b26a3001a2ff5ff7e1932961490676c6d2cda8417979b\r\nMac = e73ed6c4f81b0ecd\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 226\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 22a877d974cdf4d65bbd77958b2b77fc5ddb33a221aca3ecb6d5ae76596f9db4\r\nMsg = ce2ce41f76ca7477972d38a3e8fad1122db34ee80c379fa01f884cf648d1670445a8bfab8490563438c21537ac2dbfbcd7bb24a132d6973cc62ba14089adf7e5\r\nMac = 0ff91813a56b98dd\r\nResult = F (1 - Message", " changed)\r\n\r\nCount = 227\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 03fa02c4df99b8295f502e3145e2edd3ff16722b87092e708bc8d126cc1ec894\r\nMsg = ec9a9babb68e09c38617c9b16e8a2d92e711030bcda4b9e0ab35c4c2392b41692312dde30c91f32cd39cf5fe15ea0deaf3aa04a8157262acee78d7f94204d93a\r\nMac = e50d9a04f79cf9b4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 228\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0e12df1bf17e9645c5507bc2069ca4611dc0488c9996231dbcee1c73393b26c4\r\nMsg = 86814ce4a867f80ce9b618c6aecce37c89851508bbb095c8f7c055f569c47a30f79abe5ec75f12b601298718d6f96ea1c1ebbe7c0cb0b7fb973ec5e6d5c6a713\r\nMac = 05338bce9ed8f495\r\nResult = P\r\n\r\nCount = 229\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 51c88fd98a7d82043a1500fc3d8a66ba7ab7760467c7fd89cfeeb22dd25762a2\r\nMsg = 0e403cff47adee3ec5bb6b178dabfc7d53b60a04eaad33a2fedd9db705358a4c73ab2d982ddbbdc941f1c701d4cac89e5c56fbbe0f4170029ad25e931713ba63\r\nMac = 38c34175627b07e8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 230\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0feb23c7e4a19bcbd70bd300d76ec9045d696f8c9687f49ec4154400e231d2f0\r\nMsg = 0330ed97e44e8b15a49f29c72a7997d05d398a9d45dae41a6cc635258beb824362124691e86cb7fea46e4ab85bdf79e4eb30c492770bf6f0c42ea9bde37a0c01\r\nMac = 271a7c2e687d84c5\r\nResult = P\r\n\r\nCount = 231\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 5d649799771f9074d18a2477ccd4d9e136e01451c1eb2e8bb370cb79e0486770\r\nMsg = d715bc0520dbb86543e76fede49dc6be2cce59d3c0db133ff31efcb63a85514fe080da88fa1e788b9e73feb0503c4142bdc67386ac0bacf9311ecada23ca7be8\r\nMac = 42de9f52567b4506\r\nResult = F (1 - Message changed)\r\n\r\nCount = 232\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 4c96d520d8d5a54eb73f8f558e328d1b3e5ba360161fb8444739a40a97a58a1b\r\nMsg = ee409b050346fbd319c8630e4bc9dd6d055355fbb961f018d3fda0c1eea6f61248f43709737fb18d4efc4faf34a96c2f73ece54200367292692e36870a0c94c5\r\nMac = 28610f524d88e727\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 233\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = b186b9273d8cd77d68c05ec5389b2f6e2f267fe6cd6e7cb35a3233c0dfe0b1f4\r\nMsg = 0df3fc6396f851785fca9aa5ffb0cd98bdecf8bbae4c82641efcb34d319e7643ca9c5e22acbde800e0f700a95685c64ccf399173f9123438dc1181b676490cbf\r\nMac = 8d2f69b44614485a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 234\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 1b1374648d93aadb186326e4ca2b82fd37f7234712816fe4feb339a3a16880df\r\nMsg = 9a661677f1e07153e1c9c661c91901757f5b4d9938031f01a802773d6a9863b2a169c44be0d4546c4780e828ef37f3b389f84c1a41473131e9c88bcd530c7334\r\nMac = 72838b59593c011c\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 235\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = f70b8a4eee3518bba071af55f25f7b698a5b7dc8865cdaca6d1c7993657acc95\r\nMsg = 795ee1af7504621aac329f5081912de545fa11174f3979b14f11aa30df813a235b467fd8f3a14734fe5ac9e39105dcb25184673885cd19bc70ee5a53dd4e8149\r\nMac = 93542734d6cd43de\r\nResult = P\r\n\r\nCount = 236\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0c456d199abae4758734f506c4e9ccdb767e4fd156d5a4085726f3938a516d74\r\nMsg = 78f3bf568f1c3f2866eff8a246a70cf0faee4c3078f3fb27c4bdd53312bf50812bac2280118c0396e610b4110a22406084c18283a30ce7c0e49c769817170df9\r\nMac = c4c5be3c94fb7b9c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 237\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0a8725bd8c8eab9ed52ca47835837b9f00a6c8d834ab17105b01eb4eb30402e7\r\nMsg = d7867ff428c37836161a534d1d697fba43e86b0096c49b63d50afaf06ec772bda86eba7222796f087c5367d1547642b974d041cb496c5cf7984e8e126c9f741e\r\nMac = b5d40f8633965c33\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 238\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = ce9ea80e7fb235486b5f1d0321c68a0e44cd5f15e21f27c402754a2f7c138772\r\nMsg = c246453f5d0f4957e6418b4d17b748f5c30e7ee672b4af2e4e41e145400be94056f4e94768871849fb44c1ee65378fce32d007e0c7ee5635453d4de6b0c2aa4b\r\nMac = 33ae4c66895989ee\r\nResult = F (1 - Message changed)\r\n\r\nCount = 239\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = f26fad377bf7d6b35d8ea2e0621b678dad85826fadd3ee684d9215086b77e555\r\nMsg = 63539f949990883ac4f3ef9158b382a30254023c301de9fcd3cd4faa638a0ecb241a2573a9555a5c96da2435aa02c73cfc12c10f84b565bfdea9c6274bb8d67c\r\nMac = 8cda222f03f92913\r\nResult = F (2 - Key or Key2 changed)\r\n", }; -static const size_t kLen35 = 58307; +static const size_t kLen36 = 58307; -static const char *kData35[] = { +static const char *kData36[] = { "# Tests from NIST CAVP SP 800-56A ECCCDH Primitive Test Vectors.\n# http://csrc.nist.gov/groups/STM/cavp/documents/components/ecccdhtestvectors.zip\n#\n# P-521 test vectors were fixed to have the right length.\n\nCurve = P-224\nPrivate = 8346a60fc6f293ca5a0d2af68ba71d1dd389e5e40837942df3e43cbd\nX = 8de2e26adf72c582d6568ef638c4fd59b18da171bdf501f1d929e048\nY = 4a68a1c2b0fb22930d120555c1ece50ea98dea8407f71be36efac0de\nPeerX = af33cd0629bc7e996320a3f40368f74de8704fa37b8fab69abaae280\nPeerY = 882092ccbba7930f419a8a4f9bb16978bbc3838729992559a6f2e2d7\nZ = 7d96f9a3bd3c05cf5cc37feb8b9d5209d5c2597464dec3e9983743e8\n\nCurve = P-224\nPrivate = 043cb216f4b72cdf7629d63720a54aee0c99eb32d74477dac0c2f73d\nX = 2f90f5c8eac9c7decdbb97b6c2f715ab725e4fe40fe6d746efbf4e1b\nY = 66897351454f927a309b269c5a6d31338be4c19a5acfc32cf656f45c\nPeerX = 13bfcd4f8e9442393cab8fb46b9f0566c226b22b37076976f0617a46\nPeerY = eeb2427529b288c63c2f8963c1e473df2fca6caa90d52e2f8db56dd4\nZ = ee93ce06b89ff72009e858c68eb708e7bc79ee0300f73bed69bbca09\n\nCurve = P-224\nPrivate = 5ad0dd6dbabb4f3c2ea5fe32e561b2ca55081486df2c7c15c9622b08\nX = 005bca45d793e7fe99a843704ed838315ab14a5f6277507e9bc37531\nY = 43e9d421e1486ae5893bfd23c210e5c140d7c6b1ada59d842c9a98de\nPeerX = 756dd806b9d9c34d899691ecb45b771af468ec004486a0fdd283411e\nPeerY = 4d02c2ca617bb2c5d9613f25dd72413d229fd2901513aa29504eeefb\nZ = 3fcc01e34d4449da2a974b23fc36f9566754259d39149790cfa1ebd3\n\nCurve = P-224\nPrivate = 0aa6ff55a5d820efcb4e7d10b845ea3c9f9bc5dff86106db85318e22\nX = 2f96754131e0968198aa78fbe8c201dc5f3581c792de487340d32448\nY = 61e8a5cd79615203b6d89e9496f9e236fe3b6be8731e743d615519c6\nPeerX = 0f537bf1c1122c55656d25e8aa8417e0b44b1526ae0523144f9921c4\nPeerY = f79b26d30e491a773696cc2c79b4f0596bc5b9eebaf394d162fb8684\nZ = 49129628b23afcef48139a3f6f59ff5e9811aa746aa4ff33c24bb940\n\nCurve = P-224\nPrivate = efe6e6e25affaf54c98d002abbc6328da159405a1b752e32dc23950a\nX = 355e962920bde043695f6bffb4b355c63da6f5de665ed46f2ec817e2\nY = 748e095368f62e1d364edd461719793b404adbdaacbcadd88922ff37\nPeerX = 2b3631d2b06179b3174a100f7f57131eeea8947be0786c3dc64b2239\nPeerY = 83de29ae3dad31adc0236c6de7f14561ca2ea083c5270c78a2e6cbc0\nZ = fcdc69a40501d308a6839653a8f04309ec00233949522902ffa5eac6\n\nCurve = P-224\nPrivate = 61cb2932524001e5e9eeed6df7d9c8935ee3322029edd7aa8acbfd51\nX = d50e4adabfd989d7dbc7cf4052546cc7c447a97630436997ad4b9536\nY = 5bea503473c5eaef9552d42c40b1f2f7ca292733b255b9bbe1b12337\nPeerX = 4511403de29059f69a475c5a6a5f6cabed5d9f014436a8cb70a02338\nPeerY = 7d2d1b62aa046df9340f9c37a087a06b32cf7f08a223f992812a828b\nZ = 827e9025cb62e0e837c596063f3b9b5a0f7afd8d8783200086d61ec1\n\nCurve = P-224\nPrivate = 8c7ace347171f92def98d845475fc82e1d1496da81ee58f505b985fa\nX = b1a8dcac89aca2799320b451df1c7ff4d97567abb68141c0d95fc2aa\nY = 3524950902b1510bdc987d860afc27ad871ceaea66935abd3c0a99a8\nPeerX = 314a0b26dd31c248845d7cc17b61cad4608259bed85a58d1f1ffd378\nPeerY = 66e4b350352e119eecada382907f3619fd748ea73ae4899dfd496302\nZ = 335ba51228d94acbed851ca7821c801d5cb1c7975d7aa90a7159f8fa\n\nCurve = P-224\nPrivate = 382feb9b9ba10f189d99e71a89cdfe44cb554cec13a212840977fb68\nX = abb6f1e3773ff8fc73aea2a0b107809ce70adcefed6e41fc5cb43045\nY = a963897ae906c10a055eeadb97ffdd6f748d3e5621e5fff304e48ba7\nPeerX = abe6843beec2fd9e5fb64730d0be4d165438ce922ed75dd80b4603e5\nPeerY = 6afe8673a96c4ba9900ad85995e631e436c6cc88a2c2b47b7c4886b8\nZ = 8c2e627594206b34f7356d3426eb3d79f518ef843fbe94014cceace3\n\nCurve = P-224\nPrivate = e0d62035101ef487c485c60fb4500eebe6a32ec64dbe97dbe0232c46\nX = 88537735e9b23e3e0e076f135a82d33f9bffb465f3abce8322a62a62\nY = b4c8c123673197875c0bd14ed097606d330fba2b9200ef65a44764d3\nPeerX = 13cf9d6d2c9aae8274c27d446afd0c888ffdd52ae299a35984d4f527\nPeerY = dcbee75b515751f8ee2ae355e8afd5de21c62a939a6507b538cbc4af\nZ = 632abb662728dbc994508873d5c527ca5ef923c0d31fa6c47ef4c825\n\nCurve = P-224\nPrivate = b96ade5b73ba72aa8b6e4d74d7bf9c58e962ff78eb542287c7b44ba2\nX = 37682926a54f70a4c1748f54d50d5b00138a055f924f2c65e5b0bbe4\nY = 596afefcdd640d29635015b89bdddd1f8c2723686d332e7a06ca8799\nPeerX = 965b637c0dfbc0cf954035686d70f7ec30929e664e521dbaa2280659\nPeerY = 82a58ff61bc90019bbcbb5875d3863db0bc2a1fa34b0ad4de1a83f99\nZ = 34641141aab05ef58bd376d609345901fb8f63477c6be9097f037f1f\n\nCurve = P-224\nPrivate = a40d7e12049c71e6522c7ff2384224061c3a457058b310557655b854\nX = 399801243bfe0c2da9b0a53c8ca57f2eee87aaa94a8e4d5e029f42ca\nY = aa49e6d4b47cee7a5c4ab71d5a67da84e0b9b425ce3e70da68c889e7\nPeerX = 73cc645372ca2e71637cda943d8148f3382ab6dd0f2e1a49da94e134\nPeerY = df5c355c23e6e232ebc3bee2ab1873ee0d83e3382f8e6fe613f6343c\nZ = 4f74ac8507501a32bfc5a78d8271c200e835966e187e8d00011a8c75\n\nCurve = P-224\nPrivate = ad2519bc724d484e02a69f05149bb047714bf0f5986fac2e222cd946\nX = df9c1e0ef15e53b9f626e2be1cbe893639c06f3e0439ee95d7d4b1e3\nY = 7a52a7386adda243efdf8941085c84e31239cab92b8017336748965e\nPeerX = 546578216250354e449e21546dd11cd1c5174236739acad9ce0f4512\nPeerY = d2a22fcd66d1abedc767668327c5cb9c599043276239cf3c8516af24\nZ = ad09c9ae4d2324ea81bb555b200d3c003e22a6870ee03b52df49e4de\n\nCurve = P-224\nPrivate = 3d312a9b9d8ed09140900bbac1e095527ebc9e3c6493bcf3666e3a29\nX = b4a0198dc8810e884425b750928b0c960c31f7a99663400b01a179df\nY = 812b601bfc0738242c6f86f830f27acd632ca618a0b5280c9d5769f7\nPeerX = 1d46b1dc3a28123cb51346e67baec56404868678faf7d0e8b2afa22a\nPeerY = 0ec9e65ec97e218373e7fc115c2274d5b829a60d93f71e01d58136c3\nZ = ef029c28c68064b8abd2965a38c404fb5e944ace57e8638daba9d3cd\n\nCurve = P-224\nPrivate = 8ce0822dc24c153995755ac350737ef506641c7d752b4f9300c612ed\nX = 00dfc7ec137690cd6d12fdb2fd0b8c5314582108769c2b722ffb3958\nY = 5eef3da4ba458127346bb64023868bddb7558a2ecfc813645f4ce9fe\nPeerX = 266d038cc7a4fe21f6c976318e827b82bb5b8f7443a55298136506e0\nPeerY = df123d98a7a20bbdf3943df2e3563422f8c0cf74d53aaabdd7c973ba\nZ = f83c16661dfcbad021cc3b5a5af51d9a18db4653866b3ff90787ce3e\n\nCurve = P-224\nPrivate = 0ff9b485325ab77f29e7bc379fed74bfac859482da0dee7528c19db2\nX = 7e603e6976db83c36011508fa695d1b515249e2e54b48fcbcfb90247\nY = 0179a600ce86adfca9b1b931fa5173d618da09e841803d19b0264286\nPeerX = eb0a09f7a1c236a61f595809ec5670efd92e4598d5e613e092cdfdca\nPeerY = 50787ae2f2f15b88bc10f7b5f0aee1418373f16153aebd1fba54288d\nZ = f51258c63f232e55a66aa25ebd597b2018d1052c02eeb63866758005\n\nCurve = P-224\nPrivate = 19cf5ff6306467f28b9fe0675a43c0582552c8c12e59ce7c38f292b1\nX = fc20e906e609c112cfc2e0fea6303882c5db94e87e022373ab2c082a\nY = aecdf1daa71782bc5a26bbbd8d7e8a76490e26abc17dffc774bd7341\nPeerX = 6b2f6b18a587f562ffc61bd9b0047322286986a78f1fd139b84f7c24\nPeerY = 7096908e4615266be59a53cd655515056ff92370a6271a5d3823d704\nZ = 7fdc969a186ff18429f2a276dac43beea21182d82ce2e5a0876552b1\n\nCurve = P-224\nPrivate = 90a15368e3532c0b1e51e55d139447c2c89bc160719d697291ea7c14\nX = c6837d506e976da7db3ad1267c359dff2ea6fb0b7f7f8e77024c59e9\nY = 67eb491d2fc8a530c46525d2a8b2d7c1df5fba1ae740a4649c683ee6\nPeerX = 328101ba826acd75ff9f34d5574ce0dbc92f709bad8d7a33c47940c1\nPeerY = df39f1ea88488c55d5538160878b9ced18a887ea261dd712d14024ff\nZ = 3d60ab6db2b3ffe2d29ccff46d056e54230cf34982e241556ed2920c\n\nCurve = P-224\nPrivate = 8e0838e05e1721491067e1cabc2e8051b290e2616eec427b7121897d\nX = e9150f770075626019e18f95473b71e6828041791d3f08d3faeeaa2b\nY = 475f70735eaae52308a3b763dc88efe18ab590ebafa035f6e08b001c\nPeerX = 0081e34270871e2ebbd94183f617b4ae15f0416dd634fe6e934cf3c0\nPeerY = 3a1e9f38a7b90b7317d26b9f6311063ab58b268cf489b2e50386d5d6\nZ = 9116d72786f4db5df7a8b43078c6ab9160d423513d35ea5e2559306d\n\nCurve = P-224\nPrivate = 38106e93f16a381adb1d72cee3da66ae462ad4bbfea9ecdf35d0814e\nX = 7be6c4c917829ab657dd79e8637d7aefd2f81f0de7654d957e97658d\nY = 430d22d9e8438310f61e0d43f25fa3e34585f432baad27db3021bf0d\nPeerX = 2623632fdf0bd856805a69aa186d4133ef5904e1f655a972d66cce07\nPeerY = 2cef9728dd06fb8b50150f529b695076d4507983912585c89bd0682e\nZ = 207c53dcefac789aaa0276d9200b3a940ce5f2296f4cb2e81a185d3d\n\nCurve = P-224\nPrivate = e5d1718431cf50f6cbd1bc8019fa16762dfa12c989e5999977fb4ea2\nX = 2ea4966e7f92ed7f5cc61fde792045f63b731d6e7d0de2577f2d8ece\nY = 1c4a7b1ede6f839162292df424be78e8176fb6f942a3c02391700f31\nPeerX = 8ee4d1dcc31dee4bf6fe21ca8a587721d910acfb122c16c2a77a8152\nPeerY = 4ebf323fff04eb477069a0ac68b345f6b1ae134efc31940e513cb99f\nZ = 10e467da34f48ad7072005bccd6da1b2ba3f71eafa1c393842f91d74\n\nCurve = P-224\nPrivate = 3d635691b62a9a927c633951c9369c8862bd2119d30970c2644727d6\nX =", " 438bbb980517afb20be1d674e3ac2b31cef07a9b23fb8f6e38e0d6c0\nY = 0be5f1c47d58d21b6ed28423b32f5a94750da47edcef33ea79942afd\nPeerX = 97dcbe6d28335882a6d193cc54a1063dd0775dc328565300bb99e691\nPeerY = dad11dd5ece8cfd9f97c9a526e4a1506e6355969ee87826fc38bcd24\nZ = 82fd2f9c60c4f999ac00bbe64bfc11da8ff8cda2e499fced65230bb1\n\nCurve = P-224\nPrivate = acf3c85bbdc379f02f5ea36e7f0f53095a9e7046a28685a8659bf798\nX = ff7511215c71d796bd646e8474be4416b91684ce0d269ef6f422013b\nY = b7bf5e79b5a9393bb9ea42c0bdb2d3c2dc806e1a7306aa58e4fdbea5\nPeerX = ce9126dd53972dea1de1d11efef900de34b661859c4648c5c0e534f7\nPeerY = e113b6f2c1659d07f2716e64a83c18bbce344dd2121fe85168eae085\nZ = 530f7e7fc932613b29c981f261cb036cba3f1df3864e0e1cba2685a2\n\nCurve = P-224\nPrivate = cffd62cb00a0e3163fbf2c397fadc9618210f86b4f54a675287305f0\nX = 04bf4d948f4430d18b4ed6c96dbaf981fa11a403ed16887f06754981\nY = 7c1326a9cef51f79d4e78303d6064b459f612584ac2fdf593d7d5d84\nPeerX = 84419967d6cfad41e75a02b6da605a97949a183a97c306c4b46e66a5\nPeerY = 5cc9b259718b1bc8b144fde633a894616ffd59a3a6d5d8e942c7cbb7\nZ = 49f6fd0139248ef4df2db05d1319bd5b1489e249827a45a8a5f12427\n\nCurve = P-224\nPrivate = 85f903e43943d13c68932e710e80de52cbc0b8f1a1418ea4da079299\nX = 970a4a7e01d4188497ceb46955eb1b842d9085819a9b925c84529d3d\nY = dfa2526480f833ea0edbd204e4e365fef3472888fe7d9691c3ebc09f\nPeerX = 7c9cac35768063c2827f60a7f51388f2a8f4b7f8cd736bd6bc337477\nPeerY = 29ee6b849c6025d577dbcc55fbd17018f4edbc2ef105b004d6257bcd\nZ = 8f7e34e597ae8093b98270a74a8dfcdbed457f42f43df487c5487161\n\nCurve = P-224\nPrivate = cce64891a3d0129fee0d4a96cfbe7ac470b85e967529057cfa31a1d9\nX = a6b29632db94da2125dc1cf80e03702687b2acc1122022fa2174765a\nY = 61723edd73e10daed73775278f1958ba56f1fc9d085ebc2b64c84fe5\nPeerX = 085a7642ad8e59b1a3e8726a7547afbecffdac1dab7e57230c6a9df4\nPeerY = f91c36d881fe9b8047a3530713554a1af4c25c5a8e654dcdcf689f2e\nZ = 71954e2261e8510be1a060733671d2e9d0a2d012eb4e09556d697d2a\n\nCurve = P-256\nPrivate = 7d7dc5f71eb29ddaf80d6214632eeae03d9058af1fb6d22ed80badb62bc1a534\nX = ead218590119e8876b29146ff89ca61770c4edbbf97d38ce385ed281d8a6b230\nY = 28af61281fd35e2fa7002523acc85a429cb06ee6648325389f59edfce1405141\nPeerX = 700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287\nPeerY = db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac\nZ = 46fc62106420ff012e54a434fbdd2d25ccc5852060561e68040dd7778997bd7b\n\nCurve = P-256\nPrivate = 38f65d6dce47676044d58ce5139582d568f64bb16098d179dbab07741dd5caf5\nX = 119f2f047902782ab0c9e27a54aff5eb9b964829ca99c06b02ddba95b0a3f6d0\nY = 8f52b726664cac366fc98ac7a012b2682cbd962e5acb544671d41b9445704d1d\nPeerX = 809f04289c64348c01515eb03d5ce7ac1a8cb9498f5caa50197e58d43a86a7ae\nPeerY = b29d84e811197f25eba8f5194092cb6ff440e26d4421011372461f579271cda3\nZ = 057d636096cb80b67a8c038c890e887d1adfa4195e9b3ce241c8a778c59cda67\n\nCurve = P-256\nPrivate = 1accfaf1b97712b85a6f54b148985a1bdc4c9bec0bd258cad4b3d603f49f32c8\nX = d9f2b79c172845bfdb560bbb01447ca5ecc0470a09513b6126902c6b4f8d1051\nY = f815ef5ec32128d3487834764678702e64e164ff7315185e23aff5facd96d7bc\nPeerX = a2339c12d4a03c33546de533268b4ad667debf458b464d77443636440ee7fec3\nPeerY = ef48a3ab26e20220bcda2c1851076839dae88eae962869a497bf73cb66faf536\nZ = 2d457b78b4614132477618a5b077965ec90730a8c81a1c75d6d4ec68005d67ec\n\nCurve = P-256\nPrivate = 207c43a79bfee03db6f4b944f53d2fb76cc49ef1c9c4d34d51b6c65c4db6932d\nX = 24277c33f450462dcb3d4801d57b9ced05188f16c28eda873258048cd1607e0d\nY = c4789753e2b1f63b32ff014ec42cd6a69fac81dfe6d0d6fd4af372ae27c46f88\nPeerX = df3989b9fa55495719b3cf46dccd28b5153f7808191dd518eff0c3cff2b705ed\nPeerY = 422294ff46003429d739a33206c8752552c8ba54a270defc06e221e0feaf6ac4\nZ = 96441259534b80f6aee3d287a6bb17b5094dd4277d9e294f8fe73e48bf2a0024\n\nCurve = P-256\nPrivate = 59137e38152350b195c9718d39673d519838055ad908dd4757152fd8255c09bf\nX = a8c5fdce8b62c5ada598f141adb3b26cf254c280b2857a63d2ad783a73115f6b\nY = 806e1aafec4af80a0d786b3de45375b517a7e5b51ffb2c356537c9e6ef227d4a\nPeerX = 41192d2813e79561e6a1d6f53c8bc1a433a199c835e141b05a74a97b0faeb922\nPeerY = 1af98cc45e98a7e041b01cf35f462b7562281351c8ebf3ffa02e33a0722a1328\nZ = 19d44c8d63e8e8dd12c22a87b8cd4ece27acdde04dbf47f7f27537a6999a8e62\n\nCurve = P-256\nPrivate = f5f8e0174610a661277979b58ce5c90fee6c9b3bb346a90a7196255e40b132ef\nX = 7b861dcd2844a5a8363f6b8ef8d493640f55879217189d80326aad9480dfc149\nY = c4675b45eeb306405f6c33c38bc69eb2bdec9b75ad5af4706aab84543b9cc63a\nPeerX = 33e82092a0f1fb38f5649d5867fba28b503172b7035574bf8e5b7100a3052792\nPeerY = f2cf6b601e0a05945e335550bf648d782f46186c772c0f20d3cd0d6b8ca14b2f\nZ = 664e45d5bba4ac931cd65d52017e4be9b19a515f669bea4703542a2c525cd3d3\n\nCurve = P-256\nPrivate = 3b589af7db03459c23068b64f63f28d3c3c6bc25b5bf76ac05f35482888b5190\nX = 9fb38e2d58ea1baf7622e96720101cae3cde4ba6c1e9fa26d9b1de0899102863\nY = d5561b900406edf50802dd7d73e89395f8aed72fba0e1d1b61fe1d22302260f0\nPeerX = 6a9e0c3f916e4e315c91147be571686d90464e8bf981d34a90b6353bca6eeba7\nPeerY = 40f9bead39c2f2bcc2602f75b8a73ec7bdffcbcead159d0174c6c4d3c5357f05\nZ = ca342daa50dc09d61be7c196c85e60a80c5cb04931746820be548cdde055679d\n\nCurve = P-256\nPrivate = d8bf929a20ea7436b2461b541a11c80e61d826c0a4c9d322b31dd54e7f58b9c8\nX = 20f07631e4a6512a89ad487c4e9d63039e579cb0d7a556cb9e661cd59c1e7fa4\nY = 6de91846b3eee8a5ec09c2ab1f41e21bd83620ccdd1bdce3ab7ea6e02dd274f5\nPeerX = a9c0acade55c2a73ead1a86fb0a9713223c82475791cd0e210b046412ce224bb\nPeerY = f6de0afa20e93e078467c053d241903edad734c6b403ba758c2b5ff04c9d4229\nZ = 35aa9b52536a461bfde4e85fc756be928c7de97923f0416c7a3ac8f88b3d4489\n\nCurve = P-256\nPrivate = 0f9883ba0ef32ee75ded0d8bda39a5146a29f1f2507b3bd458dbea0b2bb05b4d\nX = abb61b423be5d6c26e21c605832c9142dc1dfe5a5fff28726737936e6fbf516d\nY = 733d2513ef58beab202090586fac91bf0fee31e80ab33473ab23a2d89e58fad6\nPeerX = 94e94f16a98255fff2b9ac0c9598aac35487b3232d3231bd93b7db7df36f9eb9\nPeerY = d8049a43579cfa90b8093a94416cbefbf93386f15b3f6e190b6e3455fedfe69a\nZ = 605c16178a9bc875dcbff54d63fe00df699c03e8a888e9e94dfbab90b25f39b4\n\nCurve = P-256\nPrivate = 2beedb04b05c6988f6a67500bb813faf2cae0d580c9253b6339e4a3337bb6c08\nX = 3d63e429cb5fa895a9247129bf4e48e89f35d7b11de8158efeb3e106a2a87395\nY = 0cae9e477ef41e7c8c1064379bb7b554ddcbcae79f9814281f1e50f0403c61f3\nPeerX = e099bf2a4d557460b5544430bbf6da11004d127cb5d67f64ab07c94fcdf5274f\nPeerY = d9c50dbe70d714edb5e221f4e020610eeb6270517e688ca64fb0e98c7ef8c1c5\nZ = f96e40a1b72840854bb62bc13c40cc2795e373d4e715980b261476835a092e0b\n\nCurve = P-256\nPrivate = 77c15dcf44610e41696bab758943eff1409333e4d5a11bbe72c8f6c395e9f848\nX = ad5d13c3db508ddcd38457e5991434a251bed49cf5ddcb59cdee73865f138c9f\nY = 62cec1e70588aa4fdfc7b9a09daa678081c04e1208b9d662b8a2214bf8e81a21\nPeerX = f75a5fe56bda34f3c1396296626ef012dc07e4825838778a645c8248cff01658\nPeerY = 33bbdf1b1772d8059df568b061f3f1122f28a8d819167c97be448e3dc3fb0c3c\nZ = 8388fa79c4babdca02a8e8a34f9e43554976e420a4ad273c81b26e4228e9d3a3\n\nCurve = P-256\nPrivate = 42a83b985011d12303db1a800f2610f74aa71cdf19c67d54ce6c9ed951e9093e\nX = ab48caa61ea35f13f8ed07ffa6a13e8db224dfecfae1a7df8b1bb6ebaf0cb97d\nY = 1274530ca2c385a3218bddfbcbf0b4024c9badd5243bff834ebff24a8618dccb\nPeerX = 2db4540d50230756158abf61d9835712b6486c74312183ccefcaef2797b7674d\nPeerY = 62f57f314e3f3495dc4e099012f5e0ba71770f9660a1eada54104cdfde77243e\nZ = 72877cea33ccc4715038d4bcbdfe0e43f42a9e2c0c3b017fc2370f4b9acbda4a\n\nCurve = P-256\nPrivate = ceed35507b5c93ead5989119b9ba342cfe38e6e638ba6eea343a55475de2800b\nX = 9a8cd9bd72e71752df91440f77c547509a84df98114e7de4f26cdb39234a625d\nY = d07cfc84c8e144fab2839f5189bb1d7c88631d579bbc58012ed9a2327da52f62\nPeerX = cd94fc9497e8990750309e9a8534fd114b0a6e54da89c4796101897041d14ecb\nPeerY = c3def4b5fe04faee0a11932229fff563637bfdee0e79c6deeaf449f85401c5c4\nZ = e4e7408d85ff0e0e9c838003f28cdbd5247cdce31f32f62494b70e5f1bc36307\n\nCurve = P-256\nPrivate = 43e0e9d95af4dc36483cdd1968d2b7eeb8611fcce77f3a4e7d059ae43e509604\nX = f989cf8ee956a82e7ebd9881cdbfb2fd946189b08db53559bc8cfdd48071eb14\nY = 5eff28f1a18a616b04b7d337868679f6dd84f9a7b3d7b6f8af276c19611a541d\nPeerX = 15b9e467af4d290c417402e040426fe4cf236bae72baa392ed89780dfccdb471\nPeerY = cdf4e9170fb904302b8fd93a820ba8cc7ed4efd3a6f2d6b05b80b2ff2aee4e77\nZ = ed56bcf695b734142c24ecb1fc1bb64d08f175eb243a31f37b3d9bb4407f3b96\n\nCurve = P-256\nPrivate = b2f3600df3368ef8a0bb85ab22f41fc0e5f4fdd54be8167a5c3cd4b08db04903\nX = 69c627", "625b36a429c398b45c38677cb35d8beb1cf78a571e40e99fe4eac1cd4e\nY = 81690112b0a88f20f7136b28d7d47e5fbc2ada3c8edd87589bc19ec9590637bd\nPeerX = 49c503ba6c4fa605182e186b5e81113f075bc11dcfd51c932fb21e951eee2fa1\nPeerY = 8af706ff0922d87b3f0c5e4e31d8b259aeb260a9269643ed520a13bb25da5924\nZ = bc5c7055089fc9d6c89f83c1ea1ada879d9934b2ea28fcf4e4a7e984b28ad2cf\n\nCurve = P-256\nPrivate = 4002534307f8b62a9bf67ff641ddc60fef593b17c3341239e95bdb3e579bfdc8\nX = 5fe964671315a18aa68a2a6e3dd1fde7e23b8ce7181471cfac43c99e1ae80262\nY = d5827be282e62c84de531b963884ba832db5d6b2c3a256f0e604fe7e6b8a7f72\nPeerX = 19b38de39fdd2f70f7091631a4f75d1993740ba9429162c2a45312401636b29c\nPeerY = 09aed7232b28e060941741b6828bcdfa2bc49cc844f3773611504f82a390a5ae\nZ = 9a4e8e657f6b0e097f47954a63c75d74fcba71a30d83651e3e5a91aa7ccd8343\n\nCurve = P-256\nPrivate = 4dfa12defc60319021b681b3ff84a10a511958c850939ed45635934ba4979147\nX = c9b2b8496f1440bd4a2d1e52752fd372835b364885e154a7dac49295f281ec7c\nY = fbe6b926a8a4de26ccc83b802b1212400754be25d9f3eeaf008b09870ae76321\nPeerX = 2c91c61f33adfe9311c942fdbff6ba47020feff416b7bb63cec13faf9b099954\nPeerY = 6cab31b06419e5221fca014fb84ec870622a1b12bab5ae43682aa7ea73ea08d0\nZ = 3ca1fc7ad858fb1a6aba232542f3e2a749ffc7203a2374a3f3d3267f1fc97b78\n\nCurve = P-256\nPrivate = 1331f6d874a4ed3bc4a2c6e9c74331d3039796314beee3b7152fcdba5556304e\nX = 59e1e101521046ad9cf1d082e9d2ec7dd22530cce064991f1e55c5bcf5fcb591\nY = 482f4f673176c8fdaa0bb6e59b15a3e47454e3a04297d3863c9338d98add1f37\nPeerX = a28a2edf58025668f724aaf83a50956b7ac1cfbbff79b08c3bf87dfd2828d767\nPeerY = dfa7bfffd4c766b86abeaf5c99b6e50cb9ccc9d9d00b7ffc7804b0491b67bc03\nZ = 1aaabe7ee6e4a6fa732291202433a237df1b49bc53866bfbe00db96a0f58224f\n\nCurve = P-256\nPrivate = dd5e9f70ae740073ca0204df60763fb6036c45709bf4a7bb4e671412fad65da3\nX = 30b9db2e2e977bcdc98cb87dd736cbd8e78552121925cf16e1933657c2fb2314\nY = 6a45028800b81291bce5c2e1fed7ded650620ebbe6050c6f3a7f0dfb4673ab5c\nPeerX = a2ef857a081f9d6eb206a81c4cf78a802bdf598ae380c8886ecd85fdc1ed7644\nPeerY = 563c4c20419f07bc17d0539fade1855e34839515b892c0f5d26561f97fa04d1a\nZ = 430e6a4fba4449d700d2733e557f66a3bf3d50517c1271b1ddae1161b7ac798c\n\nCurve = P-256\nPrivate = 5ae026cfc060d55600717e55b8a12e116d1d0df34af831979057607c2d9c2f76\nX = 46c9ebd1a4a3c8c0b6d572b5dcfba12467603208a9cb5d2acfbb733c40cf6391\nY = 46c913a27d044185d38b467ace011e04d4d9bbbb8cb9ae25fa92aaf15a595e86\nPeerX = ccd8a2d86bc92f2e01bce4d6922cf7fe1626aed044685e95e2eebd464505f01f\nPeerY = e9ddd583a9635a667777d5b8a8f31b0f79eba12c75023410b54b8567dddc0f38\nZ = 1ce9e6740529499f98d1f1d71329147a33df1d05e4765b539b11cf615d6974d3\n\nCurve = P-256\nPrivate = b601ac425d5dbf9e1735c5e2d5bdb79ca98b3d5be4a2cfd6f2273f150e064d9d\nX = 7c9e950841d26c8dde8994398b8f5d475a022bc63de7773fcf8d552e01f1ba0a\nY = cc42b9885c9b3bee0f8d8c57d3a8f6355016c019c4062fa22cff2f209b5cc2e1\nPeerX = c188ffc8947f7301fb7b53e36746097c2134bf9cc981ba74b4e9c4361f595e4e\nPeerY = bf7d2f2056e72421ef393f0c0f2b0e00130e3cac4abbcc00286168e85ec55051\nZ = 4690e3743c07d643f1bc183636ab2a9cb936a60a802113c49bb1b3f2d0661660\n\nCurve = P-256\nPrivate = fefb1dda1845312b5fce6b81b2be205af2f3a274f5a212f66c0d9fc33d7ae535\nX = 38b54db85500cb20c61056edd3d88b6a9dc26780a047f213a6e1b900f76596eb\nY = 6387e4e5781571e4eb8ae62991a33b5dc33301c5bc7e125d53794a39160d8fd0\nPeerX = 317e1020ff53fccef18bf47bb7f2dd7707fb7b7a7578e04f35b3beed222a0eb6\nPeerY = 09420ce5a19d77c6fe1ee587e6a49fbaf8f280e8df033d75403302e5a27db2ae\nZ = 30c2261bd0004e61feda2c16aa5e21ffa8d7e7f7dbf6ec379a43b48e4b36aeb0\n\nCurve = P-256\nPrivate = 334ae0c4693d23935a7e8e043ebbde21e168a7cba3fa507c9be41d7681e049ce\nX = 3f2bf1589abf3047bf3e54ac9a95379bff95f8f55405f64eca36a7eebe8ffca7\nY = 5212a94e66c5ae9a8991872f66a72723d80ec5b2e925745c456f5371943b3a06\nPeerX = 45fb02b2ceb9d7c79d9c2fa93e9c7967c2fa4df5789f9640b24264b1e524fcb1\nPeerY = 5c6e8ecf1f7d3023893b7b1ca1e4d178972ee2a230757ddc564ffe37f5c5a321\nZ = 2adae4a138a239dcd93c243a3803c3e4cf96e37fe14e6a9b717be9599959b11c\n\nCurve = P-256\nPrivate = 2c4bde40214fcc3bfc47d4cf434b629acbe9157f8fd0282540331de7942cf09d\nX = 29c0807f10cbc42fb45c9989da50681eead716daa7b9e91fd32e062f5eb92ca0\nY = ff1d6d1955d7376b2da24fe1163a271659136341bc2eb1195fc706dc62e7f34d\nPeerX = a19ef7bff98ada781842fbfc51a47aff39b5935a1c7d9625c8d323d511c92de6\nPeerY = e9c184df75c955e02e02e400ffe45f78f339e1afe6d056fb3245f4700ce606ef\nZ = 2e277ec30f5ea07d6ce513149b9479b96e07f4b6913b1b5c11305c1444a1bc0b\n\nCurve = P-256\nPrivate = 85a268f9d7772f990c36b42b0a331adc92b5941de0b862d5d89a347cbf8faab0\nX = 9cf4b98581ca1779453cc816ff28b4100af56cf1bf2e5bc312d83b6b1b21d333\nY = 7a5504fcac5231a0d12d658218284868229c844a04a3450d6c7381abe080bf3b\nPeerX = 356c5a444c049a52fee0adeb7e5d82ae5aa83030bfff31bbf8ce2096cf161c4b\nPeerY = 57d128de8b2a57a094d1a001e572173f96e8866ae352bf29cddaf92fc85b2f92\nZ = 1e51373bd2c6044c129c436e742a55be2a668a85ae08441b6756445df5493857\n\nCurve = P-384\nPrivate = 3cc3122a68f0d95027ad38c067916ba0eb8c38894d22e1b15618b6818a661774ad463b205da88cf699ab4d43c9cf98a1\nX = 9803807f2f6d2fd966cdd0290bd410c0190352fbec7ff6247de1302df86f25d34fe4a97bef60cff548355c015dbb3e5f\nY = ba26ca69ec2f5b5d9dad20cc9da711383a9dbe34ea3fa5a2af75b46502629ad54dd8b7d73a8abb06a3a3be47d650cc99\nPeerX = a7c76b970c3b5fe8b05d2838ae04ab47697b9eaf52e764592efda27fe7513272734466b400091adbf2d68c58e0c50066\nPeerY = ac68f19f2e1cb879aed43a9969b91a0839c4c38a49749b661efedf243451915ed0905a32b060992b468c64766fc8437a\nZ = 5f9d29dc5e31a163060356213669c8ce132e22f57c9a04f40ba7fcead493b457e5621e766c40a2e3d4d6a04b25e533f1\n\nCurve = P-384\nPrivate = 92860c21bde06165f8e900c687f8ef0a05d14f290b3f07d8b3a8cc6404366e5d5119cd6d03fb12dc58e89f13df9cd783\nX = ea4018f5a307c379180bf6a62fd2ceceebeeb7d4df063a66fb838aa35243419791f7e2c9d4803c9319aa0eb03c416b66\nY = 68835a91484f05ef028284df6436fb88ffebabcdd69ab0133e6735a1bcfb37203d10d340a8328a7b68770ca75878a1a6\nPeerX = 30f43fcf2b6b00de53f624f1543090681839717d53c7c955d1d69efaf0349b7363acb447240101cbb3af6641ce4b88e0\nPeerY = 25e46c0c54f0162a77efcc27b6ea792002ae2ba82714299c860857a68153ab62e525ec0530d81b5aa15897981e858757\nZ = a23742a2c267d7425fda94b93f93bbcc24791ac51cd8fd501a238d40812f4cbfc59aac9520d758cf789c76300c69d2ff\n\nCurve = P-384\nPrivate = 12cf6a223a72352543830f3f18530d5cb37f26880a0b294482c8a8ef8afad09aa78b7dc2f2789a78c66af5d1cc553853\nX = fcfcea085e8cf74d0dced1620ba8423694f903a219bbf901b0b59d6ac81baad316a242ba32bde85cb248119b852fab66\nY = 972e3c68c7ab402c5836f2a16ed451a33120a7750a6039f3ff15388ee622b7065f7122bf6d51aefbc29b37b03404581b\nPeerX = 1aefbfa2c6c8c855a1a216774550b79a24cda37607bb1f7cc906650ee4b3816d68f6a9c75da6e4242cebfb6652f65180\nPeerY = 419d28b723ebadb7658fcebb9ad9b7adea674f1da3dc6b6397b55da0f61a3eddacb4acdb14441cb214b04a0844c02fa3\nZ = 3d2e640f350805eed1ff43b40a72b2abed0a518bcebe8f2d15b111b6773223da3c3489121db173d414b5bd5ad7153435\n\nCurve = P-384\nPrivate = 8dd48063a3a058c334b5cc7a4ce07d02e5ee6d8f1f3c51a1600962cbab462690ae3cd974fb39e40b0e843daa0fd32de1\nX = e38c9846248123c3421861ea4d32669a7b5c3c08376ad28104399494c84ff5efa3894adb2c6cbe8c3c913ef2eec5bd3c\nY = 9fa84024a1028796df84021f7b6c9d02f0f4bd1a612a03cbf75a0beea43fef8ae84b48c60172aadf09c1ad016d0bf3ce\nPeerX = 8bc089326ec55b9cf59b34f0eb754d93596ca290fcb3444c83d4de3a5607037ec397683f8cef07eab2fe357eae36c449\nPeerY = d9d16ce8ac85b3f1e94568521aae534e67139e310ec72693526aa2e927b5b322c95a1a033c229cb6770c957cd3148dd7\nZ = 6a42cfc392aba0bfd3d17b7ccf062b91fc09bbf3417612d02a90bdde62ae40c54bb2e56e167d6b70db670097eb8db854\n\nCurve = P-384\nPrivate = 84ece6cc3429309bd5b23e959793ed2b111ec5cb43b6c18085fcaea9efa0685d98a6262ee0d330ee250bc8a67d0e733f\nX = 3222063a2997b302ee60ee1961108ff4c7acf1c0ef1d5fb0d164b84bce71c431705cb9aea9a45f5d73806655a058bee3\nY = e61fa9e7fbe7cd43abf99596a3d3a039e99fa9dc93b0bdd9cad81966d17eeaf557068afa7c78466bb5b22032d1100fa6\nPeerX = eb952e2d9ac0c20c6cc48fb225c2ad154f53c8750b003fd3b4ed8ed1dc0defac61bcdde02a2bcfee7067d75d342ed2b0\nPeerY = f1828205baece82d1b267d0d7ff2f9c9e15b69a72df47058a97f3891005d1fb38858f5603de840e591dfa4f6e7d489e1\nZ = ce7ba454d4412729a32bb833a2d1fd2ae612d4667c3a900e069214818613447df8c611de66da200db7c375cf913e4405\n\nCurve = P-384\nPrivate = 68fce2121dc3a1e37b10f1dde309f9e2e18fac47cd1770951451c3484cdb77cb136d00e731260597cc2859601c01a25b\nX = 868be0e694841830e424d913d8e7d86b84ee1021d82b0ecf523f09fe89a76c0c95c49f2dfbcf829c1e39709d55efbb3b\nY = 9195eb183675b40fd", @@ -2475,40 +2555,40 @@ static const char *kData35[] = { "fd3e0faceb636b34ed17e044a9f249dae8fc132e937e2d9349cd2ed77bb1049ceb692a2ec5b17ad61502a64c\nY = 001ec91d3058573fa6c0564a02a1a010160c313bc7c73510dc983e5461682b5be00dbce7e2c682ad73f29ca822cdc111f68fabe33a7b384a648342c3cdb9f050bcdb\nPeerX = 017200b3f16a68cbaed2bf78ba8cddfb6cffac262bba00fbc25f9dc72a07ce59372904899f364c44cb264c097b647d4412bee3e519892d534d9129f8a28f7500fee7\nPeerY = 00baba8d672a4f4a3b63de48b96f56e18df5d68f7d70d5109833f43770d6732e06b39ad60d93e5b43db8789f1ec0aba47286a39ea584235acea757dbf13d53b58364\nZ = 0101e462e9d9159968f6440e956f11dcf2227ae4aea81667122b6af9239a291eb5d6cf5a4087f358525fcacfa46bb2db01a75af1ba519b2d31da33eda87a9d565748\n\nCurve = P-521\nPrivate = 005bacfff268acf6553c3c583b464ea36a1d35e2b257a5d49eb3419d5a095087c2fb4d15cf5bf5af816d0f3ff7586490ccd3ddc1a98b39ce63749c6288ce0dbdac7d\nX = 0036e488da7581472a9d8e628c58d6ad727311b7e6a3f6ae33a8544f34b09280249020be7196916fafd90e2ec54b66b5468d2361b99b56fa00d7ac37abb8c6f16653\nY = 011edb9fb8adb6a43f4f5f5fdc1421c9fe04fc8ba46c9b66334e3af927c8befb4307104f299acec4e30f812d9345c9720d19869dbfffd4ca3e7d2713eb5fc3f42615\nPeerX = 004efd5dbd2f979e3831ce98f82355d6ca14a5757842875882990ab85ab9b7352dd6b9b2f4ea9a1e95c3880d65d1f3602f9ca653dc346fac858658d75626f4d4fb08\nPeerY = 0061cf15dbdaa7f31589c98400373da284506d70c89f074ed262a9e28140796b7236c2eef99016085e71552ff488c72b7339fefb7915c38459cb20ab85aec4e45052\nZ = 0141d6a4b719ab67eaf04a92c0a41e2dda78f4354fb90bdc35202cc7699b9b04d49616f82255debf7bbec045ae58f982a66905fcfae69d689785e38c868eb4a27e7b\n\nCurve = P-521\nPrivate = 008e2c93c5423876223a637cad367c8589da69a2d0fc68612f31923ae50219df2452e7cc92615b67f17b57ffd2f52b19154bb40d7715336420fde2e89fee244f59dc\nX = 00fa3b35118d6c422570f724a26f90b2833b19239174cea081c53133f64db60d6940ea1261299c04c1f4587cdb0c4c39616479c1bb0c146799a118032dcf98f899c0\nY = 0069f040229006151fa32b51f679c8816f7c17506b403809dc77cd58a2aec430d94d13b6c916de99f355aa45fcfbc6853d686c71be496a067d24bfaea4818fc51f75\nPeerX = 0129891de0cf3cf82e8c2cf1bf90bb296fe00ab08ca45bb7892e0e227a504fdd05d2381a4448b68adff9c4153c87eacb78330d8bd52515f9f9a0b58e85f446bb4e10\nPeerY = 009edd679696d3d1d0ef327f200383253f6413683d9e4fcc87bb35f112c2f110098d15e5701d7ceee416291ff5fed85e687f727388b9afe26a4f6feed560b218e6bb\nZ = 00345e26e0abb1aac12b75f3a9cf41efe1c336396dffa4a067a4c2cfeb878c68b2b045faa4e5b4e6fa4678f5b603c351903b14bf9a6a70c439257199a640890b61d1\n\nCurve = P-521\nPrivate = 0004d49d39d40d8111bf16d28c5936554326b197353eebbcf47545393bc8d3aaf98f14f5be7074bfb38e6cc97b989754074daddb3045f4e4ce745669fdb3ec0d5fa8\nX = 012ec226d050ce07c79b3df4d0f0891f9f7adf462e8c98dbc1a2a14f5e53a3f5ad894433587cc429a8be9ea1d84fa33b1803690dae04da7218d30026157fc995cf52\nY = 004837dfbf3426f57b5c793269130abb9a38f618532211931154db4eeb9aede88e57290f842ea0f2ea9a5f74c6203a3920fe4e305f6118f676b154e1d75b9cb5eb88\nPeerX = 01a3c20240e59f5b7a3e17c275d2314ba1741210ad58b71036f8c83cc1f6b0f409dfdd9113e94b67ec39c3291426c23ffcc447054670d2908ff8fe67dc2306034c5c\nPeerY = 01d2825bfd3af8b1e13205780c137fe938f84fde40188e61ea02cead81badfdb425c29f7d7fb0324debadc10bbb93de68f62c35069268283f5265865db57a79f7bf7\nZ = 006fe9de6fb8e672e7fd150fdc5e617fabb0d43906354ccfd224757c7276f7a1010091b17ed072074f8d10a5ec971eb35a5cb7076603b7bc38d432cbc059f80f9488\n\nCurve = P-521\nPrivate = 011a5d1cc79cd2bf73ea106f0e60a5ace220813b53e27b739864334a07c03367efda7a4619fa6eef3a9746492283b3c445610a023a9cc49bf4591140384fca5c8bb5\nX = 00eb07c7332eedb7d3036059d35f7d2288d4377d5f42337ad3964079fb120ccd4c8bd384b585621055217023acd9a94fcb3b965bfb394675e788ade41a1de73e620c\nY = 00491a835de2e6e7deb7e090f4a11f2c460c0b1f3d5e94ee8d751014dc720784fd3b54500c86ebaef18429f09e8e876d5d1538968a030d7715dde99f0d8f06e29d59\nPeerX = 007e2d138f2832e345ae8ff65957e40e5ec7163f016bdf6d24a2243daa631d878a4a16783990c722382130f9e51f0c1bd6ff5ac96780e48b68f5dec95f42e6144bb5\nPeerY = 00b0de5c896791f52886b0f09913e26e78dd0b69798fc4df6d95e3ca708ecbcbcce1c1895f5561bbabaae372e9e67e6e1a3be60e19b470cdf673ec1fc393d3426e20\nZ = 01e4e759ecedce1013baf73e6fcc0b92451d03bdd50489b78871c333114990c9ba6a9b2fc7b1a2d9a1794c1b60d9279af6f146f0bbfb0683140403bfa4ccdb524a29\n\nCurve = P-521\nPrivate = 010c908caf1be74c616b625fc8c1f514446a6aec83b5937141d6afbb0a8c7666a7746fa1f7a6664a2123e8cdf6cd8bf836c56d3c0ebdcc980e43a186f938f3a78ae7\nX = 0031890f4c7abec3f723362285d77d2636f876817db3bbc88b01e773597b969ff6f013ea470c854ab4a7739004eb8cbea69b82ddf36acadd406871798ecb2ac3aa7f\nY = 00d8b429ae3250266b9643c0c765a60dc10155bc2531cf8627296f4978b6640a9e600e19d0037d58503fa80799546a814d7478a550aa90e5ebeb052527faaeae5d08\nPeerX = 00118c36022209b1af8ebad1a12b566fc48744576e1199fe80de1cdf851cdf03e5b9091a8f7e079e83b7f827259b691d0c22ee29d6bdf73ec7bbfd746f2cd97a357d\nPeerY = 00da5ff4904548a342e2e7ba6a1f4ee5f840411a96cf63e6fe622f22c13e614e0a847c11a1ab3f1d12cc850c32e095614ca8f7e2721477b486e9ff40372977c3f65c\nZ = 0163c9191d651039a5fe985a0eea1eba018a40ab1937fcd2b61220820ee8f2302e9799f6edfc3f5174f369d672d377ea8954a8d0c8b851e81a56fda95212a6578f0e\n\nCurve = P-521\nPrivate = 01b37d6b7288de671360425d3e5ac1ccb21815079d8d73431e9b74a6f0e7ae004a357575b11ad66642ce8b775593eba9d98bf25c75ef0b4d3a2098bbc641f59a2b77\nX = 00189a5ee34de7e35aefeaeef9220c18071b4c29a4c3bd9d954458bd3e82a7a34da34cff5579b8101c065b1f2f527cf4581501e28ef5671873e65267733d003520af\nY = 01eb4bc50a7b4d4599d7e3fa773ddb9eb252c9b3422872e544bdf75c7bf60f5166ddc11eb08fa7c30822dabaee373ab468eb2d922e484e2a527fff2ebb804b7d9a37\nPeerX = 01780edff1ca1c03cfbe593edc6c049bcb2860294a92c355489d9afb2e702075ade1c953895a456230a0cde905de4a3f38573dbfcccd67ad6e7e93f0b5581e926a5d\nPeerY = 00a5481962c9162962e7f0ebdec936935d0eaa813e8226d40d7f6119bfd940602380c86721e61db1830f51e139f210000bcec0d8edd39e54d73a9a129f95cd5fa979\nZ = 015d613e267a36342e0d125cdad643d80d97ed0600afb9e6b9545c9e64a98cc6da7c5aaa3a8da0bdd9dd3b97e9788218a80abafc106ef065c8f1c4e1119ef58d298b\n\nCurve = P-521\nPrivate = 00f2661ac762f60c5fff23be5d969ccd4ec6f98e4e72618d12bdcdb9b4102162333788c0bae59f91cdfc172c7a1681ee44d96ab2135a6e5f3415ebbcd55165b1afb0\nX = 00a8e25a6902d687b4787cdc94c364ac7cecc5c495483ed363dc0aa95ee2bd739c4c4d46b17006c728b076350d7d7e54c6822f52f47162a25109aaaba690cab696ec\nY = 0168d2f08fe19e4dc9ee7a195b03c9f7fe6676f9f520b6270557504e72ca4394a2c6918625e15ac0c51b8f95cd560123653fb8e8ee6db961e2c4c62cc54e92e2a2a9\nPeerX = 016dacffa183e5303083a334f765de724ec5ec9402026d4797884a9828a0d321a8cfac74ab737fe20a7d6befcfc73b6a35c1c7b01d373e31abc192d48a4241a35803\nPeerY = 011e5327cac22d305e7156e559176e19bee7e4f2f59e86f1a9d0b6603b6a7df1069bde6387feb71587b8ffce5b266e1bae86de29378a34e5c74b6724c4d40a719923\nZ = 014d6082a3b5ced1ab8ca265a8106f302146c4acb8c30bb14a4c991e3c82a9731288bdb91e0e85bda313912d06384fc44f2153fb13506fa9cf43c9aab5750988c943\n\nCurve = P-521\nPrivate = 00f430ca1261f09681a9282e9e970a9234227b1d5e58d558c3cc6eff44d1bdf53de16ad5ee2b18b92d62fc79586116b0efc15f79340fb7eaf5ce6c44341dcf8dde27\nX = 006c1d9b5eca87de1fb871a0a32f807c725adccde9b3967453a71347d608f0c030cd09e338cdecbf4a02015bc8a6e8d3e2595fe773ffc2fc4e4a55d0b1a2cc00323b\nY = 01141b2109e7f4981c952aa818a2b9f6f5c41feccdb7a7a45b9b4b672937771b008cae5f934dfe3fed10d383ab1f38769c92ce88d9be5414817ecb073a31ab368ccb\nPeerX = 00a091421d3703e3b341e9f1e7d58f8cf7bdbd1798d001967b801d1cec27e605c580b2387c1cb464f55ce7ac80334102ab03cfb86d88af76c9f4129c01bedd3bbfc4\nPeerY = 008c9c577a8e6fc446815e9d40baa66025f15dae285f19eb668ee60ae9c98e7ecdbf2b2a68e22928059f67db188007161d3ecf397e0883f0c4eb7eaf7827a62205cc\nZ = 0020c00747cb8d492fd497e0fec54644bf027d418ab686381f109712a99cabe328b9743d2225836f9ad66e5d7fed1de247e0da92f60d5b31f9e47672e57f710598f4\n\nCurve = P-521\nPrivate = 005dc33aeda03c2eb233014ee468dff753b72f73b00991043ea353828ae69d4cd0fadeda7bb278b535d7c57406ff2e6e473a5a4ff98e90f90d6dadd25100e8d85666\nX = 00c825ba307373cec8dd2498eef82e21fd9862168dbfeb83593980ca9f82875333899fe94f137daf1c4189eb502937c3a367ea7951ed8b0f3377fcdf2922021d46a5\nY = 016b8a2540d5e65493888bc337249e67c0a68774f3e8d81e3b4574a0125165f0bd58b8af9de74b35832539f95c3cd9f1b759408560aa6851ae3ac7555347b0d3b13b\nPeerX = 004f38816681771289ce0cb83a5e29a1ab06fc91f786994b23708ff08a08a0f675b809ae99e9f9967eb1a49f196057d69e50d6dedb4dd2d9a81c02bdcc8f7f518460\nPeerY = 009efb244c8b91087de1eed766500f0e81530752d469256ef79f6b965d8a2232a0c2dbc4e8e1d09214bab38485be6e357c4200d073b52f04e4a16fc6f5247187aecb\nZ = 00c2bfafcd7fbd3e2fd1c", "750fdea61e70bd4787a7e68468c574ee99ebc47eedef064e8944a73bcb7913dbab5d93dca660d216c553622362794f7a2acc71022bdb16f\n\nCurve = P-521\nPrivate = 00df14b1f1432a7b0fb053965fd8643afee26b2451ecb6a8a53a655d5fbe16e4c64ce8647225eb11e7fdcb23627471dffc5c2523bd2ae89957cba3a57a23933e5a78\nX = 004e8583bbbb2ecd93f0714c332dff5ab3bc6396e62f3c560229664329baa5138c3bb1c36428abd4e23d17fcb7a2cfcc224b2e734c8941f6f121722d7b6b94154576\nY = 01cf0874f204b0363f020864672fadbf87c8811eb147758b254b74b14fae742159f0f671a018212bbf25b8519e126d4cad778cfff50d288fd39ceb0cac635b175ec0\nPeerX = 01a32099b02c0bd85371f60b0dd20890e6c7af048c8179890fda308b359dbbc2b7a832bb8c6526c4af99a7ea3f0b3cb96ae1eb7684132795c478ad6f962e4a6f446d\nPeerY = 017627357b39e9d7632a1370b3e93c1afb5c851b910eb4ead0c9d387df67cde85003e0e427552f1cd09059aad0262e235cce5fba8cedc4fdc1463da76dcd4b6d1a46\nZ = 01aaf24e5d47e4080c18c55ea35581cd8da30f1a079565045d2008d51b12d0abb4411cda7a0785b15d149ed301a3697062f42da237aa7f07e0af3fd00eb1800d9c41\n", }; -static const size_t kLen36 = 132435; - -static const char *kData36[] = { - "# Public key algorithm tests\n\n# Keys used for PKEY operations.\n\n# RSA 2048 bit key.\nPrivateKey = RSA-2048\nType = RSA\nInput = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f02030100010282010060297ac7991b167a06d6b24758b8cbe208beb9b2d9ec9738bd80f90a2e35005dd7ce292d9e29ba885bd316fef1f20913bc0ac90d6b0808b2414d82104441d8624a33ce0233c8f780a48b375aff02d76712228a702484db3f9ebecccfbbee1709dba182800d949e9e4216e0bff3558388f8bd90da373a1d82743ec3fbdd1427fd16825a657a316912e8695365117ca2f845c909405fcac55f895fc15d20386c26ee78c9e99075029a178a6c1e4cf0c200e8a9cfb27e9d156f86e6c2adc22b1a84a1cd5ca5b2790875d79407c84b352395cb81cc3fed5bb043b69ede0c07204550025cee8c5f440170b6120bb48e0f747bcd8f522110850df043c428dfd187053102818100f6f961b47cbc035d3aedebc7de850a956b65ecdb9cf60764063f15aa48553c58d972fe6675056e35ddfdc37bf3b9f2f622ee271337256849c9bef2176fe8f7c3f8bb91ba374dd53baf3dec814d2bdec10c1fdc88cdd16876f26b1edfa3f094197edf4d42ff1fb2971103b898ca859c427287086a842ab410bb69cf2d35af6be302818100d47e724a7ff41048b270c2524a4101878b73159bb73d3dbc187b220e635b3534f96e243a184d93f860b6bfbb6b71c1ed9a1e1f458583023c301e96a692c1a08b53d0ec9ca910100d80451e3b7dc6a01bac4aecef8df798846bc235a08cbba2cf4c06804cc11219e95608c714e3f1430d491fadbba32a5751a04f97745834c9a502818021f2452bb9b95dfd028c914bf799f1ca77e89a95d50d3c16d384f8455f8bd7af9eb3dfa3d591d9842def235f7630a8e48c088ff6642e101794535a933e1e976fa8509fc728b2da0c4a1a08d7fcf37abaae1ff3001aca1dc1bbb05d9dffbaa1a09f7fb1eef38237d9ebccc722b9338436dde7119112798c26809c1a8dec4320610281801f7510aa62c2d8de4a3c53282781f41e02d0e8b402ae78432e449c48110161a11403f02d01880a8dcc938152d79721a4711a607ac4471ebf964810f95be47a45e60499e29f4c9773c83773404f606637728c2d0351bb03c326c8bb73a721e7fa5440ea2172bba1465fcc30dcb0d9f89930e815aa1f7f9729a857e00e0338dd590281804d1f0d756fe77e01099a652f50a88b7b685dc5bf00981d5d2376fd0c6fe29cd5b638734479305a73ad3c1599d39eae3bae035fbd6fed07c28de705933879a06e48e6a603686ed8e2560a5f6af1f2c24faf4aa960e382186f15eedce9a2491ae730680dd4cf778b70faa86826ab3223477cc91377b19a6d5a2eaea219760beed5\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The public half of the same key encoded as a SubjectPublicKeyInfo.\nPublicKey = RSA-2048-SPKI\nType = RSA\nInput = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key but with a negative RSA modulus.\nPublicKey = RSA-2048-SPKI-Negative\nInput = 30820121300d06092a864886f70d01010105000382010e003082010902820100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = NEGATIVE_NUMBER\n\n# The same key but with missing parameters rather than a NULL.\nPublicKey = RSA-2048-SPKI-Invalid\nInput = 30820120300b06092a864886f70d0101010382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = DECODE_ERROR\n\n# The same key but with an incorrectly-encoded length prefix.\nPublicKey = RSA-2048-SPKI-Invalid2\nInput = 3083000122300d06092a864886f70d01010105000382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = DECODE_ERROR\n\n# RSA 512 bit key.\nPrivateKey = RSA-512\nType = RSA\nInput = 30820154020100300d06092a864886f70d01010105000482013e3082013a020100024100dd20403d976a38c9d79152d87b5c8e9f05033eadd7b7de709bf5b0c4a5182a97d18483526b02362b992e154a9f37faa396ca2685cdab8fec09877ebe705f4dd70203010001024055bebcca655d7e39de8a6eaa9d636db682161907064039544755c53eeb99ec618c03a210dbc61471eaba10c5c365c9726d6b7a96f54d455f7d168d49367270e1022100f21a05d9fd6817301ce49ce10448f9bdd44f5ef5b7557cd7d83155db46382ae7022100e9d1f7157783db2feab1936954ddc4e83aa365695868144cda1be6813b61d791022100d6001eb0040920860ce41fafdf23ca6dfbdf74e6e9f98cf3164cf5c16f9e727d02206f6f73f4b52b10517be6f9bc5f87fa0a3bb817e2e711636b651f9af1c85d4f21022063eff2e57f5b4ca20342cfe793e25526624e3692f192461f9e1ce7f13f2d72c8\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# RSA 515 bit key.\nPrivateKey = RSA-515\nType = RSA\nInput = 30820157020100300d06092a864886f70d0101010500048201413082013d0201000241054fa166e205e658bbe8a2dc35311c0c2b75b7e4569fd9642c8bae809279271fc824f26baa1166ea46298ca63379ea76adbada2b61e5066820a35beaec1aca227f020301000102410266c972be0d30e53ac2acb1aa13b4bd0401cccf212452a66b4615f7e943831f67b4ca48560582d0ca886044aaaaf87945252a848c1947944186e6eb83969bf91102210309e631761842cc8a2ccfd372c20a9cba21de1a199c30ab440bc6b51079f4e825022101bf715c1db432627ca7c29a293b9210f2eff1e92d12f306ebaa5334f8ee03dcd30221018ac58a765f2b8f37d434081fe5ff92b81735ead2f263f4968ccf63d61fbe3d0d0221015b247a1159a2d5a25d0db049593c6405f77f3a278c521d066e290c2a2d8fb59d0221026224aa31fd95c14d24fd03b8a195bba4cc88df7c37f5370a5ab19f882f1404d6\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# EC P-256 key\nPrivateKey = P-256\nType = EC\nInput = 308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above with the optional public key omitted.\nPrivateKey = P-256-MissingPublic\nType = EC\nInput = 3041020100301306072a8648ce3d020106082a8648ce3d0301070427302502010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above with redundant parameters.\nPrivateKey = P-256-ExtraParameters\nType = EC\nInput = 308193020100301306072a8648ce3d020106082a8648ce3d0301070479307702010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a00a06082a8648ce3d030107a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\n# The key re-encodes with the parameters removed.\nOutput = 308187020100301306072a8648c", - "e3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key, but with the redundant parameters in the ECPrivateKey mismatched.\nPrivateKey = P-256-BadInnerParameters\nInput = 308190020100301306072a8648ce3d020106082a8648ce3d0301070476307402010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a00706052b81040022a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = GROUP_MISMATCH\n\n# The public half of the same key encoded as a PublicKey.\nPublicKey = P-256-SPKI\nType = EC\nInput = 3059301306072a8648ce3d020106082a8648ce3d030107034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same as above, but with the curve explicitly spelled out.\nPublicKey = P-256-SPKI\nInput = 3082014b3082010306072a8648ce3d02013081f7020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff305b0420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b031500c49d360886e704936a6678e1139d26b7819f7e900441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = DECODE_ERROR\n\n# The same as above, but with trailing data after the curve name.\nPublicKey = P-256-SPKI\nInput = 305b301506072a8648ce3d020106082a8648ce3d0301070500034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = DECODE_ERROR\n\n# A DSA private key.\nPrivateKey = DSA-1024\nType = DSA\nInput = 308202650201003082023906072a8648ce3804013082022c02820101009e12fab3de12213501dd82aa10ca2d101d2d4ebfef4d2a3f8daa0fe0cedad8d6af85616aa2f3252c0a2b5a6db09e6f14900e0ddb8311876dd8f9669525f99ed65949e184d5064793271169a228680b95ec12f59a8e20b21f2b58eb2a2012d35bde2ee351822fe8f32d0a330565dcce5c672b7259c14b2433d0b5b2ca2b2db0ab626e8f13f47fe0345d904e7294bb038e9ce21a9e580b83356278706cfe768436c69de149ccff98b4aab8cb4f6385c9f102ce59346eaeef27e0ad222d53d6e89cc8cde5776dd00057b03f2d88ab3cedbafd7b585f0b7f7835e17a3728bbf25ea62572f245dc111f3ce39cb6ffacc31b0a2790e7bde90224ea9b09315362af3d2b022100f381dcf53ebf724f8b2e5ca82c010fb4b5eda9358d0fd88ed278589488b54fc3028201000c402a725dcc3a62e02bf4cf43cd17f4a493591220223669cf4193edab423ad08dfb552e308a6a57a5ffbc7cd0fb2087f81f8df0cb08ab2133287d2b6968714a94f633c940845a48a3e16708dde761cc6a8eab2d84db21b6ea5b07681493cc9c31fbc368b243f6ddf8c932a8b4038f44e7b15ca876344a147859f2b43b39458668ad5e0a1a9a669546dd2812e3b3617a0aef99d58e3bb4cc87fd94225e01d2dcc469a77268146c51918f18e8b4d70aa1f0c7623bcc52cf3731d38641b2d2830b7eecb2f09552ff137d046e494e7f33c3590002b16d1b97d936fda28f90c3ed3ca35338168ac16f77c3c57adc2e8f7c6c2256e41a5f65450590dbb5bcf06d66610423022100b0c768702743bc51242993a971a52889795444f7c6452203d0ce84fe6117d46e\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# A DSA public key.\nPublicKey = DSA-1024-SPKI\nType = DSA\nInput = 308201b73082012c06072a8648ce3804013082011f02818100b3429b8b128c9079f9b72e86857e98d265e5d91661ed8b5f4cc56e5eed1e571da30186983a9dd76297eab73ee13a1db841f8800d04a7cab478af6cde2ea4a2868531af169a24858c6268efa39ceb7ed0d4227eb5bbb01124a2a5a26038c7bcfb8cc827f68f5202345166e4718596799b65c9def82828ce44e62e38e41a0d24b1021500c5a56c81ddd87f47e676546c56d05706421624cf0281810094de40d27314fe929e47ff9b1ac65cfc73ef38c4d381c890be6217b15039ae18190e6b421af8c0bda35a5cfd050f58ae2644adce83e68c8e5ba11729df56bbb21e227a60b816cc033fa799a38fe1ba5b4aa1801b6f841ce3df99feb3b4fb96950c960af13fa2ce920aabc12dd24ad2044a35063ea0e25f67f560f4cfbdc5598303818400028180258c30ebbb7f34fdc873ce679f6cea373c7886d75d4421b90920db034daedd292c64d8edd8cdbdd7f3ad23d74cfa2135247d0cef6ecf2e14f99e19d22a8c1266bd8fb8719c0e5667c716c45c7adbdabe548085bdad2dfee636f8d52fd6adb2193df6c4f0520fbd171b91882e0e4f321f8250ffecf4dbea00e114427d3ef96c1a\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above, but without the parameters.\nPublicKey = DSA-1024-SPKI-No-Params\nType = DSA\nInput = 308192300906072a8648ce38040103818400028180258c30ebbb7f34fdc873ce679f6cea373c7886d75d4421b90920db034daedd292c64d8edd8cdbdd7f3ad23d74cfa2135247d0cef6ecf2e14f99e19d22a8c1266bd8fb8719c0e5667c716c45c7adbdabe548085bdad2dfee636f8d52fd6adb2193df6c4f0520fbd171b91882e0e4f321f8250ffecf4dbea00e114427d3ef96c1a\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# Private keys from RFC 8032.\nPrivateKey = Ed25519\nType = Ed25519\nInput = 302e020100300506032b6570042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nExpectRawPrivate = 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nExpectRawPublic = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\n\nPrivateKey = Ed25519-2\nType = Ed25519\nInput = 302e020100300506032b6570042204204ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb\nExpectRawPrivate = 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb\nExpectRawPublic = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\n\nPrivateKey = Ed25519-3\nType = Ed25519\nInput = 302e020100300506032b657004220420c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7\nExpectRawPrivate = c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7\nExpectRawPublic = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\n\nPrivateKey = Ed25519-4\nType = Ed25519\nInput = 302e020100300506032b657004220420f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5\nExpectRawPrivate = f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5\nExpectRawPublic = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\n\nPrivateKey = Ed25519-5\nType = Ed25519\nInput = 302e020100300506032b657004220420833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42\nExpectRawPrivate = 833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42\nExpectRawPublic = ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\n\n# Public keys from RFC 8032.\nPublicKey = Ed25519-SPKI\nType = Ed25519\nInput = 302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nExpectNoRawPrivate\nExpectRawPublic = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\n\nPublicKey = Ed25519-SPKI-2\nType = Ed25519\nInput = 302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\nExpectNoRawPrivate\nExpectRawPublic = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\n\nPublicKey = Ed25519-SPKI-3\nType = Ed25519\nInput = 302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\nExpectNoRawPrivate\nExpectRawPublic = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\n\nPublicKey = Ed25519-SPKI-4\nType = Ed25519\nInput = 302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\nExpectNoRawPrivate\nExpectRawPublic = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\n\nPublicKey = Ed25519-SPKI-5\nType = Ed25519\nInput = 302a300506032b6570032100ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\nExpectNoRawPrivate\nExpectRawPublic = ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\n\n# The first key, private and public, with invalid NULL parameters.\nPrivateKey = Ed25519-NULL\nInput = 3030020100300706032b65700500042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nError = DECODE_ERROR\n\nPublicKey = Ed25519-SPKI-NULL\nInput = 302c300706032b65700500032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nError = DECODE_ERROR\n\n# Sample public key from RFC 8410.\nPublicKey = Ed25519-SPKI-Spec\nType = Ed25", - "519\nInput = 302a300506032b657003210019bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1\n\n# Sample private key from RFC 8410.\nPrivateKey = Ed25519-Spec\nType = Ed25519\nInput = 302e020100300506032b657004220420d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842\n\n\n# RSA tests\n\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\nVerify = RSA-2048-SPKI\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\n# Digest too long\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nError = INVALID_MESSAGE_LENGTH\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too short\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nError = INVALID_MESSAGE_LENGTH\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too large for key.\nSign = RSA-512\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DIGEST_TOO_BIG_FOR_RSA_KEY\n\n# Mismatched digest\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1233\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = BAD_SIGNATURE\n\n# Corrupted signature\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1233\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ae\nError = BLOCK_TYPE_IS_NOT_01\n\n# parameter missing (NOTE: this differs from upstream)\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3ec3fc29eb6e122bd7aa361cd09fe1bcbe85311096a7b9e4799cedfb2351ce0ab7fe4e75b4f6b37f67edd9c60c800f9ab941c0c157d7d880ca9de40c951d60fd293ae220d4bc510b1572d6e85a1bbbd8605b52e05f1c64fafdae59a1c2fbed214b7844d0134619de62851d5a0522e32e556e5950f3f97b8150e3f0dffee612c924201c27cd9bc8b423a71533380c276d3d59fcba35a2e80a1a192ec266a6c2255012cd86a349fe90a542b355fa3355b04da6cdf1df77f0e7bd44a90e880e1760266d233e465226f5db1c68857847d82072861ee266ddfc2e596845b77e1803274a579835ab5e4975d81d20b7df9cec7795489e4a2bdb8c1cf6a6b359945ac92c\nError = BAD_SIGNATURE\n\n# embedded digest too long\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d\nError = BAD_SIGNATURE\n\n# embedded digest too short\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d\nError = BAD_SIGNATURE\n\n# Garbage after DigestInfo\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 9ee34872d4271a7d8808af0a4052a145a6d6a8437d00da3ed14428c7f087cd39f4d43334c41af63e7fa1ba363fee7bcef401d9d36a662abbab55ce89a696e1be0dfa19a5d09ca617dd488787b6048baaefeb29bc8688b2fe3882de2b77c905b5a8b56cf9616041e5ec934ba6de863efe93acc4eef783fe7f72a00fa65d6093ed32bf98ce527e62ccb1d56317f4be18b7e0f55d7c36617d2d0678a306e3350956b662ac15df45215dd8f6b314babb9788e6c272fa461e4c9b512a11a4b92bc77c3a4c95c903fccb238794eca5c750477bf56ea6ee6a167367d881b485ae3889e7c489af8fdf38e0c0f2aed780831182e34abedd43c39281b290774bf35cc25274\nError = BAD_SIGNATURE\n\n# invalid tag for parameter\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 49525db4d44c755e560cba980b1d85ea604b0e077fcadd4ba44072a3487bbddb835016200a7d8739cce2dc3223d9c20cbdd25059ab02277f1f21318efd18e21038ec89aa9d40680987129e8b41ba33bceb86518bdf47268b921cce2037acabca6575d832499538d6f40cdba0d40bd7f4d8ea6ca6e2eec87f294efc971407857f5d7db09f6a7b31e301f571c6d82a5e3d08d2bb3a36e673d28b910f5bec57f0fcc4d968fd7c94d0b9226dec17f5192ad8b42bcab6f26e1bea1fdc3b958199acb00f14ebcb2a352f3afcedd4c09000128a603bbeb9696dea13040445253972d46237a25c7845e3b464e6984c2348ea1f1210a9ff0b00d2d72b50db00c009bb39f9\nError = BAD_SIGNATURE\n\n\n# RSA-PSS tests.\n\n# Zero salt leng", - "th makes the output deterministic\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# Verify of above signature\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# A non-zero salt length must be checked by round-tripping.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Check a salt length with a non-standard digest length, to verify things are\n# not just working due to defaults. (The current default is a maximum salt\n# length, but the ecosystem has converged on matching the digest length, so we\n# may change this in the future.)\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 42\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Auto-detected salt length\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# Signing with salt length -1 means to match the digest length.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -1\nVerifyPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Signing with salt length -2 means to maximize the salt length.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -2\nVerifyPSSSaltLength = 222 # 256 - 32 - 2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Wrong digest\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"00000000000000000000000000000000\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = BAD_SIGNATURE\n\n# Digest too short\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDE\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too long\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF0\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = INVALID_MESSAGE_LENGTH\n\n# Wrong salt length\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = SLEN_CHECK_FAILED\n\n# Wrong salt length using implicit hash length\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -1\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = SLEN_CHECK_FAILED\n\n# Wrong MGF1 digest, SHA-1\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nMGF1Digest = SHA1\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n# If SHA-1, this input happens to succeed recovering a salt length, but it does\n# not match.\nError = SLEN_CHECK_FAILED\n\n# Wrong MGF1 digest, SHA-384\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nMGF1Digest = SHA384\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n# If SHA-384, this input happens fail to recover the salt length altogether.\nError = SLEN_RECOVERY_FAILED\n\n# The salt length is too large for the modulus (signing).\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 223\nDigest = SHA256\nInput = ", - "\"0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\n# The salt length is too large for the modulus (verifying).\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 223\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = DATA_TOO_LARGE\n\n# The hash is too large for the modulus (signing).\nSign = RSA-512\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\nSign = RSA-512\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\n# The hash is too large for the modulus (verifying).\nVerify = RSA-512\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nOutput = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nError = DATA_TOO_LARGE\n\nVerify = RSA-512\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nOutput = 457001d9ca50a93385fc5ec721c9dbbe7a0f2e9e4a2f846a30a8811dde66347b83901c7492039243537c7a667fafffd69049bcbd36afd0010d9b425e2d8785c1\nError = DATA_TOO_LARGE\n\n# Sample RSA-515 signature.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 00c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\n\n# The above, but with too few leading zeros.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\nError = DATA_LEN_NOT_EQUAL_TO_MOD_LEN\n\n# The above, but with too many leading zeros.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 0000c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\nError = DATA_LEN_NOT_EQUAL_TO_MOD_LEN\n\n# The above with an invalid leading byte. The top few bits of EM are required to\n# be cleared.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 007f803c832a2090aea04013d9fa9c1630732a1625232826d235f0950f7050d3fb0eb06ef9ea8b260fad68e1165a2d770a8c7fc7a8aaa68620b021fc19c97e0041\nError = FIRST_OCTET_INVALID\n\n# The above with an invalid trailing byte.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 03e68555035891eb08d96c0967db22328cd892ad2856d88516ecb946bfdba732bb029b5c0dfa2119ed7349897d2324e95e86d91d0c4afc82700a36db8933abbf58\nError = LAST_OCTET_INVALID\n\n# Non-zero salt length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n# Non-zero salt length, wrong salt length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 31\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\nError = SLEN_CHECK_FAILED\n\n# Non-zero salt length, match hash length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -1\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n# Non-zero salt length, auto-detected.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n\n# RSA decrypt\n\nDecrypt = RSA-2048\nInput = 550af55a2904e7b9762352f8fb7fa235a9cb053aacb2d5fcb8ca48453cb2ee3619746c701abf2d4cc67003471a187900b05aa812bd25ed05c675dfc8c97a24a7bf49bd6214992cad766d05a9a2b57b74f26a737e0237b8b76c45f1f226a836d7cfbc75ba999bdbe48dbc09227aa46c88f21dccba7840141ad5a5d71fd122e6bd6ac3e564780dfe623fc1ca9b995a6037bf0bbd43b205a84ac5444f34202c05ce9113087176432476576de6ffff9a52ea57c08be3ec2f49676cb8e12f762ac71fa3c321e00ac988910c85ff52f93825666ce0d40ffaa0592078919d4493f46d95ccf76364c6d57760dd0b64805f9afc76a2365a5575ca301d5103f0ea76cb9a78\nOutput = \"Hello World\"\n\n# Corrupted ciphertext\nDecrypt = RSA-2048\nInput = 550af55a2904e7b9762352f8fb7fa235a9cb053aacb2d5fcb8ca48453cb2ee3619746c701abf2d4cc67003471a187900b05aa812bd25ed05c675dfc8c97a24a7bf49bd6214992cad766d05a9a2b57b74f26a737e0237b8b76c45f1f226a836d7cfbc75ba999bdbe48dbc09227aa46c88f21dccba7840141ad5a5d71fd122e6bd6ac3e564780dfe623fc1ca9b995a6037bf0bbd43b205a84ac5444f34202c05ce9113087176432476576de6ffff9a52ea57c08be3ec2f49676cb8e12f762ac71fa3c321e00ac988910c85ff52f93825666ce0d40ffaa0592078919d4493f46d95ccf76364c6d57760dd0b64805f9afc76a2365a5575ca301d5103f0ea76cb9a79\nError = PKCS_DECODING_ERROR\n\n# OAEP padding\nDecrypt = RSA-2048\nRSAPadding = OAEP\nInput = 458708dfbd42a1297ce7a9c86c7087ab80b1754810929b89c5107ca55368587686986fce94d86cc1595b3fb736223a656ec0f34d18ba1cc5665593610f56c58e26b272d584f3d983a5c91085700755aebd921fb280bba3eda7046ec07b43e7298e52d59edc92be4639a8ce08b2f85976ecf6d98cc469eeb9d5d8e2a32ea8a6626edafe1038b3df455668a9f3c77cad8b92fb872e00058c3d2a7ede1a1f03fc5622084ae04d9d24f6bf0995c58d35b93b699b9763595e123f2ab0863cc9229eb290e2ede7715c7a8f39e0b9a3e2e1b56ebb62f1cbfbb5986fb212ebd785b83d01d968b11d1756c7337f70c1f1a63bff03608e24f3a2fd44e67f832a8701c5d5af\nOutput = \"Hello World\"\n\n# OAEP padding with label and custom hash.\nDecrypt = RSA-2048\nRSAPadding = OAEP\nOAEPDigest = SHA512\nOAEPLabel = 00112233445566778899aabbccddeeff\nInput = 48b956c22b8e40cc38f", - "0893672ddf488fc806cf1fcc6239c66dd8345eb543d6b5cac589e6c7ae86dac1c2436c4d72c48009a737b2c649e6000dbab17203e4d9c078bd70b649700a0830d4ddc396af0c48973177a229e48259d93247f04f76474c7611b530c66f020c4da2cc861c2e4104831ecc0336e0cb10d6520fdefd0b33606f5cdd736dd439583b9b6011cce99623c93caf5f76e21e9fefab414795dd5ac12cba551be74ebf266834fcffab182c5e7c9b6c064df154cb26ddfd4fe2fd87590005f4bf45e776a0082803e9f68995b8eeb4c6802c67b5ef349e5b2dc0cf7a12fc097030f2bd28f0253f17129b04c82993a12957728b35880fdd2f8d0cc469f\nOutput = \"Hello World\"\n\n# OAEP padding, corrupted ciphertext\nDecrypt = RSA-2048\nRSAPadding = OAEP\nInput = 458708dfbd42a1297ce7a9c86c7087ab80b1754810929b89c5107ca55368587686986fce94d86cc1595b3fb736223a656ec0f34d18ba1cc5665593610f56c58e26b272d584f3d983a5c91085700755aebd921fb280bba3eda7046ec07b43e7298e52d59edc92be4639a8ce08b2f85976ecf6d98cc469eeb9d5d8e2a32ea8a6626edafe1038b3df455668a9f3c77cad8b92fb872e00058c3d2a7ede1a1f03fc5622084ae04d9d24f6bf0995c58d35b93b699b9763595e123f2ab0863cc9229eb290e2ede7715c7a8f39e0b9a3e2e1b56ebb62f1cbfbb5986fb212ebd785b83d01d968b11d1756c7337f70c1f1a63bff03608e24f3a2fd44e67f832a8701c5d5ac\nError = OAEP_DECODING_ERROR\n\n# Test that RSA encryption successfully round-trips through decryption\n# with various parameters.\nEncrypt = RSA-2048\nInput = \"Hello World\"\nCheckDecrypt\n\nEncrypt = RSA-2048\nRSAPadding = OAEP\nInput = \"Hello World\"\nCheckDecrypt\n\nEncrypt = RSA-2048\nRSAPadding = OAEP\nOAEPDigest = SHA512\nOAEPLabel = 00112233445566778899aabbccddeeff\nInput = \"Hello World\"\nCheckDecrypt\n\n# Though we will never generate such a key, test that RSA keys where p < q work\n# properly.\nPrivateKey = RSA-Swapped\nType = RSA\nInput = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100ab28f98747934779011417d5bbb4095eae6f48ed09e13081616cf390aac75b10a206a98953d402647dfef7fa363be2765a303b05ec388bd9a1d75123a1205b4ecb43c33f2e37d3e30842181d694a3acfc39afc52554946e699d97d97066596a46725ce6dea322623afcafecbd2884d9a0c5eae9c4d7da8874c29c19edb762e1902030100010281800d637ea568e169f15ab6be288f6ec55edd29425c9c6dbb941b5160fa1b89cda34ef15378b5107c016d63b0f52721e71497f876dd7f3d6b1f228c4bc20c3c12384644200e91130c9195660d1e706f55b2accf00c5e2174a1d9ee289f0e763ee58860485ec97d19d7fa2df38af5b5910b1fa52087768d288e6ec4c8d5eca23c8d3024100be757a24dc2c923692d964693b2d71ca33ccb2f946f9e5232d2090b715a97dca554068fab8876105bc9ed6dccfd0917c5e0b80339306535c3eeb787e89397bc7024100e60f5c9e52434da079b8c641791a81a96daa4d9921a07e5b48292a9fce230df7c9fc2b97b5e38834ed5caaa387a0bca35c474e989a68dd65b79a6f691a74471f0240438ccf017bc5a3260ff76291a01782204136fcd344c524ebd0f997da17a8c1a09d93f6a7d602cdfa86e79f3539cfb389f4a1079b432e1f2abc762f8a51893dc9024046604ca4e1e554c9d27283b363a888219c3a8ca25b770d303f52d8872a37eefdedfc0619d2ba57e058fc0ff71676453e73ec1c4ef26d41ccebed824754a05d6102404445374d8450e753e0a42085b56b0d6d500b3e3518536dc8f12ec8fd77aa75491835327ac0e12d73b5c3f1b09d03f6a24fe63b9c551dee6559b625435ec92429\n\nSign = RSA-Swapped\nDigest = SHA256\nInput = \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\nOutput = 07fa4e3de9c002c41c952dc292ef5a814c4c17dc1a6cf958c4c971e8089676d6661b442270ef9295c41e5385c9628aa1bdee2cc2558b8473ba212f2ba04b9ff2264c19187b9506b1d0a1cc2751844cc8dedf555d62ce81bc0e70bfe83d0184ee964593af91b9b327c0fb272c799148cd8737d412cbf36c2ad25fd66977bf805f\n\n# Though we will never generate such a key, test that RSA keys where p and q are\n# different sizes work properly.\nPrivateKey = RSA-PrimeMismatch\nType = RSA\nInput = 30820295020100300d06092a864886f70d01010105000482027f3082027b02010002818100c766f4fef89f5e9a8e13ed500fb38523ea94d7f8be066900eee58c913b4c6fdcb13d63d39b9108feabcefd1ffd04776403dc58f968ae817977d0809e567d8af512d604a0e9cb448fa5e402204ee519712a5ebbfd002faf8169495a782f54366b4665aac0d968bfec63c5446b6f9b13061c7f3d1f3f1b6bede8fff881b410a66f0203010001028180528c062f49485c771a0b18ca747d8a47f8941ea63c305626cb3f1f067e6861c4441c432687dbd08d484aac3b01f3ffdc3b762c719167f7cb22e565aa6acd597306ef6f7828b9720e9d440816186d940c4c5a9720dddf71fe0b59483f02a751515c8c27e43c575d6725d55f5bb77e0f977773b00afc058cfab6617ec90d0b62a9026100cb8f97c37b4fbc298b645bc3dc0526f8a4274e9a193b33c3acb76499b5b96330e4b586cbaa56368ffc12644952322253bc669496d572c0980f125fd7273739cf790d24401052b13732114d397c8c16a44716dc62d2320fb1ced99290dfd53e07022100fac51ac653609cdaba53280c6b6f209052e270be0c3c68fe8b37d6bf05fbba59026038dff2f04c58d7e2e7ae6fb1469d2de954bc22cb0d77ac1be4fb0ca1a1d39d7240c4b357de4cde4bd68b30f8077e38771af1b25c7e60e48cd7d1337402e1fc460ab57046720918b8aa4589452196669119c7ba65e602d4bdc264a9fdce7c5f2b0220773af0180bdc8bb7938fa6230191bcb1e236b7d4248d347e9242e25fc0c0874102605c4894cde334889f5b52ed8f86a2ee9c1fbe4166287e24ce44f3093bff383962f08043842f6ff3e6002104b0e29442c4a4483c5d06e2254fbe5e3930de3d0e28af10e96c6e341a4b8859382dbba24536a38ae71118e3e22413a93f298a7f744c\n\nSign = RSA-PrimeMismatch\nDigest = SHA256\nInput = \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\nOutput = 6192b1ce630c87d02e8245fd74d4f6ecac37eef979d188c8fa48c4d355fbe814e7dd3152f42bb020d769b540d11867af5b947387b8c99158d56901ff3708e423931178213916ae1002f162c9d497aacacdcb20e6ffe7ed40138a253fc943ddf3587433df5831a3ce46aeefce358a009bf6bad12d82d77424c2755d984d7da196\n\n\n# EC tests\n\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\n\nVerify = P-256-SPKI\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\n\n# Digest too long\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Digest too short\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Digest invalid\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1235\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Invalid signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec7\nError = BAD_SIGNATURE\n\n# Garbage after signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec800\nError = BAD_SIGNATURE\n\n# BER signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3080022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec80000\nError = BAD_SIGNATURE\n\n\n# Additional RSA-PSS and RSA-OAEP tests converted from\n# ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip\n\nPublicKey = RSA-PSS-1\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818100a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a21370203010001\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = cd8b6538cb8e8de566b68bd067569dbf1ee2718e\nOutput = 9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e35befc17a1d160b9ce35fbd8eb16e7ee491d3fd\nOutput = 3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6", - "d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0652ec67bcee30f9d2699122b91c19abdba89f91\nOutput = 666026fba71bd3e7cf13157cc2c51a8e4aa684af9778f91849f34335d141c00154c4197621f9624a675b5abc22ee7d5baaffaae1c9baca2cc373b3f33e78e6143c395a91aa7faca664eb733afd14d8827259d99a7550faca501ef2b04e33c23aa51f4b9e8282efdb728cc0ab09405a91607c6369961bc8270d2d4f39fce612b1\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 39c21c4cceda9c1adf839c744e1212a6437575ec\nOutput = 4609793b23e9d09362dc21bb47da0b4f3a7622649a47d464019b9aeafe53359c178c91cd58ba6bcb78be0346a7bc637f4b873d4bab38ee661f199634c547a1ad8442e03da015b136e543f7ab07c0c13e4225b8de8cce25d4f6eb8400f81f7e1833b7ee6e334d370964ca79fdb872b4d75223b5eeb08101591fb532d155a6de87\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 36dae913b77bd17cae6e7b09453d24544cebb33c\nOutput = 1d2aad221ca4d31ddf13509239019398e3d14b32dc34dc5af4aeaea3c095af73479cf0a45e5629635a53a018377615b16cb9b13b3e09d671eb71e387b8545c5960da5a64776e768e82b2c93583bf104c3fdb23512b7b4e89f633dd0063a530db4524b01c3f384c09310e315a79dcd3d684022a7f31c865a664e316978b759fad\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 45eef191f4f79c31fe5d2ede7e5098994e929d2d\nOutput = 2a34f6125e1f6b0bf971e84fbd41c632be8f2c2ace7de8b6926e31ff93e9af987fbc06e51e9be14f5198f91f3f953bd67da60a9df59764c3dc0fe08e1cbef0b75f868d10ad3fba749fef59fb6dac46a0d6e504369331586f58e4628f39aa278982543bc0eeb537dc61958019b394fb273f215858a0a01ac4d650b955c67f4c58\n\nPublicKey = RSA-PSS-2\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818101d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c90203010001\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 5c81a3e2a658246628cd0ee8b00bb4c012bc9739\nOutput = 014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 27f71611446aa6eabf037f7dedeede3203244991\nOutput = 010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 03ecc2c33e93f05fc7224fcc0d461356cb897217\nOutput = 007f0030018f53cdc71f23d03659fde54d4241f758a750b42f185f87578520c30742afd84359b6e6e8d3ed959dc6fe486bedc8e2cf001f63a7abe16256a1b84df0d249fc05d3194ce5f0912742dbbf80dd174f6c51f6bad7f16cf3364eba095a06267dc3793803ac7526aebe0a475d38b8c2247ab51c4898df7047dc6adf52c6c4\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 246c727b4b9494849dddb068d582e179ac20999c\nOutput = 009cd2f4edbe23e12346ae8c76dd9ad3230a62076141f16c152ba18513a48ef6f010e0e37fd3df10a1ec629a0cb5a3b5d2893007298c30936a95903b6ba85555d9ec3673a06108fd62a2fda56d1ce2e85c4db6b24a81ca3b496c36d4fd06eb7c9166d8e94877c42bea622b3bfe9251fdc21d8d5371badad78a488214796335b40b\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e8617ca3ea66ce6a58ede2d11af8c3ba8a6ba912\nOutput = 00ec430824931ebd3baa43034dae98ba646b8c36013d1671c3cf1cf8260c374b19f8e1cc8d965012405e7e9bf7378612dfcc85fce12cda11f950bd0ba8876740436c1d2595a64a1b32efcfb74a21c873b3cc33aaf4e3dc3953de67f0674c0453b4fd9f604406d441b816098cb106fe3472bc251f815f59db2e4378a3addc181ecf\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7a6fdc1a4e434ecbc35d657ad49a2f4fafd43bc8\nOutput = 00475b1648f814a8dc0abdc37b5527f543b666bb6e39d30e5b49d3b876dccc58eac14e32a2d55c2616014456ad2f246fc8e3d560da3ddf379a1c0bd200f10221df078c219a151bc8d4ec9d2fc2564467811014ef15d8ea01c2ebbff8c2c8efab38096e55fcbe3285c7aa558851254faffa92c1c72b78758663ef4582843139d7a6\n\nPublicKey = RSA-PSS-3\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818102f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a4430203010001\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3552be69dd74bdc56d2cf8c38ef7bafe269040fe\nOutput = 0088b135fb1794b6b96c4a3e678197f8cac52b64b2fe907d6f27de761124964a99a01a882740ecfaed6c01a47464bb05182313c01338a8cd097214cd68ca103bd57d3bc9e816213e61d784f182467abf8a01cf253e99a156eaa8e3e1f90e3c6e4e3aa2d83ed0345b89fafc9c26077c14b6ac51454fa26e446e3a2f153b2b16797f\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 609143ff7240e55c062aba8b9e4426a781919bc9\nOutput = 02a5f0a858a0864a4f65017a7d69454f3f973a2999839b7bbc48bf78641169179556f595fa41f6ff18e286c2783079bc0910ee9cc34f49ba681124f923dfa88f426141a368a5f5a930c628c2c3c200e18a7644721a0cbec6dd3f6279bde3e8f2be5e2d4ee56f97e7ceaf33054be7042bd91a63bb09f897bd41e81197dee99b11af\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0afd22f879a9cda7c584f4135f8f1c961db114c0\nOutput = 0244bcd1c8c16955736c803be401272e18cb990811b14f72db964124d5fa760649cbb57afb8755dbb62bf51f466cf23a0a1607576e983d778fceffa92df7548aea8ea4ecad2c29dd9f95bc07fe91ecf8bee255bfe8762fd7690aa9bfa4fa0849ef728c2c42c4532364522df2ab7f9f8a03b63f7a499175828668f5ef5a29e3802c\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 405dd56d395ef0f01b555c48f748cc32b210650b\nOutput = 0196f12a005b98129c8df13c4cb16f8aa887d3c40d96df3a88e7532ef39cd992f273abc370bc1be6f097cfebbf0118fd9ef4b927155f3df22b904d90702d1f7ba7a52bed8b8942f412cd7bd676c9d18e170391dcd345c06a730964b3f30bcce0bb20ba106f9ab0eeb39cf8a6607f75c0347f0af79f16afa081d2c92d1ee6f836b8\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = a2c313b0440c8a0c47233b87f0a160c61af3eae7\nOutput = 021eca3ab4892264ec22411a752d92221076d4e01c0e6f0dde9afd26ba5acf6d739ef987545d16683e5674c9e70f1de649d7e61d48d0caeb4fb4d8b24fba84a6e3108fee7d0705973266ac524b4ad280f7ae17dc59d96d3351586b5a3bdb895d1e1f7820ac6135d8753480998382ba32b7349559608c38745290a85ef4e9f9bd83\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f1bf6ca7b4bbdbb6bf20a4bf55728725d177154a\nOutput = 012fafec862f56e9e92f60ab0c77824f4299a0ca734ed26e0644d5d222c7f0bde03964f8e70a5cb65ed44e44d56ae0edf1ff86ca032cc5dd4404dbb76ab854586c44eed8336d08d457ce6c03693b45c0f1efef93624b95b8ec169c616d20e5538ebc0b6737a6f82b4bc0570924fc6b35759a3348426279f8b3d7744e2d222426ce\n\nPublicKey = RSA-PSS-4\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c37050203010001\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f8b0abf70fec0bca74f0accbc24f75e6e90d3bfd\nOutput = 0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 04a10944bfe11ab801e77889f3fd3d7f4ff0b629\nOutput = 049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ba01243db223eb97fb86d746c3148adaaa0ca344\nOutput = 03fbc410a2ced59500fb99f9e2af2781ada74e13145624602782e2994813eefca0519ecd253b855fb626a90d771eae028b0c47a199cbd9f8e3269734af4163599090713a3fa910fa0960652721432b971036a7181a2bc0cab4", - "3b0b598bc6217461d7db305ff7e954c5b5bb231c39e791af6bcfa76b147b081321f72641482a2aad\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 934bb0d38d6836daec9de82a9648d4593da67cd2\nOutput = 0486644bc66bf75d28335a6179b10851f43f09bded9fac1af33252bb9953ba4298cd6466b27539a70adaa3f89b3db3c74ab635d122f4ee7ce557a61e59b82ffb786630e5f9db53c77d9a0c12fab5958d4c2ce7daa807cd89ba2cc7fcd02ff470ca67b229fcce814c852c73cc93bea35be68459ce478e9d4655d121c8472f371d4f\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ec35d81abd1cceac425a935758b683465c8bd879\nOutput = 022a80045353904cb30cbb542d7d4990421a6eec16a8029a8422adfd22d6aff8c4cc0294af110a0c067ec86a7d364134459bb1ae8ff836d5a8a2579840996b320b19f13a13fad378d931a65625dae2739f0c53670b35d9d3cbac08e733e4ec2b83af4b9196d63e7c4ff1ddeae2a122791a125bfea8deb0de8ccf1f4ffaf6e6fb0a\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 72ce251d17b04dd3970d6ff1fbe3624899e9e941\nOutput = 00938dcb6d583046065f69c78da7a1f1757066a7fa75125a9d2929f0b79a60b627b082f11f5b196f28eb9daa6f21c05e5140f6aef1737d2023075c05ecf04a028c686a2ab3e7d5a0664f295ce12995e890908b6ad21f0839eb65b70393a7b5afd9871de0caa0cedec5b819626756209d13ab1e7bb9546a26ff37e9a51af9fd562e\n\nPublicKey = RSA-PSS-5\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d003081890281810d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc5070203010001\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = d98b7061943510bc3dd9162f7169aabdbdcd0222\nOutput = 0ba373f76e0921b70a8fbfe622f0bf77b28a3db98e361051c3d7cb92ad0452915a4de9c01722f6823eeb6adf7e0ca8290f5de3e549890ac2a3c5950ab217ba58590894952de96f8df111b2575215da6c161590c745be612476ee578ed384ab33e3ece97481a252f5c79a98b5532ae00cdd62f2ecc0cd1baefe80d80b962193ec1d\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7ae8e699f754988f4fd645e463302e49a2552072\nOutput = 08180de825e4b8b014a32da8ba761555921204f2f90d5f24b712908ff84f3e220ad17997c0dd6e706630ba3e84add4d5e7ab004e58074b549709565d43ad9e97b5a7a1a29e85b9f90f4aafcdf58321de8c5974ef9abf2d526f33c0f2f82e95d158ea6b81f1736db8d1af3d6ac6a83b32d18bae0ff1b2fe27de4c76ed8c7980a34e\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 8d46c7c05534c1ba2cc7624500d48a4531604bff\nOutput = 05e0fdbdf6f756ef733185ccfa8ced2eb6d029d9d56e35561b5db8e70257ee6fd019d2f0bbf669fe9b9821e78df6d41e31608d58280f318ee34f559941c8df13287574bac000b7e58dc4f414ba49fb127f9d0f8936638c76e85356c994f79750f7fa3cf4fd482df75e3fb9978cd061f7abb17572e6e63e0bde12cbdcf18c68b979\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ee3de96783fd0a157c8b20bf5566124124dcfe65\nOutput = 0bc989853bc2ea86873271ce183a923ab65e8a53100e6df5d87a24c4194eb797813ee2a187c097dd872d591da60c568605dd7e742d5af4e33b11678ccb63903204a3d080b0902c89aba8868f009c0f1c0cb85810bbdd29121abb8471ff2d39e49fd92d56c655c8e037ad18fafbdc92c95863f7f61ea9efa28fea401369d19daea1\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 1204df0b03c2724e2709c23fc71789a21b00ae4c\nOutput = 0aefa943b698b9609edf898ad22744ac28dc239497cea369cbbd84f65c95c0ad776b594740164b59a739c6ff7c2f07c7c077a86d95238fe51e1fcf33574a4ae0684b42a3f6bf677d91820ca89874467b2c23add77969c80717430d0efc1d3695892ce855cb7f7011630f4df26def8ddf36fc23905f57fa6243a485c770d5681fcd\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 29926bc3280c841f601acd0d6f17ea38023eddbc\nOutput = 02802dccfa8dfaf5279bf0b4a29ba1b157611faeaaf419b8919d15941900c1339e7e92e6fae562c53e6cc8e84104b110bce03ad18525e3c49a0eadad5d3f28f244a8ed89edbafbb686277cfa8ae909714d6b28f4bf8e293aa04c41efe7c0a81266d5c061e2575be032aa464674ff71626219bd74cc45f0e7ed4e3ff96eee758e8f\n\nPublicKey = RSA-PSS-6\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d10203010001\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ab464e8cb65ae5fdea47a53fa84b234d6bfd52f6\nOutput = 04c0cfacec04e5badbece159a5a1103f69b3f32ba593cb4cc4b1b7ab455916a96a27cd2678ea0f46ba37f7fc9c86325f29733b389f1d97f43e7201c0f348fc45fe42892335362eee018b5b161f2f9393031225c713012a576bc88e23052489868d9010cbf033ecc568e8bc152bdc59d560e41291915d28565208e22aeec9ef85d1\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 92d0bcae82b641f578f040f5151be8eda6d42299\nOutput = 0a2314250cf52b6e4e908de5b35646bcaa24361da8160fb0f9257590ab3ace42b0dc3e77ad2db7c203a20bd952fbb56b1567046ecfaa933d7b1000c3de9ff05b7d989ba46fd43bc4c2d0a3986b7ffa13471d37eb5b47d64707bd290cfd6a9f393ad08ec1e3bd71bb5792615035cdaf2d8929aed3be098379377e777ce79aaa4773\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3569bd8fd2e28f2443375efa94f186f6911ffc2b\nOutput = 086df6b500098c120f24ff8423f727d9c61a5c9007d3b6a31ce7cf8f3cbec1a26bb20e2bd4a046793299e03e37a21b40194fb045f90b18bf20a47992ccd799cf9c059c299c0526854954aade8a6ad9d97ec91a1145383f42468b231f4d72f23706d9853c3fa43ce8ace8bfe7484987a1ec6a16c8daf81f7c8bf42774707a9df456\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7abbb7b42de335730a0b641f1e314b6950b84f98\nOutput = 0b5b11ad549863ffa9c51a14a1106c2a72cc8b646e5c7262509786105a984776534ca9b54c1cc64bf2d5a44fd7e8a69db699d5ea52087a4748fd2abc1afed1e5d6f7c89025530bdaa2213d7e030fa55df6f34bcf1ce46d2edf4e3ae4f3b01891a068c9e3a44bbc43133edad6ecb9f35400c4252a5762d65744b99cb9f4c559329f\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 55b7eb27be7a787a59eb7e5fac468db8917a7725\nOutput = 02d71fa9b53e4654fefb7f08385cf6b0ae3a817942ebf66c35ac67f0b069952a3ce9c7e1f1b02e480a9500836de5d64cdb7ecde04542f7a79988787e24c2ba05f5fd482c023ed5c30e04839dc44bed2a3a3a4fee01113c891a47d32eb8025c28cb050b5cdb576c70fe76ef523405c08417faf350b037a43c379339fcb18d3a356b\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = de2fa0367ef49083ff89b9905d3fd646fcc12c38\nOutput = 0a40a16e2fe2b38d1df90546167cf9469c9e3c3681a3442b4b2c2f581deb385ce99fc6188bb02a841d56e76d301891e24560550fcc2a26b55f4ccb26d837d350a154bcaca8392d98fa67959e9727b78cad03269f56968fc56b68bd679926d83cc9cb215550645ccda31c760ff35888943d2d8a1d351e81e5d07b86182e751081ef\n\nPublicKey = RSA-PSS-7\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818137c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab30203010001\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 8be4afbdd76bd8d142c5f4f46dba771ee5d6d29d\nOutput = 187f390723c8902591f0154bae6d4ecbffe067f0e8b795476ea4f4d51ccc810520bb3ca9bca7d0b1f2ea8a17d873fa27570acd642e3808561cb9e975ccfd80b23dc5771cdb3306a5f23159dacbd3aa2db93d46d766e09ed15d900ad897a8d274dc26b47e994a27e97e2268a766533ae4b5e42a2fcaf755c1c4794b294c60555823\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 402140dc605b2f5c5ec0d15bce9f9ba8857fe117\nOutput = 10fd89768a60a67788abb5856a787c8561f3edcf9a83e898f7dc87ab8cce79429b43e56906941a886194f137e591fe7c339555361fbbe1f24feb2d4bcdb80601f3096bc9132deea60ae13082f44f9ad41cd628936a4d51176e42fc59cb76db815ce5ab4db99a104aafea68f5d330329ebf258d4ede16064bd1d00393d5e1570eb8\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3e885205892ff2b6b37c2c4eb486c4bf2f9e7f20\nOutput = 2b31fde99859b977aa09586d8e274662b25a2a640640b457f594051cb1e7f7a911865455242926cf88fe80dfa3a75ba9689844a11e634a82b075afbd69c12a0df9d25f84ad4945df3dc8fe90c3cefdf26e95f0534304b5bdba20d3e5640a2ebfb898aac35ae40f26fce5563c2f9f24f3042af76f3c7072d687bbfb959a88460af1\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 1fc2201d0c442a4736cd8b2cd00c959c47a3bf42\nOutput = 32c7ca38ff26949a15000c4ba04b2b13b35a3810e568184d7ecabaa166b7ffabddf2b6cf4ba07124923790f2e5b1a5be040aea36fe132ec130e1f10567982d17ac3e89b8d26c3094034e762d2e031264f01170beecb3d1439e05846f25458367a7d9c0206", - "0444672671e64e877864559ca19b2074d588a281b5804d23772fbbe19\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e4351b66819e5a31501f89acc7faf57030e9aac5\nOutput = 07eb651d75f1b52bc263b2e198336e99fbebc4f332049a922a10815607ee2d989db3a4495b7dccd38f58a211fb7e193171a3d891132437ebca44f318b280509e52b5fa98fcce8205d9697c8ee4b7ff59d4c59c79038a1970bd2a0d451ecdc5ef11d9979c9d35f8c70a6163717607890d586a7c6dc01c79f86a8f28e85235f8c2f1\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 49f6cc58365e514e1a3f301f4de16f9fb5347ff2\nOutput = 18da3cdcfe79bfb77fd9c32f377ad399146f0a8e810620233271a6e3ed3248903f5cdc92dc79b55d3e11615aa056a795853792a3998c349ca5c457e8ca7d29d796aa24f83491709befcfb1510ea513c92829a3f00b104f655634f320752e130ec0ccf6754ff893db302932bb025eb60e87822598fc619e0e981737a9a4c4152d33\n\nPublicKey = RSA-PSS-8\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f0203010001\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = a1dd230d8ead860199b6277c2ecfe3d95f6d9160\nOutput = 0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f6e68e53c602c5c65fa67b5aa6d786e5524b12ab\nOutput = 2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = d6f9fcd3ae27f32bb2c7c93536782eba52af1f76\nOutput = 2ad20509d78cf26d1b6c406146086e4b0c91a91c2bd164c87b966b8faa42aa0ca446022323ba4b1a1b89706d7f4c3be57d7b69702d168ab5955ee290356b8c4a29ed467d547ec23cbadf286ccb5863c6679da467fc9324a151c7ec55aac6db4084f82726825cfe1aa421bc64049fb42f23148f9c25b2dc300437c38d428aa75f96\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7ff2a53ce2e2d900d468e498f230a5f5dd0020de\nOutput = 1e24e6e58628e5175044a9eb6d837d48af1260b0520e87327de7897ee4d5b9f0df0be3e09ed4dea8c1454ff3423bb08e1793245a9df8bf6ab3968c8eddc3b5328571c77f091cc578576912dfebd164b9de5454fe0be1c1f6385b328360ce67ec7a05f6e30eb45c17c48ac70041d2cab67f0a2ae7aafdcc8d245ea3442a6300ccc7\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 4eb309f7022ba0b03bb78601b12931ec7c1be8d3\nOutput = 33341ba3576a130a50e2a5cf8679224388d5693f5accc235ac95add68e5eb1eec31666d0ca7a1cda6f70a1aa762c05752a51950cdb8af3c5379f18cfe6b5bc55a4648226a15e912ef19ad77adeea911d67cfefd69ba43fa4119135ff642117ba985a7e0100325e9519f1ca6a9216bda055b5785015291125e90dcd07a2ca9673ee\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 65033bc2f67d6aba7d526acb873b8d9241e5e4d9\nOutput = 1ed1d848fb1edb44129bd9b354795af97a069a7a00d0151048593e0c72c3517ff9ff2a41d0cb5a0ac860d736a199704f7cb6a53986a88bbd8abcc0076a2ce847880031525d449da2ac78356374c536e343faa7cba42a5aaa6506087791c06a8e989335aed19bfab2d5e67e27fb0c2875af896c21b6e8e7309d04e4f6727e69463e\n\nPublicKey = RSA-PSS-9\nType = RSA\nInput = 3081df300d06092a864886f70d01010105000381cd003081c90281c100e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b0203010001\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 2715a49b8b0012cd7aee84c116446e6dfe3faec0\nOutput = 586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 2dac956d53964748ac364d06595827c6b4f143cd\nOutput = 80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 28d98c46cccafbd3bc04e72f967a54bd3ea12298\nOutput = 484408f3898cd5f53483f80819efbf2708c34d27a8b2a6fae8b322f9240237f981817aca1846f1084daa6d7c0795f6e5bf1af59c38e1858437ce1f7ec419b98c8736adf6dd9a00b1806d2bd3ad0a73775e05f52dfef3a59ab4b08143f0df05cd1ad9d04bececa6daa4a2129803e200cbc77787caf4c1d0663a6c5987b605952019782caf2ec1426d68fb94ed1d4be816a7ed081b77e6ab330b3ffc073820fecde3727fcbe295ee61a050a343658637c3fd659cfb63736de32d9f90d3c2f63eca\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0866d2ff5a79f25ef668cd6f31b42dee421e4c0e\nOutput = 84ebeb481be59845b46468bafb471c0112e02b235d84b5d911cbd1926ee5074ae0424495cb20e82308b8ebb65f419a03fb40e72b78981d88aad143053685172c97b29c8b7bf0ae73b5b2263c403da0ed2f80ff7450af7828eb8b86f0028bd2a8b176a4d228cccea18394f238b09ff758cc00bc04301152355742f282b54e663a919e709d8da24ade5500a7b9aa50226e0ca52923e6c2d860ec50ff480fa57477e82b0565f4379f79c772d5c2da80af9fbf325ece6fc20b00961614bee89a183e\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 6a5b4be4cd36cc97dfde9995efbf8f097a4a991a\nOutput = 82102df8cb91e7179919a04d26d335d64fbc2f872c44833943241de8454810274cdf3db5f42d423db152af7135f701420e39b494a67cbfd19f9119da233a23da5c6439b5ba0d2bc373eee3507001378d4a4073856b7fe2aba0b5ee93b27f4afec7d4d120921c83f606765b02c19e4d6a1a3b95fa4c422951be4f52131077ef17179729cddfbdb56950dbaceefe78cb16640a099ea56d24389eef10f8fecb31ba3ea3b227c0a86698bb89e3e9363905bf22777b2a3aa521b65b4cef76d83bde4c\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = b9dfd1df76a461c51e6576c6c8ed0a923d1c50e7\nOutput = a7fdb0d259165ca2c88d00bbf1028a867d337699d061193b17a9648e14ccbbaadeacaacdec815e7571294ebb8a117af205fa078b47b0712c199e3ad05135c504c24b81705115740802487992ffd511d4afc6b854491eb3f0dd523139542ff15c3101ee85543517c6a3c79417c67e2dd9aa741e9a29b06dcb593c2336b3670ae3afbac7c3e76e215473e866e338ca244de00b62624d6b9426822ceae9f8cc460895f41250073fd45c5a1e7b425c204a423a699159f6903e710b37a7bb2bc8049f\n\nPublicKey = RSA-PSS-10\nType = RSA\nInput = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae050203010001\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 9596bb630cf6a8d4ea4600422b9eba8b13675dd4\nOutput = 82c2b160093b8aa3c0f7522b19f87354066c77847abf2a9fce542d0e84e920c5afb49ffdfdace16560ee94a1369601148ebad7a0e151cf16331791a5727d05f21e74e7eb811440206935d744765a15e79f015cb66c532c87a6a05961c8bfad741a9a6657022894393e7223739796c02a77455d0f555b0ec01ddf259b6207fd0fd57614cef1a5573baaff4ec00069951659b85f24300a25160ca8522dc6e6727e57d019d7e63629b8fe5e89e25cc15beb3a647577559299280b9b28f79b0409000be25bbd96408ba3b43cc486184dd1c8e62553fa1af4040f60663de7f5e49c04388e257f1ce89c95dab48a315d9b66b1b7628233876ff2385230d070d07e1666\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest ", - "= SHA1\nInput = b503319399277fd6c1c8f1033cbf04199ea21716\nOutput = 14ae35d9dd06ba92f7f3b897978aed7cd4bf5ff0b585a40bd46ce1b42cd2703053bb9044d64e813d8f96db2dd7007d10118f6f8f8496097ad75e1ff692341b2892ad55a633a1c55e7f0a0ad59a0e203a5b8278aec54dd8622e2831d87174f8caff43ee6c46445345d84a59659bfb92ecd4c818668695f34706f66828a89959637f2bf3e3251c24bdba4d4b7649da0022218b119c84e79a6527ec5b8a5f861c159952e23ec05e1e717346faefe8b1686825bd2b262fb2531066c0de09acde2e4231690728b5d85e115a2f6b92b79c25abc9bd9399ff8bcf825a52ea1f56ea76dd26f43baafa18bfa92a504cbd35699e26d1dcc5a2887385f3c63232f06f3244c3\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 50aaede8536b2c307208b275a67ae2df196c7628\nOutput = 6e3e4d7b6b15d2fb46013b8900aa5bbb3939cf2c095717987042026ee62c74c54cffd5d7d57efbbf950a0f5c574fa09d3fc1c9f513b05b4ff50dd8df7edfa20102854c35e592180119a70ce5b085182aa02d9ea2aa90d1df03f2daae885ba2f5d05afdac97476f06b93b5bc94a1a80aa9116c4d615f333b098892b25fface266f5db5a5a3bcc10a824ed55aad35b727834fb8c07da28fcf416a5d9b2224f1f8b442b36f91e456fdea2d7cfe3367268de0307a4c74e924159ed33393d5e0655531c77327b89821bdedf880161c78cd4196b5419f7acc3f13e5ebf161b6e7c6724716ca33b85c2e25640192ac2859651d50bde7eb976e51cec828b98b6563b86bb\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = aa0b72b8b371ddd10c8ae474425ccccf8842a294\nOutput = 34047ff96c4dc0dc90b2d4ff59a1a361a4754b255d2ee0af7d8bf87c9bc9e7ddeede33934c63ca1c0e3d262cb145ef932a1f2c0a997aa6a34f8eaee7477d82ccf09095a6b8acad38d4eec9fb7eab7ad02da1d11d8e54c1825e55bf58c2a23234b902be124f9e9038a8f68fa45dab72f66e0945bf1d8bacc9044c6f07098c9fcec58a3aab100c805178155f030a124c450e5acbda47d0e4f10b80a23f803e774d023b0015c20b9f9bbe7c91296338d5ecb471cafb032007b67a60be5f69504a9f01abb3cb467b260e2bce860be8d95bf92c0c8e1496ed1e528593a4abb6df462dde8a0968dffe4683116857a232f5ebf6c85be238745ad0f38f767a5fdbf486fb\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = fad3902c9750622a2bc672622c48270cc57d3ea8\nOutput = 7e0935ea18f4d6c1d17ce82eb2b3836c55b384589ce19dfe743363ac9948d1f346b7bfddfe92efd78adb21faefc89ade42b10f374003fe122e67429a1cb8cbd1f8d9014564c44d120116f4990f1a6e38774c194bd1b8213286b077b0499d2e7b3f434ab12289c556684deed78131934bb3dd6537236f7c6f3dcb09d476be07721e37e1ceed9b2f7b406887bd53157305e1c8b4f84d733bc1e186fe06cc59b6edb8f4bd7ffefdf4f7ba9cfb9d570689b5a1a4109a746a690893db3799255a0cb9215d2d1cd490590e952e8c8786aa0011265252470c041dfbc3eec7c3cbf71c24869d115c0cb4a956f56d530b80ab589acfefc690751ddf36e8d383f83cedd2cc\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 122196deb5d122bd8c6fc781ff6924d7c695aade\nOutput = 6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f\n\nPrivateKey = RSA-OAEP-1\nType = RSA\nInput = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb020301000102818053339cfdb79fc8466a655c7316aca85c55fd8f6dd898fdaf119517ef4f52e8fd8e258df93fee180fa0e4ab29693cd83b152a553d4ac4d1812b8b9fa5af0e7f55fe7304df41570926f3311f15c4d65a732c483116ee3d3d2d0af3549ad9bf7cbfb78ad884f84d5beb04724dc7369b31def37d0cf539e9cfcdd3de653729ead5d1024100d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d024100cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d7702400e12bf1718e9cef5599ba1c3882fe8046a90874eefce8f2ccc20e4f2741fb0a33a3848aec9c9305fbecbd2d76819967d4671acc6431e4037968db37878e695c102410095297b0f95a2fa67d00707d609dfd4fc05c89dafc2ef6d6ea55bec771ea333734d9251e79082ecda866efef13c459e1a631386b7e354c899f5f112ca85d7158302404f456c502493bdc0ed2ab756a3a6ed4d67352a697d4216e93212b127a63d5411ce6fa98d5dbefd73263e3728142743818166ed7dd63687dd2a8ca1d2f4fbd8e1\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 354fe67b4a126d5d35fe36c777791a3f7ba13def484e2d3908aff722fad468fb21696de95d0be911c2d3174f8afcc201035f7b6d8e69402de5451618c21a535fa9d7bfc5b8dd9fc243f8cf927db31322d6e881eaa91a996170e657a05a266426d98c88003f8477c1227094a0d9fa1e8c4024309ce1ecccb5210035d47ac72e8a\nOutput = 6628194e12073db03ba94cda9ef9532397d50dba79b987004afefe34\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 640db1acc58e0568fe5407e5f9b701dff8c3c91e716c536fc7fcec6cb5b71c1165988d4a279e1577d730fc7a29932e3f00c81515236d8d8e31017a7a09df4352d904cdeb79aa583adcc31ea698a4c05283daba9089be5491f67c1a4ee48dc74bbbe6643aef846679b4cb395a352d5ed115912df696ffe0702932946d71492b44\nOutput = 750c4047f547e8e41411856523298ac9bae245efaf1397fbe56f9dd5\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 423736ed035f6026af276c35c0b3741b365e5f76ca091b4e8c29e2f0befee603595aa8322d602d2e625e95eb81b2f1c9724e822eca76db8618cf09c5343503a4360835b5903bc637e3879fb05e0ef32685d5aec5067cd7cc96fe4b2670b6eac3066b1fcf5686b68589aafb7d629b02d8f8625ca3833624d4800fb081b1cf94eb\nOutput = d94ae0832e6445ce42331cb06d531a82b1db4baad30f746dc916df24d4e3c2451fff59a6423eb0e1d02d4fe646cf699dfd818c6e97b051\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 45ead4ca551e662c9800f1aca8283b0525e6abae30be4b4aba762fa40fd3d38e22abefc69794f6ebbbc05ddbb11216247d2f412fd0fba87c6e3acd888813646fd0e48e785204f9c3f73d6d8239562722dddd8771fec48b83a31ee6f592c4cfd4bc88174f3b13a112aae3b9f7b80e0fc6f7255ba880dc7d8021e22ad6a85f0755\nOutput = 52e650d98e7f2a048b4f86852153b97e01dd316f346a19f67a85\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 36f6e34d94a8d34daacba33a2139d00ad85a9345a86051e73071620056b920e219005855a213a0f23897cdcd731b45257c777fe908202befdd0b58386b1244ea0cf539a05d5d10329da44e13030fd760dcd644cfef2094d1910d3f433e1c7c6dd18bc1f2df7f643d662fb9dd37ead9059190f4fa66ca39e869c4eb449cbdc439\nOutput = 8da89fd9e5f974a29feffb462b49180f6cf9e802\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 42cee2617b1ecea4db3f4829386fbd61dafbf038e180d837c96366df24c097b4ab0fac6bdf590d821c9f10642e681ad05b8d78b378c0f46ce2fad63f74e0ad3df06b075d7eb5f5636f8d403b9059ca761b5c62bb52aa45002ea70baace08ded243b9d8cbd62a68ade265832b56564e43a6fa42ed199a099769742df1539e8255\nOutput = 26521050844271\n\nPrivateKey = RSA-OAEP-2\nType = RSA\nInput = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818101947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f4502030100010281800823f20fadb5da89088a9d00893e21fa4a1b11fbc93c64a3be0baaea97fb3b93c3ff713704c19c963c1d107aae99054739f79e02e186de86f87a6ddefea6d8ccd1d3c81a47bfa7255be20601a4a4b2f08a167b5e279d715b1b455bdd7eab245941d9768b9acefb3ccda5952da3cee72525b4501663a8ee15c9e992d92462fe3902410159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a430241012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd70240436ef508de736519c2da4c580d98c82cb7452a3fb5efadc3b9c7789a1bc6584f795addbbd32439c74686552ecb6c2c307a4d3af7f539eec157248c7b31f1a2550241012b15a89f3dfb2b39073e73f02bdd0c1a7b379dd435f05cdde2eff9e462948b7cec62ee9050d5e0816e0785a856b49108dcb75f3683874d1ca6329a19013066ff02400270db17d5914b018d76118b24389a7350ec836b0063a21721236fd8edb6d89b51e7eeb87b611b7132cb7ea7356c23151c1e7751507c786d9ee1794170a8c8e8\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0181af8922b9fcb4d79d92ebe19815992fc0c1439d8bcd491398a0f4ad3a329a5bd9385560db532683c8b7da", - "04e4b12aed6aacdf471c34c9cda891addcc2df3456653aa6382e9ae59b54455257eb099d562bbe10453f2b6d13c59c02e10f1f8abb5da0d0570932dacf2d0901db729d0fefcc054e70968ea540c81b04bcaefe720e\nOutput = 8ff00caa605c702830634d9a6c3d42c652b58cf1d92fec570beee7\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 018759ff1df63b2792410562314416a8aeaf2ac634b46f940ab82d64dbf165eee33011da749d4bab6e2fcd18129c9e49277d8453112b429a222a8471b070993998e758861c4d3f6d749d91c4290d332c7a4ab3f7ea35ff3a07d497c955ff0ffc95006b62c6d296810d9bfab024196c7934012c2df978ef299aba239940cba10245\nOutput = 2d\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 018802bab04c60325e81c4962311f2be7c2adce93041a00719c88f957575f2c79f1b7bc8ced115c706b311c08a2d986ca3b6a9336b147c29c6f229409ddec651bd1fdd5a0b7f610c9937fdb4a3a762364b8b3206b4ea485fd098d08f63d4aa8bb2697d027b750c32d7f74eaf5180d2e9b66b17cb2fa55523bc280da10d14be2053\nOutput = 74fc88c51bc90f77af9d5e9a4a70133d4b4e0b34da3c37c7ef8e\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00a4578cbc176318a638fba7d01df15746af44d4f6cd96d7e7c495cbf425b09c649d32bf886da48fbaf989a2117187cafb1fb580317690e3ccd446920b7af82b31db5804d87d01514acbfa9156e782f867f6bed9449e0e9a2c09bcecc6aa087636965e34b3ec766f2fe2e43018a2fddeb140616a0e9d82e5331024ee0652fc7641\nOutput = a7eb2a5036931d27d4e891326d99692ffadda9bf7efd3e34e622c4adc085f721dfe885072c78a203b151739be540fa8c153a10f00a\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00ebc5f5fda77cfdad3c83641a9025e77d72d8a6fb33a810f5950f8d74c73e8d931e8634d86ab1246256ae07b6005b71b7f2fb98351218331ce69b8ffbdc9da08bbc9c704f876deb9df9fc2ec065cad87f9090b07acc17aa7f997b27aca48806e897f771d95141fe4526d8a5301b678627efab707fd40fbebd6e792a25613e7aec\nOutput = 2ef2b066f854c33f3bdcbb5994a435e73d6c6c\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 010839ec20c27b9052e55befb9b77e6fc26e9075d7a54378c646abdf51e445bd5715de81789f56f1803d9170764a9e93cb78798694023ee7393ce04bc5d8f8c5a52c171d43837e3aca62f609eb0aa5ffb0960ef04198dd754f57f7fbe6abf765cf118b4ca443b23b5aab266f952326ac4581100644325f8b721acd5d04ff14ef3a\nOutput = 8a7fb344c8b6cb2cf2ef1f643f9a3218f6e19bba89c0\n\nPrivateKey = RSA-OAEP-3\nType = RSA\nInput = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818102b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9020301000102818015b48a5b5683a94670e23b5718f814fa0e13f85038f50711182cba61510581f3d22c7e232ef937e22e551d68b86e2f8cb1aad8be2e488f5df7efd279e3f568d4eaf36f80cf7141ace60fcc9113fb6c4a841fd50bbc7c512ffcbeff21487aa811eb3ca8c62005346a86de86bfa1d8a948fd3f348c22eaadf333c3ce6ce13208fd024101bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf0241018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7024006c0a249d20a6f2ee75c88b494d53f6aae99aa427c88c28b163a769445e5f390cf40c274fd6ea6329a5ce7c7ce03a2158396ee2a7845786e09e2885a9728e4e5024100d1d27c29fedd92d86c348edd0ccbfac14f746e051ce1d1811df35d61f2ee1c97d4bf2804802f6427187ba8e90a8af44243b4079b03445e602e29fa5193e64fe90241008cb2f756bd8941b1d3b770e5ad31ee373b28acda69ff9b6f40fe578b9f1afb85836f9627d37acff73c2779e634bb26011c2c8f7f3361ae2a9ea65ed689e3639a\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 026a0485d96aebd96b4382085099b962e6a2bdec3d90c8db625e14372de85e2d5b7baab65c8faf91bb5504fb495afce5c988b3f6a52e20e1d6cbd3566c5cd1f2b8318bb542cc0ea25c4aab9932afa20760eaddec784396a07ea0ef24d4e6f4d37e5052a7a31e146aa480a111bbe926401307e00f410033842b6d82fe5ce4dfae80\nOutput = 087820b569e8fa8d\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 024db89c7802989be0783847863084941bf209d761987e38f97cb5f6f1bc88da72a50b73ebaf11c879c4f95df37b850b8f65d7622e25b1b889e80fe80baca2069d6e0e1d829953fc459069de98ea9798b451e557e99abf8fe3d9ccf9096ebbf3e5255d3b4e1c6d2ecadf067a359eea86405acd47d5e165517ccafd47d6dbee4bf5\nOutput = 4653acaf171960b01f52a7be63a3ab21dc368ec43b50d82ec3781e04\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0239bce681032441528877d6d1c8bb28aa3bc97f1df584563618995797683844ca86664732f4bed7a0aab083aaabfb7238f582e30958c2024e44e57043b97950fd543da977c90cdde5337d618442f99e60d7783ab59ce6dd9d69c47ad1e962bec22d05895cff8d3f64ed5261d92b2678510393484990ba3f7f06818ae6ffce8a3a\nOutput = d94cd0e08fa404ed89\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 02994c62afd76f498ba1fd2cf642857fca81f4373cb08f1cbaee6f025c3b512b42c3e8779113476648039dbe0493f9246292fac28950600e7c0f32edf9c81b9dec45c3bde0cc8d8847590169907b7dc5991ceb29bb0714d613d96df0f12ec5d8d3507c8ee7ae78dd83f216fa61de100363aca48a7e914ae9f42ddfbe943b09d9a0\nOutput = 6cc641b6b61e6f963974dad23a9013284ef1\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0162042ff6969592a6167031811a239834ce638abf54fec8b99478122afe2ee67f8c5b18b0339805bfdbc5a4e6720b37c59cfba942464c597ff532a119821545fd2e59b114e61daf71820529f5029cf524954327c34ec5e6f5ba7efcc4de943ab8ad4ed787b1454329f70db798a3a8f4d92f8274e2b2948ade627ce8ee33e43c60\nOutput = df5151832b61f4f25891fb4172f328d2eddf8371ffcfdbe997939295f30eca6918017cfda1153bf7a6af87593223\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00112051e75d064943bc4478075e43482fd59cee0679de6893eec3a943daa490b9691c93dfc0464b6623b9f3dbd3e70083264f034b374f74164e1a00763725e574744ba0b9db83434f31df96f6e2a26f6d8eba348bd4686c2238ac07c37aac3785d1c7eea2f819fd91491798ed8e9cef5e43b781b0e0276e37c43ff9492d005730\nOutput = 3c3bad893c544a6d520ab022319188c8d504b7a788b850903b85972eaa18552e1134a7ad6098826254ff7ab672b3d8eb3158fac6d4cbaef1\n\nPrivateKey = RSA-OAEP-4\nType = RSA\nInput = 30820277020100300d06092a864886f70d0101010500048202613082025d020100028181051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb03902030100010281800411ffca3b7ca5e9e9be7fe38a85105e353896db05c5796aecd2a725161eb3651c8629a9b862b904d7b0c7b37f8cb5a1c2b54001018a00a1eb2cafe4ee4e9492c348bc2bedab4b9ebbf064e8eff322b9009f8eec653905f40df88a3cdc49d4567f75627d41aca624129b46a0b7c698e5e65f2b7ba102c749a10135b6540d04010241027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba570102410210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139024039fa028b826e88c1121b750a8b242fa9a35c5b66bdfd1fa637d3cc48a84a4f457a194e7727e49f7bcc6e5a5a412657fc470c7322ebc37416ef458c307a8c09010241015d99a84195943979fa9e1be2c3c1b69f432f46fd03e47d5befbbbfd6b1d1371d83efb330a3e020942b2fed115e5d02be24fd92c9019d1cecd6dd4cf1e54cc899024101f0b7015170b3f5e42223ba30301c41a6d87cbb70e30cb7d3c67d25473db1f6cbf03e3f9126e3e97968279a865b2c2b426524cfc52a683d31ed30eb984be412ba\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 04cce19614845e094152a3fe18e54e3330c44e5efbc64ae16886cb1869014cc5781b1f8f9e045384d0112a135ca0d12e9c88a8e4063416deaae3844f60d6e96fe155145f4525b9a34431ca3766180f70e15a5e5d8e8b1a516ff870609f13f896935ced188279a58ed13d07114277d75c6568607e0ab092fd803a223e4a8ee0b1a8\nOutput = 4a86609534ee434a6cbca3f7e962e76d455e3264c19f605f6e5ff6137c65c56d7fb344cd52bc93374f3d166c9f0c6f9c506bad19330972d2\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0097b698c6165645b303486fbf5a2a4479c0ee85889b541a6f0b858d6b6597b13b854eb4f839af03399a80d79bda6578c841f90d645715b280d37143992dd186c80b949b775cae97370e4ec97443136c6da484e970ffdb1323a20847821d3b18381de13bb49aaea66530c4a4b8271f3eae172cd366e07e6636f1019d2a28aed15e\nOutput = b0adc4f3fe11da59ce992773d9059943c03046497ee9d9f9a06df1166db46d98f58d27ec074c02eee6cbe2449c8b9fc5080c5c3f4433092512ec46aa793743c8\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0301f935e9c47abcb48acbbe09895d9f5971af14839da4ff95417ee453d1fd77319072bb7297e1b55d7561cd9d1bb2", - "4c1a9a37c619864308242804879d86ebd001dce5183975e1506989b70e5a83434154d5cbfd6a24787e60eb0c658d2ac193302d1192c6e622d4a12ad4b53923bca246df31c6395e37702c6a78ae081fb9d065\nOutput = bf6d42e701707b1d0206b0c8b45a1c72641ff12889219a82bdea965b5e79a96b0d0163ed9d578ec9ada20f2fbcf1ea3c4089d83419ba81b0c60f3606da99\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 02d110ad30afb727beb691dd0cf17d0af1a1e7fa0cc040ec1a4ba26a42c59d0a796a2e22c8f357ccc98b6519aceb682e945e62cb734614a529407cd452bee3e44fece8423cc19e55548b8b994b849c7ecde4933e76037e1d0ce44275b08710c68e430130b929730ed77e09b015642c5593f04e4ffb9410798102a8e96ffdfe11e4\nOutput = fb2ef112f5e766eb94019297934794f7be2f6fc1c58e\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00dbb8a7439d90efd919a377c54fae8fe11ec58c3b858362e23ad1b8a44310799066b99347aa525691d2adc58d9b06e34f288c170390c5f0e11c0aa3645959f18ee79e8f2be8d7ac5c23d061f18dd74b8c5f2a58fcb5eb0c54f99f01a83247568292536583340948d7a8c97c4acd1e98d1e29dc320e97a260532a8aa7a758a1ec2\nOutput = 28ccd447bb9e85166dabb9e5b7d1adadc4b9d39f204e96d5e440ce9ad928bc1c2284\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00a5ffa4768c8bbecaee2db77e8f2eec99595933545520835e5ba7db9493d3e17cddefe6a5f567624471908db4e2d83a0fbee60608fc84049503b2234a07dc83b27b22847ad8920ff42f674ef79b76280b00233d2b51b8cb2703a9d42bfbc8250c96ec32c051e57f1b4ba528db89c37e4c54e27e6e64ac69635ae887d9541619a9\nOutput = f22242751ec6b1\n\nPrivateKey = RSA-OAEP-5\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f0201000281810aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed902030100010281810256eb4cba7067f2d2be540dcdff4582a36b7d31d1c9099bb214b79848466a268f80f58a49ac04c0e3648934a0206c04537c19b236643a6082732144df75fa217588f794682be89168276dc726c5c0cbdb84d31bbf26d0a43af495717f7d528acfee341561f6ff3cae05c578f8470d9682f9c0d072f9f6068b56d5880f682be2c5024103b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707024102e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f024101e84b119d25161fa67b00256a5bd9b645d2b232ecb05b015180029a88622adc3f09b3aeacde6161ab7cde22c2ad26e7797df54e072cbd3b2673800b3e4338dbd5024100eb90aa1a40135b4cea07197cedc8819be1e7cbff2547662116f465a4a9f487ab12f3ba4fef13822265a65297d98b7bded9372e3ffe81a38b3e9600fed055754f0241012f7f8138f9404062eb85a42924520b38f5bb886a0196f48bb8dcea60fd92cc027f18e78158a34a5c5d5f860a0f6c04071a7d01312c065062f1eb48b79d1c83cb\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 036046a4a47d9ed3ba9a89139c105038eb7492b05a5d68bfd53accff4597f7a68651b47b4a4627d927e485eed7b4566420e8b409879e5d606eae251d22a5df799f7920bfc117b992572a53b1263146bcea03385cc5e853c9a101c8c3e1bda31a519807496c6cb5e5efb408823a352b8fa0661fb664efadd593deb99fff5ed000e5\nOutput = af71a901e3a61d3132f0fc1fdb474f9ea6579257ffc24d164170145b3dbde8\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 03d6eb654edce615bc59f455265ed4e5a18223cbb9be4e4069b473804d5de96f54dcaaa603d049c5d94aa1470dfcd2254066b7c7b61ff1f6f6770e3215c51399fd4e34ec5082bc48f089840ad04354ae66dc0f1bd18e461a33cc1258b443a2837a6df26759aa2302334986f87380c9cc9d53be9f99605d2c9a97da7b0915a4a7ad\nOutput = a3b844a08239a8ac41605af17a6cfda4d350136585903a417a79268760519a4b4ac3303ec73f0f87cfb32399\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0770952181649f9f9f07ff626ff3a22c35c462443d905d456a9fd0bff43cac2ca7a9f554e9478b9acc3ac838b02040ffd3e1847de2e4253929f9dd9ee4044325a9b05cabb808b2ee840d34e15d105a3f1f7b27695a1a07a2d73fe08ecaaa3c9c9d4d5a89ff890d54727d7ae40c0ec1a8dd86165d8ee2c6368141016a48b55b6967\nOutput = 308b0ecbd2c76cb77fc6f70c5edd233fd2f20929d629f026953bb62a8f4a3a314bde195de85b5f816da2aab074d26cb6acddf323ae3b9c678ac3cf12fbdde7\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0812b76768ebcb642d040258e5f4441a018521bd96687e6c5e899fcd6c17588ff59a82cc8ae03a4b45b31299af1788c329f7dcd285f8cf4ced82606b97612671a45bedca133442144d1617d114f802857f0f9d739751c57a3f9ee400912c61e2e6992be031a43dd48fa6ba14eef7c422b5edc4e7afa04fdd38f402d1c8bb719abf\nOutput = 15c5b9ee1185\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 07b60e14ec954bfd29e60d0047e789f51d57186c63589903306793ced3f68241c743529aba6a6374f92e19e0163efa33697e196f7661dfaaa47aac6bde5e51deb507c72c589a2ca1693d96b1460381249b2cdb9eac44769f2489c5d3d2f99f0ee3c7ee5bf64a5ac79c42bd433f149be8cb59548361640595513c97af7bc2509723\nOutput = 21026e6800c7fa728fcaaba0d196ae28d7a2ac4ffd8abce794f0985f60c8a6737277365d3fea11db8923a2029a\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 08c36d4dda33423b2ed6830d85f6411ba1dcf470a1fae0ebefee7c089f256cef74cb96ea69c38f60f39abee44129bcb4c92de7f797623b20074e3d9c2899701ed9071e1efa0bdd84d4c3e5130302d8f0240baba4b84a71cc032f2235a5ff0fae277c3e8f9112bef44c9ae20d175fc9a4058bfc930ba31b02e2e4f444483710f24a\nOutput = 541e37b68b6c8872b84c02\n\nPrivateKey = RSA-OAEP-6\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f02010002818112b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af02030100010281810295eca3560618369559cecd303aa9cfdafc1d9f06959df75ffef929aa896961bcd190dc6997eda7f5963e724d07b4dc11f3065e5ae97d96835112280b9084bb14f2a21ebd4e889d41b9c4132ec1956fcab8bb2fed0575884936522c5ff7d33261904824e7cadee4e0bb372d2457cf78e2bd1286228ff83f10731ce63c90cff3f9024104a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b02410404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed024103961c8f760aa2bd5154c7aafd77225b3bacd0139ae7b5948ea3311fccd86fb95c75afa767284b9b2de559572f15d8d044c7eb83a1be5fadf2cc377c0d8475294b0241022197e066742196aabc03fa2feeb4e70b15cb787d617acd31bb75c7bc234ad706f7c48d2182d1f0ff9c228dcf41967b6c0ba6d2c0ad110a1b857831ec245e2cb102410401c4c0c53d45dbdb5e9d96d0fecf4275df0974bc4a0736b4a74c3269053efb686ace2406e22c9e058ddb4ae540627ae2fdb08261e8e7e4bcbc994daafa305c45\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0630eebcd2856c24f798806e41f9e67345eda9ceda386acc9facaea1eeed06ace583709718d9d169fadf414d5c76f92996833ef305b75b1e4b95f662a20faedc3bae0c4827a8bf8a88edbd57ec203a27a841f02e43a615bab1a8cac0701de34debdef62a088089b55ec36ea7522fd3ec8d06b6a073e6df833153bc0aefd93bd1a3\nOutput = 4046ca8baa3347ca27f49e0d81f9cc1d71be9ba517d4\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0ebc37376173a4fd2f89cc55c2ca62b26b11d51c3c7ce49e8845f74e7607317c436bc8d23b9667dfeb9d087234b47bc6837175ae5c0559f6b81d7d22416d3e50f4ac533d8f0812f2db9e791fe9c775ac8b6ad0f535ad9ceb23a4a02014c58ab3f8d3161499a260f39348e714ae2a1d3443208fd8b722ccfdfb393e98011f99e63f\nOutput = 5cc72c60231df03b3d40f9b57931bc31109f972527f28b19e7480c7288cb3c92b22512214e4be6c914792ddabdf57faa8aa7\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0a98bf1093619394436cf68d8f38e2f158fde8ea54f3435f239b8d06b8321844202476aeed96009492480ce3a8d705498c4c8c68f01501dc81db608f60087350c8c3b0bd2e9ef6a81458b7c801b89f2e4fe99d4900ba6a4b5e5a96d865dc676c7755928794130d6280a8160a190f2df3ea7cf9aa0271d88e9e6905ecf1c5152d65\nOutput = b20e651303092f4bccb43070c0f86d23049362ed96642fc5632c27db4a52e3d831f2ab068b23b149879c002f6bf3feee97591112562c\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 008e7a67cacfb5c4e24bec7dee149117f19598ce8c45808fef88c608ff9cd6e695263b9a3c0ad4b8ba4c95238e96a8422b8535629c8d5382374479ad13fa39974b242f9a759eeaf9c83ad5a8ca18940a0162ba755876df263f4bd50c6525c56090267c1f0e09ce0899a0cf359e88120abd9bf893445b3cae77d3607359ae9a52f8\nOutput = 684e3038c5c041f7\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00003474416c7b68bdf961c385737944d7f1f40c", - "b395343c693cc0b4fe63b31fedf1eaeeac9ccc0678b31dc32e0977489514c4f09085f6298a9653f01aea4045ff582ee887be26ae575b73eef7f3774921e375a3d19adda0ca31aa1849887c1f42cac9677f7a2f4e923f6e5a868b38c084ef187594dc9f7f048fea2e02955384ab\nOutput = 32488cb262d041d6e4dd35f987bf3ca696db1f06ac29a44693\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0a026dda5fc8785f7bd9bf75327b63e85e2c0fdee5dadb65ebdcac9ae1de95c92c672ab433aa7a8e69ce6a6d8897fac4ac4a54de841ae5e5bbce7687879d79634cea7a30684065c714d52409b928256bbf53eabcd5231eb7259504537399bd29164b726d33a46da701360a4168a091ccab72d44a62fed246c0ffea5b1348ab5470\nOutput = 50ba14be8462720279c306ba\n\nPrivateKey = RSA-OAEP-7\nType = RSA\nInput = 30820278020100300d06092a864886f70d0101010500048202623082025e020100028181311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e3730203010001028181070cfcff2feb8276e27432c45dfee48f49b7917d6530e1f0ca3460f32e0276174487c56e22a45d2500d7775495219d7d165a9cf3bd92c32af9a98d8dc9cc296800adc94a0a54fb40f34291bf84ee8ea12b6f109359c6d3542a50f9c767f5cfff05a681c2e656fb77caaadb4be9468d8abcd4df98f58e86d2053fa1349f748e21b102410749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71024106bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023024103bc7ea7f0aab143abc6ce8b97118636a30172e4cfe02c8fa0dda3b7baaf90f8092982985525f488bdfcb4bd726e22639ac64a3092ab7ffcbf1d5334cfa50b5bf102410262a6aa29c2a3c67dc5346c06381afd987aa3cc93cfbfecf54fdd9f9d787d7f59a523d398979da137a2f6381fe94801f7c94da21518dc34cb40870c4697994ad90240649d4c17b6ee1721e772d0389a559c3d3cdf9550d457c46b037b74641b1d52166af8a213c8396206cdfba4422f18d6f61dbcb5d214c971bf482aeb976a7370c2\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1688e4ce7794bba6cb7014169ecd559cede2a30b56a52b68d9fe18cf1973ef97b2a03153951c755f6294aa49adbdb55845ab6875fb3986c93ecf927962840d282f9e54ce8b690f7c0cb8bbd73440d9571d1b16cd9260f9eab4783cc482e5223dc60973871783ec27b0ae0fd47732cbc286a173fc92b00fb4ba6824647cd93c85c1\nOutput = 47aae909\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1052ed397b2e01e1d0ee1c50bf24363f95e504f4a03434a08fd822574ed6b9736edbb5f390db10321479a8a139350e2bd4977c3778ef331f3e78ae118b268451f20a2f01d471f5d53c566937171b2dbc2d4bde459a5799f0372d6574239b2323d245d0bb81c286b63c89a361017337e4902f88a467f4c7f244bfd5ab46437ff3b6\nOutput = 1d9b2e2223d9bc13bfb9f162ce735db48ba7c68f6822a0a1a7b6ae165834e7\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2155cd843ff24a4ee8badb7694260028a490813ba8b369a4cbf106ec148e5298707f5965be7d101c1049ea8584c24cd63455ad9c104d686282d3fb803a4c11c1c2e9b91c7178801d1b6640f003f5728df007b8a4ccc92bce05e41a27278d7c85018c52414313a5077789001d4f01910b72aad05d220aa14a58733a7489bc54556b\nOutput = d976fc\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0ab14c373aeb7d4328d0aaad8c094d88b9eb098b95f21054a29082522be7c27a312878b637917e3d819e6c3c568db5d843802b06d51d9e98a2be0bf40c031423b00edfbff8320efb9171bd2044653a4cb9c5122f6c65e83cda2ec3c126027a9c1a56ba874d0fea23f380b82cf240b8cf540004758c4c77d934157a74f3fc12bfac\nOutput = d4738623df223aa43843df8467534c41d013e0c803c624e263666b239bde40a5f29aeb8de79e3daa61dd0370f49bd4b013834b98212aef6b1c5ee373b3cb\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 028387a318277434798b4d97f460068df5298faba5041ba11761a1cb7316b24184114ec500257e2589ed3b607a1ebbe97a6cc2e02bf1b681f42312a33b7a77d8e7855c4a6de03e3c04643f786b91a264a0d6805e2cea91e68177eb7a64d9255e4f27e713b7ccec00dc200ebd21c2ea2bb890feae4942df941dc3f97890ed347478\nOutput = bb47231ca5ea1d3ad46c99345d9a8a61\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 14c678a94ad60525ef39e959b2f3ba5c097a94ff912b67dbace80535c187abd47d075420b1872152bba08f7fc31f313bbf9273c912fc4c0149a9b0cfb79807e346eb332069611bec0ff9bcd168f1f7c33e77313cea454b94e2549eecf002e2acf7f6f2d2845d4fe0aab2e5a92ddf68c480ae11247935d1f62574842216ae674115\nOutput = 2184827095d35c3f86f600e8e59754013296\n\nPrivateKey = RSA-OAEP-8\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f0201000281815bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff702030100010281810f7d1e9e5aaa25fd13e4a0663ae144e0d15f5cd18bcdb09df2cc7e64e3c5e915ad62645304161d098c715bb7ab8bd01d07eaf3fed7c7ed08af2a8a62ef44ab16b320e14af72a48f96afe262a0ae4cf65e635e910790cd4ee5cea768a4b2639f7e6f677b3f0bb6be32b75747d8909036f0264f58d401cdba131716157a75ecf633102410a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f0241092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9024107c71410af103962db367404e37ae850baa4e9c29dd92145815294a67c7d1c6ded263aa030a9b633ae50303e14035d1af014123eba687820308d8ebc85b6957d7d024100ae2c75380c02c016ad05891b3301de881f28ae1171182b6b2c83bea7c515eca9ca298c7b1cab5817a597068fc85060de4da8a016378aae43c7f967bcc37904b902410598d1059e3ada4f6320752c09d805ff7d1f1ae0d017aeeee9cefa0d7dd7ff775e44b578322f6405d6211da19519666aa87fdc4cd8c88f6b6e3d67e961dcbba3d0\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 09b3683d8a2eb0fb295b62ed1fb9290b714457b7825319f4647872af889b30409472020ad12912bf19b11d4819f49614824ffd84d09c0a17e7d17309d12919790410aa2995699f6a86dbe3242b5acc23af45691080d6b1ae810fb3e3057087f0970092ce00be9562ff4053b6262ce0caa93e13723d2e3a5ba075d45f0d61b54b61\nOutput = 050b755e5e6880f7b9e9d692a74c37aae449b31bfea6deff83747a897f6c2c825bb1adbf850a3c96994b5de5b33cbc7d4a17913a7967\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2ecf15c97c5a15b1476ae986b371b57a24284f4a162a8d0c8182e7905e792256f1812ba5f83f1f7a130e42dcc02232844edc14a31a68ee97ae564a383a3411656424c5f62ddb646093c367be1fcda426cf00a06d8acb7e57776fbbd855ac3df506fc16b1d7c3f2110f3d8068e91e186363831c8409680d8da9ecd8cf1fa20ee39d\nOutput = 4eb68dcd93ca9b19df111bd43608f557026fe4aa1d5cfac227a3eb5ab9548c18a06dded23f81825986b2fcd71109ecef7eff88873f075c2aa0c469f69c92bc\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 4bc89130a5b2dabb7c2fcf90eb5d0eaf9e681b7146a38f3173a3d9cfec52ea9e0a41932e648a9d69344c50da763f51a03c95762131e8052254dcd2248cba40fd31667786ce05a2b7b531ac9dac9ed584a59b677c1a8aed8c5d15d68c05569e2be780bf7db638fd2bfd2a85ab276860f3777338fca989ffd743d13ee08e0ca9893f\nOutput = 8604ac56328c1ab5ad917861\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2e456847d8fc36ff0147d6993594b9397227d577752c79d0f904fcb039d4d812fea605a7b574dd82ca786f93752348438ee9f5b5454985d5f0e1699e3e7ad175a32e15f03deb042ab9fe1dd9db1bb86f8c089ccb45e7ef0c5ee7ca9b7290ca6b15bed47039788a8a93ff83e0e8d6244c71006362deef69b6f416fb3c684383fbd0\nOutput = fdda5fbf6ec361a9d9a4ac68af216a0686f438b1e0e5c36b955f74e107f39c0dddcc\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1fb9356fd5c4b1796db2ebf7d0d393cc810adf6145defc2fce714f79d93800d5e2ac211ea8bbecca4b654b94c3b18b30dd576ce34dc95436ef57a09415645923359a5d7b4171ef22c24670f1b229d3603e91f76671b7df97e7317c97734476d5f3d17d21cf82b5ba9f83df2e588d36984fd1b584468bd23b2e875f32f68953f7b2\nOutput = 4a5f4914bee25de3c69341de07\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 3afd9c6600147b21798d818c655a0f4c9212db26d0b0dfdc2a7594ccb3d22f5bf1d7c3e112cd73fc7d509c7a8bafdd3c274d1399009f9609ec4be6477e453f075aa33db382870c1c3409aef392d7386ae3a696b99a94b4da0589447e955d16c98b17602a59bd736279fcd8fb280c4462d590bfa9bf13fed570eafde97330a2c210\nOutput = 8e07d66f7b880a72563abcd3f35092bc33409fb7f88f2472be\n\nPrivateKey = RSA-OAEP-9\nType = RSA\nInput = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb68177", - "65909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d02030100010281c0198c141e23715a92bccf6a119a5bc11389468d2811f548d727e17b4ab0eb986d6f211efb53b71f7ccbea87ee69c75ee615008c5332deb52bf390abdfbfe37d7205368159b2638c1de326e21d22251f0fb5848b3bf15005d2a74330f0afe916ee62ccc1344d1d83a709e60676273840f7f377424a5e0a4da75f01b31ff76819cf9cbfdd215243c3917c03ef38199312e567b3bf7aed3ab457f371ef8a1423f45b68c6e282ec111bba2833b987fd69fad83bc1b8c613c5e1ea16c11ed125ea7ec1026100fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd026100d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1026100db16802f79a2f0d45f358d69fd33e44b81fae828622e93a54253e997d01b0743759da0e812b4aa4e6c8beab2328d5431955a418a67ff26a8c5c807a5da354e05ef31cc8cf758f463732950b03e265726fb94e39d6a572a26244ab08db75752ad026100a0a317cfe7df1423f87a6dee8451f4e2b4a67e5497f29b4f1e4e830b9fadd9401167026f5596e5a39c97817e0f5f16e27e19ec9902e01d7ea6fb9aa3c760afee1e381b69de6ac9c07585a06ad9c4ba00bf75c8ad2fa898a479e80ae294fed2a102600b21f335c353342eb44c3aa24445780c2d655b940174cae38c7c8a4e6493c0ba9fd303748267b083b9a7a6cb61e42db362b8c9896db7064e02ad5ae61587da15b4649c90594909feb37dbcb654beb7268ec801e5a8b4aa3911bebd88542f05be\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 267bcd118acab1fc8ba81c85d73003cb8610fa55c1d97da8d48a7c7f06896a4db751aa284255b9d36ad65f37653d829f1b37f97b8001942545b2fc2c55a7376ca7a1be4b1760c8e05a33e5aa2526b8d98e317088e7834c755b2a59b12631a182c05d5d43ab1779264f8456f515ce57dfdf512d5493dab7b7338dc4b7d78db9c091ac3baf537a69fc7f549d979f0eff9a94fda4169bd4d1d19a69c99e33c3b55490d501b39b1edae118ff6793a153261584d3a5f39f6e682e3d17c8cd1261fa72\nOutput = f735fd55ba92592c3b52b8f9c4f69aaa1cbef8fe88add095595412467f9cf4ec0b896c59eda16210e7549c8abb10cdbc21a12ec9b6b5b8fd2f10399eb6\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 93ac9f0671ec29acbb444effc1a5741351d60fdb0e393fbf754acf0de49761a14841df7772e9bc82773966a1584c4d72baea00118f83f35cca6e537cbd4d811f5583b29783d8a6d94cd31be70d6f526c10ff09c6fa7ce069795a3fcd0511fd5fcb564bcc80ea9c78f38b80012539d8a4ddf6fe81e9cddb7f50dbbbbcc7e5d86097ccf4ec49189fb8bf318be6d5a0715d516b49af191258cd32dc833ce6eb4673c03a19bbace88cc54895f636cc0c1ec89096d11ce235a265ca1764232a689ae8\nOutput = 81b906605015a63aabe42ddf11e1978912f5404c7474b26dce3ed482bf961ecc818bf420c54659\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 81ebdd95054b0c822ef9ad7693f5a87adfb4b4c4ce70df2df84ed49c04da58ba5fc20a19e1a6e8b7a3900b22796dc4e869ee6b42792d15a8eceb56c09c69914e813cea8f6931e4b8ed6f421af298d595c97f4789c7caa612c7ef360984c21b93edc5401068b5af4c78a8771b984d53b8ea8adf2f6a7d4a0ba76c75e1dd9f658f20ded4a46071d46d7791b56803d8fea7f0b0f8e41ae3f09383a6f9585fe7753eaaffd2bf94563108beecc207bbb535f5fcc705f0dde9f708c62f49a9c90371d3\nOutput = fd326429df9b890e09b54b18b8f34f1e24\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = bcc35f94cde66cb1136625d625b94432a35b22f3d2fa11a613ff0fca5bd57f87b902ccdc1cd0aebcb0715ee869d1d1fe395f6793003f5eca465059c88660d446ff5f0818552022557e38c08a67ead991262254f10682975ec56397768537f4977af6d5f6aaceb7fb25dec5937230231fd8978af49119a29f29e424ab8272b47562792d5c94f774b8829d0b0d9f1a8c9eddf37574d5fa248eefa9c5271fc5ec2579c81bdd61b410fa61fe36e424221c113addb275664c801d34ca8c6351e4a858\nOutput = f1459b5f0c92f01a0f723a2e5662484d8f8c0a20fc29dad6acd43bb5f3effdf4e1b63e07fdfe6628d0d74ca19bf2d69e4a0abf86d293925a796772f8088e\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 232afbc927fa08c2f6a27b87d4a5cb09c07dc26fae73d73a90558839f4fd66d281b87ec734bce237ba166698ed829106a7de6942cd6cdce78fed8d2e4d81428e66490d036264cef92af941d3e35055fe3981e14d29cbb9a4f67473063baec79a1179f5a17c9c1832f2838fd7d5e59bb9659d56dce8a019edef1bb3accc697cc6cc7a778f60a064c7f6f5d529c6210262e003de583e81e3167b89971fb8c0e15d44fffef89b53d8d64dd797d159b56d2b08ea5307ea12c241bd58d4ee278a1f2e\nOutput = 53e6e8c729d6f9c319dd317e74b0db8e4ccca25f3c8305746e137ac63a63ef3739e7b595abb96e8d55e54f7bd41ab433378ffb911d\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 438cc7dc08a68da249e42505f8573ba60e2c2773d5b290f4cf9dff718e842081c383e67024a0f29594ea987b9d25e4b738f285970d195abb3a8c8054e3d79d6b9c9a8327ba596f1259e27126674766907d8d582ff3a8476154929adb1e6d1235b2ccb4ec8f663ba9cc670a92bebd853c8dbf69c6436d016f61add836e94732450434207f9fd4c43dec2a12a958efa01efe2669899b5e604c255c55fb7166de5589e369597bb09168c06dd5db177e06a1740eb2d5c82faeca6d92fcee9931ba9f\nOutput = b6b28ea2198d0c1008bc64\n\nPrivateKey = RSA-OAEP-10\nType = RSA\nInput = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb020301000102820100056b04216fe5f354ac77250a4b6b0c8525a85c59b0bd80c56450a22d5f438e596a333aa875e291dd43f48cb88b9d5fc0d499f9fcd1c397f9afc070cd9e398c8d19e61db7c7410a6b2675dfbf5d345b804d201add502d5ce2dfcb091ce9997bbebe57306f383e4d588103f036f7e85d1934d152a323e4a8db451d6f4a5b1b0f102cc150e02feee2b88dea4ad4c1baccb24d84072d14e1d24a6771f7408ee30564fb86d4393a34bcf0b788501d193303f13a2284b001f0f649eaf79328d4ac5c430ab4414920a9460ed1b7bc40ec653e876d09abc509ae45b525190116a0c26101848298509c1c3bf3a483e7274054e15e97075036e989f60932807b5257751e7902818100ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce76902818100bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc386318302818100c73564571d00fb15d08a3de9957a50915d7126e9442dacf42bc82e862e5673ff6a008ed4d2e374617df89f17a160b43b7fda9cb6b6b74218609815f7d45ca263c159aa32d272d127faf4bc8ca2d77378e8aeb19b0ad7da3cb3de0ae7314980f62b6d4b0a875d1df03c1bae39ccd833ef6cd7e2d9528bf084d1f969e794e9f6c10281802658b37f6df9c1030be1db68117fa9d87e39ea2b693b7e6d3a2f70947413eec6142e18fb8dfcb6ac545d7c86a0ad48f8457170f0efb26bc48126c53efd1d16920198dc2a1107dc282db6a80cd3062360ba3fa13f70e4312ff1a6cd6b8fc4cd9c5c3db17c6d6a57212f73ae29f619327bad59b153858585ba4e28b60a62a45e490281806f38526b3925085534ef3e415a836ede8b86158a2c7cbfeccb0bd834304fec683ba8d4f479c433d43416e63269623cea100776d85aff401d3fff610ee65411ce3b1363d63a9709eede42647cea561493d54570a879c18682cd97710b96205ec31117d73b5f36223fadd6e8ba90dd7c0ee61d44e163251e20c7f66eb305117cb8\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 53ea5dc08cd260fb3b858567287fa91552c30b2febfba213f0ae87702d068d19bab07fe574523dfb42139d68c3c5afeee0bfe4cb7969cbf382b804d6e61396144e2d0e60741f8993c3014b58b9b1957a8babcd23af854f4c356fb1662aa72bfcc7e586559dc4280d160c126785a723ebeebeff71f11594440aaef87d10793a8774a239d4a04c87fe1467b9daf85208ec6c7255794a96cc29142f9a8bd418e3c1fd67344b0cd0829df3b2bec60253196293c6b34d3f75d32f213dd45c6273d505adf4cced1057cb758fc26aeefa441255ed4e64c199ee075e7f16646182fdb464739b68ab5daff0e63e9552016824f054bf4d3c8c90a97bb6b6553284eb429fcc\nOutput = 8bba6bf82a6c0f86d5f1756e97956870b08953b06b4eb205bc1694ee\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = a2b1a430a9d657e2fa1c2bb5ed43ffb25c05a308fe9093c01031795f5874400110828ae58fb9b581ce9d", - "ddd3e549ae04a0985459bde6c626594e7b05dc4278b2a1465c1368408823c85e96dc66c3a30983c639664fc4569a37fe21e5a195b5776eed2df8d8d361af686e750229bbd663f161868a50615e0c337bec0ca35fec0bb19c36eb2e0bbcc0582fa1d93aacdb061063f59f2ce1ee43605e5d89eca183d2acdfe9f81011022ad3b43a3dd417dac94b4e11ea81b192966e966b182082e71964607b4f8002f36299844a11f2ae0faeac2eae70f8f4f98088acdcd0ac556e9fccc511521908fad26f04c64201450305778758b0538bf8b5bb144a828e629795\nOutput = e6ad181f053b58a904f2457510373e57\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 9886c3e6764a8b9a84e84148ebd8c3b1aa8050381a78f668714c16d9cfd2a6edc56979c535d9dee3b44b85c18be8928992371711472216d95dda98d2ee8347c9b14dffdff84aa48d25ac06f7d7e65398ac967b1ce90925f67dce049b7f812db0742997a74d44fe81dbe0e7a3feaf2e5c40af888d550ddbbe3bc20657a29543f8fc2913b9bd1a61b2ab2256ec409bbd7dc0d17717ea25c43f42ed27df8738bf4afc6766ff7aff0859555ee283920f4c8a63c4a7340cbafddc339ecdb4b0515002f96c932b5b79167af699c0ad3fccfdf0f44e85a70262bf2e18fe34b850589975e867ff969d48eabf212271546cdc05a69ecb526e52870c836f307bd798780ede\nOutput = 510a2cf60e866fa2340553c94ea39fbc256311e83e94454b4124\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 6318e9fb5c0d05e5307e1683436e903293ac4642358aaa223d7163013aba87e2dfda8e60c6860e29a1e92686163ea0b9175f329ca3b131a1edd3a77759a8b97bad6a4f8f4396f28cf6f39ca58112e48160d6e203daa5856f3aca5ffed577af499408e3dfd233e3e604dbe34a9c4c9082de65527cac6331d29dc80e0508a0fa7122e7f329f6cca5cfa34d4d1da417805457e008bec549e478ff9e12a763c477d15bbb78f5b69bd57830fc2c4ed686d79bc72a95d85f88134c6b0afe56a8ccfbc855828bb339bd17909cf1d70de3335ae07039093e606d655365de6550b872cd6de1d440ee031b61945f629ad8a353b0d40939e96a3c450d2a8d5eee9f678093c8\nOutput = bcdd190da3b7d300df9a06e22caae2a75f10c91ff667b7c16bde8b53064a2649a94045c9\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 75290872ccfd4a4505660d651f56da6daa09ca1301d890632f6a992f3d565cee464afded40ed3b5be9356714ea5aa7655f4a1366c2f17c728f6f2c5a5d1f8e28429bc4e6f8f2cff8da8dc0e0a9808e45fd09ea2fa40cb2b6ce6ffff5c0e159d11b68d90a85f7b84e103b09e682666480c657505c0929259468a314786d74eab131573cf234bf57db7d9e66cc6748192e002dc0deea930585f0831fdcd9bc33d51f79ed2ffc16bcf4d59812fcebcaa3f9069b0e445686d644c25ccf63b456ee5fa6ffe96f19cdf751fed9eaf35957754dbf4bfea5216aa1844dc507cb2d080e722eba150308c2b5ff1193620f1766ecf4481bafb943bd292877f2136ca494aba0\nOutput = a7dd6c7dc24b46f9dd5f1e91ada4c3b3df947e877232a9\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2d207a73432a8fb4c03051b3f73b28a61764098dfa34c47a20995f8115aa6816679b557e82dbee584908c6e69782d7deb34dbd65af063d57fca76a5fd069492fd6068d9984d209350565a62e5c77f23038c12cb10c6634709b547c46f6b4a709bd85ca122d74465ef97762c29763e06dbc7a9e738c78bfca0102dc5e79d65b973f28240caab2e161a78b57d262457ed8195d53e3c7ae9da021883c6db7c24afdd2322eac972ad3c354c5fcef1e146c3a0290fb67adf007066e00428d2cec18ce58f9328698defef4b2eb5ec76918fde1c198cbb38b7afc67626a9aefec4322bfd90d2563481c9a221f78c8272c82d1b62ab914e1c69f6af6ef30ca5260db4a46\nOutput = eaf1a73a1b0c4609537de69cd9228bbcfb9a8ca8c6c3efaf056fe4a7f4634ed00b7c39ec6922d7b8ea2c04ebac\n\n\n# Single-shot signing tests.\n\nSignMessage = RSA-2048\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = RSA-2048\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = RSA-2048-SPKI\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = P-256\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 304502204c66004635c267394bd6857c1e0b53b22a2bab1ca7dff9d5c1b42143858b3ea7022100ae81228510e03cd49a8863d2ebd1c05fe0c87eacd1150433132b909994cd0dbd\n\n# Digest can't be omitted in many algorithms.\nSignMessage = RSA-2048\nInput = \"Hello world\"\nError = NO_DEFAULT_DIGEST\n\nVerifyMessage = RSA-2048\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\nError = NO_DEFAULT_DIGEST\n\n# Signing test vectors from RFC 8032.\nSignMessage = Ed25519\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nSignMessage = Ed25519-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nSignMessage = Ed25519-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nSignMessage = Ed25519-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e50", - "6b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nSignMessage = Ed25519-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\n# Signing with public keys is not allowed.\nSignMessage = Ed25519-SPKI\nInput = \"\"\nError = NOT_A_PRIVATE_KEY\n\n# Verify test vectors from RFC 8032. Test verifying with both the public and\n# private key.\nVerifyMessage = Ed25519\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nVerifyMessage = Ed25519-SPKI\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nVerifyMessage = Ed25519-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nVerifyMessage = Ed25519-SPKI-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nVerifyMessage = Ed25519-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nVerifyMessage = Ed25519-SPKI-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nVerifyMessage = Ed25519-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nVerifyMessage = Ed25519-SPKI-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nVerifyMessage = Ed25519-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\nVerifyMessage = Ed25519-SPKI-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\n# Length is wrong.\nVerifyMessage = Ed25519-SPKI\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a10\nError = INVALID_SIGNATURE\n\n# Message is wrong.\nVerifyMessage = Ed25519-SPKI\nInput = \"Hello world\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\nError = INVALID_SIGNATURE\n\n# Ed25519 does not support configuring a digest.\nSignMessage = Ed25519\nInput = \"\"\nDigest = SHA256\nError = COMMAND_NOT_SUPPORTED\n\n# Ed25519 does not support signing a pre-hashed value.\nSign = Ed25519\nInput = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\nError = OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE\n\nVerify = Ed25519\nInput = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\nError = OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE\n\n\n# Derive tests.\n\nPrivateKey = ECDH-P256-Private\nType = EC\nInput = 3041020100301306072a8648ce3d020106082a864", - "8ce3d0301070427302502010104207d7dc5f71eb29ddaf80d6214632eeae03d9058af1fb6d22ed80badb62bc1a534\n\nPublicKey = ECDH-P256-Peer\nType = EC\nInput = 3059301306072a8648ce3d020106082a8648ce3d03010703420004700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac\n\nDerive = ECDH-P256-Private\nDerivePeer = ECDH-P256-Peer\nOutput = 46fc62106420ff012e54a434fbdd2d25ccc5852060561e68040dd7778997bd7b\nSmallBufferTruncates\n\nPrivateKey = X25519-Private\nType = X25519\nInput = 302e020100300506032b656e04220420a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4\nExpectRawPrivate = a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4\n\nPublicKey = X25519-Peer\nType = X25519\nInput = 302a300506032b656e032100e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\nExpectRawPublic = e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\n\nPublicKey = X25519-SmallOrderPeer\nType = X25519\nExpectRawPublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nInput = 302a300506032b656e032100e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\n\nDerive = X25519-Private\nDerivePeer = X25519-Peer\nOutput = c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552\n\nDerive = X25519-Private\nDerivePeer = X25519-SmallOrderPeer\nError = INVALID_PEER_KEY\n", -}; -static const size_t kLen37 = 1262; +static const size_t kLen37 = 136462; static const char *kData37[] = { - "#\n# Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.\n#\n# Licensed under the OpenSSL license (the \"License\"). You may not use\n# this file except in compliance with the License. You can obtain a copy\n# in the file LICENSE in the source distribution or at\n# https://www.openssl.org/source/license.html\n\nPassword = \"\"\nSalt = \"\"\nN = 16\nr = 1\np = 1\nKey = 77d6576238657b203b19ca42c18a0497f16b4844e3074ae8dfdffa3fede21442fcd0069ded0948f8326a753a0fc81f17e8d3e0fb2e0d3628cf35e20c38d18906\n\nPassword = \"password\"\nSalt = \"NaCl\"\nN = 1024\nr = 8\np = 16\nKey = fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640\n\nPassword = \"pleaseletmein\"\nSalt = \"SodiumChloride\"\nN = 16384\nr = 8\np = 1\nKey = 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887\n\n# NB: this test requires more than 1GB of memory to run so it is disabled by\n# default. Uncomment it to run.\n# Password = \"pleaseletmein\"\n# Salt = \"SodiumChloride\"\n# N = 1048576\n# r = 8\n# p = 1\n# Key = 2101cb9b6a511aaeaddbbe09cf70f881ec568d574a2ffd4dabe5ee9820adaa478e56fd8f4ba5d09ffa1c6d927c40f4c337304049e8a952fbcbf45c6fa77a41a4\n# MaxMemory = 10000000000\n", + "# Public key algorithm tests\n\n# Keys used for PKEY operations.\n\n# RSA 2048 bit key.\nPrivateKey = RSA-2048\nType = RSA\nInput = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f02030100010282010060297ac7991b167a06d6b24758b8cbe208beb9b2d9ec9738bd80f90a2e35005dd7ce292d9e29ba885bd316fef1f20913bc0ac90d6b0808b2414d82104441d8624a33ce0233c8f780a48b375aff02d76712228a702484db3f9ebecccfbbee1709dba182800d949e9e4216e0bff3558388f8bd90da373a1d82743ec3fbdd1427fd16825a657a316912e8695365117ca2f845c909405fcac55f895fc15d20386c26ee78c9e99075029a178a6c1e4cf0c200e8a9cfb27e9d156f86e6c2adc22b1a84a1cd5ca5b2790875d79407c84b352395cb81cc3fed5bb043b69ede0c07204550025cee8c5f440170b6120bb48e0f747bcd8f522110850df043c428dfd187053102818100f6f961b47cbc035d3aedebc7de850a956b65ecdb9cf60764063f15aa48553c58d972fe6675056e35ddfdc37bf3b9f2f622ee271337256849c9bef2176fe8f7c3f8bb91ba374dd53baf3dec814d2bdec10c1fdc88cdd16876f26b1edfa3f094197edf4d42ff1fb2971103b898ca859c427287086a842ab410bb69cf2d35af6be302818100d47e724a7ff41048b270c2524a4101878b73159bb73d3dbc187b220e635b3534f96e243a184d93f860b6bfbb6b71c1ed9a1e1f458583023c301e96a692c1a08b53d0ec9ca910100d80451e3b7dc6a01bac4aecef8df798846bc235a08cbba2cf4c06804cc11219e95608c714e3f1430d491fadbba32a5751a04f97745834c9a502818021f2452bb9b95dfd028c914bf799f1ca77e89a95d50d3c16d384f8455f8bd7af9eb3dfa3d591d9842def235f7630a8e48c088ff6642e101794535a933e1e976fa8509fc728b2da0c4a1a08d7fcf37abaae1ff3001aca1dc1bbb05d9dffbaa1a09f7fb1eef38237d9ebccc722b9338436dde7119112798c26809c1a8dec4320610281801f7510aa62c2d8de4a3c53282781f41e02d0e8b402ae78432e449c48110161a11403f02d01880a8dcc938152d79721a4711a607ac4471ebf964810f95be47a45e60499e29f4c9773c83773404f606637728c2d0351bb03c326c8bb73a721e7fa5440ea2172bba1465fcc30dcb0d9f89930e815aa1f7f9729a857e00e0338dd590281804d1f0d756fe77e01099a652f50a88b7b685dc5bf00981d5d2376fd0c6fe29cd5b638734479305a73ad3c1599d39eae3bae035fbd6fed07c28de705933879a06e48e6a603686ed8e2560a5f6af1f2c24faf4aa960e382186f15eedce9a2491ae730680dd4cf778b70faa86826ab3223477cc91377b19a6d5a2eaea219760beed5\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The public half of the same key encoded as a SubjectPublicKeyInfo.\nPublicKey = RSA-2048-SPKI\nType = RSA\nInput = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key but with a negative RSA modulus.\nPublicKey = RSA-2048-SPKI-Negative\nInput = 30820121300d06092a864886f70d01010105000382010e003082010902820100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = NEGATIVE_NUMBER\n\n# The same key but with missing parameters rather than a NULL.\nPublicKey = RSA-2048-SPKI-Invalid\nInput = 30820120300b06092a864886f70d0101010382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = DECODE_ERROR\n\n# The same key but with an incorrectly-encoded length prefix.\nPublicKey = RSA-2048-SPKI-Invalid2\nInput = 3083000122300d06092a864886f70d01010105000382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = DECODE_ERROR\n\n# RSA 512 bit key.\nPrivateKey = RSA-512\nType = RSA\nInput = 30820154020100300d06092a864886f70d01010105000482013e3082013a020100024100dd20403d976a38c9d79152d87b5c8e9f05033eadd7b7de709bf5b0c4a5182a97d18483526b02362b992e154a9f37faa396ca2685cdab8fec09877ebe705f4dd70203010001024055bebcca655d7e39de8a6eaa9d636db682161907064039544755c53eeb99ec618c03a210dbc61471eaba10c5c365c9726d6b7a96f54d455f7d168d49367270e1022100f21a05d9fd6817301ce49ce10448f9bdd44f5ef5b7557cd7d83155db46382ae7022100e9d1f7157783db2feab1936954ddc4e83aa365695868144cda1be6813b61d791022100d6001eb0040920860ce41fafdf23ca6dfbdf74e6e9f98cf3164cf5c16f9e727d02206f6f73f4b52b10517be6f9bc5f87fa0a3bb817e2e711636b651f9af1c85d4f21022063eff2e57f5b4ca20342cfe793e25526624e3692f192461f9e1ce7f13f2d72c8\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# RSA 515 bit key.\nPrivateKey = RSA-515\nType = RSA\nInput = 30820157020100300d06092a864886f70d0101010500048201413082013d0201000241054fa166e205e658bbe8a2dc35311c0c2b75b7e4569fd9642c8bae809279271fc824f26baa1166ea46298ca63379ea76adbada2b61e5066820a35beaec1aca227f020301000102410266c972be0d30e53ac2acb1aa13b4bd0401cccf212452a66b4615f7e943831f67b4ca48560582d0ca886044aaaaf87945252a848c1947944186e6eb83969bf91102210309e631761842cc8a2ccfd372c20a9cba21de1a199c30ab440bc6b51079f4e825022101bf715c1db432627ca7c29a293b9210f2eff1e92d12f306ebaa5334f8ee03dcd30221018ac58a765f2b8f37d434081fe5ff92b81735ead2f263f4968ccf63d61fbe3d0d0221015b247a1159a2d5a25d0db049593c6405f77f3a278c521d066e290c2a2d8fb59d0221026224aa31fd95c14d24fd03b8a195bba4cc88df7c37f5370a5ab19f882f1404d6\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# EC P-256 key\nPrivateKey = P-256\nType = EC\nInput = 308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above with the optional public key omitted.\nPrivateKey = P-256-MissingPublic\nType = EC\nInput = 3041020100301306072a8648ce3d020106082a8648ce3d0301070427302502010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above with redundant parameters.\nPrivateKey = P-256-ExtraParameters\nType = EC\nInput = 308193020100301306072a8648ce3d020106082a8648ce3d0301070479307702010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a00a06082a8648ce3d030107a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\n# The key re-encodes with the parameters removed.\nOutput = 308187020100301306072a8648c", + "e3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key, but with the redundant parameters in the ECPrivateKey mismatched.\nPrivateKey = P-256-BadInnerParameters\nInput = 308190020100301306072a8648ce3d020106082a8648ce3d0301070476307402010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a00706052b81040022a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = GROUP_MISMATCH\n\n# The same key, but with the curve spelled explicitly.\nPrivateKey = P-256-ExplicitParameters\nType = EC\nInput = 308201610201003081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nOutput = 308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same as above, but with the optional cofactor omitted.\nPrivateKey = P-256-ExplicitParameters-NoCofactor\nType = EC\nInput = 3082015e0201003081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nOutput = 308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same as above, but the cofactor is zero instead of one.\nPrivateKey = P-256-ExplicitParameters-CofactorZero\nInput = 308201610201003081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = UNKNOWN_GROUP\n\n# The same as above, but the cofactor is two instead of one.\nPrivateKey = P-256-ExplicitParameters-CofactorTwo\nInput = 308201610201003081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = UNKNOWN_GROUP\n\n# The public half of the same key encoded as a PublicKey.\nPublicKey = P-256-SPKI\nType = EC\nInput = 3059301306072a8648ce3d020106082a8648ce3d030107034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same as above, but with the curve explicitly spelled out.\nPublicKey = P-256-SPKI\nInput = 3082014b3082010306072a8648ce3d02013081f7020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff305b0420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b031500c49d360886e704936a6678e1139d26b7819f7e900441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = DECODE_ERROR\n\n# The same as above, but with trailing data after the curve name.\nPublicKey = P-256-SPKI\nInput = 305b301506072a8648ce3d020106082a8648ce3d0301070500034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = DECODE_ERROR\n\n# A DSA private key.\nPrivateKey = DSA-1024\nType = DSA\nInput = 308202650201003082023906072a8648ce3804013082022c02820101009e12fab3de12213501dd82aa10ca2d101d2d4ebfef4d2a3f8daa0fe0cedad8d6af85616aa2f3252c0a2b5a6db09e6f14900e0ddb8311876dd8f9669525f99ed65949e184d5064793271169a228680b95ec12f59a8e20b21f2b58eb2a2012d35bde2ee351822fe8f32d0a330565dcce5c672b7259c14b2433d0b5b2ca2b2db0ab626e8f13f47fe0345d904e7294bb038e9ce21a9e580b83356278706cfe768436c69de149ccff98b4aab8cb4f6385c9f102ce59346eaeef27e0ad222d53d6e89cc8cde5776dd00057b03f2d88ab3cedbafd7b585f0b7f7835e17a3728bbf25ea62572f245dc111f3ce39cb6ffacc31b0a2790e7bde90224ea9b09315362af3d2b022100f381dcf53ebf724f8b2e5ca82c010fb4b5eda9358d0fd88ed278589488b54fc3028201000c402a725dcc3a62e02bf4cf43cd17f4a493591220223669cf4193edab423ad08dfb552e308a6a57a5ffbc7cd0fb2087f81f8df0cb08ab2133287d2b6968714a94f633c940845a48a3e16708dde761cc6a8eab2d84db21b6ea5b07681493cc9c31fbc368b243f6ddf8c932a8b4038f44e7b15ca876344a147859f2b43b39458668ad5e0a1a9a669546dd2812e3b3617a0aef99d58e3bb4cc87fd94225e01d2dcc469a77268146c51918f18e8b4d70aa1f0c7623bcc52cf3731d38641b2d2830b7eecb2f09552ff137d046e494e7f33c3590002b16d1b97d936fda28f90c3ed3ca35338168ac16f77c3c57adc2e8f7c6c2256e41a5f65450590dbb5bcf06d66610423022100b0c768702743bc51242993a971a52889795444f7c6452203d0ce84fe6117d46e\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# A DSA public key.\nPublicKey = DSA-1024-SPKI\nType = DSA\nInput = 308201b73082012c06072a8648ce3804013082011f02818100b3429b8b128c9079f9b72e86857e98d265e5d91661ed8b5f4cc56e5eed1e571da30186983a9dd76297eab73ee13a1db841f8800d04a7cab478af6cde2ea4a2868531af169a24858c6268efa39ceb7ed0d4227eb5bbb01124a2a5a26038c7bcfb8cc827f68f5202345166e4718596799b65c9def82828ce44e62e38e41a0d24b1021500c5a56c81ddd87f47e676546c56d05706421624cf0281810094de40d27314fe929e47ff9b1ac65cfc73ef38c4d381c890be6217b15039ae18190e6b421af8c0bda35a5cfd050f58ae2644adce83e68c8e5ba11729df56bbb21e227a60b816cc033fa799a38fe1ba5b4aa1801b6f841ce3df99feb3b4fb96950c960af13fa2ce920aabc12dd24ad2044a35063ea0e25f67f560f4cfbdc55983", + "03818400028180258c30ebbb7f34fdc873ce679f6cea373c7886d75d4421b90920db034daedd292c64d8edd8cdbdd7f3ad23d74cfa2135247d0cef6ecf2e14f99e19d22a8c1266bd8fb8719c0e5667c716c45c7adbdabe548085bdad2dfee636f8d52fd6adb2193df6c4f0520fbd171b91882e0e4f321f8250ffecf4dbea00e114427d3ef96c1a\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above, but without the parameters.\nPublicKey = DSA-1024-SPKI-No-Params\nType = DSA\nInput = 308192300906072a8648ce38040103818400028180258c30ebbb7f34fdc873ce679f6cea373c7886d75d4421b90920db034daedd292c64d8edd8cdbdd7f3ad23d74cfa2135247d0cef6ecf2e14f99e19d22a8c1266bd8fb8719c0e5667c716c45c7adbdabe548085bdad2dfee636f8d52fd6adb2193df6c4f0520fbd171b91882e0e4f321f8250ffecf4dbea00e114427d3ef96c1a\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# Private keys from RFC 8032.\nPrivateKey = Ed25519\nType = Ed25519\nInput = 302e020100300506032b6570042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nExpectRawPrivate = 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nExpectRawPublic = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\n\nPrivateKey = Ed25519-2\nType = Ed25519\nInput = 302e020100300506032b6570042204204ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb\nExpectRawPrivate = 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb\nExpectRawPublic = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\n\nPrivateKey = Ed25519-3\nType = Ed25519\nInput = 302e020100300506032b657004220420c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7\nExpectRawPrivate = c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7\nExpectRawPublic = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\n\nPrivateKey = Ed25519-4\nType = Ed25519\nInput = 302e020100300506032b657004220420f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5\nExpectRawPrivate = f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5\nExpectRawPublic = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\n\nPrivateKey = Ed25519-5\nType = Ed25519\nInput = 302e020100300506032b657004220420833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42\nExpectRawPrivate = 833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42\nExpectRawPublic = ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\n\n# Public keys from RFC 8032.\nPublicKey = Ed25519-SPKI\nType = Ed25519\nInput = 302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nExpectNoRawPrivate\nExpectRawPublic = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\n\nPublicKey = Ed25519-SPKI-2\nType = Ed25519\nInput = 302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\nExpectNoRawPrivate\nExpectRawPublic = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\n\nPublicKey = Ed25519-SPKI-3\nType = Ed25519\nInput = 302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\nExpectNoRawPrivate\nExpectRawPublic = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\n\nPublicKey = Ed25519-SPKI-4\nType = Ed25519\nInput = 302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\nExpectNoRawPrivate\nExpectRawPublic = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\n\nPublicKey = Ed25519-SPKI-5\nType = Ed25519\nInput = 302a300506032b6570032100ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\nExpectNoRawPrivate\nExpectRawPublic = ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\n\n# The first key, private and public, with invalid NULL parameters.\nPrivateKey = Ed25519-NULL\nInput = 3030020100300706032b65700500042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nError = DECODE_ERROR\n\nPublicKey = Ed25519-SPKI-NULL\nInput = 302c300706032b65700500032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nError = DECODE_ERROR\n\n# Sample public key from RFC 8410.\nPublicKey = Ed25519-SPKI-Spec\nType = Ed25519\nInput = 302a300506032b657003210019bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1\n\n# Sample private key from RFC 8410.\nPrivateKey = Ed25519-Spec\nType = Ed25519\nInput = 302e020100300506032b657004220420d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842\n\n\n# RSA tests\n\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\nVerify = RSA-2048-SPKI\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\n# Digest too long\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nError = INVALID_MESSAGE_LENGTH\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too short\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nError = INVALID_MESSAGE_LENGTH\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too large for key.\nSign = RSA-512\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DIGEST_TOO_BIG_FOR_RSA_KEY\n\n# Mismatched digest\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1233\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99", + "b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = BAD_SIGNATURE\n\n# Corrupted signature\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1233\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ae\nError = BLOCK_TYPE_IS_NOT_01\n\n# parameter missing (NOTE: this differs from upstream)\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3ec3fc29eb6e122bd7aa361cd09fe1bcbe85311096a7b9e4799cedfb2351ce0ab7fe4e75b4f6b37f67edd9c60c800f9ab941c0c157d7d880ca9de40c951d60fd293ae220d4bc510b1572d6e85a1bbbd8605b52e05f1c64fafdae59a1c2fbed214b7844d0134619de62851d5a0522e32e556e5950f3f97b8150e3f0dffee612c924201c27cd9bc8b423a71533380c276d3d59fcba35a2e80a1a192ec266a6c2255012cd86a349fe90a542b355fa3355b04da6cdf1df77f0e7bd44a90e880e1760266d233e465226f5db1c68857847d82072861ee266ddfc2e596845b77e1803274a579835ab5e4975d81d20b7df9cec7795489e4a2bdb8c1cf6a6b359945ac92c\nError = BAD_SIGNATURE\n\n# embedded digest too long\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d\nError = BAD_SIGNATURE\n\n# embedded digest too short\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d\nError = BAD_SIGNATURE\n\n# Garbage after DigestInfo\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 9ee34872d4271a7d8808af0a4052a145a6d6a8437d00da3ed14428c7f087cd39f4d43334c41af63e7fa1ba363fee7bcef401d9d36a662abbab55ce89a696e1be0dfa19a5d09ca617dd488787b6048baaefeb29bc8688b2fe3882de2b77c905b5a8b56cf9616041e5ec934ba6de863efe93acc4eef783fe7f72a00fa65d6093ed32bf98ce527e62ccb1d56317f4be18b7e0f55d7c36617d2d0678a306e3350956b662ac15df45215dd8f6b314babb9788e6c272fa461e4c9b512a11a4b92bc77c3a4c95c903fccb238794eca5c750477bf56ea6ee6a167367d881b485ae3889e7c489af8fdf38e0c0f2aed780831182e34abedd43c39281b290774bf35cc25274\nError = BAD_SIGNATURE\n\n# invalid tag for parameter\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 49525db4d44c755e560cba980b1d85ea604b0e077fcadd4ba44072a3487bbddb835016200a7d8739cce2dc3223d9c20cbdd25059ab02277f1f21318efd18e21038ec89aa9d40680987129e8b41ba33bceb86518bdf47268b921cce2037acabca6575d832499538d6f40cdba0d40bd7f4d8ea6ca6e2eec87f294efc971407857f5d7db09f6a7b31e301f571c6d82a5e3d08d2bb3a36e673d28b910f5bec57f0fcc4d968fd7c94d0b9226dec17f5192ad8b42bcab6f26e1bea1fdc3b958199acb00f14ebcb2a352f3afcedd4c09000128a603bbeb9696dea13040445253972d46237a25c7845e3b464e6984c2348ea1f1210a9ff0b00d2d72b50db00c009bb39f9\nError = BAD_SIGNATURE\n\n\n# RSA-PSS tests.\n\n# Zero salt length makes the output deterministic\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# Verify of above signature\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# A non-zero salt length must be checked by round-tripping.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Check a salt length with a non-standard digest length, to verify things are\n# not just working due to defaults. (The current default is a maximum salt\n# length, but the ecosystem has converged on matching the digest length, so we\n# may change this in the future.)\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 42\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Auto-detected salt length\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# Signing with salt length -1 means to match the digest length.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -1\nVerifyPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Signing with salt length -2 means to maximize the salt length.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -2\nVerifyPSSSaltLength = 222 # 256 - 32 - 2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Wrong digest\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"00000000000000000000000000000000\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = BAD_SIGNATURE\n\n# Digest too short\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDE\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abba", + "c37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too long\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF0\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = INVALID_MESSAGE_LENGTH\n\n# Wrong salt length\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = SLEN_CHECK_FAILED\n\n# Wrong salt length using implicit hash length\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -1\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = SLEN_CHECK_FAILED\n\n# Wrong MGF1 digest, SHA-1\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nMGF1Digest = SHA1\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n# If SHA-1, this input happens to succeed recovering a salt length, but it does\n# not match.\nError = SLEN_CHECK_FAILED\n\n# Wrong MGF1 digest, SHA-384\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nMGF1Digest = SHA384\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n# If SHA-384, this input happens fail to recover the salt length altogether.\nError = SLEN_RECOVERY_FAILED\n\n# The salt length is too large for the modulus (signing).\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 223\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\n# The salt length is too large for the modulus (verifying).\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 223\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = DATA_TOO_LARGE\n\n# The hash is too large for the modulus (signing).\nSign = RSA-512\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\nSign = RSA-512\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\n# The hash is too large for the modulus (verifying).\nVerify = RSA-512\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nOutput = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nError = DATA_TOO_LARGE\n\nVerify = RSA-512\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nOutput = 457001d9ca50a93385fc5ec721c9dbbe7a0f2e9e4a2f846a30a8811dde66347b83901c7492039243537c7a667fafffd69049bcbd36afd0010d9b425e2d8785c1\nError = DATA_TOO_LARGE\n\n# Sample RSA-515 signature.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 00c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\n\n# The above, but with too few leading zeros.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\nError = DATA_LEN_NOT_EQUAL_TO_MOD_LEN\n\n# The above, but with too many leading zeros.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 0000c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\nError = DATA_LEN_NOT_EQUAL_TO_MOD_LEN\n\n# The above with an invalid leading byte. The top few bits of EM are required to\n# be cleared.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 007f803c832a2090aea04013d9fa9c1630732a1625232826d235f0950f7050d3fb0eb06ef9ea8b260fad68e1165a2d770a8c7fc7a8aaa68620b021fc19c97e0041\nError = FIRST_OCTET_INVALID\n\n# The above with an invalid trailing byte.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 03e68555035891eb08d96c0967db22328cd892ad2856d88516ecb946bfdba732bb029b5c0dfa2119ed7349897d2324e95e86d91d0c4afc82700a36db8933abbf58\nError = LAST_OCTET_INVALID\n\n# Non-zero salt length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e5706", + "92e511e139\n\n# Non-zero salt length, wrong salt length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 31\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\nError = SLEN_CHECK_FAILED\n\n# Non-zero salt length, match hash length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -1\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n# Non-zero salt length, auto-detected.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n\n# RSA decrypt\n\nDecrypt = RSA-2048\nInput = 550af55a2904e7b9762352f8fb7fa235a9cb053aacb2d5fcb8ca48453cb2ee3619746c701abf2d4cc67003471a187900b05aa812bd25ed05c675dfc8c97a24a7bf49bd6214992cad766d05a9a2b57b74f26a737e0237b8b76c45f1f226a836d7cfbc75ba999bdbe48dbc09227aa46c88f21dccba7840141ad5a5d71fd122e6bd6ac3e564780dfe623fc1ca9b995a6037bf0bbd43b205a84ac5444f34202c05ce9113087176432476576de6ffff9a52ea57c08be3ec2f49676cb8e12f762ac71fa3c321e00ac988910c85ff52f93825666ce0d40ffaa0592078919d4493f46d95ccf76364c6d57760dd0b64805f9afc76a2365a5575ca301d5103f0ea76cb9a78\nOutput = \"Hello World\"\n\n# Corrupted ciphertext\nDecrypt = RSA-2048\nInput = 550af55a2904e7b9762352f8fb7fa235a9cb053aacb2d5fcb8ca48453cb2ee3619746c701abf2d4cc67003471a187900b05aa812bd25ed05c675dfc8c97a24a7bf49bd6214992cad766d05a9a2b57b74f26a737e0237b8b76c45f1f226a836d7cfbc75ba999bdbe48dbc09227aa46c88f21dccba7840141ad5a5d71fd122e6bd6ac3e564780dfe623fc1ca9b995a6037bf0bbd43b205a84ac5444f34202c05ce9113087176432476576de6ffff9a52ea57c08be3ec2f49676cb8e12f762ac71fa3c321e00ac988910c85ff52f93825666ce0d40ffaa0592078919d4493f46d95ccf76364c6d57760dd0b64805f9afc76a2365a5575ca301d5103f0ea76cb9a79\nError = PKCS_DECODING_ERROR\n\n# OAEP padding\nDecrypt = RSA-2048\nRSAPadding = OAEP\nInput = 458708dfbd42a1297ce7a9c86c7087ab80b1754810929b89c5107ca55368587686986fce94d86cc1595b3fb736223a656ec0f34d18ba1cc5665593610f56c58e26b272d584f3d983a5c91085700755aebd921fb280bba3eda7046ec07b43e7298e52d59edc92be4639a8ce08b2f85976ecf6d98cc469eeb9d5d8e2a32ea8a6626edafe1038b3df455668a9f3c77cad8b92fb872e00058c3d2a7ede1a1f03fc5622084ae04d9d24f6bf0995c58d35b93b699b9763595e123f2ab0863cc9229eb290e2ede7715c7a8f39e0b9a3e2e1b56ebb62f1cbfbb5986fb212ebd785b83d01d968b11d1756c7337f70c1f1a63bff03608e24f3a2fd44e67f832a8701c5d5af\nOutput = \"Hello World\"\n\n# OAEP padding with label and custom hash.\nDecrypt = RSA-2048\nRSAPadding = OAEP\nOAEPDigest = SHA512\nOAEPLabel = 00112233445566778899aabbccddeeff\nInput = 48b956c22b8e40cc38f0893672ddf488fc806cf1fcc6239c66dd8345eb543d6b5cac589e6c7ae86dac1c2436c4d72c48009a737b2c649e6000dbab17203e4d9c078bd70b649700a0830d4ddc396af0c48973177a229e48259d93247f04f76474c7611b530c66f020c4da2cc861c2e4104831ecc0336e0cb10d6520fdefd0b33606f5cdd736dd439583b9b6011cce99623c93caf5f76e21e9fefab414795dd5ac12cba551be74ebf266834fcffab182c5e7c9b6c064df154cb26ddfd4fe2fd87590005f4bf45e776a0082803e9f68995b8eeb4c6802c67b5ef349e5b2dc0cf7a12fc097030f2bd28f0253f17129b04c82993a12957728b35880fdd2f8d0cc469f\nOutput = \"Hello World\"\n\n# OAEP padding, corrupted ciphertext\nDecrypt = RSA-2048\nRSAPadding = OAEP\nInput = 458708dfbd42a1297ce7a9c86c7087ab80b1754810929b89c5107ca55368587686986fce94d86cc1595b3fb736223a656ec0f34d18ba1cc5665593610f56c58e26b272d584f3d983a5c91085700755aebd921fb280bba3eda7046ec07b43e7298e52d59edc92be4639a8ce08b2f85976ecf6d98cc469eeb9d5d8e2a32ea8a6626edafe1038b3df455668a9f3c77cad8b92fb872e00058c3d2a7ede1a1f03fc5622084ae04d9d24f6bf0995c58d35b93b699b9763595e123f2ab0863cc9229eb290e2ede7715c7a8f39e0b9a3e2e1b56ebb62f1cbfbb5986fb212ebd785b83d01d968b11d1756c7337f70c1f1a63bff03608e24f3a2fd44e67f832a8701c5d5ac\nError = OAEP_DECODING_ERROR\n\n# Test that RSA encryption successfully round-trips through decryption\n# with various parameters.\nEncrypt = RSA-2048\nInput = \"Hello World\"\nCheckDecrypt\n\nEncrypt = RSA-2048\nRSAPadding = OAEP\nInput = \"Hello World\"\nCheckDecrypt\n\nEncrypt = RSA-2048\nRSAPadding = OAEP\nOAEPDigest = SHA512\nOAEPLabel = 00112233445566778899aabbccddeeff\nInput = \"Hello World\"\nCheckDecrypt\n\n# Though we will never generate such a key, test that RSA keys where p < q work\n# properly.\nPrivateKey = RSA-Swapped\nType = RSA\nInput = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100ab28f98747934779011417d5bbb4095eae6f48ed09e13081616cf390aac75b10a206a98953d402647dfef7fa363be2765a303b05ec388bd9a1d75123a1205b4ecb43c33f2e37d3e30842181d694a3acfc39afc52554946e699d97d97066596a46725ce6dea322623afcafecbd2884d9a0c5eae9c4d7da8874c29c19edb762e1902030100010281800d637ea568e169f15ab6be288f6ec55edd29425c9c6dbb941b5160fa1b89cda34ef15378b5107c016d63b0f52721e71497f876dd7f3d6b1f228c4bc20c3c12384644200e91130c9195660d1e706f55b2accf00c5e2174a1d9ee289f0e763ee58860485ec97d19d7fa2df38af5b5910b1fa52087768d288e6ec4c8d5eca23c8d3024100be757a24dc2c923692d964693b2d71ca33ccb2f946f9e5232d2090b715a97dca554068fab8876105bc9ed6dccfd0917c5e0b80339306535c3eeb787e89397bc7024100e60f5c9e52434da079b8c641791a81a96daa4d9921a07e5b48292a9fce230df7c9fc2b97b5e38834ed5caaa387a0bca35c474e989a68dd65b79a6f691a74471f0240438ccf017bc5a3260ff76291a01782204136fcd344c524ebd0f997da17a8c1a09d93f6a7d602cdfa86e79f3539cfb389f4a1079b432e1f2abc762f8a51893dc9024046604ca4e1e554c9d27283b363a888219c3a8ca25b770d303f52d8872a37eefdedfc0619d2ba57e058fc0ff71676453e73ec1c4ef26d41ccebed824754a05d6102404445374d8450e753e0a42085b56b0d6d500b3e3518536dc8f12ec8fd77aa75491835327ac0e12d73b5c3f1b09d03f6a24fe63b9c551dee6559b625435ec92429\n\nSign = RSA-Swapped\nDigest = SHA256\nInput = \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\nOutput = 07fa4e3de9c002c41c952dc292ef5a814c4c17dc1a6cf958c4c971e8089676d6661b442270ef9295c41e5385c9628aa1bdee2cc2558b8473ba212f2ba04b9ff2264c19187b9506b1d0a1cc2751844cc8dedf555d62ce81bc0e70bfe83d0184ee964593af91b9b327c0fb272c799148cd8737d412cbf36c2ad25fd66977bf805f\n\n# Though we will never generate such a key, test that RSA keys where p and q are\n# different sizes work properly.\nPrivateKey = RSA-PrimeMismatch\nType = RSA\nInput = 30820295020100300d06092a864886f70d01010105000482027f3082027b02010002818100c766f4fef89f5e9a8e13ed500fb38523ea94d7f8be066900eee58c913b4c6fdcb13d63d39b9108feabcefd1ffd04776403dc58f968ae817977d0809e567d8af512d604a0e9cb448fa5e402204ee519712a5ebbfd002faf8169495a782f54366b4665aac0d968bfec63c5446b6f9b13061c7f3d1f3f1b6bede8fff881b410a66f0203010001028180528c062f49485c771a0b18ca747d8a47f8941ea63c305626cb3f1f067e6861c4441c432687dbd08d484aac3b01f3ffdc3b762c719167f7cb22e565aa6acd597306ef6f7828b9720e9d440816186d940c4c5a9720dddf71fe0b59483f02a751515c8c27e43c575d6725d55f5bb77e0f977773b00afc058cfab6617ec90d0b62a9026100cb8f97c37b4fbc298b645bc3dc0526f8a4274e9a193b33c3acb76499b5b96330e4b586cbaa56368ffc12644952322253bc669496d572c0980f125fd7273739cf790d244010", + "52b13732114d397c8c16a44716dc62d2320fb1ced99290dfd53e07022100fac51ac653609cdaba53280c6b6f209052e270be0c3c68fe8b37d6bf05fbba59026038dff2f04c58d7e2e7ae6fb1469d2de954bc22cb0d77ac1be4fb0ca1a1d39d7240c4b357de4cde4bd68b30f8077e38771af1b25c7e60e48cd7d1337402e1fc460ab57046720918b8aa4589452196669119c7ba65e602d4bdc264a9fdce7c5f2b0220773af0180bdc8bb7938fa6230191bcb1e236b7d4248d347e9242e25fc0c0874102605c4894cde334889f5b52ed8f86a2ee9c1fbe4166287e24ce44f3093bff383962f08043842f6ff3e6002104b0e29442c4a4483c5d06e2254fbe5e3930de3d0e28af10e96c6e341a4b8859382dbba24536a38ae71118e3e22413a93f298a7f744c\n\nSign = RSA-PrimeMismatch\nDigest = SHA256\nInput = \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\nOutput = 6192b1ce630c87d02e8245fd74d4f6ecac37eef979d188c8fa48c4d355fbe814e7dd3152f42bb020d769b540d11867af5b947387b8c99158d56901ff3708e423931178213916ae1002f162c9d497aacacdcb20e6ffe7ed40138a253fc943ddf3587433df5831a3ce46aeefce358a009bf6bad12d82d77424c2755d984d7da196\n\n\n# EC tests\n\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\n\nVerify = P-256-SPKI\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\n\n# Digest too long\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Digest too short\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Digest invalid\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1235\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Invalid signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec7\nError = BAD_SIGNATURE\n\n# Garbage after signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec800\nError = BAD_SIGNATURE\n\n# BER signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3080022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec80000\nError = BAD_SIGNATURE\n\n\n# Additional RSA-PSS and RSA-OAEP tests converted from\n# ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip\n\nPublicKey = RSA-PSS-1\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818100a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a21370203010001\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = cd8b6538cb8e8de566b68bd067569dbf1ee2718e\nOutput = 9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e35befc17a1d160b9ce35fbd8eb16e7ee491d3fd\nOutput = 3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0652ec67bcee30f9d2699122b91c19abdba89f91\nOutput = 666026fba71bd3e7cf13157cc2c51a8e4aa684af9778f91849f34335d141c00154c4197621f9624a675b5abc22ee7d5baaffaae1c9baca2cc373b3f33e78e6143c395a91aa7faca664eb733afd14d8827259d99a7550faca501ef2b04e33c23aa51f4b9e8282efdb728cc0ab09405a91607c6369961bc8270d2d4f39fce612b1\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 39c21c4cceda9c1adf839c744e1212a6437575ec\nOutput = 4609793b23e9d09362dc21bb47da0b4f3a7622649a47d464019b9aeafe53359c178c91cd58ba6bcb78be0346a7bc637f4b873d4bab38ee661f199634c547a1ad8442e03da015b136e543f7ab07c0c13e4225b8de8cce25d4f6eb8400f81f7e1833b7ee6e334d370964ca79fdb872b4d75223b5eeb08101591fb532d155a6de87\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 36dae913b77bd17cae6e7b09453d24544cebb33c\nOutput = 1d2aad221ca4d31ddf13509239019398e3d14b32dc34dc5af4aeaea3c095af73479cf0a45e5629635a53a018377615b16cb9b13b3e09d671eb71e387b8545c5960da5a64776e768e82b2c93583bf104c3fdb23512b7b4e89f633dd0063a530db4524b01c3f384c09310e315a79dcd3d684022a7f31c865a664e316978b759fad\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 45eef191f4f79c31fe5d2ede7e5098994e929d2d\nOutput = 2a34f6125e1f6b0bf971e84fbd41c632be8f2c2ace7de8b6926e31ff93e9af987fbc06e51e9be14f5198f91f3f953bd67da60a9df59764c3dc0fe08e1cbef0b75f868d10ad3fba749fef59fb6dac46a0d6e504369331586f58e4628f39aa278982543bc0eeb537dc61958019b394fb273f215858a0a01ac4d650b955c67f4c58\n\nPublicKey = RSA-PSS-2\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818101d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c90203010001\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 5c81a3e2a658246628cd0ee8b00bb4c012bc9739\nOutput = 014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 27f71611446aa6eabf037f7dedeede3203244991\nOutput = 010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 03ecc2c33e93f05fc7224fcc0d461356cb897217\nOutput = 007f0030018f53cdc71f23d03659fde54d4241f758a750b42f185f87578520c30742afd84359b6e6e8d3ed959dc6fe486bedc8e2cf001f63a7abe16256a1b84df0d249fc05d3194ce5f0912742dbbf80dd174f6c51f6bad7f16cf3364eba095a06267dc3793803ac7526aebe0a475d38b8c2247ab51c4898df7047dc6adf52c6c4\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 246c727b4b9494849dddb068d582e179ac20999c\nOutput = 009cd2f4edbe23e12346ae8c76dd9ad3230a62076141f16c152ba18513a48ef6f010e0e37fd3df10a1ec629a0cb5a3b5d2893007298c30936a95903b6ba85555d9ec3673a06108fd62a2fda56d1ce2e85c4db6b24a81ca3b496c36d4fd06eb7c9166d8e94877c42bea622b3bfe9251fdc21d8d5371badad78a488214796335b40b\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e8617ca3ea66ce6a58ede2d11af8c3ba8a6ba912\nOutput = 00ec430824931ebd3baa43034dae98ba646b8c36013d1671c3cf1cf8260c374b19f8e1cc8d965012405e7e9bf7378612dfcc85fce12cda11f950bd0ba8876740436c1d2595a64a1b32efcfb74a21c873b3cc33aaf4e3dc3953de67f0674c0453b4fd9f604406d441b816098cb106fe3472bc251f815f59db2e4378a3addc181ecf\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7a6fdc1a4e434ecbc35d657ad49a2f4fafd43bc8\nOutput = 00475b1648f814a8dc0abdc37b5527f543b666bb6e39d30e5b49d3b876dccc58eac14e32a2d55c2616014456ad2f246fc8e3d560da3ddf379a1c0bd200f10221df078c219a151bc8d4ec9d2fc2564467811014ef15d8ea01c2ebbff8c2c8efab38096e55fcbe3285c7aa558851254faffa92c1c72", + "b78758663ef4582843139d7a6\n\nPublicKey = RSA-PSS-3\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818102f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a4430203010001\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3552be69dd74bdc56d2cf8c38ef7bafe269040fe\nOutput = 0088b135fb1794b6b96c4a3e678197f8cac52b64b2fe907d6f27de761124964a99a01a882740ecfaed6c01a47464bb05182313c01338a8cd097214cd68ca103bd57d3bc9e816213e61d784f182467abf8a01cf253e99a156eaa8e3e1f90e3c6e4e3aa2d83ed0345b89fafc9c26077c14b6ac51454fa26e446e3a2f153b2b16797f\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 609143ff7240e55c062aba8b9e4426a781919bc9\nOutput = 02a5f0a858a0864a4f65017a7d69454f3f973a2999839b7bbc48bf78641169179556f595fa41f6ff18e286c2783079bc0910ee9cc34f49ba681124f923dfa88f426141a368a5f5a930c628c2c3c200e18a7644721a0cbec6dd3f6279bde3e8f2be5e2d4ee56f97e7ceaf33054be7042bd91a63bb09f897bd41e81197dee99b11af\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0afd22f879a9cda7c584f4135f8f1c961db114c0\nOutput = 0244bcd1c8c16955736c803be401272e18cb990811b14f72db964124d5fa760649cbb57afb8755dbb62bf51f466cf23a0a1607576e983d778fceffa92df7548aea8ea4ecad2c29dd9f95bc07fe91ecf8bee255bfe8762fd7690aa9bfa4fa0849ef728c2c42c4532364522df2ab7f9f8a03b63f7a499175828668f5ef5a29e3802c\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 405dd56d395ef0f01b555c48f748cc32b210650b\nOutput = 0196f12a005b98129c8df13c4cb16f8aa887d3c40d96df3a88e7532ef39cd992f273abc370bc1be6f097cfebbf0118fd9ef4b927155f3df22b904d90702d1f7ba7a52bed8b8942f412cd7bd676c9d18e170391dcd345c06a730964b3f30bcce0bb20ba106f9ab0eeb39cf8a6607f75c0347f0af79f16afa081d2c92d1ee6f836b8\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = a2c313b0440c8a0c47233b87f0a160c61af3eae7\nOutput = 021eca3ab4892264ec22411a752d92221076d4e01c0e6f0dde9afd26ba5acf6d739ef987545d16683e5674c9e70f1de649d7e61d48d0caeb4fb4d8b24fba84a6e3108fee7d0705973266ac524b4ad280f7ae17dc59d96d3351586b5a3bdb895d1e1f7820ac6135d8753480998382ba32b7349559608c38745290a85ef4e9f9bd83\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f1bf6ca7b4bbdbb6bf20a4bf55728725d177154a\nOutput = 012fafec862f56e9e92f60ab0c77824f4299a0ca734ed26e0644d5d222c7f0bde03964f8e70a5cb65ed44e44d56ae0edf1ff86ca032cc5dd4404dbb76ab854586c44eed8336d08d457ce6c03693b45c0f1efef93624b95b8ec169c616d20e5538ebc0b6737a6f82b4bc0570924fc6b35759a3348426279f8b3d7744e2d222426ce\n\nPublicKey = RSA-PSS-4\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c37050203010001\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f8b0abf70fec0bca74f0accbc24f75e6e90d3bfd\nOutput = 0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 04a10944bfe11ab801e77889f3fd3d7f4ff0b629\nOutput = 049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ba01243db223eb97fb86d746c3148adaaa0ca344\nOutput = 03fbc410a2ced59500fb99f9e2af2781ada74e13145624602782e2994813eefca0519ecd253b855fb626a90d771eae028b0c47a199cbd9f8e3269734af4163599090713a3fa910fa0960652721432b971036a7181a2bc0cab43b0b598bc6217461d7db305ff7e954c5b5bb231c39e791af6bcfa76b147b081321f72641482a2aad\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 934bb0d38d6836daec9de82a9648d4593da67cd2\nOutput = 0486644bc66bf75d28335a6179b10851f43f09bded9fac1af33252bb9953ba4298cd6466b27539a70adaa3f89b3db3c74ab635d122f4ee7ce557a61e59b82ffb786630e5f9db53c77d9a0c12fab5958d4c2ce7daa807cd89ba2cc7fcd02ff470ca67b229fcce814c852c73cc93bea35be68459ce478e9d4655d121c8472f371d4f\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ec35d81abd1cceac425a935758b683465c8bd879\nOutput = 022a80045353904cb30cbb542d7d4990421a6eec16a8029a8422adfd22d6aff8c4cc0294af110a0c067ec86a7d364134459bb1ae8ff836d5a8a2579840996b320b19f13a13fad378d931a65625dae2739f0c53670b35d9d3cbac08e733e4ec2b83af4b9196d63e7c4ff1ddeae2a122791a125bfea8deb0de8ccf1f4ffaf6e6fb0a\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 72ce251d17b04dd3970d6ff1fbe3624899e9e941\nOutput = 00938dcb6d583046065f69c78da7a1f1757066a7fa75125a9d2929f0b79a60b627b082f11f5b196f28eb9daa6f21c05e5140f6aef1737d2023075c05ecf04a028c686a2ab3e7d5a0664f295ce12995e890908b6ad21f0839eb65b70393a7b5afd9871de0caa0cedec5b819626756209d13ab1e7bb9546a26ff37e9a51af9fd562e\n\nPublicKey = RSA-PSS-5\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d003081890281810d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc5070203010001\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = d98b7061943510bc3dd9162f7169aabdbdcd0222\nOutput = 0ba373f76e0921b70a8fbfe622f0bf77b28a3db98e361051c3d7cb92ad0452915a4de9c01722f6823eeb6adf7e0ca8290f5de3e549890ac2a3c5950ab217ba58590894952de96f8df111b2575215da6c161590c745be612476ee578ed384ab33e3ece97481a252f5c79a98b5532ae00cdd62f2ecc0cd1baefe80d80b962193ec1d\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7ae8e699f754988f4fd645e463302e49a2552072\nOutput = 08180de825e4b8b014a32da8ba761555921204f2f90d5f24b712908ff84f3e220ad17997c0dd6e706630ba3e84add4d5e7ab004e58074b549709565d43ad9e97b5a7a1a29e85b9f90f4aafcdf58321de8c5974ef9abf2d526f33c0f2f82e95d158ea6b81f1736db8d1af3d6ac6a83b32d18bae0ff1b2fe27de4c76ed8c7980a34e\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 8d46c7c05534c1ba2cc7624500d48a4531604bff\nOutput = 05e0fdbdf6f756ef733185ccfa8ced2eb6d029d9d56e35561b5db8e70257ee6fd019d2f0bbf669fe9b9821e78df6d41e31608d58280f318ee34f559941c8df13287574bac000b7e58dc4f414ba49fb127f9d0f8936638c76e85356c994f79750f7fa3cf4fd482df75e3fb9978cd061f7abb17572e6e63e0bde12cbdcf18c68b979\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ee3de96783fd0a157c8b20bf5566124124dcfe65\nOutput = 0bc989853bc2ea86873271ce183a923ab65e8a53100e6df5d87a24c4194eb797813ee2a187c097dd872d591da60c568605dd7e742d5af4e33b11678ccb63903204a3d080b0902c89aba8868f009c0f1c0cb85810bbdd29121abb8471ff2d39e49fd92d56c655c8e037ad18fafbdc92c95863f7f61ea9efa28fea401369d19daea1\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 1204df0b03c2724e2709c23fc71789a21b00ae4c\nOutput = 0aefa943b698b9609edf898ad22744ac28dc239497cea369cbbd84f65c95c0ad776b594740164b59a739c6ff7c2f07c7c077a86d95238fe51e1fcf33574a4ae0684b42a3f6bf677d91820ca89874467b2c23add77969c80717430d0efc1d3695892ce855cb7f7011630f4df26def8ddf36fc23905f57fa6243a485c770d5681fcd\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 29926bc3280c841f601acd0d6f17ea38023eddbc\nOutput = 02802dccfa8dfaf5279bf0b4a29ba1b157611faeaaf419b8919d15941900c1339e7e92e6fae562c53e6cc8e84104b110bce03ad18525e3c49a0eadad5d3f28f244a8ed89edbafbb686277cfa8ae909714d6b28f4bf8e293aa04c41efe7c0a81266d5c061e2575be032aa464674ff71626219bd74cc45f0e7ed4e3ff96eee758e8f\n\nPublicKey = RSA-PSS-6\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d10203010001\n\nV", + "erify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ab464e8cb65ae5fdea47a53fa84b234d6bfd52f6\nOutput = 04c0cfacec04e5badbece159a5a1103f69b3f32ba593cb4cc4b1b7ab455916a96a27cd2678ea0f46ba37f7fc9c86325f29733b389f1d97f43e7201c0f348fc45fe42892335362eee018b5b161f2f9393031225c713012a576bc88e23052489868d9010cbf033ecc568e8bc152bdc59d560e41291915d28565208e22aeec9ef85d1\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 92d0bcae82b641f578f040f5151be8eda6d42299\nOutput = 0a2314250cf52b6e4e908de5b35646bcaa24361da8160fb0f9257590ab3ace42b0dc3e77ad2db7c203a20bd952fbb56b1567046ecfaa933d7b1000c3de9ff05b7d989ba46fd43bc4c2d0a3986b7ffa13471d37eb5b47d64707bd290cfd6a9f393ad08ec1e3bd71bb5792615035cdaf2d8929aed3be098379377e777ce79aaa4773\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3569bd8fd2e28f2443375efa94f186f6911ffc2b\nOutput = 086df6b500098c120f24ff8423f727d9c61a5c9007d3b6a31ce7cf8f3cbec1a26bb20e2bd4a046793299e03e37a21b40194fb045f90b18bf20a47992ccd799cf9c059c299c0526854954aade8a6ad9d97ec91a1145383f42468b231f4d72f23706d9853c3fa43ce8ace8bfe7484987a1ec6a16c8daf81f7c8bf42774707a9df456\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7abbb7b42de335730a0b641f1e314b6950b84f98\nOutput = 0b5b11ad549863ffa9c51a14a1106c2a72cc8b646e5c7262509786105a984776534ca9b54c1cc64bf2d5a44fd7e8a69db699d5ea52087a4748fd2abc1afed1e5d6f7c89025530bdaa2213d7e030fa55df6f34bcf1ce46d2edf4e3ae4f3b01891a068c9e3a44bbc43133edad6ecb9f35400c4252a5762d65744b99cb9f4c559329f\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 55b7eb27be7a787a59eb7e5fac468db8917a7725\nOutput = 02d71fa9b53e4654fefb7f08385cf6b0ae3a817942ebf66c35ac67f0b069952a3ce9c7e1f1b02e480a9500836de5d64cdb7ecde04542f7a79988787e24c2ba05f5fd482c023ed5c30e04839dc44bed2a3a3a4fee01113c891a47d32eb8025c28cb050b5cdb576c70fe76ef523405c08417faf350b037a43c379339fcb18d3a356b\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = de2fa0367ef49083ff89b9905d3fd646fcc12c38\nOutput = 0a40a16e2fe2b38d1df90546167cf9469c9e3c3681a3442b4b2c2f581deb385ce99fc6188bb02a841d56e76d301891e24560550fcc2a26b55f4ccb26d837d350a154bcaca8392d98fa67959e9727b78cad03269f56968fc56b68bd679926d83cc9cb215550645ccda31c760ff35888943d2d8a1d351e81e5d07b86182e751081ef\n\nPublicKey = RSA-PSS-7\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818137c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab30203010001\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 8be4afbdd76bd8d142c5f4f46dba771ee5d6d29d\nOutput = 187f390723c8902591f0154bae6d4ecbffe067f0e8b795476ea4f4d51ccc810520bb3ca9bca7d0b1f2ea8a17d873fa27570acd642e3808561cb9e975ccfd80b23dc5771cdb3306a5f23159dacbd3aa2db93d46d766e09ed15d900ad897a8d274dc26b47e994a27e97e2268a766533ae4b5e42a2fcaf755c1c4794b294c60555823\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 402140dc605b2f5c5ec0d15bce9f9ba8857fe117\nOutput = 10fd89768a60a67788abb5856a787c8561f3edcf9a83e898f7dc87ab8cce79429b43e56906941a886194f137e591fe7c339555361fbbe1f24feb2d4bcdb80601f3096bc9132deea60ae13082f44f9ad41cd628936a4d51176e42fc59cb76db815ce5ab4db99a104aafea68f5d330329ebf258d4ede16064bd1d00393d5e1570eb8\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3e885205892ff2b6b37c2c4eb486c4bf2f9e7f20\nOutput = 2b31fde99859b977aa09586d8e274662b25a2a640640b457f594051cb1e7f7a911865455242926cf88fe80dfa3a75ba9689844a11e634a82b075afbd69c12a0df9d25f84ad4945df3dc8fe90c3cefdf26e95f0534304b5bdba20d3e5640a2ebfb898aac35ae40f26fce5563c2f9f24f3042af76f3c7072d687bbfb959a88460af1\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 1fc2201d0c442a4736cd8b2cd00c959c47a3bf42\nOutput = 32c7ca38ff26949a15000c4ba04b2b13b35a3810e568184d7ecabaa166b7ffabddf2b6cf4ba07124923790f2e5b1a5be040aea36fe132ec130e1f10567982d17ac3e89b8d26c3094034e762d2e031264f01170beecb3d1439e05846f25458367a7d9c02060444672671e64e877864559ca19b2074d588a281b5804d23772fbbe19\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e4351b66819e5a31501f89acc7faf57030e9aac5\nOutput = 07eb651d75f1b52bc263b2e198336e99fbebc4f332049a922a10815607ee2d989db3a4495b7dccd38f58a211fb7e193171a3d891132437ebca44f318b280509e52b5fa98fcce8205d9697c8ee4b7ff59d4c59c79038a1970bd2a0d451ecdc5ef11d9979c9d35f8c70a6163717607890d586a7c6dc01c79f86a8f28e85235f8c2f1\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 49f6cc58365e514e1a3f301f4de16f9fb5347ff2\nOutput = 18da3cdcfe79bfb77fd9c32f377ad399146f0a8e810620233271a6e3ed3248903f5cdc92dc79b55d3e11615aa056a795853792a3998c349ca5c457e8ca7d29d796aa24f83491709befcfb1510ea513c92829a3f00b104f655634f320752e130ec0ccf6754ff893db302932bb025eb60e87822598fc619e0e981737a9a4c4152d33\n\nPublicKey = RSA-PSS-8\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f0203010001\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = a1dd230d8ead860199b6277c2ecfe3d95f6d9160\nOutput = 0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f6e68e53c602c5c65fa67b5aa6d786e5524b12ab\nOutput = 2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = d6f9fcd3ae27f32bb2c7c93536782eba52af1f76\nOutput = 2ad20509d78cf26d1b6c406146086e4b0c91a91c2bd164c87b966b8faa42aa0ca446022323ba4b1a1b89706d7f4c3be57d7b69702d168ab5955ee290356b8c4a29ed467d547ec23cbadf286ccb5863c6679da467fc9324a151c7ec55aac6db4084f82726825cfe1aa421bc64049fb42f23148f9c25b2dc300437c38d428aa75f96\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7ff2a53ce2e2d900d468e498f230a5f5dd0020de\nOutput = 1e24e6e58628e5175044a9eb6d837d48af1260b0520e87327de7897ee4d5b9f0df0be3e09ed4dea8c1454ff3423bb08e1793245a9df8bf6ab3968c8eddc3b5328571c77f091cc578576912dfebd164b9de5454fe0be1c1f6385b328360ce67ec7a05f6e30eb45c17c48ac70041d2cab67f0a2ae7aafdcc8d245ea3442a6300ccc7\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 4eb309f7022ba0b03bb78601b12931ec7c1be8d3\nOutput = 33341ba3576a130a50e2a5cf8679224388d5693f5accc235ac95add68e5eb1eec31666d0ca7a1cda6f70a1aa762c05752a51950cdb8af3c5379f18cfe6b5bc55a4648226a15e912ef19ad77adeea911d67cfefd69ba43fa4119135ff642117ba985a7e0100325e9519f1ca6a9216bda055b5785015291125e90dcd07a2ca9673ee\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 65033bc2f67d6aba7d526acb873b8d9241e5e4d9\nOutput = 1ed1d848fb1edb44129bd9b354795af97a069a7a00d0151048593e0c72c3517ff9ff2a41d0cb5a0ac860d736a199704f7cb6a53986a88bbd8abcc0076a2ce847880031525d449da2ac78356374c536e343faa7cba42a5aaa6506087791c06a8e989335aed19bfab2d5e67e27fb0c2875af896c21b6e8e7309d04e4f6727e69463e\n\nPublicKey = RSA-PSS-9\nType = RSA\nInput = 3081df300d06092a864886f70d01010105000381cd003081c90281c100e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b0203010001\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 2715a49b8b0012cd7aee84c116446e6dfe3faec0\nOutput = 586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964", + "747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 2dac956d53964748ac364d06595827c6b4f143cd\nOutput = 80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 28d98c46cccafbd3bc04e72f967a54bd3ea12298\nOutput = 484408f3898cd5f53483f80819efbf2708c34d27a8b2a6fae8b322f9240237f981817aca1846f1084daa6d7c0795f6e5bf1af59c38e1858437ce1f7ec419b98c8736adf6dd9a00b1806d2bd3ad0a73775e05f52dfef3a59ab4b08143f0df05cd1ad9d04bececa6daa4a2129803e200cbc77787caf4c1d0663a6c5987b605952019782caf2ec1426d68fb94ed1d4be816a7ed081b77e6ab330b3ffc073820fecde3727fcbe295ee61a050a343658637c3fd659cfb63736de32d9f90d3c2f63eca\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0866d2ff5a79f25ef668cd6f31b42dee421e4c0e\nOutput = 84ebeb481be59845b46468bafb471c0112e02b235d84b5d911cbd1926ee5074ae0424495cb20e82308b8ebb65f419a03fb40e72b78981d88aad143053685172c97b29c8b7bf0ae73b5b2263c403da0ed2f80ff7450af7828eb8b86f0028bd2a8b176a4d228cccea18394f238b09ff758cc00bc04301152355742f282b54e663a919e709d8da24ade5500a7b9aa50226e0ca52923e6c2d860ec50ff480fa57477e82b0565f4379f79c772d5c2da80af9fbf325ece6fc20b00961614bee89a183e\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 6a5b4be4cd36cc97dfde9995efbf8f097a4a991a\nOutput = 82102df8cb91e7179919a04d26d335d64fbc2f872c44833943241de8454810274cdf3db5f42d423db152af7135f701420e39b494a67cbfd19f9119da233a23da5c6439b5ba0d2bc373eee3507001378d4a4073856b7fe2aba0b5ee93b27f4afec7d4d120921c83f606765b02c19e4d6a1a3b95fa4c422951be4f52131077ef17179729cddfbdb56950dbaceefe78cb16640a099ea56d24389eef10f8fecb31ba3ea3b227c0a86698bb89e3e9363905bf22777b2a3aa521b65b4cef76d83bde4c\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = b9dfd1df76a461c51e6576c6c8ed0a923d1c50e7\nOutput = a7fdb0d259165ca2c88d00bbf1028a867d337699d061193b17a9648e14ccbbaadeacaacdec815e7571294ebb8a117af205fa078b47b0712c199e3ad05135c504c24b81705115740802487992ffd511d4afc6b854491eb3f0dd523139542ff15c3101ee85543517c6a3c79417c67e2dd9aa741e9a29b06dcb593c2336b3670ae3afbac7c3e76e215473e866e338ca244de00b62624d6b9426822ceae9f8cc460895f41250073fd45c5a1e7b425c204a423a699159f6903e710b37a7bb2bc8049f\n\nPublicKey = RSA-PSS-10\nType = RSA\nInput = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae050203010001\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 9596bb630cf6a8d4ea4600422b9eba8b13675dd4\nOutput = 82c2b160093b8aa3c0f7522b19f87354066c77847abf2a9fce542d0e84e920c5afb49ffdfdace16560ee94a1369601148ebad7a0e151cf16331791a5727d05f21e74e7eb811440206935d744765a15e79f015cb66c532c87a6a05961c8bfad741a9a6657022894393e7223739796c02a77455d0f555b0ec01ddf259b6207fd0fd57614cef1a5573baaff4ec00069951659b85f24300a25160ca8522dc6e6727e57d019d7e63629b8fe5e89e25cc15beb3a647577559299280b9b28f79b0409000be25bbd96408ba3b43cc486184dd1c8e62553fa1af4040f60663de7f5e49c04388e257f1ce89c95dab48a315d9b66b1b7628233876ff2385230d070d07e1666\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = b503319399277fd6c1c8f1033cbf04199ea21716\nOutput = 14ae35d9dd06ba92f7f3b897978aed7cd4bf5ff0b585a40bd46ce1b42cd2703053bb9044d64e813d8f96db2dd7007d10118f6f8f8496097ad75e1ff692341b2892ad55a633a1c55e7f0a0ad59a0e203a5b8278aec54dd8622e2831d87174f8caff43ee6c46445345d84a59659bfb92ecd4c818668695f34706f66828a89959637f2bf3e3251c24bdba4d4b7649da0022218b119c84e79a6527ec5b8a5f861c159952e23ec05e1e717346faefe8b1686825bd2b262fb2531066c0de09acde2e4231690728b5d85e115a2f6b92b79c25abc9bd9399ff8bcf825a52ea1f56ea76dd26f43baafa18bfa92a504cbd35699e26d1dcc5a2887385f3c63232f06f3244c3\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 50aaede8536b2c307208b275a67ae2df196c7628\nOutput = 6e3e4d7b6b15d2fb46013b8900aa5bbb3939cf2c095717987042026ee62c74c54cffd5d7d57efbbf950a0f5c574fa09d3fc1c9f513b05b4ff50dd8df7edfa20102854c35e592180119a70ce5b085182aa02d9ea2aa90d1df03f2daae885ba2f5d05afdac97476f06b93b5bc94a1a80aa9116c4d615f333b098892b25fface266f5db5a5a3bcc10a824ed55aad35b727834fb8c07da28fcf416a5d9b2224f1f8b442b36f91e456fdea2d7cfe3367268de0307a4c74e924159ed33393d5e0655531c77327b89821bdedf880161c78cd4196b5419f7acc3f13e5ebf161b6e7c6724716ca33b85c2e25640192ac2859651d50bde7eb976e51cec828b98b6563b86bb\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = aa0b72b8b371ddd10c8ae474425ccccf8842a294\nOutput = 34047ff96c4dc0dc90b2d4ff59a1a361a4754b255d2ee0af7d8bf87c9bc9e7ddeede33934c63ca1c0e3d262cb145ef932a1f2c0a997aa6a34f8eaee7477d82ccf09095a6b8acad38d4eec9fb7eab7ad02da1d11d8e54c1825e55bf58c2a23234b902be124f9e9038a8f68fa45dab72f66e0945bf1d8bacc9044c6f07098c9fcec58a3aab100c805178155f030a124c450e5acbda47d0e4f10b80a23f803e774d023b0015c20b9f9bbe7c91296338d5ecb471cafb032007b67a60be5f69504a9f01abb3cb467b260e2bce860be8d95bf92c0c8e1496ed1e528593a4abb6df462dde8a0968dffe4683116857a232f5ebf6c85be238745ad0f38f767a5fdbf486fb\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = fad3902c9750622a2bc672622c48270cc57d3ea8\nOutput = 7e0935ea18f4d6c1d17ce82eb2b3836c55b384589ce19dfe743363ac9948d1f346b7bfddfe92efd78adb21faefc89ade42b10f374003fe122e67429a1cb8cbd1f8d9014564c44d120116f4990f1a6e38774c194bd1b8213286b077b0499d2e7b3f434ab12289c556684deed78131934bb3dd6537236f7c6f3dcb09d476be07721e37e1ceed9b2f7b406887bd53157305e1c8b4f84d733bc1e186fe06cc59b6edb8f4bd7ffefdf4f7ba9cfb9d570689b5a1a4109a746a690893db3799255a0cb9215d2d1cd490590e952e8c8786aa0011265252470c041dfbc3eec7c3cbf71c24869d115c0cb4a956f56d530b80ab589acfefc690751ddf36e8d383f83cedd2cc\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 122196deb5d122bd8c6fc781ff6924d7c695aade\nOutput = 6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f\n\nPrivateKey = RSA-OAEP-1\nType = RSA\nInput = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb020301000102818053339cfdb79fc8466a655c7316aca85c55fd8f6dd898fdaf119517ef4f52e8fd8e258df93fee180fa0e4ab29693cd83b152a553d4ac4d1812b8b9fa5af0e7f55fe7304df41570926f3311f15c4d65a732c483116ee3d3d2d0af3549ad9bf7cbfb78ad884f84d5beb04724dc7369b31def37d0cf539e9cfcdd3de653729ead5d1024100d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d024100cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d7702400e12bf1718e9cef5599ba1c3882fe8046a90874eefce8f2ccc20e4f2741fb0a33a3848aec9c9305fbecbd2d76819967d4671acc6431e4037968db37878e695c102410095297b0f95a2fa67d00707d609d", + "fd4fc05c89dafc2ef6d6ea55bec771ea333734d9251e79082ecda866efef13c459e1a631386b7e354c899f5f112ca85d7158302404f456c502493bdc0ed2ab756a3a6ed4d67352a697d4216e93212b127a63d5411ce6fa98d5dbefd73263e3728142743818166ed7dd63687dd2a8ca1d2f4fbd8e1\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 354fe67b4a126d5d35fe36c777791a3f7ba13def484e2d3908aff722fad468fb21696de95d0be911c2d3174f8afcc201035f7b6d8e69402de5451618c21a535fa9d7bfc5b8dd9fc243f8cf927db31322d6e881eaa91a996170e657a05a266426d98c88003f8477c1227094a0d9fa1e8c4024309ce1ecccb5210035d47ac72e8a\nOutput = 6628194e12073db03ba94cda9ef9532397d50dba79b987004afefe34\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 640db1acc58e0568fe5407e5f9b701dff8c3c91e716c536fc7fcec6cb5b71c1165988d4a279e1577d730fc7a29932e3f00c81515236d8d8e31017a7a09df4352d904cdeb79aa583adcc31ea698a4c05283daba9089be5491f67c1a4ee48dc74bbbe6643aef846679b4cb395a352d5ed115912df696ffe0702932946d71492b44\nOutput = 750c4047f547e8e41411856523298ac9bae245efaf1397fbe56f9dd5\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 423736ed035f6026af276c35c0b3741b365e5f76ca091b4e8c29e2f0befee603595aa8322d602d2e625e95eb81b2f1c9724e822eca76db8618cf09c5343503a4360835b5903bc637e3879fb05e0ef32685d5aec5067cd7cc96fe4b2670b6eac3066b1fcf5686b68589aafb7d629b02d8f8625ca3833624d4800fb081b1cf94eb\nOutput = d94ae0832e6445ce42331cb06d531a82b1db4baad30f746dc916df24d4e3c2451fff59a6423eb0e1d02d4fe646cf699dfd818c6e97b051\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 45ead4ca551e662c9800f1aca8283b0525e6abae30be4b4aba762fa40fd3d38e22abefc69794f6ebbbc05ddbb11216247d2f412fd0fba87c6e3acd888813646fd0e48e785204f9c3f73d6d8239562722dddd8771fec48b83a31ee6f592c4cfd4bc88174f3b13a112aae3b9f7b80e0fc6f7255ba880dc7d8021e22ad6a85f0755\nOutput = 52e650d98e7f2a048b4f86852153b97e01dd316f346a19f67a85\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 36f6e34d94a8d34daacba33a2139d00ad85a9345a86051e73071620056b920e219005855a213a0f23897cdcd731b45257c777fe908202befdd0b58386b1244ea0cf539a05d5d10329da44e13030fd760dcd644cfef2094d1910d3f433e1c7c6dd18bc1f2df7f643d662fb9dd37ead9059190f4fa66ca39e869c4eb449cbdc439\nOutput = 8da89fd9e5f974a29feffb462b49180f6cf9e802\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 42cee2617b1ecea4db3f4829386fbd61dafbf038e180d837c96366df24c097b4ab0fac6bdf590d821c9f10642e681ad05b8d78b378c0f46ce2fad63f74e0ad3df06b075d7eb5f5636f8d403b9059ca761b5c62bb52aa45002ea70baace08ded243b9d8cbd62a68ade265832b56564e43a6fa42ed199a099769742df1539e8255\nOutput = 26521050844271\n\nPrivateKey = RSA-OAEP-2\nType = RSA\nInput = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818101947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f4502030100010281800823f20fadb5da89088a9d00893e21fa4a1b11fbc93c64a3be0baaea97fb3b93c3ff713704c19c963c1d107aae99054739f79e02e186de86f87a6ddefea6d8ccd1d3c81a47bfa7255be20601a4a4b2f08a167b5e279d715b1b455bdd7eab245941d9768b9acefb3ccda5952da3cee72525b4501663a8ee15c9e992d92462fe3902410159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a430241012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd70240436ef508de736519c2da4c580d98c82cb7452a3fb5efadc3b9c7789a1bc6584f795addbbd32439c74686552ecb6c2c307a4d3af7f539eec157248c7b31f1a2550241012b15a89f3dfb2b39073e73f02bdd0c1a7b379dd435f05cdde2eff9e462948b7cec62ee9050d5e0816e0785a856b49108dcb75f3683874d1ca6329a19013066ff02400270db17d5914b018d76118b24389a7350ec836b0063a21721236fd8edb6d89b51e7eeb87b611b7132cb7ea7356c23151c1e7751507c786d9ee1794170a8c8e8\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0181af8922b9fcb4d79d92ebe19815992fc0c1439d8bcd491398a0f4ad3a329a5bd9385560db532683c8b7da04e4b12aed6aacdf471c34c9cda891addcc2df3456653aa6382e9ae59b54455257eb099d562bbe10453f2b6d13c59c02e10f1f8abb5da0d0570932dacf2d0901db729d0fefcc054e70968ea540c81b04bcaefe720e\nOutput = 8ff00caa605c702830634d9a6c3d42c652b58cf1d92fec570beee7\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 018759ff1df63b2792410562314416a8aeaf2ac634b46f940ab82d64dbf165eee33011da749d4bab6e2fcd18129c9e49277d8453112b429a222a8471b070993998e758861c4d3f6d749d91c4290d332c7a4ab3f7ea35ff3a07d497c955ff0ffc95006b62c6d296810d9bfab024196c7934012c2df978ef299aba239940cba10245\nOutput = 2d\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 018802bab04c60325e81c4962311f2be7c2adce93041a00719c88f957575f2c79f1b7bc8ced115c706b311c08a2d986ca3b6a9336b147c29c6f229409ddec651bd1fdd5a0b7f610c9937fdb4a3a762364b8b3206b4ea485fd098d08f63d4aa8bb2697d027b750c32d7f74eaf5180d2e9b66b17cb2fa55523bc280da10d14be2053\nOutput = 74fc88c51bc90f77af9d5e9a4a70133d4b4e0b34da3c37c7ef8e\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00a4578cbc176318a638fba7d01df15746af44d4f6cd96d7e7c495cbf425b09c649d32bf886da48fbaf989a2117187cafb1fb580317690e3ccd446920b7af82b31db5804d87d01514acbfa9156e782f867f6bed9449e0e9a2c09bcecc6aa087636965e34b3ec766f2fe2e43018a2fddeb140616a0e9d82e5331024ee0652fc7641\nOutput = a7eb2a5036931d27d4e891326d99692ffadda9bf7efd3e34e622c4adc085f721dfe885072c78a203b151739be540fa8c153a10f00a\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00ebc5f5fda77cfdad3c83641a9025e77d72d8a6fb33a810f5950f8d74c73e8d931e8634d86ab1246256ae07b6005b71b7f2fb98351218331ce69b8ffbdc9da08bbc9c704f876deb9df9fc2ec065cad87f9090b07acc17aa7f997b27aca48806e897f771d95141fe4526d8a5301b678627efab707fd40fbebd6e792a25613e7aec\nOutput = 2ef2b066f854c33f3bdcbb5994a435e73d6c6c\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 010839ec20c27b9052e55befb9b77e6fc26e9075d7a54378c646abdf51e445bd5715de81789f56f1803d9170764a9e93cb78798694023ee7393ce04bc5d8f8c5a52c171d43837e3aca62f609eb0aa5ffb0960ef04198dd754f57f7fbe6abf765cf118b4ca443b23b5aab266f952326ac4581100644325f8b721acd5d04ff14ef3a\nOutput = 8a7fb344c8b6cb2cf2ef1f643f9a3218f6e19bba89c0\n\nPrivateKey = RSA-OAEP-3\nType = RSA\nInput = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818102b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9020301000102818015b48a5b5683a94670e23b5718f814fa0e13f85038f50711182cba61510581f3d22c7e232ef937e22e551d68b86e2f8cb1aad8be2e488f5df7efd279e3f568d4eaf36f80cf7141ace60fcc9113fb6c4a841fd50bbc7c512ffcbeff21487aa811eb3ca8c62005346a86de86bfa1d8a948fd3f348c22eaadf333c3ce6ce13208fd024101bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf0241018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7024006c0a249d20a6f2ee75c88b494d53f6aae99aa427c88c28b163a769445e5f390cf40c274fd6ea6329a5ce7c7ce03a2158396ee2a7845786e09e2885a9728e4e5024100d1d27c29fedd92d86c348edd0ccbfac14f746e051ce1d1811df35d61f2ee1c97d4bf2804802f6427187ba8e90a8af44243b4079b03445e602e29fa5193e64fe90241008cb2f756bd8941b1d3b770e5ad31ee373b28acda69ff9b6f40fe578b9f1afb85836f9627d37acff73c2779e634bb26011c2c8f7f3361ae2a9ea65ed689e3639a\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 026a0485d96aebd96b4382085099b962e6a2bdec3d90c8db625e14372de85e2d5b7baab65c8faf91bb5504fb495afce5c988b3f6a52e20e1d6cbd3566c5cd1f2b8318bb542cc0ea25c4aab9932afa20760eaddec784396a07ea0ef24d4e6f4d37e5052a7a31e146aa480a111bbe926401307e00f410033842b6d82fe5ce4dfae80\nOutput = 087820b569e8fa8d\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 024db89c7802989be0783847863084941bf209d761987e38f97cb5f6f1bc88da72a50b73ebaf11c879c4f95df37b850b8f65d7622e25b1b889e80fe80baca2069d6e0e1d829953fc459069de98ea9798b451e557e99abf8fe3d9ccf9096ebbf3e5255d3b4e1c6d2ecadf067a359eea86405acd47d5e165517ccafd47d6dbee4bf5\nOutput = 4653acaf17196", + "0b01f52a7be63a3ab21dc368ec43b50d82ec3781e04\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0239bce681032441528877d6d1c8bb28aa3bc97f1df584563618995797683844ca86664732f4bed7a0aab083aaabfb7238f582e30958c2024e44e57043b97950fd543da977c90cdde5337d618442f99e60d7783ab59ce6dd9d69c47ad1e962bec22d05895cff8d3f64ed5261d92b2678510393484990ba3f7f06818ae6ffce8a3a\nOutput = d94cd0e08fa404ed89\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 02994c62afd76f498ba1fd2cf642857fca81f4373cb08f1cbaee6f025c3b512b42c3e8779113476648039dbe0493f9246292fac28950600e7c0f32edf9c81b9dec45c3bde0cc8d8847590169907b7dc5991ceb29bb0714d613d96df0f12ec5d8d3507c8ee7ae78dd83f216fa61de100363aca48a7e914ae9f42ddfbe943b09d9a0\nOutput = 6cc641b6b61e6f963974dad23a9013284ef1\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0162042ff6969592a6167031811a239834ce638abf54fec8b99478122afe2ee67f8c5b18b0339805bfdbc5a4e6720b37c59cfba942464c597ff532a119821545fd2e59b114e61daf71820529f5029cf524954327c34ec5e6f5ba7efcc4de943ab8ad4ed787b1454329f70db798a3a8f4d92f8274e2b2948ade627ce8ee33e43c60\nOutput = df5151832b61f4f25891fb4172f328d2eddf8371ffcfdbe997939295f30eca6918017cfda1153bf7a6af87593223\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00112051e75d064943bc4478075e43482fd59cee0679de6893eec3a943daa490b9691c93dfc0464b6623b9f3dbd3e70083264f034b374f74164e1a00763725e574744ba0b9db83434f31df96f6e2a26f6d8eba348bd4686c2238ac07c37aac3785d1c7eea2f819fd91491798ed8e9cef5e43b781b0e0276e37c43ff9492d005730\nOutput = 3c3bad893c544a6d520ab022319188c8d504b7a788b850903b85972eaa18552e1134a7ad6098826254ff7ab672b3d8eb3158fac6d4cbaef1\n\nPrivateKey = RSA-OAEP-4\nType = RSA\nInput = 30820277020100300d06092a864886f70d0101010500048202613082025d020100028181051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb03902030100010281800411ffca3b7ca5e9e9be7fe38a85105e353896db05c5796aecd2a725161eb3651c8629a9b862b904d7b0c7b37f8cb5a1c2b54001018a00a1eb2cafe4ee4e9492c348bc2bedab4b9ebbf064e8eff322b9009f8eec653905f40df88a3cdc49d4567f75627d41aca624129b46a0b7c698e5e65f2b7ba102c749a10135b6540d04010241027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba570102410210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139024039fa028b826e88c1121b750a8b242fa9a35c5b66bdfd1fa637d3cc48a84a4f457a194e7727e49f7bcc6e5a5a412657fc470c7322ebc37416ef458c307a8c09010241015d99a84195943979fa9e1be2c3c1b69f432f46fd03e47d5befbbbfd6b1d1371d83efb330a3e020942b2fed115e5d02be24fd92c9019d1cecd6dd4cf1e54cc899024101f0b7015170b3f5e42223ba30301c41a6d87cbb70e30cb7d3c67d25473db1f6cbf03e3f9126e3e97968279a865b2c2b426524cfc52a683d31ed30eb984be412ba\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 04cce19614845e094152a3fe18e54e3330c44e5efbc64ae16886cb1869014cc5781b1f8f9e045384d0112a135ca0d12e9c88a8e4063416deaae3844f60d6e96fe155145f4525b9a34431ca3766180f70e15a5e5d8e8b1a516ff870609f13f896935ced188279a58ed13d07114277d75c6568607e0ab092fd803a223e4a8ee0b1a8\nOutput = 4a86609534ee434a6cbca3f7e962e76d455e3264c19f605f6e5ff6137c65c56d7fb344cd52bc93374f3d166c9f0c6f9c506bad19330972d2\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0097b698c6165645b303486fbf5a2a4479c0ee85889b541a6f0b858d6b6597b13b854eb4f839af03399a80d79bda6578c841f90d645715b280d37143992dd186c80b949b775cae97370e4ec97443136c6da484e970ffdb1323a20847821d3b18381de13bb49aaea66530c4a4b8271f3eae172cd366e07e6636f1019d2a28aed15e\nOutput = b0adc4f3fe11da59ce992773d9059943c03046497ee9d9f9a06df1166db46d98f58d27ec074c02eee6cbe2449c8b9fc5080c5c3f4433092512ec46aa793743c8\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0301f935e9c47abcb48acbbe09895d9f5971af14839da4ff95417ee453d1fd77319072bb7297e1b55d7561cd9d1bb24c1a9a37c619864308242804879d86ebd001dce5183975e1506989b70e5a83434154d5cbfd6a24787e60eb0c658d2ac193302d1192c6e622d4a12ad4b53923bca246df31c6395e37702c6a78ae081fb9d065\nOutput = bf6d42e701707b1d0206b0c8b45a1c72641ff12889219a82bdea965b5e79a96b0d0163ed9d578ec9ada20f2fbcf1ea3c4089d83419ba81b0c60f3606da99\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 02d110ad30afb727beb691dd0cf17d0af1a1e7fa0cc040ec1a4ba26a42c59d0a796a2e22c8f357ccc98b6519aceb682e945e62cb734614a529407cd452bee3e44fece8423cc19e55548b8b994b849c7ecde4933e76037e1d0ce44275b08710c68e430130b929730ed77e09b015642c5593f04e4ffb9410798102a8e96ffdfe11e4\nOutput = fb2ef112f5e766eb94019297934794f7be2f6fc1c58e\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00dbb8a7439d90efd919a377c54fae8fe11ec58c3b858362e23ad1b8a44310799066b99347aa525691d2adc58d9b06e34f288c170390c5f0e11c0aa3645959f18ee79e8f2be8d7ac5c23d061f18dd74b8c5f2a58fcb5eb0c54f99f01a83247568292536583340948d7a8c97c4acd1e98d1e29dc320e97a260532a8aa7a758a1ec2\nOutput = 28ccd447bb9e85166dabb9e5b7d1adadc4b9d39f204e96d5e440ce9ad928bc1c2284\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00a5ffa4768c8bbecaee2db77e8f2eec99595933545520835e5ba7db9493d3e17cddefe6a5f567624471908db4e2d83a0fbee60608fc84049503b2234a07dc83b27b22847ad8920ff42f674ef79b76280b00233d2b51b8cb2703a9d42bfbc8250c96ec32c051e57f1b4ba528db89c37e4c54e27e6e64ac69635ae887d9541619a9\nOutput = f22242751ec6b1\n\nPrivateKey = RSA-OAEP-5\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f0201000281810aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed902030100010281810256eb4cba7067f2d2be540dcdff4582a36b7d31d1c9099bb214b79848466a268f80f58a49ac04c0e3648934a0206c04537c19b236643a6082732144df75fa217588f794682be89168276dc726c5c0cbdb84d31bbf26d0a43af495717f7d528acfee341561f6ff3cae05c578f8470d9682f9c0d072f9f6068b56d5880f682be2c5024103b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707024102e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f024101e84b119d25161fa67b00256a5bd9b645d2b232ecb05b015180029a88622adc3f09b3aeacde6161ab7cde22c2ad26e7797df54e072cbd3b2673800b3e4338dbd5024100eb90aa1a40135b4cea07197cedc8819be1e7cbff2547662116f465a4a9f487ab12f3ba4fef13822265a65297d98b7bded9372e3ffe81a38b3e9600fed055754f0241012f7f8138f9404062eb85a42924520b38f5bb886a0196f48bb8dcea60fd92cc027f18e78158a34a5c5d5f860a0f6c04071a7d01312c065062f1eb48b79d1c83cb\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 036046a4a47d9ed3ba9a89139c105038eb7492b05a5d68bfd53accff4597f7a68651b47b4a4627d927e485eed7b4566420e8b409879e5d606eae251d22a5df799f7920bfc117b992572a53b1263146bcea03385cc5e853c9a101c8c3e1bda31a519807496c6cb5e5efb408823a352b8fa0661fb664efadd593deb99fff5ed000e5\nOutput = af71a901e3a61d3132f0fc1fdb474f9ea6579257ffc24d164170145b3dbde8\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 03d6eb654edce615bc59f455265ed4e5a18223cbb9be4e4069b473804d5de96f54dcaaa603d049c5d94aa1470dfcd2254066b7c7b61ff1f6f6770e3215c51399fd4e34ec5082bc48f089840ad04354ae66dc0f1bd18e461a33cc1258b443a2837a6df26759aa2302334986f87380c9cc9d53be9f99605d2c9a97da7b0915a4a7ad\nOutput = a3b844a08239a8ac41605af17a6cfda4d350136585903a417a79268760519a4b4ac3303ec73f0f87cfb32399\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0770952181649f9f9f07ff626ff3a22c35c462443d905d456a9fd0bff43cac2ca7a9f554e9478b9acc3ac838b02040ffd3e1847de2e4253929f9dd9ee4044325a9b05cabb808b2ee840d34e15d105a3f1f7b27695a1a07a2d73fe08ecaaa3c9c9d4d5a89ff890d54727d7ae40c0ec1a8dd86165d8ee2c6368141016a48b55b6967\nOutput = 308b0ecbd2c76cb77fc6f70c5edd233fd2f20929d629f026953bb62a8f4a3a314bde195de85b5f816da2aab074d26cb6acddf323ae3b9c678ac3cf12fbdde7\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0812b76768ebcb642d040258e5f4441a018521bd96687e6c5e899fcd6c17588ff59a8", + "2cc8ae03a4b45b31299af1788c329f7dcd285f8cf4ced82606b97612671a45bedca133442144d1617d114f802857f0f9d739751c57a3f9ee400912c61e2e6992be031a43dd48fa6ba14eef7c422b5edc4e7afa04fdd38f402d1c8bb719abf\nOutput = 15c5b9ee1185\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 07b60e14ec954bfd29e60d0047e789f51d57186c63589903306793ced3f68241c743529aba6a6374f92e19e0163efa33697e196f7661dfaaa47aac6bde5e51deb507c72c589a2ca1693d96b1460381249b2cdb9eac44769f2489c5d3d2f99f0ee3c7ee5bf64a5ac79c42bd433f149be8cb59548361640595513c97af7bc2509723\nOutput = 21026e6800c7fa728fcaaba0d196ae28d7a2ac4ffd8abce794f0985f60c8a6737277365d3fea11db8923a2029a\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 08c36d4dda33423b2ed6830d85f6411ba1dcf470a1fae0ebefee7c089f256cef74cb96ea69c38f60f39abee44129bcb4c92de7f797623b20074e3d9c2899701ed9071e1efa0bdd84d4c3e5130302d8f0240baba4b84a71cc032f2235a5ff0fae277c3e8f9112bef44c9ae20d175fc9a4058bfc930ba31b02e2e4f444483710f24a\nOutput = 541e37b68b6c8872b84c02\n\nPrivateKey = RSA-OAEP-6\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f02010002818112b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af02030100010281810295eca3560618369559cecd303aa9cfdafc1d9f06959df75ffef929aa896961bcd190dc6997eda7f5963e724d07b4dc11f3065e5ae97d96835112280b9084bb14f2a21ebd4e889d41b9c4132ec1956fcab8bb2fed0575884936522c5ff7d33261904824e7cadee4e0bb372d2457cf78e2bd1286228ff83f10731ce63c90cff3f9024104a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b02410404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed024103961c8f760aa2bd5154c7aafd77225b3bacd0139ae7b5948ea3311fccd86fb95c75afa767284b9b2de559572f15d8d044c7eb83a1be5fadf2cc377c0d8475294b0241022197e066742196aabc03fa2feeb4e70b15cb787d617acd31bb75c7bc234ad706f7c48d2182d1f0ff9c228dcf41967b6c0ba6d2c0ad110a1b857831ec245e2cb102410401c4c0c53d45dbdb5e9d96d0fecf4275df0974bc4a0736b4a74c3269053efb686ace2406e22c9e058ddb4ae540627ae2fdb08261e8e7e4bcbc994daafa305c45\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0630eebcd2856c24f798806e41f9e67345eda9ceda386acc9facaea1eeed06ace583709718d9d169fadf414d5c76f92996833ef305b75b1e4b95f662a20faedc3bae0c4827a8bf8a88edbd57ec203a27a841f02e43a615bab1a8cac0701de34debdef62a088089b55ec36ea7522fd3ec8d06b6a073e6df833153bc0aefd93bd1a3\nOutput = 4046ca8baa3347ca27f49e0d81f9cc1d71be9ba517d4\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0ebc37376173a4fd2f89cc55c2ca62b26b11d51c3c7ce49e8845f74e7607317c436bc8d23b9667dfeb9d087234b47bc6837175ae5c0559f6b81d7d22416d3e50f4ac533d8f0812f2db9e791fe9c775ac8b6ad0f535ad9ceb23a4a02014c58ab3f8d3161499a260f39348e714ae2a1d3443208fd8b722ccfdfb393e98011f99e63f\nOutput = 5cc72c60231df03b3d40f9b57931bc31109f972527f28b19e7480c7288cb3c92b22512214e4be6c914792ddabdf57faa8aa7\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0a98bf1093619394436cf68d8f38e2f158fde8ea54f3435f239b8d06b8321844202476aeed96009492480ce3a8d705498c4c8c68f01501dc81db608f60087350c8c3b0bd2e9ef6a81458b7c801b89f2e4fe99d4900ba6a4b5e5a96d865dc676c7755928794130d6280a8160a190f2df3ea7cf9aa0271d88e9e6905ecf1c5152d65\nOutput = b20e651303092f4bccb43070c0f86d23049362ed96642fc5632c27db4a52e3d831f2ab068b23b149879c002f6bf3feee97591112562c\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 008e7a67cacfb5c4e24bec7dee149117f19598ce8c45808fef88c608ff9cd6e695263b9a3c0ad4b8ba4c95238e96a8422b8535629c8d5382374479ad13fa39974b242f9a759eeaf9c83ad5a8ca18940a0162ba755876df263f4bd50c6525c56090267c1f0e09ce0899a0cf359e88120abd9bf893445b3cae77d3607359ae9a52f8\nOutput = 684e3038c5c041f7\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00003474416c7b68bdf961c385737944d7f1f40cb395343c693cc0b4fe63b31fedf1eaeeac9ccc0678b31dc32e0977489514c4f09085f6298a9653f01aea4045ff582ee887be26ae575b73eef7f3774921e375a3d19adda0ca31aa1849887c1f42cac9677f7a2f4e923f6e5a868b38c084ef187594dc9f7f048fea2e02955384ab\nOutput = 32488cb262d041d6e4dd35f987bf3ca696db1f06ac29a44693\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0a026dda5fc8785f7bd9bf75327b63e85e2c0fdee5dadb65ebdcac9ae1de95c92c672ab433aa7a8e69ce6a6d8897fac4ac4a54de841ae5e5bbce7687879d79634cea7a30684065c714d52409b928256bbf53eabcd5231eb7259504537399bd29164b726d33a46da701360a4168a091ccab72d44a62fed246c0ffea5b1348ab5470\nOutput = 50ba14be8462720279c306ba\n\nPrivateKey = RSA-OAEP-7\nType = RSA\nInput = 30820278020100300d06092a864886f70d0101010500048202623082025e020100028181311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e3730203010001028181070cfcff2feb8276e27432c45dfee48f49b7917d6530e1f0ca3460f32e0276174487c56e22a45d2500d7775495219d7d165a9cf3bd92c32af9a98d8dc9cc296800adc94a0a54fb40f34291bf84ee8ea12b6f109359c6d3542a50f9c767f5cfff05a681c2e656fb77caaadb4be9468d8abcd4df98f58e86d2053fa1349f748e21b102410749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71024106bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023024103bc7ea7f0aab143abc6ce8b97118636a30172e4cfe02c8fa0dda3b7baaf90f8092982985525f488bdfcb4bd726e22639ac64a3092ab7ffcbf1d5334cfa50b5bf102410262a6aa29c2a3c67dc5346c06381afd987aa3cc93cfbfecf54fdd9f9d787d7f59a523d398979da137a2f6381fe94801f7c94da21518dc34cb40870c4697994ad90240649d4c17b6ee1721e772d0389a559c3d3cdf9550d457c46b037b74641b1d52166af8a213c8396206cdfba4422f18d6f61dbcb5d214c971bf482aeb976a7370c2\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1688e4ce7794bba6cb7014169ecd559cede2a30b56a52b68d9fe18cf1973ef97b2a03153951c755f6294aa49adbdb55845ab6875fb3986c93ecf927962840d282f9e54ce8b690f7c0cb8bbd73440d9571d1b16cd9260f9eab4783cc482e5223dc60973871783ec27b0ae0fd47732cbc286a173fc92b00fb4ba6824647cd93c85c1\nOutput = 47aae909\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1052ed397b2e01e1d0ee1c50bf24363f95e504f4a03434a08fd822574ed6b9736edbb5f390db10321479a8a139350e2bd4977c3778ef331f3e78ae118b268451f20a2f01d471f5d53c566937171b2dbc2d4bde459a5799f0372d6574239b2323d245d0bb81c286b63c89a361017337e4902f88a467f4c7f244bfd5ab46437ff3b6\nOutput = 1d9b2e2223d9bc13bfb9f162ce735db48ba7c68f6822a0a1a7b6ae165834e7\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2155cd843ff24a4ee8badb7694260028a490813ba8b369a4cbf106ec148e5298707f5965be7d101c1049ea8584c24cd63455ad9c104d686282d3fb803a4c11c1c2e9b91c7178801d1b6640f003f5728df007b8a4ccc92bce05e41a27278d7c85018c52414313a5077789001d4f01910b72aad05d220aa14a58733a7489bc54556b\nOutput = d976fc\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0ab14c373aeb7d4328d0aaad8c094d88b9eb098b95f21054a29082522be7c27a312878b637917e3d819e6c3c568db5d843802b06d51d9e98a2be0bf40c031423b00edfbff8320efb9171bd2044653a4cb9c5122f6c65e83cda2ec3c126027a9c1a56ba874d0fea23f380b82cf240b8cf540004758c4c77d934157a74f3fc12bfac\nOutput = d4738623df223aa43843df8467534c41d013e0c803c624e263666b239bde40a5f29aeb8de79e3daa61dd0370f49bd4b013834b98212aef6b1c5ee373b3cb\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 028387a318277434798b4d97f460068df5298faba5041ba11761a1cb7316b24184114ec500257e2589ed3b607a1ebbe97a6cc2e02bf1b681f42312a33b7a77d8e7855c4a6de03e3c04643f786b91a264a0d6805e2cea91e68177eb7a64d9255e4f27e713b7ccec00dc200ebd21c2ea2bb890feae4942df941dc3f97890ed347478\nOutput = bb47231ca5ea1d3ad46c99345d9a8a61\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 14c678a94ad60525ef39e959b2f3ba5c097a94ff912b67dbace80535c187abd47d075420b1872152bba08f7fc31f313bbf9273c912fc4c0149a9b0cfb79807e346eb332069611bec0ff9bcd168f1f7c33e77313cea454b94e2549eecf002e2acf7f6f2d2845d4fe0aab2e5a92ddf68c480ae11247935d", + "1f62574842216ae674115\nOutput = 2184827095d35c3f86f600e8e59754013296\n\nPrivateKey = RSA-OAEP-8\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f0201000281815bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff702030100010281810f7d1e9e5aaa25fd13e4a0663ae144e0d15f5cd18bcdb09df2cc7e64e3c5e915ad62645304161d098c715bb7ab8bd01d07eaf3fed7c7ed08af2a8a62ef44ab16b320e14af72a48f96afe262a0ae4cf65e635e910790cd4ee5cea768a4b2639f7e6f677b3f0bb6be32b75747d8909036f0264f58d401cdba131716157a75ecf633102410a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f0241092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9024107c71410af103962db367404e37ae850baa4e9c29dd92145815294a67c7d1c6ded263aa030a9b633ae50303e14035d1af014123eba687820308d8ebc85b6957d7d024100ae2c75380c02c016ad05891b3301de881f28ae1171182b6b2c83bea7c515eca9ca298c7b1cab5817a597068fc85060de4da8a016378aae43c7f967bcc37904b902410598d1059e3ada4f6320752c09d805ff7d1f1ae0d017aeeee9cefa0d7dd7ff775e44b578322f6405d6211da19519666aa87fdc4cd8c88f6b6e3d67e961dcbba3d0\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 09b3683d8a2eb0fb295b62ed1fb9290b714457b7825319f4647872af889b30409472020ad12912bf19b11d4819f49614824ffd84d09c0a17e7d17309d12919790410aa2995699f6a86dbe3242b5acc23af45691080d6b1ae810fb3e3057087f0970092ce00be9562ff4053b6262ce0caa93e13723d2e3a5ba075d45f0d61b54b61\nOutput = 050b755e5e6880f7b9e9d692a74c37aae449b31bfea6deff83747a897f6c2c825bb1adbf850a3c96994b5de5b33cbc7d4a17913a7967\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2ecf15c97c5a15b1476ae986b371b57a24284f4a162a8d0c8182e7905e792256f1812ba5f83f1f7a130e42dcc02232844edc14a31a68ee97ae564a383a3411656424c5f62ddb646093c367be1fcda426cf00a06d8acb7e57776fbbd855ac3df506fc16b1d7c3f2110f3d8068e91e186363831c8409680d8da9ecd8cf1fa20ee39d\nOutput = 4eb68dcd93ca9b19df111bd43608f557026fe4aa1d5cfac227a3eb5ab9548c18a06dded23f81825986b2fcd71109ecef7eff88873f075c2aa0c469f69c92bc\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 4bc89130a5b2dabb7c2fcf90eb5d0eaf9e681b7146a38f3173a3d9cfec52ea9e0a41932e648a9d69344c50da763f51a03c95762131e8052254dcd2248cba40fd31667786ce05a2b7b531ac9dac9ed584a59b677c1a8aed8c5d15d68c05569e2be780bf7db638fd2bfd2a85ab276860f3777338fca989ffd743d13ee08e0ca9893f\nOutput = 8604ac56328c1ab5ad917861\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2e456847d8fc36ff0147d6993594b9397227d577752c79d0f904fcb039d4d812fea605a7b574dd82ca786f93752348438ee9f5b5454985d5f0e1699e3e7ad175a32e15f03deb042ab9fe1dd9db1bb86f8c089ccb45e7ef0c5ee7ca9b7290ca6b15bed47039788a8a93ff83e0e8d6244c71006362deef69b6f416fb3c684383fbd0\nOutput = fdda5fbf6ec361a9d9a4ac68af216a0686f438b1e0e5c36b955f74e107f39c0dddcc\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1fb9356fd5c4b1796db2ebf7d0d393cc810adf6145defc2fce714f79d93800d5e2ac211ea8bbecca4b654b94c3b18b30dd576ce34dc95436ef57a09415645923359a5d7b4171ef22c24670f1b229d3603e91f76671b7df97e7317c97734476d5f3d17d21cf82b5ba9f83df2e588d36984fd1b584468bd23b2e875f32f68953f7b2\nOutput = 4a5f4914bee25de3c69341de07\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 3afd9c6600147b21798d818c655a0f4c9212db26d0b0dfdc2a7594ccb3d22f5bf1d7c3e112cd73fc7d509c7a8bafdd3c274d1399009f9609ec4be6477e453f075aa33db382870c1c3409aef392d7386ae3a696b99a94b4da0589447e955d16c98b17602a59bd736279fcd8fb280c4462d590bfa9bf13fed570eafde97330a2c210\nOutput = 8e07d66f7b880a72563abcd3f35092bc33409fb7f88f2472be\n\nPrivateKey = RSA-OAEP-9\nType = RSA\nInput = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d02030100010281c0198c141e23715a92bccf6a119a5bc11389468d2811f548d727e17b4ab0eb986d6f211efb53b71f7ccbea87ee69c75ee615008c5332deb52bf390abdfbfe37d7205368159b2638c1de326e21d22251f0fb5848b3bf15005d2a74330f0afe916ee62ccc1344d1d83a709e60676273840f7f377424a5e0a4da75f01b31ff76819cf9cbfdd215243c3917c03ef38199312e567b3bf7aed3ab457f371ef8a1423f45b68c6e282ec111bba2833b987fd69fad83bc1b8c613c5e1ea16c11ed125ea7ec1026100fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd026100d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1026100db16802f79a2f0d45f358d69fd33e44b81fae828622e93a54253e997d01b0743759da0e812b4aa4e6c8beab2328d5431955a418a67ff26a8c5c807a5da354e05ef31cc8cf758f463732950b03e265726fb94e39d6a572a26244ab08db75752ad026100a0a317cfe7df1423f87a6dee8451f4e2b4a67e5497f29b4f1e4e830b9fadd9401167026f5596e5a39c97817e0f5f16e27e19ec9902e01d7ea6fb9aa3c760afee1e381b69de6ac9c07585a06ad9c4ba00bf75c8ad2fa898a479e80ae294fed2a102600b21f335c353342eb44c3aa24445780c2d655b940174cae38c7c8a4e6493c0ba9fd303748267b083b9a7a6cb61e42db362b8c9896db7064e02ad5ae61587da15b4649c90594909feb37dbcb654beb7268ec801e5a8b4aa3911bebd88542f05be\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 267bcd118acab1fc8ba81c85d73003cb8610fa55c1d97da8d48a7c7f06896a4db751aa284255b9d36ad65f37653d829f1b37f97b8001942545b2fc2c55a7376ca7a1be4b1760c8e05a33e5aa2526b8d98e317088e7834c755b2a59b12631a182c05d5d43ab1779264f8456f515ce57dfdf512d5493dab7b7338dc4b7d78db9c091ac3baf537a69fc7f549d979f0eff9a94fda4169bd4d1d19a69c99e33c3b55490d501b39b1edae118ff6793a153261584d3a5f39f6e682e3d17c8cd1261fa72\nOutput = f735fd55ba92592c3b52b8f9c4f69aaa1cbef8fe88add095595412467f9cf4ec0b896c59eda16210e7549c8abb10cdbc21a12ec9b6b5b8fd2f10399eb6\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 93ac9f0671ec29acbb444effc1a5741351d60fdb0e393fbf754acf0de49761a14841df7772e9bc82773966a1584c4d72baea00118f83f35cca6e537cbd4d811f5583b29783d8a6d94cd31be70d6f526c10ff09c6fa7ce069795a3fcd0511fd5fcb564bcc80ea9c78f38b80012539d8a4ddf6fe81e9cddb7f50dbbbbcc7e5d86097ccf4ec49189fb8bf318be6d5a0715d516b49af191258cd32dc833ce6eb4673c03a19bbace88cc54895f636cc0c1ec89096d11ce235a265ca1764232a689ae8\nOutput = 81b906605015a63aabe42ddf11e1978912f5404c7474b26dce3ed482bf961ecc818bf420c54659\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 81ebdd95054b0c822ef9ad7693f5a87adfb4b4c4ce70df2df84ed49c04da58ba5fc20a19e1a6e8b7a3900b22796dc4e869ee6b42792d15a8eceb56c09c69914e813cea8f6931e4b8ed6f421af298d595c97f4789c7caa612c7ef360984c21b93edc5401068b5af4c78a8771b984d53b8ea8adf2f6a7d4a0ba76c75e1dd9f658f20ded4a46071d46d7791b56803d8fea7f0b0f8e41ae3f09383a6f9585fe7753eaaffd2bf94563108beecc207bbb535f5fcc705f0dde9f708c62f49a9c90371d3\nOutput = fd326429df9b890e09b54b18b8f34f1e24\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = bcc35f94cde66cb1136625d625b94432a35b22f3d2fa11a613ff0fca5bd57f87b902ccdc1cd0aebcb0715ee869d1d1fe395f6793003f5eca465059c88660d446ff5f0818552022557e38c08a67ead991262254f10682975ec56397768537f4977af6d5f6aaceb7fb25dec5937230231fd8978af49119a29f29e424ab8272b47562792d5c94f774b8829d0b0d9f1a8c9eddf37574d5fa248eefa9c5271fc5ec2579c81bdd61b410fa61fe36e424221c113addb275664c801d34ca8c6351e4a858\nOutput = f1459b5f0c92f01a0f723a2e5662484d8f8c0a20fc29dad6acd43bb5f3effdf4e1b63e07fdfe6628d0d74ca19bf2d69e4a0abf86d293925a796772f8088e\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 232afbc927fa08c2f6a27b87d4a5cb09c07dc26fae73d73a90558839f4fd66d281b87ec734bce237ba166698ed829106a7de6942cd6cdce78fed8d2e4d81428e66490d036264cef92af941d3e35055fe3981e14d29cbb9a4f67473063baec79a1179f5a17c9c1832f2838fd7d5e59bb9659d56dce8", + "a019edef1bb3accc697cc6cc7a778f60a064c7f6f5d529c6210262e003de583e81e3167b89971fb8c0e15d44fffef89b53d8d64dd797d159b56d2b08ea5307ea12c241bd58d4ee278a1f2e\nOutput = 53e6e8c729d6f9c319dd317e74b0db8e4ccca25f3c8305746e137ac63a63ef3739e7b595abb96e8d55e54f7bd41ab433378ffb911d\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 438cc7dc08a68da249e42505f8573ba60e2c2773d5b290f4cf9dff718e842081c383e67024a0f29594ea987b9d25e4b738f285970d195abb3a8c8054e3d79d6b9c9a8327ba596f1259e27126674766907d8d582ff3a8476154929adb1e6d1235b2ccb4ec8f663ba9cc670a92bebd853c8dbf69c6436d016f61add836e94732450434207f9fd4c43dec2a12a958efa01efe2669899b5e604c255c55fb7166de5589e369597bb09168c06dd5db177e06a1740eb2d5c82faeca6d92fcee9931ba9f\nOutput = b6b28ea2198d0c1008bc64\n\nPrivateKey = RSA-OAEP-10\nType = RSA\nInput = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb020301000102820100056b04216fe5f354ac77250a4b6b0c8525a85c59b0bd80c56450a22d5f438e596a333aa875e291dd43f48cb88b9d5fc0d499f9fcd1c397f9afc070cd9e398c8d19e61db7c7410a6b2675dfbf5d345b804d201add502d5ce2dfcb091ce9997bbebe57306f383e4d588103f036f7e85d1934d152a323e4a8db451d6f4a5b1b0f102cc150e02feee2b88dea4ad4c1baccb24d84072d14e1d24a6771f7408ee30564fb86d4393a34bcf0b788501d193303f13a2284b001f0f649eaf79328d4ac5c430ab4414920a9460ed1b7bc40ec653e876d09abc509ae45b525190116a0c26101848298509c1c3bf3a483e7274054e15e97075036e989f60932807b5257751e7902818100ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce76902818100bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc386318302818100c73564571d00fb15d08a3de9957a50915d7126e9442dacf42bc82e862e5673ff6a008ed4d2e374617df89f17a160b43b7fda9cb6b6b74218609815f7d45ca263c159aa32d272d127faf4bc8ca2d77378e8aeb19b0ad7da3cb3de0ae7314980f62b6d4b0a875d1df03c1bae39ccd833ef6cd7e2d9528bf084d1f969e794e9f6c10281802658b37f6df9c1030be1db68117fa9d87e39ea2b693b7e6d3a2f70947413eec6142e18fb8dfcb6ac545d7c86a0ad48f8457170f0efb26bc48126c53efd1d16920198dc2a1107dc282db6a80cd3062360ba3fa13f70e4312ff1a6cd6b8fc4cd9c5c3db17c6d6a57212f73ae29f619327bad59b153858585ba4e28b60a62a45e490281806f38526b3925085534ef3e415a836ede8b86158a2c7cbfeccb0bd834304fec683ba8d4f479c433d43416e63269623cea100776d85aff401d3fff610ee65411ce3b1363d63a9709eede42647cea561493d54570a879c18682cd97710b96205ec31117d73b5f36223fadd6e8ba90dd7c0ee61d44e163251e20c7f66eb305117cb8\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 53ea5dc08cd260fb3b858567287fa91552c30b2febfba213f0ae87702d068d19bab07fe574523dfb42139d68c3c5afeee0bfe4cb7969cbf382b804d6e61396144e2d0e60741f8993c3014b58b9b1957a8babcd23af854f4c356fb1662aa72bfcc7e586559dc4280d160c126785a723ebeebeff71f11594440aaef87d10793a8774a239d4a04c87fe1467b9daf85208ec6c7255794a96cc29142f9a8bd418e3c1fd67344b0cd0829df3b2bec60253196293c6b34d3f75d32f213dd45c6273d505adf4cced1057cb758fc26aeefa441255ed4e64c199ee075e7f16646182fdb464739b68ab5daff0e63e9552016824f054bf4d3c8c90a97bb6b6553284eb429fcc\nOutput = 8bba6bf82a6c0f86d5f1756e97956870b08953b06b4eb205bc1694ee\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = a2b1a430a9d657e2fa1c2bb5ed43ffb25c05a308fe9093c01031795f5874400110828ae58fb9b581ce9dddd3e549ae04a0985459bde6c626594e7b05dc4278b2a1465c1368408823c85e96dc66c3a30983c639664fc4569a37fe21e5a195b5776eed2df8d8d361af686e750229bbd663f161868a50615e0c337bec0ca35fec0bb19c36eb2e0bbcc0582fa1d93aacdb061063f59f2ce1ee43605e5d89eca183d2acdfe9f81011022ad3b43a3dd417dac94b4e11ea81b192966e966b182082e71964607b4f8002f36299844a11f2ae0faeac2eae70f8f4f98088acdcd0ac556e9fccc511521908fad26f04c64201450305778758b0538bf8b5bb144a828e629795\nOutput = e6ad181f053b58a904f2457510373e57\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 9886c3e6764a8b9a84e84148ebd8c3b1aa8050381a78f668714c16d9cfd2a6edc56979c535d9dee3b44b85c18be8928992371711472216d95dda98d2ee8347c9b14dffdff84aa48d25ac06f7d7e65398ac967b1ce90925f67dce049b7f812db0742997a74d44fe81dbe0e7a3feaf2e5c40af888d550ddbbe3bc20657a29543f8fc2913b9bd1a61b2ab2256ec409bbd7dc0d17717ea25c43f42ed27df8738bf4afc6766ff7aff0859555ee283920f4c8a63c4a7340cbafddc339ecdb4b0515002f96c932b5b79167af699c0ad3fccfdf0f44e85a70262bf2e18fe34b850589975e867ff969d48eabf212271546cdc05a69ecb526e52870c836f307bd798780ede\nOutput = 510a2cf60e866fa2340553c94ea39fbc256311e83e94454b4124\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 6318e9fb5c0d05e5307e1683436e903293ac4642358aaa223d7163013aba87e2dfda8e60c6860e29a1e92686163ea0b9175f329ca3b131a1edd3a77759a8b97bad6a4f8f4396f28cf6f39ca58112e48160d6e203daa5856f3aca5ffed577af499408e3dfd233e3e604dbe34a9c4c9082de65527cac6331d29dc80e0508a0fa7122e7f329f6cca5cfa34d4d1da417805457e008bec549e478ff9e12a763c477d15bbb78f5b69bd57830fc2c4ed686d79bc72a95d85f88134c6b0afe56a8ccfbc855828bb339bd17909cf1d70de3335ae07039093e606d655365de6550b872cd6de1d440ee031b61945f629ad8a353b0d40939e96a3c450d2a8d5eee9f678093c8\nOutput = bcdd190da3b7d300df9a06e22caae2a75f10c91ff667b7c16bde8b53064a2649a94045c9\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 75290872ccfd4a4505660d651f56da6daa09ca1301d890632f6a992f3d565cee464afded40ed3b5be9356714ea5aa7655f4a1366c2f17c728f6f2c5a5d1f8e28429bc4e6f8f2cff8da8dc0e0a9808e45fd09ea2fa40cb2b6ce6ffff5c0e159d11b68d90a85f7b84e103b09e682666480c657505c0929259468a314786d74eab131573cf234bf57db7d9e66cc6748192e002dc0deea930585f0831fdcd9bc33d51f79ed2ffc16bcf4d59812fcebcaa3f9069b0e445686d644c25ccf63b456ee5fa6ffe96f19cdf751fed9eaf35957754dbf4bfea5216aa1844dc507cb2d080e722eba150308c2b5ff1193620f1766ecf4481bafb943bd292877f2136ca494aba0\nOutput = a7dd6c7dc24b46f9dd5f1e91ada4c3b3df947e877232a9\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2d207a73432a8fb4c03051b3f73b28a61764098dfa34c47a20995f8115aa6816679b557e82dbee584908c6e69782d7deb34dbd65af063d57fca76a5fd069492fd6068d9984d209350565a62e5c77f23038c12cb10c6634709b547c46f6b4a709bd85ca122d74465ef97762c29763e06dbc7a9e738c78bfca0102dc5e79d65b973f28240caab2e161a78b57d262457ed8195d53e3c7ae9da021883c6db7c24afdd2322eac972ad3c354c5fcef1e146c3a0290fb67adf007066e00428d2cec18ce58f9328698defef4b2eb5ec76918fde1c198cbb38b7afc67626a9aefec4322bfd90d2563481c9a221f78c8272c82d1b62ab914e1c69f6af6ef30ca5260db4a46\nOutput = eaf1a73a1b0c4609537de69cd9228bbcfb9a8ca8c6c3efaf056fe4a7f4634ed00b7c39ec6922d7b8ea2c04ebac\n\n\n# Single-shot signing tests.\n\nSignMessage = RSA-2048\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = RSA-2048\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111", + "d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = RSA-2048-SPKI\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = P-256\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 304502204c66004635c267394bd6857c1e0b53b22a2bab1ca7dff9d5c1b42143858b3ea7022100ae81228510e03cd49a8863d2ebd1c05fe0c87eacd1150433132b909994cd0dbd\n\n# Digest can't be omitted in many algorithms.\nSignMessage = RSA-2048\nInput = \"Hello world\"\nError = NO_DEFAULT_DIGEST\n\nVerifyMessage = RSA-2048\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\nError = NO_DEFAULT_DIGEST\n\n# Signing test vectors from RFC 8032.\nSignMessage = Ed25519\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nSignMessage = Ed25519-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nSignMessage = Ed25519-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nSignMessage = Ed25519-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nSignMessage = Ed25519-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\n# Signing with public keys is not allowed.\nSignMessage = Ed25519-SPKI\nInput = \"\"\nError = NOT_A_PRIVATE_KEY\n\n# Verify test vectors from RFC 8032. Test verifying with both the public and\n# private key.\nVerifyMessage = Ed25519\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nVerifyMessage = Ed25519-SPKI\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nVerifyMessage = Ed25519-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nVerifyMessage = Ed25519-SPKI-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nVerifyMessage = Ed25519-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nVerifyMessage = Ed25519-SPKI-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nVerifyMessage = Ed25519-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681", + "e30a6ac00a9704a188a03\n\nVerifyMessage = Ed25519-SPKI-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nVerifyMessage = Ed25519-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\nVerifyMessage = Ed25519-SPKI-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\n# Length is wrong.\nVerifyMessage = Ed25519-SPKI\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a10\nError = INVALID_SIGNATURE\n\n# Message is wrong.\nVerifyMessage = Ed25519-SPKI\nInput = \"Hello world\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\nError = INVALID_SIGNATURE\n\n# Ed25519 does not support configuring a digest.\nSignMessage = Ed25519\nInput = \"\"\nDigest = SHA256\nError = COMMAND_NOT_SUPPORTED\n\n# Ed25519 does not support signing a pre-hashed value.\nSign = Ed25519\nInput = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\nError = OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE\n\nVerify = Ed25519\nInput = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\nError = OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE\n\n\n# Derive tests.\n\nPrivateKey = ECDH-P256-Private\nType = EC\nInput = 3041020100301306072a8648ce3d020106082a8648ce3d0301070427302502010104207d7dc5f71eb29ddaf80d6214632eeae03d9058af1fb6d22ed80badb62bc1a534\n\nPublicKey = ECDH-P256-Peer\nType = EC\nInput = 3059301306072a8648ce3d020106082a8648ce3d03010703420004700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac\n\nDerive = ECDH-P256-Private\nDerivePeer = ECDH-P256-Peer\nOutput = 46fc62106420ff012e54a434fbdd2d25ccc5852060561e68040dd7778997bd7b\nSmallBufferTruncates\n\nPrivateKey = X25519-Private\nType = X25519\nInput = 302e020100300506032b656e04220420a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4\nExpectRawPrivate = a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4\n\nPublicKey = X25519-Peer\nType = X25519\nInput = 302a300506032b656e032100e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\nExpectRawPublic = e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\n\nPublicKey = X25519-SmallOrderPeer\nType = X25519\nExpectRawPublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nInput = 302a300506032b656e032100e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\n\nDerive = X25519-Private\nDerivePeer = X25519-Peer\nOutput = c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552\n\nDerive = X25519-Private\nDerivePeer = X25519-SmallOrderPeer\nError = INVALID_PEER_KEY\n", }; -static const size_t kLen38 = 2270; +static const size_t kLen38 = 1262; static const char *kData38[] = { - "# Test vectors from FIPS-197, Appendix C.\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 69c4e0d86a7b0430d8cdb78070b4c55a\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = dda97ca4864cdfe06eaf70a0ec0d7191\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 8ea2b7ca516745bfeafc49904b496089\n\n\n# Test vectors from\n# http://csrc.nist.gov/groups/ST/toolkit/documents/kms/key-wrap.pdf\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff0001020304050607\nCiphertext = 031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff0001020304050607\nCiphertext = a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f\nCiphertext = 28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21\n\n\n# Test vectors from https://tools.ietf.org/html/rfc5649#section-6\n\nMode = KeyWrapWithPadding\nKey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nPlaintext = c37b7e6492584340bed12207808941155068f738\nCiphertext = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a\n\nMode = KeyWrapWithPadding\nKey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nPlaintext = 466f7250617369\nCiphertext = afbeb0f07dfbf5419200f2ccb50bb24f\n", + "#\n# Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.\n#\n# Licensed under the OpenSSL license (the \"License\"). You may not use\n# this file except in compliance with the License. You can obtain a copy\n# in the file LICENSE in the source distribution or at\n# https://www.openssl.org/source/license.html\n\nPassword = \"\"\nSalt = \"\"\nN = 16\nr = 1\np = 1\nKey = 77d6576238657b203b19ca42c18a0497f16b4844e3074ae8dfdffa3fede21442fcd0069ded0948f8326a753a0fc81f17e8d3e0fb2e0d3628cf35e20c38d18906\n\nPassword = \"password\"\nSalt = \"NaCl\"\nN = 1024\nr = 8\np = 16\nKey = fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640\n\nPassword = \"pleaseletmein\"\nSalt = \"SodiumChloride\"\nN = 16384\nr = 8\np = 1\nKey = 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887\n\n# NB: this test requires more than 1GB of memory to run so it is disabled by\n# default. Uncomment it to run.\n# Password = \"pleaseletmein\"\n# Salt = \"SodiumChloride\"\n# N = 1048576\n# r = 8\n# p = 1\n# Key = 2101cb9b6a511aaeaddbbe09cf70f881ec568d574a2ffd4dabe5ee9820adaa478e56fd8f4ba5d09ffa1c6d927c40f4c337304049e8a952fbcbf45c6fa77a41a4\n# MaxMemory = 10000000000\n", }; -static const size_t kLen39 = 909405; +static const size_t kLen39 = 2270; static const char *kData39[] = { + "# Test vectors from FIPS-197, Appendix C.\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 69c4e0d86a7b0430d8cdb78070b4c55a\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = dda97ca4864cdfe06eaf70a0ec0d7191\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 8ea2b7ca516745bfeafc49904b496089\n\n\n# Test vectors from\n# http://csrc.nist.gov/groups/ST/toolkit/documents/kms/key-wrap.pdf\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff0001020304050607\nCiphertext = 031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff0001020304050607\nCiphertext = a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f\nCiphertext = 28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21\n\n\n# Test vectors from https://tools.ietf.org/html/rfc5649#section-6\n\nMode = KeyWrapWithPadding\nKey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nPlaintext = c37b7e6492584340bed12207808941155068f738\nCiphertext = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a\n\nMode = KeyWrapWithPadding\nKey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nPlaintext = 466f7250617369\nCiphertext = afbeb0f07dfbf5419200f2ccb50bb24f\n", +}; +static const size_t kLen40 = 916997; + +static const char *kData40[] = { "# Sum tests.\n#\n# These test vectors satisfy A + B = Sum.\n\nSum = 0\nA = 0\nB = 0\n\nSum = c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nA = c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nB = 0\n\nSum = -c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nA = -c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nB = 0\n\nSum = 0\nA = c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nB = -c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\n\nSum = c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 23f85668bf4d0fa273d8c7f63c5fee57811062a674111e295a73a58e08dd0fd58eda1f473960559d5b96d1862164e96efded31f756df3f57c\n\nSum = c590e57ee64fceccd54e0bdc52476a756d32e794922dca0acc780d2c6af8852351102b40dfb97009f95e019a5bf38e5d127aa78bc34425edf96f763084a8b09f\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -4b5b16252ba2355e0b87f01baa721783c403607a4c1b5652c09a68e96926c8e314fa580bf0ad3f8f59bd70f14df86a4676661899b54c79a62\n\nSum = -c590e57ee64fcec882fef3ffd015a3fd9024d8f5f6d53eb537d6abdb0ff5e76a8fb08d5feed113fc9e74745d957adf32704a08339ba42efd5746c5d478e3f57b\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 908007a2f3c551c58958d1059427a0391d4d768f61cb802e4cb062c778354ea3eaa8f0dfbd14ca8203e07ae6d07269b58088a39f7608c5586\n\nSum = -c590e57ee64fceeb242f8a0893eaa0d2ccc3dc57ec40fe917cfde66618fba678ce0c8fffc566d4e8c7944d6443def8014fe8ee410a1b8dfd06cb0b436619e0dd\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1999301bd9877fe07ca711f308b2f1bc4a704fd194ec4dbc297355d6285340d6ad7e90cb0add1770aea19737a06750c3a7a6fa0b778ca995dc\n\nSum = c590e57ee64fcef321395bba088ca0a867e1e85a1ea77478f8783e6a6cf8f3e582bff83cb2d7d9fd549fcbb40dea22ac140351007030059500bdca81413600e9\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 219639ed8afc21e052422fff0ae5583231ebca2999404b099628093e6540b1dbc20b9c495aa7229b5965b19a5fcd653b3fa0eccab567c5b5e8\n\nSum = c590e57ee64fce834a00cc6282cb0eef49eac7a8d5b51988cb49253ed85ae261c76f2327a691fc63eceab02614807048b2816cdb9b89ca66a17b6ed1abdab580\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -4e40fea1cc899fb166dbc721a6639a28be4164ef92545307ed934796afcb9401d75c18d23352471709fbd049c50740ffeebe5590fa2d959581\n\nSum = -c590e57ee64fce1a17609c61ce02f1020c6eb6e241e3fdd01546ce7247725589de32db95f36718d410f9ce9a94fecc8fb205e876fde75ce83f4d01e1bd5d818d\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = b7739ed1cd3e67cf541943326cf76b4476f767465ee53b94c57c83de417ebee5673809b3bed1c8bac2fc4bce29a4e36d6d2083fdea1c12c974\n\nSum = -c590e57ee64fd03e2d08c3d8e5110d08e3d36557d82e0e49b408337a8c9d4298802ae5f0145a9587531a70d2f8af932b8262245428b5c549817d333f2dfaeeec\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -16ca20955a9d8a64cb2be217c089edecc02a75a1ea95fef584925742c18a234974c0a16ee7991e80bd8d4106db385eafaf421ac3373548aa3eb\n\nSum = c590e57ee64fd1bcac71b5b055e5934ba15dd7f56370063369c36e57a6b753269e085d0f4d38bfb711d5579dd1d89d07f266e727b232a497d5b0d9bfbc02d8a5\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 2eb21724781497ad2f57babeea62a20c3ec5d1559867a0968d74351a337db12c17bc8d1d5446b1115b5441530870f67da4275dfd9f3e2928da4\n\nSum = c590e57ee64fc7860b0be6ce861bc2f099db7fb623912b7b0729c019a8183c669c73efe02b195483a4cd2c78244cd59678ac4d62f6887fe686a3eed37ed460ff\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -74b7ff38760864efd658bd6699915be16cc058454b78495ade8be42c9f7470ca9b7a43655e1427ab1bc35a5693dac424a6ed92d10f85a9bea02\n\nSum = -c590e57ee64fc3126776e79d9fca06233bd2ef5570a65e4521183627bdbdbc555e9118508cf63f519bc0caedbffd5b1a913ee8c3603804820a9ce54b1207bdef\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = bbf238886916ca0ba32e9def9f9c8a8e401eb95dea96ef02df9fc25a186e52fbee9ad42b76ba6ca2c381d12cddd4292c5d355341a80c7688d12\n\nSum = -c590e57ee64fe6dfd728dfbe45aee52380b5a00cf1e05e9f09ac582e2714bb589caf2ad038111c5b1b5573a45706ab1f6fd5d5a1ee7ef4a9bf186dca8a9ede12\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -180e4c29718f394424cd5b03b6bdb8911c57fcfe435cfa66d10941f870f8c5eb1e1fd251f14af03f23ccc1841f014bb42a545f476dfeb12e9311\n\nSum = c590e57ee65004b3e18a5820de4a6d25e7c3d310003e0b8716bbfd51d5f0f3e87fdf8e00599d713397255281e66ef419a9d9bb228e8f052764f5f861ccca656f\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 35e2568ae9f1d1dfaccfc211e9c0c6eec9400a0de880a94309992528d428e77772f84e21d0287fa76cc6fb880481ebc43ad20524f895f35a1a6e\n\nSum = c590e57ee64f84896a5f11f575d34b6001f27d4b4d6e7cd9485260629f8f7f1c6ca6f6115b98d776774295dde4d59cdbbceccad097a0a054b501bfb47d81e85c\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -4a4820a05c39969774f623bf6c03ebe0c56dc45bb46e8d1e6b32ee0fc3c6168d26c4d1c0ec7b81f1ea76f164ebd00b2a2a00aacf40175bee62a5\n\nSum = -c590e57ee64edf1b2b57b4cbb92d778ea6b9d9878a0374d4ea81691b09811b105bb6dbf23a57d89264f0e6c83f8d00fe00681644feed56e15fc81103ab9b7dd6\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = efb65fa7b963533d48c77ef80fc7af4bcd72222cabb6232ccf3efeffdde537ce25a8e4129b91273a8654ade9a05ba3dd73740008eec82dd4cd2b\n\nSum = -c590e57ee650e25da7b60146e014f472bfff9809aa8f519db7943f69d9ad09ee75a3427c6127cce7bd27f224b9dec03111fb066956b4903f9f9740cce1aa4ba7\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1138c1cb69317d3aa341c9a4daeba71400f56aae62a98acff1f9f1aec88a4ef01ceac74246fcb531738de63a94fc8b3e9c5ea3fc64101083a00a6\n\nSum = c590e57ee653af8752322840ed720f628f9674c81073b58372e49ef26d4a2a9d46a0391bc170336614b27849de98709a4b321da4ddfb978e9f10df29154edb9f\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 3e0b5c732ba11e1074f0c69e48b78d724733c66368a21409c404debe97f444f4a352acbaef5f077d0e9479ce067043b30cd393f3fdf5d3bde909e\n\nSum = c590e57ee64bc13634cbd149aae35ee47bde6ea3663f74ff300cfdb2d845f902f017586c6d4f83f08c3b4f0c035055d13fc9d340b7b9ed164432aed44e8f4d7c\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -40d9b56339ce561876171a9d37aabd30fcd47dca1171e5467f14c6a9f616b04d67a4abcc8334d637731816e87e35feb10dd3f1b9e50f78ae0fd85\n\nSum = -c590e57ee6477eb692705f8da1357e71591336907a5e0a6e39715088d53b2610882765357563fd101bcf05ca545a0c718f52879fdf4f80cb9a12cf108eca60ed\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0f", "fcbd9704b01\nB = 8501af88f0ea16b3541e4cc9eb2bebef137d8d33cc4485772c43ed28f54a1fcc2012b2d347c8f126d7ae11eff2f00c37b4989c5be30bb4aa5ea14\n\nSum = -c590e57ee669b662e37f5abf13d00d2f0c1c9a8b99ec546361aad255f375bc2742a3487c351c5ba00efef09c77331577460a47c57125c620b643e9eaf36a146b\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -19e791587fec9007654cd8e66ab13c609d121c54fcbd84c6c7d1d7e7ec8ea4c2f65d64c5fb6e43106b8e2497b89124ce5afbcb5672ea1f19f9c96a\n\nSum = c590e57ee681dcbf1554f22c0b1ffead917dd414299cb37ce6967ffec9c333931e70358729843c8130ac95aba47fa1fa5da74000eff25eecae176f093a4effca\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 320ded8a5583fcfeb53e576bcbeac4f04d7135d9e86b2d9d154943c3b97bafb75e3e45e7a913523db81aa7af5589604d2794974e466f3d60deb4c9\n\nSum = c590e57ee5e505ae4a2e1f25a1ae9b7b4d17dd2cccc09f2416d964e55af6d0d31fe259c160f87646a72e6732d5110256b3b35425225d622b81418435c9dd8cc4\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -6ac92340d14f096abc24dad89a0c226c8ea322f5d4afebd1b7197c3ad46016112d87f4a1d51b2691b684fbfa9e627b806d6829de8f7b960f92be3d\n\nSum = -c590e57ee58c3ef1582bf7a516e36f92b60f5a587e2c8cb071d1d52ff215854e52de1519fd5204fa52292dfdc397d8d76b78005941358b63a3e6ca41b0eb09b7\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = c38fe032d37689f58750c36fa28ef6bb22b5969adc3fa13a98650107d8a4bd74d3f940f6da545ba32fae7b42d9b64761953ef1bbea358a2885414a\n\nSum = -c590e57ee80262967da4038a143f8ff2e78646108f25ff7183444ba507d76f9b05a34c8310e682c05495d0863ceff264964dbfa7c064adf6d26d2dca6e22ab13\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1b293c4f2a4955b07d4cf9cc1d45cc155d6bd2a769636d3db29854baaec92ab9ec084850b924e2cd6286b11e7fc09071d99e3a1729c2dfe94b26012\n\nSum = c590e57ee85427f08e8c89ffebfcc05c73370ad4cb77696c2b2f3878e6f6df341d4d931b5097aba49f14ac0312e7da1c843d6fd08119822e75e6e7a8c7bcb7b0\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 204591f038d1bd0df9200064d852185922827251e8123a7ba48f4e4c296d943de71ad69561129a9ac2052c9d5ebb92fde4eb7d91615e7dcee4c6caf\n\nSum = c590e57ee051ca1a363c47a4cc016c3de7f7e17985009b545528289e9fbc9086f4b42a73826eca0c278b0d1b4ef6d74b9a0bfcb7855d40fdb201fbad1074b927\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -5fe04b754c3268a406954183dba07d5b44ea6f2b785ec328cf159c866028f63efb7342f2178753e17d0b0071445b9e91d6d8957adcf041ec8fb91da\n\nSum = -c590e57edcd6e9ef06fe33f3817ba3d0c50c8122b77615c4b8fa50c5514f113d7ba53ce057d487bcbc373c4384d07b29a527b7ef785ca609474879b42a9a4c3a\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 978e4e284013a3b8aef1c8560a5682c81d92c8253b3c40bdb5ed911df117cf71a51767e8ccc4615e1f70c290929feb12a6e244c18888617aed5fec7\n\nSum = -c590e57f0436bdceb586a093522eb1630e0fc08f8790957aba1875a42b7676f9ca936e8f6f3478d6ef5cd590bf6ded0700440dcd769496822af8015f0a6ba2b6\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1de6eefd2a87326445c3f10ce85dd7404e415333ad6a60d2fec88caa6fdcb4b7fd0e7a9ba659533758a665b451f2572cd3c9cc2ccb27019330fb57b5\n\nSum = c590e57f1df3f004d5e49f49fa28603b26659f1fd35e0d8d7a2753591dbc12c51e6b588427dbe3faba2f0c1f2f0a2aea9ba1fcb2fe71c6ff40555058d23c8661\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 37a421334ae5311aedbd9fe500b3b5d09a0ecb466d793e87f10e2875c3b49eacb5b5e5bf712b89c5c842a397ed5046125ba6fca9e084508cf8cc3b60\n\nSum = c590e57e9a4abf4572fa7c4c9f73e9d3fd1227646fd6d15b51924bd7a5d417b01fe6b4273eaa6ece387422b81c8116f29702d7d66d2f6e8c3454807b3b7d413c\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -4c050f8c1804f1e26cf6d682289fc1eac97870ebbb1bc8f986d9d29f3ad005b0337b8f6d108f5fa14a467060174edeca359b5bc92b7c7f509df309c5\n\nSum = -c590e57e64216c306f17017ac9dd7085113e16c83168664dbb77c7ad3ddfc79b09f9ea0c474a0b497ca15e7fb258eed9666fd009f691a3b2d691c2c6b22ba3b3\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 822e62a11be86cb4428d4fd11473d28707e6dbf951364d23eece22b450bccfcb2adbf2f1cc6223d9b46e987947e1e696ac3926a2893f3d052744a74e\n\nSum = -c590e5806ab4d09773c4f94a4aac09f6ed7609eec1d0bafecb09e30f032f706e9adadc191ff9e6d7dccc821f7a8666a590e521749d24912c5a5ffeff246f7c85\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1846501c5e8c58b1b3e4149a0c7c4209f888178b7be5bce3dd681861f40242241add3e89c93c8ffc613bedf52e2936ad3fa59c6d6fa8eff334aff3184\n\nSum = c590e58248cbf5dd61ec57994fc862ab479dc6cda51cc17356c45cef66bbfdd12f5cc421940a561581c123fb17483beb7a1cce2596fa9ca76e722a6f4621eae9\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 3627c270bd6ece96a435da25521ebdd7e6bcd7f2c4a16481e3a0e1381d4a60a4a21e457da38bda1a1b080b498cbcb1784f42fd2520ea12aa36cb19fe8\n\nSum = c590e5771a85bdb1f26c0386ce837bec4b0af5656496efdf4f134d875f066dd6d477ca8f87ffb275da07da4dd1bed4232849a526836b47f2d69f2d53b6b3e2f1\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -7cbca111f98936aa83de74469daa6f3e9d4b85267bd9ac749cda77c78863eef47ea264bc56efba80b9508b32f8608117a1f5f82628931d27822bc6810\n\nSum = -c590e571c76afad23439f904e8a80fc28dcabb6cb732e361ed3eef471be6fa755e3fe746edbfe448c1f289ffed7dfc01fe9066d780564f57f93abbca9b9a995a\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = d1ee4d3ff56c5752a23c2b09397e72de2821c5ee51f6f258a10c6efd9fc76d290846619f28710f85979498b50afc14fc922747afd669644013dd5b1a7\n\nSum = -c590e598cd5d4a59ff5d6c97c6370fb517f1d492a7776f90063b0ddd6702e37c60fc78bb12857911cea37b7263584d7dc815676de6b8880200acea154b59b08b\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -19e70d7b88745dfe68b9cc4f5ef23feb436e282d48f98cf90c3a54f92d0645bee3a05f7ad6859ff918fc90c62b19c3b0cd43edbdaca0dbea4971e9658a\n\nSum = c590e5b5829e6fceb77830fbe999a98127b50302fd0f6a86ea4aea27b846747a07e6fcf5457676e6446137d6bdd8ff4fb7ca747b650b066d65d7dc1e172488e7\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 369c4ea0fd2c78c2ccdd2ee92b020319b3c3c0283fdd9cd5568b988a2aad30431dd35078aafb5db57d571177fd0978bddac2403c180606dc523db43de6\n\nSum = c590e52a3ab5d5c458634254e2f672a322000750741e969d2f6cd12d172480ad1455300e3a0575b068b85d50b58f9737be13073188d0f03b71494bd0fd2fea16\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -54ab99f90d329c2bda29744db303b1e1fec530aba9dd4143a4158969a2466189c93820888ae04b2508b137f01af03eaf6f19f9da19ee87b3fadc4060eb\n\nSum = -c590e4880579ef7241bde94e8c7847badc705f53828751f9975f0e66371d2ddff8740b143f32e88be8e686e2bf5a3ce03d864d7699a813b1777b9239af242c7d\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = f6e0d5df5f494184e07ff2789b494189fbb6c7f04d754f066af590bc6f6242aec332f315af601cfb76a76d4a7270cb692a0922b6a3e8556d922a4c1e84\n\nSum = -c590e6dbe54098694155509e38c61d503ab7e5237d2cdfc2b87fb57e3a8420fe37fe50a0dad4f0eae3d38fad6198e4ecaeae183a12078f53d09ac8099c715242\nA = -c590e5", "7ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -15cfef0c997b655e26f2c5b5cfa1505fbd443dd9d7babd1a0ad0dd636aedd4796c968aef2af9ad00d53fad15d9a005c61996f3cc4fe70c9c83dc3010741\n\nSum = c590e906254d013be2021ad591e76e26706a6815b8c484b6528fec65416e1066957002713e1183f1005f565983aad7aa031e549e6fc57094ca3e4383e7fdbc15\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 3873efd326a5702aca6857cadd04ab87ec67f75426f45e1d79414c026173ab94899cbeb85b5b75bd4001ce3505754cc9dfdccfaa63f6a6d43b80e8d7114\n\nSum = c590e0e0079190d7afd80acd6326fe93cc00903318608df31ee4493d11271dac7291bd142cca0e5dd7dda59dabd460a69b7855d9c2acb5f062de76665e07cbd7\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -49edebe3df9db276361a943c1c259b1591c20eeb453edc9cb941b86cca2e824fcc3455befdd7125dcbbbaf326ac12d960c6e01e1464fcf289657b687f2a\n\nSum = -c590d9ae456d66c1b132d844eb223867ba4560b36f53c42a616cf8cc657e6d252f813847fb9fc50127227684e5c0f5cd890eceb341d21e788e42f843e9b64080\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = bd0a0e2680fd9cc95ea214887ee6b6c889bc9fb7e1cab411c04c72f7d2a2b35818f7686393a21e10bd4810691852542e7ed60f8abdcd18e0787efba0a81\n\nSum = -c5910498291472fe1d0047d5bdd9e46deb3f26000e943fce8d83d700d9ae233ab3a28849bbb346803da142db6a471e9f79cd49571f40dbc46f7b727a4bb3016a\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1f1942c4a42c9200d9a6b16f2417c58d3cb0d544fd8780d5c22fad0038eb58ebce72498d4844f49dc082037f974ccb7b92b67c76116f0faa72ae7242b669\n\nSum = c59112d841ea109440e78563d9eefef201c81e86ae967083f8b7db80d1eaf58551d30519ca6dd79164fe69a29cf1ba22446cb2999f73292241005bf17b37528e\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 2d595b9a41c2b5e81734cd843e9bdc16353775472e3cec09c6afa53d0b35f71c4b425847d9561bfae749362a32cf961afbf8fca85ecce12f5c25a1c7078d\n\nSum = c590671f890ca06c74ac6d2c4d75aabeaaa55312e85a5e1ea9cef0e08e154e2b090eaba869e9f6e4a47ae10b9c1eb0f6ae4fb3ef12b3121d96066c6c8e592b6e\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -7e5f5d432e6516530102bef515977b0c963c50f4e42862df23f09e989c2451a80e2f083c0756a488a14dcaa8d65c000202b19017b837c9ca935f4b171f93\n\nSum = -c58ff0ae92ab03072154949a7143d45278ef77a0ba71a785d5a370e0d30a9b4b4f7e96a395d13e6afeebbd717365d471ee56ba11c472a63c0532558104bedfc5\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = f4d053a4cbca69aad9949b26ec03acc271ae7edd9ac1370aa3f059a34f040b382333dc54bfd04a17c4e7f361b2e0bffafc8ede5824195a9eaa4ad4b16b3c\n\nSum = -c5927a5fcc3b31abeca3998ad99c07626112288a6ad95b24929fed581040757fdce73881c48b02daf09986ea436a3f5ceb6833c31fa2e1691567601a26c7a6c9\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -194e0e5eb62da61a42b5bcd31470c3b603f3b318a18dd85f1d886e3928b3082307eaa5265049fa7960490dca2b80a3d167d227cd81713b596604e4d575bc8\n\nSum = c59395e94d495451e3fea153f3e4361a088004a7d5426c1b94aec44108ad6f5cecc3a80dda0cea9f51b882747258137e171bf021b4fc59f4dcf0106d4ba952fa\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 2b06a66f9858058ff3324e77975c3e2ce1b589bf329d48800af6fdbff850d920cee3667e6ec6408b5001b0b908c2b68ca398112318f9f7d1f10a1723907f9\n\nSum = c58bdb26c0fd6766f3affea389cbe7db25c06d5d56356d3d945347775bddf479ffc9e279e7d1ee88eddb239906749815ae4502fbbc6fe978a001ccdafd89cb10\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -50a582552676a974f6f8b829ed87afff17bf1e319d509785acd59d0cff5d55aecd75d8a540fb25b285ec06052ef3d000cb3a4e65ae0dcbfcf32f0dbe67ff1\n\nSum = -c581afe9b7ae86d4b7053f19649beea6cb935799a553f035f9b9a7fba6d5559e4ecdcd1637c73c8052c6cc52ee1c28d1e5aed9db7261b7356afd6e3dbc213684\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = f35952ea147fcd3fa2f15a7ced1af5a1e91b593fb521112f46cd585d894b10be8ecc13a5ec1baf63cb60678ab5e80c8a2dcc53069131ff4d3918e1d4f147d\n\nSum = -c5a19f36a65a6a8d52a53a63f99a1b957d6e376b7010ad14695d78d67b0d7c86881006188bd27bbf205c8c9c200dc8f5c08ab6b97dcd512f6cb93ed9a361ff9f\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -10b9b7c00a9bbbc7a5cc34ed2f5b3f57bc4e1c36c16acd5caf64054e5f92372d594c4119ac7d83d7590a42b94641a312390018db0286da0ce83f0dc9f1b49e\n\nSum = c5cd0e5da24b67a894402b0eee5dd586ab70e5beb0693e263a54995193663a9b770141379c1f097a49d1a889bbf0c348c6f40ed50bd7bdc11a7869c6106c6d80\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 3c28debbfb98d70940bcdfe1f3153085befc6f7719fbdf2da6848066b8504c1c4a876029f90b3f00ce263055293bf618a25834690cf36bbaa769fa36fc227f\n\nSum = c54e2c560a00226701b76cf03d5de27a8c69b38a6b85dad9f7c903d2e87f9a7d247522e72491460f6a529e5ca2aaaf690cb238b873ffb49d9fb0ecacfedd4e90\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -42b928dc4fac6a8948013ecf0cdddb994835c4cdc9676d14e510fe442e4fd2364196f04d94b82bdeb0e3fcc41cd7e9a19f7de82ecb15b7c020131eda92fc71\n\nSum = -c4bfb037f6e6e861efb090ee610c33e7568790259f747dc6e55d442aadd68c0cc93c7617f83980e8813c0fb7dd28c8aaca6ad8fdde5d2bfec9ae096faa9ef54e\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = d13546ef68e66f9b4edd40ab5e8c6ecf2a592999dac4802750d0a67ed75e42917a43bf79ec7d52c7c772a1899ebea7e3e6dda2c46d9e569622f65c2ed155b3\n\nSum = -c6aa2af8c9ae8be4aada83f66b7f31a8bce5e92c67d8938424a1405903e5502bffc4ee1e333da4bcfd0cb383b19a566372f877a8344b66dbceabc9786dd0e4f2\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1194579e35ebd131fdb15c75f1471529733ffdd2e89513d17f32b87d73765dca50e3446c117a681b409312a4ad2cf10c4a6c10791809c866edac9ac946099f1\n\nSum = c8aff66c9bdaa49eafac0f65d3ddff223b7a5471f7400431ca3a54615d600fc4a163f8fb648bddb5fd6915db1991611805040e0f86f152c8fd3333ef70d632e4\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 31f10edb58ad5cd24aca136c7733ecc15c86b22bdf0c1eabd8c3f9030b2257546ad3f23f265df7ab4659381b2c9d9c556b2576ee42688739d6234239765e7e3\n\nSum = be1b6eb768e2cef388eebe31f9b21e51b38b351cc8175eba06d49eef04c2936f32167174dcb82297fd4180d0afb5da2c455d158c7a5bf01bdef8c295a4f20390\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -77576c77d6cffde0210affd12b8a2047226b4327137e38d05d975e227eb56e028a04862956ddba34bc20188b711ad2668f4a114286eda3980d83d36347e4771\n\nSum = -ba32fca1d5cc5f31ecaf5407f376d3aef9f4abc04fd4c6893721d3e50e9141abf356eb2ff6f7a4f9b42983148670d2918e1dff7aa7ae33a6e9dadcb708b4f9dc\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = b5de8dd10836f9f9e501a2718f3eca72bbd3d8ee97a7bbdd58c40ec1e1ca8a3675fcea77b2e594194d9ff44e056b4c12033b725fb1c96ae75f62314d0bb5125\n\nSum = -e388afbf17c495f86aa7298a45f848eb57e5baaee42b1f7de8c2311bfbb8f74549712c05fd3bd11ab8874fb55abb22a37ba3512e733ecd5c472842e8e6f7b179\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1df7ca403174c726dfa7bb5b398d88953233d15faadbdd36dc141c", @@ -2614,17 +2694,24 @@ static const char *kData39[] = { " 81dd561d5d5327fc5ed7c9236b5fb21ef713c6d5e36264ba65ccc801b8eb107b714aad65bb503bb1f4721c0a6f97e5ab89300f049f42a4616ae43d29c089c286687484d18629c1be1b5befbdd0b3cfc86b1d28add89df4cc5e68dac3f56f2490a9068ca9c634ec258c030ec5023baa9133fd2af32fd1112895f9da549d410247\n\nModExp = 1\nA = 9dd1e6f2d3ff24096b54e0ebf0f10e283e484a1cbafc0431adda1296ed97692f3ba99440fd4f67c96dd8bab850e1123361c99362df9ea205ff8e90d1b329459f54730992d5a360e46fcc5f5a909e691abb9a06613d6991bd7c2aa609f0d7b441d7ded0c07b8c394327672d38a905efb2d76aa3be5bb14d0c002aa37e287aee79\nE = 0\nM = fda6f9d8588e3614f5a68ce867a5619f6ddbb8d64450ff402e1c4f1a08b518f79dca21e5983c207c5b7324c16895a1e9f1282fc6cf60b0645f6b02b652ed5b129e67c939e854ab492dec30ea878c3edde10a4b7d1d14c57100c6cbcc5fc085a0d7308715ed132fb917251919c727487fedb66500d5610b0014a43419acfbb92f\n\nModExp = 0\nA = 0\nE = 8622c37631e428402343dccf8ed09d47b3f4201e95058910289a62707c3ce0b7113c390056cc4796cc9893e471b12cb3f63f900f3356ffd25c8b2fed6f6a7fba2c684eb241ca706c76cecbf72473d8a58c02338e40714b5610465cc319f0a529a7aa3898d9e638b247abd1380c6e8f7fa210c9f1a1a2164db6db83a6bba79436\nM = fda6f9d8588e3614f5a68ce867a5619f6ddbb8d64450ff402e1c4f1a08b518f79dca21e5983c207c5b7324c16895a1e9f1282fc6cf60b0645f6b02b652ed5b129e67c939e854ab492dec30ea878c3edde10a4b7d1d14c57100c6cbcc5fc085a0d7308715ed132fb917251919c727487fedb66500d5610b0014a43419acfbb92f\n\nModExp = 86fb0b8dc161c41de2adb0f3ddcc8ad49c1efd729a52793a3ac987d4011c9c1dadb18657dca718df75c8ddcc49d60f152c46ab85ae9076ee7bfd405679a7da3a5195a1bbfd7d2b998c7b135ea91f8c445cbafe1276fa502c2a85477716829a2e0d24ba02623405a3654bed8f355bc7ccdb67c3f9a01e249e358b60d7699498a9\nA = 816610e6018ca47074d55750dd16a281019dbf95dc752605794cbb8ea8d75775317ce685737859728320b529fb3b4414b40bf3a93d08d8994a21ae54682cc1c357eb529837a7b0129a0843eebd9341c9bee3a8ae30475bdbff517e885a0c9f2b6a680643bd981efb53bf9dd49f3dc3cb757e117895fb34b1b4336d9bf8384558\nE = 8622c37631e428402343dccf8ed09d47b3f4201e95058910289a62707c3ce0b7113c390056cc4796cc9893e471b12cb3f63f900f3356ffd25c8b2fed6f6a7fba2c684eb241ca706c76cecbf72473d8a58c02338e40714b5610465cc319f0a529a7aa3898d9e638b247abd1380c6e8f7fa210c9f1a1a2164db6db83a6bba79436\nM = fda6f9d8588e3614f5a68ce867a5619f6ddbb8d64450ff402e1c4f1a08b518f79dca21e5983c207c5b7324c16895a1e9f1282fc6cf60b0645f6b02b652ed5b129e67c939e854ab492dec30ea878c3edde10a4b7d1d14c57100c6cbcc5fc085a0d7308715ed132fb917251919c727487fedb66500d5610b0014a43419acfbb92f\n\nModExp = 1\nA = 9edfce4691f46eadaa2043c7b1092b831ed50f3429f0bca02f985c0b77c686d951be84d772ae4b55f08935bed6e3206c8441574f215736b5c1c1b7595b3b789b55cf56db83741b10144d6767ba2b97b23a5e83504c60e06ab22834b0145655aa0463108317a379cbfc8a93de8a66925a999b8b02bf88dd85fb9898cefe9c95c8\nE = 0\nM = dcb68f6aa530ae9b31d078e2e82670adcc98228e7cf1aa59f81e66426ef14b1591b833d889463564c75b5fd5551ea295a0da581dd80f62c7008ff0f26a1c9f4f756431d48198af157149be8698336b306b0a8b8635d3fc2c4c2194ecc4d2af31ca1892917cc2e621d702eaaeed0d9a0c3dca575451eb8bc5487e313988cae745\n\nModExp = 0\nA = 0\nE = a3be10ef04535fca6784e5dbf3733d677dedd50fabbc3a860496628950b4747a328c2ce0d903cbe1e700f0af30f59fb917202257815097a2b516df5d0a82642faeffdfc3b7883766c78fc4be5901ebef891a9ca27f3bcf00960729e659bb3fddd54a19ce628e95ab86e4c7a168588bc9f67b05dd21a583acd8dc36e615945648\nM = dcb68f6aa530ae9b31d078e2e82670adcc98228e7cf1aa59f81e66426ef14b1591b833d889463564c75b5fd5551ea295a0da581dd80f62c7008ff0f26a1c9f4f756431d48198af157149be8698336b306b0a8b8635d3fc2c4c2194ecc4d2af31ca1892917cc2e621d702eaaeed0d9a0c3dca575451eb8bc5487e313988cae745\n\nModExp = 442866609915aa6f1bae9dfb59e721e1b63f42c0f75fbf0a88344120fbbd7aacf15208fb7c9d8bb8477d553cbd826d7e685ad764a8423e81c2131c040ee83a03cab8d5ce50866a941b48c78e9f1330794d908562d4141cfbf26e8c80c69551339eec41e37e2b37b54330f7bd75748f8d26d56ab9eb3b0c127540484c6445a7fa\nA = 8ff65e2cbcbcd8697cc3ce9a26855d6422ac7eb4e66500648c08be697e005cc3c854a54cfab91d43489cd60be8b516a9b3c9688e5e009a1689c6b164a133859a5464ef422c86344fef42cc477c9df27768377c126a066d1b62f593b7f6d6e906feaee16addb7cfbfc043d741b7dc81a87c17f167b7b8ef1b1fb3dfd1eb14102d\nE = a3be10ef04535fca6784e5dbf3733d677dedd50fabbc3a860496628950b4747a328c2ce0d903cbe1e700f0af30f59fb917202257815097a2b516df5d0a82642faeffdfc3b7883766c78fc4be5901ebef891a9ca27f3bcf00960729e659bb3fddd54a19ce628e95ab86e4c7a168588bc9f67b05dd21a583acd8dc36e615945648\nM = dcb68f6aa530ae9b31d078e2e82670adcc98228e7cf1aa59f81e66426ef14b1591b833d889463564c75b5fd5551ea295a0da581dd80f62c7008ff0f26a1c9f4f756431d48198af157149be8698336b306b0a8b8635d3fc2c4c2194ecc4d2af31ca1892917cc2e621d702eaaeed0d9a0c3dca575451eb8bc5487e313988cae745\n\nModExp = 1\nA = fe9f77f7d0475e00ec964c0effb9b8e079c32e376ce77a9c40ce4018c3df44a77b4f294d9565502b2b79accb30cb58dda6d15e1543b6d4a53296543ed11c7f51baab60283ef03fae37dfeacb431392487ec2839551a933895c4dbf18844f7b375d3e6f558d3c39993cea1bbf7fb743a6a07bd3753c03eb7298811476d7f3ff1d\nE = 0\nM = e7a96cf6fa930f73c8bdc2726bbba246001a9d27f39cc2b978c99dc6f15af0e8aaf26b565302f1112e607e2df4066948baba931b89cd9bbdea2072e05b9a4968fdf282c43d997987c3a3a0434e925a679ac81f316b7a7b724b79be3d6888b66f4512759bf66cfaaa88b9513dd27a44aaea75437268a014c4eb50ba2e50093511\n\nModExp = 0\nA = 0\nE = a0bc148ed50a9b54036bb8fa1f214979052ebd47db8b347af3bb03b806bb457b468ba34781f8a25f289a7a90af4903dc14809a166df2f4c3527de2ea6911cb1afb9071a4afbb522a7d50634d66fd584c73f32d05217dc9f7f16394c68a692a953492ca85f89cc11da95fd8cac6231647923ced48a1b3b0ee68c010286d452836\nM = e7a96cf6fa930f73c8bdc2726bbba246001a9d27f39cc2b978c99dc6f15af0e8aaf26b565302f1112e607e2df4066948baba931b89cd9bbdea2072e05b9a4968fdf282c43d997987c3a3a0434e925a679ac81f316b7a7b724b79be3d6888b66f4512759bf66cfaaa88b9513dd27a44aaea75437268a014c4eb50ba2e50093511\n\nModExp = 91fd879d02f95a9f40fcd1037726f73892caf84e9b43b4aa4126d9062a0d22c464e7af2fbd91aa849612d99d9519b724a7fb1cb018fffdcff321d883ab2519953c9f174f09dd8f13ac87339887385966eb4a94842276637b2c36c0a5036b1d3bbea438bc6efd4b4851c7ec06879d60694df894717569bcd31c4b13d80df6cbca\nA = cdec5edc1cb3ea974342b85aabc0f9385cf877ca328747d40dd4d297623ad69ab6582653faeed5aef225208305135cfbee32e066cb43e18afacea3a32acc8aabbc49617ac33e741651924ae56dd6aa044a12a1ea50fef573b5befb2f4b21b9cf83ab2aaa6fd153580a0761666ade8fb94f202a3c3dc4f33297eabb4564374168\nE = a0bc148ed50a9b54036bb8fa1f214979052ebd47db8b347af3bb03b806bb457b468ba34781f8a25f289a7a90af4903dc14809a166df2f4c3527de2ea6911cb1afb9071a4afbb522a7d50634d66fd584c73f32d05217dc9f7f16394c68a692a953492ca85f89cc11da95fd8cac6231647923ced48a1b3b0ee68c010286d452836\nM = e7a96cf6fa930f73c8bdc2726bbba246001a9d27f39cc2b978c99dc6f15af0e8aaf26b565302f1112e607e2df4066948baba931b89cd9bbdea2072e05b9a4968fdf282c43d997987c3a3a0434e925a679ac81f316b7a7b724b79be3d6888b66f4512759bf66cfaaa88b9513dd27a44aaea75437268a014c4eb50ba2e50093511\n\n# Craft inputs whose Montgomery representation is 1, i.e., shorter than M, in\n# order to test the const time precomputation scattering/gathering.\n\nModExp = 9442d2eca2905ad796383947b14ddfcc341f5be8fec079135c36f6f0d9b8b2212f43e08bf29c46167ff0fe16b247cd365df4417d96cc31c94db1cf44b73b0ee3ebcc4920d9b0d003b68e49c1df91e61bc7758a8a1d2d6192ff4e1590b1a792f8be3a1b83db3ad9667d14398d873faf5d885ec3a2bef955026fae6dbf64daea2b\nA = 3a4b4c57e62c5e9d1a9065191f8268fed9d5f6f424d071acef66f0662b8210f4c029ed991512e40c9c912043c816d2c4c5b53fa0e5c253e16808aad4225130dafbbb89fd4f30cdfc1c2f2179b636a7ddc4be579795820b4b9377637bd8a21a0ef5a90d0e0f865321eee23d9be2a3b7320b4012d02941b892df2c40bdc85c1898\nE = a2c56ea1362511cac0301918e15a9afe7d37edd438a5c3538d258ea01f0a6df758de07111e868b3ad8fc89b629b4955d78a1b3af902be1806410ddde25ccc6a196ba5949395c1ad5d8725b18815dc1cd5ac1c7dd17773f571e3f2e628255af14476e0494be23a4a4dfd18e23142f33d7a59c236fec61660e360d9676a747c69f\nM = ede35a3a7afac817d413373a2032abbc067b1493f709ae6e1282ee5469743391d891b904938857168802b7872d3cd7ac18ab249a9e540a86f970b1d0f310a4cc29df1cc9d4063d98c554f1a32f4ca5eba3523cdfb142e0fc609907c7a92bb0187009d97ec471db3545f42dd5fd29c07b7816085d09477ba31fcf90084660116d\n\nModExp = a7f5844fa9e7202d4b70ee252c9846e63d3d091b0387768ded872cec53458e19df0d9b4960226e269b8ca5dd4c4eda423a67b6dbb48235c08c12c6c7c78db47287756d3ed9cecb9232f7d18d5d80b9676cb68ba4a290c97e220beb1a069976b5e6022a4c1e5ddbeec86b62dda24ffea1deda37695c9f61a8817218e6370c0679\nA = 7d6d0cc947ceb949cdc4e9e1044f5deca5bb05a491041e0d85bc4b92a0944a57c72845fad91e", "59010c61ad1712bd2f612d53a846a044632262a9f2e3373b062fde2484e0c165ff947f2469f743ab6e2e5e13c640fc4029b1c9213eb8473c674e7f9e95a4a5c5636d4656c1e696962340d77b322daba47d6fc894f2a2cd9e0afc\nE = b78012afe806e2344d004c739c97324256850980ac97d88c4ed9a838517639ca112e235978d21a176c33f5a68703aba0f2a05501bbe3fc8d49a000fbf530cdb431581dfaf8683cb15a2aee5e239cbc542827100da3b47babf4a16ca7c588aff9912e674abb449e0b767a15e415f4e7f2bbd6380d7131da3df8d49b13bfd35ce3\nM = b72d5c55bd2998472f1965e75a51be6155c1ba04656da8f66bcb34db36a7b1db66a89d1d05b1bde10206acf85be7b474ab689220faf1bb52ab39d8dc00512dd4e26df1179c11b973e1274db85a88c7cc2a17113abdffe58cb930ddc5f3ccc4d68b4e65c913730509f7ce5656e8bbaba9b1be177ab9f766678f018fea05da9cdf\n\nModExp = 465ff295786a88496828fdc763e9292d557957544e9322b7996807b87fdbfa7a11614bffeec557ca831c4824c8e4ca3b1a1c7f3f4f95ec3fd6a86b73bb13d78b73af2b3c7e76954d0cc03bcb0cd606867ebb3765a8b3d0108cbe4f343a14016be9c33f6d200f0dc547e7d6b02bfab1e79dcdf9c9835a814cc6c855a12ebeb66d\nA = 89ad02bea3e9ab839a6e23f20122409daba52c68e1e893034b30d321c0305434a6af940015e3fa5ca9c35230da34beeb1ed4fbce6c1da3a8bfe3f3ae172276c1d1723b47ee61e6f8fcfdafad102d6f7ee2a79f510c7edb93096205a40a6c9e665b88b18f39a979e2e61286d939952a6f02fe8148b7515bb25f4252337cb6e60d\nE = cbd6ac628cc7afa3c61bee9c22a06a395087ec1811fe9681b55216700c435996c815e7cec8aaa90016dd2382d0306a5414630124e14f3d396a4ba02ee17851bf720f1607ff813e4bbddf01338983db12f59bd6371a738eee3eeb716f21051d6174d2d6c77602942b9edaac18d4b3a723096c0d00dd23a8a605c585022f311560\nM = fa7a3e40364c8a8d0f14f0213a3f3e035222ca0ea19d46d10ba41580e5dd2805c8a133f3856d7d5d97f922ea540e5eb0d10ad04dfdbb74f518f58da0099a6fc2b3f3def92985176e07fc78aff2faebccca10a429794e5f15ff92f75fe90f527c60ddea8093a9078c703c372ca09f7aeb27ade02f3595308c61dd9c44e62fd101\n\nModExp = cf08bf00261402102e9fe03f3074471dcf0e9b3c96d4d1503f099f24ec85e1901b023e9e048c1ad042244f5f70b38b25a99f4c0a7b57d5844bb0d0137367f45f4ce2cc7746105b77414768cb97648dc5721149aed2d4c682408cc0d50d26dd0bd77e848911f8625c727cac5f32e63bcb548f41a57d718d772f23983a42f603bd\nA = a419646a6631c2c69b18f7aa65011825eb31692eecaee9d74f92d92203811b68e9764bda31a1585bdf69b6273fc6f9f508c395ac081336506525dad88473512f08a205621ac8b16e9864c7a7c5a4f17435de00d0b32badec6ce4897e3e1076c562b6d9523f63d0b2079eaa416cb090471657763f24931d955d1fa2720c80a9c9\nE = d5a6f4a1842aaee39805356dc8d0d678ee03b2c81277345beccb2742f899132feb43271f95968a01ae68aa8277201851992dc0aa7a71c90aae71b124d873ee264ea400fb131be0fc6c4ce8c04c45f6bdaca89ac743635caf6158983d257e21cef6800d7f990e912ba21bbfb8fb779afa4abd19e07e7e07eee9908493d1ca502c\nM = e739689b6cc6def1d45fb1a2ab551643beeb303f4aaa4da47ee5e4948510f8445b4c40e99ae8354dede60b2ba6694e93bc4d573b7e8adf871b7a9a9636eb7d70f2e49328e2d7978143b177cee8374ef01bd1ee2d95862765883f5e7971668b53ef0ff41b6539faf63c397522b0bdce916388e72e26c8d3d2e58dadeb9eb5d479\n\nModExp = 827e6312ec3b14600203bb83f5b277ded197b2967363630ef673240df05edd3ba8ab2b11c86251a612206569c6c33952b31e264f129909bfe723bd0ee1624b36cfcfaa893a6ec8b5a1f7de79f83e79b459a3350f89f412ad1cfd6bc4c2a7a29272c783d6ecceeb1398fa17041835643f4debef9b5e87b098d104bb8912dddf7c\nA = b8e49c637829021d32db3a39a0c1e58cdd4c6e4eda7e8e9293be379e9c2e2d184f929d278598a81ae231cfedcf69cce4a6e31cda3c8ac14d753a7311f2436e29795f0dfb60259a0f61a997918ff984aa2284b43a9d64c974059e9682adfffd018305835f74eda8c75fe4877d811c1620f654ec9f7f32d1af5ce59115e2f41785\nE = 80e0febf369d234bf1aaad4f82df2e2ff02882c3184781f6ccdf4f7cd93b6887af86830077c84dfb02109ada05b40970b1c65228b0c19030bd6361c3537fee22a8155c03b4e7007ca006c6daa3659518d05bb81ea0079456d0ef6116df248dffdb0c935f321f5a1034deefd5a9414a0652aa6548de33325b474b9e5a8507a082\nM = d5eb1d14af842a9973274f7463d90cf0ccff19c47d710edbae184478d4f29b02693ed7958bd487054327b9e6d8879e24c9af7730b92f323eeac05558da6c1b952e5dbf13de236050a77628bb5325fe0d14cc5773bf73338759d5ab43c212b414581280f1cee250007e53791b800b61c90de0328acd7bc43fbdda48158939392d\n\nModExp = 4a1efd29c7e78549f5cd4deed1454b37462c7810ee6a8a2493b764dfa479be13b314cf9ff98259517d61865567ef499a511630c0038c97914625df181c6fe07892f329f98b344a78d751e9471483eebaa7977371bf97bb25187ae7e93a9227d6c124ccb4644423c961a11ae59c4354f89d5a95164c23d9aa256e289e9cc0858e\nA = bd86c9211fa6a47a06e5016c46cb8a99e34a043a29e22f8c3196fa7197c26b38927b8d9bc0ddc11a5fa4bcc44deb69dbf37cbe7ebc9a2fad6c74e09ab5a9dd929fa04ab4319b6caad1035739be78ba631fb0748d9e53944836d37ccda6e6a62823c696d8f31139ccd7f2f86b22fa026ecf433cfb1271a3539ac4f1c83aaac059\nE = c40b9972006d28a84c2769a86e526a2b274f73afc7c5c6a2742166757f61b5f5fdbb228afa157af62af989ffe966f232bba9e6beef5403d1690ade31a6410f7f349a35bc4267a129afd647993df7d45cc0e1a1ba4678d7f1b6e8a344d8ff7037679e1f4db25a454e4246f6b55c416567fcfa188e8a3865115851d9edf0aa8902\nM = cf424d7af75ce7eef90cad75ae55ca8810cc7b4703fdb5bce701e7bac07e0c371cae06df2aa8facb55a0faa6793e4d2bd9d7969703743b9be170be82792aeea55e2bc0f7ab7617b276486bf474dee2f4556aab595ff3ef115139cfe5e21ccd4ee05c0e1cf901bd85df86cc17195a783b0be836d00bee82ce064077f9191188f9\n\nModExp = 3137a3049fd4ad2e26d870f5c998cf11bfe82101884a82e85e43facd0928cd7434a2e346ca124619769fa141bbe92ad6f36b99231032ddaec3b349a410f82b5ca36f45e56e5fb85dc63d32053dc90805d3f1854ab385281a71a57726bf97158494e7476057214ca7379ab8b70f5bdc15f70bdad3adf33c3a1f9cd1b6bbbad556\nA = 39a1dc6a4c3f14d9c350ee968d5ce139ef725952c967a2d1bedf48ace22091283525be03807e2e263d2640be77f0525247bcd07149bba50568cec5a082c87d72962cf9e43bcb5cdb1e7e9a650fb53e0ec2fad37f09a9f036c0d7dfa528fef846769f80a9a60854910ca1b4ee05dba82ed2ee018348d6b3e52a764b8ffae61e0\nE = deaee3a3f80c9f684ed7110c0653847ccc7be5ff6d982fd4b49f59b5dd35f7210b1077babbcedbc127df35cd469dc6e569a0f84e58149b5605c94b09fd7f0b098d02b4a04631328b3fae39e6c2fce25334225cab71829abdb9507cb903701559660f2c08c3b743336119d1260a0db27054cad3f28bc1b04b2289baa58fb33965\nM = 938388927d06ed3bb1286c0f06d3054cb0ee16dc7a0bbbf13a45293c09a5f40f1d611b2e1a1b0ec2ef109b508e27af4274954905cae52034f8740a744153b4d22059f0dd262ea51785522098ecacced6da07709ee6b5acc8c4e99331379a7c3de7f4e2d1431e43b19570140955b7bcba118dfbaa552cbfa2be531e8f781166ed\n\nModExp = c15ae334455d9f4d1030cd33e734726a27c63624c2afc576238cce5e0498298a4a0c93090a0d19568b41290303c4b558f3d9dd74f9cde8798710f68569ea0d6fd971ce67ec5b54495031de3d8842b8b49288725bee5c9f72b99054d64986ccd4e18d70d5f33943f08cd694eff538f84438ea993ebaba0910c95b3a694f213510\nA = def633b955a917569df3ba8517455eef0655e7a35985edda27097a063e0d82c7c3a76dc36c5d8a71ba9d540790ddd0ea514aaed98925f9a1808eb288d387aaf9605a9ef8a333ebee7ad7057bca012efd619d5867f02266f65976ef4b16da17468426ac4f99b3e8921707e01b4de20f6f9a068e6a19d872079a27f3a44449db83\nE = a465c47b0d15d48e01bb8b1d8e3b3253e11515f6874dbed6c25818adf1a8fd927124d5593beb367f685c11e46f18415be73ccdf16fa2e93a600b728163d21d232849e5278c3749d903edad3f1c4535a2f55a2ab65e7ebc64888bd2a0527e876ecf38cec3ab1980d08138709fad8eb88ae65d960adc3f0f8e92f784fe96fcb693\nM = e43cb9ac1446154356cdc31ec771c79b0e461e22d95185bbe1a279c0945e3af07903a0cb54d553380716fcdcafb4b7cf5dc6da481dc74a8c583d75ff6c1f8e429182d200246ebc473bb56e173787987c1b7fb2dd23f5b2e438a97bc4a1df628bc044fdd1e80c0cf37030adb7b04784dab827d0dcd64f0dbf37c980612570ce11\n\nModExp = 75c3f79ab7c991b98e65505342a8a563cfb08b5d3ccf8664c7db1de50256b1d17ebf7096dc98c7bb5d7f027a894ae5cbb14dee04d5d445e775ad7e239acc82673b0ac2d819a69c83864f34e73d9a636f05de8279619a067b4c90ad038db5910447e03841d2034635018f08cbcd21efa00994247763a249082594128112f95232\nA = 34def7d76f6f158a359fd12759fb889cdf6af0a24830dc3e84283a1ab4e9b2647a6a36b86482f829b2cdf3e3d6028f9a884b1f64f7262315446bea8b0231828e2f3d990fb103c17f820b39e4b8427c85643ceeca8f5dc8f191d1255768300e859bd7d88c770319ef38269660d221cb3bc061389b6fc0783485ef042b1c7d6fef\nE = c6c46453dd5aac6b37277a446b1d0c69cbe476eeff55b3ac35edb89ba97116b0e7783660f2c7b31b2a2d6c4709d0ab45d01a838100694b0777c9c9c14c959b07c437c73a5eabb7402f1001e802d797a2e7707285834fb6440a1c2f727f7bb84ddb2a49312d32fa0ce620c43872655cb5c394749c9e75d7fa25be00efe50d47d6\nM = fbbab6698a9142095c46b38a732592e4366c1838b84bf40f8c8fc7b630f73380a0d09765562365798f8c8030ed1b6728329d8bb06e882c35a1d59bfe84146a9db2afe42a414014e247390281c782fce806d62adb54778d2bcb49555459429d6ed446af5359657667f6aa19e8e3e0e24ab2bc312b2d90b5cb1ce6f2f15af15d9d\n\nModExp = ba16d7f3f6e162ce248490d164a13c00e7720d8a667e2d3ebeb13f1663e15ef5408d5b56cbc7bc793a8ca787cc50f8e15e0e9d4ee764531d04a9114eea556bb3e2", "06ed7d85267151a056b6e68fbf35e03f2cf829708ffe1de13e95ecfe365aff1eea36340ffcd3892dee659fb1ecbe50f5080e54737c10f9c1ba638b14ef537e\nA = 9025e6183706105e948b1b0edf922f9011b9e11887d70adb00b26f272b9e76a38f3099084d9cccf12d04b1a99c0f654f8b9ed90c6dff9478c60bf05d58d734ab60eaefa14a22230ec60c90dc1f0704b61eef0bef345785ae0e6a9af7db069cf6bd2b4e0fe58a0ade83c7e46a04b9fe1d24cb9b65c6f80de713e61d70eae5b286\nE = d7e6df5d755284929b986cd9b61c9c2c8843f24c711fbdbae1a468edcae159400943725570726cdc92b3ea94f9f206729516fdda83e31d815b0c7720e7598a91d992273e3bd8ac413b441d8f1dfe5aa7c3bf3ef573adc38292676217467731e6cf440a59611b8110af88d3e62f60209b513b01fbb69a097458ad02096b5e38f0\nM = e4e784aa1fa88625a43ba0185a153a929663920be7fe674a4d33c943d3b898cff051482e7050a070cede53be5e89f31515772c7aea637576f99f82708f89d9e244f6ad3a24a02cbe5c0ff7bcf2dad5491f53db7c3f2698a7c41b44f086652f17bb05fe4c5c0a92433c34086b49d7e1825b28bab6c5a9bd0bc95b53d659afa0d7\n\n\n# RSAZ 512-bit.\n#\n# These are regression tests for code which historically reached the RSAZ-512\n# code. That has since been removed, but the test vectors remain. Note that the\n# lengths of the inputs, especially the *bit* length of |M|, matter a lot.\n\n# Control: No relationship between A and M except that A < M and they're the same number of limbs.\nModExp = 7f34c1cd63377bc3abf2bb5b2d1bf5f06454e1e8040fe19a72245ce9731cbee1bf9e84532300776c8021ed4f3a8de508d85b4cf320bd82065a013754857b50c4\nA = 8e4e67da6ff890643d0599387955996ef6f0c2045eb9944576ddb965ca64cdb6247727ce128ef178d4a84e5a56d2e67eb0fe389ecbf691f9244ae80f4c11b364\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# Same as above except A is negative.\nModExp = 71fa6a4c8ae75368eda8cc6282c26afa69e2af12a97fb9444f16b7dd6c99e0a5d6034cab4248cae4357346b211039f4a2bc4c5a20a297372094162417af703cd\nA = -8e4e67da6ff890643d0599387955996ef6f0c2045eb9944576ddb965ca64cdb6247727ce128ef178d4a84e5a56d2e67eb0fe389ecbf691f9244ae80f4c11b364\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# A == M - 1 == -1 (mod M) and the exponent is odd so A ^ E (mod M) == A.\nModExp = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725490\nA = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725490\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# Same inputs as above except A is negative. Note that A mod M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 1\nA = -f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725490\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# A == M, so A == 0 (mod M) so A ^ E (mod M) == 0. Note that A mod M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 0\nA = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# A is negative, and A (mod M) is the right length for RSAZ.\nModExp = 8d76eb0f8c7bc3160cc8bb0e0c3590fbed26c5932f5f525b48045c0bd46dda287ba5483f97c851fb7c12c2e858ee7a4a4d1af745cbfb3eb311fa54bea12cde25\nA = -80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n\n# RSAZ 1024-bit.\n# Note that the lengths of the inputs, especially the *bit* length of |M|, matter a lot.\n\n# Control: No relationship between A and M except that A < M and they're the same number of limbs.\nModExp = 8984f8c16044f9c0ad7bd72347af90f58e6e003acda92b76e3c7c4a56ea8e918409d8e9b34884d4c89d0b17cb40fe898f2627c084a0f1698e46beccbf6f48eecc281e11ea9e5135adba460ddae157f2c655b5f589ce29b254d43a960a71cede8a08dbb86be4dac22458da232fb1ec2470856827302ed772c9ddafa408c931aa7\nA = 21158da5fe20356825e72b3f5384ec57720d22f727b27ce2f945c8ee311db781add73bf8fae96b775c909bd22fca75c44c2b0584284a5bb1c07f8eefcd6b0a44047a02b185df34f897f11d4fb9a86c9eb841b4cb8d0383441fdc5af3ef385b5e8380f605d73ed41bb42eb2c2a5704d6034b3ad058dafffce83dbbfb6295daaf8\nE = ecdebd112b3b5788669449dcddbd479a203ee9ab72a9bb9c406b97623513bf0ab9a22f1f23634d269e16bfd6d3b64202b71fc355057411967b6ac70f8d9cef0a4e06819a9a18cc06bbe438243fa9759303d98be8a65dc1cb13595ee9b99f138554425d50f6fbc025d8ffa3eaea828d6f3b82a3584146bafde34da257995f0575\nM = ff3a3e023db3bba929ca4ededbace13d0d1264387b5ef62734e177eaf47a78af56b58aacc8ac5d46f5b066bafb95d93d4442bb948653613eec76837b4ffb7991cb080b6c8b403fb09bc817d026e283ee47ab2fc9af274b12f626eda2fe02004a8e27b9ed7d3b614e8955c7e7c2c0700edd079455237c4475fbd41857e206e4b7\n\n# Same as above except A is negative.\nModExp = 75b54540dd6ec1e87c4e77bb93fd50477ea463fdadb5cab05119b34585d18f971617fc1194240ffa6bdfb53e4785f0a451e03f8c3c444aa6080a96af5906eaa508862a4de15b2c55c023b6f278cd04c1e24fd0711244afeda8e3444256e51261ed99fe66beedb52c43c825b4c7a1adc7d4b111e2208ecd495df91e175573ca10\nA = -21158da5fe20356825e72b3f5384ec57720d22f727b27ce2f945c8ee311db781add73bf8fae96b775c909bd22fca75c44c2b0584284a5bb1c07f8eefcd6b0a44047a02b185df34f897f11d4fb9a86c9eb841b4cb8d0383441fdc5af3ef385b5e8380f605d73ed41bb42eb2c2a5704d6034b3ad058dafffce83dbbfb6295daaf8\nE = ecdebd112b3b5788669449dcddbd479a203ee9ab72a9bb9c406b97623513bf0ab9a22f1f23634d269e16bfd6d3b64202b71fc355057411967b6ac70f8d9cef0a4e06819a9a18cc06bbe438243fa9759303d98be8a65dc1cb13595ee9b99f138554425d50f6fbc025d8ffa3eaea828d6f3b82a3584146bafde34da257995f0575\nM = ff3a3e023db3bba929ca4ededbace13d0d1264387b5ef62734e177eaf47a78af56b58aacc8ac5d46f5b066bafb95d93d4442bb948653613eec76837b4ffb7991cb080b6c8b403fb09bc817d026e283ee47ab2fc9af274b12f626eda2fe02004a8e27b9ed7d3b614e8955c7e7c2c0700edd079455237c4475fbd41857e206e4b7\n\n# A == M - 1 == -1 (mod M) and the exponent is odd so A ^ E (mod M) == A.\nModExp = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d964\nA = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d964\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# Same inputs as above except A is negative. Note that A mod ", - "M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 1\nA = -b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d964\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# A == M, so A == 0 (mod M) so A ^ E (mod M) == 0. Note that A mod M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 0\nA = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# A is negative, and A (mod M) is the right length for RSAZ.\nModExp = 9cf810b9e89d5cbc4b79ae64e123ea06d92965e2bab077df97a1b906dc2e1ddcf96a9c4ed14e2cd96309b829ea9cc2a74a7d4b43c5f34d792a7c583201427754b8f78b783608070a84b61f18913e3ced7f7f530972de7764667c54e29d756eea38a93cd1703c676a4587231b0ebfeadddf908e2877a7a84b5bfc370ecf0d158d\nA = -8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# Regression test for CVE-2017-3738.\nModExp = d360792bd8210786607817c3dda64cc38c8d0f25569597cb1f363c7919a0c3587baff01a2283edaeb04fc288ac0ab3f279b2a89ffcb452d8bdf72422a9f9780f4aa702dc964cf033149d3a339883062cab8564aebdbfac0bf68985e522c6fe545b346044690c525ca85d3f4eb3e3c25cdf541545afc84a309e9b1d7807003461\nA = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2020202020df\nE = 2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020FF2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020\nM = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2020202020ff\n\n\n# Exp tests.\n#\n# These test vectors satisfy A ^ E = Exp.\n\nExp = aa6d7ac431\nA = d0e07\nE = 2\n\nExp = 12d416b110dbb4e467ff0c89a22122f4da8240\nA = 1a18cf6\nE = 6\n\nExp = 49a3b33e23d84f1ce0d5d83f5dcb651d50cf3920f0143da2310d0512a90a06cd8f38977df8a756c30883de38df092000\nA = 2a3acbd2\nE = d\n\nExp = 5b4a0d5a956f885f275712b194459980f24708bfb6393d71bd37dce852ce455724f5ee5030775fb86b4295edc98afaafc097e4d82a97c0078ec0eac763db16549c5145c4cf2d3124f88cf9a5c71da0625afb99b26801786fe49a778415dc025954021753d08691947a208b613f0be5c1\nA = 54b3ae461\nE = 1a\n\nExp = a0ea5f6a4de49beb8fb7f0dab280d6a32c5a3814c9a5153a7944cec0a9028497846a8a89044348721a0bb5f0c3ded3e980574ea321b0cdb0ead4f4e93841ea7478a7f15d9729b646a8165813a0750e8124f5465dda9b105e1bbeff18fd09c09a2e26610d9176d253b877c3a8908a6be521cbe1e472a7a1b7820e4e890f8f28aacd34609c686e76e15b01bd9324a71290812724ea564d11c874a6765b262c3e57d479da0287a76026a1e8fe53da0b02405da1d379eaa30fc65f\nA = fccec0f6df\nE = 25\n\n\n# ModSqrt tests.\n#\n# These test vectors satisfy ModSqrt * ModSqrt = A (mod P) with P a prime.\n# ModSqrt is in [0, (P-1)/2].\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = -1\nP = 2\n\nModSqrt = 1\nA = -1\nP = 2\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = -3\nP = 3\n\nModSqrt = 0\nA = -3\nP = 3\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = 0\nP = 5\n\nModSqrt = 1\nA = -4\nP = 5\n\nModSqrt = 0\nA = -5\nP = 5\n\nModSqrt = 2\nA = 4\nP = 5\n\nModSqrt = 0\nA = -5\nP = 5\n\nModSqrt = 3\nA = -5\nP = 7\n\nModSqrt = 0\nA = 0\nP = 7\n\nModSqrt = 0\nA = 0\nP = 7\n\nModSqrt = 2\nA = 4\nP = 7\n\nModSqrt = 3\nA = -5\nP = 7\n\nModSqrt = 4\nA = 10\nP = b\n\nModSqrt = 0\nA = 0\nP = b\n\nModSqrt = 3\nA = -2\nP = b\n\nModSqrt = 3\nA = -2\nP = b\n\nModSqrt = 2\nA = 4\nP = b\n\nModSqrt = 2\nA = 1e\nP = d\n\nModSqrt = 2\nA = 1e\nP = d\n\nModSqrt = 0\nA = -d\nP = d\n\nModSqrt = 0\nA = -d\nP = d\n\nModSqrt = 3\nA = 9\nP = d\n\nModSqrt = 8\nA = d\nP = 11\n\nModSqrt = 6\nA = df\nP = 11\n\nModSqrt = 4\nA = 10\nP = 11\n\nModSqrt = 5\nA = 90\nP = 11\n\nModSqrt = 3\nA = 80\nP = 11\n\nModSqrt = 9\nA = -e\nP = 13\n\nModSqrt = 7\nA = 7d\nP = 13\n\nModSqrt = 6\nA = 37\nP = 13\n\nModSqrt = 1\nA = 1\nP = 13\n\nModSqrt = 8\nA = 1a\nP = 13\n\nModSqrt = 54d4cf0fafe265056a29016778cea6b712bc66a132fb5e6b6865e9b49e4c97ec\nA = 599c10484b22d0b5a115268c7538ca99b3253a311a4ab1ca11c3665b0bec393a1167d1ad94fb84cb2c7ad7e2c933e8f613bdd08fe1f1aa4a9b0b9de0c8a7c9d4\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 38a7365a15365e911286c1be2a7afe76ef390234d76269e04dee17313f6ea54d\nA = 1c4aabb4d8369710131c664ecf2849e963c1bc31d66e0b939bacf99a870c71f24ed71bdddcf566f3908271fee43fc1ebb51eac7e3153efae641b49d2e796a12a\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 35ab18a560dece04725667f640ca61d1d59f14d191f94c79f58531acd097d444\nA = 685168ae855d60eba220d803f5296459b30a289580668db9ed51bca51cc2d453a937e13819ae34f7a9a143ac96d17420c53919167e46279b562b550be1cd9abc\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 288370029e87024175e5bec0eab0929179f42e16995e7f6194eefc61061e54f4\nA = 2a14ab77c045bdc48220ba9c463e1a4b4049cb01edb53be0937767eb2ec19b7d719855052281250a36a0b76d9a5d967d0756e1ded7a052f7056191ad66bcfc9\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 32255cf01dc943577ec2bcb221b98491d7a1130d046d6c68e95fedff643ce3a4\nA = e26f6dd46a513a1dd3fb14b71be1d4c9e9d79eda1cde10ea4d1eb8abfd4d5857572205e247184dd0cbefa37b5c0bf680ba2bd28c5741f725cfe2aae37419baf\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 5172345e801ada63fbc4782e32583cc3b4fea88b9e6dfd542f3542f8538ade66\nA = 40dafa8342b302bb04b1f3ddb3b9015a8fc1b597857c115b40631c7be9e22de89358fca23b331596ee5ff304dad7811e6d8e8822f7aa533c9e7c882634ea550\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 4dcf63c423bf0e39aca2293d57f6792d023db649d6719fe936446904b9f7e60d\nA = 5bcdb514bbe84261e169203e8017909b60c9bb330400c766ee01b0189378e70e61867a164a12643ddc9e94b61e09e5b158cbe85be228a3cc48f95a552958b8f2\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = cf77c5c2d12a500b75cbfb1f3e66ee75d886b9365cf4f8b4d1bd18a6be0f387\nA = 4652ddc2ea7b460d8ec3c9059b8f9b5dae6cac55b51f2ad86fcb336b25235737965cc515e2ff0b54835015b7ebeeda6fadd9864", - "71d8cb424d309fc353d1e269\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 1e0549e4c5a26023e9d24fd8c67419960746f82b1ecd113bdac66f570a475d87\nA = 5f4a6d450ab1390d96ab1deaa0ba18f897cb63daf0c9e1ef6c08e804c26b5e842f6c08f13db5d4a6e88f07af2a3cb04fa06fc3e59c410b9356f025ed81acc74\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 144481a781d831c1ca046ca9e322d79ad4d2c6dd9f780bea9d1ced9cd20b7b23\nA = 4c254fabca441017132b9eacd4ca40a336db3e5c09715773fa07af095989a91cc968ff07a9ff56ed06b0ce0c5269f7b2ab68564ecab9f4467a7e96b6cc6b21b7\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 216fecc7667f488a3d2d102a38b46b4860ab858300b8638af4f34e1103fd73ba\nA = 17878f8048227573a9d70f53c0e76ff13fe9f56e9c984c92514d3d13dec23c816661f0618d21371b80dfd885cb59551bdf80046f65f22ea9b89c78645a6e455a\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 458e5e789ccd2417174f7e30bb31914b9656bd8cf2b9f5a9752a8737a67707bc\nA = 5c7d39a4bb04e69201aa519f80ee7e62ea14ca55e13656d1da3f45367e2fb2d061aa2940708d02ac67d35cd2ccf54a1bf95bcbc759779e692cfdcbb3aa1a05b\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 543125a16c2bb8b8f8a2c39c497e5224ec77533602d7dbe24002e32dcbd2ef1a\nA = 3413afae333b2ad9ff45c7f3c7e5934b3127e8b1a55225958ee6ccf42423e81559bf070ad3f3353b78c0ffd41475af49f59d268ef78bdae879f5155e8d1cc07\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 10e16859c67bdb2eaab52a7c847dbf37162eda258a9f6262ebacfe4cbbbc1080\nA = 21ce7905894faf220bdf4a82a2d855994ca2dc9feaecaa53c7f146e1f49934215695e9bb46ba370b7005a90c399674caa8969eb442e7914d90f749774d7fd194\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 32a00586adc6f6cc2b1a04e1be0ab569fde235e1436c38b6af92bc5ebd60bc1c\nA = 350da4fd8cf03c12f7dd6ac6d3ab801a3413964083e374662aaf878d6838b97d4feb9e52cd307a25b113e101661a865463ee2480c626aa4e2ec437d72e7bae4c\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 971f75bc7afa8b4b50f1d4b05e52deac7d4836a08d30546f29649bf1ca6a247\nA = 655ed4c5d8d0afb4f9360372ee1ef1303898d2423e585108a3303faedb55064d2ef25666ed4c4d71fe6063fea1f3142b435714b0e30b339dd791d347c884654\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 48fa882b7cb6a29de9e3769f72eb67f1efd4d2af56f0c7e410c610efcbce2065\nA = 14f3503f33b243800eac1defaab33e04c01e80163fb3efd03860970cc016832431ca4fc6d1b760f4f40166b0b8b3c40dbebc81460cc10890172243770338f090\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 236fd7e397ea7f8bc2a288eb7236ca41936fa702b7dccca56c8852e147511f7d\nA = 1bbd0980feac854782813bcde4da85e8a054549a1b515e065da4236528035e756882e29e762cf60453e375cca9dc6ff637f9558bf86646e3b928f68f82af7efe\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 693f0cbe8c81b0afde0cd2f83e53795dcae6b0cc4ba930ab5c752400d787f14\nA = 7b20f9664b23907e152ab8c9a907f72e8670c1c38ab4cd1411ea7c2159c09aa131afe068929b8e6ad1409b74c04975180d1cd0a9fa74e923c3fd451e8da2c34\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 4a086c50b0bad576501ddb6280743b2c9d247841eb7f14d90561432ff7dca6f0\nA = 4367431ec0cd0d7626538b93a090c30fe0c97c18ca03b97ddae304b619112b5b4d02bf0f041fa3fd673f9ef2ceb07eb2079d11c56dd903b1a87e8252a97b8079\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 18f8433fa468d8065157708f1f1e53b8e31d39c6011fbc2bad93de1b5548e19c\nA = 739c032bb4139c199c40f548d37234298772e4ccb9d3ba28412b60ad23b4c465b0787e2382f1c5a4a87af2d20eb978b7dcbe73f2112249477d15c8a85e54a79\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 49e3c8eef5e067cabd51a7c01384ce05ab8f4342f655559d8a689eb7b20e0106\nA = 18400c2cc3e06b99b4e39c77b9af5ff0e9c683f1708321afa4cd5b6988d13b36b1d9eb4379b7902d9ceb40c03f814b2b6a01b90509bbb4532f13ab1571c4d04a\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 35548c530745f440329325cc8a5fbd90c16a7f0788879a4869bc4d4f73acda0e\nA = 181a3c5ab02566e7166c4d6d2f2bd4a8ecc25991a98d270bde80cf4332766a7068b14240bf5f5dcd45e90ef252596da3eb05b11d68b2063f7b3a825742593ca9\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 1ab7046e6af061ade5f9719008fa4d989007e2a579a134a5b9f19ec410984096\nA = 1008a03e211fab0d45856377079bc96b0776c2d4c0175661f3493246cea2ab0a02a706c85314fb707ad9906bedb2cfd577d62092ae08ff21d7b949373ea954c7\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 2be9e3e7515960d90f115b89f60dedc173a73ce163b4036e85b7b6a76fd90852\nA = 392053a9f0100540a8e1a0c353e922068a84dad3a4a8e8962fbc0bee2b6a06e20d08ade16eb1409a16acfcac3db5c43c421505e07035ca308b15c4a6db0864c0\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 5b301bb93bdcf050183107e36258b53b4805918114ea1c2227b0911d5b4dc077\nA = 55e55e5f94dc3d7aabc921f6469d85fa2e1e92a87347c57afad5872306ae69f9fb99297d1e3e793dd9e8632244208154de5da7114fd876383bf1422f7ece024\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 2df9609e2f5a5156c3260461b2ee52eacdef00bd8b091479813143a6c5283f71\nA = 2099325b7f12fe77353ddf3f2b2c5ef77b49671b150af954cf84e9675e3ecde3e057084641a633d19533b4712ab49924c8b5c31d591abcc88291f51253fa2a7\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = dfab751710e9008e25e422d1199d6fbec4dc7fba35b4da9d225a746eb4126a0\nA = c006af53d4737fb293584df6ffe2e4cb3fd8dc77fb7c1f13b97bb9c249e3ee5fb9feff7488265b3093906c08a4946f142ac7b491937d24bfba6413366ce371d\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 26bc030008d6c60a09fb0e16093a649fcb40c6c21a8e2da2353ba4b07c4f85d5\nA = 1eaabcfad2ed349ac9356e6f4da0b301266ddde811cb0f817aba8f5c10fb8b8ba9d0ef2dd386b668f16eac296118fdb8cb7afe1b865648c81c2fa3cf21f2711b\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 35051b1482ec2578f3dc0000a422cb5111e43c37f1ac20b1844d3de2128c4556\nA = 315ff9de178681116f2a5fa78eebf4818e1d680435eacdfaf9d0e5c4fc01fc034b352c82fd52c81ca30d68864952dacc99d08269c9dd7ca99ccf22da98c3840\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = a5474252885cacf004c460a7793ff0b0a2187bb1a9ed700ae3470199faef71f\nA = 19856fc1351c4b02abf573bb2fc6ff92355fa369d62bb8f2260fa772fb1693f509a56cad661930abcac049dd70f4b16bed4a4c172e73e772504c9990ce7f92f\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 12daf4722387ecf47de1b0b6b110a062dc5ea2685bc9dbde66b8d15622985029\nA = fb8479787069116abc42abfd7dc0c24d2ad04fe0c04b42a6dff714af715d17e0fd77855f950f264542b06d48e8818de813ddb7975798b7debefcdaa5ff86beb\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 397996ed5c0ac6ad32e43c337e9de421b87774cc162bf7ac7bbedf4a9029255e\nA = 5aa04353321bd2de92481be740357f979da464b53aa39111fdbb734cf7af6b3857d1baa08d3a126a3dd34a2fbae2bf2b84e900686c1d31505b390185acef5fe5\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 2cf4b844a54ba359dc592ef1b49f43fcfeae84d1087edfefdd0b9174b43c0a3c\nA = 365a8650510bcfd8fa87432f167cf487234c215857403b9270b5eebeafa48cd6da47fd60dc311b94d1d72baad0447c31f0b212d755f46c256e16e5e015e6546e\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 9277c73043ff767c3fa606f0cd66b9d854a600c8c18287f191ce277758c3f31\nA = 62cec3901626d03e8df66299a87c54b1f7a55cafc99f0b6bba1b5d51a3d2b7d2171c9135a9d8a5346d436e0136b12e515e703e3cd84ecfe154eb94c6772a6d72\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 4189e5a90c1b1abdc1c7c05b3587e6f362e06f927b6cf5f0d271aab3d6f90765\nA = 336b8d0f9dac842c696bc020f49c6aa023842c16f2052eb02f17959006554ca0012042c80c72590f21c6bf5a3714c9cb552aa69730e33db93a56a909b273f39\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 36ccd38cb5a6bd8a73bca55936a2227c503664422c2296faf7e2b1c6a375a43a\nA = fecfd60a376befbe48d2c4f6d070d716d2f403cd5daefbce62b720df44deb605162c8f20f49fd7ec30d4f8e70d803d45b3a44b5d912baa3410d991165d7c507\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 198fc8569be172dc9b71023ed3d42d2ba94bae409964", - "3f6517ab03f540527fdb\nA = 65bebdb00a96fc814ec44b81f98b59fba3c30203928fa5214c51e0a97091645280c947b005847f239758482b9bfc45b066fde340d1fe32fc9c1bf02e1b2d0ec\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 21b7f74c30ded681d6138cf8e6fd798f32a049e94138e982f1845df3dc9e686f\nA = 9a30b791c1ba4f394b4e3dcd5837e474237f4fe8987b255c098a47b2c14c598ec69d2beae444dd4fe9c4ede8173d2b187677cc706a3c28f3b81627d8a5fb6fd\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = a1d52989f12f204d3d2167d9b1e6c8a6174c0c786a979a5952383b7b8bd186\nA = 2eee37cf06228a387788188e650bc6d8a2ff402931443f69156a29155eca07dcb45f3aac238d92943c0c25c896098716baa433f25bd696a142f5a69d5d937e81\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\n\n# NotModSquare tests.\n#\n# These test vectors are such that NotModSquare is not a square modulo P.\n\nNotModSquare = 03\nP = 07\n\nNotModSquare = 05\nP = 07\n\nNotModSquare = 06\nP = 07\n\nNotModSquare = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951e\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\n\n# ModInv tests.\n#\n# These test vectors satisfy ModInv * A = 1 (mod M) and 0 <= ModInv < M.\n\nModInv = 00\nA = 00\nM = 01\n\nModInv = 00\nA = 01\nM = 01\n\nModInv = 00\nA = 02\nM = 01\n\nModInv = 00\nA = 03\nM = 01\n\nModInv = 64\nA = 54\nM = e3\n\nModInv = 13\nA = 2b\nM = 30\n\nModInv = 2f\nA = 30\nM = 37\n\nModInv = 4\nA = 13\nM = 4b\n\nModInv = 1c47\nA = cd4\nM = 6a21\n\nModInv = 2b97\nA = 8e7\nM = 49c0\n\nModInv = 29b9\nA = fcb\nM = 3092\n\nModInv = a83\nA = 14bf\nM = 41ae\n\nModInv = 18f15fe1\nA = 11b5d53e\nM = 322e92a1\n\nModInv = 32f9453b\nA = 8af6df6\nM = 33d45eb7\n\nModInv = d696369\nA = c5f89dd5\nM = fc09c17c\n\nModInv = 622839d8\nA = 60c2526\nM = 74200493\n\nModInv = fb5a8aee7bbc4ef\nA = 24ebd835a70be4e2\nM = 9c7256574e0c5e93\n\nModInv = 846bc225402419c\nA = 23026003ab1fbdb\nM = 1683cbe32779c59b\n\nModInv = 5ff84f63a78982f9\nA = 4a2420dc733e1a0f\nM = a73c6bfabefa09e6\n\nModInv = 133e74d28ef42b43\nA = 2e9511ae29cdd41\nM = 15234df99f19fcda\n\nModInv = 46ae1fabe9521e4b99b198fc8439609023aa69be2247c0d1e27c2a0ea332f9c5\nA = 6331fec5f01014046788c919ed50dc86ac7a80c085f1b6f645dd179c0f0dc9cd\nM = 8ef409de82318259a8655a39293b1e762fa2cc7e0aeb4c59713a1e1fff6af640\n\nModInv = 444ccea3a7b21677dd294d34de53cc8a5b51e69b37782310a00fc6bcc975709b\nA = 679280bd880994c08322143a4ea8a0825d0466fda1bb6b3eb86fc8e90747512b\nM = e4fecab84b365c63a0dab4244ce3f921a9c87ec64d69a2031939f55782e99a2e\n\nModInv = 1ac7d7a03ceec5f690f567c9d61bf3469c078285bcc5cf00ac944596e887ca17\nA = 1593ef32d9c784f5091bdff952f5c5f592a3aed6ba8ea865efa6d7df87be1805\nM = 1e276882f90c95e0c1976eb079f97af075445b1361c02018d6bd7191162e67b2\n\nModInv = 639108b90dfe946f498be21303058413bbb0e59d0bd6a6115788705abd0666d6\nA = 9258d6238e4923d120b2d1033573ffcac691526ad0842a3b174dccdbb79887bd\nM = ce62909c39371d463aaba3d4b72ea6da49cb9b529e39e1972ef3ccd9a66fe08f\n\nModInv = aebde7654cb17833a106231c4b9e2f519140e85faee1bfb4192830f03f385e773c0f4767e93e874ffdc3b7a6b7e6a710e5619901c739ee8760a26128e8c91ef8cf761d0e505d8b28ae078d17e6071c372893bb7b72538e518ebc57efa70b7615e406756c49729b7c6e74f84aed7a316b6fa748ff4b9f143129d29dad1bff98bb\nA = a29dacaf5487d354280fdd2745b9ace4cd50f2bde41d0ee529bf26a1913244f708085452ff32feab19a7418897990da46a0633f7c8375d583367319091bbbe069b0052c5e48a7daac9fb650db5af768cd2508ec3e2cda7456d4b9ce1c39459627a8b77e038b826cd7e326d0685b0cd0cb50f026f18300dae9f5fd42aa150ee8b\nM = d686f9b86697313251685e995c09b9f1e337ddfaa050bd2df15bf4ca1dc46c5565021314765299c434ea1a6ec42bf92a29a7d1ffff599f4e50b79a82243fb24813060580c770d4c1140aeb2ab2685007e948b6f1f62e8001a0545619477d498132c907774479f6d95899e6251e7136f79ab6d3b7c82e4aca421e7d22fe7db19c\n\nModInv = 1ec872f4f20439e203597ca4de9d1296743f95781b2fe85d5def808558bbadef02a46b8955f47c83e1625f8bb40228eab09cad2a35c9ad62ab77a30e3932872959c5898674162da244a0ec1f68c0ed89f4b0f3572bfdc658ad15bf1b1c6e1176b0784c9935bd3ff1f49bb43753eacee1d8ca1c0b652d39ec727da83984fe3a0f\nA = 2e527b0a1dc32460b2dd94ec446c692989f7b3c7451a5cbeebf69fc0ea9c4871fbe78682d5dc5b66689f7ed889b52161cd9830b589a93d21ab26dbede6c33959f5a0f0d107169e2daaac78bac8cf2d41a1eb1369cb6dc9e865e73bb2e51b886f4e896082db199175e3dde0c4ed826468f238a77bd894245d0918efc9ca84f945\nM = b13133a9ebe0645f987d170c077eea2aa44e85c9ab10386d02867419a590cb182d9826a882306c212dbe75225adde23f80f5b37ca75ed09df20fc277cc7fbbfac8d9ef37a50f6b68ea158f5447283618e64e1426406d26ea85232afb22bf546c75018c1c55cb84c374d58d9d44c0a13ba88ac2e387765cb4c3269e3a983250fa\n\nModInv = 30ffa1876313a69de1e4e6ee132ea1d3a3da32f3b56f5cfb11402b0ad517dce605cf8e91d69fa375dd887fa8507bd8a28b2d5ce745799126e86f416047709f93f07fbd88918a047f13100ea71b1d48f6fc6d12e5c917646df3041b302187af641eaedf4908abc36f12c204e1526a7d80e96e302fb0779c28d7da607243732f26\nA = 31157208bde6b85ebecaa63735947b3b36fa351b5c47e9e1c40c947339b78bf96066e5dbe21bb42629e6fcdb81f5f88db590bfdd5f4c0a6a0c3fc6377e5c1fd8235e46e291c688b6d6ecfb36604891c2a7c9cbcc58c26e44b43beecb9c5044b58bb58e35de3cf1128f3c116534fe4e421a33f83603c3df1ae36ec88092f67f2a\nM = 53408b23d6cb733e6c9bc3d1e2ea2286a5c83cc4e3e7470f8af3a1d9f28727f5b1f8ae348c1678f5d1105dc3edf2de64e65b9c99545c47e64b770b17c8b4ef5cf194b43a0538053e87a6b95ade1439cebf3d34c6aa72a11c1497f58f76011e16c5be087936d88aba7a740113120e939e27bd3ddcb6580c2841aa406566e33c35\n\nModInv = 87355002f305c81ba0dc97ca2234a2bc02528cefde38b94ac5bd95efc7bf4c140899107fff47f0df9e3c6aa70017ebc90610a750f112cd4f475b9c76b204a953444b4e7196ccf17e93fdaed160b7345ca9b397eddf9446e8ea8ee3676102ce70eaafbe9038a34639789e6f2f1e3f352638f2e8a8f5fc56aaea7ec705ee068dd5\nA = 42a25d0bc96f71750f5ac8a51a1605a41b506cca51c9a7ecf80cad713e56f70f1b4b6fa51cbb101f55fd74f318adefb3af04e0c8a7e281055d5a40dd40913c0e1211767c5be915972c73886106dc49325df6c2df49e9eea4536f0343a8e7d332c6159e4f5bdb20d89f90e67597c4a2a632c31b2ef2534080a9ac61f52303990d\nM = d3d3f95d50570351528a76ab1e806bae1968bd420899bdb3d87c823fac439a4354c31f6c888c939784f18fe10a95e6d203b1901caa18937ba6f8be033af10c35fc869cf3d16bef479f280f53b3499e645d0387554623207ca4989e5de00bfeaa5e9ab56474fc60dd4967b100e0832eaaf2fcb2ef82a181567057b880b3afef62\n\n\n# GCD tests.\n#\n# These test vectors satisfy gcd(A, B) = GCD and lcm(A, B) = LCM.\n\nGCD = 0\nA = 0\nB = 0\n# Just to appease the syntax-checker.\nLCM = 0\n\nGCD = 1\nA = 92ff140ac8a659b31dd904161f9213706a08a817ae845e522c3af0c9096699e059b47c8c2f16434b1c5766ebb384b79190f2b2a62c2378f45e116890e7bb407a\nB = 2f532c9e5902b0d68cd2ed69b2083bc226e8b04c549212c425a5287bb171c6a47fcb926c70cc0d34b8d6201c617aee66af865d31fdc8a2eeb986c19da8bb0897\nLCM = 1b2c97003e520b0bdd59d8c35a180b4aa36bce14211590435b990ad8f4c034ce3c77899581cb4ee1a022874203459b6d53859ab1d99ff755efa253fc0e5d8487bb000c13c566e8937f0fe90b95b68bc278610d4f232770b08d1f31bee55a03da47f2d0ebb9e7861c4f16cc22168b68593e9efcde00f54104b4c3e1a0b294d7f6\n\nGCD = a\nA = faaffa431343074f5c5d6f5788500d7bc68b86eb37edf166f699b4d75b76dae2cb7c8f6eccae8f18f6d510ef72f0b9633d5740c0bebb934d3be796bd9a53808e\nB = 2f48ec5aa5511283c2935b15725d30f62244185573203b48c7eb135b2e6db5c115c9446ac78b020574665b06a75eb287e0dbeb5da7c193294699b4c2129d2ac4\nLCM = 4a15f305e9622aa19bd8f39e968bfc16d527a47f7a5219d7b02c242c77ef8b608a4a6141f643ca97cedf07c0f1f3e8879d2568b056718aa15c0756899a08ccbe0a658bae67face96fa110edb91757bfa4828e8ff7c5d71b204f36238b12dd26f17be8ba9771f7068d63e41d423671f898f054b1187605754bc5546f2b02c5ac\n\nGCD = 16\nA = cf0b21bde98b41b479ac8071086687a6707e9efaacd4e5299668ce1be8b13290f27fd32ae68df87c292e8583a09d73ec8e8a04a65a487380dcd7dacca3b6e692\nB = 3be3f563f81d5ad5c1211db7eff430aa345e830ce07b4bde7d4d32dba3ac618d2034351e5435fd6c7f077971fb4a1e83a7396a74fdff7fce1267112851db2582\nLCM = 233a2188de2c017235024b182286f17562b2ee5ab9fdfe4efa2f61c4ff99fa44e1ead5bf6cde05bd7502ce78373c83e3f9dbab0c9bb8620a87c2640bce5d12c685af656df789bb3d0ba1edbaa98cf4f0166d422ab17aa6706f8132264d45b72827d6671a00a9186e723379e3a3bb7902d08865f357c74100059f83800241976\n\nGCD = 1\nA = dd7b7597d7c1eb399b1cea9b3042c14bd6022d31b1d2642a8f82fc32de6eadaf012fbbf349eaec4922a8468740ca73c6090833d6a69a380ed947b39c2f9b0b76\nB = 8e0dc8654e70eec55496038a8d3fff3c2086bc6dbfc0e2dbdf5bd7de03c5aef01a3982556ac3fc34fd5f13368be6cdc252c82367b7462e210f940f847d382dd9\nLCM = 7ae667df4bd4dd35bbec28719a9f1b5e1f396a9ab386c086742a6ab3014a3386d39f35b50624d0c5b4e6b206c2635c7de5ea69e2faa85dd616a7e36622962a07632839857aa49332942feccf", - "f2aee1c962e2f4e8ccfd738a5da5bf528b4c5a2440409350f5a17a39d234403e8482ccf838e0d2758ccfb8018198a51dbb407506\n\nGCD = 1\nA = 0\nB = 1\nLCM = 0\n\nGCD = 1\nA = 1\nB = 0\nLCM = 0\n\nGCD = 1\nA = 1\nB = 1\nLCM = 1\n\nGCD = 2b2\nA = dfccaa3549c1b59ab3e114fe87dc5d187719abad58c51724e972741eb895ab79a49f385f61d531ec5c88dbb505ae375093fa848165f71a5ed65e7832a42ade191a\nB = fa58a81f43088da45e659fc1117d0f1cd015aa096c8e5377cf1832191baf7cc28b5c24998b93b64f8900a0973faedb9babaaf1854345f011739da8f1175d9684c\nLCM = 5132f7ab7a982b9dc55114bd96800b7637f9742cf8a7a00a0d69d5e4574fc85792c89a1c52bcfc74b9d7f3f6164819466c46b2d622e280ced7ad1211604084a15dc1fd1951a05c8ce37122c0ec15891d818a70d3763670ea3195098de9b1ca50ea89893a9753fb9ea801541058f44801f7f50967124abfc864a2b01c41f94193c\n\nGCD = 8e\nA = 248d96a8a4cab0a1b194e08c1146868b094597cadbc35531f0ed2d77cba9f15cb5cc7c10e64ce054bf93396d25259d750b3de3aba65073db1fd2b852a6454ac1a\nB = 4c7bad8e1844901fd6a2ce2edc82e698d28ec95d6672ca148d85b49ecc78dd0a8b870e202244210bc98592b99ff6abbd20630f9eee7d46b15ccfae8d08b86799de\nLCM = 13b01f9d9c6c13e90c97e3d95bbce5a835c631b3de3bd4ff5df13ad850f5223dbdf71c53912275d0397df9335ef3a3ba8e4684c6b25962bb7b18bc74144cb5edf0196f79863a7ff032619a71646a92281f7baace7f223d254cb4d05ec19bf8d4c8ce4455a9d770daec89c0d3cf338cbdae39cf982b3c4568f5c9def4e1133d28a\n\nGCD = 3e55\nA = 2fa97382f46676b7a4cc2b8153f17b58792d24660e187d33ce55c81cc193ccb6e1e2b89feea1d5fd8faa36e13bf947fb48635e450a4d1488d0978324194a1f43c6\nB = ab08ad074139963bc18e5d87ba68db64ca6f4c279616c64039b02c55f2375b3bc04114e8e05e1ba92fb6470768f61d123845aea36774c18612736a220934561faf\nLCM = 82c7c377ecda2cb9228604cd287df5eff94edd4a539c3eb3b3fdd4b4a79d2f4eaf2b22f8286272d3dad2e370cfcd9ea4d93ebb3f049c52b8fa23b68a5bf79af989822e2cfb978f68c6a5058f47319dffcb455b089b06ae6db9e5c8a2b6e951d6e118bd2b4cd08b6e5733476a446a57387d940d1289ec00e24315821ed3a5daf2\n\nGCD = a7a\nA = 923706dfed67834a1e7e6c8e8e9f93bfbc0b43ca1f324886cf1f1380fb9b77109275d4b50af1b7689802fe9b3623ac46c7ba0e17e908c20278127b07a5c12d86ec\nB = 64473e878a29021fac1c1ce34a63eae1f4f83ee6851333b67213278b9a4a16f005cba0e8cdb410035bb580062f0e486c1a3a01f4a4edf782495f1dc3ebfa837d86\nLCM = 57785ca45b8873032f1709331436995525eed815c55140582ce57fd852116835deac7ca9d95ce9f280e246ea4d4f1b7140ab7e0dd6dc869de87f1b27372098b155ad0a1828fd387dff514acc92eae708609285edaab900583a786caf95153f71e6e6092c8c5ee727346567e6f58d60a5e01c2fa8ebcf86da9ea46876ecc58e914\n\nGCD = 42\nA = 0\nB = 42\nLCM = 0\n\nGCD = 42\nA = 42\nB = 0\nLCM = 0\n\nGCD = 42\nA = 42\nB = 42\nLCM = 42\n\nGCD = f60d\nA = ef7886c3391407529d5cf2e75ed53e5c3f74439ad2e2dc48a79bc1a5322789b4ced2914b97f8ff4b9910d212243b54001eb8b375365b9a87bd022dd3772c78a9fd63\nB = d1d3ec32fa3103911830d4ec9f629c5f75af7039e307e05bc2977d01446cd2cbeeb8a8435b2170cf4d9197d83948c7b8999d901fe47d3ce7e4d30dc1b2de8af0c6e4\nLCM = cc376ed2dc362c38a45a719b2ed48201dab3e5506e3f1314e57af229dc7f3a6a0dad3d21cfb148c23a0bbb0092d667051aa0b35cff5b5cc61a7c52dec4ed72f6783edf181b3bf0500b79f87bb95abc66e4055f259791e4e5eb897d82de0e128ecf8a091119475351d65b7f320272db190898a02d33f45f03e27c36cb1c45208037dc\n\nGCD = 9370\nA = 1ee02fb1c02100d1937f9749f628c65384ff822e638fdb0f42e27b10ee36e380564d6e861fcad0518f4da0f8636c1b9f5124c0bc2beb3ca891004a14cd7b118ddfe0\nB = 67432fd1482d19c4a1c2a4997eab5dbf9c5421977d1de60b739af94c41a5ad384cd339ebfaa43e5ad6441d5b9aaed5a9f7485025f4b4d5014e1e406d5bd838a44e50\nLCM = 159ff177bdb0ffbd09e2aa7d86de266c5de910c12a48cbe61f6fa446f63a2151194777555cd59903d24cb30965973571fb1f89c26f2b760526f73ded7ee8a34ebcecd1a3374a7559bcdb9ac6e78be17a62b830d6bb3982afdf10cf83d61fd0d588eab17d6abef8e6a7a5763fcb766d9a4d86adf5bb904f2dd6b528b9faec603987a0\n\nGCD = c5f\nA = 5a3a2088b5c759420ed0fb9c4c7685da3725b659c132a710ef01e79435e63d009d2931ea0a9ed9432f3d6b8851730c323efb9db686486614332c6e6ba54d597cf98\nB = 1b1eb33b006a98178bb35bbcf09c5bebd92d9ace79fa34c1567efa8d6cf6361547807cd3f8e7b8cd3ddb6209dccbae4b4c16c8c1ec19741a3a57f61571882b7aed7\nLCM = c5cbbbe9532d30d2a7dd7c1c8a6e69fd4fa4828a844d6afb44f3747fef584f7f1f3b835b006f8747d84f7699e88f6267b634e7aef78d6c7584829537d79514eec7d11219721f91015f5cefdc296261d85dba388729438991a8027de4827cd9eb575622e2912b28c9ce26d441e97880d18db025812cef5de01adeaec1322a9c9858\n\nGCD = e052\nA = 67429f79b2ec3847cfc7e662880ab1d94acdf04284260fcfffd67c2862d59704ed45bcc53700c88a5eea023bc09029e9fd114fc94c227fd47a1faa1a5ef117b09bd2\nB = 39faa7cbdeb78f9028c1d50ab34fbe6924c83a1262596f6b85865d4e19cc258b3c3af1ee2898e39e5bee5839e92eac6753bbbb0253bd576d1839a59748b778846a86\nLCM = 1ab071fb733ef142e94def10b26d69982128561669e58b20b80d39cf7c2759d26b4a65d73b7f940c6e8fc417180ef62d7e52ac24678137bd927cd8d004ad52b02affe176a1ecde903dbc26dcc705678f76dd8cd874c0c3fe737474309767507bbe70dd7fb671bbb3694cedf0dcdaa0c716250ddd6dfec525261572fa3e1387f7b906\n\nGCD = 3523\nA = 0\nB = 3523\nLCM = 0\n\nGCD = 3523\nA = 3523\nB = 0\nLCM = 0\n\nGCD = 3523\nA = 3523\nB = 3523\nLCM = 3523\n\nGCD = f035a941\nA = 16cd5745464dfc426726359312398f3c4486ed8aaeea6386a67598b10f744f336c89cdafcb18e643d55c3a62f4ab2c658a0d19ea3967ea1af3aee22e11f12c6df6e886f7\nB = 74df09f309541d26b4b39e0c01152b8ad05ad2dfe9dd2b6706240e9d9f0c530bfb9e4b1cad3d4a94342aab309e66dd42d9df01b47a45173b507e41826f24eb1e8bcc4459\nLCM = b181771d0e9d6b36fdfcbf01d349c7de6b7e305e1485ea2aa32938aa919a3eee9811e1c3c649068a7572f5d251b424308da31400d81ac4078463f9f71d7efd2e681f92b13a6ab3ca5c9063032dcbdf3d3a9940ce65e54786463bbc06544e1280f25bc7579d264f6f1590cf09d1badbf542ce435a14ab04d25d88ddbac7d22e8cae1c91f\n\nGCD = 33ad1b8f\nA = 1af010429a74e1b612c2fc4d7127436f2a5dafda99015ad15385783bd3af8d81798a57d85038bcf09a2a9e99df713b4d6fc1e3926910fbbf1f006133cb27dc5ebb9cca85\nB = 92a4f45a90965a4ef454f1cdd883d20f0f3be34d43588b5914677c39d577a052d1b25a522be1a656860a540970f99cbc8a3adf3e2139770f664b4b7b9379e13daf7d26c\nLCM = 4c715520ed920718c3b2f62821bc75e3ff9fd184f76c60faf2906ef68d28cd540d3d6c071fa8704edd519709c3b09dfaee12cb02ab01ad0f3af4f5923d5705ce6d18bcab705a97e21896bb5dd8acb36ee8ec98c254a4ddc744297827a33c241f09016a5f109248c83dd41e4cea73ce3eabb28d76678b7e15545b96d22da83c111b6b624\n\nGCD = dc0429aa\nA = ccb423cfb78d7150201a97114b6644e8e0bbbb33cadb0ef5da5d3c521a244ec96e6d1538c64c10c85b2089bdd702d74c505adce9235aa4195068c9077217c0d431de7f96\nB = 710786f3d9022fc3acbf47ac901f62debcfda684a39234644bac630ab2d211111df71c0844b02c969fc5b4c5a15b785c96efd1e403514235dc9356f7faf75a0888de5e5a\nLCM = 6929af911850c55450e2f2c4c9a72adf284fe271cf26e41c66e1a2ee19e30d928ae824f13d4e2a6d7bb12d10411573e04011725d3b6089c28d87738749107d990162b485805f5eedc8f788345bcbb5963641f73c303b2d92f80529902d3c2d7899623958499c8a9133aae49a616c96a2c5482a37947f23af18c3247203ac2d0e760340e6\n\nGCD = 743166058\nA = 16cd476e8031d4624716238a3f85badd97f274cdfd9d53e0bd74de2a6c46d1827cc83057f3889588b6b7ca0640e7d743ed4a6eaf6f9b8df130011ecc72f56ef0af79680\nB = 86eba1fc8d761f22e0f596a03fcb6fe53ad15a03f5b4e37999f60b20966f78ba3280f02d3853f9ace40438ccfaf8faed7ace2f2bf089b2cdd4713f3f293bf602666c39f8\nLCM = 1a7a1b38727324d6ba0290f259b8e2b89c339b2445cada38a5a00ded1468ab069f40678ce76f7f78c7c6f97783cc8a49ef7e2a0c73abbac3abc66d1ce99566ce7f874a8949ca3442051e71967695dc65361184748c1908e1b587dc02ed899a524b34eb30b6f8db302432cfa1a8fbf2c46591e0ab3db7fd32c01b1f86c39832ee9f0c80\n\nGCD = 6612ba2c\nA = 0\nB = 6612ba2c\nLCM = 0\n\nGCD = 6612ba2c\nA = 6612ba2c\nB = 0\nLCM = 0\n\nGCD = 6612ba2c\nA = 6612ba2c\nB = 6612ba2c\nLCM = 6612ba2c\n\nGCD = 2272525aa08ccb20\nA = 11b9e23001e7446f6483fc9977140d91c3d82568dabb1f043a5620544fc3dda233b51009274cdb004fdff3f5c4267d34181d543d913553b6bdb11ce2a9392365fec8f9a3797e1200\nB = 11295529342bfb795f0611d03afb873c70bd16322b2cf9483f357f723b5b19f796a6206cf3ae3982daaeafcd9a68f0ce3355a7eba3fe4e743683709a2dd4b2ff46158bd99ff4d5a0\nLCM = 8d4cbf00d02f6adbaa70484bcd42ea932000843dcb667c69b75142426255f79b6c3b6bf22572597100c06c3277e40bf60c14c1f4a6822d86167812038cf1eefec2b0b19981ad99ad3125ff4a455a4a8344cbc609e1b3a173533db432bd717c72be25e05ed488d3970e7ed17a46353c5e0d91c8428d2fec7a93210759589df042cab028f545e3a00\n\nGCD = 3480bf145713d56f9\nA = 8cf8ef1d4f216c6bcec673208fd93b7561b0eb8303af57113edc5c6ff4e1eeae9ddc3112b943d947653ba2179b7f63505465126d88ad0a0a15b682f5c89aa4a2a51c768cd9fdeaa9\nB = a6fd114023e7d79017c552a9051ca827f3ffa9f31e2ee9d78f8408967064fcdc9466e95cc8fac9a4fa88248987caf7cf57af58400d27abd60d9b79d2fe03fad76b879eceb504d7f\nLCM = 1c05eee73a4f0db210a9007f94a5af88c1cdd2cba456061fd41de1e746d836fa4e0e", - "972812842e0f44f10a61505f5d55760c48ba0d06af78bb6bde7da8b0080b29f82b1161e9c0b5458e05ac090b00f4d78b1cc10cf065124ba610e3acab092a36fe408525e21c0ddc7c9696ed4e48bd2f70423deecfe62cecc865c6088f265da0e5961d3f3a84f\n\nGCD = 917e74ae941fcaae\nA = 652f8a92d96cbf0a309629011d0fbaceb1266bc2e8243d9e494eead4cf7100c661b537a8bea93dec88cfc68597d88a976c125c3b4de19aba38d4ea9578202e59848d42652518348a\nB = 32e07b71979d57e8344e97c39680a61e07d692d824ae26b682156890792d8a766ee29a4968f461aaced5bf049044fba2f4120b1c1f05985676f975d4582e9e82750d73c532cd07b2\nLCM = 23620c7b897dc26c7717e32f3517ac70bf09fbe08f7255ab010cf4cf946f4e96304c425043452c5d5a0e841d3a3cfd9c2d84d9256f3b5974fe3ebfa9255fe20a710d3e6511606c0d85970381101c7f4986d65ad6a73a71507f146b11f903043cfa805cc0b14d4f3072da98bf22282f7762040406c02d5b3ef9e7587f63bab8b29c61d8e30911aa96\n\nGCD = 2b9adc82005b2697\nA = 19764a84f46045ef1bca571d3cbf49b4545998e64d2e564cc343a53bc7a0bcfbe0baa5383f2b346e224eb9ce1137d9a4f79e8e19f946a493ff08c9b423574d56cbe053155177c37\nB = 1bbd489ad2ab825885cdac571a95ab4924e7446ce06c0f77cf29666a1e20ed5d9bc65e4102e11131d824acad1592075e13024e11f12f8210d86ab52aa60deb250b3930aabd960e5a\nLCM = 1032a0c5fffc0425e6478185db0e5985c645dd929c7ebfeb5c1ee12ee3d7b842cfab8c9aa7ff3131ac41d4988fb928c0073103cea6bb2cc39808f1b0ad79a6d080eac5a0fc6e3853d43f903729549e03dba0a4405500e0096b9c8e00510c1852982baec441ed94efb80a78ed28ed526d055ad34751b831b8749b7c19728bf229357cc5e17eb8e1a\n\nGCD = 8d9d4f30773c4edf\nA = 0\nB = 8d9d4f30773c4edf\nLCM = 0\n\nGCD = 8d9d4f30773c4edf\nA = 8d9d4f30773c4edf\nB = 0\nLCM = 0\n\nGCD = 8d9d4f30773c4edf\nA = 8d9d4f30773c4edf\nB = 8d9d4f30773c4edf\nLCM = 8d9d4f30773c4edf\n\nGCD = 6ebd8eafb9a957a6c3d3d5016be604f9624b0debf04d19cdabccf3612bbd59e00\nA = 34dc66a0ffd5b8b5e0ffc858dfc4655753e59247c4f82a4d2543b1f7bb7be0e24d2bbf27bb0b2b7e56ee22b29bbde7baf0d7bfb96331e27ba029de9ffdff7bdb7dc4da836d0e58a0829367ec84ea256833fd4fe1456ad4dd920557a345e12000\nB = 1f3406a20e20ebf96ccb765f898889a19b7636608fd7dc7c212607b641399543f71111d60e42989de01eaa6ff19a86ea8fbde1a3d368c0d86dc899e8e250fc764090f337958ca493119cbb4ad70cbfae7097d06d4f90ec62fbdd3f0a4496e600\nLCM = ee502c50e3667946e9089d0a9a0382e7fd0b75a17db23b56a0eec997a112c4dbd56d188808f76fe90451e5605550c9559ef14a95014c6eb97e9c1c659b98515c41470142843de60f72fb4c235faa55b0a97d943221003d44e2c28928f0b84bf071256254897ed31a7fd8d174fc962bc1311f67900ac3abcad83a28e259812f1ee229511ab1d82d41f5add34693ba7519babd52eb4ec9de31581f5f2e40a000\n\nGCD = ef7399b217fc6a62b90461e58a44b22e5280d480b148ec4e3b4d106583f8e428\nA = 7025e2fe5f00aec73d90f5ad80d99ca873f71997d58e59937423a5e6ddeb5e1925ed2fd2c36a5a9fc560c9023d6332c5d8a4b333d3315ed419d60b2f98ccf28bbf5bf539284fd070d2690aeaac747a3d6384ee6450903a64c3017de33c969c98\nB = df0ac41dbabce1deeb0bceb1b65b1079850052ecf6534d0cff84a5a7fb5e63baee028d240f4419925154b96eaa69e8fbb1aae5102db7916234f290aa60c5d7e69406f02aeea9fe9384afbff7d878c9ac87cd31f7c35dff243b1441e09baff478\nLCM = 687669343f5208a6b2bb2e2efcac41ec467a438fde288cc5ef7157d130139ba65db9eb53e86a30c870bd769c0e0ab15a50f656cd9626621ae68d85eaff491b98da3ea5812062e4145af11ea5e1da457084911961ef2cd2ac45715f885ba94b4082aa76ffd1f32461f47c845b229d350bf36514c5ce3a7c782418746be342eca2721346ade73a59475f178c4f2448e1326110f5d26a0fef1a7a0c9288489e4dc8\n\nGCD = 84b917557acf24dff70cb282a07fc52548b6fbbe96ca8c46d0397c8e44d30573\nA = 81dbb771713342b33912b03f08649fb2506874b96125a1ac712bc94bfd09b679db7327a824f0a5837046f58af3a8365c89e06ff4d48784f60086a99816e0065a5f6f0f49066b0ff4c972a6b837b63373ca4bb04dcc21e5effb6dfe38271cb0fa\nB = 1da91553c0a2217442f1c502a437bb14d8c385aa595db47b23a97b53927b4493dd19f1bc8baf145bc10052394243089a7b88d19b6f106e64a5ab34acad94538ab504d1c8ebf22ac42048bbd1d4b0294a2e12c09fe2a3bd92756ba7578cb34b39\nLCM = 1d0530f8142754d1ee0249b0c3968d0ae7570e37dadbe4824ab966d655abf04cd6de5eb700eba89d8352dec3ae51f2a10267c32fbd39b788c7c5047fe69da3d7ad505435a6212f44899ba7e983bb780f62bcdee6f94b7dba8af7070a4cc008f351ae8be4579bc4a2e5c659ce000ad9c8cdc83723b32c96aeb0f5f4127f6347353d05525f559a8543cd389ad0af6f9d08a75b8c0b32419c097e6efe8746aee92e\n\nGCD = 66091477ea3b37f115038095814605896e845b20259a772f09405a8818f644aa\nA = cedac27069a68edfd49bd5a859173c8e318ba8be65673d9d2ba13c717568754ed9cbc10bb6c32da3b7238cff8c1352d6325668fd21b4e82620c2e75ee0c4b1aff6fb1e9b948bbdb1af83cecdf356299b50543b72f801b6a58444b176e4369e0\nB = 5f64ca1ba481f42c4c9cf1ffa0e515b52aa9d69ceb97c4a2897f2e9fa87f72bae56ee6c5227f354304994c6a5cc742d9f09b2c058521975f69ca5835bce898cf22b28457cd7e28870df14e663bb46c9be8f6662f4ff34d5c4ae17a888eba504e\nLCM = c163cb28642e19a40aa77887c63180c2c49fc10cda98f6f929c8131752ea30b5283a814a81681b69b9d1762e6c1a9db85f480bc17f998d235fd7e64c1caa70ef170c9e816d3e80f516b29f2c80cfb68bf208b4d5082ef078da4314b3f20c7d6c54b0aeb378096b029a7b61c0a4cd14aeddc01004c53915a4f692d2291752e5af46b23d7fa6dd61f2d56c6f4bf8e6119688abac8fd7aba80e846a7764bb3fca0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = 0\nB = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nLCM = 0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nB = 0\nLCM = 0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nB = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nLCM = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\n\nGCD = 120451d8307219aa0c96f328ad653ccd462e92423ca93ed8a3dde45bf5cb9b13cdaf9800e4d05dd71c4db6a129fb3280ee4ec96ec5297d881c1a8b5efccbd91fef21f5c5bf5fba42a4c8eaa358f620a074b7a17054527bdaa58d5acaa0dfdc48ecba1a10ebf4d57bb4215de406e6be13fed3fe493b1cd1e2d11a8d4ac03c47756\nA = 3f8179a8e1f0b342475a855c3e1bae402dd41424cf24a0b4d2e263c8efb08bde7d92eae8607fb5e88b1378f0f1bd0733f229a35be6b1383a48d32749d5d6b32427d26323b7ab05bb5781289e96bfbc21971439319b15f6c0fe93fdb35d0b67ec41443c59a081dd3cef047ac797fccb45bece84c0bb0bb7e1797259526d8ec9cc63ba4d32cfc692ccd3d243cb2b53ac216312f3a8e8c0daa09d21b6150d697639a5e52059414a417c607be8ec0eee2e708219cadbaf37a369c4485b01ed87bbc2\nB = 2c474e396a2dd9cd10b9d7313f69d3b4ca123e9fd853edd488339236d14c56453a1381958864a04d2624e81995dabcdd0ccf60db9917813f887de68da075d0ea4440001e18f470e43b38ee3440b49be651d709fbdef980e3e4149913f4ae2681124f54523f4881376ddb533b5219e804cc26f4c2e577be4e02613c4da80ba1215775b0a5178a965ad47bd2befb32493943ded1004ef66347b4983f8d1ba990d4a943505dfce6debcfb322842ed88106cd6dee9aa592ff0d2274bc727a6e1f14c\nLCM = 9c129cf649555bfd2d3d9c64dc6d6f022295e53bca5d2f218adaa66aa60eb4694429b7e83bf81b6df4459c5104023ab9a33f006ffcd8114507baa17e2ef6fe23ebdd4740f66879033da2041f2cb7ba517ad3526ffe75614ea9432c085f71b2d65a736bac7ba42b639e330b82733372083843dcb78b6a273ab20e0d4b7c8998a14048aa15bb20a0a0bd997917107274c89b4cec175fb98043d52e6c555bd9e0036566d052a6d4e7e276d1e8835e1f06e3ca46d47747ba586e95fb1a790d992834b7c3e136141eb8a434e6c12067246ac3c0a81c69e03b1ed28aa0b3173d6eff83d278c2f461a47a416f3f9a5dae3bb410fd18817bd4115e7f1e84b936cc02364\n\nGCD = 95aa569a2c76854300d7660847dd20fe0b8c445fdbcaa98465cee61aee76ad6a438e75a8c573198570ffb62bc07ec3a2be0ae0a1f631670fa88d6f75f3161e8b9a4d44b6801ffc884c7f469c5ed1f27b1edecce9f2977f9e92d1a3b230492fea7e6f2af739dc158a7fbd29856cbedb57b4119e64b27ab09eb1c2df01507d6e7fd\nA = 4c653b5bfec44e9be100c064dffe5d8cd59b0cf4cc56b03eabb4ef87cfda6506c9a756b811907fe9d8b783eb7a0b9e129773bf1da365ddb488d27b16fb983e89345d1ccdb4f06a67a11925c3f266373be5d7b0075189c6f3c2157e2da197058fe0a7bcc50adc34e99e254a29abbe2d5948d3157e1b0c3fca3d641760f7b9862843b63abef0b3d83fd486f4526b30382fda355575da30e9a106718a3921774c4d69f5311f8d737fe618f5236b4763fe1b2ee7f13184db67367d3903c535ff6d7b\nB = 2dcca83c99a28e9fd2f84e78973699baf2f04fd454094730948b22477834a0064817b86e0835e6d7b26e5b0b1dcf4ad91a07ac0780d6522df1fcac758cf5db6c2a5623d7c0f1afefd5718f7b6de639867d07a9ec525991304e9355d1635104bea837f74758d6aa2aab4e4afbb606af1d98de7417505e4710cd0589bdff9a0bf38a857cc59a5f1781043e694fc2337fd84bdeb28b13a222bb09328a81ec409ad586e74236393d27398cc24d412135e34247c589149e134b97f4bd538ac9a3424b\nLCM = 1760c0b0066aa0695767099e87e9388729ea89b8e8c36bddcd04d257591e741613c07b0e69447c0a468c33a745084171e06523d987d8db40a1433bf435325e8a724a0876503b34495170ff3671d42117a2e4f3a75b1d9dd809a34fa0fb26fe50d84f80a9b02e40190e5", - "efb927a5a61a03f13edbce2e666af6c3a2a9bcb84e47e3090008753ff27c4b8cf06480f471379a93f5230923623a83b286b71a555cd5e5347282f664ed90b14b2c4de84a70375e488211a7b3931119ef3bbe029b712389fe784818a0bf29d80733ce9cc940c547aa1eb3f06d492eb676bf37802283c82ce76156dfaab5c2d5107e08062681b5fa169f6eb68e1ab8bd9b2005e90bd4fd\n\nGCD = 244b9b1290cf5b4ba2f810574c050651489f2d3a2b03e702b76ebfaf4e33de9bbe5da24c919e68d3a72eadd35982b3a89c6b18b38ff7082ac65263e52b6ec75a5717b971c98257b194c828bff0216a99536603b41a396ea2fb50f5ea7cf3edf10bb0d039123e78593ae9ffcbbba02e51e038533e83b6bc73c70551d6467f39809\nA = 41a0b1310669500681cdf888836f6c556758750f562d743ac780dd4c0d161856380e44fdbb1f8a2786bf45be6b0e7f1cb2cd85f6b9e50acc72793d92383c7d7fb796fc74d32e8fac8225bdc19ae47546d9c9c75f5f06ca684f07daccaf89ccf2cddeb7ec255d530c7dd1e71daf44cafdc9d30fbcb1cbaefae3480585f79f4177e3834a5bc91845e2e8cd8aeb27f484e5e5b2c3c076dbb6c23e91303f0a0fdde83cd33a8ea6ed1549e727b4d766c1017c169710fd98e1585d60f66e121f9180b3\nB = 251f5aeaa60b3959285f49540cdaf8e21451110bbddb9933bbbcaea3112f4eb45e435a3ba37c52d2ab79ce997a8f6c829b3aa561f2852924b8effb52396d09d2bf257ebb4fb56c7aa25648f69b06d2cd01e876c9f9c0679de9e6fffa79eb7e603723e5af7de46ee405a5a079229577b5b6fffb8d43e391fe6f4eb89638e64d6eff8026249aaa355a91625eb0bfd14caa81e4c3586aaa2e94fde143a44f223a91e226661d12f55dfcdb4215e5a64e14e968005733be6a71c465de312ca109b34a\nLCM = 431f918b274f3e43f446e4e85567883d6536a0332db662cef088f5a36b0f4b68372048174ba10fee94b9f8f1c2e189c974be2e6e8ae8e2ae108445326d40f63e38d8d4e2e46174589a3cbc9583e0036dc8146e79eee9e96f4436313b3f143dd0f5aceab05243def7f915169c360f55ef123977cf623c5ba432c3259c62fb5e37d5adab0f24b825aa4ada99ec4e83e9ca4698399e1ed633091ce5f9844c540a642cd264201116ed4168aa2105a5159f5df064f845830c469140f766c7319052ce59bd1ad7c3f2d8c30e54f147f6aeb5586c70c984302ba18d854a60aec01b394c7d66fa33fe18fe4a8cfb3238df219294e6e42190a30d28b10049a1b75853a4e\n\nGCD = 206695d52bc391a4db61bf8cb6ea96188333a9c78f477ee76976c2346dad682cf56ca6f176d86ef67d41ff5921b6162b0eca52359975872430dd14c45643eacdf028d830770714c033fd150669705851b2f02de932322d271d565d26768530c3f6cb84f0b3356f970b9070b26c050ead0417152c324c8ffe266d4e8b5b7bef3a\nA = 1114eb9f1a9d5947eb1399e57f5c980833489685023ed2fe537fe1276c1e026b9a19e6fff55aa889d6c4e977b6e6f3111e2ad463138637b50f42cf32e57d83f282de9e72f813e5969195159a666d74dcd689bd527c60199ae327f7bd548ac36868fea5fdf6f35d19b921e7c10b6448ca480de6826478cd0642d72f05af3f8e65ce42409fbd49f56e81946e89c8e83962c4edc0ed54600600a305e52d081aed3c351e450e11f8fb0ce5754c92cf765b71393b2b7a89c95df79b9ea1b3cb600862\nB = 1d8f3179ca7b5cc7119360c10de939ffa57c9043da2f2b0ca3009c9bdad9f19ed16e3c2c197bef4b527fa1bf2bbab98b77e26c329911db68bd63d3d0fbfc727a977395b9ad067106de3094d68e097830858c5ccfa505fc25e972bdee6f347e7d1163efacd3d29a791ec2a94ffeed467884ae04896efc5e7e5f43d8d76c147e3c9951a1999173bc4e5767d51268b92cc68487ba1295372143b538711e0a62bf0ac111cc750ca4dd6c318c9cbe106d7fc492261404b86a1ba728e2d25b1976dc42\nLCM = f9570211f694141bfb096560551080cbe02a80271b4505591aaea9e3b99ea1d5ac1c1f2378fd72799e117ac2a73381b1ad26314e39972164d93971479ee3ba21a4d98cef0bd299d540ce5826995dcee0de420dff73d30b23cbf3188c625c7696df517535bc5675d71faa00807efbebdca547933f4a37849d1c014484a77da6df0670c4974bcc91eb5f5fe5faf9dd095ef195ec32ad9eeebf0e63288b4032ed9e70b888afc642f4ff96f0b4c0a68787301c12e4527fe79bdfe72dd3844ab5e094a9295df6616f24d1b9eeebc2116177dacf91969dda73667bc421ef3ccd8d5c23dddc283f5d36568d31f2654926be67f78e181075bdc148f2b39c630b141ae8a\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 0\nB = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nLCM = 0\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nB = 0\nLCM = 0\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nB = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nLCM = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\n\nGCD = 2\nA = 14e95a85e59ade9ef39e2f400c65db18702fa5fc485b9bba479a5282b2206129160e54f73ef4917983c17b4c5ebff7be112a886de069706eee29ba902515cb038\nB = ddcfff1d39c90c599f55495bf71c1e7597c6b08b7430707f360c6a6e5137bbc7b403c6d9e2c34f3d2f29d5d32b869346853c2de239cc35381bdfb4a01569211a\nLCM = 90f38564ee72e55d362c04599e7d74f068c75f541b84e97abba2841f1a9f66b06b5c9009f6a4c2e319fced85270588de03ccebddbd9279aaecb13bdc1dbea7f42acaee751cb7da83779b8785cc86f41b94b13b54964208ca287d981634778d1096f20e76ca636c0717fd27e0800c43f599a5eded807421b502eaf9990a8c8ed8\n\nGCD = 4\nA = 3c719c1c363cdeb7b57c2aabb71f425da4c3e6d3e447204d555e7cf0f3d372bdda906f36078045044978dafc20171767c8b1464d52dfdf3e2ba8a4906da033a8\nB = 30fe0ef151ac51404e128c064d836b191921769dc02d9b09889ed40eb68d15bfdd2edea33580a1a4d7dcee918fefd5c776cbe80ca6131aa080d3989b5e77e1b24\nLCM = 2e4526157bbd765b0486d90bcd4728f890bc6dbd9a855c67ca5cb2d6b48f8e74e1d99485999e04b193afca58dbf282610185d6c0272007744ff26e00dbdc813929b47940b137dc56ba974da07d54a1c50ec4a5c2b26e83f47cf17f4ccce8c3687e8d1e91d7c491a599f3d057c73473723ce9eee52c20fe8ae1595447552a7ee8\n\nGCD = 10\nA = 44e04071d09119ea9783a53df35de4a989200133bb20280fdca6003d3ca63fdd9350ad1a1673d444d2f7c7be639824681643ec4f77535c626bd3ee8fa100e0bb0\nB = ca927a5a3124ce89accd6ac41a8441d352a5d42feb7f62687a5ebc0e181cc2679888ecc2d38516bdc3b3443550efccac81e53044ae9341ecace2598fe5ce67780\nLCM = 36805ba9b2412a0cb3fe4ed9bdabfa55515c9d615a3d0af268c45c5f6098d2de4a583f3791f1e3883c55d51ce23c5658fd0e8faa9a3709a1cfbd6a61dbab861690f27c86664f084c86cfd4a183b24aaadf59a6f8cbec04f1b0ded8a59b188cb46ae920052e3e099a570540dbc00f7d4a571eef08aa70d2d189a1804bf04e94a80\n\nGCD = 100\nA = 73725032b214a677687c811031555b0c51c1703f10d59b97a4d732b7feaec5726cb3882193419d3f057583b2bc02b297d76bb689977936febaae92638fdfc46a00\nB = 979f4c10f4dc60ad15068cedd62ff0ab293aeaa1d6935763aed41fe3e445de2e366e8661eadf345201529310f4b805c5800b99f351fddab95d7f313e3bb429d900\nLCM = 4460439b4be72f533e9c7232f7e99c48328b457969364c951868ceab56cb2cbbeda8be2e8e3cae45c0758048468b841fdb246b2086d19b59d17b389333166ab82ed785860620d53c44f7aaaff4625ee70fb8072df10fb4d1acb142eadc02978ff2bb07cea9f434e35424b3323a7bda3a1a57aa60c75e49ebb2f59fb653aa77da00\n\nGCD = 100000000\nA = f8b4f19e09f5862d79fb2931c4d616a1b8e0dd44781ca52902c8035166c8fca52d33a56ff484c365ec1257de7fa8ed2786163cfc051d5223b4aad859a049e8ba00000000\nB = 6e54cb41b454b080e68a2c3dd0fa79f516eb80239af2be8250ca9cd377ba501aabafc09146fad4402bdc7a49f2c3eec815e25f4c0a223f58e36709eefd92410500000000\nLCM = 6b3020a880ddeff9d17d3dc234da8771962de3322cd15ba7b1e4b1dd4a6a2a802a16c49653865c6fdf6c207cbe0940f8d81ef4cb0e159385fd709d515ee99d109ad9ad680031cbae4eab2ed62944babdade4e3036426", - "b18920022f737897c7d751dce98d626cdda761fec48ad87a377fb70f97a0a15aa3d10d865785719cc5a200000000\n", + "M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 1\nA = -b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d964\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# A == M, so A == 0 (mod M) so A ^ E (mod M) == 0. Note that A mod M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 0\nA = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# A is negative, and A (mod M) is the right length for RSAZ.\nModExp = 9cf810b9e89d5cbc4b79ae64e123ea06d92965e2bab077df97a1b906dc2e1ddcf96a9c4ed14e2cd96309b829ea9cc2a74a7d4b43c5f34d792a7c583201427754b8f78b783608070a84b61f18913e3ced7f7f530972de7764667c54e29d756eea38a93cd1703c676a4587231b0ebfeadddf908e2877a7a84b5bfc370ecf0d158d\nA = -8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# Regression test for CVE-2017-3738.\nModExp = d360792bd8210786607817c3dda64cc38c8d0f25569597cb1f363c7919a0c3587baff01a2283edaeb04fc288ac0ab3f279b2a89ffcb452d8bdf72422a9f9780f4aa702dc964cf033149d3a339883062cab8564aebdbfac0bf68985e522c6fe545b346044690c525ca85d3f4eb3e3c25cdf541545afc84a309e9b1d7807003461\nA = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2020202020df\nE = 2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020FF2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020\nM = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2020202020ff\n\n# Test vectors for CVE-2019-1551. (We do not carry the assembly file with the\n# bug, but we use the test vectors anyway.)\n\n# Original test vectors by OSS-Fuzz.\nModExp = 9d675d188a07e9bd1b32638cc8cfd5002ef89bd1a9648f806567b87939140a67977dc8da17323b8e4c6bc53875cda8b656df8f54cc32e44fd9c21d122ea3c0d6\nA = dea9b3e0b44ae67b2ac9b7c2b18eeb4dab206b014981a46ac409f195eeb6896f132cf8497c87d1188008ee511054ebb426203355b7d515dce9501cb759ac1373\nE = b01ae745b101e9e45ec05dcff72e7f8fc04c79ffe324301fda0b4f7be81d85c4e875c73fc6c5cb40000000000000000000000000000000000\nM = ffffffff01ffffffffffffffffffffffffffe2000000000000000000000000000010fab8d960706cd4c21818115650cad61d4f10da325dffffffff00ffff00ff\n\nModExp = 651f811b62ee8770e3598c340864dd6b0be9bb6376b6f933ab216fd55538e6ad1000cb2b3c64f54d554e004b6eec8138e6ecff00452d443a42041b72e6cd9ead\nA = 3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e\nE = 3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e09003e3e3e3e3e3e3e3e3e3e3e3e3e3e010900230a01230a2100ffffff0000adf300a58700000000ffffff00\nM = ffffff0b00000000000000000000000000ffffffff0000ffffffff00000a0000000a00000000000000000000ffffffff000000000000ffffffffffff000000ff\n\n# Test vectors for rsaz_512_sqr bug, with rcx/rbx=1\n\n# between first and second iteration\nModExp = 1\nA = 624e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d973b6\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between second and third iteration\nModExp = 1\nA = 11024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d97360800000000000000f\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between third and fourth iteration\nModExp = 1\nA = 4171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d9736080000000000000000000000000000039\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between fourth and fifth iteration\nModExp = 1\nA = 6a171024e6a171024e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d97360800000000000000000000000000000000000000000000006\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between fifth and sixth iteration\nModExp = 1\nA = 44e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d97360800000000000000000000000000000000000000000000000000000000000003c\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between sixth and seventh iteration\nModExp = 1\nA = 1024e6a171024e6a14ce297f2873536f959d8c3390d973608000000000000000000000000000000000000000000000000000000000000000000000000000000e\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between seventh and eighth iteration\nModExp = 1\nA = 626eee5e3c8653be47ed15e84b97cc7f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000187\nE = c0000000000000000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000002f8\nM = c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f9\n\n# Test vectors for rsaz_512_srq bug, with rcx/rbx=2\n\n# between first and second iteration\nModExp = 1\nA = 3c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf7c\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between second and third iteration\nModExp = 1\nA = 485c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf47800000000000003f\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between third and forth iteration\nModExp = 1\nA = 59a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf478000000000000000000000000000004e\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between forth and fifth iteration\nModExp = 1\nA = 2939a85c40939a85c40939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf47800000000000000000000000000000000000000000000024\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between fifth and sixth iteration\nModExp = 1\nA = 640939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf478000000000000000000000000000000000000000000000000000000000000057\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between sixth and seventh iteration\nModExp = 1\nA = 25c40939a85c4093995e8efdb195e8efd8caf477ed8caf4780000000000000000000000000000000000000000000000000000000000000000000000000000021\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between seventh and eighth iteration\nModExp = 1\nA = 7b4919849931b28a14fcace213f2b3884fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84b6e67b66ce4d9c\nE = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000004c\nM = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000004d\n\n\n# Exp tests.\n#\n# These test vectors satisfy A ^ E = Exp.\n\nExp = aa6d7ac431\nA = d0e07\nE = 2\n\nExp = 12d416b110dbb4e467ff0c89a22122f4da8240\nA = 1a18cf6\nE = 6\n\nExp = 49a3b33e23d84f1ce0d5d83f5dcb651d50cf3920f0143da2310d0512a90a06cd8f38977df8a756c30883de38df092000\nA = 2a3acbd2\nE = d\n\nExp = 5b4a0d5a956f885f275712b194459980f24708bfb6393d71bd37dce852ce455724f5ee5030775fb86b4295edc98afaafc097e4d82a97c0078ec0eac763db16549c5145c4cf2d3124f88cf9a5c71da0625afb99b26801786fe49a778415dc025954021753d08691947a208b613f0be5c1\nA = 54b3ae461\nE = 1a\n\nExp = a0ea5f6a4de49beb8fb7f0dab280d6a32c5a3814c9a5153a7944cec0a9028497846a8a89044348721a0bb5f0c3ded3e980574ea321b0cdb0ead4f4e93841ea7478a7f15d9729b646a8165813a0750e8124f5465dda9b105e1bbeff18fd09c09a2e26610d9176d253b877c3a8908a6be521cbe1e472a7a1b7820e4e890f8f28aacd34609c686e76e15b01bd9324a71290812724ea564d11c874a6765b262c3e57d479da0287a76026a1e8fe53da0b02405da1d379eaa30fc65f\nA = fccec0f6df\nE = 25\n\n\n# ModSqrt tests.\n#\n# These test vectors satisfy ModSqrt * ModSqrt = A (mod P) with P a prime.\n# ModSqrt is in [0, (P-1)/2].\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = -1\nP = 2\n\nModSqrt = 1\nA = -1\nP = 2\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = -3\nP = 3\n\nModSqrt = 0\nA = -3\nP = 3\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = 0\nP = 5\n\nModSqrt = 1\nA = -4\nP = 5\n\nModSqrt = 0\nA = -5\nP = 5\n\nModSqrt = 2\nA = 4\nP = 5\n\nModSqrt = 0\nA = -5\nP = 5\n\nModSqrt = 3\nA = -5\nP = 7\n\nModSqrt = 0\nA = 0\nP = 7\n\nModSqrt = 0\nA = 0\nP = 7\n\nModSqrt = 2\nA = 4\nP = 7\n\nModSqrt = 3\nA = -5\nP = 7\n\nModSqrt = 4\nA = 10\nP = b\n\nModSqrt = 0\nA = 0\nP = b\n\nModSqrt = 3\nA = -2\nP = b\n\nModSqrt = 3\nA = -2\nP = b\n\nModSqrt = 2\nA = 4\nP = b\n\nModSqrt = 2\nA = 1e\nP = d\n\nModSqrt = 2\nA = 1e\nP = d\n\nModSqrt = 0\nA = -d\nP = d\n\nModSqrt = 0\nA = -d\nP = d\n\nModSqrt = 3\nA = 9\nP = d\n\nModSqrt = 8\nA = d\nP = 11\n\nModSqrt = 6\nA = df\nP = 11\n\nModSqrt = 4\nA = 10\nP = 11\n\nModSqrt = 5\nA = 90\nP = 11\n\nModSqrt = 3\nA = 80\nP = 11\n\nModSqrt = 9\nA = -e\nP = 13\n\nModSqrt = 7\nA = 7d\nP = 13\n\nModSqrt = 6\nA = 37\nP = 13\n\nModSqrt = 1\nA = 1\nP = 13\n\nModSqrt = 8\nA = 1a\nP = 13\n\nModSqrt = 54d4cf0fafe265056a29016778cea6b712bc66a132fb5e6b6865e9b49e4c97ec\nA = 599c10484b22d0b5a115268c7538ca99b3253a311a4ab1ca11c3665b0bec393a1167d1ad94fb84cb2c7ad7e2c933e8f613bdd08fe1f1aa4a9b0b9de0c8a7c9d4\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 38a7365a15365e911286c1be2a7afe76ef390234d76269e04dee17313f6ea54d\nA = 1c4aabb4d8369710131c664ecf2849e963c1bc31d66e0b939bacf99a870c71f24ed71bdddcf566f3908271fee43fc1ebb51eac7e3153efae641b49d2e796a12a\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 35ab18a560dece04725667f640ca61d1d59f14d191f94c79f58531acd097d444\nA = 685168ae855d60eba220d803f5296459b30a289580668db9ed51bca51cc2d453a937e13819ae34f7a9a143ac96d17420c53919167e46279b562b550be1cd9abc\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 288370029e87024175e5bec0eab0929179f42e16995e7f6194eefc61061e54f4\nA = 2a14ab77c045bdc48220ba9c463e1a4b4049cb01edb53be0937767eb2ec19b7d719855052281250a36a0b76d9a5d967d0756e1ded7a052f7056191ad66bcfc9\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 32255cf01dc943577ec2bcb221b98491d7a1130d046d6c68e95fedff643ce3a4\nA = e26f6dd46a513a1dd3fb14b71be1d4c9e9d79eda1cde10ea4d1eb8abfd4d5857572205e247184dd0cbefa37b5c0bf680ba2bd28c5741f725cfe2aae37419baf\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 5172345e801ada63fbc4782e32583cc3b4fea88b9e6dfd542f3542f8538ade66\nA = 40dafa8342b302bb04b1f3ddb3b9015a8fc1b597857c115b40631c7be9e22de89358fca23b331596ee5ff304dad7811e6d8e8822f7aa533c9e7c882634ea550\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 4dcf63c423bf0e39aca2293d57f6792d023db649d6719fe936446904b9f7e60d\nA = 5bcdb514bbe84261e169203e8017909b60c9bb330400c766ee01b0189378e70e61867a164a12643ddc9e94b61e09e5b158cbe85be228a3cc48f95a552958b8f2\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = cf77c5c2d12a500b75cbfb1f3e66ee75d886b9365cf4f8b4d1bd18a6be0f387\nA = 4652ddc2ea7b460d8ec3c9059b8f9b5dae6cac55b51f2ad86fcb336b25235737965cc515e2ff0b54835015b7ebeeda6fadd986471d8cb424d309fc353d1e269\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 1e0549e4c5a26023e9d24fd8c67419960746f82b1ecd113bdac66f570a475d87\nA = 5f4a6d450ab1390d96ab1deaa0ba18f897cb63daf0c9e1ef6c08e804c26b5e842f6c08f13db5d4a6e88f07af2a3cb04fa06fc3e59c410b9356f025ed81acc74\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 144481a781d831c1ca046ca9e322d79ad4d2c6dd9f780bea9d1ced9cd20b7b23\nA = 4c254fabca441017132b9eacd4ca40a336db3e5c09715773fa07af095989a91cc968ff07a9ff56ed06b0ce0c5269f7b2ab68564ecab9f4467a7e96b6cc6b21b7\nP = a6813d316f9aca30", + "f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 216fecc7667f488a3d2d102a38b46b4860ab858300b8638af4f34e1103fd73ba\nA = 17878f8048227573a9d70f53c0e76ff13fe9f56e9c984c92514d3d13dec23c816661f0618d21371b80dfd885cb59551bdf80046f65f22ea9b89c78645a6e455a\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 458e5e789ccd2417174f7e30bb31914b9656bd8cf2b9f5a9752a8737a67707bc\nA = 5c7d39a4bb04e69201aa519f80ee7e62ea14ca55e13656d1da3f45367e2fb2d061aa2940708d02ac67d35cd2ccf54a1bf95bcbc759779e692cfdcbb3aa1a05b\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 543125a16c2bb8b8f8a2c39c497e5224ec77533602d7dbe24002e32dcbd2ef1a\nA = 3413afae333b2ad9ff45c7f3c7e5934b3127e8b1a55225958ee6ccf42423e81559bf070ad3f3353b78c0ffd41475af49f59d268ef78bdae879f5155e8d1cc07\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 10e16859c67bdb2eaab52a7c847dbf37162eda258a9f6262ebacfe4cbbbc1080\nA = 21ce7905894faf220bdf4a82a2d855994ca2dc9feaecaa53c7f146e1f49934215695e9bb46ba370b7005a90c399674caa8969eb442e7914d90f749774d7fd194\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 32a00586adc6f6cc2b1a04e1be0ab569fde235e1436c38b6af92bc5ebd60bc1c\nA = 350da4fd8cf03c12f7dd6ac6d3ab801a3413964083e374662aaf878d6838b97d4feb9e52cd307a25b113e101661a865463ee2480c626aa4e2ec437d72e7bae4c\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 971f75bc7afa8b4b50f1d4b05e52deac7d4836a08d30546f29649bf1ca6a247\nA = 655ed4c5d8d0afb4f9360372ee1ef1303898d2423e585108a3303faedb55064d2ef25666ed4c4d71fe6063fea1f3142b435714b0e30b339dd791d347c884654\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 48fa882b7cb6a29de9e3769f72eb67f1efd4d2af56f0c7e410c610efcbce2065\nA = 14f3503f33b243800eac1defaab33e04c01e80163fb3efd03860970cc016832431ca4fc6d1b760f4f40166b0b8b3c40dbebc81460cc10890172243770338f090\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 236fd7e397ea7f8bc2a288eb7236ca41936fa702b7dccca56c8852e147511f7d\nA = 1bbd0980feac854782813bcde4da85e8a054549a1b515e065da4236528035e756882e29e762cf60453e375cca9dc6ff637f9558bf86646e3b928f68f82af7efe\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 693f0cbe8c81b0afde0cd2f83e53795dcae6b0cc4ba930ab5c752400d787f14\nA = 7b20f9664b23907e152ab8c9a907f72e8670c1c38ab4cd1411ea7c2159c09aa131afe068929b8e6ad1409b74c04975180d1cd0a9fa74e923c3fd451e8da2c34\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 4a086c50b0bad576501ddb6280743b2c9d247841eb7f14d90561432ff7dca6f0\nA = 4367431ec0cd0d7626538b93a090c30fe0c97c18ca03b97ddae304b619112b5b4d02bf0f041fa3fd673f9ef2ceb07eb2079d11c56dd903b1a87e8252a97b8079\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 18f8433fa468d8065157708f1f1e53b8e31d39c6011fbc2bad93de1b5548e19c\nA = 739c032bb4139c199c40f548d37234298772e4ccb9d3ba28412b60ad23b4c465b0787e2382f1c5a4a87af2d20eb978b7dcbe73f2112249477d15c8a85e54a79\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 49e3c8eef5e067cabd51a7c01384ce05ab8f4342f655559d8a689eb7b20e0106\nA = 18400c2cc3e06b99b4e39c77b9af5ff0e9c683f1708321afa4cd5b6988d13b36b1d9eb4379b7902d9ceb40c03f814b2b6a01b90509bbb4532f13ab1571c4d04a\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 35548c530745f440329325cc8a5fbd90c16a7f0788879a4869bc4d4f73acda0e\nA = 181a3c5ab02566e7166c4d6d2f2bd4a8ecc25991a98d270bde80cf4332766a7068b14240bf5f5dcd45e90ef252596da3eb05b11d68b2063f7b3a825742593ca9\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 1ab7046e6af061ade5f9719008fa4d989007e2a579a134a5b9f19ec410984096\nA = 1008a03e211fab0d45856377079bc96b0776c2d4c0175661f3493246cea2ab0a02a706c85314fb707ad9906bedb2cfd577d62092ae08ff21d7b949373ea954c7\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 2be9e3e7515960d90f115b89f60dedc173a73ce163b4036e85b7b6a76fd90852\nA = 392053a9f0100540a8e1a0c353e922068a84dad3a4a8e8962fbc0bee2b6a06e20d08ade16eb1409a16acfcac3db5c43c421505e07035ca308b15c4a6db0864c0\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 5b301bb93bdcf050183107e36258b53b4805918114ea1c2227b0911d5b4dc077\nA = 55e55e5f94dc3d7aabc921f6469d85fa2e1e92a87347c57afad5872306ae69f9fb99297d1e3e793dd9e8632244208154de5da7114fd876383bf1422f7ece024\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 2df9609e2f5a5156c3260461b2ee52eacdef00bd8b091479813143a6c5283f71\nA = 2099325b7f12fe77353ddf3f2b2c5ef77b49671b150af954cf84e9675e3ecde3e057084641a633d19533b4712ab49924c8b5c31d591abcc88291f51253fa2a7\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = dfab751710e9008e25e422d1199d6fbec4dc7fba35b4da9d225a746eb4126a0\nA = c006af53d4737fb293584df6ffe2e4cb3fd8dc77fb7c1f13b97bb9c249e3ee5fb9feff7488265b3093906c08a4946f142ac7b491937d24bfba6413366ce371d\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 26bc030008d6c60a09fb0e16093a649fcb40c6c21a8e2da2353ba4b07c4f85d5\nA = 1eaabcfad2ed349ac9356e6f4da0b301266ddde811cb0f817aba8f5c10fb8b8ba9d0ef2dd386b668f16eac296118fdb8cb7afe1b865648c81c2fa3cf21f2711b\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 35051b1482ec2578f3dc0000a422cb5111e43c37f1ac20b1844d3de2128c4556\nA = 315ff9de178681116f2a5fa78eebf4818e1d680435eacdfaf9d0e5c4fc01fc034b352c82fd52c81ca30d68864952dacc99d08269c9dd7ca99ccf22da98c3840\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = a5474252885cacf004c460a7793ff0b0a2187bb1a9ed700ae3470199faef71f\nA = 19856fc1351c4b02abf573bb2fc6ff92355fa369d62bb8f2260fa772fb1693f509a56cad661930abcac049dd70f4b16bed4a4c172e73e772504c9990ce7f92f\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 12daf4722387ecf47de1b0b6b110a062dc5ea2685bc9dbde66b8d15622985029\nA = fb8479787069116abc42abfd7dc0c24d2ad04fe0c04b42a6dff714af715d17e0fd77855f950f264542b06d48e8818de813ddb7975798b7debefcdaa5ff86beb\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 397996ed5c0ac6ad32e43c337e9de421b87774cc162bf7ac7bbedf4a9029255e\nA = 5aa04353321bd2de92481be740357f979da464b53aa39111fdbb734cf7af6b3857d1baa08d3a126a3dd34a2fbae2bf2b84e900686c1d31505b390185acef5fe5\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 2cf4b844a54ba359dc592ef1b49f43fcfeae84d1087edfefdd0b9174b43c0a3c\nA = 365a8650510bcfd8fa87432f167cf487234c215857403b9270b5eebeafa48cd6da47fd60dc311b94d1d72baad0447c31f0b212d755f46c256e16e5e015e6546e\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 9277c73043ff767c3fa606f0cd66b9d854a600c8c18287f191ce277758c3f31\nA = 62cec3901626d03e8df66299a87c54b1f7a55cafc99f0b6bba1b5d51a3d2b7d2171c9135a9d8a5346d436e0136b12e515e703e3cd84ecfe154eb94c6772a6d72\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 4189e5a90c1b1abdc1c7c05b3587e6f362e06f927b6cf5f0d271aab3d6f90765\nA = 336b8d0f9dac842c696bc020f49c6aa023842c16f2052eb02f17959006554ca0012042c80c72590f21c6bf5a3714c9cb552aa69730e33db93a56a909b273f39\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 36ccd38cb5a6bd8a73bca55936a2227c503664422c2296faf7e2b1c6a375a43a\nA = fecfd60a376befbe48d2c4f6d070d716d2f403cd5daefbce62b720df44deb605162c8f20f49fd7ec30d4f8e70d803d45b3a44b5d912baa3410d991165d7c507\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 198fc8569be172dc9b71023ed3d42d2ba94bae4099643f6517ab03f540527fdb\nA = 65bebdb00a96fc814ec44b81f98b59fba3c30203928fa5214c51e0a97091645280c947b005847f239758482b9bfc45b066fde340d1fe32fc9c1bf02e1b2d0ec\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 21b7f74c30ded681d6138cf8e6fd798f32a049e94138e982f1845df3dc9e686f\nA = 9a30b791c1ba4f394b4e3dcd5837e474237f4fe8987b255c098a47b2c14c598ec69d2beae444dd4fe9c4ede8173d2b187677cc706a3c28f3b81627d8a5fb6fd\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = a1d52989f12f204d3d2167d9b1e6c8a6174c0c786a979a5952383b7b8bd186\nA = 2eee37cf06228a387788188", + "e650bc6d8a2ff402931443f69156a29155eca07dcb45f3aac238d92943c0c25c896098716baa433f25bd696a142f5a69d5d937e81\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\n\n# NotModSquare tests.\n#\n# These test vectors are such that NotModSquare is not a square modulo P.\n\nNotModSquare = 03\nP = 07\n\nNotModSquare = 05\nP = 07\n\nNotModSquare = 06\nP = 07\n\nNotModSquare = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951e\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\n\n# ModInv tests.\n#\n# These test vectors satisfy ModInv * A = 1 (mod M) and 0 <= ModInv < M.\n\nModInv = 00\nA = 00\nM = 01\n\nModInv = 00\nA = 01\nM = 01\n\nModInv = 00\nA = 02\nM = 01\n\nModInv = 00\nA = 03\nM = 01\n\nModInv = 64\nA = 54\nM = e3\n\nModInv = 13\nA = 2b\nM = 30\n\nModInv = 2f\nA = 30\nM = 37\n\nModInv = 4\nA = 13\nM = 4b\n\nModInv = 1c47\nA = cd4\nM = 6a21\n\nModInv = 2b97\nA = 8e7\nM = 49c0\n\nModInv = 29b9\nA = fcb\nM = 3092\n\nModInv = a83\nA = 14bf\nM = 41ae\n\nModInv = 18f15fe1\nA = 11b5d53e\nM = 322e92a1\n\nModInv = 32f9453b\nA = 8af6df6\nM = 33d45eb7\n\nModInv = d696369\nA = c5f89dd5\nM = fc09c17c\n\nModInv = 622839d8\nA = 60c2526\nM = 74200493\n\nModInv = fb5a8aee7bbc4ef\nA = 24ebd835a70be4e2\nM = 9c7256574e0c5e93\n\nModInv = 846bc225402419c\nA = 23026003ab1fbdb\nM = 1683cbe32779c59b\n\nModInv = 5ff84f63a78982f9\nA = 4a2420dc733e1a0f\nM = a73c6bfabefa09e6\n\nModInv = 133e74d28ef42b43\nA = 2e9511ae29cdd41\nM = 15234df99f19fcda\n\nModInv = 46ae1fabe9521e4b99b198fc8439609023aa69be2247c0d1e27c2a0ea332f9c5\nA = 6331fec5f01014046788c919ed50dc86ac7a80c085f1b6f645dd179c0f0dc9cd\nM = 8ef409de82318259a8655a39293b1e762fa2cc7e0aeb4c59713a1e1fff6af640\n\nModInv = 444ccea3a7b21677dd294d34de53cc8a5b51e69b37782310a00fc6bcc975709b\nA = 679280bd880994c08322143a4ea8a0825d0466fda1bb6b3eb86fc8e90747512b\nM = e4fecab84b365c63a0dab4244ce3f921a9c87ec64d69a2031939f55782e99a2e\n\nModInv = 1ac7d7a03ceec5f690f567c9d61bf3469c078285bcc5cf00ac944596e887ca17\nA = 1593ef32d9c784f5091bdff952f5c5f592a3aed6ba8ea865efa6d7df87be1805\nM = 1e276882f90c95e0c1976eb079f97af075445b1361c02018d6bd7191162e67b2\n\nModInv = 639108b90dfe946f498be21303058413bbb0e59d0bd6a6115788705abd0666d6\nA = 9258d6238e4923d120b2d1033573ffcac691526ad0842a3b174dccdbb79887bd\nM = ce62909c39371d463aaba3d4b72ea6da49cb9b529e39e1972ef3ccd9a66fe08f\n\nModInv = aebde7654cb17833a106231c4b9e2f519140e85faee1bfb4192830f03f385e773c0f4767e93e874ffdc3b7a6b7e6a710e5619901c739ee8760a26128e8c91ef8cf761d0e505d8b28ae078d17e6071c372893bb7b72538e518ebc57efa70b7615e406756c49729b7c6e74f84aed7a316b6fa748ff4b9f143129d29dad1bff98bb\nA = a29dacaf5487d354280fdd2745b9ace4cd50f2bde41d0ee529bf26a1913244f708085452ff32feab19a7418897990da46a0633f7c8375d583367319091bbbe069b0052c5e48a7daac9fb650db5af768cd2508ec3e2cda7456d4b9ce1c39459627a8b77e038b826cd7e326d0685b0cd0cb50f026f18300dae9f5fd42aa150ee8b\nM = d686f9b86697313251685e995c09b9f1e337ddfaa050bd2df15bf4ca1dc46c5565021314765299c434ea1a6ec42bf92a29a7d1ffff599f4e50b79a82243fb24813060580c770d4c1140aeb2ab2685007e948b6f1f62e8001a0545619477d498132c907774479f6d95899e6251e7136f79ab6d3b7c82e4aca421e7d22fe7db19c\n\nModInv = 1ec872f4f20439e203597ca4de9d1296743f95781b2fe85d5def808558bbadef02a46b8955f47c83e1625f8bb40228eab09cad2a35c9ad62ab77a30e3932872959c5898674162da244a0ec1f68c0ed89f4b0f3572bfdc658ad15bf1b1c6e1176b0784c9935bd3ff1f49bb43753eacee1d8ca1c0b652d39ec727da83984fe3a0f\nA = 2e527b0a1dc32460b2dd94ec446c692989f7b3c7451a5cbeebf69fc0ea9c4871fbe78682d5dc5b66689f7ed889b52161cd9830b589a93d21ab26dbede6c33959f5a0f0d107169e2daaac78bac8cf2d41a1eb1369cb6dc9e865e73bb2e51b886f4e896082db199175e3dde0c4ed826468f238a77bd894245d0918efc9ca84f945\nM = b13133a9ebe0645f987d170c077eea2aa44e85c9ab10386d02867419a590cb182d9826a882306c212dbe75225adde23f80f5b37ca75ed09df20fc277cc7fbbfac8d9ef37a50f6b68ea158f5447283618e64e1426406d26ea85232afb22bf546c75018c1c55cb84c374d58d9d44c0a13ba88ac2e387765cb4c3269e3a983250fa\n\nModInv = 30ffa1876313a69de1e4e6ee132ea1d3a3da32f3b56f5cfb11402b0ad517dce605cf8e91d69fa375dd887fa8507bd8a28b2d5ce745799126e86f416047709f93f07fbd88918a047f13100ea71b1d48f6fc6d12e5c917646df3041b302187af641eaedf4908abc36f12c204e1526a7d80e96e302fb0779c28d7da607243732f26\nA = 31157208bde6b85ebecaa63735947b3b36fa351b5c47e9e1c40c947339b78bf96066e5dbe21bb42629e6fcdb81f5f88db590bfdd5f4c0a6a0c3fc6377e5c1fd8235e46e291c688b6d6ecfb36604891c2a7c9cbcc58c26e44b43beecb9c5044b58bb58e35de3cf1128f3c116534fe4e421a33f83603c3df1ae36ec88092f67f2a\nM = 53408b23d6cb733e6c9bc3d1e2ea2286a5c83cc4e3e7470f8af3a1d9f28727f5b1f8ae348c1678f5d1105dc3edf2de64e65b9c99545c47e64b770b17c8b4ef5cf194b43a0538053e87a6b95ade1439cebf3d34c6aa72a11c1497f58f76011e16c5be087936d88aba7a740113120e939e27bd3ddcb6580c2841aa406566e33c35\n\nModInv = 87355002f305c81ba0dc97ca2234a2bc02528cefde38b94ac5bd95efc7bf4c140899107fff47f0df9e3c6aa70017ebc90610a750f112cd4f475b9c76b204a953444b4e7196ccf17e93fdaed160b7345ca9b397eddf9446e8ea8ee3676102ce70eaafbe9038a34639789e6f2f1e3f352638f2e8a8f5fc56aaea7ec705ee068dd5\nA = 42a25d0bc96f71750f5ac8a51a1605a41b506cca51c9a7ecf80cad713e56f70f1b4b6fa51cbb101f55fd74f318adefb3af04e0c8a7e281055d5a40dd40913c0e1211767c5be915972c73886106dc49325df6c2df49e9eea4536f0343a8e7d332c6159e4f5bdb20d89f90e67597c4a2a632c31b2ef2534080a9ac61f52303990d\nM = d3d3f95d50570351528a76ab1e806bae1968bd420899bdb3d87c823fac439a4354c31f6c888c939784f18fe10a95e6d203b1901caa18937ba6f8be033af10c35fc869cf3d16bef479f280f53b3499e645d0387554623207ca4989e5de00bfeaa5e9ab56474fc60dd4967b100e0832eaaf2fcb2ef82a181567057b880b3afef62\n\n\n# GCD tests.\n#\n# These test vectors satisfy gcd(A, B) = GCD and lcm(A, B) = LCM.\n\nGCD = 0\nA = 0\nB = 0\n# Just to appease the syntax-checker.\nLCM = 0\n\nGCD = 1\nA = 92ff140ac8a659b31dd904161f9213706a08a817ae845e522c3af0c9096699e059b47c8c2f16434b1c5766ebb384b79190f2b2a62c2378f45e116890e7bb407a\nB = 2f532c9e5902b0d68cd2ed69b2083bc226e8b04c549212c425a5287bb171c6a47fcb926c70cc0d34b8d6201c617aee66af865d31fdc8a2eeb986c19da8bb0897\nLCM = 1b2c97003e520b0bdd59d8c35a180b4aa36bce14211590435b990ad8f4c034ce3c77899581cb4ee1a022874203459b6d53859ab1d99ff755efa253fc0e5d8487bb000c13c566e8937f0fe90b95b68bc278610d4f232770b08d1f31bee55a03da47f2d0ebb9e7861c4f16cc22168b68593e9efcde00f54104b4c3e1a0b294d7f6\n\nGCD = a\nA = faaffa431343074f5c5d6f5788500d7bc68b86eb37edf166f699b4d75b76dae2cb7c8f6eccae8f18f6d510ef72f0b9633d5740c0bebb934d3be796bd9a53808e\nB = 2f48ec5aa5511283c2935b15725d30f62244185573203b48c7eb135b2e6db5c115c9446ac78b020574665b06a75eb287e0dbeb5da7c193294699b4c2129d2ac4\nLCM = 4a15f305e9622aa19bd8f39e968bfc16d527a47f7a5219d7b02c242c77ef8b608a4a6141f643ca97cedf07c0f1f3e8879d2568b056718aa15c0756899a08ccbe0a658bae67face96fa110edb91757bfa4828e8ff7c5d71b204f36238b12dd26f17be8ba9771f7068d63e41d423671f898f054b1187605754bc5546f2b02c5ac\n\nGCD = 16\nA = cf0b21bde98b41b479ac8071086687a6707e9efaacd4e5299668ce1be8b13290f27fd32ae68df87c292e8583a09d73ec8e8a04a65a487380dcd7dacca3b6e692\nB = 3be3f563f81d5ad5c1211db7eff430aa345e830ce07b4bde7d4d32dba3ac618d2034351e5435fd6c7f077971fb4a1e83a7396a74fdff7fce1267112851db2582\nLCM = 233a2188de2c017235024b182286f17562b2ee5ab9fdfe4efa2f61c4ff99fa44e1ead5bf6cde05bd7502ce78373c83e3f9dbab0c9bb8620a87c2640bce5d12c685af656df789bb3d0ba1edbaa98cf4f0166d422ab17aa6706f8132264d45b72827d6671a00a9186e723379e3a3bb7902d08865f357c74100059f83800241976\n\nGCD = 1\nA = dd7b7597d7c1eb399b1cea9b3042c14bd6022d31b1d2642a8f82fc32de6eadaf012fbbf349eaec4922a8468740ca73c6090833d6a69a380ed947b39c2f9b0b76\nB = 8e0dc8654e70eec55496038a8d3fff3c2086bc6dbfc0e2dbdf5bd7de03c5aef01a3982556ac3fc34fd5f13368be6cdc252c82367b7462e210f940f847d382dd9\nLCM = 7ae667df4bd4dd35bbec28719a9f1b5e1f396a9ab386c086742a6ab3014a3386d39f35b50624d0c5b4e6b206c2635c7de5ea69e2faa85dd616a7e36622962a07632839857aa49332942feccff2aee1c962e2f4e8ccfd738a5da5bf528b4c5a2440409350f5a17a39d234403e8482ccf838e0d2758ccfb8018198a51dbb407506\n\nGCD = 1\nA = 0\nB = 1\nLCM = 0\n\nGCD = 1\nA = 1\nB = 0\nLCM = 0\n\nGCD = 1\nA = 1\nB = 1\nLCM = 1\n\nGCD = 2b2\nA = dfccaa3549c1b59ab3e114fe87dc5d187719abad58c51724e972741eb895ab79a49f385f61d531ec5c88dbb505ae375093fa848165f71a5ed65e7832a42ade191a\nB = fa58a81f43088da45e659fc1117d0f1cd015aa096c8e5377cf1832191baf7cc28b5c24998b93b64f8900a0973faedb9babaaf1854345f011739da8f1175d9684c\nLCM = 5132f7ab7a982b9dc55114bd96800b7637f9742cf8a7a00a0d69d5e4574fc85792c89a1c52bcfc74b9d7f3f6164819466c46b2d622e280ced7ad121160", + "4084a15dc1fd1951a05c8ce37122c0ec15891d818a70d3763670ea3195098de9b1ca50ea89893a9753fb9ea801541058f44801f7f50967124abfc864a2b01c41f94193c\n\nGCD = 8e\nA = 248d96a8a4cab0a1b194e08c1146868b094597cadbc35531f0ed2d77cba9f15cb5cc7c10e64ce054bf93396d25259d750b3de3aba65073db1fd2b852a6454ac1a\nB = 4c7bad8e1844901fd6a2ce2edc82e698d28ec95d6672ca148d85b49ecc78dd0a8b870e202244210bc98592b99ff6abbd20630f9eee7d46b15ccfae8d08b86799de\nLCM = 13b01f9d9c6c13e90c97e3d95bbce5a835c631b3de3bd4ff5df13ad850f5223dbdf71c53912275d0397df9335ef3a3ba8e4684c6b25962bb7b18bc74144cb5edf0196f79863a7ff032619a71646a92281f7baace7f223d254cb4d05ec19bf8d4c8ce4455a9d770daec89c0d3cf338cbdae39cf982b3c4568f5c9def4e1133d28a\n\nGCD = 3e55\nA = 2fa97382f46676b7a4cc2b8153f17b58792d24660e187d33ce55c81cc193ccb6e1e2b89feea1d5fd8faa36e13bf947fb48635e450a4d1488d0978324194a1f43c6\nB = ab08ad074139963bc18e5d87ba68db64ca6f4c279616c64039b02c55f2375b3bc04114e8e05e1ba92fb6470768f61d123845aea36774c18612736a220934561faf\nLCM = 82c7c377ecda2cb9228604cd287df5eff94edd4a539c3eb3b3fdd4b4a79d2f4eaf2b22f8286272d3dad2e370cfcd9ea4d93ebb3f049c52b8fa23b68a5bf79af989822e2cfb978f68c6a5058f47319dffcb455b089b06ae6db9e5c8a2b6e951d6e118bd2b4cd08b6e5733476a446a57387d940d1289ec00e24315821ed3a5daf2\n\nGCD = a7a\nA = 923706dfed67834a1e7e6c8e8e9f93bfbc0b43ca1f324886cf1f1380fb9b77109275d4b50af1b7689802fe9b3623ac46c7ba0e17e908c20278127b07a5c12d86ec\nB = 64473e878a29021fac1c1ce34a63eae1f4f83ee6851333b67213278b9a4a16f005cba0e8cdb410035bb580062f0e486c1a3a01f4a4edf782495f1dc3ebfa837d86\nLCM = 57785ca45b8873032f1709331436995525eed815c55140582ce57fd852116835deac7ca9d95ce9f280e246ea4d4f1b7140ab7e0dd6dc869de87f1b27372098b155ad0a1828fd387dff514acc92eae708609285edaab900583a786caf95153f71e6e6092c8c5ee727346567e6f58d60a5e01c2fa8ebcf86da9ea46876ecc58e914\n\nGCD = 42\nA = 0\nB = 42\nLCM = 0\n\nGCD = 42\nA = 42\nB = 0\nLCM = 0\n\nGCD = 42\nA = 42\nB = 42\nLCM = 42\n\nGCD = f60d\nA = ef7886c3391407529d5cf2e75ed53e5c3f74439ad2e2dc48a79bc1a5322789b4ced2914b97f8ff4b9910d212243b54001eb8b375365b9a87bd022dd3772c78a9fd63\nB = d1d3ec32fa3103911830d4ec9f629c5f75af7039e307e05bc2977d01446cd2cbeeb8a8435b2170cf4d9197d83948c7b8999d901fe47d3ce7e4d30dc1b2de8af0c6e4\nLCM = cc376ed2dc362c38a45a719b2ed48201dab3e5506e3f1314e57af229dc7f3a6a0dad3d21cfb148c23a0bbb0092d667051aa0b35cff5b5cc61a7c52dec4ed72f6783edf181b3bf0500b79f87bb95abc66e4055f259791e4e5eb897d82de0e128ecf8a091119475351d65b7f320272db190898a02d33f45f03e27c36cb1c45208037dc\n\nGCD = 9370\nA = 1ee02fb1c02100d1937f9749f628c65384ff822e638fdb0f42e27b10ee36e380564d6e861fcad0518f4da0f8636c1b9f5124c0bc2beb3ca891004a14cd7b118ddfe0\nB = 67432fd1482d19c4a1c2a4997eab5dbf9c5421977d1de60b739af94c41a5ad384cd339ebfaa43e5ad6441d5b9aaed5a9f7485025f4b4d5014e1e406d5bd838a44e50\nLCM = 159ff177bdb0ffbd09e2aa7d86de266c5de910c12a48cbe61f6fa446f63a2151194777555cd59903d24cb30965973571fb1f89c26f2b760526f73ded7ee8a34ebcecd1a3374a7559bcdb9ac6e78be17a62b830d6bb3982afdf10cf83d61fd0d588eab17d6abef8e6a7a5763fcb766d9a4d86adf5bb904f2dd6b528b9faec603987a0\n\nGCD = c5f\nA = 5a3a2088b5c759420ed0fb9c4c7685da3725b659c132a710ef01e79435e63d009d2931ea0a9ed9432f3d6b8851730c323efb9db686486614332c6e6ba54d597cf98\nB = 1b1eb33b006a98178bb35bbcf09c5bebd92d9ace79fa34c1567efa8d6cf6361547807cd3f8e7b8cd3ddb6209dccbae4b4c16c8c1ec19741a3a57f61571882b7aed7\nLCM = c5cbbbe9532d30d2a7dd7c1c8a6e69fd4fa4828a844d6afb44f3747fef584f7f1f3b835b006f8747d84f7699e88f6267b634e7aef78d6c7584829537d79514eec7d11219721f91015f5cefdc296261d85dba388729438991a8027de4827cd9eb575622e2912b28c9ce26d441e97880d18db025812cef5de01adeaec1322a9c9858\n\nGCD = e052\nA = 67429f79b2ec3847cfc7e662880ab1d94acdf04284260fcfffd67c2862d59704ed45bcc53700c88a5eea023bc09029e9fd114fc94c227fd47a1faa1a5ef117b09bd2\nB = 39faa7cbdeb78f9028c1d50ab34fbe6924c83a1262596f6b85865d4e19cc258b3c3af1ee2898e39e5bee5839e92eac6753bbbb0253bd576d1839a59748b778846a86\nLCM = 1ab071fb733ef142e94def10b26d69982128561669e58b20b80d39cf7c2759d26b4a65d73b7f940c6e8fc417180ef62d7e52ac24678137bd927cd8d004ad52b02affe176a1ecde903dbc26dcc705678f76dd8cd874c0c3fe737474309767507bbe70dd7fb671bbb3694cedf0dcdaa0c716250ddd6dfec525261572fa3e1387f7b906\n\nGCD = 3523\nA = 0\nB = 3523\nLCM = 0\n\nGCD = 3523\nA = 3523\nB = 0\nLCM = 0\n\nGCD = 3523\nA = 3523\nB = 3523\nLCM = 3523\n\nGCD = f035a941\nA = 16cd5745464dfc426726359312398f3c4486ed8aaeea6386a67598b10f744f336c89cdafcb18e643d55c3a62f4ab2c658a0d19ea3967ea1af3aee22e11f12c6df6e886f7\nB = 74df09f309541d26b4b39e0c01152b8ad05ad2dfe9dd2b6706240e9d9f0c530bfb9e4b1cad3d4a94342aab309e66dd42d9df01b47a45173b507e41826f24eb1e8bcc4459\nLCM = b181771d0e9d6b36fdfcbf01d349c7de6b7e305e1485ea2aa32938aa919a3eee9811e1c3c649068a7572f5d251b424308da31400d81ac4078463f9f71d7efd2e681f92b13a6ab3ca5c9063032dcbdf3d3a9940ce65e54786463bbc06544e1280f25bc7579d264f6f1590cf09d1badbf542ce435a14ab04d25d88ddbac7d22e8cae1c91f\n\nGCD = 33ad1b8f\nA = 1af010429a74e1b612c2fc4d7127436f2a5dafda99015ad15385783bd3af8d81798a57d85038bcf09a2a9e99df713b4d6fc1e3926910fbbf1f006133cb27dc5ebb9cca85\nB = 92a4f45a90965a4ef454f1cdd883d20f0f3be34d43588b5914677c39d577a052d1b25a522be1a656860a540970f99cbc8a3adf3e2139770f664b4b7b9379e13daf7d26c\nLCM = 4c715520ed920718c3b2f62821bc75e3ff9fd184f76c60faf2906ef68d28cd540d3d6c071fa8704edd519709c3b09dfaee12cb02ab01ad0f3af4f5923d5705ce6d18bcab705a97e21896bb5dd8acb36ee8ec98c254a4ddc744297827a33c241f09016a5f109248c83dd41e4cea73ce3eabb28d76678b7e15545b96d22da83c111b6b624\n\nGCD = dc0429aa\nA = ccb423cfb78d7150201a97114b6644e8e0bbbb33cadb0ef5da5d3c521a244ec96e6d1538c64c10c85b2089bdd702d74c505adce9235aa4195068c9077217c0d431de7f96\nB = 710786f3d9022fc3acbf47ac901f62debcfda684a39234644bac630ab2d211111df71c0844b02c969fc5b4c5a15b785c96efd1e403514235dc9356f7faf75a0888de5e5a\nLCM = 6929af911850c55450e2f2c4c9a72adf284fe271cf26e41c66e1a2ee19e30d928ae824f13d4e2a6d7bb12d10411573e04011725d3b6089c28d87738749107d990162b485805f5eedc8f788345bcbb5963641f73c303b2d92f80529902d3c2d7899623958499c8a9133aae49a616c96a2c5482a37947f23af18c3247203ac2d0e760340e6\n\nGCD = 743166058\nA = 16cd476e8031d4624716238a3f85badd97f274cdfd9d53e0bd74de2a6c46d1827cc83057f3889588b6b7ca0640e7d743ed4a6eaf6f9b8df130011ecc72f56ef0af79680\nB = 86eba1fc8d761f22e0f596a03fcb6fe53ad15a03f5b4e37999f60b20966f78ba3280f02d3853f9ace40438ccfaf8faed7ace2f2bf089b2cdd4713f3f293bf602666c39f8\nLCM = 1a7a1b38727324d6ba0290f259b8e2b89c339b2445cada38a5a00ded1468ab069f40678ce76f7f78c7c6f97783cc8a49ef7e2a0c73abbac3abc66d1ce99566ce7f874a8949ca3442051e71967695dc65361184748c1908e1b587dc02ed899a524b34eb30b6f8db302432cfa1a8fbf2c46591e0ab3db7fd32c01b1f86c39832ee9f0c80\n\nGCD = 6612ba2c\nA = 0\nB = 6612ba2c\nLCM = 0\n\nGCD = 6612ba2c\nA = 6612ba2c\nB = 0\nLCM = 0\n\nGCD = 6612ba2c\nA = 6612ba2c\nB = 6612ba2c\nLCM = 6612ba2c\n\nGCD = 2272525aa08ccb20\nA = 11b9e23001e7446f6483fc9977140d91c3d82568dabb1f043a5620544fc3dda233b51009274cdb004fdff3f5c4267d34181d543d913553b6bdb11ce2a9392365fec8f9a3797e1200\nB = 11295529342bfb795f0611d03afb873c70bd16322b2cf9483f357f723b5b19f796a6206cf3ae3982daaeafcd9a68f0ce3355a7eba3fe4e743683709a2dd4b2ff46158bd99ff4d5a0\nLCM = 8d4cbf00d02f6adbaa70484bcd42ea932000843dcb667c69b75142426255f79b6c3b6bf22572597100c06c3277e40bf60c14c1f4a6822d86167812038cf1eefec2b0b19981ad99ad3125ff4a455a4a8344cbc609e1b3a173533db432bd717c72be25e05ed488d3970e7ed17a46353c5e0d91c8428d2fec7a93210759589df042cab028f545e3a00\n\nGCD = 3480bf145713d56f9\nA = 8cf8ef1d4f216c6bcec673208fd93b7561b0eb8303af57113edc5c6ff4e1eeae9ddc3112b943d947653ba2179b7f63505465126d88ad0a0a15b682f5c89aa4a2a51c768cd9fdeaa9\nB = a6fd114023e7d79017c552a9051ca827f3ffa9f31e2ee9d78f8408967064fcdc9466e95cc8fac9a4fa88248987caf7cf57af58400d27abd60d9b79d2fe03fad76b879eceb504d7f\nLCM = 1c05eee73a4f0db210a9007f94a5af88c1cdd2cba456061fd41de1e746d836fa4e0e972812842e0f44f10a61505f5d55760c48ba0d06af78bb6bde7da8b0080b29f82b1161e9c0b5458e05ac090b00f4d78b1cc10cf065124ba610e3acab092a36fe408525e21c0ddc7c9696ed4e48bd2f70423deecfe62cecc865c6088f265da0e5961d3f3a84f\n\nGCD = 917e74ae941fcaae\nA = 652f8a92d96cbf0a309629011d0fbaceb1266bc2e8243d9e494eead4cf7100c661b537a8bea93dec88cfc68597d88a976c125c3b4de19aba38d4ea9578202e59848d42652518348a\nB = 32e07b71979d57e8344e97c39680a61e07d692d824ae26b682156890792d8a766ee29a4968f461aaced5bf049044fba2f4120b1c1f05985676f975d4582e9e82750d73c532cd07b2\nLCM = 23620c7b897dc26c7717e32f3517ac70bf09fbe08f7255ab010cf4cf946f4e96304c", + "425043452c5d5a0e841d3a3cfd9c2d84d9256f3b5974fe3ebfa9255fe20a710d3e6511606c0d85970381101c7f4986d65ad6a73a71507f146b11f903043cfa805cc0b14d4f3072da98bf22282f7762040406c02d5b3ef9e7587f63bab8b29c61d8e30911aa96\n\nGCD = 2b9adc82005b2697\nA = 19764a84f46045ef1bca571d3cbf49b4545998e64d2e564cc343a53bc7a0bcfbe0baa5383f2b346e224eb9ce1137d9a4f79e8e19f946a493ff08c9b423574d56cbe053155177c37\nB = 1bbd489ad2ab825885cdac571a95ab4924e7446ce06c0f77cf29666a1e20ed5d9bc65e4102e11131d824acad1592075e13024e11f12f8210d86ab52aa60deb250b3930aabd960e5a\nLCM = 1032a0c5fffc0425e6478185db0e5985c645dd929c7ebfeb5c1ee12ee3d7b842cfab8c9aa7ff3131ac41d4988fb928c0073103cea6bb2cc39808f1b0ad79a6d080eac5a0fc6e3853d43f903729549e03dba0a4405500e0096b9c8e00510c1852982baec441ed94efb80a78ed28ed526d055ad34751b831b8749b7c19728bf229357cc5e17eb8e1a\n\nGCD = 8d9d4f30773c4edf\nA = 0\nB = 8d9d4f30773c4edf\nLCM = 0\n\nGCD = 8d9d4f30773c4edf\nA = 8d9d4f30773c4edf\nB = 0\nLCM = 0\n\nGCD = 8d9d4f30773c4edf\nA = 8d9d4f30773c4edf\nB = 8d9d4f30773c4edf\nLCM = 8d9d4f30773c4edf\n\nGCD = 6ebd8eafb9a957a6c3d3d5016be604f9624b0debf04d19cdabccf3612bbd59e00\nA = 34dc66a0ffd5b8b5e0ffc858dfc4655753e59247c4f82a4d2543b1f7bb7be0e24d2bbf27bb0b2b7e56ee22b29bbde7baf0d7bfb96331e27ba029de9ffdff7bdb7dc4da836d0e58a0829367ec84ea256833fd4fe1456ad4dd920557a345e12000\nB = 1f3406a20e20ebf96ccb765f898889a19b7636608fd7dc7c212607b641399543f71111d60e42989de01eaa6ff19a86ea8fbde1a3d368c0d86dc899e8e250fc764090f337958ca493119cbb4ad70cbfae7097d06d4f90ec62fbdd3f0a4496e600\nLCM = ee502c50e3667946e9089d0a9a0382e7fd0b75a17db23b56a0eec997a112c4dbd56d188808f76fe90451e5605550c9559ef14a95014c6eb97e9c1c659b98515c41470142843de60f72fb4c235faa55b0a97d943221003d44e2c28928f0b84bf071256254897ed31a7fd8d174fc962bc1311f67900ac3abcad83a28e259812f1ee229511ab1d82d41f5add34693ba7519babd52eb4ec9de31581f5f2e40a000\n\nGCD = ef7399b217fc6a62b90461e58a44b22e5280d480b148ec4e3b4d106583f8e428\nA = 7025e2fe5f00aec73d90f5ad80d99ca873f71997d58e59937423a5e6ddeb5e1925ed2fd2c36a5a9fc560c9023d6332c5d8a4b333d3315ed419d60b2f98ccf28bbf5bf539284fd070d2690aeaac747a3d6384ee6450903a64c3017de33c969c98\nB = df0ac41dbabce1deeb0bceb1b65b1079850052ecf6534d0cff84a5a7fb5e63baee028d240f4419925154b96eaa69e8fbb1aae5102db7916234f290aa60c5d7e69406f02aeea9fe9384afbff7d878c9ac87cd31f7c35dff243b1441e09baff478\nLCM = 687669343f5208a6b2bb2e2efcac41ec467a438fde288cc5ef7157d130139ba65db9eb53e86a30c870bd769c0e0ab15a50f656cd9626621ae68d85eaff491b98da3ea5812062e4145af11ea5e1da457084911961ef2cd2ac45715f885ba94b4082aa76ffd1f32461f47c845b229d350bf36514c5ce3a7c782418746be342eca2721346ade73a59475f178c4f2448e1326110f5d26a0fef1a7a0c9288489e4dc8\n\nGCD = 84b917557acf24dff70cb282a07fc52548b6fbbe96ca8c46d0397c8e44d30573\nA = 81dbb771713342b33912b03f08649fb2506874b96125a1ac712bc94bfd09b679db7327a824f0a5837046f58af3a8365c89e06ff4d48784f60086a99816e0065a5f6f0f49066b0ff4c972a6b837b63373ca4bb04dcc21e5effb6dfe38271cb0fa\nB = 1da91553c0a2217442f1c502a437bb14d8c385aa595db47b23a97b53927b4493dd19f1bc8baf145bc10052394243089a7b88d19b6f106e64a5ab34acad94538ab504d1c8ebf22ac42048bbd1d4b0294a2e12c09fe2a3bd92756ba7578cb34b39\nLCM = 1d0530f8142754d1ee0249b0c3968d0ae7570e37dadbe4824ab966d655abf04cd6de5eb700eba89d8352dec3ae51f2a10267c32fbd39b788c7c5047fe69da3d7ad505435a6212f44899ba7e983bb780f62bcdee6f94b7dba8af7070a4cc008f351ae8be4579bc4a2e5c659ce000ad9c8cdc83723b32c96aeb0f5f4127f6347353d05525f559a8543cd389ad0af6f9d08a75b8c0b32419c097e6efe8746aee92e\n\nGCD = 66091477ea3b37f115038095814605896e845b20259a772f09405a8818f644aa\nA = cedac27069a68edfd49bd5a859173c8e318ba8be65673d9d2ba13c717568754ed9cbc10bb6c32da3b7238cff8c1352d6325668fd21b4e82620c2e75ee0c4b1aff6fb1e9b948bbdb1af83cecdf356299b50543b72f801b6a58444b176e4369e0\nB = 5f64ca1ba481f42c4c9cf1ffa0e515b52aa9d69ceb97c4a2897f2e9fa87f72bae56ee6c5227f354304994c6a5cc742d9f09b2c058521975f69ca5835bce898cf22b28457cd7e28870df14e663bb46c9be8f6662f4ff34d5c4ae17a888eba504e\nLCM = c163cb28642e19a40aa77887c63180c2c49fc10cda98f6f929c8131752ea30b5283a814a81681b69b9d1762e6c1a9db85f480bc17f998d235fd7e64c1caa70ef170c9e816d3e80f516b29f2c80cfb68bf208b4d5082ef078da4314b3f20c7d6c54b0aeb378096b029a7b61c0a4cd14aeddc01004c53915a4f692d2291752e5af46b23d7fa6dd61f2d56c6f4bf8e6119688abac8fd7aba80e846a7764bb3fca0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = 0\nB = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nLCM = 0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nB = 0\nLCM = 0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nB = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nLCM = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\n\nGCD = 120451d8307219aa0c96f328ad653ccd462e92423ca93ed8a3dde45bf5cb9b13cdaf9800e4d05dd71c4db6a129fb3280ee4ec96ec5297d881c1a8b5efccbd91fef21f5c5bf5fba42a4c8eaa358f620a074b7a17054527bdaa58d5acaa0dfdc48ecba1a10ebf4d57bb4215de406e6be13fed3fe493b1cd1e2d11a8d4ac03c47756\nA = 3f8179a8e1f0b342475a855c3e1bae402dd41424cf24a0b4d2e263c8efb08bde7d92eae8607fb5e88b1378f0f1bd0733f229a35be6b1383a48d32749d5d6b32427d26323b7ab05bb5781289e96bfbc21971439319b15f6c0fe93fdb35d0b67ec41443c59a081dd3cef047ac797fccb45bece84c0bb0bb7e1797259526d8ec9cc63ba4d32cfc692ccd3d243cb2b53ac216312f3a8e8c0daa09d21b6150d697639a5e52059414a417c607be8ec0eee2e708219cadbaf37a369c4485b01ed87bbc2\nB = 2c474e396a2dd9cd10b9d7313f69d3b4ca123e9fd853edd488339236d14c56453a1381958864a04d2624e81995dabcdd0ccf60db9917813f887de68da075d0ea4440001e18f470e43b38ee3440b49be651d709fbdef980e3e4149913f4ae2681124f54523f4881376ddb533b5219e804cc26f4c2e577be4e02613c4da80ba1215775b0a5178a965ad47bd2befb32493943ded1004ef66347b4983f8d1ba990d4a943505dfce6debcfb322842ed88106cd6dee9aa592ff0d2274bc727a6e1f14c\nLCM = 9c129cf649555bfd2d3d9c64dc6d6f022295e53bca5d2f218adaa66aa60eb4694429b7e83bf81b6df4459c5104023ab9a33f006ffcd8114507baa17e2ef6fe23ebdd4740f66879033da2041f2cb7ba517ad3526ffe75614ea9432c085f71b2d65a736bac7ba42b639e330b82733372083843dcb78b6a273ab20e0d4b7c8998a14048aa15bb20a0a0bd997917107274c89b4cec175fb98043d52e6c555bd9e0036566d052a6d4e7e276d1e8835e1f06e3ca46d47747ba586e95fb1a790d992834b7c3e136141eb8a434e6c12067246ac3c0a81c69e03b1ed28aa0b3173d6eff83d278c2f461a47a416f3f9a5dae3bb410fd18817bd4115e7f1e84b936cc02364\n\nGCD = 95aa569a2c76854300d7660847dd20fe0b8c445fdbcaa98465cee61aee76ad6a438e75a8c573198570ffb62bc07ec3a2be0ae0a1f631670fa88d6f75f3161e8b9a4d44b6801ffc884c7f469c5ed1f27b1edecce9f2977f9e92d1a3b230492fea7e6f2af739dc158a7fbd29856cbedb57b4119e64b27ab09eb1c2df01507d6e7fd\nA = 4c653b5bfec44e9be100c064dffe5d8cd59b0cf4cc56b03eabb4ef87cfda6506c9a756b811907fe9d8b783eb7a0b9e129773bf1da365ddb488d27b16fb983e89345d1ccdb4f06a67a11925c3f266373be5d7b0075189c6f3c2157e2da197058fe0a7bcc50adc34e99e254a29abbe2d5948d3157e1b0c3fca3d641760f7b9862843b63abef0b3d83fd486f4526b30382fda355575da30e9a106718a3921774c4d69f5311f8d737fe618f5236b4763fe1b2ee7f13184db67367d3903c535ff6d7b\nB = 2dcca83c99a28e9fd2f84e78973699baf2f04fd454094730948b22477834a0064817b86e0835e6d7b26e5b0b1dcf4ad91a07ac0780d6522df1fcac758cf5db6c2a5623d7c0f1afefd5718f7b6de639867d07a9ec525991304e9355d1635104bea837f74758d6aa2aab4e4afbb606af1d98de7417505e4710cd0589bdff9a0bf38a857cc59a5f1781043e694fc2337fd84bdeb28b13a222bb09328a81ec409ad586e74236393d27398cc24d412135e34247c589149e134b97f4bd538ac9a3424b\nLCM = 1760c0b0066aa0695767099e87e9388729ea89b8e8c36bddcd04d257591e741613c07b0e69447c0a468c33a745084171e06523d987d8db40a1433bf435325e8a724a0876503b34495170ff3671d42117a2e4f3a75b1d9dd809a34fa0fb26fe50d84f80a9b02e40190e5efb927a5a61a03f13edbce2e666af6c3a2a9bcb84e47e3090008753ff27c4b8cf06480f471379a93f5230923623a83b286b71a555cd5e5347282f664ed90b14b2c4de84a70375e488211a7b3931119ef3bbe029b712389fe784818a0bf29d80733ce9cc940c547aa1eb3f06d492eb676bf37802283c82ce76156dfaab5c2d5107e08062681b5fa169f6eb68e1ab8bd9b2005e90bd4fd\n\nGCD = 244b9b1290cf5b4ba2f810574c050651489f2d3a2b03e702b76ebfaf4e33de9bbe5da24c919e68d3a72eadd35982b3a89c6b18b38ff7082ac65263e52b6ec75a5717b971c98257b194c828bff0216a99536603b41a396ea2fb50f5ea7cf3edf10bb0d039123e78593ae9ffcbbba02e51e038533e83b6bc73c70551d6467f39809\nA = 41a0b1310669500681cdf888836f6c", + "556758750f562d743ac780dd4c0d161856380e44fdbb1f8a2786bf45be6b0e7f1cb2cd85f6b9e50acc72793d92383c7d7fb796fc74d32e8fac8225bdc19ae47546d9c9c75f5f06ca684f07daccaf89ccf2cddeb7ec255d530c7dd1e71daf44cafdc9d30fbcb1cbaefae3480585f79f4177e3834a5bc91845e2e8cd8aeb27f484e5e5b2c3c076dbb6c23e91303f0a0fdde83cd33a8ea6ed1549e727b4d766c1017c169710fd98e1585d60f66e121f9180b3\nB = 251f5aeaa60b3959285f49540cdaf8e21451110bbddb9933bbbcaea3112f4eb45e435a3ba37c52d2ab79ce997a8f6c829b3aa561f2852924b8effb52396d09d2bf257ebb4fb56c7aa25648f69b06d2cd01e876c9f9c0679de9e6fffa79eb7e603723e5af7de46ee405a5a079229577b5b6fffb8d43e391fe6f4eb89638e64d6eff8026249aaa355a91625eb0bfd14caa81e4c3586aaa2e94fde143a44f223a91e226661d12f55dfcdb4215e5a64e14e968005733be6a71c465de312ca109b34a\nLCM = 431f918b274f3e43f446e4e85567883d6536a0332db662cef088f5a36b0f4b68372048174ba10fee94b9f8f1c2e189c974be2e6e8ae8e2ae108445326d40f63e38d8d4e2e46174589a3cbc9583e0036dc8146e79eee9e96f4436313b3f143dd0f5aceab05243def7f915169c360f55ef123977cf623c5ba432c3259c62fb5e37d5adab0f24b825aa4ada99ec4e83e9ca4698399e1ed633091ce5f9844c540a642cd264201116ed4168aa2105a5159f5df064f845830c469140f766c7319052ce59bd1ad7c3f2d8c30e54f147f6aeb5586c70c984302ba18d854a60aec01b394c7d66fa33fe18fe4a8cfb3238df219294e6e42190a30d28b10049a1b75853a4e\n\nGCD = 206695d52bc391a4db61bf8cb6ea96188333a9c78f477ee76976c2346dad682cf56ca6f176d86ef67d41ff5921b6162b0eca52359975872430dd14c45643eacdf028d830770714c033fd150669705851b2f02de932322d271d565d26768530c3f6cb84f0b3356f970b9070b26c050ead0417152c324c8ffe266d4e8b5b7bef3a\nA = 1114eb9f1a9d5947eb1399e57f5c980833489685023ed2fe537fe1276c1e026b9a19e6fff55aa889d6c4e977b6e6f3111e2ad463138637b50f42cf32e57d83f282de9e72f813e5969195159a666d74dcd689bd527c60199ae327f7bd548ac36868fea5fdf6f35d19b921e7c10b6448ca480de6826478cd0642d72f05af3f8e65ce42409fbd49f56e81946e89c8e83962c4edc0ed54600600a305e52d081aed3c351e450e11f8fb0ce5754c92cf765b71393b2b7a89c95df79b9ea1b3cb600862\nB = 1d8f3179ca7b5cc7119360c10de939ffa57c9043da2f2b0ca3009c9bdad9f19ed16e3c2c197bef4b527fa1bf2bbab98b77e26c329911db68bd63d3d0fbfc727a977395b9ad067106de3094d68e097830858c5ccfa505fc25e972bdee6f347e7d1163efacd3d29a791ec2a94ffeed467884ae04896efc5e7e5f43d8d76c147e3c9951a1999173bc4e5767d51268b92cc68487ba1295372143b538711e0a62bf0ac111cc750ca4dd6c318c9cbe106d7fc492261404b86a1ba728e2d25b1976dc42\nLCM = f9570211f694141bfb096560551080cbe02a80271b4505591aaea9e3b99ea1d5ac1c1f2378fd72799e117ac2a73381b1ad26314e39972164d93971479ee3ba21a4d98cef0bd299d540ce5826995dcee0de420dff73d30b23cbf3188c625c7696df517535bc5675d71faa00807efbebdca547933f4a37849d1c014484a77da6df0670c4974bcc91eb5f5fe5faf9dd095ef195ec32ad9eeebf0e63288b4032ed9e70b888afc642f4ff96f0b4c0a68787301c12e4527fe79bdfe72dd3844ab5e094a9295df6616f24d1b9eeebc2116177dacf91969dda73667bc421ef3ccd8d5c23dddc283f5d36568d31f2654926be67f78e181075bdc148f2b39c630b141ae8a\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 0\nB = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nLCM = 0\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nB = 0\nLCM = 0\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nB = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nLCM = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\n\nGCD = 2\nA = 14e95a85e59ade9ef39e2f400c65db18702fa5fc485b9bba479a5282b2206129160e54f73ef4917983c17b4c5ebff7be112a886de069706eee29ba902515cb038\nB = ddcfff1d39c90c599f55495bf71c1e7597c6b08b7430707f360c6a6e5137bbc7b403c6d9e2c34f3d2f29d5d32b869346853c2de239cc35381bdfb4a01569211a\nLCM = 90f38564ee72e55d362c04599e7d74f068c75f541b84e97abba2841f1a9f66b06b5c9009f6a4c2e319fced85270588de03ccebddbd9279aaecb13bdc1dbea7f42acaee751cb7da83779b8785cc86f41b94b13b54964208ca287d981634778d1096f20e76ca636c0717fd27e0800c43f599a5eded807421b502eaf9990a8c8ed8\n\nGCD = 4\nA = 3c719c1c363cdeb7b57c2aabb71f425da4c3e6d3e447204d555e7cf0f3d372bdda906f36078045044978dafc20171767c8b1464d52dfdf3e2ba8a4906da033a8\nB = 30fe0ef151ac51404e128c064d836b191921769dc02d9b09889ed40eb68d15bfdd2edea33580a1a4d7dcee918fefd5c776cbe80ca6131aa080d3989b5e77e1b24\nLCM = 2e4526157bbd765b0486d90bcd4728f890bc6dbd9a855c67ca5cb2d6b48f8e74e1d99485999e04b193afca58dbf282610185d6c0272007744ff26e00dbdc813929b47940b137dc56ba974da07d54a1c50ec4a5c2b26e83f47cf17f4ccce8c3687e8d1e91d7c491a599f3d057c73473723ce9eee52c20fe8ae1595447552a7ee8\n\nGCD = 10\nA = 44e04071d09119ea9783a53df35de4a989200133bb20280fdca6003d3ca63fdd9350ad1a1673d444d2f7c7be639824681643ec4f77535c626bd3ee8fa100e0bb0\nB = ca927a5a3124ce89accd6ac41a8441d352a5d42feb7f62687a5ebc0e181cc2679888ecc2d38516bdc3b3443550efccac81e53044ae9341ecace2598fe5ce67780\nLCM = 36805ba9b2412a0cb3fe4ed9bdabfa55515c9d615a3d0af268c45c5f6098d2de4a583f3791f1e3883c55d51ce23c5658fd0e8faa9a3709a1cfbd6a61dbab861690f27c86664f084c86cfd4a183b24aaadf59a6f8cbec04f1b0ded8a59b188cb46ae920052e3e099a570540dbc00f7d4a571eef08aa70d2d189a1804bf04e94a80\n\nGCD = 100\nA = 73725032b214a677687c811031555b0c51c1703f10d59b97a4d732b7feaec5726cb3882193419d3f057583b2bc02b297d76bb689977936febaae92638fdfc46a00\nB = 979f4c10f4dc60ad15068cedd62ff0ab293aeaa1d6935763aed41fe3e445de2e366e8661eadf345201529310f4b805c5800b99f351fddab95d7f313e3bb429d900\nLCM = 4460439b4be72f533e9c7232f7e99c48328b457969364c951868ceab56cb2cbbeda8be2e8e3cae45c0758048468b841fdb246b2086d19b59d17b389333166ab82ed785860620d53c44f7aaaff4625ee70fb8072df10fb4d1acb142eadc02978ff2bb07cea9f434e35424b3323a7bda3a1a57aa60c75e49ebb2f59fb653aa77da00\n\nGCD = 100000000\nA = f8b4f19e09f5862d79fb2931c4d616a1b8e0dd44781ca52902c8035166c8fca52d33a56ff484c365ec1257de7fa8ed2786163cfc051d5223b4aad859a049e8ba00000000\nB = 6e54cb41b454b080e68a2c3dd0fa79f516eb80239af2be8250ca9cd377ba501aabafc09146fad4402bdc7a49f2c3eec815e25f4c0a223f58e36709eefd92410500000000\nLCM = 6b3020a880ddeff9d17d3dc234da8771962de3322cd15ba7b1e4b1dd4a6a2a802a16c49653865c6fdf6c207cbe0940f8d81ef4cb0e159385fd709d515ee99d109ad9ad680031cbae4eab2ed62944babdade4e3036426b18920022f737897c7d751dce98d626cdda761fec48ad87a377fb70f97a0a15aa3d10d865785719cc5a200000000\n", }; -static const size_t kLen40 = 155170; +static const size_t kLen41 = 18795; -static const char *kData40[] = { +static const char *kData41[] = { + "# This file contains test vectors for whether B is a Miller-Rabin composite\n# witness for W. W must be odd and B must satisfy 1 <= B <= W-1.\n#\n# The following Python function may be used to check values.\n#\n# def is_miller_rabin_witness(w, b):\n# # Variable names taken from FIPS 186-4 C.3.1 but the algorithm skips a\n# # couple of optimizations in the FIPS formulation.\n# m = w - 1\n# a = 0\n# while m&1 == 0:\n# a += 1\n# m //= 2\n# # b is a composite witness for w iff the following are true:\n# # - b^m != 1 (mod w)\n# # - b^(m*2^j) != -1 (mod w), for 0 <= j < a\n# z = pow(b, m, w)\n# if z == 1:\n# # b^m = 1 (mod w)\n# return False\n# for j in range(a):\n# if z == w-1:\n# # b^(m*2^j) = -1 (mod w)\n# return False\n# z = (z * z) % w\n# # At this point, z is b^(w-1) (mod w). If z is not 1, w has failed the\n# # Fermat test and is composite. If z is 1, the value of z immediately\n# # before it became 1 is a non-trivial root of unity and w is composite.\n# return True\n\n# Exhaustively test a small prime.\n\nResult = PossiblyPrime\nW = 7\nB = 1\n\nResult = PossiblyPrime\nW = 7\nB = 2\n\nResult = PossiblyPrime\nW = 7\nB = 3\n\nResult = PossiblyPrime\nW = 7\nB = 4\n\nResult = PossiblyPrime\nW = 7\nB = 5\n\nResult = PossiblyPrime\nW = 7\nB = 6\n\n\n# Random large inputs which try to cover a few cases. The nontrivial square root\n# case appears to be difficult to hit randomly.\n\n# b^m = w-1\nResult = PossiblyPrime\nW = d6b4ffc7cf70b2a2fc5d6023015875504d40e3dcce7c2e6b762c3de7bb806a5074144e7054198dabf53d23108679ccc541d5a99efeb1d1abaf89e0dbcead2a8b\nB = fabbafdbec6494ddb5ea4bf458536e87082369b0e53a200ed413f3e64b2fddc7c57c565710fbe73fae5b188fce97d8dcca74c2b5d90906c96d3c2c358a735cd\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 52cc61c42b341ad56dc11495e7cb2fe31e506b9e99522efbf44cd7c28468d3833c5e360f3c77b0aa43c0495c4e14665ab0d7cee9294c722f0de47d4401828401\nB = 3bdc9639c0fc2e77ab48d46e0b4ac6529c11c900e8fe4d82d75767c0556feb23d3f42d4924d16876a743feb386b7b84c7fd16a6c252f662faf0024d19972e62f\n\n# b^m = w-1\nResult = PossiblyPrime\nW = cff9897aa7dce0f2afad262b2de57d301305de717f3539c537c4ce062f8cb70df13fbc1eb4a3b9f0958a8810d1ca9042b4f23334b285a15fee3fc66498761d4b\nB = 9ceb43132fddf9ee4104ea1cb3eb2253c1d7f803f05f0305de9e31a17dd75832f47b8bf189a9b7ca0905f2a7470d9c6349080f481ff1708696fa12d972e7d7ba\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 67d1825dad5344170e65247a87aef1634a1b32bdc22f2f04d9d2959767bb5a27610fba55cd607e0f9fdd9fbb0f7f98e40d5e1eb2f52318fb5be4dbfd30d38861\nB = 260fb14724ff80984736859d8755ee98b25bcb56db9fde1db001a1e1273374034c5b75fd60b3710c7a08ce7d390776f010f384d4e32943cf0c477497d53e9e05\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = ad0bc85b58aaa204177aa9431a40929beb1cbea2dd6f66a25cc54600013213b225ba881805661df43f4208965ada7aacc8095d07d3cbef1a7bbfaae8b745f731\nB = 3d9310f20e9c80269fa6830c7e1a6f02fc5c58646001a9ef6b8b3e496602ff22c3dcb2ddb6a221723fc1722ce237fb46f7a7bb2945e415c8839b15a972f076c9\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = b25c917f55f6c7b596921daba919f35039e5d805119c1587e99849dd7104460c86214f162a6f17aea847bc7f3859e59f2991d457059511972ef373d4bc75e309\nB = a1f10b261dee84619b0423201d46af19eef9ec0612cf947c4d5c36c0c4b28207f75967e69452eabad0a5dcd28f27f7a8a7ed9c8b3e5026c6e0ba5634d94c2d44\n\n# b^m = 1\nResult = PossiblyPrime\nW = d3eeb0eff05b6992e9fa61b02755e155f4aae28c6e45ddb874edd86acdd2d83d18a20e0e00d8b8bc94b92d14fc3f41ced6ababe8ac98c7730c075dbe0f699369\nB = 6b7717269c6225203681a1cacec87cacd83003ec6e9e3f04effcc4f86634770c0860e1f2770b8f303719a44949664a1094205a99d95a0856758fed66d690105e\n\n# b^m = 1\nResult = PossiblyPrime\nW = 64561b8d9aa50340c3a01ccb3e6e17f5023513661c012be288f3900a3ca76890e67290b9560fa1d480f9d2aacccca581b5690636665f243fa13aff5d0bff12d3\nB = 1f5ff70d3d60671ebc5fbfca731898a04438053dbc3c841e6335f487e457d92d9efb5d506d5bef6872d58d12b9a41c950bfc38d12ed977c90eacdd6535b811a0\n\n# b^m = 1\nResult = PossiblyPrime\nW = 69c63fbf44df21b0ed0ee929a740c12d1f3f064da0dcd9d509f31fa45fa27d1a759ab5a9f6f1040d7ee90a0b1e68f779273c41ea1c1198fd547ff6bd70c7e787\nB = 5f7996a9bbfd8fd88e472220b70077bfdacdd63d88885134431f024c2acb7126827b174eb093eb5313f07bb5461de9b0feb7d77ca2c39c2a323a150f33ea525f\n\n# End of iteration\nResult = Composite\nW = 28cc3e08c44571c6dcb98a9ab8b4f3e2b16e1f884997d94a3188bcbb7f1b7cdaecdae8329c013ec8f75dc00004da0039943e4262cd080b16a42910102e00dddb\nB = 512061ab1c69931c2fa0bb89d8d09f3c9209230bf927ddd6fb6a72075f967ed3c4dbb5f437bf4d31ca7344782b22011ad56609dc19aed65319bababfc13dd7\n\n# End of iteration\nResult = Composite\nW = 4eeb7b4d371c45fe8586fee3b1efd792176b70f6cc2698dfa1dd028366626febe0199c3c5f77a5c3cad0057a04767383051d41965255d03681b2a37edad34a9b\nB = 4afc2e85f84017b3fd6967a227eb74c8297b40ea02733d9513bff9b3f01081963f25872f4254afc4e9321eea35b2a1e42eadb186fcc84f2f30f4a994350b93b8\n\n# End of iteration\nResult = Composite\nW = 8e35a959555dd2eb66c65cee3c264071d20671f159e1f9896f1d0ceb041905fcf053eacc189de317c3ee6f93901223cbf30d5b7ddbbdab981790e2f6397e6803\nB = 44c0153759309ec4e5b1e59d57c1b126545ef7ea302b6e43561df4d16068b922389d6924f01c945d9080d1f93a0732599bdedae72d6d590839dc0884dd860441\n\n\n# 0x6c1 = 1729 = 7 * 13 * 19 is a Fermat pseudoprime.\n\n# Found non-trivial square root\nResult = Composite\nW = 6c1\nB = b8\n\n# End of iteration\nResult = Composite\nW = 6c1\nB = 111\n\n# End of iteration\nResult = Composite\nW = 6c1\nB = 11d\n\n# Found non-trivial square root\nResult = Composite\nW = 6c1\nB = 19c\n\n# Found non-trivial square root\nResult = Composite\nW = 6c1\nB = 223\n\n# End of iteration\nResult = Composite\nW = 6c1\nB = 3aa\n\n# Found non-trivial square root\nResult = Composite\nW = 6c1\nB = 653\n\n\n# 1729 has a number of false witnesses.\n\n# b^m = 1\nResult = PossiblyPrime\nW = 6c1\nB = 78\n\n# b^m = 1\nResult = PossiblyPrime\nW = 6c1\nB = eb\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 6c1\nB = 178\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 6c1\nB = 178\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 6c1\nB = 1aa\n\n# b^m = 1\nResult = PossiblyPrime\nW = 6c1\nB = 271\n\n# b^m = 1\nResult = PossiblyPrime\nW = 6c1\nB = 2b2\n\n\n# 1 and W-1 are always nonwitnesses.\nResult = PossiblyPrime\nW = 6c1\nB = 1\n\nResult = PossiblyPrime\nW = 6c1\nB = 6c0\n\n\n# https://kconrad.math.uconn.edu/blurbs/ugradnumthy/millerrabin.pdf, examples\n# 3.1 and 3.2 has a complete list of false witnesses for 65 = 0x41 and\n# 85 = 0x55.\n\n# b^m = 1\nResult = PossiblyPrime\nW = 41\nB = 1\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 41\nB = 8\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 41\nB = 12\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 41\nB = 2f\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 41\nB = 39\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 41\nB = 40\n\n# b^m = 1\nResult = PossiblyPrime\nW = 55\nB = 1\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 55\nB = d\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 55\nB = 26\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 55\nB = 2f\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 55\nB = 48\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 55\nB = 54\n\n# Other witnesses for 65 and 85 will report composite:\n\n# Found non-trivial square root\nResult = Composite\nW = 41\nB = 2c\n\n# End of iteration\nResult = Composite\nW = 41\nB = 16\n\n# End of iteration\nResult = Composite\nW = 41\nB = 14\n\n# End of iteration\nResult = Composite\nW = 41\nB = 2\n\n# End of iteration\nResult = Composite\nW = 41\nB = 3a\n\n# End of iteration\nResult = Composite\nW = 55\nB = 40\n\n# End of iteration\nResult = Composite\nW = 55\nB = 7\n\n# End of iteration\nResult = Composite\nW = 55\nB = 23\n\n# End of iteration\nResult = Composite\nW = 55\nB = 2e\n\n# End of iteration\nResult = Composite\nW = 55\nB = 2a\n\n# W below is composite, but it is one of the worst case scenarios for\n# Miller-Rabin, from Wycheproof tests. 1/4 of witnesses report the value is\n# prime. Test that we correctly classify false and true witnesses.\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 379c6027f818b5164bc13dff", + "5e996ec7210976f33570d5c60275918b8988d97a63bb6582af85682c45667a8b94b7acab4d919ede00f5bd2ba7abc8634d66f8875fd930f35ec8013d37b958e65f07de015c0574e64198d73aab5466f3a971b74830b7f1671cb9277fbc95c1ba8c29dc903d8cea1b74c22ab9164f9c438ab9ba7d9919f832e40c3e36faca7343e2314669b0104d9c4f2e1b011cdbd9c686baef0\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 3cc4b644965b2133caffc2bb6258b1ecd5b586b900a09b010382fcef709e4cd37ee3e3182bf8d393c1ab6f9a933d46338b3d960923d8c9607c2b2763d5680230a2bc0c91138e9d0ecb35e7154a06aaa902d34b9b14964b81f4d8232641492d83b22cd805a115e75ddd8e63b864c00e4c90ba36a41e7966e97e063a60a6a6cfd53e1f62a57852c7443e88dcf6245557a4b65494c3e88e466ad75316aaa9727def\n\n# b^m = 1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 40c03b6ba22bd62c0379b1c36dfccd34d61e3d15f7af1d5f6a60ab972a9d0e956e2bb9e275294e0f1c879eb7a4555443429c99a8d74f7bd359a1046ac30072c04b0e2cbd005be15ff4ce0c93276de2c513fbc5771b5059904a87f180530f6773498114b5aaf70da01967d8294742e451df6377dd5e64b2a8968f4ba61b51a154317d63958ff3788defbeeebee21af5027c2291e8c5df8c0b66770d91b683cffe\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 3c7c71b84f0c6c3817f57511946315cec7d0120a9c30ceabda801fbaec329a8f10c7b9f0ae90a3dada9885bf73a3cabed86784af9682f3dea50a7817f65cfc9190cf997f12784223c4965ed6e52a1be26d4dde31741cd3d1a2e2f3a74040d0f3868eef849727aa855f66c94791194ad5d360298364e2de9ca9288e6423f644b01d52e1bd66a9f7f00bd7995a9ca2ed16f40e902852c6250a3b52bbbf5bfd33e8\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 36e6aa9acb399a50f52be0324dcef05f3cff3117f94538f6d0952b7d7be88ba4dc75d843ff7ff775e11f55c86ba6b2a6ddebd8850c33424b4d35c66321af426662e7074f0a2409a9ccf1c66ef7d823efc8240b8f3c7e9e8dd65a64e8a3ca5b26695ef17171ffe136c0593b179414c5b5ad0d66f2a25146c38b2f97e60b0472ed72de34bff1b6ac186f23645a1bbe909cdfc2b2d861eb44931568f1bb117d8a0c\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 278f2215d3ab836043fbfa472216bbdcedb775a6a0ed711754d05aa75089a9e5d8201e113d68656f37381e44483cd365f5d383bdca5ae8d1f2e6575d7873851cfff0e12b1cfe100a04cb300cbd924353fcbd3307d01242cf6a5e86e752c6f4586bcabf48b018bb97e65c3ed409fd6f67f98987517356d88344b3c8945ccd753148a37b648dd2db44d19522a69a9ad8eb23edc55340e85a198abf179ad731db41\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = afa1478bebbfe1157568f4ae53549b4c3a6a8771b816970bfac6ce5c8b962231db7a41da4d5f1d8bf504dcfe440325b54e1888bdae344eb969436a35e5c6ce5300d46313cb2fcb57fc83305f65f53d392de400e9231cbbc2ac8243defcaf7063c632b9601a81d83138274702ff336d727d3e82ccacce069843ac9c1c590c772c8c586b65c7085a1df5a47fc960d4098a22418b41f0062c77b5d55d17149d167\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 10f7030590b629e0313a61bdf46936a1f25db91b2b421f7ebb671f7844c22561b44b2f7699db61e5228ebb5817afad416325f9439eff7a82d8a630c504de12eaa44d97c79ee56e726ae74ee0b472f0d5fa8f20aee426e689cd33dd084f96bf4d928a21e815f7e8aaca4a5752f39c4a76bdfaa8227dc05d0dfa885d8b26d46fbcbf0d2e0d999d2c31ad84c306c9126539dbdf447f8dc707d29c7fa8021a767668\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 97dbb6a55c039ec926aaa5ff15a2917a2b4cafc3ca07c4c6b05f931d86c9bf60ee05cbbace194e5ca97682ec67c36394018d68c3536fbf13b50f8a7e31eaed87307759a0a48c6c58d21bc7c38b878c53db5d7a8e1fdd81abefc50470a3800852e74d76fdd1933e45f39ee97b8efb68837721890d867b32a894dd0ceb4c5844a05d384145865c10973ce748ccdd8fee73f1bf8611ce0535430b6b98fb36cad7a\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 225f58add44ed2b0a64a1d8452866d0f3c0cd45c8375e1bb33c188915c77fa11b81250b920245dda7f6126e5e0c79e6f98f89dc15db86394cf81b44f0d801e613fa4d5c6fef66fa31f26cfe6153f2e8159aad6b0351dcc0e93f9a68f649b2a77cff747b605b542d22419166befebec6cde3201e3c0cacaa2bc9d87073b8d1f1aa2b114d61de45ac8b0ad2141b43434a629ef284cd999fd82b310db7c57cf5c81\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 2780926c9cf7c1eb2aaa935d90b6d4dea44eeefdfcf9ccd4a33feb215e3a1cb2d358136a490fed18403947f3d98807819737c66e12d42c3cc8c0e246b96b3c3b0795ab875fbaf668b81b5b05bf23e258ea00a0a140a790f76e04ab619800b7597f614ffc1a1c94be2f3f1a71d64eb47d98e4653d76eabedacff3a97ecf590e6a1fd55096b7bc9314629f698d0fbe9b01a1f2bc0bf3a2c097f99f1fd222b52ed2\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 129cc5b0d9f8001b3895f1fcb4833779763636aeeeb3f980e63ea506202e6bde868444b6a58ff1dca08625f025a7e95a5eaaf1a8899eee640e3f05fbdb2867e2483bdc27c87b58684416e521c107f3667ed8dd23f0381edab767c5205a4378118bc011947cb6bdfe3fa4af50b8de876b555c9a0b2b0dae01261847f63e1e0cac2d032530bf19d5da60a04dfe22ce6343f60defbb94ccf0bdf010f89a4029720\n\n# b^m = 1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d", + "9a6cdcf912a2dd0a12ba7e87\nB = 4e2a47cf67c3331b1e9976f583f6339cf76a8d48682d01355c25b2aed90c5544e737ecfa849c17d27a64fad7e659ef48df9a3ac0410e5c7ca8d087fc3a3ba23e5a3f000be009fcc8227ead28158c5b5d66f2efb47111638ef61cea4984de42fbd476bc2236ad02154d3ce85805c45e49d16b496e313a4052a37d4b88a3b13e598d2074a3e36a37e90278601f2b2305e034f9bf3aea8e939c3ba274e8ff4d8a14\n\n# b^m = 1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 2455c4ab826e2ae72708a8ff51348ce4821cb86fa89e298c751c1754211c63b2e9a712d40f0235f310606fcf296726a86973f19f890d571f5b90f026e8d24d07bc0478a3c1333171587387f1f7fe4a770b593216f2743318aabacb3320c40a4e52b9f409e1176fe8db099e93a7991eb8568168e2e486fa5aa228bb1dce9df3290ef13fd21c331479bb0f8b7a7e7f03c5211ae8cc46fa4d0f46e86b2dadeddd5b\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 9951c2c02dd7deedce29bd0c78dd80066b1d69c0e6fe4a17f7d03c6a640d866d01fc8214bafb6737efd93d80a35b8993f5367ce287459b07954e9771ffbc72ccdd812d26a9bf4be0292a24eb5c3b56f09619b1c1b481f7566f7e50e65f69f5feb591bd107fec72a783429dbde6e2607f3db2c58d4b070a45b4d6b43537e19942ce890b04ae1e91069c04a96ed03ddb2f4fc456f136b98102c70a15700dbd911\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 4cb8217d229d5f95f6d94807a99363823655d6bba6bdafa4f0dbfe7a5c538aa79c918710aad4f55caaee5ab405ebdcef29dfb76cae99fca8d5a955b6315f71a3cb2d69a217ff45aed66ba87cdc5c0de5d512c6dd12e641e9fe6a2557dd2f03bf3a18650ff139efa179f0fbe69cbb4b54e50d13177bfe7bb90de36b548d5ccfef74b05d3c08a7e2a3bb4dc8d7eb338a7a1b068c433ea204d171eda5e7c6b6722c\n", +}; +static const size_t kLen42 = 155170; + +static const char *kData42[] = { "# This file contains multiples of the base point for various curves. The point\n# at infinity is represented as X = 0, Y = 0.\n#\n# This file is generated by make_ec_scalar_base_mult_tests.go\n\nCurve = P-224\n# N = -64\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29fd\nX = d9174b3ca6b093dee706b10e1d90309aa58aebf6c9006a37f3716fde\nY = 5091be99fda790ff9e6ecd2ac66b734f157f46402bf194d3bd8c194d\n\nCurve = P-224\n# N = -63\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29fe\nX = 2e74dd665404a8900c8e3d4f822b7a9b6dcb64940ef5f5671caba7ef\nY = f58bc45165c62d4c2c2ad7a8fb7e8f03322ce8ea5dc9c29f77625b14\n\nCurve = P-224\n# N = -62\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29ff\nX = c671c49a40fdb37ee1afb59c55915461d0c4b2a67cbe4f1f0c747c97\nY = 467fdfe495f8d2f97b00b4f8b83abdf40dc6c1b666fc5edc29225ed6\n\nCurve = P-224\n# N = -61\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a00\nX = 2396b9ee84e06252585475f54b390553185c05702db27913a80911b8\nY = 5bb2feab11a9448a5a11ae2b51e4132f0da82d7866b1b971dd85edd2\n\nCurve = P-224\n# N = -60\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a01\nX = 8c64ebb538c109bbd60fd54cf7ff47216d30ecefbac0824c6e50b291\nY = bfd6736f43c5ebb33959c9ec4444f5ea6c86e645b03dbed955ae402b\n\nCurve = P-224\n# N = -59\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a02\nX = 79fb86be63eed9cf12d44df82123ac91042f888b91b1b916bd3c107e\nY = 4bac5537dc8a32199840b52e4c4002733b7941c69c711c8248e8e33e\n\nCurve = P-224\n# N = -58\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a03\nX = eb81ac109e13fe579100edba2dd5389945b3fdf247b4036b018acf60\nY = 778b905f5bd3254728b9105ad7e4c53794201298b40d5fd166a75467\n\nCurve = P-224\n# N = -57\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a04\nX = 868ef00d187fef3010c81e77e214a828b4f9227cf5761d7eed89d916\nY = dae0eef456786c9592faebd46cf44d711fe16fa66b63bf7e8f70d911\n\nCurve = P-224\n# N = -56\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a05\nX = 7cdfaa27e1972788b9891be32d4491c5a9f7187a05c7d40107b7f0fc\nY = 46bb23e1eed098c6ac43e6c7e6a48c9e1e9c8169ef82488581f3782a\n\nCurve = P-224\n# N = -55\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a06\nX = a3168f507cc5ca03ec9507ff1fbe5ca00f3a1410948250749639b32a\nY = 7d83b007949ca192bbd2a691c208fe5e0adacbee0d5bc807cfc44a9e\n\nCurve = P-224\n# N = -54\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a07\nX = e095d7363877c57e22ad1a708b7775ae804cceacecf2e2df16618035\nY = b58fa951b3d1ce053b38a7cb072e69f64d281efc8cc9f1f42bbfde5e\n\nCurve = P-224\n# N = -53\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a08\nX = df5d3ed85b75fb433d057198debdd036cd9f11f339a4d607eb424932\nY = a61a1c0ab289b7658439375678b7a2e99b0c292297dbedf22eb912e9\n\nCurve = P-224\n# N = -52\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a09\nX = 6e53e26a8b7b28a7c7a61dd4d53d509514edad71188245929589c788\nY = f85f23a7c85fd7efc006d3eb13480eb0f6f647fdea5b59d06366d558\n\nCurve = P-224\n# N = -51\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0a\nX = 5b4ce687825f6a00f83cd3bbc77c67dc14d91bd78d4e47f7e2ce7b0f\nY = 6a86b2451d4be8409dec03799f680c806bc355e798591857fb8eddd6\n\nCurve = P-224\n# N = -50\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0b\nX = bce605150a1d4d750c5a043fb4136726f99b4a41f35d3b3832ea583f\nY = 768e2427050ad575667f8784b7fe8c6b2ae7873a7ff11ded64a13b0c\n\nCurve = P-224\n# N = -49\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0c\nX = f18721e462d2340c4a88e00130d86691386ba2a83d1fb1dc8b927cca\nY = b31f4d99a118d1c2c19f0815a89a921305d8d52005b64dd249b6a8e9\n\nCurve = P-224\n# N = -48\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0d\nX = f087c8764bb082e669a8afbc5db571971898ccc2c5d4baf73cd35e9d\nY = 72edb9b8154237917e7a05581d1cb2048d4d31c4ab90d005c9b67e4a\n\nCurve = P-224\n# N = -47\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0e\nX = eca965fd046c7fd242e29ba1a178b71b1ec6e7af6a5b88232a285c92\nY = 3e526a6b5ecbd24f9308de03fdb757a51a564ebc5872dbef7886cc7c\n\nCurve = P-224\n# N = -46\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0f\nX = 71f8a2cdf405c7ee499dbd7216a07e5aa61b8faa4fd20b516d2761d4\nY = 7a3008d5e50050b0ab427b36d15de75c0c190f7eb0b6a130106354f7\n\nCurve = P-224\n# N = -45\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a10\nX = cc96733b052b2f04f1cebb4cb8afb448a21c09821d6288b86cb8a17a\nY = 159e86c0c38e8f7fc210036054941444c90054fd2047a4eb0dbdbc6e\n\nCurve = P-224\n# N = -44\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a11\nX = d20981b43d053ca0ca30994a5586e7f2342c479b07c6c367d0025900\nY = 572b87044e041001d988793e9ae35378f7b9121a0d7abc1941b7cf8d\n\nCurve = P-224\n# N = -43\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a12\nX = 2f9a6dce655ee5d9f00b398e756defe1499b98df1e2edac8a784ad75\nY = bd851fc17271dca923b803a4a4554a949bfc20f14f26feacc2649762\n\nCurve = P-224\n# N = -42\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a13\nX = 0a8b3acff07b4e49ed1d6cd0e8cebbb0ac9f5bc5ec7d65e0adf7b21c\nY = 6aea047a1d6c9ea9df67e58538a8c88be591728e6c0d1443063199a4\n\nCurve = P-224\n# N = -41\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a14\nX = c772baaa90a968d497e0adbf116453e4f8c21c0acbea0ee34502317c\nY = de20e75207355906ed957ac40260148fda74b9acf699fa06caf08a62\n\nCurve = P-224\n# N = -40\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a15\nX = 5e4cdfc6fc36ea0cd69a38a7485a317a0aeded6b5f6cd80072826385\nY = 14afef7672ca22afe13292524ab55dfeef828e7e1e6abd8aadb9f27f\n\nCurve = P-224\n# N = -39\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a16\nX = 9a89bcce6f9b400618997c1184c5099a154a07954cb15d5c9f4492ca\nY = f48eba6a110031e81a8e50a0c3e5c141e3a66d12ef040e2cd36c4fcd\n\nCurve = P-224\n# N = -38\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a17\nX = 68eee585a12332d41aef6f91a587bc3ca57329508fcc9f5bb3907516\nY = df09fa68ba98511870b892e5f59c02792aed884376ecc9b081641901\n\nCurve = P-224\n# N = -37\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a18\nX = 9810b8218ec461154d317a954df66f5f81e51dc07ed7421b17d0b8aa\nY = e166fda56ccb98bbfa8423bcacbcacc05ddac7e88ff0ce13c805a10a\n\nCurve = P-224\n# N = -36\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a19\nX = 6116976ec4511b1b9ee2b839378ff122c2bdb3f58823a82a68aef8e1\nY = 99b4990881ca11762f616528685fbf94eb1708fa1ae25f010d070beb\n\nCurve = P-224\n# N = -35\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1a\nX = da200dcda742573ca097e34bb87b356b84541f765cf38d2bf07471b0\nY = ef05917f8f13fc686a8a0b6b544b0a1ed3488f1dff476a9a9c7cc19e\n\nCurve = P-224\n# N = -34\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1b\nX = f8188c7623f76642286b8e9e4d4c5d58b8eaf7265b3b0e816076e7e4\nY = bc6fc80b788a058da4873e54acc733db09105a6775bfb3faa6c549af\n\nCurve = P-224\n# N = -33\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1c\nX = 224c4a62c8b1028606603cce1d451409b23d680bb063a8e6875d3b5c\nY = ca97069c235efeb00a05729df91171d17605320950a1cea2e49fd119\n\nCurve = P-224\n# N = -32\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1d\nX = b700a5c3bb6379de6caea37ff7a47ca909bec01a603c5ec5e1d1e794\nY = 39e4c2c2e0968ef8a7cd7cabbfd37d0d2335579e72145109b23ce46a\n\nCurve = P-224\n# N = -31\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1e\nX = 0ecf1b60836e92b7af968bccd69ff8300d55a42b0e855a4ff3546eab\nY = 4bd76a3b0d1e95b063d22f890c68ebfd2327e3af12611c8f66bc1d21\n\nCurve = P-224\n# N = -30\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1f\nX = 599b7e7e639bc335eb891295f0d8f4d8d8c76e588f0767741ab07558\nY = a5aa7d10418290c0f35d3e4fccd02e4b3bc48ac8a87ad052e4cdcc14\n\nCurve = P-224\n# N = -29\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a20\nX = f63f9d855262e9b691f9bb848c78859508a8c1e6fb3246212e146e5c\nY = f75d5db787bfb5cb199828b1040e7ccd9a20d198d9f82a81001cf9e4\n\nCurve = P-224\n# N = -28\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a21\nX = 1243a602d84f3ea7cf4a56f86ccb93395c1d609af98d6474d8e7afb1\nY = 42c598ef4d24cb1f640cafc463a244dc4a26c694bf7b4737c8c6ec7c\n\nCurve = P-224\n# N = -27\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a22\nX = 1989153b5f6636b610854bcc50afc929e914c03da51a4a8239f4865b\nY = 46c7e1923864a71fbbc324ff6e9b7c842baf5973e6e6d0ed9abd8695\n\nCurve = P-224\n# N = -26\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a23\nX = 263ed2217", "b1f0a813156e647e87e6cf618b9635c3f910f9d92153b04\nY = ba1722401bfc9e41088cac3974d5ec7ad91fa0cd95b0a3555a23194a\n\nCurve = P-224\n# N = -25\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a24\nX = f1a7ae364dba054b51dff5d5ce16fb28965fb3777dca1ce3c1ad6ad0\nY = b15ffa68153924545b397331387cee02f86c97f51fb4d28a172db95d\n\nCurve = P-224\n# N = -24\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a25\nX = affdfabc0525468041b2baf73874ec60762a670562c0248e474456a1\nY = 00828bfdac88b772536123340be2bf21ccec9cda4e9ba00d50db9e30\n\nCurve = P-224\n# N = -23\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a26\nX = 2da9b6b6ec26e646ceef802c560782026da04bf2f2d196f4bca2d074\nY = 58d6f33f99ff23e92c8a043b47b66ae89f7d30289b35b16aea963966\n\nCurve = P-224\n# N = -22\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a27\nX = c9bdd86f5fb7fe1e54c6ff9026f20add6c1984f1ef22b80a887af62c\nY = eec590de16f168bde8d375e5dcc22402db091965c0a5bf7f95cf88f5\n\nCurve = P-224\n# N = -21\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a28\nX = a3d482c3e7eec18c534d4ceb1c9b8cefecb369a68a85a4e826165174\nY = 9b11ffa67c105561b349cb872408dfdc8daf9071a39d9c38fee98408\n\nCurve = P-224\n# N = -20\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a29\nX = fcc7f2b45df1cd5a3c0c0731ca47a8af75cfb0347e8354eefe782455\nY = f2a28eefd8b345832116f1e574f2c6b2c895aa8c24941f40d8b80ad1\n\nCurve = P-224\n# N = -19\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2a\nX = a1e81c04f30ce201c7c9ace785ed44cc33b455a022f2acdbc6cae83c\nY = 230e093c24f638f533dac6e2b6d01da3b5e7f45429315ca93fb8e634\n\nCurve = P-224\n# N = -18\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2b\nX = c9ff61b040874c0568479216824a15eab1a838a797d189746226e4cc\nY = 156729f1a003647030666054e208180f8f7b0df2249e44fba5931fff\n\nCurve = P-224\n# N = -17\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2c\nX = b8357c3a6ceef288310e17b8bfeff9200846ca8c1942497c484403bc\nY = 00eb610599f95942df1082e4f9426d086fb9c6231ae8b24933aab5db\n\nCurve = P-224\n# N = -16\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2d\nX = 0b6ec4fe1777382404ef679997ba8d1cc5cd8e85349259f590c4c66d\nY = cc662b9bcba6f94ee4ff1c9c10bd6ddd0d138df2d099a282152a4b7f\n\nCurve = P-224\n# N = -15\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2e\nX = baa4d8635511a7d288aebeedd12ce529ff102c91f97f867e21916bf9\nY = 6865a0b8a607f0b04b13d1cb0aa992a5a97f5ee8ca1849efb9ed8678\n\nCurve = P-224\n# N = -14\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2f\nX = a53640c83dc208603ded83e4ecf758f24c357d7cf48088b2ce01e9fa\nY = 2a7eb328dbe663b5a468b5bc97a040a3745396ba636b964370dc3352\n\nCurve = P-224\n# N = -13\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a30\nX = 34e8e17a430e43289793c383fac9774247b40e9ebd3366981fcfaeca\nY = dad7e608e380480434ea641cc82c82cbc92801469c8db0204f13489a\n\nCurve = P-224\n# N = -12\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a31\nX = 6e31ee1dc137f81b056752e4deab1443a481033e9b4c93a3044f4f7a\nY = df82220fc7a4021549165325725f94c3410ddb56c54e161fc9ef62ee\n\nCurve = P-224\n# N = -11\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a32\nX = ef53b6294aca431f0f3c22dc82eb9050324f1d88d377e716448e507c\nY = df4aefffbf6d1699c930481cd102127c9a3d992048ab05929b6e5927\n\nCurve = P-224\n# N = -10\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a33\nX = aea9e17a306517eb89152aa7096d2c381ec813c51aa880e7bee2c0fd\nY = c644cf154cc81f5ade49345e541b4d4b5c1adb3eb5c01c14ee949aa2\n\nCurve = P-224\n# N = -9\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a34\nX = 2fdcccfee720a77ef6cb3bfbb447f9383117e3daa4a07e36ed15f78d\nY = c8e8cd1b0be40b0877cfca1958603122f1e6914f84b7e8e968ae8b9e\n\nCurve = P-224\n# N = -8\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a35\nX = 858e6f9cc6c12c31f5df124aa77767b05c8bc021bd683d2b55571550\nY = fb9232c15a3bc7673a3a03b0253824c53d0fd1411b1cabe2e187fb87\n\nCurve = P-224\n# N = -7\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a36\nX = db2f6be630e246a5cf7d99b85194b123d487e2d466b94b24a03c3e28\nY = f0c5cff7ab680d09ee11dae84e9c1072ac48ea2e744b1b7f72fd469e\n\nCurve = P-224\n# N = -6\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37\nX = 1f2483f82572251fca975fea40db821df8ad82a3c002ee6c57112408\nY = 76050f3348af2664aac3a8b05281304ebc7a7914c6ad50a4b4eac383\n\nCurve = P-224\n# N = -5\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a38\nX = 31c49ae75bce7807cdff22055d94ee9021fedbb5ab51c57526f011aa\nY = d817400e8ba9ca13a45f360e3d121eaaeb39af82d6001c8186f5f866\n\nCurve = P-224\n# N = -4\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a39\nX = ae99feebb5d26945b54892092a8aee02912930fa41cd114e40447301\nY = fb7da7f5f13a43b81774373c879cd32d6934c05fa758eeb14fcfab38\n\nCurve = P-224\n# N = -3\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\nX = df1b1d66a551d0d31eff822558b9d2cc75c2180279fe0d08fd896d04\nY = 5c080fc3522f41bbb3f55a97cfecf21f882ce8cbb1e50ca6e67e56dc\n\nCurve = P-224\n# N = -2\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\nX = 706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6\nY = e3d4895843da188fd58fb0567976d7b50359d6b78530c8f62d1b1746\n\nCurve = P-224\n# N = -1\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nX = b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21\nY = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd\n\nCurve = P-224\n# N = 0\nN = 00000000000000000000000000000000000000000000000000000000\nX = 00000000000000000000000000000000000000000000000000000000\nY = 00000000000000000000000000000000000000000000000000000000\n\nCurve = P-224\n# N = 1\nN = 00000000000000000000000000000000000000000000000000000001\nX = b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21\nY = bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34\n\nCurve = P-224\n# N = 2\nN = 00000000000000000000000000000000000000000000000000000002\nX = 706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6\nY = 1c2b76a7bc25e7702a704fa986892849fca629487acf3709d2e4e8bb\n\nCurve = P-224\n# N = 3\nN = 00000000000000000000000000000000000000000000000000000003\nX = df1b1d66a551d0d31eff822558b9d2cc75c2180279fe0d08fd896d04\nY = a3f7f03cadd0be444c0aa56830130ddf77d317344e1af3591981a925\n\nCurve = P-224\n# N = 4\nN = 00000000000000000000000000000000000000000000000000000004\nX = ae99feebb5d26945b54892092a8aee02912930fa41cd114e40447301\nY = 0482580a0ec5bc47e88bc8c378632cd196cb3fa058a7114eb03054c9\n\nCurve = P-224\n# N = 5\nN = 00000000000000000000000000000000000000000000000000000005\nX = 31c49ae75bce7807cdff22055d94ee9021fedbb5ab51c57526f011aa\nY = 27e8bff1745635ec5ba0c9f1c2ede15414c6507d29ffe37e790a079b\n\nCurve = P-224\n# N = 6\nN = 00000000000000000000000000000000000000000000000000000006\nX = 1f2483f82572251fca975fea40db821df8ad82a3c002ee6c57112408\nY = 89faf0ccb750d99b553c574fad7ecfb0438586eb3952af5b4b153c7e\n\nCurve = P-224\n# N = 7\nN = 00000000000000000000000000000000000000000000000000000007\nX = db2f6be630e246a5cf7d99b85194b123d487e2d466b94b24a03c3e28\nY = 0f3a30085497f2f611ee2517b163ef8c53b715d18bb4e4808d02b963\n\nCurve = P-224\n# N = 8\nN = 00000000000000000000000000000000000000000000000000000008\nX = 858e6f9cc6c12c31f5df124aa77767b05c8bc021bd683d2b55571550\nY = 046dcd3ea5c43898c5c5fc4fdac7db39c2f02ebee4e3541d1e78047a\n\nCurve = P-224\n# N = 9\nN = 00000000000000000000000000000000000000000000000000000009\nX = 2fdcccfee720a77ef6cb3bfbb447f9383117e3daa4a07e36ed15f78d\nY = 371732e4f41bf4f7883035e6a79fcedc0e196eb07b48171697517463\n\nCurve = P-224\n# N = 10\nN = 0000000000000000000000000000000000000000000000000000000a\nX = aea9e17a306517eb89152aa7096d2c381ec813c51aa880e7bee2c0fd\nY = 39bb30eab337e0a521b6cba1abe4b2b3a3e524c14a3fe3eb116b655f\n\nCurve = P-224\n# N = 11\nN = 0000000000000000000000000000000000000000000000000000000b\nX = ef53b6294aca431f0f3c22dc82eb9050324f1d88d377e716448e507c\nY = 20b510004092e96636cfb7e32efded8265c266dfb754fa6d6491a6da\n\nCurve = P-224\n# N = 12\nN = 0000000000000000000000000000000000000000000000000000000c\nX = 6e31ee1dc137f81b056752e4deab1443a481033e9b4c93a3044f4f7a\nY = 207dddf0385bfdeab6e9acda8da06b3bbef224a93ab1e9e036109d13\n\nCurve = P-224\n# N = 13\nN = 0000000000000000000000000000000000000000000000000000000d\nX = 34e8e17a430e43289793c383fac9774247b40e9ebd3366981fcfaeca\nY = 252819f71c7fb7fbcb159be337d37d3336d7feb963724fdfb0ecb767\n\nCur", "ve = P-224\n# N = 14\nN = 0000000000000000000000000000000000000000000000000000000e\nX = a53640c83dc208603ded83e4ecf758f24c357d7cf48088b2ce01e9fa\nY = d5814cd724199c4a5b974a43685fbf5b8bac69459c9469bc8f23ccaf\n\nCurve = P-224\n# N = 15\nN = 0000000000000000000000000000000000000000000000000000000f\nX = baa4d8635511a7d288aebeedd12ce529ff102c91f97f867e21916bf9\nY = 979a5f4759f80f4fb4ec2e34f5566d595680a11735e7b61046127989\n\nCurve = P-224\n# N = 16\nN = 00000000000000000000000000000000000000000000000000000010\nX = 0b6ec4fe1777382404ef679997ba8d1cc5cd8e85349259f590c4c66d\nY = 3399d464345906b11b00e363ef429221f2ec720d2f665d7dead5b482\n\nCurve = P-224\n# N = 17\nN = 00000000000000000000000000000000000000000000000000000011\nX = b8357c3a6ceef288310e17b8bfeff9200846ca8c1942497c484403bc\nY = ff149efa6606a6bd20ef7d1b06bd92f6904639dce5174db6cc554a26\n\nCurve = P-224\n# N = 18\nN = 00000000000000000000000000000000000000000000000000000012\nX = c9ff61b040874c0568479216824a15eab1a838a797d189746226e4cc\nY = ea98d60e5ffc9b8fcf999fab1df7e7ef7084f20ddb61bb045a6ce002\n\nCurve = P-224\n# N = 19\nN = 00000000000000000000000000000000000000000000000000000013\nX = a1e81c04f30ce201c7c9ace785ed44cc33b455a022f2acdbc6cae83c\nY = dcf1f6c3db09c70acc25391d492fe25b4a180babd6cea356c04719cd\n\nCurve = P-224\n# N = 20\nN = 00000000000000000000000000000000000000000000000000000014\nX = fcc7f2b45df1cd5a3c0c0731ca47a8af75cfb0347e8354eefe782455\nY = 0d5d7110274cba7cdee90e1a8b0d394c376a5573db6be0bf2747f530\n\nCurve = P-224\n# N = 21\nN = 00000000000000000000000000000000000000000000000000000015\nX = a3d482c3e7eec18c534d4ceb1c9b8cefecb369a68a85a4e826165174\nY = 64ee005983efaa9e4cb63478dbf7202272506f8e5c6263c701167bf9\n\nCurve = P-224\n# N = 22\nN = 00000000000000000000000000000000000000000000000000000016\nX = c9bdd86f5fb7fe1e54c6ff9026f20add6c1984f1ef22b80a887af62c\nY = 113a6f21e90e9742172c8a1a233ddbfc24f6e69a3f5a40806a30770c\n\nCurve = P-224\n# N = 23\nN = 00000000000000000000000000000000000000000000000000000017\nX = 2da9b6b6ec26e646ceef802c560782026da04bf2f2d196f4bca2d074\nY = a7290cc06600dc16d375fbc4b84995166082cfd764ca4e951569c69b\n\nCurve = P-224\n# N = 24\nN = 00000000000000000000000000000000000000000000000000000018\nX = affdfabc0525468041b2baf73874ec60762a670562c0248e474456a1\nY = ff7d74025377488dac9edccbf41d40dd33136325b1645ff2af2461d1\n\nCurve = P-224\n# N = 25\nN = 00000000000000000000000000000000000000000000000000000019\nX = f1a7ae364dba054b51dff5d5ce16fb28965fb3777dca1ce3c1ad6ad0\nY = 4ea00597eac6dbaba4c68ccec78311fc0793680ae04b2d75e8d246a4\n\nCurve = P-224\n# N = 26\nN = 0000000000000000000000000000000000000000000000000000001a\nX = 263ed2217b1f0a813156e647e87e6cf618b9635c3f910f9d92153b04\nY = 45e8ddbfe40361bef77353c68b2a138426e05f326a4f5caaa5dce6b7\n\nCurve = P-224\n# N = 27\nN = 0000000000000000000000000000000000000000000000000000001b\nX = 1989153b5f6636b610854bcc50afc929e914c03da51a4a8239f4865b\nY = b9381e6dc79b58e0443cdb009164837ad450a68c19192f126542796c\n\nCurve = P-224\n# N = 28\nN = 0000000000000000000000000000000000000000000000000000001c\nX = 1243a602d84f3ea7cf4a56f86ccb93395c1d609af98d6474d8e7afb1\nY = bd3a6710b2db34e09bf3503b9c5dbb22b5d9396b4084b8c837391385\n\nCurve = P-224\n# N = 29\nN = 0000000000000000000000000000000000000000000000000000001d\nX = f63f9d855262e9b691f9bb848c78859508a8c1e6fb3246212e146e5c\nY = 08a2a24878404a34e667d74efbf1833165df2e672607d57effe3061d\n\nCurve = P-224\n# N = 30\nN = 0000000000000000000000000000000000000000000000000000001e\nX = 599b7e7e639bc335eb891295f0d8f4d8d8c76e588f0767741ab07558\nY = 5a5582efbe7d6f3f0ca2c1b0332fd1b3c43b753757852fad1b3233ed\n\nCurve = P-224\n# N = 31\nN = 0000000000000000000000000000000000000000000000000000001f\nX = 0ecf1b60836e92b7af968bccd69ff8300d55a42b0e855a4ff3546eab\nY = b42895c4f2e16a4f9c2dd076f3971401dcd81c50ed9ee3709943e2e0\n\nCurve = P-224\n# N = 32\nN = 00000000000000000000000000000000000000000000000000000020\nX = b700a5c3bb6379de6caea37ff7a47ca909bec01a603c5ec5e1d1e794\nY = c61b3d3d1f69710758328354402c82f1dccaa8618debaef64dc31b97\n\nCurve = P-224\n# N = 33\nN = 00000000000000000000000000000000000000000000000000000021\nX = 224c4a62c8b1028606603cce1d451409b23d680bb063a8e6875d3b5c\nY = 3568f963dca1014ff5fa8d6206ee8e2d89facdf6af5e315d1b602ee8\n\nCurve = P-224\n# N = 34\nN = 00000000000000000000000000000000000000000000000000000022\nX = f8188c7623f76642286b8e9e4d4c5d58b8eaf7265b3b0e816076e7e4\nY = 439037f48775fa725b78c1ab5338cc23f6efa5988a404c05593ab652\n\nCurve = P-224\n# N = 35\nN = 00000000000000000000000000000000000000000000000000000023\nX = da200dcda742573ca097e34bb87b356b84541f765cf38d2bf07471b0\nY = 10fa6e8070ec03979575f494abb4f5e02cb770e200b8956563833e63\n\nCurve = P-224\n# N = 36\nN = 00000000000000000000000000000000000000000000000000000024\nX = 6116976ec4511b1b9ee2b839378ff122c2bdb3f58823a82a68aef8e1\nY = 664b66f77e35ee89d09e9ad797a0406a14e8f705e51da0fef2f8f416\n\nCurve = P-224\n# N = 37\nN = 00000000000000000000000000000000000000000000000000000025\nX = 9810b8218ec461154d317a954df66f5f81e51dc07ed7421b17d0b8aa\nY = 1e99025a93346744057bdc435343533ea2253817700f31ec37fa5ef7\n\nCurve = P-224\n# N = 38\nN = 00000000000000000000000000000000000000000000000000000026\nX = 68eee585a12332d41aef6f91a587bc3ca57329508fcc9f5bb3907516\nY = 20f605974567aee78f476d1a0a63fd85d51277bc8913364f7e9be700\n\nCurve = P-224\n# N = 39\nN = 00000000000000000000000000000000000000000000000000000027\nX = 9a89bcce6f9b400618997c1184c5099a154a07954cb15d5c9f4492ca\nY = 0b714595eeffce17e571af5f3c1a3ebd1c5992ed10fbf1d32c93b034\n\nCurve = P-224\n# N = 40\nN = 00000000000000000000000000000000000000000000000000000028\nX = 5e4cdfc6fc36ea0cd69a38a7485a317a0aeded6b5f6cd80072826385\nY = eb5010898d35dd501ecd6dadb54aa200107d7181e195427552460d82\n\nCurve = P-224\n# N = 41\nN = 00000000000000000000000000000000000000000000000000000029\nX = c772baaa90a968d497e0adbf116453e4f8c21c0acbea0ee34502317c\nY = 21df18adf8caa6f9126a853bfd9feb6f258b4653096605f9350f759f\n\nCurve = P-224\n# N = 42\nN = 0000000000000000000000000000000000000000000000000000002a\nX = 0a8b3acff07b4e49ed1d6cd0e8cebbb0ac9f5bc5ec7d65e0adf7b21c\nY = 9515fb85e293615620981a7ac75737731a6e8d7193f2ebbcf9ce665d\n\nCurve = P-224\n# N = 43\nN = 0000000000000000000000000000000000000000000000000000002b\nX = 2f9a6dce655ee5d9f00b398e756defe1499b98df1e2edac8a784ad75\nY = 427ae03e8d8e2356dc47fc5b5baab56a6403df0eb0d901533d9b689f\n\nCurve = P-224\n# N = 44\nN = 0000000000000000000000000000000000000000000000000000002c\nX = d20981b43d053ca0ca30994a5586e7f2342c479b07c6c367d0025900\nY = a8d478fbb1fbeffe267786c1651cac860846ede5f28543e6be483074\n\nCurve = P-224\n# N = 45\nN = 0000000000000000000000000000000000000000000000000000002d\nX = cc96733b052b2f04f1cebb4cb8afb448a21c09821d6288b86cb8a17a\nY = ea61793f3c7170803deffc9fab6bebba36ffab02dfb85b14f2424393\n\nCurve = P-224\n# N = 46\nN = 0000000000000000000000000000000000000000000000000000002e\nX = 71f8a2cdf405c7ee499dbd7216a07e5aa61b8faa4fd20b516d2761d4\nY = 85cff72a1affaf4f54bd84c92ea218a2f3e6f0814f495ecfef9cab0a\n\nCurve = P-224\n# N = 47\nN = 0000000000000000000000000000000000000000000000000000002f\nX = eca965fd046c7fd242e29ba1a178b71b1ec6e7af6a5b88232a285c92\nY = c1ad9594a1342db06cf721fc0248a859e5a9b143a78d241087793385\n\nCurve = P-224\n# N = 48\nN = 00000000000000000000000000000000000000000000000000000030\nX = f087c8764bb082e669a8afbc5db571971898ccc2c5d4baf73cd35e9d\nY = 8d124647eabdc86e8185faa7e2e34dfa72b2ce3b546f2ffa364981b7\n\nCurve = P-224\n# N = 49\nN = 00000000000000000000000000000000000000000000000000000031\nX = f18721e462d2340c4a88e00130d86691386ba2a83d1fb1dc8b927cca\nY = 4ce0b2665ee72e3d3e60f7ea57656debfa272adffa49b22db6495718\n\nCurve = P-224\n# N = 50\nN = 00000000000000000000000000000000000000000000000000000032\nX = bce605150a1d4d750c5a043fb4136726f99b4a41f35d3b3832ea583f\nY = 8971dbd8faf52a8a9980787b48017393d51878c5800ee2129b5ec4f5\n\nCurve = P-224\n# N = 51\nN = 00000000000000000000000000000000000000000000000000000033\nX = 5b4ce687825f6a00f83cd3bbc77c67dc14d91bd78d4e47f7e2ce7b0f\nY = 95794dbae2b417bf6213fc866097f37e943caa1867a6e7a80471222b\n\nCurve = P-224\n# N = 52\nN = 00000000000000000000000000000000000000000000000000000034\nX = 6e53e26a8b7b28a7c7a61dd4d53d509514edad71188245929589c788\nY = 07a0dc5837a028103ff92c14ecb7f14e0909b80215a4a62f9c992aa9\n\nCurve = P-224\n# N = 53\nN = 00000000000000000000000000000000000000000000000000000035\nX = df5d3ed85b75fb433d057198debdd036cd", @@ -2645,9 +2732,9 @@ static const char *kData40[] = { "9642dd68d1a988bb828d895ed5d116d7f87032133e2949da6c395738534b93220fe2ad07f0b291adc92433ee2dee160709ed9985b0c\nY = 0177acd53b00c9f29f3ece28b4724f834f49606d3f34656a52ef5443c5d9216ae388b345b828c8b09a2b2e495cf2adcdd6b5886f4ded1741425ac31c832ba74eed38\n\nCurve = P-521\n# N = 29\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d\nX = 0174c644d6c94b68287db3c1fbfcb65a085ff9f45131e86265ec28bef38f7664a1305ca9bc06876d72914003ab8e847ffb9ef33d8595d51f6d962c3927618eda25dc\nY = 011af3a7c2f87f419e6805acc95b41b7b7820233ef8fcb6441fcb5cf5eb795ad34b7be0e21952ce0d90b50c2732d706d303f0679927c26ebbfbd187bbbc4821a0c30\n\nCurve = P-521\n# N = 30\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e\nX = 00d087d70d11074b36bb0b6913261570a6b33cf015e1f913a610ea52dbcbae2a3e4435573f35d14754c6352756cc169eac6bf7d9b10f1b0af5956117fab72ec4b081\nY = 00c4d07f8c3cafdc1636811d7b95a6ac2dcebcde1cd94afbdbd3e47015660d29f15354d5b99d1d7d4adaf279efee5d860be9069edd46ff01cfc7b64d6af6579dbed3\n\nCurve = P-521\n# N = 31\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f\nX = 00d8e9920cf30f0c6615006a58cdb7307b7db574589657c2a6617260a83ca5e7726cd65543a904c9d429fc14c1ac09cd6b220dcfb5e488e248122257d0e0c16a8803\nY = 0127b023b5454a663987df09c13a214a30ec8b5406328f10c8060aefb72cbed1aa30f76b8c3244d14790139a868cae4cc263aa1bd97c7b54318aca4677c739792d19\n\nCurve = P-521\n# N = 32\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020\nX = 0166ba3596d20a3a469443707af94ba15b343e3e16654e068038dba7ecefb9e5ebd6ea04a35dc73596ec67d69bd6ba5d1f949cf7475cd6c5c78247915ab876e56a9e\nY = 00477b0ff4d1940ab8111635e75ff3e08268ff7bd8bf5ff01967c1df01c65c2dd77de204cdb818cdd6b9b74de1c7ea0f36dfcd98c965ab96163695ca9a9914a156aa\n\nCurve = P-521\n# N = 33\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021\nX = 00284195f0978fb969e68c76eb4e3c76f58e52086d482be92613f381421a74236df0abdbea7e2b77ef1ae9a519a57aa53ac2a5ec59186b2ed12d5ea2e1fc649f308d\nY = 007e43eb08c656dc636b7b7a3bc869056d3a24d513abe063c6639e016769614ac5f2e7656ecbf3d138bf00bd7216c16deb3a88effd5c228b58f36be95a3dd3e11c4d\n\nCurve = P-521\n# N = 34\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022\nX = 0122f66451d0843fb59448c58962f5b7c130eb8db26b14dbf8bf0e7d84e588581cdea866a98b697d432cc1f1f8993db2173b55ac0435b8317a8ddfeab253d54e4d87\nY = 01bed137b942249932f3c1f12141aee1538aa373f5aee0a89a48d357d7c04965b0515097293e4f87a6a413184d9be8ea91406baa5223db7571bcda9dba82fd9a06dc\n\nCurve = P-521\n# N = 35\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023\nX = 00ddc300757549630a78398b62069e0ba392a267a642b593e0bfc4a780b56f97392bb4806c84fda74023ee4a618608f6b2cea92ff614b5dcc8d8dc1039c9ccd7d718\nY = 00c1bd2d07f6ac7fc5cc1b83431f0c30dbbfa510936cb5d85bcf462796591a31db509ab1178bd2c701425c212522ee69e797deba4db422640a4d3eb1d3ef241e07f4\n\nCurve = P-521\n# N = 36\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024\nX = 01ad81c98659bd21e082514d5e71894c417b2a25afe471eb8ad9e81a91dac8198aa9f385da9cc679bb96e724672821b585e05323bdc821e585edae56cbf798bd6ef0\nY = 01217026e6cf8e6fc4e761aeda5705b3c0f8ca7f475441227b9761285bc6dc8f01af1af50b0bb140013a75db963d8698121dd2c4ba1759a98b43ac7712f8455c99ef\n\nCurve = P-521\n# N = 37\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025\nX = 00944f64a6c21832b67139e798352ded5867c35c5d56c1d59e4229ed0ae6af9d5749bd445763a28856040e58e26ee0980df28c64e76ae4780273f1ac4d59b557a36f\nY = 0150b7ee1b02028ab7410c4b9624f26cb192fe4e6ff21865f85926317da6b7991305dcbdbc2471c83f81b85c564995a057c331a4be4056988296312bf98394fb2a03\n\nCurve = P-521\n# N = 38\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026\nX = 0195aeb1530c7d932a18922563d71ef6e7449078207b610c2c77690815bcef8f312718413823ed8d4ba112ac2ecc9d4e688346f120cb19ae965d853028d72a5f4a8b\nY = 00e0c42d3cc093242000c0ec0975884bb0308611d8bd49b6090a06c5bdf7d0e1544851f9ba596291ef1ee3e3c9a002b7985ba29e51d193b701e0c87e1acd797bd130\n\nCurve = P-521\n# N = 39\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027\nX = 0124a0b8f411fbad60755264126356a499029e9661a49b5b907238d9fd62359c6ea7256b0cc58626a1e2ac0bf434e5fa31795b4fa1d48083af670b704119ee33b77c\nY = 001029616edc7335dce3602a9a406bbd399c68937baa8796154cdc0b1240c690db4818dc59feb96825aaa3caf2415944e762f212e74b698e40abd8dcdc61228b61a6\n\nCurve = P-521\n# N = 40\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028\nX = 002efdef97e46cd544553a0c67f41886ad969f67883679409022c4ad6090a169b596f85d832dc9767b2bb513eb4d0d01e18f067fffb5ac53dbcfaf456a57824c9d93\nY = 00d88e2e3fdd283592d6c4c2a4687e65a6a823ffc6106dff96f75bb3141d0df516fe46a5357b21dc22404f4ef79e44aa97b22c101fec75d81e09b591f36738ae8e5c\n\nCurve = P-521\n# N = 41\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029\nX = 0175a140ed79e85e24a763ebfd9d2883082552a523e4b28998a685b85f23864a60c816b931eaf495ccce4c08c3ddc8297bfaddfda1a522cc2af68e00ce952624381e\nY = 01b09696d71855e2d4ed36f21343ca399be7ab59e580e9ee563223de821b22c82111b39e0e11ecf327da052a6e551fa28ebdf75dd758e7f3a3ecebeb760ec1028ecf\n\nCurve = P-521\n# N = 42\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a\nX = 0161960dcd7bd7263ed37a0a1c0aa146f918874f472a2a5de6f2f5633364979e0bda2868fa8595d78243ea20d4e83c72305e420bebfa3767dcd4b7902612a9491855\nY = 016ac1cfdd433815668a5c6ae0d1031bc121a00e6a6b58d1eec42da602f01cc43b7ef728d67c4e39de86324cba6a2c4cce08414fdd6ad7d0722338a50e352ad521ef\n\nCurve = P-521\n# N = 43\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b\nX = 018c0148a165ec58e4fed55022d90544d8a070678aa2ec1419af8ef0f94438fea396fc66ad7aed7d37dda3a74e7a9b3d85ca51f0b62fdee07d20713e3083224f497e\nY = 010abbaa1f099e78869aebf7a83c7aa3bf242677e91db1d144cd7a3037819f1a0bec67fd6098879b1cf1932d602b547ce17a94edb92f76b688d2895829067683adbf\n\nCurve = P-521\n# N = 44\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c\nX = 013fdb51df11f0b29b485f0c48a04cca16cfe1cecbe9fd57f6507c3cfcbef88c88cf761e3e73e6509ec7e77fffe912d2b367b25aa02cb1d33a5378f253cdcde738d2\nY = 01d14c8c184a7228a7034e4f65b3d0338f667aac908b39acf39c9ebedc0452b7c2f2a4460186aa2271d357733ea23d7284a8a123424f99a20b5242343b5cbafa661a\n\nCurve = P-521\n# N = 45\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d\nX = 004969d186aca09e53b879596b8fff2bc0207a58f7f28c147cc07b2df5e3f197286779189b7df8a1f2d9dc8ea1ace5703f0fc2954607b66b70c4a32dec600fc95c1a\nY = 01e81ec9b50cd8d3847d4d6ac21f3149fc7b15862a423270884135584a1bbcdb40a9b8d5b2802eadae85e6ed9e879be328e13463f5d90b37564f9498a7cd000903a9\n\nCurve = P-521\n# N = 46\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e\nX = 00bbdb162d8284a910021998e2d14f33a8c51a9cfb9a69a8fc5709f753aaf1c4d248a6ddb5626540f81d07c09231d2ec1549f672b6d2bd57d22f64f2ae8093e738a5\nY = 013b86f0d5921216efe01fe9c7cabc10b00ab81c9fbd9674149d2ece424b786f6c372a1831112f54132d7d3af42dc8cd7e17b7ec80b09fa59f0e42c142895961259a\n\nCurve = P-521\n# N = 47\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "000000000000000000000000000000000000000002f\nX = 00afe31f8907048afd5f9cf5083ecc35882ce4e4fe2714033ff897233106c71dd0b2381864a0b9e922ac9cee75a3a9c4dd660a56a130d1ecbb672fda63c9abd59d11\nY = 0012f95dc8657275fe9db4290cbbb54ff69a605f079349209f88ecea7f3276f064979276080b904982a6ebb760f478d825e711ca41599f10673bd3065d2f1d90e1d6\n\nCurve = P-521\n# N = 48\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030\nX = 01fb35de3b21557462ac8158e5caec62c8ccae7d6d6672102c334b3cc8a5803e72f42da0980f3f6fbfacdedc21b10ff08ee6641752bd214aea2c87027d612ad879ad\nY = 018d34a5ac1587992deda855b9ec4bb3f5c176f27fc94d09e2cc871294f66cc2e1bae6214d64a1d97e37b7c142e0fb0e3c28596f24804841cae7b1958193d256d46b\n\nCurve = P-521\n# N = 49\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031\nX = 00a5cb98fa3c0b8c1d57cba40a63bbaba0d39d45c347ae499839f581b8b111dea9eb6bc2a2df52f6284291d8c84e2e345fa87258dab1ac4c04ca0c8cb45049efc0ad\nY = 0015dc95654090d77b971409b01bf72e151b749ee467877e5b7eb072c39d9da8bf835dd9775543d575c20c10f2ceebb72bb44b963fbfb0b88b1d0b9bf46a2c8884b4\n\nCurve = P-521\n# N = 50\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032\nX = 017176204957627b7a120baf0dbb1aa3f9ca5312b292e34a0cfbd8384cf1be365bc684804ab26d84fe02250a859beaced3f356b6ddab593aebf35386773de84d4766\nY = 01ac713d5c2ffb0e111983e07ea5f688b03dd3032d3a9450b50c5def1db4859b504caf8c1321bb6c8d5fad93d2e5b9d0e75336298e21939f704f3f16ac6addc84f8f\n\nCurve = P-521\n# N = 51\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033\nX = 0168395ba51e278415a2025d93b68145f3ccfdf9f5bde34fe9ba3ba316cbf9beea26c2edfe6af07390df1321ae1b1054cbc0fba689ef1d7be2dda8d916fffbcc9504\nY = 0071cc10f3ca041a245639d9531942d3f57952dd878f21c480ce24e5b174adeb9b3c97bc2b68badb600c849c36096e3aeba50600aabed3a89e188eb9c45edd5c087b\n\nCurve = P-521\n# N = 52\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034\nX = 001f32e875ce65d1e6d4c39a55b518749158a4dae03e0c1b4b4a58aef6be769f0693b9259354dcee33a4f00784311b6e5993955114f2afcab7a186177e368b29f6f3\nY = 005a3c8e76fb7849180b895ea8b22ee1a6fc2cbf93bbae0f4ad4a0c126d318c397911e73a061b8098a91112577769cd77ef2bd6b45f989f292da9301992d481b07f8\n\nCurve = P-521\n# N = 53\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035\nX = 0143f6e249195ee693f77b3d0ffd310306dff8688be916895fb727e82f6f948100c44e210e637209a78ed3af581fba4fe12b08153da9c98808166285684cccb69906\nY = 01053e8fcc9618eb2a74c5611a02575109877dc73fdde42c216935437e8053d10cb14fdf64f503cf3bb30f6a7a9de3b4cf8c040a3dfbc4abee6afd6ddaddd40c7861\n\nCurve = P-521\n# N = 54\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036\nX = 01938e65f2a40e6899c6414997e998e0e3e1cb09728861ea138fc6d866fdc6c98505393cf55982451c97dac4214e4dbf052bf707cab63228fdfcf5ae2048a0ce100c\nY = 0163d556dd0941ce794e9c2868a692e89dbf943485186e2074e8222e0ed99fea4bd0c6069fa8017db8bec972b99ee0d7fcbc0f607d677492659bfa47b98bb8d1b411\n\nCurve = P-521\n# N = 55\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037\nX = 004b52fc4b6d310ce7c4b551e4155c6daca97cb03e9fd9d0a79d6472d4028e8da1a18cca93917cad27e6be17486b1e0b549a7fe9ab4bda96ac4e84ad7ccebd470f5e\nY = 003585e54fe81461ae21385ea7907a1a7b2e619f44311a16a0b600fb114a7dbae15510aa85895c5a084cd69609e345b53586fa03a23006a096ea7a196cd230a36ef2\n\nCurve = P-521\n# N = 56\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038\nX = 003cd775038527f32baf7e9056e95b0cbef7638c12398e4b8b019cc29b3435be97f601378e253fef51d25730e56267acca241df04ea2e96c1840b3f739d5ae2df998\nY = 00789bf7cf42095c5b1770e1a3561fc3e1232b0430e114f67a397c1e5b54987f4a28b52a737cbaa0ffa2c431863c1a8cbf15eba60fb5d8b4723dc10d9706f4083cba\n\nCurve = P-521\n# N = 57\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039\nX = 00dc53c3e7fcf3c902e04463da75efb25ffa5a8defe72e6dbf85ef3c6d77a521b9f84af300bbde9118b2f66fd5bc64b8a5208372c8fff95c84503475330a4e9a13e2\nY = 0074e88fccd4fdbd992b68073ee6c4d4f8f7b13d0dd2caf9d989b62e7eb390dff3ea3482530d0d3bd86a4a3f82056a929f73a9493190c62a553233ad7f7fd9c4248f\n\nCurve = P-521\n# N = 58\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a\nX = 008bc46df1c09851ab92d53b6ad821b5026be61385c801f5277c9871b54c6764d3fdb96a728ad56c650d342a03e174a3106a5479d3ccb04647ad0f583210d81ab70d\nY = 01d948ff92784e9946a27a4c58d40bfb0e0b765073f1f9a731aa52b53e4fe686134fee784bec8fca81a73b8ac3a45ca1b766cdec69190bf94d71fa08b29292c1205f\n\nCurve = P-521\n# N = 59\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b\nX = 0035aeb454ad31876773063c60342df29eadc7223c5d98901999aae5c2934c222920055693c9b1344c691a90342d64373a8acba8524ec347208863be8a26eb16686b\nY = 00187ecbec147e7e43b4db0b0ca0aff1ba7f15a48db3660903f4e22f2ef3cb6efd45b8cf8c44bc83d0b8c9fd5fddd64ffec3fd82c38cfaffe51acf4aa03c5381fa2e\n\nCurve = P-521\n# N = 60\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c\nX = 00038a508e954435eff6ccb82b562ed32ff236f33caef52de9fdf79836e37bbe118392681661adc786c57fb6bf92d04b42fc051c3f6061c252749fd17ffbfca45bdc\nY = 008dbd87d8b1e7bd4d2adb7a7399b931e7169b0ecf8e37baa0e9997df1a529560a5a5edb1e7a605abfd04b1ccdfa683285b4d748f73799f3e5d4f8464ad3910e9522\n\nCurve = P-521\n# N = 61\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003d\nX = 0115544c4a011407425c92ca7c732a1c7d8f8b6cd17d5b660d1a4cd724b1be8b17177193c11a77dc0b39a5e7fce59a7b32d7952bad1671543c41cb53d8cfcfc376a1\nY = 01153df9c6c0ac6485b307996d2a399c872c79af485fef422cbfec097a3aed58c6a003f78d54b7f553a8a834ff603afa032b56f22ee9c3fe5e24b8eff8cd4a17604b\n\nCurve = P-521\n# N = 62\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e\nX = 01f605dada534c5c8ae020f6ed49f27734e2378b0b7bc177aeaf943ae59581dd5885a38bf246fec516fd213f3fe32bfd4e19f0a8c971ef2a16969627fe31114dc85e\nY = 014ff96d82698b78d305a2252c7a4be38a37f2b0afd6935f4aaa50e685ccd164a2206284a831f6b296eacb156b6e7671eb7adda2d7e072a578a319f1002224aa57b5\n\nCurve = P-521\n# N = 63\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f\nX = 01c132753b64640c457fe82f799acb0a6e8e1ca21b5affa0ddc1e7f54fe4d51b08453ae99661308e125ec63996847586265e75af7d025770ac8d0f5beb6fce8888e5\nY = 015347e184197a0538176d81ac89b205d7961a9e093286414006595e8c353aa2238005d3dbdcec1896bc13f78f82f0071283af657b5bf664a2ace9d15ad2a03dba15\n\nCurve = P-521\n# N = 64\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040\nX = 01ab9aa17dce1112ecd14f3d7c0392fec2a67ebdbba81860bbacb614b9ccf8872d271bebd3c5efda3773a7c02c1603e7001df5aab8029a04fd41b53dc38ce320f742\nY = 00748d70eb848e920573aa10217c57b9586d9bb1cc8b2fb1dc1d0c63ba369e87ab8bac165ba1508d4b10f4a7b9e3af958043c1c1a5dba0653dd45af17058a5f8df5b\n\n", }; -static const size_t kLen41 = 65077; +static const size_t kLen43 = 65077; -static const char *kData41[] = { +static const char *kData43[] = { "# Negation tests.\n#\n# The following tests satisfy A = -B (mod P).\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000000\nB = 0000000000000000000000000000000000000000000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000001\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffffe\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000003\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffffc\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000007\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffff8\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000000f\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffff0\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000001f\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffffe0\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000003f\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffffc0\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000007f\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffff80\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000000ff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffff00\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000001ff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffe00\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000003ff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffc00\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000007ff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffff800\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000fff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffff000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000001fff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffe000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000003fff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffc000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000007fff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffff8000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000ffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffff0000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000001ffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffe0000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000003ffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffc0000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000007ffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffff80000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000fffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffff00000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000001fffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffe00000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000003fffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffc00000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000007fffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffff800000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000ffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffff000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000001ffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffe000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000003ffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffc000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000007ffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffff8000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000fffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffff0000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000001fffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffe0000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000003fffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffc0000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000007fffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffff80000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000ffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffff00000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000001ffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffe00000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000003ffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffc00000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000007ffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffff800000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000fffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffff000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000001fffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffe000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000003fffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffc000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000007fffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffff8000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000ffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffff0000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000001ffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffe0000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000003ffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffc0000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000007ffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffff80000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000fffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffff00000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000001fffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffe00000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000003fffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffc00000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000007fffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffff800000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000ffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffff000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000001ffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffe000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000003ffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffc000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000007ffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffff8000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000fffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffff0000000000000\n\nTest = Negate\nA ", "= 000000000000000000000000000000000000000000000000001fffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffe0000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000003fffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffc0000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000007fffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffff80000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000ffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffff00000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000001ffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffe00000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000003ffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffc00000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000007ffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffff800000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000fffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffff000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000001fffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffe000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000003fffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffc000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000007fffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffff8000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000ffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffff0000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000001ffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffe0000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000003ffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffc0000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000007ffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffff80000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000fffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffff00000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000001fffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffe00000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000003fffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffc00000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000007fffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffff800000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000ffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffff000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000001ffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffe000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000003ffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffc000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000007ffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffff8000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000fffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffff0000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000001fffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffe0000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000003fffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffc0000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000007fffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffff80000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000ffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffff00000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000001ffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffe00000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000003ffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffc00000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000007ffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fff800000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000fffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fff000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000001fffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffe000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000003fffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffc000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000007fffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ff8000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000ffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ff0000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000001ffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fe0000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000003ffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fc0000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000007ffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000f80000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000fffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000f00000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000001fffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000e00000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000003fffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000c00000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000007fffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000800000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000ffffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000001ffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffffff000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000003ffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffffffd000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000007ffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffffff9000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000fffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffffff1000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000001fffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffffe1000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000003fffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffffc1000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000007fffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffff81000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000ffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffff01000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000001ffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffffe01000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000003ffffffffffffffffffffffffff\nB = ffffffff0000", "0000fffffffffffffffffffffc01000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000007ffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffff801000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000fffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffff001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000001fffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffe001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000003fffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffc001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000007fffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffff8001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000ffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffff0001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000001ffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffe0001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000003ffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffc0001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000007ffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffff80001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000fffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffff00001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000001fffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffe00001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000003fffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffc00001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000007fffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffff800001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000ffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffff000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000001ffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffe000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000003ffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffc000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000007ffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffff8000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000fffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffff0000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000001fffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffe0000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000003fffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffc0000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000007fffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffff80000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000ffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffff00000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000001ffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffe00000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000003ffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffc00000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000007ffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffff800000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000fffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffff000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000001fffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffe000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000003fffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffc000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000007fffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffff8000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000ffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffff0000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000001ffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffe0000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000003ffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffc0000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000007ffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffff80000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000fffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffff00000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000001fffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffe00000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000003fffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffc00000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000007fffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffff800000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000ffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffff000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000001ffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffe000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000003ffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffc000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000007ffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffff8000000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000fffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffff0000000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000001fffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffe0000000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000003fffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffc0000000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000007fffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffff80000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000ffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffff00000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000001ffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffe00000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000003ffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffc00000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000007ffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffff800000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000fffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffff000000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000001fffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffe000000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000003fffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffc000000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000007fffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffff8000000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000", @@ -2657,9 +2744,9 @@ static const char *kData41[] = { "0000000000000000000000000\nResult.Y = 0000000000000000000000000000000000000000000000000000000000000000\n\n# Test some random Jacobian sums.\nTest = PointAdd\nA.X = cb8dea3327057fe69b5159e0323e60486cda3400545f7e2c60559ac7c8d0d89d\nA.Y = 553de89b31719830c3c3300aa8ad50ea81f40762a4f33ccf81a2d3bcc93a2d53\nA.Z = 4589e40df2efc546b2572c1f45eda26fc191b8d56376f2063fd9470fb277d181\nB.X = 32ad56497c6c6e8399de6814efd21b3eb949bb80dab578073cf0b0aa92054341\nB.Y = 57b33b7acfeee75ef6a31eb7ca0244b375f2d0962a3ce65c06afaa02688399e0\nB.Z = 337d5e1ec2fc711b12fd6c7a51a2f474a922cb107f592b657617d2e0b4f1d35f\nResult.X = 120c6ddd6f8ebc798c5740005bad5a2586575202df9cc3dd07401fe84d8cfdd4\nResult.Y = 966bc89126349ce41738be691f32c1a068e54a654ab2cb0eac39ef15ee17f0df\n\nTest = PointAdd\nA.X = a858b5249026ccc4d25fbd85db17826afa3c5963c26815cbf8511d84dce62a25\nA.Y = bd753e125579388da968036d50067fe0e8eccb531c4d6f1a69c61bc8259c6d76\nA.Z = 82f9cdd9abf991ac27f0caa494b7b7b2851cc6591c6362ef02d1bd2c33fd116c\nB.X = 3e5790fd7ff28a376586c8ef5625b906f2d5d7e6656191f5a530154eecd4c988\nB.Y = 6e6c91011cc5996a7db4e5539eee635ce84780a85a17778da06353048fdf6bd3\nB.Z = a9ef3402e9f15e7a91aef4a53431b2b2068914e4a09ebdafc8aa654351f32331\nResult.X = de9d6bb4dfdee64193d3eaebb9208a86e764b80e1459fd10a2e01c202e33c5e2\nResult.Y = 370e67dbb7cfa6b79adaeec48b1535f0c329856401102d546c695d0dfe1d0db5\n\nTest = PointAdd\nA.X = a2d85e21bf520691b397ac9e0c1360218cef96a8a6f4c2b24d21791360ce4d9e\nA.Y = 0cc1c5493edf586cd24f7a9f40185c1ceefa727369ed159a9fc09b700ba64f78\nA.Z = ad3083a5bd23ee1fdbd3a25abdee815052209bb1a8b22d3f7d8600442b760a61\nB.X = 7d8850dafe2c48d86b6c3f3f44453670aa7169712238d024dbd08cb4e95b9cc1\nB.Y = 6a2698c143609306fe2c402acdf26e3b42874f5ae3ea2e95898c305e791984b8\nB.Z = c81bc8988c6edabf4a03fcc456ce0c445e225c33b76a79552af0b818350ad6b0\nResult.X = 67c5f8af069b5a5636647eee50da847dff8f5f6ef71780a5d1330453db5c8a04\nResult.Y = cec9200fa541b602d94c694f1289d1d073e64f47054baa40a9921c20ca090643\n\nTest = PointAdd\nA.X = 4f9a035ffeddcc36846906cacc812ffae7f3110fe46bf7da12d0b19ec54c3873\nA.Y = 73539ed620938543f94c358dba87319dca40ae4d13d0a888527f007d26d73d74\nA.Z = 922e97056fbf12d89984346368087375560990c3fb2f337d9f46429f2022d634\nB.X = de6fa333804b1da9f046896634e498d5f456288f8f03cc41fc7ba4b1e978429a\nB.Y = fd45f1d5e905c448b947fd65bc2897928d6014425c8c502a1b2838ba882f5813\nB.Z = 50bb4c98bce36b8aad5662b8db35428bb5c1f298e17347caa5d4f542f278a1d9\nResult.X = 5c3cb05b52ec59f3cbb666b0059163afae885676cf81d64cadc943a1c0bb3a86\nResult.Y = 2871d088271faa9258e60ff28115f72294b938ef3d7b927e59177f9b41d5747e\n\n# Test some random Jacobian doublings.\nTest = PointAdd\nA.X = 75da62f76d1887e18a06483bb6b53c3ec42879ed73b7851ed4748e307653714c\nA.Y = a6f0d0d3bb492bf488d99d549aff3f0c3a48f0c35a5931578fe697b8c5f486f7\nA.Z = 6d6a50229164869f24865148a19a24d57d94ebd09dc06b5e4fc3946a95f9124f\nB.X = 3b225af8c7b6155d66061c75a03d23d94e01a2167fa7f44c5bd1e9d9c48c7421\nB.Y = af58b0e38531d1e08187c61a36b33693ef534ecae23dca4542667d93f1844d75\nB.Z = 86ed2be859c4af1d5cf99041840f3bcb7c9b8e8986811393c96e8bf57fcad872\nResult.X = ab0f931fb86a621102e67336eadcf01afe3127aeaf5b4f89e8f34628c8e1afd9\nResult.Y = 52c50e2783d69dde29d6bc75fa359ffe72e7115c2fc89a9699a499cac25e3383\n\nTest = PointAdd\nA.X = f0d499f2e3775de88ed997feeb4589506f061f93766abb0c1251d25630c4c24d\nA.Y = e8de27c3369ba718adbab5597fbaad9581f5b59ae3b758e7d664bae81d895be4\nA.Z = c62dc820a597f75518734f12b2d3c076e5b872303e37b3663636912ade79c058\nB.X = c2845b3faaa995eb88e13a44b08d8a6fdb37103f7bbcc585302c9d090be3fc5b\nB.Y = 733e5ef1b0314754b70b5b98da63cbb7475918ddb85a715e21aade0c2f2e5611\nB.Z = b8505e4a057d108b49f5d0b20884674be18bba48bbc37f765c2c32c5cc4aba5d\nResult.X = 266f2961b9352b44e61902a235b33f766f82f8199c176920dae25ad2cbad5cc9\nResult.Y = 8560e62047908b13c4247b7e4d2657f2bdecab41e73c846ba18523e5f2918a9b\n\nTest = PointAdd\nA.X = f0ca07297738d8687bffcd3f1433966241f437fa1c3381cf2d13f0fc714bc83a\nA.Y = 1181b9d61c6982e743f1c32de5d14da745290ecaf27297c36ff3ef20a7526a55\nA.Z = 93159618ca5a9f9240df7016ddc983e046126d1290e14478dfcc6a4bae9090bd\nB.X = 3a2d75803ccad665f6b785c828eaa96821cb0e81979641b9e59b5fd488fcc755\nB.Y = 99e7f820abdbcdda23d90a88788e30d67303dac86987816dbbed447431e33f3f\nB.Z = a870186c8137cdbd247d16f3aa18782de1e4c5848f49da3437223eb13d7a9ae2\nResult.X = 36a104368d39214d5a3a1a348a1de1389d1aa23009aee37464b5b3256ed4b28c\nResult.Y = da5b14dbd75f6c333929bdff88e53af7253c27e166e15ead6d778631036b7d38\n\nTest = PointAdd\nA.X = a6256508926caca56a31414aba2d5f5b04dcabdb065352a572e215b043df6e01\nA.Y = e6567d330ffb11a86ec29b406b8e3d5cce8ca46f55f38515d842dd856d6852dd\nA.Z = ec172618c8cdbfc0f4fd6dffb77858bb292f229e6d10b5c70d0d9ba75fa3ab44\nB.X = 0251f6715dbba02e6072c12ab1f89a562d35ed0ff68e021b3b5276b9faf57c52\nB.Y = d2d74ff4740ad968fa7e816bc2178458efee797669bef2e634e2857de1658e62\nB.Z = abbecea633d31f569297a4a9ec28f708c7a097cb2423ebaca66ac0e42b1c8ee4\nResult.X = d2a071d4dd72ad7e63834b58b23c4a034ed7950f5c80fad51bf96959b535d55b\nResult.Y = 3cb8dcbe25f49099b9d8dd1a9cb6073368bf6556130f2aa02637dfcff430e869\n\n# Test some random affine sums.\nTest = PointAdd\nA.X = fabada657e477f088883b2987042e595559d669de3a047b27e3ad339fb3fa5f0\nA.Y = 0551992531a68d55a8409d8466034f02808637610ce6d6bcd9cfceb8da1c3e85\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 3a831cf2b316ce371994a5622e31749407fdf59660dc88322d14c37ebb2d68d2\nB.Y = 849c511908abdfa2bcadc43f9beae88052fdb00573c783fbb1b34b99687b9a6b\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = d5dc9241b457d33b9bda849fb7aba8baaff8b6eea92974a8adf4b95fbfa849f0\nResult.Y = 089a66780811a8ce455c139c4bea6c5c16234c095a41b9e31c617689bdc6bd0f\n\nTest = PointAdd\nA.X = 9dfe6299e62453bb943356b6f7d90c8b6c646728ba3550bb7c1548f2ba5920cb\nA.Y = 60a4e342a89837c0e7d61c0e3e88a943633028f5260eff6af5ae8a6063f7a5da\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 924d7305f867afecd3cc550f4c05c83a2b4c981ba0e7ff20fd2035fabe2ccc92\nB.Y = 73934620746c23be03a40edb0662c09ef1776506bd50d6397c2654d340629bf5\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = 7384f658ccbe08afcf6b423bfdd092a8a95b03d81254a519b31517b9b9670155\nResult.Y = e922a56146b94776f805a0fbdee9084dd87be1df54f76145bf83e07cd31a083a\n\nTest = PointAdd\nA.X = 9b6642b661f06c5b3ef2a0950b3c03d35f42d3d0dcbe105a895f40132c40bd9e\nA.Y = 90cbe0ed40e47923257f064886f1e309a310cb82fc21282f8e8fa4f6c975aed6\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 587f6b4c4bb3ab3d59ba8d31457615b3df9f9f9466df3563f4419db731f494ea\nB.Y = 38135b314572346439c8d4535b892a26e5da650ae1dc9ac2d5aeb85ade24174f\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = 97e94b6d485f8de6779e4ad19cc7bede6d70ff4853a56eb6d5fd4e5caac60858\nResult.Y = 303bf4d62cf569370ae5393fac46b64efe98ee8222b9982bc3dc61b8e32411c5\n\nTest = PointAdd\nA.X = da49658b6c64fc7a7441b177987abbbdbfcfc3c2c569ed97696d706f7af91ca0\nA.Y = 9a66906a6e313603e9d78f99fbbda837e521e75bbbad9455ffd43f51f5e30ee5\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = fe32e5885d0005fa1962166142d2aea201af9c4ca41cdddc5446dc2472f71f42\nB.Y = a2f9b4d35ea19303a101034e96870a7caed371a980965bf86291b03b5c85af60\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = 5375c5ea3e33c1862ca5f09322ce2012c2b4fbee9a299b66e4882e016908cc2a\nResult.Y = 936e4f12ed144cf6fcd0ab085a4929e5e3e7c28641692b1fc2ad9a3b3d447b31\n\n# Test some random affine doublings.\nTest = PointAdd\nA.X = b148cad109d4b24342eb3a03ccaa10dfd6101edf9548b1d1442b61982a4e332c\nA.Y = 7daac293162a8ee2592529630f5bd1eae96659d27c045898d33833999cd076ba\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = b148cad109d4b24342eb3a03ccaa10dfd6101edf9548b1d1442b61982a4e332c\nB.Y = 7daac293162a8ee2592529630f5bd1eae96659d27c045898d33833999cd076ba\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = ad00fae6ab0898f7d5eeeffe8c94b302060fba2b191a2d342a8a302998ebe566\nResult.Y = 9ee46ba864901cad75169cdea023d7e64da39315e2fec1703fad6b613eb24006\n\nTest = PointAdd\nA.X = f21318618205f4967c4f47c9bc3cea41e144dc01830d087414da8dcb16d37cb3\nA.Y = 76cebf81ecc696024fe949191dc49b245ef8cc0d55ada88abf481ddad9eb6129\nA.Z = 00000000fffffffeffffffffffffffffffffffff00000000", "0000000000000001\nB.X = f21318618205f4967c4f47c9bc3cea41e144dc01830d087414da8dcb16d37cb3\nB.Y = 76cebf81ecc696024fe949191dc49b245ef8cc0d55ada88abf481ddad9eb6129\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = ad8e13b721bcbfc0fe629465cda5fee3494785d51dbe65f1e13429f52c83f03e\nResult.Y = 85722e168d89543dce293428e75d52765d0935bde2ef5c45a088222db0dbbeb5\n\nTest = PointAdd\nA.X = 8797ff95334b238dadf0cb3d4dc9350678f4c7fc520089ecb70ab419510f2331\nA.Y = 326c7583d54dde377fa9193c8588912c4db2219e1bb383ab13902187e5ef76ce\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 8797ff95334b238dadf0cb3d4dc9350678f4c7fc520089ecb70ab419510f2331\nB.Y = 326c7583d54dde377fa9193c8588912c4db2219e1bb383ab13902187e5ef76ce\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = e91c8ec9611de8e44e0d882df59f4fae8d15e3867858fb155256a4a2f154bbc4\nResult.Y = c12be21033c6dcea7e7d7262c47876d099aead75d8b025e45ce7986193fc6f8a\n\nTest = PointAdd\nA.X = 2f4cba9543c9537e393f126e31bedb521dc0a74a940e731800e5e39cdece355d\nA.Y = 1a0957898b746b7dbc9245acd0c6df9e6adca4d8537454c9f318a8ce7c3875c4\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 2f4cba9543c9537e393f126e31bedb521dc0a74a940e731800e5e39cdece355d\nB.Y = 1a0957898b746b7dbc9245acd0c6df9e6adca4d8537454c9f318a8ce7c3875c4\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = 5cdc40808120b68e3131bd6ed70a5ce6618f960e4d540baa582afc71be97c65d\nResult.Y = 1926a2c9f5b2d3d1dff784623fe6efe2ac629395101d38db0eff5e540bfeacb0\n\n\n# Scalar montgomery multiplication tests.\n#\n# The following tests satisfy A * B * 2^-256 = Result (mod N).\n\nTest = OrdMulMont\nA = 0000000000000000000000000000000000000000000000000000000000000000\nB = b4e9b0aea84aa5ed86964a22881a4d0e58f88e9225f30990c18751e7d4b9ec95\nResult = 0000000000000000000000000000000000000000000000000000000000000000\n\nTest = OrdMulMont\nA = 00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf\nB = 5d24e62244973fbd829573d5a579b4e89a6512933a2c3d255bbdbc1c89028323\nResult = 5d24e62244973fbd829573d5a579b4e89a6512933a2c3d255bbdbc1c89028323\n\nTest = OrdMulMont\nA = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nB = abafdc695e4c2c850f8fc60f1efdbf7406a3cd2c6c59bb7e608985723896c187\nResult = 917b1214c7b31a7ee7e53be0b41a139e435ff576b51ec6af1e1a944412bea38b\n\nTest = OrdMulMont\nA = cf0f01b83670a1c79154ea16f3574ca2d4c688a3c3b6017795cbe54854418904\nB = c5ec4d3b00fb2e11fb3b1aa09e60f7d187f7c515977d1343dab9745961fcbb43\nResult = 7aaddcee32e3b340af5ad06f854284cbbce5a1ab919e9b7771c3b0e937093438\n\nTest = OrdMulMont\nA = 50023f9913879ac4020bc45a89a0ea89082db6265b96b851af29969dd8a9661c\nB = 7c165b1cba80808db114441563aa0fbfba41b9e8acff77312a2dd2138b74ef89\nResult = 3d2ca1705d8d38cbc76a5409c6535044733cafcb95d12654af1d14de177978b5\n\nTest = OrdMulMont\nA = 4d5341ea735e53d2e4f2934755642adee209bd0e5a1506206513227f3c48b270\nB = 6e48f2b60eb8fb86760134abaf3d61692557862924069c599ceb31309ea18704\nResult = 37cde3e35c814d4287bd345b910d687983929907b7a08afa2acd8596832ea86c\n\nTest = OrdMulMont\nA = 33d06c3f5a595a41a6f9c4356f8ab2b8c550d4c64b806eab5560af247c5fa9ed\nB = 0e52f34adf5754343bcf3529d652620da3c05b5dd9cdcddfb08b674a1ad21a09\nResult = 9dc64d7b4c1bc33b930e0daee2a24fc41f770378659ee71b846d2239b0fea8ea\n\nTest = OrdMulMont\nA = 8f211780cce4f93b7193b9378e6f83e1147fb3602b052eef782de8cc833e54ab\nB = e1e4f7f1feb15be64292cff86b47cd9730bcb15b133340022b824d591a660cdf\nResult = dfa2b683b1ae23027c7c109e0abb40a1366eda027ad2cad1a09061a57bee391f\n\nTest = OrdMulMont\nA = 803c279c7e4c11a5568290c0a5789ceab6860f51a942bf646501a45e1ec0a6bf\nB = c0a1145a12037129c571f5f939bf16ea0b8b480f08ec774c045d059841f7d5ed\nResult = ab48fa3b4aa692a7c077cc55ee3c3fff895118a23728c2fa5f361b30730d955a\n\nTest = OrdMulMont\nA = 0e5c95158297d75dbf0b02c3090730f65bf14704495b14837dd907af569407f1\nB = 5a03e3787c8772b2fb7ab07d7fe7fe653a58bdae7fde3174c6ed305e524f5728\nResult = 71296d305dcf9ce39010ea4f4bbf9f7c1064a413597bdc7574c13dea3fa514dc\n\nTest = OrdMulMont\nA = 366299be07886f7846fc74231db624b169360e3c8f60196a1afc9f2101e03922\nB = d6d7c830a6edb6861868b964519a6b68f6f24f7c09d66003f3f88eadd1e00158\nResult = 0b89596bf5054ebe95a39dab6e975b58190160610b09b2a4f93331ecc0e79fd3\n\nTest = OrdMulMont\nA = 8f36f0ef275a72192c3b7388e84df2b8acf66fc53aaf556e3be05c76b3f782c0\nB = 704e519363d44e8df8d91f5f347eb61e8d3e85c8fc1b82980c370a379b2bc81c\nResult = b70a392e3ce5e85b5efbbded9b8c16a3068ba9b93b4cbed9a9a71dffaad6b58a\n\nTest = OrdMulMont\nA = bf4466ef4dea9f06f0f3b4f14e01140a774262c7e0706584f4d7dac19be46d58\nB = 4af12d528b2cef0f6714961bca2ab682f8abaa97600ea8181f71563d56f8a9f5\nResult = 7b6827c0881b9846e32499e13277efb07917cf4b8c8c72bfb3daa8c1786a8e15\n\n\n# Test cases where A == B to test squaring.\n\nTest = OrdMulMont\nA = 0000000000000000000000000000000000000000000000000000000000000000\nB = 0000000000000000000000000000000000000000000000000000000000000000\nResult = 0000000000000000000000000000000000000000000000000000000000000000\n\nTest = OrdMulMont\nA = 00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf\nB = 00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf\nResult = 00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf\n\nTest = OrdMulMont\nA = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nB = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nResult = 60d066334905c1e907f8b6041e607725badef3e243566fafce1bc8f79c197c79\n\nTest = OrdMulMont\nA = da43b8dd7fe8830a4fe8980ec585ccbe903a2965a695cdff398200b74b2ede41\nB = da43b8dd7fe8830a4fe8980ec585ccbe903a2965a695cdff398200b74b2ede41\nResult = 5ec68604412205b380e26ee4e4081eccc10ac7d1417b09cd534f8517b0de81ec\n\nTest = OrdMulMont\nA = a82a2b8bdbf8a37dc7cb5799691494a8c9fbf649686a4d250dc30697feb0fa47\nB = a82a2b8bdbf8a37dc7cb5799691494a8c9fbf649686a4d250dc30697feb0fa47\nResult = 552c094a8841621d6cc26b3b54ce5da5664283888445196a6433d3cfdcad3aee\n\nTest = OrdMulMont\nA = d785006e250410d9dcc6d7740795a7374c25b00b9c9a37b8285694a07307eacd\nB = d785006e250410d9dcc6d7740795a7374c25b00b9c9a37b8285694a07307eacd\nResult = 971aaa9e70ad082cf43725f2e65bc73f4bf762459cee13167545072ec7bdcaf8\n\nTest = OrdMulMont\nA = 69d6d9f5417e87d603a3fb6acafa0d1f974abf94ca57ce58d718a0ad5d02a496\nB = 69d6d9f5417e87d603a3fb6acafa0d1f974abf94ca57ce58d718a0ad5d02a496\nResult = eb3284e5799fbe93171f08e6de9f792cd17f036b3a17671b0310e49b48e589b3\n\nTest = OrdMulMont\nA = 1c28f742c3e26e74901d0425f2eb4d5272524668d2405875b32cf6433f212900\nB = 1c28f742c3e26e74901d0425f2eb4d5272524668d2405875b32cf6433f212900\nResult = 74f70a95399b7ad061a2200fa50528d68eee4654341c8158101e1e3f8f16e642\n\nTest = OrdMulMont\nA = 026b2f69f0259d221920b2f358b378a79826f0332ee36afa257765043e3d6732\nB = 026b2f69f0259d221920b2f358b378a79826f0332ee36afa257765043e3d6732\nResult = e1e9cfa4724995bb50971ca22f3c028cd31cb51fbef8a37c31f10fd1d468f13b\n\nTest = OrdMulMont\nA = 376ed4fadcc1c6c4160a0c9c2ab7c62260367968b08d304d47c65f25625d7d60\nB = 376ed4fadcc1c6c4160a0c9c2ab7c62260367968b08d304d47c65f25625d7d60\nResult = b9ccb67f377e1278f1d2eeda26e5eed76f32406c9deed9764fc0aa346d91e02b\n\nTest = OrdMulMont\nA = 50f66867d0a4ef389678d760d2a4db886583b4c068d0e240f7ddf3472c871304\nB = 50f66867d0a4ef389678d760d2a4db886583b4c068d0e240f7ddf3472c871304\nResult = 82c3467bc5f7ca8b45f4ee61546745e2f53755a02e87f65f572418d60e471c8b\n\nTest = OrdMulMont\nA = 5b8bd82b37206d2b727f19ad2d02f63773470074dde7d43d2a77c448ddf2f978\nB = 5b8bd82b37206d2b727f19ad2d02f63773470074dde7d43d2a77c448ddf2f978\nResult = dbf3c2fc67a0688c3b5ff12cab1739d50b6093c5d98943d388652b1207e4a0f2\n\nTest = OrdMulMont\nA = bed7b3a4dada0e16984eb59ee239005ab212e5b1772cdd5d240c8ee268f65c81\nB = bed7b3a4dada0e16984eb59ee239005ab212e5b1772cdd5d240c8ee268f65c81\nResult = 9232aa2759ca9c5efbaefb0cf45cc6bc9c89def8c25e5c169fe623f30787df36\n", }; -static const size_t kLen42 = 169648; +static const size_t kLen44 = 169648; -static const char *kData42[] = { +static const char *kData44[] = { "# Tests from NIST CAVP 186-4 ECDSA2VS Test Vectors, Signature Generation Test\n# http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3ecdsatestvectors.zip\n#\n# NIST's files provide message and digest pairs. Since this is a low-level test,\n# the digests have been extracted. P-521 test vectors were fixed to have the\n# right number of leading zeros.\n\nCurve = P-224\nPrivate = 16797b5c0c7ed5461e2ff1b88e6eafa03c0f46bf072000dfc830d615\nX = 605495756e6e88f1d07ae5f98787af9b4da8a641d1a9492a12174eab\nY = f5cc733b17decc806ef1df861a42505d0af9ef7c3df3959b8dfc6669\nDigest = 07eb2a50bf70eee87467600614a490e7600437d077ec651a27e65e67\nK = d9a5a7328117f48b4b8dd8c17dae722e756b3ff64bd29a527137eec0\nR = 2fc2cff8cdd4866b1d74e45b07d333af46b7af0888049d0fdbc7b0d6\nS = 8d9cc4c8ea93e0fd9d6431b9a1fd99b88f281793396321b11dac41eb\n\nCurve = P-224\nPrivate = cf020a1ff36c28511191482ed1e5259c60d383606c581948c3fbe2c5\nX = fa21f85b99d3dc18c6d53351fbcb1e2d029c00fa7d1663a3dd94695e\nY = e9e79578f8988b168edff1a8b34a5ed9598cc20acd1f0aed36715d88\nDigest = bde0fbb390fb05d0b75df5bd0d0a4ea29516125f19830e3b0c93b641\nK = c780d047454824af98677cf310117e5f9e99627d02414f136aed8e83\nR = 45145f06b566ec9fd0fee1b6c6551a4535c7a3bbfc0fede45f4f5038\nS = 7302dff12545b069cf27df49b26e4781270585463656f2834917c3ca\n\nCurve = P-224\nPrivate = dde6f173fa9f307d206ce46b4f02851ebce9638a989330249fd30b73\nX = fc21a99b060afb0d9dbf3250ea3c4da10be94ce627a65874d8e4a630\nY = e8373ab7190890326aac4aacca3eba89e15d1086a05434dd033fd3f3\nDigest = c2c03fe07e10538f6a38d5831b5dda9ce7478b3ed31323d60617dc95\nK = 6629366a156840477df4875cfba4f8faa809e394893e1f5525326d07\nR = 41f8e2b1ae5add7c24da8725a067585a3ad6d5a9ed9580beb226f23a\nS = a5d71bff02dce997305dd337128046f36714398f4ef6647599712fae\n\nCurve = P-224\nPrivate = aeee9071248f077590ac647794b678ad371f8e0f1e14e9fbff49671e\nX = fad0a34991bbf89982ad9cf89337b4bd2565f84d5bdd004289fc1cc3\nY = 5d8b6764f28c8163a12855a5c266efeb9388df4994b85a8b4f1bd3bc\nDigest = 5d52747226f37a5afcd94d1b95867c0111bcb34402dad12bee76c1b7\nK = 1d35d027cd5a569e25c5768c48ed0c2b127c0f99cb4e52ea094fe689\nR = 2258184ef9f0fa698735379972ce9adf034af76017668bfcdab978de\nS = 866fb8e505dea6c909c2c9143ec869d1bac2282cf12366130ff2146c\n\nCurve = P-224\nPrivate = 29c204b2954e1406a015020f9d6b3d7c00658298feb2d17440b2c1a4\nX = 0e0fc15e775a75d45f872e5021b554cc0579da19125e1a49299c7630\nY = cb64fe462d025ae2a1394746bdbf8251f7ca5a1d6bb13e0edf6b7b09\nDigest = a1ab56bd011b7e6c7e066f25333d08cf81ac0d9c1abfa09f004ab52f\nK = 39547c10bb947d69f6c3af701f2528e011a1e80a6d04cc5a37466c02\nR = 86622c376d326cdf679bcabf8eb034bf49f0c188f3fc3afd0006325d\nS = 26613d3b33c70e635d7a998f254a5b15d2a3642bf321e8cff08f1e84\n\nCurve = P-224\nPrivate = 8986a97b24be042a1547642f19678de4e281a68f1e794e343dabb131\nX = 2c070e68e8478341938f3d5026a1fe01e778cdffbebbdd7a4cd29209\nY = cde21c9c7c6590ba300715a7adac278385a5175b6b4ea749c4b6a681\nDigest = 8ef4d8a368fad480bac518d625e97206adcafa87c52aef3d179cbfa9\nK = 509712f9c0f3370f6a09154159975945f0107dd1cee7327c68eaa90b\nR = 57afda5139b180de96373c3d649700682e37efd56ae182335f081013\nS = eb6cd58650cfb26dfdf21de32fa17464a6efc46830eedc16977342e6\n\nCurve = P-224\nPrivate = d9aa95e14cb34980cfddadddfa92bde1310acaff249f73ff5b09a974\nX = 3a0d4b8e5fad1ea1abb8d3fb742cd45cd0b76d136e5bbb33206ad120\nY = c90ac83276b2fa3757b0f226cd7360a313bc96fd8329c76a7306cc7d\nDigest = 28fabbac167f3d6a20c2f5a4bcee527c96be04bdd2c596f09d8fbab7\nK = 1f1739af68a3cee7c5f09e9e09d6485d9cd64cc4085bc2bc89795aaf\nR = 09bbdd003532d025d7c3204c00747cd52ecdfbc7ce3dde8ffbea23e1\nS = 1e745e80948779a5cc8dc5cb193beebb550ec9c2647f4948bf58ba7d\n\nCurve = P-224\nPrivate = 380fb6154ad3d2e755a17df1f047f84712d4ec9e47d34d4054ea29a8\nX = 4772c27cca3348b1801ae87b01cb564c8cf9b81c23cc74468a907927\nY = de9d253935b09617a1655c42d385bf48504e06fa386f5fa533a21dcb\nDigest = 50dd74b5af40978e809cee3eb41195402ebb5056e4437f753f9a9d0d\nK = 14dbdffa326ba2f3d64f79ff966d9ee6c1aba0d51e9a8e59f5686dc1\nR = ff6d52a09ca4c3b82da0440864d6717e1be0b50b6dcf5e1d74c0ff56\nS = 09490be77bc834c1efaa23410dcbf800e6fae40d62a737214c5a4418\n\nCurve = P-224\nPrivate = 6b98ec50d6b7f7ebc3a2183ff9388f75e924243827ddded8721186e2\nX = 1f249911b125348e6e0a473479105cc4b8cfb4fa32d897810fc69ffe\nY = a17db03b9877d1b6328329061ea67aec5a38a884362e9e5b7d7642dc\nDigest = 9fee01807ab6c43a794abf6dcd6118915252ca7d3a31a1ff96b88a8d\nK = ab3a41fedc77d1f96f3103cc7dce215bf45054a755cf101735fef503\nR = 70ccc0824542e296d17a79320d422f1edcf9253840dafe4427033f40\nS = e3823699c355b61ab1894be3371765fae2b720405a7ce5e790ca8c00\n\nCurve = P-224\nPrivate = 8dda0ef4170bf73077d685e7709f6f747ced08eb4cde98ef06ab7bd7\nX = 7df67b960ee7a2cb62b22932457360ab1e046c1ec84b91ae65642003\nY = c764ca9fc1b0cc2233fa57bdcfedaab0131fb7b5f557d6ca57f4afe0\nDigest = c349032f84384b913bd5d19b9211ddce221d66a45e8a051878254117\nK = 9ef6ebd178a76402968bc8ec8b257174a04fb5e2d65c1ab34ab039b9\nR = eef9e8428105704133e0f19636c89e570485e577786df2b09f99602a\nS = 8c01f0162891e4b9536243cb86a6e5c177323cca09777366caf2693c\n\nCurve = P-224\nPrivate = 3dbe18cd88fa49febfcb60f0369a67b2379a466d906ac46a8b8d522b\nX = b10150fd797eb870d377f1dbfa197f7d0f0ad29965af573ec13cc42a\nY = 17b63ccefbe27fb2a1139e5757b1082aeaa564f478c23a8f631eed5c\nDigest = 63fe0d82cf5edf972e97316666a0914432e420f80b4f78ceb92afd1d\nK = 385803b262ee2ee875838b3a645a745d2e199ae112ef73a25d68d15f\nR = 1d293b697f297af77872582eb7f543dc250ec79ad453300d264a3b70\nS = 517a91b89c4859fcc10834242e710c5f0fed90ac938aa5ccdb7c66de\n\nCurve = P-224\nPrivate = c906b667f38c5135ea96c95722c713dbd125d61156a546f49ddaadc6\nX = 3c9b4ef1748a1925578658d3af51995b989ad760790157b25fe09826\nY = 55648f4ff4edfb899e9a13bd8d20f5c24b35dc6a6a4e42ed5983b4a0\nDigest = 9b44ee16e576c50c0b6b37ac1437bf8f013a745615012451e54a12f2\nK = b04d78d8ac40fefadb99f389a06d93f6b5b72198c1be02dbff6195f0\nR = 4bdd3c84647bad93dcaffd1b54eb87fc61a5704b19d7e6d756d11ad0\nS = fdd81e5dca54158514f44ba2330271eff4c618330328451e2d93b9fb\n\nCurve = P-224\nPrivate = 3456745fbd51eac9b8095cd687b112f93d1b58352dbe02c66bb9b0cc\nX = f0acdfbc75a748a4a0ac55281754b5c4a364b7d61c5390b334daae10\nY = 86587a6768f235bf523fbfc6e062c7401ac2b0242cfe4e5fb34f4057\nDigest = 3c89c15dee194b3223e7b53a8a5845d4873a12a2f1581d5413359828\nK = 854b20c61bcdf7a89959dbf0985880bb14b628f01c65ef4f6446f1c1\nR = a2601fbb9fe89f39814735febb349143baa934170ffb91c6448a7823\nS = bf90f9305616020a0e34ef30803fc15fa97dffc0948452bbf6cb5f66\n\nCurve = P-224\nPrivate = 2c522af64baaca7b7a08044312f5e265ec6e09b2272f462cc705e4c3\nX = 5fad3c047074b5de1960247d0cc216b4e3fb7f3b9cd960575c8479fc\nY = e4fc9c7f05ff0b040eb171fdd2a1dfe2572c564c2003a08c3179a422\nDigest = 2b7faf36fdf0e393ddeb9fc875dd99f670e3d538fd0462395ea06c8f\nK = 9267763383f8db55eed5b1ca8f4937dc2e0ca6175066dc3d4a4586af\nR = 422e2e9fe535eb62f11f5f8ce87cf2e9ec65e61c06737cf6a0019ae6\nS = 116cfcf0965b7bc63aecade71d189d7e98a0434b124f2afbe3ccf0a9\n\nCurve = P-224\nPrivate = 3eff7d07edda14e8beba397accfee060dbe2a41587a703bbe0a0b912\nX = 6dd84f4d66f362844e41a7913c40b4aad5fa9ba56bb44c2d2ed9efac\nY = 15f65ebcdf2fd9f8035385a330bdabec0f1cd9cc7bc31d2fadbe7cda\nDigest = 5b24b6157c0d1edf3a40c22a0745d23bdb59379e5e5e776ed040288d\nK = 7bb48839d7717bab1fdde89bf4f7b4509d1c2c12510925e13655dead\nR = 127051d85326049115f307af2bc426f6c2d08f4774a0b496fb6982b1\nS = 6857e84418c1d1179333b4e5307e92abade0b74f7521ad78044bf597\n\nCurve = P-224\nPrivate = 888fc992893bdd8aa02c80768832605d020b81ae0b25474154ec89aa\nX = 4c741e4d20103670b7161ae72271082155838418084335338ac38fa4\nY = db7919151ac28587b72bad7ab180ec8e95ab9e2c8d81d9b9d7e2e383\nDigest = 00c6fc53c1986d19a8a8b580ee553dc1240745d760647d1c0adf442c133c7f56\nK = 06f7a56007825433c4c61153df1a135eee2f38ec687b492ed40d9c90\nR = 0909c9b9cae8d2790e29db6afdb45c04f5b072c4c20410c7dc9b6772\nS = 298f4fcae1fe271da1e0345d11d07a1fca43f58af4c113b909eedea0\n\nCurve = P-224\nPrivate = 5b5a3e186e7d5b9b0fbdfc74a05e0a3d85dc4be4c87269190c839972\nX = 897089f4ef05b943eeac06589f0e09ccc571a6add3eb1610a2fc830f\nY = 62ba3f6b3e6f0f062058b93e6f25b6041246c5be13584a41cae7e244\nDigest = fb5dd3b8d280fe7c4838f01b2a5c28493ed3084f46b40642600ba39e43fbff7b\nK = 5b6f7eca2bcc5899fce41b8169d48cd57cf0c4a1b66a30a150072676\nR = f12c9985d454ffbc899ebbbb6cf43e3debcac7f19029f8f2f35cce31\nS = 12fcb848adbd8b1b4c72b2b54a04d936e4a5f480ae2a3ea2e3c1baae\n\nCurve = P-224\nPrivate = f60b3a4d4e31c7005a3d2d0f91cb096d016a8ddb5ab10ecb2a549170\nX = 40a4ab1e6a9f84b4dedb81795e6a7124d1cfdfd", "7ec64c5d4b9e32666\nY = 83aa32a3c2fc068e62626f2dafce5d7f050e826e5c145cd2d13d1b27\nDigest = f4083aebe08c9bdb8c08ff844ffc207f80fa4406fb73bdbc1c6020f71281bdae\nK = c31150420dfb38ba8347e29add189ec3e38c14b0c541497fb90bf395\nR = bf6c6daa89b21211ea2c9f45192d91603378d46b1a5057962dafaf12\nS = cb6b237950e0f0369323055cd1f643528c7a64616f75b11c4ddd63c7\n\nCurve = P-224\nPrivate = c8fc474d3b1cba5981348de5aef0839e376f9f18e7588f1eed7c8c85\nX = 66f49457ed15f67ed4042195856f052fe774077f61cebcb9efddc365\nY = 3a6e3f3423eec7308a69eb1b0416d67cc3b84d24f251d7cbdb45c079\nDigest = cb017b280093879c4b114b52ea670f14e97b661074abccc8539a23280fe136b4\nK = 5e5405ae9ab6164bb476c1bb021ec78480e0488736e4f8222920fbd9\nR = 7b7beaf9f696ca1a8051527478c4c075ab45aa4768937886dbf38618\nS = 93d4cf110a37c5a6f15c4e6024822118539e860dee2f60b8c3f462f6\n\nCurve = P-224\nPrivate = 04ef5d2a45341e2ace9af8a6ebd25f6cde45453f55b7a724eb6c21f6\nX = 8d642868e4d0f55ee62a2052e6b806b566d2ac79dbde7939fe725773\nY = 79505a57cd56904d2523b3e1281e9021167657d38aeb7d42fc8ec849\nDigest = 5f1d77f456d7ed30acad33795b50733d54226e57df4281a43d3821d0762f12fe\nK = ec60ea6f3d6b74d102e5574182566b7e79a69699a307fee70a2d0d22\nR = 2fd7fcbb7832c97ce325301dd338b279a9e28b8933284d49c6eabcf6\nS = 550b2f1efc312805a6ed8f252e692d8ee19eaa5bcd5d0cda63a1a3f0\n\nCurve = P-224\nPrivate = 35d4bbe77d149812339e85c79483cb270bdac56bbf30b5ef3d1f4d39\nX = 7924b1d7f5920cce98e25094e40f2eb3eb80d70b17e14b3d36c3671c\nY = 26c5af35f71e61858582b7cc2b41790597c53ee514ffdf7a289d108c\nDigest = cce0671ca07521fdaa81eced1dc37282bd9a6dbbaeb8cd00d13d4cf75cef044c\nK = 751869c1d0e79eb30aae8fbfb6d97bfa332123fd6b6c72c9cd3c1796\nR = 26bb1b92b0f01e94eba5fa429271371db527ce857abba13bd1103f64\nS = 836aba9c63e1252c2b2d72a21e6a41b82241ebe32647e7f814652bcb\n\nCurve = P-224\nPrivate = 2c291a393281b75264c9b8817af684fa86a1cdc900822f74039dc5d6\nX = 18cb5826ad60e6696bf07655032a3749f6577ca36da3ccd6e66a137c\nY = 194e14820fe02d784fd1363ff7a30399518309765bd3f4412d646da2\nDigest = 4ee903b828f54f35adab0bfec06eb064abde530d8ed0384730aa23e8e9664801\nK = e2a860416229dfd3f5a5cc92344ca015093a543943a0d8f73bf2b2fd\nR = 00e300c1ef4a8c4ca5da6413856f8981db49de29bdf03f32ffc3ceab\nS = f250f18a51ba5f63e1584097841099fa6ae4e98ee458c061d1d5aed7\n\nCurve = P-224\nPrivate = 831ea25dbeda33d272a1382c5def0e83929170ab06a629eed6ee244b\nX = 076518e393940d42dfd09819409d66966d8c9189c83d554a9cc8a082\nY = 44d0ceaf4c0f50e46bea4a52e30423ce3ada19edd363ac5694c65cb8\nDigest = 215e9817eccaa125e0c053fed373f4605de292d27a692bd4f744e63215fd8705\nK = 6be6dd9f6a083915ccba54626caf12d246d3aece0a7eda7d8d85599c\nR = ff1460946e06fb6f5d35e8d2625ca70ffb9b45308e3fabf6ad8351b1\nS = 6029aa3990918e8cb8a388d53b0772e5cdfff49c3405fe0d3a95933a\n\nCurve = P-224\nPrivate = 70f74c7324ef137318b610ead8ddc5b964e0eed3750b20612fc2e67b\nX = 279649e2a2918e683520cde3fc98b0ae58a7100e8de35e7c9cc797b6\nY = aa4de6be34be61f02880139787b9038f4554a8ef1c994b887c2974b5\nDigest = 6571a344765c0512d3911a7724509b649a6ce4106823be76726f117f109ec0fa\nK = 8e984864f86f7a2a73f3edda17dbccd13fac8fa4b872814abf223b1b\nR = 3b18736fa11d04e27e2614cda03a63ec11a180f357b0b3192920d09c\nS = 2f0f3dbd570727b14fbb29155538e62c930dd51c4035275c1365dc60\n\nCurve = P-224\nPrivate = 026be5789886d25039c11d7d58a11a6e1d52cb1d5657561f2165b8a8\nX = 3fa617c50b177da1a2bdb98b780ad21ad1195c4bd24465f6187de3c9\nY = e3fd8d8876dfd03a4a4e31a1acad3a08d983826d286c250c4e5620c1\nDigest = 95914b17ff0362e12305d71657bbc9d919ae4aa746bf4ebe95b2d2fe7ca3f022\nK = 0128b8e3f50731eb5fcc223517fc0cf6b96cd1d2807eb4524bc46f77\nR = 3a6b633f96f3d0b6d54f7fb29ac33709e4f0dd8fa0e51606ed9765ca\nS = 63e8c119dfa51784decd864f6911f2210a80f8f02d472d88df10d119\n\nCurve = P-224\nPrivate = e79c18d935c2839644762867aa793201f96a3cde080c5968412ce784\nX = b7ae1e992b1c7fde1141f40bd913358538ca0f07f62b729f13cea327\nY = 811252d12120e04805fc171a439d382c43b68a21e1a0bdf5e4ec1da4\nDigest = 2dd97b10b2ac90709062989f57873e30696bf8376957e68f7de95aa333a67685\nK = 7abedab1d36f4f0959a03d968b27dd5708223b66e0fc48594d827361\nR = d35047d74e1e7305bb8c1a94e8ae47cb1591c3437a3e185e00afe710\nS = d9c425c9d5feb776ac8952e6c4eee0ecd68aef2f0e7bff2e49c9185e\n\nCurve = P-224\nPrivate = 0d087f9d1f8ae29c9cf791490efc4a5789a9d52038c4b1d22494ad8c\nX = cd95cf8fb1cd21690f40d647f2353672a1076cc6c46bddaad2d0fc56\nY = 934262f74d9ee0f8a2754f64cb7415923d64bf00c94a39b52803f577\nDigest = 7c74a2e71f7bb3101787517394a67d03f977c95519526b47854e417b95bf8d1b\nK = 557d0e3995dc6377b3911546dd7aeaeec62a6d8f2af6a274382fc37f\nR = 56df0ea6afdcc232ceb41729eec00cf906b69b6e28423a36d3c92cc5\nS = f4f70fd948c9a147f55317fdea7b8a84c33e721014552d5800d63edc\n\nCurve = P-224\nPrivate = 0830aebb6577d3a3be3ba54a4501c987b0e0bb593267b9bbadb66583\nX = b88652020e083ccc1c43dc83d1881884dd4c7e3b4e3460b344b1ea64\nY = 22b69b517f86d7c26dc37c0f8feb4bb07fe876149fbcc3334fd2805b\nDigest = ccc04666744685c57d2256f21cee0f53857a0528a96d59bb13cdeb92fd786d4f\nK = e4f4a3280574c704c2fde47ca81ec883d27f2c5a961a294db7cda9d2\nR = b30b8a0079d9a134b5e1618c2ac63e3fbe0e95866b9dbc5f423f2707\nS = 3dc36746610271ef66e0aa52cc2ccadc5c9b08dc769e4dc4f6538c11\n\nCurve = P-224\nPrivate = 2acc9b97e625263e8e4cd164302c7d1e078bfcdd706111a13ccda5b2\nX = ce1a06f82df874dded37cca03b56c0648e4e8917ecd40ee73ee61588\nY = ceb6177b8f1ac7c5c6e6e1f7737cc3026952ee392badd2cd7af32f9d\nDigest = 9e7d5f30677692b669e21cf5461fa7f2e887dfcbbeb2db88d666bd591a944e00\nK = e401fa80f96480d437ed4f61a783888062ec33d530b188fd48016a6d\nR = 28674f447c4742e4087bbccfb522fbad4e18b56031d2ce8f532b078a\nS = a5a7a13d15b423dd17771f73cea98d89dbffa846cc209b45c0e29b76\n\nCurve = P-224\nPrivate = f4e873d4fb944fb52323406f933815092b7672221de4d1c45917f3fc\nX = 0dc2cdddb990341adb1de73f02d87fc3822485a659a15145f4251d5f\nY = cf78b2a83c7352eda1af2c74e1804ea04b35f76c04e89d90281dc2bb\nDigest = d8978f697bef71b062d4b3211e8ab5b993c09920af803614dbb9437f6e261b70\nK = 5d1476c682a64162fd2fdc82696fc8cab1469a86f707ea2757416e40\nR = 82982b38ed465138df4018d7cfb835edcb591cb57446ca49d163782b\nS = 8ef1d7b326cabee7f7ab95b7b98d3c27a069c0fd95a1599c0ccb422b\n\nCurve = P-224\nPrivate = 62c572ee0d6f81b27e591d788bfc2f42b5105d2663078dfb58069ebd\nX = bd6ba605639b98fa8113a16a3bb004ddfaec901c98a931206165f4a5\nY = a3190b10ef39e88abd60b2293b4707512b45c6c5ed5794cc11454427\nDigest = 1a9fc0195bf0f53cebba8aa7ccc8567c680d75187392d6d8201854ec4a6e6abd349037d831809e9f3add2fc09d27e4a4\nK = 0f0bb1e428bcdebf4dc62a5278068efc0f8ce75f89e89b3630f102b2\nR = aac0ea27e129f544abcc77f110e70bbdd5aa3e425dc39d5e8887025d\nS = 10e5dd06aee6b8419a04aa33d9d5678b0039c3acc3c4b61fe106bfdc\n\nCurve = P-224\nPrivate = e2f86bf73ba9336fa023343060f038e9ad41e5fe868e9f80574619a3\nX = f5d5346f17898ea6bbdfff19c216a8757a5dc37b95315f5481628381\nY = ae61fd172ac8b7a4f13870a932dece465834cbd4f50bbcfb802c824e\nDigest = 0f236d9a43edd55dacf5ff9f93ee805395e130ca2c8ad2eaea0fdd68e2ee2fadae9f41aa46f881485db208bd9cdc463b\nK = 35724ac043e3b44b73b5a7919cf675190306d26aa67c27c28c873534\nR = 535147c265af138eec50c7fb570bcc8d2e6f675597b0fcc034e536bc\nS = 743812c188a1dddf9fb34b90738f8b2e58760d6cd20ccceb1bb9c516\n\nCurve = P-224\nPrivate = b0a203438e2586d7575bc417a4a798e47abc22aa3955b58fc2789f17\nX = dc5d217862a1e5b00c95affa9d8b925a72b9beaeb7a86dc397e788d8\nY = 5f05f8e976ae1eb1036eca6d683a82850795bf9127dee5f8b2859445\nDigest = 525b6241eb2a6dd00b55b172708aafd0775e959b7c601903f44ffcfc17ee979f34f204680f8a71044a6d7e3679a50576\nK = 408e9c8b1f33136d6ddb93ff3a498bc09d4eee99bf69cdd5af0aa5a2\nR = 1b5a964c8b1fc634c6e2b82322499df1d7f0c12a4d2a77723c816ab8\nS = cf54599a36ca064fae0aa936de5266f87704409d22a15d28c01b7f2a\n\nCurve = P-224\nPrivate = efcfa50fad6fb2065f9a55f28c0c42fa24c809ccb19b6fc6d8ffb085\nX = 61521a0cfb72be77ba33cb3b8e022743cd9130ff49e97093b71aa178\nY = ce0819aedaf6fce639d0e593f8ab0147eeb6058f5f2b448231584ea9\nDigest = 88c4b7ca396f17e82c92596c301e41d7f01810bfeb33173cc0d1fedf3fd5ace6892ba9a788de13417f0ef00ff87344fb\nK = d1eea821f286eae6ebc1f61b08f9ad4323a3787e94af4c32cd31351b\nR = b37caaa71103752ac559f9eb4943324409ebfa8b585f684dcaa5c411\nS = 7c28e7619e2944ab4b7be022878c8052ebdf2cae5dff4f976c49686a\n\nCurve = P-224\nPrivate = 61a17816937987764cdc064dc7b5b4f5b16db1023acdfe25902957dd\nX = a7e975c0a8f87c683bb8e31bc160843a7b69c945f4850bd60e1c08c0\nY = 8930a454dcc2aa13bed7ea89368b2c9d689d816b2acf4e52585ee9c4\nDigest = 3babfaba30f3300171e6adcf4f62a12287031ac40078c96b2c2c063849e9a42ef3be953dc11fb319c18bf22fe511bf37\nK = 44b1fdec2629f9075f89c134ac28ff19bfddaa", "9db02a5d7f853582b4\nR = b0f5635d8bc9c53a1d54a3ec63de59ed66e6b2358d4ab79755414326\nS = 67c68fe265c7e5aba4232deeafb88545a2aa266fb9f2c2bb3f3ae8d2\n\nCurve = P-224\nPrivate = 79d5367314ec664aa0f6ca36f95549502a05bf8400bf532d669fab8d\nX = 3191f0237102dac159032ab2dde53cf56c9ec827b5caddfe9e83c02a\nY = b496b1bdcca4434ac0d0d91ea38ff3bc33f9f54095bfe17796d5a9e2\nDigest = 9f36da1a5653469a52f85e7e3b2a21ac3497cc00ff37e03235bbdf951695f182312ad5c8fb8a5fbd0295dc8c5acda068\nK = da529c52f5cc1f435d873109cd991d6cd7e1631d9ff1dd9521dd5db6\nR = 8e0ac63903f4921755430572c3f08bc272790639bdf1009fe2a9a714\nS = 6278c841a2d0a270791fe54b36c49d426d67907aa4e4f59c8638ad97\n\nCurve = P-224\nPrivate = 1320eedad4745121793a7eaf732b0b4498f7cb456cac8cf45a1f66f0\nX = 9fdd99906ab77fd29e9021bde947d05a7a9eb153612269bfb0899bc9\nY = 681b65b9ac8e4c2899bb622dafb253b7bf5a6e38e5f6595f997c291a\nDigest = 12532cbcfd4e80373bc235ac0bfa2a70b1044786d29f9384d555030f5df3cb5ab9f973df638b6835cb756792d1fe1a4e\nK = 66ed8d8934633f4125f593cf1b1d3745c4db1f15dde60cf46ca1c7f2\nR = 80199485a3a96447b39f7679cd47412a78675ba17dcbd10465dc5b48\nS = a251fd9f136a3cb0dd0bc80659ae032e4a761ba7045da0034553fb8c\n\nCurve = P-224\nPrivate = e18821329447d3f65ba7279e96bd4624ffa1b32b90f6e8331b1e876d\nX = 46c9ed837232c47022df2f1a1578fbe65ac9f2e81c98a74cc22ea31a\nY = 6fc5e9568ae62b31412a0b0b367242e9fd7e518c83aa06a069e1d90d\nDigest = 89030408e06cc06d3dbfb51f6725c710a2bc9db9e07ff1ec8a32a827d93d2dc951834cdb01a7afa1fe4cf4e9186ee424\nK = a4c1eb402a2fb3af26e0e14a3d2fc8ed3bc1a8b2475270356a79fdd3\nR = d478b68733d8ad44be46766e7b66af782fbdc7ff7ed0b191176da98a\nS = 5eae9160ccf71fd1d359d89cecce72ef8afaeee2365f6ba828aa450a\n\nCurve = P-224\nPrivate = f73e030d5a696b358986d3efaca121cf71f775f8835a21e6135145d7\nX = 9ca2c6ea87ac8dd3a23a5b4010841a7c8af309038882ae44634bcf55\nY = b0a347dbd5ded3b8702ac5a457e8b32bd4de06fd315095fa1b7d5fe1\nDigest = eda24262a9e64be110a6c96763e8a4b5edb38af2a084695e294593583b462c56b0db50bc014eb19278e3f3d675eb5f22\nK = e3cc786c1288ea567836c51d6d69dd0cab5c015987d936ccc3a4beb3\nR = f1234da71761b7a0f49e661a419d2a739bdc4544bf87690e3d2f96db\nS = 096d16bf8020c3d3c233894ad8eb81206010e62c6e692a215e088fd4\n\nCurve = P-224\nPrivate = 7a0789323f8741c157a1753ae165ecaf8e8b03a60561f8b80cee467c\nX = 101271a9addd4bd1f19d00bf116c8524f52cefd598e85dc381597acb\nY = 2f17d14f4d8ccb28b216553718152ba7c104646d8eca986dd9ddea39\nDigest = 983a5d16b009cc65bdf3c3badc2f21280e04f44244b70a583c2e9732534497373f51b226c3ab7bd69c6940e46bc41fa1\nK = d169f04f05b60c625cda864d187938863964dab7bb3b9dfc04b05519\nR = e4a51be686a764b709da23ab48b1985e153c6ee238d945e743907afc\nS = 118a8f1ffe3cd556ce6345bd1a398dd9cc3729b7fd6d8af9bfd82f40\n\nCurve = P-224\nPrivate = 78e795d0edb11fd9e28dc26b21e751aa89bea0d87932ef11c95c0e18\nX = 9edd544107977134bf6360d43ccabb3c94d627c03963c0a04b439627\nY = ece4c61d319a0e41f3de7863e7c355bac94395aaa74cdb5f74a87a5b\nDigest = ae7b5fde427af9c450368b11f66f49bf8c3b6e1f5abed6bb25683001924dfb005738637e1c1b7855566330d202ecc763\nK = 36f7c0f76808b826a0a974a1fd6e155e00a73f1d34674a8f88be405a\nR = 3e319444438bc2cc92f323ea842cb402b3c3c2448c89869ef7998edb\nS = 3420cc38f058f41c31e71f4b1ad488f801111c73541de69fcee60695\n\nCurve = P-224\nPrivate = bee02d8bc5bffb3fd3b4c9d6f686409f02662d10150d1e58d689966a\nX = 8848f964c847fe9dddc774618d4588c9cd56bbe588d7b1fb369c8bfa\nY = ebbb699fbd0dc08859fe9132285fe20dff3b9d561c0640b6e0717607\nDigest = 63ef787f467ff0cd6e5012b09414c00ef56dba959c4b62bf7e76a4205078d436c45591752c8d55abe728a2d28b5b0643\nK = 59f1450d857b40e5552a4b8cd4ab0df2f01716635d172c1106840f21\nR = a206d8398a16a991bc217f77f23c6f648384f254f255a8a876404444\nS = eb1169cb5b1423dc0bfaffe565ae57f986e00de06405e3e7b605862e\n\nCurve = P-224\nPrivate = dc0ddf6e501418bb8eafc5d7ccc143369e2aa441df8fc57d5f94a738\nX = 063a5d632f4144376e14cfb03ad8ccf1489b613acd184d20dff66545\nY = e77727f057b043d8a0f7458196b72e92d11f85b0891c6aaa9d915f58\nDigest = 11f0d587e82e7490af4737c272877d9d37c1e7ae7f2fd3b00d8fa0d4f2bcb3a41d5185e65604b8c411a407eb6c558954\nK = ff0e5cae2671db7a1b90e22c63e7570bdd27352d45bac31e338debe0\nR = 5bc0b4998481ecbd3b6609184a84ca41d69b08c37138097f559259f8\nS = 0df8828eb1ca85e46405b94e1a2972c34c5e620a54e2f640f04aecc5\n\nCurve = P-224\nPrivate = 229d89b2fcf8441ffc95ebb2ac2ef156e25825782044b2b8bd6a3e01\nX = de616848d8044a44789ef1ba3a6dd66fe9257ddc57f7534e59a701be\nY = 26cbf74a6d25e5b34b96d30f327abd574cff7f7dbe6686573a7d6c5c\nDigest = 537d6d3d4be3e3beaf31014dae59ca7186c1c1a32c88068ff343180a138ceb6d7c38e0ae1e9b51003b71c1a2f3a3741b\nK = 3b18ca6ec8e8e255ac88f64302745ca0b73ff94b2b2d48be95b4aaee\nR = fa94fd8b827c06115c1eefd50afc02ce5926ee0e789667783c01c34b\nS = edf766a66973cfc33e4159966c07321a7f6549c3c60e8586ef41402b\n\nCurve = P-224\nPrivate = 97d747068147c0393a0bb5c159e2c9f1bd538f6204823294883abe28\nX = 3858a576eef2ce24d01766997fb81b3f3f78b6104cd188610be221d7\nY = 95ffc677ac7bfe3e0bb4cffb17355a964c8356a807151b3cba5d1f4e\nDigest = 7e16034a71ebf52a7a6cd00fe469c6edc121b2882462176298c9443aca2a0ad6ebe2eb9e145097409873170f40d503dd\nK = c1a2ec1ef16cfd5107c892790daefbed061be78bd8576696b60f64d5\nR = 18c908541843fcdac99b9ff6bb397f3f8094d16b42670216e4eaa2d7\nS = c107a8a508ff57c5d4f78f86cc37e129c864d1c44ed5e73909613b74\n\nCurve = P-224\nPrivate = ba5374541c13597bded6880849184a593d69d3d4f0b1cb4d0919cbd6\nX = ac635fe00e8b7a3c8ef5655bdfb7f83e8532e59c0cc0b6534d810ffa\nY = 1d067aebeba66e79b28ecfe59ac6fdf5e1970dc3a84499c9d90cd8e2\nDigest = 3edbb59a32b2464291d0a96023a798c1fc6cb5ff4fcecfadcfac2be00c26fa27181aef76c96d8269aeaf2275eeacbb777abbd9571de9279edc5695a3345cad9b\nK = 187ed1f45c466cbafcd4b9577fb222408c011225dcccfd20f08b8d89\nR = f83d54945997584c923c09662c34cf9ad1e987da8bfd9be600e7a098\nS = 4ff2dba9dba992c98a095b1144a539310e1a570e20c88b7d0aa1955c\n\nCurve = P-224\nPrivate = 1e27187134d0a63542adf4665fba22f00cfc7b0a1e02effe913ceedc\nX = ecaea8ceea55c3bd418fd34a4ff2499e25e66a104eed846bc00c31d2\nY = 3933a356ab1f2dabc303ff0a5d076131e77032e6f502336883bf78a7\nDigest = 825ab979af5c263d9f074a2d771d1d1cdfa435e7938245a3c9ee30cb77ee8c1475051d2f09d7d11d920a6c754bfd253903131c491994679cafdb8cfbf32b763d\nK = 34cb597deae9a3b1cada937abcd247161b19b2b336b20e2e42ae01f1\nR = 58177ba46fb291490b39368774accf72736412c1fb5ee0f27b9b1e02\nS = 58337d78b95a080bfcabb5809bee012501b4da84b8ef310a4628f11c\n\nCurve = P-224\nPrivate = 0905b40e6c29bfcbf55e04266f68f10ca8d3905001d68bb61a27749b\nX = d656b73b131aa4c6336a57849ce0d3682b6ab2113d013711e8c29762\nY = 6328335ffc2029afbfe2a15cc5636978778c3f9dab84840b05f2e705\nDigest = d0db7c20c201cd8c63ca777293543750d7f6a9e375b056e74cfe9fb2c95b2cc9807d8a9607a5b0fad6eeda86e4f73ace139e77a5356181b8cbef3f88173253b6\nK = dc82840d147f893497a82f023d7d2cbf0a3a5b2ac6cc1b9b23e504be\nR = 583af080e0ec7c1ba5a491a84889b7b7b11ccfe18927c7c219b11757\nS = b23700035349df25d839f0973bef78a7515287de6c83707907074fa6\n\nCurve = P-224\nPrivate = afbaede5d75e4f241dd5b53220f3f5b9c1aa1d5d298e2d43236452dc\nX = fe83e59fc8ea8b939355d3258fe53a64d45f63031a0716b7cc416173\nY = f151d23060f1c856eb7f1f58be72a7228c3af89e43b56e9695b558c7\nDigest = 37d9091eddc6fc34b45cf97140e956a42ab659f6bd442e81b57c4ecfbdab45f7380a7efdbac5400ceb1bf683194232cd086c1b4e09fc9313f1bc38af731f1a98\nK = 0fbbe7b40136c81a8fb894498d5502157a1cf5a89d0643de92cd38f6\nR = 24f3f457c7b72b7e759d5a8afbf330e31c5d8d2e36f92c0e79c5d87d\nS = 36fd1193def34f12a960740fd79fb38bf2b480726ccad540eb42cdf8\n\nCurve = P-224\nPrivate = 950b07b0c2b7539a21b5135bfede214733f2e009647d38d8b21d760c\nX = f43d13bbfcee3b724063b3910fea49fd591b81e86fdb813b1a492d0c\nY = 6b4c8d6fa5dc661889e3cf5ec64997a78222837885f85d2fe9b684fb\nDigest = 8ddf64c9c67289a76c2f5b44a30b8365f4adf487b4edadada5749cad9e5765c57a348a750817a53e5c2ff551e003747ca1e3438b2aa1952c6876fda8fd8f4de2\nK = 83e110d0d1e700d2f36543028737d2a2f1474aa3b4b28998a39e4793\nR = 2685265bc878e85d10ab13293dec190881a57c4a467f8fc2170432ea\nS = 80a347bb49036522369339bd6485a967cdda818915d8eb947302fcf9\n\nCurve = P-224\nPrivate = 015bd9f5dfef393b431c3c7fced24385d861ccb563542574a5d2a9bc\nX = e868690641e2cda13b289a6c5d2fb175940396044d9cf27b4f2240af\nY = 4c78c9abdf2b7fc67ed4497001d7bcf1daca1739dc14a661f91d7c40\nDigest = 7c22f34d5897ccdf7d807f68a7f16e3093a4413625e7853401a4e0384d26893f1997c84557515f2ea66afe7629f62415e6b98e18e97dcb4fb2dec97cf2dd68d9\nK = e2374350f47c08f3c1359d4edf87e61d1ba4e7dd1540d8d9062efa79\nR = e12dc088d2bc032bb214c77d0e0fb749fc8e61ebe1ed72996f1084b6\nS = 0ab58aa31e0bba5fbc76855e6549", @@ -2682,9 +2769,9 @@ static const char *kData42[] = { "a0cdf2910c42c9f1954a4572d8e659733d5e26cbd35e3260be40017b2f5d38ec42315f5c0b056c596d\nR = 00d732ba8b3e9c9e0a495249e152e5bee69d94e9ff012d001b140d4b5d082aa9df77e10b65f115a594a50114722db42fa5fbe457c5bd05e7ac7ee510aa68fe7b1e7f\nS = 0134ac5e1ee339727df80c35ff5b2891596dd14d6cfd137bafd50ab98e2c1ab4008a0bd03552618d217912a9ec502a902f2353e757c3b5776309f7f2cfebf913e9cd\n\nCurve = P-521\nPrivate = 013c3852a6bc8825b45fd7da1754078913d77f4e586216a6eb08b6f03adce7464f5dbc2bea0eb7b12d103870ef045f53d67e3600d7eba07aac5db03f71b64db1cceb\nX = 00c97a4ebcbbe701c9f7be127e87079edf479b76d3c14bfbee693e1638e5bff8d4705ac0c14597529dbe13356ca85eb03a418edfe144ce6cbf3533016d4efc29dbd4\nY = 011c75b7a8894ef64109ac2dea972e7fd5f79b75dab1bf9441a5b8b86f1dc1324426fa6cf4e7b973b44e3d0576c52e5c9edf8ce2fc18cb3c28742d44419f044667f8\nDigest = d209f43006e29ada2b9fe840afdf5fe6b0abeeef5662acf3fbca7e6d1bf4538f7e860332ef6122020e70104b541c30c3c0581e2b1daa0d767271769d0f073133\nK = 01e25b86db041f21c2503d547e2b1b655f0b99d5b6c0e1cf2bdbd8a8c6a053f5d79d78c55b4ef75bff764a74edc920b35536e3c470b6f6b8fd53898f3bbc467539ef\nR = 01dce45ea592b34d016497882c48dc0c7afb1c8e0f81a051800d7ab8da9d237efd892207bc9401f1d30650f66af8d5349fc5b19727756270722d5a8adb0a49b72d0a\nS = 00b79ffcdc33e028b1ab894cb751ec792a69e3011b201a76f3b878655bc31efd1c0bf3b98aea2b14f262c19d142e008b98e890ebbf464d3b025764dd2f73c4251b1a\n\nCurve = P-521\nPrivate = 01654eaa1f6eec7159ee2d36fb24d15d6d33a128f36c52e2437f7d1b5a44ea4fa965c0a26d0066f92c8b82bd136491e929686c8bde61b7c704daab54ed1e1bdf6b77\nX = 01f269692c47a55242bb08731ff920f4915bfcecf4d4431a8b487c90d08565272c52ca90c47397f7604bc643982e34d05178e979c2cff7ea1b9eaec18d69ca7382de\nY = 00750bdd866fba3e92c29599c002ac6f9e2bf39af8521b7b133f70510e9918a94d3c279edec97ab75ecda95e3dd7861af84c543371c055dc74eeeff7061726818327\nDigest = c992314e8d282d10554b2e6e8769e8b10f85686cccafb30e7db62beaad080e0da6b5cf7cd1fc5614df56705fb1a841987cb950101e2f66d55f3a285fc75829ff\nK = 01b7519becd00d750459d63a72f13318b6ac61b8c8e7077cf9415c9b4b924f35514c9c28a0fae43d06e31c670a873716156aa7bc744577d62476e038b116576a9e53\nR = 0183bddb46c249e868ef231a1ebd85d0773bf8105a092ab7d884d677a1e9b7d6014d6358c09538a99d9dca8f36f163ac1827df420c3f9360cc66900a9737a7f756f3\nS = 00d05ee3e64bac4e56d9d8bd511c8a43941e953cba4e5d83c0553acb87091ff54f3aad4d69d9f15e520a2551cc14f2c86bb45513fef0295e381a7635486bd3917b50\n\nCurve = P-521\nPrivate = 01cba5d561bf18656991eba9a1dde8bde547885ea1f0abe7f2837e569ca52f53df5e64e4a547c4f26458b5d9626ed6d702e5ab1dd585cf36a0c84f768fac946cfd4c\nX = 012857c2244fa04db3b73db4847927db63cce2fa6cb22724466d3e20bc950a9250a15eafd99f236a801e5271e8f90d9e8a97f37c12f7da65bce8a2c93bcd25526205\nY = 00f394e37c17d5b8e35b488fa05a607dbc74264965043a1fb60e92edc212296ae72d7d6fe2e3457e67be853664e1da64f57e44bd259076b3bb2b06a2c604fea1be9d\nDigest = 6e14c91db5309a075fe69f6fe8ecd663a5ba7fab14770f96b05c22e1f631cde9e086c44335a25f63d5a43ddf57da899fcedbc4a3a4350ad2edd6f70c01bb051e\nK = 00e790238796fee7b5885dc0784c7041a4cc7ca4ba757d9f7906ad1fcbab5667e3734bc2309a48047442535ff89144b518f730ff55c0c67eeb4c880c2dfd2fb60d69\nR = 01d7ce382295a2a109064ea03f0ad8761dd60eefb9c207a20e3c5551e82ac6d2ee5922b3e9655a65ba6c359dcbf8fa843fbe87239a5c3e3eaecec0407d2fcdb687c2\nS = 0161963a6237b8955a8a756d8df5dbd303140bb90143b1da5f07b32f9cb64733dc6316080924733f1e2c81ade9d0be71b5b95b55666026a035a93ab3004d0bc0b19f\n\nCurve = P-521\nPrivate = 00972e7ff25adf8a032535e5b19463cfe306b90803bf27fabc6046ae0807d2312fbab85d1da61b80b2d5d48f4e5886f27fca050b84563aee1926ae6b2564cd756d63\nX = 01d7f1e9e610619daa9d2efa563610a371677fe8b58048fdc55a98a49970f6afa6649c516f9c72085ca3722aa595f45f2803402b01c832d28aac63d9941f1a25dfea\nY = 01571facce3fcfe733a8eef4e8305dfe99103a370f82b3f8d75085414f2592ad44969a2ef8196c8b9809f0eca2f7ddc71c47879e3f37a40b9fecf97992b97af29721\nDigest = 26b4f562053f7aed8b7268e95eff336ac80a448fae52329d2771b138c9c7f70de936ef54158446afa72b0a27c2a73ca45dfa38a2ba2bf323d31aba499651128f\nK = 00517f6e4002479dc89e8cbb55b7c426d128776ca82cf81be8c1da9557178783f40e3d047db7e77867f1af030a51de470ee3128c22e9c2d642d71e4904ab5a76edfa\nR = 01c3262a3a3fb74fa5124b71a6c7f7b7e6d56738eabaf7666b372b299b0c99ee8a16be3df88dd955de093fc8c049f76ee83a4138cee41e5fe94755d27a52ee44032f\nS = 0072fd88bb1684c4ca9531748dfce4c161037fcd6ae5c2803b7117fb60d3db5df7df380591aaf3073a3031306b76f062dcc547ded23f6690293c34a710e7e9a226c3\n\nCurve = P-521\nPrivate = 01f0ec8da29295394f2f072672db014861be33bfd9f91349dad5566ff396bea055e53b1d61c8c4e5c9f6e129ed75a49f91cce1d5530ad4e78c2b793a63195eb9f0da\nX = 009ec1a3761fe3958073b9647f34202c5e8ca2428d056facc4f3fedc7077fa87f1d1eb30cc74f6e3ff3d3f82df2641cea1eb3ff1529e8a3866ae2055aacec0bf68c4\nY = 00bed0261b91f664c3ff53e337d8321cb988c3edc03b46754680097e5a8585245d80d0b7045c75a9c5be7f599d3b5eea08d828acb6294ae515a3df57a37f903ef62e\nDigest = ea13b25b80ec89ffa649a00ce85a494892f9fb7389df56eed084d670efb020c05508ac3f04872843c92a67ee5ea02e0445dad8495cd823ca16f5510d5863002b\nK = 00ac3b6d61ebda99e23301fa198d686a13c0832af594b289c9a55669ce6d62011384769013748b68465527a597ed6858a06a99d50493562b3a7dbcee975ad34657d8\nR = 00cef3f4babe6f9875e5db28c27d6a197d607c3641a90f10c2cc2cb302ba658aa151dc76c507488b99f4b3c8bb404fb5c852f959273f412cbdd5e713c5e3f0e67f94\nS = 00097ed9e005416fc944e26bcc3661a09b35c128fcccdc2742739c8a301a338dd77d9d13571612a3b9524a6164b09fe73643bbc31447ee31ef44a490843e4e7db23f\n\n# The following tests exercise the bit-shifting case of ECDSA digest\n# truncation. The digests are larger than even SHA-512, but P-521 is the only\n# common prime-field curve. (This case typically comes up with curves over\n# GF(2^m).)\n\nCurve = P-521\nPrivate = 01f0ec8da29295394f2f072672db014861be33bfd9f91349dad5566ff396bea055e53b1d61c8c4e5c9f6e129ed75a49f91cce1d5530ad4e78c2b793a63195eb9f0da\nX = 009ec1a3761fe3958073b9647f34202c5e8ca2428d056facc4f3fedc7077fa87f1d1eb30cc74f6e3ff3d3f82df2641cea1eb3ff1529e8a3866ae2055aacec0bf68c4\nY = 00bed0261b91f664c3ff53e337d8321cb988c3edc03b46754680097e5a8585245d80d0b7045c75a9c5be7f599d3b5eea08d828acb6294ae515a3df57a37f903ef62e\nDigest = 007509d92dc07644ffd324d006742d24a4497cfdb9c4efab7768426b3877d810602a84561f82439421e49533f72f50170222ed6c24ae6c11e50b7aa886ac31801580\nK = 00ac3b6d61ebda99e23301fa198d686a13c0832af594b289c9a55669ce6d62011384769013748b68465527a597ed6858a06a99d50493562b3a7dbcee975ad34657d8\nR = 00cef3f4babe6f9875e5db28c27d6a197d607c3641a90f10c2cc2cb302ba658aa151dc76c507488b99f4b3c8bb404fb5c852f959273f412cbdd5e713c5e3f0e67f94\nS = 00097ed9e005416fc944e26bcc3661a09b35c128fcccdc2742739c8a301a338dd77d9d13571612a3b9524a6164b09fe73643bbc31447ee31ef44a490843e4e7db23f\n\nCurve = P-521\nPrivate = 01f0ec8da29295394f2f072672db014861be33bfd9f91349dad5566ff396bea055e53b1d61c8c4e5c9f6e129ed75a49f91cce1d5530ad4e78c2b793a63195eb9f0da\nX = 009ec1a3761fe3958073b9647f34202c5e8ca2428d056facc4f3fedc7077fa87f1d1eb30cc74f6e3ff3d3f82df2641cea1eb3ff1529e8a3866ae2055aacec0bf68c4\nY = 00bed0261b91f664c3ff53e337d8321cb988c3edc03b46754680097e5a8585245d80d0b7045c75a9c5be7f599d3b5eea08d828acb6294ae515a3df57a37f903ef62e\nDigest = 007509d92dc07644ffd324d006742d24a4497cfdb9c4efab7768426b3877d810602a84561f82439421e49533f72f50170222ed6c24ae6c11e50b7aa886ac318015ff\nK = 00ac3b6d61ebda99e23301fa198d686a13c0832af594b289c9a55669ce6d62011384769013748b68465527a597ed6858a06a99d50493562b3a7dbcee975ad34657d8\nR = 00cef3f4babe6f9875e5db28c27d6a197d607c3641a90f10c2cc2cb302ba658aa151dc76c507488b99f4b3c8bb404fb5c852f959273f412cbdd5e713c5e3f0e67f94\nS = 00097ed9e005416fc944e26bcc3661a09b35c128fcccdc2742739c8a301a338dd77d9d13571612a3b9524a6164b09fe73643bbc31447ee31ef44a490843e4e7db23f\n\nCurve = P-521\nPrivate = 01f0ec8da29295394f2f072672db014861be33bfd9f91349dad5566ff396bea055e53b1d61c8c4e5c9f6e129ed75a49f91cce1d5530ad4e78c2b793a63195eb9f0da\nX = 009ec1a3761fe3958073b9647f34202c5e8ca2428d056facc4f3fedc7077fa87f1d1eb30cc74f6e3ff3d3f82df2641cea1eb3ff1529e8a3866ae2055aacec0bf68c4\nY = 00bed0261b91f664c3ff53e337d8321cb988c3edc03b46754680097e5a8585245d80d0b7045c75a9c5be7f599d3b5eea08d828acb6294ae515a3df57a37f903ef62e\nDigest = 007509d92dc07644ffd324d006742d24a4497cfdb9c4efab7768426b3877d810602a84561f82439421e49533f72f50170222ed6c24ae6c11e50b7aa886ac318015ffffffffffff\nK = 00ac3b6d61ebda99e23301fa198d686a13c0832af594b289c9a55669ce6d62011384769013748b68465527a597ed6858a06a99d50493562b3a7dbcee975ad34657d8\nR = ", "00cef3f4babe6f9875e5db28c27d6a197d607c3641a90f10c2cc2cb302ba658aa151dc76c507488b99f4b3c8bb404fb5c852f959273f412cbdd5e713c5e3f0e67f94\nS = 00097ed9e005416fc944e26bcc3661a09b35c128fcccdc2742739c8a301a338dd77d9d13571612a3b9524a6164b09fe73643bbc31447ee31ef44a490843e4e7db23f\n\n\n# The following tests use digests equal to the order and 2^n - 1, where n is\n# the number of bits in the order. This is to test the truncated digest not\n# being fully reduced.\n\nCurve = P-224\nPrivate = a80489eee3b15dedbc2d8ca4134f18b7d1a541fc212718f21a04692c\nX = bd283d0c18d90b69d9ee3e0f1e8e62f53822f5593fc94343666495b5\nY = b3177709b8dc4b62928f9dc561c2b4be42c7df52d4e90e7e885b4021\nDigest = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nK = 90fbb04276d112cbb6ecd2053e2a870f02350ac7e2881c89851a4640\nR = 7d0642a2cb98b56ff91837bd23e20bd90b60613b60eabfbc078cfbfa\nS = 0209a75bbd6c2310fa55fe2c0c3ddf35be53fef6e1cccf0537f3e7be\n\nCurve = P-224\nPrivate = 72a2e505634a669d492d28b1b43974cca3aac7b5eaffa1719a551d3e\nX = 42bafdd82b5bd766a727211e4af8bf46015705b878772b296791cca3\nY = f5db26e760f4b2ec586222d3cecb525fed32a841fa0ae547f5c435db\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nK = d6abc49b0e60f1e2e7a5736aa8e93a5de9777f4b9e6c96692fcb662b\nR = 42232b212356d9adbb5e43e96e23c376fa5d21c9ad6a50137d2e3bd2\nS = 020596ef40a9dbea4d6779ff02c9cb853b520093113a968a32309118\n\nCurve = P-256\nPrivate = fb801b1a1161c143578358dc6edf8357167c12636e5b588e171d8bffcca78d7a\nX = e57231383637c82c1ac801724cf7e03e67198f467a9beb60ac13cb582d13afa8\nY = 8f190e090155fcf63810b858bc88e259dc49afef8bdef6fd06d93dddb1991aed\nDigest = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nK = 3d1df8b364fc045d8c6517f7a4b99c91643a2bca351b3a74fe36268c97198c3e\nR = 05cc6037bb021f4910ea2e489fab2bae6bb6a2769a97f42ba5736994102b7f10\nS = 5db54832ceabf8bccdb8be99b1a49cecff8feee045cb697dec43118e2695b1da\n\nCurve = P-256\nPrivate = df1ae1f7a1043d03811c61695dba0350bbe58d36a670da66d58c69e5bc9ce1fd\nX = 6e0e2897b9a554ee287cdaf43bfbe25ca8404373971575a0e4b61c61aff5a2fe\nY = 23ea7823a411eb1b39f81bbde24c2cd6ac68be2c7eec3a0671c8676131b8905c\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nK = 6b6e0cf93ce4482a4c23821125186f39656ccc993e4f080ac8750c32927a515f\nR = 16831feeceab2fab1c575e073e944d73ce7e6f3e9b06312088f06159c530ff50\nS = 870cb824692638538b1569c6093fcb693c054e8e3b9a919e3bb26798910f66e9\n\nCurve = P-384\nPrivate = 2218a70d35d5a9eb16442eee8e74a8b992d9475edadd6b814ae6c8779b32df164553546bf3405bd5242b85092e2f0098\nX = f4a961c19f9cc4ebe4f43081110955f3cede085a08c1415d726e80b2eb774028c5fc96f092ba3ea7d1288dd57fe1db08\nY = 981398eed0895e09b3b582a0616f3024e51cca7b1ecc347dbf0d24a5f6a222b0c31912f8f5e427d4dde5c6c45212bb10\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nK = 118f1682e0dc4602fc6f142f98d48e36adf32566f34be311ca55ccbe00fec28e52d72857e02f139578316a5dbe1ed9b4\nR = 0b77eaff05bbd922dd80525d2ab301cc119318f5a920a12c71c4b5ff5bb77d25a538983df9bdd5984b0d159daf21f1a2\nS = 73af85ad03a34b6b3993082bf719018d25d1555717b2d2f2535d0601af06a71ad020eff8232d065ab9d7fc4cd0c0ee42\n\nCurve = P-384\nPrivate = fae6a843fcef48d15685766d189fe1f597cd85d4e07172c8e19589e1aa2e8e8c4b75731e9afccb7b585926934583829b\nX = 54dd8d7cbf2ccdf1a42f5bbc615a372803b094f6040e3c7b651a61bc6912432c836cf2410ab7d67f543236751d81066f\nY = 2219d6257b1c80bf327c96786f2b5d0b5a9b9bf7eee9c853bf66a3bf09520494cb1f7823e4c566d79a617b7e201ead96\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nK = b7db03d70db5cdcce3c708e55ad88eba80e90f6bb0be3713686bf298709a8b326619c1d47318f9af60039ff051f33a1e\nR = 9d923e199d98272e44b8fba382bf3c19660ecb4a9aae3513ff6802a73fef510c15c202807c3f9334b0bce7d6c6a80839\nS = 520784e6290d04d9b61993ee5ebc6fa8ff527fb0777c43cdefc7586701e60edb399005a5648ff852de80208232849fbd\n\nCurve = P-521\nPrivate = 015a5274c44e51b3cce4b1d657186871a851747e086934cb132559d83e07b3b2544c5d62b26385272101e20f963d2df6e029d6a6818cc4839c3f28a4c384dff4befa\nX = 00056cc489982829b728978193d047596325a91ee2e2c9110f7da605fd2d1b78424e87d85500f391fe9f54209c42e582ca3284484afc6edfe2acdc69c3591f6c47cf\nY = 010e91be6632da7afd03caedebdb572fd41cb1a7221e9c2d984016bac4693b3d10c5b1d76ba32b89f5fadd157df122be9cd85151977b99176998cfccbd3f9a03ba3f\nDigest = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nK = 001441599703e14eca10a787dd421c334bdd4c91ad33d05fe2929100a5eb343df47fb28236423323e769ad1cbaffc6e9ad01a06b2e401d647511ad2e920c2145262d\nR = 00bd5e59a9bc97de61588d143990ad7fd5405ac53aa8e6332a085a301138b23beaba126b41549db1167df47362a9de77c73b1bfaa14b31114644b4db8d35179f706a\nS = 000cbb560f68b7240e309301ed4e6dc20d329f7e2098bcae26a07dd364e6177bb408eb5d0b47a3fcf36def98b951af9a55a47d24d95cd66cc11973269694e2f6f8d1\n\nCurve = P-521\nPrivate = 00cfac6f8a1906241d873da27b4166e0d0bd76c511177835d0978117056db44750eb0648e6899f215e6c0dd6902c114a802ed5935df8c54290fbfe184ff8ccae444e\nX = 002aca58eeac43152b292f42a6a677d327386337409ba7de17acae1978e097f21e49d47f707c6ed6045c66551c93df9ef9bcc442db804e62fcac9f0574876d6d7fea\nY = 01862ed4f9d235afcc4e6b45e491da363104d4db7b97f12d869c40ab09a3c8c72519a9712ca733ddf046ad039842e8caed2425ecaf42d5171b3e236c11fee8699684\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nK = 00938d2f6550a46fb07b058e6287f428f0ff12aa6732a666d4a6cf2dd7cd8023ca76d0ce4e16b62830d0ff9e2fab9987261f3f3ffe0749ff70950d91b897d57007b2\nR = 00ec0b91fa4386a8acdc0e46dd9c1d1775abbe0da8ead424aa4ace58e284a5be00e2c1ef95b6f4d861615564e1e7305656567f95275ce63b534420eae77ec37492c2\nS = 01e1099fb389db498ab4cf23b4f06a74b9326878ae3c76ea13832e50702b30fe8303093a59cc9a0995f1dfc15e6f7dabca8a2acaf03ec005447d29fb429a252064ec\n", }; -static const size_t kLen43 = 170210; +static const size_t kLen45 = 170210; -static const char *kData43[] = { +static const char *kData45[] = { "# Tests from NIST CAVP 186-4 ECDSA2VS Test Vectors, Signature Verification Test\n# http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3ecdsatestvectors.zip\n#\n# NIST's files provide message and digest pairs. Since this is a low-level test,\n# the digests have been extracted. P-521 test vectors were fixed to have the\n# right number of leading zeros.\n\nCurve = P-224\nX = a100d410ce497e991070285c439cd361a1a9c6c973fd6f5e1ba9ec66\nY = 0a8c3a2f909f212c84441b8c0030529cbd731304d86f771d89d7cc29\nDigest = 6a02c84186eb132d8e91ab6fea2e066f6f8de1a5\nR = 1bfcaab01e47addd4733369320364ad208169ffb15e6aac33c2d7c06\nS = 07fb33465e7b7b373feda2ea35ab7cc9477156a1335ecad942f99627\n\nCurve = P-224\nX = a6cd3d14cd5eb188a9f59d9c32e93d890558de382f6fba5ff5c6e395\nY = 7a76734a0afead9e5e4aba65f1ae353d6445b1689b5ea402de5f9af9\nDigest = ab1205b7f9f591a013c70cb645435b38689644c1\nR = f0f670963c3d2a3281d639f850f3781c6402d99a1bf07cd9f35b2975\nS = 758e84920c1b744502cd787cdd64ec58364ccc6917258a2580097492\nInvalid =\n\nCurve = P-224\nX = f5fe7875a517207f1336ec2bb4fe5cc7eb80ee2b0f8ebeff4c56e620\nY = 0b7ac24ea9092d03b28904d89714b517be023235abc9cffa297cf4ad\nDigest = d62c7a42fcf3738276a6e0d27160328e9f27e5aa\nR = 88617e694e361d2cfef6b0658d444607fba030ad31fe8dead14db22e\nS = 5b0bf37c4a583dd75d99aec20943ea02617cecdbcd295d35ed01cc32\nInvalid =\n\nCurve = P-224\nX = 8a6a77179ffc0ff5d412cf859cc82aa19cd18e5224ab997e9c2e46b0\nY = 3d67c177ca7cc12c7b05a3bf55fb78549ef5400a566efe8ae3580c9f\nDigest = 0b5a025a4038b6f9f995001c0b8d7a660e6766c2\nR = 107b7442e6569ddde54b5da55a9dac9bd348079358047a19a3de0b91\nS = 92359be39353cb263946294fb728eecf1880f50a43637f391d3e7824\n\nCurve = P-224\nX = f9f23388d573562f29e7e7c9a98f27e7a1ff02d2d66e177c6506466f\nY = 4545937caf1878fbacc34ca38a0e5e1f6ad2b25ddd796d06c8d12351\nDigest = cf670c7589b91dac6a131fe2e863e86ee790ca75\nR = bc1db32e437c67439c27db1dc607e3c505210c984bf707a8e87abb70\nS = b760f4943a2397311e54e888a1ad379ad9c45d1fd09b5389ce1a00ee\nInvalid =\n\nCurve = P-224\nX = 8781e5a98950092570d685964e9ed27760fb7dcff8d3b6f3c8f77151\nY = 9207cef64b7c2ed181c57337001f45f1e800e0d1bc8adac296e454b5\nDigest = e5e5e8c8b3f7146c72ef86ca1b75f422181b5729\nR = 79826ae5b0297b9404829df0f02bbb7b8acb35459e13a4045c40f242\nS = 2a629dab19c9e5cd0a551a43851fe6d8409469f86cbcf6204b41e5b5\nInvalid =\n\nCurve = P-224\nX = 03c78c532b8767784fd45e75027abce3371181f8f54914811588cbb2\nY = 166c7b70e98fa11ac361d827557676ec07e553370a462b4fe502dedb\nDigest = 270606c9c9b136ffada9588f15f9786455369422\nR = ff18b493b166d832c9c25ee491525e4c188ff2b804e38b5964941c48\nS = bbf4291db484b4e4143c01a284c03543bbdaa2db1f1c571f1e5a5e2e\nInvalid =\n\nCurve = P-224\nX = 99fab11464484cee96d72dfcf0327d671787a2f6ee32f9b184c48fec\nY = fe8ec3d660cfa3f3e09e5cfc2c3298d4de2f464416deb5b4a27ac062\nDigest = 9c77c796ba619aedef68b2d30b4ba00c4972488b\nR = 714c48c143cb259408c04f77a38d6484e788cb268fc9789d5e871491\nS = 542793d5dbcabcebc83a809cca02b8e95189c93fa4e330d66d5a62ef\nInvalid =\n\nCurve = P-224\nX = 014e8e57388eba32ebdce80df60c481e5c7758374f90a92e0a82f1b9\nY = d1aa8418f992283c5b6bb0461f05dc9103050dc55e0265e1c99b935d\nDigest = 82b45d1fb3bb502c7c20ee1e2d63f2aaa9f492ab\nR = a159b83e80e656f54f614e8437821bd87f6f13264ac8eca1b3ddde29\nS = b77b7bc8cf374f012ee15f9f9224a46a560a5b689cfc92ca4fa03459\nInvalid =\n\nCurve = P-224\nX = e0b9e3cadca81311923d6d6adcfc326b62fac9c4b8d61c5f960c88fa\nY = be505338108f8d3f0ee80aefa304d51dd4a4035477934a98a6111403\nDigest = f4da99fee346e572906e6dc8083a3d0c2e09b773\nR = 8dba585dc3312056a7be61161c7af8ba8b538f0c125c80cf9af2682e\nS = 1b5b1adac4d66c7045f3f79c3aa154a0274c4a994ac7a093e2482eeb\nInvalid =\n\nCurve = P-224\nX = 29197e94a3617e62d9999c859640871a4537a073ca4f12a4c324dcad\nY = fe198969ac7cbe49df2c61c4cc6fa502c2207a7da10acdccec7b1cad\nDigest = 58fab970cb7c1f0dac21b7c7fd67d0ad169688a1\nR = 261670b09afaeee71c590c5658e3f57d859b18a887f70fdeb90e57ea\nS = d1d12c11cf7f4a9dd015ead4bd245793cb37ffee1f4cf109b7b68394\nInvalid =\n\nCurve = P-224\nX = 0fac352c1c444435e6aeb1d60f28ac773b0170ae902afb0944ef0a12\nY = ac3ca693a7c5347a074808b43edea94059e2b1d0571d935fde3f5841\nDigest = 4b69dbfac12f1b974566d8170d1672d0f5fc0506\nR = c33c7a4de313ff856d2f51cd9e3d173bd10668c296f0e6b208c036ef\nS = e562d30822b5cc69713a57ce8c70f83827add85a06c88109505ebf7a\nInvalid =\n\nCurve = P-224\nX = b0d4298e998b7d9d4509322a1ac974c6180956533debafd3d9e7f2fc\nY = 185a64ca840d4b6a2800e72433f26dd523f97daadc18d6d01533f0ad\nDigest = b84805c37e76e530729ddcb59a68ad69d40c82f9\nR = a5155ce53050cbfe84b67d62ce118c6004564087f2fe1cdf44e9c945\nS = b6894b050d77a3ff4d191ddc0c9fc7009a7472e31739949193d7cceb\nInvalid =\n\nCurve = P-224\nX = 59996a4a06658e553fc2993f0f55e3fc8ca2cb52d30f882a37729be4\nY = a5f68f26ea6608fd1f350d8da7c187c7e70f23363177a5aa41508fce\nDigest = ef0a69578d8a1dc930803a7ad2a92c3c19ab6513\nR = 704ef49e0a43c61ef5b325899acb9d12287883a849976c8b9c950634\nS = 73da6e3a26d5c512405fc09fcfdf650dd8da748e6c3dfc05032d7a9f\n\nCurve = P-224\nX = a0cfdfc5a096b0b23ba6748ebaad17e60228b204aebdc01057a7154b\nY = 9f6bd5369d21d88d7b5c3ce221af530fb9a8fb91e751cdb855ff32a6\nDigest = b05f0232e6d44151e249e7b75c7c9ab05c14d44b\nR = d68aa9048e84b8653b8ff3ab31bc73884c6ac7df1fd1bd3c38c16b0d\nS = 38ce58afe5fbc6af892e06a4ddd978c745d5ec700cab825c11dd8fd1\nInvalid =\n\nCurve = P-224\nX = f1eb36b3e1c96a18d87878d5fa8b79d77afce9d2ce40d26199f33482\nY = ae819af474f3efbd62401a407036505c5a2d60449274593865de3374\nDigest = 1dd27c95dd6fb3f080afebdf5a1ad906502e12ab8f64e5f38f67c386\nR = 003122e976bac378c06ec95fd73290b067e7ff022d23493c40663ec9\nS = b99eb4220146a282c7a34f98a9a4fa38ed3f48ca2c7983cde2d3235f\n\nCurve = P-224\nX = 3bdcc7c6112cde3c0522f1a4863f1d7b6727c5bff67598ba2f1bafc1\nY = 47acb6b254e0e8747e0039de471d0dda443cb09a592c678717d83200\nDigest = 19b39292f4e862ed3ee90c35e709587231191632dc8b35611dd24abe\nR = a5aab7768f549f8fe3c7e650154c865b71ea5089bd6303bfdfd19316\nS = ee4989c4b96bcc802464fe44b2adeb1b3506755a3f4fb3f9252bf21b\nInvalid =\n\nCurve = P-224\nX = 6d5bacf458cee3ded627d0ff14fd2aeb54fe1455d6daaf7bb43faeea\nY = caecc8d3967ca1c8889607e9ed975b8a335a17c0acbcfbfed721ee1c\nDigest = 328ab7d2a7c56d09cb72cedaacc23a6da46d5cf984dfdfd16af60964\nR = 80e7024bf30ecddf7a658785ae51cd6e5a23963c89ee96a82346d889\nS = 561252dc8d9280fc54da0046da494fa5e4b7aed213923e8b894a1ae3\nInvalid =\n\nCurve = P-224\nX = 7f9789c729355516588a5c75cb2cbcf85a14c35e14a5d03b4ef920d7\nY = 49e95c49e62dd20f02ed16594f35ebf3415ed50e6efdc0c548101a9d\nDigest = c5bb2d7ca9b37af1f4bb572ae6b6e69e8fcab9ac1cc5a6e1b6d1f8de\nR = 3c7b664413c2a0e4682a9d1c88243a96196fbd03f72cb873b9bee8b9\nS = 8f7f81ee9d3a2660ab1d666bac6cc434143ca9b04ff638ca7b4aa1ea\n\nCurve = P-224\nX = fd3efc7108edbe155adcd8686d8605e811fa79756c7e2dc8c1c04212\nY = 59edea73a4e5f91541fb4cabce539afffa85b6b0113289f049ce60a0\nDigest = 562d1a8fa642dd8bbb4f4801f2d9fc8cf3452be916c0ecd6c8ddc4fc\nR = 4907884b8b7d0eb9a7b24420f69c58e3a17314e101da0280c0ceb130\nS = f7629bed92e5c40f35d7731912fb45a3cee06eab3d409a62997f2282\nInvalid =\n\nCurve = P-224\nX = 8b3f3e31d9c8408a39997455ffe0240fe128a5f1be9b3a33a97b0910\nY = d74ac6ad8de2407887c335bd66f684454dee175a2af713bb334cb3fe\nDigest = b57ffce01c72221c6714e4a38c76746c45a8cc685f37c55a69f6773f\nR = d28ae763c22f50ae9ee9fbe5bab682fd8d820b99ab70677cc46624f7\nS = d9fa54d0300a6ac74936e7a47fbacadcbb4b25ae3a5b550aaf53991f\nInvalid =\n\nCurve = P-224\nX = f4fd02f3d224727e156a2cd7543483f3e35eb65219e32c7923f93ecf\nY = e7aa734828ef326259f98e0e8c3f30b62bd3295c6d1af2c429a087f6\nDigest = 8e70efc206d69d1bd1dce263a29a56030ad5602046bc61848899474d\nR = 9f57e28f69d2ebd96f6d98903156a4e795730e09fb67963771b0a851\nS = 8cfe716488479e04500c8eccdc86fdd54ff00258639f7177169e2030\nInvalid =\n\nCurve = P-224\nX = 0fdb8faf52d8f46229cca1e0f22e869a91bd56eb6dccc547151f9c68\nY = 96c8d1946528bdd2c14c3a0a9c17a088d3f0599752d095ba9de9ffa6\nDigest = db452771046d4b64ba673771b49df905881df9c4b6a1292a11f87515\nR = c53c0ce7d408278552a5fe5854c05641cbe93b1dc18eff1c68af53c1\nS = be7453a12693ce7812fe58746323882bc14eff972480b49431cb10b3\nInvalid =\n\nCurve = P-224\nX = 240431da69703b32ba2ae501d2458b355b66170725806b45996db195\nY = 13beb5198ee00abdcfb2cc5454416d4f7c795e97a14bd93cec3f0a56\nDigest = 3598d7d7b2cd9e482fd3bbebb9ae4549a4b452c81b89f3da6f6f2e85\nR = ad03bdf64e3450407a2a977e1985853d6ea41568c3a394d696de6739\nS = 7b55db9abf2045e2dc7ccfa2e8fb501883c494662d400590c74d100f\nInvalid =\n\nCurve = P-224\nX = 8c80c86f91b1e330f86f5177fdba839e625a27e8531f232efb10a484\nY = a24deab897", "8dfe7398f7a1da0633ff7cf5aa7b7365ce2d840ce81c80\nDigest = 44603667b2251cf051cd67b927714d67a25295679d884c4b79099a80\nR = 0c422b292308f31af78b1261d12765cced1cf96a83a6bc3bd90330fc\nS = db34f4462d0bb1927cc99273dc92d3fe654c85a3b53c6d74ed900621\nInvalid =\n\nCurve = P-224\nX = 3a5d1b7ee6749630c9619789b256f6bad5bc4b09950cd53b78d5ef30\nY = e85c7ee707df680eeb5fd78451f7302ae653f96721443826096f62a3\nDigest = 2ed9e7077df2ca2f8a96dfea2127b1b34147fcf963f9d73e8aff9df6\nR = 671ad280609364b0e26c92b13891f677db7c83499d0a3d7b6d80affa\nS = 7c4b9c5a3937d540ed8bd59e340c13f02313445e06b2bf7525f5726a\nInvalid =\n\nCurve = P-224\nX = 350f59509abc9f7f9b35a8b80065258727a8ffc27e6dac635ed68900\nY = 634fceae493b200cc7680297fd940dd86a5111da14bed68c797ef254\nDigest = 012a6edb0064f2b734b0297ab924efcb0e653be9e6ae97c371d59680\nR = 13a302b200555a0e80584e6ede32c0f9c5a199125b219c3e8d0fbf96\nS = 13f1d7b0c87acea6290cd9d36f1820f546f83dd8d7d9abe9da5812a9\nInvalid =\n\nCurve = P-224\nX = 1fdb820003a2fe61deef2b68b92ac711abc76200c534ec3abc99a187\nY = 32f87d0554b6b5e389311fd3c86825fcd42654a0b6f5d4d5ba73031b\nDigest = 2afe40d5042eb4020b14053e9ead6774d566e0b536912b7de4450090\nR = c03e551abcb12eadbc291b2d5fdd53bf725b785933e0766969f0355e\nS = 94826a8753cb949e0199be3220b4f90318f1c835cdd67efc50df7fbd\n\nCurve = P-224\nX = 208dcc6c87e7c38bd914bc9b350602ff62ac62fa4fd633c1af5b8cd7\nY = 0263587c7692c8be1f78de88ed6dc99ce1198ecc53a77ae6cf98a323\nDigest = 3f95e73294defecfc125a2dbbf322d31f323c030adf244c07a7c8746\nR = c12d3b396e1a894dfe4a28971ce4983547596879956504e1a3aed75c\nS = 067b729ca23be6cd520fbe9b972b9bb3d00c9ee96832a5c35e20e0e0\nInvalid =\n\nCurve = P-224\nX = a66a652fa36413dccd72c83febedda051182dc5758a1466366197f5f\nY = dc813a79e0fc647d8892dcf4f2132c90914a520cbbad65f458ee0fae\nDigest = 8a8942761ccd4ac7c88c4afcb6bc69d431cc3d10e6ad7a2b8610892f\nR = 809d1b4557eaf36b6eab3449dad56e61d572bd8b63d51b63af1b0bc6\nS = 8bf88226a463606ab57c27ed78f1b71ccd61732fa58b62ee845fd3dd\nInvalid =\n\nCurve = P-224\nX = 8856fb8b81a4eacd971a954560018f33cbb71cc1fc243d03f63cabcb\nY = 28afa26baf31b4d89de1dadd2289006f836f23a11383817ec7e4e799\nDigest = d8454640ad1f4632cc667823418ae56c62028825d727adfc84afdb0842b0c9a4\nR = efccef331805e71bbf876cbbc2342a6bc4508aea7c691029c8396aef\nS = bed544d09e28dbf01a30b2cfb61b98ad6201a9818f22b4f543f3e7f5\nInvalid =\n\nCurve = P-224\nX = 34c5ff3de565b85bfdd9f0a8b3fb0d46f924c57b276bcc830a1ed580\nY = 609d22200ef38b410da77f7a8ff2f58448188042978fd9ae1b2b4477\nDigest = 831979405db4eb9dadf01249fa15f68d4846e0ece70a320d3022f75f3dc281cc\nR = f0138024fe0516738f3bd0e0fec10defaca8c3b89c161a77489cf2b7\nS = 4ae0934266d9e3d64c2a12f546b132ba0f33ef50abc90e7ef5974805\n\nCurve = P-224\nX = 465afb14f4bf85022ac1f635f46c0b2f6548bace9352d32f74eab012\nY = 036371a3246dbf1069d2d268ca431553d1f2bf0181225145881b7be0\nDigest = 489cd3c10d94f7f284bc4ea472634a5d7f0d280d5abbf139c110ef80c8bf463f\nR = 9bcd57a2fec2518903e4b13dc0a7b84bafed5c4908546e94ffae87ed\nS = a337e06582f6b3973df38b93a0fb2a63f7774b62db50dba557e5cfcc\nInvalid =\n\nCurve = P-224\nX = b8b7f923c05ec95ebd484db7c58d219cfd26ee6b66149631f25ffe4c\nY = 6bda5f4f988784555a80b5494eca51ad2c7f88ce94d2090ee0c76fba\nDigest = b100feed0121d9d0471e5bd94a659510c2f84e313f476431deac17ca6d87bd79\nR = ce4d86bf5a7543d1cba8e4470a297e9a48d0096d7788c6284b1c0af3\nS = 229eb0636ee62508ce3719396d7577ed892cec70a66857fdee0d1fa0\nInvalid =\n\nCurve = P-224\nX = 13e84ec2eb993818d7d78330855ee2fbe8ddb548a5e4198e2087b3b2\nY = c95dff249e10c506fb547a92ade53c61ddbb667c760e4127a1a7f806\nDigest = 21a9f65d4cdcc287e0bf330e4f76f1168d16d0cea796dd6c0e13cd2837decaf1\nR = ed26f00ed696e114305c546ed04db5fc35efa43059c0d8bbcd418d0c\nS = 6e16efbe9501e3055d74966a49232cd76b5d1241468788b4cc7378b4\nInvalid =\n\nCurve = P-224\nX = 16c23c93699cf665a5da8b2d4baa72c36158d3433b1b945e47204b0d\nY = 12023703e1b59ec9054ff22d15567b9f74058b47cc13f2ca08ab77c1\nDigest = d62496d0ee0453e7f13f8d9c57adcd33442a5365f626381ed665f95f528aa198\nR = ada849b673a1bd2949a8b4d8fdfc239ec53524a356d37da3c9d17ae2\nS = 698de3a3d8697c2e8e5b2c85fceb8796750c5b44154f01ce86d99e24\nInvalid =\n\nCurve = P-224\nX = a580f9a0cd15abff8e1e712f16b0fd4142d0d773af3c657abc06c2a6\nY = 22c6286340dc072e64274209eda60503047700571caee64b4a2306c2\nDigest = 25ef291dd6a2047ea193f8aedd3f4692f2c135cb519922a17cba3e969423b030\nR = c6fae06274dc052e482102520b49d4ccc4cb7eb8a3ea41bd3680ddad\nS = 50d66b75a2bbd0468be1f9e61bfda85b6329505b0134d60846cbe4b7\n\nCurve = P-224\nX = 0b4fb6fe5f6cf6adc7d28683628d4b9c569d21d2397533f5bd121a23\nY = b44d60a3414b9b7b6e4ad735ce2f9cb05593b0874ada5e65acdead4c\nDigest = 7d53ebba0424c4b6731806407f97af4af863a5a87c759626830c9e8753ca50fe\nR = ab5ac2039b49690c6436793decb1a6a58ac34833a8091005312a93a7\nS = 98fe955cd836501cef78c7a05fa27edf2fb3afea80990028ff64e984\nInvalid =\n\nCurve = P-224\nX = bae2b3634c7854c932551ece8dced2139a51705059503881a9239c78\nY = 094d5e455bc9296202618d7022512b0f9ce53d796c7294e6eb076a29\nDigest = bb5c0917ec5376b2c685f3a530a9f8ef1ef1c1b398ab66f479d936cd662efc1b\nR = 2fbdc7e9e98aed5dbbcc5b034e17a95209e2fe1b01515426b8b372c3\nS = f2b19226528f10be6ef0d27ec3703db690261206b7e42f93a691192e\nInvalid =\n\nCurve = P-224\nX = 49d9ff4f4bbd4320b6806a7fbaaedd962283c766a6c130e4b62139dc\nY = 06dbe8e7fb8fccf9758101ae46939c6fd4d3afc526ba6c8156c6b013\nDigest = 9a113d3d73543e17faba847981e0b7fbc5647e547bfc989921ddc987133692d1\nR = 2d83aa59bcfc8a0237884826e08dbd78a56733598e379f2a9d51e9e2\nS = 485036c74618d0e665775fbe2d614a313c550f9826b955d3e5636fd1\nInvalid =\n\nCurve = P-224\nX = 78451cca49655978b65d8ddd45ff367c47f321f5d55ddac7969ab82b\nY = 25b77f820aa9ec93ec89d7fc84285f3f3deed496e0cd3fb9ee4a5c99\nDigest = 352afd36279bee1ef5727c55c7428bb79db949a9f1953eb98cfd38c4a4a458af\nR = 998789490e008ed11febdfe2981a55c733eb9739d7f37fd5c2a7ec96\nS = c3ec8afade81860ff23cc1e7d759d32d9a5775886ef17bfb719df4aa\nInvalid =\n\nCurve = P-224\nX = 18ced60b7fd9ebf76c3aa5976dcbdef40bd3e36033c013553043dd84\nY = 30398582dbd2004064f8055e7fe0fe8df11b2c9d9e2931ad12d09628\nDigest = a1e3668af6307f6a2b7414079e73308ee0836b588b92a48bd5baa9a62f45b0f8\nR = f880143960e812464810c175001b5d39592fe63aab544deb9ca301a0\nS = 1e0657df071a25dd791264b411c8964688f4fe17ce024e659836ebe1\nInvalid =\n\nCurve = P-224\nX = 5d67c1fca848ba7f3d9de5b1894d3993ac4ebe68cdb0b49553b3b0e9\nY = 07c219a8323273c81f5694306d0dd1d133a49efce5003bc90f05578f\nDigest = e8f714f901cd2390c66f9fa9cb81ecc5f17a82bd934cf19c5ce2bcbd3a985de9\nR = 767cb6b2efa7a40739830659b0cc24fe3de771d00104b3dcc0f640bc\nS = f2e7268bc011d79d33f3551d2edd3c95f324955479b8e29e8aba629b\n\nCurve = P-224\nX = eac72b399cb791b3ed25cb0a49eb157e69603197e0327eac5448680d\nY = bdab3a2270066e74e8210eed7b5d43fba1e26845b6c037a8a7e2a13b\nDigest = 74aa7c8f25644514582fa904cea1ea88a0b262ffca43cdf6536ad97d8550616e\nR = 55485947e9e3c194a29c8ecaddb18eefd16fb6919aeb0bbbd8c12369\nS = 6309a2cc7fdd9eccb32b86d5577aa54ada79899a9645f2e299630d31\nInvalid =\n\nCurve = P-224\nX = 17f741267bf3e8143046707d41eafc9555953fe5f57d6c035452b232\nY = c667554d9a55fc8ab1062203dcbcd2bf9769c696a295350cb28aa01a\nDigest = 3b997a1c220593cab4301e07886db745436911b8abfd9d1b03cc12e1c7fa4510\nR = 57408bfcc68e60ad000eddbfe6eccbe5f87b98c95de0e0a2e065da92\nS = 51249bddc149f0942be001b2f3d6f6d17a0cc36fefce147058944667\nInvalid =\n\nCurve = P-224\nX = 3297edac34cb802df263f8d366f62a8b746c316adfb1c84a1c79c58c\nY = 79fe82e87ef5879c12eda6adda198a662fd77afa6a1fb5696cb7da9d\nDigest = e71dc3ab7ce73995d053bc6361bbb3f20e39ec2f295d97fa2bd229ed31a56dde6bf2c9cf6b0a9cc7e65962c57f3662a3\nR = 9993defdcf83965723c03e04ce6c33b3972cef3c449cdf1bc69990db\nS = 553b22a4164549f16aa1a928eee74548fc141fd3c16f213318965974\n\nCurve = P-224\nX = 2bc010527ea7427cedd213aeccf0c62dc513785888c6373740139d8b\nY = 2e9eb7ddf027ff7678ca880511be147098b34d8e77acb4389fbc6e50\nDigest = 781195b6396344146fe8b73a2526b4b1c981d26b9adcce0123176be1239f798c847495fd714661d1ba8e41f2ccfd052b\nR = 70a7cb04295a53b4a3a695ccb5d87856fe9152fce11987d4c43207bd\nS = 49f4094368f2de9327ca2913ef940e17c5801e8f589413838831083f\nInvalid =\n\nCurve = P-224\nX = 55c6217adbefff6e21bfb5d1b75213ce7b20c900d514ee094f27ad0d\nY = a68ae9f86eb9c10de3e7d9b03868518f33f571f85c3529d2902575d3\nDigest = a318b24bbb5ba46e6656f8ad68201c024e7b3b3849d6a70f3abce8c20f5b98ae43a326f5f48994045f0ff27098837b5b\nR = c073fba87267b45853e693910c1de791908ca7a25c1716ec2d3cec71\nS = 6138c86daf1021ae4af0faaf0abd5958f93944d5b0d82c40214bacca\nInvalid =\n\nCurve = P-224\nX = 4d0cab0dae88fa0cf53a2a6562934e0cf", "0271cc7fe54a30109a232be\nY = 70835833cf9e1f989a18d419e7bee9eb5cef1fd145cf62c4411c372c\nDigest = 6abbf2557f2e9b4e020126f4a87fb0262a1ec59bd3b569581048c5692f8a1cd381ee9c3cf195fa1a362a87ab604d79b3\nR = 3b8548eab4dc123e236133d826f2badbde96f92249f456e33ccc9739\nS = c82b2e41b9e2b21594cc03b1c0de216f183403c6025e18bb29bff421\n\nCurve = P-224\nX = f55a53b818b3ec4b4402a2c63429c1d78f2cd0d8d202e33812878a03\nY = 5a2b1a00615c56b4313828bd70526b12f402df1d40fa4900c994af8b\nDigest = da8d2571bea9840494a41f03c6c357410de030a7b5c023a0487020bb5b7c45fb6c5ed0e3dc66e4c0ab8460d9bda68c94\nR = fa934f9fdb765fabb5693ccb1de4177f172a8de108805a48f4bb989c\nS = 12994f2a26252742667044a01b509b0f315e8141629f760267b850e1\nInvalid =\n\nCurve = P-224\nX = 40a5c52dda7de858a2c17d12856c552ab820023336b9b4fc196bcd67\nY = 301e5368f59c00f15e6f3a91510444fb75a4ead8efb0778b4419e7db\nDigest = 0f88ea2d9dd40c19cd31c7a7cff71379431c9dc0a3092041a5fcbd2c20a05a8cb6e5a8aa143f1dfa169d2eaf87d01e26\nR = 0fd8773fac425a2761b954c946020615336d3e350ae40743641917fe\nS = d59f2b806ccecc444f9387f511c7f9926fe7f045c0ea633a51b7db47\nInvalid =\n\nCurve = P-224\nX = 372a134eec0dae3322de8836b89dde11a69e0379a60b10343abd478c\nY = 65921970ca8cf5a75f044db0e29802afe1726d18b3e07b61c768c242\nDigest = 1547d49d33566f8c05f68b9a980e113f919bbdef8d6d53046456a2c2ebe27ad86eaa52d05677fadd5ccc3e84b04c0f94\nR = be6474845a42fd4e85b91238f1e3ba11cc88e216d295c1b07d855987\nS = 2724242ffb5775f614ee06eaa4c985358f64869ce4ae4bfb16b5271d\nInvalid =\n\nCurve = P-224\nX = 9ad2cee0d92b00b11157a18fcd752f43e772ede7a46475a50e7ad8d2\nY = a6edfae6c5589dc0db6353b8655fe3b0f7dab2aa8400cbbd72d1a572\nDigest = 60942be3ff8d2370481b04fa07743482e08a61d3724010d7edd49bcf12e1463ae059696c825ac0505f079625b95310a1\nR = c31a40b6c245572457a19efac0da0db22b2a0818de716b6fdc5bdb32\nS = ed8204de94f1d92ae3fa6e10c727eea38d0e12b58133fda1a15559bb\nInvalid =\n\nCurve = P-224\nX = ed071a20d76f81c776875f8d3307841d33b70523ea40abd691d55d21\nY = 34ca47d8ba0a984d0d728c4d8c6b9aacdded03c6070616680aac162c\nDigest = e0776a80c616b8e596bacb0391a19956b2f0e2c566c50dd2ba99f9e59ff3dfa6197622c2a64cb4d02780a39c68d249e0\nR = c7a5dce4733a81bd738e0a6e0667dc1fade86db119e7f3cde57d6dc6\nS = dfb7f43343941cce331be27047b131617910f68393630fa53d137df4\nInvalid =\n\nCurve = P-224\nX = f51097e1e4b4f3b32e92fded0b4c8b7240a62731292e615a4cae0dcf\nY = 0549003f18e67076bc68110a75252072fc29b6d4a336d152dac2c3d1\nDigest = 48803bce00fe101650dcc83b290c49a524b21422f1f6a3aaa6e2f201863ffc355346d167dcb0ac552007a46cf8d6e4ad\nR = 6875a118dbf586a51af2212d5f32908c9f31110e9e9a7e4cdf7494c5\nS = 1542ab4260459e82070bbad405193a1894ce717af158daf1d096bc01\nInvalid =\n\nCurve = P-224\nX = 5255e4fdc816044389e9c6f5e09b85aedbe1c85b1cf9b7190ef7c2cc\nY = 683c8cb6f31e4cc1e2a5361eb47e305d5d8bfeaf94e261a341aedde6\nDigest = 995229c018cd0ea061672c46ec30c99693fff1cad491b13b4093df0154872adf946644dee6192657b436931c30b7af9d\nR = f1b0f8a3fbf7d4de19cc1d3b4c525c31bd97c2e2a94eb8a27c7c197d\nS = 936d3f49a9aa58935cfe227b22db83314ffadcc4751c8e26853d8cd0\nInvalid =\n\nCurve = P-224\nX = 7cdaf519f6b1254cb8da4668a2dd2015857ceec17f838c15d7d34b27\nY = e29f80fa4f830af7737126d4454b6498905e2c633fa61ad6acb30823\nDigest = c7d8d1f060287ec402092be54ca6e06895e91f9d0c29010124c0d9bd54007d8039b7328ec7b3a29e1d5d4d8fb78807e4\nR = e640f3e676a11007e73efd00b23087adefc9b9407ae8b79b47c397f3\nS = 66b7860a0ca35c2f1c65d50f99def9f2bfc0a6cad2008dcc38d6b3d7\nInvalid =\n\nCurve = P-224\nX = ca1a04f08708ae714b7dfb3db509970d30b7e01be7fd6181613894a7\nY = 1d90a2fcda7dd6ce8b207eef48340e58cd439a3ce17658f6f82be778\nDigest = 1f710f925826bc33c0da91798cb7d7d0700883da685a1fb9503179f0a06b589bf92eb4b67496faf21cd74c8e3d560d77\nR = 9e810ec2a0bc205df6a75bd6410e0c8ea1c738e71af060e2eb271aa6\nS = 9d05eeb46258c468b0398cb6e421149bbea5ed936be3fde3380111cb\nInvalid =\n\nCurve = P-224\nX = 558c323d8259e055a025fbbe6ba8b525b02f32caddfd31e5b08219d4\nY = e1d6398b1c47132632cd3f3fae14fc3ee3092faa619074fd951a5870\nDigest = 4b662138833a976051b20ddfb02e67339715b77046bedeb1e30b9dccbcd84204e76da722bb3bd020fbbe33a182792e0f\nR = 05d8b0bcedf287a4740bfc548570b1c1fff71058e0a9d88476bbb6a1\nS = 769321d50e34939e622a727855501e25a7ad44ec979985e7389aa3f9\nInvalid =\n\nCurve = P-224\nX = 9237e61ad9ffafc61cc1c72b6d2f96d69b588c8feee4074359f694f7\nY = db25a18f1eee72734c640313f5c6c0441358611406cc62619113b4ba\nDigest = 4e7bbf78843a767536977b240e9d1516c73c0fa19bc91448280fd85361b06fdd11ee413f956ca4ea3d67c0e325a1d53a\nR = a58225b10080dab26644f10d8a817ffc4ed4535011729491b6ad5d00\nS = ddbc010e295882e0731ff240f15ed82fa3e81b7552c690cc5b40be03\n\nCurve = P-224\nX = ea7efb9a7e7bf693dc0249504ead70dd422ec86806cd649ed57a7ffe\nY = 33dfb17b1cb244279990019286ab477a2aff2b55c08959deed0b1a28\nDigest = 330f78db9f217f95d99cbcb5414a32523025b85c87ed5aaa3a5e6b006c53cecbbd446166bb9b98e944626332c3266e82356e72110bdbf7df2431b8e7faf59e45\nR = deab574de1f971419b7ba9e169866c3a6233fc627c13dc6a8cb88bdc\nS = 8d4c542bb0046da1b3912652a2c84542668cd89920808785d04e4352\nInvalid =\n\nCurve = P-224\nX = 6fce4d789b1240f2ab1c23051aa03e219da99943a18864e7876d4d11\nY = 3e84a6bddea4a28cf8151ae73aa7b1964c37e654241353a9fa723f67\nDigest = 0088e4cbf3eddb6eaf108fd3937c439684ff8fe5595f2032948423a2a15811b34b0def245bed3b4b4ca90d3f497f3aaa2577a7154d22d7254dfc4755eb9b7b17\nR = 2d1b4f1ccaebc0a929598b650ee364abfd6091a542ba426886d75f38\nS = 44f3d7afe84ae33ab5f9426dfc85248ebc7e0df434d35980ddec75e0\nInvalid =\n\nCurve = P-224\nX = 72013dd6f5b1eb709b3b7da234987f9a36c6f0b095620b8c31f02381\nY = 319d54c719b59d91900b3c20d963ddf1a10d80d6601ac155094b075a\nDigest = 3cba2980faf5579c7ddbeb31c3318a162a882129a1efe1fc9acc3219a617c460701f22fd7a5c46b017bd9ec9c40587127319ea14b148d2be4df9875d5bef6e4e\nR = eb38db9b757b3cf04020f09188c789bf0258cd0467cf7d67368e8703\nS = 7664e85f01e67881712b24083f89e838c8b818de4d665494e7016833\nInvalid =\n\nCurve = P-224\nX = c6a65011926eb64e02bf472d5ba37841d49cfb7f17a20fb9f59355de\nY = 386ccb33d944fd7be6b8531863d2b6200cd602d300d7e7681537e53f\nDigest = eaa81b1236121db12f2036611eb6d3e5386f5733125fb26844cb4188109aae402525fc63bcd73494c36c170d1934b108739d79b0c4f184bd85ffce93b1beecde\nR = 9e7c637a699dd52512faea847079f0ad41b20cd7a5461c36d01e857e\nS = dec6e9ef361de3f6ec7d87de3129eaac5fd0b43b5f7f58ce46c29173\n\nCurve = P-224\nX = 5bcdbaeb2f6c57e8a9dffe94804e74daaf9db8452d13c6a8bc2a4966\nY = a564072356c5d86200e979291a19d5e73d8bcb701cf84d9012824bf6\nDigest = 4a5de84f304f0c83365ae4213fee71c0944d8580f9d8e7455fc961e9f98bf3d51b7fc20aa44e36c0bdaa09e365767742e9bd8bc868d5c6cd8e1cd2ce2968e3dc\nR = c58436fb77aaa4468dee284e1220141ce9ff4426f75daadf5a898a6f\nS = 87aeee1229a50921d8e77e7e3478061f5c051097defb104a0455ed81\nInvalid =\n\nCurve = P-224\nX = 6c6a7deef8b3dee2eaa98d8ec877dddb460365968e63ffe5c249a421\nY = 1ad1715797b5e47c4be24d7ecb8141f1772344a2f643cc66fbcf3f9d\nDigest = f59946dd73887a1fb945ae3e5b44b574512e36dd7d35925b0bdc3a3f69a88e50dc6ebaaac86092679961a99d7ba5724363c5886e7c2cd566433c5a9d59e2515d\nR = f778faa2dc2cee7de2af0bbc4339239dc240907e59ac034464ce986b\nS = 2ac929588a8dc8785808c9d4366bd7b1a81e0fc5be0c63e62344c251\nInvalid =\n\nCurve = P-224\nX = 0ee33a134feae6ee1488bf10edf7cf7c318a2d709080a24818619b91\nY = d7d39536e42652baf55159847f475ded075385a3c1af5c3dcb17ee6a\nDigest = 00fc4992514c1053eee7facc5199161a2b0f69dad2770326371ba42c2c12ffdb4ff6bd86fc440dc8dc1354dad42ff0c2a055b61137532a62521b0f3508ebe611\nR = 34bd0407f80cb6fc759036e6d4522eb6da94874c92ce0f02d8f5f2ad\nS = 3a2dd970050ff990162e5702b06905d03e3c7bb2771050de6d84eece\nInvalid =\n\nCurve = P-224\nX = 31d3c62a4305c37a15e9102072e287a8e0ac027f9189cb9d87ecbea2\nY = 26449ca391af6a2a9f8daaa036f2c9044b336773ee48bcbd9cad59f0\nDigest = dfafbf96b70ead7e91dbf48b8efd062bf2bc0aac6d3e90a7fdf61aac13a74b304bcd0d0c23c88df269d45bdd31d50f0fccfc0324698af4dbcffef04ca05a119e\nR = dc33e8f7b52f584aa3f091aba10c2a9a23be6835e1551092652e1bbc\nS = ae84a6d19f6bad3f9886930c0a1406016fae813673db1516b31b638c\nInvalid =\n\nCurve = P-224\nX = a6e4470712df583d0c795237ff46c9df5718ba2aa24139a2d99721b4\nY = 9edb403a8c10807e8736af665dbcf6052bd4b43bcdc8b9eb8d4394fd\nDigest = 36cd6716cbb8b7f96df4617143be7b74f42bc94e468e79e6658d00b092e24d6de82f207693427fb439dd13bcf49665cac343ea35a79b5963cb21273094ce28fd\nR = 4e9ba5bc4f4fc4e507c1e5cbd0d688da4237385b16ff06601436d8ab\nS = 4e0450a57d802d0ea7b0fb57eb162267195bc4248a831a0ee8b0380d\nInvalid =\n\nCurve = P-224\nX = 350fa782e1cf7254b18cde30683e54edf2c1b4782525fd081bed5920\nY = a77de5b4139ff63e108b6fbd3a7e6c0", @@ -2707,15 +2794,15 @@ static const char *kData43[] = { "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\nInvalid =\n\n# r = 3, x = n+3 is the smallest x with a reduction.\nCurve = P-256\nX = ce24c99032d52ac6ead23c0ae3ec68ef41e51a281fd457808c83136d7dcce90e\nY = 8f7a154b551e9f39c59279357aa491b2a62bdebc2bb78613883fc72936c057e0\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 0000000000000000000000000000000000000000000000000000000000000003\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# r = 4, x = n+3 is incorrect.\nCurve = P-256\nX = ce24c99032d52ac6ead23c0ae3ec68ef41e51a281fd457808c83136d7dcce90e\nY = 8f7a154b551e9f39c59279357aa491b2a62bdebc2bb78613883fc72936c057e0\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 0000000000000000000000000000000000000000000000000000000000000004\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\nInvalid =\n\n# r = p-3-n, x = p-3 is the largest valid x.\nCurve = P-256\nX = 768a0d300a595005a520130e50927d403395c8e1e40be997b48fc048410f7cdb\nY = 16f217d8e1c02bd887e5de388a17783b182e61b5d534152dc2c4be8d75fdd706\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 000000000000000000000000000000004319055358e8617b0c46353d039cdaab\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# r = p-n+5, x = 5 is incorrect. r is too large to compare r+n with x.\nCurve = P-256\nX = 0ec505bc19b14a43e05678cccf07a443d3e871a2e19b68a4da91859a0650f324\nY = 77300e4f64e9982d94dff5d294428bb37cc9be66117cae9c389d2d495f68b987\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 000000000000000000000000000000004319055358e8617b0c46353d039cdab3\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\nInvalid =\n\n# r = 2, x = 2 is valid.\nCurve = P-384\nX = 016d2db67561bc126ad6c344d6eeb2713a9e2892c649af0f015c6b7617f160c8a3b3a88add669d7155025073c5ac5b4f\nY = 43bf2ed0088af08645c80aa0a24a567a94ba2d794e9689d3ad4b185bc5d2dd008333e2dd2ebb5069a9b32251a3cac71e\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# r = 2 + n, x = 2 is invalid. r must already be reduced.\nCurve = P-384\nX = 016d2db67561bc126ad6c344d6eeb2713a9e2892c649af0f015c6b7617f160c8a3b3a88add669d7155025073c5ac5b4f\nY = 43bf2ed0088af08645c80aa0a24a567a94ba2d794e9689d3ad4b185bc5d2dd008333e2dd2ebb5069a9b32251a3cac71e\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\nInvalid =\n\n# r = n-1, x = n-1 is the largest x without a reduction.\nCurve = P-384\nX = b5b375264c09acf145ca91d12ab10a096092a41ec43f4d718e129ea1c12b2dea62c7785efc52f46f009fb1dba133e811\nY = bc0b2af172b4b3068d032a798080e76f4d56f72069519e3c19a43682a41794e52cb3ca139348d6bbc923e6a4f7945cb1\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# r = n-2, x = n-1 is incorrect.\nCurve = P-384\nX = b5b375264c09acf145ca91d12ab10a096092a41ec43f4d718e129ea1c12b2dea62c7785efc52f46f009fb1dba133e811\nY = bc0b2af172b4b3068d032a798080e76f4d56f72069519e3c19a43682a41794e52cb3ca139348d6bbc923e6a4f7945cb1\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\nInvalid =\n\n# r = 2, x = n+2 is the smallest x with a reduction.\nCurve = P-384\nX = 01b54a697305092bac2939fb906d7471b411c4eba8654169166a5da3810e1fc96795df921f7abbf519be4a027435176c\nY = a19012a3518773d508106d4153adee43c3c384fa62ce36a4addea08f593ec9c76b09a6b9c69d29bd7d47eb48e167dd2f\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# r = 3, x = n+2 is incorrect.\nCurve = P-384\nX = 01b54a697305092bac2939fb906d7471b411c4eba8654169166a5da3810e1fc96795df921f7abbf519be4a027435176c\nY = a19012a3518773d508106d4153adee43c3c384fa62ce36a4addea08f593ec9c76b09a6b9c69d29bd7d47eb48e167dd2f\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\nInvalid =\n\n# r = p-1-n, x = p-1 is the largest valid x.\nCurve = P-384\nX = c4fd8e68006b83f7b7b20b731ae405813aa05f6e57374589b36ae1cecd1d49cae1418c22f398188bcf4ef02e89fe7394\nY = dd1164b3707f59e05129fa228b8448031db159985f035d93470dc42b3ab4129f0760c46cf201d42e73a7e33ba7402ea6\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# r = p-n+2, x = 2 is incorrect. r is too large to compare r+n with x.\nCurve = P-384\nX = 4e5e4f1a6e97059a6cf2f4e8129e5c7c64cb84f9994a41ff5bf30b29c1bf5ba6898627c91a23c73e05cd1a43c8f908c0\nY = 06a0aed7f1e63a728f87dbd5360a67571a076ab0b4cde81b10d499959814ddb3a8c7854b0bbfa87cc272f90bca2a2254\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68e\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\nInvalid =\n\n# r = 1, x = 1 is valid.\nCurve = P-521\nX = 00f07e0b593332d09ec4fd0bae93f648a3da04dd224faae3f64cc490ec8fce3a6fe53d1b2c9e326be076cafb921b7e3f8b2288db491819522d65472870668c3808c9\nY = 018e42509aca542a8de421589c38ba653e8cfd69322336217042a9dc0f67f6d7ae2cd4e385f480ffaf8981f715c7ca3765d9867dfd5a02947b0895f82eaf8b257e88\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# r = 1 + n, x = 1 is invalid. r must already be reduced.\nCurve = P-521\nX = 00f07e0b593332d09ec4fd0bae93f648a3da04dd224faae3f64cc490ec8fce3a6fe53d1b2c9e326be076cafb921b7e3f8b2288db491819522d65472870668c3808c9\nY = 018e42509aca542a8de421589c38ba653e8cfd69322336217042a9dc0f67f6d7ae2cd4e385f480ffaf8981f715c7ca3765d9867dfd5a02947b0895f82eaf8b257e88\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nInvalid =\n\n# r = n-2, x = n-2 is the largest x without a reduction.\nCurve = P-521\nX = 002a61afb982e49f030dd4e6ba0e495703abe0442b1283ee693fffc1b558f49f0a4cb4f138ea0604e667958495b86c61f358dce7e7f170da47372be3e4168408a260\nY = 01baa19e8929fc8e7208e854e706a3d7f21479d1f6922a6", "5ae3490fd5f52ae6580513b1fdd5bee927d002a9608abbb925b6727bdc110a3145fc8622d1fa8154c82d8\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# r = n-3, x = n-2 is incorrect.\nCurve = P-521\nX = 002a61afb982e49f030dd4e6ba0e495703abe0442b1283ee693fffc1b558f49f0a4cb4f138ea0604e667958495b86c61f358dce7e7f170da47372be3e4168408a260\nY = 01baa19e8929fc8e7208e854e706a3d7f21479d1f6922a65ae3490fd5f52ae6580513b1fdd5bee927d002a9608abbb925b6727bdc110a3145fc8622d1fa8154c82d8\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nInvalid =\n\n# r = 1, x = n+1 is the smallest x with a reduction.\nCurve = P-521\nX = 0049bbb2d3267a6eab2c59fac5b138b9e9c383db6637fcfe5d9f430e4c4c2ba0332340975448bd86c92a55c1a8288adf7f774096022419aa8c497499dafee7b93257\nY = 00bb52fd444ec497ce228135f2498d40fb84eb6f674df1245d3aaac3c75b55ff5fff8e90b6f0189a3132cb9fd8d6e74fda5866fe2b9fc7484c628fde97e0b00f2b67\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# r = 2, x = n+1 is incorrect.\nCurve = P-521\nX = 0049bbb2d3267a6eab2c59fac5b138b9e9c383db6637fcfe5d9f430e4c4c2ba0332340975448bd86c92a55c1a8288adf7f774096022419aa8c497499dafee7b93257\nY = 00bb52fd444ec497ce228135f2498d40fb84eb6f674df1245d3aaac3c75b55ff5fff8e90b6f0189a3132cb9fd8d6e74fda5866fe2b9fc7484c628fde97e0b00f2b67\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nInvalid =\n\n# r = p-1-n, x = p-1 is the largest valid x.\nCurve = P-521\nX = 00f651d53d45bf6fd55a5f184e580d11259bc65200387dbc1bf7fb867d2d12a207d2962204ccf38e9d37d23ed95bd01ec576c457127766ecb8ad00342a476ea82078\nY = 0196caedf64fbaa9a12c16836e0564e36f733957375706edb5f32911991a994c2d6a1ea5db2ee764835a9d6aff379e195f722b48e8d2b60fc50de2a5160c77c3f06c\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 00000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# r = p-n+1, x = 1 is incorrect. r is too large to compare r+n with x.\nCurve = P-521\nX = 009eeb7f956230c3744ca5b683f413009363107aad18a027fa7af6ac07a699911e94143d3ef00c0062d4187c2ea74dc9322c05431a6b7fed51ee71b047ce3a0e967c\nY = 007d2c089a6720f7c7886ce8aa6aeb9b821adde0eb025ef63c62d37c32b2d6823c857ce7743b8181c35c8f34e6aeb4487dd693e01d69dfe883c07c25ebe89bdc4d56\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 00000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nInvalid =\n\n# Although we do not support secp160r1, all our built-in curves have p > n,\n# while n > p is reachable from custom curve logic. Moreover, p and n have\n# different word widths on 32-bit machines. We include some test vectors to\n# cover these cases.\n#\n# When n > p, the reduction mod n never occurs, but an optimized implementation,\n# working mod p, may incorrectly accept, e.g., r = p+4 instead of r = 4.\n\n# r = 4, x = 4 is valid.\nCurve = secp160r1\nX = 39891bd61138e775cd012518ff00f59ae01c4733\nY = 25026b77b1c44affb1592dcf711b4290e9404c9f\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 000000000000000000000000000000000000000004\nS = 0100000000000000000001f4c8f927aed3ca752254\n\n# r = 4 + n, x = 4 is invalid. r must already be reduced.\nCurve = secp160r1\nX = 39891bd61138e775cd012518ff00f59ae01c4733\nY = 25026b77b1c44affb1592dcf711b4290e9404c9f\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 0100000000000000000001f4c8f927aed3ca75225b\nS = 0100000000000000000001f4c8f927aed3ca752254\nInvalid =\n\n# r = p-3, x = p-3 are the largest valid values of x and r.\nCurve = secp160r1\nX = d88d902a0d8d942333c7b846a933d4794fcb5807\nY = d24c4f405689b86cd5c61fe104e6365d254d5222\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 00ffffffffffffffffffffffffffffffff7ffffffc\nS = 0100000000000000000001f4c8f927aed3ca752254\n\n# r = p-4, x = p-3 is incorrect.\nCurve = secp160r1\nX = d88d902a0d8d942333c7b846a933d4794fcb5807\nY = d24c4f405689b86cd5c61fe104e6365d254d5222\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 00ffffffffffffffffffffffffffffffff7ffffffb\nS = 0100000000000000000001f4c8f927aed3ca752254\nInvalid =\n\n# r = p+4, x = 4 is incorrect. They should be compared modulo the order, not p,\n# so r >= p is never valid.\nCurve = secp160r1\nX = d8add22064027856c162243ab09ea96642975297\nY = 8822a506712385ab3ebe5c61737c3bbb722b06b9\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 00ffffffffffffffffffffffffffffffff80000003\nS = 0100000000000000000001f4c8f927aed3ca752254\nInvalid =\n", }; -static const size_t kLen44 = 9174; +static const size_t kLen46 = 9174; -static const char *kData44[] = { +static const char *kData46[] = { "Key = 00000000000000000000000000000000\nPlaintext = \nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = \nTag = 58e2fccefa7e3061367f1d57a4e7455a\n\nKey = 00000000000000000000000000000000\nPlaintext = 00000000000000000000000000000000\nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = 0388dace60b6a392f328c2b971b2fe78\nTag = ab6e47d42cec13bdf53a67b21257bddf\n\nKey = feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nAdditionalData = \nNonce = cafebabefacedbaddecaf888\nCiphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985\nTag = 4d5c2af327cd64a62cf35abd2ba6fab4\n\nKey = feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbaddecaf888\nCiphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091\nTag = 5bc94fbc3221a5db94fae95ae7121a47\n\nKey = feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbad\nCiphertext = 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598\nTag = 3612d2e79e3b0785561be14aaca2fccb\n\nKey = feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nCiphertext = 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5\nTag = 619cc5aefffe0bfa462af43c1699d050\n\nKey = 000000000000000000000000000000000000000000000000\nPlaintext = \nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = \nTag = cd33b28ac773f74ba00ed1f312572435\n\nKey = 000000000000000000000000000000000000000000000000\nPlaintext = 00000000000000000000000000000000\nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = 98e7247c07f0fe411c267e4384b0f600\nTag = 2ff58d80033927ab8ef4d4587514f0fb\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nAdditionalData = \nNonce = cafebabefacedbaddecaf888\nCiphertext = 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256\nTag = 9924a7c8587336bfb118024db8674a14\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbaddecaf888\nCiphertext = 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710\nTag = 2519498e80f1478f37ba55bd6d27618c\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbad\nCiphertext = 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7\nTag = 65dcc57fcf623a24094fcca40d3533f8\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbad\nCiphertext = 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7\nTag = 65dcc57fcf623a24094fcca40d3533f8\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nCiphertext = d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b\nTag = dcf566ff291c25bbb8568fc3d376a6d9\n\nKey = 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext = \nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = \nTag = 530f8afbc74536b9a963b4f1c4cb738b\n\nKey = 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext = 00000000000000000000000000000000\nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = cea7403d4d606b6e074ec5d3baf39d18\nTag = d0d1c8a799996bf0265b98b5d48ab919\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nAdditionalData = \nNonce = cafebabefacedbaddecaf888\nCiphertext = 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad\nTag = b094dac5d93471bdec1a502270e3cc6c\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbaddecaf888\nCiphertext = 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662\nTag = 76fc6ece0f4e1768cddf8853bb2d551b\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbad\nCiphertext = c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f\nTag = 3a337dbf46a792c45e454913fe2ea8f2\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nCiphertext = 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f\nTag = a44a8266ee1c8eb0c8b5d4cf5ae9f19a\n\nKey = 00000000000000000000000000000000\nPlaintext = \nAdditionalData = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad\nNonce = 000000000000000000000000\nCiphertext = \nTag = 5fea793a2d6f974d37e68e0cb8ff9492\n\nKey = 00000000000000000000000000000000\nPlaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nAdditionalData = \n# This nonce results in 0xfff in counter LSB.\nNonce = ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCiphertext = 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606872ca10dee15b3249b1a1b958f23134c4bccb7d03200bce420a2f8eb66dcf3644d1423c1b5699003c13ecef4bf38a3b60eedc34033bac1902783dc6d89e2e774188a439c7ebcc0672dbda4ddcfb2794613b0be41315ef778708a70ee7d75165c\nTag = 8b307f6b33286d0ab026a9ed3fe1e85f\n", }; -static const size_t kLen45 = 157331; +static const size_t kLen47 = 157331; -static const char *kData45[] = { +static const char *kData47[] = { "# These test vectors were taken from NIST's CAVP tests for CTR-DRBG.\n# Specifically those for AES-256 with no derivation function.\n\nEntropyInput = e4bc23c5089a19d86f4119cb3fa08c0a4991e0a1def17e101e4c14d9c323460a7c2fb58e0b086c6c57b55f56cae25bad\nPersonalizationString =\nEntropyInputReseed = fd85a836bba85019881e8c6bad23c9061adc75477659acaea8e4a01dfe07a1832dad1c136f59d70f8653a5dc118663d6\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = b2cb8905c05e5950ca31895096be29ea3d5a3b82b269495554eb80fe07de43e193b9e7c3ece73b80e062b1c1f68202fbb1c52a040ea2478864295282234aaada\n\nEntropyInput = edfdb55e77d418a63e4414dfd42225ed257cf74e99325fba26e8f3a4524a71bc80a731af23256908cb4675a9c253ea6f\nPersonalizationString =\nEntropyInputReseed = a9372fea93d607fbbc75a97b7f65f2d4ae8c06bd184981572e888a35c5794d2bb380a4ae04bba27f2efcc9e7914b96dc\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 11b1a0f0bb935ec0c54e089e0cd20832d1f00e7069f30e9ea2e35b7f15ecf0577d0e90035bf0f91ffd9e8a1fa8a507503739afbec19393e02c9b7c230cdea36f\n\nEntropyInput = f253fd442b105434c0f47ba9b6798bc20c8832a142a2a6d965678485a3ac52393528a5e092341d60ad74429f4005f8bb\nPersonalizationString =\nEntropyInputReseed = 600c822b198dbdcd9d13ee25bd4b846e5d8665725eac5347b4cfe7512c1f3fbdc4c51c85d977ca58e9e6485a17c533bb\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 076419bdd354d6a1f1415a0a71bed94db29cad22f0205d983c841874497875a4857404e573545366850fe6eb5286e0deb87ddd63bb3317b4556a82920412aeef\n\nEntropyInput = 8dbf2c37dbbf3862f05af4b32e98edd3d8cd7bd34d8a23daa2d15200daed6e9d238387ba85ddfd35a2986bdf5790e1a7\nPersonalizationString =\nEntropyInputReseed = f67aed05dea08baa16cbb669ae310a0b8e019da0a7fe2762abf684121292186a50bc13d568576ce5d7aeb080e4604a1e\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 69666e65c5623140da35927ec39189fcfda0891674efdcd2a7d6f2628921a37bd49a164590413c04f6090a50336f040b015dd8c45452991bcdd96994c5ecc6bd\n\nEntropyInput = 2fac25dcea5274a7dbd6af112d757b59a4447f5dcbda972666af071c5d8f71583ec6914a1e685f610b8a43ffada0b411\nPersonalizationString =\nEntropyInputReseed = 52f5b1f927c0873ae375d6a6e140fe594fd474a63bcdcd6a98109e32ad980ce534714ec626dad7acd43101415e5817d2\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 3096cf20137eb6f94d9d26a4871eddf10285c6984776847105ca9294aafc68925ad8bd7f36bb68fe371476114649ead11b926f9f0fc1d21c744342ff5c44c8e3\n\nEntropyInput = 4133a0e6ce837125f46f2a44e05c4f64d76879156ea16a1d16db1d3ec460cc53609fa9e4b3081f9dde0b79f00c93ac5a\nPersonalizationString =\nEntropyInputReseed = 4613b2327dc9054f34faf933d62bf7b12ec8b34626c07ef7512cecd8aedcbd4023f26b859a941c5af77ec1e2e02a1d9c\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = be02e94fd18c488741fd90b6980118dffba1cda5bd25aa23d44414392201c5a78c3ea68252f92afaaf540b298d3f80a94818f1d1ca84c2be5f66a46191a7548b\n\nEntropyInput = e312fd67b5009ab1c896ba8f85d53fb29517ed2a26d20a4b9d09505ec004bef5739cc94e7f368989c675eee1f40501a2\nPersonalizationString =\nEntropyInputReseed = 176ec11c0d4462ea26b1bdee41208e3ff3b430de11f12567ebe982c16d709f681fcd9f5bd5309f3f2a9d80b3a426929a\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 07cb9f51e34be38fe1d1c18858ee44db227c1e6a6c2f7d09e9143e87e9e09df0af9a5cb7a183e5d26359509fe619e52e59e3333d3620373d3ae5a008b51ef786\n\nEntropyInput = 3eaf30117135d9167c829e35bd8da227a6302471b649381858085e67c65496058ded0ab176a38b3888f4e3c2e65269dd\nPersonalizationString =\nEntropyInputReseed = df60a1b9fb2f8501756edd09e489fc98a60ed08646f5a2e018f55b71c76b9b7718ac4ae61b41241593829108ddeb0ef0\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 29c4d540354e97f50f3fb1de84eef471192cd76a670de34176c6465523ff249ed5eafe2c09f091f5ed101cf8a971d782f150a2642ed291e850906e29328d6b8a\n\nEntropyInput = 99d5543c192c6a1069bf548d80d678bc42c1f020f0b29a0ceeba424c03f8a8aa38df1c0fe100ee4c1b0bc870b4afa3d2\nPersonalizationString =\nEntropyInputReseed = a0fddd29c792f6f411b5d532fff2564d492ca15ac8b7fe1b4575e9b59806823665ad7ac4e2adcd2803ccaabe87ab75ed\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 3d58e98a1f4beda50f84f773c405d106b28f4be6da2a2942098403843bffa3323c53661a7f072a020c68f55ea2b3a9cf9157b7c4cdff5e642ee9be1f436f9c18\n\nEntropyInput = 2151ba6cf2ed6a7366991e516443162b6ed4e7f8ef2d6c81ec5e5feb0061e20ced65da27847956194dc6177b5e0befa9\nPersonalizationString =\nEntropyInputReseed = 73418efab1c6039145dc6ce09b84abde4ef4f8eaccbac250213bdd75e2a5e8b42ffb1367bd8d1281e3b0051651f78a05\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 5b219cb285c820f3bce52b9eff15afa042de3036f1a52896eab34e4476c28c60127cf8daddce0809efafab03c9269cd220a49f79220e14db9d208311d2a22a1b\n\nEntropyInput = 7c7321b69fdefdece32c45e47cce07a0d599e83ea8ee5781e2f2ff341f292c0bdb848e5ab379771639e811fed45f63d7\nPersonalizationString =\nEntropyInputReseed = 4b04652d3d0515b305f4da346754c0d398c8cfefe8e5c1edacb79cb8396018bda12ad7d42bf86e801159bb62c34fff68\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 379c12dc2c8a884c6f40df5353047d74efbd9c626795b86256abec4a6f42ba26529f19e4b043f53776180c7ab16a3817b4a50c09bb3355234786e714edb9e2b4\n\nEntropyInput = 3a56329b07dffb8bc7761c0c2b4ec4ec3b7ed2513f0cc3d9be3eb9a153e8e1605d9392dbb951e4b0989ef473301f6f57\nPersonalizationString =\nEntropyInputReseed = ff6efb9b946748af0992bdc38eeb15d4991bb610692e1fe53ff828405924a544ee0e4da70aa1d0ae55e7925a58cf5597\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 9f32e40391217833176ca768beedd2839892c6fc17dec5c250f0820c576e4ed615729653515ae13292a2e4aedaa2df74c6535d8c625dd1cab479d3c5ae7bf955\n\nEntropyInput = d550f48af436ae42ea48a8cb0cd615be8db51691b365ef20ed826b28561fbacc9deb28cd3d83655033068948c55683da\nPersonalizationString =\nEntropyInputReseed = 76ea2e732f77b337ddd402e367c158dacc3433feb40d7b4376fb8dc449891336b00841580ea189583ada95cef783d540\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 8433b2ac45da6fdcbeaf3e6f76e66beb5b90a89a9cb197cfbe405ed53b1dd51a42cfc9aec5fe7cf778f88031fb7b15b0874d4d1ea87ef3895848721b34fb1a35\n\nEntropyInput = ce6137f720affd106396d9b66540580ae216d5d7dab48ed2729cdb3e587c7d8da13ce39ea8d9d8c22220a96b74e7ee9d\nPersonalizationString =\nEntropyInputReseed = af9f12fddeef001b08a5993f62da5e7c3aff23f882ae874b9f66f28eca1106e6386dd82f07ae1fb6868f186e2ec4f449\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 219fc160dbc136cdc9a7c3407eafde4639602cc58101c512dfbd85cc26b61fc9a94cdf76f15a1de7a46e36ab64aca3eeae36acd6e3d0b3fe59b75958b3eddd24\n\nEntropyInput = 1accff5a19861164c5d2cf542cf41a789f143c7956518ae158d4449ff0c257a00966faa862ccbb363bcf4aeb31089134\nPersonalizationString =\nEntropyInputReseed = f2fa58209759d84bf38a1656bae655669767a902ade22a830df56b32ef9e1c992335eb4cb27eeb142bfd21b5d31451de\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = f214b4055d182cb258d9e9b61251bebc9bf090db662c4e36023cc156964fbbe1cedf691cd0c3d7db4262fb65a5d34b942f909b0f31fc18009766413523dcaf40\n\nEntropyInput = 99903165903fea49c2db26ed675e44cc14cb2c1f28b836b203240b02771e831146ffc4335373bb344688c5c950670291\nPersonalizationString =\nEntropyInputReseed = b4ee99fa9e0eddaf4a3612013cd636c4af69177b43eebb3c58a305b9979b68b5cc820504f6c029aad78a5d29c66e84a0\nAdditionalInputReseed = 2d8c5c28b05696e74774eb69a10f01c5fabc62691ddf7848a8004bb5eeb4d2c5febe1aa01f4d557b23d7e9a0e4e90655\nAdditionalInput1 = 0dc9cde42ac6e856f01a55f219c614de90c659260948db5053d414bab0ec2e13e995120c3eb5aafc25dc4bdcef8ace24\nAdditionalInput2 = 711be6c035013189f362211889248ca8a3268e63a7eb26836d915810a680ac4a33cd1180811a31a0f44f08db3dd64f91\nReturnedBits = 11c7a0326ea737baa7a993d510fafee5374e7bbe17ef0e3e29f50fa68aac2124b017d449768491cac06d136d691a4e80785739f9aaedf311bba752a3268cc531\n\nEntropyInput = f963096540d0023d6703e18248755ad16aea91852a2db0dd0f6a414d2a5822f3224ac8b1d47b01aaecc93ae299081d7d\nPersonalizationString =\nEntropyInputReseed = 399ed54bd846de00d42fb1f92d1ade93e81e32cd6ce73825f0bf86179dd46fd79bc8cbbd3b8834e58cc86619e19b08b4\nAdditionalInputReseed = ee073f9f6145d0a7c09a5e4a12d65baeba360bc9b5d7cadf93e7d2454dfde507af37e49782cf8550dd3a548e8cf98563\nAdditionalInput1 =", " 6a42ffe56dac0b4dc5d84b49698859b3645c920151565bf29f56b6322244bcaa7cd1ebb8ee9936d8ee1d280f547ae245\nAdditionalInput2 = d057c418a758d99a8ee855093da9bc1734a5168a6df9d9c9924e8bb472b5945563d86350dcf3e11aebcbd06a22b9ef78\nReturnedBits = a0cd72e63f49ce4c1d64e21e92546afced2af268549ef48d3ca88afe4d4097f91a52ecd0e7ad12ec0a1f67dd8c5325b78ee507c0a63cf90d64e9c47862acedf3\n\nEntropyInput = 333a0269eb0fb1d9d1e92f55de9e13cd7e24de64f5f276382d3eb2ff356a66679a9a75d2da31d39a940a09cc85d9d531\nPersonalizationString =\nEntropyInputReseed = cbf504cc473c9a6e66493b71b9684e8df458e65d2cc676e4e6ad43eb59172932c0956d0623134a6a3bba23906ec9da0a\nAdditionalInputReseed = abc86c71ae0585827ffe0d19a9fe97f23cdc4afd67978e553e0669d4635ca1df30250843fefd4d1288f6fbc3bfe04a72\nAdditionalInput1 = 15d15fbe7c060e6811bf47c21e93639c00cdcc562f4e02c88f7e347ec14a2c8410fdb2ddc3dfa62ba9ed1758f12017df\nAdditionalInput2 = fff311ea4c5cbd8ce53c45fe8d8106c28eb06d01ec9d8245c29f95b50b13085a0ec28803d733bd0d8a75193e63e21d5d\nReturnedBits = fcdb52bb6e2ba8d896973b9284b32af6364a34a2b80b3e3c7684c200c9e0a02f7bc6c3cd32b159df9b98da07a17baab9b0b07eab214544d5c562e454ec643de1\n\nEntropyInput = 86e4c30c5a7dfcca86eda7723930ab3272635f0ad9e2fd70a2d7a69b6a07dc0cddeabffa9c411198e3cb7589cb29d3f2\nPersonalizationString =\nEntropyInputReseed = e1af1c42cd29dd002e10e5839e8b679d3c5192da5e1b655123132ff1ade22b35651ac6df66fa14f36e1832be7a176895\nAdditionalInputReseed = 5f619073fa2e98b9f06bb4676bb972379ceb727e1e8768ef09e532cf3d8fed5ce92a7528eb55ae552959d74f75dd0324\nAdditionalInput1 = 330e316bec4955d907d7d7bf2b7149f0aaf4285ed1a2b7e387376ea1a4e0858c114ec3ddddf7a1edd7c8a29b1f12b998\nAdditionalInput2 = 405911cf7c6779e02e4740fa9737f189370292494c80621cfaa9f7d16d68219e72d474f8d5a54aa8ea8020dff9c36650\nReturnedBits = e359c3e23315c9c1d69ab2ec96ec3c6c5aad868e58709e101b0fa08c4041248e4d538d038993250d395d9651513514fca5760dcb9970dce53d2d1c2712bc56d0\n\nEntropyInput = d8cc5d13badedbdc2fd41852247a9f2879b0103b4a8186f0a08da7d55453b7484f642a9e5a5182340584d2ca7cd5ed10\nPersonalizationString =\nEntropyInputReseed = 35788b8369fdc3dfd206efb873b5c5215f5b8ecb0541fc0a0e027e868a91053b5d58cc8ca0751e0c0893c868e2322471\nAdditionalInputReseed = 6afcdc760fe62b080f141886b516623971f8014ede86e50d62d307a90cf3512da5fefd37b3932d3d9d86ad0c03447be4\nAdditionalInput1 = 72105702fbf1da4c10ff087b02db764804963fd986de933b757b8fe5a6016e0f2700573925aced85c09e2ad9f9f7b2c2\nAdditionalInput2 = 65f9a3fe4e1953b7d538f6d6ca3c0a73bda2276fe8f80860c07b7ed139d748c3c45db5d96598f77ff863a43977ba390c\nReturnedBits = 7c2b600c3f550671215b03ad7aebf71086ec59aa4f45cf6b3bac9bba2e108f801f6478b098fcc4e063454cd3f64a951ed70f619866c1a4e70b5c47458c09e083\n\nEntropyInput = 07d14a0d9fbc76a155047a93bc0bb2b578fa7dd75cfe9a44bb8709fe3cc2302fdcc06a9c6751f4602a3a4955c0f38c7e\nPersonalizationString =\nEntropyInputReseed = 8babab6b9f8429f554156da3905122cb48c0b901fb6eaad8df771e8d583ba885dfbad02e47524b1981768593bde88260\nAdditionalInputReseed = c185c45cb07e8c8ba8eb31d3bd48a7c864137c689214c2fb3b1d6d6abcda84f2922a862a0955e67695391d60d6f2d1bf\nAdditionalInput1 = 326a5c9c4a1a2b6fdc369fe2a171bf625dc26e23d1a34faacf59bd33be98ff7ac7f16e485b6da3145ea4db37ee4ffefa\nAdditionalInput2 = de096ad13dcc1ee1449c3a0661edee028603590f087474161a7ab8fcfac896a924e14b0a57aeac17fed676f4b9c7168c\nReturnedBits = 60911e6e6455bf4d85a4f76378390f6cd537d7cce88228cf34e4a4889adf62a9cc1070dfc39c254e81a8557bb2c350fe3f462199e377d3796ed139117b6b0f45\n\nEntropyInput = b3458c6b38ca70c44fc6c601e088863fafc953c6b5d3ee57fb1a07f3f65dd5e6dc19aed17aa5530913aca598b26a40c0\nPersonalizationString =\nEntropyInputReseed = faa8d3feabf972e482e5a0b3821c23ba067c45267e3715a4c10f65716a348030d7fa5637e9f000b3e47d786c013fc035\nAdditionalInputReseed = 901ef89ea38203b83249a34a1a8cbd0da4773ccd503d60a395be3a3db113613e6c571a49960a4e99d302b6f237f64d54\nAdditionalInput1 = f2f87693d1f28f95b0a6459c538e82be99a8cefe8a2c7ca037822072e63670dd141873f3dc9e309c6ead40783f46794e\nAdditionalInput2 = 93cfefbb7624a137cbd7b177918823893e77251fc5660a76ab0cfaa3b340ae822a8a75365056f06b0a7e76afc39f6819\nReturnedBits = 5bbcdeb5d7d1ae19e4ef7878abd1ca4f2641d42c765b94a7689172a4e90baae46ebcfa5427a882c1614cab36f186a98dd3a15febc4b23add955f69dbfd5e5d2e\n\nEntropyInput = 6dbcf6f2f3997ed55471f779039982bc84a1c052fbf5883d6f62c0a61db108386e74759d7237bb0efca030aac76bc7e6\nPersonalizationString =\nEntropyInputReseed = 1a16753c195fed27a1abbe067b2b22aff4c49ae7832d18d01cef5ea5c7d5833008036f71e9c77c1629b6f61370b57f7b\nAdditionalInputReseed = ec54395931ac0aea2a8739d4c51e33c8425906005c341db373247e73b968c2c79257cf7ac74353c00fd81a80f4c95b8c\nAdditionalInput1 = dbd6bb5579a10e395b534431f3ab7c8025527bf99e4f7c162d681f8d35a56f6a03729f07ab43897ad0e80146044b1614\nAdditionalInput2 = 5d35742c25620bb795eae41178d7fc86d9cbe050ea702573ae6adb61e16c411b7445548dc535d57371bb11e2cdd59597\nReturnedBits = ba3905bfddcabf6dae311d1fc19fff1f6fc1ce779e38f864b7ccd2aeb1b3d6ec1845305c29d39b8736b3977277ecaf5735d0e4acefccf7778ac3542af815fd41\n\nEntropyInput = 3a9e8099007c67f6e5f98525cc4295a68c5d5135d01f5f66305c7048ca02525caa3f790b2d12a8520e9963a9cdd597a8\nPersonalizationString =\nEntropyInputReseed = 15993dba9775db8a5bf79778a316f2910d4dc0be59c3b21c650e3aa89c8c89b33fc69e9e5d642e7fee16d61b691de2bf\nAdditionalInputReseed = 946121bae27e5804daeba0d7dc7ae0c1c397bfab106e13b8b7c5462b540d147119af5b7c4f9c198161e5aa9be34e2d28\nAdditionalInput1 = e9799421e75bae7086731a21242dc101c93b768fc747734a357454fc0f7c082cfdb79b8bbcea2d1122d89316a7bfbd3d\nAdditionalInput2 = caa04f94b4b9d694e2c4bfa1e8e708b9c00d9c3d645243acfcb879d2e2ba723d9e48908738114eab7d15f8cf36b043ae\nReturnedBits = 9bd50f3c5384eb28d931f03a64eb97ef140e1e81f4c1d9c910cd7d79a40494e1fcc53d82cd32df35d53b05a450e54b7ec71e28359c1273848e5ab117d5ded88f\n\nEntropyInput = 7f2a0213de6738ec62bedab769a5f01732dad2d35dd4cad7a765dbbb6f9101f57b65ec8fc4e23fb3479ce6211ca3d84e\nPersonalizationString =\nEntropyInputReseed = aeb097e9ddc4dfe87874ddb1a856ec3d00fff1b38c8f954681c11e61bac8b6b2e2d8d010e6820f9c4d807b295acb8ab0\nAdditionalInputReseed = b33ad3dec7d529b71e39d59147f79b4884039d1112804fe8c70e174fdd9828c06a4d44d20aa5fc1918c3ee8082a2bf93\nAdditionalInput1 = 8632d221757132bb7b883b7dc26755f62ec2ffab0876168d11ea7b92774c15c553b11320393d64a2262133608ca92a18\nAdditionalInput2 = ccaf3bc3ae9cdbfa885aa8414c1f823c6a3ecc020b619201a52ce0b7516ba1f49755c450c532bfe11c06b9d0e049ccae\nReturnedBits = 4b1c065a288e5eec56b67fb341e25fc7521b794b52b94f9570bdb16583bb6f7a780aea5297496355ffb4bf5a444c277c96394619cc33cbb5a3b2a9f49b00f9df\n\nEntropyInput = 80773d0272ff48ba84b98c817365b097f21258624d0de8529381977950a5e49ff2b79d0f2522269970ea6d484198922c\nPersonalizationString =\nEntropyInputReseed = 9b101ac018be88da3611a236dfb1300c0049947e9f6ebef7a3ad6e1499efeca0b142826fa06f427e271865232a18dd29\nAdditionalInputReseed = a67ee22453dcaa5e4726e3084872145ab60489bcb6e83346c108f3efcce5b3d988b84d58786658d87c2dc3b9035e9d88\nAdditionalInput1 = 546515bf86e48dfb2b4dd21c2b46f10c1e797ab799b51822e8e7cd99ccebcca00b8899ef6af5cb395168aada9056a6c9\nAdditionalInput2 = 57bedda63fc5f792a608be111141a12e522496c086194515909bddcd868be997e718e7c5899e28dd6b123cbcc3f2a8f2\nReturnedBits = 4075461e459f15cd32030551be47528223693c2f44e32443cbe9271eefe74fa0a6e1ec04f4b8f41d7ed6c5f455281a3cba56d952b08b7753f6a3d7da3517317a\n\nEntropyInput = dc132c15af0e214d1b56eb88849e96b81dc17f238eb3d1bb9a659219dbd77eba38ca2796a8011e29cfad76f8cbbf099d\nPersonalizationString =\nEntropyInputReseed = cba23d4fdbb6c11e38012b71ca264bff9d1264bb20a39bb27d86dcdf7d72ce7a4f5c124cdf2aca6aaee20832495181e6\nAdditionalInputReseed = 07e043add7cc14612a82926c09934dea092f4618cce25674972b1f50b2907c7e3d40a25722ea49b0c7ceb6b57ff2d870\nAdditionalInput1 = 0017ff834967cff8827598ff6c00a9c97f0347c34f2523a85dd7d18ff5575756c1f5383de50338d0ab0505841d70a193\nAdditionalInput2 = c404dbc3cb0851b08530f96500f5a2c10d8985c82dec2ba31d4199fd07687ccf124382fbee3fa119938f0c72ac586102\nReturnedBits = 1935cce86bde7087fcab30b5dce0e072ad741c2f281902e1801e56c08ae8b256d27514de92dd48a838ca426820002c1206f86cad37cfd99d3a935e05f56a7507\n\nEntropyInput = e48495930a7fc86ecbfad807d40ca84ba35e346c812090def8f44d9e48b0a40704ac67ec80ae15b12e858ae85a7ed9cf\nPersonalizationString =\nEntropyInputReseed = f4735954d17e99077061c9604e8f1734d61dd662e54e37256c0f8bf276e025d59d21cacc0869ededb44a2aac9fcf2ccc\nAdditionalInputReseed = e796322fc0ef503251f6d4bd72dc5ea8100", "c5a59f1a4fe4837fa8eb2623bc650a0cd48c306f139e0ecd169a51deb2cd0\nAdditionalInput1 = 1c844d24b7cd9512e5035bc457612ebf6d3df6867aa909038bcbc1f474f7d0783ed474e34525a817bea1fbc883961e31\nAdditionalInput2 = 5c5671ba79bd0b83f74d0ed98e9c8b369a2de34188d8b7cada20b3363738d1252ece1e6a26d007acdfc5b6108412766a\nReturnedBits = 40f17e2bf6084a6447f2c40d601e16a43098dadd9f9614d518874623e8e684438c02e127e582b000dfd46df03dd5435edc4f0f47098320fd311afdbb8542c4db\n\nEntropyInput = df4a888ec7363fadd99ce2223ed39577a41bc220d20b253f98dbfc617aff8fe4ac66e5da1b5097228422cf8242baaf53\nPersonalizationString =\nEntropyInputReseed = e16dca80b2061706e8180dce8f59e888f150836a0bbceac179a4b8d882eead78709ed9951102728abbbbf9226a2d913e\nAdditionalInputReseed = febc9f6b9f2b90b4320d5d41e5c5506fa32b164d86d5e7f91d4a360fe179c127bd2bdeb78fe760174e856a5e04ed898b\nAdditionalInput1 = 0aba74cd299e75886c9e7e5293e5915d720da2c8c1cca7f0e1d6f2b672b4014eb4582e97a877121c87956185736ba0e9\nAdditionalInput2 = e451eac802660ac843fc72b66d59f1e1ca831f22d6a361929043f7626f1d82133f512fb1f2d8ca51004f80ed600609e4\nReturnedBits = 968b708ed6b54d2e5a66d46f22998748dfb5cf47e817732a40938bf3593fb251ccf8f2076837715d14b316bfb52560135602ff98338593696bf80a462b214c4b\n\nEntropyInput = 43bc561c4dd1b904a5333a092a670d0d1b61128a13be2e538a329094574819284e414b938dc8b1860b385c293c03010d\nPersonalizationString =\nEntropyInputReseed = eb362136f4ccc9e302505d525befbfa99d8c3336187d5902b03ed75641913ce973743757f97dae9366874ba62bd87013\nAdditionalInputReseed = a901f4daaa638804177a0b263e8cbc81688df3beb218b02316da83b729230a9e5112fb3896b727298755bb9ac6b6250a\nAdditionalInput1 = e33d181f3159fb0874eff5ef8ddd2b51a60b13ccf046f7e637ed27bed81bb604277f7345e6b8f0e09f925793ce417fff\nAdditionalInput2 = 3ecf6233820e6cceddac7b024c490c5ee14c73d5b598c92cda30940471b6ed450019120689aaf157fd87b71b13afea25\nReturnedBits = 9d793dd96b870dfa0267623bd1c2d8bd3e2c63e9f211340f630fea01358011394154145a10659c4d98274a525c48a90da0126a99b85ed5b4b903195f0dddc762\n\nEntropyInput = ffad10100025a879672ff50374b286712f457dd01441d76ac1a1cd15c7390dd93179a2f5920d198bf34a1b76fbc21289\nPersonalizationString = 1d2be6f25e88fa30c4ef42e4d54efd957dec231fa00143ca47580be666a8c143a916c90b3819a0a7ea914e3c9a2e7a3f\nEntropyInputReseed = 6c1a089cae313363bc76a780139eb4f2f2048b1f6b07896c5c412bff0385440fc43b73facbb79e3a252fa01fe17ab391\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = e053c7d4bd9099ef6a99f190a5fd80219437d642006672338da6e0fe73ca4d24ffa51151bfbdac78d8a2f6255046edf57a04626e9977139c6933274299f3bdff\n\nEntropyInput = f1e0d7b1ac7e4e155bb588500f57d0c59969267ea5427e2d7fde1f9c54e67b7f6562bfc1019b8b5799d2a833fdccac79\nPersonalizationString = 86da37245d9bd1fb59a4bc7abd289ea2999258042c5fa696f2da7344bb6ebc5b770ca284bfe642570b52ef47b780d5c9\nEntropyInputReseed = 9c2c9c07cab12cf50f8846148034a416c83366c1e20776073751553cae69da8d1f6bce6bde27087659d69a62e2ba7c3c\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = e0ac06d7eae89469b6c14a31e7f0464ee21f7b30d2264c2de3e435cb40d0e5043ee13dfbc0342156750880b2d5dddb3bebb43b162a8478235c8b87f96d0284fd\n\nEntropyInput = 1dbee767e9916ab322ba461fbf9f7515cfbcb45944a7b471577da087690d94d967018b631e0c1f64da3c805d049f449a\nPersonalizationString = 966b5cd94019d4d90b48ea7f540a698cfe30d7eb25f5f7e5fe42d9f53ebed6e94e733b0794fc6bf30627911e20cc18e8\nEntropyInputReseed = 96e828128f183c76c90ec8341a43561368b77114048ccb05db66128d54c9539d1adc1d72f7fb0950e41b1343a9e4df76\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = c4d3f5c55d3979b174020650ad7a46b423ec446dff2a9e9fe0a782bf65a72d5fcb1896bc1092a8c73f41295e2e7044434f88aa0aca78f7eac40e322cb7c25563\n\nEntropyInput = df588bff3a1fc97a908067da6a7fef08c889ac29ad7d639bd047157bacab4dbdee3dffe575f37d071af94cbd7628d398\nPersonalizationString = 548715cfb28c1bc56453b8c39e24cfd64077c0f6e9d959d51b9f0667b97d3c4e1a179d1a554df845b24c26daec85845a\nEntropyInputReseed = f8c165b5ebd8347a2ffef2218f993877027e977598b4fdac2f65d8d994c7432900f8407ab5aed1885dee5aa2458f5998\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = deed18220bd8f72a34559924f3cad925ee717690f76bc223d5ffeebbb554b61b9d9eb6ac5697b06331e236672677e2e01d6e3fd581a4fa1ebad289797b68955f\n\nEntropyInput = 98555093e443fe8e2bc8d2eb4d3a7abb8eba00b25683a6b31191fff7c043665ec2cad3e99e55bbc241b8edc699dbc9ed\nPersonalizationString = 5627a0a55457db05e3903d4b69ce15f55f933168d6eb374c044e8f1040f61ed7eb24f87f91c68cde050f504b8965dd81\nEntropyInputReseed = 18d17e1b68378801f83e7aa9a6d4b84d3960022c740e6c845869a5db553d2e02479cd92f3c0d8abd3e92fc9c9fbc6a3f\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 7a7f0ab07a540b4e9a3eda3f8bd1262015d8ea6d512dbea05942421f5a73242ac236009ef083bf2e51b19c40d1a019367a6b96fb52d254e4d881550aef0549ed\n\nEntropyInput = 07793bac6461f23e5eb0d1bc60b5f735515458d1530540df1c8e6fc5c3ebfb06b9db60a8947eb629ff7a375fe680d696\nPersonalizationString = c1e2132b77b6c15742e06e856c1549c4ccebd1b2eda93e2c43391b52cad51490fe34157f57be9eb4eff463b059986680\nEntropyInputReseed = 23e47e0c41462f7c619bbcd5b73f9ab1c68c7cdf1ec92c4c37126402958e110e329107742e70db611b93974c393936a6\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = e6dab4a887f48ec33cb293ffdab5fc69595f94c72c5a9bb43f468f75490190b7e0f14f5c04550cb62a6d0ee0c3d834be3434c8229c124087bb985a06b9a37267\n\nEntropyInput = 25cefa0512921fd4a3a4e5e7c48c6201185a6968419ae5bcc6667bb74c35de4f91988a33f25ea88a8443c65643cc73dd\nPersonalizationString = 07ddf125960c346680b4b361c0a9c6dc1008a85ce1861b45ff18907e6e7db41b046e5f016617e6c5b0ceb5575ac278a8\nEntropyInputReseed = 8cf41e5413b0c8ffacbc4dfc119f10b47569359b911448f45c7ad63dd58e872410c25176b986fee8b83966d0098d996a\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = ab58ec5c35600566dd2ee187a5b67dfa65bebe13333670d2a198fa5af0c20294c6cb69d37564d2b2587ea5587e12341e77f47f173d6cc9f9b9e5dedf0ee1a8d0\n\nEntropyInput = 929f1dec0a6d14de483a2fe114a430796d0b449fca56a4ddbbe661bdc26a8df85cafad7b677ccbf1fe4cb0d5e8cb57a9\nPersonalizationString = 0bf8c590a66653c0494750d10274b583d86e540b517bfc23bb3b0c9fde373e456558468603c2115c97d3662e6825f4f2\nEntropyInputReseed = 84030628534b7525dbd4023aed1ab08c4f2b86a7c2fa3bc9559b425cce07c34fac14e963256aea03f74f1122a7a30483\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 199f2dce5bbe32c693151a216fb36ccea7996c313f6b78fa30ad812a0e603965023fc29706a71b753d79244cb9e8fdaff467e0f963426b10ad89a98e987af316\n\nEntropyInput = 7bc5d970186b9e1b0052b7564dbabf61c89cb3d64ff42f9a62d625112aca0486cdf0336c3612254b40cbfba83ab65b42\nPersonalizationString = a25326fef30f9c94423d99759a1ee575536a9715df9526de9a0b8dbcc3a2234cd835615f5dfe7823927355f569ec6f02\nEntropyInputReseed = ef8a0137013be212402e42b28c03ed6420881aa38b3a3e6e90a861116516df1ef732a19e8935ffcd9be7a2fc236783b7\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 29f81ecf3f41d278c01bba9af9bc0fe6009539682f46723ce5b0ff75fed217ad71580b5dac46289e324d824094c332c3955c528257701a14ec2bfecce4f62a6c\n\nEntropyInput = 0c841a245a19295281163b07541590376d31d86a9be99e66cc22352dabb29f95e113ee233d74d3f2b7f2f608830525f0\nPersonalizationString = 28d3581054d87f153aee12edca47bad80bfc9b066ad1e8b9d96c851dc7b8ed768cad007b891d1c9447d43065b483d085\nEntropyInputReseed = 587a1dae75c2a1f2dea7fb42ef7bf38646b76a964ecd7043d8b62fdd9e6a5c007882f02f78fd040561d15a337e59f257\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = ba7bce080963fe2b4e8f0e1aa700e92b3908e18dc78728666904b0220e4077fef2cd18bbea29a2755a3499798cca445bb75269a5adca2f291dd3875457c69a89\n\nEntropyInput = f4afddabe515ca3e776730e7d44461b27e8f72407ca398d3fb578365e09ea8c24d6c4b09724907a610d755407d38667f\nPersonalizationString = 846bcbc7014ca8c6fb042a80d4a8c3aa50b6c5eff15e4b12f966ab17e6514cbb22fb2eed628ee5c2a8acde821a956078\nEntropyInputReseed = b2aeab1165b150908c9bb52c2b7167c149ea4fb4710edc8acfbc63f7652bb552d636a7e6fc3d1e74d3f65461baaac087\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 2a0335c3caeeec7c797f99fbc145654d3985c3c71025c8e4bd4b098801f15d21c272420417d805b0ad1ce68f904502a46130246315957bc07a5db4f3447a84e7\n\nEntropyInput = 6942413e05ac487cf539bc61aa6866ef8cbd9d0f15e1385f37bba5a951a29fc956d46f8740603af7c71800048c8312ad", @@ -2737,14 +2824,23 @@ static const char *kData45[] = { "887d92419e3c839b8b1dc43c6507026f1f851e\nAdditionalInputReseed = 857848c62203307b39728acf11ac8462302d3a41d186778b3f112a86270252f058fbe5767496e47662186b8d0817de02\nAdditionalInput1 = 9a08df0de742fd2e2d55121a58b700dfbff250a4881b02fc3b8952b48ecd4d034d6e7c757cdf91bf7c31dfaf70b1da22\nAdditionalInput2 = 3bf0e4f1291a8bc272cc985878335882c75831510f27963c7c01a879c60c5b67a9a14a656a746a80a091adf6ffb1adf6\nReturnedBits = 69361d61f4cf5ed489888934f320a9acc5383e719f09a1e30b6029bf71d4b4cb54859798ace2d8ee5e681d4acb223b9c119dab2dd07e6db3f7f844c2b46b9c47\n\nEntropyInput = 6f45b55ac62d5ffd452d36b1e4b18cc6abd6ad93e87558b79fbe99b4f4a962b74bad00821019bd126d6f9dd73912acf7\nPersonalizationString = 913a783046baefe428346085fd640caa1874d4aa6974832cacc5b51e78514bcfedd174606bef1721df7a1194a0ccd1e3\nEntropyInputReseed = d9e19ce3197004ab3a4bf995a481149b6d8e59a3970161cb0d3917374c0c86bb5e9bc509bd01b6796fa1e77e5fdddb16\nAdditionalInputReseed = fd31068c90614e04463acdf856b034293a079a816f1c5f3de63b870a9876f7397d2f93bd3f6776b56a78f7178e1fbb87\nAdditionalInput1 = 068e3791b91adb820b27c45a5d8544eed3133486a7d2d0bc503d8abad8b7093f3df214f1e0ac4ff2d347c760b2a605d5\nAdditionalInput2 = 6c55927a349d321d1a2141aeccc3543e9726ffcf3d8fdfe1aed63c61972a213c12ea65d648e476268611e9b08486a648\nReturnedBits = 552b4c4035d964b5eb26e3036445793df67b7321d36e8d2362fe284503b587c961a33b816b40b93d4b006769177c6593c553b6e669076f25a3e2a7214156c249\n\nEntropyInput = 8d492df46257a62e717302992682e28494f84d0f3237c16439efbbd16a94b3356eb7f7c2a0206892045a0d7d36d69f03\nPersonalizationString = b915f3311feadf6676df2389baacccdafc74cf200ed7b99167b33dafa875ce4aac1a61ce54972ec54f9b0901a3b050ee\nEntropyInputReseed = 2e345fe3a471c5066b20f4aaeaaf73921426ac1bc0509e93671535a8fbc016f5967403d6d13b4760491bf973c47a8ed5\nAdditionalInputReseed = 2e8f1f01a7664890feef93152f7b7f05032b4c70c58b5f261ef0a9c2aef23f2a14ee57c3d3465af24289b1c850e52ef8\nAdditionalInput1 = f8c218c996284f757c491cba025fd84cc701f9f83a16f03c314712c2354fee39214ed5994ab24641826bc15ed1bb5f61\nAdditionalInput2 = 146c53dc4af90f26d8c85822810d9bde2949495c23ca2c7c13ceee8221cbe8105491d560e0044c8d50d7e365da41890b\nReturnedBits = b19dd18494235abdcb3b4e99c9355d19d543c7fb7e1048d63d9e25abcc12dcb31549cec2818667713ad1dc35142072ca8daa511927aca71303493e500503be8b\n\nEntropyInput = 2a595f08947d0056ed19ecc8a547867834c125cf1740230a1325b93bf29951cbedcaa6a8f5cbe69801fb9a197ad576c6\nPersonalizationString = c0fb9dbea13863dfbfdb2c0dd864887413794a07a4dd228836f0f6afab901496486a2d508a3f4b784d83382629cddbc1\nEntropyInputReseed = a3ddfc3aefc94dcaf656f4d8eef0065a6d233a76e0a4c26e2d8bbb86459c9e4a173ff8cbec85ebc14712640741427668\nAdditionalInputReseed = d4eb9b12fc2a6fc75a69701c8b5ece02e47f813effb705dbdef0294e38907f5aadf40bdbcc067d0ebc0bf3661a2e0990\nAdditionalInput1 = d3c4bf4f8a3f61413fe1953523ba83bc02ae6d7eea1c8ba288f8e06f0d0276e61667a410f90548d283c4f1ae79483961\nAdditionalInput2 = e6fc29680eef141e1372e17729c9f4407b3f7a57057be1081ce46c78693334bf56867791072d9d18a7b4835bf251712d\nReturnedBits = 08475bfb8e621e12e212f4960e737023f7a3de3b204b6ffeeb929f424ca78c6ae2e0d726237915e5e244616713e88a39df302208e3a324f5444213b70b2e9c09\n\nEntropyInput = 3d5332b91dcaad893df504c7c675b69890b28055dfd3ec7d0ba56990dcda175096ff8f8f9f9ecd6dddeb96b829b98c3e\nPersonalizationString = 34753432b3c6bedc4d2296dffce8a66591b400867f7edf10cee447046f5f767036da9f3f4a02f7b8cba7bdd4365c1fef\nEntropyInputReseed = 1a69af0ff696f9a2fe0fddd26ccf6fae215faf91804461928c884eec13b1dd1501862a738373454e1b449c6026cebceb\nAdditionalInputReseed = dc47e104175f3c9812feed9e143da5cd7e553e3423db5bc8be3b652f577100267ff795804aaf42c3991589e7688a977b\nAdditionalInput1 = e64c0cad3dfc0bf0eba3317cf37b7779b91bf3de3e0ba36d3e16feb0014286596edd364c197847e8732925f971294dfa\nAdditionalInput2 = 1ff3a6bdb7e319a86b35d062cf017ed270c6b5511bc3d63083272e76bf4db9d90e836f18d98f1f79c2e91eeb0bc635e2\nReturnedBits = fdef7e67c3d19f5f74784bdc64d2c23d0a3f027846da2b2afba940fdc2f066d89b63d27e55d3d0a88bddb97e29676894ec8a18268e4bc27d181a867c5a80fe2c\n\nEntropyInput = 156c8c0f44f4a8f17044957b572ed16d54b73a9510d2b260a036ad6ef223f45e124c4ae9dae0fdf5684792da0ff5ea0a\nPersonalizationString = 1472f56d5498564a5b53d2eae27103f41f565d7873b37c37c30472075f1d84d69a8d68c92636ae06aa61678358cc47d4\nEntropyInputReseed = 6bc2bfd44f72982b23b6d22c85f7d601d5941ebe6e9ee9d06a8efe652539ec00b1136adbc4e43aaab76c3ad6a57a267e\nAdditionalInputReseed = a83b1547fadb97e491ef0bdb8b0d006ab16638fdb211613051f0f57586c146882f1062b7f71a8c15bb27200fa83ffcaf\nAdditionalInput1 = ac188da8a895e0807bab61b1ebd73acbe43f99f375c7d29174f675e1667237cedf1d41fc50da277a0db21ee2891a5abf\nAdditionalInput2 = adf9a30b6cd9dac23f193f66df9d606a5765b96cc42c099530c53c26a6d6bcf0779ae060d188e1cc5bdab6c312892267\nReturnedBits = fcc79828bf2c9d3d799d7a0e83583c70aeb156e25df0b2fde030c2775c9986c8054e848128ba38ff5e5b0b1e5b72f9e41726b960008408f5152b1a47072fbdf7\n\nEntropyInput = 5e0dd8e37aa23d0fe79efcb8e5538ee90ffb5733decc83f7677488c4f64c2e0d2a918968a5c7351de9360f23fe606a4a\nPersonalizationString = 5161b794e4a13371b320ae4b2b6b698e4df507402a7582555598089dd9484358d37f891294948512e4198a79de8ca3d9\nEntropyInputReseed = 850ffb89bc23562f3ea03947c1afa7309a0ccdc0b714bc94ff45d66884b74fba0bffce97887f2efc178388f36f0ea95e\nAdditionalInputReseed = 50f605cb940f573c4ef3ddff8caa9a3f544f40fdf583b82cd79338523d896f72f86be1f9bb37d9aca02a2856f713c812\nAdditionalInput1 = da7bcf6810a6b3820548065edbec0fa2fd4bc03e5d50666f98a8bea6b744e04aafa0714582f11b6608852c45ee51df6b\nAdditionalInput2 = 4e9c0c770699656217a0b2dbb466a0fcb0cdb5d4a4a05da40fa2eb546f2f0f28aea575a0bdf6e89352d519db44f47dc5\nReturnedBits = 40ec0e8e3e54cd4fd78f5e006bf3134c378ba619ccf9e7530c79217da631458b5f9135bc8b0d6f2e742c53b58d0ebc18263f9d2ef37a2fa0fb086d2193857863\n\nEntropyInput = 219a364ad362fd8a1d69c1284fd64cc9ec05e6bfbdd133ac9170594b5d95946d3dda2ebcc58deeace86f9dca5ad99c18\nPersonalizationString = b0b27b03fc65effe4610e61916f2e9bd252d47efcc08b84aa505b1befd3a7e9295ca764ac88f099bbecc28301f0f298e\nEntropyInputReseed = 1bccdb4b2ce863fbee104d7a56f2cd88a44a088392883a6db30e6fc7bf5611759c71d53a61fe62b6314d7426e510a722\nAdditionalInputReseed = a06eab3b05eb3649a01be82a356030effdbf45fd71f49b1862ecf33fdb28a7191a34f104b9eda1da4ba48daf9da381b6\nAdditionalInput1 = 88b17e13e02a7e9a3f8263946fae0b6a9052692c3c5cbe858369c4d0b198b9c6a8f4c87ff5e6b2835a7944b911266aa9\nAdditionalInput2 = 828222c8a275427a5f8a963d0d65e92f6170d5089c9a162429c093a28dd69f71135342f16b3baea9a4764e2cc3762267\nReturnedBits = a739f9fee9a40049e42b00b381a1f663877abb776ec655e3a7870bd94bea1a25d3c6d380eced435e498044daf78b349bc1868e4bff6257cf2711ed08e2357201\n\nEntropyInput = f8513c2f6e46f75fce3671ccb3c69158583a873b0dda83d8b1cd548f4e5efd75642f2c23cf8792d51023f31d795f6f5b\nPersonalizationString = e94f7212257885511b15a873d0158fa5ea648846afbcf9d62a7abc4e6909dd43c671fa18bc289f47e2301e9aa69c3e88\nEntropyInputReseed = 487b9c1866ffdaaf6760cdee3df5a930196d30b0ac8db780656577ddfc1ff3508c451ef2b0b478a2cf0c73027597b2ae\nAdditionalInputReseed = 7387b59f8c78e79d36edacbb428fd515ef9e58086059bf7fd642053b0f5706cfe86eb3c35ca0b6f02e5d1304e476e3cf\nAdditionalInput1 = bafc59ef40e59d8c28851212e1c357cce0d06f02c69d14585170ca8eb18396a331d635cf0651319842cee2f7c87285c2\nAdditionalInput2 = 82d905ba69b6c45ca28107beb6698a152631ab48614235f6a9f12e019f66bf326151d9ee84e0cd42b6566dbffb46ec35\nReturnedBits = 163f48d09f3e9ebf9f8647766a0b2e189a2f3a21a5a4e31c8a4f3bd138cc50030ac8bea1c4d9e9aa0b67f34926239fbcedfd1992da165b941cf03b56737737b2\n\nEntropyInput = 0a8f092764d473d48215e947ea8a32b5da8ea86d8ed0d83bce31b1b5a21e7c5f1af2186a39caf9afa61644caef02ef9b\nPersonalizationString = 84637faba756917b0f44ba2e0e26546f5239782e4d9f952ee251367081629e71c20a7459995a7563810daeab74220664\nEntropyInputReseed = eacaded3d89a63b94a5c14c3087306e670fc4ee7d56cafef4c5aa7d553ca89ed34418056a44f5447e2b07dd541ac4645\nAdditionalInputReseed = 104a1541313fc4be9d34bced288c1c1b6fa793e9096f8be5673a2c6825dabef91fd88e45a061b2d897f9b5e8a8ae0ad3\nAdditionalInput1 = e30c9d8aba0bd5dc63d911897e4dcadbeacc3ed9392d8e361b356e02a81d65bdab91f7e9f8dd2b2bf9af0da5100e77d4\nAdditionalInput2 = 2bed42b8c05461ba2756a5f38393d5538d20eb9cf1c06775e7fef7284341f61ccd34b0148d1e870c1992dfd065560ed6\nReturnedBits = 855a6af3e6dddf194ceaafcef6f7ee91f489a61a73b759d41be4d5298510b9902f5b78b1162cba417684519634b578afda9802bd782f04b3a25106f3586ad8a4\n\nEntropyInput =", " ed63e3b88a2f0d6a40b7b36a06cd8d40ec10158ab6c4f8dabdb879e45d22db573320d2641bfd7db31eb6bbf4c6330b9f\nPersonalizationString = f82a5ee81f349a69dfa6a6e53b406bb560cb0339f61b3886237023ae4582b9725b8774a8044ec5134ebd4d7606f18188\nEntropyInputReseed = 7104522c2a69bec7e010d9670d7ab92dd817ac7ff05d63ab0e12d431d4c9aef4d715421c1fb5d05d3aecba36859a6038\nAdditionalInputReseed = 3b83034ea440604d0b7d04857623e9adc0eb9aad4a45b2079863eed3d72e65abf67d255673e769a2e2584eea59f1ebaa\nAdditionalInput1 = 8678e4f831887e96a27c3a8ce0963f4b34bbca25791b06526cb6c55624c33d98a0356be624238cecacba3535e872c4c7\nAdditionalInput2 = ec3452ea2722984bbe6a5b7c22ad58df37a854abc8630b9e21bcd0469eb207e5f44e044f5f666920dd55e81a393500de\nReturnedBits = c340765fe7a3479bef2d7d59e321066f8ad0db53aed4c517bf8339566bf877d53921e6de2650d0080529004a5fd32124ce8e58a040e2d55656b37d9ea827cb91\n\nEntropyInput = 882ed05487dce4b4f9e58ec4f2da1fa5d8ebb4ef9fcbf7b0a0e15c4dccb8e19788f86dcf2885e71a20cbd9ac10a6648e\nPersonalizationString = 05f5bc41687ea1e4c34a69944fbae283cfee4c42b1bbd78fddb0973d0fca948539b6843658b67c30b73191b9a0bf2921\nEntropyInputReseed = ca1603d4c8711404c7bdc12c7c75b2943a4b042ea1d2eb54506a6876952157caf3b152dc75f27f2213645a141577e8ba\nAdditionalInputReseed = 83cda53380888d53515e58154f89d5528ab69f31fbcfca34988cf03c4cae5f60aa6291f32d99ab2a726b6e08d2502cf5\nAdditionalInput1 = 5bf5ca9f964edd91e8ef491fd3cd32faf9cb9d1993d8221914d1751fb0d4252a5ca950e213f088050900b2bd74f5e336\nAdditionalInput2 = dba28dc1d8d615651547867d4ef42519045ee16378143685101da47a27b55498078e8a8f4854052f7cc6f5b02e571ae8\nReturnedBits = 01f11971835819c1148aa079eea09fd5b1aa3ac6ba557ae3317b1a33f4505174cf9d7e940821c9b0e5527a1d3e186a7a83f187c62d3223cf5964ff9526d8484c\n", }; -static const size_t kLen46 = 6201; +static const size_t kLen48 = 6201; -static const char *kData46[] = { +static const char *kData48[] = { "HMAC = MD5\n# Note: The empty key results in passing NULL to HMAC_Init_ex, so this tests\n# that HMAC_CTX and HMAC treat NULL as the empty key initially.\nKey =\nInput = \"More text test vectors to stuff up EBCDIC machines :-)\"\nOutput = e9139d1e6ee064ef8cf514fc7dc83e86\n\n# HMAC tests from RFC2104\nHMAC = MD5\nKey = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b\nInput = \"Hi There\"\nOutput = 9294727a3638bb1c13f48ef8158bfc9d\n\nHMAC = MD5\nKey = \"Jefe\"\nInput = \"what do ya want for nothing?\"\nOutput = 750c783e6ab0b503eaa86e310a5db738\n\nHMAC = MD5\nKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nInput = DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\nOutput = 56be34521d144c88dbb8c733f0e8b3f6\n\n# HMAC tests from NIST test data\n\nHMAC = SHA1\nInput = \"Sample message for keylen=blocklen\"\nKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F\nOutput = 5FD596EE78D5553C8FF4E72D266DFD192366DA29\n\nHMAC = SHA1\nInput = \"Sample message for keylen 16\nct = 8d55dc10584e243f55d2bdbb5758b7fabcd58c8d3785f01c7e3640b2a1dadcd9\niv = 54f2459e40e002763144f4752cde2fb5\nkey = 831e664c9e3f0c3094c0b27b9d908eb2\nmsg = 26603bb76dd0a0180791c4ed4d3b058807\nresult = valid\n\n# tcId = 21\n# plaintext size > 16\nct = e9199842355ea0c3dbf1b2a94fef1c802a95d024df9e407883cf5bf1f02c3cdc\niv = 088e01c2c65b26e7ad6af7b92ea09d73\nkey = cbffc6c8c7f76f46349c32d666f4efb0\nmsg = 6df067add738195fd55ac2e76b476971b9a0e6d8\nresult = valid\n\n# tcId = 22\n# plaintext size > 16\nct = 19beb4db2be0f3aff0083583038b2281a77c85b5f345ba4d2bc7f742a14f9247\niv = d9c9468796a2f5741b84d2d41430c5d3\nkey = fda6a01194beb462953d7e6c49b32dac\nmsg = f60ae3b036abcab78c98fc1d4b67970c0955cb6fe24483f8907fd73319679b\nresult = valid\n\n# tcId = 23\n# plaintext size > 16\nct = 84904fc92bd2e7590aa268e667370327b9446f41067dd40d3e5091a63a0d5687e4926e00cc3cb461c3b85d80ee2da818\niv = c98b47808add45c0c891983ec4b09846\nkey = efd9caa8ac68e9e29acdae57e93bcea8\nmsg = 3e1d2001f1e475b972738936443a5f51eedaf802a66fadf2406cfaadb0549149fcb9f485e534dc2d\nresult = valid\n\n# tcId = 24\n# plaintext size > 16\nct = 1d1391593a336be4b207295ad0542bc4ef2f39053066e12c38f71603f377fd42f4f0b2b5a42cdfeaee2af039f06fcf347abe171af3157ff07f3cdd3b33e11a60caecf9890325c132eeb66ab847278d165c26bca7c30486bb2fd83b63c5ff7ae0\niv = 08e9410de244d3f40607ebae38fa74e7\nkey = 37e4dbdc436258d5a9adb9f205c77cf3\nmsg = 24a874aec067116ad22eb55846ded3f5e86919a135585c929a86d92b2958fed110e52e33804887243584a6a94402cc9a105e0c940ec335bd2890f16dcce3fc8bd02873c80ade6f1ac08683130bcca454\nresult = valid\n\n# tcId = 25\n# zero padding\nct = aa62606a287476777b92d8e4c4e53028\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 26\n# zero padding\nct = ada437b682c92384b6c23ec10a21b3d8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 27\n# zero padding\nct = 26c5b3e540ee3dd6b52d14afd01a44f8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 28\n# zero padding\nct = fbcbdfdaaf17980be939c0b243266ecbc0deb417e98aba3ee12fea2921f8ae51\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 29\n# zero padding\nct = fbcbdfdaaf17980be939c0b243266ecb1188ff22f6563f6173440547d1e0dfd8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 30\n# padding with 0xff\nct = 726570a34cea08139d9f836579102a0e\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 31\n# padding with 0xff\nct = c8ef7ac3fd659ce7157d72a25f0a5048\niv = 2", - "3468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 32\n# padding with 0xff\nct = 6123c889bbc766acd4bca4cb982f9978\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 33\n# padding with 0xff\nct = fbcbdfdaaf17980be939c0b243266ecb442cd16f7410fca70924b573f7967e84\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 34\n# padding with 0xff\nct = fbcbdfdaaf17980be939c0b243266ecbb20f899b0e7c1d65b931af94b5c44c25\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 35\n# bit padding\nct = 50aeed98a820c5a037a5aa4d4ef3090b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 36\n# bit padding\nct = 25ee339006f948f42713543c62467ef9\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 37\n# bit padding\nct = 97914574676ed5b8db0b6f3931195b3f\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 38\n# bit padding\nct = fbcbdfdaaf17980be939c0b243266ecb2874a1e2d28dd18e5573df9fd59fd789\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 39\n# bit padding\nct = fbcbdfdaaf17980be939c0b243266ecbb547c4fddbdcd3e02f438a2e48587594\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 40\n# padding longer than 1 block\nct = d17ccbb26f0aa95f397b20063547349bac24c5429cbea591e96595cccc11451b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 41\n# padding longer than 1 block\nct = fc07025e81d43efa85f92afdf8781b1e88598e12d6812df43733e93414b9e901\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 42\n# padding longer than 1 block\nct = deb1746f4e9e0be4a21825b071b6e93303031651e0c59091e2ae0fbcce11b987\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 43\n# padding longer than 1 block\nct = fbcbdfdaaf17980be939c0b243266ecb563d35096fde10ccb6f768438c9eb4ec90f399b76924c716e9f94143263306c6\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 44\n# padding longer than 1 block\nct = fbcbdfdaaf17980be939c0b243266ecbc8fd2e2c5362acf5212bd47859aa827d8469b87b0e6adafe3dba98c1885b6345\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 45\n# ANSI X.923 padding\nct = ca5dd2d09bd56eec9e8acaeca20af68e\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 46\n# ANSI X.923 padding\nct = 01e53a5ec9b0957c45f79ed0f4b2b982\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 47\n# ANSI X.923 padding\nct = fbcbdfdaaf17980be939c0b243266ecbd3909bb3457e5b946ff709be9a2ed84d\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 48\n# ANSI X.923 padding\nct = fbcbdfdaaf17980be939c0b243266ecbc5ab3ab637166a6a067b82b5672c08f8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 49\n# ISO 10126 padding\nct = ba0726bd6dea11382b19c842e2ddead2\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 50\n# ISO 10126 padding\nct = 22f18b85c729903744fb8db5ed2840d4\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padd", - "ing. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 51\n# ISO 10126 padding\nct = fbcbdfdaaf17980be939c0b243266ecb6b103fbe43519a18880b7e6d9153e1c2\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 52\n# ISO 10126 padding\nct = fbcbdfdaaf17980be939c0b243266ecbe00bdb15b8a61285447498700d35e0c6\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 53\n# padding longer than message\nct = d17ccbb26f0aa95f397b20063547349b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 54\n# padding longer than message\nct = 2056dfa339fa00be6836999411a98c76\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 55\n# padding longer than message\nct = f92628f6418d8d9c9afac233861b3835\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 56\n# padding longer than message\nct = fbcbdfdaaf17980be939c0b243266ecbc0c41093b495a7d5a080d976493fd0e7\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 57\n# padding longer than message\nct = fbcbdfdaaf17980be939c0b243266ecb6770446a5ccaa26f7d4f970cc5834eba\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 58\n# invalid padding\nct = 4ff3e623fdd432608c183f40864177af\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 59\n# invalid padding\nct = 6a1ef1e6ae6a788777aabd9ccf3cf43a\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 60\n# invalid padding\nct = fbcbdfdaaf17980be939c0b243266ecbee1345cd513161b241f4ae2799b0327f\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 61\n# invalid padding\nct = fbcbdfdaaf17980be939c0b243266ecbe0d539beef6f2d4f7cda4fd9f4f05570\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n[ivSize = 128]\n[keySize = 192]\n\n# tcId = 62\n# empty message\nct = ff0c315873b4b1872abef2353b792ef0\niv = db20f9a6f4d6b4e478f1a4b9d4051d34\nkey = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631\nmsg = \nresult = valid\n\n# tcId = 63\n# message size divisible by block size\nct = 7dbd573e4db58a318edfe29f199d8cda538a49f36486337c2711163e55fd5d0b\niv = 69a76dc4da64d89c580eb75ae975ec39\nkey = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb\nmsg = 0e239f239705b282ce2200fe20de1165\nresult = valid\n\n# tcId = 64\n# message size divisible by block size\nct = bd0258909e5b72438d95ca4b29c8a79c6228fd06a3b2fa06f7659654c7b24610f23f2fb16313b7d3614cb0cd16fabb8e\niv = 6525667350930fb945dd1895a3abfcd1\nkey = 9d11abc1fcb248a436598e695be12c3c2ed90a18ba09d62c\nmsg = aa5182cae2a8fb068c0b3fb2be3e57ae523d13dffd1a944587707c2b67447f3f\nresult = valid\n\n# tcId = 65\n# message size divisible by block size\nct = 6cbeacf8de25d7dd9dcdc087bf2f80873b1eb335400589076f8d2bf81e294c5d72b85eb8ac9558b0de9e9fbee4b18716e5220c507fbb9d319a08f67816765ca6\niv = 3943d8fddd5bb2a59772df31a31a8fff\nkey = 7e41d83181659a2c38da5ead353cdb04c2b4d4a3cfe58e25\nmsg = 8a32d11c7a11aa72e13381632b1310f4fd90fc209a6a350e61c069a561871214f9c04fc1df7354cbe4d8d639c525d324\nresult = valid\n\n# tcId = 66\n# small plaintext size\nct = 519925956d32e4fa350b1144f088e4e8\niv = 1379d48493f743e6a149deb3b9bab31e\nkey = 915429743435c28997a33b33b6574a953d81dae0e7032e6a\nmsg = 58\nresult = valid\n\n# tcId = 67\n# small plaintext size\nct = bfb90aa7de1bdeed5bdc5703bdfd9630\niv = 48c7f44b43a1279d820733e6cb30617a\nkey = f0c288ba26b284f9fb321b444a6517b3cdda1a799d55fdff\nmsg = 0f7e\nresult = valid\n\n# tcId = 68\n# small plaintext size\nct = b1a25816908c086f26037d10b7be9ad9\niv = 2c287b38cc30c8c351b087b91a6a97ba\nkey = 6b55e4d4fd6847a80a6bfb0dcc0aa93f9fd797fc5c50292e\nmsg = 33f530\nresult = valid\n\n# tcId = 69\n# small plaintext size\nct = 74dbdecbfa94b71d2d6ef03200c7d095\niv = 61f6060919c9c09ef06be28f39c344aa\nkey = 1eb21a9e995a8e45c9e71ecbd6fe615b3e0318007c64b644\nmsg = 3aa73c48\nresult = valid\n\n# tcId = 70\n# small plaintext size\nct = 10c860aaee23c3c3c1b9306b189dd80d\niv = 7682005907bfef3ce00196a17ad2246d\nkey = 710e2d5d4a9f0bc7e50796655e046a18cc5769d7764355da\nmsg = 7e4c690a88\nresult = valid\n\n# tcId = 71\n# small plaintext size\nct = 673dcd444386930a0cc577fab4501e5c\niv = 1f6c912997ce007701e5fdf407c6b421\nkey = d8c09ea400779b63e774bdacd0cb7b5dd6f736ca23d52acf\nmsg = e9520280973b\nresult = valid\n\n# tcId = 72\n# small plaintext size\nct = 059e5f72a81d8820add8eae8fabcdd42\niv = 5854033ae50de090678432781a168b6c\nkey = 8e67e9a0863b55bed408866f1cbc05357abe3f9d79f406f2\nmsg = 4880b412287a0b\nresult = valid\n\n# tcId = 73\n# small plaintext size\nct = c412159fd5ae20d771b7d2e734124d6a\niv = 003b2d86d8b636c58cf664565572d5e6\nkey = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c\nmsg = 004e3f4a4e6db955\nresult = valid\n\n# tcId = 74\n# small plaintext size\nct = 4aba571c2c5ab9a6140f16efc68c8ec1\niv = 3f22b50f888ab9424ba871d15aac55b7\nkey = dc968dd89fd602bb7eca6f3a8a13e4f59c08d02a514b1934\nmsg = 41a25354efeb1bc3b8\nresult = valid\n\n# tcId = 75\n# small plaintext size\nct = 66d1b9152a8cd1a88eab341c775070b4\niv = e4b8dde04b49fa6b88bfccd8d70c21d1\nkey = 7658951c0f620d82afd92756cc2d7983b79da3e56fdd1b78\nmsg = f0e82fb5c5666f4af49f\nresult = valid\n\n# tcId = 76\n# small plaintext size\nct = d9377788e2881a48f9347786db7df51f\niv = 7753f616cd8796c9b8a3bbfbe6cb1e7f\nkey = d9574c3a221b986690931faac5258d9d3c52362b2cb9b054\nmsg = 178ea8404ba54ee4e4522c\nresult = valid\n\n# tcId = 77\n# small plaintext size\nct =", - " db825f4434ea3bb53576fa7385fb7dfe\niv = eae9ee19ccb7f8b087675709c4d35f73\nkey = 704409bab28085c44981f28f75dd143a4f747106f63f262e\nmsg = cda5709e7f115624e74ab031\nresult = valid\n\n# tcId = 78\n# small plaintext size\nct = 3e7287df2a5ed9de4d817e352bd47ea7\niv = a6aaff339a729d30a7ec1328db36d23e\nkey = d8d06ef6a53bbff5c8f12d791b8f4c67e574bf440736d1cc\nmsg = a1171eae1979f48345dd9485a0\nresult = valid\n\n# tcId = 79\n# small plaintext size\nct = 17c3ade4b469ae614760039a8fa6250e\niv = 92fda71e88c70d18ed71b992735a2150\nkey = 71129e781613f39d9ac39fbde2628b44c250c14deb5ef9e2\nmsg = 967593cc64bcbf7f3c58d04cb82b\nresult = valid\n\n# tcId = 80\n# small plaintext size\nct = 9cafecff2a28d02f732573f65a2cadca\niv = ed6596c86b98123ad2f3c573e974d051\nkey = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331\nmsg = 586f4f171af116519061a8e0e77940\nresult = valid\n\n# tcId = 81\n# plaintext size > 16\nct = 401ad889bdb9d38816c782e00b168ccccde9bf75f4be868ceb91237e8b37b750\niv = c45b52a240eba3bdde5dfd57f3d474fb\nkey = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614\nmsg = b1973cb25aa87ef9d1a8888b0a0f5c04c6\nresult = valid\n\n# tcId = 82\n# plaintext size > 16\nct = 455d516e87851e6c894578a0f7126e0acbc7cfbb1d80296647ab89a79dfa6f71\niv = 07ece5fe02266e073499fd4d66929034\nkey = b7f165bced1613da5e747fdf9255832d30c07f2deeb5a326\nmsg = 289647ea8d0ff31375a82aa1c620903048bb1d0e\nresult = valid\n\n# tcId = 83\n# plaintext size > 16\nct = cbf541330a5a9bda24984976b0cf96ba08ef521fa2cdb3df839128570e222ac4\niv = d799157bc1f77c182027be918b30783a\nkey = 9bbe6e004fb260dadb02b68b78954f1da5e6a2d02e0aeefe\nmsg = 665423092ce95b927e98b8082030f58e33f3ec1b0c29532c2f421855f00f97\nresult = valid\n\n# tcId = 84\n# plaintext size > 16\nct = 03225f08592efca14ad8ecf822465e8be4157465d0be150dd3d645b6fef1b19ca7bbaa5940b2a7895fa2b0ee55b0d4ec\niv = fdf97645e4192ba84728bbf6683f79de\nkey = 1381fbd5e79045d40f29790fc1a436c95b040a046ebf0b0f\nmsg = d575dce596dd0a2cd1c18dab7eb0948fafb8669969a48b6314493bfb8daf8acacd51382f9bb5b357\nresult = valid\n\n# tcId = 85\n# plaintext size > 16\nct = 27ad00313f328f0d3e6c3238ab560cb7243a9f54f7dff79b5a7a879439993d458017f09e8d3f694098bc19e61fe54085138664abb51a5b328cf2c9ce5d59726fff5e1b7553c143d9e0493c51cab23ff2ecdad91bd72bb12b32f3b611f9a4225d\niv = 059685f59247eea5d3f2a1532cb9d6b2\nkey = 1bb4ed0e8435e20729f48c1b7e3af6e69e4cebf0731131cf\nmsg = 6d29dab6a0568c961ab3c825e0d89940cef06c63ade7e557cd3e92792eaf23c8cd5a0f029c63b1cdce4754ccfad7a73c7c9e50ffe081e9136f5e9a424077339de12ea43572afe1b034e833e5887763aa\nresult = valid\n\n# tcId = 86\n# zero padding\nct = 2c010faa25c68c3b30b8c1491c316d5f\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 87\n# zero padding\nct = 818454d433154a8e00e8f590b8a1c38c\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 88\n# zero padding\nct = 0a7423fae3f4c8d4633f839d36f2e9ff\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 89\n# zero padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432e83f6e522c371e6e71bde539595b70b7\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 90\n# zero padding\nct = a7cfcdabcc5a2736a2708c1cb0b6143254d15f47701fa54f5957828f386e1d97\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 91\n# padding with 0xff\nct = 6ded36cc7603e514014dfb7199900676\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 92\n# padding with 0xff\nct = 839f772f8e5f50afdc02f954094869fe\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 93\n# padding with 0xff\nct = eefe3553c099c187929b287e54f95726\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 94\n# padding with 0xff\nct = a7cfcdabcc5a2736a2708c1cb0b61432d0531a2641d40467353542d79ce20ea8\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 95\n# padding with 0xff\nct = a7cfcdabcc5a2736a2708c1cb0b61432aaf08a090ecf66167ba5958100be7950\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 96\n# bit padding\nct = c0e402c8bbdda18c8ddd86470bd4b244\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 97\n# bit padding\nct = dc185d4572565e01131e471ec4c48125\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 98\n# bit padding\nct = 3ad1ddf3c3b320398785e6ec6544e9a2\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 99\n# bit padding\nct = a7cfcdabcc5a2736a2708c1cb0b614325876f90cfbbdbcd85e8252d37c44c638\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the mess", - "age encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 100\n# bit padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432d18f57216b0e6426d911998a0e44156b\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 101\n# padding longer than 1 block\nct = f1605abb4e6628347c616da350fe243043a8d7b6aea244ca013f45241d802213\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 102\n# padding longer than 1 block\nct = a5f027fb9514ec8844534d452c940feb2c1807f57ed628156cf753f2ab698356\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 103\n# padding longer than 1 block\nct = f346fbc9744d723c42bbb2a4c934cdd4f1019e58c226cb2491fed621271a38f3\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 104\n# padding longer than 1 block\nct = a7cfcdabcc5a2736a2708c1cb0b6143263eb325d36e13aa1d3dd1d7e071700104c7eb3e22e0859aa06296bc3194bb909\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 105\n# padding longer than 1 block\nct = a7cfcdabcc5a2736a2708c1cb0b61432219485d41584bd110a6d7a9cad472815d93921c48d4bcb509fdf2e63d7627c37\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 106\n# ANSI X.923 padding\nct = 215571a18a70140f3a0fd4c1b2dd6316\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 107\n# ANSI X.923 padding\nct = 2529985ec0ec3cf4bd22746e00d7bdc6\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 108\n# ANSI X.923 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614329a8058657ac4a150e995cf83efccf051\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 109\n# ANSI X.923 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614328a068626780ba600f880bd5323f8ac15\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 110\n# ISO 10126 padding\nct = 13e75f9ffe2afa81b9a2e7faf74aab6d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 111\n# ISO 10126 padding\nct = a382197fe491f5c3f91b629dc47c3d58\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 112\n# ISO 10126 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614320b842e5d6e32660263ff814a0277659f\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 113\n# ISO 10126 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614321d2f736515cfe17921800eb392e0139d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 114\n# padding longer than message\nct = f1605abb4e6628347c616da350fe2430\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 115\n# padding longer than message\nct = b3602ff0f797cbbdde35105d27e55b94\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 116\n# padding longer than message\nct = 0334c1bc34b597f60a639e74d8b45c4e\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 117\n# padding longer than message\nct = a7cfcdabcc5a2736a2708c1cb0b61432c3f9fe42d9715035bcda97d27405ced7\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 118\n# padding longer than message\nct = a7cfcdabcc5a2736a2708c1cb0b61432362b014a", - "9abdaf25ae1f6dfb99d03d9d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 119\n# invalid padding\nct = 97ab405b86c388f144cf74fbb9358493\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 120\n# invalid padding\nct = 691f6009802f0fb4920928db7eca1349\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 121\n# invalid padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432a99fc96a6fa0c9fcb18de1672d74914d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 122\n# invalid padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432dd1bb2e98102322fb1aa92c979d4c7c3\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n[ivSize = 128]\n[keySize = 256]\n\n# tcId = 123\n# empty message\nct = e7c166554d1bb32792c981fa674cc4d8\niv = eb38ef61717e1324ae064e86f1c3e797\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\n\n# tcId = 124\n# message size divisible by block size\nct = 299295be47e9f5441fe83a7a811c4aeb2650333e681e69fa6b767d28a6ccf282\niv = 9ec7b863ac845cad5e4673da21f5b6a9\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\n\n# tcId = 125\n# message size divisible by block size\nct = a615a39ff8f59f82cf72ed13e1b01e32459700561be112412961365c7a0b58aa7a16d68c065e77ebe504999051476bd7\niv = e70d83a77a2ce722ac214c00837acedf\nkey = 96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892\nmsg = 91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18\nresult = valid\n\n# tcId = 126\n# message size divisible by block size\nct = ed3ed8ecdbabc0a8c06259e913f3ab9a1f1dc6d05e5dfdd9c80e1008f3423064d540681291bbd3e159820fee3ff190a68fe506d8ab9e62c8e7b3816093336dbc\niv = bd003c0a9d804c29f053a77cb380cb47\nkey = 649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe\nmsg = 39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917\nresult = valid\n\n# tcId = 127\n# small plaintext size\nct = 42c0b89a706ed2606cd94f9cb361fa51\niv = 014d2e13dfbcb969ba3bb91442d52eca\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\n\n# tcId = 128\n# small plaintext size\nct = b90c326b72eb222ddb4dae47f2bc223c\niv = fae3e2054113f6b3b904aadbfe59655c\nkey = ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f\nmsg = 6601\nresult = valid\n\n# tcId = 129\n# small plaintext size\nct = 567c45c5e6d570bef583d21cac43757d\niv = 203cd3e0068e43d38b6f2e48a188f252\nkey = 73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b\nmsg = f1d300\nresult = valid\n\n# tcId = 130\n# small plaintext size\nct = c45afe62fc9351ad0fc9b03bc2f3a91f\niv = abcf220eede012279c3a2d33295ff273\nkey = d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77\nmsg = 2ae63cbf\nresult = valid\n\n# tcId = 131\n# small plaintext size\nct = 281fa533d0740cc6cdf94dd1a5f7402d\niv = 01373953578902909ae4f6cb0a72587c\nkey = 2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8\nmsg = af3a015ea1\nresult = valid\n\n# tcId = 132\n# small plaintext size\nct = 3f3f39697bd7e88d85a14132be1cbc48\niv = 3fb0d5ecd06c71150748b599595833cb\nkey = 665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c\nmsg = 3f56935def3f\nresult = valid\n\n# tcId = 133\n# small plaintext size\nct = 379990d91557614836381d5026fa04a0\niv = 27a2db6114ece34fb6c23302d9ba07c6\nkey = facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493\nmsg = 57bb86beed156f\nresult = valid\n\n# tcId = 134\n# small plaintext size\nct = 7ecefe24caa78a68f4031d40fdb9a43a\niv = 9b2b631e3f24bdc814a14abb3416059e\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\n\n# tcId = 135\n# small plaintext size\nct = ffe4ec8baf4af40ab2e7f4d6193fae9c\niv = 92cfc4eb146b18b73fc76483fc5e1229\nkey = f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf\nmsg = 852a21d92848e627c7\nresult = valid\n\n# tcId = 136\n# small plaintext size\nct = ef96215e7950e7be8aae78b9ec8aaf39\niv = 4ceed8dcb75b6259dad737bdef96f099\nkey = 64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4\nmsg = 195a3b292f93baff0a2c\nresult = valid\n\n# tcId = 137\n# small plaintext size\nct = 4ed0eac75b05868078303875f82fb4f0\niv = 2d4cead3f1120a2b4b59419d04951e20\nkey = b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c\nmsg = afd73117330c6e8528a6e4\nresult = valid\n\n# tcId = 138\n# small plaintext size\nct = f4d298caea7c390fc8c7f558f584f852\niv = a10392634143c2a3332fa0fb3f72200a\nkey = 2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc\nmsg = 0ff54d6b6759120c2e8a51e3\nresult = valid\n\n# tcId = 139\n# small plaintext size\nct = 5e1c00e2ec829f92b87c6adf5c25262d\niv = 38b916a7ad3a9251ae3bd8865ca3a688\nkey = abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8\nmsg = f0058d412a104e53d820b95a7f\nresult = valid\n\n# tcId = 140\n# small plaintext size\nct = bf3a04ddb2dbfe7c6dc9e15aa67be25d\niv = bfcc3ac44d12e42d780c1188ac64b57f\nkey = 3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19\nmsg = aacc36972f183057919ff57b49e1\nresult = valid\n\n# tcId = 141\n# small plaintext size\nct = fdcfa77f5bd09326b4c11f9281b72474\niv = 35bc82e3503b95044c6406a8b2c2ecff\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\n\n# tcId = 142\n# plaintext size > 16\nct = fbea776fb1653635f88e2937ed2450ba4e9063e96d7cdba04928f01cb85492fe\niv = 4b74bd981ea9d074757c3e2ef515e5fb\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\n\n# tcId = 143\n# plaintext size > 16\nct = 3a79bb6084c7116b58afe52d7181a0aacee1caa11df959090e2e7b0073d74817\niv = 9a1d8ccc24c5e4d3995480af236be103\nkey = c2039f0d05951aa8d9fbdf68be58a37cf99bd1afcedda286a9db470c3729ca92\nmsg = ed5b5e28e9703bdf5c7b3b080f2690a605fcd0d9\nresult = valid\n\n# tcId = 144\n# plaintext size > 16\nct = 642b11efb79b49e5d038bc7aa29b8c6c3ce0bf11c3a69670eb565799908be66d\niv = 400aab92803bcbb44a96ef789655b34e\nkey = 4f097858a1aec62cf18f0966b2b120783aa4ae9149d3213109740506ae47adfe\nmsg = ee53d8e5039e82d9fcca114e375a014febfea117a7e709d9008d43858e3660\nresult = valid\n\n# tcId = 145\n# plaintext size > 16\nct = a9b051354f0cf61f11921b330e60f996de796aeb68140a0f9c5962e1f48e4805262fb6f53b26d9bb2fa0e359efe14734\niv = 6eedf45753ffe38f2407fbc28ab5959c\nkey = 5f99f7d60653d79f088dd07ef306b65e057d36e053fa1c9f6854425c019fd4df\nmsg = fcc9212c23675c5d69a1266c77389bc955e453daba20034aabbcd502a1b73e05af30f8b7622abdbc\nresult = valid\n\n# tcId = 146\n# plaintext size > 16\nct = 5074f46f1a6d0eeff070d623172eb15bbfc83e7d16466a00c9da5f4545eecf44adbf60cf9ac9aa1a3ec5eca22d4a34a7b21ca44d214c9d04ab1cb0b2c07001de9adb46f3c12f8f48436b516a409bf6cbdf1871dee3115d5cbb7943558b68867e\niv = f88551c6aa197f9ad80251c2e32d7663\nkey = 95aaa5df4ccb529e9b", - "2dc929e770c1f419f8e8933bfb36f632f532b3dcad2ba6\nmsg = f5735567b7c8312f116517788b091cc6cb1d474b010a77910154fd11c3b2f0cd19f713b63d66492e8cc7ee8ad714783f46c305a26416e11ff4b99ec5ce2550593cc5ec1b86ba6a66d10f82bdff827055\nresult = valid\n\n# tcId = 147\n# zero padding\nct = e07558d746574528fb813f34e3fb7719\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 148\n# zero padding\nct = c01af61276368818a8295f7d4b5bb2fd\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 149\n# zero padding\nct = 97dd9716f06be49160399a5b212250ae\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 150\n# zero padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce783bb4b4e18d7c646f38e0bb8ff92896\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 151\n# zero padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce64679a46621b792f643542a735f0bbbf\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 152\n# padding with 0xff\nct = c007ddffb76b95208505fe7f3be96172\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 153\n# padding with 0xff\nct = e9b7719c4c2b9fa6b94cb50e87b28156\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 154\n# padding with 0xff\nct = 77b31f474c4bd489dbadd532643d1fa5\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 155\n# padding with 0xff\nct = 8881e9e02fa9e3037b397957ba1fb7cea0166e9e1c0122cb2e2983fc0fac7176\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 156\n# padding with 0xff\nct = 8881e9e02fa9e3037b397957ba1fb7ce6f0effa789cbb0b875cc53cc8f7b3caf\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 157\n# bit padding\nct = 4dd5f910c94700235c9ed239160e34e2\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 158\n# bit padding\nct = 94d18b5923f8f3608ae7ad494fbb517e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 159\n# bit padding\nct = 0c92886dbcb030b873123a25d224da42\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 160\n# bit padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce851be67798a2937cd6681165da6dce03\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 161\n# bit padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce45658a37aaebc51098866b0894007e8e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 162\n# padding longer than 1 block\nct = 524236e25956e950713bec0d3d579068f34e4d18c4ccab081317dae526fe7fca\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 163\n# padding longer than 1 block\nct = d29eb845640c3a8878f51bc50e290aa4a65a34a93728fe8f82fdb8d3d2b7c648\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 164\n# padding longer than 1 block\nct = c34563be2952277c0f5c67ae1d6f847118730dd7f6a502ceef3c4bce5999f7aa\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the p", - "adding during decryption.\n\n# tcId = 165\n# padding longer than 1 block\nct = 8881e9e02fa9e3037b397957ba1fb7cec0f74a1aa92fd9c96f9d15d193d1695c1eb33486e269277612f90f509f0535c2\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 166\n# padding longer than 1 block\nct = 8881e9e02fa9e3037b397957ba1fb7ce151ade309ec5200bacdd83b57ce794cd2b3bf9f8957def829e8465f7db266f9e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 167\n# ANSI X.923 padding\nct = fb38cbef13f1d5be9c0ac7ed9cbe023c\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 168\n# ANSI X.923 padding\nct = 18cf8988abe9a2463a3a75db1fac8bcc\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 169\n# ANSI X.923 padding\nct = 8881e9e02fa9e3037b397957ba1fb7cee16d6fc4b4d3cdf6f915996e437fd4cc\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 170\n# ANSI X.923 padding\nct = 8881e9e02fa9e3037b397957ba1fb7cea8f41f61ead6e9936cbe7ee5a1163b9b\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 171\n# ISO 10126 padding\nct = a05c14da0109093c195b4998812fe150\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 172\n# ISO 10126 padding\nct = c477877250c8e4ca2869f35c4757cdb4\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 173\n# ISO 10126 padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce69f57c6e99c7b9df7d4879ccd15caf3d\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 174\n# ISO 10126 padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce77f89a247c928f147748ce6bc8fc4b67\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 175\n# padding longer than message\nct = 524236e25956e950713bec0d3d579068\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 176\n# padding longer than message\nct = e03b6f2ae1c963b6dfa40b42d34314b7\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 177\n# padding longer than message\nct = df14f4cbbccca57b9727d68270a1b6c1\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 178\n# padding longer than message\nct = 8881e9e02fa9e3037b397957ba1fb7ceea228bf1edd41c390e2eef140142bc00\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 179\n# padding longer than message\nct = 8881e9e02fa9e3037b397957ba1fb7ce3937e0e9abf7f672a34a500ba8e9099a\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 180\n# invalid padding\nct = 32ac6057df2a5d1e2e5131348c6ebc4e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 181\n# invalid padding\nct = df4a7c3b9f4756d30fca0d18e9b28960\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 182\n# invalid padding\nct = 8881e9e02fa9e3037b397957ba1fb7ceae2855c47c7988873d57f901e049494b\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId =", - " 183\n# invalid padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce0714c8de200b27ac91d9257fc93c13be\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n", +static const char *kData89[] = { + "# Imported from Wycheproof's aes_cbc_pkcs5_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-CBC-PKCS5\n# Generator version: 0.8r12\n\n[ivSize = 128]\n[keySize = 128]\n\n# tcId = 1\n# empty message\nct = b10ab60153276941361000414aed0a9d\niv = da9520f7d3520277035173299388bee2\nkey = e34f15c7bd819930fe9d66e0c166e61c\nmsg = \nresult = valid\n\n# tcId = 2\n# message size divisible by block size\nct = d1fa697f3e2e04d64f1a0da203813ca5bc226a0b1d42287b2a5b994a66eaf14a\niv = c9ee3cd746bf208c65ca9e72a266d54f\nkey = e09eaa5a3f5e56d279d5e7a03373f6ea\nmsg = ef4eab37181f98423e53e947e7050fd0\nresult = valid\n\n# tcId = 3\n# message size divisible by block size\nct = 514cbc69aced506926deacdeb0cc0a5a07d540f65d825b65c7db0075cf930a06e0124ae598461cab0b3251baa853e377\niv = 8b2e86a9a185cfa6f51c7cc595b822bc\nkey = 9bd3902ed0996c869b572272e76f3889\nmsg = a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e\nresult = valid\n\n# tcId = 4\n# message size divisible by block size\nct = 137c824d7f7dc36f24216dde37c2e1c10cee533f6453de92e44b898fc3037d2e9e19d67a96387136dd9717a56e28614a5c177158f402ce2936fd98d1feb6a817\niv = 2717d10eb2eea3b39ec257e43307a260\nkey = 75ce184447cada672e02290310d224f7\nmsg = c774810a31a6421ad8eaafd5c22fa2455e2c167fee4a0b73ff927b2d96c69da1e939407b86b1c19bcfc69c434c3cf8a2\nresult = valid\n\n# tcId = 5\n# small plaintext size\nct = 599d77aca16910b42d8b4ac9560efe1b\niv = 155fd397579b0b5d991d42607f2cc9ad\nkey = e1e726677f4893890f8c027f9d8ef80d\nmsg = 3f\nresult = valid\n\n# tcId = 6\n# small plaintext size\nct = 74e20bf03a0ad4b49edc86a1b19c3d1d\niv = 4eb836be6808db264cb1111a3283b394\nkey = b151f491c4c006d1f28214aa3da9a985\nmsg = 27d9\nresult = valid\n\n# tcId = 7\n# small plaintext size\nct = 3f7a26558ba51cf352219d34c46907ae\niv = a8446c27ea9068d8d924d5c4eac91157\nkey = c36ff15f72777ee21deec07b63c1a0cd\nmsg = 50b428\nresult = valid\n\n# tcId = 8\n# small plaintext size\nct = c29d1463baccc558fd720c897da5bb98\niv = ef026d27da3702d7bb72e5e364a8f8f2\nkey = 32b9c5c78c3a0689a86052420fa1e8fc\nmsg = 0b9262ec\nresult = valid\n\n# tcId = 9\n# small plaintext size\nct = e24a717914f9cc8eaa1dc96f7840d6af\niv = c9defd3929dcd6c355c144e9750dd869\nkey = 43151bbaef367277ebfc97509d0aa49c\nmsg = eaa91273e7\nresult = valid\n\n# tcId = 10\n# small plaintext size\nct = f080e487f4e5b7aed793ea95ffe4bb30\niv = ce91e0454b0123f1ead0f158826459e9\nkey = 481440298525cc261f8159159aedf62d\nmsg = 6123c556c5cc\nresult = valid\n\n# tcId = 11\n# small plaintext size\nct = 27cadee413ed901f51c9366d731d95f6\niv = 1cb7bc8fe00523e7743d3cd9f483d6fe\nkey = 9ca26eb88731efbf7f810d5d95e196ac\nmsg = 7e48f06183aa40\nresult = valid\n\n# tcId = 12\n# small plaintext size\nct = 59bf12427b51a3aee0c9d3c540d04d24\niv = a345f084229dbfe0ceab6c6939571532\nkey = 48f0d03e41cc55c4b58f737b5acdea32\nmsg = f4a133aa6d5985a0\nresult = valid\n\n# tcId = 13\n# small plaintext size\nct = 1a0a18355f8ca4e6e2cf31da18d070da\niv = e5b6f73f132355b7be7d977bea068dfc\nkey = 1c958849f31996b28939ce513087d1be\nmsg = b0d2fee11b8e2f86b7\nresult = valid\n\n# tcId = 14\n# small plaintext size\nct = cef498ea61715a27f400418d1d5bfbf0\niv = c7cd10ca949ea03e7d4ba204b69e09b8\nkey = 39de0ebea97c09b2301a90009a423253\nmsg = 81e5c33b4c620852f044\nresult = valid\n\n# tcId = 15\n# small plaintext size\nct = 7ab43ddc45835ce40d2280bcea6a63f2\niv = bb8c9af30821dfeb7124392a554d9f01\nkey = 91656d8fc0aced60ddb1c4006d0dde53\nmsg = 7b3e440fe566790064b2ec\nresult = valid\n\n# tcId = 16\n# small plaintext size\nct = c70b457c945ad40895cf4c8be3ce7c66\niv = 54c3b90ca6e933f9094334d0263d3775\nkey = af7d5134720b5386158d51ea126e7cf9\nmsg = 7cc6fcc925c20f3c83b5567c\nresult = valid\n\n# tcId = 17\n# small plaintext size\nct = f9900afee2acfe63f8f15d81bbf64c39\niv = 9a2c5e91d4f0b9b9da64b46c5c2c8cb2\nkey = 4ed56753de6f75a032ebabca3ce27971\nmsg = 0c8c0f5619d9f8da5339281285\nresult = valid\n\n# tcId = 18\n# small plaintext size\nct = da4137bd8ac78e75a700b3de806f2d6f\niv = cf7951501104e1434309e6b936ec1742\nkey = beba50c936b696c15e25046dffb23a64\nmsg = 821ea8532fbabffb6e3d212e9b46\nresult = valid\n\n# tcId = 19\n# small plaintext size\nct = fed05321d11d978e2ec32527ecfce06c\niv = 90f5cf4fbfd2e2a1ab8eef402617bd5c\nkey = 501d81ebf912ddb87fbe3b7aac1437bc\nmsg = 2368e3c3636b5e8e94d2081adbf798\nresult = valid\n\n# tcId = 20\n# plaintext size > 16\nct = 8d55dc10584e243f55d2bdbb5758b7fabcd58c8d3785f01c7e3640b2a1dadcd9\niv = 54f2459e40e002763144f4752cde2fb5\nkey = 831e664c9e3f0c3094c0b27b9d908eb2\nmsg = 26603bb76dd0a0180791c4ed4d3b058807\nresult = valid\n\n# tcId = 21\n# plaintext size > 16\nct = e9199842355ea0c3dbf1b2a94fef1c802a95d024df9e407883cf5bf1f02c3cdc\niv = 088e01c2c65b26e7ad6af7b92ea09d73\nkey = cbffc6c8c7f76f46349c32d666f4efb0\nmsg = 6df067add738195fd55ac2e76b476971b9a0e6d8\nresult = valid\n\n# tcId = 22\n# plaintext size > 16\nct = 19beb4db2be0f3aff0083583038b2281a77c85b5f345ba4d2bc7f742a14f9247\niv = d9c9468796a2f5741b84d2d41430c5d3\nkey = fda6a01194beb462953d7e6c49b32dac\nmsg = f60ae3b036abcab78c98fc1d4b67970c0955cb6fe24483f8907fd73319679b\nresult = valid\n\n# tcId = 23\n# plaintext size > 16\nct = 84904fc92bd2e7590aa268e667370327b9446f41067dd40d3e5091a63a0d5687e4926e00cc3cb461c3b85d80ee2da818\niv = c98b47808add45c0c891983ec4b09846\nkey = efd9caa8ac68e9e29acdae57e93bcea8\nmsg = 3e1d2001f1e475b972738936443a5f51eedaf802a66fadf2406cfaadb0549149fcb9f485e534dc2d\nresult = valid\n\n# tcId = 24\n# plaintext size > 16\nct = 1d1391593a336be4b207295ad0542bc4ef2f39053066e12c38f71603f377fd42f4f0b2b5a42cdfeaee2af039f06fcf347abe171af3157ff07f3cdd3b33e11a60caecf9890325c132eeb66ab847278d165c26bca7c30486bb2fd83b63c5ff7ae0\niv = 08e9410de244d3f40607ebae38fa74e7\nkey = 37e4dbdc436258d5a9adb9f205c77cf3\nmsg = 24a874aec067116ad22eb55846ded3f5e86919a135585c929a86d92b2958fed110e52e33804887243584a6a94402cc9a105e0c940ec335bd2890f16dcce3fc8bd02873c80ade6f1ac08683130bcca454\nresult = valid\n\n# tcId = 25\n# zero padding\nct = aa62606a287476777b92d8e4c4e53028\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 26\n# zero padding\nct = ada437b682c92384b6c23ec10a21b3d8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 27\n# zero padding\nct = 26c5b3e540ee3dd6b52d14afd01a44f8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 28\n# zero padding\nct = fbcbdfdaaf17980be939c0b243266ecbc0deb417e98aba3ee12fea2921f8ae51\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 29\n# zero padding\nct = fbcbdfdaaf17980be939c0b243266ecb1188ff22f6563f6173440547d1e0dfd8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 30\n# padding with 0xff\nct = 726570a34cea08139d9f836579102a0e\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 31\n# padding with 0xff\nct = c8ef7ac3fd659ce7157d72a25f0a5048\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 32\n# padding with 0xff\nct = 6123c889bbc766acd4bca4cb982f9978\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 33\n# padding with 0xff\nct = fbcbdfdaaf17980be939c0b243266ecb442cd16f7410fca70924b573f7967e84\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 34\n# padding with 0xff\nct = fbcbdfdaaf17980be939c0b243266ecbb20f899b0e7c1d65b931af94b5c44c25\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 35\n# bit padding\nct = 50aeed98a820c5a037a5aa4d4ef3090b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 36\n# bit padding\nct = 25ee339006f948f42713543c", + "62467ef9\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 37\n# bit padding\nct = 97914574676ed5b8db0b6f3931195b3f\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 38\n# bit padding\nct = fbcbdfdaaf17980be939c0b243266ecb2874a1e2d28dd18e5573df9fd59fd789\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 39\n# bit padding\nct = fbcbdfdaaf17980be939c0b243266ecbb547c4fddbdcd3e02f438a2e48587594\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 40\n# padding longer than 1 block\nct = d17ccbb26f0aa95f397b20063547349bac24c5429cbea591e96595cccc11451b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 41\n# padding longer than 1 block\nct = fc07025e81d43efa85f92afdf8781b1e88598e12d6812df43733e93414b9e901\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 42\n# padding longer than 1 block\nct = deb1746f4e9e0be4a21825b071b6e93303031651e0c59091e2ae0fbcce11b987\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 43\n# padding longer than 1 block\nct = fbcbdfdaaf17980be939c0b243266ecb563d35096fde10ccb6f768438c9eb4ec90f399b76924c716e9f94143263306c6\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 44\n# padding longer than 1 block\nct = fbcbdfdaaf17980be939c0b243266ecbc8fd2e2c5362acf5212bd47859aa827d8469b87b0e6adafe3dba98c1885b6345\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 45\n# ANSI X.923 padding\nct = ca5dd2d09bd56eec9e8acaeca20af68e\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 46\n# ANSI X.923 padding\nct = 01e53a5ec9b0957c45f79ed0f4b2b982\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 47\n# ANSI X.923 padding\nct = fbcbdfdaaf17980be939c0b243266ecbd3909bb3457e5b946ff709be9a2ed84d\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 48\n# ANSI X.923 padding\nct = fbcbdfdaaf17980be939c0b243266ecbc5ab3ab637166a6a067b82b5672c08f8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 49\n# ISO 10126 padding\nct = ba0726bd6dea11382b19c842e2ddead2\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 50\n# ISO 10126 padding\nct = 22f18b85c729903744fb8db5ed2840d4\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 51\n# ISO 10126 padding\nct = fbcbdfdaaf17980be939c0b243266ecb6b103fbe43519a18880b7e6d9153e1c2\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 52\n# ISO 10126 padding\nct = fbcbdfdaaf17980be939c0b243266ecbe00bdb15b8a61285447498700d35e0c6\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 53\n# padding longer than message\nct = d17ccbb26f0aa95f397b20063547349b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 54\n# padding longer than message\nct = 2056dfa339fa00be6836999411a98c76\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 55\n# padding longer than message\nct = f92628f6418d8d9c9afac233861b3835\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 56\n# padding longer than message\nct = fbcbdfdaaf17980be939c0b243266ecbc0c41093b495a7d5a080d976493fd0e7\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 57\n# padding longer than message\nct = fbcbdfdaaf17980be939c0b243266ecb6770446a5ccaa26f7d4f970cc5834eba\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 58\n# invalid padding\nct = 4ff3e623fdd432608c183f40864177af\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 59\n# invalid padding\nct = 6a1ef1e6ae6a788777aabd9ccf3cf43a\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 60\n# invalid padding\nct = fbcbdfdaaf17980be939c0b243266ecbee1345cd513161b241f4ae2799b0327f\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 61\n# invalid padding\nct = fbcbdfdaaf17980be939c0b243266ecbe0d539beef6f2d4f7cda4fd9f4f05570\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n[ivSize = 128]\n[keySize = 192]\n\n# tcId = 62\n# empty message\nct = ff0c315873b4b1872abef2353b792ef0\niv = db20f9a6f4d6b4e478f1a4b9d4051d34\nkey = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631\nmsg = \nresult = valid\n\n# tcId = 63\n# message size divisible by block size\nct = 7dbd573e4db58a318edfe29f199d8cda538a49f36486337c2711163e55fd5d0b\niv = 69a76dc4da64d89c580eb75ae975ec39\nkey = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb\nmsg = 0e239f239705b282ce2200fe20de1165\nresult = valid\n\n# tcId = 64\n# message size divisible by block size\nct = bd0258909e5b72438d95ca4b29c8a79c6228fd06a3b2fa06f7659654c7b24610f23f2fb16313b7d3614cb0cd16fabb8e\niv = 6525667350930fb945dd1895a3abfcd1\nkey = 9d11abc1fcb248a436598e695be12c3c2ed90a18ba09d62c\nmsg = aa5182cae2a8fb068c0b3fb2be3e57ae523d13dffd1a944587707c2b67447f3f\nresult = valid\n\n# tcId = 65\n# message size divisible by block size\nct = 6cbeacf8de25d7dd9dcdc087bf2f80873b1eb335400589076f8d2bf81e294c5d72b85eb8ac9558b0de9e9fbee4b18716e5220c507fbb9d319a08f67816765ca6\niv = 3943d8fddd5bb2a59772df31a31a8fff\nkey = 7e41d83181659a2c38da5ead353cdb04c2b4d4a3cfe58e25\nmsg = 8a32d11c7a11aa72e13381632b1310f4fd90fc209a6a350e61c069a561871214f9c04fc1df7354cbe4d8d639c525d324\nresult = valid\n\n# tcId = 66\n# small plaintext size\nct = 519925956d32e4fa350b1144f088e4e8\niv = 1379d48493f743e6a149deb3b9bab31e\nkey = 915429743435c28997a33b33b6574a953d81dae0e7032e6a\nmsg = 58\nresult = valid\n\n# tcId = 67\n# small plaintext size\nct = bfb90aa7de1bdeed5bdc5703bdfd9630\niv = 48c7f44b43a1279d820733e6cb30617a\nkey = f0c288ba26b284f9fb321b444a6517b3cdda1a799d55fdff\nmsg = 0f7e\nresult = valid\n\n# tcId = 68\n# small plaintext size\nct = b1a25816908c086f26037d10b7be9ad9\niv = 2c287b38cc30c8c351b087b91a6a97ba\nkey = 6b55e4d4fd6847a80a6bfb0dcc0aa93f9fd797fc5c50292e\nmsg = 33f530\nresult = valid\n\n# tcId = 69\n# small plaintext size\nct = 74dbdecbfa94b71d2d6ef03200c7d095\niv = 61f6060919c9c09ef06be28f39c344aa\nkey = 1eb21a9e995a8e45c9e71ecbd6fe615b3e0318007c64b644\nmsg = 3aa73c48\nresult = valid\n\n# tcId = 70\n# small plaintext size\nct = 10c860aaee23c3c3c1b9306b189dd80d\niv = 7682005907bf", + "ef3ce00196a17ad2246d\nkey = 710e2d5d4a9f0bc7e50796655e046a18cc5769d7764355da\nmsg = 7e4c690a88\nresult = valid\n\n# tcId = 71\n# small plaintext size\nct = 673dcd444386930a0cc577fab4501e5c\niv = 1f6c912997ce007701e5fdf407c6b421\nkey = d8c09ea400779b63e774bdacd0cb7b5dd6f736ca23d52acf\nmsg = e9520280973b\nresult = valid\n\n# tcId = 72\n# small plaintext size\nct = 059e5f72a81d8820add8eae8fabcdd42\niv = 5854033ae50de090678432781a168b6c\nkey = 8e67e9a0863b55bed408866f1cbc05357abe3f9d79f406f2\nmsg = 4880b412287a0b\nresult = valid\n\n# tcId = 73\n# small plaintext size\nct = c412159fd5ae20d771b7d2e734124d6a\niv = 003b2d86d8b636c58cf664565572d5e6\nkey = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c\nmsg = 004e3f4a4e6db955\nresult = valid\n\n# tcId = 74\n# small plaintext size\nct = 4aba571c2c5ab9a6140f16efc68c8ec1\niv = 3f22b50f888ab9424ba871d15aac55b7\nkey = dc968dd89fd602bb7eca6f3a8a13e4f59c08d02a514b1934\nmsg = 41a25354efeb1bc3b8\nresult = valid\n\n# tcId = 75\n# small plaintext size\nct = 66d1b9152a8cd1a88eab341c775070b4\niv = e4b8dde04b49fa6b88bfccd8d70c21d1\nkey = 7658951c0f620d82afd92756cc2d7983b79da3e56fdd1b78\nmsg = f0e82fb5c5666f4af49f\nresult = valid\n\n# tcId = 76\n# small plaintext size\nct = d9377788e2881a48f9347786db7df51f\niv = 7753f616cd8796c9b8a3bbfbe6cb1e7f\nkey = d9574c3a221b986690931faac5258d9d3c52362b2cb9b054\nmsg = 178ea8404ba54ee4e4522c\nresult = valid\n\n# tcId = 77\n# small plaintext size\nct = db825f4434ea3bb53576fa7385fb7dfe\niv = eae9ee19ccb7f8b087675709c4d35f73\nkey = 704409bab28085c44981f28f75dd143a4f747106f63f262e\nmsg = cda5709e7f115624e74ab031\nresult = valid\n\n# tcId = 78\n# small plaintext size\nct = 3e7287df2a5ed9de4d817e352bd47ea7\niv = a6aaff339a729d30a7ec1328db36d23e\nkey = d8d06ef6a53bbff5c8f12d791b8f4c67e574bf440736d1cc\nmsg = a1171eae1979f48345dd9485a0\nresult = valid\n\n# tcId = 79\n# small plaintext size\nct = 17c3ade4b469ae614760039a8fa6250e\niv = 92fda71e88c70d18ed71b992735a2150\nkey = 71129e781613f39d9ac39fbde2628b44c250c14deb5ef9e2\nmsg = 967593cc64bcbf7f3c58d04cb82b\nresult = valid\n\n# tcId = 80\n# small plaintext size\nct = 9cafecff2a28d02f732573f65a2cadca\niv = ed6596c86b98123ad2f3c573e974d051\nkey = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331\nmsg = 586f4f171af116519061a8e0e77940\nresult = valid\n\n# tcId = 81\n# plaintext size > 16\nct = 401ad889bdb9d38816c782e00b168ccccde9bf75f4be868ceb91237e8b37b750\niv = c45b52a240eba3bdde5dfd57f3d474fb\nkey = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614\nmsg = b1973cb25aa87ef9d1a8888b0a0f5c04c6\nresult = valid\n\n# tcId = 82\n# plaintext size > 16\nct = 455d516e87851e6c894578a0f7126e0acbc7cfbb1d80296647ab89a79dfa6f71\niv = 07ece5fe02266e073499fd4d66929034\nkey = b7f165bced1613da5e747fdf9255832d30c07f2deeb5a326\nmsg = 289647ea8d0ff31375a82aa1c620903048bb1d0e\nresult = valid\n\n# tcId = 83\n# plaintext size > 16\nct = cbf541330a5a9bda24984976b0cf96ba08ef521fa2cdb3df839128570e222ac4\niv = d799157bc1f77c182027be918b30783a\nkey = 9bbe6e004fb260dadb02b68b78954f1da5e6a2d02e0aeefe\nmsg = 665423092ce95b927e98b8082030f58e33f3ec1b0c29532c2f421855f00f97\nresult = valid\n\n# tcId = 84\n# plaintext size > 16\nct = 03225f08592efca14ad8ecf822465e8be4157465d0be150dd3d645b6fef1b19ca7bbaa5940b2a7895fa2b0ee55b0d4ec\niv = fdf97645e4192ba84728bbf6683f79de\nkey = 1381fbd5e79045d40f29790fc1a436c95b040a046ebf0b0f\nmsg = d575dce596dd0a2cd1c18dab7eb0948fafb8669969a48b6314493bfb8daf8acacd51382f9bb5b357\nresult = valid\n\n# tcId = 85\n# plaintext size > 16\nct = 27ad00313f328f0d3e6c3238ab560cb7243a9f54f7dff79b5a7a879439993d458017f09e8d3f694098bc19e61fe54085138664abb51a5b328cf2c9ce5d59726fff5e1b7553c143d9e0493c51cab23ff2ecdad91bd72bb12b32f3b611f9a4225d\niv = 059685f59247eea5d3f2a1532cb9d6b2\nkey = 1bb4ed0e8435e20729f48c1b7e3af6e69e4cebf0731131cf\nmsg = 6d29dab6a0568c961ab3c825e0d89940cef06c63ade7e557cd3e92792eaf23c8cd5a0f029c63b1cdce4754ccfad7a73c7c9e50ffe081e9136f5e9a424077339de12ea43572afe1b034e833e5887763aa\nresult = valid\n\n# tcId = 86\n# zero padding\nct = 2c010faa25c68c3b30b8c1491c316d5f\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 87\n# zero padding\nct = 818454d433154a8e00e8f590b8a1c38c\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 88\n# zero padding\nct = 0a7423fae3f4c8d4633f839d36f2e9ff\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 89\n# zero padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432e83f6e522c371e6e71bde539595b70b7\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 90\n# zero padding\nct = a7cfcdabcc5a2736a2708c1cb0b6143254d15f47701fa54f5957828f386e1d97\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 91\n# padding with 0xff\nct = 6ded36cc7603e514014dfb7199900676\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 92\n# padding with 0xff\nct = 839f772f8e5f50afdc02f954094869fe\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 93\n# padding with 0xff\nct = eefe3553c099c187929b287e54f95726\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 94\n# padding with 0xff\nct = a7cfcdabcc5a2736a2708c1cb0b61432d0531a2641d40467353542d79ce20ea8\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 95\n# padding with 0xff\nct = a7cfcdabcc5a2736a2708c1cb0b61432aaf08a090ecf66167ba5958100be7950\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 96\n# bit padding\nct = c0e402c8bbdda18c8ddd86470bd4b244\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 97\n# bit padding\nct = dc185d4572565e01131e471ec4c48125\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 98\n# bit padding\nct = 3ad1ddf3c3b320398785e6ec6544e9a2\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 99\n# bit padding\nct = a7cfcdabcc5a2736a2708c1cb0b614325876f90cfbbdbcd85e8252d37c44c638\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 100\n# bit padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432d18f57216b0e6426d911998a0e44156b\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 101\n# padding longer than 1 block\nct = f1605abb4e6628347c616da350fe243043a8d7b6aea244ca013f45241d802213\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 102\n# padding longer than 1 block\nct = a5f027fb9514ec8844534d452c940feb2c1807f57ed628156cf753f2ab698356\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 103\n# padding longer than 1 block\nct = f346fbc9744d723c42bbb2a4c934cdd4f1019e58c226cb2491fed621271a38f3\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = ", + "invalid\nflags = BadPadding\n\n# tcId = 104\n# padding longer than 1 block\nct = a7cfcdabcc5a2736a2708c1cb0b6143263eb325d36e13aa1d3dd1d7e071700104c7eb3e22e0859aa06296bc3194bb909\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 105\n# padding longer than 1 block\nct = a7cfcdabcc5a2736a2708c1cb0b61432219485d41584bd110a6d7a9cad472815d93921c48d4bcb509fdf2e63d7627c37\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 106\n# ANSI X.923 padding\nct = 215571a18a70140f3a0fd4c1b2dd6316\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 107\n# ANSI X.923 padding\nct = 2529985ec0ec3cf4bd22746e00d7bdc6\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 108\n# ANSI X.923 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614329a8058657ac4a150e995cf83efccf051\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 109\n# ANSI X.923 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614328a068626780ba600f880bd5323f8ac15\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 110\n# ISO 10126 padding\nct = 13e75f9ffe2afa81b9a2e7faf74aab6d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 111\n# ISO 10126 padding\nct = a382197fe491f5c3f91b629dc47c3d58\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 112\n# ISO 10126 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614320b842e5d6e32660263ff814a0277659f\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 113\n# ISO 10126 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614321d2f736515cfe17921800eb392e0139d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 114\n# padding longer than message\nct = f1605abb4e6628347c616da350fe2430\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 115\n# padding longer than message\nct = b3602ff0f797cbbdde35105d27e55b94\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 116\n# padding longer than message\nct = 0334c1bc34b597f60a639e74d8b45c4e\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 117\n# padding longer than message\nct = a7cfcdabcc5a2736a2708c1cb0b61432c3f9fe42d9715035bcda97d27405ced7\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 118\n# padding longer than message\nct = a7cfcdabcc5a2736a2708c1cb0b61432362b014a9abdaf25ae1f6dfb99d03d9d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 119\n# invalid padding\nct = 97ab405b86c388f144cf74fbb9358493\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 120\n# invalid padding\nct = 691f6009802f0fb4920928db7eca1349\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 121\n# invalid padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432a99fc96a6fa0c9fcb18de1672d74914d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 122\n# invalid padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432dd1bb2e98102322fb1aa92c979d4c7c3\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n[ivSize = 128]\n[keySize = 256]\n\n# tcId = 123\n# empty message\nct = e7c166554d1bb32792c981fa674cc4d8\niv = eb38ef61717e1324ae064e86f1c3e797\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\n\n# tcId = 124\n# message size divisible by block size\nct = 299295be47e9f5441fe83a7a811c4aeb2650333e681e69fa6b767d28a6ccf282\niv = 9ec7b863ac845cad5e4673da21f5b6a9\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\n\n# tcId = 125\n# message size divisible by block size\nct = a615a39ff8f59f82cf72ed13e1b01e32459700561be112412961365c7a0b58aa7a16d68c065e77ebe504999051476bd7\niv = e70d83a77a2ce722ac214c00837acedf\nkey = 96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892\nmsg = 91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18\nresult = valid\n\n# tcId = 126\n# message size divisible by block size\nct = ed3ed8ecdbabc0a8c06259e913f3ab9a1f1dc6d05e5dfdd9c80e1008f3423064d540681291bbd3e159820fee3ff190a68fe506d8ab9e62c8e7b3816093336dbc\niv = bd003c0a9d804c29f053a77cb380cb47\nkey = 649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe\nmsg = 39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917\nresult = valid\n\n# tcId = 127\n# small plaintext size\nct = 42c0b89a706ed2606cd94f9cb361fa51\niv = 014d2e13dfbcb969ba3bb91442d52eca\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\n\n# tcId = 128\n# small plaintext size\nct = b90c326b72eb222ddb4dae47f2bc223c\niv = fae3e2054113f6b3b904aadbfe59655c\nkey = ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f\nmsg = 6601\nresult = valid\n\n# tcId = 129\n# small plaintext size\nct = 567c45c5e6d570bef583d21cac43757d\niv = 203cd3e0068e43d38b6f2e48a188f252\nkey = 73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b\nmsg = f1d300\nresult = valid\n\n# tcId = 130\n# small plaintext size\nct = c45afe62fc9351ad0fc9b03bc2f3a91f\niv = abcf220eede012279c3a2d33295ff273\nkey = d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77\nmsg = 2ae63cbf\nresult = valid\n\n# tcId = 131\n# small plaintext size\nct = 281fa533d0740cc6cdf94dd1a5f7402d\niv = 01373953578902909ae4f6cb0a72587c\nkey = 2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8\nmsg = af3a015ea1\nresult = valid\n\n# tcId = 132\n# small plaintext size\nct = 3f3f39697bd7e88d85a14132be1cbc48\niv = 3fb0d5ecd06c71150748b599595833cb\nkey = 665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c\nmsg = 3f56935def3f\nresult = valid\n\n# tcId = 133\n# small plaintext size\nct = 379990d91557614836381d5026fa04a0\niv = 27a2db6114ece34fb6c23302d9ba07c6\nkey = facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493\nmsg = 57bb86beed156f\nresult = valid\n\n# tcId = 134\n# small plaintext size\nct = 7ecefe24caa78a68f4031d40fdb9a43a\niv = 9b2b631e3f24bdc814a14abb3416059e\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\n\n# tcId = 135\n# small plaintext size\nct = ffe4ec8baf4af40ab2e7f4d6193fae9c\niv = 92cfc4eb146b18b73fc76483fc5e1229\nkey = f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf\nmsg = 852a21d92848e627c7\nresult = valid\n\n# tcId = 136\n# small plaintext size\nct = ef96215e7950e7be8aae78b9ec8aaf39\niv = 4ceed8dcb75b6259dad737bdef96f0", + "99\nkey = 64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4\nmsg = 195a3b292f93baff0a2c\nresult = valid\n\n# tcId = 137\n# small plaintext size\nct = 4ed0eac75b05868078303875f82fb4f0\niv = 2d4cead3f1120a2b4b59419d04951e20\nkey = b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c\nmsg = afd73117330c6e8528a6e4\nresult = valid\n\n# tcId = 138\n# small plaintext size\nct = f4d298caea7c390fc8c7f558f584f852\niv = a10392634143c2a3332fa0fb3f72200a\nkey = 2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc\nmsg = 0ff54d6b6759120c2e8a51e3\nresult = valid\n\n# tcId = 139\n# small plaintext size\nct = 5e1c00e2ec829f92b87c6adf5c25262d\niv = 38b916a7ad3a9251ae3bd8865ca3a688\nkey = abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8\nmsg = f0058d412a104e53d820b95a7f\nresult = valid\n\n# tcId = 140\n# small plaintext size\nct = bf3a04ddb2dbfe7c6dc9e15aa67be25d\niv = bfcc3ac44d12e42d780c1188ac64b57f\nkey = 3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19\nmsg = aacc36972f183057919ff57b49e1\nresult = valid\n\n# tcId = 141\n# small plaintext size\nct = fdcfa77f5bd09326b4c11f9281b72474\niv = 35bc82e3503b95044c6406a8b2c2ecff\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\n\n# tcId = 142\n# plaintext size > 16\nct = fbea776fb1653635f88e2937ed2450ba4e9063e96d7cdba04928f01cb85492fe\niv = 4b74bd981ea9d074757c3e2ef515e5fb\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\n\n# tcId = 143\n# plaintext size > 16\nct = 3a79bb6084c7116b58afe52d7181a0aacee1caa11df959090e2e7b0073d74817\niv = 9a1d8ccc24c5e4d3995480af236be103\nkey = c2039f0d05951aa8d9fbdf68be58a37cf99bd1afcedda286a9db470c3729ca92\nmsg = ed5b5e28e9703bdf5c7b3b080f2690a605fcd0d9\nresult = valid\n\n# tcId = 144\n# plaintext size > 16\nct = 642b11efb79b49e5d038bc7aa29b8c6c3ce0bf11c3a69670eb565799908be66d\niv = 400aab92803bcbb44a96ef789655b34e\nkey = 4f097858a1aec62cf18f0966b2b120783aa4ae9149d3213109740506ae47adfe\nmsg = ee53d8e5039e82d9fcca114e375a014febfea117a7e709d9008d43858e3660\nresult = valid\n\n# tcId = 145\n# plaintext size > 16\nct = a9b051354f0cf61f11921b330e60f996de796aeb68140a0f9c5962e1f48e4805262fb6f53b26d9bb2fa0e359efe14734\niv = 6eedf45753ffe38f2407fbc28ab5959c\nkey = 5f99f7d60653d79f088dd07ef306b65e057d36e053fa1c9f6854425c019fd4df\nmsg = fcc9212c23675c5d69a1266c77389bc955e453daba20034aabbcd502a1b73e05af30f8b7622abdbc\nresult = valid\n\n# tcId = 146\n# plaintext size > 16\nct = 5074f46f1a6d0eeff070d623172eb15bbfc83e7d16466a00c9da5f4545eecf44adbf60cf9ac9aa1a3ec5eca22d4a34a7b21ca44d214c9d04ab1cb0b2c07001de9adb46f3c12f8f48436b516a409bf6cbdf1871dee3115d5cbb7943558b68867e\niv = f88551c6aa197f9ad80251c2e32d7663\nkey = 95aaa5df4ccb529e9b2dc929e770c1f419f8e8933bfb36f632f532b3dcad2ba6\nmsg = f5735567b7c8312f116517788b091cc6cb1d474b010a77910154fd11c3b2f0cd19f713b63d66492e8cc7ee8ad714783f46c305a26416e11ff4b99ec5ce2550593cc5ec1b86ba6a66d10f82bdff827055\nresult = valid\n\n# tcId = 147\n# zero padding\nct = e07558d746574528fb813f34e3fb7719\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 148\n# zero padding\nct = c01af61276368818a8295f7d4b5bb2fd\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 149\n# zero padding\nct = 97dd9716f06be49160399a5b212250ae\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 150\n# zero padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce783bb4b4e18d7c646f38e0bb8ff92896\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 151\n# zero padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce64679a46621b792f643542a735f0bbbf\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 152\n# padding with 0xff\nct = c007ddffb76b95208505fe7f3be96172\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 153\n# padding with 0xff\nct = e9b7719c4c2b9fa6b94cb50e87b28156\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 154\n# padding with 0xff\nct = 77b31f474c4bd489dbadd532643d1fa5\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 155\n# padding with 0xff\nct = 8881e9e02fa9e3037b397957ba1fb7cea0166e9e1c0122cb2e2983fc0fac7176\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 156\n# padding with 0xff\nct = 8881e9e02fa9e3037b397957ba1fb7ce6f0effa789cbb0b875cc53cc8f7b3caf\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 157\n# bit padding\nct = 4dd5f910c94700235c9ed239160e34e2\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 158\n# bit padding\nct = 94d18b5923f8f3608ae7ad494fbb517e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 159\n# bit padding\nct = 0c92886dbcb030b873123a25d224da42\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 160\n# bit padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce851be67798a2937cd6681165da6dce03\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 161\n# bit padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce45658a37aaebc51098866b0894007e8e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 162\n# padding longer than 1 block\nct = 524236e25956e950713bec0d3d579068f34e4d18c4ccab081317dae526fe7fca\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 163\n# padding longer than 1 block\nct = d29eb845640c3a8878f51bc50e290aa4a65a34a93728fe8f82fdb8d3d2b7c648\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 164\n# padding longer than 1 block\nct = c34563be2952277c0f5c67ae1d6f847118730dd7f6a502ceef3c4bce5999f7aa\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 165\n# padding longer than 1 block\nct = 8881e9e02fa9e3037b397957ba1fb7cec0f74a1aa92fd9c96f9d15d193d1695c1eb33486e269277612f90f509f0535c2\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 166\n# padding longer than 1 block\nct = 8881e9e02fa9e3037b397957ba1fb7ce151ade309ec5200bacdd83b57ce794cd2b3bf9f8957def829e8465f7db266f9e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey ", + "= 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 167\n# ANSI X.923 padding\nct = fb38cbef13f1d5be9c0ac7ed9cbe023c\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 168\n# ANSI X.923 padding\nct = 18cf8988abe9a2463a3a75db1fac8bcc\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 169\n# ANSI X.923 padding\nct = 8881e9e02fa9e3037b397957ba1fb7cee16d6fc4b4d3cdf6f915996e437fd4cc\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 170\n# ANSI X.923 padding\nct = 8881e9e02fa9e3037b397957ba1fb7cea8f41f61ead6e9936cbe7ee5a1163b9b\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 171\n# ISO 10126 padding\nct = a05c14da0109093c195b4998812fe150\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 172\n# ISO 10126 padding\nct = c477877250c8e4ca2869f35c4757cdb4\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 173\n# ISO 10126 padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce69f57c6e99c7b9df7d4879ccd15caf3d\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 174\n# ISO 10126 padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce77f89a247c928f147748ce6bc8fc4b67\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 175\n# padding longer than message\nct = 524236e25956e950713bec0d3d579068\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 176\n# padding longer than message\nct = e03b6f2ae1c963b6dfa40b42d34314b7\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 177\n# padding longer than message\nct = df14f4cbbccca57b9727d68270a1b6c1\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 178\n# padding longer than message\nct = 8881e9e02fa9e3037b397957ba1fb7ceea228bf1edd41c390e2eef140142bc00\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 179\n# padding longer than message\nct = 8881e9e02fa9e3037b397957ba1fb7ce3937e0e9abf7f672a34a500ba8e9099a\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 180\n# invalid padding\nct = 32ac6057df2a5d1e2e5131348c6ebc4e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 181\n# invalid padding\nct = df4a7c3b9f4756d30fca0d18e9b28960\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 182\n# invalid padding\nct = 8881e9e02fa9e3037b397957ba1fb7ceae2855c47c7988873d57f901e049494b\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 183\n# invalid padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce0714c8de200b27ac91d9257fc93c13be\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n", }; -static const size_t kLen57 = 49978; +static const size_t kLen90 = 52732; -static const char *kData57[] = { - "# Imported from Wycheproof's aes_cmac_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-CMAC\n# Generator version: 0.4.12\n\n[keySize = 128]\n[tagSize = 96]\n\n# tcId = 1\n# empty message\nkey = 1607559459d30d33548a635ab1eeab9d\nmsg = \nresult = valid\ntag = 6a8974470fddb0a47e2b6e7d\n\n# tcId = 2\n# truncated mac\nkey = 994275465065fdc96ae37b5d2feb8726\nmsg = c6\nresult = valid\ntag = 3bfa9ec0fb0cc2b8509e7b1f\n\n# tcId = 3\n# truncated mac\nkey = ddc31fc7751a2bf5c8d2d815035622e8\nmsg = c81598f30b3e8ca8\nresult = valid\ntag = 323c2fd67f1bc85108f391e1\n\n# tcId = 4\n# truncated mac\nkey = acef13560296fdc6b09398ae04196f2b\nmsg = 25d99a552339745e24a0cb6a9669c4\nresult = valid\ntag = cdff8af899f61a70a97d967a\n\n# tcId = 5\n# truncated mac\nkey = 33defac4ec7c7b69aa72edb23119e619\nmsg = ceabee3f13d0718779ba86acccd6d5a9\nresult = valid\ntag = e0b19f7e0316f276a846115f\n\n# tcId = 6\n# truncated mac\nkey = d1c61c251def47b39deb1a77a8b188d9\nmsg = 0d68e86cf139677cb461a0fa76690e4afc\nresult = valid\ntag = 2c5f2629fa41555e84c0ef0c\n\n# tcId = 7\n# truncated mac\nkey = 3f71e3875f234fc569433cafa3a36330\nmsg = a3e01e9a597e57502fd849908aa7a19407cbfdc74bc5c485\nresult = valid\ntag = eb8e0bb4937e4a4f9fd55465\n\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 8\n# empty message\nkey = e34f15c7bd819930fe9d66e0c166e61c\nmsg = \nresult = valid\ntag = d47afca1d857a5933405b1eb7a5cb7af\n\n# tcId = 9\n# full length mac\nkey = e1e726677f4893890f8c027f9d8ef80d\nmsg = 3f\nresult = valid\ntag = 15f856bbed3b321952a584b3c4437a63\n\n# tcId = 10\n# full length mac\nkey = 48f0d03e41cc55c4b58f737b5acdea32\nmsg = f4a133aa6d5985a0\nresult = valid\ntag = 1f1cd0327c02e6d00086915937dd61d9\n\n# tcId = 11\n# full length mac\nkey = 501d81ebf912ddb87fbe3b7aac1437bc\nmsg = 2368e3c3636b5e8e94d2081adbf798\nresult = valid\ntag = aeb784a3825168ddd61f72d0202125e6\n\n# tcId = 12\n# full length mac\nkey = e09eaa5a3f5e56d279d5e7a03373f6ea\nmsg = ef4eab37181f98423e53e947e7050fd0\nresult = valid\ntag = 40facf0e2fb51b73a7472681b033d6dc\n\n# tcId = 13\n# full length mac\nkey = 831e664c9e3f0c3094c0b27b9d908eb2\nmsg = 26603bb76dd0a0180791c4ed4d3b058807\nresult = valid\ntag = a8144c8b24f2aa47d9c160cff4ab1716\n\n# tcId = 14\n# full length mac\nkey = 549bd282ee21b4d7c3b1d02e3ee20ef7\nmsg = d84bf73c5eecbd38444f1a73556e2fa3253f4c54d6916545\nresult = valid\ntag = 7ed458afe02f4a513f59715b664b1bbe\n\n# tcId = 15\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 16\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43802eb1931f0032afe984443738cd31\n\n# tcId = 17\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 18\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 95dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 19\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 40802eb1931f0032afe984443738cd31\n\n# tcId = 20\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 79cfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 21\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 17dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 22\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = c2802eb1931f0032afe984443738cd31\n\n# tcId = 23\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fbcfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 24\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dc6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 25\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42812eb1931f0032afe984443738cd31\n\n# tcId = 26\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcebbca7a2ea68b966fc5399f74809e\n\n# tcId = 27\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6eda882cbd564c39ae7d1c5a31aa\n\n# tcId = 28\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802e31931f0032afe984443738cd31\n\n# tcId = 29\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbb4a7a2ea68b966fc5399f74809e\n\n# tcId = 30\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a892cbd564c39ae7d1c5a31aa\n\n# tcId = 31\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1921f0032afe984443738cd31\n\n# tcId = 32\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7b2ea68b966fc5399f74809e\n\n# tcId = 33\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a8a2cbd564c39ae7d1c5a31aa\n\n# tcId = 34\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1911f0032afe984443738cd31\n\n# tcId = 35\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca782ea68b966fc5399f74809e\n\n# tcId = 36\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbdd64c39ae7d1c5a31aa\n\n# tcId = 37\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00b2afe984443738cd31\n\n# tcId = 38\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea60b966fc5399f74809e\n\n# tcId = 39\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564d39ae7d1c5a31aa\n\n# tcId = 40\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032aee984443738cd31\n\n# tcId = 41\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b976fc5399f74809e\n\n# tcId = 42\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd56cc39ae7d1c5a31aa\n\n# tcId = 43\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00322fe984443738cd31\n\n# tcId = 44\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b166fc5399f74809e\n\n# tcId = 45\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c19ae7d1c5a31aa\n\n# tcId = 46\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afc984443738cd31\n\n# tcId = 47\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b964fc5399f74809e\n\n# tcId = 48\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39af7d1c5a31aa\n\n# tcId = 49\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe985443738cd31\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc4399f74809e\n\n# tcId = 51\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1d5a31aa\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443638cd31\n\n# tcId = 53\n# ", - "Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399e74809e\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1e5a31aa\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443538cd31\n\n# tcId = 56\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399d74809e\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d9c5a31aa\n\n# tcId = 58\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe98444b738cd31\n\n# tcId = 59\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5391f74809e\n\n# tcId = 60\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31ab\n\n# tcId = 61\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd30\n\n# tcId = 62\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74809f\n\n# tcId = 63\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31a8\n\n# tcId = 64\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd33\n\n# tcId = 65\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74809c\n\n# tcId = 66\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31ea\n\n# tcId = 67\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd71\n\n# tcId = 68\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f7480de\n\n# tcId = 69\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a312a\n\n# tcId = 70\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cdb1\n\n# tcId = 71\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74801e\n\n# tcId = 72\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dd6e5a882cbd564d39ae7d1c5a31aa\n\n# tcId = 73\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43802eb1931f0032aee984443738cd31\n\n# tcId = 74\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acfbbca7a2ea68b976fc5399f74809e\n\n# tcId = 75\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6eda882cbdd64c39ae7d1c5a31aa\n\n# tcId = 76\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802e31931f00b2afe984443738cd31\n\n# tcId = 77\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbb4a7a2ea60b966fc5399f74809e\n\n# tcId = 78\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbdd64c39ae7d1c5a312a\n\n# tcId = 79\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00b2afe984443738cdb1\n\n# tcId = 80\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea60b966fc5399f74801e\n\n# tcId = 81\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 682291a577d342a9b3c65182e3a5ce55\n\n# tcId = 82\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = bd7fd14e6ce0ffcd50167bbbc8c732ce\n\n# tcId = 83\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8430443585d1597469903ac6608b7f61\n\n# tcId = 84\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 85\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 86\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 87\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 88\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 89\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 90\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 175deeda08ac3dd6ccb92efd9cdab12a\n\n# tcId = 91\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = c200ae31139f80b22f6904c4b7b84db1\n\n# tcId = 92\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fb4f3b4afaae260b16ef45b91ff4001e\n\n# tcId = 93\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dc6f5b892dbc574d38af7c1d5b30ab\n\n# tcId = 94\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43812fb0921e0133aee885453639cc30\n\n# tcId = 95\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acebacb7b2fa78a976ec4389e75819f\n\n[keySize = 192]\n[tagSize = 96]\n\n# tcId = 96\n# empty message\nkey = 78fe7087bc810abf08f15fc69804f888435a6442677c8c79\nmsg = \nresult = valid\ntag = 48d92d311f60d51a23e56d8c\n\n# tcId = 97\n# truncated mac\nkey = 7ab6fb0e3456e40c3a6c5db57a3d0548d4c8c3cfd8849dba\nmsg = c6\nresult = valid\ntag = d904a70715bd0ad9468f37b2\n\n# tcId = 98\n# truncated mac\nkey = f095a5d39f0b499cef0130b4eb3bfae90253a1f30270efb5\nmsg = 738e196c2cb0206b\nresult = valid\ntag = 7a3b8de1c57e7c5f7babbe42\n\n# tcId = 99\n# truncated mac\nkey = 6fee9e028a35d168ffe2062338f753d3930597b341210f0c\nmsg = a1518bb8cb88f305935b91f64f2479\nresult = valid\ntag = 7ba264b276a0849bc76a2a29\n\n# tcId = 100\n# truncated mac\nkey = 304b9077a8f36fd949e38bbfb6dd71e313530ba0a34d3e77\nmsg = 87e60924ae7f2ae1567cbcb07f7ae2aa\nresult = valid\ntag = 725e51ac5b10338d940c0236\n\n# tcId = 101\n# truncated mac\nkey = fec7f37de35365c415701ba2eec2d94cb20e3e2a0c21cfcf\nmsg = cf24271e0acebd3249f996da1fe9d13e3f\nresult = valid\ntag = 7636cec43b5b7a40787580fa\n\n# tcId = 102\n# truncated mac\nkey = 5f4df68a45a5edde95907b5b002fcf3ba6747f9194536dd3\nmsg = 4cc781faaa8decb281afab7dc69f380921d04c54414bb65f\nresult = valid\ntag = bb2de41c514dd64ebc5f5a99\n\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 103\n# empty message\nkey = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631\nmsg = \nresult = valid\ntag = a8dd15fe2ce3495ec5b666744ec29220\n\n# tcId = 104\n# full length mac\nkey = 915429743435c28997a33b33b6574a953d81dae0e7032e6a\nmsg = 58\nresult = va", - "lid\ntag = e13b3f7f7f510c3a059df7a68c7e2ad5\n\n# tcId = 105\n# full length mac\nkey = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c\nmsg = 004e3f4a4e6db955\nresult = valid\ntag = c4c2c0876be9eabeb5a956da53846b08\n\n# tcId = 106\n# full length mac\nkey = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331\nmsg = 586f4f171af116519061a8e0e77940\nresult = valid\ntag = fb11a360c9776991d73d6e41d07710a2\n\n# tcId = 107\n# full length mac\nkey = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb\nmsg = 0e239f239705b282ce2200fe20de1165\nresult = valid\ntag = ab20a6cf60873665b1d6999b05c7f9c6\n\n# tcId = 108\n# full length mac\nkey = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614\nmsg = b1973cb25aa87ef9d1a8888b0a0f5c04c6\nresult = valid\ntag = b95a016b83a0ae4194023333c8a7345a\n\n# tcId = 109\n# full length mac\nkey = 648a44468d67bb6744b235ee7a3fcd6ed4bdc29ec5b5fa1a\nmsg = c59d0d6981cca1be1d5519fc7881e6d230f39f6c12a9e827\nresult = valid\ntag = a1b96272ae7f9aef567271795f21d1d3\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 111\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81307df60859acb911c7be61be7ca90\n\n# tcId = 112\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91bde0069a6e389573bf04e7cde688c\n\n# tcId = 113\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ee12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 114\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = cb1307df60859acb911c7be61be7ca90\n\n# tcId = 115\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fa1bde0069a6e389573bf04e7cde688c\n\n# tcId = 116\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 6c12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 117\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 491307df60859acb911c7be61be7ca90\n\n# tcId = 118\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 781bde0069a6e389573bf04e7cde688c\n\n# tcId = 119\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec13390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 120\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91207df60859acb911c7be61be7ca90\n\n# tcId = 121\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81ade0069a6e389573bf04e7cde688c\n\n# tcId = 122\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12398ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 123\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c913075f60859acb911c7be61be7ca90\n\n# tcId = 124\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde8069a6e389573bf04e7cde688c\n\n# tcId = 125\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea1a7ed15d9d37a6eca1fc990\n\n# tcId = 126\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df61859acb911c7be61be7ca90\n\n# tcId = 127\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0068a6e389573bf04e7cde688c\n\n# tcId = 128\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea2a7ed15d9d37a6eca1fc990\n\n# tcId = 129\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df62859acb911c7be61be7ca90\n\n# tcId = 130\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde006ba6e389573bf04e7cde688c\n\n# tcId = 131\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed95d9d37a6eca1fc990\n\n# tcId = 132\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859a4b911c7be61be7ca90\n\n# tcId = 133\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e309573bf04e7cde688c\n\n# tcId = 134\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d8d37a6eca1fc990\n\n# tcId = 135\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb901c7be61be7ca90\n\n# tcId = 136\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389563bf04e7cde688c\n\n# tcId = 137\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed1559d37a6eca1fc990\n\n# tcId = 138\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb111c7be61be7ca90\n\n# tcId = 139\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389d73bf04e7cde688c\n\n# tcId = 140\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9f37a6eca1fc990\n\n# tcId = 141\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb913c7be61be7ca90\n\n# tcId = 142\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389571bf04e7cde688c\n\n# tcId = 143\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37b6eca1fc990\n\n# tcId = 144\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7ae61be7ca90\n\n# tcId = 145\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf14e7cde688c\n\n# tcId = 146\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6ecb1fc990\n\n# tcId = 147\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61ae7ca90\n\n# tcId = 148\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7dde688c\n\n# tcId = 149\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6ec81fc990\n\n# tcId = 150\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be619e7ca90\n\n# tcId = 151\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7ede688c\n\n# tcId = 152\n# Flipped bit 103 in ta", - "g\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6e4a1fc990\n\n# tcId = 153\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be69be7ca90\n\n# tcId = 154\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04efcde688c\n\n# tcId = 155\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc991\n\n# tcId = 156\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca91\n\n# tcId = 157\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde688d\n\n# tcId = 158\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc992\n\n# tcId = 159\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca92\n\n# tcId = 160\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde688e\n\n# tcId = 161\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc9d0\n\n# tcId = 162\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7cad0\n\n# tcId = 163\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde68cc\n\n# tcId = 164\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc910\n\n# tcId = 165\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca10\n\n# tcId = 166\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde680c\n\n# tcId = 167\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed12390ea0a7ed15d8d37a6eca1fc990\n\n# tcId = 168\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81307df60859acb901c7be61be7ca90\n\n# tcId = 169\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91bde0069a6e389563bf04e7cde688c\n\n# tcId = 170\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12398ea0a7ed95d9d37a6eca1fc990\n\n# tcId = 171\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c913075f60859a4b911c7be61be7ca90\n\n# tcId = 172\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde8069a6e309573bf04e7cde688c\n\n# tcId = 173\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed95d9d37a6eca1fc910\n\n# tcId = 174\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859a4b911c7be61be7ca10\n\n# tcId = 175\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e309573bf04e7cde680c\n\n# tcId = 176\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 13edc6f15f5812ea262c859135e0366f\n\n# tcId = 177\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 36ecf8209f7a65346ee38419e418356f\n\n# tcId = 178\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 07e421ff96591c76a8c40fb183219773\n\n# tcId = 179\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 180\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 181\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 182\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 183\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 184\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 185\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 6c92b98e20276d955953faee4a9f4910\n\n# tcId = 186\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 4993875fe0051a4b119cfb669b674a10\n\n# tcId = 187\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 789b5e80e9266309d7bb70cefc5ee80c\n\n# tcId = 188\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed13380fa1a6ec14d8d27b6fcb1ec891\n\n# tcId = 189\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81206de61849bca901d7ae71ae6cb91\n\n# tcId = 190\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91adf0168a7e288563af14f7ddf698d\n\n[keySize = 256]\n[tagSize = 96]\n\n# tcId = 191\n# empty message\nkey = e40992eb4f649e5d49134652aecc24bafa6b45ce8dd9e9d371ede7d5de84fa72\nmsg = \nresult = valid\ntag = 034762bd9014d642f7f08af7\n\n# tcId = 192\n# truncated mac\nkey = 298962335a075e9eacb7a7627beafa4ee5a02242423cdfb0b4f106eb61cf5663\nmsg = 49\nresult = valid\ntag = 4545f042beb65af2b7b74808\n\n# tcId = 193\n# truncated mac\nkey = 2e94a84c78be80cd598366058d4f6cdf8095666dcac7a00ad832d9f33e20d13c\nmsg = b978587bf028558d\nresult = valid\ntag = 6703f99ac094ed0e9d9973b5\n\n# tcId = 194\n# truncated mac\nkey = 95b330aa5fffa6c0e29fd6fa0debdcb9cf6b448820bea24875089ec8ca5a2387\nmsg = c96596ebba6f89761b9d14dfcc8fb4\nresult = valid\ntag = 2fc3ce831f693912d33f3fde\n\n# tcId = 195\n# truncated mac\nkey = 319cd78b51a689a66b232005d66ad1962d11e52faf6aaad4ce7dc30777cd9ecc\nmsg = 82ce94904b110635a8604c4f7afc786b\nresult = valid\ntag = a7685d0f2049015e6f3229ee\n\n# tcId = 196\n# truncated mac\nkey = b3b7c2c6d3d80918218afcd8bf2a71cf0220e2e8084ead8ba1abfb893ae36d40\nmsg = dbcf98254157727c35f367fe6e15a2d089\nresult = valid\ntag = 09a60999f8848d19be5242c8\n\n# tcId = 197\n# truncated mac\nkey = 8588a6f1fb8ccc0fed3fdb3f8a39d389fb9260748f3b45bd74ad42a60c9caf2b\nmsg = 020cc9dd7f06f514bd3baf939f376b8b0083ff1b35ac90d0\nresult = valid\ntag = 50649ef2b87c22d2731ace23\n\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 198\n# empty message\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\ntag = 736", - "c7b56957db774c5ddf7c7a70ba8a8\n\n# tcId = 199\n# full length mac\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\ntag = 9d47482c2d9252bace43a75a8335b8b8\n\n# tcId = 200\n# full length mac\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\ntag = f79606b83a7706a2a19e068bce818898\n\n# tcId = 201\n# full length mac\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\ntag = b96818b7acaf879c7a7f8271375a6914\n\n# tcId = 202\n# full length mac\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\ntag = 4b88e193000c5a4b23e95c7f2b26530b\n\n# tcId = 203\n# full length mac\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\ntag = 86911c7da51dc0823d6e93d4290d1ad4\n\n# tcId = 204\n# full length mac\nkey = 0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5\nmsg = 13937f8544f44270d01175a011f7670e93fa6ba7ef02336e\nresult = valid\ntag = ccb2c51bfbe2598f9109fc70ed07f0eb\n\n# tcId = 205\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af0a293d8cba0101f0089727691b7fb\n\n# tcId = 206\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d709717c3a4ef8a2ea200b297d2accec\n\n# tcId = 207\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 208\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 69f0a293d8cba0101f0089727691b7fb\n\n# tcId = 209\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d409717c3a4ef8a2ea200b297d2accec\n\n# tcId = 210\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 5bee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 211\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ebf0a293d8cba0101f0089727691b7fb\n\n# tcId = 212\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 5609717c3a4ef8a2ea200b297d2accec\n\n# tcId = 213\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9ee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 214\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf1a293d8cba0101f0089727691b7fb\n\n# tcId = 215\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d608717c3a4ef8a2ea200b297d2accec\n\n# tcId = 216\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ef3f3b5f83e290cae26dad29bba32d\n\n# tcId = 217\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a213d8cba0101f0089727691b7fb\n\n# tcId = 218\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d60971fc3a4ef8a2ea200b297d2accec\n\n# tcId = 219\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3fbb5f83e290cae26dad29bba32d\n\n# tcId = 220\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d9cba0101f0089727691b7fb\n\n# tcId = 221\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3b4ef8a2ea200b297d2accec\n\n# tcId = 222\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5e83e290cae26dad29bba32d\n\n# tcId = 223\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293dacba0101f0089727691b7fb\n\n# tcId = 224\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c384ef8a2ea200b297d2accec\n\n# tcId = 225\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5d83e290cae26dad29bba32d\n\n# tcId = 226\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0901f0089727691b7fb\n\n# tcId = 227\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef822ea200b297d2accec\n\n# tcId = 228\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e210cae26dad29bba32d\n\n# tcId = 229\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101e0089727691b7fb\n\n# tcId = 230\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2eb200b297d2accec\n\n# tcId = 231\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cbe26dad29bba32d\n\n# tcId = 232\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0109f0089727691b7fb\n\n# tcId = 233\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a26a200b297d2accec\n\n# tcId = 234\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e2904ae26dad29bba32d\n\n# tcId = 235\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f2089727691b7fb\n\n# tcId = 236\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea000b297d2accec\n\n# tcId = 237\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cac26dad29bba32d\n\n# tcId = 238\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0088727691b7fb\n\n# tcId = 239\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200a297d2accec\n\n# tcId = 240\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26cad29bba32d\n\n# tcId = 241\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727791b7fb\n\n# tcId = 242\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415", - "161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297c2accec\n\n# tcId = 243\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad28bba32d\n\n# tcId = 244\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727491b7fb\n\n# tcId = 245\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297f2accec\n\n# tcId = 246\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad2bbba32d\n\n# tcId = 247\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f008972f691b7fb\n\n# tcId = 248\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b29fd2accec\n\n# tcId = 249\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dada9bba32d\n\n# tcId = 250\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7fa\n\n# tcId = 251\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2acced\n\n# tcId = 252\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba32c\n\n# tcId = 253\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7f9\n\n# tcId = 254\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2accee\n\n# tcId = 255\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba32f\n\n# tcId = 256\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7bb\n\n# tcId = 257\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2accac\n\n# tcId = 258\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba36d\n\n# tcId = 259\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b77b\n\n# tcId = 260\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2acc6c\n\n# tcId = 261\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba3ad\n\n# tcId = 262\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af0a293d8cba0101e0089727691b7fb\n\n# tcId = 263\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d709717c3a4ef8a2eb200b297d2accec\n\n# tcId = 264\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ee3f3b5f83e290cbe26dad29bba32d\n\n# tcId = 265\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a213d8cba0901f0089727691b7fb\n\n# tcId = 266\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d60971fc3a4ef822ea200b297d2accec\n\n# tcId = 267\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3fbb5f83e210cae26dad29bba32d\n\n# tcId = 268\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0901f0089727691b77b\n\n# tcId = 269\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef822ea200b297d2acc6c\n\n# tcId = 270\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e210cae26dad29bba3ad\n\n# tcId = 271\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 940f5d6c27345fefe0ff768d896e4804\n\n# tcId = 272\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 29f68e83c5b1075d15dff4d682d53313\n\n# tcId = 273\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a611c0c4a07c1d6f351d9252d6445cd2\n\n# tcId = 274\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 275\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 276\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 277\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 278\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 279\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 280\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = eb702213584b20909f8009f2f611377b\n\n# tcId = 281\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 5689f1fcbace78226aa08ba9fdaa4c6c\n\n# tcId = 282\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d96ebfbbdf0362104a62ed2da93b23ad\n\n# tcId = 283\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af1a392d9caa1111e0188737790b6fa\n\n# tcId = 284\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d708707d3b4ff9a3eb210a287c2bcded\n\n# tcId = 285\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg", - " = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ef3e3a5e82e391cbe36cac28baa22c\n\n[keySize = 0]\n[tagSize = 128]\n\n# tcId = 286\n# invalid key size\nkey = \nmsg = 00b9449326d39416\nresult = invalid\ntag = \n\n[keySize = 8]\n[tagSize = 128]\n\n# tcId = 287\n# invalid key size\nkey = 0f\nmsg = 4538b79a1397e2aa\nresult = invalid\ntag = \n\n[keySize = 64]\n[tagSize = 128]\n\n# tcId = 288\n# invalid key size\nkey = a88e385af7185148\nmsg = dc63b7ef08096e4f\nresult = invalid\ntag = \n\n[keySize = 160]\n[tagSize = 128]\n\n# tcId = 289\n# invalid key size\nkey = 003a228008d390b645929df73a2b2bdd8298918d\nmsg = ad1d3c3122ab7ac6\nresult = invalid\ntag = \n\n[keySize = 320]\n[tagSize = 128]\n\n# tcId = 290\n# invalid key size\nkey = 94baaac150e2645ae1ec1939c7bcefb73f6edb146fae02289b6c6326ff39bc265d612bef2727fa72\nmsg = e3f75a886c4a5591\nresult = invalid\ntag = \n\n", +static const char *kData90[] = { + "# Imported from Wycheproof's aes_cmac_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-CMAC\n# Generator version: 0.8r12\n\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\n# empty message\nkey = e34f15c7bd819930fe9d66e0c166e61c\nmsg = \nresult = valid\ntag = d47afca1d857a5933405b1eb7a5cb7af\n\n# tcId = 2\n# short message\nkey = e1e726677f4893890f8c027f9d8ef80d\nmsg = 3f\nresult = valid\ntag = 15f856bbed3b321952a584b3c4437a63\n\n# tcId = 3\n# short message\nkey = b151f491c4c006d1f28214aa3da9a985\nmsg = 27d9\nresult = valid\ntag = bdbbebac982dd62b9f682618a6a604e9\n\n# tcId = 4\n# short message\nkey = c36ff15f72777ee21deec07b63c1a0cd\nmsg = 50b428\nresult = valid\ntag = be0c3ede157568af394023eb9a7cc983\n\n# tcId = 5\n# short message\nkey = 32b9c5c78c3a0689a86052420fa1e8fc\nmsg = 0b9262ec\nresult = valid\ntag = 57e1506856c55dd32cd9ca821adb6c81\n\n# tcId = 6\n# short message\nkey = 43151bbaef367277ebfc97509d0aa49c\nmsg = eaa91273e7\nresult = valid\ntag = e01adc3be6a7621824232c4285dd35b9\n\n# tcId = 7\n# short message\nkey = 481440298525cc261f8159159aedf62d\nmsg = 6123c556c5cc\nresult = valid\ntag = a281e0d2d5378dfdcc1310fd9782ca56\n\n# tcId = 8\n# short message\nkey = 9ca26eb88731efbf7f810d5d95e196ac\nmsg = 7e48f06183aa40\nresult = valid\ntag = fc81761f2f7b4ce13b53d36e32677332\n\n# tcId = 9\n# short message\nkey = 48f0d03e41cc55c4b58f737b5acdea32\nmsg = f4a133aa6d5985a0\nresult = valid\ntag = 1f1cd0327c02e6d00086915937dd61d9\n\n# tcId = 10\n# short message\nkey = 1c958849f31996b28939ce513087d1be\nmsg = b0d2fee11b8e2f86b7\nresult = valid\ntag = 555f462151f7dd16de698d639fb26760\n\n# tcId = 11\n# short message\nkey = 39de0ebea97c09b2301a90009a423253\nmsg = 81e5c33b4c620852f044\nresult = valid\ntag = 9b004f15b7f6f366374954e64bc58f5f\n\n# tcId = 12\n# short message\nkey = 91656d8fc0aced60ddb1c4006d0dde53\nmsg = 7b3e440fe566790064b2ec\nresult = valid\ntag = 76672ed16c29be449e0c80785cc38e89\n\n# tcId = 13\n# short message\nkey = af7d5134720b5386158d51ea126e7cf9\nmsg = 7cc6fcc925c20f3c83b5567c\nresult = valid\ntag = 2dc5c88cf3b80ab6c0199f40be904abc\n\n# tcId = 14\n# short message\nkey = 4ed56753de6f75a032ebabca3ce27971\nmsg = 0c8c0f5619d9f8da5339281285\nresult = valid\ntag = eab4366d97e99a0850f077329ad058c0\n\n# tcId = 15\n# short message\nkey = beba50c936b696c15e25046dffb23a64\nmsg = 821ea8532fbabffb6e3d212e9b46\nresult = valid\ntag = 22f33cab09c173f75d3401fe44efeead\n\n# tcId = 16\n# short message\nkey = 501d81ebf912ddb87fbe3b7aac1437bc\nmsg = 2368e3c3636b5e8e94d2081adbf798\nresult = valid\ntag = aeb784a3825168ddd61f72d0202125e6\n\n# tcId = 17\nkey = e09eaa5a3f5e56d279d5e7a03373f6ea\nmsg = ef4eab37181f98423e53e947e7050fd0\nresult = valid\ntag = 40facf0e2fb51b73a7472681b033d6dc\n\n# tcId = 18\nkey = 831e664c9e3f0c3094c0b27b9d908eb2\nmsg = 26603bb76dd0a0180791c4ed4d3b058807\nresult = valid\ntag = a8144c8b24f2aa47d9c160cff4ab1716\n\n# tcId = 19\nkey = 549bd282ee21b4d7c3b1d02e3ee20ef7\nmsg = d84bf73c5eecbd38444f1a73556e2fa3253f4c54d6916545\nresult = valid\ntag = 7ed458afe02f4a513f59715b664b1bbe\n\n# tcId = 20\nkey = 9bd3902ed0996c869b572272e76f3889\nmsg = a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e\nresult = valid\ntag = 45082218c2d05eef32247feb1133d0a3\n\n# tcId = 21\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 22\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43802eb1931f0032afe984443738cd31\n\n# tcId = 23\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 24\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 95dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 25\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 40802eb1931f0032afe984443738cd31\n\n# tcId = 26\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 79cfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 27\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 17dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 28\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = c2802eb1931f0032afe984443738cd31\n\n# tcId = 29\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fbcfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 30\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dc6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 31\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42812eb1931f0032afe984443738cd31\n\n# tcId = 32\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcebbca7a2ea68b966fc5399f74809e\n\n# tcId = 33\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6eda882cbd564c39ae7d1c5a31aa\n\n# tcId = 34\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802e31931f0032afe984443738cd31\n\n# tcId = 35\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbb4a7a2ea68b966fc5399f74809e\n\n# tcId = 36\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a892cbd564c39ae7d1c5a31aa\n\n# tcId = 37\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1921f0032afe984443738cd31\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7b2ea68b966fc5399f74809e\n\n# tcId = 39\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a8a2cbd564c39ae7d1c5a31aa\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1911f0032afe984443738cd31\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca782ea68b966fc5399f74809e\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbdd64c39ae7d1c5a31aa\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00b2afe984443738cd31\n\n# tcId = 44\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea60b966fc5399f74809e\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564d39ae7d1c5a31aa\n\n# tcId = 46\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032aee984443738cd31\n\n# tcId = 47\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b976fc5399f74809e\n\n# tcId = 48\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd56cc39ae7d1c5a31aa\n\n# tcId = 49\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00322fe984443738cd31\n\n# tcId = 50\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b166fc5399f74809e\n\n# tcId = 51\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c19ae7d1c5a31aa\n\n# tcId = 52\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afc984443738cd31\n\n# tcId = 53\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = inval", + "id\ntag = 7bcfbbca7a2ea68b964fc5399f74809e\n\n# tcId = 54\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39af7d1c5a31aa\n\n# tcId = 55\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe985443738cd31\n\n# tcId = 56\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc4399f74809e\n\n# tcId = 57\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1d5a31aa\n\n# tcId = 58\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443638cd31\n\n# tcId = 59\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399e74809e\n\n# tcId = 60\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1e5a31aa\n\n# tcId = 61\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443538cd31\n\n# tcId = 62\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399d74809e\n\n# tcId = 63\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d9c5a31aa\n\n# tcId = 64\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe98444b738cd31\n\n# tcId = 65\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5391f74809e\n\n# tcId = 66\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31ab\n\n# tcId = 67\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd30\n\n# tcId = 68\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74809f\n\n# tcId = 69\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31a8\n\n# tcId = 70\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd33\n\n# tcId = 71\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74809c\n\n# tcId = 72\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31ea\n\n# tcId = 73\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd71\n\n# tcId = 74\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f7480de\n\n# tcId = 75\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a312a\n\n# tcId = 76\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cdb1\n\n# tcId = 77\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74801e\n\n# tcId = 78\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dd6e5a882cbd564d39ae7d1c5a31aa\n\n# tcId = 79\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43802eb1931f0032aee984443738cd31\n\n# tcId = 80\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acfbbca7a2ea68b976fc5399f74809e\n\n# tcId = 81\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6eda882cbdd64c39ae7d1c5a31aa\n\n# tcId = 82\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802e31931f00b2afe984443738cd31\n\n# tcId = 83\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbb4a7a2ea60b966fc5399f74809e\n\n# tcId = 84\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbdd64c39ae7d1c5a312a\n\n# tcId = 85\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00b2afe984443738cdb1\n\n# tcId = 86\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea60b966fc5399f74801e\n\n# tcId = 87\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 682291a577d342a9b3c65182e3a5ce55\n\n# tcId = 88\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = bd7fd14e6ce0ffcd50167bbbc8c732ce\n\n# tcId = 89\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8430443585d1597469903ac6608b7f61\n\n# tcId = 90\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 91\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 92\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 93\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 94\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 95\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 96\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 175deeda08ac3dd6ccb92efd9cdab12a\n\n# tcId = 97\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = c200ae31139f80b22f6904c4b7b84db1\n\n# tcId = 98\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fb4f3b4afaae260b16ef45b91ff4001e\n\n# tcId = 99\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dc6f5b892dbc574d38af7c1d5b30ab\n\n# tcId = 100\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43812fb0921e0133aee885453639cc30\n\n# tcId = 101\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acebacb7b2fa78a976ec4389e75819f\n\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 102\n# empty message\nkey = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631\nmsg = \nresult = valid\ntag = a8dd15fe2ce3495ec5b666744ec29220\n\n# tcId = 103\n# short message\nkey = 915429743435c28997a33b33b6574a953d81dae0e7032e6a\nmsg = 58\nresult = valid\ntag = e13b3f7f7f510c3a059df7a68c7e2ad5\n\n# tcId = 104\n# short message\nkey = f0c288ba26b284f9fb321b444a6517b3cdda1a799d55fdff\nmsg = 0f7e\nresult = valid\ntag = 06ef847f5f9dbf03a4f283da8c400220\n\n# tcId = 105\n# short message\nkey = 6b55e4d4fd6847a80a6bfb0dcc0aa93f9fd797fc5c50292e\nmsg = 33f530\nresult = valid\ntag = dd135053a47ca8f282c299e83b8c", + "57c4\n\n# tcId = 106\n# short message\nkey = 1eb21a9e995a8e45c9e71ecbd6fe615b3e0318007c64b644\nmsg = 3aa73c48\nresult = valid\ntag = 1e93fff846934a6eea0575eecb0f0e1f\n\n# tcId = 107\n# short message\nkey = 710e2d5d4a9f0bc7e50796655e046a18cc5769d7764355da\nmsg = 7e4c690a88\nresult = valid\ntag = 016d4df06c68a6a788a9ea052e1b550d\n\n# tcId = 108\n# short message\nkey = d8c09ea400779b63e774bdacd0cb7b5dd6f736ca23d52acf\nmsg = e9520280973b\nresult = valid\ntag = 8030ae9f98f5d20c6089f6b1bd87c29e\n\n# tcId = 109\n# short message\nkey = 8e67e9a0863b55bed408866f1cbc05357abe3f9d79f406f2\nmsg = 4880b412287a0b\nresult = valid\ntag = bcaf50785f062a8fb8dd3c2c4cead2e1\n\n# tcId = 110\n# short message\nkey = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c\nmsg = 004e3f4a4e6db955\nresult = valid\ntag = c4c2c0876be9eabeb5a956da53846b08\n\n# tcId = 111\n# short message\nkey = dc968dd89fd602bb7eca6f3a8a13e4f59c08d02a514b1934\nmsg = 41a25354efeb1bc3b8\nresult = valid\ntag = f33a62caf397f9aff71fe42941ba41d8\n\n# tcId = 112\n# short message\nkey = 7658951c0f620d82afd92756cc2d7983b79da3e56fdd1b78\nmsg = f0e82fb5c5666f4af49f\nresult = valid\ntag = 4d724d05f3402967eb65ae1e32d5469e\n\n# tcId = 113\n# short message\nkey = d9574c3a221b986690931faac5258d9d3c52362b2cb9b054\nmsg = 178ea8404ba54ee4e4522c\nresult = valid\ntag = 64a0e0b6757309ab58d74f72c310e473\n\n# tcId = 114\n# short message\nkey = 704409bab28085c44981f28f75dd143a4f747106f63f262e\nmsg = cda5709e7f115624e74ab031\nresult = valid\ntag = 6ab2074334be14a95b6a241f897a43de\n\n# tcId = 115\n# short message\nkey = d8d06ef6a53bbff5c8f12d791b8f4c67e574bf440736d1cc\nmsg = a1171eae1979f48345dd9485a0\nresult = valid\ntag = 7aa57cf98b24897cc9230e3316758e61\n\n# tcId = 116\n# short message\nkey = 71129e781613f39d9ac39fbde2628b44c250c14deb5ef9e2\nmsg = 967593cc64bcbf7f3c58d04cb82b\nresult = valid\ntag = 6cc488b0a40eadbe4bcee2623239d126\n\n# tcId = 117\n# short message\nkey = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331\nmsg = 586f4f171af116519061a8e0e77940\nresult = valid\ntag = fb11a360c9776991d73d6e41d07710a2\n\n# tcId = 118\nkey = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb\nmsg = 0e239f239705b282ce2200fe20de1165\nresult = valid\ntag = ab20a6cf60873665b1d6999b05c7f9c6\n\n# tcId = 119\nkey = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614\nmsg = b1973cb25aa87ef9d1a8888b0a0f5c04c6\nresult = valid\ntag = b95a016b83a0ae4194023333c8a7345a\n\n# tcId = 120\nkey = 648a44468d67bb6744b235ee7a3fcd6ed4bdc29ec5b5fa1a\nmsg = c59d0d6981cca1be1d5519fc7881e6d230f39f6c12a9e827\nresult = valid\ntag = a1b96272ae7f9aef567271795f21d1d3\n\n# tcId = 121\nkey = 9d11abc1fcb248a436598e695be12c3c2ed90a18ba09d62c\nmsg = aa5182cae2a8fb068c0b3fb2be3e57ae523d13dffd1a944587707c2b67447f3f\nresult = valid\ntag = 8597d9a04d1c271d61d42f007b435175\n\n# tcId = 122\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 123\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81307df60859acb911c7be61be7ca90\n\n# tcId = 124\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91bde0069a6e389573bf04e7cde688c\n\n# tcId = 125\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ee12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 126\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = cb1307df60859acb911c7be61be7ca90\n\n# tcId = 127\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fa1bde0069a6e389573bf04e7cde688c\n\n# tcId = 128\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 6c12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 129\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 491307df60859acb911c7be61be7ca90\n\n# tcId = 130\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 781bde0069a6e389573bf04e7cde688c\n\n# tcId = 131\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec13390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 132\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91207df60859acb911c7be61be7ca90\n\n# tcId = 133\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81ade0069a6e389573bf04e7cde688c\n\n# tcId = 134\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12398ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 135\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c913075f60859acb911c7be61be7ca90\n\n# tcId = 136\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde8069a6e389573bf04e7cde688c\n\n# tcId = 137\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea1a7ed15d9d37a6eca1fc990\n\n# tcId = 138\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df61859acb911c7be61be7ca90\n\n# tcId = 139\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0068a6e389573bf04e7cde688c\n\n# tcId = 140\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea2a7ed15d9d37a6eca1fc990\n\n# tcId = 141\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df62859acb911c7be61be7ca90\n\n# tcId = 142\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde006ba6e389573bf04e7cde688c\n\n# tcId = 143\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed95d9d37a6eca1fc990\n\n# tcId = 144\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859a4b911c7be61be7ca90\n\n# tcId = 145\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e309573bf04e7cde688c\n\n# tcId = 146\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d8d37a6eca1fc990\n\n# tcId = 147\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb901c7be61be7ca90\n\n# tcId = 148\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389563bf04e7cde688c\n\n# tcId = 149\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed1559d37a6eca1fc990\n\n# tcId = 150\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb111c7be61be7ca90\n\n# tcId = 151\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389d73bf04e7cde688c\n\n# tcId = 152\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9f37a6eca1fc990\n\n# tcId = 153\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb913c7be61be7ca90\n\n# tcId = 154\n# Flipped bit 77 in", + " tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389571bf04e7cde688c\n\n# tcId = 155\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37b6eca1fc990\n\n# tcId = 156\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7ae61be7ca90\n\n# tcId = 157\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf14e7cde688c\n\n# tcId = 158\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6ecb1fc990\n\n# tcId = 159\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61ae7ca90\n\n# tcId = 160\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7dde688c\n\n# tcId = 161\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6ec81fc990\n\n# tcId = 162\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be619e7ca90\n\n# tcId = 163\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7ede688c\n\n# tcId = 164\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6e4a1fc990\n\n# tcId = 165\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be69be7ca90\n\n# tcId = 166\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04efcde688c\n\n# tcId = 167\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc991\n\n# tcId = 168\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca91\n\n# tcId = 169\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde688d\n\n# tcId = 170\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc992\n\n# tcId = 171\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca92\n\n# tcId = 172\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde688e\n\n# tcId = 173\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc9d0\n\n# tcId = 174\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7cad0\n\n# tcId = 175\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde68cc\n\n# tcId = 176\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc910\n\n# tcId = 177\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca10\n\n# tcId = 178\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde680c\n\n# tcId = 179\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed12390ea0a7ed15d8d37a6eca1fc990\n\n# tcId = 180\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81307df60859acb901c7be61be7ca90\n\n# tcId = 181\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91bde0069a6e389563bf04e7cde688c\n\n# tcId = 182\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12398ea0a7ed95d9d37a6eca1fc990\n\n# tcId = 183\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c913075f60859a4b911c7be61be7ca90\n\n# tcId = 184\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde8069a6e309573bf04e7cde688c\n\n# tcId = 185\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed95d9d37a6eca1fc910\n\n# tcId = 186\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859a4b911c7be61be7ca10\n\n# tcId = 187\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e309573bf04e7cde680c\n\n# tcId = 188\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 13edc6f15f5812ea262c859135e0366f\n\n# tcId = 189\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 36ecf8209f7a65346ee38419e418356f\n\n# tcId = 190\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 07e421ff96591c76a8c40fb183219773\n\n# tcId = 191\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 192\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 193\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 194\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 195\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 196\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 197\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 6c92b98e20276d955953faee4a9f4910\n\n# tcId = 198\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 4993875fe0051a4b119cfb669b674a10\n\n# tcId = 199\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 789b5e80e9266309d7bb70cefc5ee80c\n\n# tcId = 200\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed13380fa1a6ec14d8d27b6fcb1ec891\n\n# tcId = 201\n# lsbs changed in tag\nkey = 00010203040", + "5060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81206de61849bca901d7ae71ae6cb91\n\n# tcId = 202\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91adf0168a7e288563af14f7ddf698d\n\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 203\n# empty message\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\ntag = 736c7b56957db774c5ddf7c7a70ba8a8\n\n# tcId = 204\n# short message\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\ntag = 9d47482c2d9252bace43a75a8335b8b8\n\n# tcId = 205\n# short message\nkey = ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f\nmsg = 6601\nresult = valid\ntag = c7c44e31c466334992d6f9de3c771634\n\n# tcId = 206\n# short message\nkey = 73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b\nmsg = f1d300\nresult = valid\ntag = b7086603a85e11fceb8cadea9bd30939\n\n# tcId = 207\n# short message\nkey = d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77\nmsg = 2ae63cbf\nresult = valid\ntag = ba383a3a15c9df64bba50d611113a024\n\n# tcId = 208\n# short message\nkey = 2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8\nmsg = af3a015ea1\nresult = valid\ntag = b457137c548908c629f714fe83b1ed90\n\n# tcId = 209\n# short message\nkey = 665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c\nmsg = 3f56935def3f\nresult = valid\ntag = b6d6fde93fc85de289b36b446d77b423\n\n# tcId = 210\n# short message\nkey = facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493\nmsg = 57bb86beed156f\nresult = valid\ntag = 8b1ef72d0a612735b08efef981f213c2\n\n# tcId = 211\n# short message\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\ntag = f79606b83a7706a2a19e068bce818898\n\n# tcId = 212\n# short message\nkey = f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf\nmsg = 852a21d92848e627c7\nresult = valid\ntag = a5a877f22ac743b7fb9e050d2e3ddb02\n\n# tcId = 213\n# short message\nkey = 64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4\nmsg = 195a3b292f93baff0a2c\nresult = valid\ntag = 6ea172e5c4d2fac075ca602de5757a62\n\n# tcId = 214\n# short message\nkey = b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c\nmsg = afd73117330c6e8528a6e4\nresult = valid\ntag = 68020bfc9bd73fd80d3ce581ba3b1208\n\n# tcId = 215\n# short message\nkey = 2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc\nmsg = 0ff54d6b6759120c2e8a51e3\nresult = valid\ntag = 110edd727a9bf7fa11a6358afe617d9d\n\n# tcId = 216\n# short message\nkey = abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8\nmsg = f0058d412a104e53d820b95a7f\nresult = valid\ntag = 1fa24c6625a0f8e1fc37827ac84d3cc4\n\n# tcId = 217\n# short message\nkey = 3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19\nmsg = aacc36972f183057919ff57b49e1\nresult = valid\ntag = 868765a8fa6aa898ddec0f4123e996be\n\n# tcId = 218\n# short message\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\ntag = b96818b7acaf879c7a7f8271375a6914\n\n# tcId = 219\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\ntag = 4b88e193000c5a4b23e95c7f2b26530b\n\n# tcId = 220\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\ntag = 86911c7da51dc0823d6e93d4290d1ad4\n\n# tcId = 221\nkey = 0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5\nmsg = 13937f8544f44270d01175a011f7670e93fa6ba7ef02336e\nresult = valid\ntag = ccb2c51bfbe2598f9109fc70ed07f0eb\n\n# tcId = 222\nkey = 96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892\nmsg = 91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18\nresult = valid\ntag = 925f177d85ea297ef14b203fe409f9ab\n\n# tcId = 223\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af0a293d8cba0101f0089727691b7fb\n\n# tcId = 224\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d709717c3a4ef8a2ea200b297d2accec\n\n# tcId = 225\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 226\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 69f0a293d8cba0101f0089727691b7fb\n\n# tcId = 227\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d409717c3a4ef8a2ea200b297d2accec\n\n# tcId = 228\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 5bee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 229\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ebf0a293d8cba0101f0089727691b7fb\n\n# tcId = 230\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 5609717c3a4ef8a2ea200b297d2accec\n\n# tcId = 231\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9ee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 232\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf1a293d8cba0101f0089727691b7fb\n\n# tcId = 233\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d608717c3a4ef8a2ea200b297d2accec\n\n# tcId = 234\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ef3f3b5f83e290cae26dad29bba32d\n\n# tcId = 235\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a213d8cba0101f0089727691b7fb\n\n# tcId = 236\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d60971fc3a4ef8a2ea200b297d2accec\n\n# tcId = 237\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3fbb5f83e290cae26dad29bba32d\n\n# tcId = 238\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d9cba0101f0089727691b7fb\n\n# tcId = 239\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3b4ef8a2ea200b297d2accec\n\n# tcId = 240\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5e83e290cae26dad29bba32d\n\n# tcId = 241\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293dacba0101f0089727691b7fb\n\n# tcId = 242\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c384ef8a2ea200b297d2accec\n\n# tcId = 243\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5d83e290cae26dad29bba32d\n\n# tcId = 244\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0901f0089727691b7fb\n\n# tcId = 245\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag =", + " d609717c3a4ef822ea200b297d2accec\n\n# tcId = 246\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e210cae26dad29bba32d\n\n# tcId = 247\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101e0089727691b7fb\n\n# tcId = 248\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2eb200b297d2accec\n\n# tcId = 249\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cbe26dad29bba32d\n\n# tcId = 250\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0109f0089727691b7fb\n\n# tcId = 251\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a26a200b297d2accec\n\n# tcId = 252\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e2904ae26dad29bba32d\n\n# tcId = 253\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f2089727691b7fb\n\n# tcId = 254\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea000b297d2accec\n\n# tcId = 255\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cac26dad29bba32d\n\n# tcId = 256\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0088727691b7fb\n\n# tcId = 257\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200a297d2accec\n\n# tcId = 258\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26cad29bba32d\n\n# tcId = 259\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727791b7fb\n\n# tcId = 260\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297c2accec\n\n# tcId = 261\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad28bba32d\n\n# tcId = 262\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727491b7fb\n\n# tcId = 263\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297f2accec\n\n# tcId = 264\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad2bbba32d\n\n# tcId = 265\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f008972f691b7fb\n\n# tcId = 266\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b29fd2accec\n\n# tcId = 267\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dada9bba32d\n\n# tcId = 268\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7fa\n\n# tcId = 269\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2acced\n\n# tcId = 270\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba32c\n\n# tcId = 271\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7f9\n\n# tcId = 272\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2accee\n\n# tcId = 273\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba32f\n\n# tcId = 274\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7bb\n\n# tcId = 275\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2accac\n\n# tcId = 276\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba36d\n\n# tcId = 277\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b77b\n\n# tcId = 278\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2acc6c\n\n# tcId = 279\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba3ad\n\n# tcId = 280\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af0a293d8cba0101e0089727691b7fb\n\n# tcId = 281\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d709717c3a4ef8a2eb200b297d2accec\n\n# tcId = 282\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ee3f3b5f83e290cbe26dad29bba32d\n\n# tcId = 283\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a213d8cba0901f0089727691b7fb\n\n# tcId = 284\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d60971fc3a4ef822ea200b297d2accec\n\n# tcId = 285\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3fbb5f83e210cae26dad29bba32d\n\n# tcId = 286\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0901f0089727691b77b\n\n# tcId = 287\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef822ea200b297d2acc6c\n\n# tcId = 288\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee", + "3f3b5f83e210cae26dad29bba3ad\n\n# tcId = 289\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 940f5d6c27345fefe0ff768d896e4804\n\n# tcId = 290\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 29f68e83c5b1075d15dff4d682d53313\n\n# tcId = 291\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a611c0c4a07c1d6f351d9252d6445cd2\n\n# tcId = 292\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 293\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 294\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 295\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 296\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 297\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 298\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = eb702213584b20909f8009f2f611377b\n\n# tcId = 299\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 5689f1fcbace78226aa08ba9fdaa4c6c\n\n# tcId = 300\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d96ebfbbdf0362104a62ed2da93b23ad\n\n# tcId = 301\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af1a392d9caa1111e0188737790b6fa\n\n# tcId = 302\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d708707d3b4ff9a3eb210a287c2bcded\n\n# tcId = 303\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ef3e3a5e82e391cbe36cac28baa22c\n\n[keySize = 0]\n[tagSize = 128]\n\n# tcId = 304\n# invalid key size\nkey = \nmsg = 00b9449326d39416\nresult = invalid\ntag = \n\n[keySize = 8]\n[tagSize = 128]\n\n# tcId = 305\n# invalid key size\nkey = 0f\nmsg = 4538b79a1397e2aa\nresult = invalid\ntag = \n\n[keySize = 64]\n[tagSize = 128]\n\n# tcId = 306\n# invalid key size\nkey = a88e385af7185148\nmsg = dc63b7ef08096e4f\nresult = invalid\ntag = \n\n[keySize = 160]\n[tagSize = 128]\n\n# tcId = 307\n# invalid key size\nkey = 003a228008d390b645929df73a2b2bdd8298918d\nmsg = ad1d3c3122ab7ac6\nresult = invalid\ntag = \n\n[keySize = 320]\n[tagSize = 128]\n\n# tcId = 308\n# invalid key size\nkey = 94baaac150e2645ae1ec1939c7bcefb73f6edb146fae02289b6c6326ff39bc265d612bef2727fa72\nmsg = e3f75a886c4a5591\nresult = invalid\ntag = \n\n", }; -static const size_t kLen58 = 42168; +static const size_t kLen91 = 44166; -static const char *kData58[] = { - "# Imported from Wycheproof's aes_gcm_siv_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-GCM\n# Generator version: 0.4.12\n\n[ivSize = 96]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = \niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = \nresult = valid\ntag = dc20e2d83f25705bb49e439eca56de25\n\n# tcId = 2\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = b5d839330ac7b786\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0100000000000000\nresult = valid\ntag = 578782fff6013b815b287c22493a364c\n\n# tcId = 3\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 7323ea61d05932260047d942\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 010000000000000000000000\nresult = valid\ntag = a4978db357391a0bc4fdec8b0d106639\n\n# tcId = 4\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 743f7c8077ab25f8624e2e948579cf77\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 01000000000000000000000000000000\nresult = valid\ntag = 303aaf90f6fe21199c6068577437a0c4\n\n# tcId = 5\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 84e07e62ba83a6585417245d7ec413a9fe427d6315c09b57ce45f2e3936a9445\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0100000000000000000000000000000002000000000000000000000000000000\nresult = valid\ntag = 1a8e45dcd4578c667cd86847bf6155ff\n\n# tcId = 6\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 3fd24ce1f5a67b75bf2351f181a475c7b800a5b4d3dcf70106b1eea82fa1d64df42bf7226122fa92e17a40eeaac1201b\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = 5e6e311dbf395d35b0fe39c2714388f8\n\n# tcId = 7\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 2433668f1058190f6d43e360f4f35cd8e475127cfca7028ea8ab5c20f7ab2af02516a2bdcbc08d521be37ff28c152bba36697f25b4cd169c6590d1dd39566d3f\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 8a263dd317aa88d56bdf3936dba75bb8\n\n# tcId = 8\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 1e6daba35669f427\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0200000000000000\nresult = valid\ntag = 3b0a1a2560969cdf790d99759abd1508\n\n# tcId = 9\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 296c7889fd99f41917f44620\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 020000000000000000000000\nresult = valid\ntag = 08299c5102745aaa3a0c469fad9e075a\n\n# tcId = 10\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = e2b0c5da79a901c1745f700525cb335b\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000000000000000000000000000\nresult = valid\ntag = 8f8936ec039e4e4bb97ebd8c4457441f\n\n# tcId = 11\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 620048ef3c1e73e57e02bb8562c416a319e73e4caac8e96a1ecb2933145a1d71\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = e6af6a7f87287da059a71684ed3498e1\n\n# tcId = 12\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 50c8303ea93925d64090d07bd109dfd9515a5a33431019c17d93465999a8b0053201d723120a8562b838cdff25bf9d1e\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 6a8cc3865f76897c2e4b245cf31c51f2\n\n# tcId = 13\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 2f5c64059db55ee0fb847ed513003746aca4e61c711b5de2e7a77ffd02da42feec601910d3467bb8b36ebbaebce5fba30d36c95f48a3e7980f0e7ac299332a80\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nresult = valid\ntag = cdc46ae475563de037001ef84ae21744\n\n# tcId = 14\n# draft-irtf-cfrg-gcmsiv-06\naad = 010000000000000000000000\nct = a8fe3e87\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000\nresult = valid\ntag = 07eb1f84fb28f8cb73de8e99e2f48a14\n\n# tcId = 15\n# draft-irtf-cfrg-gcmsiv-06\naad = 010000000000000000000000000000000200\nct = 6bb0fecf5ded9b77f902c7d5da236a4391dd0297\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0300000000000000000000000000000004000000\nresult = valid\ntag = 24afc9805e976f451e6d87f6fe106514\n\n# tcId = 16\n# draft-irtf-cfrg-gcmsiv-06\naad = 0100000000000000000000000000000002000000\nct = 44d0aaf6fb2f1f34add5e8064e83e12a2ada\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 030000000000000000000000000000000400\nresult = valid\ntag = bff9b2ef00fb47920cc72a0c0f13b9fd\n\n# tcId = 17\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = \niv = f46e44bb3da0015c94f70887\nkey = e66021d5eb8e4f4066d4adb9c33560e4\nmsg = \nresult = valid\ntag = a4194b79071b01a87d65f706e3949578\n\n# tcId = 18\n# draft-irtf-cfrg-gcmsiv-06\naad = 46bb91c3c5\nct = af60eb\niv = bae8e37fc83441b16034566b\nkey = 36864200e0eaf5284d884a0e77d31646\nmsg = 7a806c\nresult = valid\ntag = 711bd85bc1e4d3e0a462e074eea428a8\n\n# tcId = 19\n# draft-irtf-cfrg-gcmsiv-06\naad = fc880c94a95198874296\nct = bb93a3e34d3c\niv = afc0577e34699b9e671fdd4f\nkey = aedb64a6c590bc84d1a5e269e4b47801\nmsg = bdc66f146545\nresult = valid\ntag = d6a9c45545cfc11f03ad743dba20f966\n\n# tcId = 20\n# draft-irtf-cfrg-gcmsiv-06\naad = 046787f3ea22c127aaf195d1894728\nct = 4f37281f7ad12949d0\niv = 275d1ab32f6d1f0434d8848c\nkey = d5cc1fd161320b6920ce07787f86743b\nmsg = 1177441f195495860f\nresult = valid\ntag = 1d02fd0cd174c84fc5dae2f60f52fd2b\n\n# tcId = 21\n# draft-irtf-cfrg-gcmsiv-06\naad = c9882e5386fd9f92ec489c8fde2be2cf97e74e93\nct = f54673c5ddf710c745641c8b\niv = 9e9ad8780c8d63d0ab4149c0\nkey = b3fed1473c528b8426a582995929a149\nmsg = 9f572c614b4745914474e7c7\nresult = valid\ntag = c1dc2f871fb7561da1286e655e24b7b0\n\n# tcId = 22\n# draft-irtf-cfrg-gcmsiv-06\naad = 2950a70d5a1db2316fd568378da107b52b0da55210cc1c1b0a\nct = c9ff545e07b88a015f05b274540aa1\niv = ac80e6f61455bfac8308a2d4\nkey = 2d4ed87da44102952ef94b02b805249b\nmsg = 0d8c8451178082355c9e940fea2f58\nresult = valid\ntag = 83b3449b9f39552de99dc214a1190b0b\n\n# tcId = 23\n# draft-irtf-cfrg-gcmsiv-06\naad = 1860f762ebfbd08284e421702de0de18baa9c9596291b08466f37de21c7f\nct = 6298b296e24e8cc35dce0bed484b7f30d580\niv = ae06556fb6aa7890bebc18fe\nkey = bde3b2f204d1e9f8b06bc47f9745b3d1\nmsg = 6b3db4da3d57aa94842b9803a96e07fb6de7\nresult = valid\ntag = 3e377094f04709f64d7b985310a4db84\n\n# tcId = 24\n# draft-irtf-cfrg-gcmsiv-06\naad = 7576f7028ec6eb5ea7e298342a94d4b202b370ef9768ec6561c4fe6b7e7296fa859c21\nct = 391cc328d484a4f46406181bcd62efd9b3ee197d05\niv = 6245709fb18853f68d833640\nkey = f901cfe8a69615a93fdf7a98cad48179\nmsg = e42a3c02c25b64869e146d7b233987bddfc240871d\nresult = valid\ntag = 2d15506c84a9edd65e13e9d24a2a6e70\n\n# tcId = 25\naad = \nct = \niv = 438a547a94ea88dce46c6c85\nkey = bedcfb5a011ebc84600fcb296c15af0d\nmsg = \nresult = valid\ntag = 596d0538e48526be1c991e40cc031073\n\n# tcId = 26\naad = \nct = 4f\niv = b30c084727ad1c592ac21d12\nkey = 384ea416ac3c2f51a76e7d8226346d4e\nmsg = 35\nresult = valid\ntag = 8b2b805fc0885e2b470d9dbe6cb15ed3\n\n# tcId = 27\naad = \nct = 04c7a55f97846e54\niv = b5e006ded553110e6dc56529\nkey = cae31cd9f55526eb038241fc44cac1e5\nmsg = d10989f2c52e94ad\nresult = valid\ntag = 48168ff846356c33032c719b518f18a8\n\n# tcId = 28\naad = \nct = fd9521041b0397a15b0070b93f48a9\niv = ecb0c42f7000ef0e6f95f24d\nkey = dd6197cd63c963919cf0c273ef6b28bf\nmsg = 4dcc1485365866e25ac3f2ca6aba97\nresult = valid\ntag = 09df91414578f7faf757d04ee26ab901\n\n# tcId = 29\naad = \nct = 6eb905287ddfafc32f6b1c10046c089f\niv = 0e1666f2dc652f7708fb8f0d\nkey = ffdf4228361ea1f8165852136b3480f7\nmsg = 25b12e28ac0ef6ead0226a3b2288c800\nresult = valid\ntag = 4ff9f939a77c34b0cb1ee75fcb0dd29a\n\n# tcId = 30\naad = \nct = 6f62bd09d4f36f73e289ab6dd114727fe3\niv = 965ff6643116ac1443a2dec7\nkey = c15ed227dd2e237ecd087eaaaad19ea4\nmsg = fee62fde973fe025ad6b322dcdf3c63fc7\nresult = valid\ntag = ea727c084db2bc948de0928edddd7fcf\n\n# tcId = 31\naad = \nct = 80133a4bea7311f0d3c9835144c37c4ef0ef20", - "c8f2e36be1\niv = fbbc04fd6e025b7193eb57f6\nkey = a8ee11b26d7ceb7f17eaa1e4b83a2cf6\nmsg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf\nresult = valid\ntag = b92f47c1af6713e14fbdf60efebb50c6\n\n# tcId = 32\naad = \nct = 778b308e4ca17607df36c0b94695bc64603173b814701a9f69147b42478a0b1f\niv = a2dbe708db51c68ef02994a6\nkey = 7519588f30f7f08ff98e1beee6a2a783\nmsg = 1851956319256ebb0f9ccaf325a24abfc5c3e90b055e57cdc0c7ab2165ae03b1\nresult = valid\ntag = b75c98952c0aa11958a55c9c2ecf33f5\n\n# tcId = 33\naad = 30\nct = 173ba6370171be47dbb6163a63a3b725\niv = 4bad10c6d84fd43fd13ad36f\nkey = a5b5b6bae45b741fe4663890098f326a\nmsg = 127b150080ec0bc7704e26f4ab11abb6\nresult = valid\ntag = 53aefed6e971d5a1f435f0730a6dd0fd\n\n# tcId = 34\naad = 743e\nct = 959f0ff12481dedc4302ad7a904f9486\niv = 2186a3091237adae83540e24\nkey = 0cecb9f512932d68e2c7c0bc4bd621c8\nmsg = 437aeb94d842283ba57bb758e3d229f0\nresult = valid\ntag = 0215be2ab9b0672a7b82893891057c9c\n\n# tcId = 35\naad = 25591707c004f506f4b51e85e29f6a\nct = 8ae3a16a237f1358ac8cfeb5f4cc2818\niv = 0c908e58cddad69dea1a32c3\nkey = 55e04c122780be52ed9328928039008c\nmsg = 26eb70672eef03667b34cc7d0df05872\nresult = valid\ntag = 28f5aa8a34a9f7c01c17759d142b1bae\n\n# tcId = 36\naad = c07092d799dac2b4c05fbddd04743c34\nct = d5220f6a49d1e4c10d38c77c8156ebd0\niv = c30968c967e53505621628db\nkey = 5f0a1b5f8f8673d566ec7f54e7dca4f2\nmsg = f6538476daf04524cf134309dd84e187\nresult = valid\ntag = 80b50f526286dad22d40984636f0e9ce\n\n# tcId = 37\naad = 3ea12d80f40f34f812479d2ecc13d2d6df\nct = 3e771b9376e1d1cde3d9b73349c958bc\niv = a51c37f467893c1608e56274\nkey = 671a70e883fb0611dffd0b1dd9b8cca2\nmsg = 3baf3edf04dc0c97aae081cdeb08021d\nresult = valid\ntag = ebd3ea678a1e87839a4356584ea89bac\n\n# tcId = 38\naad = 5189ea6f39b2a78c0202fdff146c5cc6bdc7491d4786f80c6c6aef65634c05da\nct = 05b568a589d0a77a8ee9c6f06415c6b6\niv = 52c20979cdaaade573dba650\nkey = 63f03172505d90e94900125cb8a4b0dd\nmsg = 602c98997ee03fd11ce00e92de193977\nresult = valid\ntag = 91ba5089dffb7538199c441728d5f84a\n\n# tcId = 39\n# Testing for ctr overflow\naad = 395f4091b410c373073bcdc79e02d3af\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 00112233445566778899aabbccddeeff\nmsg = 43488548d88e6f774bcd2d52c18fbcc933a4e9a9613ff3edbe959ec59522adc098b3133b8d17b9e9dad631ad33752c95\nresult = valid\ntag = 00000000000000000000000000000000\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 40\n# Testing for ctr overflow\naad = 616b2dff4d665e5f7ab890723dd981b1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = f012c6a7eb0e8af5bc45e015e7680a693dc709b95383f6a94babec1bc36e4be3cf4f55a31a94f11c6c3f90eed99682bc\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 41\n# Testing for ctr overflow\naad = 387a8997605fd04ae8951c4759087864\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 030303030303030303030303\nkey = 00112233445566778899aabbccddeeff\nmsg = 71ceee58179d6fb968521e9594dbf98cc0040f6aa38fe873c32a9b122d6cbfd51aa4778b3f4f37be7348690d97e2468b\nresult = valid\ntag = fefffffffefffffffefffffffeffffff\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 42\n# Testing for ctr overflow\naad = 6783b0d5e9d8a2a7274065797097d1ae\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 060606060606060606060606\nkey = 00112233445566778899aabbccddeeff\nmsg = 2e14f9e9a09ea204557367898a80dcad117af3666bea25762b70633a9f3614fbe631ba617c371fd5566d5e613496e69f\nresult = valid\ntag = ffffff7f00112233445566778899aabb\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 43\n# Testing for ctr overflow\naad = 2933810c146f4f7dd146dd43f35199c6\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 00112233445566778899aabbccddeeff\nmsg = 27fac75879c9d87cd52a0793137ba792f6f145148158eb538f2081e09cd0315986a7025045ecbb2ca1bb18a17bfcd567\nresult = valid\ntag = ffffffffffffff7f0011223344556677\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 44\n# Flipped bit 0 in tag\naad = 27dd62060507dae87c4f93f391ba15f9\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 45\n# Flipped bit 0 in tag\naad = 9ea3371e258288d5a01b15384e2c99ee\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 46\n# Flipped bit 0 in tag\naad = ce24e3ec0fe7b8550d621b71fdb5d0eb\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 47\n# Flipped bit 7 in tag\naad = 1471f354b359c235117febba854a823b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 48\n# Flipped bit 7 in tag\naad = 11f820294fc9d13f1895d2fb5509913b\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 49\n# Flipped bit 8 in tag\naad = 45e7257b814f09de44177b27b914822f\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 50\n# Flipped bit 8 in tag\naad = 4c49780b5438c4a7ea9795b9856fdae1\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 51\n# Flipped bit 8 in tag\naad = ecc2f2f4142837a34f9cd1fa030a5d7f\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 52\n# Flipped bit 31 in tag\naad = 69c7f5605da8e0684990b087411f8cf5\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 53\n# Flipped bit 31 in tag\naad = 20b346be60e7e97588bf504ce707ce0b\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 54\n# Flipped bit 63 in tag\naad = 19b298f3a061a73cb774da927ce11ca2\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 55\n# Flipped bit 63 in tag\naad = bff8c631e61c18a050a523ad4a750a20\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 56\n# Flipped bit 64 in tag\naad = 7b6171302b689c926852163e310f08d4\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 57\n# Flipped bit 97 in tag\naad = 555036128fa18ecadd090cb772ac0bf3\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 58\n# Flipped ", - "bit 97 in tag\naad = a5b43b8e1dbb2bfbda1b625fee4064a7\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 59\n# Flipped bit 120 in tag\naad = ae47cc5d7681dd480c23469c5519b647\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 60\n# Flipped bit 120 in tag\naad = d53dd677184702eaa660f1349195fc04\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 61\n# Flipped bit 120 in tag\naad = dc78584e4599dd4b2fb333db2f9ccb95\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 62\n# Flipped bit 121 in tag\naad = 0bfd9271e79153a8afdb7f3d96fe446f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 63\n# Flipped bit 121 in tag\naad = 1e0537a95b7200134d0b440657d50fd1\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 64\n# Flipped bit 121 in tag\naad = 7633155df35857258d23b0651d60847c\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 65\n# Flipped bit 126 in tag\naad = ab0a064b473de43598adf81ee297d856\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 66\n# Flipped bit 127 in tag\naad = f62bdc3f4fcb699ee12f6e87dcc704cb\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 67\n# Flipped bit 127 in tag\naad = 1320051031807b8f44e9d2cb1ec6aa92\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 68\n# Flipped bit 127 in tag\naad = 329b813d3ae2225d3e15f97a28037bcc\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 69\n# Flipped bit 0..127 in tag\naad = edc723bedd0078696acdea005c74b841\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 70\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = \niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = \nresult = valid\ntag = 07f5f4169bbf55a8400cd47ea6fd400f\n\n# tcId = 71\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = c2ef328e5c71c83b\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0100000000000000\nresult = valid\ntag = 843122130f7364b761e0b97427e3df28\n\n# tcId = 72\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 9aab2aeb3faa0a34aea8e2b1\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 010000000000000000000000\nresult = valid\ntag = 8ca50da9ae6559e48fd10f6e5c9ca17e\n\n# tcId = 73\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 85a01b63025ba19b7fd3ddfc033b3e76\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 01000000000000000000000000000000\nresult = valid\ntag = c9eac6fa700942702e90862383c6c366\n\n# tcId = 74\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 4a6a9db4c8c6549201b9edb53006cba821ec9cf850948a7c86c68ac7539d027f\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0100000000000000000000000000000002000000000000000000000000000000\nresult = valid\ntag = e819e63abcd020b006a976397632eb5d\n\n# tcId = 75\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = c00d121893a9fa603f48ccc1ca3c57ce7499245ea0046db16c53c7c66fe717e39cf6c748837b61f6ee3adcee17534ed5\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = 790bc96880a99ba804bd12c0e6a22cc4\n\n# tcId = 76\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = c2d5160a1f8683834910acdafc41fbb1632d4a353e8b905ec9a5499ac34f96c7e1049eb080883891a4db8caaa1f99dd004d80487540735234e3744512c6f90ce\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 112864c269fc0d9d88c61fa47e39aa08\n\n# tcId = 77\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 1de22967237a8132\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0200000000000000\nresult = valid\ntag = 91213f267e3b452f02d01ae33e4ec854\n\n# tcId = 78\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 163d6f9cc1b346cd453a2e4c\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 020000000000000000000000\nresult = valid\ntag = c1a4a19ae800941ccdc57cc8413c277f\n\n# tcId = 79\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = c91545823cc24f17dbb0e9e807d5ec17\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000000000000000000000000000\nresult = valid\ntag = b292d28ff61189e8e49f3875ef91aff7\n\n# tcId = 80\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 07dad364bfc2b9da89116d7bef6daaaf6f255510aa654f920ac81b94e8bad365\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = aea1bad12702e1965604374aab96dbbc\n\n# tcId = 81\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = c67a1f0f567a5198aa1fcc8e3f21314336f7f51ca8b1af61feac35a86416fa47fbca3b5f749cdf564527f2314f42fe25\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 03332742b228c647173616cfd44c54eb\n\n# tcId = 82\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 67fd45e126bfb9a79930c43aad2d36967d3f0e4d217c1e551f59727870beefc98cb933a8fce9de887b1e40799988db1fc3f91880ed405b2dd298318858467c89\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nresult = valid\ntag = 5bde0285037c5de81e5b570a049b62a0\n\n# tcId = 83\n# draft-irtf-cfrg-gcmsiv-06\naad = 010000000000000000000000\nct = 22b3f4cd\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000\nresult = valid\ntag = 1835e517741dfddccfa07fa4661b74cf\n\n# tcId = 84\n# draft-irtf-cfrg-gcmsiv-06\naad = 010000000000000000000000000000000200\nct = 43dd0163cdb48f9fe3212bf61b201976067f342b\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0300000000000000000000000000000004000000\nresult = valid\ntag = b879ad976d8242acc188ab59cabfe307\n\n# tcId = 85\n# draft-irtf-cfrg-gcmsiv-06\naad = 0100000000000000000000000000000002000000\nct = 462401724b5ce6588d5a54aae5375513a075\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 030000000000000000000000000000000400\nresult = valid\ntag = cfcdf5042112aa29685c912fc2056543\n\n# tcId = 86\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = \niv =", - " e0eaf5284d884a0e77d31646\nkey = e66021d5eb8e4f4066d4adb9c33560e4f46e44bb3da0015c94f7088736864200\nmsg = \nresult = valid\ntag = 169fbb2fbf389a995f6390af22228a62\n\n# tcId = 87\n# draft-irtf-cfrg-gcmsiv-06\naad = 4fbdc66f14\nct = 0eaccb\niv = e4b47801afc0577e34699b9e\nkey = bae8e37fc83441b16034566b7a806c46bb91c3c5aedb64a6c590bc84d1a5e269\nmsg = 671fdd\nresult = valid\ntag = 93da9bb81333aee0c785b240d319719d\n\n# tcId = 88\n# draft-irtf-cfrg-gcmsiv-06\naad = 6787f3ea22c127aaf195\nct = a254dad4f3f9\niv = 2f6d1f0434d8848c1177441f\nkey = 6545fc880c94a95198874296d5cc1fd161320b6920ce07787f86743b275d1ab3\nmsg = 195495860f04\nresult = valid\ntag = 6b62b84dc40c84636a5ec12020ec8c2c\n\n# tcId = 89\n# draft-irtf-cfrg-gcmsiv-06\naad = 489c8fde2be2cf97e74e932d4ed87d\nct = 0df9e308678244c44b\niv = 9f572c614b4745914474e7c7\nkey = d1894728b3fed1473c528b8426a582995929a1499e9ad8780c8d63d0ab4149c0\nmsg = c9882e5386fd9f92ec\nresult = valid\ntag = c0fd3dc6628dfe55ebb0b9fb2295c8c2\n\n# tcId = 90\n# draft-irtf-cfrg-gcmsiv-06\naad = 0da55210cc1c1b0abde3b2f204d1e9f8b06bc47f\nct = 8dbeb9f7255bf5769dd56692\niv = 5c9e940fea2f582950a70d5a\nkey = a44102952ef94b02b805249bac80e6f61455bfac8308a2d40d8c845117808235\nmsg = 1db2316fd568378da107b52b\nresult = valid\ntag = 404099c2587f64979f21826706d497d5\n\n# tcId = 91\n# draft-irtf-cfrg-gcmsiv-06\naad = f37de21c7ff901cfe8a69615a93fdf7a98cad481796245709f\nct = 793576dfa5c0f88729a7ed3c2f1bff\niv = 6de71860f762ebfbd08284e4\nkey = 9745b3d1ae06556fb6aa7890bebc18fe6b3db4da3d57aa94842b9803a96e07fb\nmsg = 21702de0de18baa9c9596291b08466\nresult = valid\ntag = b3080d28f6ebb5d3648ce97bd5ba67fd\n\n# tcId = 92\n# draft-irtf-cfrg-gcmsiv-06\naad = 9c2159058b1f0fe91433a5bdc20e214eab7fecef4454a10ef0657df21ac7\nct = 857e16a64915a787637687db4a9519635cdd\niv = 028ec6eb5ea7e298342a94d4\nkey = b18853f68d833640e42a3c02c25b64869e146d7b233987bddfc240871d7576f7\nmsg = b202b370ef9768ec6561c4fe6b7e7296fa85\nresult = valid\ntag = 454fc2a154fea91f8363a39fec7d0a49\n\n# tcId = 93\n# draft-irtf-cfrg-gcmsiv-06\naad = 734320ccc9d9bbbb19cb81b2af4ecbc3e72834321f7aa0f70b7282b4f33df23f167541\nct = 626660c26ea6612fb17ad91e8e767639edd6c9faee\niv = 688089e55540db1872504e1c\nkey = 3c535de192eaed3822a2fbbe2ca9dfc88255e14a661b8aa82cc54236093bbc23\nmsg = ced532ce4159b035277d4dfbb7db62968b13cd4eec\nresult = valid\ntag = 9d6c7029675b89eaf4ba1ded1a286594\n\n# tcId = 94\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = f3f80f2cf0cb2dd9c5984fcda908456cc537703b5ba70324a6793a7bf218d3ea\niv = 000000000000000000000000\nkey = 0000000000000000000000000000000000000000000000000000000000000000\nmsg = 000000000000000000000000000000004db923dc793ee6497c76dcc03a98e108\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 95\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 18ce4f0b8cb4d0cac65fea8f79257b20888e53e72299e56d\niv = 000000000000000000000000\nkey = 0000000000000000000000000000000000000000000000000000000000000000\nmsg = eb3640277c7ffd1303c7a542d02d3e4c0000000000000000\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 96\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 181720f6ecdcdd332c89d20e09f11b0f\n\n# tcId = 97\naad = \nct = fa\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = 868ee11a7fe13996ac26962a7e861962\n\n# tcId = 98\naad = \nct = c32210c306fac7dc\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = da60d8ff4d550e6801b0ce488ed1b6fe\n\n# tcId = 99\naad = \nct = 0180029193bbb29e326b5817e8ea01\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = 4dd43e861c5f141a693ebc056ed0f0f9\n\n# tcId = 100\naad = \nct = 31cb136074adcd00cf75e9587d7e8424\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 567871b7aaaf3c00f42fd9d5962df514\n\n# tcId = 101\naad = \nct = c97e58e8730a567e8bdf5eb981cdd5f323\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = 4b2dc825fef9dc6bf234f2b8ff798f9e\n\n# tcId = 102\naad = \nct = c2669f9fc8fe6013c4dd22468d43c2af73647b7018531d29\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 06a58c8d44e99b3262cad0e920df1f85\n\n# tcId = 103\naad = \nct = faaef557c31a231115f393c4b3c1a1413fb40b4204458d5f9ef8a9f2f12486ae\niv = 72cfd90ef3026ca22b7e6e6a\nkey = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3\nmsg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678\nresult = valid\ntag = 72fc457255aadf708719c46986caefad\n\n# tcId = 104\naad = 02\nct = 12fffdccd1e5a9708fa30ccf99137067\niv = 87345f1055fd9e2102d50656\nkey = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c\nmsg = e5ccaa441bc814688f8f6e8f28b500b2\nresult = valid\ntag = 688e0b634f51c4f6d983629c8a63c1c0\n\n# tcId = 105\naad = b648\nct = b75b8e96de2ef9704ade5c64cab59671\niv = 87a3163ec0598ad95b3aa713\nkey = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc\nmsg = 02cde168fba3f544bbd0332f7adeada8\nresult = valid\ntag = dec00ceb899c4a6a29be67f1b30435e0\n\n# tcId = 106\naad = bd4cd02fc7502bbdbdf6c9a3cbe8f0\nct = 8e67034384170a646e9eea1606a8e899\niv = 6f573aa86baa492ba46596df\nkey = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f\nmsg = 16ddd23ff53f3d23c06334487040eb47\nresult = valid\ntag = fe7a3dd42beb5ff70bb471ff76f0d341\n\n# tcId = 107\naad = 89cce9fb47441d07e0245a66fe8b778b\nct = 7eeb00c65fe7e0c79255e3cd90013588\niv = 1a6518f02ede1da6809266d9\nkey = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016\nmsg = 623b7850c321e2cf0c6fbcc8dfd1aff2\nresult = valid\ntag = 957d35fb25fdc17f00db33756967fd02\n\n# tcId = 108\naad = d19f2d989095f7ab03a5fde84416e00c0e\nct = f83e3b4333400d6393d085fe947057c4\niv = 564dee49ab00d240fc1068c3\nkey = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657\nmsg = 87b3a4d7b26d8d3203a0de1d64ef82e3\nresult = valid\ntag = 7a30291bb506ae3961f61d683c9d94d1\n\n# tcId = 109\naad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37\nct = 97db4d850442eb33e6089af6f3cadf7b\niv = 8df4b15a888c33286a7b7651\nkey = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130\nmsg = dc9e9eaf11e314182df6a4eba17aec9c\nresult = valid\ntag = 3ccbb125b2835754c1409d227e374d0b\n\n# tcId = 110\n# Testing for ctr overflow\naad = 40c32e00c2fdab59c1a1c573b46b5068\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = bdd411814564c4218d224d50591c818855a862a0a519ac0b3d71a2edb12aa71eb81959bcc6b84c45aa424c9aca0b7bdd\nresult = valid\ntag = 00000000000000000000000000000000\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 111\n# Testing for ctr overflow\naad = 2cc3a1973e0560f7224a394e52fa8488\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = d04846a01f472262e60a1cb4cfcbdcb05c3f819628a3a49395c5dae96c434b2417ce071699afa74a60c32c0bafd9c01a\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 112\n# Testing for ctr overflow\naad = 2e34d12622a441b557eeb1d647c6cb73\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 79637cee9decf33e3080de3d2c55bd21cd529ba8080b583edb6cfe13cda04bd00debe58b8cd48d6e02a1ecfc4d87923a\nresult = valid\ntag = fefffffffefffffffefffffffeffffff\n# The counter fo", - "r AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 113\n# Testing for ctr overflow\naad = 0814a95481bf915a4097949e3525c7e7\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6492a73880dac7f36743715b0fc7063d3e46a25044310bba5849ed88bfcb54b0adbe3978040bda849906e1aa09d1a8e3\nresult = valid\ntag = ffffff7f00112233445566778899aabb\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 114\n# Testing for ctr overflow\naad = b691ef42f2ab8d1b4a581bb08394b13a\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 7848d9e872f40bca1b82a4e7185fb75193b3496cc1dc2a72b86ed156ab8389e71687ed25eb6485e66561fa8c39853368\nresult = valid\ntag = ffffffffffffff7f0011223344556677\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 115\n# Flipped bit 0 in tag\naad = e144878b0bbbf01b75231277e1e0d114\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 116\n# Flipped bit 0 in tag\naad = 0289eaa93eb084107d2088435ef2a0cd\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 117\n# Flipped bit 1 in tag\naad = f3bd6013669b7d9371727fcb1aafea75\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 118\n# Flipped bit 7 in tag\naad = 922e91b2c5016e4303c737d1608ca25f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 119\n# Flipped bit 7 in tag\naad = 7195dd0addce5dd7014bfddb2f23206f\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 120\n# Flipped bit 7 in tag\naad = 32fc2a53e9678f1fc6d63081c36c6f2c\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 121\n# Flipped bit 8 in tag\naad = c55ba71ee250216f8ecfe822d712dd38\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 122\n# Flipped bit 8 in tag\naad = 5546acf865fc305fbd7ff1092cb9c2c3\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 123\n# Flipped bit 31 in tag\naad = 6b060eebe1843b409a4dfd0be8f86a2b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 124\n# Flipped bit 31 in tag\naad = c4adb92f1a60eb2faff88675f62a7276\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 125\n# Flipped bit 32 in tag\naad = 70c5a8591f52f869c6415a6d7000e253\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 126\n# Flipped bit 63 in tag\naad = b5fe79f182cb9f2945208e29513928d1\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 127\n# Flipped bit 63 in tag\naad = c1dbf87e4a586b040c53f6dd9063b4cd\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 128\n# Flipped bit 64 in tag\naad = 845466e603ca85a224693d150ae13ba3\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 129\n# Flipped bit 97 in tag\naad = 18cb9f5eede6224fa3fcd525cf9f958b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 130\n# Flipped bit 97 in tag\naad = 8c4fbca37d2e361856b9f80adf455fa0\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 131\n# Flipped bit 97 in tag\naad = bc517fe140abf2b42eb1cafe8c0715a9\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 132\n# Flipped bit 120 in tag\naad = 617e1c5ef62ed35cf678e670f116ff2f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 133\n# Flipped bit 120 in tag\naad = e71802b7a37e8ef1f001ef0c52c636f2\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 134\n# Flipped bit 120 in tag\naad = be647e37f154d4a8edca5a29ca221cc5\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 135\n# Flipped bit 121 in tag\naad = b3caa01f49c7cbc56c7c92547257957e\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 136\n# Flipped bit 121 in tag\naad = ab0347a2aec4cc4c366583062442ba07\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 137\n# Flipped bit 126 in tag\naad = 62573ef39a27f77b37fb7bfc84e46cee\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 138\n# Flipped bit 126 in tag\naad = 28e3cadfb16834e824642e965588c200\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 139\n# Flipped bit 126 in tag\naad = 7edd2fc15bed224a46dc8608e1766080\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccdd", - "eeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 140\n# Flipped bit 127 in tag\naad = 7e0e03104e2c0ff20ba4c35742180c5b\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 141\n# Flipped bit 127 in tag\naad = 9a24dc75c5ddd3bab57ff532eb86d224\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 142\n# Flipped bit 127 in tag\naad = 3196aec499c15bc043b6866ba0df6e6b\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 143\n# Flipped bit 0..127 in tag\naad = 55a2987aa94bf46ad1b6d253a44c1622\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n", +static const char *kData91[] = { + "# Imported from Wycheproof's aes_gcm_siv_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-GCM-SIV\n# Generator version: 0.8r12\n\n[ivSize = 96]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = \niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = \nresult = valid\ntag = dc20e2d83f25705bb49e439eca56de25\n\n# tcId = 2\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = b5d839330ac7b786\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0100000000000000\nresult = valid\ntag = 578782fff6013b815b287c22493a364c\n\n# tcId = 3\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 7323ea61d05932260047d942\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 010000000000000000000000\nresult = valid\ntag = a4978db357391a0bc4fdec8b0d106639\n\n# tcId = 4\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 743f7c8077ab25f8624e2e948579cf77\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 01000000000000000000000000000000\nresult = valid\ntag = 303aaf90f6fe21199c6068577437a0c4\n\n# tcId = 5\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 84e07e62ba83a6585417245d7ec413a9fe427d6315c09b57ce45f2e3936a9445\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0100000000000000000000000000000002000000000000000000000000000000\nresult = valid\ntag = 1a8e45dcd4578c667cd86847bf6155ff\n\n# tcId = 6\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 3fd24ce1f5a67b75bf2351f181a475c7b800a5b4d3dcf70106b1eea82fa1d64df42bf7226122fa92e17a40eeaac1201b\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = 5e6e311dbf395d35b0fe39c2714388f8\n\n# tcId = 7\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 2433668f1058190f6d43e360f4f35cd8e475127cfca7028ea8ab5c20f7ab2af02516a2bdcbc08d521be37ff28c152bba36697f25b4cd169c6590d1dd39566d3f\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 8a263dd317aa88d56bdf3936dba75bb8\n\n# tcId = 8\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 1e6daba35669f427\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0200000000000000\nresult = valid\ntag = 3b0a1a2560969cdf790d99759abd1508\n\n# tcId = 9\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 296c7889fd99f41917f44620\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 020000000000000000000000\nresult = valid\ntag = 08299c5102745aaa3a0c469fad9e075a\n\n# tcId = 10\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = e2b0c5da79a901c1745f700525cb335b\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000000000000000000000000000\nresult = valid\ntag = 8f8936ec039e4e4bb97ebd8c4457441f\n\n# tcId = 11\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 620048ef3c1e73e57e02bb8562c416a319e73e4caac8e96a1ecb2933145a1d71\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = e6af6a7f87287da059a71684ed3498e1\n\n# tcId = 12\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 50c8303ea93925d64090d07bd109dfd9515a5a33431019c17d93465999a8b0053201d723120a8562b838cdff25bf9d1e\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 6a8cc3865f76897c2e4b245cf31c51f2\n\n# tcId = 13\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 2f5c64059db55ee0fb847ed513003746aca4e61c711b5de2e7a77ffd02da42feec601910d3467bb8b36ebbaebce5fba30d36c95f48a3e7980f0e7ac299332a80\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nresult = valid\ntag = cdc46ae475563de037001ef84ae21744\n\n# tcId = 14\n# draft-irtf-cfrg-gcmsiv-09\naad = 010000000000000000000000\nct = a8fe3e87\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000\nresult = valid\ntag = 07eb1f84fb28f8cb73de8e99e2f48a14\n\n# tcId = 15\n# draft-irtf-cfrg-gcmsiv-09\naad = 010000000000000000000000000000000200\nct = 6bb0fecf5ded9b77f902c7d5da236a4391dd0297\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0300000000000000000000000000000004000000\nresult = valid\ntag = 24afc9805e976f451e6d87f6fe106514\n\n# tcId = 16\n# draft-irtf-cfrg-gcmsiv-09\naad = 0100000000000000000000000000000002000000\nct = 44d0aaf6fb2f1f34add5e8064e83e12a2ada\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 030000000000000000000000000000000400\nresult = valid\ntag = bff9b2ef00fb47920cc72a0c0f13b9fd\n\n# tcId = 17\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = \niv = f46e44bb3da0015c94f70887\nkey = e66021d5eb8e4f4066d4adb9c33560e4\nmsg = \nresult = valid\ntag = a4194b79071b01a87d65f706e3949578\n\n# tcId = 18\n# draft-irtf-cfrg-gcmsiv-09\naad = 46bb91c3c5\nct = af60eb\niv = bae8e37fc83441b16034566b\nkey = 36864200e0eaf5284d884a0e77d31646\nmsg = 7a806c\nresult = valid\ntag = 711bd85bc1e4d3e0a462e074eea428a8\n\n# tcId = 19\n# draft-irtf-cfrg-gcmsiv-09\naad = fc880c94a95198874296\nct = bb93a3e34d3c\niv = afc0577e34699b9e671fdd4f\nkey = aedb64a6c590bc84d1a5e269e4b47801\nmsg = bdc66f146545\nresult = valid\ntag = d6a9c45545cfc11f03ad743dba20f966\n\n# tcId = 20\n# draft-irtf-cfrg-gcmsiv-09\naad = 046787f3ea22c127aaf195d1894728\nct = 4f37281f7ad12949d0\niv = 275d1ab32f6d1f0434d8848c\nkey = d5cc1fd161320b6920ce07787f86743b\nmsg = 1177441f195495860f\nresult = valid\ntag = 1d02fd0cd174c84fc5dae2f60f52fd2b\n\n# tcId = 21\n# draft-irtf-cfrg-gcmsiv-09\naad = c9882e5386fd9f92ec489c8fde2be2cf97e74e93\nct = f54673c5ddf710c745641c8b\niv = 9e9ad8780c8d63d0ab4149c0\nkey = b3fed1473c528b8426a582995929a149\nmsg = 9f572c614b4745914474e7c7\nresult = valid\ntag = c1dc2f871fb7561da1286e655e24b7b0\n\n# tcId = 22\n# draft-irtf-cfrg-gcmsiv-09\naad = 2950a70d5a1db2316fd568378da107b52b0da55210cc1c1b0a\nct = c9ff545e07b88a015f05b274540aa1\niv = ac80e6f61455bfac8308a2d4\nkey = 2d4ed87da44102952ef94b02b805249b\nmsg = 0d8c8451178082355c9e940fea2f58\nresult = valid\ntag = 83b3449b9f39552de99dc214a1190b0b\n\n# tcId = 23\n# draft-irtf-cfrg-gcmsiv-09\naad = 1860f762ebfbd08284e421702de0de18baa9c9596291b08466f37de21c7f\nct = 6298b296e24e8cc35dce0bed484b7f30d580\niv = ae06556fb6aa7890bebc18fe\nkey = bde3b2f204d1e9f8b06bc47f9745b3d1\nmsg = 6b3db4da3d57aa94842b9803a96e07fb6de7\nresult = valid\ntag = 3e377094f04709f64d7b985310a4db84\n\n# tcId = 24\n# draft-irtf-cfrg-gcmsiv-09\naad = 7576f7028ec6eb5ea7e298342a94d4b202b370ef9768ec6561c4fe6b7e7296fa859c21\nct = 391cc328d484a4f46406181bcd62efd9b3ee197d05\niv = 6245709fb18853f68d833640\nkey = f901cfe8a69615a93fdf7a98cad48179\nmsg = e42a3c02c25b64869e146d7b233987bddfc240871d\nresult = valid\ntag = 2d15506c84a9edd65e13e9d24a2a6e70\n\n# tcId = 25\naad = \nct = \niv = 438a547a94ea88dce46c6c85\nkey = bedcfb5a011ebc84600fcb296c15af0d\nmsg = \nresult = valid\ntag = 596d0538e48526be1c991e40cc031073\n\n# tcId = 26\naad = \nct = 4f\niv = b30c084727ad1c592ac21d12\nkey = 384ea416ac3c2f51a76e7d8226346d4e\nmsg = 35\nresult = valid\ntag = 8b2b805fc0885e2b470d9dbe6cb15ed3\n\n# tcId = 27\naad = \nct = 04c7a55f97846e54\niv = b5e006ded553110e6dc56529\nkey = cae31cd9f55526eb038241fc44cac1e5\nmsg = d10989f2c52e94ad\nresult = valid\ntag = 48168ff846356c33032c719b518f18a8\n\n# tcId = 28\naad = \nct = fd9521041b0397a15b0070b93f48a9\niv = ecb0c42f7000ef0e6f95f24d\nkey = dd6197cd63c963919cf0c273ef6b28bf\nmsg = 4dcc1485365866e25ac3f2ca6aba97\nresult = valid\ntag = 09df91414578f7faf757d04ee26ab901\n\n# tcId = 29\naad = \nct = 6eb905287ddfafc32f6b1c10046c089f\niv = 0e1666f2dc652f7708fb8f0d\nkey = ffdf4228361ea1f8165852136b3480f7\nmsg = 25b12e28ac0ef6ead0226a3b2288c800\nresult = valid\ntag = 4ff9f939a77c34b0cb1ee75fcb0dd29a\n\n# tcId = 30\naad = \nct = 6f62bd09d4f36f73e289ab6dd114727fe3\niv = 965ff6643116ac1443a2dec7\nkey = c15ed227dd2e237ecd087eaaaad19ea4\nmsg = fee62fde973fe025ad6b322dcdf3c63fc7\nresult = valid\ntag = ea727c084db2bc948de0928edddd7fcf\n\n# tcId = 31\naad = \nct = 80133a4bea7311f0d3c9835144c37c4ef0", + "ef20c8f2e36be1\niv = fbbc04fd6e025b7193eb57f6\nkey = a8ee11b26d7ceb7f17eaa1e4b83a2cf6\nmsg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf\nresult = valid\ntag = b92f47c1af6713e14fbdf60efebb50c6\n\n# tcId = 32\naad = \nct = 778b308e4ca17607df36c0b94695bc64603173b814701a9f69147b42478a0b1f\niv = a2dbe708db51c68ef02994a6\nkey = 7519588f30f7f08ff98e1beee6a2a783\nmsg = 1851956319256ebb0f9ccaf325a24abfc5c3e90b055e57cdc0c7ab2165ae03b1\nresult = valid\ntag = b75c98952c0aa11958a55c9c2ecf33f5\n\n# tcId = 33\naad = 30\nct = 173ba6370171be47dbb6163a63a3b725\niv = 4bad10c6d84fd43fd13ad36f\nkey = a5b5b6bae45b741fe4663890098f326a\nmsg = 127b150080ec0bc7704e26f4ab11abb6\nresult = valid\ntag = 53aefed6e971d5a1f435f0730a6dd0fd\n\n# tcId = 34\naad = 743e\nct = 959f0ff12481dedc4302ad7a904f9486\niv = 2186a3091237adae83540e24\nkey = 0cecb9f512932d68e2c7c0bc4bd621c8\nmsg = 437aeb94d842283ba57bb758e3d229f0\nresult = valid\ntag = 0215be2ab9b0672a7b82893891057c9c\n\n# tcId = 35\naad = 25591707c004f506f4b51e85e29f6a\nct = 8ae3a16a237f1358ac8cfeb5f4cc2818\niv = 0c908e58cddad69dea1a32c3\nkey = 55e04c122780be52ed9328928039008c\nmsg = 26eb70672eef03667b34cc7d0df05872\nresult = valid\ntag = 28f5aa8a34a9f7c01c17759d142b1bae\n\n# tcId = 36\naad = c07092d799dac2b4c05fbddd04743c34\nct = d5220f6a49d1e4c10d38c77c8156ebd0\niv = c30968c967e53505621628db\nkey = 5f0a1b5f8f8673d566ec7f54e7dca4f2\nmsg = f6538476daf04524cf134309dd84e187\nresult = valid\ntag = 80b50f526286dad22d40984636f0e9ce\n\n# tcId = 37\naad = 3ea12d80f40f34f812479d2ecc13d2d6df\nct = 3e771b9376e1d1cde3d9b73349c958bc\niv = a51c37f467893c1608e56274\nkey = 671a70e883fb0611dffd0b1dd9b8cca2\nmsg = 3baf3edf04dc0c97aae081cdeb08021d\nresult = valid\ntag = ebd3ea678a1e87839a4356584ea89bac\n\n# tcId = 38\naad = 5189ea6f39b2a78c0202fdff146c5cc6bdc7491d4786f80c6c6aef65634c05da\nct = 05b568a589d0a77a8ee9c6f06415c6b6\niv = 52c20979cdaaade573dba650\nkey = 63f03172505d90e94900125cb8a4b0dd\nmsg = 602c98997ee03fd11ce00e92de193977\nresult = valid\ntag = 91ba5089dffb7538199c441728d5f84a\n\n# tcId = 39\n# Testing for ctr overflow\naad = 395f4091b410c373073bcdc79e02d3af\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 00112233445566778899aabbccddeeff\nmsg = 43488548d88e6f774bcd2d52c18fbcc933a4e9a9613ff3edbe959ec59522adc098b3133b8d17b9e9dad631ad33752c95\nresult = valid\ntag = 00000000000000000000000000000000\nflags = ConstructedIv\n\n# tcId = 40\n# Testing for ctr overflow\naad = 616b2dff4d665e5f7ab890723dd981b1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = f012c6a7eb0e8af5bc45e015e7680a693dc709b95383f6a94babec1bc36e4be3cf4f55a31a94f11c6c3f90eed99682bc\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\nflags = ConstructedIv\n\n# tcId = 41\n# Testing for ctr overflow\naad = 387a8997605fd04ae8951c4759087864\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 030303030303030303030303\nkey = 00112233445566778899aabbccddeeff\nmsg = 71ceee58179d6fb968521e9594dbf98cc0040f6aa38fe873c32a9b122d6cbfd51aa4778b3f4f37be7348690d97e2468b\nresult = valid\ntag = fefffffffefffffffefffffffeffffff\nflags = ConstructedIv\n\n# tcId = 42\n# Testing for ctr overflow\naad = 6783b0d5e9d8a2a7274065797097d1ae\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 060606060606060606060606\nkey = 00112233445566778899aabbccddeeff\nmsg = 2e14f9e9a09ea204557367898a80dcad117af3666bea25762b70633a9f3614fbe631ba617c371fd5566d5e613496e69f\nresult = valid\ntag = ffffff7f00112233445566778899aabb\nflags = ConstructedIv\n\n# tcId = 43\n# Testing for ctr overflow\naad = 2933810c146f4f7dd146dd43f35199c6\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 00112233445566778899aabbccddeeff\nmsg = 27fac75879c9d87cd52a0793137ba792f6f145148158eb538f2081e09cd0315986a7025045ecbb2ca1bb18a17bfcd567\nresult = valid\ntag = ffffffffffffff7f0011223344556677\nflags = ConstructedIv\n\n# tcId = 44\n# Flipped bit 0 in tag\naad = 27dd62060507dae87c4f93f391ba15f9\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 45\n# Flipped bit 0 in tag\naad = 9ea3371e258288d5a01b15384e2c99ee\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 46\n# Flipped bit 0 in tag\naad = ce24e3ec0fe7b8550d621b71fdb5d0eb\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 47\n# Flipped bit 7 in tag\naad = 1471f354b359c235117febba854a823b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 48\n# Flipped bit 7 in tag\naad = 11f820294fc9d13f1895d2fb5509913b\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 49\n# Flipped bit 8 in tag\naad = 45e7257b814f09de44177b27b914822f\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 50\n# Flipped bit 8 in tag\naad = 4c49780b5438c4a7ea9795b9856fdae1\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 51\n# Flipped bit 8 in tag\naad = ecc2f2f4142837a34f9cd1fa030a5d7f\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 52\n# Flipped bit 31 in tag\naad = 69c7f5605da8e0684990b087411f8cf5\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 53\n# Flipped bit 31 in tag\naad = 20b346be60e7e97588bf504ce707ce0b\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 54\n# Flipped bit 56 in tag\naad = 3955107da2e9938c6b19bb19ae9fc09f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 55\n# Flipped bit 56 in tag\naad = b1385d46a8accd7022c142442a0b13e9\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 56\n# Flipped bit 63 in tag\naad = 19b298f3a061a73cb774da927ce11ca2\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 57\n# Flipped bit 63 in tag\naad = bff8c631e61c18a050a523ad4a750a20\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 58\n# Flipped bit 64 in tag\naad = 7b6171302b689c926852163e310f08d4\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 59\n# Flipped bit 88 in tag\naad = 4e79aa30003226402245893e91f2024c\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 60\n# Flipped bit 88 in tag\naad = 9312e1813a05b8682", + "555061b05edcef1\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 61\n# Flipped bit 96 in tag\naad = 643684185211af58061022efa360d54b\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 62\n# Flipped bit 96 in tag\naad = 786d8056e26150918e3cbe520cafeb50\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 63\n# Flipped bit 97 in tag\naad = 555036128fa18ecadd090cb772ac0bf3\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 64\n# Flipped bit 97 in tag\naad = a5b43b8e1dbb2bfbda1b625fee4064a7\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 65\n# Flipped bit 120 in tag\naad = ae47cc5d7681dd480c23469c5519b647\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 66\n# Flipped bit 120 in tag\naad = d53dd677184702eaa660f1349195fc04\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 67\n# Flipped bit 120 in tag\naad = dc78584e4599dd4b2fb333db2f9ccb95\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 68\n# Flipped bit 121 in tag\naad = 0bfd9271e79153a8afdb7f3d96fe446f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 69\n# Flipped bit 121 in tag\naad = 1e0537a95b7200134d0b440657d50fd1\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 70\n# Flipped bit 121 in tag\naad = 7633155df35857258d23b0651d60847c\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 71\n# Flipped bit 126 in tag\naad = ab0a064b473de43598adf81ee297d856\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 72\n# Flipped bit 127 in tag\naad = f62bdc3f4fcb699ee12f6e87dcc704cb\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 73\n# Flipped bit 127 in tag\naad = 1320051031807b8f44e9d2cb1ec6aa92\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 74\n# Flipped bit 127 in tag\naad = 329b813d3ae2225d3e15f97a28037bcc\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 75\n# Flipped bit 0..127 in tag\naad = edc723bedd0078696acdea005c74b841\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 76\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = \niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = \nresult = valid\ntag = 07f5f4169bbf55a8400cd47ea6fd400f\n\n# tcId = 77\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = c2ef328e5c71c83b\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0100000000000000\nresult = valid\ntag = 843122130f7364b761e0b97427e3df28\n\n# tcId = 78\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 9aab2aeb3faa0a34aea8e2b1\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 010000000000000000000000\nresult = valid\ntag = 8ca50da9ae6559e48fd10f6e5c9ca17e\n\n# tcId = 79\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 85a01b63025ba19b7fd3ddfc033b3e76\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 01000000000000000000000000000000\nresult = valid\ntag = c9eac6fa700942702e90862383c6c366\n\n# tcId = 80\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 4a6a9db4c8c6549201b9edb53006cba821ec9cf850948a7c86c68ac7539d027f\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0100000000000000000000000000000002000000000000000000000000000000\nresult = valid\ntag = e819e63abcd020b006a976397632eb5d\n\n# tcId = 81\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = c00d121893a9fa603f48ccc1ca3c57ce7499245ea0046db16c53c7c66fe717e39cf6c748837b61f6ee3adcee17534ed5\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = 790bc96880a99ba804bd12c0e6a22cc4\n\n# tcId = 82\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = c2d5160a1f8683834910acdafc41fbb1632d4a353e8b905ec9a5499ac34f96c7e1049eb080883891a4db8caaa1f99dd004d80487540735234e3744512c6f90ce\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 112864c269fc0d9d88c61fa47e39aa08\n\n# tcId = 83\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 1de22967237a8132\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0200000000000000\nresult = valid\ntag = 91213f267e3b452f02d01ae33e4ec854\n\n# tcId = 84\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 163d6f9cc1b346cd453a2e4c\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 020000000000000000000000\nresult = valid\ntag = c1a4a19ae800941ccdc57cc8413c277f\n\n# tcId = 85\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = c91545823cc24f17dbb0e9e807d5ec17\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000000000000000000000000000\nresult = valid\ntag = b292d28ff61189e8e49f3875ef91aff7\n\n# tcId = 86\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 07dad364bfc2b9da89116d7bef6daaaf6f255510aa654f920ac81b94e8bad365\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = aea1bad12702e1965604374aab96dbbc\n\n# tcId = 87\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = c67a1f0f567a5198aa1fcc8e3f21314336f7f51ca8b1af61feac35a86416fa47fbca3b5f749cdf564527f2314f42fe25\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 03332742b228c647173616cfd44c54eb\n\n# tcId = 88\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 67fd45e126bfb9a79930c43aad2d36967d3f0e4d217c1e551f59727870beefc98cb933a8fce9de887b1e40799988db1fc3f91880ed405b2dd298318858467c89\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nresult = valid\ntag = 5bde0285037c5de81e5b570a049b62a0\n\n# tcId = 89\n# draft-irtf-cfrg-gcmsiv-09\naad = 010000000000", + "000000000000\nct = 22b3f4cd\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000\nresult = valid\ntag = 1835e517741dfddccfa07fa4661b74cf\n\n# tcId = 90\n# draft-irtf-cfrg-gcmsiv-09\naad = 010000000000000000000000000000000200\nct = 43dd0163cdb48f9fe3212bf61b201976067f342b\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0300000000000000000000000000000004000000\nresult = valid\ntag = b879ad976d8242acc188ab59cabfe307\n\n# tcId = 91\n# draft-irtf-cfrg-gcmsiv-09\naad = 0100000000000000000000000000000002000000\nct = 462401724b5ce6588d5a54aae5375513a075\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 030000000000000000000000000000000400\nresult = valid\ntag = cfcdf5042112aa29685c912fc2056543\n\n# tcId = 92\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = \niv = e0eaf5284d884a0e77d31646\nkey = e66021d5eb8e4f4066d4adb9c33560e4f46e44bb3da0015c94f7088736864200\nmsg = \nresult = valid\ntag = 169fbb2fbf389a995f6390af22228a62\n\n# tcId = 93\n# draft-irtf-cfrg-gcmsiv-09\naad = 4fbdc66f14\nct = 0eaccb\niv = e4b47801afc0577e34699b9e\nkey = bae8e37fc83441b16034566b7a806c46bb91c3c5aedb64a6c590bc84d1a5e269\nmsg = 671fdd\nresult = valid\ntag = 93da9bb81333aee0c785b240d319719d\n\n# tcId = 94\n# draft-irtf-cfrg-gcmsiv-09\naad = 6787f3ea22c127aaf195\nct = a254dad4f3f9\niv = 2f6d1f0434d8848c1177441f\nkey = 6545fc880c94a95198874296d5cc1fd161320b6920ce07787f86743b275d1ab3\nmsg = 195495860f04\nresult = valid\ntag = 6b62b84dc40c84636a5ec12020ec8c2c\n\n# tcId = 95\n# draft-irtf-cfrg-gcmsiv-09\naad = 489c8fde2be2cf97e74e932d4ed87d\nct = 0df9e308678244c44b\niv = 9f572c614b4745914474e7c7\nkey = d1894728b3fed1473c528b8426a582995929a1499e9ad8780c8d63d0ab4149c0\nmsg = c9882e5386fd9f92ec\nresult = valid\ntag = c0fd3dc6628dfe55ebb0b9fb2295c8c2\n\n# tcId = 96\n# draft-irtf-cfrg-gcmsiv-09\naad = 0da55210cc1c1b0abde3b2f204d1e9f8b06bc47f\nct = 8dbeb9f7255bf5769dd56692\niv = 5c9e940fea2f582950a70d5a\nkey = a44102952ef94b02b805249bac80e6f61455bfac8308a2d40d8c845117808235\nmsg = 1db2316fd568378da107b52b\nresult = valid\ntag = 404099c2587f64979f21826706d497d5\n\n# tcId = 97\n# draft-irtf-cfrg-gcmsiv-09\naad = f37de21c7ff901cfe8a69615a93fdf7a98cad481796245709f\nct = 793576dfa5c0f88729a7ed3c2f1bff\niv = 6de71860f762ebfbd08284e4\nkey = 9745b3d1ae06556fb6aa7890bebc18fe6b3db4da3d57aa94842b9803a96e07fb\nmsg = 21702de0de18baa9c9596291b08466\nresult = valid\ntag = b3080d28f6ebb5d3648ce97bd5ba67fd\n\n# tcId = 98\n# draft-irtf-cfrg-gcmsiv-09\naad = 9c2159058b1f0fe91433a5bdc20e214eab7fecef4454a10ef0657df21ac7\nct = 857e16a64915a787637687db4a9519635cdd\niv = 028ec6eb5ea7e298342a94d4\nkey = b18853f68d833640e42a3c02c25b64869e146d7b233987bddfc240871d7576f7\nmsg = b202b370ef9768ec6561c4fe6b7e7296fa85\nresult = valid\ntag = 454fc2a154fea91f8363a39fec7d0a49\n\n# tcId = 99\n# draft-irtf-cfrg-gcmsiv-09\naad = 734320ccc9d9bbbb19cb81b2af4ecbc3e72834321f7aa0f70b7282b4f33df23f167541\nct = 626660c26ea6612fb17ad91e8e767639edd6c9faee\niv = 688089e55540db1872504e1c\nkey = 3c535de192eaed3822a2fbbe2ca9dfc88255e14a661b8aa82cc54236093bbc23\nmsg = ced532ce4159b035277d4dfbb7db62968b13cd4eec\nresult = valid\ntag = 9d6c7029675b89eaf4ba1ded1a286594\n\n# tcId = 100\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = f3f80f2cf0cb2dd9c5984fcda908456cc537703b5ba70324a6793a7bf218d3ea\niv = 000000000000000000000000\nkey = 0000000000000000000000000000000000000000000000000000000000000000\nmsg = 000000000000000000000000000000004db923dc793ee6497c76dcc03a98e108\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 101\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 18ce4f0b8cb4d0cac65fea8f79257b20888e53e72299e56d\niv = 000000000000000000000000\nkey = 0000000000000000000000000000000000000000000000000000000000000000\nmsg = eb3640277c7ffd1303c7a542d02d3e4c0000000000000000\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 102\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 181720f6ecdcdd332c89d20e09f11b0f\n\n# tcId = 103\naad = \nct = fa\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = 868ee11a7fe13996ac26962a7e861962\n\n# tcId = 104\naad = \nct = c32210c306fac7dc\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = da60d8ff4d550e6801b0ce488ed1b6fe\n\n# tcId = 105\naad = \nct = 0180029193bbb29e326b5817e8ea01\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = 4dd43e861c5f141a693ebc056ed0f0f9\n\n# tcId = 106\naad = \nct = 31cb136074adcd00cf75e9587d7e8424\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 567871b7aaaf3c00f42fd9d5962df514\n\n# tcId = 107\naad = \nct = c97e58e8730a567e8bdf5eb981cdd5f323\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = 4b2dc825fef9dc6bf234f2b8ff798f9e\n\n# tcId = 108\naad = \nct = c2669f9fc8fe6013c4dd22468d43c2af73647b7018531d29\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 06a58c8d44e99b3262cad0e920df1f85\n\n# tcId = 109\naad = \nct = faaef557c31a231115f393c4b3c1a1413fb40b4204458d5f9ef8a9f2f12486ae\niv = 72cfd90ef3026ca22b7e6e6a\nkey = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3\nmsg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678\nresult = valid\ntag = 72fc457255aadf708719c46986caefad\n\n# tcId = 110\naad = 02\nct = 12fffdccd1e5a9708fa30ccf99137067\niv = 87345f1055fd9e2102d50656\nkey = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c\nmsg = e5ccaa441bc814688f8f6e8f28b500b2\nresult = valid\ntag = 688e0b634f51c4f6d983629c8a63c1c0\n\n# tcId = 111\naad = b648\nct = b75b8e96de2ef9704ade5c64cab59671\niv = 87a3163ec0598ad95b3aa713\nkey = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc\nmsg = 02cde168fba3f544bbd0332f7adeada8\nresult = valid\ntag = dec00ceb899c4a6a29be67f1b30435e0\n\n# tcId = 112\naad = bd4cd02fc7502bbdbdf6c9a3cbe8f0\nct = 8e67034384170a646e9eea1606a8e899\niv = 6f573aa86baa492ba46596df\nkey = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f\nmsg = 16ddd23ff53f3d23c06334487040eb47\nresult = valid\ntag = fe7a3dd42beb5ff70bb471ff76f0d341\n\n# tcId = 113\naad = 89cce9fb47441d07e0245a66fe8b778b\nct = 7eeb00c65fe7e0c79255e3cd90013588\niv = 1a6518f02ede1da6809266d9\nkey = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016\nmsg = 623b7850c321e2cf0c6fbcc8dfd1aff2\nresult = valid\ntag = 957d35fb25fdc17f00db33756967fd02\n\n# tcId = 114\naad = d19f2d989095f7ab03a5fde84416e00c0e\nct = f83e3b4333400d6393d085fe947057c4\niv = 564dee49ab00d240fc1068c3\nkey = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657\nmsg = 87b3a4d7b26d8d3203a0de1d64ef82e3\nresult = valid\ntag = 7a30291bb506ae3961f61d683c9d94d1\n\n# tcId = 115\naad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37\nct = 97db4d850442eb33e6089af6f3cadf7b\niv = 8df4b15a888c33286a7b7651\nkey = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130\nmsg = dc9e9eaf11e314182df6a4eba17aec9c\nresult = valid\ntag = 3ccbb125b2835754c1409d227e374d0b\n\n# tcId = 116\n# Testing for ctr overflow\naad = 40c32e00c2fdab59c1a1c573b46b5068\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = bdd411814564c4218d224d50591c818855a862a0a519ac0b3d71a2edb12aa71eb81959bcc6b84c45aa424c9aca0b7bdd\nresult = valid\ntag = 00000000000000000000000000000000\nflags = ConstructedIv\n\n# tcId = 117\n# Testing for ctr overflow\naad = 2cc3a1973e0560f7224a394e52fa8488\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00010", + "2030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = d04846a01f472262e60a1cb4cfcbdcb05c3f819628a3a49395c5dae96c434b2417ce071699afa74a60c32c0bafd9c01a\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\nflags = ConstructedIv\n\n# tcId = 118\n# Testing for ctr overflow\naad = 2e34d12622a441b557eeb1d647c6cb73\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 79637cee9decf33e3080de3d2c55bd21cd529ba8080b583edb6cfe13cda04bd00debe58b8cd48d6e02a1ecfc4d87923a\nresult = valid\ntag = fefffffffefffffffefffffffeffffff\nflags = ConstructedIv\n\n# tcId = 119\n# Testing for ctr overflow\naad = 0814a95481bf915a4097949e3525c7e7\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6492a73880dac7f36743715b0fc7063d3e46a25044310bba5849ed88bfcb54b0adbe3978040bda849906e1aa09d1a8e3\nresult = valid\ntag = ffffff7f00112233445566778899aabb\nflags = ConstructedIv\n\n# tcId = 120\n# Testing for ctr overflow\naad = b691ef42f2ab8d1b4a581bb08394b13a\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 7848d9e872f40bca1b82a4e7185fb75193b3496cc1dc2a72b86ed156ab8389e71687ed25eb6485e66561fa8c39853368\nresult = valid\ntag = ffffffffffffff7f0011223344556677\nflags = ConstructedIv\n\n# tcId = 121\n# Flipped bit 0 in tag\naad = e144878b0bbbf01b75231277e1e0d114\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 122\n# Flipped bit 0 in tag\naad = 0289eaa93eb084107d2088435ef2a0cd\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 123\n# Flipped bit 1 in tag\naad = f3bd6013669b7d9371727fcb1aafea75\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 124\n# Flipped bit 7 in tag\naad = 922e91b2c5016e4303c737d1608ca25f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 125\n# Flipped bit 7 in tag\naad = 7195dd0addce5dd7014bfddb2f23206f\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 126\n# Flipped bit 7 in tag\naad = 32fc2a53e9678f1fc6d63081c36c6f2c\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 127\n# Flipped bit 8 in tag\naad = c55ba71ee250216f8ecfe822d712dd38\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 128\n# Flipped bit 8 in tag\naad = 5546acf865fc305fbd7ff1092cb9c2c3\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 129\n# Flipped bit 31 in tag\naad = 6b060eebe1843b409a4dfd0be8f86a2b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 130\n# Flipped bit 31 in tag\naad = c4adb92f1a60eb2faff88675f62a7276\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 131\n# Flipped bit 32 in tag\naad = 70c5a8591f52f869c6415a6d7000e253\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 132\n# Flipped bit 56 in tag\naad = 46c788111083d8913153a6e37e5506a3\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 133\n# Flipped bit 56 in tag\naad = 1ed7665962378cec4039c793a8f744d0\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 134\n# Flipped bit 56 in tag\naad = a0f7587c5862609c6dc983780bcda180\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 135\n# Flipped bit 63 in tag\naad = b5fe79f182cb9f2945208e29513928d1\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 136\n# Flipped bit 63 in tag\naad = c1dbf87e4a586b040c53f6dd9063b4cd\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 137\n# Flipped bit 64 in tag\naad = 845466e603ca85a224693d150ae13ba3\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 138\n# Flipped bit 88 in tag\naad = 90a992a8443d65870b4d8bca85e4a698\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 139\n# Flipped bit 88 in tag\naad = e1737a834410e5fba6cdc1d1f7d12c12\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 140\n# Flipped bit 96 in tag\naad = 445c8fffa3d960e39ca86260c66418d8\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 141\n# Flipped bit 97 in tag\naad = 18cb9f5eede6224fa3fcd525cf9f958b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 142\n# Flipped bit 97 in tag\naad = 8c4fbca37d2e361856b9f80adf455fa0\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 143\n# Flipped bit 97 in tag\naad = bc517fe140abf2b42eb1cafe8c0715a9\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 144\n# Flipped bit 120 in tag\naad = 617e1c5ef62ed35cf678e670f116ff2f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff001122", + "33445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 145\n# Flipped bit 120 in tag\naad = e71802b7a37e8ef1f001ef0c52c636f2\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 146\n# Flipped bit 120 in tag\naad = be647e37f154d4a8edca5a29ca221cc5\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 147\n# Flipped bit 121 in tag\naad = b3caa01f49c7cbc56c7c92547257957e\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 148\n# Flipped bit 121 in tag\naad = ab0347a2aec4cc4c366583062442ba07\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 149\n# Flipped bit 126 in tag\naad = 62573ef39a27f77b37fb7bfc84e46cee\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 150\n# Flipped bit 126 in tag\naad = 28e3cadfb16834e824642e965588c200\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 151\n# Flipped bit 126 in tag\naad = 7edd2fc15bed224a46dc8608e1766080\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 152\n# Flipped bit 127 in tag\naad = 7e0e03104e2c0ff20ba4c35742180c5b\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 153\n# Flipped bit 127 in tag\naad = 9a24dc75c5ddd3bab57ff532eb86d224\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 154\n# Flipped bit 127 in tag\naad = 3196aec499c15bc043b6866ba0df6e6b\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 155\n# Flipped bit 0..127 in tag\naad = 55a2987aa94bf46ad1b6d253a44c1622\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen59 = 66052; +static const size_t kLen92 = 81097; -static const char *kData59[] = { - "# Imported from Wycheproof's aes_gcm_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-GCM\n# Generator version: 0.4.12\n\n[ivSize = 96]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\naad = \nct = 26073cc1d851beff176384dc9896d5ff\niv = 028318abc1824029138141a2\nkey = 5b9604fe14eadba931b0ccf34843dab9\nmsg = 001d0c231287c1182784554ca3a21908\nresult = valid\ntag = 0a3ea7a5487cb5f7d70fb6c58d038554\n\n# tcId = 2\naad = 00112233445566778899aabbccddeeff\nct = 49d8b9783e911913d87094d1f63cc765\niv = 921d2507fa8007b7bd067d34\nkey = 5b9604fe14eadba931b0ccf34843dab9\nmsg = 001d0c231287c1182784554ca3a21908\nresult = valid\ntag = 1e348ba07cca2cf04c618cb4d43a5b92\n\n# tcId = 3\naad = aac39231129872a2\nct = eea945f3d0f98cc0fbab472a0cf24e87\niv = 0432bc49ac34412081288127\nkey = aa023d0478dcb2b2312498293d9a9129\nmsg = 2035af313d1346ab00154fea78322105\nresult = valid\ntag = 4bb9b4812519dadf9e1232016d068133\n\n# tcId = 4\naad = \nct = 54\niv = b30c084727ad1c592ac21d12\nkey = 384ea416ac3c2f51a76e7d8226346d4e\nmsg = 35\nresult = valid\ntag = 7c1e4ae88bb27e5638343cb9fd3f6337\n\n# tcId = 5\naad = \nct = a036ead03193903f\niv = b5e006ded553110e6dc56529\nkey = cae31cd9f55526eb038241fc44cac1e5\nmsg = d10989f2c52e94ad\nresult = valid\ntag = 3b626940e0e9f0cbea8e18c437fd6011\n\n# tcId = 6\naad = \nct = 8a9992388e735f80ee18f4a63c10ad\niv = ecb0c42f7000ef0e6f95f24d\nkey = dd6197cd63c963919cf0c273ef6b28bf\nmsg = 4dcc1485365866e25ac3f2ca6aba97\nresult = valid\ntag = 1486a91cccf92c9a5b00f7b0e034891c\n\n# tcId = 7\naad = \nct = f7bd379d130477176b8bb3cb23dbbbaa\niv = 0e1666f2dc652f7708fb8f0d\nkey = ffdf4228361ea1f8165852136b3480f7\nmsg = 25b12e28ac0ef6ead0226a3b2288c800\nresult = valid\ntag = 1ee6513ce30c7873f59dd4350a588f42\n\n# tcId = 8\naad = \nct = 0de51fe4f7f2d1f0f917569f5c6d1b009c\niv = 965ff6643116ac1443a2dec7\nkey = c15ed227dd2e237ecd087eaaaad19ea4\nmsg = fee62fde973fe025ad6b322dcdf3c63fc7\nresult = valid\ntag = 6cd8521422c0177e83ef1b7a845d97db\n\n# tcId = 9\naad = \nct = 7cd9f4e4f365704fff3b9900aa93ba54b672bac554275650\niv = fbbc04fd6e025b7193eb57f6\nkey = a8ee11b26d7ceb7f17eaa1e4b83a2cf6\nmsg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf\nresult = valid\ntag = f4eb193241226db017b32ec38ca47217\n\n# tcId = 10\naad = c3\nct = f58d453212c2c8a436e9283672f579f119122978\niv = 32bcb9b569e3b852d37c766a\nkey = 28ff3def08179311e2734c6d1c4e2871\nmsg = dfc61a20df8505b53e3cd59f25770d5018add3d6\nresult = valid\ntag = 5901131d0760c8715901d881fdfd3bc0\n\n# tcId = 11\naad = 834afdc5c737186b\nct = bf864616c2347509ca9b10446379b9bdbb3b8f64\niv = 9c3a4263d983456658aad4b1\nkey = e63a43216c08867210e248859eb5e99c\nmsg = b14da56b0462dc05b871fc815273ff4810f92f4b\nresult = valid\ntag = a97d25b490390b53c5db91f6ee2a15b8\n\n# tcId = 12\naad = 4020855c66ac4595058395f367201c4c\nct = a6f2ef3c7ef74a126dd2d5f6673964e27d5b34b6\niv = 33e90658416e7c1a7c005f11\nkey = 38449890234eb8afab0bbf82e2385454\nmsg = f762776bf83163b323ca63a6b3adeac1e1357262\nresult = valid\ntag = b8bbdc4f5014bc752c8b4e9b87f650a3\n\n# tcId = 13\naad = 76eb5f147250fa3c12bff0a6e3934a0b16860cf11646773b\nct = bd64802cfebaeb487d3a8f76ce943a37b3472dd5\niv = 9f0d85b605711f34cd2a35ba\nkey = 6a68671dfe323d419894381f85eb63fd\nmsg = 0fc67899c3f1bbe196d90f1eca3797389230aa37\nresult = valid\ntag = fce9a5b530c7d7af718be1ec0ae9ed4d\n\n# tcId = 14\n# special case\naad = \nct = f62d84d649e56bc8cfedc5d74a51e2f7\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = ebd4a3e10cf6d41c50aeae007563b072\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 15\n# special case\naad = \nct = 431f31e6840931fd95f94bf88296ff69\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff\nmsg = d593c4d8224f1b100c35e4f6c4006543\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 16\n# Flipped bit 0 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9847dbc326a06e988c77ad3863e6083\n\n# tcId = 17\n# Flipped bit 1 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = da847dbc326a06e988c77ad3863e6083\n\n# tcId = 18\n# Flipped bit 7 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 58847dbc326a06e988c77ad3863e6083\n\n# tcId = 19\n# Flipped bit 8 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8857dbc326a06e988c77ad3863e6083\n\n# tcId = 20\n# Flipped bit 31 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847d3c326a06e988c77ad3863e6083\n\n# tcId = 21\n# Flipped bit 32 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc336a06e988c77ad3863e6083\n\n# tcId = 22\n# Flipped bit 33 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc306a06e988c77ad3863e6083\n\n# tcId = 23\n# Flipped bit 63 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a066988c77ad3863e6083\n\n# tcId = 24\n# Flipped bit 64 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e989c77ad3863e6083\n\n# tcId = 25\n# Flipped bit 71 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e908c77ad3863e6083\n\n# tcId = 26\n# Flipped bit 77 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988e77ad3863e6083\n\n# tcId = 27\n# Flipped bit 80 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77bd3863e6083\n\n# tcId = 28\n# Flipped bit 96 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3873e6083\n\n# tcId = 29\n# Flipped bit 97 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3843e6083\n\n# tcId = 30\n# Flipped bit 103 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3063e6083\n\n# tcId = 31\n# Flipped bit 120 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6082\n\n# tcId = 32\n# Flipped bit 121 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6081\n\n# tcId = 33\n# Flipped bit 126 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e60c3\n\n# tcId = 34\n# Flipped bit 127 in tag\naad = \nct = eb156d081ed6b6b55f4612f02", - "1d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6003\n\n# tcId = 35\n# Flipped bits 0 and 64 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9847dbc326a06e989c77ad3863e6083\n\n# tcId = 36\n# Flipped bits 31 and 63 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847d3c326a066988c77ad3863e6083\n\n# tcId = 37\n# Flipped bits 63 and 127 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a066988c77ad3863e6003\n\n# tcId = 38\n# all bits of tag flipped\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 277b8243cd95f9167738852c79c19f7c\n\n# tcId = 39\n# Tag changed to all zero\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 40\n# tag changed to all 1\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 41\n# msbs changed in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 5804fd3cb2ea86690847fa5306bee003\n\n# tcId = 42\n# lsbs changed in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9857cbd336b07e889c67bd2873f6182\n\n[ivSize = 64]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 43\naad = aac39231129872a2\nct = 64c36bb3b732034e3a7d04efc5197785\niv = 0432bc49ac344120\nkey = aa023d0478dcb2b2312498293d9a9129\nmsg = 2035af313d1346ab00154fea78322105\nresult = valid\ntag = b7d0dd70b00d65b97cfd080ff4b819d1\n\n# tcId = 44\n# unusual IV size\naad = \nct = 9a078a04d14938918e004358\niv = 68cbeafe8f9e8a66\nkey = 25dd4d6cad5a4604957847c8c6d3fc4e\nmsg = 5c347835b3fa61c2ce253e5a\nresult = valid\ntag = 5452843e32c13c3e35ed8230fe3446c0\n\n[ivSize = 128]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 45\naad = 1a0293d8f90219058902139013908190bc490890d3ff12a3\nct = 64069c2d58690561f27ee199e6b479b6369eec688672bde9\niv = 3254202d854734812398127a3d134421\nkey = 2034a82547276c83dd3212a813572bce\nmsg = 02efd2e5782312827ed5d230189a2a342b277ce048462193\nresult = valid\ntag = 9b7abadd6e69c1d9ec925786534f5075\n\n# tcId = 46\naad = \nct = fd\niv = 9477849d6ccdfca112d92e53fae4a7ca\nkey = 209e6dbf2ad26a105445fc0207cd9e9a\nmsg = 01\nresult = valid\ntag = 032df7bba5d8ea1a14f16f70bd0e14ec\n\n# tcId = 47\naad = \nct = 2f333087bdca58219f9bfc273e45cc\niv = 5171524568e81d97e8c4de4ba56c10a0\nkey = a549442e35154032d07c8666006aa6a2\nmsg = 1182e93596cac5608946400bc73f3a\nresult = valid\ntag = e06d1ef473132957ad37eaef29733ca0\n\n# tcId = 48\naad = \nct = a780bd01c80885156c88a973264c8ee5\niv = 1275115499ae722268515bf0c164b49c\nkey = cfb4c26f126f6a0acb8e4e220f6c56cd\nmsg = 09dfd7f080275257cf97e76f966b1ad9\nresult = valid\ntag = 2adeffa682c8d8a81fada7d9fcdd2ee2\n\n# tcId = 49\naad = \nct = 7e47e10fe3c6fbfa381770eaf5d48d1482e71e0c44dff1e30ca6f95d92052084\niv = 95c1dd8c0f1705ece68937901f7add7b\nkey = 0b11ef3a08c02970f74281c860691c75\nmsg = f693d4edd825dbb0618d91113128880dbebb23e25d00ed1f077d870be9cc7536\nresult = valid\ntag = d01444fa5d9c499629d174ff3927a1ac\n\n# tcId = 50\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = 00078d109d92143fcd5df56721b884fac64ac7762cc09eea2a3c68e92a17bdb575f87bda18be564e\niv = f95fde4a751913202aeeee32a0b55753\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 152a65045fe674f97627427af5be22da\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 51\n# J0:00000000000000000000000000000000\naad = \nct = 84d4c9c08b4f482861e3a9c6c35bc4d91df927374513bfd49f436bd73f325285daef4ff7e13d46a6\niv = 7b95b8c356810a84711d68150a1b7750\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 213a3cb93855d18e69337eee66aeec07\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 52\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc3c60ad5a949886de968cf53ea6462aed\niv = 1a552e67cdc4dc1a33b824874ebf0bed\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 99b381bfa2af9751c39d1b6e86d1be6a\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 53\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 64b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc\niv = dd9d0b4a0c3d681524bffca31d907661\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 5281efc7f13ac8e14ccf5dca7bfbfdd1\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 54\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 2bb69c3e5d1f91815c6b87a0d5bbea7164b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e8\niv = 57c5643c4e37b4041db794cfe8e1f0f4\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = a3ea2c09ee4f8c8a12f45cddf9aeff81\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 55\n# J0:000102030405060708090a0bffffffff\naad = \nct = 127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4af37d0fe9af033052bd537c4ae978f60\niv = 99821c2dd5daecded07300f577f7aff1\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 07eb2fe4a958f8434d40684899507c7c\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 56\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4\niv = 5e4a3900142358d1c774d8d124d8d27d\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = f145c2dcaf339eede427be934357eac0\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 57\n# J0:000102030405060708090a0bfffffffd\naad = \nct = f0c6ffc18bd46df5569185a9afd169eb0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57\niv = d4125676562984c0fe7cb0bdd1a954e8\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = facd0bfe8701b7b4a2ba96d98af52bd9\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 58\n# J0:000102030405060708090a0b7fffffff\naad = \nct = d6928e094c06e0a7c4db42184cf7529e95de88b767edebe9b343000be3dab47ea08b744293eed698\niv = b97ec62a5e5900ccf9e4be332e336091\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag =", - " a03e729dcfd7a03155655fece8affd7e\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 59\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = d82ce58771bf6487116bf8e96421877ed6928e094c06e0a7c4db42184cf7529e95de88b767edebe9\niv = 7eb6e3079fa0b4c3eee366177d1c1d1d\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 1e43926828bc9a1614c7b1639096c195\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 60\n# J0:000102030405060708090a0bffff7fff\naad = \nct = a197a37a5d79697078536bc27fe46cd8d475526d9044aa94f088a054f8e380c64f79414795c61480\niv = 0314fcd10fdd675d3c612962c931f635\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = f08baddf0b5285c91fc06a67fe4708ca\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 61\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = 149fde9abbd3a43c2548575e0db9fb84a197a37a5d79697078536bc27fe46cd8d475526d9044aa94\niv = c4dcd9fcce24d3522b66f1469a1e8bb9\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 62a4b6875c288345d6a454399eac1afa\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 62\n# special case\naad = \nct = 45a3f89d02918bfd0c8161658ccc9795\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = bec6fa05c1718b9b84c47345bbed7dcb\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 63\n# special case\naad = \nct = 1cd5a06214235ceb044d4bad7b047312\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff\nmsg = 4d82639c39d3f3490ee903dd0be7afcf\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 64\naad = 00000000ffffffff\nct = e27abdd2d2a53d2f136b\niv = 00112233445566778899aabb\nkey = 92ace3e348cd821092cd921aa3546374299ab46209691bc28b8752d17f123c20\nmsg = 00010203040506070809\nresult = valid\ntag = 9a4a2579529301bcfb71c78d4060f52c\n\n# tcId = 65\naad = aabbccddeeff\nct = \niv = 00112233445566778899aabb\nkey = 29d3a44f8723dc640239100c365423a312934ac80239212ac3df3421a2098123\nmsg = \nresult = valid\ntag = 2a7d77fa526b8250cb296078926b5020\n\n# tcId = 66\naad = \nct = 06\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = 633c1e9703ef744ffffb40edf9d14355\n\n# tcId = 67\naad = \nct = cf332a12fdee800b\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = 602e8d7c4799d62c140c9bb834876b09\n\n# tcId = 68\naad = \nct = 43fc101bff4b32bfadd3daf57a590e\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = ec04aacb7148a8b8be44cb7eaf4efa69\n\n# tcId = 69\naad = \nct = f58c16690122d75356907fd96b570fca\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 28752c20153092818faba2a334640d6e\n\n# tcId = 70\naad = \nct = 73a6b6f45f6ccc5131e07f2caa1f2e2f56\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = 2d7379ec1db5952d4e95d30c340b1b1d\n\n# tcId = 71\naad = \nct = 0843fff52d934fc7a071ea62c0bd351ce85678cde3ea2c9e\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 7355fde599006715053813ce696237a8\n\n# tcId = 72\naad = c0\nct = eb5500e3825952866d911253f8de860c00831c81\niv = 98bc2c7438d5cd7665d76f6e\nkey = b279f57e19c8f53f2f963f5f2519fdb7c1779be2ca2b3ae8e1128b7d6c627fc4\nmsg = fcc515b294408c8645c9183e3f4ecee5127846d1\nresult = valid\ntag = ecb660e1fb0541ec41e8d68a64141b3a\n\n# tcId = 73\naad = 956846a209e087ed\nct = feca44952447015b5df1f456df8ca4bb4eee2ce2\niv = 376187894605a8d45e30de51\nkey = cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17\nmsg = e28e0e9f9d22463ac0e42639b530f42102fded75\nresult = valid\ntag = 082e91924deeb77880e1b1c84f9b8d30\n\n# tcId = 74\naad = ab2ac7c44c60bdf8228c7884adb20184\nct = 43dda832e942e286da314daa99bef5071d9d2c78\niv = 5a86a50a0e8a179c734b996d\nkey = f32364b1d339d82e4f132d8f4a0ec1ff7e746517fa07ef1a7f422f4e25a48194\nmsg = 43891bccb522b1e72a6b53cf31c074e9d6c2df8e\nresult = valid\ntag = c3922583476ced575404ddb85dd8cd44\n\n# tcId = 75\naad = 972ab4e06390caae8f99dd6e2187be6c7ff2c08a24be16ef\nct = a929ee7e67c7a2f91bbcec6389a3caf43ab49305\niv = bc2a7757d0ce2d8b1f14ccd9\nkey = ff0089ee870a4a39f645b0a5da774f7a5911e9696fc9cad646452c2aa8595a12\nmsg = 748b28031621d95ee61812b4b4f47d04c6fc2ff3\nresult = valid\ntag = ebec6774b955e789591c822dab739e12\n\n# tcId = 76\n# special case\naad = \nct = 23293e9b07ca7d1b0cae7cc489a973b3\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 561008fa07a68f5c61285cd013464eaf\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# special case\naad = \nct = 7cb6fc7c6abc009efe9551a99f36a421\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = c6152244cea1978d3e0bc274cf8c0b3b\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 78\n# Flipped bit 0 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 79\n# Flipped bit 1 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ee8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 80\n# Flipped bit 7 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 1ce8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 81\n# Flipped bit 8 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce9fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 82\n# Flipped bit 31 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fe76d8ab1bf1bf887232eab590dd\n\n# tcId = 83\n# Flipped bit 32 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d9ab1bf1bf887232eab590dd\n\n# tcId = 84\n# Flipped bit 33 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6daab1bf1bf887232eab590dd\n\n# tcId = 85\n# Flipped bit 63 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1b71bf887232eab590dd\n\n# tcId = 86\n# Flipped bit 64 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122", - "232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1be887232eab590dd\n\n# tcId = 87\n# Flipped bit 71 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf13f887232eab590dd\n\n# tcId = 88\n# Flipped bit 77 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bfa87232eab590dd\n\n# tcId = 89\n# Flipped bit 80 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887332eab590dd\n\n# tcId = 90\n# Flipped bit 96 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232ebb590dd\n\n# tcId = 91\n# Flipped bit 97 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232e8b590dd\n\n# tcId = 92\n# Flipped bit 103 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf8872326ab590dd\n\n# tcId = 93\n# Flipped bit 120 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab590dc\n\n# tcId = 94\n# Flipped bit 121 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab590df\n\n# tcId = 95\n# Flipped bit 126 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab5909d\n\n# tcId = 96\n# Flipped bit 127 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab5905d\n\n# tcId = 97\n# Flipped bits 0 and 64 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de8fef6d8ab1bf1be887232eab590dd\n\n# tcId = 98\n# Flipped bits 31 and 63 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fe76d8ab1b71bf887232eab590dd\n\n# tcId = 99\n# Flipped bits 63 and 127 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1b71bf887232eab5905d\n\n# tcId = 100\n# all bits of tag flipped\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 631701092754e40e40778dcd154a6f22\n\n# tcId = 101\n# Tag changed to all zero\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 102\n# tag changed to all 1\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 103\n# msbs changed in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 1c687e76582b9b713f08f2b26a35105d\n\n# tcId = 104\n# lsbs changed in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de9fff7d9aa1af0be897333ebb491dc\n\n[ivSize = 128]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 105\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = f83cee467336e1a09b75f24e9b4385c99c13e6af722256a66129ece961fe803b167bad206f5017fb\niv = 029e0e777db092b12535d043012f09ba\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 09338a42f0acc14f97c064f52f5f1688\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 106\n# J0:00000000000000000000000000000000\naad = \nct = 0b32b648a2c28e9edd7cee08eeeb900034cae7215e5ab1e201bd2eed1032c5a97866ba582a3458a4\niv = f1be3b06b7feac07e7eab629f556047b\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 90be3606de58bd778fa5beff4a4102bd\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 107\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d8d23434de2cd07733be49d62ac1ae085\niv = de9eb63b1daed321a11b7547cc9e223c\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 6e4d6396125a10df5443bd0cbc8566d1\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 108\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 2a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d\niv = 40bb0abebc483ff6d5671241ff5d66c6\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = dc481f172545268eff63ab0490403dc3\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 109\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 96d36b795f8e7edf6a8e0dbcd20d6c072a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d\niv = 20d5cf305e630a8f49e3bb4bab18abc9\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8a3a22bf2592958b930292aa47f590e8\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 110\n# J0:000102030405060708090a0bffffffff\naad = \nct = cfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f41303c46d5c7bf9ca4c2c45a8f1e6656\niv = 255358a71a0e5731f6dd6ce28e158ae6\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 2db9dc1b7fd315df1c95432432fcf474\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test f", - "or correct wrapping of the counter.\n\n# tcId = 111\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 69a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f\niv = bb76e422bbe8bbe682a10be4bdd6ce1c\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 82ad967f7ac19084354f69a751443fb2\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 112\n# J0:000102030405060708090a0bfffffffd\naad = \nct = 4e4417a83beac1eb7e24456a05f6ba5569a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0\niv = db1821ac59c38e9f1e25a2eee9930313\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 472d5dd582dc05ef5fc496b612023cb2\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 113\n# J0:000102030405060708090a0b7fffffff\naad = \nct = 6f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3d20062009848044eef8f31f7d2fead05\niv = f7a02ecca03064b2ef3cce9feab79f07\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = caff723826df150934aee3201ba175e7\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 114\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = af193090ce3d43a388a1d294a09616906f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3\niv = 6985924901d688659b40a999d974dbfd\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 3b08958be1286c2b4acba02b3674adb2\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 115\n# J0:000102030405060708090a0bffff7fff\naad = \nct = 5deccf838b2cf5f869c90d2a611160b1e578ab8121b93735cba4a1930647b8c4c84bf776333ee45a\niv = 3f1188546c65ed0fc55e75032c68ee44\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = c14d52208f0f51b816a48971eaf8ff7e\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 116\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = d2cae1684aa407a13a2e2da5357e29f55deccf838b2cf5f869c90d2a611160b1e578ab8121b93735\niv = a13434d1cd8301d8b12212051fabaabe\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ea2d018099cd7925c507cef0ceddb0ae\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 117\n# special case\naad = \nct = 541b835dc828d541073f7d7d7504ebf5\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 5c7d3f81d4b5055ed6f8db53614587a4\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 118\n# special case\naad = \nct = a3f36154331c196624564bc395e49c3b\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 6a347ad1190e72ede611044e7475f0eb\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 119\naad = \nct = dc\niv = 1e8259e0a43e571068f701cd2064fc0c\nkey = cee9abbc26b63e169f0ced621fe21d95904e75b881d93e6b\nmsg = 46\nresult = valid\ntag = af1f5535b125b34fc466902ea40cb3a2\n\n# tcId = 120\naad = \nct = 2aab5c87dcb4a4dae4e975ddb65aab\niv = c84442d6975f0359737de0fa828f958e\nkey = 189f0bd390ba40632586a45c39735c2b87113329c800f394\nmsg = b4bcd7b8eeca3050dd17682c6a914e\nresult = valid\ntag = 6b03b7557c7131e2352e495d54e61aef\n\n# tcId = 121\naad = \nct = d127fd2e67c0887d90eb92b91f357d97\niv = 13cd526ec77b58f62d48d03f8b88f2b8\nkey = b0724f15df5b792c2f49bc51df0ac5aad69be0030981613c\nmsg = 8da3ab9c3d195b04df452ad23953da4d\nresult = valid\ntag = eb05bda937faeed27f8833295d4ba559\n\n# tcId = 122\naad = \nct = 344c2cea17b06cb3da272e22a22a3a71ee0eaa1959a7facfff464660ddccedd1\niv = 1d3d62eccd8ac5e896f2654a7f606fc9\nkey = 998750ba784841e40a7c5b03985732b6397e5459a3843954\nmsg = 2f60ca3494a958dc3e6ebeb5d0b4e6dda0d0c4331ab9c957f6422a5100878ebf\nresult = valid\ntag = bab7fbf499ff06aad5f757b1c1a4fcc0\n\n[ivSize = 96]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 123\n# special case\naad = \nct = 3f875c9bd7d8511448459468e398c3b2\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 0b4dbbba8982e0f649f8ba85f3aa061b\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 124\n# special case\naad = \nct = 210dabea4364c6d5b3429e7743322936\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 1ae93688ef7e2650a9342ad4718b2780\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 125\naad = \nct = fe\niv = 34047bc39b9c608384dff5b8\nkey = 21218af790428f8024d3e7e1428c9fcf578c216636d60e73\nmsg = e3\nresult = valid\ntag = 2e982e24b81cd120d35a70fe6935e665\n\n# tcId = 126\naad = \nct = 99f2ff1c8a44e5f2\niv = 4ebc13cf4636cc7c45e560a7\nkey = 3a8bf543c480925632118245bcbf5d01522b987a31a33da3\nmsg = 53fc72e71b59eeb3\nresult = valid\ntag = 6870f104ddc514477b400336fb01860e\n\n# tcId = 127\naad = \nct = afe8ef41591bfcc00db3c880ceb186\niv = 6e7ff7f0797685cfc44b05ff\nkey = 92f4d2672fceec43963ccffb17e6ea7578b11418b06a3b82\nmsg = c3ec16adb184affa8ae9738bffb916\nresult = valid\ntag = 29fff7f285768645c9c8bf7a471c9393\n\n# tcId = 128\naad = \nct = 90339dca02ef717f1603994aee6cf6d2\niv = be0326d23bdc2c64648d13f4\nkey = bcb6bc5ee6743df1396a34639327b25809ec9c81dd6a0c0e\nmsg = 80474a3a3b809560eee2ce7a7a33ea07\nresult = valid\ntag = e3d33e01ce64f271783147de226228bc\n\n# tcId = 129\naad = \nct = b98ed6321679941a3e521834296686ad98\niv = b6be6cd0681235d826aa28ea\nkey = 5e1d28213e092536525bbae09e214af4c891e202b2b4fa4f\nmsg = 53d59433a7db7f41b31ccb6d4a2d789965\nresult = valid\ntag = 9f50c03e055e519712c582ec9db3235b\n\n# tcId = 130\naad = \nct = addd303651119e52f6170dfc7a915064253d57532987b9ab\niv = b022067048505b20946216ef\nkey = 7f672d85e151aa490bc0eec8f66b5e5bee74af11642be3ff\nmsg = ef6412c72b03c643fa02565a0ae2378a9311c11a84065f80\nresult = valid\ntag = fa0484f8baa95f5b7a31c56d1b34c58b\n\n# tcId = 131\naad = cb\nct = 0d2c3a3c0cc4b40e70ed45e188e356a0e1533b31\niv = 817fe51c31f2879141a34335\nkey = 969fed5068541d65418c2c1de8fe1f845e036030496e1272\nmsg = 3d8233191a2823bf767e99167b1d4af4f4848458\nresult = valid\ntag = 92909a80e90540e1878ab59ef300072b\n\n# tcId = 132\naad = 2ed8487153e21b12\nct = c7c1cbb85ce2a0a3f32cb9ef01ad45ec1118b66d\niv = 62b9cf1e923bc1138d05d205\nkey = fa5b9b41f93f8b682c04ba816c3fecc24eec095b04dd7497\nmsg = 18159841813a69fc0f8f4229e1678da7c9016711\nresult = valid\ntag = 253317f98bdab87531ece20475cd9ebb\n\n# tcId = 133\naad = 74318d8876528243f1944b73eb77e96e\nct = ecf5e403f19c007c8da7a456caf0a6d75762829b\niv = 3f1a1e02e90a4ba7a1db9df2\nkey = fbfb395662787e2d25a2e7510f818e825936a35114e237c9\nmsg = 2952a3d64107d5cbb9602239d05a5c5c222cf72b\nresult = valid\ntag = e0877a100f9dd9d6795f0e74c56a9fab\n\n# tcId = 134\naad = 5ca354a4cb8e4fc9798aa209ad4f739dc7c232fdd1f22584\nct = 94d844d98b9467daa7e8dde7f4290037354d7fb2\niv = 0802ae86c75a73bf79561521\nkey = 5d8e9c2222316c9ed5ff94513cc957436ae447a6e1a73a29\nmsg = 42b4439e1d2116f834b91c516a26299df279956b\nresult = valid\ntag = 62196638590cef429d6b1d1a59839c02\n\n# tcId = 135\n# Flipped bit 0 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 136\n# Flipped bit 1 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b6e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 137\n# Flipped bit 7 in tag\naad = \nct = ", - "458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 34e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 138\n# Flipped bit 8 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e54c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 139\n# Flipped bit 31 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44cdb2fe90e4c78f358da0d99cb64\n\n# tcId = 140\n# Flipped bit 32 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2ee90e4c78f358da0d99cb64\n\n# tcId = 141\n# Flipped bit 33 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2de90e4c78f358da0d99cb64\n\n# tcId = 142\n# Flipped bit 63 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90ecc78f358da0d99cb64\n\n# tcId = 143\n# Flipped bit 64 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c79f358da0d99cb64\n\n# tcId = 144\n# Flipped bit 71 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4cf8f358da0d99cb64\n\n# tcId = 145\n# Flipped bit 77 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78d358da0d99cb64\n\n# tcId = 146\n# Flipped bit 80 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f359da0d99cb64\n\n# tcId = 147\n# Flipped bit 96 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0c99cb64\n\n# tcId = 148\n# Flipped bit 97 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0f99cb64\n\n# tcId = 149\n# Flipped bit 103 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da8d99cb64\n\n# tcId = 150\n# Flipped bit 120 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb65\n\n# tcId = 151\n# Flipped bit 121 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb66\n\n# tcId = 152\n# Flipped bit 126 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb24\n\n# tcId = 153\n# Flipped bit 127 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cbe4\n\n# tcId = 154\n# Flipped bits 0 and 64 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e44c5b2fe90e4c79f358da0d99cb64\n\n# tcId = 155\n# Flipped bits 31 and 63 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44cdb2fe90ecc78f358da0d99cb64\n\n# tcId = 156\n# Flipped bits 63 and 127 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90ecc78f358da0d99cbe4\n\n# tcId = 157\n# all bits of tag flipped\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 4b1bb3a4d016f1b3870ca725f266349b\n\n# tcId = 158\n# Tag changed to all zero\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 159\n# tag changed to all 1\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 160\n# msbs changed in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 3464ccdbaf698eccf873d85a8d194be4\n\n# tcId = 161\n# lsbs changed in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e54d5a2ee80f4d79f259db0c98ca65\n\n[ivSize = 128]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 162\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = 28e1c5232f4ee8161dbe4c036309e0b3254e9212bef0a93431ce5e5604c8f6a73c18a3183018b770\niv = 5c2ea9b695fcf6e264b96074d6bfa572\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = d5808a1bd11a01129bf3c6919aff2339\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 163\n# J0:00000000000000000000000000000000\naad = \nct = cceebeb4fe4cd90c514e52d2327a2ecd75393661006cf2476d8620149aef3d1cdce491fff3e7a7a3\niv = 57b3a81f2c36b6b06577ca0fbab8fa8e\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8132e865b69d64ef37db261f80cbbe24\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 164\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 4f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e2af7bfe1a8aadaa0baa3de38a41d9713\niv = ce20a7e870696a5e68533c465bad2ba1\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 155da6441ec071ef2d8e6cffbacc1c7c\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 165\n", - "# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 8316a53167b6de1a7575700693ffef274f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e\niv = 918e3c19dbdfee2db18156c5b93f3d75\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 6c574aa6a2490cc3b2f2f8f0ffbc56c4\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 166\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 5175927513e751eb309f45bc2ef225f28316a53167b6de1a7575700693ffef274f4350565d91d9aa\niv = 717d900b270462b9dbf7e9419e890609\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8082a761e1d755344bf29622144e7d39\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 167\n# J0:000102030405060708090a0bffffffff\naad = \nct = 36b3fbecd09178d04527fb37544f5579d20d60a41266f685c48098e1a52804ca387d90709d3268dd\niv = ecd52120af240e9b4bf3b9d1eeb49434\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 033e0ef2953ebfd8425737c7d393f89a\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 168\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 16929b773051f12b0adac95f65e21a7f36b3fbecd09178d04527fb37544f5579d20d60a41266f685\niv = b37bbad104928ae89221d3520c2682e0\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ca448bb7e52e897eca234ef343d057d0\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 169\n# J0:000102030405060708090a0bfffffffd\naad = \nct = 6d3faefaf691d58163846f8d4b9ffd5916929b773051f12b0adac95f65e21a7f36b3fbecd09178d0\niv = 538816c3f849067cf8576cd62b90b99c\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 84f49740e6757f63dd0df7cb7656d0ef\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 170\n# J0:000102030405060708090a0b7fffffff\naad = \nct = d60196c2d14fcf30c0991d2721ddc52d385f407a16691dade82c9023c855fd8e2e8fbb562102f018\niv = d10e631943cd3bdababab2bbd13951c0\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 877e15d9889e69a99fcc6d727465c391\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 171\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = 948fbceca12a6e4fabb79b6d965e336fd60196c2d14fcf30c0991d2721ddc52d385f407a16691dad\niv = 8ea0f8e8e87bbfa96368d83833ab4714\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = cd5757626945976ba9f0264bd6bee894\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 172\n# J0:000102030405060708090a0bffff7fff\naad = \nct = a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d8857d84e6e183a1dea6ee85a7da84fbc35d\niv = 7b2df4fbed1de2727eb24898e5deabb9\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = b015d72da62c81cb4d267253b20db9e5\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 173\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = 5e3434b45edbf0d1f6e02d1144dbf867a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d885\niv = 24836f0a46ab6601a760221b074cbd6d\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ee74ccb30d649ebf6916d05a7dbe5696\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 174\n# special case\naad = \nct = 265c42e2b96ea1de9c24f7182e337390\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 8d74f1c97243d362577ff376c393d2dc\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 175\n# special case\naad = \nct = 988f47668ea650cbaa6714711abe268d\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 884df0e76f3ce227bf9595d103825a46\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 176\naad = \nct = 3f\niv = 0ad570d8863918fe89124e09d125a271\nkey = b7797eb0c1a6089ad5452d81fdb14828c040ddc4589c32b565aad8cb4de3e4a0\nmsg = ed\nresult = valid\ntag = fd8f593b83314e33c5a72efbeb7095e8\n\n# tcId = 177\naad = \nct = 041341078f0439e50b43c991635117\niv = 2a55caa137c5b0b66cf3809eb8f730c4\nkey = 4c010d9561c7234c308c01cea3040c925a9f324dc958ff904ae39b37e60e1e03\nmsg = 2a093c9ed72b8ff4994201e9f9e010\nresult = valid\ntag = 5b8a2f2da20ef657c903da88ef5f57bb\n\n# tcId = 178\naad = \nct = 469478d448f7e97d755541aa09ad95b0\niv = 7ee376910f08f497aa6c3aa7113697fd\nkey = e7f7a48df99edd92b81f508618aa96526b279debd9ddb292d385ddbae80b2259\nmsg = 5e51dbbb861b5ec60751c0996e00527f\nresult = valid\ntag = 254ada5cf662d90c5e11b2bd9c4db4c4\n\n# tcId = 179\naad = \nct = cb960201fa5ad41d41d1c2c8037c71d52b72e76b16b589d71b976627c9734c9d\niv = 5d1bde6fa0994b33efd8f23f531248a7\nkey = 4f84782bfbb64a973c3de3dcfa3430367fd68bc0b4c3b31e5d7c8141ba3e6a67\nmsg = 78cb6650a1908a842101ea85804fed00cc56fbdafafba0ef4d1ca607dcae57b6\nresult = valid\ntag = 8dfce16467c3a6ebb3e7242c9a551962\n\n[ivSize = 120]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 180\n# unusual IV size\naad = \nct = 2bc3ef8e7402b4631f48e9be\niv = b0a73119a97d623806b49d45ddf4c7\nkey = 34c74e28182948e03af02a01f46eb4f7\nmsg = fe82ba66cf2e265741f2c86c\nresult = valid\ntag = 4b6f6f5be291a90b9e93a8a82ddbc8d8\n\n[ivSize = 160]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 181\n# unusual IV size\naad = \nct = 4fe13ef29f118f85a63188f8\niv = e22b6b144ab26b5781316e7a42a76202ac4b2278\nkey = 55cb7cac77efe18a1ea3b30c65f3f346\nmsg = 2f3d11ea32bf5bc72cbe2b8d\nresult = valid\ntag = 05975b175316df8045889f43e0c857e0\n\n[ivSize = 64]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 182\n# unusual IV size\naad = \nct = a2966fb189f8d9d391503857\niv = 60d6bfca67f5d810\nkey = f6a4bf8c4e15034699ce5801cbbac7509cd3f94cf28d8307\nmsg = de8eaa41e5e6a590c3cfbf61\nresult = valid\ntag = e370e7dd328655929bd4691f396a1033\n\n[ivSize = 120]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 183\n# unusual IV size\naad = \nct = 9af1a022c61c4315aa0e923e\niv = edf93e16294f15eded83808f09320e\nkey = 66f75acbd8d3acf7af47d13e8384c2809d6b91503a7f294b\nmsg = a900c86b6b7e0e5563f8f826\nresult = valid\ntag = 20529bff3c59222ec33353af337b1d40\n\n[ivSize = 160]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 184\n# unusual IV size\naad = \nct = 073a5291b11df379f31b4f16\niv = 130c14c839e35b7d56b3350b194b0da342e6b65d\nkey = ef2e299dd4ecd7e3b9cc62780922cc2c89f78840564d1276\nmsg = 03f59579b14437199583270e\nresult = valid\ntag = 17205999491bd4c1d6c7ec3e56779c32\n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 185\n# unusual IV size\naad = \nct = 99313a220d1fcb6658876283\niv = c0c568a400b7194f\nkey = df64c84ae52d9ca820a47421bed6e96f7165369fc4c1b65f8f6307b17ce1006c\nmsg = f5fafdded54a86a4edab44bd\nresult = valid\ntag = 00955d7d27f66868cfec734bf59c5e6d\n\n[ivSize = 120]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 186\n# unusual IV size\naad = \nct = fc213602aa423b87d7c2a874\niv = 17ca250fb7338775562632", - "23eadde1\nkey = e98b0669a645eb14cd06df6968fc5f10edc9f54feed264e3d410cdc61b72ef51\nmsg = f384b3ed7b274641f5db60cf\nresult = valid\ntag = 36b15bab6923b17218fe1c24048e2391\n\n[ivSize = 160]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 187\n# unusual IV size\naad = \nct = c1d76233e8c5042e92bf8d32\niv = 0f9d6ed7eef362dfa4a7dfa5c0f74c5b27bd4ebf\nkey = 849b3e6b8cdd85bdcfb8eb701aa5522ae2340fbe5214e389622cef76979225c4\nmsg = 8c5564e53051c0de273199b4\nresult = valid\ntag = 7cf036d235d3b2dd349a8c804b65144a\n\n[ivSize = 0]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 188\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 8f3f52e3c75c58f5cb261f518f4ad30a\nmsg = \nresult = invalid\ntag = cf71978ffcc778f3c85ac9c31b6fe191\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n# tcId = 189\n# 0 size IV is not valid\naad = \nct = 00a29f0a5e2e7490279d1faf8b881c7b\niv = \nkey = 2a4bf90e56b70fdd8649d775c089de3b\nmsg = 324ced6cd15ecc5b3741541e22c18ad9\nresult = invalid\ntag = a2c7e8d7a19b884f742dfec3e76c75ee\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n[ivSize = 0]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 190\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 0b18d21337035c7baa08211b702fa780ac7c09be8f9ed11f\nmsg = \nresult = invalid\ntag = ca69a2eb3a096ea36b1015d5dffff532\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n# tcId = 191\n# 0 size IV is not valid\naad = \nct = 509b0658d09f7a5bb9db43b70c8387f7\niv = \nkey = ba76d594a6df915bb7ab7e6d1a8d024b2796336c1b8328a9\nmsg = d62f302742d61d823ea991b93430d589\nresult = invalid\ntag = 2c9488d53a0b2b5308c2757dfac7219f\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n[ivSize = 0]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 192\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 3f8ca47b9a940582644e8ecf9c2d44e8138377a8379c5c11aafe7fec19856cf1\nmsg = \nresult = invalid\ntag = 1726aa695fbaa21a1db88455c670a4b0\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n# tcId = 193\n# 0 size IV is not valid\naad = \nct = 7772ea358901f571d3d35c19497639d9\niv = \nkey = 7660d10966c6503903a552dde2a809ede9da490e5e5cc3e349da999671809883\nmsg = c314235341debfafa1526bb61044a7f1\nresult = invalid\ntag = 8fe0520ad744a11f0ccfd228454363fa\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n[ivSize = 8]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 194\n# small IV sizes\naad = \nct = \niv = 80\nkey = 59a284f50aedd8d3e2a91637d3815579\nmsg = \nresult = acceptable\ntag = af498f701d2470695f6e7c8327a2398b\n\n# tcId = 195\n# small IV sizes\naad = \nct = 0a24612a9d1cbe967dbfe804bf8440e5\niv = 9d\nkey = fec58aa8cf06bfe05de829f27ec77693\nmsg = f2d99a9f893378e0757d27c2e3a3101b\nresult = acceptable\ntag = 96e6fd2cdc707e3ee0a1c90d34c9c36c\n\n[ivSize = 16]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 196\n# small IV sizes\naad = \nct = \niv = 0f2f\nkey = 88a972cce9eaf5a7813ce8149d0c1d0e\nmsg = \nresult = acceptable\ntag = 4ccf1efb4da05b4ae4452aea42f5424b\n\n# tcId = 197\n# small IV sizes\naad = \nct = ba3e7f8b2999995c7fc4006ca4f475ff\niv = 8760\nkey = b43967ee933e4632bd6562ba1201bf83\nmsg = 5a6ad6db70591d1e520b0122f05021a0\nresult = acceptable\ntag = 98f47a5279cebbcac214515710f6cd8a\n\n[ivSize = 32]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 198\n# small IV sizes\naad = \nct = \niv = cc851957\nkey = 4e9a97d3ed54c7b54610793ab05052e1\nmsg = \nresult = acceptable\ntag = e574b355bda2980e047e584feb1676ca\n\n# tcId = 199\n# small IV sizes\naad = \nct = 1b84baea9df1e65bee7b49e4a8cda1ec\niv = 7b5faeb2\nkey = d83c1d7a97c43f182409a4aa5609c1b1\nmsg = c8f07ba1d65554a9bd40390c30c5529c\nresult = acceptable\ntag = 5c0bb79d8240041edce0f94bd4bb384f\n\n[ivSize = 48]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 200\n# small IV sizes\naad = \nct = \niv = 4ad80c2854fb\nkey = c6a705677affb49e276d9511caa46145\nmsg = \nresult = acceptable\ntag = 1e2ed72af590cafb8647d185865f5463\n\n# tcId = 201\n# small IV sizes\naad = \nct = 18291aa8dc7b07448aa8f71bb8e380bf\niv = d1dafc8de3e3\nkey = eba7699b56cc0aa2f66a2a5be9944413\nmsg = d021e53d9098a2df3d6b903cdad0cd9c\nresult = acceptable\ntag = 9c0e22e5c41b1039ff5661ffaefa8e0f\n\n[ivSize = 8]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 202\n# small IV sizes\naad = \nct = \niv = cb\nkey = c70ce38e84e5f53ed41c3f0d2ca493412ad32cb04c6e2efa\nmsg = \nresult = acceptable\ntag = 08d96edb5e22874cd10cb2256ca04bc6\n\n# tcId = 203\n# small IV sizes\naad = \nct = 6c5e796ba9a3ddc64f401e68d135101d\niv = 0f\nkey = 74c816b83dfd287210a3e2c6da8d3053bbfbd9b156d3fdd8\nmsg = f2b7b2c9b312cf2af78f003df15c8e19\nresult = acceptable\ntag = 96a132ed43924e98feb888ff682bdaef\n\n[ivSize = 16]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 204\n# small IV sizes\naad = \nct = \niv = 75e5\nkey = cbf45ba488932aea1a10e5862f92e4a7e277bda9f34af6d0\nmsg = \nresult = acceptable\ntag = 1f0d23070fcd748e25bf6454f5c9136e\n\n# tcId = 205\n# small IV sizes\naad = \nct = 550b48a43e821fd76f49f0f1a897aead\niv = 8989\nkey = e1c0446f11ae6aa4fa254f9a846fc6e13e45e537e47f2042\nmsg = 3a2f5ad0eb216e546e0bcaa377b6cbc7\nresult = acceptable\ntag = f6e0a979481f9957ddad0f21a777a73a\n\n[ivSize = 32]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 206\n# small IV sizes\naad = \nct = \niv = 68d7fc38\nkey = 567563bf4cf154902275a53bc57cd6dd7b370d27011bdac8\nmsg = \nresult = acceptable\ntag = 1475563e3212f3b5e40062569afd71e3\n\n# tcId = 207\n# small IV sizes\naad = \nct = 309133e76159fe8a41b20843486511ab\niv = bb9d2aa3\nkey = 834d0bb601170865a78139428a1503695a6a291ebd747cd1\nmsg = 6f79e18b4acd5a03d3a5f7e1a8d0f183\nresult = acceptable\ntag = 03ab26993b701910a2e8ecccd2ba9e52\n\n[ivSize = 48]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 208\n# small IV sizes\naad = \nct = \niv = a984bdcdcae2\nkey = 99fb18f5ba430bb9ea942968ecb799b43406e1af4b6425a1\nmsg = \nresult = acceptable\ntag = d7b9a6b58a97982916e83219fbf71b1e\n\n# tcId = 209\n# small IV sizes\naad = \nct = e08261e46eaf90d978ea8f7889bccd4f\niv = 52aa01e0d0d6\nkey = b77b242aa0d51c92fda013e0cb0ef2437399ace5d3f507e4\nmsg = 4ba541a9914729216153801340ab1779\nresult = acceptable\ntag = c052a55df3926a50990a532efe3d80ec\n\n[ivSize = 8]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 210\n# small IV sizes\naad = \nct = \niv = a9\nkey = 8f9a38c1014966e4d9ae736139c5e79b99345874f42d4c7d2c81aa6797c417c0\nmsg = \nresult = acceptable\ntag = 2a268bf3a75fd7b00ba230b904bbb014\n\n# tcId = 211\n# small IV sizes\naad = \nct = 7bea30ecc2f73f8e121263b37966954c\niv = b3\nkey = 144cd8279229e8bb2de99d24e615306663913fe9177fcd270fafec493d43bca1\nmsg = 976229f5538f9636476d69f0c328e29d\nresult = acceptable\ntag = 8bbad4adc54b37a2b2f0f6e8617548c9\n\n[ivSize = 16]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 212\n# small IV sizes\naad = \nct = \niv = c332\nkey = 7d31861f9d3536e14016a3216b1042e0d2f7d4614314268b6f834ec7f38bbb65\nmsg = \nresult = acceptable\ntag = 1d978a693120c11f6d51a3ed88cd4ace\n\n# tcId = 213\n# small IV sizes\naad = \nct = 9c39f5b110361e9a770cc5e8b0f444bb\niv = da6c\nkey = 22b35fe9623ee11f8b60b6d22db3765b666ed972fa7ccd92b45f22deee02cab1\nmsg = 5341c78e4ce5bf8fbc3e077d1990dd5d\nresult = acceptable\ntag = b63ff43c12073ec5572b1be70f17e231\n\n[ivSize = 32]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 214\n# small IV sizes\naad = \nct = \niv = 6b30145e\nkey = c224e0bba3d7a99165f7996b67a0fce3e12f2c01179b197b69b7e628bca92096\nmsg = \nresult = acceptable\ntag = ae6f7c9a29f0d8204ca50b14a1e0dcf2\n\n# tcId = 215\n# small IV sizes\naad = \nct = f73f72f976a296ba3ca94bc6eb08cd46\niv = 5110604c\nkey = 093eb12343537ee8e91c1f715b862603f8daf9d4e1d7d67212a9d68e5aac9358\nmsg = 33efb58c91e8c70271870ec00fe2e202\nresult = acceptable\ntag = b824c33c13f289429659aa017c6", - "32f71\n\n[ivSize = 48]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 216\n# small IV sizes\naad = \nct = \niv = d4d857510888\nkey = 98e6f8ab673e804e865e32403a6551bf807a959343c60d34559360bc295ecb5b\nmsg = \nresult = acceptable\ntag = 3db16725fafc828d414ab61c16a6c38f\n\n# tcId = 217\n# small IV sizes\naad = \nct = ed463f4f43336af3f4d7e08770201145\niv = 1bdcd44b663e\nkey = 0bd0e8e7781166e1d876dec8fad34ba95b032a27cac0551595116091005947b7\nmsg = 91222263b12cf5616a049cbe29ab9b5b\nresult = acceptable\ntag = c8fc39906aca0c64e14a43ff750abd8a\n\n", +static const char *kData92[] = { + "# Imported from Wycheproof's aes_gcm_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-GCM\n# Generator version: 0.8r12\n\n[ivSize = 96]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\naad = \nct = 26073cc1d851beff176384dc9896d5ff\niv = 028318abc1824029138141a2\nkey = 5b9604fe14eadba931b0ccf34843dab9\nmsg = 001d0c231287c1182784554ca3a21908\nresult = valid\ntag = 0a3ea7a5487cb5f7d70fb6c58d038554\n\n# tcId = 2\naad = 00112233445566778899aabbccddeeff\nct = 49d8b9783e911913d87094d1f63cc765\niv = 921d2507fa8007b7bd067d34\nkey = 5b9604fe14eadba931b0ccf34843dab9\nmsg = 001d0c231287c1182784554ca3a21908\nresult = valid\ntag = 1e348ba07cca2cf04c618cb4d43a5b92\n\n# tcId = 3\naad = aac39231129872a2\nct = eea945f3d0f98cc0fbab472a0cf24e87\niv = 0432bc49ac34412081288127\nkey = aa023d0478dcb2b2312498293d9a9129\nmsg = 2035af313d1346ab00154fea78322105\nresult = valid\ntag = 4bb9b4812519dadf9e1232016d068133\n\n# tcId = 4\naad = \nct = \niv = 438a547a94ea88dce46c6c85\nkey = bedcfb5a011ebc84600fcb296c15af0d\nmsg = \nresult = valid\ntag = 960247ba5cde02e41a313c4c0136edc3\n\n# tcId = 5\naad = \nct = 54\niv = b30c084727ad1c592ac21d12\nkey = 384ea416ac3c2f51a76e7d8226346d4e\nmsg = 35\nresult = valid\ntag = 7c1e4ae88bb27e5638343cb9fd3f6337\n\n# tcId = 6\naad = \nct = a036ead03193903f\niv = b5e006ded553110e6dc56529\nkey = cae31cd9f55526eb038241fc44cac1e5\nmsg = d10989f2c52e94ad\nresult = valid\ntag = 3b626940e0e9f0cbea8e18c437fd6011\n\n# tcId = 7\naad = \nct = 8a9992388e735f80ee18f4a63c10ad\niv = ecb0c42f7000ef0e6f95f24d\nkey = dd6197cd63c963919cf0c273ef6b28bf\nmsg = 4dcc1485365866e25ac3f2ca6aba97\nresult = valid\ntag = 1486a91cccf92c9a5b00f7b0e034891c\n\n# tcId = 8\naad = \nct = f7bd379d130477176b8bb3cb23dbbbaa\niv = 0e1666f2dc652f7708fb8f0d\nkey = ffdf4228361ea1f8165852136b3480f7\nmsg = 25b12e28ac0ef6ead0226a3b2288c800\nresult = valid\ntag = 1ee6513ce30c7873f59dd4350a588f42\n\n# tcId = 9\naad = \nct = 0de51fe4f7f2d1f0f917569f5c6d1b009c\niv = 965ff6643116ac1443a2dec7\nkey = c15ed227dd2e237ecd087eaaaad19ea4\nmsg = fee62fde973fe025ad6b322dcdf3c63fc7\nresult = valid\ntag = 6cd8521422c0177e83ef1b7a845d97db\n\n# tcId = 10\naad = \nct = 7cd9f4e4f365704fff3b9900aa93ba54b672bac554275650\niv = fbbc04fd6e025b7193eb57f6\nkey = a8ee11b26d7ceb7f17eaa1e4b83a2cf6\nmsg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf\nresult = valid\ntag = f4eb193241226db017b32ec38ca47217\n\n# tcId = 11\naad = c3\nct = f58d453212c2c8a436e9283672f579f119122978\niv = 32bcb9b569e3b852d37c766a\nkey = 28ff3def08179311e2734c6d1c4e2871\nmsg = dfc61a20df8505b53e3cd59f25770d5018add3d6\nresult = valid\ntag = 5901131d0760c8715901d881fdfd3bc0\n\n# tcId = 12\naad = 834afdc5c737186b\nct = bf864616c2347509ca9b10446379b9bdbb3b8f64\niv = 9c3a4263d983456658aad4b1\nkey = e63a43216c08867210e248859eb5e99c\nmsg = b14da56b0462dc05b871fc815273ff4810f92f4b\nresult = valid\ntag = a97d25b490390b53c5db91f6ee2a15b8\n\n# tcId = 13\naad = 4020855c66ac4595058395f367201c4c\nct = a6f2ef3c7ef74a126dd2d5f6673964e27d5b34b6\niv = 33e90658416e7c1a7c005f11\nkey = 38449890234eb8afab0bbf82e2385454\nmsg = f762776bf83163b323ca63a6b3adeac1e1357262\nresult = valid\ntag = b8bbdc4f5014bc752c8b4e9b87f650a3\n\n# tcId = 14\naad = 76eb5f147250fa3c12bff0a6e3934a0b16860cf11646773b\nct = bd64802cfebaeb487d3a8f76ce943a37b3472dd5\niv = 9f0d85b605711f34cd2a35ba\nkey = 6a68671dfe323d419894381f85eb63fd\nmsg = 0fc67899c3f1bbe196d90f1eca3797389230aa37\nresult = valid\ntag = fce9a5b530c7d7af718be1ec0ae9ed4d\n\n# tcId = 15\naad = \nct = d33bf6722fc29384fad75f990248b9528e0959aa67ec66869dc3996c67a2d559e7d77ce5955f8cad2a4df5fdc3acccafa7bc0def53d848111256903e5add0420\niv = 5dfc37366f5688275147d3f9\nkey = e12260fcd355a51a0d01bb1f6fa538c2\nmsg = d902deeab175c008329a33bfaccd5c0eb3a6a152a1510e7db04fa0aff7ce4288530db6a80fa7fea582aa7d46d7d56e708d2bb0c5edd3d26648d336c3620ea55e\nresult = valid\ntag = 8bc833de510863b4b432c3cbf45aa7cc\n\n# tcId = 16\naad = \nct = 17d72d90bd23e076d8364a87ecb9ac58acc5de4629bfd590409b8bf1fcd3a2f602731b4614cec15e773ea65a65e7210994256bf5450a25acb527269c065f2e2f2279d1fe8b3eda98dcf87b348f1528377bbdd258355d46e035330483d8097e80c7de9bbb606ddf723f2909217ffdd18e8bdbd7b08062f1dcba960e5c0d290f5f\niv = d767c48d2037b4bd2c231bbd\nkey = 3c55f88e9faa0d68ab50d02b47161276\nmsg = 5d6add48e7a5704e54f9c2829a9b4283dce0d3a65b133eba3793c4fbfa1d8e3a2539d0d4f3de381598ce5b2360173fbd149476c31692c5d6e872fce40219378949c2e70b5f1b9f0a1d5f38352ad814b2a035bb3f3f26425d831a2f7a5e65c5dfcd91a315c2b24f53a662605ea40857dd980e9be5cdad000c569f2d204d4bd3b0\nresult = valid\ntag = 090b8c2ec98e4116186d0e5fbefeb9c2\n\n# tcId = 17\naad = \nct = 5bc6dbafc401101c7a08c81d6c2791aa147ce093aad172be18379c747384a54a41a747ba955cade8fdfb8967aa808b43fee3d757cc80f11163b800e5e59df932757f76c40b3d9cba449aaf11e4f80e003b1f384eafa4f76e81b13c09ec1ad88e7650c750d442fe46d225a373e8a1b564b4915a5c6c513cfdfa22d929d5741ca5ebefaedcba636c7c3bbef18863fdc126b4b451611049c35d814fc2eb7e4b8f1a8995ecb4a3c86652a068c0b2a3e1c5941d59c210b458d5d5d3b06420ec2053465ccceca7c20f67404985460379e2ee806a46e8409dfab2e0dd67ea3cf46d5ad4eb78756827358c3ef1fdbd07c33834f3d9eca3ff13b744a01059a6c17a315a8fd4\niv = dfe20d1c4350e6235d987af1\nkey = a294e70fa2ac10a1fb00c588b888b673\nmsg = 6ed1d7d618d158741f52078006f28494ba72a2454f27160ae8722793fcebc538ebc2f67c3ace3e0fe7c47b9e74e081182b47c930144e3fc80d0ad50611c3afcfe2dbc5279edbbba087c0e390355f3daffcd25ad4dea007c284ad92e7fcbecb438fb60623ff89a599dca2aac141b26651386ca55b739b94901ef6db609c344d8acf4544568e31bb09361112754b1c0c6a3c875bd9453b0ee0081412151398a294ecad75add521611db5288b60ac3c0128f6e94366b69e659e6aa66f058a3a3571064edbb0f05c11e5dde938fb46c3935dd5193a4e5664688f0ae67c29b7cc49a7963140f82e311a20c98cd34fbcab7b4b515ae86557e62099e3fc37b9595c85a75c\nresult = valid\ntag = c7587e7da41bed682c37377ea4324029\n\n# tcId = 18\naad = 75fc9078b488e9503dcb568c882c9eec24d80b04f0958c82aac8484f025c90434148db8e9bfe29c7e071b797457cb1695a5e5a6317b83690ba0538fb11e325ca\nct = b6786812574a254eb43b1cb1d1753564c6b520e9\niv = 5046e7e08f0747e1efccb09e\nkey = c4b03435b91fc52e09eff27e4dc3fb42\nmsg = 8e887b224e8b89c82e9a641cf579e6879e1111c7\nresult = valid\ntag = ad8c09610d508f3d0f03cc523c0d5fcc\n\n# tcId = 19\naad = 8ed8a9be4c3d32a5098434ee5c0c4fc20f78ef5e25ed8b72a840a463e36b67b881e048b5e49f515b2541ad5ce4ebb3a917c16bcdc0dc3cb52bb4ed5a1dffcf1e1866544e8db103b2ad99c6fa6e7de1d8b45bff57ec872f1cfc78b0e4870f6f200ff1291cae033defc3327ba82792ba438e35c4bfbb684fec5ce5e3ae167d01d7\nct = cfb631790767d0645d8ec6f23bf7fa8b19ce79ee\niv = 517c55c2ec9bfea90addc2bd\nkey = 7e37d56e6b1d0172d40d64d6111dd424\nmsg = 6a7dea03c1bba70be8c73da47d5ee06d72a27430\nresult = valid\ntag = c5767ddaa747158446231766bd20490c\n\n# tcId = 20\naad = 18526e4efd995a0bf6405d9f906725c290278958d49554974d8fe025e7860daa225c1285b0573916a4b6741f7cc2e29ce4e525e12f436cb7ce0ad47df3d0f5bd80fb27e47635a4985fdaedf0e821f1c8959985cac49c97a4a02438d92b4afd4c855dcc7ef41ecfc36866334fcc05b2bb93ef13f00c5ea9b921e8a519d77f648e0efe9b5a62305a2ecf7d4999663a6ddfca517f1f36f0899b0bdef9f433c4bb2663c0cc1bb616e7d1949e522bec85485d371d1134c90eede75e865dc7be405b54c33f0acbace6cf780c78035b8035b6ea3f562a8d30a156c199fdafd25be06ee895581195ef125cb4e629e4f18e0bee979d31513896db8466e448e6b4600a316757\nct = e4d3f4898cb3d9732641d1f8d9d889b2c98af930\niv = a2712eac5e06d3cc2864aa8b\nkey = 3076741408f734ce25d48f982e8b844b\nmsg = 414ec6b149e54735302dada888b98b7fdb4c127c\nresult = valid\ntag = 76d4fbb69d529b64175b328be00b1068\n\n# tcId = 21\n# special case\naad = \nct = f62d84d649e56bc8cfedc5d74a51e2f7\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = ebd4a3e10cf6d41c50aeae007563b072\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 22\n# special case\naad = \nct = 431f31e6840931fd95f94bf88296ff69\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff\nmsg = d593c4d8224f1b100c35e4f6c4006543\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 23\n# Flipped bit 0 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9847dbc326a06e988c77ad3863e6083\n\n# tcId = 24\n# Flipped bit 1 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = da847dbc326a06e988c7", + "7ad3863e6083\n\n# tcId = 25\n# Flipped bit 7 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 58847dbc326a06e988c77ad3863e6083\n\n# tcId = 26\n# Flipped bit 8 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8857dbc326a06e988c77ad3863e6083\n\n# tcId = 27\n# Flipped bit 31 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847d3c326a06e988c77ad3863e6083\n\n# tcId = 28\n# Flipped bit 32 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc336a06e988c77ad3863e6083\n\n# tcId = 29\n# Flipped bit 33 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc306a06e988c77ad3863e6083\n\n# tcId = 30\n# Flipped bit 63 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a066988c77ad3863e6083\n\n# tcId = 31\n# Flipped bit 64 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e989c77ad3863e6083\n\n# tcId = 32\n# Flipped bit 71 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e908c77ad3863e6083\n\n# tcId = 33\n# Flipped bit 77 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988e77ad3863e6083\n\n# tcId = 34\n# Flipped bit 80 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77bd3863e6083\n\n# tcId = 35\n# Flipped bit 96 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3873e6083\n\n# tcId = 36\n# Flipped bit 97 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3843e6083\n\n# tcId = 37\n# Flipped bit 103 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3063e6083\n\n# tcId = 38\n# Flipped bit 120 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6082\n\n# tcId = 39\n# Flipped bit 121 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6081\n\n# tcId = 40\n# Flipped bit 126 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e60c3\n\n# tcId = 41\n# Flipped bit 127 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6003\n\n# tcId = 42\n# Flipped bits 0 and 64 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9847dbc326a06e989c77ad3863e6083\n\n# tcId = 43\n# Flipped bits 31 and 63 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847d3c326a066988c77ad3863e6083\n\n# tcId = 44\n# Flipped bits 63 and 127 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a066988c77ad3863e6003\n\n# tcId = 45\n# all bits of tag flipped\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 277b8243cd95f9167738852c79c19f7c\n\n# tcId = 46\n# Tag changed to all zero\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 47\n# tag changed to all 1\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 48\n# msbs changed in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 5804fd3cb2ea86690847fa5306bee003\n\n# tcId = 49\n# lsbs changed in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9857cbd336b07e889c67bd2873f6182\n\n[ivSize = 64]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 50\naad = aac39231129872a2\nct = 64c36bb3b732034e3a7d04efc5197785\niv = 0432bc49ac344120\nkey = aa023d0478dcb2b2312498293d9a9129\nmsg = 2035af313d1346ab00154fea78322105\nresult = valid\ntag = b7d0dd70b00d65b97cfd080ff4b819d1\n\n# tcId = 51\n# small IV sizes\naad = \nct = \niv = 28e9b7851724bae3\nkey = f3434725c82a7f8bb07df1f8122fb6c9\nmsg = \nresult = acceptable\ntag = 44aca00f42e4199b829a55e69b073d9e\nflags = SmallIv\n\n# tcId = 52\n# small IV sizes\naad = \nct = 03e1a168a7e377a913879b296a1b5f9c\niv = d084547de55bbc15\nkey = deb62233559b57476602b5adac57c77f\nmsg = d8986df0241ed3297582c0c239c724cb\nresult = acceptable\ntag = 3290aa95af505a742f517fabcc9b2094\nflags = SmallIv\n\n[ivSize = 128]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 53\naad = 1a0293d8f90219058902139013908190bc490890d3ff12a3\nct = 64069c2d58690561f27ee199e6b479b6369eec688672bde9\niv = 3254202d854734812398127a3d134421\nkey = 2034a82547276c83dd3212a813572bce\nmsg = 02efd2e5782312827ed5d230189a2a342b277ce048462193\nresult = valid\ntag = 9b7abadd6e69c1d9ec925786534f5075\n\n# tcId = 54\naad = \nct = \niv = fa294b129972f7fc5bbd5b96bba837c9\nkey = b67b1a6efdd40d37080fbe8f8047aeb9\nmsg = \nresult = valid\ntag = a2cf26481517ec25085c5b17d0786183\n\n# tcId = 55\naad = \nct = fd\niv = 9477849d6ccdfca112d92e53fae4a7ca\nkey = 209e6dbf2ad26a105445fc0207cd9e9a\nmsg = 01\nresult = valid\ntag = 032df7bba5d8ea1a14f16f70bd0e14ec\n\n# tcId = 56\naad = \nct = 2f333087bdca58219f9bfc273e45cc\niv = 5171524568e81d97e8c4de4ba56c10a0\nkey = a549442e35154032d07c8666006aa6a2\nmsg = 1182e93596cac5608946400bc73f3a\nresult = valid\ntag = e06d1ef473132957ad37eaef29733ca0\n\n# tcId = 57\naad = \nct = a780bd01c80885156c88a973264c8ee5\niv = 1275115499ae722268515bf0c164b49c\nkey = cfb4c26f126f6a0acb8e4e220f6c56cd\nmsg = 09dfd7f080275257cf97e76f966b1ad9\nresult = valid\ntag = 2adeffa682c8d8a81fada7d9fcdd2ee2\n\n# tcId = 58\naad = \nct = 7e47e10fe3c6fbfa381770eaf5d48d1482e71e0c44dff1e30ca6f95d92052084\niv = 95c1dd8c0f1705ece68937901f7add7b\nkey = 0b11ef3a08c02970f7", + "4281c860691c75\nmsg = f693d4edd825dbb0618d91113128880dbebb23e25d00ed1f077d870be9cc7536\nresult = valid\ntag = d01444fa5d9c499629d174ff3927a1ac\n\n# tcId = 59\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = 00078d109d92143fcd5df56721b884fac64ac7762cc09eea2a3c68e92a17bdb575f87bda18be564e\niv = f95fde4a751913202aeeee32a0b55753\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 152a65045fe674f97627427af5be22da\nflags = ConstructedIv\n\n# tcId = 60\n# J0:00000000000000000000000000000000\naad = \nct = 84d4c9c08b4f482861e3a9c6c35bc4d91df927374513bfd49f436bd73f325285daef4ff7e13d46a6\niv = 7b95b8c356810a84711d68150a1b7750\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 213a3cb93855d18e69337eee66aeec07\nflags = ConstructedIv\n\n# tcId = 61\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc3c60ad5a949886de968cf53ea6462aed\niv = 1a552e67cdc4dc1a33b824874ebf0bed\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 99b381bfa2af9751c39d1b6e86d1be6a\nflags = ConstructedIv\n\n# tcId = 62\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 64b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc\niv = dd9d0b4a0c3d681524bffca31d907661\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 5281efc7f13ac8e14ccf5dca7bfbfdd1\nflags = ConstructedIv\n\n# tcId = 63\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 2bb69c3e5d1f91815c6b87a0d5bbea7164b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e8\niv = 57c5643c4e37b4041db794cfe8e1f0f4\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = a3ea2c09ee4f8c8a12f45cddf9aeff81\nflags = ConstructedIv\n\n# tcId = 64\n# J0:000102030405060708090a0bffffffff\naad = \nct = 127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4af37d0fe9af033052bd537c4ae978f60\niv = 99821c2dd5daecded07300f577f7aff1\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 07eb2fe4a958f8434d40684899507c7c\nflags = ConstructedIv\n\n# tcId = 65\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4\niv = 5e4a3900142358d1c774d8d124d8d27d\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = f145c2dcaf339eede427be934357eac0\nflags = ConstructedIv\n\n# tcId = 66\n# J0:000102030405060708090a0bfffffffd\naad = \nct = f0c6ffc18bd46df5569185a9afd169eb0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57\niv = d4125676562984c0fe7cb0bdd1a954e8\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = facd0bfe8701b7b4a2ba96d98af52bd9\nflags = ConstructedIv\n\n# tcId = 67\n# J0:000102030405060708090a0b7fffffff\naad = \nct = d6928e094c06e0a7c4db42184cf7529e95de88b767edebe9b343000be3dab47ea08b744293eed698\niv = b97ec62a5e5900ccf9e4be332e336091\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = a03e729dcfd7a03155655fece8affd7e\nflags = ConstructedIv\n\n# tcId = 68\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = d82ce58771bf6487116bf8e96421877ed6928e094c06e0a7c4db42184cf7529e95de88b767edebe9\niv = 7eb6e3079fa0b4c3eee366177d1c1d1d\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 1e43926828bc9a1614c7b1639096c195\nflags = ConstructedIv\n\n# tcId = 69\n# J0:000102030405060708090a0bffff7fff\naad = \nct = a197a37a5d79697078536bc27fe46cd8d475526d9044aa94f088a054f8e380c64f79414795c61480\niv = 0314fcd10fdd675d3c612962c931f635\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = f08baddf0b5285c91fc06a67fe4708ca\nflags = ConstructedIv\n\n# tcId = 70\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = 149fde9abbd3a43c2548575e0db9fb84a197a37a5d79697078536bc27fe46cd8d475526d9044aa94\niv = c4dcd9fcce24d3522b66f1469a1e8bb9\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 62a4b6875c288345d6a454399eac1afa\nflags = ConstructedIv\n\n# tcId = 71\n# special case\naad = \nct = 45a3f89d02918bfd0c8161658ccc9795\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = bec6fa05c1718b9b84c47345bbed7dcb\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 72\n# special case\naad = \nct = 1cd5a06214235ceb044d4bad7b047312\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff\nmsg = 4d82639c39d3f3490ee903dd0be7afcf\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 73\naad = 00000000ffffffff\nct = e27abdd2d2a53d2f136b\niv = 00112233445566778899aabb\nkey = 92ace3e348cd821092cd921aa3546374299ab46209691bc28b8752d17f123c20\nmsg = 00010203040506070809\nresult = valid\ntag = 9a4a2579529301bcfb71c78d4060f52c\n\n# tcId = 74\naad = aabbccddeeff\nct = \niv = 00112233445566778899aabb\nkey = 29d3a44f8723dc640239100c365423a312934ac80239212ac3df3421a2098123\nmsg = \nresult = valid\ntag = 2a7d77fa526b8250cb296078926b5020\n\n# tcId = 75\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 4771a7c404a472966cea8f73c8bfe17a\n\n# tcId = 76\naad = \nct = 06\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = 633c1e9703ef744ffffb40edf9d14355\n\n# tcId = 77\naad = \nct = cf332a12fdee800b\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = 602e8d7c4799d62c140c9bb834876b09\n\n# tcId = 78\naad = \nct = 43fc101bff4b32bfadd3daf57a590e\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = ec04aacb7148a8b8be44cb7eaf4efa69\n\n# tcId = 79\naad = \nct = f58c16690122d75356907fd96b570fca\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 28752c20153092818faba2a334640d6e\n\n# tcId = 80\naad = \nct = 73a6b6f45f6ccc5131e07f2caa1f2e2f56\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = 2d7379ec1db5952d4e95d30c340b1b1d\n\n# tcId = 81\naad = \nct = 0843fff52d934fc7a071ea62c0bd351ce85678cde3ea2c9e\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 7355fde599006715053813ce696237a8\n\n# tcId = 82\naad = c0\nct = eb5500e3825952866d911253f8de860c00831c81\niv = 98bc2c7438d5cd7665d76f6e\nkey = b279f57e19c8f53f2f963f5f2519fdb7c1779be2ca2b3ae8e1128b7d6c627fc4\nmsg = fcc515b294408c8645c9183e3f4ecee5127846d1\nresult = valid\ntag = ecb660e1fb0541ec41e8d68a64141b3a\n\n# tcId = 83\naad = 956846a209e087ed\nct = feca44952447015b5df1f456df8ca4bb4eee2ce2\niv = 376187894605a8d45e30de51\nkey = cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17\nmsg = e28e0e9f9d22463ac0e42639b530f42102fded75\nresult = valid\ntag = 082e91924deeb77880e1b1c84f9b8d30\n\n# tcId = 84\naad = ab2ac7c44c60bdf8228c7884adb20184\nct = 43dda832e942e286da314daa99bef5071d9d2c78\niv = 5a86a50a0e8a179c734b996d\nkey = f32364b1d339d82e4f132d8f4a0ec1ff7e746517fa07ef1a7f422f4e25a48194\nmsg = 43891bccb522b1e72a6b53cf31c074e9d6c2df8e\nresult = valid\ntag = c39225", + "83476ced575404ddb85dd8cd44\n\n# tcId = 85\naad = 972ab4e06390caae8f99dd6e2187be6c7ff2c08a24be16ef\nct = a929ee7e67c7a2f91bbcec6389a3caf43ab49305\niv = bc2a7757d0ce2d8b1f14ccd9\nkey = ff0089ee870a4a39f645b0a5da774f7a5911e9696fc9cad646452c2aa8595a12\nmsg = 748b28031621d95ee61812b4b4f47d04c6fc2ff3\nresult = valid\ntag = ebec6774b955e789591c822dab739e12\n\n# tcId = 86\naad = \nct = c7d191b601f86c28b6a1bdef6a57b4f6ee3ae417bc125c381cdf1c4dac184ed1d84f1196206d62cad112b038845720e02c061179a8836f02b93fa7008379a6bf\niv = d61040a313ed492823cc065b\nkey = 5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701\nmsg = d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82\nresult = valid\ntag = f15612f6c40f2e0db6dc76fc4822fcfe\n\n# tcId = 87\naad = \nct = 53cc8c920a85d1accb88636d08bbe4869bfdd96f437b2ec944512173a9c0fe7a47f8434133989ba77dda561b7e3701b9a83c3ba7660c666ba59fef96598eb621544c63806d509ac47697412f9564eb0a2e1f72f6599f5666af34cffca06573ffb4f47b02f59f21c64363daecb977b4415f19fdda3c9aae5066a57b669ffaa257\niv = 8a3ad26b28cd13ba6504e260\nkey = d7addd3889fadf8c893eee14ba2b7ea5bf56b449904869615bd05d5f114cf377\nmsg = c877a76bf595560772167c6e3bcc705305db9c6fcbeb90f4fea85116038bc53c3fa5b4b4ea0de5cc534fbe1cf9ae44824c6c2c0a5c885bd8c3cdc906f12675737e434b983e1e231a52a275db5fb1a0cac6a07b3b7dcb19482a5d3b06a9317a54826cea6b36fce452fa9b5475e2aaf25499499d8a8932a19eb987c903bd8502fe\nresult = valid\ntag = 5e63374b519e6c3608321943d790cf9a\n\n# tcId = 88\naad = \nct = d7eebc9587aa21136fa38b41cf0e2db03a7ea2ba9eaddf83d33f781093617bf50f49b2bfe2f7173b113912e2e1775f40edfed8b3b0099b9e1c220dd103be6166210b01029feb24ed9e20614eddc3cebe41b0079a9a8c117b596c90288effd3796fbd0c7e8eab00609a64be3ad9597cdbf3a818c260cd938bdf232e4059ae35a2571a838887fc196912179486e046a62227a4caddce38cbbc37587bb9439ec637602b6818c5cbe3c71a7c4143960533dc74174bd315c8db227b69b55bb7fc30ba1d5213a752ec33925043cefbc1a62943ee5f34d5da01799e69094d732aef52f8e036980d0070e22e173c67c4bbcca61cc1eedbd6016516c592144819df13204dee\niv = a6687cf508356b174625deaa\nkey = 317ba331307f3a3d3d82ee1fdab70f62a155af14daf631307a61b187d413e533\nmsg = 32c1d09107c599d3cce4e782179c966c6ef963689d45351dbe0f6f881db273e54db76fc48fdc5d30f089da838301a5f924bba3c044e19b3ed5aa6be87118554004ca30e0324337d987839412bf8f8bbdd537205d4b0e2120e965373235d6cbd2fb3776ba0a384ec1d9b7c631a0379ff997c3f974a6f7bbf4fd23016211f5fc10acadb5e400d2ff0fdfd193f5c6fc6d4f7271dfd1349ed80fbedaebb155b9b02fb3074495d55f9a2455f59bf6f113191a029c6b0ba75d97cdc0c84f131836337f29f9d96ca448eec0cc46d1ca8b3735661979d83302fec08fffcf5e58f12b1e7050657b1b97c64a4e07e317f554f8310b6ccb49f36d48c57816d24952aada711d4f\nresult = valid\ntag = bf0540d34b20f761101bc608b02458f2\n\n# tcId = 89\naad = 498d3075b09fed998280583d61bb36b6ce41f130063b80824d1586e143d349b126b16aa10fe57343ed223d6364ee602257fe313a7fc9bf9088f027795b8dc1d3\nct = aed58d8a252f740dba4bf6d36773bd5b41234bba\niv = c064fae9173b173fd6f11f34\nkey = 2ce6b4c15f85fb2da5cc6c269491eef281980309181249ebf2832bd6d0732d0b\nmsg = f8a27a4baf00dc0555d222f2fa4fb42dc666ea3c\nresult = valid\ntag = 01f93d7456aa184ebb49bea472b6d65d\n\n# tcId = 90\naad = 98d1ca1788cbeb300ea5c6b1eec95eb2347177201400913d45225622b6273eec8a74c3f12c8d5248dabee586229786ff192c4df0c79547f7ad6a92d78d9f8952758635783add2a5977d386e0aef76482211d2c3ae98de4baadb3f8b35b510464755dc75ceb2bf25b233317523f399a6c507db214f085fa2818f0d3702b10952b\nct = b42428f8094ef7e65c9e8c45ef3e95c28ce07d72\niv = 6f39afba021e4c36eb92962e\nkey = 44c8d0cdb8f7e736cfd997c872a5d9c5ef30afbe44b6566606b90aa5e3e8b797\nmsg = 2e6f40f9d3725836ac0c858177938fd67be19432\nresult = valid\ntag = 32b25dfbb896d0f9d79c823bdd8e5d06\n\n# tcId = 91\naad = 422d5efcffe364905984533f0a579d80b18bda7b29e6e46498effba53c350112c0bbb8dc4ce03bb0c69e1d0baa19f0637108aa4a16b09a281f232839d87b6d0e42be1baa7c67f1be970ea169d3960b9fe0a61f11cd2eb7398c19e641feb43f778e257a397063db5b3a6707e9db62387054f9f9d44f143583e63edad45a00251e5173d7505f22a8bce232e56c2c276a58033ae30d5dbf4e35a862e42af573be38c6406d9b4c7acbf275fe36c0ecf2c4642898a30e6146fac992a16405f98312126b7a3722f5dfb7dd4e4911c1426b2e01d04e9be6db3771100f7d7d4282e4ea585f3646241e807ca64f06a7fa9b7003d710b801d66f517d2d5ebd740872deba13d0\nct = d4a79f729487935950ec032e690ab8fe25c4158e\niv = 9f095dafe6f6e0fbafbbe02e\nkey = e40003d6e08ab80b4bfc8400ef112945a901ec64a1b6536ca92665090d608bc4\nmsg = 38c3f44bc5765de1f3d1c3684cd09cddefaf298d\nresult = valid\ntag = 876d2f334f47968b10c103859d436db8\n\n# tcId = 92\n# special case\naad = \nct = 23293e9b07ca7d1b0cae7cc489a973b3\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 561008fa07a68f5c61285cd013464eaf\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 93\n# special case\naad = \nct = 7cb6fc7c6abc009efe9551a99f36a421\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = c6152244cea1978d3e0bc274cf8c0b3b\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 94\n# Flipped bit 0 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 95\n# Flipped bit 1 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ee8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 96\n# Flipped bit 7 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 1ce8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 97\n# Flipped bit 8 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce9fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 98\n# Flipped bit 31 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fe76d8ab1bf1bf887232eab590dd\n\n# tcId = 99\n# Flipped bit 32 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d9ab1bf1bf887232eab590dd\n\n# tcId = 100\n# Flipped bit 33 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6daab1bf1bf887232eab590dd\n\n# tcId = 101\n# Flipped bit 63 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1b71bf887232eab590dd\n\n# tcId = 102\n# Flipped bit 64 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1be887232eab590dd\n\n# tcId = 103\n# Flipped bit 71 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf13f887232eab590dd\n\n# tcId = 104\n# Flipped bit 77 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bfa87232eab590dd\n\n# tcId = 105\n# Flipped bit 80 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 2021", + "22232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887332eab590dd\n\n# tcId = 106\n# Flipped bit 96 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232ebb590dd\n\n# tcId = 107\n# Flipped bit 97 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232e8b590dd\n\n# tcId = 108\n# Flipped bit 103 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf8872326ab590dd\n\n# tcId = 109\n# Flipped bit 120 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab590dc\n\n# tcId = 110\n# Flipped bit 121 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab590df\n\n# tcId = 111\n# Flipped bit 126 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab5909d\n\n# tcId = 112\n# Flipped bit 127 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab5905d\n\n# tcId = 113\n# Flipped bits 0 and 64 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de8fef6d8ab1bf1be887232eab590dd\n\n# tcId = 114\n# Flipped bits 31 and 63 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fe76d8ab1b71bf887232eab590dd\n\n# tcId = 115\n# Flipped bits 63 and 127 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1b71bf887232eab5905d\n\n# tcId = 116\n# all bits of tag flipped\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 631701092754e40e40778dcd154a6f22\n\n# tcId = 117\n# Tag changed to all zero\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 118\n# tag changed to all 1\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 119\n# msbs changed in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 1c687e76582b9b713f08f2b26a35105d\n\n# tcId = 120\n# lsbs changed in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de9fff7d9aa1af0be897333ebb491dc\n\n[ivSize = 128]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 121\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = f83cee467336e1a09b75f24e9b4385c99c13e6af722256a66129ece961fe803b167bad206f5017fb\niv = 029e0e777db092b12535d043012f09ba\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 09338a42f0acc14f97c064f52f5f1688\nflags = ConstructedIv\n\n# tcId = 122\n# J0:00000000000000000000000000000000\naad = \nct = 0b32b648a2c28e9edd7cee08eeeb900034cae7215e5ab1e201bd2eed1032c5a97866ba582a3458a4\niv = f1be3b06b7feac07e7eab629f556047b\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 90be3606de58bd778fa5beff4a4102bd\nflags = ConstructedIv\n\n# tcId = 123\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d8d23434de2cd07733be49d62ac1ae085\niv = de9eb63b1daed321a11b7547cc9e223c\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 6e4d6396125a10df5443bd0cbc8566d1\nflags = ConstructedIv\n\n# tcId = 124\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 2a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d\niv = 40bb0abebc483ff6d5671241ff5d66c6\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = dc481f172545268eff63ab0490403dc3\nflags = ConstructedIv\n\n# tcId = 125\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 96d36b795f8e7edf6a8e0dbcd20d6c072a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d\niv = 20d5cf305e630a8f49e3bb4bab18abc9\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8a3a22bf2592958b930292aa47f590e8\nflags = ConstructedIv\n\n# tcId = 126\n# J0:000102030405060708090a0bffffffff\naad = \nct = cfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f41303c46d5c7bf9ca4c2c45a8f1e6656\niv = 255358a71a0e5731f6dd6ce28e158ae6\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 2db9dc1b7fd315df1c95432432fcf474\nflags = ConstructedIv\n\n# tcId = 127\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 69a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f\niv = bb76e422bbe8bbe682a10be4bdd6ce1c\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 82ad967f7ac19084354f69a751443fb2\nflags = ConstructedIv\n\n# tcId = 128\n# J0:000102030405060708090a0bfffffffd\naad = \nct = 4e4417a83beac1eb7e24456a05f6ba5569a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0\niv = db1821ac59c38e9f1e25a2eee9930313\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 472d5dd582dc05ef5fc496b612023cb2\nflags = ConstructedIv\n\n# tcId = 129\n# J0:000102030405060708090a0b7fffffff\naad = \nct = 6f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3d20062009848044eef8f31f7d2fead05\niv = f7a02ecca03064b2ef3cce9feab79f07\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = caff723826df150934aee3201ba175e7\nflags = ConstructedIv\n\n# tcId = 130\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = af193090ce3d43a388a1d294a09616906f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3\niv = 6985924901d688659b40a999d974dbfd\nkey = 00112233445566778899aabbccddeeff1021324354657687", + "\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 3b08958be1286c2b4acba02b3674adb2\nflags = ConstructedIv\n\n# tcId = 131\n# J0:000102030405060708090a0bffff7fff\naad = \nct = 5deccf838b2cf5f869c90d2a611160b1e578ab8121b93735cba4a1930647b8c4c84bf776333ee45a\niv = 3f1188546c65ed0fc55e75032c68ee44\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = c14d52208f0f51b816a48971eaf8ff7e\nflags = ConstructedIv\n\n# tcId = 132\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = d2cae1684aa407a13a2e2da5357e29f55deccf838b2cf5f869c90d2a611160b1e578ab8121b93735\niv = a13434d1cd8301d8b12212051fabaabe\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ea2d018099cd7925c507cef0ceddb0ae\nflags = ConstructedIv\n\n# tcId = 133\n# special case\naad = \nct = 541b835dc828d541073f7d7d7504ebf5\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 5c7d3f81d4b5055ed6f8db53614587a4\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 134\n# special case\naad = \nct = a3f36154331c196624564bc395e49c3b\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 6a347ad1190e72ede611044e7475f0eb\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 135\naad = \nct = \niv = bc28433953772d57bbd933100cd47a56\nkey = fae2a14197c7d1140061fe7c3d11d9f77c79562e3593a99b\nmsg = \nresult = valid\ntag = 1bb94331f26cad24036cfeff34b89aaf\n\n# tcId = 136\naad = \nct = dc\niv = 1e8259e0a43e571068f701cd2064fc0c\nkey = cee9abbc26b63e169f0ced621fe21d95904e75b881d93e6b\nmsg = 46\nresult = valid\ntag = af1f5535b125b34fc466902ea40cb3a2\n\n# tcId = 137\naad = \nct = 2aab5c87dcb4a4dae4e975ddb65aab\niv = c84442d6975f0359737de0fa828f958e\nkey = 189f0bd390ba40632586a45c39735c2b87113329c800f394\nmsg = b4bcd7b8eeca3050dd17682c6a914e\nresult = valid\ntag = 6b03b7557c7131e2352e495d54e61aef\n\n# tcId = 138\naad = \nct = d127fd2e67c0887d90eb92b91f357d97\niv = 13cd526ec77b58f62d48d03f8b88f2b8\nkey = b0724f15df5b792c2f49bc51df0ac5aad69be0030981613c\nmsg = 8da3ab9c3d195b04df452ad23953da4d\nresult = valid\ntag = eb05bda937faeed27f8833295d4ba559\n\n# tcId = 139\naad = \nct = 344c2cea17b06cb3da272e22a22a3a71ee0eaa1959a7facfff464660ddccedd1\niv = 1d3d62eccd8ac5e896f2654a7f606fc9\nkey = 998750ba784841e40a7c5b03985732b6397e5459a3843954\nmsg = 2f60ca3494a958dc3e6ebeb5d0b4e6dda0d0c4331ab9c957f6422a5100878ebf\nresult = valid\ntag = bab7fbf499ff06aad5f757b1c1a4fcc0\n\n[ivSize = 96]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 140\n# special case\naad = \nct = 3f875c9bd7d8511448459468e398c3b2\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 0b4dbbba8982e0f649f8ba85f3aa061b\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 141\n# special case\naad = \nct = 210dabea4364c6d5b3429e7743322936\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 1ae93688ef7e2650a9342ad4718b2780\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 142\naad = \nct = \niv = ff0ddb0a0d7b36d219da12b5\nkey = 5019eb9fef82e5750b631758f0213e3e5fcca12748b40eb4\nmsg = \nresult = valid\ntag = 7971284e6c9e6aac346fe2b7a0a064c2\n\n# tcId = 143\naad = \nct = fe\niv = 34047bc39b9c608384dff5b8\nkey = 21218af790428f8024d3e7e1428c9fcf578c216636d60e73\nmsg = e3\nresult = valid\ntag = 2e982e24b81cd120d35a70fe6935e665\n\n# tcId = 144\naad = \nct = 99f2ff1c8a44e5f2\niv = 4ebc13cf4636cc7c45e560a7\nkey = 3a8bf543c480925632118245bcbf5d01522b987a31a33da3\nmsg = 53fc72e71b59eeb3\nresult = valid\ntag = 6870f104ddc514477b400336fb01860e\n\n# tcId = 145\naad = \nct = afe8ef41591bfcc00db3c880ceb186\niv = 6e7ff7f0797685cfc44b05ff\nkey = 92f4d2672fceec43963ccffb17e6ea7578b11418b06a3b82\nmsg = c3ec16adb184affa8ae9738bffb916\nresult = valid\ntag = 29fff7f285768645c9c8bf7a471c9393\n\n# tcId = 146\naad = \nct = 90339dca02ef717f1603994aee6cf6d2\niv = be0326d23bdc2c64648d13f4\nkey = bcb6bc5ee6743df1396a34639327b25809ec9c81dd6a0c0e\nmsg = 80474a3a3b809560eee2ce7a7a33ea07\nresult = valid\ntag = e3d33e01ce64f271783147de226228bc\n\n# tcId = 147\naad = \nct = b98ed6321679941a3e521834296686ad98\niv = b6be6cd0681235d826aa28ea\nkey = 5e1d28213e092536525bbae09e214af4c891e202b2b4fa4f\nmsg = 53d59433a7db7f41b31ccb6d4a2d789965\nresult = valid\ntag = 9f50c03e055e519712c582ec9db3235b\n\n# tcId = 148\naad = \nct = addd303651119e52f6170dfc7a915064253d57532987b9ab\niv = b022067048505b20946216ef\nkey = 7f672d85e151aa490bc0eec8f66b5e5bee74af11642be3ff\nmsg = ef6412c72b03c643fa02565a0ae2378a9311c11a84065f80\nresult = valid\ntag = fa0484f8baa95f5b7a31c56d1b34c58b\n\n# tcId = 149\naad = cb\nct = 0d2c3a3c0cc4b40e70ed45e188e356a0e1533b31\niv = 817fe51c31f2879141a34335\nkey = 969fed5068541d65418c2c1de8fe1f845e036030496e1272\nmsg = 3d8233191a2823bf767e99167b1d4af4f4848458\nresult = valid\ntag = 92909a80e90540e1878ab59ef300072b\n\n# tcId = 150\naad = 2ed8487153e21b12\nct = c7c1cbb85ce2a0a3f32cb9ef01ad45ec1118b66d\niv = 62b9cf1e923bc1138d05d205\nkey = fa5b9b41f93f8b682c04ba816c3fecc24eec095b04dd7497\nmsg = 18159841813a69fc0f8f4229e1678da7c9016711\nresult = valid\ntag = 253317f98bdab87531ece20475cd9ebb\n\n# tcId = 151\naad = 74318d8876528243f1944b73eb77e96e\nct = ecf5e403f19c007c8da7a456caf0a6d75762829b\niv = 3f1a1e02e90a4ba7a1db9df2\nkey = fbfb395662787e2d25a2e7510f818e825936a35114e237c9\nmsg = 2952a3d64107d5cbb9602239d05a5c5c222cf72b\nresult = valid\ntag = e0877a100f9dd9d6795f0e74c56a9fab\n\n# tcId = 152\naad = 5ca354a4cb8e4fc9798aa209ad4f739dc7c232fdd1f22584\nct = 94d844d98b9467daa7e8dde7f4290037354d7fb2\niv = 0802ae86c75a73bf79561521\nkey = 5d8e9c2222316c9ed5ff94513cc957436ae447a6e1a73a29\nmsg = 42b4439e1d2116f834b91c516a26299df279956b\nresult = valid\ntag = 62196638590cef429d6b1d1a59839c02\n\n# tcId = 153\naad = \nct = e9915bc5aea63c8bc014f2ae6a4986b03115ff1f34ad6c0acd74ffca07c453ec3f3ce6902d5ff338c588a34a1c3b30ef753ec7001572cbfeafe690fd00f59b02\niv = 9189a71ac359b73c8c08df22\nkey = ccbd0f509825a5f358a14aac044ae2826bb2c9eaaaaa077f\nmsg = a1ed1007b52e36ec0f70109c68da72ee7b675c855e3e4956d2dcf9d12f675d6933f677ddcc58face857699d2e3d90adcb8c6c57c9d88b5dfcf356de4c0b63f0e\nresult = valid\ntag = fbf19b6b90e2d9df7ead0c3bc6e375a2\n\n# tcId = 154\naad = \nct = 9663e6f98b2768448e6dd0dd780e145668af5b002257e353213868c9cd9fd3a1e9427530327541775a093123076d34985db3aa248cd55e532609d1a39274c49216ea20fbab719b9c7e310b27877b9a33d1b69ab747afac944d1e97ea789367821c331f00b5d618402bfc57884d18edbd60c4dfe218c08080b8e3479ff84bdfb5\niv = 98e9153daca2522e3162cb15\nkey = d045c6eb173f440843faec3e9374602a94ee3f7176312208\nmsg = 3f0b30dc963a82d182c035b5a823060f07c4123792e6cee6bf91fea3c52fa66bb6a93ea6cce9f4813eb95bf18f816c00ad4fb56932827a39efb2fe56804e604a606774ee92ad46cd8c172a0d2bdea2fc99f67cd82c6024c315cfee6dbb8d27f745c9d0ce9bf5d09724f4bed003cf39478348b3304baa4ecc9974fc4f3ff93f95\nresult = valid\ntag = fc2ff62a41bdb79afc369842e4eccabf\n\n# tcId = 155\naad = \nct = 167183661675677625bed2d5f55f728dab80d7f06f629d99e58b45069fe9d7428e8961561b11245c709ac9ebb5c59ac2a89d8375d8a01d849c7733a1b482529927e3f1a1a53f63a4be08a11c941c634cd40373c42ffb2449c641bc9e39eafbcf9c0fba677e36496f73fc70aa0972224901ab04b0a196ab745262021b2313a8464187fecec43adb406258bddcd8c9d04dc2ae29e65d54a89dd0f1752d6d950dbf7da4dea0a7b9465579503fc8ec4451f4b39878ac4754a1aaf7b0b73fee11213cb8e601fc6039393f72e0e079ee97ecc610241757da2db2f51d5ed121481540eff47287744dac43375c4f48a46af70190453a17c3c78d735ba1d1fc76a330e6cbed\niv = 9e35d3ef1897c5fe3f647204\nkey = e602188abf6a91f3e258838cea6befeffcf6257a509c3e95\nmsg = 3b9a6edc44848c072341fd4af51ec116ac328f69cc5a3354e49299fb2e5d22fa0084e30b36ecaf54309397b2b498d686087f3457698c3639e73ca18c78c3e021d673986cfc2ceb4d07e66971e976f58f0336f82c7fc0d52d66610f26ca3bfe53c0b01cf7c207306db904c1ad300ab95c56fde820a8edd256f2b9906b312bf7af5ef4a806f618ddfcb67179b03fff80a245c38d8f4cff2875b71a0bf69129caf97121462e0501ec6574ede94706f4a04d2fb301d415c22ea12157d2e919bc7a0169a5ad5c7bb5761a8531abbe77d66a4871b3f27a7170f099044b9fdc50a8cb3b894252a501cc896ac4793bdb478bb1cb99c02341d7238dd8d593cfda02f7d520d7\nresult = valid\ntag = c72035314f43d256f8d845eb696bd943\n\n# tcId = 156\naad = df737cd77d31eb", + "9097a17c31b4c92889ef1f32b7464e2620e9007192ea675b9ad6910527ffecee2452be0248fab75608c7fdca08e86580322aac1d6a11b96ecf\nct = 3f57ec1b414f74818fead9f35aa1679402c3e750\niv = dba233ccbc7992e64e82cfa3\nkey = 55a4ca526443357ac7c896d9a67cf7d467f6921d69002d3a\nmsg = 4e56d1ea538cf49cad49959e884eb540c846556c\nresult = valid\ntag = 97b89b291419e32cf654ea630a3ad014\n\n# tcId = 157\naad = 7739aad7399d9c0f0a3c95b403888f0072d94acb76ff576e05f4a063120b84e722b4d5cd43a58e4abab444cb8ced112f3dbd8993b831c39b4edb76e92eb33ee24c5922b56552685f3b0f4cf22e0e11628f6a3d33eff9def7ec527112dfafcf122814e3d1aaf66c3f970526511088bffef8101d1cef833268ff80387df30557f7\nct = 5565c6d09c4c924d61c0ef808fb0ea144ffb4738\niv = 10aaec0de4ad75376be9fd41\nkey = f381d0ffd3373a1aa02edd1d7fa748e91908fe534bef73d2\nmsg = 653a3f033c2775e08fef73cf80f5e2699fb360cb\nresult = valid\ntag = 12b72ec1d9c32fb22c13c40b33796fa9\n\n# tcId = 158\naad = 58fd02ac23ec7fa5b9460f60bfc85b4bebba70039a8f83261d6cc4f560107c10bc69548a5d6152882fb465fd59fb8164d7c94523c3dd4206d33064f5191bd31f0c48fe03d7460e995c93175b57cb03f58711adc94632031c4305272367b4289c725d9cb7ae9ba996b3a079174508c1eae8162a0bac446c1e53fe0c402b6912dfd6702addccada30a5c010fc22c2c75e43226378ec7f4b3b71ccc71f32ab1adc877cc7b0a180c75d385c0f71a0b291a1cccf4be47e272249d61ffbf059c4f7be74eba07d5e1be3a7438458a611fe58cee4f946e25dee03e6485235566f20ed555be32cd57a94e522d2168eae23c4587371a2d145f418c59e7bbc464a3bd88b8919b\nct = c6877b03552e97d9a1e6557f90dc7adde15a2f43\niv = 12444040caede67285e490d7\nkey = 8f27b1c3b3d7023c76ee66c768a3e92d4971e25f729d8788\nmsg = 0df6e750092b9ac576dde66006a4cab2116eee21\nresult = valid\ntag = 2536272bee7446820041854e10b49a03\n\n# tcId = 159\n# Flipped bit 0 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 160\n# Flipped bit 1 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b6e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 161\n# Flipped bit 7 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 34e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 162\n# Flipped bit 8 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e54c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 163\n# Flipped bit 31 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44cdb2fe90e4c78f358da0d99cb64\n\n# tcId = 164\n# Flipped bit 32 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2ee90e4c78f358da0d99cb64\n\n# tcId = 165\n# Flipped bit 33 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2de90e4c78f358da0d99cb64\n\n# tcId = 166\n# Flipped bit 63 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90ecc78f358da0d99cb64\n\n# tcId = 167\n# Flipped bit 64 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c79f358da0d99cb64\n\n# tcId = 168\n# Flipped bit 71 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4cf8f358da0d99cb64\n\n# tcId = 169\n# Flipped bit 77 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78d358da0d99cb64\n\n# tcId = 170\n# Flipped bit 80 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f359da0d99cb64\n\n# tcId = 171\n# Flipped bit 96 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0c99cb64\n\n# tcId = 172\n# Flipped bit 97 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0f99cb64\n\n# tcId = 173\n# Flipped bit 103 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da8d99cb64\n\n# tcId = 174\n# Flipped bit 120 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb65\n\n# tcId = 175\n# Flipped bit 121 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb66\n\n# tcId = 176\n# Flipped bit 126 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb24\n\n# tcId = 177\n# Flipped bit 127 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cbe4\n\n# tcId = 178\n# Flipped bits 0 and 64 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e44c5b2fe90e4c79f358da0d99cb64\n\n# tcId = 179\n# Flipped bits 31 and 63 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44cdb2fe90ecc78f358da0d99cb64\n\n# tcId = 180\n# Flipped bits 63 and 127 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90ecc78f358da0d99cbe4\n\n# tcId = 181\n# all bits of tag flipped\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 4b1bb3a4d016f1b3870ca725f266349b\n\n# tcId = 182\n# Tag changed to all zero\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 183\n# tag changed to all 1\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag =", + " ffffffffffffffffffffffffffffffff\n\n# tcId = 184\n# msbs changed in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 3464ccdbaf698eccf873d85a8d194be4\n\n# tcId = 185\n# lsbs changed in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e54d5a2ee80f4d79f259db0c98ca65\n\n[ivSize = 128]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 186\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = 28e1c5232f4ee8161dbe4c036309e0b3254e9212bef0a93431ce5e5604c8f6a73c18a3183018b770\niv = 5c2ea9b695fcf6e264b96074d6bfa572\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = d5808a1bd11a01129bf3c6919aff2339\nflags = ConstructedIv\n\n# tcId = 187\n# J0:00000000000000000000000000000000\naad = \nct = cceebeb4fe4cd90c514e52d2327a2ecd75393661006cf2476d8620149aef3d1cdce491fff3e7a7a3\niv = 57b3a81f2c36b6b06577ca0fbab8fa8e\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8132e865b69d64ef37db261f80cbbe24\nflags = ConstructedIv\n\n# tcId = 188\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 4f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e2af7bfe1a8aadaa0baa3de38a41d9713\niv = ce20a7e870696a5e68533c465bad2ba1\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 155da6441ec071ef2d8e6cffbacc1c7c\nflags = ConstructedIv\n\n# tcId = 189\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 8316a53167b6de1a7575700693ffef274f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e\niv = 918e3c19dbdfee2db18156c5b93f3d75\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 6c574aa6a2490cc3b2f2f8f0ffbc56c4\nflags = ConstructedIv\n\n# tcId = 190\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 5175927513e751eb309f45bc2ef225f28316a53167b6de1a7575700693ffef274f4350565d91d9aa\niv = 717d900b270462b9dbf7e9419e890609\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8082a761e1d755344bf29622144e7d39\nflags = ConstructedIv\n\n# tcId = 191\n# J0:000102030405060708090a0bffffffff\naad = \nct = 36b3fbecd09178d04527fb37544f5579d20d60a41266f685c48098e1a52804ca387d90709d3268dd\niv = ecd52120af240e9b4bf3b9d1eeb49434\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 033e0ef2953ebfd8425737c7d393f89a\nflags = ConstructedIv\n\n# tcId = 192\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 16929b773051f12b0adac95f65e21a7f36b3fbecd09178d04527fb37544f5579d20d60a41266f685\niv = b37bbad104928ae89221d3520c2682e0\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ca448bb7e52e897eca234ef343d057d0\nflags = ConstructedIv\n\n# tcId = 193\n# J0:000102030405060708090a0bfffffffd\naad = \nct = 6d3faefaf691d58163846f8d4b9ffd5916929b773051f12b0adac95f65e21a7f36b3fbecd09178d0\niv = 538816c3f849067cf8576cd62b90b99c\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 84f49740e6757f63dd0df7cb7656d0ef\nflags = ConstructedIv\n\n# tcId = 194\n# J0:000102030405060708090a0b7fffffff\naad = \nct = d60196c2d14fcf30c0991d2721ddc52d385f407a16691dade82c9023c855fd8e2e8fbb562102f018\niv = d10e631943cd3bdababab2bbd13951c0\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 877e15d9889e69a99fcc6d727465c391\nflags = ConstructedIv\n\n# tcId = 195\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = 948fbceca12a6e4fabb79b6d965e336fd60196c2d14fcf30c0991d2721ddc52d385f407a16691dad\niv = 8ea0f8e8e87bbfa96368d83833ab4714\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = cd5757626945976ba9f0264bd6bee894\nflags = ConstructedIv\n\n# tcId = 196\n# J0:000102030405060708090a0bffff7fff\naad = \nct = a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d8857d84e6e183a1dea6ee85a7da84fbc35d\niv = 7b2df4fbed1de2727eb24898e5deabb9\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = b015d72da62c81cb4d267253b20db9e5\nflags = ConstructedIv\n\n# tcId = 197\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = 5e3434b45edbf0d1f6e02d1144dbf867a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d885\niv = 24836f0a46ab6601a760221b074cbd6d\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ee74ccb30d649ebf6916d05a7dbe5696\nflags = ConstructedIv\n\n# tcId = 198\n# special case\naad = \nct = 265c42e2b96ea1de9c24f7182e337390\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 8d74f1c97243d362577ff376c393d2dc\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 199\n# special case\naad = \nct = 988f47668ea650cbaa6714711abe268d\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 884df0e76f3ce227bf9595d103825a46\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 200\naad = \nct = \niv = 00c49f4ebb07393f07ebc3825f7b0830\nkey = b4cd11db0b3e0b9b34eafd9fe027746976379155e76116afde1b96d21298e34f\nmsg = \nresult = valid\ntag = 306fe8c9645cc849823e333a685b90b2\n\n# tcId = 201\naad = \nct = 3f\niv = 0ad570d8863918fe89124e09d125a271\nkey = b7797eb0c1a6089ad5452d81fdb14828c040ddc4589c32b565aad8cb4de3e4a0\nmsg = ed\nresult = valid\ntag = fd8f593b83314e33c5a72efbeb7095e8\n\n# tcId = 202\naad = \nct = 041341078f0439e50b43c991635117\niv = 2a55caa137c5b0b66cf3809eb8f730c4\nkey = 4c010d9561c7234c308c01cea3040c925a9f324dc958ff904ae39b37e60e1e03\nmsg = 2a093c9ed72b8ff4994201e9f9e010\nresult = valid\ntag = 5b8a2f2da20ef657c903da88ef5f57bb\n\n# tcId = 203\naad = \nct = 469478d448f7e97d755541aa09ad95b0\niv = 7ee376910f08f497aa6c3aa7113697fd\nkey = e7f7a48df99edd92b81f508618aa96526b279debd9ddb292d385ddbae80b2259\nmsg = 5e51dbbb861b5ec60751c0996e00527f\nresult = valid\ntag = 254ada5cf662d90c5e11b2bd9c4db4c4\n\n# tcId = 204\naad = \nct = cb960201fa5ad41d41d1c2c8037c71d52b72e76b16b589d71b976627c9734c9d\niv = 5d1bde6fa0994b33efd8f23f531248a7\nkey = 4f84782bfbb64a973c3de3dcfa3430367fd68bc0b4c3b31e5d7c8141ba3e6a67\nmsg = 78cb6650a1908a842101ea85804fed00cc56fbdafafba0ef4d1ca607dcae57b6\nresult = valid\ntag = 8dfce16467c3a6ebb3e7242c9a551962\n\n[ivSize = 120]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 205\n# unusual IV size\naad = \nct = 2bc3ef8e7402b4631f48e9be\niv = b0a73119a97d623806b49d45ddf4c7\nkey = 34c74e28182948e03af02a01f46eb4f7\nmsg = fe82ba66cf2e265741f2c86c\nresult = valid\ntag = 4b6f6f5be291a90b9e93a8a82ddbc8d8\n\n[ivSize = 160]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 206\n# unusual IV size\naad = \nct = 4fe13ef29f118f85a63188f8\niv = e22b6b144ab26b5781316e7a42a76202ac4b2278\nkey = 55cb7cac77efe18a1ea3b30c65f3f346\nmsg = 2f3d11ea32bf5bc72cbe2b8d\nresult = valid\ntag = 05975b175316df8045889f43e0c857e0\n\n[ivSize = 120]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 207\n# unusual IV size\naad = \nct = 9af1a022c61c4315aa0e923e\niv = edf93e16294f15eded83808f09320e\nkey = 66f75acbd8d3acf7af47d13e8384c2809d6b91503a7f294b\nmsg = a900c86b6b7e0", + "e5563f8f826\nresult = valid\ntag = 20529bff3c59222ec33353af337b1d40\n\n[ivSize = 160]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 208\n# unusual IV size\naad = \nct = 073a5291b11df379f31b4f16\niv = 130c14c839e35b7d56b3350b194b0da342e6b65d\nkey = ef2e299dd4ecd7e3b9cc62780922cc2c89f78840564d1276\nmsg = 03f59579b14437199583270e\nresult = valid\ntag = 17205999491bd4c1d6c7ec3e56779c32\n\n[ivSize = 120]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 209\n# unusual IV size\naad = \nct = fc213602aa423b87d7c2a874\niv = 17ca250fb733877556263223eadde1\nkey = e98b0669a645eb14cd06df6968fc5f10edc9f54feed264e3d410cdc61b72ef51\nmsg = f384b3ed7b274641f5db60cf\nresult = valid\ntag = 36b15bab6923b17218fe1c24048e2391\n\n[ivSize = 160]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 210\n# unusual IV size\naad = \nct = c1d76233e8c5042e92bf8d32\niv = 0f9d6ed7eef362dfa4a7dfa5c0f74c5b27bd4ebf\nkey = 849b3e6b8cdd85bdcfb8eb701aa5522ae2340fbe5214e389622cef76979225c4\nmsg = 8c5564e53051c0de273199b4\nresult = valid\ntag = 7cf036d235d3b2dd349a8c804b65144a\n\n[ivSize = 256]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 211\n# long IV size\naad = \nct = 5348af57fafe2485b43f2bc4\niv = 365e0b96932b13306f92e9bb23847165bcbf5d35e45a83d75c86ecca70131f4c\nkey = 5927bae748bb69d81b5a724e0a165652\nmsg = 316bf99bfafc76f1bfc0b03c\nresult = valid\ntag = 019a96c5373c031626b6c0300d4cf78b\n\n[ivSize = 512]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 212\n# long IV size\naad = \nct = f559b70fe1149cb34406a2c7\niv = 967fa7c990eb2becbd450835e28ea3a9000c7216285cfa7696e8c3dac3ce952a1fe638d7c8c73e1d708dce01b5a20fcc9aa011949d2a835f777423c172fa3aa0\nkey = dbd3676f293409273f27b375e03793a3\nmsg = 625efedb8b7f1aa62238a8f2\nresult = valid\ntag = 94180ddb7bb1995abe0219eab5ce232f\n\n[ivSize = 1024]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 213\n# long IV size\naad = \nct = 5291dd4da91ccc2e77306d83\niv = 494356c3459d60e3a83433c9bcf2c0454a763e496e4ec99bfbe4bbb83a4fda76b542213899dcf5521cd9bbbe5d11545bda44a3f4a681ce2843acea730d83d3930ea30991ee1a68ebf6d1a5a40f9b02a1aab091298df8dd689dc7613bcbff94d35f2ca43377d81618562bcf6573411ec9bc97c5a6276b554054c0fa787073d067\nkey = 7e5a39dcda7e066988f19adf4de4d501\nmsg = b04729b4adbaac63c2aaf8d8\nresult = valid\ntag = a7f7b21a3b7ece509e922647fd905f06\n\n[ivSize = 2056]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 214\n# long IV size\naad = \nct = e3be947153a26a3a54e3015c\niv = 6fd260bba87339539c37dc68fdc3656f63c83028cb8adcb531085e98bd570c6b735d0cc4b4b924696000a2d893621ae64dcce992b562b89a5285643a08febccbc52243cbfc8d45212e047b00c87c6b6bf175f8bb678ec55c1091315cbecb8b85700f4a4653623fb78e63cfff7d6235e48e9832c9f0716d10992fc5b0ad4e6972bbeeb1ad670cd7ec8fac82e07ea5a64f9761a39714aaa73affd2cb190a7ac2df5e5dcea6812ae2c872c7ac70453c5e7ec4d0b5b18c6ff3bfb9ae15fea44cf392615b80034edae596b8821f97fca58d167fb44a093b0c009a0bd5631355b0cb25d93ba9b79b006301d99db657e801933fc2764a0ce650eaf5a1299efe60cb53b634\nkey = eac3f28cd937ff29eb6158a3721b5145\nmsg = 098912a302773377b9c26ac3\nresult = valid\ntag = fd042bdde22f67c4fd298d5dc0867606\n\n[ivSize = 256]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 215\n# long IV size\naad = \nct = 8c2a9823a3b3d413be696387\niv = 36e4b381574d171c7769a788cbc147224fabd8b773f16b8ae84d8f2603aaa440\nkey = 8f9ebc67a9a6430c2b0ceeaf983e1356964bb928635b9ca4\nmsg = a3a96ee94f94caa81ebcd66d\nresult = valid\ntag = faaf01ceb40a7e145e8fe65aa9af58c0\n\n[ivSize = 512]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 216\n# long IV size\naad = \nct = a660ea5bf07a78fea0120173\niv = 90743bd5d794d52ac848b7e2384545a25846acf143be84c0ead0432fcf3172631cf58d0ca78571c03053c1e1b85ed79cb5303d0e3a98ff4f56c4f0a5eb4f0eac\nkey = f4bbdfd06f7fb1434880e4166d38d56e02a3f0df0d5301ce\nmsg = 39d2abe6697f17ec27f2a39c\nresult = valid\ntag = 7404fc7b7354694428236f203c130244\n\n[ivSize = 1024]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 217\n# long IV size\naad = \nct = f400132ff38c04ed747dde34\niv = fbb3eab379c9b8689dc30b0713690e55d51c956ca36fbcc73eeeee16a46d7c41a7a9626e68e25d685c008c19d3b2b1792bdc99c35441a6fcac35e0d6446dd914f543abd9ecd6b0cb5201c243026c4f13641d67c8d8cd5114b6e11ebbc6b1dee2a18db2150a5a575dcd21648e0337dadbccd3deffd6d979e03e6b9ddfee0abdc2\nkey = 1761c77798ef9cdfa40553f34614fe7402212087f0509411\nmsg = 35ca4eb463a2000138210b4d\nresult = valid\ntag = ca1534e7dd0336bbb32a79830c71a447\n\n[ivSize = 2056]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 218\n# long IV size\naad = \nct = 13a95a06c1bed4845af9c701\niv = 3569fca7c9d06e2a03fed1aac2484fd4416ca07d55ecbb333ec674f0ea5c6e75a10dfb9c738b69dab2eda10ada721a61c7f02b7e7f79e8a9e2dc36b3fdf609e436054c82a774ec617dceec84a577037ff1a3f120d9818d042063acb36c9584e81ec94f11f1ee240f2e45e944694a9c8e535acbb01d93958411cff68e3d32f8931746a4a0cece65e93c51c70b3111034b6867b407e0147f97c576d3ed8cec7e8ec26e95643e46e97ea3595c9c3172b4856f2d2b6dc8564666ddac92c794ffb2d4dc7f461761f0e326650f48d327604e095bd8754072116c96360d09f010ac2f39eb96b227f3d738deb756c8699460d88cf716170ae15267b14f4a89164720f1c602\nkey = f795ece7de1881fbc6843eb740f812e41e3fc49ff6c7b940\nmsg = 22dbd8037aa05b14cf81dd23\nresult = valid\ntag = 03379836b0c82f64a1bccdcd763acbbc\n\n[ivSize = 256]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 219\n# long IV size\naad = \nct = a295c2cb27ce23d26874ade1\niv = e826a79361f9d582b64450e3edc82589487853d5b22feaa0c889875bd0d87cd4\nkey = ee4171917d2337496812a2784d6a71300e6b8c1ac3b1ef58cee77c229aeaf2c5\nmsg = 94d2f8697facaaa191ba617a\nresult = valid\ntag = 04650a78bbb61db337c9c32aa3e7b6fa\n\n[ivSize = 512]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 220\n# long IV size\naad = \nct = 9cdcfc3aaa8d466f25588e4b\niv = ec51ee18cfb46897d3666c7df35c29ca5d898241c4a34f893eb1db5d5c6b76e24617459d1153868154437a0e95aa3c26e956b494a52dd5ac3b9331116c7c775f\nkey = 132c59b4bcb8afb31637734a81105bb2c9878f320ace9076d5fd7c5d216c8d12\nmsg = 12c7be00facda49596e19134\nresult = valid\ntag = 7e80f51e7180f1cd3ba84349888fcd5c\n\n[ivSize = 1024]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 221\n# long IV size\naad = \nct = 3f3c151e984d059462f9e5a0\niv = 7d08b226b4a5d03f6f8cb3a3cb8d1ce31b059dc5112385275e38a15c97e0f24022b249a5f7019ea577198cb26ac64e82b2b04681537c4198775a523b0e6494b84febaef3399b35c27b0969fa43572bf5827a763aac1af69526f37e38acb5d354f2b68487f275f4361ed39073f7dd6653ac17c0794118a0cf143293ac0be66229\nkey = 7b0b12491901d62d097fa26dc71e15cfacafa3226719e47126d99c79d98ec222\nmsg = c80312590700c3bbfacd1a40\nresult = valid\ntag = e559f5f755aa292171cc35fbf911a64f\n\n[ivSize = 2056]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 222\n# long IV size\naad = \nct = 5496ae94c3322ebf959ea9a9\niv = 92c2cee7e9138b186da51f146fb21fd5b491f1a19eef61d4ed14ce6b21b04fdb6ff8ebb60fddc55926e7bda2a8f35c610bb795232412739d6c2d74458ef5a1a1cde9bf17e47e3b00db0b0504d56dc8b8d3de23f7c3a5d52e8d0aab1e64405aaa852ec2dd667ed9c1fd8dc1fdbbc8712c7a38f30faeab594f33897b41b1720f3c2f954ed91ca450d82c3dcd35858c608ad42f36832e56b04821a132f72e0da7b62cbd3925250f64fbb3f5c4783495893097adc09a32d776e04bf72558d37830b372341f6536d8ee9df4a82e4074e7774ab6917a04fa8c499eb4b46a92def365da8b5eb1e0b438779507d1f5272a6e8629a3f9c7bd4862c5691ee8b56bfe292deb4e\nkey = 3bc3bf39d0d5ffd94cca2b45c678a2d049151ed2babc713be53cb66f54a16337\nmsg = 8125ee7637d7d0e03bbacf35\nresult = valid\ntag = 70717cc00fd1ffa59bb04329226a0c0a\n\n[ivSize = 0]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 223\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 8f3f52e3c75c58f5cb261f518f4ad30a\nmsg = \nresult = invalid\ntag = cf71978ffcc778f3c85ac9c31b6fe191\nflags = ZeroLengthIv\n\n# tcId = 224\n# 0 size IV is not valid\naad = \nct = 00a29f0a5e2e7490279d1faf8b881c7b\niv = \nkey = 2a4bf90e56b70fdd8649d775c089de3b\nmsg = 324ced6cd15ecc5b3741541e22c18ad9\nresult = invalid\ntag = a2c7e8d7a19b884f742dfec3e76c75ee\nflags = ZeroLengthIv\n\n[ivSize = 0]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 225\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 0b18d21337035c7baa08211b702fa780ac7c09be8f9ed11f\nmsg = \nresult = invalid\ntag = ca69a2eb3a096ea36b1015d5dffff532\nflags = ZeroLengthIv\n\n# tcId = 226\n# 0 size IV is not valid\naad = \nct = 509b0658d09f7a5bb9db43b70c8387f7\niv = \nkey = ba76d594a6df915bb7ab7e6d1a8d024b2796336c1b8328a9\nmsg = d62f302742d61d823ea991b93430d589\nresult = invalid\ntag = 2c9488d53a0b2b5308c2757dfac7219f\nflags = ZeroLengthIv\n\n[ivSize = 0]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 227\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 3f8ca47b9a940582644e8ecf9c2d44e8138377a8379c5c11aafe7fec19856cf1\nmsg = \nresult = invalid\ntag = 17", + "26aa695fbaa21a1db88455c670a4b0\nflags = ZeroLengthIv\n\n# tcId = 228\n# 0 size IV is not valid\naad = \nct = 7772ea358901f571d3d35c19497639d9\niv = \nkey = 7660d10966c6503903a552dde2a809ede9da490e5e5cc3e349da999671809883\nmsg = c314235341debfafa1526bb61044a7f1\nresult = invalid\ntag = 8fe0520ad744a11f0ccfd228454363fa\nflags = ZeroLengthIv\n\n[ivSize = 8]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 229\n# small IV sizes\naad = \nct = \niv = 80\nkey = 59a284f50aedd8d3e2a91637d3815579\nmsg = \nresult = acceptable\ntag = af498f701d2470695f6e7c8327a2398b\nflags = SmallIv\n\n# tcId = 230\n# small IV sizes\naad = \nct = 0a24612a9d1cbe967dbfe804bf8440e5\niv = 9d\nkey = fec58aa8cf06bfe05de829f27ec77693\nmsg = f2d99a9f893378e0757d27c2e3a3101b\nresult = acceptable\ntag = 96e6fd2cdc707e3ee0a1c90d34c9c36c\nflags = SmallIv\n\n[ivSize = 16]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 231\n# small IV sizes\naad = \nct = \niv = 0f2f\nkey = 88a972cce9eaf5a7813ce8149d0c1d0e\nmsg = \nresult = acceptable\ntag = 4ccf1efb4da05b4ae4452aea42f5424b\nflags = SmallIv\n\n# tcId = 232\n# small IV sizes\naad = \nct = ba3e7f8b2999995c7fc4006ca4f475ff\niv = 8760\nkey = b43967ee933e4632bd6562ba1201bf83\nmsg = 5a6ad6db70591d1e520b0122f05021a0\nresult = acceptable\ntag = 98f47a5279cebbcac214515710f6cd8a\nflags = SmallIv\n\n[ivSize = 32]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 233\n# small IV sizes\naad = \nct = \niv = cc851957\nkey = 4e9a97d3ed54c7b54610793ab05052e1\nmsg = \nresult = acceptable\ntag = e574b355bda2980e047e584feb1676ca\nflags = SmallIv\n\n# tcId = 234\n# small IV sizes\naad = \nct = 1b84baea9df1e65bee7b49e4a8cda1ec\niv = 7b5faeb2\nkey = d83c1d7a97c43f182409a4aa5609c1b1\nmsg = c8f07ba1d65554a9bd40390c30c5529c\nresult = acceptable\ntag = 5c0bb79d8240041edce0f94bd4bb384f\nflags = SmallIv\n\n[ivSize = 48]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 235\n# small IV sizes\naad = \nct = \niv = 4ad80c2854fb\nkey = c6a705677affb49e276d9511caa46145\nmsg = \nresult = acceptable\ntag = 1e2ed72af590cafb8647d185865f5463\nflags = SmallIv\n\n# tcId = 236\n# small IV sizes\naad = \nct = 18291aa8dc7b07448aa8f71bb8e380bf\niv = d1dafc8de3e3\nkey = eba7699b56cc0aa2f66a2a5be9944413\nmsg = d021e53d9098a2df3d6b903cdad0cd9c\nresult = acceptable\ntag = 9c0e22e5c41b1039ff5661ffaefa8e0f\nflags = SmallIv\n\n[ivSize = 8]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 237\n# small IV sizes\naad = \nct = \niv = cb\nkey = c70ce38e84e5f53ed41c3f0d2ca493412ad32cb04c6e2efa\nmsg = \nresult = acceptable\ntag = 08d96edb5e22874cd10cb2256ca04bc6\nflags = SmallIv\n\n# tcId = 238\n# small IV sizes\naad = \nct = 6c5e796ba9a3ddc64f401e68d135101d\niv = 0f\nkey = 74c816b83dfd287210a3e2c6da8d3053bbfbd9b156d3fdd8\nmsg = f2b7b2c9b312cf2af78f003df15c8e19\nresult = acceptable\ntag = 96a132ed43924e98feb888ff682bdaef\nflags = SmallIv\n\n[ivSize = 16]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 239\n# small IV sizes\naad = \nct = \niv = 75e5\nkey = cbf45ba488932aea1a10e5862f92e4a7e277bda9f34af6d0\nmsg = \nresult = acceptable\ntag = 1f0d23070fcd748e25bf6454f5c9136e\nflags = SmallIv\n\n# tcId = 240\n# small IV sizes\naad = \nct = 550b48a43e821fd76f49f0f1a897aead\niv = 8989\nkey = e1c0446f11ae6aa4fa254f9a846fc6e13e45e537e47f2042\nmsg = 3a2f5ad0eb216e546e0bcaa377b6cbc7\nresult = acceptable\ntag = f6e0a979481f9957ddad0f21a777a73a\nflags = SmallIv\n\n[ivSize = 32]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 241\n# small IV sizes\naad = \nct = \niv = 68d7fc38\nkey = 567563bf4cf154902275a53bc57cd6dd7b370d27011bdac8\nmsg = \nresult = acceptable\ntag = 1475563e3212f3b5e40062569afd71e3\nflags = SmallIv\n\n# tcId = 242\n# small IV sizes\naad = \nct = 309133e76159fe8a41b20843486511ab\niv = bb9d2aa3\nkey = 834d0bb601170865a78139428a1503695a6a291ebd747cd1\nmsg = 6f79e18b4acd5a03d3a5f7e1a8d0f183\nresult = acceptable\ntag = 03ab26993b701910a2e8ecccd2ba9e52\nflags = SmallIv\n\n[ivSize = 48]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 243\n# small IV sizes\naad = \nct = \niv = a984bdcdcae2\nkey = 99fb18f5ba430bb9ea942968ecb799b43406e1af4b6425a1\nmsg = \nresult = acceptable\ntag = d7b9a6b58a97982916e83219fbf71b1e\nflags = SmallIv\n\n# tcId = 244\n# small IV sizes\naad = \nct = e08261e46eaf90d978ea8f7889bccd4f\niv = 52aa01e0d0d6\nkey = b77b242aa0d51c92fda013e0cb0ef2437399ace5d3f507e4\nmsg = 4ba541a9914729216153801340ab1779\nresult = acceptable\ntag = c052a55df3926a50990a532efe3d80ec\nflags = SmallIv\n\n[ivSize = 64]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 245\n# small IV sizes\naad = \nct = \niv = d1c61cf8532531b5\nkey = d74599b3d2db81653de43b52fc994c50d0be759fab87c33a\nmsg = \nresult = acceptable\ntag = f94f2049a6560c470b3a7ca7bbc31a3d\nflags = SmallIv\n\n# tcId = 246\n# small IV sizes\naad = \nct = 3c6ec0ab1b827bf238a5384fb7e212ce\niv = 8f075cbcda9831c3\nkey = 0b177198c8b419bf74acc3bc65b5fb3d09a915ff71add754\nmsg = c4b1e05ca3d591f9543e64de3fc682ac\nresult = acceptable\ntag = 7db7402224fd583e312bc0e61cf11366\nflags = SmallIv\n\n[ivSize = 8]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 247\n# small IV sizes\naad = \nct = \niv = a9\nkey = 8f9a38c1014966e4d9ae736139c5e79b99345874f42d4c7d2c81aa6797c417c0\nmsg = \nresult = acceptable\ntag = 2a268bf3a75fd7b00ba230b904bbb014\nflags = SmallIv\n\n# tcId = 248\n# small IV sizes\naad = \nct = 7bea30ecc2f73f8e121263b37966954c\niv = b3\nkey = 144cd8279229e8bb2de99d24e615306663913fe9177fcd270fafec493d43bca1\nmsg = 976229f5538f9636476d69f0c328e29d\nresult = acceptable\ntag = 8bbad4adc54b37a2b2f0f6e8617548c9\nflags = SmallIv\n\n[ivSize = 16]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 249\n# small IV sizes\naad = \nct = \niv = c332\nkey = 7d31861f9d3536e14016a3216b1042e0d2f7d4614314268b6f834ec7f38bbb65\nmsg = \nresult = acceptable\ntag = 1d978a693120c11f6d51a3ed88cd4ace\nflags = SmallIv\n\n# tcId = 250\n# small IV sizes\naad = \nct = 9c39f5b110361e9a770cc5e8b0f444bb\niv = da6c\nkey = 22b35fe9623ee11f8b60b6d22db3765b666ed972fa7ccd92b45f22deee02cab1\nmsg = 5341c78e4ce5bf8fbc3e077d1990dd5d\nresult = acceptable\ntag = b63ff43c12073ec5572b1be70f17e231\nflags = SmallIv\n\n[ivSize = 32]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 251\n# small IV sizes\naad = \nct = \niv = 6b30145e\nkey = c224e0bba3d7a99165f7996b67a0fce3e12f2c01179b197b69b7e628bca92096\nmsg = \nresult = acceptable\ntag = ae6f7c9a29f0d8204ca50b14a1e0dcf2\nflags = SmallIv\n\n# tcId = 252\n# small IV sizes\naad = \nct = f73f72f976a296ba3ca94bc6eb08cd46\niv = 5110604c\nkey = 093eb12343537ee8e91c1f715b862603f8daf9d4e1d7d67212a9d68e5aac9358\nmsg = 33efb58c91e8c70271870ec00fe2e202\nresult = acceptable\ntag = b824c33c13f289429659aa017c632f71\nflags = SmallIv\n\n[ivSize = 48]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 253\n# small IV sizes\naad = \nct = \niv = d4d857510888\nkey = 98e6f8ab673e804e865e32403a6551bf807a959343c60d34559360bc295ecb5b\nmsg = \nresult = acceptable\ntag = 3db16725fafc828d414ab61c16a6c38f\nflags = SmallIv\n\n# tcId = 254\n# small IV sizes\naad = \nct = ed463f4f43336af3f4d7e08770201145\niv = 1bdcd44b663e\nkey = 0bd0e8e7781166e1d876dec8fad34ba95b032a27cac0551595116091005947b7\nmsg = 91222263b12cf5616a049cbe29ab9b5b\nresult = acceptable\ntag = c8fc39906aca0c64e14a43ff750abd8a\nflags = SmallIv\n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 255\n# small IV sizes\naad = \nct = \niv = 0d10c5c84b88d688\nkey = 61ba694897925d1b4174d40401469c3ef267cdb9f829edb1a10618c16d666059\nmsg = \nresult = acceptable\ntag = 1311f9f830d729c189b74ec4f9080fa1\nflags = SmallIv\n\n# tcId = 256\n# small IV sizes\naad = \nct = 7e0dd6c72aec49f89cc6a80060c0b170\niv = 04102199ef21e1df\nkey = 115884f693b155563e9bfb3b07cacb2f7f7caa9bfe51f89e23feb5a9468bfdd0\nmsg = 82e3e604d2be8fcab74f638d1e70f24c\nresult = acceptable\ntag = af68a37cfefecc4ab99ba50a5353edca\nflags = SmallIv\n\n", }; -static const size_t kLen60 = 65557; +static const size_t kLen93 = 140567; -static const char *kData60[] = { - "# Imported from Wycheproof's chacha20_poly1305_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: CHACHA20-POLY1305\n# Generator version: 0.4.12\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 1\n# rfc7539\naad = 50515253c0c1c2c3c4c5c6c7\nct = d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116\niv = 070000004041424344454647\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e\nresult = valid\ntag = 1ae10b594f09e26a7e902ecbd0600691\n\n# tcId = 2\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 76acb342cf3166a5b63c0c0ea1383c8d\n\n# tcId = 3\naad = bd506764f2d2c410\nct = \niv = a92ef0ac991dd516a3c6f689\nkey = 7a4cd759172e02eb204db2c3f5c746227df584fc1345196391dbb9577a250742\nmsg = \nresult = valid\ntag = 906fa6284b52f87b7359cbaa7563c709\n\n# tcId = 4\naad = \nct = 3a\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = cac27dec0968801e9f6eded69d807522\n\n# tcId = 5\naad = 91ca6c592cbcca53\nct = c4\niv = ab0dca716ee051d2782f4403\nkey = 46f0254965f769d52bdb4a70b443199f8ef207520d1220c55e4b70f0fda620ee\nmsg = 51\nresult = valid\ntag = 168310ca45b1f7c66cad4e99e43f72b9\n\n# tcId = 6\naad = \nct = 4d13\niv = 461af122e9f2e0347e03f2db\nkey = 2f7f7e4f592bb389194989743507bf3ee9cbde1786b6695fe6c025fd9ba4c100\nmsg = 5c60\nresult = valid\ntag = 91e8b61efb39c122195453077b22e5e2\n\n# tcId = 7\naad = 88364fc8060518bf\nct = b60d\niv = 61546ba5f1720590b6040ac6\nkey = c8833dce5ea9f248aa2030eacfe72bffe69a620caf793344e5718fe0d7ab1a58\nmsg = ddf2\nresult = valid\ntag = ead0fd4697ec2e5558237719d02437a2\n\n# tcId = 8\naad = \nct = 5dfe3440dbb3c3\niv = 3c4e654d663fa4596dc55bb7\nkey = 55568158d3a6483f1f7021eab69b703f614251cadc1af5d34a374fdbfc5adac7\nmsg = ab85e9c1571731\nresult = valid\ntag = ed7a434e2602d394281e0afa9fb7aa42\n\n# tcId = 9\naad = 84e46be8c0919053\nct = 4bd47212941ce3\niv = 58389375c69ee398de948396\nkey = e3c09e7fab1aefb516da6a33022a1dd4eb272c80d540c5da52a730f34d840d7f\nmsg = 4ee5cda20d4290\nresult = valid\ntag = 185f1408ee7fbf18f5abad6e2253a1ba\n\n# tcId = 10\naad = \nct = 8e9439a56eeec817\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = fbe8a6ed8fabb1937539dd6c00e90021\n\n# tcId = 11\naad = 66c0ae70076cb14d\nct = b9b910433af052b0\niv = b4ea666ee119563366484a78\nkey = 1131c1418577a054de7a4ac551950f1a053f9ae46e5b75fe4abd5608d7cddadd\nmsg = a4c9c2801b71f7df\nresult = valid\ntag = 4530f51aeee024e0a445a6328fa67a18\n\n# tcId = 12\naad = \nct = ff7dc203b26c467a6b50db33\niv = 9a59fce26df0005e07538656\nkey = 99b62bd5afbe3fb015bde93f0abf483957a1c3eb3ca59cb50b39f7f8a9cc51be\nmsg = 42baae5978feaf5c368d14e0\nresult = valid\ntag = 578c0f2758c2e14e36d4fc106dcb29b4\n\n# tcId = 13\naad = a506e1a5c69093f9\nct = 9f8816de0994e938d9e53f95\niv = 58dbd4ad2c4ad35dd906e9ce\nkey = 85f35b6282cff440bc1020c8136ff27031110fa63ec16f1e825118b006b91257\nmsg = fdc85b94a4b2a6b759b1a0da\nresult = valid\ntag = d086fc6c9d8fa915fd8423a7cf05072f\n\n# tcId = 14\naad = \nct = 0b29638e1fbdd6df53970be2210042\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = 2a9134087d67a46e79178d0a93f5e1d2\n\n# tcId = 15\naad = 6453a53384632212\nct = 32db66c4a3819d81557455e5980fed\niv = d95b3243afaef714c5035b6a\nkey = e6f1118d41e4b43fb58221b7ed79673834e0d8ac5c4fa60bbc8bc4893a58894d\nmsg = 97469da667d6110f9cbda1d1a20673\nresult = valid\ntag = feae30dec94e6ad3a9eea06a0d703917\n\n# tcId = 16\naad = \nct = e9110e9f56ab3ca483500ceabab67a13\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 836ccabf15a6a22a51c1071cfa68fa0c\n\n# tcId = 17\naad = 034585621af8d7ff\nct = e4b113cb775945f3d3a8ae9ec141c00c\niv = 118a6964c2d3e380071f5266\nkey = b907a45075513fe8a8019edee3f2591487b2a030b03c6e1d771c862571d2ea1e\nmsg = 55a465644f5b650928cbee7c063214d6\nresult = valid\ntag = 7c43f16ce096d0dc27c95849dc383b7d\n\n# tcId = 18\naad = \nct = 02cc3acb5ee1fcdd12a03bb857976474d3\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = d83b7463a2c3800fe958c28eaa290813\n\n# tcId = 19\naad = 9aaf299eeea78f79\nct = 35766488d2bc7c2b8d17cbbb9abfad9e6d\niv = f0384fb876121410633d993d\nkey = f60c6a1b625725f76c7037b48fe3577fa7f7b87b1bd5a982176d182306ffb870\nmsg = 63858ca3e2ce69887b578a3c167b421c9c\nresult = valid\ntag = 1f391e657b2738dda08448cba2811ceb\n\n# tcId = 20\naad = \nct = 42f26c56cb4be21d9d8d0c80fc99dde00d75f38074bfe764\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 54aa7e13d48fff7d7557039457040a3a\n\n# tcId = 21\naad = 3e8bc5ade182ff08\nct = 123032437b4bfd6920e8f7e7e0087ae4889ebe7a0ad0e900\niv = 6b282ebecc541bcd7834ed55\nkey = c5bc09565646e7edda954f1f739223dada20b95c44ab033d0fae4b0283d18be3\nmsg = 9222f9018e54fd6de1200806a9ee8e4cc904d29f25cba193\nresult = valid\ntag = 3cf68f179550da63d3b96c2d55411865\n\n# tcId = 22\naad = \nct = 45c7d6b53acad4abb68876a6e96a48fb59524d2c92c9d8a189c9fd2db91746\niv = 04a9be03508a5f31371a6fd2\nkey = 2eb51c469aa8eb9e6c54a8349bae50a20f0e382711bba1152c424f03b6671d71\nmsg = b053999286a2824f42cc8c203ab24e2c97a685adcc2ad32662558e55a5c729\nresult = valid\ntag = 566d3ca10e311b695f3eae1551652493\n\n# tcId = 23\naad = 374618a06ea98a48\nct = 46a80c4187024720084627580080dde5a3f4a11093a7076ed6f3d326bc7b70\niv = 470a339ecb3219b8b81a1f8b\nkey = 7f5b74c07ed1b40fd14358fe2ff2a740c116c7706510e6a437f19ea49911cec4\nmsg = f45206abc25552b2abc9ab7fa243035fedaaddc3b2293956f1ea6e7156e7eb\nresult = valid\ntag = 534d4aa2835a52e72d14df0e4f47f25f\n\n# tcId = 24\naad = \nct = ea29afa49d36e8760f5fe19723b9811ed5d519934a440f5081ac430b953b0e21\niv = 72cfd90ef3026ca22b7e6e6a\nkey = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3\nmsg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678\nresult = valid\ntag = 222541af46b86533c6b68d2ff108a7ea\n\n# tcId = 25\naad = 2333e5ce0f93b059\nct = 6dad637897544d8bf6be9507ed4d1bb2e954bc427e5de729daf50762846ff2f4\niv = 262880d475f3dac5340dd1b8\nkey = 27d860631b0485a410702fea61bc873f3442260caded4abde25b786a2d97f145\nmsg = 6b2604996cd30c14a13a5257ed6cffd3bc5e29d6b97eb1799eb335e281ea451e\nresult = valid\ntag = 7b997d93c982189d7095dc794c746232\n\n# tcId = 26\naad = \nct = fba78ae4f9d808a62e3da40be2cb7700c3613d9eb2c529c652e76a432c658d27095f0eb8f940c324981ea935e507f9\niv = e74a515e7e2102b90bef55d2\nkey = cf0d40a4644e5f51815165d5301b22631f4544c49a1878e3a0a5e8e1aae0f264\nmsg = 973d0c753826bae466cf9abb3493152e9de7819e2bd0c71171346b4d2cebf8041aa3cedc0dfd7b467e26228bc86c9a\nresult = valid\ntag = 8f046956db3a512908bd7afc8f2ab0a9\n\n# tcId = 27\naad = b3e4064683b02d84\nct = a1ffed80761829ecce242e0e88b138049016bca018da2b6e19986b3e318cae8d806198fb4c527cc39350ebddeac573\niv = d4d807341683825b31cd4d95\nkey = 6cbfd71c645d184cf5d23c402bdb0d25ec54898c8a0273d42eb5be109fdcb2ac\nmsg = a98995504df16f748bfb7785ff91eeb3b660ea9ed3450c3d5e7b0e79ef653659a9978d75542ef91c456762215640b9\nresult = valid\ntag = c4cbf0befda0b70242c640d7cd02d7a3\n\n# tcId = 28\naad = \nct = 9a4ef22b181677b5755c08f747c0f8d8e8d4c18a9cc2405c12bb51bb1872c8e8b877678bec442cfcbb0ff464a64b74332cf072898c7e0eddf6232ea6e27efe50\niv = d61040a313ed492823cc065b\nkey = 5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701\nmsg = d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82\nresult = valid\ntag = 9ff3427a0f32fa566d9ca0a78aefc013\n\n# tcId = 29\naad = 7193f623663321a2\nct = 5fbbdecc", - "34be201614f636031eeb42f1cace3c79a12cffd871ee8e73820c829749f1abb4294367849fb6c2aa56bda8a3078f723d7c1c852024b017b58973fb1e\niv = d31c21aba175b70de4ebb19c\nkey = 97d635c4f47574d9998a90875da1d3a284b755b2d39297a5725235190e10a97e\nmsg = 94ee166d6d6ecf8832437136b4ae805d428864359586d9193a25016293edba443c58e07e7b7195ec5bd84582a9d56c8d4a108c7d7ce34e6c6f8ea1bec0567317\nresult = valid\ntag = 09263da7b4cb921452f97dca40f580ec\n\n# tcId = 30\naad = \nct = d0102f6c258bf49742cec34cf2d0fedf23d105fb4c84cf98515e1bc9a64f8ad5be8f0721bde50645d00083c3a263a31053b760245f52ae2866a5ec83b19f61be1d30d5c5d9fecc4cbbe08fd385813a2aa39a00ff9c10f7f23702add1e4b2ffa31c\niv = 17c86a8abbb7e003acde2799\nkey = fe6e55bdaed1f7284ca5fc0f8c5f2b8df56dc0f49e8ca66a41995e783351f901\nmsg = b429eb80fb8fe8baeda0c85b9c333458e7c2992e558475069d12d45c22217564121588032297eff56783742a5fc22d7410ffb29d66098661d76f126c3c27689e43b37267cac5a3a6d3ab49e391da29cd3054a5692e2807e4c3ea46c8761d50f592\nresult = valid\ntag = 41865fc71de12b19612127ce49993bb0\n\n# tcId = 31\naad = a11c40b603767330\nct = 7545391b51de01d5c53dfaca777909063e58edee4bb1227e7110ac4d2620c2aec2f848f56deeb037a8dced75afa8a6c890e2dee42f950bb33d9e2424d08a505d899563973ed38870f3de6ee2adc7fe072c366c14e2cf7ca62fb3d36bee11685461\niv = 46362f45d6379e63e5229460\nkey = aabc063474e65c4c3e9bdc480dea97b45110c8618846ff6b15bdd2a4a5682c4e\nmsg = ceb534ce50dc23ff638ace3ef63ab2cc2973eeada80785fc165d06c2f5100ff5e8ab2882c475afcd05ccd49f2e7d8f55ef3a72e3dc51d6852b8e6b9e7aece57be6556b0b6d9413e33fc5fc24a9a205ad59574bb39d944a92dc47970d84a6ad3176\nresult = valid\ntag = b70d44ef8c66c5c7bbf10dcadd7facf6\n\n# tcId = 32\naad = 02\nct = 7e72f5a185af16a611921b438f749f0b\niv = 87345f1055fd9e2102d50656\nkey = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c\nmsg = e5ccaa441bc814688f8f6e8f28b500b2\nresult = valid\ntag = 1242c670732334029adfe1c5001651e4\n\n# tcId = 33\naad = b648\nct = 85f29a719557cdd14d1f8fffab6d9e60\niv = 87a3163ec0598ad95b3aa713\nkey = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc\nmsg = 02cde168fba3f544bbd0332f7adeada8\nresult = valid\ntag = 732ca32becd515a1ed353f542e999858\n\n# tcId = 34\naad = bd4cd02fc7502bbdbdf6c9a3cbe8f0\nct = c1b295936d56fadac03e5f742bff73a1\niv = 6f573aa86baa492ba46596df\nkey = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f\nmsg = 16ddd23ff53f3d23c06334487040eb47\nresult = valid\ntag = 39c457dbab66382babb3b55800cda5b8\n\n# tcId = 35\naad = 89cce9fb47441d07e0245a66fe8b778b\nct = c84c9bb7c61c1bcb17772a1c500c5095\niv = 1a6518f02ede1da6809266d9\nkey = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016\nmsg = 623b7850c321e2cf0c6fbcc8dfd1aff2\nresult = valid\ntag = dbadf7a5138ca03459a2cd65831e092f\n\n# tcId = 36\naad = d19f2d989095f7ab03a5fde84416e00c0e\nct = 94bc80621ed1e71b1fd2b5c3a15e3568\niv = 564dee49ab00d240fc1068c3\nkey = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657\nmsg = 87b3a4d7b26d8d3203a0de1d64ef82e3\nresult = valid\ntag = 333511861796978401598b963722f5b3\n\n# tcId = 37\naad = 5e6470facd99c1d81e37cd44015fe19480a2a4d3352a4ff560c0640fdbda\nct = 299b5d3f3d03c087209a16e285143111\niv = df8713e87ec3dbcfad14d53e\nkey = 56207465b4e48e6d04630f4a42f35cfc163ab289c22a2b4784f6f9290330bee0\nmsg = e601b38557797da2f8a4106a089d1da6\nresult = valid\ntag = 4b454ed198de117e83ec49fa8d8508d6\n\n# tcId = 38\naad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37\nct = 605bbf90aeb974f6602bc778056f0dca\niv = 8df4b15a888c33286a7b7651\nkey = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130\nmsg = dc9e9eaf11e314182df6a4eba17aec9c\nresult = valid\ntag = 38ea23d99054b46b42ffe004129d2204\n\n# tcId = 39\naad = d41a828d5e71829247021905402ea257dccbc3b80fcd5675056b68bb59e62e8873\nct = 7b7ce0d824809a70de32562ccf2c2bbd\niv = be40e5f1a11817a0a8fa8949\nkey = 36372abcdb78e0279646ac3d176b9674e9154eecf0d5469c651ec7e16b4c1199\nmsg = 81ce84ede9b35859cc8c49a8f6be7dc6\nresult = valid\ntag = 15d44a00ce0d19b4231f921e22bc0a43\n\n# tcId = 40\naad = 3f2dd49bbf09d69a78a3d80ea2566614fc379474196c1aae84583da73d7ff85c6f42ca42056a9792cc1b9fb3c7d261\nct = ca82bff3e2f310ccc976672c4415e69b\niv = 84c87dae4eee27730ec35d12\nkey = 9f1479ed097d7fe529c11f2f5add9aaff4a1ca0b68997a2cb7f79749bd90aaf4\nmsg = a66747c89e857af3a18e2c79500087ed\nresult = valid\ntag = 57638c62a5d85ded774f913c813ea032\n\n# tcId = 41\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329be\nresult = valid\ntag = e6d3d7324a1cbba777bbb0ecdda37807\n\n# tcId = 42\naad = 00000000000000000000000000000000\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd\nresult = valid\ntag = 062de6795f274fd2a305d76980bc9cce\n\n# tcId = 43\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd7ada44424269bffa5527f270acf68502b74c5ae2e60c0580981a4938459392c49bb2f284b646efc7f3f0b1361dc348ed77d30bc57692ed38fbac0188380488c7\nresult = valid\ntag = d8b47902baaeafb34203051529af282e\n\n# tcId = 44\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd641\nresult = valid\ntag = b3891c849cb52c27747edfcf31213bb6\n\n# tcId = 45\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4e121030174325e495ea373d4f796002d13a1d91aac484dd801780242\nresult = valid\ntag = f0c12d26ef03029b62c008da27c5dc68\n\n# tcId = 46\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4e121030174325e495ea373d4f796002d13a1d91aac484dd8017802428525bbbdbd964005aad80d8f53097afd48b3a51d19f3fa7f67e5b6c7ba6c6d3b644d0d7b49b910380c0f4ec9e23cb712882cf43a896d12c70453fe77c7fb7738\nresult = valid\ntag = ee65783001c25691fa28d0f5f1c1d762\n\n# tcId = 47\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293e\nresult = valid\ntag = 79ba7a29f5a7bb75797af87a610129a4\n\n# tcId = 48\naad = 00000080000000800000008000000080\nct = 00000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d\nresult = valid\ntag = 36b1743819e1b9ba1551e8ed922a959a\n\n# tcId = 49\naad = 0000", - "0080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d7ada44c24269bf7a5527f2f0acf68582b74c5a62e60c0500981a49b8459392449bb2f204b646ef47f3f0b1b61dc3486d77d30b457692edb8fbac010838048847\nresult = valid\ntag = feac4955554e806f3a1902e24432c08a\n\n# tcId = 50\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c1\nresult = valid\ntag = 20a3798df1292c5972bf9741aec38a19\n\n# tcId = 51\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c2\nresult = valid\ntag = c03d9f67354a97b2f074f7551557e49c\n\n# tcId = 52\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c28525bb3dbd964085aad80d0f53097a7d48b3a59d19f3faff67e5b647ba6c6dbb644d0dfb49b910b80c0f4e49e23cb792882cf4ba896d12470453fef7c7fb77b8\nresult = valid\ntag = c86da8dd652286d50213d328d63e4006\n\n# tcId = 53\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd641\nresult = valid\ntag = bede9083ceb36ddfe5fa811f95471c67\n\n# tcId = 54\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a461210301f4325e49dea373d47796002d93a1d91a2c484dd881780242\nresult = valid\ntag = 300874bb0692b689dead9ae15b067390\n\n# tcId = 55\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a461210301f4325e49dea373d47796002d93a1d91a2c484dd8817802420525bbbd3d9640052ad80d8fd3097afdc8b3a51d99f3fa7fe7e5b6c73a6c6d3be44d0d7bc9b910388c0f4ec9623cb712082cf43a096d12c78453fe7747fb7738\nresult = valid\ntag = 99cad85f45ca40942d0d4d5e950ade22\n\n# tcId = 56\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641\nresult = valid\ntag = 8bbe145272e7c2d9a1891a3ab0983d9d\n\n# tcId = 57\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5be12103018bcda1b65ea373d40869ffd213a1d91a53b7b22701780242\nresult = valid\ntag = 3b41861913a8f6de7f61e225631bc382\n\n# tcId = 58\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5be12103018bcda1b65ea373d40869ffd213a1d91a53b7b227017802427ada4442bd9640055527f27053097afdb74c5ae219f3fa7f981a4938ba6c6d3b9bb2f28449b91038f3f0b136e23cb71277d30bc5896d12c7fbac0188c7fb7738\nresult = valid\ntag = 8428bcf023ec6bf31fd9efb203ff0871\n\n# tcId = 59\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be\nresult = valid\ntag = 139fdf6474ea24f549b075825f2c7620\n\n# tcId = 60\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a41edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd\nresult = valid\ntag = bbad8d863b835a8e8664fd1d4566b6b4\n\n# tcId = 61\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a41edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd8525bbbd4269bffaaad80d8facf6850248b3a51de60c058067e5b6c7459392c4644d0d7bb646efc70c0f4ec91dc348ed882cf43a7692ed380453fe77380488c7\nresult = valid\ntag = 42f2354297849a511d53e5571772f71f\n\n# tcId = 62\n# Flipped bit 0 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a2e3fdf9fba6861b5ad2607f40b7f447\n\n# tcId = 63\n# Flipped bit 1 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a1e3fdf9fba6861b5ad2607f40b7f447\n\n# tcId = 64\n# Flipped bit 7 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 23e3fdf9fba6861b5ad2607f40b7f447\n\n# tcId = 65\n# Flipped bit 8 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e2fdf9fba6861b5ad2607f40b7f447\n\n# tcId = 66\n# Flipped bit 31 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccdde", - "eff\nmsg = \nresult = invalid\ntag = a3e3fd79fba6861b5ad2607f40b7f447\n\n# tcId = 67\n# Flipped bit 32 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9faa6861b5ad2607f40b7f447\n\n# tcId = 68\n# Flipped bit 33 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9f9a6861b5ad2607f40b7f447\n\n# tcId = 69\n# Flipped bit 63 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6869b5ad2607f40b7f447\n\n# tcId = 70\n# Flipped bit 64 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5bd2607f40b7f447\n\n# tcId = 71\n# Flipped bit 77 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5af2607f40b7f447\n\n# tcId = 72\n# Flipped bit 80 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2617f40b7f447\n\n# tcId = 73\n# Flipped bit 96 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f41b7f447\n\n# tcId = 74\n# Flipped bit 97 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f42b7f447\n\n# tcId = 75\n# Flipped bit 120 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f40b7f446\n\n# tcId = 76\n# Flipped bit 121 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f40b7f445\n\n# tcId = 77\n# Flipped bit 126 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f40b7f407\n\n# tcId = 78\n# Flipped bit 127 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f40b7f4c7\n\n# tcId = 79\n# Flipped bit 63 and 127 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6869b5ad2607f40b7f4c7\n\n# tcId = 80\n# Tag changed to all zero expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 81\n# tag change to all 1 expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 82\n# Flipped bit 0 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 26da374f17b7f1b23844a5490bfc4001\n\n# tcId = 83\n# Flipped bit 1 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 25da374f17b7f1b23844a5490bfc4001\n\n# tcId = 84\n# Flipped bit 7 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = a7da374f17b7f1b23844a5490bfc4001\n\n# tcId = 85\n# Flipped bit 8 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27db374f17b7f1b23844a5490bfc4001\n\n# tcId = 86\n# Flipped bit 31 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da37cf17b7f1b23844a5490bfc4001\n\n# tcId = 87\n# Flipped bit 32 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f16b7f1b23844a5490bfc4001\n\n# tcId = 88\n# Flipped bit 33 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f15b7f1b23844a5490bfc4001\n\n# tcId = 89\n# Flipped bit 63 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1323844a5490bfc4001\n\n# tcId = 90\n# Flipped bit 64 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23944a5490bfc4001\n\n# tcId = 91\n# Flipped bit 77 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23864a5490bfc4001\n\n# tcId = 92\n# Flipped bit 80 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a4490bfc4001\n\n# tcId = 93\n# Flipped bit 96 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490afc4001\n\n# tcId = 94\n# Flipped bit 97 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey", - " = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a54909fc4001\n\n# tcId = 95\n# Flipped bit 120 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490bfc4000\n\n# tcId = 96\n# Flipped bit 121 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490bfc4003\n\n# tcId = 97\n# Flipped bit 126 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490bfc4041\n\n# tcId = 98\n# Flipped bit 127 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490bfc4081\n\n# tcId = 99\n# Flipped bit 63 and 127 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1323844a5490bfc4081\n\n# tcId = 100\n# Tag changed to all zero expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 101\n# tag change to all 1 expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 102\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 30303030303030300002506e\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = d4500bf009493551c380adf52c573a69df7e8b762463330facc16a5726be7190c63c5a1c926584a096756828dcdc64acdf963d931bf1dae238f3f157224ac4b542d785b0dd84db6be3bc5a3663e84149ffbed09e54f78f16a8223b24cb019f58b21b0e551e7aa07327629551376ccbc3937671a0629bd95c9915c78555771e7a\nresult = valid\ntag = 0b300d8da56c2185755279553c4c82ca\n\n# tcId = 103\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 3030303030303030000318a5\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = 7de87f6729945275d0655da4c7fde4569e16f111b5eb26c22d859e3ff822eced3a6dd9a60f22957f7b7c857e8822eb9fe0b8d7022141f2d0b48f4b5612d322a88dd0fe0b4d9179324f7c6c9e990efbd80e5ed6775826498b1efe0f71a0f3ec5b29cb28c2540a7dcd51b7daaee0ff4a7f3ac1ee54c29ee4c170de408f66692194\nresult = valid\ntag = c578e2aa44d309b7b6a5193bdc6118f5\n\n# tcId = 104\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000000000000007b4f0\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = 1b996f9a3ccc6785de22ff5b8add9502ce03a0faf5992a09522cdd1206d220b8f8bd07d1f1f5a1bd9a71d11c7f579b855818c08d4de036393183b7f590b335aed8de5b57b13c5fede2441c3e184aa9d46e61598506b3e11c43c62cbcaceced33190875b012218b1930fb7c38ec45ac11c353d0cf938dccb9efad8fedbe46daa5\nresult = valid\ntag = 4b0bda8ad043830d8319ab82c50c7663\n\n# tcId = 105\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000000000000020fb66\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = 86cbacae4d3f74ae01213e0551cc15160ea1be8408e3d5d74f01464995a69e6176cb9e02b2247ed299892f9182a45caf4c69405611766edfafdc285519ea30480c44f05e781eacf8fcecc7090abb28fa5fd585ac8cda7e8772e594e4ce6c883281932e0f89f877a1f04d9c32b06cf90b0e762b430c4d517c97107068f498ef7f\nresult = valid\ntag = 4bc98f72c494c2a43c2b15a1043f1cfa\n\n# tcId = 106\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000000000000038bb90\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = fab1cddf4fe198ef63add881d6ead6c57637bbe92018ca7c0b96fba0871e932db1fbf90761be25df8dfaf931ce5757e617b3d7a9f0bf0ffe5d591a33c143b8f53fd0b5a19609fd62e5c251a4281a200cfdc34f281710406f4e37625446ff6ef224913deb0d89af337128e3d155d16d3ec3246041432143e9ab3a6d2ccc2f4d62\nresult = valid\ntag = f7e9e151b02533c74658bfc7737c680d\n\n# tcId = 107\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000000000000070484a\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = 227202be7f3515e9d1c02eea2f1950b6481b048a4c91506cb40d504e6c949f82d197c25ad17dc721651125782ac7a71247feaef32f1f250ce4bb8f79acaa179d45a7b0545f0924325efa87d5e441d28478c61f2223ee67c3b41f4394535e2a24369a2e16613c459490c14fb1d755fe53fbe1ee45b1b21f7162e2fcaa742abefd\nresult = valid\ntag = 795bcff647c553c2e4eb6e0eafd9e04e\n\n# tcId = 108\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000000932f40\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = fae58345c1", - "6cb0f5cc537f2b1b3469c969463b3ea71bcf6b98d669a8e60e04fc08d5fd069c362638e3400ef4cb242e27e2245e68cb9ec583da5340b12edf423b7326ad20feeb57daca2e0467a32899b42df8e56d84e006bc8a7acc731e7c1f6becb5719f7077f0d4f4c61ab11ebac1001801ce33c4e4a77d831d3ce34e8410e1\nresult = valid\ntag = 1946d653960f947a74d3e8093cf48502\n\n# tcId = 109\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000000e29335\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = ebb216ddd7ca709215f503df9ce63c5cd2194e7d9099e8a90b2afaad5eba35069925a603fdbc341aaed41505b10941fa3856a7e247b1040709746cfc2096caa631b2fff41c250506d889c1c90671ade853ee6394c19192a5cf3710d1073099e5bc946582fc0fab9f543c716ae2486a8683fdca39d2e14f23d00a582664f4ecb1\nresult = valid\ntag = 36c3002985dd21baf895d633573f12c0\n\n# tcId = 110\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000000000000000ef7d5\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 408ae6ef1c7ef0fb2c2d610816fc7849efa58f78273f5f166ea65f81b575747d035b3040fede1eb9459788669788408e00413b3e376d152d204aa2b7a83558fcd48a0ef7a26b1cd6d35d23b3f5dfe0ca77a4ce32b94abf83da2aefcaf068380879e89fb0a3829595cf44c3852ae2cc662b689f9355d9c183801f6acc313f8907\nresult = valid\ntag = 6514518e0a264142e0b7351f967fc2ae\n\n# tcId = 111\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000000000000003dfce4\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0a0a24499bcade58cf1576c312aca984718cb4cc7e0153f5a9015810859644dfc021174e0b060a397448de8b484a8603be680a6934c0906f30dd17eae2d4c5faa777f8ca53370e08331b88c342bac959787bbb33930e3b56be86da7f2a6eb1f94089d1d181074d4302f8e0552d0de1fab306a21b42d4c3ba6e6f0cbcc81e877a\nresult = valid\ntag = 4c194da6a99fd65b40e9cad798f44b19\n\n# tcId = 112\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000000000000018486a8\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4a0aaff8494729188691701340f3ce2b8a78eed3a0f065994b72484e7991d25c29aa075eb1fc16de93fe069058112ab284a3ed18780326d1258a47222fa633d8b29f3bd9150b239b1546c2bb9b9f410febead396000ee477701532c3d0f5fbf895d280196d2f737c5e9fec50d92bb0df5d7e513be5b8ea971310d5bf16ba7aee\nresult = valid\ntag = c8ae7788cd2874abc138541e11fd0587\n\n# tcId = 113\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c783d35f613e6d9093d38e975c38fe3b89f7aed35cb5a2fcaa0346efb936554649cf6378171eae4396ea15dc240d1abf4472d9096524fa1b2b023b8b288222773d4d206616f9293f65b45dbbc74e7c2edfbcbbf1cfb679bb739a5862de2bcb937f74d5bf8671c5a8a5092f61d54c9aa5b\nresult = valid\ntag = 933a5163c7f62368327b3fbc1036c943\n\n# tcId = 114\n# special case tag\naad = 85ffffffffffffffffffffffffffffffa6902fcbc883bbc180b256ae34ad7f00\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 000102030405060708090a0b0c0d0e0f\n\n# tcId = 115\n# special case tag\naad = ffffffffffffffffffffffffffffffff247e50642a1c0a2f8f77219609dba958\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 116\n# special case tag\naad = 7cffffffffffffffffffffffffffffffd9e72c064ac8961f3fa585e0e2abd600\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 117\n# special case tag\naad = 65ffffffffffffffffffffffffffffff95af0f4d0b686eaeccca4307d596f502\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 00000080000000800000008000000080\n\n# tcId = 118\n# special case tag\naad = ffffffffffffffffffffffffffffffff8540b464357707be3a39d55c34f8bcb3\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = ffffff7fffffff7fffffff7fffffff7f\n\n# tcId = 119\n# special case tag\naad = 4fffffffffffffffffffffffffffffff6623d990b898d830d212af2383330701\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 01000000010000000100000001000000\n\n# tcId = 120\n# special case tag\naad = 83ffffffffffffffffffffffffffffff5f16d09f17787211b7d484e024f89701\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc", - "6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 121\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 0039e2fd2fd312149e989880884813e7caffffffffffffffffffffffffffffff3b0e869aaa8ea49632ffff37b9e8ce00caffffffffffffffffffffffffffffff3b0e869aaa8ea49632ffff37b9e8ce00\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 005235d2a919f28d3db7664a34ae6b444d3d35f613e6d9093d38e975c38fe3b85b8b94509e2b74a36d346e33d572659ba9f6378171eae4396ea15dc240d1abf483dce9f3073efadb7d23b87ace35168c\nresult = valid\ntag = a519ac1a35b4a57787510af78d8d200a\n\n# tcId = 122\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d3ffffffffffffffffffffffffffffff6218b27f83b8b46602f6e1d834207b02ceffffffffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02ceffffffffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d39428d079351f665cd001354319875ce5da78766fa19290c031f75208506745ae7aed35cb5a2fcaa0346efb93655464496ddeb05509c6efffab75eb2df4ab09762d9096524fa1b2b023b8b2882227730149ef504b71b120ca4ff39519c2c210\nresult = valid\ntag = 302fe82ab0a09af64400d015ae83d9cc\n\n# tcId = 123\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e9ffffffffffffffffffffffffffffffea33f347304abdadf8ce413433c84501e0ffffffffffffffffffffffffffffffb27f579688aee57064ce37329182ca01e0ffffffffffffffffffffffffffffffb27f579688aee57064ce37329182ca01\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e99428d079351f665cd001354319875c6df1394edc539b5b3a0957be0fb85946807aed35cb5a2fcaa0346efb93655464d1769fe806bbfeb6f590950f2eac9e0a582d9096524fa1b2b023b8b2882227739952ae0818c38979c07413711a9af713\nresult = valid\ntag = 98a7e836e0ee4d023500d0557ec2cbe0\n\n# tcId = 124\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffe33bc552ca8b9e96169e797e8f30301b603ca99944df76528c9d6f54ab833d0f603ca99944df76528c9d6f54ab833d0f\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c64f90f5b2692b860d4596ff4b3402c5c00b9bb53707aa667d356fe50c7199694033561e7caca6d941dc3cd6914ad6904\nresult = valid\ntag = 6ab8dce2c59da4737130b0252f68a8d8\n\n# tcId = 125\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 68ffffffffffffffffffffffffffffff374def6eb782ed002143115412b74600ffffffffffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219dffffffffffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219d\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 689428d079351f665cd001354319875cb08f25675b9bcbf6e38407de2ec75a479f7aed35cb5a2fcaa0346efb936554642d2af7cd6b080501d31ba54fb2eb7596472d9096524fa1b2b023b8b288222773650ec62d757072cee6ff233186dd1c8f\nresult = valid\ntag = 044dea608880412bfdffcf35579e9b26\n\n# tcId = 126\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 6dffffffffffffffffffffffffffffff26a37fa2e81026945c39e9f2eba87702ffffffffffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3ffffffffffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 6d9428d079351f665cd001354319875ca161b5ab040900629efeff78d7d86b459f7aed35cb5a2fcaa0346efb93655464c6f8078cc8ef12a0ff657d6d08db10b8472d9096524fa1b2b023b8b2882227738edc366cd697656fca81fb133ced79a1\nresult = valid\ntag = 1e6bea6314542e2ef9ffcf450b2e982b\n\n# tcId = 127\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff7bc3729809e9dfe44fba0addade2aadf03c456df823cb8a0c5b900b3c935b8d303c456df823cb8a0c5b900b3c935b8d3\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875cfc01b891e5f0f9128d7d1c579192b69863414415b69968959a7291b7a5af134860cd9ea10c29a36654e7a28e761becd8\nresult = valid\ntag = ed2017c8dba4775629049d786e3bceb1\n\n# tcId = 128\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffecaf03dbf698b88677b0e2cb0ba3cafa73b0e72170ec9042edafd8a127f6d7ee73b0e72170ec9042edafd8a127f6d7ee\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c6b6dc9d21a819e70b577f44137d3d6bd1335f5eb44494077b26449a54b6c7c7510b92f5ffef98b847cf17a9c98d883e5\nresult = valid\ntag = 073f17cb6778645925049d8822cbcab6\n\n# tcId = 129\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffa0fc3e8032c3d5fdb62a11f096307db5ffffffffffffffffffffffffffffff766c9a8025eadea73905328c3379c004b5ffffffffffffffffffffffffffffff766c9a8025eadea73905328c3379c004\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ffcb2b1106f8234c5e99d4db4c7048de323d35f613e6d9093d38e975c38fe3b816e9884a114f0e9266cea3885fe36b9fd6f6378171eae4396ea15dc240d1abf4cebef5e9885a80ea76d975c144a41888\nresult = valid\ntag = 8b9bb4b4861289658c696a8340150405\n\n# tcId = 130\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 6ff5a7c2bd414c3985cb9490b5a56d2ea6ffffffffffffffffffffffffffffff6ce43e94b92c784684013c5f1fdce900a6ffffffffffffffffffffffffffffff6ce43e94b92c784684013c5f1fdce900\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 6f9e70ed3b8baca026e46a5a0943158d213d35f613e6d9093d38e975c38fe3b80c612c5e8d89a873dbcaad5b7346429bc5f6378171eae4396ea15dc240d1abf4d43651fd149c260bcbdd7b126801318c\nresult = valid\ntag = 8b3bbd51644459568d81ca1fa72ce404\n\n# tcId = 131\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 4140df25b8d32194e78e51d41738cc6db2ffffffffffffffffffffffffffffff0b0686f93d849859fed6b818520d4501b2ffffffffffffffffffffffffffffff0b0686f93d849859fed6b818520d4501\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 412b080a3e19c10d44a1af1eabdeb4ce353d35f613e6d9093d38e975c38fe3b86b8394330921486ca11d291c3e97ee9ad1f6378171eae4396ea15dc240d1abf4b3d4e9909034c614b10aff5525d09d8d\nresult = valid\ntag = 86fbab2b4a94f47aa56f0aea65d11008\n\n# tcId = 132\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = b22c7068a583fa350f8529c375f8eb88b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec39cd90b72bff7503b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec39cd90b72bff7503\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b247a74723491aacacaad709c91e932b313d35f613e6d9093d38e975c38fe3b89ade04e75bb701d9660601b34765de98d5f6378171eae4396ea15dc240d1abf442897944c2a28fa17611d7fa5c22ad8f\nresult = valid\ntag = a019ac2ed667e17da16f0afa19610d0d\n\n# tcId = 133\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 7464496670da0f3c2699a700d23ecc3aaaffffffffffffffffffffffffffffff21a884658a253c0b261fc0b466b71901aaffffffffffffffffffffffffffffff21a884658a253c0b261fc0b466b71901\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 740f9e49f610efa585b659ca6ed8b4992d3d35f613e6d9093d38e975c38fe3b8412d96afbe80ec3e79d451b00a2db29ac9f6378171eae4396ea15dc240d1abf4997aeb0c2795624669c387f9116ac18d\nresult = valid\ntag = 736e18181696a5889c3159faabab20fd\n\n# tcId = 134\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = add18a3fdd024a9f8f0cc801347ba376b0ffffffffffffffffffffffffffffff77f94d341cd0245da90907532469f201b0ffffffffffffffffffffffffffffff77f94d341cd0245da90907532469f201\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = adba5d105bc8aa062c2336cb889ddbd5373d35f613e6d9093d38e975c38fe3b8177c5ffe2875f468f6c2965748f3599ad3f6378171eae4396ea15dc240d1abf4cf2b225db1607a10e6d5401e53b42a8d\nresult = valid\ntag = bad58f10a91e6a889aba32fd17d8331a\n\n# tcId = 135\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = feffffffffffffffffffffffffffffff47c327cc365d088759098c341b4aed03d4ffffffffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701d4f", - "fffffffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fe9428d079351f665cd001354319875cc001edc5da442e719bce9abe273af144b47aed35cb5a2fcaa0346efb9365546448025f41fa4e336c786957a2a7c4930a6c2d9096524fa1b2b023b8b28822277300266ea1e43644a34d8dd1dc93f2fa13\nresult = valid\ntag = d68ce174079add028dd05cf814630488\n\n# tcId = 136\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = b57867453f66f4daf9e474691f9c8515d3ffffffffffffffffffffffffffffff01101359851ad324a0dae88dc2430202d3ffffffffffffffffffffffffffffff01101359851ad324a0dae88dc2430202\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b513b06ab9ac14435acb8aa3a37afdb6543d35f613e6d9093d38e975c38fe3b861950193b1bf0311ff117989aed9a999b0f6378171eae4396ea15dc240d1abf4b9c27c3028aa8d69ef06afc0b59eda8e\nresult = valid\ntag = aa48a3887d4b059699c2fdf9c6787e0a\n\n# tcId = 137\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff5333c3e1f8d78eacca0707526cad018cafffffffffffffffffffffffffffffff3049702414b599502624fdfe29313204afffffffffffffffffffffffffffffff3049702414b599502624fdfe29313204\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875cd4f109e814cea85a08c011d850dd1dcbcf7aed35cb5a2fcaa0346efb936554645340b85a9aa08296b77a5fc3961f660f172d9096524fa1b2b023b8b2882227731b6489ba84d8f559829ed9bda2290f16\nresult = valid\ntag = b936a817f2211af129e2cf160fd42bcb\n\n# tcId = 138\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff588ea80ac1583f434a806813ae2a4a9eb6ffffffffffffffffffffffffffffff998d381adb2359ddbae786537d37b900b6ffffffffffffffffffffffffffffff998d381adb2359ddbae786537d37b900\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875cdf4c62032d4119b588477e99925a56d9d67aed35cb5a2fcaa0346efb93655464fa84f0645536421b2bb9246ec219ed0b0e2d9096524fa1b2b023b8b288222773b2a0c1844b4e35d41e5da210f62f8412\nresult = valid\ntag = 9f7ac4351f6b91e63097a713115d05be\n\n# tcId = 139\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff943ac00981d89d2c14febfa5fb9cba1297ffffffffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a80497ffffffffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a804\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c13f80a006dc1bbdad639a92fc7eca655f77aed35cb5a2fcaa0346efb936554646348b8fd29bf96d563a517e27d7bfc0f2f2d9096524fa1b2b023b8b2882227732b6c891d37c7e11a5641919c494d9516\nresult = valid\ntag = 9a18a828070269f44700d009e7171cc9\n\n# tcId = 140\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff0527514c6e8876ce3bf49794595dda2d9cffffffffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc019cffffffffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc01\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c82e59b4582915038f933811e652dc66afc7aed35cb5a2fcaa0346efb93655464b671c8cac270c265a0ac2f535799880a242d9096524fa1b2b023b8b288222773fe55f92adc08b5aa9548a92d63afe113\nresult = valid\ntag = b436a82b93d555f74300d0199ba718ce\n\n# tcId = 141\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff7613e28e5b384f7063ea6f83b71dfa48a0ffffffffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04a0ffffffffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875cf1d12887b7216986a12d79098b6de60fc07aed35cb5a2fcaa0346efb93655464a7c75899f3e60af1fcb6c7307d87590f182d9096524fa1b2b023b8b288222773efe36979ed9e7d3ec952414e49b13016\nresult = valid\ntag = ce54a82e1fa942fa3f00d0294f3715d3\n\n# tcId = 142\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = cb9a0db18d63d7ead7c960d6b286745fb3ffffffffffffffffffffffffffffffdebab4a1584250bffc2fc84d95decf04b3ffffffffffffffffffffffffffffffdebab4a1584250bffc2fc84d95decf04\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = cbf1da9e0ba9377374e69e1c0e600cfc343d35f613e6d9093d38e975c38fe3b8be3fa66b6ce7808aa3e45949f944649fd0f6378171eae4396ea15dc240d1abf46668dbc8f5f20ef2b3f38f00e2031788\nresult = valid\ntag = 2383ab0b799205699b510aa709bf31f1\n\n# tcId = 143\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 8f4c51bb42233a7276a2c0912a88f3cbc5ffffffffffffffffffffffffffffff66d6f56905d45806f30828a993869a03c5ffffffffffffffffffffffffffffff66d6f56905d45806f30828a993869a03\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 8f278694c4e9daebd58d3e5b966e8b68423d35f613e6d9093d38e975c38fe3b80653e7a331718833acc3b9adff1c3198a6f6378171eae4396ea15dc240d1abf4de049a00a864064bbcd46fe4e45b428f\nresult = valid\ntag = 8bfbab17a9e0b8748b510ae7d9fd2305\n\n# tcId = 144\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffff1de01d03a4fb692b0f135717da3c93039cffffffffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb019cffffffffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb01\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d59428d079351f665cd001354319875c9a22d70a48e24fddcdd4419de64c8f44fc7aed35cb5a2fcaa0346efb9365546477b5c907d9c9e1ea51851a204aad9f0a242d9096524fa1b2b023b8b2882227733f91f8e7c7b1962564619c5e7e9bf613\nresult = valid\ntag = 49bc6e9fc51c4d503036644d842773d2\n\n# tcId = 145\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = dbfffffffffffffffffffffffffffffff217ae3349b6b5bb4e092fa6ff9ec700a0ffffffffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03a0ffffffffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = db9428d079351f665cd001354319875c75d5643aa5af934d8cce392cc3eedb47c07aed35cb5a2fcaa0346efb93655464601b5ad2067f28066a8f3281715ba808182d9096524fa1b2b023b8b288222773283f6b3218075fc95f6bb4ff456dc111\nresult = valid\ntag = 63da6ea251f039532c36645d38b76fd7\n\n# tcId = 146\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 93ffffffffffffffffffffffffffffffe58af369ae0fc2f5290b7c7f659c9704f7ffffffffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04f7ffffffffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 939428d079351f665cd001354319875c624839604216e403ebcc6af559ec8b43977aed35cb5a2fcaa0346efb93655464d8c8c3fa1a9e474abe52d02c8187e90f4f2d9096524fa1b2b023b8b28822277390ecf21a04e630858bb65652b5b18016\nresult = valid\ntag = 73eb2724b5c405f04d00d0f15840a1c1\n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 147\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 80]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 148\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 88]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 149\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 112]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 150\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 128]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 151\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresu", - "lt = invalid\ntag = \n\n", +static const char *kData93[] = { + "# Imported from Wycheproof's chacha20_poly1305_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: CHACHA20-POLY1305\n# Generator version: 0.8r12\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 1\n# RFC 7539\naad = 50515253c0c1c2c3c4c5c6c7\nct = d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116\niv = 070000004041424344454647\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e\nresult = valid\ntag = 1ae10b594f09e26a7e902ecbd0600691\n\n# tcId = 2\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 76acb342cf3166a5b63c0c0ea1383c8d\n\n# tcId = 3\naad = bd506764f2d2c410\nct = \niv = a92ef0ac991dd516a3c6f689\nkey = 7a4cd759172e02eb204db2c3f5c746227df584fc1345196391dbb9577a250742\nmsg = \nresult = valid\ntag = 906fa6284b52f87b7359cbaa7563c709\n\n# tcId = 4\naad = \nct = 3a\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = cac27dec0968801e9f6eded69d807522\n\n# tcId = 5\naad = 91ca6c592cbcca53\nct = c4\niv = ab0dca716ee051d2782f4403\nkey = 46f0254965f769d52bdb4a70b443199f8ef207520d1220c55e4b70f0fda620ee\nmsg = 51\nresult = valid\ntag = 168310ca45b1f7c66cad4e99e43f72b9\n\n# tcId = 6\naad = \nct = 4d13\niv = 461af122e9f2e0347e03f2db\nkey = 2f7f7e4f592bb389194989743507bf3ee9cbde1786b6695fe6c025fd9ba4c100\nmsg = 5c60\nresult = valid\ntag = 91e8b61efb39c122195453077b22e5e2\n\n# tcId = 7\naad = 88364fc8060518bf\nct = b60d\niv = 61546ba5f1720590b6040ac6\nkey = c8833dce5ea9f248aa2030eacfe72bffe69a620caf793344e5718fe0d7ab1a58\nmsg = ddf2\nresult = valid\ntag = ead0fd4697ec2e5558237719d02437a2\n\n# tcId = 8\naad = \nct = 3cf470\niv = d2ab0abb50a8e9fba25429e1\nkey = bd8ed7fb0d607522f04d0b12d42c92570bccc5ba2486953d70ba2e8193f6225a\nmsg = 201221\nresult = valid\ntag = a27a69c9d7ee84586f11388c6884e63a\n\n# tcId = 9\naad = 6c8cf2ab3820b695\nct = 610925\niv = 94f32a6dff588f2b5a2ead45\nkey = 1c8b59b17a5ceced31bde97d4cefd9aaaa63362e096e863ec1c89580bca79b7a\nmsg = 453f95\nresult = valid\ntag = a8a7883eb7e40bc40e2e5922ae95ddc3\n\n# tcId = 10\naad = \nct = fe6849aa\niv = 7aa5ad8bf5254762171ec869\nkey = e4912cb75a1174345f1a457366f18885fe8460b06478e04be2f7fb4ec9c113e5\nmsg = 9e4c1d03\nresult = valid\ntag = 99ad07871b25c27defc31a541bd5c418\n\n# tcId = 11\naad = 15d93a96d0e6c5a9\nct = f4710e51\niv = b7f526e3fd71cf5720961aec\nkey = e05777ef3d989ace7d2abfba452bfded54801dbd5c66e91c0c2ef00479d85572\nmsg = 17bfda03\nresult = valid\ntag = b957c6a37b6a4c94996c002186d63b2b\n\n# tcId = 12\naad = \nct = f711647ff1\niv = 9447bf85d5b97d8aee0f8e51\nkey = 1a4c4f39abe890e62345c947bcf7de7c2e33bd5ceeda0a0abf0e7ef935ddf3ee\nmsg = c15a593bd0\nresult = valid\ntag = 22b12dc38cb79629f84cdbdc2425c09d\n\n# tcId = 13\naad = 96224835610b782b\nct = d171f046ea\niv = 3dbe876bd880ec8ea2017043\nkey = 800e9a24791700c9609736695ba2a8b99b2d57f1c3bfb61ed49db1c6c5219583\nmsg = a7bfd041e3\nresult = valid\ntag = d179b1b9c4184378df009019dbb8c249\n\n# tcId = 14\naad = \nct = 9351b1b1b082\niv = 27fb58ec6a21e84696cb8830\nkey = 208c2c376c9430433db20e1a6b7ba817f8ffbfa6827f26759ccede42e591d3ec\nmsg = af104b5ccd0e\nresult = valid\ntag = 560785509f60f26b681933d9cdbfd29f\n\n# tcId = 15\naad = 6d52feb2509f7fbf\nct = 41abff7b71cc\niv = b5965470c383fd29fe7eaee7\nkey = 2eb168e53b07ab04355ea792fe11a6be2ce9c39cfe15a997076b1e38c17ad620\nmsg = 6fdf2927e169\nresult = valid\ntag = 9b5174297c03cf8902d1f706fd008902\n\n# tcId = 16\naad = \nct = 5dfe3440dbb3c3\niv = 3c4e654d663fa4596dc55bb7\nkey = 55568158d3a6483f1f7021eab69b703f614251cadc1af5d34a374fdbfc5adac7\nmsg = ab85e9c1571731\nresult = valid\ntag = ed7a434e2602d394281e0afa9fb7aa42\n\n# tcId = 17\naad = 84e46be8c0919053\nct = 4bd47212941ce3\niv = 58389375c69ee398de948396\nkey = e3c09e7fab1aefb516da6a33022a1dd4eb272c80d540c5da52a730f34d840d7f\nmsg = 4ee5cda20d4290\nresult = valid\ntag = 185f1408ee7fbf18f5abad6e2253a1ba\n\n# tcId = 18\naad = \nct = 8e9439a56eeec817\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = fbe8a6ed8fabb1937539dd6c00e90021\n\n# tcId = 19\naad = 66c0ae70076cb14d\nct = b9b910433af052b0\niv = b4ea666ee119563366484a78\nkey = 1131c1418577a054de7a4ac551950f1a053f9ae46e5b75fe4abd5608d7cddadd\nmsg = a4c9c2801b71f7df\nresult = valid\ntag = 4530f51aeee024e0a445a6328fa67a18\n\n# tcId = 20\naad = \nct = d9d897a9c1c5bb9f01\niv = 8092fc245b3326cddbd1424c\nkey = e1094967f86d893cdfe2e2e6d5c7ee4dfef67da3c9c5d64e6ad7c1577dcb38c5\nmsg = c37aa791ddd6accf91\nresult = valid\ntag = 085a430373058f1a12a0d589fd5be68b\n\n# tcId = 21\naad = 8c32f47a386152ec\nct = 8fdb429d47761cbf8e\niv = f1ca81338629587acf9372bf\nkey = 236f9baee4f9da15beeca40ff4af7c760f254a64bc3a3d7f4fad557e61b68586\nmsg = d7f26d5252e1765f5b\nresult = valid\ntag = 8ef647ed334fdebbc2bef80be02884e0\n\n# tcId = 22\naad = \nct = 700d35adf5100a22a1de\niv = 4c15a71dc6791a8c005ad502\nkey = 4de207a3b70c51e5f23048eed5a5da9bb65e917a69aa93e7c8b4a815cd9724de\nmsg = f2c54b6b5e490da18659\nresult = valid\ntag = 102d992ffaff599b5bddddeb2dfb399b\n\n# tcId = 23\naad = e1e27ccddb3cb407\nct = 04aad66c60e0bf8ebba9\niv = 6220527aba88e27f766658b2\nkey = 6d667fd79e5fb725f50343dccc4863227c75ee3f7a578476e3e9f32598d81559\nmsg = 0c8c5a252681f2b5b4c0\nresult = valid\ntag = c15f69a4d2aef97d7748756ff49d894b\n\n# tcId = 24\naad = \nct = 1c3d53baaa36eaa1d8ec4d\niv = ec1e2967f0f6979e5f5b07fb\nkey = 8f4bd94ef73e75d1e068c30b37ead576c5344e093ece1330e9101c82f793cf05\nmsg = b89812b34d9bced4a0ba07\nresult = valid\ntag = 4d94ebf960f12433bec43aa86d7e6e6d\n\n# tcId = 25\naad = a9bc350eaf2e6e3d\nct = 1c8578f8e75203d0336a52\niv = 28cce57a5db2cd206321e340\nkey = 2aa3bc7033351cac51364cdaf6ffac2c20f64046e1550a7b1c65f41800599019\nmsg = 83016823123484b56095b0\nresult = valid\ntag = 5910f7a9d5e4df05d7248bd7a8d65e63\n\n# tcId = 26\naad = \nct = ff7dc203b26c467a6b50db33\niv = 9a59fce26df0005e07538656\nkey = 99b62bd5afbe3fb015bde93f0abf483957a1c3eb3ca59cb50b39f7f8a9cc51be\nmsg = 42baae5978feaf5c368d14e0\nresult = valid\ntag = 578c0f2758c2e14e36d4fc106dcb29b4\n\n# tcId = 27\naad = a506e1a5c69093f9\nct = 9f8816de0994e938d9e53f95\niv = 58dbd4ad2c4ad35dd906e9ce\nkey = 85f35b6282cff440bc1020c8136ff27031110fa63ec16f1e825118b006b91257\nmsg = fdc85b94a4b2a6b759b1a0da\nresult = valid\ntag = d086fc6c9d8fa915fd8423a7cf05072f\n\n# tcId = 28\naad = \nct = e6b33a74a4ac443bd93f9c1b94\niv = b776c3fddba7c81362ce6e1b\nkey = faf4bfe8019a891c74901b17f4f48cee5cd065d55fdea60118aaf6c4319a0ea5\nmsg = 8dadff8d60c8e88f604f274833\nresult = valid\ntag = 0c115172bdb02bbad3130fff22790d60\n\n# tcId = 29\naad = 5a8e1c7aa39810d5\nct = b0a7500aca45bb15f01ece4389\niv = 6d62f159731b140eb18ce074\nkey = 841020d1606edcfc536abfb1a638a7b958e21efc10c386ac45a18493450afd5f\nmsg = d6af138f701b801e60c85ffd5c\nresult = valid\ntag = 0160e83adbec7f6a2ee2ff0215f9ef00\n\n# tcId = 30\naad = \nct = d3017e0bb1705b380b34cc333450\niv = a9ea4d619fe405d04cba7d7a\nkey = 470f9ce3d2250bd60cbbefdb2e6a1178c012299b5590639c7797b6024fa703d8\nmsg = 6ca67dd023fba6507b9f9a1f667e\nresult = valid\ntag = 5708e72ca2bd354f487f82f67fbc3acb\n\n# tcId = 31\naad = eaaaeab26957f9a1\nct = 52e9672b416d84d97033796072d0\niv = 0e23c942a0c9fb526586eead\nkey = e4b97e91e4c8e85eb7ce0a7f30bf8a0abf4468251e4c6386c0e7aacb8e879aa8\nmsg = b84b3f74cd23064bb426fe2ced2b\nresult = valid\ntag = e83839dc1fd9b8b9d1444c40e488d493\n\n# tcId = 32\naad = \nct = 0b29638e1fbdd6df53970be2210042\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = 2a9134087d67a46e79178d0a93f5e1d2\n\n# tcId = 33\naad = 6453a53384632212\nct = 32db66c4a3819d81557455e5980fed\niv = d95b3243afaef714c5035b6a\nkey = e6f1118d41e4b43fb58221b7ed79673834e0d8ac5c4fa60bbc8bc4893a58894d\nmsg = 97469da667d6110f9cbda1d1a20673\nresult = valid\ntag = feae30dec94e6ad3a9eea06a0d703917\n\n# tcId = 34\naad = \nct = e9110e9f56ab3ca483500ceabab", + "67a13\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 836ccabf15a6a22a51c1071cfa68fa0c\n\n# tcId = 35\naad = 034585621af8d7ff\nct = e4b113cb775945f3d3a8ae9ec141c00c\niv = 118a6964c2d3e380071f5266\nkey = b907a45075513fe8a8019edee3f2591487b2a030b03c6e1d771c862571d2ea1e\nmsg = 55a465644f5b650928cbee7c063214d6\nresult = valid\ntag = 7c43f16ce096d0dc27c95849dc383b7d\n\n# tcId = 36\naad = \nct = 02cc3acb5ee1fcdd12a03bb857976474d3\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = d83b7463a2c3800fe958c28eaa290813\n\n# tcId = 37\naad = 9aaf299eeea78f79\nct = 35766488d2bc7c2b8d17cbbb9abfad9e6d\niv = f0384fb876121410633d993d\nkey = f60c6a1b625725f76c7037b48fe3577fa7f7b87b1bd5a982176d182306ffb870\nmsg = 63858ca3e2ce69887b578a3c167b421c9c\nresult = valid\ntag = 1f391e657b2738dda08448cba2811ceb\n\n# tcId = 38\naad = \nct = b621d76a8dacff00b3f840cdf26c894cc5d1\niv = 37270b368f6b1e3e2ca51744\nkey = 37ceb574ccb0b701dd11369388ca27101732339f49d8d908ace4b23af0b7ce89\nmsg = f26991537257378151f4776aad28ae8bd16b\nresult = valid\ntag = e0a21716ed94c0382fa9b0903d15bb68\n\n# tcId = 39\naad = b8373438ddb2d6c3\nct = e0a745186c1a7b147f74faff2a715df5c19d\niv = bfd6ff40f2df8ca7845980cc\nkey = 68888361919bc10622f45df168e5f6a03bd8e884c0611bea2f34c1882ed9832b\nmsg = ff97f2eefb3401ac31fc8dc1590d1a92cbc1\nresult = valid\ntag = 917baf703e355d4d950e6c05fe8f349f\n\n# tcId = 40\naad = \nct = d6e0ed54fccef30bd605d72da3320e249a9cb5\niv = 2343de88be6c7196d33b8694\nkey = 1b35b856b5a86d3403d28fc2103a631d42deca5175cdb0669a5e5d90b2caafc5\nmsg = 21ef185c3ae9a96fa5eb473878f4d0b242781d\nresult = valid\ntag = c68bc6724ec803c43984ce42f6bd09ff\n\n# tcId = 41\naad = cc4efd8364fb114a\nct = 29e54d608237c3c3609dba16e6edf43842d72f\niv = 1af1d90e877e11a496efa3df\nkey = d6484e3973f6be8c83ed3208d5be5cfa06fda72fbfdc5b19d09be3f4e4eba29d\nmsg = 7335ab04b03e706109ec3ee835db9a246ea0ad\nresult = valid\ntag = d3365fdcd506aaaa5368661e80e9d99b\n\n# tcId = 42\naad = \nct = 7fe606652d858f595ec2e706754fa3d933fcc834\niv = 1e7e67be948de7352ffdb727\nkey = 422add37849d6e4c3dfd8020dc6a07e8a249788f3d6a83b9cb4d802362c97542\nmsg = d7f5e611dd3a2750fb843fc1b6b93087310dc87d\nresult = valid\ntag = 78d59235aa5d03a4c32590e590c04d22\n\n# tcId = 43\naad = 956846a209e087ed\nct = 14f707c446988a4903775ec7acec6da114d43112\niv = 376187894605a8d45e30de51\nkey = cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17\nmsg = e28e0e9f9d22463ac0e42639b530f42102fded75\nresult = valid\ntag = 987d4b147c490d43d376a198cab383f0\n\n# tcId = 44\naad = \nct = 1003f13ea1329cbb187316f64c3ff3a87cf5b96661\niv = f9d6320d7ce51d8ed0677d3a\nkey = e79dfc6d2fc465b8439e1c5baccb5d8ef2853899fc19753b397e6c25b35e977e\nmsg = 4f543e7938d1b878dacaeec81dce4899974816813b\nresult = valid\ntag = d2323ad625094bec84790d7958d5583f\n\n# tcId = 45\naad = 093053e20261daab\nct = 2d48b0834e9ffe3046103ef7a214f02e8e4d33360e\niv = 50ba1962cdc32a5a2d36e640\nkey = 1d7b8f1d96a1424923aef8a984869d4a777a110990ba465627acf80396c7f376\nmsg = 5d3efd5767f3c12efd08af9a44e028ae68c9eff843\nresult = valid\ntag = d533ad089be229ea606ec0f3fa22eb33\n\n# tcId = 46\naad = \nct = e9917ff3e64bbe1783579375e75ea823976b35539949\niv = c9cc0a1afc38ec6c30c38c68\nkey = dd433e28cfbcb5de4ab36a02bf38686d83208771a0e63dcd08b4df1a07ac47a1\nmsg = 8a3e17aba9606dd49e3b1a4d9e5e42f1742373632489\nresult = valid\ntag = 074a890669b25105434c75beed3248db\n\n# tcId = 47\naad = b2a4e12a19a61c75\nct = db4c700513818972b0dc0e531b1c281ca03e40c60dea\niv = 8ba77644b08d65d5e9f31942\nkey = a60924101b42ac24154a88de42142b2334cf599176caf4d1226f712dd9172930\nmsg = c949957e66439deee4b2ac1d4a6c98a6c527b90f52ab\nresult = valid\ntag = 63f4478bba2af469a7a4dc3b4f141360\n\n# tcId = 48\naad = \nct = b5f14617491fc923b683e2cc9562d043dd5986b97dbdbd\niv = 4b3dca84ecc407f424f281a9\nkey = 1aa42027836965b1e6086fa137f9cf7f1ff48676696829bd281ff81c8ea0a4a9\nmsg = 37252a3eb5c8960f0567e503a9035783b3d0a19a4b9a47\nresult = valid\ntag = 972ce54713c05c4bb4d088c0a30cacd3\n\n# tcId = 49\naad = 413036411af75745\nct = b7ca3879f95140bf6a97b3212218b7bf864a51e5bb0b3e\niv = acad618039b317470d21621b\nkey = 5d40db0cc18ef2e42815d3b6245a466a0b30a0f93e318ac10edde3bf8ad98160\nmsg = 959dde1ef3129b27702c558849e466f2baca1a45bdf4b2\nresult = valid\ntag = fe558fb570145470ea693eb76eb73171\n\n# tcId = 50\naad = \nct = 42f26c56cb4be21d9d8d0c80fc99dde00d75f38074bfe764\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 54aa7e13d48fff7d7557039457040a3a\n\n# tcId = 51\naad = 3e8bc5ade182ff08\nct = 123032437b4bfd6920e8f7e7e0087ae4889ebe7a0ad0e900\niv = 6b282ebecc541bcd7834ed55\nkey = c5bc09565646e7edda954f1f739223dada20b95c44ab033d0fae4b0283d18be3\nmsg = 9222f9018e54fd6de1200806a9ee8e4cc904d29f25cba193\nresult = valid\ntag = 3cf68f179550da63d3b96c2d55411865\n\n# tcId = 52\naad = \nct = 1d218c9f1f9f02f248a6f976a7557057f37d9393d9f213c1f3\niv = abfaf42e0dba884efcf07823\nkey = 9460b3c44ed86e70f3bda66385e1ca10b0c1677ef4f1360532830d17535f996f\nmsg = 5c5cce881b93fb7a1b7939af1ffc5f84d3280ada778cca0953\nresult = valid\ntag = bc88344c6fdc898feed394fb28511316\n\n# tcId = 53\naad = 84cdff939391c022\nct = 9715d344e8d3f3a3eaa98a9cea57c0cd717c6ef5076027c9ec\niv = 85f18ad8ff72cafee2452ab8\nkey = c111d6d5d78a071b15ab37cc8c3819199387ab7c1933aa97b1489f6584ba8e2a\nmsg = 6989c646a10b7c76f4d9f7d574da40e152013cf0dd78f5aa8a\nresult = valid\ntag = 3056ff5ee0aa8636bb639984edb5236b\n\n# tcId = 54\naad = \nct = 9089bbdb8bcfd124e227bf75c4bfe1cba2004a274fc31aa32358\niv = a6f9a8d335fa84c3b27dcd2a\nkey = 8a1b1e699a0c4a3e610b10902daedab1bf1ea0d505c47d7842cbcee0d3b1b6e6\nmsg = ee6a15fc183108f0877e7f2b8a9615f4b3fc36e1c83440f66aad\nresult = valid\ntag = fd2e21c64a019621c68594826cd7b1cd\n\n# tcId = 55\naad = 85073f2edc13d3a1\nct = 796ffb70ab43e7fa79f95583e384524727bb3e47fc45b969f714\niv = ebc19fc9ecb2339908ea3836\nkey = 74b384e6e013ec4172ed7a28a10fb9bb79b4be2a24f6999e3d3caa28e64a8656\nmsg = 3aa9f7372f056e5a0729752d9a37132d6dd07c56792e1c7582a9\nresult = valid\ntag = c3322b4445de5f3c9f18dcc847cc94c3\n\n# tcId = 56\naad = \nct = 49c81d17d67d7ba9954f497d0b0ddc21f3f839c9d2cc198d30bc2c\niv = f3307430f492d2b8a72d3a81\nkey = 77d824795d2029f0eb0e0baab5cfeb32f7e93474913a7f95c737a667a3c33314\nmsg = 0c4179a497d8fdd72796fb725692b805d63b7c718359cf10518aee\nresult = valid\ntag = 50009899e5b2a9726c8f3556cadfbe84\n\n# tcId = 57\naad = 73365f6d80edb1d8\nct = 4c129fc13cbdd9d3fe81ac755bf4fbea2fdd7e0aca0505a6ee9637\niv = 342ada4f0c115124b222df80\nkey = bec5eac68f893951cbd7d1ecd3ee6611130dd9c3f80cddf95111d07d5edd76d1\nmsg = 481433d8b1cd38af4a750e13a64b7a4e8507682b3517595938a20e\nresult = valid\ntag = 9cede1d30a03db5d55265d3648bc40d4\n\n# tcId = 58\naad = \nct = a6fa8f57ddc81d6099f667dd62402b6a5d5b7d05a329298029113169\niv = 9544d41ece0c92ef01cfac2d\nkey = a59c1e13064df8f2b8df77a492b0ca2eae921b52a84b305a3a9a51408a9ecb69\nmsg = 1c35b898821ba55c2617c25df9e6df2a8002b384902186cd69dfd20e\nresult = valid\ntag = bb24e38b31dbbc3e575b9e3ee076af2a\n\n# tcId = 59\naad = 770f6e6e89a3fe8e\nct = fd42cb5cf894f879e3cf751662aaa58a2288cc53548802becaf42359\niv = 829f005e980f0a6e2f983eaa\nkey = 084b5d7365f1a8fec6365939ed741e6ea5893e0318d82ab47500a97d77aaa041\nmsg = 7510016efadc385a71ed689ceb590c8ea9cc1e81b793338bddf5f10c\nresult = valid\ntag = 188329438afe1cd7225d0478aa90c773\n\n# tcId = 60\naad = \nct = 402302b56140c4dcc39774732c55883de124ce4bf0a0261cfa1569e2cf\niv = 4946a0d6adea93b82d4332e5\nkey = 5a7f850a1d9aafa77d59ae1b731965e8aaec6352280fc76a7b5e23ef3610cfe4\nmsg = 3c161d791f624fb0388e808f0f69ed790dbe4cbd089ebac46627bcf01d\nresult = valid\ntag = e830bfe933a96786cff2dd72b82c4bd5\n\n# tcId = 61\naad = f2415377ad283fd8\nct = d052932bad6e6c4f835f02019e52d7ff807dc2a5aac2040883c79dd3d5\niv = 2f90a65e9e48725de6ffc727\nkey = e6d5a4246f6f05618b59c8f9ec3ac8068cc0d3f351c571aa52b09cb251f9c2f6\nmsg = 964fc9e0e8355947aa1c2caadd7b3dbef82a1024e623606fac436ef573\nresult = valid\ntag = 655f93396b4d755dc4475721665fed91\n\n# tcId = 62\naad = \nct = 83f5c77396cabd28dfcc002cba0756d4ea5455e0261d847d5708aac21e8d\niv = a797205a6cacdd7e47a4789d\nkey = 09e822123adbb1ed89b79a58619c64853992f8371d46338712f6c91ab11a68bb\nmsg = 80b71bbe833629841bd3aeaeb9db6123e51d367b436", + "fe9d2d3454b62cfad\nresult = valid\ntag = 705a05820a21f381d244d40e58d2f16b\n\n# tcId = 63\naad = 200a9c95946ff05c\nct = 209b7539385c8b19ecd0fd8b5011b2996e316f1942064e68edfa363acbcd\niv = 9d8cdf289dddd09afdc1b02f\nkey = 625735fe7f8fc81b0c1edc3d08a78b41268f87a3c68488b674222630c1d587a5\nmsg = 67ae1882d0b1c1b2485bec98115ecf53b9b438deb1d0400531705038873a\nresult = valid\ntag = fa2f454b9fa2608f780f7c6f9b780fe1\n\n# tcId = 64\naad = \nct = 45c7d6b53acad4abb68876a6e96a48fb59524d2c92c9d8a189c9fd2db91746\niv = 04a9be03508a5f31371a6fd2\nkey = 2eb51c469aa8eb9e6c54a8349bae50a20f0e382711bba1152c424f03b6671d71\nmsg = b053999286a2824f42cc8c203ab24e2c97a685adcc2ad32662558e55a5c729\nresult = valid\ntag = 566d3ca10e311b695f3eae1551652493\n\n# tcId = 65\naad = 374618a06ea98a48\nct = 46a80c4187024720084627580080dde5a3f4a11093a7076ed6f3d326bc7b70\niv = 470a339ecb3219b8b81a1f8b\nkey = 7f5b74c07ed1b40fd14358fe2ff2a740c116c7706510e6a437f19ea49911cec4\nmsg = f45206abc25552b2abc9ab7fa243035fedaaddc3b2293956f1ea6e7156e7eb\nresult = valid\ntag = 534d4aa2835a52e72d14df0e4f47f25f\n\n# tcId = 66\naad = \nct = ea29afa49d36e8760f5fe19723b9811ed5d519934a440f5081ac430b953b0e21\niv = 72cfd90ef3026ca22b7e6e6a\nkey = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3\nmsg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678\nresult = valid\ntag = 222541af46b86533c6b68d2ff108a7ea\n\n# tcId = 67\naad = 2333e5ce0f93b059\nct = 6dad637897544d8bf6be9507ed4d1bb2e954bc427e5de729daf50762846ff2f4\niv = 262880d475f3dac5340dd1b8\nkey = 27d860631b0485a410702fea61bc873f3442260caded4abde25b786a2d97f145\nmsg = 6b2604996cd30c14a13a5257ed6cffd3bc5e29d6b97eb1799eb335e281ea451e\nresult = valid\ntag = 7b997d93c982189d7095dc794c746232\n\n# tcId = 68\naad = \nct = f5982b601c7a18fc72a65b218c44974dc564d8314cbe6f87fcf6c6cfbe618b34b1\niv = c26c4b3bfdb97ee6b0f63ca1\nkey = 5155dee9aade1cc61ee7e3f92660f7590f5e5ba82f1b59b850e3fa453d2fa6b3\nmsg = 2734e08eff8f5c4f84fa0c207f49c7fd78af1ad5123ff81f83f500edf4eda09edf\nresult = valid\ntag = c43632f55760b5d1ed37556a94d049b5\n\n# tcId = 69\naad = e99698241c599b5f\nct = eaf6810e6ec1cb7a2918856257d1aa3d51a827879146c6337ecf535e9c89b149c5\niv = ad8050dc6d122dce3e5639ed\nkey = 573f08ebbe0cce4ac9618e8c3b224bea0a32f055c6996838a32f527ca3c3b695\nmsg = 668d5e3f95fe030daf432a5fc5837af3a79c81e94b28d8204c5ee262ab3c9908a7\nresult = valid\ntag = a2950c2f394a3466c345f796323c1aa7\n\n# tcId = 70\naad = \nct = fba78ae4f9d808a62e3da40be2cb7700c3613d9eb2c529c652e76a432c658d27095f0eb8f940c324981ea935e507f9\niv = e74a515e7e2102b90bef55d2\nkey = cf0d40a4644e5f51815165d5301b22631f4544c49a1878e3a0a5e8e1aae0f264\nmsg = 973d0c753826bae466cf9abb3493152e9de7819e2bd0c71171346b4d2cebf8041aa3cedc0dfd7b467e26228bc86c9a\nresult = valid\ntag = 8f046956db3a512908bd7afc8f2ab0a9\n\n# tcId = 71\naad = b3e4064683b02d84\nct = a1ffed80761829ecce242e0e88b138049016bca018da2b6e19986b3e318cae8d806198fb4c527cc39350ebddeac573\niv = d4d807341683825b31cd4d95\nkey = 6cbfd71c645d184cf5d23c402bdb0d25ec54898c8a0273d42eb5be109fdcb2ac\nmsg = a98995504df16f748bfb7785ff91eeb3b660ea9ed3450c3d5e7b0e79ef653659a9978d75542ef91c456762215640b9\nresult = valid\ntag = c4cbf0befda0b70242c640d7cd02d7a3\n\n# tcId = 72\naad = \nct = 9a4ef22b181677b5755c08f747c0f8d8e8d4c18a9cc2405c12bb51bb1872c8e8b877678bec442cfcbb0ff464a64b74332cf072898c7e0eddf6232ea6e27efe50\niv = d61040a313ed492823cc065b\nkey = 5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701\nmsg = d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82\nresult = valid\ntag = 9ff3427a0f32fa566d9ca0a78aefc013\n\n# tcId = 73\naad = 7193f623663321a2\nct = 5fbbdecc34be201614f636031eeb42f1cace3c79a12cffd871ee8e73820c829749f1abb4294367849fb6c2aa56bda8a3078f723d7c1c852024b017b58973fb1e\niv = d31c21aba175b70de4ebb19c\nkey = 97d635c4f47574d9998a90875da1d3a284b755b2d39297a5725235190e10a97e\nmsg = 94ee166d6d6ecf8832437136b4ae805d428864359586d9193a25016293edba443c58e07e7b7195ec5bd84582a9d56c8d4a108c7d7ce34e6c6f8ea1bec0567317\nresult = valid\ntag = 09263da7b4cb921452f97dca40f580ec\n\n# tcId = 74\naad = \nct = d0102f6c258bf49742cec34cf2d0fedf23d105fb4c84cf98515e1bc9a64f8ad5be8f0721bde50645d00083c3a263a31053b760245f52ae2866a5ec83b19f61be1d30d5c5d9fecc4cbbe08fd385813a2aa39a00ff9c10f7f23702add1e4b2ffa31c\niv = 17c86a8abbb7e003acde2799\nkey = fe6e55bdaed1f7284ca5fc0f8c5f2b8df56dc0f49e8ca66a41995e783351f901\nmsg = b429eb80fb8fe8baeda0c85b9c333458e7c2992e558475069d12d45c22217564121588032297eff56783742a5fc22d7410ffb29d66098661d76f126c3c27689e43b37267cac5a3a6d3ab49e391da29cd3054a5692e2807e4c3ea46c8761d50f592\nresult = valid\ntag = 41865fc71de12b19612127ce49993bb0\n\n# tcId = 75\naad = a11c40b603767330\nct = 7545391b51de01d5c53dfaca777909063e58edee4bb1227e7110ac4d2620c2aec2f848f56deeb037a8dced75afa8a6c890e2dee42f950bb33d9e2424d08a505d899563973ed38870f3de6ee2adc7fe072c366c14e2cf7ca62fb3d36bee11685461\niv = 46362f45d6379e63e5229460\nkey = aabc063474e65c4c3e9bdc480dea97b45110c8618846ff6b15bdd2a4a5682c4e\nmsg = ceb534ce50dc23ff638ace3ef63ab2cc2973eeada80785fc165d06c2f5100ff5e8ab2882c475afcd05ccd49f2e7d8f55ef3a72e3dc51d6852b8e6b9e7aece57be6556b0b6d9413e33fc5fc24a9a205ad59574bb39d944a92dc47970d84a6ad3176\nresult = valid\ntag = b70d44ef8c66c5c7bbf10dcadd7facf6\n\n# tcId = 76\naad = \nct = 294a764c03353f5f4f6e93cd7e977480d6c343071db0b7c1f0db1e95b85e6053f0423168a9c7533268db9a194e7665359d14489bc47172a9f21370e89b0bd0e5ef9661738de282572bcc3e541247626e57e75dec0f91ac5c530bd1a53271842996dcd04d865321b1ecb6e7630114fe780291b8dc3e5d0abc8e65b1c5493e9af0\niv = 8a3ad26b28cd13ba6504e260\nkey = d7addd3889fadf8c893eee14ba2b7ea5bf56b449904869615bd05d5f114cf377\nmsg = c877a76bf595560772167c6e3bcc705305db9c6fcbeb90f4fea85116038bc53c3fa5b4b4ea0de5cc534fbe1cf9ae44824c6c2c0a5c885bd8c3cdc906f12675737e434b983e1e231a52a275db5fb1a0cac6a07b3b7dcb19482a5d3b06a9317a54826cea6b36fce452fa9b5475e2aaf25499499d8a8932a19eb987c903bd8502fe\nresult = valid\ntag = f2b974ca0f14fb9f92014bff18573cff\n\n# tcId = 77\naad = 0587af8530ad0547\nct = 2b90b4f3de280c44913d1984bdd5dfa0566c6a14a058659a9b623277b0bb6e82101e79395d12e643f62d9a822bae497907493e4f8213fcf99da8a78fdf867af36bc8b0931c1886b4f0ae5729986494dbd59737e956cd8f226c7c522689d082f023894d54acab0c4d609f3746a67369bb8876008f7fd3dc6681c5fb9d728c5911\niv = 903188433c1ce8971aa19b9d\nkey = 80be86fb6fc49bc73428cab576f6ad72ff6aca04001b8b1c57a7128be73900aa\nmsg = 67ce499cd8ed68bd717dfe61c60f27d260b1c163a72e8cc8597253d3d987c2dbe1bff2e44d9bd4765d3e53d9c3f8eb3b90e751f47c7157bdc1142bc33f5833ac1cd1262cbb239066b334a4ed99ae82c74f2b49540f1a614bc239d8fc5add8c178184e41281f6e66c5c3117fd953547f7c829425b5082aa69686847eaf5784692\nresult = valid\ntag = f005ebe1c1ada75a9cee8d630881d5b8\n\n# tcId = 78\naad = 02\nct = 7e72f5a185af16a611921b438f749f0b\niv = 87345f1055fd9e2102d50656\nkey = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c\nmsg = e5ccaa441bc814688f8f6e8f28b500b2\nresult = valid\ntag = 1242c670732334029adfe1c5001651e4\n\n# tcId = 79\naad = b648\nct = 85f29a719557cdd14d1f8fffab6d9e60\niv = 87a3163ec0598ad95b3aa713\nkey = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc\nmsg = 02cde168fba3f544bbd0332f7adeada8\nresult = valid\ntag = 732ca32becd515a1ed353f542e999858\n\n# tcId = 80\naad = 8b71ac\nct = d46e8265a8c6a25393dd956bb44397ad\niv = 25b7bdf4a6dcbf7c9a3ec2b3\nkey = 7afa0f59dfcb5ad3a76490c5c804327c8d052be737a60fa8bcbf0a2c36630a43\nmsg = 623e6ba6d3166a338bfcc7af90a230c8\nresult = valid\ntag = e28f3ad9e3ef4a3d94ee07bf538eaafb\n\n# tcId = 81\naad = 3a5ddf40\nct = 2d3cb2d9303491e264f2904f0e0753f4\niv = 6fb0d1417cdfff4df37db08c\nkey = 2ec25b0ec7ac244224e9c7fc2fa5d3ef17809e19fd6e954158dd0d72738a4cc8\nmsg = a1c933768a6d573ebf68a99e5e18dae8\nresult = valid\ntag = 6c1db959362d217b2322b466536bfea0\n\n# tcId = 82\naad = 9eec540bb0\nct = a988c03c71b956ff086d0470d706bd34\niv = 2538fc67afb9eab333f83290\nkey = 0a2cf52371cf9d9f95b10108fc82b4fd6110a8ba9a88a26083685ad29826891a\nmsg = 0d8c691d044a3978d790432dc71d69f8\nresult = valid\ntag = b35d7cbf2beb894b0c746e0730429e15\n\n# tcId = 83\naad = 56e014d97c74\nct = 32bf95d4c195dbaf58d9af4001c6e57d\niv = a071be999151e2a1c41c81e9\nkey = 307e886b38bb18b445f8a2c6d6f8932492a9cea8d041ba72eb5efdfa70d0b8d2\nmsg = 9aba22b495cb7ec887ddaa62019aa14d\nresult = valid\ntag = 4393808703d67a90870578046cd8b525\n\n# tcId = 84\naad = bb5a3812f0aefd\nct = 2a2", + "07ca7e9da6b13a229604304d87eb1\niv = 3fa378a1befdddd61ae68cf4\nkey = dacd51a8a8e4d5905b4cbb947ef4013eb296889353f3c9ee35f5577b26737a51\nmsg = e148313883a77da121124d06b1c77dca\nresult = valid\ntag = 8a6b6afec87d93ec6e8dbe13d84c0f8c\n\n# tcId = 85\naad = f94bb92c1c668a695b\nct = 548a5ca0ae49211cdf30bbdcb1352d31\niv = aa077a5ce9161bde8d8edc40\nkey = 7b5fbbb202c16108fd13066446853a850d8b34e9da40519580da446a922f9162\nmsg = da471cd6935a0ca8307ddedc6b959962\nresult = valid\ntag = 204dacb98f8c8908cc5ea22bb23f901f\n\n# tcId = 86\naad = 2155627ec15a978fbcb2\nct = 28cedac24f14caa326c7fe401f68a87c\niv = 598114e8cf7fbdea8ad29683\nkey = 1ffd101eb97531f6faa821ec4d5c5702725dd033d3b830bb760c4ef27ba983df\nmsg = 28668ca8db535c7e8eb27491ad0fb7cb\nresult = valid\ntag = 2bf1b2c43d3039f8f5ce359c1102f879\n\n# tcId = 87\naad = 37ad668d4d4fe889949763\nct = 7256e856872ad3a54b34a2a6bdca8838\niv = 9acd213570ce9bb9d886c6ef\nkey = d2d0a973d5951af352cbee57ac9dab1c284c99af3b992ce015f219506f64888d\nmsg = 3f3f0076250352e1b6b5c12cfa12625e\nresult = valid\ntag = 3b12e4586e45223f78a6eea811efb863\n\n# tcId = 88\naad = b334375415f6215c0bf89a9a\nct = 852c141b4239a31feeda03550d70a2be\niv = 9183cdf3a8ba7397b6b2d5d5\nkey = adcc520b381382237d05a6400a7dfbcd0771b6aa9edb7966131ddef6af21f1be\nmsg = 958295619cf1b36f0b474663c0bc79eb\nresult = valid\ntag = 5fc59287b92d3fcf7d66f13defb11b0d\n\n# tcId = 89\naad = 2866afff0bcc6135dc63af88c8\nct = 89d6d089c4a255952aca11b24a01ff95\niv = 412c3e13ee1f7864bd15ce39\nkey = bd534f7adeca466844fb3ba34658be807f15c5291ed6026860a24f179b712c89\nmsg = d92f8ce5d8d0ad2eb5f11af02ef63949\nresult = valid\ntag = f88fa4531204da315e7317970240ce9e\n\n# tcId = 90\naad = ea2575f123268e936c8e4c8c1bb8\nct = 01ffb343c757b27843d8a900a36ce39d\niv = 9be090dba93deff27adf99ee\nkey = 910ade7d324d2c9688439e1f142e0e5f9d130ff832e507fe1985e5a26452a6d0\nmsg = 6e356094ed9d9a7053c7906c48ba3d9f\nresult = valid\ntag = a315541b7d6313c6fddf64b303d71d60\n\n# tcId = 91\naad = bd4cd02fc7502bbdbdf6c9a3cbe8f0\nct = c1b295936d56fadac03e5f742bff73a1\niv = 6f573aa86baa492ba46596df\nkey = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f\nmsg = 16ddd23ff53f3d23c06334487040eb47\nresult = valid\ntag = 39c457dbab66382babb3b55800cda5b8\n\n# tcId = 92\naad = 89cce9fb47441d07e0245a66fe8b778b\nct = c84c9bb7c61c1bcb17772a1c500c5095\niv = 1a6518f02ede1da6809266d9\nkey = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016\nmsg = 623b7850c321e2cf0c6fbcc8dfd1aff2\nresult = valid\ntag = dbadf7a5138ca03459a2cd65831e092f\n\n# tcId = 93\naad = d19f2d989095f7ab03a5fde84416e00c0e\nct = 94bc80621ed1e71b1fd2b5c3a15e3568\niv = 564dee49ab00d240fc1068c3\nkey = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657\nmsg = 87b3a4d7b26d8d3203a0de1d64ef82e3\nresult = valid\ntag = 333511861796978401598b963722f5b3\n\n# tcId = 94\naad = 5e6470facd99c1d81e37cd44015fe19480a2a4d3352a4ff560c0640fdbda\nct = 299b5d3f3d03c087209a16e285143111\niv = df8713e87ec3dbcfad14d53e\nkey = 56207465b4e48e6d04630f4a42f35cfc163ab289c22a2b4784f6f9290330bee0\nmsg = e601b38557797da2f8a4106a089d1da6\nresult = valid\ntag = 4b454ed198de117e83ec49fa8d8508d6\n\n# tcId = 95\naad = e0100eb116cdc5e22a3b9f9b4126c149595e75107f6e237c69e82960052270\nct = 1e9687b35fbc8eaa1825ed3847798f76\niv = 28adcbc74364f26dd4b3108b\nkey = 077433022ab34d380fc192fc24c2edc6301fec6f24442f572a1087ff2e05b39a\nmsg = 03c874eeaaa6fa9f0da62c758fb0ad04\nresult = valid\ntag = 0788bf70fd04030ecd1c96d0bc1fcd5d\n\n# tcId = 96\naad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37\nct = 605bbf90aeb974f6602bc778056f0dca\niv = 8df4b15a888c33286a7b7651\nkey = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130\nmsg = dc9e9eaf11e314182df6a4eba17aec9c\nresult = valid\ntag = 38ea23d99054b46b42ffe004129d2204\n\n# tcId = 97\naad = d41a828d5e71829247021905402ea257dccbc3b80fcd5675056b68bb59e62e8873\nct = 7b7ce0d824809a70de32562ccf2c2bbd\niv = be40e5f1a11817a0a8fa8949\nkey = 36372abcdb78e0279646ac3d176b9674e9154eecf0d5469c651ec7e16b4c1199\nmsg = 81ce84ede9b35859cc8c49a8f6be7dc6\nresult = valid\ntag = 15d44a00ce0d19b4231f921e22bc0a43\n\n# tcId = 98\naad = 3f2dd49bbf09d69a78a3d80ea2566614fc379474196c1aae84583da73d7ff85c6f42ca42056a9792cc1b9fb3c7d261\nct = ca82bff3e2f310ccc976672c4415e69b\niv = 84c87dae4eee27730ec35d12\nkey = 9f1479ed097d7fe529c11f2f5add9aaff4a1ca0b68997a2cb7f79749bd90aaf4\nmsg = a66747c89e857af3a18e2c79500087ed\nresult = valid\ntag = 57638c62a5d85ded774f913c813ea032\n\n# tcId = 99\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf074b7283992e24b1ac0df0d22b555dbe2254d94a43f1de748d3cc6f0d\nresult = valid\ntag = 39f4fce3026d83789ffd1ee6f2cd7c4f\n\n# tcId = 100\naad = 00000000000000000000000000000000\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf074b7283992e24b1ac0df0d22b555dbe2254d94a43f1de748d3cc6f0d20c142fe898fbbe668d4324394434c1b18b58ead710aed9c31db1f2a8a1f1bb2\nresult = valid\ntag = f5eaa804605c3a4785f9d7f13b6f67d6\n\n# tcId = 101\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf074b7283992e24b1ac0df0d22b555dbe2254d94a43f1de748d3cc6f0d20c142fe898fbbe668d4324394434c1b18b58ead710aed9c31db1f2a8a1f1bb24405c183af94ee1ad630cd931158a6213d48c8fff10d0a1f9ef760188e658802aad55e41a1d99069a18db55c56af7c10a6f21ecc8af9b7ce0a7ea0b67426e925\nresult = valid\ntag = 9b5c43a78d954e8a3c659eebc13d5d55\n\n# tcId = 102\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2\nresult = valid\ntag = 37e3399d9ca696799f08f4f72bc0cdd8\n\n# tcId = 103\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 3d52710bec86d4ea9fea2ff269549191\n\n# tcId = 104\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44dbbfa3e7c506b11e529cf326ceea759dec2b737000ef2f5e061089fe7719a77fd552aa1be5e266f965e724aa3a95083ef590de13375064831f5815f498bd916da\nresult = valid\ntag = 51356329e280b12d55d3d98f0a580cbe\n\n# tcId = 105\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63b7074b728b992e24b9ac0df0da2b555db62254d94243f1de7c8d3cc6f8d\nresult = valid\ntag = c152a4b90c548c71dc479edeaf9211bf\n\n# tcId = 106\naad = 00000080000000800000008000000080\nct = 00000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63b7074b728b992e24b9ac0df0da2b555db62254d94243f1de7c8d3cc6f8d20c1427e898fbb6668d432c394434c9b18b5", + "8e2d710aed1c31db1faa8a1f1b32\nresult = valid\ntag = 40ef6383052d91c2e4b4611b0e32c5ff\n\n# tcId = 107\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63b7074b728b992e24b9ac0df0da2b555db62254d94243f1de7c8d3cc6f8d20c1427e898fbb6668d432c394434c9b18b58e2d710aed1c31db1faa8a1f1b324405c103af94ee9ad630cd131158a6a13d48c87ff10d0a9f9ef760988e658882aad55ec1a1d990e9a18db5dc56af7c90a6f21e4c8af9b74e0a7ea0367426e9a5\nresult = valid\ntag = ae9b542541e84fc74542eed6be638fee\n\n# tcId = 108\naad = 80000000800000008000000080000000\nct = 8000000080000000800000008000000080000000800000008000000080000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e5b63bf0f4b7283912e24b1a40df0d223555dbe2a54d94a4bf1de74853cc6f0d\nresult = valid\ntag = 10fee3ecfba9cdf797bae37a626ec83b\n\n# tcId = 109\naad = 80000000800000008000000080000000\nct = 80000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e5b63bf0f4b7283912e24b1a40df0d223555dbe2a54d94a4bf1de74853cc6f0da0c142fe098fbbe6e8d4324314434c1b98b58eadf10aed9cb1db1f2a0a1f1bb2\nresult = valid\ntag = 7490795bdbbbf5d0aecb9a4f65aa379f\n\n# tcId = 110\naad = 80000000800000008000000080000000\nct = 8000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e5b63bf0f4b7283912e24b1a40df0d223555dbe2a54d94a4bf1de74853cc6f0da0c142fe098fbbe6e8d4324314434c1b98b58eadf10aed9cb1db1f2a0a1f1bb2c405c1832f94ee1a5630cd939158a621bd48c8ff710d0a1f1ef760180e6588022ad55e4121d99069218db55cd6af7c1026f21ecc0af9b7ce8a7ea0b6f426e925\nresult = valid\ntag = 1d1096a8ca9e2bda2762c41d5b16f62f\n\n# tcId = 111\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c48f8b48d7466d1db4653f20f25d4aaa249ddab26bdbc0e218372c339072\nresult = valid\ntag = af8492c792bf8d8062be74ff6efb3869\n\n# tcId = 112\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c48f8b48d7466d1db4653f20f25d4aaa249ddab26bdbc0e218372c339072df3ebd8176704499972bcd3c6bbcb364e74a71d28ef512e3ce24e05575e0e4cd\nresult = valid\ntag = f24db68c46b67d6f402fa6c897913368\n\n# tcId = 113\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c48f8b48d7466d1db4653f20f25d4aaa249ddab26bdbc0e218372c339072df3ebd8176704499972bcd3c6bbcb364e74a71d28ef512e3ce24e05575e0e4cdbbfa3efc506b116529cf32eceea7595ec2b737800ef2f56061089f67719a777d552aa13e5e266f165e724a23a950836f590de1b3750648b1f5815fc98bd9165a\nresult = valid\ntag = 43f651ab2e2eb0f04bf689a40d32da24\n\n# tcId = 114\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1a49c40f0b48d7c6ed1db4e5bf20f2ddcaaa241d5ab26b5b40e218b7ac3390f2\nresult = valid\ntag = 60d95294a3694cfaa64b2f63bc1f82ec\n\n# tcId = 115\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1a49c40f0b48d7c6ed1db4e5bf20f2ddcaaa241d5ab26b5b40e218b7ac3390f25f3ebd01f6704419172bcdbcebbcb3e4674a71520ef512634e24e0d5f5e0e44d\nresult = valid\ntag = beaca0b47027196176186d944019c1c8\n\n# tcId = 116\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1a49c40f0b48d7c6ed1db4e5bf20f2ddcaaa241d5ab26b5b40e218b7ac3390f25f3ebd01f6704419172bcdbcebbcb3e4674a71520ef512634e24e0d5f5e0e44d3bfa3e7cd06b11e5a9cf326c6ea759de42b737008ef2f5e0e1089fe7f19a77fdd52aa1bede266f96de724aa3295083efd90de133f506483175815f490bd916da\nresult = valid\ntag = d4811028a577d4dd69d6b35d717f73e3\n\n# tcId = 117\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf08b48d7c692e24b1a3f20f2ddb555dbe2dab26b5b3f1de7482c3390f2\nresult = valid\ntag = 10fb61272b555bee104f5a71818716d6\n\n# tcId = 118\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf08b48d7c692e24b1a3f20f2ddb555dbe2dab26b5b3f1de7482c3390f220c142fe7670441968d432436bbcb3e418b58ead8ef5126331db1f2a75e0e44d\nresult = valid\ntag = 4756764e59583504182877d8c33120f0\n\n# tcId = 119\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf08b48d7c692e24b1a3f20f2ddb555dbe2dab26b5b3f1de7482c3390f220c142fe7670441968d432436bbcb3e418b58ead8ef5126331db1f2a75e0e44d4405c183506b11e5d630cd93eea759de3d48c8ff0ef2f5e09ef76018719a77fdaad55e415e266f96a18db55ca95083efa6f21ecc750648310a7ea0b68bd916da\nresult = valid\ntag = 95a2b12a4a280089d4bd4f904253e754\n\n# tcId = 120\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f74b728396d1db4e5c0df0d224aaa241d254d94a4c0e218b7d3cc6f0d\nresult = valid\ntag = 60dcd45974bebe032eb7b86c9d063452\n\n# tcId = 121\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f74b728396d1db4e5c0df0d224aaa241d254d94a4c0e218b7d3cc6f0ddf3ebd01898fbbe6972bcdbc94434c1be74a7152710aed9cce24e0d58a1f1bb2\nresult = valid\ntag = f0e6a3c1f28ad92d0dbc900be291d877\n\n# tcId = 122\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000", + "\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f74b728396d1db4e5c0df0d224aaa241d254d94a4c0e218b7d3cc6f0ddf3ebd01898fbbe6972bcdbc94434c1be74a7152710aed9cce24e0d58a1f1bb2bbfa3e7caf94ee1a29cf326c1158a621c2b73700f10d0a1f61089fe78e658802552aa1bea1d990695e724aa356af7c10590de1338af9b7cef5815f497426e925\nresult = valid\ntag = 57eff4a525eeff2ebd7a28eb894282be\n\n# tcId = 123\n# Flipped bit 0 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f5409bb729039d0814ac514054323f44\n\n# tcId = 124\n# Flipped bit 1 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f6409bb729039d0814ac514054323f44\n\n# tcId = 125\n# Flipped bit 7 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 74409bb729039d0814ac514054323f44\n\n# tcId = 126\n# Flipped bit 8 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4419bb729039d0814ac514054323f44\n\n# tcId = 127\n# Flipped bit 31 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409b3729039d0814ac514054323f44\n\n# tcId = 128\n# Flipped bit 32 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb728039d0814ac514054323f44\n\n# tcId = 129\n# Flipped bit 33 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb72b039d0814ac514054323f44\n\n# tcId = 130\n# Flipped bit 63 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d8814ac514054323f44\n\n# tcId = 131\n# Flipped bit 64 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0815ac514054323f44\n\n# tcId = 132\n# Flipped bit 77 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d08148c514054323f44\n\n# tcId = 133\n# Flipped bit 80 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac504054323f44\n\n# tcId = 134\n# Flipped bit 96 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514055323f44\n\n# tcId = 135\n# Flipped bit 97 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514056323f44\n\n# tcId = 136\n# Flipped bit 120 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514054323f45\n\n# tcId = 137\n# Flipped bit 121 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514054323f46\n\n# tcId = 138\n# Flipped bit 126 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514054323f04\n\n# tcId = 139\n# Flipped bit 127 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514054323fc4\n\n# tcId = 140\n# Flipped bit 63 and 127 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d8814ac514054323fc4\n\n# tcId = 141\n# Tag changed to all zero expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 142\n# tag change to all 1 expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 143\n# Flipped bit 0 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 28914007a6119dd3f109bba21ce9a7d6\n\n# tcId = 144\n# Flipped bit 1 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2b914007a6119dd3f109bba21ce9a7d6\n\n# tcId = 145\n# Flipped bit 7 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a9914007a6119dd3f109bba21ce9a7d6\n\n# tcId = 146\n# Flipped bit 8 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29904007a6119dd3f109bba21ce9a7d6\n\n# tcId = 147\n# Flipped bit 31 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914087a6119dd3f109bba21ce9a7d6\n\n# tcId = 148\n# Flipped bit 32 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a7119dd3f109bba21ce9a7d6\n\n# tcId = 149\n# Flipped bit 33 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a4119dd3f109bba21ce9a7d6\n\n# tcId = 150\n# Flipped bit 63 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca5", + "2d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119d53f109bba21ce9a7d6\n\n# tcId = 151\n# Flipped bit 64 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f009bba21ce9a7d6\n\n# tcId = 152\n# Flipped bit 77 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f129bba21ce9a7d6\n\n# tcId = 153\n# Flipped bit 80 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109baa21ce9a7d6\n\n# tcId = 154\n# Flipped bit 96 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21de9a7d6\n\n# tcId = 155\n# Flipped bit 97 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ee9a7d6\n\n# tcId = 156\n# Flipped bit 120 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ce9a7d7\n\n# tcId = 157\n# Flipped bit 121 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ce9a7d4\n\n# tcId = 158\n# Flipped bit 126 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ce9a796\n\n# tcId = 159\n# Flipped bit 127 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ce9a756\n\n# tcId = 160\n# Flipped bit 63 and 127 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119d53f109bba21ce9a756\n\n# tcId = 161\n# Tag changed to all zero expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 162\n# tag change to all 1 expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 163\n# Flipped bit 0 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 67405a16e8b44eba92aa47f5cea52b7a\n\n# tcId = 164\n# Flipped bit 1 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 64405a16e8b44eba92aa47f5cea52b7a\n\n# tcId = 165\n# Flipped bit 7 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = e6405a16e8b44eba92aa47f5cea52b7a\n\n# tcId = 166\n# Flipped bit 8 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66415a16e8b44eba92aa47f5cea52b7a\n\n# tcId = 167\n# Flipped bit 31 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a96e8b44eba92aa47f5cea52b7a\n\n# tcId = 168\n# Flipped bit 32 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e9b44eba92aa47f5cea52b7a\n\n# tcId = 169\n# Flipped bit 33 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16eab44eba92aa47f5cea52b7a\n\n# tcId = 170\n# Flipped bit 63 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44e3a92aa47f5cea52b7a\n\n# tcId = 171\n# Flipped bit 64 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba93aa47f5cea52b7a\n\n# tcId = 172\n# Flipped bit 77 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba928a47f5cea52b7a\n\n# ", + "tcId = 173\n# Flipped bit 80 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa46f5cea52b7a\n\n# tcId = 174\n# Flipped bit 96 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cfa52b7a\n\n# tcId = 175\n# Flipped bit 97 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cca52b7a\n\n# tcId = 176\n# Flipped bit 120 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cea52b7b\n\n# tcId = 177\n# Flipped bit 121 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cea52b78\n\n# tcId = 178\n# Flipped bit 126 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cea52b3a\n\n# tcId = 179\n# Flipped bit 127 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cea52bfa\n\n# tcId = 180\n# Flipped bit 63 and 127 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44e3a92aa47f5cea52bfa\n\n# tcId = 181\n# Tag changed to all zero expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 182\n# tag change to all 1 expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 183\n# edge case for poly1305\n# key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef38c382cf07174142ea564920612997b1c2e38aca2438b588d5459493e97e7fa330ff9bc3b9458297ba0967d86ed090b435103478f2869b93ee29c837e95fb6b9903f3b735b7345428eb93b3db1d9b5187cebb889aa177d83e4f63fc9a5c0596eed939883d06aacdfdea44fdecdf5cb7fc\nresult = valid\ntag = c296436246c3a7c4b3ba09ab2a6a0889\n\n# tcId = 184\n# edge case for poly1305\n# key:278de313ffffffdfffe9acbf3ea59357c4e16a5bc120d346af4a8cf694a84374\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0001020304050607051e9373\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 931227274a89d0b3aade7fac62c96262c1e77b8dafd248f10ad37c6ccb69cb7131b041593c8bb8c3db38f39dd8a124c424fce4389dede1d3cb9d46cf95970aea9856b6e313d756197baf4fcb58df275bca8a2188f9e8a1ad04354ede542ddc30e8b735b2f5905f5811799282be94ae842ec126c55d2e667235e9acf1d48798f0\nresult = valid\ntag = 99a3b0fff6fdcbcce9dc5820f2a64861\n\n# tcId = 185\n# edge case for poly1305\n# key:0050799fe9e74fcffcffffcfd21aa8b5cb5aa2c6ab347b6886eedaca4bfff3c0\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0001020304050607048c3c5f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0df91f31230e8941e700a752fef08c897c511ed618fdf8a378a1f439013b40a48d4634c27d9ada7c0bb6f3fa92e341425903d7ecd0c49bee4c77e84b11f1c721922308642885b813fae364da32eaf120d6a43a74fb1632443667bfea6eef1be73eb1c3c0b5a57cee8dc4feed4a1fb9ae02f7b1695588c3c878451cb6ee0cb3dc\nresult = valid\ntag = eaff8f47ef9268fd0d94e8a9c4b78d24\n\n# tcId = 186\n# edge case for poly1305\n# key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715ba428a85431430eada56a2c5dc944b6aa6cef0b056a2eecc51d30838e640615e1458e0943e30f91ba41b4362fa9ed6037b21d14da7b4f76f9f68fa8903138d563ce2590af1201c7cfec2290cfce98a822ebb8d1ed9dc4e20d241755aff91cdfd10fdb69efa0d5c8082692601cbfbb955c7\nresult = valid\ntag = 86ed21fda080a7d13981078d86b3e3cd\n\n# tcId = 187\n# edge case for poly1305\n# key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "fffffffffffff\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5e66f8d1f971da17437a2b5e04fbca1671e847139a5f4e3f8e92d7a3b71eb4ff0e50354c0c1580af3662d5f8151e3f7e8264a0085c32ddfcbeb01a8be4c34d53319800ac4ef9d4e4014524bc7cd3387242e774f4d1a7a0521e42ec44844d0bd8b9d73fec959212fd7e8eacf4d984996d9b\nresult = valid\ntag = 34f9e0faa515eee0e784e6ef2678befa\n\n# tcId = 188\n# edge case for poly1305\n# key:0000003059ffce96438a246ff9536787d92bc40eafa0241a2972780ef6ca1ef8\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060726c6961b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = e97244259af5a379238da0cad2a5f493655ec0e5024fd553bbb3deb66a94036d106c3d513407b2dd1cc5936c4c9c1e4f4b37b54dec261c601dc99e90680e23e2dc5c9a8d503d8bea49a8cdca3706bfd2a3daa0afb19a70fd3d355fc37c13f3f9e5c8d0864a5f80a780b36d4698ec2ce9ccc27b97ecbe672e41628ebd773acb81\nresult = valid\ntag = 3c94b9fe60bdb35c6b7b73b765083492\n\n# tcId = 189\n# edge case for poly1305\n# key:3fa0ea9c030000a036217d42e775ad189b96e24ee591952e2922ff151334b9ec\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0001020304050607013da060\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 9453aa159c3d87f17e21e88adabc37e553b904d00eefc66b8e0905e23576fbdc9c7bea9777f3b8368481932534b3344d309e6307cddfe7b3549300dd9cda7efe9d43c8a115912a392904079ee92bcd33099f7022ea94c1e7353b89bfc54de3ceb56f529a1a608bb5a970e1359609d1f56806b37f8605f4c27451da6066fc557a\nresult = valid\ntag = 2b11cf9f8db8490d409fc62afd7379f3\n\n# tcId = 190\n# edge case for poly1305\n# key:a556cb502baf395b020000f03c5108fb1cf76df1b8a8f724e877bd3c588d3285\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060707db33de\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 2e1836640d810c2709fb83ccf1aef3a971085d1bbfb58a425abf75ccec70b3abde0e80539e83a82546e7372a19481547053308dd7842675e9c4f61302426da0d71c1da3102031030ed928152be009b15b52f71b5911991d39f68a8658d99729df2bbef31c8989f9604558df9f2aba4b3766c58aaef3548de545ec1f080225a88\nresult = valid\ntag = c9c8366920f88381407712cec61e6607\n\n# tcId = 191\n# edge case for poly1305\n# key:0c327fbcc564555545d4fe75020000d0a65799f363ec51b1c5c427b4a04af190\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060702a11942\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0ecb4d85c956b5268c9b35a8c63b4e9d3e5cb72b64ef98773841b947bd7d59ef7d0eb0e1c050d49a5424ce7deb527d76087e4746674c958965df32d9e5fb03b46501706128d481217aaeae2f78f9259273358a2954cac0bc2fbfe77447d1d387b9314c6541b69f1270b3438b1042b2b4663e62ba4d49c07ac6f163034afa80af\nresult = valid\ntag = 2373cfa2ab24446ad5a236167b8027fe\n\n# tcId = 192\n# edge case for poly1305\n# key:415f08302f210340240d0e903e2b01205ba43e106aebd7e2481016b31118b1ae\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00010203040506073c0df637\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 2e8e45e903bfab32f2f0d49d9a3e449bef6f4093e2722cdab2cf935c1822b830fb5a4056516d560dfc8638c9a57d2927200a56f0b67153271d498e8f08dc888c61ef634f7ae40f4608f96f92fea5a1e5bd45131120098dc5de0378e58f2ddb46fa4aa5adb38fe006bb19b69146382f77a79e06214def547cfb5ce37a7008b9b6\nresult = valid\ntag = 5f93946478d8081e7247f414ad39a515\n\n# tcId = 193\n# edge case for poly1305\n# key:feffff1ff6b87403fd6435b09775bc92491a0ae62c5842a30e3b82710cc2dad1\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130bc672c3\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = 3619cb470af86dceceb6940f2d9abb34c9a9131476053387445ffebbe240d4f9818377855652f46a8219c7f71c3554f8acef8258de4b7d17c0f3d353ac981cc6a13287be1e6b41dc6d133df4ababebdf43d665ce7a4a5c982a0b139cb8202eebc74173e3224a440e4c37d2b595f384290e939ba016df0d49b36cdb4bd91c39\nresult = valid\ntag = 133fe62391744d11ce44594b96c53baf\n\n# tcId = 194\n# edge case for poly1305\n# key:bf358f18ffffffbf4b62ed6e1f53790785c4dabdfc72e2a219d377a682c85f38\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000001011121303e9b9a4\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = af205bda819f7451be0f28667d4b01b59ff2daa8173cab52046c3c9e0d989889c5e021ef7afd06e9ce6cc30e3a6ebab509134ba10d10e570c55587c13eee53e73be54804c8539ffbf23b35922b1ca37b9e9bc24ee204837ca5a294ce05d12600c7eff6aee32270db2feff47dc5a04176169e15850628e6035f78994f9f5603\nresult = valid\ntag = e3451adb9d23a7710a1aafba26f56387\n\n# tcId = 195\n# edge case for poly1305\n# key:d0b7b3a352a4010ffeffffbfe8cc66dc6e5e7451dc61762c5753174fed88e746\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130700b982\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = 68c67272036fb652a0182eeb4781358e4704a4a702fd731bf3b3ea994717989e7d9104e0ae81732a8c7e9a82b3d31d541761a366b67c3396f1a6c67e293ddb65a59e42541dda144dc6c78388cfca982e23350958ac5b3d54a1722fd64733577862e1879c9e9445ebdec5315d1706db7ebbedd4c779935e72057e5b0ecde081\nresult = valid\ntag = b0bb8a55ff5f52a5043c6e7795847557\n\n# tcId = 196\n# edge case for poly1305\n# key:7bee33931a4157a8cb701becfeffff4fbe7e69f19cd065313bb49a252628dd3d\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000010111213019836bb\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = c483b7334ebe2e879b0c3f9db4fcd9f5219062360d6ce44cdae0f94e04c8345ea7e3ae33855118741dcafe0de4ae98c4e43af7b12b04ee8ab175625823ac040e5abac4403f1d45238adcb8c0cf44bd56917f9f5d93974c82b56951986a9c0450bd9047b5a616e814526ad0580e3ecd8189c9fef2cdb979a22ad3a01930fbd1\nresult = valid\ntag = f4fc25f4c5543a9afee9819e2904fb68\n\n# tcId = 197\n# edge case for poly1305\n# key:7cb5fbdffb40ff5f3c7de74f655ffc1fac03013a7fe468440b861ebe0ab1650a\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112131d59f288\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = bc7f4f15fd1e4c1399740836670abe39a05707be19956ce169b32321759e0f213ae19ad34aa612b3a29f02c4bbac9f785a55a3adfe419ab891bbe0acee9921322ea21002c9dd3dcdd13a7f8554dddc10f9b529ce94be7050937dab76557b7eb17c685aad8f0797e39d62553988989aab1d9764fe431cc1d4c595062ce93ce9\nresult = valid\ntag = 5e67a7b8733e0e4b01ac2178a205ae7e\n\n# tcId = 198\n# edge case for poly1305\n# key:00000090e6e328c242cde5c83e3d8262d467f2bcd53d3755c781f3c6a2cb0648\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130552a411\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = eaccaa778935ef249e0900149dd889462d2a061486ba102b8caebe465f3959fb3119ebb5689676ffdd6d851a26739e772b54a2f5f473ea9c7e58ccbc4cfc953e8c420b2175d9dd519265630bb79bd87a601b113231a8b16ce54c331347ec04c2b1c9160f38207aa46e96feb06dee883eb422fa14908df300bb1a1ef758c408\nresult = valid\ntag = 177a77fce114a4349c4f8d5ec825d06f\n\n# tcId = 199\n# edge case for poly1305\n# key:9e98d64e000000505a07183c5c68c63c14c9266dd37ff86aafc22ddbdb355617\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130c807a72\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = a76c330e015060a17e64cb7b6d753f201f75be8759fd7539fb92b22aef54c9d3029dba0c15cbf7c95135888319c6b2e6276da21e0c351fd522b29aabb5883a3291d6f427de773b124390ef6fd96621ffbc42dfbf7a34da272cbc9ccb1a498d078033d1ac3bf7e92715948b06d69d5c5039e9164ba9c3a02219ec5908206b3b\nresult = valid\ntag = 623c7d4424f5497aedfd1339cf8cecce\n\n# tcId = 200\n# edge case for poly1305\n# key:1048a92e65f5e63102000080d9ae08de4319a7c45fdbe707b9ec1b7e0d635161\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130397a143\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = 228a7e15bcce13051de9145f77f7f4ff7921828b4f99efc4ff55ee0d9344955b69ec2d4798b0517f0273c4456ae5ffc5929cbe74ddb0da51d4f2b4df7578a31240c88ae922c3c5eca7b97d72d497062050a587447c562b343d5c71921944872f9fd06b8f34b3eb5d4341f5ff8a907dd7c2e1676b81252726ba54814da51eab\nresult = valid\ntag = 1c18b69354b189731a1a83fe8f0d57c9\n\n# tcId = 201\n# edge case for poly1305\n# key:01517a2ceb89bbfb5741f7d9000000401a65b132ad661072a00ffe7defbb18a5\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000001011121308cb0f3f\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = c7d843188ab193dfef5c4daf583f952cd4b195f240fa2e704d021723023c123371a41e87dfc6e6c3874a42f331cf035988a38c72ba2da854b1208f98bf8cc29948169481ab3a402d5fcc7ff78f9e31925576dc3938074b8c5b27960e3afc750ad686563688b7441787288d5256c1301d563b7744843bd1ab4eff5be6f1653d\nresult = valid\ntag = 2045815b8211b9a2995effe0b8ed9868\n\n# tcId = 202\n# edge case for poly1305\n# key:bc90156087e0125006d90c30babd0590427bff19de1f2e7d0757a79528731138\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130d8fcf4e\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = cfc3db8631c81c69023a3c8a9ad66c35053685144c4fa2a9510add72e211dad9ca5b982e4c194591fdb74116280311d1299ad81227258cb52f079bbcb12aff161d278dec33a326d71276b3de01a8327ee7f45f94179dff18a3fe643e56c30cfd03871c8110ab00f6612b9e17a4647360d7847bb63a3122613c2e7cdddd08ae\nresult = valid\ntag = 1ae2ed84ea9774d78d782bf8d972a8b8\n\n# tcId = 203\n# edge case for tag\naad = ffffffffffffffffffffffffffffffff415771fda4fbcc55c377f73203e60226\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = 000102030405060708090a0b0c0d0e0f\n\n# tcId = 204\n# edge case for tag\naad = f1ffffffffffffffffffffffffffffff615af39eddb5fcd2519190d5507d3b06\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 205\n# edge case for tag\naad = b5ffffffffffffffffffffffffffffff764e5d82ce7da0d44148484fd96a6107\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 206\n# edge case for tag\naad = fdffffffffffffffffffffffffffffff2bdbf16d8ea4d39dab8dcb3d4bc4e104\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = 00000080000000800000008000000080\n\n", + "# tcId = 207\n# edge case for tag\naad = a9ffffffffffffffffffffffffffffffaccd5eb31d8fc909e84b0de7de23bb08\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = ffffff7fffffff7fffffff7fffffff7f\n\n# tcId = 208\n# edge case for tag\naad = d2ffffffffffffffffffffffffffffffdd4b933e7b1a7ed93cc7c050db71dc03\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = 01000000010000000100000001000000\n\n# tcId = 209\n# edge case for tag\naad = ffffffffffffffffffffffffffffffffa08164425d7642e9e90fc8d5c32d2cf6\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 210\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e5ffffffffffffffffffffffffffffff0871bc8f1e4aa235087712d9df183609ffffffffffffffffffffffffffffffffffffffe7a33009ef5fc604ea0f9a75e9ffffffffffffffffffffffffffffffffffffffe7a33009ef5fc604ea0f9a75e9\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c68ce708bf26aab862d97e1b42f31ef37bb66f8090c149e452ec7f20327eb2ea2e38aca2438b588d5459493e97e7fa330ff9bc23c897df6b00af86931d6c81555103478f2869b93ee29c837e95fb6b9903f3b72debfba2384baa48ceedfedb91\nresult = valid\ntag = 3572162777262c518eef573b720e8e64\n\n# tcId = 211\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e4ffffffffffffffffffffffffffffff05e74de09a9d7a2aff4a6356b57c7b05fffffffffffffffffffffffffffffffffe759118501a43cdd6a2064aa520adc7fffffffffffffffffffffffffffffffffe759118501a43cdd6a2064aa520adc7\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c78ce708bf26aab862d97e1b42f31ef376209eef141691fba5d10eaf581affe62e38aca2438b588d5459493e97e7fa330e73d2dc3bbd954989cb8433b7d6597b5103478f2869b93ee29c837e95fb6b990279d9d218d1e81ac2ce4a6e474403bf\nresult = valid\ntag = 347216375f5b7b5c4e6bff4912fd9473\n\n# tcId = 212\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = dffffffffffffffffffffffffffffffff8be933274202b099b164e5aabfa9705fffffffffffffffffffffffffffffffffa4dd7da00c12a46b2140ecafa3a8b40fffffffffffffffffffffffffffffffffa4dd7da00c12a46b2140ecafa3a8b40\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = fc8ce708bf26aab862d97e1b42f31ef38b79403dfaabc0d8c18d23a3469c13e62e38aca2438b588d5459493e97e7fa330a4b941e6b66fcc2ed7d8cb3e8cc7ffc5103478f2869b93ee29c837e95fb6b9906419f10480a8191a67842ee185e2538\nresult = valid\ntag = 30721677ff2eb8894e5a9d8492b7b0af\n\n# tcId = 213\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffffe80c6bd5c9f6b3dc2db689db76dcf901f8ffffffffffffffffffffffffffffffee9bae3db6c376ec44c5ab104662d100f8ffffffffffffffffffffffffffffffee9bae3db6c376ec44c5ab104662d100\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = fa8ce708bf26aab862d97e1b42f31ef39bcbb8da477d580d772de4229bba7de22938aca2438b588d5459493e97e7fa331e9dedf9dd64a0681bac2969549425bc5603478f2869b93ee29c837e95fb6b991297e6f7fe08dd3b50a9e734a4067f78\nresult = valid\ntag = 2b7216c7873744c20ec5e2cdb260d3fa\n\n# tcId = 214\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = cdffffffffffffffffffffffffffffffca3288dae0843c9a1c9d576fd82a7f0de3ffffffffffffffffffffffffffffffd0c1cb42cd51ffa933ac79a4a7b0560ce3ffffffffffffffffffffffffffffffd0c1cb42cd51ffa933ac79a4a7b0560c\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = ee8ce708bf26aab862d97e1b42f31ef3b9f55bd56e0fd74b46063a96354cfbee3238aca2438b588d5459493e97e7fa3320c78886a6f6292d6cc5fbddb546a2b04d03478f2869b93ee29c837e95fb6b992ccd8388859a547e27c0358045d4f874\nresult = valid\ntag = 22721657b0130d28cf1ec65153c41182\n\n# tcId = 215\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ccffffffffffffffffffffffffffffffc7a8192b5dd8148f1371a8ecad8ec409e1ffffffffffffffffffffffffffffffcd375d9349a5d79e2a80ca217d149c08e1ffffffffffffffffffffffffffffffcd375d9349a5d79e2a80ca217d149c08\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = ef8ce708bf26aab862d97e1b42f31ef3b46fca24d353ff5e49eac51540e840ea3038aca2438b588d5459493e97e7fa333d311e572202011a75e948586fe268b44f03478f2869b93ee29c837e95fb6b99313b1559016e7c493eec86059f703270\nresult = valid\ntag = 2172166798485c338f9a6d60f3b21891\n\n# tcId = 216\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d6ee4ee25d3bdea81e76de8934cc51fb849cfca7685708575dc6df7a01e36a81849cfca7685708575dc6df7a01e36a81\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f59d56151de28bef83505f6d89c0b0f7f75b2fa8e6dce386075db283ec85ee62555baffad423af25f66069bb69fb6f4d\nresult = valid\ntag = 831312cbb0f165dc3e8ff52125f48640\n\n# tcId = 217\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d464e022f259679255ce87f8694190e881128ee8fc759140941e89e93658a96e81128ee8fc759140941e89e93658a96e\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f717f8d5b28032d5c8e8061cd44d71e4f2d55de772fe7a91ce85e410db3e2d8d50d5ddb5400136323fb83f285e40aca2\nresult = valid\ntag = 821312db9826b5e7fe0a9d30c5e28d4f\n\n# tcId = 218\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d1ffffffffffffffffffffffffffffff954d41231c9238de5dce20847494390afdffffffffffffffffffffffffffffff124a4419f35e64d7f465b3f489e2020dfdffffffffffffffffffffffffffffff124a4419f35e64d7f465b3f489e2020d\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f28ce708bf26aab862d97e1b42f31ef3e68a922c9219d30f07554d7d99f2bde92c38aca2438b588d5459493e97e7fa33e24c07dd98f9b253ab0c318d9b14f6b15303478f2869b93ee29c837e95fb6b99ee460cd3bb95cf00e009ffd06b86ac75\nresult = valid\ntag = c1045769d487d545cef3f0d34b7a8733\n\n# tcId = 219\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff5da057d7d954ec856796aad6faffb1183c2f9be74c6a4576e0b09a7a5c2330963c2f9be74c6a4576e0b09a7a5c233096\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef32e6784d857df07543d0dc72f179935fbede8c8baf01ee2044b162cbb343b355acc29d82327cd93f2bfd918034ed5c42a\nresult = valid\ntag = 64e7efd24516a83e2c87e06a76e2dea3\n\n# tcId = 220\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae1081042212", + "4fc5e1bd7fe301\naad = ffffffff\nct = d4ffffffffffffffffffffffffffffff3fa97e2976c1e9f48fcc19a4df9af604fdffffffffffffffffffffffffffffff94dd708f021933fd6757e3d766da8507fdffffffffffffffffffffffffffffff94dd708f021933fd6757e3d766da8507\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f78ce708bf26aab862d97e1b42f31ef34c6ead26f84a0225d557745d32fc72e72c38aca2438b588d5459493e97e7fa3364db334b69bee579383e61ae742c71bb5303478f2869b93ee29c837e95fb6b9968d138454ad2982a733baff384be2b7f\nresult = valid\ntag = e6cc6729d79ba558cd73b03cba54d660\n\n# tcId = 221\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d3ffffffffffffffffffffffffffffff3c1f107af214c2e986a06a21b5fe3b01fbffffffffffffffffffffffffffffff915302e07e6c0bf25e2b34553c3ecb03fbffffffffffffffffffffffffffffff915302e07e6c0bf25e2b34553c3ecb03\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f08ce708bf26aab862d97e1b42f31ef34fd8c3757c9f2938dc3b07d85898bfe22a38aca2438b588d5459493e97e7fa336155412415cbdd760142b62c2ec83fbf5503478f2869b93ee29c837e95fb6b996d5f4a2a36a7a0254a477871de5a657b\nresult = valid\ntag = e5cc6739bfd0f4638def574b5a43dd6f\n\n# tcId = 222\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d1ffffffffffffffffffffffffffffffacc4198b86a494a1f7152dfd27dba807faffffffffffffffffffffffffffffffd8fb02f8c11606afaeafd52ab8dc2705faffffffffffffffffffffffffffffffd8fb02f8c11606afaeafd52ab8dc2705\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f28ce708bf26aab862d97e1b42f31ef3df03ca84082f7f70ad8e4004cabd2ce42b38aca2438b588d5459493e97e7fa3328fd413caab1d02bf1c65753aa2ad3b95403478f2869b93ee29c837e95fb6b9924f74a3289ddad78bac3990e5ab8897d\nresult = valid\ntag = 0fca702228817d53ee64d142b192e665\n\n# tcId = 223\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d0ffffffffffffffffffffffffffffff6c3be2a1e7b27845e258559ea15b790af8ffffffffffffffffffffffffffffffb7788b0b55040251880407d43989ff04f8ffffffffffffffffffffffffffffffb7788b0b55040251880407d43989ff04\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f38ce708bf26aab862d97e1b42f31ef31ffc31ae69399394b8c338674c3dfde92938aca2438b588d5459493e97e7fa33477ec8cf3ea3d4d5d76d85ad2b7f0bb85603478f2869b93ee29c837e95fb6b994b74c3c11dcfa9869c684bf0dbed517c\nresult = valid\ntag = efc3b035ded6b460bfce6f494955e677\n\n# tcId = 224\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = 088e15a1ac30d236e84be13d641c8ddcb53bc366b84c04e5269ce22ef132a662b53bc366b84c04e5269ce22ef132a662\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 2bfd0d56ece98771756d60d9d9106cd0c6fc106936c7ef347c078fd71c54228164fc903b0438a3978d3a54ef992aa3ae\nresult = valid\ntag = 345fc9fe573c136c1be83730500ce662\n\n# tcId = 225\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffff0f05f652625465debbac58683768ac07f9ffffffffffffffffffffffffffffff1297b88c53a64ad580de966c074da70df9ffffffffffffffffffffffffffffff1297b88c53a64ad580de966c074da70d\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f68ce708bf26aab862d97e1b42f31ef37cc2255decdf8e0fe1373591da0e28e42838aca2438b588d5459493e97e7fa33e291fb4838019c51dfb7141515bb53b15703478f2869b93ee29c837e95fb6b99ee9bf0461b6de10294b2da48e5290975\nresult = valid\ntag = 336f97a5faa995a2a03781b591588da8\n\n# tcId = 226\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e5ffffffffffffffffffffffffffffff0971bc8f1e4aa235087712d9df183609d5ffffffffffffffffffffffffffffff7d20502e655f60d2ed2eb547dc36e100d5ffffffffffffffffffffffffffffff7d20502e655f60d2ed2eb547dc36e100\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c68ce708bf26aab862d97e1b42f31ef37ab66f8090c149e452ec7f20327eb2ea0438aca2438b588d5459493e97e7fa338d2613ea0ef8b656b247373ecec015bc7b03478f2869b93ee29c837e95fb6b99812c18e42d94cb05f942f9633e524f78\nresult = valid\ntag = 9351c680c8a5d34882d42145e89745c4\n\n# tcId = 227\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e5ffffffffffffffffffffffffffffff0771bc8f1e4aa235087712d9df183609ffffffffffffffffffffffffffffffff5cdfaf41f5afb0e653abcef385232d49ffffffffffffffffffffffffffffffff5cdfaf41f5afb0e653abcef385232d49\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c68ce708bf26aab862d97e1b42f31ef374b66f8090c149e452ec7f20327eb2ea2e38aca2438b588d5459493e97e7fa33acd9ec859e0866620cc24c8a97d5d9f55103478f2869b93ee29c837e95fb6b99a0d3e78bbd641b3147c782d767478331\nresult = valid\ntag = d79266cd25a784599a0a8e31fc84d604\n\n# tcId = 228\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d4ffffffffffffffffffffffffffffff31961e263e2142b10fe7f35b6fe5b00735256286b6535dbb4738c289eef304ff35256286b6535dbb4738c289eef304ff\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f78ce708bf26aab862d97e1b42f31ef34251cd29b0aaa960557c9ea2828334e4e4e231db0a27fac9ec9e744886eb0133c5232142ddf48b3f185140f0fc05f043\nresult = valid\ntag = 9d671d407d7660459d5d582d83915efe\n\n# tcId = 229\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d6ffffffffffffffffffffffffffffff007a4c0e31b8da6074aab0ed22777a0dccffffffffffffffffffffffffffffff925a2aa19dbdcab24ee5f6096423430bccffffffffffffffffffffffffffffff925a2aa19dbdcab24ee5f6096423430b\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f58ce708bf26aab862d97e1b42f31ef373bd9f01bf3331b12e31dd14cf11feee1d38aca2438b588d5459493e97e7fa33625c6965f61a1c36118c747076d5b7b76203478f2869b93ee29c837e95fb6b996e56626bd57661655a89ba2d8647ed73\nresult = valid\ntag = 7b207c2c3278c64f0d6b913fe371fe63\n\n# tcId = 230\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9fcee0ff3132f9c9943bbab7eb79d17dfcffffffffffffffffffffffffffffff7d5d2424c74985c8bdb0fb6d9547180efcffffffffffffffffffffffffffffff7d5d2424c74985c8bdb0fb6d9547180e\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef3ec0933f0bfb91218cea0d74e061f559e2d38aca2438b588d5459493e97e7fa338d5b67e0acee534ce2d9791487b1ecb25203478f2869b93ee29c837e95fb6b9981516cee8f822e1fa9dcb7497723b676\nresult = valid\ntag = 3672162bb1f3ff537ece013f1aca4f68\n\n# tcId = 231\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9d447240c65082b3cb93632621ef0f6bfaffffffffffffffffffffffffffffff7ad3b574439d5dbdb4844ceb6aab5d0afaffffffffffffffffffffffffffffff7ad3b574439d5dbdb4844ceb6aab5d0a\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef3ee83a14f48db696291080edfcc898b882b38aca2438b588d5459493e97e7fa338ad5f6b0283a8b39ebedce92785da9b65403478f2869b93ee29c837e95fb6b9986dffdbe0b56f66aa0e800cf88cff372\nresult = valid\ntag = 3572163b99284f5f3e4aa94dbab85677\n\n# tcId = 232\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9bba03815a6f0b9d02ec0c9556644e58f8fffffffffff", + "fffffffffffffffffff774947c5bff035b2ab589d68400fa306f8ffffffffffffffffffffffffffffff774947c5bff035b2ab589d68400fa306\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef3e87dd08ed4e4e04c5877616cbb02cabb2938aca2438b588d5459493e97e7fa33874f0401d457e336f4311f1152f957ba5603478f2869b93ee29c837e95fb6b998b450f0ff73b9e65bf34d14ca26b0d7e\nresult = valid\ntag = 3472164b815d9e6afec5505c5aa75d86\n\n# tcId = 233\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ebffffffffffffffffffffffffffffff1823e5ecc873196275d7d6571437d40cd5ffffffffffffffffffffffffffffffdfb12895594ee6728fc57571671f8309d5ffffffffffffffffffffffffffffffdfb12895594ee6728fc57571671f8309\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c88ce708bf26aab862d97e1b42f31ef36be436e346f8f2b32f4cbbaef95150ef0438aca2438b588d5459493e97e7fa332fb76b5132e930f6d0acf70875e977b57b03478f2869b93ee29c837e95fb6b9923bd605f11854da59ba93955857b2d71\nresult = valid\ntag = 3a7216d7ee1da018ce8412f251656b19\n\n# tcId = 234\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e6ffffffffffffffffffffffffffffff0bfb2a3fa2f6c94011a3c15b0ab5f00cccffffffffffffffffffffffffffffffd2896ee732d196512b9160755d9d9f09ccffffffffffffffffffffffffffffffd2896ee732d196512b9160755d9d9f09\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c58ce708bf26aab862d97e1b42f31ef3783cf9302c7d22914b38aca2e7d374ef1d38aca2438b588d5459493e97e7fa33228f2d23597640d574f8e20c4f6b6bb56203478f2869b93ee29c837e95fb6b992e85262d7a1a3d863ffd2c51bff93171\nresult = valid\ntag = 367216178ff1dc45ce73b02cd21f8755\n\n# tcId = 235\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff2e70fc865fcbc0cb59e892f3713a50a8bca0fc1dc5fbf327fbb124545a50e9efbca0fc1dc5fbf327fbb124545a50e9ef\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef35db72f89d1402b1a0373ff0a9c5cd44b6d67af40798f5455501792953248ec234ca6bfd9ae5c25a3a4d8a62d48a61d53\nresult = valid\ntag = 0b4961c9525ea2f2cdad6273e1c7824c\n\n# tcId = 236\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff2ce68dc7f3e949b590403c62a7af8e95b9168e5e591a7d11320acec28fc527ddb9168e5e591a7d11320acec28fc527dd\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef35f215ec87d62a264cadb519b4ac90a7668d1dd03e56eda6399ac7803e7dd22114910cd9a32bdab956d634cbb9d33d361\nresult = valid\ntag = 0a4961d93a93f1fd8d290a8281b6895b\n\n# tcId = 237\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffa29d069f5384ab6b4237bc911bcaf399deffffffffffffffffffffffffffffff632c4abb769e76ce8c66991577f49403deffffffffffffffffffffffffffffff632c4abb769e76ce8c66991577f49403\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef3d15ad590dd0f40ba18acd168f6ac777a0f38aca2438b588d5459493e97e7fa33932a097f1d39a04ad30f1b6c650260bf7003478f2869b93ee29c837e95fb6b999f2002713e55dd19980ad53195903a7b\nresult = valid\ntag = 3572161355240943de9406292a64c551\n\n# tcId = 238\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffffa009d73c6544428cfac0b2d8c7bbef0bedffffffffffffffffffffffffffffff8a5ef60715bc4b07c92b9707376da105edffffffffffffffffffffffffffffff8a5ef60715bc4b07c92b9707376da105\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 40115e67ecd3d4178c4c60e713ab4e5e390ef93aeb61aa307f141323c38e0685fa47139a5f4e3f8e92d7a3b71eb4ff0e259445f4ffc31bce540190edd6ad207876a0085c32ddfcbeb01a8be4c34d5331eda1a5b6139750f973f0d4841baa2cb8\nresult = valid\ntag = 19532d9fa0b5fbd582aaeda830602f1d\n\n# tcId = 239\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d0ffffffffffffffffffffffffffffff792ca9a820a9d5140c8b2d4bf28c250ee3ffffffffffffffffffffffffffffff6381c873d020df8fdaf5117a613ed707e3ffffffffffffffffffffffffffffff6381c873d020df8fdaf5117a613ed707\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 49115e67ecd3d4178c4c60e713ab4e5ee02b87aeae8c3da8895f8cb0f6b9cc80f447139a5f4e3f8e92d7a3b71eb4ff0ecc4b7b803a5f8f4647df169080fe567a78a0085c32ddfcbeb01a8be4c34d5331047e9bc2d60bc471602e52f94df95aba\nresult = valid\ntag = adbd2cafc8c8f0e51250e7b81c9d0a2d\n\n# tcId = 240\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = da047b7825db1802e8e8e1aac6ba88fc2ff2344b9e99ccdc04d8836d556083412ff2344b9e99ccdc04d8836d55608341\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 43eadae036f733ea9b5b7eb22aee395db6f51a4d10bc2460810c229651556acf384ad82e3e280cad69f0df25b42b83b0\nresult = valid\ntag = 973e270a7afcab75348e14dbe19c5156\n\n# tcId = 241\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff101c5773af9f7ae7a1ddab5468716b34ffffffffffffffffffffffffffffffffc29a70deefd6160211c050231084adccffffffffffffffffffffffffffffffffc29a70deefd6160211c050231084adcc\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5e891b797521ba925b24090aaf6c4482bae847139a5f4e3f8e92d7a3b71eb4ff0e6d50c32d05a946cb8cea57c9f1442cb164a0085c32ddfcbeb01a8be4c34d5331a565236fe9fd0dfcab1b13a03c432071\nresult = valid\ntag = e17c273f31758e752322ae4869c1bfbb\n\n# tcId = 242\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = f3ffffffffffffffffffffffffffffffc89be2ed79009b676b58b30c466038021d65fc5026ae3c7a12685bd377d48c921d65fc5026ae3c7a12685bd377d48c92\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6a115e67ecd3d4178c4c60e713ab4e5e519cccebf72573dbee8c12f74255d18c0add1035861ffc0b7f40079b969f8c63b2af4fa3ccd16cb38f425c3996140def\nresult = valid\ntag = a22390224c5db0f01696743d870725c5\n\n# tcId = 243\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 7bdb195a00a87e98f6706df3c6db12c1c1c8d32c7966327313600fb655810d06c1c8d32c7966327313600fb655810d06\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = e235b8c21384557085c3f2eb2a8fa36058cffd2af743dacf96b4ae4d51b4e488d6703f49d9d7f2027e4853feb4ca0df7\nresult = valid\ntag = 437d1efad21b0865a541b5cab62e2a44\n\n# tcId = 244\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff16ac7651c417c310eaede58fe0fb9720d4ffffffffffffffffffffffffffffffde999e08e4ee117994a93eadc3421f01d4ffffffffffffffffffffffffffffffde999e08e4ee117994a93eadc3421f01\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5e8fab58574a322bac6f394474e4ce7eaec347139a5f4e3f8e92d7a3b71eb4ff0e71532dfb0e9141b00983394722829e7c4fa0085c32ddfcbeb01a8be4c34d5331b966cdb9e2c50a872e727d2eef8592bc\nresult = valid\ntag = acf4ffa20c0d06d61a18e9a8d4c84d1d\n\n# tcId = 245\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9", + "cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = f8ffffffffffffffffffffffffffffffc7f9499d2f566c79db6c6de23253170313d86050a363d7db52b8f5f800f8b3e213d86050a363d7db52b8f5f800f8b3e2\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 61115e67ecd3d4178c4c60e713ab4e5e5efe679ba17384c55eb8cc193666fe8d04608c3503d217aa3f90a9b0e1b3b313bc12d3a3491c8712cf92f212e138329f\nresult = valid\ntag = cd466d06e75b7fd18d5fe21d9227d9a7\n\n# tcId = 246\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 098a19123b0c79499df7401d41758c07e0ffffffffffffffffffffffffffffff460a896b69f43eb668a0e02d475da503e0ffffffffffffffffffffffffffffff460a896b69f43eb668a0e02d475da503\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 9064b88a282052a1ee44df05ad213da679f8d1f971da17437a2b5e04fbca167151b2650ec945fec70588bc65a616a5f24f354c0c1580af3662d5f8151e3f7e82dd557ec8a4d63df7274594367bef09cd\nresult = valid\ntag = ce8a3d4d887d95613d829b538ed01196\n\n# tcId = 247\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = daffffffffffffffffffffffffffffff77f155d2f77e9cbddfe0326b5961a308ffffffffffffffffffffffffffffffff9e5d0ddb05871390b6f2fb67b644a0abffffffffffffffffffffffffffffffff9e5d0ddb05871390b6f2fb67b644a0ab\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 43115e67ecd3d4178c4c60e713ab4e5eeef67bd4795b74015a3493905d544a86e847139a5f4e3f8e92d7a3b71eb4ff0e3197be28eff843592bd8fc8d578421d664a0085c32ddfcbeb01a8be4c34d5331f9a25e6a03ac086e0c29b8e49a832d16\nresult = valid\ntag = 08289f5199df476fe90475cb95225566\n\n# tcId = 248\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = f2ffffffffffffffffffffffffffffff87336f2c3e85be548c0175422fd4fb045c92897fc21f6b57a26b23f9740b75855c92897fc21f6b57a26b23f9740b7585\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6b115e67ecd3d4178c4c60e713ab4e5e1e34412ab0a056e809d5d4b92be1128a4b2a651a62aeab26cf437fb195407574f3583a8c28603b9e3f41241395cbf4f8\nresult = valid\ntag = 06df93f651ea5cc56911f30d3e58f997\n\n# tcId = 249\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = a608a7889c19ad7587743519c412fbb3fcffffffffffffffffffffffffffffffea06685faa687e546871cee38c80c900fcffffffffffffffffffffffffffffffea06685faa687e546871cee38c80c900\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 3fe606108f35869df4c7aa0128464a1265f8d1f971da17437a2b5e04fbca1671fdbe843a0ad9be25055992ab6dcbc9f153354c0c1580af3662d5f8151e3f7e8271599ffc674a7d152794baf8b03265ce\nresult = valid\ntag = 9264fc0f47febb30661254daf9a06189\n\n# tcId = 250\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = f7601814e4d3d5a4a530c99414c628b4fdffffffffffffffffffffffffffffffd0b7b1ee90778b838bf98a5b15450b01fdffffffffffffffffffffffffffffffd0b7b1ee90778b838bf98a5b15450b01\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6e8eb98cf7fffe4cd683568cf892991564f8d1f971da17437a2b5e04fbca1671c70f5d8b30c64bf2e6d1d613f40e0bf052354c0c1580af3662d5f8151e3f7e824be8464d5d5588c2c41cfe4029f7a7cf\nresult = valid\ntag = 69a124fc7f96e220d1a031ced5527279\n\n# tcId = 251\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d6ffffffffffffffffffffffffffffffd85108996dfff8a26ede1e76de151701e8ffffffffffffffffffffffffffffffc5265a700c30c72da2df2eb129447b0ae8ffffffffffffffffffffffffffffffc5265a700c30c72da2df2eb129447b0a\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 4f115e67ecd3d4178c4c60e713ab4e5e4156269fe3da101eeb0abf8dda20fe8fff47139a5f4e3f8e92d7a3b71eb4ff0e6aece983e64f97e43ff5295bc884fa7773a0085c32ddfcbeb01a8be4c34d5331a2d909c10a1bdcd318046d320583f6b7\nresult = valid\ntag = 3ea8f9b2012321e63d5fb5bc2c5d332d\n\n# tcId = 252\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff81f60be9b969fce8335443cf23d235e7f3ffffffffffffffffffffffffffffff2a41bb18f72745b93ae719a2b8fbf408f3ffffffffffffffffffffffffffffff2a41bb18f72745b93ae719a2b8fbf408\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5e18f125ef374c1454b680e23427e7dc69e447139a5f4e3f8e92d7a3b71eb4ff0e858b08eb1d581570a7cd1e48593b757568a0085c32ddfcbeb01a8be4c34d53314dbee8a9f10c5e47803c5a21943c79b5\nresult = valid\ntag = dfaf8a3a15d45e7f4c3430048d8589f0\n\n# tcId = 253\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 29c416dfb03cfd4bc8680819666f5912d8ffffffffffffffffffffffffffffffa01bd4d99492492e62f13093c6ec8703d8ffffffffffffffffffffffffffffffa01bd4d99492492e62f13093c6ec8703\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = b02ab747a310d6a3bbdb97018a3be8b341f8d1f971da17437a2b5e04fbca1671b7a338bc3423895f0fd96cdb27a787f277354c0c1580af3662d5f8151e3f7e823b44237a59b04a6f2d144488fa5e2bcd\nresult = valid\ntag = 3408eb2b13a9b76befcedf699422d61f\n\n# tcId = 254\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffffa109d73c6544428cfac0b2d8c7bbef0be1ffffffffffffffffffffffffffffff90bc29c302ea4f3b661c584d613d5f03e1ffffffffffffffffffffffffffffff90bc29c302ea4f3b661c584d613d5f03\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 40115e67ecd3d4178c4c60e713ab4e5e380ef93aeb61aa307f141323c38e0685f647139a5f4e3f8e92d7a3b71eb4ff0e3f769a30e8951ff2fb365fa780fdde7e7aa0085c32ddfcbeb01a8be4c34d5331f7437a7204c154c5dcc71bce4dfad2be\nresult = valid\ntag = 09f4f2a3936d7461a67ce022176bb8dd\n\n# tcId = 255\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffff9f09d73c6544428cfac0b2d8c7bbef0bf9ffffffffffffffffffffffffffffff8400c34c278e47d32b3bd6c10c9de307f9ffffffffffffffffffffffffffffff8400c34c278e47d32b3bd6c10c9de307\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 40115e67ecd3d4178c4c60e713ab4e5e060ef93aeb61aa307f141323c38e0685ee47139a5f4e3f8e92d7a3b71eb4ff0e2bca70bfcdf1171ab611d12bed5d627a62a0085c32ddfcbeb01a8be4c34d5331e3ff90fd21a55c2d91e09542205a6eba\nresult = valid\ntag = 2eb2679aadfd824a5fd8fa2e4a55a65c\n\n# tcId = 256\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = cffffffffffffffffffffffffffffffff5793d144852a712f8cafcf7c23ceb01e2ffffffffffffffffffffffffffffff2e0355ef5491859df636e2321f329b07e2ffffffffffffffffffffffffffffff2e0355ef5491859df636e2321f329b07\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 56115e67ecd3d4178c4c60e713ab4e5e6c7e1312c6774fae7d1e5d0cc609028ff547139a5f4e3f8e92d7a3b71eb4ff0e81c9e61cbeeed5546b1ce5d8fef21a7a79a0085c32ddfcbeb01a8be4c34d533149fc065e52ba9e634ceda1b133f516ba\nresult = valid\ntag = 5e89349f6b011cd6e24ee6ac2f590c21\n\n# tcId = 257\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = b746e0935ee6a77520da3f2b348fd045f5ffffffffffffffffffffffffffffffe74d62ee1add31d44c6e7b756eabc40df5ffffffffffffffffffffffffffffffe74d62ee1add31d44c6e7b756eabc40d\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415", + "161718191a1b1c1d1e1f\nmsg = 2ea8410b4dca8c9d5369a033d8db61e46cf8d1f971da17437a2b5e04fbca1671f0f58e8bba6cf1a52146273d8fe0c4fc5a354c0c1580af3662d5f8151e3f7e827c12954dd7ff3295038b0f6e521968c3\nresult = valid\ntag = b24537fcb0dcb6200b0285cafc9c3a7d\n\n# tcId = 258\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 8eeb3be49baf8963e30e0bb6a885e597fbffffffffffffffffffffffffffffffb588f4da2ed9246284b29e9c4a748d00fbffffffffffffffffffffffffffffffb588f4da2ed9246284b29e9c4a748d00\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 17059a7c8883a28b90bd94ae44d1543662f8d1f971da17437a2b5e04fbca1671a23018bf8e68e413e99ac2d4ab3f8df154354c0c1580af3662d5f8151e3f7e822ed70379e3fb2723cb57ea8776c621ce\nresult = valid\ntag = 43300400ea36e720361153ce0c5d637d\n\n# tcId = 259\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 334f13c0ee677f5ce406bf988632660bf1ffffffffffffffffffffffffffffff8eabc646ea3db8ea957c190f7545c302f1ffffffffffffffffffffffffffffff8eabc646ea3db8ea957c190f7545c302\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = aaa1b258fd4b54b497b520806a66d7aa68f8d1f971da17437a2b5e04fbca167199132a234a8c789bf8544547940ec3f35e354c0c1580af3662d5f8151e3f7e8215f431e5271fbbabda996d1449f76fcc\nresult = valid\ntag = d79a0310124adc30c6b64cdef8993e8d\n\n# tcId = 260\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffff225479ebbf6f3ffc3c45ae566b343e0fe7ffffffffffffffffffffffffffffff67ce98b2a5a24b73a74694819f16f904e7ffffffffffffffffffffffffffffff67ce98b2a5a24b73a74694819f16f904\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 4c115e67ecd3d4178c4c60e713ab4e5ebb5357ed314ad740b9910fad6f01d781f047139a5f4e3f8e92d7a3b71eb4ff0ec8042b414fdd1bba3a6c936b7ed678797ca0085c32ddfcbeb01a8be4c34d53310031cb03a389508d1d9dd702b3d174b9\nresult = valid\ntag = e6022cc3ba20e3f9065fdfcc43a9dc40\n\n# tcId = 261\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff6f45b891d4d214519355200c6850e16fdeffffffffffffffffffffffffffffffe6bfb5fc97a1a469054394d952cf3e01deffffffffffffffffffffffffffffffe6bfb5fc97a1a469054394d952cf3e01\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5ef64296975af7fced168181f76c6508e1c947139a5f4e3f8e92d7a3b71eb4ff0e4975060f7ddef4a098699333b30fbf7c45a0085c32ddfcbeb01a8be4c34d53318140e64d918abf97bf98d75a7e08b3bc\nresult = valid\ntag = 353e304fd8553286b26e0d59942fe7cd\n\n# tcId = 262\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 01af6e513489562ce218aa5a93ad8447f7ffffffffffffffffffffffffffffffb13b249c5957b87eb7611c950c9c6b03f7ffffffffffffffffffffffffffffffb13b249c5957b87eb7611c950c9c6b03\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 9841cfc927a57dc491ab35427ff935e66ef8d1f971da17437a2b5e04fbca1671a683c8f9f9e6780fda4940ddedd76bf258354c0c1580af3662d5f8151e3f7e822a64d33f9475bb3ff884688e302ec7cd\nresult = valid\ntag = 0aeb04ecf7def40c42025bbae5509169\n\n# tcId = 263\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = dbffffffffffffffffffffffffffffff9266919df28a6b70b10ec3ae9764ab07ffffffffffffffffffffffffffffffffc6a0ef8c53a5cc1d3eb6827be9ad3550ffffffffffffffffffffffffffffffffc6a0ef8c53a5cc1d3eb6827be9ad3550\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 42115e67ecd3d4178c4c60e713ab4e5e0b61bf9b7caf83cc34da625593514289e847139a5f4e3f8e92d7a3b71eb4ff0e696a5c7fb9da9cd4a39c8591086db42d64a0085c32ddfcbeb01a8be4c34d5331a15fbc3d558ed7e3846dc1f8c56ab8ed\nresult = valid\ntag = 8fc4f77a6ee052a4c314780b8df9a2d0\n\n# tcId = 264\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d2ffffffffffffffffffffffffffffff6b896309aeeffef8c2d83d21c235e109faffffffffffffffffffffffffffffffbbaec4a846aa96567f441d9e774e2303faffffffffffffffffffffffffffffffbbaec4a846aa96567f441d9e774e2303\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 4b115e67ecd3d4178c4c60e713ab4e5ef28e4d0f20ca1644470c9cdac6000887ed47139a5f4e3f8e92d7a3b71eb4ff0e1464775bacd5c69fe26e1a74968ea27e61a0085c32ddfcbeb01a8be4c34d5331dc51971940818da8c59f5e1d5b89aebe\nresult = valid\ntag = 232ff78a96f347b453ba711b79367ee0\n\n# tcId = 265\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d4fffffffffffffffffffffffffffffff7e106fac57dd8a4c90632cd4e14d70ae9ffffffffffffffffffffffffffffff861126c93f3adf23fcda1400f9947f08e9ffffffffffffffffffffffffffffff861126c93f3adf23fcda1400f9947f08\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 4d115e67ecd3d4178c4c60e713ab4e5e6ee628fc4b5830184cd293364a213e84fe47139a5f4e3f8e92d7a3b71eb4ff0e29db953ad5458fea61f013ea1854fe7572a0085c32ddfcbeb01a8be4c34d5331e1ee75783911c4dd46015783d553f2b5\nresult = valid\ntag = e00d2e8bae5d09c28e9bf59409545d09\n\n# tcId = 266\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f9ffffffffffffffffffffffffffffff015d1565924f6c7418de9babf8be4407edffffffffffffffffffffffffffffff2e110e5e1c0468cbaad99c8abeffff07edffffffffffffffffffffffffffffff2e110e5e1c0468cbaad99c8abeffff07\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 19de9b9ec8b247d42bbee2016d6715babc286fd979807951b183a188930ad15edcf0b056a2eecc51d30838e640615e14890e659fd3028c904e65018fdfd6038333d14da7b4f76f9f68fa8903138d563c33b7fb50c3e7ebca970f6f89a88a82d6\nresult = valid\ntag = 47e5d4294239db73b836c04070ff5b2d\n\n# tcId = 267\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff3eeafba63bfe1952ac727f1160b90039f5ffffffffffffffffffffffffffffffd7c9da8e1d0f1a84c2a34cd731fabb09f5ffffffffffffffffffffffffffffffd7c9da8e1d0f1a84c2a34cd731fabb09\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715ba839f811ad0310c77052f45320b0d9560c4f0b056a2eecc51d30838e640615e1470d6b14fd209fedf261fd1d250d3478d2bd14da7b4f76f9f68fa8903138d563cca6f2f80c2ec9985ff75bfd4278fc6d8\nresult = valid\ntag = 232c882f7a1a2f808ccf26496cff5b3d\n\n# tcId = 268\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = 771078b7d59fe2509aeb0b0e34844c61d6ffffffffffffffffffffffffffffffa41c2cb9eba7866f50684b1b05e3ab00d6ffffffffffffffffffffffffffffffa41c2cb9eba7866f50684b1b05e3ab00\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 97311cd6e2d25a7b4eaa16f0a61ca6246b8a85431430eada56a2c5dc944b6aa695136310b6b6b5c17c9f8c02ba7d0aeb71e0943e30f91ba41b4362fa9ed6037b7a329ee1a0af160fc76d3de7e99102c3\nresult = valid\ntag = d71bc70d5adc74e7dfd89406fc15f044\n\n# tcId = 269\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d4ffffffffffffffffffffffffffffffc9ba04216978fdc837945fd581859c08ed1f06e9bd9b718c799feff21bc757b1ed1f06e9bd9b718c799feff21bc757b1\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 34de9b9ec8b247d42bbee2016d6715ba74cf7e9d82b7e8ed9ec965f6ea310951dc104940e08a4222556828eba459f65a4a006d28729d95d79d237", + "2f77aeeab35\nresult = valid\ntag = 21e63987d494673f3040ae9de2bc0da0\n\n# tcId = 270\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = 070ae7307913e87b443128628e349459ffffffffffffffffffffffffffffffffebdc16f985b886f46bd85ca13994f388ffffffffffffffffffffffffffffffffebdc16f985b886f46bd85ca13994f388\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = e72b83514e5e50509070359c1cac7e1c428a85431430eada56a2c5dc944b6aa6dad35950d8a9b55a472f9bb8860a526358e0943e30f91ba41b4362fa9ed6037b35f2a4a1ceb01694fcdd2a5dd5e65a4b\nresult = valid\ntag = e4fb945d6a2d0b947834317cc415f024\n\n# tcId = 271\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = 6c40019572098da3d05a73fadd2e50ebcfffffffffffffffffffffffffffffffb9151b69c807925fe6107ec4ce8daf0acfffffffffffffffffffffffffffffffb9151b69c807925fe6107ec4ce8daf0a\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 8c6165f445443588041b6e044fb6baae728a85431430eada56a2c5dc944b6aa6881a54c09516a1f1cae7b9dd71130ee168e0943e30f91ba41b4362fa9ed6037b673ba931830f023f7115083822ff06c9\nresult = valid\ntag = c0424863a20e5fa04ccd9784c015f034\n\n# tcId = 272\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f8c2051563121fc74ae8eda3e2cf2f8fdeffffffffffffffffffffffffffffff724153f72c1168c720520c94e7952806deffffffffffffffffffffffffffffff724153f72c1168c720520c94e7952806\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 18e36174545fa7ec9ea9f05d7057c5ca638a85431430eada56a2c5dc944b6aa6434e1c5e71005b690ca5cb8d580b89ed79e0943e30f91ba41b4362fa9ed6037bac6fe1af6719f8a7b7577a680be781c5\nresult = valid\ntag = aa7293ffe5db30a31f2581e0e7ae56ed\n\n# tcId = 273\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f2ffffffffffffffffffffffffffffffe945274380aed12ede010f0e69e88f0fe6ffffffffffffffffffffffffffffff1bfa1f282e1c1a80381cbce05a90e407e6ffffffffffffffffffffffffffffff1bfa1f282e1c1a80381cbce05a90e407\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 12de9b9ec8b247d42bbee2016d6715ba54305dff6b61c40b775c352d025c1a56d7f0b056a2eecc51d30838e640615e14bce574e9e11afedbdca021e53bb9188338d14da7b4f76f9f68fa8903138d563c065cea26f1ff998105ca4fe34ce599d6\nresult = valid\ntag = 42e5d43d1e808e79f017144d4498c235\n\n# tcId = 274\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff6270e3a5a0c3fdb56540b490e801ea61edffffffffffffffffffffffffffffff92c0eac6b200642c2a3cc3a0f3df040cedffffffffffffffffffffffffffffff92c0eac6b200642c2a3cc3a0f3df040c\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715badf0599194b0ce890cc1d8eb383b57f38dcf0b056a2eecc51d30838e640615e1435df81077d068077ce805ea592f6f88833d14da7b4f76f9f68fa8903138d563c8f661fc86de3e72d17ea30a3e5aa79dd\nresult = valid\ntag = 6cf2f9230af8679e7ecb19421362fce3\n\n# tcId = 275\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d9fffffffffffffffffffffffffffffffde79b4549e39e3db110ba7f793e4b0ef6ffffffffffffffffffffffffffffffc3e1e05a1227be39edcf32fb9fbac501f6ffffffffffffffffffffffffffffffc3e1e05a1227be39edcf32fb9fbac501\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 39de9b9ec8b247d42bbee2016d6715ba4092e1f9a22c8b18184d805c128ade57c7f0b056a2eecc51d30838e640615e1464fe8b9bdd215a620973affefe93398528d14da7b4f76f9f68fa8903138d563cde471554cdc43d38d019c1f889cfb8d0\nresult = valid\ntag = 6d46d2230a9848d518f9d94bb2c49caa\n\n# tcId = 276\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f2ffffffffffffffffffffffffffffff8f0a40a7047b3d59be1839b286ba2d0de7ffffffffffffffffffffffffffffffb37fb895932f399c74cd868b141a9501e7ffffffffffffffffffffffffffffffb37fb895932f399c74cd868b141a9501\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 12de9b9ec8b247d42bbee2016d6715ba327f3a1befb4287c17450391ed0eb854d6f0b056a2eecc51d30838e640615e141460d3545c29ddc790711b8e7533698539d14da7b4f76f9f68fa8903138d563caed94d9b4cccba9d491b7588026fe8d0\nresult = valid\ntag = 74dda12e0558877bc0e40c3eace0af29\n\n# tcId = 277\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = fbffffffffffffffffffffffffffffff38c30cd80586ef11d6e2e8fef9b4e90eefffffffffffffffffffffffffffffff5c3885c6943aeb548c9736d887145103efffffffffffffffffffffffffffffff5c3885c6943aeb548c9736d887145103\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1bde9b9ec8b247d42bbee2016d6715ba85b67664ee49fa347fbfd2dd92007c57def0b056a2eecc51d30838e640615e14fb27ee075b3c0f0f682babdde63dad8731d14da7b4f76f9f68fa8903138d563c419e70c84bd96855b141c5db91612cd2\nresult = valid\ntag = 502455343d39db87947d7346a8e0af39\n\n# tcId = 278\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d6ffffffffffffffffffffffffffffffac47fba7c4d7273e00c6286047cb1303923a637b8abd431aea02868ed80ccfcb923a637b8abd431aea02868ed80ccfcb\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 36de9b9ec8b247d42bbee2016d6715ba1132811b2f18321ba99b12432c7f865aa3352cd2d7ac70b4c6f5419767926e20352508ba45bba7410ebe1b8bb925334f\nresult = valid\ntag = 14fba149d1c0edc8aa665851126b5afd\n\n# tcId = 279\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff44ec3cacb339c2569701eaf20829057cfafffffffffffffffffffffffffffffff5156664cb3f3f5b06357c7c726bfa0afafffffffffffffffffffffffffffffff5156664cb3f3f5b06357c7c726bfa0a\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715baf999461058f6d7733e5cd0d1639d9025cbf0b056a2eecc51d30838e640615e14520a0da50439db00e289e1791342068e24d14da7b4f76f9f68fa8903138d563ce8b3936a14dcbc5a3be38f7f641e87db\nresult = valid\ntag = bf7fbd422cbf0e700fd1605be8fd212f\n\n# tcId = 280\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f5ffffffffffffffffffffffffffffff71635318e71e0b8a765929a82e1b7101deffffffffffffffffffffffffffffff9315a275955e72fffc1453ed6207fb0bdeffffffffffffffffffffffffffffff9315a275955e72fffc1453ed6207fb0b\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 15de9b9ec8b247d42bbee2016d6715bacc1629a40cd11eafdf04138b45afe458eff0b056a2eecc51d30838e640615e14340ac9b45a5896a418a8cee8032e078f00d14da7b4f76f9f68fa8903138d563c8eb3577b4abdf1fec1c2a0ee747286da\nresult = valid\ntag = c6f23204865b0adde0070037d6538dd3\n\n# tcId = 281\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d1ffffffffffffffffffffffffffffff42011449d50c2059156106c7c0a9b808dc91fbff818ca8f7daa162cb66ea7381dc91fbff818ca8f7daa162cb66ea7381\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 31de9b9ec8b247d42bbee2016d6715baff746ef53ec3357cbc3c3ce4ab1d2d51ed9eb456dc9d9b59f656a5d2d974d26a7b8e903e4e8a4cac3e1dffce07c38f05\nresult = valid\ntag = 8cff61b7b3919ed6bde72b36e0d31326\n\n# tcId = 282\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f9fffffffffffffffffff", + "fffffffffff025d1565924f6c7418de9babf8be4407ffffffffffffffffffffffffffffffffc35e56b05c9d78eb406fb3f474f36294ffffffffffffffffffffffffffffffffc35e56b05c9d78eb406fb3f474f36294\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 19de9b9ec8b247d42bbee2016d6715babf286fd979807951b183a188930ad15ecef0b056a2eecc51d30838e640615e1464413d71939b9cb0a4d32ef115da9e1021d14da7b4f76f9f68fa8903138d563cdef8a3be837efbea7db940f762861f45\nresult = valid\ntag = 369cf17011cae47539e2723f010cf980\n\n# tcId = 283\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f9ffffffffffffffffffffffffffffff005d1565924f6c7418de9babf8be4407d2ffffffffffffffffffffffffffffff5541133fd4554a1a89a3216ce40b9d0bd2ffffffffffffffffffffffffffffff5541133fd4554a1a89a3216ce40b9d0b\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 19de9b9ec8b247d42bbee2016d6715babd286fd979807951b183a188930ad15ee3f0b056a2eecc51d30838e640615e14f25e78fe1b53ae416d1fbc698522618f0cd14da7b4f76f9f68fa8903138d563c48e7e6310bb6c91bb475d26ff27ee0da\nresult = valid\ntag = 532eb8e272a8d171378b0d42dff2bed9\n\n# tcId = 284\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d2ffffffffffffffffffffffffffffff98f82782afd996d0efe3800d48c1ca05ffffffffffffffffffffffffffffffff3a0c9639358f7c6d1ee0dc082de4d96effffffffffffffffffffffffffffffff3a0c9639358f7c6d1ee0dc082de4d96e\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 32de9b9ec8b247d42bbee2016d6715ba258d5d3e441683f546beba2e23755f5ccef0b056a2eecc51d30838e640615e149d13fdf8fa899836fa5c410d4ccd25ea21d14da7b4f76f9f68fa8903138d563c27aa6337ea6cff6c23362f0b3b91a4bf\nresult = valid\ntag = d1be7426cd12446fe52e8d45331e0835\n\n# tcId = 285\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff6b3fa796480ab62f9884dc7dfb4daf88faffffffffffffffffffffffffffffff79858179ae42311dacad2f325a8d3007faffffffffffffffffffffffffffffff79858179ae42311dacad2f325a8d3007\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715bad64add2aa3c5a30a31d9e65e90f93ad1cbf0b056a2eecc51d30838e640615e14de9aeab86144d5464811b2373ba4cc8324d14da7b4f76f9f68fa8903138d563c6423747771a1b21c917bdc314cf84dd6\nresult = valid\ntag = 62630c18de8c10876adb9f30f300963f\n\n# tcId = 286\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff7141e89bc0455e348313475fa4bdb3cbffffffffffffffffffffffffffffffff97d10c4f5c7356f4ef3e5fd79afe6e08ffffffffffffffffffffffffffffffff97d10c4f5c7356f4ef3e5fd79afe6e08\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715bacc3492272b8a4b112a4e7d7ccf092692cef0b056a2eecc51d30838e640615e1430ce678e9375b2af0b82c2d2fbd7928c21d14da7b4f76f9f68fa8903138d563c8a77f9418390d5f5d2e8acd48c8b13d9\nresult = valid\ntag = feb6412b9031f076eddcd9426fff5b31\n\n# tcId = 287\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d4ffffffffffffffffffffffffffffffcf5e1ff522101a6eade8cd6049b76f0dffffffffffffffffffffffffffffffff20c173ad1d88a70fa8cf4367eef82a8affffffffffffffffffffffffffffffff20c173ad1d88a70fa8cf4367eef82a8a\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 34de9b9ec8b247d42bbee2016d6715ba722b6549c9df0f4b04b5f7432203fa54cef0b056a2eecc51d30838e640615e1487de186cd28e43544c73de628fd1d60e21d14da7b4f76f9f68fa8903138d563c3d6786a3c26b240e9519b064f88d575b\nresult = valid\ntag = dafdf430c8124483c175404b6bff5b41\n\n# tcId = 288\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ddffffffffffffffffffffffffffffff7817ec25241bcc26c5b27dadbcb12b0f61fa3a21712933597b1da91633f3e64761fa3a21712933597b1da91633f3e647\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 3dde9b9ec8b247d42bbee2016d6715bac5629699cfd4d9036cef478ed705be5650f575882c3800f757ea6e0f8c6d47acc6e551e0be2fd7029fa1341352da1ac3\nresult = valid\ntag = f8800c5b6283dddfc41f935c01bd0d24\n\n# tcId = 289\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffdba35e4e633a3c646379bc7f82db98ce07f07c0b2132c73943308806721c542707f07c0b2132c73943308806721c5427\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715ba66d624f288f52941ca24865ce96f0d9736ff33a27c23f4976fc74f1fcd82f5cca0ef17caee342362a78c15031335a8a3\nresult = valid\ntag = 38bfb8318c627d86c34bab1f1ebd0db0\n\n# tcId = 290\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = 14cada5efddb046351f2487c56a6e4f6e5ffffffffffffffffffffffffffffff8558412d1bf9b512930fed3d4b054406e5ffffffffffffffffffffffffffffff8558412d1bf9b512930fed3d4b054406\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f4ebbe3fca96bc4885b35582c43e0eb3588a85431430eada56a2c5dc944b6aa6b4570e8446e886bcbff82a24f49be5ed42e0943e30f91ba41b4362fa9ed6037b5b76f37550f12572040a9bc1a777edc5\nresult = valid\ntag = af7293eb09957d9de7432dd41316f0e4\n\n# tcId = 291\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = faffffffffffffffffffffffffffffffea6f4576d71568cae5ceee80e97eaf0edbffffffffffffffffffffffffffffffd1d2b02fe01eb32df3f3f0f6dacc4f05dbffffffffffffffffffffffffffffffd1d2b02fe01eb32df3f3f0f6dacc4f05\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1ade9b9ec8b247d42bbee2016d6715ba571a3fca3cda7def4c93d4a382ca3a57eaf0b056a2eecc51d30838e640615e1476cddbee2f185776174f6df3bbe5b38105d14da7b4f76f9f68fa8903138d563ccc7445213ffd302cce2503f5ccb932d4\nresult = valid\ntag = e178b0d5eb9bc551fa645c49f9f17667\n\n# tcId = 292\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff0344dfbdb8a569b44dfc38ef4c796b50e3ffffffffffffffffffffffffffffff7a8b7d60e12965e60abea0434ec70b07e3ffffffffffffffffffffffffffffff7a8b7d60e12965e60abea0434ec70b07\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715babe31a501536a7c91e4a102cc27cdfe09d2f0b056a2eecc51d30838e640615e14dd9416a12e2f81bdee023d462feef7833dd14da7b4f76f9f68fa8903138d563c672d886e3ecae6e73768534058b276d6\nresult = valid\ntag = bdbf63db237d195ecefdc251f5f17677\n\n# tcId = 293\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = deffffffffffffffffffffffffffffff3812dd4103ddb68f86081010aac51901d3ffffffffffffffffffffffffffffff1c98423cdb89c7e94daa2af16e06d505d3ffffffffffffffffffffffffffffff1c98423cdb89c7e94daa2af16e06d505\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 3ede9b9ec8b247d42bbee2016d6715ba8567a7fde812a3aa2f552a33c1718c58e2f0b056a2eecc51d30838e640615e14bb8729fd148f23b2a916b7f40f2f29810dd14da7b4f76f9f68fa8903138d563c013eb732046a44e8707cd9f27873a8d4\nresult = valid\ntag = b4ccb422bc5f7264aff73f3675ff5b19\n\n[ivSize = 0]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 294\n# invalid nonce size\naad = \nct = \niv = \nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 295\n# invalid nonce size\naa", + "d = \nct = \niv = 0001020304050607\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 88]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 296\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 104]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 297\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 112]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 298\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 128]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 299\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d0e0f\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 160]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 300\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d0e0f10111213\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n", }; -static const size_t kLen61 = 299955; +static const size_t kLen94 = 232513; -static const char *kData61[] = { - "# Imported from Wycheproof's dsa_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: DSA\n# Generator version: 0.4.12\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 0b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 0b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DSAPublicKey]\n[key.y = 173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6]\n[keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6]\n[sha = SHA-1]\n\n# tcId = 1\n# Legacy:ASN encoding of r misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n# ASN encoded integers with a leading hex-digit in the range 8 .. F are\n# negative. If the first hex-digit of a positive integer is 8 .. F then a\n# leading 0 must be added. Some libraries forgot to do this an therefore\n# generated invalid DSA signatures. Some providers, accept such legacy\n# signatures for compatibility.\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 3\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30812d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 302e02811500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a028114496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 6\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 302f0282001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02820014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 9\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302d021600aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302d021400aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 15\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30320285010000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a02850100000014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 18\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3036028901000000000000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3036021500aa6a258fbf7d90e15614676d377df8b10e38db4a0289010000000000000014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 21\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 303102847fffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a02847fffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 24\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30310284ffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a0284ffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 27\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30320285ffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a0285ffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 30\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30350288ffffffffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a0288ffffffffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 33\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5", - "f67d3532d1f991203bc3523b964c3b\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 302d02ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02ff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 36\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 302d028000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0280496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 39\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 40\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f0000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 43\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 44\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0500\n\n# tcId = 45\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032498177302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30312500302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032221a498177021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303122192500021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30352217021500aa6a258fbf7d90e15614676d377df8b10e38db4a0004deadbeef0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a22194981770214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221825000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a22160214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef\n\n# tcId = 54\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035aa00bb00cd00302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033aa02aabb302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035221daa00bb00cd00021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033221baa02aabb021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a221caa00bb00cd000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033021500aa6a258fbf7d90e15614676d377df8b10e38db4a221aaa02aabb0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 60\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 61\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30312280021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 64\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30312280031500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800314496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 67\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 68\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 322d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 73\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 74\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3031300102302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 75\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 77\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 78\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b00\n\n# tcId = 79\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b05000000\n\n# tcId = 80\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021500", - "aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b060811220000\n\n# tcId = 81\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000fe02beef\n\n# tcId = 82\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0002beef\n\n# tcId = 83\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f3000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 84\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b3000\n\n# tcId = 85\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 86\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3017021500aa6a258fbf7d90e15614676d377df8b10e38db4a\n\n# tcId = 87\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3043021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 88\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 30160214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 89\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3017020214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3018021500aa6a258fbf7d90e15614676d377df8b10e38db4a02\n\n# tcId = 91\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 93\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f0217000000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02160000496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 95\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 96\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a05000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0500\n\n# tcId = 98\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 301802810214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0281\n\n# tcId = 100\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 301805000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0500\n\n# tcId = 102\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d011500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d031500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d041500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302dff1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0114496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0314496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0414496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4aff14496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 112\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 301802000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0200\n\n# tcId = 114\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 303122190201000214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221802014902136d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 116\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021502aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02144b6d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 118\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38dbca0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964cbb\n\n# tcId = 120\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021400aa6a258fbf7d90e15614676d377df8b10e38db0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a02136d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 302e0216ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215ff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 126\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 30190901800214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a090180\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 30190201000214496d522", - "0b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a020100\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d02150163755e49c9ce35201c9df4acd2e5fd48862d64fb0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c0214f15eecd5b52ceca28f8ada2d9c15f419964451990214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d0215ff5595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c02140ea1132a4ad3135d707525d263ea0be669bbae670214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d0215fe9c8aa1b63631cadfe3620b532d1a02b779d29b050214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021501aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c02145595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a02150102788adac0472173f95b86d0bba3c7e9b38ad5ec\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a021490621966aba5d8f66c486c5184d3bebac3a1c28a\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214b692addf4a0982cacd2e066edfc43cadc469b3c5\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02146f9de699545a270993b793ae7b2c41453c5e3d76\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215fefd8775253fb8de8c06a4792f445c38164c752a14\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021501496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021500b692addf4a0982cacd2e066edfc43cadc469b3c5\n\n# tcId = 144\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201000215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 145\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 146\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 147\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 148\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 149\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 150\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 151\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 152\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 153\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201000215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 154\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702010002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 155\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 156\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201010215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 157\n# Signatures with special case values fo", - "r r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 158\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 159\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 160\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 161\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 162\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 163\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 164\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 165\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201010215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 166\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702010102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 167\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 168\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff0215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 169\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 170\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 171\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 172\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30190201ff02145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 173\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30190201ff02145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 174\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 175\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 176\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 177\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff0215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 178\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3081870201ff02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check", - " for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 179\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 180\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d80215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 181\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 182\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 183\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d80201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 184\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d802145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 185\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d802145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 186\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 187\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 188\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 189\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d80215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 190\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02145c859c5d0528521f6344c69fcdb4024bbbfa44d802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 191\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b02145c859c5d0528521f6344c69fcdb4024bbbfa44d8090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 192\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d90215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 193\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 194\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 195\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d90201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 196\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d902145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 197\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d902145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 198\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0.", - " As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 199\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 200\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 201\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d90215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 202\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02145c859c5d0528521f6344c69fcdb4024bbbfa44d902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 203\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b02145c859c5d0528521f6344c69fcdb4024bbbfa44d9090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 204\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b00215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 205\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 206\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 207\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b00201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 208\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 209\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 210\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 211\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 212\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 213\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b00215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 214\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 215\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b0090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 216\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 217\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 218\n# Signatu", - "res with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 219\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b10201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 220\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 221\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 222\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 223\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 224\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 225\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 226\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 227\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b1090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 228\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 229\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 230\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 231\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b20201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 232\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b202145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 233\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b202145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 234\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 235\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 236\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 237\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# impl", - "ementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 238\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b202818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 239\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b2090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 240\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e02150100000000000000000000000000000000000000000215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 241\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 242\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 243\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a02150100000000000000000000000000000000000000000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 244\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021501000000000000000000000000000000000000000002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 245\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021501000000000000000000000000000000000000000002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 246\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 247\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 248\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 249\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e02150100000000000000000000000000000000000000000215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 250\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021501000000000000000000000000000000000000000002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 251\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c0215010000000000000000000000000000000000000000090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 252\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 253\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 254\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 255\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869", - "fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 256\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 257\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 258\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 259\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 260\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 261\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 262\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3082010802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 263\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 264\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe010215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 265\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 266\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 267\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 268\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b090380fe0102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 269\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b090380fe0102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 270\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 271\n# Signatures with special case values for r an", - "d s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 272\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 273\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe010215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 274\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 308189090380fe0102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 275\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 300a090380fe01090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 276\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302d0215008a5f67f95721189431b8bd78f145a0144bfe8cbf0214727808e1428ea9aa7fe1e62ce41e14de1f0441b0\n\n# tcId = 277\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302d02140631c067b0b9272ebf1873d51213687b5b66e388021500938e3c5cd5ce3decb2c7a1d4c95408d3058d260a\n\n# tcId = 278\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302d021500847d9264c3723d8c19eb890e5a5018e606e006a502144c59ad9e76c731a6c9dd70160eebd6186ee8b7f6\n\n# tcId = 279\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c021422ac1f8da14b7b28b0d12911a50622865408378502144b95e54a6cf4679c60d94aa04766a9367b86fd48\n\n# tcId = 280\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c0214312efe6ed6cc2786a069ab45af12fdd57554cea402145a2adbe9edd8c81e8fe4e703094bf9734f17ed1c\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 0b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 0b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DSAPublicKey]\n[key.y = 713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754]\n[keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754]\n[sha = SHA-1]\n\n# tcId = 281\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 282\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 283\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3019020101021425023e8b9ba9ba72f481e90cb8ae67517e641b8a\n\n# tcId = 284\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 0b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 0b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DSAPublicKey]\n[key.y = 61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31]\n[keyDer = 308201b43082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818200027f61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31]\n[sha = SHA-1]\n\n# tcId = 285\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3019021462ba827381396dc44facc66c344f91788f11c6fc020101\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 1e77f842b1ae0fcd9929d394161d41e14614ff750", - "7a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[sha = SHA-224]\n\n# tcId = 286\n# Legacy:ASN encoding of s misses leading 0\nmsg = 48656c6c6f\nresult = acceptable\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n# ASN encoded integers with a leading hex-digit in the range 8 .. F are\n# negative. If the first hex-digit of a positive integer is 8 .. F then a\n# leading 0 must be added. Some libraries forgot to do this an therefore\n# generated invalid DSA signatures. Some providers, accept such legacy\n# signatures for compatibility.\n\n# tcId = 287\n# valid\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 288\n# long form encoding of length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30813d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 289\n# long form encoding of length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e02811c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 290\n# long form encoding of length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02811d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 291\n# length contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 292\n# length contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f0282001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 293\n# length contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0282001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 294\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 295\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 296\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 297\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 298\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021e00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 299\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 300\n# uint32 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3085010000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 301\n# uint32 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30420285010000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 302\n# uint32 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285010000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 303\n# uint64 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 308901000000000000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 304\n# uint64 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3046028901000000000000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 305\n# uint64 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3046021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028901000000000000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 306\n# length = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30847fffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 307\n# length = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 304102847fffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 308\n# length = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02847fffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 309\n# length = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3084ffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 310\n# length = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30410284ffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 311\n# length = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0284ffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 312\n# length = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3085ffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 313", - "\n# length = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30420285ffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 314\n# length = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285ffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 315\n# length = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3088ffffffffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 316\n# length = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30450288ffffffffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 317\n# length = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0288ffffffffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 318\n# incorrect length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30ff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 319\n# incorrect length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d02ff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 320\n# incorrect length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02ff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 321\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 322\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d02801e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 323\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 324\n# removing sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = \n\n# tcId = 325\n# lonely sequence tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 30\n\n# tcId = 326\n# appending 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 327\n# prepending 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f0000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 328\n# appending unused 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 329\n# appending null value to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500\n\n# tcId = 330\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042498177303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 331\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412500303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 332\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef\n\n# tcId = 333\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 30422221498177021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 334\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 304122202500021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 335\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045221e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0004deadbeef021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 336\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2222498177021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 337\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd22212500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 338\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd221f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef\n\n# tcId = 339\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045aa00bb00cd00303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 340\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3043aa02aabb303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 341\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 30452224aa00bb00cd00021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 342\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 30432222aa02aabb021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 343\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2225aa00bb00cd00021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 344\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3043021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2223aa02aabb021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 345\n# truncated length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3081\n\n# tcId = 346\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 347\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412280021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 348\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 349\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 350\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412280031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 351\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 352\n# Replacing sequence with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 0500\n\n# tcId = 353\n# changing tag value of sequence\nmsg =", - " 48656c6c6f\nresult = invalid\nsig = 2e3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 354\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 2f3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 355\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 356\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 323d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 357\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = ff3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 358\n# dropping value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3000\n\n# tcId = 359\n# using composition for sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041300102303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 360\n# truncate sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862\n\n# tcId = 361\n# truncate sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 362\n# indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 363\n# indefinite length with truncated delimiter\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623600\n\n# tcId = 364\n# indefinite length with additional element\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623605000000\n\n# tcId = 365\n# indefinite length with truncated element\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236060811220000\n\n# tcId = 366\n# indefinite length with garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000fe02beef\n\n# tcId = 367\n# indefinite length with nonempty EOC\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360002beef\n\n# tcId = 368\n# prepend empty sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f3000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 369\n# append empty sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862363000\n\n# tcId = 370\n# sequence of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 371\n# truncated sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 301e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd\n\n# tcId = 372\n# repeat element in sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 305c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 373\n# removing integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 301f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 374\n# lonely integer tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 302002021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 375\n# lonely integer tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 301f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02\n\n# tcId = 376\n# appending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 377\n# appending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 378\n# prepending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e00001e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 379\n# prepending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f000000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 380\n# appending unused 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 381\n# appending null value to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 382\n# appending null value to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500\n\n# tcId = 383\n# truncated length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210281021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 384\n# truncated length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0281\n\n# tcId = 385\n# Replacing integer with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 386\n# Replacing integer with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500\n\n# tcId = 387\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 388\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d011c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 389\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 390\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 391\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 392\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 393\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd011d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 394\n# changing tag val", - "ue of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 395\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 396\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 397\n# dropping value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210200021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 398\n# dropping value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0200\n\n# tcId = 399\n# using composition for integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 400\n# using composition for integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 401\n# modify first byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1c41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 402\n# modify first byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d02ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 403\n# modify last byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c94d021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 404\n# modify last byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862b6\n\n# tcId = 405\n# truncate integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 406\n# truncate integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 407\n# truncate integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862\n\n# tcId = 408\n# truncate integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 409\n# leading ff in integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 410\n# leading ff in integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021eff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 411\n# infinity\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022090180021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 412\n# infinity\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd090180\n\n# tcId = 413\n# replacing integer with zero\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 414\n# replacing integer with zero\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd020100\n\n# tcId = 415\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00d9384b2032d060e59848f87cb4535936bc25fa77959e96d7f88e332a021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 416\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff634b1dd327de7125da7903ad2163ca2addc096101fd395567ee36070021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 417\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021ce1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 418\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d009cb4e22cd8218eda2586fc52de9c35d5223f69efe02c6aa9811c9f90021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 419\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff26c7b4dfcd2f9f1a67b707834baca6c943da05886a6169280771ccd6021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 420\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d011e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 421\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00e1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 422\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d0168dcf02f57b0caef7ddc183bee1ca94ee09c1a02ee4b0200a54dcb93\n\n# tcId = 423\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cf2efc2e24cbedb2fc00c236c5b2d1a430236b59b7880007f2ba2f8d9\n\n# tcId = 424\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dff5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca\n\n# tcId = 425\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c0d103d1db34124d03ff3dc93a4d2e5bcfdc94a64877fff80d45d0727\n\n# tcId = 426\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dfe97230fd0a84f35108223e7c411e356b11f63e5fd11b4fdff5ab2346d\n\n# tcId = 427\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d01ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 428\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca\n\n# tcId = 429\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 430\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 431\n# Signatures wi", - "th special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 432\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 433\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 434\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 435\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 436\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 437\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 438\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 439\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 440\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008020100090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 441\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 442\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 443\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 444\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 445\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 446\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 447\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 448\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 449\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 450\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 451\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84b", - "dd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 452\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008020101090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 453\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 454\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 455\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 456\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 457\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 458\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 459\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 460\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 461\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 462\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 463\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 464\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30080201ff090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 465\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 466\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 467\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 468\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 469\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 470\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result th", - "ere are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 471\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 472\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 473\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 474\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 475\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 476\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 477\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 478\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 479\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 480\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 481\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 482\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 483\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 484\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 485\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 486\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 487\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modul", - "ar inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 488\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 489\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 490\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 491\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 492\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 493\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 494\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 495\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 496\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 497\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 498\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 499\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 500\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 501\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 502\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 503\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 504\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 505\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 506\n# Signatures with special case val", - "ues for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 507\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 508\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 509\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 510\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 511\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 512\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 513\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 514\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 515\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 516\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 517\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 518\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 519\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 520\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 521\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 522\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 523\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979c", - "ec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 524\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 525\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 526\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 527\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 528\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d01000000000000000000000000000000000000000000000000000000000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 529\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 530\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 531\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 532\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 533\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 534\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 535\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 536\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d0100000000000000000000000000000000000000000000000000000000090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 537\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 538\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead", - " to forgeries.\n\n# tcId = 539\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 540\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 541\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 542\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 543\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 544\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 545\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 546\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 547\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f272", - "90256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 548\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 549\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 550\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 551\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 552\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 553\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 554\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 555\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 556\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 557\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 558\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 559\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 560\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 300a090380fe01090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 561\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303c021c36f3dba9761a64a37e82b12321b2a9dfd7d33b52876cc0afc069fdfb021c2b4d30ae183b67f5f89268ae71c466d8d9b80c1877fab23e822f7f00\n\n# tcId = 562\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c57d273ae3782e51af0be789e409159428af91face3071ae9423474ed021d00b7385bfcd3c9eb35a4b5cbfaeaefc67a26c75a8612ebc482eef96033\n\n# tcId = 563\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c2dfa059fbea2500f7db7edb9c4b5d17c844604870f47c43554d07ca6021d00975684ce7938e43e82015d1e1ff9488cce372c11929b605fd7041645\n\n# tcId = 564\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303c021c57e06bc849dc1f43acc9eef55da7edd36ae15029d2e6fd9778f116b4021c7171a6bd9ea904d0cfb290feb28e42404c3da8ce8844c85c12ddd65f\n\n# tcId = 565\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303c021c56e35470a8d753a3eebdc96c8dfbea13198e8e12dd215afc0fdeaad6021c6022e76ad5b2d5a0cfbfec0b80d7d40c73de361d1caa91992414555b\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be", - "484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 6978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0]\n[sha = SHA-224]\n\n# tcId = 566\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 567\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 568\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1\n\n# tcId = 569\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 2a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d]\n[sha = SHA-224]\n\n# tcId = 570\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa271", - "10a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[sha = SHA-256]\n\n# tcId = 571\n# Legacy:ASN encoding of r misses leading 0\nmsg = 54657374\nresult = acceptable\nsig = 303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n# ASN encoded integers with a leading hex-digit in the range 8 .. F are\n# negative. If the first hex-digit of a positive integer is 8 .. F then a\n# leading 0 must be added. Some libraries forgot to do this an therefore\n# generated invalid DSA signatures. Some providers, accept such legacy\n# signatures for compatibility.\n\n# tcId = 572\n# valid\nmsg = 54657374\nresult = valid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 573\n# long form encoding of length\nmsg = 54657374\nresult = invalid\nsig = 30813d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 574\n# long form encoding of length\nmsg = 54657374\nresult = invalid\nsig = 303e02811d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 575\n# long form encoding of length\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302811c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 576\n# length contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 3082003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 577\n# length contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 303f0282001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 578\n# length contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930282001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 579\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 580\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 581\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303d021e009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 582\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303d021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 583\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 584\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 585\n# uint32 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 3085010000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 586\n# uint32 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 30420285010000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 587\n# uint32 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285010000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 588\n# uint64 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 308901000000000000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 589\n# uint64 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 3046028901000000000000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 590\n# uint64 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 3046021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93028901000000000000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 591\n# length = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 30847fffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 592\n# length = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 304102847fffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 593\n# length = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302847fffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 594\n# length = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 3084ffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 595\n# length = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 30410284ffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 596\n# length = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930284ffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 597\n# length = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 3085ffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 598\n# length = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 30420285ffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 599\n# length = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285ffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 600\n# length = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 3088ffffffffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 601\n# length = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 30450288ffffffffffffffff009b6fe4a1cbd4467d7584ae", - "382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 602\n# length = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930288ffffffffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 603\n# incorrect length\nmsg = 54657374\nresult = invalid\nsig = 30ff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 604\n# incorrect length\nmsg = 54657374\nresult = invalid\nsig = 303d02ff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 605\n# incorrect length\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302ff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 606\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 607\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 303d0280009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 608\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302805fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 609\n# removing sequence\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 610\n# lonely sequence tag\nmsg = 54657374\nresult = invalid\nsig = 30\n\n# tcId = 611\n# appending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 612\n# prepending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f0000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 613\n# appending unused 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 614\n# appending null value to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500\n\n# tcId = 615\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3042498177303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 616\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 30412500303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 617\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef\n\n# tcId = 618\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 30422222498177021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 619\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 304122212500021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 620\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3045221f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930004deadbeef021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 621\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932221498177021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 622\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9322202500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 623\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93221e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef\n\n# tcId = 624\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3045aa00bb00cd00303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 625\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3043aa02aabb303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 626\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 30452225aa00bb00cd00021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 627\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 30432223aa02aabb021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 628\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932224aa00bb00cd00021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 629\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3043021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932222aa02aabb021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 630\n# truncated length of sequence\nmsg = 54657374\nresult = invalid\nsig = 3081\n\n# tcId = 631\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3080303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 632\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 30412280021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 633\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 634\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 3080313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 635\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 30412280031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 636\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 637\n# Replacing sequence with NULL\nmsg = 54657374\nresult = invalid\nsig = 0500\n\n# tcId = 638\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 2e3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 639\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 2f3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 640\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 641\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 323d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 642\n# changing tag", - " value of sequence\nmsg = 54657374\nresult = invalid\nsig = ff3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 643\n# dropping value of sequence\nmsg = 54657374\nresult = invalid\nsig = 3000\n\n# tcId = 644\n# using composition for sequence\nmsg = 54657374\nresult = invalid\nsig = 3041300102303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 645\n# truncate sequence\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1\n\n# tcId = 646\n# truncate sequence\nmsg = 54657374\nresult = invalid\nsig = 303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 647\n# indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 648\n# indefinite length with truncated delimiter\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11600\n\n# tcId = 649\n# indefinite length with additional element\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11605000000\n\n# tcId = 650\n# indefinite length with truncated element\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116060811220000\n\n# tcId = 651\n# indefinite length with garbage\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000fe02beef\n\n# tcId = 652\n# indefinite length with nonempty EOC\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160002beef\n\n# tcId = 653\n# prepend empty sequence\nmsg = 54657374\nresult = invalid\nsig = 303f3000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 654\n# append empty sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1163000\n\n# tcId = 655\n# sequence of sequence\nmsg = 54657374\nresult = invalid\nsig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 656\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 301f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93\n\n# tcId = 657\n# repeat element in sequence\nmsg = 54657374\nresult = invalid\nsig = 305b021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 658\n# removing integer\nmsg = 54657374\nresult = invalid\nsig = 301e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 659\n# lonely integer tag\nmsg = 54657374\nresult = invalid\nsig = 301f02021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 660\n# lonely integer tag\nmsg = 54657374\nresult = invalid\nsig = 3020021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302\n\n# tcId = 661\n# appending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 662\n# appending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 663\n# prepending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f0000009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 664\n# prepending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e00005fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 665\n# appending unused 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 666\n# appending null value to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 667\n# appending null value to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500\n\n# tcId = 668\n# truncated length of integer\nmsg = 54657374\nresult = invalid\nsig = 30200281021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 669\n# truncated length of integer\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930281\n\n# tcId = 670\n# Replacing integer with NULL\nmsg = 54657374\nresult = invalid\nsig = 30200500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 671\n# Replacing integer with NULL\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500\n\n# tcId = 672\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 673\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d011d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 674\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 675\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d041d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 676\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303dff1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 677\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 678\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93011c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 679\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 680\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93041c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 681\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93ff1c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 682\n# dropping value of integer\nmsg = 54657374\nresult = invalid\nsig = 30200200021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 683\n# dropping value of integer\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930200\n\n# tcId", - " = 684\n# using composition for integer\nmsg = 54657374\nresult = invalid\nsig = 30412221020100021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 685\n# using composition for integer\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93222002015f021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 686\n# modify first byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d029b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 687\n# modify first byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5de8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 688\n# modify last byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee13021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 689\n# modify last byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b196\n\n# tcId = 690\n# truncate integer\nmsg = 54657374\nresult = invalid\nsig = 303c021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 691\n# truncate integer\nmsg = 54657374\nresult = invalid\nsig = 303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 692\n# truncate integer\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1\n\n# tcId = 693\n# truncate integer\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 694\n# leading ff in integer\nmsg = 54657374\nresult = invalid\nsig = 303e021eff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 695\n# leading ff in integer\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 696\n# infinity\nmsg = 54657374\nresult = invalid\nsig = 3021090180021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 697\n# infinity\nmsg = 54657374\nresult = invalid\nsig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93090180\n\n# tcId = 698\n# replacing integer with zero\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 699\n# replacing integer with zero\nmsg = 54657374\nresult = invalid\nsig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93020100\n\n# tcId = 700\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d0156667b48514d3e5d546ca89ff45ada90474113ed248b873430ab57f0021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 701\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021ce0794dfb465b4e9d969cb3d0616b4b8468dbaf85aec085b2b7008536021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 702\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021dff64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 703\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021c1f86b204b9a4b16269634c2f9e94b47b9724507a513f7a4d48ff7aca021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 704\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021dfea99984b7aeb2c1a2ab9357600ba5256fb8beec12db7478cbcf54a810021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 705\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d019b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 706\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021c64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 707\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d011adeb9ed974f878dc2fc26f4bf86ffda5f7abe6c26ebabf9b8181a73\n\n# tcId = 708\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca4f18ca08c5d97ce052c32252c9770ce81155a04b120aa783e6d47b9\n\n# tcId = 709\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea\n\n# tcId = 710\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5b0e735f73a26831fad3cddad3688f317eeaa5fb4edf5587c192b847\n\n# tcId = 711\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dfee521461268b078723d03d90b40790025a0854193d914540647e7e58d\n\n# tcId = 712\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d015fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 713\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d00a017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea\n\n# tcId = 714\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 715\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 716\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 717\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 718\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such", - " as r=1, s=0 lead to forgeries.\n\n# tcId = 719\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 720\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 721\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 722\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 723\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 724\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 725\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008020100090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 726\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 727\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 728\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 729\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 730\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 731\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 732\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 733\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 734\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 735\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 736\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 737\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008020101090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 738\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021dff450969597a870820211805983688387a10cd4d", - "cc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 739\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 740\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 741\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 742\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 743\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 744\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 745\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 746\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 747\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 748\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 749\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30080201ff090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 750\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 751\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 752\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 753\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 754\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 755\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 756\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 757\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 758\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d02", - "1c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 759\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 760\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 761\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 762\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 763\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 764\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 765\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 766\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 767\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 768\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 769\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 770\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 771\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 772\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 773\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 774\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 775\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b", - "233bae580c0bcd5695c020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 776\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 777\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 778\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 779\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 780\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 781\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 782\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 783\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 784\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 785\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 786\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 787\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 788\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 789\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 790\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 791\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 792\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 793\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. ", - "In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 794\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 795\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 796\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 797\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 798\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 799\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 800\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 801\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 802\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 803\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 804\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 805\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 806\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 807\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 808\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 809\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 810\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n#", - " cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 811\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 812\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 813\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d01000000000000000000000000000000000000000000000000000000000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 814\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 815\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 816\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 817\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 818\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 819\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 820\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 821\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d0100000000000000000000000000000000000000000000000000000000090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 822\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 823\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 824\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 825\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd0", - "0233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 826\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 827\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 828\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 829\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 830\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 831\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 832\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 833\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 834\n# S", - "ignatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 835\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe01020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 836\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe01020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 837\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 838\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 839\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 840\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 841\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 842\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 843\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 844\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 845\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 300a090380fe01090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 846\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021d00a771ef48c2916d48ba9ece53cafb9acb3cf317a78216fae144c88fb3021c65663b70365747f4392d480aaf12b50b162d2ce58b61ccbee88a8df9\n\n# tcId = 847\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303e021d00946645d757f0adfbd301c9ee2c08bf0e059a5602de9525dbde789f81021d00a30eb7f2a5d9870c360315bf6d70d83e7b206bbc5ed7d2ded4bacb24\n\n# tcId = 848\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021c70d3d4efc14853acf33f1060fee06a072773b4c9350d205e618646ab021d00b51e853022ff4922f955458e6b22f9454207a982927db32c76ee3344\n\n# tcId = 849\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303c021c6ce7d91e02a62558e8dacd3cf180f81952a091845bbf47bf8fb9f48d021c1e6e4769bbbebc2fa9f819796e7b968c8b699c5f72ee517441c20359\n\n# tcId = 850\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021c04aa8a8b3f9e1c3f2304070fd797634cec352bfda916bb7a7f20a174021d00a0bb9b091b921951241fae650aab087ac896ed190a3f7cf7aaa2300d\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 0848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827]\n[keyDer = 308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c7", - "85ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820106000282010100848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827]\n[sha = SHA-256]\n\n# tcId = 851\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 852\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 853\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1\n\n# tcId = 854\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b]\n[sha = SHA-256]\n\n# tcId = 855\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101\n\n", +static const char *kData94[] = { + "# Imported from Wycheproof's dsa_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: DSA\n# Generator version: 0.8r12\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 00b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 00b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DsaPublicKey]\n[key.y = 173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6]\n[keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6]\n[sha = SHA-1]\n\n# tcId = 1\n# Legacy:ASN encoding of r misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\nflags = NoLeadingZero\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 3\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30812d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 4\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 5\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 7\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 8\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 9\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 10\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 11\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 12\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 13\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 14\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 302d028000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0280496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 17\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 18\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 19\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 20\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f0000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 21\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 22\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0500\n\n# tcId = 23\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032498177302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30312500302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032221a498177021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303122192500021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30352217021500aa6a258fbf7d90e15614676d377df8b10e38db4a0004deadbeef0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a22194981770214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221825000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a22160214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef\n\n# tcId = 32\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035aa00bb00cd00302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033aa02aabb302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035221daa00bb00cd00021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = i", + "nvalid\nsig = 3033221baa02aabb021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a221caa00bb00cd000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033021500aa6a258fbf7d90e15614676d377df8b10e38db4a221aaa02aabb0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 38\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 39\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30312280021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 42\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30312280031500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800314496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 45\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 46\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 322d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 51\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 52\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3031300102302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 53\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 55\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 56\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b00\n\n# tcId = 57\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b05000000\n\n# tcId = 58\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b060811220000\n\n# tcId = 59\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000fe02beef\n\n# tcId = 60\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0002beef\n\n# tcId = 61\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f3000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 62\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b3000\n\n# tcId = 63\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3030021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3bbf7f00\n\n# tcId = 64\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 65\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 3017021500aa6a258fbf7d90e15614676d377df8b10e38db4a\n\n# tcId = 66\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3043021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 67\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302e02811500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a028114496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 69\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 302f0282001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02820014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 71\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021600aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021400aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 75\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30320285010000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a02850100000014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 77\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3036028901000000000000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3036021500aa6a258fbf7d90e15614676d377df8b10e38db4a0289010000000000000014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 79\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 303102847fffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 80\n# length of integer = 2**", + "31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a02847fffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 81\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30310284ffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a0284ffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 83\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30320285ffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a0285ffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 85\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30350288ffffffffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a0288ffffffffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 87\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d02ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02ff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 30160214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3017020214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3018021500aa6a258fbf7d90e15614676d377df8b10e38db4a02\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f0217000000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02160000496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a05000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 301802810214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 301805000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d011500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d031500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d041500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302dff1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0114496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0314496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0414496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4aff14496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 301802000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 303122190201000214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221802014902136d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021502aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02144b6d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38dbca0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964cbb\n\n# tcId = 121\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021400aa6a258fbf7d90e15614676d377df8b10e38db0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a02136d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 302e0216ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215ff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 126\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 30190901800214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = in", + "valid\nsig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a090180\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 30190201000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a020100\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d02150163755e49c9ce35201c9df4acd2e5fd48862d64fb0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c0214f15eecd5b52ceca28f8ada2d9c15f419964451990214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d0215ff5595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c02140ea1132a4ad3135d707525d263ea0be669bbae670214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d0215fe9c8aa1b63631cadfe3620b532d1a02b779d29b050214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021501aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c02145595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a02150102788adac0472173f95b86d0bba3c7e9b38ad5ec\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a021490621966aba5d8f66c486c5184d3bebac3a1c28a\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214b692addf4a0982cacd2e066edfc43cadc469b3c5\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02146f9de699545a270993b793ae7b2c41453c5e3d76\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215fefd8775253fb8de8c06a4792f445c38164c752a14\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021501496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021500b692addf4a0982cacd2e066edfc43cadc469b3c5\n\n# tcId = 144\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201000215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 145\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 146\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 147\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 148\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 149\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 150\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 151\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 152\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 153\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201000215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 154\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702010002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 155\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 156\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 157\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201010215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 158\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 159\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 160\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 161\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 162\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 163\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 164\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 165\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 166\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201010215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 167\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702010102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 168\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 169\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 170\n# Signatures with special case values for r and s.\nms", + "g = 313233343030\nresult = invalid\nsig = 301a0201ff0215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 171\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 172\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 173\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 174\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30190201ff02145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 175\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30190201ff02145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 176\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 177\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 178\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 179\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff0215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 180\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3081870201ff02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 181\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 182\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 183\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d80215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 184\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8020100\nflags = EdgeCase\n\n# tcId = 185\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8020101\nflags = EdgeCase\n\n# tcId = 186\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d80201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d802145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 188\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d802145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 189\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 190\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 191\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 192\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d80215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 193\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02145c859c5d0528521f6344c69fcdb4024bbbfa44d802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 194\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b02145c859c5d0528521f6344c69fcdb4024bbbfa44d8090380fe01\nflags = EdgeCase\n\n# tcId = 195\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8090142\nflags = EdgeCase\n\n# tcId = 196\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d90215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 197\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9020100\nflags = EdgeCase\n\n# tcId = 198\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9020101\nflags = EdgeCase\n\n# tcId = 199\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d90201ff\nflags = EdgeCase\n\n# tcId = 200\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d902145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 201\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d902145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 202\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 203\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 204\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 205\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d90215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 206\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02145c859c5d0528521f6344c69fcdb4024bbbfa44d902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 207\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b02145c859c5d0528521f6344c69fcdb4024bbbfa44d9090380fe01\nflags = EdgeCase\n\n# tcId = 208\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9090142\nflags = EdgeCase\n\n# tcId = 209\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f", + "489b00215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 210\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0020100\nflags = EdgeCase\n\n# tcId = 211\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0020101\nflags = EdgeCase\n\n# tcId = 212\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b00201ff\nflags = EdgeCase\n\n# tcId = 213\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 214\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 215\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 216\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 217\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 218\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b00215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 219\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 220\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b0090380fe01\nflags = EdgeCase\n\n# tcId = 221\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0090142\nflags = EdgeCase\n\n# tcId = 222\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 223\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020100\nflags = EdgeCase\n\n# tcId = 224\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020101\nflags = EdgeCase\n\n# tcId = 225\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b10201ff\nflags = EdgeCase\n\n# tcId = 226\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 227\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 228\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 229\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 230\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 231\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 232\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 233\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b1090380fe01\nflags = EdgeCase\n\n# tcId = 234\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1090142\nflags = EdgeCase\n\n# tcId = 235\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 236\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020100\nflags = EdgeCase\n\n# tcId = 237\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020101\nflags = EdgeCase\n\n# tcId = 238\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b20201ff\nflags = EdgeCase\n\n# tcId = 239\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b202145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 240\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b202145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 241\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 242\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 243\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 244\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 245\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b202818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 246\n# Signatures with", + " special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b2090380fe01\nflags = EdgeCase\n\n# tcId = 247\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2090142\nflags = EdgeCase\n\n# tcId = 248\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e02150100000000000000000000000000000000000000000215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 249\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 250\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 251\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a02150100000000000000000000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 252\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021501000000000000000000000000000000000000000002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 253\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021501000000000000000000000000000000000000000002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 254\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 255\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 256\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 257\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e02150100000000000000000000000000000000000000000215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 258\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021501000000000000000000000000000000000000000002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 259\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c0215010000000000000000000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 260\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 261\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 262\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020100\nflags = EdgeCase\n\n# tcId = 263\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020101\nflags = EdgeCase\n\n# tcId = 264\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0201ff\nflags = EdgeCase\n\n# tcId = 265\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 266\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 267\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 268\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 269\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 270\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 271\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3082010802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 272\n# S", + "ignatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f090380fe01\nflags = EdgeCase\n\n# tcId = 273\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f090142\nflags = EdgeCase\n\n# tcId = 274\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe010215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 275\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01020100\nflags = EdgeCase\n\n# tcId = 276\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01020101\nflags = EdgeCase\n\n# tcId = 277\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe010201ff\nflags = EdgeCase\n\n# tcId = 278\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b090380fe0102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 279\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b090380fe0102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 280\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 281\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 282\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 283\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe010215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 284\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 308189090380fe0102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 285\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 300a090380fe01090380fe01\nflags = EdgeCase\n\n# tcId = 286\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01090142\nflags = EdgeCase\n\n# tcId = 287\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 288\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 289\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 290\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 291\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 292\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 293\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302e0215008854bdb52d20ff9ea499483fba4d3c101a586fc7021500b23045900995d3fe3c4c638a3e06458a25a1e9dd\n\n# tcId = 294\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c02144f6bf18941abbf33211d9561a14f9aebd03f4e940214218cda350def7f75617fcc799d0cf2cf6b23438d\n\n# tcId = 295\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c0214459eaf0886160081b47fc573fb3d152d680d3b4b02144293dbb94db4c930d67e27fc4ec8538b58d1c7cd\n\n# tcId = 296\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c02140a6c12b8ff5ca21c4ea0c7acea38d76fd170b97f021429ce2cf2672fa640031680dce2223932f613f6a5\n\n# tcId = 297\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c021434bce4773e5e11875ea2202bc33e01fe00b3321a02142b294e01a97296d84e4c60bfba05d2760981c920\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 00b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 00b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DsaPublicKey]\n[key.y = 713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754]\n[keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754]\n[sha = SHA-1]\n\n# tcId = 298\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 299\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 300\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3019020101021425023e8b9ba9ba72f481e90cb8ae67517e641b8a\n\n# tcId = 301\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 00b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 00b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DsaPublicKey]\n[key.y = 61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31]\n[keyDer = 308201b43082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d", + "3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818200027f61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31]\n[sha = SHA-1]\n\n# tcId = 302\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3019021462ba827381396dc44facc66c344f91788f11c6fc020101\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[sha = SHA-224]\n\n# tcId = 303\n# Legacy:ASN encoding of s misses leading 0\nmsg = 48656c6c6f\nresult = acceptable\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\nflags = NoLeadingZero\n\n# tcId = 304\n# valid\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 305\n# long form encoding of length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 30813d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 306\n# length of sequence contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 307\n# wrong length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 308\n# wrong length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 309\n# uint32 overflow in length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3085010000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 310\n# uint64 overflow in length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 308901000000000000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 311\n# length of sequence = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30847fffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 312\n# length of sequence = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3084ffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 313\n# length of sequence = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3085ffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 314\n# length of sequence = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3088ffffffffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 315\n# incorrect length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 30ff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 316\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 317\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d02801e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 318\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 319\n# removing sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = \n\n# tcId = 320\n# lonely sequence tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 30\n\n# tcId = 321\n# appending 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 322\n# prepending 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f0000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623", + "6\n\n# tcId = 323\n# appending unused 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 324\n# appending null value to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500\n\n# tcId = 325\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042498177303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 326\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412500303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 327\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef\n\n# tcId = 328\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 30422221498177021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 329\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 304122202500021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 330\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045221e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0004deadbeef021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 331\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2222498177021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 332\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd22212500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 333\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd221f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef\n\n# tcId = 334\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045aa00bb00cd00303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 335\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3043aa02aabb303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 336\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 30452224aa00bb00cd00021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 337\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 30432222aa02aabb021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 338\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2225aa00bb00cd00021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 339\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3043021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2223aa02aabb021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 340\n# truncated length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3081\n\n# tcId = 341\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 342\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412280021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 343\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 344\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 345\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412280031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 346\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 347\n# Replacing sequence with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 0500\n\n# tcId = 348\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 2e3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 349\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 2f3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 350\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 351\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 323d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 352\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = ff3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 353\n# dropping value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3000\n\n# tcId = 354\n# using composition for sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041300102303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 355\n# truncated sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862\n\n# tcId = 356\n# truncated sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 357\n# indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 358\n# indefinite length with truncated delimiter\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623600\n\n# tcId = 359\n# indefinite length with additional element\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623605000000\n\n# tcId = 360\n# indefinite length with truncated element\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236060811220000\n\n# tcId = 361\n# indefinite length with garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000fe02beef\n\n# tcId = 362\n# indefinite length with nonempty EOC", + "\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360002beef\n\n# tcId = 363\n# prepend empty sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f3000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 364\n# append empty sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862363000\n\n# tcId = 365\n# append garbage with high tag number\nmsg = 48656c6c6f\nresult = invalid\nsig = 3040021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236bf7f00\n\n# tcId = 366\n# sequence of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 367\n# truncated sequence: removed last 1 elements\nmsg = 48656c6c6f\nresult = invalid\nsig = 301e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd\n\n# tcId = 368\n# repeating element in sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 305c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 369\n# long form encoding of length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e02811c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 370\n# long form encoding of length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02811d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 371\n# length of integer contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f0282001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 372\n# length of integer contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0282001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 373\n# wrong length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 374\n# wrong length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 375\n# wrong length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021e00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 376\n# wrong length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 377\n# uint32 overflow in length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30420285010000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 378\n# uint32 overflow in length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285010000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 379\n# uint64 overflow in length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3046028901000000000000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 380\n# uint64 overflow in length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3046021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028901000000000000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 381\n# length of integer = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 304102847fffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 382\n# length of integer = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02847fffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 383\n# length of integer = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30410284ffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 384\n# length of integer = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0284ffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 385\n# length of integer = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30420285ffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 386\n# length of integer = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285ffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 387\n# length of integer = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30450288ffffffffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 388\n# length of integer = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0288ffffffffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 389\n# incorrect length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d02ff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 390\n# incorrect length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02ff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 391\n# removing integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 301f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 392\n# lonely integer tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 302002021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 393\n# lonely integer tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 301f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02\n\n# tcId = 394\n# appending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 395\n# appending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 396\n# prepending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e00001e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 397\n# prepending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f000000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 398\n# appending unused 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 399\n# appending null value to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 400\n# appending null value to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843da", + "b916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500\n\n# tcId = 401\n# truncated length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210281021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 402\n# truncated length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0281\n\n# tcId = 403\n# Replacing integer with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 404\n# Replacing integer with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500\n\n# tcId = 405\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 406\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d011c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 407\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 408\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 409\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 410\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 411\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd011d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 412\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 413\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 414\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 415\n# dropping value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210200021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 416\n# dropping value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0200\n\n# tcId = 417\n# using composition for integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 418\n# using composition for integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 419\n# modify first byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1c41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 420\n# modify first byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d02ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 421\n# modify last byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c94d021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 422\n# modify last byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862b6\n\n# tcId = 423\n# truncated integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 424\n# truncated integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 425\n# truncated integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862\n\n# tcId = 426\n# leading ff in integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 427\n# leading ff in integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021eff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 428\n# replaced integer by infinity\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022090180021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 429\n# replaced integer by infinity\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd090180\n\n# tcId = 430\n# replacing integer with zero\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 431\n# replacing integer with zero\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd020100\n\n# tcId = 432\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00d9384b2032d060e59848f87cb4535936bc25fa77959e96d7f88e332a021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 433\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff634b1dd327de7125da7903ad2163ca2addc096101fd395567ee36070021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 434\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021ce1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 435\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d009cb4e22cd8218eda2586fc52de9c35d5223f69efe02c6aa9811c9f90021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 436\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff26c7b4dfcd2f9f1a67b707834baca6c943da05886a6169280771ccd6021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 437\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d011e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 438\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00e1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 439\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d0168dcf02f57b0caef7ddc183bee1ca94ee09c1a02ee4b0200a54dcb93\n\n# tcId = 440\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb9", + "1b0ccf34843dab916173bb8c9cd021cf2efc2e24cbedb2fc00c236c5b2d1a430236b59b7880007f2ba2f8d9\n\n# tcId = 441\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dff5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca\n\n# tcId = 442\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c0d103d1db34124d03ff3dc93a4d2e5bcfdc94a64877fff80d45d0727\n\n# tcId = 443\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dfe97230fd0a84f35108223e7c411e356b11f63e5fd11b4fdff5ab2346d\n\n# tcId = 444\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d01ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 445\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca\n\n# tcId = 446\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 447\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 448\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 449\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 450\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 451\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 452\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 453\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 454\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 455\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 456\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 457\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 458\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 459\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 460\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 461\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 462\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 463\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 464\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 465\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 466\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 467\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 468\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 469\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 470\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 471\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 472\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 473\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 474\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 475\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 476\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 477\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 478\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 479\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 480\n# Signatures with special case values ", + "for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 481\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 482\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 483\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 484\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 485\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 486\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020100\nflags = EdgeCase\n\n# tcId = 487\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020101\nflags = EdgeCase\n\n# tcId = 488\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae0201ff\nflags = EdgeCase\n\n# tcId = 489\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 490\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 491\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 492\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 493\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 494\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 495\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 496\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090380fe01\nflags = EdgeCase\n\n# tcId = 497\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090142\nflags = EdgeCase\n\n# tcId = 498\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 499\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020100\nflags = EdgeCase\n\n# tcId = 500\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020101\nflags = EdgeCase\n\n# tcId = 501\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af0201ff\nflags = EdgeCase\n\n# tcId = 502\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 503\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 504\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 505\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 506\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 507\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 508\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 509\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090380fe01\nflags = EdgeCase\n\n# tcId = 510\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090142\nflags = EdgeCase\n\n# tcId = 511\n# Signatures with special case values for r and s.\nmsg = ", + "48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 512\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020100\nflags = EdgeCase\n\n# tcId = 513\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020101\nflags = EdgeCase\n\n# tcId = 514\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c0201ff\nflags = EdgeCase\n\n# tcId = 515\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 516\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 517\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 518\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 519\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 520\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 521\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 522\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090380fe01\nflags = EdgeCase\n\n# tcId = 523\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090142\nflags = EdgeCase\n\n# tcId = 524\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 525\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100\nflags = EdgeCase\n\n# tcId = 526\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101\nflags = EdgeCase\n\n# tcId = 527\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff\nflags = EdgeCase\n\n# tcId = 528\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 529\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 530\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 531\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 532\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 533\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 534\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 535\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01\nflags = EdgeCase\n\n# tcId = 536\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090142\nflags = EdgeCase\n\n# tcId = 537\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 538\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100\nflags = EdgeCase\n\n# tcId = 539\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101\nflags = EdgeCase\n\n# tcId = 540\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff\nflags = EdgeCase\n\n# tcId = 541\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 542\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 543\n# Signatures with spe", + "cial case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 544\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 545\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 546\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 547\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 548\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01\nflags = EdgeCase\n\n# tcId = 549\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090142\nflags = EdgeCase\n\n# tcId = 550\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 551\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 552\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 553\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d01000000000000000000000000000000000000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 554\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 555\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 556\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 557\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 558\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 559\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 560\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 561\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d0100000000000000000000000000000000000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 562\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 563\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 564\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100\nflags = EdgeCase\n\n# tcId = 565\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101\nflags = EdgeCase\n\n# tcId = 566\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66", + "70201ff\nflags = EdgeCase\n\n# tcId = 567\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 568\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 569\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 570\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 571\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 572\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 573\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 574\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01\nflags = EdgeCase\n\n# tcId = 575\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090142\nflags = EdgeCase\n\n# tcId = 576\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 577\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01020100\nflags = EdgeCase\n\n# tcId = 578\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01020101\nflags = EdgeCase\n\n# tcId = 579\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe010201ff\nflags = EdgeCase\n\n# tcId = 580\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 581\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 582\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 583\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b2", + "33bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 584\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 585\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 586\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 587\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 300a090380fe01090380fe01\nflags = EdgeCase\n\n# tcId = 588\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01090142\nflags = EdgeCase\n\n# tcId = 589\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 590\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 591\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 592\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 593\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3003020101\n\n# tcId = 594\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 595\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303e021d0085c771ecf9c77debae0c54f749dba4b07ae519ca1037091dd6f294cf021d00a02f74985198cf88e310e55277ba598b336164850fdd5308a7beb1a7\n\n# tcId = 596\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303c021c043cd5580b8bfb5975edef132d6de7848096392e0adf46342bad7bb7021c142b6572ce61b032d45d4597a88c4e54dd593fa7ca6c8e6882df77f6\n\n# tcId = 597\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021d00914e4f7ba8df44cf63c57d219c6b5da093fe3a94604bd2ef88b630f5021c6a7b804cbfc69937903bbd0c8f67306a6e8bf0d0501ae3f3190dca19\n\n# tcId = 598\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c0a8ffb160da0ffe319e7d3a5ea299f531f8421bfdcfd6bb66c6adcf2021d008a75e2cbaa709b2b5d81d346f6e90a8dc353c5835393b1d5a6653f3c\n\n# tcId = 599\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021d00a7f164d32f44684fcde89f0fa9647128bc0c290f08c9b9e6f7db3fe1021c2dca34db2f320c95de4e9de4986bbf50860753d5deb728237678afb6\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 6978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0]\n[sha = SHA-224]\n\n# tcId = 600\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 601\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 602\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1\n\n# tcId = 603\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 2a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f7", + "2040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d]\n[sha = SHA-224]\n\n# tcId = 604\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[sha = SHA-256]\n\n# tcId = 605\n# Legacy:ASN encoding of r misses leading 0\nmsg = 54657374\nresult = acceptable\nsig = 303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\nflags = NoLeadingZero\n\n# tcId = 606\n# valid\nmsg = 54657374\nresult = valid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 607\n# long form encoding of length of sequence\nmsg = 54657374\nresult = invalid\nsig = 30813d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 608\n# length of sequence contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 3082003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 609\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 610\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 611\n# uint32 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 3085010000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 612\n# uint64 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 308901000000000000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 613\n# length of sequence = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 30847fffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 614\n# length of sequence = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 3084ffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 615\n# length of sequence = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 3085ffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 616\n# length of sequence = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 3088ffffffffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe823", + "4711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 617\n# incorrect length of sequence\nmsg = 54657374\nresult = invalid\nsig = 30ff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 618\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 619\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 303d0280009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 620\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302805fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 621\n# removing sequence\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 622\n# lonely sequence tag\nmsg = 54657374\nresult = invalid\nsig = 30\n\n# tcId = 623\n# appending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 624\n# prepending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f0000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 625\n# appending unused 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 626\n# appending null value to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500\n\n# tcId = 627\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3042498177303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 628\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 30412500303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 629\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef\n\n# tcId = 630\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 30422222498177021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 631\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 304122212500021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 632\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3045221f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930004deadbeef021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 633\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932221498177021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 634\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9322202500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 635\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93221e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef\n\n# tcId = 636\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3045aa00bb00cd00303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 637\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3043aa02aabb303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 638\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 30452225aa00bb00cd00021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 639\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 30432223aa02aabb021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 640\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932224aa00bb00cd00021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 641\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3043021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932222aa02aabb021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 642\n# truncated length of sequence\nmsg = 54657374\nresult = invalid\nsig = 3081\n\n# tcId = 643\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3080303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 644\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 30412280021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 645\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 646\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 3080313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 647\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 30412280031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 648\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 649\n# Replacing sequence with NULL\nmsg = 54657374\nresult = invalid\nsig = 0500\n\n# tcId = 650\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 2e3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 651\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 2f3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 652\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 653\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 323d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 654\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = ff3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 655\n# dropping value of sequence\nmsg = 54657374\nresult = invalid\nsig = 3000\n\n# tcId = 656\n# using composition for sequence\nmsg = 54657374\nresult = invalid\nsig = 3041300102303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 657\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d", + "68fade4142c8cf60f385470480c386c062b38fb42b1\n\n# tcId = 658\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 659\n# indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 660\n# indefinite length with truncated delimiter\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11600\n\n# tcId = 661\n# indefinite length with additional element\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11605000000\n\n# tcId = 662\n# indefinite length with truncated element\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116060811220000\n\n# tcId = 663\n# indefinite length with garbage\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000fe02beef\n\n# tcId = 664\n# indefinite length with nonempty EOC\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160002beef\n\n# tcId = 665\n# prepend empty sequence\nmsg = 54657374\nresult = invalid\nsig = 303f3000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 666\n# append empty sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1163000\n\n# tcId = 667\n# append garbage with high tag number\nmsg = 54657374\nresult = invalid\nsig = 3040021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116bf7f00\n\n# tcId = 668\n# sequence of sequence\nmsg = 54657374\nresult = invalid\nsig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 669\n# truncated sequence: removed last 1 elements\nmsg = 54657374\nresult = invalid\nsig = 301f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93\n\n# tcId = 670\n# repeating element in sequence\nmsg = 54657374\nresult = invalid\nsig = 305b021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 671\n# long form encoding of length of integer\nmsg = 54657374\nresult = invalid\nsig = 303e02811d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 672\n# long form encoding of length of integer\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302811c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 673\n# length of integer contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 303f0282001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 674\n# length of integer contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930282001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 675\n# wrong length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021e009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 676\n# wrong length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 677\n# wrong length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 678\n# wrong length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 679\n# uint32 overflow in length of integer\nmsg = 54657374\nresult = invalid\nsig = 30420285010000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 680\n# uint32 overflow in length of integer\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285010000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 681\n# uint64 overflow in length of integer\nmsg = 54657374\nresult = invalid\nsig = 3046028901000000000000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 682\n# uint64 overflow in length of integer\nmsg = 54657374\nresult = invalid\nsig = 3046021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93028901000000000000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 683\n# length of integer = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 304102847fffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 684\n# length of integer = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302847fffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 685\n# length of integer = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 30410284ffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 686\n# length of integer = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930284ffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 687\n# length of integer = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 30420285ffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 688\n# length of integer = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285ffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 689\n# length of integer = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 30450288ffffffffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 690\n# length of integer = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930288ffffffffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 691\n# incorrect length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d02ff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 692\n# incorrect length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302ff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 693\n# removing integer\nmsg = 54657374\nresult = invalid\nsig = 301e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 694\n# lonely integer tag\nmsg = 54657374\nresult = invalid\nsig = 301f02021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 695\n# lonely integer tag\nmsg = 54657374\nresult = invalid\nsig = 3020021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302\n\n# tcId = 696\n# appending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 30", + "3f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 697\n# appending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 698\n# prepending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f0000009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 699\n# prepending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e00005fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 700\n# appending unused 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 701\n# appending null value to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 702\n# appending null value to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500\n\n# tcId = 703\n# truncated length of integer\nmsg = 54657374\nresult = invalid\nsig = 30200281021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 704\n# truncated length of integer\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930281\n\n# tcId = 705\n# Replacing integer with NULL\nmsg = 54657374\nresult = invalid\nsig = 30200500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 706\n# Replacing integer with NULL\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500\n\n# tcId = 707\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 708\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d011d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 709\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 710\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d041d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 711\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303dff1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 712\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 713\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93011c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 714\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 715\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93041c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 716\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93ff1c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 717\n# dropping value of integer\nmsg = 54657374\nresult = invalid\nsig = 30200200021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 718\n# dropping value of integer\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930200\n\n# tcId = 719\n# using composition for integer\nmsg = 54657374\nresult = invalid\nsig = 30412221020100021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 720\n# using composition for integer\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93222002015f021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 721\n# modify first byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d029b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 722\n# modify first byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5de8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 723\n# modify last byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee13021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 724\n# modify last byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b196\n\n# tcId = 725\n# truncated integer\nmsg = 54657374\nresult = invalid\nsig = 303c021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 726\n# truncated integer\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1\n\n# tcId = 727\n# truncated integer\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 728\n# leading ff in integer\nmsg = 54657374\nresult = invalid\nsig = 303e021eff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 729\n# leading ff in integer\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 730\n# replaced integer by infinity\nmsg = 54657374\nresult = invalid\nsig = 3021090180021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 731\n# replaced integer by infinity\nmsg = 54657374\nresult = invalid\nsig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93090180\n\n# tcId = 732\n# replacing integer with zero\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 733\n# replacing integer with zero\nmsg = 54657374\nresult = invalid\nsig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93020100\n\n# tcId = 734\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d0156667b48514d3e5d546ca89ff45ada90474113ed248b873430ab57f0021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 735\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021ce0794dfb465b4e9d969cb3d0616b4b8468dbaf85aec085b2b7008536021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 736\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021dff64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 737\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021c1f86b204b9a4", + "b16269634c2f9e94b47b9724507a513f7a4d48ff7aca021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 738\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021dfea99984b7aeb2c1a2ab9357600ba5256fb8beec12db7478cbcf54a810021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 739\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d019b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 740\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021c64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 741\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d011adeb9ed974f878dc2fc26f4bf86ffda5f7abe6c26ebabf9b8181a73\n\n# tcId = 742\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca4f18ca08c5d97ce052c32252c9770ce81155a04b120aa783e6d47b9\n\n# tcId = 743\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea\n\n# tcId = 744\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5b0e735f73a26831fad3cddad3688f317eeaa5fb4edf5587c192b847\n\n# tcId = 745\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dfee521461268b078723d03d90b40790025a0854193d914540647e7e58d\n\n# tcId = 746\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d015fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 747\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d00a017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea\n\n# tcId = 748\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 749\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 750\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 751\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 752\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 753\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 754\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 755\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 756\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 757\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 758\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 759\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 760\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 761\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 762\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 763\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 764\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 765\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 766\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 767\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 768\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 769\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 770\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 771\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 772\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 773\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 774\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 775\n# Signatures with special case values for r and ", + "s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 776\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 777\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 778\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 779\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 780\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 781\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 782\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 783\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 784\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 785\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 786\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 787\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 788\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020100\nflags = EdgeCase\n\n# tcId = 789\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020101\nflags = EdgeCase\n\n# tcId = 790\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae0201ff\nflags = EdgeCase\n\n# tcId = 791\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 792\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 793\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 794\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 795\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 796\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 797\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 798\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090380fe01\nflags = EdgeCase\n\n# tcId = 799\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090142\nflags = EdgeCase\n\n# tcId = 800\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 801\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020100\nflags = EdgeCase\n\n# tcId = 802\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020101\nflags = EdgeCase\n\n# tcId = 803\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af0201ff\nflags = EdgeCase\n\n# tcId = 804\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 805\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 806\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 807\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 808\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 809\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 810\n# Signatures with special case values for r and", + " s.\nmsg = 54657374\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 811\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090380fe01\nflags = EdgeCase\n\n# tcId = 812\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090142\nflags = EdgeCase\n\n# tcId = 813\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 814\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020100\nflags = EdgeCase\n\n# tcId = 815\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020101\nflags = EdgeCase\n\n# tcId = 816\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c0201ff\nflags = EdgeCase\n\n# tcId = 817\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 818\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 819\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 820\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 821\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 822\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 823\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 824\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090380fe01\nflags = EdgeCase\n\n# tcId = 825\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090142\nflags = EdgeCase\n\n# tcId = 826\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 827\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100\nflags = EdgeCase\n\n# tcId = 828\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101\nflags = EdgeCase\n\n# tcId = 829\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff\nflags = EdgeCase\n\n# tcId = 830\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 831\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 832\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 833\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 834\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 835\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 836\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 837\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01\nflags = EdgeCase\n\n# tcId = 838\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090142\nflags = EdgeCase\n\n# tcId = 839\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 840\n# Signatures with special case values for r and s.\n", + "msg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100\nflags = EdgeCase\n\n# tcId = 841\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101\nflags = EdgeCase\n\n# tcId = 842\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff\nflags = EdgeCase\n\n# tcId = 843\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 844\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 845\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 846\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 847\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 848\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 849\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 850\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01\nflags = EdgeCase\n\n# tcId = 851\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090142\nflags = EdgeCase\n\n# tcId = 852\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 853\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 854\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 855\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d01000000000000000000000000000000000000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 856\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 857\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 858\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 859\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 860\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 861\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 862\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 863\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d0100000000000000000000000000000000000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 864\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 865\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 866\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100\nflags = EdgeCase\n\n# tcId = 867\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a", + "0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101\nflags = EdgeCase\n\n# tcId = 868\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff\nflags = EdgeCase\n\n# tcId = 869\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 870\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 871\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 872\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 873\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 874\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 875\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 876\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01\nflags = EdgeCase\n\n# tcId = 877\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090142\nflags = EdgeCase\n\n# tcId = 878\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 879\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe01020100\nflags = EdgeCase\n\n# tcId = 880\n# Signatures with special case values for r and s.\nmsg ", + "= 54657374\nresult = invalid\nsig = 3008090380fe01020101\nflags = EdgeCase\n\n# tcId = 881\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe010201ff\nflags = EdgeCase\n\n# tcId = 882\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 883\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 884\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 885\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 886\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 887\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 888\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 889\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 300a090380fe01090380fe01\nflags = EdgeCase\n\n# tcId = 890\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe01090142\nflags = EdgeCase\n\n# tcId = 891\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 892\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 893\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 894\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 895\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 3003020101\n\n# tcId = 896\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 897\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303c021c296410b8cb6200edafd1205e7377a09ad2011ac7b15b8bc9b9b4c6db021c25ca283c868dc2a5ce86aafcf681ce21d660b461da48270f15b53889\n\n# tcId = 898\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021c347c4f6875bf4476afbdd6b2b1f9e35c870e785e708e661109bd068e021d00b0b908a617d3ad6c8bc277f397095c00e659c86ca7c600090571ab17\n\n# tcId = 899\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303c021c3c76bc6f17369414d4c21c5361ed0cca6e79f73f90706f1f7ca9f05a021c3cc60d8a0d44fb967baa0e5621e12cd434aafd748cba3e7cdc733b2f\n\n# tcId = 900\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303e021d0086a5efea8e6a8033b8a0034b52ae614e1f14fbcbfa0bb50194efa6a7021d00b3d66f6d2b10cfe62fe96b78fcf41ca7b442aceb98ab109a01409e4a\n\n# tcId = 901\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021c16727d52bd711e9a63e0dd2c4db045cfb993942b1e39e4f43a65c11a021d009fb9c02d10c968e75bb15acab8467f30b84481f679e136e8af65a266\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 00848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827]\n[keyDer = 308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820106000282010100848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827]\n[sha = SHA-256]\n\n# tcId = 902\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 903\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 904\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1\n\n# tcId = 905\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296d", + "a887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b]\n[sha = SHA-256]\n\n# tcId = 906\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101\n\n", }; -static const size_t kLen62 = 175947; +static const size_t kLen95 = 133793; -static const char *kData62[] = { - "# Imported from Wycheproof's ecdh_secp224r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.4.12\n\n[curve = secp224r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328\npublic = 304e301006072a8648ce3d020106052b81040021033a00047d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc719b01d050dfbe653e72f39491be87fb1a2742daa6e0a2aada98bb1aca\nresult = valid\nshared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f\n\n# tcId = 2\n# compressed public key\nprivate = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328\npublic = 3032301006072a8648ce3d020106052b81040021031e00027d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc71\nresult = acceptable\nshared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f\n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004e73a6ca72f3a2fae6e0a01a0ed03bfa3058b04576942eaf063095e62ca16fd31fa0f38eeb592cbeea1147751fdd2a5b6cc0ead404467a5b6\nresult = valid\nshared = 00000000000000000000000000000000000000000000000000000003\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00045763fa2ae16367ad23d471cc9a52466f0d81d864e5640cefe384114594d9fecfbed4f254505ac8b41d2532055a07f0241c4818b552cbb636\nresult = valid\nshared = 00000000000000000000000100000000000000000000000000000001\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004142c1fd80fa2121a59aa898144084ec033f7a56a34eee0b499e29ae51c6d8c1bbb1ef2a76d565899fe44ffc1207d530d7f598fb77f4bb76b\nresult = valid\nshared = 00000000000000ffffffffffffff0000000000000100000000000000\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ed6f793e10c80d12d871cf8988399c4898a9bf9ffd8f27399f63de25f0051cdf4eec7f368f922cfcd948893ceca0c92e540cc4367a99a66a\nresult = valid\nshared = 00000000ffffffffffffffff00000000000000010000000000000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a000408fcfc1a63c82860be12e4137433dfc40be9acdd245f9a8c4e56be61a385fc09f808383383f4b1d0d5365b6e5dcfacdc19bc7bcfed221274\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004d883ed77f1861e8712800d31df67888fe39f150c79a27aa88caeda6b180f3f623e2ff3ab5370cf8179165b085af3dd4502850c0104caed9a\nresult = valid\nshared = 0003fffffff00000003fffffff00000003fffffff000000040000000\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00042b8b279b85ee3f3d2c0abeb36fdfc5aad6157d652d26489381a32cd73224bd757ef794acc92b0b3b9e7990618bb343a9a09bdb9d3616eff6\nresult = valid\nshared = 01fffffffc00000007fffffff00000001fffffffc000000080000001\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00048bd5f03391eeeae1744e8fc53d314efffafa4d3fa4f1b95c3388a9cd7c86358b273119c537133eb55e79c6ac510b10980b379b919ccf2e2f\nresult = valid\nshared = 0a15c112ff784b1445e889f955be7e3ffdf451a2c0e76ab5cb32cf41\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ce9631b6a16227778625c8e5421ae083cdd913abefde01dbe69f6c2b95386aff2b483b2c47151cfaabfd000614c683ce2e1778221ae42c1b\nresult = valid\nshared = 62989eaaa26a16f07330c3c51e0a4631fd016bfcede26552816aee39\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00041f441c98eda956a6a7fdbfd8d21910860ab59d16c3e52f8e7fad6ca5df61a55fc508fc0499c55492f1e87bb2faa0cb4170b79f3a85ec2f3d\nresult = valid\nshared = 661ac958c0febbc718ccf39cefc6b66c4231fbb9a76f35228a3bf5c3\n\n# tcId = 13\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004be74583cb9d3a05ae54923624e478a329a697d842dfae33141c844d7d9ba4fc96e0fe716ac0542e87368662fc2f0cb9b0ae57936ddec7190\nresult = valid\nshared = 6d7e41821abe1094d430237923d2a50de31768ab51b12dce8a09e34c\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a281ad992b363597ac93ff0de8ab1f7e51a6672dcbb58f9d739ba430ce0192874038daefc3130eec65811c7255da70fea65c1003f6892faa\nresult = valid\nshared = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004be3e22133f51203f631b81dde8c020cdea5daa1f99cfc05c88fad2dc0f243798d6e72d1de9e3cdca4144e0a6c0f2a584d07589006972c197\nresult = valid\nshared = fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004af14547c20afbd91bfe64ea03d45a76a71241f23520ef897ff91eff1b54ca6ca8c25fd73852ec6654617434eff7f0225684d4dea7a4f8a97\nresult = valid\nshared = ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004b1e484925018729926acda56ff3e2f6c1e7e8f162b178d8e8afb45564fceaa6da5d998fe26b6b26a055169063a5ab6908852ca8b54e2de6c\nresult = valid\nshared = fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004937eb09fb145c8829cb7df20a4cbeed396791373de277871d6c5f9cc3b5b4fd56464a71fc4a2a6af3bd251952bffa829489e68a8d06f96b6\nresult = valid\nshared = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 19\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000000000000000000000000000000000000037cac269c67bd55ea14efff4eadefe5e74978514af14c88fab46ec046\nresult = valid\nshared = 3fa0b9ff70b884f9f57bb84f7a9532d93f6ba803f89dd8ff008177d7\n\n# tcId = 20\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000001000000000000000000000000000000012ea2f4917bdfdb008306cc10a18e2557633ba861001829dcbfb96fba\nresult = valid\nshared = be1ded8cb7ff8a585181f96d681e31b332fe27dcae922dca2310300d\n\n# tcId = 21\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000ffffffffffffff000000000000010000000000000073ca5f8f104997a2399e0c7f25e72a75ec29fc4542533d3fea89a33a\nresult = valid\nshared = a2e86a260e13515918a0cafdd87855f231b5624c560f976159e06a75\n\n# tcId = 22\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000ffffffffffffffff000000000000000100000000000000006fe6805f59b19b0dd389452a1d4a420bfeb6c369cf6fed5b12e6e654\nresult = valid\nshared = 31ef7c8d10404a0046994f313a70574b027e87f9028eca242c1b5", - "bf5\n\n# tcId = 23\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff77c5cfa4e2c384938d48bd8dd98f54c86b279f1df8c0a1f6692439c9\nresult = valid\nshared = d1976a8ef5f54f24f5a269ad504fdca849fc9c28587ba294ef267396\n\n# tcId = 24\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040003fffffff00000003fffffff00000003fffffff00000004000000001f0828136016bb97445461bc59f2175d8d23557d6b9381f26136e3d\nresult = valid\nshared = ce7890d108ddb2e5474e6417fcf7a9f2b3bd018816062f4835260dc8\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000401fffffffc00000007fffffff00000001fffffffc0000000800000012d8acca6f199d4a94b933ba1aa713a7debde8ac57b928f596ae66a66\nresult = valid\nshared = 30b6ff6e8051dae51e4fe34b2d9a0b1879153e007eb0b5bdf1791a9c\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040a15c112ff784b1445e889f955be7e3ffdf451a2c0e76ab5cb32cf413d4df973c563c6decdd435e4f864557e4c273096d9941ca4260a266e\nresult = valid\nshared = 77ec668a00f72d85aa527624abb16c039fe490d17dd6c455a1ed7fd8\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000462989eaaa26a16f07330c3c51e0a4631fd016bfcede26552816aee39389ee9436d616cab90032931aa7fbbfcfc13309f61e2423cc8dab93c\nresult = valid\nshared = a3f432f6aba9a92f49a5ea64ffe7059a9d9b487a0b5223ddc988208b\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004661ac958c0febbc718ccf39cefc6b66c4231fbb9a76f35228a3bf5c3103b8040e3cb41966fc64a68cacb0c14053f87d27e8ed7bf2d7fe51b\nresult = valid\nshared = 1530fd9caf03737af34a4ba716b558cbecbc35d18402535a0a142313\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00046d7e41821abe1094d430237923d2a50de31768ab51b12dce8a09e34c276cf273d75d367820dd556182def0957af0a314f48fed227c298dc0\nresult = valid\nshared = cfc39ccacb94ad0e0552b2e47112f60fbbe7ae0dc32230b9273dd210\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff7d8dbca36c56bcaae92e3475f799294f30768038e816a7d5f7f07d77\nresult = valid\nshared = 73bd63bd384a0faafb75cfed3e95d3892cbacf0db10f282c3b644771\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800174f1ff5ea7fbc72b92f61e06556c26bab84c0b082dd6400ca1c1eb6d\nresult = valid\nshared = 85b079c62e1f5b0fd6841dfa16026e15b641f65e13a14042567166bb\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0126fdd5fccd0b5aa7fd5bb5b1308584b30556248cec80208a2fe962\nresult = valid\nshared = 8a834ff40e3fc9f9d412a481e18537ea799536c5520c6c7baaf12166\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff20cfa23077acc9fbcb71339c65880cd0b966b8a9497e65abed17f0b5\nresult = valid\nshared = a0887269766e6efcbc81d2b38f2d4638663f12377468a23421044188\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1c05ac2d4f10b69877c3243d51f887277b7bf735c326ab2f0d70da8c\nresult = valid\nshared = c65d1911bc076a74588d8793ce7a0dcabf5793460cd2ebb02754a1be\n\n# tcId = 35\n# edge case private key\nprivate = 3\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6\n\n# tcId = 36\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = fa2664717c7fa0161ec2c669b2c0986cdc20456a6e5406302bb53c77\n\n# tcId = 37\n# edge case private key\nprivate = 1000000000000000000000000000000000000000000000000000000\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = af6e5ad34497bae0745f53ad78ce8b285d79f400d5c6e6a071f8e6bd\n\n# tcId = 38\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 12fd302ff8c13c55a9c111f8bb6b0a13ecf88299c0ae3032ce2bcaff\n\n# tcId = 39\n# edge case private key\nprivate = 080000000000000000000000000000000000000000000000000000000\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 73f1a395b842f1a6752ae417e2c3dc90cafc4476d1d861b7e68ad030\n\n# tcId = 40\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03d13dd29455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = b329c20ddb7c78ee4e622bb23a984c0d273ba34b6269f3d9e8f89f8e\n\n# tcId = 41\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13cd29455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 6f48345209b290ffc5abbe754a201479e5d667a209468080d06197b4\n\n# tcId = 42\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13d529455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 9f6e30c1c9dad42a153aacd4b49a8e5c721d085cd07b5d5aec244fc1\n\n# tcId = 43\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29445c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 8cadfb19a80949e61bd5b829ad0e76d18a5bb2eeb9ed7fe2b901cecd\n\n# tcId = 44\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29b7\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 475fd96e0eb8cb8f100a5d7fe043a7a6851d1d611da2643a3c6ae708\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 45\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37\npublic = 304e301006072a8648ce3d020106052b8104002", - "1033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 41ef931d669d1f57d8bb95a01a92321da74be8c6cbc3bbe0b2e73ebd\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 46\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6\n\n# tcId = 47\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 11ff15126411299cbd49e2b7542e69e91ef132e2551a16ecfebb23a3\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 48\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 49\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 50\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 51\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 52\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 53\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 54\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 55\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 56\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 57\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 58\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 59\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 60\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000100000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 61\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000100000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 62\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 63\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 64\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 3015301006072a8648ce3d020106052b81040021030100\nresult = invalid\nshared = \n\n# tcId = 65\n# public point not on curve\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5d\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 66\n# public point = (0,0)\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 67\n# order = -26959946667150639794667015087019625940457807714424391721682722368061\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b7", - "0e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021dff0000000000000000000000000000e95d1f470fc1ec22d6baa3a3d5c3020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 68\n# order = 0\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020100020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 69\n# order = 1\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020101020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 70\n# order = 6277101735386680763835789423207665314073163949517624387909\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021900ffffffffffffffffffffffffffff16a2e0b8f03e13dd2945020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 71\n# generator = (0,0)\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb40439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 72\n# genera", - "tor not on curve\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e36021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 73\n# cofactor = -1\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 74\n# cofactor = 0\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 75\n# cofactor = 2\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020102033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 76\n# cofactor =\n# 26959946667150639794667015087019625940457807714424391721682722368061\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 77\n# cofactor = None\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffff", - "ffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 78\n# modified prime\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c123da0a46a971da9468161e61a5c71a02e6c9bdb3392f4016fb457b303c041c3edc25f5b9568e256b97e9e19e5a38e4fd1936424cc6d0bfe904ba83041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3\nresult = invalid\nshared = 3de0a5036fcde544c72cbe33cedb8709549bc3b6a4d750ee0de4c80d\n# The modulus of the public key has been modified. The public point of the\n# public key has been chosen so that it is both a point on both the curve of the\n# modified public key and the private key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 79\n# using secp256r1\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 80\n# using secp256k1\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 81\n# a = 0\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff0000000000000000000000013021040100041cd0d5e347a38ce5b6e1f47edddd8a223bca45d2015de76ec835a4df57043904a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 82\n# public key of order 3\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041ce8f32429d997935dc5e2e6621cc0c130464d38c8cdf26454bb36080d041cdcc54f9c4dfd9b10d8c2cc735751d55b0ab7a7765cf9d49483bf6d8804390481020a9259fe8552f4aa794669b24033bc9283bc57715cc013e8ddc612cd1b9eb05e696610a5e8cae07a522a74eff150eb553adf98c01478021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a000481020a9259fe8552f4aa794669b24033bc9283bc57715cc013e8ddc6ed32e4614fa19699ef5a17351f85add48b100eaf14aac520673feb89\nresult = invalid\nshared = 19845b25666b143d3f0f070781c1c595c66b9e854106a56b7db774cb\n# The vector contains a weak public key. The curve is not a named curve, the\n# public key point has order 3 and has been chosen to be on the same curve as\n# the private key. This test vector is used to check ECC implementations for\n# missing steps in the verification of the public key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 83\n# Public key uses wrong curve: secp256r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ea36cf70fab75684eabe6569ce623db0deaa8c95f61c8be50b8b9f3eb7d4b9ec48d9e4814f4cb1c286589eaaa990d3f3238b2d6d6be964abfad964824b653376\nresult = invalid\nshared = \n\n# tcId = ", - "84\n# Public key uses wrong curve: secp384r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3076301006072a8648ce3d020106052b81040022036200044b2470ad3d13269c10a17d222ebdffbd61fb04488db1b1d7caef8d4988b7bb8ba6d81857a05b255232b9e37a30e328bb9d9c42d86096f2bcee3d258cfe208d2fd03cbd5ccc6a3bb8ce4b0efa5b059b4afbd0377aa6e274721a57efe8ee85d86a\nresult = invalid\nshared = \n\n# tcId = 85\n# Public key uses wrong curve: secp521r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301006072a8648ce3d020106052b810400230381860004012841a2260f0f1f424865fef275374779bf0355720223f8ec6a9ba767b1603b492f58a6bba1705d882257bc6be1935de4411c5f1fdad44ec65ba8b97ce0e73e1ac90006937832a602147e37c1a42ca2a63629ffc9a35b31bfacb38c6242b42916125f7446b45c718f797259bc3011cb71e868560b331cf7d01139a0643443f9fd7306c1\nresult = invalid\nshared = \n\n# tcId = 86\n# Public key uses wrong curve: secp256k1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3056301006072a8648ce3d020106052b8104000a03420004c2199fecf75648c0e952dff143821fa4012b28f90435ce6ee54653687f969a76092a3844e17d478a594f43b28cc10a5c553b4f64906121031c3a79299c70dbd6\nresult = invalid\nshared = \n\n# tcId = 87\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a00046caa3d6d86f792df7b29e41eb4203150f60f4fca10f57d0b2454abfb201f9f7e6dcbb92bdcfb9240dc86bcaeaf157c77bca22b2ec86ee8d6\nresult = invalid\nshared = \n\n# tcId = 88\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200042750180012c3ba7489517d428e4826784e50b50ac42ef7991c61a396c03a52da5e74908ae8a89627a7c15e554b105b0ebaeebcfed10e3ea60223d0a8bc3b36ab\nresult = invalid\nshared = \n\n# tcId = 89\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 306a301406072a8648ce3d020106092b2403030208010109035200045b523d3a8f20f6a569c6951e0b8de48d89e7549a184e8506820421c3e404473692cd248d7480843b911d87a87e401112fce0d3d2c36978cf6dd7f1d93bfaebe0827d4bf4006006d3202e842126fe1b68\nresult = invalid\nshared = \n\n# tcId = 90\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 307a301406072a8648ce3d020106092b240303020801010b03620004449607c76c6dc7334c269a0ebab5beec83b6c263377ce06ef5c276f45a9916eff85f50438f5f32ced0210a6c414fe5e242c7c1070823f5395b35965bda6758acf84725f11ea836dda7d391fee91342026645241853224a437a6fb74e4cdc871f\nresult = invalid\nshared = \n\n# tcId = 91\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301406072a8648ce3d020106092b240303020801010d038182000463e7a491240848e4f53ea5fb857d428c493053193e4b0b4f995ac8bf4c56276a507870131a384aa7e236c64cd7a049a1b37e40ad00c3b8a920dcbad6531616356ce1b6e6d96a7d1b693e25e5abd83ab560a3d764bcd49ec98a1b49421163bd5fc5a625f44c91eb4c2984d5a2e51e816ebdee8fbe08364bb14b7ac876990e64d9\nresult = invalid\nshared = \n\n# tcId = 92\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00047c592ecb8908355d1ebf8d59b3619275dbe3666209b72ced6a3c88740456ce61d6a84e0542d7cd10dd8804afb8c784d5dffd9480d8cfdc95\nresult = invalid\nshared = \n\n# tcId = 93\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 305a301406072a8648ce3d020106092b240303020801010803420004746226a3e005c37ede51828d3375ef91ebd0ff719a380af69d7dfd131b42a3e8917d4a4d573872935a74d1040f1c47d25d6b26f4156cccdcdc11833b9cde433a\nresult = invalid\nshared = \n\n# tcId = 94\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 306a301406072a8648ce3d020106092b240303020801010a035200043298b36825c7bd90ab5157b913d40bbfd732a0de0557e02a2c65a0c223e9a65d62c32462040dd6fe578103023c831caff122c1ed4b8ff7373fa2f08d11c9f4c7f85f81802262ffed9bb82cb6d92eed2d\nresult = invalid\nshared = \n\n# tcId = 95\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200043af2849b981f7e5e6ab936e6abb4f206c1fd5561998df8008bfe98d84173c9f2301cdbd5bffc569c0b5a57ce2a8f4d640f1816475fc6043baa8e5a3453bf327b54cb29c7e54a5f31348969aa94615094dbcd1a8e5c2d630465e45fc556c02194\nresult = invalid\nshared = \n\n# tcId = 96\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301406072a8648ce3d020106092b240303020801010e038182000453d2506047e72af6d98558e1633ecb7e6a05c37861cd3289455cf41bfbf1703f2e9a83052b8eca7d84cba2f001abd8b978f68b69ed6bd874755c44d347fe302c5760b2078c56b24ebd0dcd99f26b8f8a23044b3767a3d2a306587687a7b00668974674edbf18c3db2f3473a97ee77065fdcdd1a9aa053716a4c504f3d18b9170\nresult = invalid\nshared = \n\n# tcId = 97\n# invalid public key\nprivate = 0fc28a0ca0f8e36b0d4f71421845135a22aef543b9fddf8c775b2d18f\npublic = 3032301006072a8648ce3d020106052b81040021031e00020ca753db5ddeca474241f8d2dafc0844343fd0e37eded2f0192d51b2\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 98\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30814e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 99\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f30811006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 100\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f30110681072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 101\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d02010681052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 102\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301006072a8648ce3d020106052b8104002103813a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key ", - "in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 103\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3082004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 104\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503082001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 105\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012068200072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 106\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201068200052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 107\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b810400210382003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 108\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 109\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 110\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301106072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 111\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e300f06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 112\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006082a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 113\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006062a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 114\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106062b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 115\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106042b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 116\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033b000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checki", - "ng the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 117\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 118\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3085010000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 119\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533085010000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 120\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015068501000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 121\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201068501000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 122\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b810400210385010000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 123\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 308901000000000000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 124\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057308901000000000000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 125\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906890100000000000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 126\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906072a8648ce3d020106890100000000000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 127\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301006072a8648ce3d020106052b81040021038901000000000000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 128\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30847fffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 129\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230847fffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 130\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406847fffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d79422", - "8029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 131\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d020106847fffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 132\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b8104002103847fffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 133\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3084ffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 134\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523084ffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 135\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230140684ffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 136\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02010684ffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 137\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b810400210384ffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 138\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3085ffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 139\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533085ffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 140\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305330150685ffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 141\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d02010685ffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 142\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b810400210385ffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 143\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 144\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563088ffffffffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc", - "4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 145\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305630180688ffffffffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 146\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d02010688ffffffffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 147\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b810400210388ffffffffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 148\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30ff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 149\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e30ff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 150\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006ff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 151\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106ff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 152\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b8104002103ff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 153\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 154\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e308006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 155\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006802a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 156\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106802b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 157\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400210380000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 158\n# removing sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = \nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where t", - "he\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 159\n# removing sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 160\n# lonely sequence tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 161\n# lonely sequence tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303d30033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 162\n# appending 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 163\n# appending 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 164\n# prepending 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30500000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 165\n# prepending 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012000006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 166\n# appending unused 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 167\n# appending unused 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 168\n# appending null value to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 169\n# appending null value to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 170\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053498177304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 171\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30522500304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 172\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 173\n# including garbage\npri", - "vate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015498177301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 174\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230142500301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 175\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563012301006072a8648ce3d020106052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 176\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015260c49817706072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 177\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523014260b250006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 178\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018260906072a8648ce3d02010004deadbeef06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 179\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201260a49817706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 180\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02012609250006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 181\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201260706052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 182\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b81040021233f498177033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 183\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b81040021233e2500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 184\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b81040021233c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 185\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056aa00bb00cd00304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 186\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054aa02aabb304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns", - " the correct shared value.\n\n# tcId = 187\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018aa00bb00cd00301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 188\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30543016aa02aabb301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 189\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018260faa00bb00cd0006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 190\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30543016260daa02aabb06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 191\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201260daa00bb00cd0006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 192\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054301606072a8648ce3d0201260baa02aabb06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 193\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b810400212342aa00bb00cd00033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 194\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054301006072a8648ce3d020106052b810400212340aa02aabb033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 195\n# truncated length of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3081\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 196\n# truncated length of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e3081033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 197\n# Replacing sequence with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 0500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 198\n# Replacing sequence with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e0500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 199\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 2e4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 200\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 2f4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 201\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 314e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b620", - "01fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 202\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 324e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 203\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = ff4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 204\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e2e1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 205\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e2f1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 206\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e311006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 207\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e321006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 208\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304eff1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 209\n# dropping value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 210\n# dropping value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e3000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 211\n# truncate sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 212\n# truncate sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 213\n# truncate sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d020106052b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 214\n# truncate sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 215\n# indefinite length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN e", - "ncoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 216\n# indefinite length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050308006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 217\n# indefinite length with truncated delimiter\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6200\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 218\n# indefinite length with truncated delimiter\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f308006072a8648ce3d020106052b8104002100033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 219\n# indefinite length with additional element\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6205000000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 220\n# indefinite length with additional element\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052308006072a8648ce3d020106052b8104002105000000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 221\n# indefinite length with truncated element\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62060811220000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 222\n# indefinite length with truncated element\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054308006072a8648ce3d020106052b81040021060811220000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 223\n# indefinite length with garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000fe02beef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 224\n# indefinite length with garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054308006072a8648ce3d020106052b810400210000fe02beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 225\n# indefinite length with nonempty EOC\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620002beef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 226\n# indefinite length with nonempty EOC\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052308006072a8648ce3d020106052b810400210002beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 227\n# prepend empty sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 228\n# prepend empty sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012300006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 229\n# append empty sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be72", - "6b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da623000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 230\n# append empty sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400213000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 231\n# sequence of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 232\n# sequence of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 233\n# truncated sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3012301006072a8648ce3d020106052b81040021\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 234\n# truncated sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3047300906072a8648ce3d0201033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 235\n# repeat element in sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30818a301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 236\n# repeat element in sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3055301706072a8648ce3d020106052b8104002106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 237\n# removing oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3045300706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 238\n# lonely oid tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304630080606052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 239\n# lonely oid tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3048300a06072a8648ce3d020106033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 240\n# appending 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206092a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 241\n# appending 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106072b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 242\n# prepending 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012060900002a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 243\n# prepending 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201060700002b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared =", - " 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 244\n# appending unused 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 245\n# appending null value to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206092a8648ce3d0201050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 246\n# appending null value to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106072b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 247\n# truncated length of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009068106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 248\n# truncated length of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010681033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 249\n# Replacing oid with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 250\n# Replacing oid with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 251\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301004072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 252\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301005072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 253\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301007072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 254\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301008072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 255\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e3010ff072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 256\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020104052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 257\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020105052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176", - "d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 258\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020107052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 259\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020108052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 260\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d0201ff052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 261\n# dropping value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009060006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 262\n# dropping value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010600033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 263\n# modify first byte of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e30100607288648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 264\n# modify first byte of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052981040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 265\n# modify last byte of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d028106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 266\n# modify last byte of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400a1033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 267\n# truncate oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06062a8648ce3d0206052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 268\n# truncate oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06068648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 269\n# truncate oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d020106042b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 270\n# truncate oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d0201060481040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 271\n# wrong oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30513013060a3262306530333032316106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parse", - "r is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 272\n# wrong oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3059301b061236303836343830313635303330343032303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 273\n# wrong oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201060a32623065303330323161033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 274\n# wrong oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305b301d06072a8648ce3d02010612363038363438303136353033303430323031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 275\n# longer oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906103261383634386365336430323031303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 276\n# longer oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3055301706072a8648ce3d0201060c326238313034303032313031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 277\n# oid with modified node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30553017060e326138363438636533643032313106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 278\n# oid with modified node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305d301f06163261383634386365336430323838383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 279\n# oid with modified node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201060a32623831303430303331033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 280\n# oid with modified node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305b301d06072a8648ce3d02010612326238313034303038383830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 281\n# large integer in oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 306730290620326138363438636533643032383238303830383038303830383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 282\n# large integer in oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3065302706072a8648ce3d0201061c32623831303430303832383038303830383038303830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 283\n# oid with invalid node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3058301a0611326138363438636533643032303165303306052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 284\n# oid with invalid node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106082a808648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 285\n# oid with invalid node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201060d32623831303430303231653033033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c", - "1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 286\n# oid with invalid node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d020106062b8081040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 287\n# lonely bit string tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3013301006072a8648ce3d020106052b8104002103\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 288\n# appending 0's to bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 289\n# prepending 0's to bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c0000000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 290\n# appending null value to bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 291\n# truncated length of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210381\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 292\n# Replacing bit string with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 293\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021013a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 294\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021023a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 295\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021043a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 296\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021053a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 297\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021ff3a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 298\n# dropping value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210300\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 299\n# modify first byte of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a020486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 300\n# modify last byte of bit string\nprivate = 0a1b9444f59642d428e2", - "f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3dae2\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 301\n# truncate bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 302\n# truncate bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b8104002103390486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 303\n# declaring bits as unused in a bit-string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a010486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 304\n# unused bits in a bit-string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b81040021033e200486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6201020304\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 305\n# unused bits in empty bit-string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3015301006072a8648ce3d020106052b81040021030103\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 306\n# 128 unused bits\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a800486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n", +static const char *kData95[] = { + "# Imported from Wycheproof's ecdh_secp224r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.8r12\n\n[curve = secp224r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328\npublic = 304e301006072a8648ce3d020106052b81040021033a00047d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc719b01d050dfbe653e72f39491be87fb1a2742daa6e0a2aada98bb1aca\nresult = valid\nshared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f\n\n# tcId = 2\n# compressed public key\nprivate = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328\npublic = 3032301006072a8648ce3d020106052b81040021031e00027d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc71\nresult = acceptable\nshared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f\nflags = CompressedPoint\n\n# tcId = 3\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004e73a6ca72f3a2fae6e0a01a0ed03bfa3058b04576942eaf063095e62ca16fd31fa0f38eeb592cbeea1147751fdd2a5b6cc0ead404467a5b6\nresult = valid\nshared = 00000000000000000000000000000000000000000000000000000003\n\n# tcId = 4\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00045763fa2ae16367ad23d471cc9a52466f0d81d864e5640cefe384114594d9fecfbed4f254505ac8b41d2532055a07f0241c4818b552cbb636\nresult = valid\nshared = 00000000000000000000000100000000000000000000000000000001\n\n# tcId = 5\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004142c1fd80fa2121a59aa898144084ec033f7a56a34eee0b499e29ae51c6d8c1bbb1ef2a76d565899fe44ffc1207d530d7f598fb77f4bb76b\nresult = valid\nshared = 00000000000000ffffffffffffff0000000000000100000000000000\n\n# tcId = 6\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ed6f793e10c80d12d871cf8988399c4898a9bf9ffd8f27399f63de25f0051cdf4eec7f368f922cfcd948893ceca0c92e540cc4367a99a66a\nresult = valid\nshared = 00000000ffffffffffffffff00000000000000010000000000000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a000408fcfc1a63c82860be12e4137433dfc40be9acdd245f9a8c4e56be61a385fc09f808383383f4b1d0d5365b6e5dcfacdc19bc7bcfed221274\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004d883ed77f1861e8712800d31df67888fe39f150c79a27aa88caeda6b180f3f623e2ff3ab5370cf8179165b085af3dd4502850c0104caed9a\nresult = valid\nshared = 0003fffffff00000003fffffff00000003fffffff000000040000000\n\n# tcId = 9\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00042b8b279b85ee3f3d2c0abeb36fdfc5aad6157d652d26489381a32cd73224bd757ef794acc92b0b3b9e7990618bb343a9a09bdb9d3616eff6\nresult = valid\nshared = 01fffffffc00000007fffffff00000001fffffffc000000080000001\n\n# tcId = 10\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00048bd5f03391eeeae1744e8fc53d314efffafa4d3fa4f1b95c3388a9cd7c86358b273119c537133eb55e79c6ac510b10980b379b919ccf2e2f\nresult = valid\nshared = 0a15c112ff784b1445e889f955be7e3ffdf451a2c0e76ab5cb32cf41\n\n# tcId = 11\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ce9631b6a16227778625c8e5421ae083cdd913abefde01dbe69f6c2b95386aff2b483b2c47151cfaabfd000614c683ce2e1778221ae42c1b\nresult = valid\nshared = 62989eaaa26a16f07330c3c51e0a4631fd016bfcede26552816aee39\n\n# tcId = 12\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00041f441c98eda956a6a7fdbfd8d21910860ab59d16c3e52f8e7fad6ca5df61a55fc508fc0499c55492f1e87bb2faa0cb4170b79f3a85ec2f3d\nresult = valid\nshared = 661ac958c0febbc718ccf39cefc6b66c4231fbb9a76f35228a3bf5c3\n\n# tcId = 13\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004be74583cb9d3a05ae54923624e478a329a697d842dfae33141c844d7d9ba4fc96e0fe716ac0542e87368662fc2f0cb9b0ae57936ddec7190\nresult = valid\nshared = 6d7e41821abe1094d430237923d2a50de31768ab51b12dce8a09e34c\n\n# tcId = 14\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a281ad992b363597ac93ff0de8ab1f7e51a6672dcbb58f9d739ba430ce0192874038daefc3130eec65811c7255da70fea65c1003f6892faa\nresult = valid\nshared = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 15\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004be3e22133f51203f631b81dde8c020cdea5daa1f99cfc05c88fad2dc0f243798d6e72d1de9e3cdca4144e0a6c0f2a584d07589006972c197\nresult = valid\nshared = fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001\n\n# tcId = 16\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004af14547c20afbd91bfe64ea03d45a76a71241f23520ef897ff91eff1b54ca6ca8c25fd73852ec6654617434eff7f0225684d4dea7a4f8a97\nresult = valid\nshared = ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004b1e484925018729926acda56ff3e2f6c1e7e8f162b178d8e8afb45564fceaa6da5d998fe26b6b26a055169063a5ab6908852ca8b54e2de6c\nresult = valid\nshared = fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004937eb09fb145c8829cb7df20a4cbeed396791373de277871d6c5f9cc3b5b4fd56464a71fc4a2a6af3bd251952bffa829489e68a8d06f96b6\nresult = valid\nshared = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 19\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000000000000000000000000000000000000037cac269c67bd55ea14efff4eadefe5e74978514af14c88fab46ec046\nresult = valid\nshared = 3fa0b9ff70b884f9f57bb84f7a9532d93f6ba803f89dd8ff008177d7\n\n# tcId = 20\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000001000000000000000000000000000000012ea2f4917bdfdb008306cc10a18e2557633ba861001829dcbfb96fba\nresult = valid\nshared = be1ded8cb7ff8a585181f96d681e31b332fe27dcae922dca2310300d\n\n# tcId = 21\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000ffffffffffffff000000000000010000000000000073ca5f8f104997a2399e0c7f25e72a75ec29fc4542533d3fea89a33a\nresult = valid\nshared = a2e86a260e13515918a0cafdd87855f231b5624c560f976159e06a75\n\n# tcId = 22\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000ffffffffffffffff000000000000000100000000000000006fe6805f59b19b0dd389452a1d4a420bfeb6c369cf6fed5b12e6e654\nresult = valid\nshared = 31ef7c8d10404a0046994f313a70574b027e87f9028eca242c1b5bf5\n\n# tcId = 23\n# edge cases for ephemeral key\nprivate = 2bc15", + "cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff77c5cfa4e2c384938d48bd8dd98f54c86b279f1df8c0a1f6692439c9\nresult = valid\nshared = d1976a8ef5f54f24f5a269ad504fdca849fc9c28587ba294ef267396\n\n# tcId = 24\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040003fffffff00000003fffffff00000003fffffff00000004000000001f0828136016bb97445461bc59f2175d8d23557d6b9381f26136e3d\nresult = valid\nshared = ce7890d108ddb2e5474e6417fcf7a9f2b3bd018816062f4835260dc8\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000401fffffffc00000007fffffff00000001fffffffc0000000800000012d8acca6f199d4a94b933ba1aa713a7debde8ac57b928f596ae66a66\nresult = valid\nshared = 30b6ff6e8051dae51e4fe34b2d9a0b1879153e007eb0b5bdf1791a9c\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040a15c112ff784b1445e889f955be7e3ffdf451a2c0e76ab5cb32cf413d4df973c563c6decdd435e4f864557e4c273096d9941ca4260a266e\nresult = valid\nshared = 77ec668a00f72d85aa527624abb16c039fe490d17dd6c455a1ed7fd8\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000462989eaaa26a16f07330c3c51e0a4631fd016bfcede26552816aee39389ee9436d616cab90032931aa7fbbfcfc13309f61e2423cc8dab93c\nresult = valid\nshared = a3f432f6aba9a92f49a5ea64ffe7059a9d9b487a0b5223ddc988208b\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004661ac958c0febbc718ccf39cefc6b66c4231fbb9a76f35228a3bf5c3103b8040e3cb41966fc64a68cacb0c14053f87d27e8ed7bf2d7fe51b\nresult = valid\nshared = 1530fd9caf03737af34a4ba716b558cbecbc35d18402535a0a142313\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00046d7e41821abe1094d430237923d2a50de31768ab51b12dce8a09e34c276cf273d75d367820dd556182def0957af0a314f48fed227c298dc0\nresult = valid\nshared = cfc39ccacb94ad0e0552b2e47112f60fbbe7ae0dc32230b9273dd210\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff7d8dbca36c56bcaae92e3475f799294f30768038e816a7d5f7f07d77\nresult = valid\nshared = 73bd63bd384a0faafb75cfed3e95d3892cbacf0db10f282c3b644771\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800174f1ff5ea7fbc72b92f61e06556c26bab84c0b082dd6400ca1c1eb6d\nresult = valid\nshared = 85b079c62e1f5b0fd6841dfa16026e15b641f65e13a14042567166bb\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0126fdd5fccd0b5aa7fd5bb5b1308584b30556248cec80208a2fe962\nresult = valid\nshared = 8a834ff40e3fc9f9d412a481e18537ea799536c5520c6c7baaf12166\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff20cfa23077acc9fbcb71339c65880cd0b966b8a9497e65abed17f0b5\nresult = valid\nshared = a0887269766e6efcbc81d2b38f2d4638663f12377468a23421044188\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1c05ac2d4f10b69877c3243d51f887277b7bf735c326ab2f0d70da8c\nresult = valid\nshared = c65d1911bc076a74588d8793ce7a0dcabf5793460cd2ebb02754a1be\n\n# tcId = 35\n# point with coordinate y = 1\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00043b5889352ddf7468bf8c0729212aa1b2a3fcb1a844b8be91abb753d500000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = e973c413cc7dd34d4e3637522b2e033c20815412b67574a1f2f6bdd7\n\n# tcId = 36\n# point with coordinate y = 1\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004bf09e268942555c73ce9e00d272c9b12bf0c3fc13a639acc791167f6b05df0023c9bd41d0b0c461854582d0601182213f2219d44ea44914a\nresult = valid\nshared = ec856e807808a9c5332e886759e03f01be02437cfe0214613e4e7dc7\n\n# tcId = 37\n# point with coordinate y = 1\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00047b664cff2eef0a4f7dce24780113432f66feb25cb0931d033d63910f548ee514f6fdf1cb6f5709581c197d76a5eb218afaed19f205f4ab80\nresult = valid\nshared = 91d424e122c9c01720bbed6b53ec1b37a86996fa4fcf74bfd30f723d\n\n# tcId = 38\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00045a2b3ec1053390550b587557712bcc0bf85654d23099420154877ec4138322ca02e5fceae870227a43ae8982b67276f6d8f1dd7e12692474\nresult = valid\nshared = 012879a1ff456acb8726455836bc4f504c1bd799a4d96f514b3730c6\n\n# tcId = 39\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fc229bb1df3e11351e7e4224f68f40c0d0e194023c6e0840cd45ee5ca242112fbab5736e821dad26493e4006e2c6125342e7d9bc25272856\nresult = valid\nshared = fd6e5edb54d7dd554f8747ec87b8031258fc0bf1d2404b64db4540d4\n\n# tcId = 40\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000469a65f62d4159235801a246f2d13e45c8983a3362da480e7a51d42a65b7047abfc2a179d943bb196fede7ac3ad8a4fcacd4c4caa717b6b26\nresult = valid\nshared = 164e95bfa2a9c3a1f959feb88720bb7a37f988a08124639d8adf86df\n\n# tcId = 41\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004dc68eb945528af0051cbf23e3eea43b2bc4c728976231e7031e63a2744ba65a4e1e34e8ec50cf7e8df4458582b16413ab83f568508c59037\nresult = valid\nshared = b0ffd55fa112aa48eddc960db4a1200d406e144aac9e109ad9892b2d\n\n# tcId = 42\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000481c89369d7be252920e08e2d6c6841b887efb4fc747db31dd1030b1919bf8ccb629b58fea6234e39812083fb0833a0c937e348eda22ea0c0\nresult = valid\nshared = d6ab4567eff21277284be082d9e09eb08bb80685f4929dc3dca4b333\n\n# tcId = 43\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000451d830f792795409f1ee972d3b94289f59206fe09e12166920739a73d2f1831b26677901bfaf8323f82b81e1012d9d3f1c9296c59c97970f\nresult = valid\nshared = b43de12912b40cbdd56e30fdfe9a2c24fb72687168c9cfe6b7476966\n\n# tcId = 44\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ab63ce55145842149f99023f37a0a89b9fc4ae6a878fdae8caf31d17ffd0d55830eed46f8255f94b6dcf98a22f1ff26dabf773d556788881\nresult = valid\nshared = 588ee0af3bc60118a715325c6d56c850f73067dcb37b7596d0cfda5f\n\n# tcId = 45\n# point with coordinate y = 1 in left to", + " right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00041d64535d54bfcccb38165acbfac01ae33db20e802c5687343cb21b7eb59d86f1892a974741925624477eef21f4e72fa04ee6ce35dfffe5f2\nresult = valid\nshared = 7219ef73ac9e47ac2e03dead23fa8382ae898e2415017cdeb4739f0f\n\n# tcId = 46\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004d9d78436a3f9c1fa20e8c2318e61e62b94623e23a0ab746c5ac0cbc38262bd66c17515d3048944dae43b2bd6dd9d7c7a0f7042de2d1001c6\nresult = valid\nshared = 267b069aac5d768a720acc62c92f20b786fc48c7da42f1f5677424ee\n\n# tcId = 47\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000465eb3750c6401339caa69ebe6dec86dfc4d79bf657d68bbdd082c5a03eb81e85931352ff338ccbc3a1d332e2d8bc84342d516da06bef220f\nresult = valid\nshared = bbdd4ac5890b9c0412e4ef3135f666e5b3ddb658ec837691e8129be8\n\n# tcId = 48\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004e92d3be1614555ae17a90647979fbb37468c55a1fff9e15f376d49994e470f515b7b3fe50cb55def16142df594c3e46d9d1354730778f9e8\nresult = valid\nshared = f793ff0d14bd7690840c733162b589cd3413d8c41f4488b427da496f\n\n# tcId = 49\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00043c92710c9a7f6f98bbec9d2a4fa617cc70e96bc96ecd4597e329143f4750a027c6972459c091ab02c0e2a3082fccec429a38d3596e7aff2b\nresult = valid\nshared = 56c703d4716239c954109b9b841db75b04a790f1f72aa966aece3494\n\n# tcId = 50\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004568dfbfa42efc94ce207322e637b4c94f37a5668ad230e987a91d048dcadd244fc059cffab5fa8820a969353620e708e85bd5eec8a0c68ec\nresult = valid\nshared = 7823fe7eb642d50984fb32f911ef289419d85330c3398423d0eda05f\n\n# tcId = 51\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ec10837e495b644904dba58d8dd82133c905a285ae7c2a06d5ccaf6bf0fbf00d13e21a399dc95ae5524a1a37044193e94e3300259b70e058\nresult = valid\nshared = f7014d38f460836a51075cce9667b56b8851ba19011c8b0274b74a4b\n\n# tcId = 52\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004bee2f9352f42ceeb3bf3109e90e6578d0bd4888458df7d179d746977e50e53503dee83eca1824a290566588fa3591645b1a2d56861bda760\nresult = valid\nshared = 777f99f2bdaa72a1185388465ddda1d059872ad043c7cb85b94e28bb\n\n# tcId = 53\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004546facbcaa8b551c51715a9add5edc3c8a66dcc47a6223f605614cf7af6d92f5bdebea738658a42c6231e53c08237ccf52f79399579b2dcc\nresult = valid\nshared = a1db178b716e51e0fa46c1d74a2603005326bca7e81170d4b33a3d2a\n\n# tcId = 54\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000423b1811fee891adb33c8bfee289964e92a9d3358daf975d0efb73e229a3332668b7d6da290a2edc941e8bd6f2e33745fc606756eddc013bb\nresult = valid\nshared = f455c8273416199505019861266ddb9bcde7bee3c3f15a98ee54607b\n\n# tcId = 55\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a000458f53d67332415fe5b4b81999f8332fb6dcdb965d96dbcbab0fac375f29efef7ab4d94bb2d25d25205eae29fe8d9a85b811114a50f6c6859\nresult = valid\nshared = d3af1857aca1689514fcfee8d8c40b8637d40452ae35c404f9e67494\n\n# tcId = 56\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004f2d6e58fcd3ed3f656a9bc687fe4c789ba9614d0359967bc0468eabfa1658a14ef0633f2485e29141e2c4a13bd328ec9bf6af4c7a774131b\nresult = valid\nshared = 933c385d5fadb57de53e4a5d385118fce830430703c3f585a5d4d0b5\n\n# tcId = 57\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a000402ca5d1b7638b7b88ad02176bd10ff1cfe8812a62f9769a6d62e0c6c787b3e3b2a063940911bf987fc38deebf542400b8bbd9dfeb7d90a8a\nresult = valid\nshared = 75aea79d99e5c7edaab0284443b548843371d1d9b55f2d73a1a9092f\n\n# tcId = 58\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a394d8bf9b479ec3c7ac3fc6a631d01d57d338b9fb5a0ed6e5130e050cfc600cfb08e67727ac5a33345ec1d48d4a9a18516c2203acbd2667\nresult = valid\nshared = 8c1d0850691cda7523ffccf1cba44b4d472193e6a3bb0727e490a8b5\n\n# tcId = 59\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004642e26421e96fa88f956d098ac26f02f1d6faa80e460e701a3789a66c38dd95c6b33de8768c85cbe6879d0d77e29fe5a18b26a35cb60c0b6\nresult = valid\nshared = 50b9ed4d99e2f24e0096eaeded0b552cf8deff5ca8f976964ae47e92\n\n# tcId = 60\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004f974d1cbbf4171d4773c3e84eab80bc3c6c2858dadcfbd11d64316905df36fbe345f28a3ef663125649474c6fc1ebe175c3865c4469e192b\nresult = valid\nshared = 5616ee3e63dfb424d329c2b9b50cf378bb77a8bd7e314a241b5942c7\n\n# tcId = 61\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a000455561db3cc8fb08a71654ee9573a1a36a44f0913ca8ad7582cfafbfc62b31e5e78be98ad8c8ceab4bb82e8efc0acb29f1a8d031ed044046c\nresult = valid\nshared = b1da14507b5c05159e15f77d085c017acd89f158011357a97802855d\n\n# tcId = 62\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a363bcb9bddd5de84a2f4433c039f7be3fce6057b0d3b4a3459e54a2ba32302871e7ba5c3dd7ec9b76946cdc702c15a8d9ec0f4a04e7afb6\nresult = valid\nshared = 2f1bd4a5a497481c4a21222320ff61f32674a95d540cc3f4f3ca5849\n\n# tcId = 63\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a00043a656d0e25bce27282f256b121fbfcde0a180ccd7aa601a5929fc74002f89e45b4dcb873c56da5d1a28fbca33a126177b217a098e0952e62\nresult = valid\nshared = 8c807d65ba7b9fd3061dffef26c025a89524a26b942edd3a984fe51d\n\n# tcId = 64\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004bf5f49ba0086eec289b068b783438ef24b6f28130bb1ed969ef8b041f11b0de95f15edcd835f01bab1f5faaa1749c2ca4f16a7d99d916ff4\nresult = valid\nshared = 8fda76f4d124e6727f855e5f4921cc05c48e2a8ed0fee7c75d6a8047\n\n# tcId = 65\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a57232560d9d604655181f775859b0723d4e", + "01a4c867844eb9d81dabb5d19507bbe9cda3346bad7c184daa432e7f794a5b9b8b8d4e55be3a\nresult = valid\nshared = daf35bb7bf3a056bb62bb01ba00f581c107f64de85842b3a49bc2a4a\n\n# tcId = 66\n# edge case private key\nprivate = 03\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6\n\n# tcId = 67\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = fa2664717c7fa0161ec2c669b2c0986cdc20456a6e5406302bb53c77\n\n# tcId = 68\n# edge case private key\nprivate = 01000000000000000000000000000000000000000000000000000000\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = af6e5ad34497bae0745f53ad78ce8b285d79f400d5c6e6a071f8e6bd\n\n# tcId = 69\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 12fd302ff8c13c55a9c111f8bb6b0a13ecf88299c0ae3032ce2bcaff\n\n# tcId = 70\n# edge case private key\nprivate = 0080000000000000000000000000000000000000000000000000000000\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 73f1a395b842f1a6752ae417e2c3dc90cafc4476d1d861b7e68ad030\n\n# tcId = 71\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03d13dd29455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = b329c20ddb7c78ee4e622bb23a984c0d273ba34b6269f3d9e8f89f8e\n\n# tcId = 72\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13cd29455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 6f48345209b290ffc5abbe754a201479e5d667a209468080d06197b4\n\n# tcId = 73\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13d529455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 9f6e30c1c9dad42a153aacd4b49a8e5c721d085cd07b5d5aec244fc1\n\n# tcId = 74\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29445c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 8cadfb19a80949e61bd5b829ad0e76d18a5bb2eeb9ed7fe2b901cecd\n\n# tcId = 75\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29b7\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 475fd96e0eb8cb8f100a5d7fe043a7a6851d1d611da2643a3c6ae708\nflags = AddSubChain\n\n# tcId = 76\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 41ef931d669d1f57d8bb95a01a92321da74be8c6cbc3bbe0b2e73ebd\nflags = AddSubChain\n\n# tcId = 77\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6\n\n# tcId = 78\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 11ff15126411299cbd49e2b7542e69e91ef132e2551a16ecfebb23a3\nflags = AddSubChain\n\n# tcId = 79\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 80\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 81\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 82\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 83\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 84\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 85\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 86\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 87\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 88\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 89\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 90\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b9", + "91cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 91\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000100000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 92\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000100000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 93\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 94\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 95\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 3015301006072a8648ce3d020106052b81040021030100\nresult = invalid\nshared = \n\n# tcId = 96\n# public point not on curve\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5d\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 97\n# public point = (0,0)\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 98\n# order = -26959946667150639794667015087019625940457807714424391721682722368061\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021dff0000000000000000000000000000e95d1f470fc1ec22d6baa3a3d5c3020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 99\n# order = 0\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020100020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 100\n# order = 1\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020101020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 101\n# order = 6277101735386680763835789423207665314073163949517624387909\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021900ffffffffffffffffffffffffffff16a2e0b8f03e13dd2945020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 102\n# generator = (0,0)\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb40439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 103\n# generator not on curve\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e36021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 104\n# cofactor = -1\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 105\n# cofactor = 0\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b", + "94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 106\n# cofactor = 2\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020102033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 107\n# cofactor =\n# 26959946667150639794667015087019625940457807714424391721682722368061\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 108\n# cofactor = None\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 109\n# modified prime\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c123da0a46a971da9468161e61a5c71a02e6c9bdb3392f4016fb457b303c041c3edc25f5b9568e256b97e9e19e5a38e4fd1936424cc6d0bfe904ba83041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3\nresult = invalid\nshared = 3de0a5036fcde544c72cbe33cedb8709549bc3b6a4d750ee0de4c80d\nflags = ModifiedPrime,InvalidPublic,UnnamedCurve\n\n# tcId = 110\n# using secp256r1\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 111\n# using secp256k1\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 112\n# a = 0\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff0000000000000000000000013021040100041cd0d5e347a38ce5b6e1f47edddd8a223bca45d2015de76ec835a4df57043904a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 113\n# public key of order 3\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cacb441c744c5af60905e78cd53b10f4aec9f30a302bb4ab0aeb53182041c2356bdcb3ae3e1c1e31741c951add1b2b0f87305d01021232aa22e0c043904bafbb7559c7335192c6f0cc5970e9c92a12e9af1a0cb5403d9bcc4eb7a545a1d9302be01456f17846a445ef45ff7c31710b08a6881dc11d1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004bafbb7559c7335192c6f0cc5970e9c92a12e9af1a0cb5403d9bcc4eb85aba5e26cfd41feba90e87b95bba10aa0083ce8ef4f75977e23ee30\nresult = invalid\nshared = \nflags = WeakPublicKey,InvalidPublic,UnnamedCurve\n\n# tcId = 114\n# Public key uses wrong curve: secp256r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ea36cf70fab75684eabe6569ce623db0deaa8c95f61c8be50b8b9f3eb7d4b9ec48d9e4814f4cb1c286589eaaa990d3f3238b2d6d6be964abfad964824b653376\nresult = invalid\nshared = \n\n# tcId = 115\n# Public key uses wrong curve: secp384r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3076301006072a8648ce3d020106052b81040022036200044b2470ad3d13269c10a17d222ebdffbd61fb04488db1b1d7caef8d4988b7bb8ba6d81857a05b255232b9e37a30e328bb9d9c42d86096f2bcee3d258cfe208d2fd03cbd5ccc6a3bb8ce4b0efa5b059b4afbd0377aa6e274721a57efe8ee85d86a\nresult = invalid\nshared = \n\n# tcId = 116\n# Public key uses wrong curve: secp521r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301006072a8648ce3d020106052b810400230381860004012841a2260f0f1f424865fef275374779bf0355720223f8ec6a9ba767b1603b492f58a6bba1705d882257bc6be1935de4411c5f1fdad44ec65ba8b97ce0e73e1ac90006937832a602147e37c1a42ca2a63629ffc9a35b31bfacb38c6242b42916125f7446b45c718f797259bc3011cb71e868560b331cf7d01139a0643443f9fd7306c1\nresult = invalid\nshared = \n\n# tcId = 117\n# Public key uses wrong curve: secp256k1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3056301006072a8648ce3d020106052b8104000a03420004c2199fecf75648c0e952dff143821fa4012b28f90435ce6ee54653687f969a76092a3844e17d478a594f43b28cc10a5c553b4f64906121031c3a79299c70dbd6\nresult = invalid\nshared = \n\n# tcId = 118\n# Public key uses wrong curve: secp224k1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 304e301006072a8648ce3d020106052b81040020033a000473e833aee75c67a34cc497fd01275372d09e3e8f2ff054c8c29e405ef3e35d699190a448079c058022512fa9976e504e298baee340d5648b\nresult = invalid\nshared = \n\n# tcId = 119\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a00046caa3d6d86f792df7b29e41eb4203150f60f4fca10f57d0b2454abfb201f9f7e6dcbb92bdcfb9240dc86bcaeaf157c77bca22b2ec86ee8d6\nresult = invalid\nshared = \n\n# tcId = 120\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 305a301406072a8648ce3d02010609", + "2b2403030208010107034200042750180012c3ba7489517d428e4826784e50b50ac42ef7991c61a396c03a52da5e74908ae8a89627a7c15e554b105b0ebaeebcfed10e3ea60223d0a8bc3b36ab\nresult = invalid\nshared = \n\n# tcId = 121\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 306a301406072a8648ce3d020106092b2403030208010109035200045b523d3a8f20f6a569c6951e0b8de48d89e7549a184e8506820421c3e404473692cd248d7480843b911d87a87e401112fce0d3d2c36978cf6dd7f1d93bfaebe0827d4bf4006006d3202e842126fe1b68\nresult = invalid\nshared = \n\n# tcId = 122\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 307a301406072a8648ce3d020106092b240303020801010b03620004449607c76c6dc7334c269a0ebab5beec83b6c263377ce06ef5c276f45a9916eff85f50438f5f32ced0210a6c414fe5e242c7c1070823f5395b35965bda6758acf84725f11ea836dda7d391fee91342026645241853224a437a6fb74e4cdc871f\nresult = invalid\nshared = \n\n# tcId = 123\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301406072a8648ce3d020106092b240303020801010d038182000463e7a491240848e4f53ea5fb857d428c493053193e4b0b4f995ac8bf4c56276a507870131a384aa7e236c64cd7a049a1b37e40ad00c3b8a920dcbad6531616356ce1b6e6d96a7d1b693e25e5abd83ab560a3d764bcd49ec98a1b49421163bd5fc5a625f44c91eb4c2984d5a2e51e816ebdee8fbe08364bb14b7ac876990e64d9\nresult = invalid\nshared = \n\n# tcId = 124\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00047c592ecb8908355d1ebf8d59b3619275dbe3666209b72ced6a3c88740456ce61d6a84e0542d7cd10dd8804afb8c784d5dffd9480d8cfdc95\nresult = invalid\nshared = \n\n# tcId = 125\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 305a301406072a8648ce3d020106092b240303020801010803420004746226a3e005c37ede51828d3375ef91ebd0ff719a380af69d7dfd131b42a3e8917d4a4d573872935a74d1040f1c47d25d6b26f4156cccdcdc11833b9cde433a\nresult = invalid\nshared = \n\n# tcId = 126\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 306a301406072a8648ce3d020106092b240303020801010a035200043298b36825c7bd90ab5157b913d40bbfd732a0de0557e02a2c65a0c223e9a65d62c32462040dd6fe578103023c831caff122c1ed4b8ff7373fa2f08d11c9f4c7f85f81802262ffed9bb82cb6d92eed2d\nresult = invalid\nshared = \n\n# tcId = 127\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200043af2849b981f7e5e6ab936e6abb4f206c1fd5561998df8008bfe98d84173c9f2301cdbd5bffc569c0b5a57ce2a8f4d640f1816475fc6043baa8e5a3453bf327b54cb29c7e54a5f31348969aa94615094dbcd1a8e5c2d630465e45fc556c02194\nresult = invalid\nshared = \n\n# tcId = 128\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301406072a8648ce3d020106092b240303020801010e038182000453d2506047e72af6d98558e1633ecb7e6a05c37861cd3289455cf41bfbf1703f2e9a83052b8eca7d84cba2f001abd8b978f68b69ed6bd874755c44d347fe302c5760b2078c56b24ebd0dcd99f26b8f8a23044b3767a3d2a306587687a7b00668974674edbf18c3db2f3473a97ee77065fdcdd1a9aa053716a4c504f3d18b9170\nresult = invalid\nshared = \n\n# tcId = 129\n# invalid public key\nprivate = 00fc28a0ca0f8e36b0d4f71421845135a22aef543b9fddf8c775b2d18f\npublic = 3032301006072a8648ce3d020106052b81040021031e00020ca753db5ddeca474241f8d2dafc0844343fd0e37eded2f0192d51b2\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 130\n# long form encoding of length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30814e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 131\n# long form encoding of length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f30811006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 132\n# length of sequence contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3082004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 133\n# length of sequence contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503082001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 134\n# wrong length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 135\n# wrong length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 136\n# wrong length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301106072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 137\n# wrong length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e300f06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 138\n# uint32 overflow in length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3085010000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 139\n# uint32 overflow in length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533085010000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 140\n# uint64 overflow in length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 308901000000000000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 141\n# uint64 overflow in length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npubl", + "ic = 3057308901000000000000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 142\n# length of sequence = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30847fffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 143\n# length of sequence = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230847fffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 144\n# length of sequence = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3084ffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 145\n# length of sequence = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523084ffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 146\n# length of sequence = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3085ffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 147\n# length of sequence = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533085ffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 148\n# length of sequence = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 149\n# length of sequence = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563088ffffffffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 150\n# incorrect length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30ff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 151\n# incorrect length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e30ff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 152\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 153\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e308006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 154\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006802a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 155\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106802b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 156\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400210380000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 157\n# removing sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = \nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 158\n# removing sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 159\n# lonely sequence tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 160\n# lonely sequence tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303d30033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 161\n# appending 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 162\n# appending 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 163\n#", + " prepending 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30500000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 164\n# prepending 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012000006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 165\n# appending unused 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 166\n# appending unused 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 167\n# appending null value to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 168\n# appending null value to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 169\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053498177304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 170\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30522500304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 171\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 172\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015498177301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 173\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230142500301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 174\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563012301006072a8648ce3d020106052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 175\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015260c49817706072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 176\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523014260b250006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 177\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018260906072a8648ce3d02010004deadbeef06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 178\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201260a49817706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 179\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02012609250006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 180\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201260706052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 181\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b81040021233f498177033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 182\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b81040021233e2500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 183\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b81040021233c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidA", + "sn\n\n# tcId = 184\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056aa00bb00cd00304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 185\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054aa02aabb304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 186\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018aa00bb00cd00301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 187\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30543016aa02aabb301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 188\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018260faa00bb00cd0006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 189\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30543016260daa02aabb06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 190\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201260daa00bb00cd0006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 191\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054301606072a8648ce3d0201260baa02aabb06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 192\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b810400212342aa00bb00cd00033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 193\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054301006072a8648ce3d020106052b810400212340aa02aabb033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 194\n# truncated length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3081\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 195\n# truncated length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e3081033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 196\n# Replacing sequence with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 0500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 197\n# Replacing sequence with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e0500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 198\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 2e4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 199\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 2f4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 200\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 314e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 201\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 324e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 202\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = ff4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 203\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e2e1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 204\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e2f1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 205\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e311006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3d", + "a62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 206\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e321006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 207\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304eff1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 208\n# dropping value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 209\n# dropping value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e3000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 210\n# truncated sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 211\n# truncated sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 212\n# truncated sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d020106052b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 213\n# truncated sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 214\n# indefinite length\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 215\n# indefinite length\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050308006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 216\n# indefinite length with truncated delimiter\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6200\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 217\n# indefinite length with truncated delimiter\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f308006072a8648ce3d020106052b8104002100033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 218\n# indefinite length with additional element\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6205000000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 219\n# indefinite length with additional element\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052308006072a8648ce3d020106052b8104002105000000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 220\n# indefinite length with truncated element\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62060811220000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 221\n# indefinite length with truncated element\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054308006072a8648ce3d020106052b81040021060811220000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 222\n# indefinite length with garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000fe02beef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 223\n# indefinite length with garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054308006072a8648ce3d020106052b810400210000fe02beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 224\n# indefinite length with nonempty EOC\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620002beef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 225\n# indefinite length with nonempty EOC\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052308006072a8648ce3d020106052b810400210002beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 226\n# prepend empty sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags", + " = InvalidAsn\n\n# tcId = 227\n# prepend empty sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012300006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 228\n# append empty sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da623000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 229\n# append empty sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400213000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 230\n# append garbage with high tag number\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3051301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62bf7f00\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 231\n# append garbage with high tag number\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3051301306072a8648ce3d020106052b81040021bf7f00033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 232\n# sequence of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 233\n# sequence of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 234\n# truncated sequence: removed last 1 elements\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3012301006072a8648ce3d020106052b81040021\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 235\n# truncated sequence: removed last 1 elements\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3047300906072a8648ce3d0201033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 236\n# repeating element in sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30818a301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 237\n# repeating element in sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3055301706072a8648ce3d020106052b8104002106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 238\n# long form encoding of length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f30110681072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 239\n# long form encoding of length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d02010681052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 240\n# length of oid contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012068200072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 241\n# length of oid contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201068200052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 242\n# wrong length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006082a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 243\n# wrong length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006062a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 244\n# wrong length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106062b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 245\n# wrong length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106042b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 246\n# uint32 overflow in length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015068501000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 247\n# uint32 overflow in length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201068501000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509", + "fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 248\n# uint64 overflow in length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906890100000000000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 249\n# uint64 overflow in length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906072a8648ce3d020106890100000000000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 250\n# length of oid = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406847fffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 251\n# length of oid = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d020106847fffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 252\n# length of oid = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230140684ffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 253\n# length of oid = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02010684ffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 254\n# length of oid = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305330150685ffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 255\n# length of oid = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d02010685ffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 256\n# length of oid = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305630180688ffffffffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 257\n# length of oid = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d02010688ffffffffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 258\n# incorrect length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006ff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 259\n# incorrect length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106ff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 260\n# removing oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3045300706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 261\n# lonely oid tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304630080606052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 262\n# lonely oid tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3048300a06072a8648ce3d020106033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 263\n# appending 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206092a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 264\n# appending 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106072b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 265\n# prepending 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012060900002a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 266\n# prepending 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201060700002b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 267\n# appending unused 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 268\n# appending null value to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206092a8648ce3d0201050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d79", + "4228029b10da63\nflags = InvalidAsn\n\n# tcId = 269\n# appending null value to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106072b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 270\n# truncated length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009068106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 271\n# truncated length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010681033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 272\n# Replacing oid with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 273\n# Replacing oid with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 274\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301004072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 275\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301005072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 276\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301007072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 277\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301008072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 278\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e3010ff072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 279\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020104052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 280\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020105052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 281\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020107052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 282\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020108052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 283\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d0201ff052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 284\n# dropping value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009060006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 285\n# dropping value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010600033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 286\n# modify first byte of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e30100607288648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 287\n# modify first byte of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052981040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 288\n# modify last byte of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d028106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 289\n# modify last byte of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400a1033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 290\n# truncated oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06062a8648ce3d0206052b81", + "040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 291\n# truncated oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06068648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 292\n# truncated oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d020106042b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 293\n# truncated oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d0201060481040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 294\n# wrong oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304c300e06052b0e03021a06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 295\n# wrong oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012060960864801650304020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 296\n# wrong oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b0e03021a033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 297\n# wrong oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02010609608648016503040201033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 298\n# longer oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106082a8648ce3d02010106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 299\n# longer oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d020106062b8104002101033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 300\n# oid with modified node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d021106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 301\n# oid with modified node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523014060b2a8648ce3d02888080800106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 302\n# oid with modified node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 303\n# oid with modified node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d020106092b8104008880808021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 304\n# large integer in oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906102a8648ce3d028280808080808080800106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 305\n# large integer in oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906072a8648ce3d0201060e2b81040082808080808080808021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 306\n# oid with invalid node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106082a8648ce3d0201e006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 307\n# oid with invalid node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106082a808648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 308\n# oid with invalid node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d020106062b81040021e0033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 309\n# oid with invalid node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d020106062b8081040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 310\n# long form encoding of length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301006072a8648ce3d020106052b8104002103813a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 311\n# length of bit string contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b810400210382003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshar", + "ed = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 312\n# wrong length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033b000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 313\n# wrong length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 314\n# uint32 overflow in length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b810400210385010000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 315\n# uint64 overflow in length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301006072a8648ce3d020106052b81040021038901000000000000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 316\n# length of bit string = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b8104002103847fffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 317\n# length of bit string = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b810400210384ffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 318\n# length of bit string = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b810400210385ffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 319\n# length of bit string = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b810400210388ffffffffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 320\n# incorrect length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b8104002103ff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 321\n# lonely bit string tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3013301006072a8648ce3d020106052b8104002103\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 322\n# appending 0's to bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 323\n# prepending 0's to bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c0000000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 324\n# appending null value to bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 325\n# truncated length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210381\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 326\n# Replacing bit string with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 327\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021013a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 328\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021023a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 329\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021043a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 330\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021053a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 331\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021ff3a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 332\n# dropping value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210300\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 333\n# modify first byte of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a020486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72f", + "a4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 334\n# modify last byte of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3dae2\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 335\n# truncated bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 336\n# truncated bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b8104002103390486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 337\n# declaring bits as unused in bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a010486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 338\n# unused bits in bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b81040021033e200486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6201020304\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 339\n# unused bits in empty bit-string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3015301006072a8648ce3d020106052b81040021030103\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 340\n# 128 unused bits\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a800486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n", }; -static const size_t kLen63 = 201337; +static const size_t kLen96 = 196857; -static const char *kData63[] = { - "# Imported from Wycheproof's ecdh_secp256r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.4.12\n\n[curve = secp256r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf\nresult = valid\nshared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285\n\n# tcId = 2\n# compressed public key\nprivate = 612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000362d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26\nresult = acceptable\nshared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285\n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000458fd4168a87795603e2b04390285bdca6e57de6027fe211dd9d25e2212d29e62080d36bd224d7405509295eed02a17150e03b314f96da37445b0d1d29377d12c\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040f6d20c04261ecc3e92846acad48dc8ec5ee35ae0883f0d2ea71216906ee1c47c042689a996dd12830ae459382e94aac56b717af2e2080215f9e41949b1f52be\nresult = valid\nshared = 00000000000000000000000000000000ffffffffffffffffffffffffffffffff\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400c7defeb1a16236738e9a1123ba621bc8e9a3f2485b3f8ffde7f9ce98f5a8a1cb338c3912b1792f60c2b06ec5231e2d84b0e596e9b76d419ce105ece3791dbc\nresult = valid\nshared = 0000000000000000ffffffffffffffff00000000000000010000000000000001\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9b98fb2c0ac045f8c76125ffd99eb8a5157be1d7db3e85d655ec1d8210288cf218df24fd2c2746be59df41262ef3a97d986744b2836748a7486230a319ffec0\nresult = valid\nshared = 00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9484e58f3331b66ffed6d90cb1c78065fa28cfba5c7dd4352013d3252ee4277bd7503b045a38b4b247b32c59593580f39e6abfa376c3dca20cf7f9cfb659e13\nresult = valid\nshared = 000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004767d7fbb84aa6a4db1079372644e42ecb2fec200c178822392cb8b950ffdd0c91c86853cafd09b52ba2f287f0ebaa26415a3cfabaf92c6a617a19988563d9dea\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c74d546f2fcc6dd392f85e5be167e358de908756b0c0bb01cb69d864ca083e1c93f959eece6e10ee11bd3934207d65ae28af68b092585a1509260eceb39b92ef\nresult = valid\nshared = 085ec5a4af40176b63189069aeffcb229c96d3e046e0283ed2f9dac21b15ad3c\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000434fc9f1e7a094cd29598d1841fa9613dbe82313d633a51d63fb6eff074cc9b9a4ecfd9f258c5c4d4210b49751213a24c596982bd1d54e0445443f21ef15492a5\nresult = valid\nshared = 190c25f88ad9ae3a098e6cffe6fd0b1bea42114eb0cedd5868a45c5fe277dff3\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d5c96efd1907fd48de2ad715acf82eae5c6690fe3efe16a78d61c68d3bfd10df03eac816b9e7b776192a3f5075887c0e225617505833ca997cda32fd0f673c5e\nresult = valid\nshared = 507442007322aa895340cba4abc2d730bfd0b16c2c79a46815f8780d2c55a2dd\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f475f503a770df72c45aedfe42c008f59aa57e72b232f26600bdd0353957cb20bdb8f6405b4918050a3549f44c07a8eba820cdce4ece699888c638df66f54f7c\nresult = valid\nshared = 5f177bfe19baaaee597e68b6a87a519e805e9d28a70cb72fd40f0fe5a754ba45\n\n# tcId = 13\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3cb6754b7e2a86d064dfb9f903185aaa4c92b481c2c1a1ff276303bbc4183e49c318599b0984c3563df339311fe143a7d921ee75b755a52c6f804f897b809f7\nresult = valid\nshared = 7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cce13fbdc96a946dfb8c6d9ed762dbd1731630455689f57a437fee124dd54cecaef78026c653030cf2f314a67064236b0a354defebc5e90c94124e9bf5c4fc24\nresult = valid\nshared = 8000000000000000000000000000000000000000000000000000000000000004\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047633dfd0ad06765097bc11bd5022b200df31f28c4ff0625421221ac7eeb6e6f4cb9c67693609ddd6f92343a5a1c635408240f4f8e27120c12554c7ff8c76e2fe\nresult = valid\nshared = 8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a386ace573f87558a68ead2a20088e3fe928bdae9e109446f93a078c15741f0421261e6db2bf12106e4c6bf85b9581b4c0302a526222f90abc5a549206b11011\nresult = valid\nshared = ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e7b50f7d8c44d5d3496c43141a502f4a43f153d03ad43eda8e39597f1d477b8647f3da67969b7f989ff4addc393515af40c82085ce1f2ee195412c6f583774f\nresult = valid\nshared = ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c827fb930fd51d926086191b502af83abb5f717debc8de29897a3934b2571ca05990c0597b0b7a2e42febd56b13235d1d408d76ed2c93b3facf514d902f6910a\nresult = valid\nshared = ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff\n\n# tcId = 19\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c74fde0a4ef93887469793270eb2ff148287da9265b0334f9e2609aac16e8ad503\nresult = valid\nshared = 7fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff\n\n# tcId = 20\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042830d96489ae24b79cad425056e82746f9e3f419ab9aa21ca1fbb11c7325e7d318abe66f575ee8a2f1c4a80e35260ae82ad7d6f661d15f06967930a585097ef7\nresult = valid\nshared = 00000000000000000000000011112", - "4f400000000000000000000000000000000\n\n# tcId = 21\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004450b6b6e2097178e9d2850109518d28eb3b6ded2922a5452003bc2e4a4ec775c894e90f0df1b0e6cadb03b9de24f6a22d1bd0a4a58cd645c273cae1c619bfd61\nresult = valid\nshared = 000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff\n\n# tcId = 22\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c7b021f5b006c778ba686cd8f14d00eb7d78256d9b4fccb061d9f6553e91752afc\nresult = valid\nshared = 7fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff\n\n# tcId = 23\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042830d96489ae24b79cad425056e82746f9e3f419ab9aa21ca1fbb11c7325e7d3e754198fa8a1175e0e3b57f1cad9f517d528290a9e2ea0f96986cf5a7af68108\nresult = valid\nshared = 000000000000000000000000111124f400000000000000000000000000000000\n\n# tcId = 24\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004450b6b6e2097178e9d2850109518d28eb3b6ded2922a5452003bc2e4a4ec775c76b16f0e20e4f194524fc4621db095dd2e42f5b6a7329ba3d8c351e39e64029e\nresult = valid\nshared = 000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff\n\n# tcId = 25\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a0f0e3dd31417bbd9e298bc068ab6d5c36733af26ed67676f410c804b8b2ca1b02c82f3a61a376db795626e9400557112273a36cddb08caaa43953965454730\nresult = valid\nshared = 7fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff\n\n# tcId = 26\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e5d22d5e53ec797c55ecd68a08a7c3361cd99ca7fad1a68ea802a6a4cb58a918ea7a07023ef67677024bd3841e187c64b30a30a3750eb2ee873fbe58fa1357b\nresult = valid\nshared = 0000000000000000000000001f6bd1e500000000000000000000000000000000\n\n# tcId = 27\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004293aa349b934ab2c839cf54b8a737df2304ef9b20fa494e31ad62b315dd6a53c118182b85ef466eb9a8e87f9661f7d017984c15ea82043f536d1ee6a6d95b509\nresult = valid\nshared = 000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff\n\n# tcId = 28\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a0f0e3dd31417bbd9e298bc068ab6d5c36733af26ed67676f410c804b8b2ca14fd37d0b59e5c893486a9d916bffaa8eedd8c5ca3224f73555bc6ac69abab8cf\nresult = valid\nshared = 7fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff\n\n# tcId = 29\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e5d22d5e53ec797c55ecd68a08a7c3361cd99ca7fad1a68ea802a6a4cb58a9171585f8edc1098998fdb42c7be1e7839b4cf5cf6c8af14d1178c041a705eca84\nresult = valid\nshared = 0000000000000000000000001f6bd1e500000000000000000000000000000000\n\n# tcId = 30\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004293aa349b934ab2c839cf54b8a737df2304ef9b20fa494e31ad62b315dd6a53cee7e7d46a10b99156571780699e082fe867b3ea257dfbc0ac92e1195926a4af6\nresult = valid\nshared = 000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4\nresult = valid\nshared = cfe4077c8730b1c9384581d36bff5542bc417c9eff5c2afcb98cc8829b2ce848\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff4f2b92b4c596a5a47f8b041d2dea6043021ac77b9a80b1343ac9d778f4f8f733\nresult = valid\nshared = 49ae50fe096a6cd26698b78356b2c8adf1f6a3490f14e364629f7a0639442509\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000ffffffffffffffff0000000000000001000000000000000138120be6ab31edfa34768c4387d2f84fb4b0be8a9a985864a1575f4436bb37b0\nresult = valid\nshared = 5a1334572b2a711ead8b4653eb310cd8d9fd114399379a8f6b872e3b8fdda2d9\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000ffffffff00000000ffffffff00000000ffffffff0000000100000000462c0466e41802238d6c925ecbefc747cfe505ea196af9a2d11b62850fce946e\nresult = valid\nshared = c73755133b6b9b4b2a00631cbc7940ecbe6ec08f20448071422e3362f2556888\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff1582fa32e2d4a89dfcfb3d0b149f667dba3329490f4d64ee2ad586c0c9e8c508\nresult = valid\nshared = 06fa1059935e47a9fd667e13f469614eb257cc9a7e3fc599bfb92780d59b146d\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001684c8a9586ed6f9cbe447058a7da2108bab1e5e0a60d1f73e4e2e713f0a3dfe0\nresult = valid\nshared = f237df4c10bd3e357971bb2b16b293566b7e355bdc8141d6c92cabc682983c45\n\n# tcId = 37\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004085ec5a4af40176b63189069aeffcb229c96d3e046e0283ed2f9dac21b15ad3c7859f97cb6e203f46bf3438f61282325e94e681b60b5669788aeb0655bf19d38\nresult = valid\nshared = d874b55678d0a04d216c31b02f3ad1f30c92caaf168f34e3a743356d9276e993\n\n# tcId = 38\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004190c25f88ad9ae3a098e6cffe6fd0b1bea42114eb0cedd5868a45c5fe277dff321b8342ef077bc6724112403eaee5a15b4c31a71589f02ded09cd99cc5db9c83\nresult = valid\nshared = 11a8582057463fc76fda3ab8087eb0a420b0d601bb3134165a369646931e52a6\n\n# tcId = 39\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004507442007322aa895340cba4abc2d730bfd0b16c2c79a46815f8780d2c55a2dd4619d69f9940f51663aa12381bc7cf678bd1a72a49fbc11b0b69cb22d1af9f2d\nresult = valid\nshared = 4e173a80907f361fe5a5d335ba7685d5eba93e9dfc8d8fcdb1dcd2d2bde27507\n\n# tcId = 40\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045f177bfe19baaaee597e68b6a87a519e805e9d28a70cb72fd40f0fe5a754ba4562ca1103f70a2006cd1f67f5f6a3580b29dc446abc90e0e910c1e05a9aa788cd\nresult = valid\nshared = 73220471ec8bad99a297db488a34a259f", - "9bc891ffaf09922e6b5001f5df67018\n\n# tcId = 41\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff2e2213caf03033e0fd0f7951154f6e6c3a9244a72faca65e9ce9eeb5c8e1cea9\nresult = valid\nshared = 55d0a203e22ffb523c8d2705060cee9d28308b51f184beefc518cff690bad346\n\n# tcId = 42\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000480000000000000000000000000000000000000000000000000000000000000042be8789db81bb4870a9e60c5c18c80c83de464277281f1af1e640843a1a3148e\nresult = valid\nshared = 2518d846e577d95e9e7bc766cde7997cb887fb266d3a6cb598a839fd54aa2f4f\n\n# tcId = 43\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000722540f8a471c379083c600b58fde4d95c7dcad5095f4219fc5e9bdde3c5cd39\nresult = valid\nshared = bdb49f4bdf42ac64504e9ce677b3ec5c0a03828c5b3efad726005692d35c0f26\n\n# tcId = 44\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff5df80fc6cae26b6c1952fbd00ed174ee1209d069335f5b48588e29e80b9191ad\nresult = valid\nshared = f503ac65637e0f17cb4408961cb882c875e4c6ef7a548d2d52d8c2f681838c55\n\n# tcId = 45\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2c63650e6a5d332e2987dd09a79008e8faabbd37e49cb016bfb92c8cd0f5da77\nresult = valid\nshared = e3c18e7d7377dc540bc45c08d389bdbe255fa80ca8faf1ef6b94d52049987d21\n\n# tcId = 46\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff7a116c964a4cd60668bf89cffe157714a3ce21b93b3ca607c8a5b93ac54ffc0a\nresult = valid\nshared = 516d6d329b095a7c7e93b4023d4d05020c1445ef1ddcb3347b3a27d7d7f57265\n\n# tcId = 47\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff00000001c7c30643abed0af0a49fe352cb483ff9b97dccdf427c658e8793240d\nresult = valid\nshared = 6fd26661851a8de3c6d06f834ef3acb8f2a5f9c136a985ffe10d5eeb51edcfa3\n\n# tcId = 48\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffeecf2230fffffffffffffffffffffffffffffffffffffffd383cf9bd5412f50f5b601cad34b7c00746823320bd839a71786cdbf2\nresult = valid\nshared = 6fd26661851a8de3c6d06f834ef3acb8f2a5f9c136a985ffe10d5eeb51edcfa3\n\n# tcId = 49\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff267bfdf8a61148decd80283732dd4c1095e4bb40b9658408208dc1147fffffff\nresult = valid\nshared = 44236c8b9505a19d48774a3903c0292759b0f826e6ac092ff898d87e53d353fc\n\n# tcId = 50\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffffd984020659eeb722327fd7c8cd22b3ef6a1b44c0469a7bf7df723eeb80000000\nresult = valid\nshared = 44236c8b9505a19d48774a3903c0292759b0f826e6ac092ff898d87e53d353fc\n\n# tcId = 51\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000111124f4000000000000000000000000000000000000000d12d381b0760b1c50be8acf859385052c7f53cde67ce13759de3123a0\nresult = valid\nshared = f1f0e43b374feb7e7f96d4ffe7519fa8bb6c3cfd25f6f87dab2623d2a2d33851\n\n# tcId = 52\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000111124f400000000000000000000000000000000fffffff1ed2c7e5089f4e3af4175307a6c7afad480ac3219831ec8a621cedc5f\nresult = valid\nshared = f1f0e43b374feb7e7f96d4ffe7519fa8bb6c3cfd25f6f87dab2623d2a2d33851\n\n# tcId = 53\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000001f6bd1e5000000000000000000000000000000004096edd6871c320cb8a9f4531751105c97b4c257811bbc32963eaf39ffffffff\nresult = valid\nshared = 3ebbace1098a81949d5605dd94a7aa88dc396c2c23e01a9c8cca5bb07bfbb6a1\n\n# tcId = 54\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000001f6bd1e500000000000000000000000000000000bf69122878e3cdf447560bace8aeefa3684b3da97ee443cd69c150c600000000\nresult = valid\nshared = 3ebbace1098a81949d5605dd94a7aa88dc396c2c23e01a9c8cca5bb07bfbb6a1\n\n# tcId = 55\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff000000007afbc0b325e820646dec622fb558a51c342aa257f4b6a8ec5ddf144f\nresult = valid\nshared = 1b085213a9c89d353e1111af078c38c502b7b4771efba51f589b5be243417bdc\n\n# tcId = 56\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000001ea77d449fffffffffffffffffffffffffffffffffffffffe85043f4dda17df9b92139dd04aa75ae4cbd55da80b495713a220ebb0\nresult = valid\nshared = 1b085213a9c89d353e1111af078c38c502b7b4771efba51f589b5be243417bdc\n\n# tcId = 57\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff152c1a22d823a27855ed03f8e2ab5038bb1df4d87e43865f2daf6948ffffffff\nresult = valid\nshared = 67cb63566c7ceb12fdd85ce9d2f77c359242bbaa0ea1bf3cf510a4a26591d1f1\n\n# tcId = 58\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000002099f55d5ffffffffffffffffffffffffffffffffead3e5dc27dc5d88aa12fc071d54afc744e20b2881bc79a0d25096b700000000\nresult = valid\nshared = 67cb63566c7ceb12fdd85ce9d2f77c359242bbaa0ea1bf3cf510a4a26591d1f1\n\n# tcId = 59\n# edge case private key\nprivate = 3\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca\n\n# tcId = 60\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = a329a7d80424ea2d6c904393808e510dfbb28155092f1bac284dceda1f13afe5\n\n# tcId = 61\n# edge case private key\nprivate = 100000000000000000000000000000000000000000000000000000000000000\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a193", - "0189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = bd26d0293e8851c51ebe0d426345683ae94026aca545282a4759faa85fde6687\n\n# tcId = 62\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = ea9350b2490a2010c7abf43fb1a38be729a2de375ea7a6ac34ff58cc87e51b6c\n\n# tcId = 63\n# edge case private key\nprivate = 08000000000000000000000000000000000000000000000000000000000000000\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 34eed3f6673d340b6f716913f6dfa36b5ac85fa667791e2d6a217b0c0b7ba807\n\n# tcId = 64\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e83f3b9cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 1354ce6692c9df7b6fc3119d47c56338afbedccb62faa546c0fe6ed4959e41c3\n\n# tcId = 65\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3a9cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = fe7496c30d534995f0bf428b5471c21585aaafc81733916f0165597a55d12cb4\n\n# tcId = 66\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b1cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 348bf8042e4edf1d03c8b36ab815156e77c201b764ed4562cfe2ee90638ffef5\n\n# tcId = 67\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac1fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 6e4ec5479a7c20a537501700484f6f433a8a8fe53c288f7a25c8e8c92d39e8dc\n\n# tcId = 68\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324f3\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = f7407d61fdf581be4f564621d590ca9b7ba37f31396150f9922f1501da8c83ef\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 69\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632533\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 82236fd272208693e0574555ca465c6cc512163486084fa57f5e1bd2e2ccc0b3\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 70\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632543\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 06537149664dba1a9924654cb7f787ed224851b0df25ef53fcf54f8f26cd5f3f\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 71\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = f2b38539bce995d443c7bfeeefadc9e42cc2c89c60bf4e86eac95d51987bd112\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 72\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca\n\n# tcId = 73\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 027b013a6f166db655d69d643c127ef8ace175311e667dff2520f5b5c75b7659\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 74\n# CVE-2017-8932\nprivate = 2a265f8bcbdcaf94d58519141e578124cb40d64a501fba9c11847b28965bc737\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004023819813ac969847059028ea88a1f30dfbcde03fc791d3a252c6b41211882eaf93e4ae433cc12cf2a43fc0ef26400c0e125508224cdb649380f25479148a4ad\nresult = valid\nshared = 4d4de80f1534850d261075997e3049321a0864082d24a917863366c0724f5ae3\n\n# tcId = 75\n# CVE-2017-8932\nprivate = 313f72ff9fe811bf573176231b286a3bdb6f1b14e05c40146590727a71c3bccd\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cc11887b2d66cbae8f4d306627192522932146b42f01d3c6f92bd5c8ba739b06a2f08a029cd06b46183085bae9248b0ed15b70280c7ef13a457f5af382426031\nresult = valid\nshared = 831c3f6b5f762d2f461901577af41354ac5f228c2591f84f8a6e51e2e3f17991\n\n# tcId = 76\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 77\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 78\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000000ffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 79\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000000ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 80\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000", - "0000010000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 81\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 82\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 83\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 84\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 85\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 86\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffeffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 87\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffeffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 88\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 89\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 90\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 91\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 92\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3018301306072a8648ce3d020106082a8648ce3d030107030100\nresult = invalid\nshared = \n\n# tcId = 93\n# public point not on curve\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764c\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 94\n# public point = (0,0)\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 95\n# order =\n# -115792089210356248762697446949407573529996955224135760342422259061068512044369\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f50221ff00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 96\n# order = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020100020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The order of the public key has been modified. If this order is used in a\n# cryptographic pri", - "mitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 97\n# order = 1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020101020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 98\n# order = 26959946660873538060741835960514744168612397095220107664918121663170\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5021d00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 99\n# generator = (0,0)\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b04410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 100\n# generator not on curve\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f7022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 101\n# cofactor = -1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff0000000100000000000000000000", - "0000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 102\n# cofactor = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 103\n# cofactor = 2\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 104\n# cofactor =\n# 115792089210356248762697446949407573529996955224135760342422259061068512044369\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 105\n# cofactor = None\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 106\n# modified prime\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e002010130", - "2c06072a8648ce3d0101022100fd091059a6893635f900e9449d63f572b2aebc4cff7b4e5e33f1b200e8bbc1453044042002f6efa55976c9cb06ff16bb629c0a8d4d5143b40084b1a1cc0e4dff17443eb704205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414\nresult = invalid\nshared = cea0fbd8f20abc8cf8127c132e29756d25ff1530a88bf5c9e22dc1c137c36be9\n# The modulus of the public key has been modified. The public point of the\n# public key has been chosen so that it is both a point on both the curve of the\n# modified public key and the private key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 107\n# using secp224r1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 108\n# using secp256k1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 109\n# a = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff302504010004201b95c2f46065dbf0f3ff09153e4748ed71595e0774ba8e25c364ff1e6be039b70441041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 110\n# public key of order 3\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff304404205a715b6a9ef865f5058e21e20b575d9d585533bd588a9d5fb61cd69534b4e581042036a1a972d367abf9054cce4d54424592882c345283dc9cf0ec47231711f56b22044104d68a3dfbaeb2d277742e833c51625c2ded89b13ea1ec5d33b9cbca77334d79ec89c97eb4143dc3c88d1925fc4f30baba454bb201e5c0d3158ec98bb1fd045e12022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63255102010103420004d68a3dfbaeb2d277742e833c51625c2ded89b13ea1ec5d33b9cbca77334d79ec7636814aebc23c3872e6da03b0cf4545bab44dff1a3f2cea7136744e02fba1ed\nresult = invalid\nshared = f0652d1cc135c763cd51e429d320a6101634d13b59790c3b1db0063f9f00dc99\n# The vector contains a weak public key. The curve is not a named curve, the\n# public key point has order 3 and has been chosen to be on the same curve as\n# the private key. This test vector is used to check ECC implementations for\n# missing steps in the verification of the public key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 111\n# Public key uses wrong curve: secp224r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 304e301006072a8648ce3d020106052b81040021033a00042af270d2a6030e3dd38cc46e7d719f176c2ca4eb04d7e8b84290c8edbcaed964ebe226b2d7ce17251622804c0d3b7adce020a3cdc97cac6c\nresult = invalid\nshared = \n\n# tcId = 112\n# Public key uses wrong curve: secp384r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3076301006072a8648ce3d020106052b81040022036200041f17901e731b06f349b6e9d7d17d45e8a2b46115a47485be16197932db87b39405b5c941b36fd61b9ef7dd20878e129e55a2277099c601dcdb3747f80ad6e166116378e1ebce2c95744a0986128cfeeaac7f90b71787d9a1cfe417cd4c8f6af5\nresult = invalid\nshared = \n\n# tcId = 113\n# Public key uses wrong curve: secp521r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400ed76e5888428fad409ff203ab298b0f24827c091939ae0f9b1245d865ac5fbcd2749f9ae6c90fa8e29414d1bc7dc7b3c4aca904cd824484421cc66fe6af43bdfd200c1f790a0b3ae994937f91b6bdb9778b08c83ecadb8cba22a78c37bf565dac164f18e719be0ef890ee5cbf20e17fcfc9a5585e5416470b9862f82fb769339994f4e\nresult = invalid\nshared = \n\n# tcId = 114\n# Public key uses wrong curve: secp256k1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3056301006072a8648ce3d020106052b8104000a034200048028d16082b07696d4aa4aab9d6b1f1463435ac097900631108f9888e13da67c4841fd8dd3ced6e7ad8c6fc656621c2f93d3db0eb29d48d1423154519865dbc1\nresult = in", - "valid\nshared = \n\n# tcId = 115\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004a6bae3d155c1f9ca263928c986ede69acefd0dd9b3a19d2b9f4b0a3a66bea5d167318dcc028945fc1b40c60ce716ba2d414a743c6b856a6f\nresult = invalid\nshared = \n\n# tcId = 116\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200045d3ddbbb9bc071d8b59855c74bdf3541ae4cb6c1a24ec439034df7abde16a346523edf6a67896b304cb2cd2a083eec2b16935bbc910e85ec6eae38b50230bf70\nresult = invalid\nshared = \n\n# tcId = 117\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 306a301406072a8648ce3d020106092b240303020801010903520004a43c6ef2500723d54c1fc88f8844d83445ca5a0f585c10b8eb3f022d47d0e84862b7f5cbf97d352d4348ca730f600f2258d1d192da223f6ba83a7cc0d6da598d55c2b77824d326c8df000b8fff156d2c\nresult = invalid\nshared = \n\n# tcId = 118\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 307a301406072a8648ce3d020106092b240303020801010b036200042391c062833d1e6d89ec256cf4a3989534c1ead5e1e14ffae933a53f962857e4713087e1b3d65ac79634c71577af24698b5ce959183835551f7b08aef7853378c299930b360813fd58d5e4da8b37d5a7473e891ee11cb02881bd848b364fb7d5\nresult = invalid\nshared = \n\n# tcId = 119\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301406072a8648ce3d020106092b240303020801010d038182000484beae85096640953c1fd6ebbc32697263d53f89943cbaf14432061aea8c0318acbd9389ab1d2e904fa0e081d08cfabb614ed9bca618211142d94623c14b476a25e47abf98fd3b1da1417dfc2e2cfc8424b16ea14dd45e1422be7d4e0a5cc7f4d4ab5f198cdbaaa3f642ec6361842cbe869382ee78cd596ff5e740d9ec2c3ad6\nresult = invalid\nshared = \n\n# tcId = 120\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00042b0a1a858ffc44e7752940731d378f96570837e279ea3948fe00cff8b5f89adb4e2fe6f8781ba6426364f4590b34dd79fc80629de4a86084\nresult = invalid\nshared = \n\n# tcId = 121\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 305a301406072a8648ce3d020106092b2403030208010108034200043037c01b4a5ac53742e3f5528dffb0f010ab6ebeb08d792b32e19e9006ca331a024b67698d7cf4b575ccd9389441d5c640b77c63771cef1bd85675361c6602a4\nresult = invalid\nshared = \n\n# tcId = 122\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 306a301406072a8648ce3d020106092b240303020801010a035200040f0fd972a495a140124a4019291a20f5b39fb755c126bf268643bb3091eca44f2a3cda1dead6ab1f4fe08a4b3872423f71e5bf96b1c20bc0ca73b7e2c134cc14a5f77bc838ebcf01084da3bf15663536\nresult = invalid\nshared = \n\n# tcId = 123\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 307a301406072a8648ce3d020106092b240303020801010c0362000403b65faf5a6bf74bd5c166278a4b566c6c705ac6363e61f3b0699e116d3c5b19e8b7021b75b005f78a8cea8de34c49397f9b3b2bfc8706eb8163c802371eff7dfc825c40aa84dd9d1c4b34615ee5ae28c6c05d58d2a8ccc3786382b712d3bcda\nresult = invalid\nshared = \n\n# tcId = 124\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301406072a8648ce3d020106092b240303020801010e03818200047504d660943a69ab043378e44c034896534a346e0e95f35fcaad3503b490856bfb20a753ecabc6d7bfeec28d057f919923b7d3c086953eb16c5bd287b59788db72dbb7c273854294c927ea7eca205aae2f0830e5faaddad8316231bfc3572c85c33cb7054e04c8936e3ce059c907e59f40593444e590b31820bc1f514ed0ec8a\nresult = invalid\nshared = \n\n# tcId = 125\n# invalid public key\nprivate = 6f953faff3599e6c762d7f4cabfeed092de2add1df1bc5748c6cbb725cf35458\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002fd4bf61763b46581fd9174d623516cf3c81edd40e29ffa2777fb6cb0ae3ce535\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 126\n# public key is a low order point on twist\nprivate = 0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f02\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220003efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 127\n# public key is a low order point on twist\nprivate = 0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f03\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 128\n# public key is a low order point on twist\nprivate = 095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e835\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 129\n# public key is a low order point on twist\nprivate = 0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa4\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000318f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 130\n# public key is a low order point on twist\nprivate = 0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa5\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000218f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 131\n# public key is a low order point on twist\nprivate = 095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e834\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220003c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 132\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 308159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 133\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a30811306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 134\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a30140681072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783", - "e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 135\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d02010681082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 136\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301306072a8648ce3d020106082a8648ce3d03010703814200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 137\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30820059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 138\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3082001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 139\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015068200072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 140\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201068200082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 141\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070382004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 142\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 143\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 144\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301406072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 145\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301206072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 146\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306082a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 147\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306062a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared =", - " f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 148\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106092a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 149\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106072a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 150\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034300042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 151\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 152\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30850100000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 153\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3085010000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 154\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018068501000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 155\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d0201068501000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 156\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301070385010000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 157\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3089010000000000000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 158\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062308901000000000000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 159\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06890100000000000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 160\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06072a8648ce3d020106890100000000000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d6", - "95137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 161\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301306072a8648ce3d020106082a8648ce3d030107038901000000000000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 162\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30847fffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 163\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30847fffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 164\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706847fffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 165\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d020106847fffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 166\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d03010703847fffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 167\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3084ffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 168\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3084ffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 169\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30170684ffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 170\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d02010684ffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 171\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d0301070384ffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 172\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3085ffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 173\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3085ffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key", - " in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 174\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e30180685ffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 175\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d02010685ffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 176\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301070385ffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 177\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3088ffffffffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 178\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30613088ffffffffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 179\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b0688ffffffffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 180\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d02010688ffffffffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 181\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d0301070388ffffffffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 182\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30ff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 183\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930ff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 184\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306ff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 185\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106ff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 186\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703ff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not", - " strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 187\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 188\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059308006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 189\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306802a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 190\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106802a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 191\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107038000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 192\n# removing sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = \nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 193\n# removing sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3044034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 194\n# lonely sequence tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 195\n# lonely sequence tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 304530034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 196\n# appending 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 197\n# appending 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 198\n# prepending 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b0000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 199\n# prepending 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015000006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 200\n# appending unused 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c4", - "74d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 201\n# appending unused 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 202\n# appending null value to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 203\n# appending null value to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 204\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e4981773059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 205\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d25003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 206\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 207\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018498177301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 208\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30172500301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 209\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30613015301306072a8648ce3d020106082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 210\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018260c49817706072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 211\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3017260b250006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 212\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b260906072a8648ce3d02010004deadbeef06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 213\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d0201260d49817706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb", - "182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 214\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d0201260c250006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 215\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d0201260a06082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 216\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301072347498177034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 217\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d03010723462500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 218\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d0301072344034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 219\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061aa00bb00cd003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 220\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305faa02aabb3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 221\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301baa00bb00cd00301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 222\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f3019aa02aabb301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 223\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b260faa00bb00cd0006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 224\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f3019260daa02aabb06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 225\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d02012610aa00bb00cd0006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 226\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f301906072a8648ce3d0201260eaa02aabb06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c", - "474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 227\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d030107234aaa00bb00cd00034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 228\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f301306072a8648ce3d020106082a8648ce3d0301072348aa02aabb034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 229\n# truncated length of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3081\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 230\n# truncated length of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30463081034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 231\n# Replacing sequence with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 232\n# Replacing sequence with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30460500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 233\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 2e59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 234\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 2f59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 235\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 236\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3259301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 237\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = ff59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 238\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30592e1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 239\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30592f1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 240\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059311306072a8648ce3d020106082a8648ce3d0301070342000", - "42998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 241\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059321306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 242\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059ff1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 243\n# dropping value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 244\n# dropping value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30463000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 245\n# truncate sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 246\n# truncate sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30581306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 247\n# truncate sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106082a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 248\n# truncate sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30583012072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 249\n# indefinite length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 250\n# indefinite length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b308006072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 251\n# indefinite length with truncated delimiter\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b00\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 252\n# indefinite length with truncated delimiter\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a308006072a8648ce3d020106082a8648ce3d03010700034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 253\n# indefinite length with additional element\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b05000000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding.", - " Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 254\n# indefinite length with additional element\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d308006072a8648ce3d020106082a8648ce3d03010705000000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 255\n# indefinite length with truncated element\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b060811220000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 256\n# indefinite length with truncated element\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f308006072a8648ce3d020106082a8648ce3d030107060811220000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 257\n# indefinite length with garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000fe02beef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 258\n# indefinite length with garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f308006072a8648ce3d020106082a8648ce3d0301070000fe02beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 259\n# indefinite length with nonempty EOC\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0002beef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 260\n# indefinite length with nonempty EOC\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d308006072a8648ce3d020106082a8648ce3d0301070002beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 261\n# prepend empty sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 262\n# prepend empty sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015300006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 263\n# append empty sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b3000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 264\n# append empty sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301073000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 265\n# sequence of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 266\n# sequence of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# Th", - "e public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 267\n# truncated sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3015301306072a8648ce3d020106082a8648ce3d030107\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 268\n# truncated sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 304f300906072a8648ce3d0201034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 269\n# repeat element in sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30819d301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 270\n# repeat element in sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d06072a8648ce3d020106082a8648ce3d03010706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 271\n# removing oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3050300a06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 272\n# lonely oid tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b0606082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 273\n# lonely oid tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3050300a06072a8648ce3d020106034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 274\n# appending 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506092a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 275\n# appending 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a2a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 276\n# prepending 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015060900002a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 277\n# prepending 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a00002a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 278\n# appending unused 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 279\n# appending null value to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506092a8648ce3d0201050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still", - " returns the correct shared value.\n\n# tcId = 280\n# appending null value to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a2a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 281\n# truncated length of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c068106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 282\n# truncated length of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010681034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 283\n# Replacing oid with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 284\n# Replacing oid with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 285\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301304072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 286\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301305072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 287\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301307072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 288\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301308072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 289\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30593013ff072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 290\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020104082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 291\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020105082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 292\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020107082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 293\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npu", - "blic = 3059301306072a8648ce3d020108082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 294\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d0201ff082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 295\n# dropping value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c060006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 296\n# dropping value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010600034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 297\n# modify first byte of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930130607288648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 298\n# modify first byte of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d02010608288648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 299\n# modify last byte of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d028106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 300\n# modify last byte of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030187034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 301\n# truncate oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206062a8648ce3d0206082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 302\n# truncate oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206068648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 303\n# truncate oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106072a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 304\n# truncate oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106078648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 305\n# wrong oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305c3016060a3262306530333032316106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 306\n# wrong oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3064301e061236303836343830313635303330343032303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = ac", - "ceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 307\n# wrong oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a32623065303330323161034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 308\n# wrong oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d06072a8648ce3d02010612363038363438303136353033303430323031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 309\n# longer oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06103261383634386365336430323031303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 310\n# longer oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d06072a8648ce3d02010612326138363438636533643033303130373031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 311\n# oid with modified node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3060301a060e326138363438636533643032313106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 312\n# oid with modified node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3068302206163261383634386365336430323838383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 313\n# oid with modified node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d0201061032613836343863653364303330313137034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 314\n# oid with modified node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3069302306072a8648ce3d02010618326138363438636533643033303138383830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 315\n# large integer in oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3072302c0620326138363438636533643032383238303830383038303830383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 316\n# large integer in oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3073302d06072a8648ce3d0201062232613836343863653364303330313832383038303830383038303830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 317\n# oid with invalid node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d0611326138363438636533643032303165303306082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 318\n# oid with invalid node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406082a808648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 319\n# oid with invalid node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3064301e06072a8648ce3d0201061332613836343863653364303330313037653033034200042998705a9a71c783e1cf4397dbed9", - "375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 320\n# oid with invalid node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d020106092a808648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 321\n# lonely bit string tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3016301306072a8648ce3d020106082a8648ce3d03010703\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 322\n# appending 0's to bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 323\n# prepending 0's to bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070344000000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 324\n# appending null value to bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 325\n# truncated length of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070381\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 326\n# Replacing bit string with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 327\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107014200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 328\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107024200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 329\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107044200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 330\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107054200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 331\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107ff4200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 332\n# dropping value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070300\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 333\n# modify first byte of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930130", - "6072a8648ce3d020106082a8648ce3d030107034202042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 334\n# modify last byte of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6eb\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 335\n# truncate bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 336\n# truncate bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d0301070341042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 337\n# declaring bits as unused in a bit-string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034201042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 338\n# unused bits in a bit-string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d030107034620042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b01020304\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 339\n# unused bits in empty bit-string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3018301306072a8648ce3d020106082a8648ce3d030107030103\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 340\n# 128 unused bits\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034280042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n", +static const char *kData96[] = { + "# Imported from Wycheproof's ecdh_secp256r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.8r12\n\n[curve = secp256r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 0612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf\nresult = valid\nshared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285\n\n# tcId = 2\n# compressed public key\nprivate = 0612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000362d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26\nresult = acceptable\nshared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285\nflags = CompressedPoint\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000458fd4168a87795603e2b04390285bdca6e57de6027fe211dd9d25e2212d29e62080d36bd224d7405509295eed02a17150e03b314f96da37445b0d1d29377d12c\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040f6d20c04261ecc3e92846acad48dc8ec5ee35ae0883f0d2ea71216906ee1c47c042689a996dd12830ae459382e94aac56b717af2e2080215f9e41949b1f52be\nresult = valid\nshared = 00000000000000000000000000000000ffffffffffffffffffffffffffffffff\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400c7defeb1a16236738e9a1123ba621bc8e9a3f2485b3f8ffde7f9ce98f5a8a1cb338c3912b1792f60c2b06ec5231e2d84b0e596e9b76d419ce105ece3791dbc\nresult = valid\nshared = 0000000000000000ffffffffffffffff00000000000000010000000000000001\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9b98fb2c0ac045f8c76125ffd99eb8a5157be1d7db3e85d655ec1d8210288cf218df24fd2c2746be59df41262ef3a97d986744b2836748a7486230a319ffec0\nresult = valid\nshared = 00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9484e58f3331b66ffed6d90cb1c78065fa28cfba5c7dd4352013d3252ee4277bd7503b045a38b4b247b32c59593580f39e6abfa376c3dca20cf7f9cfb659e13\nresult = valid\nshared = 000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004767d7fbb84aa6a4db1079372644e42ecb2fec200c178822392cb8b950ffdd0c91c86853cafd09b52ba2f287f0ebaa26415a3cfabaf92c6a617a19988563d9dea\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c74d546f2fcc6dd392f85e5be167e358de908756b0c0bb01cb69d864ca083e1c93f959eece6e10ee11bd3934207d65ae28af68b092585a1509260eceb39b92ef\nresult = valid\nshared = 085ec5a4af40176b63189069aeffcb229c96d3e046e0283ed2f9dac21b15ad3c\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000434fc9f1e7a094cd29598d1841fa9613dbe82313d633a51d63fb6eff074cc9b9a4ecfd9f258c5c4d4210b49751213a24c596982bd1d54e0445443f21ef15492a5\nresult = valid\nshared = 190c25f88ad9ae3a098e6cffe6fd0b1bea42114eb0cedd5868a45c5fe277dff3\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d5c96efd1907fd48de2ad715acf82eae5c6690fe3efe16a78d61c68d3bfd10df03eac816b9e7b776192a3f5075887c0e225617505833ca997cda32fd0f673c5e\nresult = valid\nshared = 507442007322aa895340cba4abc2d730bfd0b16c2c79a46815f8780d2c55a2dd\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f475f503a770df72c45aedfe42c008f59aa57e72b232f26600bdd0353957cb20bdb8f6405b4918050a3549f44c07a8eba820cdce4ece699888c638df66f54f7c\nresult = valid\nshared = 5f177bfe19baaaee597e68b6a87a519e805e9d28a70cb72fd40f0fe5a754ba45\n\n# tcId = 13\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3cb6754b7e2a86d064dfb9f903185aaa4c92b481c2c1a1ff276303bbc4183e49c318599b0984c3563df339311fe143a7d921ee75b755a52c6f804f897b809f7\nresult = valid\nshared = 7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cce13fbdc96a946dfb8c6d9ed762dbd1731630455689f57a437fee124dd54cecaef78026c653030cf2f314a67064236b0a354defebc5e90c94124e9bf5c4fc24\nresult = valid\nshared = 8000000000000000000000000000000000000000000000000000000000000004\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047633dfd0ad06765097bc11bd5022b200df31f28c4ff0625421221ac7eeb6e6f4cb9c67693609ddd6f92343a5a1c635408240f4f8e27120c12554c7ff8c76e2fe\nresult = valid\nshared = 8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a386ace573f87558a68ead2a20088e3fe928bdae9e109446f93a078c15741f0421261e6db2bf12106e4c6bf85b9581b4c0302a526222f90abc5a549206b11011\nresult = valid\nshared = ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e7b50f7d8c44d5d3496c43141a502f4a43f153d03ad43eda8e39597f1d477b8647f3da67969b7f989ff4addc393515af40c82085ce1f2ee195412c6f583774f\nresult = valid\nshared = ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c827fb930fd51d926086191b502af83abb5f717debc8de29897a3934b2571ca05990c0597b0b7a2e42febd56b13235d1d408d76ed2c93b3facf514d902f6910a\nresult = valid\nshared = ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff\n\n# tcId = 19\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c74fde0a4ef93887469793270eb2ff148287da9265b0334f9e2609aac16e8ad503\nresult = valid\nshared = 7fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff\n\n# tcId = 20\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042830d96489ae24b79cad425056e82746f9e3f419ab9aa21ca1fbb11c7325e7d318abe66f575ee8a2f1c4a80e35260ae82ad7d6f661d15f06967930a585097ef7\nresult = valid\nshared = 000000000000000000000000111124f400000000000000000000000000000000\n\n# tcId = 21\n# y-coordinate of the public", + " key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004450b6b6e2097178e9d2850109518d28eb3b6ded2922a5452003bc2e4a4ec775c894e90f0df1b0e6cadb03b9de24f6a22d1bd0a4a58cd645c273cae1c619bfd61\nresult = valid\nshared = 000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff\n\n# tcId = 22\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c7b021f5b006c778ba686cd8f14d00eb7d78256d9b4fccb061d9f6553e91752afc\nresult = valid\nshared = 7fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff\n\n# tcId = 23\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042830d96489ae24b79cad425056e82746f9e3f419ab9aa21ca1fbb11c7325e7d3e754198fa8a1175e0e3b57f1cad9f517d528290a9e2ea0f96986cf5a7af68108\nresult = valid\nshared = 000000000000000000000000111124f400000000000000000000000000000000\n\n# tcId = 24\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004450b6b6e2097178e9d2850109518d28eb3b6ded2922a5452003bc2e4a4ec775c76b16f0e20e4f194524fc4621db095dd2e42f5b6a7329ba3d8c351e39e64029e\nresult = valid\nshared = 000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff\n\n# tcId = 25\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a0f0e3dd31417bbd9e298bc068ab6d5c36733af26ed67676f410c804b8b2ca1b02c82f3a61a376db795626e9400557112273a36cddb08caaa43953965454730\nresult = valid\nshared = 7fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff\n\n# tcId = 26\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e5d22d5e53ec797c55ecd68a08a7c3361cd99ca7fad1a68ea802a6a4cb58a918ea7a07023ef67677024bd3841e187c64b30a30a3750eb2ee873fbe58fa1357b\nresult = valid\nshared = 0000000000000000000000001f6bd1e500000000000000000000000000000000\n\n# tcId = 27\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004293aa349b934ab2c839cf54b8a737df2304ef9b20fa494e31ad62b315dd6a53c118182b85ef466eb9a8e87f9661f7d017984c15ea82043f536d1ee6a6d95b509\nresult = valid\nshared = 000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff\n\n# tcId = 28\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a0f0e3dd31417bbd9e298bc068ab6d5c36733af26ed67676f410c804b8b2ca14fd37d0b59e5c893486a9d916bffaa8eedd8c5ca3224f73555bc6ac69abab8cf\nresult = valid\nshared = 7fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff\n\n# tcId = 29\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e5d22d5e53ec797c55ecd68a08a7c3361cd99ca7fad1a68ea802a6a4cb58a9171585f8edc1098998fdb42c7be1e7839b4cf5cf6c8af14d1178c041a705eca84\nresult = valid\nshared = 0000000000000000000000001f6bd1e500000000000000000000000000000000\n\n# tcId = 30\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004293aa349b934ab2c839cf54b8a737df2304ef9b20fa494e31ad62b315dd6a53cee7e7d46a10b99156571780699e082fe867b3ea257dfbc0ac92e1195926a4af6\nresult = valid\nshared = 000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4\nresult = valid\nshared = cfe4077c8730b1c9384581d36bff5542bc417c9eff5c2afcb98cc8829b2ce848\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff4f2b92b4c596a5a47f8b041d2dea6043021ac77b9a80b1343ac9d778f4f8f733\nresult = valid\nshared = 49ae50fe096a6cd26698b78356b2c8adf1f6a3490f14e364629f7a0639442509\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000ffffffffffffffff0000000000000001000000000000000138120be6ab31edfa34768c4387d2f84fb4b0be8a9a985864a1575f4436bb37b0\nresult = valid\nshared = 5a1334572b2a711ead8b4653eb310cd8d9fd114399379a8f6b872e3b8fdda2d9\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000ffffffff00000000ffffffff00000000ffffffff0000000100000000462c0466e41802238d6c925ecbefc747cfe505ea196af9a2d11b62850fce946e\nresult = valid\nshared = c73755133b6b9b4b2a00631cbc7940ecbe6ec08f20448071422e3362f2556888\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff1582fa32e2d4a89dfcfb3d0b149f667dba3329490f4d64ee2ad586c0c9e8c508\nresult = valid\nshared = 06fa1059935e47a9fd667e13f469614eb257cc9a7e3fc599bfb92780d59b146d\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001684c8a9586ed6f9cbe447058a7da2108bab1e5e0a60d1f73e4e2e713f0a3dfe0\nresult = valid\nshared = f237df4c10bd3e357971bb2b16b293566b7e355bdc8141d6c92cabc682983c45\n\n# tcId = 37\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004085ec5a4af40176b63189069aeffcb229c96d3e046e0283ed2f9dac21b15ad3c7859f97cb6e203f46bf3438f61282325e94e681b60b5669788aeb0655bf19d38\nresult = valid\nshared = d874b55678d0a04d216c31b02f3ad1f30c92caaf168f34e3a743356d9276e993\n\n# tcId = 38\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004190c25f88ad9ae3a098e6cffe6fd0b1bea42114eb0cedd5868a45c5fe277dff321b8342ef077bc6724112403eaee5a15b4c31a71589f02ded09cd99cc5db9c83\nresult = valid\nshared = 11a8582057463fc76fda3ab8087eb0a420b0d601bb3134165a369646931e52a6\n\n# tcId = 39\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004507442007322aa895340cba4abc2d730bfd0b16c2c79a46815f8780d2c55a2dd4619d69f9940f51663aa12381bc7cf678bd1a72a49fbc11b0b69cb22d1af9f2d\nresult = valid\nshared = 4e173a80907f361fe5a5d335ba7685d5eba93e9dfc8d8fcdb1dcd2d2bde27507\n\n# tcId = 40\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045f177bfe19baaaee597e68b6a87a519e805e9d28a70cb72fd40f0fe5a754ba4562ca1103f70a2006cd1f67f5f6a3580b29dc446abc90e0e910c1e05a9aa788cd\nresult = valid\nshared = 73220471ec8bad99a297db488a34a259f9bc891ffaf09922e6b5001f5df67018\n\n# tcId = 41\n# edge cases for ephemeral key\np", + "rivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff2e2213caf03033e0fd0f7951154f6e6c3a9244a72faca65e9ce9eeb5c8e1cea9\nresult = valid\nshared = 55d0a203e22ffb523c8d2705060cee9d28308b51f184beefc518cff690bad346\n\n# tcId = 42\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000480000000000000000000000000000000000000000000000000000000000000042be8789db81bb4870a9e60c5c18c80c83de464277281f1af1e640843a1a3148e\nresult = valid\nshared = 2518d846e577d95e9e7bc766cde7997cb887fb266d3a6cb598a839fd54aa2f4f\n\n# tcId = 43\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000722540f8a471c379083c600b58fde4d95c7dcad5095f4219fc5e9bdde3c5cd39\nresult = valid\nshared = bdb49f4bdf42ac64504e9ce677b3ec5c0a03828c5b3efad726005692d35c0f26\n\n# tcId = 44\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff5df80fc6cae26b6c1952fbd00ed174ee1209d069335f5b48588e29e80b9191ad\nresult = valid\nshared = f503ac65637e0f17cb4408961cb882c875e4c6ef7a548d2d52d8c2f681838c55\n\n# tcId = 45\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2c63650e6a5d332e2987dd09a79008e8faabbd37e49cb016bfb92c8cd0f5da77\nresult = valid\nshared = e3c18e7d7377dc540bc45c08d389bdbe255fa80ca8faf1ef6b94d52049987d21\n\n# tcId = 46\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff7a116c964a4cd60668bf89cffe157714a3ce21b93b3ca607c8a5b93ac54ffc0a\nresult = valid\nshared = 516d6d329b095a7c7e93b4023d4d05020c1445ef1ddcb3347b3a27d7d7f57265\n\n# tcId = 47\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff00000001c7c30643abed0af0a49fe352cb483ff9b97dccdf427c658e8793240d\nresult = valid\nshared = 6fd26661851a8de3c6d06f834ef3acb8f2a5f9c136a985ffe10d5eeb51edcfa3\n\n# tcId = 48\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffeecf2230fffffffffffffffffffffffffffffffffffffffd383cf9bd5412f50f5b601cad34b7c00746823320bd839a71786cdbf2\nresult = valid\nshared = 6fd26661851a8de3c6d06f834ef3acb8f2a5f9c136a985ffe10d5eeb51edcfa3\n\n# tcId = 49\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff267bfdf8a61148decd80283732dd4c1095e4bb40b9658408208dc1147fffffff\nresult = valid\nshared = 44236c8b9505a19d48774a3903c0292759b0f826e6ac092ff898d87e53d353fc\n\n# tcId = 50\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffffd984020659eeb722327fd7c8cd22b3ef6a1b44c0469a7bf7df723eeb80000000\nresult = valid\nshared = 44236c8b9505a19d48774a3903c0292759b0f826e6ac092ff898d87e53d353fc\n\n# tcId = 51\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000111124f4000000000000000000000000000000000000000d12d381b0760b1c50be8acf859385052c7f53cde67ce13759de3123a0\nresult = valid\nshared = f1f0e43b374feb7e7f96d4ffe7519fa8bb6c3cfd25f6f87dab2623d2a2d33851\n\n# tcId = 52\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000111124f400000000000000000000000000000000fffffff1ed2c7e5089f4e3af4175307a6c7afad480ac3219831ec8a621cedc5f\nresult = valid\nshared = f1f0e43b374feb7e7f96d4ffe7519fa8bb6c3cfd25f6f87dab2623d2a2d33851\n\n# tcId = 53\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000001f6bd1e5000000000000000000000000000000004096edd6871c320cb8a9f4531751105c97b4c257811bbc32963eaf39ffffffff\nresult = valid\nshared = 3ebbace1098a81949d5605dd94a7aa88dc396c2c23e01a9c8cca5bb07bfbb6a1\n\n# tcId = 54\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000001f6bd1e500000000000000000000000000000000bf69122878e3cdf447560bace8aeefa3684b3da97ee443cd69c150c600000000\nresult = valid\nshared = 3ebbace1098a81949d5605dd94a7aa88dc396c2c23e01a9c8cca5bb07bfbb6a1\n\n# tcId = 55\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff000000007afbc0b325e820646dec622fb558a51c342aa257f4b6a8ec5ddf144f\nresult = valid\nshared = 1b085213a9c89d353e1111af078c38c502b7b4771efba51f589b5be243417bdc\n\n# tcId = 56\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000001ea77d449fffffffffffffffffffffffffffffffffffffffe85043f4dda17df9b92139dd04aa75ae4cbd55da80b495713a220ebb0\nresult = valid\nshared = 1b085213a9c89d353e1111af078c38c502b7b4771efba51f589b5be243417bdc\n\n# tcId = 57\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff152c1a22d823a27855ed03f8e2ab5038bb1df4d87e43865f2daf6948ffffffff\nresult = valid\nshared = 67cb63566c7ceb12fdd85ce9d2f77c359242bbaa0ea1bf3cf510a4a26591d1f1\n\n# tcId = 58\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000002099f55d5ffffffffffffffffffffffffffffffffead3e5dc27dc5d88aa12fc071d54afc744e20b2881bc79a0d25096b700000000\nresult = valid\nshared = 67cb63566c7ceb12fdd85ce9d2f77c359242bbaa0ea1bf3cf510a4a26591d1f1\n\n# tcId = 59\n# point with coordinate x = 0\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4\nresult = valid\nshared = d11c640b4382e60ec8d254ee76f09b8fac57651ab73b6dd3fdc935a61564a3e9\n\n# tcId = 60\n# point with coordinate x = 0\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004100121f1a09443851c9aa2ab6ee6440e2ac5e1be648274bd5d26c12fb3ba3f7f032a1c219fa1457cb20588297e0513cfd4901f9a95414f7e914f9179f38567a6\nresult = valid\nshared = 90e712e2afd14171c19467a2bfe7abf1c477d1f40f6675f00e622fd5604fa16a\n\n# tcId = 61\n# point with coordinate x = 0\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cad02ab537c80831ccdd395129fc4bfe4a89ae0c866f6619a3e1", + "4146d3691694689d477065b40f140ed87b37ad041e28229b0f79a6b3c992689954c97f7336d0\nresult = valid\nshared = 159583103d83f63538bd4e203607d7348990bb7f847ffbc9e5e509c7e34d392c\n\n# tcId = 62\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004abd12eed4d654baa7d968633770f4a582f173d6633906000ed8acf6233c6365f0912f30bb98e7cb525890d5ea1e217149d52a6c59f7802a9f307e80d2a9fee3a\nresult = valid\nshared = 546a2dfadb1d60140becac2dc2e62d20c789037755ad5a49e37e48f2ca1b7680\n\n# tcId = 63\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a562c1ad9a72217df00147c7d2ceafc65a1620a1469c947e14fe43003ac5371b7ad1d33c01f0eb92b779ed6e460d0334447075a3cf66b2ffbdae31b438df6d7b\nresult = valid\nshared = e5859c7811c5c3aca6c236ab499ccad10301c7c5ee913ce91bb66428cde11e4d\n\n# tcId = 64\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048cdbebe9d07d2ebc4e41b1d72a9bac2974cfc4cf738d8b6de71a40ede9920d88dc2439ee0003fbde7b0a3ae41710c64b17b08a8841e97a390e482c9768fe01ea\nresult = valid\nshared = 65754ab459a10471af00943f414f28de1bc37968b097ad2845fe111420855008\n\n# tcId = 65\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f0cd7cd8334678308cfeb785a68a1504a91418d4441c4d4c740c57488b9aafb079d8a8d29973eb502267eccf6eda326626fc6e025d532b85e9f711f8ce6971bb\nresult = valid\nshared = 8631fedee6ceb3386ac42edf322c188824893d267d6108f0cf5de6964b88331b\n\n# tcId = 66\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048ad0af23b90e0341b4e2a5a963c8522fe011ace19b1b8610cbe7927a17a7249736b87ab9907289a23a0fb20ca4be42d421fe38d35af09d79cbe6e6a4e95a1a8b\nresult = valid\nshared = 68c58599c123be6d37d343bd41b11cecc5f84b2635661163656f76d7fb04b426\n\n# tcId = 67\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000459c9cc2d7297ddb0be6304c94cebf42d813e970c50f45287753b8e9cb0c6db45f571d986990897851fc8e1db67c99759e8979c3d9ddfd02f633cf1ea5b6c48ab\nresult = valid\nshared = b58d00525c4c4b4f46562852c15ce2e48dbe23a3be37541e048446eff5152ec6\n\n# tcId = 68\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e97080da7263a29c3072a65178b7b31587a5dffc19754c561e32fc53199234f04e0b9b70c97b60e940d5629f2266d1a8e242deb71eb7f0b2b2da2e3044738ab0\nresult = valid\nshared = 4baa01c211af8f94aca89548902a71f7b53f7814bbceb3d4bef31b376e34b476\n\n# tcId = 69\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000444f600da7160b975a0232cb6a4a9e72803fd77caac84352039ce9f4a67a1da77626045599381e599eb9cd03f282e267b8cfd3ba98dabbb0f29ab1c0944270f3f\nresult = valid\nshared = e19fe9d1294cca94a6388825249e6b37931a231eb917cfecb292792d0c18f1b8\n\n# tcId = 70\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000471e3e9be0e0ee4449a19d2ef7919266814a0fafd04fb677edc32656e6a46e4d2bc5f404c5b54f03e294be22e8820a71b4d4ac04a708e13cd71fdb0041e7e9698\nresult = valid\nshared = ddc1f4663b928add06b1e57c48db98ea08c4d33c3c2106371407f3848a9d53f7\n\n# tcId = 71\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000427b693610154d5b7f08094e46ff2a2ac1c01d3cd826e3208e5254436ed279960f2364e3a604f3b592e19262a1b22b1a148e38cd82c9e54f108ef8f833683f8b4\nresult = valid\nshared = 91dfa95ed1eacbea419156471a8ddbb6cb93dd456433e18633d26817611b9c64\n\n# tcId = 72\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c32a52af6dac369b6a499a49d3e38e7c9534bb9139f57d4984b1d3c04ab8220653cdc2daefac83cf43c0d64604e5f9d85b55dde62b692cd36af99ebff4140c39\nresult = valid\nshared = 9f91a9633daa4c56465e9fbef4431e13041f68910fb5ba89f8da9381d68a0dfe\n\n# tcId = 73\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046f4e2f72f32ae66f1f4610966004c436aa0d90b7df07ce9c4aca52b02d46b4d0c6a3ec76bf321b7fe5203cf3d66e2d52e3ee0495ec766d579a4511175e01bc4d\nresult = valid\nshared = 014ae81442f8cb6df58ff41e6db203db40ea951b91bebf86d42cda7be33fea64\n\n# tcId = 74\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042e065975df642fcfdafe2fa5affc18b2c68371796f9d963d89c4f5ac5ccea28b990f31522fbb265c3f4d5c4bb82ebf5ddff5a8ea588db4d282acdca7a6ccf428\nresult = valid\nshared = 78e81e8573c3ae6089df7db1fb29d7be12dc11f15bb25bff2af802e15ddc136e\n\n# tcId = 75\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e1331eee03c50cc2b90944ddfc0d3a7dd8185e6c21c75fa92a0c14b0f1949ac9154d783f4547dcf5508bbd86c3dd8c3b17b61989f93db5490ec02a46a1005c2c\nresult = valid\nshared = ed67195a272c63c50205abf27439291134ffa1e8ec597f3b302716d93632e98d\n\n# tcId = 76\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e0c56d486e9c01163ed6c3ff25de3cdf5744dbf9e0e00bdcf19965df4ba1f311bd5e44430665823d8c0b34ebec0a6aab5ea96cf239de214fd011e6f9ec501dd4\nresult = valid\nshared = 50774347848828eeb6230f497cd181f8c57fbd18ffbf8328cd008321a1c37c43\n\n# tcId = 77\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004885ead6c074f8d751a767e918c4e89210a587c4b19d42244ae07027e361831053e80772be57fbd744955a2e8523063cc6136f2bb37befbef7a681d3bbbc57788\nresult = valid\nshared = 913da71044b8021a86c8fcaf4f634d0d625ff91ee1c8474d548bd10888964fb1\n\n# tcId = 78\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000441e9d4cfa8efe80b895a8cbcce2568e251db7ecdfd20a7ad710d4a4bf2addc6b5ec36a8339168a03f15b8c80f2a2a828f151d38791584853ba2ff44a2a0460a1\nresult = valid\nshared = b48e119d29eef7dbb76b64218e728ddbf6ec600505ec7ced6ab6fb8763308da5\n\n# tcId = 79\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004776aef1acb82b628e132cc29440988f0a15d4cc2b4f328aecb063c9b86e5018e6e44dfc60444faa9c4e36bc217451f7ac2956cb3b2e9bbd655eba297163d1f34\nresult = valid\nshared = 28a88b6b258f233020ba6fa9c00d1d72831f4515b86966a9782f521315e18aa7\n\n# tcId = 80\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a864", + "8ce3d020106082a8648ce3d030107034200049ec06b0b08662c0e1dd9111696a63a1601cc83cee20695778adf84d43064fc90156001f084cd3c1df1a087f626533b6572584889bd3d5c2c99f0e311e22b41e6\nresult = valid\nshared = c4ff865ff3dc4953ea78d92a02f3345a53bdb6050cfd8f41baa4395ecb6acab8\n\n# tcId = 81\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fa51d128adc2000f09ff12c6fd8e25aa08556d708bf6b0ffff9e8eaad4783f0de22bf529e516e1f64b8e0d09f98fad4e501695a930a1b22076659da707e3ccd0\nresult = valid\nshared = de1069f051637e10166559cef44688afc809341855261215c4f381d9d7da76ca\n\n# tcId = 82\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004614dcfbea4789a3f3eb4a8e2f111c887f0248d9316b99d0864c927a045d6941753a073befe08491a8050a4d96d08ba4790ae18db3ef7f0eaccf59ce1095afc54\nresult = valid\nshared = 4207bf4159faa0e50ed238b9c0ff46194a539a1ba03a5a4c8d68f369aecd31a5\n\n# tcId = 83\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004efe7754ed4c0b3c1dd301bc1ed69800aa2ff5d51fb85937715e60d2e7bcada8eb1581ab75fb3c797ef94a9dba3d82568c84617eaf3fa04f279fbfd898f704604\nresult = valid\nshared = b5a0ec92aecc3010d27d2263d3da66e3d2f3395d23947024a3f4744454622027\n\n# tcId = 84\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d8e13fbd017f1f9a26be35c611d7b2299f5d10de3c8a26362273fffb85238f3ed1426b748c1f87e3afa2c1e7a0224310c980655e07399590d1494d6d6bea0396\nresult = valid\nshared = d2a5bc66498c6036aecdfaad041cef732a893de190a0a5b42ff71e13f09280e7\n\n# tcId = 85\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045a1027666a0e372481fec0b3901e058d60107c07b1115550ceb05789b55a6d35063d4c8ee66ed45ff3e1dfdcfd73ed96a9e83193884adbcaa574b2dd118a692b\nresult = valid\nshared = 1f812313ddcf36bc38071d0e51a74100d630c8e20cc414326eefa42ecb1b5f8e\n\n# tcId = 86\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047937b9c40986dd755a0656203089782583da7d8113a44190762ab474a20bcf60efcbc1525aed5b4ad8e687cb02c2ef8887095cadca56c765b41b4a9544ff2fe8\nresult = valid\nshared = f284089bddd5e2e1be3f82640efa0658468fa1f10b281963a3ca190c3982fda6\n\n# tcId = 87\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049368066a0748867a7b870244f5c9f82ea8bd51552959dd550bb7394497159a5d40764add1ae24c8e3f432ee011be97d3130718fe0a6a90ed8b1011b2034d09a0\nresult = valid\nshared = 4529f4b631c9984ab216a6801281fc4fd8731a58b65ca8d07bff07811116371f\n\n# tcId = 88\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004981d7449bdf0013f5eeddbb7e42c442f7ccdd9427bd26d7b388755aa5e26f46a1292b88fa6bf5dffca054dd42ed3594277b593dcc402d80340fb7816e4dcab37\nresult = valid\nshared = 64bbc9fdd73643eb2954f4ab640381b938c5e601846a0c6b6954966e0dc73e6f\n\n# tcId = 89\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000409e78d4ef60d05f750f6636209092bc43cbdd6b47e11a9de20a9feb2a50bb96c0000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = 28f67757acc28b1684ba76ffd534aed42d45b8b3f10b82a5699416eff7199a74\n\n# tcId = 90\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045384d6c0def78960db967b8096d35477c5a5ce30ef0c6d8879a5568ca87e979401ee56c4581722610b43f3cbfcf3862c082a6e36baa36fd6f78403c0e399faa5\nresult = valid\nshared = 9ee653cda46db67612760ce35bac8450bbf48dbf74451ed93abb6db408a9fe10\n\n# tcId = 91\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200044eca7641a4afd5eab0b214657ff3bdcbfc66f1551a53bb59493bc38ed78ff39614a0cadff14c14736edbdcdab510cba07a8924ffd0490ee514aedfaadb648b01\nresult = valid\nshared = 9736ad6b2a2ef17ec3f8c8dc2e35715fb1c06f28d82e4e26876f0214588165f1\n\n# tcId = 92\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048d0177ebab9c6e9e10db6dd095dbac0d6375e8a97b70f611875d877f0069d2c70000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = 748fa4f5a399320382dc920026938694c41a26fe2aaa318c5e710198dd71c793\n\n# tcId = 93\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045fdb7f0cffb8b5b1142d24698a4bda76bf9827d63b1a6bd85a4e2f9b59c510cfbcb35ba9c987108b6d4337ad5393f9f910ec92410c230869d66528ed88c1b98a\nresult = valid\nshared = 7f97db83b4d86f04fe286041ee21e80ec3d59f3ce82cdeeaf362016fc87a3e02\n\n# tcId = 94\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004530b2293e60c6b6f14c75c90b1ef8b9f9fa6b2151b8d9855792eb2b3dc69f07a0db42440e73fd7d6df04aed5022fbe21ceaec33c5fbade1bd6ad321ef2e10d0b\nresult = valid\nshared = 21794cf24f56273fa4463cc7ae4232fa34dbe0f18b73613b8ae9cbfb9c36abf0\n\n# tcId = 95\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046916fac45e568b6b9e2e2ecd611b282e5fcc40a3067d601057f879ce5a8a73cc0000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = 915106d07816e879e7643f00abf6d79fb8f1cb78bf64a6a3827f91a7b0ef0f41\n\n# tcId = 96\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ed9568c85bc52a6b45733618c3602107c1fdacf23b1a38e486af95978a214e2efa0d71d5e737891c4276e247581ee6139011ca1460db9b1e20b364d9275683e2\nresult = valid\nshared = 2fcce552310819dd775ab7ba9ff0f96a1fcadd25a0c709703cef04bb6e1a7bd7\n\n# tcId = 97\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049ff7731c00f2aa88b3fc174aba907ad17595e602e768a5f1e9462a6d4b89b2d23f178a70b9bb3edce289118338a33df30c432c347f12a3de0a2b03b353878d96\nresult = valid\nshared = 757d926a2693bc8a3d2d8c0554a13579ef9e559186578911f37edc88b2f5e61a\n\n# tcId = 98\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048270f8179d57436b34dfc0bdf7d417a5c895116b90cb51aec718614f864a635d174804e0c0e06e3d68d3149e0b956621c6aa2bde83f4d17d03d28ef8aa389fff\nresult = valid\nshared = 3db29ec6f978d2269e92e9c7eb5c8b5a8e56c2228a4fb9e483feca50aa3e451f\n\n# tcId = 99\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c61750e98abaf20225a881dbfd3510532cfc3df971bbbca4a2bd52f91acc9c59d0fe79342097f88ae78fc79a8032245fdd2c30cc64aceaaa9fd57b0825692531\nresult = valid\nshared = 72c57c2e1", + "0d77318b3a796097bbf768c6366142d80f98c90a93780a841075f32\n\n# tcId = 100\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049c5d3bb54650d9550e1ee2efa3ea43c14ab99d18bb049f37b42a6dac48232f0bd3a2760d83d33afe4ce6f1d1245489c509bd26b0251f308f8c996e80f7a3f8eb\nresult = valid\nshared = a96b07944e9eb2b22a9a36575eff1f4f6363b4aa3a53b100b8518a67ba5405dd\n\n# tcId = 101\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f1724efd481ad45a55795f06126b1f5ed28e7d9bb4fee910af2ad8c1373b18ff77edbc34da6c787ec73430347f4da86810032d88f7475f6c42f15914079d179e\nresult = valid\nshared = 855883316b6d097ae5eab6c67e8411a1397349a09b9d7d8f096b2ba1bd03ea31\n\n# tcId = 102\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fc3680af52fa89ffcd193ecc0b0714466fe5db277ee5872846c520bf4e3721d927260a0e225a3d377e6723ecb6bef8d4493c2da78a22a307fcca8f88f4527208\nresult = valid\nshared = 5a75bb7a0c96b8340d0842bcccf11974e1a5a2c8f4bc22b333433cce646b6a8a\n\n# tcId = 103\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004106b6f81e3482db18d74029291821ae448c38844ef783bf1d6999a404401f63f6a5753f0edc68a62cfd6a0b181bb2599e1f3bac5fa8824af160de79ed867c350\nresult = valid\nshared = d96412e31cf4d26195920cac952fb79ea25f6c50abc79b5ed0ef8026a6e83319\n\n# tcId = 104\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004093cb5193a4f94cd18edaa20a973b87ff79b0c03684c79487ecfee347e5354eb04fcb5752539170777932be15cd84c97f03815ffee8b60b647c178eebb8e14d4\nresult = valid\nshared = 2b0eed9badc92a1068196dfec124fe8f9d3f451e294d322eb881cce02f286026\n\n# tcId = 105\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d6c38f448b964e27b5b450cc38d3cf41ef9df83d8a959771eb9c21855cb36445df638aef46a2aeb13199281e1a26d12fe61b029ec7f68b90faa89f88c7a95942\nresult = valid\nshared = ed0b1d8dfd27a61fce91dc6405bfc53b6d48a8c13ba541c96ef3dcf31d7cdb88\n\n# tcId = 106\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048a748d61f59c3b6a29b733b0d554b2492e7f76fad7cae1c17f2ac3de9e4a65d2eedbe6c26b6fd22bfc03c1687555d2f0a38e02adee5570686171abfec6681917\nresult = valid\nshared = a796dd144f21ba3318f9e10828ecefc9c0f6ef2c427ae31351c16c2fbfa3cfa6\n\n# tcId = 107\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f1052699d87e5677c75e26b2abe719310648d820a96e5b381fff58b392401581b1bb16ae8b68cbb76a3256870bad1ee5a30ff9fd662fd4f8d1fe5b5f1f98ff46\nresult = valid\nshared = 1f3a9615b0745046a972bad5d59794a0b60b032b4ac94fe85f77dfb380d1f32b\n\n# tcId = 108\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041219af5230064ee9778667225f0e009cdb961330e386edb34e4fa9fddd0e5be7e2a12554227f613aaaa78938ddbbc99b923f9d181b8192dc4b816577e8f3b7e9\nresult = valid\nshared = caf9141d1fca4d0f10683b5e86d2b41af5602f017991fe7348d44e8d7014115c\n\n# tcId = 109\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000460def130f190e6dc44f5eb8a59e12e7efb27db968c7fa6cc6d31785f066b41b1f1bb556ac4cd77033e7aa6c5ba16f47ebafb14975a7fd72dd9b7fe23116bca55\nresult = valid\nshared = 6539ec1c98fa75197ba07c678b26300b3da1fe407dd4c68b89457ed669082e06\n\n# tcId = 110\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f23f09bdb7d17289eb005975a757a39325b4df9b29e55ba2ca679b5ec0973ae918c881f3c7b6c12bed1ec54b837d08c5908e89bdcedd84b9177720378f789600\nresult = valid\nshared = 0b6619827cfa948d63f021e9eddb92f884fb5ce8a404bfe059e993fc23447a69\n\n# tcId = 111\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045dbec098c1b7de3e3e2e73d0b62cd49c877e1a0130a1b39eb2fd4dbd4426aa4ccbeee217591a8d76cc8deaf14dde52e3f401e53b30cbb9c1807910d827d0041d\nresult = valid\nshared = 2a53a561acf5caec6eb0d8aa40727942881a75d136899dfbff91528236926c39\n\n# tcId = 112\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041e70730dc4f39c8970182e1a29cc836b9e9d6cbd6fcaa8c0dc1062fed9a849693e7b9151f9c8a3345366f8221c8fb700e8c3a9aa7f0cc46a48864e1605592094\nresult = valid\nshared = 9b377716ff1d056dac8e392249eaec740d2f5aa62303f4baf6bb1b03b2a276c5\n\n# tcId = 113\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f428c9ae3e23eaf9c2a5b9a7e41efd1cffbf35f881bfc35694d9c05d1e312b10ef6da9023cfd2dd0cb7b9e2a77d644affe62a63fb0f29d45291c6861aa063c5c\nresult = valid\nshared = 0c0c6867669743082547aa94451feb362fa29fbaf228dfb3eaf375f1a5ec2fb3\n\n# tcId = 114\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b9a16d9a5b85a714e2bb2aa22b086a17404c7a3ff62452732347419c99e90bdad578b462f523994304b6afcf6944a9cc5d0ad1afad956475c8f2953c06b06b97\nresult = valid\nshared = d11f9e32587fd3b6f4a2354812618b4b3b4a7539b8a223b388bb7437f8d138a5\n\n# tcId = 115\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048f659a163a58e9f900c1e9b34fb1cd61ffc9890267be3417c8afe79d57214da05cd5cb68a2b93da0dbe56c1cfc0dce8b6c3260e0c48379c6d2091f16b39221c0\nresult = valid\nshared = 4babf6368e0359b78614060241ece46facca3f52f5bbc47ac0b46a075b5dd3a0\n\n# tcId = 116\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d257f133f00a079f4e6778ea4a9bf42b9f231290431b5b93d7e8b0e35b48010650d6c6b46574d1efce03510b8db4a0981ce138c5bd8fe0e54c988c40c5fc9200\nresult = valid\nshared = 9627cc5c8d8b72278be89c32b52210173e6f4b8e2f48e460c6429f46f9f469ae\n\n# tcId = 117\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045ef2ac57c4e93cf78d8f86c35d413b98dc1902dd245affde5c16034afc7ea45547b3e9f77fbc5075bad03c418094f1aec1d03edeafa167fa6af83526552f7034\nresult = valid\nshared = d2b178bc9bb16b5a91a100bb72e15a9639e050c034346061413ec20c4fcc9bbc\n\n# tcId = 118\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a7b513f96266414fa6ff439a35d8f09ab615db0bb6a3b1a120c217683f724b2342007a2c9feabcd6249a0d17acecd995e2a217fb5f07", + "bec96938016e297efa52\nresult = valid\nshared = 6cdca0a731aff1ccfb1904a769cef79eba965fbab1cc64d2049d0df45dccd276\n\n# tcId = 119\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047743ab7248dae5f1a59ac6b0a136e9f1e51aff8bd45795ace5f8187a13edf9adbd9642078378bab5c6d484f9e1ce39675b72170bf39abc9be7942fc01fc435d7\nresult = valid\nshared = bd15e97a7f49aa33e57b54140a75fffce71b788ce0faa334cf8b45623dcc818a\n\n# tcId = 120\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040e3aa971bacdace350dc0957fa5bde0946324eb139939d7fc1997c701effd04a4e6c3625d9564168d3a752961221a1de8cf5f3d603752a8c2e6277ac3a918c25\nresult = valid\nshared = c8b5e8e7488857a2dde62c5fc21e4525ebaba0e06b5be83ec6e7dd771e15a01a\n\n# tcId = 121\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040f563e21bf9b24015a7cdbb6f000a692784ac2e4bc2715c76f684264a899c8240cab0d76e6b01cabe4f327429d11be115ed6dc0ca74f02c1b987a082f5af43a8\nresult = valid\nshared = 1c63a457509b148272687e6e442bde51982d41b0080d8c0c5eb714257af971e7\n\n# tcId = 122\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045da49f10249e4df3dbb4e31ece0b0ee9aa073f2588195aaae63e74f6567a774810b5dd61b6bf219e9eab30ef09c13fc184b3d09ff7a4e192bca8f5111c4163c7\nresult = valid\nshared = 73a1ac9ece354a930dfd9c77577b4f50acc0a78964ea0d7775631d64c709c4a2\n\n# tcId = 123\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046f72e6e5c6300679d3f14f0f6e590665643576ae8bbcb7c05b2f4a83e75e6ac3e712cb056ff034da340543c5da6997e65a3ab4cd39e997892bb92ee2c22b8167\nresult = valid\nshared = fcaa406329bb74f995862cea7cecc7425c6bd4148ef1a9f46b5d42da5994556a\n\n# tcId = 124\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b544df9168e7787db282e2ae01dd72306d9c9bc80f5ab38ce594766c3d929e967493ff601ca60862b47d3a0785c917e44584044e36023a54424015e58be5040\nresult = valid\nshared = e49ff11d46b6c4b5dde528b04132d15c040e79f9b7151fbc650030988028cb87\n\n# tcId = 125\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041c31385b9db9b374e92499939ab0fd7e7eda464561eba89fcd7b4769814a8638a4764cf8ce97b5d143bb8eeb9e1b27287f2b73942ecdbc6359aafb1ee7a152c2\nresult = valid\nshared = fc8f64eac1c7e688c52c467185de21914e8b253056d9e4be010ed0128f92a889\n\n# tcId = 126\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aabcf8b1443d6cbb1de129a0ffe09f60b23fd9d0a44b6bdf25bed7373fdbfd1db716bde7fe9f2f46de0b688e3025e029cff15244429ad4f83484f5dea4af8583\nresult = valid\nshared = 6b56d8a01a884319ab5fb9d890cacfc7aabd81ad938cb5eaae207c8c1aa06efb\n\n# tcId = 127\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e7cd580bd957915d527056832e37793ab3b082ddfad9372412e1908e5c16bbb6208601a970d5844b780d9246e9583eb35918c42ed695c07d52244037f0e31db5\nresult = valid\nshared = 2f64b5c8046d41a4e1d631ff23846bff956a4925a47f8534490a20b4b1918b9c\n\n# tcId = 128\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042a52db1fe246b71c79c0d0ac49a7d38de67b202995efbbd2a9cc525f6f36010368f494be27e0593e2d612f1fa10a9211437e6aa16e65d97735014072f0dcec94\nresult = valid\nshared = 63ac31e718b9a780a85f0670e1d3685bbe306e5f06fee282a8784700b503c124\n\n# tcId = 129\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041c50dc49fef708c4cdd62e766f9b60f784d51afee17a8fe9f3701b2fae55b7a5d10f0d9639d83dce8f26a869705a6d6d38e6d328f5685581142aec0dcd1f90e7\nresult = valid\nshared = 555c1917b770cebe6a98337a008ae3d8d04f571565327c93debf61ef90ddddd8\n\n# tcId = 130\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046d0aa1bc1cee6d07d045002c13290d0ca25ca3c8783343a525fac70472b92c62d6fba71174448b472cf172b0ca9e377f1a2603ba7ae1276d153b20c63e7d24bf\nresult = valid\nshared = 3a65a9200f8f96635912faa5e7859fa303a76a1c2a41ea97ef61aa39287700a9\n\n# tcId = 131\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f07e3d8be2ba54c6084141e1fd2b29cfd00d4e6dd6ffb115ed839b10bd8a422f42992cb9a5243897d55408e9bb556043318d87349af35dcc0975ed805c8fa2c9\nresult = valid\nshared = bb7bb52da570ba58e05fd322f82d556c2d65b365db30815879f67f233b089b51\n\n# tcId = 132\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000443a9b90274dbd5f36dd29046fc8390008dde74513ce4c3e8892b236efff80c9dc71547152a5897dbe16957bd15d1a87d770496f814fe2921c8f33df04393c7f8\nresult = valid\nshared = e8cae9944233b867eedf5902fc49ecd07e4c81c46279531e89520b74ba5370b5\n\n# tcId = 133\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9af8e8c19da9d5c2f3b3c03b8e927c3cbe2d717f98f500972e56d82eb07c2b14e83fcaacadc26f8bb5e7b94741fe54f31275ebd6e1c969d7ec2fecead8a0dae\nresult = valid\nshared = e72ad0cdb25f4307d1d834a5f792e9af64fd1b69a47041ec8fa46d526f419e4d\n\n# tcId = 134\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000433d9582b567aadbe59606fa6ffc11848e4947b5179597317776317b2b4ff65d0b4d8568dc843319cc04f4bf110496dee7c9229fc68cb0958f3cbd37ecca6990f\nresult = valid\nshared = 000197fbc260a84dbcbf88136aeaa79b03bb8949aefd2416bef63929ef789bf3\n\n# tcId = 135\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e21c0282adb1b2055fda744644c68612cfb0c68a70b9812d007f21a78f1adc4849f3e7644bc6633e2773a2f3cc5214fa7208e30afb3de992f077ee321569dc48\nresult = valid\nshared = cdb18bf62670a853488ca510d8f55bab2918991424925bd9b74a821d2c6e7e3c\n\n# tcId = 136\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004af27de0da6556e4e64588c9694afee9a84e1cbd0c388972df3a997f760bbcd903c5a02e161551f333d770559ab1af49bf8b68274896590939ce956d9913b676f\nresult = valid\nshared = 167303505d22cf9ef78c5b9687a5418fa9fb284f2b0ff68316288ecd7f2e2e09\n\n# tcId = 137\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040da41b82550b358ff474915d83104d41a83a12ef70589b9d392f0f", + "30dc32429edc76163c8fe07a3f709cbd92da0bbfc5045f3db82aa5344cf1fd5b27fcd2f7a6\nresult = valid\nshared = 85600ff23c3cde26009fea9b6539664bf045056883728ab0d4498ea0a8f4a453\n\n# tcId = 138\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000419c844b8c7209026a0996a782983e1bd0f0de9255b86739be9bef08ea5475cc669a779ddf57747cf7d9a22f00ed8efc6e818af5827b750d665fee6d6d58a22e8\nresult = valid\nshared = a3250a2bfb145ce86e706ac3ab2bf503a66486ac0b2f7522601c124b0e0f9c5b\n\n# tcId = 139\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bd07bd4326cdcabf42905efa4559a30e68cb215d40c9afb60ce02d4fda617579b927b5cba02d24fb9aafe1d429351e48bae9dd92d7bc7be15e5b8a30a86be13d\nresult = valid\nshared = 2d70cc8c8af01366051cc8359c2fc8f258757e2601fd8f3e08422a7b23bfeff5\n\n# tcId = 140\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040089dee27a60d071dabbaf58f3e56614dad3b7f9a8030769fd0463b3e6e0f03a147b4d6e7e7fd939b9b54dab458fd556ad8fdaf4da6c3909588c4e050ca74a67\nresult = valid\nshared = cbe0c571d1080ea34ee20ad1bfd21ea5ecc442ead733fb4eee3c0d7b0cce9935\n\n# tcId = 141\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000442ede106cf85aef46df7e5dba8a8b00459317d9e766a7b77c299aa0e17dea142b6e9a86f4fc3e945d4323ba8e459f6b7b14c563a698c757a2d5f7b0bc301ede2\nresult = valid\nshared = 33320fc7917fe4e19280bfbfe16f223c037f7c2dc30c0fda98310740f57fe289\n\n# tcId = 142\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004974b4316c5e7d1348b28dbc4fd61d8d3470de744c30f5be237f85f29969dea77b5f00b58b83cfc7bc51655465b4a28abe1ed3dbec20c6b4643aec85b95a5bec6\nresult = valid\nshared = 35c726ead66c39414fe0c24604df7838e5725d2fc1bd0853261e1de3338ecb4f\n\n# tcId = 143\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000459873d7523936a121b629e9870f930419f253a5767b9d0dc49716f2c50e17bd0163b71f2bf4318fbde1ceaa585450080eec28474cd18bf7c21d2d1bfde4ff677\nresult = valid\nshared = 66ea42fe6fd8741b37599bbdada3ec0e6b08c0b52ea67c29a33172f72742583c\n\n# tcId = 144\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bd85a79f81c4f9613e64fa347886437856c7358d1b69cf1e923d7742d82f9b6767d26918eaa8acb113a1daadaedc709742457303ebc23cdda5572613dc827703\nresult = valid\nshared = 2f8a502e4f440133e84fb625292cbeabe2cb79da73987c76d4fed864d1b1b762\n\n# tcId = 145\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043e6a4effc47c2f5926bb6b4acf2eac48b9524c47d511f816976796778600d6c5bfce593242a5985a977590f8d7485df3f953352957f3c17c13e94583d9c0e7b9\nresult = valid\nshared = 06436817d8928b77b73d16c5c3b35e243ad3ef2ab59ad047142c67a6d0923c84\n\n# tcId = 146\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a4487fcfce8396688e7449e095fe803caa253d4bd7c66dbc6261cc9d9f883a50e5251bae29c5a5cdfa31bc61105671a88a018467398158d35b88829237c0bff\nresult = valid\nshared = 7e83fd2c3d713bc85d6d85d9078b3a0842824d410e8abde04da0fd71c7d94705\n\n# tcId = 147\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fed6ce127290c1291ca5ce64acb4e0f2f8905654d1d25ba57c1f74ab52f21f42963d31671c06b802169929525c4a1fdeff5b1eafab919dc2df6c52be84dfaef3\nresult = valid\nshared = 0e3dfdab606ebdc6428282acd443f189c99b3b483aa101fd8d6bed38aec59e02\n\n# tcId = 148\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f7cee5b55f1869f137dd707c8f8fb8965a2be5840c3149fb759695a4661b9c0d23c78c4e9647b0d6cb2f2602be73ff25cf3d09c96d892b5745fe5eca814aec91\nresult = valid\nshared = f489f2bd93f76b8e41fc6b9f211bc599d49db1f17a38e95bab1d31b2a2b55829\n\n# tcId = 149\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042baaaec3b3e8d54a4e18f0960b947da2535e3cfcca2cfa8b7113aad8e3b6626f72f71e7c9e96042c1d39cc8f1139d5147c6f4fe62e23cf6df364b5f4d899f842\nresult = valid\nshared = cc5738b49d30d5d02cf7e0c54a3de09b5b6f3c4dea91dd0679072a3562444c37\n\n# tcId = 150\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a51ab1238bc1bed25247e7d179c83a61ae2d4a9fe2288c363ae0eb7a77de432a3c6d35d82ba8017e6ca9041cc785a30703f7bc4427506e624ac5979d715421dd\nresult = valid\nshared = 89a11177d6907a81d47467093bf6a3cc8ba55dee05239b160a31a3000f5d807b\n\n# tcId = 151\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048b5ae8a0e55f30f509061315abae79ac480f88b44655f7269a385c81526884be262974a31a0e2322126c2d77b26b108abd81f8b952c458ccc95d46fb4924c7c0\nresult = valid\nshared = 2cb03c30b20037a5cf4d5b33574f3abac895bfab37867eb2ebed260e0929058d\n\n# tcId = 152\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045f60c77e474dd66c8135ee3dafc75ba644649824c72737542091ad469adbb685312c09c69b629d0436bf3bd6c6083ff2a87be484a73ef3a5d2c3e06b5d9b21b3\nresult = valid\nshared = e54d487d0c4b12fe522af3e663ce316e632ba9d63a1f02a36fc5a82bf82731a4\n\n# tcId = 153\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e06eaa73f6feae45417d859bbad4bc404b2885bcd213ebace594e16f4970e0c411ed3323a3d7afc7076239884307f91849ed5f5e36b6171d309c81344c53e06d\nresult = valid\nshared = ccea969d40fa42933f4fbdc4cabe2185f8a452996254c1f4e0dde5e14feeea8d\n\n# tcId = 154\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040f1c1b89e9fc6fc0faefc9109fc4a1247d9f54c7497b6cc975e6a5455bef410836cb3818548ac9b41e2b8336c3eb8d97075ae47e1827fa1ff93d4341d43c0c1d\nresult = valid\nshared = eaae0e188c9427bf3c8b3ded772122204c328d5941e389d808e2724638f9aff8\n\n# tcId = 155\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004577069e8284a95f51dcab919b0536657058971dab76217f8d3ae722a64092e26e51f68a722cc0397f4801401771e9a3d1988d4af76f14f9e2f9c36e0773e29c2\nresult = valid\nshared = fea0cce1358f1ff40ffeaaffbf91b2e8d426d4e31e9627731ace3a122eab6b0d\n\n# tcId = 156\n# point with coordinat", + "e y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042406a2759050b925dd4f814c5033e355548f42bbf1afb791c110f0031f29f68099d5f4b005de3927f165abeff196a28c7217fab1be2b5209c324e7d62d2dd687\nresult = valid\nshared = 837621ea4827bba0376aaa8aa66cfe144a2ff1e359dc619a06441d3e055f9771\n\n# tcId = 157\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ccaac61f35a27861183621642bc573af913356fb47cf582f0b5299099d6f6c6991f7272b83b738a7a5d30447c87f126a7d98ec72fa2609d0939d18db7ea7eb3a\nresult = valid\nshared = 63974ce6153762e5b364523cead93e8ce8bcc77dda56365d676136169fc4e39b\n\n# tcId = 158\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000401415917272f1984e7217a36fb311fd2904d41a6b13973f92aae3b90e85e4d56d97c822eb7b21a84d0d1be4867404a80c34867f43139dadcc3619e10b222562b\nresult = valid\nshared = 0a0488144bc36d690b62148ac3076047d46d48f7adbb0f34fee9a636295fe737\n\n# tcId = 159\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b2575d100c6fa056bcd137ab111b5315a8908c29243b84f3dc996d0e45764b9166cabeb41885588ec08b47257df58bd58f7dcd9e012e2669fa2f52e25767fc4c\nresult = valid\nshared = 1232165538a44268aa7c199c54d6d207c4ef3f5aa790c10c926a20752ca645ce\n\n# tcId = 160\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c17355ed30ccd6427f9685709021b25c11ed176e9610c479bcc4cc7552a738e61f75114761dba0ec60cd264bbab763c5d5abcc75cd8fb5651d0645179988cc6d\nresult = valid\nshared = dcab5e874e4fb76bc4312528e9d76dfae56145922533089734110bf5653f4d77\n\n# tcId = 161\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004341592390ccce485de8880f3d727f664c381914a1becec383b35586751fc81c2add71852b87016e1019cae7a9080e75ce0b0b8aac175d692d5e7b4dad088f5cc\nresult = valid\nshared = 4ce2701b2be63a0083a4c53f7a0bf04cf871654f5edb6f625e3ea5e7d0bdcc90\n\n# tcId = 162\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fa764b6b76a86c3b762120825d353a24766208c1f5cc0fe3fe7998026a2ec5c43bb2f948fd94cdaa5869b1e0e73a4d97035cc49357fb7b74d7ed0a2c5b8d54eb\nresult = valid\nshared = 7abef9765cca721320fbf8edcbef6d2ba25d17b70ffa1776029bc38fe677a12c\n\n# tcId = 163\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a71fbb617199bd585b4b66212ca33ca9e09370e6bf15c8ea0acefd9c8e945d06840f058863078e743e220ff99f23bbc1daa36835d4b1269f0a7536e63f06d853\nresult = valid\nshared = 5f61404dbbbc2867dff95c1f37ed44f4cb8fabcd223b03739d888308d13bc412\n\n# tcId = 164\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000413c8292d854d39451c0c63a802b8c03e4fcb875ef01239896295ba1c0f386975f82df197086fd86032cb36b69a27876dd75a8e9679f36ffc2210edb128d4be13\nresult = valid\nshared = 8d673a577e35bf9d5d00676c08b2c739617c46a052188403aa06dc714af6acc1\n\n# tcId = 165\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040cd9df415acc0c32fd4e3d6924ce53075b0452bf919a2ab2ebe26597570f1ecd5985d8d2c5df78fc100f87efb6dfa9543757bdffecf083dfcd1ecb38de6c23f8\nresult = valid\nshared = a7835ffee0f2a69dfcf70d4e798dbe3ed32ba03cfddae5ddd11d8c0ac3d74f9b\n\n# tcId = 166\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d2dbea4046b23fd2b233d1ce31dceddb89b25f26c0627a9d2db3c5605c9cc99535bdc8de7451c1e27e97aa91402cce3882c71269d9cbdcb5d7ac0ceb911b9b6d\nresult = valid\nshared = e98ea22209cd397edb6c319648c1eb24bc4d39598ab11995571926684ce2ceca\n\n# tcId = 167\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004888fb044fb2b6caa60366bfa662adba479b8365a6555a29887d580f587086ba8482f4ec24082a48d6402afa1622143f26e61d91b7e30d6a4b223630ee10f70fb\nresult = valid\nshared = 91b65733860b1bdb9541d9f55895a3dbb3f13c199251d33006b6dcf90ac349ed\n\n# tcId = 168\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042e2bec134249379d57700301f3a58e4b395a4d28370d2a06e65e7ac89ed76ac697dc960bd795cdf4fbcfdd75149057b8e022331c7b5461f383ac589d764df333\nresult = valid\nshared = 1fdf7c5c48047a113e5e5d1b7ed593337e769231cca5c7110160e0c1b97f4256\n\n# tcId = 169\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c78cda7e3b9e1772ebed30b2b51dcf155a69a0fc504557836e25147cfb8127d2f8289cf38b033d3763c8f9f6c091787a3142fb83dff5719590282c6f852e0105\nresult = valid\nshared = ba0abc3e71726cb51330489176357b81b8074d7690e4e82e9a3c00151e1fa318\n\n# tcId = 170\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041e3df4dd7fb7718cb0aa0dd72f8a25c83c4e804e7cbd48c5e965651f9e23bf4ef0ff40dd9796e4a9a5eddd2c4ca4ebd10990d8fb8918d12d53c76001afa9de7f\nresult = valid\nshared = 16e632f9752d36602c95ec274b32ad594f39f6ac3bd4b0b20f8637392142cef4\n\n# tcId = 171\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e5c5dc3fd88d85668b3b709fd6b4232f1f80949cbccb5588363e6c217a2b3ed88dbd0d6e3cc97f3081d16602aa3d1b655ee0791c87fcb5abe6217d8c8513807e\nresult = valid\nshared = 9eed4b96569f604a4d3f5af97499807111fc9888c458ece2e3000e245c2c02b0\n\n# tcId = 172\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004021c41eceec24e0fba894ad7415a9598cbcd14fa6ca46e25575268a1d8e5bbc63f846c6a185fa3f23bb92c14e7e2cba8c74047c09af766f55ef0c907c80d9451\nresult = valid\nshared = 21ac32013838812621dbb584965bded6fc851d3a029810679bc57b2381bb7a7d\n\n# tcId = 173\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e24192cd33335a114f5070266c014cb0d8c704d16d6042e89c17597bcd4e77ebdb4c5171704c2c09275c22a310e0c4fe092e4084856da99b94abbfa9f469f48\nresult = valid\nshared = fc5978da01ca83e127dddf989a0358871b3c4ce0755bfb020633db467e21a53c\n\n# tcId = 174\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431c90ae47a93d09a2352b6f3677e7975ea62aadedb56c118eb8b9f771e2dd9f5f2601fb9cca2304e594423cf48064dbed17ae40452f18b", + "e6ae018321911e8cb3\nresult = valid\nshared = 9f417341261aa45d396b0ccf2a3dee7a466ca47e3ce86ecd2071d9c4db08820e\n\n# tcId = 175\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d2f211cfab84e01c8e5544036234debe35ae103bb878d7abcea6825f753e03a385f7f1870e64f1262af67a25ef9880419f45608e7f9da6dee83f5f46ceb53dcb\nresult = valid\nshared = f419febb32c254611adf569c2d583b17542b1538caa0001967f0a4bc34b8b789\n\n# tcId = 176\n# edge case private key\nprivate = 03\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca\n\n# tcId = 177\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = a329a7d80424ea2d6c904393808e510dfbb28155092f1bac284dceda1f13afe5\n\n# tcId = 178\n# edge case private key\nprivate = 0100000000000000000000000000000000000000000000000000000000000000\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = bd26d0293e8851c51ebe0d426345683ae94026aca545282a4759faa85fde6687\n\n# tcId = 179\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = ea9350b2490a2010c7abf43fb1a38be729a2de375ea7a6ac34ff58cc87e51b6c\n\n# tcId = 180\n# edge case private key\nprivate = 008000000000000000000000000000000000000000000000000000000000000000\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 34eed3f6673d340b6f716913f6dfa36b5ac85fa667791e2d6a217b0c0b7ba807\n\n# tcId = 181\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e83f3b9cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 1354ce6692c9df7b6fc3119d47c56338afbedccb62faa546c0fe6ed4959e41c3\n\n# tcId = 182\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3a9cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = fe7496c30d534995f0bf428b5471c21585aaafc81733916f0165597a55d12cb4\n\n# tcId = 183\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b1cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 348bf8042e4edf1d03c8b36ab815156e77c201b764ed4562cfe2ee90638ffef5\n\n# tcId = 184\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac1fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 6e4ec5479a7c20a537501700484f6f433a8a8fe53c288f7a25c8e8c92d39e8dc\n\n# tcId = 185\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324f3\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = f7407d61fdf581be4f564621d590ca9b7ba37f31396150f9922f1501da8c83ef\nflags = AddSubChain\n\n# tcId = 186\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632533\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 82236fd272208693e0574555ca465c6cc512163486084fa57f5e1bd2e2ccc0b3\nflags = AddSubChain\n\n# tcId = 187\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632543\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 06537149664dba1a9924654cb7f787ed224851b0df25ef53fcf54f8f26cd5f3f\nflags = AddSubChain\n\n# tcId = 188\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = f2b38539bce995d443c7bfeeefadc9e42cc2c89c60bf4e86eac95d51987bd112\nflags = AddSubChain\n\n# tcId = 189\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca\n\n# tcId = 190\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 027b013a6f166db655d69d643c127ef8ace175311e667dff2520f5b5c75b7659\nflags = AddSubChain\n\n# tcId = 191\n# CVE-2017-8932\nprivate = 2a265f8bcbdcaf94d58519141e578124cb40d64a501fba9c11847b28965bc737\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004023819813ac969847059028ea88a1f30dfbcde03fc791d3a252c6b41211882eaf93e4ae433cc12cf2a43fc0ef26400c0e125508224cdb649380f25479148a4ad\nresult = valid\nshared = 4d4de80f1534850d261075997e3049321a0864082d24a917863366c0724f5ae3\n\n# tcId = 192\n# CVE-2017-8932\nprivate = 313f72ff9fe811bf573176231b286a3bdb6f1b14e05c40146590727a71c3bccd\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cc11887b2d66cbae8f4d306627192522932146b42f01d3c6f92bd5c8ba739b06a2f08a029cd06b46183085bae9248b0ed15b70280c7ef13a457f5af382426031\nresult = valid\nshared = 831c3f6b5f762d2f461901577af41354ac5f228c2591f84f8a6e51e2e3f17991\n\n# tcId = 193\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 194\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 195\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000000ffffffff00", + "000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 196\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000000ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 197\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 198\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 199\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 200\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 201\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 202\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 203\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffeffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 204\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffeffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 205\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 206\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 207\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 208\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 209\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3018301306072a8648ce3d020106082a8648ce3d030107030100\nresult = invalid\nshared = \n\n# tcId = 210\n# public point not on curve\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764c\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 211\n# public point = (0,0)\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 212\n# order =\n# -115792089210356248762697446949407573529996955224135760342422259061068512044369\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f50221ff00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 213\n# order = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020100020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 214\n# order = 1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020101020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 215\n# order = 26959946660873538060741835960514744168612397095220107664918121663170\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff0000000100000", + "0000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5021d00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 216\n# generator = (0,0)\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b04410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 217\n# generator not on curve\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f7022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 218\n# cofactor = -1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 219\n# cofactor = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 220\n# cofactor = 2\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 221\n# cofactor =\n# 115792089210356248762697446949407573529996955224135760342422259061068512044369\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 222\n# cofactor = None\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 223\n# modified prime\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100fd091059a6893635f900e9449d63f572b2aebc4cff7b4e5e33f1b200e8bbc1453044042002f6efa55976c9cb06ff16bb629c0a8d4d5143b40084b1a1cc0e4dff17443eb704205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414\nresult = invalid\nshared = cea0fbd8f20abc8cf8127c132e29756d25ff1530a88bf5c9e22dc1c137c36be9\nflags = ModifiedPrime,InvalidPublic,UnnamedCurve\n\n# tcId = 224\n# using secp224r1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 225\n# using secp256k1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8", + "f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 226\n# a = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff302504010004201b95c2f46065dbf0f3ff09153e4748ed71595e0774ba8e25c364ff1e6be039b70441041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 227\n# public key of order 3\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff304404207b5c92a0cac0f30673473f260f89926a14da905bc7e5e07df1e8df69059d98570420cb2eaa5643572372d5cba1e69f687d287fd62f5518322af2614ce512dd680a76044104843587c1bea197a1be63c67c9f1641c70f7d3cba49147e9fc0c9bb246e1498186049243e8e92743df2f9994d60f90ab21635e00183e69b317f00ad226da8f546022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63255102010103420004843587c1bea197a1be63c67c9f1641c70f7d3cba49147e9fc0c9bb246e1498189fb6dbc0716d8bc30d0666b29f06f54de9ca1fff7c1964ce80ff52dd92570ab9\nresult = invalid\nshared = \nflags = WeakPublicKey,InvalidPublic,UnnamedCurve\n\n# tcId = 228\n# Public key uses wrong curve: secp224r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 304e301006072a8648ce3d020106052b81040021033a00042af270d2a6030e3dd38cc46e7d719f176c2ca4eb04d7e8b84290c8edbcaed964ebe226b2d7ce17251622804c0d3b7adce020a3cdc97cac6c\nresult = invalid\nshared = \n\n# tcId = 229\n# Public key uses wrong curve: secp384r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3076301006072a8648ce3d020106052b81040022036200041f17901e731b06f349b6e9d7d17d45e8a2b46115a47485be16197932db87b39405b5c941b36fd61b9ef7dd20878e129e55a2277099c601dcdb3747f80ad6e166116378e1ebce2c95744a0986128cfeeaac7f90b71787d9a1cfe417cd4c8f6af5\nresult = invalid\nshared = \n\n# tcId = 230\n# Public key uses wrong curve: secp521r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400ed76e5888428fad409ff203ab298b0f24827c091939ae0f9b1245d865ac5fbcd2749f9ae6c90fa8e29414d1bc7dc7b3c4aca904cd824484421cc66fe6af43bdfd200c1f790a0b3ae994937f91b6bdb9778b08c83ecadb8cba22a78c37bf565dac164f18e719be0ef890ee5cbf20e17fcfc9a5585e5416470b9862f82fb769339994f4e\nresult = invalid\nshared = \n\n# tcId = 231\n# Public key uses wrong curve: secp256k1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3056301006072a8648ce3d020106052b8104000a034200048028d16082b07696d4aa4aab9d6b1f1463435ac097900631108f9888e13da67c4841fd8dd3ced6e7ad8c6fc656621c2f93d3db0eb29d48d1423154519865dbc1\nresult = invalid\nshared = \n\n# tcId = 232\n# Public key uses wrong curve: secp224k1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 304e301006072a8648ce3d020106052b81040020033a0004dc79fc28da096ac19f3cf0bc70b8e52529a83861ac66b1d44b9f2e9c68856babaa94f5fa67a1edfce5bd1768f9b9a1621483d214436aab02\nresult = invalid\nshared = \n\n# tcId = 233\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004a6bae3d155c1f9ca263928c986ede69acefd0dd9b3a19d2b9f4b0a3a66bea5d167318dcc028945fc1b40c60ce716ba2d414a743c6b856a6f\nresult = invalid\nshared = \n\n# tcId = 234\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200045d3ddbbb9bc071d8b59855c74bdf3541ae4cb6c1a24ec439034df7abde16a346523edf6a67896b304cb2cd2a083eec2b16935bbc910e85ec6eae38b50230bf70\nresult = invalid\nshared = \n\n# tcId = 235\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 306a301406072a8648ce3d020106092b240303020801010903520004a43c6ef2500723d54c1fc88f8844d83445ca5a0f585c10b8eb3f022d47d0e84862b7f5cbf97d352d4348ca730f600f2258d1d192da223f6ba83a7cc0d6da598d55c2b77824d326c8df000b8fff156d2c\nresult = invalid\nshared = \n\n# tcId = 236\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 307a301406072a8648ce3d020106092b240303020801010b036200042391c062833d1e6d89ec256cf4a3989534c1ead5e1e14ffae933a53f962857e4713087e1b3d65ac79634c71577af24698b5ce959183835551f7b08aef7853378c299930b360813fd58d5e4da8b37d5a7473e891ee11cb02881bd848b364fb7d5\nresult = invalid\nshared = \n\n# tcId = 237\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301406072a8648ce3d020106092b240303020801010d038182000484beae85096640953c1fd6ebbc32697263d53f89943cbaf14432061aea8c0318acbd9389ab1d2e904fa0e081d08cfabb614ed9bca618211142d94623c14b476a25e47abf98fd3b1da1417dfc2e2cfc8424b16ea14dd45e1422be7d4e0a5cc7f4d4ab5f198cdbaaa3f642ec6361842cbe869382ee78cd596ff5e740d9ec2c3ad6\nresult = invalid\nshared = \n\n# tcId = 238\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00042b0a1a858ffc44e7752940731d378f96570837e279ea3948fe00cff8b5f89adb4e2fe6f8781ba6426364f4590b34dd79fc80629de4a86084\nresult = invalid\nshared = \n\n# tcId = 239\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 305a301406072a8648ce3d020106092b2403030208010108034200043037c01b4a5ac53742e3f5528dffb0f010ab6ebeb08d792b32e19e9006ca331a024b67698d7cf4b575ccd9389441d5c640b77c63771cef1bd85675361c6602a4\nresult = invalid\nshared = \n\n# tcId = 240\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 306a301406072a8648ce3d020106092b240303020801010a035200040f0fd972a495a140124a4019291a20f5b39fb755c126bf268643bb3091eca44f2a3cda1dead6ab1f4fe08a4b3872423f71e5bf96b1c20bc0ca73b7e2c134cc14a5f77bc838ebcf01084da3bf15663536\nresult = invalid\nshared = \n\n# tcId = 241\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 307a301406072a8648ce3d020106092b240303020801010c0362000403b65faf5a6bf74bd5c166278a4b566c6c705ac6363e61f3b0699e116d3c5b19e8b7021b75b005f78a8cea8de34c49397f9b3b2bfc8706eb8163c802371eff7dfc825c40aa84dd9d1c4b34615ee5ae28c6c05d58d2a8ccc3786382b712d3bcda\nresult = invalid\nshared = \n\n# tcId = 242\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301406072a8648ce3d020106092b240303020801010e03818200047504d660943a69ab043378e44c034896534a346e0e95f35fcaad3503b490856bfb20a753ecabc6d7bfeec28d057f919923b7d3c086953eb16c5bd287b59788db72dbb7c273854294c927ea7eca205aae2f0830e5faaddad8316231bfc3572c85c33cb7054e04c8936e3ce059c907e59f40593444e590b31820bc1f514ed0ec8a\nresult = invalid\nshared = \n\n# tcId = 243\n# invalid public key\nprivate = 6f953faff3599e6c762d7f4cabfeed092de2add1df1bc5748c6cbb725cf35458\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002fd4bf61763b46581fd9174d623516cf3c81edd40e29ffa2777fb6cb0ae3ce535\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 244\n# public key is a low order point on twist\nprivate = 00d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f02\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220003efdde3b32872a9effcf3b94cbf73aa7b39f9683e", + "ce9121b9852167f4e3da609b\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 245\n# public key is a low order point on twist\nprivate = 00d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f03\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 246\n# public key is a low order point on twist\nprivate = 0095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e835\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 247\n# public key is a low order point on twist\nprivate = 00a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa4\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000318f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 248\n# public key is a low order point on twist\nprivate = 00a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa5\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000218f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 249\n# public key is a low order point on twist\nprivate = 0095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e834\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220003c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 250\n# long form encoding of length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 308159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 251\n# long form encoding of length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a30811306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 252\n# length of sequence contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30820059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 253\n# length of sequence contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3082001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 254\n# wrong length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 255\n# wrong length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 256\n# wrong length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301406072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 257\n# wrong length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301206072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 258\n# uint32 overflow in length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30850100000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 259\n# uint32 overflow in length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3085010000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 260\n# uint64 overflow in length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3089010000000000000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 261\n# uint64 overflow in length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062308901000000000000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 262\n# length of sequence = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30847fffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 263\n# length of sequence = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30847fffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 264\n# length of sequence = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3084ffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags", + " = InvalidAsn\n\n# tcId = 265\n# length of sequence = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3084ffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 266\n# length of sequence = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3085ffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 267\n# length of sequence = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3085ffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 268\n# length of sequence = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3088ffffffffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 269\n# length of sequence = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30613088ffffffffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 270\n# incorrect length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30ff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 271\n# incorrect length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930ff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 272\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 273\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059308006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 274\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306802a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 275\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106802a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 276\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107038000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 277\n# removing sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = \nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 278\n# removing sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3044034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 279\n# lonely sequence tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 280\n# lonely sequence tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 304530034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 281\n# appending 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 282\n# appending 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 283\n# prepending 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b0000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 284\n# prepending 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015000006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n", + "# tcId = 285\n# appending unused 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 286\n# appending unused 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 287\n# appending null value to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 288\n# appending null value to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 289\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e4981773059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 290\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d25003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 291\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 292\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018498177301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 293\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30172500301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 294\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30613015301306072a8648ce3d020106082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 295\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018260c49817706072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 296\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3017260b250006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 297\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b260906072a8648ce3d02010004deadbeef06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 298\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d0201260d49817706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 299\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d0201260c250006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 300\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d0201260a06082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 301\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301072347498177034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 302\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d03010723462500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 303\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d0301072344034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 304\n# including undefined tags\npr", + "ivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061aa00bb00cd003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 305\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305faa02aabb3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 306\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301baa00bb00cd00301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 307\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f3019aa02aabb301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 308\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b260faa00bb00cd0006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 309\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f3019260daa02aabb06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 310\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d02012610aa00bb00cd0006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 311\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f301906072a8648ce3d0201260eaa02aabb06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 312\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d030107234aaa00bb00cd00034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 313\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f301306072a8648ce3d020106082a8648ce3d0301072348aa02aabb034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 314\n# truncated length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3081\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 315\n# truncated length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30463081034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 316\n# Replacing sequence with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 317\n# Replacing sequence with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30460500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 318\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 2e59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 319\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 2f59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 320\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 321\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3259301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 322\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = ff59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 323\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30592e1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 324\n#", + " changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30592f1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 325\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059311306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 326\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059321306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 327\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059ff1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 328\n# dropping value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 329\n# dropping value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30463000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 330\n# truncated sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 331\n# truncated sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30581306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 332\n# truncated sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106082a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 333\n# truncated sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30583012072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 334\n# indefinite length\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 335\n# indefinite length\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b308006072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 336\n# indefinite length with truncated delimiter\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b00\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 337\n# indefinite length with truncated delimiter\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a308006072a8648ce3d020106082a8648ce3d03010700034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 338\n# indefinite length with additional element\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b05000000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 339\n# indefinite length with additional element\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d308006072a8648ce3d020106082a8648ce3d03010705000000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 340\n# indefinite length with truncated element\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b060811220000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 341\n# indefinite length with truncated element\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f308006072a8648ce3d020106082a8648ce3d030107060811220000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 342\n# indefinite length with garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000fe02beef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 343\n# indefinite length with garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f308006072a8648ce3d020106082a8648ce3d0301070000fe02beef034200042998705a9a71c783e1cf4397dbed9375a", + "44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 344\n# indefinite length with nonempty EOC\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0002beef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 345\n# indefinite length with nonempty EOC\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d308006072a8648ce3d020106082a8648ce3d0301070002beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 346\n# prepend empty sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 347\n# prepend empty sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015300006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 348\n# append empty sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b3000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 349\n# append empty sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301073000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 350\n# append garbage with high tag number\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305c301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66bbf7f00\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 351\n# append garbage with high tag number\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305c301606072a8648ce3d020106082a8648ce3d030107bf7f00034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 352\n# sequence of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 353\n# sequence of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 354\n# truncated sequence: removed last 1 elements\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3015301306072a8648ce3d020106082a8648ce3d030107\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 355\n# truncated sequence: removed last 1 elements\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 304f300906072a8648ce3d0201034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 356\n# repeating element in sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30819d301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 357\n# repeating element in sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d06072a8648ce3d020106082a8648ce3d03010706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 358\n# long form encoding of length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a30140681072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 359\n# long form encoding of length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d02010681082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 360\n# length of oid contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015068200072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 361\n# length of oid contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201068200082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 362\n# wrong length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306082a8648ce3d020106082a8648ce3d030107034200042998705a9a71c78", + "3e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 363\n# wrong length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306062a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 364\n# wrong length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106092a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 365\n# wrong length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106072a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 366\n# uint32 overflow in length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018068501000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 367\n# uint32 overflow in length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d0201068501000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 368\n# uint64 overflow in length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06890100000000000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 369\n# uint64 overflow in length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06072a8648ce3d020106890100000000000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 370\n# length of oid = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706847fffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 371\n# length of oid = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d020106847fffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 372\n# length of oid = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30170684ffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 373\n# length of oid = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d02010684ffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 374\n# length of oid = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e30180685ffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 375\n# length of oid = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d02010685ffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 376\n# length of oid = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b0688ffffffffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 377\n# length of oid = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d02010688ffffffffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 378\n# incorrect length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306ff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 379\n# incorrect length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106ff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 380\n# removing oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3050300a06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 381\n# lonely oid tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b0606082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b", + "063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 382\n# lonely oid tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3050300a06072a8648ce3d020106034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 383\n# appending 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506092a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 384\n# appending 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a2a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 385\n# prepending 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015060900002a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 386\n# prepending 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a00002a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 387\n# appending unused 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 388\n# appending null value to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506092a8648ce3d0201050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 389\n# appending null value to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a2a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 390\n# truncated length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c068106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 391\n# truncated length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010681034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 392\n# Replacing oid with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 393\n# Replacing oid with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 394\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301304072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 395\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301305072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 396\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301307072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 397\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301308072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 398\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30593013ff072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 399\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020104082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 400\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020105082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 401\n# changing tag value of ", + "oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020107082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 402\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020108082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 403\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d0201ff082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 404\n# dropping value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c060006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 405\n# dropping value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010600034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 406\n# modify first byte of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930130607288648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 407\n# modify first byte of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d02010608288648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 408\n# modify last byte of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d028106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 409\n# modify last byte of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030187034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 410\n# truncated oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206062a8648ce3d0206082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 411\n# truncated oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206068648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 412\n# truncated oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106072a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 413\n# truncated oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106078648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 414\n# wrong oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3057301106052b0e03021a06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 415\n# wrong oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015060960864801650304020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 416\n# wrong oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3056301006072a8648ce3d020106052b0e03021a034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 417\n# wrong oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d02010609608648016503040201034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 418\n# longer oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406082a8648ce3d02010106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 419\n# longer oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d020106092a8648ce3d03010701034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 420\n# oid with modified node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d021106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f", + "082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 421\n# oid with modified node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3017060b2a8648ce3d02888080800106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 422\n# oid with modified node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030117034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 423\n# oid with modified node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d0201060c2a8648ce3d03018880808007034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 424\n# large integer in oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06102a8648ce3d028280808080808080800106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 425\n# large integer in oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06072a8648ce3d020106112a8648ce3d030182808080808080808007034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 426\n# oid with invalid node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406082a8648ce3d0201e006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 427\n# oid with invalid node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406082a808648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 428\n# oid with invalid node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d020106092a8648ce3d030107e0034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 429\n# oid with invalid node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d020106092a808648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 430\n# long form encoding of length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301306072a8648ce3d020106082a8648ce3d03010703814200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 431\n# length of bit string contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070382004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 432\n# wrong length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034300042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 433\n# wrong length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 434\n# uint32 overflow in length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301070385010000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 435\n# uint64 overflow in length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301306072a8648ce3d020106082a8648ce3d030107038901000000000000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 436\n# length of bit string = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d03010703847fffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 437\n# length of bit string = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d0301070384ffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 438\n# length of bit string = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301070385ffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 439\n# length of bit string = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d0301070388ffffffffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult", + " = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 440\n# incorrect length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703ff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 441\n# lonely bit string tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3016301306072a8648ce3d020106082a8648ce3d03010703\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 442\n# appending 0's to bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 443\n# prepending 0's to bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070344000000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 444\n# appending null value to bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 445\n# truncated length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070381\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 446\n# Replacing bit string with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 447\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107014200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 448\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107024200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 449\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107044200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 450\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107054200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 451\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107ff4200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 452\n# dropping value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070300\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 453\n# modify first byte of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034202042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 454\n# modify last byte of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6eb\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 455\n# truncated bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 456\n# truncated bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d0301070341042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 457\n# declaring bits as unused in bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034201042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 458\n# unused bits in bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d030107034620042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b01020304\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 459\n# unused bits in empty bit-string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3018301306072a8648ce3d020106082a8648ce3d030107030103\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 460\n# 128 unused bits\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703", + "4280042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n", }; -static const size_t kLen64 = 231526; +static const size_t kLen97 = 236047; -static const char *kData64[] = { - "# Imported from Wycheproof's ecdh_secp384r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.4.12\n\n[curve = secp384r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81\npublic = 3076301006072a8648ce3d020106052b8104002203620004790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796d9b954baa8a75e82df711b3b56eadff6b0f668c3b26b4b1aeb308a1fcc1c680d329a6705025f1c98a0b5e5bfcb163caa\nresult = valid\nshared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135\n\n# tcId = 2\n# compressed public key\nprivate = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81\npublic = 3046301006072a8648ce3d020106052b8104002203320002790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796\nresult = acceptable\nshared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135\n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004490e96d17f4c6ceccd45def408cea33e9704a5f1b01a3de2eaaa3409fd160d78d395d6b3b003d71fd1f590fad95bf1c9d8665efc2070d059aa847125c2f707435955535c7c5df6d6c079ec806dce6b6849d337140db7ca50616f9456de1323c4\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200040161328909675213e32098d35a6b8308a8d500cca39dcee5e804e73bdb8deaf06fe417291fd9793b231ef5fe86945444a97a01f3ae3a8310c4af49b592cb291ef70ee5bc7f5534d3c23dc9eefde2304842c7737ae937ccf9bd215c28103e9fe2\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004af4ae964e3bcbd923accda5da3175d411fd62d17dd3c3a1c410bef1730985a6265d90e950ac0fc50743b1ed771906ff33b68cf4d3d83a885a87097fdd329ce83b189f98cec5be44c31d1a3a2bba10f471963232b8ba7610fa8c72179050eb86d\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200041478ab6e032b9545eda9ac2c264e57a11f08acbc76d16a0ab77b04dbdaf20f215c4183437b32afc471eaa603d14c7c5d8a4c84ee0e895bec5c37f0a1ca075e106ff6bf38801b5c697409d39675231108d33c4a5ea65aaa8c03e939c95d96c4c4\nresult = valid\nshared = 0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004f63208e34e7e90bb5fb036432467a89981444010663b8533b47bfa94bd2bc16f38aa516b930a4726e3876d3091bfb72ec783ed4da0cac06320817dc8bc64f59ccf06f48abc4386a150913fa95743a7b4601190e1c6ee8f8bf6354b254ecace45\nresult = valid\nshared = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004033271ef42d92ad47b273b09ea2f45401161baa52696590d0e175ff2d1c0dfa3fea40e4266d446546c05e480d57fabec7889f16a8bcc176602f6d46561614a2f4284abe697b7cb9ce79f7e2e71b155cb1f155ce925d16391a680eda23152e6e1\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004737e8437e18683de2455b68945bba31daec3e754d72f0a0776d3192b2f9298bb95ca1464baa6687aabb679f804cf6ec6c2b4d47d61a60404df63b1e9ac0954b3419bbc2ad52a0409aeeb82f4703758588059165b20367dcb4b235b0caf71d727\nresult = valid\nshared = 007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000437f9004983156bbd9c47891e75237bb13016bd7fe6f4e0f71cef0e63f16a672f0d3b0e20165c33407e146b6a4ae6962dd3b57ccb99e7aaf1303240516d0ebe08e585513e3695d42c467dcab5340ef761990cadc8d8840aacc944481415c07feb\nresult = valid\nshared = 3b5eed80727bcbc5113b8a9e4db1c81b1dddc2d99ff56d9c3c1054348913bde296311c4bd2fa899b4d0e66aaa1b6a0dd\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200049655d8e5622718b317cfbc09894357f75a6b13fa516bcd6630721b869a620196cf0c3dec8860b32d27ed9bac2cf263af17321698116d7d811ae8da9b9cbbf9382c1e36e2b67d6c6af9bcea7d9de00ca72b398606c098a0a0f0c4b8941943ed65\nresult = valid\nshared = 6a99a5acd4a7edb1c707d7f8be12e81140338e3e14ba563c703c681a319a3f9ce1f90f032bf840f3758e89cb852ceca6\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004ccb13d427b3c4bb33dd4f20cddabc68600eaf97eeb2c81e8c218ae90743e74ff38ca56f0c0224379db464dcf4a40f04350cd7a659b2c4851a5dcf8c990fc920c07d4d5aa50a2185750e6b84c42e83cff635050482decb4780f812e4c49fc7404\nresult = valid\nshared = 7c25a4f57f76ab13b25cab3c265db9d9bd925fecbf7bf93bef1308778646628decab067ed988a9755cd88e88de367104\n\n# tcId = 13\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200042664624307c02ef487030a632162c515f841d15ea3152d98ff2364232d7aab39343d5f703a4d5a31092aa7356c3a2f671c1cd603addfd8b5477552a3b32a18edaf3e33bec22ee2167f9da729636002a7974eaeb5ff082b2aabf8c7056b84c3ab\nresult = valid\nshared = 7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000002\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004665f1f320b6ab1c1b52d144e52d87a154c2b4489838c9119de622c2d1b52b65b0a3955e44e0d4859175360c0f63dee813f14f69972f18caed7916c94a4d20ec344591e7536a4a7a4d8c9832818c96d60b1a81fabe64ea02c5f647e361bf5b60f\nresult = valid\nshared = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000491357ca87dbb08e85d7b1acecfd1e086078a82d19f81474da389364a39fe2543eb934b440173c38e61a1d9407855b5d89ef0d9e920764b6d7765b084cf9541dacc43d1dabaa390b0fb856097b0c00a8556f4e3848568ab4ae790c3d346ca01b6\nresult = valid\nshared = fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006", - "072a8648ce3d020106052b8104002203620004d5a833bae33b2d10fdff6db7c5477adb614b191c70d97c6f130a14e93931cc1dc058053fee54a264a00fdd16d3166fdc42992276b79925bafcd183b03ed18235350980abfe67b814c6c11074c38f74cd4e734ad58cdb49d9fcd2181d1b8f1119\nresult = valid\nshared = fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000467547cda7fbe8f16be5a4477cbb02979f1af72fc0f39302773552fbcf4667a8e23abc0e12856ee6234deeca5f22ae0503a4df7c068e7432417260cb9fe0d68b9c7fcf7e16a2ada05687d8f8900b84723103edbff0a42b27517da2760b7d38843\nresult = valid\nshared = ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200041363e3b99008e09bb3f085949b9b6ea26a318f496de568a96630fdb9d4c72c2814df3087a1741f32f24989b428167f93c653cb3ae8c3ecfaec57efd54bb8ce9d79c7bf6cc70fb1114f939be8f1a99bf1e42b97431124ef9fa33450faa4e76839\nresult = valid\nshared = ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000001\n\n# tcId = 19\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004ba2be8d7147e2417c2ec80b24b4c1aa94464ffd0aae1fa2e078b3afbc77c144489ca9d064acbb7a9cfa6196d0f467b7e65ee1ca1eb1351ff9968f553dfe2e4c59ff8ba34c22a42b3baa13a9a1adc7f13abd40f1fd25d46bc5330852b9371966a\nresult = valid\nshared = ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff\n\n# tcId = 20\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004d69850ccbacc4736ea200ff2f8488f26247945a2ab48dd3708f494b293d8cba83417f48974881c7fb03854089bbf66cc1c773ec03cb8cd5f007ec3b03bdd05a409b352103f0decf25b41673ab8ca3d04334babee01219f15701f2bca22d40b37\nresult = valid\nshared = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\n\n# tcId = 21\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200046fcaf82d982d222d6096ba83e55b1c7dcb71a41e88f323333f44284d95c4bd3616da7a1bef928f31c26f885ba7adb487826fde2ed9f5649c11cf8465f8bf8ad50f68914936fc39666f68219d066506bea4001fdc816c9a90e7e2afb19bea085f\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000001f03123b00000000000000000000000000000000\n\n# tcId = 22\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200046fcaf82d982d222d6096ba83e55b1c7dcb71a41e88f323333f44284d95c4bd3616da7a1bef928f31c26f885ba7adb4877d9021d1260a9b63ee307b9a0740752af0976eb6c903c6999097de62f99af9405bffe0227e93656f181d504f6415f7a0\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000001f03123b00000000000000000000000000000000\n\n# tcId = 23\n# y-coordinate of the public key is small\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfeb47fb40a65878e6b642f40b8e15022ade9ecfa8cb618043063494e2bc5d2df10d36f37869b58ef12dcc35e3982835fd2e55ec41fdfe8cabbbb7bcd8163645a19e9dac59630f3fe93b208094ff87cd461b53cef53482e70e2e8ea87200cc3f\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000\n\n# tcId = 24\n# y-coordinate of the public key is large\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfeb47fb40a65878e6b642f40b8e15022ade9ecfa8cb618043063494e2bc5d2df10d36f37869b58ef12dcc35e398283502d1aa13be0201735444484327e9c9ba5e616253a69cf0c016c4df7f6b007831b9e4ac300acb7d18f1d171588dff33c0\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = 6092a1757ddd43a04e185ff9472a0d18c7f7a7dc802f7e059e0c69ae16c802651719406e04de27652ff83da4a780ef2f\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = 89c804cb81443386b185bcd9e2e6c35ee6177c3b90298985c4e81a89d520cceb17d729540e56ecc343c26bf314f2d052\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036660041b1c7984620e8d7fd7ccdb50cc3ba816da14d41a4d8affaba8488867f0ca5a24f8d42dd7e44b530a27dc5b58da\nresult = valid\nshared = 35513157e804bd918d04de202778b81a6fc7ad8aa541ee94116a0f18466725d75e71c6942bf044b1b0ecba19db33e0de\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001141b9ee5310ea8170131b604484a6d677ed42576045b7143c026710ae92b277afbbea0c4458c220d561e69404dc7d888\nresult = valid\nshared = 102080c047881d19aefb01c29c82a4fb328a8ea6e6d6c914af73100507c8ee499799aaa646de0ea8c2727c0b5ed2439b\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b810400220362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff70370385413d3eff6fa3407ba24f682c2b01b51445dbdf5ef7b0dd0979f17e713e09081571f1e94dfb66bf282002f39f\nresult = valid\nshared = f689f6e475b4e15162521acab4637a3cdb9cb42aa92f9114b0ee300ddae89d5eafff3463a1f5004a2a1bd4aeffa47b78\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff112e191f1f78bbc54b6cc4f0b1e59ae8c6ff1a07f5128e41dfa2828e1b6538d4fa2ca2394c6aab3449dcb3fc4eb44c09\nresult = valid\nshared = f3486244119b3632fd55be9e6951eb5d9c8c62f6a27042f94b924155ecfd4ff8744ba3d25bcf85a7b925bd28a12b897f\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000028a4c8da5a05112fe6025ef41908969de20d05d9668e5c852ef2d492172ddc2a0a622fc488164fcc1a076b872942af2\nresult = valid\nshared = 8171b7c80d4c90bb58ae54393921ab9c5", - "c0b3196f045e9fe5c8b168f0e5f6a77e1aa34ecedc5481ce55ab34c14e0f2e8\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200043b5eed80727bcbc5113b8a9e4db1c81b1dddc2d99ff56d9c3c1054348913bde296311c4bd2fa899b4d0e66aaa1b6a0dd7b7f0f28d55e2f3a50f1f1bef3976834a05b43418e979303bc0363ed16d2d0b4011cc37b3c06ad73154faeab7915cd87\nresult = valid\nshared = 1fe6fea5f00d3005abaae2267ff18e430915838d87909ab503885edf38be7618ecb321f0a4df71b0913fbf12c76fc1f0\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200046a99a5acd4a7edb1c707d7f8be12e81140338e3e14ba563c703c681a319a3f9ce1f90f032bf840f3758e89cb852ceca63cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = f58adc13ff997d38383910db7befb17670393a33d95b049c2aa19d760c8e728ecedd32168476b90b26a3742dcc121b07\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200047c25a4f57f76ab13b25cab3c265db9d9bd925fecbf7bf93bef1308778646628decab067ed988a9755cd88e88de367104562ee0c57e71d96cefe31b4c4045bd4086a38e8ab9adf2d5567be318051d70f3aa68b753f271ab032b6abcce919e2962\nresult = valid\nshared = 56299684ec5ceb09ba4d94d1231005a826c9c08a5219c757e0136cbe8b6430badd4925172f2939891da7c7893850512f\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000024480ab33cb4bf7cb79c024eeade3fd641e2f3003698400e8986a7343a5da59a3b26eea4b4176e53239371437d834a1a7\nresult = valid\nshared = 1911a0ee6aebe263fdcf3db073f2598cdafabec2123a2f24a28c3d9151c871f32d6dc2f31d25af9c498fd68da23e5bef\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020797da4c0751ced16de80d16ab7c654a5dc27d092626d0865a192a1c5ea7c1b88c9fcab057946741e41cc28c80ec0b9a\nresult = valid\nshared = 15900643e2e0583976974b05f83c7a96611425f7c4a6eb51916ab958a037fd9cc172bdcfff4540a2ff3ce64e6505557e\n\n# tcId = 37\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff6c70898ae6fb31fa2f086562af2d10486ba4c6fd5e41dfe4aa61598b4707a3bc276a62feb1b98557e3b17c025f7adf4e\nresult = valid\nshared = 88a544a769d5c34a051416bd509dfac911863f604c83ea844bf0e4c5c272dec86d057a88b152a9274701938c705900c3\n\n# tcId = 38\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000eb1592858b6e6e3a199c0f3e7c5f0b4a92915936efb8bc0407680eb7274be7422156ce8cfc8b505b2d902c39992380f\nresult = valid\nshared = b7db26b286e7527cb1f454782fe541862ff0f8d7eed960e22855deb7ac2a69611668c777c53bb74c2bcd40edfbf7944d\n\n# tcId = 39\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4987abae412809c2fa48fd23b1bdf9e622f5a606c44117215ffa61b18ef46e54a7fbbf11f9a6ba59c991b4ae501fedce\nresult = valid\nshared = b1e8aab1aa633d98dc6b768594e1e3edb801a9ef483f287c83e19744d2ad343ad3debdc4dc178213ad6876b52284f552\n\n# tcId = 40\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000013691fe493d4d28bf8ee1dfec812d6c306eae0842919eda6dc525f0d49ac2d26a992251912139a2936849f9d6fa949a68\nresult = valid\nshared = b0de006f80f6f89e4eea6e46dfe305153005612d1e903171ec2886230971961b5202a9f3187bdac413ac24c836adf7a0\n\n# tcId = 41\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff615842aa06b06f78f0a66f7bea88d4b6ee59653eeaa00dc5e0a2b658f969b71af90c9b4e96bd3ca33846955bdccbd359\nresult = valid\nshared = ca8cfa42c5e374914c14d6402b1a99208e47e02ec49818913694ea0822a2cc6c310259a8f3ab7559b9974bc4c2fa337e\n\n# tcId = 42\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = edf040bace18d90bf9ce720df2a3b31d76d95b7ed9530a159ac0b24e82a871033eada40552f9e606f7115e6a78927511\n\n# tcId = 43\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000001f03123b0000000000000000000000000000000071bd1e700c34075c3cade8ce29d33724af68a7672b265a4e157055360440ab7c461b8e9ac8024e63a8b9c17c00000000\nresult = valid\nshared = ea817dff44f1944a38444498f1b6c1a70a8b913aa326bc2acc5068805d8ddd7a5e41b8ee5b8371a1cf3f7a094258e3a6\n\n# tcId = 44\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000001f03123b000000000000000000000000000000008e42e18ff3cbf8a3c3521731d62cc8db50975898d4d9a5b1ea8faac9fbbf5482b9e4716437fdb19c57463e84ffffffff\nresult = valid\nshared = ea817dff44f1944a38444498f1b6c1a70a8b913aa326bc2acc5068805d8ddd7a5e41b8ee5b8371a1cf3f7a094258e3a6\n\n# tcId = 45\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000000000007f57b69a014783dbfa4967b2f9cfa678a6f0b6e9cfd41648cec5b3c498e72152da3f82d3da2e8e9f8ef37b11\nresult = valid\nshared = bfa93e184f76279fd707d53ddcb3628855cfafb111bcbd0b4df6ef77aee624924d681626a153fa4e59c923b71fc090b3\n\n# tcId = 46\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000ffffffff80a84965feb87c2405b6984d06305987590f4916302be9b7313a4c3a6718deac25c07d2c25d17161710c84ee\nresult = valid\nshared = bfa93e184f76279fd707d53ddcb3628855cfafb111bcbd0b4df6ef77aee624924d681626a153fa4e59c923b71fc090b3\n\n# tcId = 47\n# edge case private key\nprivate = 3\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e", - "\nresult = valid\nshared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9\n\n# tcId = 48\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = db1d8ef1117282870db8113aa4f58723c756ce598686eb8ea531aa4d39abb1b982b1e7bb2648a6c268d2d351204db8d5\n\n# tcId = 49\n# edge case private key\nprivate = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = e98062df47ef884c9411e16466af84ad271d586008b1fbc50aeb3b36836a35a770dd42e0db84d39b26f4dcd2dc03d90b\n\n# tcId = 50\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 898aae0ebf1cb49fb6b1234d60f59006325421049a8a320820e1ad6af6593cdc2229a08c500aa55ca05999d12829db9c\n\n# tcId = 51\n# edge case private key\nprivate = 0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 83f862f496ab8af12b82a8a0c047d836bdfa36281324b3a1eb2e9c1d46699d81cb125cbe4b93939fd84e1ae86d8a83cb\n\n# tcId = 52\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a779ecec196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 9a26894887a0342ca559a74a4d4a8e1d6b2084f02e1c65b3097121a9a9af047d8810fb945dc25bbf02222b3b625f1e0a\n\n# tcId = 53\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecdc196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 8a8d9dc194a26910cbdae7908d185b6ad04b620c94c5ee331e584ed804e495bebc2290a2d7006a06e65b9bcace86c6f6\n\n# tcId = 54\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aece4196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = d57f6aa12d3f07e8958499f249e52cfbe5be58482e146c5414dbbf984fc5333710350e2ce96b33beb7678381f40f1dcb\n\n# tcId = 55\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec1969ccc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 188e8041d9a5f0b6cfdad315ada4823beda0146774fad65b500e6ef94376ebf8af7a40ff6f6b45019a09dde7d7fb5552\n\n# tcId = 56\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52959\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 2ecf9dc47e8b07ae61ddbd1680ead02698e9e8469f78d5a28328e48d0c9d7a2ac787e50cba58cc44a32fb1235d2d7027\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 57\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52969\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 06ee9f55079d3d3c18c683ba33e0d2521be97c4fbf7917bf3b6287d58ffcde2df88842e3f5530b39549ac20974b1b60e\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 58\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9\n\n# tcId = 59\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 024c5281487216058270cd1cfe259e948310e4adc263a9edaa4da0bc3f5f8ce8ffc88ae41b2c050bf6dd9c8c66857237\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 60\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 61\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 62\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 63\n# point is not o", - "n curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 64\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 65\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 66\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 67\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 68\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 69\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 70\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 71\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 72\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 73\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 74\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 75\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 76\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3015301006072a8648ce3d020106052b81040022030100\nresult = invalid\nshared = \n\n# tcId = 77\n# public point not on curve\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3076301006072a8648ce3d020106052b81040022036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c8\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 78\n# public point = (0,0)\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 79\n# order =\n# -39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f02", - "31ff000000000000000000000000000000000000000000000000389cb27e0bc8d220a7e5f24db74f58851313e695333ad68d020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 80\n# order = 0\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020100020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 81\n# order = 1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020101020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 82\n# order =\n# 9173994463960286046443283581208347763186259956673124494950032159599396260248791326163093631191247821216106\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f022d00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196a020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 83\n# generator = (0,0)\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffff", - "ffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 84\n# generator not on curve\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e61023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 85\n# cofactor = -1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 86\n# cofactor = 0\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 87\n# cofactor = 2\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c0", - "0a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020102036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 88\n# cofactor =\n# 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 89\n# cofactor = None\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 90\n# modified prime\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100f47e533e4e43e4bf04e901db0eea6efba14bbcdc3b1c5753a7c141487e4f43784e57a72310202323361f44760c8368bf306404300b81acc1b1bc1b40fb16fe24f11591045eb44323c4e3a8ac583ebeb781b0bc86b1a858dbefdfdcdcc9e0bb8af37c973d0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef04610400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f\nresult = invalid\nshared = 5df0762488bc0a7be1121508949382861f781c331676048c2d45d245be6f476c872113e6710bc746c3d06970510193ce\n# The modulus of the public key has been modified. The public point of the\n# public key has been chosen so that it is both a point on both the curve of the\n# modified public key and the private key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 91\n# using secp224r1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve ", - "of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 92\n# using secp256r1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 93\n# using secp256k1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 94\n# a = 0\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff303504010004304fcc45ccf5e23ee407b9291d2e85523962a2a79a50da3facca04b7267ad316db202cb07c24905740d201ded3028881090461042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 95\n# public key of order 3\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430d5d9a63564e6f51f051c1d8272d6d7b0c005f95ec949ab25c202e3392111ae93bac9c835802fa5ac20d1656d35a333fc0430b1fe2e222bf5a03e2e8a676a529a5583237dc76b25d747b9dc4c51159d51bef52456c83b927c64da7512aca99605480b04610471acb2a68e98de42473717a8873eb556e8a26237207605f16b96ff6511717f5b9e5d039fbb093c5e2c27af63c20cff3545867f2c325566f298770d2da6cc39f81e6ee5fb8c383e91771f962e5a60a63350d72793359f61f2da9493989eaa29a5023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000471acb2a68e98de42473717a8873eb556e8a26237207605f16b96ff6511717f5b9e5d039fbb093c5e2c27af63c20cff35ba7980d3cdaa990d6788f2d25933c607e1911a0473c7c16e88e069d1a59f59cbaf28d86bca609e0d256b6c686155d65a\nresult = invalid\nshared = dca6f0f2efbc90881cbbcf53d09634e8af0909384113f236165d1c05cbda054394312114317b87d251cc176db3e3dcb6\n# The vector contains a weak public key. The curve is not a named curve, the\n# public key point has order 3 and has been chosen to be on the same curve as\n# the private key. This test vector is used to check ECC implementations for\n# missing steps in the verification of the public key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 96\n# Public key uses wrong curve: secp224r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 304e301006072a8648ce3d020106052b81040021033a00040710b0c6f4675459f3df2bdf7ca02819f8086198d15c69b8abda37639e6031caca8a0121894d2491d8b3dce093703c70705bc5dbc8fa17c8\nresult = invalid\nshared = \n\n# tcId = 97\n# Public key uses wrong curve: secp256r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045fa4fa0b235c21e5c9f3baea9303bf86eccb7d31d0b998e141bc54b5dc43b23eef7fc5cf56308ed595eee99ade6aaf74d591c3d00aa1b438abc59c9607c22c36\nresult = invalid\nshared = \n\n# tcId = 98\n# Public key uses wrong curve: secp521r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005bce61fe27c440fedbad47d88bccf645db9c1d30daa086e592e8b6a0a173b87991b619801907b420fa558c7953ab97badd9c6c1d85859d9ebef7441a088ff57ed5008d7638de703faabeb5a78e83e8fcd4eb786144a75d79bd4cc8cfa8be66612d756c7b65c67f72c6acbade6f0d59e9752e845205b2a560d4f8d6a9e84bf812f94d18\nresult = invalid\nshared = \n\n# tcId = 99\n# Public key uses wrong curve: secp256k1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a69ced11a8bf7a907bfa47cba3368f2498b465a2407c90649c8da224d2a85bf445ad2df3d0113e72aedccf92ba6b8529ed6faa154bc27aba25f49371981e3b38\nresult = invalid\nshared = \n\n# tcId = 100\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004a9b0f90e49a57fbe508847bf16e4a7b565dfe870a50164bc2862fe6e4d54bd8b109939f7dbbf800522722b9c0b309ace3884abb69c927ad0\nresult = invalid\nshared = \n\n# tcId = 101\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 305a301406072a8648ce3d020106092b240303020801010703420004512fe17172db1125a49f9dbb85e387869adf015e4899c06f66ef870d72092d4d195e1d21b4a4647bf734468bee802ddad5449202eba1041df2fd8cde04697237\nresult = in", - "valid\nshared = \n\n# tcId = 102\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 306a301406072a8648ce3d020106092b240303020801010903520004c391dc7a817d47a3961ea1857895e101c0f5a8767d3a9c7cad49f7af8029f24c67309373cedd0831ccc0a0f45d344f3ab5923d2452507a980301a283848ae31574a57db51ce5e61d35aee483f1bb8e66\nresult = invalid\nshared = \n\n# tcId = 103\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 307a301406072a8648ce3d020106092b240303020801010b0362000419d3c811c04c5c0990d0258386195b2e29fdaba58d3f12b0bac8d3d53828c66c7a35e3d1eb0bdf2c08f23d0e4ab6a3246e456bf0fb863d03423dbe431baf799657c7816a619662fe5b900b754107ba5cc06b1d62c9a927891efee1a1fd404d7e\nresult = invalid\nshared = \n\n# tcId = 104\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301406072a8648ce3d020106092b240303020801010d0381820004216eb619457f1168ac873f5b560a75df80749f2bdf9abac31d6580e521ad70368013c3db74f663263b61eb12d4dcd597ad6c77cef6a5d6d2240b1e244d76403f693fb317ffc602a7ac313991b0a62f7bf469bbc95b3ff35003d972eb8ebcc8d4833e6c24ad52d49c1ce6244c7889ab67a8818232e192944542763fc667e5799d\nresult = invalid\nshared = \n\n# tcId = 105\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a0004691b24004380a599770214d0c60ab37cfc804cfaa7aedd11cbf0a05467ebec5e33322cda707b848086fd740244f62cdeb867fc057207fde2\nresult = invalid\nshared = \n\n# tcId = 106\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 305a301406072a8648ce3d020106092b24030302080101080342000422bf69f3a81dfa1ed8a97301943626e20377b78f7e7d714b880deb5a4a9c63a11591c2e47b777488990771855768b9a4050d61bf02d84cc6aa40447a07507285\nresult = invalid\nshared = \n\n# tcId = 107\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 306a301406072a8648ce3d020106092b240303020801010a0352000476568300e2b4c68861589b4966e67bc414811e4011260cb8be5f884869fa179ca8af40f80009e0a58b17ac3e551a772e76683c32e6e09112572542d7c1fe3d49abb56da56d669186e2623dc797129dc0\nresult = invalid\nshared = \n\n# tcId = 108\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200043345dffded3c33f7dcc19bb8997a39f2d6230abcb765d6142c30bf320c1fadff535feafd8505eb3e614db71826c1e258077a1e6057add7474f6d35dce68417812e7b919b1c673032b28c45d0a9251c43a2a73ab152f64ff8eba4eab312fa73bd\nresult = invalid\nshared = \n\n# tcId = 109\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301406072a8648ce3d020106092b240303020801010e0381820004a3677c646cd887685940c28076f55cda7469032845f2cb2af51c61492dc435aaa5b771d8e1528417cdeb89b5f629e06b234e21236b9edf46c7025177ee65a8e940f670d10c722cea355bd3a5c8847a38324b9a06a50a95da4e70bb492cd00194a8830975dd1e115e19315575ff841b30fd4a3f8a44725dfe280d0af57fc80cc3\nresult = invalid\nshared = \n\n# tcId = 110\n# invalid public key\nprivate = 2b9e57572da6cf4fb58cb94eab8df19383a136f219f2a515776a8bf48e1538dd1d811946c16d9f0184c9ce5cdf1dac51\npublic = 3046301006072a8648ce3d020106052b81040022033200024424530ea70bace90601f8d5869e4179a6cd689b6a18fdfec50cecf17cb836d24820211ada67815b42c2c2606303f69e\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 111\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 112\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307730811006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 113\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307730110681072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 114\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d02010681052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 115\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301006072a8648ce3d020106052b810400220381620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 116\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30820076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a", - "5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 117\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783082001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 118\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012068200072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 119\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201068200052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 120\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022038200620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 121\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 122\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 123\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301106072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 124\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076300f06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 125\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006082a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 126\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006062a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 127\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106062b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797", - "\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 128\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106042b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 129\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203630004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 130\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 131\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30850100000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 132\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3085010000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 133\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015068501000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 134\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201068501000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 135\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b81040022038501000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 136\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3089010000000000000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 137\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f308901000000000000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 138\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906890100000000000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f9", - "0c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 139\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906072a8648ce3d020106890100000000000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 140\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301006072a8648ce3d020106052b8104002203890100000000000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 141\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30847fffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 142\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30847fffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 143\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406847fffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 144\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d020106847fffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 145\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b8104002203847fffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 146\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3084ffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 147\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a3084ffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 148\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30140684ffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 149\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d02010684ffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40", - "c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 150\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b810400220384ffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 151\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3085ffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 152\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3085ffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 153\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b30150685ffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 154\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d02010685ffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 155\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b810400220385ffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 156\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 157\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3088ffffffffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 158\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e30180688ffffffffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 159\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d02010688ffffffffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 160\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b810400220388ffffffffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a71", - "3207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 161\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30ff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 162\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307630ff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 163\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006ff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 164\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106ff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 165\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203ff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 166\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 167\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076308006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 168\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006802a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 169\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106802b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 170\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203800004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 171\n# removing sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = \nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser", - " is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 172\n# removing sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 173\n# lonely sequence tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 174\n# lonely sequence tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30653003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 175\n# appending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 176\n# appending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 177\n# prepending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30780000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 178\n# prepending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012000006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 179\n# appending unused 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 180\n# appending unused 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 181\n# appending null value to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 182\n# appending null value to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 183\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic ", - "= 307b4981773076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 184\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a25003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 185\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 186\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015498177301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 187\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30142500301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 188\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3012301006072a8648ce3d020106052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 189\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015260c49817706072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 190\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a3014260b250006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 191\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018260906072a8648ce3d02010004deadbeef06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 192\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201260a49817706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 193\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d02012609250006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 194\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3", - "c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201260706052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 195\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b81040022236749817703620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 196\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b810400222366250003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 197\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b81040022236403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 198\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307eaa00bb00cd003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 199\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307caa02aabb3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 200\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018aa00bb00cd00301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 201\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c3016aa02aabb301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 202\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018260faa00bb00cd0006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 203\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c3016260daa02aabb06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 204\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201260daa00bb00cd0006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 205\n# inclu", - "ding undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c301606072a8648ce3d0201260baa02aabb06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 206\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b81040022236aaa00bb00cd0003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 207\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c301006072a8648ce3d020106052b810400222368aa02aabb03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 208\n# truncated length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3081\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 209\n# truncated length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066308103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 210\n# Replacing sequence with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 0500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 211\n# Replacing sequence with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 212\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 2e76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 213\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 2f76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 214\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 215\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3276301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 216\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = ff76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff273", - "26a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 217\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30762e1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 218\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30762f1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 219\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076311006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 220\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076321006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 221\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076ff1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 222\n# dropping value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 223\n# dropping value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 224\n# truncate sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 225\n# truncate sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30751006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 226\n# truncate sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106052b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 227\n# truncate sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 228\n# indefinite length\npr", - "ivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 229\n# indefinite length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078308006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 230\n# indefinite length with truncated delimiter\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125100\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 231\n# indefinite length with truncated delimiter\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077308006072a8648ce3d020106052b810400220003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 232\n# indefinite length with additional element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125105000000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 233\n# indefinite length with additional element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a308006072a8648ce3d020106052b810400220500000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 234\n# indefinite length with truncated element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251060811220000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 235\n# indefinite length with truncated element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c308006072a8648ce3d020106052b8104002206081122000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 236\n# indefinite length with garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000fe02beef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 237\n# indefinite length with garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c308006072a8648ce3d020106052b810400220000fe02beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 238\n# indefinite length with nonempty EOC\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510002beef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where th", - "e\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 239\n# indefinite length with nonempty EOC\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a308006072a8648ce3d020106052b810400220002beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 240\n# prepend empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 241\n# prepend empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012300006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 242\n# append empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312513000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 243\n# append empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 244\n# sequence of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 245\n# sequence of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 246\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3012301006072a8648ce3d020106052b81040022\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 247\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f300906072a8648ce3d020103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 248\n# repeat element in sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3081da301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 249\n# repeat element in sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307d301706072a8648ce3d020106052b8104002206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where th", - "e\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 250\n# removing oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306d300706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 251\n# lonely oid tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306e30080606052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 252\n# lonely oid tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3070300a06072a8648ce3d02010603620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 253\n# appending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206092a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 254\n# appending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106072b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 255\n# prepending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012060900002a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 256\n# prepending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201060700002b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 257\n# appending unused 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 258\n# appending null value to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206092a8648ce3d0201050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 259\n# appending null value to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106072b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 260\n# truncated length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009068106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH c", - "omputation still returns the correct shared value.\n\n# tcId = 261\n# truncated length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201068103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 262\n# Replacing oid with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 263\n# Replacing oid with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 264\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301004072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 265\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301005072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 266\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301007072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 267\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301008072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 268\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30763010ff072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 269\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020104052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 270\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020105052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 271\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020107052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared valu", - "e.\n\n# tcId = 272\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020108052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 273\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d0201ff052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 274\n# dropping value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009060006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 275\n# dropping value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201060003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 276\n# modify first byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307630100607288648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 277\n# modify first byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d02010605298104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 278\n# modify last byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d028106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 279\n# modify last byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b810400a203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 280\n# truncate oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06062a8648ce3d0206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 281\n# truncate oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06068648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 282\n# truncate oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106042b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 283\n# truncate oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f3", - "93e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106048104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 284\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30793013060a3262306530333032316106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 285\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308181301b061236303836343830313635303330343032303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 286\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201060a3262306530333032316103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 287\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308183301d06072a8648ce3d0201061236303836343830313635303330343032303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 288\n# longer oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906103261383634386365336430323031303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 289\n# longer oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307d301706072a8648ce3d0201060c32623831303430303232303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 290\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307d3017060e326138363438636533643032313106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 291\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308185301f06163261383634386365336430323838383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 292\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201060a3262383130343030333203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 293\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308183301d06072a8648ce3d0201061232623831303430303838383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 294\n# large integer in ", - "oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30818f30290620326138363438636533643032383238303830383038303830383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 295\n# large integer in oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30818d302706072a8648ce3d0201061c3262383130343030383238303830383038303830383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 296\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308180301a0611326138363438636533643032303165303306052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 297\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106082a808648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 298\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201060d3262383130343030323265303303620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 299\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d020106062b808104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 300\n# lonely bit string tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3013301006072a8648ce3d020106052b8104002203\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 301\n# appending 0's to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 302\n# prepending 0's to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022036400000004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 303\n# appending null value to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 304\n# truncated length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220381\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 305\n# Replacing bit string with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe46551", - "8f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 306\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002201620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 307\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002202620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 308\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002204620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 309\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002205620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 310\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b81040022ff620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 311\n# dropping value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220300\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 312\n# modify first byte of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620204c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 313\n# modify last byte of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312d1\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 314\n# truncate bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 315\n# truncate bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b81040022036104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 316\n# declaring bits as unused in a bit-string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly chec", - "king the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 317\n# unused bits in a bit-string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b8104002203662004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125101020304\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 318\n# unused bits in empty bit-string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3015301006072a8648ce3d020106052b81040022030103\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 319\n# 128 unused bits\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203628004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n", +static const char *kData97[] = { + "# Imported from Wycheproof's ecdh_secp384r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.8r12\n\n[curve = secp384r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81\npublic = 3076301006072a8648ce3d020106052b8104002203620004790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796d9b954baa8a75e82df711b3b56eadff6b0f668c3b26b4b1aeb308a1fcc1c680d329a6705025f1c98a0b5e5bfcb163caa\nresult = valid\nshared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135\n\n# tcId = 2\n# compressed public key\nprivate = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81\npublic = 3046301006072a8648ce3d020106052b8104002203320002790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796\nresult = acceptable\nshared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135\nflags = CompressedPoint\n\n# tcId = 3\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004490e96d17f4c6ceccd45def408cea33e9704a5f1b01a3de2eaaa3409fd160d78d395d6b3b003d71fd1f590fad95bf1c9d8665efc2070d059aa847125c2f707435955535c7c5df6d6c079ec806dce6b6849d337140db7ca50616f9456de1323c4\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200040161328909675213e32098d35a6b8308a8d500cca39dcee5e804e73bdb8deaf06fe417291fd9793b231ef5fe86945444a97a01f3ae3a8310c4af49b592cb291ef70ee5bc7f5534d3c23dc9eefde2304842c7737ae937ccf9bd215c28103e9fe2\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 5\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004af4ae964e3bcbd923accda5da3175d411fd62d17dd3c3a1c410bef1730985a6265d90e950ac0fc50743b1ed771906ff33b68cf4d3d83a885a87097fdd329ce83b189f98cec5be44c31d1a3a2bba10f471963232b8ba7610fa8c72179050eb86d\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003\n\n# tcId = 6\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200041478ab6e032b9545eda9ac2c264e57a11f08acbc76d16a0ab77b04dbdaf20f215c4183437b32afc471eaa603d14c7c5d8a4c84ee0e895bec5c37f0a1ca075e106ff6bf38801b5c697409d39675231108d33c4a5ea65aaa8c03e939c95d96c4c4\nresult = valid\nshared = 0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001\n\n# tcId = 7\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004f63208e34e7e90bb5fb036432467a89981444010663b8533b47bfa94bd2bc16f38aa516b930a4726e3876d3091bfb72ec783ed4da0cac06320817dc8bc64f59ccf06f48abc4386a150913fa95743a7b4601190e1c6ee8f8bf6354b254ecace45\nresult = valid\nshared = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004033271ef42d92ad47b273b09ea2f45401161baa52696590d0e175ff2d1c0dfa3fea40e4266d446546c05e480d57fabec7889f16a8bcc176602f6d46561614a2f4284abe697b7cb9ce79f7e2e71b155cb1f155ce925d16391a680eda23152e6e1\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff\n\n# tcId = 9\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004737e8437e18683de2455b68945bba31daec3e754d72f0a0776d3192b2f9298bb95ca1464baa6687aabb679f804cf6ec6c2b4d47d61a60404df63b1e9ac0954b3419bbc2ad52a0409aeeb82f4703758588059165b20367dcb4b235b0caf71d727\nresult = valid\nshared = 007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000\n\n# tcId = 10\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000437f9004983156bbd9c47891e75237bb13016bd7fe6f4e0f71cef0e63f16a672f0d3b0e20165c33407e146b6a4ae6962dd3b57ccb99e7aaf1303240516d0ebe08e585513e3695d42c467dcab5340ef761990cadc8d8840aacc944481415c07feb\nresult = valid\nshared = 3b5eed80727bcbc5113b8a9e4db1c81b1dddc2d99ff56d9c3c1054348913bde296311c4bd2fa899b4d0e66aaa1b6a0dd\n\n# tcId = 11\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200049655d8e5622718b317cfbc09894357f75a6b13fa516bcd6630721b869a620196cf0c3dec8860b32d27ed9bac2cf263af17321698116d7d811ae8da9b9cbbf9382c1e36e2b67d6c6af9bcea7d9de00ca72b398606c098a0a0f0c4b8941943ed65\nresult = valid\nshared = 6a99a5acd4a7edb1c707d7f8be12e81140338e3e14ba563c703c681a319a3f9ce1f90f032bf840f3758e89cb852ceca6\n\n# tcId = 12\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004ccb13d427b3c4bb33dd4f20cddabc68600eaf97eeb2c81e8c218ae90743e74ff38ca56f0c0224379db464dcf4a40f04350cd7a659b2c4851a5dcf8c990fc920c07d4d5aa50a2185750e6b84c42e83cff635050482decb4780f812e4c49fc7404\nresult = valid\nshared = 7c25a4f57f76ab13b25cab3c265db9d9bd925fecbf7bf93bef1308778646628decab067ed988a9755cd88e88de367104\n\n# tcId = 13\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200042664624307c02ef487030a632162c515f841d15ea3152d98ff2364232d7aab39343d5f703a4d5a31092aa7356c3a2f671c1cd603addfd8b5477552a3b32a18edaf3e33bec22ee2167f9da729636002a7974eaeb5ff082b2aabf8c7056b84c3ab\nresult = valid\nshared = 7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000002\n\n# tcId = 14\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004665f1f320b6ab1c1b52d144e52d87a154c2b4489838c9119de622c2d1b52b65b0a3955e44e0d4859175360c0f63dee813f14f69972f18caed7916c94a4d20ec344591e7536a4a7a4d8c9832818c96d60b1a81fabe64ea02c5f647e361bf5b60f\nresult = valid\nshared = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 15\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000491357ca87dbb08e85d7b1acecfd1e086078a82d19f81474da389364a39fe2543eb934b440173c38e61a1d9407855b5d89ef0d9e920764b6d7765b084cf9541dacc43d1dabaa390b0fb856097b0c00a8556f4e3848568ab4ae790c3d346ca01b6\nresult = valid\nshared = fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff\n\n# tcId = 16\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004d5a833bae33b2d10fdff6db7c54", + "77adb614b191c70d97c6f130a14e93931cc1dc058053fee54a264a00fdd16d3166fdc42992276b79925bafcd183b03ed18235350980abfe67b814c6c11074c38f74cd4e734ad58cdb49d9fcd2181d1b8f1119\nresult = valid\nshared = fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000\n\n# tcId = 17\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000467547cda7fbe8f16be5a4477cbb02979f1af72fc0f39302773552fbcf4667a8e23abc0e12856ee6234deeca5f22ae0503a4df7c068e7432417260cb9fe0d68b9c7fcf7e16a2ada05687d8f8900b84723103edbff0a42b27517da2760b7d38843\nresult = valid\nshared = ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200041363e3b99008e09bb3f085949b9b6ea26a318f496de568a96630fdb9d4c72c2814df3087a1741f32f24989b428167f93c653cb3ae8c3ecfaec57efd54bb8ce9d79c7bf6cc70fb1114f939be8f1a99bf1e42b97431124ef9fa33450faa4e76839\nresult = valid\nshared = ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000001\n\n# tcId = 19\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004ba2be8d7147e2417c2ec80b24b4c1aa94464ffd0aae1fa2e078b3afbc77c144489ca9d064acbb7a9cfa6196d0f467b7e65ee1ca1eb1351ff9968f553dfe2e4c59ff8ba34c22a42b3baa13a9a1adc7f13abd40f1fd25d46bc5330852b9371966a\nresult = valid\nshared = ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff\n\n# tcId = 20\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004d69850ccbacc4736ea200ff2f8488f26247945a2ab48dd3708f494b293d8cba83417f48974881c7fb03854089bbf66cc1c773ec03cb8cd5f007ec3b03bdd05a409b352103f0decf25b41673ab8ca3d04334babee01219f15701f2bca22d40b37\nresult = valid\nshared = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\n\n# tcId = 21\n# y-coordinate of the public key has many trailing 0's\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200046fcaf82d982d222d6096ba83e55b1c7dcb71a41e88f323333f44284d95c4bd3616da7a1bef928f31c26f885ba7adb487826fde2ed9f5649c11cf8465f8bf8ad50f68914936fc39666f68219d066506bea4001fdc816c9a90e7e2afb19bea085f\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000001f03123b00000000000000000000000000000000\n\n# tcId = 22\n# y-coordinate of the public key has many trailing 1's\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200046fcaf82d982d222d6096ba83e55b1c7dcb71a41e88f323333f44284d95c4bd3616da7a1bef928f31c26f885ba7adb4877d9021d1260a9b63ee307b9a0740752af0976eb6c903c6999097de62f99af9405bffe0227e93656f181d504f6415f7a0\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000001f03123b00000000000000000000000000000000\n\n# tcId = 23\n# y-coordinate of the public key is small\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfeb47fb40a65878e6b642f40b8e15022ade9ecfa8cb618043063494e2bc5d2df10d36f37869b58ef12dcc35e3982835fd2e55ec41fdfe8cabbbb7bcd8163645a19e9dac59630f3fe93b208094ff87cd461b53cef53482e70e2e8ea87200cc3f\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000\n\n# tcId = 24\n# y-coordinate of the public key is large\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfeb47fb40a65878e6b642f40b8e15022ade9ecfa8cb618043063494e2bc5d2df10d36f37869b58ef12dcc35e398283502d1aa13be0201735444484327e9c9ba5e616253a69cf0c016c4df7f6b007831b9e4ac300acb7d18f1d171588dff33c0\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = 6092a1757ddd43a04e185ff9472a0d18c7f7a7dc802f7e059e0c69ae16c802651719406e04de27652ff83da4a780ef2f\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = 89c804cb81443386b185bcd9e2e6c35ee6177c3b90298985c4e81a89d520cceb17d729540e56ecc343c26bf314f2d052\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036660041b1c7984620e8d7fd7ccdb50cc3ba816da14d41a4d8affaba8488867f0ca5a24f8d42dd7e44b530a27dc5b58da\nresult = valid\nshared = 35513157e804bd918d04de202778b81a6fc7ad8aa541ee94116a0f18466725d75e71c6942bf044b1b0ecba19db33e0de\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001141b9ee5310ea8170131b604484a6d677ed42576045b7143c026710ae92b277afbbea0c4458c220d561e69404dc7d888\nresult = valid\nshared = 102080c047881d19aefb01c29c82a4fb328a8ea6e6d6c914af73100507c8ee499799aaa646de0ea8c2727c0b5ed2439b\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b810400220362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff70370385413d3eff6fa3407ba24f682c2b01b51445dbdf5ef7b0dd0979f17e713e09081571f1e94dfb66bf282002f39f\nresult = valid\nshared = f689f6e475b4e15162521acab4637a3cdb9cb42aa92f9114b0ee300ddae89d5eafff3463a1f5004a2a1bd4aeffa47b78\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff112e191f1f78bbc54b6cc4f0b1e59ae8c6ff1a07f5128e41dfa2828e1b6538d4fa2ca2394c6aab3449dcb3fc4eb44c09\nresult = valid\nshared = f3486244119b3632fd55be9e6951eb5d9c8c62f6a27042f94b924155ecfd4ff8744ba3d25bcf85a7b925bd28a12b897f\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000028a4c8da5a05112fe6025ef41908969de20d05d9668e5c852ef2d492172ddc2a0a622fc488164fcc1a076b872942af2\nresult = valid\nshared = 8171b7c80d4c90bb58ae54393921ab9c5c0b3196f045e9fe5c8b168f0e5f6a77e1aa34ecedc5481ce55ab34c14", + "e0f2e8\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200043b5eed80727bcbc5113b8a9e4db1c81b1dddc2d99ff56d9c3c1054348913bde296311c4bd2fa899b4d0e66aaa1b6a0dd7b7f0f28d55e2f3a50f1f1bef3976834a05b43418e979303bc0363ed16d2d0b4011cc37b3c06ad73154faeab7915cd87\nresult = valid\nshared = 1fe6fea5f00d3005abaae2267ff18e430915838d87909ab503885edf38be7618ecb321f0a4df71b0913fbf12c76fc1f0\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200046a99a5acd4a7edb1c707d7f8be12e81140338e3e14ba563c703c681a319a3f9ce1f90f032bf840f3758e89cb852ceca63cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = f58adc13ff997d38383910db7befb17670393a33d95b049c2aa19d760c8e728ecedd32168476b90b26a3742dcc121b07\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200047c25a4f57f76ab13b25cab3c265db9d9bd925fecbf7bf93bef1308778646628decab067ed988a9755cd88e88de367104562ee0c57e71d96cefe31b4c4045bd4086a38e8ab9adf2d5567be318051d70f3aa68b753f271ab032b6abcce919e2962\nresult = valid\nshared = 56299684ec5ceb09ba4d94d1231005a826c9c08a5219c757e0136cbe8b6430badd4925172f2939891da7c7893850512f\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000024480ab33cb4bf7cb79c024eeade3fd641e2f3003698400e8986a7343a5da59a3b26eea4b4176e53239371437d834a1a7\nresult = valid\nshared = 1911a0ee6aebe263fdcf3db073f2598cdafabec2123a2f24a28c3d9151c871f32d6dc2f31d25af9c498fd68da23e5bef\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020797da4c0751ced16de80d16ab7c654a5dc27d092626d0865a192a1c5ea7c1b88c9fcab057946741e41cc28c80ec0b9a\nresult = valid\nshared = 15900643e2e0583976974b05f83c7a96611425f7c4a6eb51916ab958a037fd9cc172bdcfff4540a2ff3ce64e6505557e\n\n# tcId = 37\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff6c70898ae6fb31fa2f086562af2d10486ba4c6fd5e41dfe4aa61598b4707a3bc276a62feb1b98557e3b17c025f7adf4e\nresult = valid\nshared = 88a544a769d5c34a051416bd509dfac911863f604c83ea844bf0e4c5c272dec86d057a88b152a9274701938c705900c3\n\n# tcId = 38\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000eb1592858b6e6e3a199c0f3e7c5f0b4a92915936efb8bc0407680eb7274be7422156ce8cfc8b505b2d902c39992380f\nresult = valid\nshared = b7db26b286e7527cb1f454782fe541862ff0f8d7eed960e22855deb7ac2a69611668c777c53bb74c2bcd40edfbf7944d\n\n# tcId = 39\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4987abae412809c2fa48fd23b1bdf9e622f5a606c44117215ffa61b18ef46e54a7fbbf11f9a6ba59c991b4ae501fedce\nresult = valid\nshared = b1e8aab1aa633d98dc6b768594e1e3edb801a9ef483f287c83e19744d2ad343ad3debdc4dc178213ad6876b52284f552\n\n# tcId = 40\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000013691fe493d4d28bf8ee1dfec812d6c306eae0842919eda6dc525f0d49ac2d26a992251912139a2936849f9d6fa949a68\nresult = valid\nshared = b0de006f80f6f89e4eea6e46dfe305153005612d1e903171ec2886230971961b5202a9f3187bdac413ac24c836adf7a0\n\n# tcId = 41\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff615842aa06b06f78f0a66f7bea88d4b6ee59653eeaa00dc5e0a2b658f969b71af90c9b4e96bd3ca33846955bdccbd359\nresult = valid\nshared = ca8cfa42c5e374914c14d6402b1a99208e47e02ec49818913694ea0822a2cc6c310259a8f3ab7559b9974bc4c2fa337e\n\n# tcId = 42\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = edf040bace18d90bf9ce720df2a3b31d76d95b7ed9530a159ac0b24e82a871033eada40552f9e606f7115e6a78927511\n\n# tcId = 43\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000001f03123b0000000000000000000000000000000071bd1e700c34075c3cade8ce29d33724af68a7672b265a4e157055360440ab7c461b8e9ac8024e63a8b9c17c00000000\nresult = valid\nshared = ea817dff44f1944a38444498f1b6c1a70a8b913aa326bc2acc5068805d8ddd7a5e41b8ee5b8371a1cf3f7a094258e3a6\n\n# tcId = 44\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000001f03123b000000000000000000000000000000008e42e18ff3cbf8a3c3521731d62cc8db50975898d4d9a5b1ea8faac9fbbf5482b9e4716437fdb19c57463e84ffffffff\nresult = valid\nshared = ea817dff44f1944a38444498f1b6c1a70a8b913aa326bc2acc5068805d8ddd7a5e41b8ee5b8371a1cf3f7a094258e3a6\n\n# tcId = 45\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000000000007f57b69a014783dbfa4967b2f9cfa678a6f0b6e9cfd41648cec5b3c498e72152da3f82d3da2e8e9f8ef37b11\nresult = valid\nshared = bfa93e184f76279fd707d53ddcb3628855cfafb111bcbd0b4df6ef77aee624924d681626a153fa4e59c923b71fc090b3\n\n# tcId = 46\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000ffffffff80a84965feb87c2405b6984d06305987590f4916302be9b7313a4c3a6718deac25c07d2c25d17161710c84ee\nresult = valid\nshared = bfa93e184f76279fd707d53ddcb3628855cfafb111bcbd0b4df6ef77aee624924d681626a153fa4e59c923b71fc090b3\n\n# tcId = 47\n# edge case for Jacobian and projective coordinates\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c0", + "59bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = c3d38450a5dfdbe64f4b5da3add4ac1315f87d11720f29beb6f3616a65ebca1d569c0fae5c5bbb6d146bf9103e645b9f\n\n# tcId = 48\n# edge case for Jacobian and projective coordinates\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004183c0d3650d35a33423c0d00896aa0af9f340217f42086ba51203d158a60fa91ee83b52034ee6167c6593ce67a31c38a20813d9e7eea718d46485650420366dcc1cfdb5cde93eab28308def758ba4c3ba386139d4a3a3bdad64c54192f2bde32\nresult = valid\nshared = 18150961859e3efad6267582f97417f19ed8e7e537b692b91050944a6fab8030411dd92e941357c7494af0118840a614\n\n# tcId = 49\n# edge case for Jacobian and projective coordinates\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004ce5ad811e7eb08024e40e30c1cb29cacdfc8f809f7f0110e6b225c6d8336f60c30a573ef1b912f5fd300b0615e9fdf1f631ba974beb9544b4a8c9945f72f3e5fc569438c4303672279fafa900e53690aff753da92f400ab62de8067da99fe37b\nresult = valid\nshared = cdfc9463af891682c51b6f4c9656551c33b80739f177612f27a4b1f37c97fd8023495b0bc15c688ab19b7f9880efc8c5\n\n# tcId = 50\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b810400220362000442faac2ae2bbad43a6e45a796f1dcc70cac444ec1570ac769d6e86207443db8c03a33ba07862fcc619cec806ce8826c2776e31dd086c1b19323b58084553bb0825d091ffb123d265afa5970cb72c2e6804ab327834299641e70ff14291975bb1\nresult = valid\nshared = bee46c5518e8e2f5c7fa23f2ab8fc43f5a7419f70373daa1a674630b161ea39c381a1eaaa90efd34aefa9ac6edb53c75\n\n# tcId = 51\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200046ad66f673d832f8a86cfd7a66d216d23a26583235c28ecb7b598ff8dd1132bc6cf0dc46a98c864665f195a996563e57770aaaadcbf36531a318da95120d9a800226ac9fbff06f47837911c7b95f5187c43ef959a4ea3e117b847f1dd1f8cc4b2\nresult = valid\nshared = 1ef2e485531e26d69ab7c7b8c27c1b4be152728961875681042683678c7bb4ef8b59c7c1d62adb5f034bb2886ff691e9\n\n# tcId = 52\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004f842e8f47151949b5cb6cde4acc7a83d901173ae316ec423e1c966c8a39638ffa6def3160f7bea664982b9636f639f72702fe1d593454f73d06050655e28ecb8cfdfe13dcc7752bde38fe0070b43bda5e6b7203b45077471825df1b816a428c9\nresult = valid\nshared = a8573b49006362d9b7363c502969b2233b2fc5730cf575d414c50a45f0a5b4d518bd450288c89e81d5171efadbce59c5\n\n# tcId = 53\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b810400220362000464e68d8a8e6d44142fd0b3353275df4be95b0ff9465d114a18ff238fa4d3947ff4e3fc66970d85731d784b0a17157887cb961cf636c0e8d4b5f8db0060c2b699ed750e92a05ac4da49780b8a48729c6c2b866c75754afb2c7c2d661ecf640cc2\nresult = valid\nshared = 33f9aa308445cdc2d159cd39c33b495382ff8b9e21b6d1b160577a4b3c5daf00b8dad3c83852f18f27a4402ce94421ee\n\n# tcId = 54\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004237e5a05a3b9dd16f27d1cc04d16f19ec3d27881b90c2049fd2665cec7eaae1cacded4e0f8abba5a64d4183a71449d9b741073dc2594d02ac9a88988e51d7bee22111962f63748efdc8c311f631ae8680c8996028da4e956ac1284d0c01614f5\nresult = valid\nshared = ddf7fea52b92e1544fb1c7ce2274409bca1704f44bc0ae1a6a8b388eaf316c90bce99b0c203f7556e5baaa26c6b7ad6d\n\n# tcId = 55\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004810face99512bec259d575229d9586791bdfb1b221d23c1738e4f9af0498f54b18cc0cbb01b64cf3411ec4b68480db6d6c06e6209188f354323b4db6f54f2b1dfc5c1c3dd4fef0cb379a7d7ea085acdac9e60e04f8db488be97f81ded66ea33e\nresult = valid\nshared = d2287ccb642a76e001124dba6c6ce19e82536690abf542104cbd45c8708e462d8ce06e05ad2a0fea4d68492fcf376afe\n\n# tcId = 56\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004f0b00271a2bdde4bddbdac00406adf056d32b9b03f4bd29cc66093df22e5da09fe48cabfc8d44bf136b5be275c7f53f66ccdd0d00354a307fea0091070b61fa9e2da1e2f329fad68013449ecf477fe33458039bac911104da62c29c08192a315\nresult = valid\nshared = 36151b0d1c1b28ac062e0829f41bd55044dae6f1daf30ab3ff4148a83ccbccf507bef7340c9544f047f554c71272ae24\n\n# tcId = 57\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004f82cbbaf1c9b6063a1b505580766b1446b6b5a990151703e7afd8a3175387fae567081019e0fdba7964ed6c0e4d0e45ecf379bc1eda30ce4fa560106b3d09bf38e9fcbec3eadc9e12c5622c01130c870c6136498f52bf62f3987defd294df33c\nresult = valid\nshared = 2451fd979864169462a77d742adb6f4505f2db956d2d2dea5b05e40f40f2654fc17d1cd1d3b353322bf0d1f3cf828c49\n\n# tcId = 58\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004ccec117025eece29e0ed077d98678738fd1a5cca20e40bb322a40566831243dac806555b8508f4eaa68beb4e78ed917686415f11232c5ecb9f805b0dcc6ce06b57fdf4e4ae4e6d822472d6725a9c1da41c2fee1519586c502bbb1a4ce2582863\nresult = valid\nshared = 0b3c06fb8c7c31a96fa6dc80250143e39af9e5c201fdbe92245771e345cf787f99234ecc1d6870599ad50a1cadf687e9\n\n# tcId = 59\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200041e829bdbd8a2c1321d04932aacd42972f5b2ac5b6a61b041216ca9481bb0da8abf6d5c1b63e868479f88d91345cb9153fca2c5698fd5b404c9bc125bdc3c608fe385367ee2b68408e959b83ec8bc3ec1e05a6fb984fedb256574885f5dd98940\nresult = valid\nshared = 5388905aee7f826b9a5b46faeffe26d49f8566c7a8e8af5a1653fcfbff7c0dfde566f043401248486ff91c390f5cc6ed\n\n# tcId = 60\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200044dd1e1b454814f3be1c62eb87c120772c2062a3d7e5461d5554b3963a9fb1190db965695caf555a45ae25be73e47c3745baa93fe2bfb094fe718c8c9bd8e1e6e86cd629dca0bb91ee934e93469d4fff32a41dfd78c27ba534a3d5970c388effb\nresult = valid\nshared = b920299ba26075d2647ccb978d15a54ef48330db3a8794d868ae02bf152b3c24ffa966893ea9eb5d3cce83e0239be02c\n\n# tcId = 61\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200049471abf4fd1b89d14df2325cb0a6bc92e73c8ec8e06c47b0978d93e9225adf089d3ee4e25c222b60d02199c1b58004c1d1b35bc1475cfcf3e3a6116593e2ca5a70344127ad907a4aa1d0c66139f287a7fe48cea5844a20df5a688b89211f19c3\nresult = valid\nshared = 705421b36618115fccb7ce6db8575fc4b3f0a2780ce02a3487e4055dd0d51", + "834006270e992e0afaa4c7ce0f699f7fea2\n\n# tcId = 62\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b810400220362000497046c4438b040315be39ee3869f3e8711c3196758476f2b4d90cd4399665c8c5c87f9cf64289c2bb01166742e1ae036b281922e8872b48b7d3e1384ab4d0a92c602ace7df3a93a47dc50c8c2e5e8a875d2d927f7201ce11fd8df812baa1e4f8\nresult = valid\nshared = 3c510006f8658f3fa414fef9723d634a179db7aaf0b7068b7696cff93f88e04136dfdac68349781bf05a787ae19e9021\n\n# tcId = 63\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200048e3dae500fe2c645aab15379170682503154af1fd0a21ffd2e34f0501c518507e0ebf45d7cb8653fd57bf1f894f2a552cb69af7e009d43bd6e688bf28f5e2815f3c9f4fab1d829d29f05312bad99d75c2518d2a301a74d5ecee1333582d79c14\nresult = valid\nshared = 248967afa36386cfeaa2214847c7c8c32a891a2438b83665f99e5fe7ab6dd86353ff7a8b15d4be4e1277c721d69cbba7\n\n# tcId = 64\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200041fca8f9695650a02d6fb8049b1531a3783e449df75a98d45999fb9857c3e756219d48b2c84d5143f08c2ab097b365a3345aa197e10c659d9c53fa754f112d77973107ee35c3aee3b0b1322b362fa08497c097c1881934e36cebd5e18e9240cb6\nresult = valid\nshared = a454ff4d944587a188e7ebaccd97649ab0cf83f8f8d19b3653a2e621206d3992868b5a5765d1fa762f0e3b0161a6809b\n\n# tcId = 65\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004731ba784e2ed21f4a4a2b4dd4877aec2fcd59031f80193b9558bbc1cf7fe6704469443fc7f398e8bec4086f88aa76aa26c389acfd51f69c89a153bfadb5d703a36cb12a4d85f5517cf462bf5d02abf7d19722f480eaf1a2617cba1941e1c76b6\nresult = valid\nshared = 99780ed215dc417f798c24327c3caf22f3685e5cf2ab835fc54b428117b7d17f0feb63f1755468157f3237b8117dffa6\n\n# tcId = 66\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200048725cb754b5527a3b053d63e0c4b097e4c34c5d731ab5cd4728650a618b4ded4bf9214d793ad74cfc470e35c5493a4b420a3c50049a42791721bc50d5f608cb272b60a5545db0608855bac8fbfa93990d6b80e3041773e10937d837010cae640\nresult = valid\nshared = d738b7373fe978f27b194f69edd5c421b98922f5e313b76859a9357a1faf42ed0e06dc13d55843357538ce7f4127cee1\n\n# tcId = 67\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200049c7a594eaf2ddf3c8ab6c6e94f1ec011dac9fa42bd27df2fbe402ac949d3a2c676b684a24c99f7d1b7e89e9f8a0634eb3b83095c7a1cd6aa9332460ecbf257f7afa449608b9e0ddd15292b875ad2fd069dc927ce00a4b5e679338023bd3a4e6c\nresult = valid\nshared = d9cc861db305b04a273d6b55348ef9f0a0a2aedf8b3d041a19e263ed6ae2e01e439a46823098f2aaa4867d4f08891e36\n\n# tcId = 68\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b810400220362000421b1aa359d72ff33a84ec9621483e65881d4fa8ce6df3669e0abbb9f6bf8d0ee3d9862a7dfb45213e39ffac7b3e1ed871f5e59cda5a5b861ab3eb86caa7c6e85933676efe660dff8ac5625ec8a7630a9cba9eb3fc149d3ef379d4a5ec174d237\nresult = valid\nshared = c59281d09f44f679294aee5668eb538d503ef25aac591614b46f525d8c0b109ab129674963500ad7b6268941a28c0067\n\n# tcId = 69\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004e1ad2b68fa69456574de95b1e048b0715009409ef5cc270be51fdd40b4f65b1ade67938a6a6d725b01310f2253a38cf444f726b3eb5c5ddc257d6d9bda9bfa60bec6a07fe07dae967511314370d3a4e041c34f1cb49fe6b70663f020488e98a8\nresult = valid\nshared = 9eb70f8949861c30f2456990abe4d345550008b8531901521361aaa17296dbca06fb3c87e8f4592b7dc5d1997c58c076\n\n# tcId = 70\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200040bad67ea0cca960ed3ea0588d5eeef366c24342ab3e46602891d1adb4d85d80dd242962c5654bd6af5913aeaefab27ad9a07b4197180c9869af795f696fdf6f25cdc66469f4ca7ca89c5c904636d85f6b9a19e7bcf0540831ca7aa40446dd8e1\nresult = valid\nshared = 45b02fd4dd76496701be3b37e632056cf7f63e9808f627fa858eecc5bac16a01a949741b4de151fe35e774c6d1e389e2\n\n# tcId = 71\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042c4069bc8078236eb23a8c4d575bde9b537b13b79989688c40d89d898a8c29bd7ac61745797b7ee55aca60ea7d6c2a8430fcfbed18a2504661e0253c43e47be01940e81fcb2d65a5e501111978059949c5d25b0b60de7821476b88a8342a0bdf\nresult = valid\nshared = 6ce9bffb8901baa801d1b19e92b5e5f47f5bee10c15fe44b8209977572cc8bd7902ccfc0d7ae98f6b58bb87f316a5792\n\n# tcId = 72\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000444bc1cb2d42ff974e72bc883dff784e86978501f918eef4d96d6e5242da6f5651a29cf5205c3dc3be33332fa2defc34788f88f549ed78732063020dd3fcb872515b25e088700e3eacb925de767e9edf6e89f089c4f9e0f4d8846980393667f6d\nresult = valid\nshared = c6dd2d372d5a5173ac63f6d5ab5dec972e8ae44d566c7f826beb7f2693e200c470ddedb1c9929c11ed86d135f44c979f\n\n# tcId = 73\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004b824eb72c43edb5b3ce9af94ebbd33b446b4a7233b89affe1cfa3beb53cd199fb119a356772bfec178c03b077df12f53f99851fbeb9971ffcf29ad61ba484bd0580036dcaa59f407bc88a471cd862b80a163c91a6f64602b6f713959b2f6c2fd\nresult = valid\nshared = 0299b7fc3e5506926fea66d20f65b9791fb6c88c7179f7d4701d68c13427ab56ac0f9e1da96c1d5f3d1a65ff3122c153\n\n# tcId = 74\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200049270b8cefb61a5d52fbb5e6b3b62361f3afa5d1a6b01419db9266e2dbabab36aea5b1961318eaf8f0bd7cca75ff2df5b7e538c63012a73f777b25e1737d44fdbc299a76288d7bcb57c8484c71c9bb6453245f239b6c6df32898424383b4c0309\nresult = valid\nshared = 13d78b7a4daf8ddd62e347ba235c36486fb2eb4a75a3e17a137ec6c2de37abaf45da92d1cf1b2966ded8d5381fd2319f\n\n# tcId = 75\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000419e5c28657479eb41d3718f63e0678be0daa58502a5406d65913567df7b86ab25e905ec846789530d81d8d1fc2a8cade4aaf131a0ccfc79a24bc889c953249ee85b49e2a1bfa52167fe20de296e6497ef9014c2cd0a02afbad1f9d00ac3d924d\nresult = valid\nshared = 7b0863fc6d72c4bd058576cff7a4aedf86482d3d9bc9c5fc55bd8fac8", + "4107dd0bf9f27d7e8d624edb0aa6ef1b9cc2246\n\n# tcId = 76\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000459666df447dabc386d8dddae93543dc76151f7c1c04858660d9ca8e0655b51a72feffb7085bacbde153fea75b5716ab5c3c7811d0c7435be9e36db00cd29c6ca879ef991adb157a6b4bf56e3de5cb34598b79a684cc3d4e23f22d10063e8d19c\nresult = valid\nshared = fba2bdfb54e468a4ff5afbaa54c7037400d76414c98eafaa419adab0df50c9692aac67d44a9efbd00d4f9cfc206d537b\n\n# tcId = 77\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200043bafce9b32616f3bde17fc989f1e556f92faf5c30e2cddebc2aba44edf36ae3957c9c610a34521e6ac454652aa597811827b4ff45f991f9405f2d8cf45d5d0876a260ef0deb6e86090c5b45f5b7b1786105324f40a0d2b43ded57868b38b43ef\nresult = valid\nshared = ba9b68d1c00aa1246edafb70db6ddaed8570c465d9a5836d4156a1ac7fda2a209c25471a0df6d7de93f980c89c841620\n\n# tcId = 78\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000453385b9303d2c5d1ea83e7700b3e811a7c905d1775c379a44e9e5c96821559700b492ee2868c5a01950aa4e2b05932ee8fa1bd83035aabbabc2be7b61f388f78b8046d36bee99b5489bafb3a86dede29c14d5373ed9bac72a92ab8e7c31fb86a\nresult = valid\nshared = 33c6c7e2c805889caae5679aa024dd79f54456f798eff0a0ddcc1b28d8ad302d2f67092275ff55f8f4d99357ac86ce58\n\n# tcId = 79\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200049ebf8d313da3e5ba237ee33e6dd5be770390f837c9528fbdd440a9eb2ba1cffb27837d865cbe1b32ff9c7995d5dd511caa4125ec258d182ee7f7173ca1d17139ae13e6072acd970ba56f6d5034e9f45da36b2ec774349be2168f32bbf04f9a31\nresult = valid\nshared = 0deeb01decaae0eee55e2c29501cdd9cf7d4db2f1679fb72efcaa5db6e05cc4a658480245c59fec9984c613501411b0a\n\n# tcId = 80\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d4cd22e8dfa620ca7d68e290451b09285298a1db5a7ca00ea830d6e9ec9cc4d03f5cd43fb2a9aaaa142fe4c6e2269cdc747e0ca07e38f4c5b412e52cb7930c381100d2aafe54b619ebf72e81a46e1149635d25a37fa66e2d1bc9ac25fc1a83f3\nresult = valid\nshared = d360753c568698d7f7b261dd2f5064ffc8aa9f03343a2291b967632646d51570562f1ae87775648e74f9f30e966e7380\n\n# tcId = 81\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000421b91b9c374ecf5cedc6d73422c6539b22ae5db61bfdb06b9c89e68112f6433e9d49715f474534fb9cd6c2cbfcdef94fb5d4fe306d59025af4e88f8cb3ddc3d64f707e6820b41cdfc055cd6762da23de01c1b311f1a5bf7010c4ff4ed0a7e84c\nresult = valid\nshared = 596af71209cdd23c386bb861edbd171ea9bc6a858993110c9333a956b3a03fc0f55393ca46bb15bcf9f12b496459c4e6\n\n# tcId = 82\n# point with coordinate x = 0\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = 96876e9ed89edf3e3dfd8ead06dcba0acdce7763eb98aded82976fa36181c79ac4e833df385af5ee860ca1f20df4cb72\n\n# tcId = 83\n# point with coordinate x = 0\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004dd607e954556c62e39b432d1f1b2fe6652d75a1fe33cd15c799ffac9d13d5d521899d25940da653d0824ad8456ddfb629f4142e08a3bd1d87bf6119a9ef4b0a80dc712a4d6c001bcb2794c4d1a03b1f1d392dc088c89ef844f93adb139d956b8\nresult = valid\nshared = 60d597a99c86a432e144bc2b0e0a89b91c4a72f3e1ff8e56e7f07d53b2e563e979c09e27b34be98bb19865e808d4290e\n\n# tcId = 84\n# point with coordinate x = 0\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004826d71ae4f7b3ecbb2a9bdf59512949542d0116f616440a550168f4b58812fd6c1ab94f310385fdf246db5efc0fd13995de099bdfcea355ee63827cf2a2e2d868f5cf0b487e41245df54fdc735eed6eb726cfc928bd5b4d01719d1644967ed1f\nresult = valid\nshared = 85961906edaa9adfa9c9b8279da66158f57fb350ff9b15dc4d75b8cab64b9d34f5ce912f1aa512a54c71821c6e31ff8f\n\n# tcId = 85\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004fa8919e4524e7040489cc17aa3d620f88276ef248d1ecd1e9a6637c7a06765f6f1d593b1febe331b9f696e82c5be61a4a074a912309662f44ce0825bf134582116cac3310577d5a00722ba513e6334cc17101091223346db67063cf6e7bffbff\nresult = valid\nshared = 43484dcf01492eab684d39881908da7f40119fe7183bba625c32fdc14da3c4236dc3397234e7db41857495cd0d09491b\n\n# tcId = 86\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004aecb8f15ab87579a03f5b8fcf33aa094337e4c362359c9f2727634909c6913c321be69f3f8aed693a31059989997fb32d4f4a37ff236d8f6237186a3a721a82a2ba22f8a628d7273ef3173e21ecc69969a47e669383ecf0cf5396eb02f46c3ed\nresult = valid\nshared = 65e6133929c8b061c25fe0bec9142c93d52c9f1695061b105f6c7da1347a967b5a3f1183565645f7b8fad8863f9a6345\n\n# tcId = 87\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000440dc66d81c4e15e1a4c009c60c3441725fff08b2543773b0dde00db231f44badd77a8bc9619479bd5288e40da153b8ddc3d530262b169a6fa700ee32a5cd057baf43d29627f342fda8f6f0fb21b1fa35be96a452ab4881f417c9a4e4136b1e6d\nresult = valid\nshared = 0773673dae337a1688c2c31d1a600c0ed72604a171c665b5307ebaf740fd518e4a7c5c91e4f86f65905640ee37f4f830\n\n# tcId = 88\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000453b5874738275a2e1d734e51f83636f89179c16fe89f46f4d8e71f521c594769d31725f6404122f21112943a1a22ff07586b41bb24bf303ae8545b25f7b98425ea62c4d3bf51d23d9d85e07719b828777efa0a28fb30f33b899980de3c532611\nresult = valid\nshared = ea25b07a161f318a81a693f6604810b8142843c4fd26658d9b64fedb58a5eba58c217c4176569cf33fa47ac9f2b3d7f5\n\n# tcId = 89\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042988addf62149e6ac08219d2f036d3f5720aa862905cf3fe7bdf136dc08b845e8a61be43db86d71a26dc17bf55374a9d53ac99c5d07de10ce74ed3b1c413686ebba700f49260b08357f95daf5b31a555345c076079f25d8690fc1ac20c71528d\nresult = valid\nshared = a8d424068fb7846b0d43a5cc13029d054b11c97e508ee0f92e73d35ac8351a462eedfc9da9dd1279f12812ba46c06053\n\n# tcId = 90\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004494b59de1b69534b4b62d75810ee3dad05a19afa41c7836db5ca78630208a800388d04034ba", + "f2923ad5af6ac72ee05f989df6d08f9a6400858d084fe770c0ddde298966cdc56a921a43184384d5a13f31c1eb4e834e23bed3069c10dfed6b63c\nresult = valid\nshared = 296f5d6fe4ddd8c3c7304beadd45f6cd3e3fcd4230c9d2ba1a13bd9b9498a3c8d1ef0ab6ee2a450b0c68e89a83711fa2\n\n# tcId = 91\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004b64c49ddf18bce79cff3b8cb7b0e58d48421eb6739f59d271fc4f54dd2fcb1cf56dd3b3c69173a5eab50ab1a2e0616d05d92b864cbc9e4a3f75650eff39e0eacbf87c4c010088f3338842cd97832724f79bb15986bd3fa85255816350473bbd3\nresult = valid\nshared = db1edbbb1f3ac6df9f46128812bce7818b5d745c75322a9abe89983be868aa1aac555f4d60ec272730bb4ad949a53d38\n\n# tcId = 92\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004a40b1ca1a51a8ee6bef5b58aaabcffe2e15f74a3087edb2620885d7d933e4f50d625eaad93b87b8dff58f0565792b174ab89717ffe87cd29ffbf3cd7d938b1173747bfc0311b78723684d7c9a1c2be3b597bf9236eed090028eda2146c477e65\nresult = valid\nshared = 1f84c641ade162a274ab2efc7cf6582f5a5d91ce7993af6956d55eea0e1b7fbf040da9750486b0fbb2bd70d9ccabb785\n\n# tcId = 93\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200044e7a82ad74a1b7851995f6e1a18141bb4584ac22e839d4d916018b150fed9cd0cce427bd446798522744d395e90ee4b63445c1a6a4cd467c20cdb298854f1e270afbea053b7784976b504d0e1339c5c86007cec363839958a1fa51e9483de561\nresult = valid\nshared = 54efb9bb7269d86b06282b1d7dc28a940cd7789ca4e104c4bb7c5e5736676c3e5370cfd97849e1200a031b668388d8d0\n\n# tcId = 94\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200049b54678f8581ce665108abeb0c09cb7985bb5dd858bbb71c88e05344de5b45b4e67f33ab58d359dca2da8df1149dd1bbd09ba7f63a8d35848b40746ed5fec7944ed44fd9a9a2fc3d13ebc5c05ff94d5f500ee15072d1b4c1375fd6ec4f32125c\nresult = valid\nshared = 1e96c829cc8a79d73fa6434bc159dc432c2ace3b49ad2e74380e7b02feb53b3393446a0331b974f2bf219ae95d2b23e7\n\n# tcId = 95\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000486cb7a3ff3aedb2f39ae22f2e828ec0817d94b831ae654dd66aff31a4d84b33fab46fec1abe1a9e6bbfac5c99565fd3bb2f72d565d2ff5c5c24f375448dd7bb442dfdcb61e073e48402707bbcc26ad43d4788a9f44715f1b8e5b62bf49ceca65\nresult = valid\nshared = 84e7af176ddba3ec3ce7b7fc43df1ed59b4e3228fa3f6fb41a01f413b0a6c7404e43f7747118ba264b7b026d714e90d0\n\n# tcId = 96\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ccf5a5b80deba6318b85f57a0d563e95765c7fe30df5ac88837f35329dd51070e29896f4d96ef40bcccf36244df835614e8785f8065f81c5e9270fd559b6a380b483874d298d0d382eee1edb6a59d9c163296ab7a068186b0d23f33737dd0eed\nresult = valid\nshared = 82864ef4d5fd25204ae1591c619f3ed813c762baa009ba3b49ac38c57b2f46652f719adceabfbcaf985b29958d1f420c\n\n# tcId = 97\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004c7f77ad286c68b88ffa64fefe4aaab3dee1f9bae37b7d069bb92bea82089e831a70dd9ed007ba6dce14f9c6d5e744eccb319ad6ec134376cb059a1c86984ea8bd154d826ed3dbae8d8d8e06aa0cbe0127ddfc32621bbc1f731f9d90e687a7cf5\nresult = valid\nshared = 1d0d3ed8c1e0d28f5e3766f193da7bdca1cc08376293f9bbde7bde0e9b1ebcf4cfa3c683dc63bcb42b2d9ede54242bc2\n\n# tcId = 98\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004aac3b4d280fc70a9fe175e1882a69eaca2482a0c9ded9200444028ca3dbf501fc361f7658bffec321ad577b48c9786b07f596bd868d51e73f0f7c25db956b12171cfab11abd4abb00a59ac432c0b0f058f4cca44fb581bc5803e472a05305f33\nresult = valid\nshared = bf19548bb1d7333f46cff4d9d2a81dbb48ca82a52faec2b20c3b27bde392a66b8e44780c2098a7b5253157b014b40e51\n\n# tcId = 99\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004747efb595d03dc05dd50c17155e1018ca14715054592906e671a2e2204acae552b6f5d345d3fcf9b4171892afb3e5587d8e709b083a8b5363663492f8a2a9af64c3ad01c64d8fa4764d61f43e6901a2445ce94b586f6090ae0687af0090fcd47\nresult = valid\nshared = 32d569310f61af475b6c6d075599625a3381b0a5b6a0b8c27c7165d00e2fd4dc8b2cf8e3b33e28ad4005525384227fb4\n\n# tcId = 100\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ab14764bf24f8313b1c49c4bd6e367231275b303c601c66f7e8b3105c6b02a90b60f38745d755ce4dd40681ed15a1ac93e14cf2fa708300a2b279f2c37fbc0da7175c92c1114c57ef251467f6f3de79fbc38cb1e3db70e4d95225fbd8ad96889\nresult = valid\nshared = 266b261b6dd9eb51770f6c4c11b87134abff1629b65171107a9b20e0c7d168e1efc3cbc402464f36aeb3c027b9198e10\n\n# tcId = 101\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200041e1fe9730fcd5b87b065fa90a69534036be45758513443f79c6427dbc31fc403e894043fb9c7f9f58c0a3670b1c0d80359db8f6a48970ccb9918cef04f352a4d91a204502119b2b7efc6c671a6ba4537e82c196e6d42685c5a6f559e4e8af704\nresult = valid\nshared = fa9f208dcedee597f51122e6274b86710e36561f2361e76186fcb73d1d7f2928426d98c3f69e4cf48d3001d64970425e\n\n# tcId = 102\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000483fcea208c79227cbd97319a86597f85cbfc19ef60c5ba7a92fc521c685e208cec7735be9be27c737d3f9d2faa1c3f4695a32184d58fc9001402436ce00b52b8885bb1150f61e660eceba10768d0f41d5e4e7c21d4fd909aceaf61a7455dd0c6\nresult = valid\nshared = 9a1ddf3d9feb190a26f20ed925ffbd35df1017c4a4c9485d344cb8f81c7f452b2ff3aec44baf34e50886f183480b6325\n\n# tcId = 103\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042bf26936c9164ba1072544c410757630b97d4e853fdb7844f1811507d04a687d951fa65a34364e894cf8b0815db95f5e10664627bf6f72330a2d6f212361a233155abb79da54343b8572e30eace8c8f5480200e751c2102078528812c83f3cf4\nresult = valid\nshared = 47e4608e9bccf6a3296e41fe34eb7181a1b5ec306a93aabd5fb38e75e3d75e8e2ee4c1c44a7d08660681b9fa66642910\n\n# tcId = 104\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004bb583da5de4c352e8a4fad31e9f71297bc963134ec182e96379c6b28a11d25fa4b77a4a0f947085db33b0ea77b9da09be1a0bd1300383ebd60b5aa6eeb20f03d56dd14df46157465146278536ebc28c5471a94f095554c4c085ac9dceb1da55f\nresult = valid\nshared = 8393a2689b376a228f3233ac61578be1aa2de1dbfbb28b03ad24f11ad9d77f8543e0977aea9a761d84e115b61507ae59\n\n# tcId = 105\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691", + "376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004e37791595b54e9b17cc30726d2425eeacc9672f5fbc91fc108cf8c84fff9b66ea65483841b7618694815e1a415186ba727af3ae6c658eb8c485d6ad8e49c1eade751457562d6003de75cd1f1e13ec15ea1d0413602ed7f6a6b7b84efd8a3056e\nresult = valid\nshared = 209417da721b49d64dfa09983a8683520e5e300a52b2e8f1677772ee3c086b339a1da25cab2be6e44de4526c31f4ebbc\n\n# tcId = 106\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200047f12cb987b08c235523465146b42258584398062a107429ce486b4b2f26a9628293ae4d30aa61c64bf92f97e6c08aea8d6621cfce5270cd7fa69dcb038ed8ba428afd77d528c230f8e5c9b83ef659c7e573f6671a18d8b8c4ceb20f2d760858e\nresult = valid\nshared = e7eac460eada6eb99988cc39f6129a74d9510d2ec39601adae76b2b8fd6122407b79411f8e7adfbc4f0dc50da9f2b82b\n\n# tcId = 107\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004dc4f06d671d86012cd5ce10377ffefbde657da08fa9259e4aeffe6211ac57f6e1c5bf8732989d44c1342a84fa6fd7fba2714ce23cc0f8e0a8bda593ec2b4b5294ffc0363e6e89403d4482f3537dba9e4f36be68d8e2edafd8cc2c01f5f7dcec4\nresult = valid\nshared = 5a197a9a8793d94d8b84084c6dc36c36a293ac90337a1cf6a2653435d05e2f563bfd2933f23ed3aefd75555ead76e827\n\n# tcId = 108\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ca1ec6798c5667813bfc45dd1815e82bec93eaa7081069767bec3685cdfa56267fc24da6c186d8b3271627a852560c5a097d7c41e610e5267dabf525763f4a4a7478c5f9ae4b80baa1e620ac1f22d8689b07ed9a99dce0cd4a11682f07227fc4\nresult = valid\nshared = 8bf520337de6e5c6f27005161b3b2f1cf08759527c8fc7935e3621f68936f191ac6e931b794278d3ca1e3772dbfb19bf\n\n# tcId = 109\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000444b9e976b9e89aa31519fc0a35288c55e2d7630a1cd1fffd288cdac8c74bc2edcb0ff878fcccebbb78df9e7eb0afa6b1384782b8a1138946594d8fd3b6c9b4954e73d8c040a7a153f3da5a40f9fdaf3bf31a4522416c316f10dc7cd8afc2849b\nresult = valid\nshared = 1e56dc30dad33e34273535688605bb98ad7c6dd51d9267c90a62562d08e47dd684180d4ab7abb6cc14ae4c9bd6ae9e92\n\n# tcId = 110\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004cf661b71c2b8734f7cf5142a66edf787c56a33174303c20741f07e0c348e1b5425705d9ebbb459967621ded6eb56d71037337aa16e1cf6e503182184c9451f9ba457d81a0313fb987343b8b39344f3693298010cd5b73e38bcdece66c67fa508\nresult = valid\nshared = 14e3a97e9ee69089410b72459870495a037d4077bba027eff4c499567d7e7f1af2720e1fedd07bd780509a4516fa5c48\n\n# tcId = 111\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000450790908c043344e1cf42b27e4dc33a35d68a0b93be0ec2be05745b3c83c35f0a3ecc3ed27fb3188a5ed9f24cdbd29d1b0f03ff85fd7fcad4ea5bbd8bd4c42935f0957ca8011cfc93ebeb789c47214e60e5da16e4dd87a53547eedee479b0978\nresult = valid\nshared = 85a8ddb9997e2525cd555721f2d5f3b199ff76b57e91eec6fc7d2c95703a1a32f46e3d46952a90b51054c5fd046b3107\n\n# tcId = 112\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042395d00779b6c7d4dad8cc9a8918496c28b2d4077e6886d0a1bef515e3125ddd813e5a9ea0f185cd009a69ea92210174b676775f763183c86f6fa50551ba137d79a83e8e32ff2fc09a2c28cdf80cddafcc0f40693e3985f28fe5c7dfe2d8b275\nresult = valid\nshared = c269465cfb336ed8c7e9c0377349193aa4dbdb92a9f4670dbf7fa7a1f7556e8e4b240d5b70edeedd1bf5ce769cb8415e\n\n# tcId = 113\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200045634ee155263c07d7d1e346b868ddd80e9a282fcef93bf6df8e8bc4ea34ff02e119a9f707816d06368ccb94c6e4802fbaadc33991574dde851e547e47027f54353e02d70be6bfa9f73953ca259011f23a4a80cbbaae8805d9d094ef150e0c54a\nresult = valid\nshared = 6a21f244472522389f084e2e4ae99b747b39cbee996ce9a3fa05353219b60c20fa3834d39b0b826f1096b7a467e8a218\n\n# tcId = 114\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000463aa6c3c249a32ebbccce65ffa1c56a205644b2c40b931b1ec9b042b52c1e99cd07e538299fb837fe67586aae71b4706166ac450fbd6d4921b442a11679f7786ba5a772ab33db00543a941bbc015e23581ba625a72c0e4eb44838e5f406ca1dc\nresult = valid\nshared = c469919f58d80b1e45d5d53ee28d616bdf827a88e0b2f499291ec4f76c3c89f276776ea96a6b9053cf02776698864526\n\n# tcId = 115\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004a287bd74d501c29df23d786b7c34ea0daf10e4b3fce71d720f61a272f22151db2c5914867493028c01e103820b0ba6b121cb298ff8977ecf21fea8ee1b6ba7d9b98dacc2a45d75c63ec8323001a9bf5f5ba4d3cbfee80482ca1333f4de90a14a\nresult = valid\nshared = 18dd1d7b6bbc6311afe5383d796a5fec13844bae25708725554de0b5f03ec0f7d2e63b64db5f83d4ee9890c61e442c41\n\n# tcId = 116\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ba406b46c1d92d4ba3f40b7b1fcf1e182289b84cdb387f28e5ad20f1ed8c43fe5ffa37128462763051e87f0d5ebfcd9d9dd4107ce4d92d783d0f0f81d7a998b76060735b6fd63bfcd971ca70132fe6dc9fbf8534ecc74b501ea01cd2e4f6c564\nresult = valid\nshared = d639b9c31ad3ceddda7745d19e82fde272a86d31f8e6c203eed53bcb705e9ff58d659f8e9d66aa0492da545a399294ec\n\n# tcId = 117\n# point with coordinate y = 1\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042261b2bf605c22f2f3aef6338719b2c486388ad5240719a5257315969ef01ba27f0a104c89704773a81fdabee6ab5c78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = c923fb0d4b24e996e5e0d5df151d3c26b1f61c05b17b7fb39fc8590b47eeaff34709f6f7328923bdcaf7e8e413d77ddc\n\n# tcId = 118\n# point with coordinate y = 1\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d39c38aafa095233ef1af8c0f4aaf357dd684131b4ac58a534f3d9446196b60092072dc7e538106b7b2e66dc33cac7283a1b203fca47828e6f7a09af645af0f729802ca2f4000c4b9773b08c5af40e201a27493ab3eba9cad7da157f89f14a2c\nresult = valid\nshared = af3904f83b9a0e95ee0b86b06155993ae598d14898366e5dcfc643de9d5ab72fc5fbef17d0a8fb36ebfddce46e5d4455\n\n# tcId = 119\n# point with coordinate y = 1\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000486da578567788ea3cc0f2a9da8d1393ed3a4447a75c18ea86af9d84b0cacc3b03749199890ef8e5d3188d4f1d041d46e433acd5d9f5542439eb2384ec1de0847d056058ea92489a74e083ffd6e030d060fad674f6a2a9a7c2198b8be9e465bae\nresult = valid\nshared = 1124bedd4c538ae71293085f2c95cf6b13cfe741f21d62c1f02a1e911667d5348b16d8afb544021acdc3cb7448d4d358\n\n# tcId = 120\n# po", + "int with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004111447d242f6b421ca91f561d04b2f1d2f0d9212d918bb4a0ffb1ae6459d078e21a312b2a12594fc8c78fe944c81d513d3c981d5e9cda06c4380d1a842ca5bb51ed3a712b049dda3a50ce10a9fbd0b69dfffaff0787c74d83237ba9c4686a01e\nresult = valid\nshared = 69426158a29971ef44b11783ef559ef4297246611c994d4815637128869d5f6a0202632fe9b5ad7c365b63050c9f2d08\n\n# tcId = 121\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d7cd5024c4481e27d1653566152efba3284b50ba2a141b2643ffda18f300fa64b81b234b8f646cab4728b4e7a97024d76850aec0a2d131c6acd5b298b6f905cdba18e68564bc31f882fed51b28786a2e72f8812668c976f9ddc042695595fc6f\nresult = valid\nshared = 6597401c837fb498ef0780a382decd4a0dd580e1af5f24c44ac164e256a4884ad5bd2fb1f6c964682cb0bf79e2c7a6c6\n\n# tcId = 122\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004e31487548037c0423e5710fc60e746ab6e47352561e416b583123a6d45caa911762cd88a60bce57b29a2ec1a1dc97fc1bd4b604038e6ac016dbdd48f0e6bd9f4b5daad8d68fc28838c6ab4a4eb5ab0eaea2cbdefa61dc57a3e04ae71242938b6\nresult = valid\nshared = 89411d9c8149b951fa0d5bea1e141bdfc2be7ed56d5e61473935789016bfd2daf6a40ac7bf5b1b0c0c02cd3aa0b2d95f\n\n# tcId = 123\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200041e17e173d37ab9838283f84f24a0a25caaa60c411fbfea582c44f8fba2560ece028cbe397b0eda69fc872d80d9ebe065789c0723eafcc9e9a2bad431b11caf7c5d7598ca999074056ba808a5d07977c678f9534de152ffdaca3f63cba3f97894\nresult = valid\nshared = 6f0aa11ab74ae5034e231ef2630bc76cda6eed26325d123642fce6a950b50f904bc0269f8f589bc4d38107332b14da84\n\n# tcId = 124\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000476efcc8322f0af8d62e736a0e110f66b3aad5c87bf7a77333fce864f4ba6e8dfdc16d6add2c542c4805589a71f0e48a3c268feab02714c892f826622b25bd21ce2a33514b16c9ee84c722b523b19ec5fc34d874133080e158981849355e1f50d\nresult = valid\nshared = 7eb9962e0449ccd2e60b4f8094d5a7b461d0d4b06af0ba306b74ab0d60ad5cf894fbfc282ac8dca3da196d7a296baa14\n\n# tcId = 125\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004c147d6c235d740b388e6d2afafcf85d5b7166e0df4ea21294088e3049b5c27d7633c93d30fdcf2b9375e1814f51b57bbefb2c12575c2234ee1f6b147b2e04c104a4d2b29cd8458f59b57bff75cab9b6acbe854fc4d96fb73372d6054bb768390\nresult = valid\nshared = 790295bed69f5347ecaae9befe15cd3499759cdfbe51974b1f1c4bc576e7d881cefa93d5e8bf2c21ebb982698e1c7aeb\n\n# tcId = 126\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004849c98fff5e31b108aefb16cc5cf5c7e88439d8b3ef188f2a5bc53f30901dedfe294abb38fb8cb46547a23cfe47909d656449f8a09aa88f8e260598ea2772df74d26a4431a03785934373be7b0ec9187b8215965761723e79591176960eac014\nresult = valid\nshared = 58a11a17c4ada4d446c08b83aa05687fee8fd6e78303648b8583262197f87be97dbe0bbd274e444a384e221696530fc9\n\n# tcId = 127\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000457cf645578dd242c714d100dd23568b16d3745da809708d01eb6a7168e6f71dec2074c5a6c23bd05523dfccc97dea6f08da195daa2056da0576bbc0ffb5e73bbdad03b04d23b4b602451a5ba91b17dce302f4ad164c6a4a2b58e3f0253a5e9d6\nresult = valid\nshared = 9260483a165690d54c10cb867a9f896bbd123d4768a18d322300d420aac88ae20f188b57f8e97afad55ebb815728f49a\n\n# tcId = 128\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004cab2d9d36c8ec09f18baa0abb521372a5cc2f624848f95460a8615238e68c11c1b43d22b84d1e535ec1d85560de293ce1fd5e6e7ac7eb6f173ad27b63985fcc83b9532aa56f2b59b53a9d116098fda9aba49d57c1eed0f063bcc701bb10f6c2b\nresult = valid\nshared = b4679af80a2ad34ef86eacf2c2191556bc0240c7913fb14c4c1f8623b5db41b854d630dc65738d1faf544aa42979aed0\n\n# tcId = 129\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d71df4095c138523340a4010cfa976b3b27af48ca83e8c6bb4596f9f8e8f13e38de4e25ce1d379b41a95f9d7f8a84606b28c69704b68788eb6a35c8bcaa7d9718e00c9bc567acdc458b6732aa87041d27b6a574d51e95437855bdc86748c5cac\nresult = valid\nshared = 8a34de8beb884364b583c9cbce390969967cc2a50090ee132acbd49bf780ad7f092ae3ebd4686a70ba554efdd6acd4ed\n\n# tcId = 130\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004a5761775850a25985a32430442d660aadf9e1e388b57e6e1bfe41495b9a05a8240f77f3397c5cdb0c83d73945984abedd2c7cfa5d5d91738c6577646658c0448f0155b5bf839575a36d1b26d87d1b2b3afb4f68653a6bfa5edfc57aa8529e622\nresult = valid\nshared = 790dfcff4721ef1701e3ff521e4221be51ae242f95166b9292c7aa2fa3c9b799afd353987a535690ff20d66f578f38fc\n\n# tcId = 131\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000454fc2f89cde6f6e86b6cf3286198f9a9e33c8d662c2151205ddcff12e2d32fa891eec2359bc07224d64c5e339ff9d58918a3b79372d142fb341df3b15b54b30e8f956b079b1278276a33b4d8508920940ca63fb8e970ff98f91ecc7986275edb\nresult = valid\nshared = cb861053c1d685194ea58413d8f9981e07145bc573ba924bdba2e29c5f98e9e70ea0cd0412d6c387449e9ae767dc4330\n\n# tcId = 132\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfbf3fab1acb39ce28f063d78cf250772bd00bdca98b769e1f1fd442b77f4270106a5f7d913c1905bea0dc75b31f87a115c566dbff0cd1073325450a91096fe5f5d601a636407cfbc4f5720f396fa6cb16987370ce70e29bb7ed2f447425f10a\nresult = valid\nshared = 375ffb90ad6c518668e5d25941acd5f9c017346d06f893cf95752258bcc5f9a25996a80f42e0475a80443dc4197bba6c\n\n# tcId = 133\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200045757577480f32aedac6e19765f9197cc278cb0b1a21fc6b6423c8f6c6cdea1d324c93eea8bd7dcca8fd293d69876524360b1a4825522acd833d38dbd61508547358a2f5c281b496abd57072ab14f9a2235bca02545e0427526bc2bbc9268349f\nresult = valid\nshared = d1a02a264ab15aef52a534eb5000e2943d8cf1f77255a27f845e96e1f81df47ee903c3e921539d77d72f55b7efc9dfbb\n\n# tcId = 134\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200041452f5eafbb5cc563f2c7ca403b803f6f8d66479062508a2258a8d988a769b80e077735b45efab1f297ceebd74347f584f2badbca55457404866baefabfa99b70fbf105d17f352347f6799647448708f788f8a145bdd96d4af2d7e65", + "4be7e5f1\nresult = valid\nshared = ccaa37769d035170bb5c19c135da2291446efd7ecd3be9008612b8ccc29f6e9d7a45dd4e0479123f03e7e304f34729e9\n\n# tcId = 135\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ad27a365e4b6994c5ed135fc4794d73eb71ec26d787fec10f1382b19c1b5cd1d672999feee86d5f305516d601fd1c6aaf8664858988f02f36c888f71872007870bb32654aa75530fc3b7a235f7fd2bcd815e303445526960f6ffcdd61d2d1340\nresult = valid\nshared = 4ae94d3eda5839f4b8b9ffe6d510144cf28bde98581e82726f2d76d933919adab71d2cdf4c4310f8abcc74d70eba3a33\n\n# tcId = 136\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004733041f3a60468bc0711d5a5073a71ef6062d0ae70706af51316033580cae058fc4ac99ebba823b19f48f309e34fb02933670dcc75ed47744771f60238ccebcddccd42d64e41045fd8ebc35bbae0a37b43388ddb87356cbb525a13d57f47a2cd\nresult = valid\nshared = 062b8a968e45435c2b5b54b417f55e89f935b66dec44882c06ab8d6cda8dcfb553a78361d382a9211191871e9a34220f\n\n# tcId = 137\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000481885804ee931988cff3f218c9af1429573ccf8c8f3df40c698d976e8bc7c12881953445ddc4f1902b2f2f3153304e82d7094b673b76beebfa5d84c49b01ce168c459201cb8192ef96d891010e4bc88f0acc4fbb40ad61966e787b9a298a2bba\nresult = valid\nshared = ba41c38d33b2ae342797ee69723f042a71dd7fb15f3dc80dae403d4f88acae28e2e51f2ca9d52b4aa4e2b3e58257e24d\n\n# tcId = 138\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004167915d962a405f8d04d6d6494270d883fe7594e9a21f7b57715750f8d78ec0714f0fb85a9fe5aee4e6d10344e4b12f91f00441c8bf567ff84e6ee4298b9d3392c78fb32461958102e1d29d2f4c4732104242cc4bfee22aa8f4a172aa510ac88\nresult = valid\nshared = c6af4eae5999e0d0658505cb4b395e9d73592a3d9d0b3c07caeb2bef1b03ca4d603b33e6f6bbd90f9416c4aa0022e584\n\n# tcId = 139\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000466e1fe893f72ffea5e24ea5a4f0d6558fdbd3222dba6e3340753c82979ac59530dbd37fac2f51355465d56afe1de582beaca9104ad269b0f848d8b4d71182afc30129147369a74193ddf4ddb3b6ff128f94168ce0bc60e7791b4b1ca2e29431b\nresult = valid\nshared = 9e364adcb72b15a42cbd6fa79114889e22b93b533b0119afd90914b181128151b8a17db49004ec39ad5db5603fb9711d\n\n# tcId = 140\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000462ebaabff2a07a852af9aab8126e93c31109e893cc61b354a72a1744cb409a02cec6e6195845957a53bde97dec7a87c25ea11b003a694e371c2be1cf5db5b7fba278f6968f54c5fb6677987bbb6b55dd9072e8325b365c25262c5024f68b2e5b\nresult = valid\nshared = 23104806dbd85f71d8fc38101b0cd0bbcd60331d8f74869f0643116ac362b5e933db8743ff80dfcc2df5cbcbf027185e\n\n# tcId = 141\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004276a5a274b46a0a36f811cf64bc7a644d5ad9c124be002a6fdd1cc111880655c8d2987674ea49e7d70d2a0ae820d1a7d4ec3bae2dd1d77af082fabcd68ac20f209e8fa446478794223be1d63d71987e964e45f0bcf6a2ea0a12c633445285a46\nresult = valid\nshared = 283502355b21189f7361e89457550974f86ae2b66d025506899c15b390da248e14fd1b4f25c8584d1a71e7f8c93fa976\n\n# tcId = 142\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000498fee314cfb3c01cc2d9fd7c2568336027840008bcfbfc8292421ed6b0727fa20b7002a5726a685d44963ad8f74c695da25a542b8e0bb9a4858be64f70800da93af6776bb795bb169f4c9d151795f3a5a37a3c82264cf6870c4ded684a71269b\nresult = valid\nshared = 9044be70566664ed91dab85aa5ff644d7a346810d2678d27751917c3820c4c825034b78a957b8fd1d47e86e67e5ba9f8\n\n# tcId = 143\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d16d0b11d0a326bb2725b3c9cd598746af11924f6172ce53b19a942b965562c2a2875fd15ce1f4869156d5cf08780c74d4c4927ca175b5327c9f321cd2a7b1acb58fce351160daea5d5c64d76d38d3ab17f7c1432093ad4d620053f6f675864a\nresult = valid\nshared = 1fa4c8e6dec89088a8fe725530f5c154672e84488baaf70a08b2e96565962653577402161424294b7f377208fc936139\n\n# tcId = 144\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000410526e3b097a99ea507ba6795ea1f77718690460117bfac9ed95bee311db5f8a1a2767c134b19db3c387a1fb45be7029312c75d7bbeeee48bc15b55dfb716511c5634d719d26903bcace1c60a8e030496156d9ccac97cac724e093574ae4bc83\nresult = valid\nshared = 04f4029d372332b4b226c9f32521ea39a58b655d24e35190ce04d58f0c04814be7f6ffcb8a4a15134224134f029eda9f\n\n# tcId = 145\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004e632cb201288b643f235533c44846b11a28740ee4137a22cff7f542054d6337f46363849c8310e20d8b29baddb3109ff948d42ae959c3ae143d4f02d268726bc2b66bafed7657b1a53e23eed48094c5ca8d28d16121aa6237d8150ad6c326655\nresult = valid\nshared = f41f912165827cea27ab8147a46abeb30c1bc73cfe0520d7d8698df8f9529afe26eac707340f38b49ec5e741d646b9a7\n\n# tcId = 146\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004088330380613adb0b8e531649809fbea340edbdf598af028e74ba0b4f18e2d50118531b9a92b07753b2c13ceb87d3c8e38e625b500f4b9bd2dc781892fff96d89271909d3e561a63e415467d6d455d0a4c19c36f16dcc2417a3425c2adda9034\nresult = valid\nshared = 6e437e26316eb2596400d8fdda5be90caa94d62c425f27df5ca67898a8ffdf3cde577c4d2d66f6522498f0b295d77a2e\n\n# tcId = 147\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d9a9d1e0aacaef4aecf241d690ee4101df74d7a37f18ce3181128f8d4255cd34702b17f116b2506cb8f577d9357e3629966e62e6f95c9eb7833ccc1f22956a1e2599a875f8139d9a2b31e2000611b4d6db1d23e7f0db5b5c17bb44e150ea2695\nresult = valid\nshared = 854772b9b77d4687571f1934061dbce0016d47b90a8b5d38229475c213cd5df25f960b775ae72909cccc5ba14dd03448\n\n# tcId = 148\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004535d22f39c8a5591e7a1deef7a6c34965fb5d1e616f14bb12a7e6310d520350f2f75836f9c8189ec4503ef74a0b850d4abb05ab1e5c6061884d1eff3d2be78c76759b986dde70552aa1e97bc014f333c0d5af8b46d61e1ae06774e2f86267312\nresult = valid\nshared = 037d459a54fe6b69d893f4d3094a5e0a93251d5254cef5b022e7065fdf52e3be8127f2ae2e336e261a71f6e41aacb2e1\n\n# tcId = 149\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae", + "4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000489402a143d57ec585aee1243d3a7adfa87eb80c60bd09cbb56b64eb0a1b7f5927318d8573c6239c6feeaa58dc2ae2e40d605189ac4a66bd6b9e708bdbccc4647543c0dd1d3c64a2c160c32f729f2b15dd95852c9b207508651d7746395a5a490\nresult = valid\nshared = e8d03dffead2e40ea915db4c9c67abb45aa60992422b70374239caf58b96f86716600c1cc4449362dc56ca057bfc5e5e\n\n# tcId = 150\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2a9c52a5936910c05c4144315127bf662c292b8f0681811c2bf8f4f9cc5bd7ab693f7cbddb5724e7e29dd023d155ffd335e8b872ae1b7a91293ae9cc8f654f05ff4767db208b76c73b6b34c5626512e6ba92bcc937c9bcca9447dbec22ff106\nresult = valid\nshared = e820f997928a71186ce09b96923c317cc128cb761c87e97073a851610ca12f219937938789bd227a8d72b2b406c471fd\n\n# tcId = 151\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004dcd0224ad2219dc3af05eea5d27974a75fb1960d0d721c39f107bf45346220994e520ca5a646701e9319ceb08017a302e0b1bee292cd1cb99f145ead3d12285903b1e549fcce7591a101a1675fb9b6e30e678037f4d58d220c1e36a4e79f883c\nresult = valid\nshared = 0aed8ac7d04af070b73a03f37ef711296db8ac64bab13e15418df6373aad81d8e0fa789b9292933d7f11b8614076e074\n\n# tcId = 152\n# edge case private key\nprivate = 03\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9\n\n# tcId = 153\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = db1d8ef1117282870db8113aa4f58723c756ce598686eb8ea531aa4d39abb1b982b1e7bb2648a6c268d2d351204db8d5\n\n# tcId = 154\n# edge case private key\nprivate = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = e98062df47ef884c9411e16466af84ad271d586008b1fbc50aeb3b36836a35a770dd42e0db84d39b26f4dcd2dc03d90b\n\n# tcId = 155\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 898aae0ebf1cb49fb6b1234d60f59006325421049a8a320820e1ad6af6593cdc2229a08c500aa55ca05999d12829db9c\n\n# tcId = 156\n# edge case private key\nprivate = 00800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 83f862f496ab8af12b82a8a0c047d836bdfa36281324b3a1eb2e9c1d46699d81cb125cbe4b93939fd84e1ae86d8a83cb\n\n# tcId = 157\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a779ecec196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 9a26894887a0342ca559a74a4d4a8e1d6b2084f02e1c65b3097121a9a9af047d8810fb945dc25bbf02222b3b625f1e0a\n\n# tcId = 158\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecdc196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 8a8d9dc194a26910cbdae7908d185b6ad04b620c94c5ee331e584ed804e495bebc2290a2d7006a06e65b9bcace86c6f6\n\n# tcId = 159\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aece4196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = d57f6aa12d3f07e8958499f249e52cfbe5be58482e146c5414dbbf984fc5333710350e2ce96b33beb7678381f40f1dcb\n\n# tcId = 160\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec1969ccc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 188e8041d9a5f0b6cfdad315ada4823beda0146774fad65b500e6ef94376ebf8af7a40ff6f6b45019a09dde7d7fb5552\n\n# tcId = 161\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52959\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 2ecf9dc47e8b07ae61ddbd1680ead02698e9e8469f78d5a28328e48d0c9d7a2ac787e50cba58cc44a32fb1235d2d7027\nflags = AddSubChain\n\n# tcId = 162\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52969\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 06ee9f55079d3d3c18c683ba33e0d2521be97c4fbf7917bf3b6287d58ffcde2df88842e3f5530b39549ac20974b1b60e\nflags = AddSubChain\n\n# tcId = 163\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9\n\n# tcId = 164\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 024c5281487216058270cd1cfe259e948310e4adc263a9edaa4da0bc3f5f8ce8ffc88ae41b2c050bf6dd9c8c66857237\nflags = AddSubChain\n\n# tcId ", + "= 165\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 166\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 167\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 168\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 169\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 170\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 171\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 172\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 173\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 174\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 175\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 176\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 177\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 178\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 179\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 180\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 181\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3015301006072a8648ce3d020106052b81040022030100\nresult = invalid\nshared = \n\n# tcId = 182\n# public point not on curve\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3076301006072a8648ce3d020106052b81040022036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c8\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 183\n# public point = (0,0)\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 184\n# order =\n# -39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c0", + "6072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f0231ff000000000000000000000000000000000000000000000000389cb27e0bc8d220a7e5f24db74f58851313e695333ad68d020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 185\n# order = 0\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020100020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 186\n# order = 1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020101020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 187\n# order =\n# 9173994463960286046443283581208347763186259956673124494950032159599396260248791326163093631191247821216106\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f022d00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196a020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 188\n# generator = (0,0)\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 189\n# generator not on curve\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e61023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 190\n# cofactor = -1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 191\n# cofactor = 0\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c", + "6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 192\n# cofactor = 2\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020102036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 193\n# cofactor =\n# 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 194\n# cofactor = None\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 195\n# modified prime\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100f47e533e4e43e4bf04e901db0eea6efba14bbcdc3b1c5753a7c141487e4f43784e57a72310202323361f44760c8368bf306404300b81acc1b1bc1b40fb16fe24f11591045eb44323c4e3a8ac583ebeb781b0bc86b1a858dbefdfdcdcc9e0bb8af37c973d0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef04610400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f\nresult = invalid\nshared = 5df0762488bc0a7be1121508949382861f781c331676048c2d45d245be6f476c872113e6710bc746c3d06970510193ce\nflags = ModifiedPrime,InvalidPublic,UnnamedCurve\n\n# tcId = 196\n# using secp224r1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 197\n# using secp256r1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 198\n# using secp256k1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 199\n# a = 0\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff303504010004304fcc45ccf5e23ee407b9291d2e85523962a2a79a50da3facca04b7267ad316db202cb07c24905740d201ded3028881090461042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204a", + "dfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 200\n# public key of order 3\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff3064043074a89c1d95030a24dddf35deb3d490665cab6a0e72741abb05f3fb7e34ec8b432b39fc1ba64285f407856ca80690f125043054e7a558b35bb0e9af4a419ec6635f3c0d34ae013cde6debef47514bcb980ad547c9aa5834be44eaa02e93bf851344e8046104c98adce2b5ef154f90d7d6f0c2ec6c526a9f214cce85ee84290e45fd6e5e88f82dfe994c0050d838789744af8b8d9505f29cbb59d91d1908faaab1cd17b7e0736df1e09a4fc42366abb339565086f7d872c779af84980f9fd725446ff0e2dde5023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc5297302010103620004c98adce2b5ef154f90d7d6f0c2ec6c526a9f214cce85ee84290e45fd6e5e88f82dfe994c0050d838789744af8b8d95050d6344a626e2e6f705554e32e8481f8c920e1f65b03bdc99544cc6a9af7908268d38864f7b67f06028dabb910f1d221a\nresult = invalid\nshared = \nflags = WeakPublicKey,InvalidPublic,UnnamedCurve\n\n# tcId = 201\n# Public key uses wrong curve: secp224r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 304e301006072a8648ce3d020106052b81040021033a00040710b0c6f4675459f3df2bdf7ca02819f8086198d15c69b8abda37639e6031caca8a0121894d2491d8b3dce093703c70705bc5dbc8fa17c8\nresult = invalid\nshared = \n\n# tcId = 202\n# Public key uses wrong curve: secp256r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045fa4fa0b235c21e5c9f3baea9303bf86eccb7d31d0b998e141bc54b5dc43b23eef7fc5cf56308ed595eee99ade6aaf74d591c3d00aa1b438abc59c9607c22c36\nresult = invalid\nshared = \n\n# tcId = 203\n# Public key uses wrong curve: secp521r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005bce61fe27c440fedbad47d88bccf645db9c1d30daa086e592e8b6a0a173b87991b619801907b420fa558c7953ab97badd9c6c1d85859d9ebef7441a088ff57ed5008d7638de703faabeb5a78e83e8fcd4eb786144a75d79bd4cc8cfa8be66612d756c7b65c67f72c6acbade6f0d59e9752e845205b2a560d4f8d6a9e84bf812f94d18\nresult = invalid\nshared = \n\n# tcId = 204\n# Public key uses wrong curve: secp256k1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a69ced11a8bf7a907bfa47cba3368f2498b465a2407c90649c8da224d2a85bf445ad2df3d0113e72aedccf92ba6b8529ed6faa154bc27aba25f49371981e3b38\nresult = invalid\nshared = \n\n# tcId = 205\n# Public key uses wrong curve: secp224k1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 304e301006072a8648ce3d020106052b81040020033a0004fef61198c88514f19fe00b2def1bd6073f5c50eb572ae806c0b657ff8ba79186771e73f598036e5dca1a1ddc899a56ea8663c10f212e452a\nresult = invalid\nshared = \n\n# tcId = 206\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004a9b0f90e49a57fbe508847bf16e4a7b565dfe870a50164bc2862fe6e4d54bd8b109939f7dbbf800522722b9c0b309ace3884abb69c927ad0\nresult = invalid\nshared = \n\n# tcId = 207\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 305a301406072a8648ce3d020106092b240303020801010703420004512fe17172db1125a49f9dbb85e387869adf015e4899c06f66ef870d72092d4d195e1d21b4a4647bf734468bee802ddad5449202eba1041df2fd8cde04697237\nresult = invalid\nshared = \n\n# tcId = 208\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 306a301406072a8648ce3d020106092b240303020801010903520004c391dc7a817d47a3961ea1857895e101c0f5a8767d3a9c7cad49f7af8029f24c67309373cedd0831ccc0a0f45d344f3ab5923d2452507a980301a283848ae31574a57db51ce5e61d35aee483f1bb8e66\nresult = invalid\nshared = \n\n# tcId = 209\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 307a301406072a8648ce3d020106092b240303020801010b0362000419d3c811c04c5c0990d0258386195b2e29fdaba58d3f12b0bac8d3d53828c66c7a35e3d1eb0bdf2c08f23d0e4ab6a3246e456bf0fb863d03423dbe431baf799657c7816a619662fe5b900b754107ba5cc06b1d62c9a927891efee1a1fd404d7e\nresult = invalid\nshared = \n\n# tcId = 210\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301406072a8648ce3d020106092b240303020801010d0381820004216eb619457f1168ac873f5b560a75df80749f2bdf9abac31d6580e521ad70368013c3db74f663263b61eb12d4dcd597ad6c77cef6a5d6d2240b1e244d76403f693fb317ffc602a7ac313991b0a62f7bf469bbc95b3ff35003d972eb8ebcc8d4833e6c24ad52d49c1ce6244c7889ab67a8818232e192944542763fc667e5799d\nresult = invalid\nshared = \n\n# tcId = 211\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a0004691b24004380a599770214d0c60ab37cfc804cfaa7aedd11cbf0a05467ebec5e33322cda707b848086fd740244f62cdeb867fc057207fde2\nresult = invalid\nshared = \n\n# tcId = 212\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 305a301406072a8648ce3d020106092b24030302080101080342000422bf69f3a81dfa1ed8a97301943626e20377b78f7e7d714b880deb5a4a9c63a11591c2e47b777488990771855768b9a4050d61bf02d84cc6aa40447a07507285\nresult = invalid\nshared = \n\n# tcId = 213\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 306a301406072a8648ce3d020106092b240303020801010a0352000476568300e2b4c68861589b4966e67bc414811e4011260cb8be5f884869fa179ca8af40f80009e0a58b17ac3e551a772e76683c32e6e09112572542d7c1fe3d49abb56da56d669186e2623dc797129dc0\nresult = invalid\nshared = \n\n# tcId = 214\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200043345dffded3c33f7dcc19bb8997a39f2d6230abcb765d6142c30bf320c1fadff535feafd8505eb3e614db71826c1e258077a1e6057add7474f6d35dce68417812e7b919b1c673032b28c45d0a9251c43a2a73ab152f64ff8eba4eab312fa73bd\nresult = invalid\nshared = \n\n# tcId = 215\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301406072a8648ce3d020106092b240303020801010e0381820004a3677c646cd887685940c28076f55cda7469032845f2cb2af51c61492dc435aaa5b771d8e1528417cdeb89b5f629e06b234e21236b9edf46c7025177ee65a8e940f670d10c722cea355bd3a5c8847a38324b9a06a50a95da4e70bb492cd00194a8830975dd1e115e19315575ff841b30fd4a3f8a44725dfe280d0af57fc80cc3\nresult = invalid\nshared = \n\n# tcId = 216\n# invalid public key\nprivate = 2b9e57572da6cf4fb58cb94eab8df19383a136f219f2a515776a8bf48e1538dd1d811946c16d9f0184c9ce5cdf1dac51\npublic = 3046301006072a8648ce3d020106052b81040022033200024424530ea70bace90601f8d5869e4179a6cd689b6a18fdfec50cecf17cb836d24820211ada67815b42c2c2606303f69e\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 217\n# long form encoding of length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47", + "ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 218\n# long form encoding of length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307730811006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 219\n# length of sequence contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30820076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 220\n# length of sequence contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783082001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 221\n# wrong length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 222\n# wrong length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 223\n# wrong length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301106072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 224\n# wrong length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076300f06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 225\n# uint32 overflow in length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30850100000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 226\n# uint32 overflow in length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3085010000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 227\n# uint64 overflow in length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3089010000000000000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 228\n# uint64 overflow in length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f308901000000000000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 229\n# length of sequence = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30847fffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 230\n# length of sequence = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30847fffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 231\n# length of sequence = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3084ffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 232\n# length of sequence = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npu", + "blic = 307a3084ffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 233\n# length of sequence = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3085ffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 234\n# length of sequence = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3085ffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 235\n# length of sequence = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 236\n# length of sequence = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3088ffffffffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 237\n# incorrect length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30ff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 238\n# incorrect length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307630ff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 239\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 240\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076308006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 241\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006802a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 242\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106802b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 243\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203800004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 244\n# removing sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = \nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 245\n# removing sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 246\n# lonely sequence tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 247\n# lonely sequence tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30653003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 248\n# appending 0's to sequence\nprivate = 4b065d2dbbad95d7e", + "ebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 249\n# appending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 250\n# prepending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30780000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 251\n# prepending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012000006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 252\n# appending unused 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 253\n# appending unused 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 254\n# appending null value to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 255\n# appending null value to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 256\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b4981773076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 257\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a25003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 258\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 259\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015498177301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 260\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30142500301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 261\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3012301006072a8648ce3d020106052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 262\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015260c49817706072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 263\n# i", + "ncluding garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a3014260b250006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 264\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018260906072a8648ce3d02010004deadbeef06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 265\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201260a49817706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 266\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d02012609250006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 267\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201260706052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 268\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b81040022236749817703620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 269\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b810400222366250003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 270\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b81040022236403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 271\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307eaa00bb00cd003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 272\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307caa02aabb3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 273\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018aa00bb00cd00301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 274\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c3016aa02aabb301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 275\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018260faa00bb00cd0006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 276\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c3016260daa02aabb06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 277\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201260daa00bb00cd0006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593", + "f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 278\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c301606072a8648ce3d0201260baa02aabb06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 279\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b81040022236aaa00bb00cd0003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 280\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c301006072a8648ce3d020106052b810400222368aa02aabb03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 281\n# truncated length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3081\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 282\n# truncated length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066308103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 283\n# Replacing sequence with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 0500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 284\n# Replacing sequence with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 285\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 2e76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 286\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 2f76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 287\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 288\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3276301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 289\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = ff76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 290\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30762e1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 291\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30762f1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 292\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076311006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 293\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076321006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nres", + "ult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 294\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076ff1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 295\n# dropping value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 296\n# dropping value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 297\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 298\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30751006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 299\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106052b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 300\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 301\n# indefinite length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 302\n# indefinite length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078308006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 303\n# indefinite length with truncated delimiter\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125100\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 304\n# indefinite length with truncated delimiter\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077308006072a8648ce3d020106052b810400220003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 305\n# indefinite length with additional element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125105000000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 306\n# indefinite length with additional element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a308006072a8648ce3d020106052b810400220500000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 307\n# indefinite length with truncated element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251060811220000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 308\n# indefinite length with truncated element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c308006072a8648ce3d020106052b8104002206081122000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 309\n# indefinite length with garbage\nprivate ", + "= 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000fe02beef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 310\n# indefinite length with garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c308006072a8648ce3d020106052b810400220000fe02beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 311\n# indefinite length with nonempty EOC\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510002beef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 312\n# indefinite length with nonempty EOC\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a308006072a8648ce3d020106052b810400220002beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 313\n# prepend empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 314\n# prepend empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012300006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 315\n# append empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312513000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 316\n# append empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 317\n# append garbage with high tag number\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3079301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251bf7f00\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 318\n# append garbage with high tag number\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3079301306072a8648ce3d020106052b81040022bf7f0003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 319\n# sequence of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 320\n# sequence of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 321\n# truncated sequence: removed last 1 elements\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3012301006072a8648ce3d020106052b81040022\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 322\n# truncated sequence: removed last 1 elements\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f300906072a8648ce3d020103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 323\n# repeating element in sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3081da301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b", + "5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 324\n# repeating element in sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307d301706072a8648ce3d020106052b8104002206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 325\n# long form encoding of length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307730110681072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 326\n# long form encoding of length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d02010681052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 327\n# length of oid contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012068200072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 328\n# length of oid contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201068200052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 329\n# wrong length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006082a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 330\n# wrong length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006062a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 331\n# wrong length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106062b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 332\n# wrong length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106042b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 333\n# uint32 overflow in length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015068501000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 334\n# uint32 overflow in length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201068501000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 335\n# uint64 overflow in length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906890100000000000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 336\n# uint64 overflow in length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906072a8648ce3d020106890100000000000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 337\n# length of oid = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406847fffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 338\n# length of oid = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d020106847fffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0", + "31251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 339\n# length of oid = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30140684ffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 340\n# length of oid = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d02010684ffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 341\n# length of oid = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b30150685ffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 342\n# length of oid = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d02010685ffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 343\n# length of oid = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e30180688ffffffffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 344\n# length of oid = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d02010688ffffffffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 345\n# incorrect length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006ff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 346\n# incorrect length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106ff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 347\n# removing oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306d300706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 348\n# lonely oid tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306e30080606052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 349\n# lonely oid tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3070300a06072a8648ce3d02010603620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 350\n# appending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206092a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 351\n# appending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106072b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 352\n# prepending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012060900002a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 353\n# prepending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201060700002b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a9", + "7dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 354\n# appending unused 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 355\n# appending null value to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206092a8648ce3d0201050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 356\n# appending null value to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106072b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 357\n# truncated length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009068106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 358\n# truncated length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201068103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 359\n# Replacing oid with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 360\n# Replacing oid with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 361\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301004072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 362\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301005072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 363\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301007072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 364\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301008072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 365\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30763010ff072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 366\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020104052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 367\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020105052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 368\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020107052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5", + "becb9ec797\nflags = InvalidAsn\n\n# tcId = 369\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020108052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 370\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d0201ff052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 371\n# dropping value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009060006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 372\n# dropping value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201060003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 373\n# modify first byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307630100607288648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 374\n# modify first byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d02010605298104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 375\n# modify last byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d028106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 376\n# modify last byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b810400a203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 377\n# truncated oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06062a8648ce3d0206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 378\n# truncated oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06068648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 379\n# truncated oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106042b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 380\n# truncated oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106048104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 381\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3074300e06052b0e03021a06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 382\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012060960864801650304020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 383\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b0e03021a03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 384\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30", + "7a301406072a8648ce3d0201060960864801650304020103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 385\n# longer oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106082a8648ce3d02010106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 386\n# longer oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d020106062b810400220103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 387\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d021106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 388\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a3014060b2a8648ce3d02888080800106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 389\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104003203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 390\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d020106092b810400888080802203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 391\n# large integer in oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906102a8648ce3d028280808080808080800106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 392\n# large integer in oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906072a8648ce3d0201060e2b8104008280808080808080802203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 393\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106082a8648ce3d0201e006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 394\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106082a808648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 395\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d020106062b81040022e003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 396\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d020106062b808104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 397\n# long form encoding of length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301006072a8648ce3d020106052b810400220381620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 398\n# length of bit string contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022038200620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 399\n# wrong length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\np", + "ublic = 3076301006072a8648ce3d020106052b8104002203630004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 400\n# wrong length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 401\n# uint32 overflow in length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b81040022038501000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 402\n# uint64 overflow in length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301006072a8648ce3d020106052b8104002203890100000000000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 403\n# length of bit string = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b8104002203847fffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 404\n# length of bit string = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b810400220384ffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 405\n# length of bit string = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b810400220385ffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 406\n# length of bit string = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b810400220388ffffffffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 407\n# incorrect length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203ff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 408\n# lonely bit string tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3013301006072a8648ce3d020106052b8104002203\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 409\n# appending 0's to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 410\n# prepending 0's to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022036400000004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 411\n# appending null value to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 412\n# truncated length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220381\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 413\n# Replacing bit string with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 414\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002201620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 415\n# changing tag value of bit string\nprivate ", + "= 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002202620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 416\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002204620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 417\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002205620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 418\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b81040022ff620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 419\n# dropping value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220300\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 420\n# modify first byte of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620204c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 421\n# modify last byte of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312d1\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 422\n# truncated bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 423\n# truncated bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b81040022036104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 424\n# declaring bits as unused in bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 425\n# unused bits in bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b8104002203662004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125101020304\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 426\n# unused bits in empty bit-string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3015301006072a8648ce3d020106052b81040022030103\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 427\n# 128 unused bits\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203628004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n", }; -static const size_t kLen65 = 277731; +static const size_t kLen98 = 333824; -static const char *kData65[] = { - "# Imported from Wycheproof's ecdh_secp521r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.4.12\n\n[curve = secp521r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce00e04ad19cf9fd4722b0c824c069f70c3c0e7ebc5288940dfa92422152ae4a4f79183ced375afb54db1409ddf338b85bb6dbfc5950163346bb63a90a70c5aba098f7\nresult = valid\nshared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87\n\n# tcId = 2\n# compressed public key\nprivate = 1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd\npublic = 3058301006072a8648ce3d020106052b81040023034400030064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce\nresult = acceptable\nshared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87\n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004014c643329691ba27459a40dfe7c4ce17b3ea14d0cd7aa47b01f1315404db51436fbbfe6de0842e0f7e1265f6ff3aca28750677d3370b2fb2a6ef497356f4b95811201051b14178639a09a41465c72d3743436ee1c191ff7388a40140b34d5317de5911ea03cdbb0329fdeb446695a3b92d437271a9f3c318b02dec4d473908158140e97\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040029cd32125c23a41af24fd4b729da0faacbc35516ef0ba59096602571693cd282e26d67e18ef4643d0f6f158d7370d3394ca9a8de7938032ac178c6fd34e3702b8d008649834e2b41be3a8b7510bfe570f4c67075943cd0cbb9d9e1d1da52618b5b96d6aec9b650daf1ca6624c13e5116302b9c79c8c4d3d351915d1e8e1ab6ad76098e\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040032c6f06ce6a15ea064464d35aa368d299c9a9e1e368f694aefb603876248f898f223ce0217bef37d61eb09b27c93187cf8e61ba7b14e3c9bee692b06ac6d95f836019fd19f8480e21c63211d48d45f96f6365cf55f958e1a0fe7ea6b6b9ff230a87b70bb1b14d3a5fb6669a91641c6acf4570c1d3a9e709913b7fe6b35ff81c394d6a7\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f7eb96e64b1a62daf9e0801bfd96a0b15b68e5f5cb3e90b434495a473907338e53098e1c2e493335d09c6aae6fdda0345b98aaed588f2abe82910713fb6c20252901396b17cf250bc018f4cead097e7e09863f14cf1239b065e57d884949eee141926f7e7c9f7f34cf0536368767bc0e1ab5142877293a4c722693a73fe14a5390af93\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006ddf9b10965d5fc129e96f7a37667ccf66cc44384772906fedb21f9de4629e01aaa09ac7c9866112064bbc9bd58ebc123ab2fe19d8fed1a056d27bfef0630509c7001c441311ef20a16346332ea42d5c65788d68f6817b0267fcab11ea9c948ed108115dda8e823a380b601460742d3772d6424c67b240da24772ff0d2ccd9a1e0cea6\nresult = valid\nshared = 000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004007a8c547268c948b626da636cf54428ea2ab23861d499a84ad7be1cf691b92872a06e26c6dba08ca9ed386f83d396156d5fa023f57d5ea6440ec7401dad2c08ad70018c3815b1b9a2e42555419a6c19043fa2b0ddcc4b5a6e372fee9fcb227d85bad704687e7e1a818b612d5c046cd75972f7a2dd5c9a200ac5582cd59fec47ac525ecf\nresult = valid\nshared = 00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040029153cf062f88f303e5d6f9aac968bd901076d5994ea7f831833b1e69b67e9e9fe20cf9c5623e00e0b9e3592fca2a03324b5df7c93186aff697aca864600d44ecc002801a62e2f4106f34106da23dc93d50e3e975a1d47510021835290649b7a4125109f656b6b0b5bd00b24d84ea1ba4e1ed49e61c526fb1011005131caee7ee0501e\nresult = valid\nshared = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400a61eb994e28722c59b3c6007dfdf8b37893f6350f461b26a00e1a45104314aae9989da87e4facb2c4ef721185b7d96d9a45a28a102756501a1acc5d329a21bbf73010e8d0e12f5a9a40e0d59c90ce73043d39730aeadd3788e31d7c2bb62a1166161994664afa658ce2e60a13f45f27f914307c8d6f8d4ed16ab041b8f69908a62782f\nresult = valid\nshared = 010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011dd497b30c73709906b164a9a79dc7f2a98c0148ed63016bb95243834fbcdf8eb74b0ff652d54f59f31aef51da6e8974d363655b1da138dc4de0f2a8d800f475ae0057bd4b84607400d863ffbf45a3cf58999ee24ba05e93eca7b0e4ae760eb1733559a45d15579d3370d716ffa3ec4bfdae418e32fb06138dfca213720a938577610e\nresult = valid\nshared = 01ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401283eb93fa369fe7012b647d21e0a97cf9950e5fbed819ef56158f20c8a9473a418eccbca4dc2b47f4cb6d322f917005859bf221e84ac9827cab82a801c627fb1ec0075c480cbafb352fcaf93baf23a1405fd81febe09729a908d1077e177dd8993d94b251a0d52652da3edb6fdf864e80cd51540e73d0b5107e3433576dcaa4e18db43\nresult = valid\nshared = 01ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff\n\n# tcId = 13\n# edge ca", - "se for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400173beefe35ee868d497ff6601628f65ce18a1591f7e4a3a406622f3f508e2da68f101ed02febc38418c6ddfc26a5ec9848c42792463b1e945f9e167db34bdf2d660053070647aba7cd60eb295ab81a268a3903f393c5d28bbc5e022351c377cd84f02c19deb36442372cae1332e92f95ba60b6c852e0de0718e89d24e43cd479c9fb11\nresult = valid\nshared = 01ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009829cd5432687739ab6ae10af8ea73d2cb53b81ebb06b5961b7badc1676b3ef7b00454f7cde56774a01312d574a9193c1a5fe5336fbe62623ad9bf81143789f9f90012f955697ed578207197bf9aac3896521615dbacc8dc665d4f1715b08439f49c2aa6ed337023ffccc5075a85944936826db92f919737ca3afeadba1847084bdef7\nresult = valid\nshared = 01ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040126e3c959cd41120bb83693b1d6a034b385137c1bb3213b776122fed96056e329885718a73bee639c0ba4b68818682f498ce5496925002bd7652516405fcc4fecad0073a9c6e3b0c694bf7cc8ccbbd09800e81e3548ba44a0c2381cef0b07bf702a19054bb5d717a1b79294609cbdafd4e2018064f7b2c4c204d818eb7ce521c3268ce5\nresult = valid\nshared = 01ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040153dc481ab3c5dc8decd24ceaee1bec77f59f21f7f31c19538af047d281ac9e2567933fd3d21096b185d4098919571931bb9b0be7197995e2fbaf21c8a10007ade001ad69f08fcae164390be826256b50fae47502ce0e9ca46af0c490cb4033c886f88661a99ff2bd3c9c8e7da30faf2b4c769edc5831810ac05054c97e41063f496e1f\nresult = valid\nshared = 01ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f586611c87150288c3e86116c5db94a26718978829d701ddac05e9b0ce22dee4b18e95f60cba783ed3384da373deaefc57b8265d3a34eeb458bf24b9d82be32819008456e0f1d80492ef0078cc246d32fc7c7fb6720b4d458b51b2098d35746752b0ef0345bd0d342dfee6dd2f12ed12b34bd95d058c2811fd479d2dde32180e6c9ef2\nresult = valid\nshared = 01ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000002\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004015edc87fd499a73eabffd14d2b6a70a8fb69b6a39d0d9c4dda2337b53cc72e49a9e3d5a2d9e8930cfa11852dac33443227fba6684bd74732e6879884b6ef9dae98f010eeb8d2e3360ea9726628085268af3f2a05ad41235d0a892098bd661b636f7ef0a820282906eda3f1ff1980b98fb5937228e9edcd6332e3641216c7307e7f3f452\nresult = valid\nshared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd\n\n# tcId = 19\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040131b43002f7e687eec1ecf6a253c2ccc9e48f04d86fccd18fee0d2d22191f1ea539c40d521970b4709dc03986f647e0e8bb3340cf8a3e643a3541035437cf25f01500b27a55ac45f0296f8c9656bcfd52b5cea9f4115c06e4c64319609847d45e92418400e7868672c0d3e6e5e6e004a7190476ed77cfc33ad19a4bd2c615ad9950f374\nresult = valid\nshared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\n\n# tcId = 20\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87\nresult = valid\nshared = 0053bf137fee8922769f8d0fe279caa4dac9c6054ad0460995588a845d0a959e24bc0fc2391a2b92f7bd400f50a11a9db37f07bef7fa8dad2a903fcf534abc8736f7\n\n# tcId = 21\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 01c95ac417c90a520149b29105cdab36f528a23efb5621520dbdafea95a7d43499c4c8be02cd1c2de000da18104fa84a1e9ece6386f0e0efa5234a24595d7c4c96f4\n\n# tcId = 22\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 01b47ec41e3a5abd9dd9808fc04d9078cbed72b9eba98d3c1ded70a29938f0efd5a27a7113ff721f122cb17411de307a355c685074f5766b6d1a033d2fa188c945b6\n\n# tcId = 23\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000005f880f50ec94bfac6658fa2fce05945c6a36b266407b6fbd5437a83e2f2f9b9c50a734872e48e70df65457f13e47d06c6b8b29f4735acf105ea63e051904d18aea\nresult = valid\nshared = 013aefe3245728a08c904fe7d61cd9c2fdac63f29cf664d8f161bebacb93f8a710e9692f9689480ad498de00f00061e40e46e76e4754c1130ef4217a58933e0b1dc6\n\n# tcId = 24\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000000f33ffc45da3eac1baab727ab8fd355cfa134c42047d55262651654fb50df7e9a5a75f179c8c86c4388213b5687dc43dfebb37f30128703c44ccd5c3284833b8717\nresult = valid\nshared = 0168df272d53e3161926168c4aeab5f355b8d2a6689cfd567f2b6eb2011a18c775ac2a21f8dd497f6957217020b3b1afcb7021f24fccc2523be76a2bff44596e5a14\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic ", - "= 30819b301006072a8648ce3d020106052b81040023038186000400003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00cd2839d857b4699f5c8e8a0194786e26a862f086b4ba80746ae5225ed3aa68f96b7aaec55225830bb98f52d75221141897ba49d7a31ebbf0b6d7d31352e5266190\nresult = valid\nshared = 013db1b9241b23d33860d32dec37a79e4546a41afdfdd9c438d04e1f8b566ac8d9d3f572c293e96943722a4ee290e113fffaa82a61867d9ca28d349982354c9b256f\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813d9829119f42ffa95fea8ba9e81e4cd6a6ca97fb0778e12e5f5dfe35201dd4cca8eca0d2e395555997041381e6ac1f18ddf4c74e0b6e9041cfdca1d1c103091\nresult = valid\nshared = 01d2bbe9f754584ebbc7c7ad74136d1c8a144948948aa8be49989dd9b4c514db2e2ab1e0713ad1699f632dd2cea53da218ed549f030a113e282fd9e3be462d9aba84\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00878ad597d290db2cf660594aeed0f9b7c8dd68451d2d1b2cbc816b1ec4f35465b3964aff2edf1255163f5fca580132f85cade2887a017e7cd0b37196ad85221107\nresult = valid\nshared = 000f37a2e2caef54fff4126c0fa96e7c47f0cad74626ef91e589e12d2e1e8c221be7295be9dc2712b87bb0aa0f5880b738bc1242f2ba773bf9eb2a54e3c1ca4758d7\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000000000010000000000000000000000000000000000b5e1191b449fa1ebdbd677daa48f90e2d1d6c058c877087cafd9364d99dbb283c68402e6e6c5f5411b2ed42824d8b280ceb910aba6847883a7e3780e2132af41c1\nresult = valid\nshared = 017aeb254d9c8c8ee06215ff33811357da73bf7f6dd6d7f8f176d62c065a88a9005f680c630e9f2763585ea2ee76b6e4ab45e673f814ebfa95947c0c63fb24fa6e9b\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00207513d615656a1cc7505c18aa21b08e2b1d5a841de0816cc29c004efdb2d902ac1a7bb05e20722b576b64a3ddf4d2486421ac706bf4a424f252386368a5340fb6\nresult = valid\nshared = 0061bed42248a37b4625ef04c4f9c7ef69ee3c6f9503378351fcab1b8ce1343206997eec1b88449eb6f7355711ea1a818a486ee30a24126241a7e2289267cf5dd61f\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff001fe800c50e54012b75a33e4be7d07c8d60f29680a395e951a6a31c5096b0ea928fc2cbf327dd784dc0a7ca46ea73992b758b5641364b4aba39e93798a4d925a008\nresult = valid\nshared = 001067d9104e296ef42b944587de11b10df05d2d959ed44cac9e7ef1c7a05d90819c43bc79c7397918f957cc98db931763bbeb1bdfc35865e8a359a013f13d60c433\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000008dd18a1f5e482140be79bb65a21ad60c8987e532c84345f0135affd46ec71ef02b1ca3ad56f301d955fa306c122d441d6fedcf8b855ef256350bf69d23a7207ad9\nresult = valid\nshared = 00b779d83035cf7bb0bb04c7b2f46d08f6791f0d1542c9bcce7250e772b12ad8e38fce1d2b063a06f0fa3a1b072dd976f5f8542979903075162f1f5c6ba3b76cc45d\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000100566203dd325a081c4441f001f780365874fd3d0c9bc47227481afe76a93ae1bfde63af972203abfe22c63b80e83f7cc2184c3cb8cfd0152c54324c4759fd1f9a50\nresult = valid\nshared = 01afe5d23733728b79c743933b9ba7dfec5ed19b7737e393908a1d000918aa795d1ce0ad533983d018f927b35d2af6463356573f387febd75911a49486202ca69d3a\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff00b11c668fbd549f36889f7b63434051da26f15705839136b1b14a09152d7a182ea7806c35478a32d3aa3c9c1627a61519ebec71b36fa77449025b8829e27f307834\nresult = valid\nshared = 019612aeb386febb1a28096fe5b2f682dead02389785225b80a27df439510d08349a193839525f248b7f9bcabfd3dc8da8cc1724022299b7b5e72399d89464b82e44\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000200aa75efc0a8daac1d73f32c9c552414bccf44af8e74331b47439e7dcc49a135b3ee61e9f69717d89b4bba3567a195aeda13fbec634bf2984b5ec6b6f80f5978ed5a\nresult = valid\nshared = 00570673f87adcef49c1f011e8b9f1e11f7fd3b3c93114d08d3f515aa4a895a6c701c523063bdc13ad1db0a54f6e7b476fe10db2070441befc58c8cff3c08ef76e59\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 0016aaf228b0aec190d4e4e5b8138ff9cc46d705da1bf002901c6ab420f59314d5b641712b14ef3e4fb125652c47888676804fb5575b741a8408c5625bfccff4fdda\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 00a5d6dfda2b269f4ab895a41c3b71b6ba10d5c9f0d9b3e730275345e4721594abfd39464c227716ded8ef3e60bb1ca0b551716e3f6eebb48d5ce8e0ab58cb1b73c9\n\n# tcId = 37\n# edge case private key\nprivate = 3\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7", - "655c50b2b7835f314\nresult = valid\nshared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df\n\n# tcId = 38\n# edge case private key\nprivate = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00347c51f587c726070bdeb9173d0a547427ead3f2c8de62d9ecc3013285f645d220931520bcef85d08cfb6786045745fbfbfb1924c44a89d06676131a965677272a\n\n# tcId = 39\n# edge case private key\nprivate = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c41dc4437c2f2b94a940711b3a691723397a1f83d6bc0c67ddc7a657160925c7f85bb4eb3842b60b2610ddb7c0b8676267710e58359a8750843c6d8e25d48d1cd9\n\n# tcId = 40\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 006a239cdb7a783840658d5f314bfe5c51e806a4bf1236f8421265bcc503c673eb16c5c2b38b5717fa04ee7dbcdeb15c871711507abb7557a8a8c7b3250141e854d5\n\n# tcId = 41\n# edge case private key\nprivate = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 0112dbf9713aadd478e4f2ebcb058f05b512b1959c7da1994f851f373ce8c341d39c6843373f6fe559905953e1147640159437953c571961c09bad157a8e1a5bf476\n\n# tcId = 42\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47adbb6fb71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 003eca2210c8623105085aa284d119f3d716730595c6291aa89bf32a95e8a5fdc64f3d76e92494a43a9dced12d05b6dca4ffe649b32ac12cb0202e702dc83a2cb277\n\n# tcId = 43\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb5fb71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c4cae9fbfdd45de51d8525e8447a7553c35cf358f1346f1d79666887bb749a3ba0de62e1866b47a447d53b6f1ca5a33ec94507e2cfb65544f5a1195fc6b4dc5810\n\n# tcId = 44\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb67b71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 008073b4796e748f3d0de5e85b22aed463f1a6aecdb336bc287b50d139e3591ef5f86b78c3f6051467755f059f295d758075347d657aaae02383838bb96071eacbd4\n\n# tcId = 45\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71d91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01f11ff8983792d4a790d0de4b56d078b9033ad6318a440e8119342937cc48a39375150ab2cf98273b0fe35d5a3af5d84322a685e89f2cb378a99b9b7bac87e44952\n\n# tcId = 46\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138631b\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00286cefaaf38ca4c6657eb9b187d8614d51775fd71c1a79b4c0ef1a0d4ce72b6f5b2bc854a4e78283530942a3f4fd2a8586d5ea51513c89d3d29de5de06321e118e\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 47\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138639b\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 014790de14c481f1336fcb7d33a8bf8e23eb594cc48608e9edfe0e326e106b67e7eaa3f04ec9985599178f632a5ee6419e11217060e9fcd5958a43882bf8cd3be6ba\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 48\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863db\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01ae775dbc4096a3aea7977b1a0af4b2830ecf9ca927a6247fba4cccb46b3f71d0e7abb8dda72d1c1ee7bb5b875b4773cc8df40f732819c4147da330775d1742ea35\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 49\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c", - "9b8899c47aebb6fb71e913863fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01979fb05e068a12a3f20cfdfb9eaee9f22b356edcc7655383ed38124b86814f86a6f2216a34f3fc2299d403ee42408f95d08c5c6cd11db72cbf299a4a3c2545be25\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 50\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386403\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 0197ebe26798bf67f06ff0282773af75115531f41d94c093d87481b76bef707bc222f2d6672f84a00fa20c5ed27027ab4006b68d93ee2151016c9ddbe014346272e2\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 51\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df\n\n# tcId = 52\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c168314cdc85757ade34a52a9e5379ffa5968f084b7e404939a8033a0fc698e26211754b9b2c04cf8a1420abe6e986ef1a238bbb91dd402b72e0ed50a876f1a83e\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 53\n# CVE-2017-10176: Issue with elliptic curve addition\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650\nresult = valid\nshared = 01bc33425e72a12779eacb2edcc5b63d1281f7e86dbc7bf99a7abd0cfe367de4666d6edbb8525bffe5222f0702c3096dec0884ce572f5a15c423fdf44d01dd99c61d\n# This test vector leads to an EC point multiplication where an intermediate\n# result can be the point at infinity, if addition-subtraction chains are used\n# to speed up the point multiplication.\n\n# tcId = 54\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 55\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 56\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 57\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 58\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 59\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 60\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 61\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "ffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 62\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 63\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 64\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 65\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 66\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 67\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 68\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 69\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 70\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 3015301006072a8648ce3d020106052b81040023030100\nresult = invalid\nshared = \n\n# tcId = 71\n# public point not on curve\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fe1\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 72\n# public point = (0,0)\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 73\n# order =\n# -6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd166500242fe000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The order of the public key has been modified. If this order is used in a\n", - "# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 74\n# order = 0\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020100020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 75\n# order = 1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020101020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 76\n# order =\n# 1598335257761788022467377781654101148543282249044465229239888363328190330275719844327554513312228302828260696579553960150541916632196023208175974174\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820241308201b406072a8648ce3d0201308201a7020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650023e01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. Howev", - "er, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 77\n# generator = (0,0)\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 78\n# generator not on curve\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16652024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 79\n# cofactor = -1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 80\n# cofactor = 0\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc", - "0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 81\n# cofactor = 2\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020102038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 82\n# cofactor =\n# 6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820286308201f906072a8648ce3d0201308201ec020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 83\n# cofactor = None\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820242308201b506072a8648ce3d0201308201a8020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a n", - "amed curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 84\n# modified prime\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201e99d17d498f3c68ed8e50430ec4f36c14dbeeaf7652e985636bf0548ffb981e9e011607fd0059cd4fe51e882f19a3839ebe7f1d7376cb761431b214ed76970cc0130818604411662e82b670c3971271afbcf13b0c93eb24115089ad167a9c940fab700467e161fee9f802ffa632b01ae177d0e65c7c614180e28c893489ebce4deb128968f33fb044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797\nresult = invalid\nshared = 00ebef6771455911ee573c183e990f7086650f9bafdb722c896751bd2c0f87959c78a39382d10fdfb46fd3515c8feb590943dd79778b13adbc7f670ba2a009753483\n# The modulus of the public key has been modified. The public point of the\n# public key has been chosen so that it is both a point on both the curve of the\n# modified public key and the private key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 85\n# using secp224r1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 86\n# using secp256r1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 87\n# using secp256k1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 88\n# a = 0\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202033082017606072a8648ce3d020130820169020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3046040100044109a88e6f050cfefa0b49fac45689b6b93ad4fa3b65db7d2f4cb31b67fe056a100066dd80dc5f785d27f82e3369eb22ab2c5729a9e5d9906a1dc31e02f84026484a0481850400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 89\n# public key of order 3\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308186044163dd8adacb707513ee414c8ef43488d841c6dee055e7524338729de3f0f80d5a7f5a2f9451681187763175d5fa44b124a736c1e335ab2bc44e90afd9d73afdcf81044139acb17f9aea561444370f028fabe3abd6abc36dfaecd355019c030fc56571cb027a33c4ded31a03d257c8e05180a0199487dcc6bfa009db62b36021c7ca0767720481850401955425b4109a40c74ada7d7fb4fe7b160a9fc16955847666b", - "6450b0905ca920866e52664275b0b3cf7b9e2628dde865ed6ce3c8596638c1acbb71608dd81005b1001197944c6bf8dd7b06144a5b7cd32746aac97c8a5bc6274acd571fece0c14c9e57122e8e6d7d70db21d55d0123f004fd9698067392de468abfeef8890103b954e51024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000401955425b4109a40c74ada7d7fb4fe7b160a9fc16955847666b6450b0905ca920866e52664275b0b3cf7b9e2628dde865ed6ce3c8596638c1acbb71608dd81005b1000e686bb394072284f9ebb5a4832cd8b955368375a439d8b532a8e0131f3eb361a8edd17192828f24de2aa2fedc0ffb026967f98c6d21b97540110776fefc46ab1ae\nresult = invalid\nshared = 01f1f914da0c64135b9c4334c82393abf73d3112a1197581e9c8e97b2e3c02696f6d445400aefb87eda50aced68209f961e1af3fa37efbde303880a4371b776085ab\n# The vector contains a weak public key. The curve is not a named curve, the\n# public key point has order 3 and has been chosen to be on the same curve as\n# the private key. This test vector is used to check ECC implementations for\n# missing steps in the verification of the public key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 90\n# Public key uses wrong curve: secp224r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 304e301006072a8648ce3d020106052b81040021033a0004af6dd5b71a8c1cf921e36854ae091aaa589d337e740e8579f816eb9e36b03eec5cf956d0fdd2fc1687335507fc1c4a5717d3b5b8ea8340d1\nresult = invalid\nshared = \n\n# tcId = 91\n# Public key uses wrong curve: secp256r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000453366db79b320781936df61bb55d4499949d813ee5abaa5dda70da4f97f68228ccc69d7cd0b7266cfc28d0dcafdf3e83738cc611acb08f8b896c4ecf82dd65ae\nresult = invalid\nshared = \n\n# tcId = 92\n# Public key uses wrong curve: secp384r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3076301006072a8648ce3d020106052b8104002203620004aa45c13ce3cfea8538422712903edc0ce56df74ede0776e843555a786f9738de1943dffd729addfd4772169751d7765a45b5bb540a47d198f4c8c7c21e67560c1e12f70b64520109bb8858a3f8d6bb4012003431db0778633313fdb9464c47ec\nresult = invalid\nshared = \n\n# tcId = 93\n# Public key uses wrong curve: secp256k1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3056301006072a8648ce3d020106052b8104000a0342000475e01a1555380be188d69aac340a4675e4a6f73d63976a1075249827d8ecc2a31e65ed1eb591954e33a38f68ef8aa6c930229d8755e53257602b3eaa87de6f02\nresult = invalid\nshared = \n\n# tcId = 94\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004905a06d5bc093697155aaff67305976a769b904d8db9573c4be361626def2ffe1d5ec14462c02e5ffb24fb3edb2b6c77a5cfee2492db757b\nresult = invalid\nshared = \n\n# tcId = 95\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200042b87df1b6a5cbc4c4a184b7eec9b6c0483f7b80e6477b29649630c37481876bb0e3423f7a00d469320b7e60c88370979064efb9ceb8b387aa87a7c6941ccd9ed\nresult = invalid\nshared = \n\n# tcId = 96\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 306a301406072a8648ce3d020106092b24030302080101090352000470df62394ee036eefbc8ef11a9a5f3a8af659016f29e7125e52cfda0a74e52c7b21d18ac4375f5e4164c5338fa2f545a3fb2022f0e0686d5b4882958f72b1bb626e37093e3f19673968c237823327fd6\nresult = invalid\nshared = \n\n# tcId = 97\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 307a301406072a8648ce3d020106092b240303020801010b03620004808dc7b1c6d3ec470a7fe5d6144c9c3a8c92b116103aa2edbfce0b2c827312eebcd1350d09a739eac901af341487861b195270f671e0a758deb23222db4fe7983d42a785b35fd158344cd6483c4da5b409e77d0a284dfa9c3e0d91a4d275fce9\nresult = invalid\nshared = \n\n# tcId = 98\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 30819b301406072a8648ce3d020106092b240303020801010d0381820004aa11b560dc1e572f2374e5869210304d66d95b1d8ce40940157f5f5b4a7dc8a340f7c305d6bea289f5c430eb888e2a03528336aaf4680d9d153cd162e2229df330425025df2625b147568927f6acf704e4936f8989ff9d44f33ee22196e70dfd8711e8934d8d42abb4b67afcfee213c3ad5e5c83fcf4283d253d6c5c0e581970\nresult = invalid\nshared = \n\n# tcId = 99\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00048d7a746de095728a8d83219e587040cb6e794d088ab6eab426638202579850b0f235edcf4eb8adcb51bf41878f6b71a1f2d4101022964340\nresult = invalid\nshared = \n\n# tcId = 100\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 305a301406072a8648ce3d020106092b24030302080101080342000424ad316bf41e4102dd7ae16311b64464df2d13ea68a11dd27a4445ed900962180ff8c627ed73f0c667863ee3a671e6ed1fa2781b51a229ee2cd21fbf69437d60\nresult = invalid\nshared = \n\n# tcId = 101\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 306a301406072a8648ce3d020106092b240303020801010a03520004548ce4997cc618800d3834dd4b3346e4559be066ab5d0cecd7123c4de940c168fecd3bae067fe3fc7aee875c9da0a86932f0779f42344470860c22dbc6f305eab792fc0874157e175c7d3c4d3bf54c4b\nresult = invalid\nshared = \n\n# tcId = 102\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200044fc2b35e3019a57a8ca6efe2ec1f72072c599a78c2725f7cfc2d9edf220b5f6abdb0c0d8d160182de451e26bcbb4e8c18726263e21ce56fb4bafaa1f186c745e2c8392ef8c5a1c03f5462ebbbcde0ffcc31e9a0b3e898ddb9c1c79e420fd7a35\nresult = invalid\nshared = \n\n# tcId = 103\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 30819b301406072a8648ce3d020106092b240303020801010e03818200047122f743122681ac73b0d611af86847d8bec654cf99e7eaf5d4f684e4078a8e61dc6d07e831ad02cd40d41dbdb6b0e877d960b78a5ac34c1e6ce7c483503d6de2eaddeffbfb3f144d29d13535a05815934186707146e45f64476bbdbc8645be973270a4c5e35d70ffd5eab2f08d1fb04762bc8aa80e999da14f744be9ff8c923\nresult", - " = invalid\nshared = \n\n# tcId = 104\n# invalid public key\nprivate = 1c1fb2cac9087a3397814b198a80e2ea5b437aac1b41e8a2bd8fef8700e4812aa817320e6e1e3865bd2cf75e43a78be5c27ff1c4b5f5019333cb37d0c9c4ff3ec61\npublic = 3058301006072a8648ce3d020106052b810400230344000200429cb431c18f5f4e4e502f74214e6ac5ec2c3f86b830bac24de95feae142ca7d9aa8aa5b34f55af4b2848f2e6ba6df4c3ecd401a1d7b2a8287a332b202196fadbb\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 105\n# public key is a low order point on twist\nprivate = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacd\npublic = 3058301006072a8648ce3d020106052b81040023034400020108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 106\n# public key is a low order point on twist\nprivate = 0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f2\npublic = 3058301006072a8648ce3d020106052b8104002303440003011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 107\n# public key is a low order point on twist\nprivate = 0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f3\npublic = 3058301006072a8648ce3d020106052b8104002303440002011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 108\n# public key is a low order point on twist\nprivate = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacc\npublic = 3058301006072a8648ce3d020106052b81040023034400030108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 109\n# public key is a low order point on twist\nprivate = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e2\npublic = 3058301006072a8648ce3d020106052b81040023034400020009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 110\n# public key is a low order point on twist\nprivate = 1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f677\npublic = 3058301006072a8648ce3d020106052b81040023034400030047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 111\n# public key is a low order point on twist\nprivate = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d5\npublic = 3058301006072a8648ce3d020106052b810400230344000300c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 112\n# public key is a low order point on twist\nprivate = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d6\npublic = 3058301006072a8648ce3d020106052b810400230344000200c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 113\n# public key is a low order point on twist\nprivate = 1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f678\npublic = 3058301006072a8648ce3d020106052b81040023034400020047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 114\n# public key is a low order point on twist\nprivate = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e1\npublic = 3058301006072a8648ce3d020106052b81040023034400030009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 115\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3082009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 116\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3082001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 117\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012068200072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this t", - "est uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 118\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201068200052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 119\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301006072a8648ce3d020106052b81040023038200860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 120\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 309c301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 121\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 309a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 122\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301106072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 123\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b300f06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 124\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006082a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 125\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006062a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 126\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106062b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 127\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44", - "eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106042b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 128\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303870004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 129\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 130\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3085010000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 131\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03085010000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 132\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015068501000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 133\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201068501000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 134\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b81040023038501000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 135\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308901000000000000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 136\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4308901000000000000001006", - "072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 137\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906890100000000000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 138\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906072a8648ce3d020106890100000000000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 139\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301006072a8648ce3d020106052b8104002303890100000000000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 140\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30847fffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 141\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30847fffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 142\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406847fffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 143\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d020106847fffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 144\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b8104002303847fffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 145\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3084ffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a", - "724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 146\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3084ffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 147\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30140684ffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 148\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d02010684ffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 149\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b810400230384ffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 150\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3085ffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 151\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03085ffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 152\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a030150685ffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 153\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d02010685ffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 154\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b810400230385ffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba0487", - "49b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 155\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 156\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33088ffffffffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 157\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a330180688ffffffffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 158\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d02010688ffffffffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 159\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301006072a8648ce3d020106052b810400230388ffffffffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 160\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30ff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 161\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b30ff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 162\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006ff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 163\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106ff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e", - "869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 164\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303ff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 165\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 166\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b308006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 167\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006802a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 168\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106802b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 169\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303800004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 170\n# removing sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = \nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 171\n# removing sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 172\n# lonely sequence tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 173\n# lonely sequence tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818a300381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115", - "b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 174\n# appending 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 175\n# appending 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 176\n# prepending 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d0000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 177\n# prepending 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012000006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 178\n# appending unused 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 179\n# appending unused 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 180\n# appending null value to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 181\n# appending null value to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 182\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a149817730819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encodi", - "ng. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 183\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0250030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 184\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 185\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015498177301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 186\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30142500301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 187\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33012301006072a8648ce3d020106052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 188\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015260c49817706072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 189\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3014260b250006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 190\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018260906072a8648ce3d02010004deadbeef06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 191\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201260a49817706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns th", - "e correct shared value.\n\n# tcId = 192\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d02012609250006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 193\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201260706052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 194\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1301006072a8648ce3d020106052b8104002323818c4981770381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 195\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301006072a8648ce3d020106052b8104002323818b25000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 196\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301006072a8648ce3d020106052b810400232381890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 197\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4aa00bb00cd0030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 198\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2aa02aabb30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 199\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018aa00bb00cd00301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 200\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a13016aa02aabb301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 201\n# including undefined tags\nprivate = 18c3c384368133e46c", - "99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018260faa00bb00cd0006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 202\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a13016260daa02aabb06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 203\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201260daa00bb00cd0006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 204\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1301606072a8648ce3d0201260baa02aabb06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 205\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301006072a8648ce3d020106052b8104002323818faa00bb00cd000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 206\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301006072a8648ce3d020106052b8104002323818daa02aabb0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 207\n# truncated length of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 208\n# truncated length of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b30810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 209\n# Replacing sequence with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 0500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 210\n# Replacing sequence with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b05000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# EC", - "DH computation still returns the correct shared value.\n\n# tcId = 211\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 2e819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 212\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 2f819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 213\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 31819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 214\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 32819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 215\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = ff819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 216\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b2e1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 217\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b2f1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 218\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b311006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 219\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b321006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 220\n# changing tag value of sequence\nprivate = 18c3c384368133e4", - "6c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819bff1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 221\n# dropping value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 222\n# dropping value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b30000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 223\n# truncate sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 224\n# truncate sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 225\n# truncate sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d020106052b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 226\n# truncate sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 227\n# indefinite length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 228\n# indefinite length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d308006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 229\n# indefinite length with truncated delimiter\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb860857", - "36115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 230\n# indefinite length with truncated delimiter\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c308006072a8648ce3d020106052b81040023000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 231\n# indefinite length with additional element\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5005000000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 232\n# indefinite length with additional element\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f308006072a8648ce3d020106052b81040023050000000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 233\n# indefinite length with truncated element\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50060811220000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 234\n# indefinite length with truncated element\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1308006072a8648ce3d020106052b810400230608112200000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 235\n# indefinite length with garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000fe02beef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 236\n# indefinite length with garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1308006072a8648ce3d020106052b810400230000fe02beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 237\n# indefinite length with nonempty EOC\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500002beef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 238\n# indefinite length with nonempty EOC\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f308006072a8648ce3d020106052b810400230002beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07db", - "f3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 239\n# prepend empty sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 240\n# prepend empty sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012300006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 241\n# append empty sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d503000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 242\n# append empty sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002330000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 243\n# sequence of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 244\n# sequence of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 245\n# truncated sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3012301006072a8648ce3d020106052b81040023\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 246\n# truncated sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308194300906072a8648ce3d02010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 247\n# repeat element in sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30820124301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN forma", - "t are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 248\n# repeat element in sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301706072a8648ce3d020106052b8104002306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 249\n# long form encoding of length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c30811006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 250\n# long form encoding of length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c30110681072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 251\n# long form encoding of length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d02010681052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 252\n# removing oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308192300706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 253\n# lonely oid tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819330080606052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 254\n# lonely oid tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308195300a06072a8648ce3d0201060381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 255\n# appending 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206092a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 256\n# appending 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106072b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 257\n# prepending 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da2", - "2f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012060900002a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 258\n# prepending 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201060700002b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 259\n# appending unused 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 260\n# appending null value to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206092a8648ce3d0201050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 261\n# appending null value to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106072b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 262\n# truncated length of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009068106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 263\n# truncated length of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020106810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 264\n# Replacing oid with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 265\n# Replacing oid with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020105000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 266\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301004072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd", - "2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 267\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301005072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 268\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301007072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 269\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301008072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 270\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b3010ff072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 271\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020104052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 272\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020105052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 273\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020107052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 274\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020108052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 275\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d0201ff052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acce", - "ptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 276\n# dropping value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009060006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 277\n# dropping value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020106000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 278\n# modify first byte of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b30100607288648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 279\n# modify first byte of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d0201060529810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 280\n# modify last byte of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d028106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 281\n# modify last byte of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400a30381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 282\n# truncate oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06062a8648ce3d0206052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 283\n# truncate oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06068648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 284\n# truncate oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d020106042b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strict", - "ly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 285\n# truncate oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d02010604810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 286\n# wrong oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e3013060a3262306530333032316106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 287\n# wrong oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a6301b061236303836343830313635303330343032303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 288\n# wrong oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201060a326230653033303231610381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 289\n# wrong oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a8301d06072a8648ce3d020106123630383634383031363530333034303230310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 290\n# longer oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906103261383634386365336430323031303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 291\n# longer oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301706072a8648ce3d0201060c3262383130343030323330310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 292\n# oid with modified node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a23017060e326138363438636533643032313106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 293\n# oid with modified node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081aa301f06163261383634386365336430323838383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 294\n# oid with modified no", - "de\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201060a326238313034303033330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 295\n# oid with modified node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a8301d06072a8648ce3d020106123262383130343030383838303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 296\n# large integer in oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081b430290620326138363438636533643032383238303830383038303830383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 297\n# large integer in oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081b2302706072a8648ce3d0201061c326238313034303038323830383038303830383038303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 298\n# oid with invalid node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a5301a0611326138363438636533643032303165303306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 299\n# oid with invalid node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106082a808648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 300\n# oid with invalid node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201060d326238313034303032336530330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 301\n# oid with invalid node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d020106062b80810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 302\n# lonely bit string tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3013301006072a8648ce3d020106052b8104002303\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 303\n# appending 0's to bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63", - "007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 304\n# prepending 0's to bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b8104002303818800000004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 305\n# appending null value to bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 306\n# truncated length of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230381\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 307\n# Replacing bit string with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 308\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230181860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 309\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230281860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 310\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230481860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 311\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230581860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 312\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b81040023ff81860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 313\n# dropping value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa", - "70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230300\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 314\n# modify first byte of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860204017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 315\n# modify last byte of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32dd0\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 316\n# truncate bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b810400230381850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 317\n# truncate bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303818504017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 318\n# declaring bits as unused in a bit-string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860104017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 319\n# unused bits in a bit-string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b8104002303818a2004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5001020304\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 320\n# unused bits in empty bit-string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3015301006072a8648ce3d020106052b81040023030103\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 321\n# 128 unused bits\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381868004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n", +static const char *kData98[] = { + "# Imported from Wycheproof's ecdh_secp521r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.8r12\n\n[curve = secp521r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 01939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce00e04ad19cf9fd4722b0c824c069f70c3c0e7ebc5288940dfa92422152ae4a4f79183ced375afb54db1409ddf338b85bb6dbfc5950163346bb63a90a70c5aba098f7\nresult = valid\nshared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87\n\n# tcId = 2\n# compressed public key\nprivate = 01939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd\npublic = 3058301006072a8648ce3d020106052b81040023034400030064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce\nresult = acceptable\nshared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87\nflags = CompressedPoint\n\n# tcId = 3\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004014c643329691ba27459a40dfe7c4ce17b3ea14d0cd7aa47b01f1315404db51436fbbfe6de0842e0f7e1265f6ff3aca28750677d3370b2fb2a6ef497356f4b95811201051b14178639a09a41465c72d3743436ee1c191ff7388a40140b34d5317de5911ea03cdbb0329fdeb446695a3b92d437271a9f3c318b02dec4d473908158140e97\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040029cd32125c23a41af24fd4b729da0faacbc35516ef0ba59096602571693cd282e26d67e18ef4643d0f6f158d7370d3394ca9a8de7938032ac178c6fd34e3702b8d008649834e2b41be3a8b7510bfe570f4c67075943cd0cbb9d9e1d1da52618b5b96d6aec9b650daf1ca6624c13e5116302b9c79c8c4d3d351915d1e8e1ab6ad76098e\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 5\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040032c6f06ce6a15ea064464d35aa368d299c9a9e1e368f694aefb603876248f898f223ce0217bef37d61eb09b27c93187cf8e61ba7b14e3c9bee692b06ac6d95f836019fd19f8480e21c63211d48d45f96f6365cf55f958e1a0fe7ea6b6b9ff230a87b70bb1b14d3a5fb6669a91641c6acf4570c1d3a9e709913b7fe6b35ff81c394d6a7\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 6\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f7eb96e64b1a62daf9e0801bfd96a0b15b68e5f5cb3e90b434495a473907338e53098e1c2e493335d09c6aae6fdda0345b98aaed588f2abe82910713fb6c20252901396b17cf250bc018f4cead097e7e09863f14cf1239b065e57d884949eee141926f7e7c9f7f34cf0536368767bc0e1ab5142877293a4c722693a73fe14a5390af93\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006ddf9b10965d5fc129e96f7a37667ccf66cc44384772906fedb21f9de4629e01aaa09ac7c9866112064bbc9bd58ebc123ab2fe19d8fed1a056d27bfef0630509c7001c441311ef20a16346332ea42d5c65788d68f6817b0267fcab11ea9c948ed108115dda8e823a380b601460742d3772d6424c67b240da24772ff0d2ccd9a1e0cea6\nresult = valid\nshared = 000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000\n\n# tcId = 8\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004007a8c547268c948b626da636cf54428ea2ab23861d499a84ad7be1cf691b92872a06e26c6dba08ca9ed386f83d396156d5fa023f57d5ea6440ec7401dad2c08ad70018c3815b1b9a2e42555419a6c19043fa2b0ddcc4b5a6e372fee9fcb227d85bad704687e7e1a818b612d5c046cd75972f7a2dd5c9a200ac5582cd59fec47ac525ecf\nresult = valid\nshared = 00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 9\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040029153cf062f88f303e5d6f9aac968bd901076d5994ea7f831833b1e69b67e9e9fe20cf9c5623e00e0b9e3592fca2a03324b5df7c93186aff697aca864600d44ecc002801a62e2f4106f34106da23dc93d50e3e975a1d47510021835290649b7a4125109f656b6b0b5bd00b24d84ea1ba4e1ed49e61c526fb1011005131caee7ee0501e\nresult = valid\nshared = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 10\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400a61eb994e28722c59b3c6007dfdf8b37893f6350f461b26a00e1a45104314aae9989da87e4facb2c4ef721185b7d96d9a45a28a102756501a1acc5d329a21bbf73010e8d0e12f5a9a40e0d59c90ce73043d39730aeadd3788e31d7c2bb62a1166161994664afa658ce2e60a13f45f27f914307c8d6f8d4ed16ab041b8f69908a62782f\nresult = valid\nshared = 010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 11\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011dd497b30c73709906b164a9a79dc7f2a98c0148ed63016bb95243834fbcdf8eb74b0ff652d54f59f31aef51da6e8974d363655b1da138dc4de0f2a8d800f475ae0057bd4b84607400d863ffbf45a3cf58999ee24ba05e93eca7b0e4ae760eb1733559a45d15579d3370d716ffa3ec4bfdae418e32fb06138dfca213720a938577610e\nresult = valid\nshared = 01ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000\n\n# tcId = 12\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401283eb93fa369fe7012b647d21e0a97cf9950e5fbed819ef56158f20c8a9473a418eccbca4dc2b47f4cb6d322f917005859bf221e84ac9827cab82a801c627fb1ec0075c480cbafb352fcaf93baf23a1405fd81febe09729a908d1077e177dd8993d94b251a0d52652da3edb6fdf864e80cd51540e73d0b5107e3433576dcaa4e18db43\nresult = valid\nshared = 01ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff\n\n# tcId = 13\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6", + "b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400173beefe35ee868d497ff6601628f65ce18a1591f7e4a3a406622f3f508e2da68f101ed02febc38418c6ddfc26a5ec9848c42792463b1e945f9e167db34bdf2d660053070647aba7cd60eb295ab81a268a3903f393c5d28bbc5e022351c377cd84f02c19deb36442372cae1332e92f95ba60b6c852e0de0718e89d24e43cd479c9fb11\nresult = valid\nshared = 01ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 14\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009829cd5432687739ab6ae10af8ea73d2cb53b81ebb06b5961b7badc1676b3ef7b00454f7cde56774a01312d574a9193c1a5fe5336fbe62623ad9bf81143789f9f90012f955697ed578207197bf9aac3896521615dbacc8dc665d4f1715b08439f49c2aa6ed337023ffccc5075a85944936826db92f919737ca3afeadba1847084bdef7\nresult = valid\nshared = 01ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000\n\n# tcId = 15\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040126e3c959cd41120bb83693b1d6a034b385137c1bb3213b776122fed96056e329885718a73bee639c0ba4b68818682f498ce5496925002bd7652516405fcc4fecad0073a9c6e3b0c694bf7cc8ccbbd09800e81e3548ba44a0c2381cef0b07bf702a19054bb5d717a1b79294609cbdafd4e2018064f7b2c4c204d818eb7ce521c3268ce5\nresult = valid\nshared = 01ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001\n\n# tcId = 16\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040153dc481ab3c5dc8decd24ceaee1bec77f59f21f7f31c19538af047d281ac9e2567933fd3d21096b185d4098919571931bb9b0be7197995e2fbaf21c8a10007ade001ad69f08fcae164390be826256b50fae47502ce0e9ca46af0c490cb4033c886f88661a99ff2bd3c9c8e7da30faf2b4c769edc5831810ac05054c97e41063f496e1f\nresult = valid\nshared = 01ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f586611c87150288c3e86116c5db94a26718978829d701ddac05e9b0ce22dee4b18e95f60cba783ed3384da373deaefc57b8265d3a34eeb458bf24b9d82be32819008456e0f1d80492ef0078cc246d32fc7c7fb6720b4d458b51b2098d35746752b0ef0345bd0d342dfee6dd2f12ed12b34bd95d058c2811fd479d2dde32180e6c9ef2\nresult = valid\nshared = 01ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000002\n\n# tcId = 18\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004015edc87fd499a73eabffd14d2b6a70a8fb69b6a39d0d9c4dda2337b53cc72e49a9e3d5a2d9e8930cfa11852dac33443227fba6684bd74732e6879884b6ef9dae98f010eeb8d2e3360ea9726628085268af3f2a05ad41235d0a892098bd661b636f7ef0a820282906eda3f1ff1980b98fb5937228e9edcd6332e3641216c7307e7f3f452\nresult = valid\nshared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd\n\n# tcId = 19\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040131b43002f7e687eec1ecf6a253c2ccc9e48f04d86fccd18fee0d2d22191f1ea539c40d521970b4709dc03986f647e0e8bb3340cf8a3e643a3541035437cf25f01500b27a55ac45f0296f8c9656bcfd52b5cea9f4115c06e4c64319609847d45e92418400e7868672c0d3e6e5e6e004a7190476ed77cfc33ad19a4bd2c615ad9950f374\nresult = valid\nshared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\n\n# tcId = 20\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87\nresult = valid\nshared = 0053bf137fee8922769f8d0fe279caa4dac9c6054ad0460995588a845d0a959e24bc0fc2391a2b92f7bd400f50a11a9db37f07bef7fa8dad2a903fcf534abc8736f7\n\n# tcId = 21\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 01c95ac417c90a520149b29105cdab36f528a23efb5621520dbdafea95a7d43499c4c8be02cd1c2de000da18104fa84a1e9ece6386f0e0efa5234a24595d7c4c96f4\n\n# tcId = 22\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 01b47ec41e3a5abd9dd9808fc04d9078cbed72b9eba98d3c1ded70a29938f0efd5a27a7113ff721f122cb17411de307a355c685074f5766b6d1a033d2fa188c945b6\n\n# tcId = 23\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000005f880f50ec94bfac6658fa2fce05945c6a36b266407b6fbd5437a83e2f2f9b9c50a734872e48e70df65457f13e47d06c6b8b29f4735acf105ea63e051904d18aea\nresult = valid\nshared = 013aefe3245728a08c904fe7d61cd9c2fdac63f29cf664d8f161bebacb93f8a710e9692f9689480ad498de00f00061e40e46e76e4754c1130ef4217a58933e0b1dc6\n\n# tcId = 24\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000000f33ffc45da3eac1baab727ab8fd355cfa134c42047d55262651654fb50df7e9a5a75f179c8c86c4388213b5687dc43dfebb37f30128703c44ccd5c3284833b8717\nresult = valid\nshared = 0168df272d53e3161926168c4aeab5f355b8d2a6689cfd567f2b6eb2011a18c775ac2a21f8dd497f6957217020b3b1afcb7021f24fccc2523be76a2bff44596e5a14\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004", + "00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00cd2839d857b4699f5c8e8a0194786e26a862f086b4ba80746ae5225ed3aa68f96b7aaec55225830bb98f52d75221141897ba49d7a31ebbf0b6d7d31352e5266190\nresult = valid\nshared = 013db1b9241b23d33860d32dec37a79e4546a41afdfdd9c438d04e1f8b566ac8d9d3f572c293e96943722a4ee290e113fffaa82a61867d9ca28d349982354c9b256f\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813d9829119f42ffa95fea8ba9e81e4cd6a6ca97fb0778e12e5f5dfe35201dd4cca8eca0d2e395555997041381e6ac1f18ddf4c74e0b6e9041cfdca1d1c103091\nresult = valid\nshared = 01d2bbe9f754584ebbc7c7ad74136d1c8a144948948aa8be49989dd9b4c514db2e2ab1e0713ad1699f632dd2cea53da218ed549f030a113e282fd9e3be462d9aba84\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00878ad597d290db2cf660594aeed0f9b7c8dd68451d2d1b2cbc816b1ec4f35465b3964aff2edf1255163f5fca580132f85cade2887a017e7cd0b37196ad85221107\nresult = valid\nshared = 000f37a2e2caef54fff4126c0fa96e7c47f0cad74626ef91e589e12d2e1e8c221be7295be9dc2712b87bb0aa0f5880b738bc1242f2ba773bf9eb2a54e3c1ca4758d7\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000000000010000000000000000000000000000000000b5e1191b449fa1ebdbd677daa48f90e2d1d6c058c877087cafd9364d99dbb283c68402e6e6c5f5411b2ed42824d8b280ceb910aba6847883a7e3780e2132af41c1\nresult = valid\nshared = 017aeb254d9c8c8ee06215ff33811357da73bf7f6dd6d7f8f176d62c065a88a9005f680c630e9f2763585ea2ee76b6e4ab45e673f814ebfa95947c0c63fb24fa6e9b\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00207513d615656a1cc7505c18aa21b08e2b1d5a841de0816cc29c004efdb2d902ac1a7bb05e20722b576b64a3ddf4d2486421ac706bf4a424f252386368a5340fb6\nresult = valid\nshared = 0061bed42248a37b4625ef04c4f9c7ef69ee3c6f9503378351fcab1b8ce1343206997eec1b88449eb6f7355711ea1a818a486ee30a24126241a7e2289267cf5dd61f\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff001fe800c50e54012b75a33e4be7d07c8d60f29680a395e951a6a31c5096b0ea928fc2cbf327dd784dc0a7ca46ea73992b758b5641364b4aba39e93798a4d925a008\nresult = valid\nshared = 001067d9104e296ef42b944587de11b10df05d2d959ed44cac9e7ef1c7a05d90819c43bc79c7397918f957cc98db931763bbeb1bdfc35865e8a359a013f13d60c433\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000008dd18a1f5e482140be79bb65a21ad60c8987e532c84345f0135affd46ec71ef02b1ca3ad56f301d955fa306c122d441d6fedcf8b855ef256350bf69d23a7207ad9\nresult = valid\nshared = 00b779d83035cf7bb0bb04c7b2f46d08f6791f0d1542c9bcce7250e772b12ad8e38fce1d2b063a06f0fa3a1b072dd976f5f8542979903075162f1f5c6ba3b76cc45d\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000100566203dd325a081c4441f001f780365874fd3d0c9bc47227481afe76a93ae1bfde63af972203abfe22c63b80e83f7cc2184c3cb8cfd0152c54324c4759fd1f9a50\nresult = valid\nshared = 01afe5d23733728b79c743933b9ba7dfec5ed19b7737e393908a1d000918aa795d1ce0ad533983d018f927b35d2af6463356573f387febd75911a49486202ca69d3a\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff00b11c668fbd549f36889f7b63434051da26f15705839136b1b14a09152d7a182ea7806c35478a32d3aa3c9c1627a61519ebec71b36fa77449025b8829e27f307834\nresult = valid\nshared = 019612aeb386febb1a28096fe5b2f682dead02389785225b80a27df439510d08349a193839525f248b7f9bcabfd3dc8da8cc1724022299b7b5e72399d89464b82e44\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000200aa75efc0a8daac1d73f32c9c552414bccf44af8e74331b47439e7dcc49a135b3ee61e9f69717d89b4bba3567a195aeda13fbec634bf2984b5ec6b6f80f5978ed5a\nresult = valid\nshared = 00570673f87adcef49c1f011e8b9f1e11f7fd3b3c93114d08d3f515aa4a895a6c701c523063bdc13ad1db0a54f6e7b476fe10db2070441befc58c8cff3c08ef76e59\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 0016aaf228b0aec190d4e4e5b8138ff9cc46d705da1bf002901c6ab420f59314d5b641712b14ef3e4fb125652c47888676804fb5575b741a8408c5625bfccff4fdda\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 00a5d6dfda2b269f4ab895a41c3b71b6ba10d5c9f0d9b3e730275345e4721594abfd39464c227716ded8ef3e60bb1ca0b551716e3f6eebb48d5ce8e0ab58cb1b73c9\n\n# tcId = 37\n# edge case for Jacobian and projective coordinates\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "10010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 008f61e15e8c8545dcdab188f10ba9111b6345d529d9c5470677342df7ef54c56a1fb9fbe8dea76afbe8f2dd4c3cfb4d5b749d743944c96d74fb47bc4bf601e5dc7e\n\n# tcId = 38\n# edge case for Jacobian and projective coordinates\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004004dc16cafca9833eeb97c136c154f3ae390830f26d300edef06f867efab1c4214f563c25e1c81e16a86eaac8272892d1b65b2ee7fb2b69ba1110b083bbeb6b8873a010dbb701266a8df32d17bd58bea365c2637d686272900a5ea7a19ff98db3bf92425a483c70fdd9db25b6ee69981cb69dcc9c418c32989e73f0a5fd7f3c3ba44b051\nresult = valid\nshared = 017e7eecdb0f52e3b8aedd0f5550f26cd5e27e711d6860c54f88cfd3ff075df8d363ee3be4dac2f42d036b7c64e2b50d90764ab4eef0b9d68c29682b9707d45ec283\n\n# tcId = 39\n# edge case for Jacobian and projective coordinates\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004018255c014f2533ad930e4320216496a3f4e0d78b50fa27d42209e270e39baf480a987a2c84098eee53889ea8b6cc9036ddeebefc00b5542d2425fafd5e1babae84101db817b332b297a003cffc4251b58d9c7ce0b90301ef5c65e8ac0f82517fd1730a167d83af50d92f7e25e08787130618920345c435337ef45eb2e9b1ace530d0eaf\nresult = valid\nshared = 0115ba7fc1ef5d1547bb259d7302cf84400160a599a3fd1d368e4d8f136848bc32b345a7926b95140c319db39d3d89479d44aeacc05c8af37d55450c1ae114beb583\n\n# tcId = 40\n# edge case for Jacobian and projective coordinates\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 01d63965c150dcc6c834dd2a9446a9006e011affb8241a38e3409752b7f478d32c6d461f978296a57339ff4ab1a308f8fd0330a932979b3fc2363d04538e72510176\n\n# tcId = 41\n# edge case for Jacobian and projective coordinates\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040173de990978da53a05c463a567304727bbc9dbed8d5dab3bad11d1804dea864fbed5bbec807c13e4128749cf8c11727a4c528f91ff0217f953a3048de5ba7a2b9ad00f0213d032cc674e1029c71d10cb3f91de53753a01d6ddc41064036a43d613f2bb83fb999874a0fadcf8a6d40b91713cc9114bd44c0f1333ef98f0efb6372a9a453\nresult = valid\nshared = 00815a61f2c7622d1b9e3310104a41c576835a29cf3a875e3b1062e4588716d25777f0a90fa6a99a95226320ba225b8965d0ef5af674fba69a8acb850b7773be0c82\n\n# tcId = 42\n# edge case for Jacobian and projective coordinates\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010f43662f4bad6187ad22a41dfc831dcba255af6c4b5f1c14b2ed5447f88b65d690b875848ea7a0c4efe55b821488d1b0f85cda6e7173d87e0d76441aaf60e960d10017fa4b51097c5ef9cb66d6c3eb851e1a8a41102452bd3f8902f17ee72ab0772241510144674686419c7cd55a930951165ba07d34c2c20c421069c1fe3d976737a4\nresult = valid\nshared = 0110ea8af76567351766d7ddcb7343ee04edd95035f727e6bae0d89d5017019a3df79554d1d0e84fe339a7c0fd79829cdae1372e5d9900a0dc8bac63ae33066d3f11\n\n# tcId = 43\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004012183fff5777e319e8cd23ab5392baa9d4b1d43c7f8b01f78f295c0c37d4a3a122f88c163a8f9648d9da23b389ba56e8e9ca022c2fe9c273f2585429a2de43295b901e18e9eaaf8a406f10b1dcbaa684743a43d203f6cddd8709db90f43fe7b8b3815ead2046b6b37239e065da62d797cd0a73122ee9bf1bd00b0d801297a3d2bcefd0d\nresult = valid\nshared = 01f3c9b44faf754be250c2ed756541c261cb53795a555e924782dc4f2c1dd4a3855c823f33bdfcb0f0503ea3f9a911e24235375a69da21a9ae4c647738b7e5c52909\n\n# tcId = 44\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040096068a512e317ec63588ff28d380a8d7c91e3a59279c85f5416e8ed321747b05d537d19d797364afce0e548bfb758e33cc6d751b5c217972de2ec4ff000cc15dee0085aff0f0252ab46ff80d849e14943de8145dbb307b4bc45c9eede78c040a0836d80406770c7c9459c065c53367e683128e8fc1dd89190e747893d9f27e49610bfb\nresult = valid\nshared = 01f567d01152c90644be34fc7f4dcdacda02e1e14d80cdb377611a8c9a7a4d0fa5413b9d415410c9ac6ff1467cf37235e588d114a54e6f9e0a65b6d02cdb82889814\n\n# tcId = 45\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401bfd8c3e346ef884b4b1c01fd273e982fed38b5c8046165cc1e0de876787690c19c4ec24606bc8e1ed83a4ce10b7a42e6db19c7aa5e9971654e57842d41e70985a300b357351499600560bafaa25e243aff7b33602cf41d3518499e1b43ba1e814a0b45ec01fe694789e0157a3c281d17fa00e7019f47ae7a10ce40ed0cb7ca56b41e26\nresult = valid\nshared = 01819cd3a3b36883c480c270db139a94d7f94afd8879b34ef65a304d0b9a6201a1dbcfcb8ee5c4e66698d98dd0e8bdd53e563628b15afe05f48230fa1c52952d8989\n\n# tcId = 46\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000cc8c84d1db71fb91595f00703df257f2a03057847b4b9506d3b2615a8b724062d93a62954219df9ec986261fb7708eaa13954182e105e8e93c111c0d2a8bdc51d00e20cc6488c7761f31a3e762698553e5f2bf49b41a3a95ac5b4823c29759c738151c3019ce9d3d9ee7411a4106d5810c8b8aafd37f544f1caf37f6f5fad592e59bd\nresult = valid\nshared = 0080859c07cae1911b753964ee175c8884bd19abad666e2e472ed6329e71f951534227b2742805c6e6310f6ea3230bd403c2260e97b0d7f1274027f7e69fc7b81273\n\n# tcId = 47\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005494023709ee6ae39d0c5b67d959f5f8cbd1bea96442933a8929e332b704f7146ecc689b7fdb85c83f3a60846e692dde0c2748cd7becbb0d6b4c7c0c0f793f3ade01a77d75c2600687241843e2eb6ac81ab19d0f8a9747988c03f2c770593dfa48048f2816e3856c5f11ce3cdcca3ae0e1f13718c2c5db2c1c859f7caeffffdfd629fc\nresult = valid\nshared = 009d532af8d99dfc0ce93e2b63305b1f055c42afff3fa90111b071341ccad45ba63ad9ed3a141e95c0cd0d70e78a7ebd82c22e68fac46aa5c9335a955631f9b7c66a\n\n# tcId = 48\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400912809b73f50475a3b97e9602b757eb2e94fd245e483040e167b833840a62df27912a9c2e0317dbfe58dc43ba2053deede5eca2b22bd06792001dbcaa7ea6b700000438e5bb84f3ef7865152b2317d8df0c691c3d2bed2467d5e7507268a7ba98cab4e4608cea0f5fbf50fd0a487d005b381905c95aaf6a18cd1a2dbd6742b5b05ba71\nresult = valid\nshared = 001b018fecf2c07811a54b43a0b284c996eecc7742210269373c39dba299d1ab91c778b0df40aaa52530766650ff1178de05b69c3bc46b29d1af193433fa125eb900\n\n# tcId = 49\n# edge case for Jacobian and projective coordinates in left to right addition\n# cha", + "in\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040043cfe2c30d3f9f0ff96e0e37f61eb2dea3816999c91c5b77957ef92b0ecde092c7504ba57406eadd744381906337cd13ae4555e50a9eb257168c2140e828a46ad30005c129fa9725a82d3e6da721ec0d1412ff6d6a2d8f75bfc7b2b6aadc5fad86fc1a8a67cd7e6b7aab42a546179c6e0560554db5f6138a7ef2dc79d2be385356c9ea\nresult = valid\nshared = 001450d8402f269dfb636499f1645445106c3d95f93080c994726db7e43fb68488f7430f6d171543a127038c930264e60dbf0f48d332af210ecd32320b1cb90acf60\n\n# tcId = 50\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004012eda9020c665ae69a506ac6b3287465e0fc0137b21075cfb6c69963d9acb39a26ca940c3a39e0d94c054672ffc1761e56ded3c180f006857d131dc34a5ace7fd5001709e8a2cd99e1e2016c24f1c5485e3c47947bcc6efbebd2211c0d529a83d097ac611aa50d7879979f4be2d9cecc16360fe4b949ea9970f1075cbf957f031ccfdb2\nresult = valid\nshared = 007846a20b43a498277904686f3766b9a3ad994dc61329db3ae9d97618b8130c2bbece0da7e2c79dbd0e1dc8303ae5f9903d97157d0a74db7f465abe9965cfa83eee\n\n# tcId = 51\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400084ba1cb8f33cfba89d1c14ed2b50da737a05ae0a4ca35fede3b26324d3be74f5e3320a90bf388bcf8bbcc4c3c1c88ed52103cc7c5ca2b59ccd3e7dfab6d2f4bdc01a3f175c3c8a89d4fda95d47b2d4f3047aebc75ca7ea416ed76d8e689d7ebe7e977737bc6eff9733e6a6c0593486e62834ff46121b72fde5b3359fa707fba6d67cc\nresult = valid\nshared = 018e645fbedd9f12d4474db1206aa67057e08df567c1eecbda395edb2049f770908e3515cce779e37169ebc026eb5c353040058da85fbabd674c8d52a78a39723196\n\n# tcId = 52\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ea36ce4e51bbb333ea942a5325e1410896e73652c2833b462262da5d791b1835538b06cd9d7b9741f3414d520da87f8be0be218043b05cad61b93b0bc0484e0b2801ece28df4d9ca3ffb23d69c36966cc26b492f7010dfaca67b4bded71cf74c2b0a86e61bc77903397eb8a4362379f09492aa63d9c9f5ff30d105b530c01f46cd7cdc\nresult = valid\nshared = 01912aa177ea8f8878447b4a19da17d482357a272dea19b542398a6bb48b80598754ae27c73958046aaa1c69951302727dddaaf966f03ff5b723acb7db7fccf3a6e4\n\n# tcId = 53\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009c96024fac77e64b846f141cd1011f2ad52e3aa551103b96e35b439cf89c0304293f1bfb522f981fbb56921db87151e797d07f1127a01c3f3de56dd499656c103b0177b67fb2678b720d08ed05a5c06bcf88134201c192997fc6dc15f820b60bcc0f777d0661bd8f81cfed59deec33cd696e1c1ef72c7666cd5aed49eb325714739bed\nresult = valid\nshared = 006a5b0c09a7bdef316d25f39579279e286b781c2e430f201c54cfc9e154a38ec31eee9d09f6d5aed45056c5b7bb44213c6357c7492d1fd9b1c7dba116fa51d21cfa\n\n# tcId = 54\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004008d4d677aaaef3925a1d41fce4d30543a1fa33a2b3051b367cfdf1b8da7cd1ab67ce9bb255e60475684443cf19ea2e1f01e58fd79f47725661be208767cb2a17530010be175e24d3bbf27dcad2596b8090c7f2e005901038657284a80ff77d3894a29ee2d7daa5880b3ba052261e4796f132db9e8a9781facb32bd8a09babd9e0cba918\nresult = valid\nshared = 00652fbaa411ad316dea40a37d3798d0c03ca7ca590d8eeaee454c7d24ff1c4ec7dffd5ef3e90762d5539c5a57e745b9c0f88e18fff6f737729e67606ddfe3a77519\n\n# tcId = 55\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009b76bfa396b3706381552ad08fb3b9f92b492c43d6102b7c02cca4017718e0643478c0d73765c27958138c7f6d23b4e83baaf27eaf217ed565e6602b4d080200b1017ba7aefc45677b8c4d4ca468e8a9f5a2fc411a4af4ff4593a9b781f1357aae46988642a1254d6cf588708efe60b2dfab15d371ba4f4d9e09e61f06d4d243e5ec57\nresult = valid\nshared = 00b1ae05c2a91f7e1e9d626b1a46bed2009dd6662e712416e19c1be9e5e512ec734127adafe6129a83d74ba7a797f41afc4b1145a16f6e389169c8b6592bf628f747\n\n# tcId = 56\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010089190e9b63f5a29e41b5a1837d9bf41c0b2ca107d6d088f4c1d468773150d7d145cce70a240827268371144e4acdda79d09a51b31ca20bac1197e619d1a84f4d0122c638c06912586580c7a7dee429b1ba000f6285b7fda441388c323c0895ff90443f0615011caa332622e67ede867a8c445335444ea112e80532d5f6df1408e72b\nresult = valid\nshared = 00037d3e4359c326f74a8cdcc4bb82090e93bd48757b6caf749fb39a83f992a7fa9676ad466c8d7193902214dabcfc104bc8664eb934a2df648b2e1f401d745e16b3\n\n# tcId = 57\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040070550537e385e4601490ac5a78348ef26678a4ab3a7469f299dc493bd2976416f649ee3e3cdd77191d8f8f9d600e8cb9fde3afe635e224635b70fa79eb1053744f000a546959ae4abcda827429a47a8cbc6afe42fa0f8391293da778be296c722e02c7ff55e20c119531d211173f02eb108fe1b8bb10d465c7158dd3cb2d9f320d1711\nresult = valid\nshared = 018e22a63dfeb14f28d4f338b78455877851e95b349796245effa830e29ea1978499f07ad9704b352746dac30bfbb827e1f00b979f642bb886f156b538ac6be91746\n\n# tcId = 58\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040001b66958931ef30c54f83195cc40530c0e44baa223d28d8bfaabf10d16302f3a19601fb74efcbefc1b71d1e81ae4f60b3f8d7c21de1dfafd5cf19c94b396410c39008f13c42ff46d1a18f3d975fdbc0bbb43c31da9423fa935f4c211435518a01437bfaeb6aaf031f92b0c37d76290ff682378c2651cd975eac192cd6582dbbec09974\nresult = valid\nshared = 0032284ed3e15d5e9deda53ceaf5aff21c230e6038e6d7e5caae2a715a5288bcb8469ce2befaaf3b4184eab34869144095661788d3fdf41ac61ef1256890dc7a0beb\n\n# tcId = 59\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040050571167dc9f3b1f4ae301dd1fac47002d901398823f2e3dea4338288de8a8fb432a683bd52bfa380700b27a904ad60a5a4d363951ffe74540d54de8e7d48ea16c0085f6a7a743969ae27e9a96bc6037039a87d97c696aed99a39f6e2d56ace558074d49546e417d791aa5ff049c9d30c30502f40020ae41e7a512671cdcc49b6079b5\nresult = valid\nshared = 01dfb46afe0bf064dff0b4177f7fd27fa2ee0832af7cdc921f66c0e5be30c80630c41e09202ea2f370f5bbd02ed298b08820ce86e2cb724a1962c6e7b1062f5032dd\n\n# tcId = 60\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017e4f402b", + "1ce209f673ddf50ae87b9ef61d814d51e14f43da3c23f40fac422f1058fd8930dfaf11710c41a7f6b79255e1c2cfbad69d257a0ecc102f5e38e1407f9d00e10a67d175b399bf1941bd0fc13127f7eb112e1a8681acc2cfae0dc2959e8237488146281ca3df2b1e6056ee932feb1ac6e6e9df3f7a6ee6021578a0ffdb50eca2\nresult = valid\nshared = 0017b99fab0ee0d7f93f7309ffdc9149ba3cb683042fb3d02bd5319eb42678ac7ac7de214e5c0f8473627ef15112c0d1a3194284b6fcccf561d0d252ad25fcc93953\n\n# tcId = 61\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040004cd97e12d062b7490be45d85e85bd401c1791fbb44e74a45438a8317c7ec9f025b34c595b4769c7b37f44296b4b8f73d5641da281fe35508a23ad503da91ee7db017c4ed0d84b401dab7488da839b20b57809fe7127fa66ef94dc029e44b250857b309a11c91f736a76f3c89d9aded97f5b0beec93a7b6d7882e428befcc20d90df15\nresult = valid\nshared = 01b66a065e62ca0ea49c25fe2a37799b46867e274f8b853a534dd6cd1ad81cc13d27f279d1ee5bc2d96d0b7701abb2d213fa37836bbcd2d1d8937b6d20dcb35b53e0\n\n# tcId = 62\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401b23c60eefdbde07ce9751d9f9939bf75458e6f2af0afa3d90fa1762d01a6d6e3fa4082c37ad6bf03ba8ff17919e8b9625b5a909c925d9feb7c3ee19a0425385cea000df68406c674be5e1f42d14bf50c19460aeebdde379ad3130a332e8fbeea1569d314d507b37f1dcd283b1c1715852bd39b81c4edcae0f2e1ce5358c6598b8c970a\nresult = valid\nshared = 0059a320501bde6b9b268236f966ac881dede98ce6356a7a900a452c59cbf8d8d20630321625c689c79dffffae7f870a7fbf298695896cacdd2d0e13b702f22e7e43\n\n# tcId = 63\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006836154477db9db03bb8a404c5942d32e1cdea20354eda9693c3333914b5190c9d63a0433a43062b8860d5e59c0f27ac633038491d46b91fc11ecef8326e75b50e014178e1bbf08473ee5ba856856416e6326cafe6f74227768e835c25c520bae05d1d451f639158dccaa293642a572ac7612d60e96df4c673ab8f2a4ed82e5e2af30b\nresult = valid\nshared = 00204ccc5356219beef3b6d90ea2ef3785f76f14aa3b84ca04f6b2a5e90700596431546e104e7788307147312ca890984f76b53c489de04cc728ef003d246fddb360\n\n# tcId = 64\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004019c26d815bbe92358e1ecd02145a5f45e1f8f46cb90bae131ee589e51bb093d8410206585c03ed7c5b3975445ba07fb7dd668a8e58c27e01dd00b08fe409b4440e7009fe859e9d22bb1652e384d5ae579e44a0f8c5c82e59b4639d42a9b27cb140599c1236e932338dce03de46a60fbece61fd34b8ece7da937b5cc1e3e7cebcce339ee\nresult = valid\nshared = 017a82403f78f8a51729e8bc63c5de9b67c572d41f2aac28bdd95792e658338f19bddc45a6a1cb1bb275f8a910fa64daae2502600aa97b71f49b28981b718f6ae066\n\n# tcId = 65\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401dd2ae95764078496804529a5eed0da6182be0f085c95789a2634a9569f0080861b183cefd1a1489d0f90465353b972c8450c2aeb5fd80be64f15a719d0873e0a1600e1098dd4b30f78e3fe6c1aaf0048b15b1d0f98ff0744c1c888641d17ac216329376be7113e9321ca7f9f7e1935dff661bce9ffbe86aedbc933f2438fc482c462bf\nresult = valid\nshared = 0088797d31f9b66faee97eeb9a695cf668c7960f49bdce051b2fc273d5ea6d86c78688ee3ef4be14eab0659c57ccecb2bdb190e50be04f65079950c5eb90d676ee57\n\n# tcId = 66\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004007124ed9d261bc3e5d29947ff49cc4420db90d3afac7eb6ab91bbab090bd84ffcc3ef33e963bcc05685910ee63b063bb9adae7fcea41199619988d34d6477d11ea90039738ed5529f31a557970f89e6c927fe0bdd6413dc31237e75270fee8e3ba6f3a24ee56516ece117733c385a8bb759e57ee79533f3c857327b7542677d834b8dfb\nresult = valid\nshared = 002ba25d016989ea24d55fcdd9dae69bc767a4f3281935f5066203812977737b6a256ae839cde9b273281672d7d85dfb40ca895fc1449ce4283f7416cd913a56d8e0\n\n# tcId = 67\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004004220b1642db63810f96cf54f93ba6c3c9b16baa8ab42ecacc281a2fca368be876024b6ae18a8aaf9e433799fb43c0fa175d4ca4a5e121739c7249e9a26fc9044d701b06ae58dc3f7b773013e2dc800e001220bad2e68115ca67516e9c81763d17eadfad2c6d38226f66623a2d5c11786e07face42d7b0a1df96d095bbbedfcd348e4d6\nresult = valid\nshared = 01f5646e724f637e1d4ea8997cc67268da3f741b9af6d21f30775a9a9b0977ed75bfa0ca5a80db2d44822de494d15c87d392cff4acecfb50609b43d7845928286541\n\n# tcId = 68\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006db3dbd1af249980effd624e9f500e4d9fa446c9be94e39b4860767b55b1310889e178caf6c859f60ffb0d87612c5790833cad160a5b23f741221a123e36f0eeb7002ce839f2ba3072919297ee5a6829b8746af39fbce9fa70dbbf59bd209bb500d6129419ba96020a2550be0a19426ee9e111e6987af0c326e1ae1da4365d15a7bbf5\nresult = valid\nshared = 0177701749c0c54bd6d54ada39aa2222e5b4d32273ea165941d1a9a6114d2cbe609ee62c2306bc5c1ababe082272157fdac8dda39c7b452820c943db4267fed8c2eb\n\n# tcId = 69\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000d2fcab62b467f978a0267ff3598e6fdff087d3237f8fb00c17d0f5accbb4eded3c4c4858d4553033e59946030c6f5223779a21205ba2a49b4545be596b76f91b20057c975da0520e1dcaa518951db057864966c818e4e64fa910a0c0c7f9b894c06461fed9b44f7ec43b70e3339da0f566aac07fde501bbf22871452dba5c93e5d623\nresult = valid\nshared = 00f524b1726e889d14d5fd70bbfc76fb2eb32dc2425f112a5fca5203305416b85609f337cf87ef878e64e375fa29eb32f9f139bf775c0d3229a72c2e880979f822bf\n\n# tcId = 70\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004002cca1f37dd94a0a47c8168acea473fb057652713015e585743c9d33f5b7d01d638bc0d039147581a5f3096139e5ee8ed38bdcb72cde493924776579bcbb2522961015bd4859c2015c081696ab105b8922c1f81ce4a6104e5b56b3cd99ccc3c5066cbc339ae685a904df5dd15485cc3ca72d2c84f15f625397f4605905b361701e00d2b\nresult = valid\nshared = 01ca20d556bf1baf10153e2c1d99b58fa8d8f21cd7eef30afc94efb47d38bb364abdb59a326dffc41fc056efb714384b5d3f09270b4806fcb0e271383cdaec023baf\n\n# tcId = 71\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401b5386fc61597307632b3f2c984fe0ee8e22c5fd904b1d14b3568e9eb76500379d917f2430b7f2f55e0bac356e74672a23df2a5ddd46fc0a58f9f5407093726c25d009cbf983303fcbe0b5a926e28c0654ed457437e4010ccc1d1e02e28688c9f210c76af02ed0df6b727fb18b938718e9", + "dcc2c2421a639d732a61711a5a45faa1ba144\nresult = valid\nshared = 01206d9bc747f0e7591dbe7a88950a78db2770cebac4e91f71b3052a336bd19f0f906b7298eb92790be7bda33c28216b2816b100fe31ba8a7489a9eca3ba82b9d198\n\n# tcId = 72\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040012d9ebd3feb543b43cf38f7baba9c20fcd5fe2dee9049ca8854184a2ead64aa5405e169ae827413725958307939ee2440c21b8da58b3ff516ae569953cf48737ee00cd5bec6cf728632d31e3a199a298240dded0ab5d2b3513bcb2d114c6b8f279a075ff0c56a3ee9e4058acec8936bf86bb2844ba1307a434fb43d289746662a83dd5\nresult = valid\nshared = 0128dde1341ca17b37efb34b30ee479b763e878dc8006c8cee435c0bd21073c5bb3df52865bd4131f5cec41588ef778ef14af4ca47dc49a16d5b7008ede0b6e6b1b6\n\n# tcId = 73\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400f3aa49feaf686fcffe3a0a360692ef02feb14de6e0fd8dc922857b29d6837a59ce4013bee99bf87f8323c3ab7f57e02e7b0a0dfaa072bf1ada4836be4908ddae49006af81ab3e305fbe5ce8a819f8168a8b44e40b16eae8268a60ea5d66c0f284365e609a19123370beee420d0f019a1984156ce29ade49510e7a3163705333b858914\nresult = valid\nshared = 0058bd4d206df1cfb3fe349cda27b013d59dd6f507c066c0b6cf458aa54a1c13832554c66ff27f6175f1bf4058378c9f7c7a9d8b810e40a3a8af19fe0e48c7284ed3\n\n# tcId = 74\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040054682c186f9b80c4c76d7050f6a180fad9fc8519419574bfafca9678c59ca95e2253348e0b157949461e9551ca7ddfb9fae8fd7fd23a8855d9962913c66f2fce5400f405297310ed41239c565c044cfc4cad2868126d444b373d52e0518245600a99c40f1bfa5cca7d1f397c18ead33c4d3fd4d431ef84f1129238e296e3ed7be0f99e\nresult = valid\nshared = 01612ebacb6c31af2008aa264c45d1cee7aa533d78e1fcf480a3118d23418e23621f0ce9c7509f7182bf23a02a6530659ba62c5f16f8634a4f74d4c32b26c6eecc27\n\n# tcId = 75\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401eabf319253f883417a0ce265d3142396a75f830f33589486889bbd4e2091b827fef6090ab65768a38ffb3a9c97796464634d070622adbc3e9af198efb9d729d7ca0002fa30581a7b2681f7e224ead135ec7a6163af4f40aa333043a2badeceac1353ab5ffbeef929609137cd437e8accc0b02411603959d61c7a70f1391a7a992327a7\nresult = valid\nshared = 006a3235df6b85343eab82350620889feba273604e59eb98d78fe63bd441ce39411ead8402e2507fe10a03fad9562c3be4488378cf2a1f4c42785e7d93218d99fe8e\n\n# tcId = 76\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d36e696aadbbc409b4733fc3c86dcb2e980a1b7d0158f82a27e5b1337fd2272e52a27fe67cc5872b5b46040d88325b2b524a2d5b873bc54ff051c1d16c99d9bc81003e3f6b1a737da16802430f809e084cd8b3420019c2f9f1b978a1128ffcb900b9c4faf177a7877e4a8384728a1c309d2bcfb412fa983982ae6b459fe07eb9c79edd\nresult = valid\nshared = 0009ca929a3ad9525d0ae19d36b40dc543d2348f8b0d95c59c4207f86a898849858e939b4458b568f57c054ee9d95632aa24c5d5f1d4eaa89faf8fac4d11da28dde9\n\n# tcId = 77\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401061aa89a317c63b824f7ebfc8bd9534e297df9bacf80b8350cbd94cdc4d3d8127a80db9555b77d50ea82c99e667f6fe5379a77c9078bf9c7cc049abe9eac7f174c00a9abfc2a892f104e30cb20cc2bfba6b948c6637ac062e83ae478f096869f17dc1bb4eaf52f7d63518031edecb220ec14b0652e6c96e023490d5ed08fb4259da9fa\nresult = valid\nshared = 013950ddb6b915454125e37a03845794fe32037eddc04143d91cbf2ab842495012896460d3824374b214ece10f39d2ac606bb4b2f9b27548e21720ae13266d14beb0\n\n# tcId = 78\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400df58f193b6d4fdba1d61a4e073a305c95dba4ca0fdd58f86ee32a9304a62097ac3c0d1fae32cf2e4e65ba4efc6d0408725f57274f9bc2289ed426ec27079ae0b6e01f07d98e2aba8d38e6d54b1496d68251004547f50789754c4097662827bc83f2cf59192eb9e09011b30c54cad9f9241c092415a366ffe5b6bdb4cfcbcdc46edcc12\nresult = valid\nshared = 01a1bc2b5e8e0a6210ef8a514ded99eee30ac8e9aa7758adecc4910301fc626a5666e4541cea03a90f1e59fd82b8cd87086f261052124cd43b1c89fd048dad5f2911\n\n# tcId = 79\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040073b917a356c0de8fef14593f66d5dab1f0d56b042ba65d203ec139c6cb71d90bb7dc0444d0e3b01bed97a5c69f27549c92e95bbc7e8e0ce932e6c43a75550e86ec009f2014e29acb2b255bf6ec9118bebe7325e1f11ff7885d1a2e142945cb741e26b4ffc6de72b715a148b840df549b49c9a05f8827f3ef05db98a4f664f6dd8478f0\nresult = valid\nshared = 00f34f3b8ae2f0fec368396633f581b93c38e329770085a51a93457087f8116386d58dea54b99ce56a80896aad40c2dfe69b2dfe126be17bf15ab7f19ce667bff4f7\n\n# tcId = 80\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d860abb5c65f6d1791bc3fd626e3da1ce890514417d67b407168dc7fc96641fda56fb1830f3695ab0171d7866730747b3dce3de61ce70f831af85e5c6eae0b7c7701b1eba92b65ba7ee9691d908a14ad0a116a4e09b40c9ea4197e60c0b54f948422baa97d80b4ccaf7b35be681ded0aecdd8bdd3059054af838057888489c00a3b759\nresult = valid\nshared = 01203df60db39732207bd8db87501bcd8481664a9111c8c65b46f002b0b83159960e4710eba548f0039db24f66190c56053370b3c9884d445971a1296da4d656f9c3\n\n# tcId = 81\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401b341a7b58122c70b72e70b051a335186c89fe47b8f68c35d099b7759fb6208718875d8cd8c45d1151a370201a1b047002f619b05cafe39d494b6a69a52b42653330127e70b8fc840891395afd3b03732d0a52f4777651c3d8a8579d6658510d868b69f143c7eecd2be412e0ad2b2d7aef0717796f3f8480fa924b09df90188debe51bb\nresult = valid\nshared = 00b22d94b53fb00d48e12f12560eafcdec7ea157c9b042436fc66681de96af98ba98adb7faf79d12b399e901ec7bc9d5117883da205ac26b38f788a7885d434b6e18\n\n# tcId = 82\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040001ff249aaba806d838c1a1d00d9d2259e60ea1e8eec6686405462ab22a32a5b673932bbf63fd74eab3f63348a6c22e0d6e594b253f01ea211bb76f0b9dce66d671005052c1f44d17c334e522a0d8e3d99ae32fa48df6fb9117bee431b7a37440310985e5fdd82170817b0f68c0bb7300d217854e45fb694b46f5f50300627390900087\nresult = valid\nshared = 00e17a9ebd3ce6a19e5eaaf889b120ac1e38778e1c1129c383fec2bf9780d1c412ebc8fbc29b0646d77b84e45493376e991d5954ce3b3caf479cf8f701d88351aed1\n\n# tcId = 83\n# edge ca", + "se for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d2cb243bdfc5ffb2bacbf437161f02cf22971d8b7f9cd0e65c174989f5ed7c9cc752a0c6a7719dc1bf3cbb67af5cd6025e313a4b0c46429eac1320a6ceb279dac2018093c8ffb1767b2b50109e40f18dbe748a357de1e284664aa7b10a8df3092a81edc1889d153965eb2e4f7b314827512b018baaf392581e2a49941f606135648f8c\nresult = valid\nshared = 00ff5caf7fd6da41a1a8bb47de3a083883e2e382477c1ff1d6ecaa44a163e7bd375b67d7013763a776df38e79662310a74873a4ce6126d2ec6f68263f24879699700\n\n# tcId = 84\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401da72330fd00ebaf4e6ff8a303d25c2527dff19d10d8e8aad05fd759d98073f262e693ce2fc49747aed29e27e323e535d469f0fcd1a8a1d08604fafe00d1badc4b300b7de13e7dcedb7376004a9f589922f187bd1be72e2de7893873d2392bbb84aa871100f8b95548f5df89662e98b631c4ee4d0558096d4170be0c1e21cc05955823b\nresult = valid\nshared = 01a64da0503e2df5d383837d05cd436ea627381e48e3695891175ac8ede9169ddf573b66726c28132277beda84bb47f2792b41113a0d2aca71084618f55daae55f79\n\n# tcId = 85\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040077fe7958119535ca6c1a7c87bb4dc9b936678ab3b757e7816938bc857643606e61647d231b9dad3e03fc4dd29ace5fc823e15f3464d8e236d5862b1f6280c836920061ba736c11ffa6d0fae6bc8f3e66babd3c6d79b89ee639459ec65a71f12eabcdaca447a993121dc63dde6ae0ccebe415f4bfe60fe3fec3d2f48a084b759f078ac4\nresult = valid\nshared = 0140952c273ab512e3a58934e3754f272463407e6189b9c1e259c27f6d433c4827532df627745acda64fd17993508bfdef54711f575cffad61c729e8d6dd8784204f\n\n# tcId = 86\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011d3ff14f8906db60c7bc09c786be6847768b8684957bf3928c556bf5ce7a8cc82f9ab0e63b4bd7eb87767b3db2624957c3f103e87b5c197dc8c6d2507333ea569d004ab9eeeeab950086e030fc60b6b2e47973582a282e3b019e62744f19c60ca0208e3a537d6ca3532c59a77c540bce03999887483ddddfd524b6f9d7bfb6b1139bba\nresult = valid\nshared = 001a3a4343a4295b07d4b28f71697caf7e363e2f3ca205ebb828c44deb2f5bb3d95116f36e25e90eb00424c9880b4553554ff01f38b52cb34da643207d6f29312f94\n\n# tcId = 87\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009c9eb4cc6bed689da815f05e3ccd2675473c427d31158f1210fd8a6afcfb272971ef0a0696e48fc01ed9d82c9b1d4be086fa5a1363702780838da4fbd6481536d300b387bdba82a5fe57732ebed26a487d031572c223403c063039617f8e5c2702f602e4b87524f298392ae1d5862fa0ff992e51fce7f1457a0991bf25f66cf845639e\nresult = valid\nshared = 00103eda707b4d5e9a4adc17b88cc341966798b64c242cd13abdf319b77cb9ef2f06816ee820898235198f62071ee8b5c1735e288dd75bb0e5d5479287a02d21e833\n\n# tcId = 88\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401993d74f0a4a12d2804bf9e25752fab9dc0ae60abc6772dfe10afb056b3261f14fc51584baf256340b3652120f24fac700b729dedec97b421a1e931c17c528d5a4300903f97782ec1c5aacd7c3ab02082d7a2f631d9944dc52c9ad4e0258a899efb33bd81068ad43d7dc643b4d7f239a7ac42a26f4d2780215a68495f79eda81e8ead64\nresult = valid\nshared = 01087ad97d7121928c8e35e2fe915f8c90f3450dee09d3f6761c290426c74318e88fd04464c0fcc0432171667b571d834ae77ecca8a410379685d30b8cd28dc04bd7\n\n# tcId = 89\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040107d8b63bc0958510eddab9f11fa35ae4e5d97c92304038d8ec27f6e97005d0143e969c5419e82eba509336e23498c5b73e8f0b21e3d9f5cb561609669ef678c7d40196c535b623be6efa504e969ea71cb925287608740d04acb342b4135882783db8d255a6d556ffc16524babeee06d1f280ab8171848e7db54b76a3b31e4157219614\nresult = valid\nshared = 0074c332bec2028372dac82bb74c3f3b4bd0f0a6521dfdf0cce877b1a99e506ef0e4fd9bcefd3365428f257ed1595dcedbefe99928e7fa7af891fdc1b6ff9de12536\n\n# tcId = 90\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d3f5704dbc67fe3e9ec3a02612edf04a82fcf9d5a41c5a330f4dc65b7c1e8a927fedf31a52b28bfe2b84e08f9dd98a2689440553dd8919fddd56ed736b9d064cc3000179aada2320049f18430d32a65889ab5a9840ff43388f7e2253be3e0ea41d6abe9e33b0c8a805c80c52fa66dab45f7ed2043900e3ada8d025648c4822743b5194\nresult = valid\nshared = 018d9f7f732023d2f87097c6f58afc7cee91c67b3df3b318517bbb402664f5829408d911b0a9b41cb2f7dcb96d4fba36d90f0275e0bf6b1253d17ce3f267a7b56bff\n\n# tcId = 91\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d3dc62a070af81ad1dbe02ff075868aa35e3c3b555f58da4485e15bde789b6802b579887d753aa13589167dd26b12489734e80a34941c638c102fa5c199e4d11180190a3534120b8ff4cf7a9386185cd2c7aee6667f130cff1b060242d340029c15eb7d521e1f6a9663f19b2fe740b4384bf3480e76cbdee1da77b8f1c45b9e926884f\nresult = valid\nshared = 016f129531c671388010d41c934a2592d57de3376de7abfd32db1b42b34fdb13e5c8371db8c36101ea35e26d04e19ba891b0816a821c5103a1f68c9dc399b1e4ed50\n\n# tcId = 92\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d51e31634926269b2a0885c828a5ab76b1fe4e5e3d941d9678e4bb079002bd3c8e6c1f157e63c275731d57379142a8df9587d10b75ffe62eb4530e75d7634026d7000780e8bcea8d1399943f5bd0f4fd1837db2f9be7fc4669d0422c428c223da53b9566ef0d27bb64cae01d9f949d1a744e8b0e792780d1a243a079395418166d176b\nresult = valid\nshared = 00f55504f1714e07702acb1c594dd246603fb71f11e49de5906acf6dc3bef6a2402e1c5dad8831aa18894531cae087a2dda40fe2db582d3c20d602af62dc12b7e295\n\n# tcId = 93\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004019d7770d5d9dbe50786ec909d071f12d0b6d10c8b1ddbf546d0e6f4a3ff7e0476f04472eee33d8775586504f005e82329cd6b6cae3f63012a37ab16c47f27ceb36c009d6b670eb33fefcafa11857f5c3bab4fbe41c174650e25e49c65ac63cdd2c2a8f8f605d7e267ec2023f39996b8e825dd0431822108e2c01ff07757d2495805b44b\nresult = valid\nshared = 01b63a08a8fea820ed8c01f0b8482549a13606bd95a7f3689fdfca6c3f4e3d349c7d41847f134d06fabc012bffe98cc6e16ef573b534b3d64792d12d0cd3f1ccf1af\n\n# tcId = 94\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79", + "e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f383ca1fa8fba4ec0131927e6688a374f1fbf04f2e793b6b0631d19c24ec6cd75c52d0b19ec27c377a4ac4834bc99001624204552154bea298566300643c63287c00bd95617d1655dccc5b8ad50fe7b1c00bd5111b00338d6e5987a0742f608b74a93502b1260fd193b3bd3a90c843c1344af1638773189036637c3d7504d50e806555\nresult = valid\nshared = 015353c08ca7c484e27a3e04c1d8dfeeecac173c2b6e2a5dbcb0da5223e634bd2d527d8b34ba0e592caf9d6234fc54452c5fb505833a97708ccb8debc4df5dcacbb3\n\n# tcId = 95\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005d11ffc03c08ae323cb938fb6f2a33efbcbd61a65840c33b207265ec8add0764d59e5840a85a062bfb1f705559c1954aee96e23c888e0ab6704f362bf5c58882f7013d7a4af3b3a58ad19612a1c371234388d8c06f53f03b39e84c22557cc6641a5580687bb08632eed31e0cc114d179da6865376a9d9b0eec67c1c598ee972b771b6e\nresult = valid\nshared = 01740f76c8d2bbd7179fbed614123fe2fdbb85fe8220300b40cbbb539d4754c5ef63f7b2bc27e129478e7aceec834713ceba27e2f6795344372d3c4d935a9c9e4696\n\n# tcId = 96\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401e9e395fe1b0b1662256a4b5953e98971dceee098b34f9faa87c07a15e2d9618e713f98cc4f8e89d66e06bf7f6b5b2e012491851b11d71141385fa9b43347c4823f008205a391bb03750c7951f410691dd42cf3d71df5f76b98c0d082460c21f96361013952224dda7463cde16f242c34c62673d9156aed7260e7b01757eee6bea60ee5\nresult = valid\nshared = 01734253e8d5e9308cd51bf04104ee08d163acb590b1a955896447b8a255fcd3c1256b4e86b9f316eff4d7613b3829f5785961eda4ee9eddeda4db4d60af19e31973\n\n# tcId = 97\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040164016e2bc36fa9ef56713da89acf0b048082dc631156740ec8ecd22c1238488371284345a96ecef6dcdda2e13b4f2b9491c386274897fa13c6b2313c500041975501c90a405431005532377c204bac9a0d9d226542584fbe3c89f785c708a23399a1bd14daa3e68cc76aed9f5fd4bfbe4eecab4a7ad2a00170dad37e6fe56e925e6bfe\nresult = valid\nshared = 009c6234171b4c43f79ff0ad95812e36b0784ad59253d20ea0cb98633fb063ffd8aa22a2dcba29d4116cd70737c1b1f6ebab4731c5b8a455788597a607b5a45bd547\n\n# tcId = 98\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d36d2b3ec425a6c2507c4ddfb5b4a10ec4d4a150c5c2b80a263baddebd3198797e97ed7d0cca818cf4ddd47f6134b7a6d2b0a15ee60973f9d7da220f62800c5467011bbb5f8e9df65b9b2c105e4d8f6dbdc4f23f256b53b47bc2892c295e7cbdb4aae81858ba66443255659beaa308aea4c509c99d578fdfb873f51ff53681aea622e0\nresult = valid\nshared = 01cec1f027a10de4a6905ea32f534851a2f23ddc9e7ecd3d24b8b88be01f7639cac7847c9abdbe746c171a913d6719d7c2a0c0359c4036360be1e75e8b2f7aaa678e\n\n# tcId = 99\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400db63bd5aee53bd63fce054063dc364aae4f320f7ad2df294140431ad1550c7eab371a13d4dbb78f63d7188e61dc8e268888d9319906a28f360bf7ce868eb67d0c7007d66371152954f48581db91c1533ddf3b148b7e96a5e9964f706cb3f6ee805793fd7c5767e79f426233308c8effc1da71ec73744a49a69fb5f662407ff54d94879\nresult = valid\nshared = 005f900efbbad497ee904b80fce07029ad3f979cb3423dc7d16c9cf0853f89a487dfdc5cc34530afa8ccdf5a0e376e278a091bd4f6077c941ded6f1b0fc8840100a3\n\n# tcId = 100\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004015681f7786b77079c6aa9ccdaa58f39e9ec4e14e24d1bb3f0d6cb56bf7b78761c3bf58c7fb76a22943bb25db80eb0af7410d607154ef927152a8921fdefe7288dba01e5b19c827b288558da2df5f9fca3137ed0694078d3f600aa7a495fe28f418d458bc55276bf7d2969ac2429e2af8d05d4112edbe93b041f2d5d56a4fee5fb918b69\nresult = valid\nshared = 0124c23c00d30329065611075b02e55c3c667bbe3d65160fa189128af455240eb677a1ee07ca8789be7a8ed074ce17504a5903d9a752681afe6342b054866cbbf199\n\n# tcId = 101\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b3e7c9774c523bbef857d59f8ccecd067fd18c7d7777c82c68146b338e14c5d0998b3b962354d9b107337afd4137233047adb352b8b1e215fcac25f1e3395940770148e5ced58410183d15c719f8ae4c19d95f910f3583de6e0b63b938e2d5ec670755dc24cbf08f9340f914c5534bf7f1483947b6b40626f1c7fe0e4d8ed843027b14\nresult = valid\nshared = 017a940dca15b1db9a1e3f54c0aa8eb072dce11650ed920a2931c68b930c34b5811d076c0a3d10397a18bd0a7a87faa78a6d984fb48b3ee53d20bcda84cb2ea7baad\n\n# tcId = 102\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400aff0e5216ee7cd115cc630909d20fd3c382357f0744480d86b177af4ff9471a1e360532a92a58252d93d1ea16ab47f4c090b6aefdc6a7a3778d15c68a866758b9a0098e23c4372372a527be2c6c3117380b4836d5ebd0807b80cd9c6efd96a7cf0757c2a635b9ad6dfe01157ff92ded313a78cad968082af33d136873f808d8e491626\nresult = valid\nshared = 01b98447f0c3a57def592cc0599ce7406f148186f94cd307bf87e4ab273d3a9b5ae6369b26692cab5c24bce59c13959844077783ecfeb777fcf3ce998f656a2382f7\n\n# tcId = 103\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad13af79e8bda33120a2a924b481001117479c8fbeccd0a6af4f50edbf7df8e395e32ff6a1e5b2c1b874336c44c65e1eed209e547b3c5761cab96f56daf17bc69300286bd6b0206cbcc7a99e7807f15df0ff83cc17e4474f1769c473e7141c384b8a39f5b5abcdcfc70497057ae7e09b707ac3a71b824a55d4d8648c5a95d63bd82241\nresult = valid\nshared = 00a3cd900b9885629ae8d83fd8143e7d8a291cd933163bc658f37913511837355082d5f39425ea322b19d61db3dda05f255e140eec4e98a7a10121eb2918dcf126a6\n\n# tcId = 104\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d4d76b40d97046ccf02d5bd131a5452d91195a13204b6eb4f71a5da9dc9156f619af8bfae8fbaced475c27ca89456f35e547688a6d0d9948fea49ef4b75b5e839c01738db8b3d3fffb1ab697fbc8146a70cdd657d307a6e6ca8a338661a08131e05c680ee9da4c88a90fde96c5630227c2fd4323f302d53a0b5121163ccc40befaf533\nresult = valid\nshared = 00931d8aa38c530db8d5e77daa406d166169c9ceb74ccf7020965673d09133253ca230287ec9997447f1ccbbbbe868cb73ea0e28f4b67ed49132995e75f417838d57\n\n# tcId = 105\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543", + "192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040103f36ec425dd88e5d82d1f8d747c93eecc4b46ac98cd364fc678bc0d6c79f8bf1fe0bd28235ee43fbd0dc237332cc2ed6eba8c7a5610b5651c9e0f2644587ca3bc014dde8fbe83b569739b860d7b1edadc7bf73f7f0e7a8702eb488d230da284322ce020e9c8831298da14180ab008465e6ded1f1ebaf65640d92ccf29abb6751a6f6c\nresult = valid\nshared = 01270cfe9b869d88e7dff6d45fc752a4ac72ccde73cf12ec227c274328b001a9f24d92b00ca0326fe19d69573d5b3e35f822ccbf4c83a3b3bf6e3153f0984281b3b6\n\n# tcId = 106\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004013f8cc5569346bf3325d8405fdde9fde71dd1e953c10ed6215b4f4010f5bbe173718a8e2e6d9f802726cd916e16ea1cd3148c879f0acebd8db2628f589c19aaa5be01595d669cfa786bfeb9dcdacedf563d04059867898f42e8a157c91133c952a97d90389891b3647875c822eb48f761930afef9b068853efec0d260d8e51dbcb6d24b\nresult = valid\nshared = 014df04e39e8bf5f6c34472f94f6f428962ac8a39d273377d0007231fa7f5f79ed896269f65bf84eca44e0739cd8b99f2e67977eefd768553d464c79e7d4d90a0ce8\n\n# tcId = 107\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401375cc4e1a928513598081ac4e4c0632c24bd1997e4850d1472507bc71422fccb64cd823d3365c06e3f08c9fd6e6e476a68120f203ef69ca11c70889e3809eb75dc00d1ed8d7ab74a72462367cb93e843c60389bfceeb2f869aa33491961c4b8389238f5db1f78b39fc0923a54d9a7e0be8edcb9572b2dbff0a729585382bffa6901925\nresult = valid\nshared = 01d3772b252c9ba35ff3472b280a7635ca04513ed02e4d8c25596c900c37994d26ea774737d9a9a8f8618a6ef0c1019344cb3f9656a6369dfb1d8f2a3f28b4f059cc\n\n# tcId = 108\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006b6c4149ce3b4fa619e360f0979427d2c6bfeb3fa41205a0ced3a437287c711cc6e5875992cea313ae3d2ec0df6e4217c8c42bbcffa732c403e7b4471d0cf3953300ad7f74c69b7308b78747f73b4e3e66e33bfe4b21d45ac82a0b293b0f635addbee42a718b726aeeb9df1355700497900d9cdd0a42e0228cd1794f767d3bffb1c7a7\nresult = valid\nshared = 01c548cbdfdb40541dab744cbe5c45d96a4f0d1cf2e537d33a9fb4e4675c1ef54582c19294fd17c5fae2c51a9b18c37195e0eac0d9b5ff47a643df375a708dec71a1\n\n# tcId = 109\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401a7bae08725b97e8ad3d91843a4714d9205000dedea86076105330730bd8b6e5a683049496cd9f08b321cb2f3f8a05badf2370bb90ea1a49236e3fefd91b9c3d76c008c50244040c65bcb86cdbe193eaf6daaae2ba3a328adebc6b72c12736608abaf9c1de7e7b351c8e75d4ab801ffdd6e84b7e46b50976247c32515bf91cea3348906\nresult = valid\nshared = 0052c6c1b82b8e26f7ede705a8b484068b501a8da469caa5c203be018143618d984fa9421b135e1ae2212a27cbbbce3a745780d1847059d56c3c3dda474862a7904a\n\n# tcId = 110\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040090f74a2c8a5d2a990cdf38b185c7176b37ee50b70559ed85daff2fd45b94b7f9df34ce57eea654427bfad8991f6a5d385342af3a5688b1f8c724fb7e78dc18f20e016141f2b7bc942286dbe8344b68e0f9a2d0950da65191f47eba738abef20b9d107cc0cccf60bc9299b75f0d14147a6c7a7d5ae67a0087eb1f4b48a2780ec086428b\nresult = valid\nshared = 0113de20aea691f5d38b80bad93c80d92377ebb7302014f64ccd893fa9e67d384a4ed1a5e3fce2c84ba5fc379a0a6bdacdb6176594df876d3d13fdf1dc824da825a5\n\n# tcId = 111\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f7be229dcb35e444d3d891bb04ff5aaf270e8f8d90afd65afb1c56f8c77eab3d32e55daa31da9aebda76fb67298e3a1bb71505d3a5b6c5af37366c88041090e96e00cf3e132fd88384fae8753ae32ba669e96793b69d6a815365387cd9d4d21ad2862e4b2ffca1fa8ea05e34275fea95ff1dccab750bc742de12611cc3a135a9daf9c0\nresult = valid\nshared = 012090847293ba80dc7a8a4d5038ad6f3ed436b5a82e7a4a6d7cfaea1c19d6c74d3f707fa0ffc9f15a8c95c3e040b4f1b5d2b5ee08b9436410e36fda203fd6c5fc7f\n\n# tcId = 112\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d8578b222092103bb17764fda334974b121305c4c1cfaee7d86e814dee33057a03bea234546605cf7fba50d2d57abd0808760a4f8d23f724c00f9f5dd4b026f62801923325a37b0314c7a1d185173b48c14051bc0efc9bf3e57ae778ba537e90c82cc0d42dd98e9ff5a8235ede5c42867e961def8f9f66a631168c2e3a1099c9c2de06\nresult = valid\nshared = 0199aaaf777a6c29b85e0ec9902f4f8d004a297b4570dd4677622305f4339ec726afb98b554175b99b8b3243f12a60b79ffe259471053e14c768a18cbf9ae59e149b\n\n# tcId = 113\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401badf6a411a405652d3e54b8fb2c5aaed8eb9ada9f06effc2e65299053b8a3216e0b5ee7b256561dfa1779970547b1072424b86bb6ef408cef575bdb02b79de35d4014ef3a47c25265b1cb2f28d5963f533f7acfbde34d45fa1ae5fae77b4c4e0c894280247664aad91c31a011fba50eb6e34bdfdf28f3e406a602c5071eebb632cdbe5\nresult = valid\nshared = 016b74ca4a588fa48cc5fe738aa84952e7d4908ef9fb69a4bc470eb72ed86b1c6bca0b6314939c311b0e3dae7fedd8daf96a37b7420dc556ac2bbcbd0dfdda281748\n\n# tcId = 114\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004018b9237723c029c551b1e14492460e7d2e4957dceee536dec92bb35fe8ede36e6b1cce155b69a0d7212c2b4f0ba89d3f6fc0e7f6777ff5c2eed8c71eff3c44da8480125bee78039fbd3c339a58bbf625e50346a3e8a9c73460ec68fb028fd4d14cd6315310e0311a0ec4f39fb3408519377dd4ea9d57779003862c312bfd09a9a1f9659\nresult = valid\nshared = 01d81c812e14804d562e4a89e9eea7d26302cfd755fe9221fca577e32fd5bc534e3fb2d81b1701afa0b4d9f25bbd1b2d7ec984da404014b5c23d8b2958aed864db7f\n\n# tcId = 115\n# point with coordinate x = 0\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87\nresult = valid\nshared = 017fdede9470801568298e0a94cd49a0e81702b6f4ef916983ff89e4f01ade2ee13001c6eaa677499a9de7a48b7c7956faac580e63933853134dc96852264fb23f2c\n\n# tcId = 116\n# point with coordinate x = 0\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040199ff89acaa60d0e479c8168736a7795ee0c1b5c0b21f6cbf90e30682cf4464df9232343c91f3650cf01f7bc2b148d8f3b707fd2e3dff502bca0c03941a9afe631c0084e27155c0903dfe65d7b5d8b1bdec2456ca50c977a43f44e4fc4dd70d94b29c4469655981af4f0c2181f19dc4481307e69e206d4e0a59d48e4", + "3f55809139ada7c\nresult = valid\nshared = 005ff9d0e33b19a1ed65408254957a43c0050b195dfd8feb56472d3fefc463d95910862f9bb0a32d98053763333f92332637dabe2a4f9eebcf48a4630ec50bbf132d\n\n# tcId = 117\n# point with coordinate x = 0\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004014369b6e6717e0854380833d974beea9cccc01d7fbcc39245bc1427104c214326809fd1a678f89612d087df5e3d5ab1855178e01fbc6712482b3443cdbbfec3c77a007e5a8786aacae75f9f7e59b3b00cf136acdac42ff0da06a0de82d5e3c4169a9b5d63cd7c0c68308585f6f31a300d33c010042b44cdd0e6a811ad614ef18b6d4e06\nresult = valid\nshared = 00014a36b98ab57d1d599351272b3131fd12e18cb0f665cc9805b2402c670ee309a85b6e0c2a9cca28d5a4583ccccde7b8d5aaf30c6780cedf8a0b9a4f6a49e9c1e9\n\n# tcId = 118\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b08df0612ddbbd8abe1cadf654f7b1500942971cb17fb63936750308bdf3e91daba0e2005575de7e7038f8379e997596d6696e5722489f7fd5f41a85f9b27b206e006d4f3558ec858e8b7b8f31af480a80484223a6f3652868a36d8aa0412e79d57c5d32297d80b508bf5a1bb52fb439163acc26b473033dc24834e0a44dfa43480a9e\nresult = valid\nshared = 015415d54abdb8536e1ae2ac00051e2af3c042a821530165d1febb6ebdd74781ebd3387f9dd8845d31a0331e4eb542085b61f0f9f408ba5b4635dd24dabadaef4701\n\n# tcId = 119\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b574f6df47932a1827e36c9441e9a61670969817735632f1ec8fcde60509f6cc99a5c6530a96003d033f4ab63836ca292652b860641a2b98df83ceff2bf2419f7d016c80742e0392dde7016b106e3fb976bd5d8f46a8f0e74b900a8d26f6928b02d4fc1a97d84844c2380f6fd6249bebbba6e5f87fc5ea2edc1362d77e1c246651a56c\nresult = valid\nshared = 00e5a33aa0d346ba57866741f99011f145adbf2dfcc10cbc988c86e8a26e977b419ac748b106f14ff2fdee5a326616ab53ccbe2d80e809811377fe9af2032ca18464\n\n# tcId = 120\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004003174c3d34077f946f8986af218ca01f31efe57a236718eb88df26a3cccb24b30f1f8e9d4fbba2b953e161bd19447039dbaf1bce04c3460e1e3a2170e267302d2df0010cfe18ae6cb536ac3e14b3e60ccbe52b29a1952a47b5b3b1f4c2637ada534b61a5d94f658fc386beed612467f3dd1cbd8e4d6d154566ab994328d2a58e69ca7a8\nresult = valid\nshared = 018779cbba1718bd2b7fc2ac5cb471308576250ad412a5f98e28d14d76dafecb8455603bb24591b8e83e8a5c2c5505609445bf7a019a229861351d165801285b19e8\n\n# tcId = 121\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400f87bb74f77e9bb4611af79dc582e368a51f45e6ba1e0f3a56ff25a600a5afe0a20edf6496204fbd2e73a9a54d9c8807fc0b95301df19ca7d67299f44b280bc69630144cd54358b301bf341e7b0db7efff4b0010f179262e5fa181b30d19139129f42464b71ea2e0688ba3244d4f7cbe2f7a8c2a2b379c64a72d6bfbf87f6f1a87bc06b\nresult = valid\nshared = 01f455816acb59e6189e6c14dad7a779958b9b60a9549728d628b0af1a38bee029a717b311fb2b6cea5ff3c8aea096236c67c6a3ace04264ac7ed1beea2a4f5e9044\n\n# tcId = 122\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005820a12b529aa3906afb061203c124d3b81f399b67f48f5cc3b5fd45907051ce0536dbdeeb4b3e4ea3e2c37991bf68be9a1a1c609a2ec7b4ab55dc006eae440dda01cb77d7df78b9874470c3dd268e9199f98f832953aeb7b07449d37904054c9dd217daf2f0ae6db058975123c9eaf9d886d5c3d6036907a5cff3c71c7a7a85f62f0b\nresult = valid\nshared = 002007fd98b4e334d9dd7686ae5da379c3c3a0512232844fa00ece76ea9421178b9c154942c0981ca2b8187161d59ad36ab2daf1753e3b59d8fa5b4c9bf224a7377d\n\n# tcId = 123\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040058e0d20d8a188d48ca57d4b73ea4e9f453a389d5d8fb948737ef55eec30ab60fad580d9e12bb840f82e74950da3d12be7266457bbdd943b831f8ad0d3b57e6243400d70c27ab9cb29f9d753967ffafd27551c78a1bae47441ad38204134f83495deb198247d875f19af99322c2937390340b327d9e6a58b41c76a326c6efbec02c9956\nresult = valid\nshared = 00199e65e06f7c56f3c47aaf9fb6651f5d2fce23fa4b93a21dbbff96559b491bb4a60cb2b9f35b7b45c3a838828a53c547543656c657c916597ac04cc005b0205bce\n\n# tcId = 124\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040014251e9b87ce81f7f149770c007f1d6320b2d813d27545773ccff4ce7484354fdfd19f9380de8cce76ceabd6530a0c812a34e4404bd82269cd012e1a17c71c9d6600fbcd443052cfaf03760bd5366378308fdd6bf29379f9b6b677c9e88b036ef26a3a276b64a7519e0d019a00760fef387dd483d0d58ab3d30158cd18b260e5041589\nresult = valid\nshared = 002ee30bb081a04b7c585d12cf2e0dcce94938deb0b72a5fba80160863854cbf7495fc4e8399ad06aa6ea05957b76281057f0701196b983371aeec0e4e31f6b42b6c\n\n# tcId = 125\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f51838aee36d1dfbb000c0a3dd84755a87d6dcc5ee5c78c88b30d3fe1549a8918204afbb742acd9b5120f109dbfdf9e16f0eae84bc82caf41349252fa9812a944101e0b3a7669bb3aee54e64bb03b68a622831150719a21d4328f732a649666a2598d5ad0f62b00a265a9e08f5ec0b7b6f9e1f8cada04378580b4a287a3af4ae395315\nresult = valid\nshared = 0189786700902cf0c1f5479d839ee4e2401bd249f413c04aa3018732fc5ff9c46a637479f93427e030fa474660e18b2cab46f6ae78f331c5bd351cbf32ea6791fed8\n\n# tcId = 126\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400a8bb7b5f4257a3319c6dcb1df58988cdf60453e439d230f4251632ff92b2424b147ca40824b25e6ec5f71599ccfd13ea62139e0eadf250c0d0da626f4f1ef0ccbe00494fa65939d5f5d144cea542dea27d7b26dcb5d5d6e813bc5307753b618410465b1b96bed79c98b6a60b58a0bdf83608c81a9ed362b66a4c61323b34d2a6416c83\nresult = valid\nshared = 007068311b5c58397c1637bd9af38b6ba87f10851eee675cbadc27860e78d448abf33dec174d982dab6d100d315c557872bc8f7aff2ba0ffd5082ee203840a7d64c7\n\n# tcId = 127\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ec49de21d692fcd7084280460dc1410b5ce14855f530214447b6f53d03b019b8e1fa7a862eae55fa9018fc93579936747c96592c98eec62571572e4b40ac8165e1014573cee65cae4d54389e8d74e120b308298f15b075a44ed0f50ecf3e4ab081aca152c614c51a7b312117df7fc607a861d2dad102379bbabb8d72fc836ec2c8230c\nresult = valid\nshared = 004e26f46b5204c8ea45f80115741ac6b0ad0fbc34ae30d89b85c1a390ca28b6b83dcd7448cd413a0057283dae285625bec2932e933ff348099821587beed65d37d7\n\n# tcId = 128\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400558582568ff68175cecaa0652bef373d6875a196a30d777", + "15638cd45059e9c207595f92ba5a02990a9b7a05fc8649365518cefea24601ec1187a9b6a6fd37d3e82002c2524983d5c3d4c093599f00f96a7a388e2dcd18ddd24923ab6f8236dfcd544721fd22cdaf20fa51e1bf9f9a9e998f34154f26624827cd2cfa1b0e634c83056d9\nresult = valid\nshared = 0159f2d6523ed3f373f2f955bb302bb94efb742c39fc081da1b96b36ce5f3fe07bff07fbd225dba9ea2a82c3bff8939b3cffecb5844be0ece9abe5c51dbf0212647f\n\n# tcId = 129\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040188dcd8cdf3855cf7cf7f622511c649aa96824bdcfe318485970ab2eeb2428e49ae46e279e3b02110839d5a4471f6a236adee760361043b3106488488ccbd2cafb8004b584ac1d3223c7a01a725c38c182b4ca92858dd2e769f83051db953e20c63d45d6972c6659fca664d9708b6973905e7304c396c5f739a0fc66813acaac1ec1b0c\nresult = valid\nshared = 015b29e33f7959e2ca91f58a7e9e4b132a0989687f5a39f8bd61f7f42275cc256059a04f05a5a7a386edf071f7c981235c3d052ff733843bc9738fa104b9deb9245e\n\n# tcId = 130\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040113c71cb3b6b32f6d2087978f3f0aee36ea8cb1f028d2d98161f7758bbbeeb3b96588af97bcb4f3fffc457b90b51739e7894f238116e985caacff3e751b56518b3b005b71f5230598689e6254788b894003dc91ebd953a2fedbed23a068b9f943798bfe4d045f7b0bad536727a73a66f250136f8f5006753ff04b00a148afbe70efc143\nresult = valid\nshared = 0039cf5009c6411a5b71b0453f85b41f506b72dccb33f344ad257244dcf9c524caa8fdd376b523480ba22531904215d26c8a818b8f80a4aa1dd111acd8ee84cd453d\n\n# tcId = 131\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017575a3f85834ca4832bf64c59df1bf30ac8304291c815397dd9d90c02ae055964110814b158f029d40b36b2a85a9568679fb56a5ab4973068d9edd80edb7a6a76a00efa3ca3101158694ba599d27b4ed0c439977d2855dd57dd4bd311acc3882b09967af64fa34ab08caf24d2acaaf32d93cac8839d391aac51e2cd067f4046b5f87d3\nresult = valid\nshared = 01ba069254a951a961aade066ff04797bfc9cdfebf2a19e4f4b724024e316e8afd9ed48b636a4a0d78cc4d37d9402ad1c981640f90d28f4e566ceac9b66c4000d3ef\n\n# tcId = 132\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006dd0ee8e43f615e30b63dc455701661c9dec69dfde65ab7cf9721039e3e5d3cc5c12f8e4c0b6a3422bf13d32e4108255290f9cc9d6e4cfb9c9ea165f9345e1759c004649f03b78e5dffabba70e74e96c5362fa83186bdc44820bb0eaf1bbd1a51976cbbcfc03a986bddf93996d960fa77aac46f9b7a5c32c62c3402c400b3165c1ba21\nresult = valid\nshared = 016c4bfe17c91c3ab2c60e5c9c2fac1be4893f80fca05647c34c82ee8ee5e3b3c89c6e87bc3af444dfdd1d692a3da45a45975bd50774471313d5b7d149a5395ba7ed\n\n# tcId = 133\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401a6d5d068b1908177a1b18fe078df8f89945870ca8811695b4470048ce0c34443b9a7f95f8af9fb6a4ca0285d1791ce975ad5a65a5c9f6b3df805cc69b3984efed401025339e40a26a3f6f4fe54101706b7f6d475b90f58f7ca5817ab5c3df4d83844f42979dcc88dab0785ea242643159529bd1ceed9be4eeeb2302facc6b440b58264\nresult = valid\nshared = 005191849104cde5be2563c0133065ffcbf4bf411af32e09865989b394ec75e82b4e4649d33125034f2b8cae1c29592aaa9e50700da74c088318d720a68f58653e12\n\n# tcId = 134\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401bd7d67379b3096728a366796f7014977d11eff92f1fd30983c7452b82fea61f77ae4a431873e2c5588951b663504610d1391b8f9122fd7896ed45b27d2320382a3019547260a021bd86bb149032bad3c6ae194445899573c4007f44cec88e232e43d027a362cf59cf128367cdd595360e0bbc2a25aca863b097757167de4410d261b16\nresult = valid\nshared = 001f8e925d5b2d22f7d1d7fddaa3575fa32d446f99e774db282c93d00beecabda9aacfc644b9cecd76e7f122515b6ebef3b56075f7a2101f9c492e83e62147d09b46\n\n# tcId = 135\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009143dcc8d445d7f664481fbace68900453949537fad73756d818561e59448ffb49022b737fc3e725d6c1c45bb0b068809228b0fd8961eef220612be05040c5402e01f8bd056f5f9fb3083e9083374864731d75441a1dc52b41904d6b2eaab805030b04cda6fb42eaccc7c9d50656f0a85225120a0671b1892f2c118e7b538e5c55aa64\nresult = valid\nshared = 0072a7f99e291a15c45bc78c484e4fe94903a958048126f3c2405c5ff8bac7dd07dd96d450b017f6cbf6acf69fe113fb7a6766de8a956ec06f772c15c84de9f4d462\n\n# tcId = 136\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040080faa5685c19f085101f010e83b2f0100962a18478c9b51aa0d752bd0e439537892a107c34a553c18db4f7515f2ef38caf8253ad2af8c59d84b7f79172cf2eb4cb01e9c0328270b761a0c915a6ed29ee223133eb466efe2317c6f8ad2b3c8d88794e4aba3f966b4aca5594c9a74b37b4503ee5a0794d59c108666897f5ec9bc7bbcbd1\nresult = valid\nshared = 00fe7b90eda1f723c5e442017dadde8affe3ca80afc9f4703267626f4774f06e2c21a5d9c6472882ea8806a9139c4a740f2654d10caa5e3d7bbb7e59713fa032b9fd\n\n# tcId = 137\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004014d6f8fa157eebea8bc272862d9f8fbee63da5be953e333d06b7443cbb96d0c464a171943b82565ea710c126498aeb7979823b2eb1e81bed3ffdd6e40f4521e6cb900701bcf9e45d6ae4899d96ed59a8015c454735f9efddb47598fbe047e8c4021d786db3539da79760358c0f928b2b72cb936cb66e4fc81ff079ecde8e18989e87950\nresult = valid\nshared = 014063b3dce4c99f5f53e5f360875c02bd4534a83bbb779be9eb05e670595e57a708691c5df0a0062b43d0fa349db201d6279c131d84e9662cf82fbeeab6ea0294b6\n\n# tcId = 138\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004016361d19207fad3b9cf68a0d7cb224744daf5c18c0d79f060ab1369d7f026c21da2dea098739fc79e664bceed06bd8b8f29471907754319cefd9f216f3226a4a87b00b7007b2df9a123dd81df4f5d5213580c174fd68aa5de23e5386c1f76bc6711babfab72cf9bfa328e97fbe9a3b79ad0d39a778e3c64b74a34319aea0423fa270067\nresult = valid\nshared = 00765188ff6d0db190914b3ee9cbf633e9e5c2607b7323e70e76c3cf3e2b3f1cdceda62b5075a8d43b306fc83e5e4394cba6be0098877b2000385508d0942cdba46a\n\n# tcId = 139\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401123d8bb17d84760ceb4e3ec98387478f9587dcc05b4720d8834ffcd82c06f59aba278365e834bca2736ed6333757f57920256bd9e1b1bf3d43b620896dbfd877a3012135f587ed6a6bd6b095d41c7abc2a70c9d49461d3ed7cf4e781c8200583a0e8e94ab8a00b52a7d0bbf182cb3bc0832fe82cca18e53e78b049bf9ea6ac6017e3d8\nresult = valid\nshared = 01b1c9e8a4748e6e1aea3dabf37ae74baf2861e482af32309dc93e7c7eaceaa584416445a1ec4f0f24b3938e118191a5bf9e72885bba5c282275c49f5e4bd82e2567\n\n# tcId = 140\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac", + "2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040061aa4aa680e5a327ee0495beff81c9a9601a4a42a830725538f9940d234f8fec38ffd21537094492b58ecc4102eddfe18ee8f5947c4736dc60066fa8d9b8230f4001730296bd1d13ab65e85adc69c0822e20e7dd739755bc28d7231e79ba1c31250c1972252c280896f30a26c880a348041b0958ee0443c2e403eb9828599cda90f7a8\nresult = valid\nshared = 0153a4709fc474476e76948b04d430c2ed708ab697bb54589d35a7c96d33632072b4a37deea3428d8d0a933c7bffed068d92a9061f0fa39e62e7d552b31e4a150509\n\n# tcId = 141\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040086b5bcf4bbd05a5b5651bca9791e550fec3e9b2ff0d6bb255b2d9190f5946439b53f9513a122e5ca0a9ff12e3386b7524e46d7f56167ca6127ce83e67bf5dce6ce00865b2083d5c0200285ee7ff4950922a8abd4eef93d8ded25b53cf9af327e6e4c30c4438ed2c40c67e87835518361c98fd743d859f6c173a951a95a99409e831959\nresult = valid\nshared = 0167d0da4c5dadd25f8787a84a96445c254d8e17feeeb7d21af6712e307cd7351ebe185c0a527402a5fedaa1b26ace5549ab13b208156d14389fd8133c6f4fe31e2d\n\n# tcId = 142\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401a09aca765c949b656abdb5968055316384245ab775e8584119405c85ab79fdc7ef1e079a35bd299ae149d65f15ab0d64912c5c9a62bca41bdb586782e8eb0cff9600258a50f1bb542dd164b8943bde1f2078ea7d3e89181efab242da30b1a12562184104449e4d759dae9cb9d075c30456b1a4e48740dccad7b59b17dc1c81d517f2cd\nresult = valid\nshared = 01528f5ab758d9b6112f19e1021f5089d526cc50911026e27d44ca6d77220c816b2326a2dd6b9152408813bf8d399906cb1ae33a52cf67e74709d796c70701710457\n\n# tcId = 143\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400a6e216a09b636032f39eea552192c242be7ff5478f7f7f9b0caa25b8aeedeaded33ba66b5feec7e75b0de3e7fee142f250e6cb4c7b09a1686ca0bd9cf2d2d48bae00fcfafca2391a55ade0a77fb9a381cb0af16253cd3bc58723f8527670b59567698e7fc3a17e6d26b3a8a4a617e2b12e6d60391f503117fea2ddb46978b6d2d30a26\nresult = valid\nshared = 01d937db2fcaae795f4aec6365be81a514939c548357c6140075db4a076be8c0d3a6126b720b105b3d9cf6a8307346cb832fbe3a936017a6e62059bab6723e885176\n\n# tcId = 144\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040050b862a82a0ba92ab45b396c51aa519aa44d117f55760e5a4f1f177dfb5bcdf0d54fb99565e9f7d6757c04f49456aea87075560b1dc5145bfa4068684b04178a8501e1c68a57b38e2281806f3db7b0af0e3c2b5e52d5d5d4890c5b9f5d737df9a706e631e4453f6e79cbc28d57bdc604aea8010eb491f5c09feb20e3bc0c0ed4ae44bf\nresult = valid\nshared = 00cbeb5c9df0bb30a8b45bc17a5bd255e2c8249dbf9133705bf1e502d4e730edd3131c8d370aa7fc78d46b2291181bb40ca85e7a0ac6077cf4367927d8c5b6744306\n\n# tcId = 145\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040057f27cc7400b6f9bb3a0f723bc0670938ff888f87917100a932115b12753a1fbb086e5b225209b4f70703aba374443f11fcbcf8779491e2297fbae7f18be2d4f230006a7f04e4de374149dcf596d94a6d7ef8d30d9888bc7500226ed7bc8560729b7c4b4bf28f4f92d7f3b25a5ace886e8be3ed01af02169caea765dc763d0da9495c7\nresult = valid\nshared = 01a26aa99222e44ea4d6dcee229f21f40f723b5cbbe92d56561252e7b09f96eb271ad92b3e16464608745615182fbb7050e2991b0afc040f27ca74e358346466cb8a\n\n# tcId = 146\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400e04a04d1e2bfa1a5f6f37867ec251450d46e6bd28067cb99a612f6efabf1f72c70eaf72d70daab53890d54806c46047766293de085f0f40462b2f56ac4fc6811bb00a20fa00fe8ccd8b007efdd6dafbdaf91b10924c0b8d583ce829202c8533e9815451719f12cafefc3d3bdca5d510247d59ffd20d539e22165f11b5d10e912f1f9e4\nresult = valid\nshared = 009a6c017dae44957db6ab3476a9dbeb660ea54e20ab785d5a341e0e0265050fde217900718908e1763eeb66530475fc0d0a1346c6c3bc2952da7cf034df18650645\n\n# tcId = 147\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004008d3e0c9820d2b49711780849ab9349de295851b69ac0ff6b2eda1fddc17e97c7ac2695f28ef6ddc1e16062ee48295fff5711cd871992a8a184b8e5b49d7178b5ff01709e435ee6c7ccfe6692c7f169ae357e94feebcad5d6ff0da7ff55a19d1409006aa6083f897824de4c0c59bc80d40607a9bcfdf666b9aa388fa3b865d76c492916\nresult = valid\nshared = 01efd3feffad8d28373dffc0e3a9cd544085ffc28f5bb80697801db4ccb983fa2328222a429e7d6367ddd4a40811ac2adc8fbd8ea06ea408809d5b82fbed3c8a95cb\n\n# tcId = 148\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401c02ebd54765a3825d7bfad5635a98d97f73cfb57da9c42c1f464205fac01cd899f7e095a1039b47e0fcbebd65b6ea2c486a7bde4900e9548d8a64a0e6f39d61c9501f5eb9d2491b42e3d02c20ff853080aa2db823f6091a62a2a6bb52d09d3c162a3ad02e0242d243a61ce0063ff8f8e93ec21aeca4ae2b152b8f68d40dd876f80e7c3\nresult = valid\nshared = 01424784d1fca3b4c7811083855fbf8662e1f0ee52b5ffaaa0cf890bb904150512a75a1077ead39ae37ec67d5a3c03d2fcb5f9f695f9918cf4872c5b4a757d1d0fe2\n\n# tcId = 149\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004004b04d3d1c6c47069c0bd44973e75ac753c9f284b0b1d52308bcdd9a1e06307a8ce7af09362f8cc6a2b5b4b2349e2830956abb1191c7e84582db1228c2ec25021cc00c2af05e5c310388c8a16835d06042e490a9ea8c4c9bc532c2e7d46f200107a97e0fbc5d9faca9dcb2249510e199896ac36e0399b0f17650485eb748e1fff9c77fa\nresult = valid\nshared = 0132b97632e57be55586e887d26dad41e500bffcfa96368484557f347c4be821302de8f3f72b9865834d579cf696406145eab512e2f96d2aa589748f64420869121d\n\n# tcId = 150\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400cda2db7fc4f9d4c1ce36ba82a184b2fbfee206d9a5d050d2bf1b2fc92c0d0b78eca3b51d724aa5fa48f666972b473accedc49724ac2b3e779d4c894198d9ab937c00cd13857d84871837f77a54f0ba9d18f6e942d1d6d2e7167fb53e3585b249438289abc68927ac8c29d65377cc73f85d113511f2622bff697465294f5cd1a3772839\nresult = valid\nshared = 01baeff727530ded5f903b2090f922b479c4631afced97ef1780984d9d98fe06a47ef0714ee4f2a32f08afac5a583a516229539c2c4c82f361b6f159222d5c1376b0\n\n# tcId = 151\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004003ab4db21d5645f42bbf1622e26cfe7603bf222af84549dd484a62e98ffef26c13da61aeb5157a91d70a828e96873e25f06c45d652509307b0c998391f951d611dd014e599e94f3275ce60190aa63bd8c8b6edd7ed11eeb138", + "5d0d1137168624eb6d8125ae9b85461187201988cc11bc557680d5bbbb4f54c27b4549831b7b6f1e59e93\nresult = valid\nshared = 01855a6685db05fee3eec9dd11750d31449e40696e8e1c6a5e63343de2dae83147fad337ad9020ea131fab8c4ca30f4a03e0bc628a4a5ab78a09e071fead711543be\n\n# tcId = 152\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400bcaf9df5986efa542d7ce9eea05e557c393a3a3e3ddfabeb47549ef9a2924ebff58f7fb5989d404258791659cf421cd9d2eb1ef6cf21fe428182acb72aadb3fdc0003d638efe16363a8af869ee85dad1c6f003d4f4f827a7a18c75bd7feb330133e5bd297abf56159c50c0d04aa2e3b0194d8de2e7d0fe4d6d7a8901fd362e310ed4e6\nresult = valid\nshared = 00a57bfff03140611be23ad52b3f0d525abc854f830d3e4835d801fa9754e1cfc12a4e6018958b44ba828087ecfab3ae917aba090be1464154ace55d4c481ad83145\n\n# tcId = 153\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400118c04c32a75b07702323ca226a4ace054424b1a6e6edcd4011a035f4bc0789f6151ff849eff8949554fe4d542af1f03c79b369ff4c38d1d29b4a3bc41d5e05bb2010f4b8d511ac5b1a6534aac9dd2486b8cd07cf3d5babc24f74f537b04115a0a8f6d797798fc807fb002746b27892ae30f751034b680b1723c2ee859bdaed0540e77\nresult = valid\nshared = 01519ba4179ef85a4b51b30db2f6e9e2f3d49b1f3e8611c9ba3286d78ca645d29d7a163055fe44accfc724091d0842081a0fc39f0ff7b7d742346ef293e51a1d7107\n\n# tcId = 154\n# point with coordinate y = 1\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d9cb7a32dab342f863edb340f3ea61ddf833e755ce66bb1a918a42714ba05bcdf4ff10994f616a9d80cd0b48b326e3a8a2a8f5634d824875b6e71fb7cddd7b5018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = 01b43cd9280faff242c6eb21243f54477a0dd91ff1b0b1a31d6011acb9211bd7c4e7602e488d4cd384face2aa243db2cf8c8220c566dcf9511feade8fc26b07b1d73\n\n# tcId = 155\n# point with coordinate y = 1\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400703dde202ea03d1d673735002cc62cc740536104d81fc9fd8ebdb7dfa908f599d8fea46debc190a5b2ef5f4493f9b5ecd8da9407bf4fc8e1732803a74ee65f747b017c9b038d86afc941403facaa1e2a6376dec075c035ab2c1f42db5fcda3ad3fec67bcf22baf6c81b4241b4a9257f8c2126880e1d6a69a3e5ac7e98710fb24d505df\nresult = valid\nshared = 01b248dbd8dfa667a10ab32af68fa8967c69496ebf80c11fd0efb769ea93f84f5a2968b7ed81b2fd9aa913accec701ddce0d1f8b43b1c671f547822f796efb12d559\n\n# tcId = 156\n# point with coordinate y = 1\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040004fabe53e63193571d44521d36c4b646e299b390efe50e5fa1a738e700586fe41bf543b07fe4fafcb724301246e8c096c499b8a5d063233aa748db9d2163d1000400928a59f3e4bec0464f021c5ad086456231a4e44f162fe6aefa7a2caef9031ba83768b54762ef90b1e508eddbef69e53f3f9ae215d4a0612f737d16096ddda322aa\nresult = valid\nshared = 01081c5a3289354db20a929fa3d9607c2ac58cab7b1ffb2802e6a778af1b79ca7a68c7bc1bd37a05772ef8c28f4609557f43387b271fb5a274ae3e8814c7505444c4\n\n# tcId = 157\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b108b6cb1e04341473646c80f8c9c51014cec7f079f968110ab35c0f05b24ea7722327b5eb5bca748c35c771aba67b232c820ed544f9d4efd43d37ec49960db2d700ac758a1e225e3db19a1f3ea9583ad9ea6e994568f6ddc124b8dab49bae8357b3c70537404ed4d02370e1637ed5916b43334859ece3dbe6dd26065c24df11b8f281\nresult = valid\nshared = 010e64a6dd87610bfb99a134039b518c8cc87019ed5a2fa0b3f98be8fb3b2d900381a50755739bff483e400e5ad92c016ee3174df8d528fdc08a176d6080c183e094\n\n# tcId = 158\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040124508b182dccea6ace2136e53a2d9b6149dd0ae450830666f0a9c844918f0fb3eb87f7f3f7707addd77bb12cd1e552ef12105c6867a4fe81cd1f6a4001c3fe6e0801576d60d07c02b2559cd189abaa703e36e29c66d3da18d34926ae821bd21694e15319093db25f620b6480e04a4c6c53b1fa388f959b65fbf8a8829b3b262f55e4f2\nresult = valid\nshared = 004af556f09b9d7a024c4dc941931d655d2231932ea045a7faf322b14f97341999a5a5605c7d31b2e93d56f9d8136306a899d82bbe2b61b36af2336a0ede70dcd392\n\n# tcId = 159\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400e2b5d2bcd2b483871b7d83c2db0e957ef223f65b30f45d4ada33725373785c0d664a8ca2c35bc35a952fd822b0072a960c60e319f4e06de6c785fd8ddcbbea18d200300234471a92ac2c5f778cba8a97f3b3c45cc8eac1d815b45dc02f9b74079ac56649093d43613005867b38f3f6695d50273ea2f68ffa81000c7895e91ec53856e3\nresult = valid\nshared = 0184771f10891b6dab953663dc41600bb7b2bcd0cc6bd319795bc89ce2cca1883cf92fd6fa7b16fb39c3737454bd3c22f4fb2c2e86914db418b653a9e0dce3be5ebf\n\n# tcId = 160\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400aee0e3097441d50138803ff9b17806bfca1064feec209fd0b5ae57c6d87d9e5eb32cb0670f12fbde06c3f3ed8b1861b6d18f6bc6a2552266a240686c529f044f570100898b3c6501ebaa81e69ee019b879d6ee3715d5096df83961e10bc805d5c674caa98a1ba29ed004808931a9615dfeda8673cf39f0ce4a618d181c04a866189037\nresult = valid\nshared = 0024f79251c86e06ac18e6404cd303c2fabcaa9564218c160c1fb7a99fb2c699b3ae65ca2da8f66ad9d75cee42f19f1d77f194fdf2ad7854186b977ba26c0e87cdab\n\n# tcId = 161\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040047ad264a373c4994f942ad0942dae8b23a329fb7a46e987cb921c28bcaed4aed60e5ea6fcced4b3ece4ab7d91b349e3e45abce93e9765ee2fe9f13d5f230715a230059654010a57f0e9d1ed46afac4aaf5b3228763ed2cb2b4d78a131636bd1333f12799779a9f0fec3ef24452c51e8e4f31ef6dc1129a454f079258eac10adf8879af\nresult = valid\nshared = 01646e6ed95c47f60851b16b8da121b7a027ae9b05facb08bf52ef17e67a0efb1c49ef903de89082d3b34acacc5cfb63eb6a620d0e1498720e04559ee476bb9a75d5\n\n# tcId = 162\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400075daa66c8b4298a8a8cd395022bf2f27e52830868b13b1760f22bc29c99666f392385805b9490eca476defdf7df0d6b49181c3723770933c82761a2f7d3cea39a01bd89c2ffbbfb461f212d16e9a9047253cdcdf179ce763fd49172f8bfeeb68d1c1fd6e2fd6e6416a8b015513222734360f51280cef5f39ec5ffdc756e44a5942764\nresult = valid\nshared = 0129e92c8bcf5e735732a7f876321aeb2655e8d226c228e51d5ab6fc7c05b63ca9400a0c25bfa12b0a7ebc84efd62f695da7cd44c1ced1ed5cb788c4de12a517f1b7\n\n# tcId = 163\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004004abcd8469f194d0ccc0db46492cddfb0552bc1306", + "2b7487acc38f59a074f682001db1addef6b28c5479eaf5d6b95b37c394eb91ecfe02f0087fc639700b490eddf0121398673af0d639191e3122dec7b58526df7054627f696a569892851f904382dbff7b61ed4ab1953910d27aa356095a2ca45956456c8d4e1ac56b1ffec95fbe8cf\nresult = valid\nshared = 00cee0328e75f016d056986b4c7fceee7610237f69dc2cbbb6266659535541269f851e36e0888d635b506b8c00a8dee7d987745d8d06519d15bc752bd5756fe327aa\n\n# tcId = 164\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401bd163989c407d5f8f9fd2e087b1473710c4bc2d6a97d281984c12cbb0615be9ac806c292c9d90cf35ffec665760193b1d7681c47f8bdae37ac50d8a40760a047fc0167cce4dc54e67ebf56407aec33a5aa20ba867c856f929fad778b39b0dc51249d24e390d7e33c72382c4a1d02bf73d605948a73a481bdf329ef7b7f04cf3a333c76\nresult = valid\nshared = 001e872a534bd079550d50a2def1d439083bb3423a58a923ded2ed7de768022981b7cfc75c970caa2cbbf2c4c7cfd9cf9846844e9c5400356700080a7097f00e1548\n\n# tcId = 165\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f3d659378997a75e456f770f34bfac638f1d38777cd0a77207cbc42b540c1fcbad583b93873163426eb91699f8c0834b13695400de49796788c592410c520e859f01946225c71e241a3a785d26d121d56145ea8f9768f3a009a2e3c54f9c876b899e81ab1261b2bd5ef99f54f44535f9cc76bf0f44e91a5f139e9927b88d16dccc4b39\nresult = valid\nshared = 01f9717e8a71cfa94b943d41bf12c70bcf51437419b2da0b6e160d06a3187d781769c75d2a9f97a8499e396069a059725f47a10103b78e568e0768499112f2f16b79\n\n# tcId = 166\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000520d4f93ad15bd8399697da58b203a581a3868c55c8ad9af9aef613e214046e56f2a82382fd9eafb1f5281e6f6e9f0bcbb4386ffd8cdf5dce09257cadab97a010011b425853ccf7987de724596be0c23f1d5e1c7d0932d2fe72c5f223b9d03a78b88cb09eba6c4245240f8549c7216e53a879c96668cddc01d51c7a52db201ab77b89\nresult = valid\nshared = 0191c0565fdd561298755620d9a7693cfce185c57b6391e4f9b90f7b22288b4f3ea3d95dd4d91b731615646aa9cf66db8aa0c302ff0703026c303a8c3b1f3e15ecad\n\n# tcId = 167\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400568a78ce5d2d030ff850879ee03c201e4dc64c58588d2c8feb3ba9b2d03857af3c29cfbd789b797f8dba4b7470f0c84121231f356b63e613d0fff5f8aaea8c86f9003d67dd0bbb1d8588f18ccf31cbe5cd286422b708c386c1f81008647c824f694c1153553009773c657b2b84cdae98e52fb6240872a31bfb0fee3f2d8a94e5319e49\nresult = valid\nshared = 01f86b35038af9371a8412d75e5d46a4fa76eda9d7be740b14e8cf19416fd5df2a4ced3064fc3846ae99542488d69e3879619fa9078cb987dd0d14860b724da9339f\n\n# tcId = 168\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d724ed03cea80c5794c0f077b8060662dd744e4e8d4190f7f313c40597fe94bd2aa70b20f73ac4dcef99313608c2031c73f13ed1f5d9ace837c580fd02a4f2d6d50155ff556f046657ee5f50757b9078c5467fec8a0f7566ac15db168afecb7f514541d2d1ff87c5f67c511a4f61a91c579991489ad5a1c8c0c554d9b36d1486b27e72\nresult = valid\nshared = 01d1047bf7e622cd428e1c76aa2c044a2058a2d9f4b5c179cf9c9d4607008181b159c156473e7d25fe49dd63ad150073cbc2de2fa9cad50dbad9a08d56eb22d8d341\n\n# tcId = 169\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009339ef1c1f93ca5fedec1ff5fe30334eb123c30e6a17c7b65f3ac8461fb779075fe69889a42837b01eaf44bb7ff8984c0beda0e1b5278a62c07ec128caaf52d8bd0019c095ffad69ed800e223a8bfa55d21f588dc7f9f41b9d75dc010792b6fe243d2308f12dfcd312729ebef9cc407443c04b0cdbe57714615241dab8745cf6487bc9\nresult = valid\nshared = 003eef535275e15f779ec13e5cc7ff939c3dc152e79aad0c32a03b8cb9f8c449b4d9469b362e959887c5a6f20962783c667b32b3791fa701ed52e82d1e3d2229733b\n\n# tcId = 170\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c25a9065377d2d84372580a2687667cdcecea580be1a5e72e1fd2adb42ebda8d6a70ac053e49da485732bf13430282fa4cedac64e1b0693051d1354d8d6efcec1201e2d2bfb7b44f535b87312ae67bea3d62800b69d43422fcd3689a1bceca6fcfe4399b7c318a5688d0b4d2333922d595cf8142584fa898c69426f4bc478576edc8bf\nresult = valid\nshared = 019034896afa681fdcfb11ee0c03e5c588a65239be8e555a89280b7a9814174254fdb496ec0faeb2a1d6816d276aceaa98a53e09efe84a752c09c501b2bacaba69b8\n\n# tcId = 171\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401c2402f341b4e1c9755b3e102223c80563c61c41a64cb119958c41bec2dd9519a475ab84baafb708397000b80b9d275c13d7cdb49127e1eb29a65d2d374904d090b019e06c3da4e884d6ed935c4b92c84bc63e91cbd665cee86cc151344a3a363fa75ad56a9b804b4651ed85663114188e63cebb2c1887f96994db9703c1d0643812cd6\nresult = valid\nshared = 002865551ba95fccdb0c814b145b5a57c808b47d5b08259ee41174770a7302d74a2cc78c7822a6edfa19b22e8a0d616260f1851e0d5dba50a9188e45afcb7dbbab40\n\n# tcId = 172\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040083f99cf2767ce0cc8898e461f9104060a9c9ea1342a2aff705610469286592aa41f319c50c83524881fc42169d072550825cf92e5ad110abd77e8ecdd8ca09f95e0037af6a24d6dbc9c85dfaada6c5a945dd6349b9f1d1ee10f25f8dfcf0522f3623337bfcba204e7e8e08c25564b4fe933cb6fc145ffef82baa2fd03a89678ffb7585\nresult = valid\nshared = 01b384b48405396fdcb2c57f680be52f91b7c885225ecfb4f786ce6c1490162b3c15ebd8e6755e469a7ffcb91cfd7406cf0ab934a4645c3a039941e7d8cdc07ddace\n\n# tcId = 173\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d7fb4d5592e7cf724e57e6ab95e158d818f197f74031318dc83d3c2bec5cd8486481fac97ad6b481e837abbf352b992c2264b16f563f8442526bc6dd05a6374df80161dd90c908f5524ee6b157a86f6734a25e140638bdd839276fb09b3fad93e7ba899d6b6b3ed24fff8d499ad98cc45a35d62b8c461f7cc25699723a033e5b1dbb03\nresult = valid\nshared = 008b00b65cbd72a51c279d1b59628d4e7a1a847277f6d8bd5311e5eae945c887e4c8024dc412eb4205c76103ea493e25df4cdf0011619e3efb290d1cea8c290581a5\n\n# tcId = 174\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040058499315bb2297d78f8e74d3634bbf83bdc10eae306d8260ad0c62a41cbf78929144bbb69371ac9218d18eee59fe8200c10173d380cd7843808eb16b2c4cdc56dc004ecdecafe59b4aeed084d2d73af0911a7d54474874689bd6f7716c16ee5f4f293f72ba7d26989e551adac0568cd345c5c948231d5e49bc26290115186b185b5ded\nresult = valid\nshared = 007df53f8d32a1ea1f5734b59456564cac461f1c3a949d4fedff5ea96928e7f2b4753520334760f14ede15eaa964f6a0e520346c4f6b3b401ba6e301b581dd49bd21\n\n# tcId = 175\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781", + "d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011d2660b0f8fa5bbaaeb0e1d9e2a9642558969f13cd08c51c5725b19f18481af2be6edf0bc2ce59065bbed4b1f383f32f52fc559174f2a402275ee951adea00091d005a3426945e6cb706b8e42010a69a47c09948fec3f2c55f8da5cef5ecbf3f0ea3dc2cde92cbe2eeb76dc7fd33825435ee5457beb7a6069e3e348d26ed33e07dcdb8\nresult = valid\nshared = 00725e7b5b8f0d7eb2d4fc6045d61b5b8505a156fef8fa4b1a2e351760b2f635a1837f23a4c6b724df076b2187b7e213da636b06250c66193a235a4e3c90ed86eb5b\n\n# tcId = 176\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009c93065d67cd839187233fbfb33f808f7a6cd444924ee4ea0fd4bb9b3dbc8b4affa7d3c8e3ac2abf82449d7cf4166c6c181b4f609fe09e3ff7a2b6640f8163b08100b5f44a947b7d9bc78069d15d5049ac1ee9da21e78131523eba4d9c9ee6726d32bd4ad849dbd71270710cccb3cb88d243188fd04ac394c125dcb62735570e123890\nresult = valid\nshared = 00718e900a7ef993d671ab0dc5417c98f61f6eb0731641e552ff48fa4f93318b8bfffaff2a1cfa4b759d351e56036a61dd1061d85c3d144b8a882f469810c58e0646\n\n# tcId = 177\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004003c1f1be461d3cf4302cf1fa8eb921e5c2806fe5673f27f6da3a5bc2b3d78a8aae7ba410236dd9e650942ccdb110423abf53c5d13167638ff8162b4b931a0bcbba900608d6517009d99fc3bf1165e8199221a7989f2ebda3b739a748cc938d2db3e697c5f75c32dd5bcc5578e549e429f454a039579ea1e796851e7578efd280858cc96\nresult = valid\nshared = 0161c84c64cbd65e718abfab1f827af33064e7029ae6feeb11e057181b4b7ff3dbce4d856862b49abbc0b923164361728f6274d890603b7ce187d7ccfc3ff157b42a\n\n# tcId = 178\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010b7b6fada1f602c9e97da4acd7ebfd2f9f8e30e0b30b77fb3954deaafaa2ae2628ba042b9257a0b611df770a7ad70da7b9a20bf4d6f80512cee74ba214c61c6d66002061f890cd81b9b49c91007a325ddb67c46062bb64266d3e72934249cb7262b8b92a737234f6e85b74f818b954abbc3529da116c0321f82e21dd25e53c073abbe1\nresult = valid\nshared = 0172bdb24ac7ef741a94c15acc7e208d8d01183be1c45f5e510da1c0809102a9603fe30dcbb03325086aed94ba23422be9404287cdeae4a288afddc2aaa0e8cbc415\n\n# tcId = 179\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011d28b1a95fbf27a4ad21ef4613e1983cce354c018aa757330fe13572f848abfa255898d1398f13ceb06b3b53292d000e87dd20dd1954763a94fdceb128fe63af1b0111ffc1b26866dcff9e42104a121a24ef5a15d78141cc93c26167398975916eafc8ad8baae13f59df23fe79aafb6e2078ba465c6b14e44c060eeaaa1ae6f4c7c979\nresult = valid\nshared = 0124eacfd598b6fc20b9f01873ed3c55b0dbb3f9dbc18a05233e59a4ec7270d012b790840d22051c4f1c55a252e8adb10dae855599e22abcb3e23904aa0767e3cc84\n\n# tcId = 180\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040187b3111a718b18077d9789125ebdb6fdec77890875440d36692e30159b4cfbde1807b3ebb1b1a8c7db00c1fa66cf32c5f9ae0f5941e32d7c7d2af0fa98832f01ba008f7def2063a7797625236797fbeaf8d07d74e07d139e6d73583d2d450a7794a8f712ff7852aaa23da6ee8142d9b697568f7f4a63a87f97d6354fc469596406926c\nresult = valid\nshared = 012fdcff44a9af94f18b50f49c19a1e0e6f999964d5ca4327f280b2edbabf8235d2e2ba2e101b391d0dc1aa067d3593cafb3c5a99c053165fa28d677990ea886fc7a\n\n# tcId = 181\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009a64ba8c6662bb51553f85608aa2e522bbffd1b44ef646de0938f6267990dd9d7f52505136b67620afc1f6d25acf6d1dc3972c3a88493ae3927230225c03a8135d008952c15dc94461873c232a2fbeb4a7a4687e641d10b3348d17a31ea3fbf17ced9065bfcddfd92ac742cee61d5bf582b958d253e939ce5cf92ce79615433d069d8d\nresult = valid\nshared = 01cdf3f0c813badf7454de520d1248b298502194504afd5904080941cb85a371562848e4756011713593af46145d0652b2edce18d5c9e4a4cd55370bcd6083990628\n\n# tcId = 182\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400393bd8fe3c49f7885efbcab87962ef12458c18f255f01a24a1ab795cbfe2b4ddf6e8ac253e4fd9484377f59ddc7c087996386ed9a165cca81f853c918be1c9d399007c47aca4aee1795d414c4334ce4bfecafabf3c3391a02e9332d7f17ec1b5c542009f980fbaf3eadcc192f400b9ad2400220c090a758784dba66de40600c626e4a1\nresult = valid\nshared = 01d10825bb71d094ea2b01855583a8226871ebe7d6bcae064227bdd841788d1c489b94db20c39562450db84735f9285259b34c5d3b43a487f0708632b75de2ebe104\n\n# tcId = 183\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401b4b19a125bc0cbd0606064a051af4ab17f791880475f00a1fbcd4a797b401bda390ef7826fa01682651d72cb1353704d7a18027c4d609334b2e8c5d4def86ea0e40190e4cd6a4e0ba9ea45d3b7144f74aaf1986462558c8b3a10501882c2669ec265efc152f5510f3e990d67218471cafc66c845cf69e5eff6e0308cc59ac59a407667\nresult = valid\nshared = 0031eb146616d7bc61ffb553b7ca8522a5b6088d23d5ca6e30b201b86da2375d1f6cc48e88a24b52b0e22045ca7c506c206930619c289fc4a688432adee4702880d3\n\n# tcId = 184\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400e7fa4ac2365af9378dd2c81f32f9ef55d4d341ac324eb46923ec7f15448c37ef607c975c352754f472873e469f8d37d38d97d161a7b9b1dae2e965fdcc959747ba01e6c09639729499b607330d7daba2b5c1efae4f121e540bf7e691809a055542284cb5ee87475589cec663b53f21b91231a638d8402e358fd169953491ab3953122a\nresult = valid\nshared = 00a8f2dad749ea1e15673586bb67b5c85ff8f45c72ef8447efef3efc626a6a10ca88451643b434a25176cbae77899a3e32a4484781b700e03857bdd158ad3cfbf200\n\n# tcId = 185\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040104f43ffbb37ce5d0ea956171c070d6147acfa9519b887995832a0eb801e0dbc66896dfaff94409b497f4a416ccd82750da47a520b870dfe6cd3764f0e3c0f1bc3b00a5f3db9939c21147ab4488c8128ba0564f192f2788560145d2b14a852816b4851ef69a462c9854bace720e4629ed55af9d2c7da74cd309fc5566e11630746a3522\nresult = valid\nshared = 01ee85a3b6d35d0df6a445593c94609932530e25ee71909c5681ae398a38309e8699e94e0f23f56c64a0d04fc10e2896c50f213f12c685151fa40f18ac6d8ed85906\n\n# tcId = 186\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401250ecad894d3fdffb580099c2c305bd5d903fedd2e532ea58d29d63c3281b39e6f47a11b3be97c1c04e042d3f19bd0cbe0ef4121a257279bbd76c66a05e8d222d001a2b3ce41ca09b5b6287b4c328a315dca243c726e8616629d2b37506b7", + "eb31eb76f513decb0ab20a52c0c260a920e92ae1a629fb817df5ad6d7e62367ac5e8ee5f0\nresult = valid\nshared = 011e7d529dc9615209162401ab2bb717378109d87a1ac86b98b7954ea91b960b08fa9374ea72703519c39c69797240c977817e2b34b5322665dd518251bcc1fa970b\n\n# tcId = 187\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040019f6ffd81d012b70804c308594b47066516bbb339b44abadb4da194399d1b4d5fc98dd9d0dc363a9bcb14396327ffadb39f9b357b7e631a84b23039396f1cc96f101a6a8c0af8e083a9f8c19cb0fbae7b4523c4c54fc9ffefb735113f528f7a3e9662571060861dd6c9c71b33d99b53d716c36a8a902bca64c46c7e34a2e88dbc96b6d\nresult = valid\nshared = 006b46bbda9f37961aec9efcd6fcbaf4e25b6674ea37f8d82ca2edcc06353e24d09ea5d86136fedee34e0c391b859072ab91918b51d0800ab20255f438c660882e91\n\n# tcId = 188\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040077d897cff6a2a3446fb38528ad80cf3cc503ad93da06c7c5a525cf9a7bba33d79d686a0c53290a4594240540a02a85cf14336a23da56efdb562b0656800ff396a40120779ae0df7c1d928ca18d63fcabf0d21bd437c86e40966bae8c9fef2ac72738a75be49938ab9917034a2536c023695e821f70b458339bd8de218a5cf741e55a7d\nresult = valid\nshared = 01109989b62a379397232c238cf57d81884babb39b041fbf0f0b48bb7d794944f9a302de0eccaa9a5625b222c6692d24077654f19836b8f14d8622ba14eeace274c9\n\n# tcId = 189\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401a02719244df807864707fbc6c5285da784301dabffb85853daf946f8d71598fa95f7c90a3d5f06e45051799c16f9af0afe275ff4f51e83e1bfabc18176f2bc4a740154de99c74dd263456034abdf5b2a173e318442d13200f4090aaa2714524c43a85ec5f607d5f355205fef0f4aa3b41b2ff79eca361fc28878fd4e26bcc57ac014d8\nresult = valid\nshared = 01054b6191cb257e0f18d09cf454fca4c45716ea00f167b2fbd2d028b66c903b5e751a6caaccf4ed18e28635d8454ed3811e1c4b3638eb420ad21ea4fdbdbadae866\n\n# tcId = 190\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004018a82cb60812fd36cccb29e4747d20579ac9ac6b5ef6490326b30c5f077e9d7841ed189ad172140055d7ee6b015e02b1ebb9fc17d6acd8bb4c08d2ddb4541bb88f4007750fe2640e590f15426d64e2334cb2ad597340c445a42379fc194ef74d7e06a220aadb8e69e361b4960dde70f085e924319dea0df1d4c12c41519535702670ea8\nresult = valid\nshared = 007113f5f3c547a2bdee4af7625bf161ad9840e83f2c3b871b18be0c9db5686cafd3948c831a251a4649999193852650e6dc8a9f82cc696ad57c7181ac9a9ec220ec\n\n# tcId = 191\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400273b9bf3818c129cc272270b5bb0b8b7e557ca8c548a6f3205e37b611962b14d9be317dc44fe82b2d2504984db98a902e7ea2a5afe584dc2b2990e5a790fd55b1900b9211fbfa221e3c24bc3de2f70e8f0e84f4b05c2d2bc5e98da3e379e80becd53d221136ad740b2732ecbc3c7e06c07e064d5de69e6a6d567713f644e8ac25a1d93\nresult = valid\nshared = 019188478c62349299ba2f12aec3c7ef65858f50395380ed0e7e70e731d7c47885cfb183ecca22fc71f0afd0621243750786969a0097b36a521ef41df9f08f9a4558\n\n# tcId = 192\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b9d403df5b1dacbef2baece88a0b10fabc5d729753f4e936015afb96b929392a9eeb03460968ed18868714caac2dc16c07245a9ef4832ac418e3290d1f8d0d102e008494f4442d00fdca67d31b3eb656c8a06bd521046c1af075b0ed26c26d5bdd8b800493c68cf493516027ede771aee3ed8b5fb947e9d600cc0a82c3f2076d96aac0\nresult = valid\nshared = 01adf724cf47ae319791a3dbe336b2f54a4d74bc28ff8a23c2f333e2a5a36bbe73dd6c9de72616ad5b779e51636d08f7cec58ff18b7127e396856bc13d39094410af\n\n# tcId = 193\n# edge case private key\nprivate = 03\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df\n\n# tcId = 194\n# edge case private key\nprivate = 01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00347c51f587c726070bdeb9173d0a547427ead3f2c8de62d9ecc3013285f645d220931520bcef85d08cfb6786045745fbfbfb1924c44a89d06676131a965677272a\n\n# tcId = 195\n# edge case private key\nprivate = 0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c41dc4437c2f2b94a940711b3a691723397a1f83d6bc0c67ddc7a657160925c7f85bb4eb3842b60b2610ddb7c0b8676267710e58359a8750843c6d8e25d48d1cd9\n\n# tcId = 196\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 006a239cdb7a783840658d5f314bfe5c51e806a4bf1236f8421265bcc503c673eb16c5c2b38b5717fa04ee7dbcdeb15c871711507abb7557a8a8c7b3250141e854d5\n\n# tcId = 197\n# edge case private key\nprivate = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 0112dbf9713aadd478e4f2ebcb058f05b512b1959c7da1994f851f373ce8c341d39c6843373f6fe559905953e1147640159437953c571961c09bad157a8e1a5bf476\n\n# tcId = 198\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47adbb6fb71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 003eca2210c862310508", + "5aa284d119f3d716730595c6291aa89bf32a95e8a5fdc64f3d76e92494a43a9dced12d05b6dca4ffe649b32ac12cb0202e702dc83a2cb277\n\n# tcId = 199\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb5fb71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c4cae9fbfdd45de51d8525e8447a7553c35cf358f1346f1d79666887bb749a3ba0de62e1866b47a447d53b6f1ca5a33ec94507e2cfb65544f5a1195fc6b4dc5810\n\n# tcId = 200\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb67b71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 008073b4796e748f3d0de5e85b22aed463f1a6aecdb336bc287b50d139e3591ef5f86b78c3f6051467755f059f295d758075347d657aaae02383838bb96071eacbd4\n\n# tcId = 201\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71d91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01f11ff8983792d4a790d0de4b56d078b9033ad6318a440e8119342937cc48a39375150ab2cf98273b0fe35d5a3af5d84322a685e89f2cb378a99b9b7bac87e44952\n\n# tcId = 202\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138631b\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00286cefaaf38ca4c6657eb9b187d8614d51775fd71c1a79b4c0ef1a0d4ce72b6f5b2bc854a4e78283530942a3f4fd2a8586d5ea51513c89d3d29de5de06321e118e\nflags = AddSubChain\n\n# tcId = 203\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138639b\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 014790de14c481f1336fcb7d33a8bf8e23eb594cc48608e9edfe0e326e106b67e7eaa3f04ec9985599178f632a5ee6419e11217060e9fcd5958a43882bf8cd3be6ba\nflags = AddSubChain\n\n# tcId = 204\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863db\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01ae775dbc4096a3aea7977b1a0af4b2830ecf9ca927a6247fba4cccb46b3f71d0e7abb8dda72d1c1ee7bb5b875b4773cc8df40f732819c4147da330775d1742ea35\nflags = AddSubChain\n\n# tcId = 205\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01979fb05e068a12a3f20cfdfb9eaee9f22b356edcc7655383ed38124b86814f86a6f2216a34f3fc2299d403ee42408f95d08c5c6cd11db72cbf299a4a3c2545be25\nflags = AddSubChain\n\n# tcId = 206\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386403\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 0197ebe26798bf67f06ff0282773af75115531f41d94c093d87481b76bef707bc222f2d6672f84a00fa20c5ed27027ab4006b68d93ee2151016c9ddbe014346272e2\nflags = AddSubChain\n\n# tcId = 207\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df\n\n# tcId = 208\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c168314cdc85757ade34a52a9e5379ffa5968f084b7e404939a8033a0fc698e26211754b9b2c04cf8a1420abe6e986ef1a238bbb91dd402b72e0ed50a876f1a83e\nflags = AddSubChain\n\n# tcId = 209\n# CVE-2017-10176: Issue with elliptic curve addition\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650\nresult = valid\nshared = 01bc33425e72a12779eacb2edcc5b63d1281f7e86dbc7bf99a7abd0cfe367de4666d6edbb8525bffe5222f0702c3096dec0884ce572f5a15c423fdf44d01dd99c61d\nflags = CVE_2017_10176\n\n# tcId = 210\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 211\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a", + "63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 212\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 213\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 214\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 215\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 216\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 217\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 218\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 219\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 220\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 221\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 222\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 223\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 224\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 225\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 226\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 3015301006072a8648ce3d020106052b81040023030100\nresult = invalid\nshared = \n\n# tcId = 2", + "27\n# public point not on curve\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fe1\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 228\n# public point = (0,0)\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 229\n# order =\n# -6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd166500242fe000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 230\n# order = 0\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020100020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 231\n# order = 1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020101020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 232\n# order =\n# 1598335257761788022467377781654101148543282249044465229239888363328190330275719844327554513312228302828260696579553960150541916632196023208175974174\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820241308201b406072a8648ce3d0201308201a7020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650023e01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 233\n# generator = (0,0)\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00048185040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 234\n# generator not on curve\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16652024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 235\n# cofactor = -1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 236\n# cofactor = 0\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 237\n# cofactor = 2\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020102038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 238\n# cofactor =\n# 6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820286308201f906072a8648ce3d0201308201ec020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201ffffffffffffffffffffffffffffffffffffff", + "fffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 239\n# cofactor = None\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820242308201b506072a8648ce3d0201308201a8020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 240\n# modified prime\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201e99d17d498f3c68ed8e50430ec4f36c14dbeeaf7652e985636bf0548ffb981e9e011607fd0059cd4fe51e882f19a3839ebe7f1d7376cb761431b214ed76970cc0130818604411662e82b670c3971271afbcf13b0c93eb24115089ad167a9c940fab700467e161fee9f802ffa632b01ae177d0e65c7c614180e28c893489ebce4deb128968f33fb044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797\nresult = invalid\nshared = 00ebef6771455911ee573c183e990f7086650f9bafdb722c896751bd2c0f87959c78a39382d10fdfb46fd3515c8feb590943dd79778b13adbc7f670ba2a009753483\nflags = ModifiedPrime,InvalidPublic,UnnamedCurve\n\n# tcId = 241\n# using secp224r1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 242\n# using secp256r1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 243\n# using secp256k1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 244\n# a = 0\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202033082017606072a8648ce3d020130820169020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3046040100044109a88e6f050cfefa0b49fac45689b6b93ad4fa3b65db7d2f4cb31b67fe056a100066dd80dc5f785d27f82e3369eb22ab2c5729a9e5d9906a1dc31e02f84026484a0481850400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 245\n# public key of order 3\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044122cf9f56681fb138292f337d49937d24268b13b89617117fc35c880de0b3d4185ea9bef6e077a3bef09e0835c68dd301f5eafd873361149e8bdc295050f43c22f20442011f108b762c3e4b4945577057a910ca94481d69f8abc3239c36ad492af73bb8e81c8a8f9cf658165b32914a4a4fff8c3aec5982f734de122cf65610a139592496a70481850401c70f1e46f736e8ee0c78ec2253266bc62da9bbec44fe109321c9bab98a441b4a94840e85546e895f50d7331adc8a48275204ee12d6865597a521efcf01f4839d840000576bfe88eca0e48ab49df0e823e24a7d0b32b5b9ac1ac46819f4c51e801675e16872395c9eca3ffb5e2b7d4763d6858882b94b5bb6764c00e0b57891ee995cd1024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000401c70f1e46f736e8ee0c78ec2253266bc62da9bbec44fe109321c9bab98a441b4a94840e85546e895f50d7331adc8a48275204ee12d6865597a521efcf01f4839d8401ffa8940177135f1b754b620f17dc1db582f4cd4a4653e53b97e60b3ae17fe98a1e978dc6a36135c004a1d482b89c297a777d46b4a44989b3ff1f4a876e1166a32e\nresult = invalid\nshared = \nflags = WeakPublicKey,InvalidPublic,UnnamedCurve\n\n# tcId = 246\n# Public key uses wrong curve: secp224r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 304e301006072a8648ce3d020106052b81040021033a0004af6dd5b71a8c1cf921e36854ae091aaa589d337e740e8579f816eb9e36b03eec5cf956d0fdd2fc1687335507fc1c4a5717d3b5b8ea8340d1\nresult = invalid\nshared = \n\n# tcId = 247\n# Public key uses wrong curve: secp256r1\nprivate = 2b0d", + "77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000453366db79b320781936df61bb55d4499949d813ee5abaa5dda70da4f97f68228ccc69d7cd0b7266cfc28d0dcafdf3e83738cc611acb08f8b896c4ecf82dd65ae\nresult = invalid\nshared = \n\n# tcId = 248\n# Public key uses wrong curve: secp384r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3076301006072a8648ce3d020106052b8104002203620004aa45c13ce3cfea8538422712903edc0ce56df74ede0776e843555a786f9738de1943dffd729addfd4772169751d7765a45b5bb540a47d198f4c8c7c21e67560c1e12f70b64520109bb8858a3f8d6bb4012003431db0778633313fdb9464c47ec\nresult = invalid\nshared = \n\n# tcId = 249\n# Public key uses wrong curve: secp256k1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3056301006072a8648ce3d020106052b8104000a0342000475e01a1555380be188d69aac340a4675e4a6f73d63976a1075249827d8ecc2a31e65ed1eb591954e33a38f68ef8aa6c930229d8755e53257602b3eaa87de6f02\nresult = invalid\nshared = \n\n# tcId = 250\n# Public key uses wrong curve: secp224k1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 304e301006072a8648ce3d020106052b81040020033a00041acbc8b814bcbb1e233ff7fb8a0c2c699d0cc59ac28678dd3f2f9502699b6518a221ff5f1d9de4555226e5bba0ae0586af95701d0fa5ba51\nresult = invalid\nshared = \n\n# tcId = 251\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004905a06d5bc093697155aaff67305976a769b904d8db9573c4be361626def2ffe1d5ec14462c02e5ffb24fb3edb2b6c77a5cfee2492db757b\nresult = invalid\nshared = \n\n# tcId = 252\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200042b87df1b6a5cbc4c4a184b7eec9b6c0483f7b80e6477b29649630c37481876bb0e3423f7a00d469320b7e60c88370979064efb9ceb8b387aa87a7c6941ccd9ed\nresult = invalid\nshared = \n\n# tcId = 253\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 306a301406072a8648ce3d020106092b24030302080101090352000470df62394ee036eefbc8ef11a9a5f3a8af659016f29e7125e52cfda0a74e52c7b21d18ac4375f5e4164c5338fa2f545a3fb2022f0e0686d5b4882958f72b1bb626e37093e3f19673968c237823327fd6\nresult = invalid\nshared = \n\n# tcId = 254\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 307a301406072a8648ce3d020106092b240303020801010b03620004808dc7b1c6d3ec470a7fe5d6144c9c3a8c92b116103aa2edbfce0b2c827312eebcd1350d09a739eac901af341487861b195270f671e0a758deb23222db4fe7983d42a785b35fd158344cd6483c4da5b409e77d0a284dfa9c3e0d91a4d275fce9\nresult = invalid\nshared = \n\n# tcId = 255\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 30819b301406072a8648ce3d020106092b240303020801010d0381820004aa11b560dc1e572f2374e5869210304d66d95b1d8ce40940157f5f5b4a7dc8a340f7c305d6bea289f5c430eb888e2a03528336aaf4680d9d153cd162e2229df330425025df2625b147568927f6acf704e4936f8989ff9d44f33ee22196e70dfd8711e8934d8d42abb4b67afcfee213c3ad5e5c83fcf4283d253d6c5c0e581970\nresult = invalid\nshared = \n\n# tcId = 256\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00048d7a746de095728a8d83219e587040cb6e794d088ab6eab426638202579850b0f235edcf4eb8adcb51bf41878f6b71a1f2d4101022964340\nresult = invalid\nshared = \n\n# tcId = 257\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 305a301406072a8648ce3d020106092b24030302080101080342000424ad316bf41e4102dd7ae16311b64464df2d13ea68a11dd27a4445ed900962180ff8c627ed73f0c667863ee3a671e6ed1fa2781b51a229ee2cd21fbf69437d60\nresult = invalid\nshared = \n\n# tcId = 258\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 306a301406072a8648ce3d020106092b240303020801010a03520004548ce4997cc618800d3834dd4b3346e4559be066ab5d0cecd7123c4de940c168fecd3bae067fe3fc7aee875c9da0a86932f0779f42344470860c22dbc6f305eab792fc0874157e175c7d3c4d3bf54c4b\nresult = invalid\nshared = \n\n# tcId = 259\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200044fc2b35e3019a57a8ca6efe2ec1f72072c599a78c2725f7cfc2d9edf220b5f6abdb0c0d8d160182de451e26bcbb4e8c18726263e21ce56fb4bafaa1f186c745e2c8392ef8c5a1c03f5462ebbbcde0ffcc31e9a0b3e898ddb9c1c79e420fd7a35\nresult = invalid\nshared = \n\n# tcId = 260\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 30819b301406072a8648ce3d020106092b240303020801010e03818200047122f743122681ac73b0d611af86847d8bec654cf99e7eaf5d4f684e4078a8e61dc6d07e831ad02cd40d41dbdb6b0e877d960b78a5ac34c1e6ce7c483503d6de2eaddeffbfb3f144d29d13535a05815934186707146e45f64476bbdbc8645be973270a4c5e35d70ffd5eab2f08d1fb04762bc8aa80e999da14f744be9ff8c923\nresult = invalid\nshared = \n\n# tcId = 261\n# invalid public key\nprivate = 01c1fb2cac9087a3397814b198a80e2ea5b437aac1b41e8a2bd8fef8700e4812aa817320e6e1e3865bd2cf75e43a78be5c27ff1c4b5f5019333cb37d0c9c4ff3ec61\npublic = 3058301006072a8648ce3d020106052b810400230344000200429cb431c18f5f4e4e502f74214e6ac5ec2c3f86b830bac24de95feae142ca7d9aa8aa5b34f55af4b2848f2e6ba6df4c3ecd401a1d7b2a8287a332b202196fadbb\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 262\n# public key is a low order point on twist\nprivate = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacd\npublic = 3058301006072a8648ce3d020106052b81040023034400020108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 263\n# public key is a low order point on twist\nprivate = 00a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f2\npublic = 3058301006072a8648ce3d020106052b8104002303440003011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 264\n# public key is a low order point on twist\nprivate = 00a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f3\npublic = 3058301006072a8648ce3d020106052b8104002303440002011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 265\n# public key is a low order point on twist\nprivate = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f", + "2fe21eeba63ea988aacc\npublic = 3058301006072a8648ce3d020106052b81040023034400030108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 266\n# public key is a low order point on twist\nprivate = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e2\npublic = 3058301006072a8648ce3d020106052b81040023034400020009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 267\n# public key is a low order point on twist\nprivate = 01afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f677\npublic = 3058301006072a8648ce3d020106052b81040023034400030047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 268\n# public key is a low order point on twist\nprivate = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d5\npublic = 3058301006072a8648ce3d020106052b810400230344000300c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 269\n# public key is a low order point on twist\nprivate = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d6\npublic = 3058301006072a8648ce3d020106052b810400230344000200c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 270\n# public key is a low order point on twist\nprivate = 01afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f678\npublic = 3058301006072a8648ce3d020106052b81040023034400020047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 271\n# public key is a low order point on twist\nprivate = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e1\npublic = 3058301006072a8648ce3d020106052b81040023034400030009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 272\n# length of sequence contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3082009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 273\n# length of sequence contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3082001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 274\n# wrong length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 309c301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 275\n# wrong length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 309a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 276\n# wrong length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301106072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 277\n# wrong length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b300f06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 278\n# uint32 overflow in length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3085010000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 279\n# uint32 overflow in length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03085010000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116c", + "e049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 280\n# uint64 overflow in length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308901000000000000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 281\n# uint64 overflow in length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4308901000000000000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 282\n# length of sequence = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30847fffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 283\n# length of sequence = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30847fffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 284\n# length of sequence = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3084ffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 285\n# length of sequence = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3084ffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 286\n# length of sequence = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3085ffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 287\n# length of sequence = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03085ffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 288\n# length of sequence = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 289\n# length of sequence = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33088ffffffffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 290\n# incorrect length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30ff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 291\n# incorrect length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d20", + "9cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b30ff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 292\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 293\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b308006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 294\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006802a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 295\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106802b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 296\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303800004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 297\n# removing sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = \nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 298\n# removing sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 299\n# lonely sequence tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 300\n# lonely sequence tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818a300381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 301\n# appending 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 302\n# appending 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 303\n# prepending 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d0000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488", + "ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 304\n# prepending 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012000006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 305\n# appending unused 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 306\n# appending unused 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 307\n# appending null value to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 308\n# appending null value to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 309\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a149817730819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 310\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0250030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 311\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 312\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015498177301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 313\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30142500301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 314\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33012301006072a8648ce3d020106052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 315\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015260c49817706072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b4", + "2223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 316\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3014260b250006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 317\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018260906072a8648ce3d02010004deadbeef06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 318\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201260a49817706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 319\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d02012609250006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 320\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201260706052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 321\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1301006072a8648ce3d020106052b8104002323818c4981770381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 322\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301006072a8648ce3d020106052b8104002323818b25000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 323\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301006072a8648ce3d020106052b810400232381890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 324\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4aa00bb00cd0030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 325\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2aa02aabb30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 326\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018aa00bb00cd00301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 327\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a13016aa02aabb301006072a8648ce3d020106052b810400230381860004017e", + "e16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 328\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018260faa00bb00cd0006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 329\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a13016260daa02aabb06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 330\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201260daa00bb00cd0006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 331\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1301606072a8648ce3d0201260baa02aabb06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 332\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301006072a8648ce3d020106052b8104002323818faa00bb00cd000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 333\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301006072a8648ce3d020106052b8104002323818daa02aabb0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 334\n# truncated length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 335\n# truncated length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b30810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 336\n# Replacing sequence with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 0500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 337\n# Replacing sequence with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b05000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 338\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 2e819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 339\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 2f819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 340\n# changing tag v", + "alue of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 31819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 341\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 32819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 342\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = ff819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 343\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b2e1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 344\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b2f1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 345\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b311006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 346\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b321006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 347\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819bff1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 348\n# dropping value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 349\n# dropping value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b30000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 350\n# truncated sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 351\n# truncated sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 352\n# truncated sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d020106052b81040003818600040", + "17ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 353\n# truncated sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 354\n# indefinite length\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 355\n# indefinite length\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d308006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 356\n# indefinite length with truncated delimiter\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 357\n# indefinite length with truncated delimiter\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c308006072a8648ce3d020106052b81040023000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 358\n# indefinite length with additional element\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5005000000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 359\n# indefinite length with additional element\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f308006072a8648ce3d020106052b81040023050000000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 360\n# indefinite length with truncated element\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50060811220000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 361\n# indefinite length with truncated element\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1308006072a8648ce3d020106052b810400230608112200000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 362\n# indefinite length with garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000fe02beef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 363\n# indefinite length with garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1308006072a8648ce3d020106052b810400230000fe02beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags =", + " InvalidAsn\n\n# tcId = 364\n# indefinite length with nonempty EOC\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500002beef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 365\n# indefinite length with nonempty EOC\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f308006072a8648ce3d020106052b810400230002beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 366\n# prepend empty sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 367\n# prepend empty sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012300006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 368\n# append empty sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d503000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 369\n# append empty sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002330000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 370\n# append garbage with high tag number\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50bf7f00\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 371\n# append garbage with high tag number\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301306072a8648ce3d020106052b81040023bf7f000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 372\n# sequence of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 373\n# sequence of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 374\n# truncated sequence: removed last 1 elements\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3012301006072a8648ce3d020106052b81040023\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 375\n# truncated sequence: removed last 1 elements\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308194300906072a8648ce3d02010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 376\n# repeating element in sequence\nprivate = 018c3c", + "384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30820124301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 377\n# repeating element in sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301706072a8648ce3d020106052b8104002306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 378\n# long form encoding of length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c30811006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 379\n# long form encoding of length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c30110681072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 380\n# long form encoding of length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d02010681052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 381\n# length of oid contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012068200072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 382\n# length of oid contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201068200052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 383\n# wrong length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006082a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 384\n# wrong length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006062a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 385\n# wrong length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106062b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 386\n# wrong length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106042b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 387\n# uint32 overflow in length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015068501000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c50", + "11d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 388\n# uint32 overflow in length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201068501000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 389\n# uint64 overflow in length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906890100000000000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 390\n# uint64 overflow in length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906072a8648ce3d020106890100000000000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 391\n# length of oid = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406847fffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 392\n# length of oid = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d020106847fffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 393\n# length of oid = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30140684ffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 394\n# length of oid = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d02010684ffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 395\n# length of oid = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a030150685ffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 396\n# length of oid = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d02010685ffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 397\n# length of oid = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a330180688ffffffffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 398\n# length of oid = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d02010688ffffffffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 399\n# incorrect", + " length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006ff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 400\n# incorrect length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106ff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 401\n# removing oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308192300706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 402\n# lonely oid tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819330080606052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 403\n# lonely oid tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308195300a06072a8648ce3d0201060381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 404\n# appending 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206092a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 405\n# appending 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106072b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 406\n# prepending 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012060900002a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 407\n# prepending 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201060700002b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 408\n# appending unused 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 409\n# appending null value to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206092a8648ce3d0201050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 410\n# appending null value to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106072b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nf", + "lags = InvalidAsn\n\n# tcId = 411\n# truncated length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009068106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 412\n# truncated length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020106810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 413\n# Replacing oid with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 414\n# Replacing oid with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020105000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 415\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301004072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 416\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301005072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 417\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301007072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 418\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301008072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 419\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b3010ff072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 420\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020104052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 421\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020105052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 422\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020107052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb8608573", + "6115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 423\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020108052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 424\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d0201ff052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 425\n# dropping value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009060006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 426\n# dropping value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020106000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 427\n# modify first byte of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b30100607288648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 428\n# modify first byte of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d0201060529810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 429\n# modify last byte of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d028106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 430\n# modify last byte of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400a30381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 431\n# truncated oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06062a8648ce3d0206052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 432\n# truncated oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06068648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 433\n# truncated oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d020106042b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 434\n# truncated oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d02010604810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062", + "e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 435\n# wrong oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308199300e06052b0e03021a06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 436\n# wrong oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012060960864801650304020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 437\n# wrong oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b0e03021a0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 438\n# wrong oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d020106096086480165030402010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 439\n# longer oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106082a8648ce3d02010106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 440\n# longer oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d020106062b81040023010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 441\n# oid with modified node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d021106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 442\n# oid with modified node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3014060b2a8648ce3d02888080800106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 443\n# oid with modified node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 444\n# oid with modified node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d020106092b81040088808080230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 445\n# large integer in oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906102a8648ce3d028280808080808080800106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 446\n# large integer in oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906072a8648ce3d0201060e2b810400828080808080808080230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = ", + "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 447\n# oid with invalid node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106082a8648ce3d0201e006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 448\n# oid with invalid node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106082a808648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 449\n# oid with invalid node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d020106062b81040023e00381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 450\n# oid with invalid node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d020106062b80810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 451\n# length of bit string contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301006072a8648ce3d020106052b81040023038200860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 452\n# wrong length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303870004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 453\n# wrong length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 454\n# uint32 overflow in length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b81040023038501000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 455\n# uint64 overflow in length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301006072a8648ce3d020106052b8104002303890100000000000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 456\n# length of bit string = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b8104002303847fffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 457\n# length of bit string = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b810400230384ffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 458\n# length of bit string = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b810400230385ffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a72", + "4a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 459\n# length of bit string = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301006072a8648ce3d020106052b810400230388ffffffffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 460\n# incorrect length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303ff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 461\n# lonely bit string tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3013301006072a8648ce3d020106052b8104002303\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 462\n# appending 0's to bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 463\n# prepending 0's to bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b8104002303818800000004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 464\n# appending null value to bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 465\n# truncated length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230381\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 466\n# Replacing bit string with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 467\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230181860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 468\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230281860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 469\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230481860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 470\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230581860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 471\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b81040023ff81860004017ee1", + "6985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 472\n# dropping value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230300\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 473\n# modify first byte of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860204017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 474\n# modify last byte of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32dd0\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 475\n# truncated bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b810400230381850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 476\n# truncated bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303818504017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 477\n# declaring bits as unused in bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860104017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 478\n# unused bits in bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b8104002303818a2004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5001020304\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 479\n# unused bits in empty bit-string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3015301006072a8648ce3d020106052b81040023030103\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 480\n# 128 unused bits\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381868004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n", }; -static const size_t kLen66 = 119449; +static const size_t kLen99 = 112343; -static const char *kData66[] = { - "# Imported from Wycheproof's ecdsa_secp224r1_sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-224]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf38788e1b7770b18fd1aa6a26d7c6dc\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30813d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303e02811c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02811d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f0282001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0282001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021d70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021e00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30420285010000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285010000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3046028901000000000000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3046021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028901000000000000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304102847fffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02847fffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410284ffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 27\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0284ffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult ", - "= invalid\nsig = 30420285ffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285ffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30450288ffffffffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0288ffffffffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303d02ff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02ff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d028070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f0000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042498177303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412500303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30422221498177021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304122202500021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045221e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0004deadbeef021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2222498177021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a22212500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a221f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045aa00bb00cd00303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043aa02aabb303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30452224aa00bb00cd00021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30432222aa02aabb021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2225aa00bb00cd00021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2223aa02aabb021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30412280021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 64\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30412280031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 3132333", - "43030\nresult = invalid\nsig = 2e3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3041300102303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636100\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636105000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f3000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463613000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 301e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302002021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e000070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f000000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210281021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30210500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d011c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d041c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 107\n# ch", - "anging tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303dff1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a011d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a041d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480aff1d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210200021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c72049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d02d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a488a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463e1\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a48021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021eff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3022090180021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0170049af31f8348673d56cece2b26fc2a84bbe2e2a2e84aeced767247021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff70049af31f8348673d56cece2b28cee4c34a02667b2df86234be1dcd021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c8ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d008ffb650ce07cb798c2a93131d4d7311b3cb5fd9984d2079dcb41e233021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dfe8ffb650ce07cb798c2a93131d4d903d57b441d1d5d17b51312898db9021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0170049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d008ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c5b4b7a5fa6fca97e8a82091e08d9e\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c78771e4888f4e702e5595d9283924\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dff2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dfe2840bf24f6f66be287066b7cbf3a4b485a059035681757df6e1f7262\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forg", - "eries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invali", - "d\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff0000000", - "00000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3137353738\nresult = valid\nsig = 303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c3116e1a38e4ab2008eca032fb2d185e5c21a232eaf4507ae56177fd2\n\n# tcId = 217\n# special case hash\nmsg = 32323534363238393834\nresult = valid\nsig = 303d021d008ce2afe20b684576fdd91b4b34168c9c011996af5b0eb85fa929f381021c662af5ca651bffbc623c3a3b372779bd09e1948cd19188f5339a979d\n\n# tcId = 218\n# special case hash\nmsg = 31383237383738363130\nresult = valid\nsig = 303e021d00da573cf73aed174710c232155735248f8ebef696374647527da52258021d00b251856b66a83c32bf0b7b81a01f1db4507e622125f301bd832a5ccc\n\n# tcId = 219\n# special case hash\nmsg = 31353138383631373039\nresult = valid\nsig = 303e021d00c368da86582b2c82b696b2f7c79027968f3fd25cbba9688cdc67b17a021d00aba8e3c2ff1af9bb9c66ca88a3825a19ce17206e7a658ff47025891e\n\n# tcId = 220\n# special case hash\nmsg = 32313239323333343232\nresult = valid\nsig = 303d021d00ffcefcb57190d0b87efb789fb53407fd2c65c5ae3551da3eccf8ddd5021c05c89b41238f1e1def8fbe8d4af", - "ebf20be077e82972f91297487e118\n\n# tcId = 221\n# special case hash\nmsg = 31323231393739303539\nresult = valid\nsig = 303c021c2b98c67ebf6597b08bc7f1b73ff8662cf125e9700ec973ece9c6ff48021c2e3f72a8f76e12c8cdf4487e0956c1ef4578e1da4d29d8db824d415b\n\n# tcId = 222\n# special case hash\nmsg = 32333032353637363131\nresult = valid\nsig = 303d021c5794d70440f166904d24d0b910cd127c63a9eddca45a4d9032db47e8021d008ba5d290834d9a0963122d928da902f7b03467396072180bb1801b43\n\n# tcId = 223\n# special case hash\nmsg = 31313035383638343732\nresult = valid\nsig = 303e021d00c29c70b0b21782d1c727f4907aef5641b6d6c6e7b2a1ebfa57794223021d00aac2d3a02592f298dd3198e388425ec7a91d7e6be48248a64773614c\n\n# tcId = 224\n# special case hash\nmsg = 31343636363134343432\nresult = valid\nsig = 303d021c5c3ef3778c811e69ef0b0e370e45ec0d7eb88505c3e8ffb8c50b9993021d00e06b5c6e47dc4da9e64fd21bc3e1da13cf7c264fa64ccb89da87387c\n\n# tcId = 225\n# special case hash\nmsg = 343431393536343230\nresult = valid\nsig = 303e021d00ed8f586563232cf15ebd014bd4f99727e337cfe4ce48694fe6748ec2021d00fff779a3eca9513522908e252a2b4aab2060608e6cd2d4f1b8c696cd\n\n# tcId = 226\n# special case hash\nmsg = 31393639343836303634\nresult = valid\nsig = 303c021c64c084f6b775bbf7915c1964a68b0259629328598f13557872867830021c2a6f3b289d130ec3d99e4caaf601497895a069c1a5a75b559ad28444\n\n# tcId = 227\n# special case hash\nmsg = 32323335363732383833\nresult = valid\nsig = 303d021c2b514e9b0e0eb68adc01915abbee9fa21f3034be5581dedaa6b15982021d00b8f71c5fdc68d698716bfc623b278216c0fcc0298497fc9c03db44e9\n\n# tcId = 228\n# special case hash\nmsg = 32323537383433373033\nresult = valid\nsig = 303e021d00e4103f4a8a814485b6b406fe8dd72206bad6a50e7126bc655c3d2285021d009bcb99693284cac26e6641a861dbec24f9cc5dd7bb535339d09ac984\n\n# tcId = 229\n# special case hash\nmsg = 393434353030393436\nresult = valid\nsig = 303d021d009edfb833446ec8b6fc84eea34ee40a85b732e5c99da8abc8bafcc515021c5052b40f9d407ae90003299cabe3e1a587b0558127cafb31de6b2638\n\n# tcId = 230\n# special case hash\nmsg = 31363837373839343130\nresult = valid\nsig = 303d021d00ad2647c8ff377798a6aeaed436d30c7b25fb52428829ce6424dd34e8021c28f58671d77c86da302418c51e5ab86d137ba6ef4389722bc79b8751\n\n# tcId = 231\n# special case hash\nmsg = 333933323631323238\nresult = valid\nsig = 303c021c5dfc6fad385bdb24b2b70a64fd4253405c0028bb36f4793aa3bd31fe021c1c210b74924171378992b03bb1bd78c5cfcfc879d2e5c736d35516c3\n\n# tcId = 232\n# special case hash\nmsg = 31303733353731303935\nresult = valid\nsig = 303d021c766bef46229695e6829dd12cd558369ec34519ba4a72dcaf6f73f7b0021d00fc015ccdd1e943b910101607d81ff1398ca6a4d70c25832b02b221e4\n\n# tcId = 233\n# special case hash\nmsg = 3630383837343734\nresult = valid\nsig = 303c021c120055f90ad1290c4c5fc5faf69b215139182c770d2b55e95712442f021c01ac47f7446543d4003b039d9f54daa9d0799f98291a32df4fcd472a\n\n# tcId = 234\n# special case hash\nmsg = 31313932353639393632\nresult = valid\nsig = 303d021d00f480591f6f40a25b37a035fd91954145ec342e593d09e142f25da408021c5c6ba44ff52f52c51490743d9b650916be58d06d7c1fd99dfa2eab58\n\n# tcId = 235\n# special case hash\nmsg = 3930303736303933\nresult = valid\nsig = 303c021c57daddb0cb6af939b1ea1aaf4bc72e56150c0c46a581827193e65d17021c3bc37bde4e60b789ba86a054d37f1191e0814926c1a0100168d16c17\n\n# tcId = 236\n# special case hash\nmsg = 31363032383336313337\nresult = valid\nsig = 303c021c3a74102bd1fc617018efc4fbc042e719a81b55830aac1f1dcdedec65021c4bb9fe90015a45f31c8c95dda24f54fcdb64682c13f68d4da3d1abe0\n\n# tcId = 237\n# special case hash\nmsg = 32303830323435363734\nresult = valid\nsig = 303e021d00e3b6bb1b5beed048e0177e3e310fa14eb923a1e3274c0946f9275454021d00e044e0494ff46573c37007e3efa3233588f1d103ced1823c7e87e7c8\n\n# tcId = 238\n# special case hash\nmsg = 31373938323734363539\nresult = valid\nsig = 303c021c3c212b5a7e65d9af44643bd62fa42a9b9cffe6bdb623e9b9e4337156021c29c8121a12427a324e5d551ff5a83d3c252e32257af2800d080817d2\n\n# tcId = 239\n# special case hash\nmsg = 31313535353737373230\nresult = valid\nsig = 303c021c1630554989fffd0e35f2d9105623d73a543634c48000484c422272ca021c214da487d5e51f73814dff80a08c77bd8a83a9889a1b26a5578ba954\n\n# tcId = 240\n# special case hash\nmsg = 32343332343734363634\nresult = valid\nsig = 303d021c0a4609242f2193b94bc54f49bcf532a576e035cec50e043668574bef021d00aa68bd67624d8812002bbb3a5f530594451372d4ab36896a2929c3df\n\n# tcId = 241\n# special case hash\nmsg = 32343137323832323737\nresult = valid\nsig = 303e021d00ef9ff446e8eef3e948f4129fe8804f81f5b7f116a5383f9e8bc359e4021d00f4c7055bd98f4a7ea49d9574160eac167809f6a78b9dd220958dd0f3\n\n# tcId = 242\n# special case hash\nmsg = 3737383734373731\nresult = valid\nsig = 303d021c1a6c59d85d5b3120b28c0d30bc058a92dc725d8ef450c198cc3ca522021d008b17fefc8ab1ff0bb37a93446453d40f65bc2cb9636b11207f5c90a1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[key.wx = 08bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7]\n[key.wy = 0eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[sha = SHA-224]\n\n# tcId = 243\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 244\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[key.wx = 2646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818]\n[key.wy = 0ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[sha = SHA-224]\n\n# tcId = 245\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[key.wx = 0ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988]\n[key.wy = 0f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[sha = SHA-224]\n\n# tcId = 246\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[key.wx = 092ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13]\n[key.wy = 0e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[sha = SHA-224]\n\n# tcId = 247\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[key.wx = 0b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5]\n[key.wy = 0e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b157315cc1aaeae64eb5b38452884195f", - "dfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[sha = SHA-224]\n\n# tcId = 248\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[key.wx = 087d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1d]\n[key.wy = 0b5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[sha = SHA-224]\n\n# tcId = 249\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[key.wx = 461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f5]\n[key.wy = 18b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[sha = SHA-224]\n\n# tcId = 250\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 251\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[key.wx = 08093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a]\n[key.wy = 10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[sha = SHA-224]\n\n# tcId = 252\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[key.wx = 0c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e]\n[key.wy = 3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[sha = SHA-224]\n\n# tcId = 253\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[key.wx = 0beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed6348]\n[key.wy = 35503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[sha = SHA-224]\n\n# tcId = 254\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[key.wx = 1955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c]\n[key.wy = 0807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[sha = SHA-224]\n\n# tcId = 255\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[key.wx = 5cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf]\n[key.wy = 4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[sha = SHA-224]\n\n# tcId = 256\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[key.wx = 7b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7b]\n[key.wy = 0dee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[sha = SHA-224]\n\n# tcId = 257\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[key.wx = 3f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f7676]\n[key.wy = 7d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[sha = SHA-224]\n\n# tcId = 258\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[key.wx = 0b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3c]\n[key.wy = 0a46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[sha = SHA-224]\n\n# tcId = 259\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 260\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[key.wx = 76e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682]\n[key.wy = 0cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[sha = SHA-224]\n\n# tcId = 261\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e8", - "94caac797f1d14]\n[key.wx = 0b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384]\n[key.wy = 0dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[sha = SHA-224]\n\n# tcId = 262\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[key.wx = 0941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538]\n[key.wy = 0c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[sha = SHA-224]\n\n# tcId = 263\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[key.wx = 43c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb472]\n[key.wy = 09ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[sha = SHA-224]\n\n# tcId = 264\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[key.wx = 0d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f10459]\n[key.wy = 6997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[sha = SHA-224]\n\n# tcId = 265\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[key.wx = 0d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4]\n[key.wy = 713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[sha = SHA-224]\n\n# tcId = 266\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d1be91557d866ad5f2945b14ec3317bc43c1338fd06af6496201cce2\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[key.wx = 3d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff37]\n[key.wy = 7d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[sha = SHA-224]\n\n# tcId = 267\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7ac54a381d9bd3f2698359d6f658b5e4167d15a75b576e82d2efbd37\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[key.wx = 0a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60]\n[key.wy = 0d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[sha = SHA-224]\n\n# tcId = 268\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4fbb063e82402e16fe14edda4d7986b0b88344a1f53b0e2684ee7e31\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[key.wx = 4d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab]\n[key.wy = 106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[sha = SHA-224]\n\n# tcId = 269\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d3be5f50d726f99b8ac44bff876bfe78dd7ae630d227ef0ba87ae39b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[key.wx = 08c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f]\n[key.wy = 5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[sha = SHA-224]\n\n# tcId = 270\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e5f50d726f99b8ac44bff876cbf710e47f9087d1afdfb1dab6d6daf1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[key.wx = 0ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf4]\n[key.wy = 12e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[sha = SHA-224]\n\n# tcId = 271\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00cbea1ae4df337158897ff0ed97ef0b261e681f654be23a7011518ba5\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[key.wx = 3fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992]\n[key.wy = 23c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[sha = SHA-224]\n\n# tcId = 272\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d726f99b8ac44bff876cbf7e28422aa07ec3cb1d9472bd704f4029f0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[key.wx = 0e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc]\n[key.wy = 09a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[keyDer = 304e301006072a8648ce3d02", - "0106052b81040021033a0004e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[sha = SHA-224]\n\n# tcId = 273\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009720b755413cca9506b5d27589e58ac4bed856762ba7ae20ab5b43cc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[key.wx = 3c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e2813]\n[key.wy = 1b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[sha = SHA-224]\n\n# tcId = 274\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2e416eaa8279952a0d6ba4eb13cbfee69cf7bcae437232fbfa5a5d5b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[key.wx = 0c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c]\n[key.wy = 53ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[sha = SHA-224]\n\n# tcId = 275\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c56225ffc3b65fbf142177609db189ab5bd013246f19e11ca5b5a127\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[key.wx = 7c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd5]\n[key.wy = 6e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[sha = SHA-224]\n\n# tcId = 276\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a7dd831f4120170b7f0a76ed26bc4ea9cc9e1a70048c1bb5f0a55437\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[key.wx = 4108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b]\n[key.wy = 46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[sha = SHA-224]\n\n# tcId = 277\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[key.wx = 2f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e3]\n[key.wy = 5a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[sha = SHA-224]\n\n# tcId = 278\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[key.wx = 7dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c7283]\n[key.wy = 4353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[sha = SHA-224]\n\n# tcId = 279\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[key.wx = 0dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd328]\n[key.wy = 082663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[sha = SHA-224]\n\n# tcId = 280\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[key.wx = 0e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed2]\n[key.wy = 55beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[sha = SHA-224]\n\n# tcId = 281\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[key.wx = 0c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca2]\n[key.wy = 42b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[sha = SHA-224]\n\n# tcId = 282\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[key.wx = 08a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f4]\n[key.wy = 33fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[sha = SHA-224]\n\n# tcId = 283\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[key.wx = 1a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c]\n[key.wy = 6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[sha = SHA-224]\n\n# tcId = 284\n", - "# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[key.wx = 2d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb]\n[key.wy = 095bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[sha = SHA-224]\n\n# tcId = 285\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[key.wx = 1161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c]\n[key.wy = 08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[sha = SHA-224]\n\n# tcId = 286\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[key.wx = 084dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af]\n[key.wy = 7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[sha = SHA-224]\n\n# tcId = 287\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]\n[key.wy = 09fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[sha = SHA-224]\n\n# tcId = 288\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]\n[key.wy = 601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[sha = SHA-224]\n\n# tcId = 289\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[key.wx = 0e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142]\n[key.wy = 0f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[sha = SHA-224]\n\n# tcId = 290\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[key.wx = 0b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea69948]\n[key.wy = 4fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[sha = SHA-224]\n\n# tcId = 291\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[key.wx = 286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e220]\n[key.wy = 2e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[sha = SHA-224]\n\n# tcId = 292\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[key.wx = 5599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c31039]\n[key.wy = 3faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[sha = SHA-224]\n\n# tcId = 293\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[key.wx = 5b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb]\n[key.wy = 1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[sha = SHA-224]\n\n# tcId = 294\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[key.wx = 0aced4ea8949e5ae37ef2f5eb5e00675d08e", - "17c34be6677b0f269b672]\n[key.wy = 5e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[sha = SHA-224]\n\n# tcId = 295\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[key.wx = 3e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa1532]\n[key.wy = 4e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[sha = SHA-224]\n\n# tcId = 296\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[key.wx = 24819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13]\n[key.wy = 0b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[sha = SHA-224]\n\n# tcId = 297\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[key.wx = 44cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c81]\n[key.wy = 2b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[sha = SHA-224]\n\n# tcId = 298\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[key.wx = 0dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca0]\n[key.wy = 7a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[sha = SHA-224]\n\n# tcId = 299\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[key.wx = 68e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277]\n[key.wy = 0e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[sha = SHA-224]\n\n# tcId = 300\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[key.wx = 0cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046]\n[key.wy = 0865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[sha = SHA-224]\n\n# tcId = 301\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[key.wx = 0eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed3]\n[key.wy = 59718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[sha = SHA-224]\n\n# tcId = 302\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-224]\n\n# tcId = 303\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 304\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-224]\n\n# tcId = 305\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 306\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-224]\n\n# tcId = 307\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303d021c2770", - "403d42b7b45e553308d1f6a480640b61cac0ae36665d6f14d34e021d0085506b0404265ededf9a89fc7c9c7a55c16c5b0d781f774de8f46fa1\n\n# tcId = 308\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303d021d00b68da722bbba7f6a58417bb5d0dd88f40316fc628b0edfcb0f02b062021c5c742e330b6febadf9a12d58ba2a7199629457ef2e9e4cecd2f09f50\n\n# tcId = 309\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303c021c01ec1ff15c8a55d697a5424d674753f82f711593828368d2fbb41a17021c20d9089db7baf46b8135e17e01645e732d22d5adb20e3772da740eee\n\n# tcId = 310\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303c021c3e46e9ba4dc089ff30fa8c0209c31b11ff49dbeec090f9f53c000c75021c6f2e3b36369416602bca83206809ed898fcf158a56c25a5474143f68\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-224]\n\n# tcId = 311\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c77b38da37079d27b837613ac3e8248d66eabd5d637076c8e62c7991e021d00d40cd9f81efc52db4429c0c1af7c1d8a22b6c7babbe7fbd8b5b3f02f\n\n# tcId = 312\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008c03b32c166c0c8b99d7f876acd109447efb13f6b82945e78d51a269021c657568f1a0a8bd7df5ffa43097ebb2b64435c8e3335bcaafc63f9ed5\n\n# tcId = 313\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00d199a375253d30f1d2b4493542e9934f9f1f8b0680117679f5bc4ad2021c11419ddbf02c8ad5f518f8dac33f86a85e777af51a034132e2767a6d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-224]\n\n# tcId = 314\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008ff82699e2e82870be9cfdd8a408bb34f8f38a83a4ac8370f18f2bc8021c7e5008fab6a0d4159200077ef9918dad6592cd8359838852c636ac05\n\n# tcId = 315\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c3f3b60b529ae0f950c517264adf2e481616bc47416742d5103589660021d00f731ebe98e58384b3a64b4696d4cc9619828ad51d7c39980749709a6\n\n# tcId = 316\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00dc11ffdc6b78754a335f168c4033916a2158d125a3f4fed9dc736661021c6dd84364717d9f4b0790f2b282f9245ecb316874eac025600397f109\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-224]\n\n# tcId = 317\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00a59b25b786d55f26b04dfe90ee02a6bde64ed6e431dc9fbdc3ab360e021d00fc14b5ad20f39da9900e35437936c8626fccf6632e7a3d9e587e3311\n\n# tcId = 318\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2eda1f96c1a6e3ad8a3321ce82cbb13a5b935b501abf6c06f7fd2b3f021d00e81050c3e5f53a3c7b9d0bdb9ed92a326dfeac44791ba1abe4d6e973\n\n# tcId = 319\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c60f5e093fda08fc14ac99d820a18ad1370c58150bea0aca24fc6db9d021d00c2220a0ebbf4896e68fdb5bd824f88291c1c862b916f9c4af87f8f5f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-224]\n\n# tcId = 320\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2ead37846a5e36a490b75140bdc7b636c6e9f6d8f980f6fadb08f769021d00e1fe130ae1798c196d7be62c7a5ddb3168cf4b8d48b6b6b4dc94ab3b\n\n# tcId = 321\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a8a4c9416d72c860573d073281cb08c86ad65313f06b15a329e82eb2021c5a6edd2f0816b7263d915d72c67d50a854e3abee5cde1b679a0cef09\n\n# tcId = 322\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c576bb86c517bfecdc930a4c8501725548d425afbb96d93f5c1e2a0e1021c77248c5ecd620c431438c50e6bee6858091b54a87f8548ae35c21027\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-224]\n\n# tcId = 323\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c34e41cba628fd8787ba1a528f6015d2cae015c1c9a866e08a7133801021d0083d422ffdd99cc3c6d7096ef927f0b11988d1824e6e93840ff666ccd\n\n# tcId = 324\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c2558a42e79689244bccd5e855f6a1e42b4ff726873f30b532b89ef53021c07f9bd947785187175d848b6e2d79f7ab3bbc1087b42590b0cfb256a\n\n# tcId = 325\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00d5fe7dd5fb4fd1ea5ce66c0824f53f96ce47fd9b6c63b4d57827fd17021d00bce5bc3af705afaacb81bfa6d552d6198962fece9fba41546c602ddc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-224]\n\n# tcId = 326\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008c1da2f07cdcbce4db8067b863468cfc728df52980229028689e57b6021c32175c1390a4b2cab6359bab9f854957d4fd7976c9c6d920c871c051\n\n# tcId = 327\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e46d4f11b86b5a12f6fe781d1f934ef2b30e78f6f9cc86a9996e20c0021d008351974b965526034a0ccef0e7d3bc13d91798151488c91533143f7b\n\n# tcId = 328\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c305ccf0b5d0cf33dc745bb7c7964c233f6cfd8892a1c1ae9f50b2f3f021c785f6e85f5e652587c6e15d0c45c427278cf65bb1429a57d8826ca39\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ", - "ECPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-224]\n\n# tcId = 329\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0e4fde0ac8d37536505f7b8bdc2d22c5c334b064ac5ed27bea9c179e021d00c4d6bf829dd547000d6f70b9ad9e9c1503bebcf1d95c2608942ca19d\n\n# tcId = 330\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00818afcaf491da9d08a7cc29318d5e85dce568dcca7018059f44e9b7e021d00bf32a233d5fc6ed8e2d9270b1bdad4bbd2a0f2c293d289bd91ffbcf3\n\n# tcId = 331\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c0e05ed675c673e5e70a4fdd5a47b114c5d542d4f6d7a367597d713ea021c26d70d65c48430373363987810bdcc556e02718eab214403ae008db4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-224]\n\n# tcId = 332\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ab7a19eecf63e9668278963b65236b2768e57cae0e268cb86a0ddda1021d008829f5d3a3394f9467ba62e66ef1768e3e54f93ed23ec962bc443c2e\n\n# tcId = 333\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c17111a77cf79bead456ed86a7d8a935531440281eb8b15a885e341c0021d00fdc3958d04f037b1d4bb2cee307b5201be062e0d4e089df1c1917668\n\n# tcId = 334\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00acafa1e33345eeba0c338c2204b4cd8ba21de7ec3e1213317038e968021c0b42fbbaeda98a35da0de4c79546f3a0f7d9dec275d2cd671f93c874\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-224]\n\n# tcId = 335\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a3fe71a2a56f554e98fd10a8098c2a543c98bc6b3602ef39f2412308021c5d1d68f9a870ef2bc87484b3386549fae95811ab72bc0e3a514720da\n\n# tcId = 336\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c132f7625704756c13f2bfa449e60952f836f4904660b5b1da07e5a9f021d0082b4abafc40e8fd19b0c967f02fff152737ce01153658df445c4d7b7\n\n# tcId = 337\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00f36a8347c6fe0397a1161a364cbc4bdfb4d8b7894cbaa6edc55a4ff7021d009c9c90515da5e602d62e99f48eac414e913dd0b7cbf680c1a5399952\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-224]\n\n# tcId = 338\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2125ecc08e52e9e39e590117de2145bd879626cb87180e52e9d3ce03021d008f7e838d0e8fb80005fe3c72fca1b7cc08ed321a34487896b0c90b04\n\n# tcId = 339\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e485747ac2f3d045e010cdadab4fd5dbd5556c0008445fb73e07cd90021d00e2133a7906aeac504852e09e6d057f29ab21368cfc4e2394be565e68\n\n# tcId = 340\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a4de0d931ddab90e667ebc0ad800ce49e971c60543abdc46cefff926021c550816170bd87593b9fb8ad5ed9ab4ddb12403ff6fe032252833bac4\n\n", +static const char *kData99[] = { + "# Imported from Wycheproof's ecdsa_secp224r1_sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 00eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 00eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-224]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf38788e1b7770b18fd1aa6a26d7c6dc\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30813d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d028070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f0000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042498177303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412500303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30422221498177021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304122202500021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045221e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0004deadbeef021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2222498177021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a22212500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a221f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045aa00bb00cd00303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043aa02aabb303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30452224aa00bb00cd00021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig", + " = 30432222aa02aabb021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2225aa00bb00cd00021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2223aa02aabb021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30412280021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30412280031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3041300102303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 56\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636100\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636105000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f3000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463613000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3040021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361bf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 301e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303e02811c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02811d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f0282001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0282001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021d70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021e00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 75\n#", + " wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30420285010000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285010000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3046028901000000000000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3046021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028901000000000000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304102847fffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02847fffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410284ffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0284ffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30420285ffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285ffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30450288ffffffffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0288ffffffffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d02ff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02ff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302002021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e000070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f000000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210281021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30210500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d011c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d041c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303dff1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a011d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a041d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480aff1d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210200021d0", + "0d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c72049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d02d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a488a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463e1\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a48021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021eff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3022090180021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0170049af31f8348673d56cece2b26fc2a84bbe2e2a2e84aeced767247021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff70049af31f8348673d56cece2b28cee4c34a02667b2df86234be1dcd021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c8ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d008ffb650ce07cb798c2a93131d4d7311b3cb5fd9984d2079dcb41e233021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dfe8ffb650ce07cb798c2a93131d4d903d57b441d1d5d17b51312898db9021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0170049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d008ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c5b4b7a5fa6fca97e8a82091e08d9e\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c78771e4888f4e702e5595d9283924\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dff2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dfe2840bf24f6f66be287066b7cbf3a4b485a059035681757df6e1f7262\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature wit", + "h special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\nflags = EdgeCase\n\n# tcId = 196\n#", + " Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3137353738\nresult = valid\nsig = 303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c3116e1a38e4ab2008eca032fb2d185e5c21a232eaf4507ae56177fd2\n\n# tcId = 231\n# special case hash\nmsg = 32323534363238393834\nresult = valid\nsig = 303d021d008ce2afe20b684576fdd91b4b34168c9c011996af5b0eb85fa929f381021c662af5ca651bffbc623c3a3b372779bd09e1948cd19188f5339a979d\n\n# tcId = 232\n# special case hash\nmsg = 31383237383738363130\nresult = valid\nsig = 303e021d00da573cf73aed174710c232155735248f8ebef696374647527da52258021d00b251856b66a83c32bf0b7b81a01f1db4507e622125f301bd832a5ccc\n\n# tcId = 233\n# special case hash\nmsg = 31353138383631373039\nresult = valid\nsig = 303e021d00c368da86582b2c82b696b2f7c79027968f3fd25cbba9688cdc67b17a021d00aba8e3c2ff1af9bb9c66ca88a3825a19ce17206e7a658ff47025891e\n\n# tcId = 234\n# special case hash\nmsg = 32313239323333343232\nresult = valid\nsig = 303d021d00ffcefcb57190d0b87efb789fb53407fd2c65c5ae3551da3eccf8ddd5021c05c89b41238f1e1def8fbe8d4afebf20be077e82972f91297487e118\n\n# tcId = 235\n# special case hash\nmsg = 31323231393739303539\nresult = valid\nsig = 303c021c2b98c67ebf6597b08bc7f1b73ff8662cf125e9700ec973ece9c6", + "ff48021c2e3f72a8f76e12c8cdf4487e0956c1ef4578e1da4d29d8db824d415b\n\n# tcId = 236\n# special case hash\nmsg = 32333032353637363131\nresult = valid\nsig = 303d021c5794d70440f166904d24d0b910cd127c63a9eddca45a4d9032db47e8021d008ba5d290834d9a0963122d928da902f7b03467396072180bb1801b43\n\n# tcId = 237\n# special case hash\nmsg = 31313035383638343732\nresult = valid\nsig = 303e021d00c29c70b0b21782d1c727f4907aef5641b6d6c6e7b2a1ebfa57794223021d00aac2d3a02592f298dd3198e388425ec7a91d7e6be48248a64773614c\n\n# tcId = 238\n# special case hash\nmsg = 31343636363134343432\nresult = valid\nsig = 303d021c5c3ef3778c811e69ef0b0e370e45ec0d7eb88505c3e8ffb8c50b9993021d00e06b5c6e47dc4da9e64fd21bc3e1da13cf7c264fa64ccb89da87387c\n\n# tcId = 239\n# special case hash\nmsg = 343431393536343230\nresult = valid\nsig = 303e021d00ed8f586563232cf15ebd014bd4f99727e337cfe4ce48694fe6748ec2021d00fff779a3eca9513522908e252a2b4aab2060608e6cd2d4f1b8c696cd\n\n# tcId = 240\n# special case hash\nmsg = 31393639343836303634\nresult = valid\nsig = 303c021c64c084f6b775bbf7915c1964a68b0259629328598f13557872867830021c2a6f3b289d130ec3d99e4caaf601497895a069c1a5a75b559ad28444\n\n# tcId = 241\n# special case hash\nmsg = 32323335363732383833\nresult = valid\nsig = 303d021c2b514e9b0e0eb68adc01915abbee9fa21f3034be5581dedaa6b15982021d00b8f71c5fdc68d698716bfc623b278216c0fcc0298497fc9c03db44e9\n\n# tcId = 242\n# special case hash\nmsg = 32323537383433373033\nresult = valid\nsig = 303e021d00e4103f4a8a814485b6b406fe8dd72206bad6a50e7126bc655c3d2285021d009bcb99693284cac26e6641a861dbec24f9cc5dd7bb535339d09ac984\n\n# tcId = 243\n# special case hash\nmsg = 393434353030393436\nresult = valid\nsig = 303d021d009edfb833446ec8b6fc84eea34ee40a85b732e5c99da8abc8bafcc515021c5052b40f9d407ae90003299cabe3e1a587b0558127cafb31de6b2638\n\n# tcId = 244\n# special case hash\nmsg = 31363837373839343130\nresult = valid\nsig = 303d021d00ad2647c8ff377798a6aeaed436d30c7b25fb52428829ce6424dd34e8021c28f58671d77c86da302418c51e5ab86d137ba6ef4389722bc79b8751\n\n# tcId = 245\n# special case hash\nmsg = 333933323631323238\nresult = valid\nsig = 303c021c5dfc6fad385bdb24b2b70a64fd4253405c0028bb36f4793aa3bd31fe021c1c210b74924171378992b03bb1bd78c5cfcfc879d2e5c736d35516c3\n\n# tcId = 246\n# special case hash\nmsg = 31303733353731303935\nresult = valid\nsig = 303d021c766bef46229695e6829dd12cd558369ec34519ba4a72dcaf6f73f7b0021d00fc015ccdd1e943b910101607d81ff1398ca6a4d70c25832b02b221e4\n\n# tcId = 247\n# special case hash\nmsg = 3630383837343734\nresult = valid\nsig = 303c021c120055f90ad1290c4c5fc5faf69b215139182c770d2b55e95712442f021c01ac47f7446543d4003b039d9f54daa9d0799f98291a32df4fcd472a\n\n# tcId = 248\n# special case hash\nmsg = 31313932353639393632\nresult = valid\nsig = 303d021d00f480591f6f40a25b37a035fd91954145ec342e593d09e142f25da408021c5c6ba44ff52f52c51490743d9b650916be58d06d7c1fd99dfa2eab58\n\n# tcId = 249\n# special case hash\nmsg = 3930303736303933\nresult = valid\nsig = 303c021c57daddb0cb6af939b1ea1aaf4bc72e56150c0c46a581827193e65d17021c3bc37bde4e60b789ba86a054d37f1191e0814926c1a0100168d16c17\n\n# tcId = 250\n# special case hash\nmsg = 31363032383336313337\nresult = valid\nsig = 303c021c3a74102bd1fc617018efc4fbc042e719a81b55830aac1f1dcdedec65021c4bb9fe90015a45f31c8c95dda24f54fcdb64682c13f68d4da3d1abe0\n\n# tcId = 251\n# special case hash\nmsg = 32303830323435363734\nresult = valid\nsig = 303e021d00e3b6bb1b5beed048e0177e3e310fa14eb923a1e3274c0946f9275454021d00e044e0494ff46573c37007e3efa3233588f1d103ced1823c7e87e7c8\n\n# tcId = 252\n# special case hash\nmsg = 31373938323734363539\nresult = valid\nsig = 303c021c3c212b5a7e65d9af44643bd62fa42a9b9cffe6bdb623e9b9e4337156021c29c8121a12427a324e5d551ff5a83d3c252e32257af2800d080817d2\n\n# tcId = 253\n# special case hash\nmsg = 31313535353737373230\nresult = valid\nsig = 303c021c1630554989fffd0e35f2d9105623d73a543634c48000484c422272ca021c214da487d5e51f73814dff80a08c77bd8a83a9889a1b26a5578ba954\n\n# tcId = 254\n# special case hash\nmsg = 32343332343734363634\nresult = valid\nsig = 303d021c0a4609242f2193b94bc54f49bcf532a576e035cec50e043668574bef021d00aa68bd67624d8812002bbb3a5f530594451372d4ab36896a2929c3df\n\n# tcId = 255\n# special case hash\nmsg = 32343137323832323737\nresult = valid\nsig = 303e021d00ef9ff446e8eef3e948f4129fe8804f81f5b7f116a5383f9e8bc359e4021d00f4c7055bd98f4a7ea49d9574160eac167809f6a78b9dd220958dd0f3\n\n# tcId = 256\n# special case hash\nmsg = 3737383734373731\nresult = valid\nsig = 303d021c1a6c59d85d5b3120b28c0d30bc058a92dc725d8ef450c198cc3ca522021d008b17fefc8ab1ff0bb37a93446453d40f65bc2cb9636b11207f5c90a1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[key.wx = 008bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7]\n[key.wy = 00eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[sha = SHA-224]\n\n# tcId = 257\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 258\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[key.wx = 2646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818]\n[key.wy = 00ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[sha = SHA-224]\n\n# tcId = 259\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[key.wx = 00ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988]\n[key.wy = 00f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[sha = SHA-224]\n\n# tcId = 260\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[key.wx = 0092ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13]\n[key.wy = 00e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[sha = SHA-224]\n\n# tcId = 261\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[key.wx = 00b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5]\n[key.wy = 00e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[sha = SHA-224]\n\n# tcId = 262\n# small r and s\nmsg = 313233343030\nresult = valid\nsi", + "g = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[key.wx = 0087d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1d]\n[key.wy = 00b5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[sha = SHA-224]\n\n# tcId = 263\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[key.wx = 461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f5]\n[key.wy = 18b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[sha = SHA-224]\n\n# tcId = 264\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 265\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[key.wx = 008093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a]\n[key.wy = 10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[sha = SHA-224]\n\n# tcId = 266\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[key.wx = 00c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e]\n[key.wy = 3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[sha = SHA-224]\n\n# tcId = 267\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[key.wx = 00beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed6348]\n[key.wy = 35503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[sha = SHA-224]\n\n# tcId = 268\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[key.wx = 1955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c]\n[key.wy = 00807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[sha = SHA-224]\n\n# tcId = 269\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[key.wx = 5cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf]\n[key.wy = 4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[sha = SHA-224]\n\n# tcId = 270\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[key.wx = 7b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7b]\n[key.wy = 00dee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[sha = SHA-224]\n\n# tcId = 271\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[key.wx = 03f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f7676]\n[key.wy = 7d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[sha = SHA-224]\n\n# tcId = 272\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[key.wx = 00b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3c]\n[key.wy = 00a46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[sha = SHA-224]\n\n# tcId = 273\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 274\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[key.wx = 76e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682]\n[key.wy = 00cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[sha = SHA-224]\n\n# tcId = 275\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0451839e545c872f4a381f278ed5b4c24cf38aac77b02953405618bf27394e41226594c499db6a7dd7a6901bda5e6474b1ffa10a6567210010]\n[key.wx = 51839e545c872f4a381f278ed5b4c24cf38aac77b02953405618bf27]\n[key.wy = 394e41226594c499db6a7dd7a6901bda5e6474b1ffa10a6567210010]\n", + "[keyDer = 304e301006072a8648ce3d020106052b81040021033a000451839e545c872f4a381f278ed5b4c24cf38aac77b02953405618bf27394e41226594c499db6a7dd7a6901bda5e6474b1ffa10a6567210010]\n[sha = SHA-224]\n\n# tcId = 276\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a3ec90053d1e100815d1becfe96c9b3646e52df794f6b03b766a7574c3b7e17e73acc8cefe71b6eb13d4f1c94c57e58bee43c69d9d41a964]\n[key.wx = 00a3ec90053d1e100815d1becfe96c9b3646e52df794f6b03b766a7574]\n[key.wy = 00c3b7e17e73acc8cefe71b6eb13d4f1c94c57e58bee43c69d9d41a964]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a3ec90053d1e100815d1becfe96c9b3646e52df794f6b03b766a7574c3b7e17e73acc8cefe71b6eb13d4f1c94c57e58bee43c69d9d41a964]\n[sha = SHA-224]\n\n# tcId = 277\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[key.wx = 00b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384]\n[key.wy = 00dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[sha = SHA-224]\n\n# tcId = 278\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[key.wx = 00941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538]\n[key.wy = 00c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[sha = SHA-224]\n\n# tcId = 279\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[key.wx = 43c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb472]\n[key.wy = 009ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[sha = SHA-224]\n\n# tcId = 280\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[key.wx = 00d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f10459]\n[key.wy = 6997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[sha = SHA-224]\n\n# tcId = 281\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[key.wx = 00d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4]\n[key.wy = 713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[sha = SHA-224]\n\n# tcId = 282\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d1be91557d866ad5f2945b14ec3317bc43c1338fd06af6496201cce2\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[key.wx = 3d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff37]\n[key.wy = 7d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[sha = SHA-224]\n\n# tcId = 283\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7ac54a381d9bd3f2698359d6f658b5e4167d15a75b576e82d2efbd37\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[key.wx = 00a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60]\n[key.wy = 00d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[sha = SHA-224]\n\n# tcId = 284\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4fbb063e82402e16fe14edda4d7986b0b88344a1f53b0e2684ee7e31\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[key.wx = 4d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab]\n[key.wy = 106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[sha = SHA-224]\n\n# tcId = 285\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d3be5f50d726f99b8ac44bff876bfe78dd7ae630d227ef0ba87ae39b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[key.wx = 008c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f]\n[key.wy = 5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[sha = SHA-224]\n\n# tcId = 286\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e5f50d726f99b8ac44bff876cbf710e47f9087d1afdfb1dab6d6daf1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[key.wx = 00ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf4]\n[key.wy = 12e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a9", + "32f307ee78efdc136e9a3df6313100bf4f]\n[sha = SHA-224]\n\n# tcId = 287\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00cbea1ae4df337158897ff0ed97ef0b261e681f654be23a7011518ba5\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[key.wx = 3fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992]\n[key.wy = 023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[sha = SHA-224]\n\n# tcId = 288\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d726f99b8ac44bff876cbf7e28422aa07ec3cb1d9472bd704f4029f0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[key.wx = 00e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc]\n[key.wy = 009a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[sha = SHA-224]\n\n# tcId = 289\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009720b755413cca9506b5d27589e58ac4bed856762ba7ae20ab5b43cc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[key.wx = 3c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e2813]\n[key.wy = 1b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[sha = SHA-224]\n\n# tcId = 290\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2e416eaa8279952a0d6ba4eb13cbfee69cf7bcae437232fbfa5a5d5b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[key.wx = 00c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c]\n[key.wy = 053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[sha = SHA-224]\n\n# tcId = 291\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c56225ffc3b65fbf142177609db189ab5bd013246f19e11ca5b5a127\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[key.wx = 7c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd5]\n[key.wy = 6e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[sha = SHA-224]\n\n# tcId = 292\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a7dd831f4120170b7f0a76ed26bc4ea9cc9e1a70048c1bb5f0a55437\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[key.wx = 4108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b]\n[key.wy = 46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[sha = SHA-224]\n\n# tcId = 293\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[key.wx = 2f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e3]\n[key.wy = 5a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[sha = SHA-224]\n\n# tcId = 294\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[key.wx = 7dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c7283]\n[key.wy = 4353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[sha = SHA-224]\n\n# tcId = 295\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[key.wx = 00dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd328]\n[key.wy = 0082663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[sha = SHA-224]\n\n# tcId = 296\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[key.wx = 00e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed2]\n[key.wy = 55beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[sha = SHA-224]\n\n# tcId = 297\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[key.wx = 00c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca2]\n[key.wy = 42b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[sha = SHA-224]\n\n# tcId = 298\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffff", + "ffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[key.wx = 08a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f4]\n[key.wy = 33fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[sha = SHA-224]\n\n# tcId = 299\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[key.wx = 1a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c]\n[key.wy = 6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[sha = SHA-224]\n\n# tcId = 300\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[key.wx = 2d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb]\n[key.wy = 0095bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[sha = SHA-224]\n\n# tcId = 301\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[key.wx = 1161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c]\n[key.wy = 08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[sha = SHA-224]\n\n# tcId = 302\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[key.wx = 0084dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af]\n[key.wy = 7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[sha = SHA-224]\n\n# tcId = 303\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]\n[key.wy = 009fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[sha = SHA-224]\n\n# tcId = 304\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]\n[key.wy = 601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[sha = SHA-224]\n\n# tcId = 305\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[key.wx = 00e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142]\n[key.wy = 00f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[sha = SHA-224]\n\n# tcId = 306\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[key.wx = 00b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea69948]\n[key.wy = 4fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[sha = SHA-224]\n\n# tcId = 307\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[key.wx = 286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e220]\n[key.wy = 2e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[sha = SHA-224]\n\n# tcId = 308\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[key.wx = 5599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c31039]\n[key.wy = 3faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[sha = SHA-224]\n\n# tcId = 309\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1", + "a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[key.wx = 5b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb]\n[key.wy = 1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[sha = SHA-224]\n\n# tcId = 310\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[key.wx = 00aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b672]\n[key.wy = 5e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[sha = SHA-224]\n\n# tcId = 311\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[key.wx = 3e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa1532]\n[key.wy = 4e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[sha = SHA-224]\n\n# tcId = 312\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[key.wx = 24819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13]\n[key.wy = 00b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[sha = SHA-224]\n\n# tcId = 313\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[key.wx = 44cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c81]\n[key.wy = 2b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[sha = SHA-224]\n\n# tcId = 314\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[key.wx = 00dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca0]\n[key.wy = 7a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[sha = SHA-224]\n\n# tcId = 315\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[key.wx = 68e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277]\n[key.wy = 00e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[sha = SHA-224]\n\n# tcId = 316\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[key.wx = 00cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046]\n[key.wy = 00865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[sha = SHA-224]\n\n# tcId = 317\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[key.wx = 00eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed3]\n[key.wy = 59718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[sha = SHA-224]\n\n# tcId = 318\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 00bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-224]\n\n# tcId = 319\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 320\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5e", + "a5f8b89bbb2a7e667aff81cd]\n[sha = SHA-224]\n\n# tcId = 321\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 322\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 00ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-224]\n\n# tcId = 323\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303d021c2770403d42b7b45e553308d1f6a480640b61cac0ae36665d6f14d34e021d0085506b0404265ededf9a89fc7c9c7a55c16c5b0d781f774de8f46fa1\n\n# tcId = 324\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303d021d00b68da722bbba7f6a58417bb5d0dd88f40316fc628b0edfcb0f02b062021c5c742e330b6febadf9a12d58ba2a7199629457ef2e9e4cecd2f09f50\n\n# tcId = 325\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303c021c01ec1ff15c8a55d697a5424d674753f82f711593828368d2fbb41a17021c20d9089db7baf46b8135e17e01645e732d22d5adb20e3772da740eee\n\n# tcId = 326\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303c021c3e46e9ba4dc089ff30fa8c0209c31b11ff49dbeec090f9f53c000c75021c6f2e3b36369416602bca83206809ed898fcf158a56c25a5474143f68\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 00aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 008a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-224]\n\n# tcId = 327\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c77b38da37079d27b837613ac3e8248d66eabd5d637076c8e62c7991e021d00d40cd9f81efc52db4429c0c1af7c1d8a22b6c7babbe7fbd8b5b3f02f\n\n# tcId = 328\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008c03b32c166c0c8b99d7f876acd109447efb13f6b82945e78d51a269021c657568f1a0a8bd7df5ffa43097ebb2b64435c8e3335bcaafc63f9ed5\n\n# tcId = 329\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00d199a375253d30f1d2b4493542e9934f9f1f8b0680117679f5bc4ad2021c11419ddbf02c8ad5f518f8dac33f86a85e777af51a034132e2767a6d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 00bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-224]\n\n# tcId = 330\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008ff82699e2e82870be9cfdd8a408bb34f8f38a83a4ac8370f18f2bc8021c7e5008fab6a0d4159200077ef9918dad6592cd8359838852c636ac05\n\n# tcId = 331\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c3f3b60b529ae0f950c517264adf2e481616bc47416742d5103589660021d00f731ebe98e58384b3a64b4696d4cc9619828ad51d7c39980749709a6\n\n# tcId = 332\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00dc11ffdc6b78754a335f168c4033916a2158d125a3f4fed9dc736661021c6dd84364717d9f4b0790f2b282f9245ecb316874eac025600397f109\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 00eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-224]\n\n# tcId = 333\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00a59b25b786d55f26b04dfe90ee02a6bde64ed6e431dc9fbdc3ab360e021d00fc14b5ad20f39da9900e35437936c8626fccf6632e7a3d9e587e3311\n\n# tcId = 334\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2eda1f96c1a6e3ad8a3321ce82cbb13a5b935b501abf6c06f7fd2b3f021d00e81050c3e5f53a3c7b9d0bdb9ed92a326dfeac44791ba1abe4d6e973\n\n# tcId = 335\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c60f5e093fda08fc14ac99d820a18ad1370c58150bea0aca24fc6db9d021d00c2220a0ebbf4896e68fdb5bd824f88291c1c862b916f9c4af87f8f5f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 00ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-224]\n\n# tcId = 336\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2ead37846a5e36a490b75140bdc7b636c6e9f6d8f980f6fadb08f769021d00e1fe130ae1798c196d7be62c7a5ddb3168cf4b8d48b6b6b4dc94ab3b\n\n# tcId = 337\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a8a4c9416d72c860573d073281cb08c86ad65313f06b15a329e82eb2021c5a6edd2f0816b7263d915d72c67d50a854e3abee5cde1b679a0cef09\n\n# tcId = 338\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c576bb86c517bfecdc930a4c8501725548d425afbb96d93f5c1e2a0e1021c77248c5ecd620c431438c50e6bee6858091b54a87f8548ae35c21027\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-224]\n\n# tcId = 339\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c34e41cba628fd8787ba1a528f6015d2cae015c1c9a866e08a7133801021d0083d422ffdd99cc3c6d7096ef927f0b11988d1824e6e93840ff666ccd\n\n# tcId = 340\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c2558a42e79689244bccd5e855f6a1e42b4ff726873f30b532b89ef53021c07f9bd947785187175d848b6e2d79f7ab3bbc1087b42590b0cfb256a\n\n# tcId = 341\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00d5fe7dd5fb4fd1ea5ce66c0824f53f96ce47fd9b6c63b4d57827fd17021d00bce5bc3af705afaacb81bfa6d552d6198962fece9fba41546c602ddc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a9", + "92b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 00ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-224]\n\n# tcId = 342\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008c1da2f07cdcbce4db8067b863468cfc728df52980229028689e57b6021c32175c1390a4b2cab6359bab9f854957d4fd7976c9c6d920c871c051\n\n# tcId = 343\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e46d4f11b86b5a12f6fe781d1f934ef2b30e78f6f9cc86a9996e20c0021d008351974b965526034a0ccef0e7d3bc13d91798151488c91533143f7b\n\n# tcId = 344\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c305ccf0b5d0cf33dc745bb7c7964c233f6cfd8892a1c1ae9f50b2f3f021c785f6e85f5e652587c6e15d0c45c427278cf65bb1429a57d8826ca39\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 00f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 00de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-224]\n\n# tcId = 345\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0e4fde0ac8d37536505f7b8bdc2d22c5c334b064ac5ed27bea9c179e021d00c4d6bf829dd547000d6f70b9ad9e9c1503bebcf1d95c2608942ca19d\n\n# tcId = 346\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00818afcaf491da9d08a7cc29318d5e85dce568dcca7018059f44e9b7e021d00bf32a233d5fc6ed8e2d9270b1bdad4bbd2a0f2c293d289bd91ffbcf3\n\n# tcId = 347\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c0e05ed675c673e5e70a4fdd5a47b114c5d542d4f6d7a367597d713ea021c26d70d65c48430373363987810bdcc556e02718eab214403ae008db4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 00ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 0086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-224]\n\n# tcId = 348\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ab7a19eecf63e9668278963b65236b2768e57cae0e268cb86a0ddda1021d008829f5d3a3394f9467ba62e66ef1768e3e54f93ed23ec962bc443c2e\n\n# tcId = 349\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c17111a77cf79bead456ed86a7d8a935531440281eb8b15a885e341c0021d00fdc3958d04f037b1d4bb2cee307b5201be062e0d4e089df1c1917668\n\n# tcId = 350\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00acafa1e33345eeba0c338c2204b4cd8ba21de7ec3e1213317038e968021c0b42fbbaeda98a35da0de4c79546f3a0f7d9dec275d2cd671f93c874\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-224]\n\n# tcId = 351\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a3fe71a2a56f554e98fd10a8098c2a543c98bc6b3602ef39f2412308021c5d1d68f9a870ef2bc87484b3386549fae95811ab72bc0e3a514720da\n\n# tcId = 352\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c132f7625704756c13f2bfa449e60952f836f4904660b5b1da07e5a9f021d0082b4abafc40e8fd19b0c967f02fff152737ce01153658df445c4d7b7\n\n# tcId = 353\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00f36a8347c6fe0397a1161a364cbc4bdfb4d8b7894cbaa6edc55a4ff7021d009c9c90515da5e602d62e99f48eac414e913dd0b7cbf680c1a5399952\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 00fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-224]\n\n# tcId = 354\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2125ecc08e52e9e39e590117de2145bd879626cb87180e52e9d3ce03021d008f7e838d0e8fb80005fe3c72fca1b7cc08ed321a34487896b0c90b04\n\n# tcId = 355\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e485747ac2f3d045e010cdadab4fd5dbd5556c0008445fb73e07cd90021d00e2133a7906aeac504852e09e6d057f29ab21368cfc4e2394be565e68\n\n# tcId = 356\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a4de0d931ddab90e667ebc0ad800ce49e971c60543abdc46cefff926021c550816170bd87593b9fb8ad5ed9ab4ddb12403ff6fe032252833bac4\n\n", }; -static const size_t kLen67 = 124562; +static const size_t kLen100 = 118159; -static const char *kData67[] = { - "# Imported from Wycheproof's ecdsa_secp224r1_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-256]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3c1bab8864e5e03a5011eeba8150bc\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 3\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30813c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303d02811c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402811c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303e0282001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040282001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021d3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 15\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30410285010000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285010000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 18\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3045028901000000000000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3045021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04028901000000000000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 21\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304002847fffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402847fffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 24\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30400284ffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040284ffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 27\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410285ffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285ffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 30\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5d", - "d98d1756a1dad981\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30440288ffffffffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040288ffffffffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 33\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303c02ff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402ff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 36\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303c02803ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040280617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 39\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 40\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e0000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 43\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 44\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500\n\n# tcId = 45\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041498177303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30402500303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412221498177021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304022202500021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3044221e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040004deadbeef021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042221498177021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0422202500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04221e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef\n\n# tcId = 54\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3044aa00bb00cd00303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3042aa02aabb303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30442224aa00bb00cd00021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30422222aa02aabb021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042224aa00bb00cd00021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3042021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042222aa02aabb021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 60\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 61\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30402280021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 64\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30402280031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 67\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 68\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 31", - "3233343030\nresult = invalid\nsig = 323c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 73\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 74\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3040300102303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 75\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 77\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 78\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98100\n\n# tcId = 79\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98105000000\n\n# tcId = 80\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981060811220000\n\n# tcId = 81\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000fe02beef\n\n# tcId = 82\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810002beef\n\n# tcId = 83\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e3000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 84\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9813000\n\n# tcId = 85\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 86\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 301e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04\n\n# tcId = 87\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305a021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 88\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 89\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f02021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402\n\n# tcId = 91\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 93\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e00003ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e0000617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 96\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500\n\n# tcId = 98\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30200281021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040281\n\n# tcId = 100\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30200500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500\n\n# tcId = 102\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c011c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c041c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303cff1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04011c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\n", - "sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04041c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04ff1c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 112\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30200200021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040200\n\n# tcId = 114\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 116\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c38de5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c637d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 118\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a84021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad901\n\n# tcId = 120\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021dff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 126\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021090180021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04090180\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021020100021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04020100\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d013ade5c0624a5677ed7b6450d941fd283098d8a004fc718e2e7e6b441021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021dff3ade5c0624a5677ed7b6450d9421a53d481ba984280cc6582f2e5fc7021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021cc521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c521a3f9db5a98812849baf26bde5ac2b7e4567bd7f339a7d0d1a039021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021dfec521a3f9db5a98812849baf26be02d7cf67275ffb038e71d18194bbf021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d013ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2119a390cfa9bed6a409bfe3703be\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c3e454779b1a1fc5afee11457eaf44\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c9e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dfe9e82950ebe102f37ff3645cc7d3dee65c6f305641295bf6401c8fc42\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f\n\n# tcId = 143\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffff", - "ffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03", - "e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\n# Edge case values such as r=1 and s=0 ca", - "n lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Edge case for Shamir multiplication\nmsg = 3839313737\nresult = valid\nsig = 303d021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021d0096ad91f02a3bc40c118abd416ed5c6203ed7ced0330860d7b88c10ab\n\n# tcId = 216\n# special case hash\nmsg = 343236343739373234\nresult = valid\nsig = 303d021d00bcca2365cebdcf7c6cda1ee7b27c7fe79e371537b01869c715eabb1e021c3ae76f9bbfe519d778816dc8fe10635ee7576b6b7916f0c21df320c0\n\n# tcId = 217\n# special case hash\nmsg = 37313338363834383931\nresult = valid\nsig = 303c021c59a9f83289ef6995d5d5592e80ab4f6a81123f69d385d3cfb152faf2021c3a97d5be190d5819241067e2be56375ab84155baab8fc7aeb7f8cb3d\n\n# tcId = 218\n# special case hash\nmsg = 3130333539333331363638\nresult = valid\nsig = 303e021d00b54bac9be2beaaa09456a3968a1faf27c9d96bd5f6738fec6066d31e021d00d72c22129344a96d52fda60b264cf5e6fae45fd2c1b1b78bcba30070\n\n# tcId = 219\n# special case hash\nmsg = 33393439343031323135\nresult = valid\nsig = 303d021c323dbdecd40910c6fa7a5691846fa7769113d1f2ba64ef0dc97d2ddb021d00ca9e73a4587af042f8ba924bb61829c5e24046f9803eb76ab80ef327\n\n# tcId = 220\n# special case hash\nmsg = 31333434323933303739\nresult = valid\nsig = 303d021d00a55dccc27d287f15960ed79908a3edb6bb31aff07c8caa0e65fc0785021c559cb51aa5f2b9066610199dd01291a47729a6189a622ae9e7af7621\n\n# tcId = 221\n# special case hash\nmsg = 33373036323131373132\nresult = valid\nsig = 303d021c137ed6105148d6f5b84e87735d57955f81c5914a6e69f55347ade074021d00dfa5d56b1a12567efacb348a133b79d48da7aac78d78ee589c2ec027\n\n# tcId = 222\n# special case hash\nmsg = 333433363838373132\nresult = valid\nsig = 303e021d00856ff63d779163e78fed8c48330b48f08bf953a95266b3857eee91aa021d00f4aa917cd37f556c6df9d0960c2f7daa7ea118e5c30cc40ca1eed418\n\n# tcId = 223\n# special case hash\nmsg = 31333531353330333730\nresult = valid\nsig = 303d021d00a9d7716f04", - "c5ce247f6b8c608b37db55f68e2ff94a5883863e867708021c61bc093faa6fb25cd240aea4b56fed728f7b3669b4dc84c449d38c5d\n\n# tcId = 224\n# special case hash\nmsg = 36353533323033313236\nresult = valid\nsig = 303d021d00f6d088fd3b9c981ac491c62030643bbd82d4f4588e8517de5884e73d021c773eee477980763b1ea27ae998bda0244cb67b07aa6779a38cd2ba3f\n\n# tcId = 225\n# special case hash\nmsg = 31353634333436363033\nresult = valid\nsig = 303e021d00eacb55588e446bbf3687089ba8ba3b05cfef7458bb81b4277f90a853021d008039e8944cc3df7f4ce5badc349975d471a81dea14e9bcae3065d410\n\n# tcId = 226\n# special case hash\nmsg = 34343239353339313137\nresult = valid\nsig = 303c021c5984af8c89fb9d596a1f28fd3d41e46f7205fe12fa63437ac79e7e81021c33b16b742d45f18f88de2713078384e6150f06b8b99f36ab2ce3dd49\n\n# tcId = 227\n# special case hash\nmsg = 3130393533323631333531\nresult = valid\nsig = 303d021c3cda62d84711c262f782d5c3a79b567485227b34afb821f5241b1961021d00b615cef399706ff758f072931852b717ec898e9a1e6339d0ee81b8da\n\n# tcId = 228\n# special case hash\nmsg = 35393837333530303431\nresult = valid\nsig = 303d021d00e1db7304609191ea1ac91183ffb31df51b5b3fdc6b1a1129d85818d6021c441886d003ae80fbe7139e1d02845cd1bd959f0df1468f5836dd6ea5\n\n# tcId = 229\n# special case hash\nmsg = 33343633303036383738\nresult = valid\nsig = 303d021c3545dc4a4ef84bbb3a526ff929c91ad234516a9e95455ac8db4012b1021d00af49926f693a7cf11f71e199f382a8d640c0c85e46d94ee26e384344\n\n# tcId = 230\n# special case hash\nmsg = 39383137333230323837\nresult = valid\nsig = 303d021c0ccafdeae4582c9de6795b2d09a7fc3848c75904fa960989156cbbb9021d00af1f994da3e7d89cc8aaa44616cb77e3be7a83ccecc965775194e502\n\n# tcId = 231\n# special case hash\nmsg = 33323232303431303436\nresult = valid\nsig = 303e021d00a3b2145d8c669027532501eea1913abb22a78a827fdd82fe9d6d3757021d009b2f1ae84f5606d68653065f74e9d089886694c739fbe3fd4a1b2b4a\n\n# tcId = 232\n# special case hash\nmsg = 36363636333037313034\nresult = valid\nsig = 303e021d009aac3a7e3d142344991bf177b4f4dbfa074148ad9e20f27555b547d9021d00f830a3c7fdf251d79d41977d28e6d9a72a36df11b86e17c8dc3acae0\n\n# tcId = 233\n# special case hash\nmsg = 31303335393531383938\nresult = valid\nsig = 303c021c4769fba554fd436051c285bdadfa33a443d4f7084dd598ce3b98b8fb021c0c014c87cb14113d75864f74905f75b34f9970ba58b5d0676021826d\n\n# tcId = 234\n# special case hash\nmsg = 31383436353937313935\nresult = valid\nsig = 303d021d008b91fc5054a75c34a508624b85708b3d25fa74328c68741c3aeb92d9021c155e3e46b1209583135a9fef15abe325b25bd19285ee6b5b4549629f\n\n# tcId = 235\n# special case hash\nmsg = 33313336303436313839\nresult = valid\nsig = 303d021d00a4a2a85fbb8bb26c4d845cfac191f89d65b00d3f1b9450d177f78890021c6605a460e60402685c7a5accd2615e9232e51937bd83dfa3065eabf7\n\n# tcId = 236\n# special case hash\nmsg = 32363633373834323534\nresult = valid\nsig = 303d021d00a89d333ae34187855cf7fa435ff39be6b7bb39b2d0ce682133ad9646021c483dcc89a3b43be250f5c3f78f78418e7b8341a8bcfb93dfd58e46d8\n\n# tcId = 237\n# special case hash\nmsg = 31363532313030353234\nresult = valid\nsig = 303d021c2d0f99c71933c82ded544ef4faac9d669e437dea13b57186f4c20a0e021d00d9682b9f3a05d7832947bc45eadbc742d96e7ab1124832ddb7a8c65b\n\n# tcId = 238\n# special case hash\nmsg = 35373438303831363936\nresult = valid\nsig = 303d021d00840208f7c41b1fbadcc701fb3a1d0f98a3e2a75235e695bfd378f8b4021c44c8daad4efc03e1753803c362b409c3ca6e0f21e538fe3a364c0e53\n\n# tcId = 239\n# special case hash\nmsg = 36333433393133343638\nresult = valid\nsig = 303e021d0087cc582cb10602110566fcb10a233aede993fae5fb3f81b0bbff94ca021d00c971c05bd51d9685825b2cfc0a2596c7f80d9f9dc68c28c159aa395a\n\n# tcId = 240\n# special case hash\nmsg = 31353431313033353938\nresult = valid\nsig = 303d021c50d73d949b3adcd3e8fa94dafefaf9d263ebc702128d891afac47ea7021d00f8423c378f0190574925142eb5b97c612abfa048fa3ab5375ec795a1\n\n# tcId = 241\n# special case hash\nmsg = 3130343738353830313238\nresult = valid\nsig = 303e021d00d608915dfcd5d3c63ed10d0d9b614f7a866f8858a6e59dc03eb0a8ee021d008e701aa0bab491430f6e4da92244b0bb174957ee6f495bc5d15fabb1\n\n# tcId = 242\n# special case hash\nmsg = 3130353336323835353638\nresult = valid\nsig = 303e021d00c87b0ab842c4769ed94b910bd7719691f9991bc5a347889608f07034021d00d083111048d6e019771fc2669c55156a3d09615a6b2d9cae52ddabee\n\n# tcId = 243\n# special case hash\nmsg = 393533393034313035\nresult = valid\nsig = 303c021c0a1c2c2478e244464226c660edf724db1213f4923eb725d611d976fd021c764e55186a76f734891d05fb57af2727fab8fbea684ca4321d5de540\n\n# tcId = 244\n# special case hash\nmsg = 393738383438303339\nresult = valid\nsig = 303e021d008a2747c5dd9ef5298b8aeabd2fb3a2beb16158fb2cc62be9e51b2152021d00f96251bc048bcad832e6cbc09c9c2e585ab7543dc552eaa5125be0d3\n\n# tcId = 245\n# special case hash\nmsg = 33363130363732343432\nresult = valid\nsig = 303e021d00d9eac32a734f3a3e5b5a2905bed8164ef4c6cd24d5c0fc54cc83f3cc021d00a784930d16c3b753bb3ed9151d583c50ff97bc976274bde482fb9644\n\n# tcId = 246\n# special case hash\nmsg = 31303534323430373035\nresult = valid\nsig = 303d021c6c40c6b15ae573f77b677cd878cc5e4da8171cf50d79974fde374e00021d00c88c9828037bf7013a1415537ca074d6c8a553bdb4b26b14a7e88d93\n\n# tcId = 247\n# special case hash\nmsg = 35313734343438313937\nresult = valid\nsig = 303d021d00dca0aaa0a395393142b323edced09372760350f2ab261ce3339b114d021c0983bf6e510ce7f0a7520f2b7c60cd68a4912b78162c7ac33789e0c6\n\n# tcId = 248\n# special case hash\nmsg = 31393637353631323531\nresult = valid\nsig = 303d021d00a0526ed47e2607e6bae6dcf3b8f54f4e0638023673a38cad4569c3ba021c61516f55746b379d11cbaa02cef35311d7771a47d1e127cff46dcfd6\n\n# tcId = 249\n# special case hash\nmsg = 33343437323533333433\nresult = valid\nsig = 303d021c5c00db60178c8361092bdfb47fc9a47b33363d7e0d76e32520f79657021d00e1baf7ae7d81045793c73173f49d60bdfc8779942795d9d082b3ca11\n\n# tcId = 250\n# special case hash\nmsg = 333638323634333138\nresult = valid\nsig = 303d021c46f69b6a99717949eee74092a0c1438a290a2cd82fe1e10d8f37e88b021d0099a5f59f09bd980a066233523397846987a8a1bfdde355062d140a4b\n\n# tcId = 251\n# special case hash\nmsg = 33323631313938363038\nresult = valid\nsig = 303e021d00e643d8085a22706fa0e6540f3d5e169ad8cc49b4bfe98e325321c705021d00f95bd423f9cafe0cedfec6fd97871536d71b2ac58dfb2f7ab8952d4b\n\n# tcId = 252\n# special case hash\nmsg = 39363738373831303934\nresult = valid\nsig = 303e021d00e65fb9bcdd791f141ccff2b3cfbf45d84f8c6272021a68dde8c36bc8021d00df6e08c74b5e36b7772658f02515ae0ea813b64df24f3522ea15fb15\n\n# tcId = 253\n# special case hash\nmsg = 34393538383233383233\nresult = valid\nsig = 303e021d00a476d468221ef55611e8a724c9b4cd79c34f6940d5f665e3335f6231021d00bfddc18e7a008bc206c8e1ca6c878363e4138508e0c3a84a27eabe35\n\n# tcId = 254\n# special case hash\nmsg = 383234363337383337\nresult = valid\nsig = 303c021c1b393477941879271873a8c043a77caadb9957fcdd263a6ac978e4ba021c270060d5f356ebb6d185772baa78b878af6807378e0d5c532da0a4a7\n\n# tcId = 255\n# special case hash\nmsg = 3131303230383333373736\nresult = valid\nsig = 303e021d00b2eda8c969d4b1bdd31867fd1f92d547b406840c257f2f80dfbdc4e3021d00e6297b059ce64ef04de9715a8f686a9f73980865066a94975b7f8117\n\n# tcId = 256\n# special case hash\nmsg = 313333383731363438\nresult = valid\nsig = 303d021d00938189a18a4bff5712ac99c2b8e92c218af3e4d4e3a84b906b0f704e021c7bb3e538f0b70664dad462ab14b0ed416c86ac6e9060fe760dabb715\n\n# tcId = 257\n# special case hash\nmsg = 333232313434313632\nresult = valid\nsig = 303e021d00bb7c1d8120d2aa7765b16eeac44282de605fb2a1665657dea4492935021d00e0a8adb3a143883f981ea1323fa6f1d347845be2b8dcc6cd5cc93ee5\n\n# tcId = 258\n# special case hash\nmsg = 3130363836363535353436\nresult = valid\nsig = 303c021c74a4c51dd60c7118467be29652060f39af94f8c0eb7f15c64771010c021c6102ec0c9257e607af3f3ff7490b54e78111f422bec11ba01277171f\n\n# tcId = 259\n# special case hash\nmsg = 3632313535323436\nresult = valid\nsig = 303d021c625da18d676f02fae9dbcb3092265909488fb95d662569d7746b9687021d00c4f1ec831e36604d604b630fd0b1999cd09960862294251d85e5873d\n\n# tcId = 260\n# special case hash\nmsg = 37303330383138373734\nresult = valid\nsig = 303d021d008ee0d4a31fd1c4d854d75c14151926899dde1c7332fd4769443d213d021c4b8278b89ba4f8fbd7dcc6affe4c12156f7409909416989685dd5a39\n\n# tcId = 261\n# special case hash\nmsg = 35393234353233373434\nresult = valid\nsig = 303e021d00bdde45fc9ebb3749c9fb2c25bf02e2a217ccc112f8e65499eeffb6a1021d00becd6b88ef2bee872ebc0e2b805a56066e19179fce9f0dc0df3f6378\n\n# tcId = 262\n# special case hash\nmsg = 31343935353836363231\nresult = valid\nsig = 303d021c50186e023a1f5053fcb4d0473039b1b2cdeba5697", - "19a4ebabdd675c8021d00f8fb893c1b6b5b827b5f3f4bb5eab75b6212bb56a5a39bb35c127a1c\n\n# tcId = 263\n# special case hash\nmsg = 34303035333134343036\nresult = valid\nsig = 303e021d00d3b454639b0fb3da93b20d55be8609e40902cb4a608f3b9064c0deb7021d00ec7aa9637fd71b543e5243faab4c7a2edc2c48e982c5ac017807f19a\n\n# tcId = 264\n# special case hash\nmsg = 33303936343537353132\nresult = valid\nsig = 303d021d00c202abbd98e03809de842bdef268a1c616a7306da69a87abaf03169c021c7e7e04823af8ed6836fd2ac011e47de8e1bef91ed1da5144893fc259\n\n# tcId = 265\n# special case hash\nmsg = 32373834303235363230\nresult = valid\nsig = 303d021c2e4b76638816cce057a4a27a49258dcb5437ae97739f27ebc0973c0b021d00e9f6c0b64e764ad39dd92b576e11c23e5994b02095cb2a4720c8662c\n\n# tcId = 266\n# special case hash\nmsg = 32363138373837343138\nresult = valid\nsig = 303c021c7e0f48761089aa4c7ecd5a7ac5380836b1e5d381d3400174d15df98b021c0c3df50060e3a6714aa565a33d784e7b16ac87bebfb3c2255cfd832c\n\n# tcId = 267\n# special case hash\nmsg = 31363432363235323632\nresult = valid\nsig = 303c021c4d6f7408508eb0814dcd48007f0efd9e2b91cdac4030540cc678de19021c1e74f8dc34d13613ef42462fe88981cbe2489be10e4cdae975a1b38e\n\n# tcId = 268\n# special case hash\nmsg = 36383234313839343336\nresult = valid\nsig = 303d021d00967f2c5d304c7932eaaa1682197945e66cc912b703824776ef16ad7a021c73957001d9037c63d6471c809a2388383ad695137c622cd5f5584414\n\n# tcId = 269\n# special case hash\nmsg = 343834323435343235\nresult = valid\nsig = 303d021c49260804bb2ceae4b9cee63b02ea60173ec3f4f90167627c0bb39888021d00c9eb022f96db3e90fe0ff617730a629f342e02fb208d6836cbbdc7d3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[key.wx = 093b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2]\n[key.wy = 482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[sha = SHA-256]\n\n# tcId = 270\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 271\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[key.wx = 0da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789]\n[key.wy = 0ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[sha = SHA-256]\n\n# tcId = 272\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[key.wx = 20888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fc]\n[key.wy = 0de00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[sha = SHA-256]\n\n# tcId = 273\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[key.wx = 09545c86f032c5df255a4490bb0b83eca201181792ad74246874db229]\n[key.wy = 405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[sha = SHA-256]\n\n# tcId = 274\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[key.wx = 579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8]\n[key.wy = 0df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[sha = SHA-256]\n\n# tcId = 275\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[key.wx = 0d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628]\n[key.wy = 0acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[sha = SHA-256]\n\n# tcId = 276\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[key.wx = 0e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4]\n[key.wy = 326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[sha = SHA-256]\n\n# tcId = 277\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 278\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[key.wx = 2b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103a]\n[key.wy = 0d465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[sha = SHA-256]\n\n# tcId = 279\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[key.wx = 0d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7af]\n[key.wy = 0d73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[sha = SHA-256]\n\n# tcId = 280\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a30", - "4f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[key.wx = 0f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e6]\n[key.wy = 17dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[sha = SHA-256]\n\n# tcId = 281\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[key.wx = 0d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317]\n[key.wy = 0d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[sha = SHA-256]\n\n# tcId = 282\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[key.wx = 08a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce8]\n[key.wy = 09668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[sha = SHA-256]\n\n# tcId = 283\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[key.wx = 0b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137]\n[key.wy = 0f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[sha = SHA-256]\n\n# tcId = 284\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[key.wx = 77f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c97812]\n[key.wy = 09f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[sha = SHA-256]\n\n# tcId = 285\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[key.wx = 0a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f3]\n[key.wy = 1736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[sha = SHA-256]\n\n# tcId = 286\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 287\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[key.wx = 09cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f69]\n[key.wy = 21c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[sha = SHA-256]\n\n# tcId = 288\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[key.wx = 10518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c8]\n[key.wy = 3f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[sha = SHA-256]\n\n# tcId = 289\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[key.wx = 08a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd]\n[key.wy = 3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[sha = SHA-256]\n\n# tcId = 290\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[key.wx = 083a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff]\n[key.wy = 1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[sha = SHA-256]\n\n# tcId = 291\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[key.wx = 58bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a7]\n[key.wy = 5be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[sha = SHA-256]\n\n# tcId = 292\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[key.wx = 7fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c]\n[key.wy = 0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[keyDer = 304e3010060", - "72a8648ce3d020106052b81040021033a00047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[sha = SHA-256]\n\n# tcId = 293\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0093c8c651653430cb4f1675fc86b5e82ca04ff2ab1501674476aac169\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[key.wx = 3ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674]\n[key.wy = 0fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[sha = SHA-256]\n\n# tcId = 294\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009df50acc33b3625a2d5940dd13dbb97d1f7dd56afff8b7de7545127c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[key.wx = 1cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37]\n[key.wy = 0b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[sha = SHA-256]\n\n# tcId = 295\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00dce8c223f235699d1f5d2dcde4809d013390b59129f783239525c08f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[key.wx = 44e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36]\n[key.wy = 477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[sha = SHA-256]\n\n# tcId = 296\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c074aae944ee7a7d544a5ad0bd06366f872d2250ba3018a63d2a7f2e6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[key.wx = 0c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e1]\n[key.wy = 10129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[sha = SHA-256]\n\n# tcId = 297\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00aae944ee7a7d544a5ad0bd0636d9455f4e83de0f186f89bca56b3c5c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[key.wx = 0c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d6309966722]\n[key.wy = 0cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[sha = SHA-256]\n\n# tcId = 298\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c55d289dcf4faa894b5a17a0c6db3741bbc4ecbe01d01ea33ee7a4e7b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[key.wx = 0b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33ca]\n[key.wy = 0a967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[sha = SHA-256]\n\n# tcId = 299\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4ee7a7d544a5ad0bd0636d9e12bc561ce04faaf1312bba3a15601ebc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[key.wx = 0f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27e]\n[key.wy = 0c30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[sha = SHA-256]\n\n# tcId = 300\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c361b9cd74d65e79a5874c501bca4973b20347ec97f6de10072d8b46a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[key.wx = 56d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd11]\n[key.wy = 6cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[sha = SHA-256]\n\n# tcId = 301\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c3739ae9acbcf34b0e98a0379492e764068fd92fedbc200e5b168d4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[key.wx = 30bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5]\n[key.wy = 0f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[sha = SHA-256]\n\n# tcId = 302\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a252d685e831b6cf095e4f0535edc5b1609d7c5c7e49a301588a1d3e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[key.wx = 0e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5]\n[key.wy = 539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[sha = SHA-256]\n\n# tcId = 303\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ee746111f91ab4ce8fae96e6f23fd9d20a24d2e79eea563478c0f566\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[key.wx = 113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f0281]\n[key.wy = 6c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[sha = SHA-", - "256]\n\n# tcId = 304\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[key.wx = 23dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74a]\n[key.wy = 0d661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[sha = SHA-256]\n\n# tcId = 305\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[key.wx = 0bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256d]\n[key.wy = 0fe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[sha = SHA-256]\n\n# tcId = 306\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[key.wx = 35f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a4953]\n[key.wy = 47bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[sha = SHA-256]\n\n# tcId = 307\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[key.wx = 0911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279]\n[key.wy = 508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[sha = SHA-256]\n\n# tcId = 308\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[key.wx = 62b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3]\n[key.wy = 124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[sha = SHA-256]\n\n# tcId = 309\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[key.wx = 0f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6]\n[key.wy = 0defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[sha = SHA-256]\n\n# tcId = 310\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[key.wx = 08f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d]\n[key.wy = 3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[sha = SHA-256]\n\n# tcId = 311\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[key.wx = 2bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c09]\n[key.wy = 5b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[sha = SHA-256]\n\n# tcId = 312\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[key.wx = 0a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec]\n[key.wy = 3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[sha = SHA-256]\n\n# tcId = 313\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[key.wx = 0a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe8]\n[key.wy = 2ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[sha = SHA-256]\n\n# tcId = 314\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[key.wx = 34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]\n[key.wy = 080562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[sha = SHA-256]\n\n# tcId = 315\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c702", - "1c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[key.wx = 34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]\n[key.wy = 7fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[sha = SHA-256]\n\n# tcId = 316\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[key.wx = 3672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb6]\n[key.wy = 7ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[sha = SHA-256]\n\n# tcId = 317\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[key.wx = 33eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648]\n[key.wy = 51749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[sha = SHA-256]\n\n# tcId = 318\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[key.wx = 0bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd6]\n[key.wy = 1c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[sha = SHA-256]\n\n# tcId = 319\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[key.wx = 7abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b]\n[key.wy = 792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[sha = SHA-256]\n\n# tcId = 320\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[key.wx = 0f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16]\n[key.wy = 234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[sha = SHA-256]\n\n# tcId = 321\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[key.wx = 65d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f1093427]\n[key.wy = 2004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[sha = SHA-256]\n\n# tcId = 322\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[key.wx = 0d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e]\n[key.wy = 083904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[sha = SHA-256]\n\n# tcId = 323\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[key.wx = 0c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb8]\n[key.wy = 0e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[sha = SHA-256]\n\n# tcId = 324\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[key.wx = 09dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26c]\n[key.wy = 0a141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[sha = SHA-256]\n\n# tcId = 325\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[key.wx = 3dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f]\n[key.wy = 47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[keyDer = 304", - "e301006072a8648ce3d020106052b81040021033a00043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[sha = SHA-256]\n\n# tcId = 326\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[key.wx = 56dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100]\n[key.wy = 0e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[sha = SHA-256]\n\n# tcId = 327\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[key.wx = 094efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a612]\n[key.wy = 4414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[sha = SHA-256]\n\n# tcId = 328\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[key.wx = 6286803b952976ee1897013695d3ef2cbb6f977142a042b236572577]\n[key.wy = 722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[sha = SHA-256]\n\n# tcId = 329\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-256]\n\n# tcId = 330\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 331\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-256]\n\n# tcId = 332\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 333\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-256]\n\n# tcId = 334\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc\n\n# tcId = 335\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303d021d00f4b68df62b9238363ccc1bbee00deb3fb2693f7894178e14eeac596a021c7f51c9451adacd2bcbc721f7df0643d7cd18a6b52064b507e1912f23\n\n# tcId = 336\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579\n\n# tcId = 337\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-256]\n\n# tcId = 338\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c519bf185ff4635271961fa491be257231deeea9c53a6ede3b4a89ed1021c486bdad484a6a3134e1471cf56a9df0fac50f773b3e37d6f327617d7\n\n# tcId = 339\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c09fd644898b7cb5d018b52234e7b4ef2b54789afd0ce9c434e9e5515021d00f19309532164ea2053cae55df7bdcbab536c83ea7bfe6fe10d60c1ab\n\n# tcId = 340\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00ec919d4e283ccf1f71a9e3c0f781a36758d3f38b1b78a87a74288e80021c4c4663044a73c79bd88f0dc245ab1a32f89f06f40a704b31e9fabc51\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-256]\n\n# tcId = 341\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00c51760478447217597ecc6f4001bd45088d53c90f53103608bf88aea021d00a201253aa903f9781e8992101d7171d2dd3a5d48c44d8e1d544cd6d7\n\n# tcId = 342\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c76be0112674ec29128823e1af7512e6143872fef30a64e2f1799bd56021c187e503e1a48c27b549fe0a4ce5e581e242c8663fc9efb02d6f2b193\n\n# tcId = 343\n# y-coordinate of the public key has many trailing ", - "1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c36245ef126b5b51e459f84eaaad5a495061f0471dc8c23f1c5f16282021c39e31d72a06ba8e14fcf95778e07bc16a2628e39449da8857d506edc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-256]\n\n# tcId = 344\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c258682975df8bca7f203f771ebeb478ef637360c860fc386cfb21745021c7663e70188047e41469a2a35c8c330dd900f2340ba82aafd22962a96\n\n# tcId = 345\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d0085c98614f36c0d66f8d87834cae978611b7b4eebf59a46bea1b89ae9021d00d1a18e378dda840e06b60f6279bf0a2231d9fa2d8d2c31e88bc1bdd7\n\n# tcId = 346\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ca7b7432ba41ff2112e1116fffde89bbd68f5ce67fe5513d16c8e6f7021d00e421b7599e0180798acc2006451603cda2db1d582741116e6033ce5f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-256]\n\n# tcId = 347\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c19397fe5d3ecabf80fc624c1bf379564387517c185087dc97d605069021c33b5773e9aaf6c34cb612cfc81efd3bf9c22224e8c4fa1bfccf5c501\n\n# tcId = 348\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c70f24f5c164164bfbb8459aa12a981aa312dbcf00204326ebaaabdc8021d00f5cebee8caedae8662c43501665084b45d2f494fb70d603043543dc4\n\n# tcId = 349\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0bf2d86ecaa8b56aca5e8f8ebcb45081d078a14555b75f5be8e9b132021d009a55b3ce4734849966b5034ccd9b19f76407ee0241c3f58e7b8fc89a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-256]\n\n# tcId = 350\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50\n\n# tcId = 351\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161\n\n# tcId = 352\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e23a11275848fd4f8b6f4ac4fc305eae981d3b7dc453e5a980c46422021c1a875693f24a03ea1614c4c3bbd0dd7221429f22b337ea7d98348ca4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-256]\n\n# tcId = 353\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb\n\n# tcId = 354\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004\n\n# tcId = 355\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2d5492478ca64e5111dfd8521867b6477b7e78227849ad090b855694021d00a532f5a2fa3594af81cd5928b81b4057da717be5fb42a3a86c68190d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-256]\n\n# tcId = 356\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c191eee5daf55cd499e8539cb2cff797cfec5d566d2027bf9f8d64693021d00dadfeae8131f64d96b94fd340197caa2bc04818554812feef3343070\n\n# tcId = 357\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e0e2c08180b8a207ee9105a7d379fa112368e8370fa09dfde4a45c45021d00c717bc0860e016e7ce48f8fe6a299b36906a6055adad93b416ce8838\n\n# tcId = 358\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c1b919ef93532292743bb2e1b7b4894fd847c6e5de52a08e1b0f2dcfb021d00c2d30d6b7594d8dbd261491ae1d58779505b075b64e5564dc97a418b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-256]\n\n# tcId = 359\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e75db49ed33ff2885ea6100cc95b8fe1b9242ea4248db07bcac2e020021c796c866142ae8eb75bb0499c668c6fe45497692fbcc66b37c2e4624f\n\n# tcId = 360\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1f81cd924362ec825890307b9b3936e0d8f728a7c84bdb43c5cf0433021c39d3e46a03040ad41ac026b18e0629f6145e3dc8d1e6bbe200c8482b\n\n# tcId = 361\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c00fda613aa67ca42673ad4309f3f0f05b2569f3dee63f4aa9cc54cf3021c1e5a64b68a37e5b201c918303dc7a40439aaeacf019c5892a8f6d0ce\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-256]\n\n# tcId = 362\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00b932b3f7e6467e1ec7a561f31160248c7f224550a8508788634b53ce021d00a0c5312acf9e801aff6d6fc98550c", - "fa712bbf65937165a36f2c32dc9\n\n# tcId = 363\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e509593fb09245ee8226ce72786b0cc352be555a7486be628f4fd00c021c0b7abde0061b1e07bf13319150a4ff6a464abab636ab4e297b0d7633\n\n# tcId = 364\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c6e54f941204d4639b863c98a65b7bee318d51ab1900a8f345eac6f07021c0da5054829214ecde5e10579b36a2fe6426c24b064ed77c38590f25c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-256]\n\n# tcId = 365\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d0085ea4ab3ffdc992330c0ca8152faf991386bce82877dbb239ba654f6021c0806c6baf0ebea4c1aaa190e7d4325d46d1f7789d550632b70b5fc9b\n\n# tcId = 366\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c44d53debb646b73485402eab2d099081b97b1243c025b624f0dd67ea021d00e5de789a7d4b77eac6d7bba41658e6e4dc347dabed2f9680c04a6f55\n\n# tcId = 367\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1526eb2f657ebea9af4ca184b975c02372c88e24e835f3f5774c0e12021c1f1ecce38ee52372cb201907794de17b6d6c1afa13c316c51cb07bc7\n\n", +static const char *kData100[] = { + "# Imported from Wycheproof's ecdsa_secp224r1_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 00eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 00eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-256]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3c1bab8864e5e03a5011eeba8150bc\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 3\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30813c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 4\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 5\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 7\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 8\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 9\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 10\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 11\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 12\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 13\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 14\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303c02803ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040280617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 17\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 18\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 19\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 20\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e0000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 21\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 22\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500\n\n# tcId = 23\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041498177303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30402500303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412221498177021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304022202500021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3044221e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040004deadbeef021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042221498177021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0422202500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04221e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef\n\n# tcId = 32\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3044aa00bb00cd00303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3042aa02aabb303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30442224aa00bb00cd00021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30422222aa02aabb021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042224aa00bb00cd00021c6", + "17d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3042021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042222aa02aabb021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 38\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 39\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30402280021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 42\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30402280031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 45\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 46\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 51\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 52\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3040300102303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 53\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 55\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\nflags = BER\n\n# tcId = 56\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98100\n\n# tcId = 57\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98105000000\n\n# tcId = 58\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981060811220000\n\n# tcId = 59\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000fe02beef\n\n# tcId = 60\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810002beef\n\n# tcId = 61\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e3000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 62\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9813000\n\n# tcId = 63\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 303f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981bf7f00\n\n# tcId = 64\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 65\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 301e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04\n\n# tcId = 66\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305a021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 67\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d02811c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402811c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 69\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303e0282001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040282001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 71\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021d3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 75\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30410285010000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c", + "800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285010000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 77\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045028901000000000000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04028901000000000000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 79\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304002847fffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402847fffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 81\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30400284ffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040284ffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 83\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410285ffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285ffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 85\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30440288ffffffffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040288ffffffffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 87\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c02ff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402ff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f02021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e00003ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e0000617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30200281021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30200500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c011c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c041c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303cff1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04011c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04041c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04ff1c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30200200021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 116\n# using ", + "composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c38de5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c637d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a84021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad901\n\n# tcId = 121\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021dff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021090180021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021020100021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d013ade5c0624a5677ed7b6450d941fd283098d8a004fc718e2e7e6b441021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021dff3ade5c0624a5677ed7b6450d9421a53d481ba984280cc6582f2e5fc7021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021cc521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c521a3f9db5a98812849baf26bde5ac2b7e4567bd7f339a7d0d1a039021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021dfec521a3f9db5a98812849baf26be02d7cf67275ffb038e71d18194bbf021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d013ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2119a390cfa9bed6a409bfe3703be\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c3e454779b1a1fc5afee11457eaf44\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c9e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dfe9e82950ebe102f37ff3645cc7d3dee65c6f305641295bf6401c8fc42\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case ", + "values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d", + "00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3839313737\nresult = valid\nsig = 303d021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021d0096ad91f02a3bc40c118abd416ed5c6203ed7ced0330860d7b88c10ab\n\n# tcId = 231\n# special case hash\nmsg = 343236343739373234\nresult = valid\nsig = 303d021d00bcca2365cebdcf7c6cda1ee7b27c7fe79e371537b01869c715eabb1e021c3ae76f9bbfe519d778816dc8fe10635ee7576b6b7916f0c21df320c0\n\n# tcId = 232\n# special case hash\nmsg = 37313338363834383931\nresult = valid\nsig = 303c021c59a9f83289ef6995d5d5592e80ab4f6a81123f69d385d3cfb152faf2021c3a97d5be190d5819241067e2be56375ab84155baab8fc7aeb7f8cb3d\n\n# tcId = 233\n# special case hash\nmsg = 3130333539333331363638\nresult = valid\nsig = 303e021d00b54bac9be2beaaa09456a3968a1faf27c9d96bd5f6738fec6066d31e021d00d72c22129344a96d52fda60b264cf5e6fae45fd2c1b1b78bcba30070\n\n# tcId = 234\n# special case hash\nmsg = 33393439343031323135\nresult = valid\nsig = 303d021c323dbdecd40910c6fa7a5691846fa7769113d1f2ba64ef0dc97d2ddb021d00ca9e73a4587af042f8ba924bb61829c5e24046f9803eb76ab80ef327\n\n# tcId = 235\n# special case hash\nmsg = 31333434323933303739\nresult = valid\nsig = 303d021d00a55dccc27d287f15960ed79908a3edb6bb31aff07c8caa0e65fc0785021c559cb51aa5f2b9066610199dd01291a47729a6189a622ae9e7af7621\n\n# tcId = 236\n# special case hash\nmsg = 33373036323131373132\nresult = valid\nsig = 303d021c137ed6105148d6f5b84e87735d57955f81c5914a6e69f55347ade074021d00dfa5d56b1a12567efacb348a133b79d48da7aac78d78ee589c2ec027\n\n# tcId = 237\n# spe", + "cial case hash\nmsg = 333433363838373132\nresult = valid\nsig = 303e021d00856ff63d779163e78fed8c48330b48f08bf953a95266b3857eee91aa021d00f4aa917cd37f556c6df9d0960c2f7daa7ea118e5c30cc40ca1eed418\n\n# tcId = 238\n# special case hash\nmsg = 31333531353330333730\nresult = valid\nsig = 303d021d00a9d7716f04c5ce247f6b8c608b37db55f68e2ff94a5883863e867708021c61bc093faa6fb25cd240aea4b56fed728f7b3669b4dc84c449d38c5d\n\n# tcId = 239\n# special case hash\nmsg = 36353533323033313236\nresult = valid\nsig = 303d021d00f6d088fd3b9c981ac491c62030643bbd82d4f4588e8517de5884e73d021c773eee477980763b1ea27ae998bda0244cb67b07aa6779a38cd2ba3f\n\n# tcId = 240\n# special case hash\nmsg = 31353634333436363033\nresult = valid\nsig = 303e021d00eacb55588e446bbf3687089ba8ba3b05cfef7458bb81b4277f90a853021d008039e8944cc3df7f4ce5badc349975d471a81dea14e9bcae3065d410\n\n# tcId = 241\n# special case hash\nmsg = 34343239353339313137\nresult = valid\nsig = 303c021c5984af8c89fb9d596a1f28fd3d41e46f7205fe12fa63437ac79e7e81021c33b16b742d45f18f88de2713078384e6150f06b8b99f36ab2ce3dd49\n\n# tcId = 242\n# special case hash\nmsg = 3130393533323631333531\nresult = valid\nsig = 303d021c3cda62d84711c262f782d5c3a79b567485227b34afb821f5241b1961021d00b615cef399706ff758f072931852b717ec898e9a1e6339d0ee81b8da\n\n# tcId = 243\n# special case hash\nmsg = 35393837333530303431\nresult = valid\nsig = 303d021d00e1db7304609191ea1ac91183ffb31df51b5b3fdc6b1a1129d85818d6021c441886d003ae80fbe7139e1d02845cd1bd959f0df1468f5836dd6ea5\n\n# tcId = 244\n# special case hash\nmsg = 33343633303036383738\nresult = valid\nsig = 303d021c3545dc4a4ef84bbb3a526ff929c91ad234516a9e95455ac8db4012b1021d00af49926f693a7cf11f71e199f382a8d640c0c85e46d94ee26e384344\n\n# tcId = 245\n# special case hash\nmsg = 39383137333230323837\nresult = valid\nsig = 303d021c0ccafdeae4582c9de6795b2d09a7fc3848c75904fa960989156cbbb9021d00af1f994da3e7d89cc8aaa44616cb77e3be7a83ccecc965775194e502\n\n# tcId = 246\n# special case hash\nmsg = 33323232303431303436\nresult = valid\nsig = 303e021d00a3b2145d8c669027532501eea1913abb22a78a827fdd82fe9d6d3757021d009b2f1ae84f5606d68653065f74e9d089886694c739fbe3fd4a1b2b4a\n\n# tcId = 247\n# special case hash\nmsg = 36363636333037313034\nresult = valid\nsig = 303e021d009aac3a7e3d142344991bf177b4f4dbfa074148ad9e20f27555b547d9021d00f830a3c7fdf251d79d41977d28e6d9a72a36df11b86e17c8dc3acae0\n\n# tcId = 248\n# special case hash\nmsg = 31303335393531383938\nresult = valid\nsig = 303c021c4769fba554fd436051c285bdadfa33a443d4f7084dd598ce3b98b8fb021c0c014c87cb14113d75864f74905f75b34f9970ba58b5d0676021826d\n\n# tcId = 249\n# special case hash\nmsg = 31383436353937313935\nresult = valid\nsig = 303d021d008b91fc5054a75c34a508624b85708b3d25fa74328c68741c3aeb92d9021c155e3e46b1209583135a9fef15abe325b25bd19285ee6b5b4549629f\n\n# tcId = 250\n# special case hash\nmsg = 33313336303436313839\nresult = valid\nsig = 303d021d00a4a2a85fbb8bb26c4d845cfac191f89d65b00d3f1b9450d177f78890021c6605a460e60402685c7a5accd2615e9232e51937bd83dfa3065eabf7\n\n# tcId = 251\n# special case hash\nmsg = 32363633373834323534\nresult = valid\nsig = 303d021d00a89d333ae34187855cf7fa435ff39be6b7bb39b2d0ce682133ad9646021c483dcc89a3b43be250f5c3f78f78418e7b8341a8bcfb93dfd58e46d8\n\n# tcId = 252\n# special case hash\nmsg = 31363532313030353234\nresult = valid\nsig = 303d021c2d0f99c71933c82ded544ef4faac9d669e437dea13b57186f4c20a0e021d00d9682b9f3a05d7832947bc45eadbc742d96e7ab1124832ddb7a8c65b\n\n# tcId = 253\n# special case hash\nmsg = 35373438303831363936\nresult = valid\nsig = 303d021d00840208f7c41b1fbadcc701fb3a1d0f98a3e2a75235e695bfd378f8b4021c44c8daad4efc03e1753803c362b409c3ca6e0f21e538fe3a364c0e53\n\n# tcId = 254\n# special case hash\nmsg = 36333433393133343638\nresult = valid\nsig = 303e021d0087cc582cb10602110566fcb10a233aede993fae5fb3f81b0bbff94ca021d00c971c05bd51d9685825b2cfc0a2596c7f80d9f9dc68c28c159aa395a\n\n# tcId = 255\n# special case hash\nmsg = 31353431313033353938\nresult = valid\nsig = 303d021c50d73d949b3adcd3e8fa94dafefaf9d263ebc702128d891afac47ea7021d00f8423c378f0190574925142eb5b97c612abfa048fa3ab5375ec795a1\n\n# tcId = 256\n# special case hash\nmsg = 3130343738353830313238\nresult = valid\nsig = 303e021d00d608915dfcd5d3c63ed10d0d9b614f7a866f8858a6e59dc03eb0a8ee021d008e701aa0bab491430f6e4da92244b0bb174957ee6f495bc5d15fabb1\n\n# tcId = 257\n# special case hash\nmsg = 3130353336323835353638\nresult = valid\nsig = 303e021d00c87b0ab842c4769ed94b910bd7719691f9991bc5a347889608f07034021d00d083111048d6e019771fc2669c55156a3d09615a6b2d9cae52ddabee\n\n# tcId = 258\n# special case hash\nmsg = 393533393034313035\nresult = valid\nsig = 303c021c0a1c2c2478e244464226c660edf724db1213f4923eb725d611d976fd021c764e55186a76f734891d05fb57af2727fab8fbea684ca4321d5de540\n\n# tcId = 259\n# special case hash\nmsg = 393738383438303339\nresult = valid\nsig = 303e021d008a2747c5dd9ef5298b8aeabd2fb3a2beb16158fb2cc62be9e51b2152021d00f96251bc048bcad832e6cbc09c9c2e585ab7543dc552eaa5125be0d3\n\n# tcId = 260\n# special case hash\nmsg = 33363130363732343432\nresult = valid\nsig = 303e021d00d9eac32a734f3a3e5b5a2905bed8164ef4c6cd24d5c0fc54cc83f3cc021d00a784930d16c3b753bb3ed9151d583c50ff97bc976274bde482fb9644\n\n# tcId = 261\n# special case hash\nmsg = 31303534323430373035\nresult = valid\nsig = 303d021c6c40c6b15ae573f77b677cd878cc5e4da8171cf50d79974fde374e00021d00c88c9828037bf7013a1415537ca074d6c8a553bdb4b26b14a7e88d93\n\n# tcId = 262\n# special case hash\nmsg = 35313734343438313937\nresult = valid\nsig = 303d021d00dca0aaa0a395393142b323edced09372760350f2ab261ce3339b114d021c0983bf6e510ce7f0a7520f2b7c60cd68a4912b78162c7ac33789e0c6\n\n# tcId = 263\n# special case hash\nmsg = 31393637353631323531\nresult = valid\nsig = 303d021d00a0526ed47e2607e6bae6dcf3b8f54f4e0638023673a38cad4569c3ba021c61516f55746b379d11cbaa02cef35311d7771a47d1e127cff46dcfd6\n\n# tcId = 264\n# special case hash\nmsg = 33343437323533333433\nresult = valid\nsig = 303d021c5c00db60178c8361092bdfb47fc9a47b33363d7e0d76e32520f79657021d00e1baf7ae7d81045793c73173f49d60bdfc8779942795d9d082b3ca11\n\n# tcId = 265\n# special case hash\nmsg = 333638323634333138\nresult = valid\nsig = 303d021c46f69b6a99717949eee74092a0c1438a290a2cd82fe1e10d8f37e88b021d0099a5f59f09bd980a066233523397846987a8a1bfdde355062d140a4b\n\n# tcId = 266\n# special case hash\nmsg = 33323631313938363038\nresult = valid\nsig = 303e021d00e643d8085a22706fa0e6540f3d5e169ad8cc49b4bfe98e325321c705021d00f95bd423f9cafe0cedfec6fd97871536d71b2ac58dfb2f7ab8952d4b\n\n# tcId = 267\n# special case hash\nmsg = 39363738373831303934\nresult = valid\nsig = 303e021d00e65fb9bcdd791f141ccff2b3cfbf45d84f8c6272021a68dde8c36bc8021d00df6e08c74b5e36b7772658f02515ae0ea813b64df24f3522ea15fb15\n\n# tcId = 268\n# special case hash\nmsg = 34393538383233383233\nresult = valid\nsig = 303e021d00a476d468221ef55611e8a724c9b4cd79c34f6940d5f665e3335f6231021d00bfddc18e7a008bc206c8e1ca6c878363e4138508e0c3a84a27eabe35\n\n# tcId = 269\n# special case hash\nmsg = 383234363337383337\nresult = valid\nsig = 303c021c1b393477941879271873a8c043a77caadb9957fcdd263a6ac978e4ba021c270060d5f356ebb6d185772baa78b878af6807378e0d5c532da0a4a7\n\n# tcId = 270\n# special case hash\nmsg = 3131303230383333373736\nresult = valid\nsig = 303e021d00b2eda8c969d4b1bdd31867fd1f92d547b406840c257f2f80dfbdc4e3021d00e6297b059ce64ef04de9715a8f686a9f73980865066a94975b7f8117\n\n# tcId = 271\n# special case hash\nmsg = 313333383731363438\nresult = valid\nsig = 303d021d00938189a18a4bff5712ac99c2b8e92c218af3e4d4e3a84b906b0f704e021c7bb3e538f0b70664dad462ab14b0ed416c86ac6e9060fe760dabb715\n\n# tcId = 272\n# special case hash\nmsg = 333232313434313632\nresult = valid\nsig = 303e021d00bb7c1d8120d2aa7765b16eeac44282de605fb2a1665657dea4492935021d00e0a8adb3a143883f981ea1323fa6f1d347845be2b8dcc6cd5cc93ee5\n\n# tcId = 273\n# special case hash\nmsg = 3130363836363535353436\nresult = valid\nsig = 303c021c74a4c51dd60c7118467be29652060f39af94f8c0eb7f15c64771010c021c6102ec0c9257e607af3f3ff7490b54e78111f422bec11ba01277171f\n\n# tcId = 274\n# special case hash\nmsg = 3632313535323436\nresult = valid\nsig = 303d021c625da18d676f02fae9dbcb3092265909488fb95d662569d7746b9687021d00c4f1ec831e36604d604b630fd0b1999cd09960862294251d85e5873d\n\n# tcId = 275\n# special case hash\nmsg = 37303330383138373734\nresult = valid\nsig = 303d021d008ee0d4a31fd1c4d854d75c14151926899dde1c7332fd4769443d213d021c4b8278b89ba4f8fbd7dcc6affe4c12156f7409909416989685dd5a39\n\n# tcId = 276\n# special case hash\nmsg = 3539323435", + "3233373434\nresult = valid\nsig = 303e021d00bdde45fc9ebb3749c9fb2c25bf02e2a217ccc112f8e65499eeffb6a1021d00becd6b88ef2bee872ebc0e2b805a56066e19179fce9f0dc0df3f6378\n\n# tcId = 277\n# special case hash\nmsg = 31343935353836363231\nresult = valid\nsig = 303d021c50186e023a1f5053fcb4d0473039b1b2cdeba569719a4ebabdd675c8021d00f8fb893c1b6b5b827b5f3f4bb5eab75b6212bb56a5a39bb35c127a1c\n\n# tcId = 278\n# special case hash\nmsg = 34303035333134343036\nresult = valid\nsig = 303e021d00d3b454639b0fb3da93b20d55be8609e40902cb4a608f3b9064c0deb7021d00ec7aa9637fd71b543e5243faab4c7a2edc2c48e982c5ac017807f19a\n\n# tcId = 279\n# special case hash\nmsg = 33303936343537353132\nresult = valid\nsig = 303d021d00c202abbd98e03809de842bdef268a1c616a7306da69a87abaf03169c021c7e7e04823af8ed6836fd2ac011e47de8e1bef91ed1da5144893fc259\n\n# tcId = 280\n# special case hash\nmsg = 32373834303235363230\nresult = valid\nsig = 303d021c2e4b76638816cce057a4a27a49258dcb5437ae97739f27ebc0973c0b021d00e9f6c0b64e764ad39dd92b576e11c23e5994b02095cb2a4720c8662c\n\n# tcId = 281\n# special case hash\nmsg = 32363138373837343138\nresult = valid\nsig = 303c021c7e0f48761089aa4c7ecd5a7ac5380836b1e5d381d3400174d15df98b021c0c3df50060e3a6714aa565a33d784e7b16ac87bebfb3c2255cfd832c\n\n# tcId = 282\n# special case hash\nmsg = 31363432363235323632\nresult = valid\nsig = 303c021c4d6f7408508eb0814dcd48007f0efd9e2b91cdac4030540cc678de19021c1e74f8dc34d13613ef42462fe88981cbe2489be10e4cdae975a1b38e\n\n# tcId = 283\n# special case hash\nmsg = 36383234313839343336\nresult = valid\nsig = 303d021d00967f2c5d304c7932eaaa1682197945e66cc912b703824776ef16ad7a021c73957001d9037c63d6471c809a2388383ad695137c622cd5f5584414\n\n# tcId = 284\n# special case hash\nmsg = 343834323435343235\nresult = valid\nsig = 303d021c49260804bb2ceae4b9cee63b02ea60173ec3f4f90167627c0bb39888021d00c9eb022f96db3e90fe0ff617730a629f342e02fb208d6836cbbdc7d3\n\n# tcId = 285\n# Signature generated without truncating the hash\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00f3e712597a4b22632c5f8eb9f2845882bb03a139735f80af8826fc56021c62865bd91c0903511a481d607eb6b5fe28f6f6c89295681a3e8d55d8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[key.wx = 0093b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2]\n[key.wy = 482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[sha = SHA-256]\n\n# tcId = 286\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 287\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[key.wx = 00da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789]\n[key.wy = 00ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[sha = SHA-256]\n\n# tcId = 288\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[key.wx = 20888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fc]\n[key.wy = 00de00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[sha = SHA-256]\n\n# tcId = 289\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[key.wx = 009545c86f032c5df255a4490bb0b83eca201181792ad74246874db229]\n[key.wy = 405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[sha = SHA-256]\n\n# tcId = 290\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[key.wx = 579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8]\n[key.wy = 00df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[sha = SHA-256]\n\n# tcId = 291\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[key.wx = 00d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628]\n[key.wy = 00acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[sha = SHA-256]\n\n# tcId = 292\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[key.wx = 00e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4]\n[key.wy = 326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[sha = SHA-256]\n\n# tcId = 293\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 294\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[key.wx = 2b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103a]\n[key.wy = 00d465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[sha = SHA-256]\n\n# tcId = 295\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[key.wx = 00d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7af]\n[key.wy", + " = 00d73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[sha = SHA-256]\n\n# tcId = 296\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[key.wx = 00f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e6]\n[key.wy = 17dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[sha = SHA-256]\n\n# tcId = 297\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[key.wx = 00d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317]\n[key.wy = 00d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[sha = SHA-256]\n\n# tcId = 298\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[key.wx = 008a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce8]\n[key.wy = 009668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[sha = SHA-256]\n\n# tcId = 299\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[key.wx = 00b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137]\n[key.wy = 00f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[sha = SHA-256]\n\n# tcId = 300\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[key.wx = 77f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c97812]\n[key.wy = 009f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[sha = SHA-256]\n\n# tcId = 301\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[key.wx = 00a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f3]\n[key.wy = 1736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[sha = SHA-256]\n\n# tcId = 302\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 303\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[key.wx = 009cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f69]\n[key.wy = 21c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[sha = SHA-256]\n\n# tcId = 304\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ae9b3636b8547232df438559b5a109e0238a73a76afc25d070ea27427210a69de44ad645b1b03845040f46fce238e92c131a71e4b184c01f]\n[key.wx = 00ae9b3636b8547232df438559b5a109e0238a73a76afc25d070ea2742]\n[key.wy = 7210a69de44ad645b1b03845040f46fce238e92c131a71e4b184c01f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ae9b3636b8547232df438559b5a109e0238a73a76afc25d070ea27427210a69de44ad645b1b03845040f46fce238e92c131a71e4b184c01f]\n[sha = SHA-256]\n\n# tcId = 305\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048d57d4fce62757791888c1938076fd766daeb2ec9f1bda8ad5df4809aade924d7ea3ae5abbd0719a7d4865759da654cf76cf7ec031277108]\n[key.wx = 008d57d4fce62757791888c1938076fd766daeb2ec9f1bda8ad5df4809]\n[key.wy = 00aade924d7ea3ae5abbd0719a7d4865759da654cf76cf7ec031277108]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048d57d4fce62757791888c1938076fd766daeb2ec9f1bda8ad5df4809aade924d7ea3ae5abbd0719a7d4865759da654cf76cf7ec031277108]\n[sha = SHA-256]\n\n# tcId = 306\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[key.wx = 10518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c8]\n[key.wy = 3f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[sha = SHA-256]\n\n# tcId = 307\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[key.wx = 008a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd]\n[key.wy = 3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957", + "927c78a2aa02ecef62816d0356b49c3]\n[sha = SHA-256]\n\n# tcId = 308\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[key.wx = 0083a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff]\n[key.wy = 1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[sha = SHA-256]\n\n# tcId = 309\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[key.wx = 58bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a7]\n[key.wy = 5be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[sha = SHA-256]\n\n# tcId = 310\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[key.wx = 7fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c]\n[key.wy = 0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[sha = SHA-256]\n\n# tcId = 311\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0093c8c651653430cb4f1675fc86b5e82ca04ff2ab1501674476aac169\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[key.wx = 3ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674]\n[key.wy = 00fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[sha = SHA-256]\n\n# tcId = 312\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009df50acc33b3625a2d5940dd13dbb97d1f7dd56afff8b7de7545127c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[key.wx = 1cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37]\n[key.wy = 00b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[sha = SHA-256]\n\n# tcId = 313\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00dce8c223f235699d1f5d2dcde4809d013390b59129f783239525c08f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[key.wx = 44e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36]\n[key.wy = 477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[sha = SHA-256]\n\n# tcId = 314\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c074aae944ee7a7d544a5ad0bd06366f872d2250ba3018a63d2a7f2e6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[key.wx = 00c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e1]\n[key.wy = 10129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[sha = SHA-256]\n\n# tcId = 315\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00aae944ee7a7d544a5ad0bd0636d9455f4e83de0f186f89bca56b3c5c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[key.wx = 00c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d6309966722]\n[key.wy = 0cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[sha = SHA-256]\n\n# tcId = 316\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c55d289dcf4faa894b5a17a0c6db3741bbc4ecbe01d01ea33ee7a4e7b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[key.wx = 00b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33ca]\n[key.wy = 00a967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[sha = SHA-256]\n\n# tcId = 317\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4ee7a7d544a5ad0bd0636d9e12bc561ce04faaf1312bba3a15601ebc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[key.wx = 00f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27e]\n[key.wy = 00c30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[sha = SHA-256]\n\n# tcId = 318\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c361b9cd74d65e79a5874c501bca4973b20347ec97f6de10072d8b46a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[key.wx = 56d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd11]\n[key.wy = 6cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[sha = SHA-256]\n\n# tcId = 319\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffff", + "ffffffffffd021c6c3739ae9acbcf34b0e98a0379492e764068fd92fedbc200e5b168d4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[key.wx = 30bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5]\n[key.wy = 00f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[sha = SHA-256]\n\n# tcId = 320\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a252d685e831b6cf095e4f0535edc5b1609d7c5c7e49a301588a1d3e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[key.wx = 00e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5]\n[key.wy = 539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[sha = SHA-256]\n\n# tcId = 321\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ee746111f91ab4ce8fae96e6f23fd9d20a24d2e79eea563478c0f566\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[key.wx = 113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f0281]\n[key.wy = 6c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[sha = SHA-256]\n\n# tcId = 322\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[key.wx = 23dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74a]\n[key.wy = 00d661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[sha = SHA-256]\n\n# tcId = 323\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[key.wx = 00bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256d]\n[key.wy = 00fe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[sha = SHA-256]\n\n# tcId = 324\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[key.wx = 035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a4953]\n[key.wy = 47bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[sha = SHA-256]\n\n# tcId = 325\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[key.wx = 00911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279]\n[key.wy = 508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[sha = SHA-256]\n\n# tcId = 326\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[key.wx = 62b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3]\n[key.wy = 124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[sha = SHA-256]\n\n# tcId = 327\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[key.wx = 0f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6]\n[key.wy = 00defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[sha = SHA-256]\n\n# tcId = 328\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[key.wx = 008f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d]\n[key.wy = 3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[sha = SHA-256]\n\n# tcId = 329\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[key.wx = 2bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c09]\n[key.wy = 5b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[sha = SHA-256]\n\n# tcId = 330\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompres", + "sed = 04a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[key.wx = 00a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec]\n[key.wy = 3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[sha = SHA-256]\n\n# tcId = 331\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[key.wx = 00a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe8]\n[key.wy = 2ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[sha = SHA-256]\n\n# tcId = 332\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[key.wx = 034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]\n[key.wy = 0080562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[sha = SHA-256]\n\n# tcId = 333\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[key.wx = 034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]\n[key.wy = 7fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[sha = SHA-256]\n\n# tcId = 334\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[key.wx = 3672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb6]\n[key.wy = 7ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[sha = SHA-256]\n\n# tcId = 335\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[key.wx = 33eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648]\n[key.wy = 051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[sha = SHA-256]\n\n# tcId = 336\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[key.wx = 00bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd6]\n[key.wy = 1c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[sha = SHA-256]\n\n# tcId = 337\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[key.wx = 7abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b]\n[key.wy = 792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[sha = SHA-256]\n\n# tcId = 338\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[key.wx = 00f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16]\n[key.wy = 234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[sha = SHA-256]\n\n# tcId = 339\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[key.wx = 065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f1093427]\n[key.wy = 2004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[sha = SHA-256]\n\n# tcId = 340\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[key.wx = 00d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e]\n[key.wy = 0083904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[sha = SHA-256]\n\n# tcId = 341\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompre", + "ssed = 04c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[key.wx = 00c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb8]\n[key.wy = 0e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[sha = SHA-256]\n\n# tcId = 342\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[key.wx = 009dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26c]\n[key.wy = 00a141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[sha = SHA-256]\n\n# tcId = 343\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[key.wx = 3dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f]\n[key.wy = 47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[sha = SHA-256]\n\n# tcId = 344\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[key.wx = 56dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100]\n[key.wy = 00e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[sha = SHA-256]\n\n# tcId = 345\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[key.wx = 0094efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a612]\n[key.wy = 4414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[sha = SHA-256]\n\n# tcId = 346\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[key.wx = 6286803b952976ee1897013695d3ef2cbb6f977142a042b236572577]\n[key.wy = 722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[sha = SHA-256]\n\n# tcId = 347\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 00bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-256]\n\n# tcId = 348\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 349\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-256]\n\n# tcId = 350\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 351\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 00ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-256]\n\n# tcId = 352\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc\n\n# tcId = 353\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303d021d00f4b68df62b9238363ccc1bbee00deb3fb2693f7894178e14eeac596a021c7f51c9451adacd2bcbc721f7df0643d7cd18a6b52064b507e1912f23\n\n# tcId = 354\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579\n\n# tcId = 355\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 00aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 008a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-256]\n\n# tcI", + "d = 356\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c519bf185ff4635271961fa491be257231deeea9c53a6ede3b4a89ed1021c486bdad484a6a3134e1471cf56a9df0fac50f773b3e37d6f327617d7\n\n# tcId = 357\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c09fd644898b7cb5d018b52234e7b4ef2b54789afd0ce9c434e9e5515021d00f19309532164ea2053cae55df7bdcbab536c83ea7bfe6fe10d60c1ab\n\n# tcId = 358\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00ec919d4e283ccf1f71a9e3c0f781a36758d3f38b1b78a87a74288e80021c4c4663044a73c79bd88f0dc245ab1a32f89f06f40a704b31e9fabc51\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 00bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-256]\n\n# tcId = 359\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00c51760478447217597ecc6f4001bd45088d53c90f53103608bf88aea021d00a201253aa903f9781e8992101d7171d2dd3a5d48c44d8e1d544cd6d7\n\n# tcId = 360\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c76be0112674ec29128823e1af7512e6143872fef30a64e2f1799bd56021c187e503e1a48c27b549fe0a4ce5e581e242c8663fc9efb02d6f2b193\n\n# tcId = 361\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c36245ef126b5b51e459f84eaaad5a495061f0471dc8c23f1c5f16282021c39e31d72a06ba8e14fcf95778e07bc16a2628e39449da8857d506edc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 00eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-256]\n\n# tcId = 362\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c258682975df8bca7f203f771ebeb478ef637360c860fc386cfb21745021c7663e70188047e41469a2a35c8c330dd900f2340ba82aafd22962a96\n\n# tcId = 363\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d0085c98614f36c0d66f8d87834cae978611b7b4eebf59a46bea1b89ae9021d00d1a18e378dda840e06b60f6279bf0a2231d9fa2d8d2c31e88bc1bdd7\n\n# tcId = 364\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ca7b7432ba41ff2112e1116fffde89bbd68f5ce67fe5513d16c8e6f7021d00e421b7599e0180798acc2006451603cda2db1d582741116e6033ce5f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 00ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-256]\n\n# tcId = 365\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c19397fe5d3ecabf80fc624c1bf379564387517c185087dc97d605069021c33b5773e9aaf6c34cb612cfc81efd3bf9c22224e8c4fa1bfccf5c501\n\n# tcId = 366\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c70f24f5c164164bfbb8459aa12a981aa312dbcf00204326ebaaabdc8021d00f5cebee8caedae8662c43501665084b45d2f494fb70d603043543dc4\n\n# tcId = 367\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0bf2d86ecaa8b56aca5e8f8ebcb45081d078a14555b75f5be8e9b132021d009a55b3ce4734849966b5034ccd9b19f76407ee0241c3f58e7b8fc89a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-256]\n\n# tcId = 368\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50\n\n# tcId = 369\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161\n\n# tcId = 370\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e23a11275848fd4f8b6f4ac4fc305eae981d3b7dc453e5a980c46422021c1a875693f24a03ea1614c4c3bbd0dd7221429f22b337ea7d98348ca4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 00ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-256]\n\n# tcId = 371\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb\n\n# tcId = 372\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004\n\n# tcId = 373\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2d5492478ca64e5111dfd8521867b6477b7e78227849ad090b855694021d00a532f5a2fa3594af81cd5928b81b4057da717be5fb42a3a86c68190d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 00f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 00de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-256]\n\n# tcId = 374\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c191eee5daf55cd499e8539cb2cff797cfec5d566d2027bf9f8d64693021d00dadfeae8131f64d96b94fd340197caa2bc04818554812feef3343070\n\n# tcId = 375\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e0e2c08180b8a207ee9105a7d379fa112368e8370fa09dfde4a45c45021d00c717bc0860e016e7ce48f8fe6a299b36906a6055adad93b416ce8838\n\n# tcId = 376\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c1b919ef93532292743bb2e1b7b4894fd847c6e5de52a08e1b0f2dcfb021d00c2d30d6b7594d8dbd261491ae1d58779505b075b64e5564dc97a418b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242", + "a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 00ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 0086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-256]\n\n# tcId = 377\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e75db49ed33ff2885ea6100cc95b8fe1b9242ea4248db07bcac2e020021c796c866142ae8eb75bb0499c668c6fe45497692fbcc66b37c2e4624f\n\n# tcId = 378\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1f81cd924362ec825890307b9b3936e0d8f728a7c84bdb43c5cf0433021c39d3e46a03040ad41ac026b18e0629f6145e3dc8d1e6bbe200c8482b\n\n# tcId = 379\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c00fda613aa67ca42673ad4309f3f0f05b2569f3dee63f4aa9cc54cf3021c1e5a64b68a37e5b201c918303dc7a40439aaeacf019c5892a8f6d0ce\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-256]\n\n# tcId = 380\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00b932b3f7e6467e1ec7a561f31160248c7f224550a8508788634b53ce021d00a0c5312acf9e801aff6d6fc98550cfa712bbf65937165a36f2c32dc9\n\n# tcId = 381\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e509593fb09245ee8226ce72786b0cc352be555a7486be628f4fd00c021c0b7abde0061b1e07bf13319150a4ff6a464abab636ab4e297b0d7633\n\n# tcId = 382\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c6e54f941204d4639b863c98a65b7bee318d51ab1900a8f345eac6f07021c0da5054829214ecde5e10579b36a2fe6426c24b064ed77c38590f25c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 00fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-256]\n\n# tcId = 383\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d0085ea4ab3ffdc992330c0ca8152faf991386bce82877dbb239ba654f6021c0806c6baf0ebea4c1aaa190e7d4325d46d1f7789d550632b70b5fc9b\n\n# tcId = 384\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c44d53debb646b73485402eab2d099081b97b1243c025b624f0dd67ea021d00e5de789a7d4b77eac6d7bba41658e6e4dc347dabed2f9680c04a6f55\n\n# tcId = 385\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1526eb2f657ebea9af4ca184b975c02372c88e24e835f3f5774c0e12021c1f1ecce38ee52372cb201907794de17b6d6c1afa13c316c51cb07bc7\n\n", }; -static const size_t kLen68 = 139779; +static const size_t kLen101 = 132917; -static const char *kData68[] = { - "# Imported from Wycheproof's ecdsa_secp224r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbd285ea180b4c6150cdafafb0f6f0f\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30813d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303e02811c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02811d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f0282001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0282001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021d691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021e00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30420285010000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285010000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3046028901000000000000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3046021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028901000000000000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304102847fffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02847fffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410284ffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 27\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0284ffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult ", - "= invalid\nsig = 30420285ffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285ffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30450288ffffffffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0288ffffffffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303d02ff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02ff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d0280691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f0000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042498177303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412500303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30422221498177021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304122202500021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045221e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0004deadbeef021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2222498177021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab22212500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab221f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045aa00bb00cd00303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043aa02aabb303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30452224aa00bb00cd00021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30432222aa02aabb021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2225aa00bb00cd00021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2223aa02aabb021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30412280021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 64\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30412280031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 3132333", - "43030\nresult = invalid\nsig = 2e3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3041300102303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e00\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e05000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f3000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e3000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 301e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302002021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e0000691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f000000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210281021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30210500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d011c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d041c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 107\n# ch", - "anging tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303dff1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab011d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab041d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92abff1d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210200021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30412220020169021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2221020100021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c6b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d02c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf922b021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbbae\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021eff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3022090180021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d01691c723dd6a7f5d11b8c8e8bd08173428bc48a2c3f031caaec3bbce8021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff691c723dd6a7f5d11b8c8e8bd08345fcca52a9b01748ca203383686e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c96e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0096e38dc229580a2ee47371742f7cba0335ad564fe8b735dfcc7c9792021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dfe96e38dc229580a2ee47371742f7e8cbd743b75d3c0fce35513c44318021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d01691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0096e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab0834104e71ff12bb612ad778fbda8e56b\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08342d7a15e7f4b39eaf3250504f090f1\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dff394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dfe394766fb67a65fe0af6c154f7cbefb18e00ed449ed52887042571a95\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forg", - "eries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invali", - "d\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff0000000", - "00000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3639313930\nresult = valid\nsig = 303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c221a25eb9cc8dd66fdf156b2f6ab601ab6d9c509247f8de5d2671a96\n\n# tcId = 217\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 303c021c3b3008ed596b7fa276498def40d96b1eb2ffb731a44050ffb732e4e6021c6dbb08c56db737e9392ff4f3a54d8b806d70af226ecf413b3465de55\n\n# tcId = 218\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 303d021d00d1fe269c3061e4b94604e8d612d70887068cc7d5232cd5a9b72923a1021c3c1cbc027d33fb2451d52dce3a828a8c7ecc490a28a94e5e5bb2c4d7\n\n# tcId = 219\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 303d021c04586134cc679295dd93499311c4a8af37cb94dadbae18d8ee279b9b021d00bf9170a1b65b665664cf567d40a995ce252a23d6a9f962b05e364486\n\n# tcId = 220\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 303d021d00c1f51009b935b4773374364ec3eed72a24b70926e0349c77862f3475021c46df3d98f104ba6602f8041a5bf5495", - "fb240e103d1bd17f2fa878923\n\n# tcId = 221\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 303e021d00e822242872f1ecf338a4f773df87b67e9b21bb283acac7d66b26551e021d0094d4e0fc3c6359994a6eaedddd1533f490f72ef85139f8d3b39cf07b\n\n# tcId = 222\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 303c021c7fd45528eb7bfc3710e273c4468f0b50ebf93f94cd0e7a602a4929a6021c46613dd1ffd85df8d71f3498001721fda4982c27a1c291359b05b1b8\n\n# tcId = 223\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 303d021c36d137b69171a486933b50138d1db1842724766afd25c85b0032daf5021d008e700de21f2fc350a34c7cc19054cf371ecab6f7331ccecf68fca0f4\n\n# tcId = 224\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 303e021d00da3b436908f5a82f26bc17a8577ad2a782946e3a7587b01d253b1dd0021d00a6544e38f24e8117370c049b5d1f6712ea14337a94511224df4496a3\n\n# tcId = 225\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 303c021c4314a2bd139d47be3d9fd9ebdd72a06a220219c7596b944178ee6f5f021c0e6f1d2f57c699654e9c705d7b8fa3c1ccb0f939f6368bed246b2e10\n\n# tcId = 226\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 303d021c6a25643464682679d84970c603927f4a8ca83e7ef9715dd1ed84c28f021d00932b78d165c225a5253e6201c0b1ded0898ba24de44b23233eb78054\n\n# tcId = 227\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 303c021c476aaa58677d9e60477cffd026c43248e2cf3cc21e8fdccb75ceefad021c7799fc7af8f9b929203faf899bb5ca1aecf2492555157282dfde790d\n\n# tcId = 228\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 303d021c63a98614a1421e2ebb278de53b61618bafc757122647affd358c667a021d008edba806e0a7e438ca35f98405a8ad2d5c3e8cc2d5c4384233aef0a5\n\n# tcId = 229\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 303e021d00880b5238a014f8b44655b83c175880eb1e8307899a824ea3e07dbd6d021d00a4724c8649fd74e5bc8d7fe6a9067a1376fb8e08dbdaed68980b0f50\n\n# tcId = 230\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 303e021d00f8743588234634dd9891f4f2f40f4e46b77f97b82dc5dbe234aa6b5d021d0080656e5262bc25e158f3b78f51ae0d6a41cc8cca1aa457221b2eb7fb\n\n# tcId = 231\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 303d021c2a2357e3d8fe34434582be4dabd58b77b388d1d52adcc664f45dece4021d0094be3a369b7c2788df4587ec5bd4163c4cbc40b77de1a85e8bcfb251\n\n# tcId = 232\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 303d021d00b6b0c0aba6c611300ecad8816242c415f183a2bd4d46cd7769033d9b021c7750b24be02f22dc0b656fe4af377413f9453dff99226915dbb6e08f\n\n# tcId = 233\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 303d021d00a5c1a75c2779f3eb83a65e295927cce4288e9d5c2132a4c7ca92526e021c10fe30f0be33a785385137b57d806140a402b9bd3c1df1b57de6da63\n\n# tcId = 234\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 303d021d00b92b5521d1a7abe77e8524dbd3001121cf83c08017e3917bc58b5d1c021c224b113779017f6a522171edf930f1b5d4f5e7dedc6d2d514fd7883c\n\n# tcId = 235\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 303e021d00ebd3ecf3aa64cdcdd171585a141a4a673a8d5de0ca087dfcdf62432e021d00e0f1a0f7b8f5ac4a42632f87156ad1094079393b03f2051a9fd60249\n\n# tcId = 236\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 303d021c6c3854297e1f267b64a28e0cd6148e0fadcf85bc8d5c23947543bcb8021d00aa0594ee11312f5d4767d296e5ca83df68072811f81a8d27e178ca5d\n\n# tcId = 237\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 303c021c785ac8c956d7797ae67498775b3c446c41735eb15f3430b49f6a09f2021c5710879ab83994e809c8d2cbd6f2ac5c205b4b8d6226e98be03e7967\n\n# tcId = 238\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 303e021d00f1f3d016693125ba73981c8f9a1748e5dce1d9634355f26fa536190e021d00b574e97def60dcd0e9177106483791b2edb4ab0342b9f5ebb957d5b0\n\n# tcId = 239\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 303e021d00e64f3371522cb1a5f0d1511b152b20e01deca0b3284786853cac279a021d00c9a2e5f4ffde22b9d4ed0179ce74fff408ea918dda7685c7980ae61a\n\n# tcId = 240\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 303d021c1f99dd6ef72feeeda6c123baa4fabb126d7dedb64130fae3f4230797021d00e441ec51dca6271b043e95753c4043d7cb4e76fdc13d6aea45fbf243\n\n# tcId = 241\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 303d021d008637a09627c52766bf96f0b6cea6f2ac3eb303001c5f6fe6d628e4ba021c10b66c599455d40077bb865ed43e2c2cc403473baa6d63b16be48c84\n\n# tcId = 242\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 303c021c52a010a23e4f9ebb459bbe9f3057e6c19761fb99d25c9b16b8f007d8021c526dc1f34444de00447ba23c76950f2c159579d548b6335d127ea321\n\n# tcId = 243\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 303d021d00fc49caaada528f3357e5a264f2e7f970ca1b15ca5fee28741d1202ac021c175e884d10d0bfd20b39311ce2c53083da167d1f3dfeb990e59ed628\n\n# tcId = 244\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 303d021d00d95d539a85c9edacd4e02ede27b0e0b737099612d166c637c83a9f34021c59936a2b90b7f3f3da83f64dec8e347a3bfa57baadf9acea18c071d8\n\n# tcId = 245\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 303c021c1895e65593d71e5635cce022dda19bd155bb9a7f2e307e5ce9127ade021c121b487c320c544dcdd471d46fcde2ce5dc9d17fda70544c4eab50a2\n\n# tcId = 246\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 303d021d00b5f4c85b13b51a5da81a236f1105937f3d98856d2aeb57101b6b499c021c3be74ae770fa6467f76a742eb9e504a815a4a60e74b38bcaa89f9b06\n\n# tcId = 247\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 303c021c07a57197667a0c40423d4811ff96384c9330467e8a28eaa4c0d519f4021c011062c8694494baaed24ff610e1e4227efb59a163c33fafd40100f9\n\n# tcId = 248\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 303c021b7f718615ba1d0a9d27a8c5a678a6225ffe1233ed8b417c9343b310021d00cf6a87e4496725c6a2612f4034ddf4b31c7435e2fc3a163e92d463ba\n\n# tcId = 249\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 303e021d00ba8f95a4363c493a9f78bb61dbefaa9587d028bb8344420de2b0cf21021d00b3798c2d6e27a2591c2edc18320b78bf11df194b11b3fb498c595232\n\n# tcId = 250\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 303c021c596b74077801db2e889d3b2aaa3990fe180abc152d48528385ca955d021c38bffd416f779843fad389750003eb0708112a4834c554f476a3e0d1\n\n# tcId = 251\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 303d021d008547f62967523a06c9690e5ff66c3f2254cda28f09ffccc222433d39021c3d9ebf664ee551bb7b33157d6c6c5fd456bda3d4ae460215ec1a5f94\n\n# tcId = 252\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 303d021d0090ee3fab9c6ce373a1b35fc135fe878280ee25e58a4bd7529e91b4f0021c6451e7526505b44e88472b46eda3fd2679824dcdfc445e67f35ea382\n\n# tcId = 253\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 303c021c0a530530b6a9238d2d1a3cf468986c87f3b208f61ea0486d53140c17021c5f027a73f31a5cc2bee81ff0019477c542fd782ecde0e551fcd37e93\n\n# tcId = 254\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 303e021d00beab4abd23df5e2acfff07c82e245dfa7d587d0238c2c9ab9c88a96a021d0098c6507635536840edf604f9baae6408ce4d3fbee694db3abd825011\n\n# tcId = 255\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 303d021c3ec8c36335cb98fa07b983c35b7fc256f44a5aa192d6087595145a15021d00c32b7a47ac6271f4593562bbbf91f9e07395a5e4d46970495cf29f05\n\n# tcId = 256\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 303d021d00bd635a741f1f2a1d9ac1698baf5cfc491d5e3f8e15f1cacbe4ffe4dc021c4bb606cf7cc11d0d7d96b83966f42276095ccc445882ed5afddabf1e\n\n# tcId = 257\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 303d021d00812c08622c0a09d949b7628585c4f4f2db4c5591b5da148ff46d5cd4021c2104f9bc9d0079acb3077d2db58f388119500c5322cb9b5389b5c5d7\n\n# tcId = 258\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 303e021d00fa4e1c8b0006f269c855eb495fa3a113f643fa8b1fef2b08ab145994021d00fe85b8b522c7f9e8943e0f62643395bd1fcdabc892c315d108b75f65\n\n# tcId = 259\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 303e021d008c1d9b7911bacb6b4a09582648b992d46a1832eb006178c0c77fcb10021d00becbe12b99f243766da5bdad07461b9226a8298672b4f1adb35357ef\n\n# tcId = 2", - "60\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 303c021c78850a40530aa258e478e7c547d3a5e4944d3524f1676443e4dfb37d021c687058e1ca478f52a30c9a3f8e2eea9d8c40599cd47ef66b9430d17d\n\n# tcId = 261\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 303c021c066e7268a6abefe1b4b916ca51c3e958e40dc78c3661313e0ed2e77d021c6404d8a332a837f2ab6bd13e3ee4aad1e9307d449e7f9b7d6332030c\n\n# tcId = 262\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 303c021c4eca73709a67c41603ca5af494c8132483ffc2e0bf171b52de5a5e81021c2c79137cd2add3ce3a76792270e347221a3ad786eafc2682b39bcf95\n\n# tcId = 263\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 303d021c0178512f8844984222393a63263e0a009601869e632f07eb7470aa05021d00e32657cded1122cee0a4f66ff50a32da1f05de4c5e217acdf5eb6fe2\n\n# tcId = 264\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 303d021d00e2c7bf1222ca23a56492873c2d3fa6c7030cc166d693142dcea272b6021c715a4c82fda4404217dea6c0bbf3ac24f8faa2b435fbc6d51a32c4a8\n\n# tcId = 265\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 303c021c49886a8c26c91d649cbfecda6ce8d1441e764c66f5d81dceedb6c5ba021c4370d8bcd4f052fac9491d62850b6a6a85d5acc44d9248c3dff30bf2\n\n# tcId = 266\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 303e021d00e1ae225e1aeca40747ff3e7ad1f75eb9bc90d637160a7f58ce12e591021d00b97cbea3a9323110315760b7e2ede496514b30f0eec521ffeb07a634\n\n# tcId = 267\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 303d021d008a93b87b46512544fb9a7af5c41e3aa72e40235ef87ccb7108daae48021c157db617ac697df407af7a11626c52a1af7ef189514da39918c43010\n\n# tcId = 268\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 303e021d00ebdebe6388b9f460fce6d84faa67ded1e864ef09e77ea3ce58a5deff021d00be5052033eb40380c2b1325fe97dcc55841e147a89f02a296b4505ef\n\n# tcId = 269\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 303e021d00e85d0667972d003c82afb9e18b702357119b4f38401a5ebdfcbea88c021d00eb7b3e5268a4ce6280f72d7e9a3d74e5cac50b1c3a5296cdb5a49d82\n\n# tcId = 270\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 303c021c3d243581c0874fd4eb4d80f896c5067429ad455314881951ab5ec6e3021c0ec47aba08ccba88c1a6ddc289f595bda08dc2dd34d12dcefb68094d\n\n# tcId = 271\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 303d021c75c966bbdcef9157d47a134231229f9f5ee8ce458775fc747d4509bd021d00e344fa716e2088d95a55d02a978a416da10f22a5cccf35a2863227cf\n\n# tcId = 272\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 303e021d00cfdf599e986d770b73784d97149f9945fd16d22c302bb796156e7fb4021d00c6409785047b0083f008771b40db8502583208b61c8984671acb0929\n\n# tcId = 273\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 303e021d00c53c4aeec8f2e7a5cc0e885a6031aa1a6c1b7b7fec83b5084cbe291f021d00b0e6d10a8fd86f958c3b0f4662ed8ca0d6eadbc892aac4200fcf8315\n\n# tcId = 274\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 303d021c2386550d6e75350bcc32507bfc9beb9c26d72ff82f671c1f5282e98b021d00a55b8de808c4359fb529b80a80d9fc6eddb5ce08082c3b677c689991\n\n# tcId = 275\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 303d021c1fbd192d955ce02b64a3be5bb21bef22b53a6c6f9576d8f889b09e4e021d00f5a9b673a4ee5aabf1ca8e8289f25b62a3e08b956f7418c03e2d3031\n\n# tcId = 276\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 303d021d00b80ffba451db9fc2194e450bdd43bc0f53a7d0f4a78900c09fb8d9bc021c0124eeeab9035b6c845959e70b04d1e187d554807d6751afabcc1802\n\n# tcId = 277\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 303c021c187fb026ade3ad16dd4b2813e8ebda433cb6cc3af1615bedf486a9e2021c6fbee53fa884d296f34f7719f74919434d1b7090c485eeed2fb8fd6c\n\n# tcId = 278\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 303d021d00e598a16fe12da79e9814f6985c9a9334010f287dc9e38de857ca5fc0021c19e0ed54f0e08ad091a163b4c7b86d0634da2c86a7a8991f5d8706d8\n\n# tcId = 279\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 303d021d00b31a10480e397c8aa46f52a0f2fb5c22ebc0534fba156718b50cf6ea021c602004df4b47a2065130ca3b05f1eb02d0b37b79b04b1eb799408346\n\n# tcId = 280\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 303e021d00bc47e242d19dcc6321913980d73923e430bc6623d219529d586619b6021d0081397dd2f52811b534ed754a937d904f04a7de278fa3bc8926de6946\n\n# tcId = 281\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 303c021c5be0e0dfb26b1caa88f866504aa8e76f035a82abe00028d962bcfafa021c3c3c1df06026123471bed324ca79c51b28b3d10b1ce877cef21b852d\n\n# tcId = 282\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 303e021d00fe79d0cfe455724792cb5ab0580ad4f2918c1403ec12f0bdd2ce6528021d00f1357cd4afc402994ab868b0163f41701e0f00e561fdd97e0db6f7b9\n\n# tcId = 283\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 303d021c1858c5d857124cd703e7c2f5e99d5025d6d979539c6f50b1d00fbd34021d00d94a5adb6d9c5001162620415541d49334fb929bc86a350ca4591195\n\n# tcId = 284\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 303e021d00e6b2ec967cfa25f57234b9ef1d87c5945502cbbd5831c862f00774d1021d00caea26368bffc8e562b2bd03aa6c9dc41c529659fefe6597fce9cd9c\n\n# tcId = 285\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 303d021d00a59b438b2472074a93a289b33f5b13e604977dd3ab4d744d08e1061b021c699574a17dc8c7298c9321ca78552e5128ea801d056f387ba42f7a09\n\n# tcId = 286\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 303d021c748481709c6882c4a130193834a57f4bc714906211ec6cc12c400dff021d00eec6c9d5a06786f821a8117eec3dc025ed3ac74e39e98a16a4aa285c\n\n# tcId = 287\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 303e021d00bc8991b506997403e123136a9c140a4336364733b0815f40d1dbd5fe021d00819503ea3b4c07fc157f948f6949705d560a881fc1c6af4b7391765c\n\n# tcId = 288\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 303c021c1caece75c8e31bb0c5cceb0842f23683b8557a97036574ea88ceeabd021c645ad3276aaee22b693647f00dce5f91a03b678b789b667cd3b8e751\n\n# tcId = 289\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 303c021c3a7d582068aaecaba945203bc445b3312e5cb40886522987aced68d0021c39b3c612b6743a13bb2ffb83514d690cfcb9a7055e3a993cb0863938\n\n# tcId = 290\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 303e021d00f773c49fd0645716d16e559e22c39101df266cdfa7cb61ce46f85280021d00df6109fd77a241031cf03b376e001d8a3cd2a6b646edbf9e578133f1\n\n# tcId = 291\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 303c021c79cf893f66f7faa5ca08553ea03456107e7bb391a5e51260cedaea84021c32e8e3509468da7216c59975d4f3d5493848a03f864b2332044e68d1\n\n# tcId = 292\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 303d021c025ecd1a7ab765fbfd25a6d7cd3c461e17f465e6958bce9f492b7a5a021d00a1ca95038603d302761e416935acbd6b716a316c9b79c57d4053cb79\n\n# tcId = 293\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 303d021c3d14a4c21ba4dbd338fdd8b15fcdd0a9228f157cfaf2b09dd4f2aa67021d00e1640e8bd2a6110dc18d6f290b7325814710c0dc88b76f127c5e9e21\n\n# tcId = 294\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 303c021c258dce916ef78b9d8a87beaf6edd35bcccc08c5de488586e1b7b749a021c4ff500db4d665c7062179c099b2985a814f99fbfa44a3a709024d589\n\n# tcId = 295\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 303e021d00cecf0aec5357749f357c459575298a3384dc4ac381438ff99acd9993021d00da7adb092a6890e0918c235a62d4a949b0cae5e57856975108fb2b91\n\n# tcId = 296\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 303d021d00d77f2e547fd68d5db314901da1ff7ecaf3d0c17ec047a974a7cec33e021c443a97afdf882272bf0233c8c4a8d23c9352ad89b1770c26240f6650\n\n# tcId = 297\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 303e021d00d5dcf93e6e1b93323ea2642d3405a7423cb04f59c03420193f394886021d00ddd5842e4928ee4b5d77d43d4a4bfc7f991c899727b75fc941b52995\n\n# tcId = 298\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 303d021d00a9bc3ebc6ee34421326711ce29518d02bd403ead806a3e4502efa0ce021c12610b89a61689a8eb6e062d2524278155fe499ffecc0e0d940d48a7\n\n# tcId = 299\n# special case hash\nmsg = 373138363136", - "32313030\nresult = valid\nsig = 303e021d00c703c508784ef71b596dcd61c5b01b45c6c69d2b36a5a3b7701e5976021d00f05444a777204118f3ac2afc92d0212831bf7002158e7c656f4c07db\n\n# tcId = 300\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 303e021d0080674b740b64d383677c049a6f4baeb214f4a6b5933033853e634578021d009b3a804c75ed790e31966bc25730b7428af8c73c65fb503c06c597eb\n\n# tcId = 301\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 303c021c7ed658c30f4a0dcc894c39f9320f59a185509ffee45eac6023577c7c021c47ac94a501806d5adffea9fcf3ccd8cf79f3cc47eca9fe38fc4886b4\n\n# tcId = 302\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 303d021c397f669cc399a91da96c16efd233f6fe60d1b7caa397cc257843b30b021d00f19375fe66eae4738ec9dc5b7ef51cb33d4cb258f36944d37dd245cb\n\n# tcId = 303\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 303c021c537ec369b3f0d891e166f6c74e5d73dd2c4822210c5fe5f978c34072021c0b183c48b5f6e69245cb76e1e2c39663eedfb74ba9538739ac495ff5\n\n# tcId = 304\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 303d021d00d0ed7159cc3a79988f3c279287ca8ed10bb8f02c8b5a6204aead1223021c75ee1e5c00e81899bfa8545edcc64fdf707dae1f61d976d2f0883777\n\n# tcId = 305\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 303e021d00cf43329a9781db8044a920758e58399866fe7748c0f5d6a3bcdcbcbd021d00d9740d2dd716290ad4160345bcd4af03af01c44b610b1e5953199075\n\n# tcId = 306\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 303e021d008ab2e92c8c9143f9d8da3bdb1d935cce3ab60ae99b3ccfe863b15d14021d0088c89302e8a9c591c6ed16b1ae46f966004d0b2685449842e291d742\n\n# tcId = 307\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 303d021c04f60f8450b448198cf7981116de06d4c4888cd26be3a5947092238f021d00cb23fcb33c14f089c2ae030146d68fa65eb9b086fa792f95be8ecf35\n\n# tcId = 308\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 303e021d00f270f7a70a96a0f916c7530c6dea7178e6c087ddbcc60aacd8a7c553021d008b2c378554121365a180ad4edf1a12e566ba55eeabf525356783e603\n\n# tcId = 309\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 303e021d0085ad01b236ca4a5451969242e16165d322428235a2af8fdcd6c4c7b9021d008eb2998c5e0aaf279793caff59a266ca2068d94ebf77bae81fd0fb6a\n\n# tcId = 310\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 303d021d00cffdb8d64b5b84b490ff73d77e51cc7797bf67c5ee0a4999def17230021c3baf4b34e1a35e9606a460b395063a554264a9c43cc302ab5abf473e\n\n# tcId = 311\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 303c021c66cda58a5a6ddb9476e36dbad5df542be88d7e447bdc3dfe1d9e8b2c021c0d99d387486a964ebab4e29bad583e46a5a200391d1065768a4e35fd\n\n# tcId = 312\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 303c021c3200761902825bd353908accd2be6b482645646971f96dc490706a37021c3ed77899efdbe418370fa7998df3b7c924bed6864535277f805c894f\n\n# tcId = 313\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 303e021d00ba0eff0ee46aa9fca5ab8ad64aee4037931d3ad0b953d404ef9f7bdc021d00afdf21df0dcbe39c2f5fa9ef7e1a2bca87d1213d1eca438929ad8982\n\n# tcId = 314\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 303e021d00a20c6883fc6ec1ca4bb378ac88ed670a742a6284113d5fa3182a1858021d00e0a73b913b94163175d264224cc70736f2fb8e8d58e914b18c921323\n\n# tcId = 315\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 303e021d00f2f4af956b0c5409949d377e9bc68e4f1abef7969b518f8beacf27db021d00df3a7b5993d2393ade70a2cfc1e8671a78ca4fecb56425a661a2d2fc\n\n# tcId = 316\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 303c021c331a1a553494f8524adb4e8a722d558965fb703ae432bf3cbdb255c2021c5ab6e3dee6a2516fc4e0ac88e6dfc81d2bc37c98949cc03e521d389d\n\n# tcId = 317\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 303e021d00867135558e06e19796ebce8e3555c607a6607d46f7c8da6b8552ffc1021d008e827e8b9a4f74efeec7d7ba5c23428fde0227df55a1efc179a353b1\n\n# tcId = 318\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 303d021c6746903ca095bfd3f6378a70092723483ca190b2392d8b1ad337969f021d00f33bfae0835c23a80ec9f33ce9a9035c192836a0b2fadd347d803f96\n\n# tcId = 319\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 303d021c7fc0d8739ecfe349e506e71203a6e60e628a1bb0c67d5e574cb8831c021d00cf8bb1557152c57550a0fde6571456fa752782f7f92f7bb235dde39f\n\n# tcId = 320\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 303e021d00b4486e3139e0b1542892db3d3f51b0524894e19cb00cd07b03ee9c97021d00ad9728d77a8b7b4fa435b3345847860c332d65d8152aa6503ab18755\n\n# tcId = 321\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 303e021d00afbbdc8e50e801ecbd2e3705079717f4f9d69f3b3d85215aeecb4fbc021d00eceadd4e2cc9cea10b56d16a03fa551fec3eb808bd8d9f0926d14ed3\n\n# tcId = 322\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 303d021c4a762f7d146f9eafff5ad11a6978260c818b801c3488dd60411f5cf6021d009ea77512585620ef2cfae8b8c9d8171229a32197e1949561bb75a049\n\n# tcId = 323\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 303d021c227fe52b579833feee16c287d29273e2256df68aff0b94d2752d877b021d00bd79935e5faa8e9356622fea0135ecf796daf60333d5ab125f71e512\n\n# tcId = 324\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 303e021d00cd5365983eb165db39ba0c66c3a45b2ce1370c9ad14a9aa76dd4633a021d00a8c77ce42ab1c888a6b5d04b71139fd882328622e15e80252e5cf7da\n\n# tcId = 325\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 303c021c54d6d44373f7dfc98455a22cd39a0b320fabc33215216b37365b5a16021c29cc690f2467c02e07bc416ad47204975af8c5c3346973f2b03ded3d\n\n# tcId = 326\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 303c021c2f5048c9ef9f30da7cb3fe4624552200f9e57a46d79db0484a0d9cf2021c06dad3a4682725852869a1a459bec865661e1a38a9e546eeaac7cb84\n\n# tcId = 327\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 303e021d00abbf0a02332fbea779899d31d3abd2d22c9c02d4058ced639bf06c45021d00cce0570f3812e5cfcb23376c554c7fc35dbcfeb623a7958c664ac6a4\n\n# tcId = 328\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 303d021c1c30cb8bc21087b77eb1216ee8629e3676d925f1ae15077cc631da4f021d00ee998157bdefb77d1044e983a6afec7d91a23d95c937fc5c6548c989\n\n# tcId = 329\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 303c021c43ee11a7ab62e2125e765c2ce5d4f84704183539810512268d87f195021c65897e54025777659ee802b39c6bfd5ccc5706a9d1b38f95c078abaf\n\n# tcId = 330\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 303e021d00a1fe3f4d3f43aaa3dcafa79ed99fbc045c11c352caacd89f0f63847e021d00ca2e37bd2c13b9fb3f8a55b7a67eb034240395abd39fecde75141336\n\n# tcId = 331\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 303e021d00bd290286ca08485ea4137010c67203c2455e7b669d153c6be40087c7021d0097dd7502ba3637f33baea5b2398647ad24c0fe35072bd963149b5aa0\n\n# tcId = 332\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 303e021d00c917269a5a4ce80b7fe54a8bed49326b50527a4d2fb0a3093182b5a5021d00a195ec0e69e3172e854e87dd651b44433fcd7dcbb7bd59515d2afe8e\n\n# tcId = 333\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 303c021c0b7b5aab8364dd4b11001a0b986d5aa4fb61ee720237417a7f63722f021c7f13b411e645e819fed1b925ebe807d9560b44d0ba1b75bd2fbd1294\n\n# tcId = 334\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 303c021c505b974f8ecf07b60ffdbd2b2df9324de92b39476eb763a4c25f126a021c1c36ed1dee772c724205f717c383f49a87a5bc3caa0ef81360f9d800\n\n# tcId = 335\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 303d021c24219e49b98a9b64e56d21c908c870eb88b447d9f1ddb735083d6df2021d00bc4d7644faeff1e134443b2bb3bb2a20e2a4a7c193180626127ce937\n\n# tcId = 336\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 303d021c083246081cf2f8c5e1cd42b60450fc6cac3b0ab03d38bdd271cd7370021d008d117ec32dbf939394499f7dbc2ab77290e9222d6d60ea02ce45c58a\n\n# tcId = 337\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 303c021c24916961dd0d168c2878ca4fd065b81311c03b7f23f8416f4a23b14b021c1e37e3c03b2333b33bbb2ebe05b031042af19315adfdccdfc8d078ee\n\n# tcId = 338\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig", - " = 303e021d008df5468b123b92477a5c57ea86c54c5c9e41d119370dc18922aa8303021d0086bdf06b75f4d49d02c5806926f5d01b1a4f6a8146664a03fa820772\n\n# tcId = 339\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 303d021d00f65bf16f7ced97b0cdc22b08c62ef811306813134b001bc51140e828021c3a9b7c008cdaf803368df9ee50e274c7a9f9369344d9918e0c08dba9\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[key.wx = 4408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9]\n[key.wy = 0f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[sha = SHA-512]\n\n# tcId = 340\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 341\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[key.wx = 315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269]\n[key.wy = 504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[sha = SHA-512]\n\n# tcId = 342\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[key.wx = 2f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a79]\n[key.wy = 71bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[sha = SHA-512]\n\n# tcId = 343\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[key.wx = 0d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f86]\n[key.wy = 41c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[sha = SHA-512]\n\n# tcId = 344\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[key.wx = 0e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b]\n[key.wy = 66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[sha = SHA-512]\n\n# tcId = 345\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[key.wx = 723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1]\n[key.wy = 0cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[sha = SHA-512]\n\n# tcId = 346\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[key.wx = 0a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88]\n[key.wy = 0f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[sha = SHA-512]\n\n# tcId = 347\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 348\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[key.wx = 0e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10]\n[key.wy = 0fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[sha = SHA-512]\n\n# tcId = 349\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[key.wx = 0fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f]\n[key.wy = 6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[sha = SHA-512]\n\n# tcId = 350\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[key.wx = 091a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439]\n[key.wy = 0f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[sha = SHA-512]\n\n# tcId = 351\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[key.wx = 0d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652c]\n[key.wy = 0ce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[sha = SHA-512]\n\n# tcId = 352\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4ef", - "b021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[key.wx = 3565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e]\n[key.wy = 09474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[sha = SHA-512]\n\n# tcId = 353\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[key.wx = 29c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c]\n[key.wy = 178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[sha = SHA-512]\n\n# tcId = 354\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[key.wx = 08fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f97]\n[key.wy = 09687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[sha = SHA-512]\n\n# tcId = 355\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[key.wx = 0c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e9]\n[key.wy = 6a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[sha = SHA-512]\n\n# tcId = 356\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 357\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[key.wx = 0961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b]\n[key.wy = 089b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[sha = SHA-512]\n\n# tcId = 358\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[key.wx = 55b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e]\n[key.wy = 795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[sha = SHA-512]\n\n# tcId = 359\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[key.wx = 0c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e140]\n[key.wy = 10d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[sha = SHA-512]\n\n# tcId = 360\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[key.wx = 0c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341]\n[key.wy = 0d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[sha = SHA-512]\n\n# tcId = 361\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[key.wx = 1ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e2]\n[key.wy = 0e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[sha = SHA-512]\n\n# tcId = 362\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[key.wx = 0b21faca17b68058752d943a81f853b800562df8b2172e150953c6242]\n[key.wy = 1c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[sha = SHA-512]\n\n# tcId = 363\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c152aafea3a8612ec83a7dc9448e6600ae6a772d75ad2caf19f9390e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[key.wx = 0f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29c]\n[key.wy = 0b1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[sha = SHA-512]\n\n# tcId = 364\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4e158ef86cc53054f1635c74e65508206048929315e097a59f1519e2\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0475c6a886e2", - "2bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[key.wx = 75c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba2]\n[key.wy = 33ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[sha = SHA-512]\n\n# tcId = 365\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e2ac0b24512e84f6fb015620d689d30d14736cf00c18838753c3814f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[key.wx = 0f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0f]\n[key.wy = 0d2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[sha = SHA-512]\n\n# tcId = 366\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c5221f3c2de0c6fbc07ff04150679b57f57512b814f413aebafe731\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[key.wx = 0bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c]\n[key.wy = 091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[sha = SHA-512]\n\n# tcId = 367\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c221f3c2de0c6fbc07ff041506dc71b5a312063d87beb4c30c289210f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[key.wx = 09fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9f]\n[key.wy = 0b2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[sha = SHA-512]\n\n# tcId = 368\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c443e785bc18df780ffe082a0db8e36b46240c7b0f7d698618512421e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[key.wx = 6123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995d]\n[key.wy = 0a03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[sha = SHA-512]\n\n# tcId = 369\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c2de0c6fbc07ff041506dc73a74fd50136878b7e1341521b2f880b19\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[key.wx = 0a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306e]\n[key.wy = 0c178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[sha = SHA-512]\n\n# tcId = 370\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009f56aa80ae2bcf689be2c11b5db7e3a28983b4a7590692edcf5f8db6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[key.wx = 0e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52ba]\n[key.wy = 0d352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[sha = SHA-512]\n\n# tcId = 371\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3ead55015c579ed137c58236bb70b0a2324e79109e2ffc964262f12f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[key.wx = 0b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca71057]\n[key.wy = 089829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[sha = SHA-512]\n\n# tcId = 372\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00de03ff820a836e39d3a8435219289444bbd22db7f7368f8411c27ee5\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[key.wx = 321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffe]\n[key.wy = 0b1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[sha = SHA-512]\n\n# tcId = 373\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00f15605922897427b7d80ab106b4474d7fa962e970ffad666580fd5c6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[key.wx = 08842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee]\n[key.wy = 4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[key.wx = 084d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc24]\n[key.wy = 3196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[key.wx = 08fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a71", - "17e17a4d0b2b2]\n[key.wy = 7abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[key.wx = 0c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652]\n[key.wy = 0f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[sha = SHA-512]\n\n# tcId = 377\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[key.wx = 0816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663]\n[key.wy = 0edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[sha = SHA-512]\n\n# tcId = 378\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[key.wx = 6429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f39]\n[key.wy = 4f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[sha = SHA-512]\n\n# tcId = 379\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[key.wx = 288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1e]\n[key.wy = 0c84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[key.wx = 0c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f]\n[key.wy = 430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[key.wx = 75f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc]\n[key.wy = 71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[key.wx = 1255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6e]\n[key.wy = 0ea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[key.wx = 0f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f]\n[key.wy = 30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[key.wx = 08fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3]\n[key.wy = 0f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[sha = SHA-512]\n\n# tcId = 385\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[key.wx = 08fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3]\n[key.wy = 0f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[sha = SHA-512]\n\n# tcId = 386\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.key", - "Size = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[key.wx = 0e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121]\n[key.wy = 368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[sha = SHA-512]\n\n# tcId = 387\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[key.wx = 5d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831]\n[key.wy = 0c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[sha = SHA-512]\n\n# tcId = 388\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[key.wx = 0d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5]\n[key.wy = 699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[sha = SHA-512]\n\n# tcId = 389\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[key.wx = 5a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca]\n[key.wy = 2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[sha = SHA-512]\n\n# tcId = 390\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[key.wx = 0cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41]\n[key.wy = 716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[sha = SHA-512]\n\n# tcId = 391\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[key.wx = 0cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931]\n[key.wy = 0ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[sha = SHA-512]\n\n# tcId = 392\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[key.wx = 62f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561]\n[key.wy = 0bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[sha = SHA-512]\n\n# tcId = 393\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[key.wx = 0c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488d]\n[key.wy = 0f9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[sha = SHA-512]\n\n# tcId = 394\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[key.wx = 0e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e]\n[key.wy = 64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[sha = SHA-512]\n\n# tcId = 395\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[key.wx = 30db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cd]\n[key.wy = 0d32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[sha = SHA-512]\n\n# tcId = 396\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[key.wx = 7db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc2]\n[key.wy = 2ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[sha = SHA-512]\n\n# tcId = 397\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[k", - "ey.type = ECPublicKey]\n[key.uncompressed = 04d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[key.wx = 0d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c5]\n[key.wy = 5ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[sha = SHA-512]\n\n# tcId = 398\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[key.wx = 0d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c0]\n[key.wy = 093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[sha = SHA-512]\n\n# tcId = 399\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-512]\n\n# tcId = 400\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 401\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-512]\n\n# tcId = 402\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 403\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-512]\n\n# tcId = 404\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303e021d00f72915d6d916014279616186869a01228fcd9f1b4078353018b399ab021d00b67f2b91eeeb910381f5b461a4a39c642aea4792013d4eb63da1832b\n\n# tcId = 405\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303e021d00a5d179c336ccdc760dfddd913cdf8ea468d0f4686f7b2d3825698ed7021d00a77f12060a4d1b94b0d1c443eae3ad6e21b7eacfdf6fbf39a2b29658\n\n# tcId = 406\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b7c65dce56abe24fb4592ece5ac1e6ee8353431f7452409add736884021d00e5fe5db7988931026b937dc4ef983fe446ca134d29b94ac777cde317\n\n# tcId = 407\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303d021c05c563d3a4bad874e4610adfa57777a59f995bfa06ef97bf125a4988021d0097ed68f546cf4bb4998524c18356f3af162d2bf2744be93357bc4b4b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-512]\n\n# tcId = 408\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00c7a6f358b7d93815189ae5d2c3ab4d4e05f43176a52dd4fc5b48a34a021d00a2458512bb8dbe6f1bd6eb01d2d77d5624e8547bf87d85fc731c0c86\n\n# tcId = 409\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c5f56ca587d16664a20dad13df85a475978e5cee81a8d0f49faaf6158021d00b64ef59d79461fe1a09a5864907435f70bd75f183afb11903f560b7c\n\n# tcId = 410\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00dd94f5b56e9947d007e7c8efd894a5c882f1d0b5dd56c32b5b266521021d00fbc883741bd27c59958ae17ba6e4a41ad1edeca9a3ba31c8f233b5ac\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-512]\n\n# tcId = 411\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d008071e6682c6e8a32706dc7e411503946546b31fff27dcce188ae389f021d00dc396c797d44edf794432d1da091f8c762974d8ce1f06e08ca013622\n\n# tcId = 412\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c791624e5f234b8950d509d0b456ef6fa778b19dccd609d496b62a211021c6c51e846fa53d03d42f798e6bb90954f9a48c1794b47e84ac97b460a\n\n# tcId = 413\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021b34befa1d25b756ce76b383a6e8753741c12a59266c2c7921ff6e8b021d00bc44e3823e4d807cbc92fa786a89e62a4b217b5fb0c0f1865d4a7e43\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-512]\n\n# tcId = 414\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c224a38e733ebd3fac274ecc50ecef2e7c3189be2b9d093a8dcc6fa3a021c134fa5a4f923d296b3c6dd4683d249ccf0ad272890e4149c9a0d7415\n\n# tcId = 415\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c338d07d990879ad844e24c1788e362269d8aca70500357d385768227021d00f745cc4ebaaf1cd42830026a66e5b95564cdbee5edf853", - "bb2cc91259\n\n# tcId = 416\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c689fce4b33d8212a663640a1ae0efaa7a7d7711beba719374fe634ee021c04bd9981fa52293063076f0fd70fc31875d580ef94f020d2f95440e0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-512]\n\n# tcId = 417\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c2a4287e01510e7fb5fed2e1ccc3f2a6929cf7d03850e49d7ae8a504a021c355c3915f3fa9637dc8001438a8c04e15d14934cabd430feb0cb5ba5\n\n# tcId = 418\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00b5bf795a38adb052b401468ffcab81103d2d9fca2e15b8d08ab98ce8021c5ec0d2c6aec71888c941af324c7272bec192abb292f9df82a24e8a41\n\n# tcId = 419\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c100ed07f467133bf10917f7a15ab2bfda519bdbc2653b95955e22211021d00b38a081f7c2e2b775d1da868d0381c09ba1559c9613b5be7159363ad\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-512]\n\n# tcId = 420\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c54e6add8ac910e52c6228fe3980d8f586218334d8d859ba9a3329917021c5836cc79ec88519eab4a6b2614c501628c9fee32fbafd93e32158409\n\n# tcId = 421\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1230d5409f379584b4d548b7bccba64baf81d512a9f2e6398c4e3a66021c1937a298f8cbdfa85b8e6fcf0a12be4966d80270cade85a0c37ee6f3\n\n# tcId = 422\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00862f43b044fb32adb45e00378ba083ae761c84452054f17b1341bf5b021d0095d8d8e5e3a6cc2b0a06c792252ca11a642257721831578520f96b9e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-512]\n\n# tcId = 423\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00cb5cabb1ca01b847a6bc70558d1e5d3a204d1741bbe800f4b159af35021c3580cc85f218394130bddf1c4eac04fe96f59f14fb436686950398be\n\n# tcId = 424\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00c9d83dc04cf4ee89c405045d0fd1d704f627ca5bbe350f40b826bbc1021c74fedc9e55045e9759f2124460fdfb991dc620cfee6effc0b4adaa9e\n\n# tcId = 425\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c46dd65b6e7f10c0841841b01033a5befd3a0e78c85f1f390bb3cdf25021d00f33acea3d47cf0dd5273735b004104f6512ed641052509422c0325a7\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-512]\n\n# tcId = 426\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ddb4a7e400a1e98118f474722da3f421f65a76eec61f4f7b699faf07021d00db80cba199859cdfe916d6ab3deb91d76aaf0ed554c8f9ed7e5aa59d\n\n# tcId = 427\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c4c260b546280604e4c80384721c9e803ef704e7fb70168e6730fc1f3021d00a8aceae219ac25c9f04231b4e0c171413db1d26df1c1e8430062eb2b\n\n# tcId = 428\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00f4098d2c0240e78fceabb0183df0b39e7ad3e7f5d6da1587fa09853c021d00d42412b2abaa614c95eb11f9b9346282ce3a1c93aac35ce7aa372f4a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-512]\n\n# tcId = 429\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c48ddc497f9a4732c677e46c0e2bdabec54fc9d27e46ab595056db4d9021d00b8219ebbfaebc2fe4311efab0c35d4392751351bcc1971e8d01941e4\n\n# tcId = 430\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e1abaf51d27a6d7d4c9b28078325cac2d7ce3d5403916c68903760b7021c2c45a99e2770f782fee5ca1d713eaecf07e62d53c64b7cf93de9900d\n\n# tcId = 431\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00868cd127c99e1149f7fc8d878cdfa986b62e99addea281149611ff15021c16e5953820135b7d462ce5434ef85920e973eec9e4d14d7cb3cc2a3f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-512]\n\n# tcId = 432\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00a375929718ec4e6ada9c9370c51df6bdaee7ebab2a70675d42a0b6b3021d009eaf4802efaf7ca082ffbf5ed774af43792d9b3fd711c6b1c36112ff\n\n# tcId = 433\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00d97b32f3bf8bc11ec2672dd6320418beeed99527a63fe4c52199ec61021c68dd9006b03319ccbe651d0bdaf84c63356f03cb007a6865ee3e0206\n\n# tcId = 434\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008ee5794dc2e66f2584910ea1d8361e5b53db535adcf5c1c35e128309021c5d1d8b9b996c0a488e05af14421b86e9841f0cba706027fc827d4d95\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-512]\n\n# tcId = 435\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c7999727c0cc02d88ef274012a762afcbb19e7fce19091a02acd00", - "564021d00dbfacf67999f22c499d48a60a6fe4bbb746199c29957a1ec7a0900e0\n\n# tcId = 436\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c5797c21c0162e42f69693c6c0244dfdf9218c01e9235760177b61a54021c5452c887b27fb342a8a00d27579c7195dddb73df399233ed0dea567b\n\n# tcId = 437\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0eb9dc5d67bb0d4009544f8654977907dfe770e7fae4571d31d7b4fa021d00ab5cda53e868bff5198be4be3681b186cb0c1396d272c71f093f8b12\n\n", +static const char *kData101[] = { + "# Imported from Wycheproof's ecdsa_secp224r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 00eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 00eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbd285ea180b4c6150cdafafb0f6f0f\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30813d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d0280691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f0000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042498177303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412500303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30422221498177021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304122202500021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045221e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0004deadbeef021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2222498177021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab22212500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab221f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045aa00bb00cd00303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043aa02aabb303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30452224aa00bb00cd00021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig", + " = 30432222aa02aabb021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2225aa00bb00cd00021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2223aa02aabb021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30412280021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30412280031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3041300102303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 56\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e00\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e05000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f3000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e3000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3040021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2ebf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 301e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303e02811c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02811d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f0282001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0282001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021d691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021e00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 75\n#", + " wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30420285010000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285010000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3046028901000000000000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3046021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028901000000000000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304102847fffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02847fffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410284ffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0284ffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30420285ffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285ffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30450288ffffffffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0288ffffffffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d02ff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02ff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302002021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e0000691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f000000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210281021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30210500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d011c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d041c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303dff1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab011d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab041d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92abff1d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210200021d0", + "0c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30412220020169021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2221020100021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c6b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d02c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf922b021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbbae\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021eff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3022090180021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d01691c723dd6a7f5d11b8c8e8bd08173428bc48a2c3f031caaec3bbce8021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff691c723dd6a7f5d11b8c8e8bd08345fcca52a9b01748ca203383686e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c96e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0096e38dc229580a2ee47371742f7cba0335ad564fe8b735dfcc7c9792021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dfe96e38dc229580a2ee47371742f7e8cbd743b75d3c0fce35513c44318021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d01691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0096e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab0834104e71ff12bb612ad778fbda8e56b\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08342d7a15e7f4b39eaf3250504f090f1\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dff394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dfe394766fb67a65fe0af6c154f7cbefb18e00ed449ed52887042571a95\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature wit", + "h special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\nflags = EdgeCase\n\n# tcId = 196\n#", + " Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3639313930\nresult = valid\nsig = 303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c221a25eb9cc8dd66fdf156b2f6ab601ab6d9c509247f8de5d2671a96\n\n# tcId = 231\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 303c021c3b3008ed596b7fa276498def40d96b1eb2ffb731a44050ffb732e4e6021c6dbb08c56db737e9392ff4f3a54d8b806d70af226ecf413b3465de55\n\n# tcId = 232\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 303d021d00d1fe269c3061e4b94604e8d612d70887068cc7d5232cd5a9b72923a1021c3c1cbc027d33fb2451d52dce3a828a8c7ecc490a28a94e5e5bb2c4d7\n\n# tcId = 233\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 303d021c04586134cc679295dd93499311c4a8af37cb94dadbae18d8ee279b9b021d00bf9170a1b65b665664cf567d40a995ce252a23d6a9f962b05e364486\n\n# tcId = 234\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 303d021d00c1f51009b935b4773374364ec3eed72a24b70926e0349c77862f3475021c46df3d98f104ba6602f8041a5bf5495fb240e103d1bd17f2fa878923\n\n# tcId = 235\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 303e021d00e822242872f1ecf338a4f773df87b67e9b21bb283acac7d66b26", + "551e021d0094d4e0fc3c6359994a6eaedddd1533f490f72ef85139f8d3b39cf07b\n\n# tcId = 236\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 303c021c7fd45528eb7bfc3710e273c4468f0b50ebf93f94cd0e7a602a4929a6021c46613dd1ffd85df8d71f3498001721fda4982c27a1c291359b05b1b8\n\n# tcId = 237\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 303d021c36d137b69171a486933b50138d1db1842724766afd25c85b0032daf5021d008e700de21f2fc350a34c7cc19054cf371ecab6f7331ccecf68fca0f4\n\n# tcId = 238\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 303e021d00da3b436908f5a82f26bc17a8577ad2a782946e3a7587b01d253b1dd0021d00a6544e38f24e8117370c049b5d1f6712ea14337a94511224df4496a3\n\n# tcId = 239\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 303c021c4314a2bd139d47be3d9fd9ebdd72a06a220219c7596b944178ee6f5f021c0e6f1d2f57c699654e9c705d7b8fa3c1ccb0f939f6368bed246b2e10\n\n# tcId = 240\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 303d021c6a25643464682679d84970c603927f4a8ca83e7ef9715dd1ed84c28f021d00932b78d165c225a5253e6201c0b1ded0898ba24de44b23233eb78054\n\n# tcId = 241\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 303c021c476aaa58677d9e60477cffd026c43248e2cf3cc21e8fdccb75ceefad021c7799fc7af8f9b929203faf899bb5ca1aecf2492555157282dfde790d\n\n# tcId = 242\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 303d021c63a98614a1421e2ebb278de53b61618bafc757122647affd358c667a021d008edba806e0a7e438ca35f98405a8ad2d5c3e8cc2d5c4384233aef0a5\n\n# tcId = 243\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 303e021d00880b5238a014f8b44655b83c175880eb1e8307899a824ea3e07dbd6d021d00a4724c8649fd74e5bc8d7fe6a9067a1376fb8e08dbdaed68980b0f50\n\n# tcId = 244\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 303e021d00f8743588234634dd9891f4f2f40f4e46b77f97b82dc5dbe234aa6b5d021d0080656e5262bc25e158f3b78f51ae0d6a41cc8cca1aa457221b2eb7fb\n\n# tcId = 245\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 303d021c2a2357e3d8fe34434582be4dabd58b77b388d1d52adcc664f45dece4021d0094be3a369b7c2788df4587ec5bd4163c4cbc40b77de1a85e8bcfb251\n\n# tcId = 246\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 303d021d00b6b0c0aba6c611300ecad8816242c415f183a2bd4d46cd7769033d9b021c7750b24be02f22dc0b656fe4af377413f9453dff99226915dbb6e08f\n\n# tcId = 247\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 303d021d00a5c1a75c2779f3eb83a65e295927cce4288e9d5c2132a4c7ca92526e021c10fe30f0be33a785385137b57d806140a402b9bd3c1df1b57de6da63\n\n# tcId = 248\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 303d021d00b92b5521d1a7abe77e8524dbd3001121cf83c08017e3917bc58b5d1c021c224b113779017f6a522171edf930f1b5d4f5e7dedc6d2d514fd7883c\n\n# tcId = 249\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 303e021d00ebd3ecf3aa64cdcdd171585a141a4a673a8d5de0ca087dfcdf62432e021d00e0f1a0f7b8f5ac4a42632f87156ad1094079393b03f2051a9fd60249\n\n# tcId = 250\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 303d021c6c3854297e1f267b64a28e0cd6148e0fadcf85bc8d5c23947543bcb8021d00aa0594ee11312f5d4767d296e5ca83df68072811f81a8d27e178ca5d\n\n# tcId = 251\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 303c021c785ac8c956d7797ae67498775b3c446c41735eb15f3430b49f6a09f2021c5710879ab83994e809c8d2cbd6f2ac5c205b4b8d6226e98be03e7967\n\n# tcId = 252\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 303e021d00f1f3d016693125ba73981c8f9a1748e5dce1d9634355f26fa536190e021d00b574e97def60dcd0e9177106483791b2edb4ab0342b9f5ebb957d5b0\n\n# tcId = 253\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 303e021d00e64f3371522cb1a5f0d1511b152b20e01deca0b3284786853cac279a021d00c9a2e5f4ffde22b9d4ed0179ce74fff408ea918dda7685c7980ae61a\n\n# tcId = 254\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 303d021c1f99dd6ef72feeeda6c123baa4fabb126d7dedb64130fae3f4230797021d00e441ec51dca6271b043e95753c4043d7cb4e76fdc13d6aea45fbf243\n\n# tcId = 255\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 303d021d008637a09627c52766bf96f0b6cea6f2ac3eb303001c5f6fe6d628e4ba021c10b66c599455d40077bb865ed43e2c2cc403473baa6d63b16be48c84\n\n# tcId = 256\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 303c021c52a010a23e4f9ebb459bbe9f3057e6c19761fb99d25c9b16b8f007d8021c526dc1f34444de00447ba23c76950f2c159579d548b6335d127ea321\n\n# tcId = 257\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 303d021d00fc49caaada528f3357e5a264f2e7f970ca1b15ca5fee28741d1202ac021c175e884d10d0bfd20b39311ce2c53083da167d1f3dfeb990e59ed628\n\n# tcId = 258\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 303d021d00d95d539a85c9edacd4e02ede27b0e0b737099612d166c637c83a9f34021c59936a2b90b7f3f3da83f64dec8e347a3bfa57baadf9acea18c071d8\n\n# tcId = 259\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 303c021c1895e65593d71e5635cce022dda19bd155bb9a7f2e307e5ce9127ade021c121b487c320c544dcdd471d46fcde2ce5dc9d17fda70544c4eab50a2\n\n# tcId = 260\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 303d021d00b5f4c85b13b51a5da81a236f1105937f3d98856d2aeb57101b6b499c021c3be74ae770fa6467f76a742eb9e504a815a4a60e74b38bcaa89f9b06\n\n# tcId = 261\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 303c021c07a57197667a0c40423d4811ff96384c9330467e8a28eaa4c0d519f4021c011062c8694494baaed24ff610e1e4227efb59a163c33fafd40100f9\n\n# tcId = 262\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 303c021b7f718615ba1d0a9d27a8c5a678a6225ffe1233ed8b417c9343b310021d00cf6a87e4496725c6a2612f4034ddf4b31c7435e2fc3a163e92d463ba\n\n# tcId = 263\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 303e021d00ba8f95a4363c493a9f78bb61dbefaa9587d028bb8344420de2b0cf21021d00b3798c2d6e27a2591c2edc18320b78bf11df194b11b3fb498c595232\n\n# tcId = 264\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 303c021c596b74077801db2e889d3b2aaa3990fe180abc152d48528385ca955d021c38bffd416f779843fad389750003eb0708112a4834c554f476a3e0d1\n\n# tcId = 265\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 303d021d008547f62967523a06c9690e5ff66c3f2254cda28f09ffccc222433d39021c3d9ebf664ee551bb7b33157d6c6c5fd456bda3d4ae460215ec1a5f94\n\n# tcId = 266\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 303d021d0090ee3fab9c6ce373a1b35fc135fe878280ee25e58a4bd7529e91b4f0021c6451e7526505b44e88472b46eda3fd2679824dcdfc445e67f35ea382\n\n# tcId = 267\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 303c021c0a530530b6a9238d2d1a3cf468986c87f3b208f61ea0486d53140c17021c5f027a73f31a5cc2bee81ff0019477c542fd782ecde0e551fcd37e93\n\n# tcId = 268\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 303e021d00beab4abd23df5e2acfff07c82e245dfa7d587d0238c2c9ab9c88a96a021d0098c6507635536840edf604f9baae6408ce4d3fbee694db3abd825011\n\n# tcId = 269\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 303d021c3ec8c36335cb98fa07b983c35b7fc256f44a5aa192d6087595145a15021d00c32b7a47ac6271f4593562bbbf91f9e07395a5e4d46970495cf29f05\n\n# tcId = 270\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 303d021d00bd635a741f1f2a1d9ac1698baf5cfc491d5e3f8e15f1cacbe4ffe4dc021c4bb606cf7cc11d0d7d96b83966f42276095ccc445882ed5afddabf1e\n\n# tcId = 271\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 303d021d00812c08622c0a09d949b7628585c4f4f2db4c5591b5da148ff46d5cd4021c2104f9bc9d0079acb3077d2db58f388119500c5322cb9b5389b5c5d7\n\n# tcId = 272\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 303e021d00fa4e1c8b0006f269c855eb495fa3a113f643fa8b1fef2b08ab145994021d00fe85b8b522c7f9e8943e0f62643395bd1fcdabc892c315d108b75f65\n\n# tcId = 273\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 303e021d008c1d9b7911bacb6b4a09582648b992d46a1832eb006178c0c77fcb10021d00becbe12b99f243766da5bdad07461b9226a8298672b4f1adb35357ef\n\n# tcId = 274\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 303c021c78850a40530aa258e478e7c547d3a5e4944d3524f1676443e4dfb37d021c687058e1ca478f52a30c9a3f8e2eea9d8", + "c40599cd47ef66b9430d17d\n\n# tcId = 275\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 303c021c066e7268a6abefe1b4b916ca51c3e958e40dc78c3661313e0ed2e77d021c6404d8a332a837f2ab6bd13e3ee4aad1e9307d449e7f9b7d6332030c\n\n# tcId = 276\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 303c021c4eca73709a67c41603ca5af494c8132483ffc2e0bf171b52de5a5e81021c2c79137cd2add3ce3a76792270e347221a3ad786eafc2682b39bcf95\n\n# tcId = 277\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 303d021c0178512f8844984222393a63263e0a009601869e632f07eb7470aa05021d00e32657cded1122cee0a4f66ff50a32da1f05de4c5e217acdf5eb6fe2\n\n# tcId = 278\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 303d021d00e2c7bf1222ca23a56492873c2d3fa6c7030cc166d693142dcea272b6021c715a4c82fda4404217dea6c0bbf3ac24f8faa2b435fbc6d51a32c4a8\n\n# tcId = 279\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 303c021c49886a8c26c91d649cbfecda6ce8d1441e764c66f5d81dceedb6c5ba021c4370d8bcd4f052fac9491d62850b6a6a85d5acc44d9248c3dff30bf2\n\n# tcId = 280\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 303e021d00e1ae225e1aeca40747ff3e7ad1f75eb9bc90d637160a7f58ce12e591021d00b97cbea3a9323110315760b7e2ede496514b30f0eec521ffeb07a634\n\n# tcId = 281\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 303d021d008a93b87b46512544fb9a7af5c41e3aa72e40235ef87ccb7108daae48021c157db617ac697df407af7a11626c52a1af7ef189514da39918c43010\n\n# tcId = 282\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 303e021d00ebdebe6388b9f460fce6d84faa67ded1e864ef09e77ea3ce58a5deff021d00be5052033eb40380c2b1325fe97dcc55841e147a89f02a296b4505ef\n\n# tcId = 283\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 303e021d00e85d0667972d003c82afb9e18b702357119b4f38401a5ebdfcbea88c021d00eb7b3e5268a4ce6280f72d7e9a3d74e5cac50b1c3a5296cdb5a49d82\n\n# tcId = 284\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 303c021c3d243581c0874fd4eb4d80f896c5067429ad455314881951ab5ec6e3021c0ec47aba08ccba88c1a6ddc289f595bda08dc2dd34d12dcefb68094d\n\n# tcId = 285\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 303d021c75c966bbdcef9157d47a134231229f9f5ee8ce458775fc747d4509bd021d00e344fa716e2088d95a55d02a978a416da10f22a5cccf35a2863227cf\n\n# tcId = 286\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 303e021d00cfdf599e986d770b73784d97149f9945fd16d22c302bb796156e7fb4021d00c6409785047b0083f008771b40db8502583208b61c8984671acb0929\n\n# tcId = 287\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 303e021d00c53c4aeec8f2e7a5cc0e885a6031aa1a6c1b7b7fec83b5084cbe291f021d00b0e6d10a8fd86f958c3b0f4662ed8ca0d6eadbc892aac4200fcf8315\n\n# tcId = 288\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 303d021c2386550d6e75350bcc32507bfc9beb9c26d72ff82f671c1f5282e98b021d00a55b8de808c4359fb529b80a80d9fc6eddb5ce08082c3b677c689991\n\n# tcId = 289\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 303d021c1fbd192d955ce02b64a3be5bb21bef22b53a6c6f9576d8f889b09e4e021d00f5a9b673a4ee5aabf1ca8e8289f25b62a3e08b956f7418c03e2d3031\n\n# tcId = 290\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 303d021d00b80ffba451db9fc2194e450bdd43bc0f53a7d0f4a78900c09fb8d9bc021c0124eeeab9035b6c845959e70b04d1e187d554807d6751afabcc1802\n\n# tcId = 291\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 303c021c187fb026ade3ad16dd4b2813e8ebda433cb6cc3af1615bedf486a9e2021c6fbee53fa884d296f34f7719f74919434d1b7090c485eeed2fb8fd6c\n\n# tcId = 292\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 303d021d00e598a16fe12da79e9814f6985c9a9334010f287dc9e38de857ca5fc0021c19e0ed54f0e08ad091a163b4c7b86d0634da2c86a7a8991f5d8706d8\n\n# tcId = 293\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 303d021d00b31a10480e397c8aa46f52a0f2fb5c22ebc0534fba156718b50cf6ea021c602004df4b47a2065130ca3b05f1eb02d0b37b79b04b1eb799408346\n\n# tcId = 294\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 303e021d00bc47e242d19dcc6321913980d73923e430bc6623d219529d586619b6021d0081397dd2f52811b534ed754a937d904f04a7de278fa3bc8926de6946\n\n# tcId = 295\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 303c021c5be0e0dfb26b1caa88f866504aa8e76f035a82abe00028d962bcfafa021c3c3c1df06026123471bed324ca79c51b28b3d10b1ce877cef21b852d\n\n# tcId = 296\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 303e021d00fe79d0cfe455724792cb5ab0580ad4f2918c1403ec12f0bdd2ce6528021d00f1357cd4afc402994ab868b0163f41701e0f00e561fdd97e0db6f7b9\n\n# tcId = 297\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 303d021c1858c5d857124cd703e7c2f5e99d5025d6d979539c6f50b1d00fbd34021d00d94a5adb6d9c5001162620415541d49334fb929bc86a350ca4591195\n\n# tcId = 298\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 303e021d00e6b2ec967cfa25f57234b9ef1d87c5945502cbbd5831c862f00774d1021d00caea26368bffc8e562b2bd03aa6c9dc41c529659fefe6597fce9cd9c\n\n# tcId = 299\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 303d021d00a59b438b2472074a93a289b33f5b13e604977dd3ab4d744d08e1061b021c699574a17dc8c7298c9321ca78552e5128ea801d056f387ba42f7a09\n\n# tcId = 300\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 303d021c748481709c6882c4a130193834a57f4bc714906211ec6cc12c400dff021d00eec6c9d5a06786f821a8117eec3dc025ed3ac74e39e98a16a4aa285c\n\n# tcId = 301\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 303e021d00bc8991b506997403e123136a9c140a4336364733b0815f40d1dbd5fe021d00819503ea3b4c07fc157f948f6949705d560a881fc1c6af4b7391765c\n\n# tcId = 302\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 303c021c1caece75c8e31bb0c5cceb0842f23683b8557a97036574ea88ceeabd021c645ad3276aaee22b693647f00dce5f91a03b678b789b667cd3b8e751\n\n# tcId = 303\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 303c021c3a7d582068aaecaba945203bc445b3312e5cb40886522987aced68d0021c39b3c612b6743a13bb2ffb83514d690cfcb9a7055e3a993cb0863938\n\n# tcId = 304\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 303e021d00f773c49fd0645716d16e559e22c39101df266cdfa7cb61ce46f85280021d00df6109fd77a241031cf03b376e001d8a3cd2a6b646edbf9e578133f1\n\n# tcId = 305\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 303c021c79cf893f66f7faa5ca08553ea03456107e7bb391a5e51260cedaea84021c32e8e3509468da7216c59975d4f3d5493848a03f864b2332044e68d1\n\n# tcId = 306\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 303d021c025ecd1a7ab765fbfd25a6d7cd3c461e17f465e6958bce9f492b7a5a021d00a1ca95038603d302761e416935acbd6b716a316c9b79c57d4053cb79\n\n# tcId = 307\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 303d021c3d14a4c21ba4dbd338fdd8b15fcdd0a9228f157cfaf2b09dd4f2aa67021d00e1640e8bd2a6110dc18d6f290b7325814710c0dc88b76f127c5e9e21\n\n# tcId = 308\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 303c021c258dce916ef78b9d8a87beaf6edd35bcccc08c5de488586e1b7b749a021c4ff500db4d665c7062179c099b2985a814f99fbfa44a3a709024d589\n\n# tcId = 309\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 303e021d00cecf0aec5357749f357c459575298a3384dc4ac381438ff99acd9993021d00da7adb092a6890e0918c235a62d4a949b0cae5e57856975108fb2b91\n\n# tcId = 310\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 303d021d00d77f2e547fd68d5db314901da1ff7ecaf3d0c17ec047a974a7cec33e021c443a97afdf882272bf0233c8c4a8d23c9352ad89b1770c26240f6650\n\n# tcId = 311\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 303e021d00d5dcf93e6e1b93323ea2642d3405a7423cb04f59c03420193f394886021d00ddd5842e4928ee4b5d77d43d4a4bfc7f991c899727b75fc941b52995\n\n# tcId = 312\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 303d021d00a9bc3ebc6ee34421326711ce29518d02bd403ead806a3e4502efa0ce021c12610b89a61689a8eb6e062d2524278155fe499ffecc0e0d940d48a7\n\n# tcId = 313\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 303e021d00c703c508784ef71b596dcd61c5b01b45c6c69d2b36a5a3b7701e5976021d00f05444a777204118f3ac2afc92d0212831bf7002158e7c656f4c07db\n\n# tcId = 314", + "\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 303e021d0080674b740b64d383677c049a6f4baeb214f4a6b5933033853e634578021d009b3a804c75ed790e31966bc25730b7428af8c73c65fb503c06c597eb\n\n# tcId = 315\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 303c021c7ed658c30f4a0dcc894c39f9320f59a185509ffee45eac6023577c7c021c47ac94a501806d5adffea9fcf3ccd8cf79f3cc47eca9fe38fc4886b4\n\n# tcId = 316\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 303d021c397f669cc399a91da96c16efd233f6fe60d1b7caa397cc257843b30b021d00f19375fe66eae4738ec9dc5b7ef51cb33d4cb258f36944d37dd245cb\n\n# tcId = 317\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 303c021c537ec369b3f0d891e166f6c74e5d73dd2c4822210c5fe5f978c34072021c0b183c48b5f6e69245cb76e1e2c39663eedfb74ba9538739ac495ff5\n\n# tcId = 318\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 303d021d00d0ed7159cc3a79988f3c279287ca8ed10bb8f02c8b5a6204aead1223021c75ee1e5c00e81899bfa8545edcc64fdf707dae1f61d976d2f0883777\n\n# tcId = 319\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 303e021d00cf43329a9781db8044a920758e58399866fe7748c0f5d6a3bcdcbcbd021d00d9740d2dd716290ad4160345bcd4af03af01c44b610b1e5953199075\n\n# tcId = 320\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 303e021d008ab2e92c8c9143f9d8da3bdb1d935cce3ab60ae99b3ccfe863b15d14021d0088c89302e8a9c591c6ed16b1ae46f966004d0b2685449842e291d742\n\n# tcId = 321\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 303d021c04f60f8450b448198cf7981116de06d4c4888cd26be3a5947092238f021d00cb23fcb33c14f089c2ae030146d68fa65eb9b086fa792f95be8ecf35\n\n# tcId = 322\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 303e021d00f270f7a70a96a0f916c7530c6dea7178e6c087ddbcc60aacd8a7c553021d008b2c378554121365a180ad4edf1a12e566ba55eeabf525356783e603\n\n# tcId = 323\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 303e021d0085ad01b236ca4a5451969242e16165d322428235a2af8fdcd6c4c7b9021d008eb2998c5e0aaf279793caff59a266ca2068d94ebf77bae81fd0fb6a\n\n# tcId = 324\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 303d021d00cffdb8d64b5b84b490ff73d77e51cc7797bf67c5ee0a4999def17230021c3baf4b34e1a35e9606a460b395063a554264a9c43cc302ab5abf473e\n\n# tcId = 325\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 303c021c66cda58a5a6ddb9476e36dbad5df542be88d7e447bdc3dfe1d9e8b2c021c0d99d387486a964ebab4e29bad583e46a5a200391d1065768a4e35fd\n\n# tcId = 326\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 303c021c3200761902825bd353908accd2be6b482645646971f96dc490706a37021c3ed77899efdbe418370fa7998df3b7c924bed6864535277f805c894f\n\n# tcId = 327\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 303e021d00ba0eff0ee46aa9fca5ab8ad64aee4037931d3ad0b953d404ef9f7bdc021d00afdf21df0dcbe39c2f5fa9ef7e1a2bca87d1213d1eca438929ad8982\n\n# tcId = 328\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 303e021d00a20c6883fc6ec1ca4bb378ac88ed670a742a6284113d5fa3182a1858021d00e0a73b913b94163175d264224cc70736f2fb8e8d58e914b18c921323\n\n# tcId = 329\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 303e021d00f2f4af956b0c5409949d377e9bc68e4f1abef7969b518f8beacf27db021d00df3a7b5993d2393ade70a2cfc1e8671a78ca4fecb56425a661a2d2fc\n\n# tcId = 330\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 303c021c331a1a553494f8524adb4e8a722d558965fb703ae432bf3cbdb255c2021c5ab6e3dee6a2516fc4e0ac88e6dfc81d2bc37c98949cc03e521d389d\n\n# tcId = 331\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 303e021d00867135558e06e19796ebce8e3555c607a6607d46f7c8da6b8552ffc1021d008e827e8b9a4f74efeec7d7ba5c23428fde0227df55a1efc179a353b1\n\n# tcId = 332\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 303d021c6746903ca095bfd3f6378a70092723483ca190b2392d8b1ad337969f021d00f33bfae0835c23a80ec9f33ce9a9035c192836a0b2fadd347d803f96\n\n# tcId = 333\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 303d021c7fc0d8739ecfe349e506e71203a6e60e628a1bb0c67d5e574cb8831c021d00cf8bb1557152c57550a0fde6571456fa752782f7f92f7bb235dde39f\n\n# tcId = 334\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 303e021d00b4486e3139e0b1542892db3d3f51b0524894e19cb00cd07b03ee9c97021d00ad9728d77a8b7b4fa435b3345847860c332d65d8152aa6503ab18755\n\n# tcId = 335\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 303e021d00afbbdc8e50e801ecbd2e3705079717f4f9d69f3b3d85215aeecb4fbc021d00eceadd4e2cc9cea10b56d16a03fa551fec3eb808bd8d9f0926d14ed3\n\n# tcId = 336\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 303d021c4a762f7d146f9eafff5ad11a6978260c818b801c3488dd60411f5cf6021d009ea77512585620ef2cfae8b8c9d8171229a32197e1949561bb75a049\n\n# tcId = 337\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 303d021c227fe52b579833feee16c287d29273e2256df68aff0b94d2752d877b021d00bd79935e5faa8e9356622fea0135ecf796daf60333d5ab125f71e512\n\n# tcId = 338\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 303e021d00cd5365983eb165db39ba0c66c3a45b2ce1370c9ad14a9aa76dd4633a021d00a8c77ce42ab1c888a6b5d04b71139fd882328622e15e80252e5cf7da\n\n# tcId = 339\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 303c021c54d6d44373f7dfc98455a22cd39a0b320fabc33215216b37365b5a16021c29cc690f2467c02e07bc416ad47204975af8c5c3346973f2b03ded3d\n\n# tcId = 340\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 303c021c2f5048c9ef9f30da7cb3fe4624552200f9e57a46d79db0484a0d9cf2021c06dad3a4682725852869a1a459bec865661e1a38a9e546eeaac7cb84\n\n# tcId = 341\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 303e021d00abbf0a02332fbea779899d31d3abd2d22c9c02d4058ced639bf06c45021d00cce0570f3812e5cfcb23376c554c7fc35dbcfeb623a7958c664ac6a4\n\n# tcId = 342\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 303d021c1c30cb8bc21087b77eb1216ee8629e3676d925f1ae15077cc631da4f021d00ee998157bdefb77d1044e983a6afec7d91a23d95c937fc5c6548c989\n\n# tcId = 343\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 303c021c43ee11a7ab62e2125e765c2ce5d4f84704183539810512268d87f195021c65897e54025777659ee802b39c6bfd5ccc5706a9d1b38f95c078abaf\n\n# tcId = 344\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 303e021d00a1fe3f4d3f43aaa3dcafa79ed99fbc045c11c352caacd89f0f63847e021d00ca2e37bd2c13b9fb3f8a55b7a67eb034240395abd39fecde75141336\n\n# tcId = 345\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 303e021d00bd290286ca08485ea4137010c67203c2455e7b669d153c6be40087c7021d0097dd7502ba3637f33baea5b2398647ad24c0fe35072bd963149b5aa0\n\n# tcId = 346\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 303e021d00c917269a5a4ce80b7fe54a8bed49326b50527a4d2fb0a3093182b5a5021d00a195ec0e69e3172e854e87dd651b44433fcd7dcbb7bd59515d2afe8e\n\n# tcId = 347\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 303c021c0b7b5aab8364dd4b11001a0b986d5aa4fb61ee720237417a7f63722f021c7f13b411e645e819fed1b925ebe807d9560b44d0ba1b75bd2fbd1294\n\n# tcId = 348\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 303c021c505b974f8ecf07b60ffdbd2b2df9324de92b39476eb763a4c25f126a021c1c36ed1dee772c724205f717c383f49a87a5bc3caa0ef81360f9d800\n\n# tcId = 349\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 303d021c24219e49b98a9b64e56d21c908c870eb88b447d9f1ddb735083d6df2021d00bc4d7644faeff1e134443b2bb3bb2a20e2a4a7c193180626127ce937\n\n# tcId = 350\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 303d021c083246081cf2f8c5e1cd42b60450fc6cac3b0ab03d38bdd271cd7370021d008d117ec32dbf939394499f7dbc2ab77290e9222d6d60ea02ce45c58a\n\n# tcId = 351\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 303c021c24916961dd0d168c2878ca4fd065b81311c03b7f23f8416f4a23b14b021c1e37e3c03b2333b33bbb2ebe05b031042af19315adfdccdfc8d078ee\n\n# tcId = 352\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 303e021d008df5468b123b92477a5c57ea86c54c5c9e41d119370dc18922aa8303021d0086bdf06b75f4d49d02c5806926f5d01b1a4f6a8146664a03fa820772\n\n# tcId = 353\n# special case hash\nmsg = ", + "36323135363635313234\nresult = valid\nsig = 303d021d00f65bf16f7ced97b0cdc22b08c62ef811306813134b001bc51140e828021c3a9b7c008cdaf803368df9ee50e274c7a9f9369344d9918e0c08dba9\n\n# tcId = 354\n# Signature generated without truncating the hash\nmsg = 313233343030\nresult = invalid\nsig = 303c021c6239877430e268f1a3ada2c90357247c6ca6687f49023bed0fb5b597021c355c60c09f0dacb9d74b7ccde71806c50fda8750c6ecb7abba910ac7\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[key.wx = 4408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9]\n[key.wy = 00f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[sha = SHA-512]\n\n# tcId = 355\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 356\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[key.wx = 315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269]\n[key.wy = 504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[sha = SHA-512]\n\n# tcId = 357\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[key.wx = 2f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a79]\n[key.wy = 71bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[sha = SHA-512]\n\n# tcId = 358\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[key.wx = 00d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f86]\n[key.wy = 41c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[sha = SHA-512]\n\n# tcId = 359\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[key.wx = 00e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b]\n[key.wy = 66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[sha = SHA-512]\n\n# tcId = 360\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[key.wx = 723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1]\n[key.wy = 00cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[sha = SHA-512]\n\n# tcId = 361\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[key.wx = 00a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88]\n[key.wy = 00f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[sha = SHA-512]\n\n# tcId = 362\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 363\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[key.wx = 00e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10]\n[key.wy = 00fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[sha = SHA-512]\n\n# tcId = 364\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[key.wx = 00fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f]\n[key.wy = 6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[sha = SHA-512]\n\n# tcId = 365\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[key.wx = 0091a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439]\n[key.wy = 00f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[sha = SHA-512]\n\n# tcId = 366\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[key.wx = 00d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652c]\n[key.wy = 00ce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[sha = SHA-512]\n\n# tcId = 367\n# 100-bit r and small s^-1\nm", + "sg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[key.wx = 3565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e]\n[key.wy = 009474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[sha = SHA-512]\n\n# tcId = 368\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[key.wx = 29c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c]\n[key.wy = 178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[sha = SHA-512]\n\n# tcId = 369\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[key.wx = 008fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f97]\n[key.wy = 009687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[sha = SHA-512]\n\n# tcId = 370\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[key.wx = 00c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e9]\n[key.wy = 6a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[sha = SHA-512]\n\n# tcId = 371\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 372\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[key.wx = 00961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b]\n[key.wy = 0089b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[sha = SHA-512]\n\n# tcId = 373\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048db53fe4168df43ee538bc9d758b8c26fa433fb0101bcbad039585de2310dfc20835379ea406993036fd4bb0f67d14760e1eb414c32dd1f3]\n[key.wx = 008db53fe4168df43ee538bc9d758b8c26fa433fb0101bcbad039585de]\n[key.wy = 2310dfc20835379ea406993036fd4bb0f67d14760e1eb414c32dd1f3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048db53fe4168df43ee538bc9d758b8c26fa433fb0101bcbad039585de2310dfc20835379ea406993036fd4bb0f67d14760e1eb414c32dd1f3]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 040b7fa61983e7a227f738847d457f3e8cf0a4085c312fb6dcec822570ee7434ce2ff3fbcc1d0960379876e9dd5bed28aad576eea233a44b0d]\n[key.wx = 0b7fa61983e7a227f738847d457f3e8cf0a4085c312fb6dcec822570]\n[key.wy = 00ee7434ce2ff3fbcc1d0960379876e9dd5bed28aad576eea233a44b0d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040b7fa61983e7a227f738847d457f3e8cf0a4085c312fb6dcec822570ee7434ce2ff3fbcc1d0960379876e9dd5bed28aad576eea233a44b0d]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[key.wx = 55b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e]\n[key.wy = 795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[sha = SHA-512]\n\n# tcId = 376\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[key.wx = 00c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e140]\n[key.wy = 10d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[sha = SHA-512]\n\n# tcId = 377\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[key.wx = 0c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341]\n[key.wy = 00d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[sha = SHA-512]\n\n# tcId = 378\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[key.wx = 1ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e2]\n[key.wy = 0e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[sha = SHA-512]\n\n# tcId = 379\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad", + "40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[key.wx = 00b21faca17b68058752d943a81f853b800562df8b2172e150953c6242]\n[key.wy = 01c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c152aafea3a8612ec83a7dc9448e6600ae6a772d75ad2caf19f9390e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[key.wx = 00f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29c]\n[key.wy = 00b1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4e158ef86cc53054f1635c74e65508206048929315e097a59f1519e2\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[key.wx = 75c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba2]\n[key.wy = 33ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e2ac0b24512e84f6fb015620d689d30d14736cf00c18838753c3814f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[key.wx = 00f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0f]\n[key.wy = 00d2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c5221f3c2de0c6fbc07ff04150679b57f57512b814f413aebafe731\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[key.wx = 00bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c]\n[key.wy = 091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c221f3c2de0c6fbc07ff041506dc71b5a312063d87beb4c30c289210f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[key.wx = 009fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9f]\n[key.wy = 00b2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c443e785bc18df780ffe082a0db8e36b46240c7b0f7d698618512421e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[key.wx = 6123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995d]\n[key.wy = 00a03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c2de0c6fbc07ff041506dc73a74fd50136878b7e1341521b2f880b19\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[key.wx = 00a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306e]\n[key.wy = 00c178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009f56aa80ae2bcf689be2c11b5db7e3a28983b4a7590692edcf5f8db6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[key.wx = 00e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52ba]\n[key.wy = 00d352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3ead55015c579ed137c58236bb70b0a2324e79109e2ffc964262f12f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[key.wx = 00b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca71057]\n[key.wy = 0089829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00de03ff820a836e39d3a8435219289444bbd22db7f7368f8411c27ee5\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[key.wx = 321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffe]\n[key.wy = 00b1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00f15605922897427b7d80ab106b4474d7fa962e970ffad666580fd5c6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0408842f19b114d16be27bb4b6971377", + "ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[key.wx = 08842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee]\n[key.wy = 4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[key.wx = 0084d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc24]\n[key.wy = 3196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[sha = SHA-512]\n\n# tcId = 392\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[key.wx = 008fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b2]\n[key.wy = 07abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[sha = SHA-512]\n\n# tcId = 393\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[key.wx = 00c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652]\n[key.wy = 00f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[sha = SHA-512]\n\n# tcId = 394\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[key.wx = 00816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663]\n[key.wy = 00edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[sha = SHA-512]\n\n# tcId = 395\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[key.wx = 6429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f39]\n[key.wy = 4f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[sha = SHA-512]\n\n# tcId = 396\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[key.wx = 288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1e]\n[key.wy = 00c84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[sha = SHA-512]\n\n# tcId = 397\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[key.wx = 00c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f]\n[key.wy = 430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[sha = SHA-512]\n\n# tcId = 398\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[key.wx = 75f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc]\n[key.wy = 71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[sha = SHA-512]\n\n# tcId = 399\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[key.wx = 1255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6e]\n[key.wy = 00ea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[sha = SHA-512]\n\n# tcId = 400\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[key.wx = 00f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f]\n[key.wy = 30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[sha = SHA-512]\n\n# tcId = 401\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[key.wx = 008fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3]\n", + "[key.wy = 00f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[sha = SHA-512]\n\n# tcId = 402\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[key.wx = 008fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3]\n[key.wy = 0f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[sha = SHA-512]\n\n# tcId = 403\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[key.wx = 00e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121]\n[key.wy = 368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[sha = SHA-512]\n\n# tcId = 404\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[key.wx = 5d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831]\n[key.wy = 00c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[sha = SHA-512]\n\n# tcId = 405\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[key.wx = 00d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5]\n[key.wy = 699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[sha = SHA-512]\n\n# tcId = 406\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[key.wx = 5a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca]\n[key.wy = 2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[sha = SHA-512]\n\n# tcId = 407\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[key.wx = 00cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41]\n[key.wy = 716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[sha = SHA-512]\n\n# tcId = 408\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[key.wx = 00cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931]\n[key.wy = 00ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[sha = SHA-512]\n\n# tcId = 409\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[key.wx = 62f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561]\n[key.wy = 00bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[sha = SHA-512]\n\n# tcId = 410\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[key.wx = 00c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488d]\n[key.wy = 00f9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[sha = SHA-512]\n\n# tcId = 411\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[key.wx = 00e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e]\n[key.wy = 64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[sha = SHA-512]\n\n# tcId = 412\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[key.wx = 30db5d827", + "9319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cd]\n[key.wy = 00d32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[sha = SHA-512]\n\n# tcId = 413\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[key.wx = 7db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc2]\n[key.wy = 2ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[sha = SHA-512]\n\n# tcId = 414\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[key.wx = 00d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c5]\n[key.wy = 5ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[sha = SHA-512]\n\n# tcId = 415\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[key.wx = 00d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c0]\n[key.wy = 0093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[sha = SHA-512]\n\n# tcId = 416\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 00bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-512]\n\n# tcId = 417\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 418\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-512]\n\n# tcId = 419\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 420\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 00ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-512]\n\n# tcId = 421\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303e021d00f72915d6d916014279616186869a01228fcd9f1b4078353018b399ab021d00b67f2b91eeeb910381f5b461a4a39c642aea4792013d4eb63da1832b\n\n# tcId = 422\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303e021d00a5d179c336ccdc760dfddd913cdf8ea468d0f4686f7b2d3825698ed7021d00a77f12060a4d1b94b0d1c443eae3ad6e21b7eacfdf6fbf39a2b29658\n\n# tcId = 423\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b7c65dce56abe24fb4592ece5ac1e6ee8353431f7452409add736884021d00e5fe5db7988931026b937dc4ef983fe446ca134d29b94ac777cde317\n\n# tcId = 424\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303d021c05c563d3a4bad874e4610adfa57777a59f995bfa06ef97bf125a4988021d0097ed68f546cf4bb4998524c18356f3af162d2bf2744be93357bc4b4b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 00aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 008a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-512]\n\n# tcId = 425\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00c7a6f358b7d93815189ae5d2c3ab4d4e05f43176a52dd4fc5b48a34a021d00a2458512bb8dbe6f1bd6eb01d2d77d5624e8547bf87d85fc731c0c86\n\n# tcId = 426\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c5f56ca587d16664a20dad13df85a475978e5cee81a8d0f49faaf6158021d00b64ef59d79461fe1a09a5864907435f70bd75f183afb11903f560b7c\n\n# tcId = 427\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00dd94f5b56e9947d007e7c8efd894a5c882f1d0b5dd56c32b5b266521021d00fbc883741bd27c59958ae17ba6e4a41ad1edeca9a3ba31c8f233b5ac\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 00bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-512]\n\n# tcId = 428\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d008071e6682c6e8a32706dc7e411503946546b31fff27dcce188ae389f021d00dc396c797d44edf794432d1da091f8c762974d8ce1f06e08ca013622\n\n# tcId = 429\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c791624e5f234b8950d509d0b456", + "ef6fa778b19dccd609d496b62a211021c6c51e846fa53d03d42f798e6bb90954f9a48c1794b47e84ac97b460a\n\n# tcId = 430\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021b34befa1d25b756ce76b383a6e8753741c12a59266c2c7921ff6e8b021d00bc44e3823e4d807cbc92fa786a89e62a4b217b5fb0c0f1865d4a7e43\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 00eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-512]\n\n# tcId = 431\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c224a38e733ebd3fac274ecc50ecef2e7c3189be2b9d093a8dcc6fa3a021c134fa5a4f923d296b3c6dd4683d249ccf0ad272890e4149c9a0d7415\n\n# tcId = 432\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c338d07d990879ad844e24c1788e362269d8aca70500357d385768227021d00f745cc4ebaaf1cd42830026a66e5b95564cdbee5edf853bb2cc91259\n\n# tcId = 433\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c689fce4b33d8212a663640a1ae0efaa7a7d7711beba719374fe634ee021c04bd9981fa52293063076f0fd70fc31875d580ef94f020d2f95440e0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 00ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-512]\n\n# tcId = 434\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c2a4287e01510e7fb5fed2e1ccc3f2a6929cf7d03850e49d7ae8a504a021c355c3915f3fa9637dc8001438a8c04e15d14934cabd430feb0cb5ba5\n\n# tcId = 435\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00b5bf795a38adb052b401468ffcab81103d2d9fca2e15b8d08ab98ce8021c5ec0d2c6aec71888c941af324c7272bec192abb292f9df82a24e8a41\n\n# tcId = 436\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c100ed07f467133bf10917f7a15ab2bfda519bdbc2653b95955e22211021d00b38a081f7c2e2b775d1da868d0381c09ba1559c9613b5be7159363ad\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-512]\n\n# tcId = 437\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c54e6add8ac910e52c6228fe3980d8f586218334d8d859ba9a3329917021c5836cc79ec88519eab4a6b2614c501628c9fee32fbafd93e32158409\n\n# tcId = 438\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1230d5409f379584b4d548b7bccba64baf81d512a9f2e6398c4e3a66021c1937a298f8cbdfa85b8e6fcf0a12be4966d80270cade85a0c37ee6f3\n\n# tcId = 439\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00862f43b044fb32adb45e00378ba083ae761c84452054f17b1341bf5b021d0095d8d8e5e3a6cc2b0a06c792252ca11a642257721831578520f96b9e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 00ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-512]\n\n# tcId = 440\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00cb5cabb1ca01b847a6bc70558d1e5d3a204d1741bbe800f4b159af35021c3580cc85f218394130bddf1c4eac04fe96f59f14fb436686950398be\n\n# tcId = 441\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00c9d83dc04cf4ee89c405045d0fd1d704f627ca5bbe350f40b826bbc1021c74fedc9e55045e9759f2124460fdfb991dc620cfee6effc0b4adaa9e\n\n# tcId = 442\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c46dd65b6e7f10c0841841b01033a5befd3a0e78c85f1f390bb3cdf25021d00f33acea3d47cf0dd5273735b004104f6512ed641052509422c0325a7\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 00f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 00de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-512]\n\n# tcId = 443\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ddb4a7e400a1e98118f474722da3f421f65a76eec61f4f7b699faf07021d00db80cba199859cdfe916d6ab3deb91d76aaf0ed554c8f9ed7e5aa59d\n\n# tcId = 444\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c4c260b546280604e4c80384721c9e803ef704e7fb70168e6730fc1f3021d00a8aceae219ac25c9f04231b4e0c171413db1d26df1c1e8430062eb2b\n\n# tcId = 445\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00f4098d2c0240e78fceabb0183df0b39e7ad3e7f5d6da1587fa09853c021d00d42412b2abaa614c95eb11f9b9346282ce3a1c93aac35ce7aa372f4a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 00ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 0086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-512]\n\n# tcId = 446\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c48ddc497f9a4732c677e46c0e2bdabec54fc9d27e46ab595056db4d9021d00b8219ebbfaebc2fe4311efab0c35d4392751351bcc1971e8d01941e4\n\n# tcId = 447\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e1abaf51d27a6d7d4c9b28078325cac2d7ce3d5403916c68903760b7021c2c45a99e2770f782fee5ca1d713eaecf07e62d53c64b7cf93de9900d\n\n# tcId = 448\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00868cd127c99e1149f7fc8d878cdfa986b62e99addea281149611ff15021c16e5953820135b7d462ce5434ef85920e973eec9e4d14d7cb3cc2a3f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-512]\n\n# tcId = 449\n# y-coordinate of the publ", + "ic key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00a375929718ec4e6ada9c9370c51df6bdaee7ebab2a70675d42a0b6b3021d009eaf4802efaf7ca082ffbf5ed774af43792d9b3fd711c6b1c36112ff\n\n# tcId = 450\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00d97b32f3bf8bc11ec2672dd6320418beeed99527a63fe4c52199ec61021c68dd9006b03319ccbe651d0bdaf84c63356f03cb007a6865ee3e0206\n\n# tcId = 451\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008ee5794dc2e66f2584910ea1d8361e5b53db535adcf5c1c35e128309021c5d1d8b9b996c0a488e05af14421b86e9841f0cba706027fc827d4d95\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 00fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-512]\n\n# tcId = 452\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c7999727c0cc02d88ef274012a762afcbb19e7fce19091a02acd00564021d00dbfacf67999f22c499d48a60a6fe4bbb746199c29957a1ec7a0900e0\n\n# tcId = 453\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c5797c21c0162e42f69693c6c0244dfdf9218c01e9235760177b61a54021c5452c887b27fb342a8a00d27579c7195dddb73df399233ed0dea567b\n\n# tcId = 454\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0eb9dc5d67bb0d4009544f8654977907dfe770e7fae4571d31d7b4fa021d00ab5cda53e868bff5198be4be3681b186cb0c1396d272c71f093f8b12\n\n", }; -static const size_t kLen69 = 138649; +static const size_t kLen102 = 131736; -static const char *kData69[] = { - "# Imported from Wycheproof's ecdsa_secp256r1_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]\n[key.wy = 0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[sha = SHA-256]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502212ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3045021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022200b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304a028501000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285010000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304e02890100000000000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304e02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028901000000000000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902847fffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802847fffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30490284ffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 27\n# ", - "length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180284ffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a0285ffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285ffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d0288ffffffffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180288ffffffffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 304502ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502802ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 64\n# using composition with indefin", - "ite length\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302402022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302302202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134", - "b49156847db0500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250281022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8", - "cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special ca", - "se values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000", - "000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nr", - "esult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3639383139\nresult = valid\nsig = 3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02206af015971cc30be6d1a206d4e013e0997772a2f91d73286ffd683b9bb2cf4f1b\n\n# tcId = 217\n# special case hash\nmsg = 343236343739373234\nresult = valid\nsig = 3044022016aea964a2f6506d6f78c81c91fc7e8bded7d397738448de1e19a0ec580bf2660220252cd762130c6667cfe8b7bc47d27d78391e8e80c578d1cd38c3ff033be928e9\n\n# tcId = 218\n# special case hash\nmsg = 37313338363834383931\nresult = valid\nsig = 30450221009cc98be2347d469bf476dfc26b9b733df2d26d6ef524af917c665baccb23c8820220093496459effe2d8d70727b82462f61d0ec1b7847929d10ea631dacb16b56c32\n\n# tcId = 219\n# special case hash\nmsg = 3130333539333331363638\nresult = valid\nsig = 3044022073b3c90ecd390028058164524dde892703dce3dea0d53fa8093999f07ab8aa4302202f67b0b8e20636695bb7d8bf0a651c802ed25a395387b5f4188c0c4075c88634\n\n# tcId = 220\n# special case hash\nmsg = 33393439343031323135\nresult = valid\nsig = 3046022100bfab3098252847b328fadf2f89b95c851a7f0eb390763378f37e90119d5ba3dd022100bdd64e234e832b1067c2d058ccb44d978195ccebb65c2aaf1e2da9b8b4987e3b\n\n# tcId = 221\n# special case hash\nmsg = 31333434323933303739\nresult = valid\nsig = 30440220204a9784074b246d8bf8bf04a4ceb1c1f1c9aaab168b1596d17093c5cd21d2cd022051cce41670636783dc06a759c8847868a406c2506fe17975582fe648d1d88b52\n\n# tcId = 222\n# special case hash\nmsg = 33373036323131373132\nresult = valid\nsig = 3046022100ed66dc34f551ac82f63d4aa4f81fe2cb0031a91d1314f835027bca0f1ceeaa0302210099ca123aa09b13cd194a422e18d5fda167623c3f6e5d4d6abb8953d67c0c48c7\n\n# tcId = 223\n# special case hash\nmsg = 333433363838373132\nresult = valid\nsig = 30450220060b700bef665c68899d44f2356a578d126b062023ccc3c056bf0f60a237012b0221008d186c027832965f4fcc78a3366ca95dedbb410cbef3f26d6be5d581c11d3610\n\n# tcId = 224\n# special case hash\nmsg = 31333531353330333730\nresult = valid\nsig = 30460221009f6adfe8d5eb5b2c24d7aa7934b6cf29c93ea76cd313c9132bb0c8e38c96831d022100b26a9c9e40e55ee0890c944cf271756c906a33e66b5bd15e051593883b5e9902\n\n# tcId = 225\n# special case hash\nmsg = 36353533323033313236\nresult = valid\nsig = 3045022100a1af03ca91677b673ad2f33615e56174a1abf6da168cebfa8868f4ba273f16b7022020aa73ffe48afa6435cd258b173d0c2377d69022e7d098d75caf24c8c5e06b1c\n\n# tcId = 226\n# special case hash\nmsg = 31353634333436363033\nresult = valid\nsig = 3045022100fdc70602766f8eed11a6c99a71c973d5659355507b843da6e327a28c11893db902203df5349688a085b137b1eacf456a9e9e0f6d15ec0078ca60a7f83f2b10d21350\n\n# tcId = 227\n# special case hash\nmsg = 34343239353339313137\nresult = valid\nsig = 3046022100b516a314f2fce530d6537f6a6c49966c23456f63c643cf8e0dc738f7b876e675022100d39ffd033c92b6d717dd536fbc5efdf1967c4bd80954479ba66b0120cd16fff2\n\n# tcId = 228\n# special case hash\nmsg = 3130393533323631333531\nresult = valid\nsig = 304402203b2cbf046eac45842ecb7984d475831582717bebb6492fd0a485c101e29ff0a802204c9b7b47a98b0f82de512bc9313aaf51701099cac5f76e68c8595fc1c1d99258\n\n# tcId = 229\n# special case hash\nmsg = 35393837333530303431\nresult = valid\nsig = 3044022030c87d35e636f540841f14af54e2f9edd79d0312cfa1ab656c3fb15bfde48dcf022047c15a5a82d24b75c85a692bd6ecafeb71409ede23efd08e0db9abf6340677ed\n\n# tcId = 230\n# special case hash\nmsg = 33343633303036383738\nresult = valid\nsig = 3044022038686ff0fda2cef6bc43b58cfe6647b9e2e8176d168dec3c68ff262113760f520220067ec3b651f422669601662167fa8717e976e2db5e6a4cf7c2ddabb3fde9d67d\n\n# tcId = 231\n# special case hash\nmsg = 39383137333230323837\nresult = valid\nsig = 3044022044a3e23bf314f2b344fc25c7f2de8b6af3e17d27f5ee844b225985ab6e2775cf02202d48e223205e98041ddc87be532abed584f0411f5729500493c9cc3f4dd15e86\n\n# tcId = 232\n# special case hash\nmsg = 33323232303431303436\nresult = valid\nsig = 304402202ded5b7ec8e90e7bf11f967a3d95110c41b99db3b5aa8d330eb9d638781688e902207d5792c53628155e1bfc46fb1a67e3088de049c328ae1f44ec69238a009808f9\n\n# tcId = 233\n# special case hash\nmsg = 36363636333037313034\nresult = valid\nsig = 3046022100bdae7bcb580bf335efd3bc3d31870f923eaccafcd40ec2f605976f15137d8b8f022100f6dfa12f19e525270b0106eecfe257499f373a4fb318994f24838122ce7ec3c7\n\n# tcId = 234\n# special case hash\nmsg = 31303335393531383938\nresult = valid\nsig = 3045022050f9c4f0cd6940e162720957ffff513799209b78596956d21ece251c2401f1c6022100d7033a0a787d338e889defaaabb106b95a4355e411a59c32aa5167dfab244726\n\n# tcId = 235\n# special case hash\nmsg = 31383436353937313935\nresult = valid\nsig = 3045022100f612820687604fa01906066a378d67540982e29575d019aabe90924ead5c860d02203f9367702dd7dd4f75ea98afd20e328a1a99f4857b316525328230ce294b0fef\n\n# tcId = 236\n# special case hash\nmsg = 33313336303436313839\nresult = valid\nsig = 30460221009505e407657d6e8bc93db5da7aa6f5081f61980c1949f56b0f2f507da5782a7a022100c60d31904e3669738ffbeccab6c3656c08e0ed5cb92b3cfa5e7f71784f9c5021\n\n# tcId = 237\n# special case hash\nmsg = 32363633373834323534\nresult = valid\nsig = 3046022100bbd16fbbb656b6d0d83e6a7787cd691b08735aed371732723e1c68a40404517d0221009d8e35dba96028b7787d91315be675877d2d097be5e8ee34560e3e7fd25c0f00\n\n# tcId = 238\n# special case hash\nmsg = 31363532313030353234\nresult = valid\nsig = 304402202ec9760122db98fd06ea76848d35a6da442d2ceef7559a30cf57c61e92df327e02207ab271da90859479701fccf86e462ee3393fb6814c27b760c4963625c0a19878\n\n# tcId = 239\n# special case hash\nmsg = 35373438303831363936\nresult = valid\nsig = 3044022054e76b7683b6650baa6a7fc49b1c51eed9ba9dd463221f7a4f1005a89fe00c5902202ea076886c773eb937ec1cc8374b7915cfd11b1c1ae1166152f2f7806a31c8fd\n\n# tcId = 240\n# special case hash\nmsg = 36333433393133343638\nresult = valid\nsig = 304402205291deaf24659ffbbce6e3c26f6021097a74abdbb69be4fb10419c0c496c9466022065d6fcf336d27cc7cdb982bb4e4ecef5827f84742f29f10abf83469270a03dc3\n\n# tcId = 241\n# special case hash\nmsg = 31353431313033353938\nresult = valid\nsig = 30450220207a3241812d75d947419dc58efb05e8003b33fc17eb50f9d15166a88479f107022100cdee749f2e492b213ce80b32d0574f62f1c5d70793cf55e382d5caadf7592767\n\n# tcId = 242\n# special case hash\nmsg = 3130343738353830313238\nresult = valid\nsig = 304502206554e49f82a855204328ac94913bf01bbe84437a355a0a37c0dee3cf81aa7728022100aea00de2507ddaf5c94e1e126980d3df16250a2eaebc8be486effe7f22b4f929\n\n# tcId = 243\n# special case hash\nmsg = 3130353336323835353638\nresult = valid\nsig = 3046022100a54c5062648339d2bff06f71c88216c26c6e19b4d80a8c602990ac82707efdfc022100e99bbe7fcfafae3e69fd016777517aa01056317f467ad09aff09be73c9731b0d\n\n# tcId = 244\n# special case hash\nmsg = 393533393034313035\nresult = valid\nsi", - "g = 3045022100975bd7157a8d363b309f1f444012b1a1d23096593133e71b4ca8b059cff37eaf02207faa7a28b1c822baa241793f2abc930bd4c69840fe090f2aacc46786bf919622\n\n# tcId = 245\n# special case hash\nmsg = 393738383438303339\nresult = valid\nsig = 304402205694a6f84b8f875c276afd2ebcfe4d61de9ec90305afb1357b95b3e0da43885e02200dffad9ffd0b757d8051dec02ebdf70d8ee2dc5c7870c0823b6ccc7c679cbaa4\n\n# tcId = 246\n# special case hash\nmsg = 33363130363732343432\nresult = valid\nsig = 3045022100a0c30e8026fdb2b4b4968a27d16a6d08f7098f1a98d21620d7454ba9790f1ba602205e470453a8a399f15baf463f9deceb53acc5ca64459149688bd2760c65424339\n\n# tcId = 247\n# special case hash\nmsg = 31303534323430373035\nresult = valid\nsig = 30440220614ea84acf736527dd73602cd4bb4eea1dfebebd5ad8aca52aa0228cf7b99a880220737cc85f5f2d2f60d1b8183f3ed490e4de14368e96a9482c2a4dd193195c902f\n\n# tcId = 248\n# special case hash\nmsg = 35313734343438313937\nresult = valid\nsig = 3045022100bead6734ebe44b810d3fb2ea00b1732945377338febfd439a8d74dfbd0f942fa02206bb18eae36616a7d3cad35919fd21a8af4bbe7a10f73b3e036a46b103ef56e2a\n\n# tcId = 249\n# special case hash\nmsg = 31393637353631323531\nresult = valid\nsig = 30440220499625479e161dacd4db9d9ce64854c98d922cbf212703e9654fae182df9bad2022042c177cf37b8193a0131108d97819edd9439936028864ac195b64fca76d9d693\n\n# tcId = 250\n# special case hash\nmsg = 33343437323533333433\nresult = valid\nsig = 3045022008f16b8093a8fb4d66a2c8065b541b3d31e3bfe694f6b89c50fb1aaa6ff6c9b20221009d6455e2d5d1779748573b611cb95d4a21f967410399b39b535ba3e5af81ca2e\n\n# tcId = 251\n# special case hash\nmsg = 333638323634333138\nresult = valid\nsig = 3046022100be26231b6191658a19dd72ddb99ed8f8c579b6938d19bce8eed8dc2b338cb5f8022100e1d9a32ee56cffed37f0f22b2dcb57d5c943c14f79694a03b9c5e96952575c89\n\n# tcId = 252\n# special case hash\nmsg = 33323631313938363038\nresult = valid\nsig = 3045022015e76880898316b16204ac920a02d58045f36a229d4aa4f812638c455abe0443022100e74d357d3fcb5c8c5337bd6aba4178b455ca10e226e13f9638196506a1939123\n\n# tcId = 253\n# special case hash\nmsg = 39363738373831303934\nresult = valid\nsig = 30440220352ecb53f8df2c503a45f9846fc28d1d31e6307d3ddbffc1132315cc07f16dad02201348dfa9c482c558e1d05c5242ca1c39436726ecd28258b1899792887dd0a3c6\n\n# tcId = 254\n# special case hash\nmsg = 34393538383233383233\nresult = valid\nsig = 304402204a40801a7e606ba78a0da9882ab23c7677b8642349ed3d652c5bfa5f2a9558fb02203a49b64848d682ef7f605f2832f7384bdc24ed2925825bf8ea77dc5981725782\n\n# tcId = 255\n# special case hash\nmsg = 383234363337383337\nresult = valid\nsig = 3045022100eacc5e1a8304a74d2be412b078924b3bb3511bac855c05c9e5e9e44df3d61e9602207451cd8e18d6ed1885dd827714847f96ec4bb0ed4c36ce9808db8f714204f6d1\n\n# tcId = 256\n# special case hash\nmsg = 3131303230383333373736\nresult = valid\nsig = 304502202f7a5e9e5771d424f30f67fdab61e8ce4f8cd1214882adb65f7de94c31577052022100ac4e69808345809b44acb0b2bd889175fb75dd050c5a449ab9528f8f78daa10c\n\n# tcId = 257\n# special case hash\nmsg = 313333383731363438\nresult = valid\nsig = 3045022100ffcda40f792ce4d93e7e0f0e95e1a2147dddd7f6487621c30a03d710b3300219022079938b55f8a17f7ed7ba9ade8f2065a1fa77618f0b67add8d58c422c2453a49a\n\n# tcId = 258\n# special case hash\nmsg = 333232313434313632\nresult = valid\nsig = 304602210081f2359c4faba6b53d3e8c8c3fcc16a948350f7ab3a588b28c17603a431e39a8022100cd6f6a5cc3b55ead0ff695d06c6860b509e46d99fccefb9f7f9e101857f74300\n\n# tcId = 259\n# special case hash\nmsg = 3130363836363535353436\nresult = valid\nsig = 3045022100dfc8bf520445cbb8ee1596fb073ea283ea130251a6fdffa5c3f5f2aaf75ca8080220048e33efce147c9dd92823640e338e68bfd7d0dc7a4905b3a7ac711e577e90e7\n\n# tcId = 260\n# special case hash\nmsg = 3632313535323436\nresult = valid\nsig = 3046022100ad019f74c6941d20efda70b46c53db166503a0e393e932f688227688ba6a576202210093320eb7ca0710255346bdbb3102cdcf7964ef2e0988e712bc05efe16c199345\n\n# tcId = 261\n# special case hash\nmsg = 37303330383138373734\nresult = valid\nsig = 3046022100ac8096842e8add68c34e78ce11dd71e4b54316bd3ebf7fffdeb7bd5a3ebc1883022100f5ca2f4f23d674502d4caf85d187215d36e3ce9f0ce219709f21a3aac003b7a8\n\n# tcId = 262\n# special case hash\nmsg = 35393234353233373434\nresult = valid\nsig = 30440220677b2d3a59b18a5ff939b70ea002250889ddcd7b7b9d776854b4943693fb92f702206b4ba856ade7677bf30307b21f3ccda35d2f63aee81efd0bab6972cc0795db55\n\n# tcId = 263\n# special case hash\nmsg = 31343935353836363231\nresult = valid\nsig = 30450220479e1ded14bcaed0379ba8e1b73d3115d84d31d4b7c30e1f05e1fc0d5957cfb0022100918f79e35b3d89487cf634a4f05b2e0c30857ca879f97c771e877027355b2443\n\n# tcId = 264\n# special case hash\nmsg = 34303035333134343036\nresult = valid\nsig = 3044022043dfccd0edb9e280d9a58f01164d55c3d711e14b12ac5cf3b64840ead512a0a302201dbe33fa8ba84533cd5c4934365b3442ca1174899b78ef9a3199f49584389772\n\n# tcId = 265\n# special case hash\nmsg = 33303936343537353132\nresult = valid\nsig = 304402205b09ab637bd4caf0f4c7c7e4bca592fea20e9087c259d26a38bb4085f0bbff11022045b7eb467b6748af618e9d80d6fdcd6aa24964e5a13f885bca8101de08eb0d75\n\n# tcId = 266\n# special case hash\nmsg = 32373834303235363230\nresult = valid\nsig = 304502205e9b1c5a028070df5728c5c8af9b74e0667afa570a6cfa0114a5039ed15ee06f022100b1360907e2d9785ead362bb8d7bd661b6c29eeffd3c5037744edaeb9ad990c20\n\n# tcId = 267\n# special case hash\nmsg = 32363138373837343138\nresult = valid\nsig = 304502200671a0a85c2b72d54a2fb0990e34538b4890050f5a5712f6d1a7a5fb8578f32e022100db1846bab6b7361479ab9c3285ca41291808f27fd5bd4fdac720e5854713694c\n\n# tcId = 268\n# special case hash\nmsg = 31363432363235323632\nresult = valid\nsig = 304402207673f8526748446477dbbb0590a45492c5d7d69859d301abbaedb35b2095103a02203dc70ddf9c6b524d886bed9e6af02e0e4dec0d417a414fed3807ef4422913d7c\n\n# tcId = 269\n# special case hash\nmsg = 36383234313839343336\nresult = valid\nsig = 304402207f085441070ecd2bb21285089ebb1aa6450d1a06c36d3ff39dfd657a796d12b50220249712012029870a2459d18d47da9aa492a5e6cb4b2d8dafa9e4c5c54a2b9a8b\n\n# tcId = 270\n# special case hash\nmsg = 343834323435343235\nresult = valid\nsig = 3046022100914c67fb61dd1e27c867398ea7322d5ab76df04bc5aa6683a8e0f30a5d287348022100fa07474031481dda4953e3ac1959ee8cea7e66ec412b38d6c96d28f6d37304ea\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[key.wx = 0ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103]\n[key.wy = 0c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[sha = SHA-256]\n\n# tcId = 271\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# tcId = 272\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[key.wx = 0ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c582204554]\n[key.wy = 19235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[sha = SHA-256]\n\n# tcId = 273\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[key.wx = 080984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c56]\n[key.wy = 11feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[keyDer = 3059301306072a8648ce3d020106082a8648", - "ce3d0301070342000480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[sha = SHA-256]\n\n# tcId = 274\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[key.wx = 4201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c05]\n[key.wy = 095c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[sha = SHA-256]\n\n# tcId = 275\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[key.wx = 0a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac957]\n[key.wy = 5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[sha = SHA-256]\n\n# tcId = 276\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020101\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[key.wx = 6627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b1572]\n[key.wy = 6170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[sha = SHA-256]\n\n# tcId = 277\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020103\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[key.wx = 5a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bf]\n[key.wy = 0ef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[sha = SHA-256]\n\n# tcId = 278\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020105\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[key.wx = 0cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c737]\n[key.wy = 70af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[sha = SHA-256]\n\n# tcId = 279\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020106\n\n# tcId = 280\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[key.wx = 4be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e139]\n[key.wy = 20f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[sha = SHA-256]\n\n# tcId = 281\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[key.wx = 0d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9]\n[key.wy = 0971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[sha = SHA-256]\n\n# tcId = 282\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[key.wx = 4838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05f]\n[key.wy = 0fa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[sha = SHA-256]\n\n# tcId = 283\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[key.wx = 7393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64]\n[key.wy = 0e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[sha = SHA-256]\n\n# tcId = 284\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[key.wx = 5ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5]\n[key.wy = 0fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[sha = SHA-256]\n\n# tcId = 285\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[key.wx = 1d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509]\n[key.wy = 0dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d", - "040d8c9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[sha = SHA-256]\n\n# tcId = 286\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[key.wx = 083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99]\n[key.wy = 0915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[sha = SHA-256]\n\n# tcId = 287\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[key.wx = 08aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e19373874]\n[key.wy = 5bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[sha = SHA-256]\n\n# tcId = 288\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101\n\n# tcId = 289\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[key.wx = 0b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f287]\n[key.wy = 1b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[sha = SHA-256]\n\n# tcId = 290\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[key.wx = 69da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b8]\n[key.wy = 66d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[sha = SHA-256]\n\n# tcId = 291\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[key.wx = 0d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff32]\n[key.wy = 33e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[sha = SHA-256]\n\n# tcId = 292\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[key.wx = 3623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab785]\n[key.wy = 08db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[sha = SHA-256]\n\n# tcId = 293\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[key.wx = 0cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1]\n[key.wy = 0e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[sha = SHA-256]\n\n# tcId = 294\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[key.wx = 0db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff77350]\n[key.wy = 4f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[sha = SHA-256]\n\n# tcId = 295\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e91e1ba60fdedb76a46bcb51dc0b8b4b7e019f0a28721885fa5d3a8196623397\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[key.wx = 0dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f]\n[key.wy = 1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[sha = SHA-256]\n\n# tcId = 296\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fdea5843ffeb73af94313ba4831b53fe24f799e525b1e8e8c87b59b95b430ad9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[key.wx = 0d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9]\n[key.wy = 0986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389", - "b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[sha = SHA-256]\n\n# tcId = 297\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022003ffcabf2f1b4d2a65190db1680d62bb994e41c5251cd73b3c3dfc5e5bafc035\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[key.wx = 0a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c32]\n[key.wy = 6337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[sha = SHA-256]\n\n# tcId = 298\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204dfbc401f971cd304b33dfdb17d0fed0fe4c1a88ae648e0d2847f74977534989\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[key.wx = 0c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b7]\n[key.wy = 3877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[sha = SHA-256]\n\n# tcId = 299\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bc4024761cd2ffd43dfdb17d0fed112b988977055cd3a8e54971eba9cda5ca71\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[key.wx = 5eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e]\n[key.wy = 5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[sha = SHA-256]\n\n# tcId = 300\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220788048ed39a5ffa77bfb62fa1fda2257742bf35d128fb3459f2a0c909ee86f91\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[key.wx = 5caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47a]\n[key.wy = 0deb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[sha = SHA-256]\n\n# tcId = 301\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220476d9131fd381bd917d0fed112bc9e0a5924b5ed5b11167edd8b23582b3cb15e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[key.wx = 0c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b098]\n[key.wy = 6237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[sha = SHA-256]\n\n# tcId = 302\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008374253e3e21bd154448d0a8f640fe46fafa8b19ce78d538f6cc0a19662d3601\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[key.wx = 3fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced]\n[key.wy = 3ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[sha = SHA-256]\n\n# tcId = 303\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220357cfd3be4d01d413c5b9ede36cba5452c11ee7fe14879e749ae6a2d897a52d6\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[key.wx = 09cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114]\n[key.wy = 0b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[sha = SHA-256]\n\n# tcId = 304\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022029798c5c0ee287d4a5e8e6b799fd86b8df5225298e6ffc807cd2f2bc27a0a6d8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[key.wx = 0a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a]\n[key.wy = 4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[sha = SHA-256]\n\n# tcId = 305\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02200b70f22c781092452dca1a5711fa3a5a1f72add1bf52c2ff7cae4820b30078dd\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[key.wx = 0f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88]\n[key.wy = 0cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[sha = SHA-256]\n\n# tcId = 306\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022016e1e458f021248a5b9434ae23f474b43ee55ba37ea585fef95c90416600f1ba\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[key.wx = 083a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8]\n[key.wy = 0c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[sha = SHA-256]\n\n# tcId = 307\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffffffffffffffffffffffffffffffffffffffffffffffffff", - "fffffffffd02202252d6856831b6cf895e4f0535eeaf0e5e5809753df848fe760ad86219016a97\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[key.wx = 0dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7]\n[key.wy = 0bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[sha = SHA-256]\n\n# tcId = 308\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210081ffe55f178da695b28c86d8b406b15dab1a9e39661a3ae017fbe390ac0972c3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[key.wx = 67e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460]\n[key.wy = 0a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[sha = SHA-256]\n\n# tcId = 309\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[key.wx = 2eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf]\n[key.wy = 0805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[sha = SHA-256]\n\n# tcId = 310\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[key.wx = 084db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f35]\n[key.wy = 6d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[sha = SHA-256]\n\n# tcId = 311\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[key.wx = 091b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad663]\n[key.wy = 49aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[sha = SHA-256]\n\n# tcId = 312\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[key.wx = 0f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834d]\n[key.wy = 0f97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[sha = SHA-256]\n\n# tcId = 313\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[key.wx = 0d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc88]\n[key.wy = 5ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[sha = SHA-256]\n\n# tcId = 314\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[key.wx = 0a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cd]\n[key.wy = 0e6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[sha = SHA-256]\n\n# tcId = 315\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[key.wx = 0d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e8]\n[key.wy = 68612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[sha = SHA-256]\n\n# tcId = 316\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[key.wx = 0836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb276]\n[key.wy = 09ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[sha = SHA-256]\n\n# tcId = 317\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0492f99fbe973ed4a2", - "99719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[key.wx = 092f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8]\n[key.wy = 33dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[sha = SHA-256]\n\n# tcId = 318\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[key.wx = 0d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09e]\n[key.wy = 0ff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[sha = SHA-256]\n\n# tcId = 319\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[key.wx = 08651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224]\n[key.wy = 0e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[sha = SHA-256]\n\n# tcId = 320\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[key.wx = 6d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6d]\n[key.wy = 0ef6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[sha = SHA-256]\n\n# tcId = 321\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[key.wx = 0ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e1542]\n[key.wy = 08911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[sha = SHA-256]\n\n# tcId = 322\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]\n[key.wy = 0838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[sha = SHA-256]\n\n# tcId = 323\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]\n[key.wy = 7c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[sha = SHA-256]\n\n# tcId = 324\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[key.wx = 6adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a6]\n[key.wy = 47e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[sha = SHA-256]\n\n# tcId = 325\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[key.wx = 2fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f3820]\n[key.wy = 65f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[sha = SHA-256]\n\n# tcId = 326\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[key.wx = 0dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d250]\n[key.wy = 45d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[sha = SHA-256]\n\n# tcId = 327\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220333", - "3333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[key.wx = 4fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5]\n[key.wy = 0d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[sha = SHA-256]\n\n# tcId = 328\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[key.wx = 0c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107]\n[key.wy = 0bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[sha = SHA-256]\n\n# tcId = 329\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[key.wx = 0851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956ef]\n[key.wy = 0cee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[sha = SHA-256]\n\n# tcId = 330\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[key.wx = 0f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f]\n[key.wy = 08f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[sha = SHA-256]\n\n# tcId = 331\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[key.wx = 501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a0643]\n[key.wy = 08673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[sha = SHA-256]\n\n# tcId = 332\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[key.wx = 0d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb34]\n[key.wy = 3195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[sha = SHA-256]\n\n# tcId = 333\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[key.wx = 5e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca21]\n[key.wy = 5de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[sha = SHA-256]\n\n# tcId = 334\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[key.wx = 169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e]\n[key.wy = 7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[sha = SHA-256]\n\n# tcId = 335\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[key.wx = 271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b54898148754]\n[key.wy = 0a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[sha = SHA-256]\n\n# tcId = 336\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[key.wx = 3d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12]\n[key.wy = 0e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[sha = SHA-256]\n\n# tcId = 337\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curv", - "e = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[key.wx = 0a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b7]\n[key.wy = 2e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[sha = SHA-256]\n\n# tcId = 338\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[key.wx = 08d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c]\n[key.wy = 4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[sha = SHA-256]\n\n# tcId = 339\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[sha = SHA-256]\n\n# tcId = 340\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 341\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[sha = SHA-256]\n\n# tcId = 342\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 343\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[key.wx = 4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]\n[key.wy = 087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[sha = SHA-256]\n\n# tcId = 344\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2\n\n# tcId = 345\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30450220530bd6b0c9af2d69ba897f6b5fb59695cfbf33afe66dbadcf5b8d2a2a6538e23022100d85e489cb7a161fd55ededcedbf4cc0c0987e3e3f0f242cae934c72caa3f43e9\n\n# tcId = 346\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86\n\n# tcId = 347\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]\n[key.wy = 0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[sha = SHA-256]\n\n# tcId = 348\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a\n\n# tcId = 349\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737\n\n# tcId = 350\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e30220541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[sha = SHA-256]\n\n# tcId = 351\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd\n\n# tcId = 352\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3\n\n# tcId = 353\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04022100a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 7b05e8b186e38d41d31c77f5769f22", - "d58385ecc857d07a561a6324217fffffff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[sha = SHA-256]\n\n# tcId = 354\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519\n\n# tcId = 355\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336\n\n# tcId = 356\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86022100ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]\n[key.wy = 0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[sha = SHA-256]\n\n# tcId = 357\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929\n\n# tcId = 358\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5\n\n# tcId = 359\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304602210096843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28022100f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[key.wx = 0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]\n[key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[sha = SHA-256]\n\n# tcId = 360\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41\n\n# tcId = 361\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba\n\n# tcId = 362\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84022100feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[key.wx = 3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]\n[key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[sha = SHA-256]\n\n# tcId = 363\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3\n\n# tcId = 364\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a\n\n# tcId = 365\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361022100f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[sha = SHA-256]\n\n# tcId = 366\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff\n\n# tcId = 367\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0\n\n# tcId = 368\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304502207e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859450221009450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[sha = SHA-256]\n\n# tcId = 369\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224\n\n# tcId = 370\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469\n\n# tcId = 371\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022070bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67022100aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9\n\n", +static const char *kData102[] = { + "# Imported from Wycheproof's ecdsa_secp256r1_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]\n[key.wy = 00c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[sha = SHA-256]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502802ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac", + "5df4087c134b49156847db\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 56\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 304802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847dbbf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 70\n# length of integer con", + "tains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502212ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022200b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 75\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304a028501000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285010000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304e02890100000000000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304e02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028901000000000000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902847fffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802847fffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30490284ffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180284ffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a0285ffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285ffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d0288ffffffffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180288ffffffffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302402022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302302202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250281022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b4", + "9156847db\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nm", + "sg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special c", + "ase values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179", + "e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3639383139\nresult = valid\nsig = 3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02206af015971cc30be6d1a206d4e013e0997772a2f91d73286ffd683b9bb2cf4f1b\n\n# tcId = 231\n# special case hash\nmsg = 343236343739373234\nresult = valid\nsig = 3044022016aea964a2f6506d6f78c81c91fc7e8bded7d397738448de1e19a0ec580bf2660220252cd762130c6667cfe8b7bc47d27d78391e8e80c578d1cd38c3ff033be928e9\n\n# tcId = 232\n# special case hash\nmsg = 37313338363834383931\nresult = valid\nsig = 30450221009cc98be2347d469bf476dfc26b9b733df2d26d6ef524af917c665baccb23c8820220093496459effe2d8d70727b82462f61d0ec1b7847929d10ea631dacb16b56c32\n\n# tcId = 233\n# special case hash\nmsg = 3130333539333331363638\nresult = valid\nsig = 3044022073b3c90ecd390028058164524dde892703dce3dea0d53fa8093999f07ab8aa4302202f67b0b8e20636695bb7d8bf0a651c802ed25a395387b5f4188c0c4075c88634\n\n# tcId = 234\n# special case hash\nmsg = 33393439343031323135\nresult = valid\nsig = 3046022100bfab3098252847b328fadf2f89b95c851a7f0eb390763378f37e90119d5ba3dd022100bdd64e234e832b1067c2d058ccb44d978195ccebb65c2aaf1e2da9b8b4987e3b\n\n# tcId = 235\n# special case hash\nmsg = 31333434323933303739\nresult = valid\nsig = 30440220204a9784074b246d8bf8bf04a4ceb1c1f1c9aaab168b1596d17093c5cd21d2cd022051cce41670636783dc06a759c8847868a406c2506fe17975582fe648d1d88b52\n\n# tcId = 236\n# special case hash\nmsg = 33373036323131373132\nresult = valid\nsig = 3046022100ed66dc34f551ac82f63d4aa4f81fe2cb0031a91d1314f835027bca0f1ceeaa0302210099ca123aa09b13cd194a422e18d5fda167623c3f6e5d4d6abb8953d67c0c48c7\n\n# tcId = 237\n# special case hash\nmsg = 333433363838373132\nresult = valid\nsig = 30450220060b700bef665c68899d44f2356a578d126b062023ccc3c056bf0f60a237012b0221008d186c027832965f4fcc78a3366ca95dedbb410cbef3f26d6be5d581c11d3610\n\n# tcId = 238\n# special case hash\nmsg = 31333531353330333730\nresult = valid\nsig = 30460221009f6adfe8d5eb5b2c24d7aa7934b6cf29c93ea76cd313c9132bb0c8e38c96831d022100b26a9c9e40e55ee0890c944cf271756c906a33e66b5bd15e051593883b5e9902\n\n# tcId = 239\n# special case hash\nmsg = 36353533323033313236\nresult = valid\nsig = 3045022100a1af03ca91677b673ad2f33615e56174a1abf6da168cebfa8868f4ba273f16b7022020aa73ffe48afa6435cd258b173d0c2377d69022e7d098d75caf24c8c5e06b1c\n\n# tcId = 240\n# special case hash\nmsg = 31353634333436363033\nresult = valid\nsig = 3045022100fdc70602766f8eed11a6c99a71c973d5659355507b843da6e327a28c11893db902203df5349688a085b137b1eacf456a9e9e0f6d15ec0078ca60a7f83f2b10d21350\n\n# tcId = 241\n# special case hash\nmsg = 34343239353339313137\nresult = valid\nsig = 3046022100b516a314f2fce530d6537f6a6c49966c23456f63c643cf8e0dc738f7b876e675022100d39ffd033c92b6d717dd536fbc5efdf1967c4bd80954479ba66b0120cd16fff2\n\n# tcId = 242\n# special case hash\nmsg = 3130393533323631333531\nresult = valid\nsig = 304402203b2cbf046eac45842ecb7984d475831582717bebb6492fd0a485c101e29ff0a802204c9b7b47a98b0f82de512bc9313aaf51701099cac5f76e68c8595fc1c1d99258\n\n# tcId = 243\n# special case hash\nmsg = 35393837333530303431\nresult = valid\nsig = 3044022030c87d35e636f540841f14af54e2f9edd79d0312cfa1ab656c3fb15bfde48dcf022047c15a5a82d24b75c85a692bd6ecafeb71409ede23efd08e0db9abf6340677ed\n\n# tcId = 244\n# special case hash\nmsg = 33343633303036383738\nresult = valid\nsig = 3044022038686ff0fda2cef6bc43b58cfe6647b9e2e8176d168dec3c68ff262113760f520220067ec3b651f422669601662167fa8717e976e2db5e6a4cf7c2ddabb3fde9d67d\n\n# tcId = 245\n# special case hash\nmsg = 39383137333230323837\nresult = valid\nsig = 3044022044a3e23bf314f2b344fc25c7f2de8b6af3e17d27f5ee844b225985ab6e2775cf02202d48e223205e98041ddc87be532abed584f0411f5729500493c9cc3f4dd15e86\n\n# tcId = 246\n# special case hash\nmsg = 33323232303431303436\nresult = valid\nsig = 304402202ded5b7ec8e90e7bf11f967a3d95110c41b99db3b5aa8d330eb9d638781688e902207d5792c53628155e1bfc46fb1a67e3088de049c328ae1f44ec69238a009808f9\n\n# tcId = 247\n# special case hash\nmsg = 36363636333037313034\nresult = valid\nsig = 3046022100bdae7bcb580bf335efd3bc3d31870f923eaccafcd40ec2f605976f15137d8b8f022100f6dfa12f19e525270b0106eecfe257499f373a4fb318994f24838122ce7ec3c7\n\n# tcId = 248\n# special case hash\nmsg = 31303335393531383938\nresult = valid\nsig = 3045022050f9c4f0cd6940e162720957ffff513799209b78596956d21ece251c2401f1c6022100d7033a0a787d338e889defaaabb106b95a4355e411a59c32aa5167dfab244726\n\n# tcId = 249\n# special case hash\nmsg = 31383436353937313935\nresult = valid\nsig = 3045022100f612820687604fa01906066a378d67540982e29575d019aabe90924ead5c860d02203f9367702dd7dd4f75ea98afd20e328a1a99f4857b316525328230ce294b0fef\n\n# tcId = 250\n# special case hash\nmsg = 33313336303436313839\nresult = valid\nsig = 30460221009505e407657d6e8bc93db5da7aa6f5081f61980c1949f56b0f2f507da5782a7a022100c60d31904e3669738ffbeccab6c3656c08e0ed5cb92b3cfa5e7f71784f9c5021\n\n# tcId = 251\n# special case hash\nmsg = 32363633373834323534\nresult = valid\nsig = 3046022100bbd16fbbb656b6d0d83e6a7787cd691b08735aed371732723e1c68a40404517d0221009d8e35dba96028b7787d91315be675877d2d097be5e8ee34560e3e7fd25c0f00\n\n# tcId = 252\n# special case hash\nmsg = 31363532313030353234\nresult = valid\nsig = 304402202ec9760122db98fd06ea76848d35a6da442d2ceef7559a30cf57c61e92df327e02207ab271da90859479701fccf86e462ee3393fb6814c27b760c4963625c0a19878\n\n# tcId = 253\n# special case hash\nmsg = 35373438303831363936\nresult = valid\nsig = 3044022054e76b7683b6650baa6a7fc49b1c51eed9ba9dd463221f7a4f1005a89fe00c5902202ea076886c773eb937ec1cc8374b7915cfd11b1c1ae1166152f2f7806a31c8fd\n\n# tcId = 254\n# special case hash\nmsg = 36333433393133343638\nresult = valid\nsig = 304402205291deaf24659ffbbce6e3c26f6021097a74abdbb69be4fb10419c0c496c9466022065d6fcf336d27cc7cdb982bb4e4ecef5827f84742f29f10abf83469270a03dc3\n\n# tcId = 255\n# special case hash\nmsg = 31353431313033353938\nresult = valid\nsig = 30450220207a3241812d75d947419dc58efb05e8003b33fc17eb50f9d15166a88479f107022100cdee749f2e492b213ce80b32d0574f62f1c5d70793cf55e382d5caadf7592767\n\n# tcId = 256\n# special case hash\nmsg = 3130343738353830313238\nresult = valid\nsig = 304502206554e49f82a855204328ac94913bf01bbe84437a355a0a37c0dee3cf81aa7728022100aea00de2507ddaf5c94e1e126980d3df16250a2eaebc8be486effe7f22b4f929\n\n# tcId = 257\n# special case hash\nmsg = 3130353336323835353638\nresult = valid\nsig = 3046022100a54c5062648339d2bff06f71c88216c26c6e19b4d80a8c602990ac82707efdfc022100e99bbe7fcfafae3e69fd016777517aa01056317f467ad09aff09be73c9731b0d\n\n# tcId = 258\n# special case hash\nmsg = 393533393034313035\nresult = valid\nsig = 3045022100975bd7157a8d363b309f1f444012b1a1d23096593133e71b4ca8b059cff37eaf02207faa7a28b1c822baa241793f2abc930bd4c69840fe090f2aacc", + "46786bf919622\n\n# tcId = 259\n# special case hash\nmsg = 393738383438303339\nresult = valid\nsig = 304402205694a6f84b8f875c276afd2ebcfe4d61de9ec90305afb1357b95b3e0da43885e02200dffad9ffd0b757d8051dec02ebdf70d8ee2dc5c7870c0823b6ccc7c679cbaa4\n\n# tcId = 260\n# special case hash\nmsg = 33363130363732343432\nresult = valid\nsig = 3045022100a0c30e8026fdb2b4b4968a27d16a6d08f7098f1a98d21620d7454ba9790f1ba602205e470453a8a399f15baf463f9deceb53acc5ca64459149688bd2760c65424339\n\n# tcId = 261\n# special case hash\nmsg = 31303534323430373035\nresult = valid\nsig = 30440220614ea84acf736527dd73602cd4bb4eea1dfebebd5ad8aca52aa0228cf7b99a880220737cc85f5f2d2f60d1b8183f3ed490e4de14368e96a9482c2a4dd193195c902f\n\n# tcId = 262\n# special case hash\nmsg = 35313734343438313937\nresult = valid\nsig = 3045022100bead6734ebe44b810d3fb2ea00b1732945377338febfd439a8d74dfbd0f942fa02206bb18eae36616a7d3cad35919fd21a8af4bbe7a10f73b3e036a46b103ef56e2a\n\n# tcId = 263\n# special case hash\nmsg = 31393637353631323531\nresult = valid\nsig = 30440220499625479e161dacd4db9d9ce64854c98d922cbf212703e9654fae182df9bad2022042c177cf37b8193a0131108d97819edd9439936028864ac195b64fca76d9d693\n\n# tcId = 264\n# special case hash\nmsg = 33343437323533333433\nresult = valid\nsig = 3045022008f16b8093a8fb4d66a2c8065b541b3d31e3bfe694f6b89c50fb1aaa6ff6c9b20221009d6455e2d5d1779748573b611cb95d4a21f967410399b39b535ba3e5af81ca2e\n\n# tcId = 265\n# special case hash\nmsg = 333638323634333138\nresult = valid\nsig = 3046022100be26231b6191658a19dd72ddb99ed8f8c579b6938d19bce8eed8dc2b338cb5f8022100e1d9a32ee56cffed37f0f22b2dcb57d5c943c14f79694a03b9c5e96952575c89\n\n# tcId = 266\n# special case hash\nmsg = 33323631313938363038\nresult = valid\nsig = 3045022015e76880898316b16204ac920a02d58045f36a229d4aa4f812638c455abe0443022100e74d357d3fcb5c8c5337bd6aba4178b455ca10e226e13f9638196506a1939123\n\n# tcId = 267\n# special case hash\nmsg = 39363738373831303934\nresult = valid\nsig = 30440220352ecb53f8df2c503a45f9846fc28d1d31e6307d3ddbffc1132315cc07f16dad02201348dfa9c482c558e1d05c5242ca1c39436726ecd28258b1899792887dd0a3c6\n\n# tcId = 268\n# special case hash\nmsg = 34393538383233383233\nresult = valid\nsig = 304402204a40801a7e606ba78a0da9882ab23c7677b8642349ed3d652c5bfa5f2a9558fb02203a49b64848d682ef7f605f2832f7384bdc24ed2925825bf8ea77dc5981725782\n\n# tcId = 269\n# special case hash\nmsg = 383234363337383337\nresult = valid\nsig = 3045022100eacc5e1a8304a74d2be412b078924b3bb3511bac855c05c9e5e9e44df3d61e9602207451cd8e18d6ed1885dd827714847f96ec4bb0ed4c36ce9808db8f714204f6d1\n\n# tcId = 270\n# special case hash\nmsg = 3131303230383333373736\nresult = valid\nsig = 304502202f7a5e9e5771d424f30f67fdab61e8ce4f8cd1214882adb65f7de94c31577052022100ac4e69808345809b44acb0b2bd889175fb75dd050c5a449ab9528f8f78daa10c\n\n# tcId = 271\n# special case hash\nmsg = 313333383731363438\nresult = valid\nsig = 3045022100ffcda40f792ce4d93e7e0f0e95e1a2147dddd7f6487621c30a03d710b3300219022079938b55f8a17f7ed7ba9ade8f2065a1fa77618f0b67add8d58c422c2453a49a\n\n# tcId = 272\n# special case hash\nmsg = 333232313434313632\nresult = valid\nsig = 304602210081f2359c4faba6b53d3e8c8c3fcc16a948350f7ab3a588b28c17603a431e39a8022100cd6f6a5cc3b55ead0ff695d06c6860b509e46d99fccefb9f7f9e101857f74300\n\n# tcId = 273\n# special case hash\nmsg = 3130363836363535353436\nresult = valid\nsig = 3045022100dfc8bf520445cbb8ee1596fb073ea283ea130251a6fdffa5c3f5f2aaf75ca8080220048e33efce147c9dd92823640e338e68bfd7d0dc7a4905b3a7ac711e577e90e7\n\n# tcId = 274\n# special case hash\nmsg = 3632313535323436\nresult = valid\nsig = 3046022100ad019f74c6941d20efda70b46c53db166503a0e393e932f688227688ba6a576202210093320eb7ca0710255346bdbb3102cdcf7964ef2e0988e712bc05efe16c199345\n\n# tcId = 275\n# special case hash\nmsg = 37303330383138373734\nresult = valid\nsig = 3046022100ac8096842e8add68c34e78ce11dd71e4b54316bd3ebf7fffdeb7bd5a3ebc1883022100f5ca2f4f23d674502d4caf85d187215d36e3ce9f0ce219709f21a3aac003b7a8\n\n# tcId = 276\n# special case hash\nmsg = 35393234353233373434\nresult = valid\nsig = 30440220677b2d3a59b18a5ff939b70ea002250889ddcd7b7b9d776854b4943693fb92f702206b4ba856ade7677bf30307b21f3ccda35d2f63aee81efd0bab6972cc0795db55\n\n# tcId = 277\n# special case hash\nmsg = 31343935353836363231\nresult = valid\nsig = 30450220479e1ded14bcaed0379ba8e1b73d3115d84d31d4b7c30e1f05e1fc0d5957cfb0022100918f79e35b3d89487cf634a4f05b2e0c30857ca879f97c771e877027355b2443\n\n# tcId = 278\n# special case hash\nmsg = 34303035333134343036\nresult = valid\nsig = 3044022043dfccd0edb9e280d9a58f01164d55c3d711e14b12ac5cf3b64840ead512a0a302201dbe33fa8ba84533cd5c4934365b3442ca1174899b78ef9a3199f49584389772\n\n# tcId = 279\n# special case hash\nmsg = 33303936343537353132\nresult = valid\nsig = 304402205b09ab637bd4caf0f4c7c7e4bca592fea20e9087c259d26a38bb4085f0bbff11022045b7eb467b6748af618e9d80d6fdcd6aa24964e5a13f885bca8101de08eb0d75\n\n# tcId = 280\n# special case hash\nmsg = 32373834303235363230\nresult = valid\nsig = 304502205e9b1c5a028070df5728c5c8af9b74e0667afa570a6cfa0114a5039ed15ee06f022100b1360907e2d9785ead362bb8d7bd661b6c29eeffd3c5037744edaeb9ad990c20\n\n# tcId = 281\n# special case hash\nmsg = 32363138373837343138\nresult = valid\nsig = 304502200671a0a85c2b72d54a2fb0990e34538b4890050f5a5712f6d1a7a5fb8578f32e022100db1846bab6b7361479ab9c3285ca41291808f27fd5bd4fdac720e5854713694c\n\n# tcId = 282\n# special case hash\nmsg = 31363432363235323632\nresult = valid\nsig = 304402207673f8526748446477dbbb0590a45492c5d7d69859d301abbaedb35b2095103a02203dc70ddf9c6b524d886bed9e6af02e0e4dec0d417a414fed3807ef4422913d7c\n\n# tcId = 283\n# special case hash\nmsg = 36383234313839343336\nresult = valid\nsig = 304402207f085441070ecd2bb21285089ebb1aa6450d1a06c36d3ff39dfd657a796d12b50220249712012029870a2459d18d47da9aa492a5e6cb4b2d8dafa9e4c5c54a2b9a8b\n\n# tcId = 284\n# special case hash\nmsg = 343834323435343235\nresult = valid\nsig = 3046022100914c67fb61dd1e27c867398ea7322d5ab76df04bc5aa6683a8e0f30a5d287348022100fa07474031481dda4953e3ac1959ee8cea7e66ec412b38d6c96d28f6d37304ea\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[key.wx = 0ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103]\n[key.wy = 00c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[sha = SHA-256]\n\n# tcId = 285\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# tcId = 286\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[key.wx = 00ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c582204554]\n[key.wy = 19235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[sha = SHA-256]\n\n# tcId = 287\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[key.wx = 0080984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c56]\n[key.wy = 11feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089", + "f1445019bb55ed95]\n[sha = SHA-256]\n\n# tcId = 288\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[key.wx = 4201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c05]\n[key.wy = 0095c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[sha = SHA-256]\n\n# tcId = 289\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[key.wx = 00a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac957]\n[key.wy = 5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[sha = SHA-256]\n\n# tcId = 290\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020101\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[key.wx = 6627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b1572]\n[key.wy = 6170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[sha = SHA-256]\n\n# tcId = 291\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020103\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[key.wx = 5a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bf]\n[key.wy = 00ef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[sha = SHA-256]\n\n# tcId = 292\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020105\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[key.wx = 00cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c737]\n[key.wy = 70af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[sha = SHA-256]\n\n# tcId = 293\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020106\n\n# tcId = 294\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[key.wx = 4be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e139]\n[key.wy = 20f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[sha = SHA-256]\n\n# tcId = 295\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[key.wx = 00d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9]\n[key.wy = 00971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[sha = SHA-256]\n\n# tcId = 296\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[key.wx = 4838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05f]\n[key.wy = 00fa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[sha = SHA-256]\n\n# tcId = 297\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[key.wx = 7393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64]\n[key.wy = 00e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[sha = SHA-256]\n\n# tcId = 298\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[key.wx = 5ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5]\n[key.wy = 00fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[sha = SHA-256]\n\n# tcId = 299\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[key.wx = 1d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509]\n[key.wy = 00dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d209be8de2de877095a399d3904c74cc458d926e27bb8e", + "58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[sha = SHA-256]\n\n# tcId = 300\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[key.wx = 083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99]\n[key.wy = 00915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[sha = SHA-256]\n\n# tcId = 301\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[key.wx = 008aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e19373874]\n[key.wy = 05bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[sha = SHA-256]\n\n# tcId = 302\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101\n\n# tcId = 303\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[key.wx = 00b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f287]\n[key.wy = 1b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[sha = SHA-256]\n\n# tcId = 304\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f50d371b91bfb1d7d14e1323523bc3aa8cbf2c57f9e284de628c8b4536787b86f94ad887ac94d527247cd2e7d0c8b1291c553c9730405380b14cbb209f5fa2dd]\n[key.wx = 00f50d371b91bfb1d7d14e1323523bc3aa8cbf2c57f9e284de628c8b4536787b86]\n[key.wy = 00f94ad887ac94d527247cd2e7d0c8b1291c553c9730405380b14cbb209f5fa2dd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f50d371b91bfb1d7d14e1323523bc3aa8cbf2c57f9e284de628c8b4536787b86f94ad887ac94d527247cd2e7d0c8b1291c553c9730405380b14cbb209f5fa2dd]\n[sha = SHA-256]\n\n# tcId = 305\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a902207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0468ec6e298eafe16539156ce57a14b04a7047c221bafc3a582eaeb0d857c4d94697bed1af17850117fdb39b2324f220a5698ed16c426a27335bb385ac8ca6fb30]\n[key.wx = 68ec6e298eafe16539156ce57a14b04a7047c221bafc3a582eaeb0d857c4d946]\n[key.wy = 0097bed1af17850117fdb39b2324f220a5698ed16c426a27335bb385ac8ca6fb30]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000468ec6e298eafe16539156ce57a14b04a7047c221bafc3a582eaeb0d857c4d94697bed1af17850117fdb39b2324f220a5698ed16c426a27335bb385ac8ca6fb30]\n[sha = SHA-256]\n\n# tcId = 306\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a902207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[key.wx = 69da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b8]\n[key.wy = 66d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[sha = SHA-256]\n\n# tcId = 307\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[key.wx = 00d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff32]\n[key.wy = 33e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[sha = SHA-256]\n\n# tcId = 308\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[key.wx = 3623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab785]\n[key.wy = 008db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[sha = SHA-256]\n\n# tcId = 309\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[key.wx = 00cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1]\n[key.wy = 00e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[sha = SHA-256]\n\n# tcId = 310\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[key.wx = 00db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff77350]\n[key.wy = 4f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[sha = SHA-256]\n\n# tcId =", + " 311\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e91e1ba60fdedb76a46bcb51dc0b8b4b7e019f0a28721885fa5d3a8196623397\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[key.wx = 00dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f]\n[key.wy = 1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[sha = SHA-256]\n\n# tcId = 312\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fdea5843ffeb73af94313ba4831b53fe24f799e525b1e8e8c87b59b95b430ad9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[key.wx = 00d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9]\n[key.wy = 00986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[sha = SHA-256]\n\n# tcId = 313\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022003ffcabf2f1b4d2a65190db1680d62bb994e41c5251cd73b3c3dfc5e5bafc035\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[key.wx = 00a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c32]\n[key.wy = 6337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[sha = SHA-256]\n\n# tcId = 314\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204dfbc401f971cd304b33dfdb17d0fed0fe4c1a88ae648e0d2847f74977534989\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[key.wx = 00c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b7]\n[key.wy = 3877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[sha = SHA-256]\n\n# tcId = 315\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bc4024761cd2ffd43dfdb17d0fed112b988977055cd3a8e54971eba9cda5ca71\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[key.wx = 5eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e]\n[key.wy = 5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[sha = SHA-256]\n\n# tcId = 316\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220788048ed39a5ffa77bfb62fa1fda2257742bf35d128fb3459f2a0c909ee86f91\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[key.wx = 5caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47a]\n[key.wy = 00deb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[sha = SHA-256]\n\n# tcId = 317\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220476d9131fd381bd917d0fed112bc9e0a5924b5ed5b11167edd8b23582b3cb15e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[key.wx = 00c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b098]\n[key.wy = 6237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[sha = SHA-256]\n\n# tcId = 318\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008374253e3e21bd154448d0a8f640fe46fafa8b19ce78d538f6cc0a19662d3601\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[key.wx = 3fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced]\n[key.wy = 03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[sha = SHA-256]\n\n# tcId = 319\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220357cfd3be4d01d413c5b9ede36cba5452c11ee7fe14879e749ae6a2d897a52d6\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[key.wx = 009cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114]\n[key.wy = 00b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[sha = SHA-256]\n\n# tcId = 320\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022029798c5c0ee287d4a5e8e6b799fd86b8df5225298e6ffc807cd2f2bc27a0a6d8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[key.wx = 00a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a]\n[key.wy = 4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[sha = SHA-256]\n\n# tcId = 321\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02200b70f22c781092452dca1a5711fa3a5a1f72add1bf52", + "c2ff7cae4820b30078dd\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[key.wx = 00f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88]\n[key.wy = 00cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[sha = SHA-256]\n\n# tcId = 322\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022016e1e458f021248a5b9434ae23f474b43ee55ba37ea585fef95c90416600f1ba\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[key.wx = 0083a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8]\n[key.wy = 00c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[sha = SHA-256]\n\n# tcId = 323\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202252d6856831b6cf895e4f0535eeaf0e5e5809753df848fe760ad86219016a97\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[key.wx = 00dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7]\n[key.wy = 00bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[sha = SHA-256]\n\n# tcId = 324\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210081ffe55f178da695b28c86d8b406b15dab1a9e39661a3ae017fbe390ac0972c3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[key.wx = 67e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460]\n[key.wy = 00a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[sha = SHA-256]\n\n# tcId = 325\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[key.wx = 2eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf]\n[key.wy = 00805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[sha = SHA-256]\n\n# tcId = 326\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[key.wx = 0084db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f35]\n[key.wy = 6d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[sha = SHA-256]\n\n# tcId = 327\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[key.wx = 0091b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad663]\n[key.wy = 49aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[sha = SHA-256]\n\n# tcId = 328\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[key.wx = 00f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834d]\n[key.wy = 00f97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[sha = SHA-256]\n\n# tcId = 329\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[key.wx = 00d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc88]\n[key.wy = 5ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[sha = SHA-256]\n\n# tcId = 330\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[key.wx = 0a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cd]\n[key.wy = 00e6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[sha = SHA-256]\n\n# tcId = 331\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d8437", + "5e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[key.wx = 00d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e8]\n[key.wy = 68612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[sha = SHA-256]\n\n# tcId = 332\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[key.wx = 00836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb276]\n[key.wy = 009ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[sha = SHA-256]\n\n# tcId = 333\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[key.wx = 0092f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8]\n[key.wy = 033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[sha = SHA-256]\n\n# tcId = 334\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[key.wx = 00d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09e]\n[key.wy = 00ff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[sha = SHA-256]\n\n# tcId = 335\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[key.wx = 008651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224]\n[key.wy = 00e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[sha = SHA-256]\n\n# tcId = 336\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[key.wx = 6d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6d]\n[key.wy = 00ef6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[sha = SHA-256]\n\n# tcId = 337\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[key.wx = 0ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e1542]\n[key.wy = 008911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[sha = SHA-256]\n\n# tcId = 338\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]\n[key.wy = 00838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[sha = SHA-256]\n\n# tcId = 339\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b\nflags = PointDuplication\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]\n[key.wy = 7c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[sha = SHA-256]\n\n# tcId = 340\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b\nflags = PointDuplication\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[key.wx = 6adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a6]\n[key.wy = 47e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[sha = SHA-256]\n\n# tcId = 341\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[key.wx = 2fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f3820]\n[key.wy = 65f3", + "450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[sha = SHA-256]\n\n# tcId = 342\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[key.wx = 00dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d250]\n[key.wy = 45d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[sha = SHA-256]\n\n# tcId = 343\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[key.wx = 4fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5]\n[key.wy = 00d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[sha = SHA-256]\n\n# tcId = 344\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[key.wx = 00c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107]\n[key.wy = 00bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[sha = SHA-256]\n\n# tcId = 345\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[key.wx = 00851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956ef]\n[key.wy = 00cee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[sha = SHA-256]\n\n# tcId = 346\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[key.wx = 00f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f]\n[key.wy = 008f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[sha = SHA-256]\n\n# tcId = 347\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[key.wx = 501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a0643]\n[key.wy = 008673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[sha = SHA-256]\n\n# tcId = 348\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[key.wx = 0d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb34]\n[key.wy = 3195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[sha = SHA-256]\n\n# tcId = 349\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[key.wx = 5e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca21]\n[key.wy = 5de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[sha = SHA-256]\n\n# tcId = 350\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[key.wx = 169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e]\n[key.wy = 7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[sha = SHA-256]\n\n# tcId = 351\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[key.wx = 271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b54898148754]\n[key.wy = 0a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e", + "4da5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[sha = SHA-256]\n\n# tcId = 352\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[key.wx = 3d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12]\n[key.wy = 00e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[sha = SHA-256]\n\n# tcId = 353\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[key.wx = 00a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b7]\n[key.wy = 2e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[sha = SHA-256]\n\n# tcId = 354\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[key.wx = 008d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c]\n[key.wy = 4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[sha = SHA-256]\n\n# tcId = 355\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[sha = SHA-256]\n\n# tcId = 356\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 357\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 00b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[sha = SHA-256]\n\n# tcId = 358\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 359\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[key.wx = 04aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]\n[key.wy = 0087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[sha = SHA-256]\n\n# tcId = 360\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2\n\n# tcId = 361\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30450220530bd6b0c9af2d69ba897f6b5fb59695cfbf33afe66dbadcf5b8d2a2a6538e23022100d85e489cb7a161fd55ededcedbf4cc0c0987e3e3f0f242cae934c72caa3f43e9\n\n# tcId = 362\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86\n\n# tcId = 363\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]\n[key.wy = 00ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[sha = SHA-256]\n\n# tcId = 364\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a\n\n# tcId = 365\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737\n\n# tcId = 366\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e30220541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 0084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[keyDer = 3059301306072a8648ce3d02010", + "6082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[sha = SHA-256]\n\n# tcId = 367\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd\n\n# tcId = 368\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3\n\n# tcId = 369\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04022100a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[sha = SHA-256]\n\n# tcId = 370\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519\n\n# tcId = 371\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336\n\n# tcId = 372\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86022100ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]\n[key.wy = 00a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[sha = SHA-256]\n\n# tcId = 373\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929\n\n# tcId = 374\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5\n\n# tcId = 375\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304602210096843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28022100f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[key.wx = 00fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]\n[key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[sha = SHA-256]\n\n# tcId = 376\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41\n\n# tcId = 377\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba\n\n# tcId = 378\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84022100feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[key.wx = 03fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]\n[key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[sha = SHA-256]\n\n# tcId = 379\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3\n\n# tcId = 380\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a\n\n# tcId = 381\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361022100f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[key.wx = 00bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[sha = SHA-256]\n\n# tcId = 382\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff\n\n# tcId = 383\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0\n\n# tcId = 384\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304502207e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859450221009450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[key.wx = 00bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 00fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[sha = SHA-256]\n\n# tcId = 385\n# y-coordinate of the public key is large\nmsg ", + "= 4d657373616765\nresult = valid\nsig = 3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224\n\n# tcId = 386\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469\n\n# tcId = 387\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022070bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67022100aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9\n\n", }; -static const size_t kLen70 = 154185; +static const size_t kLen103 = 147510; -static const char *kData70[] = { - "# Imported from Wycheproof's ecdsa_secp256r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]\n[key.wy = 0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63a5be977ad714cea16b10035f07cadf7513ae8cca86f35b7692aafd69f\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30814502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30460281202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002812100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3047028200202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00282002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502212478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3045021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022200a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304a028501000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285010000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304e02890100000000000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304e02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028901000000000000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902847fffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002847fffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30490284ffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 27\n# ", - "length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00284ffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a0285ffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285ffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d0288ffffffffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00288ffffffffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 304502ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502802478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047000002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a498177304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492500304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a222549817702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492224250002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d222202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00004deadbeef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02226498177022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022252500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02223022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304daa00bb00cd00304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304baa02aabb304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d2228aa00bb00cd0002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b2226aa02aabb02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02229aa00bb00cd00022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02227aa02aabb022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3049228002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 64\n# using composition with indefin", - "ite length\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3049228003202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 324502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30493001023044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 3044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb200\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb205000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047300002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb23000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 302202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 306802202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3023022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302402022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302302202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3047022200002478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00223000000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841", - "359d1b34eb20500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250281022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30250500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304500202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304501202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304503202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304504202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045ff202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0012100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0042100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0ff2100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250200022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30492224020124021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022250201000220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202678f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022102a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f98140022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e32\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00222ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3026090180022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012478f1cf49f6d858ac900a7af177222661ac95e206d32ee63020beee955ca711022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2478f1d149f6d856ac900a7af1772226e7dea086b8a3f1dc48ad29689c965c6f022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30450220db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100db870e2eb60927a9536ff5850e88ddd918215f79475c0e23b752d6976369a391022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221fedb870e30b60927a7536ff5850e88ddd99e536a1df92cd119cfdf41116aa358ef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c", - "66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c3a41688548eb315e94effca0efd1ffe0a13467061783dde1cce167403\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c5a41688528eb315e94effca0f835208aec517335790ca4896d5502961\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221ff5f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221fe5f85a63c5be977ab714cea16b10035f102e001f5ecb98f9e87c221e331e98bfd\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special ca", - "se values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000", - "000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nr", - "esult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3932323038\nresult = valid\nsig = 3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02203c623e7f7598376825fa8bc09e727c75794cbb4ee8716ae15c31cd1cbe9ca3ee\n\n# tcId = 217\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 304402203a4f61f7f8c4546e3580f7848411786fee1229a07a6ecf5fb84870869188215d022018c5ce44354e2274eadb8fea319f8d6f60944532dbaae86bfd8105f253041bcb\n\n# tcId = 218\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 304502203fa9975fb2b08b7b6e33f3843099da3f43f1dcfe9b171a60cafd5489ca9c5328022100985a86825a0cc728f5d9dac2a513b49127a06100f0fc4b8b1f200903e0df9ed2\n\n# tcId = 219\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 304402204d66e7ee5edd02ab96db25954050079ef8de1d0f02f34d4d75112eaf3f73124002206292d1563140013c589be40e599862bdd6bda2103809928928a119b43851a2ce\n\n# tcId = 220\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 3046022100a9228305f7b486f568eb65d44e49ba007e3f14b8f23c689c952e4ced1e6cf91e022100b73c74d28bd1268002bed784a6b06c40a90ee5938ea6d08f272d027e0f96a72c\n\n# tcId = 221\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 304402203fa39842bfab6c38afa7963c60beb09484d4579fc75ef09efff44e91bc62ca8302205612add1924f0285ace5b158828e2b32ab2b6e7f10ee68dca1cc54591fee1fec\n\n# tcId = 222\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 3045022006c04b02edfeecd8620f035ea4f449bd924593e86e5288a6f22d1923b0e2e8a9022100f666718e6fefb515bb9339d29cc0e58cfba89d605ca0066bca87f6a3f08ebcfa\n\n# tcId = 223\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 304402201ddd953c32a5f84109cd4d9ec8c364dd318376ff5d228211a367483077d638800220563dba4845de762baf04910618d587e0dd0c97dd1c9785c24ffdf2f8a660abf2\n\n# tcId = 224\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 30460221009fe4ec4831ef4945f100d5d35a2e6312411ca5df6c900ca60690f2985d553482022100c674ad5e1bead2f767c9248e444452a4a8530dd47246cbbc968da865bdf212b6\n\n# tcId = 225\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 3046022100e8703d6b16a79fc2ab3653cece29d06f65dd6f2c230cb08ee30c5517407d75db0221008cfeb87b8e95ddacd638b37d315393c5005f3ab8bba0cc1cd1a050829b775bfb\n\n# tcId = 226\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 3046022100def608caf1f277d71403009f209c1d7eef11aaa7920397fbf429b8146181aece022100f3b8f2aa5b3df9a8b37313ea66ad5b74673f3e8614ff471b1eb6773217511fb0\n\n# tcId = 227\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 304402204f5d08e8d936ce831d02d6b23fb8fce0e0750101af3ab9c3b28636b95a5e24ad02206f034480553bcecac221f8be8288163c55492e2e56a88f4d0341b61436a0a6c0\n\n# tcId = 228\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3045022100bdd822bfe3733d9f4b88764fe091db2e8f8af366e4c44d876bf82e62bd48c7ee02207fbf7750c5dc849a2c55dbdd067806f869652a7b3a57baa4733781d3128f02de\n\n# tcId = 229\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 304402201c4fc02961b7f4245566b410bf08f447502ea4f75b15690344681efa2edf7b4b02207d63eef119dc88bc4a1b2c43ac21cd53892443661f8c3a97d558bf888c29f769\n\n# tcId = 230\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 304402206406f2d249ab1264e175476ca3300efd049fcad569dff40b922082b41cc7b7ce0220461872b803383f785077714a9566c4d652e87b2cad90dd4f4cc84bc55004c530\n\n# tcId = 231\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 30450220415c924b9ba1902b340058117d90623602d48b8280583fb231dc93823b83a153022100f18be8cdc2063a26ab030504d3397dc6e9c6b6c56f4e3a59832c0e4643c0263c\n\n# tcId = 232\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 3045022100d12e96c7d2f177b7cf6d8a1ede060a2b174dc993d43f5fe60f75604824b64fef02200c97d87035fcca0a5f47fe6461bb30cbaf05b37e4211ec3fcd51fc71a12239ca\n\n# tcId = 233\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 304502207df72a64c7e982c88f83b3a22802690098147e0e42ef4371ef069910858c0646022100adbaa7b10c6a3f995ed5f83d7bda4ba626b355f34a72bf92ff788300b70e72d0\n\n# tcId = 234\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 30440220047c4306f8d30e425ae70e0bee9e0b94faa4ef18a9c6d7f2c95de0fe6e2a323702207a4d0d0a596bd9ea3fe9850e9c8c77322594344623c0b46ac2a8c95948aefd98\n\n# tcId = 235\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 3044022057d603a367e23af39c95dd418c0176da8b211d50b1be82bf5ef621a2640204f702205dc3f285ad015c4d71157bd11e5b8df6a89e4b267393b08b5ad5013bdae544b1\n\n# tcId = 236\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 3044022011df6741021ec8cc567584aea16817c540859c4e5011551c00b097fcfc2337e50220668551919d43206ac0571fc5ad3ac0efb489bea599e7bf99fe4c7468d6c2c5e0\n\n# tcId = 237\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 304402207451ffede471bd370406533436fc42a89daa0af4903d087cbc062fe7e54dbf700220590895398f22b48ce72cbf7c3d3ee1dd7fb0ee645edb0b1b1de35f370e5bf5ee\n\n# tcId = 238\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 3045022100fc4c4d81da6f687a6426263193c1a680b67734a1b180647b8c76407cc4f0a9c6022056f775d372c9bee685374085be676c9cf31cf1f978a5e6ccb04e4a0761159cc7\n\n# tcId = 239\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 3045022100feb978ca33c46ffba47eb63bb40de7833e43d5654575b54de1fea3d1de3c8ad50220108078ba997bfa064521baf342c97b0c64bd25240c8fd0fd7533ae2d03081b70\n\n# tcId = 240\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 3046022100cc61729698467ba53da199ff481fe7433f194fc96367907e8dc5e1d9f42b1e2102210083dd9ef156e7c1f9c09b3bf86a4f1c88e5dd20cd74d997858e600797dbe74ad2\n\n# tcId = 241\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 3045022100d47f616303ff0eb813eac32e760ba30ad445e0af7dc57e70756104823f6a895f0220047f2217b399c46a426b936a124980a6011f0896f51dbe07632828a72d7173f1\n\n# tcId = 242\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 3046022100cff73dfa2bac67ce1340b25c885abb3e7979ef7f840f15d5f19e86640cdd40a3022100c7d1210802796c4f251049ee08a2c29f5c71064033d17010c65bf2e94499381e\n\n# tcId = 243\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 3044022010acaf9c485ab1220355b95be269f124e12eb252f2224b0fc50785eb2ee3df45022032443b557efc6896347fa778e1fcf33cbb769c9a7da896b20d93fea7c2791ea4\n\n# tcId = 244\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig ", - "= 3046022100f919da0651abc2bff994a879d2778fa5195d57400e003e8dd6adb3fc7a0cc4cc0221009b945d06bd119665b278a59bd24fdd2350817d0be87997bee57b70c479d64a2d\n\n# tcId = 245\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 3045022100cc38e7a018f6d70b2d9b49120cc9b4a169f2f72238821a86b81f553b6225d24e0220276efd8bf06ccce07c7aae35eaac3bd1c374dcf0cf0588d5e0e4171936688636\n\n# tcId = 246\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 3045022100ff85ad66621991c318b85cef73c576cb2a8d43c568c1aafc85b40ef2a9a6b41c0220732a79e6837ebf8434fea6e7fefa948f506ae455c1a3eb36a030185a23037d96\n\n# tcId = 247\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 3044022033f016e51eef9b1136380cb8b84c6b38b107e24c6731bd07cb1c7f4a29f33a83022036b177bb8be94c8be67ff3a41fcc4d22b5c9eb377da713eb014ae01c64ca6dd7\n\n# tcId = 248\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 3045022100929413ee91f27454d74e91370a10a86fc98ac7305c8ab4ca59752bda3a7bfc370220483b47a26a0d7d2e6bd37d351d9ee37c5ec2a4686d884d78b6beb7f6b08c50f9\n\n# tcId = 249\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 30450220578202c7d0abac93ca43dde3cb44414e5601c1eb557604cb9adb4bde0a12633b022100fb9a7412e307aee95ef4b53540571a21559414e5306794ab5182cfb229dab3e9\n\n# tcId = 250\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3045022046d45ad0bb75b8639d0e91d8450fc31887c211328a5784fc83b4cb7f5b962c1b022100d6751d13ede2079b7aa1d822bdb32d7f3cf00273a1ff03df90c0ec7c62a47568\n\n# tcId = 251\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 3046022100abe84c941783d5ced284fea56341ecc68d6bdd3196d318fbd074641f8c885bd5022100bdea3c44d48e01aa40935c1c9723ff733199563440f26b4ecf0b444b0418d9f5\n\n# tcId = 252\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 3045022005277cdbf491e336fe81be24e393a161a4fb89112c9ffed1ee6649c406713408022100ab6934332e68e108bb0484d21c457dcf381a620c3a4712fdbfeb658a3fafd60c\n\n# tcId = 253\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 30450220293825737c8c14430ed10dbadd7da337275f9b61d1d26377f778ffaa00c139de022100cdddec267a8678c96829bf6c1d6f38322e119937cfd2fee01e9dc9525f43ed6b\n\n# tcId = 254\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 304402202041fdd6111c45dfd29e750e082dcdadc9a584a8a2be46580fb0ba3b3dc658620220421824fe987e4172a0f8bbcb7bcd9e1b073b7742ed9f9df98f2a1a37cd374ce3\n\n# tcId = 255\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 30450220267941db660e046ab14e795669e002b852f7788447c53ebef46a2056978b5574022100d00183bcaf75bc11e37653f952f6a6537151c3aa0a1b9e4e41b004a29185395b\n\n# tcId = 256\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 304402205dcd7f6814739d47f80a363b9414e6cbfb5f0846223888510abd5b3903d7ae09022043418f138bb3c857c0ad750ca8389ebcf3719cb389634ac54a91de9f18fd7238\n\n# tcId = 257\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 304502205e0e8cc0280409a0ce252da02b2424d2de3a52b406c3778932dbc60cb86c356702210093d25e929c5b00e950d89585ec6c01b6589ae0ec0af8a79c04df9e5b27b58bc5\n\n# tcId = 258\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 304502204fcf9c9d9ffbf4e0b98268c087071bffe0673bb8dcb32aa667f8a639c364ea47022100820db0730bee8227fc831643fcb8e2ef9c0f7059ce42da45cf74828effa8d772\n\n# tcId = 259\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 3046022100c60cd2e08248d58d1639b123633643c63f89aff611f998937ccb08c9113bcdca022100ac4bb470ce0164616dada7a173364ed3f9d16fd32c686136f904c99266fda17e\n\n# tcId = 260\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 304502207cfdaf6f22c1c7668d7b6f56f8a7be3fdeeb17a7863539555bbfa899dd70c5f1022100cee151adc71e68483b95a7857a862ae0c5a6eee478d93d40ccc7d40a31dcbd90\n\n# tcId = 261\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 304402202270be7ee033a706b59746eab34816be7e15c8784061d5281060707a0abe0a7d022056a163341ee95e7e3c04294a57f5f7d24bf3c3c6f13ef2f161077c47bd27665d\n\n# tcId = 262\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3044022016b5d2bfcaba21167a69f7433d0c476b21ded37d84dc74ca401a3ecddb2752a8022062852cf97d89adfb0ebbe6f398ee641bfea8a2271580aac8a3d8326d8c6e0ef9\n\n# tcId = 263\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 3046022100d907eefa664115848b90c3d5baa0236f08eafaf81c0d52bb9d0f8acb57490847022100fd91bc45a76e31cdc58c4bfb3df27f6470d20b19f0fba6a77b6c8846650ed8a6\n\n# tcId = 264\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 30450220048337b34f427e8774b3bf7c8ff4b1ae65d132ac8af94829bb2d32944579bb31022100bd6f8eab82213ccf80764644204bb6bf16c668729cdd31dd8596286c15686e8e\n\n# tcId = 265\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 3046022100b2bc46b7c44293557ab7ebeb0264924277193f87a25d94c924df1518ba7c7260022100abf1f6238ff696aaafaf4f0cbbe152c3d771c5bfc43f36d7e5f5235819d02c1a\n\n# tcId = 266\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 3045022040d4b38a61232e654ffd08b91e18609851f4189f7bf8a425ad59d9cbb1b54c990221009e775a7bd0d934c3ed886037f5d3b356f60eda41191690566e99677d7aaf64f3\n\n# tcId = 267\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 3046022100ac8f64d7df8d9fea005744e3ac4af70aa3a38e5a0f3d069d85806a4f29710339022100c014e96decfef3857cc174f2c46ad0882bef0c4c8a17ce09441961e4ae8d2df3\n\n# tcId = 268\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 3044022041b3766f41a673a01e2c0cab5ceedbcec8d82530a393f884d72aa4e6685dea0a0220073a55dca2da577cafb40e12dd20bf8529a13a6acdf9a1c7d4b2048d60876cb3\n\n# tcId = 269\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 304502201942755aa8128382cd8e35a4350c22cc45ba5704d99e8a240970df11956ad866022100f64cf1e0816cf7ac5044f73ba938e142ef3305cb09becb80a0a5b9ad7ba3eb07\n\n# tcId = 270\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 3045022051aba4ff1c7ddf17e0632ab71684d8de6dc700219ef346cb28ce9dafc3565b3b022100b6aaebe1af0ad01f07a68bf1cf57f9d6040b43c14b7eb8238542760e32ce3b0c\n\n# tcId = 271\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 304502210091efbfcc731650e9f004c38b71db146c17bf871c82c4e87716f7ff2f7f9e51d00220089ea631a7c5f05311c521d21ba798b5174881f0fd8095fb3a77515913efb6e0\n\n# tcId = 272\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 304502204a7e47bd281ea09b9e3a32934c7a969e1f788f978b41585989f4689e804663fb022100e65f6bd702403cbbed7f8ad0045f331d4a96fbf8c43f71f11615b7d1b9153b7f\n\n# tcId = 273\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 3046022100c795f5da86e10a604d4f94bf7cac381c73edad1461d66929e53aa57ca294e89f022100bae784ab6c7b58332ee05e7d54169edf55ce45f030e71ae8df63969fb327a10c\n\n# tcId = 274\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 3046022100ea68b24843b225f505e01c0e608b20b4d93e8faf6b9cf70cf8f9134a80e7b668022100a3abc044b4728f80fe414bdc66f032b262356720547bec7729fad94151c6adc7\n\n# tcId = 275\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 3046022100bfe7502140c57a24a77edc3d9b3c4bc11d21bdb0b196977b7f2b13ac973ad697022100947a01da9731849d72b67ef7bc40b012480fd389895aad1f6b1cdbeab3b93b8d\n\n# tcId = 276\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 304402203434ee1142740a0ab8623b97fc8dc2567eda45dadf6039b45c448819e840cf3002203c0fac0487841997202c29f3bf2df540b115b29dc619160d52203d4a1fd4b9f7\n\n# tcId = 277\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 304502205338500e23ba96a0adc6ef84932e25fbad7435d9f70eb7f476c6912de12e33c8022100a002f5583ea8c0d7fb17136d0ee0415acf629879ce6b01ac52e3ecd7772a3704\n\n# tcId = 278\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 304402204ff2d4e31f4180de6901d2d20341d12387c9c55f4cf003a742f049b84af6fe0502200312f38771414555fa5ed2817dcc629a8c7cf69d306300e87bc167278ec3ef37\n\n# tcId = 279\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3044022051d665bad5f2d6306c6bbfe1f27555887670061d4df36ec9f4ce6cdfaf9ea7ac02202905e43f6207ee93df35a2e9fb9bc8098c448ae98a14e4ad1ebaea5d56b6e493\n\n# tcId = 280\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 3046022100b804e0235f135aba7b7531b6831f26cc9fb77d3f83854957431be20706b813690221009d317fd08e4e04", - "67617db819cde1d7d4d74da489b2bce4db055ea01eccfafcf2\n\n# tcId = 281\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 30450221008ab50ef3660ccb6af34c78e795ded6b256ffca5c94f249f3d907fb65235ef680022049d5aaeae5a6d0c15b286e428b5e720cf37a822ede445baa143ffae69aba91b8\n\n# tcId = 282\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 30440220571b9c46a47c5cc53a574c196c3fb07f3510c0f4443b9f2fe781252c24d343de022068a9aebd50ff165c89b5b9cb6c1754191958f360b4d2851a481a3e1106ee7809\n\n# tcId = 283\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 304502204cb7817b04dc73be60d3711803bc10687a6e3f4ab79c4c1a4e9d63a73174d4eb022100ce398d2d6602d2af58a64042f830bf774aee18209d6fb5c743b6a6e437826b98\n\n# tcId = 284\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 30450220684399c6cd6ebb1c5d5efb0d78dce40ebd48d9d944eb6548c9ce68d7fdc82229022100cf25c8e427fae359bfe60fa02964f4c9b8d6db54612e05c78c341f0a8c52d0b5\n\n# tcId = 285\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 3045022020b7b36d5bc76fa182ca27152a99a956e6a0880000694296e31af98a7312d04b022100eeeabc5521f9856e920eb7d29ed7e4042f178ff706dff8eeb24b429e3b63402a\n\n# tcId = 286\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 304402206b65c95e8e121d2e6ee506cfd62cb88e0bfb3589da40876898ef66c43982aca9022009642c05ad619b4402fd297eb57e29cca5c2eb6823931ba82de32d7c652ba73e\n\n# tcId = 287\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 3044022067c74cbf5ea4b777bf521ace099f4f094d8f58900e15e67e1b4bd399056629ed02203d2884655c49b8b5f64e802a054e7bf09b0fc80ca18ebf927b82e58bb4a00400\n\n# tcId = 288\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 3045022079a5e40da5cf34c4c39adf7dfc5d454995a250314ebd212b5c8e3f4e6f875feb022100b268920e403ba17828ff271938a6558a5b2dd000229f8edb4a9d9f9b6ac1b472\n\n# tcId = 289\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 3045022100c8b13006c3a51a322fff9321761b01de134f526be582b22e19693c443fc9fe46022034e7f60179c6162ab980fcd58f173b0e6c30b524d35c67921677522dcef843a1\n\n# tcId = 290\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 304502203513db745489a487c88a6cedf8795b640f8f71578397bdabd6cc586c25bd66ad02210099a72cd3f0ca6c799149283ca0af37f86b88200d0c905bd3c9f1b859e55b1659\n\n# tcId = 291\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 304402203a6386afb08f7ff8140b5a270f764e8706ef2830fb177446f7b4eeb8a25aac6402204b70854b38c29245b2b980eba10ea936c68a38c1da5255ce2386db23afc7c06a\n\n# tcId = 292\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 3046022100b8fc54a8a6be3c55e99c06f99ccdcce7af5c18a3c5829726a870cc1068458f64022100cc7237c39c8e6a4a1c8c62f5f88636549c7410798b89684c502c3adfe5fb7ad2\n\n# tcId = 293\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3045022047b460851e5607f2021626635c565a63f78f558795e1b330d09115970dbbb8ab022100a6a9f4f213e08d3c736d3e1c44a35140cb107619f265a5b13608ed729fd6d894\n\n# tcId = 294\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 30450221008cfda4f7a65864ebbea3144863da9b075c07b5b42cb4569643ddfd70dd753b190220595784b1ab217874b82b9585521f8090b9f6322884ab7a620464f51cf846c5b7\n\n# tcId = 295\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 304402204cd6a45bd7c8bf0edbdf073dbf1f746234cbbca31ec20b526b077c9f480096e702207cf97ae0d33f50b73a5d7adf8aa4eeeb6ff10f89a8794efe1d874e23299c1b3d\n\n# tcId = 296\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 304402202e233f4df8ffebeaec64842b23cce161c80d303b016eca562429b227ae2b58ec022046b6b56adec82f82b54daa6a5fca286740a1704828052072a5f0bc8c7b884242\n\n# tcId = 297\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 30440220549f658d4a3f98233a2c93bd5b1a52d64af10815ae60becb4139cac822b579c3022027bdddf0dbcf374a2aec8accc47a8ac897f8d1823dda8eb2052590970b39ce2a\n\n# tcId = 298\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 30450221009fabcc1e5fd965226902f594559e231369e584453974e74f49d7d762e134fb9d0220293cccc510793bac45ce5da2bb6c9e906437f59435ca206655f74b625df07c7c\n\n# tcId = 299\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 304502202e5c140fd6f5f823addc8088ffaae967e7f4897274316769561dfb31435825d9022100eda47327d7cfae1daa344ff5582a467bd18eb9f01caeab9c6da3c0cc89df6713\n\n# tcId = 300\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 304402204c11e3b7efbe3908ad2118e54d7d34d6c6eb4570bf7fdb11a7679fe93afa254c0220712e90f421836e542dac49d10bb39db4a98b2735b6336d8a3c392f3b90e60bbe\n\n# tcId = 301\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 3045022100dfb4619303f4ff689563d2275069fac44d63ea3c3b18f4fb1ac805d7df3d12ec022068e37b846583901db256329f9cf64f40c416fba50dcb9be333a3e29c76ae32db\n\n# tcId = 302\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 3045022100e70e8e17bd758ff0c48f91cb2c53d293f0f5ae82eb9dfe76ab98f9b064278635022021dde32cb0389cad7bdf676d9b9b7d25bb034ad25a55ea71ee7ee26a18359dd2\n\n# tcId = 303\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 30440220421397ecae30617a5a6081ad1badf6ce9d9d4cb2afdabf1f900e7fdb7fb0af5a022057ca89dc22801c75fdbefdaeca65c675625f94de7d635062b08ed308df5762cc\n\n# tcId = 304\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 304502200610c08076909bb722fba105c23eac8f66b4db1d58f66a882fc90d59acdec8e0022100af59e8d570761cac589d49f11c884007f7ac1eea1a44c6f3fdad1d542187d25e\n\n# tcId = 305\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 3045022059a1181cab0ee8ce94ab2b5ab4f4b13a422e38efe69f634bf947485a5b9ea49c0221009b3c913d98a4ab15f6a39f1802b8f2d28559aa1f8d03a3a88df00c89dc293a97\n\n# tcId = 306\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 30460221008cae6c4dfbf901bd66ab82541011fa15c8e90e2c18c01bd881acaa2b63cb587b022100a86acf943f29cef91d1b66a7de5547df6cdfc45dd7bef816dcb8de9f5a425d2d\n\n# tcId = 307\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 30450221008b00c74b86474d782eac9974aea606d8f7ee78c79597e15687021f5991e86acd0220309dfe3686648eae104e87b3e9b5616a3ad479ca4f0b558ae4f1e5ab3115346a\n\n# tcId = 308\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 30450220433a915504c977809634a36fcf4480e4c8069fc127d201d30dfdb1f423c95fd4022100bcb1b89aafd50a1766b09741fc6a9a96e744ae9826d839bf85ffb50a91981773\n\n# tcId = 309\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 304502204b69abd2b39840a545cdd4a72d384234580e2fd938b7091d0ecdb562780857db022100fdab9957119e0a4092af82f6cc29f3c8a692671ec86efb0a03c1112a0a1e0467\n\n# tcId = 310\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 3045022100dab9d3686c28363ad017b4a2b36d35bf2eb80633613d44deb9501d42a3efbd3802201392a562d79f9ab19014e4f7e2f2668259f3720a76c120d4a3c3964e880f7679\n\n# tcId = 311\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3045022023f94e47b440ce379b74c9311232b19a64e3e7c9b90da34b0c1c3f3d7af28105022100e1425903b1479c2ce18b108a6d1ec8b7a4f0f657dedb00de3a3ceea7fdeee9be\n\n# tcId = 312\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 30450221009d706a8fa85d15bd0c3492c6672dfe529f4073b217b3947b5b2cfd61f87ccb7102206aaaaf369f82a0e542f72ded7d7eb90c8314ffa613a0ea81da1c8393dbae2bac\n\n# tcId = 313\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3046022100ac77918c4085c8a7ce5020b00c315629aee053a445cb4661eb50f6b62a47da29022100df2aea2b9c11a6ce39d3cd9e1faf4a53057e0b1b2e48a324be9e773203fe9fbb\n\n# tcId = 314\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 30460221009db2dbd2935f147fae7f6a95c8e2307bd8537c3d96eb732ad6d5ebdd89bc754e02210093a9ab99d2de9d08fe0a61e26c8fe1ebbf88726e4b69d551b57d15f0ae16df5a\n\n# tcId = 315\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 30440220769f70093939afbd1fa15873decfa803ca523ace8040280ba78cf833497722bc0220369875aba5e1ced5a4ca8444ec9399a38038b00e153a0ae34d9b3c9781447eea\n\n# tcId = 316\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 3045022026e5182b9822550ad52f46ad80781d6bef3d110a204db5e58a0746f796982200022100a9418e76029ced0cf78a571a9e59ad04086e91f70e6813981bb33c1dee891165\n\n# tcId = 317\n# special case hash\nmsg = 3331333132383732373", - "7\nresult = valid\nsig = 3046022100e7bd6aefcf7b27e1f3fadbe713f9adb3d23398e88200cd2e94989c9d12e921770221009583e0de3b76f8d4b1e634a81cbc34af54e2f8599f3684ce48d372760c8204c4\n\n# tcId = 318\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 30450221008638ed7eaa83609a01a6af9c52ec9bfddda90442b1e6031d61cfa22e48b2e1e2022020c284d596f71c6c8df732f5a5a2006302301e1a792e2b39663d93a9760762d2\n\n# tcId = 319\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 3044022061d924307a96180b06383608ba91674e15c3ea06ff2534412b93a587dde649c1022059b84aa2115b2547edac88088ca6313e9fbe1ca6a361c7e57938f9dde3f4349c\n\n# tcId = 320\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 30450220424fcfc3fd63d128c2eb125e88c7fe5d283b63470a786b82783edbb8a0b7a6d7022100b11548c2cd7fce9d44e795ca51af0b2f6a5180e9c9be0314007ed9e7f4bbe5e9\n\n# tcId = 321\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 3045022100a5f747ae6290fa9582c6ce8d5608621d495f061551bc4531bacba586a563b184022062faf8f92291e12812835b3f1d43c967bceb885b110bd06e5a68e2d74781ae2b\n\n# tcId = 322\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 3045022100b731dc0d92c2cc7a605d78233f7814699bdf1cab2df297b6844eec4015af8ea0022039b1a0cc88eb85bcdc356b3620c51f1298c60aec5306b107e900ffdba049dd6f\n\n# tcId = 323\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3046022100ef73c4fa322da39fb6503bab6b66b64d241056afbcd6908f84b61ccbbe890433022100f1ef85413e5764aa58a3128ccfcf388324fe5340e5edf8d0135ae76786ce415b\n\n# tcId = 324\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 30450220694cd30e2ad0182579331474b271ee2d48723bc8415dc6513873586ce705b76b022100c5ac0c0ed5a4017d110cb45d63aa955dc7dc5ce23e7965c5397c3ff46a884636\n\n# tcId = 325\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 3046022100f38b2236be3024e10b894ffb1cc68d0bb8d4cf0fcd2cfc1779f8883765d3cd96022100da69cd0b74c25566d60a486edd559fc39d569fb2751445a4798df8a36891802c\n\n# tcId = 326\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 3046022100a881732c205a0b4b95669c00756fd91973450109a46f17d5a9d971b5e92b9aa40221008acefdca4e06c16b47ccad1c57c05912637e107096ba230c92b97187db79e19e\n\n# tcId = 327\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3044022004452f554bae819b42effb84ef44a9f1cb7e2d75b4ba9ff9b9cfffaddde3fd1b022061a3fbc5e73c350f2e3d85a7452cd231a3f3375fc11f5fe153b185f53b09c1d0\n\n# tcId = 328\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 3045022005814f57f58efc7cb490119e584e635e6f0ad1c19fb5dc2edafda075bb55f98e0221009dd5c6e39009d67d965903ecffe08a851775cc1248cc19c0b77798282131b8f6\n\n# tcId = 329\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 3045022100dc1c4a46085e198843b1f01980cd5e4a1ff6f8e8ff7014397f0afd5b247fb0a0022038a13dc723ed90b30251d742b14733a03292ff26530a1ebcaf3d10862a6eff82\n\n# tcId = 330\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 304502201067667bf525734ca7f2510e36348fd9c2c9bccf032dfd571de6d45abd49361a022100fa762568d3a19e5a1d8ea65e00202a5b16f9afae56733a01f86e35378c558da4\n\n# tcId = 331\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 3046022100e58d69dc56bc1031644847e3e046e2ea845a515d969d07ea1aa53aea5bd92fa1022100bfe50b80f7c512f5ab521fe7e1a131045fde78d4de826c91573baaba1e35ca97\n\n# tcId = 332\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 3046022100fe79c6b8c14d0f23d426e3d157f1b541f6bb91bf29957ef97c55949c9ba48a350221009da112c4a4cf4b1ff490c426f6c8ff122183964a0de56f7336ab382dc9d10285\n\n# tcId = 333\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 3045022045d4ed7e9edacb5a730944ab0037fba0a136ed9d0d26b2f4d4058554f148fa6f022100f136f15fd30cfe5e5548b3f4965c16a66a7c12904686abe12da777619212ae8c\n\n# tcId = 334\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 304402204fb7c1727e40bae272f6143a50001b54b536f90233157896dbf845e263f2486302206fea5c924dca17519f6e502ef67efa08d39eb5cc3381266f0216864d2bd00a62\n\n# tcId = 335\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 30450220779aac665dd988054b04f2e9d483ca79179b3372b58ca00fe43520f44fcb4c32022100b4eca1182cd51f0abd3ea2268dcda49a807ad4116a583102047498aa863653f5\n\n# tcId = 336\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 3046022100db7ac6f65fb1c38d80064fd11861631237a09924b4eeca4e1569fa4b7d80ad24022100a38d178d37e13e1afa07a9d03da025d594461938a62a6c6744f5c8f7d7b7bb81\n\n# tcId = 337\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 3046022100c90043b4aadf795d870ac223f33acdbd1948c31afff059054dc99528c6503fa6022100829f67b312bb134f6954a23c611a7f7b5b2a69efced9c48db589ac0b4d3da827\n\n# tcId = 338\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 3045022100fa16c0125b6615b90e81f7499804308a90179bf3fcff6a4b2695271c68b23ded02200d6cda5ce041dc5a5f319ad9c0de4927d0cf5e89e37b79216194413d42976d54\n\n# tcId = 339\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 304502201a4b5bd0f806549f46a3e71bfe412d6d89206017640ded66f3d0b2d9b26bec45022100aac5f74e3130264e01428570ee82ee47e245d160ed812ae252dedffd82e1ec2c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[key.wx = 0b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a05734]\n[key.wy = 31760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[sha = SHA-512]\n\n# tcId = 340\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# tcId = 341\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[key.wx = 3590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb6]\n[key.wy = 15fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[sha = SHA-512]\n\n# tcId = 342\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[key.wx = 369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650a]\n[key.wy = 0a723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[sha = SHA-512]\n\n# tcId = 343\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0427a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[key.wx = 27a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d]\n[key.wy = 32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000427", - "a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[sha = SHA-512]\n\n# tcId = 344\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[key.wx = 09cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867]\n[key.wy = 0f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[sha = SHA-512]\n\n# tcId = 345\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020101\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[key.wx = 0d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc]\n[key.wy = 19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[sha = SHA-512]\n\n# tcId = 346\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020103\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[key.wx = 08cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21e]\n[key.wy = 0afb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[sha = SHA-512]\n\n# tcId = 347\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020105\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[key.wx = 0fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc1117]\n[key.wy = 09abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[sha = SHA-512]\n\n# tcId = 348\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020106\n\n# tcId = 349\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[key.wx = 0dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994]\n[key.wy = 0dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[sha = SHA-512]\n\n# tcId = 350\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[key.wx = 1b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920e]\n[key.wy = 0e900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[sha = SHA-512]\n\n# tcId = 351\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[key.wx = 2914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d]\n[key.wy = 3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[sha = SHA-512]\n\n# tcId = 352\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[key.wx = 2579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da41]\n[key.wy = 5528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[sha = SHA-512]\n\n# tcId = 353\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[key.wx = 0b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992]\n[key.wy = 0f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[sha = SHA-512]\n\n# tcId = 354\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[key.wx = 4d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749]\n[key.wy = 0fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[sha = SHA-512]\n\n# tcId = 355\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[key.wx = 361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab222058]\n[key.wy = 4f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000436", - "1c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[sha = SHA-512]\n\n# tcId = 356\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[key.wx = 0db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad]\n[key.wy = 1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[sha = SHA-512]\n\n# tcId = 357\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101\n\n# tcId = 358\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[key.wx = 099f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea412]\n[key.wy = 086a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[sha = SHA-512]\n\n# tcId = 359\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[key.wx = 5e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df]\n[key.wy = 648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[sha = SHA-512]\n\n# tcId = 360\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[key.wx = 0ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a]\n[key.wy = 085b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[sha = SHA-512]\n\n# tcId = 361\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d0\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[key.wx = 0cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941]\n[key.wy = 0b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[sha = SHA-512]\n\n# tcId = 362\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[key.wx = 456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d]\n[key.wy = 720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[sha = SHA-512]\n\n# tcId = 363\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[key.wx = 42bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc]\n[key.wy = 5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[sha = SHA-512]\n\n# tcId = 364\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206bfd55a8f8fdb68472e52873ef39ac3eace6d53df576f0ad2da4607bb52c0d46\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[key.wx = 0ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2]\n[key.wy = 0b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[sha = SHA-512]\n\n# tcId = 365\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220654937791db0686f712ff9b453eeadb0026c9b058bba49199ca3e8fac03c094f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[key.wx = 793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c]\n[key.wy = 483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[sha = SHA-512]\n\n# tcId = 366\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100c51bbee23a95437abe5c978f8fe596a31c858ac8d55be9786aa5d36a5ac74e97\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[key.wx = 0a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac]\n[key.wy = 6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea", - "9b]\n[sha = SHA-512]\n\n# tcId = 367\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ba4c3da7154ba564ab344ae12005aa482b6c1639ea191f8568afb6e47163c45\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[key.wx = 0df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ff]\n[key.wy = 0aa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[sha = SHA-512]\n\n# tcId = 368\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204c3dafcf4ba55bf1344ae12005aa4a74f46eaa85f5023131cc637ae2ea90ab26\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[key.wx = 4cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0]\n[key.wy = 123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[sha = SHA-512]\n\n# tcId = 369\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100987b5f9e974ab7e26895c2400b5494e9e8dd550bea04626398c6f5c5d521564c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[key.wx = 264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f0]\n[key.wy = 67268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[sha = SHA-512]\n\n# tcId = 370\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fcf97e2fbf0e80d412005aa4a75086a3f004f59d512cb47271798733ab418606\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[key.wx = 1d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f]\n[key.wy = 56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[sha = SHA-512]\n\n# tcId = 371\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022079d482b60864d6c5cb4fd5db9e7e28ccd9a5948c316c8740fb429c0f37169a02\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[key.wx = 0b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f11]\n[key.wy = 7fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[sha = SHA-512]\n\n# tcId = 372\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ecd11081a4d0759c14f7bf46813d52cc6738115321be0a4da78a3356bb71510\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[key.wx = 0dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b4]\n[key.wy = 43a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[sha = SHA-512]\n\n# tcId = 373\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e8dbffed13c9a2093085c079714f11f24eb583d73ba2b416b3169183e7d9b4c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[key.wx = 69d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db]\n[key.wy = 32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca01552a838124bec68d6bc6086329e06673900eac5c262e5ce79a8521cd1eae\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[key.wx = 0a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f]\n[key.wy = 79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221009402aa560702497c8d1ad78c10c653c11000256fb1a0add7c6156a474737180b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[key.wx = 0bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b9]\n[key.wy = 2450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205e03ff818a836e3a53a8435219297da1b98cbad0b6e535812f433a096ca11168\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[key.wx = 0eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5a]\n[key.wy = 0ed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[sha = SHA-512]\n\n# tcId = 377\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e28ddf709d4aa1bddf2e", - "4bc7c7f2cb516cb642bb3e39c3feaf2fcf16ab9539f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[key.wx = 0e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a7]\n[key.wy = 7b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[sha = SHA-512]\n\n# tcId = 378\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[key.wx = 2407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062]\n[key.wy = 0fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[sha = SHA-512]\n\n# tcId = 379\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[key.wx = 47b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0b]\n[key.wy = 0df2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[key.wx = 69a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498]\n[key.wy = 0cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[key.wx = 0b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb]\n[key.wy = 09361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[key.wx = 1eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834]\n[key.wy = 0c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[key.wx = 0a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab10756]\n[key.wy = 7667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[key.wx = 1ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396]\n[key.wy = 434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[key.wx = 53c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c1]\n[key.wy = 4603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[key.wx = 33797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74e]\n[key.wy = 0ba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6b", - "afb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[key.wx = 0a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3]\n[key.wy = 0eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[key.wx = 1dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a]\n[key.wy = 65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[key.wx = 084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e9]\n[key.wy = 091c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[key.wx = 3adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f50]\n[key.wy = 09430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[key.wx = 7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884]\n[key.wy = 08d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[sha = SHA-512]\n\n# tcId = 392\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[key.wx = 7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884]\n[key.wy = 72a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[sha = SHA-512]\n\n# tcId = 393\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[key.wx = 0b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e3]\n[key.wy = 08bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[sha = SHA-512]\n\n# tcId = 394\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[key.wx = 1550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc]\n[key.wy = 09a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[sha = SHA-512]\n\n# tcId = 395\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[key.wx = 313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef350597111]\n[key.wy = 0996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[sha = SHA-512]\n\n# tcId = 396\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[key.wx = 4ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639]\n[key.wy = 0b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[sha = SHA-512]\n\n# tcId = 397\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555", - "555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[key.wx = 0aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a3119]\n[key.wy = 3bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[sha = SHA-512]\n\n# tcId = 398\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[key.wx = 0f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0]\n[key.wy = 439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[sha = SHA-512]\n\n# tcId = 399\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[key.wx = 4baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2]\n[key.wy = 0bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[sha = SHA-512]\n\n# tcId = 400\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[key.wx = 0c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2d]\n[key.wy = 0b568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[sha = SHA-512]\n\n# tcId = 401\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[key.wx = 30fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df69]\n[key.wy = 5ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[sha = SHA-512]\n\n# tcId = 402\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[key.wx = 3fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdc]\n[key.wy = 0ae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[sha = SHA-512]\n\n# tcId = 403\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[key.wx = 70f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4c]\n[key.wy = 0d42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[sha = SHA-512]\n\n# tcId = 404\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[key.wx = 732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c]\n[key.wy = 0858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[sha = SHA-512]\n\n# tcId = 405\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[key.wx = 47aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce]\n[key.wy = 09199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[sha = SHA-512]\n\n# tcId = 406\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[key.wx = 0aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c0]\n[key.wy = 6486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[sha = SHA-512]\n\n# tcId = 407\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 25", - "6]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[key.wx = 0f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7]\n[key.wy = 0c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[sha = SHA-512]\n\n# tcId = 408\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[sha = SHA-512]\n\n# tcId = 409\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 410\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[sha = SHA-512]\n\n# tcId = 411\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 412\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[key.wx = 4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]\n[key.wy = 087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[sha = SHA-512]\n\n# tcId = 413\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 30440220093f3825c0cf820cced816a3a67446c85606a6d529e43857643fccc11e1f705f0220769782888c63058630f97a5891c8700e82979e4f233586bfc5042fa73cb70a4e\n\n# tcId = 414\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 3046022100e8564e3e515a09f9f35258442b99e162d27e10975fcb7963d3c26319dc093f84022100c3af01ed0fd0148749ca323364846c862fc6f4beb682b7ead3b2d89b9da8bad4\n\n# tcId = 415\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 304502201412254f8c1dd2742a00ddee5192e7baa288741026871f3057ad9f983b5ab114022100bcdf878fa156f37040922698ad6fb6928601ddc26c40448ea660e67c25eda090\n\n# tcId = 416\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 30450221009e0676048381839bb0a4703a0ae38facfe1e2c61bd25950c896aa975cd6ec86902206ea0cedf96f11fff0e746941183492f4d17272c92449afd20e34041a6894ee82\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]\n[key.wy = 0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[sha = SHA-512]\n\n# tcId = 417\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30440220554482404173a5582884b0d168a32ef8033d7eb780936c390e8eedf720c7f56402200a15413f9ed0d454b92ab901119e7251a4d444ba1421ba639fa57e0d8cf6b313\n\n# tcId = 418\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304502200b1d838dd54a462745e2c8d5f32637f26fb16dde20a385e45f8a20a8a1f8370e022100ae855e0a10ef087075fda0ed84e2bc5786a681172ea9834e53351316df332bbd\n\n# tcId = 419\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100af89e4f2b03e5d1f0352e258ef71493040c17d70c36cfd044128302df2ed5e4a0220420f04148c3e6f06561bd448362d6c6fa3f9aeeb7e42843b4674e7ddfd0ba901\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[sha = SHA-512]\n\n# tcId = 420\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304402206c1581f1485ccc4e657606fa1a38cf227e3870dc9f41e26b84e28483635e321b02201b3e3c22af23e919b30330f8710f6ef3760c0e2237a9a9f5cf30a1d9f5bbd464\n\n# tcId = 421\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100dc83bf97ca28db0e04104a16fe3de694311a6cd9f230a300504ae71d8ec755b1022064a83af0ab3e6037003a1f4240dffd8a342afdee50604ed1afa416fd009e4668\n\n# tcId = 422\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30450220575b70b4375684291b95d81e3c820ed9bde9e5b7343036e4951f3c46894a6d9d022100f10d716efbfeba953701b603fc9ef6ff6e47edef38c9eeef2d55e6486bc4d6e6\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[sha = SHA-512]\n\n# tcId = 423\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 30450221008d4f113189dfd3d3239e331f76d3fca9cef86fcd5dc9b4ab2ca38aeba56c178b022078389c3cf11dcff6d6c7f5efd277d480060691144b568a6f090c8902557bfc61\n\n# tcId = 424\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100834d10ec2d2d50eeebfecd6328f03fafbb488fc043c362cbc67880ec0ebd04b302210094c026feaf6e68759146fe5b6fd52eaa3c3c5552d83719d2cb900615e2a634db\n\n# tcId = 425\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nre", - "sult = valid\nsig = 304502206894de495e7bb5566807d475d96a0d414a94f4f02c3ab7c2edc2916deafc1e1f022100a603642c20fabc07182867fcc6923d35be23ad3f97a5f93c6ec5b9cce8239569\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]\n[key.wy = 0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[sha = SHA-512]\n\n# tcId = 426\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e500c086fedd59e090ce7bfb615751ed9abe4c09b839ee8f05320245b9796f3e022100807b1d0638c86ef6113fff0d63497800e1b848b5a303a54c748e45ca8f35d7d7\n\n# tcId = 427\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b922c1abe1a8309c0acf90e586c6de8c33e37057673390a97ff098f71680b32b022100f86d92b051b7923d82555c205e21b54eab869766c716209648c3e6cc2629057d\n\n# tcId = 428\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100823c37e46c74ec8497d89245fde3bf53ddb462c00d840e983dcb1b72bbf8bf27022100c4552f2425d14f0f0fa988778403d60a58962e7c548715af83b2edabbb24a49f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[key.wx = 0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]\n[key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[sha = SHA-512]\n\n# tcId = 429\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30450220577a08a95db6dcda9985109942d3786630f640190f920b95bd4d5d84e0f163ef022100d762286e92925973fd38b67ef944a99c0ec5b499b7175cbb4369e053c1fcbb10\n\n# tcId = 430\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402207ba458cfe952326922c7aa2854bdc673ce3daaf65d464dfb9f700701503056b102200df8821c92d20546fa741fb426bf56728a53182691964225c9b380b56b22ee6d\n\n# tcId = 431\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402205cd60c3b021b4be116f06f1d447f65e458329a8bbae1d9b5977d18cf5618486102204c635cd7aa9aebb5716d5ae09e57f8c481a741a029b40f71ec47344ef883e86e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[key.wx = 3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]\n[key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[sha = SHA-512]\n\n# tcId = 432\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402204b50e1e8cf830e04c17e7472caf60da8150ffa568e2c64498cc972a379e542e502202e3adaa5afab89cca91693609555f40543578852cde29c21cb037c0c0b78478e\n\n# tcId = 433\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402205aea930c7d8fffcd5c6df2c9430ef76f8b5ed58a8b9c95847288abf8f09a1ac202207ddfef7688a6053ce4eeeeefd6f1a9d71381b7548925f6682aa0a9d05cf5a3a3\n\n# tcId = 434\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304602210098b092c2d14b5b14a23e9368e0ce1be744dfae9f9a5cdaba51e7872099df96f202210090d3e4f87bd7bc94589f8150b6b01045cd8759a00af78b24d7de771887610df5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[sha = SHA-512]\n\n# tcId = 435\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 30460221009e95f2856a9fff9a172b07817c8c60fe185cd3ce9582678f8cc4b02bc444621a022100c54ca51d8117d904f0d3773911cb2792348fae21c2da7dad25f990d122376e4c\n\n# tcId = 436\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e77df8f9782696344c33de29ebdc9f8d3fcf463d950cdbe256fd4fc2fd44877e02210087028850c962cf2fb450ffe6b983981e499dc498fbd654fa454c9e07c8cb5ca8\n\n# tcId = 437\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bd2dd6f5026d2b5ad7ead74bdf52b8cbcabc08facee0a1c8584658a85ed0c5dc02203e8543e819bdae47d872e29a85ba38addf3eaeaad8786d79c3fb027f6f1ff4bf\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[sha = SHA-512]\n\n# tcId = 438\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bd5c0294acc28c15c5d1ebc7274c9ca21a081c8a67da430a34a7fff1a564fabb02207ec103a2385b4ff38b47d306434e9091de24dc9f1a25967ee06f8a0a53ac0181\n\n# tcId = 439\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402203c7dbfb43dd80379ee2c23ad5472873a22c8a0179ac8f381ad9e0f193231dc1f02207cf8e07530ade503b3d43a84b75a2a76fc40763daed4e9734e745c58c9ae72d3\n\n# tcId = 440\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100b38ca4dac6d949be5e5f969860269f0eedff2eb92f45bfc02470300cc96dd52602201c7b22992bb13749cc0c5bc25330a17446e40db734203f9035172725fc70f863\n\n", +static const char *kData103[] = { + "# Imported from Wycheproof's ecdsa_secp256r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]\n[key.wy = 00c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63a5be977ad714cea16b10035f07cadf7513ae8cca86f35b7692aafd69f\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30814502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502802478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047000002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a498177304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492500304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a222549817702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492224250002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d222202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00004deadbeef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02226498177022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022252500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02223022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304daa00bb00cd00304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c", + "2ed1dc84841359d1b34eb2\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304baa02aabb304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d2228aa00bb00cd0002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b2226aa02aabb02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02229aa00bb00cd00022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02227aa02aabb022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3049228002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3049228003202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 324502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30493001023044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 56\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb200\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb205000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047300002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb23000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 304802202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2bf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 302202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 306802202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30460281202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002812100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 70\n# length of integer con", + "tains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3047028200202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00282002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502212478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022200a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 75\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304a028501000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285010000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304e02890100000000000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304e02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028901000000000000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902847fffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002847fffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30490284ffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00284ffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a0285ffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285ffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d0288ffffffffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00288ffffffffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3023022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302402022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302302202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3047022200002478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00223000000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250281022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30250500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304500202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304501202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304503202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc8484135", + "9d1b34eb2\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304504202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045ff202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0012100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0042100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0ff2100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250200022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30492224020124021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022250201000220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202678f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022102a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f98140022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e32\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00222ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3026090180022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012478f1cf49f6d858ac900a7af177222661ac95e206d32ee63020beee955ca711022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2478f1d149f6d856ac900a7af1772226e7dea086b8a3f1dc48ad29689c965c6f022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30450220db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100db870e2eb60927a9536ff5850e88ddd918215f79475c0e23b752d6976369a391022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221fedb870e30b60927a7536ff5850e88ddd99e536a1df92cd119cfdf41116aa358ef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c3a41688548eb315e94effca0efd1ffe0a13467061783dde1cce167403\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c5a41688528eb315e94effca0f835208aec517335790ca4896d5502961\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221ff5f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221fe5f85a63c5be977ab714cea16b10035f102e001f5ecb98f9e87c221e331e98bfd\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nm", + "sg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special c", + "ase values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179", + "e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3932323038\nresult = valid\nsig = 3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02203c623e7f7598376825fa8bc09e727c75794cbb4ee8716ae15c31cd1cbe9ca3ee\n\n# tcId = 231\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 304402203a4f61f7f8c4546e3580f7848411786fee1229a07a6ecf5fb84870869188215d022018c5ce44354e2274eadb8fea319f8d6f60944532dbaae86bfd8105f253041bcb\n\n# tcId = 232\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 304502203fa9975fb2b08b7b6e33f3843099da3f43f1dcfe9b171a60cafd5489ca9c5328022100985a86825a0cc728f5d9dac2a513b49127a06100f0fc4b8b1f200903e0df9ed2\n\n# tcId = 233\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 304402204d66e7ee5edd02ab96db25954050079ef8de1d0f02f34d4d75112eaf3f73124002206292d1563140013c589be40e599862bdd6bda2103809928928a119b43851a2ce\n\n# tcId = 234\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 3046022100a9228305f7b486f568eb65d44e49ba007e3f14b8f23c689c952e4ced1e6cf91e022100b73c74d28bd1268002bed784a6b06c40a90ee5938ea6d08f272d027e0f96a72c\n\n# tcId = 235\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 304402203fa39842bfab6c38afa7963c60beb09484d4579fc75ef09efff44e91bc62ca8302205612add1924f0285ace5b158828e2b32ab2b6e7f10ee68dca1cc54591fee1fec\n\n# tcId = 236\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 3045022006c04b02edfeecd8620f035ea4f449bd924593e86e5288a6f22d1923b0e2e8a9022100f666718e6fefb515bb9339d29cc0e58cfba89d605ca0066bca87f6a3f08ebcfa\n\n# tcId = 237\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 304402201ddd953c32a5f84109cd4d9ec8c364dd318376ff5d228211a367483077d638800220563dba4845de762baf04910618d587e0dd0c97dd1c9785c24ffdf2f8a660abf2\n\n# tcId = 238\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 30460221009fe4ec4831ef4945f100d5d35a2e6312411ca5df6c900ca60690f2985d553482022100c674ad5e1bead2f767c9248e444452a4a8530dd47246cbbc968da865bdf212b6\n\n# tcId = 239\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 3046022100e8703d6b16a79fc2ab3653cece29d06f65dd6f2c230cb08ee30c5517407d75db0221008cfeb87b8e95ddacd638b37d315393c5005f3ab8bba0cc1cd1a050829b775bfb\n\n# tcId = 240\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 3046022100def608caf1f277d71403009f209c1d7eef11aaa7920397fbf429b8146181aece022100f3b8f2aa5b3df9a8b37313ea66ad5b74673f3e8614ff471b1eb6773217511fb0\n\n# tcId = 241\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 304402204f5d08e8d936ce831d02d6b23fb8fce0e0750101af3ab9c3b28636b95a5e24ad02206f034480553bcecac221f8be8288163c55492e2e56a88f4d0341b61436a0a6c0\n\n# tcId = 242\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3045022100bdd822bfe3733d9f4b88764fe091db2e8f8af366e4c44d876bf82e62bd48c7ee02207fbf7750c5dc849a2c55dbdd067806f869652a7b3a57baa4733781d3128f02de\n\n# tcId = 243\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 304402201c4fc02961b7f4245566b410bf08f447502ea4f75b15690344681efa2edf7b4b02207d63eef119dc88bc4a1b2c43ac21cd53892443661f8c3a97d558bf888c29f769\n\n# tcId = 244\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 304402206406f2d249ab1264e175476ca3300efd049fcad569dff40b922082b41cc7b7ce0220461872b803383f785077714a9566c4d652e87b2cad90dd4f4cc84bc55004c530\n\n# tcId = 245\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 30450220415c924b9ba1902b340058117d90623602d48b8280583fb231dc93823b83a153022100f18be8cdc2063a26ab030504d3397dc6e9c6b6c56f4e3a59832c0e4643c0263c\n\n# tcId = 246\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 3045022100d12e96c7d2f177b7cf6d8a1ede060a2b174dc993d43f5fe60f75604824b64fef02200c97d87035fcca0a5f47fe6461bb30cbaf05b37e4211ec3fcd51fc71a12239ca\n\n# tcId = 247\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 304502207df72a64c7e982c88f83b3a22802690098147e0e42ef4371ef069910858c0646022100adbaa7b10c6a3f995ed5f83d7bda4ba626b355f34a72bf92ff788300b70e72d0\n\n# tcId = 248\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 30440220047c4306f8d30e425ae70e0bee9e0b94faa4ef18a9c6d7f2c95de0fe6e2a323702207a4d0d0a596bd9ea3fe9850e9c8c77322594344623c0b46ac2a8c95948aefd98\n\n# tcId = 249\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 3044022057d603a367e23af39c95dd418c0176da8b211d50b1be82bf5ef621a2640204f702205dc3f285ad015c4d71157bd11e5b8df6a89e4b267393b08b5ad5013bdae544b1\n\n# tcId = 250\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 3044022011df6741021ec8cc567584aea16817c540859c4e5011551c00b097fcfc2337e50220668551919d43206ac0571fc5ad3ac0efb489bea599e7bf99fe4c7468d6c2c5e0\n\n# tcId = 251\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 304402207451ffede471bd370406533436fc42a89daa0af4903d087cbc062fe7e54dbf700220590895398f22b48ce72cbf7c3d3ee1dd7fb0ee645edb0b1b1de35f370e5bf5ee\n\n# tcId = 252\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 3045022100fc4c4d81da6f687a6426263193c1a680b67734a1b180647b8c76407cc4f0a9c6022056f775d372c9bee685374085be676c9cf31cf1f978a5e6ccb04e4a0761159cc7\n\n# tcId = 253\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 3045022100feb978ca33c46ffba47eb63bb40de7833e43d5654575b54de1fea3d1de3c8ad50220108078ba997bfa064521baf342c97b0c64bd25240c8fd0fd7533ae2d03081b70\n\n# tcId = 254\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 3046022100cc61729698467ba53da199ff481fe7433f194fc96367907e8dc5e1d9f42b1e2102210083dd9ef156e7c1f9c09b3bf86a4f1c88e5dd20cd74d997858e600797dbe74ad2\n\n# tcId = 255\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 3045022100d47f616303ff0eb813eac32e760ba30ad445e0af7dc57e70756104823f6a895f0220047f2217b399c46a426b936a124980a6011f0896f51dbe07632828a72d7173f1\n\n# tcId = 256\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 3046022100cff73dfa2bac67ce1340b25c885abb3e7979ef7f840f15d5f19e86640cdd40a3022100c7d1210802796c4f251049ee08a2c29f5c71064033d17010c65bf2e94499381e\n\n# tcId = 257\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 3044022010acaf9c485ab1220355b95be269f124e12eb252f2224b0fc50785eb2ee3df45022032443b557efc6896347fa778e1fcf33cbb769c9a7da896b20d93fea7c2791ea4\n\n# tcId = 258\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 3046022100f919da0651abc2bff994a879d2778fa5195d57400e003e8dd6adb3fc7a0cc4cc0221009b945d06bd119665b278a59bd24fdd2350817d0be87997bee57", + "b70c479d64a2d\n\n# tcId = 259\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 3045022100cc38e7a018f6d70b2d9b49120cc9b4a169f2f72238821a86b81f553b6225d24e0220276efd8bf06ccce07c7aae35eaac3bd1c374dcf0cf0588d5e0e4171936688636\n\n# tcId = 260\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 3045022100ff85ad66621991c318b85cef73c576cb2a8d43c568c1aafc85b40ef2a9a6b41c0220732a79e6837ebf8434fea6e7fefa948f506ae455c1a3eb36a030185a23037d96\n\n# tcId = 261\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 3044022033f016e51eef9b1136380cb8b84c6b38b107e24c6731bd07cb1c7f4a29f33a83022036b177bb8be94c8be67ff3a41fcc4d22b5c9eb377da713eb014ae01c64ca6dd7\n\n# tcId = 262\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 3045022100929413ee91f27454d74e91370a10a86fc98ac7305c8ab4ca59752bda3a7bfc370220483b47a26a0d7d2e6bd37d351d9ee37c5ec2a4686d884d78b6beb7f6b08c50f9\n\n# tcId = 263\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 30450220578202c7d0abac93ca43dde3cb44414e5601c1eb557604cb9adb4bde0a12633b022100fb9a7412e307aee95ef4b53540571a21559414e5306794ab5182cfb229dab3e9\n\n# tcId = 264\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3045022046d45ad0bb75b8639d0e91d8450fc31887c211328a5784fc83b4cb7f5b962c1b022100d6751d13ede2079b7aa1d822bdb32d7f3cf00273a1ff03df90c0ec7c62a47568\n\n# tcId = 265\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 3046022100abe84c941783d5ced284fea56341ecc68d6bdd3196d318fbd074641f8c885bd5022100bdea3c44d48e01aa40935c1c9723ff733199563440f26b4ecf0b444b0418d9f5\n\n# tcId = 266\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 3045022005277cdbf491e336fe81be24e393a161a4fb89112c9ffed1ee6649c406713408022100ab6934332e68e108bb0484d21c457dcf381a620c3a4712fdbfeb658a3fafd60c\n\n# tcId = 267\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 30450220293825737c8c14430ed10dbadd7da337275f9b61d1d26377f778ffaa00c139de022100cdddec267a8678c96829bf6c1d6f38322e119937cfd2fee01e9dc9525f43ed6b\n\n# tcId = 268\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 304402202041fdd6111c45dfd29e750e082dcdadc9a584a8a2be46580fb0ba3b3dc658620220421824fe987e4172a0f8bbcb7bcd9e1b073b7742ed9f9df98f2a1a37cd374ce3\n\n# tcId = 269\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 30450220267941db660e046ab14e795669e002b852f7788447c53ebef46a2056978b5574022100d00183bcaf75bc11e37653f952f6a6537151c3aa0a1b9e4e41b004a29185395b\n\n# tcId = 270\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 304402205dcd7f6814739d47f80a363b9414e6cbfb5f0846223888510abd5b3903d7ae09022043418f138bb3c857c0ad750ca8389ebcf3719cb389634ac54a91de9f18fd7238\n\n# tcId = 271\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 304502205e0e8cc0280409a0ce252da02b2424d2de3a52b406c3778932dbc60cb86c356702210093d25e929c5b00e950d89585ec6c01b6589ae0ec0af8a79c04df9e5b27b58bc5\n\n# tcId = 272\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 304502204fcf9c9d9ffbf4e0b98268c087071bffe0673bb8dcb32aa667f8a639c364ea47022100820db0730bee8227fc831643fcb8e2ef9c0f7059ce42da45cf74828effa8d772\n\n# tcId = 273\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 3046022100c60cd2e08248d58d1639b123633643c63f89aff611f998937ccb08c9113bcdca022100ac4bb470ce0164616dada7a173364ed3f9d16fd32c686136f904c99266fda17e\n\n# tcId = 274\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 304502207cfdaf6f22c1c7668d7b6f56f8a7be3fdeeb17a7863539555bbfa899dd70c5f1022100cee151adc71e68483b95a7857a862ae0c5a6eee478d93d40ccc7d40a31dcbd90\n\n# tcId = 275\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 304402202270be7ee033a706b59746eab34816be7e15c8784061d5281060707a0abe0a7d022056a163341ee95e7e3c04294a57f5f7d24bf3c3c6f13ef2f161077c47bd27665d\n\n# tcId = 276\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3044022016b5d2bfcaba21167a69f7433d0c476b21ded37d84dc74ca401a3ecddb2752a8022062852cf97d89adfb0ebbe6f398ee641bfea8a2271580aac8a3d8326d8c6e0ef9\n\n# tcId = 277\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 3046022100d907eefa664115848b90c3d5baa0236f08eafaf81c0d52bb9d0f8acb57490847022100fd91bc45a76e31cdc58c4bfb3df27f6470d20b19f0fba6a77b6c8846650ed8a6\n\n# tcId = 278\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 30450220048337b34f427e8774b3bf7c8ff4b1ae65d132ac8af94829bb2d32944579bb31022100bd6f8eab82213ccf80764644204bb6bf16c668729cdd31dd8596286c15686e8e\n\n# tcId = 279\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 3046022100b2bc46b7c44293557ab7ebeb0264924277193f87a25d94c924df1518ba7c7260022100abf1f6238ff696aaafaf4f0cbbe152c3d771c5bfc43f36d7e5f5235819d02c1a\n\n# tcId = 280\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 3045022040d4b38a61232e654ffd08b91e18609851f4189f7bf8a425ad59d9cbb1b54c990221009e775a7bd0d934c3ed886037f5d3b356f60eda41191690566e99677d7aaf64f3\n\n# tcId = 281\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 3046022100ac8f64d7df8d9fea005744e3ac4af70aa3a38e5a0f3d069d85806a4f29710339022100c014e96decfef3857cc174f2c46ad0882bef0c4c8a17ce09441961e4ae8d2df3\n\n# tcId = 282\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 3044022041b3766f41a673a01e2c0cab5ceedbcec8d82530a393f884d72aa4e6685dea0a0220073a55dca2da577cafb40e12dd20bf8529a13a6acdf9a1c7d4b2048d60876cb3\n\n# tcId = 283\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 304502201942755aa8128382cd8e35a4350c22cc45ba5704d99e8a240970df11956ad866022100f64cf1e0816cf7ac5044f73ba938e142ef3305cb09becb80a0a5b9ad7ba3eb07\n\n# tcId = 284\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 3045022051aba4ff1c7ddf17e0632ab71684d8de6dc700219ef346cb28ce9dafc3565b3b022100b6aaebe1af0ad01f07a68bf1cf57f9d6040b43c14b7eb8238542760e32ce3b0c\n\n# tcId = 285\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 304502210091efbfcc731650e9f004c38b71db146c17bf871c82c4e87716f7ff2f7f9e51d00220089ea631a7c5f05311c521d21ba798b5174881f0fd8095fb3a77515913efb6e0\n\n# tcId = 286\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 304502204a7e47bd281ea09b9e3a32934c7a969e1f788f978b41585989f4689e804663fb022100e65f6bd702403cbbed7f8ad0045f331d4a96fbf8c43f71f11615b7d1b9153b7f\n\n# tcId = 287\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 3046022100c795f5da86e10a604d4f94bf7cac381c73edad1461d66929e53aa57ca294e89f022100bae784ab6c7b58332ee05e7d54169edf55ce45f030e71ae8df63969fb327a10c\n\n# tcId = 288\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 3046022100ea68b24843b225f505e01c0e608b20b4d93e8faf6b9cf70cf8f9134a80e7b668022100a3abc044b4728f80fe414bdc66f032b262356720547bec7729fad94151c6adc7\n\n# tcId = 289\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 3046022100bfe7502140c57a24a77edc3d9b3c4bc11d21bdb0b196977b7f2b13ac973ad697022100947a01da9731849d72b67ef7bc40b012480fd389895aad1f6b1cdbeab3b93b8d\n\n# tcId = 290\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 304402203434ee1142740a0ab8623b97fc8dc2567eda45dadf6039b45c448819e840cf3002203c0fac0487841997202c29f3bf2df540b115b29dc619160d52203d4a1fd4b9f7\n\n# tcId = 291\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 304502205338500e23ba96a0adc6ef84932e25fbad7435d9f70eb7f476c6912de12e33c8022100a002f5583ea8c0d7fb17136d0ee0415acf629879ce6b01ac52e3ecd7772a3704\n\n# tcId = 292\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 304402204ff2d4e31f4180de6901d2d20341d12387c9c55f4cf003a742f049b84af6fe0502200312f38771414555fa5ed2817dcc629a8c7cf69d306300e87bc167278ec3ef37\n\n# tcId = 293\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3044022051d665bad5f2d6306c6bbfe1f27555887670061d4df36ec9f4ce6cdfaf9ea7ac02202905e43f6207ee93df35a2e9fb9bc8098c448ae98a14e4ad1ebaea5d56b6e493\n\n# tcId = 294\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 3046022100b804e0235f135aba7b7531b6831f26cc9fb77d3f83854957431be20706b813690221009d317fd08e4e0467617db819cde1d7d4d74da489b2bce4db055ea01eccfafcf2\n\n# tcId = 295\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = ", + "30450221008ab50ef3660ccb6af34c78e795ded6b256ffca5c94f249f3d907fb65235ef680022049d5aaeae5a6d0c15b286e428b5e720cf37a822ede445baa143ffae69aba91b8\n\n# tcId = 296\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 30440220571b9c46a47c5cc53a574c196c3fb07f3510c0f4443b9f2fe781252c24d343de022068a9aebd50ff165c89b5b9cb6c1754191958f360b4d2851a481a3e1106ee7809\n\n# tcId = 297\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 304502204cb7817b04dc73be60d3711803bc10687a6e3f4ab79c4c1a4e9d63a73174d4eb022100ce398d2d6602d2af58a64042f830bf774aee18209d6fb5c743b6a6e437826b98\n\n# tcId = 298\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 30450220684399c6cd6ebb1c5d5efb0d78dce40ebd48d9d944eb6548c9ce68d7fdc82229022100cf25c8e427fae359bfe60fa02964f4c9b8d6db54612e05c78c341f0a8c52d0b5\n\n# tcId = 299\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 3045022020b7b36d5bc76fa182ca27152a99a956e6a0880000694296e31af98a7312d04b022100eeeabc5521f9856e920eb7d29ed7e4042f178ff706dff8eeb24b429e3b63402a\n\n# tcId = 300\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 304402206b65c95e8e121d2e6ee506cfd62cb88e0bfb3589da40876898ef66c43982aca9022009642c05ad619b4402fd297eb57e29cca5c2eb6823931ba82de32d7c652ba73e\n\n# tcId = 301\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 3044022067c74cbf5ea4b777bf521ace099f4f094d8f58900e15e67e1b4bd399056629ed02203d2884655c49b8b5f64e802a054e7bf09b0fc80ca18ebf927b82e58bb4a00400\n\n# tcId = 302\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 3045022079a5e40da5cf34c4c39adf7dfc5d454995a250314ebd212b5c8e3f4e6f875feb022100b268920e403ba17828ff271938a6558a5b2dd000229f8edb4a9d9f9b6ac1b472\n\n# tcId = 303\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 3045022100c8b13006c3a51a322fff9321761b01de134f526be582b22e19693c443fc9fe46022034e7f60179c6162ab980fcd58f173b0e6c30b524d35c67921677522dcef843a1\n\n# tcId = 304\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 304502203513db745489a487c88a6cedf8795b640f8f71578397bdabd6cc586c25bd66ad02210099a72cd3f0ca6c799149283ca0af37f86b88200d0c905bd3c9f1b859e55b1659\n\n# tcId = 305\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 304402203a6386afb08f7ff8140b5a270f764e8706ef2830fb177446f7b4eeb8a25aac6402204b70854b38c29245b2b980eba10ea936c68a38c1da5255ce2386db23afc7c06a\n\n# tcId = 306\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 3046022100b8fc54a8a6be3c55e99c06f99ccdcce7af5c18a3c5829726a870cc1068458f64022100cc7237c39c8e6a4a1c8c62f5f88636549c7410798b89684c502c3adfe5fb7ad2\n\n# tcId = 307\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3045022047b460851e5607f2021626635c565a63f78f558795e1b330d09115970dbbb8ab022100a6a9f4f213e08d3c736d3e1c44a35140cb107619f265a5b13608ed729fd6d894\n\n# tcId = 308\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 30450221008cfda4f7a65864ebbea3144863da9b075c07b5b42cb4569643ddfd70dd753b190220595784b1ab217874b82b9585521f8090b9f6322884ab7a620464f51cf846c5b7\n\n# tcId = 309\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 304402204cd6a45bd7c8bf0edbdf073dbf1f746234cbbca31ec20b526b077c9f480096e702207cf97ae0d33f50b73a5d7adf8aa4eeeb6ff10f89a8794efe1d874e23299c1b3d\n\n# tcId = 310\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 304402202e233f4df8ffebeaec64842b23cce161c80d303b016eca562429b227ae2b58ec022046b6b56adec82f82b54daa6a5fca286740a1704828052072a5f0bc8c7b884242\n\n# tcId = 311\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 30440220549f658d4a3f98233a2c93bd5b1a52d64af10815ae60becb4139cac822b579c3022027bdddf0dbcf374a2aec8accc47a8ac897f8d1823dda8eb2052590970b39ce2a\n\n# tcId = 312\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 30450221009fabcc1e5fd965226902f594559e231369e584453974e74f49d7d762e134fb9d0220293cccc510793bac45ce5da2bb6c9e906437f59435ca206655f74b625df07c7c\n\n# tcId = 313\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 304502202e5c140fd6f5f823addc8088ffaae967e7f4897274316769561dfb31435825d9022100eda47327d7cfae1daa344ff5582a467bd18eb9f01caeab9c6da3c0cc89df6713\n\n# tcId = 314\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 304402204c11e3b7efbe3908ad2118e54d7d34d6c6eb4570bf7fdb11a7679fe93afa254c0220712e90f421836e542dac49d10bb39db4a98b2735b6336d8a3c392f3b90e60bbe\n\n# tcId = 315\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 3045022100dfb4619303f4ff689563d2275069fac44d63ea3c3b18f4fb1ac805d7df3d12ec022068e37b846583901db256329f9cf64f40c416fba50dcb9be333a3e29c76ae32db\n\n# tcId = 316\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 3045022100e70e8e17bd758ff0c48f91cb2c53d293f0f5ae82eb9dfe76ab98f9b064278635022021dde32cb0389cad7bdf676d9b9b7d25bb034ad25a55ea71ee7ee26a18359dd2\n\n# tcId = 317\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 30440220421397ecae30617a5a6081ad1badf6ce9d9d4cb2afdabf1f900e7fdb7fb0af5a022057ca89dc22801c75fdbefdaeca65c675625f94de7d635062b08ed308df5762cc\n\n# tcId = 318\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 304502200610c08076909bb722fba105c23eac8f66b4db1d58f66a882fc90d59acdec8e0022100af59e8d570761cac589d49f11c884007f7ac1eea1a44c6f3fdad1d542187d25e\n\n# tcId = 319\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 3045022059a1181cab0ee8ce94ab2b5ab4f4b13a422e38efe69f634bf947485a5b9ea49c0221009b3c913d98a4ab15f6a39f1802b8f2d28559aa1f8d03a3a88df00c89dc293a97\n\n# tcId = 320\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 30460221008cae6c4dfbf901bd66ab82541011fa15c8e90e2c18c01bd881acaa2b63cb587b022100a86acf943f29cef91d1b66a7de5547df6cdfc45dd7bef816dcb8de9f5a425d2d\n\n# tcId = 321\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 30450221008b00c74b86474d782eac9974aea606d8f7ee78c79597e15687021f5991e86acd0220309dfe3686648eae104e87b3e9b5616a3ad479ca4f0b558ae4f1e5ab3115346a\n\n# tcId = 322\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 30450220433a915504c977809634a36fcf4480e4c8069fc127d201d30dfdb1f423c95fd4022100bcb1b89aafd50a1766b09741fc6a9a96e744ae9826d839bf85ffb50a91981773\n\n# tcId = 323\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 304502204b69abd2b39840a545cdd4a72d384234580e2fd938b7091d0ecdb562780857db022100fdab9957119e0a4092af82f6cc29f3c8a692671ec86efb0a03c1112a0a1e0467\n\n# tcId = 324\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 3045022100dab9d3686c28363ad017b4a2b36d35bf2eb80633613d44deb9501d42a3efbd3802201392a562d79f9ab19014e4f7e2f2668259f3720a76c120d4a3c3964e880f7679\n\n# tcId = 325\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3045022023f94e47b440ce379b74c9311232b19a64e3e7c9b90da34b0c1c3f3d7af28105022100e1425903b1479c2ce18b108a6d1ec8b7a4f0f657dedb00de3a3ceea7fdeee9be\n\n# tcId = 326\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 30450221009d706a8fa85d15bd0c3492c6672dfe529f4073b217b3947b5b2cfd61f87ccb7102206aaaaf369f82a0e542f72ded7d7eb90c8314ffa613a0ea81da1c8393dbae2bac\n\n# tcId = 327\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3046022100ac77918c4085c8a7ce5020b00c315629aee053a445cb4661eb50f6b62a47da29022100df2aea2b9c11a6ce39d3cd9e1faf4a53057e0b1b2e48a324be9e773203fe9fbb\n\n# tcId = 328\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 30460221009db2dbd2935f147fae7f6a95c8e2307bd8537c3d96eb732ad6d5ebdd89bc754e02210093a9ab99d2de9d08fe0a61e26c8fe1ebbf88726e4b69d551b57d15f0ae16df5a\n\n# tcId = 329\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 30440220769f70093939afbd1fa15873decfa803ca523ace8040280ba78cf833497722bc0220369875aba5e1ced5a4ca8444ec9399a38038b00e153a0ae34d9b3c9781447eea\n\n# tcId = 330\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 3045022026e5182b9822550ad52f46ad80781d6bef3d110a204db5e58a0746f796982200022100a9418e76029ced0cf78a571a9e59ad04086e91f70e6813981bb33c1dee891165\n\n# tcId = 331\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 3046022100e7bd6aefcf7b27e1f3fadbe713f9adb3d23398e88200cd2e94989c9d12e921770221009583e0de3b76f8d4b1e634a81cbc34", + "af54e2f8599f3684ce48d372760c8204c4\n\n# tcId = 332\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 30450221008638ed7eaa83609a01a6af9c52ec9bfddda90442b1e6031d61cfa22e48b2e1e2022020c284d596f71c6c8df732f5a5a2006302301e1a792e2b39663d93a9760762d2\n\n# tcId = 333\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 3044022061d924307a96180b06383608ba91674e15c3ea06ff2534412b93a587dde649c1022059b84aa2115b2547edac88088ca6313e9fbe1ca6a361c7e57938f9dde3f4349c\n\n# tcId = 334\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 30450220424fcfc3fd63d128c2eb125e88c7fe5d283b63470a786b82783edbb8a0b7a6d7022100b11548c2cd7fce9d44e795ca51af0b2f6a5180e9c9be0314007ed9e7f4bbe5e9\n\n# tcId = 335\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 3045022100a5f747ae6290fa9582c6ce8d5608621d495f061551bc4531bacba586a563b184022062faf8f92291e12812835b3f1d43c967bceb885b110bd06e5a68e2d74781ae2b\n\n# tcId = 336\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 3045022100b731dc0d92c2cc7a605d78233f7814699bdf1cab2df297b6844eec4015af8ea0022039b1a0cc88eb85bcdc356b3620c51f1298c60aec5306b107e900ffdba049dd6f\n\n# tcId = 337\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3046022100ef73c4fa322da39fb6503bab6b66b64d241056afbcd6908f84b61ccbbe890433022100f1ef85413e5764aa58a3128ccfcf388324fe5340e5edf8d0135ae76786ce415b\n\n# tcId = 338\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 30450220694cd30e2ad0182579331474b271ee2d48723bc8415dc6513873586ce705b76b022100c5ac0c0ed5a4017d110cb45d63aa955dc7dc5ce23e7965c5397c3ff46a884636\n\n# tcId = 339\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 3046022100f38b2236be3024e10b894ffb1cc68d0bb8d4cf0fcd2cfc1779f8883765d3cd96022100da69cd0b74c25566d60a486edd559fc39d569fb2751445a4798df8a36891802c\n\n# tcId = 340\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 3046022100a881732c205a0b4b95669c00756fd91973450109a46f17d5a9d971b5e92b9aa40221008acefdca4e06c16b47ccad1c57c05912637e107096ba230c92b97187db79e19e\n\n# tcId = 341\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3044022004452f554bae819b42effb84ef44a9f1cb7e2d75b4ba9ff9b9cfffaddde3fd1b022061a3fbc5e73c350f2e3d85a7452cd231a3f3375fc11f5fe153b185f53b09c1d0\n\n# tcId = 342\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 3045022005814f57f58efc7cb490119e584e635e6f0ad1c19fb5dc2edafda075bb55f98e0221009dd5c6e39009d67d965903ecffe08a851775cc1248cc19c0b77798282131b8f6\n\n# tcId = 343\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 3045022100dc1c4a46085e198843b1f01980cd5e4a1ff6f8e8ff7014397f0afd5b247fb0a0022038a13dc723ed90b30251d742b14733a03292ff26530a1ebcaf3d10862a6eff82\n\n# tcId = 344\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 304502201067667bf525734ca7f2510e36348fd9c2c9bccf032dfd571de6d45abd49361a022100fa762568d3a19e5a1d8ea65e00202a5b16f9afae56733a01f86e35378c558da4\n\n# tcId = 345\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 3046022100e58d69dc56bc1031644847e3e046e2ea845a515d969d07ea1aa53aea5bd92fa1022100bfe50b80f7c512f5ab521fe7e1a131045fde78d4de826c91573baaba1e35ca97\n\n# tcId = 346\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 3046022100fe79c6b8c14d0f23d426e3d157f1b541f6bb91bf29957ef97c55949c9ba48a350221009da112c4a4cf4b1ff490c426f6c8ff122183964a0de56f7336ab382dc9d10285\n\n# tcId = 347\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 3045022045d4ed7e9edacb5a730944ab0037fba0a136ed9d0d26b2f4d4058554f148fa6f022100f136f15fd30cfe5e5548b3f4965c16a66a7c12904686abe12da777619212ae8c\n\n# tcId = 348\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 304402204fb7c1727e40bae272f6143a50001b54b536f90233157896dbf845e263f2486302206fea5c924dca17519f6e502ef67efa08d39eb5cc3381266f0216864d2bd00a62\n\n# tcId = 349\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 30450220779aac665dd988054b04f2e9d483ca79179b3372b58ca00fe43520f44fcb4c32022100b4eca1182cd51f0abd3ea2268dcda49a807ad4116a583102047498aa863653f5\n\n# tcId = 350\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 3046022100db7ac6f65fb1c38d80064fd11861631237a09924b4eeca4e1569fa4b7d80ad24022100a38d178d37e13e1afa07a9d03da025d594461938a62a6c6744f5c8f7d7b7bb81\n\n# tcId = 351\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 3046022100c90043b4aadf795d870ac223f33acdbd1948c31afff059054dc99528c6503fa6022100829f67b312bb134f6954a23c611a7f7b5b2a69efced9c48db589ac0b4d3da827\n\n# tcId = 352\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 3045022100fa16c0125b6615b90e81f7499804308a90179bf3fcff6a4b2695271c68b23ded02200d6cda5ce041dc5a5f319ad9c0de4927d0cf5e89e37b79216194413d42976d54\n\n# tcId = 353\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 304502201a4b5bd0f806549f46a3e71bfe412d6d89206017640ded66f3d0b2d9b26bec45022100aac5f74e3130264e01428570ee82ee47e245d160ed812ae252dedffd82e1ec2c\n\n# tcId = 354\n# Signature generated without truncating the hash\nmsg = 313233343030\nresult = invalid\nsig = 3045022100f8e272234b51475ec4c6f327562a6e5c9080a96225e88b2e5f72a8eecbd41ab40220516b91617fc39e3141b3bc769f6a3b2e468e687f50bdc29e19088af62d203f4b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[key.wx = 00b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a05734]\n[key.wy = 31760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[sha = SHA-512]\n\n# tcId = 355\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# tcId = 356\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[key.wx = 3590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb6]\n[key.wy = 15fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[sha = SHA-512]\n\n# tcId = 357\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[key.wx = 369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650a]\n[key.wy = 00a723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[sha = SHA-512]\n\n# tcId = 358\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0427a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[key.wx = 27a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d]\n[key.wy = 32a8ee7bee9d0a", + "40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000427a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[sha = SHA-512]\n\n# tcId = 359\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[key.wx = 009cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867]\n[key.wy = 00f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[sha = SHA-512]\n\n# tcId = 360\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020101\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[key.wx = 00d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc]\n[key.wy = 19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[sha = SHA-512]\n\n# tcId = 361\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020103\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[key.wx = 008cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21e]\n[key.wy = 00afb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[sha = SHA-512]\n\n# tcId = 362\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020105\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[key.wx = 00fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc1117]\n[key.wy = 009abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[sha = SHA-512]\n\n# tcId = 363\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020106\n\n# tcId = 364\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[key.wx = 00dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994]\n[key.wy = 00dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[sha = SHA-512]\n\n# tcId = 365\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[key.wx = 1b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920e]\n[key.wy = 00e900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[sha = SHA-512]\n\n# tcId = 366\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[key.wx = 2914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d]\n[key.wy = 3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[sha = SHA-512]\n\n# tcId = 367\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[key.wx = 2579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da41]\n[key.wy = 5528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[sha = SHA-512]\n\n# tcId = 368\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[key.wx = 00b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992]\n[key.wy = 00f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[sha = SHA-512]\n\n# tcId = 369\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[key.wx = 4d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749]\n[key.wy = 00fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[sha = SHA-512]\n\n# tcId = 370\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[key.wx = 361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab222058]\n[key.wy = 4", + "f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[sha = SHA-512]\n\n# tcId = 371\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[key.wx = 00db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad]\n[key.wy = 1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[sha = SHA-512]\n\n# tcId = 372\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101\n\n# tcId = 373\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[key.wx = 0099f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea412]\n[key.wy = 0086a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[sha = SHA-512]\n\n# tcId = 374\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04313f3309b236484c6eb4ea381e007854467a617343a2e97d845801c01a632cfe33f231854bba89a8ca3f802a2764d3bf6c3233c811a31e5e8028a0b862cb1977]\n[key.wx = 313f3309b236484c6eb4ea381e007854467a617343a2e97d845801c01a632cfe]\n[key.wy = 33f231854bba89a8ca3f802a2764d3bf6c3233c811a31e5e8028a0b862cb1977]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004313f3309b236484c6eb4ea381e007854467a617343a2e97d845801c01a632cfe33f231854bba89a8ca3f802a2764d3bf6c3233c811a31e5e8028a0b862cb1977]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a902207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d3aa01fe59bad92cffe3db59e1385391fafd7af4e4ce462e8aac157274cc8a05c7a7e603e18538aac15f89610beacc21e39898e6c5f7680a81c5bd7bd744a989]\n[key.wx = 00d3aa01fe59bad92cffe3db59e1385391fafd7af4e4ce462e8aac157274cc8a05]\n[key.wy = 00c7a7e603e18538aac15f89610beacc21e39898e6c5f7680a81c5bd7bd744a989]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d3aa01fe59bad92cffe3db59e1385391fafd7af4e4ce462e8aac157274cc8a05c7a7e603e18538aac15f89610beacc21e39898e6c5f7680a81c5bd7bd744a989]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a902207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[key.wx = 5e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df]\n[key.wy = 648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[sha = SHA-512]\n\n# tcId = 377\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[key.wx = 00ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a]\n[key.wy = 0085b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[sha = SHA-512]\n\n# tcId = 378\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d0\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[key.wx = 00cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941]\n[key.wy = 00b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[sha = SHA-512]\n\n# tcId = 379\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[key.wx = 456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d]\n[key.wy = 720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[sha = SHA-512]\n\n# tcId = 380\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[key.wx = 42bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc]\n[key.wy = 5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206bfd55a8f8fdb68472e52873ef39ac3eace6d53df576f0ad2da4607bb52c0d46\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[key.wx = 00ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2]\n[key.wy = 00b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[keyDer =", + " 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220654937791db0686f712ff9b453eeadb0026c9b058bba49199ca3e8fac03c094f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[key.wx = 793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c]\n[key.wy = 483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100c51bbee23a95437abe5c978f8fe596a31c858ac8d55be9786aa5d36a5ac74e97\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[key.wx = 00a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac]\n[key.wy = 6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ba4c3da7154ba564ab344ae12005aa482b6c1639ea191f8568afb6e47163c45\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[key.wx = 00df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ff]\n[key.wy = 00aa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204c3dafcf4ba55bf1344ae12005aa4a74f46eaa85f5023131cc637ae2ea90ab26\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[key.wx = 4cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0]\n[key.wy = 123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100987b5f9e974ab7e26895c2400b5494e9e8dd550bea04626398c6f5c5d521564c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[key.wx = 264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f0]\n[key.wy = 67268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fcf97e2fbf0e80d412005aa4a75086a3f004f59d512cb47271798733ab418606\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[key.wx = 1d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f]\n[key.wy = 56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022079d482b60864d6c5cb4fd5db9e7e28ccd9a5948c316c8740fb429c0f37169a02\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[key.wx = 00b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f11]\n[key.wy = 7fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ecd11081a4d0759c14f7bf46813d52cc6738115321be0a4da78a3356bb71510\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[key.wx = 00dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b4]\n[key.wy = 43a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e8dbffed13c9a2093085c079714f11f24eb583d73ba2b416b3169183e7d9b4c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[key.wx = 69d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db]\n[key.wy = 32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca01552a838124bec68d6bc6086329e06673900eac5c262e5ce79a8521cd1eae\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[key.wx = 00a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f]\n[key.wy = 79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[", + "sha = SHA-512]\n\n# tcId = 392\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221009402aa560702497c8d1ad78c10c653c11000256fb1a0add7c6156a474737180b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[key.wx = 00bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b9]\n[key.wy = 2450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[sha = SHA-512]\n\n# tcId = 393\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205e03ff818a836e3a53a8435219297da1b98cbad0b6e535812f433a096ca11168\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[key.wx = 0eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5a]\n[key.wy = 00ed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[sha = SHA-512]\n\n# tcId = 394\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e28ddf709d4aa1bddf2e4bc7c7f2cb516cb642bb3e39c3feaf2fcf16ab9539f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[key.wx = 00e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a7]\n[key.wy = 7b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[sha = SHA-512]\n\n# tcId = 395\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[key.wx = 2407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062]\n[key.wy = 00fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[sha = SHA-512]\n\n# tcId = 396\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[key.wx = 47b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0b]\n[key.wy = 00df2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[sha = SHA-512]\n\n# tcId = 397\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[key.wx = 69a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498]\n[key.wy = 00cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[sha = SHA-512]\n\n# tcId = 398\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[key.wx = 00b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb]\n[key.wy = 009361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[sha = SHA-512]\n\n# tcId = 399\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[key.wx = 1eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834]\n[key.wy = 00c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[sha = SHA-512]\n\n# tcId = 400\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[key.wx = 00a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab10756]\n[key.wy = 7667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[sha = SHA-512]\n\n# tcId = 401\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[key.wx = 1ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396]\n[key.wy = 434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[sha = SHA-512]\n\n# tcId = 402\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea367", + "7e082b9310572620ae19933a9e65b285598711c77298815ad3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[key.wx = 53c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c1]\n[key.wy = 4603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[sha = SHA-512]\n\n# tcId = 403\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[key.wx = 33797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74e]\n[key.wy = 00ba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[sha = SHA-512]\n\n# tcId = 404\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[key.wx = 0a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3]\n[key.wy = 00eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[sha = SHA-512]\n\n# tcId = 405\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[key.wx = 1dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a]\n[key.wy = 65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[sha = SHA-512]\n\n# tcId = 406\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[key.wx = 084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e9]\n[key.wy = 0091c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[sha = SHA-512]\n\n# tcId = 407\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[key.wx = 3adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f50]\n[key.wy = 009430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[sha = SHA-512]\n\n# tcId = 408\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[key.wx = 7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884]\n[key.wy = 008d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[sha = SHA-512]\n\n# tcId = 409\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746\nflags = PointDuplication\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[key.wx = 7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884]\n[key.wy = 72a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[sha = SHA-512]\n\n# tcId = 410\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746\nflags = PointDuplication\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[key.wx = 00b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e3]\n[key.wy = 008bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[sha = SHA-512]\n\n# tcId = 411\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[key.wx = 1550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc]\n[key.wy = 009a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[sha = SHA-512]\n\n# tcId = 412\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04313447778195d", + "aa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[key.wx = 313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef350597111]\n[key.wy = 0996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[sha = SHA-512]\n\n# tcId = 413\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[key.wx = 4ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639]\n[key.wy = 00b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[sha = SHA-512]\n\n# tcId = 414\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[key.wx = 00aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a3119]\n[key.wy = 3bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[sha = SHA-512]\n\n# tcId = 415\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[key.wx = 00f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0]\n[key.wy = 439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[sha = SHA-512]\n\n# tcId = 416\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[key.wx = 4baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2]\n[key.wy = 00bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[sha = SHA-512]\n\n# tcId = 417\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[key.wx = 0c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2d]\n[key.wy = 00b568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[sha = SHA-512]\n\n# tcId = 418\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[key.wx = 030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df69]\n[key.wy = 5ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[sha = SHA-512]\n\n# tcId = 419\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[key.wx = 03fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdc]\n[key.wy = 00ae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[sha = SHA-512]\n\n# tcId = 420\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[key.wx = 70f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4c]\n[key.wy = 00d42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[sha = SHA-512]\n\n# tcId = 421\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[key.wx = 732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c]\n[key.wy = 00858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[sha = SHA-512]\n\n# tcId = 422\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c3", + "1502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[key.wx = 47aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce]\n[key.wy = 009199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[sha = SHA-512]\n\n# tcId = 423\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[key.wx = 00aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c0]\n[key.wy = 6486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[sha = SHA-512]\n\n# tcId = 424\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[key.wx = 00f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7]\n[key.wy = 00c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[sha = SHA-512]\n\n# tcId = 425\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[sha = SHA-512]\n\n# tcId = 426\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 427\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 00b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[sha = SHA-512]\n\n# tcId = 428\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 429\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[key.wx = 04aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]\n[key.wy = 0087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[sha = SHA-512]\n\n# tcId = 430\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 30440220093f3825c0cf820cced816a3a67446c85606a6d529e43857643fccc11e1f705f0220769782888c63058630f97a5891c8700e82979e4f233586bfc5042fa73cb70a4e\n\n# tcId = 431\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 3046022100e8564e3e515a09f9f35258442b99e162d27e10975fcb7963d3c26319dc093f84022100c3af01ed0fd0148749ca323364846c862fc6f4beb682b7ead3b2d89b9da8bad4\n\n# tcId = 432\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 304502201412254f8c1dd2742a00ddee5192e7baa288741026871f3057ad9f983b5ab114022100bcdf878fa156f37040922698ad6fb6928601ddc26c40448ea660e67c25eda090\n\n# tcId = 433\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 30450221009e0676048381839bb0a4703a0ae38facfe1e2c61bd25950c896aa975cd6ec86902206ea0cedf96f11fff0e746941183492f4d17272c92449afd20e34041a6894ee82\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]\n[key.wy = 00ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[sha = SHA-512]\n\n# tcId = 434\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30440220554482404173a5582884b0d168a32ef8033d7eb780936c390e8eedf720c7f56402200a15413f9ed0d454b92ab901119e7251a4d444ba1421ba639fa57e0d8cf6b313\n\n# tcId = 435\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304502200b1d838dd54a462745e2c8d5f32637f26fb16dde20a385e45f8a20a8a1f8370e022100ae855e0a10ef087075fda0ed84e2bc5786a681172ea9834e53351316df332bbd\n\n# tcId = 436\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100af89e4f2b03e5d1f0352e258ef71493040c17d70c36cfd044128302df2ed5e4a0220420f04148c3e6f06561bd448362d6c6fa3f9aeeb7e42843b4674e7ddfd0ba901\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 0084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[sha = SHA-512]\n\n# tcId = 437\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304402206c1581f1485ccc4e657606fa1a38cf227e3870dc9f41e26b84e28483635e321b02201b3e3c22af23e919b30330f8710f6ef3760c0e2237a9a9f5cf30a1d9f5bbd464\n\n# tcId = 438\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100dc83bf97ca28db0e04104a16fe3de694311a6cd9f230a300504ae71d8ec755", + "b1022064a83af0ab3e6037003a1f4240dffd8a342afdee50604ed1afa416fd009e4668\n\n# tcId = 439\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30450220575b70b4375684291b95d81e3c820ed9bde9e5b7343036e4951f3c46894a6d9d022100f10d716efbfeba953701b603fc9ef6ff6e47edef38c9eeef2d55e6486bc4d6e6\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[sha = SHA-512]\n\n# tcId = 440\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 30450221008d4f113189dfd3d3239e331f76d3fca9cef86fcd5dc9b4ab2ca38aeba56c178b022078389c3cf11dcff6d6c7f5efd277d480060691144b568a6f090c8902557bfc61\n\n# tcId = 441\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100834d10ec2d2d50eeebfecd6328f03fafbb488fc043c362cbc67880ec0ebd04b302210094c026feaf6e68759146fe5b6fd52eaa3c3c5552d83719d2cb900615e2a634db\n\n# tcId = 442\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304502206894de495e7bb5566807d475d96a0d414a94f4f02c3ab7c2edc2916deafc1e1f022100a603642c20fabc07182867fcc6923d35be23ad3f97a5f93c6ec5b9cce8239569\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]\n[key.wy = 00a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[sha = SHA-512]\n\n# tcId = 443\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e500c086fedd59e090ce7bfb615751ed9abe4c09b839ee8f05320245b9796f3e022100807b1d0638c86ef6113fff0d63497800e1b848b5a303a54c748e45ca8f35d7d7\n\n# tcId = 444\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b922c1abe1a8309c0acf90e586c6de8c33e37057673390a97ff098f71680b32b022100f86d92b051b7923d82555c205e21b54eab869766c716209648c3e6cc2629057d\n\n# tcId = 445\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100823c37e46c74ec8497d89245fde3bf53ddb462c00d840e983dcb1b72bbf8bf27022100c4552f2425d14f0f0fa988778403d60a58962e7c548715af83b2edabbb24a49f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[key.wx = 00fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]\n[key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[sha = SHA-512]\n\n# tcId = 446\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30450220577a08a95db6dcda9985109942d3786630f640190f920b95bd4d5d84e0f163ef022100d762286e92925973fd38b67ef944a99c0ec5b499b7175cbb4369e053c1fcbb10\n\n# tcId = 447\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402207ba458cfe952326922c7aa2854bdc673ce3daaf65d464dfb9f700701503056b102200df8821c92d20546fa741fb426bf56728a53182691964225c9b380b56b22ee6d\n\n# tcId = 448\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402205cd60c3b021b4be116f06f1d447f65e458329a8bbae1d9b5977d18cf5618486102204c635cd7aa9aebb5716d5ae09e57f8c481a741a029b40f71ec47344ef883e86e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[key.wx = 03fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]\n[key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[sha = SHA-512]\n\n# tcId = 449\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402204b50e1e8cf830e04c17e7472caf60da8150ffa568e2c64498cc972a379e542e502202e3adaa5afab89cca91693609555f40543578852cde29c21cb037c0c0b78478e\n\n# tcId = 450\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402205aea930c7d8fffcd5c6df2c9430ef76f8b5ed58a8b9c95847288abf8f09a1ac202207ddfef7688a6053ce4eeeeefd6f1a9d71381b7548925f6682aa0a9d05cf5a3a3\n\n# tcId = 451\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304602210098b092c2d14b5b14a23e9368e0ce1be744dfae9f9a5cdaba51e7872099df96f202210090d3e4f87bd7bc94589f8150b6b01045cd8759a00af78b24d7de771887610df5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[key.wx = 00bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[sha = SHA-512]\n\n# tcId = 452\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 30460221009e95f2856a9fff9a172b07817c8c60fe185cd3ce9582678f8cc4b02bc444621a022100c54ca51d8117d904f0d3773911cb2792348fae21c2da7dad25f990d122376e4c\n\n# tcId = 453\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e77df8f9782696344c33de29ebdc9f8d3fcf463d950cdbe256fd4fc2fd44877e02210087028850c962cf2fb450ffe6b983981e499dc498fbd654fa454c9e07c8cb5ca8\n\n# tcId = 454\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bd2dd6f5026d2b5ad7ead74bdf52b8cbcabc08facee0a1c8584658a85ed0c5dc02203e8543e819bdae47d872e29a85ba38addf3eaeaad8786d79c3fb027f6f1ff4bf\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[key.wx = 00bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 00fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[sha = SHA-512]\n\n# tcId = 455\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bd5c0294acc28c15c5d1ebc7274c9ca21a081c8a67da430a34a7fff1a564fabb02207ec103a2385b4ff38b47d306434e9091de24dc9f1a25967ee06f8a0a53ac0181\n\n# tcId = 456\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402203c7dbfb43dd80379ee2c23ad5472873a22c8a0179ac8f381ad9e0f193231dc1f02207cf8e07530ade503b3d43a84b75a2a76fc40763daed4e9734e745c58c9ae72d3\n\n# tcId = 457\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100b38ca4dac6d949be5e5f969860269f0eedff2eb92f45bfc02470300cc96dd52602201c7b22992bb1", + "3749cc0c5bc25330a17446e40db734203f9035172725fc70f863\n\n", }; -static const size_t kLen71 = 174442; +static const size_t kLen104 = 168183; -static const char *kData71[] = { - "# Imported from Wycheproof's ecdsa_secp384r1_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]\n[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[sha = SHA-384]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03995ca30240e09513805bf6209b58ac7aa9cff54eecd82b9f1\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 308165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 306602813012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702813100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30820065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30670282003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70282003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065023112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023200e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30850100000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306a0285010000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285010000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3089010000000000000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306e028901000000000000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2a", - "bec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306e023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028901000000000000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306902847fffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702847fffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30690284ffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 27\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70284ffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a0285ffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285ffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306d0288ffffffffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70288ffffffffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 306502ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3065028012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30670000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a4981773065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306925003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a2235498177023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 50\n# includin", - "g garbage\nmsg = 313233343030\nresult = invalid\nsig = 306922342500023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306d2232023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70004deadbeef023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72236498177023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722352500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72233023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306daa00bb00cd003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306baa02aabb3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306d2238aa00bb00cd00023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306b2236aa02aabb023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72239aa00bb00cd00023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306b023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72237aa02aabb023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30803065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30692280023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 64\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30803165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30692280033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3265023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 306930010230643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 30643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit", - " signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8200\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8205000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30673000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f823000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3032023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308198023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3033023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 303402023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3033023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30670232000012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70233000000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30350281023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30350500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065013012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065043012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065ff3012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc", - "45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7013100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7043100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7ff3100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30350200023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30692234020112022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722350201000230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023010b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023102e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c54857023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f02\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3064022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3064022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70232ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3036090180023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19a25617aad7485e6312a8589714f647acf7a94cffbe8a724a023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe1a138f7ca6eeda02a462743d328394f8b71dd11a2a25001f64023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30650230ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e5ec7083591125fd5b9d8bc2cd7c6b0748e22ee5d5daffe09c023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231feed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e65da9e85528b7a19ced57a768eb09b8530856b30041758db6023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc63", - "1991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc5f8fc6adfda650a86aa74b95adbd6874b3cd8dde6cc0798f5\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc66a35cfdbf1f6aec7fa409df64a7538556300ab11327d460f\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231ff1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231fe1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03a07039520259af579558b46a5242978b4c327221933f8670b\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\n", - "sig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a7", - "7aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case v", - "alues for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3133323237\nresult = valid\nsig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf565684023100bd770d3ee4beadbabe7ca46e8c4702783435228d46e2dd360e322fe61c86926fa49c8116ec940f72ac8c30d9beb3e12f\n\n# tcId = 217\n# special case hash\nmsg = 31373530353531383135\nresult = valid\nsig = 3066023100d3298a0193c4316b34e3833ff764a82cff4ef57b5dd79ed6237b51ff76ceab13bf92131f41030515b7e012d2ba857830023100bfc7518d2ad20ed5f58f3be79720f1866f7a23b3bd1bf913d3916819d008497a071046311d3c2fd05fc284c964a39617\n\n# tcId = 218\n# special case hash\nmsg = 3130333633303731\nresult = valid\nsig = 3065023100e14f41a5fc83aa4725a9ea60ab5b0b9de27f519af4b557a601f1fee0243f8eee5180f8c531414f3473f4457430cb7a2602301047ed2bf1f98e3ce93e8fdbdc63cc79f238998fee74e1bb6cd708694950bbffe3945066064da043f04d7083d0a596ec\n\n# tcId = 219\n# special case hash\nmsg = 32333632343231333231\nresult = valid\nsig = 3066023100b7c8b5cf631a96ad908d6a8c8d0e0a35fcc22a5a36050230b665932764ae45bd84cb87ebba8e444abd89e4483fc9c4a8023100a11636c095aa9bc69cf24b50a0a9e5377d0ffbba4fab5433159f006ab4563d55e918493020a19691574e4d1e66e3975e\n\n# tcId = 220\n# special case hash\nmsg = 34353838303134363536\nresult = valid\nsig = 306402304a7df2df6a32d59b6bfed54f032c3d6f3acd3ac4063704099cd162ab3908e8eeba4e973ee75b5e285dd572062338fe58023035365be327e2463dc759951c5c0be5e3d094cb706912fdf7d26b15d4a5c42ffebeca5ae73a1823f5e65d571b4ccf1a82\n\n# tcId = 221\n# special case hash\nmsg = 32313436363035363432\nresult = valid\nsig = 30660231009ad363a1bbc67c57c82a378e988cc083cc91f8b32739ec647c0cb348fb5c86472015131a7d9083bf4740af3351755195023100d310dc1509f8c00281efe571768d488027ea760fe32971f6cb7b57cdf90621b7d0086e26443d3761df7aa3a4eccc6c58\n\n# tcId = 222\n# special case hash\nmsg = 333335333030383230\nresult = valid\nsig = 306502310095078af5c2ac230239557f5fcee2e712a7034e95437a9b34c1692a81270edcf8ddd5aba1138a42012663e5f81c9beae2023040ee510a0cceb8518ad4f618599164da0f3ba75eceeac216216ec62bcceae8dc98b5e35b2e7ed47c4b8ebacfe84a74e6\n\n# tcId = 223\n# special case hash\nmsg = 36333936363033363331\nresult = valid\nsig = 3066023100a538076362043de54864464c14a6c1c3a478443726c1309a36b9e9ea1592b40c3f3f90d195bd298004a71e8f285e093a023100d74f97ef38468515a8c927a450275c14dc16ddbdd92b3a5cae804be20d29c682129247d2e01d37dabe38ffb74808a8b7\n\n# tcId = 224\n# special case hash\nmsg = 33333931363630373935\nresult = valid\nsig = 3065023100bbe835113f8ea4dc469f0283af6603f3d7a3a222b3ab5a93db56007ef2dc07c97988fc7b8b833057fa3fbf97413b6c150230737c316320b61002c2acb184d82e60e46bd2129a9bbf563c80da423121c161decd363518b260aaacf3734c1ef9faa925\n\n# tcId = 225\n# special case hash\nmsg = 31343436393735393634\nresult = valid\nsig = 30650230679c3640ad8ffe9577d9b59b18ff5598dbfe61122bbab8238d268907c989cd94dc7f601d17486af93f6d18624aa524a3023100e84dd195502bdcdd77b7f51d8c1ea789006905844a0e185474af1a583bab564ee23be0bc49500390dceb3d3948f06730\n\n# tcId = 226\n# special case hash\nmsg = 35313539343738363431\nresult = valid\nsig = 3066023100f6f1afe6febce799cc9b754279f2499f3825c3e789accef46d3f068e2b6781fd50669e80c3c7293a5c0c0af48e068e35023100f59cc8c2222ed63b4553f8149ebecc43b866719b294ef0832a12b3e3dbc825eeab68b5779625b10ae5541412ec295354\n\n# tcId = 227\n# special case hash\nmsg = 353234313739323333", - "31\nresult = valid\nsig = 3065023100f46496f6d473f3c091a68aaa3749220c840061cd4f888613ccfeac0aa0411b451edbd4facbe38d2dd9d6d0d0d255ed34023000c3a74fa6666f58c4798f30c3779813e5c6d08ac31a792c2d0f9cb708733f26ad6bf3b1e46815ae536aa151680bdee2\n\n# tcId = 228\n# special case hash\nmsg = 31313437323930323034\nresult = valid\nsig = 3066023100df8b8e4cb1bc4ec69cb1472fa5a81c36642ed47fc6ce560033c4f7cb0bc8459b5788e34caa7d96e6071188e449f0207a0231008b8ee0177962a489938f3feffae55729d9d446fe438c7cb91ea5f632c80aa72a43b9b04e6de7ff34f76f4425107fd697\n\n# tcId = 229\n# special case hash\nmsg = 3130383738373235363435\nresult = valid\nsig = 30660231008bb6a8ecdc8b483ad7b9c94bb39f63b5fc1378efe8c0204a74631dded7159643821419af33863b0414bd87ecf73ba3fb0231008928449f2d6db2b2c65d44d98beb77eeadcbda83ff33e57eb183e1fc29ad86f0ba29ee66e750e8170ccc434cf70ae199\n\n# tcId = 230\n# special case hash\nmsg = 37333433333036353633\nresult = valid\nsig = 3065023100e3832877c80c4ed439d8eadcf615c0286ff54943e3ae2f66a3b9f886245fea470e6d5812cef80c23e4f568d0215a3bfc02303177a7dbf0ab8f8f5fc1d01b19d6a5e89642899f369dfe213b7cc55d8eaf21dd2885efce52b5959c1f06b7cac5773e5b\n\n# tcId = 231\n# special case hash\nmsg = 393734343630393738\nresult = valid\nsig = 306502306275738f0880023286a9b6f28ea0a9779e8d644c3dec48293c64f1566b34e15c7119bd9d02fa2357774cabc9e53ef7e6023100d2f0a52b1016082bd5517609ee81c0764dc38a8f32d9a5074e717ee1d832f9ea0e4c6b100b1fd5e7f4bc7468c79d3933\n\n# tcId = 232\n# special case hash\nmsg = 33323237303836383339\nresult = valid\nsig = 3066023100d316fe5168cf13753c8c3bbef83869a6703dc0d5afa82af49c88ff3555660f57919a6f36e84451c3e8e5783e3b83fe3b023100995f08c8fec7cd82ce27e7509393f5a3803a48fe255fcb160321c6e1890eb36e37bcda158f0fa6899e7d107e52de8c3c\n\n# tcId = 233\n# special case hash\nmsg = 323332393736343130\nresult = valid\nsig = 306402300b13b8fd10fa7b42169137588ad3f557539a4e9206f3a1f1fe9202b0690defded2be18147f5b2da9285c0e7349735ea302300478ad317b22a247bf9334719b4c8ee84acf134515db77e6141c75d08961e1e51eaca29836744103de0f6a4c798d3eeb\n\n# tcId = 234\n# special case hash\nmsg = 3934303437333831\nresult = valid\nsig = 3065023015804429bcb5277d4f0af73bd54c8a177499a7b64f18afc566c3ce7096bdc6c275e38548edcfa0b78dd7f57b6f393e49023100d5951f243e65b82ba5c0c7552d33b11f1e90fde0c3fd014aac1bb27db2aaf09b667c8b247c4cdd5b0723fba83b4f999e\n\n# tcId = 235\n# special case hash\nmsg = 33323230353639313233\nresult = valid\nsig = 30650230359247c95776bb17492b7bf827f5f330fa9f9de7cc10441a1479c81776ce36cdc6a13c5f5149c4e39147a196bb02ed34023100f6ed9252a73de48516f4eabab6368fbff6875128af4e1226d54db558bd76eec369cc9b285bc196d512e531f84864d33f\n\n# tcId = 236\n# special case hash\nmsg = 343134303533393934\nresult = valid\nsig = 3065023100a557d1f63a2094f683429ecb35a6533bac897682775c0051e111eed6e076c48867cae005c5e0803800b050311e381cd602302a2f871efcf03cf1c8f509e076aaa2a76f1ea78d1c64804ea5b063b0324b8e98eb5825d04370106020ee15805dbedf81\n\n# tcId = 237\n# special case hash\nmsg = 31393531353638363439\nresult = valid\nsig = 3065023100f22bf91169b4aec84ca84041cb826f7dfc6f33d973f3c72433b8a0ca203aac93f7eed62be9bea01706402d5b5d3b0e6502307841d3bc34aa47e813a55c25203c5ec2342d838d5b4638c2705dcf4bac9c24f765b5d4c28fa3c7fda7a38ed5048c7de3\n\n# tcId = 238\n# special case hash\nmsg = 35393539303731363335\nresult = valid\nsig = 30660231009c196e39a2d61a3c2565f5932f357e242892737e9adfc86c6609f291e5e6fdbb23029ff915a032b0c5390ba9d15f203e023100d721e28e5269d7813e8a9aed53a37e652fec1560ca61f28f55ab4c262cc6214eee8d3c4c2ba9d1ba0ba19e5e3c7484a7\n\n# tcId = 239\n# special case hash\nmsg = 323135333436393533\nresult = valid\nsig = 30660231008ba1e9dec14d300b0e250ea0bcd4419c3d9559622cc7b8375bd73f7d70133242e3d5bf70bc782808734654bacd12daea023100d893d3970f72ccab35555ae91ebcfed3c5bfc5d39181071bc06ba382587a695e02ed482f1a74fe309a399eaee5f5bc52\n\n# tcId = 240\n# special case hash\nmsg = 34383037313039383330\nresult = valid\nsig = 306402302f521d9d83e1bff8d25255a9bdca90e15d78a8c9ea7885b884024a40de9a315bed7f746b5da4ce96b070208e9ae0cfa502304185c6f4225b8c255a4d31abb5c9b6c686a6ee50a8eb7103aaef90245a4722fc8996f266f262109c3b5957ba73289a20\n\n# tcId = 241\n# special case hash\nmsg = 343932393339363930\nresult = valid\nsig = 3065023100d4900f54c1bc841d38eb2f13e0bafbb12b5667393b07102db90639744f54d78960b344c8fbfbf3540b38d00278e177aa02303a16eff0399700009b6949f3f506c543495bf8e0f3a34feb8edd63648747b531adc4e75398e4da8083b88b34c2fb97a8\n\n# tcId = 242\n# special case hash\nmsg = 32313132333535393630\nresult = valid\nsig = 3065023100c0169e2b8b97eeb0650e27653f2e473b97a06e1e888b07c1018c730cabfdeeec4a626c3edee0767d44e8ed07080c2ac4023013f46475f955f9701928067e3982d4ba5a58a379a66f91b74fad9ac8aee30086be6f41c9c2d8fb80e0924dedbe67e968\n\n# tcId = 243\n# special case hash\nmsg = 31323339323735373034\nresult = valid\nsig = 306402302e868871ea8b27a8a746882152051f2b146af4ac9d8473b4b6852f80a1d0c7cab57489aa43f89024388aec0605b0263702306d8c89eed8a5a6252c5cead1c55391c6743d881609e3db24d70ead80a663570020798fbf41d4c624fcb1ce36c536fe38\n\n# tcId = 244\n# special case hash\nmsg = 32303831313838373638\nresult = valid\nsig = 3065023100abe6a51179ee87c957805ecad5ccebca30c6e3a3e6dbe4eb4d130b71df2bf590b9d67c8f49e81bf90ce0909d3c2dab4c02307110582fab495b21bd9dda064fbd7acc09d0544dcf7699be35ad16207ffa10e8904f9241a709487ba2ba7e34430b81c3\n\n# tcId = 245\n# special case hash\nmsg = 343534363038393633\nresult = valid\nsig = 3064023050252c19e60e4120b7c28b2c2e0a588e5d107518cd61e5c7999c6d465ea134f752322d8b83f5988fcdc62bd9adb36ccd0230193899352491dabfe4fc942e14ddacb200673729d61602cc0baf5732d262f36e5279865a810ce2f977f57686a0d0137a\n\n# tcId = 246\n# special case hash\nmsg = 31333837363837313131\nresult = valid\nsig = 3066023100eb725fdd539d7de8ea02fac8db6ec464f40c272a63e6b2718c4e0266bf1235dae330f747a6052f4319ecbe7bdade9bd0023100ae84507648ba2d1944bb67722ccd2cb94b92b59e89a1ae698c668bb57f481c42b216c23da4b1d8c0e502ef97fda05ad0\n\n# tcId = 247\n# special case hash\nmsg = 32303331333831383735\nresult = valid\nsig = 3064023025aa56fcbd92f2cf53bddbaa0db537de5843290731c1dd78036fcbded4a8f7187ddfed9f5ca9d98ea7b12d24b8d29d570230028f68372d66164810bf79c30a191116d496fe32314605dc1668289425fb3a15d7532dde1052a49a35866c147abde1d9\n\n# tcId = 248\n# special case hash\nmsg = 323535333538333333\nresult = valid\nsig = 3065023054bf7adc8548e7cae270e7b097f16b5e315158d21b0e652ce1cfe4b33126ba4a65bf227b4cddcaf22d33d82478937b20023100bfc1b8f1d02846a42f31e1bd10ba334065459f712a3bbc76005d6c6488889f88c0983f4834d0bf2249dbf0a6db760701\n\n# tcId = 249\n# special case hash\nmsg = 34363138383431343732\nresult = valid\nsig = 3066023100d3bb29ac0bd1f6058a5197f766d6ea3216c572ded62af46318c8c7f9547bb246553654279d69989d9af5ef4ccacf64da023100e10281122c2112a2a5a9d87ac58f64fb07c996a2d09292119e8f24d5499b2e8524ebd0570097f6cc7f9c26094a35c857\n\n# tcId = 250\n# special case hash\nmsg = 31303039323435383534\nresult = valid\nsig = 3066023100bc32e85e3112472408f9324586e525325128a38313c34b79700cb0a3f7262a90a1fcc40eef1f1a3884032a7a21810e0a023100c02f52541360358107a13dbea31f83d80397710901734b7adb78b1fc904454a28a378514ccef80ecc70c1d8e55f11311\n\n# tcId = 251\n# special case hash\nmsg = 32373536343636353238\nresult = valid\nsig = 3066023100f04b9e17c71d2d2133ea380d71b6b82c8a8e3332703e9d535b2c2bca9b0ad586d176a6049afa35edd9722edb5c33daa3023100bd44d4a6263380ca6f22e76c26d5f70f41f4d7cae7d4b9c1b8dc2ba5298d9d12408b04614e2f3796cc19c950c8c88a10\n\n# tcId = 252\n# special case hash\nmsg = 313139363937313032\nresult = valid\nsig = 3065023100c8807351d8e261338e750cb9a52f4be4470b63f6f181cbe0e81d43b60824ba4be1bba42b1783897a0d72b0614018b02f023052e3a598c8be982127e961eed2b04f21c86df4ebcab0d955a7c66ec7f818898798ee75367a85022276b912c0a072bff7\n\n# tcId = 253\n# special case hash\nmsg = 323333313432313732\nresult = valid\nsig = 306402306152841b6fb460546eeb4158a3e5ffa54f51aa6a208987be899b706055cd59d8ec7c01f4634254fe050e1d4ec525a173023073f0c5f13640d892c28f701428e8fbfb736b6478bbd972c8c684977556ed599a70d313e06b126080e13068d56e1c10be\n\n# tcId = 254\n# special case hash\nmsg = 31363733343831383938\nresult = valid\nsig = 3066023100842f8d2814f5b7163f4b21bd9727246e078ad1e7435dfe1bc5f9e0e7374232e686b9b98b73deab9e43b3b7f25416c2be023100852c106c412300bac3ba265990b428a26076ab3f00fd7657bbd9315fa1cd2a1230a9a60d06b7af87aa0a6cf3f48b344c\n\n# tcId = 255\n# special case hash\nmsg = 31343630313539383237\nresult = valid\nsig = 3066023100e13f6d638b9d4fba54aa436a945cfea66dec058fab6f026293265884457b5a86e8e927d699bc64", - "431b71e3d41df200440231009832cd1b4177118ed247b4f31277da15f420179f45c71a237d77f599a45df68247bac3dcef0868ecd1665005c25b7c6c\n\n# tcId = 256\n# special case hash\nmsg = 38393930383539393239\nresult = valid\nsig = 3064023009fff1c2e4ff8643cbfad588620c2bf7aaca5cf4242969142c7145b927bd82ed14f3ae8c6e2ce2da63b990b9f1be6d640230780c816f6c86343b008235ee986abf2136123ed247e4751e4d5467334f08e5e2ca1161254f68c3e6678e2d0b87d1cc7c\n\n# tcId = 257\n# special case hash\nmsg = 34333236343430393831\nresult = valid\nsig = 3066023100ffae6e7d2cea71b5a9c73cbc1285a8d252949772afe1aa27fb137740fc429c2a8c8648c9a5ba678a32f7ae7689b395ca02310089d54cd13a162c34189ff524813690e79768af8ebe794cc941dfe7fdf2cb8dd0b42519f034ea4d4f1c870046d13210e1\n\n# tcId = 258\n# special case hash\nmsg = 32333736343337353537\nresult = valid\nsig = 3066023100efa3c5fc3c8be1007475a2dbd46e3578bb30579445909c2445f850fb8aa60aa5b1749cc3400d8ffd81cb8832b50d27b4023100b36a08db3845b3d2ebd2c335480f12fb83f2a7351841ea3842ec62ad904b098efbf9faa7828b9c185746d9c8bd047d76\n\n# tcId = 259\n# special case hash\nmsg = 383630333937373230\nresult = valid\nsig = 3066023100f577095f7c74594aa1c69aca9bb26e0c7475ae5163058ecc074b03af89e56b12b6a72450589dacf0d7e6b172d0017a0e023100bee756a0b5d0a677bf95f98da512854f3ecb712f94570e1ad230eab17c527b6a8bcc9ae202b657a3611ecffa94ba0d54\n\n# tcId = 260\n# special case hash\nmsg = 35383037373733393837\nresult = valid\nsig = 306502300ae7688c7de5882eb9c3172f5500015552f998fb53702c6cd4b03404d5a0510a8073db95db544808dbd76659fd20cf12023100bc610fe5f04d8909cc439615fb7e302d3d82992817647c50c1f467090a52b328cbbc0262f18ffb6fd9f3bd60013cea08\n\n# tcId = 261\n# special case hash\nmsg = 353731383636383537\nresult = valid\nsig = 306502305dc8a6d84afaaf900d78c6a91dc5e12e7d17891a52c1468253061d704b8940bef85b9fe807a0e02b56e8dd37c22fbb82023100914258de52932c4604dceb5ce7cc0a92e021edca9b819b84a9f25652f9af13f956a1139ee95c7aa7a079e3ad8317fbdb\n\n# tcId = 262\n# special case hash\nmsg = 38363737333039333632\nresult = valid\nsig = 3066023100da55a6dbb845205c87c995b0bbc8444ffcba6eb1f4eb9d30f721d2dacc198fb1a8296075e68eb3d25ef596a952b8ea19023100829f671dccad6d7b0b8c4b39ff3f42597965d55c645fb880a66fe198d9344c9311f1598930392470379fa5ff43c75d04\n\n# tcId = 263\n# special case hash\nmsg = 32343735353135303630\nresult = valid\nsig = 306402303730dfd0985de77decdd358a544b47f418d3fab42481530d5d514859894c6f23b729af72b44686058de29687b34b3b0c023065bdfaf0ac217a80b82eb09c9f59c5c8cfbf50a6eb979a8f5f63eab9bd38ee0938e4b23102112033b230a14ad2790e3f\n\n# tcId = 264\n# special case hash\nmsg = 393733313736383734\nresult = valid\nsig = 3065023055210df2124c170e259af1dafa73e66613aa18ced8eb40a7f66155d50d5f3124edfa55276de4797013177291e8afeff6023100c314d3a310a60647dad3318ed7f0405a64c3f94b5ac98e6be12208c8ad9835fa6b81a0ea59f476608634657b66e00ffd\n\n# tcId = 265\n# special case hash\nmsg = 33363938303935313438\nresult = valid\nsig = 3065023100f6c9897144b5d84964515eb0c8c3d0d9c6687c957887e93c29b2a21804b40307fb88bfd5cca11c95885d28867cb33a740230656bafca242290f7d7e9801b6cfd4bd1b07e8d7c6c1c59fd3d8e82e9846a1b2855c85420e4ee6ec2d97fec2161eeb243\n\n# tcId = 266\n# special case hash\nmsg = 3130373530323638353736\nresult = valid\nsig = 3065023100bfbcc5f343e2ab392ce6c1c02d91c00650c47136836a5d0622d476ac2b3274395721b1ab21882ed5cabed093b43b133f0230043e9fc64c6108df73f9eced90f91185f83d89662f5a9d810c1824fbfd97b842f784305fd6b9c28c80d32d52b1538d12\n\n# tcId = 267\n# special case hash\nmsg = 383639313439353538\nresult = valid\nsig = 3066023100b8f793ddd47e657a9081cbed1600fb22b38ad6a155f9c006ba98de1f383b4c0918ceea72253e0f869524b2369cd9bd8c02310096c452ff58f42e0853040a6d5c7e750b57dd4af06e2df8194e8d524e81ac000ee3315bbeabbf6a21f61b8904c55378d9\n\n# tcId = 268\n# special case hash\nmsg = 32313734363535343335\nresult = valid\nsig = 30640230263ab1c93567e93b5ec4e380b0d3bb5ea1ce693c14a47afccc539aaf197f099d331ea9e26f1a0057148d46727acb61880230621db07ce94110e2be74fa953a00a8a554225b3f2c0f6c56b4ebd4db2f57ca2565ed3323fd708bb56ac6e28bfb40f2e7\n\n# tcId = 269\n# special case hash\nmsg = 363434353530373932\nresult = valid\nsig = 306502310096f4a2b3529c65e45a0b4c19c582dc8db635d4e74f0b81309696b23be920ba8ec553d4b370df4c59d74dd654bac6df5802301573ba1b280c735a3401d957ecd3b8908e4e0b7d80239ce042594d182faf2ddf811c9056aac4c87f4f85043766a26614\n\n# tcId = 270\n# special case hash\nmsg = 353332383138333338\nresult = valid\nsig = 306602310096a691b19a6294b311a438f8da345e480b1deaa1e940cfbf02177d5f08479976ea58aee31011d50b5542be188c9d63df0231008f67dc9e1588aeb8be180013d41a036f9badfad9fe9340910cbf87243776f54bef7da2ebf3a7643866eb9a3b23fe59b9\n\n# tcId = 271\n# special case hash\nmsg = 31313932303736333832\nresult = valid\nsig = 3066023100cff27948c6d902c73d103d0802eb144dd89c1b0e3b9f9a5e498b0361dc122a0d555160d8c64d61539c1dbbd4bc18971f023100b60827488c9f16ba28378fd59b1a29c65073335a7f236131134674c62c8396f193c76f2395ddaaa4f24b69161eb69b4d\n\n# tcId = 272\n# special case hash\nmsg = 31353332383432323230\nresult = valid\nsig = 3066023100e90e22d9e535dfdfd86e098d5d6a0ae08f69d4a3ffaa39f6930bcf5f5ad02ee0d0472ae984edd9f0bbe5e7d63fd4f6ac023100e3f57b0a4629ecaa21f2d34a7a0834d57ba20f99c6e31b43c37811cc23b9957c8f3356f4462214d3c8e58745e50f23f6\n\n# tcId = 273\n# special case hash\nmsg = 313536373137373339\nresult = valid\nsig = 3064023018b70e272a98cc48e1e0af73146f0f972bbfbeb6b985feb2c4acd695a7a41b99c415be9c46aedaf3ddff67a65a89e387023047d6bcea088f622ad35d88bcf46d71827bcba2f57c36d6fb8a4bf2befdc0d4e3ef366d5966c4d076d3cfa43d6626717b\n\n# tcId = 274\n# special case hash\nmsg = 34333033303931313230\nresult = valid\nsig = 3066023100acfd981c55fd5286cfce173726d51c3d25f65b11b7673729a62167256774f7c894b74662a212c706e00cef096074162f023100f4d471c97797c24d96aec1de85a249ef468d6036cd712563aeb65cea4995f3ee85e769b874f09a08637a44a96084be7a\n\n# tcId = 275\n# special case hash\nmsg = 37373335393135353831\nresult = valid\nsig = 3065023100f15fcbeea8b64dad5e8566a2c37913c82d6be9d9668df469bd0b591c3923a6e12644eaf697d466fa7cd513983d946a40023070063966801079351526999e5c5c2c5f627e4c8bc96784bcbe715fe7c7afcf69785d1c8c7ccd3725e364101638396597\n\n# tcId = 276\n# special case hash\nmsg = 323433393636373430\nresult = valid\nsig = 3066023100d995147939ae6d8f62bb57372227395839e25a0d4308b899d5f506cf9e0a01e8115b7e4b822f037ec95752bd9e892f5e0231009bb4d07333e468f8482a790a2a2e650e2c42da8240ec5e402506b368122f046680cd71e0117897cce3df4a1555fc8876\n\n# tcId = 277\n# special case hash\nmsg = 34333237363032383233\nresult = valid\nsig = 3064023043c6ce5184476f3f496afeae3cb96a3f9f038957686c93437b8266a233022371d266e904aa096c3566cb33824b88075e0230680c13245a8bc560b638d26f0c5f261964130256939552d3fffb07b658355611612c268a89541055d3c2bf9e82cf4da3\n\n# tcId = 278\n# special case hash\nmsg = 32393332303032353932\nresult = valid\nsig = 30630230447539941dc350767fc841083d25d9247a0807e1e22e0bb9d94f504f721981b413d521efbd75e4fe831ee26338cf3de3022f395ab27ea782cee4be53e06c7616bbd41d6926b18d219d75d5979f13cba2f52101019b0ec0a41ffdbf29ef73ddba70\n\n# tcId = 279\n# special case hash\nmsg = 36343039383737323834\nresult = valid\nsig = 3066023100a0ba8e8b979c20345e34fca98531900164a859923bd6986a9c39236a2f5de053a252997f35e5b84b0d48ba0f8d09aedd023100facd6df04358fcd95fa9018a6fc0828dfe319812ff65929c060b18ad4b9f06e7fc0addd1b695315d71c15e51dc51d719\n\n# tcId = 280\n# special case hash\nmsg = 36303735363930343132\nresult = valid\nsig = 3065023100b8378390f71f0bb6663f1846daf6908f8c84f770ae740cc8054122494cf0ffa9437ab26040ca22808fb29a810b70126e0230427636b929a500abc34d9f22977b81e734919afaf3ed2c91eeada7074e0c16bdc52f960eaec9db5a879c1e6414035101\n\n# tcId = 281\n# special case hash\nmsg = 32333231363233313335\nresult = valid\nsig = 3066023100f36a9048fd94803d3d6d1b11430b90b94ef8d5d2ad89018c69473ce9cfe0d6105b3c2fb2e7555ccd25f65af8c872bdc602310081254841e7ecbfd0d810afaaf5afd6d6c5d0542bb00cc183b1db01767120afbcc0006ddcba8db7baf65f302723dabc4d\n\n# tcId = 282\n# special case hash\nmsg = 36343130313532313731\nresult = valid\nsig = 3066023100d8a4d96409c191baa9540bf35f1d5192f9352d7f0e14f92c0e8e1f19f559b42ed3c6b7bdb6becc56584fb5c09421e2e4023100d966ba13d4245e248eafb46f2a3df92c2037d5969c7db6dbcb0ff4b21850e16a18a29785267239886365cf721a212536\n\n# tcId = 283\n# special case hash\nmsg = 383337323835373438\nresult = valid\nsig = 306402301d5d86fd48e65b0cf0b0b46062241f89cf65785dd818f93f1162771a38a15f20febc261812ecaaf6f4f2b86b3362d7eb02300c76e363de1432513cb9dad6493931381ecd25f142e61968b6f20d7b1270cb9e38a7ae54e4778aff40", - "25eb00c6a67aef\n\n# tcId = 284\n# special case hash\nmsg = 33333234373034353235\nresult = valid\nsig = 306402300508eed148f061114be18e8a86188feabf76b873b36eadcca9c2c60e24a2002fe456231decf7a8f6f032c08dbe0ab5a90230694c0ad781b2341e30e1d0739ac99672064f48821a69852c7940cf1d621738199c980d56d2a0b71b3fc6011c6b2444ba\n\n# tcId = 285\n# special case hash\nmsg = 31343033393636383732\nresult = valid\nsig = 30650230726ef88bb7947a043116c111cb519ddeda3e6ffbf724884a1b22c24409cdf2779d93ce610c8c07411c2b001399103d6d02310095dc1d65046caf0e8dad07b224798d6f7807278e737883e7c7bf0b446791d4ee144c26f710134861af4e6771d4082896\n\n# tcId = 286\n# special case hash\nmsg = 31323237363035313238\nresult = valid\nsig = 3066023100eb0e8e3c639f5eba8eccd9020d0ec62d8ac73f3fddbdfa08fdb2155deb0a536923ebd55e20020cab9f8e39a43a88be11023100c796df399fc35883dd5dae6817d02d3d67a8eec6601585e5e36fd2c134eddb1447ec12b144dddc9aae28a84f22602641\n\n# tcId = 287\n# special case hash\nmsg = 34393531343838333632\nresult = valid\nsig = 3065023100e8f8c69d0396ea900f9757736d2b19dbc2d2a8c01dccf490c8b9455bd63b34c095867e7cf3b84dc7c3c3d6b51bebf405023058152a7564eeb22a3e26597026d0cd7835725bd512245448cb5016eb48ea759809fd6949d0ee5d579643f72f908c16bb\n\n# tcId = 288\n# special case hash\nmsg = 32343532313237303139\nresult = valid\nsig = 30650230380b4e48b3ff012af7c08bf871d9f4da0c708b5494a986d3d80b1979e579d0dbee61db9bc3c04c396176410788e15a0f023100e6971c013c965a7e4df10f95620a5092fab096bd5b50828f4bc91c5e479bccf6e0daf287e7ef580fa9ea153fa1a507a2\n\n# tcId = 289\n# special case hash\nmsg = 31373331353530373036\nresult = valid\nsig = 30650231008061de12029e2b000d157a455ecf2301222f092df95b9551b78cf0ef3a64f12212b57ec7b16d2c0f258946f51cb1633a02300ac2ca6ad99b29ca29a0dc38b34443ee41020f81ed9087cef7681a00c4fe60653a572944ba37f1fe51d112bfffbdd701\n\n# tcId = 290\n# special case hash\nmsg = 31363637303639383738\nresult = valid\nsig = 3066023100e74f2a791eeb7341cff6cc1c24f459e6c0109924f7984639ae387e3ceb58758a1bc3839dea1fc3a3799562225e70a733023100d90e4d0f47343268e56bbcb011bd4734390abc9aa1304b6253e78f5a78b6905aa6bf6a3892a4ae1a875c823ae5a83e87\n\n# tcId = 291\n# special case hash\nmsg = 343431353437363137\nresult = valid\nsig = 306402306a1cd0ff7906be207b56862edcbc0d0bbfb26d43255c99f6ab77639f5e6103a07aa322b22ed43870d1ce6df68aa0a8c10230655558b129aa23184500bd4aab4f0355d3192e9b8860f60b05a1c29261f4486a6ae235a526339b86c05f5fac477b6723\n\n# tcId = 292\n# special case hash\nmsg = 343233393434393938\nresult = valid\nsig = 306602310081111fdc5f0de65583c7a5668d26c04ee52e08dac227753132cff1741cb721e112aa793c0d5fa047faf14cb45dd13e1f0231009a25cf1e6c152bc3e216e021561d194979f1c11fe17019ed7bac2c13c4010f209665e3b6f33b86641704d922b407818f\n\n# tcId = 293\n# special case hash\nmsg = 34383037363230373132\nresult = valid\nsig = 30660231009b66d122a315095b2b66ccb97272c476a2d760e827fdea05732d634df3d066569c984dd941aad5f5dec4c2e1b7b94a0002310096c32403c85bc3d0ee87f96a600182796dce53d54d7467ae660a42b87bb70792f14650ac28a5fa47ce9ca4d3b2c25878\n\n# tcId = 294\n# special case hash\nmsg = 32313634363636323839\nresult = valid\nsig = 306402302bb062a002088d62a0b7338d0484fedfe2af7e20cebf6a4788264eb27cb4ebc3cc81c816e6a35722cf9b464783094cb8023046cc21b70f2133f85ab0443bebe9c6fc62c6e2ec1fd9c4ddf4a6d5f3f48eb7abf1ee7bdf6725879fd1b7daafb44f6e04\n\n# tcId = 295\n# special case hash\nmsg = 31393432383533383635\nresult = valid\nsig = 3065023033e87061ee9a82eb74d8bb4ae91606563c2e4db8b09183cc00d1119ab4f5033d287a1fc90a2348163fdf68d35006fd7f02310096db97c947ee2e96e6139d3bcbf5a43606bae1ad3ca28290fbad43b281ef115ec1b98bc581ef48094f8c1aa8e36c282a\n\n# tcId = 296\n# special case hash\nmsg = 32323139333833353231\nresult = valid\nsig = 3064023070f80b438424ba228a7d80f26e22ff6a896243c9d49c75573489ee0de58ec60efd103838143465bd8fe34672ba9496170230115492bd9365b96f38747536318bffb819e7c146df3a5a7a46d6288c7fdf31cff570b22176aa398daba9073ab1e7b9bf\n\n# tcId = 297\n# special case hash\nmsg = 393236393333343139\nresult = valid\nsig = 3066023100ff16ca0389ea6948f4305b434fe0aa589f880f5aa937767c31170ee8da6c1ad620c993d40ddf141b7fda37424d51b5cd023100ba0f86985dffc61d6e35a37de06918b11e431b72403161acfb8f05c469f1fcfa6e215c6f7eb5a0a5e0cc9e7be79ce18b\n\n# tcId = 298\n# special case hash\nmsg = 373639333836333634\nresult = valid\nsig = 3065023100d60c24bee05f5198cd155ad095ffb956bbcfb66b82fc0d3755119915a62f2f923557b85ddc1d12e6a757f23042cb601b02302c4d968b5eac930b51d283b418fcff6df3a9d6d66e3812cd1bf5fde797fd203a7c439b1b381e4fe8b44e6f108764a7dd\n\n# tcId = 299\n# special case hash\nmsg = 32373335393330353733\nresult = valid\nsig = 3066023100bdf634d915a4fae7a155532ca2847c33a6babe7ef8db0af50f485db3dd2c8bffe722394583932f6eb5cd97f6db7561d9023100bb425cae2e5483174b5ed873af4329da4618c14458141850bee3c7bf1ffb3f2030159043277dacc708e9d32f63400083\n\n# tcId = 300\n# special case hash\nmsg = 38333030353634303635\nresult = valid\nsig = 30650230061320a3bcebac33cf399d45d1e1e1b34f37288fe4753f4fddfd496eff427e1d26b1b91d749cc34c12f4ecef837c0e8f023100fd5cf468cda319fe06e773a190c38de6e150a321ac1c416ad875432cdb7a07134c446f13068e71a1a96e35da923974ad\n\n# tcId = 301\n# special case hash\nmsg = 34333037363535373338\nresult = valid\nsig = 3065023100d620f063d33efa859b623f6c9a92340e4cdd854ffbe3e5e01379177aee31715ce587b00bd0aea98fddf236d2fc8a7a740230671f4b7c187297dc236c61888b6d9397e97783077cc4101807d79ee62e4a53a78c4b6a3a31b03178668af894a3d8902e\n\n# tcId = 302\n# special case hash\nmsg = 39363537303138313735\nresult = valid\nsig = 306502310091c556c5bddd529fe903b86afc0eb8fa1f49425b779a39114ae563bebc947e633ba4ee98948faa8940dfe2562c63e1c50230198b00079d8db072d25b0a49bc8bc36457926f3c101527528df6679f92c76f1b487e6695d4b92fe33b4ee7046a6a5df9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[key.wx = 4bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85d]\n[key.wy = 0d30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[sha = SHA-384]\n\n# tcId = 303\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# tcId = 304\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[key.wx = 3623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6]\n[key.wy = 768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[sha = SHA-384]\n\n# tcId = 305\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[key.wx = 0d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea8", - "23286f101f98d130f5a26dc6fec23662eff07f14486fd5]\n[key.wy = 08456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[sha = SHA-384]\n\n# tcId = 306\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[key.wx = 0a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a9]\n[key.wy = 092a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[sha = SHA-384]\n\n# tcId = 307\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[key.wx = 554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd322511]\n[key.wy = 71312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[sha = SHA-384]\n\n# tcId = 308\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020101\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[key.wx = 44ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591c]\n[key.wy = 0d027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[sha = SHA-384]\n\n# tcId = 309\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020102\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[key.wx = 0e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390]\n[key.wy = 0e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[sha = SHA-384]\n\n# tcId = 310\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020103\n\n# tcId = 311\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[key.wx = 5e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab]\n[key.wy = 088a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[sha = SHA-384]\n\n# tcId = 312\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[key.wx = 0bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1]\n[key.wy = 0ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[sha = SHA-384]\n\n# tcId = 313\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[key.wx = 58f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566]\n[key.wy = 497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[sha = SHA-384]\n\n# tcId = 314\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[key.wx = 0fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12]\n[key.wy = 0998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67", - "b836adc802d5fe8]\n[sha = SHA-384]\n\n# tcId = 315\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[key.wx = 1b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51]\n[key.wy = 0c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[sha = SHA-384]\n\n# tcId = 316\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[key.wx = 1734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403]\n[key.wy = 0ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[sha = SHA-384]\n\n# tcId = 317\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[key.wx = 52ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c7]\n[key.wy = 087a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[sha = SHA-384]\n\n# tcId = 318\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[key.wx = 0bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c44]\n[key.wy = 3adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[sha = SHA-384]\n\n# tcId = 319\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101\n\n# tcId = 320\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[key.wx = 0f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bdda]\n[key.wy = 0c4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[sha = SHA-384]\n\n# tcId = 321\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[key.wx = 3ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383]\n[key.wy = 0d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[sha = SHA-384]\n\n# tcId = 322\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[key.wx = 4150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4]\n[key.wy = 0eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[sha = SHA-384]\n\n# tcId = 323\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec63260230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[key.wx = 0e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992f]\n[key.wy = 0f34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34eb", - "ba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[sha = SHA-384]\n\n# tcId = 324\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[key.wx = 0ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c09]\n[key.wy = 0a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[sha = SHA-384]\n\n# tcId = 325\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[key.wx = 3d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c1]\n[key.wy = 39aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[sha = SHA-384]\n\n# tcId = 326\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[key.wx = 0ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd00]\n[key.wy = 1ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[sha = SHA-384]\n\n# tcId = 327\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d49a253986bbaa8ce9c3d3808313d39c3b950a478372edc009bc0566b73be7b05dad0737e16960257cc16db6ec6c620f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[key.wx = 088738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab252]\n[key.wy = 09388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[sha = SHA-384]\n\n# tcId = 328\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230285090b0d6a6820bbba394efbee5c24a2281e825d2f6c55fb7a85b8251db00f75ab07cc993ceaf664f3c116baf34b021\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[key.wx = 0f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36]\n[key.wy = 0b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[sha = SHA-384]\n\n# tcId = 329\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b39af4a81ee4ae79064ed80f27e1432e84845f15ece399f2a43d2505a0a8c72c5731f4fd967420b1000e3f75502ed7b7\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[key.wx = 399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e]\n[key.wy = 1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[sha = SHA-384]\n\n# tcId = 330\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100af4a81ee4ae79064ed80f27e1432e84845f15ece399f2cbf28df829ccd30f5ef62ec23957b837d73fe4e156edccd4465\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[key.wx = 1578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c]\n[key.wy = 76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[sha = SHA-384]\n\n# tcId = 331\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02305e9503dc95cf20c9db01e4fc2865d0908be2bd9c733e597e8a5bb7b7a62abdff6dbe3978ae56536d0fb01172ecd55f57\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[key.wx = 33ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab]\n[key.wy = 1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d82", - "3dd03f3919027f004537bd8ee09f3a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[sha = SHA-384]\n\n# tcId = 332\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02301ee4ae79064ed80f27e1432e84845f15ece399f2cbf4fa31a3ae8edab84dc3330a39f70938e3912bd59753de5aed3088\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[key.wx = 40771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33dda]\n[key.wy = 0e5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[sha = SHA-384]\n\n# tcId = 333\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bb51cd3ba8eb201f53ddb4e34e08c0ff7dff9378106784d798d5a3440bd6dc34be3a0eaef8776619a0c97fefb15720b3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[key.wx = 098d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b7923]\n[key.wy = 099a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[sha = SHA-384]\n\n# tcId = 334\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e707e267ea635384a6da09823149f5cb7acbb29e910d2630c5fb5afbc42aa8436349b214a3b8fb9481ec999e005091f8\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[key.wx = 0d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5]\n[key.wy = 0f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[sha = SHA-384]\n\n# tcId = 335\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100acc4f2afb7f5c10f818175074ef688a643fc5365e38129f86d5e2517feb81b2cd2b8dc4f7821bfd032edc4c0234085d9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[key.wx = 082f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d31]\n[key.wy = 08a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[sha = SHA-384]\n\n# tcId = 336\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083276c0793f0a19742422f8af671ccf965fa7d18d541bef4c05b90e303f891d39008439e0fda4bfad5ee9a6ace7e340c\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[key.wx = 0f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f99]\n[key.wy = 090f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[sha = SHA-384]\n\n# tcId = 337\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100942848586b534105ddd1ca77df72e1251140f412e97b62afbf85d4822309176b5965453dee3fab709e14156b3dfcecca\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[key.wx = 0f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fed]\n[key.wy = 0e85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[sha = SHA-384]\n\n# tcId = 338\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[key.wx = 14249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a]\n[key.wy = 28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[sha = SHA-384]\n\n# tcId = 339\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e", - "35221c51259f337c7288a2f86bc]\n[key.wx = 50a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6c]\n[key.wy = 0bdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[sha = SHA-384]\n\n# tcId = 340\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[key.wx = 4d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd]\n[key.wy = 680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[sha = SHA-384]\n\n# tcId = 341\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[key.wx = 63d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13a]\n[key.wy = 0a9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[sha = SHA-384]\n\n# tcId = 342\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[key.wx = 0d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c4]\n[key.wy = 09ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[sha = SHA-384]\n\n# tcId = 343\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[key.wx = 31f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b4782314003]\n[key.wy = 5bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[sha = SHA-384]\n\n# tcId = 344\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[key.wx = 0bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3]\n[key.wy = 0c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[sha = SHA-384]\n\n# tcId = 345\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[key.wx = 6fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4]\n[key.wy = 375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[sha = SHA-384]\n\n# tcId = 346\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[key.wx = 0baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cd]\n[key.wy = 0ecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[sha = SHA-384]\n\n# tcId = 347\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[k", - "ey.type = ECPublicKey]\n[key.uncompressed = 0481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[key.wx = 081e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317]\n[key.wy = 0cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[sha = SHA-384]\n\n# tcId = 348\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[key.wx = 41fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e7]\n[key.wy = 1c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[sha = SHA-384]\n\n# tcId = 349\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[key.wx = 0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]\n[key.wy = 572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[sha = SHA-384]\n\n# tcId = 350\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[key.wx = 0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]\n[key.wy = 0a8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[sha = SHA-384]\n\n# tcId = 351\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[key.wx = 0b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba]\n[key.wy = 1fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[sha = SHA-384]\n\n# tcId = 352\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[key.wx = 6e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a]\n[key.wy = 4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[sha = SHA-384]\n\n# tcId = 353\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[key.wx = 0b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a]\n[key.wy = 1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[sha = SHA-384]\n\n# tcId = 354\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[key.wx = 6761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc2736]\n[key.wy = 5c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200", - "046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[sha = SHA-384]\n\n# tcId = 355\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[key.wx = 6922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab26]\n[key.wy = 55854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[sha = SHA-384]\n\n# tcId = 356\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[key.wx = 0892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233]\n[key.wy = 0cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[sha = SHA-384]\n\n# tcId = 357\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[key.wx = 1634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf222]\n[key.wy = 31e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[sha = SHA-384]\n\n# tcId = 358\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[key.wx = 675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f61674456]\n[key.wy = 3e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[sha = SHA-384]\n\n# tcId = 359\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[key.wx = 0fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676]\n[key.wy = 0f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[sha = SHA-384]\n\n# tcId = 360\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[key.wx = 34d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f7]\n[key.wy = 086f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[sha = SHA-384]\n\n# tcId = 361\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[key.wx = 4376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b]\n[key.wy = 290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[sha = SHA-384]\n\n# tcId = 362\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634b", - "e805f676fd2a59c27f9fe7c5d95b]\n[key.wx = 10878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b4]\n[key.wy = 3036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[sha = SHA-384]\n\n# tcId = 363\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[key.wx = 36b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f]\n[key.wy = 09c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[sha = SHA-384]\n\n# tcId = 364\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[key.wx = 2783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a40441994]\n[key.wy = 1a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[sha = SHA-384]\n\n# tcId = 365\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[key.wx = 0fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb]\n[key.wy = 620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[sha = SHA-384]\n\n# tcId = 366\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[sha = SHA-384]\n\n# tcId = 367\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 368\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[sha = SHA-384]\n\n# tcId = 369\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 370\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]\n[key.wy = 09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[sha = SHA-384]\n\n# tcId = 371\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 3064023032401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f02304326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753\n\n# tcId = 372\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 3066023100d7143a836608b25599a7f28dec6635494c2992ad1e2bbeecb7ef601a9c01746e710ce0d9c48accb38a79ede5b9638f3402310080f9e165e8c61035bf8aa7b5533960e46dd0e211c904a064edb6de41f797c0eae4e327612ee3f816f4157272bb4fabc9\n\n# tcId = 373\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 30650230234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0", - "705498c023100cd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf\n\n# tcId = 374\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 306502305cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18d023100bf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[key.wx = 0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]\n[key.wy = 0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[sha = SHA-384]\n\n# tcId = 375\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023007648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed02310099fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f\n\n# tcId = 376\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca44074102303970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2\n\n# tcId = 377\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30650230441800ea9377c27865be000ad008eb3d7502bdd105824b26d15cf3d06452969a9d0607a915a8fe989215fc4d61af6e05023100dce29faa5137f75ad77e03918c8ee6747cc7a39b0a69f8b915654cac4cf4bfd9c87cc46ae1631b5c6baebd4fc08ff8fd\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[key.wx = 0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]\n[key.wy = 0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[sha = SHA-384]\n\n# tcId = 378\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402303244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a65290230501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93\n\n# tcId = 379\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402305e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b02307e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955\n\n# tcId = 380\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306502306688e36a26f15bdc1c3f91367f8a7667f7bb3e30a335d6f0900e9534eb88b260cb29344c723fedfbe7ac9c5a33f4bf0d023100aa35fddf0fdc9017860b378f801cd806f3e2d754cd2fd94eb7bb36a46ce828cef87e9ebbf447068e630b87fee385ad8f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]\n[key.wy = 0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[sha = SHA-384]\n\n# tcId = 381\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb48023004cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae\n\n# tcId = 382\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a220230201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40\n\n# tcId = 383\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100d9c678550167f10c511e62acb4bd0a3f7f336bc090c94e6c6b02622439c348a2159c5f41f9b5aa4b470590d40dcd7cc202301fd5eaee295abb4081cb626745f4ad279ceb44604062830b58e6c0465c562d41f02ba588fc0db1ebbe339cdc008d7a1b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]\n[key.wy = 0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[sha = SHA-384]\n\n# tcId = 384\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023020fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81970231008141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16\n\n# tcId = 385\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f0230649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551\n\n# tcId = 386\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3064023023855c46403a97b76cbb316ec3fe7e2c422b818387604bda8c3d91121b4f20179d9107c5f92dedc8b620d7db87fccccd023050f57343ab148e50662320c4161e44543c35bc992011ea5b1680b94382cf224ea0ec5da511e102f566cb67201f30a2ee\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[sha = SHA-384]\n\n# tcId = 387\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d", - "21e84593a023100c2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799\n\n# tcId = 388\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306402306ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e0023032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835\n\n# tcId = 389\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e19a4646f0ed8a271fe86ba533f8be4fd81bbf4674716f668efa89a40cac51eec2a6cfbd92327d25efe91ca4ff712bc502304a86b2e8e12378e633dec2691e3b1eed4e932cc48b28e45fa3d464cc0e948c02cc9decf2bb43b25937fcf37e9ad86ef0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[sha = SHA-384]\n\n# tcId = 390\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3064023015aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d02307f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f\n\n# tcId = 391\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306602310090b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47023100cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1\n\n# tcId = 392\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100dd4391ce7557cbd005e3d5d727cd264399dcc3c6501e4547505b6d57b40bbf0a7fac794dcc8d4233159dd0aa40d4e0b9023100a77fa1374fd60aa91600912200fc83c6aa447f8171ecea72ae322df32dccd68951dc5caf6c50380e400e45bf5c0e626b\n\n", +static const char *kData104[] = { + "# Imported from Wycheproof's ecdsa_secp384r1_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]\n[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[sha = SHA-384]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03995ca30240e09513805bf6209b58ac7aa9cff54eecd82b9f1\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30820065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30850100000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3089010000000000000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3065028012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30670000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a4981773065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306925003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3", + "394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a2235498177023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306922342500023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306d2232023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70004deadbeef023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72236498177023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722352500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72233023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306daa00bb00cd003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306baa02aabb3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306d2238aa00bb00cd00023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306b2236aa02aabb023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72239aa00bb00cd00023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306b023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72237aa02aabb023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30803065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30692280023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30803165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30692280033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3265023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 306930010230643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 30643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 56\n# indefini", + "te length\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8200\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8205000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30673000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f823000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3068023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82bf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 3032023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308198023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306602813012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702813100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30670282003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70282003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023200e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 75\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306a0285010000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285010000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306e028901000000000000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306e023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028901000000000000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306902847fffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702847fffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30690284ffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff4", + "26f82\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70284ffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a0285ffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285ffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306d0288ffffffffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70288ffffffffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306502ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3033023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 303402023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3033023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30670232000012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70233000000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30350281023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30350500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065013012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065043012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065ff3012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7013100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7043100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fe", + "cc47bff426f82\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7ff3100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30350200023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30692234020112022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722350201000230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023010b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023102e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c54857023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f02\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3064022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3064022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70232ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3036090180023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19a25617aad7485e6312a8589714f647acf7a94cffbe8a724a023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe1a138f7ca6eeda02a462743d328394f8b71dd11a2a25001f64023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30650230ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e5ec7083591125fd5b9d8bc2cd7c6b0748e22ee5d5daffe09c023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231feed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e65da9e85528b7a19ced57a768eb09b8530856b30041758db6023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc5f8fc6adfda650a86aa74b95adbd6874b3cd8dde6cc0798f5\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc66a35cfdbf1f6aec7fa409df64a7538556300ab11327d460f\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231ff1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b3", + "0abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231fe1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03a07039520259af579558b46a5242978b4c327221933f8670b\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId =", + " 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 209\n# Signature with", + " special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3133323237\nresult = valid\nsig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf565684023100bd770d3ee4beadbabe7ca46e8c4702783435228d46e2dd360e322fe61c86926fa49c8116ec940f72ac8c30d9beb3e12f\n\n# tcId = 231\n# special case hash\nmsg = 31373530353531383135\nresult = valid\nsig = 3066023100d3298a0193c4316b34e3833ff764a82cff4ef57b5dd79ed6237b51ff76ceab13bf92131f41030515b7e012d2ba857830023100bfc7518d2ad20ed5f58f3be79720f1866f7a23b3bd1bf913d3916819d008497a071046311d3c2fd05fc284c964a39617\n\n# tcId = 232\n# special case hash\nmsg = 3130333633303731\nresult = valid\nsig = 3065023100e14f41a5fc83aa4725a9ea60ab5b0b9de27f519af4b557a601f1fee0243f8eee5180f8c531414f3473f4457430cb7a2602301047ed2bf1f98e3ce93e8fdbdc63cc79f238998fee74e1bb6cd708694950bbffe3945066064da043f04d7083d0a596ec\n\n# tcId = 233\n# special case hash\nmsg = 32333632343231333231\nresult = valid\nsig = 3066023100b7c8b5cf631a96ad908d6a8c8d0e0a35fcc22a5a36050230b665932764ae45bd84cb87ebba8e444abd89e4483fc9c4a8023100a11636c095aa9bc69cf24b50a0a9e5377d0ffbba4fab5433159f006ab4563d55e918493020a19691574e4d1e66e3975e\n\n# tcId = 234\n# special case hash\nmsg = 34353838303134363536\nresult = valid\nsig = 306402304a7df2df6a32d59b6bfed54f032c3d6f3acd3ac4063704099cd162ab3908e8eeba4e973ee75b5e285dd572062338fe58023035365be327e2463dc759951c5c0be5e3d094cb706912fdf7d26b15d4a5c42ffebeca5ae73a1823f5e65d571b4ccf1a82\n\n# tcId = 235\n# special case hash\nmsg = 32313436363035363432\nresult = valid\nsig = 30660231009ad363a1bbc67c57c82a378e988cc083cc91f8b32739ec647c0cb348fb5c86472015131a7d9083bf4740af3351755195023100d310dc1509f8c00281efe571768d488027ea760fe32971f6cb7b57cdf90621b7d0086e26443d3761df7aa3a4eccc6c58\n\n# tcId = 236\n# special case hash\nmsg = 333335333030383230\nresult = valid\nsig = 306502310095078af5c2ac230239557f5fcee2e712a7034e95437a9b34c1692a81270edcf8ddd5aba1138a42012663e5f81c9beae2023040ee510a0cceb8518ad4f618599164da0f3ba75eceeac216216ec62bcceae8dc98b5e35b2e7ed47c4b8ebacfe84a74e6\n\n# tcId = 237\n# special case hash\nmsg = 36333936363033363331\nresult = valid\nsig = 3066023100a538076362043de54864464c14a6c1c3a478443726c1309a36b9e9ea1592b40c3f3f90d195bd298004a71e8f285e093a023100d74f97ef38468515a8c927a450275c14dc16ddbdd92b3a5cae804be20d29c682129247d2e01d37dabe38ffb74808a8b7\n\n# tcId = 238\n# special case hash\nmsg = 33333931363630373935\nresult = valid\nsig = 3065023100bbe835113f8ea4dc469f0283af6603f3d7a3a222b3ab5a93db56007ef2dc07c97988fc7b8b833057fa3fbf97413b6c150230737c316320b61002c2acb184d82e60e46bd2129a9bbf563c80da423121c161decd363518b260aaacf3734c1ef9faa925\n\n# tcId = 239\n# special case hash\nmsg = 31343436393735393634\nresult = valid\nsig = 30650230679c3640ad8ffe9577d9b59b18ff5598dbfe61122bbab8238d268907c989cd94dc7f601d17486af93f6d18624aa524a3023100e84dd195502bdcdd77b7f51d8c1ea789006905844a0e185474af1a583bab564ee23be0bc49500390dceb3d3948f06730\n\n# tcId = 240\n# special case hash\nmsg = 35313539343738363431\nresult = valid\nsig = 3066023100f6f1afe6febce799cc9b754279f2499f3825c3e789accef46d3f068e2b6781fd50669e80c3c7293a5c0c0af48e068e35023100f59cc8c2222ed63b4553f8149ebecc43b866719b294ef0832a12b3e3dbc825eeab68b5779625b10ae5541412ec295354\n\n# tcId = 241\n# special case has", + "h\nmsg = 35323431373932333331\nresult = valid\nsig = 3065023100f46496f6d473f3c091a68aaa3749220c840061cd4f888613ccfeac0aa0411b451edbd4facbe38d2dd9d6d0d0d255ed34023000c3a74fa6666f58c4798f30c3779813e5c6d08ac31a792c2d0f9cb708733f26ad6bf3b1e46815ae536aa151680bdee2\n\n# tcId = 242\n# special case hash\nmsg = 31313437323930323034\nresult = valid\nsig = 3066023100df8b8e4cb1bc4ec69cb1472fa5a81c36642ed47fc6ce560033c4f7cb0bc8459b5788e34caa7d96e6071188e449f0207a0231008b8ee0177962a489938f3feffae55729d9d446fe438c7cb91ea5f632c80aa72a43b9b04e6de7ff34f76f4425107fd697\n\n# tcId = 243\n# special case hash\nmsg = 3130383738373235363435\nresult = valid\nsig = 30660231008bb6a8ecdc8b483ad7b9c94bb39f63b5fc1378efe8c0204a74631dded7159643821419af33863b0414bd87ecf73ba3fb0231008928449f2d6db2b2c65d44d98beb77eeadcbda83ff33e57eb183e1fc29ad86f0ba29ee66e750e8170ccc434cf70ae199\n\n# tcId = 244\n# special case hash\nmsg = 37333433333036353633\nresult = valid\nsig = 3065023100e3832877c80c4ed439d8eadcf615c0286ff54943e3ae2f66a3b9f886245fea470e6d5812cef80c23e4f568d0215a3bfc02303177a7dbf0ab8f8f5fc1d01b19d6a5e89642899f369dfe213b7cc55d8eaf21dd2885efce52b5959c1f06b7cac5773e5b\n\n# tcId = 245\n# special case hash\nmsg = 393734343630393738\nresult = valid\nsig = 306502306275738f0880023286a9b6f28ea0a9779e8d644c3dec48293c64f1566b34e15c7119bd9d02fa2357774cabc9e53ef7e6023100d2f0a52b1016082bd5517609ee81c0764dc38a8f32d9a5074e717ee1d832f9ea0e4c6b100b1fd5e7f4bc7468c79d3933\n\n# tcId = 246\n# special case hash\nmsg = 33323237303836383339\nresult = valid\nsig = 3066023100d316fe5168cf13753c8c3bbef83869a6703dc0d5afa82af49c88ff3555660f57919a6f36e84451c3e8e5783e3b83fe3b023100995f08c8fec7cd82ce27e7509393f5a3803a48fe255fcb160321c6e1890eb36e37bcda158f0fa6899e7d107e52de8c3c\n\n# tcId = 247\n# special case hash\nmsg = 323332393736343130\nresult = valid\nsig = 306402300b13b8fd10fa7b42169137588ad3f557539a4e9206f3a1f1fe9202b0690defded2be18147f5b2da9285c0e7349735ea302300478ad317b22a247bf9334719b4c8ee84acf134515db77e6141c75d08961e1e51eaca29836744103de0f6a4c798d3eeb\n\n# tcId = 248\n# special case hash\nmsg = 3934303437333831\nresult = valid\nsig = 3065023015804429bcb5277d4f0af73bd54c8a177499a7b64f18afc566c3ce7096bdc6c275e38548edcfa0b78dd7f57b6f393e49023100d5951f243e65b82ba5c0c7552d33b11f1e90fde0c3fd014aac1bb27db2aaf09b667c8b247c4cdd5b0723fba83b4f999e\n\n# tcId = 249\n# special case hash\nmsg = 33323230353639313233\nresult = valid\nsig = 30650230359247c95776bb17492b7bf827f5f330fa9f9de7cc10441a1479c81776ce36cdc6a13c5f5149c4e39147a196bb02ed34023100f6ed9252a73de48516f4eabab6368fbff6875128af4e1226d54db558bd76eec369cc9b285bc196d512e531f84864d33f\n\n# tcId = 250\n# special case hash\nmsg = 343134303533393934\nresult = valid\nsig = 3065023100a557d1f63a2094f683429ecb35a6533bac897682775c0051e111eed6e076c48867cae005c5e0803800b050311e381cd602302a2f871efcf03cf1c8f509e076aaa2a76f1ea78d1c64804ea5b063b0324b8e98eb5825d04370106020ee15805dbedf81\n\n# tcId = 251\n# special case hash\nmsg = 31393531353638363439\nresult = valid\nsig = 3065023100f22bf91169b4aec84ca84041cb826f7dfc6f33d973f3c72433b8a0ca203aac93f7eed62be9bea01706402d5b5d3b0e6502307841d3bc34aa47e813a55c25203c5ec2342d838d5b4638c2705dcf4bac9c24f765b5d4c28fa3c7fda7a38ed5048c7de3\n\n# tcId = 252\n# special case hash\nmsg = 35393539303731363335\nresult = valid\nsig = 30660231009c196e39a2d61a3c2565f5932f357e242892737e9adfc86c6609f291e5e6fdbb23029ff915a032b0c5390ba9d15f203e023100d721e28e5269d7813e8a9aed53a37e652fec1560ca61f28f55ab4c262cc6214eee8d3c4c2ba9d1ba0ba19e5e3c7484a7\n\n# tcId = 253\n# special case hash\nmsg = 323135333436393533\nresult = valid\nsig = 30660231008ba1e9dec14d300b0e250ea0bcd4419c3d9559622cc7b8375bd73f7d70133242e3d5bf70bc782808734654bacd12daea023100d893d3970f72ccab35555ae91ebcfed3c5bfc5d39181071bc06ba382587a695e02ed482f1a74fe309a399eaee5f5bc52\n\n# tcId = 254\n# special case hash\nmsg = 34383037313039383330\nresult = valid\nsig = 306402302f521d9d83e1bff8d25255a9bdca90e15d78a8c9ea7885b884024a40de9a315bed7f746b5da4ce96b070208e9ae0cfa502304185c6f4225b8c255a4d31abb5c9b6c686a6ee50a8eb7103aaef90245a4722fc8996f266f262109c3b5957ba73289a20\n\n# tcId = 255\n# special case hash\nmsg = 343932393339363930\nresult = valid\nsig = 3065023100d4900f54c1bc841d38eb2f13e0bafbb12b5667393b07102db90639744f54d78960b344c8fbfbf3540b38d00278e177aa02303a16eff0399700009b6949f3f506c543495bf8e0f3a34feb8edd63648747b531adc4e75398e4da8083b88b34c2fb97a8\n\n# tcId = 256\n# special case hash\nmsg = 32313132333535393630\nresult = valid\nsig = 3065023100c0169e2b8b97eeb0650e27653f2e473b97a06e1e888b07c1018c730cabfdeeec4a626c3edee0767d44e8ed07080c2ac4023013f46475f955f9701928067e3982d4ba5a58a379a66f91b74fad9ac8aee30086be6f41c9c2d8fb80e0924dedbe67e968\n\n# tcId = 257\n# special case hash\nmsg = 31323339323735373034\nresult = valid\nsig = 306402302e868871ea8b27a8a746882152051f2b146af4ac9d8473b4b6852f80a1d0c7cab57489aa43f89024388aec0605b0263702306d8c89eed8a5a6252c5cead1c55391c6743d881609e3db24d70ead80a663570020798fbf41d4c624fcb1ce36c536fe38\n\n# tcId = 258\n# special case hash\nmsg = 32303831313838373638\nresult = valid\nsig = 3065023100abe6a51179ee87c957805ecad5ccebca30c6e3a3e6dbe4eb4d130b71df2bf590b9d67c8f49e81bf90ce0909d3c2dab4c02307110582fab495b21bd9dda064fbd7acc09d0544dcf7699be35ad16207ffa10e8904f9241a709487ba2ba7e34430b81c3\n\n# tcId = 259\n# special case hash\nmsg = 343534363038393633\nresult = valid\nsig = 3064023050252c19e60e4120b7c28b2c2e0a588e5d107518cd61e5c7999c6d465ea134f752322d8b83f5988fcdc62bd9adb36ccd0230193899352491dabfe4fc942e14ddacb200673729d61602cc0baf5732d262f36e5279865a810ce2f977f57686a0d0137a\n\n# tcId = 260\n# special case hash\nmsg = 31333837363837313131\nresult = valid\nsig = 3066023100eb725fdd539d7de8ea02fac8db6ec464f40c272a63e6b2718c4e0266bf1235dae330f747a6052f4319ecbe7bdade9bd0023100ae84507648ba2d1944bb67722ccd2cb94b92b59e89a1ae698c668bb57f481c42b216c23da4b1d8c0e502ef97fda05ad0\n\n# tcId = 261\n# special case hash\nmsg = 32303331333831383735\nresult = valid\nsig = 3064023025aa56fcbd92f2cf53bddbaa0db537de5843290731c1dd78036fcbded4a8f7187ddfed9f5ca9d98ea7b12d24b8d29d570230028f68372d66164810bf79c30a191116d496fe32314605dc1668289425fb3a15d7532dde1052a49a35866c147abde1d9\n\n# tcId = 262\n# special case hash\nmsg = 323535333538333333\nresult = valid\nsig = 3065023054bf7adc8548e7cae270e7b097f16b5e315158d21b0e652ce1cfe4b33126ba4a65bf227b4cddcaf22d33d82478937b20023100bfc1b8f1d02846a42f31e1bd10ba334065459f712a3bbc76005d6c6488889f88c0983f4834d0bf2249dbf0a6db760701\n\n# tcId = 263\n# special case hash\nmsg = 34363138383431343732\nresult = valid\nsig = 3066023100d3bb29ac0bd1f6058a5197f766d6ea3216c572ded62af46318c8c7f9547bb246553654279d69989d9af5ef4ccacf64da023100e10281122c2112a2a5a9d87ac58f64fb07c996a2d09292119e8f24d5499b2e8524ebd0570097f6cc7f9c26094a35c857\n\n# tcId = 264\n# special case hash\nmsg = 31303039323435383534\nresult = valid\nsig = 3066023100bc32e85e3112472408f9324586e525325128a38313c34b79700cb0a3f7262a90a1fcc40eef1f1a3884032a7a21810e0a023100c02f52541360358107a13dbea31f83d80397710901734b7adb78b1fc904454a28a378514ccef80ecc70c1d8e55f11311\n\n# tcId = 265\n# special case hash\nmsg = 32373536343636353238\nresult = valid\nsig = 3066023100f04b9e17c71d2d2133ea380d71b6b82c8a8e3332703e9d535b2c2bca9b0ad586d176a6049afa35edd9722edb5c33daa3023100bd44d4a6263380ca6f22e76c26d5f70f41f4d7cae7d4b9c1b8dc2ba5298d9d12408b04614e2f3796cc19c950c8c88a10\n\n# tcId = 266\n# special case hash\nmsg = 313139363937313032\nresult = valid\nsig = 3065023100c8807351d8e261338e750cb9a52f4be4470b63f6f181cbe0e81d43b60824ba4be1bba42b1783897a0d72b0614018b02f023052e3a598c8be982127e961eed2b04f21c86df4ebcab0d955a7c66ec7f818898798ee75367a85022276b912c0a072bff7\n\n# tcId = 267\n# special case hash\nmsg = 323333313432313732\nresult = valid\nsig = 306402306152841b6fb460546eeb4158a3e5ffa54f51aa6a208987be899b706055cd59d8ec7c01f4634254fe050e1d4ec525a173023073f0c5f13640d892c28f701428e8fbfb736b6478bbd972c8c684977556ed599a70d313e06b126080e13068d56e1c10be\n\n# tcId = 268\n# special case hash\nmsg = 31363733343831383938\nresult = valid\nsig = 3066023100842f8d2814f5b7163f4b21bd9727246e078ad1e7435dfe1bc5f9e0e7374232e686b9b98b73deab9e43b3b7f25416c2be023100852c106c412300bac3ba265990b428a26076ab3f00fd7657bbd9315fa1cd2a1230a9a60d06b7af87aa0a6cf3f48b344c\n\n# tcId = 269\n# special case hash\nmsg = 31343630313539383237\nresult = valid\nsig = 3066023100e13f6d638b9d4fba54aa436a945cfea66dec058fab6f02629326", + "5884457b5a86e8e927d699bc64431b71e3d41df200440231009832cd1b4177118ed247b4f31277da15f420179f45c71a237d77f599a45df68247bac3dcef0868ecd1665005c25b7c6c\n\n# tcId = 270\n# special case hash\nmsg = 38393930383539393239\nresult = valid\nsig = 3064023009fff1c2e4ff8643cbfad588620c2bf7aaca5cf4242969142c7145b927bd82ed14f3ae8c6e2ce2da63b990b9f1be6d640230780c816f6c86343b008235ee986abf2136123ed247e4751e4d5467334f08e5e2ca1161254f68c3e6678e2d0b87d1cc7c\n\n# tcId = 271\n# special case hash\nmsg = 34333236343430393831\nresult = valid\nsig = 3066023100ffae6e7d2cea71b5a9c73cbc1285a8d252949772afe1aa27fb137740fc429c2a8c8648c9a5ba678a32f7ae7689b395ca02310089d54cd13a162c34189ff524813690e79768af8ebe794cc941dfe7fdf2cb8dd0b42519f034ea4d4f1c870046d13210e1\n\n# tcId = 272\n# special case hash\nmsg = 32333736343337353537\nresult = valid\nsig = 3066023100efa3c5fc3c8be1007475a2dbd46e3578bb30579445909c2445f850fb8aa60aa5b1749cc3400d8ffd81cb8832b50d27b4023100b36a08db3845b3d2ebd2c335480f12fb83f2a7351841ea3842ec62ad904b098efbf9faa7828b9c185746d9c8bd047d76\n\n# tcId = 273\n# special case hash\nmsg = 383630333937373230\nresult = valid\nsig = 3066023100f577095f7c74594aa1c69aca9bb26e0c7475ae5163058ecc074b03af89e56b12b6a72450589dacf0d7e6b172d0017a0e023100bee756a0b5d0a677bf95f98da512854f3ecb712f94570e1ad230eab17c527b6a8bcc9ae202b657a3611ecffa94ba0d54\n\n# tcId = 274\n# special case hash\nmsg = 35383037373733393837\nresult = valid\nsig = 306502300ae7688c7de5882eb9c3172f5500015552f998fb53702c6cd4b03404d5a0510a8073db95db544808dbd76659fd20cf12023100bc610fe5f04d8909cc439615fb7e302d3d82992817647c50c1f467090a52b328cbbc0262f18ffb6fd9f3bd60013cea08\n\n# tcId = 275\n# special case hash\nmsg = 353731383636383537\nresult = valid\nsig = 306502305dc8a6d84afaaf900d78c6a91dc5e12e7d17891a52c1468253061d704b8940bef85b9fe807a0e02b56e8dd37c22fbb82023100914258de52932c4604dceb5ce7cc0a92e021edca9b819b84a9f25652f9af13f956a1139ee95c7aa7a079e3ad8317fbdb\n\n# tcId = 276\n# special case hash\nmsg = 38363737333039333632\nresult = valid\nsig = 3066023100da55a6dbb845205c87c995b0bbc8444ffcba6eb1f4eb9d30f721d2dacc198fb1a8296075e68eb3d25ef596a952b8ea19023100829f671dccad6d7b0b8c4b39ff3f42597965d55c645fb880a66fe198d9344c9311f1598930392470379fa5ff43c75d04\n\n# tcId = 277\n# special case hash\nmsg = 32343735353135303630\nresult = valid\nsig = 306402303730dfd0985de77decdd358a544b47f418d3fab42481530d5d514859894c6f23b729af72b44686058de29687b34b3b0c023065bdfaf0ac217a80b82eb09c9f59c5c8cfbf50a6eb979a8f5f63eab9bd38ee0938e4b23102112033b230a14ad2790e3f\n\n# tcId = 278\n# special case hash\nmsg = 393733313736383734\nresult = valid\nsig = 3065023055210df2124c170e259af1dafa73e66613aa18ced8eb40a7f66155d50d5f3124edfa55276de4797013177291e8afeff6023100c314d3a310a60647dad3318ed7f0405a64c3f94b5ac98e6be12208c8ad9835fa6b81a0ea59f476608634657b66e00ffd\n\n# tcId = 279\n# special case hash\nmsg = 33363938303935313438\nresult = valid\nsig = 3065023100f6c9897144b5d84964515eb0c8c3d0d9c6687c957887e93c29b2a21804b40307fb88bfd5cca11c95885d28867cb33a740230656bafca242290f7d7e9801b6cfd4bd1b07e8d7c6c1c59fd3d8e82e9846a1b2855c85420e4ee6ec2d97fec2161eeb243\n\n# tcId = 280\n# special case hash\nmsg = 3130373530323638353736\nresult = valid\nsig = 3065023100bfbcc5f343e2ab392ce6c1c02d91c00650c47136836a5d0622d476ac2b3274395721b1ab21882ed5cabed093b43b133f0230043e9fc64c6108df73f9eced90f91185f83d89662f5a9d810c1824fbfd97b842f784305fd6b9c28c80d32d52b1538d12\n\n# tcId = 281\n# special case hash\nmsg = 383639313439353538\nresult = valid\nsig = 3066023100b8f793ddd47e657a9081cbed1600fb22b38ad6a155f9c006ba98de1f383b4c0918ceea72253e0f869524b2369cd9bd8c02310096c452ff58f42e0853040a6d5c7e750b57dd4af06e2df8194e8d524e81ac000ee3315bbeabbf6a21f61b8904c55378d9\n\n# tcId = 282\n# special case hash\nmsg = 32313734363535343335\nresult = valid\nsig = 30640230263ab1c93567e93b5ec4e380b0d3bb5ea1ce693c14a47afccc539aaf197f099d331ea9e26f1a0057148d46727acb61880230621db07ce94110e2be74fa953a00a8a554225b3f2c0f6c56b4ebd4db2f57ca2565ed3323fd708bb56ac6e28bfb40f2e7\n\n# tcId = 283\n# special case hash\nmsg = 363434353530373932\nresult = valid\nsig = 306502310096f4a2b3529c65e45a0b4c19c582dc8db635d4e74f0b81309696b23be920ba8ec553d4b370df4c59d74dd654bac6df5802301573ba1b280c735a3401d957ecd3b8908e4e0b7d80239ce042594d182faf2ddf811c9056aac4c87f4f85043766a26614\n\n# tcId = 284\n# special case hash\nmsg = 353332383138333338\nresult = valid\nsig = 306602310096a691b19a6294b311a438f8da345e480b1deaa1e940cfbf02177d5f08479976ea58aee31011d50b5542be188c9d63df0231008f67dc9e1588aeb8be180013d41a036f9badfad9fe9340910cbf87243776f54bef7da2ebf3a7643866eb9a3b23fe59b9\n\n# tcId = 285\n# special case hash\nmsg = 31313932303736333832\nresult = valid\nsig = 3066023100cff27948c6d902c73d103d0802eb144dd89c1b0e3b9f9a5e498b0361dc122a0d555160d8c64d61539c1dbbd4bc18971f023100b60827488c9f16ba28378fd59b1a29c65073335a7f236131134674c62c8396f193c76f2395ddaaa4f24b69161eb69b4d\n\n# tcId = 286\n# special case hash\nmsg = 31353332383432323230\nresult = valid\nsig = 3066023100e90e22d9e535dfdfd86e098d5d6a0ae08f69d4a3ffaa39f6930bcf5f5ad02ee0d0472ae984edd9f0bbe5e7d63fd4f6ac023100e3f57b0a4629ecaa21f2d34a7a0834d57ba20f99c6e31b43c37811cc23b9957c8f3356f4462214d3c8e58745e50f23f6\n\n# tcId = 287\n# special case hash\nmsg = 313536373137373339\nresult = valid\nsig = 3064023018b70e272a98cc48e1e0af73146f0f972bbfbeb6b985feb2c4acd695a7a41b99c415be9c46aedaf3ddff67a65a89e387023047d6bcea088f622ad35d88bcf46d71827bcba2f57c36d6fb8a4bf2befdc0d4e3ef366d5966c4d076d3cfa43d6626717b\n\n# tcId = 288\n# special case hash\nmsg = 34333033303931313230\nresult = valid\nsig = 3066023100acfd981c55fd5286cfce173726d51c3d25f65b11b7673729a62167256774f7c894b74662a212c706e00cef096074162f023100f4d471c97797c24d96aec1de85a249ef468d6036cd712563aeb65cea4995f3ee85e769b874f09a08637a44a96084be7a\n\n# tcId = 289\n# special case hash\nmsg = 37373335393135353831\nresult = valid\nsig = 3065023100f15fcbeea8b64dad5e8566a2c37913c82d6be9d9668df469bd0b591c3923a6e12644eaf697d466fa7cd513983d946a40023070063966801079351526999e5c5c2c5f627e4c8bc96784bcbe715fe7c7afcf69785d1c8c7ccd3725e364101638396597\n\n# tcId = 290\n# special case hash\nmsg = 323433393636373430\nresult = valid\nsig = 3066023100d995147939ae6d8f62bb57372227395839e25a0d4308b899d5f506cf9e0a01e8115b7e4b822f037ec95752bd9e892f5e0231009bb4d07333e468f8482a790a2a2e650e2c42da8240ec5e402506b368122f046680cd71e0117897cce3df4a1555fc8876\n\n# tcId = 291\n# special case hash\nmsg = 34333237363032383233\nresult = valid\nsig = 3064023043c6ce5184476f3f496afeae3cb96a3f9f038957686c93437b8266a233022371d266e904aa096c3566cb33824b88075e0230680c13245a8bc560b638d26f0c5f261964130256939552d3fffb07b658355611612c268a89541055d3c2bf9e82cf4da3\n\n# tcId = 292\n# special case hash\nmsg = 32393332303032353932\nresult = valid\nsig = 30630230447539941dc350767fc841083d25d9247a0807e1e22e0bb9d94f504f721981b413d521efbd75e4fe831ee26338cf3de3022f395ab27ea782cee4be53e06c7616bbd41d6926b18d219d75d5979f13cba2f52101019b0ec0a41ffdbf29ef73ddba70\n\n# tcId = 293\n# special case hash\nmsg = 36343039383737323834\nresult = valid\nsig = 3066023100a0ba8e8b979c20345e34fca98531900164a859923bd6986a9c39236a2f5de053a252997f35e5b84b0d48ba0f8d09aedd023100facd6df04358fcd95fa9018a6fc0828dfe319812ff65929c060b18ad4b9f06e7fc0addd1b695315d71c15e51dc51d719\n\n# tcId = 294\n# special case hash\nmsg = 36303735363930343132\nresult = valid\nsig = 3065023100b8378390f71f0bb6663f1846daf6908f8c84f770ae740cc8054122494cf0ffa9437ab26040ca22808fb29a810b70126e0230427636b929a500abc34d9f22977b81e734919afaf3ed2c91eeada7074e0c16bdc52f960eaec9db5a879c1e6414035101\n\n# tcId = 295\n# special case hash\nmsg = 32333231363233313335\nresult = valid\nsig = 3066023100f36a9048fd94803d3d6d1b11430b90b94ef8d5d2ad89018c69473ce9cfe0d6105b3c2fb2e7555ccd25f65af8c872bdc602310081254841e7ecbfd0d810afaaf5afd6d6c5d0542bb00cc183b1db01767120afbcc0006ddcba8db7baf65f302723dabc4d\n\n# tcId = 296\n# special case hash\nmsg = 36343130313532313731\nresult = valid\nsig = 3066023100d8a4d96409c191baa9540bf35f1d5192f9352d7f0e14f92c0e8e1f19f559b42ed3c6b7bdb6becc56584fb5c09421e2e4023100d966ba13d4245e248eafb46f2a3df92c2037d5969c7db6dbcb0ff4b21850e16a18a29785267239886365cf721a212536\n\n# tcId = 297\n# special case hash\nmsg = 383337323835373438\nresult = valid\nsig = 306402301d5d86fd48e65b0cf0b0b46062241f89cf65785dd818f93f1162771a38a15f20febc261812ecaaf6f4f2b86b3362d7eb02300c76e363de1432513cb9dad6493931381ecd25f142e61968b6f20d7b", + "1270cb9e38a7ae54e4778aff4025eb00c6a67aef\n\n# tcId = 298\n# special case hash\nmsg = 33333234373034353235\nresult = valid\nsig = 306402300508eed148f061114be18e8a86188feabf76b873b36eadcca9c2c60e24a2002fe456231decf7a8f6f032c08dbe0ab5a90230694c0ad781b2341e30e1d0739ac99672064f48821a69852c7940cf1d621738199c980d56d2a0b71b3fc6011c6b2444ba\n\n# tcId = 299\n# special case hash\nmsg = 31343033393636383732\nresult = valid\nsig = 30650230726ef88bb7947a043116c111cb519ddeda3e6ffbf724884a1b22c24409cdf2779d93ce610c8c07411c2b001399103d6d02310095dc1d65046caf0e8dad07b224798d6f7807278e737883e7c7bf0b446791d4ee144c26f710134861af4e6771d4082896\n\n# tcId = 300\n# special case hash\nmsg = 31323237363035313238\nresult = valid\nsig = 3066023100eb0e8e3c639f5eba8eccd9020d0ec62d8ac73f3fddbdfa08fdb2155deb0a536923ebd55e20020cab9f8e39a43a88be11023100c796df399fc35883dd5dae6817d02d3d67a8eec6601585e5e36fd2c134eddb1447ec12b144dddc9aae28a84f22602641\n\n# tcId = 301\n# special case hash\nmsg = 34393531343838333632\nresult = valid\nsig = 3065023100e8f8c69d0396ea900f9757736d2b19dbc2d2a8c01dccf490c8b9455bd63b34c095867e7cf3b84dc7c3c3d6b51bebf405023058152a7564eeb22a3e26597026d0cd7835725bd512245448cb5016eb48ea759809fd6949d0ee5d579643f72f908c16bb\n\n# tcId = 302\n# special case hash\nmsg = 32343532313237303139\nresult = valid\nsig = 30650230380b4e48b3ff012af7c08bf871d9f4da0c708b5494a986d3d80b1979e579d0dbee61db9bc3c04c396176410788e15a0f023100e6971c013c965a7e4df10f95620a5092fab096bd5b50828f4bc91c5e479bccf6e0daf287e7ef580fa9ea153fa1a507a2\n\n# tcId = 303\n# special case hash\nmsg = 31373331353530373036\nresult = valid\nsig = 30650231008061de12029e2b000d157a455ecf2301222f092df95b9551b78cf0ef3a64f12212b57ec7b16d2c0f258946f51cb1633a02300ac2ca6ad99b29ca29a0dc38b34443ee41020f81ed9087cef7681a00c4fe60653a572944ba37f1fe51d112bfffbdd701\n\n# tcId = 304\n# special case hash\nmsg = 31363637303639383738\nresult = valid\nsig = 3066023100e74f2a791eeb7341cff6cc1c24f459e6c0109924f7984639ae387e3ceb58758a1bc3839dea1fc3a3799562225e70a733023100d90e4d0f47343268e56bbcb011bd4734390abc9aa1304b6253e78f5a78b6905aa6bf6a3892a4ae1a875c823ae5a83e87\n\n# tcId = 305\n# special case hash\nmsg = 343431353437363137\nresult = valid\nsig = 306402306a1cd0ff7906be207b56862edcbc0d0bbfb26d43255c99f6ab77639f5e6103a07aa322b22ed43870d1ce6df68aa0a8c10230655558b129aa23184500bd4aab4f0355d3192e9b8860f60b05a1c29261f4486a6ae235a526339b86c05f5fac477b6723\n\n# tcId = 306\n# special case hash\nmsg = 343233393434393938\nresult = valid\nsig = 306602310081111fdc5f0de65583c7a5668d26c04ee52e08dac227753132cff1741cb721e112aa793c0d5fa047faf14cb45dd13e1f0231009a25cf1e6c152bc3e216e021561d194979f1c11fe17019ed7bac2c13c4010f209665e3b6f33b86641704d922b407818f\n\n# tcId = 307\n# special case hash\nmsg = 34383037363230373132\nresult = valid\nsig = 30660231009b66d122a315095b2b66ccb97272c476a2d760e827fdea05732d634df3d066569c984dd941aad5f5dec4c2e1b7b94a0002310096c32403c85bc3d0ee87f96a600182796dce53d54d7467ae660a42b87bb70792f14650ac28a5fa47ce9ca4d3b2c25878\n\n# tcId = 308\n# special case hash\nmsg = 32313634363636323839\nresult = valid\nsig = 306402302bb062a002088d62a0b7338d0484fedfe2af7e20cebf6a4788264eb27cb4ebc3cc81c816e6a35722cf9b464783094cb8023046cc21b70f2133f85ab0443bebe9c6fc62c6e2ec1fd9c4ddf4a6d5f3f48eb7abf1ee7bdf6725879fd1b7daafb44f6e04\n\n# tcId = 309\n# special case hash\nmsg = 31393432383533383635\nresult = valid\nsig = 3065023033e87061ee9a82eb74d8bb4ae91606563c2e4db8b09183cc00d1119ab4f5033d287a1fc90a2348163fdf68d35006fd7f02310096db97c947ee2e96e6139d3bcbf5a43606bae1ad3ca28290fbad43b281ef115ec1b98bc581ef48094f8c1aa8e36c282a\n\n# tcId = 310\n# special case hash\nmsg = 32323139333833353231\nresult = valid\nsig = 3064023070f80b438424ba228a7d80f26e22ff6a896243c9d49c75573489ee0de58ec60efd103838143465bd8fe34672ba9496170230115492bd9365b96f38747536318bffb819e7c146df3a5a7a46d6288c7fdf31cff570b22176aa398daba9073ab1e7b9bf\n\n# tcId = 311\n# special case hash\nmsg = 393236393333343139\nresult = valid\nsig = 3066023100ff16ca0389ea6948f4305b434fe0aa589f880f5aa937767c31170ee8da6c1ad620c993d40ddf141b7fda37424d51b5cd023100ba0f86985dffc61d6e35a37de06918b11e431b72403161acfb8f05c469f1fcfa6e215c6f7eb5a0a5e0cc9e7be79ce18b\n\n# tcId = 312\n# special case hash\nmsg = 373639333836333634\nresult = valid\nsig = 3065023100d60c24bee05f5198cd155ad095ffb956bbcfb66b82fc0d3755119915a62f2f923557b85ddc1d12e6a757f23042cb601b02302c4d968b5eac930b51d283b418fcff6df3a9d6d66e3812cd1bf5fde797fd203a7c439b1b381e4fe8b44e6f108764a7dd\n\n# tcId = 313\n# special case hash\nmsg = 32373335393330353733\nresult = valid\nsig = 3066023100bdf634d915a4fae7a155532ca2847c33a6babe7ef8db0af50f485db3dd2c8bffe722394583932f6eb5cd97f6db7561d9023100bb425cae2e5483174b5ed873af4329da4618c14458141850bee3c7bf1ffb3f2030159043277dacc708e9d32f63400083\n\n# tcId = 314\n# special case hash\nmsg = 38333030353634303635\nresult = valid\nsig = 30650230061320a3bcebac33cf399d45d1e1e1b34f37288fe4753f4fddfd496eff427e1d26b1b91d749cc34c12f4ecef837c0e8f023100fd5cf468cda319fe06e773a190c38de6e150a321ac1c416ad875432cdb7a07134c446f13068e71a1a96e35da923974ad\n\n# tcId = 315\n# special case hash\nmsg = 34333037363535373338\nresult = valid\nsig = 3065023100d620f063d33efa859b623f6c9a92340e4cdd854ffbe3e5e01379177aee31715ce587b00bd0aea98fddf236d2fc8a7a740230671f4b7c187297dc236c61888b6d9397e97783077cc4101807d79ee62e4a53a78c4b6a3a31b03178668af894a3d8902e\n\n# tcId = 316\n# special case hash\nmsg = 39363537303138313735\nresult = valid\nsig = 306502310091c556c5bddd529fe903b86afc0eb8fa1f49425b779a39114ae563bebc947e633ba4ee98948faa8940dfe2562c63e1c50230198b00079d8db072d25b0a49bc8bc36457926f3c101527528df6679f92c76f1b487e6695d4b92fe33b4ee7046a6a5df9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[key.wx = 4bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85d]\n[key.wy = 00d30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[sha = SHA-384]\n\n# tcId = 317\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# tcId = 318\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[key.wx = 3623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6]\n[key.wy = 768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[sha = SHA-384]\n\n# tcId = 319\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[key.wx = 00d516cb8ac8e4457b693d51", + "92beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd5]\n[key.wy = 008456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[sha = SHA-384]\n\n# tcId = 320\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[key.wx = 00a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a9]\n[key.wy = 0092a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[sha = SHA-384]\n\n# tcId = 321\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[key.wx = 554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd322511]\n[key.wy = 71312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[sha = SHA-384]\n\n# tcId = 322\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020101\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[key.wx = 44ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591c]\n[key.wy = 00d027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[sha = SHA-384]\n\n# tcId = 323\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020102\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[key.wx = 00e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390]\n[key.wy = 00e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[sha = SHA-384]\n\n# tcId = 324\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020103\n\n# tcId = 325\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[key.wx = 05e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab]\n[key.wy = 0088a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[sha = SHA-384]\n\n# tcId = 326\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[key.wx = 0bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1]\n[key.wy = 00ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[sha = SHA-384]\n\n# tcId = 327\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[key.wx = 58f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566]\n[key.wy = 497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[sha = SHA-384]\n\n# tcId = 328\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[key.wx = 00fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12]\n[key.wy = 00998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fde", + "ea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[sha = SHA-384]\n\n# tcId = 329\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[key.wx = 1b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51]\n[key.wy = 00c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[sha = SHA-384]\n\n# tcId = 330\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[key.wx = 1734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403]\n[key.wy = 00ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[sha = SHA-384]\n\n# tcId = 331\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[key.wx = 52ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c7]\n[key.wy = 0087a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[sha = SHA-384]\n\n# tcId = 332\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[key.wx = 00bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c44]\n[key.wy = 3adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[sha = SHA-384]\n\n# tcId = 333\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101\n\n# tcId = 334\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[key.wx = 00f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bdda]\n[key.wy = 00c4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[sha = SHA-384]\n\n# tcId = 335\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04370d9e2e31c712c8028092f802319d7fdf5b3319a8518d08bed3891508c7060cfe2236e18fa14fe077093ceae633e5430fd79aacf9d16ecc19b12d60fba4998dfc682702ec7c8bdd4a590035773b8c9c570ac7dcd414e03252f7a0e6f53b5863]\n[key.wx = 370d9e2e31c712c8028092f802319d7fdf5b3319a8518d08bed3891508c7060cfe2236e18fa14fe077093ceae633e543]\n[key.wy = 0fd79aacf9d16ecc19b12d60fba4998dfc682702ec7c8bdd4a590035773b8c9c570ac7dcd414e03252f7a0e6f53b5863]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004370d9e2e31c712c8028092f802319d7fdf5b3319a8518d08bed3891508c7060cfe2236e18fa14fe077093ceae633e5430fd79aacf9d16ecc19b12d60fba4998dfc682702ec7c8bdd4a590035773b8c9c570ac7dcd414e03252f7a0e6f53b5863]\n[sha = SHA-384]\n\n# tcId = 336\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b902307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04941e6cfa356e572dcccaeb594b06955d99dc4bf07958fc98ffa17de11c7521bf2c7aa8ff260952fcb7aac078ede67b4790a78a0296b041a10f003df1998da4cc4a1614ebcbf5d239431f33d90d3023edc1802e8db6dabcbae67cc314da2aabab]\n[key.wx = 00941e6cfa356e572dcccaeb594b06955d99dc4bf07958fc98ffa17de11c7521bf2c7aa8ff260952fcb7aac078ede67b47]\n[key.wy = 0090a78a0296b041a10f003df1998da4cc4a1614ebcbf5d239431f33d90d3023edc1802e8db6dabcbae67cc314da2aabab]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004941e6cfa356e572dcccaeb594b06955d99dc4bf07958fc98ffa17de11c7521bf2c7aa8ff260952fcb7aac078ede67b4790a78a0296b041a10f003df1998da4cc4a1614ebcbf5d239431f33d90d3023edc1802e8db6dabcbae67cc314da2aabab]\n[sha = SHA-384]\n\n# tcId = 337\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b902307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294ba\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[key.wx = 3ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383]\n[key.wy = 00d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043e", + "cfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[sha = SHA-384]\n\n# tcId = 338\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[key.wx = 4150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4]\n[key.wy = 00eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[sha = SHA-384]\n\n# tcId = 339\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec63260230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[key.wx = 00e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992f]\n[key.wy = 00f34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[sha = SHA-384]\n\n# tcId = 340\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[key.wx = 00ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c09]\n[key.wy = 0a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[sha = SHA-384]\n\n# tcId = 341\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[key.wx = 3d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c1]\n[key.wy = 39aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[sha = SHA-384]\n\n# tcId = 342\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[key.wx = 00ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd00]\n[key.wy = 1ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[sha = SHA-384]\n\n# tcId = 343\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d49a253986bbaa8ce9c3d3808313d39c3b950a478372edc009bc0566b73be7b05dad0737e16960257cc16db6ec6c620f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[key.wx = 0088738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab252]\n[key.wy = 009388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[sha = SHA-384]\n\n# tcId = 344\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230285090b0d6a6820bbba394efbee5c24a2281e825d2f6c55fb7a85b8251db00f75ab07cc993ceaf664f3c116baf34b021\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[key.wx = 00f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36]\n[key.wy = 00b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[sha = SHA-384]\n\n# tcId = 345\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b39af4a81ee4ae79064ed80f27e1432e84845f15ece399f2a43d2505a0a8c72c5731f4fd967420b1000e3f75502ed7b7\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[key.wx = 399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d", + "4b39e62fd48bae141d0e]\n[key.wy = 1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[sha = SHA-384]\n\n# tcId = 346\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100af4a81ee4ae79064ed80f27e1432e84845f15ece399f2cbf28df829ccd30f5ef62ec23957b837d73fe4e156edccd4465\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[key.wx = 1578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c]\n[key.wy = 76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[sha = SHA-384]\n\n# tcId = 347\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02305e9503dc95cf20c9db01e4fc2865d0908be2bd9c733e597e8a5bb7b7a62abdff6dbe3978ae56536d0fb01172ecd55f57\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[key.wx = 33ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab]\n[key.wy = 1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[sha = SHA-384]\n\n# tcId = 348\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02301ee4ae79064ed80f27e1432e84845f15ece399f2cbf4fa31a3ae8edab84dc3330a39f70938e3912bd59753de5aed3088\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[key.wx = 040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33dda]\n[key.wy = 00e5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[sha = SHA-384]\n\n# tcId = 349\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bb51cd3ba8eb201f53ddb4e34e08c0ff7dff9378106784d798d5a3440bd6dc34be3a0eaef8776619a0c97fefb15720b3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[key.wx = 0098d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b7923]\n[key.wy = 0099a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[sha = SHA-384]\n\n# tcId = 350\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e707e267ea635384a6da09823149f5cb7acbb29e910d2630c5fb5afbc42aa8436349b214a3b8fb9481ec999e005091f8\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[key.wx = 00d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5]\n[key.wy = 00f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[sha = SHA-384]\n\n# tcId = 351\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100acc4f2afb7f5c10f818175074ef688a643fc5365e38129f86d5e2517feb81b2cd2b8dc4f7821bfd032edc4c0234085d9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[key.wx = 0082f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d31]\n[key.wy = 008a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[sha = SHA-384]\n\n# tcId = 352\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083276c0793f0a19742422f8af671ccf965fa7d18d541bef4c05b90e303f891d39008439e0fda4bfad5ee9a6ace7e340c\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[key.wx = 00f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f99]\n[key.wy = 0090f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[sha = SHA-384]\n\n# tcId = 353\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100942848586b534105ddd1ca77df72e1251140f412e97b62afbf85d4822309176b5965453dee3fab709e14156b3dfcecca\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb", + "591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[key.wx = 00f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fed]\n[key.wy = 00e85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[sha = SHA-384]\n\n# tcId = 354\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[key.wx = 14249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a]\n[key.wy = 28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[sha = SHA-384]\n\n# tcId = 355\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[key.wx = 50a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6c]\n[key.wy = 00bdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[sha = SHA-384]\n\n# tcId = 356\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[key.wx = 4d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd]\n[key.wy = 680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[sha = SHA-384]\n\n# tcId = 357\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[key.wx = 63d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13a]\n[key.wy = 00a9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[sha = SHA-384]\n\n# tcId = 358\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[key.wx = 00d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c4]\n[key.wy = 009ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[sha = SHA-384]\n\n# tcId = 359\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[key.wx = 31f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b4782314003]\n[key.wy = 5bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[sha = SHA-384]\n\n# tcId = 360\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[key.wx = 00bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3]\n[key.wy = 00c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[sha = SHA-384]\n\n# tcId = 361\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a2762762762762762762762762762", + "76276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[key.wx = 6fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4]\n[key.wy = 375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[sha = SHA-384]\n\n# tcId = 362\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[key.wx = 00baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cd]\n[key.wy = 00ecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[sha = SHA-384]\n\n# tcId = 363\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[key.wx = 0081e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317]\n[key.wy = 00cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[sha = SHA-384]\n\n# tcId = 364\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[key.wx = 41fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e7]\n[key.wy = 1c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[sha = SHA-384]\n\n# tcId = 365\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[key.wx = 00e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]\n[key.wy = 572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[sha = SHA-384]\n\n# tcId = 366\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34\nflags = PointDuplication\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[key.wx = 00e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]\n[key.wy = 00a8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[sha = SHA-384]\n\n# tcId = 367\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34\nflags = PointDuplication\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[key.wx = 00b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba]\n[key.wy = 01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[sha = SHA-384]\n\n# tcId = 368\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[key.wx = 6e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a]\n[key.wy = 4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[sha = SHA-384]\n\n# tcId", + " = 369\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[key.wx = 00b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a]\n[key.wy = 1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[sha = SHA-384]\n\n# tcId = 370\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[key.wx = 6761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc2736]\n[key.wy = 05c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[sha = SHA-384]\n\n# tcId = 371\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[key.wx = 6922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab26]\n[key.wy = 55854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[sha = SHA-384]\n\n# tcId = 372\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[key.wx = 00892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233]\n[key.wy = 00cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[sha = SHA-384]\n\n# tcId = 373\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[key.wx = 01634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf222]\n[key.wy = 31e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[sha = SHA-384]\n\n# tcId = 374\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[key.wx = 675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f61674456]\n[key.wy = 3e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[sha = SHA-384]\n\n# tcId = 375\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[key.wx = 0fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676]\n[key.wy = 00f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[sha = SHA-384]\n\n# tcId = 376\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[key.wx = 34d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f7]\n[key.wy = 0086f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56d", + "f63acfde648f3f5002dbc239ffd1582]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[sha = SHA-384]\n\n# tcId = 377\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[key.wx = 4376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b]\n[key.wy = 290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[sha = SHA-384]\n\n# tcId = 378\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[key.wx = 10878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b4]\n[key.wy = 3036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[sha = SHA-384]\n\n# tcId = 379\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[key.wx = 036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f]\n[key.wy = 009c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[sha = SHA-384]\n\n# tcId = 380\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[key.wx = 2783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a40441994]\n[key.wy = 1a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[sha = SHA-384]\n\n# tcId = 381\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[key.wx = 00fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb]\n[key.wy = 620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[sha = SHA-384]\n\n# tcId = 382\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[key.wx = 00aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[sha = SHA-384]\n\n# tcId = 383\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 384\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[key.wx = 00aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 00c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[sha = SHA-384]\n\n# tcId = 385\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d3817", + "9023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 386\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]\n[key.wy = 009a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[sha = SHA-384]\n\n# tcId = 387\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 3064023032401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f02304326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753\n\n# tcId = 388\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 3066023100d7143a836608b25599a7f28dec6635494c2992ad1e2bbeecb7ef601a9c01746e710ce0d9c48accb38a79ede5b9638f3402310080f9e165e8c61035bf8aa7b5533960e46dd0e211c904a064edb6de41f797c0eae4e327612ee3f816f4157272bb4fabc9\n\n# tcId = 389\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 30650230234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0705498c023100cd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf\n\n# tcId = 390\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 306502305cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18d023100bf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[key.wx = 00ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]\n[key.wy = 00acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[sha = SHA-384]\n\n# tcId = 391\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023007648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed02310099fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f\n\n# tcId = 392\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca44074102303970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2\n\n# tcId = 393\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30650230441800ea9377c27865be000ad008eb3d7502bdd105824b26d15cf3d06452969a9d0607a915a8fe989215fc4d61af6e05023100dce29faa5137f75ad77e03918c8ee6747cc7a39b0a69f8b915654cac4cf4bfd9c87cc46ae1631b5c6baebd4fc08ff8fd\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[key.wx = 00d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]\n[key.wy = 00c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[sha = SHA-384]\n\n# tcId = 394\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402303244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a65290230501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93\n\n# tcId = 395\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402305e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b02307e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955\n\n# tcId = 396\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306502306688e36a26f15bdc1c3f91367f8a7667f7bb3e30a335d6f0900e9534eb88b260cb29344c723fedfbe7ac9c5a33f4bf0d023100aa35fddf0fdc9017860b378f801cd806f3e2d754cd2fd94eb7bb36a46ce828cef87e9ebbf447068e630b87fee385ad8f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]\n[key.wy = 00e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[sha = SHA-384]\n\n# tcId = 397\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb48023004cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae\n\n# tcId = 398\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a220230201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40\n\n# tcId = 399\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100d9c678550167f10c511e62acb4bd0a3f7f336bc090c94e6c6b02622439c348a2159c5f41f9b5aa4b470590d40dcd7cc202301fd5eaee295abb4081cb626745f4ad279ceb44604062830b58e6c0465c562d41f02ba588fc0db1ebbe339cdc008d7a1b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]\n[key.wy = 00d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300", + "e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[sha = SHA-384]\n\n# tcId = 400\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023020fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81970231008141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16\n\n# tcId = 401\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f0230649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551\n\n# tcId = 402\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3064023023855c46403a97b76cbb316ec3fe7e2c422b818387604bda8c3d91121b4f20179d9107c5f92dedc8b620d7db87fccccd023050f57343ab148e50662320c4161e44543c35bc992011ea5b1680b94382cf224ea0ec5da511e102f566cb67201f30a2ee\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[key.wx = 00fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[sha = SHA-384]\n\n# tcId = 403\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d21e84593a023100c2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799\n\n# tcId = 404\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306402306ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e0023032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835\n\n# tcId = 405\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e19a4646f0ed8a271fe86ba533f8be4fd81bbf4674716f668efa89a40cac51eec2a6cfbd92327d25efe91ca4ff712bc502304a86b2e8e12378e633dec2691e3b1eed4e932cc48b28e45fa3d464cc0e948c02cc9decf2bb43b25937fcf37e9ad86ef0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[key.wx = 00fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 00ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[sha = SHA-384]\n\n# tcId = 406\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3064023015aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d02307f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f\n\n# tcId = 407\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306602310090b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47023100cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1\n\n# tcId = 408\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100dd4391ce7557cbd005e3d5d727cd264399dcc3c6501e4547505b6d57b40bbf0a7fac794dcc8d4233159dd0aa40d4e0b9023100a77fa1374fd60aa91600912200fc83c6aa447f8171ecea72ae322df32dccd68951dc5caf6c50380e400e45bf5c0e626b\n\n", }; -static const size_t kLen72 = 186011; +static const size_t kLen105 = 179510; -static const char *kData72[] = { - "# Imported from Wycheproof's ecdsa_secp384r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]\n[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19fbb197e4c4250926e30c5303a2c2d34250f17fcf5ab3181a6\n\n# tcId = 2\n# Legacy:ASN encoding of r misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 4\n# valid\nmsg = 313233343030\nresult = valid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 308166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 306702813100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30820066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30680282003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023200814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202320084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 16\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30850100000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306b0285010000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 19\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028501000000310084f5ef11d22f", - "22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3089010000000000000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306f028901000000000000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 22\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306f023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202890100000000000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a02847fffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 25\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202847fffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 27\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a0284ffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 28\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20284ffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306b0285ffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 31\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20285ffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306e0288ffffffffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 34\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20288ffffffffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 306602ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 37\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3066028000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 40\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202800084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 41\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 42\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 43\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 44\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30680000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b4981773066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a25003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50d", - "bf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b2236498177023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a22352500023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306e2233023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20004deadbeef02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223649817702310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235250002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306eaa00bb00cd003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306caa02aabb3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306e2239aa00bb00cd00023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306c2237aa02aabb023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22239aa00bb00cd0002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 61\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306c023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22237aa02aabb02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 62\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30803066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 64\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 306a2280023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 65\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30803166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 306a2280033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 68\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228003310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 69\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3266023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 74\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 75\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 76\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 306a30010230653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7\n\n# tcId = ", - "78\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 30653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 79\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 80\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd00\n\n# tcId = 81\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd05000000\n\n# tcId = 82\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd060811220000\n\n# tcId = 83\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000fe02beef\n\n# tcId = 84\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0002beef\n\n# tcId = 85\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30683000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 86\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd3000\n\n# tcId = 87\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 88\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3033023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2\n\n# tcId = 89\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308199023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 303302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 30340202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3034023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30680233000000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023300000084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035028102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3035050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066013100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd78", - "1c837355ddd41c752193a7cd\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066043100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066ff3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e201310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e203310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e204310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2ff310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035020002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 306a22350201000230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235020100023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023102814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310284f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a156202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a74d\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a1502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7\n\n# tcId = 125\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30670232ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 127\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20232ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 303609018002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 129\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2090180\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 303602010002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 131\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2020100\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e8980842845d38217e2bcceedb5caa7aef8bc35edeec4beb155610f3f5502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e898084284644bb7cded46091f71a7393942ad49ef8eae67e7fc784ec6f02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065", - "02307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9bb4483212b9f6e08e58c6c6bd52b610715198180387b139102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231fe7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7ba2c7de81d4331124a3558510743ca12113b414eaa9ef0c0ab02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e5fd3ad1cb7a61dc9507f6eeb2a65341ad0cac035dfee58d140\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e6044e681b3bdaf6d91cf3acfc5d3d2cbdaf0e8030a54ce7e5a\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231ff7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231fe7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a1a02c52e34859e236af809114d59acbe52f353fca2011a72ec0\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 144\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as ", - "r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634", - "d81f4372ddf581a0db248b0a77aecec196accc529720201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100f", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 217\n# Edge case for Shamir multiplication\nmsg = 3637323636\nresult = valid\nsig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf5656840231008f8a277dde5282671af958e3315e795a20e2885157b77663a67a77ef2379020c5d12be6c732fd725402cb9ee8c345284\n\n# tcId = 218\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 3065023100d51c53fa3e201c440a4e33ea0bbc1d3f3fe18b0cc2a4d6812dd217a9b426e54eb4024113b354441272174549c979857c02300992c5442dc6d5d6095a45720f5c5344acb78bc18817ef32c1334e6eba7726246577d4257942bdefe994c1575ed15a6e\n\n# tcId = 219\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 3065023100c8d44c8b70abed9e6ae6bbb9f4b72ed6e8b50a52a8e6e1bd3447c0828dad26fc6f395ba09069b307f040d1e86a42c022023001e0af500505bb88b3a2b0f132acb4da64adddc0598318cb7612b5812d29c2d0dde1413d0ce40044b44590e91b97bacd\n\n# tcId = 220\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 3065023100d3513bd06496d8576e01e8c4b284587acafd239acfd739a19a5899f0a00d269f990659a671b2e0e25f935b3a28a1f5fd0230366b35315ce114bffbb75a969543646ee253f046a8630fbbb121ecc5d62df4a7eb09d2878805d5dab9c9b3880b747b68\n\n# tcId = 221\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 3065023100b08c4018556ca8833b524504e30c58346e1c0345b678fdf91891c464a33180ed85a99bc8911acf4f22aceb40440afc9402304a595f7eed2db9f6bd3e90355d5c0e96486dc64242319e41fc07be00a732354b62ec9c34319720b9ffb24c994b1cf875\n\n# tcId = 222\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 306502302b08f784617fd0707a83d3c2615efa0c45f28d7d928fc45cd8a886e116b45f4686aee97474d091012e27057b6ba8f7e6023100c440aa6ecb63e0d43c639b37e5810a96def7eec8e90a4c55e5b57971c48dfb4e850232fbb37bd32bb3b0523b815ff985\n\n# tcId = 223\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 306402300609f4ec120c8838bda916f668e9600af7652e1d3f7182734f97f54da5d106bbfd216c32f227b76d583de1c53949b2ee023046926dffc766ff90c3b921b3e51a2982a1072314c1fdfb4175de7adea5a6f97bdff587a473504a9c402aac7c05bd4785\n\n# tcId = 224\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 306502305ae2220e4716e1ef0382afcc39db339e5bd5f05e8a188d4a5daaab71c6c35263ee8820a34558092877449ebb15898c5c023100c4d38e2e85451c43ee35b0c56196cbf3059acf2b8b529f06dc1de9b281d9b0f3f3983df8936e944ab0b18330a342ee88\n\n# tcId = 225\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 30", - "65023051fb84ed71d436c737ab24e2a45c68f8f623748be2caebd89e02bfc89309b8350042ab1b97849b9f680f044a58765175023100d4a8f60791657a8c12985fd896ac77e7d95cb050582f2466471dc2c6dcf90db05ce34beadbfcfe690dc56c0cc9944007\n\n# tcId = 226\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 3065023040159290d161df6b3f81a92cefb6df56149d588e7b886bf24939f5c8b6bb515d325b3764f0ed284a77fa9081ccfa5237023100bd55dfb47709287ce7b88dfd96ac7543eeba9bd31b8c91f203d2b90418122406399c80a53539b81f1cb60fa3b23a2563\n\n# tcId = 227\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 3066023100d7fb9f53865cdf9d4cad6f66981aea35a1454858ceb678d7b851c12a4c6644fe1915a4b219b51389a5ae2c98a433cc3a02310094ad75c3dea88740205cab41032dfe149341cf4ee94dcd2f0c8bbe5af5860b30b5e1f764b2c767b09fd10761050c989c\n\n# tcId = 228\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 30650230157ef8f85cdb9257983d06a7f29674752659097364b401e701705b3bd9ead884fd32141320ae76ae05f6fc7ec155d6c2023100ccadc3851020e41dd91bc28a6c073409136a47f20b8dbf2553fd456a8ed5fa7e73e4ec59dca499e0d082efbb9ad34dc7\n\n# tcId = 229\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3066023100e763001769c76f6a6d06fad37b584d7f25832501491bec283b3b6836f947dc4e2cef021c6c6e525b0a6a3890d1da122a023100acbd88729cce3992d14ec99e69ff0712b82a33a1c1e8b90e1399c66fe196f7c99bdb3ff81db77dc25ae6f0c1a025117d\n\n# tcId = 230\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 3066023100c6425b6b046ec91ebc32b9e6de750e5d3d36d4ddc6dffd25ba47817385a9466f6fc52259c7d02c66af5bf12045b5659d02310084cdc06e35fecc85a3e00b16488eac3584942f663d8b59df111c0650139d7cda20d68dccae569d433170d832147bc94c\n\n# tcId = 231\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 306502303061f090e4932133a0e08ac984d1c8d8d4f565e21cf15427671503880341265cd44f35a437ee3c3a8857579dd7af0c3502310093ae374a0f63dcbe41a1b7b07a50faf2b33f35e0b6600bb36aa5cda05238640fa35c635c0fa78e1410f3a879bbb8a541\n\n# tcId = 232\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 306502300ccc627f35454cc84e08a828f5bd5f5e41eeeaa40475bcc2e71ff372e8c718a5e179d3b7f2d7051db9060c4c978eb638023100b12d0240afbdfc64c60861548c33663b8960316a55f860cc33d1908e89aa6fc9519f23a900e0488fa6a37cfb37856565\n\n# tcId = 233\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 3065023100e72419fb67ebbcc0de9c46ce5475c608f9de7e83fc5e582920b8e9848000d820d393fdac6c96ea35ce941cb14951640002306aa19934ef60f4a247bc261ba256283a94857a268f42a0939c95a536fbd4f8e1f1c285a7b164c12213abb9e3393cbe9f\n\n# tcId = 234\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 30660231008b740931f9afa8a04c08cde896b7fdd9aca3177d5e4a3e5a51e54bfa824b66ab11df4e90f49798d644babfede7830224023100afd91e7ce15059a5b5499e5aef4afa91fd090e4e5029b3f4348f0d4349df11745869f9255117eea405a78af5dd6a646d\n\n# tcId = 235\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 3066023100989024bce204a7539fbd2b185ecf375590d873177c1ff26bbf755838ae5bcde180054663702ac3a4e68fe8b58fd88c70023100bdbedf64e424dbd7f979f83adef3fc85077fa76f8b1724815b5b8c24fde7fbd72f4b369a415d9bbf565cdc459bdce54c\n\n# tcId = 236\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 3064023022624fc23403955c0c9f5b89871177fa53879c8424de3b4ab1bcbcddc6e57b870b0491b848e19f728722b3163f4aa32802305bb82642cdaa84d6977fb95b3ede4ec7f2d54881cf435636d3509816f13ebb7be24fd7d4e1e81fddf07bde685e8d630d\n\n# tcId = 237\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 3065023100da5a2daa7437df4566ebba6ac5ed424655633e354ef4d943dc95ddefb0dae69f3616e506cc8cb5bc433a82ba71f6feb402305107b24041bba45073ce54488a5aef861e7805bbb8f970aedc1c59149cfe72c7025e2d117337e8677c88ef43374e6907\n\n# tcId = 238\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 306402302b0659fb7fa5fc1fce767418c20978de9a6a59941fc54f8380619b2ab2a7d6039de5373fbb503c24f2ce38e9c57995de02300d94dba98dd874bfffeac96a9295b6ab667708b8e33252edc029574c484a132135b13e52db6f877987c1be4f51fca193\n\n# tcId = 239\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 306402304a5a14f1ecf053bf3ec14843db8c7dd153e9545d20d76345a9e1d1a8fcb49558ca1ee5a9402311c2eaa102e646e57c2c02301573b8b4b633496da320e99a85c6f57b7ee543548180a77f7fced2d0665911cb4cde9de21bc1a981b97742c9040a6369\n\n# tcId = 240\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 30650230104e66e6e26c36633c0af001f0d9a216236816923ec93b70bea0a8ff053a15aaaef5fe3483e5cc73564e60fe8364ce0e023100ec2df9100e34875a5dc436da824916487b38e7aeb02944860e257fd982b01782b3bd6b13b376e8a6dbd783dfa0d77169\n\n# tcId = 241\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 306402304b06795da82bda354e8d9422a76c7bc064027fcdd68f95b7bc6177a85b2d822c84dc31cb91fc016afa48816a3a019267023018e31018e312d3dd3dd49ec355fdb0def3bb3e44393c26cf1bc110b23a3aacf6c442bfcec5535ce37527d0e068f75c03\n\n# tcId = 242\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 3066023100ad75ca5a3df34e5a6d3ea4c9df534e8910cfb1d8c605fc398fbee4c05f2b715bd2146221920de8bac86c2b210221bcff023100a322d3df3bb2cf9e4215adf1ff459e70f2f86bec6dd6af5d04ae307d21ed5955136c8e258fdc0f9cbd6cf89c31aa691f\n\n# tcId = 243\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 3065023100b0fa6289cc61bab335932ea1ac6540462653cc747ef67827825f77689a4398602297835d08aa16e23a76dea9f75404ef0230278d654a0b50c57d13f9c9c8c7c694001167f8e3b71491772a7427f1410fb6de518740c22e455e58de48846479b300cc\n\n# tcId = 244\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 3065023100c216cb4fe97facb7cd66f02cd751155b94fa2f35f8a62ba565aca575728af533540ff5d769b7c15c1345ab6414e150680230278a8a372b75d6eb17a4f7c7f62d5555c7357a1a047026bead52185cbcc01d73b80a1577e86220b2278da2b1ee8c983a\n\n# tcId = 245\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 30660231009591c80453cffbcd0b8d6d20fce0cbb2a458e54aed7ba1c767e6c017af4c4aa07a76859c0b249f6692a3c9ace893f14e023100893b567cd2959cd60557d3d6013d6e1741421a6edc5bc18244b3e8d7744e57928ce006a3fbd6e6324cb8ea3e5177e7e3\n\n# tcId = 246\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 30650230350b5515ba9785f149e2a566c14f4178757bb325179888f526f7db11161aedcd752551381316c2713f5de21d3d517af002310097d48a90c3bb3444736bec69db0649f82428b39238ada6048a0bead84f2f3b73816b48fed4d57b5f87a194ce4004ed7b\n\n# tcId = 247\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 3066023100833210c45d2448d9a4d69622d6f2193e64c65c79d45d62e28f517ca5c68eef05a2e98b1faed4cc87cbdbec6fe6bb8987023100b777b44cd30e6a049dc56af19a251d955c1bbab0c307fe12e9e5382fd48c173db0292f0b1047da28ee18518e11688eea\n\n# tcId = 248\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 306402307728ef10d9d5f3f32132716e6b403926929b05201700658d4b7f25a0692f153b8d666fd0da39888ab6234212659268d0023055df9466ee2c98225a2b0c4ff77622f9d11b4e48aa7f9279cdc2e245fdd9b9f4282106e25a458ff618bc3ca9422bea25\n\n# tcId = 249\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 30640230552040701dba17be3b4d5d6e136ce412b6a4c50ce1ee53415d8100c69a8ee4726652648f50e695f8bb552d0df3e8d1c402301374972b2f35b2fd86d45ed0c9358b394e271575e429ac8aa60eb94b9df7e755d9317fb259269e9d3b1db8d48d91dc7e\n\n# tcId = 250\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 3065023100fe6ef07056ce647128584bec156b68b8005f42d8c85dfb122134c488cc0e72cf8f06700417d7ff694b45e894ec23cbbd02307f5e33c5bfa697c144d440b32d06221f630a9ccaa8e9a0489490c04b86e8daae0e41d2466429b4b3cc1d37348e36cc0b\n\n# tcId = 251\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3065023100e009fc1a13d282bd37f10693350a5b421a0039713d29cb9e816e013c173bd1ec2bd6eb6bd88429023ee3d75d9a5ec06f02300b8bd481982a6e52355bcde5fe0092abac41f0543c31d1928b9a585e63e9520e24a65f46db2696e1b85a65c4e5240879\n\n# tcId = 252\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 3065023100acee00dfdfcee7343aeffa8514b11020c5435027887529d255bdbd45a90f160c68f05bd4b567daa8fa14e5807f5167a402301c9fdf546190970aa33121a3043280669be694e5f700b52a805aa6101b4c58f0467e7b699641d1d03f6229b2faf4253f\n\n# tcId = 253\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 30650231008a4ee1e3bb251982475877d18763fafcf49ccc8b0fec1da63b0edccbb8d3e38608a2e02d0d951031179e12ac89", - "9d30c3023073cb62ad7632cd42dff829abfbfcb6165207e3708ed10043c0cdee951c7f8012432696e9cf732dcbadb504630648419f\n\n# tcId = 254\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 306402303903b59f837ff5f41f42cbe3e2fc8e17d859cbb35386c4327d3947fb012b3629fea911c83cefdbd503aebbcc1114afd102300e5be9094b5a22ade00c24644f476baad0f7741dfb2ce9644a1c45769404f8dccc522017c2b8cc630f1a0ef5fee99fe8\n\n# tcId = 255\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 306502307717ffc8d0811f357299423c56ec181c58f1981f5c1dd4f346f6a2ad71d3582e203a11e8609c1146ff3247a1820f832c02310096c89ec707da3cd8b09084b065e3265327a536a974c4285155388011e348f2e7f005ae7e3e502732fc2971ac13fd72c0\n\n# tcId = 256\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 3065023100a21519ce3533c80826f1e47fa9afde7096151144291134421990285a8d89a8c2d4afdadd547a923dcc17bfcdd0e9ffb9023040577245dd2e022c8ed8b5de7b8c26f31307429a7a64e5729311cc4128e3b486867e61b4a8a1cd0731792eb1466d08f3\n\n# tcId = 257\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 3065023100a727addad0b2acd2942cb1e3f7b2917ca65453275198b06436a993bfc982d3f54620c395e253d57b8fe026efcf7252f902307a19811aa4c12c45c3c041e7c614d0d98051ca7a0c57a9a107d552793ba1d0debb373525aafcc13ae1acd50a42a89adf\n\n# tcId = 258\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 3065023022287277872d175d8a3ff5be9818658f845eb9c1b2edc093ae82a75aa31cc26fe1771b4bfbd4c320251388d7279b5245023100b47d1833867e889fcfd7ac171855293a50aa6db24c6522e374fe87be12bf49b13c8b5e1455a2f25aa7912f799eebe552\n\n# tcId = 259\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 3065023100a0f41362009b8e7e7545d0f7c4127e22d82ac1921eb61bf51e9ea711e41557a84f7bb6ace499a3bc9ebca8e83728787b02301f6e0c15a3e402370885e2aceb712280ebc45b63986357765b7e54b06cd00db8308e4715c39d48d246030bf960e6a2ff\n\n# tcId = 260\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 306502304144e1c6ad29ad88aa5472d6d1a8d1f15de315f5b281f87cc392d66d7042547e6af7c733b31828f89c8a5dafce5bb9af023100f5d0d81f92428df2977757c88ba67f9e03abd4c15b1e87fa1dd49e601a9dd479e7c3dc03a8bfea60fcfc1c543931a7de\n\n# tcId = 261\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 306402305f177fc05542be6e09027b7eac5eb34f34fc10ad1429e4daaea75834de48dd22626f2bf653dfcc46234921d19b97406b02307def6c993a87560425f2c911046357c4b1c4c376bfa22bb45d533654fea6f565ba722147b2269ea7652f9c4af62ed118\n\n# tcId = 262\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 3066023100bd77a8ff0cd798d8f6e75dfbbb16c3ee5bf3f626dcb5abdfd453b301cb4fd4caee8e84dd650a8b4cf6655dea163788c7023100ef8f42394469eb8cd7b2ac6942cdb5e70dd54980ad8c0c483099573d75b936880459c9d14f9e73645865a4f24ee2c4ce\n\n# tcId = 263\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3066023100a02e2196258436da6a35a2f73cf6b08880f27757566ce80c7fc45f5dcbaec62d3fcebb784b4a650e24c1a997e4b971f7023100f1195d2ba3321b6938e04169d7baf605001b6311f08a5e82157a7675d54993f2fd1e41f8c84fc437a1a139d2e73e8d46\n\n# tcId = 264\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 30640230686c5dfe858629125fdee522b77a9b9be5e03a347d79cb4c407f17fd25c97293cd99711f33e77814bd30d2453d3a86c10230509ac9b18c1b2b5a2b1b889d994b950743a988c2fcfb683e89211a43da6ee362c2e414d84fe82db1904b81701c257822\n\n# tcId = 265\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 306502310083ce818ecd276432a8ddfe75406d01329e76d7586cd6f611c1fe1a0913ad80014c2156381942d58dd6356e44ccdc52a8023036a35983b97a9ae2a19cf05ba947dd880c973d5c78f9676ebbcb0b40d639124030c137236232f1fad15afd71c52ad8ec\n\n# tcId = 266\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 306502307cb78ebb712b5a2e0b0573d28440a5da36bd2338805d90ef3b0c1178ae613be8ae8bf548af4e7403e5a5410462afc2e30231008631a82cbdb8c2c7df70f012405f06ad0ab20d6c4fbceb3e736f40fdff1a8e5f6e667a0e77259f277494de84ec0de50d\n\n# tcId = 267\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 306602310085110fe21156b7764b91bcb6cf44da3eb21d162395071c216a13b5920d67a31aaa20dfc4669cf32c04964d0831bcdc29023100e19187033d8b4e1edf7ab8eaaae1e13c80c0c4db51d921ccf62f424524cbd530d07de2cf902a0ecda5e01206ae61e240\n\n# tcId = 268\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 306402300fd621a892ee5a3eb0bcb80f3184714a6635f568d92f41ad8d523887d5b82d2b930eb5ff2922fda1a3d299f5a045837f02301278725a607fa6f2fc7549b0de816fe2f88e3a1ec1ccaf9fb58e70a0f6646c2d7aad6e4f73d116e73096bdef231d0c89\n\n# tcId = 269\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 3066023100802cbe405d3ce9663b0b13c639aa27730b3377ce42521098ae09096b7fc5e7ac998b6994344e89abfb50c05476f9cae80231009aa7258c0dc4eff4b2d583575368301e2a7865cfaa3753055a79c8b8e91e94496a5d539181c2fd77941df50fe87453cd\n\n# tcId = 270\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 3066023100859b0446949d7f78a0301ac4cc02b599a758fd1be006bf1a12570015869e59b9a429ce1c77a750969f49e291f6ab899402310099a812a1acc2c646814315cf9b6290d2232236cdf131f9590088e75a55786cdfc9d9027ec70056408ab55445fd79fe60\n\n# tcId = 271\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 3065023100dbcc7ee9fa620e943193deae3f46b3142779caa2bce2df79a20639c8d01bce414a61f72764c1ec949c945320f5ee2a1d02301d9879787b880bd05db39bac07bfe3e7d0792932144e211e81f21da9621b83bff11bc52bcc7cb40cf5093f9bad8650fb\n\n# tcId = 272\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 306402307a1f9fbd0f6e776c3e3a3c798f5c0d9e20f0e2f3f4d22e5893dd09e5af69a46abc2f888d3c76834462008069275dfeb9023045e6d62a74d3eb81f0a3a62902b8949132821b45d8e6cad9bb3d8660451727cdf7b332a9ac7bb04604991312143f8a6a\n\n# tcId = 273\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 30640230047962e09e1b61823d23726bf72b4dde380e032b534e3273db157fa60908159ab7ee4cadce14fd06ebe8e08e8d8d5a0702301892f65ee09e34ce45dd44b5a172b200ce66b678b0e200c17e424e319f414f8dfbb2769a0259c9cc105191aa924e48d5\n\n# tcId = 274\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 30660231008f02799390ab861452cd4949942cbbcc25cad7c4334c4bc6146fbef8ad96c86f923fbf376d9ab79073e5fcb663f1ea91023100ce15d9862d100ff95ad7368922eec3f6d7060ce412c01ff13870aa61626ee49edf39bb27005ecbe406bb6825f74c0438\n\n# tcId = 275\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 306502301879c4d6cf7c5425515547575049be2a40c624a928cf281250f8bdcbf47e9f95310d0992c9887dc6318b3197114f358e023100e1116bf68320bade7d07a1a9651512d60b551af8625b98b5eb8ca222d4073ae5c140a80e5dbe59f073647daa00837aee\n\n# tcId = 276\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 3064023031dced9a6767f39045472749baec1644ae7d93a810a4b60eb213c02c42de65152ffc669af96089554570801a704e2a2d02303022ecfbc88a72b9c50ef65344765b615738f2b3d420ade68cbf3ec40bef0e10c5cc43bcfe003bb6f17ec23802c40569\n\n# tcId = 277\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 3066023100f4bdf786c61c5f1ce7568638ba9dbc9a134e27fc142003bf9870353980a8f4c2fbd03c8d0171e4048ef30db6fe15388a023100d0e96768bc6adc91f93ae5704e86888853f479f32a45bfd436dc8a030603d233c56880124b7971362aa11b71315ae304\n\n# tcId = 278\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 3065023100ec0f635b7ce31988a07f41b3df35ca03c70e376bfb3b6ab24831a83be2121b9f9e93928b10a8f5fc0322bdb9edd406fe023066618ccb473c6dac3b14cfab6dfb24d219b37aec63425067c2c1c631d64a80b9cab6445f5a5439adb28bb99daa9234a5\n\n# tcId = 279\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 306402304f2bea24f7de57901e365d4c332ddb62d294d0c5fd58342a43bdd3ba5cbaf25adaddb5944bfef9dcc88f94d93650bbbb02300851b97ddc433e4521c600904970e2bf55aa901e1aaaaf06818377f84a28e033a49eebc21ffe9cff3cbefd0963fbed00\n\n# tcId = 280\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3064023072a9bab30f8da1437f17115cc37b6ef8cf6591ed934d596675ad7b000c6a74cca5f37210a68228a58023790e3726c357023012d697c4e20b18f63a3e0164dca8ca4a5fa0058ad7cd1c571cef356e85fd8f56ab7963d8aba824e8d31efb3e690c27b9\n\n# tcId = 281\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 3064023033b7105f4cc98a1ea2abad45dbbe3761b4613ddd350e62da91560da694be3e84b1684f9a8ee4b3f556c61d02af54446202302c86e3a216dc7dd784cdcbf5084bdf6cdc1c7e67dbd61f9f6ed161fda4d4c26167e5b12731cf2b0cf5d9a5f0b6124939\n\n", - "# tcId = 282\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 30640230252e3b5b60b8f80748b83623e30013723115cabcc48770c0ab6e7ee29c429ef1d9da78db3a9a8504133b9bd6feceb82502301ba740f87907cf6d450080f7807a50f21c31cd245dd30f95849a168d63b37628e8043c292ab7f130a4468eaf8b47e56d\n\n# tcId = 283\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 3066023100b8694dbf8310ccd78398a1cffa51493f95e3317f238291771cb331f8e3a9753774ae3be78df16d22b3fbe9ad45bed793023100daaead431bbdbf8d82368fbbd2473695683206ee67092c146b266ed32f56b31cb0f033eebf6c75118730eef7b7f96ba7\n\n# tcId = 284\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 3066023100d37ba39cd1b5289e7aa3f33afefa4df6821a07d3e8ee1c11e7df036c37e36214bb90264633d4c395644cd2cc2523833f0231008b0d58ed75af59e2abbcec9226836f176b27da2d9f3094f2d4a09898136436235025208cf5444265af66fed05b3dc27c\n\n# tcId = 285\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 3066023100b4ef419020c0dcbdeeeed76c255560f1ed783c0f9e7fcea4c08a0714b9d1f491fda9ae7bb1eb96d294b02799f82861290231008d987611063d2f28cb309a56eaf1ea65f27d95c97b77a5f037f2f914fed728267aaf62a37f3c7b44fc4b15125b349863\n\n# tcId = 286\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 3066023100b2df7b11cf60ac93c078d19f37f889717aa5d9af1d00d0964f9e9f5257c3b51b3d3e47ca5b5aa72058ed63b52464e582023100b524968ea8c58d379e38f4cfa9da1527a2acb26d605d22f173fcf1e834db0d7f031cb9245cb62b8458ff499b8d3decbe\n\n# tcId = 287\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 3066023100e0edc08b4122b75ebbd1635d07f0bb55771bda15573a5081da971955f9a63f6decdd4919911dbfea503ea8ed1faad93d023100ca7850c74ce878587056206c590a1097d197a2090cfe3e057becfa2700c7a531623ae7331e163def693e26a97feb540d\n\n# tcId = 288\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 3065023068f555eef5a323a929719bfd8cf81d6d8a977ecb35defd86fa54d8e5749c7b5f3e80087fbd39f8aa0cd29d8310bd6578023100e2c2314a50fc0ad78c1ec02ea77ee2e13dcef1460957c6b573f721d72c209ac5fb529ab20397234c59ed44f60400971a\n\n# tcId = 289\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 30660231009e330e29f18123813e83b9c6abd68de96a57f97a4005b88d5b470a67a541b6d3af12124cf8658b751671c6698fb8b021023100d210fba9bde6ef077ca06b75e1cf7ce8dd70b08e9dd42d81a215ef9272f1779ae3e9f0dec510571d87237cc6bf3203e8\n\n# tcId = 290\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 30650230483192056f753f64ddf0f21072b73d68893e6fa5432c981c7a1955b6592a6045a5c1c58c383e70023c34e09b7964ec8d02310094b005d5f98c4fd2ad40ff8e03a8599f45e206082112f834df1d48502d2ac690cd3204f0078913794c9c39077ad6c58b\n\n# tcId = 291\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 306402302b7ec14fd77c4b33230dd0a4e2710fbd307e469baec54b6f25daac7e196b7b4b5df251cdddba7bdc9836ca1319bb900b0230590036192586ff66ae9a288199db9d02bbd5b703f8c329a9a1f986001b190f20ae96fe8b63681eda17bac2a57fd40f2e\n\n# tcId = 292\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 306402302611484e7ff47dfaece4aa883dd73f891869e2786f20c87b980055ddd792070c0d0d9a370878126bab89a402b9ea173c02304e0006b8aabe9d6a3c3018d9c87eae7f46461187d3c20b33e975c850599ec1cb52c76e1f507e439afc43f9f682e7a8d2\n\n# tcId = 293\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 306502302d504e38cdb1bb80bf29e07afbc66aea732accc85a722011069988f21eef685084f55efa30bfe32427eb8636db9171b4023100883e3d80d766ccb29e73a9e929111930da8353ec69769785633fe1b4505f9051e78d50c79a6b7c885c10b160bbb57fb6\n\n# tcId = 294\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3064023028dc1b63dc61ecde754ff4913780e486339103178e27d761987dac0b03c9bdf4a4a96b8680fa07fc47ae175b780e896e02305a9898eedf8781b9afeb506e0272a12c0c79bb893b8a5893c5a0a1bf4324d46dde71a245be2fd8aa2975fdeb40adf8f3\n\n# tcId = 295\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 306402304c978a47b9e9449337178aa6413a794c4c9bf182a42062646a469b1d2c2c95621e818e661352b07e63254b6954e1459802306997345f05cfc05c0fd4d1dd133e555e5e5002e0929a59f60bbffc354234783ebf4fe5db10a870952cabd453635c1082\n\n# tcId = 296\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 3065023036d8e2cfc80d0436e1fad3702ec05aa138618cdb745652cb85b0b121ee107bdf1ade0464dc0c6bd16875bcc364044d8c023100898b8775c9b39aa9fd130b5ab77e6c462ced6114898045b7f606142277d9eb2aa897f24c9ba4c8d112111de04dc57c10\n\n# tcId = 297\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 3065023100ce2bdcf924caaa81e79bd7dd983dfeeee91652e4ea6edd077f8b56ada4953733a22dd3a6336446a648aec4ffc367cb3e023008eb09faeef4b0e5c1262eda2127464f7e2981ea1736e80afc7c622461c3d26fe08694fb4914ce9dbba83704e3077b3c\n\n# tcId = 298\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 3066023100e3a1b4b0567d6c664dec02f3ee9cd8581129046944b0e6650f6e6a41b5d9d4bf79d7a6fd54ea5a218492cfa1bb03ca07023100986206925cbfa186c7d88f7100d87dd3b2d03b8789309a722d582f119eef48cd0ea5460917cf27246c31f90e28540424\n\n# tcId = 299\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 306502310095a5e29940e42099c4637f4ae51e7d1ec02be0dcfb0b627030984c35e477e80cc57e7eef970e384dee16a9b9fc8f2bf202300ca166c390339653cde84e79a87e5ceb4f52c1a515a5878542fd82705b9983976fd31a4123b5d0bde95a0818114cf462\n\n# tcId = 300\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 3066023100c30c49d0ba131944e2075daacb1259d5580a712a08f73d889c4d3d484d73dd9719a439a986f48b072c4595c507a01083023100a5595c0691bc2d215f981fab513e3a88a452f2a1433367b99b02b6efe507519afedbe1ad0337899944e29c9ccccb2476\n\n# tcId = 301\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 30650231009fd0585f8740669885c162842bba25323ea12b1d05e524bb945cad4e31538742eda5128f467b3c562c5f0a99019d3406023043acfadd03915c2350e1d8e514c47eb36f3c3456169c9a562a6262c1c2d7d33378bf9fec7f220239d5c61e06414414a4\n\n# tcId = 302\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 306402304ecac0cdbf665c584f8a40614cd55d042706c54895b1de02984fe309122566c959a4dd3315e7d3f089879f8f45821336023009187da6587a3de90eba41f4e6510e711f4467f3122971566ecc39a4bd53e95b8a19380e20ec2a7c752d29de54fd2e8f\n\n# tcId = 303\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 3065023037a1ba49f11e97ad0ec47e687c6c6e94f794f874720c0dd2da501437b50e5b00fb6ed33adf7cf1f9c870fd3d37165bf7023100b3ad08c9886b4ca1593a68938b67142c65ed4da1714c22204cba71300c094ccdbdf84c38a3f6d896db72ed5051a19266\n\n# tcId = 304\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 3066023100a0abe896d2f30207bc9b21e75400eedb88d3498d49806f41aa8e7f9bd815a33382f278db39710c2cb097937790d0236c0231009a29aded30e8ce4790756208d12044e18c34168608026000a883044dd0d91109d866b422a054c232810ddfbb2ae440bb\n\n# tcId = 305\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 3065023100b024fc3479d0ddde1c9e06b63c9bfb76a00d0f2f555220cb9a1311c2deec32eb3d6d2b648f5e8c104d5f88931754c0c20230767950cc149697edbae836f977bd38d89d141ff9774147b13ddd525b7a3f3a14a80d9979856f65b99a6faff173b5d6eb\n\n# tcId = 306\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 306402302a0ae7b5d42645051212cafb7339b9c5283d1fd9881d77ad5c18d25ee10907b7809740a510e65aecd61b53ba3a0f660a02304c0457dd19ef6e4d6ae65f45417ddf1a58c07663a86737d271becfa3ea5724b6018f1fa9e64fd08601a7dbd3957761d9\n\n# tcId = 307\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 306502300c1657320faca6668c6e9f06f657a310b01939a7d9640fa0429872fe28bd1667688bc162221285ecfb14e8d80627450a023100f5272aa08c321aa4f7e520825cc720f6511d635598c648d4d514669b3ad803ad259c799e195a095982f66c176435be21\n\n# tcId = 308\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 3066023100d821798a7a72bfb483e6e9840e8d921200ef1976b7e514036bf9133a01740ce397c73fa046054438c5806c294a02c6800231008c5d12887fcd945ba123fc5a5605d13a5a3e7e781ad69c6103577ee9dc47adc3e39a21080dd50304b59e5f5cf3f5a385\n\n# tcId = 309\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 3065023100c996bd6fa63c9586779f27523d5583135a594808514f98cc44cac1fa5cfa03c78c7f12f746c6bd20608ecbe3060eb068023027d40a11d52373df3054a28b0ab98a91ad689d1211d69919fc04cadc22ff0367d3ef9433012a760c1d1df3715c8d5cf3\n\n# tcId = 310\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 3065023042dd6c8d9", - "95938701a538909ed6aeae0ba50c995138de84e195bbb9c56180e108d4a6274548c7be6e121c4d218d2d4a0023100fae8668bb2003f0da1dc90bec67d354ccbb899432599c3198b96c5ca4bd2324c46998f4fb76a123467cf24570b1b6916\n\n# tcId = 311\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 30650230061f185633291b9a768e15ec03a2b7c356c757b023b61e313fdf0c5349d128a78668d20b2561709b3bd8451b920f12ab0231008fc5edc66410dbf20a7cbc3498e405761756ed39866856e74256ac1f255f62b0edff519762ecdbbc8395d14715c4388e\n\n# tcId = 312\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3065023069326e047c62e8bac5c090b76bf73ae652fa9a6aecfa1ccb8702f419094c9727511264fb1aeec00e425c7a0d746793d30231009dbddd22db4a77dbe16114bc6fbb981aecba7e82a9cbc1ed385e28a51793561770fb3f9696090efca24f268d8788f2c9\n\n# tcId = 313\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 306402304ca1df89b23ed5efcdf601d295c45e402d786a14d62f7261104e4cb05b8cae17abb095799e71173841749615c829411b02301bb777e0a6fee8a2337a436a6fa26a487de4640ff97d57b44b55305989803863d748c7302f2dfde8b8cedd69bb602e2d\n\n# tcId = 314\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3065023067be1b06f67172c503a5ac50582235d30bc9079eaa4cdec69a39c096310f8d99186cc9af7c8b4369a291d3e921d60705023100ab645fc91f06b1ff7cc58fccf6f7cfac74db30d839748a78cb5f3b8fefc7a06f3b5ff0310a8580c6050bebb75eda972c\n\n# tcId = 315\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 3066023100d966442d6c29e5a4cc60e2374eccd373db3ebe405ee7c9664c4273100cd1899a1c58110487528616d8c5321dbf5227640231009bb0e4a2c041a3b7b672029fe480d155f57671ecd6eb598660d025acce1f613d03cd6cff4a214131c8c7a8ad22df1397\n\n# tcId = 316\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 3064023008a84a2bc39b082ab82e6e45f088a36f1cb255f97ec8124eca929d4506d7dab63957c647994be2c2c7344f902de5b38f02300c9645e84a304ba0970ca5ce00b8c8a971fa0d0bcbec6a70134894c44d3075030ff04333ea3889f847a1ed769ee618ee\n\n# tcId = 317\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 306502310083004b034202bbf51a327d32ed3ddf67b46eda9bac695a4422744a4bd99aaac3b3e8ed80ddac6538939c9385d6c8f61602307b4e61926cb9afa8cdaaf44909df6dc6449887d59fe2acac05f7684a235fa77179bdbcc69fd8f359e8eda19e5a5d4807\n\n# tcId = 318\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 3065023100ad93375a1d374c41e5de268a8c08c205ff5652445bfe3ddf4ca77a70f5819f9f06db861d82fc9637946f0fe38457f2bd02304bc043acbc6a68d4824ed768af9476ad5b93e4cb3bbac284fb5fbd548ae3b96c265c6d1ef4588a3e2da21b124c0d6b12\n\n# tcId = 319\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 30660231009e0d45d2dc93fd363dc919405818e39922f3f9dd0827bcad86d4ba80a44b45a6f60b8e593b580c91262b32859dbb1e53023100eb9b8dfe5ba4a055a974f19b488f3a6fa07161006ac94eb1fe1c12dd0e20f3a7be38a37ce96d671183c5871249b2a3c5\n\n# tcId = 320\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 306502307a5d04cd2fda59d8565c79ea2a7f1289ab79cae9fde060094c805c591a2534e4393e28c3fd858529bf17643846aceb830231008de0d8c0092fd02d554afe25f814744beaaa17c6946a6387ec7046b602db8a6c900246c2fb63fcef2ac8d9394444a0fc\n\n# tcId = 321\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 3065023100a564eea0cdac051a769f8ff1e0c834a288ce514f67d138113727b53a1a6fc95ce237367b91f1b91b2f65d589adc8288e0230182e5b47b6fbd8e741a04e809487ba5fcb8a5f2f1b9af6ce214128623a4768e38e6ddc958ff39078c36c04a314708427\n\n# tcId = 322\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 306402306758867cd1ca1446cc41043d1625c967a0ae04d9db17bbb42fa9c076b3593125d63cd3e7471ee6cdba5235a21cec2f220230563db387adb537e1d89231d935ac790316925aeb29132b9f87bee91116c33bf50943fe39b671ce9535dca0a5d22bbfa4\n\n# tcId = 323\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 3066023100cde033e38d3f791db87d8a6907516bd8021acd47e897df683fda529d48050f8b5688f6361daf1b14bc3f45fc7f76150f023100e14f4811a667c85335a4709a589ea46bac72055b794eaea92d28e834d5bc459c605fe4f27c1ab18d186d59e7d205cb67\n\n# tcId = 324\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3065023100f2384468b55553c68f9764d8248cfd7358d604fa377ebb13828c43a8ebdf308fbbbebfa49a9458bfda957d2068d24e3f02301fdf4891d56e3e90c02b05c14c27c17f56f8e6aa144f02328c90109e1f70c9e3f582f0d299c44da505c543cc89c6a990\n\n# tcId = 325\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 3065023100b1ccafedcc21ba90b342fa23c0149f3d12a939ab6c3342b36ae61fddbdc753927a7c3e978bd780cf25cd78c8c5efe28002304c32a73f3157bbe2384095eb67726b9cd3c2623b98a182a3b4f00e8db933e1113b7ada2695a7d79b471026462b20e289\n\n# tcId = 326\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 3066023100f3ed170e449758299ae55eb85244745e1876621c1f708e07e55c0d2d9ab5f9af9e0a8b3c7bdf8936ab3c9ebd1908e9dc023100da62ccdb658868147286d7269bcbd4addb4dec9ea3d5d79fdbe0ccffa40d055170bddeb4ef4c5e0bc99fae5db62b4477\n\n# tcId = 327\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 306502310083455fc4629e7693c8e495fec2d29bb23bb6db79180fcfa83a4f9310d9db27e29297dee27ee80a71ab2f7a2d59f48b8802307736c056c8f2bb57e9fb6b8de0ab6d09879f6611e737634e7b6337aa5c5a01f515d5e3702dec9a702177c816e32bac67\n\n# tcId = 328\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3065023074961587cbe49bbf0a73fea82b8b2242f67b0ea09224774639f437c60378a36b2d511a9145d576b440dffd1f02286a8b0231008fb95d46c22889085cc1d3e20bcfbcbc52f4532445f76f08efae2de8b56fe8525204643330dfd23cce946687a0aef046\n\n# tcId = 329\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 3065023100a3fd322330d0f0efccc54bd7d73c3159eb1bcca08cec369a4a08fd00f9ec6d482ced58eb08a0d7c2113bd5575de4917d0230164e3232a628c40fbba1de82bfb9627cec78a8040cf325a5a8bb8f864c2ac19e3524ac93f4db5713ce62ba256176e05e\n\n# tcId = 330\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 306502304c862ff9e4ff88f9a58e9fceaaf9bbb30740d3f6c8c6a69b5627fe234b144f8cdf09520735cfd708f5e341a78cc4873d023100a861972514a0e975cf2da214125ec93288524cc77492ed63c516424278e5ec8d41724467cb7c3111fa34c69193abb435\n\n# tcId = 331\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 3065023062225e4e492a9773397870336168960a66b9e50391ef7289cb2d3878f32252dc1b904f6682545e14564e415bd93e01170231009f4d0327f79e043505c691e361fa2e00f87f41324777eca6966f4bea2fa0858876aa01980b2cad7f66037524de49bf65\n\n# tcId = 332\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 30640230450c65d2d88ba464eee3a5ce9310b519d5dcf608799fb2275eee987a67c2c4d7ac53716987cc5139c18c67ef07b1e20702301ee0439311a7bce1c4fed0a3152d1b354d96536c6ca0c9188ac1f1afcc5cd7305b5611ef0d19d8bd57c5059976dc5e68\n\n# tcId = 333\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 3066023100aa2575fb5bea0effb5247d20c3d0165d575831840b5c18b0245a99a61b7ad5d7bf8a8cfcc375e095a84e781025bee3ee0231009c8b7797ad330abc206060b28b6ca1c639d89f59582528bda1527e3ab081697a2ab576f9d09c2ee329dd73231667308d\n\n# tcId = 334\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 3064023001fc45285aa2c2e50458199ade2ded0dd36b1de03e8969175be4a6f09f9719b195ded8d9eb4ea132d95d19a3528fd6c9023059609a358c5919fef4781061804d4d64a067edecdcfd14620161aae3ef2735095a558e4f8ae345040123f093e5f70af2\n\n# tcId = 335\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 3065023100d8e1f6b19e5b92e36060e59e53eeb788a4758c2c8ee9519f3949d5f3315abafbe937b8ed44d47e886a07c107aa8ac9f4023012550574318371e5168d0a339f20fcacaec87db211bba4d4e7c7e055b63b75fd31790ad285f4cc061378692b0a248e34\n\n# tcId = 336\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 306402304815aec44a7a6b86ae87fc2556accd77832fa33a4710e02ec5ef6f41f68a910e6af4d173ae462a759bd98079b371bf5d02306e78d562f9e8be65e8d7a74a7305e5d6cf2f3c4c980f2b18dfb8e9c8b0134ec86548053b3d125e56d5872294d2d14ebc\n\n# tcId = 337\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 3065023100d302f9db6b2d94e194412f0d40a135a554aee014bd939b3d7e45c1221ef7ce45c2aed875f9a2bc43dbc8264d92e444a5023004e7247b258c6e7739979c0a07282f62958ac45e52dd76a41d5e1aca31a5cda73d7b026d67b4d609803001cb661d74c6\n\n# tcId = 338\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 3065023100889f0e2a6ae2ddcad1cde3f65b61d4dd40985917ba841b47a1f802491f5af5067722b7683df0fca7ee19d2b73724c8fd02301f989", - "bac23b51c49e5d7dcc319eed2fc767e9b432bf75af92814d9e67a5d4b3398eb15e98b70527abbc029abc1bea524\n\n# tcId = 339\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 3066023100e69c70c679795ca7d2b66e2632529651c120055fa3cf25435fe8bb28987c02412ce73e6ca5ca7e0b42e9670c0a588175023100edd8513bff40cdca9e22659238fbcea2de2caeef53c5287a515db9168b3008ec446c9b94f28a6e021c69bc6637fc4634\n\n# tcId = 340\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 30640230068cbecfd47bfd688f495df05e45fd5fced6d8e240605c5b2be5e69368740b694b9b1ea034af3180e571dd38a86369ef02301a1d2976f748d1621128013c61abda5398a3e24f0073d1a6e07a1e96c12be4f1e2e7b144f9b5a350500acfc5cb0698d9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[key.wx = 0ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b18]\n[key.wy = 2aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[sha = SHA-512]\n\n# tcId = 341\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# tcId = 342\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[key.wx = 70e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12]\n[key.wy = 424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[sha = SHA-512]\n\n# tcId = 343\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[key.wx = 5a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d]\n[key.wy = 4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[sha = SHA-512]\n\n# tcId = 344\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[key.wx = 088531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe038]\n[key.wy = 09375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[sha = SHA-512]\n\n# tcId = 345\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[key.wx = 080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c]\n[key.wy = 5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[sha = SHA-512]\n\n# tcId = 346\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020101\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[key.wx = 0e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05]\n[key.wy = 0a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[sha = SHA-512]\n\n# tcId = 347\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020102\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[key.wx = 0a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf]\n[key.wy = 604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[sha = SHA-512]\n\n# tcId = 348\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020103\n\n# tcId = 349\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276a", - "f38b779bf2350d7f]\n[key.wx = 0a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffab]\n[key.wy = 0b924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]\n[sha = SHA-512]\n\n# tcId = 350\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[key.wx = 3c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24]\n[key.wy = 0da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[sha = SHA-512]\n\n# tcId = 351\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[key.wx = 559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb6]\n[key.wy = 1f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[sha = SHA-512]\n\n# tcId = 352\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[key.wx = 548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f4770]\n[key.wy = 363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[sha = SHA-512]\n\n# tcId = 353\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[key.wx = 0a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76a]\n[key.wy = 0fb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[sha = SHA-512]\n\n# tcId = 354\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[key.wx = 254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3]\n[key.wy = 710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[sha = SHA-512]\n\n# tcId = 355\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[key.wx = 09129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f]\n[key.wy = 08e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[sha = SHA-512]\n\n# tcId = 356\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[key.wx = 0a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43]\n[key.wy = 0e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[sha = SHA-512]\n\n# tcId = 357\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101\n\n# tcId = 358\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[key.wx = 0b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f45]\n[key.wy = 6cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b7", - "0dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[sha = SHA-512]\n\n# tcId = 359\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[key.wx = 0b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f1]\n[key.wy = 6d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[sha = SHA-512]\n\n# tcId = 360\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[key.wx = 0842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123]\n[key.wy = 0868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[sha = SHA-512]\n\n# tcId = 361\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[key.wx = 09ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d808511]\n[key.wy = 135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[sha = SHA-512]\n\n# tcId = 362\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[key.wx = 28771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272eb]\n[key.wy = 0f92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[sha = SHA-512]\n\n# tcId = 363\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[key.wx = 09d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd27]\n[key.wy = 1eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[sha = SHA-512]\n\n# tcId = 364\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c152aafea3a8612ec83a7dc9448f01941899d7041319bbd60bfdfb3c03da74c00c8fc4176128a6263268711edc6e8e90\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[key.wx = 08e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315]\n[key.wy = 0c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[sha = SHA-512]\n\n# tcId = 365\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304764eeac3e7a08daacfad7d1e1e3696042164b06f77bd78c3213ddea6f9fd449a34c97b9e560a6bf7195da41333c7565\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[key.wx = 0b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae2]\n[key.wy = 6f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[sha = SHA-512]\n\n# tcId = 366\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100cb4d5c0ff0abe29b2771fe9f179a5614e2e4c3cc1134a7aad08d8ec3fd8fcd07fd34b3473ca65ead1c7bb20bcf3ea5c9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da5076", - "9809ecbf37358dd83c74fc25f]\n[key.wx = 4fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb4]\n[key.wy = 084d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[sha = SHA-512]\n\n# tcId = 367\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02306e441db253bf798dbc07ff041506dc73a75086a43252fb439dd016110475d8381f65f7f27f9e1cfc9b48f06a2dfa8eb6\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[key.wx = 7d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5b]\n[key.wy = 0e7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[sha = SHA-512]\n\n# tcId = 368\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023041db253bf798dbc07ff041506dc73a75086a43252fb43b63191efcd0914b6afb4bf8c77d008dbeac04277ef4aa59c394\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[key.wx = 608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf]\n[key.wy = 674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[sha = SHA-512]\n\n# tcId = 369\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083b64a77ef31b780ffe082a0db8e74ea10d4864a5f6876c6323df9a12296d5f697f18efa011b7d58084efde954b38728\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[key.wx = 48d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18]\n[key.wy = 0e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[sha = SHA-512]\n\n# tcId = 370\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023053bf798dbc07ff041506dc73a75086a43252fb43b6327af3b42da6d3e9a72cde0b5c2de6bf072e780e94ad12dcab270a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[key.wx = 5d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94]\n[key.wy = 0d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[sha = SHA-512]\n\n# tcId = 371\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023024c53b0a00cf087a9a20a2b78bc81d5b383d04ba9b55a567405239d224387344c41cceff0f68ffc930dbaa0b3d346f45\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[key.wx = 1da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9]\n[key.wy = 0e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[sha = SHA-512]\n\n# tcId = 372\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c600ccb39bb3e2d85d880d76d1d519205f050c4b93deae0c5d63e8898ca8d7a5babbb944debe0f3c44332aae5770cb7b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[key.wx = 08b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b1]\n[key.wy = 09d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[sha = SHA-512]\n\n# tcId = 373\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303ead55015c579ed137c58236bb70fe6be76628fbece64429bb655245f05cb91f4b8a499ae7880154ba83a84bf0569ae3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[key.wx = 442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f7]\n[key.wy = 56b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100de03ff820a836e39d3a8435219297da1db193d79e359663e7cc9a229e2a6ac9e9d5c75417fa455bc8e3b89274ee47d0e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type", - " = ECPublicKey]\n[key.uncompressed = 0411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[key.wx = 11342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998a]\n[key.wy = 0f533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e5a6ae07f855f14d93b8ff4f8bcd2b0a717261e6089a53d54bf86e22f8e37d73aaa7607cc2ab831404b3e5bb4e01e79e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[key.wx = 3c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6]\n[key.wy = 169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[key.wx = 388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89b]\n[key.wy = 0b353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[sha = SHA-512]\n\n# tcId = 377\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[key.wx = 0c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce8]\n[key.wy = 68cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[sha = SHA-512]\n\n# tcId = 378\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[key.wx = 0e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b91]\n[key.wy = 0e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[sha = SHA-512]\n\n# tcId = 379\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[key.wx = 0e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d4]\n[key.wy = 096ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[key.wx = 637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21]\n[key.wy = 0f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[key.wx = 7f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565]\n[key.wy = 0fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffff", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[key.wx = 0a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a1]\n[key.wy = 34634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[key.wx = 7cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0]\n[key.wy = 0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[key.wx = 2024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906]\n[key.wy = 0d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[key.wx = 40c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476]\n[key.wy = 0c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[key.wx = 74acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8]\n[key.wy = 496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[key.wx = 0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]\n[key.wy = 0945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[sha = SHA-512]\n\n# tcId = 388\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[key.wx = 0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]\n[key.wy = 6ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[sha = SHA-512]\n\n# tcId = 389\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[key.wx = 0", - "820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32]\n[key.wy = 631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[sha = SHA-512]\n\n# tcId = 390\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[key.wx = 52fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee11]\n[key.wy = 09f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[sha = SHA-512]\n\n# tcId = 391\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[key.wx = 0a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c]\n[key.wy = 64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[sha = SHA-512]\n\n# tcId = 392\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[key.wx = 0878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79]\n[key.wy = 0fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[sha = SHA-512]\n\n# tcId = 393\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[key.wx = 08faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e41]\n[key.wy = 2bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[sha = SHA-512]\n\n# tcId = 394\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[key.wx = 0c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16c]\n[key.wy = 0b138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[sha = SHA-512]\n\n# tcId = 395\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[key.wx = 386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf28821]\n[key.wy = 5503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[sha = SHA-512]\n\n# tcId = 396\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[key.wx = 294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd47]\n[key.wy = 1e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[sha = SHA-512]\n\n# tcId = 397\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.un", - "compressed = 04bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[key.wx = 0bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c8341]\n[key.wy = 5a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[sha = SHA-512]\n\n# tcId = 398\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[key.wx = 0984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00e]\n[key.wy = 0b4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[sha = SHA-512]\n\n# tcId = 399\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[key.wx = 0f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf7]\n[key.wy = 087bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[sha = SHA-512]\n\n# tcId = 400\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[key.wx = 452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd6]\n[key.wy = 68a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[sha = SHA-512]\n\n# tcId = 401\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[key.wx = 44a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72]\n[key.wy = 0bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[sha = SHA-512]\n\n# tcId = 402\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[key.wx = 10b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa]\n[key.wy = 09be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[sha = SHA-512]\n\n# tcId = 403\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[key.wx = 081f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132]\n[key.wy = 221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[sha = SHA-512]\n\n# tcId = 404\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[sha = SHA-512]\n\n# tcId = 405\n# testing point duplication\nmsg = 313233343030\nresul", - "t = invalid\nsig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 406\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[sha = SHA-512]\n\n# tcId = 407\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 408\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]\n[key.wy = 09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[sha = SHA-512]\n\n# tcId = 409\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 306402302290c886bbad8f53089583d543a269a727665626d6b94a3796324c62d08988f66f6011e845811a03589e92abe1f17faf023066e2cb4380997f4e7f85022541adb22d24d1196be68a3db888b03eb3d2d40b0d9a3a6a00a1a4782ee0a00e8410ba2d86\n\n# tcId = 410\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30650231008071d8cf9df9efef696ebafc59f74db90c1f1ecf5ccde18858de22fe4d7df2a25cb3001695d706dfd7984b39df65a0f4023027291e6339c2a7fed7a174bb97ffe41d8cfdc20c1260c6ec85d7259f0cc7781bf2ae7a6e6fb4c08e0d75b7381bb7d9b8\n\n# tcId = 411\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 30650230470014ccd7a1a5e5333d301c8ea528ac3b07b01944af30cec60f4bad94db108509e45ba381818b5bdfaf9daf0d372301023100e3d49d6a05a755aa871d7cb96fffb79fed7625f83f69498ba07c0d65166a67107c9a17ae6e1028e244377a44096217b2\n\n# tcId = 412\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 30640230377044d343f900175ac6833071be74964cd636417039e10e837da94b6919bffc3f5a517b945a450852af3259f5cbf108023032ea25006375c153581e80c09f53ad585c736f823c70147aba4fb47bb0a224fae4d8819adad80d4c144ecc2380954a9e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[key.wx = 0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]\n[key.wy = 0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[sha = SHA-512]\n\n# tcId = 413\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ccb13c4dc9805a9b4e06ee25ef8c7593eaff7326c432d4b12b923163cf1cbe5fe1cfd3546c1d0761d8874e83ffd2e15d023100db1b0c082ae314b539f05e8a14ad51e5db37f29cacea9b2aab63a04917d58d008cf3f7ba41d5ea280f3b6a67be3ae8f8\n\n# tcId = 414\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100c79a30e36d2126b348dd9eb2f5db6aa98f79d80214027e51bcf3cabec188a7ebaf25cb7bbe9ec6bfed135e2a3b70e9160230241338ee2ac931adea9a56e7bfe909947128d54d5122a47b00c278e684e10102740d26e89e343290a5b2fa8b401faec6\n\n# tcId = 415\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306402300df82e4ec2960e3df614f8b49cec9a4ee1054365414241361feec9d9d9b6909d8775f222ec385a14afab46266db390c302300968485e854addba0f8354e677e955e1ef2df973d564c49f65f2562cb2a2b80d75e92f8784042955f7b8765f609ce221\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[key.wx = 0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]\n[key.wy = 0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[sha = SHA-512]\n\n# tcId = 416\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402301fafd83d728422e1485f1e52e5b631548647cc3c76c109c3177a73751d91a19012fa4628b218f2229fc4d55f105fe00102304474f9af7b4b0bb96fdb05ae918f799024e8d5b864e49ccd047cf97e7b9f8763cce015c11cf1f461c9027cb901055101\n\n# tcId = 417\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100e6025bb957ab197fb4c080d0a5c647e428afb0d7cc235c605ae97545494fd31a9979790bb2da6e1cf186789422b15c970231008ae9872291430d1bb371ef72360dad5afbb6fb001f403d9aaa1445f0326eb1eef775c9dfe1d7ef8bf4e744822108d27e\n\n# tcId = 418\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100877d5567c18fa568259005a89c2300d1b3825b732fa14964c1477d4b3098afd09384b97d497464adba41e9df8a74d339023100c40f0760717b4b3bae75742b6dc3dcf04cc22a449cfea19d305e0658cb705fda75163e7399e0b3125ca7d1919c13851e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]\n[key.wy = 0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[sha = SHA-512]\n\n# tcId = 419\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e706b0045a6f54bd175e2437b48767b0204f93d8a4d9d3d00838278137e5b670de4305c5c55e49059b8b5f6e264654c902", - "30405741adff94afd9a88e08d0b1021911fa4cedb2466b1a8fd302a5b5d96566ada63ccb82b6c5e8452fde860c545e0a19\n\n# tcId = 420\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306502300c57ce2bc579fbd3a759dfbf5e84c3cef2414846a2e300453e1e4c5188f24432b14ca647a733b6ad35c980a880d36145023100f12a119e22d48b82049df611f1c851fb22795056498a873c730fcb9fd8f314728de0298b9b22c348abc6de2aba97e972\n\n# tcId = 421\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30660231009a8f80697ccf2e0617612027d861a3a3a657fb75cc82810b40dd5072d39ff37eca29008390da356137e2c9babd814198023100a86537a83c3d57da50e4b29b47dcc3717c5a1ed0fff18ade8dcce4220eac63aab60b9bfed5f1bdd241dab655a9bdd75f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]\n[key.wy = 0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[sha = SHA-512]\n\n# tcId = 422\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306602310093718f6f8542725f62de7039fc193d3fcc81d622230ccc94e9e265390b385af3a3ba50c91a9d6a5b1e07d79af2bd80b2023100d08499f3d298e8afecea122265a36dbf337259020654739783c8ec8ef783d072555b5907285ce83fc8ced9c8398c6269\n\n# tcId = 423\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ce26e42c490dec92cf59d6b1ba75c9a1400d6e5c3fd7c47e1eeb1cded30a3a3d18c81cdfdcbad2742a97293369ce21c202310094671085d941fd27d495452a4c8559a1fe24f3225f5b8ef75faf9d3fb01372c586e23b82714359d0e47144ff5d946161\n\n# tcId = 424\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ffc4738acf71f04a13104c328c138b331fb7202aef66f583ba543ed490d12993c18f724c81ad0f7ea18dae352e5c6480023100e67d4ccdeb68a9a731f06f77eae00175be076d92529b109a62542692c8749ddfde03bed1c119a5901a4e852f2115578f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[sha = SHA-512]\n\n# tcId = 425\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e6fa8455bc14e730e4ca1eb5faf6c8180f2f231069b93a0bb17d33ad5513d93a36214f5ce82ca6bd785ccbacf7249a4c02303979b4b480f496357c25aa3fc850c67ff1c5a2aabd80b6020d2eac3dd7833cf2387d0be64df54a0e9b59f12c3bebf886\n\n# tcId = 426\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306502301b49b037783838867fbaa57305b2aa28df1b0ec40f43140067fafdea63f87c02dfb0e6f41b760fbdf51005e90c0c3715023100e7d4eb6ee61611264ea8a668a70287e3d63489273da2b30ad0c221f1893feaea3e878c9a81c6cec865899dbda4fa79ae\n\n# tcId = 427\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306502310091d9da3d577408189dcaae33d95ed0a0118afd460d5228fa352b6ea671b172eb413816a70621ddaf23c5e2ef79df0c110230053dadbfcd564bddbe44e0ecb4d1e608dbd35d4e83b6634cc72afb87a2d61675ee13960c243f6be70519e167b1d3ceb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[sha = SHA-512]\n\n# tcId = 428\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100af0ed6ce6419662db80f02a2b632675445c7bf8a34bbacdc81cc5dd306c657ca4c5a3fb1b05f358d8f36fda8ae238806023046b472c0badb17e089c8f9697fd0b4ce71f0f4471b235483d4c8dd3d00aa282cde990253df38ba733b2ad82a601c7508\n\n# tcId = 429\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100e2aa9468ccaaadad8b9f43a429c97f0c6a7eedcb4d4af72d639df0fe53f610b953408a8e24e8db138551770750680f7a023100d81020846d1c50ee9ae23601dd638cb71b38d37fb555268c2fa1ad8a761fa7b27afcab2fa69224d1f976699914e09de2\n\n# tcId = 430\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306402306bf6fa7a663802c3382cc5fd02004ec71e5a031e3d9bfc0858fa994e88497a7782308bc265b8237a6bbbdd38658b36fc02303a9d5941a013bf70d99cc3ff255ce85573688dac40344b5db7144b19bf57bb2701e6850a8f819796b67f7d0b6aea7e50\n\n", +static const char *kData105[] = { + "# Imported from Wycheproof's ecdsa_secp384r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]\n[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19fbb197e4c4250926e30c5303a2c2d34250f17fcf5ab3181a6\n\n# tcId = 2\n# Legacy:ASN encoding of r misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = MissingZero\n\n# tcId = 3\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = MissingZero\n\n# tcId = 4\n# valid\nmsg = 313233343030\nresult = valid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 5\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 6\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30820066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 8\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 9\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30850100000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 10\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3089010000000000000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 11\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 12\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 13\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 14\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 15\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3066028000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 18\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202800084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 19\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 20\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 21\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 22\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30680000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 23\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 24\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b4981773066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a2500306602", + "3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b2236498177023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a22352500023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306e2233023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20004deadbeef02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223649817702310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235250002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 33\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306eaa00bb00cd003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306caa02aabb3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306e2239aa00bb00cd00023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306c2237aa02aabb023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22239aa00bb00cd0002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 39\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306c023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22237aa02aabb02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 40\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30803066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 306a2280023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 43\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30803166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 306a2280033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 46\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228003310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 47\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3266023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 52\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 53\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 54\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 306a30010230653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673", + "854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7\n\n# tcId = 56\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 30653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 57\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\nflags = BER\n\n# tcId = 58\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd00\n\n# tcId = 59\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd05000000\n\n# tcId = 60\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd060811220000\n\n# tcId = 61\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000fe02beef\n\n# tcId = 62\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0002beef\n\n# tcId = 63\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30683000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 64\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd3000\n\n# tcId = 65\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3069023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cdbf7f00\n\n# tcId = 66\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 67\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 3033023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2\n\n# tcId = 68\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308199023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306702813100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 70\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30680282003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 72\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023200814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 75\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202320084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 76\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306b0285010000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 78\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028501000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306f028901000000000000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 80\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306f023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202890100000000000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a02847fffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 82\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada", + "87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202847fffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a0284ffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 84\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20284ffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306b0285ffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 86\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20285ffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306e0288ffffffffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 88\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20288ffffffffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306602ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 90\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 91\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 303302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 30340202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 93\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3034023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 95\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30680233000000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 97\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023300000084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 98\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 100\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035028102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 102\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3035050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 104\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20500\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066013100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066043100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066ff3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e201310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 112\n# changing tag value of intege", + "r\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e203310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e204310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 114\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2ff310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035020002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 116\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20200\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 306a22350201000230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 118\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235020100023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023102814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 120\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310284f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a156202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 122\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a74d\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a1502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30670232ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20232ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 303609018002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 303602010002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e8980842845d38217e2bcceedb5caa7aef8bc35edeec4beb155610f3f5502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e898084284644bb7cded46091f71a7393942ad49ef8eae67e7fc784ec6f02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9bb4483212b9f6e08e58c6c6bd52b610715198180387b139102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231fe7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7ba2c7de81d4331124a3558510743ca12113b414eaa9ef0c0ab02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e5fd3ad1cb7a61dc9507f6eeb2a65341ad0cac035dfee58d140\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e6044e681b3bdaf6d91cf3acfc5d3d2cbdaf0e8030a54ce7e5a\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca", + "60c897bfd6728da14673854673d7d297ea944a15e20231ff7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231fe7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a1a02c52e34859e236af809114d59acbe52f353fca2011a72ec0\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case value", + "s for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 3", + "13233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3637323636\nresult = valid\nsig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf5656840231008f8a277dde5282671af958e3315e795a20e2885157b77663a67a77ef2379020c5d12be6c732fd725402cb9ee8c345284\n\n# tcId = 231\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 3065023100d51c53fa3e201c440a4e33ea0bbc1d3f3fe18b0cc2a4d6812dd217a9b426e54eb4024113b354441272174549c979857c02300992c5442dc6d5d6095a45720f5c5344acb78bc18817ef32c1334e6eba7726246577d4257942bdefe994c1575ed15a6e\n\n# tcId = 232\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 3065023100c8d44c8b70abed9e6ae6bbb9f4b72ed6e8b50a52a8e6e1bd3447c0828dad26fc6f395ba09069b307f040d1e86a42c022023001e0af500505bb88b3a2b0f132acb4da64adddc0598318cb7612b5812d29c2d0dde1413d0ce40044b44590e91b97bacd\n\n# tcId = 233\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 3065023100d3513bd06496d8576e01e8c4b284587acafd239acfd739a19a5899f0a00d269f990659a671b2e0e25f935b3a28a1f5fd0230366b35315ce114bffbb75a969543646ee253f046a8630fbbb121ecc5d62df4a7eb09d2878805d5dab9c9b3880b747b68\n\n# tcId = 234\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 3065023100b08c4018556ca8833b524504e30c58346e1c0345b678fdf91891c464a33180ed85a99bc8911acf4f22aceb40440afc9402304a595f7eed2db9f6bd3e90355d5c0e96486dc64242319e41fc07be00a732354b62ec9c34319720b9ffb24c994b1cf875\n\n# tcId = 235\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 306502302b08f784617fd0707a83d3c2615efa0c45f28d7d928fc45cd8a886e116b45f4686aee97474d091012e27057b6ba8f7e6023100c440aa6ecb63e0d43c639b37e5810a96def7eec8e90a4c55e5b57971c48dfb4e850232fbb37bd32bb3b0523b815ff985\n\n# tcId = 236\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 306402300609f4ec120c8838bda916f668e9600af7652e1d3f7182734f97f54da5d106bbfd216c32f227b76d583de1c53949b2ee023046926dffc766ff90c3b921b3e51a2982a1072314c1fdfb4175de7adea5a6f97bdff587a473504a9c402aac7c05bd4785\n\n# tcId = 237\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 306502305ae2220e4716e1ef0382afcc39db339e5bd5f05e8a188d4a5daaab71c6c35263ee8820a34558092877449ebb15898c5c023100c4d38e2e85451c43ee35b0c56196cbf3059acf2b8b529f06dc1de9b281d9b0f3f3983df8936e944ab0b18330a342ee88\n\n# tcId = 238\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 3065023051fb84ed71d436c737ab24e2a45c68f8f623748be2caebd89e02bfc89309b8350042ab1b97849b9f680f044a58765175023100d4a8f60791657a8c12985fd896ac77e7d95cb050582f2466471dc2c6dcf90db05ce34beadbfcfe690dc56c0cc9944007\n\n# tcId = 239\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 3065023040159290d161df6b3f81a92cefb6df56149d588e7b886bf24939f5c8b6bb515d325b3764f0ed284a77fa9081ccfa5237023100bd55dfb47709287ce7b88dfd96ac7543eeba9bd31b8c91f203d2b90418122406399c80a53539b81f1cb60fa3b23a2563\n\n# tcId = 240\n# special case", + " hash\nmsg = 36323139353630323031\nresult = valid\nsig = 3066023100d7fb9f53865cdf9d4cad6f66981aea35a1454858ceb678d7b851c12a4c6644fe1915a4b219b51389a5ae2c98a433cc3a02310094ad75c3dea88740205cab41032dfe149341cf4ee94dcd2f0c8bbe5af5860b30b5e1f764b2c767b09fd10761050c989c\n\n# tcId = 241\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 30650230157ef8f85cdb9257983d06a7f29674752659097364b401e701705b3bd9ead884fd32141320ae76ae05f6fc7ec155d6c2023100ccadc3851020e41dd91bc28a6c073409136a47f20b8dbf2553fd456a8ed5fa7e73e4ec59dca499e0d082efbb9ad34dc7\n\n# tcId = 242\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3066023100e763001769c76f6a6d06fad37b584d7f25832501491bec283b3b6836f947dc4e2cef021c6c6e525b0a6a3890d1da122a023100acbd88729cce3992d14ec99e69ff0712b82a33a1c1e8b90e1399c66fe196f7c99bdb3ff81db77dc25ae6f0c1a025117d\n\n# tcId = 243\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 3066023100c6425b6b046ec91ebc32b9e6de750e5d3d36d4ddc6dffd25ba47817385a9466f6fc52259c7d02c66af5bf12045b5659d02310084cdc06e35fecc85a3e00b16488eac3584942f663d8b59df111c0650139d7cda20d68dccae569d433170d832147bc94c\n\n# tcId = 244\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 306502303061f090e4932133a0e08ac984d1c8d8d4f565e21cf15427671503880341265cd44f35a437ee3c3a8857579dd7af0c3502310093ae374a0f63dcbe41a1b7b07a50faf2b33f35e0b6600bb36aa5cda05238640fa35c635c0fa78e1410f3a879bbb8a541\n\n# tcId = 245\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 306502300ccc627f35454cc84e08a828f5bd5f5e41eeeaa40475bcc2e71ff372e8c718a5e179d3b7f2d7051db9060c4c978eb638023100b12d0240afbdfc64c60861548c33663b8960316a55f860cc33d1908e89aa6fc9519f23a900e0488fa6a37cfb37856565\n\n# tcId = 246\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 3065023100e72419fb67ebbcc0de9c46ce5475c608f9de7e83fc5e582920b8e9848000d820d393fdac6c96ea35ce941cb14951640002306aa19934ef60f4a247bc261ba256283a94857a268f42a0939c95a536fbd4f8e1f1c285a7b164c12213abb9e3393cbe9f\n\n# tcId = 247\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 30660231008b740931f9afa8a04c08cde896b7fdd9aca3177d5e4a3e5a51e54bfa824b66ab11df4e90f49798d644babfede7830224023100afd91e7ce15059a5b5499e5aef4afa91fd090e4e5029b3f4348f0d4349df11745869f9255117eea405a78af5dd6a646d\n\n# tcId = 248\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 3066023100989024bce204a7539fbd2b185ecf375590d873177c1ff26bbf755838ae5bcde180054663702ac3a4e68fe8b58fd88c70023100bdbedf64e424dbd7f979f83adef3fc85077fa76f8b1724815b5b8c24fde7fbd72f4b369a415d9bbf565cdc459bdce54c\n\n# tcId = 249\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 3064023022624fc23403955c0c9f5b89871177fa53879c8424de3b4ab1bcbcddc6e57b870b0491b848e19f728722b3163f4aa32802305bb82642cdaa84d6977fb95b3ede4ec7f2d54881cf435636d3509816f13ebb7be24fd7d4e1e81fddf07bde685e8d630d\n\n# tcId = 250\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 3065023100da5a2daa7437df4566ebba6ac5ed424655633e354ef4d943dc95ddefb0dae69f3616e506cc8cb5bc433a82ba71f6feb402305107b24041bba45073ce54488a5aef861e7805bbb8f970aedc1c59149cfe72c7025e2d117337e8677c88ef43374e6907\n\n# tcId = 251\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 306402302b0659fb7fa5fc1fce767418c20978de9a6a59941fc54f8380619b2ab2a7d6039de5373fbb503c24f2ce38e9c57995de02300d94dba98dd874bfffeac96a9295b6ab667708b8e33252edc029574c484a132135b13e52db6f877987c1be4f51fca193\n\n# tcId = 252\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 306402304a5a14f1ecf053bf3ec14843db8c7dd153e9545d20d76345a9e1d1a8fcb49558ca1ee5a9402311c2eaa102e646e57c2c02301573b8b4b633496da320e99a85c6f57b7ee543548180a77f7fced2d0665911cb4cde9de21bc1a981b97742c9040a6369\n\n# tcId = 253\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 30650230104e66e6e26c36633c0af001f0d9a216236816923ec93b70bea0a8ff053a15aaaef5fe3483e5cc73564e60fe8364ce0e023100ec2df9100e34875a5dc436da824916487b38e7aeb02944860e257fd982b01782b3bd6b13b376e8a6dbd783dfa0d77169\n\n# tcId = 254\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 306402304b06795da82bda354e8d9422a76c7bc064027fcdd68f95b7bc6177a85b2d822c84dc31cb91fc016afa48816a3a019267023018e31018e312d3dd3dd49ec355fdb0def3bb3e44393c26cf1bc110b23a3aacf6c442bfcec5535ce37527d0e068f75c03\n\n# tcId = 255\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 3066023100ad75ca5a3df34e5a6d3ea4c9df534e8910cfb1d8c605fc398fbee4c05f2b715bd2146221920de8bac86c2b210221bcff023100a322d3df3bb2cf9e4215adf1ff459e70f2f86bec6dd6af5d04ae307d21ed5955136c8e258fdc0f9cbd6cf89c31aa691f\n\n# tcId = 256\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 3065023100b0fa6289cc61bab335932ea1ac6540462653cc747ef67827825f77689a4398602297835d08aa16e23a76dea9f75404ef0230278d654a0b50c57d13f9c9c8c7c694001167f8e3b71491772a7427f1410fb6de518740c22e455e58de48846479b300cc\n\n# tcId = 257\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 3065023100c216cb4fe97facb7cd66f02cd751155b94fa2f35f8a62ba565aca575728af533540ff5d769b7c15c1345ab6414e150680230278a8a372b75d6eb17a4f7c7f62d5555c7357a1a047026bead52185cbcc01d73b80a1577e86220b2278da2b1ee8c983a\n\n# tcId = 258\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 30660231009591c80453cffbcd0b8d6d20fce0cbb2a458e54aed7ba1c767e6c017af4c4aa07a76859c0b249f6692a3c9ace893f14e023100893b567cd2959cd60557d3d6013d6e1741421a6edc5bc18244b3e8d7744e57928ce006a3fbd6e6324cb8ea3e5177e7e3\n\n# tcId = 259\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 30650230350b5515ba9785f149e2a566c14f4178757bb325179888f526f7db11161aedcd752551381316c2713f5de21d3d517af002310097d48a90c3bb3444736bec69db0649f82428b39238ada6048a0bead84f2f3b73816b48fed4d57b5f87a194ce4004ed7b\n\n# tcId = 260\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 3066023100833210c45d2448d9a4d69622d6f2193e64c65c79d45d62e28f517ca5c68eef05a2e98b1faed4cc87cbdbec6fe6bb8987023100b777b44cd30e6a049dc56af19a251d955c1bbab0c307fe12e9e5382fd48c173db0292f0b1047da28ee18518e11688eea\n\n# tcId = 261\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 306402307728ef10d9d5f3f32132716e6b403926929b05201700658d4b7f25a0692f153b8d666fd0da39888ab6234212659268d0023055df9466ee2c98225a2b0c4ff77622f9d11b4e48aa7f9279cdc2e245fdd9b9f4282106e25a458ff618bc3ca9422bea25\n\n# tcId = 262\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 30640230552040701dba17be3b4d5d6e136ce412b6a4c50ce1ee53415d8100c69a8ee4726652648f50e695f8bb552d0df3e8d1c402301374972b2f35b2fd86d45ed0c9358b394e271575e429ac8aa60eb94b9df7e755d9317fb259269e9d3b1db8d48d91dc7e\n\n# tcId = 263\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 3065023100fe6ef07056ce647128584bec156b68b8005f42d8c85dfb122134c488cc0e72cf8f06700417d7ff694b45e894ec23cbbd02307f5e33c5bfa697c144d440b32d06221f630a9ccaa8e9a0489490c04b86e8daae0e41d2466429b4b3cc1d37348e36cc0b\n\n# tcId = 264\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3065023100e009fc1a13d282bd37f10693350a5b421a0039713d29cb9e816e013c173bd1ec2bd6eb6bd88429023ee3d75d9a5ec06f02300b8bd481982a6e52355bcde5fe0092abac41f0543c31d1928b9a585e63e9520e24a65f46db2696e1b85a65c4e5240879\n\n# tcId = 265\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 3065023100acee00dfdfcee7343aeffa8514b11020c5435027887529d255bdbd45a90f160c68f05bd4b567daa8fa14e5807f5167a402301c9fdf546190970aa33121a3043280669be694e5f700b52a805aa6101b4c58f0467e7b699641d1d03f6229b2faf4253f\n\n# tcId = 266\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 30650231008a4ee1e3bb251982475877d18763fafcf49ccc8b0fec1da63b0edccbb8d3e38608a2e02d0d951031179e12ac899d30c3023073cb62ad7632cd42dff829abfbfcb6165207e3708ed10043c0cdee951c7f8012432696e9cf732dcbadb504630648419f\n\n# tcId = 267\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 306402303903b59f837ff5f41f42cbe3e2fc8e17d859cbb35386c4327d3947fb012b3629fea911c83cefdbd503aebbcc1114afd102300e5be9094b5a22ade00c24644f476baad0f7741dfb2ce9644a1c45769404f8dccc522017c2b8cc630f1a0ef5fee99fe8\n\n# tcId = 268\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 306502307717ffc8d0811f357299423c56ec181c58f198", + "1f5c1dd4f346f6a2ad71d3582e203a11e8609c1146ff3247a1820f832c02310096c89ec707da3cd8b09084b065e3265327a536a974c4285155388011e348f2e7f005ae7e3e502732fc2971ac13fd72c0\n\n# tcId = 269\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 3065023100a21519ce3533c80826f1e47fa9afde7096151144291134421990285a8d89a8c2d4afdadd547a923dcc17bfcdd0e9ffb9023040577245dd2e022c8ed8b5de7b8c26f31307429a7a64e5729311cc4128e3b486867e61b4a8a1cd0731792eb1466d08f3\n\n# tcId = 270\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 3065023100a727addad0b2acd2942cb1e3f7b2917ca65453275198b06436a993bfc982d3f54620c395e253d57b8fe026efcf7252f902307a19811aa4c12c45c3c041e7c614d0d98051ca7a0c57a9a107d552793ba1d0debb373525aafcc13ae1acd50a42a89adf\n\n# tcId = 271\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 3065023022287277872d175d8a3ff5be9818658f845eb9c1b2edc093ae82a75aa31cc26fe1771b4bfbd4c320251388d7279b5245023100b47d1833867e889fcfd7ac171855293a50aa6db24c6522e374fe87be12bf49b13c8b5e1455a2f25aa7912f799eebe552\n\n# tcId = 272\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 3065023100a0f41362009b8e7e7545d0f7c4127e22d82ac1921eb61bf51e9ea711e41557a84f7bb6ace499a3bc9ebca8e83728787b02301f6e0c15a3e402370885e2aceb712280ebc45b63986357765b7e54b06cd00db8308e4715c39d48d246030bf960e6a2ff\n\n# tcId = 273\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 306502304144e1c6ad29ad88aa5472d6d1a8d1f15de315f5b281f87cc392d66d7042547e6af7c733b31828f89c8a5dafce5bb9af023100f5d0d81f92428df2977757c88ba67f9e03abd4c15b1e87fa1dd49e601a9dd479e7c3dc03a8bfea60fcfc1c543931a7de\n\n# tcId = 274\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 306402305f177fc05542be6e09027b7eac5eb34f34fc10ad1429e4daaea75834de48dd22626f2bf653dfcc46234921d19b97406b02307def6c993a87560425f2c911046357c4b1c4c376bfa22bb45d533654fea6f565ba722147b2269ea7652f9c4af62ed118\n\n# tcId = 275\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 3066023100bd77a8ff0cd798d8f6e75dfbbb16c3ee5bf3f626dcb5abdfd453b301cb4fd4caee8e84dd650a8b4cf6655dea163788c7023100ef8f42394469eb8cd7b2ac6942cdb5e70dd54980ad8c0c483099573d75b936880459c9d14f9e73645865a4f24ee2c4ce\n\n# tcId = 276\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3066023100a02e2196258436da6a35a2f73cf6b08880f27757566ce80c7fc45f5dcbaec62d3fcebb784b4a650e24c1a997e4b971f7023100f1195d2ba3321b6938e04169d7baf605001b6311f08a5e82157a7675d54993f2fd1e41f8c84fc437a1a139d2e73e8d46\n\n# tcId = 277\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 30640230686c5dfe858629125fdee522b77a9b9be5e03a347d79cb4c407f17fd25c97293cd99711f33e77814bd30d2453d3a86c10230509ac9b18c1b2b5a2b1b889d994b950743a988c2fcfb683e89211a43da6ee362c2e414d84fe82db1904b81701c257822\n\n# tcId = 278\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 306502310083ce818ecd276432a8ddfe75406d01329e76d7586cd6f611c1fe1a0913ad80014c2156381942d58dd6356e44ccdc52a8023036a35983b97a9ae2a19cf05ba947dd880c973d5c78f9676ebbcb0b40d639124030c137236232f1fad15afd71c52ad8ec\n\n# tcId = 279\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 306502307cb78ebb712b5a2e0b0573d28440a5da36bd2338805d90ef3b0c1178ae613be8ae8bf548af4e7403e5a5410462afc2e30231008631a82cbdb8c2c7df70f012405f06ad0ab20d6c4fbceb3e736f40fdff1a8e5f6e667a0e77259f277494de84ec0de50d\n\n# tcId = 280\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 306602310085110fe21156b7764b91bcb6cf44da3eb21d162395071c216a13b5920d67a31aaa20dfc4669cf32c04964d0831bcdc29023100e19187033d8b4e1edf7ab8eaaae1e13c80c0c4db51d921ccf62f424524cbd530d07de2cf902a0ecda5e01206ae61e240\n\n# tcId = 281\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 306402300fd621a892ee5a3eb0bcb80f3184714a6635f568d92f41ad8d523887d5b82d2b930eb5ff2922fda1a3d299f5a045837f02301278725a607fa6f2fc7549b0de816fe2f88e3a1ec1ccaf9fb58e70a0f6646c2d7aad6e4f73d116e73096bdef231d0c89\n\n# tcId = 282\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 3066023100802cbe405d3ce9663b0b13c639aa27730b3377ce42521098ae09096b7fc5e7ac998b6994344e89abfb50c05476f9cae80231009aa7258c0dc4eff4b2d583575368301e2a7865cfaa3753055a79c8b8e91e94496a5d539181c2fd77941df50fe87453cd\n\n# tcId = 283\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 3066023100859b0446949d7f78a0301ac4cc02b599a758fd1be006bf1a12570015869e59b9a429ce1c77a750969f49e291f6ab899402310099a812a1acc2c646814315cf9b6290d2232236cdf131f9590088e75a55786cdfc9d9027ec70056408ab55445fd79fe60\n\n# tcId = 284\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 3065023100dbcc7ee9fa620e943193deae3f46b3142779caa2bce2df79a20639c8d01bce414a61f72764c1ec949c945320f5ee2a1d02301d9879787b880bd05db39bac07bfe3e7d0792932144e211e81f21da9621b83bff11bc52bcc7cb40cf5093f9bad8650fb\n\n# tcId = 285\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 306402307a1f9fbd0f6e776c3e3a3c798f5c0d9e20f0e2f3f4d22e5893dd09e5af69a46abc2f888d3c76834462008069275dfeb9023045e6d62a74d3eb81f0a3a62902b8949132821b45d8e6cad9bb3d8660451727cdf7b332a9ac7bb04604991312143f8a6a\n\n# tcId = 286\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 30640230047962e09e1b61823d23726bf72b4dde380e032b534e3273db157fa60908159ab7ee4cadce14fd06ebe8e08e8d8d5a0702301892f65ee09e34ce45dd44b5a172b200ce66b678b0e200c17e424e319f414f8dfbb2769a0259c9cc105191aa924e48d5\n\n# tcId = 287\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 30660231008f02799390ab861452cd4949942cbbcc25cad7c4334c4bc6146fbef8ad96c86f923fbf376d9ab79073e5fcb663f1ea91023100ce15d9862d100ff95ad7368922eec3f6d7060ce412c01ff13870aa61626ee49edf39bb27005ecbe406bb6825f74c0438\n\n# tcId = 288\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 306502301879c4d6cf7c5425515547575049be2a40c624a928cf281250f8bdcbf47e9f95310d0992c9887dc6318b3197114f358e023100e1116bf68320bade7d07a1a9651512d60b551af8625b98b5eb8ca222d4073ae5c140a80e5dbe59f073647daa00837aee\n\n# tcId = 289\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 3064023031dced9a6767f39045472749baec1644ae7d93a810a4b60eb213c02c42de65152ffc669af96089554570801a704e2a2d02303022ecfbc88a72b9c50ef65344765b615738f2b3d420ade68cbf3ec40bef0e10c5cc43bcfe003bb6f17ec23802c40569\n\n# tcId = 290\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 3066023100f4bdf786c61c5f1ce7568638ba9dbc9a134e27fc142003bf9870353980a8f4c2fbd03c8d0171e4048ef30db6fe15388a023100d0e96768bc6adc91f93ae5704e86888853f479f32a45bfd436dc8a030603d233c56880124b7971362aa11b71315ae304\n\n# tcId = 291\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 3065023100ec0f635b7ce31988a07f41b3df35ca03c70e376bfb3b6ab24831a83be2121b9f9e93928b10a8f5fc0322bdb9edd406fe023066618ccb473c6dac3b14cfab6dfb24d219b37aec63425067c2c1c631d64a80b9cab6445f5a5439adb28bb99daa9234a5\n\n# tcId = 292\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 306402304f2bea24f7de57901e365d4c332ddb62d294d0c5fd58342a43bdd3ba5cbaf25adaddb5944bfef9dcc88f94d93650bbbb02300851b97ddc433e4521c600904970e2bf55aa901e1aaaaf06818377f84a28e033a49eebc21ffe9cff3cbefd0963fbed00\n\n# tcId = 293\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3064023072a9bab30f8da1437f17115cc37b6ef8cf6591ed934d596675ad7b000c6a74cca5f37210a68228a58023790e3726c357023012d697c4e20b18f63a3e0164dca8ca4a5fa0058ad7cd1c571cef356e85fd8f56ab7963d8aba824e8d31efb3e690c27b9\n\n# tcId = 294\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 3064023033b7105f4cc98a1ea2abad45dbbe3761b4613ddd350e62da91560da694be3e84b1684f9a8ee4b3f556c61d02af54446202302c86e3a216dc7dd784cdcbf5084bdf6cdc1c7e67dbd61f9f6ed161fda4d4c26167e5b12731cf2b0cf5d9a5f0b6124939\n\n# tcId = 295\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 30640230252e3b5b60b8f80748b83623e30013723115cabcc48770c0ab6e7ee29c429ef1d9da78db3a9a8504133b9bd6feceb82502301ba740f87907cf6d450080f7807a50f21c31cd245dd30f95849a168d63b37628e8043c292ab7f130a4468eaf8b47e56d\n\n# tcId = 296\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 3066023100b8694dbf8310ccd78398a1cffa51493f95e3317f238291771cb331f8e3a9753774ae3be78df16d22b3fbe9ad45bed793023100daaead431bbdbf8d82368fbbd2473695683206ee67", + "092c146b266ed32f56b31cb0f033eebf6c75118730eef7b7f96ba7\n\n# tcId = 297\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 3066023100d37ba39cd1b5289e7aa3f33afefa4df6821a07d3e8ee1c11e7df036c37e36214bb90264633d4c395644cd2cc2523833f0231008b0d58ed75af59e2abbcec9226836f176b27da2d9f3094f2d4a09898136436235025208cf5444265af66fed05b3dc27c\n\n# tcId = 298\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 3066023100b4ef419020c0dcbdeeeed76c255560f1ed783c0f9e7fcea4c08a0714b9d1f491fda9ae7bb1eb96d294b02799f82861290231008d987611063d2f28cb309a56eaf1ea65f27d95c97b77a5f037f2f914fed728267aaf62a37f3c7b44fc4b15125b349863\n\n# tcId = 299\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 3066023100b2df7b11cf60ac93c078d19f37f889717aa5d9af1d00d0964f9e9f5257c3b51b3d3e47ca5b5aa72058ed63b52464e582023100b524968ea8c58d379e38f4cfa9da1527a2acb26d605d22f173fcf1e834db0d7f031cb9245cb62b8458ff499b8d3decbe\n\n# tcId = 300\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 3066023100e0edc08b4122b75ebbd1635d07f0bb55771bda15573a5081da971955f9a63f6decdd4919911dbfea503ea8ed1faad93d023100ca7850c74ce878587056206c590a1097d197a2090cfe3e057becfa2700c7a531623ae7331e163def693e26a97feb540d\n\n# tcId = 301\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 3065023068f555eef5a323a929719bfd8cf81d6d8a977ecb35defd86fa54d8e5749c7b5f3e80087fbd39f8aa0cd29d8310bd6578023100e2c2314a50fc0ad78c1ec02ea77ee2e13dcef1460957c6b573f721d72c209ac5fb529ab20397234c59ed44f60400971a\n\n# tcId = 302\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 30660231009e330e29f18123813e83b9c6abd68de96a57f97a4005b88d5b470a67a541b6d3af12124cf8658b751671c6698fb8b021023100d210fba9bde6ef077ca06b75e1cf7ce8dd70b08e9dd42d81a215ef9272f1779ae3e9f0dec510571d87237cc6bf3203e8\n\n# tcId = 303\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 30650230483192056f753f64ddf0f21072b73d68893e6fa5432c981c7a1955b6592a6045a5c1c58c383e70023c34e09b7964ec8d02310094b005d5f98c4fd2ad40ff8e03a8599f45e206082112f834df1d48502d2ac690cd3204f0078913794c9c39077ad6c58b\n\n# tcId = 304\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 306402302b7ec14fd77c4b33230dd0a4e2710fbd307e469baec54b6f25daac7e196b7b4b5df251cdddba7bdc9836ca1319bb900b0230590036192586ff66ae9a288199db9d02bbd5b703f8c329a9a1f986001b190f20ae96fe8b63681eda17bac2a57fd40f2e\n\n# tcId = 305\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 306402302611484e7ff47dfaece4aa883dd73f891869e2786f20c87b980055ddd792070c0d0d9a370878126bab89a402b9ea173c02304e0006b8aabe9d6a3c3018d9c87eae7f46461187d3c20b33e975c850599ec1cb52c76e1f507e439afc43f9f682e7a8d2\n\n# tcId = 306\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 306502302d504e38cdb1bb80bf29e07afbc66aea732accc85a722011069988f21eef685084f55efa30bfe32427eb8636db9171b4023100883e3d80d766ccb29e73a9e929111930da8353ec69769785633fe1b4505f9051e78d50c79a6b7c885c10b160bbb57fb6\n\n# tcId = 307\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3064023028dc1b63dc61ecde754ff4913780e486339103178e27d761987dac0b03c9bdf4a4a96b8680fa07fc47ae175b780e896e02305a9898eedf8781b9afeb506e0272a12c0c79bb893b8a5893c5a0a1bf4324d46dde71a245be2fd8aa2975fdeb40adf8f3\n\n# tcId = 308\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 306402304c978a47b9e9449337178aa6413a794c4c9bf182a42062646a469b1d2c2c95621e818e661352b07e63254b6954e1459802306997345f05cfc05c0fd4d1dd133e555e5e5002e0929a59f60bbffc354234783ebf4fe5db10a870952cabd453635c1082\n\n# tcId = 309\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 3065023036d8e2cfc80d0436e1fad3702ec05aa138618cdb745652cb85b0b121ee107bdf1ade0464dc0c6bd16875bcc364044d8c023100898b8775c9b39aa9fd130b5ab77e6c462ced6114898045b7f606142277d9eb2aa897f24c9ba4c8d112111de04dc57c10\n\n# tcId = 310\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 3065023100ce2bdcf924caaa81e79bd7dd983dfeeee91652e4ea6edd077f8b56ada4953733a22dd3a6336446a648aec4ffc367cb3e023008eb09faeef4b0e5c1262eda2127464f7e2981ea1736e80afc7c622461c3d26fe08694fb4914ce9dbba83704e3077b3c\n\n# tcId = 311\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 3066023100e3a1b4b0567d6c664dec02f3ee9cd8581129046944b0e6650f6e6a41b5d9d4bf79d7a6fd54ea5a218492cfa1bb03ca07023100986206925cbfa186c7d88f7100d87dd3b2d03b8789309a722d582f119eef48cd0ea5460917cf27246c31f90e28540424\n\n# tcId = 312\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 306502310095a5e29940e42099c4637f4ae51e7d1ec02be0dcfb0b627030984c35e477e80cc57e7eef970e384dee16a9b9fc8f2bf202300ca166c390339653cde84e79a87e5ceb4f52c1a515a5878542fd82705b9983976fd31a4123b5d0bde95a0818114cf462\n\n# tcId = 313\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 3066023100c30c49d0ba131944e2075daacb1259d5580a712a08f73d889c4d3d484d73dd9719a439a986f48b072c4595c507a01083023100a5595c0691bc2d215f981fab513e3a88a452f2a1433367b99b02b6efe507519afedbe1ad0337899944e29c9ccccb2476\n\n# tcId = 314\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 30650231009fd0585f8740669885c162842bba25323ea12b1d05e524bb945cad4e31538742eda5128f467b3c562c5f0a99019d3406023043acfadd03915c2350e1d8e514c47eb36f3c3456169c9a562a6262c1c2d7d33378bf9fec7f220239d5c61e06414414a4\n\n# tcId = 315\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 306402304ecac0cdbf665c584f8a40614cd55d042706c54895b1de02984fe309122566c959a4dd3315e7d3f089879f8f45821336023009187da6587a3de90eba41f4e6510e711f4467f3122971566ecc39a4bd53e95b8a19380e20ec2a7c752d29de54fd2e8f\n\n# tcId = 316\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 3065023037a1ba49f11e97ad0ec47e687c6c6e94f794f874720c0dd2da501437b50e5b00fb6ed33adf7cf1f9c870fd3d37165bf7023100b3ad08c9886b4ca1593a68938b67142c65ed4da1714c22204cba71300c094ccdbdf84c38a3f6d896db72ed5051a19266\n\n# tcId = 317\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 3066023100a0abe896d2f30207bc9b21e75400eedb88d3498d49806f41aa8e7f9bd815a33382f278db39710c2cb097937790d0236c0231009a29aded30e8ce4790756208d12044e18c34168608026000a883044dd0d91109d866b422a054c232810ddfbb2ae440bb\n\n# tcId = 318\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 3065023100b024fc3479d0ddde1c9e06b63c9bfb76a00d0f2f555220cb9a1311c2deec32eb3d6d2b648f5e8c104d5f88931754c0c20230767950cc149697edbae836f977bd38d89d141ff9774147b13ddd525b7a3f3a14a80d9979856f65b99a6faff173b5d6eb\n\n# tcId = 319\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 306402302a0ae7b5d42645051212cafb7339b9c5283d1fd9881d77ad5c18d25ee10907b7809740a510e65aecd61b53ba3a0f660a02304c0457dd19ef6e4d6ae65f45417ddf1a58c07663a86737d271becfa3ea5724b6018f1fa9e64fd08601a7dbd3957761d9\n\n# tcId = 320\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 306502300c1657320faca6668c6e9f06f657a310b01939a7d9640fa0429872fe28bd1667688bc162221285ecfb14e8d80627450a023100f5272aa08c321aa4f7e520825cc720f6511d635598c648d4d514669b3ad803ad259c799e195a095982f66c176435be21\n\n# tcId = 321\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 3066023100d821798a7a72bfb483e6e9840e8d921200ef1976b7e514036bf9133a01740ce397c73fa046054438c5806c294a02c6800231008c5d12887fcd945ba123fc5a5605d13a5a3e7e781ad69c6103577ee9dc47adc3e39a21080dd50304b59e5f5cf3f5a385\n\n# tcId = 322\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 3065023100c996bd6fa63c9586779f27523d5583135a594808514f98cc44cac1fa5cfa03c78c7f12f746c6bd20608ecbe3060eb068023027d40a11d52373df3054a28b0ab98a91ad689d1211d69919fc04cadc22ff0367d3ef9433012a760c1d1df3715c8d5cf3\n\n# tcId = 323\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 3065023042dd6c8d995938701a538909ed6aeae0ba50c995138de84e195bbb9c56180e108d4a6274548c7be6e121c4d218d2d4a0023100fae8668bb2003f0da1dc90bec67d354ccbb899432599c3198b96c5ca4bd2324c46998f4fb76a123467cf24570b1b6916\n\n# tcId = 324\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 30650230061f185633291b9a768e15ec03a2b7c356c757b023b61e313fdf0c5349d128a78668d20b2561709b3bd8451b920f12ab0231008fc5edc66410dbf20a7cbc3498e405761756ed39866856e74256ac1f255f62b0edff519762ecdbbc8395d14715c4388e\n\n# tcId = 325\n# special case hash\nmsg = 3", + "3373033393135373035\nresult = valid\nsig = 3065023069326e047c62e8bac5c090b76bf73ae652fa9a6aecfa1ccb8702f419094c9727511264fb1aeec00e425c7a0d746793d30231009dbddd22db4a77dbe16114bc6fbb981aecba7e82a9cbc1ed385e28a51793561770fb3f9696090efca24f268d8788f2c9\n\n# tcId = 326\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 306402304ca1df89b23ed5efcdf601d295c45e402d786a14d62f7261104e4cb05b8cae17abb095799e71173841749615c829411b02301bb777e0a6fee8a2337a436a6fa26a487de4640ff97d57b44b55305989803863d748c7302f2dfde8b8cedd69bb602e2d\n\n# tcId = 327\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3065023067be1b06f67172c503a5ac50582235d30bc9079eaa4cdec69a39c096310f8d99186cc9af7c8b4369a291d3e921d60705023100ab645fc91f06b1ff7cc58fccf6f7cfac74db30d839748a78cb5f3b8fefc7a06f3b5ff0310a8580c6050bebb75eda972c\n\n# tcId = 328\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 3066023100d966442d6c29e5a4cc60e2374eccd373db3ebe405ee7c9664c4273100cd1899a1c58110487528616d8c5321dbf5227640231009bb0e4a2c041a3b7b672029fe480d155f57671ecd6eb598660d025acce1f613d03cd6cff4a214131c8c7a8ad22df1397\n\n# tcId = 329\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 3064023008a84a2bc39b082ab82e6e45f088a36f1cb255f97ec8124eca929d4506d7dab63957c647994be2c2c7344f902de5b38f02300c9645e84a304ba0970ca5ce00b8c8a971fa0d0bcbec6a70134894c44d3075030ff04333ea3889f847a1ed769ee618ee\n\n# tcId = 330\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 306502310083004b034202bbf51a327d32ed3ddf67b46eda9bac695a4422744a4bd99aaac3b3e8ed80ddac6538939c9385d6c8f61602307b4e61926cb9afa8cdaaf44909df6dc6449887d59fe2acac05f7684a235fa77179bdbcc69fd8f359e8eda19e5a5d4807\n\n# tcId = 331\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 3065023100ad93375a1d374c41e5de268a8c08c205ff5652445bfe3ddf4ca77a70f5819f9f06db861d82fc9637946f0fe38457f2bd02304bc043acbc6a68d4824ed768af9476ad5b93e4cb3bbac284fb5fbd548ae3b96c265c6d1ef4588a3e2da21b124c0d6b12\n\n# tcId = 332\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 30660231009e0d45d2dc93fd363dc919405818e39922f3f9dd0827bcad86d4ba80a44b45a6f60b8e593b580c91262b32859dbb1e53023100eb9b8dfe5ba4a055a974f19b488f3a6fa07161006ac94eb1fe1c12dd0e20f3a7be38a37ce96d671183c5871249b2a3c5\n\n# tcId = 333\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 306502307a5d04cd2fda59d8565c79ea2a7f1289ab79cae9fde060094c805c591a2534e4393e28c3fd858529bf17643846aceb830231008de0d8c0092fd02d554afe25f814744beaaa17c6946a6387ec7046b602db8a6c900246c2fb63fcef2ac8d9394444a0fc\n\n# tcId = 334\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 3065023100a564eea0cdac051a769f8ff1e0c834a288ce514f67d138113727b53a1a6fc95ce237367b91f1b91b2f65d589adc8288e0230182e5b47b6fbd8e741a04e809487ba5fcb8a5f2f1b9af6ce214128623a4768e38e6ddc958ff39078c36c04a314708427\n\n# tcId = 335\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 306402306758867cd1ca1446cc41043d1625c967a0ae04d9db17bbb42fa9c076b3593125d63cd3e7471ee6cdba5235a21cec2f220230563db387adb537e1d89231d935ac790316925aeb29132b9f87bee91116c33bf50943fe39b671ce9535dca0a5d22bbfa4\n\n# tcId = 336\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 3066023100cde033e38d3f791db87d8a6907516bd8021acd47e897df683fda529d48050f8b5688f6361daf1b14bc3f45fc7f76150f023100e14f4811a667c85335a4709a589ea46bac72055b794eaea92d28e834d5bc459c605fe4f27c1ab18d186d59e7d205cb67\n\n# tcId = 337\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3065023100f2384468b55553c68f9764d8248cfd7358d604fa377ebb13828c43a8ebdf308fbbbebfa49a9458bfda957d2068d24e3f02301fdf4891d56e3e90c02b05c14c27c17f56f8e6aa144f02328c90109e1f70c9e3f582f0d299c44da505c543cc89c6a990\n\n# tcId = 338\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 3065023100b1ccafedcc21ba90b342fa23c0149f3d12a939ab6c3342b36ae61fddbdc753927a7c3e978bd780cf25cd78c8c5efe28002304c32a73f3157bbe2384095eb67726b9cd3c2623b98a182a3b4f00e8db933e1113b7ada2695a7d79b471026462b20e289\n\n# tcId = 339\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 3066023100f3ed170e449758299ae55eb85244745e1876621c1f708e07e55c0d2d9ab5f9af9e0a8b3c7bdf8936ab3c9ebd1908e9dc023100da62ccdb658868147286d7269bcbd4addb4dec9ea3d5d79fdbe0ccffa40d055170bddeb4ef4c5e0bc99fae5db62b4477\n\n# tcId = 340\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 306502310083455fc4629e7693c8e495fec2d29bb23bb6db79180fcfa83a4f9310d9db27e29297dee27ee80a71ab2f7a2d59f48b8802307736c056c8f2bb57e9fb6b8de0ab6d09879f6611e737634e7b6337aa5c5a01f515d5e3702dec9a702177c816e32bac67\n\n# tcId = 341\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3065023074961587cbe49bbf0a73fea82b8b2242f67b0ea09224774639f437c60378a36b2d511a9145d576b440dffd1f02286a8b0231008fb95d46c22889085cc1d3e20bcfbcbc52f4532445f76f08efae2de8b56fe8525204643330dfd23cce946687a0aef046\n\n# tcId = 342\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 3065023100a3fd322330d0f0efccc54bd7d73c3159eb1bcca08cec369a4a08fd00f9ec6d482ced58eb08a0d7c2113bd5575de4917d0230164e3232a628c40fbba1de82bfb9627cec78a8040cf325a5a8bb8f864c2ac19e3524ac93f4db5713ce62ba256176e05e\n\n# tcId = 343\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 306502304c862ff9e4ff88f9a58e9fceaaf9bbb30740d3f6c8c6a69b5627fe234b144f8cdf09520735cfd708f5e341a78cc4873d023100a861972514a0e975cf2da214125ec93288524cc77492ed63c516424278e5ec8d41724467cb7c3111fa34c69193abb435\n\n# tcId = 344\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 3065023062225e4e492a9773397870336168960a66b9e50391ef7289cb2d3878f32252dc1b904f6682545e14564e415bd93e01170231009f4d0327f79e043505c691e361fa2e00f87f41324777eca6966f4bea2fa0858876aa01980b2cad7f66037524de49bf65\n\n# tcId = 345\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 30640230450c65d2d88ba464eee3a5ce9310b519d5dcf608799fb2275eee987a67c2c4d7ac53716987cc5139c18c67ef07b1e20702301ee0439311a7bce1c4fed0a3152d1b354d96536c6ca0c9188ac1f1afcc5cd7305b5611ef0d19d8bd57c5059976dc5e68\n\n# tcId = 346\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 3066023100aa2575fb5bea0effb5247d20c3d0165d575831840b5c18b0245a99a61b7ad5d7bf8a8cfcc375e095a84e781025bee3ee0231009c8b7797ad330abc206060b28b6ca1c639d89f59582528bda1527e3ab081697a2ab576f9d09c2ee329dd73231667308d\n\n# tcId = 347\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 3064023001fc45285aa2c2e50458199ade2ded0dd36b1de03e8969175be4a6f09f9719b195ded8d9eb4ea132d95d19a3528fd6c9023059609a358c5919fef4781061804d4d64a067edecdcfd14620161aae3ef2735095a558e4f8ae345040123f093e5f70af2\n\n# tcId = 348\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 3065023100d8e1f6b19e5b92e36060e59e53eeb788a4758c2c8ee9519f3949d5f3315abafbe937b8ed44d47e886a07c107aa8ac9f4023012550574318371e5168d0a339f20fcacaec87db211bba4d4e7c7e055b63b75fd31790ad285f4cc061378692b0a248e34\n\n# tcId = 349\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 306402304815aec44a7a6b86ae87fc2556accd77832fa33a4710e02ec5ef6f41f68a910e6af4d173ae462a759bd98079b371bf5d02306e78d562f9e8be65e8d7a74a7305e5d6cf2f3c4c980f2b18dfb8e9c8b0134ec86548053b3d125e56d5872294d2d14ebc\n\n# tcId = 350\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 3065023100d302f9db6b2d94e194412f0d40a135a554aee014bd939b3d7e45c1221ef7ce45c2aed875f9a2bc43dbc8264d92e444a5023004e7247b258c6e7739979c0a07282f62958ac45e52dd76a41d5e1aca31a5cda73d7b026d67b4d609803001cb661d74c6\n\n# tcId = 351\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 3065023100889f0e2a6ae2ddcad1cde3f65b61d4dd40985917ba841b47a1f802491f5af5067722b7683df0fca7ee19d2b73724c8fd02301f989bac23b51c49e5d7dcc319eed2fc767e9b432bf75af92814d9e67a5d4b3398eb15e98b70527abbc029abc1bea524\n\n# tcId = 352\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 3066023100e69c70c679795ca7d2b66e2632529651c120055fa3cf25435fe8bb28987c02412ce73e6ca5ca7e0b42e9670c0a588175023100edd8513bff40cdca9e22659238fbcea2de2caeef53c5287a515db9168b3008ec446c9b94f28a6e021c69bc6637fc4634\n\n# tcId = 353\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 30640230068cbecfd47bfd688f495df05e45fd5fced6d8e240605c5", + "b2be5e69368740b694b9b1ea034af3180e571dd38a86369ef02301a1d2976f748d1621128013c61abda5398a3e24f0073d1a6e07a1e96c12be4f1e2e7b144f9b5a350500acfc5cb0698d9\n\n# tcId = 354\n# Signature generated without truncating the hash\nmsg = 313233343030\nresult = invalid\nsig = 306402300e2c56eb5f6612f0c2b22ab03d57d9a443075a2b7a0b460883e4f4876121e9b6f1ed67de20b79f028f7f66ed0281db7102303916b72b12d035a307b7c45a9878333a8c61445aad2330dc49a12b92e2e5dab72e53e5789f40afb90aea0ea4431f2dd1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[key.wx = 00ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b18]\n[key.wy = 2aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[sha = SHA-512]\n\n# tcId = 355\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# tcId = 356\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[key.wx = 70e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12]\n[key.wy = 424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[sha = SHA-512]\n\n# tcId = 357\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[key.wx = 5a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d]\n[key.wy = 4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[sha = SHA-512]\n\n# tcId = 358\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[key.wx = 0088531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe038]\n[key.wy = 009375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[sha = SHA-512]\n\n# tcId = 359\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[key.wx = 080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c]\n[key.wy = 5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[sha = SHA-512]\n\n# tcId = 360\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020101\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[key.wx = 0e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05]\n[key.wy = 00a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[sha = SHA-512]\n\n# tcId = 361\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020102\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[key.wx = 00a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf]\n[key.wy = 604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[sha = SHA-512]\n\n# tcId = 362\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020103\n\n# tcId = 363\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]\n[key.wx = 00a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffab]\n[key.wy = 00b924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd", + "6c86c6f532276af38b779bf2350d7f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]\n[sha = SHA-512]\n\n# tcId = 364\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[key.wx = 3c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24]\n[key.wy = 00da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[sha = SHA-512]\n\n# tcId = 365\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[key.wx = 559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb6]\n[key.wy = 1f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[sha = SHA-512]\n\n# tcId = 366\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[key.wx = 0548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f4770]\n[key.wy = 0363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[sha = SHA-512]\n\n# tcId = 367\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[key.wx = 00a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76a]\n[key.wy = 00fb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[sha = SHA-512]\n\n# tcId = 368\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[key.wx = 254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3]\n[key.wy = 710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[sha = SHA-512]\n\n# tcId = 369\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[key.wx = 009129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f]\n[key.wy = 008e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[sha = SHA-512]\n\n# tcId = 370\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[key.wx = 00a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43]\n[key.wy = 00e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[sha = SHA-512]\n\n# tcId = 371\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101\n\n# tcId = 372\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[key.wx = 00b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f45]\n[key.wy = 6cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57", + "b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[sha = SHA-512]\n\n# tcId = 373\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041af19841ff3df8bdc4f8cce957e0dab763efe413929b279f1d46dde1c6f2bbc55af1bb1d8011fc587a4d599a4ae7cd8d5f663860c43c88e08399f00ef6641123787956a2b7012883b5ff7c46bd156d96d3c02a63ef86e060a2a0fa5b80d0c0e5]\n[key.wx = 1af19841ff3df8bdc4f8cce957e0dab763efe413929b279f1d46dde1c6f2bbc55af1bb1d8011fc587a4d599a4ae7cd8d]\n[key.wy = 5f663860c43c88e08399f00ef6641123787956a2b7012883b5ff7c46bd156d96d3c02a63ef86e060a2a0fa5b80d0c0e5]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041af19841ff3df8bdc4f8cce957e0dab763efe413929b279f1d46dde1c6f2bbc55af1bb1d8011fc587a4d599a4ae7cd8d5f663860c43c88e08399f00ef6641123787956a2b7012883b5ff7c46bd156d96d3c02a63ef86e060a2a0fa5b80d0c0e5]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b902307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046836084fddfcfd527cb3847fb8b911c0fa002537fa460ca8f5d40f025603a4d89aa6ec640fde0cc4b31c46239a1d0bb76beed7019892e87287e23f0d35093ab14c4d41c0efe8463ede3494230a384eb1bc410de918c5484a25640741acb8cc0d]\n[key.wx = 6836084fddfcfd527cb3847fb8b911c0fa002537fa460ca8f5d40f025603a4d89aa6ec640fde0cc4b31c46239a1d0bb7]\n[key.wy = 6beed7019892e87287e23f0d35093ab14c4d41c0efe8463ede3494230a384eb1bc410de918c5484a25640741acb8cc0d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046836084fddfcfd527cb3847fb8b911c0fa002537fa460ca8f5d40f025603a4d89aa6ec640fde0cc4b31c46239a1d0bb76beed7019892e87287e23f0d35093ab14c4d41c0efe8463ede3494230a384eb1bc410de918c5484a25640741acb8cc0d]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b902307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294ba\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[key.wx = 00b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f1]\n[key.wy = 6d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[sha = SHA-512]\n\n# tcId = 376\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[key.wx = 00842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123]\n[key.wy = 00868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[sha = SHA-512]\n\n# tcId = 377\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[key.wx = 009ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d808511]\n[key.wy = 0135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[sha = SHA-512]\n\n# tcId = 378\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[key.wx = 28771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272eb]\n[key.wy = 00f92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[sha = SHA-512]\n\n# tcId = 379\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[key.wx = 009d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd27]\n[key.wy = 1eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c152aafea3a8612ec83a7dc9448f01941899d7041319bbd60bfdfb3c03da74c00c8fc4176128a6263268711edc6e8e90\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[key.wx = 008e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315]\n[key.wy = 00c31", + "84e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304764eeac3e7a08daacfad7d1e1e3696042164b06f77bd78c3213ddea6f9fd449a34c97b9e560a6bf7195da41333c7565\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[key.wx = 00b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae2]\n[key.wy = 6f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100cb4d5c0ff0abe29b2771fe9f179a5614e2e4c3cc1134a7aad08d8ec3fd8fcd07fd34b3473ca65ead1c7bb20bcf3ea5c9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[key.wx = 4fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb4]\n[key.wy = 0084d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02306e441db253bf798dbc07ff041506dc73a75086a43252fb439dd016110475d8381f65f7f27f9e1cfc9b48f06a2dfa8eb6\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[key.wx = 7d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5b]\n[key.wy = 00e7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023041db253bf798dbc07ff041506dc73a75086a43252fb43b63191efcd0914b6afb4bf8c77d008dbeac04277ef4aa59c394\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[key.wx = 608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf]\n[key.wy = 674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083b64a77ef31b780ffe082a0db8e74ea10d4864a5f6876c6323df9a12296d5f697f18efa011b7d58084efde954b38728\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[key.wx = 48d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18]\n[key.wy = 00e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023053bf798dbc07ff041506dc73a75086a43252fb43b6327af3b42da6d3e9a72cde0b5c2de6bf072e780e94ad12dcab270a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[key.wx = 5d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94]\n[key.wy = 00d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023024c53b0a00cf087a9a20a2b78bc81d5b383d04ba9b55a567405239d224387344c41cceff0f68ffc930dbaa0b3d346f45\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[key.wx = 1da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9]\n[key.wy = 00e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c600ccb39bb3e2d85d880d76d1d519205f050c4b93deae0c5d63e8898ca8d7a5babbb944debe0f3c44332aae5770cb7b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a1", + "30b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[key.wx = 008b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b1]\n[key.wy = 009d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303ead55015c579ed137c58236bb70fe6be76628fbece64429bb655245f05cb91f4b8a499ae7880154ba83a84bf0569ae3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[key.wx = 442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f7]\n[key.wy = 56b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100de03ff820a836e39d3a8435219297da1db193d79e359663e7cc9a229e2a6ac9e9d5c75417fa455bc8e3b89274ee47d0e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[key.wx = 11342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998a]\n[key.wy = 00f533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e5a6ae07f855f14d93b8ff4f8bcd2b0a717261e6089a53d54bf86e22f8e37d73aaa7607cc2ab831404b3e5bb4e01e79e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[key.wx = 3c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6]\n[key.wy = 169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[sha = SHA-512]\n\n# tcId = 392\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[key.wx = 388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89b]\n[key.wy = 00b353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[sha = SHA-512]\n\n# tcId = 393\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[key.wx = 00c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce8]\n[key.wy = 68cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[sha = SHA-512]\n\n# tcId = 394\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[key.wx = 00e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b91]\n[key.wy = 0e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[sha = SHA-512]\n\n# tcId = 395\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[key.wx = 00e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d4]\n[key.wy = 0096ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[sha = SHA-512]\n\n# tcId = 396\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5", + "b8f15e44067d209b9b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[key.wx = 637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21]\n[key.wy = 00f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[sha = SHA-512]\n\n# tcId = 397\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[key.wx = 7f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565]\n[key.wy = 00fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[sha = SHA-512]\n\n# tcId = 398\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[key.wx = 00a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a1]\n[key.wy = 34634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[sha = SHA-512]\n\n# tcId = 399\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[key.wx = 7cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0]\n[key.wy = 00fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[sha = SHA-512]\n\n# tcId = 400\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[key.wx = 2024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906]\n[key.wy = 00d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[sha = SHA-512]\n\n# tcId = 401\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[key.wx = 40c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476]\n[key.wy = 00c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[sha = SHA-512]\n\n# tcId = 402\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[key.wx = 74acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8]\n[key.wy = 496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[sha = SHA-512]\n\n# tcId = 403\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[key.wx = 00da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]\n[key.wy = 00945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[sha = SHA-512]\n\n# tcId = 404\n# point duplication during ve", + "rification\nmsg = 313233343030\nresult = valid\nsig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec\nflags = PointDuplication\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[key.wx = 00da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]\n[key.wy = 6ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[sha = SHA-512]\n\n# tcId = 405\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec\nflags = PointDuplication\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[key.wx = 00820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32]\n[key.wy = 631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[sha = SHA-512]\n\n# tcId = 406\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[key.wx = 52fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee11]\n[key.wy = 009f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[sha = SHA-512]\n\n# tcId = 407\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[key.wx = 00a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c]\n[key.wy = 64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[sha = SHA-512]\n\n# tcId = 408\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[key.wx = 00878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79]\n[key.wy = 00fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[sha = SHA-512]\n\n# tcId = 409\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[key.wx = 008faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e41]\n[key.wy = 2bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[sha = SHA-512]\n\n# tcId = 410\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[key.wx = 00c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16c]\n[key.wy = 00b138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[sha = SHA-512]\n\n# tcId = 411\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[key.wx = 386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf28821]\n[key.wy = 5503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[keyDer = 3076301006072a8648c", + "e3d020106052b8104002203620004386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[sha = SHA-512]\n\n# tcId = 412\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[key.wx = 294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd47]\n[key.wy = 1e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[sha = SHA-512]\n\n# tcId = 413\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[key.wx = 00bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c8341]\n[key.wy = 5a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[sha = SHA-512]\n\n# tcId = 414\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[key.wx = 00984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00e]\n[key.wy = 00b4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[sha = SHA-512]\n\n# tcId = 415\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[key.wx = 00f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf7]\n[key.wy = 0087bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[sha = SHA-512]\n\n# tcId = 416\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[key.wx = 452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd6]\n[key.wy = 68a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[sha = SHA-512]\n\n# tcId = 417\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[key.wx = 44a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72]\n[key.wy = 00bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[sha = SHA-512]\n\n# tcId = 418\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[key.wx = 10b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa]\n[key.wy = 009be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[sha = SHA-512]\n\n# tcId = 419\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd7960", + "11337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[key.wx = 0081f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132]\n[key.wy = 221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[sha = SHA-512]\n\n# tcId = 420\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[key.wx = 00aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[sha = SHA-512]\n\n# tcId = 421\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 422\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[key.wx = 00aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 00c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[sha = SHA-512]\n\n# tcId = 423\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 424\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]\n[key.wy = 009a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[sha = SHA-512]\n\n# tcId = 425\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 306402302290c886bbad8f53089583d543a269a727665626d6b94a3796324c62d08988f66f6011e845811a03589e92abe1f17faf023066e2cb4380997f4e7f85022541adb22d24d1196be68a3db888b03eb3d2d40b0d9a3a6a00a1a4782ee0a00e8410ba2d86\n\n# tcId = 426\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30650231008071d8cf9df9efef696ebafc59f74db90c1f1ecf5ccde18858de22fe4d7df2a25cb3001695d706dfd7984b39df65a0f4023027291e6339c2a7fed7a174bb97ffe41d8cfdc20c1260c6ec85d7259f0cc7781bf2ae7a6e6fb4c08e0d75b7381bb7d9b8\n\n# tcId = 427\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 30650230470014ccd7a1a5e5333d301c8ea528ac3b07b01944af30cec60f4bad94db108509e45ba381818b5bdfaf9daf0d372301023100e3d49d6a05a755aa871d7cb96fffb79fed7625f83f69498ba07c0d65166a67107c9a17ae6e1028e244377a44096217b2\n\n# tcId = 428\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 30640230377044d343f900175ac6833071be74964cd636417039e10e837da94b6919bffc3f5a517b945a450852af3259f5cbf108023032ea25006375c153581e80c09f53ad585c736f823c70147aba4fb47bb0a224fae4d8819adad80d4c144ecc2380954a9e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[key.wx = 00ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]\n[key.wy = 00acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[sha = SHA-512]\n\n# tcId = 429\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ccb13c4dc9805a9b4e06ee25ef8c7593eaff7326c432d4b12b923163cf1cbe5fe1cfd3546c1d0761d8874e83ffd2e15d023100db1b0c082ae314b539f05e8a14ad51e5db37f29cacea9b2aab63a04917d58d008cf3f7ba41d5ea280f3b6a67be3ae8f8\n\n# tcId = 430\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100c79a30e36d2126b348dd9eb2f5db6aa98f79d80214027e51bcf3cabec188a7ebaf25cb7bbe9ec6bfed135e2a3b70e9160230241338ee2ac931adea9a56e7bfe909947128d54d5122a47b00c278e684e10102740d26e89e343290a5b2fa8b401faec6\n\n# tcId = 431\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306402300df82e4ec2960e3df614f8b49cec9a4ee1054365414241361feec9d9d9b6909d8775f222ec385a14afab46266db390c302300968485e854addba0f8354e677e955e1ef2df973d564c49f65f2562cb2a2b80d75e92f8784042955f7b8765f609ce221\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[key.wx = 00d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]\n[key.wy = 00c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[sha = SHA-512]\n\n# tcId = 432\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402301fafd83d728422e1485f1e52e5b631548647cc3c76c109c3177a73751d91a19012fa4628b218f2229fc4d55f105fe00102304474f9af7b4b0bb96fdb05ae918f799024e8d5b86", + "4e49ccd047cf97e7b9f8763cce015c11cf1f461c9027cb901055101\n\n# tcId = 433\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100e6025bb957ab197fb4c080d0a5c647e428afb0d7cc235c605ae97545494fd31a9979790bb2da6e1cf186789422b15c970231008ae9872291430d1bb371ef72360dad5afbb6fb001f403d9aaa1445f0326eb1eef775c9dfe1d7ef8bf4e744822108d27e\n\n# tcId = 434\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100877d5567c18fa568259005a89c2300d1b3825b732fa14964c1477d4b3098afd09384b97d497464adba41e9df8a74d339023100c40f0760717b4b3bae75742b6dc3dcf04cc22a449cfea19d305e0658cb705fda75163e7399e0b3125ca7d1919c13851e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]\n[key.wy = 00e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[sha = SHA-512]\n\n# tcId = 435\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e706b0045a6f54bd175e2437b48767b0204f93d8a4d9d3d00838278137e5b670de4305c5c55e49059b8b5f6e264654c90230405741adff94afd9a88e08d0b1021911fa4cedb2466b1a8fd302a5b5d96566ada63ccb82b6c5e8452fde860c545e0a19\n\n# tcId = 436\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306502300c57ce2bc579fbd3a759dfbf5e84c3cef2414846a2e300453e1e4c5188f24432b14ca647a733b6ad35c980a880d36145023100f12a119e22d48b82049df611f1c851fb22795056498a873c730fcb9fd8f314728de0298b9b22c348abc6de2aba97e972\n\n# tcId = 437\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30660231009a8f80697ccf2e0617612027d861a3a3a657fb75cc82810b40dd5072d39ff37eca29008390da356137e2c9babd814198023100a86537a83c3d57da50e4b29b47dcc3717c5a1ed0fff18ade8dcce4220eac63aab60b9bfed5f1bdd241dab655a9bdd75f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]\n[key.wy = 00d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[sha = SHA-512]\n\n# tcId = 438\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306602310093718f6f8542725f62de7039fc193d3fcc81d622230ccc94e9e265390b385af3a3ba50c91a9d6a5b1e07d79af2bd80b2023100d08499f3d298e8afecea122265a36dbf337259020654739783c8ec8ef783d072555b5907285ce83fc8ced9c8398c6269\n\n# tcId = 439\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ce26e42c490dec92cf59d6b1ba75c9a1400d6e5c3fd7c47e1eeb1cded30a3a3d18c81cdfdcbad2742a97293369ce21c202310094671085d941fd27d495452a4c8559a1fe24f3225f5b8ef75faf9d3fb01372c586e23b82714359d0e47144ff5d946161\n\n# tcId = 440\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ffc4738acf71f04a13104c328c138b331fb7202aef66f583ba543ed490d12993c18f724c81ad0f7ea18dae352e5c6480023100e67d4ccdeb68a9a731f06f77eae00175be076d92529b109a62542692c8749ddfde03bed1c119a5901a4e852f2115578f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[key.wx = 00fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[sha = SHA-512]\n\n# tcId = 441\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e6fa8455bc14e730e4ca1eb5faf6c8180f2f231069b93a0bb17d33ad5513d93a36214f5ce82ca6bd785ccbacf7249a4c02303979b4b480f496357c25aa3fc850c67ff1c5a2aabd80b6020d2eac3dd7833cf2387d0be64df54a0e9b59f12c3bebf886\n\n# tcId = 442\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306502301b49b037783838867fbaa57305b2aa28df1b0ec40f43140067fafdea63f87c02dfb0e6f41b760fbdf51005e90c0c3715023100e7d4eb6ee61611264ea8a668a70287e3d63489273da2b30ad0c221f1893feaea3e878c9a81c6cec865899dbda4fa79ae\n\n# tcId = 443\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306502310091d9da3d577408189dcaae33d95ed0a0118afd460d5228fa352b6ea671b172eb413816a70621ddaf23c5e2ef79df0c110230053dadbfcd564bddbe44e0ecb4d1e608dbd35d4e83b6634cc72afb87a2d61675ee13960c243f6be70519e167b1d3ceb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[key.wx = 00fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 00ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[sha = SHA-512]\n\n# tcId = 444\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100af0ed6ce6419662db80f02a2b632675445c7bf8a34bbacdc81cc5dd306c657ca4c5a3fb1b05f358d8f36fda8ae238806023046b472c0badb17e089c8f9697fd0b4ce71f0f4471b235483d4c8dd3d00aa282cde990253df38ba733b2ad82a601c7508\n\n# tcId = 445\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100e2aa9468ccaaadad8b9f43a429c97f0c6a7eedcb4d4af72d639df0fe53f610b953408a8e24e8db138551770750680f7a023100d81020846d1c50ee9ae23601dd638cb71b38d37fb555268c2fa1ad8a761fa7b27afcab2fa69224d1f976699914e09de2\n\n# tcId = 446\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306402306bf6fa7a663802c3382cc5fd02004ec71e5a031e3d9bfc0858fa994e88497a7782308bc265b8237a6bbbdd38658b36fc02303a9d5941a013bf70d99cc3ff255ce85573688dac40344b5db7144b19bf57bb2701e6850a8f819796b67f7d0b6aea7e50\n\n", }; -static const size_t kLen73 = 229819; +static const size_t kLen106 = 225135; -static const char *kData73[] = { - "# Imported from Wycheproof's ecdsa_secp521r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[key.wx = 5c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508]\n[key.wy = 7878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5a27a24a1aae1e218fdccd8cd7d4990b666d4bf4902b84fdad123f941fe906d948\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 3\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 4\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 308188028200414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450282004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 308702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 7\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 308502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 8\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 30818602424e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 9\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 30818602404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 12\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 13\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30818b028501000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 14\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285010000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 15\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 16\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30818f02890100000000000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 17\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30818f02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028901000000000000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 18\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022f", - "ea8318ac1\n\n# tcId = 19\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02847fffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 20\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502847fffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 21\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 22\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a0284ffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 23\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450284ffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 24\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 25\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818b0285ffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 26\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285ffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 27\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 28\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818e0288ffffffffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 29\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450288ffffffffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 30\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 31\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30818602ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 32\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 30818602804e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 37\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 38\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 39\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 308188000002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 40\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 41\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500\n\n# tcId = 42\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818c49817730818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 43\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = ", - "30818b250030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 44\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef\n\n# tcId = 45\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b224649817702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818a2245250002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818e224302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450004deadbeef024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452246498177024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522452500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452243024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef\n\n# tcId = 51\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818faa00bb00cd0030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 52\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818daa02aabb30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 53\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818e2249aa00bb00cd0002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 54\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818c2247aa02aabb02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452249aa00bb00cd00024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818c02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452247aa02aabb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 57\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 58\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 59\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30818a228002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 60\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 61\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 308031818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 62\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30818a228003414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 63\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 64\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 65\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 66\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69", - "d5285e174a01a93022fea8318ac1\n\n# tcId = 67\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 31818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 68\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 32818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 70\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 71\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818b300102308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 72\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a\n\n# tcId = 73\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 74\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 75\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac100\n\n# tcId = 76\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac105000000\n\n# tcId = 77\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1060811220000\n\n# tcId = 78\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000fe02beef\n\n# tcId = 79\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10002beef\n\n# tcId = 80\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 308188300002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 81\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac13000\n\n# tcId = 82\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 83\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 304302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645\n\n# tcId = 84\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081c902414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 85\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 3081870281414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 86\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502814128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 87\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3043024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 88\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 304402024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 89\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 304402414e4223ee43e8cb89de3b1339ffc279e582f82c7a", - "b0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502\n\n# tcId = 90\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 91\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 92\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 308188024300004e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 93\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450243000028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 94\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 95\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 96\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500\n\n# tcId = 97\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30450281024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 98\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450281\n\n# tcId = 99\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 100\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500\n\n# tcId = 101\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818600414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 102\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818601414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818603414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818604414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 308186ff414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645014128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645044128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645ff4128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 111\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30450200024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 112\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450200\n\n# tcId = 113\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30818a224502014e02404223ee43e8cb89de3b1339ffc279e582f8", - "2c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 114\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522450201280240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 115\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414c4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 116\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502412ab5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 117\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86c5024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 118\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a41\n\n# tcId = 119\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 120\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 123\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3081870242ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 125\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3046090180024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 126\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645090180\n\n# tcId = 127\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3046020100024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645020100\n\n# tcId = 129\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbe97b3367122fa4a20584c271233f3ec3b7f7b31b0faa4d340b92a6b0d5cd17ea4e024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbf4d826580ab145752e852a6e91512b78178047879e9714a4ae1bc74298aaa7223c024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081860241b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0040b27d9a7f54eba8ad17ad5916eaed487e87fb8786168eb5b51e438bd675558ddc4024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fdb1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0041684cc98edd05b5dfa7b3d8edcc0c13c48084ce4f055b2cbf46d594f2a32e815b2024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a", - "697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba09a7b6ac4ecd0410b4722ca75ba197a403a0a1f9ee0e7b391b0649fda1d3969eeca\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a5d85db5e551e1de70233273282b66f49992b40b6fd47b0252edc06be016f926b8\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450241d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fdd74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f6584953b132fbef4b8dd358a45e685bfc5f5e0611f184c6e4f9b6025e2c6961136\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and", - " s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201010242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc01", - "48f709a5d03bb5c9b8899c47aebb6fb71e91386408020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-", - "1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 304702420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30818802420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 304902420200000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 39353032\nresult = valid\nsig = 308187024200b4b10646a668c385e1c4da613eb6592c0976fc4df843fc446f20673be5ac18c7d8608a943f019d96216254b09de5f20f3159402ced88ef805a4154f780e093e044024165cd4e7f2d8b752c35a62fc11a4ab745a91ca80698a226b41f156fb764b79f4d76548140eb94d2c477c0a9be3e1d4d1acbf9cf449701c10bd47c2e3698b3287934\n\n# tcId = 217\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 308188024201209e6f7b6f2f764261766d4106c3e4a43ac615f645f3ef5c7139651e86e4a177f9c2ab68027afbc6784ccb78d05c258a8b9b18fb1c0f28be4d024da90738fbd374024201ade5d2cb6bf79d80583aeb11ac3254fc151fa363305508a0f121457d00911f8f5ef6d4ec27460d26f3b56f4447f434ff9abe6a91e5055e7fe7707345e562983d64\n\n# tcId = 218\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 308188024201c0832c973a455cac48a4439659aa21146036c52ec1514121c66714348a1c0e2c7099a2466d9acb49325a0cb509e5dff2efbcd90369d3027cbb7dca58a134278d05024200a426c063ab5cc6af20dd1ba8a519fac910183561598e67c0929e25f9c3aaeb245c5647fba21e30c103304dc6f49e6dec68a7833533e4e5448240bde023fe201eb9\n\n# tcId = 219\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 30818702410d01cde64dda4dbcef1a9b924779598217b97eb688d9b4a4fd20d1b81ff0bb870abff1b0db6dfc3762f27c3954f230a7933d9ea397a972caac5ed2183ec72716c7024201c6530fb6b913005f81e156be89b3847701829fbb310d8a4c761212c6d2f8750174f2bf81c238fdde4370fa87de320f57dbed96691af45cb99f3daa865edcdda59e\n\n# tcId = 220\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 308187024200c009c74ec707252325d78f4e7f14be28f56272be17c0c18c90ad4c07322cef4eea444c8feabf41a213e3e846f8ac8bb7750d49143069cd01877d530bb981f1a85b02411f1c27ef97f434a8c2ff315dd39d909709775bb3c7588243bdfd8f7c866c49b3369719d5b74a47924bbce57301675e2baadcec438e07e6d532aba664253ab09550\n\n# tcId = 221\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 308188024201d3b17a34b19d134773988c434a9fb7f22a57dfb4c4bcca031e213e1b9a56db0ecb2f3c54cf9b1b6e5981369652de37337a7a7d7ddb54d67b067bbce01fd7fd2808024200c90317dfa061122557eb3899939924a8ea3cdd886e0f2e5f2c384b65b1a40de5f00fd9fce889fc313a6a9d5f0a9cd3a7b89b7ba8e97807031f3d1e3f9c103f0a10\n\n# tcId = 222\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 308188024200cdca5299e788600a3ca5938d4a4c5f42b5eea3cefc990e67af95a4449aac0ab50e8fc4778efa497223cdca07c0e5a5920110f3a87afaaf265beadbb91c00d13464024201a92b9a5570b42f91ebc3d8ba272db9241468154783548d3fcfb6ef46c9e037bb6217af0a31ef952c27604629ad5775e7695c63efa138cee8326a51c1b04d0c658f\n\n# tcId = 223\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 308188024201660b0ed15d5f63044cb189e1a405bcb591c37217d0e000008614b152665d5bb9353a3826854a8bc6ebed423b15680e4340a00701b17bae24bd399bcff7e0438bfb024201c47f2f5c6143d2eef063757114aaeb27827b6a8f675d1825dac7f4548cbf78a37eb9621a29e9b14cf61fc6ae49e7e6e15350a4b90a4a897ff69b0c59b69508ebc7\n\n# tcId = 224\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 3081870241364684856c7c02bfb2ad2de603d10883ca93c122d4cebef276467a9b7620fb530e4d05d07c15ab948b9ce7682561307913b64ea6896ece1095dc64369f1a9d5c0d0242009e6db2ff96d9d71150440fd44992656ca118fcaf6bd04499314e8ba61a55a8790aac023ddb68600fbd7ed4cd4decb176e8bd7822ea31d75adcbdaccafcf510c26c\n\n# tcId = 225\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 308188024201a317e49014f1bf3afc09cc048531010e2144b662cac657e51b32bb432d274a730b535fb2de66fa8ddd26faa3f46e004389d25517c56e7d8a1d39563b0e8c9c215b024201ad2e1212e1680b660a1c07f54addff575c8c8298e26a14c516f517fb5f966a2b383aa46a483fdbfa72711d60c0f67a2c03d63d2626ffe271e0ce353a4d4b09bd5e\n\n# tcId = 226\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 308188024201c09b29fc4da04e9b86097bd6d6806aa969ceb37ce52eeac5e9518d27541c3f30c00f113d9dd3b007dae6f381896d43fc6ddfb3fa256a36529b054e416ed638059902420113e5622cb1e4c4bb0842f3d396d7e660241116e94e8120a602e3d2952701b1a11415a3d8c503adced160450fd13157ad147d2d65d77449458659350e20a545602e\n\n# tcId = 227\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 308187024178f4a2968460ea8f64a938b3a97c914eb0ccfa94eb08636efee9d5ad8668ce1c9099573abd146df9e7b2ccaaa1a25de903f85962849356a872e88e545babc28974024200f2729e9593c9fcdf5971b21e367ffdc87aa7520393527c6f68ab512b88b839003c1c9952b04f2dc74010a31071ee20a9fb1c7e1187d04de71b3f4327df128ccd43\n\n# tcId = 228\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3081870242019faed147a76b65779d0989e1300802844c9ba09f338c5e31a24d9ebf8f0b0b4c21f59d369ac10e315fa2b7605b0f17a9c07cf6ce4c83838e58333a3390142d79d002415f4de71fdaced1e8da86efd47ecbdac6a6ffc6d69df71da7ceb5596475cdfecea3d00f074d2de89e0fcc05e3231d531f0d38f2b7c6fe4ecf67a0cdddc21d0867b8\n\n# tcId = 229\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 308188024200d0b144350a2128f042bc1a27f6c021dad1ec031be8f1d8304797f9ddcb742974aae209f014980174b9d4e434e3f53247889d2da4b767593179cb4eda47e799643002420184d3416dee35ba8807703a91ac927096c10959a05cbffd8103a93a9f20a11537bed7a645f32295e4abce493579caa4e2242060cc4d58b2414870e98b9336795787\n\n# tcId = 230\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 308187024105257a0f45ee2ae5cc30283d23c47c96f6deaa3ac1473e8e8a40eaf61bc4b0ef8bd18d11983f257ec4b1d8d04e76a122b5bbe1d31065159072c58fd9bc3e98376802420122dba50d0eb71bdbf092a94a7ea280412906e1f849e91dbd5d8158e3fc6cd12e20461b77653e3df2e45b86883f81071b33651ae1b84cc8e7c365ab8d6a36d1cfa6\n\n# tcId = 231\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 3081880242014f624af9d8096fe7a290651d23ab260da64e44b886fef4f3881d0d984d3b387fddcf65b1fa1dbb239028fbab4a1de6ad150cc8a4e4db0a971bb8bcf01c4728ff9802420105e3b55db0141c06d9854096cc0f73415dd2b85a331da50cfea3bbf648bbf8651f61f2cd09386b62fbb8ce67248683c260894d9ed54d6667ae02978e38ab99320a\n\n# tcId = 232\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 30818702412c952d7e61e1097cd7f709e62ec486879b380b63791c146b545c064e65b3060250d00af279cf15eade67384b28594db542845fcc6574ef5d8d5bb8a162e0350a0002420135ac6d1cc05b095fbae28b652fe5386b8689e21a14990236d3ada7ceeb0c12a4f774bff7b81c8d07572b0c7985364c5d31f33271f0ac3a2afb88b46bfeefbaeaa8\n\n# tcId = 233\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 3081880242017919eff78225e1937a921f98f5d153cbffa03929819f228ee013f8e59549b04b9867006a8df25a93a6a25dd1d3f540239a8ed14047ea00811da9305ec515ad000d0242011fb873bdae1757801e575c5df62cf82a1881af3cd6ed17dc50edbe6c5fd0f4d31766670b2aa572a9e6547b36142afa8464d0be4bf41930629dc04c85e01b2ee8e2\n\n# tcId = 234\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 30818702416ac9b370067b13ac2b57f35d6d9b1faa93b9b068ef5ddf8bde3a54024810aa2226560065b0cb7501df96b4756ce1e1fa607f86a942367894a1f7728bd5f22cf1770242008b47a9e1370c9f5bf4677d554c00e9ac3ea7cdfc78836ac53ac710b7f3bff8c2297780c69a9fddb80e03a605e5e48a52e52fd35f41668cd9064886366fda206086\n\n# tcId = 235\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 308187024200c4bcfff265cd32442220976ffc7e4ec09181d694696eb89af0cb2d5a2dfc3876deb3c6adea168965200c355c3bff5e47ab17ecc44c8434333280796d3a183449ea024162debe91550f8a760eaea309f48483c65a52c7e88a83867c31730cbc6b0a64d4c564bde67e6539af787ecfd18016cde46ddf91740f58f6ea6ec80b173fd1c47ad0\n\n# tcId = 236\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 30818802420174d744ddc631fcf8202fca0ab10f6d96d3f7552bb2a9ae5ac573634133f61c59a120fedbc39cfb521ab0cd572afbd5147981090d1dcbfe902e03f0c0579967b5810242012f59ca927c4ae331d2f667fcd9ec01b0b5514e2ab5da0561ea614431dc1fcb761c351cd1211092720ebb7074a5128f8019b7c18e048d5ed3573ed61686e9713f72\n\n# tcId = 237\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 3081880242019a513cfaf871287340d8a51d2f4348ab4096c5fe244b22add38ce433e3178e8ff5b2df0fe74a1ba40fe8341f734c71f9a1177b41035777e2da6b082e0b566690de024200d0c43eb33a817c3aab30281c593c74517ee84e958b114395ce0b31fcf30bb8f5dfe60dbc7f6f14698977d8e0516a9274a5bd71847057e006fa315fae6922eaaa55\n\n# tcId = 238\n# special case hash\nmsg = 323", - "23332313935383233\nresult = valid\nsig = 3081870242013204800efcb40ab09ae4137325a3e8c468edae91880a51616ba61f3ef1f72fd89feb956bfb39818d827468bb4475110a04779fd6bb3def25c61c4ba60889ed0ff70241704b7394687698c8841f4875d40e5b3c914f154ccb2b54466ae163ed3410f20d0a07ac5f90c0c31271ec8a524ca2dae4b8bc4f6e1ece173ea907890693c5f2190c\n\n# tcId = 239\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 30818802420180241cd2e6163158a39599890dabee99c2c86b88accd2b04b5a72874fbdfbde0d18143c4d78e0da1abf3796b238738840d60e34775a8ff810d58a9bb3559a3997c024200bc396c2ef28b244fb8e004bf5361572ba1fef6fbe081ed1dedba4d9af78deee126599f75a0a9d0f1b1618ded7a0c5e672e40917fdd30582460da3aeb1e9c4477d7\n\n# tcId = 240\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 308188024201485fc03fcd629fd4c564775ab6969bbc696b5b0f38141b69f86e052e7fe8849a64af2dd37a2adf64672f20bd6f97cd32f0efea51aa22064c5f10a3911177e1979d02420180fab473ff9d726db6d266541a0bddff8610e4026d26b6c9abf972eaef477d50670bdd3067c9d711a8346e16869147751e89b4ea75bb00ece71300cc3b80cf8899\n\n# tcId = 241\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 308188024201bea49b150a27026fdf848297b0491019f76abf90f3e6d782e3d3fa6caddb81b7ef58b27f1b2b3f7898889b4e2b6cdda7b5636177a27eb9a67b2055b6f21d262c26024200dffb13c2d5f746c8573aa444afc8baf8bf881cc4d0fca8169f6cb304f400eb3932666cd3758c437c9cad79abfd89c72a788505763aabdfabf8903ad4a70d9ec9f7\n\n# tcId = 242\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 308187024201d56bf6f3758f627f470706d1d28c28fbfcad6dc30465cb285a274fc057f791de73ac30baccde044473fa9e3dce6d395eadf98d1f97259bd851a1eb6f3d31d2d756024133704b4ad37300a96682569f4f7fea3e14d6e1f65864663f39aa67f40b5c949f198d5de9f2ac2369bbb9111c89b393199537c6c08ed7c02709c733ef7660113d53\n\n# tcId = 243\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 308188024201554035ba84b051d50901c622b98be4de0123a02928dffa7eb13b0403fd5e255f226505e15694956a66a878ff581173d123d1b24eaa85c5fe46d8973a55040ff405024201b016dd6b5176ad8347eb9802dd7727e06a29db33cc946f809a42f9193040692b0f82ebbd04eff9f099b7f75f8e45e74ac00a51a9cd4f2cbf5f03f4d2bee99c24eb\n\n# tcId = 244\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 3081860241293e8d6775f3c14183aecc22f608e9013d7b15dad167bb38a1dfef6b373619f1ba2751d77b43f643f68643cfdb5c04a8ed858bfcf3858a681ae93bfc7cd7e3143802412c7d96db7dbbe347bab9f6f7b88f48cb32ab963248737d2c901b90d64591cbdb0f0ca7a14557f8a50fd80d402f929dad141141f1f0c85d9414b32d1fd4d796e6e7\n\n# tcId = 245\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 308188024200b16a9b3aceece85908125f96f6cb6b1afd0ef04171936b3766f8e43beb340d382084b33439f775a29a83945da8efc4190db1343e87d8c0ffb97aeb3be159d90f59024200e5c2bbd98e449bd0bb4f75a07f1a88dd63c0602a7660f4acd33937c4913a9c16ba44dc5808892ec88a4255109a7bc5b221c07e6a278888a9712fc2a25b374427e3\n\n# tcId = 246\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 30818702413b47a8ed52f5b0566365313520bc0b6e4e4efb3ea4176ed7a352c4b2f8bffbdb0148ff44f3f13d9e5e31b1cdeae097574aad8bf393c54a5c842e749ee87a74c6b0024201d3f484e9e224bda9c8f10fbb74bbb62d7a18245707f4eb52f17dde793892c16e4bdf504960fba55da487f542d412b1b833f6f46336118618fcff69469c83963777\n\n# tcId = 247\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 30818802420128b8988bfe9287f82ac97be507a544b823e85cc2813b6929e63699cff85a40283076028e7bf8d24330f89adb96bf24a4e183a898e679b36768909574e7d4733d61024200c18aae44e6801fc2e3d9c7a20ff9d42b46e4a31ca37772f8c46ce65219b195ca23717f816e1fed51e5b6f9a0ca12c3cf81ae7fc9cc6946a88330b2011ddd160930\n\n# tcId = 248\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 3081870242015edf1fa95b17159f762d68c1736101309e80fe5b2c4415609a5ac0837fe5901f3c2d3d826a43b1f8cd1babf494ffd96cca1267950188a924d4e1bf7f68189f27d302412e8697efbbf53adb7cb1b904718fc71eb2561f331c209c50848b5bc50bef77c5c3487d285bfaa3caa14025cbb71bdbaea6911e3610335641d2799c3fd75019f716\n\n# tcId = 249\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 30818802420161f64bbe93fdc0e61134cfd4c453ab740233b436179351aa68a3e38a83400d86ff464d7ceb7a51f541b86eb2f12e32a879b3a29bcb92e08cd50e74f86a0ed52ae90242008f6fef49ba12ced6696f4f6d24e6c68057a84496d42eede630199e9bd06d91363542a9776bfcd6d77fbae422e80fe466edd2c2c5e1f5cc79bedd1a7becc1a12660\n\n# tcId = 250\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3081870242013a6faccc1c06cb5dadb2cf083cb94a7181fd5cbf3954fdc430c2691248fcfcd13767e32491f00269b549cae93777ced0f7b069440726adde7605d4038d7b5ea4cc02417622c9065f4c49a6f8649073dfc6a827b897b6984176b1a09d151b9733a68f6da746c47427cdeb3be075da4a351ab78dd5e472cd98d1586edd6ff2a11c6c169fbb\n\n# tcId = 251\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 308188024201899609e7f7cd2ef14bfbb1cb9ba9283ae11a9346a34bef23b1c249da2e76a7708e0f2f97f819e4e25b0d5227eeb85aa593c3fae9398a7020f61ae1606945d13841024201b8d5e9c4f030295447106d2b5c80cc2e7d4e36b458a90a08f505df62d2234e59d08187385ba5501049b34e12ec92f7839a18361a52a9a0b6f6a664b118680b53d7\n\n# tcId = 252\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 308187024201ddc69d1508021eb560db39f3add8a28dd7fbce417e5fa1f4f626705caaad72b634868d01dfc474e926c97927c56ac51f9bdcfd0e7627be35cc300a0cdc083b00d402416e862caf9f2df11b0a46104e78865fbbabe30bfac0b1fe7f99badc11746a288c1ff27f6fa2aaba6441bab0372af906eef083ff03ba466b896c9344cd396dd46dbd\n\n# tcId = 253\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 30818702420117fe2c21f282c7e4a8415e9c53c254514eeeb0adadc771adbc6d21a09add4f17ea0c597469488238be795f2e187fa016d590535b4ff10c62d2246aa17bb013f9ee02413c9f1590ce7a68fc84c617f478188e71aefe8c74c4b9979b8c9196bcc262205aecce5fd2bb80c360d3e20da20e36c5ab70d810d4ba97d13858199d3a1c9c140c63\n\n# tcId = 254\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 308188024200be6b47254a3cf93e2e276adfb072256404744070d6dec83ef34e3e6c119206422bb275e61fc47053ef7b2af9e33aca8f8b2e4938057070eb6ebbcf82fabb44a5fe024201061ef80935ff6d0e9f87f3537b639945acf50c5d97d30b4b9c347e3f5f5ec02b15a376ae754d64b2efaa811b3d12a0fff0bc689022025dd2f69f2f4b40dda8687a\n\n# tcId = 255\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 30818802420130b6fd7dec5cb6f90a8b54ce7b58c61b013d0aed7c4a26639de80aeac3d9e3388e9f87e1e6419d3f0339af324e1421b5d130317ffd9d8be36500a84bb41d026cea02420176b460a3eae01d8aa8ccffb0d6cf4d1595aa697c65510a1197b97343c1a6234552ce9d6d318c5f20f48bec0dc311dd62eb40058f3cb22fa958edaf9ddded191a08\n\n# tcId = 256\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 308188024200a87de42d827ae1f55d6fab3277c7a9fdfac3af22fe47e52bfee34fa1ee3e765095fff20175becbdc94b4a5ad3a149ea7c1bebf4d45370e6b4404a0437d8fae264f024201a3c1c5186d8aa491b4623f5765a388930f37bb8f3e1c0db508983585b9090b3aaf22bb846e0fb6d915b5811ac55e4d6cb08f605cb84deb55ab7fba2dde8736b1c4\n\n# tcId = 257\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 3081880242010e46055d9aa087f1c4b6056319cbf17a0694fe073266a3f30363030e345a4bd461acbd99d1261fc05ef3c9a1c37afba6e21c2d513ea3d4709de5586810d7d29ec6024200d0c95c7e97a94efb44aa717cd6ebe82de0644e32676d197351f128ee8d2b223ab476d3e66014ecc003081f7040c578b8984628d6ec80733f713e26b2c98cb4ede1\n\n# tcId = 258\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 3081880242012c04d08a7a2d07403aba604ea85ec23a52b52786e7fce04170e867be6146eea75a7180f5d4f3b82a204a3c996811a1e61a3e76ed209c22428b35c51fe60f3bee1e0242016f2feabc25733b0a460463b9933e6e4ae9f4124cd0ad3785c77755dbf0848ec1cfd2ab08b960b556870fa00388d23d9a9fa3112ac3e62a0f342d58fb1f0aa81748\n\n# tcId = 259\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 308188024201ca9532c9daeb80d0dbc07a4138ba62a6bab8c88b9e1e2edf2675132eb97cfb26f4c395f3b9d1d1275694956b34c3ef72cd00bab86777465b9edba29a41b0114c6202420140eb6dddff253a7ff5b032d82fbd18e481a376fe242f6405b81b57165665c9bfe61e25cd3358245bdfb8de7632de72ed20cdacf384764096c8fe3a376563a348af\n\n# tcId = 260\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 308188024200d609e1f1cc1adf5889dc6deda441682e760be08932b31592fef3ada143fb4940e4ea75ae519e4fb0769c4fbd33a52b183a21d0bba1ffa3fe50fd11f75c6ac58ff60242012400cc4ddc24ddcd47a6d639a2abdef29a65d4fe9175f51b316f4bf918bc918879495c572f8e98364", - "e2e1aa0d4d53ad29e803a4470d94dd06a982a1d041bf2b5dd\n\n# tcId = 261\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 30818702413775a7e61bdda9a3a990ba9fde98f9d81d4b03195547bbd0658e1059daa00da9270671b2fada1bbbf13982f87c9f3f26dda5cd4f24de63bceb5fd9390163c58d260242010a03e4ba08f9e2b6915a6c0b83156b00f59efc5417394c51ca7616b58cf91ab7166d8459eb4eeb0d57146ed6560e173faf354b4390817e0aafb38294df25992cbd\n\n# tcId = 262\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3081880242017ab00a30c88faeced3e4a10f9c63785bc29e9af4499466bd8880827cfa580b6171f4a20f36487f7b94592946bca4162faf65872af6bfb1919e6b026c14e51e2740024201927515f6489e9b7d9cbf61e103295857c8131320217e7a86d3f2fdcb350da5b42c2dbe173fcb025d14da239d7d610de8475914748573429c9590d3594f4fa3aab3\n\n# tcId = 263\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 30818602413b2ba1509aea9d42d400400033952a022fe7e00c7ad65c39a2f76d41130aada99c3cdfb9cf44575a2163de29f097beb9bd3aef9334e6fd0813dde2a087f938c5f602411afb56087dfd5cb4fff6679a114c340f3a59f6b3e1813373bf3ebe30cb5e8b285a5875d1b5a9120db80f70310201559f89bb1df147961d1ca4fcdb5e8e84cae082\n\n# tcId = 264\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 3081880242010efb321a347625343f5126ed8545017d799eb103c75558922eabe44211e8fd834655dc2ec5bee9bb3e44350eb6885e0ab974730222e55f13ad27c066722fecaa25024200d62e3d7ff9215369aa7da818db302e49033875010b2f9b73d25ca5b9bf2c62ed756686230cd5f4a37c1fa881c97e623919fab827de5995ab456a1fd7ac7b85b1f8\n\n# tcId = 265\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 30818702412f778cd552f54da5f567f47e6979872ba130dc0890172bf3b3bb952f03c64bc8783abe9f056d60e1667780f5ea88f59ef33c735d540561a197d31fe34853a60a52024200bd2816f06372f2e3f2582d53e583e133a551aaec04ddc2fdb7b8131787e73e4295ac28a9604a2402ed5b272cc03be57dd4a7df84d9ee24cb0c2bf124ed927defee\n\n# tcId = 266\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 3081880242012a459fffea70d3bfc13e9ea0abb10aae3910df604997cb5e4bb0548abd852abac6b9a32418c3b5ed4e7951ae88eecc0a2f1065caf24c6a814674e95682d9b493f2024200e2abd05c585e0c213a219a7e7d38b810d252ffea67650d4d1994a41c2ca325bb964920c6c2545381c45ca3e1eca05e00514b366cb0e1e49b8c236d383b260b9cbd\n\n# tcId = 267\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 3081870242010f2653d94aa28bcbd667a5013f9b283d8487c44d093ee47660329398caa550ca9c9388c7aadeceacac1507e76590afb736adb3583f54f31ae25c9c717ec9f89b5e0241494448a7ffe4a4eed84b4602781ecef77a23fed116b1b791b8d2e4231b7ca2a7b6f06d132705932d446e61d344714ee24014fa5bb144a96572b3d48d038a55ad68\n\n# tcId = 268\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 308188024200c2da48552c39d94f5a45427ae9dcd891b65cca33e624ad2532ffa333666b241d873336fab7bbd7b4c193db4d865cd50f0c1d8cb5c14cf3f089ad42dd43cfff634e0242014f2070dcf860b96a45f2a6061e4ec2a6ad64d7d0e9fbdb25aa93b99941be280f5c70c0e32b6234df545bace7341af94c140c865d44fa8ea7ebe0fe53bda44645df\n\n# tcId = 269\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 3081880242009bc6e74549b48a1e7c181b179687fb27d6e9acac47ec34b1b8bd044d329320544e4e568e67d17f4cda2f0a3fe303d561a11fc0c981ed9be2fcc6d397a43ad49e10024200ff295e43fec5b68b00ce8044434bcd17af1ba04a74556353e258d017ba26bed67f458fad5dd8e7d2734d56f59928c2419441a9e8c0573db3586ca056951ca935e0\n\n# tcId = 270\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 308187024120963638d0b058494254efce57778ac65e5f23491f7adfa72e4713b7c03946b543c014d9660d855246f308085eeee495cd831b7dbece47aea48e90433bd0fe818402420161a4f4977fecae92d4f67e56f3338c7a9b820b5e05db1f28d05d71f7e5f36bc63f6edda4d3c1b2d73bb8a30c4d745b73e634ef574cf47656a372e3eb42cc038850\n\n# tcId = 271\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 308187024201bcc5858597ce8d4dc5ffa6be33f7d804f2f8ef59c5db9301785e0cceb7ed57462f455a465710c7414570c9a35a3100bd15fa40e3ec350d1f75406c2a25885e9d76024143757d282fd1d44c253f9a05d8142c29a6d63c0a1f5508431bc9fb9b60a38b7f414e730e0d59b7b709706a67022e1922fe88b182a57443c58bd06a69ee7814bcab\n\n# tcId = 272\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 308188024201240120b97ea67bcbd0e412d87137a13e347a870a2249375fccf8c004da35e592620774160e7b82aed1f57997fb015a764d014d4be1f389e5499777054576e7bf000242019f157ec3a2410853274bc4d8e7565e9eaa5dc47d5e515abc86c22fa6dc215482df5c0e2b885f37baef3a6ae83daac930617a5fb37bb03ce40f06fa4ece26cbb11c\n\n# tcId = 273\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 308188024201a7536d55876f8392a6eba18f075118c273015844eb3536c727c004c1bf23067d57e8fe31872f8bf839640e80e06aba3c0a365a268cabc2da96d84550a569f17f9c024200e840b6a7cba718d91103faa134c2f63763f3b6b91db7ecbd3b10f10171a875712cb9384325411beca9a3aa87aaae3902c282d2dedaa1cbddd40ccf0d29975df22a\n\n# tcId = 274\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 3081880242013f72be1c331214f45007ff72ce54afce1c910a90e4ff3d176620ff3ca976c2b62d0cdf5d1134290ee97440715531455dc29818828094d366f959e1adc7d7e98ea4024201e80ac38ba69f3e53116e5432fbdb3b1e7ea1b43e5f86d1c0e3d1c469442dbb406ffe524f0685f71e811d94a9efa9ed38ccd9213f983983035f2add0b8f2fa4ae23\n\n# tcId = 275\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 308188024201aceaa6d567ddb39ba52d297e60e4a814c9b476cab568c09d8ace878d846218dd2b5d2a2461f0d5a56c12f0bd803e3253dc5b387b94e86589cb1d0cb809c7071125024201b1fb021b10b593cf9e793cf22a88bde9a4b92f9e218094f270b093e8c6c95aced43d097bfa3354e6b98d195c599c2e6f13351c63c28967e08b7e497e120665c663\n\n# tcId = 276\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 308188024200f6ffb5dd786326041e74564b719d38924a28329868177c13463cff90c4b09d3d2dbc011281cc78aa0e5e8656123bc50605601a547bb4b1761f852a120ea46df9df024201a407fdd445614a16a5ebd4ba075c6c1d7564f3cfd477d6b2620abf18a5bf78311282ea45b9bff813f24c3c7854e6091c8055144f9592fbf2e456421a41c555d7a9\n\n# tcId = 277\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 308187024201a15af4d5ca3deadecd75ec1baec31c8d43fbc889466475e6c23106db4e63ab69003f56d819ddfc5a673c8289f9e6df806b07af57a2541af694e6489734c8eec837024169c35433a3217fcd738a65b7da9e81cd81f04f0ef060050b9c843e9e808d8b8175f3adaefa105d215ea9a46bf415fe2ac180958fcdd878d54f8d19d23e11b76d1a\n\n# tcId = 278\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 308188024200ba899f94841db6c33b850867c8906b436be3853640dbfc863197fa1e5a55ce25240f2be498b9bdcfc0a89dbdca192d8f84ca3c44e5e0ee6f83e7900e085e1bd48102420086e6d558de8d8f014a85cb4a5f6908627e7a1acd70581d9d9c7d14df44d437aa09e5a10a0b760e98d46731f2512ca1b0240c602b5f0a2030485e34de9c6cd08e7e\n\n# tcId = 279\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3081880242008eb5c92dbf5e00888b85e6bf6617017e97c04ae950dd731856b9dfb20e0c0e5c54284f411231fed1d071b321f78618d2a75c139663fb9db3435214cbac5a0dcb4f024201da0dd29d4728fe6331c8e2ade5045b1237664aed157db2a6cbdeaf5abea81324e28920a1c49c334b1226441f88e1a7f2c7e01d63e950d4378f08973db16b2e6161\n\n# tcId = 280\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 30818802420130779f943df098ddb5315cdca4b731c83472d589f4ba4d32c172faf6b3a9e4154c0517fcc5c432eb269b0152297f6df490ece59496bea8047e2f32d0b5f91e85ef024200c9eb0b56273114ce2e553341247da86b813bfd65f143a5562bb1c874ff970523836bcdf390dc196e67dd75cd28112ef74afd51b1fb35333be0505a012efebd4e22\n\n# tcId = 281\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 3081870241593f0132f7b5c282355978a2cba73fd3bd5ce3272066d4ad9bd8bd8b3e2be0990071b3509ea445dd155cf97e294e2b8d1355809d880e10700eeab0eb8ebbaa4f0902420107eb3d5ed75cbb9bcb9278f2266c14c57cf703cbd8f7c7de45c51f0f3baf1dff6bb92f1cbf89ba649677bcdca776fc57f587ce714e2e43e6cc523f0d0a286d38fb\n\n# tcId = 282\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 3081880242016ded17fad10f945e3d953b4fd3b72898c370f15164bb7712673385c10bf3929bea293e08bfc30029a465138ad47abe604df807b31707fef55adf3e104920038e3b024200b76b212d74e4b6eb994d926e9e796975235fad90e339a21a329e6eed3fe96b6d3c0d5426e8464c4a9ed5cbe08eeb5e490f72e9e0406c0d76ad076b476d07c0144a\n\n# tcId = 283\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 308187024201f8624ffa5a6aa8d9d04ed1c2272ea55f5271ca2cfc9aa6a3778a0b8a230f611e5d65af18d8251a0cc4ace663878c33205239ee7e8388cc0a040ea5151507", - "2e3f6102412c1e61197229f40e840ea37325f3bd87a6cd32d080bd61bbde4b072cf7a0c8a89d402cd9235c26f19a084ddceb1cc0bae4006251ccbe10de3954e85a8c5efaf6cc\n\n# tcId = 284\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 3081880242012b01c6601ceca9e58e8abb85d1f6663df70cee761a756b77e45294f09ae609a6b76cfcd67f60e47a3494cb85511e33d92a8d297a1b89e9a9038c0c5b78c3a3d4ca0242010ef5d2fab59bd42e2e92a2fca7a975b959dfb372519330defc8fa8954bfcfb397ba939edb6a944a2ce9f6fafbfcda6092cddf628801f6dd8cd40cad4d809d5c1bf\n\n# tcId = 285\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 308188024201c54a330b9dc47eb88dbf60c9ee49f2c7518c0a78baf642c74105fe283fa4c357ff22931ef42f92d16d6a0b806ef718539d21cad71955a530e21cab49a56f561673024201c2cc32c5a4d335c48d0cbb0407fb7e4729c57251afbf9534c5309b94e6aae13614a1f2514252f48cc7f143ee761782f8dcebf2fb490e08fdeaf570a7ed9d287da2\n\n# tcId = 286\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 308188024201467b4511b9d6601da3557b8ed432c14a80e5999847be136c756a88dd5134689b5ab70d0a2e8fd8d6141e2b143282f98afb93b7e17609522dd9e64c9e4a31c7c34f024200f50ee66a1dfbf86167ba5968d4ee3506a7cffe0f521c1bf830d0867241e345d319e77eeca45858bb3062acbf8d100bc6bfd3127d57a7e91a8199e05052b8ccf304\n\n# tcId = 287\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 30818602417af90f6227750f917d65b1c60200c755158bb783a479be6877c59ed89ff595fea3f3a4137591aab23826ed385bd6156277364b5d603ca272259083e6e9ab5db3f9024170842eb62c894935b82da15ca611d9d754ef57859e0c912c0358d0820f4940cdf5360f116a7547a81bf65617f182e597eb1007e26c62838487ca021c3829a590db\n\n# tcId = 288\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 308188024200b0169e68062caa79f99ec0c72d83c4d0fc2a1c818665cfed1aba3e684392b9a95afb82ddd1de49e3fc3cb3889b4f5a86a7bdf944361db2cfa57021a7643fcfce9502420115ec784e042436892c6cc1bede0f4b7b6eb24b300b1f0c674999a6da816dbefb2d53f90b0dedb962a085e5209fcea50311130800d2a9249d279c7bde2f88622512\n\n# tcId = 289\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 308188024201de4ed1ee81d5cffcf8256a06858cba5eb925ee68e3ed848ac98071b6e30c3b44b102a2de8117cce5b4f9e42603225e0dbcb3fcc171d1492e7ed8bcb6ec286c7de0024200fd1e93bbc8b8adeb7864a2bf8e29d6f9c0966fe3d543525bf268b57cd6fa8852bfe0d2750726d5445560f2fc211aa7859dd3ee10078ef907e49cd64326b397e01c\n\n# tcId = 290\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 308188024201fcafa62ee6275443d7277fc46e4c30b4db845ba45b5d6b54faf47bbf921f825f6fd0f23a38c0c7f4debc33add282afad1154c8707b6e18cd65adcb07d32915b46202420087a27b2bf3c35d18fd397e0cd7159516cf563b98441e030bfde93ceacd2c4e41228b7b33443ef0a351ce553d6d1d71c12092df796276175cd779b8090c4958b391\n\n# tcId = 291\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 308187024178989628acfba86d4bf28beeb9f44001fb8f2d8e245320a19efdede31eae3ec8b496faec30c85e8f63f8ae06046fe1d1575321fa04953e460f6b1386dd5df94edb0242012aba3349732e21a5bb27d7d6facd8c7688b9d0d0271d6a077f9d6d82db45b5456b767f4b9f1a80f487031f9c0b3ea833c63fdf9c6a25e6b424c19c2e55305d7a0f\n\n# tcId = 292\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 308187024114a5a46a3ba415f6e8c566ca1b15fa2055649687b1a9fc84cc0fa8631296898fe014e0d45927e4271396baa4cfb3675669b16e76c339db3c0edaf61337e8bebe91024201fb313129757f76754b60fdb1e4077f9fe3dd62c8bce52190cfeb9c03021cc92f6d7d1302b8a84733486bf769ae94d3db4b60b6df28fed481d3d7c510299f0c319f\n\n# tcId = 293\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3081870242008a3250eb5f28b598c4a42890d25f6af84082d4376f84f1717e5112a76623e6fe0d207c39463d20bb86341bc26c9f68bcdf794671a01f90465025f87a8c52137edf02411ddd317f6622d9b032223f76765ba6c9116ae4b43a1bd357bc9db6fa62f0867dc5d8f781f08c1cbd49b4424fe8c22cfd1dcd07cfde7b3598342442589825aa67f7\n\n# tcId = 294\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 308187024160ee161741d5cb2dd0ff2cf9924aca0376b1544681627a31688e4d8b3b63a01adbb417ee113b9ba8d4d13b7b4e1b14b51a24dbc3f099b068d916aa94862ee081b40242015caff8d30141e1c163e3ec62b7e14874da624a6d8e0252d8e829860e5a49d3732321b625262e5c9b1ef348c3e7cbb1de8227513f320637866785e97e1931d35ccb\n\n# tcId = 295\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 308188024200a1ef8229db9f45da38ae3b6d601110611e209878bbd03ac2a6de65e8402957c669a115e3f02d085fe2d031c61324b77052ab346b4b1a437b58062fb36f9d56cf45024200cc5c0a3b68970279ae16880f6ca579d0171a827e99a46aa82b9242dcc09cb0b22a44ebcfca84293e6d21aeea492f00ba3157c5b6e2e4caea6a1c09c824720552f2\n\n# tcId = 296\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 30818702415aa0c8a378c4e02bcc2f56c2c365ccee424e2973c28f0daae8f4c3f0d90b421fefd456e749087e0c667c2a7147bc67b90c696244f216b4d9d7418eadc7d06ef1d2024201e28914bd341f526b041128f2d251131d8b2c65847e541d65adca3442962cddb2a71c64fae39fdd56e41686ad632f99c6038d8de0b3aac4045e0a961efdbf4c6a22\n\n# tcId = 297\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 30818702415a05f5366c8b8be28654bc39a6671d1b1593495e445c07c995c3be3e168ffdec92e44288802fd455007f8746570d93b5683e4d40e9d9e59de539f0e62bc40d92bc02420187a47d8f70adcc5e10267b8fec89d7011d9985427645aed19a8efa2d1189b469cb7aab1998e0c1d2fcac5a5054d79d2ec1c9a00b183dc9af20f555a1140be2dcef\n\n# tcId = 298\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 308187024201e213bcb8b960b1296ae176993b2449bae556b6d90df2f07fb08ad8fd60e3b7fe6c73f9c8a7364417611d60119c550261c54bbca8d61e264130ab90187e27d22dbd024134f519382cfacfd07b0a6f3aca117c13d2be725d2f9ee4e5f88739c99121e63ed7358046bfb1575fc73e1ede8339e46c5139843e52e9184bb8c579061a154a0b8f\n\n# tcId = 299\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 308188024200ed11ac7efb1f29ee64108a5e2606fa9af3bbc12d1a952e47240d5236df64f5b2b77a0f7a0a73d30d0708b5b23ac6d584bf6997d8851623793655dee8774549b829024201e1602a2cae7d3212df47eebd12e2fe404851201101bbde702be9d74d040ed998e79a09ebf6d055f94473b1f8d87c99aa165bdaf0a5f270d46caabb8e88bfa54103\n\n# tcId = 300\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 308187024107123c45e6e9338bc9fe225cdd96c5ab36cad5c06163f44f6bd903c7594e8068ba9bc89f652ec31b6e1298766b246c1f10877f1e3ec9829b0937b8d36e3c1ab2b5024201688bbaeb188b5047be6e8023b14fb121eb1451dcb19f814f5f4dca55ff95128011e3bae505a4d22166d00cb7cf14130590335ee923dc5db3e736832a128a067aa4\n\n# tcId = 301\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 308187024201264e3cc4fb802aa221d0787cd0cdf44eb6568982a00a6639f15238af36e894b14f45f06f8c2180fdeaaac77f674e056d1928cbbdfc4b2ceca0b35345ca07bfff7f02415c2dedee6b3aa096fc47ba0991a077ef4d5df20d8eff1bf8354412b171f08a98cea1704c8189a7951b0e7a8270ccb285b8db8e35285ed926b19c1eef07fdc05ee5\n\n# tcId = 302\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 308188024200ca3814747888751794b0488955e2aee07e5fab4b9872074aa7432698e7c83b8079773734df1bc752548a218fa59a362e0657b77ae7798ef4a7a3873256ea59ec670242015df8f1f16611c960d56647424b97936c8a06f62dc3a95d66bf4aa378d7a9e17d2afb53565780025927e6928f5313428f1d6708339787c8f460ba18457d4c0f521f\n\n# tcId = 303\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 3081870242017ba871aee34a893c4ded7a2a546da0d6867d428497b80fca7eea6e51b73d6411aff7609743e6242b6d4d3736ddcc9ee1aa12c8b62de5382e5c33d1fc4853e3e47d02415feb9d9f8fdd44622e4f9effe73fd9b467d355fd6b8de205527f722ee2f5a15eebd59ccdd7b57da26cf953f78886db5a6e5bdd0d56c9bd47ba2271f77687a64b63\n\n# tcId = 304\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 308188024201840793684765410baf26b66cbcf7c36658d6c18a2f750c1225520e9f3a7c1b890583f321d4e48752c3b3116dfef733ee386c52a53402acea77cfad1db9380110e6024201b51985a306fcdbe3692181106d7d6308873912d003946992098bc98b4261fd78869ed8218849459780b6079f6899a47fcb9ea4874d1c08fab82c6f1e9c9aaae245\n\n# tcId = 305\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 3081870242012276720b2725ba556d06be39cd16ca0a0351d8f530913c4f0cfb71fdda74b83f02febddc8da0a1f0f910d37d3f5332c027d7bd4c38fd08ebc770bf1252078649540241637e70b06045a86e2f329f907e079a785d7f8649541860322fb8b64b9736363f90156b9a5532d808cf2af33b87ff970c02e648dc4f1c90ff0704028ec2c2d9a82d\n\n# tcId = 306\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 30818702417aade608b22c77245734fc5c4be8737ba24dc2ed4321b58", - "124ae46a77ea7befaa5bcf166cb966aad007911623af10925a324bc3c6d06f24d0e2e7b2c7b8468b8ee024201e9913a412300b3980719148de0bb03826184aabd58f19659aa8ca18045f36c73c97df3d12b921de510ffa96ceac5454b801c86c55a06b2d771fa77bca784332c39\n\n# tcId = 307\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 308187024201eefc7b6c1468ffa7d60b8408bd44c64a3ffaff298168c5016c6f504031867ea14ae48c661b8124418b4ed6ccc32df6bac6d0a485b1990236e15676268b7868d2760241515d48436afffdb65caed737116a861974b734bd1903e37dbbc231a9db37464ed762e364cac8b32f1546d6de37979fa05f8b80159a0f747d9470291af6569d6d94\n\n# tcId = 308\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 308188024201271b912ca055040c227955df729757654aa9bbdb73c61ba14155220e4e7132319f6fb0ee94f2fbe160738f1dce2ad690845c38d962db4fda1598e93270da84a2bb024200b8907f041c3b19b9234ab555d0b48325b0cd330889a53276a1e913bab892b9c05cfa889005b14ee2730220746aecf12af911c5baea4be377ee76c0eeaf47b7a712\n\n# tcId = 309\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 3081880242016a813db0f75f9047fb11f3e19fc1688c29328a54f56ae30c1c9d9378537bfc40c5719d084e49a3b4aea255f5b7f6cc775492b5371e6b67b2d6abd5743e10fac709024201c258ffd830151bfd41ccdabb86b24af846612788b361c196d24e997ccf3f17d4452f63d32851a483072e6908095e5c49bbc241a0417749b097bc1ca0e4d127779b\n\n# tcId = 310\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 3081870241156a04c22ea5bdb7871124f1117301d781113ac4c9d4da05fea536e983d9261d25dc97006f8c78de23c788718557cf6f98863994af2086f0be3e8aa8812dc3a11d024200ffca96b04c56a4a6ce5d22b36e44d3b974d520e7f7c0f9d69034f9e59e0bbdc43236b3e4bfb0f6bde8802cc5cd6022cff166f4c488d64f38d44e3c563da31cf6fe\n\n# tcId = 311\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3081880242010913540ad73ceef7314d1758264e1d1525a371a7b9b3086971599a6b749be4d6ba69269b089508f6500dd925aa89a7c7cb7185e0cca7d2ee5664f22845d961e31702420135256c79ea5e5768fb3a55e2899b12219b8f68953ccd98c710b6a13de0f59786f4331845e65c7dd6340023a5e280206ca31416058f395fff4bb5de411ff66fc018\n\n# tcId = 312\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 308188024201b5051ca0dd3b20df7d8c5b92cb42b8a204f92fb4e58c612f43d3800de8c0683c427e832ce622156747052b81bfbf6ed5fa177b6d47858ec8478f6c9ca7948fd511024201fe5710fac0e9d3e2b3b83081b28b194b822d0c13397bf1516140cbe3faa52e908848f69789a741b9cd54d703a94577fa813e2f2c75834807401ca010fde5328317\n\n# tcId = 313\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3081870242008d3c8f8e7ab74d49e16a4c7db3a393fa9567777e373313667f9ce32b1b5e648debffedfd2ff5345ca1b8154c18c8b883957d911e41336285f86261c3ee225fdedd02413c51b84c2c9a3feb76a6518634b6f09c0dde8a9d08dec0b3d66135cc1bdb0a80fd69636104af69de8f4062646b29fa3af685ec82704cef706a18c59ca7eca0fb56\n\n# tcId = 314\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 308187024201195625a64ac11c4fc1fc479ef80430eb85c1af77f8a197a17e009569ef6c41ac6f35850755379f478d8928b154e3baaa29e92b481ac04dc72f3728b4f088ff37dc02410d55c7067877dd1302fdc6bb69b7b7c024e4cf3a0e924102d744ac52366d9d76d5855d3da228c4b67bc7bc4b2a14e7999962cc9bbdc517fc24a823abf584b8f56e\n\n# tcId = 315\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 308187024126eb68bc0fb7664c35bf5762cd532dce33b0e396e97d6f4143dc6e1e766c836e27c069da9ea1e74e0b03d030cf8a81490508c1c728f86e59282df94de8d8a0dcaf024200a9fb584b712986f19ab7568693df278cafa43272dba400ff333cf48b5556e6e78353a665605c70b6fd0f18f30b850e1a47cda42c4c924bca80102e6793be9a8698\n\n# tcId = 316\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 308188024200f3d34e36f9754dfa8eafab160ca96d91c7f4f388ec82ac33784026bb6c6a035719eaeec3ee511fffb22dd5d6ab819e6c6387192d6c3a6e9249ead565157e323f62024201b5786b1d662d26fe9f69c370d2bc18882abef693c8f17100a02725de7c9f03602fd53a9208b573b3b7b0b66db971767bde835f9e8f42ada201e7b7391b86fe0294\n\n# tcId = 317\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 308188024200e69c833b604075e9b28a2ff73a56a32e1a247ef9ae01e7a0e471f6015c2b86eb864c281c8c93d2acf5653ad05bafab2f58027f37513eb8569f50bd475e770e9a81024200b9c9d6ce09b53025bfcaa7d172ae41a9b636aa4b80a930931fc99e5e2aa23306f19dc57399b0431e72440a1f4ec7d5ca902f0f7b81c91de85e469f992fdfd4c52e\n\n# tcId = 318\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 308188024201c6b8b5cf3c4dd3d62391f18e97eef3aa6ace0ae2c6fc97a561cb8e49c087dbcf8135fa433b566b3385cb57202f1b12164fe62765ef73b72a94e7a57870989a498102420185944434b83a0d0fb4bcdce8ddaadb30a1e440815e7674562df9c8bf711222208cc346b9665d90abedb437912391505dd5d26f0178e7c063790f5518f47d1b05c7\n\n# tcId = 319\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 3081880242009f351a41d5375b8993e90b8d8a65bf01d52d14aba1dbe49cbb4ea823804f2b533e0c167903c8bbc593297c18f309798a544787d598074cbf56ef0e5022520912ad024201b892740a57204186bd5f434f72d1534b4289f8f7114cb7b1c9cf4541d754f314448cc32deaf35608263488fdc7596f7481ec098b36f8e440829194becc746c77f5\n\n# tcId = 320\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 308187024201fe24ea831199e31cc68ef23980c4babd3773040870af8823a19708bd0229adc1ce99d02e4d95224101e3e974236f54df86051fa1e9fd21380432633b2495ab782a02410efd1f2a281f967e7b09d721581356a714c499f9b14f781992eb9ae7a19f6825045fdc6d9d763f44e1e7c91480a678a1d8ecf6d66e76cea3505f65ff78cff15cbd\n\n# tcId = 321\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 3081870242014c6ee9de0a2a0b60c981831e0acd6636b46ae134fedce61b0488112663b24e1d7e74e227fea883d26b68f21e4135ba0e2069bbe0d9c6433c3908fd5b00182894b002416a180a493182c6bc2a09d7e17ff5d62015293f1e8ae205a16fa09042b0a9af6794cb377f4b8b1175fcee5137c234900f735c484feb7da4cbb405cf9e5370fe4f49\n\n# tcId = 322\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 308188024201044a45853ada17ca761acc7df6d1d380252cb0fa66124d9278a5ed8a4a60453bc71de1dbe32b0261165948823c461c7c1eb1714ec1dbf66fd602c7a47446d1dae1024200f8b27f7c71e37e4b440d2c86f1c1d50bf7c53d3878ed27e7bcfbeb902f769f86d6c3e8820b99f890050f0dbebd2132e84626c5b16a8c7ffffc3a30ace69dd15a11\n\n# tcId = 323\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3081870241676a381b18d05207cddd73b44e4dd71449985c0fa7de1fff43ca5155139a1a09e5e3fd754d86ebbe32f6609f6e906d48d24790e494343c61faa90bfdaa4f49fdc7024200fbc1c891bf6e368fccad51cc9b2c29e8e92b658e88c0d23285af269aff6702a55a0ab16807e5523b6637bbb004727f6f55c51ad4cec8c924f9c1feb24601aeddef\n\n# tcId = 324\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 3081880242013c9a575382ff6881c908fb5184be7baf38edb0b06008592558efd57dd8fb9993c893800a6ac8c6d2e34ebfbeff43e63263f133868d0ac7a838f69aff26d60a38490242009d22ae7bca8a75a53214c3eece437fb28e05b076ec704d751a28a7ed7e529d5c5338be8c724afa547574a17f70510b2462748a53678e39752a688dc8cf39e886c2\n\n# tcId = 325\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 308188024201071ce5a19a09aacd43c7cacd58a439dcca4e85f94ea1d48a60f298ee01bb3eeb11d5daf545e7086486f8e4b518a15be69620ab920cf95c5c15ff178c903124fac3024201ad6eaeedece9a7592bd21508b2720f1b8c4bf55637b1e8a5ce5359775b980b21eb1d33e8ebf5c0b3d7829152a295b8a9a1343c25350e35f709936accc8ce08b0b1\n\n# tcId = 326\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 308188024201bdae499160f4cc6cd163cf110bb1f9b421e8786a8ef9297e4b98fd508a1d14c50617c8d1a3de94fc8bd6c38055e4906b20fdcab6ef7bf9e7e5c98ef3e83e38ec3b024201ba867b8ee72bb7304ff83fc2d734749447420791d5609e0515de4e05fa70a83385a853cac6c47a075c8c61e4b65b9774574101cf4e081770f83ae1b7e727010ba3\n\n# tcId = 327\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3081860240269fc7ed89e554aa52b3875dc00bc140c1937d4f1b32e29da41ff241cdb9bd3058fc148f905982b8717b035e0db00ded7ebcb08572ec76bf0128411145d73091024201b4bd6bc4ba7befd5c305e018448a771b71fa1a11b3a2c6185dd6b8477c35eaeb4733fecd90f38ecba628f27c02f809191e993e1e7ff590383e2ec2afd08020b267\n\n# tcId = 328\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 308188024201a5cecc0e572f5ee4eed6755d3230ec5a933c1fb0e35ae771a1fcf0dc880e1c159dd5b6d192dc377505048b7188de3feb815a81a4f30d9226cdc85f751dec1a0410024201ef4a743e1e16f0a60201cc1060625ede6f0936e7af90b42736281e89fe7f2de6aa3f25c68576da705d8b3f6d5d8a34d3073307ea198d1cc8d72a18ef25e90f31af\n\n# tcId = 329\n# special case hash\nmsg = 3134343738", - "3437303635\nresult = valid\nsig = 308188024201a92b43f57421e54d2528d305e7d5aac9a708e75a7d6fedb47908a4e3edcabdd836a2c4e8436f3b7b64895254536174d88c6dca143699522bc2dfdeebcbf38eb90502420093b0b99a89de72aca0c03e12724c2be323577a4629cb47fdda5b12b61ace0b9fdb97549d3d2a1dac15da66ba6389ee54cbc82c995b9f3aa3ae8474f4bb4b52da8a\n\n# tcId = 330\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 308188024200a0400f255174ffb8548c29f5faa70e806bb6f6ca08a08753c85c5d145a555cc8e2df285af9985f2e729d4a99a734b7e7fc95560d546a067fda03529f56b2fe66bc024200d7fb60271d22ecb5d8ec904a9df1a416be706ce539e34650b8fc514d1dd7afebc1344c0c68c533c5b20ee249a77c075293b2d7efc8731c2e3619be59da871bb083\n\n# tcId = 331\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 3081880242019207c7b645aa45c2722331f46e094f2eb0052075b8ac9414ad77baafd01d4d1fdc68344136fbce01edfa5627bfb8f3c128abb61072c74802192e89137c68d0cc31024200ff15b0218f81f0a848742f683cb4d1b7c517efdb8fcf8ac6a35e4971b35536851ed68de40a6e1a4a23bddb5b42efca23b91e91959a4f7e2afa196779c96c6c654c\n\n# tcId = 332\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 308188024200aaf119702b9985354bbe3f6b6cda8c46151af4202546dfbe04d5f0ffd18ebe7b29d616f1c40376a412a52f4204b5a13e7f3e4304ead566fc41bf4b5fc0b84c8a2d024200d599deafd4fa2368cd072b854a3d53425d06adf3573e886b81248a7328a546ddc41caed38c6b1ffeaec9a98c940905cbffa87b936da980d4a9003da41e0c59c92f\n\n# tcId = 333\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 30818702416c09a59e71cf34f983f75dbb4724c4828a93021cee8fd7d92af6941ca8efc9c5ddda7c49a0e1777225782e09313e3091f056122e585c4eaa689fb2fdb1cb7848d80242019f0c5ff6b4638f4c33916db76f9d078bfa8f9e25ae00348e46bb32d777aa26155b82ea73a9e4e2f21f6a65c73ed6c6ab2101cef3524d45b9fc6ea1292f1986acad\n\n# tcId = 334\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 3081880242014e791c42f3998458c5e17f895d25c85cb419195d65e5a0b9a42cf13ddd36959c73460f54aa840d2254355c6ac626f440cb3a84fba632262c9dc5cab31be7da106b024200abb97b682f01f45168403613a7e2ff82bb4a9fc20952a35d935428f71ddcc799c6d9085fe3230d72261d73cd082e8108523da7ba0b1691ad6ea63f5f4e8e8909f4\n\n# tcId = 335\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 3081880242013ded35ddff2f97780bbc60b8cec89855a35183a48f8fa6bbdc183994bf89021118cc019629df72112b2c529c023e7a5cfce253f7fdb49105d238680b64275a213c0242009c92e7a0f71608e8d8cfab3f850f7fda1a1a1d056e72254469afe5ceec3c718e6a462e1346941eb08c105501647502c1a810a29df8b208da6a5b296b2bd1e98137\n\n# tcId = 336\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 308188024201d0d29756ebff02b71674fa4eae37557ccd51a036fb1eb0b7121b405e7fabd60592927d805b75815af1bca6e9d6c5484225bdd0ec7a40735da972fd5ff645d86f1d0242008b9fe55357dc118070cf898973a64e7554b734e900c675541e20332a260ca51a23248d9b8f47ded811cfce556a06a71ba5dc5b873075f264a6843e675caf06a534\n\n# tcId = 337\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 30818802420165fb993f39d350ed60c8483dd6e4e6736591dea974ecd8ab027d3839b752322ee220d40bb6fc0b0d5a8c42928bde50f659b18f51f42fb2b1aa4583892a9114a0c3024200a8816c09d47138bf662da4ba25caf44e24185696d4914a7de2b2535f73b9afbd3ffa9cb0a86a115e4d9ac5be48cf7e8fe276466abdf17127bcc7aaf4d096008ca4\n\n# tcId = 338\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 30818702410b901c88ea699e715f6db864e23a676e7f7f2415ac1f850f2dde1ad0d3f9c92e8c5de66d45174d619955fae4b0dfebe49c583506481d28d30cbf58e2ac49f370c202420144c97b688b9ecc07b84c68095267e17e48232922756609e9859d18d2eb7844ec925150c39f2b3a255c882be705e0a8e30e68e49fe7914dbcc3ccfbc1d467050f80\n\n# tcId = 339\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 308188024200abbd9e77ef1e2a36c6b06f063d93effb8e852387a94bfdf8359b5c18708f90d9f4e9749fd45347f637546b08733789c988fda4f0309551bde813a0bb1a232adee102420191165d58d153fec68f5cc83bcf5891e2e0ca9681204876e872453e9ebd45870b6878ee437e4d833c6ec54337b779acbf9f8202df510d269a710d0c43e4e07b040d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[key.wx = 491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af5]\n[key.wy = 144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[sha = SHA-512]\n\n# tcId = 340\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3067022105ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# tcId = 341\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[key.wx = 15f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff]\n[key.wy = 1502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[sha = SHA-512]\n\n# tcId = 342\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[key.wx = 336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e74]\n[key.wy = 1d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[sha = SHA-512]\n\n# tcId = 343\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02420095e19fd2b755d603bf994562d9a11f63cf4eadecbdc0ecb5a394e54529e8da58a527bc6d", - "85725043786362ab4de6cbc7d80e625ae0a98861aea1c7bf7109c91f66\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[key.wx = 6f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c]\n[key.wy = 150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[sha = SHA-512]\n\n# tcId = 344\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024115837645583a37a7a665f983c5e347f65dca47647aa80fd2498a791d44d9b2850a151a6e86fce7d7bb814e724ff11b9ef726bf36c6e7548c37f82a24902876ee19\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[key.wx = 5e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d]\n[key.wy = 1789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[sha = SHA-512]\n\n# tcId = 345\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020101\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[key.wx = 0b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e]\n[key.wy = 295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[sha = SHA-512]\n\n# tcId = 346\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020102\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[key.wx = 32b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f46005]\n[key.wy = 317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[sha = SHA-512]\n\n# tcId = 347\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020103\n\n# tcId = 348\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020103\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[key.wx = 67dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938]\n[key.wy = 14d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[sha = SHA-512]\n\n# tcId = 349\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e914b3a90\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[key.wx = 68d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b]\n[key.wy = 0a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[sha = SHA-512]\n\n# tcId = 350\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304802020100024201efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7ef87b4de1fc92dd757639408a50bee10764e326fdd2fa308dfde3e5243fdf4ac5ac\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[key.wx = 11edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed2363]\n[key.wy = 118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d", - "95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[sha = SHA-512]\n\n# tcId = 351\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304d02072d9b4d347952cd02420100508d073413de829275e76509fd81cff49adf4c80ed2ddd4a7937d1d918796878fec24cc46570982c3fb8f5e92ccdcb3e677f07e9bd0db0b84814be1c7949b0de\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[key.wx = 12f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a12102444]\n[key.wy = 174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[sha = SHA-512]\n\n# tcId = 352\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3053020d1033e67e37b32b445580bf4eff0242013cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc3393f632affd3eaa3c8fb64507bd5996497bd588fb9e3947c097ced7546b57c8998\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[key.wx = 08aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c6]\n[key.wy = 0a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[sha = SHA-512]\n\n# tcId = 353\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 30480202010002420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[key.wx = 093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e]\n[key.wy = 1c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[sha = SHA-512]\n\n# tcId = 354\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3053020d062522bbd3ecbe7c39e93e7c2402420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[key.wx = 19a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b6]\n[key.wy = 158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[sha = SHA-512]\n\n# tcId = 355\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138638a0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[key.wx = 1aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a26]\n[key.wy = 1ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[sha = SHA-512]\n\n# tcId = 356\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020101\n\n# tcId = 357\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020100\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[key.wx = 2a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa3]\n[key.wy = 24b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[sha = SHA-512]\n\n# tcId = 358\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[k", - "ey.uncompressed = 040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[key.wx = 60daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e]\n[key.wy = 16e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[sha = SHA-512]\n\n# tcId = 359\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 308186024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[key.wx = 51fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae]\n[key.wy = 1a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[sha = SHA-512]\n\n# tcId = 360\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[key.wx = 0b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad]\n[key.wy = 09d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[sha = SHA-512]\n\n# tcId = 361\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[key.wx = 0809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a]\n[key.wy = 1108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[sha = SHA-512]\n\n# tcId = 362\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[key.wx = 145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b]\n[key.wy = 0d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[sha = SHA-512]\n\n# tcId = 363\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201556bfd55a94e530bd972e52873ef39ac3ec34481aebdc46680dc66723ab66056275d82bff85ad29ac694530bb2f89c36ce600ad1b49761854afc69ab741ce0294a\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[key.wx = 0ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d]\n[key.wy = 0cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[sha = SHA-512]\n\n# tcId = 364\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200dcf9e7f441448a125b96d72b989d9f4dac7508c7e036f6080d4758e736f5e0636b0ff503f128a98d08e0ae189921065219d2cc3aa83e3c660ca0cb85e7c11a24d0\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c", - "1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[key.wx = 0ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad741]\n[key.wy = 173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[sha = SHA-512]\n\n# tcId = 365\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024166eb57733c19a7003cf8253279fce41907bc4f127153c4576dd4814f8b335a0b51560b4447f0382c69b3fe509522c891f0eec3999ad2526835f33ae22a642843af\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[key.wx = 1eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c]\n[key.wy = 1f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[sha = SHA-512]\n\n# tcId = 366\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017106d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc79527ac09f0a3f0a8aa38285585b6afceac5ff6692842232d106d15d4df1b66aa8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[key.wx = 1e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8]\n[key.wy = 18b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[sha = SHA-512]\n\n# tcId = 367\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02416d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6ab94bf496f53ea229e7fe6b456088ea32f6e2b104f5112798bb59d46a0d468f838\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[key.wx = 141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac]\n[key.wy = 089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[sha = SHA-512]\n\n# tcId = 368\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200da226366601afff780ffe082a0db8e74ea10d4864a5f6876c64f5e78d6598fad57297e92dea7d4453cffcd68ac111d465edc56209ea224f3176b3a8d41a8d1f070\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[key.wx = 147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c3]\n[key.wy = 75432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[sha = SHA-512]\n\n# tcId = 369\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242011b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94cb85df5e6c1125394fcd34f6521ffdaddd98f88a99fedcedd9384288bb793cf2f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[key.wx = 0b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b]\n[key.wy = 0e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[sha = SHA-512]\n\n# tcId = 370\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02420161be37ed5f748e06a89d72c4b7051cae809d9567848b1d8d7ed019221efb06ae81e1264ce49c5d29ee5fe22ccf70899002643aca7b99f57756f2639b6d459ae410\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[key.wx = 1aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc", - "08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9]\n[key.wy = 14ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[sha = SHA-512]\n\n# tcId = 371\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201e9bbbd64270b9668f7623ef7cbead5483eb07b883cf39fb6884aab67dac7958b0e03144357b9433e69adc696c86c63a23d35724cbd749b7c34f8e34232d21ea420\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[key.wx = 1b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f]\n[key.wy = 1eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[sha = SHA-512]\n\n# tcId = 372\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200924449b6c96f3758e3b085c079714f11f28d039b11699f0e9b3e7c553c8fc6c8f5212fec5eac3068713b8ec72fc6e2a90872b94e161a89822887f4a9bd5c9efd74\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[key.wx = 58a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82]\n[key.wy = 7a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[sha = SHA-512]\n\n# tcId = 373\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201554a01552b58d67a13468d6bc6086329e09e5dbf28a11dccbf91ccc6e2a4cfd4e6a2c5278791c6490835a27b6f7abb8a690bb060de3deb85093d3ae16482c84f64\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[key.wx = 303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e]\n[key.wy = 6673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200aa9402aa56b1acf4268d1ad78c10c653c13cbb7e51423b997f23998dc5499fa9d2f403c78b645cfba4eb78f595fe6d6f01dbaaf803f23ac263bf060baa74583abf\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[key.wx = 0a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b]\n[key.wy = 1116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ffde03ff820a836e39d3a8435219297da1db193d79e359663eb56654a7ee6f7eb996c8ef12f62344ad211b71057928f96ae75b58e23026476cfc40ed0ef7208a23\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[key.wx = 14f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72]\n[key.wy = 4525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242013375abb99e0cd3801e7c12993cfe720c83de278938a9e22bb6ea40a7c599ad05a5d3c8e5e5d7b3e16a99e528ef0ce91be0953cb1a9adf757f257554ca47ab053dc\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[key.wx = 1d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500]\n[key.wy = 3fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac3", - "84617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[sha = SHA-512]\n\n# tcId = 377\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02415555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[key.wx = 165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1]\n[key.wy = 08aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[sha = SHA-512]\n\n# tcId = 378\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242009f57708fa97eba94c6d4782cdd4e33bb95c1353bde095232e3e2bab277bb5d2b48f55a53ffe928d034c29970a9e5f384a003907d3d9b82a86817cc61fb17f4c59e\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[key.wx = 18cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff514668308]\n[key.wy = 1cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[sha = SHA-512]\n\n# tcId = 379\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024168d98fa90736eff3e90f8fcfe50838b6fa0bf2cde77bc51e3f41019c8006f4e9cbaeadce7dbb44462da6425be9cfdaecb234c41749ce695be1b5ead2e6b1205f35\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[key.wx = 1d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c]\n[key.wy = 71342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200e97ae66bcd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffd68bc9726f02dbf8598a98b3e5077eff6f2491eb678ed040fb338c084a9ea8a4c\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[key.wx = 1c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad698008]\n[key.wy = 481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ae66bcd4cae36ffffffffffffffffffffffffffffffffffffffffffffffffffffb3954212f8bea578d93e685e5dba329811b2542bb398233e2944bceb19263325d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[key.wx = 5dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae]\n[key.wy = 1e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242015ccd79a995c6dffffffffffffffffffffffffffffffffffffffffffffffffffffc2121badb58a518afa8010a82c03cad31fa94bbbde96820166d27e644938e00b1\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[key.wx = 78be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68]\n[key.wy = 09b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040078be6c43e366cf63ddc4235e8b96", - "9386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201cd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffffffffffae18dcc11dff7526233d923a0b202cb29e713f22de8bb6ab0a12821c5abbe3f23\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[key.wx = 093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960]\n[key.wy = 2b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024122e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9c4c3f73cc816143fac3412b62de4c63db08f8c57e4c58c31f1b457ca5e57e20a\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[key.wx = 2d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e36]\n[key.wy = 0bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242010590b21642c8590b21642c8590b21642c8590b21642c8590b21642c8590b2164298eb57e5aff9343597a542d3132f9e734fdc305125e0ec139c5f780ee8e8cb9c2\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[key.wx = 18ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96]\n[key.wy = 5aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a4924924924924924924924924924924924924924924924924924924924924924445e10670ed0437c9db4125ac4175fbd70e9bd1799a85f44ca0a8e61a3354e808\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[key.wx = 51b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b8]\n[key.wy = 0a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201d5555555555555555555555555555555555555555555555555555555555555554fa6dbdcd91484ebc0d521569e4c5efb25910b1f0ddef19d0410c50c73e68db95f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[key.wx = 1ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc]\n[key.wy = 0d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4fc31322e69da41162a76abf3a1b4507ae66074633446f259661a61c93be30eb5\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[key.wx = 137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f446073889334]\n[key.wy = 163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc", - "1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[key.wx = 726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b]\n[key.wy = 0c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201346cc7d4839b77f9f487c7e7f2841c5b7d05f966f3bde28f1fa080ce40037a74e3001a2b00bd39ee4c93072e9963724941383cf0812c02d1c838ad4502a12c619f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[key.wx = 16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]\n[key.wy = 083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[sha = SHA-512]\n\n# tcId = 391\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[key.wx = 16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]\n[key.wy = 17c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[sha = SHA-512]\n\n# tcId = 392\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[key.wx = 110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f]\n[key.wy = 1ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[sha = SHA-512]\n\n# tcId = 393\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[key.wx = 1c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13]\n[key.wy = 15f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[sha = SHA-512]\n\n# tcId = 394\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3081870242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[key.wx = 17d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b0]\n[key.wy = 162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9", - "f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[sha = SHA-512]\n\n# tcId = 395\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[key.wx = 1e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f]\n[key.wy = 7ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[sha = SHA-512]\n\n# tcId = 396\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[key.wx = 15053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a7448]\n[key.wy = 0b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[sha = SHA-512]\n\n# tcId = 397\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[key.wx = 1fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f]\n[key.wy = 19e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[sha = SHA-512]\n\n# tcId = 398\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[key.wx = 08422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c86]\n[key.wy = 25a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[sha = SHA-512]\n\n# tcId = 399\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[key.wx = 1bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a15]\n[key.wy = 0f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[sha = SHA-512]\n\n# tcId = 400\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[key.wx = 17b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da3]\n[key.wy = 0c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803", - "bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[sha = SHA-512]\n\n# tcId = 401\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d02410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[key.wx = 4c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c]\n[key.wy = 50a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[sha = SHA-512]\n\n# tcId = 402\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[key.wx = 0a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a]\n[key.wy = 1ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[sha = SHA-512]\n\n# tcId = 403\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[key.wx = 1802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c6]\n[key.wy = 722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[sha = SHA-512]\n\n# tcId = 404\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[key.wx = 1beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed765836]\n[key.wy = 130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[sha = SHA-512]\n\n# tcId = 405\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[key.wx = 121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1]\n[key.wy = 0cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[sha = SHA-512]\n\n# tcId = 406\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[key.wx = 08e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4]\n[key.wy = 5a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e", - "8dd81c924e7c27]\n[sha = SHA-512]\n\n# tcId = 407\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6602410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[key.wx = 0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]\n[key.wy = 11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[sha = SHA-512]\n\n# tcId = 408\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n# tcId = 409\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[key.wx = 0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]\n[key.wy = 0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[sha = SHA-512]\n\n# tcId = 410\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n# tcId = 411\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[key.wx = 12a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8]\n[key.wy = 12333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[sha = SHA-512]\n\n# tcId = 412\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 308188024201625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c5024201b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f\n\n# tcId = 413\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30818602415adc833cbc1d6141ced457bab2b01b0814054d7a28fa8bb2925d1e7525b7cf7d5c938a17abfb33426dcc05ce8d44db02f53a75ea04017dca51e1fbb14ce3311b1402415f69b2a6de129147a8437b79c72315d35173d88c2d6119085c90dae8ec05c55e067e7dfa4f681035e3dccab099291c0ecf4428332a9cb0736d16e79111ac76d766\n\n# tcId = 414\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 3081880242014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba258702420108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab\n\n# tcId = 415\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 308187024108135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb4520242011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]\n[key.wy = 09b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[sha = SHA-512]\n\n# tcId = 416\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081870242011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe4746218024134c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6\n\n# tcId = 417\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 30818702417c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e024201058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d\n\n# tcId = 418\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201e4e9f3a7b800de63407b8703ac545226541c97a673566711f70e2b9ccb21a145ad4637825b023d1ea9f18e60897413711611a85c1179bff9c107368f1c1b61c24c02", - "4201de948ee577c3d4e4122a52ecccac59abb6fa937dfb3e4b988cb243efe98740309452ba013112b225b3b1b1384d5f68796845199a2602a8d4505a331b07d101188e\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]\n[key.wy = 1ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[sha = SHA-512]\n\n# tcId = 419\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308187024200b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a820241228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f\n\n# tcId = 420\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea20242012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7\n\n# tcId = 421\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420152388c6da66164b706b41dd4dd48176d6eaf6525f876ef0ff2d147f6966ebfadf1767fa66d04203d3ec9c937a1f0c945aed953e34be444c219fd3b94d3277aa652024201658c1e5b2e563a49d11c883d05c491d628f0a92c3e3dc8db9a4c8d5f0dc846ac22af8b3c5fb5bbe2cfa98614dcffd87de1cee2c5912a5899505a0c5bcaa513e2c6\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[key.wx = 2fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b]\n[key.wy = 1993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[sha = SHA-512]\n\n# tcId = 422\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081880242010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e0242017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda\n\n# tcId = 423\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081880242011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf5906802420147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06\n\n# tcId = 424\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201d876ae174da31e128babff9f1d15507660bdc7958750844dc4f4291f75a882a22f177f704be6067bf7ce8f06b8626d971e6ef5dcb666fa975c1e11126e04fccce2024201abb12630a68b669e6ad2d8d62654d75dfbc6b54a8e3a9c915be663e080ddcc348e57a10e2b1dd9f03e1b897796ad889b075e5919dc5bf37a112d92c693456e6457\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[key.wx = 1fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331]\n[key.wy = 1b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[sha = SHA-512]\n\n# tcId = 425\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818602414ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a702417aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188\n\n# tcId = 426\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308188024200e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d836024201489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3\n\n# tcId = 427\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201d296292213380de133dc66eceb8bd857a5c468afe855c05da9db937373b51f9020ca11353415da76bb6af997a486d2370e31adcc0a4531952a3b59428678ee59430242015979a3c609c2c2099ae1b290da3d613b248e3a10de7ad770dffc82fb33e74fc3207533f97285cf4557a6407e9a775e59efeaee4264b2634933a6baf8c406f0c4a9\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[key.wx = 0c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349]\n[key.wy = 08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[sha = SHA-512]\n\n# tcId = 428\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef21024201ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b\n\n# tcId = 429\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c0024200f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e", - "4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22\n\n# tcId = 430\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201a2af29c58184ca861e7cd931f39cea064b199eee563f241cd5ecf6ebb2ade728f1be23cf007ebe8ef0c42d99f9f5190f6815446afc3043a820d7daf27e86b83b8a024201a2acd1822eb539383defff8769aad8bacd50cd24ca7aa6670671418110177808c3f4fbe6041b9cb898359ee61e04824adedd62b39fe5791907a20586333bd3c76d\n\n", +static const char *kData106[] = { + "# Imported from Wycheproof's ecdsa_secp521r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[key.wx = 5c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508]\n[key.wy = 7878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5a27a24a1aae1e218fdccd8cd7d4990b666d4bf4902b84fdad123f941fe906d948\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 3\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 4\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 5\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 6\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 7\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 8\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 9\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 10\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 11\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 12\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 13\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 14\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 30818602804e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 16\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 17\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 18\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 19\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 308188000002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 20\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 21\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df92", + "3a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500\n\n# tcId = 22\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818c49817730818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 23\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b250030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b224649817702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818a2245250002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818e224302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450004deadbeef024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452246498177024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522452500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452243024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef\n\n# tcId = 31\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818faa00bb00cd0030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 32\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818daa02aabb30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818e2249aa00bb00cd0002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818c2247aa02aabb02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452249aa00bb00cd00024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818c02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452247aa02aabb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 37\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 38\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 39\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30818a228002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 41\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 308031818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 42\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30818a228003414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 44\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 45\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf", + "8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 46\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 31818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 32818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 50\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 51\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818b300102308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 52\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a\n\n# tcId = 53\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 54\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\nflags = BER\n\n# tcId = 55\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac100\n\n# tcId = 56\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac105000000\n\n# tcId = 57\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1060811220000\n\n# tcId = 58\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000fe02beef\n\n# tcId = 59\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10002beef\n\n# tcId = 60\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 308188300002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 61\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac13000\n\n# tcId = 62\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 30818902414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1bf7f00\n\n# tcId = 63\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 64\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 304302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645\n\n# tcId = 65\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081c902414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 66\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3081870281414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 67\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502814128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 68\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 308188028200414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf", + "8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 69\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450282004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 70\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602424e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 71\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 74\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818b028501000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 75\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285010000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 76\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818f02890100000000000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 77\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818f02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028901000000000000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 78\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02847fffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 79\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502847fffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 80\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a0284ffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 81\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450284ffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 82\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818b0285ffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 83\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285ffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 84\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818e0288ffffffffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 85\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450288ffffffffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 86\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 87\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 88\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3043024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 89\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 304402024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 304402414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502\n\n# tcId = 91\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e", + "43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 93\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 308188024300004e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450243000028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 95\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 96\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500\n\n# tcId = 98\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30450281024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450281\n\n# tcId = 100\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500\n\n# tcId = 102\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818600414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818601414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818603414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818604414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 308186ff414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645014128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645044128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645ff4128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 112\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30450200024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450200\n\n# tcId = 114\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30818a224502014e02404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522450201280240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 116\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414c4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b", + "9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502412ab5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 118\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86c5024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a41\n\n# tcId = 120\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 121\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3081870242ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 126\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3046090180024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645090180\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3046020100024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645020100\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbe97b3367122fa4a20584c271233f3ec3b7f7b31b0faa4d340b92a6b0d5cd17ea4e024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbf4d826580ab145752e852a6e91512b78178047879e9714a4ae1bc74298aaa7223c024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081860241b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0040b27d9a7f54eba8ad17ad5916eaed487e87fb8786168eb5b51e438bd675558ddc4024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fdb1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0041684cc98edd05b5dfa7b3d8edcc0c13c48084ce4f055b2cbf46d594f2a32e815b2024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba09a7b6ac4ecd0410b4722ca75ba197a403a0a1f9ee0e7b391b0649fda1d3969eeca\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd5157", + "20b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a5d85db5e551e1de70233273282b66f49992b40b6fd47b0252edc06be016f926b8\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450241d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fdd74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f6584953b132fbef4b8dd358a45e685bfc5f5e0611f184c6e4f9b6025e2c6961136\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 144\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201010242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 174\n#", + " Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409090380fe01\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409090142\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020100\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020101\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080201ff\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408090380fe01\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408090142\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020100\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020101\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0201ff\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffff", + "ffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a090380fe01\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a090142\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020100\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020101\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0201ff\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090142\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 304702420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30818802420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 223\n# Signature with s", + "pecial case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30490242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 224\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 230\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 231\n# Edge case for Shamir multiplication\nmsg = 39353032\nresult = valid\nsig = 308187024200b4b10646a668c385e1c4da613eb6592c0976fc4df843fc446f20673be5ac18c7d8608a943f019d96216254b09de5f20f3159402ced88ef805a4154f780e093e044024165cd4e7f2d8b752c35a62fc11a4ab745a91ca80698a226b41f156fb764b79f4d76548140eb94d2c477c0a9be3e1d4d1acbf9cf449701c10bd47c2e3698b3287934\n\n# tcId = 232\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 308188024201209e6f7b6f2f764261766d4106c3e4a43ac615f645f3ef5c7139651e86e4a177f9c2ab68027afbc6784ccb78d05c258a8b9b18fb1c0f28be4d024da90738fbd374024201ade5d2cb6bf79d80583aeb11ac3254fc151fa363305508a0f121457d00911f8f5ef6d4ec27460d26f3b56f4447f434ff9abe6a91e5055e7fe7707345e562983d64\n\n# tcId = 233\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 308188024201c0832c973a455cac48a4439659aa21146036c52ec1514121c66714348a1c0e2c7099a2466d9acb49325a0cb509e5dff2efbcd90369d3027cbb7dca58a134278d05024200a426c063ab5cc6af20dd1ba8a519fac910183561598e67c0929e25f9c3aaeb245c5647fba21e30c103304dc6f49e6dec68a7833533e4e5448240bde023fe201eb9\n\n# tcId = 234\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 30818702410d01cde64dda4dbcef1a9b924779598217b97eb688d9b4a4fd20d1b81ff0bb870abff1b0db6dfc3762f27c3954f230a7933d9ea397a972caac5ed2183ec72716c7024201c6530fb6b913005f81e156be89b3847701829fbb310d8a4c761212c6d2f8750174f2bf81c238fdde4370fa87de320f57dbed96691af45cb99f3daa865edcdda59e\n\n# tcId = 235\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 308187024200c009c74ec707252325d78f4e7f14be28f56272be17c0c18c90ad4c07322cef4eea444c8feabf41a213e3e846f8ac8bb7750d49143069cd01877d530bb981f1a85b02411f1c27ef97f434a8c2ff315dd39d909709775bb3c7588243bdfd8f7c866c49b3369719d5b74a47924bbce57301675e2baadcec438e07e6d532aba664253ab09550\n\n# tcId = 236\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 308188024201d3b17a34b19d134773988c434a9fb7f22a57dfb4c4bcca031e213e1b9a56db0ecb2f3c54cf9b1b6e5981369652de37337a7a7d7ddb54d67b067bbce01fd7fd2808024200c90317dfa061122557eb3899939924a8ea3cdd886e0f2e5f2c384b65b1a40de5f00fd9fce889fc313a6a9d5f0a9cd3a7b89b7ba8e97807031f3d1e3f9c103f0a10\n\n# tcId = 237\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 308188024200cdca5299e788600a3ca5938d4a4c5f42b5eea3cefc990e67af95a4449aac0ab50e8fc4778efa497223cdca07c0e5a5920110f3a87afaaf265beadbb91c00d13464024201a92b9a5570b42f91ebc3d8ba272db9241468154783548d3fcfb6ef46c9e037bb6217af0a31ef952c27604629ad5775e7695c63efa138cee8326a51c1b04d0c658f\n\n# tcId = 238\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 308188024201660b0ed15d5f63044cb189e1a405bcb591c37217d0e000008614b152665d5bb9353a3826854a8bc6ebed423b15680e4340a00701b17bae24bd399bcff7e0438bfb024201c47f2f5c6143d2eef063757114aaeb27827b6a8f675d1825dac7f4548cbf78a37eb9621a29e9b14cf61fc6ae49e7e6e15350a4b90a4a897ff69b0c59b69508ebc7\n\n# tcId = 239\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 3081870241364684856c7c02bfb2ad2de603d10883ca93c122d4cebef276467a9b7620fb530e4d05d07c15ab948b9ce7682561307913b64ea6896ece1095dc64369f1a9d5c0d0242009e6db2ff96d9d71150440fd44992656ca118fcaf6bd04499314e8ba61a55a8790aac023ddb68600fbd7ed4cd4decb176e8bd7822ea31d75adcbdaccafcf510c26c\n\n# tcId = 240\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 308188024201a317e49014f1bf3afc09cc048531010e2144b662cac657e51b32bb432d274a730b535fb2de66fa8ddd26faa3f46e004389d25517c56e7d8a1d39563b0e8c9c215b024201ad2e1212e1680b660a1c07f54addff575c8c8298e26a14c516f517fb5f966a2b383aa46a483fdbfa72711d60c0f67a2c03d63d2626ffe271e0ce353a4d4b09bd5e\n\n# tcId = 241\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 308188024201c09b29fc4da04e9b86097bd6d6806aa969ceb37ce52eeac5e9518d27541c3f30c00f113d9dd3b007dae6f381896d43fc6ddfb3fa256a36529b054e416ed638059902420113e5622cb1e4c4bb0842f3d396d7e660241116e94e8120a602e3d2952701b1a11415a3d8c503adced160450fd13157ad147d2d65d77449458659350e20a545602e\n\n# tcId = 242\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 308187024178f4a2968460ea8f64a938b3a97c914eb0ccfa94eb08636efee9d5ad8668ce1c9099573abd146df9e7b2ccaaa1a25de903f85962849356a872e88e545babc28974024200f2729e9593c9fcdf5971b21e367ffdc87aa7520393527c6f68ab512b88b839003c1c9952b04f2dc74010a31071ee20a9fb1c7e1187d04de71b3f4327df128ccd43\n\n# tcId = 243\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3081870242019faed147a76b65779d0989e1300802844c9ba09f338c5e31a24d9ebf8f0b0b4c21f59d369ac10e315fa2b7605b0f17a9c07cf6ce4c83838e58333a3390142d79d002415f4de71fdaced1e8da86efd47ecbdac6a6ffc6d69df71da7ceb5596475cdfecea3d00f074d2de89e0fcc05e3231d531f0d38f2b7c6fe4ecf67a0cdddc21d0867b8\n\n# tcId = 244\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 308188024200d0b144350a2128f042bc1a27f6c021dad1ec031be8f1d8304797f9ddcb742974aae209f014980174b9d4e434e3f53247889d2da4b767593179cb4eda47e799643002420184d3416dee35ba8807703a91ac927096c10959a05cbffd8103a93a9f20a11537bed7a645f32295e4abce493579caa4e2242060cc4d58b2414870e98b9336795787\n\n# tcId = 245\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 308187024105257a0f45ee2ae5cc30283d23c47c96f6deaa3ac1473e8e8a40eaf61bc4b0ef8bd18d11983f257ec4b1d8d04e76a122b5bbe1d31065159072c58fd9bc3e98376802420122dba50d0eb71bdbf092a94a7ea280412906e1f849e91dbd5d8158e3fc6cd12e20461b77653e3df2e45b86883f81071b33651ae1b84cc8e7c365ab8d6a36d1cfa6\n\n# tcId = 246\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 3081880242014f624af9d8096fe7a290651d23ab260da64e44b886fef4f3881d0d984d3b387fddcf65b1fa1dbb239028fbab4a1de6ad150cc8a4e4db0a971bb8bcf01c4728ff9802420105e3b55db0141c06d9854096cc0f73415dd2b85a331da50cfea3bbf648bbf8651f61f2cd09386b62fbb8ce67248683c260894d9ed54d6667ae02978e38ab99320a\n\n# tcId = 247\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 30818702412c952d7e61e1097cd7f709e62ec486879b380b63791c146b545c064e65b3060250d00af279cf15eade67384b28594db542845fcc6574ef5d8d5bb8a162e0350a0002420135ac6d1cc05b095fbae28b652fe5386b8689e21a14990236d3ada7ceeb0c12a4f774bff7b81c8d07572b0c7985364c5d31f33271f0ac3a2afb88b46bfeefbaeaa8\n\n# tcId = 248\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 3081880242017919eff78225e1937a921f98f5d153cbffa03929819f228ee013f8e59549b04b9867006a8df25a93a6a25dd1d3f540239a8ed14047ea00811da9305ec515ad000d0242011fb873bdae1757801e575c5df62cf82a1881af3cd6ed17dc50edbe6c5fd0f4d31766670b2aa572a9e6547b36142afa8464d0be4bf41930629dc04c85e01b2ee8e2\n\n# tcId = 249\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 30818702416ac9b370067b13ac2b57f35d6d9b1faa93b9b068ef5ddf8bde3a54024810aa2226560065b0cb7501df96b4756ce1e1fa607f86a942367894a1f7728bd5f22cf1770242008b47a9e1370c9f5bf4677d554c00e9ac3ea7cdfc78836ac53ac710b7f3bff8c2297780c69a9fddb80e03a605e5e48a52e52fd35f41668cd9064886366fda206086\n\n# tcId = 250\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 308187024200c4bcfff265cd32442220976ffc7e4ec09181d69", + "4696eb89af0cb2d5a2dfc3876deb3c6adea168965200c355c3bff5e47ab17ecc44c8434333280796d3a183449ea024162debe91550f8a760eaea309f48483c65a52c7e88a83867c31730cbc6b0a64d4c564bde67e6539af787ecfd18016cde46ddf91740f58f6ea6ec80b173fd1c47ad0\n\n# tcId = 251\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 30818802420174d744ddc631fcf8202fca0ab10f6d96d3f7552bb2a9ae5ac573634133f61c59a120fedbc39cfb521ab0cd572afbd5147981090d1dcbfe902e03f0c0579967b5810242012f59ca927c4ae331d2f667fcd9ec01b0b5514e2ab5da0561ea614431dc1fcb761c351cd1211092720ebb7074a5128f8019b7c18e048d5ed3573ed61686e9713f72\n\n# tcId = 252\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 3081880242019a513cfaf871287340d8a51d2f4348ab4096c5fe244b22add38ce433e3178e8ff5b2df0fe74a1ba40fe8341f734c71f9a1177b41035777e2da6b082e0b566690de024200d0c43eb33a817c3aab30281c593c74517ee84e958b114395ce0b31fcf30bb8f5dfe60dbc7f6f14698977d8e0516a9274a5bd71847057e006fa315fae6922eaaa55\n\n# tcId = 253\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 3081870242013204800efcb40ab09ae4137325a3e8c468edae91880a51616ba61f3ef1f72fd89feb956bfb39818d827468bb4475110a04779fd6bb3def25c61c4ba60889ed0ff70241704b7394687698c8841f4875d40e5b3c914f154ccb2b54466ae163ed3410f20d0a07ac5f90c0c31271ec8a524ca2dae4b8bc4f6e1ece173ea907890693c5f2190c\n\n# tcId = 254\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 30818802420180241cd2e6163158a39599890dabee99c2c86b88accd2b04b5a72874fbdfbde0d18143c4d78e0da1abf3796b238738840d60e34775a8ff810d58a9bb3559a3997c024200bc396c2ef28b244fb8e004bf5361572ba1fef6fbe081ed1dedba4d9af78deee126599f75a0a9d0f1b1618ded7a0c5e672e40917fdd30582460da3aeb1e9c4477d7\n\n# tcId = 255\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 308188024201485fc03fcd629fd4c564775ab6969bbc696b5b0f38141b69f86e052e7fe8849a64af2dd37a2adf64672f20bd6f97cd32f0efea51aa22064c5f10a3911177e1979d02420180fab473ff9d726db6d266541a0bddff8610e4026d26b6c9abf972eaef477d50670bdd3067c9d711a8346e16869147751e89b4ea75bb00ece71300cc3b80cf8899\n\n# tcId = 256\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 308188024201bea49b150a27026fdf848297b0491019f76abf90f3e6d782e3d3fa6caddb81b7ef58b27f1b2b3f7898889b4e2b6cdda7b5636177a27eb9a67b2055b6f21d262c26024200dffb13c2d5f746c8573aa444afc8baf8bf881cc4d0fca8169f6cb304f400eb3932666cd3758c437c9cad79abfd89c72a788505763aabdfabf8903ad4a70d9ec9f7\n\n# tcId = 257\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 308187024201d56bf6f3758f627f470706d1d28c28fbfcad6dc30465cb285a274fc057f791de73ac30baccde044473fa9e3dce6d395eadf98d1f97259bd851a1eb6f3d31d2d756024133704b4ad37300a96682569f4f7fea3e14d6e1f65864663f39aa67f40b5c949f198d5de9f2ac2369bbb9111c89b393199537c6c08ed7c02709c733ef7660113d53\n\n# tcId = 258\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 308188024201554035ba84b051d50901c622b98be4de0123a02928dffa7eb13b0403fd5e255f226505e15694956a66a878ff581173d123d1b24eaa85c5fe46d8973a55040ff405024201b016dd6b5176ad8347eb9802dd7727e06a29db33cc946f809a42f9193040692b0f82ebbd04eff9f099b7f75f8e45e74ac00a51a9cd4f2cbf5f03f4d2bee99c24eb\n\n# tcId = 259\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 3081860241293e8d6775f3c14183aecc22f608e9013d7b15dad167bb38a1dfef6b373619f1ba2751d77b43f643f68643cfdb5c04a8ed858bfcf3858a681ae93bfc7cd7e3143802412c7d96db7dbbe347bab9f6f7b88f48cb32ab963248737d2c901b90d64591cbdb0f0ca7a14557f8a50fd80d402f929dad141141f1f0c85d9414b32d1fd4d796e6e7\n\n# tcId = 260\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 308188024200b16a9b3aceece85908125f96f6cb6b1afd0ef04171936b3766f8e43beb340d382084b33439f775a29a83945da8efc4190db1343e87d8c0ffb97aeb3be159d90f59024200e5c2bbd98e449bd0bb4f75a07f1a88dd63c0602a7660f4acd33937c4913a9c16ba44dc5808892ec88a4255109a7bc5b221c07e6a278888a9712fc2a25b374427e3\n\n# tcId = 261\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 30818702413b47a8ed52f5b0566365313520bc0b6e4e4efb3ea4176ed7a352c4b2f8bffbdb0148ff44f3f13d9e5e31b1cdeae097574aad8bf393c54a5c842e749ee87a74c6b0024201d3f484e9e224bda9c8f10fbb74bbb62d7a18245707f4eb52f17dde793892c16e4bdf504960fba55da487f542d412b1b833f6f46336118618fcff69469c83963777\n\n# tcId = 262\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 30818802420128b8988bfe9287f82ac97be507a544b823e85cc2813b6929e63699cff85a40283076028e7bf8d24330f89adb96bf24a4e183a898e679b36768909574e7d4733d61024200c18aae44e6801fc2e3d9c7a20ff9d42b46e4a31ca37772f8c46ce65219b195ca23717f816e1fed51e5b6f9a0ca12c3cf81ae7fc9cc6946a88330b2011ddd160930\n\n# tcId = 263\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 3081870242015edf1fa95b17159f762d68c1736101309e80fe5b2c4415609a5ac0837fe5901f3c2d3d826a43b1f8cd1babf494ffd96cca1267950188a924d4e1bf7f68189f27d302412e8697efbbf53adb7cb1b904718fc71eb2561f331c209c50848b5bc50bef77c5c3487d285bfaa3caa14025cbb71bdbaea6911e3610335641d2799c3fd75019f716\n\n# tcId = 264\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 30818802420161f64bbe93fdc0e61134cfd4c453ab740233b436179351aa68a3e38a83400d86ff464d7ceb7a51f541b86eb2f12e32a879b3a29bcb92e08cd50e74f86a0ed52ae90242008f6fef49ba12ced6696f4f6d24e6c68057a84496d42eede630199e9bd06d91363542a9776bfcd6d77fbae422e80fe466edd2c2c5e1f5cc79bedd1a7becc1a12660\n\n# tcId = 265\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3081870242013a6faccc1c06cb5dadb2cf083cb94a7181fd5cbf3954fdc430c2691248fcfcd13767e32491f00269b549cae93777ced0f7b069440726adde7605d4038d7b5ea4cc02417622c9065f4c49a6f8649073dfc6a827b897b6984176b1a09d151b9733a68f6da746c47427cdeb3be075da4a351ab78dd5e472cd98d1586edd6ff2a11c6c169fbb\n\n# tcId = 266\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 308188024201899609e7f7cd2ef14bfbb1cb9ba9283ae11a9346a34bef23b1c249da2e76a7708e0f2f97f819e4e25b0d5227eeb85aa593c3fae9398a7020f61ae1606945d13841024201b8d5e9c4f030295447106d2b5c80cc2e7d4e36b458a90a08f505df62d2234e59d08187385ba5501049b34e12ec92f7839a18361a52a9a0b6f6a664b118680b53d7\n\n# tcId = 267\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 308187024201ddc69d1508021eb560db39f3add8a28dd7fbce417e5fa1f4f626705caaad72b634868d01dfc474e926c97927c56ac51f9bdcfd0e7627be35cc300a0cdc083b00d402416e862caf9f2df11b0a46104e78865fbbabe30bfac0b1fe7f99badc11746a288c1ff27f6fa2aaba6441bab0372af906eef083ff03ba466b896c9344cd396dd46dbd\n\n# tcId = 268\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 30818702420117fe2c21f282c7e4a8415e9c53c254514eeeb0adadc771adbc6d21a09add4f17ea0c597469488238be795f2e187fa016d590535b4ff10c62d2246aa17bb013f9ee02413c9f1590ce7a68fc84c617f478188e71aefe8c74c4b9979b8c9196bcc262205aecce5fd2bb80c360d3e20da20e36c5ab70d810d4ba97d13858199d3a1c9c140c63\n\n# tcId = 269\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 308188024200be6b47254a3cf93e2e276adfb072256404744070d6dec83ef34e3e6c119206422bb275e61fc47053ef7b2af9e33aca8f8b2e4938057070eb6ebbcf82fabb44a5fe024201061ef80935ff6d0e9f87f3537b639945acf50c5d97d30b4b9c347e3f5f5ec02b15a376ae754d64b2efaa811b3d12a0fff0bc689022025dd2f69f2f4b40dda8687a\n\n# tcId = 270\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 30818802420130b6fd7dec5cb6f90a8b54ce7b58c61b013d0aed7c4a26639de80aeac3d9e3388e9f87e1e6419d3f0339af324e1421b5d130317ffd9d8be36500a84bb41d026cea02420176b460a3eae01d8aa8ccffb0d6cf4d1595aa697c65510a1197b97343c1a6234552ce9d6d318c5f20f48bec0dc311dd62eb40058f3cb22fa958edaf9ddded191a08\n\n# tcId = 271\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 308188024200a87de42d827ae1f55d6fab3277c7a9fdfac3af22fe47e52bfee34fa1ee3e765095fff20175becbdc94b4a5ad3a149ea7c1bebf4d45370e6b4404a0437d8fae264f024201a3c1c5186d8aa491b4623f5765a388930f37bb8f3e1c0db508983585b9090b3aaf22bb846e0fb6d915b5811ac55e4d6cb08f605cb84deb55ab7fba2dde8736b1c4\n\n# tcId = 272\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 3081880242010e46055d9aa087f1c4b6056319cbf17a0694fe073266a3f30363030e345a4bd461acbd99d1261fc05ef3c9a1c37afba6e21c2d513ea3d4709de5586810d7d29ec6024200d0c95c7e97a94efb44aa717cd6ebe82de0644e32676d197351f128ee8d2b223ab476d3e66014ecc003081f7040c578b8984628d6ec80733f713e26b2c98cb4ede1\n\n# tcId = 273\n# special case hash\nmsg = 33", + "323639383937333231\nresult = valid\nsig = 3081880242012c04d08a7a2d07403aba604ea85ec23a52b52786e7fce04170e867be6146eea75a7180f5d4f3b82a204a3c996811a1e61a3e76ed209c22428b35c51fe60f3bee1e0242016f2feabc25733b0a460463b9933e6e4ae9f4124cd0ad3785c77755dbf0848ec1cfd2ab08b960b556870fa00388d23d9a9fa3112ac3e62a0f342d58fb1f0aa81748\n\n# tcId = 274\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 308188024201ca9532c9daeb80d0dbc07a4138ba62a6bab8c88b9e1e2edf2675132eb97cfb26f4c395f3b9d1d1275694956b34c3ef72cd00bab86777465b9edba29a41b0114c6202420140eb6dddff253a7ff5b032d82fbd18e481a376fe242f6405b81b57165665c9bfe61e25cd3358245bdfb8de7632de72ed20cdacf384764096c8fe3a376563a348af\n\n# tcId = 275\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 308188024200d609e1f1cc1adf5889dc6deda441682e760be08932b31592fef3ada143fb4940e4ea75ae519e4fb0769c4fbd33a52b183a21d0bba1ffa3fe50fd11f75c6ac58ff60242012400cc4ddc24ddcd47a6d639a2abdef29a65d4fe9175f51b316f4bf918bc918879495c572f8e98364e2e1aa0d4d53ad29e803a4470d94dd06a982a1d041bf2b5dd\n\n# tcId = 276\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 30818702413775a7e61bdda9a3a990ba9fde98f9d81d4b03195547bbd0658e1059daa00da9270671b2fada1bbbf13982f87c9f3f26dda5cd4f24de63bceb5fd9390163c58d260242010a03e4ba08f9e2b6915a6c0b83156b00f59efc5417394c51ca7616b58cf91ab7166d8459eb4eeb0d57146ed6560e173faf354b4390817e0aafb38294df25992cbd\n\n# tcId = 277\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3081880242017ab00a30c88faeced3e4a10f9c63785bc29e9af4499466bd8880827cfa580b6171f4a20f36487f7b94592946bca4162faf65872af6bfb1919e6b026c14e51e2740024201927515f6489e9b7d9cbf61e103295857c8131320217e7a86d3f2fdcb350da5b42c2dbe173fcb025d14da239d7d610de8475914748573429c9590d3594f4fa3aab3\n\n# tcId = 278\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 30818602413b2ba1509aea9d42d400400033952a022fe7e00c7ad65c39a2f76d41130aada99c3cdfb9cf44575a2163de29f097beb9bd3aef9334e6fd0813dde2a087f938c5f602411afb56087dfd5cb4fff6679a114c340f3a59f6b3e1813373bf3ebe30cb5e8b285a5875d1b5a9120db80f70310201559f89bb1df147961d1ca4fcdb5e8e84cae082\n\n# tcId = 279\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 3081880242010efb321a347625343f5126ed8545017d799eb103c75558922eabe44211e8fd834655dc2ec5bee9bb3e44350eb6885e0ab974730222e55f13ad27c066722fecaa25024200d62e3d7ff9215369aa7da818db302e49033875010b2f9b73d25ca5b9bf2c62ed756686230cd5f4a37c1fa881c97e623919fab827de5995ab456a1fd7ac7b85b1f8\n\n# tcId = 280\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 30818702412f778cd552f54da5f567f47e6979872ba130dc0890172bf3b3bb952f03c64bc8783abe9f056d60e1667780f5ea88f59ef33c735d540561a197d31fe34853a60a52024200bd2816f06372f2e3f2582d53e583e133a551aaec04ddc2fdb7b8131787e73e4295ac28a9604a2402ed5b272cc03be57dd4a7df84d9ee24cb0c2bf124ed927defee\n\n# tcId = 281\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 3081880242012a459fffea70d3bfc13e9ea0abb10aae3910df604997cb5e4bb0548abd852abac6b9a32418c3b5ed4e7951ae88eecc0a2f1065caf24c6a814674e95682d9b493f2024200e2abd05c585e0c213a219a7e7d38b810d252ffea67650d4d1994a41c2ca325bb964920c6c2545381c45ca3e1eca05e00514b366cb0e1e49b8c236d383b260b9cbd\n\n# tcId = 282\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 3081870242010f2653d94aa28bcbd667a5013f9b283d8487c44d093ee47660329398caa550ca9c9388c7aadeceacac1507e76590afb736adb3583f54f31ae25c9c717ec9f89b5e0241494448a7ffe4a4eed84b4602781ecef77a23fed116b1b791b8d2e4231b7ca2a7b6f06d132705932d446e61d344714ee24014fa5bb144a96572b3d48d038a55ad68\n\n# tcId = 283\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 308188024200c2da48552c39d94f5a45427ae9dcd891b65cca33e624ad2532ffa333666b241d873336fab7bbd7b4c193db4d865cd50f0c1d8cb5c14cf3f089ad42dd43cfff634e0242014f2070dcf860b96a45f2a6061e4ec2a6ad64d7d0e9fbdb25aa93b99941be280f5c70c0e32b6234df545bace7341af94c140c865d44fa8ea7ebe0fe53bda44645df\n\n# tcId = 284\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 3081880242009bc6e74549b48a1e7c181b179687fb27d6e9acac47ec34b1b8bd044d329320544e4e568e67d17f4cda2f0a3fe303d561a11fc0c981ed9be2fcc6d397a43ad49e10024200ff295e43fec5b68b00ce8044434bcd17af1ba04a74556353e258d017ba26bed67f458fad5dd8e7d2734d56f59928c2419441a9e8c0573db3586ca056951ca935e0\n\n# tcId = 285\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 308187024120963638d0b058494254efce57778ac65e5f23491f7adfa72e4713b7c03946b543c014d9660d855246f308085eeee495cd831b7dbece47aea48e90433bd0fe818402420161a4f4977fecae92d4f67e56f3338c7a9b820b5e05db1f28d05d71f7e5f36bc63f6edda4d3c1b2d73bb8a30c4d745b73e634ef574cf47656a372e3eb42cc038850\n\n# tcId = 286\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 308187024201bcc5858597ce8d4dc5ffa6be33f7d804f2f8ef59c5db9301785e0cceb7ed57462f455a465710c7414570c9a35a3100bd15fa40e3ec350d1f75406c2a25885e9d76024143757d282fd1d44c253f9a05d8142c29a6d63c0a1f5508431bc9fb9b60a38b7f414e730e0d59b7b709706a67022e1922fe88b182a57443c58bd06a69ee7814bcab\n\n# tcId = 287\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 308188024201240120b97ea67bcbd0e412d87137a13e347a870a2249375fccf8c004da35e592620774160e7b82aed1f57997fb015a764d014d4be1f389e5499777054576e7bf000242019f157ec3a2410853274bc4d8e7565e9eaa5dc47d5e515abc86c22fa6dc215482df5c0e2b885f37baef3a6ae83daac930617a5fb37bb03ce40f06fa4ece26cbb11c\n\n# tcId = 288\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 308188024201a7536d55876f8392a6eba18f075118c273015844eb3536c727c004c1bf23067d57e8fe31872f8bf839640e80e06aba3c0a365a268cabc2da96d84550a569f17f9c024200e840b6a7cba718d91103faa134c2f63763f3b6b91db7ecbd3b10f10171a875712cb9384325411beca9a3aa87aaae3902c282d2dedaa1cbddd40ccf0d29975df22a\n\n# tcId = 289\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 3081880242013f72be1c331214f45007ff72ce54afce1c910a90e4ff3d176620ff3ca976c2b62d0cdf5d1134290ee97440715531455dc29818828094d366f959e1adc7d7e98ea4024201e80ac38ba69f3e53116e5432fbdb3b1e7ea1b43e5f86d1c0e3d1c469442dbb406ffe524f0685f71e811d94a9efa9ed38ccd9213f983983035f2add0b8f2fa4ae23\n\n# tcId = 290\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 308188024201aceaa6d567ddb39ba52d297e60e4a814c9b476cab568c09d8ace878d846218dd2b5d2a2461f0d5a56c12f0bd803e3253dc5b387b94e86589cb1d0cb809c7071125024201b1fb021b10b593cf9e793cf22a88bde9a4b92f9e218094f270b093e8c6c95aced43d097bfa3354e6b98d195c599c2e6f13351c63c28967e08b7e497e120665c663\n\n# tcId = 291\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 308188024200f6ffb5dd786326041e74564b719d38924a28329868177c13463cff90c4b09d3d2dbc011281cc78aa0e5e8656123bc50605601a547bb4b1761f852a120ea46df9df024201a407fdd445614a16a5ebd4ba075c6c1d7564f3cfd477d6b2620abf18a5bf78311282ea45b9bff813f24c3c7854e6091c8055144f9592fbf2e456421a41c555d7a9\n\n# tcId = 292\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 308187024201a15af4d5ca3deadecd75ec1baec31c8d43fbc889466475e6c23106db4e63ab69003f56d819ddfc5a673c8289f9e6df806b07af57a2541af694e6489734c8eec837024169c35433a3217fcd738a65b7da9e81cd81f04f0ef060050b9c843e9e808d8b8175f3adaefa105d215ea9a46bf415fe2ac180958fcdd878d54f8d19d23e11b76d1a\n\n# tcId = 293\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 308188024200ba899f94841db6c33b850867c8906b436be3853640dbfc863197fa1e5a55ce25240f2be498b9bdcfc0a89dbdca192d8f84ca3c44e5e0ee6f83e7900e085e1bd48102420086e6d558de8d8f014a85cb4a5f6908627e7a1acd70581d9d9c7d14df44d437aa09e5a10a0b760e98d46731f2512ca1b0240c602b5f0a2030485e34de9c6cd08e7e\n\n# tcId = 294\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3081880242008eb5c92dbf5e00888b85e6bf6617017e97c04ae950dd731856b9dfb20e0c0e5c54284f411231fed1d071b321f78618d2a75c139663fb9db3435214cbac5a0dcb4f024201da0dd29d4728fe6331c8e2ade5045b1237664aed157db2a6cbdeaf5abea81324e28920a1c49c334b1226441f88e1a7f2c7e01d63e950d4378f08973db16b2e6161\n\n# tcId = 295\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 30818802420130779f943df098ddb5315cdca4b731c83472d589f4ba4d32c172faf6b3a9e4154c0517fcc5c432eb269b0152297f6df490ece59496bea8047e2f32d0b5f91e85ef024200c9eb0b56273114ce2e553341247da86b813bfd65f143a5562bb1c874ff970523836bcdf390dc196e", + "67dd75cd28112ef74afd51b1fb35333be0505a012efebd4e22\n\n# tcId = 296\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 3081870241593f0132f7b5c282355978a2cba73fd3bd5ce3272066d4ad9bd8bd8b3e2be0990071b3509ea445dd155cf97e294e2b8d1355809d880e10700eeab0eb8ebbaa4f0902420107eb3d5ed75cbb9bcb9278f2266c14c57cf703cbd8f7c7de45c51f0f3baf1dff6bb92f1cbf89ba649677bcdca776fc57f587ce714e2e43e6cc523f0d0a286d38fb\n\n# tcId = 297\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 3081880242016ded17fad10f945e3d953b4fd3b72898c370f15164bb7712673385c10bf3929bea293e08bfc30029a465138ad47abe604df807b31707fef55adf3e104920038e3b024200b76b212d74e4b6eb994d926e9e796975235fad90e339a21a329e6eed3fe96b6d3c0d5426e8464c4a9ed5cbe08eeb5e490f72e9e0406c0d76ad076b476d07c0144a\n\n# tcId = 298\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 308187024201f8624ffa5a6aa8d9d04ed1c2272ea55f5271ca2cfc9aa6a3778a0b8a230f611e5d65af18d8251a0cc4ace663878c33205239ee7e8388cc0a040ea51515072e3f6102412c1e61197229f40e840ea37325f3bd87a6cd32d080bd61bbde4b072cf7a0c8a89d402cd9235c26f19a084ddceb1cc0bae4006251ccbe10de3954e85a8c5efaf6cc\n\n# tcId = 299\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 3081880242012b01c6601ceca9e58e8abb85d1f6663df70cee761a756b77e45294f09ae609a6b76cfcd67f60e47a3494cb85511e33d92a8d297a1b89e9a9038c0c5b78c3a3d4ca0242010ef5d2fab59bd42e2e92a2fca7a975b959dfb372519330defc8fa8954bfcfb397ba939edb6a944a2ce9f6fafbfcda6092cddf628801f6dd8cd40cad4d809d5c1bf\n\n# tcId = 300\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 308188024201c54a330b9dc47eb88dbf60c9ee49f2c7518c0a78baf642c74105fe283fa4c357ff22931ef42f92d16d6a0b806ef718539d21cad71955a530e21cab49a56f561673024201c2cc32c5a4d335c48d0cbb0407fb7e4729c57251afbf9534c5309b94e6aae13614a1f2514252f48cc7f143ee761782f8dcebf2fb490e08fdeaf570a7ed9d287da2\n\n# tcId = 301\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 308188024201467b4511b9d6601da3557b8ed432c14a80e5999847be136c756a88dd5134689b5ab70d0a2e8fd8d6141e2b143282f98afb93b7e17609522dd9e64c9e4a31c7c34f024200f50ee66a1dfbf86167ba5968d4ee3506a7cffe0f521c1bf830d0867241e345d319e77eeca45858bb3062acbf8d100bc6bfd3127d57a7e91a8199e05052b8ccf304\n\n# tcId = 302\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 30818602417af90f6227750f917d65b1c60200c755158bb783a479be6877c59ed89ff595fea3f3a4137591aab23826ed385bd6156277364b5d603ca272259083e6e9ab5db3f9024170842eb62c894935b82da15ca611d9d754ef57859e0c912c0358d0820f4940cdf5360f116a7547a81bf65617f182e597eb1007e26c62838487ca021c3829a590db\n\n# tcId = 303\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 308188024200b0169e68062caa79f99ec0c72d83c4d0fc2a1c818665cfed1aba3e684392b9a95afb82ddd1de49e3fc3cb3889b4f5a86a7bdf944361db2cfa57021a7643fcfce9502420115ec784e042436892c6cc1bede0f4b7b6eb24b300b1f0c674999a6da816dbefb2d53f90b0dedb962a085e5209fcea50311130800d2a9249d279c7bde2f88622512\n\n# tcId = 304\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 308188024201de4ed1ee81d5cffcf8256a06858cba5eb925ee68e3ed848ac98071b6e30c3b44b102a2de8117cce5b4f9e42603225e0dbcb3fcc171d1492e7ed8bcb6ec286c7de0024200fd1e93bbc8b8adeb7864a2bf8e29d6f9c0966fe3d543525bf268b57cd6fa8852bfe0d2750726d5445560f2fc211aa7859dd3ee10078ef907e49cd64326b397e01c\n\n# tcId = 305\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 308188024201fcafa62ee6275443d7277fc46e4c30b4db845ba45b5d6b54faf47bbf921f825f6fd0f23a38c0c7f4debc33add282afad1154c8707b6e18cd65adcb07d32915b46202420087a27b2bf3c35d18fd397e0cd7159516cf563b98441e030bfde93ceacd2c4e41228b7b33443ef0a351ce553d6d1d71c12092df796276175cd779b8090c4958b391\n\n# tcId = 306\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 308187024178989628acfba86d4bf28beeb9f44001fb8f2d8e245320a19efdede31eae3ec8b496faec30c85e8f63f8ae06046fe1d1575321fa04953e460f6b1386dd5df94edb0242012aba3349732e21a5bb27d7d6facd8c7688b9d0d0271d6a077f9d6d82db45b5456b767f4b9f1a80f487031f9c0b3ea833c63fdf9c6a25e6b424c19c2e55305d7a0f\n\n# tcId = 307\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 308187024114a5a46a3ba415f6e8c566ca1b15fa2055649687b1a9fc84cc0fa8631296898fe014e0d45927e4271396baa4cfb3675669b16e76c339db3c0edaf61337e8bebe91024201fb313129757f76754b60fdb1e4077f9fe3dd62c8bce52190cfeb9c03021cc92f6d7d1302b8a84733486bf769ae94d3db4b60b6df28fed481d3d7c510299f0c319f\n\n# tcId = 308\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3081870242008a3250eb5f28b598c4a42890d25f6af84082d4376f84f1717e5112a76623e6fe0d207c39463d20bb86341bc26c9f68bcdf794671a01f90465025f87a8c52137edf02411ddd317f6622d9b032223f76765ba6c9116ae4b43a1bd357bc9db6fa62f0867dc5d8f781f08c1cbd49b4424fe8c22cfd1dcd07cfde7b3598342442589825aa67f7\n\n# tcId = 309\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 308187024160ee161741d5cb2dd0ff2cf9924aca0376b1544681627a31688e4d8b3b63a01adbb417ee113b9ba8d4d13b7b4e1b14b51a24dbc3f099b068d916aa94862ee081b40242015caff8d30141e1c163e3ec62b7e14874da624a6d8e0252d8e829860e5a49d3732321b625262e5c9b1ef348c3e7cbb1de8227513f320637866785e97e1931d35ccb\n\n# tcId = 310\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 308188024200a1ef8229db9f45da38ae3b6d601110611e209878bbd03ac2a6de65e8402957c669a115e3f02d085fe2d031c61324b77052ab346b4b1a437b58062fb36f9d56cf45024200cc5c0a3b68970279ae16880f6ca579d0171a827e99a46aa82b9242dcc09cb0b22a44ebcfca84293e6d21aeea492f00ba3157c5b6e2e4caea6a1c09c824720552f2\n\n# tcId = 311\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 30818702415aa0c8a378c4e02bcc2f56c2c365ccee424e2973c28f0daae8f4c3f0d90b421fefd456e749087e0c667c2a7147bc67b90c696244f216b4d9d7418eadc7d06ef1d2024201e28914bd341f526b041128f2d251131d8b2c65847e541d65adca3442962cddb2a71c64fae39fdd56e41686ad632f99c6038d8de0b3aac4045e0a961efdbf4c6a22\n\n# tcId = 312\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 30818702415a05f5366c8b8be28654bc39a6671d1b1593495e445c07c995c3be3e168ffdec92e44288802fd455007f8746570d93b5683e4d40e9d9e59de539f0e62bc40d92bc02420187a47d8f70adcc5e10267b8fec89d7011d9985427645aed19a8efa2d1189b469cb7aab1998e0c1d2fcac5a5054d79d2ec1c9a00b183dc9af20f555a1140be2dcef\n\n# tcId = 313\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 308187024201e213bcb8b960b1296ae176993b2449bae556b6d90df2f07fb08ad8fd60e3b7fe6c73f9c8a7364417611d60119c550261c54bbca8d61e264130ab90187e27d22dbd024134f519382cfacfd07b0a6f3aca117c13d2be725d2f9ee4e5f88739c99121e63ed7358046bfb1575fc73e1ede8339e46c5139843e52e9184bb8c579061a154a0b8f\n\n# tcId = 314\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 308188024200ed11ac7efb1f29ee64108a5e2606fa9af3bbc12d1a952e47240d5236df64f5b2b77a0f7a0a73d30d0708b5b23ac6d584bf6997d8851623793655dee8774549b829024201e1602a2cae7d3212df47eebd12e2fe404851201101bbde702be9d74d040ed998e79a09ebf6d055f94473b1f8d87c99aa165bdaf0a5f270d46caabb8e88bfa54103\n\n# tcId = 315\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 308187024107123c45e6e9338bc9fe225cdd96c5ab36cad5c06163f44f6bd903c7594e8068ba9bc89f652ec31b6e1298766b246c1f10877f1e3ec9829b0937b8d36e3c1ab2b5024201688bbaeb188b5047be6e8023b14fb121eb1451dcb19f814f5f4dca55ff95128011e3bae505a4d22166d00cb7cf14130590335ee923dc5db3e736832a128a067aa4\n\n# tcId = 316\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 308187024201264e3cc4fb802aa221d0787cd0cdf44eb6568982a00a6639f15238af36e894b14f45f06f8c2180fdeaaac77f674e056d1928cbbdfc4b2ceca0b35345ca07bfff7f02415c2dedee6b3aa096fc47ba0991a077ef4d5df20d8eff1bf8354412b171f08a98cea1704c8189a7951b0e7a8270ccb285b8db8e35285ed926b19c1eef07fdc05ee5\n\n# tcId = 317\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 308188024200ca3814747888751794b0488955e2aee07e5fab4b9872074aa7432698e7c83b8079773734df1bc752548a218fa59a362e0657b77ae7798ef4a7a3873256ea59ec670242015df8f1f16611c960d56647424b97936c8a06f62dc3a95d66bf4aa378d7a9e17d2afb53565780025927e6928f5313428f1d6708339787c8f460ba18457d4c0f521f\n\n# tcId = 318\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 3081870242017ba871aee34a893c4ded7a2a546da0d6867d428497b80fca7eea6e51b73d6411aff7609743e6242b6d4d3736ddcc9ee1aa12c8b62de5382e5c33d1fc4853e3e47d0", + "2415feb9d9f8fdd44622e4f9effe73fd9b467d355fd6b8de205527f722ee2f5a15eebd59ccdd7b57da26cf953f78886db5a6e5bdd0d56c9bd47ba2271f77687a64b63\n\n# tcId = 319\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 308188024201840793684765410baf26b66cbcf7c36658d6c18a2f750c1225520e9f3a7c1b890583f321d4e48752c3b3116dfef733ee386c52a53402acea77cfad1db9380110e6024201b51985a306fcdbe3692181106d7d6308873912d003946992098bc98b4261fd78869ed8218849459780b6079f6899a47fcb9ea4874d1c08fab82c6f1e9c9aaae245\n\n# tcId = 320\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 3081870242012276720b2725ba556d06be39cd16ca0a0351d8f530913c4f0cfb71fdda74b83f02febddc8da0a1f0f910d37d3f5332c027d7bd4c38fd08ebc770bf1252078649540241637e70b06045a86e2f329f907e079a785d7f8649541860322fb8b64b9736363f90156b9a5532d808cf2af33b87ff970c02e648dc4f1c90ff0704028ec2c2d9a82d\n\n# tcId = 321\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 30818702417aade608b22c77245734fc5c4be8737ba24dc2ed4321b58124ae46a77ea7befaa5bcf166cb966aad007911623af10925a324bc3c6d06f24d0e2e7b2c7b8468b8ee024201e9913a412300b3980719148de0bb03826184aabd58f19659aa8ca18045f36c73c97df3d12b921de510ffa96ceac5454b801c86c55a06b2d771fa77bca784332c39\n\n# tcId = 322\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 308187024201eefc7b6c1468ffa7d60b8408bd44c64a3ffaff298168c5016c6f504031867ea14ae48c661b8124418b4ed6ccc32df6bac6d0a485b1990236e15676268b7868d2760241515d48436afffdb65caed737116a861974b734bd1903e37dbbc231a9db37464ed762e364cac8b32f1546d6de37979fa05f8b80159a0f747d9470291af6569d6d94\n\n# tcId = 323\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 308188024201271b912ca055040c227955df729757654aa9bbdb73c61ba14155220e4e7132319f6fb0ee94f2fbe160738f1dce2ad690845c38d962db4fda1598e93270da84a2bb024200b8907f041c3b19b9234ab555d0b48325b0cd330889a53276a1e913bab892b9c05cfa889005b14ee2730220746aecf12af911c5baea4be377ee76c0eeaf47b7a712\n\n# tcId = 324\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 3081880242016a813db0f75f9047fb11f3e19fc1688c29328a54f56ae30c1c9d9378537bfc40c5719d084e49a3b4aea255f5b7f6cc775492b5371e6b67b2d6abd5743e10fac709024201c258ffd830151bfd41ccdabb86b24af846612788b361c196d24e997ccf3f17d4452f63d32851a483072e6908095e5c49bbc241a0417749b097bc1ca0e4d127779b\n\n# tcId = 325\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 3081870241156a04c22ea5bdb7871124f1117301d781113ac4c9d4da05fea536e983d9261d25dc97006f8c78de23c788718557cf6f98863994af2086f0be3e8aa8812dc3a11d024200ffca96b04c56a4a6ce5d22b36e44d3b974d520e7f7c0f9d69034f9e59e0bbdc43236b3e4bfb0f6bde8802cc5cd6022cff166f4c488d64f38d44e3c563da31cf6fe\n\n# tcId = 326\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3081880242010913540ad73ceef7314d1758264e1d1525a371a7b9b3086971599a6b749be4d6ba69269b089508f6500dd925aa89a7c7cb7185e0cca7d2ee5664f22845d961e31702420135256c79ea5e5768fb3a55e2899b12219b8f68953ccd98c710b6a13de0f59786f4331845e65c7dd6340023a5e280206ca31416058f395fff4bb5de411ff66fc018\n\n# tcId = 327\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 308188024201b5051ca0dd3b20df7d8c5b92cb42b8a204f92fb4e58c612f43d3800de8c0683c427e832ce622156747052b81bfbf6ed5fa177b6d47858ec8478f6c9ca7948fd511024201fe5710fac0e9d3e2b3b83081b28b194b822d0c13397bf1516140cbe3faa52e908848f69789a741b9cd54d703a94577fa813e2f2c75834807401ca010fde5328317\n\n# tcId = 328\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3081870242008d3c8f8e7ab74d49e16a4c7db3a393fa9567777e373313667f9ce32b1b5e648debffedfd2ff5345ca1b8154c18c8b883957d911e41336285f86261c3ee225fdedd02413c51b84c2c9a3feb76a6518634b6f09c0dde8a9d08dec0b3d66135cc1bdb0a80fd69636104af69de8f4062646b29fa3af685ec82704cef706a18c59ca7eca0fb56\n\n# tcId = 329\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 308187024201195625a64ac11c4fc1fc479ef80430eb85c1af77f8a197a17e009569ef6c41ac6f35850755379f478d8928b154e3baaa29e92b481ac04dc72f3728b4f088ff37dc02410d55c7067877dd1302fdc6bb69b7b7c024e4cf3a0e924102d744ac52366d9d76d5855d3da228c4b67bc7bc4b2a14e7999962cc9bbdc517fc24a823abf584b8f56e\n\n# tcId = 330\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 308187024126eb68bc0fb7664c35bf5762cd532dce33b0e396e97d6f4143dc6e1e766c836e27c069da9ea1e74e0b03d030cf8a81490508c1c728f86e59282df94de8d8a0dcaf024200a9fb584b712986f19ab7568693df278cafa43272dba400ff333cf48b5556e6e78353a665605c70b6fd0f18f30b850e1a47cda42c4c924bca80102e6793be9a8698\n\n# tcId = 331\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 308188024200f3d34e36f9754dfa8eafab160ca96d91c7f4f388ec82ac33784026bb6c6a035719eaeec3ee511fffb22dd5d6ab819e6c6387192d6c3a6e9249ead565157e323f62024201b5786b1d662d26fe9f69c370d2bc18882abef693c8f17100a02725de7c9f03602fd53a9208b573b3b7b0b66db971767bde835f9e8f42ada201e7b7391b86fe0294\n\n# tcId = 332\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 308188024200e69c833b604075e9b28a2ff73a56a32e1a247ef9ae01e7a0e471f6015c2b86eb864c281c8c93d2acf5653ad05bafab2f58027f37513eb8569f50bd475e770e9a81024200b9c9d6ce09b53025bfcaa7d172ae41a9b636aa4b80a930931fc99e5e2aa23306f19dc57399b0431e72440a1f4ec7d5ca902f0f7b81c91de85e469f992fdfd4c52e\n\n# tcId = 333\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 308188024201c6b8b5cf3c4dd3d62391f18e97eef3aa6ace0ae2c6fc97a561cb8e49c087dbcf8135fa433b566b3385cb57202f1b12164fe62765ef73b72a94e7a57870989a498102420185944434b83a0d0fb4bcdce8ddaadb30a1e440815e7674562df9c8bf711222208cc346b9665d90abedb437912391505dd5d26f0178e7c063790f5518f47d1b05c7\n\n# tcId = 334\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 3081880242009f351a41d5375b8993e90b8d8a65bf01d52d14aba1dbe49cbb4ea823804f2b533e0c167903c8bbc593297c18f309798a544787d598074cbf56ef0e5022520912ad024201b892740a57204186bd5f434f72d1534b4289f8f7114cb7b1c9cf4541d754f314448cc32deaf35608263488fdc7596f7481ec098b36f8e440829194becc746c77f5\n\n# tcId = 335\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 308187024201fe24ea831199e31cc68ef23980c4babd3773040870af8823a19708bd0229adc1ce99d02e4d95224101e3e974236f54df86051fa1e9fd21380432633b2495ab782a02410efd1f2a281f967e7b09d721581356a714c499f9b14f781992eb9ae7a19f6825045fdc6d9d763f44e1e7c91480a678a1d8ecf6d66e76cea3505f65ff78cff15cbd\n\n# tcId = 336\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 3081870242014c6ee9de0a2a0b60c981831e0acd6636b46ae134fedce61b0488112663b24e1d7e74e227fea883d26b68f21e4135ba0e2069bbe0d9c6433c3908fd5b00182894b002416a180a493182c6bc2a09d7e17ff5d62015293f1e8ae205a16fa09042b0a9af6794cb377f4b8b1175fcee5137c234900f735c484feb7da4cbb405cf9e5370fe4f49\n\n# tcId = 337\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 308188024201044a45853ada17ca761acc7df6d1d380252cb0fa66124d9278a5ed8a4a60453bc71de1dbe32b0261165948823c461c7c1eb1714ec1dbf66fd602c7a47446d1dae1024200f8b27f7c71e37e4b440d2c86f1c1d50bf7c53d3878ed27e7bcfbeb902f769f86d6c3e8820b99f890050f0dbebd2132e84626c5b16a8c7ffffc3a30ace69dd15a11\n\n# tcId = 338\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3081870241676a381b18d05207cddd73b44e4dd71449985c0fa7de1fff43ca5155139a1a09e5e3fd754d86ebbe32f6609f6e906d48d24790e494343c61faa90bfdaa4f49fdc7024200fbc1c891bf6e368fccad51cc9b2c29e8e92b658e88c0d23285af269aff6702a55a0ab16807e5523b6637bbb004727f6f55c51ad4cec8c924f9c1feb24601aeddef\n\n# tcId = 339\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 3081880242013c9a575382ff6881c908fb5184be7baf38edb0b06008592558efd57dd8fb9993c893800a6ac8c6d2e34ebfbeff43e63263f133868d0ac7a838f69aff26d60a38490242009d22ae7bca8a75a53214c3eece437fb28e05b076ec704d751a28a7ed7e529d5c5338be8c724afa547574a17f70510b2462748a53678e39752a688dc8cf39e886c2\n\n# tcId = 340\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 308188024201071ce5a19a09aacd43c7cacd58a439dcca4e85f94ea1d48a60f298ee01bb3eeb11d5daf545e7086486f8e4b518a15be69620ab920cf95c5c15ff178c903124fac3024201ad6eaeedece9a7592bd21508b2720f1b8c4bf55637b1e8a5ce5359775b980b21eb1d33e8ebf5c0b3d7829152a295b8a9a1343c25350e35f709936accc8ce08b0b1\n\n# tcId = 341\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 308188024201bdae499160f4cc6cd163cf110bb1f9b421e8786a8ef929", + "7e4b98fd508a1d14c50617c8d1a3de94fc8bd6c38055e4906b20fdcab6ef7bf9e7e5c98ef3e83e38ec3b024201ba867b8ee72bb7304ff83fc2d734749447420791d5609e0515de4e05fa70a83385a853cac6c47a075c8c61e4b65b9774574101cf4e081770f83ae1b7e727010ba3\n\n# tcId = 342\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3081860240269fc7ed89e554aa52b3875dc00bc140c1937d4f1b32e29da41ff241cdb9bd3058fc148f905982b8717b035e0db00ded7ebcb08572ec76bf0128411145d73091024201b4bd6bc4ba7befd5c305e018448a771b71fa1a11b3a2c6185dd6b8477c35eaeb4733fecd90f38ecba628f27c02f809191e993e1e7ff590383e2ec2afd08020b267\n\n# tcId = 343\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 308188024201a5cecc0e572f5ee4eed6755d3230ec5a933c1fb0e35ae771a1fcf0dc880e1c159dd5b6d192dc377505048b7188de3feb815a81a4f30d9226cdc85f751dec1a0410024201ef4a743e1e16f0a60201cc1060625ede6f0936e7af90b42736281e89fe7f2de6aa3f25c68576da705d8b3f6d5d8a34d3073307ea198d1cc8d72a18ef25e90f31af\n\n# tcId = 344\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 308188024201a92b43f57421e54d2528d305e7d5aac9a708e75a7d6fedb47908a4e3edcabdd836a2c4e8436f3b7b64895254536174d88c6dca143699522bc2dfdeebcbf38eb90502420093b0b99a89de72aca0c03e12724c2be323577a4629cb47fdda5b12b61ace0b9fdb97549d3d2a1dac15da66ba6389ee54cbc82c995b9f3aa3ae8474f4bb4b52da8a\n\n# tcId = 345\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 308188024200a0400f255174ffb8548c29f5faa70e806bb6f6ca08a08753c85c5d145a555cc8e2df285af9985f2e729d4a99a734b7e7fc95560d546a067fda03529f56b2fe66bc024200d7fb60271d22ecb5d8ec904a9df1a416be706ce539e34650b8fc514d1dd7afebc1344c0c68c533c5b20ee249a77c075293b2d7efc8731c2e3619be59da871bb083\n\n# tcId = 346\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 3081880242019207c7b645aa45c2722331f46e094f2eb0052075b8ac9414ad77baafd01d4d1fdc68344136fbce01edfa5627bfb8f3c128abb61072c74802192e89137c68d0cc31024200ff15b0218f81f0a848742f683cb4d1b7c517efdb8fcf8ac6a35e4971b35536851ed68de40a6e1a4a23bddb5b42efca23b91e91959a4f7e2afa196779c96c6c654c\n\n# tcId = 347\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 308188024200aaf119702b9985354bbe3f6b6cda8c46151af4202546dfbe04d5f0ffd18ebe7b29d616f1c40376a412a52f4204b5a13e7f3e4304ead566fc41bf4b5fc0b84c8a2d024200d599deafd4fa2368cd072b854a3d53425d06adf3573e886b81248a7328a546ddc41caed38c6b1ffeaec9a98c940905cbffa87b936da980d4a9003da41e0c59c92f\n\n# tcId = 348\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 30818702416c09a59e71cf34f983f75dbb4724c4828a93021cee8fd7d92af6941ca8efc9c5ddda7c49a0e1777225782e09313e3091f056122e585c4eaa689fb2fdb1cb7848d80242019f0c5ff6b4638f4c33916db76f9d078bfa8f9e25ae00348e46bb32d777aa26155b82ea73a9e4e2f21f6a65c73ed6c6ab2101cef3524d45b9fc6ea1292f1986acad\n\n# tcId = 349\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 3081880242014e791c42f3998458c5e17f895d25c85cb419195d65e5a0b9a42cf13ddd36959c73460f54aa840d2254355c6ac626f440cb3a84fba632262c9dc5cab31be7da106b024200abb97b682f01f45168403613a7e2ff82bb4a9fc20952a35d935428f71ddcc799c6d9085fe3230d72261d73cd082e8108523da7ba0b1691ad6ea63f5f4e8e8909f4\n\n# tcId = 350\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 3081880242013ded35ddff2f97780bbc60b8cec89855a35183a48f8fa6bbdc183994bf89021118cc019629df72112b2c529c023e7a5cfce253f7fdb49105d238680b64275a213c0242009c92e7a0f71608e8d8cfab3f850f7fda1a1a1d056e72254469afe5ceec3c718e6a462e1346941eb08c105501647502c1a810a29df8b208da6a5b296b2bd1e98137\n\n# tcId = 351\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 308188024201d0d29756ebff02b71674fa4eae37557ccd51a036fb1eb0b7121b405e7fabd60592927d805b75815af1bca6e9d6c5484225bdd0ec7a40735da972fd5ff645d86f1d0242008b9fe55357dc118070cf898973a64e7554b734e900c675541e20332a260ca51a23248d9b8f47ded811cfce556a06a71ba5dc5b873075f264a6843e675caf06a534\n\n# tcId = 352\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 30818802420165fb993f39d350ed60c8483dd6e4e6736591dea974ecd8ab027d3839b752322ee220d40bb6fc0b0d5a8c42928bde50f659b18f51f42fb2b1aa4583892a9114a0c3024200a8816c09d47138bf662da4ba25caf44e24185696d4914a7de2b2535f73b9afbd3ffa9cb0a86a115e4d9ac5be48cf7e8fe276466abdf17127bcc7aaf4d096008ca4\n\n# tcId = 353\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 30818702410b901c88ea699e715f6db864e23a676e7f7f2415ac1f850f2dde1ad0d3f9c92e8c5de66d45174d619955fae4b0dfebe49c583506481d28d30cbf58e2ac49f370c202420144c97b688b9ecc07b84c68095267e17e48232922756609e9859d18d2eb7844ec925150c39f2b3a255c882be705e0a8e30e68e49fe7914dbcc3ccfbc1d467050f80\n\n# tcId = 354\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 308188024200abbd9e77ef1e2a36c6b06f063d93effb8e852387a94bfdf8359b5c18708f90d9f4e9749fd45347f637546b08733789c988fda4f0309551bde813a0bb1a232adee102420191165d58d153fec68f5cc83bcf5891e2e0ca9681204876e872453e9ebd45870b6878ee437e4d833c6ec54337b779acbf9f8202df510d269a710d0c43e4e07b040d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[key.wx = 491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af5]\n[key.wy = 0144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[sha = SHA-512]\n\n# tcId = 355\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3067022105ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# tcId = 356\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[key.wx = 015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff]\n[key.wy = 01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[sha = SHA-512]\n\n# tcId = 357\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b", + "566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[key.wx = 336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e74]\n[key.wy = 01d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[sha = SHA-512]\n\n# tcId = 358\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02420095e19fd2b755d603bf994562d9a11f63cf4eadecbdc0ecb5a394e54529e8da58a527bc6d85725043786362ab4de6cbc7d80e625ae0a98861aea1c7bf7109c91f66\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[key.wx = 6f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c]\n[key.wy = 0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[sha = SHA-512]\n\n# tcId = 359\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024115837645583a37a7a665f983c5e347f65dca47647aa80fd2498a791d44d9b2850a151a6e86fce7d7bb814e724ff11b9ef726bf36c6e7548c37f82a24902876ee19\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[key.wx = 5e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d]\n[key.wy = 01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[sha = SHA-512]\n\n# tcId = 360\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020101\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[key.wx = 00b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e]\n[key.wy = 295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[sha = SHA-512]\n\n# tcId = 361\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020102\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[key.wx = 32b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f46005]\n[key.wy = 317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[sha = SHA-512]\n\n# tcId = 362\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020103\n\n# tcId = 363\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020103\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[key.wx = 67dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938]\n[key.wy = 014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[sha = SHA-512]\n\n# tcId = 364\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e914b3a90\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[key.wx = 68d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b]\n[key.wy = 00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[sha = SHA-512]\n\n# tcId = 365\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304802020100024201efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfb", + "f7efdfbf7efdfbf7efdfbf7ef87b4de1fc92dd757639408a50bee10764e326fdd2fa308dfde3e5243fdf4ac5ac\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[key.wx = 011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed2363]\n[key.wy = 0118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[sha = SHA-512]\n\n# tcId = 366\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304d02072d9b4d347952cd02420100508d073413de829275e76509fd81cff49adf4c80ed2ddd4a7937d1d918796878fec24cc46570982c3fb8f5e92ccdcb3e677f07e9bd0db0b84814be1c7949b0de\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[key.wx = 012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a12102444]\n[key.wy = 0174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[sha = SHA-512]\n\n# tcId = 367\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3053020d1033e67e37b32b445580bf4eff0242013cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc3393f632affd3eaa3c8fb64507bd5996497bd588fb9e3947c097ced7546b57c8998\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[key.wx = 008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c6]\n[key.wy = 00a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[sha = SHA-512]\n\n# tcId = 368\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 30480202010002420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[key.wx = 0093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e]\n[key.wy = 01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[sha = SHA-512]\n\n# tcId = 369\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3053020d062522bbd3ecbe7c39e93e7c2402420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[key.wx = 019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b6]\n[key.wy = 0158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[sha = SHA-512]\n\n# tcId = 370\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138638a0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[key.wx = 01aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a26]\n[key.wy = 01ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[sha = SHA-512]\n\n# tcId = 371\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020101\n\n# tcId = 372\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020100\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[key.wx = 2a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3", + "476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa3]\n[key.wy = 24b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[sha = SHA-512]\n\n# tcId = 373\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04004bb904073cb6da9e5028df54fc22cf5a9d5ca73a01feedd2b4ce43b87bfd4300a72bdf26b146b2e7b506c03c7a0ad4a7e3e67204dddca9b65d43560ffaf9bfd540012b8895632e0406b78463fe1bc5360a3cf796fddda9db2b18ca9171558e6158fa4b0b1d0461d9a46b9b958d629bd62a29ee3942238e0fa83e932a66abb1b50c5f37]\n[key.wx = 4bb904073cb6da9e5028df54fc22cf5a9d5ca73a01feedd2b4ce43b87bfd4300a72bdf26b146b2e7b506c03c7a0ad4a7e3e67204dddca9b65d43560ffaf9bfd540]\n[key.wy = 012b8895632e0406b78463fe1bc5360a3cf796fddda9db2b18ca9171558e6158fa4b0b1d0461d9a46b9b958d629bd62a29ee3942238e0fa83e932a66abb1b50c5f37]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004004bb904073cb6da9e5028df54fc22cf5a9d5ca73a01feedd2b4ce43b87bfd4300a72bdf26b146b2e7b506c03c7a0ad4a7e3e67204dddca9b65d43560ffaf9bfd540012b8895632e0406b78463fe1bc5360a3cf796fddda9db2b18ca9171558e6158fa4b0b1d0461d9a46b9b958d629bd62a29ee3942238e0fa83e932a66abb1b50c5f37]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3206024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04016454afca385eb53eaeaab711537d95c50e01268b100a22656adf5cedf68b4a78a6c14a70245df707f6565ce15948c2e38e3d90e05dda3188ab43a73f30dbc6bda80151dca6dc5aec84fa35c79f21365993f0b267ca486ea66c2186a52a3fb62b53501ce2822d4691fbc25cf27adb70734071be523b9231dd8d33a401dea00cf0ae30a1]\n[key.wx = 016454afca385eb53eaeaab711537d95c50e01268b100a22656adf5cedf68b4a78a6c14a70245df707f6565ce15948c2e38e3d90e05dda3188ab43a73f30dbc6bda8]\n[key.wy = 0151dca6dc5aec84fa35c79f21365993f0b267ca486ea66c2186a52a3fb62b53501ce2822d4691fbc25cf27adb70734071be523b9231dd8d33a401dea00cf0ae30a1]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016454afca385eb53eaeaab711537d95c50e01268b100a22656adf5cedf68b4a78a6c14a70245df707f6565ce15948c2e38e3d90e05dda3188ab43a73f30dbc6bda80151dca6dc5aec84fa35c79f21365993f0b267ca486ea66c2186a52a3fb62b53501ce2822d4691fbc25cf27adb70734071be523b9231dd8d33a401dea00cf0ae30a1]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3206024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3205\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[key.wx = 60daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e]\n[key.wy = 016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[sha = SHA-512]\n\n# tcId = 376\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 308186024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[key.wx = 51fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae]\n[key.wy = 01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[sha = SHA-512]\n\n# tcId = 377\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[key.wx = 00b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad]\n[key.wy = 009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[sha = SHA-512]\n\n# tcId = 378\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[key.wx = 00809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a]\n[key.wy = 01108acc5577e9e8962e2a7", + "cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[sha = SHA-512]\n\n# tcId = 379\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[key.wx = 0145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b]\n[key.wy = 0d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201556bfd55a94e530bd972e52873ef39ac3ec34481aebdc46680dc66723ab66056275d82bff85ad29ac694530bb2f89c36ce600ad1b49761854afc69ab741ce0294a\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[key.wx = 00ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d]\n[key.wy = 00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200dcf9e7f441448a125b96d72b989d9f4dac7508c7e036f6080d4758e736f5e0636b0ff503f128a98d08e0ae189921065219d2cc3aa83e3c660ca0cb85e7c11a24d0\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[key.wx = 0ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad741]\n[key.wy = 0173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024166eb57733c19a7003cf8253279fce41907bc4f127153c4576dd4814f8b335a0b51560b4447f0382c69b3fe509522c891f0eec3999ad2526835f33ae22a642843af\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[key.wx = 01eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c]\n[key.wy = 01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017106d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc79527ac09f0a3f0a8aa38285585b6afceac5ff6692842232d106d15d4df1b66aa8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[key.wx = 01e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8]\n[key.wy = 018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02416d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6ab94bf496f53ea229e7fe6b456088ea32f6e2b104f5112798bb59d46a0d468f838\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[key.wx = 0141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac]\n[key.wy = 0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[keyDer = 30819b301006072a8648ce3d02010605", + "2b8104002303818600040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200da226366601afff780ffe082a0db8e74ea10d4864a5f6876c64f5e78d6598fad57297e92dea7d4453cffcd68ac111d465edc56209ea224f3176b3a8d41a8d1f070\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[key.wx = 0147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c3]\n[key.wy = 75432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242011b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94cb85df5e6c1125394fcd34f6521ffdaddd98f88a99fedcedd9384288bb793cf2f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[key.wx = 00b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b]\n[key.wy = 00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02420161be37ed5f748e06a89d72c4b7051cae809d9567848b1d8d7ed019221efb06ae81e1264ce49c5d29ee5fe22ccf70899002643aca7b99f57756f2639b6d459ae410\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[key.wx = 01aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9]\n[key.wy = 014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201e9bbbd64270b9668f7623ef7cbead5483eb07b883cf39fb6884aab67dac7958b0e03144357b9433e69adc696c86c63a23d35724cbd749b7c34f8e34232d21ea420\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[key.wx = 01b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f]\n[key.wy = 01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200924449b6c96f3758e3b085c079714f11f28d039b11699f0e9b3e7c553c8fc6c8f5212fec5eac3068713b8ec72fc6e2a90872b94e161a89822887f4a9bd5c9efd74\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[key.wx = 58a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82]\n[key.wy = 7a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201554a01552b58d67a13468d6bc6086329e09e5dbf28a11dccbf91ccc6e2a4cfd4e6a2c5278791c6490835a27b6f7abb8a690bb060de3deb85093d3ae16482c84f64\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[key.wx = 303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e]\n[key.wy = 6673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a", + "3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200aa9402aa56b1acf4268d1ad78c10c653c13cbb7e51423b997f23998dc5499fa9d2f403c78b645cfba4eb78f595fe6d6f01dbaaf803f23ac263bf060baa74583abf\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[key.wx = 00a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b]\n[key.wy = 01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[sha = SHA-512]\n\n# tcId = 392\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ffde03ff820a836e39d3a8435219297da1db193d79e359663eb56654a7ee6f7eb996c8ef12f62344ad211b71057928f96ae75b58e23026476cfc40ed0ef7208a23\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[key.wx = 014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72]\n[key.wy = 4525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[sha = SHA-512]\n\n# tcId = 393\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242013375abb99e0cd3801e7c12993cfe720c83de278938a9e22bb6ea40a7c599ad05a5d3c8e5e5d7b3e16a99e528ef0ce91be0953cb1a9adf757f257554ca47ab053dc\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[key.wx = 01d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500]\n[key.wy = 3fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[sha = SHA-512]\n\n# tcId = 394\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02415555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[key.wx = 0165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1]\n[key.wy = 008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[sha = SHA-512]\n\n# tcId = 395\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242009f57708fa97eba94c6d4782cdd4e33bb95c1353bde095232e3e2bab277bb5d2b48f55a53ffe928d034c29970a9e5f384a003907d3d9b82a86817cc61fb17f4c59e\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[key.wx = 018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff514668308]\n[key.wy = 01cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[sha = SHA-512]\n\n# tcId = 396\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024168d98fa90736eff3e90f8fcfe50838b6fa0bf2cde77bc51e3f41019c8006f4e9cbaeadce7dbb44462da6425be9cfdaecb234c41749ce695be1b5ead2e6b1205f35\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[key.wx = 01d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c]\n[key.wy = 071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[sha = SHA-512", + "]\n\n# tcId = 397\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200e97ae66bcd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffd68bc9726f02dbf8598a98b3e5077eff6f2491eb678ed040fb338c084a9ea8a4c\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[key.wx = 01c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad698008]\n[key.wy = 481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[sha = SHA-512]\n\n# tcId = 398\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ae66bcd4cae36ffffffffffffffffffffffffffffffffffffffffffffffffffffb3954212f8bea578d93e685e5dba329811b2542bb398233e2944bceb19263325d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[key.wx = 5dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae]\n[key.wy = 01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[sha = SHA-512]\n\n# tcId = 399\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242015ccd79a995c6dffffffffffffffffffffffffffffffffffffffffffffffffffffc2121badb58a518afa8010a82c03cad31fa94bbbde96820166d27e644938e00b1\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[key.wx = 78be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68]\n[key.wy = 009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[sha = SHA-512]\n\n# tcId = 400\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201cd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffffffffffae18dcc11dff7526233d923a0b202cb29e713f22de8bb6ab0a12821c5abbe3f23\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[key.wx = 0093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960]\n[key.wy = 2b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[sha = SHA-512]\n\n# tcId = 401\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024122e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9c4c3f73cc816143fac3412b62de4c63db08f8c57e4c58c31f1b457ca5e57e20a\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[key.wx = 2d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e36]\n[key.wy = 00bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[sha = SHA-512]\n\n# tcId = 402\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242010590b21642c8590b21642c8590b21642c8590b21642c8590b21642c8590b2164298eb57e5aff9343597a542d3132f9e734fdc305125e0ec139c5f780ee8e8cb9c2\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[key.wx = 018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96]\n[key.wy = 5aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[sha = SHA-512]\n\n# tcId = 403\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a4924924924924924924924924924924924924924924924924924924924924924445e10670ed0437c9db4125ac4175fbd70e9bd1799a85f44ca0a8e61a3354e808\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[key.wx = 51b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b8]\n[key.wy = 00a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[sha = SHA-512]\n\n# tcId = 404\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201d5555555555555555555555555555555555555555555555555555555555555554fa6dbdcd91484ebc0d521569e4c5efb25910b1f0ddef19d0410c50c73e68db95f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[key.wx = 01ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc]\n[key.wy = 00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[sha = SHA-512]\n\n# tcId = 405\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4fc31322e69da41162a76abf3a1b4507ae66074633446f259661a61c93be30eb5\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[key.wx = 0137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f446073889334]\n[key.wy = 0163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[sha = SHA-512]\n\n# tcId = 406\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[key.wx = 726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b]\n[key.wy = 00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[sha = SHA-512]\n\n# tcId = 407\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201346cc7d4839b77f9f487c7e7f2841c5b7d05f966f3bde28f1fa080ce40037a74e3001a2b00bd39ee4c93072e9963724941383cf0812c02d1c838ad4502a12c619f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[key.wx = 016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]\n[key.wy = 0083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[sha = SHA-512]\n\n# tcId = 408\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963\nflags = PointDuplication\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[key.wx = 016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]\n[key.wy = 017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[sha = SHA-512]\n\n# tcId = 409\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3", + "bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963\nflags = PointDuplication\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[key.wx = 0110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f]\n[key.wy = 01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[sha = SHA-512]\n\n# tcId = 410\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[key.wx = 01c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13]\n[key.wy = 015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[sha = SHA-512]\n\n# tcId = 411\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3081870242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[key.wx = 017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b0]\n[key.wy = 0162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[sha = SHA-512]\n\n# tcId = 412\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[key.wx = 01e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f]\n[key.wy = 7ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[sha = SHA-512]\n\n# tcId = 413\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[key.wx = 015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a7448]\n[key.wy = 00b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[sha = SHA-512]\n\n# tcId = 414\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[key.wx = 01fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f]\n[key.wy = 019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[sha = SHA-512]\n\n# tcId = 415\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key", + ".uncompressed = 04008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[key.wx = 008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c86]\n[key.wy = 25a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[sha = SHA-512]\n\n# tcId = 416\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[key.wx = 01bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a15]\n[key.wy = 00f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[sha = SHA-512]\n\n# tcId = 417\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[key.wx = 017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da3]\n[key.wy = 00c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[sha = SHA-512]\n\n# tcId = 418\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d02410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[key.wx = 04c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c]\n[key.wy = 50a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[sha = SHA-512]\n\n# tcId = 419\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[key.wx = 00a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a]\n[key.wy = 01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[sha = SHA-512]\n\n# tcId = 420\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[key.wx = 01802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c6]\n[key.wy = 722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[sha = SHA-512]\n\n# tcId = 421\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f2", + "66e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[key.wx = 01beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed765836]\n[key.wy = 0130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[sha = SHA-512]\n\n# tcId = 422\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[key.wx = 0121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1]\n[key.wy = 0cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[sha = SHA-512]\n\n# tcId = 423\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[key.wx = 008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4]\n[key.wy = 5a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[sha = SHA-512]\n\n# tcId = 424\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6602410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[key.wx = 00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]\n[key.wy = 011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[sha = SHA-512]\n\n# tcId = 425\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n# tcId = 426\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[key.wx = 00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]\n[key.wy = 00e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[sha = SHA-512]\n\n# tcId = 427\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n# tcId = 428\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[key.wx = 012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8]\n[key.wy = 012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2", + "bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[sha = SHA-512]\n\n# tcId = 429\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 308188024201625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c5024201b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f\n\n# tcId = 430\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30818602415adc833cbc1d6141ced457bab2b01b0814054d7a28fa8bb2925d1e7525b7cf7d5c938a17abfb33426dcc05ce8d44db02f53a75ea04017dca51e1fbb14ce3311b1402415f69b2a6de129147a8437b79c72315d35173d88c2d6119085c90dae8ec05c55e067e7dfa4f681035e3dccab099291c0ecf4428332a9cb0736d16e79111ac76d766\n\n# tcId = 431\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 3081880242014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba258702420108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab\n\n# tcId = 432\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 308187024108135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb4520242011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]\n[key.wy = 009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[sha = SHA-512]\n\n# tcId = 433\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081870242011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe4746218024134c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6\n\n# tcId = 434\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 30818702417c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e024201058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d\n\n# tcId = 435\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201e4e9f3a7b800de63407b8703ac545226541c97a673566711f70e2b9ccb21a145ad4637825b023d1ea9f18e60897413711611a85c1179bff9c107368f1c1b61c24c024201de948ee577c3d4e4122a52ecccac59abb6fa937dfb3e4b988cb243efe98740309452ba013112b225b3b1b1384d5f68796845199a2602a8d4505a331b07d101188e\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]\n[key.wy = 01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[sha = SHA-512]\n\n# tcId = 436\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308187024200b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a820241228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f\n\n# tcId = 437\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea20242012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7\n\n# tcId = 438\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420152388c6da66164b706b41dd4dd48176d6eaf6525f876ef0ff2d147f6966ebfadf1767fa66d04203d3ec9c937a1f0c945aed953e34be444c219fd3b94d3277aa652024201658c1e5b2e563a49d11c883d05c491d628f0a92c3e3dc8db9a4c8d5f0dc846ac22af8b3c5fb5bbe2cfa98614dcffd87de1cee2c5912a5899505a0c5bcaa513e2c6\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[key.wx = 02fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b]\n[key.wy = 01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[sha = SHA-512]\n\n# tcId = 439\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081880242010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e0242017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda\n\n# tcId = 440\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081880242011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf5906802420147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06\n\n# tcId = 441\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201d876ae174da31e128babff9f1d15507660bdc7958750844dc4f4291f75a882a22f177f704be6067bf7ce8f06b8626d971e6ef5dcb666fa975c1e11126e04fccce2024201abb12630a68b669e6ad2d8d62654d75dfbc6b54a8e3a9c915be663e080ddcc348e57a10e2b1dd9f03e1b897796ad889b075e5919dc5bf37a112d92c693456e6457\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d", + "0de6d2de407fd7117551a70826eada6]\n[key.wx = 01fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331]\n[key.wy = 01b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[sha = SHA-512]\n\n# tcId = 442\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818602414ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a702417aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188\n\n# tcId = 443\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308188024200e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d836024201489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3\n\n# tcId = 444\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201d296292213380de133dc66eceb8bd857a5c468afe855c05da9db937373b51f9020ca11353415da76bb6af997a486d2370e31adcc0a4531952a3b59428678ee59430242015979a3c609c2c2099ae1b290da3d613b248e3a10de7ad770dffc82fb33e74fc3207533f97285cf4557a6407e9a775e59efeaee4264b2634933a6baf8c406f0c4a9\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[key.wx = 00c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349]\n[key.wy = 08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[sha = SHA-512]\n\n# tcId = 445\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef21024201ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b\n\n# tcId = 446\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c0024200f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22\n\n# tcId = 447\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201a2af29c58184ca861e7cd931f39cea064b199eee563f241cd5ecf6ebb2ade728f1be23cf007ebe8ef0c42d99f9f5190f6815446afc3043a820d7daf27e86b83b8a024201a2acd1822eb539383defff8769aad8bacd50cd24ca7aa6670671418110177808c3f4fbe6041b9cb898359ee61e04824adedd62b39fe5791907a20586333bd3c76d\n\n", }; -static const size_t kLen74 = 33597; +static const size_t kLen107 = 52032; -static const char *kData74[] = { - "# Imported from Wycheproof's eddsa_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: EDDSA\n# Generator version: 0.4.12\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa]\n[key.sk = add4bb8103785baf9ac534258e8aaf65f5f1adb5ef5f3df19bb80ab989c4d64b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = d4fbdb52bfa726b44d1786a8c0d171c3e62ca83c9e5bbe63de0bb2483f8fd6cc1429ab72cafc41ab56af02ff8fcc43b99bfe4c7ae940f60f38ebaa9d311c4007\n\n# tcId = 2\nmsg = 78\nresult = valid\nsig = d80737358ede548acb173ef7e0399f83392fe8125b2ce877de7975d8b726ef5b1e76632280ee38afad12125ea44b961bf92f1178c9fa819d020869975bcbe109\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 4\nmsg = 48656c6c6f\nresult = valid\nsig = 1c1ad976cbaae3b31dee07971cf92c928ce2091a85f5899f5e11ecec90fc9f8e93df18c5037ec9b29c07195ad284e63d548cd0a6fe358cc775bd6c1608d2c905\n\n# tcId = 5\nmsg = 313233343030\nresult = valid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bf0cf5b3a289976458a1be6277a5055545253b45b07dcc1abd96c8b989c00f301\n\n# tcId = 6\nmsg = 000000000000000000000000\nresult = valid\nsig = d46543bfb892f84ec124dcdfc847034c19363bf3fc2fa89b1267833a14856e52e60736918783f950b6f1dd8d40dc343247cd43ce054c2d68ef974f7ed0f3c60f\n\n# tcId = 7\nmsg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161\nresult = valid\nsig = 879350045543bc14ed2c08939b68c30d22251d83e018cacbaf0c9d7a48db577e80bdf76ce99e5926762bc13b7b3483260a5ef63d07e34b58eb9c14621ac92f00\n\n# tcId = 8\nmsg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60\nresult = valid\nsig = 7bdc3f9919a05f1d5db4a3ada896094f6871c1f37afc75db82ec3147d84d6f237b7e5ecc26b59cfea0c7eaf1052dc427b0f724615be9c3d3e01356c65b9b5109\n\n# tcId = 9\nmsg = ffffffffffffffffffffffffffffffff\nresult = valid\nsig = 5dbd7360e55aa38e855d6ad48c34bd35b7871628508906861a7c4776765ed7d1e13d910faabd689ec8618b78295c8ab8f0e19c8b4b43eb8685778499e943ae04\n\n# tcId = 10\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 11\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 12\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 13\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 14\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 15\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 16\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 01000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 17\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 18\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 19\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 20\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 21\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 22\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 23\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 24\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 25\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 26\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 27\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 28\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 29\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 30\n# empty signature\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 31\n# s missing\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0\n\n# tcId = 32\n# signature too short\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946\n\n# tcId = 33\n# signature too long\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d2020\n\n# tcId = 34\n# include pk in signature\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa\n\n# tcId = 35\n# prepending 0 byte to signature\nmsg = 54657374\nresult = invalid\nsig = 007c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 36\n# prepending 0 byte to s\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0007a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 37\n# appending 0 byte to signature\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d00\n\n# tcId = 38\n# removing 0 byte from signature\nmsg = 546573743137\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b3\n\n# tcId = 39\n# removing 0 byte from signature\nms", - "g = 54657374313236\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab09155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 40\n# removing leading 0 byte from signature\nmsg = 546573743530\nresult = invalid\nsig = 38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 41\n# dropping byte from signature\nmsg = 54657374333437\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab09155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 42\n# modified bit 0 in R\nmsg = 313233343030\nresult = invalid\nsig = 647c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b1d125e5538f38afbcc1c84e489521083041d24bc6240767029da063271a1ff0c\n\n# tcId = 43\n# modified bit 1 in R\nmsg = 313233343030\nresult = invalid\nsig = 677c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bc108ca4b87a49c9ed2cf383aecad8f54a962b2899da891e12004d7993a627e01\n\n# tcId = 44\n# modified bit 2 in R\nmsg = 313233343030\nresult = invalid\nsig = 617c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b9ce23fc6213ed5b87912e9bbf92f5e2c780eae26d15c50a112d1e97d2ea33c06\n\n# tcId = 45\n# modified bit 7 in R\nmsg = 313233343030\nresult = invalid\nsig = e57c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bbb3eb51cd98dddb235a5f46f2bded6af184a58d09cce928bda43f41d69118a03\n\n# tcId = 46\n# modified bit 8 in R\nmsg = 313233343030\nresult = invalid\nsig = 657d1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcd237dda9a116501f67a5705a854b9adc304f34720803a91b324f2c13e0f5a09\n\n# tcId = 47\n# modified bit 16 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1592402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b6b167bbdc0d881cc04d28905552c1876f3709851abc5007376940cc8a435c300\n\n# tcId = 48\n# modified bit 31 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1412402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7fd2ac7da14afffcceeb13f2a0d6b887941cb1a5eb57a52f3cb131a16cce7b0e\n\n# tcId = 49\n# modified bit 32 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492412ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7373ba13ebbef99cd2a8ead55ce735c987d85a35320925a8e871702dc7c5c40d\n\n# tcId = 50\n# modified bit 63 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab54e03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bd35bd331c03f0855504ca1cab87b83c36a028425a3cf007ede4f4254c261cb00\n\n# tcId = 51\n# modified bit 64 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce02e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcb35101f73cf467deac8c1a03b6c3dc35af544132734b7e57ab20c89b2e4750d\n\n# tcId = 52\n# modified bit 97 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f2384d051b9cf3570f1207fc78c1bcc98c281c2bb58d2e8878290bff8d3355fdd4ea381924ee578752354eb6dee678ab4011c301\n\n# tcId = 53\n# modified bit 127 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d851b9cf3570f1207fc78c1bcc98c281c2bb978c866187ffb1cc7b29a0b4045aefc08768df65717194ff0c6e63f4dea0d02\n\n# tcId = 54\n# modified bit 240 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281d2b0576ecf8eaf675f00f3dfbe19f75b83b7607a6c96414f6821af920a2498d0305\n\n# tcId = 55\n# modified bit 247 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c289c2be5241a345c7b5428054c74b7c382fa10d4a5f1e8f8b79a71d3fdea2254f1ff0e\n\n# tcId = 56\n# modified bit 248 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2a63950c85cd6dc96364e768de50ff7732b538f8a0b1615d799190ab600849230e\n\n# tcId = 57\n# modified bit 253 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c0b543bd3da0a56a8c9c152f59c9fec12f31fa66434d48b817b30d90cb4efa8b501\n\n# tcId = 58\n# modified bit 254 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c6b8da07efd07a6dafb015ed6a32fe136319a972ffbc341f3a0beae97ccf8136505\n\n# tcId = 59\n# modified bit 255 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281cab227aedf259f910f0f3a759a335062665217925d019173b88917eae294f75d40f\n\n# tcId = 60\n# R==0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000e0b8e7770d51c7a36375d006c5bffd6af43ff54aaf47e4330dc118c71d61ec02\n\n# tcId = 61\n# invalid R\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff463a1908382e7eb7693acef9884f7cf931a215e0791876be22c631a59881fd0e\n\n# tcId = 62\n# all bits flipped in R\nmsg = 313233343030\nresult = invalid\nsig = 9a83eb6dbfd54a31fc1d3c580fc7b2fae4630ca8f0edf803873e433673d7e3d40e94254586cb6188c5386c3febed477cb9a6cb29e3979adc4cb27cf5278fb70a\n\n# tcId = 63\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab067654bce3832c2d76f8f6f5dafc08d9339d4eef676573336a5c51eb6f946b31d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 64\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab05439412b5395d42f462c67008eba6ca839d4eef676573336a5c51eb6f946b32d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 65\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab02ee12ce5875bf9dff26556464bae2ad239d4eef676573336a5c51eb6f946b34d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 66\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0e2300459f1e742404cd934d2c595a6253ad4eef676573336a5c51eb6f946b38d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 67\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b32d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 68\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b34d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 69\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 70\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0679155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c]\n[key.sk = 0a23a20072891237aa0864b5765139514908787878cd77135a0059881d313f00]\n[key.type = ED", - "DSAKeyPair]\n[keyDer = 302a300506032b6570032100a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c]\n\n# tcId = 71\nmsg = \nresult = valid\nsig = 5056325d2ab440bf30bbf0f7173199aa8b4e6fbc091cf3eb6bc6cf87cd73d992ffc216c85e4ab5b8a0bbc7e9a6e9f8d33b7f6e5ac0ffdc22d9fcaf784af84302\n\n# tcId = 72\nmsg = 78\nresult = valid\nsig = 481fafbf4364d7b682475282f517a3ac0538c9a6b6a562e99a3d8e5afb4f90a559b056b9f07af023905753b02d95eb329a35c77f154b79abbcd291615ce42f02\n\n# tcId = 73\nmsg = 54657374\nresult = valid\nsig = 8a9bb4c465a3863abc9fd0dd35d80bb28f7d33d37d74679802d63f82b20da114b8d765a1206b3e9ad7cf2b2d8d778bb8651f1fa992db293c0039eacb6161480f\n\n# tcId = 74\nmsg = 48656c6c6f\nresult = valid\nsig = d839c20abfda1fd429531831c64f813f84b913e9928540310cf060b44c3dbf9457d44a7721fdc0d67724ff81cb450dd39b10cfb65db15dda4b8bf09d26bd3801\n\n# tcId = 75\nmsg = 313233343030\nresult = valid\nsig = 9bbb1052dcfa8ad2715c2eb716ae4f1902dea353d42ee09fd4c0b4fcb8b52b5219e2200016e1199d0061891c263e31b0bc3b55673c19610c4e0fa5408004160b\n\n# tcId = 76\nmsg = 000000000000000000000000\nresult = valid\nsig = f63b5c0667c7897fc283296416f7f60e84bbde9cbd832e56be463ed9f568069702b17a2f7c341ebf590706a6388ac76ac613c1675ec0f2c7118f2573422a500b\n\n# tcId = 77\nmsg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161\nresult = valid\nsig = 1bc44d7001e6b5b9090fef34b2ca480f9786bbefa7d279353e5881e8dfb91b803ccd46500e270ef0109bfd741037558832120bc2a4f20fbe7b5fb3c3aaf23e08\n\n# tcId = 78\nmsg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60\nresult = valid\nsig = ea8e22143b02372e76e99aece3ed36aec529768a27e2bb49bdc135d44378061e1f62d1ac518f33ebf37b2ee8cc6dde68a4bd7d4a2f4d6cb77f015f71ca9fc30d\n\n# tcId = 79\nmsg = ffffffffffffffffffffffffffffffff\nresult = valid\nsig = 8acd679e1a914fc45d5fa83d3021f0509c805c8d271df54e52f43cfbd00cb6222bf81d58fe1de2de378df67ee9f453786626961fe50a9b05f12b6f0899ebdd0a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a]\n[key.sk = 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a]\n\n# tcId = 80\n# draft-josefsson-eddsa-ed25519-02: Test 1\nmsg = \nresult = valid\nsig = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c]\n[key.sk = 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c]\n\n# tcId = 81\n# draft-josefsson-eddsa-ed25519-02: Test 2\nmsg = 72\nresult = valid\nsig = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025]\n[key.sk = c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025]\n\n# tcId = 82\n# draft-josefsson-eddsa-ed25519-02: Test 3\nmsg = af82\nresult = valid\nsig = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e]\n[key.sk = f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e]\n\n# tcId = 83\n# draft-josefsson-eddsa-ed25519-02: Test 1024\nmsg = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nresult = valid\nsig = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 8fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a]\n[key.sk = d7ad3f1f6bbe0477c3c357a806a19eb41ae3f94025035bc87f281f8ee9fc0e34]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321008fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a]\n\n# tcId = 84\n# Random test failure 1\nmsg = b0729a713593a92e46b56eaa66b9e435f7a09a8e7de03b078f6f282285276635f301e7aaafe42187c45d6f5b13f9f16b11195cc125c05b90d24dfe4c\nresult = valid\nsig = 7db17557ac470c0eda4eedaabce99197ab62565653cf911f632ee8be0e5ffcfc88fb94276b42e0798fd3aa2f0318be7fc6a29fae75f70c3dcdc414a0ad866601\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082]\n[key.sk = ad9b22793336fcdac10e136c4deea599be187a38eef91c1cf7c7a4ec884dda08]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082]\n\n# tcId = 85\n# Random test failure 2\nmsg = a8546e50ba31cae3234310d32672447be213fad91a227a19669c53d309b959782b0e6b71f8791fdb470043b58122003157d2d96a43a6cbd7d3a8d86bf4c97391883e268d50af80e1e6e12939c2bd50ca746cdadfad4edf1bda875299740724148efb1ebe73fb60088cda890317658627a5f7ab5a0c075d9d8f3f97b6492b35519e50ff6b38377432a7081f9176bb1c29a862deac1336ca20b097a47829cec10a6a7cec178eda2d12f6dc6c87f910454af0123555ba184e68804d9cced60fd5c8c90943e56599c8f0ba59a38491ba5e5a53460682474c07e40ca142983314fd762856bb1093f359da6eb0a756bd93a3160c10dd8feea6b97e7c6a17cb54bd5d7649c05c66d7bdee056671dfdaf689fa3945bb8e29a429f4bd5d355dce9687b06f01d5e33e3999f0e8\nresult = valid\nsig = 67d84d4c3945aaf06e06d524be63acbfb5dbb1988c4aea96a5ee9f7a9b9eecc29df4f66b8aa1d9e8607a58fb1ef0c2ad69aac005b4f58e34103344a9c8871a09\n\n# tcId = 86\n# Random test failure 24\nmsg = b477b0480bb84642608b908d29a51cf2fce63f24ee95\nresult = valid\nsig = 28fafbb62b4d688fa79e1ac92851f46e319b161f801d4dc09acc21fdd6780a2c4292b8c1003c61c2bcebe7f3f88ccc4bb26d407387c5f27cb8c94cf6ce810405\n", - "\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051]\n[key.sk = 04a6553d68a9baef78a2175af375458eaa01cdb77350c61e282ef5f0c7116599]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051]\n\n# tcId = 87\n# Random test failure 3\nmsg = cd2212eddb0706f62c995cef958634f0cb7793444cbf4d30e81c27c41ebea6cb02607510131f9c015692dfd521b148841e9a2d3564d20ac401f6cb8e40f520fe0cafbeaa88840b83013369d879f013463fe52a13267aa0c8c59c45cde9399cd1e6be8cc64cf48315ac2eb31a1c567a4fb7d601746d1f63b5ac020712adbbe07519bded6f\nresult = valid\nsig = 24087d47f3e20af51b9668ae0a88ce76586802d0ec75d8c0f28fc30962b5e1d1a1d509571a1624ed125a8df92a6e963728d6b5de99200b8e285f70feb6f05207\n\n# tcId = 88\n# Random test failure 20\nmsg = 27d465bc632743522aefa23c\nresult = valid\nsig = c2656951e2a0285585a51ff0eda7e9a23c2dfd2ffa273aee7808f4604e8f9a8c8ea49e9fce4eb2d8d75d36b7238fe6fc13b6c5d9427dd58f8c6615d033c0bd0f\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 32ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e]\n[key.sk = c367c8d2ebeeecd70c1e8985b70c3808b75657f243b21ba4f322792540e92257]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210032ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e]\n\n# tcId = 89\n# Random test failure 4\nmsg = ec5c7cb078\nresult = valid\nsig = d920d421a5956b69bfe1ba834c025e2babb6c7a6d78c97de1d9bb1116dfdd1185147b2887e34e15578172e150774275ea2aad9e02106f7e8ca1caa669a066f0c\n\n# tcId = 90\n# Random test failure 5\nmsg = 4668c6a76f0e482190a7175b9f3806a5fe4314a004fa69f988373f7a\nresult = valid\nsig = 4f62daf7f7c162038552ad7d306e195baa37ecf6ca7604142679d7d1128e1f8af52e4cb3545748c44ef1ff1c64e877e4f4d248259b7f6eb56e3ef72097dc8e0c\n\n# tcId = 91\n# Random test failure 8\nmsg = 5dc9bb87eb11621a93f92abe53515697d2611b2eef73\nresult = valid\nsig = deecafb6f2ede73fec91a6f10e45b9c1c61c4b9bfbe6b6147e2de0b1df6938971f7896c3ab83851fb5d9e537037bff0fca0ccb4a3cc38f056f91f7d7a0557e08\n\n# tcId = 92\n# Random test failure 10\nmsg = 7dcfe60f881e1285676f35b68a1b2dbcdd7be6f719a288ababc28d36e3a42ac3010a1ca54b32760e74\nresult = valid\nsig = 7f8663cf98cbd39d5ff553f00bcf3d0d520605794f8866ce75714d77cc51e66c91818b657d7b0dae430a68353506edc4a714c345f5ddb5c8b958ba3d035f7a01\n\n# tcId = 93\n# Random test failure 12\nmsg = 58e456064dff471109def4ca27fa8310a1df32739655b624f27e6418d34b7f007173f3faa5\nresult = valid\nsig = 6aab49e5c0bc309b783378ee03ffda282f0185cdf94c847701ff307a6ee8d0865411c44e0a8206f6a5f606107451940c2593af790ce1860f4c14ab25b2deae08\n\n# tcId = 94\n# Random test failure 15\nmsg = a1\nresult = valid\nsig = 1a74ed2cbdc7d8f3827014e8e6ecf8fd2698ac8f86833acccdd400df710fe0d6b0543c9cfa00d52bf024ab7ce0d91981944097233ec134d5c7abbd44bfd32d0d\n\n# tcId = 95\n# Random test failure 19\nmsg = 11cb1eafa4c42a8402c4193c4696f7b2e6d4585e4b42dcf1a8b67a80b2da80bc9d4b649fb2f35eaf1f56c426fd0b\nresult = valid\nsig = 14ceb2eaf4688d995d482f44852d71ad878cd7c77b41e60b0065fd01a59b054ee74759224187dbde9e59a763a70277c960892ef89fba997aba2576b2c54ba608\n\n# tcId = 96\n# Random test failure 25\nmsg = aa365b442d12b7f3c925\nresult = valid\nsig = 83c40ce13d483cc58ff65844875862d93df4bd367af77efa469ec06a8ed9e6d7905a04879535708ddf225567a815c9b941d405c98e918fd0c151165cea7fb101\n\n# tcId = 97\n# Random test failure 28\nmsg = 475f\nresult = valid\nsig = 71a4a06a34075f2fd47bc3abf4714d46db7e97b08cb6180d3f1539ac50b18ce51f8af8ae95ed21d4fa0daab7235925631ecea1fd9d0d8a2ba7a7583fd04b900c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a]\n[key.sk = 56c1e22d616cbb6dea869288b4b1c02bb98696583c2f6e650013a03e17049c62]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a]\n\n# tcId = 98\n# Random test failure 6\nmsg = 0f325ffd87e58131ffa23c05ea4579513b287fdba87b44\nresult = valid\nsig = 6669acf94667c5b541afe5307bde9476b13ae7e0e6058a772101ac8eb0a94331428eb4db0a2c68a9b6c1763b8624dab259b0876cdcfaeacc17b21a18e3fc010a\n\n# tcId = 99\n# Random test failure 21\nmsg = 5ffa\nresult = valid\nsig = 931e5152fcef078c22cc5d6a3a65f06e396289f6f5f2d1efa6340254a53526ef5dc6874eeddf35c3f50991c53cd02bf06313e37d93ee1f7022128ffa3b8f300b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10]\n[key.sk = b7d2f64276df417fed27d8e15b4e90f6fd93dace707294c338bd32bc4bbd8fdb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10]\n\n# tcId = 100\n# Random test failure 7\nmsg = ec5c7cb078\nresult = valid\nsig = 30490c28f806298225df62103521dcee047153912c33ab8ab8bbdd1ffabd70fd4fdb360f05be535b067d1cf4e78c2cb432206bf280aab3bd21aaa1cb894c5b06\n\n# tcId = 101\n# Random test failure 9\nmsg = 67484059b2490b1a0a4f8dee77979e26\nresult = valid\nsig = 4cd4f77ed473a6647387f3163541c67a1708a3c3bd1673247cb87f0cb68b3c56f04bfa72970c8a483efe659c87009ab4020b590b6641316b3deddb5450544e02\n\n# tcId = 102\n# Random test failure 11\nmsg = a020a4381dc9141f47ee508871ab7a8b5a3648727c4281ae9932376f23a8e1bcda0626b7129197d864178631ec89c4332dbb18\nresult = valid\nsig = 1e41a24fe732bd7cab14c2a2f5134ee8c87fcbd2e987e60957ed9239e5c32404d56977e1b4282871896cb10625a1937468e4dc266e16a9c1b8e9891177eca802\n\n# tcId = 103\n# Random test failure 14\nmsg = a25176b3afea318b2ec11ddacb10caf7179c0b3f8eabbfa2895581138d3c1e0e\nresult = valid\nsig = 2a833aadecd9f28235cb5896bf3781521dc71f28af2e91dbe1735a61dce3e31ac15ca24b3fc47817a59d386bbbb2ce60a6adc0a2703bb2bdea8f70f91051f706\n\n# tcId = 104\n# Random test failure 18\nmsg = a9e6d94870a67a9fe1cf13b1e6f9150cdd407bf6480ec841ea586ae3935e9787163cf419c1\nresult = valid\nsig = c97e3190f83bae7729ba473ad46b420b8aad735f0808ea42c0f898ccfe6addd4fd9d9fa3355d5e67ee21ab7e1f805cd07f1fce980e307f4d7ad36cc924eef00c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56]\n[key.sk = 7d597c3b7283929d07ed8f01f31d2596823e5e46ab226c7be4234d1a9dcaef37]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56]\n\n# tcId = 105\n# Random test failure 13\nmsg = e1cbf2d86827825613fb7a85811d\nresult = valid\nsig = 01abfa4d6bbc726b196928ec84fd03f0c953a4fa2b228249562ff1442a4f63a7150b064f3712b51c2af768d2c2711a71aabf8d186833e941a0301b82f0502905\n\n# tcId = 106\n# Random test failure 22\nmsg = 25\nresult = valid\nsig = e4ae21f7a8f4b3b325c161a8c6e53e2edd7005b9c2f8a2e3b0ac4ba94aa80be6f2ee22ac8d4a96b9a3eb73a825e7bb5aff4a3393bf5b4a38119e9c9b1b041106\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1]\n[key.sk = f401cee4bfb1732f0e9b8d8ba79469565c3115296141dbdf7e9c311a0ac1823b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1]\n\n# tcId = 107\n# Random test failure 16\nmsg = 975ef941710071a9e1e6325a0c860becd7c695b5117c3107b686e330e5\nresult = valid\nsig = af0fd9dda7e03e12313410d8d8844ebb6fe6b7f65141f22d7bcba5695a25414a9e54326fb44d59fb14707899a8aae70857b23d4080d7ab2c396ef3a36d45ce02\n\n# tcId = 108\n# Random test failure 23\nmsg = 80fdd6218f29c8c8f6bd820945f9b0854e3a8824\nresult = valid\nsig = e097e0bd0370bff5bde359175a11b728ee9639095d5df8eda496395565616edfe079977f7d4dc8c75d6113a83d6a55e6e1676408c0967a2906339b43337dcb01\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a]\n[key.sk = 3d658956410377d0644676d2599542412a4f3b0e4eadfb7f3f836615f42b18bc]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a]\n\n# tcId = 109\n# Random test failure 17\nmsg = \nresult = valid\nsig = 0280427e713378f49d478df6373c6cac847b622b567daa2376c839e7ac10e22c380ab0fa8617c9dcfe76c4d9db5459b21dc1413726e46cc8f387d359e344f407\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 54cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311]\n[key.sk = bccb61323840c2a96fc36f7e54ea6c8e55f9d221f7f05791ed60025e06064439]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210054cda623245759ad6d43e620a60690", - "8befc633d60792bc7798447a0ef38e7311]\n\n# tcId = 110\n# Random test failure 26\nmsg = 27e792b28b2f1702\nresult = valid\nsig = 14d9b497c19b91d43481c55bb6f5056de252d9ecb637575c807e58e9b4c5eac8b284089d97e2192dc242014363208e2c9a3435edf8928fb1d893553e9be4c703\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe]\n[key.sk = f2d3023b9c19e241748bc4039a7a43c595701f23675505015213a8a2a0274c1b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe]\n\n# tcId = 111\n# Random test failure 27\nmsg = eef3bb0f617c17d0420c115c21c28e3762edc7b7fb048529b84a9c2bc6\nresult = valid\nsig = 242ddb3a5d938d07af690b1b0ef0fa75842c5f9549bf39c8750f75614c712e7cbaf2e37cc0799db38b858d41aec5b9dd2fca6a3c8e082c10408e2cf3932b9d08\n\n", +static const char *kData107[] = { + "# Imported from Wycheproof's eddsa_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: EDDSA\n# Generator version: 0.8rc16\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa]\n[key.sk = add4bb8103785baf9ac534258e8aaf65f5f1adb5ef5f3df19bb80ab989c4d64b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = d4fbdb52bfa726b44d1786a8c0d171c3e62ca83c9e5bbe63de0bb2483f8fd6cc1429ab72cafc41ab56af02ff8fcc43b99bfe4c7ae940f60f38ebaa9d311c4007\n\n# tcId = 2\nmsg = 78\nresult = valid\nsig = d80737358ede548acb173ef7e0399f83392fe8125b2ce877de7975d8b726ef5b1e76632280ee38afad12125ea44b961bf92f1178c9fa819d020869975bcbe109\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 4\nmsg = 48656c6c6f\nresult = valid\nsig = 1c1ad976cbaae3b31dee07971cf92c928ce2091a85f5899f5e11ecec90fc9f8e93df18c5037ec9b29c07195ad284e63d548cd0a6fe358cc775bd6c1608d2c905\n\n# tcId = 5\nmsg = 313233343030\nresult = valid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bf0cf5b3a289976458a1be6277a5055545253b45b07dcc1abd96c8b989c00f301\n\n# tcId = 6\nmsg = 000000000000000000000000\nresult = valid\nsig = d46543bfb892f84ec124dcdfc847034c19363bf3fc2fa89b1267833a14856e52e60736918783f950b6f1dd8d40dc343247cd43ce054c2d68ef974f7ed0f3c60f\n\n# tcId = 7\nmsg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161\nresult = valid\nsig = 879350045543bc14ed2c08939b68c30d22251d83e018cacbaf0c9d7a48db577e80bdf76ce99e5926762bc13b7b3483260a5ef63d07e34b58eb9c14621ac92f00\n\n# tcId = 8\nmsg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60\nresult = valid\nsig = 7bdc3f9919a05f1d5db4a3ada896094f6871c1f37afc75db82ec3147d84d6f237b7e5ecc26b59cfea0c7eaf1052dc427b0f724615be9c3d3e01356c65b9b5109\n\n# tcId = 9\nmsg = ffffffffffffffffffffffffffffffff\nresult = valid\nsig = 5dbd7360e55aa38e855d6ad48c34bd35b7871628508906861a7c4776765ed7d1e13d910faabd689ec8618b78295c8ab8f0e19c8b4b43eb8685778499e943ae04\n\n# tcId = 10\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 11\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 12\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 13\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 14\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 15\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 16\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 01000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 17\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 18\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 19\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 20\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 21\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 22\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 23\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 24\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 25\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 26\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 27\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 28\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 29\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 30\n# empty signature\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 31\n# s missing\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0\n\n# tcId = 32\n# signature too short\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946\n\n# tcId = 33\n# signature too long\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d2020\n\n# tcId = 34\n# include pk in signature\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa\n\n# tcId = 35\n# prepending 0 byte to signature\nmsg = 54657374\nresult = invalid\nsig = 007c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 36\n# prepending 0 byte to s\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0007a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 37\n# appending 0 byte to signature\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d00\n\n# tcId = 38\n# removing 0 byte from signature\nmsg = 546573743137\nresult = invalid\nsig = 93de3ca252426c95f735cb9edd92e83321ac62372d5aa5b379786bae111ab6b17251330e8f9a7c30d6993137c596007d7b001409287535ac4804e662bc58a3\n\n# tcId = 39\n# removing 0 byte from signature\nm", + "sg = 54657374313236\nresult = invalid\nsig = dffed33a7f420b62bb1731cfd03be805affd18a281ec02b1067ba6e9d20826569e742347df59c88ae96db1f1969fb189b0ec34381d85633e1889da48d95e0e\n\n# tcId = 40\n# removing leading 0 byte from signature\nmsg = 546573743530\nresult = invalid\nsig = 6e170c719577c25e0e1e8b8aa7a6346f8b109f37385cc2e85dc3b4c0f46a9c6bcafd67f52324c5dbaf40a1b673fb29c4a56052d2d6999d0838a8337bccb502\n\n# tcId = 41\n# dropping byte from signature\nmsg = 54657374333437\nresult = invalid\nsig = b0928b46e99fbbad3f5cb502d2cd309d94a7e86cfd4d84b1fcf4cea18075a9c36993c0582dba1e9e519fae5a8654f454201ae0c3cb397c37b8f4f8eef18400\n\n# tcId = 42\n# modified bit 0 in R\nmsg = 313233343030\nresult = invalid\nsig = 647c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b1d125e5538f38afbcc1c84e489521083041d24bc6240767029da063271a1ff0c\n\n# tcId = 43\n# modified bit 1 in R\nmsg = 313233343030\nresult = invalid\nsig = 677c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bc108ca4b87a49c9ed2cf383aecad8f54a962b2899da891e12004d7993a627e01\n\n# tcId = 44\n# modified bit 2 in R\nmsg = 313233343030\nresult = invalid\nsig = 617c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b9ce23fc6213ed5b87912e9bbf92f5e2c780eae26d15c50a112d1e97d2ea33c06\n\n# tcId = 45\n# modified bit 7 in R\nmsg = 313233343030\nresult = invalid\nsig = e57c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bbb3eb51cd98dddb235a5f46f2bded6af184a58d09cce928bda43f41d69118a03\n\n# tcId = 46\n# modified bit 8 in R\nmsg = 313233343030\nresult = invalid\nsig = 657d1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcd237dda9a116501f67a5705a854b9adc304f34720803a91b324f2c13e0f5a09\n\n# tcId = 47\n# modified bit 16 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1592402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b6b167bbdc0d881cc04d28905552c1876f3709851abc5007376940cc8a435c300\n\n# tcId = 48\n# modified bit 31 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1412402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7fd2ac7da14afffcceeb13f2a0d6b887941cb1a5eb57a52f3cb131a16cce7b0e\n\n# tcId = 49\n# modified bit 32 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492412ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7373ba13ebbef99cd2a8ead55ce735c987d85a35320925a8e871702dc7c5c40d\n\n# tcId = 50\n# modified bit 63 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab54e03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bd35bd331c03f0855504ca1cab87b83c36a028425a3cf007ede4f4254c261cb00\n\n# tcId = 51\n# modified bit 64 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce02e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcb35101f73cf467deac8c1a03b6c3dc35af544132734b7e57ab20c89b2e4750d\n\n# tcId = 52\n# modified bit 97 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f2384d051b9cf3570f1207fc78c1bcc98c281c2bb58d2e8878290bff8d3355fdd4ea381924ee578752354eb6dee678ab4011c301\n\n# tcId = 53\n# modified bit 127 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d851b9cf3570f1207fc78c1bcc98c281c2bb978c866187ffb1cc7b29a0b4045aefc08768df65717194ff0c6e63f4dea0d02\n\n# tcId = 54\n# modified bit 240 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281d2b0576ecf8eaf675f00f3dfbe19f75b83b7607a6c96414f6821af920a2498d0305\n\n# tcId = 55\n# modified bit 247 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c289c2be5241a345c7b5428054c74b7c382fa10d4a5f1e8f8b79a71d3fdea2254f1ff0e\n\n# tcId = 56\n# modified bit 248 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2a63950c85cd6dc96364e768de50ff7732b538f8a0b1615d799190ab600849230e\n\n# tcId = 57\n# modified bit 253 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c0b543bd3da0a56a8c9c152f59c9fec12f31fa66434d48b817b30d90cb4efa8b501\n\n# tcId = 58\n# modified bit 254 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c6b8da07efd07a6dafb015ed6a32fe136319a972ffbc341f3a0beae97ccf8136505\n\n# tcId = 59\n# modified bit 255 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281cab227aedf259f910f0f3a759a335062665217925d019173b88917eae294f75d40f\n\n# tcId = 60\n# R==0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000e0b8e7770d51c7a36375d006c5bffd6af43ff54aaf47e4330dc118c71d61ec02\n\n# tcId = 61\n# invalid R\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff463a1908382e7eb7693acef9884f7cf931a215e0791876be22c631a59881fd0e\n\n# tcId = 62\n# all bits flipped in R\nmsg = 313233343030\nresult = invalid\nsig = 9a83eb6dbfd54a31fc1d3c580fc7b2fae4630ca8f0edf803873e433673d7e3d40e94254586cb6188c5386c3febed477cb9a6cb29e3979adc4cb27cf5278fb70a\n\n# tcId = 63\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab067654bce3832c2d76f8f6f5dafc08d9339d4eef676573336a5c51eb6f946b31d\nflags = SignatureMalleability\n\n# tcId = 64\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab05439412b5395d42f462c67008eba6ca839d4eef676573336a5c51eb6f946b32d\nflags = SignatureMalleability\n\n# tcId = 65\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab02ee12ce5875bf9dff26556464bae2ad239d4eef676573336a5c51eb6f946b34d\nflags = SignatureMalleability\n\n# tcId = 66\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0e2300459f1e742404cd934d2c595a6253ad4eef676573336a5c51eb6f946b38d\nflags = SignatureMalleability\n\n# tcId = 67\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b32d\nflags = SignatureMalleability\n\n# tcId = 68\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b34d\nflags = SignatureMalleability\n\n# tcId = 69\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d\nflags = SignatureMalleability\n\n# tcId = 70\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0679155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d\nflags = SignatureMalleability\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c]\n[key.sk = 0a23a20072891237aa0864b5765139514908787878cd77135a0059881d313f00]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c]\n\n# tcId = 71\nmsg = \nresult = valid\nsig = 5056325d2ab440bf30bbf0f7173199aa8b4e6fbc091cf3eb6bc6cf87cd73d992ffc216c85e4ab5b8a0bbc7e9a6e9f8d33b7f6e5ac0ffdc22d9fcaf784af84302\n\n# tcId = 72\nmsg = 78\nresult = valid\nsig = 481fafbf4364d7b682475282f517a3ac0538c9a6b6a562e99a3d8e5afb4f90a559b056b9f07af023905753b02d95eb329a35c77f154b79abbcd291615ce42f02\n\n# tcId = 73\nmsg = 54657374\nresult = valid\nsig = 8a9bb4c465a3863abc9fd0dd35d80bb28f7d33d37d74679802d63f82b20da114b8d765a1206b3e9ad7cf2b2d8d778bb8651f1fa992db293c0039eacb6161480f\n\n# tcId = 74\nmsg = 48656c6c6f\nresult = valid\nsig = d839c20abfda1fd429531831c64f813f84b913e9928540310cf060b44c3dbf9457d44a7721fdc0d67724ff81cb450dd39b10cfb65db15dda4b8bf09d26bd3801\n\n# tcId = 75\nmsg = 313233343030\nresult = valid\nsig = 9bbb1052dcfa8ad2715c2eb716ae4f1902dea353d42ee09fd4c0b4fcb8b52b5219e2200016e1199d0061891c263e31b0bc3b55673c19610c4e0fa5408004160b\n\n# tcId = 76\nmsg = 000000000000000000000000\nresult = valid\nsig = f63b5c0667c7897fc283296416f7f60e84bbde9cbd832e56be463ed9f568069702b17a2f7c341ebf590706a6388ac76ac613c1675ec0", + "f2c7118f2573422a500b\n\n# tcId = 77\nmsg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161\nresult = valid\nsig = 1bc44d7001e6b5b9090fef34b2ca480f9786bbefa7d279353e5881e8dfb91b803ccd46500e270ef0109bfd741037558832120bc2a4f20fbe7b5fb3c3aaf23e08\n\n# tcId = 78\nmsg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60\nresult = valid\nsig = ea8e22143b02372e76e99aece3ed36aec529768a27e2bb49bdc135d44378061e1f62d1ac518f33ebf37b2ee8cc6dde68a4bd7d4a2f4d6cb77f015f71ca9fc30d\n\n# tcId = 79\nmsg = ffffffffffffffffffffffffffffffff\nresult = valid\nsig = 8acd679e1a914fc45d5fa83d3021f0509c805c8d271df54e52f43cfbd00cb6222bf81d58fe1de2de378df67ee9f453786626961fe50a9b05f12b6f0899ebdd0a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a]\n[key.sk = 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a]\n\n# tcId = 80\n# draft-josefsson-eddsa-ed25519-02: Test 1\nmsg = \nresult = valid\nsig = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c]\n[key.sk = 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c]\n\n# tcId = 81\n# draft-josefsson-eddsa-ed25519-02: Test 2\nmsg = 72\nresult = valid\nsig = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025]\n[key.sk = c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025]\n\n# tcId = 82\n# draft-josefsson-eddsa-ed25519-02: Test 3\nmsg = af82\nresult = valid\nsig = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e]\n[key.sk = f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e]\n\n# tcId = 83\n# draft-josefsson-eddsa-ed25519-02: Test 1024\nmsg = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nresult = valid\nsig = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 8fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a]\n[key.sk = d7ad3f1f6bbe0477c3c357a806a19eb41ae3f94025035bc87f281f8ee9fc0e34]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321008fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a]\n\n# tcId = 84\n# Random test failure 1\nmsg = b0729a713593a92e46b56eaa66b9e435f7a09a8e7de03b078f6f282285276635f301e7aaafe42187c45d6f5b13f9f16b11195cc125c05b90d24dfe4c\nresult = valid\nsig = 7db17557ac470c0eda4eedaabce99197ab62565653cf911f632ee8be0e5ffcfc88fb94276b42e0798fd3aa2f0318be7fc6a29fae75f70c3dcdc414a0ad866601\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082]\n[key.sk = ad9b22793336fcdac10e136c4deea599be187a38eef91c1cf7c7a4ec884dda08]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082]\n\n# tcId = 85\n# Random test failure 2\nmsg = a8546e50ba31cae3234310d32672447be213fad91a227a19669c53d309b959782b0e6b71f8791fdb470043b58122003157d2d96a43a6cbd7d3a8d86bf4c97391883e268d50af80e1e6e12939c2bd50ca746cdadfad4edf1bda875299740724148efb1ebe73fb60088cda890317658627a5f7ab5a0c075d9d8f3f97b6492b35519e50ff6b38377432a7081f9176bb1c29a862deac1336ca20b097a47829cec10a6a7cec178eda2d12f6dc6c87f910454af0123555ba184e68804d9cced60fd5c8c90943e56599c8f0ba59a38491ba5e5a53460682474c07e40ca142983314fd762856bb1093f359da6eb0a756bd93a3160c10dd8feea6b97e7c6a17cb54bd5d7649c05c66d7bdee056671dfdaf689fa3945bb8e29a429f4bd5d355dce9687b06f01d5e33e3999f0e8\nresult = valid\nsig = 67d84d4c3945aaf06e06d524be63acbfb5dbb1988c4aea96a5ee9f7a9b9eecc29df4f66b8aa1d9e8607a58fb1ef0c2ad69aac005b4f58e34103344a9c8871a09\n\n# tcId = 86\n# Random test failure 24\nmsg = b477b0480bb84642608b908d29a51cf2fce63f24ee95\nresult = valid\nsig = 28fafbb62b4d688fa79e1ac92851f46e319b161f801d4dc09acc21fdd6780a2c4292b8c1003c61c2bcebe7f3f88ccc4bb26d407387c5f27cb8c94cf6ce810405\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051]\n[key.sk = 04a6553d68a9baef78a2175af375458eaa01cdb77350c61e282ef5f0c7116599]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051]\n\n# tcId = 87\n# Random test failure 3\nmsg = cd2212eddb0706f62c995cef958634f0cb7793444cbf4d30e81c27c41ebea6cb02607510131f9c015692dfd521b148841e9a2d3564d20ac401f6cb8e40f520fe0cafbeaa88840b83013369d879f013463fe52a13267aa0c8c59c45cde9399cd1e6be8cc64cf48315ac2eb31a1c567a4fb7d601746d1f63b5ac020712adbbe07519bded6f\nresult = valid\nsig = 24087d47f3e20af51b9668ae0a88ce76586802d0ec75d8c0f28fc30962b5e1d1a1d509571a1624ed125a8df92a6e963728d6b5de99200b8e285f70feb6f05207\n\n# tcId = 88\n# Random test failure 20\nmsg = 27d465bc632743522aefa23c\nresult = valid\nsig = c2656951e2a0285585a51ff0eda7e9a23c2dfd2ffa273aee7808f4604e8f9a8c8ea49e9fce4eb2d8d75d36b7238fe6fc13b6c5d9427dd58f8c6615d033c0bd0f\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 32ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e]\n[key.sk = c367c8d2ebeeecd70c1e8985b70c38", + "08b75657f243b21ba4f322792540e92257]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210032ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e]\n\n# tcId = 89\n# Random test failure 4\nmsg = ec5c7cb078\nresult = valid\nsig = d920d421a5956b69bfe1ba834c025e2babb6c7a6d78c97de1d9bb1116dfdd1185147b2887e34e15578172e150774275ea2aad9e02106f7e8ca1caa669a066f0c\n\n# tcId = 90\n# Random test failure 5\nmsg = 4668c6a76f0e482190a7175b9f3806a5fe4314a004fa69f988373f7a\nresult = valid\nsig = 4f62daf7f7c162038552ad7d306e195baa37ecf6ca7604142679d7d1128e1f8af52e4cb3545748c44ef1ff1c64e877e4f4d248259b7f6eb56e3ef72097dc8e0c\n\n# tcId = 91\n# Random test failure 8\nmsg = 5dc9bb87eb11621a93f92abe53515697d2611b2eef73\nresult = valid\nsig = deecafb6f2ede73fec91a6f10e45b9c1c61c4b9bfbe6b6147e2de0b1df6938971f7896c3ab83851fb5d9e537037bff0fca0ccb4a3cc38f056f91f7d7a0557e08\n\n# tcId = 92\n# Random test failure 10\nmsg = 7dcfe60f881e1285676f35b68a1b2dbcdd7be6f719a288ababc28d36e3a42ac3010a1ca54b32760e74\nresult = valid\nsig = 7f8663cf98cbd39d5ff553f00bcf3d0d520605794f8866ce75714d77cc51e66c91818b657d7b0dae430a68353506edc4a714c345f5ddb5c8b958ba3d035f7a01\n\n# tcId = 93\n# Random test failure 12\nmsg = 58e456064dff471109def4ca27fa8310a1df32739655b624f27e6418d34b7f007173f3faa5\nresult = valid\nsig = 6aab49e5c0bc309b783378ee03ffda282f0185cdf94c847701ff307a6ee8d0865411c44e0a8206f6a5f606107451940c2593af790ce1860f4c14ab25b2deae08\n\n# tcId = 94\n# Random test failure 15\nmsg = a1\nresult = valid\nsig = 1a74ed2cbdc7d8f3827014e8e6ecf8fd2698ac8f86833acccdd400df710fe0d6b0543c9cfa00d52bf024ab7ce0d91981944097233ec134d5c7abbd44bfd32d0d\n\n# tcId = 95\n# Random test failure 19\nmsg = 11cb1eafa4c42a8402c4193c4696f7b2e6d4585e4b42dcf1a8b67a80b2da80bc9d4b649fb2f35eaf1f56c426fd0b\nresult = valid\nsig = 14ceb2eaf4688d995d482f44852d71ad878cd7c77b41e60b0065fd01a59b054ee74759224187dbde9e59a763a70277c960892ef89fba997aba2576b2c54ba608\n\n# tcId = 96\n# Random test failure 25\nmsg = aa365b442d12b7f3c925\nresult = valid\nsig = 83c40ce13d483cc58ff65844875862d93df4bd367af77efa469ec06a8ed9e6d7905a04879535708ddf225567a815c9b941d405c98e918fd0c151165cea7fb101\n\n# tcId = 97\n# Random test failure 28\nmsg = 475f\nresult = valid\nsig = 71a4a06a34075f2fd47bc3abf4714d46db7e97b08cb6180d3f1539ac50b18ce51f8af8ae95ed21d4fa0daab7235925631ecea1fd9d0d8a2ba7a7583fd04b900c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a]\n[key.sk = 56c1e22d616cbb6dea869288b4b1c02bb98696583c2f6e650013a03e17049c62]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a]\n\n# tcId = 98\n# Random test failure 6\nmsg = 0f325ffd87e58131ffa23c05ea4579513b287fdba87b44\nresult = valid\nsig = 6669acf94667c5b541afe5307bde9476b13ae7e0e6058a772101ac8eb0a94331428eb4db0a2c68a9b6c1763b8624dab259b0876cdcfaeacc17b21a18e3fc010a\n\n# tcId = 99\n# Random test failure 21\nmsg = 5ffa\nresult = valid\nsig = 931e5152fcef078c22cc5d6a3a65f06e396289f6f5f2d1efa6340254a53526ef5dc6874eeddf35c3f50991c53cd02bf06313e37d93ee1f7022128ffa3b8f300b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10]\n[key.sk = b7d2f64276df417fed27d8e15b4e90f6fd93dace707294c338bd32bc4bbd8fdb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10]\n\n# tcId = 100\n# Random test failure 7\nmsg = ec5c7cb078\nresult = valid\nsig = 30490c28f806298225df62103521dcee047153912c33ab8ab8bbdd1ffabd70fd4fdb360f05be535b067d1cf4e78c2cb432206bf280aab3bd21aaa1cb894c5b06\n\n# tcId = 101\n# Random test failure 9\nmsg = 67484059b2490b1a0a4f8dee77979e26\nresult = valid\nsig = 4cd4f77ed473a6647387f3163541c67a1708a3c3bd1673247cb87f0cb68b3c56f04bfa72970c8a483efe659c87009ab4020b590b6641316b3deddb5450544e02\n\n# tcId = 102\n# Random test failure 11\nmsg = a020a4381dc9141f47ee508871ab7a8b5a3648727c4281ae9932376f23a8e1bcda0626b7129197d864178631ec89c4332dbb18\nresult = valid\nsig = 1e41a24fe732bd7cab14c2a2f5134ee8c87fcbd2e987e60957ed9239e5c32404d56977e1b4282871896cb10625a1937468e4dc266e16a9c1b8e9891177eca802\n\n# tcId = 103\n# Random test failure 14\nmsg = a25176b3afea318b2ec11ddacb10caf7179c0b3f8eabbfa2895581138d3c1e0e\nresult = valid\nsig = 2a833aadecd9f28235cb5896bf3781521dc71f28af2e91dbe1735a61dce3e31ac15ca24b3fc47817a59d386bbbb2ce60a6adc0a2703bb2bdea8f70f91051f706\n\n# tcId = 104\n# Random test failure 18\nmsg = a9e6d94870a67a9fe1cf13b1e6f9150cdd407bf6480ec841ea586ae3935e9787163cf419c1\nresult = valid\nsig = c97e3190f83bae7729ba473ad46b420b8aad735f0808ea42c0f898ccfe6addd4fd9d9fa3355d5e67ee21ab7e1f805cd07f1fce980e307f4d7ad36cc924eef00c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56]\n[key.sk = 7d597c3b7283929d07ed8f01f31d2596823e5e46ab226c7be4234d1a9dcaef37]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56]\n\n# tcId = 105\n# Random test failure 13\nmsg = e1cbf2d86827825613fb7a85811d\nresult = valid\nsig = 01abfa4d6bbc726b196928ec84fd03f0c953a4fa2b228249562ff1442a4f63a7150b064f3712b51c2af768d2c2711a71aabf8d186833e941a0301b82f0502905\n\n# tcId = 106\n# Random test failure 22\nmsg = 25\nresult = valid\nsig = e4ae21f7a8f4b3b325c161a8c6e53e2edd7005b9c2f8a2e3b0ac4ba94aa80be6f2ee22ac8d4a96b9a3eb73a825e7bb5aff4a3393bf5b4a38119e9c9b1b041106\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1]\n[key.sk = f401cee4bfb1732f0e9b8d8ba79469565c3115296141dbdf7e9c311a0ac1823b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1]\n\n# tcId = 107\n# Random test failure 16\nmsg = 975ef941710071a9e1e6325a0c860becd7c695b5117c3107b686e330e5\nresult = valid\nsig = af0fd9dda7e03e12313410d8d8844ebb6fe6b7f65141f22d7bcba5695a25414a9e54326fb44d59fb14707899a8aae70857b23d4080d7ab2c396ef3a36d45ce02\n\n# tcId = 108\n# Random test failure 23\nmsg = 80fdd6218f29c8c8f6bd820945f9b0854e3a8824\nresult = valid\nsig = e097e0bd0370bff5bde359175a11b728ee9639095d5df8eda496395565616edfe079977f7d4dc8c75d6113a83d6a55e6e1676408c0967a2906339b43337dcb01\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a]\n[key.sk = 3d658956410377d0644676d2599542412a4f3b0e4eadfb7f3f836615f42b18bc]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a]\n\n# tcId = 109\n# Random test failure 17\nmsg = \nresult = valid\nsig = 0280427e713378f49d478df6373c6cac847b622b567daa2376c839e7ac10e22c380ab0fa8617c9dcfe76c4d9db5459b21dc1413726e46cc8f387d359e344f407\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 54cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311]\n[key.sk = bccb61323840c2a96fc36f7e54ea6c8e55f9d221f7f05791ed60025e06064439]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210054cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311]\n\n# tcId = 110\n# Random test failure 26\nmsg = 27e792b28b2f1702\nresult = valid\nsig = 14d9b497c19b91d43481c55bb6f5056de252d9ecb637575c807e58e9b4c5eac8b284089d97e2192dc242014363208e2c9a3435edf8928fb1d893553e9be4c703\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe]\n[key.sk = f2d3023b9c19e241748bc4039a7a43c595701f23675505015213a8a2a0274c1b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe]\n\n# tcId = 111\n# Random test failure 27\nmsg = eef3bb0f617c17d0420c115c21c28e3762edc7b7fb048529b84a9c2bc6\nresult = valid\nsig = 242ddb3a5d938d07af690b1b0ef0fa75842c5f9549bf39c8750f75614c712e7cbaf2e37cc0799db38b858d41aec5b9dd2fca6a3c8e082c10408e2cf3932b9d08\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 037b55b427dc8daa0f80fcebaf0846902309f8a6cf18b465c0ce9b6539629ac8]\n[key.sk = 12fc31c40d5a7af71e05424623ba970b670cf6ecb44cda6120210e6370245ddb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100037b55b427dc8daa0f80fcebaf0846902309f8a6cf18b465c0ce9b6539629ac8]\n\n# tcId = 112", + "\n# Test case for overflow in signature generation\nmsg = 01234567\nresult = valid\nsig = c964e100033ce8888b23466677da4f4aea29923f642ae508f9d0888d788150636ab9b2c3765e91bbb05153801114d9e52dc700df377212222bb766be4b8c020d\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 9c0007698f177998a7666c7cf7973e2b88e9c4946e33804a7bbe8968d2394b2e]\n[key.sk = e54bcc4ce95db48072c7b49575617dd1f9403b072105259ca06d8d01530d07fb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321009c0007698f177998a7666c7cf7973e2b88e9c4946e33804a7bbe8968d2394b2e]\n\n# tcId = 113\n# Test case for overflow in signature generation\nmsg = 9399a6db9433d2a28d2b0c11c8794ab7d108c95b\nresult = valid\nsig = 176065c6d64a136a2227687d77f61f3fca3b16122c966276fd9a8b14a1a2cea4c33b3533d11101717016684e3810efbea63bb23773f7cc480174199abd734f08\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = ed3a6f9721dc9729c1f76635bcf080d7036e1c2f0228654ccbbe1e738c17b963]\n[key.sk = de7f2bb12b875a79ccb057344b2867a2edb25dbc1ecfc8cb07c69e2dd3df3e02]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100ed3a6f9721dc9729c1f76635bcf080d7036e1c2f0228654ccbbe1e738c17b963]\n\n# tcId = 114\n# Test case for overflow in signature generation\nmsg = 7af783afbbd44c1833ab7237ecaf63b94ffdd003\nresult = valid\nsig = 7ca69331eec8610d38f00e2cdbd46966cb359dcde98a257ac6f362cc00c8f4fe85c02285fe4d66e31a44cadb2bf474e1a7957609eb4fe95a71473fe6699aa70d\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 4abfb535313705a6570018440cdec1a3ae33e51f352112fa6acbd0c6bc3ea859]\n[key.sk = ea792b7a9d420bf74f6a82a78e58a2cc94f3ab3eb931270611b1f8da75c3d60b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321004abfb535313705a6570018440cdec1a3ae33e51f352112fa6acbd0c6bc3ea859]\n\n# tcId = 115\n# Test case for overflow in signature generation\nmsg = 321b5f663c19e30ee7bbb85e48ecf44db9d3f512\nresult = valid\nsig = f296715e855d8aecccba782b670163dedc4458fe4eb509a856bcac450920fd2e95a3a3eb212d2d9ccaf948c39ae46a2548af125f8e2ad9b77bd18f92d59f9200\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 4f2162e6bf03a712db0efa418b7e7006e23871d9d7ec555a313885c4afd96385]\n[key.sk = eca28645f63646575ee2e4bdb36f51838142ce2474664c2b66ef054b37af6124]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321004f2162e6bf03a712db0efa418b7e7006e23871d9d7ec555a313885c4afd96385]\n\n# tcId = 116\n# Test case for overflow in signature generation\nmsg = c48890e92aeeb3af04858a8dc1d34f16a4347b91\nresult = valid\nsig = 367d07253a9d5a77d054b9c1a82d3c0a448a51905343320b3559325ef41839608aa45564978da1b2968c556cfb23b0c98a9be83e594d5e769d69d1156e1b1506\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 0717d75ce27ea181ed5a30e6456c649b5cf453a6b4c12cd3f9fd16b31e0c25cd]\n[key.sk = 728238602b7e6753b3f49eb0fc4cde38c7bb14ab58ddcaef2537275b13e99dd3]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321000717d75ce27ea181ed5a30e6456c649b5cf453a6b4c12cd3f9fd16b31e0c25cd]\n\n# tcId = 117\n# regression test for arithmetic error\nmsg = 26d5f0631f49106db58c4cfc903691134811b33c\nresult = valid\nsig = 9588e02bc815649d359ce710cdc69814556dd8c8bab1c468f40a49ebefb7f0de7ed49725edfd1b708fa1bad277c35d6c1b9c5ec25990997645780f9203d7dd08\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = db5b9eab7e84e5a13505865fa711c9c896c898609fc11fc9bc1e55028f9496df]\n[key.sk = dc4092d7809c6b070f2808c434267b6697428f4ab1e4626ab56a3059643be43c]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100db5b9eab7e84e5a13505865fa711c9c896c898609fc11fc9bc1e55028f9496df]\n\n# tcId = 118\n# regression test for arithmetic error\nmsg = 2a71f064af982a3a1103a75cef898732d7881981\nresult = valid\nsig = 2217a0be57dd0d6c0090641496bcb65e37213f02a0df50aff0368ee2808e1376504f37b37494132dfc4d4887f58b9e86eff924040db3925ee4f8e1428c4c500e\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7bac18f6d2625d3915f233434cda38a577247a7332a5170b37142a34644145e0]\n[key.sk = 38765b89ec56836ea4190fc957802b6a47167f9b5ef942e92652803b7de6abfd]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007bac18f6d2625d3915f233434cda38a577247a7332a5170b37142a34644145e0]\n\n# tcId = 119\n# regression test for arithmetic error\nmsg = bf26796cef4ddafcf5033c8d105057db0210b6ad\nresult = valid\nsig = 1fda6dd4519fdbefb515bfa39e8e5911f4a0a8aa65f40ef0c542b8b34b87f9c249dc57f320718ff457ed5915c4d0fc352affc1287724d3f3a9de1ff777a02e01\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 38ead304624abebf3e2b31e20e5629531e3fc659008887c9106f5e55adbbc62a]\n[key.sk = 97575308a490af0c145411dd16d519a073ef03c2e4a0a1cd6b5de2e881e5eabe]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210038ead304624abebf3e2b31e20e5629531e3fc659008887c9106f5e55adbbc62a]\n\n# tcId = 120\n# regression test for arithmetic error\nmsg = ae03da6997e40cea67935020152d3a9a365cc055\nresult = valid\nsig = 068eafdc2f36b97f9bae7fbda88b530d16b0e35054d3a351e3a4c914b22854c711505e49682e1a447e10a69e3b04d0759c859897b64f71137acf355b63faf100\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = e9bc95049af7e4817b17c402269ba5e767b7348757ac8002fec9e08390c0a9cf]\n[key.sk = ad129e89e0eec908df51adc227c8c4908a8095d75621536c8a28dca4b3c30dbb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100e9bc95049af7e4817b17c402269ba5e767b7348757ac8002fec9e08390c0a9cf]\n\n# tcId = 121\n# regression test for arithmetic error\nmsg = 489d473f7fb83c7f6823baf65482517bccd8f4ea\nresult = valid\nsig = 43670abc9f09a8a415e76f4a21c6a46156f066b5a37b3c1e867cf67248c7b927e8d13a763e37abf936f5f27f7a8aa290539d21f740efd26b65fd5ad27085f400\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = ee8155ca4e8fe7bc5bca5992044eab7f8c3c6a13db1176f42f46c29da5b064f4]\n[key.sk = 03ce643d6d341b7065bc9e70da8193451cf83ca7ff5a8640fd07af094640365a]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100ee8155ca4e8fe7bc5bca5992044eab7f8c3c6a13db1176f42f46c29da5b064f4]\n\n# tcId = 122\n# regression test for arithmetic error\nmsg = 1b704d6692d60a07ad1e1d047b65e105a80d3459\nresult = valid\nsig = 56388f2228893b14ce4f2a5e0cc626591061de3a57c50a5ecab7b9d5bb2caeea191560a1cf2344c75fdb4a085444aa68d727b39f498169eaa82cf64a31f59803\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = db507bfcc9576393f7157bb360532b05c5fcf2e764b690cc6698a4a30d349095]\n[key.sk = 581f593a5cd94594dc0f5dd142026a436a930e573391b7aeea6a8253eeef6ceb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100db507bfcc9576393f7157bb360532b05c5fcf2e764b690cc6698a4a30d349095]\n\n# tcId = 123\n# regression test for arithmetic error\nmsg = dc87030862c4c32f56261e93a367caf458c6be27\nresult = valid\nsig = 553e5845fc480a577da6544e602caadaa00ae3e5aa3dce9ef332b1541b6d5f21bdf1d01e98baf80b8435f9932f89b3eb70f02da24787aac8e77279e797d0bd0b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 994eaf03309d6ad9d95a656bc1744e2886f029023a3750b34f35086b3c7227f8]\n[key.sk = 6f207dc94b844d4dc71f982da8d9f3ae0b37b4623e441eca75ba62621c524d98]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100994eaf03309d6ad9d95a656bc1744e2886f029023a3750b34f35086b3c7227f8]\n\n# tcId = 124\n# regression test for arithmetic error\nmsg = 7f41ef68508343ef18813cb2fb332445ec6480cd\nresult = valid\nsig = bc10f88081b7be1f2505b6e76c5c82e358cf21ec11b7df1f334fb587bada465b53d9f7b4d4fec964432ee91ead1bc32ed3c82f2167da1c834a37515df7fe130e\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 127d37e406e0d83e4b55a09e21e8f50fb88af47e4a43f018cdebffc1948757f0]\n[key.sk = dea9bbb9fb20512fa67eea696afd786f3928265f5208aeaba638f3177d0db70e]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100127d37e406e0d83e4b55a09e21e8f50fb88af47e4a43f018cdebffc1948757f0]\n\n# tcId = 125\n# regression test for arithmetic error\nmsg = e1ce107971534bc46a42ac609a1a37b4ca65791d\nresult = valid\nsig = 00c11e76b5866b7c37528b0670188c1a0473fb93c33b72ae604a8865a7d6e094ff722e8ede3cb18389685ff3c4086c29006047466f81e71a329711e0b9294709\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d83ba84edfb4bec49f29be31d80a64b7c0b5a502438cdb1d0dd1e0e3e55786de]\n[key.sk = c99c52ae1e61f7c79a164ee4910fdcaa02946259ea5443f68b23d721d0472f63]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d83ba84edfb4bec49f29be31d80a64b7c0b5a502438cdb1d0dd1e0e3e55786de]\n\n# tcId = 126\n# regression test for arithmetic error\nmsg = 869a827397c585cf35acf88a8728833ab1c8c81e\nresult = valid\nsig = 0a", + "6f0ac47ea136cb3ff00f7a96638e4984048999ee2da0af6e5c86bffb0e70bb97406b6ad5a4b764f7c99ebb6ec0fd434b8efe253b0423ef876c037998e8ab07\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d3c9aa2f3d6ef217a166e8ae403ed436c37facbbe3beceb78df6eb439f8fa04a]\n[key.sk = d8aaad0749db159569a68b46048b3d3e8266e110150251c42806f0752a84e95b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d3c9aa2f3d6ef217a166e8ae403ed436c37facbbe3beceb78df6eb439f8fa04a]\n\n# tcId = 127\n# regression test for arithmetic error\nmsg = 619d8c4f2c93104be01cd574a385ceca08c33a9e\nresult = valid\nsig = b7cbb942a6661e2312f79548224f3e44f5841c6e880c68340756a00ce94a914e8404858265985e6bb97ef01d2d7e5e41340309606bfc43c8c6a8f925126b3d09\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d53280367c1c0b95ac4112218b92c6a71c51fb6312ce668de196c7d52a136155]\n[key.sk = e78d26ab5b726c9d4dfb1f634082abded90432a2fd18089c7c85253a5d2fc7d0]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d53280367c1c0b95ac4112218b92c6a71c51fb6312ce668de196c7d52a136155]\n\n# tcId = 128\n# regression test for arithmetic error\nmsg = 5257a0bae8326d259a6ce97420c65e6c2794afe2\nresult = valid\nsig = 27a4f24009e579173ff3064a6eff2a4d20224f8f85fdec982a9cf2e6a3b51537348a1d7851a3a932128a923a393ea84e6b35eb3473c32dceb9d7e9cab03a0f0d\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 94ac2336ba97a476fb4c9f2b5563e4167ca292c6e99e422350a911ae3172c315]\n[key.sk = 8e7ca56e07f1438ac3615fd9ec77ae63679d0ec059b4595febf40be59d976a05]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210094ac2336ba97a476fb4c9f2b5563e4167ca292c6e99e422350a911ae3172c315]\n\n# tcId = 129\n# regression test for arithmetic error\nmsg = 5acb6afc9b368f7acac0e71f6a4831c72d628405\nresult = valid\nsig = 985b605fe3f449f68081197a68c714da0bfbf6ac2ab9abb0508b6384ea4999cb8d79af98e86f589409e8d2609a8f8bd7e80aaa8d92a84e7737fbe8dcef41920a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = e1e7316d231f7f275bdf403360304da1509fdf1af1fd25ca214eaac0a289398f]\n[key.sk = e77525af5856ab9df5abb64e5312576b498cc27f61f266e21f382e0526d4e6fb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100e1e7316d231f7f275bdf403360304da1509fdf1af1fd25ca214eaac0a289398f]\n\n# tcId = 130\n# regression test for arithmetic error\nmsg = 3c87b3453277b353941591fc7eaa7dd37604b42a\nresult = valid\nsig = 1c8fbda3d39e2b441f06da6071c13115cb4115c7c3341704cf6513324d4cf1ef4a1dd7678a048b0dde84e48994d080befcd70854079d44b6a0b0f9fa002d130c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = fffbeea71215efaf9888fec2cc68edb3703ff11a66fd629b53cbda5eabc18750]\n[key.sk = 1f43235ad716f1beb754ab0f546dfa934488fdf7472b493d7cc3c60353005d24]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100fffbeea71215efaf9888fec2cc68edb3703ff11a66fd629b53cbda5eabc18750]\n\n# tcId = 131\n# regression test for arithmetic error\nmsg = 0a68e27ef6847bfd9e398b328a0ded3679d4649d\nresult = valid\nsig = 59097233eb141ed948b4f3c28a9496b9a7eca77454ecfe7e46737d1449a0b76b15aacf77cf48af27a668aa4434cfa26c504d75a2bcc4feac46465446234c0508\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 19ccc0527599cb032e0b4c4d74e60f13901768a99df041c3bc1bf6c0ef271169]\n[key.sk = 3977785b9f8c5320e51a3a16f8cc22c4f7e64857617f9550147fa35d685ca34f]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210019ccc0527599cb032e0b4c4d74e60f13901768a99df041c3bc1bf6c0ef271169]\n\n# tcId = 132\n# regression test for arithmetic error\nmsg = 4e9bef60737c7d4dd10bd52567e1473a36d3573d\nresult = valid\nsig = 519105608508fe2f1b6da4cc8b23e39798b1d18d25972beed0404cec722e01ba1b6a0f85e99e092cca8076b101b60d4ac5035684357f4d0daacdc642da742a06\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 0e726e27047563aa0a1a9c2e085d8d26af2acba129d0869c65031e3e6cac329a]\n[key.sk = 1aa4415c5db0131bec6fa188d0c23d49a65bf795657153fae94777e3f19bcf54]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321000e726e27047563aa0a1a9c2e085d8d26af2acba129d0869c65031e3e6cac329a]\n\n# tcId = 133\n# regression test for arithmetic error\nmsg = cc82b3163efda3ba7e9240e765112caa69113694\nresult = valid\nsig = d8b03ee579e73f16477527fc9dc37a72eaac0748a733772c483ba013944f01ef64fb4ec5e3a95021dc22f4ae282baff6e9b9cc8433c6b6710d82e7397d72ef04\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = e77717b54a2b5e5bce5bccb8f0c5fdb5fd7df77ac254020fc9120dc0d4df4178]\n[key.sk = 0fb7680a50d3f2940077ea4dfcb7eb040a125c4f4b5dcefa16d3af968fc8e5de]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100e77717b54a2b5e5bce5bccb8f0c5fdb5fd7df77ac254020fc9120dc0d4df4178]\n\n# tcId = 134\n# regression test for arithmetic error\nmsg = 923a5c9e7b5635bb6c32c5a408a4a15b652450eb\nresult = valid\nsig = 26da61fdfd38e6d01792813f27840c8b4766b0faaed39d0ee898cb450d94a5d5f57e58b6a003d7f9b56b20561954c6edcf66492d116b8b5e91f205a3a6449d0b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 6220972d3f7d150b36790d7d522384876d64d640cd9913186815e1629582ed36]\n[key.sk = e222c444d6bc8a4796a0d5a2d71d19b98845cc56e39caaf8233ea4c6b0704f09]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321006220972d3f7d150b36790d7d522384876d64d640cd9913186815e1629582ed36]\n\n# tcId = 135\n# regression test for arithmetic error\nmsg = 6f2f0245de4587062979d0422d349f93ccdc3af2\nresult = valid\nsig = 4adeaff7a58c5010a5a067feea0ae504d37b0c6a76c6c153e222f13409dff2df0fab69bc5059b97d925dc1b89e9851d7c627cb82d65585f9fd976124553f8902\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7b64a28c50ec7678a90e3e1a21522e30ac9db7b5215aea2bfb33bea037eab987]\n[key.sk = a89ea18476b9ad90cb14b8b1ff24777e4ebd015bc810a60785a9154dacf3be52]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007b64a28c50ec7678a90e3e1a21522e30ac9db7b5215aea2bfb33bea037eab987]\n\n# tcId = 136\n# regression test for arithmetic error\nmsg = 6e911edb27a170b983d4dee1110554f804330f41\nresult = valid\nsig = 4204d620cde0c3008c0b2901f5d6b44f88f0e3cb4f4d62252bf6f3cb37c1fb150a9ccb296afe5e7c75f65b5c8edd13dc4910ffe1e1265b3707c59042cf9a5902\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 724452210a9e4c994819229bf12bf84e95768a3a97c08d8d8f5f939a4cad34c5]\n[key.sk = 69b1da56cde8d1676c2a8c0e7f95c7d0bf60739efd1304dd2ccb02729d17a22c]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100724452210a9e4c994819229bf12bf84e95768a3a97c08d8d8f5f939a4cad34c5]\n\n# tcId = 137\n# regression test for arithmetic error\nmsg = b8cf807eea809aaf739aa091f3b7a3f2fd39fb51\nresult = valid\nsig = f8a69d3fd8c2ff0a9dec41e4c6b43675ce08366a35e220b1185ffc246c339e22c20ac661e866f52054015efd04f42eca2adcee6834c4df923b4a62576e4dff0e\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = bad265b294ed2f422cb6a141694086238fbfe987571aa765d8b4f3a24105aa01]\n[key.sk = b332265cf95595f0c90221593b5a2b3c574d60dc634ddff6186f0eed7980a383]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100bad265b294ed2f422cb6a141694086238fbfe987571aa765d8b4f3a24105aa01]\n\n# tcId = 138\n# regression test for arithmetic error\nmsg = 01a2b5f7fee813b4e9bd7fc25137648004795010\nresult = valid\nsig = 61792c9442bc6338ac41fd42a40bee9b02ec1836503d60ff725128c63d72808880c36e6190b7da525cbee5d12900aa043547dd14a2709ef9e49d628f37f6b70c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 0aaee4b723db9b51ba7d22eb23eb8a76a5ac02f4fc9dd06f77bea42e1d37ec5a]\n[key.sk = faec9764b369df0ef10890dd022c502e551a3222b43e8429455496c76feea45d]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321000aaee4b723db9b51ba7d22eb23eb8a76a5ac02f4fc9dd06f77bea42e1d37ec5a]\n\n# tcId = 139\n# regression test for arithmetic error\nmsg = 0fbf5d47cb5d498feace8f98f1896208da38a885\nresult = valid\nsig = fa3cd41e3a8c00b19eecd404a63c3cb787cd30de0dfc936966cff2117f5aff18db6bef80fcfd8856f3fb2e9c3dc47593e9471103032af918feee638a33d40505\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 812344af15a91ba83c2c91e96f1727ac0f3c4c41385b9fa84efa399ada5168be]\n[key.sk = 4eb19e278f7a30a06a7d55e42c44775f4a81b7a45c0512aae026262e71770dac]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100812344af15a91ba83c2c91e96f1727ac0f3c4c41385b9fa84efa399ada5168be]\n\n# tcId = 140\n# regression test for arithmetic error\nmsg = 36e67c1939750bffb3e4ba6cb85562612275e862\nresult = valid\nsig = 97fbbcd7a1d0eb42d2f8c42448ef35a2c2472740556b645547865330d6c57068af377fced08aaf810c08cd3c43d296f1975710312e9334c98b485f831efa4103\n\n", + "[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 0ee5cb5597fbdf8dccc48b01485e39b33aa133b52d30d23740277267cfec3e3e]\n[key.sk = 1998d5949cab365a00f828e7d17b06c708d33fef0031d353a4e15bf7222a73b0]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321000ee5cb5597fbdf8dccc48b01485e39b33aa133b52d30d23740277267cfec3e3e]\n\n# tcId = 141\n# regression test for arithmetic error\nmsg = 13945c894c1d3fe8562e8b20e5f0efaa26ade8e3\nresult = valid\nsig = d7dbaa337ffd2a5fd8d5fd8ad5aeccc0c0f83795c2c59fe62a40b87903b1ae62ed748a8df5af4d32f9f822a65d0e498b6f40eaf369a9342a1164ee7d08b58103\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 9fba1de92b60b5b4703089763d0d6f9125e4dd7efae41f08a22882aef96892c4]\n[key.sk = 6164676114c66bd9887dac341c66209dc587ccf0cc5cd9baffdfac9295a00c4a]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321009fba1de92b60b5b4703089763d0d6f9125e4dd7efae41f08a22882aef96892c4]\n\n# tcId = 142\n# regression test for arithmetic error\nmsg = 4de142af4b8402f80a47fa812df84f42e283cee7\nresult = valid\nsig = 09a2ed303a2fa7027a1dd7c3b0d25121eeed2b644a2fbc17aa0c8aea4524071ede7e7dd7a536d5497f8165d29e4e1b63200f74bbae39fbbbccb29889c62c1f09\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7582ab1b52e1316e5c13671f43b39ca36b28133cd0832831bcddd0b0f23398cb]\n[key.sk = 4b0bd03a03b20069ccbcc214a7448473f4e7a491fa7ceb48ddbe24c83c4aa4bb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007582ab1b52e1316e5c13671f43b39ca36b28133cd0832831bcddd0b0f23398cb]\n\n# tcId = 143\n# regression test for arithmetic error\nmsg = 563357f41b8b23b1d83f19f5667177a67da20b18\nresult = valid\nsig = e6884a6e6b2e60a0b5862251c001e7c79d581d777d6fc11d218d0aecd79f26a30e2ca22cc7c4674f8b72655bc4ee5cb5494ca07c05177656142ac55cc9d33e02\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = dd2d678bae222f3fb6e8278f08cc9e1a66339c926c29ac0a16f9717f5ee18cd8]\n[key.sk = 2fce7870be1f392d21fb1d2350ec7877db8aa99b359fe5bdd5338ff35a791d1c]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100dd2d678bae222f3fb6e8278f08cc9e1a66339c926c29ac0a16f9717f5ee18cd8]\n\n# tcId = 144\n# regression test for arithmetic error\nmsg = 931bbf9c877a6571cf7d4609fc3eb867edd43f51\nresult = valid\nsig = 6124c206d864507ea5d984b363b4cf583314db6856a45ded5e61eebff4d5e337e0b4c82b445ae2e52d549d2d961eace2ea01f81158e09a9686baa040db65ad08\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = ccbe7cb2e4bc215cee2f885e1d22f7e0d582b2bbbd782c104e548b152d26fc69]\n[key.sk = a9ace42195ddbb3a16f366b24dd9d37a8a043ed2e6001f54652296750379367d]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100ccbe7cb2e4bc215cee2f885e1d22f7e0d582b2bbbd782c104e548b152d26fc69]\n\n# tcId = 145\n# regression test for arithmetic error\nmsg = 44530b0b34f598767a7b875b0caee3c7b9c502d1\nresult = valid\nsig = cfbd450a2c83cb8436c348822fe3ee347d4ee937b7f2ea11ed755cc52852407c9eec2c1fa30d2f9aef90e89b2cc3bcef2b1b9ca59f712110d19894a9cf6a2802\n\n", }; -static const size_t kLen75 = 48818; +static const size_t kLen108 = 61255; -static const char *kData75[] = { - "# Imported from Wycheproof's third_party/wycheproof_testvectors/kwp_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: KWP\n# Generator version: 0.4.12\n\n[keySize = 128]\n\n# tcId = 1\nct = 8cd63fa6788aa5edfa753fc87d645a672b14107c3b4519e7\nkey = 6f67486d1e914419cb43c28509c7c1ea\nmsg = 8dc0632d92ee0be4f740028410b08270\nresult = valid\n\n# tcId = 2\nct = e8bac475d1429034b32f9bdeec09a37f9b3704028f1e0270\nkey = a0b17172bb296db7f5c869e9a36b5ce3\nmsg = 615dd022d607c910f20178cbdf42060f\nresult = valid\n\n# tcId = 3\nct = 4c8bcd601b508ef399f71b841294497a4493c4a0014c0103\nkey = 0e49d571c19b5250effd41d94bde39d6\nmsg = f25e4de8caca363fd5f29442eb147b55\nresult = valid\n\n# tcId = 4\n# wrapped key is longer than wrapping key\nct = 9e4510cc84c4bd7abab0a8a5d7f1e6ff3e6777ca2dff9be7e223652239fe57d8\nkey = e0e12959109103e30ae8b5684a22e662\nmsg = dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e\nresult = acceptable\n\n# tcId = 5\n# wrapped key is longer than wrapping key\nct = 8fbf39ae583bd4efa7a3e8f7b86870b34766ae7d8923a8e97b0cd289ad98cacb\nkey = dd583d9f1059861430ec8b5d8a180e9b\nmsg = f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487\nresult = acceptable\n\n# tcId = 6\n# wrapped key is longer than wrapping key\nct = df2fbe5fa86418edc7b5b04a4aea724aca17e88cedc84ca8b0b0f048e64590cb\nkey = faf5ccfae42b43cee2c5f0f3177a7c5d\nmsg = 4e02084833660c463830483b36dab866c64c8cf7429cac3d\nresult = acceptable\n\n# tcId = 7\n# wrapped key is longer than wrapping key\nct = 67f8edf57f84ea0a35b35511d67d3f299c9984b2c07d3809c3d7f5f45091f1a8fbb937ed447677f6\nkey = c2b9d23f2831ddcdeb456853d4014db9\nmsg = f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907\nresult = acceptable\n\n# tcId = 8\n# wrapped key is longer than wrapping key\nct = 60d55a22ba7dbd7d8f317388e01e6be561d15d29f85c566f1259aa7e7dc3d5d30e0ef5f4c6267553\nkey = 620a08f320cdedbf7ae551add348d95e\nmsg = cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291\nresult = acceptable\n\n# tcId = 9\n# wrapped key is longer than wrapping key\nct = d78a8291108f0f2d8be0ec10ec08240bf4d3021f0a5ed7faba0748db73762f34a0504bd373212df2\nkey = ed089ac274f8c7cea2415671a94b5e53\nmsg = 6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299\nresult = acceptable\n\n# tcId = 10\n# Round counter overflows 256\nct = 9341221aca1c647e2afc2bdd9cf4ed6e60058eb0a84cb3fc2daf3a87d9fad0a1f8268b27aaf7201d705e72f7e2240309ad98742094e3f1c99b7faa9ae181b441f5004b8bc93cdd4160d403d0884749a3c379d47c112a45788c05c2106c98f59758d393e04c880691b0e8683a12df7f876e1e1f68b4acbae9cc8310b34d59ccf4617cee72e845df1e0e32e5b4938f2923d55f1bb5156dd8c787401e6ef241ea4073d0a59ddfcd7a53db5d89b480b030cfb9084ea8479b964f090bb612d5251eee9ef8870a45f1e76fd24abdd9b350fe148b15a4cfeb032d57b5743b3548a7ce9eec8e21a31ce832530edfd1cffd9bb37369e6463c6b373ab60d80b0a2677e92e658f7daf2a5234b7312bf2d967cd0bc809e9be2f706ae63bd632fd611f161e48ee19677f3243aa0e91f6651a1cef62feff7a72eedf830bae1dc6d89e55ccb5e6f97889c6266f7d3f2eb0aea6c8c42200febccc5916825368adc87e04e835de06fd7bc2805c219e7f0b6252563f29969b1f30cfa1a8da4b90ae7534fb849d068a7e77de7360f8af173\nkey = b6121acad51038e11873aaa7e6c7be06\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 11\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = \nresult = acceptable\n\n# tcId = 12\n# wrapping small key\nct = 09bcbab50b8dd45ad83412e2919030d3\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 4c\nresult = acceptable\n\n# tcId = 13\n# wrapping small key\nct = 0cbe852cdce4f0b5333366f446b2b1c5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = be52\nresult = acceptable\n\n# tcId = 14\n# wrapping small key\nct = a9dc66e03435ab3d4f97ff66f2c911a3\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 2d5244\nresult = acceptable\n\n# tcId = 15\n# wrapping small key\nct = 1b970c8ecb4187447e60e6083da03086\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 6c3d3b4c\nresult = acceptable\n\n# tcId = 16\n# wrapping small key\nct = 0344f7b34ab8ef28aaa843f276b0b3d5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 0412ab3ec6\nresult = acceptable\n\n# tcId = 17\n# wrapping small key\nct = 17356c7148334ca1a24aab7e82a66e18\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8ae08938929c\nresult = acceptable\n\n# tcId = 18\n# wrapping small key\nct = 1db7510a55591a455d9f8167e6db3c88\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 7c8dfbb68d72af\nresult = acceptable\n\n# tcId = 19\n# wrapping small key\nct = 936fe58b629ea6ec158145218f2361c7\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 536f8f83b64771c1\nresult = acceptable\n\n# tcId = 20\n# wrapping small key\nct = 6787816804b3127d0ca4073f1dba5c4d3db1ec9c227e6556\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8571f282b18b64ec5e\nresult = acceptable\n\n# tcId = 21\n# wrapping small key\nct = 34131c3bfcc48af15eea8672e52927b462f81d5ba0e6260f\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8ada889862813e364c4d\nresult = acceptable\n\n# tcId = 22\n# wrapping small key\nct = 4d1ec9287cd4dd378b9aefee79d4ed35bcb98ad9fa9fe529\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = f9c56e8058758a5c7c2baa\nresult = acceptable\n\n# tcId = 23\n# wrapping small key\nct = 7209f5b6bd5d4916f4995d280e9aa89edd5e96e3c9283ad2\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 7c7dbc83fa62206a521ed4ad\nresult = acceptable\n\n# tcId = 24\n# wrapping small key\nct = d85a1efc6ab3a40948f723d9810a5deb019b3ce0208a0d94\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = a6614daf00df6d14f50388bad5\nresult = acceptable\n\n# tcId = 25\n# wrapping small key\nct = 43509b5df3688b6e44c1a994592f4c03da34712f886e63d5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 450580a47d7008321496bfb82f48\nresult = acceptable\n\n# tcId = 26\n# wrapping small key\nct = 16e369351c40f220d3fb1197f35da652a3a40ca3b1e99bfb\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 9efd21e13855eea8907afdcd8935f4\nresult = acceptable\n\n# tcId = 27\n# Modified IV\nct = 82af032f5389caa503147d2825336eab84816fb6f8ae6df4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 28\n# Modified IV\nct = 4e00a9eeef87eb6d7be4ec46204d94006c216d5177d2a83c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 29\n# Modified IV\nct = d3dc6c3b4707a08039d621879caf419b9895482fff7bdcd0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 30\n# Modified IV\nct = 09d3bfc3c9c5af2b2951b06406f7ea4d84e9c37402637e2c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 31\n# Modified IV\nct = 3396679a4d87caf7ce7eb4707ba1c6526728f5a973191713\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 32\n# Modified IV\nct = ec637d90d945e92929c1c873d9aa9c47bc7b172237319d15\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 33\n# Modified IV\nct = 748f373d48d8590e2216b294b9ef94860dbb6b0b0ab625c5\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 34\n# Modified IV\nct = 61d7c584197f257caf2583e444896f1d3ba12509b1ef725b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 35\n# Modified IV\nct = 7f8cda973fe58b484b120fc710b520c5636057629795f89a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 36\n# Modified IV\nct = ccea198029edb9d848d6ca76667b666b1dbebd1e4b1faa8d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 37\n# Modified IV\nct = ee08cb9d20a98b88b2d8f0e39acf34219d105dc14afbe364\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nm", - "sg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 38\n# Modified IV\nct = 6782992bf8cff068cf41341dd2ca04adedea92e846f74411\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 39\n# Modified IV\nct = 7ed35d0c08042dd56bb5df78056ecd21b8c797d36f57aaec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 40\n# Modified IV\nct = 37e3b4cefee648766a8efe73d6af12812eded603ab7141bb\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 41\n# Modified IV\nct = fe73777d8992e07eef0d053ad5ec0bf8243fc7e0bc2b405b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 42\n# Modified IV\nct = 39292c91b6b826d47d502043c3ba4f41e2ce32960a0291b5\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 43\n# Modified IV\nct = 36ef8fc13d0f1f5745e3939877b62b8ecba2f5f0b19f9e90\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 44\n# Modified IV\nct = 7255c4eacb4105a68095e9e5b5a4bd8f9623a0da5c6fc230\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 45\n# Modified IV\nct = ea26eec89a46ff1a628834c7247a8e4e45d8a8d3229e26cc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 46\n# Modified IV\nct = 508593fa85a8effd27c8a225981978fcec6e992eb488c9c2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 47\n# Modified IV\nct = b8a4cb22f15529864d4ced8e8abae69752a9045a084dfc3f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 48\n# Modified IV\nct = a0a6bf5e47e89706932b1057b680c3c81dc4d9d0b4f9153b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 49\n# Modified IV\nct = 11f3af4ed30e77520517c880f1d0c272a89a968dc697cb5a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 50\n# Modified IV\nct = 6fc912a0bda73bacfa93db4002f18f349fa30f22f7a95ab9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 51\n# RFC 3349 padding\nct = 3731038571c35f7dcc55e48892de353e54c079b89774bbfd\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 52\n# Invalid encryption\nct = d85c6bfd092df1aeae5a548e47aa7681\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 53\n# padding too long\nct = 7a92427387f5587ee825d1ffa011c40286844ecdadce31cd9678338694ea2682\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 54\n# padding too long\nct = a437d354606ae752894feb62c8def7d17046d8e47f9aed755fba48b3a3009e3ff67d34e26a779064\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 55\n# incorrectly encoded length\nct = e8d240d64f16d1522ae2ded42ced257dfec158ff2fe1467d\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 56\n# length = 2**32-1\nct = 6d1bfda356b7b954e7aaccc6df953322f75be95947b02b30\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 57\n# length = 2**32-1\nct = 17dbf878ef4076cfcaba5f81d7b123d7\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 58\n# length = 2**31-1\nct = 75c23e253478037802fae0f86af9c78d4e4d9be0c3bff89f\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 59\n# length = 2**31 + 16\nct = 55717658c6a35e15ee36c66cce91083b63091f51525c0b51\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 60\n# data is incorrectly padded\nct = 8ede88a52ccb8a6d617456955a9f04c94d87696125ded87eebe3e97e185496d9\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 61\n# data is incorrectly padded\nct = 5b4a8f1abffa51676ac8b5ddf9366c12\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 62\n# length = 0\nct = 205cc6dd9592da0ebff6b4b48a0c450eeaeb11a60d33f387\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 63\n# RFC 3349 padding with incorrect size\nct = 908a68b0d2054e199220d37c34a2e136\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 64\n# length = 9\nct = f84bdb15045cee3a8a0f3ed2f07c1771\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 65\n# length = 16\nct = 7592b1ee6ee92c9467db366adcfa65bb\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 66\n# length = 2**31 + 8\nct = db93a1db3b5babc80a304d527682c1ef\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n[keySize = 192]\n\n# tcId = 67\nct = 5c117a678223cfe5ee691503061e7ab1e5f720e005171b32\nkey = f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe\nmsg = 9adbc00c710b1101bdf6a4ed65b32d72\nresult = valid\n\n# tcId = 68\nct = 6a7f9e03b6f379c56da3a56d8f32eba515454a91fd417449\nkey = b713f6b7814f98894d7b153974684359f1460213eb74be68\nmsg = 78585f0c49922e82caf17ebc3721b4db\nresult = valid\n\n# tcId = 69\nct = 764097f5ee8236bc0d93bbcea139a652f4b211cc33a61ac9\nkey = 13ecf423211caa334ba6db37259a535c20de8ad10fc8c432\nmsg = 4fc75d0f221e22408a37e11265d49a05\nresult = valid\n\n# tcId = 70\nct = 04b83ec803a75bbcb2f87fc6f488a4ccc1827b412483070eed195b6f0048ccbe\nkey = 4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1\nmsg = f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5\nresult = valid\n\n# tcId = 71\nct = 46ab71f032cb1ccbcc7447a5183574268c0167a26a93fe8422bf284417aa93ea\nkey = b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e\nmsg = 0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a\nresult = valid\n\n# tcId = 72\nct = 47ca298ee47b1b755a499129347e11e7a25754ccb6c2689e8eff270e98c81d18\nkey = f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000\nmsg = 241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea\nresult = valid\n\n# tcId = 73\n# wrapped key is longer than wrapping key\nct = ecac4c91758e1ae7bb010c34f4c5f99a3d728b9fa92cb778d3fe80d777a20d3de85ef46e7a0c6a6a\nkey = 1639f9f81e53e2eeb677a249e5eced3af108971301601a7b\nmsg = ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691\nresult = acceptable\n\n# tcId = 74\n# wrapped key is longer than wrapping key\nct = 39b7326a44eaed08bffbd4aeaf3e2c3f899c1fd049384ed7b3eb92b788c6449acd6385f0bb18cf28\nkey = 1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0\nmsg = 50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380\nresult = acceptable\n\n# tcId = 75\n# wrapped key is longer than wrapping key\nct = 3d2e9f39c7b13e9585227c4344fbe596f92b002456616f137deacc6a8c941649ce294bb2695c1807\nkey = 3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771\nmsg = 65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf\nresult = acceptable\n\n# tcId = 76\n# Round counter overflows 256\nct = d6aacfb52c26baae78c2f54259a4e4168f817064344e2ba8fbfa7fae9f1fd69bd5bc5c1e20a6101b4a7119cbce028e25a9e93d29ee260c4e609baedee788411c2afe60218ce1b0d28b9c29b941251fdcbac3009d59040a0337b8b4a3a020c6d8f310cba63db046d8f36b64c9092e75cee463fc7692ef56bed395c4579da0ecb02129e45ad8a7f116aac6170204888e40693f017a6a0a7dd3962004e60db3a9b6c8b7614a467ccb799bce1ba83f5c0921f1e52bb3909bc0486ec0eaea736498f3ba520a519c3ddf491307958620b737613417b15b438b80b43189baa455031f5771502002ea170c767b33d247feebce62e606f2262537f85f18d1951cc75cedef291c6a501cb1778586249b58156eb8d7283a3f508ee8bcc1206d77bbd6892fe74b865bfc02a8f07223087a6c1e50a41b7cf5f6ee04bd07766b2e5b34c4a7666b0ce06f670e6434a59fb74e0df36c91d94e5e8b721e53e09b6f6504c5d515492a373fcc348a63122cc6e4716e0e1a543d038c6f7731199f691780a8a655cca6718e3dc56e815b3669\nkey = b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1\nmsg = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 77\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = \nresult = acceptable\n\n# tcId = 78\n# wrapping small key\nct = 52c7f388d0d4237afaa29f2b94723475\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = a3\nresult = acceptable\n\n# tcId = 79\n# wrapping small key\nct = 833431ce8799be69b36aafe3f38d9dac\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 594b\nresult = acceptable\n\n# tcId = 80\n# wrapping small key\nct = 31674f46b989f6ead582c70dedc8c6b9\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 72ab34\nresult = acceptable\n\n# tcId = 81\n# wrapping small key\nct = 80535172d2a498aa31601d70fdca9dea\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = d4d9460f\nresult = acceptable\n\n# tcId = 82\n# wrapping small key\nct = 56232300dd7b2a71d2328b6df47af8e3\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 643972e552\nresult = acceptable\n\n# tcId = 83\n# wrapping small key\nct = e27e08efe39adbbad8d300b87be2c258\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = f3cdb73d2561\nresult = acceptable\n\n# tcId = 84\n# wrapping small key\nct = 8f90942cdab33e58b24a23ad7efb7538\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 7b0b53b6429e14\nresult = acceptable\n\n# tcId = 85\n# wrapping small key\nct = 0ebaf23c858015d3bda5b8d908db6049\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 6b2393773e6d1378\nresult = acceptable\n\n# tcId = 86\n# wrapping small key\nct = d56f89977b8eff511158edad6b993007189e5a4b8c0e2faf\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 2c52d6639e769960e8\nresult = acceptable\n\n# tcId = 87\n# wrapping small key\nct = dd889475a76733849f59bed49a15d4315bdb5ba00dc63470\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 707c9356216d69c69048\nresult = acceptable\n\n# tcId = 88\n# wrapping small key\nct = 1a9b3369239b0f40a8dc5bd8d965caf7431445799337b99b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 615f6fa79e1847e7359a8a\nresult = acceptable\n\n# tcId = 89\n# wrapping small key\nct = 5232f8f6679a17d3303b0bd72b06b56b5089e80372dc295b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 7f5e999168ec60624426cbb1\nresult = acceptable\n\n# tcId = 90\n# wrapping small key\nct = e5544361c60980f3d38f2d8820a150f48f49ef3f9184b29f\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 3f93aaf4463775baf6c0c975ae\nresult = acceptable\n\n# tcId = 91\n# wrapping small key\nct = 55396065905915ec914b8d1efbf471e37d283fc2c1496b49\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = fefcf10c976309b2beb085771e50\nresult = acceptable\n\n# tcId = 92\n# wrapping small key\nct = d90376be302a24c541bd6d96094f0025e3d73888391b4306\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 6854354d0099f7eff740b0587140b3\nresult = acceptable\n\n# tcId = 93\n# Modified IV\nct = eee27510be39cc88379459420f3773642a423ac1ff0cfb84\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 94\n# Modified IV\nct = 765df3fa1aca6f13268ba79f8659807049a313a0308b643e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 95\n# Modified IV\nct = 71346c17a2718cb7c357e3af2b2d0c3e29b7e02317926746\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 96\n# Modified IV\nct = 55fd49ba081fdf72896068c5a968e2b3c4a473786a2e12c2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 97\n# Modified IV\nct = 133c66fcbf0e9d5139eff3fcb494b672d72bb622d7015c4b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 98\n# Modified IV\nct = 8439244f27470e5f1f294cfa22ef5412675d7fbbd92ff016\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 99\n# Modified IV\nct = 4265bdb7d8ea30d9a51e5f48b7ac5487e0c95f154ea8baeb\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 100\n# Modified IV\nct = 31afcca8ff2b8806408c3460181ee5a96bbaf51d133211be\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 101\n# Modified IV\nct = 196f2a6eccb5368fe6a3f2fa0874d8fc9b3b52484e2d6351\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 102\n# Modified IV\nct = 8dc73d363fdb32f6e0ff830c2a48db5815f66d0922694c74\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 103\n# Modified IV\nct = e90022b9da998b4a30c91c1bd1a1f8ca05a52432867e5e78\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 104\n# Modified IV\nct = c9898a1b70bd718df45f1f3eca82eab1eaddb8ed7f2380dc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 105\n# Modified IV\nct = cc3f2cd6476eddbbfdc801b61174301688554f3db54c2903\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 106\n# Modified IV\nct = 23e15705e7b00d82bd052f0e0135ab7ac0dcce471ff2f1a7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 107\n# Modified IV\nct = b8e2862c0f9eae4f44ad99496e3ed62b3b9c4ce7ab5afb74\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 108\n# Modified IV\nct = 66d8a7769d81421efda456992f6c26cb17665fe080b0160e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 109\n# Modified IV\nct = a6a28bceb91551a395369ff09370658cc92b092855f417aa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 110\n# Modified IV\nct = 03ff601cf12b432078a2185590fb5d01e3441cf084bcb04a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 111\n# Modified IV\nct = e250d358d16d9fd20ad80a99656509229dca391aad3798f0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 112\n# Modified IV\nct = 643a17860b116ec74089bc574685a6328a3d7a07cd18b520\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 113\n# Modified IV\nct = 3e86e8128904f753c0f3fe3401ba36672966567725c4726c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 114\n# Modified IV\nct = d4b8cc849176b8344b0849490143d3512915171bd7d5759e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 115\n# Modified IV\nct = f84e0e6ff64e0b27b8b59b5b77c223023f0fea95433864ec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 116\n# Modified IV\nct = 4030b4b0e9c1b1ce8e52f6bdb48088e65b05844307989c8b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 117\n# Modified IV\nct = ccb3b36c26b2d901b7f0765362d992b2d5089c2a7559b195becbe173780352fa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462b", - "e4f1\nresult = invalid\n\n# tcId = 118\n# Modified IV\nct = 4e5fc8dccaeec9b1c8a606a2bd7d7201eede62b9c2e939a5aba663a6a040e361\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 119\n# Modified IV\nct = af21f5e7f15a63c8ea6001cf024f281e7f44aedd68954564fc2bd146e96d793a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 120\n# Modified IV\nct = 3a4f571ffbf761d3f7d413172ee1e4ae2862baacfd5ab66dc685b9af8b70b538\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 121\n# Modified IV\nct = 273de386d5fef497f9487afd54c1c0fae8aacabf2af465caf352e2300d29266b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 122\n# Modified IV\nct = 16511743dc44199cee1dbf5045141b075f01ee13326c9faf2c74b7c99791830f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 123\n# Modified IV\nct = 370f92db00f7fc8a0e654318a5b3ff89a604034f421339201d79e0ec4d6088de\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 124\n# Modified IV\nct = e3edd0e84832f3615f6deefb444de3b9ec527741686029db91de0bb9b2a5c05d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 125\n# RFC 3349 padding\nct = 36ee480138edf11e144efcddd24d2c121749da6e4eab17fe\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 126\n# Invalid encryption\nct = 166beb49e97a4a9cc7b0ccf441ec15b5\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 127\n# padding too long\nct = 74ff3070a0a08471c001febb95a890f35159a9fe263719e40c2332ce5c58fada\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 128\n# padding too long\nct = 4f0b38eb328d1227b1e17c103a44a373ff67cee953c59eea26117947b5d3ef8932c8858b4f9fb47c\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 129\n# incorrectly encoded length\nct = 775dcabab9e4be8fd9963a4dc7a1447ef82888403882bdb6\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 130\n# length = 2**32-1\nct = 669803237fa10eabb4d2c6ad85bd9f7df5f4a33340eb0ce9\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 131\n# length = 2**32-1\nct = c788504d786f5c21b6671bf190657301\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 132\n# length = 2**31-1\nct = d079f60d3258f5e695d1a73db008ef38516b713eca2c0eaf\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 133\n# length = 2**31 + 16\nct = f1ae4b8865013b0fc63b463e664cec3c6031f61f2de82f43\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 134\n# data is incorrectly padded\nct = 8874e1b6e15e3ef6c461411a5f5ad0c8b05368cd5b3ee39b2b413d18a4eebfc9\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 135\n# data is incorrectly padded\nct = 890a3dab8439bb73b14c6e99c34f0b0e\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 136\n# length = 0\nct = d4f633aedeb89e349a98738b00ee42c90d583b16e986e49f\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 137\n# RFC 3349 padding with incorrect size\nct = b8b2a5b1d3280dcb4daeeed43f36509b\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 138\n# length = 9\nct = 4429cf64251d8a54a9d1389c01c30900\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 139\n# length = 16\nct = e5634eca10372c867c7f91ee813ec3f3\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 140\n# length = 2**31 + 8\nct = 9e517d4d0142e1544ba1e7419a696c21\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 141\n# RFC 3394\nct = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a\nkey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nmsg = c37b7e6492584340bed12207808941155068f738\nresult = valid\n\n# tcId = 142\n# RFC 3394\nct = afbeb0f07dfbf5419200f2ccb50bb24f\nkey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nmsg = 466f7250617369\nresult = valid\n\n[keySize = 256]\n\n# tcId = 143\nct = e3eab96d9a2fda12f9e252053aff15e753e5ea6f5172c92b\nkey = fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c\nmsg = 287326b5ed0078e7ca0164d748f667e7\nresult = valid\n\n# tcId = 144\nct = 9d2b42fb2fdb92c89fb0c3bcd9e1600d3334b4e35e791369\nkey = 0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22\nmsg = b40b6828729b456322a8d065abc0d081\nresult = valid\n\n# tcId = 145\nct = 5291e05abd55f5886850855e3f9f2f576b101acc222d6766\nkey = d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588\nmsg = 037b27b3dc95b19d15bd4091e320bfe1\nresult = valid\n\n# tcId = 146\nct = 4b1220525c537aec30ebcd562b694b4e9e2ccd819de22ef608b5d8090779d9de\nkey = 07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121\nmsg = faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071\nresult = valid\n\n# tcId = 147\nct = 67b2cbd68f6a208d647bdc5af7d0bccf6711a9e8fd0d9434363006addd4b9696\nkey = ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1\nmsg = dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825\nresult = valid\n\n# tcId = 148\nct = cfdbbd95f187508a488fe017c5e5d5a5975b68441d520e0e931922388e28784c\nkey = fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87\nmsg = 966b07047354966a703e79607b556032f4f596b7f9206f05\nresult = valid\n\n# tcId = 149\nct = b63b7e0fec7e315816233db6758fd3e744b9f6a40862bdf866487e53bcb950d8b2649269e51b4475\nkey = 38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd\nmsg = 80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a\nresult = valid\n\n# tcId = 150\nct = 837cfc316b49299edaf427e0988020ee876204b29d847669daab72c8660b0d860e9de3bd851198ff\nkey = c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7\nmsg = 3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270\nresult = valid\n\n# tcId = 151\nct = 0e9e2e9aa34bbf973d67bc534ac86fc5b5a5f9da5f026866177894ec6077a5c84501510e1bf4afb3\nkey = aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c\nmsg = 57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5\nresult = valid\n\n# tcId = 152\n# Round counter overflows 256\nct = 1c6b7e4003384f071bf29baea9098ad81da8e9862909329f52793b35d592c10dba15aa89400ea6403df8dcaffd0dbf5606303f109f79ad700ed5d5ad4e59950ce9ce5296c9d186a0df441973d1835f9ac000ad1a6797875c3a03161e9e3f5ea464032e407854eadca5a9e7a386bb0d29253e3804adefd8c0402cc8c40ac7f9041429cc0bb77a405b284baa2dae764ea09c654c0a82f2c5724221ba44e341503d3103dbc393c7702182f8cc2762ddbc873b7f84197709886a4b5df5b04ff9d21b79b50904af3c32128dfb9cde94fe1254d981e6ce3acfda82db1fa2badbccd2d29052a04a69ce1f5652f30496ea57edc7e3e885dd4a35ca15aba602bb4c888a8064da94c2ac5c12c11f608810af46fbb49c3e8f8771ff661f8d8dccd163d0c4a401b8b9aa74e68a56011cf78d21dc7541a974f9dad5ae27f8a26d1b0e76be2f86c6a21e9d1c2b5df3c8878a8bcae143b3af1f082afc52616eeadd2232926597b245d394931e02e493b0bc27a92d013e111694cac2c5a2a46e008a8498b5c31bb5ec35a4e9957e365d\nkey = b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1c02f9981ed49d16a\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 153\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = \nresult = acceptable\n\n# tcId = 154\n# wrapping small key\nct = 06c1e65ac0f385b4e8c400d229f39422\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = ae\nresult = acceptable\n\n# tcId = 155\n# wrapping small key\nct = c98da5936a1313eba1a6773b8060ea5e\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = c548\nresult = acceptable\n\n# tcId = 156\n# wrapping small key\nct = b2a77d9b837e87cdb7391e1df7cdaf14\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = f713b9\nresult = acceptable\n\n# tcId = 157\n# wrapping small key\nct = d8ecf20191f75aa36686298bfa5022ab\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = f375cbf7\nresult = acceptable\n\n# tcId = 158\n# wrapping small key\nct = 077362f50356fc7c54c70f9cb4306f7d\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = d9445094b1\nresult = acceptable\n\n# tcId = 159\n# wrapping small key\nct = a4bd6a116ad88a52aae3f0c0cb893f9b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = fab43e91ae15\nresult = acceptable\n\n# tcId = 160\n# wrapping small key\nct = 68a52de00ec0f1ebbedc38fee6be0c23\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 90735025797bd2\nresult = acceptable\n\n# tcId = 161\n# wrapping small key\nct = 3a6746052a1744cfe7e2f36dafc4042d\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = e43f5e4e123a03c4\nresult = acceptable\n\n# tcId = 162\n# wrapping small key\nct = db7e73da22219e1baac0f4e955c3db2b900b5d3078f94b59\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 1723eb9d000916996a\nresult = acceptable\n\n# tcId = 163\n# wrapping small key\nct = f77ec14a010777f1f1071808f285c1c00b4e9420f0e8bf48\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 8b18daecde14b8472ffd\nresult = acceptable\n\n# tcId = 164\n# wrapping small key\nct = 6b40d4f0863581a7d0365ad477568bfad94f8bf134984838\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = e5bd6fbacbf3ef0d40c884\nresult = acceptable\n\n# tcId = 165\n# wrapping small key\nct = 660f645b02405a18f7225b68c0a09a949b2b5ba784922cfe\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = b3be5e5397df5f46b099e821\nresult = acceptable\n\n# tcId = 166\n# wrapping small key\nct = 6bea6bf57601bf063873f47ec3572cfb9cfb595d8bdb5e97\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 4cdd960cabcf8aaf69c37da1d3\nresult = acceptable\n\n# tcId = 167\n# wrapping small key\nct = b631292536aaf02d829cc6d3c39e5a5cd76240889e9d51d0\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = da29e0889cf98742612e0326300b\nresult = acceptable\n\n# tcId = 168\n# wrapping small key\nct = de497acf18a177a3a9b3d8da46d74dfa58dcc537a3a95323\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 72aaee126a822184806c7d22eed66b\nresult = acceptable\n\n# tcId = 169\n# Modified IV\nct = aef4d2357a8fc5c3b4a80a15ed49781d3a82c98eb78c9180\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 170\n# Modified IV\nct = 6eaefd5193f0725fea545077a430860663901979f0b6f4a3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 171\n# Modified IV\nct = f9ded536c1ae9c680f7d9c4b91a566a07b1628e9b9f4fccd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 172\n# Modified IV\nct = 443526477c779a329ded0b230307afa64fdc10dfc86414dd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 173\n# Modified IV\nct = 21ba79f3b423a66e7baad86fe49786e07a33dfdf227687e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 174\n# Modified IV\nct = 3e65dbacaae556fa18bd192035cd55958adeac30e5ca7b3b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 175\n# Modified IV\nct = de2054883b00f81ff68e42b7ff1c05ef5faaf75b2bb14004\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 176\n# Modified IV\nct = 2aa3c6ba891d1211677d59f886cc6d05698243d10dc189f7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 177\n# Modified IV\nct = 9b1e7d6caf42bb3a15530f2387ed7329310ba76e1852566a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 178\n# Modified IV\nct = daf6a9f5e4b4985fcd4815bf6298a3039bcb32327b0876ff\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 179\n# Modified IV\nct = 14c4079399721142fd5fce26e9417064c7e0201fb7b5255c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 180\n# Modified IV\nct = f48a30b8691a2a80dd79c355c281addf779bfed8971e3ce4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 181\n# Modified IV\nct = 248f867430ffc954b494c936a3ef815b1754009928aaf0c4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 182\n# Modified IV\nct = dcaa88dad9b03e59a3ac8350239824368004e2ca616c15d7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 183\n# Modified IV\nct = a6cc8470192687ec9a31258ddb73084005784475f3442705\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 184\n# Modified IV\nct = 0527ab5408b4f1484b27f98641511143ab88783688256815\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 185\n# Modified IV\nct = 7fd3ad3aee0545da1ed3a54d5a198a2c76cf8290c011c042\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 186\n# Modified IV\nct = a24e94c12b2e6b776c8febe9179521beae0cfbd507d358b4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 187\n# Modified IV\nct = 9395b071fa3d9908b2e1b349bf7cd6a1cfc86b979c8c73cd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 188\n# Modified IV\nct = 1eb452770bc0f26a3576b604bf5ac72f714fc468c357eba7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 189\n# Modified IV\nct = b42bcb4161f40b30f3d2f740f43e441d3c9a39613914f1c6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 190\n# Modified IV\nct = f3d76dd320e5f1b3f85b8f73a9ebcfabfb8346daafaf36e6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 191\n# Modified ", - "IV\nct = b8e26164496942f44f16751096fb47952ec478bb288e72a1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 192\n# Modified IV\nct = fa783b3aca0ec1e677378f23ebe937776fa590ecc6b01392\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 193\n# Modified IV\nct = 8b011408049eab81cc185796b9636982c1ad28e940e5c35ab1219434c23e8c59\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 194\n# Modified IV\nct = 08db2f06aa2400d4cc1113b1c9e3ba1b39e3e26a84918f9266796c426c166428\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 195\n# Modified IV\nct = 3114404be000ee167b65dd3cfae3b10c50dffe1df864b5e52a2805f0c80021c0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 196\n# Modified IV\nct = 405ae5bdeff8b05d28ea55900b8e81dc789d532ec3fc457730819e762172f751\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 197\n# Modified IV\nct = 7c19e66d21c0f1409ee6f03a36ab6ba532349e2567200b95d7f5012b2b7e5d33\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 198\n# Modified IV\nct = 955ac67d6e496b9b93a4dda8f6e65e668f1326b256ee146a7647ba18deee7986\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 199\n# Modified IV\nct = c8600aa18be27279493fd68c84130c8bc328b0f6821e01e892b6c2dc1c005270\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 200\n# Modified IV\nct = 492566e0dc539e234b08b95fb23594a6d14f59fa4367799495c2e7f2993135ec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 201\n# Modified IV\nct = 8c5c2ea18125a03d15d2a624c9bfcccdf53709a89ae03d5728c98943b13df72c6f02fc8e1cfcdfa7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 202\n# Modified IV\nct = 8836c5cb2eec2ca2541b18c1259933ebd601bd6763d9f7cebf06ed6abbe37d455aca13a2db87d111\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 203\n# Modified IV\nct = 2554e0faf721d77f7dfadaaa90b70c2f242f93bdc4f876cd058a86ccfff33f8fd88736997f505d98\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 204\n# Modified IV\nct = 53ee4c8f03212b389f5bc2b26bc898deb91a457f258a22028a688919e12c4da23090c26b5c9ff692\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 205\n# Modified IV\nct = 3a63b0283ec071a4d4c32b0f30b384eccb3cd8d7fb12de6806e12fef5da82a7a39aad8128c3e5915\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 206\n# Modified IV\nct = d1cfaaa9adc25f948c0c4720967b01488e06d3dfc5622b5de38a722798d4a3a44fa6194a92c5ede7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 207\n# Modified IV\nct = 251a71511a4e73d1469a051fd88fa78cae96547fd8ca8e323b05d8717cdcd239292c7bbe0708fae5\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 208\n# Modified IV\nct = 14a62f7284124d795826cc89852e97dbe6b8a30ac56df07173878cf0136dbe386ec46327d6fc65f1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 209\n# RFC 3349 padding\nct = ac1a774a5de27e4f9c356e4f62deaf8b7eeee6bcafafd895\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 210\n# Invalid encryption\nct = b3941437f55e7cbc3f88050aff703967\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 211\n# padding too long\nct = 86175acf19ad0b7ac60d1fe4bb7850635e7ec6f8a314f85b6dd3d8f9349ea38d\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 212\n# padding too long\nct = 791f088847a76731e0d56b9b2dcb28bf9f091a9725790e0a64fc8e7cb3ad50f380297a98e3b1c33e\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 213\n# incorrectly encoded length\nct = 868c34495bd3d7b4e2c1861e7fcbbdb372099488dd96c9ea\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 214\n# length = 2**32-1\nct = 4a8b4aeaa713469bfd9bf88d4072379fc858e40b24b0bebe\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 215\n# length = 2**32-1\nct = c210aa3b5fbf5eac97e68d98d7727f38\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 216\n# length = 2**31-1\nct = e0ebd376e050cc9027b76dfc38ee2c6ae2808cecf480a560\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 217\n# length = 2**31 + 16\nct = 23a693e211c08ab9b222c2ede2db18f437e22917fdff8032\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 218\n# data is incorrectly padded\nct = 003f2916fea6827e01199028d3dc4e03889113f97b1860cc242e5a0f28a0f159\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 219\n# data is incorrectly padded\nct = 5c25a170d5225a6d66e117c691b37383\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 220\n# length = 0\nct = df9ef924eb59634be5b27cabd33d72bd6be6e01e4672ab05\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 221\n# RFC 3349 padding with incorrect size\nct = e6e66fad359a7b63a977788acd297121\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 222\n# length = 9\nct = 76b88ecda760b1af80703036185fc476\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 223\n# length = 16\nct = fd101943f4ab7c38ec68c75d4b3193dc\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 224\n# length = 2**31 + 8\nct = 1793a3a9bd146726edbcb9589f20e849\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n", +static const char *kData108[] = { + "# Imported from Wycheproof's hkdf_sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HKDF-SHA-1\n# Generator version: 0.8rc17\n\n[keySize = 88]\n\n# tcId = 1\n# RFC 5869\nikm = 0b0b0b0b0b0b0b0b0b0b0b\ninfo = f0f1f2f3f4f5f6f7f8f9\nokm = 085a01ea1b10f36933068b56efa5ad81a4f14b822f5b091568a9cdd4f155fda2c22e422478d305f3f896\nresult = valid\nsalt = 000102030405060708090a0b0c\nsize = 42\n\n[keySize = 640]\n\n# tcId = 2\n# RFC 5869\nikm = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f\ninfo = b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nokm = 0bd770a74d1160f7c9f12cd5912a06ebff6adcae899d92191fe4305673ba2ffe8fa3f1a4e5ad79f3f334b3b202b2173c486ea37ce3d397ed034c7f9dfeb15c5e927336d0441f4c4300e2cff0d0900b52d3b4\nresult = valid\nsalt = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf\nsize = 82\n\n[keySize = 176]\n\n# tcId = 3\n# RFC 5869\nikm = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b\ninfo = \nokm = 0ac1af7002b3d761d1e55298da9d0506b9ae52057220a306e07b6b87e8df21d0ea00033de03984d34918\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 4\n# RFC 5869\nikm = 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c\ninfo = \nokm = 2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n[keySize = 128]\n\n# tcId = 5\nikm = 60ab7f45b0ad534683b3a6c020d4f775\ninfo = \nokm = 73bf325f0fcc78f15b6cee7c9e7d927d4016eafd\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 6\nikm = e3db76e02278cbd2adbcb4555803da11\ninfo = \nokm = a9382b2bb04ceb4fe0543cee88753df8cb90c9dc440f7e476e95150c82e1376e123f058875c00cff6f29\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 7\nikm = d4dcb92a769f57c8bab8a420ee0aa351\ninfo = \nokm = d10d4bd0ed723533adfceaa903f1ee8836e61cd085fd951dfc6a291edded082e8478c9f8bd1f7a2611a6a049761dfc2888a9e32be9c326833c6559487c33f6e1\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 8\nikm = 2d43e54bf0c94c9cbff4300f4aa69ab8\ninfo = d674da3bb47d5c7e38b501e5251d9348af601c44\nokm = c1b8065a9ea8e79d404f882089cf423a99bde5ea\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 9\nikm = 4055536896c406d5fe14a6cd6b999bff\ninfo = 2094768a8816f7df070d6e08b7ad93755dc9024b\nokm = c7d3c9ab74081357d0f6ee3aef0442afee7325381090a2df642926a3e6e6a7e213f05ea5c39978d52165\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 10\nikm = 5b01b2da3166f217cdd68de8af60078f\ninfo = 6884cfa7ffe8f27bf4ebc6e46a7e01488c79243a\nokm = 1535a41d6e8a94c5bd51b7447bbd9c2b8fa00ba05b92e7ab0da7d1fec7d348ee7d50a4bdbbde173dd6eeff83aba9e8b822823b339a76811d62771336f4e08f3d\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 11\nikm = 467403c2ec02a235bf730ff37e8d8ff3\ninfo = \nokm = 4ab2bf78f2678effaced317249e116862d3d9b8a\nresult = valid\nsalt = 41f0f173d307d40436c25856cf559f96\nsize = 20\n\n# tcId = 12\nikm = 3352f942aa93071da6d39cc5ed8dc460\ninfo = \nokm = bbcf63065c761017f229183e767683b98633a85f4d8f32236cfa0fd3f6b182a5f41c33506636d18c5eba\nresult = valid\nsalt = 57a0db708b25a51afc4271803aa35204\nsize = 42\n\n# tcId = 13\nikm = 08867e76311126089356623ba5381e73\ninfo = \nokm = 3084fee371179b60a4fd27ea2637a9b89a3dcf6ab45d4805c99880b26e5d73efed4b421f1fea4cabb60893241765b19554aa51689bf00d7d94a053a94bfec55e\nresult = valid\nsalt = 0c164c443edcdfaedb1ab150f047951f\nsize = 64\n\n# tcId = 14\nikm = c55c41d69d2424a520414e3662aa7303\ninfo = 3fdf20538063b76901d61bbf9b72b0c18749e00e\nokm = 3917a782fed4d7f525ca16ca1dfde0faa7207262\nresult = valid\nsalt = fea9bfc92b74337e43a201a2dc199e27\nsize = 20\n\n# tcId = 15\nikm = 5d3db20e8238a90b62a600fa57fdb318\ninfo = 2bc5f39032b6fc87da69ba8711ce735b169646fd\nokm = ca0903f17759fc29df761469e3b98a5b1476977706f3c87e9d39050e5b36c7ae6bbafeb3814037b12ca0\nresult = valid\nsalt = 1d6f3b38a1e607b5e6bcd4af1800a9d3\nsize = 42\n\n# tcId = 16\nikm = 8677dc79233ef3480777c4c601ef4f0b\ninfo = a38f634d947819a9bfa792174b42baa20c9fce15\nokm = 1761915ac282909fbfd43ce31934e7a10951f901ad33f614a9394b6f5ca04e00906aa14b91132bf9e8ae0aa2102c3c7a67756e81b57d89192a62ca0cf907a3dc\nresult = valid\nsalt = ad88db718244e2cb60e35f874d7ad81f\nsize = 64\n\n# tcId = 17\nikm = 0f602703d37943e0253bed3da331aff4\ninfo = \nokm = 4a54220ecee20a84e1b7b6f5407af234b14938d1\nresult = valid\nsalt = ebdc8510499f69b2e188daab77cd819cccb95f276f46e6b2be11cbe72700\nsize = 20\n\n# tcId = 18\nikm = 9fe65737574c5c7aa67646adf8230ba8\ninfo = \nokm = 741662ad515bf9d2661aa0731eebd674f7390bd20fa3bb7cb2e9d6ca953c2bd839929c44a6f0ba5ae614\nresult = valid\nsalt = 73a34648c152443586236abcb46a090ce55ef6c7f282ffce6342d694650a\nsize = 42\n\n# tcId = 19\nikm = e8f2b1c3e6a6c3d5ee0a20dd47aafa78\ninfo = \nokm = 695807f517ba39e33eadeb6a7b71d2016163e9f5e6aaad5f493bcbe24ac06f8a6770097da76b50338a4dcbd9fac4d3a545c45eb1e733f70e9e82ca03830d0ee9\nresult = valid\nsalt = 3f5e162de91e0782cd189f3b7778cdc2ce6bfe9d3fe841cd3c70475d7b3c\nsize = 64\n\n# tcId = 20\nikm = a679521cdb56aafc5a4b76db0431a4dd\ninfo = 44ec41ab4f4e64f4a36e5e30c9f0dc1d77ae4974\nokm = e36789305dd2613dedd29e041afddf558d6fb8b6\nresult = valid\nsalt = 123033b1ddaead83a4b9cfef8a660bd8e00fde01e67c35656c6d7607d456\nsize = 20\n\n# tcId = 21\nikm = 49bf155ca102026f2a217ea1bc9843ac\ninfo = 851bda4faa8f7add2a3cbf0acf9c2786f8f955b2\nokm = 6016f537e75e1aaf2e6920827d18aa25e9fc8742c607b0cd97a38cad0bed0a6622981f97b63b08f31ed9\nresult = valid\nsalt = 76776e3b4d75f8f43dce4bded71f3b1ae6bcb012d9c0d59f78248b9427b8\nsize = 42\n\n# tcId = 22\nikm = 6cf725e939e8824d4392233eeac75d30\ninfo = 495425d9727fee2e2b7e78899868c1c3e7735e1d\nokm = b31f845aa6ad9b6803153872145a28617035e9b2d2a5c1ce8d0d2c6017f17403a67326cd06068af972eb8b734903d10b633d07de05f02fc70ed383a60bd82b48\nresult = valid\nsalt = 1e72f24b05a91a0093f34306ffced79e7003055b0833c6d0f27a4f33a1bd\nsize = 64\n\n# tcId = 23\nikm = a319ff7b5ba9b14ac72b681cecf0f742\ninfo = \nokm = d547c94891439eb7dc9e0c425adf20262d27fd9b55e7b0516e836db6b2f778c70296bc97c466e05ce2d5\nresult = valid\nsalt = d7e3bc6daed343ce77ef793e15a8246e4bfcbaf83d2ac956d0661d1df7262b2e7311623dfe4152caddbfda8fa8ed7a82656ec00b72c5adf7c9d388e5b3bc8d24\nsize = 42\n\n# tcId = 24\nikm = 34bae5a158c1678aa76a744417a70d7a\ninfo = 87ec30aa53acfc3d09ccc1d57d654fdbce403cd4\nokm = c508b4bc7503440f3ee04c5b8c5832bf70b54a6caea8d2a0ade43a0ea72c08e474904587334d699ba2ce\nresult = valid\nsalt = 1532075f363e061133780ac959bf653c7687d181b9431215d6f62dd2f1ec3019d61c50fa82c70ae25e624c849a276b0c57d7c02a4d753fe84a1a6621e9a5ef01\nsize = 42\n\n# tcId = 25\n# maximal output size\nikm = 9ab09999adde788dc2bf82c7ec8fab03\ninfo = 60999543d9cec9d3\nokm = 033293a76b1496c9619331f089d402d0deae28166bccf304bf25822f369479cf0aa1600b6ebcae43fd1f5d3389c55331b81cbe1e9f6ae29aa86d8a332d298d50516af4926f01691754981c9c92d743d0d26a94423120761a4d0d0e562368696ab78684e51a65b30cc4849a6a5a6c53a076c276db287b787dbb43d1e107f86bce19986cfcb86ec40fd74dfba08784219c2aea2152e21be5a87dacdd18b22ef23292623bcc64bd03a3a1b408a77fbbf4e18ae59a94cac72f43687190e358579d1b0a54d3f2df7f08b867af0b941deb9f7035a1a8f13c6d0da4f9e02f817ea0a92c02140ff5a7d7e398a7b410574d2e6ef7a710efbd1db628318650236ea02f1b617bc79087f5a6c3adeb7037176ef51fda844b2607a4960e3852107dd2703558a534a06ab5a1595d237fe3eb0c0ea3f14400332abb221784914e99fa5ca7a1f67338860283bf589a6b6ea0b32e2779e207fa8139dfeee954e762ebf6255250b1fc58c4c79b3d98fbbeaf786907b5fc7a8c34a25a642b7286a4b2ecdfd1dce041294322bc54b3c15ac44913dd1a3a4361e2d2a0e58c13f34ab2ead723fa01311a2659f74722a09f5b1837a7666da60728ae5cb4b837621961bf0278da749f79a47249ea0e361be3afd14ea9ead4e2f70d9941fa55862d86b53046de5dceec48a4b9f7b895693e328c59c0b2543ef2cd84b2c549a8e0013351703f7669b8346d2b32f7627b7df9ee746b1092f34033f69314a985ce2e948b9a98dabe9bf259f92b78b9a1de7285db617784001894af381618e9a2992c5738337930408b7e0fb57697bf4839e7e72ffa1010319a50aef208829950d60b6c4e57b76bc62d1923003c374710d5370249172064e4e5e0aacae369fecd4ac4bec3861fd24a6c633aca87f2d73c7accb43f9d83bce2d544563c9213e2eaf4a159520500d576bee5d3301613c31580cd6ca8c47039a4d4085dd8b959e5b8ca4835705bcba8982bcf9e8fef0a1602a76364cedb6daf92952ca58be7076ff5536403023", + "0daff9fee31152d64fa0d6541d862970c2c013efd711c4f96b532fe9f4a4a180ac4d3cd41e5d66d62371616e6ea88896320944a8f3df632ae0188bd93929ce6a6669803c04be549d80fba1815ec67a0269b74e0a1d33beabc1c94ef6636722a2b27bc0f249da083feeb39ef2fa5666ee38339791602afacc9829abf6541a5ede2cd45ece276ddaa9f49fc4d02b755eab466d5bb0ceb3b7b771ce6a9d85283d4a53f53c54b63b4011110b42e9c1fc8c8dca6e4b69e6c4b3b89c53f0f990e26b84ca5f0660e712c775c1824eab5055527bd92495cc59f8d4c04ae13b49c466e886d81639d00b7bc68875a8ab6cb87807d4b2257252561d69788cc136a5273e5f3e68b9ac4ba4f7547422544edd4ca658e1c13c756420e4a6290c7db03f5ff7f44ac78fe4d353847caacd1692c1521b12f1f55362ae755c9714712a6d80362080d865062905ed0e9601c5b12b1300dca219f7676d0080a33d1a6b08718c36f084211461c0f50f6911f17746752f3a6bda656e3a065aab0cf30ce2542eda35a42821c62c838ed18dcd4dcf5d51346804c034fb2c3a16b0c84a6aad62972c84b499a370965a959e17d537acc13d5d08000d732c11aaad9e0f192a9b74d94ef408040c8bc50e7b2ba9edbac047fd4b80c16dbd3962f7eb528e0d80cb5a439eb3d6cc62e41e2cc7f4e2d5141bd48b400ffd19da07d0694e983b91744e420541c01bbfba3f333c5e3e7946d2dd245b70304c3b1a35cd9485aa6908c7a7a846f23466265c1e55e6dfdf8d0cc320033a18feff132c0e3b1216d33b954679121ff2c8795e7c4f9a4a9725d31200bfc72444cb76f50f198b04afbd4821a31a183593210789f93ed612a2e1d70facfa0b23e5aa854059b83979b55ac382777e351589d266d3ceba76a5bc345c5514f4f07e79e54a8b70a024cb031808bc13524c04b4d1fe28781da04688bad13f379a0659915ce438985428473823a70687daa8b6afb659edf07e25518b00114e9847e3d6598f23f2eecf07e59cd2a801eea6e3891735e457b7fa03872358e682571fec629cf19f17fe167a6253dee7b6deb39773e0d3606e025df91f35fc27be8c046d67489e010f743d84599283fcc418b628dc244d2f859db667c376b2953991e0db773b3e068c1da262302c391681fb414c26c41ed85eb4212e982d0e15eab5a67257a3ff913ce68d6aed6e9a8ff385c7d878cd4789ec9adee99fe25438911252de7a7cf6ef5d6662cb424208003d0ddc04d38e04c32d9beb4f6e8cbb19a8dc0835515bb5ddbc600f148861d6dec69dc8cbd4aaa7fbbe49f782199d618cfcc9820e77f2a474a3fa219c384d66bc8abccecf9f82caed37f05f3f0e1d448af96a5a8287a8c877b25b842dd9e0f66ef810f1b0be4e76f8f4e6e15d7eeadd07633fa3763c493e12a84639f76f67cfc823ab945403ce84d50263edcc95223a22acebb79b85aecd82b3aee931c891ba61bd8ff94c625cfa4d55e1b2bd996b5d99e6cab245e243e6414005f1cc4f0dea54b35e1309cc2db46cd785b294aad50ebd634d363688e3206a57fe38d83cc068c4b8504c11bb4c1d256d496513667170163f7ec98b5b9c3e23777d6a3cf72598ed68fc51466ec4e3ebd0412e002af200f1bc8800400e816ab29293b1c7ef24e30415a8e513e4a9efc851fa549b3d1e0d881fda0a6c393d0ff0c57f44260b3f5d7dd60408ca687429c4cd4274c206f80833d605290e5c992f17e05dbc9552f8c40300bc1f3480c6bb404c75c4220d8888afeaa779eb0f625c5c044bb12349af62adf5b0a18e07b37c954146851dd628dc26e894ffea95c84e78a75c25cb751cc81dc93d3146b6beee9871ca3004af6e644b65e972df9934717e075b53eaa6c878cb94f5d1fea89c3e8c9da4d0bd7d8d8ffedda0b48eee4c9877748be05a06b3e69342d5366e9db9be38f36af0f759fb6904876f5ce327dfc777fad8732e4372ada25106477d8311095b8d9dc4c0100cffd70847305695be46b2b5ba8df8ab3de333d09a7f32736061eadf9182bc4c0ea5965ba7d91d655d6942f0796fb4a05c959b6afb52a8b943065de6e0eae3639006c5b130b0a8b00b617409c5c8d5cfcdd88b1e981930ec92f21ada92a8373fc7b49d3ccc5c63b776849d5efa51de531f9387a9d11ae9fba6987d6b680fe15fc19c88bf0b5e1764044bd689554a12c8013f1e7dd6d2214c74c3fa65b4a0a35bf479d2582e948ef91c464c4dbfbea80d42bc8b1ce1fa42ccc38f492e3acf93b2b64f5e956fb171eb2c0e4ff537c4ea2ca13978dbd280aaa1d5a798b423942b6897663aa75d4c153f76d653b4fbdda2d2e141e9731679d52225fbc6dd0e81e03095b37af927e0c2aaf7eea5bdcbf59749e54e391b2af88626ef8f86920c81043334b3a09acd8c0a20e9aa0849dd56a2643803d133fefa3ee0f6b52b6109170ec5d6a15d0d20f7fb546ed78930b4298f4b5623ed912d0a5d6688b05b1b5c892e6fe60b2f1c68623bcf9a0ed513ac75c17cde5e01c3be75b1ce441174d26244873a7946ec1953666512efae05547dc8cf58fc342b262c3ab072f29ee876327e1de6c67f5c480814ea26702e1c7672de4655a87350b38f7b290cb22a3a0725f8aa2d24a794fea6f70fac5a345fc426ea2931cc3890b8cae7e92cc171d86f5f1baddae8f4b1db7aab80e629022eccfad9276c578d2a6085a446ed4b017e6a0da40343be3761f190d801283c061865610c3173753384bf87ef3ec78e63aebb1b051236f9f4d6712b487f0c407a44c7241c96e2af404a2ca14b8b6a11564d0aa2b6efe18072d6d596e26d105783a57beb5954f6066f7d2f4eefc2b455171d56364b21c3d8747d5f407cff5bd8bd350d904c17a4b91f37b48ffca09e5334420bdcb6fc3797417cf99af8773a027d0dccf56087c7e751e519c365119dd9195ee2449de13aac6d538c31d58dfb3b4183be4e71f6b4893ca588876514b581b03ac897b5e9305234740858f2b2a368b26b4d560c54a3f1018df913344d66229c56b3995a9c67d5f6db145e495159501522472dfd3d38deebf4c8cdd698325914d7472d02c49af1a9c85d20c019b03259a849130a53909929695a2f911e11f04caec36280f9653218911f4fa62ff63d77ecbeab3f2eaa235598617c424eb6caceaf365fdb7659eb06569623d38e47306ca2dfa98398586c4d5aba8ee29b9046416b3d7c6660b03aa5f59ca921e9f25090769428587428c8715f053323dff1eecbc2bec9ce90bda4d890416fcb952018f50f9ac9119d45e7ed56af58a4d0d9ab8a2a301eb17325f89359575a6277d340c8fb40f3271387fcbe04f2d3c1d63b490d12b5d2e8e592529c62d07d5d9c315f54157d30cf5ffb870b6a466c6c1f19fd0aa4b8973f1c3492b77cd7aeea7bd85f21cec76b61c3183cccf83e754d8ecca2b2e39420fbd4724f03efd9b6f4d4d59f1e8cdc3746b1dfebcad85287127de3658c2aadaa514e35c84bc772839575622d872a0e8469b3eec05e143b2129c6a75d1d4f043b2785fd2818a3db7dcf2991ea95caf73db5b2340df001771a8548db332006378466ff16dd0c60fcf6fe0c185da8e501afebcc9f566e1ff34f69b5af7997e6413c9e17e34745e131edce9820540c07ada9f500368b0f3dda452b3d1f8312e2926e20ad55fd398d21fed2ae3440834c9779d747f4553cfa2d5edd8242f3e6b1b3694031fa2c7430e78f117e69487798f1f3ac539979e29cb69ec44d8dcf6d0220d956cb4e6a5c9b8ce5263a950362f88f3ba56ad7d2f38fcfb2195cfe79baf44845dc124aeb5283962691abc25a4e016bed2f127e4e6bb78b22437ebc87cc975fc898793dd20f94784cad271dafeda980b4c6a91de39ba71eed0529bf05907db0b1bb9ff09e2bbec611d8238eac1939c3a7fabe8ab631337300ed6c40dbd5299f934790137ea875e54af87a60a169eb920522af2a50b62856a6e471e6c52f285cca854d0bc98b69622aa2c4364843279ac21eb4002c9814fec8be3de5f1e587ea62b0b2f1b5313b69ea407f1f2b7bab8c13cd54ce2a7704ee97d01c1d40feca1aa698fd90b2003507b32644043254dc61ac50f92840a408c62d6754e80108ca656b0ac977e9d1da44f87f4e8be3f1b2258f092714b9c4027b1678388546031a1c7391d9a151a33c5d291d85a457fe46b12ba6faac046630ad646fd5705a67ae2b2f85e4a79f780bf506829fc9cdcf6b8c2cad831ef7b26b37d3db8d4cf63776eb60151f17b68d86002e878c6198c171c8db609f870ef0ce62bc27b0c97788c25262020c4b42036ac3ea666429f7a47248fc41126bfc5777ea036775437b9d14154aea29884aee95e46966699a6a5707726057de573d77f31d190624dc3833c939c318784fb1d80c448fca6f0af4cd18168cb40d3c19377852195ba42da113d5953c1a0fbe5d188d884f6162503d69442798c891d1fa0c706c80565b9e6300918e6f718770058f18e80ae393a96c83a987ab08b2065c42d02f03d88385f1b2041ed70b90b124b6973990d61cff38b493c778c3eb26c722408f4060da392632be571b7260051cf18dfaea3efbc3d37c67b0c182a0cfacc1d013c38ad0592bfd868797790bc8f5a5e2a95c33bf078bfcee82afa438cd4ce48eb8698906cee16e0eee03c551d8c0df8d3448924d3d1108a6dd89739ae1745d637035af515ef94ab3ef461eb479281e743b9d7ea10e7bc1a033da2eac28a97e1b81550c32033ad630efa2a6ec9f666c34adf8dab8367a40c21f1b70fb8254976eed50be0764be04e62cb0427cfa51a9b78d1f4ddfa09c995d20fa0cc3cda2978ccc762146ce9441394df789bfd8233950f84df64d20808758f19e00b5c6aabe64d3c23f709ce866fffa5d35590801459f076e6751827d131185e36e818c30bd5ade360e4f0818a03188a5266c44747ed5e7154c4c93a87f0ce05b745bc7ebd3fe011c5169f1ca118bab34337eeb61206f251d8a0307f6dcb33aea11b1ec7eb888667c7145b2fc601dac47787c842a45ee0f5af1811b7a57759c14f5da6f8b86f73a3bea7b3f1effd9366dc6658fb3b8510f54621d8d13f330163a6530da45f7263a8fda2c43123ef46580b3990d51def937db27f9e06e87fdfd186df2fd6a5dd6133a8f3ee06e0e14719861def6cccf68f085caa631db3e85b4bcdedf83923c2950665b0187e224522060d5d54a02d5501a0c0a384bd247164caedb02c9a69f9a3638d258b945aeba029250ab549478cb855cb27404fa5cdb15a46b9f1ff8dda401f2dd472a6d6c66dfe8f5f7449238eb959c091db1c26e5efb5e7efe096489c7a25515de6399d7399b793aea554bf9fa1f6083f3c955f144171e8584b133a2ea77f49c974c2e79846e83541f37e0671d65173b3327de75c5173644959ba119f49195ed3ca26b144ca3001aa5044d46781a1336967911496da309744bb6ad244d1a96d47c7089c539486a1977a63b6523782bc2701495d50ea208a7fa411c70953cb506befe8ef37cc41dded7edc0a91de2e952abe338141e020afcff657e3eae7d11b384b0a496dc105fcba6c9cb3404dc20c704f0d37c5a96cc37ee132c47ce1ad12791d48a96ea2dfd0881b1d1d777619405b9040fb52cb1a7ca1ca993f34eaa2a7e97edeec2382ff73bfcf3ed5b6fd911c8d610551aaf92c92111d95a3919e20974ac27f3ceabe6aa3be7b6bceab0080f7ad9ee3d48bdfa7e44f6c71845c4e744726f1069324c519188d7ea3607d466ffd25b2d65a4ae1023929087e959eb8277eb495fa4dbbd1fa2", + "29490db87ba6b3a46c55524e398000d7f3d50c11aad2b9e3d033e503fa279f77d2a2fca9c8bd026a006ecc4c913dd3fa519594784c9eb43a9e3f862c3014cc1f01284545004d3733e63b6832607685b329988f26dc394bf17d2d4355e5e4622f86a4a2179b48f6e3a2eb391c343364a6040a384e70babdfb557d23fbf08730f9e8894f28b6c43a8fee397bdb39555c9e1cb389388776f72ac3c88656e4f36ff032c6324d68949bd2608313651eb6662095d40ed72a89dc85b420168c1c299f78ef8601609c1a5a29625545794b89a01e13cbaa339c05f7504bd45b79239d8f0ed106450918fc0be03205e414a58c734cc9fa134e6d7af2e106f25861511c6bb1510f1a4a493bacbad33bea4f41c3d8d28488a87d8fc\nresult = valid\nsalt = 1aa93ccbc92e29d7016f71e7f806bae2027f62c4\nsize = 5100\n\n# tcId = 26\n# invalid output size\nikm = 7727bdfb91621dcd4ca5e8cea6b4e2eb\ninfo = f3fecf4736e28862\nokm = \nresult = invalid\nsalt = 96b2e11fe817e1e40fba8aa5083cd490482b2abe\nsize = 5101\nflags = SizeTooLarge\n\n# tcId = 27\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = bfe5a1669df67ed5638007f620875759af8c0242535a263cd4d17ee9bd9219d2\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 28\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = bfe5a1669df67ed5638007f620875759af8c0242535a263cd4d17ee9bd9219d2\nresult = valid\nsalt = 0000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 29\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef793d5a62169cc1911fe5dac7ddb3ce07404e8299296f7c139442b721a75ef4\nresult = valid\nsalt = 329f445e7de8a156cf26a0208dbb028d9de6ef76b8de67ca634f4a5a732138a1bd436a7b345d7a0314c7ed0a00b0d34ecad2cb8bd141e2ecc1c77e237094d55154\nsize = 32\n\n# tcId = 30\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef793d5a62169cc1911fe5dac7ddb3ce07404e8299296f7c139442b721a75ef4\nresult = valid\nsalt = ff881c9fd53adc0535d68f4690bbbd4f4990c7c1\nsize = 32\n\n# tcId = 31\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb0536\nsize = 32\n\n# tcId = 32\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb05360000000000000000\nsize = 32\n\n# tcId = 33\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000\nsize = 32\n\n# tcId = 34\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 35\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 36\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 37\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 160]\n\n# tcId = 38\nikm = e2865d6bbc1abf6a815067edc4ee7aa33c290d5a\ninfo = \nokm = 1c9f5d2c19e47feddf19af9bbf38ed6aab1f872b\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 39\nikm = 8c177ab5f40e9c57203883562f01f174070ccd97\ninfo = \nokm = 07d4aa3e002dad7940089482d10e80b349da499fe7d9530b27a8dc5c61940bb44aa703fba340d21c1fec\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 40\nikm = e842a4fc1a147cf2f87de9bd5a42fce6457496f7\ninfo = \nokm = 5f426da341127db39b959cd77c13cfa4a7a29259f105f2b181067492a54ba259020a5289b0fff0ffe0b9f72606bb980c929a1aa37255d3cec453bdfb26a3ffe0\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 41\nikm = 5b870ee1bb97ee83f67fa7335b4a0f9dadc80d12\ninfo = 0a0dfb2a6e051441678788bdec04cc1b63ebe1f4\nokm = 31aa4cff955a0bc5884e1653087f9d97e284775c\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 42\nikm = 58ea7ab33acff514ec08f41e59c17a3c66c1ceef\ninfo = 1cf9e25bd70c5546ea7a79eaf5d90cacf754c4f0\nokm = 16ec1734868565540efe2967cae02d8be26a86abe83edcb4b599f08e016b25b925660179b9dcbf0bf07b\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 43\nikm = e8d20934b9d320458f4854e2442e2f0fa092f461\ninfo = 4425999958aa3cc629300c25ab15be8cea7a4277\nokm = ad2bdb5383dc53258ca2051b26c53adc156b31acaf61ecef7d0ecfa14b81b0f53b1c98ce28ee804e964f8b106312f429670287ddcf5bbb67bcbf96ac66c242b5\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 44\nikm = dc9e488c684dbf0ac8ff1eefaa0666d413d258f0\ninfo = \nokm = 65580e5feab001f31405f812d87c7d8bcc187c78\nresult = valid\nsalt = 9afa7df500d7a17af1f44422d25a62bf\nsize = 20\n\n# tcId = 45\nikm = 34b85c341a04cbade472b3f7dee4de4d1954bf70\ninfo = \nokm = e02ff2640000391f1fcb3d0fcec40150b20c5af7c3a0c4965281e1761539d48555cddb2cc35efd27ff86\nresult = valid\nsalt = b066b42acea664350a8448f8e064225f\nsize = 42\n\n# tcId = 46\nikm = 44cc641e09f7d5642f7b6007ca5a1c0813319666\ninfo = \nokm = 81c3016fe63b57cfcb13ad04eea7e2f5ab1402dc489c20824271c5a95ac1cb9b0809d76d5d7437e4ac74a36c1693d964d37d10064649fe9003503197456dc4d2\nresult = valid\nsalt = 69c0dde6c8e5bd40553a5981fad6ad87\nsize = 64\n\n# tcId = 47\nikm = 88a8880cc2b73e73b3b6ca1d4902caf2128732c3\ninfo = 6dc723df3d26f704067afb2fb6d95a66516d089c\nokm = 69614a2ebf14d74188e830ee5623c0e0366ea994\nresult = valid\nsalt = 0579f690ed32e57a26701a9f6877f243\nsize = 20\n\n# tcId = 48\nikm = 8408668b9d671121b8c7d31113f045c0d7c020fe\ninfo = b4451b0f1a217db703582881e86d8044d5f2e092\nokm = 6a6ee276cb321c6cf237360a7b30faab9060653ecad213a3aee36735e29164c6fc929b7f206ea4fc2f1c\nresult = valid\nsalt = 679b30e6930a8ea3f076e317b9595d5e\nsize = 42\n\n# tcId = 49\nikm = e6715cc4ee13c4d999d8f8f500243c321f70b0be\ninfo = ef17c9227a5ca654fbdb35dd00dd6dc77b6321de\nokm = 1532fbae2e75d854c96a0b172cbe40b91d36143a93bd1b68d26be85f19de06f585d8670190380dd0690f5fd168cd0c64bcbd99b8dcb9fda9eb345af917f75739\nresult = valid\nsalt = ecfaca2ea3301a992b4de081d9d3a4cc\nsize = 64\n\n# tcId = 50\nikm = 9a6b88f3f68f5a8e79903b51dcd733abaece1a41\ninfo = \nokm = 0b45a0d3ee381c5c1a33556af0a050c81a336f9d\nresult = valid\nsalt = 0226df3d66ee3abb275eb39c8ec3d3e12e9b87b67f85c552accc4279ec17\nsize = 20\n\n# tcId = 51\nikm = 0b9eaec88b2940a4754e83272cbf47fb6f86aaa1\ninfo = \nokm = 844af69cb0e4dbd1a768f69c4a5d2b280b645e48f11cf9f9dfd5930dacae47f5a8a0a58cda227747638f\nresult = valid\nsalt = c1616497d49246400ba68242b635c67515d2528ee1c3b71b318b631f9bef\nsize = 42\n\n# tcId = 52\nikm = c4717276e7c7f794c4ee333b2f7a2ab244be9e8c\ninfo = \nokm = e1e9d8dabba5f8bf934c933170abf15edfa69a19e32666503b00694a1952c38c16703c79ee41d76cc6219533876d162727fa738b949b74b8d04a880d7e917dba\nresult = valid\nsalt = af4c63e5b554063e83e37bf730ffa401c696088ccc4f133a8695ffcbf2a9\nsize = 64\n\n# tcId = 53\nikm = 5e43a900ee0d432c5fe6fc81db8d5f81a54e39df\ninfo = 32460280e60910b10abee2e9f80a3dab48acbc59\nokm = 113ea70eb9eb87624ca2956afa5d5acdb4a5eabd", + "\nresult = valid\nsalt = 8cc815009350b0b6a924ed93e73c8f8c57a1105726663b72741b67209c1f\nsize = 20\n\n# tcId = 54\nikm = 070c170fca600aa2b23618150ab9044bff7d4dcf\ninfo = c1b0971fefa0a23cf4b7185879475ebd8d83b9bc\nokm = 3184be87cfb54d3cf95b2baf96a415c470be4aaf40c38ecddfdc2ea113c0996f1e2c42040d4508ae9fc8\nresult = valid\nsalt = f32a1cddb32693860eeb39a5d190f5667a303d5403712cdcebb575c6563b\nsize = 42\n\n# tcId = 55\nikm = 87a23208df5e66488d23f7aaa066e87bdced8e2b\ninfo = e4d66fa23a6020820013d94d1f8e84a58cba2a82\nokm = 26ed80390ef739f3497e5765f1253706e070a103201988099333c14a70c53762974117c2eeec6b90357e4f5d71f07151fa7d37af7084159653c745915aa23a2c\nresult = valid\nsalt = 0488ffa08062f1fe83e9c3934f5688a2e17827f898aa5daa2d595f09b245\nsize = 64\n\n# tcId = 56\nikm = 214746af12a669b726364027e9a1cfa40c18f8e0\ninfo = \nokm = b7fa371a39453ea956670a412fe6c76bfa4efc0199b20fefd7fdcbd5bb506c9369de90b5d2702ba6e1c7\nresult = valid\nsalt = f65ab21816c5eaa5c9ce77d58608ab67176d2255438096f4b45779d15c2afda12718ec557bfe161e7fab89ebad4fa634cf73f2d12c884c4583e64d2b59b9d8b9\nsize = 42\n\n# tcId = 57\nikm = d509c509f91d78c33b9d661e6df1992b2b6ae429\ninfo = bea4f60eff1a0c6ab664ff3db2f774347920a482\nokm = e3acc2fed4cbffa22a903ed7718017931584e6cbaf7c61234c27bc1a3fd383df74fdd354cb022fa7b6c6\nresult = valid\nsalt = 95ff4b20ade46bada320316dad7e2b4286e93dfa2a72c6366c5ddfe8ce2ff344729ea56416d5b53074c6d6c4eb4e4873980e5e4a4991d6b1497aef822e16e209\nsize = 42\n\n# tcId = 58\nikm = 71a4a7f2ccfdbfa5a907e43f46ab5ccd12abe98c\ninfo = 4f4a4b68bb234db3\nokm = cfb7a0e0dfca246a458c830c77eea7a98f8421a9\nresult = valid\nsalt = 4769ee2fdaa773b6f8293d45a1727adfcb1c8a95\nsize = 20\n\n# tcId = 59\nikm = b1818c1e56aca23595c583b89a2bf39bf90ce9ef\ninfo = 5dbc8584e5facee8\nokm = 63dbd61113df62afed82f2cfdf336f224a528dbe26deaf2446bae9becdd44bee\nresult = valid\nsalt = 70aa181d4b639d67e8ae33881869c8e7f0f1e75c\nsize = 32\n\n# tcId = 60\nikm = 2bf9f0f061cd37f97141853dd93fad6109bd9d1f\ninfo = d1f3077fbe2316e8\nokm = 93b206bd2e38cd81ebfea96fa3cc0573f0f52266ecc5a47fd001cb0b432ed0c2bcb32dbd8d13cd909ab43c905bbd78eba3a976ee16010fc7c77c23c515964a73c19224ae555b5bb207d86073c903718c\nresult = valid\nsalt = 51e306b1bcb7722ded9697541366d5c905ca9395\nsize = 80\n\n# tcId = 61\n# maximal output size\nikm = a974f779dfb38415d1cc69df4c2e7dac023e058a\ninfo = 7a036703c77d7bd4\nokm = 752d5f1fcdaba5f778ef92a8218c730e1d8e43845eb3e976fb05d51397a57f8b94e7cce3e20469283ec1b6b471bce8c1fbd280a3c49670634a47c877069a54f1e8b478bbd9b4662b314b326258334fa40c2d2b7ae953d71301aa309f14d7e54e658ddd259cc7bb05efa475c00630905396dd8aa5f8fe72d3af04f9fa844b1f0ea9975915073d544b3be33db8df48b9d328ef07a800eda472e38df3fb57de8564b2460d80cf0539d5b86501178314704d9f6af54dec9b06313f9cf85112b05f6351c86841214f5f4d7a7981bc3c8f8d68b9ccd8a81e44e3530739409b1a6fd8a6ea91a5f7bc5b91690e423cad62de26437c5c43c99ba84d84d34e83c34a0b2df6449113e5e3bc602e3f07c3ae2c08416d304308deffa44039212f1c8bac344ce1787232d6628b225f0d624574b977371a611c56515c449b324d2fe9d4d3215ffa95753a3aeb2608087240d32bc8eab576a21b37526d9e35917f512ac886da5a3302f4b76b4b6868e35795a44a0ecd4d23a4f252543ea3bad81d337ad13be1ab417a7967aacb48a564808c225919909ccc33c0f34e8911d59c017b3b279d0a176bdbb77c3c11b5a2c0a91a0e67a4c8a498fbd563ee49cdd3b9794c38efbfe1a45d110b3705070a2da15e010ac90b4b4e0a6863acf20c49c4be0d596104925432678dd39a2f9117fc6579e42c3b245174c2aefb5e63308ba372152596fd842304c335a0010e7c3965829b6bfe4352c41c40bdf1d55879e2c3d30c7e6ea892f5b0832f5fa504d20a202ef1a91baa70ecab57684168cf02224ff45af135da178fb4ca48c03865a9857f62d280272e182c82d53cd0b9ab11620e7edb1a3f9e9df3d59a3b01468208651ec3c53b9e4c49f66ec021b5cd4d47bc8db46132c2ad3e0aa9124b312c6b5366f2108c2a74a9876e556182dd96731179c5c6e6519d4dd83d64e7a49c6b70a96e89b7baab690e15e1263e93434b9b9f4f1ca2c53edee06066d69724506493d216fb44eb6096e35f205bbe0fdaae76fbcc2da07891933b864881d331b49bac09f6a98dfaa2d32fdaf36717017c61105bd1b0d238313b1916ff69a67c5c51da53108d46ecf651aff07a106a09c8fcfc3c6b9e22255f9a95b7e804c1b1678e11050fe6f50c7c53b339c89de46ffa605fb3174ab6cb92f9ab8daef7a5aca41497f489f573269b361efe1e0703a75b91516a88e123b2e82a989e0dbe4e69e37ddb9e20864014d9fb6c6040f2c5558cc22c84b1e8286e0d46400361820a39afca673f898ea57c1cbb9c2d0d643e32b1837a153f70aca708775b84605f60d8d2d0200f55a4a4eab235489c391da0fb885a6948965d5144a85d33fbb795caaf2995338ff206638be4a47faaaff20b79eed27096b3da2c9996a8cafb7b28fe7df4c0be6daf4f32992f2223fb90fd6cd4a15db37a29b10c017e8fef57609ce35239c8017428ce6a4f069b5feaec6f1ac46d54450ad066a6da304b65feb5e9b1c905eb35e051e2ea8d5b8c37c6a75a110e351c2a16f61e944ebe2513986df9917b796cd632b26b533d79b26970d71e741ddd4f899195d036cbf03fe8e3fc9596b0f684bf79babf83d232745bcaa58350a0fa50ba99f87382a5346481f1c91ca8367ab0b4b8386f5aef3ef02f90d19e21f3f89fab1b614fef03fe1da6309c2f0067ba5430d79884359b5387a920d913f48c2f71b0b71d1196a9755b1b7a574b84655da35afe333d6babd3ce46c51167fbd845a0a105121a356234cf2704d4a585b817899d230c0e9f03c96f0bbe0c313cf00b031e5b0e7f2e154a122bf625a5bbf406c2d0d7c404fa1a23e9533fc8632401f01088ce6a8e8bf45aef62b3ccad031fc92c262e3197b11c8e4f97122306eac0dd9a7d2060ed1469c67dda2e086d470c2635dbce357b3ff0a1d5fbb808f33869d0b7a37e97510148f1d41a4c53cf4f04069131ba4bcd48d5aff3f484d51431d7e717e8bfec270775a6336b39c4b314d0ce43f82136458c4344953a2ed9d42b8335ffd23b260b026b213156cc6d9aa512aaa90c6d59116aa78404469756740d0eb232b38fd5268b88c6dd04e25eb7c122c5470c65d48e90765012c3a29c3aa692eeb856d7e33a46661ccc2d9dc1d6fb99c8f19f7fe77a0d042a34124057ee4ff8982e45ea19c7c257547b8a4b46a1f042cf8b42bf045c23628b6998553be1d1fd64464c144251e809698b8b7d095a2a45df7db6b6382fb3818ec3e2bff53956279930c7a73dd4477b6bdc53e959dcf9875ceecac88aecb5dcaeedfdea18ae79b41c04f675a9ec0fdf0b8113741a91cf8f3627c83f78f6aae081d6d4b2ed6e08427528e0bbc8ea52dc8b8e6c5327d9c9fd3f09b772ead820b7b4e2b71b5ec579775ff16b978709a7e17d78ef50998b5858cd0cac664e4b341995535f11888b09d8b028ec66961aafb871c12dcf5c6a30514bcf677383f56ad36b8e1ca42f1c4dea49611f4fb4eb57e5724cbf6767c57213767ccda73a9215802801f4804e68d6f7cf35089092bb12da8b091ac90a242e5feeafb576d7392d829b702651d310544d9875edf4225449dad035fcb3473b704650f9ccf48ace3f076abad1797e5ece1ce0fc6181be66457d6c330be1bbba8547b547bb7512645f92403f39b66611bf8f8879cea8421dad5c076dfc5e68ed5c2e8a7e75e47867c6f30c7f44b178a4ca7c9036d0a8e907c9bc12b38ab2f25cdd320046b55e17a2b4f5218b8cf4228c7d4755acf1d188a3795998209a3b2fff15d6c0994da88cb42b9e06de60824f957b2a2299af5774856de93e7d9f88f4e2d833dffb431190cbecc47a7f3c172cd80ce2c496838b6558062c4f60dca3d0c3a754829007fbd462a1718b205214e797b03e834d36c4877fbc6f7bcf091cd905dd4797fc709967f0f0b612311ffc0126b07a09d54d3a87c19e5ff2ab1fa9a2c08c0931fe94be2f334d2a4ac02c3714ae8be23fc08de5d067871438d3cd9f794af08f81fe4921454410dff0ec370fee9af3f29d9f4bd4a6b3a71539ae87e94609b1decd20310f917ed2143c622e239ee3c9de096a79102b86abcbf25b689c2d9fcd9ef5f7d16e197fdd2d640dc9ddf6346d639725efcdf293dfd070ac0c1fb53bbe9e576509174d11bde19cb8c14ee9efbe297f4fabebdb600233abfbe39ee670ea687a9731b9677a59a50f1ee4d0828f1dbb33031df527c3064c6349c51589273218da3c67833a0e86cda700f2d57337ce71d2ab37919b9be78c2895f52b82c088f662c5e8e9d474aa0922f1ff99a106ec931f5e74cdd468a36c34ae0074fd9bcb315fa2ee0c3513dbe8a681fe1634331a885d86bf44972bc94e79a7eeb068bddd629684430e757781992c88549158345557d49039ce61c4f1cf76e6d0ba3279f99a8685d83421d85d50ef5ffe03b2bf414099c34854d39d6938630ca33f0024530ca85e1d590612a5d8b3c2efede0946621bdb2d51da9b8d3bea6d9b22f2f32f764e11db88b360c4ba4092ee7711ea895736f13a1e29ef7480dbfe8257150b80d6c2e3bc7595c3807e1d9b127f354951155da4cc89e13dd694196fcccc62bbc192a1296f2e44b367c88ec4eaf578bc6aa85d0e03c6b70a15344fd649567f6968a96b518e0eb3f981328b1dcbf2a89c8181395fc7ade3061e3106826c9f0bcdd163d9a5bc9979f9b671ad6a6b57ed5e930f763a593b01c10fcd7e27ee79a7b28d62d5f110ed3f96be8468b5922735d99893b63a395aa0b8e0c5ec8abdfe76e5ceef73a5b7326dace9fbc560fb0c50939f45e849c9519875febe765e6f08e5e65c9d551743e36ebbd34f83c22a2c3f89e7056380b2f5d2303a21fea83e445b07e25e45b11299893b73ad73bdfa574ec51641fd8c1bf1aa2051f179ce9448b6b6d32068684c59ae9afb9095ce0eb42ed78281e3fbbc51ca634676b56725b770f7f46c383154bc398f9cef9aae65a04d334700c2c479ab6170cdee3a75a72071087cb22911db25489e64db66707149202468c10b5b3ae7b26c26f487423e411f849965ad2fa8632993be938ffaefc120a1dade3296624d51a5ef1295f455792b89d223916a41b24a6bb3b8ef848d3e57dc4e0e7fc2c2bc5eb0c187578ebd6def2375d4f7b85b2cb10a9e043a7aad0cbae17609dbf43ad3759bf7f6e32fdea4ecd614a9d6dce4f5f204adf86f6a0b73607fe9efe", + "66b2335f9545a93d56ac15a7c763bf1c7246c8f3208f2a6d16bbbe93fb6f712c6dcdb98b25765eeb56c54871d4c2d7c387432153d848a72d592e61f4a1715a9282a8b97f9888fac216fbef2a784f148c9da8a3cd74ecea787fb4996a5fccf6a044ec138a2df359d23570d99b5b43802d0bb0f26f292f62629dcefd86b105e4f0b3258a446ddaeb5a5c52968d49f212b796ca0d2867c03e613558b5854884c96dbe26a1a8db0ff2af83057dcdcd651751d42ad08b366a8a8c8789754a747c7093bf84ca7c537abc024f55279a4a32a77287dd37703093871988f4e439a5aac058a1dc679904d11990c6319b163a41d91be270884b14c528a297556c78118842ff227e63f2d2411c26b5b5c08e1e21b2ae65b2d8fd8d6755b74f7bffe6a247861abb8e2f67802a32fc30543e3b09c01ecb628a8062a130c85a1f89c1b99ee4f87937c0fec871dc6cdb5faa0cde40f187161e2395207595a10863d9de3c77f67d330bc4eca8d296d459fc245b66ef95be412cc34ea63a4b6ef54667de97ab642f3e04ff1d52fd0c53d91aa4c2a099e95c674cb0062ca64a787271c6f3d1f7a151e49564e717093ccc316d201109655a951a2cbc1452d6c9ad6c8a85f0225f1864448e184f6f345f119ea794633fa4ed14f73cb4a93a565a32b23263ee98d6d7ae6d7e72747d0e701d275549cb0e8cc1836473bca962ed3f1634e12336d8e2031276953da8dbaadf43febb2bbc185deb4e4b6bd5b5ae36351f19b3d5fd4eb224185e06ddd7dd9002543d0d165884a48cf560e68decc251cd308eff3fa3d605e749163920c648311f0d458a6d2e162bb54c25eb4ae35c0388c917155eac3e39600a5f56221f8e2874f19dd3620d5148f40be1905a053c7da299dd665c2a2aed1e72c0b02278c6e67f6ec94b4eb9986169b15375ef2cdef3b8ded36ef3f70d2fedbc33ca04f0ecc8214bb754e30bc9596f1425e318d6ef012d8a5360e85bce81a10b4376f9f668382c5453338c0e4ef03a4787bcf971066e1827925ac3db01c8a26abe8270e727d5e946785503ce3e18a1e01c5caab42cde3770d3c133e4504fb040303ae41d707410bbfd76850e8a91fed41759fe84d12c16043a8cdd8d61b999b0f964fe3c3829e365463382ac4e88b50e0a0a25d42df3dd5c9216e117b45ac9168a5190fa7356a050970257871f1e90760b5156ee694372e2751a2c79e31a49a00f546a1e9c829df7066a0b015bde5caffc7f209f6fc888cb5801613b2b7bae1f4fa7266187e6295f3f7e780b86c401cdb965228fc1e343eb18c57ab92295e4fa9f9f6a1de3f4be78453ea916aba396ca6fc77c4694ade2216d7419ea6817ca28e103d36833dc6020a5131a9c7573d8b5fa7b145fad562a061bdd1fa713a3a2cd19bc5d0f58fdb3a10ab41b984ee7bdce5ec312f0986a30bf9eccf5366e90be9aee28f16bd8fe80d521b5050d352c79389eb3c20f83bc3b354633f0c74264761426f3ac09302cd64ecf2b8a28997b40cbcfdccba88c95c4fb38b15ba75295c3540c9d5c61f5f3b33b6183982d0683638109ac91cd77ac59fb9ec61de4e4e753b2731443556848b6c72ba29d436021e12bc33da2049d50cdc955dc13b03d7b7af5b6e646e2d3d1d66a95f19a107d827c1b6cb1a9df3ada381f18b2789eeacf7c48a181bbd29308527ac6c04002029583edc71b9c93d9ac1e22db647f41f8de22641526c5e9fe09b0dd5161445b7c8a574f60c59487a99dd020e01001d937fd6bef90977948bb99717ed59fdfc59ea2a75ebb3ec627470e6dece5a5a4f5b77d453099ec398397019bf38e70f8b43ad39524c55575778136f8715f61043fa7f26bd8deb04a667b4a524c956f625c1cc40b125a73a7fcb8293f7e85e0cb213d3a70eef24bb8ca8fc9c528ba3e99e6288168f494074f0c35ec8caa57932e626f227f571ba3e54cdeae80456b0aa084f91edd2227c4a2fc9a88b070aac07c1356d6add76b1df1cf8bf2220eded9bfda697867e2a8db619f535e3e71593b3a47ca8f7ab8c4343288700dd322317e28d016f777ebfef45915050315e9d7d43424e6326486f4595167ddb226134e72685723564ef8cd5cf3998ecf47fcea5c9e794366d036a263962d39a97aad98c2c183501d480a2b0492f31642ded1cac194e06ea4bf1ddb73d327d526d63bafda5061a6ed1f056959c260ae7371e70bba49e7e002f2f4a1107f5e3b3575e1b80254b637340a0e5ad28f04453a87450f9d8de3e461cf226627c78a3c0f9a022da96c77122b3d00f50a023148d0736dfd694329d5d47381f4f090f3822476d9644024f4ddb95efb0516d1d036a4224c6797468a3de72cad2a0a61dbff3cf8bd1bd77a5e000f96c2487ab180d6c14592bdba2d2ee7f0877ab62c9bbb59c2d420bab61b760f86f2486d4ebeca62b8143ccae97ce1aada007b24fb923c7213d4e824b328a044190c8b668d58208bdcdd14b040c19d58f11e6a773a6f5ab35e4f81d5558259d5717c81798d5edb538b1767e19881f1e3c4cd28a8b27087a78472f4b4d146216ae001b18d5d0d7eb5f4575b23334ea97e4aa99ee4315a34a52cec41856ee6b6c3f203f78172eb21d9af1e75b42b5fe3a5edb5c700a736fcd25fdfed833078f5d2d4f1e6a3e37036509db0e69ee7054fc9245a9d7ef08c2d54851b5be1ceabedac30b21c1c2540498e98080670e1fdd915430ecccfef3bb3c8bbf9e97e63a664841e8eacea6fb770a4ca66bc61cd317c18455857f561a3d4413f66dff4799dd1d0eebb380967e67b657661ca437da3be1838f2577ebcb0bf43977a6e4c570f0a6af142a9c385cb3371130ba19edb4f4b1e47d5ece1631b4685dd0961fe1ddad831f4d73df810ba636f2f6ba2ad86c5e333ecf2e67f6276252e301d648ea8cefb2c906b635e962aa8f237bd8f782a87a3b2e6434633f024f90b5c44b555831d659d5fc98c295d8abf3b6b5cc7da453bad40c0bb5258860f05ec8ef698848a2f9b7569f9b028278eee239968bf3be77ab9\nresult = valid\nsalt = c2a82e526587f4849d37bcab274aacb2bc01529c\nsize = 5100\n\n# tcId = 62\n# invalid output size\nikm = 7b5b2acc573537f4bbcca4bb02d06c902803ead7\ninfo = 26a8336ac6218c2b\nokm = \nresult = invalid\nsalt = cfe7614e2db108b12f077ff8e58e2b80718d981e\nsize = 5101\nflags = SizeTooLarge\n\n# tcId = 63\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = eb919ce9c8382ba88195f4fc48df903947f98705bbff58d576ac9bc129034a18\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 64\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = eb919ce9c8382ba88195f4fc48df903947f98705bbff58d576ac9bc129034a18\nresult = valid\nsalt = 0000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 65\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = bbb1f0bcef58029d47d31d32b5219f5c89e6a108402fbd7f35076455a7f6dc8a\nresult = valid\nsalt = 1a08959149f4b073bcd902c9bc4ed0324c21c95590773afc77037d610b9584806aeeeda8b5d588d0cd79e7c12211b8e394067516ce12946d61111a52042b539353\nsize = 32\n\n# tcId = 66\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = bbb1f0bcef58029d47d31d32b5219f5c89e6a108402fbd7f35076455a7f6dc8a\nresult = valid\nsalt = 36d0017c873ac651fefae61522d41d97ecc66dee\nsize = 32\n\n# tcId = 67\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f4\nsize = 32\n\n# tcId = 68\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f40000000000000000\nsize = 32\n\n# tcId = 69\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000\nsize = 32\n\n# tcId = 70\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 71\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f40000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 72\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 73\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000\nsize = 32\n\n[keySize = 256]\n\n# tcId = 74\nikm = b18e35e63cc4fe4117bf2754ec3f9ebb5346dbb0bf6d4e5f2422418771816fc4\ninfo = \nokm = 8842b25685d615b84d2aded432bc637a6291bf72\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 75\nikm = 236c2ba20c72242820f63d3e9c20633162c1cb048a45dea13861e8a138b9640d\ninfo = \nokm = 7963ec539686050e96da3e3da97ee1fb997209c0c2d73ae0750032cab8b6ea4d3682568753815b9da183\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 76\nikm = f2cba42dd82acb5d2d569406815a3769b7becb13fa48537fa7d7d5e121081d39\ninfo = \nokm = e8687a27812286db996d44fe0c21dbe772bf3589d40b36845cb8585f7d55b433d35dbf5bd566ce742eb3c3e9975821cfd67ca223a2f8a53b4575489dfb7ba116\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 77\nikm = 73d97f2ffde01b447a5b8573190a8eb4f87f7ac04482836143f780ad876bfffe\ninfo = 74d2301c5aca2441372cf6077bd8806dab3e8721\nokm = 0f0e082b4d3afbd94d5aaa583c0ad3d8b746b9b1\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 78\nikm = 6948521434707e96fa943e44988d1ad409ec57e6594867e8193e9d727238916d\ninfo = 9eaddd1e7edb6b84c96fb5ac7e0d673a8f5084f2\nokm = 623eb8c00bc85148d561833bc44a092b4e05e033640decbf36a70fdba26987cacaba3c19f71536986348\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 79\nikm = b72b3854923b8a0048497a86bddef962552c8f6b2c72b2b2006a1820fea5c6a9\ninfo = 113b708f7522ec3b362999db18699bf7871e3b8f\nokm = 0e9718ad1fa0c5501b42ef7a9b1bb1e4a985f834d44aa10cd77510c182dc2e948c801d5c6fffc92a8342c034b53c499d6af89f0e80ed1942ecee741195aec71c\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 80\nikm = 44d774def90685c0e9a685fa50fd434c807d1a57896fa42f91778821fe232057\ninfo = \nokm = 05a30d9926c5ae588f0694962837d40d412a0555\nresult = valid\nsalt = 0d7d3b47bf8484c8adab7f9c27c9584f\nsize = 20\n\n# tcId = 81\nikm = 098ecd86354496a701ffcac8d589a1217231da3b80ccce4ef85762d7f3a2c211\ninfo = \nokm = d8c830bdab6a974b492da563d100201b3361de746a77fc29cb9b886a84aebff5eae86d9cf2ed5fbbd8cd\nresult = valid\nsalt = 5232e5e4e2dd6133d46ebe5a8a51a0bc\nsize = 42\n\n# tcId = 82\nikm = 917ad396520e454a571ac39a9f6bc845a8920954fba1ac400cb2988cd8847ba0\ninfo = \nokm = c0d75cd597ac28549030c94a90a8935608ec1300577bc84fc09cb35a3cec2a60b98cfb5d6adab160a960c0032e470cf82a80b683c1580871334f248ed92beff6\nresult = valid\nsalt = 962d86949506450eaca929286ce5d9e7\nsize = 64\n\n# tcId = 83\nikm = 1cbff2202268edf1985bc91466b80133644988c5e81368cf0995274204fb0aa3\ninfo = 3e4f9c8d3d607c2ed43caa9e87e6ecbc307c6048\nokm = 6c8dd17408c8c2492537ea032874aba93e19386f\nresult = valid\nsalt = 2bde6e33534731f52d39add940ff46f6\nsize = 20\n\n# tcId = 84\nikm = d00d6b4fe088077ffbc64127d6bdb9707a0f9061c0b873c334c3be0adaa7c2bd\ninfo = 4266351bad419173279c901aea148e8b1d99e50f\nokm = e0d47f91e475fd3c8d53e9a5bb4230c0dbd7be0b96ba9ea66d9066291e0f397bf634d2699d935686d4c3\nresult = valid\nsalt = 1647a044472179d454b8d2108e4a2aa8\nsize = 42\n\n# tcId = 85\nikm = 9a27c19b607adc8f152faeaeb1282002d3a2166894b7fe5d65829ecdcfaf73b9\ninfo = 36356cdc28187c11cbb9046f9ce7502ab4d2ea46\nokm = 20e2676587655ee3c899bef116ad4515e947cb549c0fd5d0f3cc61335bbedc7518caafe1950000a067f67bc7bfe5ca81f021723013fd687a13b621613a0775b4\nresult = valid\nsalt = 70d83929a6376a6eab859f0d6225f131\nsize = 64\n\n# tcId = 86\nikm = f5d1c855d3448e212d76d3927ec797dc439cb182f427064288452988ab79c83f\ninfo = \nokm = a605589e0fe22ad6dee3e7910534a58f69d24e02\nresult = valid\nsalt = 87ef5da5400db731d658972ea82b76848004e70d3b22cec76c8be06283c4\nsize = 20\n\n# tcId = 87\nikm = 3f19b7095a6b3d313b59c3ba2c3a78d8b24f30c9ed4f8be9eb92f8eeaabd2c3c\ninfo = \nokm = f364e1b27fa697d6ebc5e2931ba9a4d81c42be447337a8ff519455fd5f89cd356bef5fc8b795334d6a8f\nresult = valid\nsalt = 8f1f6c8e4f68830319ae859b4b1fa71f1d69552b0c3e53cbbad26293651e\nsize = 42\n\n# tcId = 88\nikm = b1d396c69f14994dc8add0f6e0cde4455677ba9ee95ff84a142295f9177ee629\ninfo = \nokm = 66ee99f5b2ce636fad989225301ad571d2124cd9c758042eb005a9f3ef091694c036a5975b39396877aa84342e26f8020eda23f0097b89ed7f3252afc87b37f4\nresult = valid\nsalt = 7f693304bff77534b8246d832749387ecc0e8daeae11d77d022ca9e362d1\nsize = 64\n\n# tcId = 89\nikm = 003d1901a10c062ec44e0f2a94c544b7f53b33f1ea4679fa6e023c2d0a907fcd\ninfo = d5d3ef5beb9840d15efe9c778aefe38f1bf7bae3\nokm = 6924d12a17521e8a235a4b0df4eb8dbe3d5cf277\nresult = valid\nsalt = ed86cb8c8ba1c989f9a60a4a82c38be98c70e6218576b292c93fcc18192e\nsize = 20\n\n# tcId = 90\nikm = 02e0647a4b7ccfc0d3ee7ddfe24ce69c02f51cbaa836b96cbc5a9c2885c45599\ninfo = 4e9e27d971e76fda614fde15031f6664b97d4786\nokm = 3fae59261e358dfe04edd33c1b328ff656a3cb4fac2f1130c97d4e34f10777aa5fc3fd586c4aadc7dbff\nresult = valid\nsalt = f0862f61f2377ca34b76476ae21e331b114c7712aef501a1bf00f7e9cb79\nsize = 42\n\n# tcId = 91\nikm = 92bfb7e31e839f109e6622b2c2c4f41ce84c9907172681920e7d90e80e2339bf\ninfo = ff36776fc755722ff371f21cfb37a168a2731e99\nokm = 6ec989baee1db032c1867222e1f98104c546dc784329367a1e0ff4fe55435a88235a52786b6854f2fd809e1ec3d4fe836b9345474fafec29418da2e213a283f0\nresult = valid\nsalt = ce869619607f71fde53ef55e18d01d20002e3f91a8b7584190fc6667b8d2\nsize = 64\n\n# tcId = 92\nikm = 17632581c34ab743992cd99318889b32f92812bd37f41636b5fbbf2b12190c6f\ninfo = \nokm = 2486d2d795a6be77f2bca215de895ac1b011bf84b58b07020136cf87972402243ee2c210902c33116789\nresult = valid\nsalt = 55e39431c83648867ac98eb7ecbbc8b41c5a5e774646b926a9b49c511915b0de1241f8666da198f6ba4bf7e9025e434b6d7ef794e7a563309303055fe3bbe769\nsize = 42\n\n# tcId = 93\nikm = 045b4d451bc30c39afe0932f6cd62e65b4b2ae2cf1160f19e8ba1323f7ca146c\ninfo = 613e353162c6c1b12fb1477fbc54074ff7848a14\nokm = 7c9b85c582725a15a90570f03c8ba3be2c5ce553db3ff429fcf6eb58e3888c5dfdf29f003740301346c9\nresult = valid\nsalt = b73682dda0fad41095070b2b26f2d7d98ac62202d918258ca9aca0f794ef5e4d23b3fc43c8cabf9fcb37ad9a62337fbce967fe24054c3bf891195858e53997f4\nsize = 42\n\n# tcId = 94\n# maximal output size\nikm = a65a2526a0452a6bda7e16555658611216973b1e85412e0c6fc8f4e25168cc3a\ninfo = af7eddefd083edca\nokm = 70e1bf4b225a9a6828cd59bd32f1e83264b7eaa6123592002498497bde3f7386c1a42a1866a668c56916e3b3ab355b8807e21f79f0fca49d5ef88be9a6f157c1dc1f74a473212ce8f1ffd759fa6d301718578a7c2332c32d2d924d7ea767954a976fa40043e70c980626ecb4a3326e889a23d0c7267292161da339df633540ffee5a4ee5213e4b37ee302a611fc5130eeb5c0d8e18e7657081867deb121194b3e0c2186e61d4f58c89561de51791708091ae2b2aa2467d8969f67720ef1f6bcdf636cc015fb0b76d8085cf006f7eeaaad6a64301723aaf0a6279aaf1ee7819e882cd5a9ac33cf8b8f5e8b56642f6d540126010f7976b3a8a07152f17353919bbe7447126b004f6100d706627f00a7cd5660026064d50b11b7b487c1a2ac9ebcca2e4a590807293e8e46b6655d4f2aa170a4d42011f0cf406afc63c6685c2e6bb203fa1b80a90160fd4ea1ccc87402bf658cc776ce1133250a35a4c22a34450d180f4eabd9a63a4a38b67a91a4bf6f2c2ace2935e36b03d24566bac6446e0916af2a70675cca74828c5f70861c438d58dce384a3df4bff3c6f372996e2d104878d93b9dee0a7ee4c83d56c206b6d3dea1af2f9ba268303c6be86d99f0b576115f5523dc0918a54709189b3d1e458caa80ea376a3cf9ec421962b89e9ced740dc6ddf065af43afa9cd925ffa8c7d7a9a7643ca73890e490608ad77e0c9a9b98db65ddbda8ad76c8b2539a34370cc79433e0023ddf81bc8a83bea1ac4fbb181ee800bb5682d67fc9c607b178fb984ae9f55471bdceece6c3c5e6af9491fb7d3962bc8ab914f0ef65358a6cd63bee8290d581c1e0bf8b5c118642aa1bdbc02938773754cf6a5a3aa98b9012cebe9c87eed630496d27a28eea3835b7ff9cb51d779a5a60528d08b3ec23a31ec6b5603ddc85b18f0c6772e91019cb15159da61c5df0bc29c4bdeb2c68c66021196b8ccd12d6ca75180b1c129f9a75cd59fc8afc51574d2503ee76fffcf6ed6d46477b874665ef45e6ff04a916b67c89f9e57819c66baa782f12ebabd3a5468b5b729834b0ee0e782201235cc09ffa7f5293ca8d3ca347545e2f3f5806ff44bdc5c8d0ace63e947820b67281bfc1ecf36e637c430e1cf47e39b2ab5f47b4cdbaf60e6db884bf6c5200e0249f7c3e0ba814d6f0ccd914222beaa845884b00faf29b2e630c1a55e1fcbf5d5b3a6fa74dafac252647ff40a271a749fade39df7a1f86f046ca0fc618b649ce023b3a92b35e657deb8ce2d181f2ae6eca0989452853e4f2115567793748164c1cc0a114506cc3ba32bf682030003928fe9f9e00be2236c2b7173b33623452fbbf40c90e5085e90703dbcf1a7267422a68840c9010bbd49961ed0a935f5e6e8c1963ac04b851f0ef8716cbebc27db8868e78556aad4ed4b80e39443bc8ec25359bcc1737330be79227f136a0357475afc585c621a8520d0639fc750d1a44f243b553aab880025687a06947e45da0044a74ef4f352dfdeb629eb1bc1ea343192c68139e36c816f74cf3ae3e476a3652d1d6cfd02c0b84a99c728ec1a3b97f28fb5a3ce2b03c2eb8c0f42aed83e4f5891911fbf189dda44f302def860b308a9022b1c46800616ddd799ee19f7394e3ac10a305537d9f0659bc48fcc9d01996a1fda0df5597c606", + "00cdd0299971ac4f1cdfc6af7de2a3f131c868714a24b3c0aff8162951852aa97a29cee9eb7558bd2f384065130abc4de58ee5b268aab6b2380d885e5c98d22138fdf77bff9fe2370eff28f22a4515341d9c226a6dded964086f3bcb5342acee09451c6257eeb434b61b8d93b0850d49e2d229fbd0bb84ba4efa3fc1c2d59a2e725a528fcdb44d43a0e1f5572d52b3f526581af49043d939e9857713d04ba2a96139e007b974b2971f71a0bbdfa76998f250802eecce869bee6e4bd3e4523c3b5d32a61c9f9aa1e0bc215484a4b11bc81ba3b2562ea49d08f63b46edfdcdcb7a496f414d80f853547ae94d8654de4729774b08dfe3acb94ec5ee2a940efef53bb76d2517ffe1acc915ea5c17652ec6651d3f7734cb8b7aa176c5f2e601dc42f0700357b592d4bc72c25e42ad9897ef1fb43bec5be51b7225e57b87732383d0274e1a9594d4cc22451611ec5de786e31a69fdb3c5aa4a857e02539f1655c542c84a32f40dffc4ae8d83ae8c8f7e54dfcc4362fb4c8134a9137836f0ea40b329bb7040eacb31e7b362010fda9fabfa96622db22316c3b297e26d2b867bdee55f600e97d338cd5a2969f38a76f968d9b76aabc392bf1089c0f99dad174b6f8b8e9897bbb0680e9fb08b39f1b9d618b81e1295b546c3ddf7b8b807950199d9fb48a3c1754d97344908e8a4831477132cc7e8525a5fbbe15608619dd369ace1f9c73c67224358f4ce07dbb3cde19df4bac7bc706f18df54c17c3a8284610ae25c00913edbaf2c9fc8ef582ea3ba5c50b7d15a93acc50f632ce4473009da29a6e1852e752a15e6b7c56f5a0dfe65e5cdd00edd363469dcb9866397646722c6ae0f48502dc75bf8381225a17f3533be924a0864f60ba58341a75b1a83404d1d4380f0565c3d55533e858d4c9f427c712965c015fe91589d43a4ef4e95f4bcff164ba8752ed83cb57a7b460d2c9796177433588f800fcd518c5e99baf8ed652e61c1fb4d47a882174e4a0d2d03078b2316327799adb88d07270fc7c9d7919b6be24bbbe2ee7999ca00eae4c64c19e217196c8df9a45d7a9009f11444340eac6454db20263873c86d884d466dd75ffa5315a693fca6ed2af24452a48c9a5e36c1cd7408f5e6a8fbc41e3653986e0f355a05288c51d1f911c494540e9eb164e2cf270d4d07c334a47fdd3d870a2fe69516f8b4ddbc3c0f21179c3ba3863d2851ee1ff0f336a23add665ddbbf7a8168c6e04119eaf4944b132df977cfc826cb53768c275848a498fb3c68a352c1d0a51701bdbe7194beb546c6f9cca343a7e3d86aa74cae125b926dcb5037bf7b3ac08e15c024b1997c4d01f95fc1a941027f8efc6b8abf34c6b25aed0b4052c0bf15aa56812d90c7a43856d9134dc1140788dd2300c555a0ede7be750bea34dd3f8ccbdba143abf975879f9e374b6d417fba64e22b5c848189173a9f972176ca68e2591e4be093e51ba3775443101767db9be8dd92953ce03d91a9f1bb3ebf0a3bdc434be0197f527da23927d8ab4ce0613e363fb7acafa3f2b11ad4c1f12a1990c431bf2553d936d98822a1c893a41663b0ccae8541da379d14895584151c57605c76390b1c91dbc752acae6ad571ab4d0a47e2a4db7b88fedf2081e1c0bb0cf5f60230129711586fa5c99fd34cc3816fcc30644195c4bb72fe8578d4007f7cc16ede32eaf34ce19084782080e2815f25d117dd1d911601fb77bc0e471189fd0a4bbe01b1aa979f052e0431dae1abd9dc8e2cb7d575c5749fdd82f247f1686c24677f8d3a358b6860632d26af38f2d4c91457372c11acde9b447fa1a598b5ec1a3ac0babdbd4eb737f3c4c2f2e15b5d8df3b8d6e6b70a3cd365b57349e6ac60b8759bb09bbef1855c1468d10a777a2babb7e77313a321f2169761108d5e8f11c51c1314fe8fd59aea60551c402c4102d08f4d0c54e4a8ad7303905e42bae5b1ceb09119324e274b63c32215eedf7dc51e4f1ed19f013c5a23c8a2f0841eafbe1ae2ea5f4cf20719010a448f154397b6c65be5867508cf112f9f2ff236024c8254d921c8de4e4c39d91e847e7aef69a2747f75edde39e3adc4c653f20d5742606baaf985260b955c2b6e1947b469927a61d866f797e73fadb2821ffe03c109219078d8c24c852188e3352fe257ca3e371043470575f1b180d0747550d9ae8b55b29b06be0cdfe6955a1acba316f2e0d9fc4a99d7725d022fc240e3956bd66425dd2c844b4824cb5307af5d6d77ee97590ecd849650cab25567bdfef5661d35966a16ad5fea8ca1dad42e19bb6b2b28b06e24dcd8bb240e065ea027ca71ee286e9b8c7a4100f1f08391dfdc0ea125e35c2867aa55f21af22a5ff685ef1bc3a023453bdd381b3cc0a1f0470f0e198c8e9ece8d469479b73f3eced657dabb588b95f82de80b58a924e41146274cdd7b32aaf7c2c1f600f30353cbd88bd236c37619ec4c54f44dad9eb79b5e0f5900dedf93b43e33b94a0bbd24bcf17aa7986287232717a8ccf085ba6826f7224d4a35fbee2592b32ad48cbb30961d2412c65f6d6385107267b7595568d7d76fc8cf4ec6fb06f1c38d29357511454a28ef029da6b9007f3d6a400c381f4b0bd99c5f8371d97a7adcf122bc8d1b51f914016fc96f1ebf1628d62d0c1ff93bc16b960f93d782c66d73023685a881acef65f40e5891132e723697082b8a9bc48eaa170e5935a801914c175906b0e7a54f199907562bc2a3d919bc41b4b4fc43872aceceb494f186fd2510925d082c623a3f17f80d1d421710b91035dcfdfdb912b84270e07c9be495e8713ff51df5eda5a030e51516917605e24d29f2238d27b2a823443e8c7659c62ee4d69d3094e95e630e27e2c0c913d200e23fdfb947f7d2d2037284680aac2d002adb79848e99ca1ee7d5c40e190a3ef5f05c59eeadc97449300b0f41943dd70f3ca2f59a218a093cc036cad4f8f3bf1d488f402d5c5abf5ac9fee0263f6d44fae0d5c157ac12b78032604b618bd66a2dbec688b28a0c301ae294b1e2fffaf0f4f92030aaf4154f91baa6d1167ace84be70da0cb2c38c1f1e8a0e8a7474f3f3e508c1fc9d4a431e2f1f45d142f8cc22af65ac656b94109905ca95d33e809586d3b409ca68269bda1368ecd8e9b6e2d95327aa491b6bc162a9f6c4e8162809b0efd7bee9e4c915534083d5cb9ff27bfaa40f7cfacd1c301c740254ab4421aaeb4fdf8d6f46014a3c3ea23256ac64fb2fc95cfb99688a8788759d1dc35992d455b3ecc4a4c99ebab223d774270d7ebefa8545203cefd49bb21397b6d68664dad1b3461a5162fced871d8fc2160d57834356ec88841f89da475fa7acebcc2321f04c6cb56268b42087b52191d43bc82c29c44d451d6798758b43040617a6024b5750577ee3679f43e08a893da6c330b54cbcb6a3c6eee525d4740ad5cca9c7dd75c3d1b24801961f7a517386fb0ed2b181521ab207574fd4edfa09597afd0fe976d2edc428ea28ba9a5c96162bf891e6b50e345855bd6852252959586aaeb63c1aa0c07c422d70e5655507c090ee47e98c2b7cecfa6a4d11210ee8f22a28806b5f5dce15f139385dcccd2838a7c6c71740b80a7f0239706fde8be06cb1e8e352c176b8bb564b5cc98eec6d4a554a4d7bca07b5f72ca8131fa8479d706d367d32d1652c6f8ec4b9cd374153acdf29bdedd5d385e3b581a3142092b28cc3c8d89c3470cf56ceb9109d70d5a0d98ebe4e9432143d6ccd58fcde6a1f0eaa845175dca5ff85dcfa5448bae273be2dd5354654763de0f2fb0974164f001b42d1156ede02fce2ca912355d59e510ddef52589210506439138c230298e2c7f1b76a4ca7dbcffda66fa2a52e146dcca8ecc0cfae3340fccd033e83fb85cd3ceb30ff33a8bfaac4e9d3c28bd0a1ab89d6582c3c9cc6894e299e71551e4f394ffd81b0a67985a65c9c9850ce869635da0c769bb283bf27c1c2b70fac3b7f0ec6773351753c7527cab97a982722b422eb950b41b9e03e025c17c8dc73852490bc83e82ae956b2c546aa0b1c9a06dd9d4c60c3702753385f67df61422906f5a63cc5ff225efdfd57d9e33acc917b68661c8145e2db301777659692925511534e701ad80c46479e5808aeb1f90ed45526ccf995255555d57f987e2e56bfb04233aad88790207b67b7675db58cc00f7594bfe5089671617991124b72ad32d46b304a87c2a5074c581421652bd730808ebb039e74cdd6dfd1f8dcbb55f978458d1b161780fbbbfa52e3a2288653210c0ba901b385dd7d886cb2db18407b37e3c455b2773bc670436ff702af2bd9d87dce441ed7083231763ca76fb07389de0be1029f29c0fc873fc2c986ffb21724c6c1a746ec03729a0d9cdcf123129c550b8e1500968110c363bdf0fd68df0e3a60146790b216447f82b17718c3ceff4df0ee840f42712f9bf4b898ac9e703afd5869309d89604f2c6fdae0c8ca348e1a980303c522d89949dda61e02982814708630324e6362839f3d28b80adf42a0772c52b532ebb2636c8a006a39b0d384cdabcfab075e66116fdd9ad6c6af17cc812d4b691708f671d9a63244dd833e2c3a90aadfd68ddc03fa290663f0fc7445aee617dca94941f94ca0c6638d99b92f0ed7ebbe5fb6f1c02273751094d8aaee32772365cd8efdb5a85290bb356c4c787dd8bbb9a97ae562c27941bc68cd38f314080c89e27fc1bd7f45bca8412149be8260eec24928f77fc7a722a42e5050ab5d135985c56cb68abd5b7ec49c56ec519c63373a1c8d6dee785671e3c104ca6f5c740c7ca3bb1fd8cce68a097c540fa40f9a4f2b21a7853554556596665881038d4d4530862931aca8cd76e412bf5d2ef66b0d67ba991c4c676d95e2a8d6a4ba8b9dc70e165c697227e59323c96f28f81d79db8ac1fb80de77f13358a2255b9a8c56eeb7a4e504de72e71d31cc6e4b4166313035bb6a44dd80a369c9106e9baf69f5963f92b2bc7c16d39e0e8b88611c36523a7635bf8172b995892bf67bf2f5b4d971508f1a1a8d8d1bbfc46f87f2bc50ef30a8922a354764c66e9daa50194e3ee90ad0b59072fa84b1c2e36f93446c9b920f543ddbb0485f18191cd1aba0387d7793aa3b6e62dc49e3bb5b7ec1cc06840fb671dfb8e6c185ae1e0c62a142d244863689a5772eb78c6356122498bc088e53f0c6895cdb1cf0f646ac6db2d8efdeea5f7ff23c91901c4d496e34550695667a7db538e2a4982d34e8256f18be3d493fa2cbe46c1f04b0474328f4eb417ba155cf3d926107845f0a734488bfc5c9c3b0b236750bcbe0bed15b7a5d219a7c2df95d3505a4f116fa6dafa8b746f4d1fdb1a502d9a45849cf2cad4dbe24eae0b65cf4f38ee38078997a5ade9ccf13fe11206362300fff7628603a4707c1c2fd5eb883f5321e8882c1dcfa1867877447ed9b6813031b95ab9603ced93317b265f70229bfd702da85e3ec5df6d2b9dc2958fb9a0f99e501efd391e22c0e198eec87bd2db850058e6f42b53d888cf8c5fb400ecf6e804554fe2b8e7a3a9d9db7a7704c3a2c82643816d8362c909720a693b665d3eb\nresult = valid\nsalt = bd5cafafd71f517269ce6300208db7593c558639\nsize = 5100\n\n# tcId = 95\n# invalid output size\nikm = ac106eababe3b8fcdfe44ed3f332695aa50833d5d110632b4215a86f9f4ceebb\ninfo = 9824a5f84186c0ea\nokm = \nresult = invalid\nsalt = aac161c03b3d3cf4d94072a48fd6ca3619510888\nsize = 5101\nflags = SizeTooLarge\n\n# tcId = 96\n# output collision for ", + "different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 06e27d970948bb30a9d453d843ab332ae2231dfdffbc4815788695c38368fb03\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 97\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 06e27d970948bb30a9d453d843ab332ae2231dfdffbc4815788695c38368fb03\nresult = valid\nsalt = 0000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 98\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = e86ef68c222337607de55e6bef35d9df3563cfd8754a5a231a5fb110f1ed1b40\nresult = valid\nsalt = 0102c651e047fed9c217bcf915520532d44999534c1e7e7c87311093d7a3681aff3e2d335b3c6139b9fc66dcfe35573b36a329a550c4cd20bfe2a90dfea50167ff\nsize = 32\n\n# tcId = 99\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = e86ef68c222337607de55e6bef35d9df3563cfd8754a5a231a5fb110f1ed1b40\nresult = valid\nsalt = ce4fbf306d1eecef0d60543d9726b5b3d3d5d8d2\nsize = 32\n\n# tcId = 100\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed66\nsize = 32\n\n# tcId = 101\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000\nsize = 32\n\n# tcId = 102\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000\nsize = 32\n\n# tcId = 103\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 104\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 105\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 106\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n", }; -static const size_t kLen76 = 36808; +static const size_t kLen109 = 80000; -static const char *kData76[] = { - "# Imported from Wycheproof's kw_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: KW\n# Generator version: 0.4.12\n\n[keySize = 128]\n\n# tcId = 1\nct = 9de453ced5d4ab46a5601708eeefefb5e593e6ae8e86b26b\nkey = 6f67486d1e914419cb43c28509c7c1ea\nmsg = 8dc0632d92ee0be4f740028410b08270\nresult = valid\n\n# tcId = 2\nct = 8c3aba85cc0ae1ae10b36658b068f595baf8caafb745ef3c\nkey = a0b17172bb296db7f5c869e9a36b5ce3\nmsg = 615dd022d607c910f20178cbdf42060f\nresult = valid\n\n# tcId = 3\nct = 1de093654826f18fcd0f3fd499416ff22ed75ee12fe0b624\nkey = 0e49d571c19b5250effd41d94bde39d6\nmsg = f25e4de8caca363fd5f29442eb147b55\nresult = valid\n\n# tcId = 4\n# wrapped key is longer than wrapping key\nct = 9c3ddc23827b7b3c13105f9e8b11523baccdfb6c8b7e7825496e7a840bd32aec\nkey = e0e12959109103e30ae8b5684a22e662\nmsg = dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e\nresult = acceptable\n\n# tcId = 5\n# wrapped key is longer than wrapping key\nct = afb744aaf746dcc0b57f8b378c404cbe877f44cf3d45140d60814eda3f541f01\nkey = dd583d9f1059861430ec8b5d8a180e9b\nmsg = f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487\nresult = acceptable\n\n# tcId = 6\n# wrapped key is longer than wrapping key\nct = cff98cd64cb51ab99b81aee82cee4274d0df3e1b6a4943d39236ea989846d0cc\nkey = faf5ccfae42b43cee2c5f0f3177a7c5d\nmsg = 4e02084833660c463830483b36dab866c64c8cf7429cac3d\nresult = acceptable\n\n# tcId = 7\n# wrapped key is longer than wrapping key\nct = 58dcfb0e7ec4d3bc8003418d865fbd520c6b24b2bde35b1be5b1c5ff32a130f33d035e5932616083\nkey = c2b9d23f2831ddcdeb456853d4014db9\nmsg = f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907\nresult = acceptable\n\n# tcId = 8\n# wrapped key is longer than wrapping key\nct = 4ee47bd68d418586c447a39111e2ec1502ff0f1726ea91c5d97370409d89b8e66e889b638ac40ced\nkey = 620a08f320cdedbf7ae551add348d95e\nmsg = cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291\nresult = acceptable\n\n# tcId = 9\n# wrapped key is longer than wrapping key\nct = d3b093fd822ce454ebc251c6f21fa71c3858ee7e623ecbfbbf887398a30b40c55d0565c7a15e4015\nkey = ed089ac274f8c7cea2415671a94b5e53\nmsg = 6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299\nresult = acceptable\n\n# tcId = 10\n# Round counter overflows 256\nct = 222deadde6efb760cae42fa188310e0c07e7d557529766444a9efb330907d42f0dd8f3d17b3a38bf40d68c095a9cce19daf907bf2c92f1e59b18b277ff0397fc50f45f582db936aa8afb943de01b58abfdc81daef4e038c99e4c1eb3ee447464bb8f89a4ea81e56556cc26c72883c06a7fe850d04347d68bbadc4a06775030676db8cc34aeb07e39c7f059c2bff76a7f2baf076749004ef7189f887f89029f88c5c1d0f5ee62320b423048e2ad8186e63be23c553f5576a40d967e8b527ccd783c41abc64bea1aec8a76deb3e9c9a6656756e1dac38bd25ff008888a5591af763fd73f5addd749794817070990484654a46ef442adaeacab14d12daaf87bcb91661a21593717d9b93529d813ea5fc812d708c0d8e9b68122d9f5e6267cde363780a45d07e4caa5bf14f2334f25b9d177632bb80a82894aa47b6f360b2da1138dedd4331f077c900554c7a68b5d154980bb3517ac20a78a51f6f21e42b2c4c960d31cbd22bd610819182c5e456ba7d7e903f5e60f6e0c4cc014feb4f81973ce48ad6f4dab8da51eb7\nkey = 31cacbb17d6dbbecae40727c5048fe0c\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 11\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = \nresult = invalid\n\n# tcId = 12\n# keys of size 8 byte cannot be wrapped\nct = dc26fb6911d71971df0356d6bb9ed6e6\nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 13\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00\nresult = invalid\n\n# tcId = 14\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001\nresult = invalid\n\n# tcId = 15\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102\nresult = invalid\n\n# tcId = 16\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00010203\nresult = invalid\n\n# tcId = 17\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001020304\nresult = invalid\n\n# tcId = 18\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102030405\nresult = invalid\n\n# tcId = 19\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 20\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 21\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 22\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 23\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 24\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 25\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 26\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 27\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 28\n# bytes appended to wrapped key\nct = 9790ab51fbcb850df6764e011ae97c85785bed2633aea66500\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 29\n# Incorrect IV\nct = 0aac329ccd513edbdd6367df67999eaac9e7b51984c4d38d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 30\n# Incorrect IV\nct = 5a55dc429749ca49bb4ab01d966b19ea9a9e1402e6ab2962\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 31\n# Incorrect IV\nct = 45f533f6072f640eb7e1e512d56072085567f4ad6012a97a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 32\n# Incorrect IV\nct = 84f284565df47c409107f7a0a71bc370a8ed4489d414b9e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 33\n# Incorrect IV\nct = 3941c366554fc896e9fe52f02493ca03d439eb17c236146d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 34\n# Incorrect IV\nct = 45c9d42363d981d086a972728e130a42f5dd90bda562a85a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 35\n# Incorrect IV\nct = 037d17859519d6c0728a9eb6e64113e86919decabd3bbb88\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 36\n# Incorrect IV\nct = 1ad10af7f6c042b267a0c7bc4d25d27c003deb50e2cc566a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 37\n# Incorrect IV\nct = 630c571b7fb8647ac5360a255f9f5d3645795ac45285cbaa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 38\n# Incorrect IV\nct = 16db553e467d4029d0fea62b2c440e5df6c6591f0497a99d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 39\n# Incorrect IV\nct = 097991090a156047d4784b757f262e12ce57e13a3d5d28", - "6c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 40\n# Incorrect IV\nct = 3957c338b750a3285eb7b65c9cfe77053dd7d8149f42caa1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 41\n# RFC 3394\nct = 1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n[keySize = 192]\n\n# tcId = 42\nct = 00be1caddfd5ad7697877017795f9cee4bce5a61687a6126\nkey = f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe\nmsg = 9adbc00c710b1101bdf6a4ed65b32d72\nresult = valid\n\n# tcId = 43\nct = 54e7f278b5a1fb4c31a0d79ac1f615edd910bf22015a0668\nkey = b713f6b7814f98894d7b153974684359f1460213eb74be68\nmsg = 78585f0c49922e82caf17ebc3721b4db\nresult = valid\n\n# tcId = 44\nct = 510455bd9c078ac1f07bb3752cbd04e421b0dd635190fa62\nkey = 13ecf423211caa334ba6db37259a535c20de8ad10fc8c432\nmsg = 4fc75d0f221e22408a37e11265d49a05\nresult = valid\n\n# tcId = 45\nct = 880da5b410f913ad72cc93f46344f1152165bdea14664fd2d3afbd87b8cc5cfd\nkey = 4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1\nmsg = f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5\nresult = valid\n\n# tcId = 46\nct = 27654cf6a63d6004ae83da54c2e5d7b5fad20878f350087ddd17ac44a2be868f\nkey = b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e\nmsg = 0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a\nresult = valid\n\n# tcId = 47\nct = ad7ca66ad4664f43e4dd09296a6e6f02d5af4408f225c0abeb0d9b76c8d1e982\nkey = f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000\nmsg = 241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea\nresult = valid\n\n# tcId = 48\n# wrapped key is longer than wrapping key\nct = e245c90a6b46caece94f47117d608331958c8f75f531ebcdc902c0213d9105f2155af07daa62d132\nkey = 1639f9f81e53e2eeb677a249e5eced3af108971301601a7b\nmsg = ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691\nresult = acceptable\n\n# tcId = 49\n# wrapped key is longer than wrapping key\nct = 8a32b9f207ae5aaedb7e8a0d945107412c1bd06999bc5ac83c1f958dfb77ebdcf9d98c60dbd4650a\nkey = 1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0\nmsg = 50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380\nresult = acceptable\n\n# tcId = 50\n# wrapped key is longer than wrapping key\nct = 4a5842b10d2db96ea1039ef4785ce722555b3751a9b6dd39126ad363378c72320d83ea7adb81615a\nkey = 3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771\nmsg = 65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf\nresult = acceptable\n\n# tcId = 51\n# Round counter overflows 256\nct = e2192598e6124f2791b2751f930958435bb1d02e98aa1e09781bba0b159435db659fa73fa310111704692c68e16ddf4be06022c52fe9dba6279aad1aeb814125d0ddf33f31e58e625af32305050cfea390d8782d32caac558889ca8e641908208da6976542b40dbd090178e2a6812a436c18a5e891ac8083176ace1ddfee4d382856a59c80c643ecd5c1ab68c66b2b8984ce6e0e386f6554a9cb91d363bb4accf028878ec20b8b2e37214f7b12dbcd78fb38f711a90fe262c78491b9058354e27b34fc92ef0d7028594cb08259f86b54cb1d317ec55f2ef2ab7e8b141671f8bcb1a90bb7d82bc8cb4fb02c9ce430ef4ae0dc847e91e7d4fb463eb9dd87fc9dc9568f3a4ef504d74c134dcb60ca01b36ce10cb467268ea297c0518a50d12cc025cfeea1381ddd7dd63e4ac94890a0eae9dbd8db244625a3c8af2e1aff6a8112c4d3d98e8263588ee1dd9063b709b8ec00474c4ea413a802b8cde814e7b3731410809ed000060fb7b9b0bf8509ef17515f333e868b188ea16445f380b3a7d42774f6456cdf724246fa\nkey = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab63502\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 52\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = \nresult = invalid\n\n# tcId = 53\n# keys of size 8 byte cannot be wrapped\nct = 38d8238cdb0d9a2da28d6d56194f2e78\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 54\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00\nresult = invalid\n\n# tcId = 55\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001\nresult = invalid\n\n# tcId = 56\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102\nresult = invalid\n\n# tcId = 57\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00010203\nresult = invalid\n\n# tcId = 58\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001020304\nresult = invalid\n\n# tcId = 59\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102030405\nresult = invalid\n\n# tcId = 60\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 61\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 62\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 63\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 64\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 65\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 66\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 67\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 68\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 69\n# bytes appended to wrapped key\nct = 55dfb2f7e0c1ea04fead897c451c0505921dc47f308c491700\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 70\n# Incorrect IV\nct = 9b1593fd7d4fe25a660bbc1976ea4ab68bcc53f848a8eb9d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 71\n# Incorrect IV\nct = e7edb847fa91e2deded726edf3ab93da91151697425fee28\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 72\n# Incorrect IV\nct = 1b51a7c033c1efb5ee2994259c40f03bb57d8cc09e507e6e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 73\n# Incorrect IV\nct = c40b614a5062f5fd049c5379b3e8141614c2da97893589fb\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 74\n# Incorrect IV\nct = d7575ef02df54b3086eb49035eeafbce0e08336e89b35ab0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 75\n# Incorrect IV\nct = 0d617f1c12485a35917d2a941e949d2fdbf03a346889b850\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 76\n# Incorrect IV\nct = c7df34729174db2e83ee16c6de74d5eb9766715fad049b40\nkey = 4f", - "710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 77\n# Incorrect IV\nct = c3ed38d6f9ccb9bf3c56bb3176f00d3ce9887521f8d4c70b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 78\n# Incorrect IV\nct = 6582b5f4652744b0537e97e7cdae0f443130140dbaea604c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 79\n# Incorrect IV\nct = fc9b9bdf25f2b48ad79934c8d34897cdbf4c846f8cb4b11d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 80\n# Incorrect IV\nct = fc23c7f4fe20aa81105efc1a7105a5316b23399ac792c824\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 81\n# Incorrect IV\nct = 37b4a261b96bcec9cc93eef5b2fbbbe84634f978c5893dda\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 82\n# Incorrect IV\nct = 1831109847d17d010bfcd93fb46f3150cdafd52733db74c221b034fe8e1552c0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 83\n# Incorrect IV\nct = 2b2b89c3c6b2db4903877ad4622ca33f3a3cb7e6701d1340e6afc0fdab7dbd72\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 84\n# Incorrect IV\nct = 3c6903f37da57161af6706050a2ed747cd55344d869189fd49d2536ff948129d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 85\n# Incorrect IV\nct = 8a8dc8b131c6b968b60c1dd819a655392d1a96d6cafa48e30fb1146f096229c6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 86\n# Incorrect IV\nct = 303e0b3602d514a7d52edba3306d7383e8999e7c652a510335a8949efb42eb66\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 87\n# Incorrect IV\nct = 319befbf2ddbb475723fb2fa30f2ae7fc1ceb1e6f361715eca7209608873c7fc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 88\n# Incorrect IV\nct = 9b3e440341c5da131559959db6b3553a534691162f4f009327bf2c21d6fe5ada\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 89\n# Incorrect IV\nct = eba6cc0959e6a56339b141629840add80f4565656dc687a3b996960c994dfd26\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 90\n# Incorrect IV\nct = b703b6cf4587709353c7e4004d3da61ce5f5deaf7163ca9d6158dde919e0ac34\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 91\n# Incorrect IV\nct = 72549d52d6f4ff912d833c74136d90634ce8afa4f84412bbee8074084d4cecff\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 92\n# Incorrect IV\nct = 1337c8bd6c8a5dd43aba8d298864ffe76ad6ea909f3488157a15e6c46acf2214\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 93\n# Incorrect IV\nct = 4aaffaca5fe85814d040aa2a306ba4d1d44746cfe46c978aa057b53fd25316c1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 94\n# RFC 3394\nct = 96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n# tcId = 95\n# RFC 3394\nct = 031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 00112233445566778899aabbccddeeff0001020304050607\nresult = valid\n\n[keySize = 256]\n\n# tcId = 96\nct = 940b1c580e0c7233a791b0f192438d2eace14214cee455b7\nkey = fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c\nmsg = 287326b5ed0078e7ca0164d748f667e7\nresult = valid\n\n# tcId = 97\nct = 939b3389336fea4a9751bf014ef18011323090e8a0500bc4\nkey = 0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22\nmsg = b40b6828729b456322a8d065abc0d081\nresult = valid\n\n# tcId = 98\nct = 59ee8e5198861237f682edec6ba906526c016d4d935942bd\nkey = d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588\nmsg = 037b27b3dc95b19d15bd4091e320bfe1\nresult = valid\n\n# tcId = 99\nct = 1ab53a065d8f776a08b33e51383071b6f154612116655137bd3b7ec29b70fd56\nkey = 07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121\nmsg = faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071\nresult = valid\n\n# tcId = 100\nct = a1bf8e73e3fa1db759f0ab2ab0b1ca6f2c85b63d83e25f7a0b5293d0a216a2b7\nkey = ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1\nmsg = dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825\nresult = valid\n\n# tcId = 101\nct = 27308a0e1a6c0a1d15d6174ab7d68675207b615df16fcf7a3c69b25f551cca9f\nkey = fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87\nmsg = 966b07047354966a703e79607b556032f4f596b7f9206f05\nresult = valid\n\n# tcId = 102\nct = 7155ee932b0358d98182a23f7f427c774ab340a4757d0b6a63facd3de90578438cf03201c3f88057\nkey = 38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd\nmsg = 80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a\nresult = valid\n\n# tcId = 103\nct = f20b9b553bc0847529f8d4379fa909211e68249bd429f436c615c4c4a5d9f1a1968f0b89c5237b30\nkey = c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7\nmsg = 3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270\nresult = valid\n\n# tcId = 104\nct = 2811716854a214aecdd318c6670b9b2a7511713c9a0c0fa805230ff05cf84af795dd72f6c1a44512\nkey = aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c\nmsg = 57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5\nresult = valid\n\n# tcId = 105\n# Round counter overflows 256\nct = 5322bc62bd8379abbb75f69688b8f00e31962b8f9ae1e89771952d8a2a749e1352ec33b5435a674271b314760ab9f753b16726185ec7d319ac60531355344c1d53c7903000a8039eb40f70564a0ad3f41b2355ea5dfa6a1d46392f1d106a5da569bfb0493bf7c12dff04bafeae377df4bb47cd440b6f60fbab2a54a98551b76273e02cac8d7be9f2343d3abb2a23af1c91a7011c67a7907260116b67d510aabe5c7ca46c1c20f77106c45966583b3e4ed799a47ee19bb4223209265c2b1ac8183a678ff43bc9a3470a50b9ee4d10f60674268d72c68be003a0d9dd6849aba836fe8a1792b81c90e12945bfe1f27a9c6b2af66a063cdb7721a7f23fb30afdbd8b18db377dd1697f157be81c1578d08b066c71b0c5ca7feecac1cdd938cf9ad525f74844660908194b28e54eddb158f6e4c921b811d90db71a92ff872db2250dcc3f847fc752b66d77e33c85084d3fa53b4f30503d2a06e6cabb9033d59fc1dc15e32f19846a039b91597b0ba3141a7d9717630062170117b2131dab77406e9ed7d66b2c754d849c60\nkey = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab635025cbac1ecf52ca495\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 106\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = \nresult = invalid\n\n# tcId = 107\n# keys of size 8 byte cannot be wrapped\nct = 181ba6a3a4392469e3de98ddbbdd2432\nkey = 574957151fc2afe0fa3d", - "c7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 108\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00\nresult = invalid\n\n# tcId = 109\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001\nresult = invalid\n\n# tcId = 110\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102\nresult = invalid\n\n# tcId = 111\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00010203\nresult = invalid\n\n# tcId = 112\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001020304\nresult = invalid\n\n# tcId = 113\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030405\nresult = invalid\n\n# tcId = 114\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 115\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 116\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 117\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 118\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 119\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 120\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 121\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 122\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 123\n# bytes appended to wrapped key\nct = 7dfbd7cf6158d75bb5900b3bf1e3871003402a6508b1912800\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 124\n# Incorrect IV\nct = a417671bc62a23c7a65543092124024df72c048d8db330c7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 125\n# Incorrect IV\nct = 9518d0f99d7a73ed4a502b449c14c285971b0e6177ce0eca\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 126\n# Incorrect IV\nct = f3511f0491bd74ae1defb5307f0e18db864b57b5c404d428\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 127\n# Incorrect IV\nct = 6c03ce779259661c43d41d5d0e45687f874353bba516c73e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 128\n# Incorrect IV\nct = 8df01969a11c87026535bfccf72b1d064c86ecc7e5227157\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 129\n# Incorrect IV\nct = 8ed1cde228d9c8d046dca65c7a27aef2edf8ae90c705d1e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 130\n# Incorrect IV\nct = d69b3e34e9de38d44de1998992362a6fa1f696b5acab3f10\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 131\n# Incorrect IV\nct = 67865122af3294b8da0588775125cbd6dc19d5e5cab97b6d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 132\n# Incorrect IV\nct = 9f0fa52363dd55df472d867e6faf5da8eb204a1d6d497030\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 133\n# Incorrect IV\nct = c399f999c96a4204325e7f08d6a4de256faf21ec2c007ddf\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 134\n# Incorrect IV\nct = 282082264a87dc35ce1cc5b9931b77d80d82fcacc0927f85\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 135\n# Incorrect IV\nct = c192c90b83003ca96744498014b6ad6bedda837955269819\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 136\n# Incorrect IV\nct = 30a983cd9e69d561acc95c42b252aba4185f8392f2e6c935c8eb105af8082e34\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 137\n# Incorrect IV\nct = 4de9a639b799630b45b49e28dbfc44dabb9843ee588a8cff286b8d5fbd7b32ee\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 138\n# Incorrect IV\nct = d915b2cdfb769d9d82259dc3d124646bbf972b83efd4c2eae9b9f751073f78d6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 139\n# Incorrect IV\nct = 117d653f480b69fce564f1fe99572492945189ed5af789ce05a2651baf90bb5e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 140\n# Incorrect IV\nct = 8226d07a2f919e24ada1081c69a75520be895e3a2bda9b805d9747773ddeaa38\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 141\n# Incorrect IV\nct = b0a74345bedf8865348daf45d054b99ce515ea8be136270d1cf71e1cfa7aa4a2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 142\n# Incorrect IV\nct = a261db77f17f7ec736d1a8be16e5f9ae432fe2a17012e5a6f07c5426a9f0ca59\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 143\n# Incorrect IV\nct = c53acb5e096b54548e1385b2ff18eaef68d235c95b0194e74a2383d3a7a530dc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 144\n# Incorrect IV\nct = faef482d99ebb180e5bc5e3cf775ba292c2a3b6c44aa4a21ad400906f11af392\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 145\n# Incorrect IV\nct = 73a450b63b07b3aece9d1ae5bf097a3dd3fcf73e3ec2f1bd8fc3b5586cb9bd73\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 146\n# Incorrect IV\nct = d34b6ee184d387c9aa4b2d180ae0a89498014e55fe8e416be4f826fcf7d56522\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 147\n# Incorrect IV\nct = 2af823d1602803740bfa9040c2c4e769a5b6de919d403cfba9ad360f63af1113\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84f", - "a01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 148\n# Incorrect IV\nct = dd78ebd3091c55a5da5b24504200f7fadd1b3ac6ad35f814f733e603c13936245d69d83f262f6b1e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 149\n# Incorrect IV\nct = 3d8338eae7de322399e1d1b4a3df54326b242b563612ea4b27da22a041d3c80966911bc009911761\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 150\n# Incorrect IV\nct = d04bf75cadd3b5f099c34b27a91e64a8f2dbcf08e8c5c1c9f07a777eeb805d5d0e8c5c01afc43944\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 151\n# Incorrect IV\nct = be0c5d193b61c5137a8fd8a6d7d1ed8f0fa28cec516f544697c12add4f8f4d5cfca65edeb1019974\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 152\n# Incorrect IV\nct = a83ebcbeb2be9d6807b5cfc31c89849d1343dd4eb22e5bfe9e2b2b3790ad8900601f1f5d54fd472f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 153\n# Incorrect IV\nct = 416221485a6cb98ad1342ea9a12926a9a133ead8bd919323fe789bb8f89a4fcaf81e1be54f9d358e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 154\n# Incorrect IV\nct = bf6a53286fac48e7f25d89b7056b27aa917d5b54c0d3171dff369f7249153bf09da5891eb4dc2d88\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 155\n# Incorrect IV\nct = 99d517a1321bb633b0d5f3afda2372d3abf68b41d13cbfdffc78f173b88bc4b97efcab2b2904788d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 156\n# Incorrect IV\nct = d92456bc77a268ef71cba76064a1b772d1fee2ae4f0ee3bb932a2adb2b031796b9eadb51753f2868\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 157\n# Incorrect IV\nct = 5bb54630ab8d73a040f0f87e70e263d1aeb2358bcdc0dce6994d0d874452bbd8741b7ec1d59d8298\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 158\n# Incorrect IV\nct = 4581d6536039db1b23da50c648777e90c82d6128bb92e28b2974bae1141543a19a1592fda1fbd61f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 159\n# Incorrect IV\nct = d35bc67e62064c34f48150999ba30ded475d8c75978f45737320f23edaaa7a40d7803fc61add34a4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 160\n# RFC 3394\nct = 64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n# tcId = 161\n# RFC 3394\nct = a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff0001020304050607\nresult = valid\n\n# tcId = 162\n# RFC 3394\nct = 28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f\nresult = valid\n\n", +static const char *kData109[] = { + "# Imported from Wycheproof's hkdf_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HKDF-SHA-256\n# Generator version: 0.8rc17\n\n[keySize = 176]\n\n# tcId = 1\n# RFC 5869\nikm = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b\ninfo = f0f1f2f3f4f5f6f7f8f9\nokm = 3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865\nresult = valid\nsalt = 000102030405060708090a0b0c\nsize = 42\n\n# tcId = 2\n# RFC 5869\nikm = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b\ninfo = \nokm = 8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n[keySize = 640]\n\n# tcId = 3\n# RFC 5869\nikm = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f\ninfo = b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nokm = b11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87\nresult = valid\nsalt = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf\nsize = 82\n\n[keySize = 128]\n\n# tcId = 4\nikm = 60ab7f45b0ad534683b3a6c020d4f775\ninfo = \nokm = ae5dbce80bbab5bca5b3c6d3b7e6548fb2c23b2f\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 5\nikm = e3db76e02278cbd2adbcb4555803da11\ninfo = \nokm = 207ebfa8798c6d8d5260d797fdb9c9969173442186d9e932b18fb589fee2fd00ca4ab49d0402aba2c1b0\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 6\nikm = d4dcb92a769f57c8bab8a420ee0aa351\ninfo = \nokm = d875a072bb18fd7717ceaac8829178884b8e51a926849210caf7f42574109f218596e27b92041155d2012917c20e09539bf52016d78aac0b53a51d9cc21e3b15\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 7\nikm = 2d43e54bf0c94c9cbff4300f4aa69ab8\ninfo = d674da3bb47d5c7e38b501e5251d9348af601c44\nokm = 3d36966f29c0561b4e50f9325c7c98292b6d28bc\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 8\nikm = 4055536896c406d5fe14a6cd6b999bff\ninfo = 2094768a8816f7df070d6e08b7ad93755dc9024b\nokm = b10173a66a08fffa6cf7c1057744eba73cbbde83a3d8674bb0bc1a46d80792a9d5a0d2ca72510e02a6e4\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 9\nikm = 5b01b2da3166f217cdd68de8af60078f\ninfo = 6884cfa7ffe8f27bf4ebc6e46a7e01488c79243a\nokm = 7a8e83577d8aeb830d772d8e42fbd105e54ee3f38da12388030580c8b8935f4a2be01c5092f28d5b1bb757bec0a527250eba2549e770d21224e1cdaa5bb76a98\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 10\nikm = 467403c2ec02a235bf730ff37e8d8ff3\ninfo = \nokm = 4b1c4f54615e31f713f2364bf194d3f14f68e704\nresult = valid\nsalt = 41f0f173d307d40436c25856cf559f96\nsize = 20\n\n# tcId = 11\nikm = 3352f942aa93071da6d39cc5ed8dc460\ninfo = \nokm = a6823c9940138becba3f9baac05ec119a2715a018f51f4c0ce2add465db8635a6453efdf7c161c2d172a\nresult = valid\nsalt = 57a0db708b25a51afc4271803aa35204\nsize = 42\n\n# tcId = 12\nikm = 08867e76311126089356623ba5381e73\ninfo = \nokm = ce632c353328d59ec519023d08652a97252f2c8f3f29104237fe35261c82eed7e0df52514a157a00fd82d7e46ebf9acc23512e1cda7d5b65b92f692965943e8d\nresult = valid\nsalt = 0c164c443edcdfaedb1ab150f047951f\nsize = 64\n\n# tcId = 13\nikm = c55c41d69d2424a520414e3662aa7303\ninfo = 3fdf20538063b76901d61bbf9b72b0c18749e00e\nokm = 7fce7c021469c8e016f7a9eee111ad71df7c4fdf\nresult = valid\nsalt = fea9bfc92b74337e43a201a2dc199e27\nsize = 20\n\n# tcId = 14\nikm = 5d3db20e8238a90b62a600fa57fdb318\ninfo = 2bc5f39032b6fc87da69ba8711ce735b169646fd\nokm = d3e6274c91a88821367b1853b852a96f3ec12ed466769fdb88e14622165d5878cd736fecc93b9e8633e0\nresult = valid\nsalt = 1d6f3b38a1e607b5e6bcd4af1800a9d3\nsize = 42\n\n# tcId = 15\nikm = 8677dc79233ef3480777c4c601ef4f0b\ninfo = a38f634d947819a9bfa792174b42baa20c9fce15\nokm = 17c2b03dc593fe9bb94f5b9bf646ff15749e82cd4bf569f7806275c241c83e1fe0615663a628ecfd7c1b700215a450f9f42529800424c4707d54488150299f11\nresult = valid\nsalt = ad88db718244e2cb60e35f874d7ad81f\nsize = 64\n\n# tcId = 16\nikm = 0f602703d37943e0253bed3da331aff4\ninfo = \nokm = ff23874bcf844f88f2fb57c0c3a4e3a7a498965c\nresult = valid\nsalt = ebdc8510499f69b2e188daab77cd819cccb95f276f46e6b2be11cbe72700\nsize = 20\n\n# tcId = 17\nikm = 9fe65737574c5c7aa67646adf8230ba8\ninfo = \nokm = 19d4b9e3bf37ca1affeb953ac3a593882b2dd0002409be198718b376253f1e8522af9f276152739e2d5c\nresult = valid\nsalt = 73a34648c152443586236abcb46a090ce55ef6c7f282ffce6342d694650a\nsize = 42\n\n# tcId = 18\nikm = e8f2b1c3e6a6c3d5ee0a20dd47aafa78\ninfo = \nokm = d623e645a84b5ed4a210b9457aad79c9c3171f306bdb8bc9b60496a99e640cdef1cfb56ee336d216aa20122ee33b91c7aac3e5e7d56d87dbed3a446cd5224208\nresult = valid\nsalt = 3f5e162de91e0782cd189f3b7778cdc2ce6bfe9d3fe841cd3c70475d7b3c\nsize = 64\n\n# tcId = 19\nikm = a679521cdb56aafc5a4b76db0431a4dd\ninfo = 44ec41ab4f4e64f4a36e5e30c9f0dc1d77ae4974\nokm = b75be6d7fdb9a7c58514c81e6596973058e8198e\nresult = valid\nsalt = 123033b1ddaead83a4b9cfef8a660bd8e00fde01e67c35656c6d7607d456\nsize = 20\n\n# tcId = 20\nikm = 49bf155ca102026f2a217ea1bc9843ac\ninfo = 851bda4faa8f7add2a3cbf0acf9c2786f8f955b2\nokm = afcec12e5ba6481f144f6e6bfeab0a054b30f2710aeedea90d4be9c790c8e05e601fcb208afafc6cb991\nresult = valid\nsalt = 76776e3b4d75f8f43dce4bded71f3b1ae6bcb012d9c0d59f78248b9427b8\nsize = 42\n\n# tcId = 21\nikm = 6cf725e939e8824d4392233eeac75d30\ninfo = 495425d9727fee2e2b7e78899868c1c3e7735e1d\nokm = e70ba99926c4edd98bf001ed3c8a1557987449a6fbe58360e96c2d1a3c1f2eac7806fa406ec64c4dc2a743129f97ca449380ff495462d1b1858af83d40fb31ff\nresult = valid\nsalt = 1e72f24b05a91a0093f34306ffced79e7003055b0833c6d0f27a4f33a1bd\nsize = 64\n\n# tcId = 22\nikm = a319ff7b5ba9b14ac72b681cecf0f742\ninfo = \nokm = 31e7b971f165eb923b499460c94937477fd61cc4e96c27fa2abb552accceef42aa3a35637bce32d996e9\nresult = valid\nsalt = d7e3bc6daed343ce77ef793e15a8246e4bfcbaf83d2ac956d0661d1df7262b2e7311623dfe4152caddbfda8fa8ed7a82656ec00b72c5adf7c9d388e5b3bc8d24\nsize = 42\n\n# tcId = 23\nikm = 34bae5a158c1678aa76a744417a70d7a\ninfo = 87ec30aa53acfc3d09ccc1d57d654fdbce403cd4\nokm = b80f7525a93a3f630465033ac53f1ace76caf7dcae3bc7374ffdc6d1be60179e1adb9aa8def2d47823e8\nresult = valid\nsalt = 1532075f363e061133780ac959bf653c7687d181b9431215d6f62dd2f1ec3019d61c50fa82c70ae25e624c849a276b0c57d7c02a4d753fe84a1a6621e9a5ef01\nsize = 42\n\n# tcId = 24\n# maximal output size\nikm = 195b2a73c91f69140910664d79ee7f3c\ninfo = 5b3afef0895fee8a\nokm = ba560d02f6661eb3d0bf3a17438343b231d2757e4c8ac2d0f57de4ae267f3b3a40919c4dde2ad7d11ff636e25e4fdc21db7c2b2f20fa1ce7bd6acd2d534f1f660e0487703adde77a0f72c8e3f2b9202c94527e4bb9adf53a0b897a09abc0dddb7f94e6d6ac00d8eb5233f0b88921c8f4b97a1ebd8dfc32ac5cd089bf07720bec56f85dafe527cdbbeffeb168c8a7867fe35ff6fb57a969189d3c17b230db2d213a6860b5cb678fdc913aef231601d131588f021799625c080013a3547cdca49599368b5a483d830fe182bf4639bf830bdba4e301643c20c09434766dc554d7d4effc7165933ae420b136623ca1314383661593fe5aedddabdb44f77afa633149c832fbefd1c884d2717d61156a1916698ecb30aa2f8a43ef7238eb11e4cb1acc7e98a83f66eb8eb4387a7d6cd26249338054d9e5328d97506ecf06e9bf8923756f2f586dd8f17faf515c75d140f502fd162eb074c250b0c4430b659ee49c0dc2176d60ae2e4818b7089c1ba58cf1d80075ac3446fc8f14ad8a9fe26fc677c398bcafb401dd84755e7e550d20684650ca590376b140942410173149fbd9cbe4781bf81b3a3a2e04130e0b392d747f16aa54b323a8dada9fc690e05f75d9108d49ea10015c90505c2d500ceee985354b28fb74bf5f45c3c412ef281c372f4ee2f8df2ddbe889a9cd541326cc2528728159019bdd4925dce7d8cb6c6672298e24cc8760e8a33a5ec9dfe84725dbaba05a8215b30f0ea143d53706d99351f31fc6632f6a28b57baad13bb6768cf52bafd820ad0b2949b789bb4e4d449c8cf6e6c1543c2882bc225f94f70ca6d25855019f29f9d3ce5746ae88a12b70aca25cc16c7ad19769d63ad0de5e0207c994709755c2816febbdc3c381bcd90c5252139bfe45dc86d0ccafa5d437cb3c2c0cb74c59a1f67a206fb0aafc7282aafc7efc5de534c76425c699dff283cd10d7313f342ff79dca06a12dd44f168fe857d41658015e74f40c76f6765b57bc5827082b6ca55e57221428e812b74df3ff82d18678b619f1ac727751fc4b27f1dfcff461ad30bb17e2774288ec3e337a7c8438877f8006d8024c7a62a02d5ba2f1eb302396de86bccff719dfa721abc5be82373a5e62b69f2fd02cef4cde6e66e98c891221f0de23b6223470d34e357efac653c943ae7ce487", + "18a549ce85a0c5f53b966e0ae1495efafa6f70bfd73e915b67cf9439029153161459ed07c7d3fd54cd66a89d366ff9a86f5595044060b612f2ec65e9f2216e30489545c706d79d23abc7ca26aa486480047a92ac01164c3b97fbf253b722c4545ab83741ff483d8ad28b54c072f0ea72119f2807ef71994d18e9015a6cd813c525ea838d3a437640e4f99273369cde21dd580b8e08865603ca87d9d28e1244e93e560f3fe4ce219b55f8f6753e87e59dbf51d89cd4b8aea2f45cfc1be2863b108920a5c380fc1f07b174c72a3ce791bf0799089a571a6dbc0adc4ea668fd8f6e4a8b5a92363d00f92ece0ccbffdebde591779210b34b329f943c426788661b58d637a37094744d7ff967bb27a9d4fbbf00f3a1c2c49e50c14b55e56224d98dbe7bc1e7612d1fe956f048f831ce663b85778478a8572a63ffbfc04e9db2bb307c655707548e48f2e91b86cedb00877e9fd7fea3f07341f4ac342ed020e2ac993209f7a721ae8ca4b9273790f571de9f9d22ab89572fc9a9743efe5a6accc921be33327ca7fe3d3b1f980919f2f62a58475a570ac9f08d39c6e0f9599bb8ebc2101cd9f60da8331dab6dfa3e65a6fecd113f8d28fb87d3750a7019527b388f5eac13b49640554f031e240f52e202e55938b80471560437be12619e1bbf98f3ae350f5a03722e811693285b4774505fc36ea01a97faa35ecc30fcfa8eab0fbf661293bf79877014c68cf582aad70e5c212b18588a6ef3d75202bc4a02f86c62f99a97fb0ffd980f2d7f2fbe7f1eec22c6bbbe2685b4c1693b0429a5069ee387cef60bf0cbf2fd81263085dfb22f404e09284f075d782dc3cdbc24cf242e6a4c7ef6dd65f0269c5a9b49baa1bc0526cd72ee78db3621fa294ee8b7d6cb15f0edf6d9e62b743f25c38f317d100b706baebcffc11396d5400af4657a267dedd3bcfd96527f03be8d733195c0c47d7dcc97e8c8f639c7c972338dc88861f023b5621b6b55549b47aac9630b19884b072aa58fe1a975e86fbf8482821147597914b28ea5a84fcaff9d8ad021282df1a06feae1d813f4094680c6709d63a3907e98a67a5c7a9232e7d4c01bceda04bec5a5dd8e29753af74521d01e346c29955bde6112e131948582695980b71a777e2c42c37c0cec771b1de9f737cfe5301b487e9bfcf35d2750940de6fbaaf00b9897e3fa99f6c5c79e5d27acd055212e0dea3162b27e2b1a400eabf4e8b78077381fe8bba84c8732f469972a0122b8009138ea77592f68717d66bb8ffb3e9bcf4f77a2b472a393f5c6d7758afa9f6adb1a939da7164c22fda33f290bb15fa17ffb87b445931248c9a67edc3e116bbb75fc9439ba7b451e06a589c1cf506a04c2d1c889ed5b9af2002171055580b9555b58ce083a9f5b9f05d440e7fda4eb9a62df33ce6ecd2399ad2725f1eda7568e313f3dfd85d240924ac987d9273f14259170ab30d7363929e3f22dd2e3976b5592e73ba3b4a2f58c4f490affca796ada73db38bdf8b56211038b22242dac86910c132496e9cd1b7fe0e6daeef0c44e31df2c7424d5a8cca7fd812b5b90fe1566e7558e22c35080a73a12c0057e024c60bbf849c9bf20b5acebf48acb4d513ebe9436fa6c6f2c5334504162e6a0e4297c814408483ef02a21b9bdcddb91e73809c36ba0728659eca89fc978f1f154fbdc84638e00620b505965be1b41dd7e2022fe2100cd5aaea63c2e6f1fe80b9188da7655c8c1457ec3f2b02a839260b8cd39d63a6734064ac59251a167e6d25d9d0384c9b526c10b6b258e40496fdd46c85c3ef2b1e4ba91f5c27ba1624c9135535fb922b43970cf7e9b357f2057137cb3df1375a6e6df71e392f2efd6c5ea6e256a0f7b766c30931d89b09dda788e082f9cd4cb8c9c82734d83b817de5877f3ddf0ca4f5392aebf9e70eb9f5c35ad4c40b26b0c485fe8f46638d3994011f2883a70f898fcdf84edf7f3e95309f2e3b166b0bba18f385cdf1d2e530632422c81766fe9e841c205e5e792b49b572415a5f7f5024aaee6e99c65f63df7967d8b3c1976a6c275c7e5668cfb6378bff333477bf599bdd6fc8a969287f796717f6713b375a9262e06fab02684da3ec5d533de48505e41b766540aea29ec73d7c563f2c5d131c1c758aa932a6e5bb039e725e3958b4f1556ea6e2307e2cf3f111421e4acb596aaf6d83a483b11a5c8dd44ae3ef5e3ad813495b54a5fb2688ec3d22d8109297a87fe891e9f67439f0ea7199d3bfd41ab61531414a4f858d0af8338753257934c05c25dc4618b90829c3a7714e732e4dbca579169bed379a46dbb638a7fdac8838d3b4f0769b75880b142568ce9d55e930db5f4d158262b1dc953ccdb6e0fddfee14f042fbfddc88d64b46b7ac177d26c6b7c20341b53a3f31b5c53e9b824b9d5d5d0f7917295409fb497b7ee9450b9d242b009792c8bcf25413c45ac27532d8f36fccac3922fd6a19d1868b558dafa58680e3add12a3fdbd1cdc92f2aa899ad36eae392ce29fbe66af974361a12495a041b5ffb82843750544c2a3a0e817f55877538ab75524b09ff702d04d694b9f7d4d6716a9e461249c298d2d4dd28ce99c64492477d9aa1b1294bd51b45eab201f4c42636bd2dcfa38f509ab8b49ae4e88ab4ef628491b77f073a4a128f452a7cbe3d82d26ba2d354af17cd6bf77164269da782261cf6daecb328573cf975b4d6e8a984839b1f3e6ec81c5c692e32f78f158c1f472ceceb9b448cb8676b56c7d6bde38fb9a37170492a469f936113127e01a8c3801630d56576654552504860b7677d4e49e021640003c093ba2efa8f4a9e2e3286327d7a84527af378029f4306ef188f02204bad184f9a3c977e9a270892b9c0af614373798f5a089c21db136fe3d078586875e6bda63ac7c25859b83a3d2979374eceb99039baee563ac5c6fc54e7b9d818f6d834fb240b3393e56f465ac497a95ea743d6f48a8e34f9c83915678d6dd580aaf103fa8c87ccc667bc66b8a6964d7705f739828272e4e342d495ce5b10aae5a17c68a86d28086ef7d7cc363fb73f763e6b72975f35b3e0e70d38a90d30577d86099de0d2f4570f852b52876c86a2589c199ef5b22485babf4d655a975e22c9c21db0d01dc32a3bd5b808a7434f3025e04a1559f9b1c8e74d928dade07d4fb01e37691077d4f2b9006c15e8122607a3c3176177ba1e6a8238632f705f3f25693c9a9aabee45b9296fe3b2d9333caca0935553f0fc2a57535bf459066442a922de1b96fdd69d5ff57a051eabb0f4781a46f122d393d21fb0d1856d40f6805546fe1d0778f8ee5d1d41d274f6c9edcd0a1d96bf7360389319a21aa2d116fb6ebc44397f1bf3f7d8382cd16f24ec49fa0285f293ee7c3f6b560097b60eada98927584c1bbf30ff9432e6e377d02876390dea6ef7661d3c3d3a7b481883c2e49714238dce4aa8c428f7fb4a5f601782d8b8f719ad89c2ce74333dbd61c7262a5145f5f7b42d3d642e0c393a6d5a2d4633053a4a2e109d70feea7b020b2691c28b5844bd361a442ee779b836100f8b08bd78fa9cf0baf07722570228f12971bf927e31c61365faef3d1e7692f1e48a579dcf3d5b64ad28fb0a7cdc483dc654ce82ceb69ede7f6a960d6c9fab900164aada8a0f600792caab44bd0b6dd8692d6060f90a751625968413dbe4d1d1a2ef3bbff2a21566e4cb41c3abf7006f6d81eebd0f9afcb4de724d16bb0720553523b33654ec6a0fef8af2d49a171dafad2e3751eb21637e4743375107925cb8e9c15d4f6aabcafa3a9659ee3dce219b6cb3e5205b836bbd75fa21baa00e7885613a241c2de00d0cb0b5de2b944f97b0aa758eb708872f7fb4110b852a27286092d31d2f49ec5104212068051f6ee4576f55e23447aef5172673e6268b977156f5bd5b23640bd0915d2e4313557af0ec6d4d0bf98cc881a4f7b5ccbcb77b74ae60c2e4b1c2c32e3738bde4ba6ff854f7d3912df0e28dd30b36f4008430166aff51725cc973c8c69115a219f677390b37ef442257d46d23fd3963904402cb93c6b6c6dad972478a0d8b79670f6f69f9e0cd8d819d8d1d45c38440cc749cf09ab90434d7b57fb1e66af9d09d38c3961a35cb526023b0469c948199aef59a8e1341ab2a73e42b9f05b8ce78c6ede74e9a355ffa0b81aad630bbbe9ef325be7149acb62b02ec7f0dc72b7ac576daa5b19993fb4a52ecc154935beef88abdfd133d51e9953aaa23669e423467a2be1bd35c09c5959f5861a7f9455fdbd25e4a792907b33f6db7f8ee11e5f36aa14a277785b0af2b8ac49700fcbda5aa55c47a24dfc8081003343d55973615b3783037abde6ae0bb35f4175f01b7ff3054b64ee4eb18cd50e0b879b6d41ccbda2638a33ebc23fbac7a09ccf92e19a0bd62725e555079ab1a3f4362ff43b363cae144034f33366f108f284c63ad8d4a798a540c6687823dab864832dbf299e7065594520156842659efad38e48464561bd7d5259af3e590c63cd43ecb95720cefc5b28c3d6b1c7128334db2c112991addaa5b91ac37f06debcd89852c6e8438024c5b4c10049b03169172ef733b1aadb6edf7add5477fc26a48ed428cf0d5cd336e646d17af02642837371913c7286d71aec82d4854617dd362bafc2d582e87bec7afc57ef3c81876e201ea87603b208031583c78876c3f9eaa3fd8995fe691d5ab476a91223c16ebebdc299b23eefd6e93174624021510a7fa1ee3c6cbc268c969f99eafd01f0f86e0146f9fa963c287b704d6fb11ee0b7d465cfc73d1d4c915cf2de87e94e2de498749cb2e0ee9e3cbba76b1a4b9e9e363b7f35088e99be1880fd235a06a614c3e82ceed6e27a72657a4d4f860b336f090adbfc99d4a80754cc747bf4151ab57358b6b4ca5233b17a2b2d1dfe8ef9ae0a92bc4304653b95578aeb5457ca665323292c441f91b6e237cf3a0b2cbee2f1ef8f356c2b42f4d2dee26729b89ddb7747145fd5e4344a82e4a3cedee77506ff79115f00aaa4ee1ecac6999a543d745cc0977340a2502ba6d32607ffbeb3c693a7910907da1a28f6818e6bf83fc72628cda0ec80947c5fda35ec61c3a87c89f1cba548d4a7bf0b911b35b187179d1c74ce03f14682eccf253933bc0b2bc3d4e3a8cc57ab254511075ccb4cf162cc11d36da79125e31f6ae4e758cc62afd8238b28ab8d4020006fc90854eb729edc885179b2f011b0f6d1be61a47e7e9e52110fd8eba49443bb3ec68617d4584c6e6cdfb6bf85db554d777ad8d7fb1ce7fedd3b873d8788a0103a9bf9dad1b07498eb026f455793bde9210c11b173c1304ec6bb44ec007451be41206009f8c723e9e05b3add083abbcd15ef7026af358880a3e9e66ee891c8c36d8133c13c0afb903869980c30d1df0ec297d0f5434fb3d66ffde872f3d97a723d1a30cc297a2e49b7a4590617e6a3c355cd654c9f5ffc5145ff1484b7f87a1e3ace368dca920a593580520438463900d1f079f27ebf68b48dc0fc39f7d7301b3224b760bb1170571135c82fbf1e1d653719c40a726b02262e846494e83a606a47283f002739faa870593c9e57270e36fa7ef18f490f6ada2f93319a4876b3f481880bc762d7cecd0569641b0705914090185793262c8bb5bbd669c86947bdc3b908a8f8abd9f0175dcdea4c952e2255576adf472da19d077e2988b0d5ce05a1aa5dc5c02646ecc7d5fe0a4bdf233f66cbb761e43e5c4c0863ea9e2876c9f846f6bd1b9b84d2521eb8ca0e3be5a9fcbb76713c69d29181acc9f97d73986f95e140d92b901fbe7399aa191d027c438688", + "8ed49665ff8e2843745a065809990aa0c4fcccf24220fdf1e27aa789e334446e13a5788a5e9de3e575f582df12dd3e520fed30cb04d9349424b71587f581939ecfbeb7b48744cfd30e551ddce85a62b903afb33d999a5a1fdc40215a0cc01812b41a2a52ecd4def95ee47345d90865e8f4269f16214e97a7e1df0b4de2e20359a89f88ab906ae05430a211cfa0a33658fa65af3742c1541be4d3a6582fc4b20e42d9e818a62125a7d148966624cd65ebb5528c8c01dca81d20381d832add767a0126203fe9a2837d0479727876673b611afc9a7f5e87294c00deed48fae0fac6506aadda0f7e999a877f527a61d47e440c5f19c8ce12a8b09dcdcf4ea96b8af6fa7e83caecb2ca03fa35a454c419e1121f23cae9d24e53ba352c701211f3138c413d431937ed83da75aebe0acbb8ec9837e857be00a9cff2ca3eb13f045f347f7c745f56df8b73399b1f3d923571a20b5a9a7ebece39e8f379f6df72765272725bea9612e5bcf3cfb6adc56dd05f3249e799cd02adec060b809ca4425e1eef11f7ef2e5721aa37d051c34daa07fab8e729af4b981636083621d7044c13e52c987621a69ca8eac3889776d9c8aa3070aaf563f96ca393d118ce161fb7911b2952b8af451e1bdb717fc70c6e24f3e2f0048e1ca36be23c13d9957d6a021ebb35677f68fa33778ef7524dfb15ae96a296bc393ac5f25261a422e1f7238464d13e3f8726a75d10ad9fb74b480d44c2e9a6bfe0ca0c8d22fbf0f9ad53e9369d0ffecc27b8a0dd1b85cc77b81e701706231c39a045b1bd891a54b0ed1c87b282de40691dee685423f14ad5a6304fc5997482fe0d1351b34136d60b04cab130ab2e7f5721c6e021983dfd3e868cf2dd9f0b180d5218eae554fabe07a62aa7409a93e7e3b3718961106ca3d1ceb606a2e6e93e5d9c05a8d43d34ea1e14cfed1f25074cb7bdc1289f3f7a6ddaf43cc5e7508a964e0a93e26f6711cd234765f7a35c71975ed4e919f4c45cf83ce20076f5238b995a65cb0b402d3690b0a36cd2d164bc7ca986327ec955f49fad0c3f0e94c18638c5473f5b20ba654646d0178e3ba35353a278f32920a75567c7b87991b413db47a164acb93f73339bfe0f72b034c8785de3da8e22a445b5bbc0d13ff3312a13c11f8b5326e8860c136fdbf79da666469da270e0167735941648dfd8fe1b23ce03305bcbc60930906346821ac373a51eedf5c938d3c9f3de9ab43c68a2035068bcd4eb1585c0a696090c25c2825382d8eeb4b75bafd6e5cec3327e80c72b14445aced447bca79ce78d0e1869146c12fb57fc0e27529cfca81bf30b5829f903ac1a36dd560e2ab2ca33c521dadb57c3caae0298a1df936da26a6afe2c9d280f8d9861be48668150385d589ea349cc77c9f67ed448a01b4615decfd902c01ba53df4416736631256afb890af6aff39e47e5cbe59070aed031f20f16e3589d63540904d7ad5709c4830f09c1bbd5b33cd47ff3da3232e11c17d4d9eb02ceb827e092e8e7b7614adab4b3d9aafb45b083f4cb71e25ff7a865541ea185d95d1e80224c732cc5fbe1f2df689fa4ba1753d148d7f6b1846736071d9a4cecc99e96f47f6ff082cef981183d01b08fd14950878d7dc1101770fb3a1565eac3714820c0e058f83b7f85cd38a1ebe3f0fde0734e99efb883c1d08900253963e17333dc90901c56c8fcaf44e4389cc0515ff06bce030367c1301653fee32dbb8ea88c17cc1346aa072723cdf0644ad3d6d5f0608f21131d2fb7d3c994db65f2a615fb21087b4a9e73d81021d1e0316785c96b8236ac14ebcc6efb194a8f05d8120a6fbe19429c27ad8cb8db54e9404d04f94f681791b8d3251c9307cdbcfcc3619111fb10b1daf8de24da449e0e3c6f4f488dbd42c53ef2765a6e5d1a349d13489225ce8eba209ea228ba155648f59c77d5f8856e80e515741aab423e7f3ebe4700aa5c32d30756c4e37d7552f8e63be7a4612a5f1c6ff6c5846bb85611ffe0241200aa188cdd77303db4ad75489afaab6155212a1aea646b50221a9479c0c7ae53579e44c617d20e6cdadb19583835b19c41d230535cb7b4d06fc286554db084dd5b07e6dc7bb798549a68055b86ef86a119e8dbda606e006610f44f6fb62b0c1abfd3c69aece8746ab44f4993048148f4fa6d13399c70a422383be38844c0a1ba4e4b98c0dbfb2be577f62a5669d05ab1aea757959e1c20c691b1924a7fa7ff0c54a8b7388f1f9eb1641771b782a04366ad5799631fc3951ae756d2f54de50a356520be51eb6699a8e224bcf9c223947235da1286824b0feaad9681e68583697da87f55e0402d2baf68251f938930fdd1536cccac63e2ef55d90fbdc91f725846c592dd8b154e19fac278c3df0c90b5032d79ffd12203c626dcfe3091b59624451cdc9811cb5bb61e2894e0c1d5bbd462d2404302dd881109f99cc5b37b3d42ef44e55a8d68eafc143f01ec1a5d48090745f97ff747fe1aa7dabbaaee2d107d73852c38b35ade93c7e7a6cdfd8b3dba80a63626fd0d10adc304ab5c28fdfeecc83f3e04fbb298dff5233f3e7dbac1736c4ae9e80364b06f8bbade5fd619f4655f5f73ae4e978799f725c3c6f9e51528d9842a4c9df7630c857e856dfbe0d7c7753233a16151eae8bb1e018132a28156ccf9d5a085b73d0a3a530ca431a3e705f419091fad1d0dc3e163433f4b5846db6c15214580a533540dc1e14f90cadaa64f662f41377bf35a86310c9bd4ea2a890e672b5a3cc1ab945edaefaf5a7b99f6b664814c728e1ee958bbfd9e810502cacaf5b9671dc8c52982c810d9b737f7210ba7eab97ed95e03dcb75b2b4bd87b19c474a559829deb5f2459d8c25b4518821ac3e9c0294393126efc184fb52cd14e6381a976ba1bb579ca6249ea09d8fc16de82da10413b1251e9a8d85efa079f1afd02dcb8d92876e4d24fcbbe9b134183a28cdab503d18708395c33f94d50d9d4c1d16f2f417fff903f77c6de34e1f506dae723063052645c98217677ade132e466a07a2256f87aa7ad9bc1061cc9482c74717e544c2050b0ea8729bc1a34ce7ecf825b2137a815701fe04c1a3e50fd590521bd26ca7a193a45f864d33e8c7de51b3c686c47074b03d2c442a6882bc03154a61ba68a5ba5a1bc72a5d8c455f0c67371aba5140793aa1a3dc158004bd4da50b70d5a67cf250c665cb897394df202d79cfbb8917827c705a481c9429c7ed6b2cdcc008e6c33132b9173222ad2219b461d69ccbc63a0587bbb550d0e07711c9e4da24a29664be3222c7463661455021fe64027c1d31b052104c3f7a13c8b669aafc16b9558a0431ac7e997884a8a39f92511caf9647cd8dadfeba6ed0ac35813bb9149ac44f1597b00f85786ddd972474d6a572954383fbef702118754ee38b24bcb72ebe91e9ca9a84ad5cd6bac94157bf63ecec1f77bfeb5942430037378e5776d6931af7254590b90b8ccfd3e05f37bddd9dde73bfd7e3b285bcc494964d180a01ceea8f8cef3b7c34e9192f1c89310c1734dbef35fd13d612f699ffdc50e435a07f556f246ede04074b465150fd8f0d9305526d869db0f1b90386e5f775048e6bfe2e826320bdd95ae65061fae55e7a6a427bcf248008bc7d9a05ecb8ef768e24018a3c4063fc2703e650f4080ef663a80525771b147064037eb819c3f00e9b980dc091f9dd8367e79ec2d1c30ca6aa598554af86f347cb95d0f15b0a41423c27e1491a82a29284d5e0721d1ca8b515a2e2f365add9d4c577d7d769585d2e826dacf5e501b25ee58d1ed04e16955213f557b9d774c26fe2c621c0f38d4bc3a2ee4f39fb1738240cdc121c09f9ccb36fb3c839733027152d4db959a4654ed1cb50e35ab6988a551c560b62ed5c19ae6a1d28673ab5a7c10cf4bd956d14016d1d9e063a8c5135b6a4d0d6ad15195c738a9b2fd890e834b0cbb258a10acb46014c08f77458eaae5fbdcf3cc54a404578fbe639ae1a46139a906a94bffd319fd5ee35d1938dc165935bfd453046f5881bb9161ec199a1daac82dadd11df0427afd77c9789c0fa9cbfbf7406aed350f62ef54a54398f013fcbdb5b9ad58a14c024a9e8b390b06229e005fec042a74a3e169d6c54049fd303be7344695942bd50a4689f5a7c31c63e295d38ffc90802844cfa92980b429fe1d2cf4041f3131090b59bcfc7255319ce362d2dd90cf873f87ef01ee1ccbe31a8eb17cfb2660a169375068e2bc4d2a318d964c0d3a514093f77b50f28498e4fed5b90804b649002650720fb0eea7b9da0f92440c8aae5e4017c67475acca73c946425a588d50e5cea5bb5395b8db5cec759503a6e73858dc53e76bb21320a740cec4023195687cf5e82a68a40f8acad2e68df3b8949af88ce071d2db7b389c09ef55b9d7ff4d27d157bb78aa1db6acb793c82cf0c798cd204b48622a5f6af33c80d4d8068c2468c8a1ccc07e44fa27c3ec9d505a3aae1e7508254921905fa29f5c2e232ba2e5380f64603f44ac8acff4ebcdbc53b4ed75a7534bbe9ee9ceed15d9bedeef5398526b31a766364b5952ee2809ee10a58de9e7d04a1f3b729\nresult = valid\nsalt = 45cf5b7711c199f70999902eb755aefe490c86b96cf86ac20d4e67fd87a1c8bf\nsize = 8160\n\n# tcId = 25\n# invalid output size\nikm = febaf0ce3a452bdad48338ae258775db\ninfo = 572d90bc31fc1edd\nokm = \nresult = invalid\nsalt = 701dfbe3f22c13268a04871dbb9711f371bd702b2bb41dba24409578e6481bc1\nsize = 8161\nflags = SizeTooLarge\n\n# tcId = 26\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e7f384df2eae32addabd068a758dec84ed7fcfd87a5fcceb37b70c51422d7387\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 27\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e7f384df2eae32addabd068a758dec84ed7fcfd87a5fcceb37b70c51422d7387\nresult = valid\nsalt = 0000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 28\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 12fce691378f28f92cb26ae9cc7ec5a34007fc693944ab79b6fc461093a66c4e\nresult = valid\nsalt = 329f445e7de8a156cf26a0208dbb028d9de6ef76b8de67ca634f4a5a732138a1bd436a7b345d7a0314c7ed0a00b0d34ecad2cb8bd141e2ecc1c77e237094d55154\nsize = 32\n\n# tcId = 29\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 12fce691378f28f92cb26ae9cc7ec5a34007fc693944ab79b6fc461093a66c4e\nresult = valid\nsalt = ed16eaa37a3cb51a9ae18e69b1ccb5950ba29ece2e94894ba05715bcc9d926f8\nsize = 32\n\n# tcId = 30\n# a salt shorter than the block size is padded", + " with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb0536\nsize = 32\n\n# tcId = 31\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb05360000000000000000\nsize = 32\n\n# tcId = 32\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000\nsize = 32\n\n# tcId = 33\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 34\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 35\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 36\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 160]\n\n# tcId = 37\nikm = e2865d6bbc1abf6a815067edc4ee7aa33c290d5a\ninfo = \nokm = affd91484b5ba2185adb698632e315e1ae238d19\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 38\nikm = 8c177ab5f40e9c57203883562f01f174070ccd97\ninfo = \nokm = 279bba84f187099f5b5b4f248b7e99114f012b805eb37b4f2bd777c7f626d8026cc3c36afcc6b95dbc53\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 39\nikm = e842a4fc1a147cf2f87de9bd5a42fce6457496f7\ninfo = \nokm = d331254a687cdb1572b5061984689d4a3f321ac82248dbf7c88f9c7d43bf295558d945503b573b268de153d22334133ffd026baa58b70da52169b7d4cc2a0f1d\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 40\nikm = 5b870ee1bb97ee83f67fa7335b4a0f9dadc80d12\ninfo = 0a0dfb2a6e051441678788bdec04cc1b63ebe1f4\nokm = f1e1474524b1de386ef1171e2db18b32e074c2d7\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 41\nikm = 58ea7ab33acff514ec08f41e59c17a3c66c1ceef\ninfo = 1cf9e25bd70c5546ea7a79eaf5d90cacf754c4f0\nokm = b35bdc6ce6a357934f6b078e3210d6a1a4427c808f759394f0cbdaeec4de12425c988b7deb545ba452d1\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 42\nikm = e8d20934b9d320458f4854e2442e2f0fa092f461\ninfo = 4425999958aa3cc629300c25ab15be8cea7a4277\nokm = d9ca1874238b99baa7f62f9e61db9ec45bc6c6618030b0c42c71551e0c56d37a7c59b39dbfa2447647b296a657d096259ed72cc1497f2e6b774da05c00274f05\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 43\nikm = dc9e488c684dbf0ac8ff1eefaa0666d413d258f0\ninfo = \nokm = 6c91116d61a04407703a3b59cfdba2d71999564d\nresult = valid\nsalt = 9afa7df500d7a17af1f44422d25a62bf\nsize = 20\n\n# tcId = 44\nikm = 34b85c341a04cbade472b3f7dee4de4d1954bf70\ninfo = \nokm = a043e45d56fb32c784a3aa016f40cba8fa298aa813a27e0797c4a48ac464cfd36a61f0aaa184802a16ca\nresult = valid\nsalt = b066b42acea664350a8448f8e064225f\nsize = 42\n\n# tcId = 45\nikm = 44cc641e09f7d5642f7b6007ca5a1c0813319666\ninfo = \nokm = a8493c8ba5b733dd1e11ef719fd7cdc6773c5b53b5be55acf4d3365ecb6a82c5d692f0cfda042cef5265d21efb587213155cf17399ae61bd0f167f90eca74f9c\nresult = valid\nsalt = 69c0dde6c8e5bd40553a5981fad6ad87\nsize = 64\n\n# tcId = 46\nikm = 88a8880cc2b73e73b3b6ca1d4902caf2128732c3\ninfo = 6dc723df3d26f704067afb2fb6d95a66516d089c\nokm = 27e233f30c2d8501d42d229259c1ec350f7fc9ba\nresult = valid\nsalt = 0579f690ed32e57a26701a9f6877f243\nsize = 20\n\n# tcId = 47\nikm = 8408668b9d671121b8c7d31113f045c0d7c020fe\ninfo = b4451b0f1a217db703582881e86d8044d5f2e092\nokm = 01c4c9b37f4a5c01c89544bfa5aa92072a36206d90e2feeb0d5dd7c222a4340d65f4cba61ed01e79fd75\nresult = valid\nsalt = 679b30e6930a8ea3f076e317b9595d5e\nsize = 42\n\n# tcId = 48\nikm = e6715cc4ee13c4d999d8f8f500243c321f70b0be\ninfo = ef17c9227a5ca654fbdb35dd00dd6dc77b6321de\nokm = a3bdbce02823523eaf356cd8f2dcfb450f42f93d03f73487ca86fab09da7e6cc54e0b1e38b8a04fe02c528cb50efe0e3aa172e620b3c3fc11303d1005a137d90\nresult = valid\nsalt = ecfaca2ea3301a992b4de081d9d3a4cc\nsize = 64\n\n# tcId = 49\nikm = 9a6b88f3f68f5a8e79903b51dcd733abaece1a41\ninfo = \nokm = 06fb02949f1f1212cf27436ef3f595a15ce52057\nresult = valid\nsalt = 0226df3d66ee3abb275eb39c8ec3d3e12e9b87b67f85c552accc4279ec17\nsize = 20\n\n# tcId = 50\nikm = 0b9eaec88b2940a4754e83272cbf47fb6f86aaa1\ninfo = \nokm = fee9dbc5b95515e77a78fe4c8ea77e76c21f15a1a8207a38dcbe45c3498795be6ec145cc92bd6ea02432\nresult = valid\nsalt = c1616497d49246400ba68242b635c67515d2528ee1c3b71b318b631f9bef\nsize = 42\n\n# tcId = 51\nikm = c4717276e7c7f794c4ee333b2f7a2ab244be9e8c\ninfo = \nokm = d6fb5c20957dd52e3cf5ba3f7b1b28b7be3957a0b2a39cd913376e95dcbf30b481a5cf37d50e3de4c59a67b6113adb0b6a23458d0c4be71d2baef446944fae9c\nresult = valid\nsalt = af4c63e5b554063e83e37bf730ffa401c696088ccc4f133a8695ffcbf2a9\nsize = 64\n\n# tcId = 52\nikm = 5e43a900ee0d432c5fe6fc81db8d5f81a54e39df\ninfo = 32460280e60910b10abee2e9f80a3dab48acbc59\nokm = aaec302f32a812fef48e69dadbb56936b0c3119a\nresult = valid\nsalt = 8cc815009350b0b6a924ed93e73c8f8c57a1105726663b72741b67209c1f\nsize = 20\n\n# tcId = 53\nikm = 070c170fca600aa2b23618150ab9044bff7d4dcf\ninfo = c1b0971fefa0a23cf4b7185879475ebd8d83b9bc\nokm = f56000669f0a987954a1e80e3b10588126eb087440b4b253587f5d05ef46530bbe83089aeb1eaa45f0c8\nresult = valid\nsalt = f32a1cddb32693860eeb39a5d190f5667a303d5403712cdcebb575c6563b\nsize = 42\n\n# tcId = 54\nikm = 87a23208df5e66488d23f7aaa066e87bdced8e2b\ninfo = e4d66fa23a6020820013d94d1f8e84a58cba2a82\nokm = 3c5003f24499773817f13695c45b937faa82a8d579a0afcb2ef473b925dbeee8dbb62f28c22d1379f02d29e26327d22c2e4a6d951865ae1a6a3ac2bd441c805e\nresult = valid\nsalt = 0488ffa08062f1fe83e9c3934f5688a2e17827f898aa5daa2d595f09b245\nsize = 64\n\n# tcId = 55\nikm = 214746af12a669b726364027e9a1cfa40c18f8e0\ninfo = \nokm = ac9d8595b73c4e23791aecf157ff1ceb9320db1149a5b8e0eea62ea15e4d36d979b3f79e58747b5b6d51\nresult = valid\nsalt = f65ab21816c5eaa5c9ce77d58608ab67176d2255438096f4b45779d15c2afda12718ec557bfe161e7fab89ebad4fa634cf73f2d12c884c4583e64d2b59b9d8b9\nsize = 42\n\n# tcId = 56\nikm = d509c509f91d78c33b9d661e6df1992b2b6ae429\ninfo = bea4f60eff1a0c6ab664ff3db2f774347920a482\nokm = b8eb1092a47f8b538d33f065b688b3db48b1c47724d26c7106be333228a5f892010eb4ec58597f3ae801\nresult = valid\nsalt = 95ff4b20ade46bada320316dad7e2b4286e93dfa2a72c6366c5ddfe8ce2ff344729ea56416d5b53074c6d6c4eb4e4873980e5e4a4991d6b1497aef822e16e209\nsize = 42\n\n# tcId = 57\n# maximal output size\nikm = 79210bdd3e2d9185c241114eb2ccdc9cd9a92eda\ninfo = 583afffd66331da0\nokm = cf24e0b4c6290e8df554afa553e5b6dc85afb681efa20563871e8ffc1fe2b16c2c6ed18f7913c337ddf462475db5af55b5ccc3dc9f80350a9b538573c8cc3fa0e14286af2ac908794a53e065fbc062e65129548f18be49a029d23a2215a89b16fc802467e313a23e1607b08dff77d2e46233c5232cb27acae0ae98199fbaa42cb8315f0762aa320477371021b933c27e99ce59e45e706c36e1ed24788f0080955aec82b3b8d72da158258ee9ab3f9c62e426df25b3673d37b8961e7b57b36c1b75f8b086abc3cec04fb526ba1cf15c8e91e8d60f2e774b99a1c446c707f7947e14b4e074410ea15c84531a7b487091a9dd37e947d6809bc5c16aee9e1b9ee6eadf11763e3a5d55a973e75d2739c631dbc89a5157fd8bba4de5abc42160320771667efd8fd2f7c47ea5300513b655161eb29b8b056ce4d970b2150d18d42c7392dc67b9e6cecd8da53887316819e21699a0385", + "a1e51affa46b19e4addede417978c6e510a1823392a94e99b3fb47880394e39c13931c665477c76da3281393a8a7c63e80bafc203f0cb9d81ae23daea602d2a1a6640dc10abd36265d84a10e3205ac547a6d89f4d43afff02e854d5e0864ae429f38c7ab959f2a5a701c23e4d619d632552bef2f51d85a00eb173e544f7eb14b62b9d5901ad37be747403ba78eb512ae162d6eccc52436fe36d95f0d0baa13a4a1eeacc470cff29f9a9ccdc1d3bcb216af278eeee3dd039e366a66acfc5c51bf5a4800069baf54989ea911f61f1b58790a6318cb856dbd849cbc35bd445083fb33bcda8a97a4b7bc26ae02439e06414b652c61ecbd1fd1fac1319ca9c4b60cac2d2a539e7a5596f040d801fda9e56fcdca560c67056da14137e0b068f333f3526154e2bad4a92dcd777387e7eba1068b6c1ad30215f8e948b48cd89d03665b5bd7605d6b06b1b908a07c729c78501ee490505f1dbab1b545fd612feee0f12bdf94953b41b95b122288575ca36bffa6d32dc5c6ad88bb759c8cb894b607e56499c1037cd9d5a28a5a85766bf9fe8a0a705227b3bb2d6df3377611af40a4750e9587dadbad132f243947e62f2e74dde1d842544583403d778c9045c88c70d30d0f6167ba97828985aa39019f129fb85311eed6f91504931fd431ff90a44b8dd7f117c18dbfa5346dd39b1f9e67a00f04e8ebe69dd275099b3ad752d4162239265bda196d6f6d61f3fd6dbb9eef4bc85955e26d6eec2fbe513cfeaa7eee840c32b7bc06f1d53c7ff4e4e8f5d30a3f8c45e581bf59814b95c3566e47d74ebecde07ce9d3526f71f0c075682c03aebc0e582f2245c9aa3ccebc851d1052190a6f66dc47ce4bb2428d2fbdaa2bebe569995abe925549f56a1d9de904828bc9c11daea269f181f67ce03af3efffa79c5244cde5a552e840352f8aeb741025f71aee4cd800e362bf5554302d5124843a8e71ca03714f7c103d54a1e425d2a80be6b512ed0fda41a0417d49285c71ccbcb662d7bd85e6d599defc315dac7b70fa5ea32ea9469c42feebb78619727fd75ea1da649d51539fa5c16ab24bdaca44f17040bc638009adac1b0ccee9114b2aa67c9f87997bccd9757e9c8f80fb860909f366ed8db6760c92bb5a09205396634c408e3d549305180e232d5ad0d51adae83541330ccc2e92bb8fcd50926376956a00fc195c8373df5d24d0ea45bde59c1f97d68f25eefec352578d305bb0d8c2ec46737c4ddd7bf9a8fb5d0001c9a4baf544a84d2706be2a1f149091f6e03e86ff78fdfe64be9c8fb3413f229cc9c5783192f401c5532d8f359b8f0ee493be40ca9b5d2c1a3d76519d64eb3cdef6f4ed522c52f8e83ff20ad3e35ce7d7d4cedeff21e398828b49d1f2b880477ff7c107349447e1fee43949118f302547ec168810c99339aec5ba3064a58dc2de08b4c15eacfa42a66362feeabdbedd495716b9344503059d20c1b06a135955439ca71f0274e56dc85dbc135d33a9d992784da58603d3ab6873065a36b68f8078acd3a276610e4c4335f57430ba591de81834417e770595317b02491619c259c0f5002afe89058c244468e8c8ed2fcb98bf6cf8fec723eb055eb8745de08b4b4978ab272a5db69dcd4a2ac712a66749e603648076713aea17e046e66d68102eec7a629e57803116d5f90a790ec86e3b54a5dcebb100d6fe6c04a170d9a54f81784cf59c0b3d373396e8310774a0f2063b8a8bfd4406a4e0e14cd52112334d1d1a2fe90a91a40b1becb806c53ad8039cc08885485550d7b84d7dd2d7b24174ebc1186097f44f904646bc68fdda207a99bee9a68dc41351c9a7a76a06cd66190ab922f5c8d0b03e2616f8451241b22a919e60f63431e9d688dbec5b72f7aec8a1d164d0d236767df3490131f01572e97f479fe7a4589936df3e7cd1bc267d71d182f227c9cf8c53ce5f2f29c709f21ef9cbcf89ae646a5b9f1107456ecc20ef28adc28dbe616cdd8373cf1c97863e3d17f078d6fb9c136a1ec619b1353ca6c18e2b6b9276aa14bc2013734c31d0a7641b7c478ac62c0cd19b3b33f4b40691b96a3aabb65cb17fee503bd383ecbf04219fe545b9b4e538bf3bd78a60c6973e0fabf36854cb2420f0996e68832591865db34ff84b84e7701697336d090cc0d43c6fe2cb8d98faa81b74072a4b51af9a43ff52a4a2a794793b2287fc4d611dfb681a3d87fd5dadb64469c2b3eff8770971135bc53552910ba78f154c139ee1ea7ac3d407f86b856fbd5cdcbb5ff51c8f7ac81303ac78ea78a9b2c1f4f7c50dbd4a3079033177194c9249252653dfde9dc1a09ffe849adac8cd952c6a2ae4f7931e3ae4bf49b1ea0f0381abf3877b49e920cfb24c0013fa6bdb95803d465e0165461b8ba4bd085a7581b822f2821f4fef32d1dc80655050911c93dcc86b2784e2c67faf164a1329afb12b92031b80bfd589d2b8e5b4548caf3d656fda7d59e8d6b499c2151d28586b4b735fedda3c731749ae715fa616185993c46c0a1aea431cb5e666d13937917dfcf3519c52917dd8d327e1cb6f7c02f1d83945e8d469cf73ab888e86894b64ffc632159c66af0ac8dd6783300d1f68f553db359194719cb31c0bd652affb1beb4511e4a8e896373cef1e83f88850d4c5799dad239d37116d8b87ffc27c478260011d9da68578218d493dc0b09d2112dc33e97e2de97351fdbc5009d8b351b859253e2072c268e0da6b4bbbebfcecf86c9d8a665020831566ed4f1c8c206b32362397774aa6d0c506d18890a1d616d9ce0844dda2d06af3cb3e7f53bffc642d261b16927ffa15a8fe025b77e693bd434f503c977e0d8ac1402f6b2ddf92aebc8c29ed3b64802d890174ee63348e404c936351aecafafa7eee855c68a4cfa503edfa51e927cbc2f89a8eac7427d96274453631232643da696312a75ca433e919b8fcf563cc5c84f1c2fa1a3d5e46078bd276fab4323b541e6326dfd0cdc057e6dd33172ccbed29bd35d289367cd378c78e96c4e2c01d3bfa295b3164d028ba8b7f0f8d45bfe54525fd847ead0b46af5dccc53fa96ac8237ef2f5389fb7b1dac15458c145425370c22989e09d6249c1a8266b0c924252f5a9b81695c9e566698428ec655d786bc1dddf0c2107824f0ef9f28a6eb97787d77872c0629758bdd8c47b36fcb104714b91d65d4b62a37077e6cbca5102ed64e4960d14b68bdf5f51f5aa19056fd9c4f82b3eae0d05824f3a257f5d5e7e2a22e847b1e2b9dc0ce1d146805513b29fcce72f3d03c9a6a2a4599d77fdff432f76690e42829f51f7c5af716372e830701d8e264bd89a3cecd896b973dd39c07ba39efad8e4e38ebcf040edd4c497f199b00c470cf1c8d5d619f856a003570dc421576fb781f29a2097b7851fc237ff4bb462af5fbfa266614bfadabbf4d631825ab02cdece4b27c9d4023d480d52da3d26ce09f86584d67ea2a8fbe36e61bdcf4065bb2db1c08f57178a6fb9491b9e6fb13a72b99cf25773fa79d0ba9dad45d0682598d8aaa7130b6866158fe71adb7f23c27b8338ecbafffe8b12216b3e9205686b2b819942b3296c03d77e58797ab1e0ee7c61ec507d3f4e9ab7380348753386a0e3a3a9f026d789f2f5192c97d0303bab9980b943428044516725779bb0189ff7c5d0cb05f093ca5940ed30f1b28add3a8c040663777f93bbcc070cb84b8e569da3f02fb4a425c73d14e49972828fa67b819b22cb69f49d3acdbd09963ddf174cbcad48193f2ec2e8b5cfdc785980abd790f18533da0e0965dff388a9121573aa090f1ad3d63ee7b1bbe98d956f3c56db55a22e93123375d7f0315ee15355b0588277de76cd46837ca6a2b1cb8dc00a98c06707f04c23113c0aa3d7c06b351c59ea1d2294c4ec19ad142de809d8277bdd4a40fbcfbe4dccb11d4bf323955e1415fa91efdba9dc79eaaa9be1f17652f68e51588c847fef9447aba64b6806d8013ecde501439503eda39b2d20809f78a96ef4ef88ff71c9430469f2db5069a725a09dd465e7c9c946c04778a9b1dc02fec2d7c655ccbb277572850fd2ea4ac0a45468e8efa97fa23950195957b079a0b002647b08025edb7781b0979b1a7e3a1d681eb59a70b1cfc055e0aedbe9fe56c34a479a85e766bd32a6780a193704b9216dec17dc7d92eb46ed27f091c1f62cca2a329a0d7d748502f21c072bc4b90b71afbd5d66d19df779bcf9514e81eda5b934a14a0509e6721916a2f35e937763a46dd5a7eeaa5ffaab6c68a7c0188d9a4f70f30556ee43a9604a7aa43507067ceafe41a98df64451a1047efd6c88d17c4b5fff71a2312b3d6ff558e579fb2b6acee500bd0a8f9e4e4f81734c6ef4a8fe83a977a67e98c8d2eb6ee099daf0ef410d59a60c49250d48be47511cfcbeff34b8ecdd83802dc4683c32b404609a41629a67e17e6a2bfe6cf0ac5bc926fe97c15552bff54a0d20987281f8574ede505cf802eb2cbbe4a3149e68c4f504c21d91c576a8cfbaffec52a74b842e5d7733b07624741772bdfa75e5b5e0e3785f18357c66a7e50d991748c76c29cb44167d60dfaae9b6b1837361b10e45921090fc9644a4bf968bddc0acfcddffbd44dfbd5824169e3534d7fe7d28ffefe3e992a6579fbbe06bc79d5816eea0b4033830acecc0b84ce000c377d6447796a76869dee1747a3a37891a3c00e809d1b83d0aa4e70c3a6874247e719a648e78e02d17c9547e62c398d6e5c04c88090cd7b7a1dc1e4a57b1e0382bb7bece72c973574ae0ef2f11e4f0c4c6e2e76dea70411ec01a2be5ec2f93d001ac919d01b5ceb2b86f7f4a2081b42210d6f1a8e4301390f54343db84ef4aee9dec2f2a7dd5dc0780fe95d0818b6f9aa0fc7672de920e8187dbd7ec7e3885e5e34d268b2cda1f4c4feb28cda9669fce58cad9b2598f04d767ed8ca2ae78ff5add40596e327af23353f935c7fde402fab88405f4ff78f02e69bc5ec166280f04d886ba2270c895ddf5942ccdae139cd38edbc708630f41d5aef67c7be8f73234b990a3ebb21f50a493ce10f571a04fca61f67677aee0f8531e671ca2a32aeb3540b3228bea0353feee3c144207e5fe5c2198cfda2ac9798bf376f19565c43371153e5f41bc15b80cabf67cda36aa93f92a3530dee33e4556d1702bc916598e92f78bc5637a02398f46e376eabef664b5fe7733b2d0cbb27c5a9c8d7b481cba3f07e56a87cf7aa5e039965a1237b098a8ecb89148f1e077e2fc216b24f7aef754a65809736ec673c018fa9d98831f69838600b011328f17310036dc043c333fba65812934d4f9a2a6b61fabe75b396c3848a095d63e9eb301d0e6d7d77ea2dafae8f40c577a8d3a9f1a77c3d21d18e81b8ec3936c3cc0f06982e5ffcef5479d3172e381144a352109698a3b590f73e238ba7b7d07306ba970964fa92bc3916b4efb301b586988d3f17d0c1caf2021c318173692f543ba7a8ff792608ae4bdf407e41ef017610d784f9ca3e7cc2009ab4c4c3c597677e4c4eea76014e70bb8ea84f474128d648904407acc5a7a75a5dcee6ae81b2fa97e95d9e210fecac7daad4a0a2c45bea7357b4986b25ea97fc234dff28374cddf4adf5702ebf25eafa83fa67623e2417442f78870a78141dcd57a7e3854d133362e711a06cfac847670906c9c0a54e50bf183369d65c254666a9562b42a733254fcffc51120b4ec5b911460da89a9714e204241411ae02cbfa771acfa328a7d777cf802a5b1814e0e227304b006fad8b2579c15f66397830bdaf9cd02399107332fbd538a29a0b3432775b2a1d2b088ea5828adc5a4", + "69a900af172c6a24a2a56d9a387c74b55fd38451ec802b8a29271d61d8f1e9b6e6ce964861f10b67d04a521a53e45a73e1085974f2d044175d66689b194e3596538695e83e881fec13537cbef21d5a2ab9dc9719752c188bfc3f204950dba940ba8f8023ed3a571cb0ec9c7a2c247a89b4a3fc6c4d09b5e3b90f76e617da43f1048a17bae73856b971df3fbf52eb4eb6adfc7894401df77d165e1572bccb941f99ee6219cd71ec82a3ce48ac556686cde78136ea28d5b801ad7d73d0890b96497fc6e7799548f82d2071df84dba792066a769f2e616a939958747087464c00d04f814685595ce26d81fb43f07f78daaa85fd32152356976756ba728dbde26ebdb8568ae15d2c6d7b41ce08b024417f471e65f6e143860130985c2c4b6d1b8ba51b87d94ef534b285dc99945f5599c602155a194b03c114cd40ebbd03011c6e8595eed8a9264af8f13201bffc5225e369cc2ed17c5c732331d504b4821aeea3acf79acaa9e98e3d2ee1261c366486c4bc59dbfb62b8a971b976c8c6e7379134d0c42277c779db551c8fd39942f88e2b5f6eac2412b1354cb782047f20dbd9a6fe081888a970d9f3aa881c6ea7ac8aa5d67606e03268c65875aed52d87081b9bf140f2a0598b9f743f290880cb816ab5a8cacc56e079380f25e559b8f7914dfa8aa44e3eeee479bb2fcf297223377c3a153d3cb04f22c4345d80953a1b65ca9d9256f129278bf7538d884384e76932eeac09dd287077ad60a07bf588e1504ae5581c9c30e8a82589b00844d3b337f44bf9d3fbdc34bbc4530551dbbb25bf7c309d700586bbce48a2499698134cfd224ed04597390abc324f6a28361dfe4bcbc04ae47aa7e59d8b1952cd54a169e978055103e573a68dc2dffa6600ebb95acdcefa98009ce111278d3a77a134ec1e3801e030a2ee72d179f9f7b9f1bd53517e0591076353bc5f0079d3a13e35a7da033c39d6448dffb07d4b647fd54f76f78bbb186fb9df42837fd8fc809b388f8105f1ffba02cfd150c7e35ccf513835a7c58d17fa3bb6cc36acbb12a83d4bc6d52d9f9d84227a8b25484eb9c7947f8fc45cfec7c3ebbea0a90c2ae84dc5b92fafc91ead28e5019fb3e9cccd08401f9a829ee441376fc48027b413a2a079adf7a251c3e741439e5193dc2e592038b69bcda4238830fcec5452e12b8df0697f623ffd944884de86c828b603d8577911a0d1948a06b6f81a7bc5b2980b7179d37cc0e7deb148094a0f4837db396063da3cf3df6567221e82aa9b45dc432682cf53674ac3ae20dc8187e3118fc6553e08d1da793de157c36534982abd529fed5fb325aaa14d92a9ec4ea02ad77087280a1ca530e086ef456cb22e68673b6d07ba608f34631f19d4c9846ee2f66f2891b0278d7e8151af3976bba441bfaf95938a041c8553d767777cf6e5a51b10d176fe9e58f242bfd0513e677e1f9fedd7c4ae7de1973b3f094eaf36d0b471fb1a0b67867d2720e513140e569f93240f809b711c54a12daef29fd573e58793b4e597037a0e01ec13fa06e36c88f6eea90136a51ba6cbfd2b5c38e7da13f3b903b5d89a8410bcff27fc2286b7033b228b7639e004cda29b24ce06e17fdbbfc346b8abaff01680df78d01a45d65cf594e4244eeb9f0cef5dcabfe7fd2b1dedfc3cc0540fd4959a90ead36bf92e738506ae6beac4c84cf01df8183a6f3cf7ea7983520b59a8f09a47138b0f5a75d12411e82214ab312fb54f575b33025c3f5ed5ca9bfe3fe9571b9c4b06854232e1d65bd5ac71d7be9196bc7102e7e77fb305e49a16e9eaa24f12948fbee62f4f9e5619e36cc92358252f9a17182ae12c2d78e1942e94ebb0a9cb7c58164186d100e73f93dc7a3bc543579a379514fad48d99e32fe04a947be3df5324da6267ac9b928baeb3c9f9b5181262b7e2956f0a997a469fd079ebe57f7396025abf8c594d09ff2f353790cfda055ed8b570abce9c1c18b5ad4d82a0b7195e4f77c48b58d4f31e36f11d4b64deec09c2068aadb0d74f01ff25ec85569a854f9b171bcb41de033beb985413c3f92c7650edebe9af6ed5c4882045ffaadb95e88d0d737188e81c1430b96c4afd02d2895088522706c0b5e22883ef9bb4040bd276f526971d0e7cfaf9b0d965dec0841ff9db5afae213eec385c6967aa84385e5c1148303b54a45ecea61f3e6279066fa51db25a1c42c88e340c1e8ab6f1ffbe3d2eb6a26279486f9202d8b8c02fe4a7830a4adf57764544cc82df4ca6dcf14e332e283ca6349acc8a90f0dbf1adb93ca294a93e5a34eae79a8ae2b066795f242e8408ceba322608f892de6e559c25118d1f16ead863f90456a036f4e976fa07cc9a61f213a62ed075e0668e90c0241f1dc92a14e09602ca27df696de8f90f0e8ae48960a80db14855b0b0b6c7a7a31a6e719a41df797e09dbfa17f93e9f152fb72d5f2cd56caf3a1532640ae8e5dad86bd6d87ff60cace9b651cf90fb8ff42b5d9caa904ef6ca5164fa1275010b4482d12cf46f4c240b3944e0a9b1d9ddf306668c6049ee3276ab596469882f603eede5ee5e890319693f42f16884c7fe00f06c132ae40cde57f2c0cea275edd6b40f866fad63c0661eb07176b43b529099591e63dc369bccb13b7b38ace2347052b457fccc4510639dd4ce5f324bfd6b7ca399398ff20f58bff4d2fb48a160fa04239106c633414289c419b270fa2c8866392b220a142e00299e4f85ecb1c73c6222c7228eb26bccf3af56cb6c4d308e03010b46327aa08af24bb82acecc978824493cfa7ca97646c936b641fabbf151f85f06992ef48f9e7298a8e6a77836a092d1742ab9cfb1d032e75acb3c5db7125b0407591d54d3952c5f1d597c3adb5013e92b172b9175fa38aa3a4968676112620dcb561adb016a45afa5b4b18660f4fbff9f98f21833e8b46c1070aa8e8e95850631f7e25361eac044e662158aec08cf87ec02e16ba4b1e19a969fec3c7d595694c5b48bfbb7aac5abcada36dfaec9c64256e0649942a1171f886a85cf9ef29881f297f5d6ca63679f6dbed9c638f970d65b602ba63ecb00b9e3b8e5d91d339f400f5c5908e6fd16535d93348e41bb0383c0a7f2790111415a3e8948ca0910a4f1e73f85bdeffa4b3355ab2a14e2e8368de0559c4315486ec21346823d21049860bc0d698766c1f5a86cb283b4f549c31bbd48f26184aabf676bf5ad8377df558e3cc33e5668358e12e3c442df86fa18c60241b8a77be7f12af62618e615a6a9193cd6a15fad70f67e63833cc0eb561688be0cfd9eda0e42481fe5a419778e07b82bc45682af16a7ff00055070f5cc0f2062e0a60d4d59a2ba3aad38f055affdb01e4ffed87124d07650e39eb00ba8dda82cde140cfeec546dd555ca15e1ac231db239caba419a2b39393face30ed9e9971f970fb59883b9d524745d8bf1b250da59704349227e9f2dbb0ce7339c7c9e3b8ac6e3c90974ea8e81b1b73d04f254aee6384903ed2fa844a2ab2759d32e0676d7a64f0f8cd3e5547e5e486c0011304a7b4878caf6e89e4c02306e848d266bca823d9631006aa3fb7986eb35eddc423eba51853945b786179d2580e69177311b76da29c6420549cdc8c4bf76aa0138b27a4d7a0986bb891602482ddeb6472fd6be465c06c7261a6fe0f6f8821786ae408b7de34846f158b3518cf3ca21d660d630c860cef9cb392f5019fa32cf12549d1a0479aaa70fd51a0d293d84d45668d072b17d7101aa49957e2ff5d83a59410ee9d0fde24f335a523fa35298fb5aa8c00445e972f6ba8ceac8b46562c781b9398fb2896b1121d66630b50afdfc93607d8bc020c606b6cdaa8f51146d2038abb193f98371d4235207399994b6f2eaeeec8fc5275b1f087057482ae2792a340f9c0eac56149f04012b2b59d72b1ca596cf11ec9401abb77fd62bbeea3a0c6e25ec6e17e6a5cc4cdafd8e8b940e50ad0994878ade0321f4d2c0732fefb0c5306d3835847626a82909b0b96f0fc9a58c8af8f25d8f0ade664cad6efc79739d4532aabfea8d138478b3757b306d75a8ee51cfa7be05da9255b9734261589433ceea6ab8c44264efa08503d7e87de60c40b3fb9112e8c104e96caf323c2d2972680a2145a45218b5780bd769392f9c649093373cca9555a2a837e7b719a19f446e12d427ee2c5f1161d9d1ad24e4f532db0f24a3d902d02ba3d7e6fdc222ec73c16838519d672aa767382510059edee74c619cc2d064a521224abb370d947a8ddfc26a439a028fca6b0ba40b420ec5313db8198317812e1d784b902797d3bf80593d247ad46ce2a9bcc87174527f1ed9a6bb4a27329fe7af6989c31fda897baa7f38b2231e86546654854fc979539125062a6de298677df139b9602d927e316f942cb83da88497c453a45673c3ce40e3b5385e25d0291f25d187894af86560cfd4714b912c9a4fcc2b12598b55c0d9c9173109769b4a3fb5c1d45a21f5103273d89fc3553f5fb4c19079e64b99ab9f3d39ab2b3ccf16ff00f155f3fdf33c1f85aedc471525c1a9cb468489dd92d6be3e3a864b8dbf4a21beb4771f24ea8ce6f434910d99f6141a1d64041ec3cfdcd8589db60a2cde9ced50a50f9986ef7a334173c7604d16e65f1dc67d9e7d7fa8b154a3973c6ce20479626f1706c3efd7bab3d85a9f12690c29aa786e3aaf80352640d0cb393cceee83a6ce68112052d2f6d6ba1d9c7d4089576bbd2550863fc7a0f0a382878c8095d2f3829853d6b221e49070d8512c72879521d5e956d2d0c0895fc4d9a5a59d07135228ba85d20b672db77b4bba77d7a00d45a039daa98cd70973c57c772dc3b0b9df0b3649a8afc35962a03370a5871cc1ea51f54ed2b52c5bfb4fd54cdc68ed519a40d04e6153d4a1f86c276215cf5fba4ee67f6a9d2f38d1ba579d9634ffd22e05c75a90a825f75911ac787e8cdf70366afbe6a35527b8ea875a7e218d15c9b3d833bf485a716ccbaadaf7f501829aaccdd92c02b77c24d49434f0735be5454be94010b68cbd5a7c70525a81052a46e64447caad264d71199db69791d2b8f9466238c9514feffcd74793d43641fdbc54c692e38b28830df7ddc27524cb97f1861034f5f1c9afb935e062411e407b582b09b8c4a6cccc90fbb491fbaa375bb60893979e86d7081017a8ed25538ba08d49e3fe989083869e88a38a8fb2b3044945f121c7e10a5719a93d2b33e080b9ce3e1d783048c6567e2103987d1f842693c41e44d34c130c3371cc2502cda329eb2a46cbeb56d8bd52f804c162\nresult = valid\nsalt = eb5f77214e3b70a7422822986dc397ae75bc953d3759a1ab44eea1f08b789d36\nsize = 8160\n\n# tcId = 58\n# invalid output size\nikm = b237665db1d0652011a5eb49101c4d910b11f7f9\ninfo = 5901d8fb43a50973\nokm = \nresult = invalid\nsalt = 9ad532fb460bf6d4c3eb565dcb84dd0f3c04c5ce962076f1397ca7ca472ae2c2\nsize = 8161\nflags = SizeTooLarge\n\n# tcId = 59\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 234b37551fb454431c62edd79d67da984eea21e86e56093cff9645d7f80b8188\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 60\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313", + "e25509a7b\nokm = 234b37551fb454431c62edd79d67da984eea21e86e56093cff9645d7f80b8188\nresult = valid\nsalt = 0000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 61\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = d45c3909269f4b5f9de1fb2eeb0593a7cb9175c8835aba37e0ee0c4cb3bd87c4\nresult = valid\nsalt = 1a08959149f4b073bcd902c9bc4ed0324c21c95590773afc77037d610b9584806aeeeda8b5d588d0cd79e7c12211b8e394067516ce12946d61111a52042b539353\nsize = 32\n\n# tcId = 62\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = d45c3909269f4b5f9de1fb2eeb0593a7cb9175c8835aba37e0ee0c4cb3bd87c4\nresult = valid\nsalt = c737d7278df1ec7c0a549ce964abd51c3df1d3584d49e77208cd3f9f5bbfb32e\nsize = 32\n\n# tcId = 63\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f4\nsize = 32\n\n# tcId = 64\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f40000000000000000\nsize = 32\n\n# tcId = 65\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000\nsize = 32\n\n# tcId = 66\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 67\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f40000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 68\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 69\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 256]\n\n# tcId = 70\nikm = b18e35e63cc4fe4117bf2754ec3f9ebb5346dbb0bf6d4e5f2422418771816fc4\ninfo = \nokm = dffa900130e1d074c51fe2ed2d7764abe94a2adc\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 71\nikm = 236c2ba20c72242820f63d3e9c20633162c1cb048a45dea13861e8a138b9640d\ninfo = \nokm = e764a7de3f1a3637f41f102d586b8e98f9e95bbc2db63fdd391ec8141cd326259a533fc4b2c7dc6b4fc9\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 72\nikm = f2cba42dd82acb5d2d569406815a3769b7becb13fa48537fa7d7d5e121081d39\ninfo = \nokm = a9ff577bfbbc7e01651d10589f0958f5ec2316d6ad96f9a8c822e4b0af8a707ed5c04839ace033274e5eb748db183d48a2876ba13fc11a3fefc05cbe30b9a18a\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 73\nikm = 73d97f2ffde01b447a5b8573190a8eb4f87f7ac04482836143f780ad876bfffe\ninfo = 74d2301c5aca2441372cf6077bd8806dab3e8721\nokm = 7e447411adcc3af485031fa5cb8d624c812b4d84\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 74\nikm = 6948521434707e96fa943e44988d1ad409ec57e6594867e8193e9d727238916d\ninfo = 9eaddd1e7edb6b84c96fb5ac7e0d673a8f5084f2\nokm = c746740b67f49da7bb6f5d5e6cb5e23509bece3637f33c45abd96fd8b1da48772baf655f24049af16451\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 75\nikm = b72b3854923b8a0048497a86bddef962552c8f6b2c72b2b2006a1820fea5c6a9\ninfo = 113b708f7522ec3b362999db18699bf7871e3b8f\nokm = 6b00010a427093de7e0eed1f22642b2b034b84ebac3b9002229962ef12e53b5baee7ae771a821b385656398739043da5f60d027e1d01e42736a401c853f2e0ca\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 76\nikm = 44d774def90685c0e9a685fa50fd434c807d1a57896fa42f91778821fe232057\ninfo = \nokm = 651d20c6a40e23cf2dcb0d929776e64cc04c3466\nresult = valid\nsalt = 0d7d3b47bf8484c8adab7f9c27c9584f\nsize = 20\n\n# tcId = 77\nikm = 098ecd86354496a701ffcac8d589a1217231da3b80ccce4ef85762d7f3a2c211\ninfo = \nokm = bfbcf6c703d8650b8a7d7d0c84f13f635c73e2e8f608adc8964e0ae632bca4d3a70e92e5da871821ee1e\nresult = valid\nsalt = 5232e5e4e2dd6133d46ebe5a8a51a0bc\nsize = 42\n\n# tcId = 78\nikm = 917ad396520e454a571ac39a9f6bc845a8920954fba1ac400cb2988cd8847ba0\ninfo = \nokm = 547e55f20ca5d7eb38596f6b60f9bcada416cb9c987439ad3c772b27b98cd39d954f7ca5d60c05164b7680ea25b101310671a427162e39baf08f8efa5d0569c3\nresult = valid\nsalt = 962d86949506450eaca929286ce5d9e7\nsize = 64\n\n# tcId = 79\nikm = 1cbff2202268edf1985bc91466b80133644988c5e81368cf0995274204fb0aa3\ninfo = 3e4f9c8d3d607c2ed43caa9e87e6ecbc307c6048\nokm = 7ce3df3702e7b7aeebc2c11c9fc0bf28b2b90aad\nresult = valid\nsalt = 2bde6e33534731f52d39add940ff46f6\nsize = 20\n\n# tcId = 80\nikm = d00d6b4fe088077ffbc64127d6bdb9707a0f9061c0b873c334c3be0adaa7c2bd\ninfo = 4266351bad419173279c901aea148e8b1d99e50f\nokm = 84afe4ccca3e7c99c6eb84b33a25e66a604308861622009bc7ca1c52e8ddbbecf10aa92415b003686dd5\nresult = valid\nsalt = 1647a044472179d454b8d2108e4a2aa8\nsize = 42\n\n# tcId = 81\nikm = 9a27c19b607adc8f152faeaeb1282002d3a2166894b7fe5d65829ecdcfaf73b9\ninfo = 36356cdc28187c11cbb9046f9ce7502ab4d2ea46\nokm = 96a4cbf7f84bab262ad8cb024cc2766031957b75fc412aee2f539cedcb66cc2acf7a5481c155ae91d7f6b6c2e8484a8c03a3505f0d2210f3053d43d83bc651bd\nresult = valid\nsalt = 70d83929a6376a6eab859f0d6225f131\nsize = 64\n\n# tcId = 82\nikm = f5d1c855d3448e212d76d3927ec797dc439cb182f427064288452988ab79c83f\ninfo = \nokm = 8d910333d171e6ac3bdbfc703a1eb64e1db04cdc\nresult = valid\nsalt = 87ef5da5400db731d658972ea82b76848004e70d3b22cec76c8be06283c4\nsize = 20\n\n# tcId = 83\nikm = 3f19b7095a6b3d313b59c3ba2c3a78d8b24f30c9ed4f8be9eb92f8eeaabd2c3c\ninfo = \nokm = 7deb232b3eea8f89dfb2527aad8b4e4bf0675cea335d423fe6dd224992aaea61661c886d77034111d8e3\nresult = valid\nsalt = 8f1f6c8e4f68830319ae859b4b1fa71f1d69552b0c3e53cbbad26293651e\nsize = 42\n\n# tcId = 84\nikm = b1d396c69f14994dc8add0f6e0cde4455677ba9ee95ff84a142295f9177ee629\ninfo = \nokm = 192858a93bba3736472d44cfd406f745a19afcf72824f5367fc2f931ed0057b88c06f42aaae31b660720a2db6c6052ed91b3c642a67d04d9621682ce877665a4\nresult = valid\nsalt = 7f693304bff77534b8246d832749387ecc0e8daeae11d77d022ca9e362d1\nsize = 64\n\n# tcId = 85\nikm = 003d1901a10c062ec44e0f2a94c544b7f53b33f1ea4679fa6e023c2d0a907fcd\ninfo = d5d3ef5beb9840d15efe9c778aefe38f1bf7bae3\nokm = 3154e598c6416fccebc1ab5c820fa8498177ad38\nresult = valid\nsalt = ed86cb8c8ba1c989f9a60a4a82c38be98c70e6218576b292c93fcc18192e\nsize = 20\n\n# tcId = 86\nikm = 02e0647a4b7ccfc0d3ee7ddfe24ce69c02f51cbaa836b96cbc5a9c2885c45599\ninfo = 4e9e27d971e76fda614fde15031f6664b97d4786\nokm = 693bccb2426f36134c61fe44d8f77801dc55489cfaea660f0c91093a82cfe16844a7f60e416edb0fc5d1\nresult = valid\nsalt = f0862f61f2377ca34b76476ae21e331b114c7712aef501a1bf00f7e9cb79\nsize = 42\n\n# tcId = 87\nikm = 92bfb7e31e839f109e6622b2c2c4f41ce84c9907172681920e7d90e80e2339bf\ninfo = ff36776fc755722ff371f21cfb37a168a2731e99\nokm = 325bcbf88f99f347fd2a565814d435a295ad73ec203b951e56c11055c62b989bd8138f3d0268672b8b1a1b7ef00578b5d30bac41848383f4e5392b7276121d0a\nresult = valid\nsalt = ce869619607f71fde53ef", + "55e18d01d20002e3f91a8b7584190fc6667b8d2\nsize = 64\n\n# tcId = 88\nikm = 17632581c34ab743992cd99318889b32f92812bd37f41636b5fbbf2b12190c6f\ninfo = \nokm = 696d76e5811d7808a8d1ab3f88c699685e04f12ebcb7eff276bcadbc9492fd163618f01ef9c92e597d57\nresult = valid\nsalt = 55e39431c83648867ac98eb7ecbbc8b41c5a5e774646b926a9b49c511915b0de1241f8666da198f6ba4bf7e9025e434b6d7ef794e7a563309303055fe3bbe769\nsize = 42\n\n# tcId = 89\nikm = 045b4d451bc30c39afe0932f6cd62e65b4b2ae2cf1160f19e8ba1323f7ca146c\ninfo = 613e353162c6c1b12fb1477fbc54074ff7848a14\nokm = 46f80edfd0107fa0ee7679870d8053efdc002b34a631ef9e80c4ff71f26f1adf67ad86e5e010e03e71cb\nresult = valid\nsalt = b73682dda0fad41095070b2b26f2d7d98ac62202d918258ca9aca0f794ef5e4d23b3fc43c8cabf9fcb37ad9a62337fbce967fe24054c3bf891195858e53997f4\nsize = 42\n\n# tcId = 90\nikm = 82efaeb5675daa97466cc61626f3979943f3fdbd115488655cf7d10f278b4777\ninfo = 2ef76656956e76c6\nokm = 7c46dbc4ff032e1f51eff7e5b42f7964c0033d2eb1fb9792c9a2e881abf28cf3\nresult = valid\nsalt = f0950b72da1658417656aaff8300de0ba25c294cc37c8cbb5d21500db5329655\nsize = 32\n\n# tcId = 91\nikm = 29f4a06c406716a2d0977bec7da2b1744558bf9cddab315d9a335664e0b3e7fe\ninfo = 5faad6499cb41564\nokm = 7cf6836ad2510c69ef9fe46956aa21646c59debe68aa2275245406fc317ff9aaef1ee4ade1c393070136c96eca5f84ade585215f4ec4d6db\nresult = valid\nsalt = 76ce4f337e3cfd2e2f6b285a658bb91e036f9dd2e18cf29c46765e62ffa37b29\nsize = 56\n\n# tcId = 92\nikm = 2b1cce4f551d59327f13e0eb78fe51ed5e74d1c5bce2d500d832b4b880c041dd\ninfo = ebd644650e75a774\nokm = 7710f9f762a96aceaa5096058e1fb32d62803c1f7fd3f63495bf7773ef16956f3000c53616bd5bd12a5b28df53ae7ba7c36267e2970bbcf3c4b1476928f44c0906b6ab204a746f069cc9f065e038143b842a9e69208a37e740e808c043ddaa663e52a1357617eededfdcbefdd7d5b2c5c0b208f981da0a588b10413fae9ee7f8\nresult = valid\nsalt = 7b9ab6287dea796394ab0b7d260476d02f86e02266bc9711f8ba4861ab69ac8d\nsize = 128\n\n# tcId = 93\n# maximal output size\nikm = bdd9c30b5fab7f22d859db774779b41cc124daf3ce872f6e80951c0edd8f8214\ninfo = e6483e923d37e4ba\nokm = 5fd99b6a94d1fd2fe8e1f0b9a7b32b6be4b9dc967b78b9d7a221321154c12ce014581e7660649e582377272bd13cbac2c9ae66625b613ed01f3408a560a213e8b6d364bef03ecef71cf58598dcf218e461fefd6d12db5cf2bb196b79082c5ddcb5dc7a83217fbf93c4d89dc803af71c7bd1b91ed9eed4e9515032445d83fa9698433dbc2c357a587df8d1ee4230e1519234992759bcc2b5261fa109141eed97c090806929af8a26d949f505c5f6d0a7c9f5c85e687d947691fc63c44215afdf0223b3813da09b2683e19b8625403eff8e28bd5de09a250e900d9fa8d74dd43904cc21304e708df0fbc6c42f35ad2f1223326ea921d92b03d56208cad1477249e0c9d741327dd264b1fae6f2869da8cb3f4ea0385d7ff27afd49155d2d4099c8f2afc5a93da83b8d2f8fa9668c2dbc66cb84376edc38674b7cd0285c1cff8db4d9b339973055c74bbbc8070591da6b86f5819eaa774124ec203f8e16ed9f9b03207c21769be4b989c0990eb5fc8a25a48b9a906c72f22c5b9d1fe3bbc77d0f276ed3de40bf3699cdc9cc00c5289c8fe1071703d9282d751e0d57d1d68b427a642d73a31b57d9cf321d5faf612223824a58422cbecb9d5f5497758f6c84799649a06cd59d6bdf786ef28fa0fc4d27c33fab33aa9118403286e0f0f5bb01db77e3683dd2765639d5f67b39e3178be9adcadcb336f25ab81701382c8cd9a1faa79d89817060bc3972e5279b3e04d01ace7be1ae79904091f2127945e853eedac23f6eb2ce61aba8e4f789ecc82c6ff846c289de412e0f393de8f1de0ee2024a3acd432f8806122c98be4bc2cc54ddcc80453880ac122a5b37c24a2daac608436a148f83a59f8bf8d9cf40a61ae1e03f8985ce181aa16c6dde9f23f1847ef8c142db603abf27902796140b776b3a98157e449cece81755ad3e0f963cc655b06e4f732a0c4cb8b5902d79d534738662b7f484a2ed9d328b7cc8c22ed5f29bdd13c1a655ed39f0d01b91d5d1b57c0b9368caa362792ba43a6fe58d37af166fda6f440539676fda63b1f42cea3e621bdb8e6f2909d06a38a59e9928f1bb8b0014b43eedd178a14cf070822f4db83491a42a2a07da28e728a998c4386a36f4b4b78f3b66a4716e059b636074f26a9b4535d3009ada020cb04adcdf03b798255896338b16331931b3a803c1472435ede2539d15068f6a06faa16d007ae0660105f3f6a0533792889a13c43fe7cd1ad269e188ffc3eb7dda490848239bfaba8720d85cc8189d48e3be227fd95dfb75bf6ef60bb56dc61ab0bd11bd7e82a6290a249ad7aedb9d0a5d4e5f24fde436b863602285c4825f53ffa99763aef3fc2de5c09d3daa37c5a81b42444676c48d39bfb710921a9e3fbe0cebc110c02952f3dd870fad0c61abaa40b90756e86496de4ceaff9e4123d3e561d62484a7e4f4acbf104ca2c1c4158c9f5e19661c89264d084e5e0b1e505fd83a644ae6b61be6ba04ccd79f42045e2c9254c422aa9a95ae632bd0d2f004e6d7406e83f86a37bd59ed571d0c2ff5c27a7fe97cbe922e0632c93bb7f59f3ff2773774038fda7a617aeb3fbb3ed3732f2b3119333ca100b0a43a0be9cc8e22e699f3e5465edf697d7fd209516002feadcd5a2fc5c3120ec1eba7267c25b12e47493425a257574e6815d0a82d75182b8793eb2f5ef11802ed8cc548d3d465cb54b2e393a840fbbce3d52d404706b441bac12eb462048e3da796c31effc64e3ec372edff1ca546fca3446504e05f5ff9116ab6e0d511a768f70dfb4ab612f12a94714baa0d9df0360d4398d2a7f706a6237d11cb8c36ddf06082008fe1518c694ffb291fd17b8fa7aec004c0696b7ebda028f428fb1130b554590d9d3c0ac15d596ff2ed065e0e812b1e6056862207ab2fb6651009c4a724a41c31d060342fa54ea30390596295e7861d52b9eaf4c7c1c4bef5b1f2606696c570068d8a8f9b6395576071bab35d6749d042370a4042c8a1d044c8e9db39fdc475e3294d2f3faa5c8cd6b833f432ad966f044e4a6e76e4ea985caafca2f2f8828919092fb5f4b7ec5021c1835b60a04f746c73018f01c0cf72a8004076f2fbec0e6f5572241b0141684544998b085e931402282895c027eae0819719a14c42984f46712a954343c4739e817460a1d79e06e8653060de7e1eb34b2a05ebb80750e42cc77060635aefd549cbbaefc55820da18ef2a784a7d8d87104517447085b59e8f2b97a9e6deac97d759fd363cfffc4c4c3b63af30e6958dc27bf46c786a7211dc74cb6405d374c24fc02362a283d822cde59dc72dc0a2deb07d7bc702c49459d142adcdf364103b45eff74c682fb47c7cb34a00ec01de18687c48675494ebef1f09a0a05d5597be15be76faffcb321e0d6984e4a449c92078a9b32ded0cc61bc80bf2b3f06f9b3379f438b022960ce4cc570644db11c1b9833a0f054b6311e155c17ecb0ee8cf73d4e8a762a10ec9e98d7057dd4f00d0970cdc8b6f489118fa3b18d98d506179206b1c4c43910fd81e8df00c1a5e38cfe04c0c5128eedab41f33a238693a42dc02ffa7313cbb79919b482c03659001c5aa36ac96482e882e2963bd33ce69dc0f7a5b82daab911ed9585cfc5a1880667adc0a37a090392b760d9077711ee77d06a7c9f9c68089f1477a4996c32c6f6370c57740605725b46c0faf7ca759004fe19a2ba7829b21e413dc609d039235b97fb5bd4bd6634da0b2ce67946d2047920c7c11279ba0c0ab4fddeb12a53bebe7b5f9c9b02ce66c0c7f691fbcb19914479ef3dea2285a6f0c78e8c81816c35b00109b5f4a6c71909a617ea4d73e4d9311257b828c65019db542b31a72986194b233476cf107cea9779788837f06cdaf9cdeec5e8df4e20af6fd8308d2bf848bfa742ed71ea6edad4b4595ce051abde0d456ff3adf51663d7b7bf291c2f25fb4c0def031d59d48eb365314e1c46d60fb326b136b51cecc05770fcd8fd4d2c7de05ad33be61daa48b96740710fcbf264a5b5a9bd4adef533bd32b1b7a9069ba30c0dec693337d0904019acb1e56858112052955dccf36951eb8ddb50b3e1c37d429c2ebeeda10a0f4c08ff73f7c4147ecf325334ad1e7b85bbccabe7f5cfc225f083cb2615af44d5621449c949d7cb15f23665c7f575ec0adf5718b72eb94e91dd3efee019b255ac09f69bc581adfca4c81432ff189e88da22a4393abc531af4d59344b55df8b81fe7e8f165cb584b120353fb96b6dd2f05e39ee71c859260b4047ca143da050541201355723b8a7a799602e3d67c24cc67629a03876dcf59e9b279cc7ed6503898d6a29eb7051936b5ceefe5a3aa95d31cde6814d7dbbce5cc738f6d04611e8326bf297605107be86e47892fc834cdbb7bc6f45306cb1cb4a9d9f8ee173e8b2af810f827f568e0c43d0c31d782b09a971b414e0ff003cabd04a3e05a596dbbf51de01bccc17ab7b14c4cfc10813cacac54c15e0b1835baf04319463e0198dda56e225016530f35f88cd29a2b5d4dd22b76471fa781a4ac92cca161e2b0b4c41573c638119125722195be871dab7db109b5e66e79bca5306b255b58d3589b3e08bdbf48ec6c4cb5f80163ee84eb55fb17aafe437ea8baccc91a40d078a213f2480752097110aaae940e9edcb1a5db2bd4819286160651ada8665381be49419e01be43ba9c26b0b46fa5d3149ca2b9ba01a15b46612f1a61b3a3769dad50f2e8b05d94fb6cf58790ec3dc0238a7ed6bb2988a7f8e56eba7b228db66d4defab147cf254051852c70f7019bf0dd7e3aad7e49e5bd73f7f6b0dda03476126b0403da7d1b1328921362011a9326b022913fa7b054aef78fb95d3f979aae8f1e1198f105b84a3c097cb77a6cf85958eacf940d274284f4681ff0bcd3a37df5e6fead6c252e3a3af01b730b7cfa90fbcc1e0e1d9af39b4824203c0f4e247c9d393d1ad045f7578972d1b2e4bb970b2545d773e46e2dfdebbc0193372cbb35fb3c9799a49e2bbb196c78321ab28b1e29b4e1f3ac263ca0f3854c4f28314d7dc5ae5c3b47e8fdf8ca74313eabe774acd8feb84583216d53c50d7ebc507f0bccbaf713395c6641021c46aa188be18a3a10c81bbd37f273ce93978ad300ed9691ebb52784f7a0208d34c1eaa2a32a56ff863272f7620576d6a3bf593b87344bfb2a36f1526733cb657ddf0d71881035e3d15f722c69cadf7a3c3f690bae474cd619bca8adc4917322db1130ed4ecd0eeb986f2532760ccb0050dc993e88ba425ed35220cbb7de97b7491c511f244aa243301ab24a72d8dfd6de27ddc5bae277b818cecd1066d0929a11ef1527cd9cace1c598a709aa8ee160f062b1cba0e05f2aa0a9fb5496283465d036fa736bb7e162b693733409da5b2245314926a965f4599d", + "8e3197751cfc33c0d47e2f32a53440109bc257e171bcdcc2cd92adc8f63eeaab0a9d8111a752d37998ac37e47b1b73abe52036c418b039ca2d7214b010104dcc31ecda77670e49ce591e8c422a87243e7529d1a214a84720328811bba534b64a4a893169322d03b2bff9fdaa6df1ac474bb7ff285f3652d171a460cdde44706e757ee9b9e5957d3503734df518dfa30792b6d916877c61a96bba4f104b409f6e6c378dd331fdf6ad124b2b83b885838cc8ee3092b6b30e752058e821a66b217ccbf651dfc504450e71ec6586e5f17d68e7114a1caa8da5360a5aeee9de512ef24aedfb9b48ca3d218f2800aa0c2b8e9e7cddc99a7efda35d71f11916be2cffcf12be9dca9644a856fc64cccc93940d2ecca09b2ec74af5279a3b33eed028ca439e2aa7ea02d043aaf3bf6f13511ca11162951fb9a638de1bd4925d430a63a02da095bd1439f121de1c619627edef0d652c08e4240509f99a715c51e30c6a95c08705355a64d79df580e24700283bb31692b1d1d558187d13dbf61174585915f5da61f22792572de06a64be18270608e0f4723612ca55d295d99a12751d85a54c153713d8bd3cdd0ec92f5ac910b8d27124192cb6d61479461fac6b4b6f0bff38a67c131e3a01c2eaeb6e88673a2b7d45ae3275a19e4a127a672cd91e5497a55ae90178d8130862a223a4b20b3ef51dcf658d63d26514a22107a18051f7f70a3aa1bc69cd60de295b3ac351552b909605a48a983f6ebcfaa1bc13f75db0f92ac8ee4af89daf8cedbc64cb880ef0f2b4679935f0d1cc60a60c5024a7c16ad27ca9fc21c889387977ea6b497d7c3d5e5c45d1ece8c19cca96c4193a19b36b829334385dfab2bac6158f47eefbeec3b171069f516d0fe68fbabde4009d09735fede9298d59d70791ce0572a48283a0549165f9937f165b91003dbacbedf6341b97115710021c1c32263d0edff55d10410628ff4cb5ce3b010951cc6b16d2756eb14ade18005944f0787c1d3860b750ee1e90d1d7a7bafab9d45e29260e0f228869fb353bdf071ac6fcdc0b87071b20d131cdc8305c5a91352d9ffb376e86cd72ce5973713f1e0a2d2079b133ca8a27ca6594c4631900da68dc067dac381dc16ab4da1cdb1c494f295cdd83adc791644fc6ea04915cbe120bc4f2c0e0a93d81c9cf1ca9c302497068c854d2b26d2d39b08c80efc43ec29f268a21a1c3afe2582e5741d7e7a1f364f0fc1e6a760caf6dbdea461b273b34a501dcb7e323f5f3467949692e2548dd60781e8c98262592f73e158d58d579d7859173bd25624e18c310ea8b2dcc5eabb1581b59131c877b663e55532cfa079fd08b4ebf4e9227152d69677d6e7152cde685feaff986167d5331fe5f8d2b509abaec8d2a8771e310c5aa188daca39170f42002ad8dcffd74477ce628c5d157e6e2323c3d2e768749a4194d41a9f6a204663b9efdde8b65d9739812513374659c5ba2ecb72b29a874c814e9ac1e71c005fbbe2b9bd73b00918118a8d6cccbaf2facb4cfab078aef373fa61a7aba5bed3e4b902f2ac9e5a41672c0b8aa024eae9a3e0c9b2365e2f5d8f4b94aa80425db5e16a414499f27eb4e8103cc1da41f2f25579246e0c32d8bc09f36f1f0591ff8a7acc32b2b16dc36ae4c8eb35ccd330eb9dba0abd1646b685f90cc6564ebfd51b0541050ea10e920051c2c2d720747a0ecc8c59bfead9ed542ffe1ff84c8755a2174e6292077e1bb452d199c75fc65218701a3d65a5acdd252a83df1c39745789cd35b05b041206b6e7e7b8ca46671aace80601dfbb50a9b88d636b6c8bc8318e3fd1015f6aa06a59982104ed7d08065a7d99c52f5e03ee16e0e58ca717a899fc1d329aab6ef3f5c442cabea9c20e61e7518c637a975bfc55f5957700b16e2ee0abaae3ea3a10198d7cb7cfde8d74588c9416896a477945712ba256d458b7a076f7f5750588afffc44f53ff99f77060c6dadf5cd921661f72050af110bed15d92a9853c5190d1cfa0cfbd5d73209f00b9257f9fdfc960b338642b7007b7b449bc9858391a4e090402f4b26b818f4f0e759aa583fccb0a54f1707cc222071e8b571ad78a68a1e37601ae655666a955bc5385084830ed2bff7d48af88ef15c08a59f163670a6d908dbdc464075134ee28a8b91a82a711b0ec8eed5ae747b023f0323ad5db9c1c8e7cd1436260754363f3910a94e240becec54980cd3ae6cf82f7e0d642f91045f722bc1f62866ccda4069718c2ab6f831b9b17e87ab967f58fb50ad011c541b2ece0971eda5bfa563c9d3be13cbb3c9c00b9e0297159049ab1f798fae5d555f1b76dedee3eb174955aa76b960815a9f9d9039c45e23f0b855d1c936adbc44cf79217332bde34937e523c797355f95e1ed5ca1e7ec55df924a92abd8ea4beed019aee23d4c31dc78870c90371d02f8c499bf94d6ebc8dca987a294c705f455637ca13f486d6bdd2cc4f6c6e41576ac70479f63eb74f10bb0ed3e82e26d92399046c5fa2b77720415b25c0d86ebb435d5faa4a53aa7103d035e050aec235e848c1d30ef28f49bc12badf7e1f1e9928614e373ad0f462991f0f2cfe39b7fb10d44d6abd53c506e7b2e728ae537ea2a126dfdb3466e373fd773deacc438d55b06f78b4abd8aab4ab2b694ef7422c177cc358ee977afef5b5d50717d4856c4839e747cf106cf1af079c33e8d946cd20a240fb94efe18f0ac7b1c9ab8be58e891976b7e7693cfb0592901bb56da2918b55da38a3615207720972a028266398ef451666fabe85d79b154c0e8157057847d93c7cd14d9fd2173b0f6b57fd7aaf2fee3eb98f059c7539557679090b842186357e19fabb891957788e34264ae867a83f5c5a1d79cadca44dee4ed6797611e9731da5a98b5b43f6a48a67431fb5b1f28e5edffe36a188cb696b0861194bb809b0f8687d790d0a5ada98ab06f6c1aeed04bc1beb0dbcceeece2e0ff3dcb54615206ec070cd109dd6eb5b4a84eccab44ab4712429eb91c5bd2b22f04ea140c252db8f65c42fcb09ceebb9e1de961a8d9ce1e536a5e040f9999ebf9bd8b38cb3562fa9b52ce8e27877303d542896526d5638f8fce8b69dc0ad08e9b1edbb404d24ba86bc37297a5dc0608557f9c520007078480adff54f8a6f36cba5441d7261f1985ad48d0d12b9172e1a1bd463d102134527099ce0c919d427dc53478fa6d6276e438cf83abc94414a5f73da8cdd206613833c836edf4a5d2dbbc7689a8c1abb9cdef52944d31a65d61f5d5a780db652e55ca89dca7d67b7e920c08e95d7d0252d008194b5392c948e4c00da29c0ab2d6a8d8e71fafb5c25e006a5c60ca27179312c7254e5eb82a9797b50169b21306cadc75a96b51c76f0685ee77b13d1d05985c1fcb8dcdb131f5292b79e076f101228173700800e8cb992e2fb3f06565ea245320b1abcf4461e40e6d01708758aad1c790f7859c47d85ad07ba8e693a056907ef24c37e7b2ed52ae5a36552043dc4cb67139b5bac5cb42d2641dbaa76d16aa1471305d677eca15b2ab5a0c54ac4686afc42e541c2ca6c82b8f2a0e4ca0b84d70822d3c86c3c8344f11cac9a1d9a846dfdd55d3789fc1b48c4382d02eb6d9c1b56d7ab915e10907383770457c13ac1ed8cb37b382043b00b921dad98b35ae0f62664b612032752a11902b4abb2b57f403a8417d58467eb35566fee7508e4efeba70f10fe8eea45aed2c3ed7d1c4124d491a4a609267bbeef11f79dfd8fa009b0053cf07750264a44771d94fd7f59477ba8cc35e98dd58e3b32564449b5477abdc1626352124323a28db2340a3813fed4291d6e1ce3d247cbed072c92b0c02214673a5332cf8df8f533a1d042e63b087c0c6666082a6688bdaf355c28592e933ca0d22b271e3973f8c3e19a73eb247041f0c4888ce1933e64b9353b8991e8e6dcc4bb680a4cda36eadb8684ed368247c079e3ad3c9eca7bf36af7f45ef899345b8fb087d7b9e0d74169b9fa5a25cb01512479c6deddaceca52e56682cc4cdbe1228de2e2fd4e2d960c39dbeadf0a170dfee63c326b4a1ecad2229c8244920331aca9b2aee0e2f8734f8b33044eaf313adc11332a2c9665d11021ed9807b8cb25fd533f36e9aaa71a725de7b51b60d00f1ef156027d7170d3a3ac9f05d7ff28c985322ec94758a93ae09c916f114bced7fbf18f8a87e1e7e0d38a45609c78c3c7f4215de6319be36f4900c2a6a333b680be8997b2e5ebef0dc61c45085ac0e7194070f17d1982ae77ea146fca09f02f4fe51ebc3dee456bac5103a7e9d92c6c3c33fa401e64fd35e4ec598c61a9a3a509383cc8bf206ff3686e16a62e603ced7512249b8d0bdbfc8c8e17610e04313ef99787bb305d7eafaf61c3f4bbd655fece58867d68a49aa0569e1d4c267cf30af3096b9c6974a1e14b88ea41d390540c7b9dbf5f796d23d4fa78493eab7f2d8f9004f7ffdea1545a49e54802468d30bce39995d712645aeddbecbb0cfebff195ab658fe05c04a31c6254858af5d8e57f4098e638f1faf3361d851bc7d19e72d8347c3fd27a16fcb329bbf9130af7120e6b8551fb82466f6a75562c50199017ca29fab28b0a38c1a3787a1b66d5edc9d7937ddc8205a210b5a339170bba3fd387e776fbe0f0dc1f05a339c0ffc8ea6f5ec60a7b8d51154103939fbb09496c79e6a62acfa592654be3067ce0fb5faf4499a7bfbe01f0aada0c03f8bb84de45f09e5a4b54bc6edc14588b705688fef1d0188c8726e69ce8c6cf22b576e96810c586601feed56c7926f4fab1cf71802fd25f8ec4ec5b27a5e163ea7a9562efcdb31cf49d310e073287941335babe8d8b1df469e47ae1dd068fa820453db30c3cfc4f6d5857235bb0951ab5e2efacadaa5381184d0a03eaf9be1bb86f8c7a15f078f0be01ac7adb3b1c455e76d1dd3767592ea6cb12986c48aaa4c20a00c8d11bfa44606f5d8475cc6dab844940f88831955d3686e3d0a659abe6482d560aa2c721525e66baa84ebe53aece8e36252b8d2458b955f55eb3706047683130aee910ff235fe48d2e44c868afaa3fc4641948d5dfbecf3ad74f7acc4457207f7e292ff1355af9fa109c498e2613f13071b229a4ebdc69caf29872b6c98cbd17b60fc797214bad78c987451e46418735bed33551e997e6bc8093941ae3d4a6d6a01c786f689e121e02827fc0303852bdf72f44330ca69ce6cc498cdb68823de53768741dea09be1bd98cceeb7f89cf473ccef1f3e672d32188cc599f37ce5255edc6148e7e2e3428d74f112916709609911f6b7f3569c50b9ae727f3365e1f14238184e9c67d2149c2ac408c6f7d7eae8b3fa763706dbaf0271402d92c639810f59698dc9117ad42e1c19701c1d32f069875838b2d83e5a8c8a064ec82dcd1ed3526e01bc511c41fc09d53856dab28f60107769eb259658d84c50e6739edef6f4df380a74c17db01dd0ac1f5465b3eefcd046a1e52bb54c98e52a22af4497c5b59d667b54d7f11969a547555d573df24946d51887f45fce145982b4f2632007f25f280dd87aec910932fba1f742218895412136ef7041f3d00e88efd80260597434a0fef735d07a3f57939821f13dec8de69fc4bb98f5ea8317ff7f89bf7af215c7875142e6c894c596a24acbb703fd5a4705d37ead919326ad55d19775b5765a7cd60314cb453a96bd8c64f51f19f9144f3f88072260d1a27d758fa670d63cca7b5d1ac750b591f0227fbc250f139e663f42b0e8318ee709f3e2e04015ed16918c57bf108f7a8fa0901c99161734db72e530c4e2f41860b0fd703913b4e1993", + "a0fe32e26c2b93fd195aada3b88ae1bb5f40ec7e07bd6bfe95fa1e3cb060a3dab1ca52d87fc955956a25543af410888972e7984eaf94e80faa1b254569c95b0d52badeefd14e4cc14c42ae12adaac72c9eea48cff90ec96d85b37e0225ff9bc82cfea6499ec29d56a61bec24284e885e0021163b14649a050de5a90b5b941aa0ec0891e7d7052d045ef1ca93c47921019b3140b075eb6d99ff5c327f964b5ccb4d3fd4e9985606fa1f2850d1fa5fb1e902049c015d13b128f322fa47ba2552fdc2cabddcc3161b34ae0541945429d7607627b45bd7a808997dc1d5fff59ff3962a300da1dd37296d1cb39425e5fabae502da8d740bdea15101e63b97d896229910241dc438b0937b66a0df0730a966a00df510a54ddf1fbec550093591f891b2cb17934f0380094e096d0448c91bc7d28a5719ec9a8a2f6df5b593a15597a7fc6989eacbb343c928d7fc5e9051299b02b42db3cf3723e92250bb84fda24f61bd5a86e2696f5aa07dd1108fd5862ea54ea307f5a54e7a192f9ed2b214ef65924eed31e07dc3b7ba9a4195b53d446104060f29b26acbd1e36ffae1c0f96d2310ecc1d9ca125f3dc682678a47993bedb9cd91133740d17eca07bc0eb3d8ba18a3eb52f3d6779298045766f33f813212e766f76e48a4b0416b5ee646969659b490da413df61fc3d961b87793676a877123ae7038b3d10fda9fdb2a990097262004b63ae4d992270d53ceb9572f87655f0dc91b78bb4a8ba6047a16ec25fab31c06ac7a2dca432d4b7ae82b1acfa3ee0910af0f7717ea57f98d3330bbbfd0ce475815e85340be8f3d1d713b0d7c437cd5a04c5e511c6d55314d61274e8354c37b8c54b3cc613e9bc97ce393fb2f55873105ba127fca0716bdd399905948fe42b76e7ce9a3f6e91abeb51c346952241edd6edb9c6873f8ed5ac470ec6f69e75d42b88a643b9e10c7515b93cd66cf65a636f5f6157001c4082d53c5876ace30248dd982f035e6c4122a7a5d9d299c7774e55449af162b7a7a33394742817ffd6c4b5aad1e62c7319c1e6724d6fd0c8c2cecbacd2a7eefe17c1cb0b87945f3a19a3cda8cad0935fe7cf6211bd71b54463ce9e5a9616a5ec60bc5c85060ec0a6e63d0c5750d2bd36f6042db66accf596724bbff5d200e3286ca26b744aaad6288cde5540c8d2e99e6b682d19baf0bd70582c572d0271f259b6260ceb5bb831207992c5b20c8bd37067e48062c309236bc08cae43ccb0fe28dd0e1d05a910c5bdf7e255e056b06cf36d9e384e76c8cc42827083a300be06d63e2f17dc39415597fa647c502fe45cdecea40cdf6a5a133ebc8beb2303bd6a628f6c796d71ba2a5aaa4f0105\nresult = valid\nsalt = 90983ed74912c6173d0f7cf8164b525361b89bda04d085341a057bde9083b5af\nsize = 8160\n\n# tcId = 94\n# invalid output size\nikm = 2b1017f28a19841832f576bfb3108db78a1e6f2009d49d25aade75d403ded34f\ninfo = e4978d1c18687176\nokm = \nresult = invalid\nsalt = 41535a35ec11384df15a0a24a65f067591b446ac4514f7d981724db4900a6106\nsize = 8161\nflags = SizeTooLarge\n\n# tcId = 95\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 2d0d642aea95ee9892fb87ac392b06aeaead1735c3468fff85c4d65fa62d4a06\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 96\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 2d0d642aea95ee9892fb87ac392b06aeaead1735c3468fff85c4d65fa62d4a06\nresult = valid\nsalt = 0000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 97\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 99dfa94cc0a5e1c313ffc5b3e664149bfe9c85afa7f4d8cff61b7b4fe4b9515a\nresult = valid\nsalt = 0102c651e047fed9c217bcf915520532d44999534c1e7e7c87311093d7a3681aff3e2d335b3c6139b9fc66dcfe35573b36a329a550c4cd20bfe2a90dfea50167ff\nsize = 32\n\n# tcId = 98\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 99dfa94cc0a5e1c313ffc5b3e664149bfe9c85afa7f4d8cff61b7b4fe4b9515a\nresult = valid\nsalt = 4031634ed8a9a6152058b921eee93908e7277f79263e73976967278317c2b885\nsize = 32\n\n# tcId = 99\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed66\nsize = 32\n\n# tcId = 100\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000\nsize = 32\n\n# tcId = 101\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000\nsize = 32\n\n# tcId = 102\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 103\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 104\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 105\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n", }; -static const size_t kLen77 = 32019; +static const size_t kLen110 = 104065; -static const char *kData77[] = { - "# Imported from Wycheproof's rsa_pss_2048_sha1_mgf1_20_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082010a0282010100af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6db0203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6db0203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6db]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = \nresult = acceptable\nsig = 50dfd875f0a46683f4783667b72993151e6a69e2954538d806fc362725ac6c05d7cb2b99b28b8e2b1c911402bae45fab0270b0eba744e97c00eed757e57fc0ea839421587b3011237adc3373963dfd3d31f5d254a6d6c206f1eb360e9b0ad3675250a4b0cc09f6e63e1bb578a440b2a2a83296056949f61b81a5381e7d05f24f593c471b43d0b408b090af63893bbc535ccf9e1a6c6c96186e59e5428999e2df768ee7ccd4a7ace1feae6b0794d44688ce59c3c5086e5dffdb572abbb4929db6ce219257421aec6f94fdcd2f519dee15d3a0757e366a3942d606937701f5d7e4a1ed9b903739e7c73d98bac19075f050b782225824ce3e28a3175384dab91935\n# The key for this test vector uses a weak hash function.\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 3b32d1225fc5702a3b4fc4bd29a0cb84e0ad17f8b9879d5d8c870f12ad5a77e45995bfc79f6f73078aa76dacfc2160bd322f5a6854604da364b44d267fe13a9016ab408436d5fb2dddeee07bf0d936b7415f565e0b0d9a0cecbb2a62677a3059d07ffa9a191ec7dd5b26914aa15084c10b3ee4c30444f5777901f15f693077876f3691845f32e94a5ad991f6135a7d139281fbf01ca27a889e93d07a79e48c2cbc02847a4ba685ad4b84e1459fbfc848dd203d04361df1441b3184414704ccfad2e7f5b2dd863cdb1ae52989e82148a1c6bfb605bbd0f38fb7755c7381e6392746477d96304444a1003307f7b21faebb44333d88435b3ae0248729d17cf83e81\n# The key for this test vector uses a weak hash function.\n\n# tcId = 3\nmsg = 54657374\nresult = acceptable\nsig = 719d263205cdbc0d8a9af580628386f68501f29f4026dad9116f149fc285870ac06f570a3632abd20a01d76f617b0001e88ad7606f0a48bb49a8ab1331ce61439ed35c7e45df9c22e54f499309dc2bde89ee9edc8dbbf9b25b60b021f25ae11166a9fda31a0f3a84efc891fe436e3b22e3e0a6c0f2dde3868179abf673848a53ee235671eb401e3b79faf94ce508a7ca3431c2ade11b7fa629ed893881ac731d6d673e5ef4d5ef7f1c12145c9d060fdbdb49fd43db4fdeddaf526cda93dd1a45636168e1b9115ba41e17adcdd95e6a1b7525452244ab6f46cfa01bfa787fab605b82c43a2f65d2e0b066b34b5684369d3ceab10c37a73d3c979be2ac996ea036\n# The key for this test vector uses a weak hash function.\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 1ad9d6447423c4436a96c17407f8ffbcb8a41ab5421fe319222899e9091fd219690a97f801113d33e13fb5920335646616a35ce4996d63504a2c0dbf7172533b06738706ce20484698cfbd24eade67ed91e6b985ac2df1f17c4598125b2439286c9c01fd10901058b7318f8cc49aadab349560d473c30c3389905311d78288f900cab33b5db060694489a018c2552e588f32832820703e3838b44519ee9430eafd65076e5c8195acbb85ea1e4502810ac13ed72614db0c4bf94ad83dc95ca2bd47688021a56429c4b74b1acd82f242aca266f8a02defdae8b47e12d790c6a7c157d2bf530d50134b1e7c8446bd13884f3de0d44fdca612cd3d4260b6570ad0d8\n# The key for this test vector uses a weak hash function.\n\n# tcId = 5\nmsg = 4d657373616765\nresult = acceptable\nsig = 19f7396f4f538b1dcb82f556ba9b4817aed67eb97229587db7ea1d70f5fffb2af67f4bdf31915ac5c528648fdafa19c21e41d868a78709ec3a1f1f9a4d992c8e5dc98ee7668e66812bac88d39721e6bd6262679652357be5a5d54569ec74a0ab4e9c52244a927b1472d97368854c1dd1bc253d7618d5a94d1e64dc1630461c1c506a5323583e75fcd32b2e30efcff352250580dc8b780dfe1abd5e2ce4b2c58b17f9a95b177e4302e99815aa1de7e84050323cda3fd9fa0e22f5ece22278f075fbe3a09874a464795cb72080a3ba4d5a94c2aef5733fa3b11a9a0172e761aed2eb7e364c885c6fb66c54996d92a98ecf837ae2c3e55354f56def5d71c09a7698\n# The key for this test vector uses a weak hash function.\n\n# tcId = 6\nmsg = 61\nresult = acceptable\nsig = 640c44887275af542fb28ea33a7cc1c05188481d69c8a46d05a3651abb658d7ebe5c5d955c0b27ecbc2cbc05d131910b563e56409d2d0ffd09380a880c58324bb77d4d91c64d94d4f50751a046e1f2a617c20bc34c18636389c89fae170370da1c83c3926431ed164d0518c1fb8646aa7ea43c20695fb9bb1a34adfa2a78bcd97829d87b0a87c9d8e510d25a51ec1969c3ee0b8a22aad0394a36f0a98af973f7fac61e4f9d5c6c0c9b6e703c33e28b39e28d9a65e4f451d3d5ff6ea369f65a38d93bd91b30459f4fd1ef5445dd6ac45715274d3ed28278424324a52fc1be917e4ead14a94fc2baa3e5101fc37f8f1beb2f9601e44c0789c325ad2189c9d4a2d2\n# The key for this test vector uses a weak hash function.\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = ad5150442d1b552326200ff1fe9bc797e4be9e3146b92b269a0b2acfb18e7ba326319c7752ea7e6392854a5070f3cf09e0ec54227b16526bc13dc8df4a7ccde94c7237c4d49de949c2c407679f8aa49be386e09f0e35e6a3fece34273a7e88b91a658d3e002a939b16637ee152398ba912284f2d3726354616c155cde76df1fd421936ce213df0a4f84baa01b111479e1c4593cec97a609e2fd54d0350d7f08b2a9dc094c6bde3907583da25f3d6abcc404d2a321282d3a17379137e5ad04e544efdcc62af54a544ae1c17467d99a68cd8e20daa5fb4f906e7528e306688ba58e80d41f2b0c6a1801780cb6b6c36e5be80d1da4e0af005e217d57c3fc26345da\n# The key for this test vector uses a weak hash function.\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 4f732634b50d2ebaa205b8ea73349ffb95cc494b4c8f722de0569c33c2ed4a977095e03e87abe532f48e811d86c8185042cc0dae7cbc59cba0f0aff6dfcdbabfa3dbb2e18e0033cba1cb2661d289c15aacf45469bd5772de4bf378fa4cf4adc7dece05436781c4ff1085dee1ede3f3979d553af3c68f42919ddfd151710644c80c8d1da6cf4cb51f9149efe4e7921ee2f192f057dc6690f6db54a1affd0ecd0d8c205818bac599856fa7729ad63332c1aac2a0148102f549b11b8f33afa638710abae7ab052ba118af38fa87c7f6b7b6f722b513c9c202ba47d3c7a7d0228b535e5f583ed19a014e2e81e4495dede1b72650a4eda669a0e76e78a40b46020c74\n# The key for this test vector uses a weak hash function.\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 52c4c54d30d822b6c7d1741395f95dc303f068680efd2bbbb864c0cce58737f3ab12f5a086603b6806812e3ce39330fde071a6c113a7f9f64c9bff494832f0bff229a0d40e4b67a6e505dbf942af6eeb700b4e6b6e0936ee30fa1a25710cabfc75348a30c951b84f975789e0fc78e9298af5f3f2cfbe9cae763e127720c8451647d3e9c39efc19761c3d7a0c880ca7f84d0737f59ac0e12a32863a34888518f95edaa1cc057e1bb6137d497807b878c91536e09a0a4514cad144822bd7d10c61d11a8810b9d5b81b2127bf626540a5b1af5eabb3db40bdcb528c6bb115ffe61d107d3d593ef2edb375ebf25a91d17ccb63f1f9be27127dc0d00c58e8f6b5f3bb\n# The key for this test vector uses a weak hash function.\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 5b7524c140e80b5fbded9106c9d731233aceaadf71580e5b5632f62c298c670fcb0872b1ff9034a27be61539484d477a3b56e1557b7e6f851ec0aa74e4b6df7b8e0d36771cccdc06c8a1a076a803cd31b1abd1c8037be9fa4320a339a28d731d2824070d7fc816691a6faf233c83e66c598943d41191912edcb298fbd35164c1d5d4e35483f477665a5c0a4d518e77ef60b09bb4281c47a25c20a1a91f6a1749ad0a94145b3c47113ed08e3ba5e938a751e1d1b282cbd48ae980ae02a41604b2f5ed10", - "fdb6f1ab3427cbdaa9467caab56da29a2290b92e6be75f242fe97b96e55545cb18216bd5b654cd014107b2448ac33a833682bb4f79401be44498655687\n# The key for this test vector uses a weak hash function.\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 0a1a47c81b13e02edac4ee16a40e84e1b400285feef1224dd787516cdaf9c81431eb3523226d95856f83c0e58f804ad9c0765f5173dce0268a6dd73d65981a678bcfaf867bcd880bab60b779e032ea7ffa1c4755fa2cc0b67f1714e1db97603b47285e4d43b0e4c1c349d338f904968a8ae6a86683e840c3018186b4dc2d7ea58213120d1dc724a3fe72c980e148fc9892ad4ffcf8336d2f0d99963edc2ec7f3bc5382db750c3c6ea34d9a2c78baa9dadb98cf30361a91aaa01a12dba123745796e13eaa3e200c725a999cd84063f14657ab51ce76f7743333dfb4b74af77e8bd32092776b892430beeace6bd3c2f59a364b9820d31bb3adeca568491fcac10a\n# The key for this test vector uses a weak hash function.\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 2b69fdadae6e8854e0e4aa6df667d4cb4e278388a25b4c37f90d45d425bf4f9efdf078cc2e7888c1ff71c2a593a8982c19a6c5b2a9b54703bb007c43226a2d51c35d011a981dd6bf3f5c7c68520468d42417b4f11f62e7bb35c4520bd7d02b74cef0492ee32caabcc35b42166af3a7fd3cc8dac12474a7c71b87f8f018d7631f6452bc7ddb35ceafa5964b010ed1595ac53098557dec598a0c7e861160949e1e5e43ce126add866eaa035b76d1b10724994703178faa228aa0c3ca90f1602dc90a53e8b1493b44192b4488068b802c3ce91c2696c336e1b789e9cf4f1e153cc0eedc8c7f23c580d842078199a263e26bb6ebe469612694e8c6121d97edc64918\n# The key for this test vector uses a weak hash function.\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 63384fa945e41c0e4343f43ee12c115cd021737b7cab9c778cc451d180359c9f39a1c457ce5308d029a508c19ca61fe3434bddf28e836726e6e6d4d635cc3d265c8918b4bd921971fcc7fe8857ca330d01cca47d0dbea91ffa7bc813240cd9a81f799f961d00adb060f599836987f5ae194e22262d27f216dd48497205fbafc4274e97f427ec99ab29c6090a62ae6edc777a0494d7e9812dcaeaa51c436d924a38d8c731f4a82243f0fb132fd9f77403f9f0c7f5569608b530b61a69ee8e0c9f32da8d5bcdb0e8370e964a952250b3fece411cbe28d39ce7eabd54f23110f97fbbdb902966524493fd47833addea2baf31979ef65e9ea5f087f7cc898c463503\n# The key for this test vector uses a weak hash function.\n\n# tcId = 14\n# s_len changed to 32\nmsg = 313233343030\nresult = invalid\nsig = 6249a0d0651ea272e9308178eeac74e98e48822bcfa21a2663689e1cca6735d5d298be1d1aa3bf70754a91d87342b78b385cbed55fa761d6ce58ed81411770cd7f4d0d1ac96b2966caade37db00e27c74b497cbbd76f9fa13c08596880a3357cbf05e42f826cef564e707e378af170f9ac892e081930b20183925d6f4a8e934829784472c49c9f384fb631310b376282476130750ef3de53fbf564f2d2cf3161485ffbfd0b96d98b47d4df23dc35974bb853544389fc6ff6eade53d9f4f14f0ace492eaf59dce778bb4398478a531a5ea9fc3f230e0bb973eb173a197d840d1eb080632cb7f4f0193e82a1c9571127616609f55e9f258b42890189a70adee22e\n# The key for this test vector uses a weak hash function.\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = acceptable\nsig = 0580894932c20ad27584f68b560d97e095cacdf2b69286eca83396ef0a9ab5d89263ca8e90f6c7fa59736d0d99ce437f6409f56a07b6ccf228965f556f6ae9f1e505a512bda0420e177535582204fdd933d510dc3ed9cbfd80ae37d1bc1c621f06d32162e0509f2c5e139953796cf306216106ab4379030a26d87b9c761bc9b35d26e296446eae2c5df7a54ce98a155292a7bab987c7eba884b0638e659d57b85ee9093401ec11514e67bd0106fd59542470ab328bdbead97efcccf9d0f85bc6ec1879a2420c5ebf6aa53afe3f62b8197ae16593ef4049c0e8d76b2990beebccb407822701fef5e8b5210982a9f392192491113a7e2e69bae2b1779554d97435\n# The key for this test vector uses a weak hash function.\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = acceptable\nsig = 8f183006f11363b35cb506412c27a1b2b12e0da08ae92233b0248d8ef6c4981ed0993a447e6a5e2336eb33fd8145e8b1465f5ce3cc157bdabca33a2aadda31223ce2f0e8c4ef20546d98476f889064d8e95043ad7923bc2e97498580085fc84a36bd14e3fd056d859a677c3fb01868f8a2bd27d08bc52056d060b25c9b5361871e693cd084918fde00f2d6794a3975c92436dca1d07f20f321c0e5d0a52499be6c1ea7be2ebfdfb7982bb51e72a4306ec1ed7484fda2cdc3d38655d92bded1541387d90ceae0ee0e14837ca61c3acad3b3b06b45b84819fbd4df0502eef53139ebf96c804d780396b397eab38f2ca25ccad4cfc8bc4cebe70386d7432e876ec0\n# The key for this test vector uses a weak hash function.\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 6dc8af93242468b652f14c470730651d6b2de224c15701f025ff056a7b0d72b383fe944e0e4537ab47ce5818e13787e652c373b614543da38a2708b6a522e4c3ffb5790a16d2aeb1aa69610a7dd858ac9bf415ff7c277cf6c9cfecff85df6bbd400f000bde74206068a658f27ccac13055c50911af77d1647c582d5ee140c971701f15c5520e355d32704e383fbf8c4fa571c26a55c6c49ebf4b3f6bc26ef939b575ebeefd4cad99afcab0a9ecc8551e428b9858bd5f6f8d497fc75121d0bcb651bd739d93223197b9306fa6842f695fe651e9b143023b962eb166d21384bebcbb99bc9af257b0f8997da90410646f7783ac65741171e7c94a10c3aee10c1a25\n# The key for this test vector uses a weak hash function.\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 89c0510bdadd44bebee7eb52cef303a1b751539ca4ad31752a9dcf3af755844eb1b47d1879a4da10ff766d47df1871fcf6fcba06e101134c304e87f1d8d255f5363bb123d56c9d2bb5c3056aa5561cfa772a1f9265f714fa0a5118356699b57efdb2c2c553af1ff41026bd8c01512dc760ce0d62a88d868d46914f6ac3793be6aa65e0059e61babff5a8e58c3bd459533013ca0bb19e63018c926c11e4f910b18263fe58b259f1e6f517f0241d4787cc2da771039ef73db3ab3bc364f65a672561c533205740e0c5a0ff754aa90683d3a8637781d3d4438acb8f917d946543f9054a2d032723e0106c56c278ebf63f66dec7eb6022a5afa352bbd8c19248e6e4\n# The key for this test vector uses a weak hash function.\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 5e0670e048659ad9e3b9ceb3a07cc4a549ad80fab3f76b532dd077c2e841383a781ca0bcb4de50dd0f737f923fe03062c2d33a9ae9f4ce827cb993369088c8cf6dc3e1765d09d836ed63c3f6a949d2726f429841c6b945adbb8d10d5d7d3f0570d30a813a32c20633f03a6cac4850f5aac776c7e573902af39daebddb205efdbb057662116c41fcf9f46d1d0ab536e300dd9c56fb7dc702fc0385e25149c64cfbb5fe663660feeebbfa009bd40a9d011203a2b216f449c5b949805abfb766a3c2a1d8dc8fd37c1ab4f228c0719f72e223c3d4937fc871f6972268313fba32788f79d20df3ce6e0a540f061711059a7a259f5c38e0389a77e61f13b094f1c4010\n# The key for this test vector uses a weak hash function.\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 5694842681c2892a52cd903b55004859553dd7b42f85ef93492c74278aa4ded900a13245b4e3fbae340bee5880e2be0ead44c5ac0d529063d9a22145ddd9652259b0a134213a56b7947c66e525e136dc86d1ead3e2d057018085b5cf03a2621683d59e60cf7712515343681f857821548dd55092644219015b2e39ba4efcf3ac8794f942e1e7f9285dbd7b24eabe422a23e1c9e61bb42f3c204f572ffda99ba97c90cb0db3936c262177e1562fb333f9cc1b859f55c9f3645e14086804ee965184a436ca13fe458ad74818b554ac834ebcffa4d54cde2a82233da5aa9ab0de031960e1cf48fb00aa89949f8cbb9e149914aa401ad948b32f90f93505706a8cf3\n# The key for this test vector uses a weak hash function.\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 012739d50132db2da632e03fe9126b3b3044f3c71aace80cfbda5c58c22083d0be128a972a6dfdece0445e19161713f33bff4a49ca808c5d0ef2e79de010f3e28eeb00233e2ecf35cc7766b1c130912557beae44717524da4ba553eb2d4ecf06a331c9a82ab6182b02c7143dc9ad1bb33075d234a6c40c6551c864811bb1a4cc8171c6d814d79bda4647f2f11df515132f605b38f080ed400a976f36fb81e58ddd1e01b7de4f96a952e7fb13b2169f70ee679f07b99abca564efebb234a0d66c24bcd7710f89839c93ee6868341327a14960c0e385cb786888e8d462668f0d5f1db94c69a3b4f271e4e7cb64117a0004c87df15ca9fca63f19a0f49a9b61da63\n# The key for this test vector uses a weak hash function.\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 9e98e3431040f3f939def28cf782ba23cdb0a92ceafddd4c6469351c639780a195140eac331416d00a2f846582433b5141a3021459a2eafc229448b178c376c0f6ad8dc7dc1a0cd048def48eace50e8f77a0345cd3666d20389fdeafa3d4474d50a41b7bc6db000b128174c82df7cff6bd17335dfd3f6d954e065ada694ed33c291b82191a1a90cbff58dcfed4f0fdc720369f74a9b218d85eb14c0450e1523b688f5ea1e5ec9ff10d39a42f58902f6639d0f8e760d8f6067a57921515b2edd8338cefe09171decc00a50ae806a47a7d35dda7376aa962d63b0189a63642d33dbf9153a03c1e496c01b9ef74d6871e1d63bb61719b3ef5d40f4dfc15264a07d8\n# The key for this test vector uses a weak hash function.\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 76533757a9a6f4efaf59b8e4fa38c50cc7ac5f9bbaa7f45583ef79dcfd50afe07390f572", - "c5880c27badc4ba3130494aa396540b8fa3d15d1d510d0d0ad7a07d3b44fa989957d6e50ad3921449aa6adea1af2879cfba9f8f045f5c3457fdfc53525c00de55ca0069e239b737e0c02b497c5f2f33f66c9fad5599ae3168bbb1b0dbf40f4d941ad26a9483488d06276b167d089d242cc423b785a4c34568817af7747782db559a32610cbdb368511b7ccb5be09c0ba5a21f677405c73a43088b193d445eb54416d282fab82453ffbeb68e3a1e5eb33a705db4d8be0149817a255c40a53040c05395abfe2c56fae34b8e2ba083955dce77bb7cb5e5905d0ad9bff6d\n# The key for this test vector uses a weak hash function.\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 80fdee23937b15c70116b060340bc7a430914506880dd3f71b5fda9f24964a9ba69454e7929c529327a7bb648c2789d3b4d5d2ca465c74b7659cf445e57a8e7d11e614e34b2f9917139352c0f322428d7c1dda1fa11750a7eb9e7558a6152114f148a90a14250adcdc8918dd0c748b71ade03126ff13a8a191c024291bbb1ef80e5e559a27d6d204247e241864ecff580c56b3345a803967aa0952b59a5401780299cde2cf1b783bdc3f8bff9ccfdf283896ecfdc995ecdb54e394add4fbf16c0904a5f581b4061bf00b2ceda8f7acffc463323584ef69a194f2ddc2c2ac6002bb5647643eba036f4ccf30472387c99b6e199a3a04caea8135ec82654a2cbe3e\n# The key for this test vector uses a weak hash function.\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 2fd19f1af2e56de93cd223e96318b336fc587fe333ec6b81b0b4304d85af72cd56dbce64d9d75f023c39e7d82307ea6504c81bb28119df545e1ac8b73453a87a6c1fff0619c537c6c1f98694b35afedf37540a70f4665c1fc8ee0cce2e29e68c821ff558433845ae46118179cb24ed247419bdc48c13b927e9d4a6da9e445dfb0a1d0d3f599ff1927956fbf04cee1f6e004490198edb6b9cc440ae786f74ddf257474ef3a5f273d87ad361434117ea0172e7cf4a8fa3f0768eb4c26cda4f8d0bc7ce90b2ad39b588897f85513d22ad0af86ddc0a2664ba2dab0b0832160010d743ac0a5ac69b00a68a148ba6c4ac36496addbeb188b58bab9e9b06a2f5e30ed9\n# The key for this test vector uses a weak hash function.\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 004524fd468f6b32c1e39aa51df5052e174d02851aa433871dc4c9f72b6fc5dd776a7e68f57d180f049d6f90c4c6d5aa21d0749d2232bc2e257dbeae0640b985706eb285b700f6480a29fbf42152f5505b91a73ec8cc80e17b5236dfedd15280e6de907080b339b116f644ddeed18361851ff25f0b6c174e49e0b33962086cf19bc4423f6ddca67c52ec62b8b664504b6a5d97c6d68e80ac522a98008b3d4deef1f0147f3574f4acadb8e3687b410c2f4e52cbe85163a26356dcae935581fd75434da19e1022bc7865ebb1c15c93968fa357e7029b328ba7e59ee6429d4858bc9acf78fbb68508d653c73b97da4bcacb1088ce88c651a7d90c7951b920a2ee80\n# The key for this test vector uses a weak hash function.\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = aa33236940904a0c0c88e3f7b9744343c4577854cc017e8ab0aa08694393bf1166a55b56f6589fed56bb4bf4c87151407363c36a9530d200a92eb7a04f2451245b105d1d44260ae10385edb5edc6e118e7b27f4270fa2988b1dbca3fd21e1d3ae6d62f24bb4af5138eaef53c598fabf108ee78a6a986c14e5c472f71b24aa67a48c5986ac3962a6eeb9f35d0f09d22f0f9a665cf80e08a19e9cd7bed243af7edef90e5a025fc2b8b0b3ea49940836e9971d3558defb2a08ea6b7c40a4c3db6fc4a7aa4891297f9c9dc92d16b2e6cfb7f558603fd17ce5bada483688b344278e27d05c5bcc1d2f44f91cf24bcd50b53289c744ca67b909ea04fe1a1bb4f680b41\n# The key for this test vector uses a weak hash function.\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 7fd4d853d91dac3e29a1d24df4586aae452aeb7d997ed8a039490c2257a259c2fd4e868320a5391d5cdfe13905ab7fb248d722a6932ea15750d8a26b810d10d5c494639b88265d385516acbcf6dbce502b834999387635690b65b65ba1053a42f909b05d590498bfc9962db35f14a1ffa10cecaef5dbcb6ce73b783ac4ec4119cc22f976f3e91be86d67b0a1a45f3b8b757f893bca0f717e9dc4184aac01296e18ce1a1dc643a37635d2ea0618793b1624c0c0da74a46e422df25c56a6610e02a723bf80f147f10939eed5ac347779dbdcdc4b994cb4cd3388283cb6a04e4837d903f75ea7d08a43d334be80b3c05a6b0806502eaf4aecad28abb86c790cc4b7\n# The key for this test vector uses a weak hash function.\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 952e142d407387b8bf807790bbb1c8bbf73f86cf8efb897157d5f15ec6579ff2478216eae543b9e81fa45a015070d31f5e8087a987df01e66c332cc0626c984032b3368621b53157a7531d491e70b756a2112a4644486ea74eed5536aa63e5b992317fe1a68cf1f37109aa4709b6347da34c4f846a82b25d51837df3bdb59a41e6edccd92e25f4885d58a164b23e11dbb9ecf3981917ae8682f7ca8606d770114527f34799686bfd3b6e000df2e719fa88d6272bb308403cbd3b216133b60ed74448b04909dc24e2bd3005673667157fa336f3934da3b9991f5584641e67b8dacae279d6e92bd564364719f8a79415c59e1150281ceccc23a312f39c783f0c4f\n# The key for this test vector uses a weak hash function.\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 3cc78a8aa312cb60d3452c235d8a530b3f32c376eccf1c981f87658ccf492989aa059aed5a18971182d1a083015c2616b6f5305e37843e8b182a71f19d09a03e46447ee6a4b03846b6cc629c2f39dea75aee0c79040cf6ed930abeabda242032e47082ddb23e62cbf11379022ae08d5463837a10d22d9faf63f3436c8a762a030832333064e73642a01a0bc722d39b11dc720247081280d6790847314401a4def0b1ac9e307c8531fc1136efca55b19c4d0697af168f81c62aa82a8105566b46f690209b6829b7238f579168e11ba1f02646c4a8557a4b15d2136fc2a2f9a46da9688a5c3ae61e91b2463075b5422e82bc40903afa867cd7a77998e097b921f9\n# The key for this test vector uses a weak hash function.\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 3e68229146bee8f86f1a85439d59132c20f161762d35e117b46a8c9bf6ef7a7b3a6ffc7e83382c8f0550b491c304c397d8240ede43efa5e1cc889e90d0a5a7b829e885f72f764d1574478c2dfb9530e42de5003121a2aa865daaf421e973899c8f3d6479b80b500c10e1b8375f8fee56b1fdd5fe1d1ea4f0ed1ab3e42abed62134ed5ac8d513a91ee782c79e92cc3e76bd34fe66ac3ed4f6865a6c0c5f04c3b430aa2323c9ea5a0409abb64c1fc95af535a3cb45596323431e208640d6f8b9d425bc2c75f0f2f431bb1943198ce80189755569b8c1b09acc729122357de8c88d185926df71ecafcb0122edb7097165337c83340b9676ead12c692c4025177d88\n# The key for this test vector uses a weak hash function.\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = aa68dd72cf47df9a0d01f5e7bdc297b35a5cae62846e707b0b8116fc2527dff6e6991ba01e8b5b84bc20e82cbf26b2afd524c68bbc3a6c872b6fcaa92e4fd55b69ce5b773861b3308228f09cab60387779da33213724669fa119ada65d4945bf8c3af6e445584c85f553b17ce6bccec8535e66952c34c9517bafe73a33793ea80e3be07d607d4c7f047198708f973e4f635f190018278824e7e5c8970413239e48854e107b26535085c61309b62a8b2b96320523cef60f6ec30d278bbaf462221bd56950a1f042063148685642d5721ee35e5935aa80f82a16457165b22ba48cc79c4b2cfefdb1b88570aaf760edbcd1f8fef2fabec9d70e3e425daf7ea47d66\n# The key for this test vector uses a weak hash function.\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 70ea1c8cf6d950da9cf4f11da5e91089c7b60097004337aa1394e004b58ea4b722decd23dd2260095ff8179f70f9a7c29430247b4086a341302a36daa6e925e42d192835c7d69207586aa6c97c184f17ab6f2b6bb6f97a3d866a2155d5199a6cb0121ee1a31030635bf505c0fb96d883cad6050bc1802769311ad1ea23aaf884e347d2a2ed71c460285d0d4d064bd276be732e899d01ad3b5e08745732fa1bc74622bd20fd0a53320ee5b70cecbb65ed51d6f29f87774b36f26ff66129178beeff34630df9af9ec80cea6b3e307614be9a20a1038079801c24f089847404252e5ca4d60c1613d5e6b1c596ed7a09ec162875664a6bd5168d352464e13ee81f2a\n# The key for this test vector uses a weak hash function.\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 84fd2800622e4808ffbf30bde60d9a55c702ba39e344230d8d5a1fff44be6322abce6f1c7a702e2e1c3660c891fce6aa3833bdd87a6d1b28b629c19d01d24d06bf404d54e444f055bcd659815944daea78df4939fe6912f9c396cd9139852a76aa8f90669013e3307ca045793044de1702e98c3d2e02a4023861d13399f489fee3a3a1ee91272948d08cd6503f79f321bbb936910f36c63f8e24a3ff10908547a2818e9d5c954cf3564afc71884b47299e16c70f9f9d2affb68f2620acd58f5e4538f5b56adb6c7f4461d586e1de2bf3c99b7de01bae479ac124a59aea4d4df707dae47edda3bd3c74696fb62a9cd24282193f0cc43816279ee0e2683b82c8bd\n# The key for this test vector uses a weak hash function.\n\n# tcId = 35\n# leading bits of masked_bd not cleared\nmsg = 313233343030\nresult = invalid\nsig = 764e687e19fd6c0f60ef4767262faf217d6bd83f402f72c46dcfcc346f3170d67c3ee927b3366ebde5fc81d576bbf8a0da76ffe950a8dc441d4bcd3485f5a821b5d58dfe6567b7dd5a3a77f3062809ba7ce311fae758ef696d1b36f3066a054d11a38eb124b17b5387ca71433685c14042cf68a1ae42b749083bd852113a214af76c7e34a791c9819b59b261cf71fcb58812c52c9636153a893ec60372b24388f28eb15a806ef912052911661ed55b71e4ce3f5b16d4ed589c27a2a07d2c488990fbdfcd9760fb7b61d56af8ccf00e93814add", - "5a41a436472d7c5f848cbdf269fabcb9452138b06f810f2958b04bf5727640e1d81d99f4e7d6b413976fb59ab4\n# The key for this test vector uses a weak hash function.\n\n# tcId = 36\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 452efe45f5f852f61c14e7bf357e58f1a601d3322ba60b7e4d09a226fbae5af2ed866226ad7dd0e658b00afe58e0f017cb218b28dcce2d10bb8b099d8c3a7b4fbc6dfc2d085fef16b5cac7123540e9623fc4704ddb48a3120c1753c2a4de13053e4fb61135375768ef35baedd1dbd31b1b4b51e8a7b9108c8c18faa5d55184e2aa693e27e4534a60627c1cf2ab332fbf13eded03913b310c29f48a09912eaf2128dbc0e402bfdfe5d10dcc3a7071fd12497d904038ceec21382a71ac9a0dc28260acdd23405a291b2c0fe2c9764b04f53db8e2f640f70cb57c452807a01f588529da21fdb8a93f569268c2e5b8f14ccc21e3c05d88a9856a76a58b9e7201b1dc\n# The key for this test vector uses a weak hash function.\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 2815361aa080fada916df00abb4ff6745144271e36868facb4fd3d42e079b5f0aca5db90991e454f7349e9e8aa85517f8c5a148547c646f9d89dd38a18ecc439b6d8e1f1a67420af089f4030e310e3a9aacdf32c687946b1f2829364bf6127ec9211327793468832090a1afc178901946b552e399c5f4f83fc099c31c950d3f7b3913c13f93eb23186bef7bba43724caed7ddb3551e937ca006ac892d1f3b8933d9ca952ee0d307ca131b53fecc975b29b611a5c95585cdafdbe8f0037488b65d4b4a3bad17a784171264f257b4a7febbdd5a959d99d4e1aa89e6bac530d38acde8acdd068349332b32e05715bda82c25d2eacd58fe72d08af9fbe3ed60990a6\n# The key for this test vector uses a weak hash function.\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = abf40fa37aec687e46bc355e0dc8534f27e9bce3f9ea2d27b5943fc27730d38bc948557b581e548f46d47a18d726806b547866127657414f9b1b0bef341cc2c6cb80bcfbbd7c59112268c49d3f7fd896a4c121b487a99929d94606acf882569d9d63c92bf46232059a485400486558a5041737205709fb3996a8e0f697d4d98a7131bddaaf2000232952c6343a81cfd8d10b4a944cf16cc70c5b78b8adb0a10d690c2454581e5e36aa83bb106be6a753f0807e8c6383e32f6e4268cc91af1a67c09f85b43db732cf401414404a2bc378c7546ba6acf93ce409eb049c58c286a3ad8bb24a8390c166e6d7860a511ffb622a587d44040936238265def3ce8b0972\n# The key for this test vector uses a weak hash function.\n\n# tcId = 39\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 18215b1083aab4e4dc911b55332c2dfc7fe776dbf8873eaa7738d79e6529c27081b43e24ba7fe52f9d38933aa9a91337c1cd607e82f092b82895eee08ead942d344a813be0575b110e95e39ad7fa07ca1904926e526d04831c355059570fd24015e2ca660207b55a5bd45f2043f2704dcce5f2f992dc9b185221ab4eb28272cb5b179c6f934e218471f989da57c787e12cc1079428485104cb8cdb380e74d0d8bec8f75cd4831beae12379493f58db754c1f332fdf51d61f2d34f297dda0f761be3afef70ed769fcb786348301f954586f135fd55a67cacff16760147c5f38c796b4837ad5f0688fd0ea5e6567fe0c7f89803004c45a5343cffa5e20c7630c9f\n# The key for this test vector uses a weak hash function.\n\n# tcId = 40\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# The key for this test vector uses a weak hash function.\n\n# tcId = 41\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n# The key for this test vector uses a weak hash function.\n\n# tcId = 42\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6da\n# The key for this test vector uses a weak hash function.\n\n# tcId = 43\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6db\n# The key for this test vector uses a weak hash function.\n\n# tcId = 44\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00001ad9d6447423c4436a96c17407f8ffbcb8a41ab5421fe319222899e9091fd219690a97f801113d33e13fb5920335646616a35ce4996d63504a2c0dbf7172533b06738706ce20484698cfbd24eade67ed91e6b985ac2df1f17c4598125b2439286c9c01fd10901058b7318f8cc49aadab349560d473c30c3389905311d78288f900cab33b5db060694489a018c2552e588f32832820703e3838b44519ee9430eafd65076e5c8195acbb85ea1e4502810ac13ed72614db0c4bf94ad83dc95ca2bd47688021a56429c4b74b1acd82f242aca266f8a02defdae8b47e12d790c6a7c157d2bf530d50134b1e7c8446bd13884f3de0d44fdca612cd3d4260b6570ad0d8\n# The key for this test vector uses a weak hash function.\n\n# tcId = 45\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 1ad9d6447423c4436a96c17407f8ffbcb8a41ab5421fe319222899e9091fd219690a97f801113d33e13fb5920335646616a35ce4996d63504a2c0dbf7172533b06738706ce20484698cfbd24eade67ed91e6b985ac2df1f17c4598125b2439286c9c01fd10901058b7318f8cc49aadab349560d473c30c3389905311d78288f900cab33b5db060694489a018c2552e588f32832820703e3838b44519ee9430eafd65076e5c8195acbb85ea1e4502810ac13ed72614db0c4bf94ad83dc95ca2bd47688021a56429c4b74b1acd82f242aca266f8a02defdae8b47e12d790c6a7c157d2bf530d50134b1e7c8446bd13884f3de0d44fdca612cd3d4260b6570ad0d80000\n# The key for this test vector uses a weak hash function.\n\n# tcId = 46\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 1ad9d6447423c4436a96c17407f8ffbcb8a41ab5421fe319222899e9091fd219690a97f801113d33e13fb5920335646616a35ce4996d63504a2c0dbf7172533b06738706ce20484698cfbd24eade67ed91e6b985ac2df1f17c4598125b2439286c9c01fd10901058b7318f8cc49aadab349560d473c30c3389905311d78288f900cab33b5db060694489a018c2552e588f32832820703e3838b44519ee9430eafd65076e5c8195acbb85ea1e4502810ac13ed72614db0c4bf94ad83dc95ca2bd47688021a56429c4b74b1acd82f242aca266f8a02defdae8b47e12d790c6a7c157d2bf530d50134b1e7c8446bd13884f3de0d44fdca612cd3d4260b6570a\n# The key for this test vector uses a weak hash function.\n\n# tcId = 47\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n# The key for this test vector uses a weak hash function.\n\n", +static const char *kData110[] = { + "# Imported from Wycheproof's hkdf_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HKDF-SHA-384\n# Generator version: 0.8rc17\n\n[keySize = 128]\n\n# tcId = 1\nikm = 60ab7f45b0ad534683b3a6c020d4f775\ninfo = \nokm = 3f8b0e4a7b2bff01a26a18f1e07c0218897a324e\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 2\nikm = e3db76e02278cbd2adbcb4555803da11\ninfo = \nokm = 54d872ee6079718738b96cad7573bdd667aef80a43344ccdd2488eb2e1d3c33b9e291faf89609af32365\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 3\nikm = d4dcb92a769f57c8bab8a420ee0aa351\ninfo = \nokm = 8998abf032b4fbb29e431f0bf1544e19590ef4fc99e013db8d6ce0dc085660dd3f2432b5f9cdcc44cb6ce0053e7eb43c0375ac7efba148ece8688e637a5759f6\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 4\nikm = 2d43e54bf0c94c9cbff4300f4aa69ab8\ninfo = d674da3bb47d5c7e38b501e5251d9348af601c44\nokm = 658e6132e5279439568a617274fc788dccc2bacf\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 5\nikm = 4055536896c406d5fe14a6cd6b999bff\ninfo = 2094768a8816f7df070d6e08b7ad93755dc9024b\nokm = 14a650a903d54e0de9962f5462deb135071cd1e3051ecacd65d378b6181b41e1e1ab3b5d2143b710c728\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 6\nikm = 5b01b2da3166f217cdd68de8af60078f\ninfo = 6884cfa7ffe8f27bf4ebc6e46a7e01488c79243a\nokm = 7bf6c7c72fa9bf184f9a2e13077a0e1afb9d976a5574fb7ec819d8bafb9b10f962e6fa8bc6a844ee0b609eee34aaaa025065a7e3a7fe4678a005640f7dc286c2\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 7\nikm = 467403c2ec02a235bf730ff37e8d8ff3\ninfo = \nokm = 55169d60bedd7ab2399d830b1da06f69f94e4b0c\nresult = valid\nsalt = 41f0f173d307d40436c25856cf559f96\nsize = 20\n\n# tcId = 8\nikm = 3352f942aa93071da6d39cc5ed8dc460\ninfo = \nokm = 260a775477eb6b32fbeb4e6825464a47ac8484a92296a3a3d51b0821b346deadf57f9c82e589ee369fe6\nresult = valid\nsalt = 57a0db708b25a51afc4271803aa35204\nsize = 42\n\n# tcId = 9\nikm = 08867e76311126089356623ba5381e73\ninfo = \nokm = 59debea3637c46394e2fb2790ebf8760de4986f36a6b142305bb62d1466dd56fa201c96814a2e5846acdf141733ccc54df9e6ccbaebf84c4f40e21201e180b12\nresult = valid\nsalt = 0c164c443edcdfaedb1ab150f047951f\nsize = 64\n\n# tcId = 10\nikm = c55c41d69d2424a520414e3662aa7303\ninfo = 3fdf20538063b76901d61bbf9b72b0c18749e00e\nokm = 25ffbc81bc7b1c2dc1cf98020f55d256a31ce89f\nresult = valid\nsalt = fea9bfc92b74337e43a201a2dc199e27\nsize = 20\n\n# tcId = 11\nikm = 5d3db20e8238a90b62a600fa57fdb318\ninfo = 2bc5f39032b6fc87da69ba8711ce735b169646fd\nokm = 6724e716f6a953aab112b61e29d921fec0f8e806841d5ccd3aa567574b502904d04ae707d244187fec52\nresult = valid\nsalt = 1d6f3b38a1e607b5e6bcd4af1800a9d3\nsize = 42\n\n# tcId = 12\nikm = 8677dc79233ef3480777c4c601ef4f0b\ninfo = a38f634d947819a9bfa792174b42baa20c9fce15\nokm = 758546362a070c0f13cbfbf1756e8f29b7819fb903c7ed4f97a56be3c8f81e8c37aef5c0f8e5d2b17eb1aa02ec04c33f546cb2f3d193e930a9f89ec9ce3a82b5\nresult = valid\nsalt = ad88db718244e2cb60e35f874d7ad81f\nsize = 64\n\n# tcId = 13\nikm = 0f602703d37943e0253bed3da331aff4\ninfo = \nokm = 25b54be713ec3eabde9f8d25745672d1e6386c07\nresult = valid\nsalt = ebdc8510499f69b2e188daab77cd819cccb95f276f46e6b2be11cbe72700\nsize = 20\n\n# tcId = 14\nikm = 9fe65737574c5c7aa67646adf8230ba8\ninfo = \nokm = 24e3486d28a6574270b32541651cccbb93f0418905e628ec1274263681b943114f742b9b81db0f86385d\nresult = valid\nsalt = 73a34648c152443586236abcb46a090ce55ef6c7f282ffce6342d694650a\nsize = 42\n\n# tcId = 15\nikm = e8f2b1c3e6a6c3d5ee0a20dd47aafa78\ninfo = \nokm = 167928954f92eed2e1c82496e57cf091d9c96aa6d4c01ea0b4275f9f17ceed820d90287cea90ac8297f892c219885243a67429829bfc86ca8eabda4295236252\nresult = valid\nsalt = 3f5e162de91e0782cd189f3b7778cdc2ce6bfe9d3fe841cd3c70475d7b3c\nsize = 64\n\n# tcId = 16\nikm = a679521cdb56aafc5a4b76db0431a4dd\ninfo = 44ec41ab4f4e64f4a36e5e30c9f0dc1d77ae4974\nokm = 72f15cece4bc7704a841eb5047f04756f86ec549\nresult = valid\nsalt = 123033b1ddaead83a4b9cfef8a660bd8e00fde01e67c35656c6d7607d456\nsize = 20\n\n# tcId = 17\nikm = 49bf155ca102026f2a217ea1bc9843ac\ninfo = 851bda4faa8f7add2a3cbf0acf9c2786f8f955b2\nokm = f693a3253389435899adac72d3ff59c240c65bf282f373cea7a9ee00864d5b4f39b2000f7eb49af16fda\nresult = valid\nsalt = 76776e3b4d75f8f43dce4bded71f3b1ae6bcb012d9c0d59f78248b9427b8\nsize = 42\n\n# tcId = 18\nikm = 6cf725e939e8824d4392233eeac75d30\ninfo = 495425d9727fee2e2b7e78899868c1c3e7735e1d\nokm = e13a7490f842b6e5be206e6d5ce69b2a8e2cba5525715283f22b021d2fbc2aec59d0144088581058f0fb2f551c6d62bfbd8a15d2706e23e10f3bf7277fff337f\nresult = valid\nsalt = 1e72f24b05a91a0093f34306ffced79e7003055b0833c6d0f27a4f33a1bd\nsize = 64\n\n# tcId = 19\nikm = a319ff7b5ba9b14ac72b681cecf0f742\ninfo = \nokm = 83b3d9f22cb5765c16dcca24e6ce6875b180ec9253bb3950666c52e3711f3b9200d2a995aa548bc6bba2\nresult = valid\nsalt = d7e3bc6daed343ce77ef793e15a8246e4bfcbaf83d2ac956d0661d1df7262b2e7311623dfe4152caddbfda8fa8ed7a82656ec00b72c5adf7c9d388e5b3bc8d24\nsize = 42\n\n# tcId = 20\nikm = 34bae5a158c1678aa76a744417a70d7a\ninfo = 87ec30aa53acfc3d09ccc1d57d654fdbce403cd4\nokm = 9413c6e1b27f829fb82252b5ac5e14a54503e5f433fc8182a6b556bd7b8e04ac34b0d6006950d5917132\nresult = valid\nsalt = 1532075f363e061133780ac959bf653c7687d181b9431215d6f62dd2f1ec3019d61c50fa82c70ae25e624c849a276b0c57d7c02a4d753fe84a1a6621e9a5ef01\nsize = 42\n\n# tcId = 21\n# maximal output size\nikm = b8a3fec3c020e028a2a9512ad3acb688\ninfo = 006a7b5529648b31\nokm = d21bf9e7a8685d4c052b391b472767d436a0335ce2315a9e44d5b183da2f06fb0ac31733fe0cb0c1b47f1652d16b4ca84a5c05e4fc9432a840426d146cdf17924c62d3e1901cd3f5cbb0aaa55d46e0d3d23fd86f82a2bcf3181a548cef4d848960ec65518ae2230474d6177a29381e6537eedc2b2728db2573ee182afc5d72cd65ba04ed613f245f3ac401de5e4b30018040b8b1f253eb57a2128c2c0e99ab68dab4583f5a1ee7d0a1d16e9f00afb5f63a1e98268f8c66db5d49ddff7528dfe71f792a93623e355d0860d65344eee9eba04e739627874829c2cc469f27d467822a72a5dafbea14fea2aca2c521aa17985c07a8457b18a1965ce824bc886525c439bf48c36e957e567edd26ee015c01e01cf3ae463f8efdf12dd0d102d95310da2849b8b0bb0849e8b1b41c515708299c7fb645c8f5c86e165e14ccdd9f3ac4766e8ca74eec97f7632a75543d4a93818fcd2b3201feddc19eafe19ed596b76aa3a8492edc52e990549f91967aad94536e8234afb862a60c92267e029bf90e07315db87e56ce4fe7a857edd4869c44b4f410f62b7ddcd31bdad3c1d6016edff774ea7e17c1cb3b39ba918ef0d961725ebe407b6c89b06a9f012d8fa55abb1b84e277991d8b2089a7e228d326eb0c24632e4e35289a14cf7fa1f036de44ee56c0444bbe7d84873597fd82dd6b717488ba3086d57c76783e88cb0992944c66f8b87132eb9908c5dfcf30600feca06ac52d28af218bc5df00fdf4b8fe3fc3947e3ee24a68d8f7c96517337df46283adbad468daaefd334ee2b101692651cf5c8c1c60c2b204a111707afa2ff0520727ac222807629e65f8425c925eddd4a301ad247499f6640f9ae9818644cc94ce4b088e37ce728c48e42f82201b9b27c7b0e918c09b3dcf6484d6794ba27f10374f618c4ec49791a3918977a13099e53bb8fe4fdee599016e7fc91f849692ba97e722c90fa6b4fe54e2bdf4699857fafef364fda90767692818a40cd83cfa42e5c12b56f7d83c4a8653434ec7e5e9a13cb46019bdd215c106425ad51418a6258014a62a449287edbd879063d8db019de0980d0ee30c9463c50860c7a2c390974c09c74e634b0543212e99f6db9bc104e14fb7eb52c4d98c5df24808c59baeaa01bcec03dd110d0ca6529e437e2994dadd8a48af91734b638acfe6c8d216b5d1ee48143a0b24c51f4e24ab2687be88233d10bb974906d46ac8e08dee1191fe7455075c167a743290c261362051c28fc441737d92de5ebc763cb52bd905cd3cf115dfd3ee89f0051e31159965e285887fee7fbc529ece2d350985d13bd16abe379ac5f9a89a99b768d4f0353e2d52bc8636c1dcb05bed53e958937de69636e34d5f46ca5371bb0f38e2fd718a6bec6784076efefeb08c3184bc92e18a9fb7042910d1305b560b9c59223db160e2959f061cb0c9a0acb11f479d4e77c6d98d5ca73149bd19875daaf06341b86227a93e09765877c0d7d0e74337f9cce38d59f0c4c9fa202d1c48e9c398064d5f9fe802f634b094f47dc44cd041086b728ef57103162df6d62208c3b60f750a4bcc2ab461424fc88107cfd545518aab77b42fccbebc7bf3da92e4a8c2a1eeca8d7052ce8c94ba6393f66be9b758cacf37b7c87ae41e48f9d2016fcac2305d6e15256d4bf7d19d6129582eaf7237af07463aceb51edd7c56bbaae7a54af6678256bbd5ad3bbb328d0506e451855281c5b380f63c1bce87b370132570ca98e4e330c1ad12831771ecfeb6773eaa44880bc5dc633452160ac8388b9eddbd02fbad325e0dbd66cf20298cba81f3263a402c5e6d5d57d4ee5fe391de78d2103067fd889d870a36e7df6441e466262b759d3e2c051f7c850e8484b6fb837239e8d11570d095a76241817fbd518ac44bf1bdeea004f8496a252726de49f36b0dc69c0a5d01daf2723140922ddec55519d49391f9a34b7c1a5e00d094c0ba8af27bd3b2ae1de2d6ae15b23e49bf65483104ac62172c8f2e9ca109c59649d0318e5c38cdd659779c598c23620151783d521f7ca021cb910f195", + "e36d55bd963c25167cdb3bffe3642bde8e184eff7905affe418f80379393cd7ca78586764a80be777dc9d9cbe0840a4219c83459745f9cae786d26c1edc74f5fad27113fb84e8854c76e1fb02b1998253d365cb7aa682104765ea1f020b0aef0d3cd2378c037e5d64ab2dafd8a23beb5ac5fae3341be1c6a9c6053a3d857a2d74d56a7bafe341bd5bf7779bd7bbd1991a949850fc25ef0f2e012772ea0d2cb7e9292fe2658c6424ce786d7b7aaafe415adaf9ed7ac5e5ac8e24218bf9e629dc93d22d398a7872b9a0477ae98df9fb22e042d475f96d349029dbe108632d4d3b56dd89f352dfc703e2f25fba97da49a079133f1e0c0c729bf80b02edad76bb036a9ce1c841e5202d59cf63149cb3b81a68df64589fba8b1dc7f4fdab3cc8c4b5ac9712d7c9c41a6d5e0efebc2a9ad6310d30087395dd74b61aef03cb4facfd59d5d50d8c04c5e79518823f9824a94e0ec06b7157e48916d551bb5a6831ec44cae0cc8dabba3ae1b6c03391f3b5ce45861902a8e777fea9a5729cd16eefff724636284dea34605f53d98010fd888f469475a6a98b20c8ad8fc07466276e461b9821ea55cf3c42e208fc56c610f70368ff331e3dfdffbecc26e489f70b0a3e995fbdeec6b8fc87e19d3ac6f9036dddab7e8ffc38f58446f75fcb2cc4f7e90a721533de151a61c67346dcc63e15fe1a4ef1a98d1cbb25cd7b24703045fdfcffbb1249ebd3c1e52399d6c24838d7bd5b668807a4310b447c167cd3d3c13697f35225bb284339149bdd4618656b2a09712a812b2586c3492bc07a4c2f8fbe39861cf8d36dad815edc9cdc97dc2fe4b24b0fb3c2513e3504bcdb1dacf2692c98a6f90ff77fc5348d4acc44ee4524506bc176257b434e8584a483c4c734cefbb7457b4761e1dd2dafa10eba4a031e1f0f644e210e5bcfb7a72e2e14577c972a78b1a275f338145e2b7d80851013b784811a91c19c71bbb9df88ccc2c1380699f0d88d203800574a0830632e4401880c547c6bab52d2235638a7222662e166307779d2528c3dc5436508e25544d1025ac3dfb627781e8fc7bfa67738b63a86bdd9f1f089f30a71cb7a79dda35340ac1a2dec129cab38dbde6cd5dcf9d2da3a88f9c2cf65b4a1aba02ca213ba596af1a2f323a47ab6a07f0e3057c6d635b2f5ed1bc2f4f6ece8eac348202cf1c6d9f9c8738044ca5166e371dac0f305fbf1b5ef2536cedda250a4f209ab01c714882244b3c1ab3c0a0e5c07d6b928dbc52c9b23362266ab8a25e2ade5e06c3d645dd557630fabe57733c7543f7453e002da4eb1844899740d95ebe604dbb03e883d9f668b4974282ed491ba183c5d8cb2867788f24eed7d67f4b6c235262cf71d52763fb7688d3d84d92424b0b23468908e95ae82de41a2615cb009aa7e5f18c889125f1167d60aa24c3fd9e2e087c6b99d29733abd06c81e5a728faa0a945a2ac8029d58d7782f03aea0e185dbcca12e0564fd163427ebc2bf46bc71fa3564bc9556546ca2cf1e8ac1720d8955caadd08a6530c98d7df7ac14b07f7959d0edc4ac31e6d58d793be3c6ceb370868cb1ee8b57b74860576398fa5c7bc8d23e673745e7ecb1754dc2c873d6ea61057adb9b91dc4ca1ae1fa69a93e8caebd8a647915a75db4935e040e609e3cbd1e382a433b7a990488094dc53a91104c9c28fac9c74568e5a9e4d37df0a44f750fba7dd45b17c142057f16361ac750fbccd56fe43ccc548c9c97ed9a190e14be1bc2a039a671175ae625bd4a0a7a9f6ff27d75a022a5a0e5bea17eb6976631117ad44beeff05360580b8aa87d8a6c65b7f4b51d53c20d9ccf9008eee95cddc90032325598f0c671810edc80c9de9a74cb32de95b940507773347a17fea02f85cd2461e2e76e0f58315a7393489b9d26440283d89ac0d4f8e853e35790aaabf8dc26981bccb4b85c36393db621c26c99d1ccb072c8f250924fd0411136c5e2f9e79ccf450e785de248b75427dc6f858975b0d3f11feb0f8745ef8e2873424d34f09d04bf01edc974865fb2223b9cf72aa4aa35a5b2c9c91f55f2e545ac403e66435c25fdcd6aff3466bc9b947bd1c811c65de058a92dd3d3668f2ea7c8fdfbc54188d8328e445676a3d115252022b2e828ffedad08c2b96b10b5ca3057083fcc313e3a6d1fffac12987b8d518cdb8b0447f6f23d5266d95e03d36a806dedcc5466ca408580d5c3872d7f6c96bc63fe3c0ffacdbac126ecfaa9426483bee96596d0ff88f8fac8b9c67de4d023b3f0b146d8ee27cad9ae019d8982c85e361cfb7495dfbcff0486448251e34a31f22c0beece7f01f8b81448d267397bfe55b4b384d6604606015a744ae36c92d593a1cf33d3b5562d98093313f3a2ebc7b8b7baaaa0535476b7399ef34521f06d459861985e81e2f1bee5b3544c09e5528bfd472e01383975dabd907be7e9628ba660a776a9ed3a815ffb1df09753e8dc45a0225ba98e197508e0a22560cc0d76fc1692749a16c91dbed55e385593331f3bef1666de4c2b8f29f5df2673ac331a337da8fc020d76f4e4b0933ed6df06b5199715416d6ce46b760205b7583973bdf3967fa546c9e367d6e60f4c9f8dd79fc73a0967a58deb4b779f9b5695a91db67fc2c0e55e7d74eff97bcc322a00c5a5c0fb9564d2c128f5ee3b3378416894ff25b8445e52d21bd35f1759171cb4e6e426c71bab9a6cda6049d8eea904a0c95ebacc98dbf5a5e98d835b6e216e6fc062e600ba74c321620f63e76995637fb506daaf7b7e0514563b536edbc11a35515a75c58cb7f56f3f5ca0e7dfa3ec715089bf6e5f26ad74c10e72ba5f603f3ee51c7bc9645f4194877d4f4645c8226b1d974fab69e62aa3527ad2fbd101eb6b752a739a191d431a87d5c739b7d7f7804430f41820cde5e5a717ed84d80ad154f816657561d58f379e4a2e7761cdb505b5da6f1008143cac623d11859b186c291a0b39267da29f64d5f5c3e0e5cf0f3dca3b78372593aecff71541dbe2d3f89d0febe753f9571684bf8c1b82826715d40cc0da84fc2cbeb3f46c1e53f522fe5f682479503bfa423a2fe10396a9330be5c484e21d60a26aa3f70b210d3ca96226972b7b03fcddfde1499fa81be22e82d851e609834ff9be6407e0bae00909f952798a559809bbe47ea0e4e626de0445b79758726a09e38e757c5645379223141ac21de8ee298542670f329d77ab498f73adfd2d269dcee504d8dd046f7b496fea449e2b265874af3419d43b58df44d9be3e414775c715d65a1d4107bafad16bc315610a36b5775b7fdba09511ce68d1fac79592e740535a27b47a24f07b98bc2548df11610860c5918173f04cf28890e9c038846ea4baaac30b22c552d5545c7dab8f4a034367352336e58409ed2907df1a2fdcb0c56994477c2c9075ce3b1876abda5da66b3768eb7eba609f83376aa5175e3d23a49e8a4327ca3687e401b9fc2f00fb41a13059dd57f9053d438fb66050c4022f9a2d740ca1be13830047d47e9d15184669640ae993fdcd2242977f479b80169ccc802baede5fb86fba380d3d6313bf2034f71f9bd7616c02225ae23b2a83158e31de5726b79564f16abde403a915c0e8d9110319dd91e8c32ba5546ae522ba3204b70d59731d9971157807b024306cbb720563671b282b6e89f82cf91d5686978de9af12e523beb1f2947a384dfe1a6b18989a0cf1c42803c8238eab525ed3a25dad792908db3478d14cb26abbf324d589eaf96204c837b32a4c4e6f9240103ffaa14c1edd6b7ee221ca2dc52dc553cd4eea179ca9a7c4481f17a3f4a9633d29987056afe59b8f51b8665837c62c72c0a3b5a4c5c597327414485c39f298b190da1d9effc1e103b0194f5dc634c6e12c7a22866ae23e64a86bca3629544be79f5b4e89592a69c46d92566c7939385870e3337174dde45ddbda3691ccd6573edb897a15d2d17f2599c523355137de6b987cc35df65d0bba0e06e64bd3059ff94e723ab11bb4f015d72b42e1762226f163b881bf82dcbfa1604fe33107c978181d850bbaec70b44d64fb27baaf7cddd33b1ebb0872115a4fbfaeb6ca5299a02aa07ebbb28574c430d02cedf0396b8e181ff3631a1fe938b0ef175ac9e7dd399b663ec6c6c9520e4a63c80584d8b845087f5419d8c815b1ad78e402a4db542b900c71a16ada2cff190d6fb38815c59238e96e6cde1dda63a89ba907db338e0db29d6151722e9120126d70c6d348b8d3b99084fd8b2bc068258d43a34dba7f639807eaf2176ca7eda0c0e2b4e168c1df200734b592416304e7fefe17f051640464164d643e7b66dce05264a24354651cb803c012af3aa6b61c7c2c5690979b1e1b5e05fc64cb6dbd4c95df382f7d5550e12d7bb9242ddc025f2af03a44f7974dcf5da038f23ad826e9177b23f6163b827a98f0cb065395235e7d3141f94e83e46e8fe71c9e2c43c77837c8616150250485db8a41f7dae069fba1e453cca231ac71454bcace3477af40485ff2f24474115a6029163ab3b7186af02de5c3361c3f26741b1d86334823120178f6d453057cd7b7df09c908ab114c0fda4767bcbc43d1262cb94f07c396ff51858ea2a55ee02873cf9fe2c456f8afb5a64671c05c020177891ba65fd8a3857359de1fb4fdd80d2f7bca6e369f8dca930bd1c977a141728afb66abbad60bbd3b5a08f32901354067f5442de768972a8ac3330f3b4324c16c1a5f4b321c68467404cfe642418620df5078d8525919eff62163c388ad4c2666bcd06330ce5737d438b59fe84f4089fcf35dcdb17ad93d3d40e32493a57ef97a6c0d45604623ecc80714b561e515c0169ccf488ece2672af491446a5d9ec8cd443d6bf95258d2bbbe220be1b56f1179231aca39ae84f5ed34ead9511a2e9af44bac69f4bf42b241696d4cdd5f260d28c22d26ebb580265c5046c81bc386c0bf698ca1d412e7cadcc247dc1c774877f5b9ff8193128934fbcdee8e0932e6658dcd30d07391f82f4d89a17e2b622a8b87997e1848490e26efbc6e79b9e1c40a414d9f84e22a0dec7e21321245c76e64921e3030a1076c9a87596d5aa97caa5c9c68b3280427668348985c7b7759db6fba4c1ce21ebc6b6889fd7d925215d56758131c515b544c56e75f95b90d15dda7f309b7740aa7989cf1a9e3ce217e0ca6e27f502731bb7821a3fdfa73f915ee49e0757a897972d58475e4b12ac735cd9e6b28b81a76d2ab0ff179fc1755a7d96cef5e8a68ac9256d8d8f17d9182daf1540d7af15aab8b1517f7b8656fd3e6708b99dca9a1fd598efeaaa60ebeab6adb5a76a0ab6cbb7dedbe3f0862ffb028ba4e942372344cfe84da9fdec4ec75fb290240828c4c31a1fac0d178f0dd2245f29d346c3a841f863130920bc97dc05c510020852f3c01bd783a8c6db64228b973b20d72c45bc5482517cff230f1a9bf1d8d0979f62049bbd5e8a3e1bc54f6a1c148289b2a66685ddfd0406bbab589abfd183c4299ed66283beb96556ff200497804dbabf9b6702a87692b4b5bb58e01d16ce069b6c3512332b394db1c91db0882a571ee41e458bc960e7535668e334152c9d46e9c155ad09617c348c3874e5db311601f25d5e1682cf69689c15c13dc5c8d836ff6e30b0b804e4810e280252f4bee9470964159f2b271c275c9615b341d20f292107a481955b0b986365c3d7f05de29a8955cccc5d42113c21fe60e2a4a51be45784fc304e8da0091398205a9afdad9b62361d6f8c42b16a7990d5fb50ebb90cd1e1052f62a966a9e8be73593b50be8398c5b3e8f7ced3af398d537bce72a", + "b1d7b10b4f0aa77383560a79f4faf2f29992c1e2afda295d15a65e30e6f968d00d60e5f1dab5a847060e55ad9b64f0203b21bdb506319ad379302c24673a727acc17b59ba12f20c3ba472c0a5628d0b05213116e2dfbaf9e98628fac973046f60f930b7eaf0790ff010914c19e93f07b74ac3f7a6b6c3cf92adb49443194f9167f7dd553768841b34d461f7b854a40926b016d8a0123a1fae741e07662e125d42fdcfd765c52d518049ff16393422e6080b9fc69117e5f17f3764917eba5fff3f078727048f3e5bff1d9eefe8ebe2fb6db7c54cdc9b7678fd0d6551aee06b584dc4047beaa72c198bd96ae9eb9b151f29747af88b75399b21570ba6cf983637e6dd2b1d42d39d07108464ee22d81d640aa4cdbdbee7919de51d8f82710e32dc722a04a8ea96aa32a7a19c7048c1d76d2ae63ea288b1120d139bfd2e51f634c82f6f10a5bf18b02725bfed7a2913896b5f108fcebd949d04647467e9837256d9918c2185905e078a14d2945ae64d57eb7ebf9746f80ef939c3b1a307c6af627b91db34d59234d3b62279fec874720624278a51fa6d22886456135bc98b683eccbabcaacab2f013fcc884c554ddfc6f91950215c4f1f750cac338ef3e420a82c1ba15ef420798053483ced448b730e386f0788e1a3a747f8365385bd0e02cd42f1cb48a61ffeb2b2e6e3ad75363a118a27dcb86cf27400be97bc7d10bccdc03f6e19227ffd0e3881bd7c3126d682596abc15bcebe77854ce2844219b17f604aa2b4cc19971e8dc163ac654126bc39966d35737ae75a4852ea1c29183a3700e7cf609ca864285a8b92de0f32ae7c33b5ca11aaea05e10f87d892c5571e89dfe54091639bd87636245f06cfaf87fa3a7d6d657ab3aa89f5fa6b54eedec92186b2026954045a07822997051bf232e39dc1a36a50cbade8fe4dc6ceaaa29008c13fcd7ef96cafc7554b60d479132b2810ffa583aafd6c7e188293c4c35008d895fba6634eb20c92bc1fc2a93f7034694e6bae8d291c59caad61a723719298ae5d99fbb0485837a284f070fd293f74307fafbcd5b9b3a49c96d9b7dace812d6fc7a94aa381346e879601fc292e850d5a732bcec383ec59a1034a573793ee07b9c30e29c3f3cf0efb40693b8ee6df08cad92be3bc4666093daae5484fc02df28f3601861a2aa9ea96e68bbda698fbb032485a55c4baa03893813804f09a4d3e639f2d84c553f2e917b3d47f658820702a6cda2e06070d29c71640c677fd76c429f98ef0b65aed0d5c82d334a3e22b5e2d49a31518d61833ed8fcef352146e7a1ca1c9eac1d786487e357a108ba102415f9d87ef8b00d1fdadccaf3328d9376600ab0e4ee2400aced47774ef5374e62ceb9f19670e144e4590e80d33e0f5863be0e5c515656c7f0880bf57ad0b986affe07a1f66cc9b1763ae7646a8f28f6c804b6c8c260f5fa02af05cffc3a631377f0e4abe659e55655f691fd9572ad832f6485c06bc025d5300dca8aebf5ac0094e582c5ba28389d76fe6387f933db6d04b5da56b739824bd507a072f32b5e10be0516718d1c9031dc83aef222abe60c6ced982b4256a36beaa9d15e11fd3f3f600e28c2625ba2b7a9290fbe89a41465b075aa5f00b1bbcbbfdced6dbfc41e30d511b02c9711510087652b4c6637c44ebaabdd0d5527e5017dc4a339479c9be804bb5b606ea3e701e88bf02cb6c2b3e8c6f7e4bf730c8cc36748d38b96300ad92136c9ab8632c54da6d7307afc226eef8b3b9c849235347fdd953a194a90cc730edd043d44f4387858fb88daaf9a0b4f73abc949895ad4af054a8d31b69a2a98090940c24cf008fe675befaa7641a79c440e666905a055e4ede90f923d8bf16e2c451bbe8970e4c3c54ba5b1c3ddf66e8ee0cb3ea1d417cf82a72d244ccad0288c9231809302494235e905876cf8ae1f874b61d78c26b9e1645f68a0478767d049dee312f6ca578ef5630cf4bcb55967c960077503927f3562dab3e37bee4c96d18b66f969f04d592457d055302ac96fd47abd3582a5117fd62b09a1a8c74c379961fe68c9e1792a2097d29c1d837161edeee01a4b76158b0939af676edd2bcfd18bced7ebd0ea8464be04edfd2590004004b0b24af9c1c028fc2b7e756408854ad3d4f89f8d1d27f90db5844c1622b007c47882f316ddca82c7429c870b2455aebd0519bacda287f843419cd74bb07a40cc08d1fc812039254411266245f3b16dca3d88d305d7ffeaae1b45b1bf622945e3ce4e90ec153b9ef84741db9782f1b4518233ac86e10d5f212ae7dd3cbbb952336401a1831621aa7aaaf1f053efdf3938e73ec95d084cca4c2a266e7a1db5e58851fc291db9d0e7bc4447319feceb83767a5c226010db7c1068e8831d90c0051689a7d7a9dbf687d1f1ae43f62a33d3076784cb5d800c2e3e9007d9a50c1d218efc59bb6d5e61c12112b90f72deb9348e874f3292135d7ea9dd6061a6023cf8d9d8c3abc3a8f29a50f2a2be9ee11de0a910bd3763f0b90946ed1fa5a6494fc65f155bc0a1349f0c3626359746e020f8d3bd83ad591f6ad00921a13909d6df288f4174bdd2bd231d2c5352fa232687c5262432732b2837fc37874ba8ec887f17e41a0eff1b56a03d6d4cce12cd60b426a0ce2ca0a3af667874b2c43dab58e65f83c0afe85e36a754cf460fd66689746ecf640d5af440403d2339898647dd36e733b550f41882b6aebf31d886091d1f3a7044ac84014ffc793f34f6633e419599c792042282f37cade01ea1b307cff1f7ddfc340703166c24a63587324859d7190d540352bd31ecd34a2213978980a490c456dc55adda4f3c920aeaf16611ef0516180d05ccfb6c05a8df20792591a12df86a3450c0bcf0ee7ca2a861c9eab2de259e77391f4cbc3125e67d41553644b2a1a8268647237255bb08e884852fb050365574a5fd78999e23a6b0457b7007c0f31d1919680ba10e803bb52e8af42c4dd85638c87d5ea436be1c8102876cf7c38aef78864ad5ab556b7648806caf6fda6dc247f26754862b29fd0d8c89b5c70476132737eb9d6bbf044fb0eec96a961d4f9975d866a84df0a08cde0e9525b179b4b4f18ea67d035fcaa946e807bb22ae18c159241534ed15da394ed5f73b1d74c51db40283048dd8c0f8c5c807cc7c13129f10d957b698470c05caaf280b37f605ff4d855726869251fd4952cb35d6a873309a7166548cc3aac9008589a6d258d8b4b31835dc26504455bcaa25fc580f27b213d8af43897d59e89cca09472f57720146f4d0748040c2f21764b9b3faa75e5ff78d3eebba844feefe0ad9bc0493599bdf1de61b3d71446e6acaf3327dcf61635e51694d3713732804b43989a43d293f133ac21ead51d1f2b92b76b3c61f8de0aa8dd660effc9cb1bbab80f9d1915025cbf3f70198f979a5a1e15db18ec2b78da238cdab78dad028fd5aac7ac043acda7828234d93bf512e09deea886b6c9459962705f8cac432ca315c3b9449c68deb4b0e71b4d393b891bbf92c6ba9dcec3fece0dd91512f49af9806c6c05f950bf2af2842a85fe153153dd658719a2e1b1a2e989448fb0c9b456d81f4ca770140fe9e37e1ccbe61893c1886ba8805f08c9417c8a3998b5adaf96a37d71b953aeae5717258b9f11fbc891d2bec8ead8d355656a0d0fb783cdc1353af35d8cfce2ecc36124809a77cb6fdba75d0f1ab2c9f82de83e1d166a70edfb86129d9b4e362db8d4dfd6b37c6c85e0399bddc8d30ef6b24e1f0a49871511aa210027fb6dd37b979d3a79cd386d0aa3629a25df9e77c33f4eb822ea3daf6c29be1c2d88d3ae3be2321c8fea439c0da77cee72cce86673477cced34d4fd93aee2d2dde285eeac032a81d4df620603a141fdd1d62ee11d2a82e70c4134ce2a80071cd39cfca105bc669319fc85aae441754ef7a3ea83ccd1ccf3fc6c22b998107d1c747ad5dae0d304649f2bd9e21e3064be40ec7b570fe564fb71d95f9ddc94ca45b8768a0b96414dace446411a07fa0100835aa70b21526a1d6f59c167ae22e7e181a14cff96e1073f652cea4ff504180c74320633527430719178a4f75e65ae9464d7dff690bbed239e00e7d166c5b7f8b6f12d510c7d8e619976b359c3cf71b6ecca2984dbd080e631af5c0e5b4c5641aba47eeb4f3b0d942eff17da0f59ef22a12bf3c09f3c24b462743e396a0bdc21b728bb1a73c6d0038bdeb6c078efe49262c597c50cae204d7ee129f7189ec333b2099d5b8c30a5e651402dfcdd65aac3a30ce35e905b8480a45f3f339b81eecc19ed0b36f40fea6490f47ee1a3386678164e1f299abf45dbadd518f38c758bf4366f8e6a5774ce0ae4c4501f11b06fd72eb8ccc25e5bff4809ffbc78faf3b0055394348513fcc2053207008244ed0461660105fcdb9540cd7a026cd3485c5a06ed7907309c1666f9391eac01bf63d0c6d4818cfa4782e5350f14f0b61dfc566d2d6ae766ba4832a974e7524c351bdcf5279fc49f385894f64c56dafcea13762d9c1763515fe16207ce1873a183ecb0a7e557a2807289a868cc4194efa2b46e0cdfa8668eaf99e583888030891f9991f47cbd11e6594ddcaa87f1d8caf858fedb73269b5dc5749aaa794cd37241100ae2c6ab74f5e5d091cca278b3e2f16109d0fde76230e5b3c91c6b63dbf736fb2af20429af3975d589ccbf41515d492560e92c4f72ca6655c3faa78ea5f49487d2812c72b455b8be1c1b881d243e1bce03a6b171cbdba96e795eb0164cbdf40538e98efcde2843a8b1b12e66daccc68e2b4c169a7198090dcc60934783bab955259332dc3b2fd9f2ee83ab234184c22554325e0fb07c52cd3d1737f12911947312c46ee47ace07e8183dede9d52d1e4d9b8447ecc3f21d8ae22c4065d4a12ec8b0c317324595f5dcf17b14642d0e8b18c1a821723a9970281a593fd865fb6b9fe3c93e58767d3a60a55972e505cbfdafcd957752d2015af86b956972691ae027725c9bc6bd5ad63e8b41ccc5c6c0bce89441e1ecd86b20c73780b4e453a10cd3928c354bdb96fce9f09bfc0c0e34298604a0f2ab0e87d5ec6d3e20ca312695da3b65f8218f161a05fb224437c94c8a936b2f73f27f112df39ec596ec8248e228d379acedb3664a1a96825db7c770c43cf3fd1d8abff9fd68977a72d2cb6c3792c88588913e106a77749fbc9f8f5f0e3178475caf5b228327a7c1620c3b4e3a9e41f66456e40f484343dd3e14ce084e82a06d285379094d7d820b02673e16c79dc1a5e56c04d69a33b328a944d94e33c8009d7071d3dce25b74b1c7b7ff60cee8807c9dc1b8e854c79087e9ac00ec8216e01f1ecccab81432563d71e604af79bbb24761c6fbebb1b5420764624e0d6b08d7127661873b756cfbd99cdeb494228d03a619cda283e430da5cf2ea8854e3bb42b5af8dc957901e2442c89d189c7d0739eaa4c79aac9cc829bc70320c896d626b5cd2f862bae1294f3e2c83270e61c12d1db6064c4be559bbb03bca33d3129437a5f0f0696b9d36cd29b4f98561e4cf0e765258b324c50066db05ec4ed01caf9f6fec58dbd5818fad71b2ddf59c70506a2245e3a3a2753152d94b3b79a90ce2af0f6819bd9ccda102b73b81419c2a317c59d2baa3a963214050d15aa8fa85ea825a8e9852bbd3711ce45b495079b610c18789e0123c6d07178387bcd88fff0ac62437c5dbddcba1ea4af9ad0983f57381c438ff89700eede5047951aae1cd545597ef2f59b82ee173d1e06dbfd55f93b944ad68aafaab9eacbe1ee366e2e650881647d375abf478ea48cd", + "b196c86fe5d9afd3511845d644f5f3c3ae76d21b34b6f376f9e0f145e91044d78ec47a944df31f6683836f5e7eb6ffc458a6438a30fdd070c90d70b45feb320a00012ee6a5a4c00f2f39c16e05ec35367b1e120c243627a3ea42fea333fd54c5e5b487b81a52ab2f0b7c593fe1cb8aadb8b2d29be1aedaee0567356b44aa4ec3ae5440869c7a9fb6e9c31476fd4cebf1c1c59cccdba7d2ca0ba3df636522ee983169d521cc9ae0074dec1083d54df92bec7aed5c97190dbc1067b0950f052335767eb7fb1ff54ce78d6ab20af3ae08cd83f10e22f603fdb6c216ca88c01b6315f6f4c20b400de3363ecd78991171a2b6ecf5fc2d66f5519f53407e6a6e28cdd2789c5ea21f4ebf46ff6fe93b7f30f7dc38b3a9b52ad0cea17eddfa88d534a5a6589ddf5fd5826f0ef3294f6d40cfcfc790ff25ef282a0885caf25c818f3721ca7463c8b7e2ab00fe3b37379bd9b242962702738b97809e45f373bf98e8962eca221d35406dccc0efb041d165ae9ec16044c8929c66c8e6aedeea0164cb61b6cbed9f46aea04de581d12e9c33329f0d70e5ef3ff2c75c6152a65ebff7308a64a8bd8b4e3aeb7795070e9b1dc19522647a48ac70a7166df2aaeb3b11811a8817593ace2db23076bde79a99400ca25240bf180472d406f171545c461f69f6d550dc1e7afb183dab9975f0e4527c9271aa330579a796010bf80138c2721d05a997e4d49f099a19e781c8b78fb8e6a85b004dd0f8a745e39342b19937a20cde7ba721c1634e89b715ad63572e94542e7ea4cbf0396d2f289460d4ce0357b25a01dfb44098da0fee41b85411b4097eb860f4ac9b3713a4164b2abb1b264ddf347cd84d7941d5f221c84d93310c1e3a1c86c7c64cc4c00d45922bccaa9bd4f86af2b40e3610664ae6be78f6cdae5edaa59893cd91d1b0a33038ba2b102c330785914140426c2992baf110404f2848e275fe11c40b6aa98aba6a5a79777adeaaa783f1e60f95bf2c12652ebaf676b7725fcee87fef63c46c886ee6db1cce0e084edb9ee01d6aca1287d77738737e7c42481260410d0ba8cc71f22440f9f309d893aacbe26f23210bbfb5d3957df2ba2abc471d43c9794fc6ef7df55d32e167e94008ba64ab3cff49b974f0a04d6513e687cb363acb536a280a905933c5e0e0253b1d5cee4812c7df42abbc6aaf17ec4ba0e0c408fb040a28895970d4a605cc87136480807260f82628073e62b21b6cb43d475cdff3dfa278bed482d294c1e82f9d99d4da8698d7223ad0a19b18024ff4aa1027bb29a3b35eacec61175c97e99aec01676479d04e2e3ea09bc0a8c2c3d08e6c5bd0459c4c7c64be06ee2eea9f17c93416fb1e13b6eb27c070bc043a05ce02ac9469d101d20044ec5502a6f650550db40bb4f1c3dd7d238091efc8f8df5f64da3e0df42ad021388d79b79772c06a61c262ead76e95c51d720abb7ddb069662a37b1348430c001e1ba0c7c0336ecc363acc425834efbf31695f66526b09e559c209b4266ad344a3392f1c7a086e08ef4d790c261549ec19b736feb243c97704e1a4c7edc3d50e95d531795ca20a65f2c6cf73c497e93de0e0849df72e25ff882159aa1cc1e2c764acd79d900b7f627bae2d6929eb726bb94c3de42bf0ce7cf086ff47b33ba63ab71c0f4a24e07708381f263c481ca25098c6e977e9aea3a99277b5c127ea056006a4478f73e6660aa5ba6890fc9c517e261611c74f7ef2c9addc7ccedb13731f36792b55cbe3497acad6c84139d62f525789ef648208804cb5300b74bce2fe6c35b16f4146d92ddb6ba4f499425f8d9bcab94e340154492d0c1590820a19bad95761c28903a308e84a0530a99ec5a12262a5f2c6c3c43555cadade946c59c0ef5db8cd2ccd388661f3b3634aee15c5ba323f7b6ba592180d2e68897d24408f4c102c4746c88369865e3798c7bcc2c26af47e0dc404b61ff62e63b655e42c8268618469519a3de8267597de938fa149166764230c3f442b484fced4e73a09988863b9f10d23c59402b7822d972ad2f576be45143897fa08bdc86ff05975ba047aceabb4d8430151af315146fceba98517e10710ee5dffee550cee6c1f9c7261b546997e994518fdda25f9e6c9d00bcab9017f7c8b043e750d3fc8ddee31984a40803164260f809d93c2a9ed6e19273bbe6984157d1c0ffd9df3c38eb64462d1bc220daf2d82a31b523befbf3c0f84803e092ef314eb8420668056f445193471a45a0650ad0ff4b2847735d00b48f4130314393d6263792e907457ff80ff7f16ff1e4716a31479b1575b693c685d0487e18fdeb52320a57d75fd1b39bd9c3a23e537a51406ab438627a32f1e47a7ea4bccc432e6dfdbb86da1c44c639680b5389120bf218fb9aa11e8b07e6828ddbdd96a672a5d429807ef1706c9996d8d3f7d4e3760424d6da0e678da0892d352e2d60c310049c1628a4c8b9f42233b0b25a4bad08f4301b985f8fdf886c3c9d83def2fb58c0d443d3a64a75c06f93e7db5ab0744883195c29bd6830745940600a7644ab87717526adac7cb69f463a66bed88df2d7872b2e964ff059f7a67c1fa61eb50eed5f37495880fa7023b36b2b1befe55ab9fe072b1acadf6ebab7fbdb51c3052d4d56170af68292793573397cf1a0d721a30ade786fcb61ee10dde6b9f340c7ac85b57ee6c01b50dc983110ece4641a8e49b9c7a02e13b9fedb550bbf9bc250cf9c9f5d03cb6dcd7ca1d0859e1722fed1e38a521d05fc1dc18d42de7cd7f5ffa17faec8f8bc2993e8393635dfec2b6669a82979367a57734ce805d9d927621517abc53601618c7b5343442e75b0084d76d62e2ebe04c7f3f8bd28e39b8ea3a2b6d7c2021a026a7e1058b4531bc34b4852004eeae6b5a55f212ec3552bc7b779fd14d03b9343a754d7d425c92b0beb6f65161e377b8f86dcfa7738c543a16812b57c0aa8b36d6f62c25737c828f217175c3bfa6c707837c32ca51533459155e368c3da99c2b31c063d17ca57b251726ba177e26d3ccb75891f0b0b6fcf3839efe99cbc6691f8dff63a988b13c08d1ce3a7bc4cac8d0a52e9331543321b76ceda20df0a7bed490a4048d8a9811a476ac8d0eae6151e7705d76484dd6606bd6f3186b248a6bc56f98a06641bd5a82cb2de1c8eb87eb0839acaaa22cacba4b2d47f6facd5c43e45eb73b7778af40f465c66d88b3185b067e838f115bed756956b683cd3f82917107130a0dcb0629520cffae7d3edcdd5d8a739447b6e819f4864c1a71f378a9343f266162adae57f7b27c5cb17606ce89af722fcaf1f828ebe4bf4c01bd9478309f639b95c513e63e51d1d9a207f8ec8eb3b39f3fdb6dbb8178dfdbe136ebc514ae551435b385240f7d080e01d0b7ff4480f5736efc24468f8a0f044fe6f84e4e8954d29ff5153a130b479e1f45ab50b9554df7736ae46f8f405d3ae75ca6416bba8932850bf057f6fd862154148b45e3ba00dd900b1de69879ae428e1b350d513405c18eddc0f9f4980406482e49828f39ee8c1f7f96920a466fd6bfb0e2d36290bcd3d7f52cd6633b9c89593acd9d2e8a43b982b29faf6251644039785e0a66df01e67da68f8d2764eacea4f3abe5e1ebb42e0db1ab787d028356fe739f966023eb90130afc63e1e947ef1bcc2a70d7e600c9ce109dd6af55eea8b\nresult = valid\nsalt = 324ea1f30b8dc6e13694326da568c57345b6383444fe6bc425fabdf92653fbc1f5158e43bddc5526ca2ee0caeb301977\nsize = 12240\n\n# tcId = 22\n# invalid output size\nikm = 39053d8bdfa97044ceb676ae54563de2\ninfo = cae8a93087e97de1\nokm = \nresult = invalid\nsalt = 85522968a566b7ba10cb8e7a6f10159977e4a572408ace1b65c481ccfdf09532483cf308bba0557c9a72c849780e044c\nsize = 12241\nflags = SizeTooLarge\n\n# tcId = 23\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 6f93965b7399bdcaef06c151056ba14b7392a1521af1145e0c1d05e34b6f19f3\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 24\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 6f93965b7399bdcaef06c151056ba14b7392a1521af1145e0c1d05e34b6f19f3\nresult = valid\nsalt = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 25\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 94190f4f21f412c1d9358264a9dbb5035f94f39f5a503c0f54189b1dff1df637\nresult = valid\nsalt = 329f445e7de8a156cf26a0208dbb028d9de6ef76b8de67ca634f4a5a732138a1bd436a7b345d7a0314c7ed0a00b0d34ecad2cb8bd141e2ecc1c77e237094d55154\nsize = 32\n\n# tcId = 26\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 998ee6c2df90e53c32281303b2860c214d0325928898603e3dab40ae85cd6e66\nresult = valid\nsalt = 8900e95c7464dd4ad187a480befdbac713cf5e049c4aa4918f11e9caa0e07503cbda48921f5779a685dd220e484d6927\nsize = 32\n\n# tcId = 27\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb0536\nsize = 32\n\n# tcId = 28\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb05360000000000000000\nsize = 32\n\n# tcId = 29\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000\nsize = 32\n\n# tcId = 30\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000", + "00000\nsize = 32\n\n# tcId = 31\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 32\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 33\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 160]\n\n# tcId = 34\nikm = e2865d6bbc1abf6a815067edc4ee7aa33c290d5a\ninfo = \nokm = e0f2f690fd50db3731b19ba8d6a7bbaeb5e9f7fb\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 35\nikm = 8c177ab5f40e9c57203883562f01f174070ccd97\ninfo = \nokm = f94067eaf6df97baacb1b5a519c259b7e9b9322d6da9f71e976611cdc6e7007eadb1d6180ec1ade0bb7b\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 36\nikm = e842a4fc1a147cf2f87de9bd5a42fce6457496f7\ninfo = \nokm = 380c941a86c66affb4694bebec2858c5c1927a6b920f84a6a952a30ba215bc41948c72e90a8017eaa2033d149fb955a2a222c5101eda58c3d7667cd7764f4795\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 37\nikm = 5b870ee1bb97ee83f67fa7335b4a0f9dadc80d12\ninfo = 0a0dfb2a6e051441678788bdec04cc1b63ebe1f4\nokm = 99d9e9b5e7c324f8fff6cd2a2152dc2411457f78\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 38\nikm = 58ea7ab33acff514ec08f41e59c17a3c66c1ceef\ninfo = 1cf9e25bd70c5546ea7a79eaf5d90cacf754c4f0\nokm = 2e1036f7359a52ad08f987e8be907e12f36f0a3fe576e1e27365a33439b4ce23a10f6ce329428cc7f471\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 39\nikm = e8d20934b9d320458f4854e2442e2f0fa092f461\ninfo = 4425999958aa3cc629300c25ab15be8cea7a4277\nokm = d1e7a09a0f77ae7dd5cdb8e568aa53fd4ba63688623079fc8df2a53c9a44275cc61b09091f5997d0c819f89803fb6c990dd6a599f00ff68ab379e7afb29a5b4a\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 40\nikm = dc9e488c684dbf0ac8ff1eefaa0666d413d258f0\ninfo = \nokm = ded7f0b68046268ef0e81b03aa74ee58ea72b670\nresult = valid\nsalt = 9afa7df500d7a17af1f44422d25a62bf\nsize = 20\n\n# tcId = 41\nikm = 34b85c341a04cbade472b3f7dee4de4d1954bf70\ninfo = \nokm = 50f2b92a23e76b1cd51071d9416f4ae497a967068616d55aba15ac025ea56e21a4c63adf9c6b2696d9e9\nresult = valid\nsalt = b066b42acea664350a8448f8e064225f\nsize = 42\n\n# tcId = 42\nikm = 44cc641e09f7d5642f7b6007ca5a1c0813319666\ninfo = \nokm = b1ac58c93111b1e81191f88eb408ab179881f3bb1c171903aa335cfc541ece2f8ea7eeac2df7f86a7c2d867e06a9173538fcd3e38bcb99128d76887e8ffaf17d\nresult = valid\nsalt = 69c0dde6c8e5bd40553a5981fad6ad87\nsize = 64\n\n# tcId = 43\nikm = 88a8880cc2b73e73b3b6ca1d4902caf2128732c3\ninfo = 6dc723df3d26f704067afb2fb6d95a66516d089c\nokm = 43c3e04295d525a0dc49591dc27e4f75699421ac\nresult = valid\nsalt = 0579f690ed32e57a26701a9f6877f243\nsize = 20\n\n# tcId = 44\nikm = 8408668b9d671121b8c7d31113f045c0d7c020fe\ninfo = b4451b0f1a217db703582881e86d8044d5f2e092\nokm = 22ee54eb05ea001854069664ad1ebac22323b0b79b6def905942757d1f038a63e74bcc61b00119d3635b\nresult = valid\nsalt = 679b30e6930a8ea3f076e317b9595d5e\nsize = 42\n\n# tcId = 45\nikm = e6715cc4ee13c4d999d8f8f500243c321f70b0be\ninfo = ef17c9227a5ca654fbdb35dd00dd6dc77b6321de\nokm = 9d1ca84928eaf8cde23028ae306389313265b4380cf85459602d86eae08d32fcad2d6ea589eddaf95545adf856f0fc46902d7ea0656cecedb1cbf2191ac66a54\nresult = valid\nsalt = ecfaca2ea3301a992b4de081d9d3a4cc\nsize = 64\n\n# tcId = 46\nikm = 9a6b88f3f68f5a8e79903b51dcd733abaece1a41\ninfo = \nokm = e15666ec2261badaf8364f4cfff8d21f240bbccc\nresult = valid\nsalt = 0226df3d66ee3abb275eb39c8ec3d3e12e9b87b67f85c552accc4279ec17\nsize = 20\n\n# tcId = 47\nikm = 0b9eaec88b2940a4754e83272cbf47fb6f86aaa1\ninfo = \nokm = 86aab917d334ee079d50ea3e20ab243f06e2e29d2475591e88e048f0d3204cb8a8443671724ad11e5e20\nresult = valid\nsalt = c1616497d49246400ba68242b635c67515d2528ee1c3b71b318b631f9bef\nsize = 42\n\n# tcId = 48\nikm = c4717276e7c7f794c4ee333b2f7a2ab244be9e8c\ninfo = \nokm = 00153d105154d1086f950d7829be7e0d75db97441c88b7f31431f04884dd81b8f4ace2f5be6846f0da1853a1db2f89be090d3453488a12cc052f3234d36c4eb5\nresult = valid\nsalt = af4c63e5b554063e83e37bf730ffa401c696088ccc4f133a8695ffcbf2a9\nsize = 64\n\n# tcId = 49\nikm = 5e43a900ee0d432c5fe6fc81db8d5f81a54e39df\ninfo = 32460280e60910b10abee2e9f80a3dab48acbc59\nokm = 883561d252df369074fcdafe0cad379653fe4aaf\nresult = valid\nsalt = 8cc815009350b0b6a924ed93e73c8f8c57a1105726663b72741b67209c1f\nsize = 20\n\n# tcId = 50\nikm = 070c170fca600aa2b23618150ab9044bff7d4dcf\ninfo = c1b0971fefa0a23cf4b7185879475ebd8d83b9bc\nokm = ddc00ec19f76258aad541e0359465fcdb6a036fb4582e7d283b8ffda0b73a8b1b4988550b67a9182c227\nresult = valid\nsalt = f32a1cddb32693860eeb39a5d190f5667a303d5403712cdcebb575c6563b\nsize = 42\n\n# tcId = 51\nikm = 87a23208df5e66488d23f7aaa066e87bdced8e2b\ninfo = e4d66fa23a6020820013d94d1f8e84a58cba2a82\nokm = fbe18cc5a99e747477fbd7ec3c7f9d65eedc9538cee9a1aa81b0b3b1f199f5f892122734fba185919a64638eabe2c6932fd96270116f55a411a555f5c60d5ceb\nresult = valid\nsalt = 0488ffa08062f1fe83e9c3934f5688a2e17827f898aa5daa2d595f09b245\nsize = 64\n\n# tcId = 52\nikm = 214746af12a669b726364027e9a1cfa40c18f8e0\ninfo = \nokm = 281c2cce7550a0b02b170cea4985ee34666552d219b982389f1082746d4524cf3a8edf13fde8f5d2cecd\nresult = valid\nsalt = f65ab21816c5eaa5c9ce77d58608ab67176d2255438096f4b45779d15c2afda12718ec557bfe161e7fab89ebad4fa634cf73f2d12c884c4583e64d2b59b9d8b9\nsize = 42\n\n# tcId = 53\nikm = d509c509f91d78c33b9d661e6df1992b2b6ae429\ninfo = bea4f60eff1a0c6ab664ff3db2f774347920a482\nokm = 6a800418892df0663b4469108eea9f01ab66dbc7888da7ae95b05c68f61a5dd27b7a7c1857f2fb6c1a99\nresult = valid\nsalt = 95ff4b20ade46bada320316dad7e2b4286e93dfa2a72c6366c5ddfe8ce2ff344729ea56416d5b53074c6d6c4eb4e4873980e5e4a4991d6b1497aef822e16e209\nsize = 42\n\n# tcId = 54\n# maximal output size\nikm = e099aecd5c8f0fe1c5dedf647c5687220faaa64c\ninfo = 0e02ec03576474c1\nokm = 43fe9568d5423d93c5f59789319610e996e82ed97aabeb896d88e92614faf45df0fadc3cf496368a07f562eb8036495556edaf95b06d89f1c095da8c18003a20ca5fbb28891596680b3d9e5518f012142a1ff5bb52f4dccbac7d1db2fcfe308d8fd6444d187833ab9dc603305260604d9acc4bf8bfc5ff82d2e4f3bb25a4ad92c30b9236953e096af57eb7f4ac5aefd447f244478b1576ab7f95354f8d2000d986c607e3d1ebc900bf80b4d6cc013ae122a0876191f287f5b5dec28fde54e66858b9169ebb45529ea1c5004fef0aa85a5cf22117039798a30f2f26fe8623c8536751531f6435cc77e0ac841b884f586509e80e4ca98e3260eb60701aaad62a1a4814f4fba950d1690090f0190cf0927cffd0d3ef1b45a846ab9aa1073036c177eaf86d9f4ef8b5ab0fbecd76ee5a293c5f7843a2028a468a952b0109d720d50afd649306685f26ea407d7464e505905f2383460f6b8113923af6916f43259d83bf833cfed074e6a81a997c1a7f8f2f6eec413e3a3768308bd4292dae0d3452619291ab7f3275333edcd39ad2a390149505b6b02d7bcafb91a1185ade1834613396c63eb00e8126a14332205d7c59f39fe1aebf49a46f94bdcc56e1ae834ba06cab4e9a85bea8f4635b3bf6b332946ae3983dd9ef30773471f6c9d5a604efe2d32f4f40f28b9a609db8e6a3049e6bc961b6aa685d7a789a45cf17826305535afb67116447e8a5ca78813bb0e0978ac1a904e2d1d248c714b81fc1642421b43c6992b82cb457703df3ba7767bffca96143886d7157bb3c7a2362636a5f988e1349d57a10d6eff1303c8e3ccedf9350ef65844a173385cf4e12b3c023d99787a7c1a4b74eff2d8da06b6ae69cf71328fc613e68d408e7eaf3b9672525ee72c593e1131a72e3837daad27177a8480d6c0dbe3c61e6b971922ca3f60019e52d648c5981b1da133c1866e9a0fb953383f47441627bab17df6479a9c33547f8fb8c21e555730289d75b48d779b63f4555501220707df4b550a87f356455c516b3e519acb4cd3aff720c60181aa553f0a1a7ba5b2798f988f876e789ebaa32da2ca24b06449cebec9b739ff82ce9d0af6b20271492b53f8cfd00583bc6535f6a778f0a9fc1388b12323e631976ec6c7d69c5a0af7b65f9e2a1553b2104d83de01e98cb80a857e7e7339be2433ed24afbb7b1a663ca8b9b8b0bd21e63089b8ccf49c9669d0dbf6fd2973a0f2a5925e29574e99902d8bfb49193b929edb920d5772f8aae2334ec8efed4287162cf6a14", + "dde23d325222e82f760cc8da3e2453c970c9ca819abcb73e6697a0627090453b8c6c471134125e96416c318f06ddee0824159a7f7be8beb817ff49bd29f2d4d333f7a69cff82ae84076aea16d9cc1bed38b7c2d598428fd0529fdc8082848527d81267511ef9bd420f54540e39c8d648983eb08b2710c7c6456dca567b936d4d55fd0e468a44d0bc469dcd386de6d063a4487e9a17dfe680a4c6c9bc0543152074e9405758fd8036ba74c4f9bbcd3d9518a853f55494960777d60f0bcedadacac8af588fdfa5b68416fd2a7a3c2337bf2c114b2ed39e4b23e461106011b5ca3f13b1d78d2531bf21fec33cfb9f4eb1ef7cca539ce1204cae29239c85e81caebe4c5a01cfe664b5433f95ff1835835068ba7ee15cb3fb7d69187a70e01492454a1b7b00bf270d53fb8deda6f3daab1b996ea3d6ffa3f4bb6cf3dab0d044528183265bc644fce34f8bd1d98cb093447a257bc1ca474f2d3181011310b0c912da67a640b8a7b06b499f8d1d77fed129b47e2685055b1dbe0e831c5e104d11f92a005e2ad67e34c47cf462f867d1d2336c0694d148fb4526ddac66b9f6153c5ea91ccdbff4d2589f53191fc49a595bfada361efd20e9190a5e172e1086df63f6eeb719723cae815b2e2ff76da9c8d359c604f79fb4134bbee3382cb4a2e7ee318f25ddf0097b0e42dcfc49ebdf3467602f7d02040f18b6ed7cbd0d78bc2421795a4072880787db163dd09fc5dabcc35dc557dc68bbaa6176c10772aa7007c0b838dccb22b18750c00a5a1a1a27fac1c4e2b1b6f3923ae004d3d03555224cc54349d2fc9377fb8ce42fc2e246d9c2f2634301018f96bdff0a1d671c0377405e83ffbfa57de8aefcc5de062eb18d0ff922b3a999d0854cec38b276cabe98776c93cc41b5fd345201e1901507fa1e0c1770061263f0559d02a36d0af81f25b9682b38cad3ffe11b5991b1e6967939497424e8320168bd24209d71b0426f1c8d6e86f0377abe4a97e6ac72c9f18ed1929b07c85dd869585e30a30483df52f28545a5068577bd37286bc4b6ee40707b88ffae61344ed7f5723f07fd772d70141ab0a4bc06e3e87e4289176cd65bcd634a2a62075bd759e90c524808909aff506908e659bc1e3b3714f21a9b5c0c28f4232c96a9abe26181b4b27c2409e648a47b3164a8a1c8914835de3cf7eeb630474506ec12585c2d8eb27d692c2b61202a646d4793499ec9217ecd4361b0eaa6514e5483f16be529e2a300f940c94837fc2c68a6a5a71999b6dadbeff5f277a601984cfb74f3659c9c6fd661fecb7a39fdadeb1be5c68ed53eada42deb182445d8def28143147bfba24d65d43978277bdc6137947d6a0ee20ef78603b22919589292fc44e7bfbadda845c626cab6cff4fb4dc6a616da9905f73e16a1b923ab545caa3b11a8edecd9b6ca2812bdc8c49126588ed67aae8066fdbdb190a76c84b9bb49b6d689353ff3dac753dcadd7591c4708ee130f547a731f6880d3e2906154151a71b558d2b6d94801dc7a569c1b030123cee2afbcf121c3868424ab76b0870171cbfa00c15a746f8560e9faa7a35d91b42394ead450eba96735a0c676958fe48ffd9732b21236ea54c9d8c666615866179467b01d3c4e86ede658a3d611fb51340608622429359c7e2eff5480e5d00e948f7dee5da8ddf5a40720d85449142d5440366618dccbeef36a8f47410c344fb9731f86a2ffb4e3706f337c2abe86fd5b0311178b40c4d083d940fda9262bfcf1712a8b30bfb226791a57e0b9138e16cb850182d395433129b96b921b10faf1059c081db4896ae24045c28f9b4b12e7997d52523e3e0cf1e519521ae529146da05bc271fe8f2efaddb82dce5166ddefc86dc790b75ba9ab9458a7e32afb9b4510f9cb419ffd2f92ca479d8e497b87681d895e6536890b9a01d2af13f2a6767b428878812f7a179fe25dc27a45316d9274f49c5510ab2495ddb946d7080aeec72ea81f9b391953d748dcc4c74d5eee53d4dc69269e8f4ceca3d4dbf416840a3b02bee2b4cab18b8e5e88ee4cab4942927ac63eba64f1fb59e23397aa43a0c0f99c2b27ad51a968d61f1c9784e7122d5e63771fd68f9e030f9c26b314c037abf125366b6f199d92212017feefe878f534b32e5f5b18fdfa2edccc85488e5ea4220e8cbe34a15a4b34f1d48291777944e7cfeaefe6d3c3cdc19d216cace0383ccaf7a6fc30c267f01a915e7d8d4dddc53f2c41daf293eb7100b1c9258214669d1de4ba149c37c3a70bc2f4a7cf15d74c81c3bc5f9976677014e4e08e1a23b25790e8b15631044323a26180db21c97a53cba0d5c5a8793df6ad413da4891b9ba403bc1c798fc3bd88435b7170a2e065ae2055ef274d893a0b4ef962c9d92734032d218055ae5be5632f1d3234bb0c4fb4dd8eb2e6bce4fcea9488bc6d59259d99f273a9d76f8fd017b50d43d2d59c7752a26a94ea7e530551bcc09113becd2cfa052ca28e8ef8dbd535a9f859293b64d29a08a01e9b4ad2e4f92c69eb444fe79474a42855bae22d8a38fed765a13df2cc703d59564d55a52d6d3832f1ccdb7ea398934d67fbd4a5584b85b9d3fe2f1c06d76e1ac39a51e994e6217b98d608def8d2c3466bfdb13237ab93987a706ba8090e49a3acaa52fd78d2871f19fec9bb719f7423c566bd34f27f621fa65275457585de575d2af76136698e7f110869c0f71365765d650d3f5dfa7d871be76e761da0e533b0cc1c4acfff0e2ac5bf66c80752520eeab83b43da7e73b1e0c576406de8f2797a5003cdb66eb3a0222de073050ef2afb8fe4b18cba0654bfb8e03b48b78450c80c043df5175859320f5fca3950f226bbc5fc9a1bb25debd1aea9778ac6629840bd584f1d7f5ef9c711ae9f15830fa694660a0d8a890a5f93866ea78476bb0f1de1208eea7bf231dc0274dc496112de0138751dee67f8265dd2efca486a02aaf676e289f7cd994a534c0a062ffbbe1bf1d5aa9bd2b2ca1b864b1ab545bb3468acdb9e4394a499300b0579e475e70f157897f08dfff7fb069e0d72b361e0e5abc4486053ede6b92eadbc784335ffc54e5bc702b0fcd464fe947f29b2ffb4433369bbcb639bc82d3594666c672a57a596359eeb3bde01667d0f43869ff3d818ff715f402be0ed56517934a650f98eba6b15d002249170ed0409fd1fdb3bd241f1a160e1a06dc411e05c55a0d4fefa3b7b5fcca49882f6a83d4d69a23885be5fec6edc77c082456cfa013285979c1b1e157ed37c3c1d4f6bbae36c0f12e1cf82e18cdbf602a7640730f6f53759118aec87cc1ace66298e7fbc671da9d204568c44a0040fb6735b2ba7f1bb6d2fdbda38d04b1ae3ef796cafb1ec98505a3e552361d2950042922f0d649a68953c993bd7ee9cd7ddf2decd0b48213b3db80b640b5b6eb30d2ad36c189ad89d1556db9d016adca7ca00c42471c3f282113c0400cc2ab4016a629d7bf141395584b30c1d70ac53a425894402ab34445948d809c26390e1308ea54f412270f9a9bf24550243d3fd27ab142d0c309ab1511aa417899a123a8a0e2bbaba9758e959667d3572c60113461b6ae43c536d13762748e7ebd30e39ccf5717828038ac3697c7d9af55ed9b82befd8ff67392cd6365419fc7c8c89edead81580ac50108f17ae6b3924221e4ddee45d873de3f024c24838f4723dac9ebd14deec8380682b3a62bae71b44d0d34226502e869cd41fcd41b922e54369ea5cd3c95254d690001caaddae3fe16cf2f44b583c5b8194a2e3a3e09429f8fe6f5f28eba06cb242946ee4dc28f32b7025a05b395ad5072db27eed26ca703bc29325d1bf001d21b26b1cc744e7d87aaf07669333acd066ebf0f27c05631ab204622fc77a06741d5395e42d7ba83d7d59b386aeffc2d93170920adc3066303e1e87c75058a7fa3656505dd4d0fa29d970d5f5220d8618c50e704b03ec5e544ee8b91c028d4cbcc8fe1a52e1c15abbbb7ca810ce45053606b5d6ce21e8d8caa7d496bee2e40d36565def4ee5ff9ef0442ffb16a16998c1c43096dac816976df6e39940cb9097bdc469a567552c485b0e5df1c40ebbe41a90c6df1f6be3754c3946f9e797b8be869fbb195aa3748592298caf24cf0deff33d61ab2bb0b805373df982aedb81a621c58bc664b79bf1d87b298cdc5e5066743339c1f3efe110ed24cfd6655e1d9a3fb243aa4d26dcbbfd7665fe5a090de4be79019786f561a8292fb4434441a68e17edf77c464dff50b7cc5ad4799d43ebb51a23dea7b760d626d041c8bbb96aa6b20e66260c0fcde1e78cc59a5a9ffbc5b409a974c42abf165ba591b4299c3e86ef331c4f71131bedf1a913eeff92da531971698c8884a3f33b43622a9077d118a77645558202ccb437a347051ceda13f2d44f63c24da270bc350f80cbf4ed02a16ca9b5eb75f7e8511a64d16eabaedb6c5a7854cee19b54dd7e37ae423a84889f8f926b5ce07337c023b56cdd09a9f219419630cae32decca6c26e52ca35a90c2e258330982b9896f6664c435ad9319b895e92f310292f3b7e575ec624a65f9258ea6465d5d074d730bfe7d6b19a8d7071a133778cad36b890117f9e75e2c3e755d82756e2f664851f32bb3d48c67a2db19f29a307bdf9b05dce5250a4cb79e48536584b0334cd0f60c256c1d5f0439a0c2f0b44fd1a901a34603cd4692e63439e3374a778f6d7b6186f5f48d7900d6d227bed0b5ea16e0f6b9962adf944b31ab6a4ab5a6f41fa7be2fb605ec181db786f88ac981ba03333f287544e77bcc2f1ff6156099e09acc0a7530a0d7f5e8b45ef6eabd288d26ccc6abe9649f49d4045bf4e6f5e6fdbb735773f58b8e23a108c8229802b20d1252aed2f049e04a83be36406386919770004858fd1133fa4d8721e5caad10ddac2236adcbef269092f2734a0c84be8c55ed3cd42c1920b44832858aded480cb8aaf5104849d67026fd583cffe083b2761baa445f37fcc8205078574e9a746b31a732ff50cc4872d7e0265892a4d7c51dd509099d3682f961689a936e2354e0c4c49e57883b7f8fbb4901e9a8d426d4d85cf7e6280523b372309cde7628f993a19055175f3d959ac2e162aac22b0d4063caae9e6db1e63a866e59554f7dcf887388cdee8eca6608972dcd587a652bb3f75186c44fa32d1cefc4bf593b5c3fb728a898b315f3483285283012738c2e9555ef6dc22309898cab2c6dc75b54f3c1410948cf6c37b6127d89ff0cfdd6b2e512d7a8b150f32c15db6a1443a73907e3c0fdcaeb1df2162823f88dc6c526054686dd57dff1c032f695761397a85181c8817c1bad81ec38230d731d285a0e116eed03b1b03621835cc9143f2a9eae442a7d70e818f701e0e885a794f2afbbb35c5c7210f5f28e356d684bcea9e53a2088052aae19b36870a115855a7df1db48a55a0d3f94929afd81b7dc3973c4749904919a520d7aa664957990ef92a82116a51d5452043d051c29ad36a1c4712c56b92048ec4995c0510abad4f84022eb00037d52ac9133cd1c1e78db7bc57776342f53790a8eb22869eb0868804b753179198c463661faecda241f6c05fdd5236fb802689c35e45087de051f134bc2349ff3ff9f1ad3c33779e607e04478b59ff4b74e4d11cd99235259ef185e7d9bd262c935204c55485b4407b58b21cde59e43d5ad6b9760be9e2cafc676164f99fa909c7b50b3b97367d824529f074c7ae0ec258245be73f4e1395a8bfcb0fbe2f10c90d5b912c6c211d2a9d33d7c0fb31a6251e8b5c48158b81e4ae5fac00dc898eeac6b6b636660a1087f87d", + "b043d0ee0ff9a4667c14e18d886db31a5c10b2b17cfc6d97673ed5f7d72b9aab8b0d8ad5fa66ebf32422431dd8783024c986942d380ec48e3e0e0c5faa94355e2093df1fdb027e8ca52d2b997dfc77f005c2cfc331c401a0b00a013b4c8b3584adac06c28549491914366128d6d2f59f42f9e6905bc58a9253df7b95bee53d40264d9c16ff36d880d1f6e477ec09a958ad90ee89464cbb46e7efaff67426abccac3e05c6ff5e6c6f278164d26e623abe8f9d376e9285a80406cce1fc4de26fa8af5311137fcbeda51ef1767a2ebc76755da10818e9a2bbbb2ccccdf5f72de6d4fc7327a9e388e722eb213b85a9be3bbcfe119137e9c8abdeb72bd8c4448b68314b754603ecc846eeaa85f979e6737e325b0501586cba6ca9c2bac24421570eaf9ee6c897689e8130306df9a10436b50d017464419d535c382becbb4da5071cffedd10c902ce0a7a9e181cb0dc775924c66a516c5effb438cc754c9ffa186598153616ce8858fe534126800f1ff9df6116d1dff074736bacec45420494fd0455929c2a33cd7db8cf063e46772b70eb996bacbb7aaab75eeae21944041ec35a4c8564dc1280d6af8b8e598f8f5bf5a422007c3145b31b8ff3d374b49f4f63e219534f26bcf88b6eb10cdf0bf824e4b115997424dafd2e3f967a51a21e7bfcec437b07a212f355cf1dcb337f01bb029342605e3ce90e6fbdd41fb56f516646f4fc9bbebb650057c7f62610aba4ba2a03d572e08ac97769804c0dbce322e008a207f155d93a1bd949aeacd92a6fedd76b1c11c75099ed3bbec327570534134d5e316253fce81720e735af68ce89e8b1671ebe2aaa932d5568c530d7fc9aad77a09e0ebb3c7c72e5feedac49e653e6754b33aee3d8306e4943ae95d398c0ce227e87cd4ddf973346bc733e2b4d7906dab53639f138acf5bfb700d299cbb124c2f77fda5b44a832f2f6740f32c3fba0becacc4c579e3ffaa086d4c1415119691fb855347183f46f64718c6c5f45b167e6639506675fa0c22cecb539f2926b793dd730a788d87aca9abe31eb210b5abf00133238bb1222ff31efc5917f065130f6991b59a3ac4f82924438ed576665a096a5adada8b3e3842be65b1ec1e636af0859fe9ac1bcf3def535a2ad650c428c514139085a6189716a0bf7c3c8f7fa20858d81985213faeb96ea1e4a9ed39a629d2537850fb56052ba7aeebe7fb5f355e4fd17e6d452c94f67ce4bf6b2fd4e91a8a1089f689ad2c1088bfd38d9dc71750cc5836c5cc4630d48f2d9b237d3d6700af559c5f144a207c625fac2db4dcdf03a157603daf1c1cb5f76afe0fcfee609c1ec602f20ffab7fdb9a6f18e9df3cc75e9879c029ae69677b9e4f1bb3555c2f0bbbd8a398ab3004609707fc6a3d062d4b8c4476b433bf273f2d1a8a5193981ec52e4b8361811f0d7d9bbbb4ff86fc04a1d6c7b3cf4753405f12c0e0e53c6d410aaeedbb6f8a1604370d354be1ee0929a90e36fb4e3e5bc8f8491c7f1b563fbdb66296bcdef1d67129ffce4d1083b527710865730370282244537ec059962e4e48286830c89feef9d20e382b1de2cd0875bcd66f6a18b0a27b261b4aec64864648971e299b019e3a8f6b65a2725af4caf7219a38182e3c058d775871032a4ea80795b330e4445a3099e067ebc01461cd439f77f9635517e55cc274304d4a0c222299773d6b2a24c02b8271954b797c370fb3760d3f493f886cb3f4f7851c35ae22e6d531cd339daece8984188cc85848b4ffdb624506e1560fece36f9e2ee27746ef5f1212822f8aa917ff17504457d054fb934e4fe21772636d71f9e255680a9da2c5a937d16a477e1637562bd1dadf402cb91f4744dcf16733bcbad47e09592f15e8c1fc5f0a71ba9d7c9e9bba0d4f807ecf913986ecc88c4c3571e5bff8ad314585b38d265a1379d1f785c30866b2ff5fb42ed869070785f3fd5215631fb83c9cd909a996dc7e957e1b253138edad231c1e8da892733afe567e6e0923572d57ee6dcb13d50a5b09e32d45319dbae84d93b7e2987cec9cf4da686d823b09432f9cf09adedda9918fd1aedbcf06b0c6753d4dfd27797044e93cac49d04a3af016b2b1c553e843af640274a2a06840728c8f0c26dfe8dbf06d1c1866dd290eb45e1f97ee617054499b461e054883b1ce866facf11e001027ea9342941eb47c3203c6a40457a4da350fa2f454d0b2000a081f86ae7f2fc5aafaf1a17f22bbea02bf3822dad0723384d4a08442aac709ee43873eaa1d2044e98e952667c2ecf14c754d642b2810b902a8ce8784a54f37fa3f4cca6853fc49ddf08510d6f54b803a48b4e0dfbecd70af80e74cef54d21341476b5d3bc8be46f2c4222c24524c781ec698dbaf4f2fdee02f0a183bfe82c1b743b148b17824654e38220a187c74cd4dae0c45056a446950ac7886ee71d397c2b46b07ebb07979e6c644a7c6bf1f6f94597a3b8bfd5285a9faf94fbe7e13cad9802e9667c031455ecc4e4f33cfb67b9a7e2bb6cc099316e9ad7dd7bf1027d2de68c91024863193a70a6cf900ad60e1da8c639af32a0542735deeb11294169d0bb10c4811daf7d2715f89a9fbb4904f823545747f291b977e2b4c2f825953d39b392408166ba8f58e8978543c420cc33f3c3b99cf28c9aab2a891f44ac28a6577dac4b2abbb71634b9f1f098836163355f95c9a614a913405f2fa811593434644eccbce541dc59a2b2cf76f021d82fe5d511a3b6d2ee80b66f1c1d5aaf57589ce3d340afcbbd09f687921725663e4bae152d14c6a0d5ac944c4194e94b0ed6042aa1c0084cb95111d162904ac9bb8ec2bd65b62ecdcceda8bb937fcf9e2f76c2e282cdce8b8ddeac3dab93a8f08c22ced1ca8c230e0ed34f488a20545db5e40f50b931380710a1390d24381a74e6c872548587f0d36c99d0bec08d8ef60f653e64a3aea222ca5de85d750e7cdd6a92df38cbd3f0127e971cb477528dd9639594210dd69825d4b1d6ccb16f3c6945e7a27953c634f3be93ed6a5d5adc62f58de6a34404ab0f154708cc98e031c621784bb76daf022cf6c77f64b080409022dee0b0beb40135f8f8c094798ee83bdaa0f414f3254906c3e244340fc5f940f322fb02d4d1d9c7423dbf1f0ed2d009644ce689eee320e2926f8ca4c360180449705151be7e2c41b1db926c8878b32a46c3ab42e96f12a717f2df77f61a5790865a18ef45199b0b5b21033061e532a17f16a7efb8884340762eec930a02808b9488e080c0c7f86f70e6d245eec1bfde72751918336104947935b37368db7f81958e6856184a0f1be47d6c5ce5aa15980fd226e1dd05cf0c0db76ed9dce2f1f2801fbcc7a2f4ad23ea273740c17573834b9e92ab2368e57360acdbb6fd97887e2600d71db902c3feb4318caa4ca35ec2d02e7b3fbe3378e9ac98286961b877e2e6f0322b61d2e43989cd846085de89635e207b900e369f455b1519ad035f4d66e4a761e1f8438697f3e6743143931e53d1e0d3f5a4b96f6d0762d26728a067d433350b6506775f9e20669e9bac120a02390f2032dce2600aa4e20fa2a7d9513fdbb4c105a9f6a3cea5dfaa19cf7da2edc5959fd5b7d4bf8d7792e0f5d123598e6ef45bb205a1421899f95c6ccb888f371b5cb2c0eb4eab7241ea0d8c0521a4eba74bf6dbda1a4b7aecf64309fe785063958ae7db568fe89523a3c54c378e565b9861f4d853cfa19e2999c6b3418cfbcabad15121fa27f515717d27f197f46d60cb14985f288d279660636c02006a0721b819b0177566843430be4527d27a18b79c677df6f6a3013975e53865bac04acecc5c24c4e90c7179796d1de28bbfaa0542f05b669c2493d04713e18333f6ab5cfd2a3a3c3801a7313887200a757ae3c87ab7f4c1c79d5202ddf56cd0ef7b35a71618e761824274696aeec8b12b21f17d17c4a0cd03848896ff4cf846dded27512cc17eb66d59a7307ccf46a6a4b9ee707a096977c2787d86c4664375292d163e598d2efee1257ec6e5d557cda9ff687216a398482baecdc1fe402244a135df0b0874919794849e9da7c5a6863d5cf83fa6c998cb00c3e70462854eaf80774785f6fb55cb1215a04776532ae403db7409a536e931fa15f479e0f7492301c6219557b54882bc634a857d2f2b1601cf4d345b326ced91b40e6e500030d2cdba5901719ed395381e13ebbac90e80f66c4e7520247f07ca941846a90238735a4a7ca21909d858eb2af54f5f52128339cf5fb2af060f02d4668d81c98f8e14501b9edf0dd766cda58da7b6947499249f6c4f3eb38a56457dcb70c5680e29992d36d8a0045a9c942136a9eaf134af71434c5b9c0d6a2820a365605f7578c48796f7e4de9600d2eea8d43d37714461b4412b306c8712e517226d6a190ee73ce529a3b284f69b6eac34dd03a68548fbc3dd7258a26fe2ddbba69bdcf654bac8b140a1b2c3ee788c539d3da52addb21b1f3e5af8fd594ee1d140746da32f5e8c64f9a9643fce278be2cbb1d1702b033a58319eb061c7034f5ce6e967cc9de6451b33a5b0f95f2c11417bebf02cbcf3913628a09b54c47d60e3dc15445c1d430c9e76819948e88c476d3fc8bd3afa506edb216773bc2cc2e9f87b410fe6fa9d3d323d185fcfc1c40943c1dab531bd0e8939c80a75470b012fcb4afe6d83a32b85c95cbc746c47168da969f67c4b2c348da9e3c6da46882188d28143dc6f68d2f0c106cecbe327091368f597549e027c9431899510bbcddc682fd41777b8a497ac627835c7dc97fa1ce161d849fa05cccb644b0bda99be6ef27a0a08ee6a3b0e61bd1ba0ecaca0f39acdd09948cb09fbf9fa686c535bb0a7227923522192ce2c8611f45aa2850745ea6572d167ab450ece7c982226b01a0359ca4518792e26deec16211ce5138868bce7c4cfa6129ce071efb7f6ccb0e99b848ad3a586c2ad77c5e21d4007c56787dcf56ca8f910e395434092e80273be4081241f02649db8e1a6a5757e4d213714089aaf044a2ed0b181a4c79d48d529eb0edb79dd87a2c9366da1b3e0960860516ceaaf0889c2c2160a5818a13d682c8b81ee3318c5a33ca0359a2d4b69f60595ac0b19e2795e0ac5e6235b7b7fa849d1c01682c01ee0c84bbe5f336f07c671db9b239204fbaa6874723b780196360f9a4b8b7d6d7a4bb8d91b5e620e901cf4d23a2111cec6b4e2882637886fe026ae2470f0a86a6422057ffbd152a9490b572d48dc4c93c9d052ef1c86d5704b4b04709e4a7a59bdb2486b3f2d0b84d31e44cae3d51e9efa35d97c8070678c76376bc4a9b6e40884a9ca5203c69e18ccd0140605c5551151e5ca037deab9a5cd8514f5515363228c30cac1591ea6fb5fcc7957a7ab3ad157aedf0348008cd8add6474f5e4d65a305cba5c01c2f5003af45a018c0cc24f07683e907013cd09dfcf82068adbd68521319a2c6661f495ee3c164334358af499fbd225502219882d7c7ca82220e83fd9496cca4f18a129b53d490254475e0332fb949fd8141eeebbc3841fd3478c4af60e205ca43ba378e42abce20fdaf7dc4a9491ee8d3fd74ec5f6e7e9b2e6467a452336bbda0d8fde7ce783d973a9e1343411746f7288975ab20749d7f75ba34ed496e597675a99de38db3a58eec2b31e1ac9ed1fe8512b33a453d98bb1bca29b5784264a18d4a51700685c69706800eee7a27c17e8536812aa0b5ba16ef8622ba0d42334311e054166ef6fa843c09ca92402510849375c209f2e7afbef5938cc7a4cb194b488d2e42b650f559200d0f1d2f087a3d26cfc4c9d13ce0d83cc2ff35b3", + "655b25b2fb8064235ca4364495e0fd017eed4f854b8929326e8c68b985b1c330ee05fd63b063f58871f48e25218798be5700b7313967572db57125cea82d3e4a366f559ec556ee116b19144965574f03d3596bc56431fb051a882f4d61d4b9eda13b96c48310609f1bf7502723a0b4574ad3f6427138151fc59e1cbdd8bcde532d41459b42f04a0f99623f9aa8eb33ec591dcdc88b026753515411bc8ad4ad75530cff0e4da879203c715fae5ff628546dd5cb6c365afaaf01fe0373ab5f4e373a8b6d0634ff5db6f7da3fcae6334bd7887021e687a8187be9bfb64b4c2d4bcb0907cbf38272945e26ffbe37457efa4799ebbf271df4bf49b70254094f14065efd2136d75c19485f32cdb523dd68f04b2e17fb0b63b10b38eb4d219ea38b7e95178a6c54b15ef70c4f8acbc17f487ee9a4331ab92625b544f74c80ef92903a524824ec3029489a93f9321f8160a80b551d764329d55ffd16b4b2c3be632c9733dae71d16d8d46bf1222b33b293e9b218d3e6c1d55c331966bdaa2ab822c1cb1843e83f9cc06df7a207986430a9fde3fced65ef1591541480d45acaeaacba1ccfa40680a8c736d8a949ac30c10f9776fc584c7a161e51c5f20a523559d1ba2d96834fbb688ae0a1cf5a64a95e25e7eece6dd512196115d8d0e01dcbaa9f7c6f23ecddec8354464408857a61d11b349a550dc9cdd52e536bbb8fe21f9bac950146c54f8fa1bdc855aacaad455a9d86db792c502712b32855820b468701c22108976758f1a4b5a7aaf09934e81687e02c1bcdbe99dfc6f6a3af065c817af159fc337bce1078881f72518cff30d22b2029cb01c8fbe012d370eb443d3116e700b09dd9affd7db12dbc7931c63a44cd95c29289bc4ecaf9de37c1b8b70300daabd4fc9e0c3718610f63cec51217150544449cd45387612462e04b2f200149424f5fd9584dbb6b32a1397c68d89b3e4700d61fd489359faf812dbb21e4e63de0c810dbadf84c9a90d18aeb5d104b689e901815eb49ed249f921e7d3218cda3d717c9fa39e07b40d399ba6b74eb030d5abb7736d70eb2262e0dc048402a7aecb30ce6a077a09b50c3a475fcac29b3c171b1cb8e01dd3b8d4378aaeaa9efa431de7c2fdb097b92c8cb7942d204a4f3ffa6832d97e784d2e5225a149d012bd9932397647663de738d3fd805d7e735b36f375c1a26be760e96198bcaa0a22a50c16d2975bf00228ba35f6d76734a182e0efcfbce1b174270a5094560a61d1376b39d8b8f41a9bd57e1665248c13dbb0e39e4ec776c7914d62045821482da7b9f8da5f7fe87e94ff93f62c1dfb84ed8b38d6555d3129248d5520da73abfa37468d6c39b795271e4e7fa24249fb8ece5235386c7a0d9b149e6fe6b296cdb9017e0724f3b34da6315624717b13dd43e7a80831c9edfd7e58aeb136de554eda1ea13f17a6943dc7f946535f8ffe95329d3923d45caae98c7dbac64dc5d0d1c62176ffc42e2dd184f781a7eea698b9731d5ae3357783a838918d562c5436d353ac241b38fe6e6c045981ff216e9e4f8769992ab3d27d462944e2167b0a27b84d083fe5bc04db1730780004d03f9862a5b27b9719623d6006dabb7201cb763f20d29f16f8f80f2506bbdc2448483fe9e515af8fa4e5c199a232429d4882e64f07e90ad939066c60e23c2a9bdf2b875a490b2556b1b4966feac8cbc212d1d4ab24094401b90b733578d8be20e03b9aed8b67b14ec5744af7d0fe6cbe490e689969c79c813344a07d26c23b18589b040688107a936bd30b1ce7dd6af62a7d33a8bd287dbdbf34e754dbfacff62d05fe8526b53e0ebd8b41eb442d4416dbaa621ed9bbb97709f08c85da603d39d6ea42e6465e1e4f8ffe03bfd0865b6bf13755a61b3f8e3937d917102497c77b9b21a3d67b7d393f27753369f6b488eba203b80c7ecc723aaba839c3957805429bca5b159daa39739fbbe7e32bb785ccc1fff186f85d842e2f22a7a9af3ef93739b0de86cd56d82e89b2fe82489d80553dc4a9e55f28af51e041a13eac68020c17093394dfafb75a79aad21d9034cd3845167b0fc5178b4c8015d7328525a90b64f310ba6668cd5f76c25cda4ed34a4a16158b2cea8317337214a7a2fc9959b54814abe77729faca87ba2db39934480e5e988b2709544564092f57d95a5f8dd0695e1e06e695e371737674e6bdc18acd6595a970aed7bd236bbd313bd857cd96148200d81e04c9e7f5419d4be68f3b41dc8ba8392614eb3170bb5a42bbd01a842f72f3be740d77fe0c5ea41b84a5065bbf97fb429d9a4e33d0d5f8a76954f46ab9d1e15422b29ab283161e4a608292531bff1e15e4b2a77d0ba49ef863f5ac8886dcd5938c3ecc8c1060d05ed917c03fbb316d975e64c5d869d82038f9cdfe960e8b2d90809527b75872c205b49a4f9322784a0f788affd5ffa6877820e96125f8d865c7137a04a4d75add2075c3d739193d53c2e018ed2f37a428e76f68941eed83c1dadd95e05ed9b9d768ca9ff6fa041651c2927e7a445b7c1d3766b82d864d3ad56bb2cc8dd35513f1f6aff6de7e9fd62736ad7d742267be35bbd91b0f06e0d2bc395f4d6199421e83ce840a31caa3d62a2f9f94071fdfa4320d46f3612646177c9cec0d1cd5def90e01d1b82a27a22d0b1dca7c383b9aae588ae7b363b864a91871d737252e973f4362f425a8e422889994f4cf047e61652e94dd71e2b39a04664758aac55d17a6f3f26abe24b6fe9ad5e678591adc1ede8cc67a1aff4ecb1463b727b54749ef6c7c7a4c17440172be36e9639098d561d72d4dbc6f2705646911d603605a342ec1984a5cb09930da7ded78f96bf44bfa7223f6ff2cf7c262ff2603160b07c0b8933e2ddc82a0bf91788fbcbe11552550ee00b70ea47f4f569f1013461e047a57ffe3a222dbc5ecd28c95125c3e09b8c6d360043ef40382cca645b93c1d0a2496d7b8ad3bae37985494637a4001d6b61aa7d5cde2ee7af14249b9ab4655ce5b76a529969d7f5ea6e5d0045585e28ec6b91781598aec0e386b3cab3640a69f4cf710b700d3a4a39906b481a91b804072cec90c616d3ad6d7bc365591b6a4e85baa1c2ac6d923518440293f2eeec4c7ad523e30686f24cde1ee619d86e15f4dbbcdc294a315ea7b0652020c10c2189b28028993af3873dee52ef4c8cf7ce4c97457d775ee0ccecd339b83196a7da32fa91fe00db77a242f728f2cb25b91a03a7933acf525a79c63cf88968f78ec078810a5a60718222fde90c09938f2b0b19ce269b3f5123e61418a7f86586af4260060208b5e0a2ece6f01e955ed827da6ff33f93570a6fbd79082abffdb6f45192d7c2e3d4cc8ac868d284de6843b403bec58bb3ee3570fcb6932ca3d5e0aacf4b1c7ea785e59d4ed10a43e08da8e402861ac9bd1e1a110051ed5282ab2016a84da4e76ed457ee1de45423f56f41281174bc897736888852a5f4a01b4b796eb6fecdaf8584ce1d982ad633a51cedaebf602ef3298ea9b63002a21fb3dee97d89ced945572e37c1184a1813895b23e506a8c974db7e7c6f5fe3fa8dc22816a982cca48d052c0a7d8ec4cd37acb86a9578518e9065c61860f3804fcfc385e0a7bcd772267b8cf366046a61f66c19aeb501cb138793b0de11cdeda36846c6b76a5c2d7b0d4b2f7a7241b2f5bf48d1cfcf0a65b468ef307e55f60d0289be6f66a5c36fa4fed684ddeb97b0d85ac1bb7335c145c35c070b80518441251dafd98a796d1cbc464e038d53aeadba1447a7d00f6baba73b7d6084eff55eb4875c8e16b80c1260a1c45a888801277a4ba4b725a4d5b7d715e133bb38f5ff98efbf07a248ff384badcdcc78bbfb085234f59a415f754deaddd0080d08e1366baa15cd0ae6a4dbd258069a7d328c76522624c78a624c166b486470c1ac977c0763386f307dcbf8f06e2c2f4cf4cde9ba620dda2ec703ab7041e3e376e9107056098709d7fce847352836e65d1af6ca5c1d879e24522b391760fd36643b9f7bdcd1e4028f6401e09187e387eda8817a1e230820f943b8b612628efae93022c28b4f35fd7e64156c77f47804cbde126edd4e3bff900b809220df97f9fcf61ec77e21936d990c8d14f5309807f7d3feb28479cabd370145b8b2d04cf6e29a16333343577e4299dc3f58183813a5e45b6dfc806fcb765c57684401cfec6c8df3e669931913953847e733c6b61d858b42f65594f165cade5384265664f808d5596a67b4fae95cd3c564906357d64da843a3993f344d4b27bd79156a1666c60ae9e1bc07c278d9e176e9fd8613592f1c99f4dd73f32cf2787a1a065a1ace9c3ad2bfe0fbc82f98274ac5bc561f426b5979309ba3fcb68ebecfb58f6b059eb9694236e635915bc0d8315ceac966b633f2fd810c42424c5ac887fda243f94ea535e70596015c4e2664a58bc7479f0c3d038fa8be0b62\nresult = valid\nsalt = a8febd4ecfa01739cedb1136c9a7fa10362e8f7ee6556fe0e2dad1740e1ed44f5c95b6ac57aeaf509af0732c0b0390d4\nsize = 12240\n\n# tcId = 55\n# invalid output size\nikm = 487df211f042c4a8e2e50a4929d4bc302e3584b0\ninfo = 943c7f0cbda70cf2\nokm = \nresult = invalid\nsalt = e01bc4ca3df96a1d158434ec7519550d485ec22d45f827c5f1f9c20036591089a8b6dbec705fd80266fac62a66c9681c\nsize = 12241\nflags = SizeTooLarge\n\n# tcId = 56\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = ee8362786c0c8f19b159b49c0ec33438929d4575a7a319a99386392ac07bef44\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 57\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = ee8362786c0c8f19b159b49c0ec33438929d4575a7a319a99386392ac07bef44\nresult = valid\nsalt = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 58\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 7e060421904a880f28703cea5defae446809d4cd0b971272ba2cb78d8fd7eadf\nresult = valid\nsalt = 1a08959149f4b073bcd902c9bc4ed0324c21c95590773afc77037d610b9584806aeeeda8b5d588d0cd79e7c12211b8e394067516ce12946d61111a52042b539353\nsize = 32\n\n# tcId = 59\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 86bcde8ec5a2b4cb9993fc0981d3e216f49789936b43d67de83ba9f51fcdf0f1\nresult = valid\nsalt = 466f383c878a617f0828bf2f86dac9f67b40e6375bbbbbd5615e7e99783bd265fcb5ef946f062250c0186cbe711d930b\nsize = 32\n\n# tcId = 60\n# a salt shorter than the block size is padded with ze", + "ros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f4\nsize = 32\n\n# tcId = 61\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f40000000000000000\nsize = 32\n\n# tcId = 62\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000\nsize = 32\n\n# tcId = 63\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 64\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f40000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 65\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 66\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 256]\n\n# tcId = 67\nikm = b18e35e63cc4fe4117bf2754ec3f9ebb5346dbb0bf6d4e5f2422418771816fc4\ninfo = \nokm = 9e2d67ac4c0efa0b734570d7299b8e8d2fbbc5b5\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 68\nikm = 236c2ba20c72242820f63d3e9c20633162c1cb048a45dea13861e8a138b9640d\ninfo = \nokm = a7d98a30ba3320706cf345f0ab09d4cac7d212c8337bef01419b054c10d336009e5636916570452d4b8e\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 69\nikm = f2cba42dd82acb5d2d569406815a3769b7becb13fa48537fa7d7d5e121081d39\ninfo = \nokm = 558c7cd96388bd7f225afd1580a41083c465aea527cfb4e33a0408565708239eeb6797ba0e9f80f9655fa3bf2c7172252775ccb16170c0c31830c648617ad586\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 70\nikm = 73d97f2ffde01b447a5b8573190a8eb4f87f7ac04482836143f780ad876bfffe\ninfo = 74d2301c5aca2441372cf6077bd8806dab3e8721\nokm = dbff53109babfe9694885c6bc0c577ce8f5201ef\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 71\nikm = 6948521434707e96fa943e44988d1ad409ec57e6594867e8193e9d727238916d\ninfo = 9eaddd1e7edb6b84c96fb5ac7e0d673a8f5084f2\nokm = bd6dcd55a59713754ba4a26c55b6084014db2c3ac568eda3be9ebc55e67a2aee4d3cf2d19ce945555d42\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 72\nikm = b72b3854923b8a0048497a86bddef962552c8f6b2c72b2b2006a1820fea5c6a9\ninfo = 113b708f7522ec3b362999db18699bf7871e3b8f\nokm = 743e992e2d0ebbf94c6b901955270f1cbb472fee9ae645e128a941e62623c3e0f484369e77bba1f6ae485fd23b6ed2bba64ca25a19d56715875f3d092caa5698\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 73\nikm = 44d774def90685c0e9a685fa50fd434c807d1a57896fa42f91778821fe232057\ninfo = \nokm = f17c54ecdb9769ab1f2c7e5ae6ac720277cac48d\nresult = valid\nsalt = 0d7d3b47bf8484c8adab7f9c27c9584f\nsize = 20\n\n# tcId = 74\nikm = 098ecd86354496a701ffcac8d589a1217231da3b80ccce4ef85762d7f3a2c211\ninfo = \nokm = 5d0568ae988ca4c225eed0b789b488b8b8eb421aaf0aa8056c69031c004ace076dc2d2292e06b0df6095\nresult = valid\nsalt = 5232e5e4e2dd6133d46ebe5a8a51a0bc\nsize = 42\n\n# tcId = 75\nikm = 917ad396520e454a571ac39a9f6bc845a8920954fba1ac400cb2988cd8847ba0\ninfo = \nokm = dc65cdffb023a4323bb82c444815cbbea1aad5c5fbdea4db2df982432f5a6b4124719f9fd6a47492170041c60a7a075df39e9310ed0394271a53e87f772d8591\nresult = valid\nsalt = 962d86949506450eaca929286ce5d9e7\nsize = 64\n\n# tcId = 76\nikm = 1cbff2202268edf1985bc91466b80133644988c5e81368cf0995274204fb0aa3\ninfo = 3e4f9c8d3d607c2ed43caa9e87e6ecbc307c6048\nokm = 8fd42650adad1b8cff79d8a6c690e62779ecdb48\nresult = valid\nsalt = 2bde6e33534731f52d39add940ff46f6\nsize = 20\n\n# tcId = 77\nikm = d00d6b4fe088077ffbc64127d6bdb9707a0f9061c0b873c334c3be0adaa7c2bd\ninfo = 4266351bad419173279c901aea148e8b1d99e50f\nokm = 61a29469106dd22597f742303af8683bcb81fae85b45d38792b019f201194372895897fd7c63f95d616e\nresult = valid\nsalt = 1647a044472179d454b8d2108e4a2aa8\nsize = 42\n\n# tcId = 78\nikm = 9a27c19b607adc8f152faeaeb1282002d3a2166894b7fe5d65829ecdcfaf73b9\ninfo = 36356cdc28187c11cbb9046f9ce7502ab4d2ea46\nokm = 6f4c33adde661d92083b96c90e9f030cb372304ee1fa8adaba2f22f45c47aec925e944034737e47845d577e4f2559b9d00cbdd07a3bb9b4fffe701385a0e6e53\nresult = valid\nsalt = 70d83929a6376a6eab859f0d6225f131\nsize = 64\n\n# tcId = 79\nikm = f5d1c855d3448e212d76d3927ec797dc439cb182f427064288452988ab79c83f\ninfo = \nokm = 2d45645198322629380b4051ec1a219d2cbb49cd\nresult = valid\nsalt = 87ef5da5400db731d658972ea82b76848004e70d3b22cec76c8be06283c4\nsize = 20\n\n# tcId = 80\nikm = 3f19b7095a6b3d313b59c3ba2c3a78d8b24f30c9ed4f8be9eb92f8eeaabd2c3c\ninfo = \nokm = 5eaa1b59bd65ef1a25f255f2b8bf54757c2cac123ccd8ff64e7d0a094c2a8656cd4eb2c4b98b16a0779c\nresult = valid\nsalt = 8f1f6c8e4f68830319ae859b4b1fa71f1d69552b0c3e53cbbad26293651e\nsize = 42\n\n# tcId = 81\nikm = b1d396c69f14994dc8add0f6e0cde4455677ba9ee95ff84a142295f9177ee629\ninfo = \nokm = 938ce3bda3308425f80da0093b4f8ccb7afdd75c4b484d8c92e9aad3613a5d0c268539e5bb115b658121ceecadcc367f866c505972665fc4ad0d0664576f6b22\nresult = valid\nsalt = 7f693304bff77534b8246d832749387ecc0e8daeae11d77d022ca9e362d1\nsize = 64\n\n# tcId = 82\nikm = 003d1901a10c062ec44e0f2a94c544b7f53b33f1ea4679fa6e023c2d0a907fcd\ninfo = d5d3ef5beb9840d15efe9c778aefe38f1bf7bae3\nokm = a9e331f535da580a86a3b4e0cdd5a7dabbae2de9\nresult = valid\nsalt = ed86cb8c8ba1c989f9a60a4a82c38be98c70e6218576b292c93fcc18192e\nsize = 20\n\n# tcId = 83\nikm = 02e0647a4b7ccfc0d3ee7ddfe24ce69c02f51cbaa836b96cbc5a9c2885c45599\ninfo = 4e9e27d971e76fda614fde15031f6664b97d4786\nokm = 3b17b93969f5e7567f7b955dc1e6bb20a04543724764cae47de80272505d25383687f4ecebe7797c4e9e\nresult = valid\nsalt = f0862f61f2377ca34b76476ae21e331b114c7712aef501a1bf00f7e9cb79\nsize = 42\n\n# tcId = 84\nikm = 92bfb7e31e839f109e6622b2c2c4f41ce84c9907172681920e7d90e80e2339bf\ninfo = ff36776fc755722ff371f21cfb37a168a2731e99\nokm = a4b00d604d54e6d1374499c6588e199a9add616403acce0532eaecab0752b1d49a7beafc47220783577eeba89c5f79ffc21a7cf3a061457e6bc54031037f92f9\nresult = valid\nsalt = ce869619607f71fde53ef55e18d01d20002e3f91a8b7584190fc6667b8d2\nsize = 64\n\n# tcId = 85\nikm = 17632581c34ab743992cd99318889b32f92812bd37f41636b5fbbf2b12190c6f\ninfo = \nokm = 04ea65201dc5ce6cd19dedfb3a30517e0e1c4d4766bc0229da4cdac8c551632306c9cb14bc05fcba1535\nresult = valid\nsalt = 55e39431c83648867ac98eb7ecbbc8b41c5a5e774646b926a9b49c511915b0de1241f8666da198f6ba4bf7e9025e434b6d7ef794e7a563309303055fe3bbe769\nsize = 42\n\n# tcId = 86\nikm = 045b4d451bc30c39afe0932f6cd62e65b4b2ae2cf1160f19e8ba1323f7ca146c\ninfo = 613e353162c6c1b12fb1477fbc54074ff7848a14\nokm = cf9736b01f3ae0768b669d53ad335243db19e2587d904d72b72213aba2f0964064039177cd922e2aaf8d\nresult = valid\nsalt = b73682dda0fad41095070b2b26f2d7d98ac62202d918258ca9aca0f794ef5e4d23b3fc43c8cabf9fcb37ad9a62337fbce967fe24054c3bf891195858e53997f4\nsize = 42\n\n# tcId = 87\n# maximal output size\nikm = b16b67a856259419ada925f3553103eda6cfda15666ad1d012d43429a8272d75\ninfo = f82bfdc6aaf0c789\nokm = 1c9b28ae006c65a8716df9089e105358aac83c2372e31788e2c1ad0bcfef21e14ce59a2c3defed070ed55424e891aec5215240f8915f92c35b3e8cbe6c91e", + "70cd83dae81e2628e3b668d69ec66093d054f7e213ef5a3e88d6694145fe3bc88a6ab55a8c32ef2cf0907e07e0b05fc9002dee5d86a724b237fb8423c874d21fd541e3c6d89ee2b1990e3dcfe6ddb65c0500d1488ae749529724dd975492bd35f98b89c280586e8ace25c03a8259c52a3c7478d748554d2f7d485ed68d1fa6a804b3d1b6a0aab002eef97b9656752cb0c728e1b0f15aea2928346cb97617ea9760e0d46be6638c905247c6f8c927416c283ce1dc41f16e61060644952bd046bd478a01011907456a03080d7bb0d79c959f5def259e6a4e0fab0eab317ed5e62d0b8d8e7ea4b07b0281e09392e43a00deef79eca892b59b1adeaefd14b10f11f9621edaa8567bb15e52e0f71393ec309d3dfbe3673550b8ec6d9e1f325007b5253bea1b838a2785fe37b80dea14c247ebbaeafc73bc44d013408a2368cbcf6d80c572a9630f38322a778470ec557657d3ac8e1265eaadce9975f26d9ee24eaefc6d6c38b78ac198ac49be0e08502901868b6d966543b682ff658b12f962a0f8f1bbd437a2863ad6246b0738b343d368cac0cce1bd4dc4a1efc2e65b53c732caca0101b0b44fe17b15909f84cad9d107e5374bdbf84a579428219adf9e4f60162566d5f29cb28c851ce9d05995018095ef7b915781dcaa5d75c4db60d497982df7767f907fab51d650acf70cb3430a2b5210a572bcf68453b3ba10672b5c134a70f63e934f8388cf4483871134c6b0089988948a528fe4ac88338f00098826042f096de009a605ab575dbee9bc675d626b83393511efccaf73c941d38be181ee22a368526909f8da2246473e2265b58f1a68c7a876b55223d2de9022f4af4036469eda819a593ca3ed2763c1e8d26c49082e9c8a2ca21b939ad0e8949c105ffa36893d36314b266cd6d22d2a1c1e7e81e0bab9743269cb5ae6808fe1c48bd583bd863b74f919118437bcf7053b2796f1ad1b06a4328612be85e9280009c0a11f212dd748987c2b0abd1825385bc1303c935117d3b968e46a6d554c04073affa3884486340b77a37377214cf799e8b422d3ba77c7eeab27c50d0ef7f07adb97b014b7c09982c70142aae3dd417610c76088042e7196745e5574106ac8043642d3e5d0e3f4e916d5bcf14754e21feccd10006d8fcd222f2d6b268fce261ebea921a35f538b23bb14833c10f31b697675182dc1b2a32616f3174aa40f0296b7b45489c2ff16d8ba0e23ff740b53fb91ce8026c2863f7bc1466594a984ec1744cf07533a9bf35794717dfe170e48616cbf7c24293cf9d931d7848513ecc8960907aa60359275bb9af101ac41ad42be509cb8acc9701440773a486a8615dcb8861eef8c1d63373152df15790280436662f4dc98e3fee01fa8ef61a1c500e060da7c5e284fcf3d27ec9321ace93d8764ee34bc51ee6cfced9e56ba56020652a855099395fc5c0290ce84b0ff6c8ce2f25b30bf85909d906f0c418cb70c7e69d5b3aed6d0eb74387b6efbf33872f3712fe0dad38110dbbd0e5f4432bf102835ccf4795f95e7d07e408ef853d28c226cad475fd361c5de53b2d2a1d6f59dcda82dd6f582c52ecd2421b940939acbaa0f34bc64193d6baf7a809b42ffbab45639fe645ccabc93a97b247e454e63cb891cf187908d33dffcf1225757e87bfcfede42dd0e8b75e4ce05f6a766b915f047e52aff8a7a982d9b2072c1020198ae69a69348a8554fb51edd4ff68a8e0041a0a118ad2bf42c418130e01b3d1c521a80716b0898eb63bf6fde067048e650fac3433b6c7aed5d59bb4065ebab0dbaa03e1b8b348bff92575f5e4db87d64355f75925dffbb090aac2ae320bf72da9371148901c740e34b4355e715b7c8640e016d7ab63c0cf5d6f3a6d62f3358a5fda77ada6947fd711501891c23739f262f71e5314bfba0b7372638a6dd2b2547cd1ab5ed3debbf968669b6273cec753d43085192860c4168a8703b917a609d87e5ab1f733976a06240d288f8846ad27328b071b377accebf4501c75f8e4697e715e8b052bd116cd16895024a8b58f9b96f460e6aa9f6b8c5b760ae84e036b2e83d18c3b242f59e7c00cdf308e43ae576c5d69d78dfb39c78423ffc565a0c27b1ed04f231fadd2cd46f4dfc1caa7ba639746ed61e1787606ff6a9e1422ce3ce817e23ecf95b7940c08b865b1e19d143e230defee3ea88893404992399adbede4a82b34b906631b339dbe2e8d0618ff54b9015012fff625f69a1b9c753d790d3ba76af8fe7ee5f6f493e47c30b28341d98f0aa38ff76f7f660e048a09c5cec238d36e21e26d8dca7d427b609dd35d9cf42447ac88636a4575b0383177be4f1f1e4db97778147b73477c50071a625fc908f4130090a819644f1c1bf7318cc611b0ff4454a7b3d180c445fffa0b52739a474017fbdaeb278fdb901723d0de12f0115831f6b4b2f0b6f15c59194bf28d36ad73a2ce8263d8d293a7555048db5ace9e5669d3c0391475c602bda918dd951a2db8aa94bd8925a646ffbf9a22590bd87ca893f45c53b184f63d93794c6f9f4ac2d4ae4669e9b36af3cac1f59262550c5203a1152cbd0d4a264e337302430f59db44b2c3c1bc7580f09a5326db90d6f88617337d20bbb39b05b7d1710eaecdfbfc7be543df1f52dbd8248209275394ed36cff244b9dc25a46bdf9cd09f2201f2fd8007cf561af8dc4bad49de3c7131820e2c3225eb4ff95de565580c02ed86094a3b3757d8ccb040ecc75aa1b272fc1f96b6a9e5f117f9a229da82ba85f42e2fbc172be3f24c2250d15fdf257d39d2d4b677f23a5ec8cc4083d957d38fde4f5571786278fbebb2b56ad8a1dbce217bb8c64926813dbaf0f068e20595f80cb5ec546206b6660789291b3714db364e9f27d920c606cfbd48f5276aaf07f2defc637d25e146d18dfe207e1e0f946b91108bc60a7a633e960bb77c119620e6da200b650d5b45921e32b307029b769a04972421cb80f3494eb7403c58f779891d994c556043a501836111abb0f8ddb34a894cc2fccbae3d73a95dcbbb0c73c3a4fe516b3bf2109e0b9d2ddce48477890911169449e5c00c8a4782c33c349d7802e1b3fee21f23cb73a9e649ead85c06d7e883bc69982ce63e1b9ee3ead32f2d29f82b0eadfb5f55f8311c18697de6472c7d1b9b37a73ce27ef80413efcdbe992dac8ccecb7463509a096ca33cf5449726a83d078d5558da1a95dac80bbcdacfbf5935011143dd0e4ce91aa1a49efee241a72f0edce6567662a4b9789763ca414445a3a4baa45ad4d9ffe7f28c2c94974f5e74052cdd5008b8d89bc7726caf49693d1dc01619ac91155915031c5f575f0694d9f8a0dffe303ecc3779b8cd4441c6a110aaf682be920b3895f45538e1089ad610edc3ca64589cc82f863cb4be9125f1659c51f693d30bef11042384dd92887da5e45cd127065dcd57847673be82a29c1ea6ba5973994182c06db59272149966603c3f1d3c1efe10e6df1fbe2d32f955b4fe04ae96dd3591dd1314ef715951b4ff8b8378ac2e3814fcd378fe7bc739b2c5b7d401603dd00c2c92f9c86b8c63c90d4da37400f590f36210c60495f049cabc91f4c4585c5f1a1098167190108f704eccac5b1960748502ab4791144c8e049fc2a8d37c125c1da0b15adf85bdfb07102a653645c379f5ebc84d505457e8c22884d850def6c3ed18342a28d4f62b47593db3607b97c7be1acc81278bbcd9772ef366e84af816d0e2d132419034163d5fb0b88ffa183ee2eb3c1f354321c076221ed7d1f0774e7fafa5baedc5eb32fc3ff1e2e48d77ebbf4d7804c7a76eadb7673fe9aaddd2960c288d9159f7a2c21b243dd47f4cdb0c29931a3856e1cdca81cf8ab2fd0bc07b4179ffce30e12a72980e9b705f53bc7ad78bf7e939dcfa5200d15b626e220e465e293379f12e1e82df11caf29536aa085cdfce4d9f824666eaf12b71e42919ffa28a327a4d944873f0a970f9abe4986979d772fb854151fdcdb4faf7534a9a8eeea3e9d080f9b56fb8d281ab2e0f9777f2e2f1e58bf6c471c79f4e1611fc0c541227bf9179e6c76152f86013c78e6035f0361e57fd5494c590cd5285cdeef52904fc4a6713009542da95e8e3ff6785bb953d571855d86742331d62682ef537e25411bf35ab44ac31b451477ec44db4624a83fd637852905473d30a4ba927556163b8fb98f15008d005660caa833f28cb80e299427e044dfb254b97ac03ee5389b93130ddf4c8dec96f6babc43220a59a194408540122f96257be852fdc97303f8c21553a506473e2dfcc50e73b5b6c2b2c99e55b2742752a54fae78daa18271534b82c274fd6aa41e003bc60e935edf4cb4fb377afc273d720f41db68db9a98274da032beef4464f082d06e679cb456f4772eed93eda24e31eba70cdbe12fbf39d413304891c7a720ce8d896fd20952b4b0577c700028fa804cdb7e0e72dd503a5299b346e188e7b0ac0b93c3d4ce7ca24181909589c82b01e9c05769dc2ceebe9df8652bf843746945dec545dd211cdfc0831fc03cb91c6136f5e0e2d558db50ce3dd90cae233442f2a41ffd1d69b2897a10ad0a2fb83075d3f389c26f041f6e178313682e91804256c1d0b4842225e6f63e1bde51e888cb9c93fdff2b7dcab1109da6e648cfd57ba9237e35f1d28e5e69cbb8ac5b941f2a2c56985d76107723288422ea37c2883fe775e44e1a5be4f3ab0410c11e2a3e7cfbce8e359c7004e7a7c86884af6dc32fe94198f2592144b1bb397187ea5df233db8856291c1b91914d87cf0bc1e707e104ed80a74b5273d267626180b035fdcb1ab94b8c6560e8dc0a8ebd7d6df478d719b3b426e26c07c9eaa9bfd62f921ef99b8d25cb9db02ef9346b18f41f88fb17aca4f04595f6ecd8c8f89d01b19faf3b479796945bf714497fc692bceb89620138cc089e64b05c3efc39ca03aa87c0ee5e8766e83362f37fb4aa47fde3acf5f3a6f7c7485af5eaa852f3303c03b1c8c4c82e511f0a1aeeb3aa5465d11a306b08ea1a2561e583bd183da982bdc82c20d7ec33e80ac7dd7b7d93f22b7bac6752d71fa6e767b5af61e5496cb6b896e822dd2ecc57d1f3da815eec7ed83ed50822f96da844b1565f65d72afca24a5ee59d36ddcb6e5ad9fa6d2f19248e120a663d3d93c2f2d3e478d3915200104f5a2402dd37cb8473e6104ccb1a8ffe6b014096def2a03ef2c035620b4267711719ae545951c6e930fe19aa90a7d5ca01d089201c9ceaf49aaf4bc3bd80a47884d12848bad2df4bf99b45b09b888f1be26cdddddf557e4e97f3552cedafed9f0be5a26e46140180e204dede4bd0442899bc4e6192d16267e7e0ecc0e52471206b306254ab4e3908b8a4aff72f337f21c551164319ec9fa947e3184bf8eeb1562932f1446f9a1fa6f7a10fe4e9df16a74ca7072170644163cf1f9849cd15dd1d0902012d4d13172334dd7146e3dd066ae11c59e45588bc597f90d217d2eb0545b8e171b5b36669cec25196a4d92a866de6a8b1ecba130876d787386d596d03471a0169a1cd6bd734815d6d36df83e4273d01761550207445247b14e9f5fd9a04d6e5916cd7c5a27dc10e7347522c2e8df09689787d2dd44d852b1316cdc2178d9718f2af92e9fd711b881de0c058e9c9c302a06b9b7bd40a4e857d3007248090f2ce2c74d64d84f1985ecb9b1ae558fb20bc8180cb8720d215bcd57c27737f6051387178fc177010dca84486d62c7113c0de4b0ec79197d450a733c8492d8c213c5123424560853a7878425412fcdad1ae0986c375a2b19863a07f924f27379912", + "97bada908d5033fee6e734e86ce45c60f6e61f42922d500cfc57cffe21bf42a36a3841e710d1cd94caaafeed9be4f00243a439ac4d37348102f7890c8e8adf6d8ec765d709a15cb526e7c52da7281e6262f5ac206806dd595d58ea0158c1102476f4f7077c8bcb13f80d9fbd4fa29e490ffb74b45480a31df2e75618eddf10f34a0cd2e61c99316e303fbf92326fccc785745adba435d68c2f720064668671345fa1a7af122386c969e79fba2fc6b66d86c4ea79ac9d9fbdb6f21fcda70b96875dc70d915f8ee3bd68f84447d9015d3b8b340929daf16c25f57ee9828ac93989c53028023b7be7e6cbe10f077e2b41b873f0a7a9a4718063975a94e045aa246dd05b5f1d0dbdf123ce661943c2fba51eb41f4cc854bccab72d41fd8ac6a34da8d55e9f943f04b675f6661b9ba03857023e2e00011ba47f8635ca9408ebb55b43ed3a029151a6c44fe2f8a1a61f390c2343cdac9dc24afdc6472478673fd2a024578d2ada32a1376332ea24445ac99ff3081fc327a482b6ee96d56db0694b978296102a448f6010dcb560447d32e4fc67f260c9646dd60e11d39cf736577edbc1330bf8a2a3accd05e7f562fc911635898882a9937d3d527d618d450cfbfc1dd16ea040958e21f72fdbe29fdd91798888d0eaf50d01e9c162034dd12a889112b8281be71b291360a6e676f560fe34faccf5556319acd7067ffe1f7abd2489d88cc8238d5479e18b20b502d8be6c3b9565a97d15f827c177622feb795d32a6cc8d49f0223410a484bf8788dd6ffa1722a13857681646e7ce8fdd89646d54b8a960148df2cc92d310112eb1388f5da1eac32b1fdfea06495f57ebf845ac6f38c942e2ab13f45b4448d35a785f0ec3e1a0f15c4b341dc29e4d936bd438f26d1c3f3fd103b6543790a8d48702b24aca7b3a60a968703e258297a592a2690431ce09993fab0da0555b42a448897afec276d1d48b8a71d3708ea3a453bb653ccff2a3b3cb33c7dcbe432813d859f511735b6ac062b225c706f97241a3acc08b56f88d883dbce97c8aa935fb07d8dc5291d3d74732a10130f88907ef6fa06b96ed4de40dc90beb03cadccc978fdcc7e36ec532eac8eb33e4914faa060d3041ab7386a071458f104f9707a9b8858e220acc78802ed0961a268454a4c02bd8d3f7aaadc6573179c5c0a102517d55301febf5001d4d7a5d95d80143e6383f95af933c83fd68bb7d0c1e283390975fdd29b0e62fcb0cb1d032bafc96c1908ef7839a86f52d0cf6fc61a6d145542b2843c8210fa0c44ebc78f3c42faaff2a560dbe937f2dde15f0110d1284a5c69c7aa9f26455d5bfc5558ab6b60d8c98bae2ee0717fdf1757d26d2082da8f481e7404d32d06da52a1f5da5bb128f4c185e7dfed64513c97329e5836ea707361c6dd45366396f31e7aa46ad88e0849622c3851e72c2b44136ba2e1f1769e8cd86184f9c0a1030da36016f146343ee8fad9a06c33946e2cd3224da22504ab68af25b3b9789df7f2dc1c9f99291f89bd2516115876c3bce1e678a846163386db044eb0ecdbc9e0ec6ff999945c83859f025aae214b5cce6c32a048cc76d7077c11e9962061b73a6827a0a4d0b4a8c1c92b3128f21c7e3372e7e248dff0500358fda14bd46f50838666f3d5d8f28a32fdbbea2829b86bafb15d02db14381581709b2a9cd095d8555035ccd4c67c10a4124acaa9ffd2a76196ded0729cfda8d423fe98fcc126569f90899ee416b397bc16d1fbc88ffb4fca25b2b2c91d5ab91d3a66450708a95ab8250ad8d8ce4614683225ac9bdcc236a25c6f5d65ee25262e54c54dbf59f2ba193a210359ae7ab1615f15a3ae2f017bb1aecdab6833c0256495512f5775ef85655e595b8898a3ed24165ddfc1b73b43aa2a9af4060283a1cd6355fdbf585bdb924899790c477a6343b244be0433da2c084aafc57345bd69e57c5fa3b5e6d19c98eb119e7f5e2080b4dd121dfad487441e6089c97494ee9a932bb8f56b0066940f415b5df917110108bfde7bbfebca4206bad5916b45ccd7118164c97ce0b053e0b2265179494568c0de284b8ebe664fcc74ae13fbe56e35e97c1e6e54d10173950090244f353feab7b0a4bcf892dfbe6a1975632efa67c1964140c8c09d23d300338c8f8702475afef0d794ec815cbc28590bb91967179115f5922d7fca605c2e98213589f540fcdc61c28ce38e955cd5cf86b49cb729afd941055d0273e9ab74b87709fad9aaa56878cae49e063c430459983230bb9c47c36eec08ead6faf7428b13cf11739250c3908088aac25e387c1f7ee461c53dacae84804d0c83185508bd5d9f2f3e7e9bee7d2dcdad485bc3cf076b57d153962730bb23017374c76b5181058a982b96357ed0e5a26ffbe6744cfe2f2bbcc0d6a06bdf6235d53a305e922c207d3374f67f9e9571c044f73adcf28ab399b5187b0fa4db03aaeb10a3c6111669cab03dce28daf75ce598604f28326452133a3dd18dcc925c5394b62f48f803f0ad91fbae1c4ccde3a61fd7e23a00b6582d38257d2de8ff5c84e7c15b373b67d10a55940143c30d9cd01dbdbdc4efd2d78e060248106b68f2a741028bda70c99420f996dd225a0fcd0fc93cffb2194ff47023d9bba1054874d8a50bef8ebb90561468f214e13e505b558af82818fd74aa3bae02ea49f2502fc2791e96c3eea62742a2035468927cf74541329c950df615be360fd0b2fae64030a7add9c35b48a6441527dc4e38e9ca001719d5cf1e3d9a5c0660a54473e90557a2e7494fe2da354ad37ad0f1d8c02c4d78bd5e2c18997039f3ed7e9d82954d532b498eb2df080f5840c34eaa7153719bcf3b0f1b7d16c9a61421f83803ae677920b65420ac4dc2ad0fea214a0f66bb2f2b0c326a2067cbeda0419424393c643a1152cfcf0396a15d30d4e216b656b4934babe2d518ce9bac15ab3e6bed02b397d2df6f0bc9d9d56333ee9963a71b9e0fc5eead36a12efe520aa8ab9d1f9933eebd5e45c3068f8ebc90d1434712c8b078d41dc913668fa8ee6d686a90c16df842418bacfe1482fea4526ca464732fd935c61779d294ceaa828b54e437262d8bea50b7e6b423ae39cdfe390e61f7c847d8fb560b07260fc108abc130bb6dbe99dbfa65245c882a2cd65e4205ddeb902603e1c1dcc2a471c9a206064a8d756353773813f0c9efcd22903c443df9677b5979f7cbf97ac09e35ad048b34c33eebd515dc696a7776997929d0bf49052ec3348a81694a324a6829c227388b5352da311bd7ee38f7e2b6792cefb8b33664a6ed89a11f9d9f6f64f63e898a4b97362fbb2a681a87eb2914e6d10eb4f49881197630b2d8c4c8dd3322566c6d3350b9a05890d0f25beb26a49aa9d6f755a4c533966f137aecbcbd6e65391abc4bf97a17f0e32f5ad0a7c6af2ab0af3ebb07b97210606d68d4d8ccea6f0311f15ada1cf79504ef4e4b58d17bcd87cec74370be0f6cbee92831bea0dc35246fda4feb3299813a18ada050744e836cba694e7fc0a8368c797720f16e238a7e9b4d3008ab555cc0c66c1d0fd00721db81dd40585ebf5a7e7cc0443d11e91ece4536325e9993828cafee77ce6e128d0767279001ff089c44f193b1f7b736334e0dc5085fee52e574b2e4ea6c570ed92175df0c1af574b6285c7f5f8ceb3945a2e337fbd19f6b4553cdd8be98e5937d58d229901dab6dfe7cea5683cf573a3ed097c14372eff45e562629851a75cfdc3ca90f68f4aaf94006d03f078b236c443c31fc96e8c7aac2d0a66954add0c0a7771c5ca6665d782de40eca16449b2275fb04fd15114639cef02a6852c7ca2392923e2ca74f05a721b810b555269bfcf6e788e2ae891d54e0d9528ed8cd49c8b0e1b41f8c9355cc5faa42477415d6e7992f65dc6a62dbf10ca59d55a6bbb71b41fb93de8fd00f3640f620257a00f0af4f4286cadd03df8b06077320f617a889fd7487c2703bea22c2c39d3be70e50692f3410e2ce0fe9ee6829833bbca4a9d70ca7438c798432c1ec563d81c384a42bd5599eebf98985124a27279a610dbe9800a6509f517fb1df6be255ec1015bb808d56eaee3a278e0d8119eaa04375137f22558de2759be8dea393312617c4aa447e28091bd3e79e6e6daceac906a7c180faf0ebe9b01635f075b32effc404d52e914e54642057d4976b7ccbdff3932cad5d35fce432bb675db4548e8d358267d1f34498ecf46baf5efd8bf221c0d35f18d5f64974115af6419d0ab4b71fe0bbe8014c03412532699d7caf4b0707f92ac7c677bff84427476eca38cc2da5310df255bfd11c6905639bfd622a0931fe864d5c52caa357ee46b57af74c23d2e2e4abb076c7bf11dc5dbbc69a75ff9446af6e8d5a165d3dccc33fc6ceabd6790ff4e4032b515f2d85414e59ed6d26d9c19e9133e628e3f2b1b77eb6aa74e50df1618abb12240661ace8cc9cb0a78048dc62349df3b16f5a48bb3462f56da5d74a22a04fd3b6353349f09289713539efec56fcaf0a41650b218005c4ab31c8a1f866c2c29dffb51127d52afec692acecd3ab79e46c331c041fe8ca9212a694c7848736a471966f8d3cbee2b1403177a67c4c030164d006c2967e33f45bd90185d385c87b715314a2b15933d7240d2fb4b8e9572e9e07f8402745b35a78ca5f8d053dcdab3b2a9a885439b20506148d2caecb6327cf7d33e559cfa12678f55747abfb3cc25f32572c47922d7b8c9686e5a66e1855ccbef0c4cf0eb489b6a3aa885b2c78e067421268705a4bbfd88374b33279b71303c70aba755458842f205d3a2a7e40a2828a2cef6ef86659182c68a0252c2eb393270fd26402581e1692eaa77be5e6d7252c683e380e932cb5facd2bae8c5c25739f84f07f2b44d6133aaeef8d87191a9c2037f5a95489adcdcb89e54f1165c1af615890a1e4e56d07d949c003e12aae68820492666c999d8c09a356762820c9146ef9f85828d9a9b818cfc2fe2bf09effcd841e9b77922e2d263982060eea4a06a3ae8fbc15e8b5bdfae224c648b33446ba400ecef428b236ffc8938a7bc6c406fea97fc0e1a324f8e31429f53873d0f24eaab39f0e5c37a0147a95ad22c4312b1d8032da65db800150d4e88bf7b9b1dfd63c3b714eb32b7e6f288d7bddd875934c4cab2cc57f771ab8523721033d769b2ffe9080488a1b201299a1eba6aca7f468fc72e4c26c34d161764c7c5ce96c90115898824c24fcd7a97ec7d5031d1364b2028591ec1f6a286a5d474dae06ebfe38900b0ff730a497d40abe221e0dbe82a90106bee225263fe2c04cbdc5aa7a643bafd3f89d10abdbdb320cd8da6c1753202ea2243395f7fc798db6ab11f78e6a6fd29269169c6925488171a147c651e85777a791837f8f079fb958b54af044a11ff54c493a0f032162dcbeaec09d68df9da5c47e87631f7254b3ee5a26d895d2c980ad62ee8fbc5d7c4235bf1f9be12781d1acaf02e100be5a535438c44860b8ca257257f8b4288f66a7bc82a25c9f78f55397e29e99ea97595599ca41f599653548cc4a2983dab789eab4dc1536ccc2463a0d259d14fc0778696a73fb6f4d78c0c1080b2815b1fe91ecf65fa02206c438e16ffb9aa43aa4c6e68dfca745e4b1b287d03325a9f595c5fe164594a8bd3bb1893151c3a7e3d5ee2d966f367d98578e2564398feaeca7d8c4773d4fb51f706bb4fe13494afbd786c0662d0159557a8c1c56590b5738a116a20218b9c35a29651224dceb00b4a5fda958ca46375885af41ff9e1335a3d57d650aae9901b71645923eb3f3d869dbb7d79c6a58f856fd2", + "be95c376d9934950577b682d82985f0ffc2adeb9ac1d801cee6ddad69d342046487798373560db6331ac07287a9240fe1cffa3bcb14825ee235389e80ecfbbe138c349f6fb43574077213fa5a995ecc936eb12b011a7a1b3417b33f2adc3963a2b7abbd2314c4d32291cf24e9d0e896bd709c01e5a05acb60bb7713234b450557e460aa3ba916c5da158a88f37fab9c0a293565610ee33a42fe1b632c9c5ec0a70667d5fe236fd8405a80152bb91ccf336608dbc472602343579d0bca549d6d97155ff65e6d3cd2342ba931158a97613ea430b8fe663c28dac1cce08e8c28db4bae76758d3d186b6e34c631ad743a20ab81771879df17361e7d5db49fb0a88651d6d4b388b925714c19d790c50a76182f3d121dff6fae46fcd97e7eff2277bc8c6b87984c0fdb67cdec92b763d867ac3f54f30ea1c5e86be4484b8d52408dd9638f3d13d32e9fc43a7596c9748e0aaeabc83c08a7849c28df6262ffa83128341431cb97eb574990a2e2e92610035442bd7fa3520c4ad3f6a849297ff68650516fb80b786a3cd5a2699e37ab1f36d40c6b35843ba7cca1aa445af87711feea243c787165dc51975ae058f80cd70a272721e7d3be99db79e76c9cdbb476eea6b73e50968e9ff7515d78bf550e9b77fde7f686544e238483e7444faef2829a01651eb76aa767c03dbfd37c79ed8d77491cdc75798d230d9734052ab886075da01556263d09e82f2682bbad8c26d780ed6def00bbd3413a3b7d69d2eafc4ea0c42fa89114964aa4b775b5840ea4ea9f69b01d269ba4551f1aa7bff0dafd8e3ed13941abcd91fb3bef76a7b49340382eeca128b9ddd1bb253c1d082f02d20c37f0411a57ba5249b05b1ca2959aa140edfc4bbb474c9273909594b1d970124f86f861c0504bcb56d7ce395da042c175384e8e1c0b2be453df961e9fb0e8d60ad09ab6b8c8b09d8c7c3fa0c0376e70fe6487dab64d398257b8293c19bca53ec82479f7784f5359ef3577c7904acfd59ba3694283d7f0b63be70c5f7e55b45ae013ba5a8a77126a11154e91f8c3e9ed719e087c73e425c7425abda06860b898b1763dc030debaa9790ac22263a099573d6b4fa2ac17ffc9e7e0fa710a23326b965df9e2d2a69f07a249f7b2c931f2219a3f6281aa96937b1f88f952693519089b4504965e0408dc018f449c566f027866f891ca75832689995b72fd5f518e5a1e37f33c06775166822050932319f0d1e53bbccb9ae4d18c100086fae3311c69650d2317d83e4a164c4e67278dc1539dfaf2d9e02b52cd6885c9a66831cb81ce13422ccb069067ab6a6c4d3c89650677551c344918a5c24b0973ef5727f9593c59ba1026a82ca6e78033d6ba6a40488c5ec91708ec2479dc53d0ba7fe14bb238181f1c058e694898c914c2208dc01979119bfc0195e8ac0fcaca51d61fcfc5f72d92ba68a8d51394eea8d10b624dff051a9153b7d729f50f02d04547a6676add6ee0338b6d9ca9dee43260980291adaed18759bddd5311b7b46956cd113a076a3995b2e72cd1a5138dc31fcb5edfbc514bd2ee72fb53e0722367afc717b9ec401e4213a317583e6b3b19a75e1c63f1889f60dfb3059b0a64b85fb758651c713ac43345c8cd3c801da3f6ba8aceaba572f46100def2adcc135c4af0965f379a7a6c75d039a2cd40f2bb5919a3c8b74d58bc9d008b592f2ddb3acf4888e8b7873585f1f3d8581c743b324873fc23a345176635375b746575f79d361d186108eb5609dc78612b7bb530b6327bca6dfca45fb4f4f975afd1bf0f898dae164a19dee3f0feaaede1440cc7ff8fcb21145680e8a24e2eb5404697e25c2558ae9289f528a8faa572a354931a1cd4bc05bfb0116a0359a6b70aa79b145a88df482ed33354c260d1567e000b2d315e2808138638fd7bf7f4e88add370d24ceab5a999643741b13612ea85f67ecfc728e110aedeff58060a8aff0b7e1526f4aa60b9f9b558c2acf584a83b08d91901d6cff5ea2bcdd832303539703d30102ca067db40908dd8b555834a6060f3f6e7189612ed0d3b6c645db8b113909a38149072b3decb1f3a28be9223cfde40c2feea7e8c9d5bf37a2e55a60d8f89c391903e49bc644178531e6891653b1a4d73ee0870b18f8d53a089d5066dfadc3d92271232455637b20c298d640cb04b668d7080a510146b08031fcb84f41ca0cc85428f27ea9657de94073fec43d2c8c464723539276dbdcef593d716d02d172d30e76a9fc022d4952621d4c306278d3969592469d9a9ba62841dedd07e76a362b67ae5f925fae70f27c9cc870ba7b15d2d7d81b4e1d49f02fd963fa6f9ea5f4c901eade1114d92eabbde70cb0c6ba9136c68cbd25acb278e6cc73f9e625f1747e281d248739ecaaf403a21269758211121db85805ac522295ece97b8f90abb56e5a762bb7601b916befe8257e02a2b10c8384887de04b2d1c5afabe583367690c03d3ea6f7294f71b82ca80cd99951e5ccfe9ce7cbc5e04d1d60dcdd2ec88f9edb424bce5f04217be277700df4035443d18c14391bc9469f38f78f41f2d983bf761296161216e5719b37e3653de0d4a90a5171c2fdb9547a75be38910aa96c27ecc4e1fcf7a12d5254a8951a659df30db813ad7c75716ac050e61bd76ee5a4ec0bd7208a4c8cf4dfa0ac4438fc7f85e23db79d006e2acfb8d5a4229dbf0ee5ee26d064dc57a1dfb4374dc306158c1f8a9fe450a11e7ed21700ab2b817724a7139e2ac3df5f953ade220d996821ccef9e8f58a9c4996ed0bf6e70fc17237141d822f393cbc725b6813626cc63b88f5b893732969b47dc884c772e12c9099be0e519eccbc31d5b5886fbd737499a622058d6c13e200e7b201839c52634dd89e87a742cc99c5971e0b7cd976e8b1f5043a74fd6bd9d30eb8ab29c332057b2dac2f95739f34f1abe9e85b856f1d2df1d80915338cfc454b70ce41c2ce77da0f06f3b113d8ebc2ea441721a2f4d6e573eef2ce7e86c2c68a1060f6836526723e6726046c6efc68178798d967a88c17b4b4c59b96828d7497c7e40d6cb57e8f83c7164ad56c4e95cf551cbfe0314523fd7ca84bd0063ba241b591799b5422ba0cec9c2d5d5a3785bc510a4b12ece05c1081bd489edf428bba344eac60f1c9a59152fb8442c7b65987ac41b5ee2ff7ca6b8bbeded9e8b10ece0a3a792a508ac22497df9e66031edade139dffb19a3fc7d27b9bcd572d60b6a0f3482b8fb6ef495e2aaad99cdb89cf6171609096e4f2f03e21f01ad554c59d008ffce5f1ba874fc58638179ff01dd4fdfb01c4b60e08e315654fa5e211d0b75109439082a982ace4667ef510211b1c3ed116bbff57a3304161e1707f4f9c3b22365760b1de206a68c4eea017970e138a5e29fa3f5fb28f220d84596c0a7fa5e192e7aac83a1b83f65a5a61b2ce0586cf5c387ad24efacdec8f4c9e96334b94a9994fe3181a5e0ef82dd8e6a9ca79dcf9e5dec753a01f8d8c89e709a63a92638f0dbd4d083cd80ee7b4c82bb08bdb24d77ead9d20fa041b32386bb68d7e5255290ce65dd07d470b220e5298bf80a064c940378f06d35a3eec74dc60be0a9f46d29014210cb09374406a02e48342bc07db10811d314b0fd9be677909c91958ef5b3de9660d105058cb3a9bb859a355d502076938dc0f8feab32cc342f08e5392735263ab0e84eae11b39e993f0a6dfbbbc69dd01a7c23989f05acf42829f0fedc564e8ea633dbd4a1ae9318b8a7fe03efc535eb008cf30f8c9d38fa572e79a1b6c8bb02b87050dfd40f6d8a91a3b1bbc167247613000dd7fdcfa7e49000eb3604cbc7e790b1df640acb5a7dfb359d138b6fe3e12a8025b512f429d47ddd60c8c56c9084c509766d38ee652d49fa12aa3c2a26be8faafe589bfbae0815203101127aa23abae6b01b4fb82a2f7fee10cac9092d92e68b48bf26629524f2d8882dcd18965c2b7b6ecbab0204bd90e68ba89f1af5ab3992604bebfd482babe08ac40f86dc638c9440796bacc8bda1895d75fa30fcb0434aab12526de4c026d320587ebc36843a662d5c646eefc6524d6350ab11206530a7e48b53c8ef851e1d17d1a78a5f0a58023b9081357b033e2ece1dfc4cd68f99ae754195ba9453cc90f60371ebfb5086f60619f6b951f0708c1304875c618eb30ff4acf7b16a5f88564cebd3afa0c509516889e4a58354aed00433173830cc90c16ebd6b366e7d2b43da4f37ee4a05860e2d3267b4b61facdfed2ffb1960adce69914d4f36d13a5b7d6920524b364c87c2697000335cc5fecbc68c24acb6a6235a61fff788daad1294df9d2fd0d012b446b35e3bd4592f4f6418d7e676cf46bfdf1ede5c9f9c3fabbf3ea0b435555d253412deb4c66922f54a59cedef5dfd961795b0a8840a78266810d45da1e76f4ff7c8642e106852173bb7fb44394bf4b285d95d711651031d8f062ea62f2503c0047d808a131a44c0d67bbf1ae1ff58f9018bd92c63bab4761f572ec67da2538bae95fee458b1f298d27be26fbeb9c80361e30e0738e7da2d5b0dd21817832bd2af3f92f2e6d9a8c75f0bdb4c5f31811c4ba4af5312aa615e0e72a987724b56d78c8d598a59eee50978dd4ef4aa0fe958ce88f6ff8d3672a5d07a50a4c61af4b8121e6b5efdf7e39842d91004d2a78cda448ad233708a91d6a9b0e29e5c6ae3494b3e73f81c04e9df3d7cb5e4f8484bddcc228e87c3efeb39ee367cc3e9bd25521b493b168d15f5e15379177fe625e9a6052f8e3312ba0b85380ce40ec62afe4abb8d21ff9e420865874f16525fa38e3ea1aab965f548db6ba2bc21001a836b2598792e4dc27ac82b136ce604f554078d44b80424f449968cd3e7f07e73c1769fd6bbf2580421d4fa4e6bc2929da999f4ff8fb9f6170210e1d2be140f6fba282ec31c9d57a6d69e73502d194b611b1adbbc4c028bcea1d4003368cd564a59bd93966f2996fe7c6ef5b7ca578dac3b59989080b47024732adf735ffd721fdd88638217d44ac912893f031366150855028af0b12719460cfcb72378447f43fde09ae5fa6060e41372e40b89e088b00decd495dc7f37f9e8a4421f504108fc2f56eef0bc2eefe041dc52cde085622407d0da699cdc018a7844e8f8589e62cdd3359b08a6b90c75eb5b77421df5316c6dcb2e0672369f3feb5fc368d112a1d4d00abbae91f28e5fbecf772c8bfa84c222963934b206f8f77886bfc27e03b876d3c33e59d29901d41c7f3209d9562eee953eeb239a9c83f3c649a86c55d84a799145eac8f05303dfa6530cb693bfd5d1facb26753f76c50a3528003044e64359f22d8b31750782dd323b003c767ab6a8332994c51b57563cdc60c181400c46b5e7f928684e049a146ff614facfc17ad5f34e23f2a3bed5bb41cae4c65b9e6a6e62fa7dbf787543e5d8d2dcda4dad9773ba129e75b4dbf341cf6261c71441875a690ceb6b56b1f8a5c2504f17d521e1fb2b9e802db8a2e332c9ec91dfa044b0d948be844b6c67547efa07d74c9f9b1f44998888a62ce1b04a806923e3368fe4d9a1960191e022a1774589533b5c39090351ad793327dea2c54c6c03fe8afa5185e8579ef4f91a7b34d01b771bcb6cf1c9107bbb06045b4f689c034d4026a0540b44c24e9df543014a18\nresult = valid\nsalt = 8ed2f3533ae5da80bc34db49d9c3b3b0a7873baf9148772f286244b23ec6b3c1d9f235310c383c96bfe02a7e8be2c01c\nsize = 12240\n\n# tcId = 88\n# invalid output size\nikm = f39c81ba274637ba1460a7ecd776db66fa91ac12e1429be", + "f84a9963b76c2c07f\ninfo = 516c2d910a221982\nokm = \nresult = invalid\nsalt = 408df96efb424324020d4836d100280b70f5d0e850e5460db77c543224ad5d2ba935060d1b5d63d80923fe922db1220a\nsize = 12241\nflags = SizeTooLarge\n\n# tcId = 89\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ef369d7b63f5509da56c5f6e446e2f03b700ca40c13e059ea0f43b08f5c29f15\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 90\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ef369d7b63f5509da56c5f6e446e2f03b700ca40c13e059ea0f43b08f5c29f15\nresult = valid\nsalt = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 91\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = b8365c28c10d6cd188f01efa320fa26713f7d87bf18f18529071607d1410b93c\nresult = valid\nsalt = 0102c651e047fed9c217bcf915520532d44999534c1e7e7c87311093d7a3681aff3e2d335b3c6139b9fc66dcfe35573b36a329a550c4cd20bfe2a90dfea50167ff\nsize = 32\n\n# tcId = 92\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = be14708389e4bf856681504fe3bd6a50eb33bf71a823337ada17316fc641344c\nresult = valid\nsalt = a0b5f9ccef84deab2a26b5d81f84e62b8800dbf270bad71f53d66881ccc543e33c20eb1b6526ffb53ab50399c5c96339\nsize = 32\n\n# tcId = 93\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed66\nsize = 32\n\n# tcId = 94\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000\nsize = 32\n\n# tcId = 95\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000\nsize = 32\n\n# tcId = 96\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 97\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 98\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 99\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 384]\n\n# tcId = 100\nikm = baa311295125e326efd92676775b9aa20a0acd68fdd9b05795cf82e157c7dac61394fdc26cd7f8a9015e9587c5d0855d\ninfo = ac9954349e500c55\nokm = 5f027dcc4e32bc2f1c23de92b8b5fad67312fdeca2c09daa97bf0c81015bfe02ff2c17de1851336833666db3b29ceb16\nresult = valid\nsalt = 79f4669058de474f47efb74371ca5b6e3788a729abc31d47113ca0c2f972217ac9deb56b317f1e80fe42f5504c8690fa\nsize = 48\n\n# tcId = 101\nikm = a91adac5ab8bdd60fb350eb81d7243cf97740787877d41b40eee1c4c9a96f077e8bda335cb0e3b106454e85629bc5e63\ninfo = 3eb47169931585a5\nokm = fca326c96af6690eb9b61b4b2a23d78a05c90152667c87cf813c2c16f56047a63cc6103986d3c2bce48c5e4e031dde077fc153876bab3f57e12e871a506278f220d6180321ce84eb1ea45494d6b1c5bf44f60a397cf01d5a\nresult = valid\nsalt = 07e28c9f6efd74908c06435c95f3ab25f4d9a9e023f287e7298f9cde0cba29717baa1158e86fb70d5bd76d2549291923\nsize = 88\n\n# tcId = 102\nikm = e80e0fdb818f228c505ea15887a42abfd7b6479b589a76c33b0f63c00e7d188a20ef8e98534aa85df6e482750f85ad7f\ninfo = 31580276db515d6b\nokm = 941c9c841ecfd3b0d2c0488e0b327d151081d6f4d6b927c319df7ba4e3c9dd92ebe1c5b420af2f3b50b6991cc57a4f5a6aded05d5be9d699b4c70555e3dae218eb520158fd63e7be11bff5c5601ed9c6e616147aeb9878d01314ff519c4fe23bf29abe768df09bc485c175d9320e93aebce8336bd83c400b69d07fc19ff692bf05d299b25679cd038bffa43405057d22f014b9db5e5d94f09d3f6cea5d479d7e70f31dce39e2acd93f47f789ff094c0ae4c68b231d818548a81cd1373120b0f5\nresult = valid\nsalt = d1dd17d92c45854e1c617830ec2bd6ea613d8debe261ac30f0fdf9358a2be2dbb25f7ffaa9eee85f06df367b370804c8\nsize = 192\n\n", }; -static const size_t kLen78 = 27481; +static const size_t kLen111 = 129346; -static const char *kData78[] = { - "# Imported from Wycheproof's rsa_pss_2048_sha256_mgf1_0_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 20081f8894a1330c4d503f642880e3c30e398fc6235c24f1be752e2d49cd9493ac0cf999e275c4f89ff08f0d9ba4e264a332525a616d336bd9e822f41ab3f4fae2f48ec66c2e52642ed93b7cb944396fbaa727cbfdfc1f20aace99a6f2a74475c338f8d9f22a38cb5bc51752076503b3aef1e65e5a8f8583d9ae7378ded038cf516898ad06beb90a42b85764526fcea44f74258fa4efb1da253d337f65619181ceb832dfe285ce78ae6b15f204e23bab274e87445d9f5df97f41dc8e3a97736b62591d075744b2552f90bcf1b1393e1e7627ef1f985f2bbabd52e43a35d0ddf4c67126e391f922ef7b1bb1911cd6e1b303cb2910dd70672bbfb62ea4eaad725c\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 4bf16f098701d340c438368e658ed8904d3a21f7714c02440d7476ead132766b3d578b325ae752f906873af1b795585a2a0d0e6788fe903321b2080bd0dfb9de42c3be41aeff37e32defdc0a75f12adb5b9de4d067a920a720cb16cfaf56d7c09d8ef384a8aa106545229b540c52b49ecc9d6d14ea70480642b9cd0330efc005502e4c38b96a36456447ce2133df78854307010ec221305dc90570252321e06c1bb01d75100e85e68326fe92488c0c5e58524b10f8ec7458d887cec254d39b0bef921ba31fd5a117977f1945fc04837727456949ffdc9886f21071186bf32dfbd9c3cd6a2a00a1cdd5fc3c22f4bbaab92aa85116711f1c53754bdd2bc384f2a8\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 2b3155b14971f79c9e3294723c7e41ded41af709f6edb2c19f3526584aaa1ef2de2e7a8dcaf5d7c3239f604c421656dc58e8b0852f7a65cd557724a9b2a17cac38d8020e939bfefec5dce0d8993e75615b974944e4c4a811e40db63f13d2b626bf26257a706a7bedc863d0100b676ab70d4a4f6eaf4692e0b69ee4426cfe7cfc3e92d93bb804569883cf31fb282efa5a81ce9f6d9f0ed79251ef2a0b596f80e0eb96ede67e30457a07655d777928b898ed1679046673e489d9c6305dee05abfdeba7357099f9cffd00735165ddc39aa7355b10a8b8612dfa2f836fb9f5f89f1407365d6b39a39e89c6647ff9da5fc6f960306686a8ed8e2ce12cc7fd9870d576\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 501c8119a0f8aa2139ef5e05adc65384fa389b9023532171d514651ff48677aad546326a2e3c02b39ed84e5b7e4630604f2979c1fd7bf37da8e0cedcaecfbea6f9c715141a1d052529d0d0fcd71eb70867e2704377801a0ec721fc59fca9d8b1b08cd9ae3ab094f5bbe2faaf3171dcf1712c534bbc7ea802a2a72d8cebefeeff1530e4081b85a42ae38f630f38c1121199f2156e267ce2467f9b4853dbd29dd999aebfc402f2a0c33b8c1b8022941e754b7a187df4c59633dc6e76cb3200e34acfde53a386647833dc2accf244726fdbf440cd32503188a291e5b0678aa729b539c1f5f97e7b788c0c20b88d90c90a3bf33300d181b9ae797cbc76049b43be3d\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = a17d67937354c7fcba18dd5383edbf2f0868ccbe0a316876fb1c4fb14e7f4c048ef5ded5d01d02556cff0c8bf081bd09c46ce4da156e9810df195c5b65ddbc3025b84f91047049f205341ca8dc55e440bf8d9a3e98c231bb74e71be019cdf451e962d8b7e8e6d766d3be430c7596ffcafbb785e5fe8987ce721ae228832c8b4fe0b0071b0e5c652856f785695f70cbb3c62394a8291ba5f587d4fd7bb448649a72261447aae6a2b750824d400ca402543c8bdbbb8e7c3b44cb7085a83392346abe999ea2a5ea15e9eef6bf08a88096ee4e532369f0059285298b387a428e5e34ed7296e0b53d34c5e23f0d3c12e8a2d3132672a655c7048bdc0c69b36cae602f\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 64c26d43b028f284e9667d5951e70c75e611ae2ab876f66ccfaf09bd54a26dd17983d993bd4f5270537f4c4b2e48695eda28c8c365486b5fc3bde4049dcf6fd722e634fdf5571d29b1e156a48b0c706d96155d86c20dbbb1a47c7e54efa15b25d76f502b3069e2514f89d9bdfda9bcda02301c58e2173cf4f3dd49d8415802c11aed78f031e8e2e50197443e5fe9ab55afd8deeb7b5db8ba7a7b9fce6b7d9eeab9ef25035742d076935c059d076b4714127d408c9428a90cb9891a151eee8de7d0cea32b0ad2d8ca4abeb0521b296b5ac08f7c53d5c85e47ed828e0c11468d6cb50bea89e4b455936376bde9f22eb98b3e2395eedd05d1def38fd5e082ade3b0\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 6b77fb8cd287c666cbc30f00bcfccd31f6dc01655c3c976d1b2a980d53be40d6a4a7676024abeb1825ec47589365c07e5d4c3d34e249814126e32ba40aa81ddea0f61fe4e3725aeb9751103fd034cf3fa516fdc1569aeb7b028d192c8ef4ef60a5befb8a4de595bd4717462879f424e87286aec0bce6f9e763ee341765c24cef24f916a52a777595879471e2f3188c1be77fdced941fe0cf739bd8d5a4ceed9fa1e47f6f12dba68cbe7bb2eb81e46c2788b847d0ab6f55951f787db4ec736772851c43534b7ebcf226c2540806d925bebec9d109915e466d08e2470b7e85b4fac66e089b1a535ba703dbc10f800f6bdd557370e9ce761e86466833903efe315c\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 4af6c02b1f3c2719fd1c84965658e36651ff891484f4c4177fce2185b7098c861939fcba677e8ad461577a666ac77653ac37fe61b5fc235ba76917e03c3419fa3b055171f959edc7f9fd349209a23a4aba57ca80744f69be6ffd1a2252a182a3a2c1a2c069dd4953dab9a6acb4c7047d7402584275cb726875c0858066f50caebdf7e9afb6d4f3270662afbc66ed14ce69a846fc0c54f9e57bd4f827c0b780c30dcf8661cf4bb678ee0396bf8e0a08d259593170dff3f93dfde9f4d9ced510e07a2736c8727d2f9e973e32524e072a92dba8edb2d1628da03741d227255914717445407111eefaaa889febfc6f4b0d42dd958937710ba5e94414a26e09cb3f5c\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 601f6431b0607c80d5c92c86a63d06fcd862bb35eda31a7f331a59abbb8ec18fbc86ec95ad63723216e151b7bf73135c028a5ac3b45f30a7ff8ea43d5dfa6a52f5fe1405e6f5d64abc4999f8c580701bd9e451bcf6d54bf0bd1c83c7e0399e7805757cf436164f365ee76f29433861856b67b6cbd8b235365786c2de9b305e3293792202e1848f9595265ed6fd4b1740bcbcc697d719ff70b9200e65d7711494e18855fac36bf9487b54798f39d5a32b5d62dde3de2c3b5f8f7f4bbaf3ea04e11cc8a4f6247e25c8a3a4e05d831199d14cf44ecc8e66c8ca3883b5aaac3eb5889b23dea6ba6649c8a69cfed547ca936a57b220c44b8eb8604c8dbd81a3500116\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 2a31524193054309ce7b6ae9c4bb053f5a5aed273d7a4a609496c7205f5077ddc746e8a4ea376bb879556d4999e788fc8f82378f6281140663af2fe0995a1b73eeef60341d0720ce47282eb87bb79908be8c3ffe86182d174afd0522a87fa56e0d149ab4c32292ca1d1a8478ad4090006b32a147ffe4303487196d308dd59f81eff956bd6ca87ee0246927e279bf80807ef45829824c80b82f7442021bccd8ce4513cbd4d4150fff20ddc2ea", - "942ef318455265b5667a74ebbeb83a05d15f3215c04b113c8b55ec8be512e797a3ace15d2514c2bb74f50e0969eb1a2291fdb6fdea1af0cbea6f05937be614003c1569b648c2012ec5dcde806f68e247597bcce6\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 8291cbd81529c8f1e27a907dfef2de16dc6d382b112cc3d2d69f4c6915e7c6992eeac6e4b82f5396a46eab562858835ab0c0aee63d2585dc7537dc0008a4b40803467abd5fdca4114282265c2bd929a03c7892774a21ed6454e73684673d6448b19555d0cba9e4c00c99af77b30f1daa4b15eef8489e15a276fed1553e617a64dc58d5dff3c05853a7039047d243c52e53f7dcfc40641bb9acc33ed96c74c79c93b79f32566cf553428cf85d2d36a070c89f1eceb4606fd285f7ba3ddef70ff151ed0fd3a5b6c5338eb2f812cb4cf4827caef0b896a1d49f49e2c3049462d07d0e64d33f1e2c615c62a958abb6942d9ac8fdc39acc595cd381aead075ab7b51c\n\n# tcId = 13\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1edaf87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 14\n# s_len changed to 32\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 15\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 1abb40f03dbe5b4f1365862d9f095a8d57e8922565372f0b34ef5e232441d577b3c1f19a240ebda880a09cb41a7267732623b0faa414843f9ef063f93a92bfe5f98f7c28da184f011aa787ebd0b5fda4aec1beab6757add32f7a35cb407779aacef43c0429280e5a040cf5943dfb579f86e0c63cc828fbcafc9c8a15ec98fb64ecb5e295dc360f50230f415337aaac6fcac02fe625ef61744488eb7cd81a4e788a443f56b32bb3a7a344900806952f6f3f55f8d9e9217ddaf06a0ffe8b0bf5551d87cc9251d839441cdb3c72ae9c6a5a3de7ab85f908ae7d04232c52143d272e87a54c5b39d399b49ca7e96edd3b6e22c296de69e9e1848038025780e4f1ac29\n\n# tcId = 16\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = a11bd4fdd30fb353314530d60b1cd921d6091658e0c775432b6b702b1563a9e5b547f968ac13ac5b7027aeb53ea8987c9441fbcaf414bd04434445b2ce6a1d9dea2f2f179a6d40342a25b10300d45358f703f814917870f0a47f4b4ac47228574096ff240ab0966bb77ea9b5155c6a4fa0a185ce5d389c6ce28821262698beadd0fbec4ba2b66389d610f290656b7a4f7ea1f4a3c44b3528bf62f72abf7935e0d8b6cfc2db947e440752410a43a0ef77c0dc31b58be021b94118e5e0cab1d8994e76ddffcc2e5d55fa59d1ba792fda9db2b5ba9ec6f6bac395c250e2b8ff245a448b611797322bce637c0b1537c9765a8498e0e0371af2f8ec15f32e765ee234\n\n# tcId = 17\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 83673bf6d178e873e986c9a9750befdf2d6a3f0128ec90b5a8059d32f9f9592349095e24f88e9fc48ae549009f52b4d821fd40848a9aceaec252374b17d4950296e30b3ff489d420b8daaef47488696762ae4cc55ade170c5e0d72e696af793d5cfa04477c147732328e275999746c3680c3dca701592b17bb37dd8c5eeb3a929f932a3521a8004c10c9e3eed8d956835a700cabca21038a9d6dde44f888336c167c04ac26e800a99130a6e1d3b3bd8061dafd2b462102249fd07dc50a2e57a8c6cd52381fd4e1bfdbab18fd602c8890d51e8053c3c2ab5c96bae2847b5539aed3ad83953f47841f8f50fa28446d30c20b2b7dd8abf4e49c0636437c22833ba9\n\n# tcId = 18\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 90c3cb3331e8b352c37db46283a1a66b647ecca43e3461ce1afc49d6230457341a52b558496ff83053175a7bfb4755a1bef0e65f470d6139eaaa28cc1c083905859c1475868ceb1e3829437f64a7ad757c9da3b6e8443e8f981f5c0724c5909bd4ebcfa65eea4e4f7af5222dba64a51228759c69e26c44d9a528d75a5b96855253da88f9b54744b1a8b02328394c452e62ef75cd69f7def67b80e4859ba3e73b08a2a3ff931f44d1d524320a33416bf4fc744847d12e3e973cb870fdc3ac1bdbacb677bcc63f927366f4d0d61ee3bc0d1a1b3d149672c6398f3409fe9e7c7c0a150571573b87889b4f23ef49b6f5984412642e5b0abe7f5ec4b4cf12c46a38f4\n\n# tcId = 19\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7a7318799477eb6da55c7b5f6a0338071d981011e1a9bc6fa3a2258ca5caa039fc7f768234cc08e425323f57691cbcf5f83d6a3439a639818c6b2bd3a860c9a6b9a8e0728aa7ddffe18f82c02854ca07b17db0f166d2e521ada5c1f85d0c2f259301d3f4b4f1380f94bb819dcfac9adb764a198091e110f0d3c5fbe20a29366fa52d246cc922bfd2b44a619b59b497a5379282ee30608f4243f7328ca8aec20f61aa8b4083abd1c206fbc9ea598d163e52da1026ae349d26469e2244b86139895f80ec4e8b6f5965a28ac4e9636ec3b1e5d685483a0475fa645421ed6ee9633f276aa4000eefb173b5ffe824d38a4d7e24146e4a6adedc3ffde4521dab879120\n\n# tcId = 20\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 331756b92b346379e1c50dea5e05d92912eabc568905d7f290ed353e705671f0f5a43921d71cef11fa2cc23c954ef27eebfbaec77a33147b5c6408b7fb8ba9d8e3ccd5af541942a946bf057d39ac34e954ca3eb308449a9a8fed15f760d9392c32618c289993b38875df412d460500ed0ac7d9b79b0c34e8a64310ad4cb0e7d6dd1dd8ad6aa81683a3420618783a315b2643f7e8c8a95734aa1ea526752bca4d443a18224ced3d2a07bbb734d01629483f5c8b91d94926916e86ee430f4f6f07c40d5808f0f59b9f438723bcfb0a8f595e3da00d5f2c3bc9eba4e64cfc5edd9c244eaa4aa8f7181fc0895c911305fb8dd3d404865f6ee2a4de8f5de7962cfa9e\n\n# tcId = 21\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 28481a5bc8762ab8cfad8d7888e5db6b678b12554a244aebedbb4d83fe0fb676d77411285484ec8b76843d4ebed1dc9dbc2039c3d0e7e5288de9602f7ee82793e75d2320d8a7c254116ccb086573142cfd33e36cce3f830901dc734ef18364e1c0125cd8fcc3c7f4f333d4b05386c3cbdf616d386a086862b591d80c34832767feb83aebdace7d19269b0b5bf340499a9d530c15b19c68ce227364080b27e6f4e017d6dfdf6ef05f4b73b92602a6249391812a286d8fc87204a477d14307aa2e23f12f7452e15d4bfaa3deee56903ed66031304dac16f6393008a53496845079af72e6c5d4781664ec757c741ea0dc9ba628df2dbfa591f16c352d5171b3a0c5\n\n# tcId = 22\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 267cdb3f7ec390ac0910a3acd42893b3c445226413ce38d7fecd825e29d3a7c8a2c361607b70b88f1ccedee4c9d3c8d109bc3e77ad749236f546352713b71581ef0ed3b9a9d1a11035629c8f6cf912cca10eeb2b02d3bcbcb167f02ce43d00513999e4710cf5d4f4d730dffe9e52ac5a11d6453821298e66dd882fa7eeaa99d06d324a1436e2e2f3a8e78744cdb21d0070987a4895697f26d37f79e93f6702619ddc4b6986450f84630717643224d134a922b5aebaa430444bb587079f925ba93a42bf847579b8bd7e72baa5eef82af83afde809ead8f810bf4441107a3095a4f4f137a3a24bd5f21a18cfec809a164f4471c49091390d2fc1c6578dfbc2060a\n\n# tcId = 23\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 7b9fb586f1455c9fd95db25ec66cc1b8e0237355177cf1c40df59ec1eb84a95149fc4c06117e8301836a32aae7e9ed18b9eae67e5f76ced60e89b8e11d3467afd71194b494f7062c15731a475586fc90ebbd1b382d5c55c0b319869b3d409b82cec0afb19f6352efcd6f1ed949f27a0306a3fd1ec4722cd335c1169871c63796bf3a933dee3f81f01fa8b6e710072fea562cd938fb2bb1053845555b07cda74f144ac84d9557326cca799af501f9474cd8b18a2af4d1a12f93a5b6dfd1880e58ea82e98fabe96fa76981a6243e8e4ca386f5ea4463f615ba1812e38842fd51c71e0b6a9da68a2b1432a7ce2686638e55129d4224c94513207ebf90e8c5f435ab\n\n# tcId = 24\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 6bd414e877abc92b608b08a273946f90ba6c6c27de2448175638f67a6b14492fc1415ece540be3e3df8c8ea7154211637d9b5144312e113bda2526b6fb2caf7b07673332dfa605468e37f4026eadb4c0f84b7b482ba6752839fba46b765709c3c6e54de13953245a3364bbf21222374eb63e61e68d73a126f40f115405fe9092b00b60a7f0b995092061427454f6876ae2ab3b2757337349ff3ca3e2332888b9616fcffb3b924977ef856553f55b2f1b115ef0ad7856f666a9863109c6498c52271ea2e6854fe73e9e4d4ec666fe668f0ea1d1af19853e9a07066418697429cc31fff107b6ba212b4a3cc19b59ada459efbc4ccb90da8a0bbb48280456de69d2\n\n# tcId = 25\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 487bc9021d8e95d05c1d3237c3e9f10df764e8f70a068fe6d93b865233f6ce8088bfc117c9086a3bea29d86e6d75fd9c8700e871f6027bdd0b37c1b581dda807a1401721f8a582a06309bfdfea5ef177c", - "b7bff47179d9fee32bf545e3e4513212b68fc3eaa43f9bf86ab066fea31018299f4401e3e0985c0d450f102162896e619a2083d5fd2f2a03fac6ad99d38eaade1c56a7996a35e5e657078547c43d13fbf62a64a007c8f03b79b9c59d19697069344b7ab309b532a7449878d3c33472098026917f99d07d4b24c39c67dac099d77c2c0313a557d8a5aeb896214211fdccb531f390d91848be459df01c014454c8c9fb390d6f759713e30128a9184e881\n\n# tcId = 26\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 5bc1e96ad536dee1b3d23e31f053b9b0e1439ce7c48ebb54f01a81de10133612dd0c1b4dc0b60d6afcbd18e40123b40236bcd773b5ff473b5f35c6ed4294541e7f028acbc29f5583e93331d4c03631afaf79bc683c187c7929d2f7db52d1a34d88210ab50231219837e1b60d49ce8048e9ee4ef55c2218674f297158c711e4fba62351879e7d058e0cef25575cb0ab9f6d6961a4cb6d9ab0a68a301fa3bbb8d0899f43bae40ec19758591e5e0cfa84dd08f7859ebf54c76e04e74748833313bf15793b5bbc47494f3bf439d7fb5225640f3f3756d9d4452f7fbdd828fe844f757a0cc585ae0a6a5410065c8ce4e0319c356565ebdb1ba0fefe780c70a5135365\n\n# tcId = 27\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 2b3be6997057ae17c749c435dbc68110204e95b3e127a230121e27c95aace90e9f221e2763833024b3bb873368e3e992897d8767eba2479637ee9383796cbc10455da3b52c7fac1d91131e3f78f5f616b3fd413b310fe8f50ef4f721fc026a6222f0d9113624cf7d481e79e788587ee659e81296eaa438ff13454e36ea50e9f038ed2a7548a8d169635c3e15bc20cd83c8279d16e6b0edcac2e9c72b9048dd7fd1d298e414c3832236d612af3841e426c74f20484ef408b19f22449e701460633fbc5155851e812e886cbfd6218bb27388e20547fb4a48d2e0f9a284f9bc1e9391b28ab7f3f45ff5aeb6af12faae437361877d04e2df1a1057ac3a680e5123ef\n\n# tcId = 28\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 4bb8fd79da58fd3217661938c90772eebde7bfe5d49fa597cf448019a56d710ea126e8b94aacb45bed81df07ed4c89a9889bac0ad2abd506374d5ebed14777673fb1c51a3f844e9619bf707c9866b21721a75458c100d57b9ebf6ca58aaff1d47cb2d0f26074dc15d0900a11d681bcd76b111140500a51cf8c1b5ff4771176f1dc0884d42b36a15690b991c77f9605ee9c4329fead40364f2b6372812319c0ed4a6a15c0716da9426ddbbee79938bbf8dc3b459bad11ce79c0bae6080a06b6c8c1c051fc37e0bf0546c7b55b2cb6d90bbf4961ccd1adc623c9b9b51912d6b78843932ce04323f8a9159d10ac94c2d980e9b48fc143299d4c830050ace61f7238\n\n# tcId = 29\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 9aca5b5fe1369dc46eff908e690ba88744db0c86f7da7e644eac314493ba6a7d003dc5400e1c521c373ede410afcaae8a4ea8e14d1e6c2ac3f39c0bf8bfeb688962260f91058ef9c1a0ba39689736d039ff86524a97d8eaaf248601793023ce6569c3cf15dff30f41e384690ab40812cb1e4414a0370fc39f526abab87bb9a405fd44869069f343f28bab50a1e582d4bced25d41f9fdd2e958177a3625bb59c4677f7f749321023fc9b9b724e8172a4a512743a1c78c3c8b1f0556fede02e9f6f2f851fd31e21f0886a35d12a0e04f041251524bd7838d91657026540e133a2ac1ade52f03efb509c30578bfde272f0d9fc2e515e541259dfc249bf1762b17b5\n\n# tcId = 30\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 9211ea6374362d77f491d9dca7e8e8d2b672bd565dda1566814670d22e3f211b38246529a5f01333ced70323e6cc4de58e9dee11a90f345fc53c1cb0f0c2287230d1cfc83d33c6158a8730853b5163c825ec05084cf0816325e21ba87f1685197c9891ca3b89d8d8bbad395f7f71b91ef937a1d81bf7497356928b77b10fe270500a731d498beb85490c1d3c4145336d2a8ce8430354b3afcbf0c923b0b0e824adb36d7be69a8e951f64a5b1d648dfd9fea49b59c99efcf015c6b3937d8986100f48022346136eb56f9538b115284ead85196385d91dd414ee22a3c7f40f632cbe565c8d0a325404d0d4905282cf7acc6210a6eaa26f3c3961660a944771b342\n\n# tcId = 31\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 39112e1c8251d5ffe1373e70fac946358b00bae6a461a1af561a82d81ec4acdc63eecb3b98f5f070929dec66a758d4a12cec2600208d7597320ba5db412006ebe76ed593d8b1090e93be21b1c00700e393ddb4b7d7a8bbdaab603087abd2b90a0408a775a4469d4f2f6b34d228da55bb4872ef6dde5282f5bbcdd6a8cefc71c4caf00453e6d6c59321b738d3b21a3d8f0da4afde30c16bc5722ac30ad6bb1f9fe0451ad150fb3d67a805993e506a80b2dea3801bbedb8ff7b676f50ca3fa5b9bd744c00822c975e2ab8cc6a917436279a9e85aea62477ef84270f6efe495ed503623108ca39d5c47bafa3505f04995ec9c2a0e411fed9179c9a9e94fcecda5ad\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1baab34d753d4c169107ff7dba46ec1a4203cb1654489d6fc20d206bb21fab483872c44ae8017b7c07aadb8e8489a2b41b89f9331fef63317408105eae19900377ce150ec89a37b26bfb169a89aa1c71a83cba6858d5b47353e82017f19a6688927768bfd0e75bfcd71a5e1948543907d65bc8fc813436a15949fbaf0a7f95ddf010f298df9314203838a60b39c5bcbc7a438500649950bf28e78f94155cc664ad5ff996e51789fb13038e1757dc19b6572f028fdd8be318ab933adced2e87b569544503916030b4060e231b0265372805cb53214c6f21e13c632ce08031ee368bcdf3eacb3b87269e8a8684703a348524020e820de93f1f334b59cddff51a12\n\n# tcId = 33\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 7f04560acea95c8b3df67a74fb2b32d904e5c59b43b10b11519e796efa77c0c9b14beaf1ba1308a65fee50e7862289d46a3cfe79f423e7d9201dfc7428bec7f304228508b7e8e5af4dbabbb3958d1f48dae4016cf699421b7a9a0b1dc1c806a7b19cf65fb7d4465a031bd8c24071b397dc1f6987cddc8b69f5f3dde25fa36c2ad6e030c64413bf3eb39176bc003c909e37d28d5a040c15bb4a73c74c39c4d132d09fd565abd7b63d81115ecc8a151786f6ea50882e50db362cced39702ae1ecc176cece9509ff071b87f142547ca3aab04bec1a7d0c6ff35060420b99e285515eec016ec419caf75cf11af56a395187fe6575786998b6b4348561a0dd68878cf\n\n# tcId = 34\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1c029185061385643943dca8adefc5666ca039765d29f8baa20dc3cc43981ebe1e6d1f09a617559955437323e50f6464a69950baf23c7463b1b1c6761b50bba89c81299d4543f76e3e4ca4e30ce710a20707b18dee5d2ac9e0d9330148526f193439cb33238ef9d82424fc1287097e7626bae0130b735a22cb6ef08ba4d840b370c9e8658f83267e52b8d56ae0ada9dc5114920f97884d6bf529bbd7c81b2f9a700e4df4c71a8ce3141f9f4be31c9d639619b20f725f55475b38ce36faee929864a5c7793ec26dd6d1c4b75f111feba3765d0d35a272fc52fdb85f2c0bd1bd22cfb47bd0ba58d00af119759e1f4d5763f15cba4e788fc6f8a221dbdeb32c484a\n\n# tcId = 35\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 0594a2a0f3d10857e8e2a89d72df80c8b37977bf2c390087d1df7672fca50d21b7a3b24453b55afee4c6fb2adf83e6b3e6a63db31b685ca956bda1f3074eb53364d9bbb9ad16883b56ceb66cae51712d592e10f851c4431a4f7b3625c774808bf7c694c582f1f20c2f51ca9f781c6172d05201e1e0ad96f7231c2786e039cdafcc4045bb078c2f432d3409dcaf25d8c0549de03d7964606aa0fbda333a0eac26e5f3ba13b1d6dc710c01a17e1a24241bd741d51db4cafbaca518fe32feb0ed5cb916c8c094c41f092cecb7a9cc0818351b5c8b6563bba32fb8e86b4c81f4f57c24a880e91daf31cd1911aa6690c8e45f00dd62986369bfa5824b785c1c56fdbb\n\n# tcId = 36\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 10bc1d1d1fdd4a8f74b17f2c8258078ef5c4f5fb973a2505060b126504c9366a4578e2a333b1a9c580239ee959d17017664631982cb8554fae8cedae07eb7e2fb69cb702db93d948d0d0e4654d9eb49192ef87e92f4d229ba56f165a8ad4769d0c707111b9be90c6cc29cb3389a9ae4d5045d8a69234cd5e57fabb76e5d1869d83cd2f3ea8f0419194cc54c398a288aaa35f765ca8e0e264865b709d5a21c9d807c4c0751f9e4e68c9cdc61d93113e5bb811c2e217f31eb14f010aad77abed3e4305e7bdb1066879237849883c3ef099b85c78352b32374dd244e173edc3824924098cfce9d729166ccfccadae8871266927763ae6a5e750f49b837b60682aa9\n\n# tcId = 37\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 38\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 39\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee", - "82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 40\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 41\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00005e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 42\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f0000\n\n# tcId = 43\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848\n\n# tcId = 44\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData111[] = { + "# Imported from Wycheproof's hkdf_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HKDF-SHA-512\n# Generator version: 0.8rc17\n\n[keySize = 128]\n\n# tcId = 1\nikm = 60ab7f45b0ad534683b3a6c020d4f775\ninfo = \nokm = 2109bd244744acae2b8caa9e70f57596ad680212\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 2\nikm = e3db76e02278cbd2adbcb4555803da11\ninfo = \nokm = b28e3c338c70ede899f2a2654f2cd7e0d958d16eab2fa2a76035a2696054b68fa963c617b8fc2a826917\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 3\nikm = d4dcb92a769f57c8bab8a420ee0aa351\ninfo = \nokm = a8420281c08c5f087c9d54d5660847805b0fff2d6257f02bf849badfa8a29bee84ebe704a6eadc0beba0c33805d5843e167b1966aeba6a15b0f1f7b3db8c407a\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 4\nikm = 2d43e54bf0c94c9cbff4300f4aa69ab8\ninfo = d674da3bb47d5c7e38b501e5251d9348af601c44\nokm = ccd42097a730e47cd2908a834f9d81a3239f4b91\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 5\nikm = 4055536896c406d5fe14a6cd6b999bff\ninfo = 2094768a8816f7df070d6e08b7ad93755dc9024b\nokm = 0191ca548ab4c1f91eeaeaa2e561f954983885dd363c80079f7bbd053da4274b236f4ef0e4954b34a386\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 6\nikm = 5b01b2da3166f217cdd68de8af60078f\ninfo = 6884cfa7ffe8f27bf4ebc6e46a7e01488c79243a\nokm = 01e10d4c477c906d4f67105e4a8054bd2e9479d726166893fcf77b5df431ad007c0ae42847d3706a770a5e468783c9519804be63a404112dcd4ecea952952b73\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 7\nikm = 467403c2ec02a235bf730ff37e8d8ff3\ninfo = \nokm = 13abf6dd4468e2db7114437adc914cda3fab1c26\nresult = valid\nsalt = 41f0f173d307d40436c25856cf559f96\nsize = 20\n\n# tcId = 8\nikm = 3352f942aa93071da6d39cc5ed8dc460\ninfo = \nokm = 3cbd7242368ce2eecacd1839876cf2e8ee04d8c54848bf5515dfdd046fbe09483982d406345d1f71a4f9\nresult = valid\nsalt = 57a0db708b25a51afc4271803aa35204\nsize = 42\n\n# tcId = 9\nikm = 08867e76311126089356623ba5381e73\ninfo = \nokm = 098d9f9e0e0c609b94e8aa57b0449cdb3929605f821cda305e4d93746553a40a1e4c97565183e116511c3dc5d9d56561c698849a114692c8128b5d3c1cd728f7\nresult = valid\nsalt = 0c164c443edcdfaedb1ab150f047951f\nsize = 64\n\n# tcId = 10\nikm = c55c41d69d2424a520414e3662aa7303\ninfo = 3fdf20538063b76901d61bbf9b72b0c18749e00e\nokm = 19c2ea76fcf7ea72279de10e44533436300e250d\nresult = valid\nsalt = fea9bfc92b74337e43a201a2dc199e27\nsize = 20\n\n# tcId = 11\nikm = 5d3db20e8238a90b62a600fa57fdb318\ninfo = 2bc5f39032b6fc87da69ba8711ce735b169646fd\nokm = 8c3cf7122dcb5eb7efaf02718f1faf70bca20dcb75070e9d0871a413a6c05fc195a75aa9ffc349d70aae\nresult = valid\nsalt = 1d6f3b38a1e607b5e6bcd4af1800a9d3\nsize = 42\n\n# tcId = 12\nikm = 8677dc79233ef3480777c4c601ef4f0b\ninfo = a38f634d947819a9bfa792174b42baa20c9fce15\nokm = 918e9cda37bf7f52506111048a878e64a503f9869d0c2615047b995f1efedc4f713b4dbcc940838e68f6a2bf772ebefae9154e9075da80ea1fd68b9df580ad76\nresult = valid\nsalt = ad88db718244e2cb60e35f874d7ad81f\nsize = 64\n\n# tcId = 13\nikm = 0f602703d37943e0253bed3da331aff4\ninfo = \nokm = 60738c594db9638656cc8493db969736e743e152\nresult = valid\nsalt = ebdc8510499f69b2e188daab77cd819cccb95f276f46e6b2be11cbe72700\nsize = 20\n\n# tcId = 14\nikm = 9fe65737574c5c7aa67646adf8230ba8\ninfo = \nokm = d02f9f8a507d3cb0bc047b0d979b50f94dd9f3d805a5d7f5cd372ca14479cb698e17a95c737849aa7881\nresult = valid\nsalt = 73a34648c152443586236abcb46a090ce55ef6c7f282ffce6342d694650a\nsize = 42\n\n# tcId = 15\nikm = e8f2b1c3e6a6c3d5ee0a20dd47aafa78\ninfo = \nokm = 34718d60d8eba9f7ad6d111ef14160652381239551aca21bfc1f250f8d04c64cb6cd503c7f5fb3ff6b73ce234cf6bf91056228a8a51599a39c402e32d47618cb\nresult = valid\nsalt = 3f5e162de91e0782cd189f3b7778cdc2ce6bfe9d3fe841cd3c70475d7b3c\nsize = 64\n\n# tcId = 16\nikm = a679521cdb56aafc5a4b76db0431a4dd\ninfo = 44ec41ab4f4e64f4a36e5e30c9f0dc1d77ae4974\nokm = cb914a0b318cd57eda5b9575dd511313b60cb7ef\nresult = valid\nsalt = 123033b1ddaead83a4b9cfef8a660bd8e00fde01e67c35656c6d7607d456\nsize = 20\n\n# tcId = 17\nikm = 49bf155ca102026f2a217ea1bc9843ac\ninfo = 851bda4faa8f7add2a3cbf0acf9c2786f8f955b2\nokm = 4a540a643b1597bfbd4cb38953f31b677c02c40cdcbdb6c48984aa8ff3e5dc17caf09d0a6f67afe92cb0\nresult = valid\nsalt = 76776e3b4d75f8f43dce4bded71f3b1ae6bcb012d9c0d59f78248b9427b8\nsize = 42\n\n# tcId = 18\nikm = 6cf725e939e8824d4392233eeac75d30\ninfo = 495425d9727fee2e2b7e78899868c1c3e7735e1d\nokm = 379e6d4fc3c9b344754a1094eac60b71e47e281695515987abbc3b22c1e267d95b101592896e08c869557ea82ba075d9c9524d3cb79d7d8cabb33364f5252968\nresult = valid\nsalt = 1e72f24b05a91a0093f34306ffced79e7003055b0833c6d0f27a4f33a1bd\nsize = 64\n\n# tcId = 19\nikm = a319ff7b5ba9b14ac72b681cecf0f742\ninfo = \nokm = ca31c0e0f5ddaa7fded85be96d6311d8b935307b08127f690f15f5ce3ed5a44d1c226e354e8d7e5069ef\nresult = valid\nsalt = d7e3bc6daed343ce77ef793e15a8246e4bfcbaf83d2ac956d0661d1df7262b2e7311623dfe4152caddbfda8fa8ed7a82656ec00b72c5adf7c9d388e5b3bc8d24\nsize = 42\n\n# tcId = 20\nikm = 34bae5a158c1678aa76a744417a70d7a\ninfo = 87ec30aa53acfc3d09ccc1d57d654fdbce403cd4\nokm = 65f5385dab06d375033a6a25926ef4bf5dc660737ab8ccef370af10cc9dcd7743cf273fd048f64b7301e\nresult = valid\nsalt = 1532075f363e061133780ac959bf653c7687d181b9431215d6f62dd2f1ec3019d61c50fa82c70ae25e624c849a276b0c57d7c02a4d753fe84a1a6621e9a5ef01\nsize = 42\n\n# tcId = 21\n# maximal output size\nikm = dfc7c0159b921546a4ccb3067cafdd6c\ninfo = 7fa60cc2c830aba2\nokm = b52c51a447b923e2e6acfc05cd6fb0fb65d8f67f7facce95d3fd4b0dc0dc41d7a92bd06c1fa156d7756d603f8c26a5023cb842c7a133850e842aceea3779417d29a517452fac99855a2ec52503e725975b1d1142fe20608ca753d39301d37d99ff5956b45a7b587e3ad485e135c0002dc9918ec49a985d494795b7cfd53641ea9ceec7834d33d060bdb2eb158d10caccf74f87465052f71c43e67567e62975f02cc79349ed381720965533fa5eaa172d8c7c017036a0b4076d5b76ca16f69586aecc94d2e93585c4c90834ba697d0ecdf04b322c4a6f1b468a7c89bda5ea1307cd99060427fb6c2daeb2f25ad3572b9df69a5bb783d0e91f5f72f95e3aea3575de29e0d91aa8011c85dc918481155dac096260475076e1b5b2cf8061e888de70697899771eb8eaa9c899de2a5fcacb78ecec49a1b8d72df2e208eec858e2af089003c34079a24c15cac878d5339933b91497fe6732bd2d0f77cfb4a5adac9d59a778e38a65c986fd4cbe5f3661ff6e4aec2cb1f103660708a06b9dda3eb50e76629375c4bfc4027f563ffffb0a6b17e80fb1c8705fd28cdace78666dcb64e009ebbd67d77b8fd18c1cac8f7e114c18b4215f4678d719672f7c3307eafeb91b1ac44675654b26c49ec71144fee1fdd0c238be154768be9e851187d41dd1e8842fb4c7de48061cb1a2568a8682aea5cd457453f281541ec0544da726c0fa38b76672867763c1937fde3c9c3f8b58e4120a1ee1704a3dc472da40ac9326aa417b49e3a9603cad661bf1c61f92dff92c553a8368ec0c3b5b105e4c3a4bd1b02a7fe12e93b6674a2b45396206a113d28bc77fa6135d1a3c5d4c876a8c17b6f4611483ed080642677255f7d0219c9e6e7e661ddf05fd7ba333194efa079121091d9b117d9f0281c2a0d51bdafc8a7e391ee607176b1ccbae5b0df7a936f9611753cd5bd815a9fab6bcb2a95343dd7781484afbcdf55d260335cfce70f07b8f4737c49c7a9d93335fbf5bd2595c77e5fb088f81c033ccf08673b446da6edd68cb0e1cb2b93c793dbbd3f845d76bc90728149d6f5bcf3360a5601d42e6befa0574d89ef6f3d749538f7fac02e4b122ab93cee09cd710b0aea2570d761164f6bf37b43f2a252fb5d17a737b83ff36cc07ed550f5cc6d32679691d9cdd72c91f9fd3229c8492c02710a3b380b8ff95d2ed3779cab4abe7e1d16d21b0572a0cff15488721e447efbab8db70c2a79d36e80b6e7da11101e06b560bf6c3dd0e3fe7decbab8c3a023597d07f2ae5af73bac662508f4a86db8e71b9e02545a970f614f66c18fc69e569ff96fc32c05f1b3e87d3376131d69ac2f0aa9e50f4c02806f164a29f32852f64291862609f423be3627ca2a0b76e09f1080c3b602396fc043c7bb77722c08574385685f711446600a98718e78f49ce1ca2d522061bee0dc45a5b899769d098282d1bfde4f35c9a60101dae768e91f59d69e6b9d6f5c08c067044c7efa01790ad94b8e3c562ea8501f67b43933e76a7e416bdacf52f7ced3f5f01af4e317b5e537cb6d1b96960832066d8ccc74ca06664a8416a390ca7d0f31aee6973ea9c4d08d7a14b6dcba15203cada6baf08934cd211b6ec988cf1ae8b23ec9da4f78c5a73313fe294fe2d19c5dd7e5086efaf5956d8653362f03d70a7c4a348ebbab64831a12ba64081e8e4b9233fa75096ac0f0d225f2ca3d4944aaaa7da6dc1bec11a9aecb14e21181bbcd0f5b466d40bdbcd69bbddd51a85e2e9cb8becd5da2c7fcaf20283a35f6408061f9cc0bf68088c68df7e257492f2b1a77db3f6e3884689b09ebe0af6d8bea07eb4ec4f78aa4f61f94533311ce24c8e3bbca0e57d96834e2ab1fe9b80f8ccab305e47e63145244f340480513ea6089fdeab01a69f4401d2da6aed99176d5603cedfad1a9ba79b277c35611801c03534b1de4784e5def8f2e1d81aa68207968e1e9baf3405cd5fffe6a0acab1a18e01540821cdc1b69d344111c6043ea8dd9196a3eb2ea9c2b1f6a1c77564c0eb144e376b9cfe74ba734eddec86ba19e2c57677547ff6", + "5dce2091d57fe59b7515941acddacbe757029babde6d8363e9c87ea40973f121463e706514a6b93cacc4375b0a4b640731d39bad93aa5d81d0024406b9412b951158a4a91a40c39dbe50295b01281f78c65430e6ba97ad3106a672721c80909d5d0d3e95b5e81308fe7e9b7cd6145dae402c32967ff73b04a163405e8d104ce751203d2c354622370b9a54601c1b1c9d484d3827d2137faab9fbd6fdae854add24a933b1b32f33985cf3bc1132ee2f6b0399101801754e34ef0d15bd95a40e9d8b3241008e39082a518a3882e30ffa1b4073cc637b2412667d4b51993135746b748fd88ed5da3e83948d278426262368f57cf5179ffe02c35952539c1f61591825c63e8178f45b6eb515e4f02547f7118b39646b8840694ceeb28ad96b4a1f63941fe68cba5eda641538906fb6b930a9e4fca5b02b2ea1e155093dc56bdc8c88780ba1ac9402fd0674ade1621e0aae1936fdca343e6a05e791147150e06c9a5720c76cd7f1b6ea0e02472deed435d69081c57b88c33618bfc31938fb11e5d1e731e1ac83b24c15a32e3c4becdfb839c5e737d21e3321bfd607300b606ec2c73544741536cdb72b0853da920453443d6efd99694124b61d312e11a8bfad436df14d04f9f9fab14ec474c5df8f81f4dd1de24ca5a4a74880ef61106f1218b55df34ed85ff1a6139330c8df45b047fa3acc4f3b1c896cea3a979e8dc5f58ee34c44a82dcdfbbdb6a42e1332579399651cec217355acb55e45f8206bee4e53e6afc6811704e3119e191e3be8182219e8543095cbc639f1b66b4cfbf96fd3b7d02ef6f781b18882e8dc5ccd684d330141029a9d8c8ebebc3a9e49a7a0f21facc94ebe64cc538d328679f38b06f31b3c5996729ffd9d1cd95e7ad33e7c5dfc147c3e75cd9dc417a08c910fdc3041accbe5b669c649502e16c02b78729784d08e81e0bc40b4590836cd877f80217e23bbde955d56176372221ccf1f18b1bac1f5c150b0b4bd764206b7cfe43716f4bbdf7a44b4407278bd849479865a581812221fa56ec34c30a08fff4045853251a12f48e9bc4fbf58fb1cca7aa68b5703ab6f6be834923c933b2b467013a0e6c156f417e14ae817f20a18898db4806465980eda6f166dcd8d8e36f8a138a96d65aa739a4c3ffc5777d1303f4a3c44751b12ebf293df5fa49beaf657ea5e10c06c5160635b5ffb0b252c32a2f0cf448bfb934d099fb450de717981befb8fdf24fa711eea66e3f670124b68eee9c7861e3cdd3e3d1366d981a6362563dd7cd1c3f87faff083c39be3cf2f39101012bd105715f36c34ec8d6a4bfd35ee74a813e4fa0c98c077f6c9f2ebe1decc3b2455f6b2e99121f6b1478ca45d6b2ad2903ecf2294741f80d09076c447bed7da37e3445fea133a4cab5de5c4f7b46abb84756925f3e1e1a6adcad8cf667e6521aaea32d8fd5f423b9ad7fbd6003ca6d15d6457f31720d5ec7833e58866465d89d807b9bf71be745241e6dd2a179f5d2b6ebc9b92ad0a86a7c64d6fb15ddfaba5b030ed94a0cde4ff8f67282b572fcfa85072a3f1102fa710e60e4f59e906fa190ead2056a35efcee0d74d7d6f3bc05fefda6a43362eb966944c23c99810f0ad6998427f33c0e94388ed7e677dee402c48fe08409bb8e7a2109c230f1f0bbeacf57910d5beb58d1d83c10e55454cee4de633b63fba04904b9f796fd0d8428522536c50ba8ba2997b43198ccc4e3009eecbe43ff652e3e17e6cf0e9774b4b8616cc9bc30740c85fd04bdeb181aa281a3fee92bab269fe0999d85d89e8cd1a4d1682ee873de633eff0f51473e0e29d625c2582c2d67d941d6a80aa9eae47bd8b1c147601eaafda28e721082edc8724e3a6ca944f2b96286035fe8017a9dbfdac05d0602037bb330ad2e05aa6ac6b771a836334a7a8eae30f8a0caf757b74e63c995fdbebb159152c7ca7105245597035258bd9b031bfe1951c688cc224fb3ba8da6063f244cad38b8fb5db148dcb838eabdc402572bb30cd8ab5ecf9a220c513f6d45ae3472e04779776b014acd812f48b1356d2c8429213b0204734338d386e29ea394fd856533c1fa81483a3acf32cb33025373debc7d00c8d5a153dd3e56f5069c44a8ac745cb6d1cd6d0a37ddf4816bb64667da38ad6c75e246ed358e539febd606bd66d12153ec3d223a5ff15f74d7a46319c73962aaeaa8cd470a861782ec3de3ca235688a99bdd8b234e61f6a1264fb93292ea2826e3695ee16b6c57e4287220429d2d1a28c6dc8b5a0b50117d23b0b5f4df498d3ad61ac6fc58e398a9f4093b5aa92e23a1a4b5a34ef93b9662e60baccf9bdcce4c058b80469c01975c6f0742e7cab07c14f975072533081a312d30a251867341f0e904391252bb5cf03e9cbc9318e2aac65b0a69c506b7f9e8ad7b9d19ebde74801e0526a2bc03b4821f8cec964bf1763ba94930135d589dbbc63a048c42d79ead50613135278685f99a38070696a4c8e88985a9a4c7fea3e23bae77d287db1281bdfd00e60a5a5cffcf7c29962604df3017c8b4f4fffaf1a27f2d353fca7c40784219c8e31c06ac628257dbc3cecd1341cab153109fc5e0df5e89c0996525ae5d2f949876a85e6f5671e9043c28920f46f5c778490cd1ee733ca3eddb8003abd82fd6973a45e338b9091f472ac877ebf57161b9afc4ec5721a03f17729c95af786d27f02da6c53f43d339e313bc11aa483a354fef6e36d17508bc8f22a98f13508af80a5f136248cecd3c34da11b2ebec4b2f135b66f3188803b840eca048a559b33b842d340e489df31644ec53cac0d10646d6100f76e3c6e074a13e4194796113a770331bb84bd00fdea57433ed74849d90410e2a2913a79d642103a3b732725d6e7a7c02c4fa844fa4866aca3af7c257cc94720fc032eb482d75a27ffd5491b28144bc2191b2db5d4e515ab4c79c55af44000a821f02c31621b0efeef6a4ef945c59ea4b32a6b95b73bf9a2687a3d059c9cb7ea1472271066892c4ab14198897ae910311f0f353ddf4f9e8177f8bb10dc0a64e0c9be776c07d94fa788718973226077dffca41bcbd57c0cdb2cef9b95ddf7beffa76ea663b28225b382c11a8f1a9a7fb3d1ba4448c36aeb55e7a49adba4992d057dbf4dde3f24d208e0611ee7e15fa715046eb32fede6193f64356da54799599a582a499ed2c48182d9a4f208931b64105ed27385ac1727122cabec3580897762509a7a5e5fe4c3bf921bbf2f0308905895c298633dca6450cd9334708b3c0342c73e32674530d6588a7528cf2fef4077597d18e2342b692581d6ddd977ef3a7bff43dc0c5078f38985896f6e6dc753bc5d2b02d8152097f62fb92508bc80bc556e5295329a0b1502b4fccce062bf1166e21da5b1253c0165fda2d31e6d80b7e68e4687ba90acbdad5a8af67b06bdaefdfead0deed71d318805adea6f641fb35b300b9f79a8ef3822463258684e0ee033b5c304db81f3c104fcadc7aaeefd80b8184e2d016440463948d35058ba6be3dae282d096beb6cda140c3663bce15aeb07fae784de1372f766c0ffb2748fb1210f5eede51c67527dcaf5621d225586c17554bc78d367d70413e2a1e0cc06bebfa1fef2b7a971e08e50087d0266a4da1505dfbe5f639d29421bb7045712a603aa65d54e9070e4d71fdd4a14ba92681a8aaa0254b198dd5095780dab36afe8e6e85289c67740cbbca6723ee55173b1c36759edf969af04cd52c05480573f60ce7c97dd97b64e3da1b9889bde260d1dac867c75d365476678c33a4cc2adf218a1d469af05e821cea216bccbff7ed7ce7af028816181e01eee51a9f72c4520abb40a82bdbb8b7b69e97b92c0805555a9052f17a123ff4a1c797be25a661cfc8c3096dddfb987022bfaebf169bb7f3d83b9e66d1999bc8f75df07be79b3be2f1b69d8a5d3c4b9e3b8388ee06bb5891374c922a99f597729066efca97d709c55b9dcb49384a2e49c63e4c83c3378b8cb6147405d2998d113bc29909ebb2fe97fbcdeedfc89d686763bb9a43476a2690600a3cb83858f9198c1b8d5969dd534e609cbf3da0d311c70896772531a53f4e8329b2d8fea575831bfb77283bd688dd6a3004438cc10f0dbc4f5b982fd25325e16b530b6f3fd015036b92e166b5c38238211b81e8f7b92aa492027bd91fe3f8d879dd4b3220c4738fdae0ebd462f554eb1a51987988a130e78c40e0e03c7df1f7527d87899a1fed1ce4155992c753f7b5a8e554b99d14cbe36ab012687e89fe01a87e250bef650611d2be15071119f9649691eef5a147c253eb77eaaeb53d44b1e354e0b5c00eaeba91dc4c5eef389fe861a38f1f9dd4262cc2f85351b7dc1b8dd740f43040c85c5fcf4b3316738c1bf0d31960416a6cab54112987262ea54c06ead156de660559805558ab110145b2df2a601266991f00c9e4dc7567d33834a13a156419eb1cd213629b3ddebe5dce71212c4c08fcadc22ee78687d465b6908cd578729ba23f326c7f02f68a7e567a5c07effefaff4bdf726dc90d37e1f3b72e8332d3ef5016fabf5c73c384816e18d175d718c6fb5f702d39063ae9b92e05e1674cac86a7c34db1f11eb9dcc0898143d8a66e8ca343e4a3f20e593ecb311ac06a36c4e84068de483794bb0fcf516bfb291befb6ff7af518219d6bff8eab670b42e824610522e805aac17808ffeb87ff7bc135de4eee0fd200c4344fb88e4c178fbe517c9f2a4919dc2a3f3c68e849e255106cd5216235fc8d6a0ec04d9f4765c7c9f58a71d2ea63b4446b5ed4cdee274a224d3c4ee5d5edb1b0a7d4fcf7234e612652e06c88f670eccf15086f1da39dcb273e1c0e7365b7fd506b14944f2a387294a3221993e60f0a10a50b662b886e199d3421d0710bf08ebb40a876de217eab4222db41590f13e7660939173606158d050d3d3e5e902b497bea23c38b0715033e0aa117fc2ac13c8f467a9e2547d58e60a68f478b78e6ab7bf8c963a0e708a60cfd9cb5d9e3782bf3cf2449d0df555bbe8fed61c7b55e56b056ae1220e94e13ae292ae2aeb6fac9ab5c5b920889dc0c83d2852ecd25ee82227d112a1ccd356aba1087f72f3885d302b7d302dc44b61483e0d1a692bcf68d96574a462fe217f323c5d88e76cf792fa81e6956800b6c0b5ef54f596dec633ba322dcdb6affe30af64f39bc4907ad4ed4f74e1a067fa82f76fab1d05f0804124e65e2afb43cf97c3c335fa71b7efe743955a5b5910c297799a57fd46828969f8c9690d4e2f102aefb6ea3acd049d811d977827b88ae5c01319beb85ca0a9f3cb835733b8945ba5fe50c23a84864800c87e9e26e3271612006e057a3fc38fbbe52bf7db6bac81d1c1b6c1ec9d12d09a27ef91546cf9f2ac6354e2118bfedd3fcceb77c6aeef1abc9fb985770980d65dbd1b25651268ec9826f979d10d2c9f7b267349c2a2afe2d3a799472a1f555f38c8ec67cd153b3ba55cbc3864fe8bf4e8624d9051fc4270abdf759e1cb1ca09374a747e806002039acea004ba5cc557d04701871c4ca0c5814c1a5912c5ba11dd66a36ca49b098f0d16a1a067f3e5df1c49a6a1ce5a82851a518986d12e0e207eb73c94648ff95437de11e49fe8f1f99f2858356472fdffe262a384e42443cc535767ee5aa223664cd20254e8a26121329fe22b0f64cd59a4b4558d21568e8cfe22272163e3d2af3805703153fa7b252ecc87e2ed1f807d2c8f1f52bd46bab665c207fe031f943a2e48e688c96417496a553eef8ac31d2a284f579464ec7e1e863a603fcae6bda14452a6ff6ea9efd2b83036848905df1382", + "32bd8f68ec7f69078469111304bcf83519431481bec07ac9baaafe37dd63dca2aa6a07918d6da72305a3104819759dd829ec38ef1f4f2d96325a1ef4080075dad795c9b99bc0170f3d9868d11edc63e47e3c5bea097abf2817bb5c0e1d682370a22d70310d73280d5b50cd197492ae15176e292ae2fe2e00edb69c55817d5b6fd6eb349c028d35478edcb877d5316cf53d91a91e381bad7c07f015bb7b5f5bbd5047e51207ab93564b2120d34c524aaad5ed7d6334d22971eedc4ace2e319421644ff8f0b072f083e7440dbf8b97dcaa32702e364e481cc7c6fed8b50bddf67165224516ca8043dff05c6a9ffdbfed302ec8587866937ccde5633787e4e2755a81562acef00e150975568ed07a35182c06c79ed2db3c738f4a14d0281a1e649dae9d6b9c13faf164c4eb24a639fbb382776bf5fc01a4ff8273bc8e2229fa421a530f4f625e6ad2ca3b3309ce6eb1b090796771606b41d7a875d62c895937a6f5b8a202a4a215a72977a5ef7a90d63c6be8c4acf2f468a2f67ce26cc13f2d1d39788660eddbea5dd1ccc07578fab26c0d15f64294f8e51aadc1face02f3b990cb49b5898388664dfd0d20aa9f93d0a8a606cded780841bfd8aee52a4c9f701c8461627f94cf4e501ddb23033cf514839a23206306c5158cbbc993614bea44e00b8c927cafd1df01381884bcf35827ec7903f6b6e9eb1c6f6e7e163b5aafd77088d59379437babf32201c99583e65888a06197863fbd2cd814126905e6c4df6a4a4217b7d31535448cc9cc82dc5c3b2d9e939c3b4b6edb4cd2548fc94a2b94cf5c3bf992e5c4b911308df9fb02a4f3bd2565b06486538ffa08adb77fc650b51a3c5d1437a09f8ef2ad418241e9d22e1054133565d13eed0095cfd57364ce634060519d52865344cdac47c5c5c91c3ac77ae18d392146f300fcbd35f61126868b13763eb3978d318f53ca31de3c94449bde5eef91690e1a69d6fb44ad56edef2f8659123fb7022346472a6e218ca641aea266e6e5d582147a2f8e40d0689abfd150c9228cdf6d994ea3d211260a8c6e7ed60b6710babef11ffbd7c0c7bfd6c23f8030164341158ea10697c02855b827561023c20df47c529aa71fbd242425ec2c0fe1d506a0b72bb3b37564390180e0c2597b91c4ab07e02f5e95d71279cb44c01bcc95a2f2cfd095d48e6501ebef72e0696702b1d86506be3e53ac548fe2f567606f0b8d6b9dd0e4cc0fb24d78c6f5c3e9bc59ad74ba7d0dc92646de38bd6f9329cfaf83babd3f94752c44e2e1a20a7c8735d1adf9876360e5916b16761a2e1eb6359870e521099da05eb535b008fbc519aa03b030835033e4d529cc93038eb836c85ca1d61bc454843f0b32992c4f155c18a5cfe15ff5a07eef8e64f741288e8ced16b372d41f82cd13f285a51209a80d7612ea7ed2f11d5bebc20fae499612a9f92e203e49de1fe3a5a8caa9b27f49de9c73e4b7206f87142edfc179cefdc06ba50b8aabeb06f20e6023ce71dc996b53119e6252709b0d42d4abfac576ac907d31403dc260d76d7ab2c6e3dc25a079878e543abb7238f5e0c178388075d1a0abe378dd46e3f28ee782ca60459ba930c5e4083c4d91f4e7538b85e71bb5997c748719ba412ca291e9b9e93e3792dfa471652b710e86bbd38d4c147de34fd1ab283b6b3d8b7eb886b7306137e8c94ed0b18bf7cad1e829186ca25d91bb60af412b37080728f94f8893e6956f99e48cf032eb1604c6ef2021ecea58b87b2673a3f7982ecf16b372d6315f0613dd8b964f5c11218853f0db2f4c12d990386fedd53a848270f9d16c197f48ea850ece23c9b892bfaba8aeefa9d8bda3e801b186ebd7588469028406e0e2605bd66ec849c3269b6e6356ba367e8915d9baa88fdf5d8e039990b858b956daa61faf19856721bc4780662f698cd0ed03ca4f4468115c2c1431bfa187c7edaad651d6f4b361939235622650c1287aaf97dffe04458ef2d10070293cad2ee1b42e405bf3f8a18158d89e58309c37fe6616bca374f89a7566d914cb5ebc32c29141d38cceceaa28bbb02e13d5e8ce5626e6742c54ad953ec5f34eb15e1fb92746cbfdbba531e5e2d3ac6725a02d17007d31d1c7ff2df57af6430559eefd0e814e40553244b8a4a4e31dcce5f5688a7407d262dcf5369a50c964b56b49389d7aa15c3cd40191b21a1faba10db56cf83b2b47aef0944ba252ceb790f52a2537b6d9935029dd9c78631c999ed03c06e9bc608d4a87aec4671fb361bd631699270af5c6304e0fbc309a4d46175ecd1ba5fdfe9bc08dc3745b27af2cc22d67043a8c9d2e616286042cd0286b66de058bf1bc424f035a07804364dd03f85e3353e218c871f9faab4e276a676d0bbc1ae56750a56901b46a65b8d0fe096e571e70b9007d6f2a3c138b49d1883f0d32ac3956b94db4955f638f99c131b7ba291075e7f14692769ea03d8a05a64f68dd34ec9e39b7685192715b3b79463ade1c16dbe3522447078684a50264b26f79f9c6bdf1e8373a3d161f91962f5a850524bff5437bc9b9eecb657141f91aeec634db228a5246a9e2a2f96c005fedcea91bf8c4623894cfdddfe606c7f81cec461678b72cb4542715a72e5790be4f0bd62f36d6d2a1182c19f7832d9dab663c75e89f2f84603e9a172db7d89271ae0cbc7186c17a71204394f63294b540ef407d4b7b83d087026976b3e4b2d3e3252a6e9c281704bbc21333bc15c5f0fd67ecde2a13b763dddc1b6770c28641bafeca1bf333b09d5735b117bd3b93d404afdea4a35b05e910985225472d6363b481adb11672b6cf1ac2e8a6b50b04b355ff9f15fd661b36b8f00a9af9775c7c6fe44fcfc33bb73f702ea96d647cc6758edf04c77e209baec6c2c99bbaf14b43f100e920afcb470bfa5d638e8938908131cebd588f4591f846591b5ac53c32ae5809a807d57b74f08d949eb55f8e21b4b0b6007600a541e0aedbd027727592b6720f4275e832da4a488efba1ca4e94ed3702a2c978c656984960c0893b911aa7ed49cd70d543894eac675b2d9a37659cb89aba129a285323f92918801987f2d87b8c328005ae3fd99c48c1677f057f3b4eb9ed4375ff2cc0b34049276a9007388e0eaff0b20a7d209ce1186707e7773bc95fe97fefc2ba6a06680dd37608d1f76e91fe0a5fcf49577058e4ee270e6966c71f482456b31ca90bd7b43c3781a48eca3eb0689c3a93e9b258d25e49861e6a37e4de6491f6e4924a9fbc6e712fd4aeccdadf5ebf6dcfdc862e11bc52ee047460ed3d0bf6d472500b03762ee040ea403540ef4ce2495e50b64c0b541f7f27d14a6e6e20a3089ef309ce106504788a40fc4ab08a31608ec5237409fe59978339c672ebd22da9af5e791cb41dafad39e6217bee14f7367618e6183ff7280fc9b960871418b2d249b14879dce08f4bf1c1a1150672b5ab73002064d9d2b39941244c3d892d9d901bb9903aa66f224c2944b185c4a4f457d07f9587e850c4a0357bb6d64f0d3ad5f77edad72538dfa9df8569ec6094b24e36fb7a73938a13dac36aaf5813bfd5106e8d4064b9d82b45e3ec7caaa743e393c5de2145f711a6f653ad8de4cca55d9a8c4e90af42aaab37957dd4c9e7bca090dc713820e2395cf884b00e898f5196a8ee68ac822fcbc1a02ad92804d6e01bad3c337e3cdf3050da13a4cc0e5e677d2c225f6a297b4f077a90f52869e548b939a5fdfca735c2d0a58f279e624be63b6ae8ea3e5fc992f821ca38a5f67a05e721c90e79a5192bd6758d3d126ba9646c571b1a9678ac57975894f96f0ae17f0e2ad8cec39e8bc7de599e46bc05811360150acbff1d114cffe1edfba639fb63a1896cda03d42e6cf8fce4473426d92377e23454e8f289c01882305ea571138ae226d7c2951dee3b41f82e00c2425fc7c0b0bf925fdadc8e9abea6464ff49393539495e8b2b2b60a46a256b07b99a961bd11acafdb4235eb1a9d428296f068495861b824bf3be80a7e58dd09062d8141dba93f4b969a3a056cf78c3b91f6987262798045d5e72494bf3954bb56b6f9576ebeb2a4085aca829def1fdcf8a34140e859586819f7c50ef6aa4910c868de43f1c510fd6c049ddedd62dde4f6efbb83959d0a9157bee03c782b0b6e9e965bb0628e0600531372cdf27f510f47f4ec377dda208d43c5da5a0690498ed64dc9efb560295afdd09fe1fad5b1867a44cbde8faad2da662336183620eb7cec6d9bb09e60dcf67d332f28b4b07da39e25ab94fe074bd4919673625de5565a83ec7e42dcdcebe3ee5bcb1d52e7db91e1ac1f76359114080bb4e268d243906cbe5cbab8fef482732b971c4052e746c7136edba055dc6527e0516f5999c05654d28f4e23b56fe7da84d690ebc208193c6859c302346555c76f1e5f92cb4bc8f95abb2522d25a9b31387f3b3002d4c9f6b40d36d19b31fcf7715d9868513eef8de50afbd4f10caef4edebff586250b9965f8414ccf493a5f4c81032a0972c7ee33986cb278f6ff999e8f7be77795241a0c801966071c8f12aba59d9011f46acc1524b9683eef30700f8bab89a9c3d981e61be6d2e7b5227539d0c0227d8d1583e454404283517c2f4915c3612dba632ff9ada1aeb3ae94e9ba31a5c6a9fc555a8b1772fd2f2c7664b50a021f3e7174a65c386278ca670b398afc43c5bc79e6df61766780b73e0bba811fcf7c11541802953d01289f315fc4d1689f27e34ed4179ece68e550357a0ead1c34b7bd7b36d4fd5c812539877255ce67c1f561d58d9389eeda415d939bc3ab34a80e21fe9c6838b751130ceddbd412f8faa61b369670917b4778b0c0244619a6d483466a5ef85ec76a8514fdb1ac5cc429d6c6d6e5904776fced03bb677d9c3929fce21e0cd0f161d6d2e6149f6653f97cf62e802212ad1c6207866ad0fe6261428957f9aa0606262db22ca6490ed5930db5ce49a016265f12ea5262620acf93dc0a22fbb8147d92a11e6ca3999e0cf6d7b2770124db73949f84556ddc3008a0e27c686c40b8f3eac972a4c75a84e76dce3f917f2abe9de474cce9e6fa11711411d471971d74ee7474bf8e612ee769ba9878384f0b61a98c6c62f27dcd96398fc04883cde133d86e396b28c08443217a14efa2fc801cda336afa7481ddb71489df94bb8b432240ed0186511e55d8c03397306d8b67c2fa79da7380a866d40a5af26d5fdaaac09f98eebc69b1b4c0d339115a25c6435c7e6f8905406f0c6dba03d54f32e20333c5c2273613a764a7d594f967f9471a206380ed6f38997a55b7a4287d4f2b1cfd6c15c188b55696b90d5625ed0f33a9dc3ebb89e085bb7e295236b2be0872ec037b43a64b0896d2daaff9058d028298b7aca6a1053cc500885314cd0a304fa04e95a6ee95f859823c1a17808903cdc093c039b11c78108ec49a1af11a3188d61c9517f781745e32a02153a1f9af4fa8d7db0b3d34268c129a2c5f7b72f07342d1f3221037704da06235a6c55c3bec83b705087ca5293765ef24603f36b9280efa3c4683fd25190ccf2342034ac0fe5813ef2aac89c06a0ed565d2f9d590824a09ae785e581628ab9b0de009a736a3939bbe79c62111cf6a16fccdd4f1266017f7e68cfe71898b4ddfcfc58869de822590b124ce4c188eca36087b5f848fa8dc1b8178b943d8096fe3a94e24745026ce50f62632610540fcd8c2db5b9cf714002f8db11807f008e719304f269d1fc41473d14d97f85bcfe4c797bd0529fa8450286284fc57e63f4952e73f96268e7a413754182d5ccfb1fdf5c05a0c016696dae8516e8", + "a5805e7be0f124e2c5c48efd7e5521cad6979141b6029c2c983459bf876ec4a1fbe8164072c5df60f05cceecbdcfe3d537dbe233f35f1b4fbb89eec5d4ba3ce68ebf3912be50927ee0f1e34f8a376150d622991f0c93551d039de7213cee59d8d39616099a427d86fab6311cadab54b58b76290f04589efdececd30d8509a25af556af9b15fdc90a6013933f89c26b50a4386d3e98f4e92468f43c488bce0c3d509124daa2ab2d6fee9466cfcec9096e78ef4b31ccdc9a769d5c04e4707799a38a044a4d597c5d6b6df4c192650a2ef51ea37134dbfe820b825cc015c968e2601cf3147c9e2e0c8114f6e5af51161051a29ae1b7818751c0b0850e707ed3ddc38ad952c19bc754c3d001e9348c7ac01bb1441c959ffca12a1d0341372fae586d76f339305ec8a1c93b49b2d33c2f595fb76d7cab39ba0daf7eac8b53feb3171373faaa2c93c1b29df5a290a20b02fac76d4d1b93e121bfc313046af2f7b96063bc2aad934076803a8b611b603d91bf3fb2852b29902d4b5e0c4201ac346bae432a9b8a57e39a0d1edf82ba7cb6dfb311458aa97b7e269c82ca9479760b720345892d80e291c23c86e4491877932d2ab8a199c60f84fcb3d3fd984e5a93dce7d3915416036ce2e3440eef6877aa03df08cfb8d77305d65f54525dfe57397059606387d89d7752d605677de00b5412fad9e300d16fc5cdcbbfb01d52754f7aadc52561b5e9ef5cedd5eb6f0b3da6f5075c0549cc7092c205f04a8f7008e994b268f118a83c0f2f41aeee9cfe3fdc50381e43054035b3f8de446e1ebf1e18a814b5f5e3c3a990858ab71b546e91a15f27c817dc95e8fe19641dd326ddbe98bb7211a0297ba09e8a00ede828ebb4fbd1b3ad667d7e58c48edb6cf18c693df5858a59fc3bcfa0cde29a50bd466aac096b906795dfd7313049b18be238812cd47eb9ebfe6a86641da68fd4b795e808aa539ba0090344c8a8f8f94f964d4c30bc2b3de337723e8528c7b09693b972f4229e7a60f5a5b73096f04fe24a94238cadf71e8dadf33804fc9070e78035b0e273cf2a5e3cdb935f19795a027027693d50f43dec95e0aed3590348e18318ae55687883a3a55723cd817bf344466fb849d05e9d84b48100d1f4c591efee1d45dd31cd0db36b8656467fea14289982d12bdcdba0e69144e5e96f05fb8527ca95216052cd5cba6e6082b6f528d5da0770f704fa10a66b129dc2df07a20b06707339670bca46222ec9ebfa2f7c28658e6c922ffd5ab3388b1b6de9380aeb21c6801ac7ad7b1318580f867629e73fb4bf04a53316b96b1c89fab40b821b1fc1c51a6357de33b7a3b0d8690396519c7e25e9b0b25aa7023b6be84d1f773638efe833865f1aacfafeb953528ad22ac36bbcd1fa04ad197f77830597e294d3b4657652adfcfe2583cde2f1a2e2b51c032a54952ccddd063e21cac394b5e26e1b0b3d356bf95baef53c2e64de53f5b2b3f30bdfa009872680cc43011f137e57b7471029112e9f7130e20a3a95ee7517b16295f91febe284c2624c81aa2e29e759298abcb169e0f4fb8cf1b6c133da86b760fbbc1c1ee071c73f8ecd38111f4efd1b7939341bd24f91bc669d0d1500c595dbdf948d7e545fcf82beb8ccb1d4ba07262d62c7bfc17ed4d09db55aad49f274cb69d4fbf670557fb224dab146b3466ead035a76a659b5999bc6117e9e2a8f606e596a4b813e68c28633221c08b6e00989656627c0fc43fa728e8385335b8750fe9f5c1d7aaa47418456c963ab29d3a14399832fcf246df02d233651b03922c64fc70908571ca04f013af8f5a8405b96e8520b1d5f762278a34b5cadb99c6ccc5bcb42e7eb987354f28ad13c969d31ad94d38f94f36fd800844feb18e6daff19d53023bf99f9b136fa76f99c429eec13a6ca39fe70f809c8ee734fc89610b8073e86f79fc7312cf31137791f2f5d97878d19d37fa64e70a1f869f60ef47b039a0205b8d1d9f1b4b2399c13cb0481d536deb51accd7b63d96ac0c6517c0d00948049b70f9a25df35028cff9360cc2b38902453a2feb46f4ee737da5e4af289bed20c2f6ed5fcf60bbf48019b318cdd61755360c63b91a4313fefcbf48ba49a6a3d55832c162391e72ac2ea59f3e51748291c327cb2b38f4b7ff451e686bc99320d6a7a624e8ef4307fc0741f58d3e18fa90c19a231f716c2fab4445f062da1dc93db64357e8036f78cef8fa551d70d2d3f2e74944040993e154b11fcf8f9b526861b43b2439d66b9ad8493c041a156d2566a85825990f6f98a8ca1bec4c300ac8a7bb5a9eee1f8bc7ba52b5c24fa2aa09f08946b9026f671b128cef1a19b453ac3b633da0798b55e1dc07bc23adcfa1a2dd19def4c2cb98e05742c5be778519f6a72f9a06db664108e6930a4066cb64f37cb0eb027c9f5d7ebd29d0643185226050b8ac99450bb2f9f84b3fff78fca56f3479da226964ea2977a13d6d84ae73c004792fea34506557fc354fa795781aa3245258e0c548b5a4fa525134263a60421668fdf7bebeafa161315a1046731bbd8cbefe7c101ec0dcba3459106517ba5922c65d19f8f64757658663db33564be86b3953ac6157002e05b86de8cd5061c58449013767121ef0c3d164758bff739d4f8bded53c01f8a4266d5fd0fe3937f2bf22dd05cc7e17eec825d06cb9a26e17d013528d804cde17b68fe228c31c1c4948d0ed23d0c7528c1b421edf9c1e3113b5485b1253e2f2bf70ba32e5d1ac7c27b6b3900967737ecaf260774d14c9f1324b10bd79813a15a2dabc64d4c83a7ff02800be0457a203469831ee8350d7d9d3148981f5f9217a4439a763ff7cf0ae4e28c275336bdb3ec625a16e779cb0cc137f7d019b53f436278f743cdda91f450cc99dc24919d4be99983027ce46edbb27b45e4bc76c175b56c446f56ee14a4ccf3279c38549c2dae22867acd2580582288ad681acc4e2d544df6430a6a845e4973b392d3d4bafb5a5b542a2dfe328e589952d70eb6ccccee5ebec52bf6c16b0554a33f29ce7363535385edab48009c02087affeca2f667de04039e23489062b91d1342eb445bc4f42418c126dac4268ef0ab6c3dffab678690a007e39572ca8c177d836f1e64bebeb3e1fda3cfe4ebd960ac4ab59343ad460436fc375958bdfb72d8c31e5d4a2c47e53126599ade4f5440c4c1027cb3af2fab30d7af60e8e96e808b890fe8e3e1438babb7e36fec250778c0dc249aac57bd74fe7f772dc8c4ae10d24c54d66a094769f93e77358cce7b5669e81afb5cd2b46791c689edc6925d49c3176152194d3d4c8044757a6ab4ef6fb7067281555b0bea1357543c60961df21601cbeaa78a5f48e48f3747b9c89013e1e70b7509e90be9a4347acd9e11aed817f8bcbbcf4965887d52a819833b485fdae03efe3c2ec68e813820447230b513e957e3ebc08d66b794cce5f198ffab702b72ac40107b5f84d420fc23be2e107eebf1913b278db0d6af15e98ae93b873ddd92629cd66010140bb5d6a6749f622dee02bacc37fd02686314b48b1eb91b12f008c0384e013089ec1a6756bdf8a5c0878a9ab30b7bd26da941096a4f71b1b73cc8414d255b2e612023d37e9b4548358b6fada3b36b29198194c72eb59c0736c91f9c39e9d8c7379cb8508a087a40359d0f05d4991c4d36dd5d8d377d53f24392154b2db4559529b6fa1ddbd357b9a6679b2e75a24c39df93f53133fcd5c8e4ef53dfb4056ba88ebf8e7c051fc3fa1cf879c8d602f4e58ca405814a5b58517b0a1bc36f366f416fd22bdfc4cc612aaf68acd838ed9212a9056251f545ffdd1d11e74e985c5629da9128590f4c431736f0cf5d50a88adefcc4a0c727814706fd924fa55746804953cde7c0c5991a5c9cc1faed1ab240723436e4f51429b75ae688c201d2e3823ecfcb3bb902532e45fd0fe1f39fc10caa5a80b2cbe031e3adb33961fd6831abc2c0b59afad958eee9e14c0a65508784216414bff1c512ba9c56fc8457e566fbe9a50e67f64fc66f53aed2622c85472b55a9547610eaa4d61a6aa798f8a39abf179f15fb2c268ef3c98f23520be1235e1eada8565be1eb48259fa045090da99dc0c89e289bf3487314b58740da3df238128be0914607fc7f29b7c843f9a500a180e4d25819fe13c67f9c42c07789a3bea2f93e0214e02a0594d02db485855e2d45a29027c5823d9a79fe4eb7d33c87e55da67c5a16cb881456ee58dc829b4449dbc9cc5146b477754fbf3433b389266425d6290696148bef8e0bd1a1536e827b6cf229a4023de9caf2a7dea93dd37397eb090614206af33c74b8ae2eb96be49431194750ff575e446cbf3effb627bb1b568027d15e3136e6a3f70d96ea1dccf7f2a7f9666697a04be96e5aa101df1e83ec7d71400574ec009494a3c71878567c9d73475fc2195b8eb12eebcf9cd61d9d038469292c95e6adefe8921ec3ca2a2a52e8f6343ed2e8a8f871426e4d1d85c73a8b42311a4c048294221cf241528c8ba4207d5a38d04e8047df54a0d2bc6a190ffa9821f09c648c2b6cdcfb2e8b33869884330dee10c86e101c1de368e778242f499dae643aa7027491cb4992c9ea3ac6a55e6b4325586273e1b09339ed11896a822d27e577062c0b9c6a81e78d0f4688a643585add96cfd299dbb3ba07447b4b48060a00a096299f3c1a68fcce0fdf5525440900d60c6f00512eca56291d35c2c87a957424f4b2806a7b6b687358520db56e59b8105c6dd7973dc9f00d0f6917e0afef879d62c657df781cd3873770cb533ed4490de0ccaeb24d38053783ea3f701aa9ed39d4f8878536c39e1ce4588ec25ce6677c68b0a7a95fba7233bc0c7238e76aff813e0820e8213f5becbe5a11508e9aa07bbc0e74005b7af4e60ebbcb390b4716ee7c1b303417e259f80ece180a53f817e8d6ce2840814278e2a30ddcc4c477019787a0e18ab1cd073373b1562985ebdeacaa7ceaed4c67789b5b7e190bd432d2849e05bc485fe22a616ce200fbb39285b84ef2266faee664a313e19c9b5051838677e4b67a237f96704940757c5163fcb0ca10efd2d2b31b273905d8ca3c5277e3292d40b75ae5a6ea942875960a02202207232e5d29ba4fa0d75f569d20005e36ba3efd5ef2a67a7f76ac317e2b73d872cda51baae5779d470420008e1c26a6454c0ccb275a86e4dc20732ed23715f57216591a4b0505de2c89c3d1c3b35785c51417e4ce4cec58104c2898bf388df3261a904c5559828b0b93f4b0532239d19f2cd925f5cdbbd965fcbcfa96563f51596198b89c50c91f130e97174d1ca86f2d969fca7e78844329503d3e7cfc62fbda22267b37727c890a58aa0298c39fcaf8cd2bd4165e33771d04dd2f4132a1aa4fec3a76f69ace3bdbbaac000b912dfdb9f9d12ceeacce4829b82a45d375026a5cd4edad2b05609cc68196c8067305a97b5a35905d84e58676e973394a8b598236b3a530ce70c93c5070401cd7403b3fbb18c32c189831e76dc64951daaa4644e5f3a4cce561ce3c9d6681b84840a26eac3150509650aaa99dd6d0c35a9a1385cb38e03cd29d30bc908a14cb92d3eb25934702ef338e8fa29fa953b3495e6d9e9c824ef37788905b004a622a8d41f7456d93060aca59910635e4d0429e777350bb34b6fcb72ff2ea501ef72685e9cb773c81e06dddc3163b4daf637658f225b4f0fe21fd1affe861b5c06d35cacc2de7b57bbf7c9dcaa2c148cf96bb9496f9c98dea0a4c67fb59933597043b39fdbf7616fa4d64e8e8747c0e7e29fddcd741fc969dd2107c32f502f5ee12c9e", + "9bc6793a1d2e709edbed465c19ff52ba7944b81453f766a344658fda11c645a904777c2af6b0da86d5f13cb9b0f1e52c0658978c33a86ad2c8d6d7f334c9b6572eef82d162f295602fe3d026fa1d05684acd35037e3ad74a695f0e15c65e7be17d6a258e979108532bc53f148939ddcad9e5eb4705176bb0b593f4a55b4bc59455b37c56a97118d486f35f640a76abe920c9c26167b7d22cc0f2a3fb0651c63be8c2dd767093dc1b1e10e3a9034bb52b8dd20c8d9106cb10a5b30d575b1062d32b3dca2bf930ab1715e50f4a2655c9fae789b5ffee61fefa4dbb25a4ffbcd64e19187c0d992d82e736819e076dd4e2db94c6e9e95741f65f6601598d3fec51d9de98091943331b0b900dacdbf5e5b76b73c72ae62a46a7db844019bed680aa0e46e9cbe104a8f7b4deccf547623767a253d363b473917222a24cbd8b6e234d37dff3bbf5de46bc69af0238644a8c35f823ae8fcef5ecf19c8a2c05e4ad1eb4937be1d6e078ffa619bd80aec5d1f06390de6eaad2218c54ffbe60660990ba19eb67474d5f63946c625b973632cfd3cea0399f4b94ac1df10a431c397439066d72101e1943334d44077a450453f171492ca6a047fc8c53781414658106cd45127b3943de0645c86f94202f01927f91af838692762b5273e8fabd129c2917d75053d8c07baeefca905cc8d312277dd58e777ec2832c8b134bb3e6cd5f84949f72395b6c994ec19177b83b347ced201e86474ff37c60d6d853d50de8edf593ca8322899eb0887351a60968adcb16a88d74ce5c9662335a4f21ae299d9bf4fc18c39d54dfa80ff2d785311596dd217347da2407bb845ed09b796c702a22615623b9554d6df1428fcad0ec86c98f045bbdabcd9d012f0feffc52ea1d04cef55600115446bbbf733d304828ccd14709b5ea58584717199fe643c65c44512840c9bafe0372917fe90a80d5f3f6cd4589947c4ca6a47d3dbff7b706362678d1b3f592b6ce97c831e4c21ca99816757c5c77d0f75b7587b29334685df8a55d81d246d5a0c0697d5914140d514d6baff5b729bd374c9985301f89b1de1951b617b0a3b70a117651e491c1df3af38118f107c13431665f65e0fa34f8c40a54e9aedbb807c029a6f5c469487e66f74dbe20d9202f2b7c3e119e5fe1444013f6ceb557d2e69eacbe6419944b40f7400cc0de04afbcef68d1eac98844b4a2ad6d26b4458e7498d3c5340b4c7d7ad34c87a9102c6546d43991f300144bf7b55f5fd8c92f8ce9e4d513ac1ad1ad82c45e7bc3d04043636f1bbb330a7822be5938158a97c5277ae247c75d6c1253cf63b6700a45ba26269c40cd8b5c24299fa0432f2245e21cb1cdcf218939bc4455f153accae2983023b6ef30dac5a35e21a725f7919a4701181178a23a32f281b5c8d8ed2fea49fb1d383c160a6de2872cf99e5bfadf629430c7b1aefe3417c27a5a1eaa781f761748e2842c8cd7d825891ef67e86540c2dbab8781d5e7364d56dab12a09746aec42150c90a6f6fdf9c9e480cadbe3c5272abac109c3d9dc911a4c7aee256bf774ba4e1cafeeeefe02ffb87952bb6a31b8550ee0fc32aba2236ceb5ae980d90c7cd64dfdd96c53c92979dd3d36e95fbc13ca4f8f85558df2e5dc6eb102f89914ea0e22f9a9dfd9ebf2bd9d82e5dbbb369e6ede5e744115cd4e7cdba67db20fca5c9c3a6363741656965c9fe253d5c9f4a08e24e5e03aca21d579e37b4ddc6e8bf21155065586504da7791d368f8b203b8c50db18966e41821e30272df7e8a0d1c356839d822e75f856892cd4de144b0d41a80f1ed53c51a7aae0801885c1821d0eb050fbc132c0cf206999da276911dcec4929a5e6bfc584ab0ad736d4c1f60ad1bcde83fe6c5ee761a5eb046727f5eff80050d16840187d5504436752681e5f951f0dfd1d72d3add7657676480bcbd6e86734ef844d772bf75309c46ed05061fc723b15f853ec1c1400596396b9f26f67edc085102626104f75cc61653954d9c161d7f3b65a74ee972a722c49dcabd422837c9b3459041e5df14149797bf0d4ed6f7f5282df8d0d5e2338f5c73703dec3ba8d65143a639139b98bd2c3bf901e552fafb0f21c7d6fa1f2eff7b09a9813c279b5345d8d703a106f74edaba74a11b38302207262698eab7ba6256f97961c0d6ff3247e641dc653ba54507310d5a857542b83f51dfdab971340526dcb782d231403eb48e03c7a5b4ed872d2f33147b5641af337e6dca2c36a60c05b63f33665249af51fed02576d05dab7ab9734c0f35f4387088697f0a0c2ae5c9d88f2f86bfc08f17e99978159dcf77241e364acc560a9fccd655eab5ea4894a0463c369bb64016cf75628af85300b8a10647822a68c9b619e7b1755f6644256eda3b4e2f0f2e47e1c6e00a8dc22ad010266ce8a8df10358344a672c508f5b3e4d8f3245feab902a9069bfccfe5b45fe48d66133a76bd30e8d8956c7c6ed88bc616751fc09ff0f5539d18c28f2e079ffd603353b5e4dc91c6017703a99182e4d0a781a9064df2f1dedfe677ff7572b4ebbb51e6209008ae10a0a7beab424e2fc0456d4a527e63d725e80806b3dff054d1321603f0c73d3d976593c022b2341e096562c182158891177a8caac62c5f6c2308508e3dd65d2fe2995de88d5649d161a041e2a4ad4c455293e8a0ea6a6bc6c36160587e5a199dfb7fb116cbcc71f9e8eb3589498ef798fa146865e8dcf552fbfb86347ad21fa257dcec74044f1c894ca62ca8e28d641ee1e11b625aed47c43abfd22c2e505ee9816c61d7e0c50ba9bb25921a4c98b29eade7ef3877d3a21e5d953a02378c3eb8a75e514a4a38d6fac925d2f69f66c4e87357f4758cc12d8c086f0c934678ef84df8bcf8c7c8bbed5909e8c750764b869d0194947c3bc874ae8e70d5d9b8e37fdfb02682b1e0e33aa458750f844554209c42d8544184b4fd94220eadfeed03d61080f551daff95ab238230b4f12eba6477426bee1e8aa53ecf11896d54e6cf7989e25212cdea0087fdda8cf578455e582f6d10773e0e8aecbba42a2803969ad1c396c77c663f64013eec29811f5f0b004952ba3caeab45d9da7409cbf0320b3e4de097b44b289d227489d0b0c5e8f14f36392fedaaf6008d54671e8d72bba4fbab122815fd3d49a25a3c2d85fb83e1645350d0a7de8046e74db6a7f2965d7ab04cf3625b5dab9c02f70cd6a4274aaf9ad4c453e70cf5ea121fc9d5b43d405166d1215c712c9a13fd9a0b34e0f97efe1337e301c592b533276b8ece2192ad05395a00b10a4fb76332acf3dac46d716b618be5dc530561bb5fa69fb2295f3c6bf47fbf34221bb335509e6e8a507fe3d7fe3d0176409fe6403a0f7321936c166b2bcc4eb190661b6add5c5e17cdc3916c8878800fd81784f5c60825472d58bd0b45f1a10044d45384793575b58a4d823774eed9bc45e91b04072b361266972ee0ef82dff917637c344805d17c941f41c950480c162f56ad772c6257f10a8a6cc495b56299b94d190104416ad537bd1b1d4a89d7519d0a7f395e138852f389c0959a13a510f1ef35ca560fb7a7f6c733542e18b59d191e57b3d55a8b53af132f08d719a0860cae66962246e8ab1d99cee40b3db0579302fc23fa41f0e16a6b74728b07c833f6276c\nresult = valid\nsalt = 8dec7fa5cb2bf9d277121bd42e04d963f3a6aa6ed54606babc4a40c210296848c08d79c03d018a3f71112dae4d63a0ff86cbe1174457f28946f3af58327d45fc\nsize = 16320\n\n# tcId = 22\n# invalid output size\nikm = dac05fc4504402cd627f18b35af956b0\ninfo = 8785200cebfad691\nokm = \nresult = invalid\nsalt = 1460e1e2a09bd06410ec04ecacb752b707d5b26a003431a7d67e51c5df028b098853d77c0faa23edc5b27d304fcfc85883cb8fa4cbc5ff32e79139102b8ebcd4\nsize = 16321\nflags = SizeTooLarge\n\n# tcId = 23\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e91cabd2038706c02f8ba3102a545f40f340bf65de30d3c37c2408f14df06e1a\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 24\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e91cabd2038706c02f8ba3102a545f40f340bf65de30d3c37c2408f14df06e1a\nresult = valid\nsalt = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 25\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 23117b38f94d22c8180ed72976a1f784fe591caebb6a07c1f0cbf8e29c6938ee\nresult = valid\nsalt = 329f445e7de8a156cf26a0208dbb028d9de6ef76b8de67ca634f4a5a732138a1bd436a7b345d7a0314c7ed0a00b0d34ecad2cb8bd141e2ecc1c77e237094d55154\nsize = 32\n\n# tcId = 26\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = cbb19fbb59b4647d05c57fc07778fe4a73ff7a0de9408c3cd07292bbbef08fe0\nresult = valid\nsalt = e6fed0037da957a6a67318c3d8df737bb52b62b8ae4f48b96ff9eb7a108865eca7cd91b371318c8c7bfba2eb4e8d50ff8c9e8e156f998c46cdd7765375725a5f\nsize = 32\n\n# tcId = 27\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb0536\nsize = 32\n\n# tcId = 28\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb05360000000000000000\nsize = 32\n\n# tcId = 29\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000\nsize = 32\n\n# tcId = 30\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04ee", + "f602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 31\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 32\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 33\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 160]\n\n# tcId = 34\nikm = e2865d6bbc1abf6a815067edc4ee7aa33c290d5a\ninfo = \nokm = 3e80cfd3ff6e21e810b7c3ce1d1b002fc6d0ab75\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 35\nikm = 8c177ab5f40e9c57203883562f01f174070ccd97\ninfo = \nokm = 247885b9b90ef2a8cd1e97710eb9bdead1aab09cd552c840df8ae4fe08ac153f0152b20c1e90e5d4e55f\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 36\nikm = e842a4fc1a147cf2f87de9bd5a42fce6457496f7\ninfo = \nokm = 60552eee83f4bd894098f901f9a13462796f75603d3bec289a4c55a16dde21cb2ad41708b3a3d76dbe5c54cea3888caac951d728834d3651a37cde0b0664121e\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 37\nikm = 5b870ee1bb97ee83f67fa7335b4a0f9dadc80d12\ninfo = 0a0dfb2a6e051441678788bdec04cc1b63ebe1f4\nokm = 453fedfd43595245f3c67c61b9dfc253a356a2b7\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 38\nikm = 58ea7ab33acff514ec08f41e59c17a3c66c1ceef\ninfo = 1cf9e25bd70c5546ea7a79eaf5d90cacf754c4f0\nokm = 34226a7c2443a012bd994f8ac6ced5eb70ce08970617b4aca853f6a13b89986725f2b1a3472f5a3122df\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 39\nikm = e8d20934b9d320458f4854e2442e2f0fa092f461\ninfo = 4425999958aa3cc629300c25ab15be8cea7a4277\nokm = 636c9341fc005909bbbfe18d9b4db595b5007178c13d295375d0738204306b522f0e33f37c67465b56d4a09450375a50e8e02199f3c44b7a89618aa940040d1d\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 40\nikm = dc9e488c684dbf0ac8ff1eefaa0666d413d258f0\ninfo = \nokm = 8f426916a9593815065cdbaada2c23921025e780\nresult = valid\nsalt = 9afa7df500d7a17af1f44422d25a62bf\nsize = 20\n\n# tcId = 41\nikm = 34b85c341a04cbade472b3f7dee4de4d1954bf70\ninfo = \nokm = 81703cfa5d5f3af1d2105e047f0cba013c1ad5eb27e8d408566a10e00a7e90da4a30a559b33f353d6932\nresult = valid\nsalt = b066b42acea664350a8448f8e064225f\nsize = 42\n\n# tcId = 42\nikm = 44cc641e09f7d5642f7b6007ca5a1c0813319666\ninfo = \nokm = 582d7b17c4c783d2f37f0abdff8adc1e324370e069f274b1c7d6a46655843e446504cbbf3155716b6e824d4038e0bdb344df20f19a4a2dacddfe9aad36a81dac\nresult = valid\nsalt = 69c0dde6c8e5bd40553a5981fad6ad87\nsize = 64\n\n# tcId = 43\nikm = 88a8880cc2b73e73b3b6ca1d4902caf2128732c3\ninfo = 6dc723df3d26f704067afb2fb6d95a66516d089c\nokm = 02d1a60044f4b017bed7e49a6984cd2108455f5c\nresult = valid\nsalt = 0579f690ed32e57a26701a9f6877f243\nsize = 20\n\n# tcId = 44\nikm = 8408668b9d671121b8c7d31113f045c0d7c020fe\ninfo = b4451b0f1a217db703582881e86d8044d5f2e092\nokm = ff71e665d74a7fcd57e7f6ec5600cea19673bd299766e525959717169d3e735a33bd998a317391f1ba91\nresult = valid\nsalt = 679b30e6930a8ea3f076e317b9595d5e\nsize = 42\n\n# tcId = 45\nikm = e6715cc4ee13c4d999d8f8f500243c321f70b0be\ninfo = ef17c9227a5ca654fbdb35dd00dd6dc77b6321de\nokm = 76882b3bd15ca84585e2a4e7622e9c3bc20da778aee4d33a6d6a095229f0843878157cb1b5970676725375536a5c724fff18056cb28cdce8878a3c687911c5bf\nresult = valid\nsalt = ecfaca2ea3301a992b4de081d9d3a4cc\nsize = 64\n\n# tcId = 46\nikm = 9a6b88f3f68f5a8e79903b51dcd733abaece1a41\ninfo = \nokm = 6f0c3e176ea037da5e32418174dceb98fc1c2b4d\nresult = valid\nsalt = 0226df3d66ee3abb275eb39c8ec3d3e12e9b87b67f85c552accc4279ec17\nsize = 20\n\n# tcId = 47\nikm = 0b9eaec88b2940a4754e83272cbf47fb6f86aaa1\ninfo = \nokm = 4592acac51be6ff829028b39b57dc1705b161b9775e5fc4bb668bd4addbf11a6c8230115cd5890015dfc\nresult = valid\nsalt = c1616497d49246400ba68242b635c67515d2528ee1c3b71b318b631f9bef\nsize = 42\n\n# tcId = 48\nikm = c4717276e7c7f794c4ee333b2f7a2ab244be9e8c\ninfo = \nokm = 3aa97526d07f8cb7f936d6ec9d6503a21ef162b9fedf354a6afab2bf420a922100838efc9deba0bbf31a0ae06deea9118fe47f4bc484c1bc75f649f3a37c3225\nresult = valid\nsalt = af4c63e5b554063e83e37bf730ffa401c696088ccc4f133a8695ffcbf2a9\nsize = 64\n\n# tcId = 49\nikm = 5e43a900ee0d432c5fe6fc81db8d5f81a54e39df\ninfo = 32460280e60910b10abee2e9f80a3dab48acbc59\nokm = a715f5178595b4d7a7592e5fa740b9473ce00777\nresult = valid\nsalt = 8cc815009350b0b6a924ed93e73c8f8c57a1105726663b72741b67209c1f\nsize = 20\n\n# tcId = 50\nikm = 070c170fca600aa2b23618150ab9044bff7d4dcf\ninfo = c1b0971fefa0a23cf4b7185879475ebd8d83b9bc\nokm = de39d37c8f7d27af175221836c34e72fe2c2fd8fae0569f47d24a6de918d5992ff95302b421e477e1240\nresult = valid\nsalt = f32a1cddb32693860eeb39a5d190f5667a303d5403712cdcebb575c6563b\nsize = 42\n\n# tcId = 51\nikm = 87a23208df5e66488d23f7aaa066e87bdced8e2b\ninfo = e4d66fa23a6020820013d94d1f8e84a58cba2a82\nokm = f275c7be87f3a20c5f095c9c11df0105f825bc3c321dbdf4c64190bf3dd572bf6ec867be292de7351995be506d40075a39a6cfab4ececb19d9502898f8a88e8d\nresult = valid\nsalt = 0488ffa08062f1fe83e9c3934f5688a2e17827f898aa5daa2d595f09b245\nsize = 64\n\n# tcId = 52\nikm = 214746af12a669b726364027e9a1cfa40c18f8e0\ninfo = \nokm = bc141ae6584b51855f8f671bdf162fbbde5d8abf3aa42cf9d04908be780075a889472e5093e16a8af780\nresult = valid\nsalt = f65ab21816c5eaa5c9ce77d58608ab67176d2255438096f4b45779d15c2afda12718ec557bfe161e7fab89ebad4fa634cf73f2d12c884c4583e64d2b59b9d8b9\nsize = 42\n\n# tcId = 53\nikm = d509c509f91d78c33b9d661e6df1992b2b6ae429\ninfo = bea4f60eff1a0c6ab664ff3db2f774347920a482\nokm = 7d1b8de204154bda72a69644c6635be89fc1859619f101ef215960dd9c776206e9dcb8e5545dec95b2e8\nresult = valid\nsalt = 95ff4b20ade46bada320316dad7e2b4286e93dfa2a72c6366c5ddfe8ce2ff344729ea56416d5b53074c6d6c4eb4e4873980e5e4a4991d6b1497aef822e16e209\nsize = 42\n\n# tcId = 54\n# maximal output size\nikm = a53c9ef28d9df1cf2d27cfc10ee41e6b7d3d8883\ninfo = 721ca065b18af203\nokm = a9aee535bee79891489603a6b874da4c781985a62694256d07701275babbcf55448d189dc1a2c2197b1a9ff695f8ec73a656c1ae1cf3d2febf653206027f7c976d5da9f54b946fae91303f14029b783c76c5c970d688f4dd8478210fcf7525950e1f007e502c0e829f1582bb0c7f0e221dc7463e581599e340b891eb86b77db0bbc420043708d384d6365cd6e06347260b65f629b4b54e83172ff239c39c4a25f5194c5611e560e7c38f5adeb1c4d2078b48f576384866e91867d41b97700a819392f102b0428b2d8b455741d71f4cf165f31095ffbeb4d53bcc787299394a71f48abfbcb2685a324029dc5fd91284fc78b67c241d39db1a75a96ca6e225d98da1fadced84d7f23d6d4bb442037b714867860ca004e3583665c6d7f51559fa38faa5371c0bff7679626f75080b6b36b24f10ef486e24e1ee9e35afa718f67c6b93d75eccce25fb7f3be7e3db767082bcf7ba449447bb6c07460ebb6bfc5bce7d1fc82e3111b44fa8e4838a59ad5458d5b3f70d9891bbb1f74c2b18e72b9861d4d9fe99b13099f6d4978edd6db0aca250f2428a7372405411be7d223568d5db70fefb81b7eee22711c612e3d6514e9340639b454cb52c1969ad56d4303c40863885e6e438060eb20c8de996a91f9bc0879be71ab925e632c0b0e165395db69b34f606bc65637c6648441408ea6fe95a4c13c8f450abf7a3041d853cdebfe61b322d42db087ed7da3175249aec6520e2a079bf39016286995a36d9f11eb348f501132566cde44219e51b2415e04667d06bbc5f7cc0502e8c8ff9b6037654300c64c540d5e4cb78fc20dea518e721a8ed259f26b033617c9dbe239e92377ceef9fa9383b744cbdc044fb8b3d8089c01dd4ba38f147b691fd0cc4e8ef2acbb6f733c73cfdb52dba9b9d8ef80f3e153cf3281f994335e075498b25840a0f51dd4a654cfbab9277e8708b456ddd0e64977bdb5e88067b889883eba0d433b183ff730109dfbdb994a165f61d9d668c27caed764820348210a24e86b77de66b8032a5173d474fee5ac889b5ebdf1bd653d46af427156ed94f36bd1d205bd0c56e9b783420eba82b6926f988055c2f734fc112772137c5fe63f69fa42e3d02a1cfa316ca7458722372de97e6bc4eb9d049358e84511f80ad45e29a862e756275a617e086bbeb299425f879801701dab7c753bff20cdbfe61aad8fc824a3ee3d", + "47cdd0f166a36de7750e121d9a6d74902b8440969485807eee4d4f18a80a7d5d273c2e6eee6c21a031e6c65e25bb791a2b0817ac168920a739e0ae6128ad2ca97bfb6920a748733404b98083b578163791b085832ad4a35c853fe8529e4e4b62df0e8726c035861c6edb6f2eb4170698d2d3da901da1c7f2d85b73c4c12468a8fd0e4122558f866749375d33b6749f41e37bfb49acae681efc67ae3578bbcb086bf9f1833d3a2a9d0e0c042706c41958dd9b5e6f107e28e5bed647d2db94ddfbb75491be54b3f6b315402f0df49587f614d801c90dc6b42803286b5e37fdde549d88bfeeb3fea83522e30e347d38d228a701537a0cc11c9cb32ae1db6e567e8552d9fc97d88598683afbd90ae58c2e786a5285b33d6892af0c4b91f2a34c7a3eed752f89233ea32c9127249d930c274c133232e53fe667732c31104ab8acc0599f3d017e77f34e1e292d05ded1bc5209b7183dbeca21af986957545b2b231115143b23fdff983367d504232765f22e9a9a5c651d66947784f7d408444833089c69871f97b499b1ca127411c4ae2e4e2fa9b52e3215ac9df9c738de19664b2e03315089753c3df5bb20dd84639d8d1b94e523e8d21c6378b7777b7d057de3f4a25f1b8d4cffc5f43d6bb0da79ae6c12ee2d48e652ae168a7eaab602043cc64c5a5a4736b217678b417734d8d55fb33a7f76207ad443686d416f3465c97fc872e8457a9c3e901dc13f6cb7e6c70799df3780023336c6e4309b239cf876ab831ad1fc96ed9c9e311ccad375d9102ab8451902ef3a5b81fbdbe86c441b3b8ebb9002ba679b4005b540a99df75f1965bf3ca20c82e8540723ad96ceac9dda225bc90f9287803a04f52f26053dcaf9f699fe726e714da69ec9d71d78db541904a61435a3dc0e1d00ee4e7598b8d2fc1ee9595e554e943b76228c72475c94e714b9e2e65ca42bd6c27f3a725c9773e8c9b665700de0781a2f1e5e7d3da8cbf002dfe175b5927fea8484ad88123ce76437b9aced1e5a36a8933276eb9839a8cfcd6d1acfadca6f9fa1a507280780059cd8ec3cfb17492f2e38d03f776644d920163ce8418074cb3123ae35ca2326c71bdee6173a3b3d36318924f836c6782a85bc2410ae67139bca7831d815334f022f59e157d5483266c1bb387a1d8e59d37f080532949007de3a53b4a44b67cefe59b9db6326b232bd9850afa4edd3a5236986a3f116e7d5d8a98e6a967993985aa2415201a24655e7567f1a159eec7d2296eac596af5f770077a1d6444f4d7176b201597f33405cb807855f2b8f824c9c5e92078f4b7ba795b1237bd24c7376ad9d2647f6b131ec8120b3efa4b6f254f51d22f8c5da727fe19580404be59b8f3898c66f17ff82ff19b7cf82bf649c0add1144601c8b38bcac2ada242444fd11ae9498eb47f16d77de6ca9cbc861ecf479de373e969d26e5eb2ad39e4090bed1a0affdff31f5bc9f4a8add6f6b2d2e5921fb4ee3e92319246ffaabaf094d92378d5286fce5233029390d224c5be8a3dcc8b1ae880d47725493d90e3def934522f63d80f96f37921cb8397358cc39892767b1155761e3bd68311ab93ec54575b0eb0e3c3c47fd49cd97a2a2ccd76f8bcc316cf2c5d5f877367898fdfd7e88f6301e4b1e1a5d80bdb6e513d134329bb753eb7e982696713eec74602fc1112dd8fdd9f4b129a08b2bd07eefb514b58b043f879aa298b25acc9221d3c366162d15d6389d9443c1d0dd7d8ca217e095ea039ae383716d4c96add3a38f3466f2fae19d2fde3a68806cebfbf8950425cefbd61fcf68400dd26aeffd34da8fa60f51398d9bf1d2d4c24efdf229c8afa346421f9ddff56512fb5707e85b8f43ea9f38c0891592d3ee1a2c9c8700f55a0be7b7bbfdecacd27af04ba8c22424eb027f2a8504b2878f1bcf1e54608a2ee5d8c27d265e9918acc2d2e45baa3c3d5cdc17ed57ff4193ed8d764ed4eb290b24207d36a19c48565eda5a6ac9516f4432594dfca513ca51fdc4b147813706e26857416f94a3ab5258720bf6d9ed59c2a3f3ef6ee561375966fdefa0ecd2f2b82a813e80f8290d5d04f5b20e6092ff3e406afbac8a524e7044bec55f9a685d1aa156e52fd3d77598ba60b4dc478a14a39b41fa027d5f0947bac937ddb169b552b055a83788d66965a4473e4539c65bebf885f09e29051e27dfc76fd466c14726972527a3b798c58f340fa050954c42ee2442af5f9a4a824de31b1b536e775202a2c1f6c4fa093710d8d23382eeea0e8c06704d855280110f70259e2771c5a07326440dc68363ff96223c215735b53c7bb880eaf878d46837f0f58a2c8f34db2563d021c8e005802fa65b746c8d3b2a72d6fa8ce13e22b6cb02a18320687a7aa13aab14e5318dcd13727a1294caa38192e3ea73d2cc4460a0646313a4428be81af3e091c36b2e9dfbf51f391d915489295ef3574cb8aface6f942049cafec4914ded402071a241128e4055528ce7c1a43e5c426c5c1cd4af9974884a0ad55660052fc3d3f2cb85cd5a1d40d6ec4eab3c18d61c2ae6c98949ceb6d07b93086449a8f77e70ca2d55f7a0886c71f3be9e49b7810155e8aba3512b413879d43288adb5d780f5609e2ca5c22ca4cfff3f3482c79ead24b4af0086b605a0e08662673e472fb4b28b8e94f32884dc1c171ff527ef5da7d998eb79ce745d9c5db985d1cfacb34fd1ac16af80425d782f348d94f9ff70d39de1aa38197676137e722ec427033df9e3c5c456c2bf8eb965d628ac3af64725853ccc389def8ea8a7fb5ce19ad4b0fc50b0b32ce6f1dea3bfcfdef7c3032a921958336a7bc356e19e5fe6bb50465fbf14dc38ba037d19df3ad3e3e855ea95ef81cee28899bf162b0d424f38f528e64db4d68986ce0732ec69456f55701b7f5dda90a755858ce0619926b53ef53f9fbce5eadf15794891630394840378a524609811c00e71b5739158ef31d714f3ab7018c0ecc51e99f4264ec98982aeb736337ab3f415213564cdb8077ae104d3e7407d4481f8fae8579528a8fc74c45c36e7b6d54f93d0d39d5b31f1a4c915821a9d7ab8013c1c6f7620ee069bec49608d10a915b2eb556a5562a4f7eeb28cef87030196f98916e2a9f3c8be8893bdb2e5492536090e3ddc6c6553d7555117f49ce54d0c06e2c8ab715bcbe062bfef4a3f7dd9317650f8f7fba3fc03d5c7678b4212867293aef6216a08c60db5dea51b520b15a8c93bfa2d6959f233e04545471942ca2e6516dbb588041f0fe63997c7bfbc6afa990027f1abd62b347261389b9d4811670eb32abcf9fa971b32b5f5a19df16c517de9e6d57e028ee80393a890896ece64639a840fa01446bbbf45e0e5d8b187b85dc4fcc1e818825d4a08d1fb6b397658a5fa592b3587fea96ddca7a520f7130160c35a0cabb1200a0dc7fb2441a3dde721e49e6d2b185cec101aead7f31da0cecb6ff6f2d8a02417bb3f951e88e6e3f10c68f1cb8dc98da1e608148910b55f49b69a6139bdfdc637ab30997e21b8772201f151a09c183fc4803f0defd2dba67080e7ad453c078f027bc7525c7d4571d6e722e3d4547d591d52414409c60d0dba2db1b784c0003ff8d13ed0138a71aefab18e1fb5cdcf1f8f667697e2789c98c2c7cd0e3ebb1f51c6dd37e4c1a1cc06bcec22d4266baeb16e70339c88cbd238504a11369fb53a45fa7f6aaa03ce314a0680c7b7c1833f60940d9305d2b6b7ac85616a7e5ba1472b6e17e1f5775527e4f520f9eec420b70c7261a3344b19aa023e27a202913bf42e87706625f016674d8f79f35a41020ad962e77359c5622bb03266ba1292ebe3837f37c5ee2c5ee92217e14c26412374c1e14e3e4ef40b57dfc3b529e3f29a6e16e7c03ba19ae80dbfc55f856c23111c7b082ffff05658f2176a2786289cb6799bbface2312c58d6b45656dd085b642a09f05ea8b6cc27660bf81b5118778412a88c62a96602610ff89c34bb1a477558b387dd32d352e8a507b27edfbec30a40e5313f262f905b0f5f73e3be0198299b11d13f0e569bacae5e28b7d06c336b6ca4f5c7e973c463bea0cc37129a0e87a17279ce301cb0b0913ea45a04a77c2473c4d2bbc19808f93baf8b392c64a4fbec09e078bd5db416089ba3e60833f53d05a7a96a7c03f913f39b1a3181cf2342eb307965dd01c7e82d65e7840ad297897ed3f1dfbeb17b5c2aedd8db75ef1dfa65aa5c2a321d472d85a455b74e540a1cf09b0a4dd46a6383e0b08604e69aea1b79eed155584118a183a32669a5d550dfa795f4498b98d31391f7bf9aefcf9b32559778f59304f4d6ecebb23654144aaa38f6b6846aa951c437b5e4ed80120d5841f9dc8b5b41926d58059854bf8cbf57d8cbf820bedce68cc88734a40dc7778475fdcfe01e59e260ea866c85d979ef6f7a7a577a75bbdd9cce9b1fd9aa6c2b89a2bb792156f42cb65d784660b762138a7337e87f074878c94cb8f0e7a70d4f19371316aac641d35348fc5ccfc911c5cbdd2983e032df62004f6788940f2e2fd6e7151f9e5563a87312229e8bbadf04e68e2cf4e1b19378db4de335b4c88c87f096dc2937262b63a3644f69241fcfcc14b1e03a066645ec8fb43b33b3b49555d35cb52f6228a213f49b6d0cab46ab3b494153a3c70f100e7491e662107aa8e7b651c68aa5465a24500a700b33480c1a8c02ddfd9965dcff294a7cd4c5873ba32a45592576da3d5ed9636ae5709c6820e4a3ea2a9e950c97e8d171f1528bd19169c470ee7a4df23c33d3f70e9128472442429bd9d4b27c8d73c8161b3cd5d07c3290b3eae3e9a6c14a815413fcf94193535f5a5c0c0023aa6a27e66ddadbdf4661db08a7b7340653fdd8426f784a05b4a365d6ccd38179a285dcaee8e362538270f01c7c40708f0013612a523f41cbbadc9d3c50e5e4eded53396db97a13748cf10e464a81ee5c5f7576f49631dfc6fa951335055ce347e8b7bd75ce9bd00d70ade8dc14d358fd4afbd5184526368add8f9475ef7d9e13df4379efa27b54bc057ea362a08c97b2e8f03458621bdf38c40e9425c45c142d4461023d351c300b3d00c4d17d57df98a60d6dacda38eb46513f786801896ce18add8acfd03973aca374e0571d422d04c306f28b793a99e36211f1670399cc9399c5e5b02b8ed15cfbde1a4e2047c7aa26a01e23e69bf130a57d1911e11169c362f5f3345c381063d28409c8dab60213df67a0bb49d901d3d4441aa0bef3ad2c45d049b89a841e3659e7715537084c466259ed694bdb1ca11c4dfa903b1e1edb6f90fff6c8305f33b923a2b3aa538fef5fef5fe9be69a1dd192f56782c709cad067296807c9c067a7e8404f8e6e4c668a831df88bc44c526672dfb8165087425efbf248730cd1fc4779fddbf51d4c9af348373db1f5b690dcb967394e06cb32245a51241802736dae19362b2d1e37fe30fa7ab79f5330caedcc6c182c09cc44c8982905906106e8114ceb20b41d5c52fd6fb9bd3a3e54e5894e4f2c858f8df3a27e6dd3fd559d3894e530809e1be8ba9f2b5526dd183f9cb3949e0bb14c3fccb471fd1a70751b938326de55e8e6c14e7edf10eb455a2340f48fa63bfaac46f3d3b89b07af2b83b494745b71eaf5e40ea9bcad95a4454c3a6d39fec718b7ba7be5b35078efb8d08877986691ca347c62af92a946b716b8dd076bd7c7161a7c5ae6ccc9929e8ffa11d8f44d3f3b2e45b51a1236779722313f4cf7208d095e3732fa94879eeceb8d7e47e91fd25089c9468f116e15aa764d4607aa77d96147096e46df9e87defe93218dfd5c7498", + "d3dbeb3a004e3776737a8f02cf6c40a538699313e1f70edd510694b5333cc7172c00c16470104618f9a39688a01ea259c600d18051a379614cf4e5844e2e9d4af11c41eb103aa1e839f6226525d92af5e609459a38b3a25dd4e67deff0bafe09b82f99f3d75c523c4ba21221fc642d6fb327a015c6f48ce87dc5d79dc5b650f91e3151a3fe3fe76611d6eaef5c1bd0569133377834facd47f2982c5d4855095308373003fa61d80835cca34002eaa52a4fa7d3b8c34f54ddca79dff197c6fd3cc43e3371bd43fcc37f723d9f41dfec21867df3ecc636199daadbe659214297b8d0babba8e5d00cafc7125aa0cfdcb859e953d238fc2ab6462362dd3097e75ada136c070839c0d0b92c53f09aafc99248fe6198b3334fa1f5f4f06b114037e96c3ee4321177c199a33ddb6cba0739bd2b7f454bc9064158df43191c42ea0d8995e4e94afa21a2c2fa59877f38e0f1184917f0bc87bec9669cb2d9f9a10ba7d99f2ce7a23a8c4c694b4dcd7bb6e28e77f4cb16cbfc86b6cea04380861e7f7388ddd4876055b5f7ba8cce89b92defb8a625040fa252dcf4cf6ba67e8f2c681b4bb5b2000a8e1a49716c0dc69f42ffb27685773119f2e5d57e84f7f8023f8b452a42c285bc920e3a46049e0d7672a5163dd6f72393b238c3d0d3a4992029c71323c3c1ad5e03e942cb148051bdd2d10342da57c6d8f68b99047d43d6200af8878229e4b6afb3396b938ece754e8cc140caba66df1bacb2a505af3e579bb06d43902a8e6b0cada8b52762ad0c795d4d017716bbc7dca79dceeb986a0cf326cbbc9d6a302f34a5831022d461d99303cf7a41bb5175e1cc88e9377a16f205e1d32fce897f167ecde08e593048e1fa2368e4880701332a55b7ee671343ec340f37e5a9b8edc26e789fccdb4f572bf0189d3a887859c5dba8b0490cb591b200a3004442fced4b96bf4717830c027d6f5662fd57d964a18f89d873339a0de6b3ef2617417deb7dd104b7730ddc73eeca6478de7c7084ae5262f1c3a150da9afa79abf9e4de110d49b0a0a727a8675dcb1cbe76feae3cde81d23653b48d07559bc5266584fa067873412f6ffe16c85c9edddcdfddb8fc6998b8a4e0b29127e62cd9ba7dfce390928deb640f86273ae253ff4f6df03c91f80fe25ed2e6de509c3536d41b35abc54cf7ce30287e93acb85395f04073dce0915c02e6731d16ad76527f3fbf3e96006aabd7ee241dbfe38509932560ad98039a4bd56d4d15ed9ee4d36227e13c5305c71b1b878f6b96479cf1166a93894fa6cf01aca4da216ae6f825ade76972a4a593027121bdbc7c2fce2b734bf730b14cf513dd9641cb1d3cfaeb88bec0611c825ca6c60694a854de543db9119fe484cb7bca47ebf03899a185245693ffc282da97ae89d8d00f564fa0ec7988a629ab5264a7fa6c4e17ac3eb3bbd26ca525563d400e9de1219d58c8d4118c637a95efd8350f1cb5cd56c6af87caa7fc2620f34159c455d8e3f2b020c800e78973223c5d9da400bf5efa609f340a1f13742a92d71f6db545c8ef87c2441b99c54b90d19f3fd0dafbd3912b328314e351a9bb7bac449649d3ab0ae090f94f21463b78db4512004d0e2162debd3c95e679fbcaacef0737f8345aa65a76e7d9fbada667abf200c61098000d18144cd026ce517c70908e023b143ad70053aced29fe3cb7d6bc650b96273a4082ebc50e47781681ccddae1567deb7e041c73bd82438775870ecdd9fb06db903c5fd2e768c3b8a8d637ba7040de04045f1e5155bb5aeb887f49f7dcc77c5d3fcfd225c1b30ed7e8bdb52cc5d3c7b43e72c0a3ec9d8381552133813c17c2ccf1d4949fdaa1979ae74bde43c72aee77ca39611a8e2733c64cde1ea0c9eba5b8c34be8d48ca6b5960409b7c09863c39f9db10d07c9f4981ecf1561abebaacfb6b9fde3117d6bc81330649fbee9fed0d231bf3121c48263d32ae4d860d319059b447d047e276c0622cba5aaa9a44e4677db436959256cde98709ad4c72a74f7db88c825464a4f531aa1b0caae6a47d682a137414f996fb3e860383b479978eb99c5e1f082ba3ea4305dffe5a139f3da93048a8f80a92ca598ac27c641a3f82c5d9b4bdc5b8260bc1b90c852bbea66002f0b7812d477f70efa9d7392707b498b84f490cbf3c9e95d6eab34a6b5fe9ec3f13ac8ebcee017622f967e04c2accd564b87b0ec366cceb8aba4561711bc6ac63a3b409cc85b993f67c96b346aa9bc6957c3dd12f3e427ff769a702b5098f3d61c2185d9a7a656646f4f534e68670322fd6a28a0abdc4590dc1c76b9630ed769521902a44677216efdc7ceb099aa7aa68f87e215090a74aa9c376bc5ee4abb45c80d6b8176fa02618a1df6124d4b1ece04bd93c252ee8cb53a4a5caf4068f0695ecd4dfaea8ebe801d54268f7512354142be80a3ec53337b25191ecfd60b6c30c7a5624f1d8cc0475b3ed016ddd31c5f6b25bb4b837a7a35498edbda00edb10ea98079328276808511972e05aec774f5f6ccfd408d232d4622900c85032e5744492c101c5587e16fffb9149eeb996ddc27238dde497de6ccb4848462e444bf8ff5ed13b09e4c2dc11a183473bc53d10d06d69fc8f2211ec31e280361174315f4947b9a92511f36b915d96f65bb03ec93c634eeeb11d100e10a547d4fc3a182b81e489a2694b55b01bc7e88afbfe4dafe6d6f5f6bd5003926e9fbfb03052b431a1b5bef08335a7ef88593aafbd47afee929022fd4af8ae196de9ad520be9bc1437fa40e7bcabc3e70797f7f8ff0c85d2fa66f6102bb33a7cb0f44a3b64eee1bbcd2b6b1aff83d86f313ea8d96a8cfa066722f7cb0f97d7baf3b0b4e6653a351dcd52b1f2bee1e8d3185466dfac516a39f03cdfdc8cfec3ca0082d94f0052c4213e53eb71574edea8c09a08a396838707ee24825f70564d458493c463360462add277f2de81223b992fac5fef4e6eac66f28a35d0c72a1f5274924c691382b47b1fe6a406eb7902ff435f7f5508d1a92009ff7de03f48da3f4b64166c87759a084e6770a7fa687a1d8ae463401617547e91f44943b0e154a71e176b7838c26d02612cdf9118705dbc2d866d7116f0d9b538919b072441d5f7dc1f4f812ad74ff614d165d9aa2efc7670e1fefef6fe595625eb78f5288d5e5759ad0e76e2fe3f97cb73fe0984368d8dd04c283e3cdb0370116315639e154e445e23b09885af5974c0b80e8983e0bb863b78024db0097779f3ecae9ac1939d48fdbfa193066b6150eef83ad97d96b4a9b67c0701081e91178d58d788eb40aa0d24f8fce6bc11aacece595ef8e54377c813f3045302f3e2ab15005f2198a6f17e2c9ac94e7a3ce4b259d63d87a739aabe59c21d957e05494a1bc057e1408997284bacd404d9697c51ba0e74db22b7d8c86cc609ab6dbcaa988cb190659fd58de12bce56c86ff8a27b3fe03a6be5a83929995c9b5375b558895f0d3cf31ff8fce0657fac1f6c302d84b989d2906855fa4f5a254df91d9ef1077ba2b43d9624065e366a9c76da53aba404fbcc2601e5edcddfe72fb9276f35efacba90bc112fa4cf1a3d3f4135a21c44cc9d91ed2f81e77c7f78805ca52a659f61d28cf3fb27b9757486a9a79b90674d03eda7f107e5dfacae41c50fd6157ca108cd8f07d9408005cb6b939851457882e13f165e602c04ad3d01c82df0cd69a2a47225af034a5546e2f8dd1618539059fb17e458f663f637c657ba6e5eb095b88906ad5b9c7a350d24b004399b835cee54a5ca5dfb01e34b5009353e505a726f54853c6ab66a7d111e320f743a6ebf1801921471de6c651521080e2d7e0034e457842617131a2796027462424872ee70ed403f0028ef21fd5cb7ced0d6a7cef7b2ca1782dc57c188484605f2f2b1322f1be653d9af4d4800a1c2119a28cbad19efd23ce61180d3159e42a31ca41cc1e4884d189d2f9de3de876fcac358a9df84ee3a459cacf4a5a3d4a4a2a06d03b5af48e3a0f9b15b63ef3d96158496cf3c8014bd56251e0f01f44efad82e24a31d10fd060f837f4979768178af004fea3826c98fd73891264bcda5bb5fdb2c24f315489fc2732480e7ae0d55f91c51bc005ba9e315ddde962318d95b3bb5c04b02f0d47dc94010dcc6707ab55afb81d3847d036dc561b7e0e1ac897df028f06f622008fef07ae655e0c9fdbf9af10728df7646d249d01c459002471495c657a2c2f0eef09666efb0e38af035b1703d4a865f85bc6d7d20fc4b5f4a7db655913dc65a694b31ec5b90f831b43fb328a2de2dfe0fcbb075bfe32187294085a1c0d776c91949611fe8466d35b1c42c91d303d3231920940267b54fd5fac1485b706abbfd48b9935fcd0c90dac9708515db00237f0cc0b275c050e83665edd68fd738fa8b787522975426c3eaa489b2f5beea9095eee6013695b15ee7be09955ea139a8d039f62edcf4d6e9ad541a1535ec2073b4aaf3b1ffcbb08d359de2134fc1ddf230f04eee3c744ba64848ebd07ac5daefc794350bcbe776874dd8f3c6cc04e7f65bdc2a416273adc5fbe0b3a79b85a89aa492c1430af46f4d4045d7e32fe36c804ff8479d75ab5b310efb19917ed350b74b5d70eda057761187cb8115d5f0132cc3600bcd14d724ca450b065c0d96686d0b10fd10b1df17c722f109f17580f9da1dfa32885fec8e289af30869bf8b9a898c44a69287b72a473eaecaaba1cca8a7320d51021b60ff69335035439da30ab05e04f16cf6c5a079ad6f65019ffd600cf257acc855fdcdab66975bc7bac081732e32b0c11093e6da0865776c10ba342fdd88afa589362c256983ec946b5587122dd6c0e61f35b9160d0c6afa2097ef1dee6b27e43fcec7ad37b0bef4a584a5c316334058f5d4fe8a8b81d53f0582b7b8731eddad8913aa6e0b981d3f577e6fb03400c60762ac674cbbf7926c61312bd00ee3ef2130d27c1af7346efa32e76c1e3172f4a7cc23598653b459ee35a776c93a8c7d3e24758a5542684bcd4b5cf7e482b0573f61768640d592e21484fa82a410ce80ac429378a31c47eda90061d7ccb03c033141c684c86b5987d8f080eef9b0fc4708e10e8dad034e2909da14739b7c32a2549da0d53bfeb5400221932c40577430556f5610589c7f5d10ba991d58eaf2b37a9b6a2ea15928f20604b2d7b17d2ffbf8cb94001c544a9b0f9aaa342199d9e7c0cdfe3a44833829560d875d2f4d69f34bf621ef254cf6c459a3019f1a0a40f7800a6a337faac1de80e3243106743153cde5be027a8d2f12849a905f54ccbe28e652ed63cc02de3a7d75b3554c29a211c6e292655f1c55a60531df2fbb6e362480a2df07b651c04f70862f97776fe3272584c607dde78aa9f09c7e890afc42425af88c4ea5f9feb9bf32e7ce38c73b8a1bcee7e64ec723404b15b53579665762650e3d4d6efc32132fe4ea4d633929cfbb5313ff680921392bc7a04262cdeeee18c41fc779e1dc734d51170f8d2b26a91a2cdf82667dd33092ce72d5ac6b76158f52c7f5cd3cfec7e6fea996df01bfe415d0c5f36431db3c9a391affe75428947080d2a0bb78b333b99f339a6c9c939f4483b3a850cce5afe4b864ccc6b9432971837bbeeaa62fa58f9d41ad7814bdda840b4ead959cc0080b27baa65716c32c3c3a5d7bb28747f03db5ab3eee4b28da3ed88a838d027292b139f9b8333716834df2f54cd6de14245ac89ffd806e3dec2e7a439b77e4f97f65cad10ed00f714538b9e68cf14ea50125189434c9a5bce8470276d3472423275ec84f2d504b8cee5d866ab020bb8bf94122", + "8da462bc582c6f2f59355277a455b7ad787a92f9a0b128f7cc866074cbd97df643d132a63dad4fce01f16ae749738c5c79a7bded51a58be37bea7fd6d5777c652eb25f707c22075ec6ee8583f1c8f3bb803c179392f353d851bb178bd2eac4f0535cccf2fccac71ac1ee05a7cdfb20ca436e3416bf231da2e83f545d2640c8e0411877a94bc92c74bb6bb6c5a795ce36141ccd009d6bafad274e82c202349be98625837427e1ef8de6f6e960b08dec7d9a6c26753bfc326a4b4be053729ba975bbf1599059e5f156489482c840beeaf7bf6361677b19f07282ec3e6c360e2518b66dfaf61010a96360a32d41f3a8a23036340b9f5452dd9475593e768fda4b8943a154e3e89e9f0a948817481ae98973e78e6b2edb6dca17d473b6f02b1fb14dee387c90aaa4648b8b0ed41d39a243dfcb1a5fc490284d8d8f2a07d921cb67f1fcc59adfe3297c5e27b6839169911e916c2a0ddd3b9cf619f47835e1db310d2cbb83ee61bfb0f327bfc31ed7796530ecd876a1110e846701d062c4cd9078f33b509d7f7d8096a1d54f13482d18436c4ec0e0c88054bfc58a8ca25e0af80937724acc399959ad92af128c66bd73d81c536e71dc1288a5cbeeaf46d576c012ec993c96c5f9c47708b3f93cafa205e59582e96c798c3ae4f8c67fbadeab10f7b16cc0af8b7f6b7f7f792244e4a322df484c4b84019d32928ce074c50eed31befea4709d16cf5c844657161044018a1fc1ef1897156c23b129ea3513ff0cbea0a9a4187673d3ce4c9e05224747bb66ef21c57c9a23d5cf9a1974fb9076d70340e75b838e44996ea6632d90a71e59a9137f4a97aafacab3b4ad1aa99260efa682858c31965c2386f28e53d19edee0051817d3450cbf45bb6f118c2d0c310e8c3dbad2564f88fe5a58edee9f9dd1795165bea5a7b92a0005f0efad3d740d8fa0714ead750fd5e0366246bd64f0af25466daa59eb5e4b4431566f7ad2dfbcaf243600e656f6dec7af5cfd72eaaf09e8621c778694e8a3e939998e918e9d8c3b8dcaecaf9d1bc363f8fe8151b169e0291d58a1413b3c3a4c64709392e67a6e1cb5728f34ca3e743cfa543fc6123067354ee00ad7853b4eeee59986141975cc9499fb47ac9edc6f39d2eda20e777501c2ff04a493c8f3036df977cd36fbc947c5cf1a5ae7cfb69b1df57ee3a557a5f6e6b6367a335221f34771f8ece137d9155e73a77cdddf1cd0f5c3055a12424b95c6948fc9c4f88e244e4dce40b5ed38f9ac1e7807c8a923e4b44f8ba00e8f06cc0062dda7bb2ef4a798c5d1a8620f8a6bbaed52a68d41902f094cfba1f33d080b2b6dab0323714beefe1fc10568baff471f25b9ea51d84776ce3d9781df36c696cf40d7223487917aafbee15475c100ea27cc678484f9edc9a9ab2c7149e2b38f8f329159a0d98ff492b412a287de6637891efe758c4f37249953dae1eb26643ebf69dee48413858ad596498a38daf6436a1e59c8cac1ac7c94a864382bc834d44ab3787c4571623311ed3c1e66306a280e1fc6bbab8ba56f4c79a15a83eadde199cfa8f80555c97ada73b471b36a21b346fef8c21c44c91b7a7e7085737afbc82da220484ae0804d94f71d33953f4baf07d61fb95676e88c9f8a5cd20f663d0519309daef40ccc45344ec0bf26ec5512bbdc521de3577dfafe01cde71a3002c820ead34386ef1a23bd2f6e3f125c136d4a29bfa8181a59c345412f0f9d2d004edd0a2e6e9b89a113375cde50eafcf2b5b241c0cefddd4e630b6be2d22a93363bdaf0557c06aed611527b23900db763cc1353c33e126c3eda717769b51628bfcb2813308af89c6a3c4445ec0365082e6ce7cca216cfd3fdc29ae96d13c66b7bd5c621b90b3375c19ffe9e2cae18d15bae52007e8ba135bcadd39cea9978f1f49783182f13ecb57f1a77f79b3b0038086ebd9e96d8ae7288414f4725dfe5aa15997ad26941aaa1bfbe1ab9e6660284452bbbc0c8849a1f0bac574d3331d8033178a7461bcebaab54d3e6156a5aef5730dc958cd998a75e1a412d93925048990dadbe22388f6b85c6b4259185e8ed1cf878fe5334c80205750e47932c425c84370cb0bc7933e29e3af5c6724ada3a1a6495fe8acce634ced98f098e7e4bc39598ca744435f09d2652b858ea36f62bc1ddc97cbadb16315767e06b8d0ffb2aceadf2575a0a84eccdd3f7e2bf2baf1c80f8cf69acbd5b71e00e6057ffb43d87d7d244aa30052b379bced1afcba38325454d604aff82ec0e42e3e69deaaabc12718e2e4df13fcaaf855ffe1e2d82e7060062c20f99e94b1e3ba42afd0c7659ed5d0064f61c958329a8fe90eb17a176b5d3d7d559f785602d3401b0ce06b6ede8e58b88db4ecac13df6eb4d16c2f3f83e349c9ca2f66e1f0fc1b37989f722589075421fba332502657575a47aa435b2e93fa0060f38e788fae795e1b62f49260240015b1c12fe019b32be2f361568550c9083a73e4b99979a8fb734bde74248827cb5f3f8204da3afac1107154833b76fbb7e7c84fd690043741e55401149fee035a8d7e59d399e68c19a2ad9888006c11cfc591cc570a78240f2d5c39e0179a37ab53ea97b1f477d757c1af797e3801743202113323778caf219bb548d18293c5f68742ddf0e74a972e09758d475726064d23f75964a23c0bf405ced42b02047c035d2ad245285debc86810feac7bdbd9a055d9ed1e7abe5ef4c806b6ce00bf647e9370c350c60a988da268a9c70b9f41773cab5f6dfa5e11afda54b2318116afebccc0e2c54077d527bf005c2498b083d9b95bf6c665f7a0abf1f62549ecc08c0581bc8dd7b15d2f360a5d795d42bd3899be206192e488692332fbcd065257c11b1467919e768a90af32b18217c3352e2b2858e20f320899430e4fa704240c076224573640a3ac050dbbdc49a70a537ae8185c1b7a070a3b7812a0d3c21d6ae1a94b165f533a630a24660b8b2ac5111e1ba4337d2141be6793d9e104c4c670e22cfa4413d7d5302a6302ddacb7f38caae3794085ab725ca95f671d96160828cff5760fdbb83eba9aba400799df8da00541f5f5189ae0c75b1d5f59db4eff219a57b96a264fdb8ee1764e52da1096b1cda085d72c780615e11f2f04e974980c4c34b80e0de667858d903a626b2b04dd7038acc5ac96f7dc890e43d9774821bbe9d84e5b6275d0fd8f6e532f4894ca4e11888f3bb3223f72198d547c56b70f77f8346f2d2c487c02b19dfb6eb315e30087afe4f5a38589a147b5ba49d59fc17595180fe75607aa1e0a421f1ced70cb73b5f818a0b91927c14befa25a1c4523bc249cd676bbc6f9b46d99baf597783e9d04d18215bdc461ae21a452deba22f1b5ba8f0fe4b3dda043d04de5fc6279906c2ef8d899b05b1deecabe0225a734348e75d6178b3da30dd2c1b1805499365a1068785f75c32de8f59a0326a90e7bdda944b8c4e338583100bcc50cc6d1bfacc9f3d243b698f0d5df7b1a6084333bf61048c0dea3acfd17ab620da603fb420701b9e67118b2b267b53459f5f295b93722333a7c42047c5289bf7e20b2a4389e9248030c72f18e5b2508f4403ed3d1b87204aea8bdce0b463bcea963b66e93a1cf48d630b177efa26531bea9bd1b37f044cc4a02ee8f06de2787d48c1840a6c43de850b4b9f562ab583d9469d63f601bacaec5a32521c5ee92bf35b58995a19584690dad9cb87c5f2625279b5a50f78ec7bba87fec6e1e765ea61c3662b42b13d4e68c1c048847e572041dc865d1567bd9b542e51c1b2af312923ba560f535ff24c3ccc75e334147e608573d0133de25ad7c670ba076f3cde5515572369cc972ef1969c74bd0e5308169bbe5b102367a021b70caf9814b8f2bfe67c6139b82053e1e52ff510447cae98ce3c2f5620a56829024398d4c23d6178551c258004626bdfabdc1d317fa212f44094f53b8a5b47a182f0fd25c443c296a14d5e3b0ac88f3b7686aba71dc3ec8f21231ed172a64fc3aad92e62f76d418f4e5b7aa64eb6018092bf50cfa921758316d91840cf5bae812d826bf6771f2c50b74b6bf9ce86a006282dfa21f9984121573004c58490a5c71c63c10b7ee0193510bef70e76e53cb23f4a0db49c8bf87f330532a344a075f78f2396402537f94bb49c425c13057a55214deeaedceea33819b52c1ac5f275f20b3a93f0f519e792bcc7f9e8152cea0d3924ea411fbd6fa55e451ab4d2da6c7e74a6c5ee26fb550e4214955595269aa0801124201ee2ae99243d53c46038f1a2e9eb109dca40f1784dfa0e976bb61580fe941930721f204f669e344bf88f9284f211d50a2ec61553fc28416d9897c394a05c6489969a4b730b76b908f283f39e5248d3df134d7880250a0050bf26bd85b0ace5d2507627de9819f9225de9039e80221826b207fc00dc9c1b77dfcaea8c5076cf30620761e1eed6761e909050d982455c7f0de450ead290a0223a07b6c60bbce5b90fe2d6a75a6f824d7835b7ca5d73342abd3760bcc6f6bfb037736a201dd285828206cd21e19fa5b583512a6657d9670f4b80e613576306c6df7ac13e99dccf4751405947d2f14b2c4debc1eef724768ba3f3aceec9bcb788f00ea92f1ba5df90182690233b0c4d0a5b09670f01aa6cfd82919f40fdcacd80c5554c1b46468443bfcaa75c52f894866361cd479e3b97d60ff0c092faefc7d7c0e9a3e5282feeb6ecfdc8e498f2aab85a71a12443eed58617613d0043c0cc360bc978c811f74e28ba54d545c0748eba66a6a8a5abcd2cca3b2e3c7e6c842727030aec2e591c0de61bde8201fd43e6df31af74e46ec35c0a1a56420920ae4d4687a8127f83a5ca97c6d21ebd0c8febf60e715670a4ed5d1987d1404d711ef8fe42e1047cae8d523900167e2a8d73d2bbda48d470f874f171482dd3068761da65f7dd9519951807acf5c49b4548427085bf6883126566e820eb7ab6e211c48d1e43c1c1743a7282082e7f922951fde1a98dd2069882bb634dcee32e79cd78835bcc57b263c74d5bd90137dd344bbc6523d5dd89c0c2314839c4f6e24c325a0e544c4c21b786fcb44bff61b2792c58fc1bc034118e93bfe91582a6c66f8c4c8be0d9184b7858554fd66bb6af3e21c0c5410bcad7fc5a7d60269a226259960bb6632b00d0f85531eac457f4f4d9d2694b55cdbd34de186d61827c4b8adb5fd2cc388b939aec81ee1b616aff79f4327a056873ac7a51e05b85cbaa1524b619a4dda3636e927063560a5ef85c0d37b419a4cdf7c0e4d58ee87d7a5209ca9d2b519785a9d7ac81944d1757597dece91b788c1723cd4d8453c251a016466fdaf27258339d2b7b891f875f92248e3809fce2a8bd8561cf87070318c742bbcd04143fb52fff2430c2ee369cc6b3d3cd7ac08a6c7023238feed49f956db734da42058c93c65e3d5c09093c9aba2b07bcd85e70b316109d27489ffe4381746468b4810da570d731a7ef47b67de81f4a0277e80af586bbe0201ba24d799d424cf3592119ce3fff2ca1823cb9244288c7de860c9029bb44b65fb9ac388908a19350c3b470bc699377f2e764e3afa239498aa6c87e292f202ede3f98dcbe74806136bc623c2e96f24c7fdb54f1a7f1f63189af9e9bc67184c889183722769d3dfd4cb0b7e321d745d51f77f855a38e9f7ea6371a0c8b6a80c03cce921be0814c144c2425e344ffb45b5a8eac144e3b6e6c5e638079305b7012029b01929a7e79f6edc02b936f844a86c65ac5cb7b334bf3174e11b2ea0d7896e4afb03e8cafd620c44df5111b9063437d326c14c7223b276f56", + "8642d04c387452f77dc4c1fa5c82dc1a8f538c6082541a4c00736cf1b6406ffe2ee1ab29e4caf3737b9da7b615cbc4232ab7421134a1e36574e1fcfcb649334562fe81b006f30d4e7f73741a1a9990a41a69b63c951751353dc02984492a44c1f23074634769f39e13d1f0a9824c7f7cfb4fe5c8cc05d811c45548e92fd4872493f8d5fa2ff39a01a332b75b467137f9a3606bf66b294fc8ab5e0cc8281d2fc36c60804f520b8a644294e5d8d80bc1c2968c4a03808539d7bd10094f61d9dbd7219d465e3c2878b28fc14d0a44714dedfe0eb2fd252dfd36bd79827a31a168e2d5d252c4cd2eef4fea8a37b8d7605345a54499dbe0b6a246dbe90367a84764f78dfc0857ebf78d0b559437938b42e0b6de2257818291e4321cf6074fdffee9604b46fe768a0175eab2983cd7feecfa521c5bcbd7b164351757422972a79319c60824c50fd8e52af845c2adfd17bbf758263732fbd7542f44e07c7e8936ed8c9d6bf75a7db7b0d24bb1d367fbc10de3f1f226b6aaaf803c3cd44ffd11475c949ff5d7db75aa0f511e2b1c947c4c893e554d96d9ea53877c80f703a8ad86e6e1c3aba41cd11ee291570b9e0c3c3e0221394c0c0b98e7c8bfc3e1a51b05c6331944be499d6823cd43493d6682ac585f302fc435c8ceaf2646414501a51b152da5bdbb917342764d4298f4c9cfb3ac900eba0224cd8abfecd5b732a26fc38ee45ab997f6f3b0587cc88411401c1d3e8ae068bfda326abefdfc338f9bde30429d4b15a06a0070348bfd39418bc52a30924a454784e7ea47b697603aa19bc5e08e123e8fa814c863016bc178a315c6d1b67ea73b7162684234d4d4636f306f1d1d1c0dcfa72e48380e54fc33d60121a5da9b67811db7d9c59206a6ecebb1b942a397eb5754a434d14ffc0dabbd9d97372be24ec26399aca48396dcfc439d47e33bdfdccda38439a0431b9ec0c3b2dff46f27b2b0e474bcbd81a71ad5d8a52ba47339ceded7c11064b8add5010d4a7c582bbf7b25f03f540f0ab1b70a915cc9d23562ccc4ccc6f7539fd0d08cf5339b8647a916d6d5efdbc259b6fea87f196e0e62f73add4bdb6e203b502553efddfe0e60fdf6f118ba5f2930a2ce52a5a30f7036857dfd4a5761fa90b753d5ccc623020b39c593b874f646e9dcc2dd0d9c26d6a66fd85d81c57776e49542a5b5ed032c270c2b35e22aa779e63aecbb16d0c2ee09ebe8cb0fa6b74cabf7b645a18058273bac5399af8d0147590abd7b00b5d94f95a0a2c199d5f4c983ce5aad47bf35c515b4e30f5303afd4d01ebdf11ca42682442a575b4ceda683fda64c6802e08748f1ff32bc58138d8a7269d1fbfc0a5170d0020171c9b69960d697a8a4a2f065263e50ba2950bd1ed3dfbb4cbc3290f164a9ea6d10062fb0cb7bd25a0c20d979b3b0dea069e416e5ab7c95df48db5d560e798e2dab0f4e3695685029968777b1659bddc1fb14343060ef8cef7c1325f47c21d2b8e93986e2886e6fdb1de347b516eb724cc84fd9ba94a17bb2c23bacd7b68e74162259a29d126a737a7e0d26372ed28a4a40b7c8e02d75c15cf52fa0cc9bb78f025a7e3413524890250ee922cccebbae13ad53ca87e9e5a60720f069131172ad7cc0d27089cf9d828b113ee15773e8f22bacb66377dc4dc1aee2f199db2924cbb6bc9b38f2e3a42cf358115fa93d59bfc0ce7e42bbc4d988e94c9b68cc621e6950965b6f5cfd6e865ff379c187e8b2a7a6d975ae756da6b39b65643260b1f942df18de38c5bb99d953c2b8ca43f9a9c1cc11e02304a79705c0e28cb37957fa9ef6f4d18050be0f197380f0581f3204382d92878ad3d68a93ff12e672067383a67c32a8c8d18147482aed0a77a0ec7e15c8fe934a8effea9baff792989fb8c4f08bea66283f42129a61ce5c21f4165516f8e08ee45f7bdfeaa925ed7abfe997f530884359dc7abb701be4ea69436ba35ba794593580081af6b0d2ec6f0811be138ef599345a34506c828ccad8df085b0c86797b9058e45ffd88833904ff8ecdc79357a38e77025abe5efdb9e8d0bfc1883439afea184370817e57f08292b95077c54cf4f947c7ef72a245eef232b911a5307ec30de5e8569a7d1009259ac540e38ff08ca4ab2d3812dd9c5058686ab41036c4b0718a2f73ca0a114868684db94ad71362a36f62aa01885f7cc93b0c9dfdcfa22c64a5be52c94315e9613e75122a212465dc5214903e138f92c68fe36f875eb575601739635af2781f4d35eacb39f4f392c96a5c03e4a58e9323e6d6ddd557d786a4f0522fd1697f0692dbdf98b60352889ab73cf1e4852a115c300c6e7853caa33950d51b4f91800fb6af78d1fbfd1d7d04b6fdea8ed13e64088e4e53ad5205c7e2ba53709fd8158e2d79f969789bd6ff03b582c19bdf4a8d49e4d7ee051407de1d28b5969e0ac82c1bcfad655cde6ab0813f4bb9d5965f1673abaced12de8916cf239ae42f38e71438612785cfec947b28a3468b53698e7c9dcce456c0910bb97bb4521f6d03a17209d93a70a53596e5b25ce66edc7099b350fe20dc44dbf45865c7d81f62528eb51ffc67bc683d4977a36b091ff4ca086e04737b7d0a9dc28b21e2a6af7a3cbc8095ca0cddc66217b849ce3abfe6abc78d7be7e7013bbe46de6c93db8bac55a3c831f4857cd18630567defd154c30c7c8b88a731cb19769f1e16c9a41ecfd0ff5b51ab31e4732e99ef11527f4320b3b645f68f03cf694d6711c317860a862047e2ea9d00af95a0cca74e42dfad90eb45ed1617a89e94634e49c82faf6dcdfab6115b7ae22cab27d441afec80f6abaffe7f38e3b421a265ef86c8c2b3cf2005f490bb0930837f325edff037f496637778052d5f552b500ce032f8f0db4129ae7f29997739d63e0ca0f572ef2db8cbcbc943738cbbcf482089fbcf5b0c86a1f454e7042429efc6d17c6765ba9205beeb2ce9bcd3dd77d99c6de84b0219ce18a86dd159b321d30eaec9df24f6d7c3ea2e65ec07cc06ee4304ee5663c20b89e0841f4339e365e3bc233de84f2b88fdc7dec0b823c7be39ee348727232a88ca59c5b30eaf92da2329735ab5b591cc78cf78abda50e74734b0ce3cc817f71f0a8216e3fe1ca703b0518b9067abbe0e7a23c3e27c9a2b930d7670f087dd0f30638ccee3888c9abe7579894f5a4cec8c946ac82e45b094fbed19e5ab168e83eb4290bc48170741fb51e4f563f2fd8a22c3936282accce138a50a3faea0fb615e55727fd044fe3dc289fe9d1b9d7f09601b186b3599623e174cf42ab31301d50211555bd7b5e5e42231ff07b85e15510d712ca2b4c1be895646b0b80b5ffcb23bfb1daeff039d1afcfb7f8d952a3681cc79adea50b163497004767174aab6cfd6e708e7377fe19bbf08e1b271a4098d8cc33117b90b0225642fc92a5b4d9824d9fc3d3ea59465a8374b9dda581862e38d5a3aad3fcd8c10cd48cbab611db5a73a09cd05128717d3c45cabf3ef02e9e55b1560a0b7fcf776d7fecc0631e5671f826599616b7e09f36b73b71d8e8847e7b1a9804f8d70cd802962b8e89de6ac2ffc1de04f3f78819675467ffecb47de3097ccd13c27165646705c53670b99b1a70a835a0fb9a5f7930b91aa9a4e3fa17b9bca709c43cbdb832fde1e4c99be3cc0b9670395aa9c2b6b40b85485717db8332fe95985d7b187a077484a31706a7852a58ae7b7251558086229f68b1243ebeab305a7ea90e97e321aea9ceada4a41d6c6af4025f7f299a6e30c40c77c4e65802c1333ac884ac36a93c2c1d72cbb10ada425eb33553397dbc950ee5dc3e47ad98b5a2def7636261cb3fc356c4382aa0268673ccd11d101a82a61d6131718c1f33979003eec1cb9719cf2419080b9b4df32a55591fb0efca027ac0a04cfa9cf8dd1f2cef4cd5406e0c45aa4e40f86c9c609830536092ab77d9f1f3fbda3e7b209fea4c7570e407b179448e665aebf3a8ff6445f6ccc58f05af5d6dd1cbe596094bf8aea65b3ef04f36ae292136d341a5e72a1b4f0e0e278ef4f811873c8ee5ce54959dbf91d9b171d612d152d44c78fb346c4d6b461fae12a66b8db6aeaa3f9193b4fc0d696a9323828c10e48329c8fbec315bd03f7665bed23f63457954648566bae2d67c15e2e659d068c93a1f6ac7712502a5fb861895ecea6c02d4c7abea9be8000276a4786772961057ff5e03b985fd63a651aa9814c033aa25b329c9493b8e20fac9b254dd59adda1fae29b53b1226bf799b326359e3a5f315c0338b59f3120a284815f11bd72de4eeea3830a5602910ff54d056f8b247e2c1ca6d242b6ddde6c345bab1a20aebe7102f12b5efe2fd0b85f20581fc842213338b332267ba188549c21c6fb96ab734c761b57f2fef5b8ad48db8a450cc07922f8f6eca2a374186ed84422422ff47d85c216d218681a730108af8d96ee6efd8c451aaacbbae99a075fd3a501b4d903ffa120460bf8ee66cdc3c44485230aea38a8239467a185\nresult = valid\nsalt = c521bf7ffc3146dc02c9297fdcd45af84441390af658105cc99622d593b68d774e61006e6cc02dcfff483d3aff0f36ec184585f35ddfd46ad8b116205b909b81\nsize = 16320\n\n# tcId = 55\n# invalid output size\nikm = dc46034cfb2df51863a09d3c36774403267ff968\ninfo = 5c038dce10e6d437\nokm = \nresult = invalid\nsalt = dedfa9e98cf384cc448927bea53574c05c1132f2a07b531b366b15e12dd7c9f69ad1eca26581562f53cb3b4db07b9196664bcfd2b9cd1616a9dfe471af24b55a\nsize = 16321\nflags = SizeTooLarge\n\n# tcId = 56\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 30850cf9dca6893d4f864047e6545a3331f221dd49d7e1d2e3042d5af1fbc2c1\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 57\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 30850cf9dca6893d4f864047e6545a3331f221dd49d7e1d2e3042d5af1fbc2c1\nresult = valid\nsalt = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 58\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 8b4fe5702f56eeb71bf7d90e87c95c3ad054e448d50dca0f65b78101f657dfe3\nresult = valid\nsalt = 1a08959149f4b073bcd902c9bc4ed0324c21c95590773afc77037d610b9584806aeeeda8b5d588d0cd79e7c12211b8e394067516ce12946d61111a52042b539353\nsize = 32\n\n# tcId = 59\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = d5b8c21cf1fb6da39d7cb2394fb7a2c263d8d508d008b8e5fec3030340cc5664\nresult = valid\nsalt = 96b8543f45cdf8", + "cdf0d8648cbe854e20e21c554c33e6a27be0e5d5caf1f70e26b14a9df8e1c45649bb96e510d095b249d11b526d094f6e900a17056271f12fc6\nsize = 32\n\n# tcId = 60\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f4\nsize = 32\n\n# tcId = 61\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f40000000000000000\nsize = 32\n\n# tcId = 62\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000\nsize = 32\n\n# tcId = 63\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 64\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f40000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 65\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 66\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 256]\n\n# tcId = 67\nikm = b18e35e63cc4fe4117bf2754ec3f9ebb5346dbb0bf6d4e5f2422418771816fc4\ninfo = \nokm = 6cb29020bbbd80a8525643612b5165a77bf387f3\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 68\nikm = 236c2ba20c72242820f63d3e9c20633162c1cb048a45dea13861e8a138b9640d\ninfo = \nokm = 41500bfebed54b041187964d00b2eb09d3a83a0a1eb483726d08dbdf8cbf02ee78c949562935902437b1\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 69\nikm = f2cba42dd82acb5d2d569406815a3769b7becb13fa48537fa7d7d5e121081d39\ninfo = \nokm = 6e79ba20f225b2ca5fad5d87d18b5d0922f489961feedaa032a3551dfefa7cc0b636f831105b0301bcb982cfbcfc22cb01f4d4d38bb5336448091218bee6f8a9\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 70\nikm = 73d97f2ffde01b447a5b8573190a8eb4f87f7ac04482836143f780ad876bfffe\ninfo = 74d2301c5aca2441372cf6077bd8806dab3e8721\nokm = 604db18fa852e98c2ceba7c5fd876c9565f2d8ac\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 71\nikm = 6948521434707e96fa943e44988d1ad409ec57e6594867e8193e9d727238916d\ninfo = 9eaddd1e7edb6b84c96fb5ac7e0d673a8f5084f2\nokm = f0a591ba1b695a12cf0601ef28ad454aea0381f5136e9d44d45c9a990915eb537d485b02dc21f5602d25\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 72\nikm = b72b3854923b8a0048497a86bddef962552c8f6b2c72b2b2006a1820fea5c6a9\ninfo = 113b708f7522ec3b362999db18699bf7871e3b8f\nokm = 03d4ec407cad5d86bb14557274863c89b426eb6842abfca17809c67027710d683d66d60cda03b01f82c15240b18fd53ef3b1a312a6b1c24b3e68095d624c4e0e\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 73\nikm = 44d774def90685c0e9a685fa50fd434c807d1a57896fa42f91778821fe232057\ninfo = \nokm = 966d70d2a934e0531e7f014ec225173a473ed5f5\nresult = valid\nsalt = 0d7d3b47bf8484c8adab7f9c27c9584f\nsize = 20\n\n# tcId = 74\nikm = 098ecd86354496a701ffcac8d589a1217231da3b80ccce4ef85762d7f3a2c211\ninfo = \nokm = 960403608cbb8f54559fc16feb4d0b3a2cc083b111795ebc4a47bb21b8d0742759a7f310446ac307baa7\nresult = valid\nsalt = 5232e5e4e2dd6133d46ebe5a8a51a0bc\nsize = 42\n\n# tcId = 75\nikm = 917ad396520e454a571ac39a9f6bc845a8920954fba1ac400cb2988cd8847ba0\ninfo = \nokm = f4470980d2ae8bbdb48d9c379c1c3c3444b1db1f606f1c9db15ffdf1d6f7778289b3d10b8b3fa44ae071bf8862a980464975351f4d7518ebb520fe3ce93188ad\nresult = valid\nsalt = 962d86949506450eaca929286ce5d9e7\nsize = 64\n\n# tcId = 76\nikm = 1cbff2202268edf1985bc91466b80133644988c5e81368cf0995274204fb0aa3\ninfo = 3e4f9c8d3d607c2ed43caa9e87e6ecbc307c6048\nokm = c5abdaef7f2de0778c32ab5c697173eaa77a052a\nresult = valid\nsalt = 2bde6e33534731f52d39add940ff46f6\nsize = 20\n\n# tcId = 77\nikm = d00d6b4fe088077ffbc64127d6bdb9707a0f9061c0b873c334c3be0adaa7c2bd\ninfo = 4266351bad419173279c901aea148e8b1d99e50f\nokm = c01c828143f4e2d4aa7670b7a530ba550aa70577d1eb7acf1504974d2b48c8b9de2a8f968057230e7a65\nresult = valid\nsalt = 1647a044472179d454b8d2108e4a2aa8\nsize = 42\n\n# tcId = 78\nikm = 9a27c19b607adc8f152faeaeb1282002d3a2166894b7fe5d65829ecdcfaf73b9\ninfo = 36356cdc28187c11cbb9046f9ce7502ab4d2ea46\nokm = 2a9b1cfbdc14bf2ec8663ee121290534c84c1b053e848a241f5a75828ed63c14dc364c90e5008f35c98e54e25923f6f145708f5dcd6cad78157ac9a0d2b18d55\nresult = valid\nsalt = 70d83929a6376a6eab859f0d6225f131\nsize = 64\n\n# tcId = 79\nikm = f5d1c855d3448e212d76d3927ec797dc439cb182f427064288452988ab79c83f\ninfo = \nokm = a76a114ca44ccd115e42b6957a678c5f8cf958f0\nresult = valid\nsalt = 87ef5da5400db731d658972ea82b76848004e70d3b22cec76c8be06283c4\nsize = 20\n\n# tcId = 80\nikm = 3f19b7095a6b3d313b59c3ba2c3a78d8b24f30c9ed4f8be9eb92f8eeaabd2c3c\ninfo = \nokm = 232dd33123eb4851feb01bed3e9fa1e42e966d6425ccb3e18f12dbf86d0f201f7b9d5707216de4c69e6e\nresult = valid\nsalt = 8f1f6c8e4f68830319ae859b4b1fa71f1d69552b0c3e53cbbad26293651e\nsize = 42\n\n# tcId = 81\nikm = b1d396c69f14994dc8add0f6e0cde4455677ba9ee95ff84a142295f9177ee629\ninfo = \nokm = b675ad80f49e3cc43fdd385e8d79db1f0335c3cfe9ed03a0924121de4626254936c031330b94c3130587a8e98eec3a4fca781cc220f549c1e6a5fcddc378a0a8\nresult = valid\nsalt = 7f693304bff77534b8246d832749387ecc0e8daeae11d77d022ca9e362d1\nsize = 64\n\n# tcId = 82\nikm = 003d1901a10c062ec44e0f2a94c544b7f53b33f1ea4679fa6e023c2d0a907fcd\ninfo = d5d3ef5beb9840d15efe9c778aefe38f1bf7bae3\nokm = 8d8b785c0421f032abc0778f97c71f3b3e337627\nresult = valid\nsalt = ed86cb8c8ba1c989f9a60a4a82c38be98c70e6218576b292c93fcc18192e\nsize = 20\n\n# tcId = 83\nikm = 02e0647a4b7ccfc0d3ee7ddfe24ce69c02f51cbaa836b96cbc5a9c2885c45599\ninfo = 4e9e27d971e76fda614fde15031f6664b97d4786\nokm = b9a02032cb32071c7c5a7b61a87fc6c28a9b6b2547fb951fe14b84271bf893c3fe40173066da4777e87c\nresult = valid\nsalt = f0862f61f2377ca34b76476ae21e331b114c7712aef501a1bf00f7e9cb79\nsize = 42\n\n# tcId = 84\nikm = 92bfb7e31e839f109e6622b2c2c4f41ce84c9907172681920e7d90e80e2339bf\ninfo = ff36776fc755722ff371f21cfb37a168a2731e99\nokm = 1a3dbaed5d00209df5fcf4218b45a805341eb0aee4ac74c135fd832ac430e058835e46e54f07682e35999fe4c6c760421e25765753bc34a254a562ac49e3f4f1\nresult = valid\nsalt = ce869619607f71fde53ef55e18d01d20002e3f91a8b7584190fc6667b8d2\nsize = 64\n\n# tcId = 85\nikm = 17632581c34ab743992cd99318889b32f92812bd37f41636b5fbbf2b12190c6f\ninfo = \nokm = ddaa59f32235b0b32e5dac17b2b4420cc2a8c3e8ae48d1aaeea8853c2d0a371ed831a94606c6bcf6b08a\nresult = valid\nsalt = 55e39431c83648867ac98eb7ecbbc8b41c5a5e774646b926a9b49c511915b0de1241f8666da198f6ba4bf7e9025e434b6d7ef794e7a563309303055fe3bbe769\nsize = 42\n\n# tcId = 86\nikm = 045b4d451bc30c39afe0932f6cd62e65b4b2ae2cf1160f19e8ba1323f7ca146c\ninfo = 613e353162c6c1b12fb1477fbc54074ff7848a14\nokm = 60cdac1a10892b6937b1d648e3339c572e885861444082a0ed013aaa76d763c27c93ed89487ee85e2bd3\nresult = valid\nsalt = b73682dda0fad41095070b2b26f2d7d98ac62202d918258ca9aca0f794ef5e4d23b3fc43c8cabf9fcb37ad9a62337fbce967fe24054c3bf891195858e53997f4\nsize = 42\n\n# tcId = 87\n# maximal output size\nikm = 78da0447b11a85e315938f70a45e", + "bfd15cf5bca89b6832e8f490aa09e044c602\ninfo = d69a09972d98ea41\nokm = 1d4f394d4a3ea4f0f91aaf7bb73d6728338988d03004a34086d8fa0b1c3fb83ece7a19b9912a3c68367fe9979aeefb2c3faac683bebb50d6ce8c9187012e361e8ede6cf6ec44bb4d2c1c30dd704a2e6145662a8c700a02fad9bc5158b69bf0371a0b1adc094152138785d0c1ac26ab42e58fd0e86818273c967154c4cfdc1af4d7b9fc788ef0477e271a75002baa9e5b54ca66f81885fbabc6ac03a2308eaa146b76a8c52aa6cb97032e5ece2d6df99ae25cdef3f4d4358704279842cd24dba9c24bb0c396fdab4bb9022365783dd00df293174d66a43ebfe0a562b5d896e31fa59fac550cfbeecbc0af54e6e97854d8fc2bc278bccef70296aa8688bd7488aa0b0a8aa72e3eaaf10f279247fb6929c6f4654f741afe058059bd2eca5a7aa6beb4132afc8e4458f97df107f125c2a9d8c34f62ddbf154a62ae7425e3176ca1232f1f3fc3f763e76282bea8cdaea3c32ebf9047723599b56e0d2ec033c27b5c2577adc9ee979bd88da83d20f8298d3cf99c883f84368d98d8ef3a5dc3366ec420388c6c0144665fd2b091739fabf4a3dea16bd54b45d56cc18ffe9a2c64751ebeec97ca6f5905f01871f6d14561925151bcdafa32a29860f4386c77ac28dbe4dc3d67b008f63bb5a213c3a48f2adc7a024d7988ab26b79b965c85f013806d9c725264974319a54b4d9501ef08baeb606f8f17cc08d60dba42925342c6a77886f95450309ea695a7c7b7af98c797cab067ae7aa0e2ac1e140f841d99af4d9b5f797ccc40ace067d2b86aeb2d4a7bb852e664049d184349d6dd8a54f3fc168fde7d7602977b72acdb218cf2c8adee00902c0fe00712ad10de12735fc006fce75899c446ac151c270b5309f103120caa91b799cd1b7ec368821e4f427c62e983f349ae15ef7972a8d35a347154ac942133bf09cf5f92b8c4bf330e85d95df574589e1e38cf0edab7f091f6b1c3794ec722e9e70fe6fc780525c0b4b0c2135ff0256c2d1d30011494c7e90fa2e92c379f7a74e3b3c8a0b458f41bd5210ea2baadaa9ce5b843f833de3f6775b4f30291cfa8bb7ab2809fa0cca97b01706ca3d9c23f83955c6f47c39b5f38a15a7be91d70d3acbd3045ef92d5404b762edf5b8d3ca4a8e59ae48d779d2d5ae29e3944c7019df498cb7ea7bdaf4cbcc87b45af7b706980a45baec6e25ba4c3dd934eb480545dbb090d0670b8ea353327acfce9aefaeb8f3e17b846c64630a3b4a840ab694bdff734859cff62c55973c4012fb3a697983bc8eb2290a043f314de54a95cccd5c95d807687cf9179155335d16ce0b5cca52c09b951826137188512b30119449f8d4ace4054aa8743dd0f21b9ea404c6e3ef14e49cc36dcec48bbe2c06a053917f4bebb9ab8aff363c36c49076c171c08a18a7a195bfd2c92fb19c7f87d4113fa2fb715e4a7889e13f5ff59e51b0edef284c1bf4f1df33995e975c0bdcba13d3ca7dd3225eaef9718bd841a744e192eef374f65f9e9319b8c2d2f7cc99660b8a4acf77cfbb02c88162a5d7325b474aaa5dd32a2a39aeed0ac68b860e6a11ddc73e2f6a4ff914d40939d80026de5bb50f90620a6f11bbaf8f2656e4197b4ace49a85efdcf856b2c37b602f8ac71b645bb67bbebd4b20d97c00fc3eb92fc9dcd573db6b4d09c6a463b1d25879cb04678f116ac9b152c05a92e5d8246e6b7478e1836abe0e5ec0f17ec454ac8a9f9f400ffd44778df77bcd8db1653912fd2e4018330f249d1fb979bea28a81d1234cb6df3266d8597d5cb9400d602b855c6b7ec7e12f9a63568142b33d4a8c87ff895d37ac99950d75f577cda26a69ac7eec67a7ac6d9f1d419e8beb58388a09fde9c5d0d0fa2bb578815bfc826eaea6a10417700b250fa52796a4a40b2de511621e4bec6b9ae0161241911938a1c719686bf3f442ba341d8dca6cf82e16a72b4e08fb27bc8c1d5b584b65f92bdfb838bc5f0ab6eb38abd7c3ef13ec87a8dc24d69b451c5ee0793624352eb72a9bd9d895650e8c907cddd49c4056f03493bfb7dae63d8045437eea1543386cb89cd7c6875c227fa5c1ff4f20f18e69bd795ecc5256e76e7fb366195c909ee43445184660414befab7f67048bb76f218ef07ecc35c73a23bab782650ebe6c355eb28a29225d79cbcc61ef4b3edaf804b852d292ede13fed0f89be119c7a594a0192aae64c499483b11a9d702f0bb415e486b139d1e07830be92a44da79bb0e4489a74a97f07577a23737b9a03c31320588586437b9a8208c02436fb061adbae958cda6f6222e235a16a3c28a870a58e29698f7996f27d40b5d0d8f3db1dea3ac806c10568ca0588e0a4ec5234ed9ea7ceffaa74a2b8c0486208f3ce28fd9bebd472a66bb4dd1fdcbc0ba9ee630a48c45b31656a50233ae2acf03741a07cf8d18eec13a8127edbe65a6a7a8d0341734a5eaf283afc80710339442b390c48e00b441c9804c3bcbdce2cdf6b94a82bce257fa33be9f38faf7de0f9c20f2bf38ed0621befc05b2fa0828e190bbb2768aeedfc4193fb377b24b8f34e531340c54706aec1cd0fee016f5051c018a0dfa66cd0e0e0f105a9e365deecd3b2a0b658edf88eace65b314131b1ba0de9cdb0586a8c204a4c0878aa444be0c5590628ba53814ea443dec0c08a5bbffa6e4af13918f9ccf235c9036c1bd5590f3e7def42b0f25843c41c9bb32bd716b0deddb3ff7b9bb6e582a9b632614521dd795d26c78754bda13a9d5f15f1eea1fd1cc402fb8da8ab6fb8aff96985afe2ff822f7403e3fd049da82efc34d8dfcbbe3921df8288a5dcfc7f9f3ec990f81a87ef5947a839725d09282c2b1d131a9513c40c8fd3912a51b94475ecc31c221290bd3676c1b925e2fda729843f0c539a1248ff7637d8ff8f03754a7523622fd2cd13e5297e72a97d0299712e428b82524fe99d056df6568dff5e450cf4620a587c711b4f1a016c431241f040e33c4b0e0d96858fbde39a602cecbf7ff263e00c1448b6f3c0c9e9c55b2b035703169236df421d6ff67048908a89e38801a370a92306a235e9b5ad9464d07440ac86803568a36f6d63a9d89fee42b493c18c2e11ce4a9ac57863e95cc98940120db6ed0fecd4800e30f1182e59f9edbd90cf1f2f178b479fbe446ef328155ca11b943b9f5e7c4d1950efc6b77a9f51c5eb0cd559c47102180abde687a17530db2db357c4621b601dc22942cf53a48bc7ff44edc07ce7835d015cb180dd5b4ce7d97fee5ed9e329d6e62828030771b055e9444851b8404dfa806d97ba5f216f317ed922c4e8641c9f767674629ce9a02b98ef0398a5c145338d908156ad9649dbad711e90e4579ea3c728dc69d3d4a60b172f7a94e1b3032705ef0799bc1461ebb34dff6895615d69252b042375a6dbf9dd996feb0edcf6694a39e2300e91a00dc04074a24c59c623c9bda0fde4eb60272d846a9955bf442ab507381376b9714fa55274e1de7e0dab70db44bf27b588d23c4b582dee00c38238eef5e72acf1c644c6cae739503e86c9b36ea74d6c55097dcd71e454621a80e0770657f93405341eb3e48299791b531574773fd6b2cf5faf58e9d6caeeb511c823516ffa92d6d6f7f1726dc7ff014bfaa9421b503b271851cf6baf3d788f363223a586a18ff351682494d65298d204bfe931c23deff4474e223fb735c09f871212b889e0567451db780bcd0f8e226eb01d3ec2237fc761779c8f13aed5fad572a3ca4eb99979aa03e66fc531b71ce1375bd68799b4d92239c93dc341c4e6b60d5dee9168b22ca5de1964275203d982b5e09310ee56a0121a7e0ff92b3ef6495536ec320668a4e88212f5d611335c04457b85d7b0c8718f2665e9bee6fcdeebabb94da8dd377ac8b4ad003b663e163056d7ce2766b97182a7c92354228bb8f06ae9c5d227026b3fc1d55254e1943b2decf5388de21a1fc5758cf74f69d6debb155ee7da7af647ab1c3e6b8a0f5192dfe5be41e94c3cdffaba02663fe53731dd920f37f19ca16c661e58295654e1692cc4cac9bd9d9dce3297c7e04677fec0f90661fc803999f3234d76ed10bfbe4928b28c34acd10e5a1972842b1b6ce216c53789a185957b866e5e2f51f4dac6b16dacaaa865e9ac5eab3e5436e2719d2d12d0c371cf11a35583cbf063875a7c7aca744d713e5295e5edb39b13dc06298d75b7b3a807074a1e8f4abe691f9d1233e619cba4edd9808a271765bb60fc5d674fe3077eda7e97670fb3d68d68621e892a261b28d50b26e519c3c6c77295be3d54f9e797c2a946c97b5dd67c289d028df73a40a3b6d656c812eb2e2209def77ed68625cc8aebad4e4b1641600554619a9864cf6b07200231e016b6e01ddaba40e7047dc312beaa6f891982ee7c777bf224a763f76d7e7baa6807d84d495d661082beb60f9cdd2b8f6a9f1d04ba184df5c45cf5447a388bbd5a6894ae7f759afa04de88032529d37c1ec9396d0080e24ebf4828d57e5b347df8df9f80327ba121e40b444cf7a4245da5d6a37b01ae795d6bb8fef9f947e2842a4967ebbb3919b95922e2896a93f747f9ae6cbcb179910c0a327d656388e47f2241624859a6a87b53a15b4dc4f5e5d19c4af7c7ab2b60c1e71859c276a0c5a09656fcbffbcb5f98fa1401bb257277ab1de03b378a928d308fe5f33a0f21629522b09c0e0bf6c74780a30859c1cf7b045a3a1c70febf69f595da99187b932bba493918bc48ec407638bee8afca71a746d0be340c9562bd420124ba3938e06be7a774405670ca98b677942340774417d957eb3550925bb7eae805306f08de8a5b45c6e5985c437680b8973ab62f69a675cf24a1b833d6c4fca694674c3ac9d2891ac737963c3d2ae5fc8fca9a6348c0791f5f4d322dba8ab53a91c0607c9983373422560f124f5f1eb53a9207335304c35844f503a273fa4f780bf0cb4954397c20899f015bbf27fdc0f5c6e6393a285cc8f279de96875a965dc699f6ef8e23972dc838065db3b5772743dab3a4e91634e1e38f8a0de18ab19368a8902fc9a73f2c902cd3364f0afec7937cd65da2f58037b840ae4cc33bcf8bba1a471f123104df56ce5f5ec0cf7ac924bac63ad700345236c1fa4f34778c36d71c98d7232bfa5dc1c705a1d624bdb641bb83ef61ab4976bdb9e5af58c358ce77b4d4c6cbaa32057a3ed45990c844f61a7a77ddaf65203c9de21c9d7ec7770049cc524fe869d7954d7e7557c895cda88f8dc93f15cbb1f97601383be61eddc083ead645cad67bf404376faeafb6d9776137b50397cb4269700606e149f3f7d031e8e17f4d4e5d905cd782d7d435174930266f90b12d04b67997300b26ba41bd2053acaca853e50bdadb790188c53abb181458361fe5201c46796b4f2c8f698ba9358e75ed64ec8688bec6fdc6158a711c6f299c8e12d78e0cdea6d758f7c07ad8006800f147669c8232419d751a61a8b2c7921b1e9950180867547ab4caa43d45b14486bd4c62e5ff88c066553411638bb1d0788bd1aaf2b62f1865c550eeab9a6c7ce57f55d44edc65fd459f4ecb938466eef07e90768715bfa3f2286721b37c915bbf60184cdb8f725c30fa93d902f3e2225468988678a3424786724f73ac1a276c69deb82387d4397ef27a1c3c0d929d1b0d7a9e652048df5caa0b3039c7ca37e2433c0be76d654b2ad438f5a87058173697e606350e8a3b827efdfbaebd502aec905fd3eaa29e1d0269a49349e8685d290a202cc62adc0bbc18002bcb5ed26ae33dc20c5984edd81f0680", + "6e56034f945992329b7e7807455fb876f7f9e3d7c517c181737cbbbc3400f138ac6fb4dfe13a60931eba46e0e76b72d9ef85da6c0f92f2d69dc466a51aa689c6238578b3f668dad4ccac5634e75905bd6bd69daae8a84eb7b13dc658dc548cb7ff0f07b485ca21f3658730eb70367cf05e96030935f153b08ae8d98616e22d0cb43c7cec4e19f8d7f64e396b2aa352a1722f057d15385e1bfa776477547201d4db4053ddb12feb93d3330b1e7f625b328b8fa64c9554d271fb807f5d63485c8e6a00a05fcdcfc9b0da916832519a10b6e416c7e44d23790b4240279af77d11230c84ba50266f20884c60efd9c5cc5510a31c6f5ea8d632dd74862a9e46be6ee0f486aed2a81fccc89caeb4ab41e9cef80f967f136fb4596227d4c604fb5ae4c96ed04f5c1852d185c22e39b4463ae680dc1395926118fcf832b1cdf9dd55d15eaaafa173c6756dd0906e8d6dd28be914f3b1d4dd1fe774426a887ee2214f0b65ad22c5c3d9c175a29df3cc61e26a6dac2b2cfef7b024557f41db4d165416c82ad91aa9c1091371260672837792a41ae09f6b9523404a8339805766b1a88bfbdd017d98d4e32c14aa879540428a9ff83d9ef2fbd937854d30efad4fd9e9887ec915eae17ea64c34886673db98fcefc5ee0e76cefb5873c20770ed356ff6aa16d80bcd5aa8cee864065445dc816da4ee681802a57fdc700429f98de59964a08e4ee2f68e8386c69fac44ec4e5bbf468148df2b400184108f7b98d5e5496f4aef27bbc215008d3582d53d465fd90a119de8532bdac1278adb4f88825bbf9a8e31002e3235488a0703ce1255e7eb12b3daaa306868b86afd2cec3cb31cad2d2751e5ee717c434779d7bef518ab58df9a75be6da58ed8126b5752fcda3903fc46e148dd92ab430e0b61f388d4a5b8243a06fb644846a94e6ad46aeec1c9e828b6ee24b87a98f8d61f59760510323224fdabbbacb8905c536c3713af2d5ac777e545385794536eff117e6730812019a5daa162dfba23addf74e030d91f2b25f7a5f5e1bca09bcfe49df5d52b309aa35fc561f2bb9d67c60cf3dc390e3580d2ef54c57ac839e6e863efef6bfef0f1be28313a4d291fd2cc56bfbce122f358d4e665d987aae72f1c1c2115e4ec730d8e88e39ec4c1744e4f3feaa797c01cca1a86e54eed9db979e67389a39f8c898d2a8ac612487510d03cf1f5fd14744112569d1f13f5928a34bef62b3049e2fba45e7a0800908f9726a1a834c6f145cde1675497031308a34ceff22372ea8ff5c6751ccbe403d00999358124017b56b08f78b7b41bd15aa1a43f99999f449b58717d6a5d048db0a996947e058e899d5b403f7ba43a62bf56bd7f3e7be9b7754d025e90a1b5dfb3ba9875ebce74f9310b5268e85ed5355ed0cc26b70517caf30a46c5bc24d9a3d91aeb5e03e7990f518d01db4de8b29734ddaeee0832c136a6132016f1e7848f413102f6956195d9ac54bd0b488aaf149ea39057cdc528d0f93c1fe487b722fe13bbb95ae40af1fab137e5728a1b5398666ee454c2c7d4244391462b4075a7bc04557ac9479ce09ddf72e8ee1a61ec07a228b3af281ba22699400bcb1acd0ee6aaa2da722e32d8f1aac209ae443610b27b4f3919cb1dc81827817b652b00a892633d5d148957e0414dd913e94e97ec43fac40ab262bee878df6fefaec5defc09468e42ed56f643b9cb48ba220cbf5168ef2428f9d0373d68a4b13aa47fb3e077f3390ae3f49749526a7448c3704d0928a393b3fde5ed62a4f8f65fd572b1acb1b500f2fcc3099dd86e74a88400002618db0b2bc32ed701d10552213f0217aa4b6983f71a8f5575d5d42184186241ae4afd8d0acc6c1ee88462c4ae32fc9dfacf6b4130c91cb5fbc7caa0f39484fbd88fe78b950e33011fdf8643104825e7da91082f7e420c141b8b6f10fabb520a680a2ffc561aeed402a8d59053440090549de3cca2e1d5bbf816d6f1b58680d43736e77a0fc078bb6f531b7758a4cfb3aaab66f0c61aaff50e75e08af403b03e9d0056fe04a63a758eb3c2950a1072d949879d7decc2fd99b3ac736d22fd9fdd9f800b75a3395727129d49a26d8afb9c477550d3daf519ad35e580b05d8c05c5c5aadbdbdd51c971b7452abe98d1187778f15a427993a2bcc6ffe626aaa944948bd0f406557231d8ab67b02b59c18ce4f8b52d2e124f15ed1408ae07025d4ea841a2688f1c33fed563331a30200c0d82da82312f395bc5f54469df34a79fdc9e363c61bccf27b07a06dc7fc459b977192be6806a8f45db5400a09fb2d1c7010f252337927944bf6cec0b7b0d62685c2ab01eb858d69b8344b2830ffb18f9c456bc1f3431b8c4f29064b4d08287d09969ea77941b6c696ed83fb2874fd33725229c9ff87b0c2081d7e708563b4831e4b097d41442ddd27da9fd67f33564f9c8958205e15cd48e4062124b4d6349e99d350d37eb56bf89f8328e60c97365eda057333ae1bafe6cbd00c76477e5e2aa2b51c4d2e6f9623fbeae1b2ebab8442fd16a44c3d632627173518d5c8cdbe5126754ad62827eef5e43770a7c4796da0dfdce390fd138ebddb73ea1b02e8771804747eea0015622e8f06340b4ae9ebe6ebdcaf831dd5278319ff6a1c4d59a0f27b23207d07cb4da58914d560a6ebc20dd094ccb3335cf11df6f6a9134c3689c342af7ebf46d7dbec8aadf8c37afd56cd1e877903efd2ee903ccff9d067491e0dfde2c0041223be2ee7df6dbb51019438b8689d211ef99e903db742c1def4316f4dc071e759758b64e3ce8377c0b960356e7ba035b4f487903f8c16f028e09d8960a94ba843c99377b42b227843432d260d51ef605a13195a1f55f3bb1e256283418d56ed6a1c3898beb44702f092838d7cba347e9af538f5b6b65b52ca562a215cdf68d34ebf60561c02e5086fd78c11d35557f9019632c40faffd64b78d87f411bada077946cfce6e3af66d239e61ba08252bcf158ed296a156021a52425892f48784ff7a6b55fcc5aa987959a3f6800f56b756bbddc3dcf7fbdd79675b55cfc22d89f30f3925a1e9ac04dcbdfa9e50adaae9a36cd8a4af1ce804d7f638fa6c673fd041cc7b3e0e818f11d9c2c6c3acc14141e629fbe977d1c9f904f6f83a1b4ba9fc21ec88e335c82618f5d5d9b8d84b5f31b1d60b69e1f59a6c4d593ae3dc1992af56fddd3fc3e4c58f79f428a958e9c9c930c5add1988792109ee4a0f3def25c1af5d5f66efcff7ce987f9470d44215001ea6900796a1aabc77393a74af29797c6c3467c6c75b0ec1eca2bdca923bdf3c3d40a91128ef56099fa85ff3caeb5b4200bac84e4d57afdb60944cab37b85d15ad4afc72554215bf3d4a09733ec3abbd7bed484ac7061c77027cfadb3751d5edd53f01f01fe8f429da41e8066b747020e34a6630ae8a9407ee988208fb0712ba33b44741d85d6f16991f77e98a4fea68486b3c6fdf40cf241848c641644a80d518d397aae8f7cac1cf9aa56c17d617392d876b5927551eb6d08b448a0863eb898b1e39a41bd1cc6a29c45651599adb94680117822bbcd072eb076b787828bf5c642ec02da763cda9f98274624c94eb09d2675d5d82c41a3ae7ef8c14a57ed24b5c9e79d7c2e2ddcce6a9b11b4a5f74e2c6f7a6edd5951c5d3198b394dab1ed7eff28830e0806648fc0edfbdae636c3e72ac8868e7bbd8c87ff955e75f469817ef238968670bc0c17e79dfcff93486da5e5ef3628126762e2807a2eee6fcb9242036d45f03a7635c7aff2ea61b0750d49f74edb6f8360e74a2d357875f4ffa4567a6c367a9117c29145be97aa27312d80b2086108ed8a66874b6e9a5065ce8c7bea9ee0a7c9974d6824e64a7eacd613d63fd9da09bd3e5f7365edc9841b2168defaba5bbece5a939604ab6a5a89d1fa77446e66d72d40bdf2e25856454077d2468e10be476472ffece14e23e0e907a231ff8e6d6616ff2ec96e022a5a20590ef4ec5d137830efc7fb2b0ffffe22692f06213711a4a09b3c0786811aa043e19020809e9926649eec038f1bc5606519edb9746ec4313fdcc0f30423abbe480f96517e20ad8a9cd613193aa0c503a038a728cf6b01acebb541b65ffec1803251601a33428a263e43d17824eddb9ceb60468c8039fc84a5843df7286c092b02eb297ad191bc47d36c0a9137aa5c281c7499dd982e6a56d60f6145d354e8987916b106776ac806035c3c2d7be3ca84313cd1c4a4ed89682c8e25506a554971fcabb5aeb611300de598a1318873b8a0a8c151bf2660f5359a9926b5c6f67a5a24f8af02a5452aa972a6929511018605fafa6164371e610f6af5b876560b63065db9851671774ae1ad295c0c47c5239d5e6cc30bb1911c92f2382d7b671a1ff036d90333195342a2301eb91a44e731cc4ddcf307cbcdaf650fdfca07a246cdab1dedd50c88a144f7de41aeb9c59919b3aae243cc45beaa337614dda2caf41987d33dec8c392f46793e59a5a0a092d861e0ae54d2bab312b641b9de25ca31facb5f36014ece208025609050d8ee10f95978bb7c045ed8c4b35129af17d8be198b0b3eaf1e4b170f1fa23cb9a59173570135e3e3fb2be9013e16355c5cbf13272293df09e0faf973635139caa589fa52ef4320af22a583deb18c09176fec41cbe017a3cb0f53c622f40b84a87f2913e7fa4f18785798d7103efad3c92cea6af4452d553ea34e43b2b615e06a53b956567db95d0bb61a8a863ea3391ff79a94d50d6e35a89b46cd0e84e10ffe0735f1b3370f763be3c713b64fd23bf28794fe3bc62457d2cb500dcdda415a0c2ea75f1ca1b46b6fe09af8b30ba4a77810579a6545a15bd09f9be023f618c4d2bbf4e5de575e4ee0c3da911494f80dd4276e8e9e6f490bfa0851cd8444ca1c913824d07dc80bd2e7c46a388432604aa2f9488593f2aabe40d8082ede5cb4e7f68737881854175b4843b8f449e29762057918dc317607958e7c5359af8b8969b008654523059931a7d204b39275f7400b46ff5a4b6d21efffaf57f3f0f9c46adbf856d624b78f5f349ea7c87ff3a2a3f6026cf3fc57631e718f0a4a27426585cd0d03951042b92e558f368868bab6e901f136fbbc2a458895eb295486c5b88f68b5c9d507e0a50e5065331bd4cd03890c6a250a42d0178110a0ba409c8144d4271cdf90ace71c4674c898db3aeb10fb7e59587f8b595dc9a914d6a162c796584aac91598dc84d11ac079d41184a16fac6a531f78d94895579b605987894bfd7ebd3fe57f3fa2dec05e4e25d717ecc145c40514b9383a431229658e5f44b4efeb498ad8e5b7a62ca4203a64a05dec0ca701a402bc6f0b57d94f570aea2991215f73674e3d155e15baa75342fa17f7d5d34a05218ccdb4fdc019c4b00ed0476fff874800731686a322ad76571856582743675cd81204134f11663ec1fdc9344bd649ae6f01e4b043fdd74d58c22961a2653d0da7161ea02ddc60028590e3178d573c40e08d8f0814535aeac049cdb06f71f5b537da672c23ea0b28d6327e52feb83acb22be0ecd53d6cc1de914d6b137fea68cd1347967c39de99250377eaf7e909aee9447dd6116aeca50d465feb8f9db3c571e12b9160e2cbe3398d6f065a2e2ab16e322370740d60debae1196f6b27d129b9d0e702eb409afa4b2fa494363cbc3df3ef0ff6dad08a1486d1f3688f8e0c1a9651f4fc79b66b2d6525f13d2faa8398941504f330f34ea7ce4a1f745b905d83169083a806051dfd96aecc95e50e629abaf87f7e6785d86c3c392917b3f4afe087c0082e4cca0f257bdc", + "d6883d1a0cb917c1037c32d4aec1f6827b4051c6f47d052885ded4e7b23d75c4d6489b5196d2c9a32d436a12e51ad94dc88367391df06b4c8e7272ddbbe269673d9b422e87866818bd1d09cc15a79fc8b45654f12e6b431b3c1ace46b8e5ae1b5a6dc02707cfbb2fba27b5bb6bd0d646ec4ae43b3c84ddd605d4ecdc8f6214abadc9844511a3d7449e3b02cabbc2bccdd79760d79b26ba687986c3118d3fa9dfcefad6806e3cb489170b45c65fc0f84f813175247c98731db96154f263add9f1704f142a38461a8105b6d6b6a79adee56b33b4fe7e275d475ee51956c4ef9f1202f1ae479caedf465a730c2edd23406241ca4859f0acab9ff24a561cd4c4fe263fca7d146958f4e9cb2b50aaf33c71fb955b34894e417c41cb0de82b146e4c212b72835ebb8f98c6248e019a908babb06477b595c526694a484d2f1632fc46c27923e9f316a6d732bb8fde0598df6d2c1df4c4872dde9153e85c3211eaec6ac94730c0be7228406a1f9b6a79947f479c31ff2f34fa532cb5df00a9a1fa054252bc764fe2d9c010788fc4be141e574d858c566ab627e92139b4f1b6f6069b520657f7d3cab1693ed693a8f43a037965e608dac3ba4a9608fc8e79fca1d63e2f7a8c3b0307443aca861a83a698318a140c2a1b92fb351314685dfc2bf04e8745b90c4d719d76b57f7bb91c815a70667220601a66b7bf70f7bd8bfba5bb3f9a4e9966269439440d2bd0cc7348bd4aba6383de31058149321e6feacfa6451fe9703f2858c6ffff96ff5b33a5c2a70a229fbd8ac2cd00717305425194b67312b0a339acb39d9184aa43a2fd4e09b0764c6bc05d36fd9e1c258f37a65d5d5b09b5ddab30860ba4e76516678d806208297dca349ba430c0cb51d00d68fb027b587e8a8cc11ddd1d2667a798a4ce01b0106695d57d9b38bea5df494964ea0efcc73418c91976fda9406e33195fcbc097e80dffa1f8deeaa208fe29d666e1b7648960036273c219d188f0bdf7966a424a79c5bb5314564d284b7858acd85952c12e6397a2b978bfd4d20b251933506a532a95cc16c6c8c691432d8758f32a10447c76218a144ddbfff8d4f179ed4a1c6bfaf304a1ddbc92049be8cc16ac1c68f47b0b0aa5cbdb4601f88897770fc4097eb56e44f3ab30b13ce1d7fcb707369a88c73a770702da11107109f993c68747b9d692fd3daa64d9978a3b5c9ffc2f70d8553318ec6605b3722c3e630503d307772caeb839df8bf8a7e707d394501a74e3e1a9d299ea8f2f7c63e9ad92180aaccb52f465ca803ad9c48de555df5b5492a8bf54494c4f9b2951bea4a65a309630d1f4f040ade7cd75d54b6fec534d64b2b0ebf96308aaac9745bd4c9b83773ade37191261b7f5a44604f88e48f4db9e250f24944d72ecfd03355f7e13c959bd726bc614767d49f539660f7133f226981f8fb7165581f14ffa1bc824eedba1a394458887ca1af9edb5af85b2cd86c8e93bf03b401f324a54e2a742882183a649ed2b0243fe0b5f234f4e4d7328e69e7cd4912932220185eb19f333599a9c8befd893dc637cc7a72bc41fe437147d3958049dc768d71c64cc1b87c2fcd7d34ef4ed683bbb366cf061511ae01ccf7ce82014fab14e52abf5782a09bb32e82a330f1453576c21a2ce9aedf6b36116ad4447eee277a0821a22859987783b944a3961bdcbf540d4318e0c5e59558fa88ec3b3ae38fa85303fad6ebefbdc2e16668043e7cfc35da5eafc1717316e13389cc208ce2621b153d65a91488ee18463220c43ff79e8b2eea821c4b91124ab7c513e864e923a75157403599302bca85b72dddfd256c09698c2eae11f478fd7c381bdd7d54bb2eb3eba44d13aa408f80b1f17a74c724268ccad52af73ad281abe9b0703ca4108b1062d0b465525e5a498c13d56736c8250e42206c0efceacbd2a1553d693376896f28b182fec2242969b9d908c12aa3feae637aed62e8195385a5cc38a4154c24e7ae759ef1a4e7cb129bb481870fefbb6138892f293b3afcaf4b5bc260e06798defa433355bd99b347287530fb9a7a33f67f3fbe66ab84079fb9b0efff62161007ce8d0f63f34a494b8dff2abc25c30120cbb12a3abbfb33ac452f0f7899c4fd13bc378fe27eeac867e2523f136b4bafe2e7523b7f73b21aa66f82e352682100d3b461d88f5c90d179c6e5258cc736eefbfe1dda2180c6420554454b546c89ca17fe5672a9cf7e457e1cca331cf4a5b2d503bb0a62904e9166ff769c5b364670339162e386a586091401fb74c580152cf3ce3e58f49585f837289f59128ff7230a294e1a56a7771cec419e3d92ae5420dc4af12336486e13346494a402a455ddd4f6544d81772d0380229c0573dc26d952f23ec66c2438d8e0c9cca660a89e1d0cb8e5114b3b9040630853fcddcc041cd3435c709c81d919295b4f0656dbfe40bb86b2540a8ab93cae5d405abc1dc56b79fc8011e9d34745b28b09dd515df5b75b70e6e01b3a013556ac0c2984652087cf11682a4e14b40d390fdc8f57e5f0e09cd8a808e5c91c45039c1109aec551ce4972fe26f976d5f37f284db1027a85c0f2c511b57fe2cbc0d1e6a4a2eaf9106b21a5b88412b34bea0ed585063e152e0c4f321a81bec40e25f74aecb43cfeaa13823a24438f0340315a7f3030d1b29ff56f3142e9801f62294097d96a61923e747f6f1d3487eb3e2ca0735fd277f6ae054abb3ec1480d58dcb543cf188f238741aadd7b453cd18ddca0d8ba0a587384ccaf69c412839703103ec0325c432253f2e1299f73fdb563218ecf4763ac029ff6a35195bde2a4fa3823842b92afdd59ee341e971337a54a6de6303cd0e09c83be0c3b3b2e71cd1e268259167844ac45d08ff9ec8c9bfd3a17990d8502bc01d192370c9851346715217ba3f9c2b39f6577226db8423ce09fb4f75040327a1034a8256515be64543e15cb204674bc68fe93252e1f1174eb705c0322b3f7295a582a435acba690e30f8ac2815748429bd3b29ccb5575741f9143d026fe0d20abff2eb2ee53473bb2fc869fcfb61f346e5b05e0aaae432fb7bcfd4382ec234cf554604f9548b0a492e4d91c1b6e9d6ccf1e11863b668c0fd25c00fe0b3a90b3195b33c6847f64241ab5bb4bb6c10805f3c2d67fc012cdf420a3c66231e6815b8140d40f840ff55ad6945bb8e4e99397092413655bc385e7005f59a9a74ce6d66eced18eede5b8d83fae6ca98f22b1fcfe5000775f05dee523868c904570af548e8af065713612ac9995536663dea46cdf61133e88eacf9a523ae875a8cd581d93438a629f572b3735d77afba0851130bbca2173cae9d9e84bb979e8acb114d9bc78eb8fc14e6f4560db8a72cccd5a07bb2a1907f4dd294becc0dde4cea8f2a1f138b8d8cf01707fb5500c7353cdd95494b6c8b751322ea6679aced2608c4c691b3c3d6663ffdf96a13b556b7c5fc017858d92ba01e80391ef1b2b23b827eeebe11505f320972f5866f80b3326da4190f17aed2689455d24df9341cb52f81b43f6cdfce78cf2f8a8e6bfdb5c5f667a4d45b9905c800c1f17f06ab3cf3047754463f219db75b03be4d04ae7a7042391387180fde9b5a3ffec8bf8e2801ed8338a6d4d1301b636ad7e221757fedf43f9f3519b6c7743367ea4643f91572042ed2111c38eda14ade56f47929e8723069ef9392fd60b743c09cd6c0467fa4a5367c05eaac20c6e9a84c2367dafe91db2dfdd953a57a9e80814ac8b2bde5193b12214abf9a69a12ce2f43e5bb14ef6ed5678b34bd05b8eac810c202a2b7f3d762a8e79fa98a618a2be5063496f83066dc8b37afc310c07cdfab9a39fec3b16f890b01481a320ed3b09605f27d5b08f16b046149a65c899939c7d8edf912b900e0559b39e23b87740306026d6fe9c2da6066596663c71a5dc98ad91bf59fb8926eb44a373c57073635d6c5377c396f7ff80b22eaa7f40dade5919a8fcec035cf759c4d1c82d43575760e6d94855f971ca0a3c05b206b1aa98fc7740f3fd54dc4902055989a88ffa63c1e3b32f227fed8ec1fb1fce789bf35976024d98296f766404f41cc08fbb3e1147ec31433f653e0c1a7e821c00dd7431217c775c60a90f3232be9b2a132647185a4b6f12d68bf9b25d8bab80cb0e21b4955abd25b7e946e404102a0a293152b95147c695242851f418a56feac219f66a2b0dc7731da57ac9fbf2103e31979d90b7b6be00e187f7b64c9c82de398fb8c3e263fb181df45f43b54481a0b600e640a7d2d35f9901999f22f18a696fbc5d6563ad45d1119ad66daf5c6efefe5a606d3f2a2b2c16b5b2ee902e47eab1e6aad6ef04b542c5ffd95c21964891e4685369855fe0dac84132fb84170fdbb4d82f19e21b2123a003c0348c381da312a9e4a9933fe71c749245705368bcee1a48caf7edb4e605167c39d42c13f7b58f56ac44a6716dd23da791726e17d271ead5e4a85aaef83e6ad5148f6a8d50da31b5dfda5a00a8d52311d9d7558721b86f8fbbf468c488717f288aed39458de6a1f80f5c09cfe40c74d514627d45a68d47fab2f88adc8acfdbab074b72f87d9f46eaae139464748284f70d31d47c0b482b8c94a136a9c8d3e8f35302a05602af8f75983f065b270b816001c1735bca7fefdd37b0deeb8cdaa9c44ade6cd6f2d56284e0c79b764b569b59caacdb7f78f39409fcacd6e8e6dccf67f145f06ebc698096cd5eeff7f402d7a36597c7bd4989e3c77514c6d386435041f7ef808954486f9524f78434c38dff0604800cfd627ef84d5afca98d81b8e1e7b8b0b2af0c2b2382d70116dda6ce1e3a5f395cfceca43741c61a0b88c0eded9550eb2798d2446efef4f60b054c71c7606c219ff7113fa64d42117103a7cc4d7fe96b042e37a1887edfacc0ae1fd70e8fad65bfbe8041ff3a699836628365b811dfc5650cddebe40a44835f6c2738ef6054637106d6c4ee7f69a6f72633c9f35552ebe231644f19adb68c017daa8a5bce18003b34b3e3fa0852843fb08fb7877282fc98cff7c1879e249d83b55ddb236f7dac8bd7627606f524a44df1df61229bd6fc660e3718f13d0bd93d5ebaf50805e514583a28e8a9c66615ba722fd6187b8616476139147b433392bb73ec495f8ce55444d6c5589e19758ad9a88bc34b0a7e9897c7353088e71c5fbec7ab7daa645d9fe6d38b286ce2fa9d9a0cc6af5e749d1019a4986d83b9a6f54c41803c45938783134e54b0dbf6a78623aec3b6923aec68e3a52a809971807b5b65396635037ecad640d6dad60fa109e44395ac570f73f1002c625e0ccc577bdc1a50f2f3a5af4d97f4236198c862758e7792f81fca669213e4c26d9729599aac3de53f5bbd37966d5f2a9c9f97b61951bac115d6161c786a9daa31ff4093c938e230174b1372fd9eba242216f57970faf5c9e06a3732aae658e5bbd2398f0384c90e7ef3a6dd05fe70c91a8a49debdeaa1838d1eabfdeb70a5160ac5d84df14c9c760667502e94175e80d0a5104321cde94f08a226ccb30a26fc6fa15264b59450aeebe36f1a9dc1321157abf5cd5c2d2018f8b7737ec25eeaf2221f6d8b6ea98ee84d5e393627a7c576a276f0ea6b724aa46dc0b4f85003877b801e3c99f2d08773ac32819d368c36fcec2b57ab71e4e6ea0e189b68429e4f872efeb3917c6b92dd6a4b46d743f225919e9f4f86925f7222c7ec1ac061466adc62f5b462538aafaa75d6ef7ed3e022d442c4dbeeb95ae86bc5654f54c77c91d71c7c309601ef3b9679c50507b024da8fc892e1825cb77d131df10e4b53ff5d1fc1897c7fe3", + "b8069b185e8ca97f1772204e5a84ceadc892f8d3dcd2e3314d0d52894beea8ce9a536a88231f4d4386da6cae92841b9b90f78efa335ebca2464dd7017346fb53240150b5effbe0ef6b2d22398879ad07f981a2f079f28e29b73e67b58fa3163bb9411a5be962fdcf419ed7f5e67edb9c325aa6f1440d04a5111dc190e085e7c0f68365ab086f83ea68b4607f7219a4719e5c8288a0bc08889bfbe0dfc469cd9a90d440826ffa49296cd8b157a14f4383d47470bc139e2d38e0656b56f9958b5e08ac1802bffc142f9fed8df02e04ff976ead2817af9cc173aa9328fd73416fd105cd6d5742f509f7ea8864e13d4030555142c5507f1c2c74aa273cb9823e12c54d28842756504b966e2c157a46b20f57154ed063db1d2c31e55642edeaf53c3d078c255f168e5905689c30e94c8ef657e3990e3d32f09d41fbf6c4a360e3cf7957cff3888343f1b24d277d4dd8e70a3defe4cb5247b9f6c24f7469bf5d9270e9a1edd5e764ccd8b5e08927c066e08a792166b7907ef572dc9218600b18ca4c0de84870580871201db507af257d516c40c01902ac4be0a8190fbef31e71cf812dd3fd0d01cc6f4e5abec3bd68cefc1c97aef46e84923c08997c6ad565edbb70b0cd65856fb253cb35f9e10b485713cfcd5dd870ed6ea4d6490ef08323757b067abe2a1ddeb4e4e5b2471eba838682e0c611894bbfc1fbc831d2e6969798016462299a89f2a60860a5ed5fdc5854b2fb6c5b7f7e1b0efd261f70624c290c9207e903900faad06a7690b924edfda733a6e1b9541b556ff4c5585c3530349060eaa8576cc0e56ee3687fd087e26d933e4d0c5cbbd887302c3622a1a747096dedb5fc9cbc86b084df79d205cdfe29bb6e53b8f34d67111dd8218af04142332ddecb12e66d59307633b51d33e465b00b8126d2708d6caf45aa045a800b2860da7ed2b0af0f949a6fb164a9d5c837de7ccb4931c45b6b0c857c52f9030a377a75e5b27623e5d63badbd3d4d15dd9c36dd518f54a7f9f3271686fe5e606e608aacc9114e3ec0f6cc90ac163dd2ffde0fe8f2012477bc3a7a90b9df4233648634ec312a46994d4399ee5b5446c47c4d51658d88d2584bf7fedb329557ff80fcf1a94b03515561539b20e90e4da5c0626b51efeba29496fbc3091b70a73d9fbdb8739606dc5ee6d564d0f54d7febceb590be1e0f2b78fa7b21d5e181c6ba899c40d234e438bccfe37ba779cd8e1194a496e459c9e76fb9d8494a1182623ee747a3349b75bcd90dfc760f6fc72c174b5809789301ccfe6685c69968d1400ea9ecaa2441b8d772ecbbc8b8bbf0cde4887a9729298cbeeb2f9f5c8a823b0634818f78d0d4a79b2252fb5aeaa6c2b89b8818c18a21930e5b740cd842d049e02690fe0c10ff9b962068454d63f4a1bf7f6c5b7bec88db6810bfebfa38071ced9253e21f4be3790c5d96c6e99347b02d1fc6786aa7266bdc6f5c0e39891e772773ff348bf7e54bf21870692d07f2ba6558a20012d80351a9fe55ebbaeee155ffd13f59bab4917f75b1b8a0288340df5e06eee792497cded2f92016c00e44107b3eda12a007e84f9b81b09b21c22760e5d143c7acf0e057817149f07c055e049d96e0490f9b860bb80473a597fa2a842e0d20e7f2dce2eb2c5c68dab59d5205a5c9eeb3087b7cc798b02bd1bd84ac7d6973624fec2443fbbcd67cda5742651a441c0aaeaec96fb1186f66bc33f488c6f243ab16a07227e6796ab2124b62f6cb47255f2cab97c44dc94a090b366aeeee5efbf3846a47a886ff23b29dbec2a3df3b6295127d9b7fa6de46a69c7c195845e996a4384c07d1282dc7cd461fcf7eed91348d7481a4de5b3dae00f7326364c77f746e0271981779dc832edc3665628b504d657103f303443c653c1a1e898f99c794180bdfc2075787c0a6392e57b8afd6a517367cf614474ad2af4c221b448a23c0083daac98f16c9031504e778daf072db58eebf0485fd739e8431b88684f8cb3ca585577e8795415a16f19a11b5a60ae17bd244d12339bf1f5e9610cd19f1b020421c6b5cf6fd3442883cf10dd8ab6ccec576c81ee4cd404e89510b4035947a370442ef46a71ea93703505c240d8430c35d42078f45ff49b2fd382379643b36318efbcaef2d063e5f0306551454752b86adf5e406a9f190a0ac2fd3e8a17f1b02168e1a1a97b909e79c5e820376e6832bc3be73bace1dd05ec791590daf112a232a460a133e0d222d11d6faad404924c8591bd5900b34c829f6ab52fac5ff158b40089324d8e2ffdd53d0dd85b43995f7df351ec38825ea4deb1359e7fbfc8eff2135241fbfd484e1e832b3a680c8e228e5d5e5356818bf93d2b97bb68c6d6e528fcd6bc0fbc3ebb28ad842d94e750072d3a635e69969b778c8f14a97a2d28042a4071753fab49db785b5c41f7761ef49280a1a689642d6e47eb6e03cfcc18313729895c6bdc6bee62a970bcb247099c27c29733de0ed2de83674756ef4c84c41ffb7d47d67aeb8737ba082a33aea742601158d4843e55ee641a0fdc956a3bf2fba5f391b73036f1b4150f2908be5138cc0ee92953e2ef7de0455af425e8c5dcaac16b5e640892c56bf161ff1b94c16ff80bb0c3d6a876d072aeed92e4d4b1becfbee8b5c452d796b92ec452af4f8bc838e7b84dfdd80343983526d315622afdea80ab1ba296617556a993c9169f778c9d9e9256f4585e843fe550d1148d4d1a4891aa0fdff51a8f8914092a162f7959aa899fc3a0d105915bd88c05412fccff60504a0cafae00bb4880b6bd169316f9eb52835267f95c448cfd00dd1e409acc0cf2d7f5f6fdd1325f38adea4fd6f55af71c739ecdafe366dec44f3b544ae5c77c339e8fd5c7e06d28fa7207dd61518b3f327b35c6ab2b6e245fc4560770ddb18820826d95c743ffdce1b1a3af8a71c22beb5b5ef571ecab56373d182c20ccdcda91fc9a1b3bee03ee89cc38bf109cb0070c20d515f0b5339cc9060aabd23c2715f82a44bb10f2d956dd51f9c1d48dcd887b79723f9e7c61c87d61f1414d1ee1945f8defabccc0a4eddc2b5b02e2190d4510ec2b7ad404eeb28ad5a0c5eb838a35f39bf7fa91fc999445ccfa59391363ea6cd7ec389694eb4ecae97ca31524582f207dd120eecb0c6145885eee6bd39c8627c33916379a9d614c929adb64dd3fdb28c12b24d31b66919c4730cafd23fbd0266d471a2bd72b01cbe1649b56b4203c903b7c1e27fd00bdb8146632c2a5916ac678cae648192464082c747da12caf955033f4d942da3bd16690ced4653280abdcbe6ae6780a5512930d8adc6f7badde45a3426b78271bada4c28cbd4c5e5bb5ac958615ef129970ac13c376c7929d60ad1c629f8bab3c610649007dcfbfe6abfb66f4c4585082b1d9167a705cfc685f5fe5b17350e48b405e03a3d3d07f0ab0cedc961137e009b4ecdb9969f6ddbb92fc05bed560080d8450f7235b43ff79c9b460c29b2ffd0b67f4c437cbd8cc3badfe5a9feb3315c0aa6c9bfcb81c87547625038c804061e98346ff3633746cc571c3853ceff7a1842e0d2ddaeafd01f15758954ffac64ba46725acc1e30f6a5872fc090e47640cb4c804a59c55a5ed0316297a72f2bd4154f0452eeb785136f5d9befc4534b2ec2afd932c235c0c58f932aab15aa16f2cf7372633656c8623fab7291525e946550efe47eab479a1fc6c51132856ce09eecf36091892bb06f0f8ccc87f260c858873a4174ba1a64e1060a111efe1224c0b3d2c05e7d1282660b52e35c8f1a68a52cee6516e94b9746917d224c28f68ab4bb4a75a8b47ff343ea1056cf3116ac0660815bf0f6be1a6b98d713647d439c7e2511824026118a96b06c006d27454c3050f8bfbda087b3c7a8397383d652cc3b579fbeb309947773d6fbfdeda2940b7a0bbc2569b31dcac7dbfb8843b5a7bee26e63f734db3eb0773460d040238dbe757db9efb4ef872f781be75f357336b17bd84e2717db6fc23ab1a5c635a2dac389b3b6ff5bbad55711e807fcf207c80183f32efb5d47943bbccd96f5761c3861eb1ad3dc874cbfc5c25435c1a283c662cc13cd65ad6a807020dca215132f6a453ccf26ad4e8bf94dd0f6f8024c17729843d9f359609dd9b25e2a9b3c87622a751ace3ae47ac5675a3011c86d0ba3356ab8f9827bc726c956d11b4617010bdf90ddde46ab21423eb8ffe23da3cf551b23be964f9dbeb79297416ec4b3ac8e3dc7881aebed2a8c168e2c34316fcfff83602ff57cb99c18a71372d9f019fcea16abe0b6b7a27b02d99e2d67564986f122cae4205c0937bdd89a1de0cdb4fb71a4bcacc2a592b02be16e5d32ef4cddc4a52889c793dfe401135ca3baac0e1610f3bef47c89d411a53de275cb290b0715ed885bffe333a2df6bcd681ff0b47760306c0e379b07503e556a0f5313f7314c0d20f53cc41a75f07ef86720a42c88781ac6a968245fba509b43b67a42df8200981bcbee163c88d28b8dd1b70c61f0d558e0c5f827920d0b677e48915b99361dbb017e7df4cb5e2285557751b5dc2427cb7ff490b3f4566b3130b3c373fc877877149c8182c6e8c609eeb46bbc9e353d87cb8dd2fd59112b778881c30a87ee32618501767587e3bf64fbc7b8d801738bc9fb703fb8adeaa7699d4b227a588a4820dd4d07ecbead8910578c190465c14d7a1383b6ff1910017c3cf624b7a02dab9b2713084f45a7bac3d75012c3ea47cb39defc2009ea9fd083dd8b521e7df4c903bd39207ed5fa56c5dc594483e1531190bac65f348baa2159249546cebcf65155cc70b76013883af3df8ed1d8ae43da4cb26eab8d7e13a9ccbc1a8da5cd1026ef1bb5804169bcb25d6724775309414c7fd55d2fa219998a69a911a7e77e447fb12e3a2efea3265c728a0b14139436b50455669838f83463adb4ff0876285c5ce221ff704682f68949b2cce4749a6d442c6fe3a1fcf84e6714a764e19c383174b20f054c7f9488474ad2f8e572c566c1a33457f3ad24347e9f2517769c0a0842e3299b4b693492d5ac595654ced83e3b478676ea56dfc6a0430f356b6a5de1b473d5f9a6aaee5e4d31d1933340f42e09f245ac543fb2e2331f2c30847af524456563c0d9bc4190ab02ff510fcbcf5d8efb0f668587ef0023b0f4bdb193c4c73f7dbf1c7d662bb8e98fafb96bd9015c2b16b8fec91f764add9a57a5a5b25b4c9a836f95043b5fda20dff16e139c35922ce381d246f430036c79b32904979ed54ec4e08fc3fb006a62f90464b7fbbc18624e377710ba748782fc2ab80bb5133311d98a9d234601337b680073800c4408f44040629a3a0d2c6610a28367dd7ab59e43270ff10c3d29d945b01798d01169b13c061b4b60978df83702d7061bfefa1378b2ad3dda42a60179a5e3f080a3e1b8e36d9a689b1f41e039e39c500934d260bc1a51e0f6a87d5b65f65d2bc0bee3cb85adeffff9b0ae52a1bb80e1328a738964d91764fe1416a199b41603aa97fc63489238c6cd17c0d70a16c70118321cd1d3cd2536e40b782b40dc3c6f02d994a9a7270dad180345a48050119d96707c31159e12430a79b15330315c707e2d6843fef43e4454b1e033dd54ba498fe3dab1614aee2e290d971d4cf9d2043102231edeb6b703b4af5a23dc1dfd3f796c4916041aea90dff64d5c9cc9f6181ecd0843d6cc3d1767ee1d660929b953f8b4a51c9f10e90e1fb7dc1130877c46dc26b897e7c2b31cb868e38f9358d7997fc52335f530e41e33c\nresult = valid\nsalt = a1f3edc92da6733ed0c662ac5b9564525810e6", + "4d87a2b317749f9eb4068f4df93b5e9bf1f5f2033b8e4cde8782738fb46c37aa1023399f29562033cb35b65ea2\nsize = 16320\n\n# tcId = 88\n# invalid output size\nikm = 38ec0b50e79a870ca225d1e78fdfb74b7fbde0891a16ed1b6e7ce8889d441fdd\ninfo = 9a6c71fc1588b2d2\nokm = \nresult = invalid\nsalt = 78865524949fc5a008997d85b1ce5d33054ea061d6ff5d7bf74c9d36b3502f0b6fc163101376b241024ee063e82d5826ff5395124a18504256544f922b7c1761\nsize = 16321\nflags = SizeTooLarge\n\n# tcId = 89\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 084332b8a0ab8635227a3b9ee0737072f021c21fbf0b087940939f34f685c0a0\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 90\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 084332b8a0ab8635227a3b9ee0737072f021c21fbf0b087940939f34f685c0a0\nresult = valid\nsalt = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 91\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = d41d1d366b10f6dd7e886e5030ccd01ed14ed918407c84f12f8b9a2ed3a5841c\nresult = valid\nsalt = 0102c651e047fed9c217bcf915520532d44999534c1e7e7c87311093d7a3681aff3e2d335b3c6139b9fc66dcfe35573b36a329a550c4cd20bfe2a90dfea50167ff\nsize = 32\n\n# tcId = 92\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = dbbe9ebd37e2545d08d715013b50f31fd1f7089ebc2866191e49e774c537b17d\nresult = valid\nsalt = 1a57a60677a3c97fea6d4d6eabe0201452130c58eef435bb9cbc21eb65f1cf2c879639d10b9a580b1eda822aa5f406b939cea2ff9be10c56f0856709abf33a08\nsize = 32\n\n# tcId = 93\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed66\nsize = 32\n\n# tcId = 94\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000\nsize = 32\n\n# tcId = 95\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000\nsize = 32\n\n# tcId = 96\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 97\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 98\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 99\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 512]\n\n# tcId = 100\nikm = a75ce5b072311acdf290ceb4c6fd25eb6c52ecabc8ed1ffc698d7556d1132180e2888bbe6a798d891e0c8c5e0f79cabf3d27df56d472be152aae155b52d9a9f9\ninfo = 69d2aa66efec2cca\nokm = 8b025c9925f105898fe8f75da1839b683beb73e349dd08b79a3d80a7b29e7d9c1eebb5cf4c902371b31376e44d49ea39725ac912d5055c8638ce0771a8edc999\nresult = valid\nsalt = 8df18f4f797c4be88ca6b2935441a1100db080759c042a6d2c37d2e6fea9fd6fb066805c467b7557c78d078ae44dcb886e5e3d5f74a96bf6394aad36847ed8b7\nsize = 64\n\n# tcId = 101\nikm = 5be4b9756eff71ebe87fdb5933e5d88d51bcaf384cc289c16ec642d67f2e9236c04106e01ebe7956bac010e4107b6b788ed8b3916a39b59c7c01161cbc2671a7\ninfo = e496bea60a731eb7\nokm = 02487460b110121d3df3746d7860332b6d67d746f96ff8e7bcb2d62481b653dcf67903b25aabaf9031b370959105c9136536b52dab810cf041862e73d3352f77747814aee2d74cfa29840dbfbca242f38b95ea26d4a540edbdab3fbeced1c767d35a73b4c2ff180eee75b4ada9739b7bd8c75c3bb03589ab\nresult = valid\nsalt = 336a871d315b7d2ae0a0d24febebf0702d9f039ca97146cc0aa2341728824e83553e6eb166e954dac33e4d6a2437309d0980e26d1c7665ddc79b2e9ba3354262\nsize = 120\n\n# tcId = 102\nikm = 45102dd5f609c2f9352b91d8b492d83b5ab34976372b4ac814bf82cf0dc4f3875cd31dfd5897022458fc7bb8e5d2930a620909b7385ba4e48c8395b50d7d07fb\ninfo = cf6db9210ef18e3d\nokm = 146e59745a9d65fa6c98308b6f162566045d2f459a09eeb7ef7cf15e076fe8093fa202d15b12063e55d4b5ab4e80d58140b2664d944e33d8b2a72a3ac307ca51c23976adb1ff9ff04fd0fcbd21edea49890c12698b0600b3b70a61dd228542d47e69797122f0734c08d53f51afeccea785af1028b35e6ee911fa0d98f76e2aedc517f35d719c199b6a73aa867ad31253fc1c1d612ecc913b70c2f6b983fd50eccd8a20172052c8726ac6ecad97b8bc8770ba5fd59eec423160828fd8b1936a5ac5bbccfb6398cf46dc3e19df40d315091f2ae3df875334030418143e7b791cd1f732935482fdd585fba2f495973436138c7fc106058f9538b92f055ea3bbfec1\nresult = valid\nsalt = 76d1494d3631034558ac7108a69b79f7e38a45aa50783af41bf8c19531fdb30782e7689a50a4eb1391415ab2e6085b1e246ce0e6c35a5e02910c072a241cd8a0\nsize = 256\n\n", }; -static const size_t kLen79 = 29254; +static const size_t kLen112 = 30701; -static const char *kData79[] = { - "# Imported from Wycheproof's rsa_pss_2048_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 4f01e0c12b08625ecac89a69231906edf826380f37c959a96690d046316d68ffce9d5c471694fcebfc6b45534864689256e4fc81c78e583f675d0c94b449647451e81beff01a11a516d5e5ce3f1a910437cb8a3a5096b19fb15f4524a35b23d89cdba12cf5b71aac1047b28c562df7c5542c34ce23a182cf7e0e231934b17294799d44877a1d68ef1b8f073619b7618e6b7c22db20030d98cf591ffc3d4da5f58613ecd5ecfc3b40a1d02f40891ca43695cd4c088b05a8054c89c595a47e274816f35384226f74459ee63e25a1bfc03c360490552ec38343f8ace502f065303b00bc0ec320711b211fde92e57feb9013c3609342495ec0d7cabdec21e54acc38\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0658c68fe0895646056d9bca422a64fe48813b4e14f0c8c4122e56d345b6813dc6286ffde014617e351c7af0a0d2c0f285def79cb734e1e055a25fa6fddc1c07da17b4b235c637413b1849c24311fa72331f4c0458c364a4916de8619b884d7e37288fad12926fc091f4851686a04fd0a504dbce3db370663a6ea6128fea86c2ca94c63e0d34d7f2c845b5d71d9a5e544451f524a451acb85c49bba7864e0a34a48613a819caf3dfd0d510c940f1df21c3373915be1f3509a557fa4d5a4e9f273e85467961133e2482c0907386454228fb0246638616fc31bbb6fa7c2361b8035994eec69a923f4c0bb0ba8696dfe8b1400c2398d7b343fdf498b1116c8de602\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 401eb03cdb47ca88033e3030f6bdecbac8f5c8fc1dd6a13d23d379ed9a2b309891d13d74fea9d21d159b9e6d8f37efa2489962e24555f56dd434ff1d31ce4f9f5abd3f22cbea8b691d6a11e44efb83e2bca155e6a164325e0fde2a8865afd5c9f51161a9d615f62af7ec2e31b3e5ab649c164490d31d88cfae35b84aea7925690f929a144b6d2f48e8fb894a52deecd1b9a6496990c4ecf1588699a42cacd10c53af350514e4291ea9a058e77f101e32c1c0cefa61d945f7bc931f8bd19e7ba3169358a60e5a8b0123bc3199b9fdcafe8e519c41ba675491a27b85e44ef2d77277c10fe107293c8290186913bc9a99b640d8da041b64f31eab1d35920985f4a5\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 599724adc1bae31e84eb6e1399cd90cd67f48b432c63719b600402384aaea9b21ee864cdcf259029180877c847a223912b0647f066a59a65df6c2d3a6675b1450f0b05185cee486bfac56cfded182babcefe60568a6954f026cb2f59002a2f755e9bce49793f280d89822c9bd3a06a7ad2209c3d6cab7c1f74c8bbf4bf374e7ae8a539fccb83a78cff96a4f538adeba0869659d0e9647d98f96cb55d9cb7e58440c4c9d85b8e9dc602e909e29e45f2b82ded44f40e9ceb1292da20063967e3a116f4aeb202863cea523f215b8ec7fc4f6a22cd8652ed661e33803f3fa1be966fa8754cc7b0fa894cee0f045efba14c4f4a1d7cb837cea69e30522526b8a5878f\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 4e68a8375e086990bde05fc4bbde2d368f8d96a5bbcf16d9239fcdd45942d764fc2317d90f4f62ec80059490240be8f32dfc32414a427c7e34be25ed0dcaee6927881e797db97a0341fdde459b9cc915d0a348e15dcbfe1b0780472f52a887faffc988a9ceb677e1cf5638e44a9d6f2532417ed0bde5d67f5dc9229ef1f3cfd9cb46c695738fd006cc62d02f5df76996270223060f72505ccfbdf4e88d961e2e7763705480335148ecdd23d1202c26a963860dc769a43e44c72285092ba7f24d81844e612bf03f9c2ddd4e5960622f71672f4e42b8a8f36c6847a05f70400207471c575d6a960fac1de809118efb52903ca37f12d40f6de74decb9a5b8a415d4\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 8bdd6db90323f3bf26a36a4ab5b92180c96881bd32b66317c4b48c2ba1421f8434000c06adde4264c6ea2d5346468c6d5e97cb13d3cb932e523ac57b59c814fa0397ca6dcc9bec4be1147d77abcd318a6aba1af46ede2f5640da06511a006fd1bd5fb8e04be22789956adc47bbec7988be477150f9b24a07dff51530e8f0c14cfef7d25ca141f512939987b7eb0825633d41a48742bd7f56d4db9733d92ac0f36b4041f51332695f551ec91076da2301120c438eb9ec197cbe318d4571b6b79098d17eded0ca47747a143e34f882ad6e3f490f3a710ff7ec1bffce022027165d96281e593180c67f44aeda9ce6605e6b8e5eac1347695dab211a965bb3d3f928\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 67d1d1c0a398148625317c3f5e44b738bdf461c27a59594b39ebb2aebef233c7809379e54411411b82d2e7ac88f989b58373d532c758baea121878ce9759441738d121881c1fa2d04421f02dd565b12770d844611ed1873a0b64d822709a6b78d6d3892b294404bce6711001d6c3a54546c76a1d17819674b0be904497a233b466fe4becc832dee740f9ab79e5b9f5db0b0f9aac0084ba05cebf42303b5ca2ad95e3d61b29ed6475545c02e93e7b0e118af92f5cddb1faeb2cbc23c9e69c120e29df7fe31991e887b3b29e77688c60e80be65cccf3d7861a7a14c39e6a6e5645568e2cc5e4a17b75db1dd415aadb45e112a9b582b2ff6e82a43d7a7347b7b56d\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 842348f2b2cdd4c72cda7dbec0fb8b114e419cbfc1ee1b7ce5d70ec56a833c4ebc8c114dc3c92164b13f4692f236d6b88e5618b23af9fa979fe9b5d8eb228b1efd0da8e47b4c4042965c8b9f08eb9f6fdf7e472c88f532d4d851623b4bf99e021e82ef313c7d93179af810b70aaf929a395ece713d5fec3339e394210b56f1edf26dedfb04083bd24eb0d3ca117761f38319c3b97a9453993dafd3d2dd8c01cd63117f8fda46f52565e4d7de9f718f1f23254c4f9ee77ad1414af4d4dcf959a89bef438329516cc9b79149db058d206e6d7c0133e7c870335f0490b8c569d787443c4a84ff665dbc6f4353dec66f9c488a3f91071ce19553a7c156025f1f81b2\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 77c9dd7786f0b5cbe76f20abf24361f8979d3a6c6c122e798eda906b0b9700cd2dd26e5286ddd39d07b7c24379cb40f8350354a36b0759bfade61d3d770702b58218c5dc64ddd0d5fce405a16fbc4de3a5fbe7737032605c06ac82e174619c3004d24bbf22bd1ab3e4d432b4ae36c23573cbad845c16a1842e5de1a3bfa2f12d3496a3114fda830dd6061cf538a4571fe088cc03dd7e8762fb08b84501843f5f0362a4fb097d6fe9b96970c0c505d2f6a59754c42684908627fa8c734ecd587c161de7b7bdd69924c0b4d06cb7db2a70dd9257876d1da1ed8cc00fa68279525c346b7256c916ccf1df9386ff9d1eb27f0a5d83a00a2738fa2dbfaa500baea789\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 455221c385f769fedd123afa37a42b7477d6c3ed968ce44d4982c41ad29a3f59baeb2b566dbacc91b423fbaec371f3809c20cad6afcc2b8df782e472c954cdeffca49553f6eca58781894c67fed1d9326a53422f9642031b69ff45e6a826d18e4241b5214231f7d252d4c640386a17c2a1839ba9c5a34e94b2b8f30fb259fa752339f134e54375a9a4f3a5dbd5f3fb93c38b59fc33a77dbdea9b8fab7c209e6f403d188958b5fa5481bd22", - "5b266bee6761132104890c8c25f04583084eb01c266ccbca401617120c61a388cc683fdd5d195c8dcd48f4d1a9be80c07727f78a10cd26359c8dd1d87614f8acac1506c5bba79b30c0af745c872433f17e8a52a94e\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 5d1f5b3ada8d4507a7447829f26764b9f794ccb4c287870b5c5aac649f9272fbbe22f064cb75e5b3813bf874c6977dc286ef1deddeee1a84a9302fbbc9c8f86ec45eed5469bb85eed8618efdaf29ea4bc0a9cd0c0be71e82bdab6f15a9f7a637f297e0b5ad4c7885bd27b89f4a52452f0176df3d266f9c13fc44d3fcc3e71e3cc5ede3fe2555ff2bf2b72a2198af709e29c2f6f5ce44997c02ea7aebc9a33d0c609ff0f586e753e585ee5052a0bf2f71247cf43ac244818c84347662338384d6c1a4c9b9ebc14f912db688e658d453bb2082c8def4c440a6b25e03ea4459c1c9bd5495e2ce9343439cbbf03affca63856cc50936d49cf2dcfc73679c9aa32e56\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 14\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1edaf87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 1591ae743c58ceb723a76f502e21ff6a65c24cabf5f527bab5a6f2a69f20c776fd2251e43ad22e09b1486ceb1935b2dc2ade95e233f296cc0e5a8af8109659be76b6bfdf37e14837fd6c34bfed1f19ec9d21f974b984fe4d4773896ebcc7fb862fd641cd0d77178485c70c2d68b4d9be1d863f6f254b77991fc9053f5d5415d1aa74ba9067e2e6607fb651638c9cc0430a40c9b691977b557a31d95a290a95b56ef2ec8e4313686a9c5ef48235912b210fdd2c50aafac28131104c795c42ae75810b0284b2d257e81ecac4240622ebc261ab8bceeeebe80f1cfa70f18d782aebb97d803ea3a895be541be6941df103eaaabd870848bfaf58cdaf6cecdd5a10bf\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 6f2f650ac10d5aa2c16703f657233da8c035da67a6e9e950dfd0391399da3a86ca7837dd7cf23e864d9cfca1fe77dae45a01ba21d23dd918ca7bba094aae376100198f59834396ec942fcffdd7d6a44953f69bc60291b1eed5921a0434d8b8953beb9d1e1b15fdca7090fa5c646847c0b759e94f056911ad188d4b0cc399c8c345757d5022f1a38926de0cbda8648a7affd9f031262b1079a3681d58249186fec4f6e98bf151c9b680a46b88dada9b42cca365cf908ed0501cd21e02a5bc4c0675f23ece50987b703499eeb94b6c40b5cdf22299776fe30800f887a1dfff18cd8a7da8c2388060dcb78c925c54b4e620cd3fe7546accfb3bbae9de08ba886009\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 37487b948dac95a1e57bf1ac40888b8e074cf9db9c9825e7b7267d3b105a8c67cb9b33c0e5fd641836798f41b8b1f024b13243da4fa5e527098337e5cac41e0523a28fb135ae060e7c1e4eb9556222bc43bf1659f65a2a2db108ac9b7c9942a5658fcbca5622c115e34ead883ea4ef03f7f62990f282fa791b04489053771329a482467cba8a13ad98f27ff7b61c24a452e085d432130b7259e59b2866e55320119b21e3c706f3596ec174517c43cdbe957e012b573961b1fa925373945ab3209a1007d197e1e9301dd0afa485acf6643ba0587a69f7c44bdf1e53c32f05a3b96db0c462509c292d7de09a6c78ebf1131453d37ab037176011296730f57cda97\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 241a3a7569210a47b83125fb67039a68d9859b971a49af62bfd4bde01e3b955ab166bba5165657fbfa519573027ef1a0f40cf7533f941d64e09fcfcc35cdd564c1ee0823166dfc054ed93e01c5831c036920335d8b8daa32220dd5c0b6a071f08d19411c6418aaa9883375587b19f0720e79f184535d7ed8c5360e667ade541c1ddbf9c0629255d8d286eae8defd34f000a3be1fa7fea65a4cd4f64b11c641806fa57d67b4c6b7b49892f38dc5d13abdabfaa6cb91ed6022d4fb467cdb6046b13fcc8142a97bc34eddd045796f4e19b1885d04c51f53e5bc0c272678990aea50a124274cdf048ecdb7074ca86f36841a7ade80a8aec6a653a0292c82a1b5c678\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 484d71be451d1f3667e01f3e7f1a80db9764f751ca87ffc6352953a773f6519e8a0f210d6d43b417670d9c0ce3c11a668cc83394a5e2d7bcd4ae98e50ed26c0ab66b41ad2e28fa703f2da04db0963875842d90a77899642dc297cf37a76fdb007a990c5b7af83e264be9323149fb680acb69a19e0c5aa949c2094e0a18abfa1b199b73363654638d86f9abe73a678ff0a41f6b702b70ea1aedb287add79b9a7f4a97535d0db46c05983072481dbe43fe6dfe33229ca1aec42e19afeb5bd35f1e44264c1fc6c18fddc95fadf1b1676f185e5b55f9a2bfe6b6d40289f240633513828a7b967748bbf0ccd1d3fb9f6240f31790a789d8c709c278ddbb0f706778b5\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 3f27e0fafc57629ccc0432827187766a30537e821a2fcd5f1088100d4d8b6a6a9ce950f51102e3b55167d4b49e0b6a306e0fdf90837d0630859093e90a94fa564b7a4a82f4ccb772377e07a2b5a6873d98bf665c92df1ce7cbdb583cda83947b3c9c3df5b3807b470f23f8d08df9fba78e13d6b635f9f59d2d4baa34831dc6c3e5a29695645b1ed50f3a3389e9e119de765e6d7daaff0b454eadd10f445e402bf3cf4d14f4d16c2d9e4fb5571cea7929d53019d414d118e82d491bf3fb3bd7427abd6eb48a0ed277221c42840eaa1fd5e7ce658f7763099c1d59431e498cb58357a659aea8e181ec0fb5ad8a55d1c0f129500a25b85cbcc8733fa3dfa9ea30a4\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 006e3f343b22fbf5cce816efbfe06636c1619632665591f9b1fd2bd0aaac9a0f776c501d7a232fd2edcc12ac63b3b56aa12ae87982c1997e5ac5fd50f6a5c350e6e84fc17d2149547babc4830f8c2eef1885e4bfb15c9b73322b693ea74eabf43e5050c477c0e75ecf75cfe487f41f4a2df4972a16e0580d57946d504fb073f23ea691086e5bc40e2b2e1dd653f2ab201ad609fd06983a5cebb98678c039150563f6c944bd6558b422de25b9720887d97ef63b34cdee0139391c48558941ba94bdc0c22e605dd9cae669406c3ddb361787ec6437c87a688b0c64f0290b1bc0ce17466592a48b83b27f0442bdb15ef753ad56eaabeb08bb3b7ace7f9620fea113\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 838d0ad34f2393aec53682ed48f937a458a32216a74dcc4a1e591a538119c3b56cad78b1c4b722948373c51c04a50e46fb5f3034f43c5d260364617e6f03af7d75d66baf3dfa1ca94e75e77d304c63ea5015cdd7fb1e1cdfbd6b5ebef2b2addf697f14c97cf9b5cbb1bab7f612b3a428d32cefbb788bdb70729e53d5b8cd14f586aa2b9410bbae2d093bd11f491469479eb640847514d72269cddab484d882aaa9761839aca9851b3d409211de83df742674d6305cc3a71143fa5077bce9d3c8da1f6da0df5c271f048ba589e5c34a23ef12747299d9dc4299589364f2137ace59781e3f01011ae145a5e1af20c74516e0b56d729e49b3de310c197e7a760efa\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 6b19a03c774e1c3c24ea889b552e99fe0068a6cda022d5ccb6d75a447cfa0b16b5b144208dd407e440230ffaad4f12a0746da108dab5d4f162bdc9b24dc68a2e9e077ef5702472c4ceaa89c29cac41b4782b92f6c87e014df2483580cadf2b455f823fe12c9c79a155ea32a9f1ed120fe0f13b10ab4792fd94b99e0aa6ffd27c04ef7088e3cb935436529650894fee6b5b78e0bb5aa59ee7bbb2fb46af784e2c33eb76a12cdd7d0087a081d82d3e466a381dd37d25d3b4a92756723cb1f1f49d0481d12baa21ff77c0291f902682226d99d77d36bfe58d1825988c97d9d00e15ab48c9919583fd60593fa93ab1ca8e7dabaa912f6535bbb05e82bbfaa8537b0e\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 682673d7c98ae70039e9f259275c884da7c77136e06d47e8af72f82a09614a08ed125c6d3a80f701a61dc2ad967e9637662bf40b48543e5b620daf37e3088d2a54a8c5147ef99227cd5cfd0a478d1fd1ec62c495cb89046df756908621099913aa4142c3dba2a62de6a8899f0acc7932e33581d4102020423a99876777c59292d597428f50b846a39d709d38c3a842f9a9531f26dc2a11f518950eee92560fb6b6667a113237a3e6d7bdae48bafc90a76a6839b97e6301e546f5b136ff23d662593f74920dccb56d47fea557adca4b36820469425cdd4071ade7c5c14f365ba4e0da97cdd62cec66fdc724d3f309b6297c1c84091a74d656b4b030787df593b0\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 1452cef4f4e0d46ca8caf3a628074f7ed0acafd0a16c4c4c423cd361cd61319d5e912b162bb2b7326e56e20d5f9814d6339e0cc44da9ba1be28e473880b6276a86b8cdfd91d2f5fa830024b842834bcf2d425c48b5a58464b7a3111f55ade", - "2d3b9cdb958392efd559f6b6136cd158e157faa4b7ee86a3457dcdbd877b82d53c23d6e71488e554574b78f0be72da8d4160aee680ce485f9fa544562a12a89328560a773ff25138decf4200e2558e3b5a364a4372cd1f64fb25887b8c2b3938aca10d8727535d0eb0b73af2b7ad70656f97c5c1a97d3e2c2d1cd2732c5fe8fdc5ba6f554bd5190a54742313a6175db2a77d36d24934dc056d66cc6bd83abac61e0\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 2f5ab041e87b74c0ffa6f5b0a4c5ec8d0ee3d2357a0fd2face275dbc6b50a230f2108b4b37fa45d5bb1211fb26b96d315cec9391d198ad7713faf3c4fb60806cbe6378c7a08c2e75a67848ca98c80a02680650eda98ff0c818f1e7af9ff3a3236150699a4c900c394c2a00ea65b39fea873504898c6fced5e4520bf3d69a11debd3e66ad681b7d03bbca940fbc809f03f99079d0f24f31cdc76afab73ec0b4f5baff4437b0a304a8893cf593bcf47b2f63a401f1b456f1741b3b3641e3154e6f4bc035723fc3532ee22d4f65a3963c1b278c1a9a8ce7e04876e8c327a70463e3785b9a5aa5b4a50cb4e35d92085172a61cc5407af2752a59d06b58a242926328\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 31ce7ca597f76ab95d47563f728ff93bf43d9864e5bd1229b824ae26b5a13c79f6f7957217b37e1af0537fea81616187ff08a0d5c98a92da8dba61bc5c14da3321fd1146d83c2cbd0ec0687d81f6d7349f5a0cab0840e22cbfa83f02a79d321ff88830d47d4842c0b032c27a181ac06a42cd0bfedaf75f2daa53f64eacb5986545bcf150b8d433e66b698f2553f9da259bec319d8c0cec05d9c320e7300463d41eb077028c1e0a7d6d87d4dddf54c5b78d6a15e4527e37110b9b9ad2f3b2dd0db591227d41cc9f26f2349581dd89e0ba639d0cf9f8c86fe819dbadc688522b58d7284caabf843e7143395255e9a0d710ffbef6ad13f6a9361e20d2f6f5a414f5\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 5798785187910703680cb2109f492c3f0a91b4a8f11d3da775aba891eedec3d76fd30a939f5d7a2baf7290c573e886cec8ecec0b1598f2cd169d53b4abf8accc09709187f32a12c80fdb42ed98d9e98b0923828f0e38acc338234f7b7a0ee377644a655f48816ea4a5bff0f6d63c3945dc3aaf921e9404864594bc323c1f3ef42f9361ed6cb8fcff2994293e17865e2fad2d885277251fa24d7e7aacebc48d61c3b48047dd7c99826b3105d2f820cd62404cad5d758da461af67677e39e55086d8fa52ea0334bc3b77f95191ffacd28ead07a34e4672577c4c65b5bb9d5f9cab6e1f1242216291b69a0c98714452f01f37722ff26589734cf6020c5ac9196374\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 3747c7c116cf30567e24fd4213c126ec84366a26eb304a65d144dd9b453054df4e5036c861b5807137934b1cef351411e40654bae5df6fbe3c42d763407f273d3dbe059fc6412a366775603e064b1561a58e70860edf954dbe666f8fe44f44f87df3b0e3f3e19c904966ada52f00806f975f256d4a855cee973e20f33c31f9f2b3792fcf326f075f86f275d8ef8df2dd0abac83d491d485fc167cd40f3802f66036df4fd64fc441ac8a25b405d5ef960127623c269ca836671a66a6bf2f39c0792dade17564d31863c7e0161ee0bb88522ac0c9054bebcedb603a2d18ddb0f64a91ca5a2f0086afd0d8c07cb0c1e7f24d12f866cdcde46d663c1d4dc7f7c6f62\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 1377d4997c03d885e4b95f0350b1c8091a4d9beef9533dc6abd194a1439c383622b9dca5a49da247cd55c02186829f695ebb007ef0535c4757baad057d7bf76dcfe37cb9181b0c290db16d0abc51ff32d03b6a8e56ecd270dac231c81e50c7e0203d22b991291fec650b9904b2539a8a330172843bcff0cf46f06e32f55bec1f5a734e70ec8e4e8883e3c22eab7561d9c76737025352b5c9fa9c76eaacb909d23d0d7d7b6f1094ccec8ba94f149f81946faedb39ac557cc28817c9114a89a6f720d849f90cb23ad202ed4682036b3cb70b6fd5df0225900eaec7a21e39fd433d3200aed4bb4abc3b531393fa462fbc920c918f1938d33ca86e7ca3bbf1d34d74\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 7d0f3cebb4372569e8f02df9f42222151cc31659df8d5078e9ee8e91030735d27e66da8c87039a27ac28588e8431d7ad1583534e8570318cbb2554c07016bfb02fe59af00576b7908286f4b27e36f768a118c3f3a1ceaeffee03a1b67270c3e489cce5c5f1171e0a8734553403047faff680dbcd70bf0fc1f0f4461bd4e68c6c0978da3490a137ddd8f62bd79c6a1daf70f7a9a3e90056ccd41c62f04915bf128f74dabcc47cba85b0fae47a04da32e17799ca150814d27793816e6a198390c35d1f35abf6816761a5ff0c28b1e60eeed244b1f24934174a1d2c469475f3eb8842eb9f5c6224386994aff9579f26ea7d73c668a113ef7dee8b2bda576135d452\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 53f2db262358c21792eca635806ea1c1ad041d9334e977a25c1de0fc8233ec6f01737adcf1fb4dbedbd0078406ecad921e37c77d4585b5eb5ecc74c07ada1864a3c13acaba9372f852aef55ff2dc42c0aaef74bb656b8e0beccb7b9eae587fdf3b52eb678af1032e60ad12321c9c10c445448df523856ad262208a06b8817ee229df825f080a72d5e1a43f222215824a8ea6d455c80b2563c65be1eaa0455714ae576ae67e46d006934cf0c137b8c9900af9ed716391ce96ec43296e83a5a10390ed91f2e6753ed0254f0290ad899462b3b7af42c3c5f0893863a3b5e6052d3a6dee554746960a07fb6ecdf781e47b96023ba01cfde4c7214611a1be5735e2fd\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 11e8938238a20f0e6947015987380dfd88a1661606bd05bbe4298f4746e81e3bbf34aeceba5360f1839ee0d7d7fe3e578cacc2d24b15eefe2064edb1fd04ff9a44c0a600ebf00f64fbb1ead4246e5ffbad0c22441ed073462f26e30b61a0a9142b4f993d1b26fa32e11382da33b9eb5855cef6736bec2f4f5bc6bf82fdf7da62346a4d9696c53e1cfa789667b721f32f7779daf7df85474096a9e9a7291afc76df3a66c7a0b997b41bfb71fedbdb4e65095efe1a81d35b66be55432e0a6e33905475b46a94e05bce7fee84645f500d8ebd7c0282c35f22774e7089262210f83ed485cd2b045acd5d62b4bb53dcbeb2588dc6535518189cb0220a7c9406e454d6\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 39a8e947c919ecfad7ee28bb708c1f9e825036374ea0f610bf5531d89b813d506fd00bdc15850b250ac50fc556a676c894fb641dc650999eb6239b91e2c755126bbb9fef5783a5ab834e0ad91c60e720e80e096c091167a2a1dae838a16fe0ebaa8efb3573c89ac5d8e0584b5ec4e2168ef097f937ef0f0d2a2f964a8e6a810dd15b9c27b234d788af3c4f54dc97035657ff19f2835555dbafd02c4ed3c76654fa868babb71534bfe84674eeddbfc2b27a517f666bd03a27d8173bb92826a231cd9a241c171445b416934ebec5f7eea4fb41a61937d9a98f61b2fd1ca8e2be125e85cc8d16d553b114ab72395e86fea52f54edd853e9c5156557e38f621b975a\n\n# tcId = 35\n# leading bits of masked_bd not cleared\nmsg = 313233343030\nresult = invalid\nsig = 9c13d877ac2bd8c02c11e29ffcc0c1046dbc9870177e843c30b499c2bf7fd09daa43469caf2b8c3e955ded95e4d62209f7571bb45593f4cd8b0c7bc9470a8a693837248b5a7854dc8e37e752d949479272642994182061d7af80b0ac6f6e984874c8cdc6a5d7d17dc9e9de5ad12120cdb9f6c0d09c0e11b87b3423e37ba9437a4f76cc1e6124579e5f79832b89710de1968ce46e3e69fa185c0a924e8cb5f996ee5963f6826dd37714de264d75545e8509caf8735330cde7ed4228e5779471827b83757c466022117c45d598f5a4a7fed7be4e1b4d320f894879061a75d1a41efd8dcaf3c61733ed8ca2cc2f83714f8fdbc7a97cd6d6b97ea3d36ebd69890633\n\n# tcId = 36\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 00566c95524ad0995eda7d668fa08e8f75bea868b60972d6488cbe8939bbde68fa5206e671f35555f628fa707ce7ba0f468cfa8b9737e0ef64e0e23c901e4965ccaaeefa9b84363a3037cf5f9e044e295fe57f32c1125ca70c639b22732aa4c4b3e5562690bc1d7e7e74dd01c674212dcb63c58fa23333d45e1e4ccffa5d186443cc785c5ece3f2d7a8995e25de6a171cbc960c272c2899f6f87ceadb72eea1be085245669ac08993591e72bb9aff8bc29388b35c99f1ba7477af9d16754894a50d4caea4bc80e2aef2ced27f4a1c88be284bbb40cb8ae279b4e38a4cd8a51a92a279a799b3316c2938e1386043ae7ab1d8605cd310d7239c805a07a19c7b17d\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 2b46a0aab5f573e32ffbcb411cd99d2f90aa9b1abbc600b0cda0d824f79020aab47a2494caea20fc93017e77b99eb73a1f8a550b611e2747ad29207772629c2ec40918c07adef1c90c99a15cddb9eac88955b4093a9e743d2420b4647e167bff8ddb07ce197db89d8a7d3f327058a41cc459ed4f6d5d23dfc015479d95e195da37f5b1fc318a3f74a0ac5fe2b9569c7fd99b8eb3ed3967a5eda1d246a3b225548f67ff860202033e7164d4b99dcf95f4232d18a7913f7258a33179133a6fb4ab5a4937b642eacb92908cf79495745abc583524cb0236fbfadd2c7e8b0a6597017912b4737fc01432625a508355869670bef25d32afe6753c38cfd96ec38953fb\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 3b65975357ab2a410c2fae7f2f0381e6c40951260451f2eff05f0dc707abd013a996fc10658a6963f462877a808f61ad0362b9f640750b19debf3d59692134e357a49ed3693f50924b7c8a1824ccafcb4b93f7679dd892823cd479895d41fd1c40fb89fb1da19bc1fdc72eb038782f24ba3326428cfb166a475a9fd27f94d1a0ca6fa0e6a0d2c2883db3eeb2c0a59474da36211695fb811b9e8bc7f05ccb1f50d26d71a2dd209b0d269a736610c7dc1f7343a4736fa2b8c27827dfcad49bc4a86822cde1579dfbd646474f11e1a60f5e4ac2f2a3a5421a7baa9dea5d24be03cb6fee771dd808b67f886b37be5a300f6551d7e7636e9997b3255ceed5187ebcc0\n\n# tcId = 39\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 4516c8a39b8544d1c65d96472fea0b2753060330e", - "76e6f90f41ab349953d26ab1b95fd87484535b68c0afcf1542a9b966a9bf98b89a53bb28877b34d168a4ba8201215c55f9e86d30b7159093517682e6e956078947e54e3f3a779da032af7dc6bcab1c0b2a6693fe0eeb9de0d158bcc125293a6f10ccaf1499b6ad912ed5912537e3c3c5f18eb0ab8e701056d7b973b8b61af918858b87152b6c40671bf96735ab1a112972346e771e7cd9482f6f59d320b8798a271cf21779747f964281afa1303142eb3e1841772de825b4b5e68024dea014193c4e1c206bdc6121a8f2d41837be3d13833ed615d5b9df4ac4c86cd25344fe1022df0adabfe2d46f7d9f0d0\n\n# tcId = 40\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 41\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 42\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 43\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 44\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 000068caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 45\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d360000\n\n# tcId = 46\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c\n\n# tcId = 47\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData112[] = { + "# Imported from Wycheproof's hmac_sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA1\n# Generator version: 0.8rc21\n\n[keySize = 160]\n[tagSize = 160]\n\n# tcId = 1\n# empty message\nkey = 06c0dcdc16ff81dce92807fa2c82b44d28ac178a\nmsg = \nresult = valid\ntag = 7d91d1b4748077b28911b4509762b6df24365810\n\n# tcId = 2\n# short message\nkey = 4cd64efdb76df5a85dce3d347012cad06b0c3db4\nmsg = 6c\nresult = valid\ntag = 6d3d37af55c75d872d2da07b9b907ba22ad487d4\n\n# tcId = 3\n# short message\nkey = 52e1995025297fe7b793dc8e1e4f7d312fee2700\nmsg = 29df\nresult = valid\ntag = 82cb24bfa38fbdc91d1eea2d2dc1ce6e60ff881e\n\n# tcId = 4\n# short message\nkey = f3edfa003d89c4e2a6422e77a01b8adbd7ac26e4\nmsg = b015b7\nresult = valid\ntag = cb244ca6ad233947378436076fbfd20c9c8b842b\n\n# tcId = 5\n# short message\nkey = 4b07ed4e0c8ddaa1f76cf0010728679c8857e18b\nmsg = 3b2c1afe\nresult = valid\ntag = 924125532e6b625e7c5a8dcd1614e04334c067cd\n\n# tcId = 6\n# short message\nkey = 7f532c8ec83cb21dc98af7734c64f5fd9167ec30\nmsg = a33c6f9826\nresult = valid\ntag = 0d25bc40f60fbed36d8d7a1045ffa60d88484d56\n\n# tcId = 7\n# short message\nkey = 99e60c1fc0cb3e6ed836619775e37bf15b2cb93f\nmsg = b129bb88ceaa\nresult = valid\ntag = 6924d833a3e74b48f991e6c44173565fdf8c7470\n\n# tcId = 8\n# short message\nkey = 53845f10344b7f39eddbd3e44231fa802d7e1aca\nmsg = c6f5b1cee31033\nresult = valid\ntag = fd4b28273d3ee8cc24de2d8dad23ad4f355240c7\n\n# tcId = 9\n# short message\nkey = e3220700ce24a010cf623f60891e4f298ff26b11\nmsg = c97afb5063a9dd0d\nresult = valid\ntag = 383b103ce9054cb74a0431d16da99d8233e94fc2\n\n# tcId = 10\n# short message\nkey = 466c061ddcf3d9b285a2900f8725971b733f850f\nmsg = 89024ceda7de3c114e\nresult = valid\ntag = 1b81f1127635233383b6ea5ba8fd68eb5112ef0a\n\n# tcId = 11\n# short message\nkey = a81f9f51b041ff29b8d705bb408f854ccbd7e5ab\nmsg = 032d866a270762cbae24\nresult = valid\ntag = b72ba0c89d010215a8f280616acbd8640fe86cec\n\n# tcId = 12\n# short message\nkey = e60d0b14886fe6fa2c839329204d84d81026b7ab\nmsg = fda7f48c11101255e02c8d\nresult = valid\ntag = 2be7bb541cede978f541e2cac0ab6451060e3e83\n\n# tcId = 13\n# short message\nkey = c090ef122a29348740ccd571d98407764b2adaac\nmsg = d1fe3dfa80ade7087efabb52\nresult = valid\ntag = e6c1e0c3ebb7750d66a50b6abccfdef9c2599008\n\n# tcId = 14\n# short message\nkey = 564a56290e1aea0522f19088a88ab4dce4c7cdf2\nmsg = 4213bd3cdaebbb1ec1cc81866a\nresult = valid\ntag = 6d1d5808c085ad512487debb57fb93514b205075\n\n# tcId = 15\n# short message\nkey = f898459d272fd5e43b062156f44958d85d97ea3f\nmsg = 5e86b05522eb65a4fb7b932cecd5\nresult = valid\ntag = b778f421c2d1e2701e75da6bd1bc65379b80e879\n\n# tcId = 16\n# short message\nkey = 7d5cc53f464e759438ee90b47f2fe67aa83d6b52\nmsg = 9f38ea80122b40f742a00c2e83e085\nresult = valid\ntag = c80ce6d33fe868432c262766fd23bf431e313882\n\n# tcId = 17\nkey = 33e9140175519b2f1619b44848331763c756fad4\nmsg = 7de0fccc83b51c29e5eb1b658c102438\nresult = valid\ntag = 34de6b8f479523870b8f905684672617669b0607\n\n# tcId = 18\nkey = 0ef29e7c961da37afaea8182f28738d22c340232\nmsg = 165bb8e5c6f0a3ae40946dc807aee84645\nresult = valid\ntag = 78e6fa53ec213e9019d47ee7529d963a8a252942\n\n# tcId = 19\nkey = 203cfad921e605c80d7aa8b64d3bf18328b7a7a0\nmsg = d289c7cd10d996d5daca1410c37815b237f74929588c5ae4\nresult = valid\ntag = 27d96da41895bf53d150ac15e7c31853f56ae363\n\n# tcId = 20\nkey = 8eb7416efd0c73c86b91df0d58891fdb738f40df\nmsg = b415cb7cd384a1035d2bac1f7b96ae858dfd44c467030f304e817d11b9f9c606\nresult = valid\ntag = 24cb16323b7ec47e3add8f55cb9920aa7c1655de\n\n# tcId = 21\n# long message\nkey = 6fbb3c55e935e0a002c170a9122f1f7037bc0c59\nmsg = 36ac9a8cf0223ccf5d9048be9a65df4a1f40aaa857ce13d621f601bdee1fbe803171002d1fa634a1977dc23d9aa8fd\nresult = valid\ntag = e2fe8b343cef4b9754308408930526159537ecc8\n\n# tcId = 22\n# long message\nkey = e40f6206105f7800a1f190602bb6dde8057c3a87\nmsg = 10463b771fa586c5ed5c1f6488d793299db40fdd4f3e53334ae3ff8e09e5a879da06eb46d210ee0af0c8251e6c07aa1d\nresult = valid\ntag = b5dfce5998d2e321800e0e42762e62ec7a81448f\n\n# tcId = 23\n# long message\nkey = f04cc641ff67aba4ac2d17e6a042b6ccf86ae1d2\nmsg = 73c179acc26ffd0710b6cb3f73570702c9c059bf685614bb0ba7973ab875ff882d9aeecea4ef452c8893224472cfa5b61c\nresult = valid\ntag = b7d1e63fae54638082a9cb58c69fac9efcbee174\n\n# tcId = 24\n# long message\nkey = f61c1a878550d27aa459b3016b31731b89630d36\nmsg = 82b378d40ca04ad478a980d7b46e56c9967bc4e110a7add8bcbda411c12de384f41324e9df888d81702ff2b9e8752986ba081363eacc2e396f6b5fb01bf842358f0145d569d34fb3b4e24ee9dc9103284d743c52ea8661504b2db42f221b6d49b605fde34aa555e33ab0a140f61f3cda\nresult = valid\ntag = e688199489c9d3938f2e33d7cb3fc81bad4ffb8c\n\n# tcId = 25\n# long message\nkey = 8c29eb661fb633087f2452d057f98d553d2846f1\nmsg = 021b968c4ce337595154d90e44229980f0e2b64776f562ea25b24881637b44375bde65e5f9418bf163e2aacd37bd10319729ac596615a35cb632e0ffc316936a68acf4c7ae3ad36026124cee6d204f10432f08157cc32c5f4bcadaee67bd42bbeb826a9e9c8af9f554f7419fb265338d22bae2190bb644b32fe9bb6a2287aa\nresult = valid\ntag = f940df33b09965a3118c847c2ae1591690d0405f\n\n# tcId = 26\n# long message\nkey = 6316298f3aadadc664eda2cedf17669bc80d44ae\nmsg = bab807df54c009610a5c3f1e81605f6bf7d76b299d7ebdefa70f5e2e0b979011d191ead39c3bbe5dd2658347eb172950a1e03a01552bb38add33bac832b7177a77b08eb11cc1afe3ae84daffe4c4e88bc441e54e4dcbae3e0d5639f635228d811f0a043b13d5c91899c26bce2da2ddabd21b2ee668a21b454928915d6585408d\nresult = valid\ntag = 23b9a6d6a9c7cef6dce537722f4557b65dcdde99\n\n# tcId = 27\n# long message\nkey = f291696bf4f9655a00c9a2382bd1487342358714\nmsg = 32a650b5307d94b23139be64d470ef1492d57ca7af98205bf9bce8854ba8f5204880b2e9d58ddbe2e7bb21e6e0673f5e1a39f505909227475e41c1d59c73a933b13f4b07a75cb9f3279cc3bf61a6c09e3b9f755907491b9e745bfda58ad4e2304ff7525b41507a51a2fd664a2ee98cea00148a3663d77c47beb055bd45e7df48f6a0ce66c0a2d9a848761a4575d195d74eef5bb78c0993557a25ad7ca32e0a96b2518d9d8a180f357402a44217f1e36a9138c0909faffd0e9a907048584bb03a4e06fc69c463f39542dd2c7c81467d3728481bbf6bb60259604aa33a2d4c6195012fdc7aec99e2175aeb2d0c1f680964d63ee11418cd4d26e77ec131108417\nresult = valid\ntag = 3346bf23e52231a4aed773fd73e58d918580ede5\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e8ad50fc1035823661d979e2968968cecd03d9\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5641600cedd7e12063deaea0788785f56113520\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 04e8ad50fc1035823661d979e2968968cecd03d9\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e6641600cedd7e12063deaea0788785f56113520\n\n# tcId = 32\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 86e8ad50fc1035823661d979e2968968cecd03d9\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 64641600cedd7e12063deaea0788785f56113520\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e9ad50fc1035823661d979e2968968cecd03d9\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4651600cedd7e12063deaea0788785f56113520\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8add0fc1035823661d979e2968968cecd03d9\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641680cedd7e12063deaea0788785f56113520\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fd1035823661d979e2968968cecd03d9\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cfdd7e12063deaea0788785f56113520\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fe1035823661d979e2968968cecd03d9\n", + "\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600ccdd7e12063deaea0788785f56113520\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035023661d979e2968968cecd03d9\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e92063deaea0788785f56113520\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823761d979e2968968cecd03d9\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12073deaea0788785f56113520\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc103582b661d979e2968968cecd03d9\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12863deaea0788785f56113520\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823641d979e2968968cecd03d9\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12061deaea0788785f56113520\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d879e2968968cecd03d9\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063debea0788785f56113520\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e3968968cecd03d9\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0688785f56113520\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e0968968cecd03d9\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0588785f56113520\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d97962968968cecd03d9\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea8788785f56113520\n\n# tcId = 58\n# Flipped bit 152 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e2968968cecd03d8\n\n# tcId = 59\n# Flipped bit 152 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0788785f56113521\n\n# tcId = 60\n# Flipped bit 153 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e2968968cecd03db\n\n# tcId = 61\n# Flipped bit 153 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0788785f56113522\n\n# tcId = 62\n# Flipped bit 158 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e2968968cecd0399\n\n# tcId = 63\n# Flipped bit 158 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0788785f56113560\n\n# tcId = 64\n# Flipped bit 159 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e2968968cecd0359\n\n# tcId = 65\n# Flipped bit 159 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0788785f561135a0\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e8ad50fc1035823761d979e2968968cecd03d9\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5641600cedd7e12073deaea0788785f56113520\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8add0fc1035023661d979e2968968cecd03d9\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641680cedd7e92063deaea0788785f56113520\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035023661d979e29689e8cecd03d9\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e92063deaea078878df56113520\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = f91752af03efca7dc99e26861d6976973132fc26\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 1b9be9ff312281edf9c21515f87787a0a9eecadf\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 0000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 86682dd07c90b502b6e159f9621609e84e4d8359\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 64e496804e5dfe9286bd6a6a8708f8dfd691b5a0\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e9ac51fd1134833760d878e3978869cfcc02d8\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5651701cfdc7f13073cebeb0689795e57103421\n\n[keySize = 160]\n[tagSize = 80]\n\n# tcId = 82\n# empty message\nkey = 5ece0769742feabb6644469c9b264326b3deb126\nmsg = \nresult = valid\ntag = 344f8351f1d2773cae9e\n\n# tcId = 83\n# short message\nkey = 4ee9f9a93b2ddfe551281b397ccef844fc21af3a\nmsg = 2d\nresult = valid\ntag = 3aab1a2c9a2f2b8ac840\n\n# tcId = 84\n# short message\nkey = dfeebe9a5c181afc605ff63b22bf349ebdb6c7fb\nmsg = a5f3\nresult = valid\ntag = c3b7152230dacae4ef48\n\n# tcId = 85\n# short message\nkey = c5147ecd59b7d42315d5e3a55ec8b3a320c8d615\nmsg = 371777\nresult = valid\ntag = 0abb78a2c67c565f89b1\n\n# tcId = 86\n# short message\nkey = db0da5659ba69ce195a69524508e437c688f7147\nmsg = 4ef4ec44\nresult = valid\ntag = 4062faeb0b406698b740\n\n# tcId = 87\n# short message\nkey = 495d6c1191852ecaf0573e6a77610c32acf5a117\nmsg = 1566ae63ce\nresult = valid\ntag = 45cbefcd9c7eeee37ae5\n\n# tcId = 88\n# short message\nkey = e5cfe7dc67514c4c75d28bb805d0700bdea0d669\nmsg = af1a6b15b622\nresult = valid\ntag = e867269d506a37e8a62d\n\n# tcId = 89\n# short message\nkey = cf1b8b902512186e38c38165d6e587bceecae87f\nmsg = a59512152c7221\nresult = valid\ntag = 1a125b21412cdc596894\n\n# tcId = 90\n# short ", + "message\nkey = d0157fb40c7739ae506aad7de60f32ccc3325583\nmsg = 1292df8d53d16f3c\nresult = valid\ntag = 9224f11bff0e49b9aa95\n\n# tcId = 91\n# short message\nkey = fd55b81edd55a15bff409129e9930f1ba1763c33\nmsg = 05220a6997533c699b\nresult = valid\ntag = 3b2d07dc8ca206ba16c4\n\n# tcId = 92\n# short message\nkey = 079937cf3bd42864d5b15c62bdd92f275597316d\nmsg = 5ac13ce1b1f77724e281\nresult = valid\ntag = 0c24afcdadd8538977b1\n\n# tcId = 93\n# short message\nkey = 545b13e1f39f0b7ca9252bc596277278166ad410\nmsg = 08a7bc90732d54381b6e30\nresult = valid\ntag = 9bf7f121365a82c2ac69\n\n# tcId = 94\n# short message\nkey = 25385e9f89b66098ee8162aeca03bb45b313561f\nmsg = bff236aad71fb5daf7fc43b8\nresult = valid\ntag = 44db86e7a1476226dd86\n\n# tcId = 95\n# short message\nkey = 9b68139d93a88fe34cf9f83006c03b3164b60468\nmsg = ad672b9719c10863fd6fa8db88\nresult = valid\ntag = 2d17a88d87aae7dbaced\n\n# tcId = 96\n# short message\nkey = c3b785915e137544dac542cb4bdb16d53036fb11\nmsg = f8c1edb469b93c073b6f6bf74cca\nresult = valid\ntag = 16713d61fbb4149f500b\n\n# tcId = 97\n# short message\nkey = da67475185b3615055f971819db27871b23c75d0\nmsg = a176533319bee5e43d8f0eafb77bb3\nresult = valid\ntag = fceece892852d4a26070\n\n# tcId = 98\nkey = 0cf146ca7a254db1e001a29ad03c5e6dcbe7140a\nmsg = a83df5d099854eb6ead7031c51460357\nresult = valid\ntag = 9bcf7513206e27a4697d\n\n# tcId = 99\nkey = e038dff028227dc4b4d7453db3070108465dd5b2\nmsg = 7ae4e30834db449e4244a9fc0322193e7a\nresult = valid\ntag = 9aa8544a9afdd920c0f2\n\n# tcId = 100\nkey = b399fcfd1ad32140879aa0556ac34d8b5ac267f2\nmsg = 0e3f0fc5cb1456fede99f86a056f640b8f5e5e1b612f25f6\nresult = valid\ntag = fa095c6faed0f086b215\n\n# tcId = 101\nkey = 2bf7d201ef44241a22ae4b81aab910d22c2db918\nmsg = aa0afaf3af36548227349adcfcb6bf998a7fa78d29b87a0f50609c42edcdb3dd\nresult = valid\ntag = 708ec45d410b1fe075c8\n\n# tcId = 102\n# long message\nkey = 48ccc3907c3612a18294fddf2660e33d9cb787fc\nmsg = edbb680243a825068eefe5ba184e5eed4b7f85ca3b511a42d655be3e05d8ff124541b3d56a10a35cff8da8b6229ac1\nresult = valid\ntag = 3cb7fce20df8385cf6bb\n\n# tcId = 103\n# long message\nkey = 227d796b7867409db3de1ffa3cfe376704044f01\nmsg = b6393ab18376c025e2d8e00ca774a51aec19dc4a89cf6a9f8fc4aba81d73b3907efef1a0d018a53cb8b8ca1032e31583\nresult = valid\ntag = 525387c81c2ab67aca74\n\n# tcId = 104\n# long message\nkey = 5718e700c48a7971350d8a11b37754ae55a9aad2\nmsg = cc95286e9b3ca936191aff8731e6a17806a0958b0b1a39977c46395240641e97d5395a9c8a9d36281eba825a94e8b1ad79\nresult = valid\ntag = e54782110d40efb54343\n\n# tcId = 105\n# long message\nkey = f56aa792795eb03ae0990440714ab16cc4ad18c3\nmsg = 7a024d995addd38d967bc3b41641738b69897d8c52b7aff961a700cb68fa7481da0a3690a151ce09c95b4da60f7cf28990017292893bbb2f81a4dda45fe8639877ac5abaebbe00c1fd179eaaf7dfb4d50929371b9ab8b7d3531a63ab188d7b99160060475c33e83351f65d5e329ee8bf\nresult = valid\ntag = 1e2205d17ad4de3f1ec1\n\n# tcId = 106\n# long message\nkey = 00be0034d32699b1335d8d4e506235ee4f07bef6\nmsg = 639e828d88bf0642be0a541b1c3fca07609eb98d23a8b2cd4e60e139515e4ff440dfda1bc19392feffed74164d6a9d8f5bafe53fd397cb5ee1dcdf9bfc86169f1bc38ba57f88d7e8c6728c35fc07128ab6c396bb3ef3c14d13a05f8c3453353e850dc1b291ac7061ab52f121663f18b024e5cc0068328c88f52c20cd21793a\nresult = valid\ntag = 6e98973d3a775ac508e7\n\n# tcId = 107\n# long message\nkey = c5baa750a8424450f1b4d453c58e29c462e52639\nmsg = 137c7227a192bed26d08da886430f010094243b5c4686e6831e48db450045aa1d7e3aecf193eaaa1a73905f5f1190659a43ed4d10bfca5668ebeb343b21ff71d0737f81f67392b6459aa95f9441f699bf45fee24867a98a8a6c57f972abe3e400fd64ce3e5b48622a0e99e08d424250fa00ed0dfa1193f936c78af276a4b442b\nresult = valid\ntag = 490dfd2d5e6ea130f6a1\n\n# tcId = 108\n# long message\nkey = 6bd486ce934c2f5fe38a19423d257bc5d808e367\nmsg = b8a684ada0a01405614b1fa66ebab8b0356e33b889b81b3eb68d13b05c4e60c724785e634c4ec0081cc6bbdf213db7254f92c0a858bfcc3d63a4e4dfd9e75bd4839ac05751c23cb59945f4c3660d2b3009f5b08a596bdc33070244bceea11180ac0906404518b09d5d8612e0d8e69f4b9e55bbc053b56574711b02956db3f3bd8f6c42065871255854a161e57100adb82cba79893aad715dc3df1488b3edb56e58b89c0be3cfab09a3df40524d2d3251b0fcf7faabfc75f50026795060c1d62872574a769e3da0e19af1b5e25514ae17a160c8d1eb253c9f66ec3df789ec0c6c704a9e2fe8ef7e9bf8e8164f86d09d2a23698733a8e40a279cd5fe02c295ff\nresult = valid\ntag = a594d26d98b53b4063b2\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e8ad50fc1035823661\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5641600cedd7e12063d\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 04e8ad50fc1035823661\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e6641600cedd7e12063d\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 86e8ad50fc1035823661\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 64641600cedd7e12063d\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e9ad50fc1035823661\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4651600cedd7e12063d\n\n# tcId = 117\n# Flipped bit 16 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ac50fc1035823661\n\n# tcId = 118\n# Flipped bit 16 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641700cedd7e12063d\n\n# tcId = 119\n# Flipped bit 17 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8af50fc1035823661\n\n# tcId = 120\n# Flipped bit 17 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641400cedd7e12063d\n\n# tcId = 121\n# Flipped bit 23 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e82d50fc1035823661\n\n# tcId = 122\n# Flipped bit 23 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4649600cedd7e12063d\n\n# tcId = 123\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8add0fc1035823661\n\n# tcId = 124\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641680cedd7e12063d\n\n# tcId = 125\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fd1035823661\n\n# tcId = 126\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cfdd7e12063d\n\n# tcId = 127\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fe1035823661\n\n# tcId = 128\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600ccdd7e12063d\n\n# tcId = 129\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035023661\n\n# tcId = 130\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e92063d\n\n# tcId = 131\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823761\n\n# tcId = 132\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12073d\n\n# tcId = 133\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc103582b661\n\n# tcId = 134\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12863d\n\n# tcId = 135\n# Flipped bit 72 in tag\nkey = 000102030405060708", + "090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823660\n\n# tcId = 136\n# Flipped bit 72 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063c\n\n# tcId = 137\n# Flipped bit 73 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823663\n\n# tcId = 138\n# Flipped bit 73 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063f\n\n# tcId = 139\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823641\n\n# tcId = 140\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12061d\n\n# tcId = 141\n# Flipped bit 78 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823621\n\n# tcId = 142\n# Flipped bit 78 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12067d\n\n# tcId = 143\n# Flipped bit 79 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc10358236e1\n\n# tcId = 144\n# Flipped bit 79 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e1206bd\n\n# tcId = 145\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e8ad50fc1035823761\n\n# tcId = 146\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5641600cedd7e12073d\n\n# tcId = 147\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8add0fc1035023661\n\n# tcId = 148\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641680cedd7e92063d\n\n# tcId = 149\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = f91752af03efca7dc99e\n\n# tcId = 150\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 1b9be9ff312281edf9c2\n\n# tcId = 151\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 00000000000000000000\n\n# tcId = 152\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000\n\n# tcId = 153\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = ffffffffffffffffffff\n\n# tcId = 154\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffff\n\n# tcId = 155\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 86682dd07c90b502b6e1\n\n# tcId = 156\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 64e496804e5dfe9286bd\n\n# tcId = 157\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e9ac51fd1134833760\n\n# tcId = 158\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5651701cfdc7f13073c\n\n[keySize = 80]\n[tagSize = 160]\n\n# tcId = 159\n# short key\nkey = 1d9535a0daea9dfe443a\nmsg = \nresult = valid\ntag = 7436089fede3291c0c421c9ad13c357ec8660bae\n\n# tcId = 160\n# short key\nkey = f5c2c420c6f056467fca\nmsg = bc8a29f52e57581cb89a86e5d644a14d\nresult = valid\ntag = 1eb76df7235c52371d86113f5423628b2eb7c3d5\n\n# tcId = 161\n# short key\nkey = e59b0276e27a0abc75f1\nmsg = 061ca1a1af51c5133728c414f9646b3f50223e9b2055707032e754dc1d31964b\nresult = valid\ntag = 2081260f65316df2956aac723a9bd7d2225a8669\n\n[keySize = 80]\n[tagSize = 80]\n\n# tcId = 162\n# short key\nkey = b18aba1171cc2ffc7d58\nmsg = \nresult = valid\ntag = deeb3d6d81e33d1cad21\n\n# tcId = 163\n# short key\nkey = 23082066e8c45da82fc6\nmsg = 06c19c6ee4d2f015769f6d46eb46d6b4\nresult = valid\ntag = 747cd928e8831917c855\n\n# tcId = 164\n# short key\nkey = a6fa1e04df38a78667eb\nmsg = 51a4ea38e5566d6fd803aec5e073e087e9ae00d37d4a98d559074ebffc7658b7\nresult = valid\ntag = ec8c200c1ddad6d3aad0\n\n[keySize = 520]\n[tagSize = 160]\n\n# tcId = 165\n# long key\nkey = ab92e2cd40e00b40c4442dd7671c067c7792af28e60f2585e87f163bf3bdfca7f553cec71b0065025500c48e2070984ad9e24e733107ebfde27164a4828981ac20\nmsg = \nresult = valid\ntag = 7a29b47ff6ae90c99573d8c922a23e83a62b66bc\n\n# tcId = 166\n# long key\nkey = 3b47a5d5b72babe116e61919600cb980c904c298ab91fae3db9c82b0f38a18888bc05a418d65d68f8850937559bb37325bce04d0e5d175a24fea309895f5705ad7\nmsg = d71862028fcaf13422bf32ac0c5f079b\nresult = valid\ntag = 8019231e77aca645182670cadf887afd4b4115a7\n\n# tcId = 167\n# long key\nkey = 6e6c43df9bb6c6b8fe414a183e738508f0aca41d5beef6df1b260c39e1979b54683622a4d53354231bef6c35e129f85f822ba09198aa30c65ee60e4202de8cd102\nmsg = 98f0a4b9a36e173d89730a3b370777c499b4cff2846f50bfb88fbbbc547cbae4\nresult = valid\ntag = d1653c90fc591e3a3c285a3be8b12ca9b2121e88\n\n[keySize = 520]\n[tagSize = 80]\n\n# tcId = 168\n# long key\nkey = 4f00fd17ae82a6252ada98280bbd895d743fc4c20bc9e615d8a786c79e454c2b1341e24254fa0371fac86e7c0ef1a7df5c16f3b3569fda112cca8685faecbb8923\nmsg = \nresult = valid\ntag = 6802ca52be056d66b9a0\n\n# tcId = 169\n# long key\nkey = d22ec568909990c213679f7072eaf19763508ebde6962c75e7429c5f2454d4b5472811eea8e02fdc89ec386bc6f41d2ad8a91d116b2cbc52b80d357127d1555a66\nmsg = f71b43e0cc64b5409e6501ca55a8d450\nresult = valid\ntag = d492a296860cc5a89c5f\n\n# tcId = 170\n# long key\nkey = bcf6ad6e5c7e2200299ea8602efb42b409292346f78a0e57a789ba17b17ed608e88497e2bb4ebbbb3ce7750d222b3bdf848d4dc8d49b5b60378fb93ce3f66ab4eb\nmsg = 586f5ddbc372c0711b77e4b87d345d62b6de55a1ce6fa18de3346c86be5cec6e\nresult = valid\ntag = 1de9aefcc53130245a6e\n\n", }; -static const size_t kLen80 = 41798; +static const size_t kLen113 = 35704; -static const char *kData80[] = { - "# Imported from Wycheproof's rsa_pss_3072_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = b520065682633ba54c9b713b2ef19cdc1fcf275ba1744c2350da7307a20971cc30eefa37d1667d23d20001a674f0e00df4f9b9e1d5fe7eb85cc45cab5dd625759de83017995c93d48b126df03aa74ef87daea0c1652dd370ad5d663598a383cac217a208b22c7cf0e448cc7ae0555f892ccb8ded6894cfb0c328cb542be0485d860ca77203081f3b04c6f55c5689b1a66b1c24819a4a7ea55f32e00f61accf4b411bb320a96c990173b63ccd74e7da7df5ceaf33a39a8acb89a845a594b164ec6e22cce940eb06f2d487a8bc4574451878c2bbf57d241f76586e0703bf5f86bee832d05b75fabaed6accadfc1ec2cd6e619dbb29b65d6e6f5e118ad52d82a955d21005ecd63fb382f32bb8e2e1e57220b345cd6422bdd84a91495d0ab5775b08139edee960dab1b4ffd9ea5b27398b58e6e35211c3581501e99bf5e3f17fd79381528d28a4927e28082f45bfa9519f98ea663dc84c50317adf0bd5da98b01459011cec61800534dd5afc5a567c19e4a400f06dee74112083b5322615c144ce3b\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8e10f23f49011d761946b283d7152e851ee76e5caa1741b0901eea317d8945f2a0368551b3f2b3a6a0d6a939aebded8fea0a96dd1d037be33b1c35ce78dc89693918a99d547a1d892f4047c09fff7a6523acb0cb0cddebcd4a6fdcc309a466ca9580fedf032bf56154f8d79d5c4686abfd2c7abd342b37e5373b59a07fa865b118c44f2c44b851306dc97eaeeb638f14bafbb09c81996beabaaec28c19f06ffd59dbe3080e0124e2386418052735f541d496322c03ebee6e4dcaba24dde9772a9f079973df26e854c255eb48df50c01d49831e54b64d0ff862d03fb4d82ff204d303b537176c50ea56761a83d0aed8ed2deecbbba981c8aacd1300051a864d1efdc897f31383ccd6f181bf976a75e7a7613b60b3cb2a6f7ab8636f672990c13017f2981c11ba36096cbea898f016c581ee859e950bec195cc4e376e134341b2fd3e3d6181ba4d377b2aab6a148c6ea8cca9ee3478297e901856ab18f61c0233c899841e5da125516cf5274dc1b22e2a51c922daeeccfad0f2a8bf84e531bc4f8\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 22915cfa1d7dd30f50b4c0e4cee42c5f0aa1b7a6644f8a11e611b2db042b122af8211ffc1dc220b435d8919cf64d715b54ff8a762f702b365cbdab455509b97d9b310011467d4186647b957e2efa404aed3b84840529bdef7746348385a1c6a2ecdb88d1cc2b40b36c346386739c39d2815938e463a35348426f17d32d633b873d6124d8b49a726743af7c0e56d63394155b63089c63ed8897f8af2a2260d33499afab11c911faa754ced5acdac2de571f39c2768716e4308244a99d1e65da7061d2feb8ec8b4e517bd5e19cac626698479ab2019257cf83ad7b641db2345b38006d63f84b41772b90037778389cc30ed6aba6af212d9326792af746d7bca9211fa344fdc2798a490aed3a2840620c2a85e3d9b9c38f2330072663e16dd26bc414c7d68f6b11d2cd3e0387c1834c5e2262a9e2dc1bf7c0108b4e2052566c7a941ef6b38c8687fd7abe6add2b745c2c2d680ae3e5646ce2e717ef9899c7f3fb1e3088e8c0587d86546f752771819595a7a3d422820ceaa12e3ee671a456dac673\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 6e471c9342aaa27bddf64b02e8805611a13770b22cc3d24cdfa9a2fc14865f59344c288cf15d4c8785089968a12e9d3e63b8179489568743448f698f316640146322ef3b611fc98396cf4a4757e48ce6701f123fc0bb8df80b63cd2371522f8ed929f7bdb709d424af6eab2eab212b43afe537fec7bbb9dd02e64f116e02ad1214ae931a6fe28a5982029088a27bb95ef2ee46ad212083719327acab5ee51c82d94d5b14f6dffd2242ddf9fbbb2d03f945796a3e35346f2334ca6b4ec5d9ed6f1584688e661951e948cb95fc5cc04e90cad98c861ddff514c60275650ae3003185efe0c04356b07f361f7dc7e17c5de479cbf119c2910aaffa032aaa81ec9eb9f7e1ad21a410ffce2502e4829404d01ae090ef289bc28c9c3f37d3fcae33e1523b3c9b81e301f51d046196fc15c90d58bd35a1fb11fa04621b32cb61e718a434a0aaefcb676cbca888554d1e84d43b108fc1cb123cd2d300da630fb77a3ce29a0f53af32a5ce81c5ad772a199d1180a9e2f090847cd87ddf7b39aeec89a6b492\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 39f7dc9010bf3c200df551499404ca40346e58ce0c56271e2eb7835187ae57a7b9a0688c9b088ad85e128f56c0299c437a1a9a9104f3f51aab7043d5714963e46ace5d8e435fd3e416dd61474e9dcac3ffa6c3f0ebc4ada987c4313ec36f2c43d2dc749e496fbfad639dc811304388990b98cf10ff616a866bf5d98cd5199bb74704ae4ef365424130738b9d81f893a5e2316ee6daea185c170f69ebd2ad455b56676ebda9d0bb0bf4d3357475ed8166a3d2dfe6e093c3a4bc5bc2fc2275e6779d809107b621138fc629a6767d5809c85bf88b46b14a8e4ee9e310db746f4c0a79a3d36f6e305125642dbf823474fb913a9967a6d120e82a79ace48c501fed8dd6edb9634df909fe6775f8f6fc5b79f5881e1f13b7cde37c7c3f97319cd612f8ad2b1ac921079f18213e5facba0b83c17887e69501a6d2eb37661f03590af1a15646165eb785f467cad0c625947e8a8a4a68f8938077d5ef7f1b8b4da0d09ad5874bcb22ccc4ee36b9341b974a51a1d6ca009ded4ace9faa99d924a23421aabb\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = ae8472e987806e5110beae330056ff974abfce7ea9927979cdd14346747414cdce06a9c78eb1846c75dc288d7da531531da49ba7651d3a1f79e3297fe37aa73e075cfe5ac004b166526cba55f914e0d2fb1f12a60a3222dac434fa378c2e7b0ea9c2cb5e22cc343ea624ad6cf5545a61364cd67d6dc23d22e4888a253e940ff0e0ce0207c1feedccdfa10f50d2363bdbdf10893e3967d7555fba157f9a450d6bbe63ff31777bdfd402afa72c3a2181e5cc025443cec30d253653db7e82eb7dd488e6491fd25001723eae2e3106c7b50c2b73c142a4a31ec43e", - "dc9ec9011383c99a095b36258a0a77aac2af19b26af8a166b130f7f57f03a0e8007d5ac0eea9ecbe14fb7885538a22c13de5771bfdf523fef9c9b5f52ebc2af7902a0baf2a33923b0d0622b8fd5c938214aea4b9e7f0a647c5520c3a94a29737b95cc623f20bba8eaa3e9db60116fe1760d9b7ac1841e7586aec9708212a5bef2ff67c74462883062e052ab9fd90ffca0f0a6166b71a93bd289a1d4acd2d6ce72ae0b91cdde72e\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 730a26b2c3fc2df474212c04fcb346b3b78a58c611351871ac1c5262867ce19a6f553880d68ba4c35827610b72bb044162b083fe9ffa7a82e2366090464821946f2ce1a8ea19b12c10c0e42a52ff805851c226748a9d65d7cb2057c9ee0beddd8ca02ae1bc36ced39925d2429d531c2e607bfbf0648708ef4f7d816c8839cc8c62036ac37e811f94a943198acf6e19c66cd829bde9dec9969eb4724e2d4ddc4f8c2bb2527007ddbaf2975937ece7f1779db28c610503e7ebbf0b03459a1f4794136842b57d04f14e22b98ef37939c64d08fb242cca548b7bb2c2d8b1df6bb8b0b7f6f38e47226e9fc0a4723c2a518ebdc5c4c8f15db74fe958bb567e55f092d3dc8af0128b353e2d273d574433c22cca579c479005b52c715eff1ef4eca8d82d2f6d7cc972fe0e75f19eeea3b77ea7fe26b1d29cedbfa7ef0737e4aa50a567b5fb417e356fa8034a72a53c5d1c0cd467808df6faeba89dddeaeb09c3ce7937450b41e7c1d4403b3033d3531adc24e9f5fe35d877a3e36fd3702289e69b460b97\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 39e95e2dbbcf1817407146b19148aeccdc6b538729ae4f3bc240f4ed8cb9dc6a0e9cdf436bf5237e79e239a432a953ce3804a7a55bcc3f7a0d37d0123b1f046ecbf0eb33f52631e049b0692ba2e55db134f60e085c078b0cbbd66a74bd09c852fa9f029fdcc25679990dc482284de9fc74df343aa7197d84689011f61ec0d1d0fd3b811a918e80b9ede6c78c03f0ff6ec7e7ecba9cbd8a4124128034e425aacb004c042be805710e94ca4d36cc2f5d893036091950bb1663d3499f8ebe09ea2760e3939b835efa585834112a5515c8900db98a44914a6c3e5caead29b182e585092ee59126c9e6a7737d3b34b2fdaeb74ddb299cc3725687167d5c1f92d9186f3aefca61ad6c27283dbc821f6b5aacb238500a51f7439a8bf555ee26fba4c8613fc43ffcd254977f5f67095ef23e956721d5d71a8a73503106b2555c7433cabb304f30492c90b357127b09d45f171d7f4d4939c84516f96eb8f0693385e53a3cf8a6b4d0638b121e2e70b5451883ef368097c7a2010dfd889015eef0081513d7\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 84f1e37e7d52955a8d076e83fabce6a7153d49e771146ad665ac95b67eea85ecf8c126887c0b0e4ff2f4f3ca11ccc510fc4a062b3157edf20ff2763ed0c44ca8d48c571119bf5a4ada5d87eaf5c389cd8ce3a9ce70bfa98d5536fc731a2607066bb2cd0915511404e69ae5ba69bc197ed995f51d835bde74c5dd1d4e69a54445f3723692c3b201c28370e4892ea56c3d2b8354489a728495e7d7d611e82c739d53ded82f1e72c4e7273ec63c8fc4cd13241219659d9c6c8620a455477587737ab97959a91efabc1e1de8218bb67466b8e890f47b5ae46266ac06e06247f3a169a31f9fafa268bd453c67b77f7ca9a53adee42b3a9acd4af467f7defbcfb96f087717137bcc0bfb41f5add94af4981c00d95f992995aa3ae406dd6df56a7070834d201eb1cd12c7ca87779de0eb38dbb92f4e7f6f78dd224d0dee4b12b20836155553b0a76e2cc071abb59a70ab393679ca458d18f9a5ec69d1d70b074d6cc8f9c3d5143de1c53dac156d36d28660953ac68670e34317a8864cf7c7214e5c9c33\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 875c6f8f3395f75024b7ade4f6b3004c4607aa6cc99168d01ccd6cb481b51fb8a2bb44bd10a0e7768f282653ab6ca340b044ad03e09abd01bd0962a5e3724ff7a49ffee7818dd5acd0a6968c5c458c207d0f77eff3f8a2be4b559314b02e413865ecbfc0bf7ed7e66ae10b86efa9873eff30a17aedbf81cd98811ba228543ece8b14f64ca98dd26aa5ee83a1847d6fdabb8140e4dfe48db39f6a48a825b7af48c1e1bd124a2f6b76d0e37f76f4ba986ab3afeb55c7cf2f45021dc325322ae61b531f43242c65ba8b4a550801e966602730cc186bf4678d300d5783da4bb9d9ad54aceb656ec7e4598e3c209ac48e1b775b68896fe282bc2e3bf9cac99c601d64de18d31d1892b3098fae2933854f822c49faa09e079c4ffa9dd2c006471263f02e7e8eaf0345139482cd82ed8e6d3e080887ed13f2e65819a1dcdb6d3f5692f5ec7f3a0609f2f71ca4564d58f60a0311be5b597ddda9b07b52541ea924cc05146243d8b3899d3ab001184767f896f0e044224d96c975127c1c987a84d15cfa12\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = bed5c44c1e2a041c2130caf34ce43e4efdde6f7846c30d5a1bbdd88c266485322b1fd6d6353e85ca4538d862394fd32180b36c10b314a8823a6c4a78cb62b5b9884a6ca480ad2993d4f209d1895f9a4182a14d47f09a13c9c9bbaf211d07653f8c610c16d156c931df9436bc7b9ef929dede2c1d59a2b0441290f51825ef44964564e3420dcf3c1622a8227a82b8d3806eb5d246a3b0527cde1be3f219a9015653f3f8a3956d055eff6a90f42b48f3fae5dc57d6be111956e6a9b6ef52dc35ef5ac363f1ce802c4c09555dd343ad0dda96b467166ac515830e9e2ee40d56e68558408b1fb71cbc4a964ebd832e315d8bee13529314a8ae346f4d12f5ef00686f4ec26f9479f57e69244264d81a0fa39ba7670cdf2db9684e0b70d2864c4f2514e498e87d474e65cb188835d5fd8c34e5432944cc0874eadcd0a3e62d9f533583d33f5a99af63d6cf429363f58f691deb4a95ff409e32c393f344c5e0347b2f12125f6e3944f563d59c6539c661129f300267dde299972f02dcc240bb8541acf2\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 4e28f546283f9ac74cc99c6bca79bc208e47220cfb0717aabc521ac55119ec6bbcac880bed0007c04eef92a24b091d9a09ee5d3b5be790abdb2c98a07313d505fc876adcbb1089026940e03dfc10fb46a0c2a764ebe86e51ecc2ab489f56daf38764fc0a36a9cb4529367c9880bfd7631c340fb7fbac0edd2e1def00d65bd52e597e2eba1be1e41bd89a00f5c66fbc18b93e9cc1b5be962780f6d7a9c6d375a28556114f37a8a3606dcd68c8128bf7a7e5f1205778bcf3048bd4f7c10cbdb4ae759954c4e4db0a9fe4df270c41bb86885dbdd8cb7e72a33322238a2d29615a2f01e9fc59c230c2cce58ad096c2de5071e020f76c8c39874f1de677dd5d2f96ab4dc145098d25b740b5279f05713daff54ba695f950039882059cfc2f86c35a0501b8d0914aa59a806e8d1403fb2eef163ba1d6e3d1e18dc99c622f8c2d360bfab2c9e8fd9d74a027e466fbcf4fa56777ee0fea7e04ae1901e65b5361f97146d7f4a550adf77539fabb7135967dc16f8ca99e8283dd69627cf27cb9d2df20bbbb\n\n# tcId = 14\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 78d3509284dc06b54583e11ddf2507d9e50bdbf079fc319d107bc2527c1b742f4c759320fa22435d74e94253feb4a379128e7f33c5f3462fbfb92ff40c10b23f8bdc5890114757364207768014380fc16ebeaf22a7b1a9366f3fbbbb912347f1ef595d742a976b69377533e7b61d3237c3693cf43b34f92773497b8df7ac0660f67439aaa66fe179b34d9dd4d013e8fab958fbe2a27ce84b6d1c3c2998a50d41b6b38000191673c23792db2fe47e4ddd3b5396c65dc44812e55298b8b50b5a2a01d508b9d215986113b099717c3a4ee930f479308c20c26630aa5419c2589c8cbbafa7eaebd71fca9e751793629d767be8709fef9177d6631a48731f5e59fc7e98cd466375e8775ba935f12b45575819ecef4d78d85b6e984d90d41c93bb03c832fe415fb567a1d951f7dbdf407beef8caa3a741ca7c7729c8d8ba98896dbe52d9785feb49332e646771e7d84b75476aafa0a54512806339cb54ec1c70943beb508966741eba4d39c2fe535aa82a9cb92eec99d38540efa3e39fbc02d757ad74\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 042bea79b22418311d75e86d0c05a9ab4905e59b3e0b12fa0b1e372bbf66690e1c23145b23b92735f2214ac1eac2cc4045e299f40f7e418c91ff328e68bf17466eb3e28de3139ec23b57ce5aafbc1e0e1521a292935a35c6d6189a42a81c573f8be9a0cf80b34457392faf031b632544fdd50285a7fa82a4ae6150b60dd9a32cfd131b246d6c89fc92e9a1df96857a6b56fd9c897aa4c8b4ee8e10dcd0ee80334d2261f02930a3a54a3477c8e155731878637256f70853484930d180a37c0b604aaaf649ce93f886a5f9aaf86e529286bf1ab5c8e189d44a28814d5e1c7e5c376d8e80ece5686d6ebab90a51773be4a919b22bde123ceed06c76d2c1af878540b5ec81ce067959ea8333e2340a9f9d7f2b22e1052e7478382ca937cbdad62a6d8fa409170ef2a03299126965d558978cad7d399a683d19b76bc598b94f6c94c33c6bb1652d44508c777de0da7b651e7c938e802bac8355d3503029cd1725e2dd70a90627df66c04989e541a56dc7df6a6a24175d921ecdcfdcd0e8b454de4a6e\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 1d8bfdc0ddfb312f4b902bd241cb5750f80312688daf5e29ec6fb8cb085fc2978b25f101483e99d6c3a04e7a66e800257ecde1ef18c7ba17eeecd94d89245d15a6690be9d61faa9c94cefd06a24ad229f521688af44a2b26f726268607a3e4c63228261ac1bdfe714ff0414d6029772e53243770d735dbe211df1ce96056431405c2c612ce307957c5e7a7616bfe877148650de4ef0b4cb342aabc9315beab5e33f53986efa2b49de12b7dd1ae3676ba09a2aeec8c39c65dd44ce408a8c87d91e2225ee776cc1d924f354ba2e91c0d52b55fff4ccca2cf6ee76ee6b9588ba8f2d1610a7c7ec520602b37e206095e658fa144393de3fa47d048a017ed93ab89f835b63f8232c3f31eaeabe76a056c53d87f2349198c73cdbe9bc89085f610cbbe5f5ba65a0190d7339f2c26a7e3913aa98aca138bd87e6178c169d8a120eb5e74c51bf5040214efdccf7f9fc61624079081f9faf9c70b294bce55895eef3627cfec1cbd488940f7dc5f34b386fac86a569760bd490e856d364912ea354d4abd97\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = b01d88bdc0b6086a22c3ddd9b04a4e4a95c3b2550dc7e6c06e7a36ab17ecabfc5606a06f7ae7a0fe4723743e403112c7fc08800ecb687a64de4be5ea2482600f", - "beb01b46fc799b4206bacffa8c38d27c99cadaa0af333a8002829398d1996d1e8f64688670e30f14e96d9977056f310ffaa9d10b83d1c0eec4d3d73f64adaa343fb8b206aeeb2990342013ff42c7242dcf30f1653488b4976dff36a79853cba1dd28c6447e626e14a92459366208b7cadc5442c1a0bf0d4d8be6e32d5306173112742a873e8c4db781cd362b4ef198f32c750b44effe3bcb0448426f090941ed4c151c9b75588ac0867a2f468dc2fa46f0be778a8d6f2ba01ff47534c6d71d62109dea6741c60142580a1f4e22b1761200f4f1599970e1c456496ff82525085c0a12eea8c412b929bb1873cd7dbb2ab35b9eef309d9f0617fd37fb3c56a5bc84d965098dd6b0c058908f9cbde6858f0d0734726c593f2bcec32236741e110acb9d536a7942f67f4c8a4b06478229bab09e8a3ec73930b75e82fd4ac8e466fa5b\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 52c636d91f3a8c269ea2be767293a325a7addd7b1026251d45c1e99d818f6f8b1d52306768d163b9d0de3600e18b8e6fc3d9e874ccfcef45e4011ebacf3500e712f36863e53cb01db1749798941d557428ac017d22be753eb401df9a96261126b017bceadb8a58e2d85bd51797e59cf9b34b9a42ad90ea441da58fd986e023d5f617498be1304552cb6f3b27a44a6dc9289a29f10ba879c82ccfbaf7468f65ffd1d9b1f44f60480a8743e4110a454d6b88f8f6870a32336510a0e967b352b5f73bd6a8f39ca6f40b65c016149ab7449452a59ec87dfaaef33fed36f1759dc4485b63ee302d302441502c61b1d8427843080d968341873b272991a0ecf9c19d6f37170ca7cdb8a3068acc8d6a7aa4e8a33ef463097a7978dfeea14018732672df9a124f7b3164f3ccc527a8c0d7a2d75abc03efce9adba296558fbb1110b4c6e7c8f7952f67bc558219d2a836c673467a4995140d9d7cc377adca9898f8ace6446feb50e5b744f76a7f75f103b654096fd2902fd863452ab4bc0f89c457bf1aba\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = bcf0f11694a2a707898454a81625b83e3fe9a96155efad7cacd049c348c23eb728fcb3eaf395015657059129328f19f6e44f050d10783adfa384f20c25ac545c38771a0c46c9724a000868043d60cb9c688595c134022a0b6e99d594581f94638d24cff674a1f2ebc77c0d13a8dbd61848bb0595c6e201608f00c75c5cec3d3091bdaaf5d9c7cc60337591edf4850e7b782d45292baa165d99a811d79fbdd75d8389a270507d3eb26d5c240ef00869d910883ccb5436b36907a82e4058b5a2c6a27e092ef4cdcd5c98bb410bf229d8fe9520559e8167c0b1fd3b94632209bfe0332892f879f25afbba6fb67cb1dfc225746df618ada74a2c085bdbaec3b4f6d675504af6221ddd35db01829df1fd386236df6ee476a3660178a7408dff69a86feb522cbedf7ff866d5878bcaf19e82f09bfe2e6d33b4fb70e1467caceeeae4e5e0d8c81b0a7d3e17ec594c9be9c9ec51c23aae99c81fe919d942de167eee370c605564b8dbf1fee860c6e052a280c7190fda3c2f8c1f401e82c4dc1d67c73e78\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 58384fb43afccf19cdd00c2006d5a6bdd12a5ac149ba6b21d5dbfca1b394624007fa5a729a8d4e308daacece63654606e9be32ae8184ce9aa237cdeb44ce1c961a4598192a609d1edce2b9a9b8944cff2c9bfeec9e2fe6c7887f04e1911d7fdc994cdcc5c1282bbb2a519d4e6433bf087790c8833fc63e9236463121ade094e082d72a456ef9eaf928b2d38a7274b23a5136118e82b897414bb6cd0177298aac6970f179403d152553fc2d7e13e40c3b4875e6bc3fda904582ee49817f39e3c79b8ef70105de88387484595059453f9f57b52f1e79f5226ea2f8168e2e48de1d0d544daad205f6c32a6865f66acd4b318834741553cb1bce7a7c06e4c33cf51eabcbbe44626f53f7a2729cefda59ecba55ffb4bccb746dbd7689e7f3c1f29a6f26180fdfb143b16d10e58c72d4f8abb3dc3d35cabebe7928b5d61d5c1c9bed922bd44badf9db2f0e29f54d950a9978b1408a2935c6ab9e2491bb0624a888d306692fcf71e4c93bfd38ce6590e022c8e5bef0a9b5a3152edcc61c7ab8bdeef219\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 4e71b92c27a22e5003c8ff639720b5b809b34f1f2797135bb4ce06a7d1f6569c5cc4910d7cd0bbb15ec6d0cbeb5612eb9645eab205130e3cf04a0011f56728eb447d26dc77a4ecaba396ae84ff1481422d83e4418f4858cf6639b831105d0f8c428fa9dc69e380dcd77d8d30c362b1ca067bbaf124aaaa0b0ce4bbe9afa7f2787b6b8c476b6139960e1b436f8b13a1b85ffad382e316223261d7e7a5f2300cfc04e51957ea4a0a65d19596c3034239b8bf8f0bea6f0d6d749e2d3df8241e4622204c334cd748c4d0254fac93db64fbbaf79ecad12ad19c74d944970779a6401135a5a8cbb32b6334988df3424c3993c157620988aee3bf276eca44daaa5370265a6ddbcee5d207670c0d46d555027c1854ba9221bb86dcc4df2fa8e99833e362147c8d2c4598f467d0ffb8ceb18c9187511b4135ea068d9961bd07ee0fe56b7dabb222ac542746daa4a45cfd77f0213f7e5bcdbfebb5a4ad18d79a599d0755dbaaa19fd03f4bd8cf9c7c8416c14d23b0ca54de5f0492d2d9ced1c8b5cb79ccb5\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 1a9f21db6f3fe415a344b61db76ebf60a84ff0df70ecb5cd14a16aafdbfbf895303d9eb831d7a9bed89ee3ca737f49643b077a824dc3f433c00ef1b693f82d30449fcd323a48c84cc5af375d7bfa2d3ad882480225fe4a6adf05c0341a7913ab931bd085134fe470003d3a612d88ff0da54af1bede6bfd58f19901de43ba61c72d5f96302b6428bf03847d54ec1d74921787ba1fedc480605fcb45b74d37dd0abb4067f97e28ccbb86bc0a1c05eeb6582984606be21574bbb7bc04edef528a8581eb135e971c6dbba21b1155e777da9f6c6ac182b4de0c9ebfbc59c71ee6688d9b054cf7772f596fc9f6e87bca4ee8df7d6267e29824b1a70840c69e1d162858ece7de3bf08072f5caaadd1b8c6617fa7888bd5e9d5367be064cc82ac4b59b240e0e7397060417e6386a623c96bc7f9bc1da4365e08c22cbdd2ef1a4a77dfef4bbb3e4cbeee7012c25ce52ceefa18bf5056583109030f91d92de8200f3b202efb9cf58d375df1dfee699586298b9eef0d1e99466bd47a0d128fb9089ec6c87e9\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 70dab9aba45e87811d667c5e8324d1f0cc50071c306e6877acfb9a58e4b74798b193159021875e18dde242a51c3885cc51573a95eee4029f663222e0fefd68cd4fa71c6fca4ee8e2876e62bf8211e0986b4e1e7afb2c19ddd5e4e184a77cb11a045f77bd2622665732d1674111166924faf5b935eb2bf4ac8cd47b63ac0078c5ec05d4dedc91595c2b3f5c8dc399051ed0654401cae20128c3dab28e7668b05b4da624fbfab83e425031c8b8f4bb76b78e2e666eb854b0af342011a5e19bb252f90a94ef9c916a945e3e1fa926639425c2e2954533fdab1f6b944650249478792339d9b2f77b46b094c986720029e040c5c6b7c14b777fc9a164004a5b011b15ce6cab8d080f9a006546be010591c638d601d775637f2ed7ab94cc786b05e0ea7b0b0b4c7d1c730de93fec5380c1fa76501f7e3a8eeb26287b27fca17c30952893136a5c12c48163c9e7796154b0b2d6cc7a5d9491a9c777e6d38c60413c5dfe921962ebad11fc6771ee4f3cef2a2717a78bb6ae0895160818881798b58d0595\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 9f8d0b7fc6934a3eb7ec6feb90bc8ed2c457eeac964f0fa9ce8924218c5dd38ce85083e657bbd19ce6d6ddb5422315c067ea8307381c7275e9757f11f94723bed3a174728555dea45c8deb3265879d95f005d6bbfb4c75ecc7452a20b923f78d681a010a2c5d1519841383cfa8b299ab60db09905ae9914c7ccf1d1bcb578eede63da12ab0b16231dd40f3e756a3ee84716c64db348b1bc3fd49dce7bee98a16a1f6d9190d57b940a265a31f8298beb1a1f759be17724c5f911ca1d8bc9f2233eddb09fe51d2d36ed1976f0431f06b8ffa848105bf019d30d7d8d05303daebb56980d1a696f1dc9224164932dfd119e8db7b87e44e0dcfa1b76aa2dfba2beba02f14d1410dfdedd27832c03840ff86844b41b73781195c820aae42f756959775f6038f9615bd319f2788756afd3f37d384a775c4d6484ad3dddd7cb9a45e2b750d73f4f802e60efebcc235630ace45f2c50a2d6fbfc10b951e36c363640ea762ce6ed57649be8b49a45c987a66b86c2d590056f7d4a178e1563bb07ed8cbb8b0\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 312fe5046619324e6b32a385bccabb713d787ff7a7fc9527bf1b57627940365fc84cb858435f078322935d0384728dc77a56e6429adb6ab9c9e3b6a250363d3a529c7bead31fcc57590faec372f816148fc73c8e0eed5b6dc591a10ca6711eb121eea991afd5b8a820caa377071a04a11f3ea526d150ce9e6f7e51522fa7b86ea5e03a4a37c44cf77c35b4907febb1fbd6d6d9c9f117dc0c41b465dc2afbdd09b93237564a4814cb2831a095fe9862d1f607a31905d45d6946a3d5b6377d85b424b99fe36e1d0fc5c7e74bdc6588bba4af33b9742e5727b32c24b2937a3fae82df3734e86b79fe21d9810fef8d6be753fdfccbdf78d735c4223cc8e7781f111da2d83a63288995d9baf1868158ec3117042a4bc4125f7db1a2e95877fe1437701f31955a20fa05e687ca84b6a8a4dcbf34ef627528bdd22a3daeb69761c47b8799d1e24eccbaa0cfd3f5684d98c5c69a79942846c745bfab428eeadd4dc52cf3827c08547c7e8a8fb0dc149e8b043a49ebd2160e0372733d38000581e775d0c7\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 69d4190ab2eb0b4a59fe3692c6b99dd3ec7a8498f3b81dbbc4709b77ad49ae344a68acc33ec05176a5c1f572dca5ca962d51bab6381d0dd050f539fb5f6532a3c811d2cbde95b043d854c50f479ccafa3cd7ddce182558693c701df66747e537e29adb9c7e2ec3f345fa5010ff3f8ca5cf4de31139dc3f9ed93b4f7ee77bf9bd29757f330e259e6ddd5e40f86152f26c76cf7a778b7565287406e431c440812420bb1c9e36614b51745cd35ad18a018acaf3a8871e904988b66e2a09662f88810bf5bfc17dd7465abb77d2f625ca83ccf2e2f187b217c28cc0818f04e259ecd59c0ce07f6732eb18c72fbd007a1f070c554424185ba45e9eb1b10b0555f8d4678fd7f7e91c92de9f2a11c45be7dc1366ffc3ab71f263eb892ecef25353bec9ca6ab78668cb9b66a9d0cd68b4df0b2ee17940fc1c", - "66915cf30be060952cba3b4237bebf7ca4b59023a9293c6634912a90291528e48b96542a0560da0c457407bf454a9ce5919c70e62536b8e5e26f95940a2a6446a00e9ca64e710012d07c9904\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 54a5a3186bbdf9a08df3b3bb343979c4e74e3e6d507b6b81e1aa34421fee0fc53f9dc5b0f80ad535e25caf47ff3e3abb729e271e2e3d945b61e56fb29e32e7d93e748474276252e3b3f05ba709a1909b95414da0ada0effd5ea3572560fd24d3bfe2798006c322acdfb7caeab12b82169b72771b07030370f301a31f0b919724a5594d9b48bb5c8945cebae01653766b7100103aaa38d4c0080641fb7d946c2ba66bebc4e6df76c127eedd9b83dd239357ecd3c7a4e0370b016d542203963e962aba5ad8305d2980b35b8e4f65e2387afa912c13ac7f725b91badedb1332b21e15692752d474fcfe1b408d5c2bc2e29f67b9ab76cdfd64bbeb809ce9e89ca21722b4e04f03bbcf070df8387485d7a2c3fa0b0b3cd7e17562510dad0ffb1c16d838b042ab85d58fbf4429eb91dc9fb499d54cb92300d331dc5609b270dbe639522d84378b529dd7b592c5eaebefd4e032401b073501a4fe1530851c2d845263b0c988d6f49e7dea2cb4925f9ecaf77365bf01894202783cb4c79f3370b74ea789\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 4ed9724ed7882a0ea9d61cf2d1bfb1c042d94b2427d71079625d8d59f7e5632a578521973bd496cdabf1e9dd45bac456440930d221b95cc4d2080e96c963685b909000c45d62835b9e68ddc728e9c03a4831a90435abab57a99affcc7270b490b850721609f568fa4a404ff8b054345e1d8e4edb9234330f9dbe60e4ee2042a5bfb28d3a11a9fd03655687561938c45bafc64f59d0d5d72fd23bc40a521dda3e2b4a7b69b6047193cf8dc3fee3fd299fe88b58fa052bce5c4af62baf548bd5fa8c08bf6aa17eddb8fd175c40128d1efc64e40e08076f738a5da495b1e9e0a2f52f1acc1936c905fb69871de2159aa5b4accfeca00764ecbd03f0c9a2d8231f26ce5e7aef43f271d3623459930a0d99a5a41c726085113509c15abaecd8e78f25fb2e5c3983afda6eadd0e68d742613d085ea1db524f8d97e189136b6481e3e61b7f5290f2d10b15a9b93a5fb4a6891f5e4a341797e5fe27e3c202d267d76be409a3b72b15e406729a2e56c9b9d7cda30283d7dd352c88ea82350e4a12fa17b97\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = a855da78c44be74dddee634157b685a227714cbb6a21288cdbf3a87aa48b1da98cd590a049d2ab715136d147142e5526bec5d1d08a24d99e9965242fed7c0e9e3a94c6cd76511083b7fc244db4b8efa094624564feb61992b02b3f7724fbe6f53f4f1220fe03f28a6defec4632cd074636fc129d75f7c12f2da83903b1b40e2415096f3bf3955d1bc231f643cd964463199da00df164f7ebdd967b2415ed460f9d26bdf6542ad355dc0547ddfc93c272902eb0698a53b0d06eac9acb9d54d335c4a460c97fd778dda40854abb7086beff78928b61604dd94f8e0bf8ed54185c3bf14cb8bbbd79c6f9da3888eee31692b30f370f8d6e2716daf73eb5f318ed4f99705f019eed29b2ba5fa6193eb0049fddecff02ed19300102e27be3c85d231bca8cd1c24e175e95fbc2a3bf8e23e2b8a622f48cd100672e058c2ca2f3b1855eddb06b6e707e1f05956a4683976749193faeccb5e25af7a99528da61c686269b49ea5b768768d7f624a1600e403db229a85e8644f4dd7147315cedbdc85703c89\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 5b7d079d667b60b3508089031b604327bbcdaedc887c9530ba1554694dfaf081ac91fd339323793d862786c92696f1d9523cc8aac14dba90a6363bee9a93fcd7751973ecb70cd812725f1190d62f9d950a552336eeec2f2759c4d347d4b75717c46365c684acfaac48ffa5a3a74748bd13d4ce461df0095bc2fe74b565f629be5407985ca7ceaac43810e42951e7a7abd8c2f548deca74f34afa47c2d72b85eea9cd2434d4b5ba81f9eec865a2c4ae17d4fe00aced59bc20f0e8a4e9b5fe98da5b7859719fea29b643323f2fb05f4bba83804ba1ae3040e62331d4ee15ad82221f14abe7a9dc440851fb97708b120e4d32e37327d103b626a64845a76d24762d12e4210e166a87fa77f8e2f2c9feda8dfaaefa10774480b8e6f6bd912c4048b77ab3cd7684c348c3ca398ca0c06393e83defa0eea7034c97695e7556facef23cc8a0e9d395080fbd94b085380550deca1a2952554873be0936714c5d78ca53d36728919a7c4e7069ce97bf215da1d02cf14068c16100f8f78baba2d19abd306e\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 8574a80f36973bf6b986c7b81bc6d289b118caafffc31d2c99d2dccc1e6611d598dda3fd7c22cf10c7729fa84a87e3f19ff4bf11a96018694b7d829bc003009eb104e8955e8a8717f2fa89220281fed0878b9febf77e5b81e93515a8541d7a4b8a4c008a298d317e7b82c826b5d67bf04d459a5d5fd7f69389dfbb25146c4805cab1aadd009d7b00956ba93f6d02f5266d8b06e28b346b06f1c3501cef04a1c607d7f85ee037178e6f2b0dde307eb6f5f88229541cb3d37e495cb5997264a0c1342713e8548e318681a783381dec9d6524f5c80c437b997f2fb95c80ca7158d0ebd531b4c9bafb19ad9ea0542217c1ad965ee6f1afa5a48becbf65b380f1946dcc85fbcd82fb90011e650dd1e507dd19037ec1f2ac98a87c25a6f588aa6b6f93d35b83c1e8e09152470dae2af8afc1fb2146cd426fe8d3cae5a80c1a63c7fc42825226bec26d57fb62bd048fcd921b8be7aa8d024926fe3cf5c5e3e7f5b2f50b33dea547389e40fd67a8523cd5facb29e97583f26a34f1ed880869800a4b35d6\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 7857b1fe06fcc417c07766a9892ae30eaca65df7474575a70d8e286fc22e3092dcd23446b101cf27951eeb2cf879d320b2bd12f45b79c10018178532d8fc4d708583adb4d7d7469cd5362c074c519106c761228557d4280dadd907b27675e318033ad32ea71e001c3e7f68f6dc07509396a61db29a9ad376f406ff35aeaebf8c6fd0bf7df4bb721c91dfdffa933f37db0bee5d4f7d34f3df2a3a0f383e443647838d7c02ca87d9d79814ee9d5b2860fdfea5577702dbc829610ee1eb13f6e6f0636f39c5ec537c0695bca4971dcab6907e907650b92b96d5d64c6de52c4d986d458f0195345b1e84fbeaa483e3c926167a0d1a977024aef2474c31752515b55021048d2fc23ecc5ec5126c57b18a1656ed49aa90e0cb51e77e56507d7fc60b1f761354423b110d44c67664781e5caecb5da5475b01ab2356993378491c2ce4fbc41badf110c33bd0b78cd19540d8aaf27bc9f3450ce7579c87ee40a454133093ad89b29b99b4b15c21f072bd2f5c991e6a98a23fefc06121ba81540cad7e2a34\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 9393a9989ba865a8be0fee265ee6b5b3cb9380019e3c4377521a729a968dee0374b547e94e6b12d860bdfd5197787d35208ae3e8d6a689d031072f6b993b7a8900a278fbf1c07dadcba6b4074375c666e035c2f12d158f626277d7d4b781c8b6bd71a97f575f08c4520b2d66588756b9fc8603a346cec73eba4e8350d7570e923cf84c1b33ad7bdd507d87c3ddf01084703f47d423a5abacb7a6caf5bf7ac4c61cfc91ba9483e7b3cbf9a094aae25b17468fb3a3b6a42d23225bd4859d2279037de2ff446eb441de7060a675b61b3e591a4f854265ffe937bcf575ea85b84046af568a298902774ad9a888847f3d20496d8c570da907686e3441998857e3927feebbf5540d734fc7093263b0efdc33f32f93b936d8f81b920745c2c854266059c92120435b3f41d7a3a5a7d2c3571a15db2136362f736e099e893785876f0ff0b51d3006417235129ba4480c4164329f1f9c6aaf48c93411e388f00cd8b6b125f4f1d3fbf21ee7ad4355a416101cd857f6ae91958aa88b31134a7b6906aa184d\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b77b9c5862c9fd0f4e4d72fb7bcb23b2a5d2124f13aa7001275451a10148993a3e846e0b29157aa3a1a8ae643e2ee84a459b033201692697eff53b3606e85c6649d76c8288899499f2751918879a034d616543c0b7cfb215744b8dd03e50ce4eeda2891ddb8ca9c568ccf98b3128be25e191a4462f6458c718b33e5f519e3de152b0ec691f2f5b8f3cc150ce37814095001cd60b3dc6e694a3df5aab7a0c1b2dc152c26901294b01cba43b74e4e28d14a9a614d0198c30fe578831c8d1b51b1db0dc34f6c47de0d38d20efd1afc8d385e6bffeae43280f62a5f2715af79af64f04d126e1dd36067bb44d01ebc78769766bd4332a43dba1b124a4cbed381ccb43952ee4cc19201f05558c11f51ab5e76b76b01fcd036a949ec9e4d7153fb25a1aafdc8e0f1754bb59ffecb9a6fd9cb05d527661bc013cb73cec4ad1ab046e1e94b6d518604c7ce7bae1dd1319b612cde529a6ae588c4c6a6a7669e82e141ba6352e4552fdf05d9d1e3fa217ac5b38629d81ed749629ec53f3b30f29df883fa68e\n\n# tcId = 35\n# leading bits of masked_bd not cleared\nmsg = 313233343030\nresult = invalid\nsig = 6ae7425610f6d9b6cf5a358bdff3bdd00802d55cdaba2201794738b900489dfeb11d921d87449ef9d1e5b0deae4bdb26cc13c9916a767cde8e0ef67de6f8042e1d5f600bf707f65380f971222d37088edaafa4909ed566694601e25bec8c3128dd61e664688b5ce2ed2f626a5b618bb10d12cc78ebbb0f3cd6883b6476fe4f89008d9e8feb7e835fa873f2d6d9973412abcf12d2646723b1a5ab4e3b206d49ab6f47789010cf902adf720a02c7677847925487634f81e163819f286da4d42437e66ead9278a088d9a2628aec137be60eac2eb30306e598b9459f0ee1c79dc132248f013f15fb80ba713703b66848612d8f4e5d6bc444e166998f3107b459efc73ebe1bdc0b98e4d57bb960d6db0540f68b96212da6ffb05bac7ace76db7b3bb69188715c091f14354fbb8a02cf2b2d77e7f2e8db505e93603bbfff2f33ba54be38630dba291befeca45c76c67f344b9daf7a7b0712b5a49e7b6af29734516570cac32d02074a74cc0e49797508e1aff2af9f20a7163440fd962bbcc5269d8f13\n\n# tcId = 36\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = b9bde8fc005ab0b6b0317aadbef7d6e8abb69391bd7ea43fba5a49ffec02979f89d0a9efeacfccabae271c998ad7fbff4442367c07e49a892b9632bf4f30de3e95583875f3069fd3299a30bc21e74526cc51cb10dafe22b06d3a412a6509daa83d337e18c5dee6591a11262e008c3b562a18a9ada3169267eaa849b16a377b195ca6f83df0d2c2945a3d3fc2b872bc2ba9", - "65ef4186ad1e7ea5b56fb689fada3f377e0897e5cf86906dd2d894848a6f3d64d96a5523fd74d2e8418809fcefe5b9bf12f5ae7189e2aad268e835b5a701073e26be131c9dac06203142d93c95af3d00acec603aae2a24bff3d5481c7e71be5f63a1c47eef680a00991008ca0047c7bef7812c9b823a64e6cb40d0fb4472b702bf4f1c9483f835812eb3f70808e3dec7ab2ce2d8cf1c0dede8521780513140f10d84727d4f14ae06f65276feba1857a7e879e9c4f59c80760b117e1c4083e342018da1c42adc6c5255404adaf8460d122d3c670aa29b58c087d118643eace86667e6bad6c07f078f9cdb8618b48e92\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 872f410815926494669ff81dc7114e096f007790f6a4ae3a946b64984eb28bf28351616cc82ed34172f1d1d0a8918f87d64258328db63b72127fbd26320a21c114a7f0b6c88ef717d949f57a28e66244b1fbaaa942d3ab2245ac76f0cc4bafcc119a64f7d167e3e2a64dc9a004464b28bfdcac00a24ed7e3689ca1ed23480c1a0625601c4e7f1e374b54c1c1fbed91e0967b40a3920210b84619c23217c2a6a39734320607abee432c7ad2bb0a8b735400bf775256a61324d4c4ee743ffe99a7bcd13a27b0fa33c0dfbe0cf9663116997573a59204c62aa497e98a698b5dd19314de9ef95cb8bdad0e07b722eb6795f6ea8098b7b092f7bdf73aa459dd85843b310d71e0400470ac14db383940519c060d111f0b80896083b6fb305ee6d9d7879d177f7cfd85c913d226fd6c75f38519d7e8f6d32bce50e85901fe6bdfc74997862a3b809e5ed5793013cd19af9efca616a9ac3e346136142374f58ca823b6a6b2870bfec41207b0a8f58d72c119e319a3934cbd40451f0a1e26b447a5687b9a\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 5e0a2f627d11c2f5c2a61cec6b9ab6ea6f2620085e52ab1d162365a2c7040178b3e6222503efdbc66eff0cb892be95abee6ae02af0a29436de4ecd2ff63eb7e082d51ab31d358309747ce61e30df4ab3382341b88eb2da84406ae20fb3bf9a968cf5ccc871be02f6cd9f2a89ffc6f3a69a589526e8a4f1a8c049286ffca8359e81cb3173a2d2e2cc76a4829edebdd3dbda327a92dd35202b597bdf077d7ac2924f8cfb29a85dc25dfd2ab6e770cc80120a7bd594e020392e58acca9d7356773e58aacfabd66c2d9a888379b73868d07e3d14af1dadc1843f2a6c8e14c93b3b29134169c5ae3b293ee6f6a475f20c7c159258a8cf1a1cede602afa9fe7c61a3218c34024a87bdf4a64ef12c78a11a50bc1521836bc4d84eba90ab1db1b17ef0e6e95d7c9de5d6b84e11dd5422a869ecc7f90f952794f6093df89fb664aae86669c63bd46de5972388d81908fe56c6bd029e393047c52924a97aa55c07d482f98b784e6d39cbc280330a34ac4a8a72733235e66234903a4505228a3fc8e1146034\n\n# tcId = 39\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 07f0772411cdb1e02802f8ca699bf55bebadd254c9aadc16e1d6d4af3e12670bfd2adc2dbe80195f065d75fa4a25ef757766fffa4d902b386a9c7f247206f60c744938f50d6f840170ae94c6792299c386a1d6d7aeb73fecd5b72a28249a2ad771a5518fb694f54924e15cecb2d755da44b54535dc6f8fce0e91ea160ea942c9e34eef5d7367c9065f5ac270ef11a35bcedf663183f74cd2d504410b97b4034a59d201333f235f59924aad30fa877a31e0c1573f62e7be41f961e9c31ec334153d83adb0ef38963f0f5e20c90b67ae5c5e2ef8520587587c22e869881abc6bfcecd62a1f878115e6cbca7259e8b9e116fdeed841f1d698e85f65c7ae07421cf3096f6b31a07e251944bd7e2cf50ccf69a18de7c17700b25786d29ed74fe8d5757d4dabe2d6fbffc2227448ee8d5559f992a3b635cd74a68c329f1785e743ce9d3bee57b997f9ae2deb531f8994ada98d9a3536b074814c2d5003d6a3d50a9e56287f3aee8ed87104c19656a6057515fe17bb2a72a53a7c19b7a814252c8bee61\n\n# tcId = 40\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 41\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 42\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\n\n# tcId = 43\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203\n\n# tcId = 44\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00008f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n# tcId = 45\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d5580000\n\n# tcId = 46\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 8f", - "9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1\n\n# tcId = 47\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData113[] = { + "# Imported from Wycheproof's hmac_sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA224\n# Generator version: 0.8rc21\n\n[keySize = 224]\n[tagSize = 224]\n\n# tcId = 1\n# empty message\nkey = 7eef1e40253350eb9307cc6bd8ab8df434bc2faf7095e45b50ffdd64\nmsg = \nresult = valid\ntag = 45b466021214d19245506900532f5272f44b5ad9b3d829f0f5c2108c\n\n# tcId = 2\n# short message\nkey = 8648ee936c6ebc5ae4bb48c1139a54e3ac5d897beec492dc4d740752\nmsg = 2e\nresult = valid\ntag = 5b72e3208679e63f929e6ee19a257d0555f21484c7caac7c9861be43\n\n# tcId = 3\n# short message\nkey = 2297d78cc45faf9b885b36ac80205cc08e1b730f264f23f4edbbb406\nmsg = 329f\nresult = valid\ntag = 2e7a81c4e29a435d91e95f37fb0a62fbe9a69e061f416c1ad17a7fca\n\n# tcId = 4\n# short message\nkey = 0361a904f7cbd107a617614ab69d11208ee6d423b3ae90e2bb6d7e54\nmsg = e6e765\nresult = valid\ntag = bbfa7ff960931e2f5ed8c925cd74272990e755f31422e5c858995b73\n\n# tcId = 5\n# short message\nkey = 264a8d2128e8fd0972d9acc66dc275b1286beeb0aff7ce8e97c7b96c\nmsg = 25838e50\nresult = valid\ntag = b25c33bba1a91024f42cfb93232ad685d54be2ca310b0ff9ba5107b8\n\n# tcId = 6\n# short message\nkey = 6dde8828f09b7aa981082aa116fca3b7341721c0440803f52cc9732e\nmsg = be81602da7\nresult = valid\ntag = e510fbf14bd7301f751cc0ae89f8725a7654ebbba6bb2f741626471d\n\n# tcId = 7\n# short message\nkey = 3ba156ffdc55d155bd085105aca64d13044db60c82cf2cd9d61d098f\nmsg = 69c76c8937a0\nresult = valid\ntag = a9d38740245038d9c23cbb59ba6513f7034d8047a07a904a2a23d2fc\n\n# tcId = 8\n# short message\nkey = 9c2739bae2a863fb0236466ba3408f4eec8d43206d56bb7aa2f8f75e\nmsg = aaf4c9146db948\nresult = valid\ntag = 2110393c6ba01f53be203533fbc5471fc8f04940fe912411564ba36e\n\n# tcId = 9\n# short message\nkey = 31d9cae2c3df064018209b121f9e883976ea757942ecda9d92fdadfd\nmsg = b844289529206f5a\nresult = valid\ntag = 1f1ddb8680b0d99893c498a772a7bea63c2e08c0257a7f31e3db2b88\n\n# tcId = 10\n# short message\nkey = 89a1b9e9004444c1d4e967570c21a05512d3f618ec168fc3e13ea5a2\nmsg = 6b42eb6d84e90c70c2\nresult = valid\ntag = 3b6f3b09e03424c8adc267fccefaf614db6d74977754fcad8a8d1a9b\n\n# tcId = 11\n# short message\nkey = 4398731752fd7af1db86ebccbee0ad65eb5faf00ace6c9aa35441faa\nmsg = 1ae2e7d917c48026570d\nresult = valid\ntag = 5f1948336953337c381d449c17ab5c327c86121a8b1e0db19f624e3f\n\n# tcId = 12\n# short message\nkey = 339460d6bb26ca60ebcef10c38587b9e575c398491782ccf9e8f6803\nmsg = ca03eb4f37536b2377738e\nresult = valid\ntag = 51c5661c31fc7edd09de60c91957036824a19761bcc54f1e93c43c3c\n\n# tcId = 13\n# short message\nkey = 025f8380d10b8207b3623e4a90f79c3e753b1be6a35b88b68330a40c\nmsg = e57daef9ede4e915c3a9eece\nresult = valid\ntag = 8afdb371714e9d6063ec9e43c8cd55e1c032b2fda57f91e9ec0f6601\n\n# tcId = 14\n# short message\nkey = 0bdc5f51f8a1a35d75554be70efbcdf51e54f30fa4696f727431941f\nmsg = cc3dd1eb0690f7af09ad408f9c\nresult = valid\ntag = c0918951c3422b48502635b6e58c5dcee9fea51c9dce5c7c215c9b93\n\n# tcId = 15\n# short message\nkey = 5ada97d90a74a7d4a68c5464fff25a9b7fa2e75d6acf0a59f143a2e9\nmsg = 3fe4ede158af108e09f543e14ab7\nresult = valid\ntag = 180a6b8814ae34228ae9ac76da8379376aae6f1aa0102e8f06b022dc\n\n# tcId = 16\n# short message\nkey = 007afe6b7c0701c30cb76b431afa3510c8b31d21cfe0bbaa5289cd08\nmsg = c2cf80005c591c1f737369fcc212f0\nresult = valid\ntag = fbfdb450a42f9a4154146f73c590a0ee9187af8505d60790a9615447\n\n# tcId = 17\nkey = 26491168a32ce8cbc4c0cd64107e4fcc432f07d59c992862e1e55b1e\nmsg = 15e51091b4f424ba1fdecb5e2fba11f6\nresult = valid\ntag = 3fa99ee160328fddc47a7c5043e9ef645b8b07462b71cad58a024517\n\n# tcId = 18\nkey = 6978b6c134dd6949832d65e4cb9c1e1dc36beae4a134907c80da0f44\nmsg = 6641d834b3fbfdb5d178007801f7b4e7b1\nresult = valid\ntag = 61387230446f31fde8552f22ec52a7fef82e16d0ad399de939d8229b\n\n# tcId = 19\nkey = 9f9fb280adf12e739548b1d676cb794d685b9104e63b619b055cb60f\nmsg = 91513dd6de40a1c23f8d1eb0ab8f5ea6f6835506ec750894\nresult = valid\ntag = e6b92f9c030270897c5d27162a5d40f6d373ff136105d1a90e0f9a60\n\n# tcId = 20\nkey = 3b1b16e6dd2e69559dbeb964e10fc94c068471b2374d3a2d24d2d466\nmsg = 8ecd55b56c668dcb8e8b1efd699c0e4a464204d29af140f87d3f5075495378a3\nresult = valid\ntag = 175856b8f56a8c6fbebc36541771545046bb416254f01ff11a218d2e\n\n# tcId = 21\n# long message\nkey = fc296398845063e661bdf36ff3615926eaccbf06947cd31e6677f710\nmsg = 62bd0ad75d64c554cb2cc109c6e4019fc601c61cabdf99f8de871edc17a301b4c1f55a15ed66f91eb4666dd08bc59c\nresult = valid\ntag = b7cf741cf96d6bf57d216c43611c20869ca0d008a4542f5c850605bc\n\n# tcId = 22\n# long message\nkey = 6c98d1feafff9861351966bc6ed19ed467f9dc767fa0df6b56955554\nmsg = e99d51a1d9a25c5842501a5383133578c8debe501581b1610f7575519bbd26f01ab7cbe069bfd5df3699a2fea5b461a3\nresult = valid\ntag = 0fe64fdd912966a6542069a22bfd084b484c015cf434d86bca15cdb6\n\n# tcId = 23\n# long message\nkey = 42a164f94e33d574118e0f8c938bbc2874bab219ee7a179f21e13b02\nmsg = e895639631f8b5d48e3ce00eb310bf129976ffced96a6f30a09d6ac1c291f73e93690526d86cc4d1a8e21c11f5a8979308\nresult = valid\ntag = 1ea982226e8d4cb7b07922158e535af2233b4c4d39d26b062d6d2aae\n\n# tcId = 24\n# long message\nkey = c1b5b91210667e72aa510346e1811358815a3330c5ed27a695c39451\nmsg = bf1086c3ea8b8840418c690c92152c73a6730bd1a0210c8b1d25c43a2193e739684f04a25a52cc305599f22ba6f70c8ed00d10b914a9522a25e06c471ebca2ff1bb4fa6799b85122020978dfa66ef12ed26ad38331b26eaf591afceac96d8c771eae50fb7f46242337dd0029f4813b53\nresult = valid\ntag = 4f355edbe6a3c93fa7add384be899bb4fb55385a78812a26cb64e44f\n\n# tcId = 25\n# long message\nkey = 4f09d14d40e475b68288c080668ebb1bc8c6be3191f6664d91a23fcd\nmsg = ae8b6ecc219b368d22fb596e42652d0bffee0b20d69cfd089ce3dc9303ba2f054ccaf5f5147c7968a028b140f5e3c9274eae2afc61c3bb6298dc598df77dec1cd2dd84212693b082b8132ad0f0b19f66db69fa7f6bf352b4feac724ce048440d2a42b44d53bb62fe2ab25f7f54bedf9ce7ddafd8e09330dacc6d52ee9b65f5\nresult = valid\ntag = 29ba268103019e158a35614c80780fda3f5ec3fc32c80aaa27b4025d\n\n# tcId = 26\n# long message\nkey = 613f414cd94130bb8a6243e12eccd90836808428b4a7177867934da0\nmsg = f696b9063b64816a45064f48ca05ffe4d5cc3d0b3beb0dd4057b6ada994969bf039bfbb72ce197101cc4e4b3959b3702f045afb7fb3113c997606dcaf2aaab31e02ac6ee597dfc0f9143d0effedc9ae7ea10e7ddb1db860a91afec62c48ed9c0a6c10b4da1de748caf7f7a5e01799ac57090daf4e3352fe859c5131c205d262d\nresult = valid\ntag = 8129e2093070168a20899793a04447a7ef01ae723419256a8cb42f6d\n\n# tcId = 27\n# long message\nkey = 5b88275307aaf691a0cf0c51f50553dda972d14f8afff98e62c2d972\nmsg = 57e4efbde1ce9fee2e29db19dfc6ba3bcb17f33765af7f20133bbd1910d542145c7def187a304517b8d8954454a90a717f67f9c8cc587965fd9b43f41ecc50b3458d8ce9f66b475f1eaef4a29ba89a3d58e5011c92acd1536fcd18abec29411b389b64f7f344777ed6deae32127abaa69a50ba22a11d6e59354f2ff0e3c3e3293cdc335411cf55b180bab59da36903a6fba91df34d2aadf7017ff49a4fbd73c9c74469f225dafc0a0c7048c2b824cc0cba8cad8aced11b8cdac3243cdb5b654f7a15ce2014e92ee287d06904d778512a1b1f5ec0c9b090b9ab439c44266b6be3d6a98947d26d079e4f7e849f3c6d93de98624e6c5f53ec02dbd368bc24a300\nresult = valid\ntag = 657dd04b970219edd63abf9d4aa108474aa316b6bb66bca76ed806c6\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6c99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0f216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 32\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ee99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = inva", + "lid\ntag = 6e98e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d206faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e8e2e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216f2edf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e432e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faede3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e732e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedd3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8136d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf30534d51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936c78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd50fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e893ed78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cdd1fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d58b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51dcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b4f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcae417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02809b130ab09806b2af02f7cb9d39d12\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417322c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02b09b130ab09806b2af02f7cb9d39d12\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417022c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f0a909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf41f222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 58\n# Flipped bit 216 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d13\n\n# tcId = 59\n# Flipped bit 216 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88b\n\n# tcId = 60\n# Flipped bit 217 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d10\n\n# tcId = 61\n# Flipped bit 217 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d888\n\n# tcId = 62\n# Flipped bit 222 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d52\n\n# tcId = 63\n# Flipped bit 222 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d8ca\n\n# tcId = 64\n# Flipped bit 223 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d92\n\n# tcId = 65\n# Flipped bit 223 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d80a\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f99e862e532e8936c78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c216faedf3053cd50fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e8e2e532e8136d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216f2edf30534d51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8136d78b5f02909b1b0ab09806b2af02f7cb9d39d12\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf30534d51fcaf417222c87144abd5f2f7fa00ab4667d88a\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 9166179d1acd176c92874a0fd6f64ecf54f67f94d50fd083462c62ed\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f2de905120cfac32ae0350be8ddd370ebb542a0d0805ff54b9982775\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag =", + " 00000000000000000000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ee1968e265b26813edf83570a98931b02b8900ebaa70affc39531d92\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8da1ef2e5fb0d34dd17c2fc1f2a24871c42b5572777a802bc6e7580a\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f98e963e433e9926c79b4f12808b031aa08816a2bf12e7db8d29c13\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c206eafde3152cc50fdae407323c9f045aad4f3f6fb01aa4766d98b\n\n[keySize = 224]\n[tagSize = 112]\n\n# tcId = 82\n# empty message\nkey = 26f314170b054daef5349804da18f969c94174baca2beeb009d47a23\nmsg = \nresult = valid\ntag = 816d7af2475e94713f2dc3aa3069\n\n# tcId = 83\n# short message\nkey = 17429a622dc18d38715b31f8f2b963108e952a6708f3e52d5b25848a\nmsg = da\nresult = valid\ntag = 26630777d85f777187630bb94674\n\n# tcId = 84\n# short message\nkey = 0acfe12d89acd7d9ca49bae6318f35b2fbbfc84e5d2c9d4954beded7\nmsg = 03a8\nresult = valid\ntag = aa4c4bb63cad66ac675150f718b2\n\n# tcId = 85\n# short message\nkey = 5a0680f112354bd467865b19ae956b2719e21ecee1a913bdca294339\nmsg = a0fb73\nresult = valid\ntag = 36c7cd3f290d1d7d332b951aa471\n\n# tcId = 86\n# short message\nkey = 46fa59aa524fe30a0f4e39561b5666854440dbd970bb59925ce0ae1a\nmsg = c8b2f557\nresult = valid\ntag = c1a8a7d43df34d917f0cb512c57d\n\n# tcId = 87\n# short message\nkey = 29efc5ab5d30e535357603f2711b6e0aa6cf4613546c23144436d213\nmsg = c8d9f5b373\nresult = valid\ntag = a8cc7bebef4cfcd5ac2f401a372d\n\n# tcId = 88\n# short message\nkey = fe60e0322035538f2b1de9de380cde35f291deeb6e027b5d829ecd1e\nmsg = 185e4cada4f4\nresult = valid\ntag = 32faa154396b0b62436e6bf937ee\n\n# tcId = 89\n# short message\nkey = 1bf7fcdf3742fa77991528cc1c678b98be9876a8c8c5b809beab7d9c\nmsg = 9c0f34a5654279\nresult = valid\ntag = 086170c46d2b0a76c61527c2d052\n\n# tcId = 90\n# short message\nkey = 32533c16f792ed0acf8e9e60f54aa173937c7194b882ecc3e671009f\nmsg = f968dc7a19afe339\nresult = valid\ntag = 3fb4eb4450ac4b26a714bcfb224c\n\n# tcId = 91\n# short message\nkey = 3cf28a476ce7eaecfc3fbf1b0859a042a568740a584c77cb8f9603ac\nmsg = dbca9e4bdd84b38934\nresult = valid\ntag = 2cf14eb8f4c7537e9831983bb5af\n\n# tcId = 92\n# short message\nkey = a2a8090aef69277f92830ec7404c032f8fdebfbceabb9e590968a77f\nmsg = 6b790a946a83364c79d7\nresult = valid\ntag = d467209f63a9bd3d2c5398c305da\n\n# tcId = 93\n# short message\nkey = 6f999929e91672bac35ea70f8ff8b9aeefa5489493c99b0d27797207\nmsg = b7dabb237aeae2be8b5e19\nresult = valid\ntag = 09b2bb6eaeda5f0229b8c35a2f54\n\n# tcId = 94\n# short message\nkey = 4525b96c263e4d2dab2890aa55f3cc503dc1206d9f1915a6fba5ae61\nmsg = ef858f496fcb7c3fabbfb52e\nresult = valid\ntag = 6f5ca7efcb9a70d0abf8425f42ca\n\n# tcId = 95\n# short message\nkey = f89401acb0a60d07fd733ed563f2ee241f4ecfea8114587a44dfdb0c\nmsg = 7d3c0918085984df95097afa81\nresult = valid\ntag = fc227f29b51f9c855343dcd0ea11\n\n# tcId = 96\n# short message\nkey = 58bce8c0d17fc7131d2fa2262409bb14663a6e68019f88299987893e\nmsg = 1ca50cd6c3f1225eb6c4ec4d6a90\nresult = valid\ntag = 53e103bbded7b825affa240f8578\n\n# tcId = 97\n# short message\nkey = 658e510fba4e2208afac98333f9e242bc118f6e79ef0661d619dd32b\nmsg = 32c385b75ae84558ca302881c51639\nresult = valid\ntag = 485f351e2a9a82910c3c949e32b8\n\n# tcId = 98\nkey = 6a41cc3ca7142ae14e6d979a3f890a331597e592dd74520ce4ea660f\nmsg = 78e3a770a8aaaf039fd4c9b6a1780411\nresult = valid\ntag = 331a58ed96fc8b9e684ab05f636c\n\n# tcId = 99\nkey = b8972b93b68302cbaa08d32904eae6375a66f3508ece3c9b22382c7e\nmsg = 3687e6287d73c9e3f679a50e7671247127\nresult = valid\ntag = 27d8113955026d4d318070fbfd8f\n\n# tcId = 100\nkey = bc570932abfa11050ad4fc80a6d5afe3271d86aa29dc62738b207d14\nmsg = d53202acd2ec74d746531bd9ad3016d0980e0166fb427a08\nresult = valid\ntag = 020e3e0c2940ce15eeb67392570f\n\n# tcId = 101\nkey = c92a0665c12e87026e1b344f971fdb0e474d450cba834aae40e2d21e\nmsg = 4a3a85ac09f5190ab94f73fd91d98f056015263c89ed5da223fc4675cab25cdd\nresult = valid\ntag = 922853f159c42b9e274fcef7bdf3\n\n# tcId = 102\n# long message\nkey = 6fbef67cfbacc98c63252b1ca009a60e8e3479769a2d449fb4639064\nmsg = 006e179eacfa9e1e628bb7823ee9609ae7968b6df90e176f772a79088d37e9b15cab312922aaf8fc6583a341002bda\nresult = valid\ntag = 0a27a12afbb9c3136202e02ae3b2\n\n# tcId = 103\n# long message\nkey = 700b09908174f1072e31ae8ccbda1c4460fcf21fdf146a11482b210d\nmsg = f772564ecb109e80eefb1d5a7f1c95e203ba4c980233dd8d13de3046079a6b2ca26dc3521e5e0c807eae7a79877c73e9\nresult = valid\ntag = 04c718a4cd8b583d5ffb8170276c\n\n# tcId = 104\n# long message\nkey = e18a20246ebe1b5796dbfe35110efc7637d74a355f0a6758d4a00b7d\nmsg = 77720dde530e6eeaa0e9af3311f7e99189d6c4f7d71d0a4207d62c766bee32020c92f5d5d28d5de4d0d9c94b57ec05f0c3\nresult = valid\ntag = 25ebc8611f4b636d892f11df2b29\n\n# tcId = 105\n# long message\nkey = 3c4585a775bec76c7d8b27b87e70a5863a85e6111f3161b3815f59b4\nmsg = 628c0ff8c432d74f4cfb77ba46b7cef67a48ac053cf0c18be41648736abcc8c6fbe4981529babd4b27866e34ced16d8b0bec456e14653a1422f5a62556d20b0fe4e03749d5f6e986375062dbdd82f6e9e1d4ad547c31530c2a31383c25ff57e879eae99d9b3a0da1f3c1dacb975067ac\nresult = valid\ntag = deb94b2d43e98926af51fc0c88dc\n\n# tcId = 106\n# long message\nkey = acaf94cb1a8ff4677fc586d2bdf981ac3a656b208215e0a7647b420f\nmsg = 314c2c25465de3427279dbc89436505fee6d37d56fbda0e5e2a49449d9dbf003027f2e4ef5c52f7af93fd80155a66a1cd6b9885b56d828058a0de7d247e19580b2e8dcbdef2ae46840565fd8b276569c19d7e185116ea11ad67d5fc27f4a6816ba45be5d14f3ba4315c74d1edb20f217b116be852b62a7f4e32b3e708ff9f7\nresult = valid\ntag = 5b0d7aec7fbd196ee69ed373e131\n\n# tcId = 107\n# long message\nkey = e490348ad78fd2cd5b51f2795b79e5805ce1d9baf1151dbdf995e1b0\nmsg = f6ff1845842b9e46f79adb1079aff47397391dc269bc0c899ba4087b58a676f5408c3f7637ffc4772af3e41b5cea51058bc528ea09bb4bd797594c798b0f0ff881695e98c08bbb040c12c5cbdb228d61cc99e332e963128d06e97ed2eefded2e1b5a035f3bea68273efac03a894dcf2fcc79a5696218595404b2758deb9a80ee\nresult = valid\ntag = 590727f344d8a540e5c5e0f4dae9\n\n# tcId = 108\n# long message\nkey = c8e099dbb60a8f19d8b86856b21c55f3437ae27f77dff9808f12a1b5\nmsg = edbc109bf28c8ab32b1238eff1cd14308cdd845fa919bfd8a00c991cf9a8d6b05dd8cc7d2393782949c899de79e771ef7d8567f32287623963048e6c80d91f0778dd63311106e9d0913c08b7a0b7253fa3ce307ac40ec55a4c445f5455a570fec090e251e8646bada1a486d41c3794bce5639732f2c6cfd58081c479a68c515f5d47bc5b2f1622a08d38a596a817f3d4efef8003ae430e6ae93b0a3ae8fa95a2ace3d24d90a9ef861dc04c13e38f6e524b3abdf9cce4fa490707c80c16e254b7a71af00a12dbf473b50b9fe4097ec00ab27e66b6f3022b0f101ee1a9f7fa8652e9f095ca240a446067446867f78e8352c4110794c2e3383dfedfb35e74a33e\nresult = valid\ntag = 33e7dcb0fde3b1c5b92506e635eb\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f99e862e532e8936d78b5f02909\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c216faedf3053cd51fcaf417222\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6c99e862e532e8936d78b5f02909\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0f216faedf3053cd51fcaf417222\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708", + "090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ee99e862e532e8936d78b5f02909\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8d216faedf3053cd51fcaf417222\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e98e862e532e8936d78b5f02909\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d206faedf3053cd51fcaf417222\n\n# tcId = 117\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e8e2e532e8936d78b5f02909\n\n# tcId = 118\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216f2edf3053cd51fcaf417222\n\n# tcId = 119\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e432e8936d78b5f02909\n\n# tcId = 120\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faede3053cd51fcaf417222\n\n# tcId = 121\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e732e8936d78b5f02909\n\n# tcId = 122\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedd3053cd51fcaf417222\n\n# tcId = 123\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8136d78b5f02909\n\n# tcId = 124\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf30534d51fcaf417222\n\n# tcId = 125\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936c78b5f02909\n\n# tcId = 126\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd50fcaf417222\n\n# tcId = 127\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e893ed78b5f02909\n\n# tcId = 128\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cdd1fcaf417222\n\n# tcId = 129\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d58b5f02909\n\n# tcId = 130\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51dcaf417222\n\n# tcId = 131\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b4f02909\n\n# tcId = 132\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcae417222\n\n# tcId = 133\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02809\n\n# tcId = 134\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417322\n\n# tcId = 135\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02b09\n\n# tcId = 136\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417022\n\n# tcId = 137\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f0a909\n\n# tcId = 138\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf41f222\n\n# tcId = 139\n# Flipped bit 104 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02908\n\n# tcId = 140\n# Flipped bit 104 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417223\n\n# tcId = 141\n# Flipped bit 105 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f0290b\n\n# tcId = 142\n# Flipped bit 105 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417220\n\n# tcId = 143\n# Flipped bit 110 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02949\n\n# tcId = 144\n# Flipped bit 110 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417262\n\n# tcId = 145\n# Flipped bit 111 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02989\n\n# tcId = 146\n# Flipped bit 111 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf4172a2\n\n# tcId = 147\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f99e862e532e8936c78b5f02909\n\n# tcId = 148\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c216faedf3053cd50fcaf417222\n\n# tcId = 149\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e8e2e532e8136d78b5f02909\n\n# tcId = 150\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216f2edf30534d51fcaf417222\n\n# tcId = 151\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 9166179d1acd176c92874a0fd6f6\n\n# tcId = 152\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f2de905120cfac32ae0350be8ddd\n\n# tcId = 153\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 0000000000000000000000000000\n\n# tcId = 154\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0000000000000000000000000000\n\n# tcId = 155\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffff\n\n# tcId = 156\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffff\n\n# tcId = 157\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ee1968e265b26813edf83570a989\n\n# tcId = 158\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8da1ef2e5fb0d34dd17c2fc1f2a2\n\n# tcId = 159\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = inva", + "lid\ntag = 6f98e963e433e9926c79b4f12808\n\n# tcId = 160\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c206eafde3152cc50fdae407323\n\n[keySize = 112]\n[tagSize = 224]\n\n# tcId = 161\n# short key\nkey = 77b0de54e893642caeac34bfd1ab\nmsg = \nresult = valid\ntag = 2014a9f272378fa1c9f6744d4db4861b52e61a19eb28320ebee2d174\n\n# tcId = 162\n# short key\nkey = 7346c7e4b118b24e51f4512f906a\nmsg = 506d4faf624f92965aa6b5c01e0c80a8\nresult = valid\ntag = c4e0ad2f62279898a7ede0f709a1ccb8c1004941f3c5074392e79533\n\n# tcId = 163\n# short key\nkey = caa864179f66e826a0ef3b5edbe3\nmsg = 73f64253706ce6b5094c24ee012ece9ac2495283dcd8c7f1114e81e4587d8ea4\nresult = valid\ntag = a1220745bb03d982763bfa7ce352b8bc87576a0ad5d46a0da08ff2d6\n\n[keySize = 112]\n[tagSize = 112]\n\n# tcId = 164\n# short key\nkey = 663a97d6b5493dbfa60c8dd087ed\nmsg = \nresult = valid\ntag = 0c6e21a85e3cd2cd413f36507d6e\n\n# tcId = 165\n# short key\nkey = b08c345a7c7166fdd33ce768c1dc\nmsg = 9964d80ee2338cffe28483aa446a6f76\nresult = valid\ntag = aa003015309f2ed6fd7752e49c31\n\n# tcId = 166\n# short key\nkey = fc9d2883c67534fefbd6ed4a9798\nmsg = a49820c194a43deef11f3a0f4eaa80425439fca9d9f1d7c8e665d6b130e4e908\nresult = valid\ntag = 1c2b96623c91ca9c5027f8f81ede\n\n[keySize = 520]\n[tagSize = 224]\n\n# tcId = 167\n# long key\nkey = cfa639656cd49f8d70f0b1a5a056ab4fc0aeeebc91338d067f36c47b6012dc8d856b8abcc4e1abffc910aeaee21b4d366e907488ffd0ca55b36a621aee0b2e9f0c\nmsg = \nresult = valid\ntag = 0ef4fedaeaab4ad52c843657047b19788a9fa91061b7a14adda8c490\n\n# tcId = 168\n# long key\nkey = b36d3d47a4585b401fc64c98eff56243d4da78863063d814e88f370b92576406d447fcf3d129a1ede57ddc56ea3a0a1f100105a95e83138cdf45ecf2a5992acf90\nmsg = 15c75a64b04d097af2371af380079eb8\nresult = valid\ntag = 4ecb2daa5fb08dbd836e92a51e200bb230f54ac2c9778f5226b3abc9\n\n# tcId = 169\n# long key\nkey = cf78b991382db5e8666ccb2333fb672179b10a75cf9e5a7699ae640005e19772ef6499a3bc97f12e58e835bb0017bb3b2e64c6ab44a0d619dfa0363484d1c991e2\nmsg = f661e598f180f25dc6dd76db8a9e0e4c9c272b9665a6b1756560c723b8e08595\nresult = valid\ntag = cd55cdb0c4f02b9f6148392993b18b4ff00a5e73b6f3fbf83a854aeb\n\n[keySize = 520]\n[tagSize = 112]\n\n# tcId = 170\n# long key\nkey = 3772ff6bb4e5b2811cfd4d6a3d34dc74bca3dbf89a5817b79d8472a1383b8c9afb27b3006196ce9966829eae6a313c2d724d995f4def17117c09edcfc8c0cbbc93\nmsg = \nresult = valid\ntag = 40beb1d3aaab25a403224e577770\n\n# tcId = 171\n# long key\nkey = 2ba910bc0bca90644cb21e96063e2cd85f5dd02fda75d353c9b51eaf45eee94c165ca6592d6cfdd987bfdc1cba66363d535a14b2f7ead841b17c4d76a5049105f9\nmsg = 7ba461040de9ea3cefd4809124f78b39\nresult = valid\ntag = 4d28a926df1b188e85d092bacf11\n\n# tcId = 172\n# long key\nkey = 7fcf3cb1b1c5b537492aede4689284b5881935e3537bb7307198d6518e7a6aabf70b50b44e4a8dfee35e9f5cbada7447e511a37209390fcd171c62075c6a8bf1eb\nmsg = 83d29c1c4d059ddb0d2aca787e5b701bac3953fb9bc72dc87b1ef92a582e9748\nresult = valid\ntag = 392ce38f7838b2f87163eea00b86\n\n", }; -static const size_t kLen81 = 54342; +static const size_t kLen114 = 38438; -static const char *kData81[] = { - "# Imported from Wycheproof's rsa_pss_4096_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 492e60b828a9847501c7ff46a4a304ee7bf61ae87dd88cd5598c76289a70ab3afb7fa9efa3228a1e826241c13c2e120d22cd3a38a9b9ec5826a9711bdb119748e0f7080ccf917e8cb53f6f21ed19f4ffad9efd94c66e329226a811eef928816b5edb3b10d1f483b64bcad9b055dc78e99491560f59a598001e76a0bff0ddad4ebfd565495e2b523b02dc80050b64db4a200b5ca9efd8a1339d6cdff6a82dcbf769d3b0ed7ae53ea8f1788eb025e186a5eac02e3e1fb1f0aeec29b2929c7a718c32159609f973109d4a876bcecdeee6c6418df27fa46eb5cd238e274f94ab571c968b2c4a838cd812aa90e4657b95c0ccd68d60bd7d33b6e291a6a13f68e046cd41ecfc2bbe35fa9b4a0c17d89a708f89f975bf5a5eb9abc812b0c498d93d2d161f5c7969afbcf798029f3c14efc3f7c265b93fda572d265e9e116ffa9416e111aad32072f61943e9f0754f6e116ab5119ed09bbe245022b6e8bfe35dcee4a53ed375f5451c43f38f6eb55b48e386030cfb76c408c81f606886c81aacc76a999735682413069cc016f6e390ea2df7e8e74d088fb0643aebf4899ee8177a4a5faea3889181612ffdffcdb3fc699d578eba383e23e1beb68824c0bc7f920afbbea8ce7bf2b7c3bb40f33c6b7c8fb6cf73e6e2f3679669f235ddfebeeafa872918581d99c84d6dc37ff85949449d3994982d332cb9f9b8aca691651c4b63e58f6b38\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3731df2cf46de010d06775044db5ad8c98fcb8bf2be357fd39af55a864395bd24fe7cf104374159cfff1b537bb26ecd67a0488ba7a124d8273ee0b3cee00bf94c5d34900c4ccd6e200cac6e90d97d8b4197ea78ad36be7a4fea6e1b43b1ed954c737bd6ec6960945f24308b085e255c1142c61af876995bb5736ae19ca0e1cd9b319634ff7103a4dc89eaa41c00cd173236c275c463a1cbb67f65e45b1bcc4e10c7f3456911e4f9ac4cee8b43651980dc2e8c332e5452e35f256463b96bb21799e22f4349846e8a2583763226b3278134b9313757163ce6ce0628376001fca63c535d384a6aa7cfecc29ebbb5cf6be9d2b211464e02a09c089fa63cdd9571f3fc559bd2b92b7a5a724d3b88fb4e42079add87ae188a983c11fb769d3ce65fc5aa27dc17b6914283971278a749101e38d3b92ed2817ce2b37d4dbdec14f44f2b015433cd6e5a5de6d803e95b8b8196bcc4a77ff6a8419f5c78b4dcfdae0f9f98e8ab792cdc18645a14604a604a417abcee8051aff0eab887f235b1c6143327a0db2e00a63e4c6b8e002f21c86163de68e49c766fa91ad956c12d36856cf58324d417b4898aaa6db3eac372f06ef21d7a7e86b540972dd4e3f7afae7caec8a692f31386e7b3e8b934499a945cdf556eae3010cb1ece6a08d0dea9500157e78117d0f4cdff096fba973f7c04f79bf42a54e4a82e5456f065bbe9382605c444d21cf\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 2b981b661e1e244b67e1892bdab545edc9ef68b50b4572a536dd4a40f31195648b8180454faa8765ba19b7ac6a59176c1a2c621e6f4131af96beb4ea47252d7617b9d8b432b5cd900f7b328b0013364a520ce46ae66a63b7181ab60b514839ec8f6bb63ec2f83a2a142d8ce532f63ebdd3f29ce26797f46f68481818ff1e00c47df1e7e8d809737307a63902c94d9c2ee5c69f1fa0602eeedab4d7f6d0032de1a8294c117ad2aa34f1175544f2bc1d466c5965ae5796bae216cee8bf7b91f9746a97749cce0388f8f443d14317e825cba2ea278045826835dfab50091cc988fc12d4913920cd625ac321df4d89175ba3f49f89d372318bc222643ab888246f8e5ad64f227be043bec3828cea0bc0229be6e71a035dca97bfe0c2f34ce03c1ee9d084d19a6d6c301168129a6589cee1119cee84e35b561d1f658b2e4f16c2b4ac2ded8ed5757ebec2d5ed59c66f7bd932d64c58af7fc16af4d3f6bc42897114c9ec537f8b7ea86752a2a26133a7b8085f4d438ba643f7a389a1c6811c2ee4eda48060d27e6299b44c8d504d280ca56ca49c246b5c4c897d3e1d352e047f735cb7e30ce87061ef267bd9c50e7de77032a162ac9a026e684bb4d0e8131a90240494418fbe471c9900a6b322306e47915f83cdd8e525566e8a71dfc869ee5c7e74d33ac8646d7c170ff82f2f3e5d319dc61cad06235145c031d03cd420fc370adb3e\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f44\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 66381e10ca91edb043adc721883b8c005eaac4daf040379f4d69a2bd7ded69cc6e85d80a6f3ce8aad523a5d185cbb2fcebece5210feb0318065ced244ff73830cbc628d79572f7f0961c111883b9c40336d110cdd4dc4b9a04ae4a0380e8b17f0667b71b2c5bdd1c9b48c4e83694820d4cf4200051bf3101559625c0d06fd0996b759e9f4c689610e41655b262957457a4d8341c65bd89dd438025699dda37aa2d051c", - "d3c974103aafb092e865b1397661be3eee3f95d7a75d9a2ebd74e6d2cfa54ff0d8753130eca1555eac4bea45e90a6a37d7d057ccde4c32e43c7499d5c38754ce950308fcff69d42aa4a4fa85e6d92bd20d605823e198e94af5ad65ca4c2fb919391f919aa5fe048ff51a506f63063cc5f777fa70b20cf759a0b812b2527265fc7f32a40cc275ef94ebb4a0410280ad658e67c34d581b5e7a17c5629be34ceb70ca68f40aedaa3c9b7dbcf34f30f12789909a3540512044bd812760c3f76dbc644b89760b54d9e090dd9cbab935597c55fdc6793f8ef007f732732e3d1fcc3e3ed253689aa29acfcf85847acb74a722533b0b5debfbcd0b5388f6b19e8b9ac47753f8a616ed9a7e4163ce8669437c62271bad3497edf3b655e4d1523cd8f3448c5d07c48dcfaf1e1f8310baf3d3707ea23288911fdf91d7379738ba8fee9ce525ca0b9c4c03bf1bbcd7d1369c0d2f5e0127ce2d1f95322c94d4c309f2e8\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 134d55894c80eefab7744abbc9fc5cbc087072da8243236fda9df5ddedd81d23f0998061ceec59d1bd4fa2f404547056f9616f77843330bc65a2d2386574ec9198b2abcadee4139074c3208e2f09eec1e527e26b78b8773121f852bb8480e22b34c0e1cafe9bb224ce6243c46c03cfbd0fdaf28041dba177ced1a2ad70ca2f1e7dddd6cd137732f4a774e47eb59d8225d4c6a507f8f273b600a5b6449d63924b3a0cefe987cb5998dffef835dfe3a675442c90d02067c9b3ff0e3f1d84ce8801bf366e040710ad2c08c9f379bd07797ed954d3e15ef1350ffef88e9bce7174466358effd2494d7e174ae88b04e17c5ffa7b63bb6cf194d007b3ac22113fe3a1dc0c97d3853aa67c892d7d6bc5b0be6681e18004640416587452c856644ae6c07d135afae80fb80132c1faf56c5b224923cef5abe9969b807023fb84146a62e19bb6d8e5af0475e07f48b469ba3178c99741af6e57aefcb766ead4ea6cb3d172532704818fd82e12132b6329dbdc62e4c9da1fee2cb19e4f60ebfebc681a5b892afb812e82029123a7414f56f57e09731fe107f682f10a5c31fdec1d60118cc3646b0284e1948b2bd37c280135ab587960fd0769629860d17c4349271267a89c26c5f5debfdf40d843428af1010f87ab73648ac1c698898717889c38be7a06b7dfe9f63a9c7a19a77d61e3235ceaccad99cce004d6a870b27cd13414383ef4aff\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 7a7848548b15bf23e4dc1908e5b3aa8989936c498e77d587e64ebc9b335ce6f400a3965c027c6c248afcda5c80efe8d1f1bd9e71a5c459aa428a4ae1d1cef91ae48788f361dd440fb3cf745c9935664e43b81e9f860985418b61c3afe63b85cbd07e7dd3601c8ef8b7467694e3221ba4ace737c3134a8bd7f7ecd84d1382a93e5c9a6b69c9a8f12cbd612e48e5145972a1ad4f92cb0a57f44e0fde4548d231a5ee0efa8698154c66ddfd8fdbdd41d1476bb5d8852663e4b7891755ef9fa7b5d508b190d59270d32a0a7f32b1a28570a7e52592324fc461a32bde7e2cd14b04129a400274e4183cbe44aa4bea3b4680061b119a97da65c6ed4bff5f2f59193ccdfa8d021816a2b5d32ac52414d1c51f8c198f4c03e0993f8e47c268598d665c2b624cb66ff02219a9100adb3ca9674ca1b63d77d6156307efe953a489529a1701ceac83ef1134e7cc7aaa578fa4909e9c4c0220a5c882433dd3f0af1d87bede7ad979ecc9999cccaec3c4d39265efad3c39809ad3f24fed3982dc74c57ff8cf1578d940f9c6d351aff9cdaa2481d0f355054389ab2a6edb6b5455677d828453cd6aa21000adda95644125cdc6b4a4f95cb69a1abd23b46603485e696dc419cbeba767b2fa7081e1641c4b2daa44f5fb2b9a6513dd12d6f12f0f1cf7da5a74223da8dc390468e46af16583faacb7fc0ef4c095c641af4d76be03e880d4f4e2c8a3\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 5629382f987048f03b158dfc15ba27891417674868a94a11b82b82fc412338086390517bc55e280e0c5b6a152c5e44eb25f9c014bf66514aea4f71f467e612b9242186276694fec3b754f30486eec2b67a81b3dd61c70e87fce5b12a75d5acb30ff35e4d94601deeabf2d5cd26d30dd9ffd4106a7247c9149fd440d2af4422b190dff1e891f842c3f5f688f10d07bc127f94c26ae506c38576a9ef93de3a9d47db28c0dc46d0e4d52093039dfbeaa7079d87623788d00c119749c9500bdfc7d980f7bb233c040990dde0800e19d428a3c239e2ebdaafd6f174212ad17a036d2ff31349e8964d5594802b924a33dab69d3d9ccb97edbbe4063bc1dfee3e9986716e2495743bbd4bcf814a45df69b18c46a40659aa6cc61522ca5e395f292e41836dbc66d15a803347b1cc098a7900ff319068acb326bd5bbdb865ca4f391c6554dc9b51ce52510531db7a70d0624869a2d2323eaa54e3b4c49becae203849108c00d6742a144b9ddd7a45132a2dc2b42ef495775c3cc9fe9312345b3f1fad6c13e0e7ba92fe8fd67924cd433739ad524561b7538863aeb16e139779036d32036487ab22e029649b89ebfb264ffde09c38a35258beb29ce46d8bd873614a1ee8e2b7d133da2a18ba14e2a72a9f83bef8332e6243f32dc25582d19fca6d88c1afa4f23837479832fc9834496bda34fefed066280e3fb73cddef8c72c5757e3417f5\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 93cac00d29dcd13c59c08c017fb4d1a1fdbfdc110dd2e87386ce2357cb8623fd167c679707e89185005b185dba5458363d38435c9c49c4a1482a757c67e79c88bd715b601f10b0499423c77803180521f99fe2444d977f27e86f557612e9daced3ebe6e142ecf3ad74c32c395c3fb925493b8440aa6b3183b6283c56fa1625cfffe1b96b1f1f2a906c95e02195dde9cab260db36c31b9f5ac137c575272016d6fa33be2f0434b9462801748695a9256e4069a64104684ba9e098310ba4dc3cc2441fd8f250ca080c7d91ec08eccff15bbf7b4583fbd35d8535befce82a656a6c70a0583d30423712d557f8a1e9560977858a1e4acf0c196c2d92fcd4e9d51e9b811c38477b90928e8af3bb19bf5359003f7acbc1de019ed7b38400acd10eb766cdb3118cc374de28ec2408cf43618b970657cb3307f6081461d90bf9555ffc1df6bdc26a98d54f5bc212ae51db675e2775e997bea806139a7f4d32c75eefca768cd1eb707ac75942b4bc8faaa640555abde6907d34666b4e756bb1d7755f6af157579b82801ca06f56d2153f12000dda261661a2e1b7a1704906d629e116fd3cf1a779a7900144a75b400cd56b43f9676f54b92fd472673af88d249bc34b7b696f55eb08bfc653c428738ec08631480d0caa2eefaa865f85f14f6e61ac0078473e558fd826182bd0a3ce77dd54de5a9d78e3e4d3d46c136b2664bdb2e70d3a21\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 1590f61a82e0a6f331352230a995032ada91580ee31af5c1683b3efff9ee2c48ad5c36a0a2c65bbf5c7d579685faace7dcbe706fe82003124b94a05a27558ea8983eab69fb226f8605450bf13dc0c8dae90f8abaabcaac27fa8ccc2e06cd37cb1543c138ab80b45d715b6c504cf1a7b82554110de9bb52c7054af4eff289d00c9d56b4a6c933bd6f3c4290ffe4255aad546e5e4e71e5d5b6d882bcac33831ea6069fc2e350fe3776952a5832116c971356af3f1618aec1c466fe50ef64ee9e936acbcbb61552be9d6e1362022186249f4e6ebd8c3169e11b599f6645b11b30150155b0bb03f3b2a4dc585f504b0fa3149210435d2fb9fdac4638661725211908ae1c0540688b71b70100fd12584b19ed054d25aaa1df407f27b9d338ee5b9fa7274a29d580d0acb81c1ea182b957c22139bda8a1c7fca529a6df2089b0c3d0f03d3d1799bc186b07aa22b7bc06f69a80e423e86a239afc819232851c1a18337882835144c8b3f01e632ebc22db346304d794ee1a76dadb5a6f5193bba3b982c5bbbb7585dd7e181633dd92fe01a0994ec08d1054eefb474f45561449be7dbdae57fb1490e533014c0438f57cdcc582034a94c07cc6490794ab2164013b5f2ad5920326e83d9b3c216d3d3d2aab60b177c65b8af1db955456c992e0009eb9270a4cefc04209ac032314142e1c55b518a7b439cfab324fc9962a2c916c14cee7dc\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 70c6a2593c3ce4bb4cbfbc51b41570fb966d50bb48f8e9e6cd294e99bf3f60271c71965277d8f85e280a012c5cea3f3abf9370d983728bff790d93d00813012d286fe4bd7c36274ddc47b8ad6277712f43469811b7dfd77f65839952b5edecbdaaf590be732e45253e09cd98236b16d2157ec762e7c294dccfc4db19566b1f365e91f1169329a1c04e42a3f60c0b2705fbf01dcc933e991702f3c0ff52280014f6b8aab35468619cbdb554a0c6840f4cbfee9a9381c7157efe29f9ff6c7cf32118326e6754012c1d612a8e3fc65295c48d5366a2d649eaf3544fc6b8f43f637540832c5c56e0e7a56dbcd76e32ae7efb41fdc172b01bfb389e5c5df488813a1034dc5cdab30890599cde5b0da830ec2504ebc708e1a96a8571aaec42045d701b080c193472a80886f3a68b2ab330fcac623ea99c3eefb01af168626857d6c458c0293d5d6c76e87cb7a91c3bf62901a0055634ac21688425d1601635ce0f372963e9065195e523d6657c1a10eda3a90e21817150751c7ea1682199e329e8d60b6129109378f45dca594b97d29364d1e5c9c335c7018b1eef7a65fa2741d5e6bf161376a47b0e670ac4f2edd43ad1b05e0d847c74aeda0affe496a2f554d8061242aa705c713ad2166bf81f71c03703e1d43af05455c53a5adae6714302b249b2a8fffe2f04ca1f5e39bb22afa94cf9429fe99f5359231bd93c5ed008beadcfe4\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 3ed784b228ca4c6d8600fe7f18db69099881d3ac4ce0577d4e46e10adb3004f213796e9af8cd78ef116f373cd1a070569b49a4ab55f82259410269db674ea4993e7ec3ef834ce32318856142921ef33ba4bb6319ff6118dce780cac66d7a8315c12a92437f446c851c657dcc5b978d454250d3fe9513f787a9e5fe9765be6a92d2a970fab69933e56b692e2c579259105dfe3f0c54da11c21ae0f965c7f8bd15b3695171a2b838cea7085309118dba06cbf83856fcb927569760e341bc5c9dc7da5906b03f74c426b782c418f1ee50f614982f5188bf86894e30770a0b8fc7b02fca221abfbe64356e9bbcc0eb47c5700ed86474006d308ac4c1709b88774b101dfbe0d203c91edd140532878a186e6f972bd70fc7d0527b3a4337c9a715ef7f9256a1e5a06df5aa4fa6be6416143cebeb2d2bd039727325d8aab9b4fef2a31465bf8fac21d27df08db6ae22281a0615d252ce3eb8e539687ef125da304b6bbfe2518b57c95c1d81bf5574880874a49d46cd9a7fd535d9e7d04951b4c2e03ae15", - "fc562016fd6f7b08ea5b427a78a2d8770ad98df16b94ac918edd0c4753055ba14f7d1b253bdc37f5df236d70b0e83b4bdaec9bd29c558dd708fed46daa5d4e3312c08523a0066369fefc7a2ac70ceab29a3b56928317127a558aaaded7bd6855660ea87d4defcc175255894bc9d94d5b420a24d06c4817bfc4ae92ae5ba4ce2\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 924769b488c2f25bc1d2d2ac9b2934bf4a00122bc9e635e8b2dc3f5550579fd7fd9e072bd8dfeb7e8917045c7b2537b96f8fff9961115a8f8e866b35cc1444633877208bfd1410e1ac91fe62484adf7e8c0eb5885859c0757590e34f095f388320ce455e4df56cfedc7b15fb5c9d95e696207cbddfab63a71eeb9ebd4aba5c214267a6af1524716821a5a2693702e103c3f9b487235a3fd3ed9debcfa51b5c796fe2916746146c07147370ed15424fff4b07ec133a92037783626a0a48d2a3a440a611712ecc7f28d4ab146d898382a2b25df98e27e15e168ffd725c57077e86e2e88cc015217fe2ede8978e4d85acfb66cbd2fbd36936b0292fe63650ea2280f86a9d3ca427a77f4f9db69f117a0e41ff86e98caf36072322201c928c125c2f4a19358c62ef47df4a796d67d2feb9879e3a195895042a5a8028bf9e013f8b142363a1a192a2e3bc96847a515322de750fe346ef150a14e1adc7cbb6d480bc42dd06a8495c4e6ed4ea6441ad719f2edd6696da0530f54868715bb25e17d492b174b77a992e2fd997bee727a63e8cbaec87de36bb700eb4208e174e2ed437930990fc7f5e58e59706402565e52e9f207b4546514dcfd84d74348ee93e90e9bb0f4f288fca98d526ae8876779112236a5446cbaa615d8f6e45dc5c351ff45fcaa7f9e6891f09a620b2b12489d6ee3043c86c35b0992a086a271d78a37fa5ed6322\n\n# tcId = 14\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 1db0c28280679c7279d9f4ca1b3ad582da63a80e18ab2baaec5194aa6c2435cc5f7c3ad16e9b3e8eae8a9e33a7dceef69588aa5b0b16c184ff54b60c41c687b77d849eb36295a7aa3590e30f21f2768eeab26f13135ad5353c889540906da7021ad10751876587888c25247584dd4c7e35de68d6900676872d7aa84dca74cd41390c01eadc982359766fa6cff61bd424baa7cd46fdc40a17a97df468bc200849ed315f4f53d6f24a0af0a1b51112eeeee438f48ebab9c396f4b6a0dfe6e23beac92cda74d5a762bf7591da988341a796ad7e6cd72ffb6df68b081db763a48eacfbfca7132f27979af705089cafcb774e592f92ee06fef8c9f6635480a0f84c89c2ca4a131937a93307ea76326f2c1627989c0dd0eee1b34371d78ab794543124ccc2269f67152f409532e9c1d1231d79e5d6bcfe9a153223038a1fc2df9e5c50739edfcb6e7157e0d885105b11be6e5a55a950cf48e827961c00b556c3f52554ddc9ee9b1a0e3534b724de96b1009af28a3b2d2e4359e674b76ff7bf79d9d6e52db23471c9a3d430b05e85edb469dfe566441e5bd565621006e1d1605b8fc45b2570cb06779b28283834708485438b41b478216ecb9db8ec64158159bfdf84361bb1a2839a6733db28d46f99e2bcb704b55f25cab22c7436474c68fd259e86800ed657b4a2624a1a5de45dcac39c5c2d04f08792b9a5013bff0b6da1c1c288b5\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 64a883f439b07c8b21b4150c73cdf50f72f6ca2ef90da34bbffe5c92d37821f7e6a7a1d36904ab5d9133cb82527a72759bfa44c8923c18551129e6a6e3851fb2d4641c62e43f7c7e4c740d414dfcabeb37d40a5ce73a77810a38bdaeb134e5049b29c1486ec401f5e01aab83568cccdf7fe4825d3f56a05875177ebbfb792e5cb2aae418fde5b1e0f63a3e83d45ccc1f8549ef6de0fdcda92de90236560a514dfc520920de4f57325750e52acbd3b0bcd02ecce288e2bcd5058d40c647d9fc9e55276948f19d7d67608e444b632ea1661df452cdf3ab9fe6270db4dea4013d38c857d26685fe31ebcc3a339aecf247bd2b1d7805ceaa22a021523da3522b58cd4f1933c117bc289f20e0aea55bf92e19e824681b2a9b93c9680da90204bb69887cdd774c213368608bbd9d3fd2f567ecad17b49f15a4d55564008f1c27d4526568e34fa231ec5c5ea0023be8730b0e6eda39b4bb96069dff483c8cf303647ff17420a3d022a304be72ec108924a4c84579b38c810988551a76043cd9aa54f763077e4d2a4473b3da44ba857786c6217fd200ad7c0bd5609ad6d6c85ef5fc04a0af27e2489f367ea7f612ab825a73a1fb7b4cd9a7d45bf4cd0a72c9bc54ac81193645b14e39cd46181a79371bfcfcb9359a6656105f79c11ea7053acd4497db651f98f593d8487a2e8f2d3419945410e580c35d40771022340c4c4d6f227f91a1\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 8a5225fe5edbf9240c281f69cc26c89641e258b5f21f56a5f11c681c87f6f451fc07490fe6b1ed4febed4aa7c010bdc312e453a599be2b37fc2f1a079ce1868e2ee59b3e73c527819238393b8acae914ed42c9d2d7641e697ca8946d2b53879d33805fd91f56e608247f1c6744d8b8a12e02bcf7f15e2ba176995f15a6458a926b77e56c2f3557e716cb7a730812a1f6798159118d9d95b593dc45eb59ffc9cd4e636b9b8ac8d9718e0e89269291fd42cc2ba7b379cdbe8e443f283b7517ee5a915ba61cdfaecc9203450d70db365588043cf777fe92e0aaad484cac58ab1ea442a2ae62f5dafb2718112eab650d36743a9735621a18b7aa5dbd9d2d5122afdc3b8ff49d91ee79af3743a0010bb8e88b6fc766b98425e2660af1b38cef8b7ce5b9f3432a7358fbb07f20c9295a5eeed04a586bf04f5f9e8b3425a7d0307b496848da8738cbc267052d7a679c95e799205b4f7c00d9cc668c40cbd6368294402e26bbadb9690a99945d8fab81c5d178d72ce38b0b47b24043b27404690af103b7240595134faef4788a6106234f40e2cdf06089fb602198562b18ecd03ccc58d3e98173a9093eea3b315cd9349a010af282f3c485f92c0fabfb774d6127204a254809585c4890622d98659752276db7a890dd0cd4a6632004651bb194b056ca446c85cee7328e80da15c16c960f514dbe8fb9cc114330a160adee4cd449cc1524\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2f50dbd395abc6fd0231b9bb6103018534b39c4d60d139615cf1c9271185c5d3988e99735c9fbbb649e3cfb629d73fa9e1249180606f8e8621f3f5033e5cf7f67f4abea48b53eeb5be67031cb6afce1b26538ca318650b87317f6129f9792f3cec4e98a56f2d7504999ac1fe46729fb390448e5353b999a52044d2baa92f2ff664ab5a4ed82911c5c9942a3741fced99b9437b102db72fa5d1fa87929887a2e61ab06dbb6b8a39659f41f3ae07061792ccf88802a6b17aec1da1c35bd85da150dbf11b3401109e43261a0ff2b22cce779b19b5f2925b55cf143743600ac4c7dcfae7a17970da3d52d74ebab46744e214d22da8d1aa8021c8b47d6e2c585535025c19335668e2d851d6881a594d03852b45aca4fb10f9e85f053a0ca532c40cc0537518baf7fa388c2c0743cfd6355dde1382cf2c9ce1f418be20aa0f3be147d0c9c8756e2c23797fe9f3365aef876e793f3636608b6221460cb76863590b3f5f56f6a5cc0b0ec4d56b40776d629eb32c7e1838aeff1d3c3761edeb91bf62682f7502dc685e29ff1f678e287efbfd364ff98088f42ef58ef2a50415531c1021a13c96c080f62842167239cda8209ee3641da51f3711f0b665cc88a278dbe2619200e50037577c9adf0d78be3879cc1a362f673ccc3e03bf9a39f4bdc10d7f044101a02a83ef7b63784f002565c06eecc819483433bdfeb20b5f91185be6adf22b\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 0898add7b127d3f46c4eefd56fd293c166e7b601caa0584059c62211f3c063b9a479f7f9361a1ba96a6a640f9c3c12b18820e6da9c9bd01a6062ca722d0abdd5a9031ec328ca8729e84079ea4133b4b4cea8ccca9e1f9b6a53fa8486ca20390a92dd5945790c371eca5c0958247344334891b12b53baa4b7df2e15307cc58420958a4a8cc8bfb06180174ea8228ad46f98725981a2a338d54745ece14b65f38bdc5c6bd87c3b2d81648b47a89afadaafd51bd9250debb9351f654a47708332411234df725ecdd0ba3ab778560689932559f9fe94d937fbe12126025f3d1464f7e5081c9f8b7f7a422cfc3584ca98b5f0277e97ce9229aeb208892f5c564157267fe59d5cecdde948647dfe7dae62ce6f39419dfa80d4d9336f874395a7f4f2099bf54227ed933ce9705efd1704f9a9469c781fbdfe8df12b13a15f802d309abb0c6560635a22e49856ede3c2a5271a656a76a059fead975ea077c4e632b9f13b8b3950f2b00c3834d63750098e792b824e54d53d6dc102a4c7de5b449d083436b7714f99928969c3499104efe30110366abbf71c6f8e4f069be0d246c2ef417e84fbe075d48aa65d82590c3ce862c518de635f8c6ac009288aba112de47c117fc47be80fd79f39e9831239c34cfa9bb54a07ca67ef318fe6efd6bb6f0049fe255846a474cbe28bf73099e948c91b0de01a9f60b80f21ac8f5601ec36f12e06da\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2daac886b4fdbf32ed9f9e66f1abd5af7266025d168620b051dccea674662e1a347ffc519345ec8d40d0dbb4a5d60317632b5d504a2dd56e89aad4438d2b824ead94b87bfa918ece96c3639fb1edb6139bec5c4d3366588992f26ddb39f6d504eb24b90580e475da022c125b6ca3f34251211c40c3e2ce95f9dfe051f728eab654d95a7ea5aa37c84ce0c2c3abe551e469e1ea3fb94b33b5c3cae230aca4a13d09fa6925e7603e2db91a17ea0a8ec77372c4425542bee8b8a5de029715f62a1992c78ee2b06dce17dd57796d48e3789e7f511bf85c15366d504c8266bae2357630e5c70985622dd85bdb6d04131ecb639c34295c49b47c325018247a154afd1674189ae2708ad2ba5c13135cb27d0e5694e058c9d36977fbe36f39aa8ef0f99a7b59a9af3bf3ef737c36d6e8f137faa38bddc62fdb1f1c6ca292cf606a41cb32253804f14a12e66a9851697268b8e619556cd00f6abd55b61d7b4d4a9ec8a7fc3ade79f96e47a2b376c881b96f0279d0cecb634c4031910edaebe92201d144d65f450357313fad99bf10183cca7cc6fdf52382a280d71c0b54a846ad7fcb2e62f569371ca403e60d8611a77ff4392c1da2a0792bfc835b161f407e5c279cc705483fa94db072b9023407f1bb1de67cfd57b08f6c5094eb2754ae1581a8471766c1585c1afef365e492c380b7e64722b6beab3c1e367b9d615a33fa1c13733731\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 707ba25d4bd3b92daeb91154e68d056f31857c57610f808429bc5f0c0e4b52e079ce2628f78c9b0ed061764cfb9c937164b70ab7274093598", - "a7425d5e67a48c945ab8be4e7138d88eb5f0486c35986c805212366c2a9e775533e7ce71b1c35b4bde53e779ccf31d31fcf278744bc7507969532a8fb32c1073ee31e7277d9a6111450fc65c60afa0632f84fd2e8fad4d201c1dbf7b9ad97de8a8977415a70f3946a17dfd2e4895199775d6ff45d4785ec78bb5c54e26df4dff47b81d88fe70c2d2ee5e8bf83f507b6a4b8d747288e9073fdcdccc972534c1b51638b0f653a4f6a2e22b1393744e978a41856e6753f5460dacc485160d480d4d5bc5eec5ec3eee1e2575e2cfd10856701425c4de05966b0a6e86c9545455f6f62e9313022a60b4d34496db4f94fabf9e3a40be0cd77a15248fc2173a5ea65fe0b992528e0cd8a7ab2e911386c5b64d84c0cd0428fc2940d78e8f75c9e3ffee83b4328561760da96f7b015c2700ac6ffabcdd67a0d5e07db92cb8ecbe4842ad8aa0ebc3a1256ed03e0c3e8f67f51dc70cee8447adb7112ad7791dafe3d1319dba8c3e63a9837c15e3af11b0cf5942a8ef2750bd218ef7c266a756627b23b0861df5fc9cb240d49290aa9eedca74ea69cc8640ff746731fa916eaae176b492f5031105e38490aac5eb46df185f9d6e5f8603991158cc4c43744b03dc897fbbeeec00eeab8c7310051\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 5acb1b66dbdc180df233c83a3b6291477a9d8b4fb7f0253d928545739b1c517defba99a546e291c23d1e925caf1aa51b462c689d070ae413fe1d88cb7978b01a28ce7ebf2f5f97df648a7d819dd028a53b1d604ac9edc62f62655a56642d087344e52083073ac02fe9b8ef7e61f7476d59c78a66d4ee07932652997bd756b24ce441f539e4c7bb3786f1e4676d7e4bb3ba8a83701cacb2663fee71448ff2124a8cc19e15924404bd0e5f56a7dcc5fdab8146d947010a44711c80409fe6b12297acac7b79943c8de00d15fc1f1ecdf9b0528b3004fbfde8fcb7f082378d97354107e47c48a1e3c0499ad6371480e88fd164deeaa3a014b18760074cc96013b86ec31bd967ddd41900cb9c2f3bf5704754a357124dc536af4305d58c8c88ae214ef3ddb53ef10a2c6211d55a3cbb277efd6be1b36d6a8ab997679399aa7f21444638902fd34d152f8ec2eda7467018c0546cb54233a62fa4b9184813b9d46a034b3d7a7f8f01bccb8a5b364badb94d688302598fa393ee8cf6e2179345b1e5d866e2bb5954bfd9d192ac73374ec4cbc6c1478cd042e4ef270fbfcaad8987b0e4e1c696bec8b1ebaed124a0b58c79fd9fae00e19feaa82d52dce97baecf82b5338a67fb536417ee2d0b8584a998486c770f26b8a58c8856439065b3a4b81627000a01e64daef83b146cdc7357833d447a4ff161d63200457c6721d6dbafc687887a\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 8172c8d2dc7f58d3905698c0e814054a8d780d154d14b9d05d96fe0416e6ad01ef540a95920cbb3b3460e4b3bdefa26134a62e09432d0047e67c680cb7edfbdd65eae2f2a15a84d97886b0e3c46ab9fbbce611145b83aa313fd03ff001ec07b4a6f814f848cedcbf69669e03641210fd5636b889079343de0989031e37ee25057aa0bb2a793feff540f1d6532420a64ef3f620a0070d2c98e7182cf7265e8fe8909b8e2b4cdb2dd20fc0c1db0535d489d37f48d31b3727eec9e171b6467d63124d1663c99c019af340777e6f4b43bff7b50f3ff456bbe6a9938ce5e59f8497be33cf7e9306daa643b5bdb933318fc950f69d309989a262442584a877f114e31de926de13e1e18653deea56a0b5d4d825456e3bbb30debd83aca1c535aa8ac8553da85571ce4ab6e04d2eb292f8e5fea7649529e29c71420ba191c97c24fd9a8662331c7949a4669d2426e76a259b9ad5033109be2dbac49a5d13177162f06d5b6ffe55a98c27c859a43f918ae9b586b18c439f3c418cefcbac8f38af9f8be8fbec886899f754a50f319ea8d09ea8a3d12a658e05e62a43555e241314e246d9421022fd8c8fbfe76d3e26ef17fe84c79664f567edf8fcf6aa43769282d33a85e89832a4e81300c7f156d0030832c3f0cd5ba91c7b6f2e13d2a91a9732b69d32a58ef2773a9a74beb5fd53ad7b479443a6527022a367710428a1635592d90e11a2\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7bf03228ed95a2af0101321c3db174eb1f597c999c22224812ded57643cc1fb9d9de3ce9085dc60d9f1d40696f0e4c1c721cb247ab1fd2d1804180e5f51b3f8de75c489971e7e7098765e4f991ca5212426e771037a301af1c7ecd95a5ccd8367e2f6e84b63799119c7d0d5dde55e6567fca990c11bffdb9517cbf6726dc36d19a97641dc3ee44e568ef4297c7f96f3fcf480a87312448105a6671778abf9ef6d8c9ab289368560e2373f54c3e313b2d1db35501389131d1947fd7dc49570bccba2167ae4610a0229629da730d8d8d8218c5a586c5095b61fb600563ef660cf48dbae491e91bc07ea96d1575fb26e9802888fedb07a68268d9d76fea5f3429c96fe17f2f0678703871835788ccb733d40009c8be0b3242ca11f7153a4d906f230d56374201902167872d6322470d53e660d5cb4b65a2ac69b6bf6095722540312980aa2adc3d8d3336a8f4205e2e016587772117de6a357c20dce834cd8aa7d31c4444a235683b782e473ab60404e6ef8400ace3b8d48b6a7801c99ff1f405e888257993848f71e81287292790e1b011cd410e3e3acf31f280ab36ddafb0a3e1772690d053f077ed980c596d81d2628e47abbc3019d5277c70db5f4838581db0e572a2bb0187d08b488f2dac22a0358cf77e0e36b17b17664a925eac940d15cd9424e92f489a4d28405ed76507625504fdf489702f089de36a4300373a833022\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 83a5b64effb15f9f46303e81ca509581874881b71b8e1ca08205b22f383e722e89666c2043a5c77362ce6509816d8cc7df36040eced3b7b1a8df22a2efed801dc4dedcfddae40f20c79bc0f8d64c336099f1773a7b32fc484ef01ab770dca03e071815651998bdb4b8ea11255480e63be22de376359c37b3019d6e264e1f7121de2e7f67d2cf98af80c1c4042b8c05bc79877de903740ee6d1889f2814ba9bfbadd6a5ebbe09de94e16fdcde8ca8af9933080124fa2ffc1e4338d1d878fd4c55dbbdb273e617dcdaaa76aaa19542274ca74fdceb0cfcda21547674b2c0ee936e955e8dc4aa366fc9f3f6c202a0a3982220ea8384ef52f8081823679e60095fdb84d6d75a63a563f726f5ec833633ecf35d27a9e3b7ee4a94133b1c5a15a6dda4a3f1957c399045ca096b4be079523d9f558031529e9173e7cf612262e5c9599bbbc2d94ef12301e23f9b2cd173364cafd6a3e3afb7582f282eeb4b2a1c17698bde6b6a82e88624e3d1737071b8c1fc6b5d77ced9b78f0c9aaffd78fea3bd8822288e0bb761092244df57ca49e32ee8213ee0acda5bf8fb91bcc3409ebef6c310f17d9784689e7c79ff33c9bc317921b416c08030c4bd02629061dffff19844d867f9a06ed0a8c1631bf2a55ec418a6003a6b5fde0d0ff223c8e689e93146771a2cb74ca271116af99c68605d9690ceaf833ef898a234dc0b70c684ee1c638152\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 73342b3c90d9fb6a7671295d7c258b80bf907ac32b1cca59db942b80671478c42aa2214a03e4d7d7b645ee333d642dd19acc5b4eba7b50c10688b8044b6c9b765a8124414610b97b84e0fde8876360a53396587eb973ae69e2ab1899ce030aa29d2e83d9206d4a26b384dc32ff02508169b65ebb6fa5f52eb4c24ce41b5e467178b94198fa399b82e2c75055c1417d001ee9d643f9f6cd1da5a566578f1a2af94f7e3901dff3f1f4af10acbe6aec703457b7ed27ff17a77955fbbd527cc7897fa2375cee83d89ec509130c644f8179df5e0537d8ea63b8b29b734227f74062b43334065d4092a30f609acf594d917994ae9e9b256325f47867beea84e036c4f8b117b366b016fbdf66352c5dc6f95750ceb121ea45d4802aacba9b7c7d79bf2604a866d7af58a2f13671eddb7539c2fba46e094e92c129006552ac376d216bd0c91ce45c365b811303dffd2082a1213487090ff3952adc4551a2787ab0d52180d0d016990f243720cbe55f2c0d68465e9be883bfe90ba55d28beae531a2b6924c47fa7ff4222b4f20a2403657f3df30e423875871398ac26fad9776cf8cbbc3cebd735185c1519cf9956c457b2b7a3b8199979f2a0cd0922b391fe3ba9892980bc3ac260d789c36de616fffd525097b358875bb02f27ba2e23c8fedf0aa5635d6179eaaafca58c68ef2438be5ff9a8b5fd91972389d2aac7a72ccb6fffbbe39f\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 545e9cec19e99d88ffef7d4c655d2f9b43f3c1516d04c034c4ec8f1169bd29b4faac01073bf2c46a6225ccb2347be24d1d185a8036b1f6cfdd32529c7f1ebbab7e183dbc69b761f8ccbe4ace536807c656dba7fc2ad315e7ede291c870e9029d005f7576c34319c1f1cc5a229abf2a1dec3fee015d60c3a577b1f1408e03db21029cca296c0bfc2955caed97cc18c8faef4ecc03f4acbc8fb6790e7a8d0b919a268b242f58eeab9933e0bdbd6e186faf94a16445fb346a341a19c2242e2aa922480e3ab05b96577fe69cb6070c62605e9be171625f0fba269e72910914aabfe0e953d14415c65cb008528bd73bdffd1b7ed09ef613b905b981cc7e72ae48429ce545c5699440037b66cbf640ee711c67f3fa7b7f3061d7323cbf7ca8fd5391ec929c8f33d51cba12db45cabc2597db12d73f5394ab6a7f3bae6b828a07b4240f887b246926cd315cdbbe3af8e27722f02ec8a4468c5980819b5dc9ef9b3240ba4ad0a2f1421b4efc5b9960b89baa5427ef5855d0e4aad5ae99b864b4b7cf85be717de8a8fd602af962eedd1dbe123a3c6b638468448764c034b64c94da5b494551be3e3b7bbfe521bd28f422ae66c89099578c7e16abe414fe8aacc104b89c713aa55db5a27758c0f3b4a8513f89e0a0c2b777a21410a12249dd344fad4fef8db7acbf2f5ef7accde3cc6800cec47d376debbceda46c80605c0eaa41d70688d3\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 0e7e3862a2fb354a36843c872c8175c7feba440f5af01cb2080edca8d8df6d66caae40771fe11d3ea7af1c5c3a0a0044818ac2bc1bb764a547f3c3ddde8503330f324adcf962755b8708275056f1a38828376c72c8cfcb115834203654838754747bb1e3d8fb9b542094267f26a37a4e9eac48d277d7cf03b06d8e5636fc75167573fc858fd095409c9bf8f1039d145e4a7dc03f0bd6560c515f06b2a15f14eaad2a39d6e1bc588b082d2da518735ca6843a0e974becaf8e21234d91ccd18aa9ab068bcf5eedda08c4d371ce23ea02ff86541527522e222d260ba481c3660bd5ee6e19cb9b86747463e0ed2a628393e0a321adb6d5ffae8612a5c53fec44ae4a432b01062370ebde52c0", - "738342025ae7333bb710982702f6b4b5b9b22ddab02691000dd83816f3a5adca44fe6175cb24eaeea38d577450624300da57cbfe90366664391662a97906badf4a0bb67a7bca1bc8f4bdd133f969a89c21a9387a1243227f5d67e2486d4f0d1bba97c440c6d1cbdbfe73a23de51f857986e5fba7db761faecc98b9364687d56403c983689e59e5f1547fb4bc18045ceefdba22965edf816a8b7bd7a96b1290080875ce0f3964002b0f1c3453249e96e1239035bb8778a772c9289d9a645b81232831b507e23d34a0d1e2f35595de73d70e74f4c9f4e4213a1d19e9e73c4f22d211eaade00366e46b35ec004df6747a1e9eb6fe04e13e\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 875ae0615590e5f07fe62b22bd19fa2b91a6fca64d786e1df778015e4642726eb6cd16a57e9a3baa814bde45f74ef5966fc8cec5e519ae52522e0d5467b5c3b1fc9840c1d39b1059efb52dc15dd90cbf8d602c663d30c84709b6cf87c5652305573654fe88f41e40f5918ffd097c3158f98a7dfbbda35904f3e0af6612c9a3564f7d6a2be617f737715913218dafd34339ac56bb5f3ec68dea257d3ed3bc19355d9c96e8045cb5399aac6ac0414e88ff0e1dc1114d226e0778d3679e123c52d6fc8a1e67bc212c03e57b3e0a9a5224687785a597d21c504ceffe7a8fb20fdfed9e229a36081e0699e42ec1bfee8d8fa3718f6a557877f789c51e0ecf38cc430c56d2ff28a4e94130289d7bdd49cbe1e01b9382631bcc8fe81434f14fc1b85f1d19e830d4aa733e7a9f3b7f5e95725cd4610d15d1b6838db89a0f3ec5418c687c2ae0c834729ec16c29b9929f48c15f9d7467413191e965eb15693b26f2a099d47749ee86f061d636f341cb64c8b102bb9ff21f0f1fba81ad86657a1c5228f56174714cbd4023bee481dbace94e2fb9fc59c79428395ec877fb7092af1c6d1b877c967758b6945e7b30c0205be731c755f7bd221f2e5eaaf729790c39281d9ed7e63b2d18d5ff62aa4081f5df5e084d901b4c0f0ed1aa1eba177f65689015f63d61d9aa777385dc85136216645c85f2c77b88e399eee1f298fcecbd3111085a5a\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 94f9d111adc41e6dc4625bcded3f556a1cb7407456e252e6fc1d873afcb7ca79beb18a2d738dd105dd0a7e54fa969c99d450d112dd2569f1417e15d6f393d3e74b849797972e454fa3ad220f5546cf1f60180d6d70b751e28395348da109afc94e698eb51312abde98c409c751524a6be4862e3cd2dbaf126ec26c76381bc8e8e519944f04e645b904a8685b4cced79d158ab48545164c58ba1c8c662e75a0cbb9f5e360b6ea8b7acfa977efe49d634c10505fe355d57aeecae808977a3e80c8c1a295c293d696871083630c6f3280045e6eac582481ba74d0d637882aefd15e30fdaf2743b415cb74ea97eb92250adda2a514d41bcdebbf8302713f5d0d56b4b9b1b34222041bf5f4f5d64556523610a50652b52d89c8db18a2b567431c93fadcd72ef81b40e958c131d16f56d83d27c95f1041bd03b7e8771540e7c62373da66b761e46b2aeec8198dd38dd7074dd51f66c2398993da738a51b71fac106c1c7000791cecd96d168a5bbf8eb097dd0011d22a5b7e489f2350bf2d698466aee3b7570c3e6659d294c5e4fcbc2a4b46288d067f475a54c1132fb432154d89ee845e43bdd90869ec6a802320eb09dcc455a0c08ca72e0a79a82aadfa8ce79e3d21329f0f71a72b184c361390a7978f199e5acf55aa5a7b1bf13962882c7fb62f519eae6139b74ff5043ede0d65c6ac6af7f2680bfac13b0e27ef6fceb81e45928a\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 50d81c073d09499d0b73a7511572cd485e2779e0b2309172a43847b9001c52582b75394ca438c4e358946232ef17596d4cff47dcfcf40661afa1d3c3d41a93ce9d2f681622acc2e4e4f273f9e1c5cc23b53c8c89ffe20e1827bea29fdc713ac1dc769df3578a14372d05e0d94ae44ebcd22d4ffa6c9276d22f8def3bd65bfff593ce2477685cc1a2d051656b91233933a9b107940abc716d12a5b3ec939ecbbab7a2785ca4be41e70a99f60a013d04a6b237799d8f1743ada6d5a97193d5b30ada75f57e540a64085d67b0b28d2d3618d52d2da4857d8aec6b05982d07ef918ee82db17182ebdac2d59de4452a2f43c769390c429dac2a34d65670e433c6e00afacd4664aa99b78dba1a1a39ae1a3ea6ddf067debec393046fe544ba9188904178c3b9358dd355fc2a788695b2dd2ab867f1452f9cabf2bd52031703b7e2a6d00daad2cc21bdebe9c3b45f9f164a1e3918998f044e18bbda1b7b01ba732395398db4d50e61085f42944d0b86c09b91e5470ff37e42f299a92d3a38b6b8e98a4dd1b1a8d979aa8a2754aeca22449e08647c09554739c1eb0c359157e87ec35be8fb44aaca5515ec5bda2bc861c08adca65c73a0f944a29db90081560789fa05a2f42a7c0dd8eb199e8efe3c9548cc4a269b0767a830b7fb181346876b3a8f0c9385885bf69b1ec388b93c4ba7aac60fde8bd4e4c9ea44c22fac2de7331df3d5fd\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 7bd56fe8be48062f611a16d070328829b6e032650e54148551ebfae0c221dbdaa461fc0b837b41db093fd3e7eee34f6ea975b7e7c6a9c65c9da26b8b47a34d4f85cbb76f7f75f0010375c10301e6c656bb990919855bc3941f04817de84b225bc68a53310a2d12c522732c98a435ff2ed2deef13e6c22b92f1518c01d7a46fcdd650030017aa0d55b53256645d15b022bde6494dff48e348bf243b48acb6d5866b01c133c8d0fddbc5d50b1d41fb37d34b3ee76bdbee3be46e9893a64e3571590698444d9eee18308be2a61bf6e28191f052550c82fc600de6e01c8637d7e175399fb8b87aea136d002b589b7372d0476059c153525e63a90d0aedd48f2a59621ced9e6852c9644ecc1a60181b1cacf6adaf549a47b1825973c4d2926a911db41ba10eb244a45d582b9acf30861c284b72bc6ed4ddbfc4df7f96a2b6e4f962e4c8ebf27c35bac4cfd2ae63c1e335ab5049c3bc5e606a65b5155709b9bb30d5e10eeb895232bda1465443e19b356ac9187d5799e62e778710820ca4fd2802ba8c52cdad0bd12d8adda85ec480329e927a6ed41a8c31dd35b1444660f2f643204c4864590014c8fe35db260990fc731f1599bbe223a3d2f6613d393444eb6003cf53431db39691318a1435807b921be34e518bf2ceb99be38d607174a96e8cdef1f49a144c71584b45da1e5277f2ce4e0762c8f5bb8e48e4b01579de204cb80324\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 1f20dc348e8b89ed3004b194c0bb635e27c643f70967d65b0f5d2d4ba55ec2e48d62074a49de2a73a34e5e4c0d172ab24bcb1025008c7d473c90b64f9d6991f3612deab90b0b535b11400c4a11261941ec9ff3738ec48cd6f0237757b26176ec2339e8bf2b4560abfe1a183683f9efc70876ac821d1874079d610a1f7c7ef80bf39f1ec1fa212136114438b422e4dfe65e8fb48f5cbe475715a67f8937ae7dc3ac913bde054cdd1636ee70d98233cf5f0645fd57a38da90428bf7511cd855431d2a2a5419d75c2199d338fdb60deb5617716f2ca73daaf02260deb1cda509ee0eaf457dae4c9f439ac00323c873bd6dd65cede625d3ae25568772823f402c5b354befe236edcbf956b700570c87eeb05568e0a50ee60d30cbb5b57c6c2dfd805126d1aaec535e01c81d62776e4b19c76dd412f622e8aadf9fcf3d78b34fb6016a550bcd72d1709b5b7308f74ad3c37fe0bbf4c707229c7f40282f09eee4be13ec48bf2f84b32d4886d0946dafbd0422fa49b1971b694b7dc55f7b4d059403df37155fefb9967b45db2bd801d9012b1cf0e2fd9b7a073868756d64cddd630a43a9447853b4214b06bd6bb4ccaca1d6bc01e79e328ed68ee4a6b54fba5b47521a2dee8d6425306e339356f97f3b19d7bf822016940559c1685ae93f7be27eb3e9fb49d7b08b0d5960a68524e60cc7561c7e61ec6049362aa484fba37902ad026dc\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 1e7a63b1ad5c1b708c49031647934fbbfa2edc1185b1096326c8430bf94b4ab4f0e9401a68f94cd6fbe2d23623210723e800ed878c9fb417ec64bd3f38f3f08bae77352a7d409485a83dacc9a79ee25526af32d93b3c702cef4f37bfdc7b295b7d243accb80c256c9ea350120ab7fa5ab047229e9776ef157b26212e748176be885752308720b16664323f65d83ce70de21d4e2e7d5a633784e9d18f58be6469970b52c009639ab9e2b024cedac4553f88e42d8012e8172be9fd4dbd3bea1887f065526e090c3a5e7f28b416785a0fd33c92937383f0570720aa6dab92ad7f006ba8b17c4890864313ed0312c717a2a5906a8f101b7c2775d9609d26e76e274728b03169d94723919e2ae5126caa2b6dd1a443d21d4e36512d06c8b5852dafbea73b042e1a999ff7147c49ef19eb7f41cd31794cfa5f65d9d0fe626d08b6257dd88bf0cc39113d0c0d7412ec7020bdd5dfa7e9f535f4f2799a06d4743c5769c5c85229ba5d0dc39b027df702c6fcbe728887b0fc0b606480d3c0e0f1326a46a7223e3124dd4d27cdcc48c7ecbf7440967c2e57319effe5e416de26e60b995ad9358ce8b863f35d56f69ebf6a6d6c0eec94c917a90316db70e7f105d171700a17c52c4a1f9e15a5274cd96ca4e872c577f43b54cff898af42720f0d3ad00d170f9c0bc35fdf297046f6c750b6d036905fdeca127e6f2da3f5add9ccf7ad819f2e\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 62a746655abd3d4963eedbf1ccb42adfd9919f42797c65d833ffc5c5177483534b2b46b6773d7b6b9f6a1a03803a2c85718045caa8995d0eef3d55c66491ed65aca09dab89ae1541245c2edef535f8ceadf4f74f1ae12ba9e922508b7bb157b38247441863aad682200e4da61b4b3c7292cb824158275d042858d15fb7ec4eb5aeb33dcd40f58a670110fa939ddecbcc9c20216b6996a43a3267b501a2d6f05c35a63befad8f6534b71448027183e45abd98dae878379807eb97aad9014a268b2d042bfa20b3559565b22def87bb0beceefcaae1a01f068ced30414501767fef2373fd8d8ae7d44aeee885462dd1cd2136e114a9e63085eba22addc0ade5887776eea10b594da2abcb245a03039fa151aeda0364fc66a12a15dfe89ad7678230194600554679e0c02d3c35bb2af054e2bd68e73fdc66540257cc10a0c0145fd17793f0c88d76670cbc62e0a56b98d82fe1f5ec8a85c0075763e1d3d873deb0fa57f127052971af34122b9bedc760b2e441939c33bf18fd9d49e2def61dfb3aac87eaa480a348bf32bdee4e7303d513203fe23165f39231b64baa0bb1495a868e20a4dc3dcdb4c643646c23bb1ce0a4088907ebedb6fe13938156f9811affe8288e13db8f45705229a31fda7476ff07bf6069ef11c0e19b369f53e99ea901ac8d4a1ba8cf92d74009583e00783add48b6f", - "7cd7d28429bc48c73b47539630b59bf\n\n# tcId = 35\n# leading bits of masked_bd not cleared\nmsg = 313233343030\nresult = invalid\nsig = 2f04e32e17a9a6991733913475f54cb18abe5cd6f7856a8cf12525f7a83127c20255149565983719e58b10c23fa70a27b40d723370bfdd14bad670b5a22b3446ed1473e8f012e5bfe70a1fdc1a7d826430e301405db72c815763e4c5486938de8f78b556648108eaeefb6d5a4520da365cf64ac69d2f0d2842b5650da2d06639032c4f90907a3164f67e0abc68a4bb86778d6f0c6f8c1585b76a73573deccb7010d21e959fc9189aee02458b8e353f12a3d98ccb6bac5e3a57ffe5b60af37b043fb58cc478ca9e249e94a30bfee4c509e150a3e28e56dc4222f9968ca8c62ccf57326a473b30055655654d3e700ea04756bc3f687707e0dafb9531706d06c30aa171e33550b66055adee33910aef573af9dd06b2611425d9d4820807c12f7b29a7fcd98c3948d5352e3fa8083205e13f075eed4e6442c0e3dcf68c765ed93748cfe33d758fee0e47a1977d0b79a755e731be22bb0c55cad80d54939b7a8dbd4c9c20b7369f907bbc2a540fae0189ab09fe62bb8defb479a913f3ebd167abbeb35104b2e3a75504b5eb58a1e34c991254e7b9115dc6fc0946e4d38e2c475199ba283be6b222cdd0a90ef0cf9ec98a3cf815e4d9ee23e3708b6ddaaadd146a802a53b57beee909528452d70170b8aaf40ca92fd5c3f5a7e87e93f30ee89881c7368c0cad47732e9b58f13e2d4873b596005e6344c6f030c9ed75bd65f273baa67d\n\n# tcId = 36\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 856a35de0779d33d013b7f7bf55de6612b8cb179058d490a4eed4acd8c213902d25b4eb5026c85b60e77773d3ae3570d037a087987267eb9432aa434ddf8b96379753d5d77b842b468af926b87a37b93ba313a6b0b0a5fc0028d68e569fb70c7bc5d29d4353c661fb1cb5e60340998d69ae7ff80ef5bc617207eb5648080265610b56d7b1037ae271e6e76f36b2ddf6d7ba35cb6430b21740ca0efd45d232600842acb225179af8765cddc356308ef617e130edee940e07c964517972ca94458e38f04375de2ca2c1de672f7885244ac95f883fa297d7e31f20b890a7d91758f57e9430c29a021ff5d94281ba0e7932ddcf031f0825881d3607cd3acc5ed14e517b61d2014c9d2ca6cb51e7da4ebe14341eea4c84d9b0b3fa11f9c9f6423bd414c8710cc82ec788f09c40634c3551ca6751af5e9fc966c687e170c5bd4358a4a34a8eac48f7357b2061d0610830bb7c8fdb59e5b9b55005a0cac3ecd3d6992971e64017a0d436406019d1d5fc3726c9c4cc811ed19d10114f61dceea8196b5b3c4015de1d761f4500b5182338a7ec0ba9369b44173ed699fd2ccdbd69f60b80b4c4e730f9793a2cb2c2b2d95a5156940162aff6fd8fe6dc0eeff643cec3fc5f75a9f516b0c422ec3938f4caf76fa09ec797b6088920e910d3d5d8df0abbc6bf78fff486c266540d74f9f55ba6aed8d21b71af65618fa15b94051b096b33a8066\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 6df0234e29b09c68529dc6e379485376e89da42727fc88a547560ede5c518af124882f393e10fea33f680e1e5aabc51158c9b026a454c152fe4af301f40033693006ec509892850bb0b569b2907f7afa8864a9895752c47838615cf0f15e0b139bf83127bbce69f6abd6356b7bc52b30e9a58422ab4ad68fc2c812b6554f64e5c158027fecbaed30f48e90bf005cc6f0953ea845922d847f30dcae5a9b1e00f3ecdb139a0f38baa31a9404e816a9fb8f13686adbebfee71985ab41de8e0bc714bea3270205bcf16d5b7e8b42cd6332ebce2aa3d9501d30af6dc66c5ad19ed759567d16f0a391839e721e7d04c5c7d23df660fb18cd1e8982b2ed6860bb1700c3abdcfa8853ae187cf32695db4252f22503ea039996ed3877b93bbf413e27990deeefea7253a0ac23da6408923617f1263bce559ba3efa1bce8164ddd282ec5c115ccfef85493abb23c1490f134a63eb683ab16fb952854b40bce433d97d98f0348aa658ae3bdec9f0dfdcd25cecf11a1796726069132726e25b9a9c6278bc010f673b49cf89689cd2de943b94125e5a7b463bdcfb4b4ed7b52ae32f71cb0ae2f0ddcfa6637871fc64d254f1ab763b76cd7f93017759c9c73656a908cf0c687eaf6eedb0e510f3592be48a814ed7a9b387da754b8161f1cfcc2bd9f7bed8391484c98d542f5bab86af285a646965aaef05387153b51c7a915fd1213a6eb789859\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 31e7df11d14b2fa289e45ca2cb36d568aa4470b5c6aa0d4bc0c10a1876146b876ff953e582b224adad6358998efc738631e44a34e2c1718f9d28f695d0e1b1f8318d2301bb3913dfd318707964e5a7e111e5a8765dbecdd90bf4e265a367216c6126869515c65d8788c9fd4842a6318d1323e50233cb92de965fc23f61cd8c91baee4013a1a928428ca6ed4db99eb2290c0d0683d7cc928d0cf252b389b64e67995249627cdd90cb4e5fefc8da61eb3e8104c6138e52f6710c136f7061e961c485eaaa586eed740eaa2c0ef879d2af5eca41a5aa1a2476e909c8325952a9d8ddb3b9f6bfa6495c4e2571e4c0ce727fe087ce484a038ecc27c7f0743fd93dbe0bc0386e4d025092d21f9c7d569ca0201d3347e71932e6efe64fa847655e4f1b01af20e0137160b5bc03a9450457162db68997a2df476175ffa040cb4818aa6be70cdee08e05724c8ce0174c6b25629c33e9aff85fdd6c438aeab60c3e939bd6deae3be1fc8beaef81b9334a1c4d59117863d7e73249f12a6a295bac6879a66a0935497040357bdb9ce0f2ebd7de693baabbf70ef76406bfe0e8a8a1edc183185a92b97547d50b10f24ed71a8a3d558ddc20f2b40801db842cc9a38021944d8b97e06e520f0ec22189ac11503a2d84b8291957299b8f1f45feb408e6c828ab97cce7c644b9fb84b8b5c3daafaa90e1c177799c1dd06fc6e48fd309d40b2888f4d3\n\n# tcId = 39\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1088ad6c2cb501f99bf0c545d84b526de3665f419af5e941d5940196470da54dd01f58f48ec6cc56e16b1e21573700e57341188921fbd96362ba5e377e051a1cb2025c0da7842409e8ffc5728b2df3fac115d79a11d7a13ff1906cb8734373e62af62dacd1e7412a89327759542577d720581d4b8a928ab01e023ee7caf33b9037fd96fc17ac43ed9d604b096c8b0a11854bacdc88a58ad8dc3105c748813b4d4109fec80a4385f74b8b102f02d59b36e6cf4a347d87daaaff974e0a1f09255fd49e584b3c88d4704258fa8c402ca67ef95d1f2757312a63f307302a31b021fe1bd2be6feb6c1d7895642e5556bbc96026a591431adbb2953efaf4b54f33c8c8b9cd06e23ca369e5bd81ddac3167a9eb280f060afad68295effd5687e131967437d4f9f97d7b46afe1271a4193407a1251c1075705d4c4cab5e523eb66b2e1f57789001075b500a3841b7ea7c130f37761c27097c9ff533832d201ccc243691f19ad4a822b7ab203cc477398bd32506b4952adbaca1bc5eeba7c565843e17e18257a7cfac8746218a2118b9813c655f6ff55577fe17ff6fbd6443ff307f20dbd36bec5835c6a41bfdc7b0afa12dee58b119ebfa8a3ba8d3e77e3841a4812bdbe163aaf5bfa05a305c158115227f569fa92850205abbd275f1f24f0dc5b14cdd405d27fad86f812d51254f1667724fbab80e6fc30a5f1ab60afd412fef8ac19c5\n\n# tcId = 40\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 41\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 42\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c", - "424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ec\n\n# tcId = 43\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed\n\n# tcId = 44\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 000075fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f44\n\n# tcId = 45\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f440000\n\n# tcId = 46\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de7010309093\n\n# tcId = 47\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData114[] = { + "# Imported from Wycheproof's hmac_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA256\n# Generator version: 0.8rc21\n\n[keySize = 256]\n[tagSize = 256]\n\n# tcId = 1\n# empty message\nkey = 1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779\nmsg = \nresult = valid\ntag = b175b57d89ea6cb606fb3363f2538abd73a4c00b4a1386905bac809004cf1933\n\n# tcId = 2\n# short message\nkey = 8159fd15133cd964c9a6964c94f0ea269a806fd9f43f0da58b6cd1b33d189b2a\nmsg = 77\nresult = valid\ntag = dfc5105d5eecf7ae7b8b8de3930e7659e84c4172f2555142f1e568fc1872ad93\n\n# tcId = 3\n# short message\nkey = 85a7cbaae825bb82c9b6f6c5c2af5ac03d1f6daa63d2a93c189948ec41b9ded9\nmsg = a59b\nresult = valid\ntag = 0fe2f13bba2198f6dda1a084be928e304e9cb16a56bc0b7b939a073280244373\n\n# tcId = 4\n# short message\nkey = 48f3029334e55cfbd574ccc765fb2c3685aab1f4837d23370874a3e634c3a76d\nmsg = c7b8b2\nresult = valid\ntag = 6c13f79bb2d5b6f9a315fe8fd6cbb5cb817a660687009deccd88c377429e596d\n\n# tcId = 5\n# short message\nkey = de8b5b5b2f09645be47ecb6407a4e1d9c6b33ae3c2d22517d3357da0357a3139\nmsg = cc021d65\nresult = valid\ntag = e87538eb167e62d7cb236690ff3f034a9c12d417aa8dfa694d7405f9e1f85fe8\n\n# tcId = 6\n# short message\nkey = b7938910f518f13205ca1492c669001a14ff913c8ab4a0dc3564e7418e91297c\nmsg = a4a6ef6ebd\nresult = valid\ntag = 01a93f4ed216d0b280896301e366aa67b25e6b6a5a6e84f291a13391c6e496c5\n\n# tcId = 7\n# short message\nkey = 1bb997ff4de8a5a391de5c08a33bc2c7c2891e47ad5b9c63110192f78b98fe78\nmsg = 667e015df7fc\nresult = valid\ntag = 06b5d8c5392323a802bc5cdd0b3c527454a873d9651c368836eaa4ad982ba546\n\n# tcId = 8\n# short message\nkey = 32fdeda39f98b4f4426c2d2ac00ab5dd4bfabb68f311447256ed6d3d3a51b154\nmsg = 4163a9f77e41f5\nresult = valid\ntag = 1b0103729f48c2772bb132aef9ebd6dd6aafc9145df6d5c514b233ee92ef4a00\n\n# tcId = 9\n# short message\nkey = 233e4fdee70bcc20235b6977ddfc05b0df66f5635d827c66e5a63cdb16a24938\nmsg = fdb2ee4b6d1a0ac2\nresult = valid\ntag = 120b26ee1355c134c262513c7922deb6c4fd90303de4cd61b9f9cd08f22d6e18\n\n# tcId = 10\n# short message\nkey = b984c6734e0bd12b1737b2fc7a1b3803b4dfec402140a57b9eccc35414ae661b\nmsg = dea584d0e2a14ad5fd\nresult = valid\ntag = 88bc2282e5fce47ec6d9895395cd47fff91a0cdc589a8fd56d8d344616533a3d\n\n# tcId = 11\n# short message\nkey = d0caf1456ac5e255fa6afd61a79dc8c716f5358a298a508271363fe1ff983561\nmsg = 18261dc806913c534666\nresult = valid\ntag = f678f081d83cf126ad6bd52c2dffd786214f519c47452b85a97458d0c10c3ee5\n\n# tcId = 12\n# short message\nkey = 835bc8241ed817735ec9d3d0e2df4c173ee4dded4a8ef0c04a96c48f11820463\nmsg = 26f8083e944bacf04e9a4d\nresult = valid\ntag = e0e46cd7d1a75b3d102893da64def46e455308761f1d908786628ca7ee22a0eb\n\n# tcId = 13\n# short message\nkey = 055f95c9461b0809575eccdfa5cdd06275f25d30915c4eb8db40e1acd3ab7591\nmsg = bfb7d6a08dbaa5225f320887\nresult = valid\ntag = e76d5c8c070a6b3c4824e9f342dc3056e63819509e1def98b585aeba0d638a00\n\n# tcId = 14\n# short message\nkey = e40f7a3eb88ddec4c6347ea4d67610756c82c8ebcc237629bf873ccabc32984a\nmsg = 7fe43febc78474649e45bf99b2\nresult = valid\ntag = aa57d020aa24ad823472c2b80ff2d0cf475f7de0068f9a59e8112fede53a3581\n\n# tcId = 15\n# short message\nkey = b020ad1de1c141f7ec615ee5701521773f9b232e4d06376c382894ce51a61f48\nmsg = 81c7581a194b5e71b41146a582c1\nresult = valid\ntag = f45c72603cc160c0762f703407844a7781dfe0f1ddf0aaf4ccd8205e94469aed\n\n# tcId = 16\n# short message\nkey = 9f3fd61a105202648ecff6074c95e502c1c51acd32ec538a5cce89ef841f7989\nmsg = 2a76f2acdace42e3b779724946912c\nresult = valid\ntag = 0226ee13cc05e2340135b3f4b27a9da1a160f6170fe805dadd98a3711ec9c421\n\n# tcId = 17\nkey = 6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4\nmsg = aeed3e4d4cb9bbb60d482e98c126c0f5\nresult = valid\ntag = 9ed7f0e73812a27a87a3808ee0c89a6456499e835974ba57c5aab2a0d8c69e93\n\n# tcId = 18\nkey = 5300489494ca86221c91d6d953952ae1a5e097139dc9cf1179c2f56433753824\nmsg = 90fea6cf2bd811b449f333ee9233e57697\nresult = valid\ntag = 5b692cba13b54fffc3adcbb0e015cc011fbfd61235303ff0ad2a49775083bf22\n\n# tcId = 19\nkey = 383e7c5c13476a62268423ef0500479f9e86e236c5a081c6449189e6afdf2af5\nmsg = 3202705af89f9555c540b0e1276911d01971abb2c35c78b2\nresult = valid\ntag = 4e4901592ba46476408d758435c7d1b489d2689afd84ceaaee78bfb91fd9391d\n\n# tcId = 20\nkey = 186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27\nmsg = 92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902\nresult = valid\ntag = 3fc1d73dd4a8858c1fc3d8c4a3f33ed5ad0c70210038394a5902cb26fe287348\n\n# tcId = 21\n# long message\nkey = 28855c7efc8532d92567300933cc1ca2d0586f55dcc9f054fcca2f05254fbf7f\nmsg = 9c09207ff0e6e582cb3747dca954c94d45c05e93f1e6f21179cf0e25b4cede74b5479d32f5166935c86f0441905865\nresult = valid\ntag = 788c0589000fb7f0b5d51f1596472bc9ec413421a43df96ee32b02b5d275ffe3\n\n# tcId = 22\n# long message\nkey = 8e540cb30c94836ae2a5950f355d482a7002e255207e94fda3f7ef1a099013a0\nmsg = d6500f95e11262e308bf3df4df4b855f33e857563d4543f195639a0a17b442eb9fdcc1367d2eee75c8f805730b89290f\nresult = valid\ntag = 39697e70ce741feb33dedc069f00b5627fd9b837d10cbdd5b6d19cfbd511dd2c\n\n# tcId = 23\n# long message\nkey = 69c50d5274358188cff4c0fae742243d4e8a5e5ba55d94ff40edd90f6a43dd10\nmsg = 1ac5255aff052828d8ea21b376f1ebdd4bb879949913900405aebce83e48feb6813b5e9c89f94501a8ade41b26b815c521\nresult = valid\ntag = 4b0b4d0416fa2e11586fbfa7fb11261e69991dfa34019b9893d69a2be8c1fc80\n\n# tcId = 24\n# long message\nkey = 23209b7c5aadcbd13f7279af1a86d3c7ae8f179d1bcaaad0dff9a15302e78dbf\nmsg = 84bdac37e1af35d9356404e2787d47ece58348dea76a4a46e8aade3463d4db8c94a051be3733b38d756984865d56c60e8025f15e3f968f093e7fb7ebc7e31189c5692d15ed4256737b9b1894e5809503aaa1c9983fb096aa21916361eeb6ef455b129723a1a1ddf9deddea208529a648\nresult = valid\ntag = 4a85c479d1650dbd73bc5248074a55ff50218bddaa8d1fddaaf44946dc19aefb\n\n# tcId = 25\n# long message\nkey = 7c9cc667cae175f448faa96647319633b2d48531373ae7d316c44ddd8b9f69cf\nmsg = 9233c1d73b498c5106ff88951e07b9652cb0ddae740737ec205c9876d094978bfc947f7dc937119fd6a93915b19b625958a7a22363aa2ac33fb869ed16b303336ab740a0498a2df66a6599da710094481a7b544bd955b6f97135ba4673401db2db144a6e287041e47a51ed9b6ba956c13508c1c0c25310105239ab73629e30\nresult = valid\ntag = ca1b80441d333909c2bb30769650055051ed20f17de8ee953cb9070af56c704f\n\n# tcId = 26\n# long message\nkey = 82314540564ea3ce30591e97f68b2602de40fa29f773c2508327471b8348e8c4\nmsg = 6a6d2f45cebf2757ae16ea33c68617671d77f8fdf80bed8fc5cdc5c8b7086bd28e7eb3eecc7163491104e5309455e67f836579b82a1da3bf5991a8e2b2f189a49e05700e46c409ed5de77780a5f389e3f13dad406c9d55675329c5c921f07034180937c0f6ef34a2308b6ff3e1a0e9dc1ea65f5632730e8744d1db2c40a6595b\nresult = valid\ntag = 0900b3e6535d34f90e2c335775e86bf38ee7e3d26fb60cd9cdf639eb3496b94c\n\n# tcId = 27\n# long message\nkey = d115acc9a636915241795f48852052e07b51273ae2448251ec1d0d0f9807f3db\nmsg = 696d2456de853fa028f486fef437b6b6d1b530a8475e299db3a9005ae9cef8401985b7d31e172e8f439ccd1ad1ec44c9b86b78f3f243c1305b53bc21abad7a8fc5256311bfd34c98e37dfdc649e7ae4bda08cf2994b063c0c7106ed0b02a1f48af9191cbfb0d6a953b7e04327dfe8c93779cb574ba9cba575d01674e83621aa0c5f400d6e6cd24b301e33c9f3303e73bf357408c1be86c2489c09de998ff2ef32df554f1247d9313ce1a7160115d06f4c18d6556ff7986ef8a55e2adcfa27e4c69c71cc2ff01639e9d49bd9ed0687f530ffeb0890132457df2088081bc4a2f7f0a9f4dcea2c80d991db7f3747a1803d7619aaf3dd382c69536a0bcdb931cbe\nresult = valid\ntag = 82f92977f0b605eaada510ffceb53ad75fde16a8029f1b75b406a84270dbb8b7\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d18b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = dab99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 32\n# Flipped bit ", + "7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 538b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38a42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b89f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42896d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99fa709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096c80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2708a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096f80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f270ba3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f026b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74972cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f824b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74170cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b45a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbf93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d4607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93834c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d7607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93804c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a955607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93024c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 58\n# Flipped bit 248 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1ca\n\n# tcId = 59\n# Flipped bit 248 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14f\n\n# tcId = 60\n# Flipped bit 249 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1c9\n\n# tcId = 61\n# Flipped bit 249 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14c\n\n# tcId = 62\n# Flipped bit 254 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc18b\n\n# tcId = 63\n# Flipped bit 254 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef10e\n\n# tcId = 64\n# Flipped bit 255 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc14b\n\n# tcId = 65\n# Flipped bit 255 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef1ce\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42896d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191", + "a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99fa709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f4df826b44a9d5607d672496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3caf4172cbe93824c1fa9b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 2c74bdf6927f0ba07d94bb562a9f8218db695bea2c0b5e573771c44625723e34\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 274660d8f65c358be8d3416c7db3e0d64dc5f3e163de427ae00d2d3c62410eb1\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 530bc289ed0074df02ebc42955e0fd67a416249553742128480ebb395a0d414b\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58391fa789234af497ac3e1302cc9fa932ba8c9e1ca13d059f7252431d3e71ce\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28a43086c81f55e836a45a8d4617ce62597a514d2f5a0a9c98f3ab8db8cc0ca\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b89e2608a2cb75162dbf92834d1e28b33b0d1f9d20bc841ef3d3c29cbff04f\n\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 82\n# empty message\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\ntag = f4605585949747de26f3ee98a738b172\n\n# tcId = 83\n# short message\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\ntag = 0dc00d7217bbafe8d78bf961189b8fd2\n\n# tcId = 84\n# short message\nkey = ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f\nmsg = 6601\nresult = valid\ntag = ff296b368d3bf059cc48682f6949ccaa\n\n# tcId = 85\n# short message\nkey = 73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b\nmsg = f1d300\nresult = valid\ntag = 2d02bd1c25b1fe52b1ead07374d6e883\n\n# tcId = 86\n# short message\nkey = d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77\nmsg = 2ae63cbf\nresult = valid\ntag = 4d9e8bddf9b7a1218309d5988aa1b0d9\n\n# tcId = 87\n# short message\nkey = 2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8\nmsg = af3a015ea1\nresult = valid\ntag = cb8a4b413350b42f4ac3533cc7f47864\n\n# tcId = 88\n# short message\nkey = 665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c\nmsg = 3f56935def3f\nresult = valid\ntag = 1cfce745db1ca7de9a1d4420e612ca55\n\n# tcId = 89\n# short message\nkey = facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493\nmsg = 57bb86beed156f\nresult = valid\ntag = 0bde0d0c756df09d4f6da81b299a3adf\n\n# tcId = 90\n# short message\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\ntag = 406a5c2bd3e6a9595f9b7dff608d59a7\n\n# tcId = 91\n# short message\nkey = f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf\nmsg = 852a21d92848e627c7\nresult = valid\ntag = 0b1bf9e98d0a794fa55c09b63e25799f\n\n# tcId = 92\n# short message\nkey = 64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4\nmsg = 195a3b292f93baff0a2c\nresult = valid\ntag = 71f33f6021d90858cadb1353d7fbe8d7\n\n# tcId = 93\n# short message\nkey = b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c\nmsg = afd73117330c6e8528a6e4\nresult = valid\ntag = 4b8d76372ebe5e5caa56ca4e5c59cdd3\n\n# tcId = 94\n# short message\nkey = 2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc\nmsg = 0ff54d6b6759120c2e8a51e3\nresult = valid\ntag = c580c542846a96e84ea77701778455bf\n\n# tcId = 95\n# short message\nkey = abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8\nmsg = f0058d412a104e53d820b95a7f\nresult = valid\ntag = 13cdb005059338f0f28e2d8ce1af5d0a\n\n# tcId = 96\n# short message\nkey = 3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19\nmsg = aacc36972f183057919ff57b49e1\nresult = valid\ntag = bd993e4428cbc0e275e4d80b6f520363\n\n# tcId = 97\n# short message\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\ntag = 86c9f4dde0b257a7053a7b03c7504409\n\n# tcId = 98\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\ntag = b96bcacafac30094f18ac5039e7b3656\n\n# tcId = 99\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\ntag = 6e597c4c3861a380c06854b446fc2a87\n\n# tcId = 100\nkey = 0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5\nmsg = 13937f8544f44270d01175a011f7670e93fa6ba7ef02336e\nresult = valid\ntag = f731aaf2f04023d621f10495344679a0\n\n# tcId = 101\nkey = 96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892\nmsg = 91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18\nresult = valid\ntag = 95243eb1a9d448174ae4fccf4a53ebfe\n\n# tcId = 102\n# long message\nkey = 41201567be4e6ea06de2295fd0e6e8a7d862bb57311894f525d8adeabba4a3e4\nmsg = 58c8c73bdd3f350c97477816eae4d0789c9369c0e99c248902c700bc29ed986425985eb3fa55709b73bf620cd9b1cb\nresult = valid\ntag = 343367207f71425d8f81f3110b0405f6\n\n# tcId = 103\n# long message\nkey = 649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe\nmsg = 39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917\nresult = valid\ntag = 151618eec4f503f3b63b539de0a58966\n\n# tcId = 104\n# long message\nkey = 7b0d237f7b536e2c6950990e61b361b384333dda690045c591321a4e3f79747f\nmsg = 3d6283d11c0219b525620e9bf5b9fd887d3f0f707acb1fbdffab0d97a5c6d07fc547762e0e7dd7c43ad35fab1c790f8047\nresult = valid\ntag = ce201c0dcfdc3f2bef360609a31fb19e\n\n# tcId = 105\n# long message\nkey = 17c92663741f012e5bb6714e614c2d155948617f10936269d954c58aba2ae62d\nmsg = 7fdd6a15c861d0313f6635d77dc55e115ff18c8ab063b5d03eab472eeca87a378188f25813515cf90b6cffa94a8ff36b29d65603eab3fbd2aa9500b261e184049893dc6ca2010becac163053f211070bdda621b8bd8af77e450268603b52db34c90be836dfebddef42303f724e63bf0f\nresult = valid\ntag = 76e8dfd94db4af9d79d9718eec46cb2d\n\n# tcId = 106\n# long message\nkey = 424c6b22606fcc094ae82fc5d3cbe484174c2211b3ec778091cac34a8e38a152\nmsg = d96ff062e2490e8e0c54c5a8b89e85b25a66d93d7c2b93bdfef846b70d38672746a4b988d08f15a5c527ca4f2c80e53f7c6ac0521bc57ebe38209180cbf934e0bbeb58cfb63d75da64af41d09ce174af1896f42522910fced35ea000402e95fd3ac7aa6d5e0a6b533b0879bc466019b3a5e6b16e4bd1ea6cdfc9ccc1d6f0f0\nresult = valid\ntag = eda709c7009714c372d0d6a63dfde469\n\n# tcId = 107\n# long message\nkey = 15d553c8da433d53cdc7f15087a70349caab57b379a4078928ce9b99302e31a6\nmsg = d6c0c53b73f74fb426adfdc143d70db7f7a8f8ed32a2faef263cf9ab117537b6b9d1728bd1000c1f28906c6ce6ad21862bfa4d689c1a8ebe3868b992098", + "b7f981b2af5189a6adedff53a6c70c83693f5c8d6385a9a8a4dca017c5716ac4d5b9765c5ca2ab5f9867e02795198c0b9527e07d08af52dbcb91ceb3d8b412a2b2402\nresult = valid\ntag = 8ca1402bf8fc23442ac2067be925b828\n\n# tcId = 108\n# long message\nkey = ffe559468a1031dfb3ced2e381e74b5821a36d9abf5f2e59895a7fdca0fa56a0\nmsg = 238899a84a3cf15202a1fbef4741e133fb24c009a0cd83854c6d1d7c9266d4c3eafe6d1dfc18f13845ccdad7fe277627b5fd5ff2555ce6dfde1ee078540a0a3590c6d9bf2fb63ba9afbe9380e797be7cd017645c5a3613eef38ef89e3b7461e6e700ff2b4deef5636c9d2198b143f797ca1820a3dcc5d462ebf4a8c4c09eb202a23592eb9524082c79adda8fcd56d256041a26bf8f523962ba911ce5a5786570d65be3c4df722ed8830302065febdf944715298a1fbb7d10b68d7da2bf889324314ce51e815c7fbf03aa0a8358aff3a86eb7a33f9a4923660db3047e793bebb0c6918f4395d400381723fdae2832c36efc8e368a68f30f6351c3bc942cd560\nresult = valid\ntag = a830b313f4936dea56a3aefd6a3ebe7d\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28b42096d80f45f826b44a9d5607de7\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b99f2709a3ca74172cbe93824c1f29\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d18b42096d80f45f826b44a9d5607de7\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = dab99f2709a3ca74172cbe93824c1f29\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 538b42096d80f45f826b44a9d5607de7\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58b99f2709a3ca74172cbe93824c1f29\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38a42096d80f45f826b44a9d5607de7\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b89f2709a3ca74172cbe93824c1f29\n\n# tcId = 117\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42896d80f45f826b44a9d5607de7\n\n# tcId = 118\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99fa709a3ca74172cbe93824c1f29\n\n# tcId = 119\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096c80f45f826b44a9d5607de7\n\n# tcId = 120\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2708a3ca74172cbe93824c1f29\n\n# tcId = 121\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096f80f45f826b44a9d5607de7\n\n# tcId = 122\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f270ba3ca74172cbe93824c1f29\n\n# tcId = 123\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f4df826b44a9d5607de7\n\n# tcId = 124\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3caf4172cbe93824c1f29\n\n# tcId = 125\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f836b44a9d5607de7\n\n# tcId = 126\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74162cbe93824c1f29\n\n# tcId = 127\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f026b44a9d5607de7\n\n# tcId = 128\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74972cbe93824c1f29\n\n# tcId = 129\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f824b44a9d5607de7\n\n# tcId = 130\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74170cbe93824c1f29\n\n# tcId = 131\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b45a9d5607de7\n\n# tcId = 132\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbf93824c1f29\n\n# tcId = 133\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d4607de7\n\n# tcId = 134\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93834c1f29\n\n# tcId = 135\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d7607de7\n\n# tcId = 136\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93804c1f29\n\n# tcId = 137\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a955607de7\n\n# tcId = 138\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93024c1f29\n\n# tcId = 139\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de6\n\n# tcId = 140\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f28\n\n# tcId = 141\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de5\n\n# tcId = 142\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f2b\n\n# tcId = 143\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607da7\n\n# tcId = 144\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f69\n\n# tcId = 145\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607d67\n\n# tcId = 146\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1fa9\n\n# tcId = 147\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28b42096d80f45f836b44a9d5607de7\n\n# tcId ", + "= 148\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b99f2709a3ca74162cbe93824c1f29\n\n# tcId = 149\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42896d80f4df826b44a9d5607de7\n\n# tcId = 150\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99fa709a3caf4172cbe93824c1f29\n\n# tcId = 151\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f4df826b44a9d5607d67\n\n# tcId = 152\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3caf4172cbe93824c1fa9\n\n# tcId = 153\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 2c74bdf6927f0ba07d94bb562a9f8218\n\n# tcId = 154\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 274660d8f65c358be8d3416c7db3e0d6\n\n# tcId = 155\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 156\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 157\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 158\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 159\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 530bc289ed0074df02ebc42955e0fd67\n\n# tcId = 160\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58391fa789234af497ac3e1302cc9fa9\n\n# tcId = 161\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28a43086c81f55e836a45a8d4617ce6\n\n# tcId = 162\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b89e2608a2cb75162dbf92834d1e28\n\n[keySize = 128]\n[tagSize = 256]\n\n# tcId = 163\n# short key\nkey = a349ac0a9f9f74e48e099cc3dbf9a9c9\nmsg = \nresult = valid\ntag = 3a8437b877b75cc08a4d8d7559a8fc6869a58c713da63d1d4b350d59b597e30c\n\n# tcId = 164\n# short key\nkey = ac686ba0f1a51b4ec4f0b30492b7f556\nmsg = 2fa43a14ae500507deb95ab5bd32b0fe\nresult = valid\ntag = 008532a53d0c0ab22027ae249023375374e2239b959609e8339b05a15742a675\n\n# tcId = 165\n# short key\nkey = 73ef9ef1a4225e51e3c1db3ace1fa24f\nmsg = ffad380d9aabb0acede5c1bf112925cdfc3d379fc2376a4fe2644490d0430ac3\nresult = valid\ntag = 9c7cb9f7c207ec46d1e3c55764731c4ab5ddbae4e1401e52a895df0cff4787c9\n\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 166\n# short key\nkey = e34f15c7bd819930fe9d66e0c166e61c\nmsg = \nresult = valid\ntag = 1d765ab9e29892f7bfec2975ad4bc2dc\n\n# tcId = 167\n# short key\nkey = e09eaa5a3f5e56d279d5e7a03373f6ea\nmsg = ef4eab37181f98423e53e947e7050fd0\nresult = valid\ntag = cfc19ec07902ec8be489606d8f40d172\n\n# tcId = 168\n# short key\nkey = 9bd3902ed0996c869b572272e76f3889\nmsg = a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e\nresult = valid\ntag = ac50adad9785a89c7282d8ab881dc615\n\n[keySize = 520]\n[tagSize = 256]\n\n# tcId = 169\n# long key\nkey = 8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd974e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077\nmsg = \nresult = valid\ntag = f5bfb940561fb4db73ebba49bf2e4893bb0cca618a71b7ecf6aca38231e167ea\n\n# tcId = 170\n# long key\nkey = 2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fac55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f\nmsg = ba448db88f154f775028fdecf9e6752d\nresult = valid\ntag = 1690ed4180642899e0deb9ec2270374e8b0a484217f5a682c524316eca219b64\n\n# tcId = 171\n# long key\nkey = 21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e5590e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af\nmsg = 7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731\nresult = valid\ntag = e542ac8ac8f364bae4b7da8b7a0777df350f001de4e8cfa2d9ef0b15019496ec\n\n[keySize = 520]\n[tagSize = 128]\n\n# tcId = 172\n# long key\nkey = 813e0c078c221375e80590ace6774eafd2d2c242350988d02efa550e05aecbe100c1b8bf154c932cf9e57177015c816c42bc7fbc71ceaa5328c7316b7f0f30330f\nmsg = \nresult = valid\ntag = bb6ab66f51e53fa086c9c61a26ca27e0\n\n# tcId = 173\n# long key\nkey = 5713343096b0aaf0562a6b92c1a15535924160475a4e4233589159728c562e3b2ad96f740c6a4da2bc3f768ce98c9bd66bac28d1646ff592028c940d455f35eeb4\nmsg = 71712de2fac1fb855673bff72af64257\nresult = valid\ntag = c18165b8b97db1ca5e2486a32b39731e\n\n# tcId = 174\n# long key\nkey = 7208afbecf5f1f34828f98b719414e280716de64f5edd1ae1c774153cd2022337bb20fade1b7856f1dbfd40e2b4307f1293ceff1692ee90d8c90b5fdf953ab01a5\nmsg = 43b53302b604d613e62db002044a4782d572ac8fbd3cd0ece91b43bc52e18e98\nresult = valid\ntag = 2fecfe45d79339c57dddba68ab34f5f1\n\n", }; -static const size_t kLen82 = 53222; +static const size_t kLen115 = 47894; -static const char *kData82[] = { - "# Imported from Wycheproof's rsa_pss_4096_sha512_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 8d4444ab233739c9d1441e99cb4f71581ed78fb996ba1257fffcd9e3c74ff60d6be352f002f959ff66bc6ed0c987a070097e5d57d8bd89b4452a9d2ca121eb6a283e8d0ef6f5f67875b6cbb8f04e6d242900d73d5bd7b59de4b9466ccbe53874ed422610e411fe3e026f47e47b8686b9c891c7226b4ca560a840e1734eb4f6fe877e559c9a9299dbbcaeebaf7eecfce6fe43ffbc483514fa3aabd6959e5aaa3977e23a9f97edf406d396e96c3c830164b10abc680bbaa6d99d19765d7c7e77946ef6ae240b5fef0249e7062792b15c8f9157da95971afb315c9c015c74a2e79ea2d0cc46992704872c340781f052b4b2cb5ded8f5cadd9b5e3edce128ef2354bd0411074d6515251f5231453bd530222f730ec736a86f721744267ba52652289ff6a207a5a7c45c20ec451948d6bd7b10f1af7282afed9f5df43e4a0d0f2e8fc6d3dd3130d4ff6fbc11f0ea460089856df29d1b7b111095754a7de9bc03029c6c397b6994674775fd29cd22ffb03dcd90c51096b18a6c174f2b48d50e94856f5a22adae64915d69c5528dac0345017c24e8aba401c6e9a0a268057a0fea237dbf0c88906796eea0d1bc3c2347cfcd812217e26015825e9f0fac404c22c26272443ccaf30b294c7c467497ee561a2a5f6d219973cffde9aed8e4486faa3de3d17405445e2f78a768dcac1efd01596486c2495f5bb1f830a4984041e03a7bcd77a\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3a58fc64a234dbd7be958d7c34abcba7d780ca636c4f2b2bb7fd3d4e4faaea0e17226c85debf8dc9b1a79e152a3bd83b13f43b1e92be81b37e908d04b717251e32a2d49e2cb5f2e7dc18e74cf9fcf0c0e246d473f76c79c3d50e878a2f89bc4eb6ecdda96c166d6a825a1df569d11384a78d7052782ace5878c41361f148c54528288088716f935d3e5b5d556a0fc9b62c0de31d9ddf4893f82365111043ad7fca010d1fe9187bde48f78cf465657e184857451d64564a16a166743870033e64125ca3f20ba80c065b259666871fcfcf71e711aa34cb70ad9a2ac6051fc02c96149d4e3c1741c4d44663ee0b49e1ba60a80b4c2d389ce3ba953d68bec835432bfe170429951f82ff51f408aff052c934d51526117b3d57ed1f2a912b37cacdb5a980d30d223d79faee7948c5f4986c1df5ed42923a3f4342da02a41872db49aa09d2d48c3b3e1cca7114a9a34e76b747ae6c99141c9f856e41d98456b3fde7d26bf842d6a421b3d4cceda4da1aa4d1298b624159a1c83b6fe5cb89982eba5e7d6005489d39233f156817c00c04511b98463696f8b6b3962ca3f4ef76b37300dda1d368c237250baa057e38658882f482d024c26163dc1fdac29904bc6424130837b8928f764bc939f006913ab1e968c85016dd812dba264520e6380872587265d827557eeac6498db8137dd2ae029fd83250ab7dcd764d018ca05ac9db8f95e2\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 7c838ba65f923660aa4ac47465eb1df4df51d6fa2be26389757de8c6dfc7746aa5164d909b69b7c04758d256e13e3520e77e75b4094d8b0d60da0030b9c991969f6e892ff03ffba9b9f95ca991a279e7cded611a2879e6e6602f411a122c8d11cd333de5d2f7f367e38ee0491380e8796e113487ec7bc05ec1b1261aff871ef82cdd12f4e3d8f239cd49b2f53d57255dfe6ef29038831cdebe9cb1a76dc9ed79578e129b063724ccb3c7b3269f5dd3d9669a405582255cb56b1efe6d61a376df3a141014c3d660b66f9d1b266b5fd3c5472534df778e6e022a8f5a6cab501dde611e07c0c8eb5718962692e8e3773bfd25f1d3b63a20a251ef0c296f01f4a17814e18dfc029f2ed0ce073e83777cff44471f9348434fcc12b0420bf2de1c9018f0282ee21f09302b178f8c772c8f8962f6a29291c63532e1ae9301e7ac55781876965f425619a92559f33737d5e11b282f9434e27d9b27eb2fb0fce4e3e90ca9eaafef170644b00e512537bd779fd2207ee73020aaec07e6cd44103a14940c9499b013c42440d2f27a3def34f3509cd8631db1cc8633ac15180272c824369e1d3c8a6cdca511748361cb60e022173f95ad06e7c79d59e03934854a9f9827f3593d87c34d3fc44beec58e107d454ce04b55c96effce612aef0e5d55c31e367c9fc0166f2c9d450e86d79323d4da8fb409f97adc7af2ec6772ab290f622fe1fa61\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 3d90ff4e36188b451116227e189a71734571b72cc6fe53dec4eec59e67e98111e96fcd906509fade9922f2de6a13a4faa23c7efaadde6dfd0acf150541eca973c7e38a49c597d741e99ef7575b6e2c8de0974bc868a5567f0890052c4df54d12198ea09a12bdb2b6ffc14a1d874e165ed12caab58b28aee171fa7f1839e36e23ecdee2633616791179084eaf98cc23d2f6ff479df0ba46ed933beedf07cc0cad4dea0f", - "0b48f4a063488ac67519e1fb83c7b7e86e3644b0846383ecbb1b1189743036b271fbf121e2199601a3ffa8e8cab00a6b9b5527d62dc2a398e4a42c1e5a62f8aae35b629755119c54cba5e860b421845f9b4422f20d896abfa962ece5d116f7d4170db8dd0784b7625ab2a384c7d424c69901f59d03b144241f8f6556da8e3bfe07c17eae91c50ef2c53e71072c3ff16e642cf126feab904e09a2febebd282a2540389bb60b145cb332658d6a69e03a0a8419eec0f204d6e592e04df01b92f58236989b6b92eb0344255914c25dcd0a611c9fb77e435e2ef9bbe3c74efe144171ca95d1bb7de814f76be54cdd8c11db8af8d20af4451a4dd3b62387bac37cb79755afe91d0d9a2163d299ff61ee4fc4d5267eb8c5252371b0a83dea738f6383e085e992b3567ae170780f3b83e15d895ad4ea668a6304f10f0914ca3b2900fab1364c8b352dfa8d5a3993d5628f4d2264c412210798c18aa2ed6aee516c\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 07440a61252a8906a9264ff58cebad6217ad710833105369b7a858216f1d5a5f5dedbe3eb8128b34dc0f0243faacb64034d21b656a278abb26ced174f76a22637b755b768564db6ed4e4fba0d5784a22be30d088fa965307430982f84476907d55435ca3d4abdbf689e76f2d4b78d99bcc742e0b757b897c4fdb13d15c5057e6816e32c3e294a947374c998550173cc657ce33f9fcc18b2d14e1b448acaaef683ff84b086f545a05414589b1c23210290ed5ebbc25af614129212d3853ff728ec01128d37c4268975ef870a1e4fa00c3c98b39c3110c2c11af10333e25db027448fa8f219a7dca7c8bfb490912bd5040f1f348b2fb437a8a9f407ab7e8af1c6e29594f557f2e03fe74e4fbfd2f935e68ed824a510fc39bb4be0a2e091feb265fd2d7a33d2f238e70b153700f5bd5046aad7a6fc02a5e23dc36f67278fdb904d05f2efd0cabe9e4baf4e16af0f7ba9edad706d67c67221ca0630238d6f688174d66c1b152f8f921e2c6c08a19e870eab76a77371b42458dff1c36b0ae97b811e900f6c09e792c89644448f1d0b97b53b9818d1d8f3d7a37bcb1bd3e3a5bc022039f00a0ef7de19657c4c9e06daa2ecec2de30db3b7b84107bb74e164956eb26edc9bcc57e5e1c4ed875b02f0545383602faf9525f094c72f682995d4e2d71d03e11134495f637a3b1b022153689751b63521b1a16b3c3e269a2499a4be1aff9b8\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2686029fb11cd033724e57dc1835da4f9321eef330747c3500a4893586429ebf02cb4424ee5a0b91a70eb35cb05ef60cf6b3635d4f2ef5eb647f398fd44f67fcd2969b629a7c54f1094f9827f9f27457509730f50c9ecd2dc83bd13f1268d93f0f61c29c5c27eb821c68edcdf1b01f79d1f261dd7f2f283db197ab56cae0ea3b3c1cfaf3fbd4c1ed1f6d313f0b919e5fddcb97b23f0bf64e36bdb6f7cce8ad9cf362953e66c644f8b8b64bddff1e850298f5531f121e6821a393f9658237280c2a53c7c658319bc7d38f93f2d7723ef6728008843f89f61f7ecf5949a2cce6a9fd9dbbc501ef25a53ca02486b61a5de0130149d9d246925f26e1a9a74287439592a4554a872ceca53e54d1c1f4c4e18a4977939a6c37eeaab5c8d0cb5686b44d84c86d736ee8e0d97421f4c8935e926419dd68fd4e5fe9999eef75d0d0f9494cbb0297fa066b3aaca55cc229a36659be310c1e328d0b52f7747c62b1102a2d0a4acbadf0acf621a45e5695ce1393b3eb05a69ca5318e6f6b7ae5c4ed3f6072f8ae99db9af66da6a98d675a35acfe0a7612e9d5f29690870d81114279010bf7bb3d458f630f10f81a785f671e6735d7bdddf4da375d2e6d48ceecaee741a33ec1e8f9e0ce0755bec28315c6f9df363c800ee147bd412c5ea7aeb89e7a354fcd3a2c8474aed04f9a2a5fd2983380f3c00a4558c46ca472a4c15887c07d4bc8a698\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 9d1925a05f0e28592ed69d6951ff5417b240bc327ded41b460de2fc3a0101bb89d6badc5bd50e2d1432a57b7bd620646e923405253e93c7f2550c0740ab9657752863739fcf89d492ab1cd8ab2088f4ccd8848c4eaf95cd5e7240872472f35cb702341c6965c0fb7b113bc45d991cf9616b7e200f2cfe79201babba3455a60cd628678725c49958282a2c751e0861f20d49a4294d59c3cd33c6ab0b6d02121f6f2c9322b6f9505694de40f9a98f628edddf18b9dcad1cf586ef22e7000cf09582f80f0c377955e110c93dbf9d7938c59a0b7fa283c2f3b186c21e070da5bb800ec622036906306229f8f965133df82521f454d900a01bbee1aefce262b1d8d9219ca809c699e523c5c7204ce45c91fab1cbfcbc1930c661b8a3da04e29d63794a65b1a656a7870c7974bb785fe49dde68118feff1dc6374032e9225325c3e3d312850d0ebba0a5aecea061b5d61c8f13f9f82e6cecf6667278da4ac38ec4424bcc0fa6181ba1d63966e473157c76c7d007f2a0f01eb4efb54cfbcdd1254a871775339354695618d791ffa8d57fedffbbe568a5b848b7fe037f8002d96c478a21313ccf42e5819478aed99f6ba834520ac2460a5aed186a96dd9c90754f9d21bdfcd2635bbd11e956341d0284b51e352c79a7adf1748f2deb2921dfe6ce8d36aafa35cdcfe5917113d0c29cf29478f9000a0c78396cd891dea0056042711c0e54\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 2f19362834eb20e169132d1ba73bfe32b50faaf9c413d0b2ad578e263cad266a3144835b129648471fbbbd4bedd9668d6e96d4c0d0b95504a8beefcda6b9bae162c2c1bf53ba91d9e1771f46e60c0c1d356fa166a331d51ea85bf270e7cec459908f1fc29bb6b5f216eb9f5f453d29fbd486a03355cdfffd6d131f4a027c9b179ef91257272d5a383898b864732edcde78e5cdf2a9ec9640e9500ac7bb06a7b1f1e947ebd468815a56a86a6f747e806cdbfb81d3fec3ff66af0fe5a472f559ac05b2613ada9e40587d75d98c1368776c696ded9c0b34100eaaa80f2016a2797ff0c0090e4e3b042943436336c8fe72fb5ba9c4b5264d97421582e0e859b8a46a083aa75d7b8f1137fc7d1703812f681f615804385d8f533f0f4f8c21ef3921f42be0f2ee863480d72dd8a4d78256cd4f44ffd62526abd67d2b4393328d41e45f569235f091bed9e2c72b559dff4af790401c18b4af71613ab53f1d362f3ff2e6b0d4c181ca051f88087ecfcecfe8a4844f7f99f624aa43a070bf023d28eac88368e7e8f7c2357ce63728820422a48ec0970566ac96ea714422d5f67a28f5b67ea9008dc95bef728c51c8b5d83d59f92c4169dfaf232b4926c9b59c5385fab598bc6df7ef58b88a60462f2692a8abb9f8699169094b1971c9dd6e90517582721f6e49f5af1e94d9bb0efd5a0313968322d86a2e2aa2e91ddc9d4fde0a6b612740\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 88a4b39c219e6d7a7155a5e38eb2bf76715c540c817f5f7c3ac827fa34ac202c7d904aef8d59bf449154fdec535b45e1d0a5e9d31d4ea75ce4e6a07e2b7b5ad61181a2172f220e4a0679857eb2152a3e2aee3c5c0fbe8e518f6ae410cab5ce861c66ccc7f72494b9b0f0a06cb8122f16776ba7098139884006a08a6f752948b677f1bec1e867afab783f03507c5a4a528ba2a2e0a118630bd93ebaaa96ce378bac92a9f02eaf0838636685cdb7be2da6bc6438cc84b907b4c927eb1df22a3242e4886bd74ef7133e37708d3d2528ebe39e9c051a217c6c7deb2e6a87b905abf4ad4326d6a830ccbf2c3044befbb9100a364ab897a684b472104a1f1484e39c2f9ff3f5b8ead0fb813e3d54673713f1909af085359c881bdc7b82ca9f2f3c1ddf3b17f796496d29b62e1bdc7eeff0c65b78b4ae81fe7b397d02fd0e74463b3cb68064aac87dd0aeb36248c50974b066b7864924f36084e7bcf462f08fdfb387c803afffeebc9f0c317c9882713a50800e1250776720d1dba53e5c1dd3e8b176c6abd051bcdc9851e7107417f06c5cd9e8853f75718dc6386a7f4747ffaa87994462fbd9ceac6b5da79f9dc5c5363116a308b4c20e673acc5a4aad3fe7f427ee1c08ade6eeb048cbaa0120eaa3a74ee39e5f9e39dac10d5019f1d115dfbe051090037503a63229c216a6cd4b6b4723340debcd812c13edd4e77e66380bac99dfb0\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 39a5d241a8c6648f4f3ffc5224dc31585e22a58d343cf227b405466ff8f8d5bf553affe12198e6f8515b05d4f6bda0fd645874676d7bff6dd67345f4a1aeb21adb43abab63c3cd53f186b62a1d44d2cd9425cdf163bd2f90cd190329718c18e7faccd7c0f5f8547d74bb9df9890cc8c5a84c6f8fde84f4c8e3409703196a7d7466afa6c0edc728f1e513fabb7df97172545ae8c865ce95dfa81ff35870e71b1067762836a8dcaf186c9fc7e0a633f98f7d32ae10b2a6d962f720d6784e64c04e08f8dfd688746daa69bc70f652d1d6f806b0df297f655162809fbed4cf0e07d5ceb66fc5b2fb89abc4c2abafe325eb4617a2d244783f70002056961b26f0c2dc5a7df3e883bfe36310ac3ec92b71687d6b6bb3d11378f0ff85d98c6584bf2d2c317bf287e95537d0314519bc6b01798c26b3d942d08194dc34a884d62160919db67df95fb9bd4d917d4cee73f88914572db84ddb3804984c2da20eaac9bed684a0bbc224dd623e527255fd27ebcf6435292997fec51b55b73dd83decd002c348b2025776f2031672a15fc62ff857938e0cfe4da61f5f9e0442d4452a1f7c2687c632bfcb143a544120017e26854ff6a3e8d597ba4fca595984fe1d38a9199327d12fcdd38663dcc7d1fc7ac6d7845022de5336f9e570a6700f0c5eba0ee68c4e75295f69b76de1455406cc6b285ef5b86729230ef8781fbe63e0bd9c82a1064d\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 3ba629ef8d7cb5798b51fef0959cc00b4ed788f6f37b70cfb16d68b864ed1a33ebccf4890c78970695825e78b3f219811e928d27af0d389e4b75624a06c7cf2174e2a9de6e87394f617b8fa0361a490dd45b9cfaff13b8b807e5ecb0c1b6464228f1fd968b9af8f7a63fad9a7fa53bcbc633331d33b4d7c2bac330354324365c0616bbf22bb9de6a5df5570150186f517ed1b75433ac186ce41ea4f330ccb6fdac5f8db5f63e37fd3340631f7e4c0365b75a0b2a9d790bdc6a0ebf828c84a426fa9a7154cfea1bb9450a8261e0cdfacafc10ce08b64f941c3bc23732a4c3c43c6126736d84033365bb57b3587ed98c031a85325a15ec6642a99cdb186156993ccae8e36640419c15287e7b7c0518376589b93106c434d67b5a5c1fd34fbc569a4e4edfe06b621fe3bb86efb0fb15475db5477f6f9a85d385dd49f0cf3c5d4f853d0574991d1a508d5767df9219f8f15e4760f049c84938d4dca1445df3d15f9f42191e34bdeb15742050812b30a509d4a2444dce219f05d0faf11342bae72dc3f", - "5ab1fd2f25b507d7d7e30a9d4c619ff587ea03d471c8d0306ce89ff3a8c1b2d650eee83308a9236dec87e0af54c74f402f9cb84379aa6c9586db66aefc94fbde391330fc108569a0b9d0b63c974f333c34e881494e02047b19102772a61f89f19622e0b8d92dba4acb19d395d6170dd5d22220b5e678d2c9c9cc7c843a195be\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 9e591980e9ec3d62e2edc3163ac8206fc09fe026a2f7e622dc5a6d02976d30ecf141295335008d91a223ee98a143541494ccf7cb06a1aa61de524fb5bb4b379a67ed2ced447c7b395c57a625f835dec6844c3b67a85aaae10e273d3902f5f30539711f98d73f86beccd798b98541a84a03ccb3379e8eff88c19c88aac7b7ea99758194ffa6660153d4f22c1252dd1b7b574e19b3492f28cc097d3ee3f30f6b88576bc6299512f9f8749e0b297295bc275ca59f8056decfca9f3980e6f8d6e07b73e1a8ae8b3847556cd67ab77b96618979ed37744be2d6bc9f2b671615f1d4c4c1b419f05036148182ad4c6375f9e3c7cb37bb75d16c4486e97c0ac5685995cd8e5d76452934b26105be9074b2f8daeb1add13c9b127dca2858e5c80e686791a6f98cd98e540bdf27d21b2dc9fc84e09561df968d73c190b3081293d666be7d991761f4722450ac249a6eb4bcdf190c214630c85243a6c5970184e257c00c5a2a18bcd20195fd041887f001e06d4a6049e210cce62356f99853f3da2522d3d63739fbb2ff315e68ab4a05ba1e29e5b93808df51aeaced52539d7b956db2f229999ac09a6d4c2ef8714ef9d4783f538559f29af9d850bf71b001f231270874fb8dc60f1d1554f60fa69cd657112530e22563fcde26c3c86137e476a2fc1d8ba4a15dda42d4d8a20fbbad7586f472b716d6ea2ee30f1c111bdbb3db8e5e2d933a8\n\n# tcId = 14\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 23e198d582d048874ce4e6e69f5a81234ca08be1fc9cf0f7be05454997fad87da8f05c2faf7285a7a9ca7aa50f772b8175479b7bec85919162b8a7eb7cd4c1b8f0aaa64a8f371e23ec2c3428d7d83411f24bbd4b80762a75fa0e5de468a71dbe9bac382b4072241e3c7085ed2b9e72ec3779c1f70bbd0f246834f3e81ebffee13312d133e1ddaeb58b84d1ac1b441f311ee1e2c9693e300862cdf5b4a5d820dfde870da22746be0b12dfb943780c0ba928c657c54bea0d84db37fe50f0965ceab905f2ec3ff177421b11c30e846ad93212485e7f6e52d7d51af1c96f31fef174ab38cfb1b1fb5961cfadac518a6a4991ff2d561a7d8dadc5ad430c94b40c04a297012f81e6e84ca02879fd82b73744c4372ec02f141ae6c4ce75595559f3f4cc9e4b7a7a6d93636487e34938082b3fd5f09366a062484d1820586a720a9618ec18d980c969a28d74c81fe4fe7bb61986769a89716c965a7f056aff60e9175527778210eae23e53e244b973b2452f40ab375222621a89e1f5f2abfe5039708f2a659553582f760f0d264f854840d069e8c4db0246738af1697b05980c1f53a1ba4eef8e08583781c13a93d03eb19db75e71bdd0602b91908a885b41f0b8d9588d6e05796c8a6f8d220922ef9bcdb026af9bb328ac7d96d4078205ba1abf00eea45b9c260e3b55da036864bf5bc0cc2d3944fdbcc7e64539a45238bb2061210514\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 0147dc7e2712616f76c84caaa47f17f267954a0924bcd846fb3389202c059062f30b786dafab71fd7464caaec5a968f75b20fda1a4c074c89b2732baee615c6e88d1e2e2fad16bda01db395df1103e0d1796da2fdf9d9c8c1c776578e8acde7d97808deb83d0c4e5115de538b3f5a48ead7ac6b5076b12baf7db4aa68a091174020e5e4adf275702020e6eeb9d8c4500170dc5e2171ac370763f7b1000f805d924bbd80cec120446e9be5669181a8e4eb033ceac5278e7b80ddf97d1a58737f072957a221fc27cdd18aa0514b0811e967d5f0eca4f2553dea4760299c4db6347c9070759809247c48d035cfa06caeba20db6122cc70f81647e93f5fe63c4861f637c3623354f9c2f8bd2f9906b0860d0c81c05a0033d966323c8319c5633f537b9180166a2f15502b5e06dee09616f2589606e7229a0e6fc770261abd737c02cfeb833379d0d5b850a39d4587566dab90ca7a8331654532b589ab7aa20376f355aecc03c2b06149f2f9b4290d0ed304eea6947d235341455ccc04e91e3c56db5d1b74928c3451b5a9d3ab246ffaf7773b0d86f35400ad2ae02ec761ae675ba70d1a8dfceef2a8a70caa3e4aee8c98578bb8ef5a8e2570646d1e62ec2fcbef115ceed2c16cf944b4f175ab0899dca124683f3bf00dd0dee74c25dc4cc82e80d10e9a941845d9e174dbc9844941738eb22076a9f6253cf604d62346c14663bdbaf\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 315a9a4ed7b0ea4db96b233c62a0e7bdd725da924ba2ab8e2f20ccadb2b5256bca0308cddcf739d1e6b33a859f03c550d65c78958f0eeabff625bce6c8ffe38b60afff13cf33866c35ebbfa85b70a3c592f74e47fd97b07f3a7c4f14e26e7be666ff64cfbd873cc06dff82da222dc135ff47f875ccd695ca8c64572a97b76ee7c772d9d07e4476fd4e945ab0146ace3f0c2fb98c34a066f053d93480d1c7725f858e459b0cba699093e8c315bbd6d1347b608b51906d44d49f106ed866e230785afb2a2002b82305bcdb9927ca266ae641a570d0b58f344b5e077501d6ec2fd69b3ebc80d7dce55590f4504fa809178d92b45aa69ec1b28fb69197991ef33dc9f4cd661fd6ae74eb99dfdd1ef122f12d04f7c7e624659fbcb2b987fd5fd25a104d735acf50f3ad070333e9cd4e659aaeb5dd28c86ef0680d0a6b526523e3e5a04cde0fa997c2a4a4744cd87170971ae3d903e0c085b6e62f8b715df76c7779a729c5d92382419804eb32b23fe4fcbaafc58ffe9475710e789a09cd9c3b8737032222d92d0a4cdbe53902d167d49f41e60c94ba8ba119499a5bcdd3eab544cc6226389c732d782c69c97b56c4b701a6bc032079150ae1af8a7ce5e0ac540781e84723e076911f4cc238e95689ac12d05676cc6da9219c491e2efa2af317407b5846fa852261181ccad659911c19931fae0f7e70e44d2b056a2f63d2f6983c9502\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 07c9a0c4ec1ec530aff99c7add866e0d065ad0d4b8c04b1937fbd821a204d11f47f61d934105028abd2f4630c5460d68ce33a02a95866f6b58bf6b3cd06a82e543620cef0e4261083c672f2289f3779bd085368d75a0ca002427b0997e1b13f0ae4e2a32d475c0ab3c7088219708c1b774577db73ddae7dd22d32741cc3815029596c0f654c45d6795d47b4c1007d25e026536124c121b5c1ad7ba59b8cc5ac7c288ebee89df9a7385676f4c928da96b2216505c164f527b0c85e4465809a2bb834d47e1f8221d62f4bcf86e92fe10b11dec6b0d8aa34cbe1a8fc43619f99971c85dc3eb4aa091a76055c41151964b5d65f593efa0dd6a82f076b60a71e11d88b40c5c5643e9fde6c05341d2e32bddba6050af72e8583f8ccc2605e7596f7206ef7b9b59829d911a9b5199d4438f642d2367d28b5d4be12cfc5280402d86712b6eed2ce2ebf37f62bcdeebf989256a1e19dde38f32e3980b8fac73ad9153ccc0f140c96413bf7899d8fda510d8315e7139e8f749f8ecea99afb63af081534cc9847d81e520b926b8f0bf1de4976c5f6de8b7cbbde644158bbd3807bb9fce36339a06d930c137230f52fbe546066bf6064ecdc76568d36ae706252dd4a9bddd3b2567ccdeb3bab11bbab3560507b5557a9c66aabf9e2cf3e42e3691ef77a3b29889a1b7e7287b908f1c281cbe2212a3d980bc3d312819fab824504167ac01c418\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 22e1bb23c2bef81ad373284aebaa714bd1a9aef8bc6730b66e73ff0f6649a17b2a57b3b14ee4dd0362f659b69c1528907ca7ac8a9e5017152073b06491b255a7d5b8f6909c18583d8d118ee32d3c31d7845c30c419b518575b47b6c632f2102c4fbc73c2ae5920d97587ddcb63eb922cdb68c00ad477e028049cac752e4101c364e11c61926bbbe731a7a09cd30c376ced8084bd1e9e7532793300f5d063faacd167f014e66f424a50e2329091a63861539327b664b019124fc3f3131c567426036b55ccd7a5e37c3cea52ed02ab9dfef0d4c08735d04aa32f11938c18c7ec8c126e90793f6f5462366c869c7178701e3ac87e68d7b8aab57e5750b798c89bd528edc2474627aa5f087682b9b652bd6d61455a2b7181e0c2eff78b89fbac1a63691a3c94c873d8ff6969c754d62e1d135e1a69276f978169ffb5495c6c26f77c9a9e9229d436abeb0f635ceb786e5ac52cb5b57bf6f0778b62021c5ebe358099a995197712ce187cfcf60da15c04382d2828b6422e1959445be219e9aad957e050bc5214e8b18e916eb5d1d6f7a7bcf64291f51922c5c41d053d50ae98ff3c3942fbd55168bb2c439835f79d1fcacb3b8f1e40bcb2d3eb1db774b07822a4e6ffd021a49fd9eeed2060a79c3674c7ba5f7ef6c909325bf53739da9b58c775edd9ef54d625f00b99bcbc5b2ff2934769a497597862c818428eada5058e5e988f41\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 960e2cc16879708c9ae7329f118b3d9c8c7512f54411c7912c18e1b52fc9b644e72ab9f467c78069e2fd0156241b82b6677e34b782b7fb0094c67adb4827e050b0b3fcd1a050a6fc4e7045b3766dbc9a3f59116226ce2a2e4135e21697bf4560a32b385eb438e78b9adea06a5bd2fe268a1cfe763be160d0c5628fa009c870deb70787d514a78da0b505897afbf0905c3d9c2d849f8bdedbac1ad26f6fc34f74fada027f49972b33d03e9d82b04834a6500599d12d524473b4e8a8d1bc8e4402cc1e5224f62911cb0cc922513aeedae57de13c037b527e36771d555c27ad4c92359dad0f4617b22fe672f01f8967ee1d602f22fd40b6328ecd7698fa1bd8fd5358b5f430ff37904d607ddb45ceec4e66f8a4a12fe24221db24624457589b81159869c26088d426fad0a853cdbac650f4d1fafa913f98069a669e2f0c79ec84ee727dcbcaf233c7908955b98d6b5aeefbe8158b8e8e9ba60afdec7556f4278a78a84c6af3ff4c4bdc7ee06bea762db57e996e81d05ae3ec62e8d99a419c1ede6934ad1b6829d580643e16392d53d268ebb1f225c8011fabd908ce7e0c7b865f1e75290935b27a236a51f32ab43c827e249321cab4b202e02c09a747fd06468dd97906dababc0ce4e05863110945233e2138f5f8a3e4b994ac57424d9a3c1c7075836103ede5b63e2645be30c640c66cfc4ed4b26e76efd8e02f4de24699161c01\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 492af926baf970e1cafe0062596f226f8b8c38bc1903a3754f83745cb321b86671411b9a96ff88ef68119ca39c8fe4599b703f6776151ef78", - "44a9afa23ca63afa99b64721c1904329eed182a3b61f6e267b6d80f7af5b8a9a40e32e5ba6c029133c73e24c07e64a9343ea8f9b7f6658ace44645ae2a0c18ead4969f73f6b3acafe5b64d285d8fd38269c14c266c1a67f9ab1fb83793352a29ec39d847f02e1903595c88d8c64965507516309b77185a31971dd47ac47f9d7cd04ca1a33e5f61a0302c1dca998723310e0bf8af8bbb42128d3c2d0c4f90139a78bdf3ed4250c2092cf927ca137ecfce6994a6b6c12f840e69ab6855383ef93c33b93b984f5455eca3060b22712c6e82e05eb204bfb77932d7f1f7f0e9954268d801523b1649839cd6b4e04c5c9ed37b56d843aa4f9d546bebe4f2b56093987c715e784c15e6be25e8af454755e4fda56b2b8bc006946dd55469bdd9e5d5843094f78a9d74b192be98dc072da23ffab3e8fe603f7e467792948b158e84c98e8b600c97f0310241310955ce99c65f4910107f4ac96f354fb6005eab9c9f1bceaff68167bb6f39004d37df3b5de71ca13d0bbe1a2420843ece44bd3f5fca845563834eacff00fe6a16972ba647323d637fe8da1e2cd3eb1db2158efd395ec65ed315aa229a7733dd70b741c6e2857334af80f392460c1a5563086f0190e15238cf41e74b76eeee525\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 94987f1aa4dc1f0a782ff78af1da6495309e247f184b683ecb3ac5f2319ac6cb324f6e081c69ae33d2e8bec90862739187336d1133856d6ff47fd00296e96d9be845a4d606b9974edca34e36cdd19fb0e61ffd526521228f38c2874e99ca8e03f59269337b761c822df212425b38fc853d998a0d411d05a675f7d6aabf64c8068177ba8fb8b36e18df86e7f6e91368f364d7eb91c4b5878a1e4b610d089bb4fe2c4308a3a0610cc3070656b5d2b2fd636fb2ccf7731fc7c850b4cd196ca68992c5b6f2fd87d94d3c7e212fb914362657011ea8aa90baca2fbdc62e51245b88fd59a4f708da72c19202fde546a5f994fda930b9625324846e05bedf4a68d97209dec7e6c4cce36aaaa738876bab824c6a6b7d3bc80befd646fb6e08234cc60d038c510776962ffe26d4edb8ec8e047331ad7c3c9d2d0c8844169ae715a04cc53cb75c2bad8e6163ac43ce4be7c57411eed9b2c986b729af33285a8e487e26ca3254570202bb3bf4f19133ed4ce076c06af6867489c983cd579a705af7ab6818f7667ee0abcf222db7e2e956e26bb6865e7ecb2b25894ee4d27ce782c98a3dcb896ab27aa5d939f5dfc72441d45d384387bc2a162d6240eeb6d0d58eb039f439992d782c7743dfcd3a2427c24197656931b772cdfa9479e72b542b56ee393e3fd63d3552c798e49c67a6777e62fa2bf7bc41440b560f9bae3dde2f3df1da81b9a8\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 445e1dc7a54c43c7aa5de88c92e5ad7dd0895513c042c3a76f4cb12231e35ed524ac846373c7ba5075518577c07063f0634734c8d5fe0ca3a870d1eaac6c8762796d310c5cc9f95aaefd1ee1f1d9adfa511ae4b3ff022eb7224f2d0b4a70915c8ae5fa3510fcfcf05290c9bf5218c39985df21a35f2f971f57f52e493a17817b2a683f82448db330c179fec67640607b4e4d8baae3a86c33a33b8f9f3fd558ac20f841a4d0b58f07c52fc25b98d5713b90bba6db7ba1aab130c7fd988ed81e56280ac4cc48ac165779a5d51ee976a28df0b29b9d5ae9a8fe790b779b9cf7cf4c8060f07e3fdafd120814788bc83952394f6a71ce3b280f065cf219aace434c345541486f05c4744b31fe747b85fe46484171ad66d81ff228dda873c49677c5785a2eeb4534d90113b2d4442af909577420de6a732905636972a334f3670109aac0d26aec70351312930258e688b8b191d2dbb9969494d1004f6747ccf63e8534abbffb0aa643dc50ae60eae61c701c89034ab3125929011420f1d95eff52189908c2ab1e9de77ce15444f5f1cdf9b6a70b5d4adac1a371ad2398f2781a0a5bb6d1c8bec564960050796ebe0ed50faa1d353e6ec959aec8fdae8b3ddd428c93c86d431af7ff53afa539a87e0c07db906692784feaff4a3c20c0f71486b25ef22a16fbe4b3cdd9de5c6c72cd02d1f041787f5052efa621bd89cef96bf48b0023f8\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7dc31d29d09e8a858c07924152b0f90f1b575fa9d77ee816acf6aa6c1bf3156bc25e0bae5ed6d9721604115c467f0bea762ddcfa0fbb45a1a9c97c58ce54963aeb35e63a9a26898ae3b08c56f24cc9d9fe2b3f80092cb18581867e4941eb1d1d5899c896327806bcc45ce51a6d5c117917f8ac50445140d48cfc1bd4d37e129607b3949f93463a72ff3dd085559913b73d734c406cb4d8ec5befec27cd8b43a5cacc5afdcddf48b0c3f99a761a74a249e23884aa5092bf201089abfc2b4e705a992a106254b94afa6946f6e43ac533209ccec7bcb2097f242ed4fe8448b6729aac6209b88ada4885e3131782401ccea29b45f35729c5eb810b35239d65696b761785ffd712118c2d1d2d858f7b1cb13fa9f0575b6156f330d8de9dc9431b1a48472e62cfddff6e3dc992a0d2cc4c25671f7e72b3b31d9c4a79187d0336933a6750d8a6d6d4e63332f6158d645b6b94b32f5e3eb23446e62fad0aec1a12b6e1e3e3a735beb31629305dca8ab9ef72b462ad5a04b13a3aa0737273b21fd94ac322dd2b01321f860dc0bb4daec423e3b824f76ba0955e1bf3c2b17bf4275bb91f3204c476a4dbeea928181f5038bb6e78d8b2d5bd1179726bb622694b162fd36e337eff3d41cc4d231869b3f4a49afbf1318732e5644bc32f9ee0f3990cad875d7c09b3b2661a902bca01169943728f0a3a3dfaf5f4aab9a8c9459bd19a6427a8fa\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = c30b3f70a397dd8657bfc7dd49bfa7606a0c91fedc39f8b2b2bdf07dcbf8e236edba3df876d58ad90734e045ec3bb10eb6f4f0d04a6ea2b6a29c446d4be3dd5b9c7caf51cd8a591d5238ae252fc0eeeab8543572a7ed61ea77f5d619f696740b1315f2ec6a4ae9efb5a44e4028f6ec977a7439f1847b6a5341aa44b3a495b411fd9883b0f3c782bd4f416ddecc89c6ccb4faae810b961045d7dbd1d605a17ef5378928b1f4d2fdcde8bffdf6dd56bbc2bc9fe26d3f95794a6dc94f2b06521541f8d9e63c81eac921b90f171ac2a178924c45d9005c62b1134d3af85b11b961457c29878fb2442c1b48f71968a83d8630b14c32e9cb5a35c27e8ad6f075d42429721dd3ca7ef4b6daba6e1927aef2e3b8cea49c34020cf9769268e83cf098562fb7f70b158828d94fe4aa84ca5deebc7ffc8c8c8a4af42c556f50e3752740ec955b7020c3b9a6b406fd18689b62719340c68a7b63924af27044aef6879b725c97b4be9bfa794eb3572bbb48cfbc8bf6695f50f5a18b0f35968a0849bfff7b230595338e3c1f69bdb08dd5c05e8d15cc0aa1311fd726185b659cdafb4ba9b904532fa38c77cec9719de9b98f73524b4e9aa282a855f6932f547bec21c691cc2cba9e96da35b6d808b7f5fed29747fb1570fbe0c02674b1722a38434e47d7e4aa48267775e9a3e076b7575bc55b6dfcbf721a2a3e7a7905b0b486468150295e1269\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 8d91bcb5e22a56e39266ad5dd457fadb75626a69454d8606f52d11dbf016ab2d1a1758f0fc3bc95e9e6df808dd0a26f62ba25bcc90c756857adf66e9ab3d8e6af77c86921f63c7da72614ecb521e382126ea8a226c1eb33384d134561e835024eaaa54cdf7f5f4d751871fb2c61e4386120e688650be35c871dad4b7d055c12ef534aab68bb562afbaed8c47ac823792db900a5546c957571504cc4165648f586457623334c3b357b688cf82242373c5a7e48bbf92426e4d33c035a6de4e1d806577c54ad6874d04c5f48994875f41f7cc3f266cc896ae2ef5e875ff08da0b411a66be3e7a3cfc740b9855de42b3913101be2e18284997afb36832d62c8a4b6898b36150bdd24124adc8bd47ae722c2c2d479e13982c9c225616100305019a3d609887222e01c815108988507fbba1cf288703d47b36fe1e54c9f15838e765d95d46155061a10b055b47352670df7b0fcd7b7f89c5d98b5f2ba99f4ca11bbe1194998136c942905db13290e265a594fddb5f4ec3f7734f384bcbaffb70bd78c21faa0e439aa0b3d3ab70893a447337061243de88e13cafd02b53143330900bc009c3d173476081d7948829407502480c905254f8fa36a87eaa8f1265f5c49e6a57c9ea50f1888e64781f4ee821dcff7650636d6bf41772382ca9672f10c599cf90293e39bc80ff4910cd2712cc3ce4c7833cad1a671e9ada9898e9845997f59a\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = a71ca7bb56501b24e9152f7c08e2002d2b0b59c0a00e20e5ae030820caef502e0069eff23bc65449e13603241b3e06ca71dc0fa46cd7b4fe128486267872315ce4230ef9c4dbb9131d83caaa5eb80c98dd1f4458e71d2d6cc450f43d4049cbbb97bdd97e7d7ec22a2146907469efae344e94eee8b56b44fe5f86e81074c0efee8296875c95c6a780ad7a301428df907901b03cf58a69b3f7404b4af276ec5bcbcdb345b587bbb7b84f9b7c6304b59e9dda1fb313e2810e7e514c80a702f2dceb6553ac0942ecc2a9c508333df5b2fb36cf50ca7df780bba3b1668730e5fe829758d5f22743bb6b110fbad6aeda879084d9f3a519db5e2e4af0dd6edbd779856bd0556b9cdc93e3d0849e76cccc7cfccaa42d925c04ab6c75b58bbd513189b3b61238eb7b412454966a46920d78c20d7a13841190ebcb2d778c5c59ddaedb6c7fdf2dbf0ef244ff96a73ebb4028c1a3d89f57e1a05983aab15f49543cacb7424bd3f48f117db2ad0f27a1f07a65d4cbc43edeca39b88ff35d910bfd87f295f0234bbb1f8efd5b0b3aacb251b7bbb628bdf43cf8276d26e0b0e21bea693c778aeb1c9a2a9b9f7c82c6b0600685a70f881b4354176971e872507d916806a410fe43d9612cc258afd639a59c89ff7f62d5e795b1a3c8817e0859d497806433c2b8e00a20ea05a68af90967a11074ab0866f253f79de4dddb4e721ead959f1f74e385\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = a658b821e9f496bfc4d0773bca57118363c0cf6e520d4d1c0e5e4cd92f41f3e68bf29fc2605b98adcc37ddf1460d53a3ccc714c8dd29c5c5f30f234dfd0c2ff4cb88f998adc6801d87f2d3bbcdcde263058d38612d2c476d899297ff5b04448e4b36be9869fdf301f2aba98004eb6456ce5a277ee6408908cccc9fd10948903d6724a32211341bb4f17ef82b58d58d2519304eef3d7df172a317657285fdc3ea170951e5e0d672d50cde0f9502d6ee2d28684deecddfdcb65a3c6bfd4a213ffff97f291d707b2fd214ff207d538b40c4b07dafe059e96690578a86daa08878addd8e4cb422d7cc1ade303d3f3f43b3faf54d6a9316fa862a209d5f324763cd4c9aa4e1766ce52b688e7f", - "32e3680bda51fa1f93404fb77f1e1ff14ffcbc6111f085501dc7d53c7b106d651b562f6357ebe217dc3d6040b57b2df4d811c9f82f2665c18b17497827a1789d9c8b26178ece684c9954a1d5880a0da8b338f111ded5a34f3d4854e39c8a49ba28a89b057a69911110854f247fc1f6b77fae7c454e2f6990e194bd43241724331669d41e6a2b5a9de2d29efbcccd9ae9fd912de728a3a8bf86b79f991b024648c6309feb0641134bb60724ccc59b02b3d629b2ff0b54964d4932bc8953a2da75f8b2fc74c046db96b03738d57d99f061301fa9d2549f9bbe990c8cd7e0b6a0a94e00f30cac6400120abbad679c761c7ba07f54098223\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = aaeb65102cbed1c602e4544cf08a44fd282abc4cf6981d8d43cf33004bddf16cfc5488a200ef3935bc42dc6b46a60975a9f1d2e2e41824e1199ccf371b79c91b8fddd43084d1d1a8e8915d5efbf1fa1cdb4759aaad092efbf21f8bef084da1d654f801f8f80051c8d2d8b79fa9ea1578bb54f1d9397597fb164a0316d0d3c7be4be714d0fd1bfaad27325ecef7573b77609c6430c8b1cd648ae574c58b232078da0b5521f376f13b34635a573bfc298cb010f663db67756a9d109b0cf42caf35345ca8cf1ccd15b98a66574c8c6d119ec26d08eecd92fa61c609c302c902a2cf9d78f644e9db3d99d5ebfb4561fb72c33e47bc1f5385362bba51972c1fd9c94c839a6c4a3c6169a711afeb4d020ac6029445a5275a72ffbc3dde7e1f93f5f4eb00492ace4f45feb7b15a882f26e36146a2f55e18a51e8ab329403d19cf8466bae7baf449b84b842e3d2e355ad81fead994b711a3565c9f416c8523c0b26300a53e2add01f4bdaad160bca5bacce95d7b69f1086fca551bb2616818d267a2f3351d17e6f64a896d53265314548c8ceb5f29829e7e2314c5ffacf3caabbb4067441f2cce5693c4c996d887326267cee4e7545535feb7e7cc8e3f36f202ae3210999d2b5df472e0cd5e811336c19db898b6217cbb3f102169fdab8629174cbf04a53690ee4d395f064c03acd7bfd054381198031885b99f51117108f8c04f2eef57\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 184964ce5d2c22bd587ef648cc499b007badea08387a646ab544ba57562444667d8d0dc09baf2ea98fd096eaff5dfefdf16e0fe09c88fd895804ed977fce48cf9cc963434dd29d0c612f7dc0cdab2b992ea298393dd3dccf5498100d149bb3b29f7be67397513d532bc30dd964f661726672f6064b657e42f49f6d5e9b9170a8bfd8c2b89a6a0cd1a1691b38efb719f955b478f468092425077d490ea067d72a975df78cbd91708394bf6c703e92995bc79a071023960e0c29de8dc115890b3b250c69242fcfb76bea21b1a72acfde90adb34ca92068a2fa2dbc5431f48b5864a20a6227d521f9ae0be92c4be7cbde99157c3d5d767993176997baba3c2a3254230b8947178640f87372184df010227c3a04e85a4a4c012fb3ddcf335f18a131a864b84dabd75fadea39236e81b15241b8bb220383c6c134de6bf5824240c7b884bf41b1819aa04df77c02fa920bef52c7083eaad216bf628b0f0f08e5b995a9a4b49d9b28b1c3636c9c1ef9cbd7f537d4e3026e869941edd77759bf254945bb095884fee365b34eb9f7fac3c496df866dfed6b07a35721c8248000147677e0960ba2ad077d5022382d9f8415368d79b4ccc28882bd8dfae86bfc73274448cbd0a96ee70650a48931cc16354ad69d3b68d821abc548e3d3c0a7e8808c88d7ac0dc792ba2236e092b994b9d5a7501f347716c3e1e17cbbf8bb9a3ab15c39b2428\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 36f38c26e0a23f6cd5c816bd3d3e57688c4f58126b4dc24d5ec659e76c1f97a7369317ddea841a3d90a00b69ddbc6fcca2768c85250cb64c5e10452c2569126c9cf5fbb66c6a98849eddd51c6fe6f87737554f1ebc99cfd161f727bdf9da0738af5dc076c27baef7b4b2af498137475c5100bbea7cd6ad83de7c6916a9cdd3609199de4e2f65d655adfd603b4ddc507d7364fd67940c293d84ac969bbd64e63a57f62a87f5fb3c100b0b3286a1c9d2dcd263c3009534ae05272815c6d9ff82d0fa59fdd91f6a06fdacbeb6806ab71556b4bcb72fce2bc74aa0e12f0a831e103fb248bf1dda7b6eae1d9f2197dcbda37c343bd679d66433d14eff97905d2220c2672d01f69c07600428d47284b1b1d0305ebbb78bd29180d5f54344877e741401fe9cbfb671b62a254811d21f7595f841c2be876104abbf10c2a06949500f7cd883268a1b46207de28ac102b58ec99e0fbc57c99449015ff2dabd9479b3ac796946d602d4cddd9569e38e406b3b3d47027ace498dbd47bfcff785976d4ce4fb0d74b3f780fbe8c6d8a6baa50ebf53111869128ec354ed4dc0719f3cca55f610c5f82b97a1fa443ba73066236610bb6bca882d46dcd613b0f29d4272773456fb35fcdb056ca053a838abf65ceba0ac0d0742bd633351c3909a9289de1f0539fa19c1823aac286e88bc8041edcdbd4b62612b1f1610a0d519e161b2a305cd33eec1\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = c8ef89f800577cdcfa788084cbd57f070d634ed7ea5aa8c1286b22e9ab33f44519d6776de6b3eeb6d7663194b3097f428e8c52462549b64d3adc26beddf3283fe9af81c46f54fa5513b8df69ca951cfaf2eede4df6eefd39b68d2e5d40867a517567dcb0a4b954c99a194ac448d38cb792782bf07072baee13928a708521d35d97babb3c59095d3026e8371a8067e62bace0a6b42405a4f0e1b242a7ceb8b193d9e0584e4e231def3c1c727a999ab03ad6cc7a33d6cb147c7eab81e73948f58d550750f4d5de507f9a95c5f1a99cdb38215f4b2f22aba9a313b33edfe66473c20d3b3a109ae1ac618418fb655da69c78c56d0d8ee95ae8d569d49ba395473af9e76402a9f4b071b14ede2c28fe5666c7d6302b0914334c420274a77629d835149cd1ad045dce4aec198810ce4167df8123a2b124c7f5fb6d5bd653ca55eb88a8ca2d51f9c42df365cfd8287fcc1dce58f6051e33fb0f1219f02518cbd01d86b51132b32ac0c1a6ef7ae0edcaaeb4fb190817c3c7b6b865bd85995499aaa7d87652fc1b44d9dd49a545a5de0f5f58a4798cf022e97fc8ab28319ed713c3a11d42bab6e2af1280139e03b27926812e5c67e5526c2b9e0ca318fbd48fe951717b7a5e901b782a81253d859820383a1cdf1fb20841fad390e53841b236df9cc7bb665207689e51b7d3948cf924f92d05d2af4c04a8173f46407b1f4d1b1706d27ec5\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 83706cf470ac7e2ff571ae2f2fd618b5eca1a794be64eab576aa63e0195ddf9e6e5c44381e3a811387ec948eb2e9006d991a66dc80471f1b4875e014187e0eb1a7a497f06402f390f44b8a5beb2521ec90da193169eb86e44bef92d2bc11150cbfefe31fd9f7c6fe09f6cabde4797bcb861fc6686a0dfb38a51b80631fb25d7bd84c30d2779cb5cc6223b2e0ee8a7343db8c03015a3885b6f66057d9e9281826eb026824f0cc9059c1b21a1b7cc48b80a41713a3d07f85584cfa0cca6f65018713cdaf3ba6acf5102e0c22b2b839c8875f12db8d22c73a153923033e61a4e7c4031006194f3dbe8661428c810f5d1e93e815dce86200a3fe45525c308c5659e0d022dc0640df0591ccc5e704c8ba261fcc53d2c53eddb47f139dfc8f19b5fbbd4b498ca7b22b5ff6016b4c8f6b98e4fd4ec3bd3b4d90592a72d57968a21e912f597440ec068c7c27e7f57347d16644d78e7733634f4ef71635a1c2ad55a2448b85f1eab0feb92bfd3139b66726c77b78d5778fab114eab3d72d3c924112dfb0eb5d19958b1a60cb8f7379d53a6719b3d3a4c9ee2c2acd76cc1e5f3adde590c3e157229b9051b6d62ae4469ca3e55c184060862488160ad35c12d86e8d379c4524cead0d7b0268c5088e31717536f99cfaa7459fecc0247233d6fc890dc2f98b21f4e6008b8f89fcb119cc94a6eb96f87f057305549d18d05af0964f5285088f8\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 99d2525d1b4ca3ea27d97237c9edd75d44e8cff850e8f3fc8643c95609db33aab1e39bbc94b00e21cba5e9b1d19b5554ff4df42d7bf1a0dd979c9699e9183bfed23c958ea7799aec3585de698d08147acc84366cff33dc45a94feb6f42de9f75927fc74ad3992aecdc100ca6c04a83753930175a85c49821420919bcc392d50e4e290d5a466e92fce5a189b9c87cb10b764c9e476427bc2719f34c1266c446c2bceb10907f730734c0706ca9de348aa5cf7f67cf00a73aad4ab2a1a8b7ccf4af5e326a0aa6df096410855271069991728f367f3569a00b9f7a97151e0c1a5898aad3ae2c9cc20e06f01013b5e4221c65d8fece68e4bd72e57a5762733d3481a721f53041e843ba06e3dbe0407c99d1897bc3b20301e469091c2fa1ec464caa650953e78007dc60750a7a72f61b2c370af195906c831b9f648e633a5c129fd70608cb132f25d51261b62bd3a56ce9c9565422653300355c7d6550b05c7c579b6378a46f57fb2fe57f2a56943640166945530cfe2410bd6cad823c73dc0ab4ad3c3ceae4e2e15225134e47f375641346d36d94e87ef6e5fd31dc88455bf70107fe8bdf9a4009c2d7782f0668739afd9d090b44f599fc1d4da05483cfdd17a9ac55b959d3af20e55a421c7a5d7e6d4200202267219b62db2f92e59bd260383b944e89a1c1beb6d5d28a9d48f235f3bbc4f172a7497c3ca8cbd5bb3418edeef02896\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 121fc93905d9fb187962eb95f6f6c5871720195c624f11a552b6ff644d1eb11bdca770228afa766033cfce705effa5b081d125212bb93956b0d42cc67898be4b617405874f86847c793a4a8019eb1a1193d518f59fe85a7f1a491e68ef7b1c0845cd10419db3fc9a5cccb045e31137ed0fb2180239057f207329b1b60f04bd1111b8a9f7f5179ebf98d991fb1eef76753011eafe090583a32be5010898f24b7154eb10d8dc3fda6828782268a0495e3c0c1ffe8eae51d1106c316dac5a0f07a9748f8be0c639ff12f00af0f0fbf4f651f26298822e08d65b34db6d15fea7ee280f1262ef47338716f3ddd64ec7d7109e97f54a299f07e3e71e229c4bc0f587bfc6c9d3a9e67c16aa79359cbda18f70b21bff5d6f112cfb3a188786c26f54435063c86ff1f867ff8e9e74fc9ff849c657edd17153e71d78c175fbed9d69865faedcd5b1a5392beb932dfca613c54edc8e2be963eb0e7ff47e1bf972a403fb2e257be4bb2d1dfffc84179be8061f37477829155168b25d907c3bbebe2e7492d3950730e227d1faaf7cdbe0fec3f2f19e9f98842bb29cfa60b87d3dd02e51b43468715ec388583656eb50b93ce501daaab974eb191840044a204ab039c09c092ae02dc54330fb65048e7ae8aa8117593ababf695b9fd2704f31d12071d76f8c2bcd2aa14bde65a7ac1c785843c2391462eba", - "e10812a6bb735bfb1f2ac3d74ea5da9\n\n# tcId = 35\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 290567b67c0a8c1c756f6f0c4b5157e1ab1c921af2d02d0ced12472404694c6a56549bb0cd3227c7f04e769c75b46569640f2504e2892ea270ad8bb102a001f7af1d1011d92e01c9bcbf284236151fda13a6072bf4da11f9263773967fdf3122a401e11511a04b633251516e8aed8de669a20223e0dd39a6b841bff40ba6af6934e9c9ca3fa2a3d277801e3483879640e16fbc5b8a5240e54d50b07c081f84d63b9ff9b24d703327a997f1a74098ae3e5a5a0c380d68b4a3437c7d5f33da1187e7b6ed5d9eadd1e1c2d60d6df0a0910e9f93e17f01bb2e643f451f36178a13193d057c0c8648a55002df72d1166771e1d9ae36dda2c6058bd9d2ab0a350be60b15a021a016f06dd6e6b9fc8834db10190b89bb880aa38e5dfb03bd122ea9b68ac13057c9f1aec75e90cef05602dbf4bc70d94ce7231265b3e846a2e2d00b53e8d6c04470125d07e782cf559c41d82f1e10113131d48f4ae091204ee81388af98722b17114a396764ea8a3852c1ad727de9742220cb3d111e0fe4de9a27c636e57f8343fc287d74cfa9e811762b4f9ff3715aea0a258baf4cedb89a22e1593eac18f34e83f9a34ed139158b6ad8d4b292a7e4d933b58bd6cd9277d93f67bda8f67be72fe32d1805fb33ac89ae2aa2864aa402ecbca8430bcd6d42b17fda76d13ee659a23a629bf4d0e49d5ff5e327ffd55584b254c90140269b226fe561516fbe\n\n# tcId = 36\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = c7a3f33ebacd1b82e186709375be80d2eb75086bebffab34dce599b3e97f59903f04443b1062a6884a4360d92dd8646e1455e95b33dad16854f744c4acf3e9e36f85f830d3a8b75e583a828e253c2d62df5c5ad4374110d6dd85426d86894f35833f37a7433f234ef966f830249dbdbabde11602976c1afeb321dbc46e6c481290108e97cc7cec2f9d62a9a1d0f00a26afbc74d45f6f137880909fb5167da8b842894dd4c933eb1f7db3402179bf130595679e260f38c4a33e0b3e9f73191756f4463b6cd159ccb0b41c75f9f405244de0aa6592563b6f0d3e519582acb1edcca9cf89b91589911e9be178cc29d429721ae373a49addc23d72057c6709eb0eee81a60de406444ce5f00783884caaceb1e07a91de1fc6e2b88a0c9e28d6eeb6c965d4e7964b24b09130b1a2536e117ba1ad3e4eab1bfb84918382739d3a0ad75f271ac343b37224c8b1b86ad1a62250072f68212e0bf1c9a3715e1449d44ae471db4696310d9fc7a4148bdbc29d264ce4c4696f758d4df5543f71ca182b0f4ca36ce1c2df8b574ae3a08e59d0c014fdb44c24d7bbd9d59b39ea7fc269c2d2b2163188d6339209726471fe297548b27cd3b6e3c58ac7bdbe3a792d858268275c12029c28148c2e0563c52061ae83749819e61dddebbe5dbf07e9e2e07503799cbac3c879d8508cefc172bb997d1a3b109d737fbc1c52975704b6f1edb2ba044fab\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 29d54fda4344d689e54fd3a4625660b994352159a0c045d2b7345e0a6fe4bac788d54d0cd63a13f2374b6f064ccbb379fcbc771126a6d6cf51ad1aa80584046f6b33e9f0eba434d08531f091e314fe8e4075f184b156a267abc3909ba90d5c3e96ea7b3f191e38c631251176334319479a275439a633b61d7197aa45f07837fde18f5e2c639863c1a7689e6f56fa0131ab50c8021ef24ae6d936fb3da4b7c4993de4de3d0da0da8a19f1787f3c2ffecb11e505a60e2716090f2081831ac778a11a4b26db77f7659ed66f00f0c57e478dfe34663496eec5434d8872d16a65f5efe12107ce39225773488dbb8847bfc144672615f8ba18daaf9b4ff0bb36d731e1306e1bc7644ed3aa5820642f7a15fc253ec9fad79ce7d811fbb1959cbe124ebcfbb9d30127f0761585a49c772e9181d47ef4488e6288d17d49e759d39adff61debaaac8bf8e1c5149e9160a40078eb8f8ce47bcc0aa5517db7bcdfa4e8e2fc9825e18824839a2c30fd1cdcef0779b0f7a5da9af8cd315deaa40187a5c4b5a6fa009e1d9e288552be9f6cce448fcca2f011557ea101d41267c5df8331f585315cf6e83f3081ce149ea4813dfd11b217f3924324f34975b275bad2c8b8cfc670e2a8345e28fe3c1f955d88f83422ffe6ce28d5273adc1b30f26b7c558ae7688cba8ab24971baa979de2480f31812b990e14d8859bcce323437c8290bb9b89aeb8c\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 5905112430194b195a3698730332de7ee44cad62157ffb95f99aaa4ca39d972712ff27302a960d5dd5fcbfc3eb48d196697fd57aa83123d62030d27dcb7f481914aa20dcee0bde8dd070e4b5939c359f3b01e40a42b6c4c4f02ad64fb15da070e68f63cda98db297cd535b2ebd0404d02df3036ddc8add1f545a6b09c1dc1d9519854f258a478ae034d3416997ce939bc72206fdcf5d18bb46be8a3dd5f55dad95e1067dedfd7ebb4c05fd57bce7148bf374cad3af3af327878d27782659695459987838dfafc00d898743bba43db494894246366fae5d377c2e5d150c2cb061678147f3d2bd24641cb078f074f503f2bee7231283709dee766609b76fabc0d3d14c5db3543c12cc481972d9d01950c60d4de5f7c01e7b4b81763467f1b6a1bed4f06311defc24453053ade5a50c3dea0117456eb6adef4bbe8afd49d2c1f5152f80f7f76e72b2e2269d3080c1545cd8c7afb7981b60d63ad0c6b1f4deb6cfaa4e0db62684470ed4013581e497c3441c4e9b481d148c89b1872b7d8631b37520bdd900ffc13348c647a71cf52933e46184c5278e6752d9c2e97aadf29d57820eb99de2b050698932b5dfd50a581b3f80a2d39df9290cad87baab094e17c9ec340255ab855b15ce69aeda9080195be03d00a827b6f5f863c16558a407a49862c535bd24a911c4dbbaf2996b680b42ee562dd2f519123fefccbac1d2a343f254e8\n\n# tcId = 39\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 40\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 41\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\n\n# tcId = 42\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80", - "632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3\n\n# tcId = 43\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00004a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 44\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea1441430000\n\n# tcId = 45\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea14\n\n# tcId = 46\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData115[] = { + "# Imported from Wycheproof's hmac_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA384\n# Generator version: 0.8rc21\n\n[keySize = 384]\n[tagSize = 384]\n\n# tcId = 1\n# empty message\nkey = ee8df067857df2300fa71a10c30997178bb3796127b5ece5f2ccc170932be0e78ea9b0a5936c09157e671ce7ec9fc510\nmsg = \nresult = valid\ntag = a655184daf3346ffc6629d493c8442644e4996a2799e42e3306fa6f5b0967b6cf3a6f819bab89bce297d1d1a5907b2d0\n\n# tcId = 2\n# short message\nkey = 976696c0dc97182ca771975c3928ff9168ef89cd740cd2292858fd916068a702bc1df7c6cd8ee1f0d25e61d4c514cc5d\nmsg = 2b\nresult = valid\ntag = 363e8973fedcf7892013dfae0b7065d61d80b98c635bc09ed860a01473b9bcd0dc550dbf66cf0d601fe9cbf3ae59620d\n\n# tcId = 3\n# short message\nkey = c55ea4c64a0a63e2d14ad42559ba7c816b8824d263c2cc6a015761b53f681e514369f0dfba5cde165320ee10a96eb1fc\nmsg = 5abd\nresult = valid\ntag = ccc2925f164a7d9662f1e76bcaf6345492bb091d4d2d775af2178a4bcc1ca21dcf8b3bf8f056823770782f25a419bb3e\n\n# tcId = 4\n# short message\nkey = 2928d465d92fa40072ca9d67761be66e491755e43499003c1057d3bec870f255126c3658d0d8a0c7d207df8710037ca7\nmsg = c405ae\nresult = valid\ntag = d9e19c672a466e4c83a849905728c4be1db99bdd260946d9ff52939779002dcc460c576f02b40dda0717182be96b5411\n\n# tcId = 5\n# short message\nkey = 686a3730085cc944fceb141628419818e662fe21e52bea2748f3b704f80ce801086db1e3068917b242e62b4d6e6ed685\nmsg = 6601c683\nresult = valid\ntag = 10dc39103983b3a6be376a8eda7b6f363cb91efe11b027a62440ae136bd66f98b0a1d8b8f2399099492021076afa14a0\n\n# tcId = 6\n# short message\nkey = f22d867b972b232e3f444a488dd794d170807c70eb650f952b6177596f76c558a5d860d6f7be0be9e666f9bd53732f8d\nmsg = 15b29377e0\nresult = valid\ntag = e02e4e20b5f1e5f06913bc9745c9069c09ec1369f1a296ad1d07c04cc4f9cb4741248d7ba097cd3ba0e75d2409d6a01b\n\n# tcId = 7\n# short message\nkey = 3ac9abd53dbd0fbb891f9b5e16dd45df994e5283527832707138fc2712bad9e34761e7d9c6d05d46f2c8323ddb0efe99\nmsg = 5a34155b1115\nresult = valid\ntag = 78c53dd1a2431174628f5f4867fa777afa6df1b36269bba114d016d1065fcb021170baad09b4a528f40573903a65f540\n\n# tcId = 8\n# short message\nkey = ae3aa94fdd35e2bef40472d29bdad3a409840ea441c3d7025cd72f3e81ff56da602161d84b23d1634061385be30c5bbd\nmsg = 8a140d781e7191\nresult = valid\ntag = fd22ba896cb1147bb86f8ad51c253b792657c0becc913e90104da0f139f9b08c9169706f1531a2c6c03d6bd72a77eff2\n\n# tcId = 9\n# short message\nkey = 44b79852cabcf3fe93d2fff55d2afe6a46c35b7ad1954ce0888de7b459b982722faf8b490e6b00e7bcabbd36f18443f5\nmsg = 9398cd251deafe8b\nresult = valid\ntag = 56128fb438a93f6f48f47c0f4c7549f8008a8e69bbdbf0886ec40f86e7870034ef9090d2b04057391f1def5b25e8f0ad\n\n# tcId = 10\n# short message\nkey = 03fed2f579a3ebdececfb184ebe2984876113399c4a593d98b5f5e606dd330fb394c285d9ead601748259b493335f8e5\nmsg = 18d879b1f63df3ac7a\nresult = valid\ntag = a0e3b5660eeb5fc4a5dd48e725b09a0e282b22bbe2693d8b893ddf0f2116450e0875925407e909fde0f1f728f608fba9\n\n# tcId = 11\n# short message\nkey = f4ef48bf4056d39dbba4154018c63bdf29420b9991ea594ff05e3cc1cb02e176d54ba038a6b78692519d6788e495bbab\nmsg = 0a5de13cd9ba31c94486\nresult = valid\ntag = e9a1219e86983d69e336068b280309f974ab61f25968fc6352324ba49c36ce42c578676a3a31ef11e960d6771386650e\n\n# tcId = 12\n# short message\nkey = fc771f7ccd499a1ed633d86876d707b5f1d53c6bcdf21aa2907766ab3ca7fa6cdd6a9b981b1a84a528e81444303f1057\nmsg = 03ba11f3f3173b85226b25\nresult = valid\ntag = cfb4971d5449db364e2c8d0d429a0767050d480a5397f0dcc74294f52ea96260a57fe6cad14409ad67da6fbebf2da0d8\n\n# tcId = 13\n# short message\nkey = b3999de680b11550e18631c8199f7eb8a74e21bdc9d97f781245c2af19f85497d9f38b250a564e48650fd00be365f155\nmsg = 9c658cb5e601d85dc3857863\nresult = valid\ntag = d547e4cbd56e82b47d2ec93eeb6b34924ebda461fb60e475bf328d2368618f55fbf7b0e2eb1ff542c4eb7eefbfc8bd2b\n\n# tcId = 14\n# short message\nkey = 88005a62864ea699e1509616ec48033e84d2e2a13b8bc2e8a76f2eccbdb207a95ac8e2f5b5a703b22a0b571e8acc599a\nmsg = 5a94f84541a794bf23d72db16d\nresult = valid\ntag = d6b73ee67e88a20fceb5520be92594daf1b3786c7187535ccb1f0b926dae11adde6e8697ba803b159019849df3c9d2c7\n\n# tcId = 15\n# short message\nkey = b1cbda2c9a12f92315a5101aef311e99d6db002b0e04fb53c50106aa4d28e9a346697ba97084572eea56ccfc4ad7e572\nmsg = ce12c0c78e3f6b276ac56ed7435e\nresult = valid\ntag = 5c0802cd0ed82380e4c2a61d146ed72762613de89eb4ab9fe71da9ad3d79e1d2321cae186292f7c52ab639d3ba6aa85a\n\n# tcId = 16\n# short message\nkey = 08517e8014e00db5c37f2a20f987ea2ec52e7938de018ad6be256ba2236804144ad2a1bcc242738862b40647007e0a2c\nmsg = 21e2a0a167789a6b722d1737d92f8b\nresult = valid\ntag = 2264d3c9b835aedf699d5fbfc05d46f085591441df75aa2b2873f6c8a11a0856a2b79ae11ea0a91609dbd564a0bed456\n\n# tcId = 17\nkey = 503d7478a773b694d6e552c9703cc8bc56fd49fafc9a17cab8b0332dca8d49336fa7e9ec2bcb56253fe5bb504e3e7f7f\nmsg = d96e6fed893addfd9237c81c4f4e341b\nresult = valid\ntag = 19389766789912260f3f9757df3651663829c358bb48b22c1c63132070df318905beffd45f51e4dfcb3e785f44cf9106\n\n# tcId = 18\nkey = 41341bab902e767d4d1964c0acfecf46eff1b02b6455bcb2097de9c154be1f667f21be076de18cd2c15c005896fca87f\nmsg = 4c43ac7de3631cc86f4da72fe6b6a552f1\nresult = valid\ntag = 3c3104f24b7070cc3277d9ae640d416298fc917a0c1cdc3c2e7b6da75706fd2ae234efd551af12ae29144704793e2f6a\n\n# tcId = 19\nkey = c2f83be1acce7b89a5f9e9ea7e4c4f8b0f4319986fbe479fa3b4a3c298168362393b56ea03b5cef77f48e5a72abe6d08\nmsg = 8dd0cd786cd800ffebec098728923d69249d3223c4c595cb\nresult = valid\ntag = 751c6c7d00fef5e4edc993915fba694943a7ee3a2c8e5b700d0ee536bf85fb117a9cd6c456485cd670f7a0b490c83e61\n\n# tcId = 20\nkey = 6bd2aee9dd98d6b6609fce82181b10c20bba861da68a1590586fab08c5e9e90ff584047db4760828643fea38087160e4\nmsg = 33236a9de603c1e4f5e11164224740627d10f6008eb73ec2642321bf0b82d579\nresult = valid\ntag = e4cd8b8868bb078ed5d6938e40d9ff4bf61a4994be40a5f2b5446463e5db90516bccdd19f16c92e3f839b9d6de68b2a9\n\n# tcId = 21\n# long message\nkey = 2f98ba2ceaadc5ba08880a35cb0080dc870a5734a782ebe31c4bab100ff8786dcc3be6de18482ea5d1b3bf14aeabb470\nmsg = 2d74a66dacf12edb85ef3073feafd122889cb634add00ff0395d224b4ff8b5d5d67ca6419b6826abffdb41bab427d5\nresult = valid\ntag = a8ea72100859f4b7b6f2fe596248f1729bcdf0606c900ab52e51eab548d26e1eb634a42e5fc7ccc18356c0d283597ee2\n\n# tcId = 22\n# long message\nkey = 5e5f60e40d84c7ca2608af3bcc6e04abc5f8b7ca730a78af7f6f032e5a1501695bd91f3bebb28590af1db90d8390ca58\nmsg = 2efe6a14ea8d679e62dbcedf35e61852278c83c54adbe1f1c72cb1a746b11cff8cb4fc3a2c3acd44255d51c020ca6d47\nresult = valid\ntag = 6e8c95a4097ea13d064ed10809a33b569a6a84205158bd692ff82bc4b70b47a60ed332f2f5bca5211a1cc89c06f9c595\n\n# tcId = 23\n# long message\nkey = bc310bc3913d9fe59e2012a058c9e150534d25611e36206cf07ccaefe153f38eb0eaad9941b6883dfbce01bcb5196041\nmsg = 9f0747d7396bfbe01cf3e85361e50085e0a91a7490b994031d81851b725065993f45dad0d60d794aedec7ba5d9d6dbbee4\nresult = valid\ntag = 3a86498f78c3fb7eb3b7b3d82f677d2dfe01166fe76e232083334d74f11588fd089637c94761e9cfe836436005deaef7\n\n# tcId = 24\n# long message\nkey = dc770c64d00d156e43cb74970e3a1a2ad28b6d9ec6b2b6e5ac3e356a99f879cb620f00340c044cc1f31bdccfa0dbd177\nmsg = 403fd8e3ef51b6539db658a894be85b58fbc84881e61c5e0cb13ae421a09d31d780603256d390edd056d190856be00ad20a7048f0c67416fe8e02884086155f4263262e8c1275504d4f91f2751d3c3dccd4409ff2b45e41de93f7b104d58f6e15bacb62ace9700615ecc1b30a0cc1b35\nresult = valid\ntag = 1c4f6474f39e6eabbe7a99faa234f49833444130acf01dae68d68251a930419960b0fb5f48360149e05d1209941cc9ec\n\n# tcId = 25\n# long message\nkey = cca9299c7bdc26a4b595055c99ca23bec8ed11b5deeda91f83e2365e7340395ceef4e86e5cd91f2593bcfec498a67fc9\nmsg = a05b40b8d3a7bc7b75b0e97309c9bd1c9d8755c1ff5245ef6308a6a5cad3ecfbcb6364b41ca6f3d24bbee844d6204d1026abe345af7bdec114a373b109aa5724b738d50ab7a826c268e873709f8b35135a870045d5fb9daa82d3c245b5338917354e72b3058c9a4b807117465217d7d14f36f8a8d4e97bc3b93587c92641e7\nresult = valid\ntag = 1b6b5ba848bc13dd46c35177ae9ff9bd2d6ca5f4c9373964d3182483d980b4654527f36d7cc51b9e2efe7ed97a82e3be\n\n# tcId = 26\n# long message\nkey = c728e65e08d9296fe3cdf2dedb49c81a30b603a62569eece4ee5d01e9a32ae3bcb4ec163e455e452582454ceefefc046\nmsg = e6c6bac87c17e269a471434ca9568401451d78c2444a9d6edcda3cdab51c5bed1c19eaf34326580fd85ae5236ad51bc5dae386b36101f54695c595eeedcdd0182a4a117f8093f4f4812e03db396ede9849d193e7722081aeec4be6c4caf6c979d36ead56634a21be21162ea232dec9cffdbd2474245878dca369e814fd028303\nresult = valid\ntag = 533920a013cf006aa29b26f74b6dd29363", + "4293089986aa249271c426b942dc6bae32b2641616672f3d75968866e182e5\n\n# tcId = 27\n# long message\nkey = 90c4215dc3f237435047fefdd8638d339a3fc66fca06c5063eacbda002ab335e621605f672f3da9f641fae110afc3e7b\nmsg = 1ebc22c3031b64615eb6f1a0696e33b7df139a4b891d3e6721cc26c05d55de790dca623668c10308485d38e95ec4769fa4430ca3ebc25da9f5d31c972674517d9a2222e6b97d8def6512af096c6d1480d83a229c84b7f28c80184b6bebf3f4eff5fc4e5c6cfea4f8eba9a957f7913b20a88ad1734f7c38547e934d1dbf2d73dbd61e31fb1583c7b6577a171e7d02f19045126ac2973d855bc18d34d32326d1e216da58366a60033450091128ae26a479069bba7b91b2ab7f3c5fbcde391de3ca114b951d6852f92795f8023d7a29a7f4ce61e9241b4f235d21e899087167ab3f3a0e9321c7942b165178788df48d3b106b203ec1e01d29bda41a99ac0d2c00\nresult = valid\ntag = c52b91daed6ee46416f2db78978251cb334e5d8e00b32ae06e365f455d28de406a9cce2f9f29378f229822dbf26bfdad\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 46be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ab4d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 32\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = c4be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 294d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44bf81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94c07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be814415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d077f90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c414d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff91b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c417d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff92b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d2832b7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b3386064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e065b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283abfa62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e0e4b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a42a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064903603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a55188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03703d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45189e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d66bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 54\n", + "# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a4518ae5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d56bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45108e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603576bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 58\n# Flipped bit 376 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c67\n\n# tcId = 59\n# Flipped bit 376 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d217\n\n# tcId = 60\n# Flipped bit 377 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c64\n\n# tcId = 61\n# Flipped bit 377 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d214\n\n# tcId = 62\n# Flipped bit 382 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c26\n\n# tcId = 63\n# Flipped bit 382 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d256\n\n# tcId = 64\n# Flipped bit 383 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310ce6\n\n# tcId = 65\n# Flipped bit 383 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d296\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84d07ff90b338e065b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be814415d2832b7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d077f90b3386064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d2832b7a62a45188e5da7bcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b3386064b03603d76bcf8214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = bb417e3bea2d7c54859d5bae771a25043468259f942a4e936d3e03c90e673f4c58eb6de7b72a1fc20e3b7b6447cef399\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 56b2f8006f4cc71f9b4fc9fc289430fdeb4e047739946bea2218998b769bff06847bf7401059117938e9405b5b9f2de9\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = c43e01449552032bfae224d108655a7b4b175ae0eb5531ec12417cb67118403327941298c85560bd7144041b38b18ce6\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29cd877f1033b860e430b68357eb4f8294317b0846eb14955d67e6f409e48079fb04883f6f266e0647963f2424e05296\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45bf80c514d382aa7b63a55089e4dbfaca96db616ad4b06d93c0fd37f099c1b2a615931949d4e13cf0c5859ab9300d67\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84c06fe91b239e165b13702d66ace0315b0fa89c76a9514dce66775886501f87a8509beeea7ef87c617bea5a561d317\n\n[keySize = 384]\n[tagSize = 192]\n\n# tcId = 82\n# empty message\nkey = 1c678267be13acb464939c2896c9e9ce1deb5b30833bdd9ca00370889b84410782ad52afe25dc10ab7ec5cf5f34793b7\nmsg = \nresult = valid\ntag = 6dd566be678c1e6359ab31b635cc1601", + "60a0c5a9c49a0ac5\n\n# tcId = 83\n# short message\nkey = 00b184c2c0a491d764a26f8b2e56a965222b36213bdd106ae782305c50f89269902476e5df3fa58e0ecfae82a9607c8e\nmsg = 9f\nresult = valid\ntag = 5afff4b009ca9c9e5dcd84f05607e7a7d43ee43b42498989\n\n# tcId = 84\n# short message\nkey = 055b67edb659e29c10e3e9cd25aa1cd5abf0880e2026ed8436e39b064b7315760cd7a9294ee23d4750969cc8b5dbaed7\nmsg = 4047\nresult = valid\ntag = 4d08baef969eed23b814472acff08d08fd3491a728778a1c\n\n# tcId = 85\n# short message\nkey = 9e3c198e93930f076b035c5fa8f10d9a65e98c66cfb36633e3cb33279cdf57688f10b7472d1fc9d962ce6954519bfbf6\nmsg = 88cfab\nresult = valid\ntag = 1cde3765ba5a15b1d0182136a72c603acd3b904ceac8f7ad\n\n# tcId = 86\n# short message\nkey = f5f5962bda257b38b2a2318929121b2eaef792d5c6a9585e48b80cf5357b29c3951b787ed3e03e385b05b8ffe6861dc3\nmsg = d9397753\nresult = valid\ntag = 4638e4427e6084b76c53ed9d6e916162fcb8b962c3d616f1\n\n# tcId = 87\n# short message\nkey = f62820ed5f9833fd22dee7bd49e2c9b19fc9668897c2c33e6c7c1fa5c277c3b9f581faef3ddc664ba537975d8afaa707\nmsg = 9b6cc7caa4\nresult = valid\ntag = f6e272a7a6235f60b72b4c7424cf32a07f98ea592665bad8\n\n# tcId = 88\n# short message\nkey = f222a1dabf322aff8463acee6444939331212be3e19d31f4b73fdcc97e2925365ea33c985282805c83dcd8fb42a0e214\nmsg = c85ad7872b76\nresult = valid\ntag = 933f0fa61d4466b5baf5a601f6b96d81a97e81c512d822e6\n\n# tcId = 89\n# short message\nkey = 56e80f3899e945310a9d9bef3d32091f29c157dd46b2d439ad89d63e14b2c24390f74db4d905f6bd03f75c32e91225fe\nmsg = 80ba25f1c27650\nresult = valid\ntag = a1a6e248b40864ddf83b00c52ae2c303b7e76fba0548d4d4\n\n# tcId = 90\n# short message\nkey = 6cb6261a56a21b2c3c13453c158364aafa78f58172a9ae3eeb328ac38808b5c68c111197a303ec36847c9a315ac5eb5b\nmsg = 79430de51d68cf34\nresult = valid\ntag = 33593a80da455e580ccc5ee9b60edcd1468460539788fc41\n\n# tcId = 91\n# short message\nkey = 44ca1ecb490470a84c7e13e1f1c69da21f48c33b6f050f48f7f244f0fda8b3c855904ed0612e2dafa5105cbd7f6449eb\nmsg = 870b981c8afd9fae1b\nresult = valid\ntag = 930f2e401e3aafb46a0c4029002f4ef1ab9fe838bc00c79e\n\n# tcId = 92\n# short message\nkey = aaca68882cfa7250988a247b96cfb3232d6567378f8fa7e7aaaca1c386e1ae15e54957d22bfff1e50ae7f21beea197a5\nmsg = a6f31b822ec24da1b1e9\nresult = valid\ntag = a9c2d68f0ad1ba50089b169c86d965f97f52388a48ace744\n\n# tcId = 93\n# short message\nkey = 1b32f9b6378934a502dd74d8b74a4606d5b2c9a8587fab1cfa90d75007734d2b8bdfe634815243526ebc0f33c04d0d05\nmsg = 55367c657c792610efdcc0\nresult = valid\ntag = 934083c8594591da783f0da28f4b58adb604e9cc76b99efe\n\n# tcId = 94\n# short message\nkey = 09d91b2fa22e68b5335d478235aa4e157435c9acfed772219adfa1e9dd72f33e1a2183a0203a104f80e643cdf29e5aff\nmsg = b31e254957db6b1b70a06ce2\nresult = valid\ntag = 7d45f3899455787e7116b570df8f7787f672d5821d6f75fe\n\n# tcId = 95\n# short message\nkey = d311a80ac801e3639b9185608af4a85e4122e29b5c23f05234c30d92d59ad13cb80390e5fa0ea4a54853228b356689f5\nmsg = e6b443dba0dab35d43ca5d6ce6\nresult = valid\ntag = 27297096f58f598391c57778129949b94628bf17bb2422d1\n\n# tcId = 96\n# short message\nkey = 06297e6c46558b9b0fc36c272b4ae7e65dd536cc1d13acbfa831fa5574b34f99e09adfb7f20321f203075fd26ed2e29d\nmsg = 309b95e5f1ec26f70786e74d806d\nresult = valid\ntag = aabff26fc44a40f0b87a40c175c17ea7140f8467dcdb95cd\n\n# tcId = 97\n# short message\nkey = e8b63a25cd85ad4f39e3c0e9584eacb94d6ae33f984da259aa533d4d28aeb341cf3ffe49c029e4af6a4805f760f35f2c\nmsg = d225c27795f809454bb2c51d21f3ac\nresult = valid\ntag = 0e12b758015ac89797d55470f3982c13a5ff1483276083d2\n\n# tcId = 98\nkey = d83a685ace9fa0c0aa47f0c7b4f0f00717619a82e2eeff87f51f67d814d51dd9e4cad7578a4e49b672b5af83943c2583\nmsg = abfa7f5978f751e87e8b5a15a6e89f4f\nresult = valid\ntag = e4e6ba041bbb7a47ec8482b2043455c119fbdb389a3945a0\n\n# tcId = 99\nkey = 5beaf406a6627eaafcadb6dea4e27ba4fd879fd3e5bfd87ea3c8d5e0acfbbda2c6bf006beaf5a30312e690724c4744a3\nmsg = bc57d467a9a2af64ad5e14b7bc0898dc63\nresult = valid\ntag = 3fab1a7a192359b6333a9699b75612211a38b6dccab4572d\n\n# tcId = 100\nkey = 76b36cc3b8ca975708ee4b32bdbe40ca13f9ce384c52c4b6602b7fd92164f1fd8432706c1966f648bf4830f4deb34795\nmsg = b1d022c6536f401d147dfc0d7d4e600bb753ef0e9f243bc3\nresult = valid\ntag = c91eb3f362049c5336c5074cb887edcb27aac1ef6575a92d\n\n# tcId = 101\nkey = 20569a16f453dd3c34df98155286b1ca8a392ea164c919311f0df9d39d976062f4f992b96def3851886e6295f2615064\nmsg = 5402c4e683d1a431868ad528afbf4128b0b10cef947d063b34d376d344b793b2\nresult = valid\ntag = 27728059696aed5bb00a13c1db100691d4a21ebea0a8e4c3\n\n# tcId = 102\n# long message\nkey = 9ef6a55f8a9b6b9ef1f8296167319078163706ae5b60897c2dd6e340b67ed5d577fb54c5547cd5f248f06e7082ffb826\nmsg = 6a0d16276941d8f04eac2ec723fa53b9d6b16da7e30e7f2d9ad898e7cbb71bd3dd234ee22836ff4ac6011b6f12bd3a\nresult = valid\ntag = cef5d900eef0abefc625c1d2862a3f42998ce8b1e007d2b8\n\n# tcId = 103\n# long message\nkey = fb56bbbc6d751b744d8c1b57cc27a1d2c2f4e38e3491f54448cfcfb9389b7f63fd0d41920968ef612510625f2637d28d\nmsg = cf1791517ef5a61c0db65a668bee26fdbc975d799b2623cc0f3e4560e80c7014fa9c02d568c98c86385e000fe6776bb7\nresult = valid\ntag = 88e99accc9c23c9c8c1110e7470cade0317817916d8505f5\n\n# tcId = 104\n# long message\nkey = d041e24e59b34d7a18128a42d8a7a52dcba5d79e5ed585b55c7c9e4946e5ccaf7e59df0f3da98c7d0523e4cc8f9d7da4\nmsg = 5279618f1b41534910395a78ded968aee3431085b599c4f55eb5ff8a2e879bc44291d923de31009db1b9f7f81095afb3ea\nresult = valid\ntag = 8500f603ce85c030cfa05731758b6be3317b6fe8e99b7d48\n\n# tcId = 105\n# long message\nkey = e1ce4884fd74a0e197c68ace3b29b552313af8e451e98d9ab8d0e8f8ee74143e8fcb6446217c0f3123a426b8ab6f62cb\nmsg = 71154b9a657b905f884ba5140d5e7b9243fec3e03fbbdbb360c8194963ae43177b5502cd20f559eeeff8638d028c501926ebc7eddd132ccea29ead7ad0c95a30b9d325952cafb0ea5ec9d9d6fdeb63950d5d69c8bbbea702aed1d444da286807ffd6b36cb49902cba7abf9bda1b577c6\nresult = valid\ntag = c7e9ae2a81de32280b518d055c2c9d7f0f5db6d06ad0e4ae\n\n# tcId = 106\n# long message\nkey = 8a242c22d1b54ce216ca03c88455beb128211a9f35af2343709af7c5f43a681451ea53a36de2e5048eb44a51681c6120\nmsg = ab5eee6b83869119f00dd3cc66dde75cb5700535a90e9b3e32b31434c297ef53f94659d7d9b11323161b2e66c6b9c9ad20e313303f81e88e471786c8e936011f78121e39630b2e0804fc97ce5cb3a34f26949439fe530adcea6e97c78b042e0817253bf75dd54335584122f5edd210341b6d93f58aa1b4de2aad76fecec44f\nresult = valid\ntag = 77392b18577ba8819fbd76fc73d45029e55e7ebecd58a320\n\n# tcId = 107\n# long message\nkey = 311c4bee7cf257b780135a2e4a6413e68a816f5d8462515dcb1c72494b6335581a9b60a217b9ff1c75e7768148f8df46\nmsg = 63ccc3849c4c323cb6ce926877969048b849ee4af18e71eef52fe9f274a8678560f9a5d47510c3c98c8a08ed4c01a01e0a3663ef0cc6c3cdca6276d91e99b0d414263498fb64ad74b820ab52b37adeaf27cb44545edb8f09094992837b8d3a0baa2a101a49592eb889dc8bace4c71e3efcb9d4149bd670ce2f774d73c12f2a45\nresult = valid\ntag = 94674aaefc06eead22d15317900fa26c8df8cdfb252bcaae\n\n# tcId = 108\n# long message\nkey = fb792867c8928f0503aa24477cebf42e0b018346e3619770b9e8f5097945e2e275ad06f0c12152366ac06e278c94090a\nmsg = 0a63e6d91d7a6a18dbad879fb8e23ae351920391eb40fead6cba846768a2c6797ff347b4301327b09afc41f7b803af6b61f6d9b818e0ddcc02536d0543dbf1a87f2c5e020f6459094344b72596d548435c313544e92c254d54a70a1d6f6edd2f82540a1ea2e82125b0715fa0f890bb2be4ba0065d2ba0144854682aed041c1035996648e2ed671b7253ba567ffb999d91fd8e7ffce5c6dc4790732adae443435a454fe6c2a7c6708d9d5b2eb9292d6fbe5e026d65332b38c7925eff9beb89063cab63fbecb2ac0e1bb61a5b1e511f949c43a34ee26f1156e97793da97bcf5b5c67641384f268131b297857d719eeb6cafa3dbe9b8d0da55c98656f20e5b39b\nresult = valid\ntag = 1aaaff966c0a84bac791ab9e0b9b505d393073665732a74a\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84d07ff90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 46be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708", + "090a0b0c0d0e0f\nresult = invalid\ntag = ab4d07ff90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = c4be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 294d07ff90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44bf81c415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94c07ff90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 117\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be814415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 118\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d077f90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 119\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c414d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 120\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff91b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 121\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c417d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 122\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff92b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 123\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d2832b7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 124\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b3386064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 125\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 126\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e065b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 127\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283abfa62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 128\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e0e4b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 129\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a42a45188e5dafbcb97da606bd5b16c\n\n# tcId = 130\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064903603d76bcf0214b1fb88c66b9415\n\n# tcId = 131\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a55188e5dafbcb97da606bd5b16c\n\n# tcId = 132\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03703d76bcf0214b1fb88c66b9415\n\n# tcId = 133\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45189e5dafbcb97da606bd5b16c\n\n# tcId = 134\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d66bcf0214b1fb88c66b9415\n\n# tcId = 135\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a4518ae5dafbcb97da606bd5b16c\n\n# tcId = 136\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d56bcf0214b1fb88c66b9415\n\n# tcId = 137\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45108e5dafbcb97da606bd5b16c\n\n# tcId = 138\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603576bcf0214b1fb88c66b9415\n\n# tcId = 139\n# Flipped bit 184 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16d\n\n# tcId = 140\n# Flipped bit 184 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9414\n\n# tcId = 141\n# Flipped bit 185 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16e\n\n# tcId = 142\n# Flipped bit 185 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9417\n\n# tcId = 143\n# Flipped bit 190 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b12c\n\n# tcId = 144\n# Flipped bit 190 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9455\n\n# tcId = 145\n# Flipped bit 191 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b1ec\n\n# tcId = 146\n# Flipped bit 191 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9495\n\n# tcId = 147\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b", + "0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 148\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84d07ff90b338e065b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 149\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be814415d2832b7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 150\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d077f90b3386064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 151\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d2832b7a62a45188e5da7bcb97da606bd5b16c\n\n# tcId = 152\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b3386064b03603d76bcf8214b1fb88c66b9415\n\n# tcId = 153\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = bb417e3bea2d7c54859d5bae771a25043468259f942a4e93\n\n# tcId = 154\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 56b2f8006f4cc71f9b4fc9fc289430fdeb4e047739946bea\n\n# tcId = 155\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 000000000000000000000000000000000000000000000000\n\n# tcId = 156\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 000000000000000000000000000000000000000000000000\n\n# tcId = 157\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 158\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 159\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = c43e01449552032bfae224d108655a7b4b175ae0eb5531ec\n\n# tcId = 160\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29cd877f1033b860e430b68357eb4f8294317b0846eb1495\n\n# tcId = 161\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45bf80c514d382aa7b63a55089e4dbfaca96db616ad4b06d\n\n# tcId = 162\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84c06fe91b239e165b13702d66ace0315b0fa89c76a9514\n\n[keySize = 192]\n[tagSize = 384]\n\n# tcId = 163\n# short key\nkey = 08476e9d49499c5f52e37f80ece6f5a45459948806b48241\nmsg = \nresult = valid\ntag = 1b6cfc8709aab8075465f32e13b0b0f796cc34d93d7bed090f297dcf9fb75e0d8e285b1500b732d554ac97ba45f33e47\n\n# tcId = 164\n# short key\nkey = 213b44d8e1fabaff837ef30ee2542f9ab82ed70411dae78f\nmsg = ee0bf48585c186ff991b4d8607817c9c\nresult = valid\ntag = 54f4010d50f80bcdb4b84d56bc4ef30e4c68f75128214cf446b5145f6fff1326a209945fc21ab5e1f5d917559ea9b800\n\n# tcId = 165\n# short key\nkey = b4afa9daaa8c944d73a3881f3221e42b34ef4e35f184e878\nmsg = cf607f6a0eb44ecbca81b6d1fdb595cee35f2353da02e82e28e133b9decd8fbb\nresult = valid\ntag = d064a51fb109c3b1d443f13f41e90e14198f846080464547806d46a8151c4e3855a81f4af40915609095dd72f869aa1b\n\n[keySize = 192]\n[tagSize = 192]\n\n# tcId = 166\n# short key\nkey = 89e46b66209548c80b0c830662223b49b0e3b895eb30e2fc\nmsg = \nresult = valid\ntag = 4b012c0c0da44ede2a427e85ace8ecc54b379e9e24f08d41\n\n# tcId = 167\n# short key\nkey = f2c10ce8cb1cf3b363354473b027c1e53deccef03233be0c\nmsg = e1fa10b8e301e0348405770bc3fafcb1\nresult = valid\ntag = 2d088af29cc744e347124fbe4100cbcdebbae037ed9bf69d\n\n# tcId = 168\n# short key\nkey = 92e074442cc4c59e72260808d80d8e7b85c6335068917b83\nmsg = 34eae27425ace17771e164cbb634306f352edc9c37bf608be8a755fb94148183\nresult = valid\ntag = b7e6b7bb29c02e4635dbdc50d8be71e2ddf0a544471de285\n\n[keySize = 520]\n[tagSize = 384]\n\n# tcId = 169\n# long key\nkey = db6f9956c3f4ca6e41f1f7f14629d44c79e0353edbf3e310e6858bbc45a7cd57778a9053ba22a141bf58bfd434ad08648c7041a224b97a0d17e0edf94fd40b410a\nmsg = \nresult = valid\ntag = 0cb1b296255bb259f3b601b49b35524a5eca6c52360754d3d96dd521c905b1c1821d74965967d8e86d50de950fe4d635\n\n# tcId = 170\n# long key\nkey = f03404bdb3e08f530d4c3a5f165d236012a4c45cd063e3e4483da088ec0afdb24e9639fccabb91f98a49dc2972e2981426573ecfe69c00c43a2d99a3107cef3a70\nmsg = 73ed9fa2acf49d6c98bfc7d6c5ad9c56\nresult = valid\ntag = b6132e5216f711eeeb44da3d92983fe5b6de5cd9410be71db8d3b07228341686aa60e7081e95f2e4b69bb7cd9648bc0b\n\n# tcId = 171\n# long key\nkey = ee799e25edb1b18452e5ed174bc6b2185a6754417d6cc05d736d2ba9efc8367e4b05ba0a2ee525ceeab74f9804a8479130c328d671e34070cf174a003a1dfb5994\nmsg = ac3e7da7e578b9b4dc2424030446c7f6aebcc471445a9e0e6e65099caeec5b2f\nresult = valid\ntag = c8607fca1888418166c550dd58d7a3976a6ecd0e4ca99b02fb187800a9c9ef909a6c1497c0652d4dca82405ab07f5eed\n\n[keySize = 520]\n[tagSize = 192]\n\n# tcId = 172\n# long key\nkey = 063d6e12e670098adabe68192023b637bb6d8d713fc8436188c4ec06fdd084ce6d193f26c86a9560e1abc27d813fce2b3eac0170fd1cb72e1930a2776bc84d6c11\nmsg = \nresult = valid\ntag = 9dc2acbfa28a7ac5f2a5bdd4b1b2dbc806c48f96ce950eb5\n\n# tcId = 173\n# long key\nkey = 359318e6c6279ba9ebcb1675f5a98195bbf5d895da9c17b8329038be857dc395b12ae91a55598876593c1c20bc0172cf15126b7a6bf0a238eda3325d6dd60600ef\nmsg = 7ad0c9098ea10e615bb672b52c96542d\nresult = valid\ntag = 4163737c219f7c5e743843dc3d36019c6585ea5d4e7cf24f\n\n# tcId = 174\n# long key\nkey = d01cd898089d8a1eeb0035b0d332da80fbd3571b9192db10fa6f55f665ab192d7050cab643996e99254d9573e0cf4eeaa63afccdefd81614fe7b83dfe30e3ba19f\nmsg = d67c77cdd0af5d10e8cae887e5a609bb76a9e5597653773c303b82b918fdc59f\nresult = valid\ntag = e7df527a988080749ee215ba0f8207838df38a37707a6330\n\n", }; -static const size_t kLen83 = 351167; +static const size_t kLen116 = 57350; -static const char *kData83[] = { - "# Imported from Wycheproof's rsa_pss_misc_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.14\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = 313233343030\nresult = acceptable\nsig = 88f4676b502e365dfd82805ac1db27d1107d1516431ab4f71107b62625b6275af4a5dbfd8314fae255820c0cb577ee2457f510851d2678e4ed3e6839848aca8b67c9ce52c5bf57a01b6683828d03470034b136e6ab1914adbb1d918fdc31f7cef6f44b0b0ba0dbd6c1d3c8d7699ce374dc86c28beb3bee8f81f41162344e688af0d91297da0dd5e8104a5440add89bdc6c05d20a164c0f079b78654f038d443743f94bc45762501034a32b5d05bb86e75dd9a171c81dbe43edf50b2e1fc24297375331d78a8f0399d4aebbeeed911f6d964049e67d89eec0e95443af2ceb37125ea8431cbad2d8416fc15fb9cbed9142fb8cb06dc7ceafac056cc1f6696e3d93\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 2\nmsg = 313233343030\nresult = acceptable\nsig = a85f06875b529ca61b60df404652e79a499f81a0591bafa3377b80d8e300cbae679a941832eb5569fb88c9f8629e3c2ebf5f32ffe43767d1eaf59016f5904de3f7d39cb470dfc5fb5678fcd7b55d1a30f716b7f04c2568f3c1a2bc780e974a363adc622e679902e966af183d874b35396423d1a263bb1c6e7330179671644c6953cd795a19e2fe4208e7da5244e4760dde142313a781a55b0baf866dc158812a723d74911c8717a512d722669193f8883b1cffac98de8473b7a77198e20560c0c21207e00fc7dd14385fabdd530d568d143ddbee8d1b502f7b194b9827eee9472f2be8b2a541124405582bff393412f6aba9c42e5824d7c24bdd4d82d925d066\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 3\nmsg = 313233343030\nresult = acceptable\nsig = 8189776015db3a51805f6bf71aa1214ee07f7e385510ea95a0d4c3d53bc0d59f07ca39af40fe8c3138cf6f4ba0f72a3397df6ffda9cf49e467a34d92ec772f6b6d51d52cef86d16f74bea798a85aac873cd4d5d3a0fbbb618998f4b2b691bc14fe1f235601c51a76c4eacd1a33975d9c3cdf1daf579fb943556f0febd948d1b1e15cc85edf486b00499fa9032b6b801b5ae4454c94d7f89dc1fa6dd6a927969b14a4bdf51caf7cc8a87ae05d41e1933849acc5fcb0f478f1e23a0f476372837ade82f8ed1809e2245062009b8e683f563029ddb9892a398dbc2df594c12fb4a0f0c551abdf2fee4cb325fe9800ea741f7b2f2b4db370939bc7e3ea95ab539b10\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00", - "b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 49e060ccb577eb614274db1ad34249490d1cab2b8d3ae2b708b93c8a8ead302e6efb8d26644d5caa5f62b89f3949942d07470c37d8878eb5cc9c154701feea36ac66d0a9723fb316f7ad6226f634346c17ef47b3e19c7b9979d60118959a5b35cc188200c8f9b2723046f480d95a9a0af07e648225dc35114d8199a431ccf4f44fe8e8c9c0130aa819aeecb09f95eea8f6d89981c05cc82716fe7ea499c55460c95e99871aba1ad3ac3bdbc96850863b23e3e6659ca346ee0e186ad717a8ec9c7a548d8fed0e7b79f896722659ec7e1335de12f361d5e6c65c791441c3c0020de48e60f200c3ab79fe0179513b2c1592e2f0064ba4799f6a0eea199da77d174a\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 5\nmsg = 313233343030\nresult = acceptable\nsig = 2d4216f277e50736d41cda2191faa97fa99d9e325b34926a363f8dd73c901153f087ac206cf3cb25001dffbb6200b7b35565b466f46f23aafb872e5c39d26156d36d1bab19382e5f15873022e64b58c129d38eee8126130f6210fa5ffb697bb3dcddbd99a9b60b53b25d094f9ec9b7a1cdcd0cc74a3ac478c7a34cc22c7e30e952bfac85638678b8aa2341fb1f108114d43dc849d91a3b174b0dd62f6dfb96459d4c76ab5fb6479d68d690d4a5c120c42a4bf82a8a7e9e7aba127fd5fda3f4c6ffbf2e4eeb72ee695cfeb286ec99e7cee8cf300e4e149cf17e70cf9f2bdb6421087916e945bca42a70a88b1a87e7ca3ac0a1bf2ab1a65ebab7726994a6c9597e\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 6\nmsg = 313233343030\nresult = acceptable\nsig = b66294f7b1e1a673e566c59f9abf264860200763860cbd666e476dbbd61fc39136353ab74299cbfb64bff88ed51cf9a20694e832fd97235d31ec6aef386ad44487d3753cc1224dbd59a34babc3eb8b538c10705775a27fa88ae35c0f618e0b3c6b91d999fdec5b86f15d1e462feea3af6fa12a5234d526e82039e1df013ef1cc6056221b81d755a13b70c618cefc6dedcc3361b5a910fcd4a812ae48382fddd75d5b51ca3d243dac021aeeaf6e2bd4aed75d7ff6d81c9aaee2356e3d12192b5e75d006b124275b0daec06b5af29b0d3e85f057db59db4b887fdd2bd0a33865eb87e8f3e37b4d8621e2e41c760a973f1ba03722d42bf5b921380b71fea949cf0b\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 7\nmsg = 313233343030\nresult = acceptable\nsig = 513db066bc72893653d1f7fa3f19546281b6239bc8390c4984999121a1dd75aa94004c3874", - "beb6327205f2ecf8f6eb93eab018de3a6c71ea8b2d3a628188d4aa2b1cd6bab169f3e78229e4383ab68aea4635935e0eabbe9dc1d671416945f1867782900da53451369ccbd548c8f756e7221ee7e1ff28dba099b8f28d1f3aad2ef8bd816a53dfa9bc88e4e3983b0de955e647caf71a607ffea20a9677e687cdda29219c7daa839276de3fe436b96b2c68db64c170ab9e300ced00e72a9c0fdc321a517aa113cdec8e2713f8b54ee2d78820f6f86b2f6e6222493d15cbe8ee9815ef2e7ca9a6ceb55955049db35b1af188b99f2c4bce38f130a75780f41b852917\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 8\nmsg = 313233343030\nresult = acceptable\nsig = b3e943f3982a29d0c1e241890ebdd9e734baf85bd32de80c6240e34dd1f7f0ca4f37fff2c373f9718e7e900df224d155c4463c66badc8fc3563f36309568436bcbef1d83c63e393d9e1432d50541d45e54b7af1b18cc819d9eaaa65a4b1e4f37ae16ec75e9f44a07262cf3e2dab85a066d92b750ba1cd2a1d42493868123f18017bd9faf1de1a4f87a3f9cf744da1eafc761b7e24c9929d3dfd15d1b08db1e3fc64932816095cea495e0dbb82842b5f3ca90dc7b78895c1f12ba991f3bef6f16451a84880fa31cdfda6b9624a77a3a0489fcfdf6e07b89c0689b5b7b7052372a2b1e06a3457b027285c3b160c0de1dba4910c0162ae8e737a3d7dd1e05c77ace\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 9\nmsg = 313233343030\nresult = acceptable\nsig = a9b9eef8197c973d6a73bdc165f40f0f53b05848c93957aec2785fa92a9cc6397418a71870f1bbc21a39b244526b4a39a538d149cde62bf8f21f3eabca932751da83120136c48073792c55e2eff4e29e6973cd3f1090c5bf3ced02a1ba4c145addc674d33b0a285d73d14bcd6f374f60c95c4184e2d57388e9c73f697ac0af5116ddbf5081a8f99ace11027835cb3df8ae785491f42850de04b3e01b9317bd04ed488ad72e787c728b4516c7d839d388a2fd7b21994ff3f5b7f264413bedd3d8a5258d2b39e60411de1ee69fe05f4e76b23a9f50b49f7043f9812aeb81cd54cc1dd9ffdc6e73580e2cae821579ba3642ff7793a3995b136e057d2d2ca7aefae4\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 10\nmsg = 313233343030\nresult = acceptable\nsig = 899a49ab1511bef8727d1ed7093bf7e6a77fa8750d047b203740324d18fc45b587d3392bb7abbe7e6bed7bf2be2fa5e355f8ac5452e675027dbec1835555d059a4ec44120f499e4951cc3fab33d3e8154a4340d29c69fb50728c60eaa58d61b75cfe7efadbff55fc0edffb4af9719cd1a3b2a240936eb6c2ad70b10b72aab7e64d9fb17ba8fadb6f4f0036bc22d5779705b02d261b8c9be700b65c066c27be02db353f4ebcab1ccb41c4bbcfef39abfa8999196951209558463aab1c6d4917ae97006199daaf963666d85c133817035f36ea321714a6b20dadb355a226257fc0abff10c9afac551bb7c3ba9e44737f45ad4f9b7f2db002afb7ad61cda0d96538\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c39", - "7cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 11\nmsg = 313233343030\nresult = acceptable\nsig = a9cadc9cf41400ea2a91e86ef6e0715fe5669dd6a8fa3aa50036e521e0c939ad9530d15e52b10404cedcc5405e7178a0444d0c5d20cfe4af10f3c07c10ef0915d05e02c62e5d0874c2ef37d4176655f63f9a9dbc2da1561c09c995581cc811b5d7621e84bedd7546d346a7a0b0a65d7f38f101b24303da0b0236a7c78f4026cc20bb32dcf79cec7f9a88661dcd52d5b209bca191f5c607e8d8e1957d779e5dfdedfec49bc2defc0ff921d5f7e875e5df46f0687a05f03b5ba5ee6bc0fcaf8d67592a96c0abb2f9a99616955222dd1e87ec9aeb4b160ab5ae96afc87a65b522c6bf4d8133901dc3a9fa63acf749ca06d00e0a8fab39a939396cdc70f52b9863a2\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 12\nmsg = 313233343030\nresult = acceptable\nsig = 807285dc6aeab0a5aa0a7667856993288b9bac9544136a5757c63b23715944df3b9b77953ef1db296ff26d87ff3dfe514e415d9f118fd09e7ac518f982736bcc08b558038c771dd1c1d3b43df922ddda57906cb5e6f5a3ed677061787ffae8eb1ee2de41b5e58f5a012b49937af8d7d44ab5f4c935b73764fb46daaa346c54109c224e16f9c53d3bc4cff2120fc3e0907984052f9e33dc1dd24a171b202a52cdefe13e93cab145416569b5a6a7f29f9b7b36bfbac41959903d765bc91c3c10b645fce9e9893ba1e3325df764bf4ef0f8eb3b3a20701d8e417a86d9b859f2a318a66ab923a49fc25a511900a149e89123b488e44d8f77abe9e7fee56286d7b223\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 13\nmsg = 313233343030\nresult = acceptable\nsig = 9031c063103542817542fefce9e30a72e9f14be94ef2b7a1df2ba721a9a4efe31476684a491e4849ee8720c1f49cdf9755d549b63fcc0e78af8353bcb42575abf92de06a308142f212ac987d42d5f622b8781c6c215d3760aa4ca8441bb3f4587da6a7463ea9425a45876b0470202315ec1881dbd4f1bfa40801dfb8898561a6ce6f88698dab497442f1ef83b1d3540cc3b0af139d5e125a88646f0dcbae053f6a8fc29a2f083e81d61082812121c3e59c3072a76d4ba830d4331105355693f561adda1ad8278ce0e10ec3f7a5ca24e31d839e4823c683e14d75f764872c2267623faacca1707f4038494557df84cdc3fd4f93e4a134e9b53e7e80ec1d60556a\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2", - "611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 14\nmsg = 313233343030\nresult = acceptable\nsig = 9dd8855b0abfe98598937629db4455c561b074d270146d6af837c709df76d42ff3e0d50f04f7e9b3c43244e4a893f0d22d54c58b121b78dd604d1903c96109f372ac9162bd0e4188992d9b8957fa08ad9723758299ef70125f916da07cd4a696a16340d7575e4fe6d57365c2e4aec1a5465a2ebc7a4a7b3d83d8395fcc36a11e8337878477312a7fb4ab81b70cab24ff98565559846706a42f2c07a555e92f86be89d7704a5329fb8637b7621112109f42e49cf5f9a059a7225e2587ac41b699a0b27fd477e0b1dcaf8ee88291d62f41692929b87513a5d8e69352cf6e3031f42543cbd9d8442be3c28dca1ef8a9b7e51ba089eb691f6054cec55a8e770158df\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 15\nmsg = 313233343030\nresult = acceptable\nsig = a61ee300ba0ee8bcad3554a5494a0ddacaeeb8f2e0d4c71383a2684f21a260df6b48d712d7145f62468cd20e3dc70950d89a7d8e962961196e53ddc7f1da53766732e193a7e18b08ab3c71c3547ac5a640cdb9dd3a2dcd866d8b37d57549b17a85b1a97271deb8515324ae30782faca29dae55d50030b4d5eecdaa65b035c048a32f01018a865a9ab1392b477346554ddb403dbc03fd834b72956087b623cdb6d4ad886985576ef75d186d78d50788eeeb70a0c65259f22d5dfb5d08a9c86d6055874b4e38671fc64a36083b34e0f5cc51c26ad876484c47ad7f8e7a524e967f587fb0ada6aa1c06eadb0a149923912565f25031f9c5e721ecb68ff2653e23e8\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 16\nmsg = 313233343030\nresult = acceptable\nsig = 30389051e99e04c06b5e92773ebe85fe1432ddc868153337a7df1f429b941c779049219a25db26c7ee2f189c4a9b71e690317fad22174b45857a7dee66663ccd608d4ee3da1c26f0f0ce1e87797bdecefd1d794c782a7cac322ad38179aafe3df4cb815885c391b6265244b45a7c870d1836bf361eedaff8995ca882709fe9b32bc08cd6246d74441699bb30462b9df9f74fb597b4d953ae3a4a7f060d464587ccbda79096df38ddf9b10a68cce11d5304d648ba3c5e8e111097a54f2afe1f64eeeec0db303b5f9f8863c300c33a4960a0664b59f18016d48265ec24c6f0bb2e6441262e6ea7afc80ba5399e850fcb37cde3175f63383da272f1f692cd732ca2\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 17\nmsg = 313233343030\nresult = acceptable\nsig = 2dff26d07bd2e3de20c8b6fa527e9fa16aee9cbfa0d01cd71a0664727bcb505d0518314856c43c602de0fc4647be7f496abaefc1c766fc44f6572ee2b6ae3fa7d4f23c82703d15ccf97e2e8dfa0a15a3f3f639a2f033910ec04494fb2470ec1a6cd7fbb348153f62766e2f84c1542c7e32d4d60d24eda5b26d513f49bf517aa56e43d05c8b12f2de93c36f56bc87f786dbea42fb960cb4423752fb4a811eca396d0552c4f36dd692e2ef551778a9de7843fcf37f767e3d3f63b139a5aa40d8713dfc382a5329b4f90ce43078cccb6a03f18816ef3b053006603cec694bd6e8352c0b545c436213ac5e4cf42b2a3abb5536b68ec05b3cdae133c7105df461f4dc\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6ed", - "b751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 18\nmsg = 313233343030\nresult = acceptable\nsig = 545a45b222868ac1bfec75f48c52b2addc0f564a7ed54ea7c2805a4640cb54edc58e0b6dad1aaa6b629e2eb4c1c56d53cee00e61ba5596a429e469df55e5964fbf8ce6e1f36ac6adc4aab6663f152fca09729c314449431e96370b51a76261ed37ff264ef4dc9891a41f866e53f98617e496e92bbee75cd2651953afd65ce6d2609f49cb201872ccc6b8d9b853e442bf6e207c394dae3d180bd7126455fe8bc08a9c8d79a97a300884b88e1e2979ad17d15968e80c7b6eaebfcbef488fd4604f24685fc8658560da381ea827d96c78bb17d9e5d09c2d37d61275fbcc333daae6cc3c35a45f7f8d1b869586075ef5f90f60a6e9563f31be4ee6f54c1bfcf85079\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 19\nmsg = 313233343030\nresult = acceptable\nsig = 40af2e3149996f2bb055dcd6ea3e3fba2d57be6424e206c213abe5b6b3ac7ceff049018abc864118d90c5028857d73db67b94e60208c4304f61412bc856ee76e398e211d5c4927145c3ee61ae101ec071e43be9bf17e2de03cad861f461193efed7950794eaceeeeb34f4944e0bedf1853123557deac03457811270c7925d0c50eab2b6dbe000542fcd3dde5cc8563ecab6ace85bf1c535eed7bd67db0584bd4e911fcd3ff5c4059fe53dea7b382f953a4905d481af39beae68e418d2a4c0d75ed5949dac1327eec5bd9d0fdc4bd9ec67f38f2a74a4d38f0760d3e19eb9dc67c96fbd43f1aa8317aac62781738504a3c0dfa5c2288cbf9a412bbf50025cb4630\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 20\nmsg = 313233343030\nresult = acceptable\nsig = a7ae22473e8faca5602b9f8dd4e9a235af3c734cbcd2674f19d9234eee077068b2f65b3ed884e1fabef786a559e458e1fb62990c543f987e09ed482bab699cc2fdbb19397452ae3c080c315b65c61ba0d2088c776ac4533d3f877e9d9bd58dabdc9b557b5a2ce2e90e6a8476fdcc0e84bc2d861ec2e09b078e4ae4f32a0c7032f86f9a0e064a711999fa4dde25ed2841d874b172f6fd621c328413d4bffb3f6d8de7f1a329c816702d1ce6343f28cd024d0d81544854a455f337e10049e9b6366dcf96e7c47c1bf3ae0b9f041017530d319cff6a83c7b4b073f6b2a0034698631b3b103bc296773602c198f17b9233b6b8360863a716ae1b5ba54efc7835301d\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n =", - " 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 21\nmsg = 313233343030\nresult = acceptable\nsig = 432ec7a685060666df6bac3f47d8cb960a70b1f8fd4f161da5b3cfb8fd44f83442a1ba43ca8e748a59c6c7ed7924dc0012bbefb69c97750d8d9144b4cbde2394f4b90502c1d8d047355a51265913838ee974f2386ad46531955dee655b72d470456c8cd67467c905cb06b7d46ef14fc8c9cdb70a4d90820cd80cfde02eb164542e8329dc927e199d0f2ca12cf4feb2414eb49329ba397bd2880510329718c558881891d6085211b6fab614847fbef728e961c8cb710d2e0f4d1f0b292cd372f86831c783755d149a511ce619e3ba09f41aa45a47699f266dfb8c15f90e795db4f78d97c29358a037e330ce7b59d4e34ab2e0bb84a3e8898bfce5d585b9b74f6c\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 22\nmsg = 313233343030\nresult = acceptable\nsig = 3cbc0634c9ec2732ab369624ae58c3a5c18ac10dca48732a4428a042e8b35668b119d24a5e10b5562ffcc6a5b6892a562c36828658b92037a9d48801f0694cf46535825fe450d26b55866979fe4ea2238550e64b2ae639b533a9b4c7c7c9211c8adb41e8e5d0c3c001f50d025b06af353ca11d7277129b6c3d0c3592aa1dd3e6a3371585b0cc97487a8310cc1403dd0dafb21ddf1f4983512c91f9eca9f2c83c376963a1340d4efc61f3ce23bcfed6fa01223b369f99e13003b9b9b78e54ec305569191b3dd2f7c6b53151b5e446d72b5409b18fe4ac749185feedf30e5db3096df982b76168eea32e4298b75e38caef733228a604adeffa8a878468722d36b0\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 23\nmsg = 313233343030\nresult = acceptable\nsig = 02d5a96749111200cbf977effa208876f80276dc90804910a4142399c24f46060ab148fe7817558657c459be7a59d01b1c6bed2a9d797e76d3eecf3a9099437c73de1ef1b14fa24304fb35782824e72db1adad75e0dc56e503c5a0ae29cdd55a8a6c29594153be4f69ba6dedba71dabbcfb5ac8de3b70cf82aecd6b03db4f9a0d3e7bbfb90b5b3c750e4f33cd3ecc713f8cfc15eacdb5c6e6db41dab5aed521fcc7188afdf059a7c3ebfcd2f1561baadd648cd6bdfff00b6c80130c5a3ecc3a254f8ea8f484520a0522f3aefa0fa79496b8d82117252a566fb9e191c0482398f16be513551e7a6afd9f7f2f1e89adb2627dedd96ead836a8f88e0b361ebeebfe\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 24\nmsg = 313233343030\nresult = acceptable\nsig = 97c683214a380bdc8701717ce1c4c0bd6b871fd65eb495d449ced17568b7593714f49ca8110281a1fa8b91ddbb40f85c3f0dda165bbac3ea055c8b06a0f4fb887c597b3e9082607c5c9c837d0034dc6d3a0fd4d472976b81a0792f1e31891691498c07dfab88ec72e1ae0f25467f9a4f532493d9657a0fde2f88ef648769419e269abc830e9d6b6d70b0e398cbbd05064935ff71d586f5c363640da6dcd330cf19016aaae85817311fac58f8bddb304c74e0392f2d61ef940124d6a337a3ad6be2bdaf83955474e7f0b2ca63629ef446c9355ce8f", - "52c3c802ef3e160002ffb3824bcd25535bc2b639a4e609e3377e121b3e170e423d3f827132da216e21292ea\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 25\nmsg = 313233343030\nresult = acceptable\nsig = 0d9595559acb85a317dd798b6a904ec80a2f9afe5870d05e017371408b101710026e149084dd0399a23faeed59b18082dcd3ab62bd67effe619874bebfcb2d4fbfa44e754a4f1853396fdb79d712f1d3a1dd3ff6b0707b9489694dbd30d2fa92e002258d461023f1564c4964c859ed56f93ed42cc7c022d05eca29fd2b0fc2ea252b7e2a68529fe27da9a7a900f18e61fbb2dad4da8816d52746046a6515c29f63406c13634695ad07aa6d2be0abfe0b8e10788f2a3a31e68129bba1bd51cff5c980f6c45fb36041c07b4c863dfb5ee832cb5f3cd870205b23c8176777f4078b2655a0cb447ff34ced584f0e0eb4abdf2f35fc4523a52a9576c9d15b80a6d54f\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 26\nmsg = 313233343030\nresult = acceptable\nsig = 98bbf3028617ae1a57a689217ddaebf56191c686f8be8e6da7bce27fdf49af2b9d826c64a43f79fc7c603c5885b0c46ac2d175a7662d9ba3d82072069363cd93f7d3a0d61375e16b5a5ea1f18eaf7307e3cf8b27528aeab9d0a3d1900e5599d9ead68ede88e609c213be0a97642cc2dd6e6d2d6cea5b159ae35c42630fa9d8ddfd5155c3c070e12ec914273ce5304f8057eb0fcb0c595d895aabef7abaf6fa12eba65059bf2ed86b7064e9a279bf9adf94b894082760c5e9c15a29feca66e687df5b68e54f3bc0609aa778204fef7f8ea957c0ce1a883d1c8ece6b6b968b5d2c50b726c43f2882cc76f083647ca259e3cb33bdf1fe38d7bf8cf70da5dd9248fa\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 27\nmsg = 313233343030\nresult = acceptable\nsig = 740edeef36d73719e813faef24d66f1785b278106db66548d311115ef8203669d2eeccbfa7609d9f40e8bf4180612835d6cb07b7a6c70038936334e007b32d3b84fbf2d78dcfbae22dc5c6d4849e1e073392b02badb521247bff1c277cbabf1421ee9690a236efd5067aa3ee0cd7a3ec67cc80166bd928ba14b1105781a74df09928a816e4f2e66e9c5e45ded285a597bdd65159d87f54c8849291cf50d9aca1b57e612f7d4284f24eeed1277c43a8b1a7cb0a3ea988696afd0f14a0bc1d172bc19d4abbeb9339b5a7b8637a88142f04ff9b8d011f7b8fe1d37f75fe3ffcf13bca3c481d806839a520cb6e760bf21d28da20f58742f52ff5459293a70161bb73\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b494897386", - "4183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 28\nmsg = 313233343030\nresult = acceptable\nsig = 71065afdea905874489d3029ffe3979564b3690e980301717f29c2333aa029dc93dec41c26cebb4e28bd0b4beb5843f6b14ecd803d5e49b3223174f2adeb87a69a20977d3bfd486fee88d829e07957648da5fe6c8cd72d0dd492b2242afb3e9578a415b65c9160a37501e22890a25b4638c9cf9685f49c840a04e8bd99f9029be57523e05a3e35de01c7454a06493b5249b4d5be2419a4ec166f6a50f7dfd7a5852d05a89d197dd37efaa3ecd6c27e0786532fe977d35cd65a4ec2d79db053d667e61793d0719a1432b0c0ab66fc3e5dc6eeb415774c1acd448ef95a3be4fc34083891159cf6d630bcd6d9c78eb596caebf963210684ef43a6a64d4a832251cc\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 29\nmsg = 313233343030\nresult = acceptable\nsig = 2d01cf0fd2d3f2561b34b7eac9f34564a33267a98b2ed4ec00f07197cb3332a7d0cd416e221acbe3b40e9599eca87cb54f1eed51e5cd70ebbebde573215820417bf55ce998f4121da2851fe01477c988553edd2d85f58d7a24ace99ed1bb440206cb30067dd931cabcc3e3bebde0eea9ad1825690de0c5b2022191b978484379c7aa30531d296e6351c61d6be37b04fdb6eb2f11afc47b9437b5cfbb6a6f059c9f6b23fbd64105adfc72662325b5abb446529216dbe772a3a363eeed2de26647652bba01721a5b875036a75a76665031bc26a97d416fe564ec2a9b808553929e48817b6679abe7feedd41aa9c6ed79676c772f0d8acbce65137b66f45242f31a\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 30\nmsg = 313233343030\nresult = acceptable\nsig = 552c5ea88b09b51b8653fd164ccd3ea62ab84abfe22d01092449620dcbaa86deacaaa7e40e22b16cc30113cee21b5e491c8afa3806ad39da88d2cd116b25851b57c26c6c6c8580261a90150a88928e22524e731dbf979d7ec7bf70f853fbd3f77fba86d5fd325eb41f12c28416c2125e2bcc68297bba44b41dcc9239d93e5ce9f067f93e0f817d439cd17837503bc82eb342fefa658d064b21d14c6f7ee9e0be061364b3b73e441a6b610d63e1de6627276580861b085648748bd575a33b0e75bb9bf2ef699556bcc09f1262d4bce29b8b508aae8278d9e663818f2745186c33733d9255c5a54aeee8f4180816d8fd2aa0a9b9cf22cd0ae3124eee81c477a6b6\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 31\nmsg = 313233343030\nresult = valid\nsig = 52ac571ad2a54ec76a1efc430f87a914dea50dd18bcf82892c93ef233c2b9eeb1970229f3e79086b51d9f1e61eae5", - "b589ca3dcb140189c79e339d56e07b92e24fe61da02c395c651e6f22e9cc618592829ac07883f1edf120897b0737adfa129442404e4bcf23eafbef3439a7ddd1396f1a7ab4979e2c3baaffee936a47a4d74034f6977b9703ffa71de427c621ad5ba6d912aa2dc5e581f2999566ae0abe5a65a7a819de45cfd701c8e1bba727bd777d2102d484caf3f6ad72f400d1cf078e97759eabec691a529a3548f55779b5b9fe7c586590bd44abe003b71dec960c2cfd9098dafa329c2a75c8d94aa0cee0b91680fe3910e5239043276279c701b8aef\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 32\nmsg = 313233343030\nresult = valid\nsig = 58952e6e15ec300c02758a59518f619179778fde614a3e3ef742a6b9039275cc8416c26ab5fd24649ed22def7f9215994cd3ded23459ae4b31c3a24304401a8ae700a22bc270c89f4300506baf4f813396ae017a5ddb2b0477a5786d425a96e967fa350adad596f1ae0f8148311ea14836c36b39d331dffd7453c6f7e79092c13938d90b801d41569bc4d14a8497cdb4292c959663474d3c6b391e5e7ff301647afb4fdaf8bcfd39b4e6e7632dcd5de6ca12f0c22c4b2dd16a74a1e814fb334ee4647cfea98acc691e0fc18f0e4dcd9354d3a8f5a1082000dcb3ac81749bdf2184375091ab31e133216ec0cede22adead906f8595e85fce5f28a67f7d6f11249\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 33\nmsg = 313233343030\nresult = valid\nsig = 5c2ec7ab93afb7a9fe2d0e006597a075f8ee01ff04bab318a3e3c489878bcf321f681d123a7acd0e5eb01f8261a82fc3d34fce1a36560d0859d39ad9c2b8fadaa2673b7faf0c0b74eaef13f8a71f4b9729da1e3d444cbf261db415b59374842789dc60b1fbfad43daff40ebb4dbbdea400cb506ff0b75568a5e48705d75abd9b7444178da7ae901642835cabf86b22e55a5e090664a90d6a78f3e3ade7a72754fff56f2445a014928131ada477420b38951389e84bf3cfeab57e864513ca7247323af03667cd9ca926dab7eb51d24c25918f4980065ef1846cbda3a39b1020380148f70a0ce26ff43658374870b51854b99be2d3315b317efb1390c7c13e871d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 34\nmsg = 313233343030\nresult = valid\nsig = bad4437432699d9cd3799c29bcd959683b879287eac2b52c5c263f46e2488ab5e0be517ff7a5bc59a5fb217db5602107a28045f08ee9286afd3d61970fbc12feac76b12f75f17993779c8c3aed862dd681665f386610c59a4b6b0e639de5fb55e36b52baf3d9e0ac150d3ee30be85ee95580b34e47022c517a96b14b93a64c4a129def11c56b34f60353f40c813f60a924ea0391ddb2770cb00915bdf33e3cbe6f2e87840e6335b5d8dc3d1a25daa309c5644b035c46416c75460f8ed68a0081df5140cef9533b33296f6271781c2ede182002165be862a2f4d8f5c31d26dfb6dad56cdcf269b4e3143c152dcff6ec80754e22ce2edfe7879a1eb1b83077de98\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb7", - "51b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 35\nmsg = 313233343030\nresult = valid\nsig = 3b45f1326d3b0bc5101565b022541f836adb79c9e10e20478b1be6a32a54dbb62a5c56c92844f46996289f85501e1a681a29773667f42e3f0c1e79f14963213ceaa59282cb0d2961139ea912faa94d3762aa928a03c88dd5678373e39d182d8690d9c9b8287622fd354bd5d288cb4bfefc7fb5a3187781339441b358b7f0be6c884868b7ec47352712297ef191ed4e55e1c8e438eed1dec2b57907933c14ed5fffb101cde6007c7823e804f79c34db429a55c2861c2c8a4606509f7be774d1adbb66f640adf16aacd61730f8095905ee9978f379dea4d233b3bb0d7a0feaf07fa85a2864014329d9d31f29cf22aa76c5c061ec41e4211fbb5fb42c8d087bb917\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 36\nmsg = 313233343030\nresult = valid\nsig = 84d30ebddeb64f5fcbe17632cbb692c1222c5fffb54e37f25bb87c9219930f5cbda0f762889a8989b8b23fc79eee17d8e590206d55b4006ee3cf4d79aac93ac5a3fc68fefa280b53368e16e95fb8629653d76991609e42ea04f19e19a5bd411b2ecf9a18de945c695407f608c05169e2e200259a6cf43014485b86d3ac10b22783fec39188d39b5960a97a414001df8381cb0c17b1ad05a3a58175202e2cd8aa6ca3131d3bc0efbc2f0d5f09925080da539b93980497816bfd042949acf31fa2705a63d7442cbe1c281328bf58a1e31ac69f96d67cc31856e22b7fafbcae2b6223e55e2c81a5fd67d74cdc8ccc5c3b6fe2d8319ba36ab2da9a8dd9720384662c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 37\nmsg = 313233343030\nresult = valid\nsig = 080c7363b801b6bc22b04978e72ba6ac9c55932431594a2f80e7aca117c51bde990f02defddeca373394829f41a9d49d62fc1593f99b169bf6f8dd4daa149eb2acf6f470932af5615e440f7b648354f081d9b82eade009f52328194eba383593b60bc50689449eb7d478679dee267ce199b3c99d4b004fe308102dccc09fe041c125d4d6c287dfba9c6c40a4a1421d5f3734f6ea09c85e994b1407ac8c7c95b0f78925b9604027a28ab2f921cf1c9feabf5300e826b383b6eb11b00b9a378cf360e760c4777cc8f4467301417ae07556483e4e47ece4e7487b188e2a2ac95d85a77586aa12537436ab2e50bf7a4fd7cd577421fa12ce6f4b69b97bf248d85866\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 38\nmsg = 313233343030\nresult = valid\nsig = 676865e033ad3a73bcecd236a125a8305413e2cc99db2225ac87f7f0bfca644d87bc6489295730b98874201f0889e688872b4c30a68a699e883ec0adc5c38eed5b90ef1ba12a930de42a9bbefdcbf3bf9cc157ca950b9e927841df138f89f874", - "207c2595e6f7fd4039b6f094ac0a5f59ca5707da5c3230fc740a195b8db741d602d5b12dd0042869facc1e05c03905b7be9ccf0cde94426243093e1622373301542c96667f163b067b1b53db10ae401195deb9d1746748e5f491ffc7051c946a245c4c1d1c3f880fe99f09c8a90d9138dbe994785f576d79bb3eb3f4be15de46ad4a8073ccb946e284dc2ed7572d90d8a841ca0dbff4bcae1fc307fe17e87d87\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 39\nmsg = 313233343030\nresult = valid\nsig = 603bf778b29561fcaa54f5ff628c5d257e0212c6327e9112cab8cf2853146fb8e960601e9613f57baff8e64223cd7e0026f66188878bd35d9236e9de5f0950bba51be06eee37304081a36ef7f4f7c9404956c40d30b3a4266a3b25898f546f0f6994c54ec9497474ed04dfb3a24a4938172d877fef56c3e6e11586a5b920c1538e2f22dd4c971d933d69f5a4742e3b23e2bb56b1253b67bcce761722b9a026674398e7711f9ec0415c75c80e3bf38f6991b3963bc4b89bf3f041eb8c894ad12790db35d24c54a4d2123fb91d9bc4e9c116ace06e7b59b093d6c1cdccc067540b2c599f8f5985ff6e14da691169bce203ae8c127770f3833b0b19847cbc4f6a56\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 40\nmsg = 313233343030\nresult = valid\nsig = 8272e0864261c5bfa05f4e40a98aadee43968e9f5a7ebfd7cf39087a2b61b34f4592f00c3c18681e941fb958b446c9d98bae87944f0d41f13b3d1662bf9db1d011c926e69311e296d0dcc59e9e09e4f6c7b0a7e5f232533e02097e52fc0755ea756ba0c0ede3ae4c75f7f8966b42118d1683fb9f1e127c1e6a6a63126a0d50b1b5a59f4adbf5cb822f7b863c0f8d8fc01dc698bd70943a6231d7aa77d517be3f1fccab61c99b8fbe5e4f745029ce81c9595ec930abf7eeee6235ab2a84002471b971eb91838e13ee4b014cd91059b3975092bdb26bb435eca40ec8ae887470f1c11e32d2fca111dc254c029a2f824a8dc2824ae32a1168de2c23fb69c77647c9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 41\nmsg = 313233343030\nresult = valid\nsig = 77c77d25c39754755541409749a94fcf10b28edef92a06792feee1a5381c06aa1ed6fd46dc76bf12541120922473912bd63bb2ac17295110615e8c96039eb800a0a2504a47630852c354da0b9c44c9cc6b30fc2c5715e02425c9d573868f0eac1e97415408d4d7850230d0e02b61d237b4145c99f822c39270fed2d0c236f0128568d7ef5dd5b26d0aac7f752dd45e891e7f3289974168a6fde1c8de368d1e3f546ec4eed21200f217c9de87400d846c26ee70f459c0f87f5ae64273999b0f1bfc1b60bba4db271b3d63db27cc24b9d225c83d2043f3e3a20c088b36adc50c15a5df894a4a4875918c8dd34f91c7fc8bec50872217778992523409cd21f8b88c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f57", - "0347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 42\nmsg = 313233343030\nresult = valid\nsig = 64a9c0e6fbcea96d62da56213f2a11d922418fa1b56ae4afde7d3442c9f4013ce11ea203ca23a351609a41d5b7696bbe2f3cca01149a1a7b9c0ebf052e51167ff18bead5f2d3c2df375a2fad08a91b8c36baaed7aa58469a8f428e37e83ab04feffe49997c640bb63aef23ef408fb299aff97fce0486ca36abc6441fd52cfdccdff17857ccba6f448cb3d39b729287a6113b67946c004720b4f0bce42678e0702b0ca6096def9e4c67244b68d89a5ac8986ef6f4acb0b50065fa75410c43874844af511d6332c7db8f11988e70a7a02415261101d9e36dece79c211e26d580825a7e5358b1ac64e9fc43f381b6cff477b58d2861c73135d044432cfe34cce883\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 43\nmsg = 313233343030\nresult = valid\nsig = 26dea68e27018d3247e2a1c70796f5e025692ce3d31a6cf9eae6e0ad0941fd36f66a0ff542596ea15149708df7b88b63d77031b1a1e8e60b2221b58560141e2a3cbedf09aed29aabed1c35eb0ffb312bddd04f66acddf42a0d7130e1268d909d988bf06d465b02241096e8744b5541e15ed274e54ceb9bcd796b3c361ad7cc59d5ecee3f1131bdf9ea681e9be09d18394a64711a040fe421b8678da330c38ae6f057a5b690ba7164252938fda0c5396d49f265f7a38754edfe5294c1f092721ba263bcc334439088a0c7169d9badce5b220f2c80c44421ecef605f46c6ed9affdf3c730b266eb031f1f265003dff13066d3b1cbb12d898e6c15f34f7516dec75\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 44\nmsg = 313233343030\nresult = valid\nsig = 91ff01e79f9c9e50aea0efdbc8b2c370f3a40ad8e489601f8217ecf9d047bd8e10bda664ea986f5734ed38aaf67cd7b227e5b68dddae13cd81f9ee1b7d8248bb3042a3ca670f32c316e81e4076788420a18150cb1d4725f7a239b49ef25f458716679cb1971d39b0678c1ffe3f45d272923f3551a337871b59f4762c6e11c9665b200c5bb7fc572e0ad930a63542a1c77c0df7acb8bc3c3b0ef59ce6c2da74ee6ef4210b409e2245873e6fa24739d36c0b12e5e328ca669316fa6a4df7481a547f6e671b7028e2ea3c15ac98e742d5a8995776bd586fcc23922eca59b1497871f744b357078e8e90188a2b7224c19ba9ca4769f91e665a9cbe7de8ebf84f12c1\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 45\nmsg = 313233343030\nresult = valid\nsig = 71ab62e163e31ede946e41909ccd87186086c7d99a3459813db6e380a046cbd75e8cfcd2086f2b1db021bd54e72b88193bd38f9664af1b7f100a89c2ac851cd13d3dfe4907d26769a46a4b03256d18db21424636b671189619840737fef2d8d31f4864a7064716000c44e7ebedb6b0a3bc06e5baf01fbed82933abbc43dfbe87fa1cbf68fd30e48ed595a998f", - "bd0ebf1cfdc35dfd8026fad023412e82322efe6182a849857a66b1cb41de7c8a4f22ca251db2714eb8aad67f8738a59602e900c5cd1604e6e12d7b05de329d3bace06e7785cd4d68ba60a2f5b976a4fd112c924e4e15cfea43cda7ce14d741fa8a0e777fb3a77c2cb7ce2680a20a6ff5f817a43\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 46\nmsg = 313233343030\nresult = valid\nsig = 325cacdba224071c1736adb4815a0a13dc199bac13206967894ca897402c2820fe303d2c2160ba6317fe342e8db0a2ab51b5edab4eb9035d3ccc73521db011a0f231d02429480a4398bc68bfd0e248f6f7724d2db791a0366ae25aaeab2f8ab377405f95af2dba8db349236dbe9507b17f52fdf1aad4991894e857054666e770c86ed8e62fc9bc2b6ea6d5e121ea43337277c61eee8d64f550be0aaaeeb29a18c3c9dc543ed0cc41cf0732d394fe008e5d8874f3073046189f0b6679bfe4ac65cf13de43c36073f60f110f1f397ceb1f7cb40346fefdfb0c817d32531713a04099ac6b6594181c11dd8f2c0f0b43f1d687e5b846b69283dca85a9a596bf5c112\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 47\nmsg = 313233343030\nresult = valid\nsig = 6ce19d6c6ed9218bdb0564fd490a088a3d3be80a45bff0f19c7d431bbc240fa300f562d00d25a58456ff092304e51047f5d8956cd0015ebb0eb6509156640f2ded9c003d6db49ed1d95bf74741281990f09cfed582ad7e2d6b896713e28f7d3f4fa41c798dd88ad06a8716063f0d42c55c414fb6c49205fee53a710fbbb98e7291aa07cd6f7160e1fdb5f3dc2dffe014bd91bdd450a1f0da83cb380158b9d16aa27f9c078e444e23146701bd1b42179feda1998258d45a204fce614be395413b259b5898a06379c7eb69e6fb58ea82ca72b8f231f11ed0f180d795087cdbe26aeeb2ff6d7d3eb7feaf4c2c74783c96674ad959bd5cfbb979cc450b9c0510a364\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 48\nmsg = 313233343030\nresult = valid\nsig = 2d3fc532304570b6cdd5b58b0fa7287ba336c29eec633cc5f215f4e96b2ec44c67e3b1de1386ab616975af3ce3ba93887e1b705d5e55b054e1782d50bfc0094c8b7b0f067fa250cf474ac3b42776b1c76509ca821225989c13faeb15b187231f6dbb5cdf2e1ea52cee05fc2c1f8033341caa0772017fe3a720212a7169d46467a05b4cb91ac9886f940ddc8f280d055d54a51100babd9631b2571140cb15c2e53fb3026bac02aefa46065d9c965f71adbc5d3f11f3a0500fd833a05021c95d5e7e5f3fa500f367c99595514ec221d8fb51db4c776d86bbdbd2fd82a395076bd1e12c3d0c94ed098b84d858a733e0c9a153558be90213db2b405d54df94d6c989\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab", - "2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 49\nmsg = 313233343030\nresult = valid\nsig = 391ac1b5a466b886378fdd220d5871292412bbd62005bc8b1f13b02c7c4f98f3578c31a30c0495294cf68dfcca12c2ea09388fe0752487aa060f93a0bffb7d7075428f193f673c43d60fba94bcf2a8b6297d2207fb5db7abb23885fb8b4f858c7a395c5e9731840d17d7ab749dd0f5511ff8529b9461989dccd126bd442e8cf5c56e20c27a8869a6b576ef771520912347099b566ee588eac583a595a333102783c0f993e0eca3f55af1adab66790e5dff1cbcb2f549c5e085317afc8afa181424f2ff252eccf643af509cfe8778872107b4825968acd5271a36d4b83050f11afb34afc4a0cf073204187c1b7e81832500c2b5cc32f123644d9d97f24769c8d7\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 50\nmsg = 313233343030\nresult = valid\nsig = 2a6cfd3112b2dcd37aa4fa4ef9ddb13ed713960cb062653656937b807c5ccf80c5bcd205ba314a5307bdcf58279afb16be1b9b038c93ab4d5d5b96de1c042b66e44bedf4f5c72d7564e3f190f4654211eb7471315b512f896dd315f00b4d1952c0c0b70e489cec2cabeaa58123cf000d4653228c7246952e02400bda062d16c37d5790e4aeb9e78f75d0740dc48c7dd6b671e648de13e036a0265ef6c9458f72602bf5d295f468f554caea563b56d3b988615d12366d4ddb4f7ecf39fda9913dec271c9ea5f9286fa11eeafe2088a41f16cee7ed19c7330ee99a54d981b183c3da730394c8f5b90b17fd0fdd47c0260f08490b52483ebb32bb6640a890c94d85\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 51\nmsg = 313233343030\nresult = valid\nsig = 0495075a7ef7da665a8802a3dcab56cda8675e38d6378a9b5f5fbc53f9249bcf7746b2e120db4ced134124d54e62bf7aa187edc28a3384bf2516eb616c0958acb38c68f85ab671ce9f2e3e7f92a247cc4cb71d2aa536ecb24c6e3bb3fcbd8636ede677f91bc59988b01bdbbc2b986ba99082f7d2dc6e13b962f7e6e1c7208ba9b1c55dd96779f89b40178be648bbf906a68ffdfeaa0720dab84b290914667eb423a7cd70fddd4e947cea0773383c048e5e4a250ed20d31ed1730d0d1b10f7ed3401da476cf9c2d8e1bb86dc5aa1c79a5158763c5d6cf0addad25406e4632e1a85617f177f2545f7f0f60b5c297fac40a304767acffc5c098a8ed85da2ab5c766\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 52\nmsg = 313233343030\nresult = valid\nsig = ad2b4ab917b942d7172df9c51756c21fc23b3bf467f4dc9e024e89b7d6df71f099a0e0c627f12257b6b05f190ddc269206556ac5d34eb4d63f09f07b8ebcc38c3dee48acf056aff46e23f170a47acf16621a65fa3f9319e5e21c65426f9acf9ca6576efeb4e593f0ef01e6577c85be73acede78c3f43157e686a564e0a542dba8080f539556387c199089c89c9866bdfece7bbe0cb713008bf9adffa378d76e4915d1b445080977d353f2f34e9c063d67f0ef50f755f94dcf4", - "ec4122495835024d075aabd7d65adccb1987e1e654dc2a4df0de3252b4646dd7b86a068e7d952410f1341fa49d80d6f1d09825bb2e6741d9e8b43ddebce0f81ac6df635fca3d92\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 53\nmsg = 313233343030\nresult = valid\nsig = 9e5a42ba80c6b91801ce6f914dc48f03bec695463313afe8306f726d1e1e0690ad33425b1f5a043f8bb1c3b474b009eba1ca67d7d9998b56b5eeef09e94358e3e3133b85a4652493253aadfb4df892d1bf73b42e2e857302bdcfc37905e37fafdc8accc26a30d0cbc1ed98d0e971170e1953b91c1de35b363c00ab4a9bb2fef45b753312717920141287a1b8264522131a522df46d5545c760c3a05ff4487542f2b351a74a7dcd8dac6e7b342a987ed65d5e1803362eea8340eb67f014d47f63e720d96738924b1529beadd86e62e20b6479eb9623f29065c8242d753080cc4de962b934e10f8eed23be8bb32ed1abb23e75949e30f58b9667e9c25cfd7972b6\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 54\nmsg = 313233343030\nresult = valid\nsig = 1c57dd4fc93dcf4fb62e082d0e861d554563203578c317cd751f017c4779a36ec6e6dae4621ac07eb506d4cd4d627e63c55534bcf2b168649add19628b0a87d455c6f74329fff663a2a9016ed3d5837c2b843b83015d203bbe25dc64075b27c0e708875eabd9aca4ea6468a2117139ad85794b9629a3b06e22a3d945123b41d1ca3b656195ee3b0d7b046dd1f28ed3b46ccad9a174da581d33997541c0d3ec589285587e340dc65c3901c40d3353de448896634698ccb1ce55e22fc3b808cba5082958492fa1997b26442f09615f869db65efef28d50a75075c76fe6f2e96fd38a7429e0746f3b20a0eb31027ee8325756b42b2286e0069e92461ba5e5a731a2\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 55\nmsg = 313233343030\nresult = valid\nsig = aaf95747bafcd968dbc2f7a719315467b1f438e3c71ea01b5b6035b9271e16a27791ec23ba7f7aa637892c9a0110cde9f3df8fab65a4b2dcfbcb827628d0988c488b9def01caa916116538d535fc955aed97830a4b6796cec61fde848d149a3612e4a815a2dfd45131a435559f48e72337c42cc104f1797262ee69709882d57809b19b927410af979c479fb1b3f65c713c8f3aac3907d2a10eec945e302bb5eb5e194363fc4ce15d25961bdd31c51339cb1037b4c86236160a0bd1bd574c52abd88265798013f1e7ace7ff4eb710d0b7726754ce14a0962d7eedbd08353574ca9bcff955ed02166cff430c34dbd44bbc927d8ffcc85fcdc685e0ad8ee82c27d9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c", - "77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 56\nmsg = 313233343030\nresult = valid\nsig = 48486ef632d298186388f80506bf6a12de03781adef4b778d5f616484ab5cefbb5a0a004ae15def2d82134b96c555ebb3ba9e8f7dcf2c473d6198b0a455cb027b33020ac7c7c2d10b8904c94d5ac45ba9fff42c892dc0d845cf42d4d162ea8b9a544084b6565770f3c188e8e2dbaf6861574c94e1295b51c5e13fb7d29d65d9121008870de99b4cf2160718989c9f288d90b50069de579027a624805f1356eedb6bc34ad3f4fc9519fd90e626bb0622bb701e69669724b4544c584573f054dfcb79a2bf4b3b8760fc95da9096d8f56a91433081e8462c92e45b0383811581e37bf4629567c2b19f0135e341a637d866686312626b99c0885002655fc5027aff0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 57\nmsg = 313233343030\nresult = valid\nsig = 9be08bed6aec129b28159d23d0c9d3171372b44ec3385be93c5070ad0714112e88e774522a6c61874ca071dbbba2a41ae03698395943de1c0489a2902c5fbcf7790d3f6df0500b3f04b989863f6ff742954dd32469b96ffdc94086b6dd39024a1db62357ffd59e1a2687d4266581e5af3371b1c45189346b374426a8fe87363e71254a6f1e566c911f467a089dfb19cb527bb0c75e442a42ac356eeb0a60ee1fb16efb5a36076a28e36d6fcbb1ffe5b1662f6ce1be09f30c9949b8056686ab3c1d3894350ea0b12f97f350ef7c2a232dbde200d4ac74b6145a0eeaf40cc3e0b8937d4377bdb04e14730cd4830ff787110452c79f965ec4ec8b080a5bea0d0b2d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 58\nmsg = 313233343030\nresult = valid\nsig = 265f70be75fd2ca926327fc0ad87f20a9ff1a9bf9e45545b6d59cda7abbf32a5b2fb0f78a4acf772749ff038f03699f90e23e6a27df6c324b34a5a995046c72c3123f894a9014a17654337ab455a9a2942af4a31a4e5144ab708c653a9a75b949bf800f817b856a6f139b1ce02e4af27180901121ae1df5196d4c96b013f98874d9305a04bfbdad91ae365b9d39a28ca669ea20c4800af18176ea83f46e094a87998df6e14e8d6e26ffecad9127f6f8c5b96f2f192a7345617f5c563e8fbc3d870c165b87449af77186a813909716747fa0f2a487d6ead2ab67a8b81a0a4dd681298ac8b3ce607cc50d2b9fb3a4a6d4cdd92fa3d9ee3aa0d46fc5715df133d1d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 59\nmsg = 313233343030\nresult = valid\nsig = af120d2204a6680c75fbc88dc52fa817b4876f2598fb7d6673e7f423d0959656471192c034d02b8f96f82c63d44b22776ed02813dd74fdd383c70838e5139bbb328e068f31ef09c420e54e6857c77b4f2438e6778bd7e6a3b6a2163be5fdbbbbce32823a26d1c85298e7f14ccd9992a510f13e66b5c5c7170f4639b39b2e322b7b25251978801b5fda78a73d1c35c93f29766434b278c7f49acf147cb3bbb906f0ebf3c624e7b0f24cdfacd852ed594d90bbe222c17edf91ced1f6adc36ae7d4a5a2d5b81944ba5401d8285b0a95b04937ded001eae93f470600e7d9b0f74e4d39962a039cf", - "57b6c955c1724ea8bb304faa0cefc097eec4bc5570737656a8a84\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 60\nmsg = 313233343030\nresult = valid\nsig = 285f6b301bd5d54927e3404e5e1ef8dfe90d58dec37e267478b10d2f787573025c2657665d34415932e81ece24af57329c2f54a651cbc7b791bffb0ee20343e2c341cf9ba5a0aa67184c03345d36e561f4ae18ae344414c0478c7bdba9d7fd542fdf8d5e5758295cdba159203494021e6ca674190ece2769a0c0b97c143da517ebebca3aad1933c4d89432bab197e779995e49bcb0e945fbb7dcf257c5af509f19abfa6fcbf29f4704d25aeef57ea3d4c63f0f378e5c5b8f653c5311640df57bd5cb2322d84aebf304b649e337539d47fb1491ba1b0d936cc008d06970e0c0a10d75ba0f2e0c5efc1db92830cb022056952105da83b07e25c375803b3ff536e5\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 61\nmsg = 313233343030\nresult = valid\nsig = 55d88872d2dddabe8874f8999fe1a6efdc0ee4ce38bb1057f11c8fcec2da27d238d23a8010ca9c0510c3df12a638fae0c0d64ab83a8b43cae24b154f1b8632dbef8726db103bfde6d33f8253512388557ac502dc90cc173c9ac82a501ed534d4c57fef7ef68d320897fa882ef90ae32b29d379c39b4a8971c46ab9366e39db2c2ff180cc6259cac703330dc2f80ba398e4eb7bd70175aa4847d0e643a8d97ef6abddd239155cfb780ca228985235d0c91188572902c491aa011d9348517c370b5bd60dd9a9598997a5fc763267d2000e2728edefe4509d98f7197c487d0e42951fa92acd621fbffdcb595b20f8cb53c6f1935f535d7f0282837e4d03e188b823\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 62\nmsg = 313233343030\nresult = valid\nsig = 977049eb468411cb4b4745d1804dce61aad8038be0bfdda3d6e6e7f235503100505b6f86ab432cb2ed28bb57358c95042f71b8f9e5221166dafdb9281eeeb79f790f8f9e2b0a19e50b8459eb54f85695b1929ba66520d46203814c74900ec3cc546dd681e35afe3b55e3ec1ab719513dee7e9a9b5568e9bb8e342aa3de2d4ae883e9f0c4dce2c9fccb68ac09d5a260a0f4b948bfe5a03043aced68af31f854dfdd5d42047dee19b71d114bdf823bf4b03c5513b5ed2bf333e323048ddf332ec284c7d31ec032cade848d0d4e8a0121264ecb2325a29b56ce5c168cb9652d31305547dfa281457b16640f3e5d283b3fde108b67cdbd6b2005af93d008be4ec46e\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7020301", - "0001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 63\nmsg = 313233343030\nresult = valid\nsig = 4ca8cf2d7817643e14484d757f0853625613984728c9e483efdc16eeec616d3c551212107a9cab91796185bd7e60f661a5f2f17e82b9f34c0c55197eb5e2b7d74b8cff00caee33083bc69aa66027a3e68180817fc065dd5a5eb2e11626bf97c0ca44b70c18b0a0a70ffa628d86aa8b45e718702cc5d15854d51baf34fd637be3e201c39ac3db412bef0137951bdf74a43c7dbf5956207693c40c9578f5edf408b43bb1d078003082592fab58860a3d9a38d6d5aee051e5be85bbea791f57d68a7c4127b7d7f5dce2ea211cc35f367d7b0a561f8ae63c37101748fdfd890d616426690c5b6cea817c219b9165ba6784f9edaf8aba7082f912940254d7b7921212\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 64\nmsg = 313233343030\nresult = valid\nsig = 6ba6eaed9a00575e0ad5cf4ade39dbf0bc6b8f50e7d2a892d626ee6751b6a360a703904d3a11596b10473a8030ab5992dcca8932dea1eae7e3c88829702530301fd85f5be515216f23c39e70b46b256a06d392f13edb5431fd6bbe4b77445db03fb4706adb22105a7ce3c6bd1a537aa3d3bd3e264e15bb68daa88c0db01c2707a2aa7af4b055097b68e7c0e6749214478ec91f1104ef2b513a22316476de696b14090f6a3e36a562fdab5e3c682708c88017a077154fef4fb84611b9df8e3b5db55f9dcb0dd5d2d797d8117a4db392c62f432ae24facf99eddc78c41081de9ceed9f651769e44cba098babf7a78f1992a53fe318879417ff3cd8a5f04e66945c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 65\nmsg = 313233343030\nresult = valid\nsig = 5bbbdc57a45e5fd5a0dcf03b76c06edb2066f9205eda2facdf5120dc6bf93c8e969d714a9ce71104f2b9455d6c6c3b6489a41e578fff9247de07ccf307961b34f454df5fb40ca98a4a0ceba8f705e60afa02c945f8ced0b6daca87acb6ad081098deb1419cc7bacb407bf52559440a69c0ca2af1738b266e2c14fb26bbeb9ae1f415b27b31e36e59026066b2674d60516b8c06b70fc8194d86bc8a5514e9e73dfb29ee959f2c857f33dd0f672e35f13b60185c8cfbb3af23badb9271e40dc1d4374562d88277ce0600b18e634b127d3bb2f5e1264dd9a3c188be38089617344a01efe47e1fb442d747bf5862c409c14327b2e3b8ee065a03764b026d08983ac0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 66\nmsg = 313233343030\nresult = valid\nsig = 4d34e818a3cae7ea179c057aca683ba99e347f661e5a931e702a75e9b8593c888461f8057fd719b4cc57dd674da0daae36972c5418205c87840470cc090d99714aa2d886d246ee6b5751f683070254ce0e12303c9fe252d5ef435f558006d3bfc9d173be2fce9c580c3c6b6efd003c84de74aa6d9e31fd7b04b0fa2f0d6bad247a3c28f157276f525eae16b058936cd91f665ae1858b2c00b778aa42b97aafb5bcb38e577da899c0390a7619339e2eb487265b6e660be420be199586f4124671c682a67e0ac1d31be4b458ba5ea64249e988bbbb67a59bc62d3d827b355f3b0e4ed32ab2078389653bac1861586e2ce2b49e423fe5832c49f7e04a53c6a72997\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d41", - "24c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 67\nmsg = 313233343030\nresult = valid\nsig = a4b028e9ce76e68732edd1534e6c50df0fb88de211686858b815f93f899955d91cacb434ead4755f6b2ba64a305e656c31f52581e6910f1b3c3e941baa76ebfb5b08b8544da46f5d557b6baea4b206aa4b03b47f0fb3c4dbb38a6dee18b6e621d26a108b107cf24c00b6f5e9ba2aa98f7afe7ae96e45d073f36d57d8d38e4ec8ebaf00374f9b2a4a2a53dd7a4e5fb0879498240abdf366ffc731ec56cc89cc9657ef0f6eda0cf39c0846be2b8b1dbb681ebe31b20f851e962891d55fc62050a5fa012949ce584af8c9ef5b795f0a4c0a426450d71161638d80a49a842fe76dd320716910a81dd9edbc10717eec8afcb22a590541daadf0bfcd117deebfb2d409\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 68\nmsg = 313233343030\nresult = valid\nsig = 8e835e05ce0b0a5d4b00b8ae5ca60ca6a6f654274d0d1db9f32ebdd91f526cb69bf2508006db1e559489efea6b3b202a70ae72757aa13603fbef69083efdc39a1b762e355f22603860a2b12e69ea5086583eb61d754e5f70812eb3589217bfc41fe4fcacedff8fc146e3ec10f5e06c127f41ebaea7c4e82b3ef6e786886a80ec51189ac5c4d9319ccf50d9ab4b93661768fa2730f8d91a7892d5b72872d69de29c39771e8174ef0a60faa4491eaebdd651c9f2048d800fd6ee5e0b897e7cd962639911943f5401dfb44354a435f353648ebead13dcabd62657074b448c0db9c9a47d8b863b93812e18738c490992e6b16f957cf769fd301a2d609243de926e9b\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 69\nmsg = 313233343030\nresult = valid\nsig = 9a0006356a9971ac48b80da03247b0ac9d4eb99bfb7a59c730b707d16a823d31d8c64622f27c0184aee75235c0abd91625a18d0d17f7dda988232257b64727cfecaee137a9a2e033942139ec4c076d16476bb406be43805efd6398e0de37f1b974de2824c39bf61b35af0f4936a00d0f2c078ba815ded518b073cd4a36c8c1c16791bc78a222fcd877504935faedc3da6378b401247c6cbadeebc823fb2f516392d3706f92fde0d519c48a3ca2842007257adffa1fa8927e90e93cbb8d2ea175a6c083f4ee3640f7f7138bf63ccceddab07b2aed7639c2e1a2bba5122e4588a7e695020a3b521e1be3f299ca9996cea0a1ac8f7abf29a13d36732b934404f3be\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c", - "5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 70\nmsg = 313233343030\nresult = valid\nsig = 515eea496a899f1b6f84d8ae1a31390ff4e4c889e0ee2525b2e9d656b51ce60889ec9745a25d908e3e93b10d1775f60f638557e6bae1a9dda1491b26aa038dec60bc0030be3e23b45fb1f55e800f4eefcea448fa8978f144a4264a3b79dddfbcc033fbb987b6f849a91b2a28ff193db1ba715a157026fa442b851369e7e4c086aad5df0e2c9a4b598c4505e5703cb9e2ab0ab8b9c5e7266f84a8e998fbc799ea2f4e0de0db5b97161c7215c246b006c4f3ac9aa973df2aea96661a367d7b09b109d6912cfa84185947298f65274dfe9ada215b172693cd75bd9e0008f07dee6ed159933fdc6940f5a31e5d31f27b84f04d6241ccf440e1ce534c8f16f6f287d9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 71\nmsg = 313233343030\nresult = valid\nsig = 85391950b1f67e9bec6620913bab3792b34285ca2850c2d6767452330c5dd76312483a50d3948a1d721f6de83ef915c67213e0bfe8dcb307905e68103b71f16bb96328e44f4bc61f7fd6d994abea65b774559dfdd3dbcfff7608855fb74d91b3c8397b42f5fec313abd9dc599f0091b419845944a49149ec41ec526e9f5291904ea68aa6d974dc0f771b7aa78bec702601e83d3f24bb3ef48a7712f48dc6e2fb0ec718d7dd0c035f9535b86eafe1c87270f5782f68197ec90dd256ad79efb0f52c1fd376e8a980b681985dfbe995406c17cf919f49ee3122d79eb94586942cdd2cb9fdafc870081e6bc93d90cc5755812c818f1605d652552f9eeefbb8d46819\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 72\nmsg = 313233343030\nresult = valid\nsig = 058cf56a97bc8c274af169b3918df40c88df6f1514903eb467a14ea7d264ca79f56a76b236f60f3eb30fd349c08dd8066aba5983f8a9c2086dcc3e66839f33805e11ca2a39d929508b296fa477293cd6d3314cad77f4757f4c2a59b8946d0a12efe19ee0b534cf6f709ddfd302a9109b5d1caa95b02f903dad6052be22d46f84ece5d3d683fb9689a7e2d1161833d98116de414c8350e48c8ec41902785641c190bf1a14bc5980a5f650bdb1c401ae1be6aca24d5ce8d911d76617c260a5d744ea9ffb50829c3da1c4dec0de3a68dd37e0bc6e8bfb30c2d91201afff113e78a739f074f1725137cb39a62bb130bb5c7c9921cdd5431c078f09d30b2060fbb900\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 73\nmsg = 313233343030\nresult = valid\nsig = 03f634b2c133e157c7955445082102a69228131ec6fdb9840af28ab45c62e20cf832c055418b665a4958c02ead8ce77d62852dc77b8e427bf0326653df718ef84117af503868cc7aff3c4bcbbbe6e69c3e5b14de31095e3b3b43701329a574c7e2c64ecbe08f3cffb0429ba429e83c206625b9be1185bc5df34ba5a58fb20e655972faf6c0f55a94db6cfe975e4506c6ce4572ae5bd196e2b108ca9622b9bbc315193697858094bb8007d8c007674034375cb1d4092e28262216aa44d12edadd1262291cd085eb8d892ae461ae6c227ee91b7be1521f53b332e1c6bf7a3797c92cc86b738d306553bef975ee7fc6f0a968186de390046ce1f51fab68bdaf4ea0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546", - "a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 74\nmsg = 313233343030\nresult = valid\nsig = 46dd15af9e3e221e85d682f4942a8c7e4d31a3bbaa909f48e041b3f582a9e799e9125e6b5c6fc35716e73da6a707f8a2c59c49ac0f4f140715b9c51a6e07172c5c9675f3abcc60a46dc671e866de78c238dba6f34e24c15578ce9d9869a915056c550bd632e49ee78067a7d20c597797c5628048d8286218d1291e759b49e6fdbd617e78d00d8953741c261bc5ee0f27cc61719057c5494234e453aea6c086fc6b63cd21d1da0d160db4a1b80e94f19f14f5d3e8c5291926bc815a378e8cf8b2b3036b02549854bcc0ab0634d0b9e70570a8fc732ce0f12ad927e67356f9454ef5f1e5f89766bc8867693beb4e852e6f2c19ad88e33a435548bd8e840dcf84e9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 75\nmsg = 313233343030\nresult = valid\nsig = a1f187aaa6f2c383b5b88fcd59d80a58475bffeb05049e71096b0e396ad6168b4f98d2be393753469dd48107e119eda73bc7ddd7830a7772d19cb7d799201b534361ed52ae91909c2efb355ede49f16ca7648b21a0c4a1746ec5bb48cce5b11adca074d79f1252e906331eee3abafa6f985205f9c64dce2a954ade4e600f30d154494be677141e4efa12e5fa86e79cf939149bc30e73627407455622515064b5b3a7e3f2816d67ef59eb499c9cf92b0f9f78a4b21ef7c32dde4cb89461f6c7280dd9d90c403c0dad486c22f039a16524a31644b635f05bdb615ffab67df491783c5c85ca19d935294c6d458a65ffb065229f408596b0be0327d5af052845bd6b\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 76\nmsg = 313233343030\nresult = valid\nsig = 3eb30e9c91fe7f0c0da8041f7441bb3ffd542e63a8519705a9941883aa13cc5ff4d5c14263605687778edbb8c9dddd4828524342879a6c8bfa6203d85e338de351608ddc987bcb510590276ea691728d5c94028e10fd47f209c4e4be369ffdad3a0483cf6c8704af3288e1b4b7f4ff9deae00f54bcd068347ddfef7c3bd1e2d05be8e87b52c8f348806898f0cef7f494e2c2ad3fffc73a39d5531c629efc0a63604c4173af03ad73cd71cf8ffa79a5cb8cc10efa66004237a342899bfa81f5a47e76776c9a626d49c6bcb051b168357d5ab4b7e51c1142c86ab4e52a6b3bdf85cae768841396da036a733fc15857078ea563635ccf5b366499c550c63dbc449d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bc", - "c20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 77\nmsg = 313233343030\nresult = valid\nsig = b261dbd4e96d7508686709dec566282ca192a0bdd1f37aea4d0530e07734cdd664d933906ea5bbb8616d1ca5b8e893ea85c613e6ec6fc94f4fb500bae6b356af8419f55ccc006781f6916190e50f411bd0c0bcfb729d2b271a4b1b30a80f53dcd9393950e595a2116e27be9b2ca1465e0eb5dff2d8f9d524c70d06127d9bd160eade8328452967739cd5e372e56ea098a662e8f5868614e0834cd380e7481952428cffb9e15daa66406c025acac8a73d63863fe3192c1eb9806d42f4add9a2c9c608c763efb64561c2178f90f46b34dd967fe6b0907bb13d2a13450128c43c8b4569778a1016495ec317dc21475705d6f95843bfb5f8f1029d2f257905ad82b8\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 78\nmsg = 313233343030\nresult = valid\nsig = af289127c72413c318120f8a55752cee713e81786ad2002fe51db89e18fa0ae98afbab320853da32aff8efd5d07c9e9edc8211c53d6cab61e4e02827cc80b0ccdb8ce3a5984bc7810b284384eb6afbbfbdae51ef15537893737a46a750b71a248a257d4e15080201837a69cffb5a1eaa2ba31549ab2737fcfbf8833db9692db50cac6d22d01379aebb00ee43505bcc4c151a84cd5b1da9d58122385d1aca9cbc3cbd6e4568b8efb51f862d170315ab3172c40dc36e871a10f6cd88bfce13b384653738875acc2ad47e5110fcd7702a1737ef459cb49d70d3df4e6f29d2bd6c8020c4c77c3124fd5d53be435b0dbe8eab6a70fe120c5de89717290cb8052aa405\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 79\nmsg = 313233343030\nresult = valid\nsig = 5e6d645c45e43e756bd8299a63110e9afd6e8055b1759f29058208787222d04942da32b858cc355c089cae77751826d13fd6edd8b73d3d93e10558aea863af16c739980ce381fb092eda4ec6b0fa0f40d91ef98b3b855e557e6fbcc15ee46059b75014565fcb826f4f51662fe37f42bae43a628d70f0d8b49fa2e00fea84a22091669b9601964f7dd9eecdc1b539437ca1ec1915499c5cd5f6ffb38e9585c8baf39a283231691658d5a1cfb1befeff4a005804d050c339a681ba27175d4037a8eec6cb882972cc0a408a0081958d2ef13de4f2cd0402a1c6282eab0a8ce418e83f7f5e3880e88d115202c4c481a09d15c79d7388c2561cc724d9ca94e1f33b47\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 80\nmsg = 313233343030\nresult = valid\nsig = 47b07a933329375d1003bb984be0e9a0c3b6c736768f5bc36bd314b9365b525f5f55185e49f4383125bd01f2eafdbda9d1e8b51e0cf5735e5ae36bbcdff9f7e8f6e2449b4d58477a4c9e57f83778be2c7be22b7ef0d5ae540a87b9b7ea123372f09f8ea111ef1816472af9b391122745accf09e0f652aa58a6e79d4081eb3fade4f4ffbb3506c4aa9b8d00f793c4173636ace4f727e7adfa59a40940bfa652ee6faa6dc6b6cc16d9ab34782951a099f33636e810776f212924c9a4b4788a20f2106b8a61529aecca14701738eee59a1d0c46c82b902f5e4957772b9918db556c0bb200321b5d7516d5b0a7b67f9427db0d7da1deacde2ce7008adb8bd4f12542\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d", - "211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 81\nmsg = 313233343030\nresult = valid\nsig = 8b9b86bc3d9f34d2514b54928a542be358c22574ea01e254526cb569841b55d429f4fc190e7a4aa526781e439671acd1189d263a8d7cc8dac7f0978a091ee4455c030ab325ba55adde20ff5b4bdf9c32b9d48ffd5c05e6b643cf7c2827befcbb745cbd305b6efe6d38a69a9e44faa81a1b8481cb141a72d52fb7bd01bfc3db962ac79093931c2fdde0156db7ffa0da461ac9474419ddd27b79ceb55dbbc5cec9d957c4967d3dd2fb9d43f2aea8b254a7428c0e0aa93835bdb82634d125e3041ca999bce5eac7f0b28f87eaae8dc19ea312085c75c72d743e8a6f9c20fd659b0534ea76be885758560abf0de446f975f5689ac83fdbce309afce89f68d551383a\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 82\nmsg = 313233343030\nresult = valid\nsig = 67b898d0a5794d80c30fb977e4ec96933fd088df58b2094c9e5dda132bd23fea5820da6dc0eca9cb9f7af7cfdec61b94c05e004a7d1ef18310e716b70ef15fb2e33c856ac0b18580a735eba59b5183491912ee386f7b498370decba37ace8c50608b5dcea22678b5e5db20d06fe25c554ca2d29b25d13c3cbc981a8c9afbe73cd260c9dffb9f3561af8a9b459955072f31621a20941990b04f27e1f88e86c3dc8915fea08aacb41c24284e0ea5bbfa1a7cc09ee786dd0eb2de28392ff15604b10d55f0959a11ad2a895b910cee367764c61daaafa49d60fe951d8e143a1d1453843cae84808bdcb52919a4954573506cb69ee93167c16a0d8dfe89527cc5108c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 83\nmsg = 313233343030\nresult = valid\nsig = 5fd7bd964b097ccf7daf5dcda4946d8969d6140ec7f4208b2593d36f0ccdd94e191b85d3c63dc56b4979b3193122ba3e122b6cd687ff535ae6b78635641173ae76e32ba6cb50384a2560600103cb9f2c1e540c5f73d1434535c8ada6f62ad830838d096df9afcc8ee129f2b3dca499aae25965cc068c2be9b19d3cd4e8c5c7aa69b6c8a6dad86678edb82e906617794baaa0577876ca26ca7b637d6d4133a371eb7a32c42ac0431bf6611ab66d5621c5ad4a94f2ce680b4a8c21f7a2c1a66cfee9a802362041329fd6e1fd66e7175569550bb865f38e6c1803829c537e2ae0049dbb5509cd4e0537b7e1a03eca9b5825f90c091f81c480dd19f086632b0cb338\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b0", - "0b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 84\nmsg = 313233343030\nresult = valid\nsig = ad477628385ba60a8c098232fc75e7d4631b5bbfff1c90eeb9f7a9628ea33a808c3b46d86af5c10d6c15cb8827e9404db420aaa18669d3110c3af01375dc9179e6ed900fc0493ce1a470822e23a2935d6240f6ac0e965d8d1d3aefb73e34572db3e807ca0732f4088fea9fb001b17f5c2e575f502f17d056c72c139ba1b9b44403684e25f60ce9427933d9c044757f7dd1f533f7239a7e0c8ad90a4b564cf304a928b5f0a30253d3a4c9f38a872dfbd3af0bba3a4893ce4fb9cbb082f25c2d700cc1b1bd57537abb01cd9dc4ed472ee3d6e5dd1e4604ac118d6d1210d5d35c583e4dbc93ea9f804204d81f509e4feabddee9cce6877d4d9b79de13e08ac01080\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 85\nmsg = 313233343030\nresult = valid\nsig = 3bb2c2b51524d29a8d6a11ec47faee62599f2a310ce42d578725d19d050c1051a1bdd65ecd7e4f1c6e4bfa0434626f933bfcc1532bbbee1ad9b83aa888d51f92f35795a46d06c81970a6f6f8cb0f72a57e62b33e64517c1b2625b11458213919f4b96ea4956143d8d658bdc7f5600dd0f301bc7a85a5f785c91cb345413fc1b1ae9499c68739ab963388db47f7cc816bb53f8169cc8f8ae27f7cec4b4366ff2ac14a5273eab9215a2815fb71c45a274bd4c11d0a7a721501e41f30193130e7fcc150b5c54df4728bf72f667de4f3a8cf6fd62faebf1c2fcf33dfcd694120532c7a638a6f1da9846c36b2c2cfbfcb8782655c743d9d324b4fa88bcd16997f3c2b\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 86\nmsg = 313233343030\nresult = valid\nsig = 275e2235dba328642b7e5a789203119e49012c0006858d0143dd571c67ef8757c3d90f640bc0c73532889dd7739cb023505bbb6f64fff8872aa2274fdbdf1a698ce03aa24e0f985c8e503d093bb138388ae98dd16e9e3f1dbe65a9f313b26dc8d35c527929dc1fc6c387be538a13c97de30a8460ecdb87891e233c826be75cc7f598fec0301dfbe3234b2940d61e93b2e4e6091c19671b7f07033c9f1c6ee90eb99abedc9d6a39aee952329f34d617fb106cfcf6e95fc867f2d991ca30168d08259b12dc974fc74eb5b03f9209d208896b88d0191dab425b7e9ed0c0b6e598e7284b51bb276c46c1b4b60f6c92b1177832ab26b69fc579e7312cb0114576d11c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 87\nmsg = 313233343030\nresult = valid\nsig = 28b91acc263bfa8e50742e54f6a7cf9ead9cc0ed81ef2a063caea8c8055f00d1d1cb897f84f3f832300031d7293c98616a994b2944a4e2bf4765c573ef8aa26db4b9555b55194d2a50985332c0b3e449253454a2b17adaf293bc5ec52d6fe95b6b7bd997741729bc5ed68c2b53e426f4f27b533b765cc58657133566793356e6c4ef8f4a8a0192f2501116baea02a11c7facb9c602eca510e4cd2066bdafc2789f13ed959e44cb3f34f7476e746c6f3d78eadc7d0152fb37428d0d97b52a9f90e47f74b65c3c0ee0f353968c703972262c175f89536e8ab3c26906525d430aaa82d2aeb34ffa70d39cc777bb03e87cd5e5c8f93d37e291192a4f333bc857e714\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad", - "5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 88\nmsg = 313233343030\nresult = valid\nsig = 05d62a19dd4bc8fcd622cd55d6762f7f46f9928b1b1806c92591d432c4fcba91ef9c834c7d99fc0583634d77f7d2a6cf8ca525fbb3ac037b0df8c3fb7da46044c7a54780f9f83aa897d51717c44de91c7f2605a40b3165da8fd92eec6d8bb6612226cf7fcd4c918b7cad68858eb0bddf70d5823986cb580bcb3d274097911acc1dcbb61c9c77daec84251f0233749b6bb03ba5905ac29c6f8485ef9e67c6290c862490bf49dcf4153961abcbcbb30e17169f9465cb71f84873675d9b71f5c04b44dca8bd2501b753869e04328c0095fd4bcfb059324c4e8a08900d2012e25bdf56853fff41e333a552bd1eacbe384909da86845f960d31e8ce570770f174d714\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 89\nmsg = 313233343030\nresult = valid\nsig = 03b0cd1b267805404dad5ddae2cd341ad2d4d4ec35c764ef7205e1a6f0e437ad41990baf569b9b072a2e4d41a8c969c688a586bed3da319ee471f4abb6d4a0ab452eec6e5ed67e6c138befa3b8784af91f158185b11c1ba141bb5d2bb9ab8a759139d19fedb2af16b230a4ca00da9f6f9908194f9202746fa51a1c3372d4f3ef58f61889b67380ade4bbd53a0273d27a37764d5aeeb06d2bd96398d5d2c6f5c7b9718313598aaf881d98262e67d709aac76b6d397727df2c607f7b682adb76cf9b8e58ef64de1cd815a36bafc79b270acc30aa8a184f299ef217cdd630d2026a865821f29d82b8ee8e4055ad45e7388d03a5f319158895ed803e57c3c3b11049\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 90\nmsg = 313233343030\nresult = valid\nsig = 7c9132adaaa0592b7bd0f8b4de70b28c5f3a04cd777e90e82758b95f368d6f7bda039e134ec383c5cd15e67eb75df41c03bab87d60937d5088272392e11e26dab51afcd73c00c0e167fbb5d4bd6939691788603386b8cc90458679111faf4af273b3b32f4ac3790cb4f4d88b362d11b8f7897472ba3c8a6963fb7f708bf6c44a5467646c3972719345ceeb42000603a1b9fc0063719ae44c66c6e8ca989422add2ad533465b954789181e403049411585549a44f0da9abd6af3f53d50238ebbd5f4a4e41e426255c261322d415f3e82e1bc0b889fe80a518b19079565ac7c44d79707354d15872e95e99262cd9d8185804fc923299b2baf8d40814ad9282164e\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fba", - "eb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 91\nmsg = 313233343030\nresult = valid\nsig = 83a3c6df7f928a467000185413d80212bc568ff3bb42aa5d6276c2e52bf2dbb4e44d27c7845f05791deaaa62cd1d3876473454a3a18538ab0552236ccabd63c4b7d98a2d38228c66cdfe9bc8f5d7c60ccf66321da62d2f0cdc168f95846c4bd5f70a918146bce9da84d07e2392d2e0cf5d3d9bc58e2f0f64ae92d90a6c5ba37e074f0328c4c52195c546bcc7d46c0dfdf9bce167848bdc93d34a01a4325d5c1da84492ecad974ed1d047cdd69cdabff0379f2f17a63e33b732a2648d5469c6260eb96aecd7e38892f595e3d1940830605260d2107bfd37d7db3ccf31e39404a0f646673580e0fe7cbe151d6bc522b8d532b2bdfc2418546d802c77ba88ff59c2\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 92\nmsg = 313233343030\nresult = valid\nsig = b1accf7eadc4dc201a87e535242e9d929d83d7621ee97ca27802dfbccfc5f8b968139562fb0df9ccb49178e294c5a78bf0a8c3f3239e762bc7077a9c0befa69d8904b70763cb2cca86e973924240820165aab285a313897eb034d2dd7b9c4e8e1781a8ececf01c610737443ea98628e94e8d94db6ab32687322ceb3d0cc5ae7316f7736c3fc86e8a911b30c6bb80c1bbfa33d5fa8b5d4fed13ba433f66c1c3235e4fdb2aa915141b34323e64bb39d47d3582ad2751f876d22e348e5c4eff9eb38d80dfa0a66f9df9e1f96adaba1d513903c3fbaa8e1379680015ff7fa659f265e8265c5817e742901d9e9c8c9b31e04c50e60fe4904fe9a9bacd3e133870a388\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 93\nmsg = 313233343030\nresult = valid\nsig = 393ec2b5fd66fbeac6cdfb62f43f832483c895f7a99df1d44b74155c9ec7a4174ea80f0011933d9a2988f2ecd2b140120709239ca412d2cf93da30f7626e4d2e41051a29846c4762a7971ebf015786ba720e929deb0f3ebdfcdd4dd9e08dd9dec59f31697a6e41aa20567b31aa0acce622508321a1f0ccfd6ef85c99bb371ce0298e5d501d2597b0508be6838985cb95051c1271b4c7edfbe8976e656488ff61f8ddc291c873034e32fc7ea65dc59503bb49ee279d6aa5a698da77f6ac20d63603308efc20067e903dd3414599edcfc488dc1b93e3ec4de2fca1be8772413d10ab65058f9f1da4c5abbc3e79965ead7cb06b4f0752d8725350cb84c3ace51a22\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 94\nmsg = 313233343030\nresult = valid\nsig = 59ee9757c6d77e1a29bda4c2d0c69afd89a8da8cfae62bec1f87068de3c855421d20172c080d8d5ca24f68009048ea1ba4a72c397a6178867f21f500cfd8b352e4cf02d99c5b084d6bb5001e20e0845b62d3baff8e86c5a9a8d6b5cbd90a215012bff297dedde49978c8eef69d7745c586717fcf3615f83da251af76a77b2035a3bf94f705fca89d3dfc1feaefc21a1990c9acc83ce5320112514e4f9a4bae264f0d6a100be4a44f900450afc99679f07ea0fbe8ec494131830602d571352eb8f7c51812d06b53023413ac436f27e8d9893438efa00ddbbfab975f18a25c9f189eefd90dd751ff7f36ac0ac22e1514c8fa1882af05514bd6c328028de28db79e\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a9", - "55bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 95\nmsg = 313233343030\nresult = valid\nsig = 3a44e84f982a227dd65ca85621eb786d89f86f698251f0e297d607e94c59ec246aab8df5601bd1dc5959768dd13320ed6a9fc5d8e2424d251dae9514bbffa8094ae48b226f87a1e62b0f50aac3de7ab50dac7434b1c72fc6b6c820e0c653d8477837ca12bd53a2435a56201667d0241dc1f5c2c3a73e4c37fb8f10cfbff239cdda5eeaead887a5055c8a2f156fbdb7b5ecd458cbb8baa3b564046147af1cfa7369ceb602e9ecf5d37af5e0a8b7936410d2dac61883e8e8613519e2c6a88286099c7a7611704052f4c1c04f9b40e64bd0cbbdb909bba13fb47cff47594b3e1451992ec0ebbd4d14eb72cd4d3684244190bf93faa3cba93edd3677fff20188d8a2\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 96\nmsg = 313233343030\nresult = valid\nsig = 4800faf5338b7795a8666a28bf8a73f33193ad207bbca13dc3f3baf6397f3762e814c237f5512c99dd1e5124892f7da09c8d2ccae562c4fdfdad929f1de8fc3c434e7a99a0e56cdceff69c00f104ffb2907a064da0e5bc625767fe23104831d545c1ef1f8267a0ffd61755bd8f520ccf797355879faa752ed8d59814aeac713f34f07d8ea803c90ed0581d753646d559a13c4a82cbe04655f5d404b26818447074f0e68012f95acfc59e341e6be59901d00b2f7f41bd034213624c4f33b3a002aca2b8447df255278700edd31d2ee272c248eb2844721444d4a38344fff28e0787c2f138ee84f7cbcc1d4ac96e354ba8baf67793f2466c4b48f39f37253e8396\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 97\nmsg = 313233343030\nresult = valid\nsig = 4068088a052a019bd405635272ed21a3bb7699ef4bd220f5da1951aa419fadf417d3f8187d49ee1fcf17f358bf4642706df684f1eacb8424ae94dc87ae4eb1073969e8f874d4972b671db37f3f59f210d50a75b6f8dcc20a2749253e799b3259f9a95ed5da971d093ce2b3f388b14778dad85b14eb404a3cb16a183cc732df393421d48fe0094395b90270bd760ff7a9fbad19d52a24aa09255d1ec098c878d18498fe9929a52f699cf7a24ad63727ba88bdb3db6ea7682a06b7004559d1f5346d10b709e5c93a8a24fb1487c532b7e7a87b143d22a2213f591e7b3959b420593e603f5beeb4454fc8dccf0bd4d3ea49c8f6ad67f3ac90aab3fc73db8ffbda2d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a", - "6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 98\nmsg = 313233343030\nresult = valid\nsig = b7e5e12ca4ed531ee805973691e1d971b79aea502a7416a56d14e49c301482668323ff8bdc02ab49c98ec0b2c67f6190cdc3ec548ca6fa05f94a68eaa2111f01d6e3aabd8513d3ee0a52538831ec2c58766b6e28cf7d0b561a8a2d3a54cf30a98e777469e1b2f171f8457afce2e0b61ec147dd7eee64d9535465d626092038b848b556c2d488fd6169cc1115e10dd05a4b77a0560fcef4cf3ba608dee6a33e09f00e014acc3a2e3dfeeb3128db53b1075c6922f9d90e70d0c7de60c57420668b850be0c127d2683b38ce13a6dbb7c9cb9d2beeb7e00613a1385df1088b38288081f2120e947d522a5a145b899eaedc21b9072b201d92efb8e1964858e37574cf\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 99\nmsg = 313233343030\nresult = valid\nsig = ab24379ba46e86c915374d26ba25217282454b255bc8a675d7b491b7d7ab763d7ca6ad735297bfce4334b72b2c74fe68cccee1b04317023ee3271ba6b674b87237f141e94c2d446fb46344bfd8823741ec931ca8105089c48eb199315dfb615e17a4aed74f9654a1cf5917050ac6a2065e2f8886f4b3fb8ac092891ba462ead334cb64c4ae1a29537ba4fb53aa6bacf521a984c7c9e0fd0eafe5fd354c75ecffb5ec356fb34f2af67593916151f219635ad7afec1ce8a779083219d7fdd1e28c9e78fa6e312ef5507b77711e2f58934b6fb43379c607f99e6b4f449a0b6c4b5c723171d63fd74a34332ec54a2d0f4d1c31090b8bd5002c981d2986fb2dd7f5f0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 100\nmsg = 313233343030\nresult = valid\nsig = 6cb2d2b7235816f9ec77704b9a92e10f6fd545222a029ebde456fe0a7f47711d26ef4012e6445fa455fdcc90525ce4b218a0cb7c0002f3331acf7155ced2b278d46bfa676661d0cb8dfda8048bd1066e46cfdcc3878b845ab0dbd9668bf10fedab8e971b6ac7b42e84ce0c7d51ade27dc317306a8e623df8ac56e15f3cf00992408f5644e17b736550af04361bc7b5dcb10da9f1f7df4415f2243baccf32b500d69dc3802060f66cd5ece6e0bbcdb9d8c1b2152d4e747e8e017889a7a9c0e71abe1dc6c8f4593cc913cfa1c68c5c85fb20db5dc27297605fcd77d81fbb9d114f5a343c0753eeabba92d3a6157925598a5c84022de9ea913a2dd2b86610456202\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 101\nmsg = 313233343030\nresult = valid\nsig = 9c6221f623e091e133f137f82c3b700c907e794ffc567e00b1515f5b7dcd6233043e804d85692c1e9cb9c4a634fd3d798b75205e599a149681fe8c8b766d3b9dfb1e50ace02f587fa903a92766182e55c82afb10893bf29ca64915477abf164d63e3c860c5330169ad4a771649ff2c38aeb36a754aa98377fe8903243dd9342c4c8d0753f5b14f05bbec3e2149f74a5863f8b29733cea10086aeff8726a0d3c5fddd037a279843e5e99130172a19d8fa8b5d8ad2815f6f06a55e413d574d4805572c6256b63e8b8eb338cf54645e5e6e853da7250450c2488acf1e7b63ddd8976b0873d01937b5bcce8cf035d41b4fa14012355c354e6ba1e3c67446325fe224\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c", - "927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 102\nmsg = 313233343030\nresult = valid\nsig = 4657d03e8657ce1d5a60d755765dc8ca3ac956cf8f9025cca0261de70c60dc3ffd3205db3cdaaa15500b652bbf82321296037e2efbfcaa903def52d1d4519df9fa9fc5d4c36912533cdd3d8c78a72c07d16b6240b86a65bde7af5bab617ed35e3b7ab46c93d9857a64cf83109afe83955ee9485184640ea7bd2d7a20345f0933856e2dfbd2ba8905c377ff832da56b9d7bcc27de96125f5c22de218ddede298c95ee20d9bd96bee608daf37adb51e7c8d221c822bf2b030dec29478c208b966b2f6968594d6918e7a8ff705938978ff56f25d008e3f7ed3c90200c5cfac5ba7009c0adda69df94621b0faaa79a23dda0af878d519769e72de127daf69fa3d62d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 103\nmsg = 313233343030\nresult = valid\nsig = 27c8b29e6cbd79a0a564b7ad856b360f8621fa91623813e671536fccb69720cd7596eb023caaa4408a480a14b1b17573d2a190530d00912c5a8430ae29be99148e3ce0a83fa5a7895fae8f2a0ea0e56911e69efc5668018b4fdcd7ac6c147713780b35950ceca07062640fa8b2c946c7dfdb09f69c28e6054dbd25de807f4ed750985d5c21059328a0da9ed8ccb277d473c6a78f873d83a5dab3675f6883a73103d998bcec6e91150338c9b09b847e65c430a64337306f9af9ccc65576224d405764c239e2b1faa375d92cacd09bb6a0ec2ce61615e4319ae1e49183cb0f9647b450497ae900fbbe22de24b31e0f2cb0c5b26de13699225534c218b08e4d425d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 104\nmsg = 313233343030\nresult = valid\nsig = 3e4ae7fe4888ff711a348489a4770abfca50ed0b60ba39c6101972c96dca5428fcd6e2f43ffd493f1de41c22cdfcb327a7a3d43ff3c2218cb6c48a287b885373e8fb4cdc1c799ca256341eb577edf238821e9310f0cdbc98ca2e48f7b1dca5c1b861a6b80f246f7948c29db4b26c648f66573b4acb058c36a462f2d67fea2d23bf449b863c016f3a622320dcb3760d0da34f98a51075b15076e03523fdf370a2800255bbeebe0c0920a695c6ca7758e81ece1e199505df880b365f3b4ee897ef7d04c303322c27ded183ec0d432784b6efcdab558e214b839ca8b0cc4daaf80099f69b9791f5584f0d21ca4ff66f3acc3e5e003a6defa681ffda0a58f8db8861\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c39", - "7cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 105\nmsg = 313233343030\nresult = valid\nsig = 89e34621c15e6638469bc4e4d95243f1f0ad698e3f374dcf8bb74778f1d7edb5481b22ff1cf1f0bb30ac2f0e842816862e55c9e47b87dda5d05f0b88e02662a4e0fd456529b535893411baddfd965771857b7ca1504f0b0952f2b60f24139db821a45020911e94e8353841756fff109795914a46b126d8e39dc9c0d2ce4882f80ee843bac9060da62f01cf56a3596981120228acbb1da8f5b89415dd652b1458c21ec51cd2fdd89c391f07c15737d7485852b37bba45f27d95fd48d3062ea22019dc9088e27b25acbc486250485a7aeaa08532a5a9e07a7a7675d32a178675ce51a3a0a756180596742c8446b0383b37e86fa910e76034a2648e93a80db970f5\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 106\nmsg = 313233343030\nresult = valid\nsig = 3733f507187912655231dcf642ad9f7eddcbb6db32467a492ae3c30b61fffa2ed141fc2501d11dfe3b36ee1b10754368ef9a04c75aa2c1bfce20e0eda4e46a6d112e29827c03ddfb430f386c9b24a7fed4e8e26c7049ed09ddf231dac183d5046fc1413e86b697c1fc2eb30f13306ea049467b4ec3ac37f56ce824e6f4797640c7ec46a2d28f292824e02e5bde9dfcf9e099df06ceb4911cdc5fdba459bdb19afce8fa8cebd0c64a880655264f35201ee5b5e4ceddb64e583c1c849d6ce8d977f3e8424d37af6f5b810bdc8bdf0ac384bb0dc75856317acc12b66b0a9081ae6d2afb6eb38684df0a8708e7ca45809b98b3ed8092abd77caf38529977b9a52b8c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 107\nmsg = 313233343030\nresult = valid\nsig = 73c0eea34bccc2165128ea9141fa6f39c26fd88c5282cbc26e36b89016a6371ddacdbbabf278875000ab550949a5a26d2672e2219bd8df0ca7fd4d4257d9af6ae20ef7bce5f1b5ceb83ccab2c2e4a47a248493ae85603220a9bd3ee546013bf55cf1bd25255603e54df67e551b6078b442d188f0b25dc5ea8c33004f126320691220f515e74d3548e3a08a194786f1d42e781b0d42efeb461e2afc9304254f2c0dd85e4d80b16ba0d6f356126155bb99820f00c17d307bc7ca677c93c393ef9b2fb4bfe75e58763463909b1a3957f775f01f12ee8aba704a63014f83941c3490da4515be2d4ad1dd43934abe1535def1b3bfe58a43bb0edf296424e2e432003c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 108\nmsg = 313233343030\nresult = valid\nsig = 1768cef965b3e5ea372db44e211de05ae4b69c2ed4465084e9e55e602b4067d1058dccb02a717022f896d2fa2f6f56bf54cfaa73ec21646dddace99e3c4cd6dc2a3c9ec1a68cb91cdde9d56671ee866a3c681b867d126036811e306cc7320bb17d6a025818b468c1052661ac2475865fdeb11ffebd9521d2678fed02b9b3db221b3bf514d8d7a7798ab6bb077b94cb1bc22c541cc15a8385557e85d3c88f622e93e11193b631a331f993138368992015fd70f8cb8716822b6bf418d2438279948fc3b0641c9685f1bb853e5cea0568f7e1c040c13303cd907837b952c1e1f3eb6513888c5cad439e7206bc3f9b9355c5d91263df9f284e5f014cb2f052e4ecf6\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 3082012230", - "0d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 109\nmsg = 313233343030\nresult = valid\nsig = 55e2a51a5399a3ec9ea0b4bec415f1c53fcfcc9e0b74cc27c80ba07463be541d21e06b4b40b6bcc3e042bfe586ec9f036862be075d84956b0d326d92ad21a150148c9def31a9004c19d888ca4b46a48532497793d9e2d61f305a14f95be6e4fa99c1b9b1feea9cef980353006d71c2cc3105fa0f430e86dfa41743b118aaff6d133d95c52f6795adb53fc0f18161f6740a240e73f8c85fc64d2e74e2338ace4d13e11e02b0f3848038fcff8392a166c581e9dd1f7b8263dfabd5e20ca7dbf01cebd551a26d85199979a8b97c171951d604e9e009ac8d19965c079aa4f09c2eeb6f1aed989260761965c4f9aa135f0ed728c684ff555b3dda4f136369d3fcb565\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 110\nmsg = 313233343030\nresult = valid\nsig = a9169a0553a8f0f904b0a4a00dcf5247f87bb8e930f180aa2a543cfcd17b07fc1d627fdb061fc6b6fbdc2baf89d3bd8b2344f3c7c5469f88484517243d168a90a963408b63a848ce9fbc8c12f358e553ed624b5ccdde8a941a4f64d29364f83bbf7ebf10b60a85d73c346c7e462e7859e4b7728930472a0b2e67eb836b4d65b20c1cda68f54c9b7cc30840b1fe634176cb8e8be03ecd2b9f32ee3cbc981f8529d5a205d0bb6d8aca576b69e6478f1c033b1bb16ef1522a7ca5ea1f7cb71230681556e3cd1ef488b42004236f9e7c0b421e04bf746670f9c1d515c23875bb980267fe66b17050304db258672b35bd552da1e4860af4f564df3056b543794cfecf\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 111\nmsg = 313233343030\nresult = valid\nsig = 0bad39cd8a9987eb8c5af65c8491f5d975ec833311d1ae98d89a4ede949b93cfcd7f45c2191f5a5def8371a2e7eb26e966374d21bd21e13c52ffa8ac4c45eccabefd0bd372389ea6f857e2d44f7ce548f2b18a6993a3ca81ea14df494e4c1646268b6e7dc3945a0618a5f4447a8309a5ccd45a8dc59bd3cac9348707355911ed09f4e2d5472da0f343be1ed908bb4462c86446bb5fd227761391c367227645ca51c4c4893735093fa508705a7157eab776a515a2e40360b50cdb273994b4e99ea5fa203aafc35490651c6e5869ad9879f17bd6e5c8b6336d0f34db6af8fa0a62bb01ab27b1d5eb5a7d18afa80b8ef3269f0849a99e0483757f3b8c93a27100b8\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 112\nmsg = 313233343", - "030\nresult = valid\nsig = 97618c022f53f7e687c6f2e631cdccd07be804873fc70e76ba77ea7131ea25f68d41e2adc6d8d4226a07ad915341a4c05cba2ec1707b14f5edb5b92a25dc39a6418740fb47852add908f40ccc8baecc343fdfe54d222cb2f9fda5d8a64333393707bd1cd2c4a88f13ddd7595aa4db6481115aaa5a5dbb41623c45d0a4d3e4638a4bf05b86803ae607dd8f97260fc3cd9e6fe58e3dc24729cf2a797543742205b93a0f92b32305eb3e52fc762f3333c26de543befc954051c79fe2f0dc2e2b1bb855827b6c11b34141a7a9275083bd246b6174af1b758afee37216961b40e6f504a7525e99eec6c9e1012b5c4b73cf73ca10f993c6a0fcd9b07eb9053f69c1462\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 113\nmsg = 313233343030\nresult = valid\nsig = 915bf230ab9b210ab7a6c648162badd5e56024dcc783ba9993d6d2e02afd2ee48e6624e8c536545c297468fe3e4e76c05c98753310a5df84c2f478ce53783f9b61008b41c260c2b484c7daea7f67cc5f715d81b07bffaead0022419f2c085eeb69807ca189b442300be8dd3b3a71e3ec7069156d214477074965a7d6f747c5188f10ad7c26614fa48474ede7f7a8957eea89e5af57c59a615d52e0c16837cde7ac198607c35726af9d9a8e4e91725d31f47a052dc9f4114dad4101d3b21d919ec4e06fc8df0faf91eea595403927eaba5fbf3f9b6aeef4721aa9a2c899ebd6f3821770863d1dd2de4e8dcfb09978f5c920382f0a843c0607f66a780d53436822\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 114\nmsg = 313233343030\nresult = valid\nsig = 03487a274dccab65c76356abbaf1166a6b8e40bf41fc19362e609103d68b0da623ffa655cd222921deabcc783e32cd922d534c930b2012f03555698c9548b7588094b578c20c1a740a54adfb86780366ed951d01b162d059832e251b38a103394dec291bc72c982c2309918629dc656d96a89b71f57520dbe8baa25b97e68be0bbe8483c1a41cb59f027808ba22b82413c412594191c2293af570f02cc24cf3c79962a46d063bc12d9da5c1b1f562141957d049536d491b50398d2cd8d968add3fbfa8637afe36cfc0b1b4d953aaabc3f73e94fdf72ba8c06d405e224ee80c995ed7b32553dec80590f2787684e8dcd10962e3ed8280dbc2217d819b9de79aeb\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 115\nmsg = 313233343030\nresult = valid\nsig = aab6c1c447d5b10d9219633293a369348984c8614698fd7c46e636e902f4c7fe89e31ef4d4064fda55dd9cfe8461713fcdf0f6a45c88d6efeb10ce02f8d36ade589551988f49158d3d546e747be0f9e65fa1b4c202aff09b5d12feabef52e921b719cf45147ab67e6f0aa9dcbba99c1c3746cb0cd0e3509ac1eed05a2ed91afa424c6a33276245a94a9bdd183fbeac9e7d93051643784f121e13e89b95190af7c51176cf71eb832b3eb73866e897816fa9fbf703b31f1952af5dd8c68400374bece4f1baed06f19c5c5d68a1df8e328af1c8f0779bb8f805f0adb65bad6bce1c2527d4cdb89571c833f09d4375d75dae5bbe17d47608833d1041288d658e136c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabec", - "c427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 116\nmsg = 313233343030\nresult = valid\nsig = 1364a0181c685d561d44a5d3a735a2630035849de6eccb06bc52431c2ea69907fb08f2fd73c78ea3a849bcd48d2f62b89e370e3bb74ad3b1f9d663dd05d3c829cbd2d97cd4284bde84c293ef45bc0ff98eb47dac24f8b09dc39395da587fceec7a2f10bdef2eb0fc2fa4f01f652e6ab08986d95bfb15125ae5c26f84f11682e9ee4a6f19fb73b66cb2795127a9e98c623d8ce132310471ff6f50d1a7addb2d844c3cde7d1c7bfcfacf64b2880b50dee6a687123d313d74ff83bda1fe09b4c63115ac9c09ae8c936327b700268a3c83a56724a6a086a34afd5c8ccae9a5bc3225be35ac5d6b00f5a4c87466a2c5fa3e660126957d4cb4ebd064106c0456864ba9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 117\nmsg = 313233343030\nresult = valid\nsig = 5210d4bac85e2ba4abf39b41c891237bd36447683b9ad80e738c1933828c6428085c0d4378b544ce6bd633640c058fa3dbd1d309920140ff4768c90710cfe1031ed471bd4ce30344c5eb1acef0713b02841b612c720d24276df366f3c57e5654585f11a48fe47d19f6296dfe2f845dbd91807f2eb6d9491f2ff26ccfec4f53c9a1d48aa7d0bd7adaf94cbac583f9c18d7d6fc99b85555ebc1dcb28e8193ae25fd1b625375235e609e8e9e97bd339747231dbb28b0b16d7a285171a791130a792627d890889a582aaf6aea853a7fc214e3a6cbbfa99a7083b86b4a8e0c69e7762c72e425b7370ae5eb444df3d539c8dfcc9011eaea130f5422a5be263b5bc66ae\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 118\nmsg = 313233343030\nresult = valid\nsig = 1bb37da5ce67bdbd545d59f368b339fdf5e5eb8d2178dd36279955c9b2a97616f380983f89b958c5c845ae061f71ac54422ff3408b9219c1e4328890a6757e635dc2d4b3ff2d9dd683e48c14649c85b2329f1b4ea416459566b63fe50cff6de769cb1a68b372bd1966cbc55919f979b7293bcfd59e299c18d0cd3198ef7e6f828ccc7e06dcaac9ef109e8232ff053e9accc95d12832941e5900dc312c552b5b7bf5c005220722fbadded0d7d4e74ef00e8d531c8bfc4700b4b1880312aaabea147defedeab15114a797333221e7171394a5e73c475be06396b861fa2baf7e47e59c2b77f31d3b753669492e6ae691ece8fcb9bef2162fd86dfd89d051716ee03\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 119\nmsg = 313233343030\nresult = valid\nsig = 103f71ce6260900e6d53721819ed2df38f8e2d7a873a5efc730c16c85", - "619b1ca180acd097d6d550fbe6452fbf0fe70c0a2299e3db88656bc347d28cd21e53c494e3c4ff28a8ce783ee842658863582b3b4473ebd435fd0b836bed51de16ccbb51308cdc953d8bfd97ab0f0c656b34c5d8c417a9206aeeaeb3b9cd2fce653ced21a140b156091754c93119fbeae5a8f868afdc7076cf65e9f1a14a6274bb49f6cb8c4f47b87055da28172176f18cac7feb463d22d841caba412f418e34a88a566d3c40ede21551a520d4bf8118840692d509fbfb18f1d005c2f54356bd51ac8202a85a163a60d885e3754c47cfca3518e7ec27b97df8242388bec5f6a41e1f0d7\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 120\nmsg = 313233343030\nresult = valid\nsig = 586439d37bf0268490b2c7d654b5b04418f6f62242bfb0a813a107440898bf63219518f32150e5743d7c55a1a0bdc9083aafc01729576a07f4ee4d1a12f1000a8490fa0d4dd035289a210eb587bb2e83fda1f9995712e1ee0aad7f787083b86af4913b2c5e4c54aa085d29b6b965b86e2caf70433c87ca864f94d68602fda1b547f5fcf132e6c5a341c276208485cfcc5768bf5ae467d06fd231a6b2ad1a0c7ca25d32df891f611093e9939a949e13154597025a2d9f5bae1f19bf11f6f67c37fe441627060ebc3a8b39752df16b6ae0a76f95af16cdb0e6957ef25cbf4ab89aca08ea9121d909c5b7c1b3c46757273cb44a99b026b7f939fec4f00b63e281ce\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 121\nmsg = 313233343030\nresult = valid\nsig = 65b14197a23ee775882c840a5dd631bcfebf6ec45d060d632f8ac00c3faa68d0e958dacd710674f9ebc9532dd0b2d1fa5394e69db283706929df8c206f7a8b311e14eb129bf153363a5f30b65e851535e71b9a1c46801f7591f3c16848042cc9e554e0f0ecd415252e9e61d7244bec0a8c808e35a22caf2dcd899806c0649932a0aba64d61b92a5c8be887aeb5bc50781e8969072ecdb6da96baf59d667b95c7f0d51c4e23636be837ed2c0175c5d42f931b152ecf94e8c6b06499e900c392c0f3bce47176e8507f6d239a26e45005a8d873c76de1283ef852769e13af0bbea460d81c8534bfdcc6e8699070d44837cbffaa1aeb3b72eadcfdd2923e506d30cc\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 122\nmsg = 313233343030\nresult = valid\nsig = 90ea824d128bd7c3b7719dbe79e0fe4e34660badb908a3b36836c8873e07a62086c3d163ee7b9a0b0f6baffc7df54c97dfa7c456c6b40b72cb8d040178f1e29d076febda7dcf5a652930ead66990241ec1afe5640b7297ba52e919b7a7f9e5b718c66095669f8660781da7b8183006a6a67d2dd0676711b4f96f5f71fa6d1d06c1c7abd52a932ea0580d14e1919e5acf2ac90fb55354070b43a1a42831ba288182c52060d31715f2c3febafe8e8080bc31093f7e688caa3f8d355448d95e4321c097ad27c69e8d7882261ea815b81443e8f24b371976df43a8cd7fc42d839df6645f7e5981ce16a6ba56c4270a8da6e09078de26fb4339d60ed0e376e0aaa69f\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b898", - "0bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 123\nmsg = 313233343030\nresult = valid\nsig = 2cbb507fa7ac718bc67365071673c813cb83d4f3bff46661051a43836a7fe52b42bcc998a8b92a5c279c133e521bde2da0ee8ac12dcb791aaddc6a28dd7b798ce7c26262d5bab10f240170349ea2a27a9eda6cc7976365e4e2502bb2682fd00db43e0ddd83db8aef14c00a272d72fb691a04da1623ef2da7d137d264025cf17f6a4198c0917b394c6f010b1b42927f40647dc2fe4cc3eea57b77249ad4b0112e328467c75454f55bd769759980f62247babc332d263086e27142926719d86379d3c1225e6561f4982148268099469015aa5aeb7a355e3d4f625b4c9f7be1fbb6acbc2c77083f3130c59adcd62b2d1ebdac296f8c31221d2601a92d220ec03d54\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 124\nmsg = 313233343030\nresult = valid\nsig = 68b59c29001b704995ea8b55ff590832ccea1187172e52aaa5b04b4bb27304097b0ea2c08f8796a3da792011185ba13c7aba58139013086dfd818b7b8a465273b7e927eae6eb4c5d057119b695a048a19047f45bacfecffc230138153afe7a0f0983a0e6676ccf0bfc8beffc7cc15781f7270e9b6a98c278699d0e1f7800fdb2e5a30902773ee1cf73ca05938c582392badd982e0b02f23afdc60a4f6a5f8d3b22435eb814d1fa3d0eb063aff7cb1f5556713c82ebe17c9b4de6a43adee9cf9bddc10979791c01cc03dd07e4554e7a2c314ddc97aff8bee5c1ce1bab287362afd44c1e300da8c1cca49b4b462b0fb83db1473ff852fd4f9d289844101dae4646\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 125\nmsg = 313233343030\nresult = valid\nsig = 1dd0ea7e25ebc9c5df19d58bdc4c9eed06c626061c42ee5b97e7d1e188d60752983f58987cc52bd87b7578c1c25a32fe78ac95186c6af64d6221c57626784953cd4989de13a84964e4064ecb1f7fa4ed7d812d41e60c901080f2cb405b73ef8dc8aa7144e8d2fe5457ed54b9aba0a1d77bc280f9324b035d0d2072ac0b630fb4dd596c92b6cce3e4b6e2be46c63f60d62f2f87626d52d34c846ffca8589776dcca43c670fe8fa816e51c45c9a7cbfd3e4fb9055b05a24d9ac22dffaeca4d8037fd453a8f35c9a118ab2d7ccc4ccd3f26c5e882b3fa93c0774067d11be315447e9daec6b65dbc830891c1a7e71e2aaad14a68d5730015ded60923b79e3023d036\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 126\nmsg = 313233343030\nresult = valid\nsig = 905f3a6f6450d1f7f202eaa68909cedd73e70422e27c6b66f3f6f057b42f0458e10afc61a537cd06b919103a89967da973ea559dc040ec18aa412de1c4fdd848fd287ff8f8743220f2ccc6d", - "9e30898c982e445fbb986268726f4278d7952f901dedd7e586c729a4c434fc023c96e04ac9a86fc5e97b49e50e97079006cf42c54696d37282a86db2a3c02e496a4717001d3019a54b7ada3775dd3e7b690fd79f5388808449566aded7b0bddcfae9aa4f1344b940a681189f2e5403a5cbd811e308a6c0f65784ebff1fe9ee6908bde5e6f9c6392e8aa54eff69fb5521d57d7d3fe6aed5337ac73d31414c7e3a294dacd9a149eb0e42558e9a8bef9800a06d8d1ce\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 127\nmsg = 313233343030\nresult = valid\nsig = 66964c2f2a3194e60ce2aa1f6fcd6f0eadcf525c6b95e2e401d7ac2f88afd0ac1fe52010d830f6a2a3859105fb98713fa188c9b68df7ce5e4d45e49c347d83cf7a1a3ede360e357bb47fb3cc31e0429c25bf5e936bc368391184fb88d6adfdc28aff2bb7fca9cae9c7e4b4ef37c61a7a5fc5d68cb12e5c56a0017b31948b4f0e0267754dc70ee92c5f8dbc3b2e7ebcdec638407e0c08c83e76eecc65f592e9a239aa303581b980f75c2630e3af8d93e8fa33f62cc461099cd9dc1f133ea1f499de3902ed3cc6732be6286168cd3f6b7b0fed005a8645fc4a5855f021302322485d9d694803c4a4275533acf2b1d5ec62ff8c98170c737f800335f84f3e9388a0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 128\nmsg = 313233343030\nresult = valid\nsig = 63e7ef511358d2a28a71bcf1e143d27623637beedecee3638b3a513dcb0f72fc56c372ce5125e46ba442d6e5e9290a6580ed3fdaaf3f51e3daa34eb32cd9ef3c8c30722f9095f6908fc6dafc22f3bd37d998baa92825cbe36ead00b5014fd50d2371d1245abfd605c6a8fd6db6362b18723c797e0ea39c2cdb3aded821a51f8f05821bfa1b6d72ff661415cca11a5dbdb611d9a74d905298f853fa2cd2b1eeb74ffcc4e2c2955fe8db6a1c2a8014918fc0e1e0c9549d74e45287742ff4bfc8a56856d0d4cf89815da4f223d3f8b243cd7a2cca428206b82e28617d9cfcd35cd029deeacac03f8ff7ef72f5010dcdd93ed07388b2482db0ab260e1022a33eaac8\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 129\nmsg = 313233343030\nresult = valid\nsig = 0b1423677cf21905e2cc0dda60e27f749c56049bb03e61794a43f37b84b2e5f247ba9bd79050c5a601a7efc2afb42a7936d543b916e24de1ca1e666add1bd51337caf4cf2f88a4c202e53cb5071d638cb41473d4c8db4126e312c711405cab1d6e05414c43b9566b3cd0b72da3d0753796a81fbc1c950c2aab48b34d5def3140e93e0a8d1023374b9687451c847cdad5544b05b09804fc9727bd46bc9a86f0aa23f4a7715a0fe9a9065782ce58a3a53c022f4fabf67146c3c919cd1069a08bd96e44746e1a49315926ee06af8d76c4339f23540b36cd8b07e14d7ff63d38461af49927b53e7496ed6beb855cd740628ec0021768293e7ba86c03cf88b2ee7926\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a", - "63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 130\nmsg = 313233343030\nresult = valid\nsig = 9cd79fcf9b87e3a30f538cb7cbe94d28f76b69335f6d49dfd440210a40dc811a930b76533f789f4e23905e688ec010689e27415c5600eed4da4815db1e6e70f0adc9ce47697947e0dbb23d320fc277d473d3de7abb75837e24cd9829f5993ac35a427c172f47046e485e47003bb8447f1406b14aa495ba4b4a3cf8e2caa1b44f0718a04650dbbe749bd27c0b69ee3c7fb5ee956d0d901b5e42f710d4a3e59b3e72d70604c6d7a7a4d1a3a2763648a891107d3b14988581523356295f42cf77b7cdfe3a38e55463a39557d5ec543710b9c28e27203e23bf8cd81a2e018927a623b84cf010e40d8859b304c97e0c06c67ea017d70852ba28eddbff22712738b120\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 131\nmsg = 313233343030\nresult = valid\nsig = 90cf8affc567778bb47d0b50147e51a10324639cc17b5d5958c4e318c49a22f2bc3421129a24702e1605b3f8fffefe7847f679c91a64e56ef874dec27b4540b2471e79609067c7871cc76d717945bcb558605b3eb4b33034bfd7148d591b837ac988c0cc3bb2372c9594e573a5d5c9ba5c23de5257ce8274f60fc5ecf35e8889659ecd77c2d6ac74898fdedd3c542472a6e113acac5c8aa35faa52ac0deb3ceda9f83d2441a8f441dd997426848e461c00f64ddf6d5659dbeed8681d18102c94b3be137ef926840cb47027006f5699dcfced1aaeccca848fae72b405f4e34c5ef9fe8d15fe6b565216c102aa8e9319289f2dfeac735c8a5b95f991a0fd49be04\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 132\nmsg = 313233343030\nresult = valid\nsig = 4b88759bb96d67cda87617a09d625f5bb3b7672dffe031c3b88c3d8e67dedffc7c84f0f1f754cfeb4181d0573f2a88ee4c98a10dea1a048712472c724ba81bc28984fc48169a535538c13566f3ab3d2a51b270c4b2d55e4a82292c084b4f4e6a58e473fe7f39015fbba7d34083b7bd2134ca63330f0dd1997d0453aad7dbded4b3175f9a69607a8799e7d3969280c8f5ee010bb2ec7c151ca3c8a6bf49c2ae8eaa470998f390d12a4a7c0a39371a6c63d232bc09a647750aee655a721f066560e40a6f899909e72e2c3bf52e70fbcd26a37402b1e37c2c7bd88783fafba07265985d3a7955a5bc14cd0d0d10f1e9c67f6d98785c9c1b3914a7972cc2b1eb10ff\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 133\nmsg = 313233343030\nresult = valid\nsig = 1c8818df1fd23ec704eeb6868ed1bb8419597f4128b5ffa52166458312f42cf45e710783eab39de511cae689f1d731cb4bcc825829a4773697855e7dc84c617f459dacd58272e75fd2eeb4db20d6f956033e939952614318c3bb82276bb426b55a0deac14b831e75500134298dcc05749426322cce", - "cf10ddf3c4eb49f2ae746d44e5f3f229f9e2298312c0b9168fbdd2104216a27cc1e720cb8e28d9992d841e52f31b2a016d896529fa1cfd7755d363bea1bae565e579663e5b7e8c2b9e0b85e77d7f740232db1978a920c8358274bde475f38794864b08c0eec5bd176de52c27b10f29f3ce0c41b2ae23b091b7393997a436c158cdef76beffd200a4e443cf\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 134\nmsg = 313233343030\nresult = valid\nsig = 0399ea1e6bede457e1046f2363e1db44f8450cc452845c47639f300f192906b7d39acd60ab03df06d1b27d15ca473b9b0a339eb8d63ad6ef2a148b5cddcce79175015241176bac81e6b8cbf87fe256167fba8d3cf2dfd145cba2a8d118f980cf279989d3c491b73fc123d91cc99a4618d21e5ad6789818f3a99a337959adda18fb571867d3a9eb50956dabe7e6b3e64d40bfdd5d5ecf1ba2af4741d3dc2a9ae2e2222c1881da0ebec621636851c46990f24ddbff9c3cef15533a5fc1794f365415e5d948b64877053a93953490c8f250488c9933f2547a89d1cb599ee5e7f7dbea2626ed343c63eb290b1e9098269e1115a2f5995b71aa2617235fdb0666946d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 135\nmsg = 313233343030\nresult = valid\nsig = 12f0c2161b8f7b4bba16d19c4c6acecd554bd091c6148e92a24f1d73ee6fe7066fe28fc5b066dcf7391967f23786feb935002a0e6308427c613ccaccc74b9aa24e1425785cdfbd8720db37d867d35d09973cf4c9bb549b7d4ef8c85474252b1f760b1a81f79ccb540c0990e6a20d9a0eb5b6c101d558f8aa4333375dc795ee1563657a803c9a63a2fb957554d4b4bd6ba33f2a6b537c08965de4421fd83de78fa5ccdc1d9fd4597568e44f16b60afe961668a0a821b8aee5834b0d527c115abb649c73c994fc6ee641d44773192574d9f330b8664ee07261858d7b5dccbf27dc9452db31fb0e59870217c4751c5247565d2dc94568431f3451dcf6874787633e\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 136\nmsg = 313233343030\nresult = valid\nsig = 09c14c750fbf2c5536b8440173357de03ecc9018679af1ddb1a36dc5b38582c44ae5d42d7e0031f738191171baa6e72562c2915ae7046489a4863d7b86afd634c6ff44b2a9af0751fa84d5054f0a93971cd7c36b634d15489d75386edd1b15e6f9325eec84a2a7879e7c80812cfa387e5b620533e03e4504768f2a8a0816938959b1e70e8f8ca14d1f8809a398d98c155101363e32ab353d10c5e0a3fbffd692665f5b9d34a09d9082fcd1cf733e0f37aaad82a8512b66debc119899471d61b33c7f4f3d4a22a45fccfb8640bc2564e679ba4b6e06cdc05be7cc511e1205b25c4903b7641bd6ed38df4a8008636e5a716c014906d5a0caae3f3d5650ce3408d9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7", - "b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 137\nmsg = 313233343030\nresult = valid\nsig = 47510e3b9785b68cf1524fa9eaaceff81225dd951103507749bb49b23a4c2c5503727c716719feec97b79d3e6051c34982d07ccc361842bc0c92213732c908e8639b1d98a0f7bfc34cf801f96fed23c4d5e25c0837f222ce764fe9d521e4499de93307df29ac4e5c2dc92e0ea65e97f55df7493d96265b048f24260baf8e8c3ae55f44eaffa3198bd0e6e731be13cd43f13d40e354d35c132bc8514bdeccdbb1bd6a3babd73ddb8d51db8598bac7badf1180ec2aaae8494c06c43e5d2bc988b50f2bbb72c0bf8a5529e4618bbfff5356dbb47387d0893cdd601647f46deddfbff81b60961d4c293c3139d046a526398a9cd8cf605cef5358945ff0330f113e3a\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 138\nmsg = 313233343030\nresult = valid\nsig = 14bc1a7955b30cb603f617bcdcc12405a873b1afbdfcf7792a587f1aa085ef9411cb088c34b898234704286d7f09ae1586dfa3a81d4c9662ba26674c0d5ea966184e3578c5c4a926df87d75b149ea9493f5d5600deeca05f76bc445421c25220202c154bca83a216a1d6efb0b9233eb0cb3e787be2f373de8e99996483f39c92e1ac9f18367717cc9468f6e745e25abad55743fd2b59c92f840cef0e5df47ffeb83c5800e5fd486b7516a55c7b05709eb21c8a8575e41bc567739d5f1dbe95be8d43f27769bff55fe1a4dc855cc76bccb3ccf27c68d27e3a65829b1b177015945452254f5f96a96c363ca56969201fdab187c9a6c991afc932e2991837451922\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 139\nmsg = 313233343030\nresult = valid\nsig = 49ad57af4c93b5e714a83e1af3410a9020c47dc9baf25f52c19652970bf70e918780f48c3dd59a6b816899f01d9b47b7af2821ee4ab76953a2b706118eec13f5a0f442278cba1c6b72000891e0b832dfb97c7a4e5b09971c133324213820f1c7711accaf8ed1d099221e8ff6e0042ba1b0b38257a94bb621508c584f5e39c8d4fbd512800f9483dc84f99eb2a9ba9bfbe5aaa8cfe1691cab0ad87dbc354ea49b331b26158274d348620ca01d872d929e8e01d6b9815d573b83bda1623136c55e81db7392b5daba5187a09a883d58cf0687a24d019172b843e327ae507db2dd2fd84dfd25ab04b11cd4b02215fab23bbca886279091e21ffab8d7d5ad49e16ba7\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 140\nmsg = 313233343030\nresult = valid\nsig = 8afbe33b98f8c30b36acaafb3d61bd83175499bd5961ff3ebd340bffce9a4169b59768e1e3e5913c2bb411b5bd495cc92d7c04d65816b3c13b2e3ef1fe6076dc910e75f477677e106e3d5d94a784c378ec13b66dfc1e81c2d0c8c9a9156af52a12757884be4cb9d0afc6f32c39c427766db7e3d07c6780bd5fa62c05ca32b85966ee6291e3ced00d00eff0cc51d3c19c7e1bf103db0c85ba5e9e2d130e51", - "36f209d6cf8a7fc18670264b7f392a68c6d6e6a5d3eb370bd5a194f3a17436ff2495f373c4dbb45de9a0575aaa4a2c9da84d5f1adbe15dce341a8b3ac4e3722b0aff0b942e522d8bcf54fb0d942997568bee3324587d0afdbbe578c5b3f50d5f47f1\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 141\nmsg = 313233343030\nresult = valid\nsig = a91b9cb0025546f2c6696630ad22530d2b41419073541a5d13ac9b739ebd9aff8f8e87f405d5151a930df8311240d6131336a3e55d33166019be5bc97e5209551df0d5b69be224af9a15eab57ab748c081e25b9e6aa68e4db0937eb4bf190ca46689bbbfc4ea5fd4745ef3938a80404ed9dbffbdc423238404768fc513604732b9c30f97fedadd6b8e3fae4e54c574d2da6ba93eeb700541df688011c59688afd11accd6c7c2c0f0d8e5b06380588a5bd6558fafd764446920b21f43af7f9590c4c20b8b90e0acdff1ecdef4456d1c6e898b2e61e6f9ce743063c6c08d1a1182b5d58edb902af0a78e9df5ad6d84da4b5109807a2e6345698c9c879679dd6c7c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 142\nmsg = 313233343030\nresult = valid\nsig = 9a2ab2bb0264c95145d3a0970b8e66315f93ecf679e92f5fbcec1a4fb5a3f2ca0dddff5d42aeaf6cfd34e3c2a0edba2415920478be0fb23cec4f541c3ef51d4663a85d1b00f84ca069bd8405bf68902910090e3db749b5e46995b05ac28254120d8a95b6d8cb96d1bbef9e796f2cf44e6e539494d07677fadeda723704025edb0e1e48d5c26d584ac61ae3e5e363e99aaa1daed11e2cf9b637d4fd69b1177727a3205c077c1d368eaf3de56e57022629dc93b2f7bea2914036ce5f5c154fd6e216d2ead20b65efbff9ff0197432ecc01ce04993f7874853a80a8c98bc66022bfd5c40cbd8726ab3b51c84d34ac67018e6069f06c2f7b2d9c700404e9e0a23b16\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 143\nmsg = 313233343030\nresult = valid\nsig = 60683e995f60e1cf7d944eac2f0c6dc02a002e89a87b4a0a36378b6247a04456166ca2d85bb24260da59b7ae84e4191f95d15851afb8ceda6765039ef769d13efa89bf081e6cca52753e28de225015e2ff81c9b39d9bc759003a9292c892b5d9c6584cd779180048a40c75378cccec47a84b4097da02878c42423beea50fcd29a5eb7b67ed3a06eee2e05cd4236d86052bff1145a8cd5367cb15e2ccc792636f0305d90aca07d1e3c011a617f0961b938c6ce943c560c42724237ce4965ef50e7c98e52e0d18797aa65150042690dc8604f463104e114a1fbdd7e9ab2646e9c759502f2fd0e2fbd331c92bfb4168b638f4d8873e0e048cf429d8a9977e313029\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d7", - "21a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 144\nmsg = 313233343030\nresult = valid\nsig = 7dc5457f6f8aa74bc2314156e2efca717c2360d57a8c5ee396dddd6151c0cc89f356e3f14bea1478c7bb4a54620a73d558be246fa884c41314472bb9c9866fbddb5727b0976593ab6c6635d8258a7dae326dbe65d203951209f8ece46a4132efcb640bcbd7990a6f0c138b456688d268150396eed52b5553f091f4888642b18580977d80680bb9c1194968bed4b0198cf72d1ed4631a6c16f6ea562c6cf344b3f8d1c2fddbcede647c91d01312b3609345d3e32df899fb981f070ed1c0740d79eb19f6d54725c006c0cfd961a2943391baa2a32e4da6dff7ed0a2a61fded39a85ee642c1e219d9ccf93faf80e2c2135b0de494f8cbcec5bb77f75148e83ba408\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 145\nmsg = 313233343030\nresult = valid\nsig = a289625f9fe684d186604fa08140f7d522dbec8ae6266ce83fba2b6bc6305e2e27bbfb346165b4e110e1b3e9445ffa8933e5417dbd87e3084835b8677ae439609616f7b755bbbad33ed0257a170a3964b85b3cdfbce43ea3c550354a92ec8e75642b039e2b4d9bc77b84c6bc7f2f2a43a0a403a1992e008786b5e9e43fbe71bee787ecd99501f1204921f61ec0ca83f1a8fb7862efe69b104d822ff5170802d510fd55cba7dcc2b695db905bce4c07a702cdecf24381f49a9b95d4805f1eb51704ea198653f43c3f124a4347ea1becd138cc3fd43e813ed823c373a35eb9060bcbb8fefb1c453c72f1f6198747577aef14ad3fe144b7d8de1bd6a123bd9f3f96\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 146\nmsg = 313233343030\nresult = valid\nsig = 740cc94a43653655eabe5a2c9f883a3784cbc5b13161e05ac0849cee39b2e8a42a0f53d14b47ff61d143584797ad0889b26de17b0c27c79a69a356e2e3eaee2b8675b0aaf68dfe682df23463b9b780f5b4d6681c00b27277e4e7839a333b022a16e7b75418fae9d5f5b3b996427d518eb1a696ac83ce6c5107efae577859b814100f19c52708481ed03d038a4cf6039f91bf72f4788dba51179e3c95c750a9432af1044f7cc758572ff11c537add14a6618d0fc1064f762485a0ffebfb0cfaceff4602367a231cee6ea2c8407bcc88267f42189c02e3438e62e3825d8667d1ae221494d4e29626caea3a7f5d2284f18862512cdd4cd9cfe1d8d57cedc9960299\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 147\nmsg = 313233343030\nresult = valid\nsig = 9a8092d3e759eac9374356b3bda80d87c6cd1f1188dc894f48bfcc2d15e99c65ffb6353510998a360f28bd636c61edda93ebb903029feae9b2c3935b2870f9a3f29e044f3ccba9a08357226d48f760158cbe5bfc0d7c0a2eaca0b1b167745bf26ea1e008e7377a085f4bd685fd5ada6602758e27541e6f270adf6d5b1a2b6c65a3757c5b3c4c29284e7cadbd39f4cfcb4253e959945651c60eab57ac0170da7ccb0c8d72e760e603c755a1b1e1356e968989cec1b9e1273ec2c572ed7dd0d0d29c0ad1e77692b0", - "d79ec60657fc21b746168dcdf0d05a3ef1f37a4ebfb199cc167d94cc2c9b75dddf113048326797a6cfd6c9a764a6c71131e5f5654a93fc83a7\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 148\nmsg = 313233343030\nresult = valid\nsig = 3522943f158039aa68354e3c51eb6d9a496f5c7e7c33bfe9a20cf98caa710b88b18ecb6d73177787479d5064ce3deddc13f98998a7207118de77029e8fd5f012a9e056b972a974cb5b087b6564821af89ce3b64348095accdea8ad7d05cf3d21d6208365a1d2fcce7cd964295c963e5fd495448c0926de0950d12c42e056595295c4376484fd7d0dc6feef3dcb41ec5a0dd21eef375e65523bcf5af70a92331beb0c6b5ac445d6a06cbebeed0083b746b3d667aa366c647313389a2d9b61d41eaed8cf2db8b4938115700967432dcc4f383278b4a397afac04bdb7c2f5f6051854174d85fb96525c2ab7bb58c0ffb481efc29d08e4ad1a86ccfcbdcd98974862\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 149\nmsg = 313233343030\nresult = valid\nsig = 45d8ed4982ba484e0bcfca14537d607fb6c3f8f444425bca05cf29bd5f92945f0ac211ccbc78d934f6fd24131ae88483547aef01b4e70acd6f84eef74d4a2de40b4d15d38a0807087a54ece36f268a60b70c500b72fe0ff49920c63c0cbde6e0d9100f4e50ea3b5e11a595f3755878bb1e03c295d3e73f1ec32d24d629f2fb469cea48346c057abd64f6bae4cbd0fb89076a1e42bd5260cc5691fee46762136f936aed35cdb6e1579d586fc4e166fe252778a379c134562175e17eecf758c11eca66ad259aa9e51e504d0d317b1715bd224706d65418a4601612e482bf95c1e9e9278e5401bdf1ed24118b908a8e42c562a76896563fe4c04d62b8abdb61e4cb\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 150\nmsg = 313233343030\nresult = valid\nsig = 63942e89a56b634787dbf074e75b0525e8bd3b7b8172f2c27499272b939a812ce2f501eb95a64603f9bc7c2120ef2f7133c3b2a4bf6445e2257b59e57022c879f8d60667ab8e28dc972846670858fc0d5bdbfa71dff870aac96492214533383d8740d84ddf61d46f852c6bf0bfb2d10c2e4d41ce7eeaee028333dfe77650b53e66cd2c2991b80c32faa33aae27b1c30c0ae2abd759c59eb22e0d0597b6dd63491e0c95048c074b1d64d8f356e637669d90974f4eb29ca184468bc1e2d24cfcd36e395c41cf3703cdb1a5c206fbdd4763154e5569d04d75998e6f425bd42f80e0dcd8deeebc3322aa6f50aa873345d7c9a0522154b6de2387664ae33764ffb2a9\n\n", +static const char *kData116[] = { + "# Imported from Wycheproof's hmac_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA512\n# Generator version: 0.8rc21\n\n[keySize = 512]\n[tagSize = 512]\n\n# tcId = 1\n# empty message\nkey = 5365244bb43f23f18dfc86c09d62db4741138bec1fbddc282d295e0a098eb5c3e37bd6f4cc16d5ce7d77b1d474a1eb4db313cc0c24e48992ac125196549df9a8\nmsg = \nresult = valid\ntag = d0a556bd1afa8df1ebf9e3ee683a8a2450a7c83eba2daf2e2ff2f953f0cd64da216e67134cf55578b205c8a1e241ba1369516a5ef4298b9c1d31e9d59fc04fe4\n\n# tcId = 2\n# short message\nkey = 00698977f7102c67b594166919aa99dc3e58c7b6697a6422e238d04d2f57b2c74e4e84f5c4c6b792952df72f1c09244802f0bcf8752efb90e836110703bfa21c\nmsg = 01\nresult = valid\ntag = 4d1609cc2c2f1ab5ddc35815ae1b5dc046f226bde17ec37a4c89ec46fbd31af2aeb810b196dffdd11924d3772bef26a7a542e0a1673b76b915d41cbd3df0f6a6\n\n# tcId = 3\n# short message\nkey = ed6dc65dbeaadbdaab530a0d35f19f78a7bd93e698546c82751bf650c2a44fc8529033d088febeed288fb4c8132a59df0207687640c76dcdb270ac3af5f042f1\nmsg = a78f\nresult = valid\ntag = 0757b27e120559d64cd3d6e3cb40d497845375815181bd9b4e74f2189d09d01a1b3ead53701380d988958ed22bc379ace9d47cbcac1d49bfa7e14f1f44804c30\n\n# tcId = 4\n# short message\nkey = 463c5e696da0ec0d784388be775d1d91d94746aa8d3d2c209f56ac95ea54e7288329f9fb40be4eef35547e64c61dc51a4a1f3380a2b96420f088655ea9d85b97\nmsg = e956c1\nresult = valid\ntag = ac4b1509391814ae5cb5a123e7a060601575c11d81b563bdc52febe6bb2c747b85eeddcb6748c98147a46a1cc9be6776d1a8e82ae4896b9c18da2ff351c56795\n\n# tcId = 5\n# short message\nkey = 4bc0d32e945cfdafd20d39be3820f9649727cbda5ab5859953a322cbde1ab7a514d7dcd14ba90905e70919bb86b85cfeaa375ee2ce2703711b938c8f4ab5f178\nmsg = b2aa48b3\nresult = valid\ntag = c4ecdbd2efb17640ce6707e2e9d0ee5bfb98b91584bc86ab386437eaa37b0f2eb70500361105416c0dcecff389dc94c723fcff18cb801740962312007a195a23\n\n# tcId = 6\n# short message\nkey = aca47f6350941a0efd8c3bac9064a554be337cde7d192f6fbf86d1b4db09b36531165cbae0a634206f71fa400df33352fff60e1fba4009ac6671cd37312bdd98\nmsg = bc993b1db0\nresult = valid\ntag = 89af2f5746cab89fda6993e00f1bf0cc70a77188945bb7b5409b536aec5533ad501db6ecfa3e516b580b7df9c8eadb3cf556ccc01668be984335bd5a6255d566\n\n# tcId = 7\n# short message\nkey = b3ecae6f25c2f699f158b3ffcd0a7a575583e4c9cb56b5c22ef4273cde6c6734e84d7400749c17e47e8cfccafaf8b50c65eb47dfeb273d5d30a1181e37b27ad0\nmsg = f0361d58291e\nresult = valid\ntag = 4037a57aa279b5a07abe9389dcf508be9495a8257dcb3feba3f0801cd57574c30bfddc6df5df6567cd572c4e82735fd4e67b65e85b030f183a7f4457fb7d2c3d\n\n# tcId = 8\n# short message\nkey = 70ff24a252d65183bdc6b7c88751f850821141a61246727c3240b4f96088ae3278767a822b65735a28ccebe4c874bcb2c942882cb23f9dd87fe08fbaad5ae72f\nmsg = e18da3ebf0ffa4\nresult = valid\ntag = 878d488754bc796c70e11d5db77acda2e1796d86146e27d862586740c4d488ed12239e6fb4ab2925afc88168609edc048f8572536fae96e149d73d230b18db66\n\n# tcId = 9\n# short message\nkey = dd4e05933d09711ee88cb4c1ceb3600b2b33808bc08d499387b331d9c7af49bc65b55172cf8083385a940e4b864b7b4b73ddf3bd513a6cbcac73878a879b4d06\nmsg = 66948029351432c3\nresult = valid\ntag = 9968a16eff2b4eeecb2f9d11fcb105e8d8ca59ed4e69131c9de599cd8155fa4f33def1195a6b452263aad9265e16d4951841d7cd33c74c475da04497c02922ea\n\n# tcId = 10\n# short message\nkey = fbd32caf8984fc4376d10daa7288db8e6e74464bdd94b448adab4497b319e9a6dcce542f82a7ff2e775d12477c880e460a9eab8efc49fcfc8c5476cb4b08954a\nmsg = 38a2586a2883953cc4\nresult = valid\ntag = e0c69bd034cdec5b48150fdf3a4383456a7626d4405df52dc6c2bc8fe93bd87e369e06a781ed80ba8b1fe1146c4df82b6a514412358b31b77b9b79c7a91ec9e4\n\n# tcId = 11\n# short message\nkey = fd4c3f6b2137513616c28ed4d8638f867ad0b97188b73fc9b36f3d52b82d72a49b9dc1b8b25397eb448054a8d38d838e7a88b4df9c263aea1b968771d5ac5756\nmsg = 86b4e61b3b7d650044ad\nresult = valid\ntag = 29345d7da44e2f228e8d502e29fb655da3676a481f9947c8482502ce070b3da5065589d84c02a05cd774b4bd5a15b668c59bafc192695aec43e5df3a82301745\n\n# tcId = 12\n# short message\nkey = f95baea535f477d22b405c67d927f59a9e042c46297a1681bcc16fdbe1b2cd59675a221351a78075981e7eb4998066768801cbd7a85231114d7f27f9bdf24899\nmsg = 5a34dee4e0982d458efffb\nresult = valid\ntag = 63867bb3e82bd4a5f715b3dd67ba3625666e458c5e3d75804709f80b6dde6f774ea223ba9e2536c60ab636dd12d07b217234a490ea9cae4fe673215d33f8c57a\n\n# tcId = 13\n# short message\nkey = 4d76ae95a123207e01c6d22d8b587e63ba682963e50961afff531160a9b9aac6c772c5e8bf918ddecbeb56455ea64710e51ac21e3bb9af4b24eaa8535b3c2924\nmsg = 2c31f2d986f68a6d6a96c4b0\nresult = valid\ntag = 9d4f9549ac134a6f60f17fd0fbc80f55426afa73cdaf84a806d98dfffc94263178116f76aadca95a9243a9128f5f66d3e7f33e72603d4b35ab90ab7d1e870ad7\n\n# tcId = 14\n# short message\nkey = 0da7fa1f5d217951e3e343cda81f232deb71764eb49e8510bc28dba8eb62afa2a98b6f0536adb10250c74878fe649f47bbafdf3f722fa150f66e83f65f606ab0\nmsg = 83511de190663c9c4229ace901\nresult = valid\ntag = 11bd76ba2fd5684e3faadd44abc05d32661472ae4c75fd69e62e47a2d462e483ab5fd374070e648017250934d486fed55e68f4338547fb5dc54d4bed894c1c2f\n\n# tcId = 15\n# short message\nkey = cec9e9f25ed9a017004a7882b1e44e8bd8fa3203c50cb6058455ed4f2a036788d46fcd328327d0d86b1abae69f7bbb96e3d66373ec8bd45075890879a83f4d33\nmsg = 80dcd8ba66f98b51094144e9b8bd\nresult = valid\ntag = c69f1787bf7804bfffd9da7e62f58c1c9f599ccae2ed4fc6abda1be48620afc797d59d4adb396e1fa5d18b8c1aa1c7c15218a9f9e3aab226119adad742641089\n\n# tcId = 16\n# short message\nkey = bbe25649ecdf54ae0028fb923cc8c28ec00e10e2d44214590781238a143b75d54efb037eb9f53082a8ab3d8876daf4dbdc2483c4ba222797fe20da3b7730368b\nmsg = 33f630088c0d24cda98caff1a3afc7\nresult = valid\ntag = c803ca833e851418a3d9ed764f8c83f481060141eb1b2bf64d7ee7991b041c48bfc747bce13d69722f63944085cef8e7a166270530fe31a2a525a99b8a75f1b1\n\n# tcId = 17\nkey = f5e2b9e2313f4f807cb3a924a7d4943fc3fb475d8f1a1b40ce09a37770f621af8977729cadf986c98c75f08a4fab4280538e09e7e51e87a8d62c03411bdb8d24\nmsg = 74ef623c83275ae99745bff7e6142afa\nresult = valid\ntag = 471055f7a2d44758e7d7837db85c33626b8306760eb45e18d4ba8dfbcd0d4279fcf8b539ef7b165eeabf5457ee2c41e52d07e9121da02c988f08162f86bdf208\n\n# tcId = 18\nkey = 8e323d5fb4752d92a6d905c512b287d07b21ae50002d026ff0388e1593bde9998dd02321e200d148f5fa2e824b37e9f5a77441794b840bedd552d1051c1ddd8c\nmsg = 4daa229b009b8984354c2ec3e7973e0042\nresult = valid\ntag = 93a2137cc84e2fa1439d7c239767b3ce653d634c58a4590eb61af9d3ef986445220aff3554de45a1b0933fa06d3d64460418910977d8d9ddb2eb04963c816841\n\n# tcId = 19\nkey = 465bc1ab2125cca29729d01df044e393b0677defdd939280a3aa141224efa06457e623056d02f6c36eca3dfc4a7476dd36b97d0c2d60c7672129189e73b6af8f\nmsg = dd84599b47ba9ae9f2ad0c8eac678485433eb6b1dfb7c998\nresult = valid\ntag = 9fff43a83c71833211f9d60eeef4166965c41a37c76634b1bdf9c5291df75dc877668f2287bcf8108ea9e03d061a708db2db08687eda61fa97b1ca92dcf22b92\n\n# tcId = 20\nkey = b90226798dff2ffb91d1ee4103f26397d0bf84c13c1ec717392c5fe1d4d0f4dc790236d759fa1be852e305da585a3dbde0d3912bea60d6b140c25645eb00943f\nmsg = aa29c372f136993c65ace5e1d62078806eb787913bb35af33371056359d354b2\nresult = valid\ntag = 493a727536b07d434a7fc8df6b70989148a8d94cadb9761ad845ac5fde2068f9565e68607b531b0f307d7c17ce0a2ba69fb1ac1b0c716f93904eec75669e70b7\n\n# tcId = 21\n# long message\nkey = af1bb91775cb40c73983f119c927a2ce8f7b954a6274ecc1cd96019e5c417af4b094376194eae71c7f68f3345654d5d9f8198a697b41ae251e82308accd935bd\nmsg = 75ededdfa7f1df1dc144fb195b27e454640e3f897cb564222f05e8aab0c6024f90472afea6e7254ed25134ea43452a\nresult = valid\ntag = b53d564086a745b10d88a48b50ed8b53f4c83fd12bf56a75108074de9b343cdf0668ce8b6a3d884ba2da5f4c957f1319e26c0813c99a4269c171ad80981013a2\n\n# tcId = 22\n# long message\nkey = 513e0e7622eabcb6bfc81669dac903df46daea1240f32248bbf4fc61f1f9b13b2c3fe1bcc97540d30065be9eee41e51748bc42c16a8c8269fbe2b6f625c19228\nmsg = 81d8650937f50871a66af71605ea4fa9d6c5d7a375774c2280eb34aefcee8c0ef83345bc547e4de7cbea482369b25a93\nresult = valid\ntag = 9d942e4585742ba118bda6e132510af3b9297047d364f76b2a0d1fc803849b06ccac0eaa427934055c9d2e5a5da19cf17299ffdab65089580d10ff7207c9ed03\n\n# tcId = 23\n# long message\nkey = 627c9a72247d07b0cec8346277468311c7401fc4cecaea8e22e13ece4b352c8f7a7eb1ba81ce348a08670438c97b8d9e883614d550f1ff16d636975c59988c2d\nmsg = 118e0468cbb52f93a3396ebfaa114881a98a4101f4ff912ced47ecfc73b27f52205b7a5d4f3899506f9e34ebf99460da7a\nresult = valid\ntag = a186e08c7731d4bbb1d5342a105ef48f5353c5c542277de607831fcbbc8d0b9fd509c74bf9e352ee739792ee3cd6382f", + "96e70adb589fdf1fb031d43eef1a595f\n\n# tcId = 24\n# long message\nkey = 1e981d0cbbad5bea9480d836b4704bf3147663b6ea59e1e0a280fb45d9b85d445dc972159dde301c6f1e66681f95642dbb9a9218c00d0cd724cb02f3bcaea2ea\nmsg = 440dff390688c9fde31c17fdb61c1d13899f9544a986324c34d5eb07bef9a4436297f4a7fe16de5dd7b24e0c7c129051efe6f2dd0a21aec05c3e3c8f6fa30d9c0cbd60d840d14f0b2a928bc7189b9de4a6a731151d6b31e6a0ecae75095434737be8c3db11a6a697d0616c78b97041de\nresult = valid\ntag = c52eb5d18e90687248342a84dc0241c680e992b88b1409275df7e347c99169a50cd780eb4726ad759e2a027fb091354e3d7c7aba8a21f8acd1d0e21236af5f98\n\n# tcId = 25\n# long message\nkey = ee8aea2a52eb7e0c1120ab736b1a825b12610063de9642c594766c020cb87314d8ac94b13072bfbf3c019b4aacb1d2695cdd7563a26f574e12559906784d853c\nmsg = a3951f1d18135602fdadceeef5741c24ad22756160d0c55e51b788af952adaeb13e18c24c6b09672f405d7ec3d49b0bd86c7f8691b6f69af49175423215cf57d7c08a54ab0b0293e685c9aa250f1599d78193a00af822dec4b56fdb41f0343ab2cf85ea27bb2e650930f5e8ca836833903b053b3e06899b4012a6532978d90\nresult = valid\ntag = d3678ca7c5c1aa21f12eccc21a1add0b3eb12ccd134033570468191e51b058c61f2a7d88f2ca6c652c29c65c491bf1f0252bc157bdd77436ff55204eac6dfb0d\n\n# tcId = 26\n# long message\nkey = ecd1861a12eaee48aef1d7ed278223b50d3416dbff81e976c56ecd4b1a1bc8892b584cbcc72370ff5e976a6af1790caa32f9ea912855914c0315979578fbf165\nmsg = 5779c56373a8e5db43bd65c0453ce23144230d43666d717a3b59d2e90f0e10732376831d7281cb23dd5566e5f8c627d00d39650139ceb87cd47e921d65d6c1cc7712ac4bd75bda8828e68abc968f4160ed91b28946c9d706b0360bbbdd65f47ef9983c50f2d09d05c3674c0943ea4af54c381089f9b846dd69ce908e0f6eaaaf\nresult = valid\ntag = d377e4efc39f25ca751452e79dcb5661f8adcc06570bd3f710e03854e032286ca477e6a620647958fd31706463b542ddf617757875f349c61109358d04f6dc58\n\n# tcId = 27\n# long message\nkey = 71aadbf330ea133b46c939d12e603896902e8df638597c98872dfb5aecd5161bc84095221de3222367012f45c6d70701e862ab000e782e91b505b21b4e212c38\nmsg = e6d7b0280d2f7df83fd26562fcdea2597cf687a9c9fa194f655c44d3271b881f28adc436db8e0437ff4dc5d38356271c338829c3e2d9ba4ac1777c94886983d4b72c275bc00e4f7b06c5ce38a2fe549fe53761857f236da705fd03790b41cc6f759f41aa206feca7ba5486f4fc9d09f35c8e0887241291882010414ae41b8b384a715a409be13da17bfd60d3fbd4b8cb3cc7c26043807264a20b9a5c02725e742fff03e1806b38af357ebf8c79fc4c38b007bf0613286cf063e45482375475e6c426d4f70057cd92efcb2dfe86e45bdea399273a5e0f142221fae206800555c01b18533295f577e23a9a7a0aa072823002b9096501174d3bc4aac33e0dc600\nresult = valid\ntag = 0c1cbb2f196d3d1af5f982a330bf1d9accaada72cf6c254658cb32bfd8705481abd2e163a73338700f0d961ca02a31b600df04faf311cd06498557831102f80f\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d09b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bd301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 32\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 529b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 3f301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29a9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf311cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9ebf87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301c3fb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f86809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb466720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f85809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb766720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617", + "18191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686734109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720ea3f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f36109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23d166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34108fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f167e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc618d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24965c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc518d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24a65c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fb4718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e2c865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 58\n# Flipped bit 504 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388d\n\n# tcId = 59\n# Flipped bit 504 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca53\n\n# tcId = 60\n# Flipped bit 505 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388e\n\n# tcId = 61\n# Flipped bit 505 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca50\n\n# tcId = 62\n# Flipped bit 510 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb038cc\n\n# tcId = 63\n# Flipped bit 510 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca12\n\n# tcId = 64\n# Flipped bit 511 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0380c\n\n# tcId = 65\n# Flipped bit 511 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8cad2\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c", + "5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9ebf87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301c3fb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809606f34109fbc718d62bbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566728e23f166e24865c316f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 2d6461c0787f69790cbef60438e7295444f63d8730fa5df9520deb9c1ee8fc9dedd1a7d8d5ce9868df4dab3429c58392969406d7c063976818286db7c44fc773\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 40cfe3404a998df1dc0e991db79a3c690de9e6383eafcc339171443373a3a45c181d23584fee40b313b38182933be43ef3c41c917cdf3af55093ca0fb53735ad\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 521b1ebf0700160673c1897b4798562b3b8942f84f8522862d7294e3619783e292aed8a7aab1e717a032d44b56bafcede9eb79a8bf1ce817675712c8bb30b80c\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 3fb09c3f35e6f28ea371e662c8e543167296994741d0b34cee0e3b4c0cdcdb2367625c2730913fcc6cccfefdec449b418cbb63ee03a0458a2fecb570ca484ad2\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39a9f3e86819787f24008fac619d7aaba08c379ce04a307acf31562e0160263132f59262b30669621b355cad73b7d6c686af8293e9d6996e6d693493ab1398d\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be311dbeb467730f22f067e34964c297f31718c6c05132cd6f8fbacd8d5d5aa2e6e3dda6b110be4ded4d7f7c6dc51ac00d3ae26f8221c40bae6d34f14bc9cb53\n\n[keySize = 512]\n[tagSize = 256]\n\n# tcId = 82\n# empty message\nkey = eef6bcf16ef7ae17326a33f22d1406ec1bd3f866505f4b2e4fe8b45bd62ccbd85032a9899facf2db0c93a2345cb8892afb74db549781211dd8881a8c8e25c171\nmsg = \nresult = valid\ntag = 75f6975e3500be4fbfee1bc95644745ce9f8d47b6f3818a48ff34e8c2b186ba6\n\n# tcId = 83\n# short message\nkey = 838696e6190c874c3717b8be0cf063ca6d60760987d1a33703e7e35eb173e5ae954e741a37935139d612149e76f6ab2a370604f5b4a68bee87e309240a9ba3d6\nmsg = d8\nresult = valid\ntag = 5bcf44539d8783bb708e7f5dafc4d683bcaa0d240c902675bdde059f944dacde\n\n# tcId = 84\n# short message\nkey = fa999ed1cfbc5c43afb16f22d024e3ce645e00b06712c93b946167c9c2c037d192f0f3003f87c43a71166fe1a3c5824c348673a2f0f3c475706985940f6b02a2\nmsg = cad2\nresult = valid\ntag = 9a93f4728aa5941da160ec707f14b7e9ee1e768c7f627269543430d2fc681e90\n\n# tcId = 85\n# short message\nkey = b53fced8b7b4aa59d3b56d91e1386763c39e351c2f5ad6a4885e442ad894d5181c5bfe5c05280a84ad19d758e359bf8171fe652988fcf9d1458ea17364ca8fa9\nmsg = d3393c\nresult = valid\ntag = 02c4968e86d1c62837a41650d3199ca6b3c59b8227f55e0ba40e5e3904ab512a\n\n# tcId = 86\n# short message\nkey = 3f0cbeebe391c6491e77c57a05e85a16f0b5294d19f9a7f3390baf7a2051fbf980e041ee45c9104a9126a6a7ec182eaec27a99c1a7a3f5a1e8cd8ffde60641dc\nmsg = bebb0392\nresult = valid\ntag = 8d68dd7d67763e8eafee0029d01e96e6a09c4ba09e57a2e5bde3bacca213c695\n\n# tcId = 87\n# short message\nkey = 4a7f110b92241badc907ba3c61477bab0953a851bf327425e858fc724bd33ede2a4a5018fe71aab434bda8eb2464a41577c8d570530c460f7c8bc0172f1ee0f1\nmsg = 40a333f4cf\nresult = valid\ntag = 5feda3366ce9f5ac3402c977a4062d33c09e2c9a3d0c2dcda0c8d67b4bbd1a37\n\n# tcId = 88\n# short message\nkey = c6c95bf9facab295cebfa4b907855874f57a5c1548576ad8bae694a364f5e58dbb8c8dd49330b2fdd1b71657d211db2a6569a9f3a356c0c5b3c4efbd5b6777cb\nmsg = 4cf926af475a\nresult = valid\ntag = 0a748aa33762d374aa04b617b58d129ad1aaf252a40463fd62ce924e21e6d52c\n\n# tcId = 89\n# short message\nkey = 0d3387fe59e8e7c43c928dac7913826dec4d63ac3c8ee346ba7caed9505b9e63ff8942cde90997e8dbeaf6e17ee187c0a84a1853952d866c15f9a32fcee6a82a\nmsg = 2ba3bc3cd64bc6\nresult = valid\ntag = cc7e97630884bd8ad56f6d96fd34690eab6c8ad5556b519db3bc3c6083c82d3c\n\n# tcId = 90\n# short message\nkey = 3cb9ce565388a6f0454a80add86c7e107ea537d7f468a0648930fc37172cf7b4ca9058033071c354a20a608e2d46e98afe46435a344362989cbaafac18859bba\nmsg = 33ce498e1f94f412\nresult = valid\ntag = 76335ee23ee1dc258812be373bb5f95918babed0b69e565e00ee3af776c5a5fc\n\n# tcId = 91\n# short message\nkey = c25f45ceb2a5597f361445fa41a9019f41a6e6d7f144203f29c0b9fcea362d60894c3cadc1ce25d53da362e464c11fc6e169e3db2ea1cf40fe08fffb429b1a5b\nmsg = 81978af4795c50f89c\nresult = valid\ntag = bf73218544d8458e6ad00727b236f833d281723d7dcae4d1019b70b9d6e8bc4d\n\n# tcId = 92\n# short message\nkey = b458764ee273f391cb718f64a1bca64c96a870d9426d6254ee37e5c93898d6a5ef68e9d3b0e057a3c396faa834a29926a9680cfa903d2a605b85407bb24c8cee\nmsg = d804dc2a1e146f62b621\nresult = valid\ntag = 5b25843416467b9e0a24cfab67d8fc27e0623ff9e01b2204b5afdf3e9cc05d1b\n\n# tcId = 93\n# short message\nkey = 7cbc5778f70595fc211cee3a93e17ff7f25a1d9f3766f8eb70eb1e08c9420a62bd89e8b7d834cc854d059afd413e4d9c062a532e015928528c7f5812dfebecac\nmsg = 4017e0ffcaac4c485ce7ec\nresult = valid\ntag = 66b4191b37a6f78809c434736ed6ac2273c04a11219636e92", + "671ea05bf6dc299\n\n# tcId = 94\n# short message\nkey = 937b9711d670daa2359920e47dd6d0fb75275105b3ef07bb4a31d3c4b99baa8ff79ee4b4a1b4a5b250d0fd7b4721e04a7b06035b1d0c9d739597707839018bce\nmsg = 6991810e9788af7aabff8eb4\nresult = valid\ntag = 23522de80ff6a3a6d8fc1bf9b632e1600df53c59f38589a6f2ae9b95d940a340\n\n# tcId = 95\n# short message\nkey = ad37630a280b1a75ebed1984217150a400a55dca2362a8eaf3c907858d0b45db3e208c316d033854eb4284f71117d33876e0e203ca922d26f9b76d94cab0d4f3\nmsg = 7c6f2fd83e5691827be38e49a0\nresult = valid\ntag = b609c0b5d359061ac066bd3bccabc98493fd33bac8fe0e3f2e2b4758cb6578b0\n\n# tcId = 96\n# short message\nkey = 526aa2645ab71229e2c60f68bd5bbcf0cea0978a0a9c60cf695e81fecaedecfa0362c21747eaa995975208ca35cfa6bc2b95d1c2afcee11275f43add6f026d6c\nmsg = 681bca550fe301f2dcc1e38b53c1\nresult = valid\ntag = 1f1f50dacb3dc35b90429c0f9b31edd239a6af4c09d51095cb39ff11c7c26598\n\n# tcId = 97\n# short message\nkey = 6026a9047a07ccf197fde09c8b9f15f34bc52472b7d1ea4673b4914a0e1c3aa4cfe8d6ef12d4d4019f5ff3ac0adcad7358490874155daf41da2f74aca1cd894a\nmsg = ce1d869c53041c5f6acdda7a05af15\nresult = valid\ntag = bd2d678ceadd71680f9987c88d24c49335cb985af0bcf8e23fe810e83a920f13\n\n# tcId = 98\nkey = a03d2c543c302949c51b662f43114c1305a8f6961ae48342803d3690dc18255fab924965536a79bc38564c7c97cb8cc0209786e9f76375bf181529cf7f93d954\nmsg = 697617ae31f19b8a6ad4b8489bfc3db1\nresult = valid\ntag = 577d62d7279b39a0d71e2f80833425ed43e4a16233eeb5d251f766db0bf7a58c\n\n# tcId = 99\nkey = 25843665d39c3ae9a7b3e4427e2bf7785281fd2594bdde67860ca9b8fa11646469d1645ae8ca3825b8c551f9eac3da0660d8c2e2e3bd23d34395c6775dcdfd2e\nmsg = 74082cc5d14db1967442d66aac6092bd23\nresult = valid\ntag = b373ac5fb1982b9d47d28844e969d51680dc81d21d556c2671c29c11dfa6e340\n\n# tcId = 100\nkey = 4831ab4962a2d2436091cbbf388d2ba042b472a262ed8373c85d047c702adf73a87eb097e72d91d089b7d1504a7f7d8abb3bc2c44c1340d6c16c84ea9269e64b\nmsg = 2803c2f4e5b4bfccd2b407469a6cb5ef21fd14a682636397\nresult = valid\ntag = 641f29925c06aa01086c8bce89d99e1456dc2ad4b1d3364442187ce4392838ee\n\n# tcId = 101\nkey = 449bb57d046551e1819b3c994122c3605954317d0d76212284a3328c226732cbf4ecb442a582c8423888aaed946e5eec2be66e127f1e2e29b66e68b9b4bec4d1\nmsg = 79004e644389a11b709bc0a23cb8592f9fc7960bfa46132cc1ffb9747df37dec\nresult = valid\ntag = c054667d992cc1e84fa5b13f6402125b4bb6fd2900dbcdaf8b8644c82edadc2b\n\n# tcId = 102\n# long message\nkey = ff97b77020861a0ce00eff8de9e701aea8c6de0fffd9b4c1342a416d357fce35a7016c64ccd38e2bdf674802281c2234153dd83aacb948966dc87ea4718fff75\nmsg = d7e2d2437b7067a30f04529041960e041e281737d1e0daa8cd50cc0b264716e117aa2fe9a7e39c2f178c607faa50c2\nresult = valid\ntag = 062e9c4609a3b1d5df277a33ac1c7501df81ec1ddf460b0850a2aa332d07bfcb\n\n# tcId = 103\n# long message\nkey = f4daf370c4f437d8a85391ec455e34540be8d32df8dfac05b166ae72ec1cc608f8c177b30dde8bf07c9d434732c26a6e530b182c7ab21093eb79d0bb5be85e53\nmsg = f60418f6c54a25fabf518273088619c0741c1c7187de93a0cf6a03f4565f1765de656754541b860137f3f8455de7c403\nresult = valid\ntag = 4d4a568dd26d27267d0772540ebb0b94d44fbbb15a1bb749a570ed6313ee695b\n\n# tcId = 104\n# long message\nkey = 3be95e879421ed7856269eef39a2070fae406cec5e30b50d92792df5a37de98595684eaa9205587ca607eeac8f96592f458f63434b7dc82596d3e4a1a16c3d59\nmsg = c64f7c970a441c6c503838a491308c783099eac52bd35a217978a64dcec84d34186ab3b74f20285d6fea2165eab4da3d2c\nresult = valid\ntag = 4ea9e2f08870c30cb68d419816deb681cfd6ba62906e6b4a8088efcd9fa4edf9\n\n# tcId = 105\n# long message\nkey = b5eb53586b948587db3dd46c43ad65498a5079157562e4074c9c20d097d0c97f19db4661fb2dd11b87a5ccba2c345642618f561d00bf87dffc66762e45e0156f\nmsg = 9e8ebf96429955d60b925a4111745ec7028de24e694a6d2eee1dbd5e820ab9f00beafde09f95095933a02f251297282b0cf67c518397655841f230e1d9ae5ba93150d4375dc7c0738b99850b07d5a442994e68dc813d55edefa6cd063ccb202711d97ba674efa02ddbdc692341e77cfa\nresult = valid\ntag = 6a5b6272df7fb6315293ce22483511d700a83c34db6b0ee4398b4a770241fcf2\n\n# tcId = 106\n# long message\nkey = fbc678235d596980268730a7aa8a3c25095f1dbcf7f830990716a510c44e62b1ae8ce095c65e1852bd8a09f25ab93415ae736f22b2c68ecdf3c0f71e15a057dc\nmsg = ef395738f2b3bd7a0649eea75e734e5c79baf21358c7ae96c63a58e260266c7bfa869664c5d10e87c26d0f5edb3b5f73900c1d9a96a5a2c2912506c19dff04e900b8d5d63e1bb606fe3d5a229b642b1ac59e08a4687a7aade3de16d183131ddd02da988ff826e88b74ba0c5c41cfcd8570cca59fb3304d588f7f7e63dad47a\nresult = valid\ntag = 84df3338f502e65866cf2077f6776341a89dd2234961b474d5b7438d1836fd6b\n\n# tcId = 107\n# long message\nkey = d8437b093e170afc30fb68d873db6dd67ee0372b6c5feb124d548abbd93304a082235a170a9d326268d0cfc34264d8ebcfcbcc0dc0ea7767b650dbcfc7848f91\nmsg = 0fb91bb043cf3d49341482eacbab92da92117bb6ec03b518a93c9d59e54702c6a21ade4f255870cb52da4a24b36856b0cbf8b122d2fd5b0219aeacb6e292c95863921789092d5d65d5a9389231670e38be31d8b76630650c77edc23773d5ec9189915560ef6f45a4275f85957d8762916d8147ef43ea6f438d066227354df26c\nresult = valid\ntag = 4b9b51f2c7d725269a5bd735d4251cbfda71ea5cf5c046379b439ddff766d21a\n\n# tcId = 108\n# long message\nkey = d29225e3042b43d4eb7a9399f224424b5b4dd99031c8abf609d3a6e3175897134cc7ba8a6be25d436d41a757a2daa4e1b03f7c3053ee8cada19531d48dab93e0\nmsg = 1fdad8cd37e115ef8131d4619b5d61a9827a11b9c25c5b8220b002d5b7f6e2bc30a7e2f3d103dbcaf849a255c20ec5d1b40a623e398d76c5b7f07fe305181cd5bee29de3360fed55f69063e6a8fd2ef31291e4d7c3908449466b4ff1166959ff1f2e86eb48a7ed11bdcec2fc2dfb6684b36b8d0b68e0f1b23ef11bf5907d4a2b162cec26f31b6d5d9892a27b3fad7a5549858dad530bae193d9b60d42d7ad2a66476a3ba4bf7a27ff9d0f885a540bf181caad71a235eb348a23d053ba2db7aed8d7d01d96dc9f780e2e426c72bb63fcb3fff44c14bb7b0f8af3552d67ee6761092c757627d19c080499c247d13b431699397159b1b71c6274584959d5c30f0\nresult = valid\ntag = f9ad00420ce909cd050fdb84dcc70f00df97928968d0aca51db2784f0394898d\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d09b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bd301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 529b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 3f301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29a9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf311cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 117\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9ebf87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 118\n# Flipped bit 31 in", + " tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301c3fb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 119\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f86809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 120\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb466720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 121\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f85809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 122\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb766720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 123\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 124\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 125\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 126\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 127\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686734109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 128\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720ea3f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 129\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f36109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 130\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23d166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 131\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34108fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 132\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f167e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 133\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc618d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 134\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24965c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 135\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc518d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 136\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24a65c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 137\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fb4718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 138\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e2c865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 139\n# Flipped bit 248 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170363\n\n# tcId = 140\n# Flipped bit 248 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba2\n\n# tcId = 141\n# Flipped bit 249 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170360\n\n# tcId = 142\n# Flipped bit 249 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba1\n\n# tcId = 143\n# Flipped bit 254 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170322\n\n# tcId = 144\n# Flipped bit 254 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5be3\n\n# tcId = 145\n# Flipped bit 255 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e11703e2\n\n# tcId = 146\n# Flipped bit 255 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865", + "c396f21619c7c15033cc6e8ebbcc8c5c5b23\n\n# tcId = 147\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 148\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 149\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9ebf87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 150\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301c3fb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 151\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809606f34109fbc718d62bbb09c278cf05a206adf21463e1170362\n\n# tcId = 152\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566728e23f166e24865c316f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 153\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 2d6461c0787f69790cbef60438e7295444f63d8730fa5df9520deb9c1ee8fc9d\n\n# tcId = 154\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 40cfe3404a998df1dc0e991db79a3c690de9e6383eafcc339171443373a3a45c\n\n# tcId = 155\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 156\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 157\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 158\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 159\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 521b1ebf0700160673c1897b4798562b3b8942f84f8522862d7294e3619783e2\n\n# tcId = 160\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 3fb09c3f35e6f28ea371e662c8e543167296994741d0b34cee0e3b4c0cdcdb23\n\n# tcId = 161\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39a9f3e86819787f24008fac619d7aaba08c379ce04a307acf31562e0160263\n\n# tcId = 162\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be311dbeb467730f22f067e34964c297f31718c6c05132cd6f8fbacd8d5d5aa2\n\n[keySize = 256]\n[tagSize = 512]\n\n# tcId = 163\n# short key\nkey = 14d93759fc28f3319ab74b8167c974e800f032344dc2747ec0f4945061a47827\nmsg = \nresult = valid\ntag = 68934dbe948d9a77a5e0a92ed98254fa3b6c93c8bf5eeaa912b7dfdf762b37192c5d8523bcab9ad71b09bf96d8454188d001c7f2077eb641199f5731b9f94669\n\n# tcId = 164\n# short key\nkey = 9fa371f36fb273d514fd628cb938067a4bae32a19a1e045a7d6d7f6de3751cbf\nmsg = 311bbf722d322cd7a0710f480fc66518\nresult = valid\ntag = 16345f6a6ca6e78d4ccac30b48d76691d6442420efa113c15ef127b538b5b024018b7d2db4bc3ed3424251ab6b8b6c3cb108b0beda842dc3e68e63400287e5cd\n\n# tcId = 165\n# short key\nkey = 6313f1526bc220f20dde1e64ced8597279586d1e15aad05ad591d841b369284f\nmsg = f744fa3933e16d8bf524afaeb34c715653a9cfb01fa45fe1fb68e701fe1487ca\nresult = valid\ntag = b88d1ba03e2799200a447550d18e310697a57974f513df77eb07bbe315ba5fef397eeb81ad9071680bcc6c70f6b252ade35b4a4040279ec01b86e40b98770e39\n\n[keySize = 256]\n[tagSize = 256]\n\n# tcId = 166\n# short key\nkey = 1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779\nmsg = \nresult = valid\ntag = 23d482a05c907eeb346ba98f83db0f63c2adfbd5b2940f33c7964c7f1799f180\n\n# tcId = 167\n# short key\nkey = 6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4\nmsg = aeed3e4d4cb9bbb60d482e98c126c0f5\nresult = valid\ntag = 1cf9d2c9c1b55a45190b5beb590cd4cc95e3853df8aaf9f4fef9bbbbd72435ff\n\n# tcId = 168\n# short key\nkey = 186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27\nmsg = 92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902\nresult = valid\ntag = d127b7385badf0c76f2b3d8aa9c722333592e01f462fedd35ec664a6f6d52d74\n\n[keySize = 520]\n[tagSize = 512]\n\n# tcId = 169\n# long key\nkey = dd1e0bdbb6b60862176484f3669da531455f1cd714f999c29f08b851055fee8d72186d376c236f4e16cba7a25cba879fb2753deca4459aaebc6f6de625d99af330\nmsg = \nresult = valid\ntag = 7e4f7d844b3ba0e025b66de7cc6227bc50d4e174930251bfff3df36c3900b5b76b00095a896d0f96842e37b6134df40760307699534d6670f138974ee1c58d94\n\n# tcId = 170\n# long key\nkey = 432b311ebcfd46ecfcd3cc706ebd05c787dfbe1855fdcfce8d50c9a00f72b65a8d42acec335b4e07d544c92fd7b1d38543ac6e0fc04c26d88de8dd974af69e24d7\nmsg = 36b1fbe8f1335e7c0399c24730906420\nresult = valid\ntag = 2cfb688f30b10534da9377a4b3fbee1dec161cb288ac8b758793838b45ab953979dadf27817f477c9ebf23cfdcbacb60b81038e08bc4fc3180bd2a1ee805976a\n\n# tcId = 171\n# long key\nkey = 17f720f09df5972af9b9c63e10043284608900d50b7955db3b4e2679cb4120be2c9b9e2aa1a5743eb519792822c326b4d890b5554d1cb0eb71081b7569a2f04df7\nmsg = 57167c2524a55289687b83a40d3a69bc90adc53ad247020b88897f9b95d1516d\nresult = valid\ntag = 4f70267b98fceb4f662901bd18fb4c81ac164281dd0ece43028a3c2a65ca213aedf1bd207f0939bd879bbe20fd09cdeb20246e6539766add08b3adc5143d2bd9\n\n[keySize = 520]\n[tagSize = 256]\n\n# tcId = 172\n# long key\nkey = 8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd974e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077\nmsg = \nresult = valid\ntag = e1657f44bf84895e6db0810a2cca61a6e105e12ec006f0b5961020301b57744e\n\n# tcId = 173\n# long key\nkey = 2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fac55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f\nmsg = ba448db88f154f775028fdecf9e6752d\nresult = valid\ntag = 33d5a2d1998a586849eebf8134728485fcfc71248f4a98e622f83b967844c40e\n\n# tcId = 174\n# long key\nkey = 21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e5590e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af\nmsg = 7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731\nresult = valid\ntag = 88d579c2801905b818070ccebd2c7192f97bb3e7acdcaf613cecc74d0e41", + "1232\n\n", }; -static const size_t kLen84 = 310039; +static const size_t kLen117 = 55755; -static const char *kData84[] = { - "# Imported from Wycheproof's rsa_signature_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASig\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = valid\nsig = 9f420516e9d063e5e2961accd80e3eb0198b10f4d64e749b5bd39a80f7356d2ca0fdbbfe5f5b2bba92da7616a83912b449e69f8ce6e35a27e9e553279d6a9317a1d07d897dddd9a8291321359c6a8a31a4ad7dbb54432bebaffbe8940e40cc875d941ecaa10196e1aa68b83e0db67e34f3937dc1dd11cc0e5b40cdb0b90ecdcad793d7279dc5b5f6cb356b805e6357baa1b3659dbbdfc9a0f042131760fe1b78202f289699e04b5c55f3ec26fa25460ce3de5aeff0b1f5c435e022e1168f9fb86147e7a8b0f11cd988d59c81c3fe74116b350e0396b1cdb2b4e0326b5c90dc384529c7f794c4c2f40958f97ea203d76a75076d5360228e7ddf166842b9165e8e\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = valid\nsig = b4e0a273bbf6e942cb22ae5ccbfd9d843400ba451c5e086fce9b3b1f90bd892fadc54ac45b61f3b3b37aca67d835fda1b37d5bec427382be2348062716d4592c7eb5c9107cf391e1cec01c74d64dfa5cb7052f2f8e442a09d21c22ef5484cb045c25a05b3057b266335f619ea8dc43b72e9abf38c19b5d71c21b9bf2eb8b63f2fe0fa868f7dbc9deae9745adb1fc26027bf5e2770b2d250c7507faf2fa63fabc67eeada9f2ed8f724dbd99d43294e5ec11d1575101d32af1a308abb56f7f15f544204b533fbd96fd3fe9174db3bc2af67c35401cc4003bbce360a7898dc831011ff0582c0658663a8c2e7c0e7a0df7f3c8ef95175bc136c3b49eb7a65023b08f\n\n# tcId = 3\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = valid\nsig = 9f74957ef2ec67062c5064143d096610d04af16f23189bf010f560d49bd793d619f70125dbef4edb4d4c923f8447e48a744428d8b463745d84a718d3c5592cdf6f611a735c7e04fe3f89920cc61e0113df20b93c719df7cf62013a2db3b497c033704352519dd51975eb156ee733d7bb342093bf494e6d7c8e92537adaf8b9170c0a2f0d76af847f716ecc87e8cd3545151387cafe062d5a2db83c5463b84d13b1ede8656efb3ae9509b449f4676084042b7c9091fb75476c8a866bbdbe57e125d7c64f2f7f1d4f732666bc7ac09c8e767d145f22243dd1f10943aa61b75e85256c52c522426c1dafde98af977c8538f7441ccdbb4eabff1990304c087070b12\n\n# tcId = 4\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = valid\nsig = 257d5214d02f48bf63a6a1f2604824bef64108af97a6032d9eab48b7964642e104f13c462289fa889109274360dfedaec2ace0f5f190d2e9ba0d2d522dc763dd60fcee52d513bf9ca7c0b29de279ca8b401bc2016c10d837cca56498dd644e4d350315819767e2908c1c33b71acecd0143e2913f9eec1978a900a3326bd8bb7574521c39efa2e987327c9343b9da06b304d1e4688ef80e6c285a6dfb64b57ffbfc786f69a2a1c0948ee6781dae288089a5dcb7fcb1e53a74b828b34867b8d7fb5a0151e43076772bd53a537937f8ad6e44adcf96a18181b460b63e530edc56a773fa3adb252cfc8bb664ca560a054f374c2a03d7532ac8986377b76ad0a4f1d6\n\n# tcId = 5\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = valid\nsig = 339b527aeec23ed9319d5c5ee671e8e92fde09932648734b1ded4eeae420e113a7ff1119686aef90c0bea5248ee1d50f5081515fba7a68a7ac8e2ba9828ebd58237d211c8212267f2a82363ffe790e3ad5282bef3842ead902cd98194d440cd1a53cc34121862034670dffd82aff9bda7f867a3893c2ba2d60cd3d5a3ae1c446c718e99bda195e8b19af734786c62908e1e18b155dbf791283c1bf3e02ce009e08415444d56f5defe78200557d513c8d93414228c4b746a10262cc4dc573da6801f624c5d99c200bd5731142e49d69f9cc9d6d914be18d09bcff4411f62bf028223ea559a41c71a970f5e0010ae487db94461a662d56e124d7b275e8266e55f0\n\n# tcId = 6\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = valid\nsig = 6ea7297a28c575e4348878b928d6e938a2e3d77dc46a785611a64817fa0e9c8ec71728bc7e8f9eb3268aae0f3bfa23dcb73d503e0147432b4003400167ddf2f9fc8d09464e0b91a44de12c1efc8c38732e1ed87f91cebae036610c43a3b8bcd5bb4beac4f9fb5e39f193cfd4bc00d4c7a3a98d00c4efcd1bd64f260a2a957fc730df6dba68d622441901c51f5788d6c3636299ed3eaf0bc23000650ca97ed62d367a844f23649bdc23efd0349dc8d58cdbcf655aad1f9d3a21afa02930d68a2c2db68e364b0966b005c460b682717035fd43f0cb0e7008a3d841a90c0449de8d154082703313cd9abdcc836e6c1ae5b1887f75d2e4b6387e7971128790a62c00\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = valid\nsig = 5a7186589cda0f9fb081dad864032ffd26a775fb33c7dae0ac080aebdd4ab53bc3ed37cc09f0a1b1edee78f0790ce0d1b656e4a788172db08900bb1474159937ad29a7899d6bbc87c743945c798307e61141ac21542af06bc2f435a47b505b2aad2619800a97396392f141772cfa97d762c42ee8afdef27617dc8056fe75b23ede6c8f4e9abe31c8344edd2c73e5304621283021ae7003cd760c3e34caec5b4b5cc6d291cff1ea80e5b9b68c5b7b045c04714d3dc73e150eb770d3d3ed788a4ed039117881ed5cd03eb3db6e4084679e09078110630aa6895029e7a6dd19d5b77952bbb06de26c2179fb06c64d184caee0079287c7b18f5ae7843e3cd01eae28\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 54657374\npadding = 302f300b06096086480165030402010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = acceptable\nsig = 38e80b028443d96685ed76d4574b36c43cf9722e5fbcf08bc974385454316dee326a308c935a6e612ed26ef4e470e5f3f19a223e2866a2f1c805f74c804e2184f5620c1e84f894b890be7d46420178a2a5ad97b4bd3d31db24828281587207041a96792d8ee57889c666719c769f759c2175361434b18f188de387c8c13f6fb3a7e96f1abbb6124e94fbb4c6bc1d88caf54136b8f01c9eedfd614bc35375f33277d2e71a4dc5f65254179bbe75634e9dfe05aff9e1f1d792f4e6caf88e4299ed90d212d3d7ac9bfc71a8ac85ffbf2f49f77b41d36a64bccd3fe8948054cbad480451b0ca5f7fe35b0f6c772d64b70346f469808dc0057ba1c25c6ae7ac8450e9\n# Some legacy implementation of RSA PKCS#1 signatures did omit the parameter\n# field instead of using an ASN NULL. Some libraries still accept these legacy\n# signatures. This test vector contains such a legacy signature\n\n# tcId = 9\n# long form encoding of length\nmsg = 54657374\npadding = 308131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 33a82ebc17f79f56f79073afbe0ff3f984f868684c529ecfffb3bfffaf52a99bfc057b196c3faeae3cf722c386c224ac235f781d9025ff8c9dcf10c4cc7f93c1f1aa5e1db9b166a71ac7350134ae1a1e5537a67f846f8c6970c269c4b91bc59ec783b7710afbd763ae42b1125eb9d0fc28b4045071c72320448a474006eefb256bb403b30a67c253028a2a0af7e4e36e85aa70ea73541ee2694d2bbe1415b37d2210def5ec77ba23c6f5cbe31ee21e072b49313e6e18bc6d6f2ffbd6b28267a", - "5cdda24a62edd2151bff87ea6858db5b863c13a8e2a6445d8d31fd6b3ce8fa5a31060f97545f1e04df6819648a1933b1bcfa2470bb14844963f53175f1b26b612\n\n# tcId = 10\n# long form encoding of length\nmsg = 54657374\npadding = 303230810d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 37c62aaa10e8cb4bcce5fe466ac8688431e8ad2105dc12c6b7a0dfe8657ef3dbd027d04847c7d708c2099d7d38ca2b21aa5146ec0ffc7fd1a44c91c24689fa37475013e5b30c92c3565e3d53afa73fcf269dcf3b2bfc48a2ff026130bc008a724cd29ffc546d1aea5aeefc8cd13779b3b821d78bc7b7664fc7a89ce0273a8eed1e4a683c739005640c2edb756ea95f48d9c91d1ae9f57f24f6ce3193cedbcc52d05eb0dc8a9634a0ca8e12a446e9ac3378cfabc37b498aa4a1a9d1d3a6fb308411566f9c68063c0bc8e78621fed3a22073260aa87c76c5768c3db7f674f84d8826381fc3491f46d417a73ab88587d905d1c090e37913c99cfe29dae491841d31\n\n# tcId = 11\n# long form encoding of length\nmsg = 54657374\npadding = 3032300e06810960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 875b9204a6603968f50d6e4dc13d3192077a286c3475165b0bd160ff3df39fec5859a512886fc1e06916c2025e01ae2f7ab3b341b6372f819a625a42c22cdafce031d9635f95dd962a8f202b52f9925f07bc0c94434a2091d861729551e37d7c6019e16a47ce87f3f4051b8e9adf62444b522f522918c391d82940418cb3976f0c30634bc5dff2c4c3f36a4489d00c5ae65021b3bcf5abbef9257e3c976e5fd305fb30ccfe13c43fed64c371f8532dddc70a1f411cae257f37b6743da2d9567f9dc3513b267ee26e2da1a6ef005526fd90b6ecdfaed9a8d9e2bbdfae25b0adb81004501ff32fe1e7b7acfa18de5a1ab876705784181b1336288aefdc91186c3e\n\n# tcId = 12\n# long form encoding of length\nmsg = 54657374\npadding = 3032300e06096086480165030402010581000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3cba108ad11cc9c6cfb4b849b1533c37557dd1ef2e201a78da42e164458ac54a29f0b11b1931e72f57266264584c13e910267e52bbcf15883e109a45ce14a86ac8e700cb04ea0ccccb55b01ce699275190b98c77981d2734d35d8ad41f94edc6481cc831a44d38a617a32855df03fcc44914e55b88271015c971bbf051d878b3ae7a8f53582ac8e2ab5d10e5023e67599725e9122b8ec42a96b40410edac51b26bec597b727404a6b1b24807e3df2fca8847de8b7517061edb009a40c8b3aa82cb22de080d3f7921c504965d5a23887ddb54100bc81894991c1ace0ee2afd1c38c554fd00ade0240c2067f01977326916d1708af027453f734b0a22331bc9453\n\n# tcId = 13\n# long form encoding of length\nmsg = 54657374\npadding = 3032300d06096086480165030402010500048120532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 50c6c70b2cf065c62b8b69884ae779e08b376574fe9307e2dc4ad58a50c5b2a8b74c1e8929b190045dec835e5f26c73824ddcf1a4b63f54b9f90c5f80c36f6a0cb616fb8b63926cca91c90761f960b83381cbbed3f8ee83eee92324fd9697b7f2cc0e784c956354b58e9243495800235156ca1698c407dd9b6332281bb5de1ff180dae7bb3393016e6396cbc7a02ca159b5eccee507a36ccb9338623e050d217be8d9826d0683d59c0acbaa190ba91da6b8579b6086d86d32edfa0f6f17ea5a58d3b8bb9e06ac1517eb66a8fb38094ee19e22b3d6d3cf8c1d001635e3c7e18823b69b9026d81975cb209024b8ebbdd88accbd9c5279c7a2fcd824697907223ef\n\n# tcId = 14\n# length contains leading 0\nmsg = 54657374\npadding = 30820031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = ac3c440334308e0eef1b3c3afb42dd050c77f1bfe9f3c3c83d466a46bf708502f1866f423d52866147554a5c9f86f10c079d2bd47192dce0968e8aefd5f43a2892ad21b0bdb92be45bc380c11565ac7c01be00cb1e294048a1efb4cbb19be44fa4b542e0bbf9a47549d09e456f58ff377adafbd68ef8d86dc2d7d56c5d3be08ec6cf12c0d04bb7c64c13f08f75377ba896bece7f409d50809521b7f6496c992c90ce15a70a8f8096f8f2cbd3e575acb618c87f56324885cea1a6ded33d2f09d684f8d5a98c78f94853d74b9e6ab503918fea323e5534d3e45d51b3097e082c5da614d03a5ac422e5dcc3b764bbc02aa633a517bbe391d2662d71ab851e4eb3f5\n\n# tcId = 15\n# length contains leading 0\nmsg = 54657374\npadding = 30333082000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 65fa4957fe03c0eb8a6680ede12f009178d3ce357927c8586ae056f209e0ab0c110871fdf0b95a2ff684748beb4e5a6a73ca3c657b23bfa06d362a300f260f4d60d459a066c9f5311d634bf96ac7ee4c80ffec2fca27eca7dbd37025bae76122a1fed1914da70f2bfb6bf2e1bf3a624acf2a6377606fbf06044a21a39ccd55b2cc1f0ff184d9df95bd73942a190f30028e770139d38ef3156f64fc3eec68ed5170c41f09f110f5a0fd195cd42c4dd8e394f32d195c159c7c2b69943ea966039b20c7ca17cec610be60aaf7ecdf3511590a662b74a181fb89135604d84cf9c4d6cb6cc0b4c24f4b5e7e9e9cd969855cdb92e3b399f32cb31319ac81701d056e84\n\n# tcId = 16\n# length contains leading 0\nmsg = 54657374\npadding = 3033300f0682000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 305b0cb38db7ba5dd11c1d82195313b522f57ceb7b4045249dcf5977b99315f6708e9d8eaef6a89da0c11fa6f8dff3aa9050369cd520dd6e957226144fb68c846255b923a49ce896fed8828f8956d0d7aa5193123940ad0a5225e921ca0dc0852aae48507c7e22ca007f403bf0fcb6553d0af0bcce6be17eb53b0e8401349c8d144eb1ddbbf8215fc0e06d6adef096acf52d71978b1bffe95ffd21899256dc944fa9cfd4d7a25e62843f965d55515f6c45b22a825288773e25410582f62b9f1fdc1e0c6d4c941b90de7d8c3b18cd3eaf5319862d7ee160a5edba133cbc67024771817c7eda526c92d146e3b38b801025d01871c3efc2591a32ffaeb7b20e7dbc\n\n# tcId = 17\n# length contains leading 0\nmsg = 54657374\npadding = 3033300f0609608648016503040201058200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 69c99cb5b397c6f9fa0f38b0d311f8b64eca97b578302912208bdae5c04244da7cae594e59a6bc0935b8878b7a55b90acbe73ed2adfabbe561cf104d2a60aae3c4fb58cb69a11ed739dea095c224c98bb0fcbddd44d4e1e4b71a8681730c4605d93a93e40e27e6b1182c57fe5f4332898872add7e2e7c3b39e0b45d07ad7cf3c90ea5bdad70902533ce78130c74ded898cad1d1830414951f33ecc0119ae785722d1d4320781178f393ca1fd11dd96da6f44bc586fb4b5a911fdfbb87b7d88833a9a1e036405e205013e2bea23e663dbb2fa813f1d8420f1c57b25dc5bc09fd7dcf99d0dd4a5b3bba8ff2cfddf2f9aa9ea78b8f4132cf0f373157b97097fdffc\n\n# tcId = 18\n# length contains leading 0\nmsg = 54657374\npadding = 3033300d0609608648016503040201050004820020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 29a239412587861ba02da5cbeae093ff6217ca4b1c80eee56baba352290d6cf721260021b3779a009a3050c2e5fbf19e1e717f906a7f62e52d626c4a31e259c8324796e63ac75bd04081cf2d1f22a5687ee9464cd47ce491eb7ccace2b6bda1ad3c99de2b4dae26021d08dc270a2e84d4467f7a6a2cc59888f3b74cb107311c62ccf5f327c75adc5bdc830c2bee5303a1c43cdf80e00374fd3601f122b19ca4b2f36476abbdd0633561eb3f05265282b4d637647a1e8a2be47b4ea40e4248c3e2541950ef2eb98a487569a35d3c8d8fad28d42ba57e3134f828aa1222c4d13b6fba906086cf8f07f5f3ad539cff8c0cefaf42d89a884444e62e408e36236e70c\n\n# tcId = 19\n# wrong length\nmsg = 54657374\npadding = 3032300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 36f62f546a36d5215548e6a770a14fc6edd4a9353ff8ed6231369cbb6598d25d86018b8cea9f1a87c150fda18c7e89b2c907f0ce485c8c321be467a97febc05dce335db88cabdb99ebc4c187a04fdc8e879487f03c2aeccb6ddaf006f0613d32b197c79b2a8cfae015909e02746fecb9ae9da3f07ee91ba70c0356984dd15d078cd0b93dd9e3c1cc03d6f255c1383e6e949e529ca4408f0f453e7e94c17e9b47f841f73dd62e5be047c44e1d9d7eee0d9f2a56bab13d4397494812793a49e8dc0d237242bf134aaead8f303226e532afd0c2e9748be08d7b7fd74f6f1806cfc4092af39d6eada4e0b6d7aa6f06592f6cd7dd26c1fcc84fdff1bf3086e8e2c81b\n\n# tcId = 20\n# wrong length\nmsg = 54657374\npadding = 3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6e18d86059eb2f05c0c1277abcd8d2380ea39ea0c4587ae140d2f709363eaa2b0b7f801a75fbe15aa329129c4abe43ec0fd84f552a3aff7e4de40a5943ef13cc3b2d02a1ad90309e8091d5c2c6fe3b6dc2472c94116cd9adf367e575720906a9fe41068a86c15214e3dae39ac41b84f5fb824dbf5c911c8c640254cd19910e15a6488c2a59179f271dbde468d540cb33dd5add9a864780e27a3e55c87402d9e2c0e12d70c9a41681bda6f9f337e7a26dd2ec06580e6fd9cd4db40a62002feaf5a4c93dfe05dc392b63809d4caebdcdac74a7a240260a6eb8db8dcbf25527d4297e4c6145decb0a888817b4f949fb66ee63e5cb2c2477a9373d1e30b4d71cd7c1\n\n# tcId = 21\n# wrong length\nmsg = 54657374\npadding = 3031300e060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 61a6e5ea6b3c5241d75dbf0cb397da7cd9d5b2c23ffefa183ddd1d34b6cf116b127045f4681877fd58907c1209528a6b45266cfd5bf4e95361", - "b9036c77fd6cc7891cb2417d081ed897ab97588dfcf975992ac9c0239aa9fc19dcf6d6d0f3e4bf72da5ab09cdd4b205b41a27e6b36dff608a638925d13e3ad7143b1ea9a2758c787a2f33790ad423749c1b79b3239d1f96fc4690b19a0b8edbeff446b148fbf39a890ed8e4a18ea09d5e50c25855e1a4a4c28c5437c906d1a9c371569936c858c29bd16e98af749edf2f048933d706068928e81ac7e219fc923f6dee8a411f40ede593468ada31e5c647d4a576ddb68a335bd50cdf7446dc722ee711b5c71ae93\n\n# tcId = 22\n# wrong length\nmsg = 54657374\npadding = 3031300c060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6494a47f97d18199ce0948b2ddf81e408e2d4acd58705059454b728b1be79842ca8b9e197a29347bfc02a6830aa7189ccd84469e696daed24fd3e45a403af6d38a2bf3e5e8005b9535a00a5b1520a9665676aa51a1b274a3c0270a20b86a5168e08000fc4cc60673604564f8620e9a2a2374ae148ec6fdbf7e880fb8be7bd85131a3b2cc08e85ff3270a4b433a6f58583a16e5b18eb2a093e6249e0e5e27c13e1cfc3fb8e078ede70034f52f4540f5fc69dc9124671200c5dc6961aee740d39bb5b6ea9f9325f2dc9eb85be46b998b29ed3dd9c7169d58e33efc212c9cc0b09e356e65463b9becc52e7654cb22a374832ad6d4e219e0fc5eddec8debf779031f\n\n# tcId = 23\n# wrong length\nmsg = 54657374\npadding = 3031300d060a60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 99647015158993892da3dcecb4fd837d0111d7ac81efac2e1bae2242e6605182ff1ed43e41b81b85448367815c6549e363a635b946ada99ca0118cc35f37872aca53b024aab1d809909d27bd664f32be9501c3d4b7e3539c2ef10bfc340a89c23cd2c25e51425e2e7f989076bb716057078c968632e0d47ec81192f37dd5dc4d8a0ffb5e9b828b08b47b350801bb4d358e91165444e8ce8bf5d59d4dae17202919f67c7ec8b78105e255d1714ead968b9c075c11e69b5478c3595756858a98e39f321957b6ddd63b37c69d34891beadfded732f0ba587fba6ca62b0e932acddb5c5a75ac316974dc3b5a27cefd81d799a8a6244a9a78fcbc403e6fb41e4f157c\n\n# tcId = 24\n# wrong length\nmsg = 54657374\npadding = 3031300d060860864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 629e5afc04cc1f4c602f030755deeedb0a5f5c271b3d52556e81c44911296bcdad7f5d223cb6d72cf9740554bdde2936a7e3cbfad72a7704d27343240f68e2f598892911e50340c2c29a41c0d10ebb996c7e92a94fcd23a03507488be345ffd63db338b19e95d47a1095cb6894079865d299ac8101a443e6b5a9557acb9113552932108565d1d3409aa30b6c013c54bc571a08fe9f39c6a3ddaad948656bf77e7407cee8d74a037ca6860a466ad06082c39f9266f7ea16b62b5fc149a7d23093b5f7c48f81673574c8a68b75503c15ae7565775160e16d0e4035489179735c0c9736e52654d4c84c1a785f8b5a9ec2f42aecf88cd925dd274ceeec7e1d31ce4f\n\n# tcId = 25\n# wrong length\nmsg = 54657374\npadding = 3031300d060960864801650304020105010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 278b61e00fe4e47bfde76cf6c436bfa0e7fed104493a2457ba41ba5fa430cd417ba2ffd345b27d739f6fe7b414e9498e1e44a0a5af8af2f9091f4b42470da0cf09fd1d3542f8a991f4a3be0ac6fb499290889a0e5ba595ca1ed9d97f4407dee17867ca650a49e42c701e3429a34a8bd8e934aa8d107f1761a6fe774c70a974c4ba30990b55a082c87f39266b526c13c4021918196797336e49de36844c908234def2f66aa82e84715834019cbb906011d8bdb29afcbb31dc7503ede0bc39124ac7fe054536d4d79d99186542454253f94a604559a6e992116230c7c9ce4137308b8a091f31843a87e39e29c4ce1520803beeff3fc668741cf504754bc870908d\n\n# tcId = 26\n# wrong length\nmsg = 54657374\npadding = 3031300d060960864801650304020105000421532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b9709d62db65f1584a5f0dad0602cf2d1ad02447289312f59d001fac696d5b52ac9311e0e5266dc04f5a382405259f6568274a8aca4782d5017b97c765742c6a3bec33c8f3cde398d55bf7ee0b2d3fa768b416c0b1a58e70b865c39057bf6ccea37112ba2d277159ccdbaca928fb4fbf5970296462df7b8ea7715f76c14bf1ac7e4a48a6086e7ffe71653e4246aadcf97a9999782596c87ee5098d788a1a82c2c52bda65ff5c417f9583537aa52c5d8151b3dad189dc0f93758c9e3d45a216359f9952388dfa3eb7b5727774815647b17f6feb39d963340aec6b37507a349eca6c677fdec97d9a5d21a87e999573be5c90d71cbb1b58946036f3f4e6c26dcedb\n\n# tcId = 27\n# wrong length\nmsg = 54657374\npadding = 3031300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7cc584726f5874d041a892993bcac52a34e71ba6fe4c3db4d48960b1abae664549656af526b59b3018fbfe7447c4c6730f0e93cb148c0f0fda55fa0a93aebab07519123805ee1d551f19c4c69c09549ae56455710cf7b5468206b820672a0d7221fc7972e958e241d4ad164ef1f90cbf769a1ccb466081cc60877d28a05c91f90eabe57d9ff8d097a3a1f59fa69761f0f3b356c2ce1fa7af8bfc70a1c4753af9c715387a5b3249cb792532d1cba87be23624836eb33f0074e927122479a9d71f1962ee6e7e7be1ead8a514bfed9abfd4cbe33ac2d3adf438bb86ec47734961292bae4b61224e957e331b794c22066cde9e51847dad897e7c65d35c98803830f0\n\n# tcId = 28\n# uint32 overflow in length\nmsg = 54657374\npadding = 30850100000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 55d1cee3129381d3c8526661a5f2c9b59bef9972a8d3ecbddd3cd859db06be0971a181d9deb7a7333b3f40eab2e93a67342da7880961fa3b931b3ee94cfa5eb7cc76ca8f6f013bda5b1dff7a7d8ec7afa76fc6acb7809b411e8d77e97fd11f4d13af1033a04b949ce35efdc52e125394759df4f7658fb4c807823f80c01b74c5424744a39193c901a8b7238f77c330f0c37877cdfb493228a600dbb5694ccaf9521b0e2921cf84fb0a778d6616ea76f79d89ddb344834bb34a033f2399289c35ba4b5b70b1aa6d504db3f15cd1be6215678f01f3df03a3a38cd2f6e9d18755c484b4b4ee514c976a7a3edb9d93f475c4fcfa6fec43e6f815095d4dda75a5ec81\n\n# tcId = 29\n# uint32 overflow in length\nmsg = 54657374\npadding = 30363085010000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 759135e8b8f94d853d92e75bed21033eaa80c88e1cfa202aeaeee96fc9dd8f5430da9baa436062c843e2a6d06801e4397c93a7643b52e4e33c298638f546be9f8b2961c0da08a172ab2a9185eec9b9b859a8b46cb240317e66469882269a53b34c9db60ba080e1831942db3ad65d3779c7205aaa366c00b6372496d71fd5cebc14b885303fb7c9e968f7d4f9f0511bac5f273608c8803db4ce582eddb0c672d579b4d1d67cb5aaa4fcaa14d744acb8124f3715bb82417ca020cb1b2a597f149364f859d5f1dc17dde4181628b96438df017e9b96b87f45d40383badf6b6a89620adf601c9c4fee15b1a868f8bf7ed6f59d1f9a960fcc1d961c8d010002e238f3\n\n# tcId = 30\n# uint32 overflow in length\nmsg = 54657374\npadding = 303630120685010000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 829207379fc900183437b9794d8f7fe9ce67bf4dfb66b04c5e841575ff2ca607766acd6def23b5e22d25be703c0126be641d72f245bcdd60ca0fa8ace694fb8866ded8d5b572852ab899b5ed8808789167ffc699c242c7a6124f6aa6754b2b8c7e654f14aca2446a40f64030b0d836562ea9fd44adb75d235f1b7ea86048b4094aef96f0cd76c31ce25788aa9fae68c1062ae48c9a6b9130652b50be2f98ba64c89a987c0e566ba74bd3616f79567bbdd867f0081e97d0fbc948b6819f46561281061a413b4f3f43d5eb4174052055745d950caa95c320c4c7fc5e02f604071bcc361c20d72dd5509aa496a9bf1d497b61a064893880e052957353b2fab31476\n\n# tcId = 31\n# uint32 overflow in length\nmsg = 54657374\npadding = 303630120609608648016503040201058501000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8daf99c4f0ddc3b0eaa50d674076e2806d744bda24522938c6e4ee2970a5079586d866f0c1abe824b16d40bfe0239aebbecbf67a9155b2855da4656a15d23fc3f1d3518567deec75587d7ea77d3b510b9dd2b1672c8d4774860535f8690a286ea8da3636a1b65f38689b25e9e9b0ddadfb52a0c60ac90b376af968fc654387b5d712f93cfcad8f571ae550072d42b77e439cf28ab0b5857646b4bf2f7b57af7f0443944943828ad174780e1ac0d182fa92cf992991f8fcf2a9d5fcf72eff4ec1847c30f268092b87825fd5931e5306955fe0457e1b9f7162683218f6a9abe5213442a7f8f6a5f4dfbc6084b1bc01f11558fb314a0f07b86b0c6538cd3c7d2fb9\n\n# tcId = 32\n# uint32 overflow in length\nmsg = 54657374\npadding = 3036300d0609608648016503040201050004850100000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0b93779478f1ebd8d0b018e0db874d2f639834d48d2440cf5215c9b914acc3a7eb9111b5f77d605903a40c7020ec8a4be9cced3714df84586d5f9e0fe44fc1c61a0ac529e9fda9863086b77555e68e290ef716b9add9455b2349d9e14d7d2825af2ed0f619636c50599616508c79badc2dc2c47489028c5bd793022d189058f559dc272a01ddffddb8fee9d83c259cabecd93398d48591d7acc2787e1b8598cb0218b007440ee11733100ec3a3a9749ed81b3b62d4b9c32dddde30740c4875e451e3cf89fe5a970bb92f4065aa7d43fc6e08eefa416aba932a7bde5a10df11b433527bafb2854439b463f6a0a13ae66265dfabaeb4d8de6eeeba4de45e0be421\n\n# tcId = 33\n# uint64 overflow in length\nmsg = 54657374\npadding = ", - "3089010000000000000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8fcf0a72c6fd0f9b505effcd2c074051f1d25840f8803a68f1c149dc43af6b94a114efa7ce2b399a91aba823470b9f32a70fb6631dfef593dd312801062c7f64d7c7b8724bcd36b05df16838f9e2ef209c2dfa180717d9d1bb59c10d30bdf6a0c0041ff395d4eee8a1c60af17b8152906a58786ab39840909508f7a8f3a05096e92eb57b31c07e79500091f119698bf31bd14399e122e16c3f0083d0a9a6f6413a8427dd27dd5473a9060450349f51ac265030778dbb04d4a35aa98dd72ea38a548be905717b46a1e31cc0b2c9247b7a64d26c027b7d09fdc5f2c6f3f625ecc3a5e07e37d2623b099aa776c48c66d62764def44896651c6b0ab10f1db7105f8c\n\n# tcId = 34\n# uint64 overflow in length\nmsg = 54657374\npadding = 303a308901000000000000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a34534b9e1b82be8c7a70d643c85664cb3919ced9c6b6cbf470f4aa8c62194d3e287077d3dc03e9e49d9069b69a4fc2caa5c9fc0ff1f08cb9b8370d044baa4be1b5918174997d74579c791a4c9d53f0348d33b6dd9151ec11823fa765a04cf03791f9d8f89048bd702f03247e3d9ea4e9882d9c768166e60b2db47a1bd76dd8cde45933dd1e4c3fd2bd46bbb8b2fbd6a2630f9db7e09dc342a3e279927a68f3da34192d0a283e2df7530b06a42ad1680b4a33c8b4bed2a8e799ff39ce4c5853a2f9d016610e58ce819771cd0ca5cc286134fafdcf36eb6c0f198e312e0e2cf722c47487a43cf4630c0703e65f5cc23972d5c16012b0e338aa6bbaa9a6110bb7b\n\n# tcId = 35\n# uint64 overflow in length\nmsg = 54657374\npadding = 303a3016068901000000000000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 615fd599966ab4eb5d30e60eb0fd82ceff2eb244b4888442ed7f6a1f32005ec8818cfbe3e6f4ed7bf9d51775635307e281ece422219059736e938931dcb7fa1c0aed81808d39ec396acf70766e918f017fd41209972ccc55c1e31c84eb217a2d82dfd84499c4499cf0362ea60c40439c3d47e8a05128fcb5f445f08f5d92a29df6824d7c8bc735941ce54f464e44f2bcc6eb3619248bb52d04da149a5f9cbd9cf617257dc95a152681656f537a2e2053170cb2114dff07737872703914144acfa7f26b148c59258ef72e2061dea6c035853a6be96063dc05109ec7f2176a4d601c41caa637eebe907b248922c6fda83bb7e9481ea500576144355dbc98779944\n\n# tcId = 36\n# uint64 overflow in length\nmsg = 54657374\npadding = 303a3016060960864801650304020105890100000000000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a9648dacee46c926af22555c2d4784f01f3565949f177f5cfd4c31659186645d115d4a24dfbca04b583ce8f0c1e452a953fb081fddfd61b9ad9e59df2d52be9a6ac1ecfb58c211a8182f93093ff4f14f5e729e15dc0690aa612a09dee2ec44ec05f75ddfbc0b5a88e93e098cb8b0f7b74a3dd07ec559f964962f83fdb95ed913f2603ee50b36482e8a379522d12c620af2b0ac7537a95417df11430a72f72c0ab16babd7396e0c348f033026dc7239e2a61fe75b8ad4ba4ed154bf05cbfec5260f1e4f2cc0bf5f39542e12a3cc8e490c20a554d3b9afe73ac65c0a4c22bd9349ac39ee25d0feac57b6d5e065d82a757fd1fea928a4e741aa8ca724269415c1e9\n\n# tcId = 37\n# uint64 overflow in length\nmsg = 54657374\npadding = 303a300d060960864801650304020105000489010000000000000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 174cf250f8b41af4e2bcde276dabe55d193d51d80db308ee072cba6d7823e49ea26b32631a18316f48a8c933ff9660352917d5f197d44afbaf89808fdd16853786e3cb3a348009d58056e3ed84388ac73789732105e0c57fef0362b38ad103aa7eaaff599fcb07520ccaf39aae20ee0e1bda9a604e76646c72c9b4156efc0fc4a2fc733a5c080f50d9a5bed24a35ec863bbc7297c2a7ffdee9c7b3fd614da2466b9e77a72af6d2dba40bab35235e14e520278df7260b588528f0b32072aa532d09471f4e1992c8ff3534e6d0723c1664e8c6ec141eee2f7439cd57cf167f1b6dc681aac0a6ddfceeee9a81c53845ab87c145452627547a0961e0fc89b17ef70f\n\n# tcId = 38\n# length = 2**31 - 1\nmsg = 54657374\npadding = 30847fffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 87bff62986cb2cd250de8d56fb4674c65cafd441da9dd4e42b1e7e14231519b63fa59608cd70d3ad761fdba810993ab3da3ba5d182dabefdce2c383e153df2b21c4cd4b58ea94e353d8c02bcfef4d565cda92975610207c9c30754cbe22bfe0f7cebaad0b6fe1d470d9119090adde8587d15cf27965f525d92ccb2c8778261f9d126ffdd8b90bd00acbe648979567a3ecb1fb5ceae06bbfb1df595e2155889ce62b3b47bce372a7527fd59ab5dca37378d0a90f4487690385acadea3766fa407d277ce4e76416daaeeba1591aa31dc601efd0d9e29b50ccc68d1511581b00f75de4c05d145b7ce0f74ccc509748fb1f8c636e1a56c9c412142d5c9a95efd0b8d\n\n# tcId = 39\n# length = 2**31 - 1\nmsg = 54657374\npadding = 303530847fffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2fadb8a429803ec2956ae6012289f15f7ed8d535c07412994204ade72d2e7a5548024390e1356d432b7e68c1a8738382f5aef3cc7739f926b44f9b9905222323a97fe7b303c130eb4147a5a4c69a031bd0c459779f7c3bc00bd5ad616421d14aa90ff3f5f4f700efd19826d89c80c6c4ab4ec81ec05498bb543be74acb3f61e6e1bef48e61646ab962da08502fb092961c5fb324026a52abfd1c47b9ea76187f5134916c5dbfc18668933c2a562a02c102b6efb9ca2df40869e920e84f8e73668a73c1cea83bc8600f7dbadeb5babfa74b99a3d02794b924b01dbf087da3d8d579514647633d8d6922a59a3f5625687a4b1c3b5cc67858e9b78ebbc7adc20aa7\n\n# tcId = 40\n# length = 2**31 - 1\nmsg = 54657374\npadding = 3035301106847fffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 249c65c65a3334eb4be16dcc3db0732547ded2ce4ae6c10b1e1a0f474298b2ce230c59e7e746ffa173d5dad3b16dd4325e5469daf6ffec2af4ea23db279601b014b54fbcfb3578b078a8ec53121038ad666ac9408d65e8ff4570aa3b5747041f4c3a45a0e9856f2ed04b3c2060925a5c77314f7bfb5c85a71155df5b23f694a9caaac2fb11dc6612bac680d7494ee19bd4945ee82c5d1f5acdf6b5ab46e937a90bc4d6d3f301373026edeee725da4ba5202e1896b716bd8c69ddb95fb364d697fc596709b0ec48bc66041df7127aed311110545c4aafd228ff55986781780455241830397f8fb6764e33d0262aa65814521ec71890700a093f50db4659cc5e2c\n\n# tcId = 41\n# length = 2**31 - 1\nmsg = 54657374\npadding = 30353011060960864801650304020105847fffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7d2652c6ffce45a2fc4d740db90e1e87795e38dd5f58d3905b9fd41a2a49f3b6c3c14db49f8378fac35cb67b3593a0991ed4c2439cb7890ef727b94833e455edb94b11c2b0cd7bf5c11f8a206e62f540928f873fc6c6b0ea4e520e85f01140d21ff2ed65945e602e09d6880c275fb9cb0cb9cf7a85dfec032f29d5bbb4303256c0cd02a99a3433186558b0ee9bbd93e5e2a89c9ac2b8f74b94e0d9b02438d1bb54dde5424893683f5e74d9acd1424456a55f74d0654b20f55d199d17d5b3184930d5f95068f61c6d1ca4b0e75f01d56fddeb13a9fc07e185b514ec05bc657f97e1ed7c25670a1ed4e16172ed2c19c7521914dd3001d23219c8b578c566eb2c1b\n\n# tcId = 42\n# length = 2**31 - 1\nmsg = 54657374\npadding = 3035300d0609608648016503040201050004847fffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a47037577d6a1480d07bda7574648d9b4d613a6d112f7027e873cca188cc41ad35cb8c931928d2765b60c21af9756b6f0acbbfe0b44b4eb63abded9d8547fb1a37706ab562b448b47f29a81673e27345c156e0fa29a353b90c3262a8a48b0f002dab41aadcd0edbb016973fd85ca98e53116cc3a3cda5754c76ac8c8e44e31aac06d1e248137ba096237d14119538f55a1cff1c7a93e1095eb40918233e5b33e092741f658962355541af6eef3bf3b84e9b87fac775f53e7bade8581804139b765090051474b08c82555daa5407fbbe998f29fa337d21b24b6917d4cb315d035dd397a84c47b6b806bd1e7812795d653073cf349c57193397c542f3fdd512bcd\n\n# tcId = 43\n# length = 2**32 - 1\nmsg = 54657374\npadding = 3084ffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 85ec33234ac05061985a24bd9e5e13de3fc8e8c246f75d85abf8021cd993f97c38ec6b73d713c6417effc7a751530feff849a5591ca0c4e6dc5bf6bf97c34bace7faa2e448bbc81e3d8551d4f82f7ed095ecdb19e91498e357909f090fd8c215f830b2741a4a4af518341c312bd6f7fef9c1b563cd4284f785430c538234f6bd3fceb2b49ab872cb481447b2d45a37d45dafad4d6de26246634b99b926e37832a8302d24b35e315f0b971cf52c60ac486460d7678152beff5369441c84ed54f16177f5ae560eacac13d7f94f14764ecd42adeaa0599a1a47e7f500e6b14e0a3b198aaa18fdc6d9141932bb28b20e71f69c173c2b841fa042a3fa0a388e164fd3\n\n# tcId = 44\n# length = 2**32 - 1\nmsg = 54657374\npadding = 30353084ffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4d28f0c7915b1eb63badbd931675ecf29f8d69b4b2e1b1fad776fa5adbccdc17bde98029059d46b197de49e061ec57cce2cb77a63deec3c75c2cc14fc9bb4a2ac29d5f4a05e6b4ff97ecbcc26a0dce39760423740141e675b52878a83aa044f68e84d9abd0ea6bfc5e6fc3", - "acd971af258b7b9a01079010e68e70bd7bd31a9f9bdbb70598758ba274fb8feeb8ff46a4b2331a4da03330cf55910e6ce940c1a95b6bee9adec351354774139e3b213627a6d7e8381656362b4c6f83e97f93630939d22763f0850f1b4d38a8e3ed213d2febeeb125ec03854a4b276fb59087904ffabe83cfa66c1af413af6ecde5efcbc5241d5b958425b66ccd31500ceb9b80d793\n\n# tcId = 45\n# length = 2**32 - 1\nmsg = 54657374\npadding = 303530110684ffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2c59c0f5bf7fa3b6bda22a75dfc3ba14c26ff3e7ad24c1527ee7ab7c032dbfda6ea5171d88df2de56c1ad6d955dc41bcb8395e83518e40b840c062cfe982c0e42065d7e2a9bcbf91dee53949bb6f67c99d1e1fc44cda982a3df171f9c35424efb2f6c0cc169a44b6e5015df5150796a9c669515aaae57076bb1fbc9480a8ca6954990612eb0314da7efea7d14223081618f2225ce3ce43770d457e84b54a80cb3a35f14c511a2fa2a4d295afa6ed3996d47b5a0c6b1d7c11ab14bbff13af67b7475ac543307626598d69557255bb3a92c07e36c3e9d1530b21284b3d5c2066057035bc753894c01e0f33764b51ca3319ef32d4288d11c7a1767ed7ed89433216\n\n# tcId = 46\n# length = 2**32 - 1\nmsg = 54657374\npadding = 3035301106096086480165030402010584ffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6bbfb1ef162a8cc8c140dbcc73e922e1b25c0a5f29e59b879315e5336697f86dcffa1f26c435ef3f38657a501e1a3dca7dea9226ae179eb6e7b4604c4a984da95421676c0a1d5b5ceeedcb02def8ca2e90f657b257695e7f87aa948c7d54570540657f8b79f3622347d4c3aaeb8c8c72abb45a156b7facb3ec3c4abaaed5491b84263ec9614a08dd4ad2fc81682e11d834c328ab21bf6af4f25cf26b81032ef1aac9edbd1879b64e04a24f36f6bbd1b317a58fbfe6657a4450deb0b07386be1e4c9f692d6e96740e300905fe7ab3f48ffa279b581b98afeed03243779127fe57d97d7313ee6b2ffbb5ec7e2bfe5d1509b9e8a794cc3cf45ef488874c3e494214\n\n# tcId = 47\n# length = 2**32 - 1\nmsg = 54657374\npadding = 3035300d060960864801650304020105000484ffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 790911646b9fc46991a8c1fdd0c7a5a8b45a078305d71eafad2dae2ecfeb5f7122d1ba2c77faecd5bab50b05b355740f93c6cde64c42ddb3be48362a741fe29173d58d950b2c242753ba3db6f4dd576c2240f490f53ccf9b6e781fc610966b80cd9700f41c8bffc87790a01a45f3623a82167ac42e52c5ab5ef539b29f5d19449e9fb0b6749a559010daaaa19d15f3fc53b58b1a912db79a46caf10fdd5ea81256842acb1e06282ee66c0bccbd69131b532b3cf7ef72fb725c910338e24cdf2653d443f209efbd03573b54536f98fb002e57a27f62fbb117cca57d9d6a2ac04cb0211e227682988c64421a5f8ad6dd3916d0d84b441847324c03451a4ba24fd0\n\n# tcId = 48\n# length = 2**40 - 1\nmsg = 54657374\npadding = 3085ffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 02d431509bae6e097fffb5e719b16a296b81fcfc9fc6a64b85b337c88049fed54971ef61e635388c2653554685e652059c769c5947af49858439d9c388a40703a016f73cf231726853f498f94a0a9a98e14e0cf8f0c8284b4d992f00cbb8dde41b07679c7bb7a2b4b7b307f2edda65fe3e002c7235eb85dd2ba41483b26131c997793ed64fe92a9fa9198eead1e8506385db0c3c4dfb93b87e2cfc09d9d3b00937cfc0a35bc211cc8efa4de83745c5eb0bb28ae52a22ae4ec8712be72bcf420476fdada50b618f0e9576e3e7ad8df5a0ebab78b1bfcdcef594cb7ff56a895b5ab5e0a30f82453880d394bad6ddb92231e44aa275f945ba6220d9f226da4d0aaf\n\n# tcId = 49\n# length = 2**40 - 1\nmsg = 54657374\npadding = 30363085ffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 665e80a08c78f4c8a2768d1ba374bdd5e5101e61a594300a18a071d7c98c68cdb73acf32831ea077734e2486f1b13f76cd779a80fedbd76716fd022006a6faee19cb9789359e5b7013a59cd671a2a91c8328f4a1697e14a085c897eb45692d0bec074b400ded2820c6a5dbee2feac84cb6a37baece0ce763dfa7ca3b3fd4a82863a0eb35fcff709ca401c0bbb73f27f251b627cc442dd43eea634942bcd8bd72f1e8f192ae8dec1b7275c7739db254ced8b57332407f8a85285a190c94ea7f1c9318b7fcf67369ed23243c2454dd2ffa153ef12074a842878b38695336e8acfebf2d56d3560e43cdb039c27b207ae35f7a527b05baffc73fe76e57813b484f00\n\n# tcId = 50\n# length = 2**40 - 1\nmsg = 54657374\npadding = 303630120685ffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 31e48e30de0cf259d0273991b633da6228289d540d84c527d5f12a13d2d6fd489b1ee282ff5261eeffb8e1c716572b207eb59c1dcf04bf9d4a9ca92feccf318254aba5fbe1df1dc6e3101f2ccd0cf329d23cfd9fa19c2acfc98c319be1c4d9831e86343513769e4dded967f512d5371ee845e47544c303d52ebeaae15e139eb2606989268b1ab641c44efd8b1ee3a5fea73907cafd4322c00d666d3d0e11ebebae763b0bc4948acb034eeec91ba2b90cb40218f8c8f4653338eef0a4d31e3dbd29a3d90b9a11c8fd8e613ccbec221799fc2d98625215ad28ed9b7c38eff27c44fc5cfd408a6ef1c7af90465cd4b5aa424c48604e2d72bc10d9ddfafc30129a42\n\n# tcId = 51\n# length = 2**40 - 1\nmsg = 54657374\npadding = 3036301206096086480165030402010585ffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 681e2eb5134130900a52086c86aa16e20c7b95e7cfde30607e84e467fc67797d01674240cdb189aee160f8574f773095200c66c96507524f612e0d00adc1b4edf4c5f6c3e499a0bcb892e917c01c2c0ab9bafb6ad219ecf4030f6aac5253cfde1c1e71f1a7c1de03e65f9751d3ecdc09e4b499a96f9fb22da50a8ee8f4d62c9b67281848824d787c40fed31dc0036577e17c2d9a43cf7170c52ae92311725599d51957364da73424464d63c0edb55e79361f7798dd61d0c4068e4d0821ce80e27054459e9ec3fc0f202e9a30f4ad01747c6ee854b1f3615059d4bcce267a857287e7a9cc6058836af04d9f8d9b4adde905bb455901418e2aea9659c65aca0cf8\n\n# tcId = 52\n# length = 2**40 - 1\nmsg = 54657374\npadding = 3036300d060960864801650304020105000485ffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 876fea7a5f814cb533109f000830bf5d8776d57b502a86f1df6e4dc50125a18e08f267edb7abe0afe44a5e75e8f4fd5e11fb2691fb73735617bdc5dc270e2b51adb064f5a560a4557c0b925e6af7852a110ac3f8c33150d3dd1d5253b7fc69d11949a8e80aa2e240cb3eed5a44afd0ed7a651ff6205bb80333cd060a2d2dbe5e37de3fe38c342c1635d553a7bab6be1b6ec1bbe9524944ec967200d35bfea076846b8460333d17cc90be7c6862695fab2cb5d02beebd6b1b86229e48d64f391ae3e506a7d252ecef54b61d4c186ab9fc8f2b32e006d07d9958292b6f4735a4c4d8e63713c212558f73de273647dc37bead249379831979c8062c0768148bcdda\n\n# tcId = 53\n# length = 2**64 - 1\nmsg = 54657374\npadding = 3088ffffffffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 58bb9a11f29ec8bc8ec7bba4c056e09087fcc881d8fe8e5dc58fa74d979676a20e00468e16238d8e2a53e40b4952ae47cc857807558b12224b3ab06ae355fbbd35180e555d7d468c23c6466ae74c8003d2b1591fbd529cc479e7469f5645787b8d7baaedb089efacf7f4395cc1382a3068770530ae97729089100960f22a13d73883a3a5ce6867c77a9e833d60f8f3c79fc2f36e63cbde5a02cdb7e226f387588456b9161814abb84c638aafb44f293e19f1bd5093e36d68386e365a5ab076b64275880823bb77502924d26bf443e94e45921866c68edaf5e66b24df38155b6faa25e531eb1af900780413cf5d5d903146a9cfe9350a3a1509beb679d7b75cd6\n\n# tcId = 54\n# length = 2**64 - 1\nmsg = 54657374\npadding = 30393088ffffffffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = ab35fb3939affc42b2ac00248105dbd3da37b59db5d489d1ab1962418e6bec3b6fb4dbc03fb47c2a64cd09fee70acd723a50402b47cc2a3411c716a1f380138511d693751e37a0bf23751488293a68382a909202b7d18dc3721521f9c8fa3554dac15b20ce5ff9638edeba6ae89afaa100cfc92f51326b82e8fea27ca216b8b953afe00d0a02c0df5ec76ac494c1ed3398144a2654570d8daebfb27dc698bb5fc3a69e7b3759c1f1c7d5e807f509185a17b642f8b24934b5efef55287dff737fe633f19e0d1af46a0b4675b300583f96a3670b1e50f1c27441b5e601b8c4cee015854d680ab544900e65f4e205e2666ac0087586012d8ae52711a9cda02ee520\n\n# tcId = 55\n# length = 2**64 - 1\nmsg = 54657374\npadding = 303930150688ffffffffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 300282f3e571048e6a298d3b1d979961d17e5f460510227aecd83d7e8b3e21c76a1a304bf464dcbaaaa3e134bc5b25ecb745b78829fe5d7590c1c799bd613ccb8e1e55ed89abc0fc663599e77ea87515c2446091cffa063d6b2df5e3c623da69bcdfd9da5176356f76b05c98413d762cbe0f47ab6d470eaa8dac88dd55890a8c386d5ba195bba8751af133a24d204b7e7077e7a9268cb9dd7021d9348f12dcb46f145a19f0b408e2563d5487281db1c2807908ddd125db751b735adaed2f8e8cb55ea470a45383e2991b80ae0126f93555908a9154c1633c820e8942d4c37c807ac6a94507a3b9e1f95ae5a712cb7740180eb4e56c15d4e1829fbee2bb1e642a\n\n# tcId = 56\n# length = 2**64 - 1\nmsg = 54657374\npadding = 3039301506096086480165030402010588", - "ffffffffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2021ef89c0db9b47dde3df73014ec88ad9d33575e64ff6cbd46201b45811b15f197594de8e35c26139be07132600cd48459e0439b93c2fe734337c914fa87c3913887275ab41aae8a70d60c1690ddacab4711ca0f1949fec70a7173c39116992c051c5802d1c1f005cda7f5b1dd61a8ebabb27563313f6d25347654c64437165590e29e78dc0bfd5491d02d6ed45a0f2ad58c46367670876050ab385f7af6e9f9bb06b279e360519d047296ca055429935b0a96d6b1d6ad1e77c130bd99db29531b0bb6a6abf3bbe1156217a94d137a76736cad06e5d53b9671204a49d54bf5371b8a3d7bbaaffe7871dc8c4ae8165c70bf14dc6ffce5ad74450a564f21f59af\n\n# tcId = 57\n# length = 2**64 - 1\nmsg = 54657374\npadding = 3039300d060960864801650304020105000488ffffffffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4b06f62bb29091d0ae2dc52c2443bac02e9bebc68f84bd0186e0e565483db3fdb2ee8c3bf17e2fc256f7df3810c5c597fd03dd65d9726f4699734a89fb5dd88176ded8f2caba4c1a869ba85ecee2ad4ed782006bb5d1f6e9a8ced64a9a74298a9c512b27cdd93b7f3fb4845bf2d95af41acc95a43fda8784424d3ff5ce18292abb0d43ad644c28ed076011947a317a5543fc48becb1836a8f57a1dbebd5dad249a00e01c102b98a799b05c2a08565c5778e629264727a9cb8fb4ecd71f8f3db26e3ebbe59812462d6c2e042a4f92456df56cb9caf959ce3181aaa1956109a0dfb8524ef802891e80dffcc2132ee1cf380641c7da5d1e3ef1a3b37c8b9a7d4c05\n\n# tcId = 58\n# incorrect length\nmsg = 54657374\npadding = 30ff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3f9ed26d39ea6b13377ba941923d1c55544c4ef8c9187dc6430eb1e7c8b86292e528fbc74b7876016ff3cf8014da3d85f37e975810c0a7a8996c91533567e40b0c8464de887b18c9adf84571f7703147cee96c81e5eaa61cb3c40840d21cc0a280991173d5fb1cce01514003bec10e28420ba01819ff003d9ca8658f41a6e02c3295a53613adac27ddbe959d90faa58e33c3326c4b5b6a5a015955541531fc62ea216a4dc54878b65e6a12e0fd548046e103d8dd4516bcebf008ae4d5b971e9e2eecc8379356ebf76b69943b6f0d87ccdc19036007f7c79f363ace8e85bb97c40f7b59bbeacba0325decf642cc8cb8e51efb55a7296bb23bb12a3a1b334f5ca8\n\n# tcId = 59\n# incorrect length\nmsg = 54657374\npadding = 303130ff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 748e7f86340f83dfe05a19e73449b7814398c6951a649029509c3072b6ce053e6176453d9046677e4996ea9a490fd602d8a735042b29d2a17f997817c6d9600bea2d5f7d7129a361bac6b7f76df520f4971790d250fbf89df5c22bb9e7a510bb6fcbd18251fcc5b77d61128f27adb3784c9c363eedd2c0acf9fbff65c9b4c67d631c98ec6ad6ce56389420a9f7e78973e3b55c90b3c3a6b37ffaa74ced4889cf306eb75e87d4b34519a349d1b7842f81eb588c3137e80895fbb98d67fda3621c7510815a5d5ae512e6566088dc333107a3a6f4309d6dda5417bfa795c72d4e70253775afeda3940d4bedb9a094502e1bd90084cae6f66c5f0369d3ca6a00d4f0\n\n# tcId = 60\n# incorrect length\nmsg = 54657374\npadding = 3031300d06ff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7705d76a011d696708921967a9e86166528d77c656946a5ab0e157a78073f4b2f2785a1feef6efd8d337a22a8ef59c6e710e984844498f0ae0c1f61b5d7057d09e3fed79922d492302e28c0c0401100049ccb68fab95feceff0acc24a913840290b27477b295f942ba232e6ec76d112632c9f02f9d40505323d81f4ff1bea14f42d6743a3c2867df273f80274fefbb20346c3f1cf0c2f87b55e8de277a8b2f4ab8006346dc8ceaaaf0d4af382337952e3c55cadab336da343723bda0ec0272ad6251995d58764679135c1a20098e9c3df54f161bb16bce5a600a075b36022f224ad5b4c7dda09bd94bc7eda7a853d96b5100e5af8fa2dc1a6964e4e1fdceb826\n\n# tcId = 61\n# incorrect length\nmsg = 54657374\npadding = 3031300d060960864801650304020105ff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b298cddbcc889842ade9fc8a116492416b2fbb01b3f414e0dacb2a17d386dc26b1c046192f70ebcba7475445c7794e137afbf0c252077272b645a91b9cfd8312a83d75a696c777b762d832272c544ae96be8e28ae5a639e7581b1bb1c395e693c0cbfdb0f2706e2b93134aaeba76de19674c6a0317eed9b06119fd3025a3141e06211047468e9a59fb8932dee92db824b4f3a8a11ef4bd0b3a015d861ebae48f842203a79a66395da42a4b2f943b51c8824eadc11cbbfb34c4a82c553f83341cdffd8256871ee06f160852ec6b0e7a79c1f06aeaa474efe6309f7caeb4a26fb33364737496f233ee6fafa5e13dde525fa414078271cc439fe5ad0a52fa6401ee\n\n# tcId = 62\n# incorrect length\nmsg = 54657374\npadding = 3031300d0609608648016503040201050004ff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8b15577f817c9f63a94b9633fdd36af378d9f5f471636c7b518d467a37aacb5013a3640d4ad384286c68dec71ac5d6a4ba2578fe2c61d1db0922108bc777703c8f09f251cbec3a6d2a0e26d7e4f271efcc3458e96c710cb8b120eb7d5d8a5a535e823b42d6c3d59f8647bb244eaedea2b91e3b4e3e4fb9f2b0fd4d877d4fc10f135c54ed5f6228a48605016c7348ac4d7c00246be44d9e8660616bfafdaaccda021c33bbc564a5594ec98472b0f559dc45ea57b254a6397685643d1fbc1e074fcbcfcbc5de4f5833a7dcfddef6a1af5bafc6687ac8664d9920f9be8d8bf9e3b404db41b1d3ac1c87e9627a4b69a2b04c0ac751eaced3b7fa618bd7c0dceee17b\n\n# tcId = 63\n# indefinite length without termination\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 672bf0ea5541b809287c9e2b6a584da21271f24d58eb68cf2dca42f604bf3d62fa9d5a52ea20e234002ceda5bd919ee8ff344c8f84e2cf4d8efc511560e03f930b6533cce2ebaf14203401317fa8b0fd17807389b3c5449ba24a8a1f16d143ad06c1dc62c5c40facabe64faf0a9816d51a831b648ae9c99b465535b342085ebb1aa44ad23c08bf4dd9e0838209d4805f48cb16d9bca302d161ec3f6e66ac734f001e232c3133558c4b89c00eba40bd53c37c5b03ff6fb3f323d0b79510592141946a7a7b16abfa78ab81d886d7c4d4090bdcb782efbf0c4a76b47abb18e1fc9259cee098929a1843a04ba52704bc9be25a2b96779a2b647d3ba7c11e2a8dfe48\n\n# tcId = 64\n# indefinite length without termination\nmsg = 54657374\npadding = 30313080060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 94818574cddac115d352d1740c4e5581ce36f1eac658a7cc9c0fa26a1d6f5f43279c9f2af313b3e0df805ac1e24976d58aee16e2a4616cbe421e46f5263ce46e301d8c295cb8a807a9c65610b176c61ae03229fc6601cfcffcf90d53edcfe869a1bc692dcdf88ce84f23b34733f9c8046d1cb7df77f1eb29cddcd4b420dcc8761169f3c7dab4f04e2eccbc046b0b26007406dec7505a38273e3bab522a81a054241afea6b6576cb1fdab2569cfa605c0cfcea0f4665f489273b92d2fcaae21be8f2d37dc40a38d847c56c3df5a2d5cab476753c91bb4e2dfbf2bd9ded2010e202976055c78de4fb2ec3f2a6a44d6816c7cbb829c83646156941418b4f060e196\n\n# tcId = 65\n# indefinite length without termination\nmsg = 54657374\npadding = 3031300d068060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5c54c39c0a079e7a842c8b7f5c6bc63f4b90873e1379132fc1a52fb78fe6eb46aece7f5ebeeaf2df8862622442f0a470d2a8ae252c5c5d71702033c6b5e6e983cf44ac0e818d9453b86b91b5d99a1af0fa5ed8aff718d49864c093e4cd5be4db1fd44b6ed38e58df96e70cab32fae1889e091be25eb9f15c07ad2c304e0ccb881cdbb1e45ba993b95e169358a169c70e7d0915ba34955bf20fe1df2c7aae78fb78c893d184c85a56524643dfdfc41e62539da005751409a18fb4e59d2877c6cc45a4b832fbfa8ad2880775d9fe92b6516f8458bb52cd5820710bc16ca32cd7bb3998af0299778a2dab50d62d73415294a857d92bc5bad97248e70cdacd50dd5d\n\n# tcId = 66\n# indefinite length without termination\nmsg = 54657374\npadding = 3031300d060960864801650304020105800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9b91890eb53272fe7542c2067a4e9295b8c7b8ddf1c9ece6a75fcde79c9af2cbcbcef38d342032b85ccff9d6c82d3cfd68a7b27a38eaa45c78a17741c230391b3df0bd79dcc3447c8717b7207fa1fd04e917b5282e3a7dad48e8f2f6d1360f6c720f9eaf1d1d59f061d71daac1548538c0a06fa65b2ac87abc9e6fed3a6e15f48422bd9c4c681fa98a27c873d7efc5c100e708d58141b60e5a691747df4036162456bb11f92f2a391170233ca1c03e1786a32fe9ab8a94246dc643a884ad59edc40e2eb873713e84816e4a7f7857126da3f063cb9a3dda0547207c426f7cc985b5a3b6374cfff51d0d542ce9f82ffc07ad24c106363ffaed12c97526394a84ff\n\n# tcId = 67\n# indefinite length without termination\nmsg = 54657374\npadding = 3031300d060960864801650304020105000480532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0f07dc8786a46a7ae2fe2bd534715044f46ad17b836b00370996258aa90bddf563b5f3e7eb1500ed0604f9380491a5a6c6c004b560b0f280a2de30d191928bf5aa0378fd6beda830beb1db8b6b1c8846079b6013cf586e384be0e1163c62b526fbf8e26992afba6ef5e5f15755ec7b5287a149b19e577e79bff6526d72616e28d921661752e8cd0e4b950d7ee9f2414e45b3069a80a2e089e", - "46d0b3da5cc0352c07305f8dfef2e1e928e85bb76c5a0f1516383143184f66f31c69adc0b8219f11809501927744fa37d1c8cc1e2a6712d54ed66dd177714b7cbd005e6a6f83db92041b595dd934b0b19fce5db369e504fb45c9df1e645e81bef62cd4da3497e9d\n\n# tcId = 68\n# removing sequence\nmsg = 54657374\npadding = \nresult = invalid\nsig = 70f9515388762b320cf84e90eb571b27eee58a43ebd4773573bffbce8b162bf17e6c0317636b211b2bc56aafa99b968ec950466ae5cd7b10d94c993dabace14b94bed501dacc0b40feb8a89586eb1a792e92115ba5430ce1183ffc6f538ca657fed3ea684a1b9d998c0d9ff004e150a0a32d20455176e8db3d96b5063a60106a7bf6c9d0baa8879ddb77d9a3037400348ed1ee4b88f8256e8e632b15b0dc2611da3a9faab929a0bd4881418d7fd8fc7760c523e1ca4cd3f25c8243b8bcdcd51e96a3840de589744bb8d655851b9cdbd8b7f2d47a57144d9c2a7ea07d49c0d141cf918a4eb1507f8a7b11cbaa28c1a35745209a5fad2bd1e66f7929fe0223d505\n\n# tcId = 69\n# removing sequence\nmsg = 54657374\npadding = 30220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8804d661bb17ffa73e371d134984ee95e426d7c12af978d9ad00ce746db4a3bad36546709f029d2c9ed13e6d27123cb7a1954f1f65f3fa46eeb56f449ba6b5e0736e5dd2586d642711d98aa19595d9da1c4ec20953009e2711738263170b487072566558de1301e0d0253f8fc14d12c8cfb4644b50aeb3d3a9fe1a26fd3bccd72986cbaff34fc4fa38ce52e65821f169d54b78037b8ddcba141ffc72797023c802564989a20b07b9a2ba6a256647e937b1c16df2081cb61bc6e6a2ec6ca9939db91ec2ae62c4b2d0d7f61a0bf0c693165175c91b100c195f3611c3ecb797c531439655ace9aae18e53a69e66698fb593f48084117ba288a134fd0389ee0f7544\n\n# tcId = 70\n# lonely sequence tag\nmsg = 54657374\npadding = 30\nresult = invalid\nsig = 47004cf187bd2a34c6ed89f6f8eb9f67a401a40d66a95c8cddd98fa0faa829bbfc9e62a854788e4d23015a68f098a77cc5daac7e23c6ba56167518753187a8ead68edc686c393940f77255fc8092c4c65a01aa6901c0af96830c05747791e511c8c01da4358feb38bf5507543184fe887c5821c4af048c5082bed56c7934985d86de2402b37e16a6f3e23d5a1e838992bef2a46d4fa87971f0cb01a470e185654a6b174d9bba81117e8df24b19a7be0d1f8e3906d3029b5ad4f0d8c152375dfc4fa490f9fa3a5b52fb929a7d41a84d61bbf60d80162b16334b4958ec879bbc0098962d5d3220169c8ccb338d31c664c23144cc85bc371b2d9da61a69f0b4b658\n\n# tcId = 71\n# lonely sequence tag\nmsg = 54657374\npadding = 3023300420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 24bc364503e9aa28177f9fe7ebda884cbe9494a6b589b0db875541174cb1ceb60f514b74838a0df3bfa8e59b06e4ff83e4a4e336b41761da705b5ff9c0fb36e522cd50ead114067f58b100d6868581b69ead695a5c4b15198c5ae35d67e5181335590ec176af6eea69dce2a69e87d9f4a03f351bdad1c0c80dd1d27b75cc7bfb6acc7c25bdd87d0233ae4ab186f1b11ede86139954d9e886b910c3030d372f8900645b8e17b08e61cd64e520b882203b57723f00e96a6698fd65e7d99664351cb797ed2ed67901475169d47cd64fedfcfb6b67df5fa5d7c5ba53d65dd86d26d899df5aa6811c53a3a28fecb72df39e0eef50053d674d521acedbf6cd17ac2108\n\n# tcId = 72\n# appending 0's to sequence\nmsg = 54657374\npadding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = b6a1d94b0ebd824f6b5a95f6697af65995eb388f3ae12c87399accdc639cf5b7e71bcf436feaaf8bac9f3234d0f429ab1b0c081f71340ecd727d9b94c66fad1fa070c4b80350eeb55878ba427e4acc5762597039fe1ef92ce29aa9919607045ed76326744b0e361cefa24a24725af612b40febc4f8293d4ca9faae0d19f1f2dbb5c4f0d27f92eba41457b39f9cb2c75695834992c326d5e39f56adfbdafad08589a5d4aed79f0abd8af3e056558afca803e6d75da2379a0cc52168f88e88a2c14abff048ee8174c0e2f31854d6687b7097d0f3352fea3a02dcfcccbece2819d4b5e1c97f93857151aaef70cde099a7226fa39f89a8c92e08de354fa80744dbae\n\n# tcId = 73\n# appending 0's to sequence\nmsg = 54657374\npadding = 3033300f0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 32fdb9a7898c2281cf10104e74adf455a4553ba47e96bcaca5671c9ed13180140cc8556d7a429319079622e352f5f364193ce54528a3d3906628fa8945b9050f1365e99a58dfbe50572dea466cd9dc96d2c773cf35c5f1e51a6d2da23a5631bf4aeff50019e1542cac38e71ad2a1580c24865c8f65217e330415df95f83f1a29a41e4a20f63ee1f06a3ab10ed2f10994291f8d7c80032adca004094dad4b2d33203c09b134dfd5ce9ae577f8b7edc7637046d5c59036362ffc283a7c297641d6d7a36a95843661266289365e021a393d80459e5c63cb71e504661c814d8cdaef3d5cdc0ea2f95be650a0e14af9fd560acee1728fc46f5253557e8eda487e4659\n\n# tcId = 74\n# prepending 0's to sequence\nmsg = 54657374\npadding = 30330000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6dde567bbdcef450502b9c76daa040d2ab0cbbbc79533c5576287ceaf79aeaf587c58ce90974d555f4d7bd099abb90d61a25a6c064b58826fad6eafde247457564f8183ce79f7881bb2ceecc830c8891c35704ec66694574838c14287024eec643d7dcca4c4990b616c8fa98b0f97f914230e786a102a4e2ecb926ec89f40c69b39b54ed8890fc08edbe50f338c909b7b6c816a44010addbe65b527734e0502c59aaf8bb7e108999c540a023b60a9227ec052348b01bb1bd5ce7b7580b18f40b5f39b556bcb560ced438c84b2e8e67eeadf4837340d7c913afb7e0ed7fdbb2c58e3d9a71ccc59ebd8a63a80a8049bd9df49b164219fd87f345e1da34a929546c\n\n# tcId = 75\n# prepending 0's to sequence\nmsg = 54657374\npadding = 3033300f0000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 97c4a36c30fc317a6c1f712fccbd699f3de5a7420efdabf17edfefd790b90e20afc914d7e0aa34dbabf736db460eb697abc285f029d784b2b394d689e1a383af8a51f153b4bb77e199441ce622e6d146a842244f35d5eb3d410dc78c2c85dc73c570f848063de0445871e7210207b02144f461b7105b3a74ea3caf25412eb92d1058f18e9afac51006e859da988c733293d1e64164b733936d563c4edd8e81f57b4c463934ede932cc93237bd26fa0f86c5745d804722f8b837b19e50d415889d58fbc78bfd4eb35ea5dece233638689c11d212c47a1e1bc0b733eff107ec9dcc90a7a7395e06785e75973e0d4a20dc0c562405886c9603daaa20f6763fb9f7f\n\n# tcId = 76\n# appending unused 0's to sequence\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 2fbc69383978c97e1075a9d8f9ad1e01dfc6fdef216b381ae5349f005617c739e086f45ffd2cdb45318321bbe77e5a2d67fb1c6b209c81eaa2388c38b036f66575590447219b7771a92bd6c594d8190339dafaffdf2a5a8b73e0382eddb2b2f95a42fe0235042965bd530584fa9db7fafc8c14a417c84b1421c63419610ebd67d20966e1ce9406c4e938784e967ca37b9499d9df4dded8b74c55b08c6244ea8285b17d55a6c51367562563524e6a45ff7956e656a1bd46229db68398f8a0011ded00f30f6bb46c5599ea3fbffb30746b56d83b17d461b20dde2bab7303f92ad9a322e41ea9962065b9ed683f56e31a58be7177505dc35a10e6703c4628933a01\n\n# tcId = 77\n# appending unused 0's to sequence\nmsg = 54657374\npadding = 3033300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 94087e73e94662f9f925abc756bdac96a520ee6d5c8baba1c8947ff9d7a22fe43aac67e91986890b83eac61de630aca7813578e65a2268d78dd25982b89aa7a9d693bd868acf156c9cbb70779bde1cf7fd304b040c428d7aa48f972f0ff0c24f4d2aa88b622e801a1e2011804f331e80d17b3d15f8410b8cb301c7ef4da7eef69089fbbb4aa05433d16e673171d881357f304cb4ba929a7ccb6690bbd6911f6f5fb7d570345719fc55a5129dc8e870a7083457cbaeb86c3cf51f0c5f605645fe40410055942bbe957d9911d84a1d423978b37ffc91eadba802443cae32f48f7d987eca24719f0e77d568f56726e24e3d85b1a1d13a0bcf0c72f0424650ce50c7\n\n# tcId = 78\n# appending null value to sequence\nmsg = 54657374\npadding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500\nresult = invalid\nsig = 46ebaddd8f38c7acc4f2874a34dbabf6596e42b8f62313d12f9e01d16cca9968d0b73a5407ac15cb3ffb232b925acad2d5b29b7ac1907e294cba0107d9b0fe46f728695f3be72df258e504771ae356ca180cae5bfce3e67b2de72f8d7d13c63772810162132a2d512c041fdfd49b2bed59942ad0aa9c11d192292f945a36f6ff267c5ddba7dbef67645efaa8e8455957dcf6723e4d1df6e5e3fd60a43bff3d1549d0c89906b4ece2a1cda030c7ad644748610182f92ae01b65e2ea9b006af277ae685c4690827091346e1f2169a7dd93a520fe4123612e8960fbfe3367583b50be4f3acaa5f07ad9705a48640e828f797d37e58fccfbc9c39b9989e7b5a5f827\n\n# tcId = 79\n# appending null value to sequence\nmsg = 54657374\npadding = 3033300f0609608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a4782205277bafd94e1b611942552b9d6171a15b171f75c3d13459c6d813302941d1ff03536b76508f333ea3736dff38a0ef61dea1e83cd81433c683ad4568365617f603a13e1fcc2813b08915eb681140bf52d4f10ca4e9d95811494ff3f2ce5c27d3a6f43f21375a8bf5b70291b57b24b18a99b38132cc002cfe5396e7d3ce5bcde6f", - "d82ccea835e1ced230effa174a1b8b02544222d9e3ef6ea13433c2f2847bce7c4c55320c849fe9a21f558d3c2205a550b4d04b3bc49f79e4f471c44d4d8a34eb674cbf5762089494ca4d7d8528d61098ddd543bdeb9556247e3821d91954bf493edd6888c1dd23a9d06c44d0faea21f146d0f1a310a8700d66b4093e5\n\n# tcId = 80\n# including garbage\nmsg = 54657374\npadding = 30364981773031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 67fcd94d1573d0712a7da64cb211d9049b3dd043b2b17cd97662f837226379c1c94022bbd5d82d1c67597f510f15959033b63bad63fde6c6f972b60337f52aa45e34f826da9a9040ecc6c268179dd1d10794edbf5690bf834a6a26d07023ad99794e71b675a8c6b202234ae9fcdf43b04dc9c933aed66222154ba7c2fb324b6a6bf9c4eb0535807eff2016b44002a3557564559141a34719b142245fcfb3737166ed7f83227d257f5accc579d20f4fd0debbd2ebf7fe4c8680847aaf17514dea444caf74dd0fc67dd07b9067ec16093d7b21db72a82a35af2b71b0c214136af03ac411b14bdb5a9ab2b3b603becb1fd808dc36a9065c744faae07f18b8d71195\n\n# tcId = 81\n# including garbage\nmsg = 54657374\npadding = 303525003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6895daf9824474538545d9e1c7288bbc938bfa56cd6ebcd639a897f45624ea7f409c2fedb2ad09cc98143c461262f22f9646e26aad9325af0063024e29bf63b2807c41d615ea8902de10357c747b37e8264d55f48bfe8cefdfe19ac93d251634453c4a0c00dd9a0795c3195d047256abcfec964cdeb3ebd663ad29c457c307e0d05bad643a160e343b516da6a015193cbd2b28b7eeebac2f1a2156c2e62d85f4883ddef31011628d680d4d608e5074574459d6dce4bb623d059ffd39e6956f7243382165fda42cf1064a1bbad91ef5d0a0906785cb8c78ee641a3a4c9afc2030ee4188b32ef2dba42dd6ef5c86e43a9e413303c5ae978b41e74f646ae5185c35\n\n# tcId = 82\n# including garbage\nmsg = 54657374\npadding = 30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef\nresult = invalid\nsig = a6a996451e9217ea6c0ea0aa0cb6442620847d85a8c2e9e8464d929e91b5e8fae333cdb81678fb7f90285f8a4e77f6e249ba2c342cf5603df2224df31bd9fd74a244f51b639c5f0ddb85c51eae877426ea611cd8e01082e783604c38c7dfa882d3c5b4c4ae59237a9bdba51f1627dae88e9773ccb94abc6113217163ae11e6590abb26038f651335cc6dacd5db4436b1550a37dda9258919cec2c72b78c9bd4205fb3776e7e785f85518b4d2e0529903b39a49486aed55b6622465d4ca581a71c86c40ec96e2300fcd438ebd5dacaf8c585411d8978ddb8d040f4cedf48969791ed638eb5666cf9a77b0b27e1a572447e3b0005337af99d2e5dbeb96bbe06971\n\n# tcId = 83\n# including garbage\nmsg = 54657374\npadding = 30363012498177300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4e1280bb478bb46f4e9f49a455bfa382b4231eba33ab8d7861d852d2a0aab225f08635b73c3602021c0d5aba603b09b13c4b1ecc53f702d21e225da737e87b5820d628277254ae6d244c02068f2bb0dc532e7ed04e72296340d2241f0cf508f7a96f3683614478dad9923610f9cd285d2bbfa98ba86e2aefe49a52dad162a36fa2a763ca4a09c1afd3ab86de4986ad0e29150f070dc9f5330c62d1da6c2b494f2d8d97caefdb508fd468d121a7ed36ca9c1d7612d386e2974fc12f3f701577cee82b13098410cf65fd9619151f2f69e0cbdac7d3838d94345b5d3059fdda42e527dcc2200193789b347f90a273b06106abd0f6fa79de26086751d0289ce4766d\n\n# tcId = 84\n# including garbage\nmsg = 54657374\npadding = 303530112500300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 09691e7bb6a322e91962d6868e380fe98ced520bf556cd085fb8e8d41efe7ba220a67a13bd72c7fefed3e1d4500e055398b29dec57d0a4eaee6e1016ff7c65b837fee29962fda0d65186bd317dad959dbef96ed34e2c89ac2b5841995b2d78d14945ecf01e632c19325dc77fb879988c7ec2f6924abc8eb0a6933bf091617add696c186aff6bb811042862cabba547ee91b8000e92fcaba7edfdbd1bd03b3d6bf5c2b5d7fc77f2c0adbc398de8995e8bd1c4040a73e5490372bf75a33f111666ce9d69b0f61c9a01cc541b4c0e6a902988ae3f876c0a0029d2f0741523a49c12034d572c6dae9b5d170208f0ffee12be344288a3c53519388dbc20d86066f5f4\n\n# tcId = 85\n# including garbage\nmsg = 54657374\npadding = 3039300f300d060960864801650304020105000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 128bf8c66a90e5267f7aa9c89b8713ce22c118845c5cb9b579d29287ce720c747608b68fbfca40747178e1dda3cdc3921fed5ccbfae5d976d286e9382fbcef3026eb988d537bfc9a67470094f8ae30e4da19fca114e6626811c3b355d104ab1f921c3ed8abff6148e817f5c9f21d270b2ac8983c6acdbf789ad54f32aaf9773f0b2570e810058b0f9f12b523cc763975884d13902580cd4f9981ccfbc84fb18f6a9670876c3a120b6907211b003b035a1846cedcd7a414dee37cd77b16c89ad22035c3754b098049ba72b78259c333bf88609184571955c74974083dfcf5d70d940bfd64a6c575fc52b3b8ed5571519961f2356b7bff6a127128103ba24c5142\n\n# tcId = 86\n# including garbage\nmsg = 54657374\npadding = 30363012260e498177060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1901af3da39f5eaa20edd6002255b5977d3285f99a2bad2c4d7a57899e8b19d89da3bc5e418b39b744138a0a60dacd84542922f208b0e7fb0e1ab7b47891aa9b95921a46d2de54687cb2a79b3a7f3a640c2b21a139ad7f8a456faa22c16f27308ef95ffc92fa9b70e5feb0e317de4bb5b0a1558af98d177c097dffd7ab42eb8520935fa87512fd6f0172645631cee29187227fe01bd49dd0f6a28d2033276d696e0631ec2da88f7f1128a7a9acffda408ab10c26cfd6a3bfdbe4e9afc93001deea66d443137936d65bf31ca0a940e25c72b2f8c3cb7f3bce957539136cc7af0e6e5a4f9d8dc0b5fc656952d225ac9612072d037c07f9909261c02934caf542b8\n\n# tcId = 87\n# including garbage\nmsg = 54657374\npadding = 30353011260d2500060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1ba99c4dffe02d72a6a5abc06d7aeeb7478aa057d8752ba59f72165e12e740160931f6419b1cd5a0cce4871ea974453f821cc43a0bbd7f541f4320fded5ed89c1abcf32806c13aabbad83c09173a2f8dd1fc15fdea66e9ecae0f92c376ea6ff1c2ffaaba304f74425e3f2df4a6436b5b1bb15035cc44466c240a2a2fb41d275ea8751136686d69adc53373a0eda516148aded67f8fb22d0985f92b6fcf236e7782687ac95cf5ff0104ee3de37523cf6faa1c5b428489e11a115f502fcf56567ba18e3e39830c6653bd29abf86b3b842bd1f24928277f1b3fca68a525243fe1bfe085307802803378d9854cc0f90318c79b79a4e939de2730a08269077fafe57f\n\n# tcId = 88\n# including garbage\nmsg = 54657374\npadding = 30393015260b06096086480165030402010004deadbeef05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 89476619f367778d5252add21e8a22395c44e2bbcd5a743fcea07655c3ad3a7f4c8c2d4e871a1c0c3787763128fe21d2d270c07c8ef0aa607dc2e9697d9ffb8263b3e0c82851e0a5a884b23fc4842d60ae0eef01670f988bbce5055cd8d7e613ec8294b9ed61459486907e37ed816e7c795bab8dceca60e476d01cad4dbb1c00336003319273f85b57808b6f1c8d8d8d1f119faa4eedccf3c98cbeafff20e54e3b101c094dbed77d33c54f63932ae49f8c584d66ab61373eecb541fcb89e788a5e43f99c67f4921d63bc54a2cfef49cf4ade494d32449db5c8e0960bff24e8ffdcdd5e4a71bafd1e3753786bcf8a8388fc9b9c53f95622763394f1ef88cfee85\n\n# tcId = 89\n# including garbage\nmsg = 54657374\npadding = 303630120609608648016503040201250549817705000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8227c6081b51017a528a59ab9a2d5275ad7769fb418a2514965a9e2acb1acf807685e57fcc438187a01bb5d592bfdfcf68ea2ae3182ce349c5bc5445131e8693bcc63d6abb96881e112b0e0a9b3d85c0ba5a463e6d6035ba18cc395176ade7fdcea30abd725d6ed4ce5c3905e0d12d0cbc7622e44ee8c3d343a3e6ef046c4310ed7d12e7639436176e2a1b7faf54e1bd97d77fcbac40368013c8a2491f2c9e084ad110dff1a2621d704c8f5e8ab1654220e959fb665e6e6770da6c23a66035571d844a1dd2eae68001169bb95253d7e18dcf5c376b5a31e9ccdf7918715d281fbc027d0b2510184f2a4c454805b73aae89370cfd80b345c8ed878ad1c314a7a4\n\n# tcId = 90\n# including garbage\nmsg = 54657374\npadding = 3035301106096086480165030402012504250005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4360d9bfd89ed3c5c40290142efb667b2afff6fcf53256660409959a06c24d858b3999b2b1fbb8d9c7da7958a5a4ad9c2d9ea617c5f7edecb7ad302b0004957a979d6eba0d56fc378946fb5145429dddb6d12dc2245d4a071fe162947b67546fddd5efb1f277c9e0ffe4281572c3f6ccc9ca5d19c8c1284a5b2816b529a54c02e9acad68fcc71a5d274cad33cee0c2826d0491eadb1e4d0f05776aa02f00fc702b50927d333c2cd9ba753b3e70c26461a0c6d374a20fa6a006ef77a630ffaef2bba01f4bab3314f7f110c4b9c56aac18ce9fac6ffcef3fc140afcc0adda45473e241d592fbae6014f701fc58bbf655b519d2315630c4827e6e16d9f24e9f9407\n\n# tcId = 91\n# including garbage\nmsg = 54657374\npadding = 303930150609608648016503040201250205000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d6", - "82299550d7a6e0f345e25\nresult = invalid\nsig = b0939c12151b60d2302513c5901647b0800a5fdd45ee42009828610a83b017a32ce042db7257f17f5504b3347c7b482499d3547282cab6d35360b88b88bf57f0b6f7051452f309a324be5792ff00c0057fe3936a9d584ddbf64b8590ee3dbd04961aeb0fc11598a4bdbb92453b3c646e55bfba321d1d21b5ff883a8e7b22afbd66de6a273cd3e4bc5d857af6c55198358f22a54fff26a903e9fbc3af78ee158dbf9a546dee4b5c77c33980619eabf13dfc72007acd263ea2cfa3f4a89f97b48ca684a1be77925e051184387fb0b8d7ac4063aa84d63b8846932d220f5052eb91debde89aeb6533903fcd01a53e12048990b506773239c83e891667dfcfda3076\n\n# tcId = 92\n# including garbage\nmsg = 54657374\npadding = 3036300d0609608648016503040201050024254981770420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8a439878c5c694fb16b51bf584c67cea27287e51e5b259efcd62e8ef1c7441555e788e66bbaf0f508440370cf04e87b9474cf0aefd15a7150fadb809ab4bd981036d906cd3bd6eafada91632123de1c38aa486c9d6117e6a1b57099a8fbd78848c7ea47be3125c866151a8d46a3bc0d8020b34915ba17f3d835e641bd797b1e55ff44fffef98a4820063434229315035165196377dff2c5f50b7475c835729bdce9b63d120bfe27d5606fb051c7c946a0512092e08ca7e800abc734e0d8234262ab56037ffb2e8ab3099d1fc11a202bdaf4c7e322995ccdd5efc18c234e1b6139d84d0193dd27751e0db9d077aec1bc23f978d2127fde875e1ed7c992a82d051\n\n# tcId = 93\n# including garbage\nmsg = 54657374\npadding = 3035300d06096086480165030402010500242425000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b95dd2dafad0610015fcfe7d8b5c83c34a76dcefe627c513011d953cb2238ef20273feb8b8672475fbda75112c85340e7ab08fac809b6e2b4d314110866e61abe8d15d02f64952036525b0069f2cbf61042a39810d37b7860fb6eb1c423aac7311fe7bc98d6880954055a9ba7d7a1bfb4e45255f4cb68babe6bfcee6da47ba18d95b4954c3374176782f841b85fa6e773f58c5d56fa85f85a4d8c7b8c6412ae83e26b3fae582c3090a9fc6d2394d1a02e3864111cee49ada14e5e625da3650608bde5a5bbc0b99a46095fbd7c01d87dd6c83819c13825bff3a62cf893af31d03f44875388a4f8e83b7a7f360227182b26dce8b310b389e2c672016a166f71557\n\n# tcId = 94\n# including garbage\nmsg = 54657374\npadding = 3039300d0609608648016503040201050024220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef\nresult = invalid\nsig = b4fbe49100d4f15bea29586e58d27cdea5270a035432d89b245e7a323cfc19f77afb4f2652caa2afb3acf712746710e837ee932e9d315ae21732c164835fcd77f8498109ef05704b081df7f0a5566f8c176e5031b184ea6aa7c590b0eddc6037d642f463f41f61c00f4b12d0b4bb7924b9caef831961857854ba53521f2b9da0210cb38132b46892ec7d44bca599c5efa9029eca8f1663ec301fd064df65f9fc35f14ffae2a3794a3e1519ab077cc761368014acd84989e690449b95c5c8c59e4fbfe260c64ff044be245c33b4fdf2f44c87ecc6510b524927a296a1f32cf57024f07a8609ebd164139ebc129b5eabcb0a84f24048673b7c9ecf89e24099121f\n\n# tcId = 95\n# including undefined tags\nmsg = 54657374\npadding = 3039aa00bb00cd003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 963142f737aa6b8eac11c6e52dc02b3ea881f4a1a29dc672b8392f4eabf487d9296c0cfb3acbc6d56c1b4eb4378b6f118e6e754d2a16ebf20e9b66f7961d7af4e1a8deb9e4d089d540496c0ea89cb2cfff8220bc7c5bc7ffb8a002d549900d773d00a7cfbfb9499523f353a1dfbfdc9e28054bdb69c64d2bce0e172b586f6ba615e1af9c822280324b1b9db915a50fd0658083eff495f1721eab30d3be3ee276d33c3177aec8fd5dbfd9689195e7a944108ec8e734d524a27e9bc67fd8ade717c234627e2fa25279bb216fecf1f79e1d724e65b10614f334c161f2a2cc50db7113f9dc1c73bca1c67c41f6f77f80c3950d4d4e1252b64300264473cc904b0e61\n\n# tcId = 96\n# including undefined tags\nmsg = 54657374\npadding = 3037aa02aabb3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3d1ba856ee722aafa5bb68d8b2901c95dd1ddf22559f05b70aa3e92afdac040e08819db5417cb8f551cfea76e622a2aabde7863c183d41c23f4690da5983c29db4e0d603d349086aced24d33695a788c617348ada9f68baee069c0dcc43d671382158c70f0f91134aa4d2bca45e1e5a106710025240d496d79c3e6bd70e15f5a4d732b37d53f400aeaa0dd49cfb24fb7af9811cfceb185c697d70c61ff454672128a0fefc6dd776befb87ff0c7f248373a17f8d2a08f138aaaa986182c084178103897fa8ad0e921ffaedd7e650637cc0c09a185eec68413e75a6f80c9fa2cba46f328b00d2f3e414f670be8056a77810240eebba03e923c01c096fadef1cfaa\n\n# tcId = 97\n# including undefined tags\nmsg = 54657374\npadding = 30393015aa00bb00cd00300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 582b5c38000b069573bec33ebe6d4cdd9e250affdc8b4c17937afa464d107f41bf3ea182b86ec8143c9ce977ba2caa3d5656323d4744556f7bc85ed4054d2ca170d35e8958bbd299aed1bd983a7ceeadb2454bf3f5c19d1e3d98785d644585a1ad3a914cd40401d587f18da2c05bf2a9394902254914ddd4d2ec216bf791d87a8e8cfe6518d9e7520d080376cc35cf5b8cc92995f1e825bd5260f19b0185fa9340f1b15d6c7e0d0533268f8e269295de143449ffe15cf03a0036b17899bd18cc48ac7f18bf270f0949b659dbcea7651634da97e27a2ee1da78b10ca674e5c38475a7ecd654e051161c95fea16c5bd8aca95773bbf18f7f2abff4912bfa46e388\n\n# tcId = 98\n# including undefined tags\nmsg = 54657374\npadding = 30373013aa02aabb300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3ae33c56969f5a2b11e0a29698e60962db13458531739d56a4d30379aca857b0d33d48a111865a010a6a6942a64bfb2df5dc3f859f2134b7ca6a9b48093187f3554047a95d22c5d013ee4f5a65ece677229b6bb830d5e33d8bcd749c63d5ff41c1d48e6de89c4ef43048d8be79ab7b547ce1e5731a4a5fa0f71df485e514978dc34cc297a34215e519b944b59d3762b71a5c885fda79481a886b5b587bff0e604d2cc1a02f506f1e9353d3811b154506586af833bb42192ddaf4c78a1f01f65999ea602f79de8f55e987c5bd63f01f27de24361df86173f3d4a2020b440f32fbded2dc62bafb7f77c5b1bddf4b774a820d45d98076bc456aadab3e6b55a50568\n\n# tcId = 99\n# including undefined tags\nmsg = 54657374\npadding = 303930152611aa00bb00cd00060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 86cc2f6da999d54a27f1d573b192e01350cee91adec8f9a02b67b1528dfab632160fa962bcba95594dc342840cb4fdccc3698cd4e186c005c68d342432e5e7ea8019469becdb33a76f806504c26e619a17d8de1b79474f669e91e0bd07b31444e53cbb525b0f47ec438391a3587912805c485dd2909e14d8289310312a7616cbd3465c2922a00c5afe88a89d3807c614bac7c5b9697e8902bec0a2fd9e466eeb932b668f6e643a8109292ef8bdfbca19459715dc569f3f12b90faf1f31d7f8506cad98bc4742b47ff0f8f1de840e10e62afb66e93df34d43a2dfeb3346fb3e0e19402235e00c4805bf6f5dc6bb10a1406d8eaaaccdfd118cce8d1a62eaa4a97e\n\n# tcId = 100\n# including undefined tags\nmsg = 54657374\npadding = 30373013260faa02aabb060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 18d77b56276d2a2960630b730edde16b0a26b6c65b28fa20ad7982b8b48d1de6038a940f8c543d7fb71181ea2feb85592f608b20bb93ac7c06ce725026f39c645c7f964a14d68ea53de398cb64cd0a26262ed6fd5091332f8b437b71e98ec59122abeb7a27259130b203a81da5577fb0590e2d6842e22e943256c0093d143f58c023e719df92454a979bd76d08c550de11dbf7085afce1581c31a2214752548af5913485c00b7466a1cdfc60e7d857a913694fbc2fca13d77fc5b775f7adaa79668a5afe0b743f13bed6078006e6b7b16ee6ec576554aa2e864f77b43e4e61786780085edf3c6e8deebfcdc057a1de8d8d7d8a6b188a8c771e347365d25240f6\n\n# tcId = 101\n# including undefined tags\nmsg = 54657374\npadding = 3039301506096086480165030402012508aa00bb00cd0005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a2066d53103e4d5ed9c08d7dbc8be145d932bac9d6363a146784fbe172ad2e02216cabce279b3599b5f3858e7179561e3c489b87f47f33d266cb019b747ec49d3dc1069cb078419f6dbe7dbf640500cd110a93e54f2bad919e60cda6401f7d88e52b9017b7675f082ac349e4fa4e49b0a0c6006d2821382fdd00fa0b9d4e948db23c1a4d3d658ea857ad829aa7a3474e0f8f86520970edbdb3035ed195f039c807f8613cf333a13a14c22f1a5e4b77ebb0db9c98c35f33b19c914801f4aa4459af043a39ec5e016af1602bb795bf2c3655c9f9e30ee2f49c6e059d0d616eb7bf7c9650581ab0f29d1e2d1fb06b4d78dbd06f0d3155494a6f3d7730f55a03c1a6\n\n# tcId = 102\n# including undefined tags\nmsg = 54657374\npadding = 3037301306096086480165030402012506aa02aabb05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b1f2b2ceac435cb3c650e8214ed70a87ea039da7c6730ea29958c375c85d88459065a8987dcf66b93e732ae5b92af964e7341eceac3c252b93c62b2474b54a9477053491179986eea94820ed6ea58edc7e758177c1d150aca2531651963272231f98daaf1b90e7b61a02c7e61b25f9b7c33d7f57d846284699a924d11c45995c9b85bc3192f349af5e6", - "69d893eda953272516c1a86764f46ccc17569880ccee30bcd607a21c306f84abf4b6a5fe6839ba00b73b2df062b1d9d7285c4f3b7412b8ab5f68130000c95761a587818811e4632d209f34c4a8c9e13e78358a37b696cb444ff022bb1508c299a6eddce1f8961bee97c5eaf29267d6ff4f6ef9e30061d\n\n# tcId = 103\n# including undefined tags\nmsg = 54657374\npadding = 3039300d060960864801650304020105002428aa00bb00cd000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 012e5e56d0e1bc77798b42190ac5a15665cd5f2fc1257c66553d8d00acbe85cd2b42e56f344099da06024c5578851c3463d86d00f7c43c4c959569e2a0657840305b655f4607bde3e44ee1ade5a40162544c9e81a94612d600c069f3073c3e9710cb4006aa5e4a8b9083c4cc4f18fb2fbc3343075c8eb8f7d8b7595532d52301944cc79054512141bdce292d339f85008161af499002dee163d01eb8211e6115e637b7d3ad074507e8492f1a524e39e1a5151802b44b74e1c78dce275825a67d3945e80e73c605ea44328d10a16a99f4960e8f83ca5c01c277beb245f4d0758bbafe969dcb497915d787d760673c86755c1ac38e06e530d24e54b4dc90b67e25\n\n# tcId = 104\n# including undefined tags\nmsg = 54657374\npadding = 3037300d060960864801650304020105002426aa02aabb0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 51f6196459dff03d29f6fd4c7477faaa392cdb0b2541056b94484fb8a266c1490e97d90050843010629f7eb61c3671daf8fb5344eca91dada6c2408d3ae9d6a66fd74c725ded0a4470027d13a09402f0d965a6177ebbf0c24ce66cc463892ad282ae07c0231b394725ba8f14705f4cb860495b2df5bbf143e3e48bebfa3503f6bd2bb56f4b5b589e5be883a0fc2249b6b59d6dca99e13b14868df7aa7fde62b4ef75bc6f2e90c18685922be7335d4d3f55eb629e2873d66305e434180701b805f832be5f5757117543ae00141d49d094d37e66091fa4a0b06c630156f99bf2a42d7f9315b9e4e2bc66883b9a83e1bd83fe9904642f66b19b40ac0c0a9ad27aef\n\n# tcId = 105\n# truncated length of sequence\nmsg = 54657374\npadding = 3081\nresult = invalid\nsig = 7f8104fe5b383a7745e52b6eb6cd2404abd1d6e5ec4255424fe802ebe76b70594c3f5e8a38959ae9e72076de7ee5a485636cd59e51e9270ad5ee38af4c5b295855d86efebb2678a66b6fd0328479b1b75461b9eac59e71ed9441cf972af074f20320d5c01d93feb037cd212f5c9774ba65754a003f1380ee0c77d3f7fdaf753adc1f7912ecbaf801959d2a70ebb5c24a68ff725ff8f9901a712ec338d3a798294ea0f10fefbce5a99bebfbef2ed91f6668d8e25b676731d9595d679b8a7e8c35c918ff0bc6b080f0f0a187f526b55b450d069bc0d4b47c59f7bbc58ac3af21180ebd6707d7237c967454e459b696842d41841d02b4c34fc964677b0116a22879\n\n# tcId = 106\n# truncated length of sequence\nmsg = 54657374\npadding = 302430810420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9bf8795b877ed9a89e70af142e44cffdc770cd2ddee32ecf32b962840dc26406b1449f03ab16c7c9c72e41e2ab24bbd163d2b7213ff7ea8ccff463cd41ab87a39232383a6405911fc9bf33ea82fa9fee0954912afad0b50d80a70a52cb043f5d8fef8f80249f4d2a8a1f47d524bbfe9678ffd3a3c9d307d9c61a909478cf87d45001d66f5786a7d22d8069884c3248a3e5f223d6988e6c595009cfe24947a564f43964a1ac7d4319a446e7491230a3814bfdb80ab2227a2029a36b13da4a584c7cfccb337bdac86b5f727169596bf6a53467c06eb94b7d168624847df7679f27877f43954c4593cc4e28951dfbaf4727e3728cc9b9a59efa92c3249a4e796f33\n\n# tcId = 107\n# using composition with indefinite length\nmsg = 54657374\npadding = 30803031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 48e200aab82c1d2798b90dc2ddc522ad5d638699b2349b26596a58aaaf7d14f90f52f44a320fc424ae2ef781dbe5ac12de05b85a02866895329f36b1f2e8c78b5a8161ccde69de9c112682331363398659f832544c7848806a3f2076a3127a9b4813e6d5c8ef31bf7a102b136fd5f9b3675c5e8ea7df25bd9b8df6cc46e9134b5aa185c13e40c935add77fbe1c1853ca8dd28fbb53942e7965a44d9694b96dba9ddcd8396d7b191c7b385629e6c391242ec76a916cf038cad4f5239a4c17816a39deefb43ceecd31fae33d3afe50edd8086dd501f6b72ef43f21ea1858dd46ad56ed63402bb92ab06b85a0d17fed8d9028b22f528a9544b8827dced2c778d082\n\n# tcId = 108\n# using composition with indefinite length\nmsg = 54657374\npadding = 30353080300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4323f6998549f0c6d79dd67cbdbea827da1ed45026bc16ee020d42b1d448a66810677b3f0278c20213a3949b204a773b533e5e203f2eb48b936b01ce5b151c32be13f89c1f56b20b44d5987e1d7220c67d07578f8af642b6d504e1fb11bf1657203eef4f9882488f68ef830be437a3ef948def0a6b34715056926504439262cd5e971a91ec5b2948498fcdd5fcb1e4b4f5ba04ee2631546a5454f28304a07c5c14d01a75322bbd764cc452aa9042bb03a466b0c62a8bf945b85c63b6726f378a72555108d27029268706976de496f7098d093a3a542db8fd5aeb805ef3b547267234271124e9e267f27a9525bf224e3f5d33b67a64436d65cdcee729bbf28897\n\n# tcId = 109\n# using composition with indefinite length\nmsg = 54657374\npadding = 3035301126800609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 225c4bec4924b6aec5e2524258edc63007b35b37faf9c735959c9f932f982f5d5434fe0f11deed690f9a023337a20dbedd42921f2a019ad6ff033ffd297e8225269bb6a83bc2fe8e08b7d0b9af492917bd3d0cc7e3c7bc213e0be8401ddd2e4b5c1687ab6da434ca3870f0ed3c2c1b08a00b9f52715d2efe0f4e4097510395a087b5bf389471bbce2e85814a43f10d68d8d77398b3b3fbf196cfc35f6eee8b21117fd6c0d317674a6f89b2f7635c7b5a91301b6e64578fbbfa327fefd9d8e4c992bb88a23f8561298c60a075c4f29fd737387349037c1cc360238dfe4e2c3bb6da805da25feb9466923e00242dacae167b40c4c4d5f4473e22adb0851162f7d4\n\n# tcId = 110\n# using composition with indefinite length\nmsg = 54657374\npadding = 3035301106096086480165030402012580050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1e416fa2194a2297866cd7df7d4db6477bd71e2b2159313204dcdfbfc69ec84f826f01e35e4ce6bbf43c8377f34e7d4bc9c339d20307ba6391c2091698885480a776628addb3ad0f5a7fbcf944ef41fc2ea9ab078ed8ea62ef4ddd1067d8863d61c1b52534d51b2473a11208d260460008da01f8c88540a594b3eb6c2145472efc20770342f2e17bd2a0025fa2b8d820b8d5fb41eb6025ff990b054f741a8f716f354b18064902e208648b9e3eb312f2917782c0db5c8ef49ac0707a82f71182e8a21daa75d36e0d4938cee289742a3463133082faec3fca8979372957486d5410b90de7e232818b839882b513da01b4cb9fc59c0da62b70ac5a4de1ebbee89b\n\n# tcId = 111\n# using composition with indefinite length\nmsg = 54657374\npadding = 3035300d0609608648016503040201050024800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 9801706c663bfa15fe7877c8d09f58d4664d3619471c27d333ca869536a6c4f4e816c905b2596c71a4ab3bcf07b550ccee0e8ffd5f7a9fab3afb5b8bf76f8e118b7d07170ab6f82e7e33db4a81f2f9ef1f86d04a1b2fc141768d9b4e44792ff9ed882032ad5578560d51c7ab2fa96128fd147bc260d05074ef42846db7c8feb7ea71ec6755efc554e46ad4c9dc77c259aa834fea03ccb9b931c7d3c8b0316e30d25346b682df91a6bf68c6266723ffc77576abf8a732ce1a7368b71d740677c28029d2854797fd515278d884f4eb0806f21752207b103de1e19d357e480021d3e28ba9461b6895b777f1b6a9e08bd4cf713cc41f4e9a5bd7071921a614f0c3fb\n\n# tcId = 112\n# using composition with wrong tag\nmsg = 54657374\npadding = 30803131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 71c756c9def03a24fed38e597b1925905783f0b25c974602d982c1e7413e7bd82c78466df5decf09100b924ff254ef01b2bd425b2e0ade75ee4ec58aec4f3da80030eff25601f3ebfec46452e01cf51ecc6c0d2268f754795486f7886b8dc181c96f6fe4dda05a2b54e6fba77869fe347c2eea5b42081d2140cb9fa7a6bf023a6b9f806bef65038aa680fa6ab6263d756d3cc7acdbb93ab3952998b2cb37aab72a50657e276d70dbac6be84526c17c5c1790f0a1eb0dc0644e6c47510d3704fbe9e10c8509419f6c49656e06f7bdc4637891afebd376f1e1be139a87b2eec9063dcd815a17a08f63e2a4e9f9da822cd0cb5539c4623da6d279ffece0b8e58f86\n\n# tcId = 113\n# using composition with wrong tag\nmsg = 54657374\npadding = 30353080310d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 50d70adc01b502dee439ae57f59ec78608d05820f858a6f0e9271a4372b47042613aef6ec2f36da7dea07dfae4c84f57435980b4982348e2d33c4df6c3384accd7c7e3892184a3778943ef50477b906c2890b5c93322c065315b960be0ead30bfa496960d53a4dcc08c8df158ac5090c10c395d18cb33c8faadb7b8d6bab8fb9997e017d5c12789c1ef0b285761d2e43fbd5b4313726cfc85061f9ae33e3da0addbd86e267fef72b966ad5286220b2da94bc1b667016bece0111dbd2ee4943d9d0fd041b666d93bb3dab53e16995d6b10d1a3b4aa07be08dcae8f0f5cc03c6b9c3419d5ff8268103a850c2f2043842637f54468aed58aea06d6f2dbb965a3208\n\n# tcId = 114\n# using composition with wrong tag\nmsg = 54657374\npadding = 3035301126800709608648016503040201000005000420532eaabd9574880", - "dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b96e8894734529229c0830d77834f5a07060c22186c2cbc7c0fdbaf405b466fb9727694a527acf3ad0a35223254efe854789375311ffb6ea35d1335216d7b8fb215241cd3dbbc90dd569c0ae8979d9c0a2dfede3988c85e18756835734d45974dd50aaf649c1b9635f0c53dae4e44b0d2315897ee248998f6efaaeafe72a41f2f13a1271500bd6f9be8ef84421f443e68488a3eb40604cd4f28f7e9cefb539c8c5e87de966017d9ab0a3f01275fe25677c0049c0fcd7ff5799b4b96cc0490bc4199da554daaed28ae235dbd3104f9f2462468facc932da3bf2e5822a8159d6e8e8d9ea96ac200113a60a57f3253b8e05f3f0e8e040fe3a55b1a8ba749d5d5ef3\n\n# tcId = 115\n# using composition with wrong tag\nmsg = 54657374\npadding = 3035301106096086480165030402012580040000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1b640c511649dcb0d23df1fd808a340415cb87bf3b15ff5e19cb6ced922fcfb4ee376d6dee61df8aaca7e108c8a0868c8a2e99db2c0e769c80b7e5adc3bb4cd4da70f7fa68933470aa61d50a793702a49d3dc635670fa77f2dc282e28f4a74aaf5a76c9383b093e529ffde33e3f8f947719c5aa2680b1ed4a4c07a72189e03cc0528a814a6ccc7cbcb4148667c9170c882ecd4bd6cc8dee957b9f334e8e5316fc4041ccd6b422cf658ca6cca6f27972f818ab2f0defdf35ff5e4dd87de52d6a1d2cbda5f7649a13d83f989d208d95b076a1984b548b71232325469d111a8dd0b508e4affeb2f6dd42c90f4cd1e10dfc4e896e483bd9e96c3e951a51519a19486\n\n# tcId = 116\n# using composition with wrong tag\nmsg = 54657374\npadding = 3035300d0609608648016503040201050024800520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 8dfc2c2577dc3f36d36430f25f76fc01ffb2af51e1f5aa8fdafe6d42f57a0934a106d88254f834999177b204a5388543a49d638af70d52edde954fc9a6a2a0b99bc3d3e2c148058a72e2a50c1c3774dd83f151e8fecab64e1bbc6095cccafd0d1774b8b4ccd8d4b995af3e1ba9c9430fd8fff39bac43b0c6bfd051c5d20758900c9e79e11c7918af1a38523090454b2c14f01d1aa16b6d3c2d94bf4724a37c471e3bbdd710ad1f268030ad3b3fceb83e808c1cbb1d3b4d3a4de84f0a4f6f1d7765b324ebb81e1bcd08ace01a4713c6b376069114b8f0cd236f7bbbf3bea3bc583412617d97d508a511c54eb32f166dcd7f80d53a5c0c881030de35266a30dae0\n\n# tcId = 117\n# Replacing sequence with NULL\nmsg = 54657374\npadding = 0500\nresult = invalid\nsig = a43fe7407fbd017415df9e194db645a0a5744bccc05dcc89044e7b978a97090833589251d57ac70f0591ef9a787788360602624dbf50209fdf21f578f0839b9b27c9aab1bd58d2a17ab1da720fb686420fdc17f2756edbd8eed82502a1e66c3b2b90c08dd4150f6f6d0b569cdb14f7cad5f7925d9c8a1fc3f0a6092219ab6902599e018f88247f2e4edebf9050104a387de07db955bad9cd01f2b189d9a6a2ee9369bf1f6ba272449e26d4a67712a3a22947ab67de53b1a416f38e304011dd477eb33c8191d46101b17d9e835d9816f76dbc540a2d6a0ced2562325b9a21ee7c90f010c22fe7723ab4fb16197af8fcd507f61387dad1ce8ecd7a39fc84eb8da0\n\n# tcId = 118\n# Replacing sequence with NULL\nmsg = 54657374\npadding = 302405000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 852f74fc801faff2486afa44197fec789d36c1a40ea41b55d46b6fb6a5c994a9943c6d9b3d46165ab2023124271ed5fb34ea0299b205197e4d8432c1dabb40236a095c05587e885e6f8ed0e08611c2c7573c928c6ba6159541fbe6751c04486ebbe2f20ccbe8410ff39d7db6649eb46c6f0ba552f0dffcd183628e863ce2ef8f44faadf3fd94659f98517a5e8b5969aca73c32ae22c433887315ba8631f4f10cbd7a0c3204e377e7366c136986d505f1e8855f80c5f8f97b9ec76a69e9290734e80906701372e1f9fff6f22d15508e4393539dddfbc78471fd2326e7fbfcb5fde066f437171329905fc90c95eb174e9bcca53ba46b5c42b5f3f47f1e0fa4df04\n\n# tcId = 119\n# changing tag value of sequence\nmsg = 54657374\npadding = 2e31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6ae97ba33d02719f5e4a809f5b44054331d0ec1b61c34067c6c8996d126c972df2eb48f2decf74623116e4b54401bbfc05023501e00245eb98d86aec6357697e67cdc78e0eb37c53b3ce06cd078af9bbde0206ac5d63e8a842726d4bff489e6695c6539de3bef40a4fbfc500bf932c35db6d8185ed3ae713ef6f7931b8e4a76834a6cb59c4114c230dcdefaf3b4460775650e03d3461deb3a229511bc97636341c0bbb1aad24f477c3a1658155c338d37aca1d6b5ba039f3a486535a2e2dda68e4bf1998b8931a52781e465d32596c6781612af4a6f495974c023b68a0f537fee00a32c3e499da4f8b2e4ee677b68b058f99a104dde579ac31e6ff966679cd47\n\n# tcId = 120\n# changing tag value of sequence\nmsg = 54657374\npadding = 2f31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b00ec164825f457f144e3208dd887c0b69762a2877f62d8795ac3eca14e49988f898d3c939613caa5094e21ea361c804c8ea0c5f6a0e09e118e183441b5719ae308eb95d705046218e7dab336e53fb30a7c1ddc59cba08785ce9bda385743526e6b7bd15b3cde6bfa10f8ad4f6f20534c388d7f61dd04f34009dc4d6266f7363fcc59853f24e0ea5f9ee100f0004adf75767d95c12b30473594f67bcd5ca63cb76a4b837509901dcf0bbf5f2d109700bf04e2169cdb47ba4de1019fd595665acb114039bc75a62cc07624646fd1ac2bd71625974567a9508c512b0576ecda69a59e950802331002662dfebe08d2548968ea8939364a27e202184380cefc1796d\n\n# tcId = 121\n# changing tag value of sequence\nmsg = 54657374\npadding = 3131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1778c178579119618a407ba834a7de8ff244d4da6ed2f979c54684dc459257e70240691ee844f745d72e64633200b800be5da738484c0258405e7319800c8128d023db5227fc2e348c426a026c3f84060a4548f0ddc2dc92be1dd42bf7a819a9e892d318eac58919a01f1ce3da9c17528af6022b2cd088144fe44c3dbba60ccc83970199b758fd49c2226f5b742668d6685dee1a5feee173aa8f4428118a18701ac503600e0704410595e8fd7208e22c161c81e108056b52da131f1f806c3bc118f934cc78b8e047c0b181ee7386d9c283a3dd251ca30a81a9b6f562b3364815ec3d247e5cab8ccdd78e0653e2067c6148b76191bb797e800f0d6e9e282409d9\n\n# tcId = 122\n# changing tag value of sequence\nmsg = 54657374\npadding = 3231300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 13b647d93816de9c2fef162f8dc37956690dd40d2124b0b7b724ddbe5c62b1242369f82851b24cf98b1b462f6f5fa40c248c02d778ed28d3ec8d2eeb1668081c691f6a3939f72345f0eb58fa02737ab0334693c6333b9e4593eacd3dcb71586623d11b5230eb624034561f3c6c7b151c1f18d3311f359a166500d78995d6ede43421058a571c639f228a804e33deb8aa06e646c7aa425a8d0ea245e4b2c2a5d48413c6ada61d195e2302577cd517876eea82b043c6741aba882242d9c97fcf7edf0d0a3ba6cf3723f5d3006790d22dcd8ec6bca701568cecc2420284e140c84d94e4bcc72861bb31d61a9dccd53857060f7f6bde1503580f2d52424afd1c0794\n\n# tcId = 123\n# changing tag value of sequence\nmsg = 54657374\npadding = ff31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = ac52288eb0ae64f6897a5b383e9e4d734b45685fe3a75e2f5c65ad8235311a6a2fdcb5a8aec47b430a7a84efe10bac9da10786badd033089243526a4d9ea57a9e7103ca9e7dc889a9d1a4e4b86deb34ebd3a5b454d0afa940af71422a4c4dae4e1a5bd1e4270ad32a486e2a1334db7a511f3251834d112b9696979dcb0abf8ca83f304e4e8cc6892c4dc5188e416428570f0e3e56e4b171a3ee741787384f9375019fee5cda1e161d4876e9ebb349fc1f33ded8a733bc5c7b719c0367ee44ca8212c517eaede6689e1caae2b5cfd347378efbeab78114435986f95add85e48d433074288e0cace49de21c0fec2414bed9b01274a8e8f6959fdc29648bfceee70\n\n# tcId = 124\n# changing tag value of sequence\nmsg = 54657374\npadding = 30312e0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6b31d3f3d9c007718c2a7f9bf201ffc003581b3fca2371fc15aeba38214e51d6f72ddc632a7632ba95f79c868230c56851231a8fa178cf6cde67fc25cea8c8a811d33e451844b86fdc11c1a75b03de5084a9642490d5e9b49de50d51c93c765bb36388f1b3506a098a8a9d58f509d48e76477bdeb4ae2fdfe410c17cce011da703b47035fe2041fb82d82a158480fdc25d8e868209aec6f788e575635a7df9fa58a95919356d52a38e678a8268f3baa2af7a6efbe3af72e23eed354bd43472ef7c7a877842efbf3d9f08ef45cd562ca3ed4f903d7d4a571bdda531a00458387135e09d276729ef230297c289d9a0010d6db66c40b96d91929e685742946a4c05\n\n# tcId = 125\n# changing tag value of sequence\nmsg = 54657374\npadding = 30312f0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b72975609463db5cfa161a7f29ca78c1e8ec6083eb055bda72fa7245d71d565af2855f175ed29dbe881e2106f90a84f3abbf7d229db8cb7be2a7d5d29cddfb16468d9f142e07d2e5f4780ab52354504743ef0cb4e32d3cc1c2e612245324afe6604004518d8fad3ea2884104ebac9eaa95e14180e86c54cb801ba9b8510bee1e2df90fc49a005b1a26ade197c63de5f1cdf8ac8a84f6c67768c0adb54ae853388de71d1643e07d8bb083166efd077251cbcea5905fc035f01919bd143fa8d5b600cc9062d8b61eb86d118c", - "0ce9f98a3622f90084236124ed6a5024b0b7a61bf7641cbc7647008099decf493b56c59458a1a9dfa19c13ba96c0e050d3df512491\n\n# tcId = 126\n# changing tag value of sequence\nmsg = 54657374\npadding = 3031310d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6afd7245b1521c942c1d38b8dc0b9a3bbe124833ee97de0b50ea9e537973e3d199376f1de834ec239318389e479a89c97b5df2bb08d3fc565c33903aab595f4005461c833bcbb5c04d90a21aa7c251e1342e2d8db768ca1c23ca473adc011f40eef9faeb783cca57657b6fc4200fd54694ad457db2942c8a9271b61e3cc1aea81f97052c3c4ce968b5c6b56710d5733615d960e29a636bb959a4fe3644c41f7cb85987b9112df1204f81c69d193f10b5ac2aa9d8f223c77641ade87567469c07b82918d1b44df6d047a0ed9291e489abd7050cf7ba1adb85cc5fd079cde65e8168c2480121ee7145bb094dc846517b6490250648f9b58398130a69dba9ceee10\n\n# tcId = 127\n# changing tag value of sequence\nmsg = 54657374\npadding = 3031320d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 582dd05a81d329fb7c4c1bcb5716eddd21334fd2f7763aba0de67eff550838dc7f4284ea5e4b94bfd0ea823aed8bac214e3c9adb0144c7ea34ad98cacb583e8f5e2ceecfaddda67031de748b3edea986dd13906ffe06695b7fbbdc455e350b64a459a8cb260ee87b0004433d5dfcab404da5bd9a116168d8453071dcbc13af9abdfd009704721e65df950984b564b957984108afbfcf1b6f14ff50425a16da4f1d043778a50b91ff340d94e04d9cf9e7e3b35a7482cd2096370b189844542b2976713466cac44b356581411db0bad42a5b0898d05e5b19d062e04d4d22e3170001d46499a20ad125779ae95d3477cf2ec3d39634ad787ce1ed0136bc432cc813\n\n# tcId = 128\n# changing tag value of sequence\nmsg = 54657374\npadding = 3031ff0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 666430efff090b85acbd66acc054f29a8c05720e140a599c211fd699955c8857ff68dd8ebe56517a1d4b10ec5cc175b17488161d8de9c07c3263e5c3c73a9c649d85e8b4cca02035f6ed9b8ec80e0fb1e102a06ba60e30a2d2d2026b1efa283b6744c1f2a9b5bfb2aa054fc061626bb7c5d18cde129e1a188b62f440abb78ff3eec10943b60c168c2aebddec92191d04c2d06fe1af82e9f6551834f2c6142b7e81bbd4b4b501986056530602489d59a338694b08f56b83089c76ebbd0d2700ab2b1489cdf43913586b426b22574d20bfecfa1efb0a72b72d7374ba235c8708eb68feeefa9dfeb71c94bbf999b952b2bb5d6f47bf3404427f931360e94c8087d1\n\n# tcId = 129\n# dropping value of sequence\nmsg = 54657374\npadding = 3000\nresult = invalid\nsig = 4f1b6b6f44242c393d6047cc0c52f5f11e53ee6f67cda2ee9995ef5d85846e35bd501adda9e0e274147b3898b56d80a78127569ef977872f46bf6f996ee398a489843d51216b90dac9bf173ee966cde1903c072f3da2551b47930d0d4c8c74836e2027ae33a34056c40a9bb7d811956463dd01aaa305899130d180e61532a604910d0eb25cb14a6e46ebce99914f820e64ca685a33a2409b3df75796cee1e0ea4e907265d4478327cea93d2779d607854d3f327125e4fc641f6f87da99b9138afc90965dcd95f95e54729618cf0785a115a0e7d9534fdf4442646602b9cc305eb48457f692ed6740ce315ab8a6facfddc36077a8bcf0ebd2a4cc41565c71bee8\n\n# tcId = 130\n# dropping value of sequence\nmsg = 54657374\npadding = 302430000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0ff1386eda5e2e274e20fc68a2f2e04e0b299b99ef4c3c043761992e669da54a51d9ee1c1626674ad35b95e7c9cdd72312616f461bd933bd281f3ed79b532b54a39f1ad84602edd80767ce0e89dafa6841fdc9c4b2339ad0a28aee8ac5859881e23b4ff38e2ffc9648489b5fb61f64c6201c0558858f01ad97ec7fd40965567d7aa98c03ac0b3615c2d17d1c7695df50e03c362506f2a7e0a3c95e1e5be6e382a86bc66c4f1fd4d0972af088a3fa7f9dd439ca4b44cdf40cc84370d087ac198af66e6a99415c3b4954cb6893d1cdef0f7329ba339e01fea4ee4096b94bda9c4d0c74351009678a723402524976dc01e70f81bce36c4d39ace0d12111733ec1bb\n\n# tcId = 131\n# using composition for sequence\nmsg = 54657374\npadding = 303530013030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1a183748037cc7201b866108573e83611953f72b96a56a33eb7052399614834d04daaf3892bcfb194aa1ca19df3a149720a0ea970fe9aae1bdd09c0548071ad50d806d8a6e40a8036fdc5803de61bdc14ac155d26dee61e1c23dde867c16f28cde28dc6a357010ed1714a0d8c6fbc5a1894d1dea159c3a8f4c5251233ac2cb1ee715d42b15360bd045a38be1fae6f5b5c5b5f8eb97cc537e18d71f506790b35e69faeb43b30a80ce6c291dd2ee4b0fdf6dd97dc197df9b125c59809cfec7045698ecb700cf99f3feb6099f7516dbbe17665ed515ab41e7154dab04e568e1fbd1b419d9d261ba35f05512f181f87d23143f0649ff5711cc4c66d4e7b702903fcb\n\n# tcId = 132\n# using composition for sequence\nmsg = 54657374\npadding = 30353011300106300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3134086af9ed8e92e0dd74f4a83807bf263b3bd5ca32fc975391091016dd632b980c1df91854508164088e61c8af8ab1cf2149a8e8b2fd7d223e67da5d524cd6dfd3052bd307c991761bd8047c2403fc84871430978a0099954bc4befa89c7281ae62b10972a06b5dc8f4cd6d7e1ba42d19b486392fc2f1658ac31fbe9f0bd6d7b7738ed9f7e7f51649989de4817c7e4a613e357e9d4d0cccd5fe365ca4505f99ecdee8b0f9ad3d76deae39de4a815493611128919e344ffef0776b917541aad6709487f4605f1aab878c3a62d881085cb1ff1cb55bd6436bbfc4347c0ebfdfdfc6482581bb1402bcb787e9c6fbd3c96d9dcd16245f1935279116223aaacd83a\n\n# tcId = 133\n# truncate sequence\nmsg = 54657374\npadding = 3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e\nresult = invalid\nsig = 39963c8d72f4b87502bddf258c441e3b7928c0e99f5f4c7c66e45db5cab0aff14102cc66de1555e6053e7285e53cbe1c4645883768d4e3e6bb18dd87eba514f1fce3177854b7f58adc573d2f14ba065f0cc36d62e62988a85ffc4b1ed6e7e7f3f5c18d185495f2ddb1fe32ac0dcf2404cdd3078ea5986e293e2cc28b36f4be1c654f8cf86d0b8fea5be318bceb08d62594255273b420ed9f6aafc9a639fa384259c636132d8297d92cd9bb4e8f2eb77785005683905409978b50b97685c39274299cb9da6098ad02a66971943f0e7c6df90622e39f2e8582770f252fce3f1659ad742e68dbe4dbc6562c065f82f5cf7c85f8967b9de92dacd2b05cc5d1ff0457\n\n# tcId = 134\n# truncate sequence\nmsg = 54657374\npadding = 30300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 10da62f2d21b08fa1f0a9c6be729d60939340de884ee9ddf15e37944517b9c1e692193029e3aee69bfe92fbdf91bb7018deaf025e75944952b379e85c35d079cbdc1da17f97d844c78b0f0849b7e81e284bda48f0e354daf99fe5ad35f3b782beae791966d2d6cc7d6ec262a86089c385fd56d1e8e21ad69b85d305b43a271fa410c65f2ea088941ece8fd98063d50d6bb07e50119f0c4cd9c27775bcd40803124c85fa7dc2c555bced956e131a473a0e3d357a8287c0aedc6bba5239d3c8e92421918b137c08c08b424040e26a559b8cdee5daca596e7506109515e822d3de3d826284140b935683483185f8ad5684b0ed648a2cbc9e549fc4b0294d7384684\n\n# tcId = 135\n# truncate sequence\nmsg = 54657374\npadding = 3030300c0609608648016503040201050420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 48751b8bf25b88354852664446a3133204880e38e9bb4e34ee79beef8b464f138c83a45ecab05ea954038ffe6a2fc2f90dfd76f2d2a6c3a2acd36f63c43569999d54aef4b9550fb2406344779d695c773b9605d189d42a825ee489e4b69d5f1538e4853132cb9fc97a56bd9180a0ec32c2fdf6beb855d62ef6b18ea45354d49bfa225145ca639e57e10248a3e947c84d35502f6b40a64c44f813aa34ce502edd4dea72ceb11d453e66d1175d9ccd5d925e087aba6e8e34ee641eb7e76cde594409969752061847630c7d7f8d87d3fd019ffdf5cb3fb0ae5c51a8e66b03fb1f6a8601c1cf79a3596c4ee9c66331e159779f7e7c78bf0462bbaee953c31ab6be6e\n\n# tcId = 136\n# truncate sequence\nmsg = 54657374\npadding = 3030300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 17ce85f7b037ff2f5902e3df389932e95b3814547414bcfef491ca0aa9f6ad8eed3bff73f240352410bd67caa01c77994543af721d1c93beb57a6b5ab348ab51b75d75cc4b5addfab9479ec0f852984b81ad6eb0ac7005b24ddcc43723b37e24f509dce252e5cbc3dd5ba4fa43385f773b9d8a49ab07735db9a7aec91fcdef0fbff7a6c3dd8c8e7ca1710f90ac3ab1594a20e4421491cae9abce372b2bd703808363e26feef7ae93d40c298865de766a4de885f2e9efd2ad0b465d569893b15b194d2d8c9ef66b5557df770ea009d1520b87078b7339a53c84a3dd477c185c2f7e3e0370346df5951dce75d4b9e49092deaf020e0651d409d7ff17a5b5439286\n\n# tcId = 137\n# indefinite length\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 299a19ce5d0226447644ee011e1633135feebb8765072c33c18c7786b93797c6ff66f182a698d291f50f60bb20d244721a3e1304e425e4caf5d893690fe555c45f2eef068fc829d313499c0e2301c127c032caafeecaba6e339a96b5654d8dd61dad1d31e594fb538042a7c14c2953ed843207d628cde26453241edea64", - "3a2a50eb6a9446ae1d266550f558a5c8caac34ab4e812a2afc751e0033a16a1bc09eac9118ac7bfd39440926da48867dd1baf0cafe46a2f3d588a01fedefb7e8b0fbb294d9beb78229dc2a1ee2b045517e25b2c521c0b6431dd490376b7e3874da096535ff2cbadcd7507d048c82e550b2da59cdf3435dd6c15d00b81072d0b0cdebb\n\n# tcId = 138\n# indefinite length\nmsg = 54657374\npadding = 303330800609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5047ce51895b102150c34f652bb0e6f683189dc2b4c5baf7787d01438f0b24a4fd3120f6fe958dea1aeb126ea1c93745fe8d0d0f9280d701a00bb4ba9eaf35a4694345b9d38f724f0dfec600e379477999ffad9122980ce111ad4492cb4349ade4aeb85f3de7e71be992a42240a78ec9355d3a2bdc44525a93d66a41cc18a6910f43e11a528d67237901a4196383f64fe6ce5f246ed02ee2b5f5ffa86bf16044a20540d2313384cca1317cf3d18bf9269f3b539b78a6c84cb4df1e9f2cdd4d9a9b53b11f329ff7db8248d23ff3dd53e805242ecb307bcf2cfe23d90de16c68cb3d33a5e461b3a6db28eb1ee25bae53076df190e6f9cd23a4880514264356f02d\n\n# tcId = 139\n# indefinite length with truncated delimiter\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2500\nresult = invalid\nsig = 47e9373136f0034afd98de6e5519770af7ed2bfb4926ede7b6b774cce7d8df94fd56de9b5c8a2d0d3a23c2a49b171e62e9233bfdd88a48d66ef3b1007cf7425b46d5823b3e11a4527716f4cfa9bb4b9ee0fed76c00a6f5e1093ceb2117eee845b1daff24f8da60456d429a94d180ff40600e29088d1c181a60a233dda2c01fc3bd24f248f8d55d12c9b818ce608d8ef9194ec2379ead30addf1d88a4b9879f5217419753d036fe39e88cb0461b5856af8f2cf0b5e6e74ee8c0d052b851029ca7ad23c2eede49a3d916d5ca5a0190a92ff3b2f9cc4e41dac240620afa6efa358a9f1539abcb1073fd7a5fd18552437bc01cf5149506359e822cc405f5b474510a\n\n# tcId = 140\n# indefinite length with truncated delimiter\nmsg = 54657374\npadding = 3032308006096086480165030402010500000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9de821d4fcecd5c3ec6ebe88582c61390c5d471724a7c9aad4d4eac2576aaf133d92e5c53e45d43bd707ad80a5d3bcff1d45599e048ea27899f27a873151392afbdf287aaeeb7020491c835050c7d7fa3a905eb529fe2760e55bcf994bdd25f4bbeaaa26653660802b4131cda45e1a51fda7f6ae42f38ff688c8be59a70b7ad805e30186177e094ea2ead3b1dac4c24a42accb112155abaa12fe452bac975485fd8a40a549b484fda7d078bc6e443ddcc0289aab9f99061b083676fb00492aaca801cae31578247487fbaed775a74fadac298be953e0a108533211088290b3ed8af563186a18976ccc04e24097e4642d0e2d5242a28ec13ba321df4b8705624b\n\n# tcId = 141\n# indefinite length with additional element\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2505000000\nresult = invalid\nsig = 7c566a9339a3bff1a30d14b7ce5b4f2b1037907657106945a1159ec0daa86d687fc3db4b0f434bf6f5797f3870fc935f0aa1a67cafdd57b3e260a5ca95f17fe9e745a8aae891860e98600b835c0e18d119f41053612bfaffb9c780318d8628a965449b38a508bc2ed5e9ca208f44189ee72ccf5b28208eb27968fb5613bf070686d638e48d8f2dbd3b8ede717f350c41e1d97e9dd4d3a82bd0fa7ba4c49ddb50ebb1d522355f0307297e7d833e11125efd6d4201e6ed7fca9f0db1813c634af35d780769dc08738bfefe32fcef60014d5049ad739aaf7d2b885c2dbe97c726c269333d592d0c35d0a1b448b972346dcf849cbe370854ef33270e49b17c93ce7d\n\n# tcId = 142\n# indefinite length with additional element\nmsg = 54657374\npadding = 3035308006096086480165030402010500050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 92996c9f61dc7e216d111ad097ddbee4cc15ae29b37b944ecdb2976b440c5e94ab693d118d2c129f10b327c46ee8225099750df108ec8f412796dfe607c2f0535ef8a4a66394bd3d72e242e8182c3b1f9e8b2e29420aa6f1dc4c6268d982931f1ffd177293223de1e6c8bf65e1593876a6865ac228a898f475510ff938ca9f1568b0a90560cfc79dc4f05734013cc0aa65602aae3015dd83a7566937808b1e7d8d64fc0db46a47e35185ecdb9c086f4b857007ac3649a7e773b04dd8b6775adca21611b819e4b90f9315d4769771cfc674c41c054fe8493149eed9c84747b067e5efdf289a798368298aa12628a4ed8021c0827b0893c3458eae2f8104c12999\n\n# tcId = 143\n# indefinite length with truncated element\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25060811220000\nresult = invalid\nsig = 3abd11508528361765b79ca41cdf3a114305b9c481b11eb71b742694d5f9ba59f3010c066971df5b80f969fe1971449550031ed1348de43ce3bd9fba4d1b93e1f7d1e4e0f79e98466ad37cf0e5ce9fc01b7e08a9a540d458f546bf53fd6f2bc215366cdafb9572600c0b85e9f3bbe0dc287b6630d7fd10114ff692fe2799959f6777daa709fe7b42d70161cfdc86c03a9cc815e51febbce992104020da3f7abb3c800f4c8ad7f7bb56d0c82689a32764a3029210913a1f78ac54c50af92fbd5df563dba505235deabc0a6e6a39c4f8b211747151e3a677eb93026b513f0a121fbcf4b533afa41c13378634536173b1838fb3d436ffab58cedb48bf2562d59554\n\n# tcId = 144\n# indefinite length with truncated element\nmsg = 54657374\npadding = 30373080060960864801650304020105000608112200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 70f8af936746d605b1527960344f07f63c2933c32f43cfb0509f4461b897bf09fc7c37e1828b4f63c55b9be11cc9642c2c1b6d44e388857207676e6914aef480ea49645296f5c0c01c63e1269ebc0c27544042ac036af2dbefa2eaea0be474d534e34995871c4efb9ae6f85b0f0c724ec191b3fe46554094a39d785441dda07713e51f6f9af8116689f65296e40ab21919c7f9a67c33be44dda122771c2fa1c5bce89e07dc739f671754a99ca273e256bd2a6c0812b9f3f3e76c2ff7ed972be9836a8a926cc680df79361dc94b948da882021ea1e1f5cb6848b2ddfa285c5daec97606c029c33c1fa312b409794c8e701a414f3cfe987b08f37b635d1c68ec8d\n\n# tcId = 145\n# indefinite length with garbage\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000fe02beef\nresult = invalid\nsig = 53dea4ade112b2919cac494c1bb1bb9027ed7a70685451c21d3618ae862502bc052ed40a0000471085792a636ab95093b73f4eb4505ce6896fad47a27322a245cceb730dd53365659cb4467308bd001773b20cc7a850f48e78a0100eac31052857ca323dee8ae643241dcc33dbd2ac098aa5a6c87624483d7ff51b1d1d2f2409ab2d1d0aafd29002bff4640f8dd0d24375f7e0d5789bf71035ebab7b6ccd23cd0597103ff93882e58c0a5ae2899bbbac9df615331a9142c0d39a46d57a57c94ceaaddba6beb5ec6027b096ef3f8786d498db1baea9bf8e23996c8ccc17d6bd5b8f4a616ac31b0f5ea1181a092fe3e5b960d309497792eb5046c4ded68a460fc3\n\n# tcId = 146\n# indefinite length with garbage\nmsg = 54657374\npadding = 30373080060960864801650304020105000000fe02beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 97b5788236de2f816fd21cc21cc39b04be38d51c39805d98c59ef4647523a5fba15f08c7a2076fd63b71282ba90d14656c696f312626a17db5d74e0ed8234704238ff0dcb7539a846adb85795d0ecb407457404df35fcc04d41ce92379c08896eef2cd5547158431e71ee1cdeea4e1e42e41abfa6fb13dce3bf2955f8ecda8bc4fc7e413a21988d189794eb5ceecc722203b9154bae7b14c3c6f7e51081d7898eaee4d4cc84665909ebbf31d7c3dfa216e854c305c7ea42e502af50d6045ca3baf89a836c7f11242aef492586d77b4e6d96bbb7f428bd38e583768fa67ce9622a8e0c8d77c6af211eef2e2bc1418141dcb8401f67b8321095d623e00a3d65bde\n\n# tcId = 147\n# indefinite length with nonempty EOC\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250002beef\nresult = invalid\nsig = 41ea411be09bb58c61d4ef960c124d68e9c2e594c9e2f460b1fc2259b20678418e2d0a7fb556464c3cbb0df01e1eb304c64a9815c992640679559fa3b2652553072575804fdee685121efdf4b49d8174ad1441c9a563ce0d02ee15e0e418ebe86aa1bc75cbb91bf910f8bd7dc1544319d0c1babfdd331fe6de6b6999c31890421a3803a99679f70b9b628c7ddff98f57cf2d4660feecf3deb76c35862e90a3dde6ad0a7e09d38485cbdc6c0a86e68bd913e09478f2bae177d51650f9dc630775f9b91d81c149a1e1db0367fa321488501493a715a8a70b406bfdec8b1a79843a63d6c5db1dcbcc7244f3576556081432930f152f466495612315479a5c2ab3ba\n\n# tcId = 148\n# indefinite length with nonempty EOC\nmsg = 54657374\npadding = 30353080060960864801650304020105000002beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4ad9f71529be0829b7a89c58aec8bd34e251f6df8e50aa5c51c57ed1611d72faf1cb114a8ff12dde0ab838583541a2abb38109f82e248ca8522cf7c4b385153badf5140bf84bccebf88f549aab8ce6fc438dad7ddc87eb2797cb8e7cf3d46e7bce4c853edcb7f0ca2e7dbe94444a3fe45d01818197ddcc20803d91793cfc34f34eb07bdae151fb987f164bb27b5cdb7c6867f2340ef14b900af51c335e68185997174534acced5d97db67835c03ec2bea14c3806810155a1ce916ebd80ec112515baf25f600ceababd9e06069176619b4c1bcfe7f9c151fcad91b018dd9c5ca6536ec999a7387519c42bf71", - "f3b088d915f5150d4b388349b310644a5dc834cf7\n\n# tcId = 149\n# prepend empty sequence\nmsg = 54657374\npadding = 30333000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 72ae997b4a0bf2841fc14c64a0c44580607eda384aea73eaab998708b2b79b44815ceb2c907ee4c49c1f083574e3476fe1e3dcd2c581596af38ccff0676c2cb24df91535b22e49e8f0723238555c748675e80e4907261b943b167ece76e9d767b64585a1ff6054f09dd5e22dfc7f743d691704698e778b8c031df4464004f2ba03e642654051165c9bb7fc2a1c5ce3054a8579cfbc710bda13b7b2bb2f23e6eb7221fb51ef2404483e914075cc4a9f8eb91f247a600675a9411a6cdc516e5f8b9b4c9900086a3733ef932255235c4e5b4484f49bf9f5937d3d9e1d0ffad627ec0ff0aabe08a0b0197d430abe67929bc6bb1a96b907c34b2498bad0664b1eeda6\n\n# tcId = 150\n# prepend empty sequence\nmsg = 54657374\npadding = 3033300f3000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8d6ac89a1e6e7d09e463eff106d8817d50ac80e101df01329d64f6001c7b713ffb4a96159f4cafa5ffa0cea9bc6b1a25dcf6f01572666382e546c0da556da811b5fac121a200825964cc2e90e8147c846ed3a4cb4b25151e1c832e3fab42d140bcab9f17a247d1ef819db5e6decea280f44cb4db5ff24e56515317847b4849acb6e58c16beed80200b65305270859eef3c5bb2677dc318e5841092c21dde882a02b16071a5c951a7edab12e3df75f4c842bbc48f876eed02a7f3b878e13a213c18fb54bea46fe8e9e397817794ad24033188b1268c7ed4255376f7807f9491c6370a3eff6021861840ebeee2bf7dfc8bff45ec9b04db5099a586d44ca71d8876\n\n# tcId = 151\n# append empty sequence\nmsg = 54657374\npadding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e253000\nresult = invalid\nsig = a613eb54af4df4410229cfd628f646ef26dfb7d610682d1187e9696d35fe5849cd9ec3d48f0b5b239628a08cebfe9c539c6828995beee9788f6aedfba31dae0c7b32221b4220cf5b0d53acf5d8de4d80cfdbd2366203a68b43a72bdfbfae12b96314fef915d1b6fcc645ca935385d23d66418d47d60fd4c7395afccac61c4a02df3b0edd3152c2e398556785e9c982f8bf55e2417e614ef694c17082e556b4a48ff9e7155021747b952011abb053dc09e487450cc7a8a02b7af672b776ea8561504b8b08e2e219919ba8cc7e24e605cd7ef856cf25f3d3391311415ee67dc369b52d676f425c773d72baf572b3f5829fc76925e3386cb770adaada942dc0a4ef\n\n# tcId = 152\n# append empty sequence\nmsg = 54657374\npadding = 3033300f0609608648016503040201050030000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7104a754fb3341262f603e5695d700b35eee82e4ce5b5f82010f7b8d788cbe44230aa11289d739ab6478b7336772fe869eb5e702a6275a7c385b7488cafff3d7d8f6843229674a53bb6be30c84b3bf58c7591c7374fdfdf1f5fe8c948f7d472007e6c327d9f67f44622af44c55592946243275e5cae5f8ea8590d6efad7820a06181e8180cb2b9f5f0480fbb4e7ca32ae5265e019acc39b46d02e77e0f09426a2b211ca4420a970c805e61fde998d39b14a9ecddfc852efc8d52e669aa80405647330e284f87206e97d4db2e5f798f77a83043dcdbe76a9c876bbe7a14528bff82c35418a6fa6d93beda59bebf2ebc050adf7091df4a20b03ccf9cb335875868\n\n# tcId = 153\n# sequence of sequence\nmsg = 54657374\npadding = 30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7c26f8b91b43be4d09cf5ee7490a27ce7bedad4575fff6980a07bcef5cf783eeb57aa1863ade6ede8dc95d07c1a3d0841652b357be04556a549fd8234ede8f5e5083a3d4af273e3023f610029a0b3cf85a8a2f276e4f57251e2a6338d2ca0305a685dcb240f36c966dd0da783176313ef7c93ae6d13008099f846438ad2c9dcc0ec9f8c343cb3377d5d14ad23bb25b11c19a5bc460592591697e92ea088160f87c0418b0903bca2c7567dc76da84da000233c391f93b05e9e8f01b78639bf95bb21f74b7fe1c00b64ebace8458d292bef3acdbff89276702c547171d8aebd56dc24f98d832feaea03cd16e977b99382040f2ecc1ac45885c4f07dfbf9fe61d35\n\n# tcId = 154\n# sequence of sequence\nmsg = 54657374\npadding = 3033300f300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4a4b7998d9282ad4b458b6b041da104e98f8252b711bd07b7900d4acd3cbc7b1c90cf78eba718c87b9b6ad94fb35566560d6d6be59e801862505e908ef42c934d085ea82fe47de6ae3efbbe1dfcbaf99005ef250ed6fb74c09095a031a30fd33e52a7e7d0b73736f3f7516ee96a08f61e3df85e174650bae50b4dc632698f6e7f1efd2bbf10464153ed4dba71757d2fc1966d3c80e0c555d252d9e9dcdf59534175feb7db6d9d17f30c82678d6ea680876c2ed71447f127dc3c75852dc0fdf0e1c17fd1bc38bcd25501f07a5c0dfcfe295f0be27cfe18a5c596960407623097cdad148e5043433bd4567951ded89d0bdd8528497b8525212b8affbcc976a50f6\n\n# tcId = 155\n# truncated sequence\nmsg = 54657374\npadding = 300f300d06096086480165030402010500\nresult = invalid\nsig = 6fb0241a3961a03138b8473f8bd3ec202979a98f07d325909a2e85a52167fc379ab164c4a03986edba638abf1f8817c1cb89f297387f2d5938e707aaa53eee6bbd6a9a7fe8b70a31373e675f443c902dc1d0dfcdfe4b3ea83cd575bffb04071220f1094b9a3e7cd04fabd70c0b8761231abebd3f4eda11f74f83d77a1a44e28432d05da33998419e5cafba0e81960963209379a51fa9c5c27649ec89f8a528ef0a885f055edf3f66ab1d4baf07a405b87678ed6d170ab890ded0e8ee90ca1ec0e9f6e5ac247e01009d6eb7101da6eded84339ca191bd6194e3b6bd8b094da788c1ae068d8ce7322fc7e22189e6cea7655b1ae690da05a0aae46466800ddd6f26\n\n# tcId = 156\n# repeat element in sequence\nmsg = 54657374\npadding = 3053300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9300a86600b600330a19b750ceedca9da6c96a99bbf65ab7dda6a5924d22a5fc9a2162e3375172fb38f62aa52a9fec71af1007ebdc5ce29b02163d9c55ead2141959eaea28f13c482be046d676770e02b71268d54d52839ddd929117e4857c9a6a17f92915d0acfef9bca2c40819ef58130eec1bd60359bb8f47ce67f0663086caf2281136b6076b20310203a9ac1b293c511a53e10ff880ffcb7184be60fad58586bc9a11fb51d7dcff71b401e42c1c7e92cacae3c50b62dfbea390c285c5feea91c288fb845401417fb01a09b3b6f0a1621df5c172632d40fb2936a7c2b62e989b848a06c098e69a333759d9ba2d270853f65daee1f7a81bdaf64af2347517\n\n# tcId = 157\n# removing oid\nmsg = 54657374\npadding = 3026300205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1d35c1575269b1ca4e071f2fa19ae31388f4cfbc7875449b2027984d2b363bb2c77c80819725e03ce9f3db97cf939b07895c55b93cfbb204a3b036dcb69470e9e99a5584195ac3dd24214758a82f354338e50c69f3a5de6cc0920b845550fcf104b397ab4b4add6659efd34f64b9b673e73662ef5fced6e7737147e41b48e36410eece6db65f5803b16d33c25cde6bcaeda8930e7635656d9174d179c74f5df33b08d5b90e866624180f0a03fc6a94a8c40731658a5d90a071c6f77e460c6ae1e6d6350869db442219bf3730cdf3e74ee102d6579fab4892e8e410f06bd4cc19d776c47ffe667071fa437c80452950df7e12d909e0d2f7494a8500e1bba86435\n\n# tcId = 158\n# lonely oid tag\nmsg = 54657374\npadding = 302730030605000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5cf9db664d1baa241293db08ee7c8d4cb7cfd374d9c4e0a4fe3c81fee279be9f0452e6545a01ad3adace3d0843ccc26826d446c9bbcde6dfce30fcdcdfcae415b6771cce7f1d7505c07969a8abafb200828aff641d0c07cdc4a9621c6d0ac607f950ee0652c138b4b48f724a632c8345b2919abc24fce3d815f82b99026f258a6d2cae1fb767a3d20591aab866640b4fe821e010e19db0d696a513db246ba42603b302c64f17c0296414dbc14a41726254d333f1dfcf29f55fe22a576eb6bdc65c7d0204d22001e858abb48069f65f7c1d8e8e84365429c01c048d4319765de14c48e68a4f7c898598597677b294d71fa2b5278a0a9eb52bb627c118a5bf2163\n\n# tcId = 159\n# appending 0's to oid\nmsg = 54657374\npadding = 3033300f060b608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a15fd53bf93274aba318e4f37dfabd414a47c27631f0c779bc8cc1223621730380817ccf1147a18b778481c64c48edad0815988e6942199d0b0599a1e33636f7e83e6addd65d87e53d734357b5d2111231cafd3a4e40845073ae50d4506f37d671b184246ce15a77f36f554607f016e7f7806e5099cb2a69ab4127c893f28cd8fb8989863e787151cdbdfc9e0be0b3235b1057a39e656ea482aae6d7c3aa08bd06fd38bc0f9b21240233624ba5c767b5f3f48c7fe365ea1552c5a9e64934869974ed2555ae81f9d5cd20f48579f238de1e150fdac4b321a05938638b81f0b7292a61e12528b077949f7ab3e6f8e1f78be81da0602fb30b47f569f7290cef3366\n\n# tcId = 160\n# prepending 0's to oid\nmsg = 54657374\npadding = 3033300f060b000060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8db939e248a2140b770acfdbe16ea6153d968ef51c56b024dd1ec56cd600ad79172a14f6253d0a9bdffe9ad10b6ebf57eab8528474fa96a06c9284e5fe08c48dad5520730cd182dcf1bac660ce3411c7cb68686b3b91c5a55b8627130f0e31cf340298117b3a0b358a42e9deaba700f8d2dbc934236cf81c0c4d15017602e82545e1eaf9", - "d31e4e8ee51d35054f3b05b7a7cd121854a0661ca19706ae95cdb0582cde723e389d58579d02c679f8d287a2d0ea51f442df0641682458ac6590b3df77230273eb779ae4b827c09075c7163b993eae72ec0596c2adafc8e20201e21eda1f4a13c27dd9ca7b3bdae47707b362912979357aa587ea2d86c9c2c2587ac7\n\n# tcId = 161\n# appending unused 0's to oid\nmsg = 54657374\npadding = 3033300f0609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0c985f857ac4219bbf98f767f42c7e0ba886889a0a7612a3e7d7c8bad581250aa7ec8a71567490d0c509a6b927b8ad714107e7248ecd5f1ead25828707072c87913e7cb765fce62d175c4335d09d764bc5322648e53a73eea7f55371a9a73a5283500e0d1bea254d217fcccf917d5e0f28b987e9a16d11361dde37d699edc524714122333d897279eefd79274c095c2d6c9683673318e7f3536296c6be23837d69e7222683004d7e52b017e61a27c5ff3c8bd4ccd8622a52de0d24baaff3c43116e4f043ab30cf8549dcccab4905f458ab7761792e7655c6a66eba7668e4b731c62ecfabefbc31a1cc8b3e8f1a69cdf9c8f7825ef266d9c7e34710f6af936670\n\n# tcId = 162\n# appending null value to oid\nmsg = 54657374\npadding = 3033300f060b608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9957846928b38e0fb520a2786df5307373a096bdee5c5605500791321564ab48283a682cac388bebab9212a6429f9e03519f4f830719df9b313d62f2c46b78eb936b3ad13f3e6ce3429181678359ef6392e68bab0aaaf925721c6f991d989fe1a6edac5be9faad908b0ffb9b0b0b5e32cb6080bc9007a5da47fee8e343803bcccd4352f284df0e418bf6c8317b6ffcd7b4d9e82a911d654f0344b28f39f55ba9f1955d7976ca153059d5de7bad54e21d49bcddf8051a53e4ae496759504eda1ea3ca3bca7f6d47821440850bf44b2ac43d4afc1620b150b77f288af03b41c4d32977f726a91c80cb5c37177bddcd5fc5e206c4284537d8eb740f3285ef1a62de\n\n# tcId = 163\n# truncated length of oid\nmsg = 54657374\npadding = 30283004068105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2d99760b2853ce20a37f51045006ed11d83b250d54da4122e200179a564a296292479116406d69b858cf15b8575bfe9df9832e484ca8fe4f0a24bf62aa350194ed642c68bb074e70790d7e18209b23dbdef6756f037a3391e6bf841f7b6dc763547565fee7e9416e62504df61cbc00cc2ba5907261e4e39bf9337e7a15594732f08ce136f37752a585e286c001424351f30a9bd585e3c2e2d99a6c91f3ff3081194b24f6bed3864b36b14d1ff3a05b584e06a994df9dceda839ac788d08d608009681db0aa23931d8f4a3aa1b1f93b6851a7899723e858eedeae4d25394bb7954bdffb975a3a1e4d46339a0e25f8e85958b006cc5f0d5b60c9fad1a829e81342\n\n# tcId = 164\n# Replacing oid with NULL\nmsg = 54657374\npadding = 30283004050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3e0270e701eebc757862ec646322ab99511bd27d1351bbc3ab0584e218dbed9952a9074ebb7c5fb8f846a0f5d90dc1040e2c45914c86ae0b722f1fb95f7621b986136d7656a2a4300df494c0235166e51e3c9e9fb98bfb4604d4838adecd5c55300332ae0e141eebb328524f1fd95adfcb9ff7fabd203e89775f94a2e84ecc5efc0d9626920ca8a13154dd0e97f2527d6d518e6d460299cca0db870b0834d5b99e464760c390768e97c091708887244833117afa89baea5c1641b88d45bb9d711bdbd559af73bbc8eb91ef377a0140cd639fb7e8024dd3c48ddad6e37e31ed0a3fbc47a6c28b5fa3df0f38a912a4fa2895c2e25f0cab70bc5e660f725fe22da2\n\n# tcId = 165\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300d040960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a781bb3225276cce1858b9f9316f6dc40abdabda8119931faddc5a871b5ae9c7c68fb1151d9cf477a66e4a13a6c3f114087bbbf219beb524e308a91fa88411d450053605f9f00bf28a146c10b825ac3205174ec57675035c8cc2c9f411fa1df596d1e33a7da0afce271c6b456c665c430cb619c971d60754afcbab103ca02aae079b3803492109ce37c800051ead6d47a4e0c30b8cc147c66d5eac20399249af4082e70c7d5556d2b0d46508e2e1fb805b6ded365c2f0d20f33315a8d49f62896ade6e0ac9187e186a73e5146cf8da9821c2e5fc5ad4ff0b28347322c09da2dbb196120762093ce33fdb53d8a9579c13fef218a62a834d5fabf53e1ca8a751b6\n\n# tcId = 166\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300d050960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5032da548bf0168a4b3b3f99c144e3e13ce14b7d539e397f37847ffa8db34a0dfc0d73d30e6e3f2a23f0ac92bc5643af1adaddf9dea73c688ea98364c1e610835b62f1ea602589fd44a8a2cc73b00cebc75c212228b508634137c1eed7a942c18bc6ed4bd0ffd39961f54bd4455155c08a304c2e05d78950e42e92275b2f02df29ec2b2523bf97511a0ea3126c1012ce9683e175a45f7ee24a721707b7b7534ba8441633faf9953cf120dd6a13c8d88cce5e0b374ad2a3366f1e96f823128bfe6b830345e94d611e1d923620a57db4ae51e5d17b5d8a0eb4acea8377cac9b35553b7464e40190f40cfabef9bfd393d0f87e6e5bb08775d9d4768e8f2f0cc4a24\n\n# tcId = 167\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300d070960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 489a6107f0052ef49f97222aa666c8025f2a30eb4bda5f47c888d256dc742094b2b03aea0b087d3f27e6df02fda958780626512441910fb83a7e4412a3aaac388933798922f6a4dbd48b851680d1f3f84e39fd30716921f99b87945001d26955ad33ff1047b5771869a6f1519906e461a7a50d8fd08d67a9f9fc272699e7cbc30a12aa8601fbab4884878a371b3c1b00054e9e585df1e2a084ff3f6a3be5f3e32cc6295939c1cdcd9b3aba7e58ec73dedf0caf5d3f5618c6909435823140b29635ccc13f658f1339fb2a3b21e1919be181c15edaf1cb6feb142464e6eb4dd18b9633f55fcf370b6c0643d6710b875df63a6220ce340a97987e577aad0fab4eeb\n\n# tcId = 168\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300d080960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 41858f3edb8f7fde81575c399fd90c01162e6017d0c03b5c68167fcb668790d054b40d4d2438daa0411034ddbea901ab1924248185dfee64d5944486530fb407cf967d171110ba8acf00d1dfcc6c7a330f5f828fea17a9168e083f8e118857d29baa32351dd284a2efa0672ccc3d0e917818663cdda0e5dac638ae150c308b8737a50cc9f17a595800ae925930319cfbff91c02535d3d35d3256591094a38b3dd10af4f51c2eaee0f8bce27aff7819e22a2191019e419f4e45fba1272d104e0c278654ff6a21b9506ea4317832e7767f46d97c64e0041c767ac1ef88f3ded74fca09bcba82b519fa7716a9f7c4a2b78931f6805b4f914f6e6bd0a3adbde2a88f\n\n# tcId = 169\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300dff0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b1771079fca7ad8ba3698a9cdf7bb5309d55ec40500fc83424f1469c9fb77ed08082b5ad1e66890b51465763d1deeadecfaf9c8efaabadae7f7fec17589271ac920cfd1cb32135fca21ead942ba15f09a38414a796f67a5cb29f877caa6ff8e1c71755fedc58485dd9d4d62455c7a8b2ca2d1906e8045e60f681c39a0a162dfd63a9fdab5954352515a926324dfe252aa1a1e576b4dab1588b08344aa40f406f6352317055a8feb9292b9611c90d417b0bd42fa7e4a4b82c63885423283ae4b2467fba84c34c391339a5a3154d70d9543401cd260e9db236b1f96e705fd9704fe557a53397ff99d74d9d97847247e15ed410aecc0f74bd7bdebded30e34d3412\n\n# tcId = 170\n# dropping value of oid\nmsg = 54657374\npadding = 30283004060005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9464a738ad70b16f8621a806e95d4d2cb1866383dd6c0d61ee85bda1ac8b56c3833373257daff4d360b1c366c10938929a8ca0819ff929311346501c67aac447500b2fe5b812d7cbf93db5e5631cbff3c498461fb446eb0f25c881043b2339b13c373012d7546b9b194d45b9aff2283d7074f6119420bb6442af9116236b91ef37f5abca8aa9eab2b0ebd44d3bd302ab51a67e1d9433dedeb1bca87edce75d02ef149dc5784e1772c9ce846c17e4f7ccebbc908c46cd062e0e4bca76a033125a407919f7862a6ecef7f6bdc279fe65ab938be35858c98956c95c396b15d2a17c1c2ac996b5bf0fc345321fff7dfc44fa4b0b858db0f556de1d477a85a19f1856\n\n# tcId = 171\n# using composition for oid\nmsg = 54657374\npadding = 30353011260d0601600608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 06d0a8d9247e6e39a8e09e7f8db128c23225d88e831068cb3187a6cf657d709710c129f688c3b1560448986e1f9e83a56e9053e7e7ec86f61c597d3713ba8326f7ac0098fb51a49ee64e306c249a09533f464a59f2e5ebb3fc85da8be6a60ad076e8091774cdce2742d5f9112d8089fa8e3071283e2bb7b6869f3c44d6dd9803ce6e467bcc8122d1e96832d05033f7ccdbd6bbd0666bbcf41ee1aa077454d0e136b725e7fe0057b2e5bca0d9a645cb50a67ea0b98e7c0c60a91c5b5098638a3027bba417ddf5ef968ab5d1695fe3c2b1fcc664624a783cb5ed2c6261e0627a26f351d8d2eb055098a2b8540791c2e763ef27086b1f7cee54837514790defed29\n\n# tcId = 172\n# modify first byte of oid\nmsg = 54657374\npadding = 3031300d060962864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b06563b316ee2d9a41adc5a9974", - "8b373538f15a44c3c9227e46ec05f99bcb14f4316110b1d1a82709dfa57e6a81dff1f3f692d27a96ca51f44e7b9fac9d2d87eebadab0a2d4b8d90427af8797ec5819dd451787ea741023f2e208ebe8542dd95f4b24cd86937bba642ce66851a782588fb2bb9e2d8fc9cbcd20b79f758537799740fde8e1a8ac4888abc363feb341758160f0d21498eb754e5189fc556448621a4dc095a47ba5b2759315beb9430ccab5deaee086cc87ade1cb243a8f4d9c63bc80f200dfdbfba9624e6084046e05dbbbb836ef5e4b0a06a8a26578faf21eb155cf0adca6b72817dac6c3c992a80c708137422b015196169bed668cbe78a9792\n\n# tcId = 173\n# modify last byte of oid\nmsg = 54657374\npadding = 3031300d060960864801650304028105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8848be6a99395116fcb45143dabbf7f8a95b800c269af5a986430190d9834502a37839afb083b66a96713159ec17e66cdee5e4110d0f9c9c17697f38af177b93b17c0fead88ff2dc53a0b5c502f96c4f3d402c623dd81408b06426bf6ff7d602ccc8eb21db91c6c0d614d108703ed32026de99e1a5c411edd7c6a66976faa57cf022a34111d791f0e469080c7eeb84999e0e9040def04df707fcc937095993f1a8bfa889c45127feb9de274bbf08a805d32f4830b4c5078b65a9340bcb9b74b9368c02af63d2b3481da5f57eda94ac2e5255d3b72bd1a19e45edcab46a119736d7e2508111a0838d1e6fd5bba4eb67ef697976f3cce044d29c6d8d76c2d92e1d\n\n# tcId = 174\n# truncate oid\nmsg = 54657374\npadding = 3030300c0608608648016503040205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0baac664f223ae40e336ad610b804b5997397b46a4a2905de1287481aa43a5bf059271b6a3ec648faec7345823aacf1bcbf09189b9dd349bfdaa979df8fa78fb199fb7c69fe824f83f83d566ff49e2ea28c704de66f187e3a42e90663423bdd0c8b67dad4e92cbba14a1ccc1810a43d116347ee7ec21ff9a8324a4c110e661092426769a443627ddaf25ea4d144427993a2e82e0b15f20936dfc2405da8ab5a6232b9552f175331e220337f22008033910dde7bdfe87b2f7f3b4847e665da5e03dbdb866b05d92c5ba490bf5a75903aaff4f657bf734d284081f52d81e6bfb040dfd6811bae2b73831ca3709b6044134200c700f2946f234f946a69886be2bb3\n\n# tcId = 175\n# truncate oid\nmsg = 54657374\npadding = 3030300c0608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2394109f99286c6d9cf82b46d1015a086f826e3725998819ef5e1d99e504df76a7dca903360567cc58d6bc327e90d7555d646f42f7c452777071b3e6be8ef1a97c0b33fa50709806d83fb3b8acf656067050708ee080af5a85aa2ca3f871324759d06d9a019b8314c66c15cb0c314d807026515d46e2163a19e89a7808af30a71acea51f92dc5e39d237eabdcfd46abe7cb8af5a47bd352cd5b1d0dda6fbc6fa5dd19b3051ad13ebe75462080bb3b7f23b013085e6f6010819494b5b303c279c2cafd1595831daa558624ef42a46a4621b6374cdb2113ec5d8e8a3661e19814b60b5394d9305c7d02073a7d930ba9bd912cf72efac5feabb8e69f34b74ef7775\n\n# tcId = 176\n# wrong oid\nmsg = 54657374\npadding = 3032300e060a3262306530333032316105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3d0632482138f5b9525dc60a459624d40d8c0187264cf1e076d7490295c59aedb5cf68fdf0d7668a94d3d585cee39ca6a05c0a2817b2f5ddb0ab52385dac4e1845378a113d43b936739b21335261aa4b96727ba086c75f88f600b4375d7cf796e62bbcd8d8d59f18fad4972c3638367de39d36f3e1ec4672fbac6e33246263feb65f2a014163ff1329fa3b7a97ac1b07d71059d23f631ed4798b05dae25204c0e4b29101e2828b972c63d11de274781e8882ec8ac5e1f5284dad188de1bf62ad234d56ade827eaf9c7378447da3791e4b49fd2559f8e37002171152d530da5b13342e3a9c7f45552c9208e83205271a767ff3862b5090db5971fc0cc8ee08a17\n\n# tcId = 177\n# wrong oid\nmsg = 54657374\npadding = 303a3016061236303836343830313635303330343032303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3ae4a98262c515ec4610a836597409747dc21f91ec5380cd949925205cfe42026f6603b73c1d38ca6580a67b7ee11c4bd85bd2b610c7fd2809bc63b23b98b151c0c9298793fb5e13dae893713adc8761d6e98389d918853dd2b7799e32eb3bf9d97f1805bb0d59efa7978f5bb7d3432797c851c4cf4fe6a3c54cadafdc770ccc012c0e80750e339007747a7711b0f2229fcdf3c53b48cabbdd61ae6de1bb7a50b03052ceb1cfab6e80931fcb5d8faa4b37ee3f7875298d64b7f55cc766a11ada020a6a198f92c2077418b0eccb4f432e35b31952a53213b0f3dace6349c6d96d3061d9168635864ca3b95b480a179cf90d1bdb318147813b9cc4d61caf80b963\n\n# tcId = 178\n# longer oid\nmsg = 54657374\npadding = 303c30180614363038363438303136353033303430323031303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4a5ca8f9c21990190bcd35e09815b509521a9c421f2eed985c90bc6e5177d6bd452f89f3f035911d23b01de756b4a65cdf8170e5f809cc0d2973bba249e6bd495e334aef2bc8951d46b55dd669a360a9cf1601f088049ea40ee30bd37eb513d0e06c6b01840bb3220d2d427670faeffdbf5e69c4647abeb29e7dfe6fdcbe78794685fd538df7dc32f08307a5460523578011e05db78a3468cd022b1b164dace85bf2b0dd26c1947a98f519efd8dc86cd8308abedec30ec2a25c293b7fa9bdb0430c99717e6cde1249fbe44252299257a3e4a51dba86961707b3f62281da804929698cf04e471b9fc0cf36b7472c66e74f3632a74c8b1d70e0f4492671a38b9c0\n\n# tcId = 179\n# oid with modified node\nmsg = 54657374\npadding = 303a3016061236303836343830313635303330343032313105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5a75946d283b9a97c0a8f3329869bcb0bf69944e594935238b02ed32586f0f4485fe5c2fb3d7aa03843d8b34468e8d268d1a089362e96b0fb2ed670fa7d971abb3e34172262406269d94149603d7a728d32161e1cb3b77d932e6857047836e2d13f9e51b6938c14f450aa30868cb966eba324e72026562fd0a90d2709796ea089a5ed72703ca1a86606f299ab1b150166b4fcbfbaa97ea2102608a67bf9a282adb96dc1880a93020ba83d03d5388851e35c43b505fe563b087606bf6502e0e7d046d960d0e3881ab5a1b76a23df3b0816e314bbc66f216a76bf123e2631affd3bce91160a39dd39523cf06f9f62fa6f22cf39aaf5efe7fb38742291cc1bc732b\n\n# tcId = 180\n# oid with modified node\nmsg = 54657374\npadding = 3042301e061a363038363438303136353033303430323838383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7d93fbf46c22edd6296dee68a2e0ba67ea48c05e2cfdb5c08f5a6d2651e8c8fb40ef9056194a8e7e2d04274e93a5c166b1bbafc90aff1ce5b753169329a98a29f7a6ae12a55fc5f06cd11dab0d3fde97393b6d6606145075e16e6c1afdd826814e2a185fa88fa5798a185a78deed1c5ec8e5d5f02fb9e0c2e27d2fc809a615bd3e0c665a750d52227cfcb23732ebe646c1f16ec295bd6806e9e68cb34292413c7d41adaca17ffed4439f2bc50570a2de3e95be3cd20eaee46d5f93fe933961ddbf57a92958e2c7386e1547ed00ac9da5b3a5a263c68c145144dd653d80ecc4af81aae1f5f7052d24dab5ed098e2e42aadca0f4e23d34b77225d01ad0a3d466a3\n\n# tcId = 181\n# large integer in oid\nmsg = 54657374\npadding = 304c3028062436303836343830313635303330343032383238303830383038303830383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1a7f1394c001ca2901a0ac44d334cf48e7254f1ea5acf2833cf9f9e409a0194f6d196f915e885b1b15458f42089f44f2e26b9c6ece6f770947519485c8dcc31b4ab910ee6b83b8f906685e38b23c9e250495d5b754f6ca845d1860d5a4f6906c50d05f09dac23956ac2684909017454901681b50c3a55a990643e7df7b940ef27b901755b14730e5f534789127be7c15e0fc68d7f043ced9d515d3ba592f62c59272db977b31b509ba6f738a7b8484c3eb8878f178b18c56675dc349e72c5a29bea0ed00aa2705d3699ccd90cc285f430212693a04e02b510607681e70f1f9aa206120d085964278e6c108b5699d73c2d56273021107b7b9d71a339d466911b2\n\n# tcId = 182\n# oid with invalid node\nmsg = 54657374\npadding = 303d3019061536303836343830313635303330343032303165303305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5848e40bd96dfab48d5885e90ea3eb2e89209577cc36cead08328313a65b75436e88d4a8aa5be55667544ae77193e0813ecb6469b8d6bd028e3b5a3821bad3816921c6ad27271812ac6bef72292debbfd64f123d7799fd36e4d27ce557df21e06cee4a5198eb22d70e0ab86f4490a382a790ce341a50a006573f5be9c1c067b42d9998e867fb1c03ff54ca1d3688e887ef2b445ca69c0d79053b9de5580dab688eee42e65f1aaaf89cc2003e9402f7afc21350c912c70a7585ec76bd6fb302a9d5d211723c123a4cd64cb7fca0cb877b235c0fb362cd092760581e065ebee1a18e0109f22cf6b7bc7ef728c092f871dca0d21fe54e2778b836869ffcc804cc98\n\n# tcId = 183\n# oid with invalid node\nmsg = 54657374\npadding = 3032300e060a6080864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a38dcc4e8070333703ce26a8b1eaa28d242bd5ff4854fad67959caae66db5e6654aaabf81eaf31441b8c5e7419a3ea5b04efdea91fd1910b5e5c6f02ff77b7cf42b2efc55b03407363069b8dd031c56d6d0ac54838760d7ecf9f3dc03828b27a73b827f394700558f160c196503855c255332efea838098e637cd1c7eea9e687fc552b5422a62f6c6b49fb16ad56509dca5a9148ed9883f1d76453f8d607d9fdb7589f4b07eecdecca950e58ccfb9e7784db9592b6406691a413caef5", - "e994ca06f21fe61f0986644be041878429d721e403ba6ad8dd8629eb78cf4fcac5cc42ec03d51ab64c051cba22b5cd4b160aaef28646b5776a19605cbed694e0d6310c5\n\n# tcId = 184\n# appending 0's to null\nmsg = 54657374\npadding = 3033300f0609608648016503040201050200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 202c2fa04697b4c4f5b9889e67c90e597c403fc7b97bf43f3b7fd9bf648bc13db56f02aa517cc5b8b79ff90529528304c877a081a634de4007cafd341cdc19152f5d117a422b5e2df3f4368f0aeaeba2e242823422e3a3e896474edbc636b491baf44e032d5f671f45f599761530b18efa0300d56f0f141b22f0ba9a8187dc771b1575ddac950948cbc7d043c1686e4ae22d093ce4650a99d88752a2748285e935d46ea3a69e84338e1afd57fadc2fabc1dded35706759af7ff32b9f75664f50ffe23700dc46eadece6c5ce271208326f9342e7a63c852463a156edfca011df3a1889ce94fe8be66b125c80540de3aade0dc8bc1baa3f33a892cdd6099560562\n\n# tcId = 185\n# appending null value to null\nmsg = 54657374\npadding = 3033300f0609608648016503040201050205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 49a336a5a98444fb1617e4dbbec502ca47a888aa84ca700c5909da12a4ae44f8831d2e42fe711c5909533885837ef60be1f37acc7a9a2023d63f0f5252473568aca337f672983058c35df36c4880b17ad15b5e2c1b289ca30e9af9566b5844a30685d59430f4f399188a22fbdd9a892415a7c169cedb52ff274b5eeb25a0f1f33e327a077a98342ace7227710a3db891f579315cf772dfaa142612f5bdb612fc31d940cbe338e6fbdee76ee31fb6471215f176d2f3c884bdb5f55444adf0fa6ad4015b25f494fbdb5a2bd7622b2b9f77b84c7e37e5df8ee553db37cd07e1f0c8003184e3f6404efe27341f41ee9c44f5acb09606ea686fd79108c9d6970ff80a\n\n# tcId = 186\n# truncated length of null\nmsg = 54657374\npadding = 3031300d060960864801650304020105810420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = ae3857a0e8604a5e8bf4e70aa110a9973da8d78853525b265e9189e7a495ddd200c9773c2b733a50f2e748224966ea27c2b87d9d15355a9b65ad02cd04539cf92f257030ba50e63269c5586a6103ca8abbc3c30fa9d232737d42af86a598ce4c8c591c70c3af322a29397a17c7dea43fb7354f8bad1c14e63b9e84909dec485e17e4331921d091bfe604d5aaf14b014ccec2ef23ba477cd8cda620d1c44f5d9c2e67f96f0a9920ea866cba0661f75a687e4d08e731a6e7bc52a79e08210bb03a33ff72e2b791c3baaf760dab4abe08c8d2f6775b03a3e7024cad124b5bc77312777bf24633683cfd033b459ca0115503a886c76e0af975f93a553616f3636154\n\n# tcId = 187\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d060960864801650304020103000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b9965f3c8202794e341e140f1801c29966c67c758f01caf07c0433821f803f6f3bc932043a5c42d0d1a90c9687908c428c3bdce32b2756652862c647c4884af0ee00d55bddb5a56fb9c06ba0e29a3c4b61febe6eb09df43c607f8138d7d0ad2fd49398e69d6baf9764cae101a6933c430a9b45f981769257fe3e342f8835ae8a1129787069dc008dd40eb039cb0e8e1ce0965a98959b7e69001437567d0f336666cb6c8e5826b12bd5f195a18833428dbbcb1733642d129be808159eee346dae44e3f5468859c34af260d2bae45b92e04ec1b5ddaf950b774333c4b433c797ae1ad53f4d5d4508805d663920c2d9b78517dade0d3eb6fc17bfe08d0b2e314c97\n\n# tcId = 188\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d060960864801650304020104000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4421d6cdcacef33e31663941531d1253765b01cecc92c741fd5a4c254f088b0d95a478f2ac913f408862b107f82c09c11867e3f27e34a0c1ea72010224c199a942383f4f6205884751091c9f4b190fceb7eff09110fa0a1546a857b091b930326a1f774a0185332a57185df89196ad4f56a0f8394fd6a49a635ebde48bc8ff23c925f846100ada2c3bd40f7d1a92fc31c1327af4d40933de0ab0c4a94d0d47c4d53e956716ec96cffdf0669e81bfe9552df8dd72a687f670896d7279b4ea5c9bfc26e93cbe50449776ce78753738cc9de7ab7aa02130efda3599ca0377346ab3b71bc31d56a8eab581ed70967e9e05463e19ff372130c5a1d9c2217f0f5a3f58\n\n# tcId = 189\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d060960864801650304020106000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a71e400721490c8e2baae3b0c49e3c3af9bfb341db3626cb22d2137c5989081402e440cc7e0445a447e5371920a9637ea696a482c0ecbd8eb93a16ab1ba991359e5bea0f6ce0c0ecf927bf8dbb543e307dc17840a0ecc17eeb23caae349e1f12f95abe10fb85695da43e8688855bbbfa842b4a73543fa61ea8076ca3a63505430e7723b39f4859e1cee10e558f2e54a671ee2f040f1eac7d5464bb8482dae2690bed114a6e56f4816e7413ad6ad05cc803446f65c5bdb596a6eb63491709789ddefdb51d461abc777a6a0306dd8a83a6a7792c42559fbf426fa881e55d45a4d346b302efba670443570bda58b9963abec39e6e49d2a17ce572c16446564ae339\n\n# tcId = 190\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d060960864801650304020107000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0bfda5d7880717ef40cce0a8437efa8404ac1ead0472a7d4cf54934f8f3432db4db9ed4c8d98cb606229902b383112dfd4fbef54a28e7cac91338b1f591e2de4addc08943596058132b3a75442f44ad4d18b663b1c1be67c00aaab52e92d87759dbd89b386666dbb4b67429267d25c1ec12ce5cf03e4438dedcdd591c442459eeb86d6e74a937bd7c470ef90dcf8cfd497911413c4a817e7dbf826858807059f8426710ac582ca9d7c657d22a07289fc6c1bb37bcbe27ac755dfc50a54232c16eadf3b1694827ce435aca9061d21699029edbcbe05524d6bb35a866c78122f06f45b8a3615ff38c9bad24b9127287e5c46b73b7435a7bec837c4336f61e9fd01\n\n# tcId = 191\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d0609608648016503040201ff000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 05f2928db82cd2f734f233d59897fe873f57714e5f5abf5132b33d924038a9d0616b62aa25b9353e69dfa17528945043da1d38c96bb6161a34c2529bb32d83fad6b65c0d186105afd1f27f92626860ecf18c7c865a02c3bc16a89c38fa9449d6e23cd389b6083e245b894c52507d07adc123c131998e8dd768b72c08a94bb709ba773d0216c9ffaeff15755ce005b8dfb03d1edbe75780cf3c493767d00b679facf4b188394e3218118d39bac152516dc36c4cc5f88ea9066bf3252670a5714fd5021688ac6b94491012666f0a41463ab265ed62939320a7e3c91298c82ab31f84a3afc62fef61ccb03c011c0317a93728b896f6f8da1ff4e6a04df5cdc14097\n\n# tcId = 192\n# composed null\nmsg = 54657374\npadding = 3037301306096086480165030402012580aa00bb0000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1b02fa06a93da1fe5b74c877eba5629fa9469b01e9919016717eb8cd627f05fcbedcbe2fee00cbf2c954fa7f9d6f001312026b96209fe551b736a4c25e9203be7a706ffde8df35dc7db4add2ae9aa3ce76bc055b5fcdb057139d521fd94a241b2571fd8b73d7e07502819291b226f560b01c0aee7210bca486f623b3f7f84b098bc7bfe9a1a46ff2b6d114373ef988cbcf8d87b3eb7b8374b13b85650b9b894183e589d1ae1646c144a3e6054f7387c548632870f14842683830ba1ab80789e3f8b3e65cf86684ef73cef5dada6a93b6dde8b836ffbb79703b39c3e7179055ebe2071d19a49a8b85af694d9d3cdc0a054073a579e054c76c74d851cc08a95a2c\n\n# tcId = 193\n# lonely digest tag\nmsg = 54657374\npadding = 3010300d0609608648016503040201050004\nresult = invalid\nsig = abddf6c8fceec1026b0fe6799db56b01e0b2eb066f9e5d0821f6a954462b71e1d22ea111f1b69bb86c1e4e77b6cf035573b9f6e0894ca4bc0990f9986ca209ee41bae1a48a764c5c464ca4e5de36c8fbc47dd8865775f9771ad6c6bb82f6b2802bd045c1f2d4a1845798b7dc16ff37866c90a613f1d019e53602fe2c99ec4650360ab69eccefaef07f9156f58a1f5f65fa00bcc2a544feceb70adc74e6710ea01e9ef4829a8165d7ce24647e6a8770eb8247bfa87de15ac560b6dcddcd112c24bf9c694090060bd9f0b5e50a59ff65c135f0bcc527c8793f4c84769b7461e9e2d755f99aa13b4c938f8fb7816e9d9f7f91159779b9d7749489b549aa263d8d92\n\n# tcId = 194\n# appending 0's to digest\nmsg = 54657374\npadding = 3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 35446aacce869a91a157aefc5e3d4660a7de0272debbee1ff6253f74e38e8d54637cbba4412c0c211589a477eefd3dd0106cd878c46870cebba6e053a990f3341647736b00b5691d6b83dccb6684ee35063e2da6a6b1e8daeb5739d96291522d7c9fa54aa7d9208b1d73828c9a0f657ff39ebd09c709a8913b04a83c7b610fba815c222db8a2f00b089768cb4ae9ef93441c1463a43a6a691b407b4c1266e0ad4e146b0f8d06ccff215d48b513528f7cdb53a3be1be8031a48d092751e195b09a65b26d63795020c2a887eb4af5f002944b878962cf87a08c676946290164c667a3817fd8ad48e508d4a1e4811ff85b5844ce0af7937eb48fb99e8cf7e154c4e\n\n# tcId = 195\n# prepending 0's to digest\nmsg = 54657374\npadding = 3033300d0609608648016503040201050004220000532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b0fec4f0f9b06a684c9816bc221f888860c1e5ceb40e67bd440bfb322c6026120b28af4905183d0ada4043b4f4a0df4710b20f37cc5ac9c5ad391e379f12784135cbab2cd7e3770fe1bc68fbf5e", - "0e07c4fa07a5597d5f5c3f682e57cbf047cc5d8de859e3e7f997fa91c4a16026f43bac22a7afebcf56c804f656ad510dd03e6c4cff8be628a9a3fcce0034105152ebdb148100203f17eb37b7165b03661e5526f4fe1bcefea270e74a2bd9afc7fc00e52c9256548f36db3486b7cdf6fa9bea4d558d592fc6ed7869b8a59ce26608d21328a0e5001c273c8d29e3350c9d69d3b4a57d5574f1b18686c66598ac6de82d50af4589d53f1c5fba9e103ec787283d3\n\n# tcId = 196\n# appending null value to digest\nmsg = 54657374\npadding = 3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500\nresult = invalid\nsig = b21fb36d1ba5ac09f4bc9c9bb1c3b08ef4b5e39d5a13bb27de6d949022262723fc6f96e1d0f76bf95e1f90eca04fb20bc65262233f6335d8a0b8211f0e2481819607354700ede1ff85c8e53413685ac5d31db4fa5f807aaf6818b9531baf1555db3e062a3e74ad677e9f378bc6020a73673decc9f6176f4c2dcb02859932b7a7a9d12da602b668a14846eb8acd2abfa0952fe5ec78a67a8f6d751ba3b420464c10cdfde93b96847b9bd05504b1ca49121cc92db8f2b7a33fac17535fefe32028d0c1484f1aee86b4260b668d9dfba6cf27a7faf2bbe0df47267108a84bd5cf595f522f9a2ae52e4c4b7c9c08b39200683bd33043f14b562d37b910dd438f714f\n\n# tcId = 197\n# truncated length of digest\nmsg = 54657374\npadding = 3011300d060960864801650304020105000481\nresult = invalid\nsig = 1d582d82ca0b3db426ca8adf9465e46531e60d71b2cd7276f0d764e629a767e61171e1667a22c1a1404adf7e87b2617268c56e792d9f9653466666a09bc82d4c1c2c04fb9b8fd6c532f169196009598b6efc8feb2850f4ba8adb75d37705fe07bfc2e67356231f1845556ed8f3f8793f4c7e58572fe849ec0148a840e442968c1df6910152a5a4c0be18e3a7891ce2e16e53414366e8d92c1de75073818da1dde1c3c3f8f5c4d31d13da73bb507947e986915cbf3d9edf92a6bd17775eeadd9d5b363adaf1a33ccabd441267a476b314aeb86a91837b5c9a5d969001259fdc5a2b69982ca41405685379e758c255fcf35267dc2f1075ccb57ba0c339dacd7feb\n\n# tcId = 198\n# Replacing digest with NULL\nmsg = 54657374\npadding = 3011300d060960864801650304020105000500\nresult = invalid\nsig = 096a7f2148458f37e9c6589c25e4e90626468575849037e8f62534a01e08dbdb34332da17528bcd83683e1d05a6b159a8a629225e9067f20b0c7484bddf978178107128855f63a29c727d2a49ddfb650954e5c9131b98fd188858b595a2be7196921fa872ac945336a47224a4f572c85469ed34303bb23a5822b1fa87f5b5fa0a4bfbcd9927c32c32c349c0689600ab4f616f31dc19ba9b5e6f45ac64bdc8070863358949e10a46f2af51a071db4de3d7ce5a9b2d76ec66eae8d1e106edccf72d27159a113d888d2f3c73cbb738bd096fad53a7bd3ead255f928b7915b137152bda12b3365a1fb7f9c4f53cef8484b5bd59c5c34c692f6ad20e129651a7cab69\n\n# tcId = 199\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5ac9934544425ddb9678fcfd28245b7f5568eb1de108e7d3e99e2d3810ee261b877073d32ae8abce7279f2177d6b11f36234ae2d9d03e4fa51907677a950ca4c644e64399ceed4395b18dd89a152f62a16520ee8ef27867387b3082db40e6462baa7ae6148c9e3e7d069d00431dff74b38556b31f3622b79b3714bfcfb6c662c6e92b3332f7e029debfe21430ea04fbd7cf75e410d1be0712fb5f754a9610f24f34efef2bf4690a589d387001dc652226775fb81b726b3c036fdce3a52ec7131d1fcfbfc2d6bb8434699d9905d9d7992d7977ce0a599309040ff4cffbff2028c9d6ebe7d0f9de0d17876f2da3a497b2a36170618c82e3f169e0ea0708557f1bd\n\n# tcId = 200\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000320532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 13731f7476ca8813b66d36cd6cdb93a48eb42742cca037b828774ff5971c173bd08e88542f2c39f53ae8700a56be54755b64e1e81a00097cad58ad21b2ebc59518ab6bc345db326572bc0b39572590c90b2b72894b33cb2fcc37fbe549405a7fc656dee567df49bcd93fc4d2c235e2d14c2107952de0e635ee93cfcd167d4dc5e3ea1dd0cf79973bc96cfe43a738be7e1304d4c1e318eb32612cf3d6784e1f842b8780dc5e3a8ec369eb8226ffdf9be69b54867f2461c810c74187d72cefec60a646c4a576d8ab977d4daea3422007454a306e5acbf3f7043d5d3bda70752e4979d1657918fbb863d4eb8eb58ba6f2a372636871b75af84e645a7f49e99eb300\n\n# tcId = 201\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0cbf884a755f8ea52d3da21e3e88fbcbe2562d35440d1fa0f8c3dbd4f27aabb5603e6d1b172af543c6739c8b644a4f438df55be7ad17a82c69a03d08c628c8fdbb7d1ff9202a7fb7bd7d4f4c400fbcaef8aa463f1e0ec72b1df8834e07cd4f465a97f7129fe9221ed3205043d2ea4597b857088fc27e95da84900e87ce9578d8bcb120b23096b1f143ced492cc966e2ef60ffe9055f5d225cad682c12fff248347f234713970565c532cc2302965bc69af16acaa3ac8b59b9f8698261a1a6074e3a3bc2a6e87dd01f2c0f13a628c134aaf65500681f1a002d921725b362d94c5dacaa8726c0a029749f9ebb699028b48e59d22dac2aa27ffdc35648a57c57f70\n\n# tcId = 202\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000620532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 711f73de0bbe41e3296a1473121f47a735d093a06c9c7be63559987d98f5fc52c6dee6de2a3fa565e9dc6c75308652978350e5dc407560474ddefb45f8bdadc8dc89b5640aa8552117161d8da703b52948b08596b92dfb4d343320aff80af3507d11a27ca6d2db3e2f028cc1d53adde20ae164f602ee146bbadec7a22b36eaf08849e35425a88bc1d6c8f1434a82f31998f980579c287bef989607c0e09977c52932c9d1b1a7437a3c87d09d9ce521c59fc44c51a279d9d3c94c88405ad38c3122e2e993348360490e1698d4ab126b05066fbf764f259c69fbc7d875eb69a78bcdad95e3ff1eef50183791acec694449e6c944bf2bebc01e5f1cc62d60b83966\n\n# tcId = 203\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d06096086480165030402010500ff20532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3e85dff099a3f6cef0b15f86f749cfd21c5ca4a6d7ecdfb075a9dfce9e11240599be07f5200431771763469e1d13eedb3914c2d991fc49f32769ceca68e3de4ca53c1fee5f27b54c05ccc69d4cf0ad3ba62202bf7f1c6fd5cfebc7a8ed29e489f6350372f439f606d0b1e879438463b400704ccc2a323acc70ac4f46a621f0dcb49dad6d72cc8f4225dcd9e228f0611e28847745d0f24514506a91ab2a85b4f8f0fd02850c37e2e923ec14c2099ba90b9cf72ced38180d94cbe313215e19dbe46923e2d573115443f3e98bdb96305dac90564c4e667cf3430d174cd077c5533ecbf3f8ba08e7ac56c0b03c4d2dd0caa9d13c968f6a4e968418e42ef4f52aaf77\n\n# tcId = 204\n# dropping value of digest\nmsg = 54657374\npadding = 3011300d060960864801650304020105000400\nresult = invalid\nsig = b9861f3d1a03cdd4f49e90947a21e5da9fc1281a816a9f5b520a7de27740504d43333f5facf65dec5bb06699c37aa1aa911bd4e8acd7aaeeb6dbe50e577731b4babd4587504821be0ec4798b14124e9adcdc2831d8822e7768302338953584147af1e323a9982ad01cc79f46e239c804b6c119a022e1850f4445d98dc27e83f808f33f8c0c81bbe16d5f04ff0128e34d03ff6a65260a7ee6e10dcd08d09d9db7912fbfebe0304b00135ab184e063a884992ccfa5d64953ae98f050c751817629fd5491eabaa52b0e52626bfd025c926dbdc25af5727d92bad2acc5ed59f5f597606c9752579c57ed0e015440ac194228323a71f708fb92d5cf36c841e8a07366\n\n# tcId = 205\n# using composition for digest\nmsg = 54657374\npadding = 3035300d060960864801650304020105002424040153041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8729c630297b010164e90d0e99fc65eaaaf2bbbdf309f20bb48037bbd40e59ebd8d6fb7e23911051731b5ba5a8423bb3d0ab44bcaea5eb03f56eb8f3ead1c3fd252197fea478fb4b9b9b4e0649503d4f45922ebb72a4cc1716f914b3e8dd8fb111c9300e946c0eae83a2e6c40093fd1f55c684e4c4b2b0f09ecf03ef71a01449eb0cc2c4a274cfdd55efee7ff136a28626eb86af9d88c25bd0ba012d8a0218d43bb02d9b6b1273d3d2414789aaa076da4dcbde9444a151fba9c25ce225876b63b09e17b16e0e115a7db6860afd08c48ad37aa64a54d8b0230314354f1c943fdcebc1607e66121fdb7390f131ba6bbf8f88375497505d7d3ba4dd9761d842e937\n\n# tcId = 206\n# modify first byte of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420512eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6385c6d4dbca9ee08e1f525a8b7915831a732854c7b26cf42681bc90dd49078873025b62e1830ba193445e129fd419ee12cde859032eefc5758c6c12ffeed3ed049322609d2665b5e1eead21af5f354acf336629e62cfc4a740bf9a51fd66e6b72287ed5558261252f50dc925417c1e48a4552589a7099ab0a3371cdb1c209573f7f5ac9436d298fda9606f9582e8c873420e7c4edbf5ead17e3c93fa3209208b91728c208b3fd10b27045be1cfbf242c5d34cadda97608271326444ad35d309d47f4add6bfc5ad95710db6d65f82a06a04bd7c71e335c2b86cf6a466c311f7e735b8ff8c2912269c3b1f2007f7d1369a55440a5abd98a46a4389756f73782ef\n\n# tcId = 207\n# modify last byte of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345ea5\nresult = invalid\nsig = 1eff927cfa95030c95547b3f3403", - "636ed63fe85c99e21e64bdd8593f56119329fd7d75f876e13317aafe540b79964cdf62330cf98be66ee41ec92d7ab9ba7988e8bf6eba3dc95ffedffe09b382a9ff566f07c61c06944de3b68dca4c4a3b2076e778286b50c6ece0dc066c29dae7d824969fecc6d5f8bbc2731e875ed9780428d53591d2f2021aa7864baac55d276cbb14098e9af5869e18c29c89d8732503fcf8e65a384454785ed39dbc516eba130e2add655a8e7df260a668ff9214194681033fd8b57202fdf627270fe4f63a49fbaffbce1520562ce53c9ecef6da5e942ad06c8ce3e673524b84c19da4f071d9d0ef9e24d4c8b0dd64627ccae7468372bc\n\n# tcId = 208\n# truncate digest\nmsg = 54657374\npadding = 3030300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e\nresult = invalid\nsig = ae443b008918b477cc8f80c54afc175ea0935ad53bbb2784fb1948ed4186f0374b760302dd2346c3797e79a080461c802c39cd72bfc9101b408ddf8ac4e449e2f2f0f03cc1fa5dd77e72becd52a36da64150edcd290df30fdff2a4701c7e923756eb4700184af4e06078517385f9f52d650a46eb94393b37761444fa1d3fc925579133c85e63b25a7a7d1587dc43fc500e54a70ead1cf872e47b33f34ce7971331007e5e74aafe18895f4e5b1faf925437af5dd7d5ac520eee778752130ecdba9d33a792e189e9c8d95770a4d5ecfd71647c99470604b269f14921b1fa50ba063b47bc6c490e9926e4065d5602555e51c9cf6669ee53b7cc7cd0da607478a5a0\n\n# tcId = 209\n# truncate digest\nmsg = 54657374\npadding = 3030300d06096086480165030402010500041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5189a516b2ff014f527ffde7cfd65cca11f0b907160ff901a51511d4b94317e86f3065600728ad0c43e68a6f1f7017708bb8dbbc84e388f43a9c83acb98eaa6b4532cc68c4c6a44f649989b5d254f89fec6de1fea45e3e5b83e562608a7867f0919a2320a120c871421eb164895ed4bae27d34227b1e8cfb600292d208cd15cd62068aff9d692ae8088c9c08a51202694faec5d6c78e995e5e013f931b8a6cdd726357d0d5c6e9a83dc634810fe383ea1a89adc42c2bc675f075e571ecd3fff8581a0df3f83b1959a5e64b5eb1cb9bfb5c4c4c17d47a24a2ab3da66ba62d54b74624555c19c56ffa94203cf78101d181ffeafe8e8fed9e0897b27a88419aa540\n\n# tcId = 210\n# wrong hash in padding\nmsg = 54657374\npadding = 3030300c06082a864886f70d020505000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8b009088b814c2e2a306b4cfd72d87db4ca1ebf6ad5f37e7aa29777b77d93c005922168e3634be085c9e4b147194046e38b7d32fe6814652672cc6eb724742a0a22fae278a9953e665e7351281c42e98d4fca8237be482080b9fbc471b9854ee75ece636868c6b3270dfc7dbb32cfd2e28901ff6ac699dd74d8bf096bfe89c22c228522474df25d13e5b7c1148edd5df5fbc06fe165729418221c610a8fbac579955b8625eeaa8e00aea009b42b2456c9316c5c005688bc060e61bf302418740f0be9b5a30df845608a9008804e89d1a5233d34b6fa84c3698451e472fedd9f4aa6ffbc9f4491256df7181334ff181cd66dce7dc66ef9d3c511ae5e6e3c88083\n\n# tcId = 211\n# wrong hash in padding\nmsg = 54657374\npadding = 302d300906052b0e03021a05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4469b8e895fb4340328360414352059a4b701d2c21cc2125d91f5025b7b22ae7ba840123ef45ba9c8c27a8a34a74f010a4fdd6be9474ac270501bd96a602afb05df7becdcaefb29df9be5d090af6869a4311fe94b70bcc0c5633d69169ca038b2fcb2a4abe60c0b542b308527781d184d06966632d7404da5e3494d76bc72e9f87d006950e7a4388334f99e212d5f253c11fa8361179be7bc927d9437ed11b7685529e832162e41a72ba3106b9af7acf5fef70178fd83ce3598683ad61c27cd1d69b437dfdf93ac43a1876d594e0eb8523a0ef8f75ccf1ab079d4538bbb726d04f45ec864b04f57c18cd6984f1a3a08a7c3944c6946c3c3e090f9d833c5d3d81\n\n# tcId = 212\n# wrong hash in padding\nmsg = 54657374\npadding = 3031300d060960864801650304020205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 68a90a62da7b0ac09e26ca8786723164c0e6535e82f28839d12c08348aacccdf0218d3470290665e6d6fbb59cafda63c9e50d596442b02f4ec7b55753b13b82b217e32fc5f3818e3fee1a6b89855f5902dcdba3eccffddb7491317961af36dc74f5b6a4477f57aeb28d57658fcb8e77f8e223d2870b730d53ca1aadeafb389d3f934ba609689ce50bf82b08f31dc2578d7f076d26be5b267e87d2ca4df8d57c112831f45c46b9078c3ec13b01f0b5d67e82579243408e4eb29a154314cd5c68cad6b7198a02c522d87aad93e17aaf8fea49d38e39314c12c816e73d997c0fd10cb12d47aa7af0e82fa4b939f1209085c01a88f5cecd533901d5b1ab2866e753f\n\n# tcId = 213\n# wrong hash in padding\nmsg = 54657374\npadding = 3031300d060960864801650304020305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a1060a690b31b1b2feba5f0b8ede1c8f025da644da1f1d66a6cb218226ea6751a7f391ad063d80b63035cdb991e6a549d85c9f569f7677a40becf0326cb93297e23ed49dce7a5c1a4866d788aec24d23cf9c9cf15783ff5692a579db8f11b7e1ee8d28aea15f358b4d01e127dc438f5edf53346744594c3f946492a39aeaa17352a6791a52d4812637c8612323a50af3b7dd4216100020df91b653e5e4772bca49750ab9844c8cf13d651541d2a1aa7c74a673e645971df9acee059fa981ad39e8011b06bb39a86cdbba9fa544b8f2460188ca04354a95effed4e7c5905d5bf25973589809360d5e154e7a3613c27f4c5c920e71996063c2f86c44b7ad12a376\n\n# tcId = 214\n# wrong hash in signature\nmsg = 54657374\npadding = 3020300c06082a864886f70d0205050004100cbc6611f5540bd0809a388dc95a615b\nresult = invalid\nsig = 49cea19f5adb723c41e895337a24ced9e685736ec060f2aeef35bbdcf37741056d5f3ace051b0f6099585d82f576591da0c1139a590685b3e35ff9053bc6c3e381cba077700558328fa785128f78f5cfa481e6bf581bc9424f101cd8c2efeb4f8f00684776416c309d217df1dfde8f1e4643aad23207541fafeb5b7d263fb560cfade4792d716f68e7809cf8478cc4dc6a4c14e4e5df4f137d7a05270c6b0ca1f73e77eac07f5e7b60c8574b5c7487db4aa334173fbe03d93805bba291194f02f77ec0eeae2373ec9fc467a621feb77afc7d3757ca98b4f3fedbdc391f99df24663233f7394935b14eb81cf5b24d169cafa7506bcbcc2a4166fcf8fdbd5f7f3e\n\n# tcId = 215\n# wrong hash in signature\nmsg = 54657374\npadding = 3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa\nresult = invalid\nsig = b1e5095d61e4a986fe3425a08401ca726bafcb778dc818254e7ea5d299a9ee3e8c303a51ce19644b60a7f6156850b3325f4ada0958ce9a0a8cfe2a7ca085538b9b9abcfaaaf7413c810d6b2c03b5a3bbf98faef5374053cbff979815e5f1a38980087b291e1cf1683febc32da71b9040bedeb014de01cbc794ee40c12e7d44cbd01336ee92884d60d20bb0c9a5fe4d7dbc93478dab044bb6f04050ee4a3c8d2577c0e8443781f1ba5d8e763ed7f879f0bd970045299d2e2bc00ae47598e822fdf2461343c5c5f2111b099823c35b7ec4f07d337e52729c19e1df28c4bab6e7fbd1abd9cd3052920875e59ad251970e98c7a944ee6ba71787f65eda75e84cd048\n\n# tcId = 216\n# wrong hash in signature\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = invalid\nsig = ba0ac1ff39b108015703583afcea5c777ec70df6ad11f561f23ca84eeacc73b7d93375f5e44c6c84e16273d442f93e36d474c7190184a0766e5b2bfe9896f0f0906a7a0c08dd78f0a9702cf3f706040893885f1e1da9cd01aca80de8c0c8197bb6e5e34562c37ff3256fbc6e99d1e9a7459a2cb1f49eb371a9e3cb1e87a460880664adb76e6bc3f2652010a7a1dde552dd4aadcf30366b0de3964e85d76bf79e20ced2aef87c9d31b4f2756cea23d9cef75ce07cea41204b42260a25ded448df639a0493d24262e1c411b7c294cabb56b95126c44d333385a63dbbf9219f22499812ae99772ba6c30d881c4bfdb3d074cc8f6090810546e64b1dfff6847a21f1\n\n# tcId = 217\n# wrong hash in signature\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = invalid\nsig = 4ab504da964bee491512b40b79fe9befa7e5960b142b619db35569cc9387265cc8fa8d4505b3b7cde5e884853bbea5d47ce7d60aa7e4c81853f0ee3f6b357dda5efe13119fc42f464b0cfb9d3506024c2c884eb57373e16611a6ec1eb803a61300bd248587594d081b501d5a141d2ea38d9ef69a87a3ee9d8d83aba410b8d30765c81f997d71457dc8ff1d9c3ed83f06f0156826105bc0a6fef0260ba6fb24578de5f58e7b0a64d5da1512f525f41e987a27e4d59c7d4917fb60586535341bf1644f6bf6a7e3cfba1c225a66bd65cc90b1eaed3696eaecbbc24a318a2e2ad711af85b02ee730940aa3dcb2d87aa8dadac182b5eefebaa3e729204d04e8ebf09b\n\n# tcId = 218\n# using PKCS#1 encryption padding\nmsg = 54657374\npadding = 0002ff...00\nresult = invalid\nsig = a5280543fcf9276baba49a297f0803ca4782cc05d35c53a7bd692b0356991d1ef6211efd591ef2eaa5d39b00bc193f3a5f175dd55de90f04396874b799374625a8af5ac162f9af79eb5f3615dac8a33c8d41182c6183db82b9e509ddcf4de0231e419d0e07487fbbb42d84ffc9b4f4c3ecdf6efe2efbfc64f3f665978ab6d210febb690d05a4c9252f97ddca64884df93fbcfc6356954ea7c4f486f2c201e6988400802904f61c02acf066698ff5af6fc8eaba4f81ec93d886a47e4652aad5df2ecf463db049b923a657ca629ba91ac0090be3a1381432ca2c3abccfb85b3c251776b910bd7ec4283d7493e309d251e07404324de24d65a3dfb8e3c5cb8a5a83\n\n# tcId = 219\n# using PKCS#1 encrypt", - "ion padding\nmsg = 54657374\npadding = 0002ff...00\nresult = invalid\nsig = 4f2688932d7bf6ec48e50c69933006d28b055aa97621fbebf3ca336536b8dc61172c8ad52e453c4ec203dbb2904557012dcf43da92f55d62baa56961701bef821240a5fd2d1735ae14be136ea92ee10adc650eff7ef6b5cb08c3f4a9dc17bcfc66cf50616f305908719f467af5abb45beea1835f95544f53cf2813394767959ff3440da42757bd135806be3ed2698ea3d903e0f2447916c94deacbda484cb1e074114dcf3b41bf60383153b838f018f8b2e35e3af68eefd202a2b3d7ddc1ec134fff746f1ce9548f9e53a3cc41faf2e991ea1b5860c55f5c000bff72f5524bed9cb8f9e8dc34713f3ce443d202c8ed3df13dec385e8c19871508804c3267b67b\n\n# tcId = 220\n# invalid PKCS#1 signature padding\nmsg = 54657374\npadding = 0001ff...ee00\nresult = invalid\nsig = 412f631c6df4c4402f70528635f4ed69094f33b198499980ff880e8e5fbdd22236c7836cc65ce18c1b3f183b69a47c27f3699fe7477462fa8d17e8a247e6ee9e994037ade036583ecf4497c083f78db36a15bebc291f164568655c27752f2ad27efa13a7fb897e658cd9f6aa1515bd14a4793fedb7722fb148c3a0e48cae63d14ad939a99a90f1dd7a7c09d478c9217e31f083c12dd3395332af68a4231a15069b1f43765584f6aa094645596ecb4923c59430e6ba76ae7ac4aa724b0fa9b5e2df9d9254857df70423f9323bdee97d74d662793ac72a0d089a79038b8b85e4c0d3a6f616fadca300a77bbd53ec69287a1f0f6fab0560ed90a28262bc310c14b1\n\n# tcId = 221\n# PKCS#1 padding too short\nmsg = 54657374\npadding = 000001ff...\nresult = invalid\nsig = 77dc98b3302f80235104cb8810d290be782529da8d49c7ed804c59f6435464668dc2d1fc3040ff31d7da3e31a472e218e7f8bf20b626673cecd2a56d7c15af20b42f3b1e155cb5bd3cc0f15c71152a64a6f15fa3e12f6060c2539f6f635c56a0192be82925c277f5f317b6531f1d5618ca95d038b4df9c1a99df4d09e6f5eb8940f8c5919051180822ccccd49c88da70c9c0bc1f206fe8a6d8e5678c02097f821b1d53a26e5542d9287442e9f74780fdb40f10fcd06aef31bc8f14de73eeb437555c4510762fe6bded19a21eb5e94ce51445ca10a6569f2a92bf70caf2e442975611c6f02b3e2875f911260bebfd5131956c98c5932461831313e3cdd9e7ef0c\n\n# tcId = 222\n# CVE-2017-11185\nmsg = 54657374\npadding = n\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7\n\n# tcId = 223\n# invalid length\nmsg = 54657374\npadding = 2 bytes too long\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70000\n\n# tcId = 224\n# empty signature\nmsg = 54657374\npadding = \nresult = invalid\nsig = \n\n# tcId = 225\n# 0\nmsg = 54657374\npadding = \nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 226\n# 1\nmsg = 54657374\npadding = \nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 227\n# 2\nmsg = 54657374\npadding = \nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 228\n# n-1\nmsg = 54657374\npadding = \nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a6\n\n# tcId = 229\n# n+1\nmsg = 54657374\npadding = \nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a8\n\n# tcId = 230\n# -1\nmsg = 54657374\npadding = \nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n[e = 10001]\n[keyAsn = 30818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keysize = 1024]\n[n = 0d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[sha = SHA-1]\n\n# tcId = 231\nmsg = \npadding = 3021300906052b0e03021a05000414da39a3ee5e6b4b0d3255bfef95601890afd80709\nresult = acceptable\nsig = 03e64d148e05201b021fb5d3d72ab6abd4294be6c1673277ba5822ad2fe7ce4bb29ac547b2fdf09c2894ea0e31e76f1b3e1937db91c389467e9a8ac7be0a4f674456f01c5b4fa4277a26028b49b16e25689827d0a4b9f1c25a63350dc15131da908a05c7cfa8c08a67ac9efe3b0cd04aba7db12064cbc36729eaaec540c4bc12\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 232\nmsg = 0000000000000000000000000000000000000000\npadding = 3021300906052b0e03021a050004146768033e216468247bd031a0a2d9876d79818f8f\nresult ", - "= acceptable\nsig = 1d19763e80121e228ac4dbb3be8448560aac613ec74b168efe1d8a8335b77e6d8c3cc0f641de8c8e26a2aff9d32a4ab77340912fec0e60e89257b5b6b19c8deb866c2d2349fe63a06ac6b72397b478cdd4198ead64f8d36b9df29651e95ac7b886978cffbb5f7498f136b1ded7580cbcbb31620415eb71cdb5bd615b47eff813\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 233\nmsg = 54657374\npadding = 3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa\nresult = acceptable\nsig = 0891ef2061c4d3377744cd7243ccc444619df533f4eadee216f7ffb9244e86d3e0162fc82c0b9502dc7aeebaf7884067e5f18f21b395c43bbfce5559ae84157ffde2aa457b7f44675e706af443acd9e38070428dfc6471a24cdc0d44f9283ac158704ad114375f10c24e3adbd12c55dabb78b8c41d3938124acc74126c82bb0b\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 234\nmsg = 313233343030\npadding = 3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773\nresult = acceptable\nsig = 8277e8984d536f81667feeee7e24068ca5bb8b815210b3e9fa82294e11cae92c45164c9dd5683be4650e4b7709eb8879f793ae804620750b26032894e53333158f6afa6b52318e6c730a4a55d5a0fca6d029744f2ecaa2e00d3d6dffa0716acefd5c91afeda74b7f1a1bd7e635283bfa2142ace513da24eb8f25f3578a401ba7\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 235\nmsg = 4d657373616765\npadding = 3021300906052b0e03021a0500041468f4145fee7dde76afceb910165924ad14cf0d00\nresult = acceptable\nsig = b41191a7a1d11e973600e9a28c8d6e6d1513f7d970cb05ad50c686bd6fc42b7848559b2b3073a8cc9839f464d82f8a7d864cbc9698cc1a4b5b8c8103d07e9d79e5d24e1b3ab69053461bd76ac3b62935c31ef9f0c44120bf5c0a012eeedbd2a39d347cf6676ee8c81a88eb87eef2708edd793ebb79d6fced626e6475681fe73d\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 236\nmsg = 61\npadding = 3021300906052b0e03021a0500041486f7e437faa5a7fce15d1ddcb9eaeaea377667b8\nresult = acceptable\nsig = 29f69d320ea3221cd0704300f456295becf54e877c2b9b2704dc47ef992588c7dcc1648d17172d8c76362c488aadb3437be488fe667a192c5db1440f70d102361d7e85ffab370c7bdaceba0d15b1f32ba0801ccddc9fbaed1323834a60d19ff13ecd46a27f06e79cb0d3aefdefc0c69d8e85fbe8761d83f35e362355ba675933\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 237\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3021300906052b0e03021a05000414b92747057fbbdde83bc06b7e869eb40c32d08a6d\nresult = acceptable\nsig = 9aa3040e7df724bf506881f6a92a133ff76f6a168f0f3ced70b3363835ed6b655fae6f39416555af4071c16262da7556412d9905279d666f9e15fb8a813b313d00007cef3ed2be306b9e29e6b69c2c5bebe36aa057feba44ccb6c8619076a5b23f39729ef78bd6478249f34ee99f3abeef37c504410910d1ad3f1a712c8d697e\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 30818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keysize = 1024]\n[n = 0dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[sha = SHA-224]\n\n# tcId = 238\nmsg = \npadding = 302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f\nresult = acceptable\nsig = 507e6233a3c80971daa07c13f34a532d53441e196d642fd6564b347fdceb865c55dd47330587622a30f8d4ee66bf8f163c626f8dd26b313bb4095ea1ae9d6a96a24365f4c20056998eb9d1e3f2e1c78257361e5c21e5ba76320997e8cb30021e8f11a580000891bca3537d7a2c0972e06844f1a01a1dbc9a3f8b8a2955f7005f\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 239\nmsg = 0000000000000000000000000000000000000000\npadding = 302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480\nresult = acceptable\nsig = 414de39059daab523a725efe437d688824a43689766b33136aa3e6da0a2fcf1c2aeff952605c2f1a12a29e36f282e59631f442af96c7659e0717bb24807835aa06f034906670b042f8db1cdcbf3c54e25472383b6b9097a09bfbd73b2e7c10e18731c6bad47af591bdb2d376680f6cb62048a97c19f23a70e98ddedf02786efc\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 240\nmsg = 54657374\npadding = 302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923\nresult = acceptable\nsig = aa5d174e95f9a1ff88c1ce60b3aed1d39e256e28b0512cc4b52be1d41b8ccfa2a739945aefb5b697886f4f08cef365d18bdd8151acc588fd4ebf2aede9bdd904aa3481822206f3fedc5889c9f9889a8dd4d160d65e587ee228f9ef155108cb283c4e2a697a1e739827cb4a9790f96023e6ad24cabe51741a7c7cea8c52f08cdc\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 241\nmsg = 313233343030\npadding = 302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\nresult = acceptable\nsig = 54a81c62bed2f716feb2939f504db144c1c3b70485a1f35b2871ede567ffcdeb8d2ed0c57c56f21b70388d631be05b4c738e67f160f34ec42f236cef92b03d3dc8e50145b33e634a6fad8e87f84624e96feefeeaa91ddbb003c3969017dd2d102da2e7d5de8ed298139d5e503e0aaab136fb583b99ece2e6b1681699a04b977e\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 242\nmsg = 4d657373616765\npadding = 302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38\nresult = acceptable\nsig = 11890613a8ae298c21bda95fbe4059c37426f41ceccb7bd79598c72ab4662e012f08b7009c15155b5ae9d132b4ede565963e6014241305279d60662f57df7119e5d4088d32bfc7e0847036f41ca71f9a92660f90ec13ee9e19717d0b567ec5a6b5978a11337d5ee4e9147352fb954817be04fb767ef35c07babb03fd04a31338\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 243\nmsg = 61\npadding = 302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5\nresult = acceptable\nsig = 0fd461012145fe0ae9362eef22ee35dac0d4751a037ce4cf0792012bb179d101f9a9752e5ebc5454b18684fa1b557f3136ae68edc087dbfa4bbfaa59be42d0daa84b574a9f23238d4d538ae3e6c32f8dbd98b1138b545badcc10b184428fe2707aec73206367f147196f7b83f358377562e8c7d9f1d396a1cd9aa74f8a78cb1d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 244\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601\nresult = acceptable\nsig = 307e421e06bdec1fc1750d53529f5f007eddcc991af8351477e1d67169409e3acc93367fadc412a4554854004c4a29c8af4af09793e55967ed439645034cc9e9ae565edfc861e04c763d058ff3aa29bef3942277b4c971d830be1259aa30c125a6ede65971b0120758c2a6eb21f238ff18228f344155ff9109a0f9656cae2351\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 30818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keysize = 1024]\n[n = 0ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99", - "816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[sha = SHA-256]\n\n# tcId = 245\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = acceptable\nsig = a0abd165a5ef8733ba111fa0fa092630222d809d8ae811f24f8bead4968b7533af31019663713ba134e7dd345c38e7166a037025eb34adcd6891c9ec941d2e3eb1e4bded1d269272b602cb9b53568b992ddb5103914e6424c75505701a37996c8318b0b6f8640cb6b6e770ac44314b866a7c683a6903f7bba07b6f197ec554fc\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 246\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = acceptable\nsig = 41339884a9b3940e8488d666bb158063c6a2a2717cae7f564834a876fcbf7098ecf3acbfabf37d38a8e6127b1e313744f1f896e165efdaea0b2e7673867842b9e94db0868ed9a92bcdcb370a4e20ff275c82595e4400a8b9e9f12482f014846b48216f321266ae6ae6338dbcdc41b711e483e6e3e728772e7f9f5ef95c30196b\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 247\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = acceptable\nsig = 8883676becdc27878ccdff53dda011e5e2f886e31e1e88d520bb161cd63aa001fded9f0656109c1507bd1ba5d3bb3e725029a236b4c3c0420a1fcfffe348c5277d6aa51bf75d9af26fdc15fc49d637b078a8b0478b5b0a9c428756d260068e5e622f193b9f9a2c1d979e3322d7f3edc32053541c6efa2485e42e99a804f94388\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 248\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = acceptable\nsig = 9f2e01b92bc9dd32dcf24aee91467797396649a3255bac943dd0e03c9ef416f349c0cbb728704730f3c7a7c244066a94b229a6e86bde7753c8940129626307b542cc7f596583932b4fe6ea9384d5353e08654e966a64b63bd6745503f7e4383dcef74ad4516ac25c8790db6702ac5b8b057a8fae75669b6a9e689e9211a337b9\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 249\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = acceptable\nsig = 3cb9557d9fe49b889319e0d41efc00cba34277caeed2b2c54fc89772c669200dd63f02f340cb6ed579a379a3fd6a568ca9d4bce206655ae4586850638ee6bffaae2bed7c7afe7353d22418d7e4f6b15e198c85b649d3e5a67f00702dd9fefed7dc72136bb4440fac58e64453e4ee63a81de4270446571b192f414116e165efc0\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 250\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = acceptable\nsig = 06e6fb568e366fa20d48704be40e991a291d47a464296a49c37718c1153b0fea17ac18a01ff97b32a92d07635dfb9143d011d003c9153020f5ef7fd3ef258cfe92a7a2120718fcc85c73acd34cbd50670c2e044dc3b82fca29b1017912b65d8a844515655308367d8797ae5b7fb91042df573f32de69c1842a128ac88937c0e9\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 251\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = acceptable\nsig = 327238fd701dc4a829827550aad98f9bcd75e9f3831c3679998c869c1dd8381bc6b74b721e9d3377034e059d6637690ba3a184ffd98af951d43a22105a51838f72cf592d658af01adeedf721cf2eb2bb2c90c68311cb267f0cfacca903c1a2a73f7228badb5d86976f5d3371fe9b00cca048a7a0b0fc4b03da11c5a098045e07\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 30818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keysize = 1024]\n[n = 0a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[sha = SHA-384]\n\n# tcId = 252\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = acceptable\nsig = 8bda47e85848bb1d98eab90bd5f1880540204c8753a17b2552ee4778405e4c42cc3d25a4d869eb38f1e6fd122a2f52fa8685c3ef40400ade2017555ae88fa892a1ad2793f7c23762f0e54db0852cfdb2e52ebd02c8acf81b9a1e78accb5fbb57a29391cf4fa9aa298111c7b94fe240f0f576b1b52853853fce13da155f16e81d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 253\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = acceptable\nsig = 74b9a7b9548a281c5a258520c879e0e64d8a28812a7b6461c6e418e0502b61008a8e535a5b55fb64529a6a6df2f60ef33c1844b27f81532be2bc2992d0eb5e524112da90bf40adefcf206469639ff3895a9826674ee1acbdd623842ab0a9a36d48da13ba17c4ee069254da2ea418d5a8f135e2a414c0654a266d538621917545\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 254\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = acceptable\nsig = 10d9c8b0bf55586e985799be60a17979eb0461daca00ea6defcc62fe720ea502e7e486c02a48f5ca41ecd96c67b5c762a067c465c35a8e416748897ede3ee2cd3c3e1b1199da5c7f0dd0f036774a1730e63ba781d6ee43d78b067608e831a16dbec6075c8ec90e81a4d8e2ac2587b0ae43f7445478b03ab7eba2e63d4043c2e1\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 255\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = acceptable\nsig = 2cb15eb09030fade89eabc41794d288275c456f12cb0d414311e5edb551a51c3e1354f134b27aecae50536379a871a4ce6ab2e1b999c0308f5fed2ec48d97d68885b37a1e3e26b841db103b64f720f9aef265632f4f4a207ddffe19092e8b16144b0a3443d779c0b648077d3b04b72dd4f4051ac232261ac9df65974764b97a9\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 256\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = acceptable\nsig = 9c80154e3087b443fe6d9bc24faa7ea009330a210f2f1063ea1b61261507a5e3853079a0287d5b27983bd751ac782b1a5c31130978d3f2a8a95101c4ed87eacee964953ad32cd2cd4caeb7c37330d1650d7ca19dfa6e8f1c184d3dd9a3a759d6badc700b7063d2c579b336c5e141c200614ba613d9bb6493e87d26978b438573\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 257\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = acceptable\nsig = 99fc12c90f67dff9600c30c9f81bbf335492151345c809c05771d59ef73d438f88c5c43ba507a3cad6633641d70ec3f3c38f67cf7f2566489f59422a2dad1f647e790bbd28acc290ab392d48ce7a140184bb71023f8c9c5dcd9469ebe848063d96bad26fbd390974b38459d51727eb8c0a5b8a8ef1d3394b6f852dd2b22cd22c\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 258\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = acceptable\nsig = 869b42bb93624a139bb98c043cba8fe12d612aef040e3085994824a480274c0cca24d08d178321acb048055b777d897e267cd50809bc7e9f86c276beeb8a8d59d82aa2091c66c71e41ca59738b0e18f055f9c75a01e87aaad446e64ac0183c002ea2080415ebb4f85a590622bfa4e701a6e37d0b33bd78d5ff874d8", - "d28fda263\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keysize = 1536]\n[n = 0b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[sha = SHA-224]\n\n# tcId = 259\nmsg = \npadding = 302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f\nresult = acceptable\nsig = 9cbe6b808679d666332a97049be279327c7e00e3c17354fd1d5f611969f487d9e397456b90549a77582a6e8b51fe212399ff68b979fe293efcd11ab79cbfda818cc4039c62d32b58717fe0abf2b4eeea0304baa5afe23ff6614dc6cec45b518d6d58a157ae211e0a67c36a0ef6468d0dd68f6155a818bece4f8d35884f4f90aa6ac6250bb3459604d4598ca7c7e57489d484351aa936be4fc9051e28e229f4bb60fa97a3f018ef37fdfe78ca8cfc0caae758c53d0f68edb8b9df2b826c80272f\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 260\nmsg = 0000000000000000000000000000000000000000\npadding = 302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480\nresult = acceptable\nsig = 570c9a8a85a988b5e254b74af7611f0a1e4843e4727c9117a5e2bbbec29b0a6e84c5ccc2cec9b100410b37d1e0eef9a2a21a2894e1a5b581e6567d1043a980166ed7449e557fd7f1fb19fff60f3cfc85c79c9793c553314060b95f0a2199f4de16792e35888b78f7bbd4520eb09efc7aede5d24a51d8c123669ee2452357dfd089986005506df4431c50432509302e7c7e9aa8e9f383ef8b856fda1ba8db44f36b7aae91c597bd6aa0b4f12573a664f328b23b7a7e8738d5bfe772b39d5017d7\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 261\nmsg = 54657374\npadding = 302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923\nresult = acceptable\nsig = 74cd13a7cad1ba8c0254967f1cf7d594a084995b5778b113a42f35654151556e36ff796f609146bcc519a8f983d0093a1fe7d2789d0c2688d8444ff4c3c8f6759eb71d6fb7f47a2eff42e62ecdd14fb3cf2e6df4b0717094863bf19a84457a656d3fd64aa5c086e09a8097e3576ba1d91fa17b7a1222b9064e2c6b06aba5b692a7078117838c64cd6598bea415a231daf4e62d4bffcbc0986c3cf86ae6a3bbb7ffbe85ee002ce9af3177b1f2c0ae14b8b1cd41b1bf1b2ccc688794f092c91873\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 262\nmsg = 313233343030\npadding = 302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\nresult = acceptable\nsig = 1ecad2c46d9d37b3bdecb7f9002cc48f8345a2aec090f5d599350c855c4eb58f8a503d8dfe042525a66e771bd8dd8a70fb4822aea1a0cf33577ea658288e6f2fd886888cb9225f1ea0d03bf5b5e63afd3bf59c0c1d3f2cf4f4ba2a8dcf23182feec72f76a60d252a8cb0b770b7d0dd6c72c072098f81b852f7271007273eccbc55a9099e426e566a52e11be82e78bc8ce8c6bb721f858816c43aa253a950da5810e5690c193b820d9ed4f02046a548503c72755abf1450c09dda9c84dd2a079a\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 263\nmsg = 4d657373616765\npadding = 302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38\nresult = acceptable\nsig = 402c91c41a3e1782ae406b04ff52cbbf9f71cc5f3473b9af43a2ef96245e79b62551d9b23a85e6e80a2041b616dce2647312258b29bc6b549eb38afb083d823b3c2619caee52cb1583a7c20cba7da2159ac8154b98a9683388bcc523c10b6e560fe0c8a0cce9237ab1991b207e708b601b13c5d1d86825d89fc5aaffa0e89ddcc11d2b516de64e34783d86c6d05ded6024274498b6f3dd5593feb03147cfca3890f92487b64e67ccb676b85144899e6d257b28edff14130eaf0cc45b60ddec80\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 264\nmsg = 61\npadding = 302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5\nresult = acceptable\nsig = 4d93f0d689c59942d9e7c26cfc5af040cff4b3a114c7e191851baa888133ea52583899520f8e063d7ea1ac7773ccca280b92840082d960b0d1e20bc8549c83f989b6991613c1711a0a2586de7fc2bd10750023e2866fce48329621e9203c2818373abd69bc1807fc1158639d3837b5391077a39f829f04472c74bab0a15757083a34ec2701abb6839ade2674f1220af9d109678d209bf5f16eceaa8227ab028d0017530900f52b8be12c33f007dd21774a5bdae2ee12d7e47e98e5cc7d301d9e\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 265\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601\nresult = acceptable\nsig = 44a571c4bbf737001fd5602e8d096123de21b47c36eea780f3e0e19fd2243605066ea949c88b6abb8353ee8b88e394a485031e9e980936e09bbd17fb6dfe340f07bcca5cc51edcbd5bf98c223f44976b6ba3b4b2157f1a14a7b2a20728f92a31120f968138a33164c78b7fe9146ba6d641d6c7b7cc9b1b4062e96002054eb9cd2e738fd82564dc0fd87f08b5006f52db13a7efd4602dd6736cc9667701fcb9ad48c5b3625a11e44e034d0cecb38cea4766b03416c94f01418b411e2f4739ccba\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keysize = 1536]\n[n = 0eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[sha = SHA-256]\n\n# tcId = 266\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = acceptable\nsig = e4f7f0076b4bddb632c470881bbffe95a148573a75c014689eda7acf5e57a546327d4bead01da0b093b2c4eb5b048fd707d27a4baf85d610e4ff8861feca57e1ea88ff0c4b803c4b0d62ae0cb89012b0ff041b438e49a79680f2cb30722a5a2a3aa9b516ff2a02947ebe27186aa9ffdb35e15328c0f49f172af51f764258e909651469ebc6a59cd98c996fa3417008252e3386b9a2d059d3c67983ce62ae2d052733c55732320679eae156d0e4b89da1022bd052340819cfcdd7366c34b65a01\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 267\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = acceptable\nsig = 8d2611d4c79f6b2087ae8bc76610905c361b9fe0a6629388197b4293f9e14ecbeb377206e4c1db35cdc0ab163dc5c51e8a7370a059e9ee8014d18ef0937f7936879d7825c792180a4f10a0d46e0a954f093d703b82bd076dcec0b8a66fc3be9bdf79ce4550c453015dc1c7397ec1bfceed040a4d777915546b9cbcf1eeb13eb71ac49c235e69cb07c315d529442f4863d61b7d5caa5ce07820edf649a9342211a26f8280dab9c5dd11af07521", - "68326f8e8d5e834ddba3bce063f011eccc8f46d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 268\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = acceptable\nsig = e12e3540e7f20fb5533772e91b708151c12d8440ba9bc994791f5916d521726b53969063f9e13114ab89de0b0adf119cfaf19dd74a65b5eee32f39e69ab6776dba721adb2a8dea1495c51d5984b6aa2b5d216eb48459103907442f725410f53ddd5d006762dd3167c2da3bdb19f07d27e3fda712f444c093f4c8126d40ca7c381ab1d3875294df84055239ebac5039490b597366b58c2806e52f1f259c9ed16f829f41851b6ce7e390ea73251395bf940997d47bc323657160ede973f2342b91\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 269\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = acceptable\nsig = 90ea80b14758fa12319e54c446e70bf5bede38f5d8d8e978531e6c54c567b63a0fb7b870ab963f979c4015c27714dc9292a48123c0a1f13896055f6628687040459488bca149f410cdae4249ef918f10329e902f1344a666fdf96085b7bbfb086ee2f4e5891904f945d867a50289da018c245be31b684bebb8dc367d43d53448865dc005ffd58e2f76f1ae8ac51fa7ad723db9bf3b78b82bc5b0e209ed216575009c27a6d46bfd1d9ba35fd50eaf4a39afd7b3dfdbd2f437d0d97b5b08e1870b\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 270\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = acceptable\nsig = 3ebfdd69af2a561bdf4315d015d397b8af75f6c17a3e6e1c6b52bd6e812bd9112e1920f6cabd82b996b1b48be3aa40e447d29689be7dc64b8548ce5414318c4288a6ccee97f55c523661e629d3cb124b97a042c1e77a9b039a8631815c535c8216912ea47684a7220a63c198ef2b80568882e153be8fe92ae4c786a5fd56a1e64fdb235663f3a242c121e59df3a19c29282e647a5123583378577925f399560f6ad3b2a4c2b18ca2547aab5e3ed4030c6585fd2abd1d65fc720bb30354c966d9\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 271\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = acceptable\nsig = 7fbb42d2bc1c3e5a0f66fedd581e5ce3e555f6f1c736db24b6e963d2ba72118cc989e2969c21bede87ff3f4209f2b009263b7ca3716a9d3e7115dfe65bad1ea2a1013304696248dd2b1d70764dae248bd1e9d49623826f2c6640247cbe8bcda47d882e298f30bcf3db1f496c26b738848e9876e4b70f0ca8259760e919e5c5c0a2ce3d05b5804a94b67f4c719fdeb3ce23657a26635f867af0271736ba20abb7fff18bda006c48d9c3ed774365d00aa0340a04906fc07f00b18a572c96f986f5\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 272\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = acceptable\nsig = b9b478f6ddabce2b1ffb306e2135132df09585be16eaa5182b8476796c10b0eecaff9b91100882f5872e00e3d1df2df40969ca4d00596b6d6c9c13d3a956dd8d91decbd3a48728aea05b8f7707414a8a5de3bf0becbc20ae0ba852ee7c4f2c177f3d95a4a8375ac50e11fd2be4da1f94608786fc84747117604138d06956387924e5d7baa2c97e25d1b0125122c0a13981559db80ac2d6848f4db163027c4484a51ac5095f5653b12059440dac69970b5680e017a7eb2861c857a607446b9420\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keysize = 1536]\n[n = 0d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[sha = SHA-384]\n\n# tcId = 273\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = acceptable\nsig = 6428e8d022f52b4a9307fe0f93e650e9665680d3c4a66194c6d50cf08726a3de45dbd8f24c9b5d4ad3fb6fad8bf3744d166742c6bb8cd690325e8eeb8d33e1303234d2a9ef9f12f8adb29a423279405dfa25d5bbbfb4255f6d739dafad66e4024fd413b16a167ea4cd66a75258c476e9f23cdf99346cecd6a51d44176346e6704e1f25fd953123716dca1eb8e2ba0288a38723f76c7b873299e34373fc2b18027500c26aa32c903389eed545b87061988f9e06effab524655e52103be7551fdb\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 274\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = acceptable\nsig = 58c4c42da5eee1b757b31e3362a95d75180c0fee472c431527ff5500fe0b5c1d59968d79e6e41650f013a6b3e37c5a1d79233b818ef76c4ed469a09607becdc58987e6a548610de14ff06899ef284778dd5329a27b85072e8ffd46b63a5e8f7602ddb9fc5a07224c49818fc8057581ea36da033f2b936f0761186c7fd82b474e87d47aa1b7ec610642d3bcb16c59bb70ac68b1f081a9c9248f069474d6ed9b29c669fc40a979cdfc2053e1a3c0cf40efa29c01785323995f1d8f3850c32bdf92\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 275\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = acceptable\nsig = 62a81171990b2066d9c8a12d75b719b1d81513e9ab0a38ceed12c19835e8291db53045c6be238fb8a0a7daa974f8d0e10495c197c8d94b617a5e84982b849a121377a4deaff1c61f07365a4429b3aa90a0a475d3475e93b27254e1e0a75f49864287f2027f7b4c8c0f54ad69649c042e2445a5f131dc5d7878d7a040ac8499ef4208f3cf7b63863feb6fc3ae7d9e299ef5777b1d872cb19799f5097d456473760e5953a650a207f50f5dec349e71b848640930608208dd0745bc185d78284482\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 276\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = acceptable\nsig = af896fc432e8f0d10c082153fcfd95b9ad7c90fd1f757d3be4e57556553b982af328b2f3d96fdffa3d26a9fb58e011206f88bfb7dc453f8ecc1b8a86910f993e91a1f70e2d75311015d676ed9245f1a9379f4f29ef26ab403eb1e76184855b10696f5254f2b51e536df54c84189d1a1f97bfb56a3b7cd13a82d8c0262229795a3d2bd46f28c3e71d5ae18c2ab32b295477e3f0fb428c5278eea15622ec47efd731b78d747568757f82a943fda22d37d883d8daff25dbb168032b5b36e081ce2d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 277\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = acceptable\nsig = a3c4eb3756805db479ee0aa802a9cccec9c9e146e736ed48b8739f2c8f108c579f1a16a71b7d222fd146f82292e78d254ec030b47267490927843c13005b88e2956550bdaab0e5748dafbbaa825425e9d83283a9a5fb086603ce00c8dac8f73dae249082378fcbdef763ef2f207047e9a9eaa35ce466e9569470f612c87292df4babe1d1446c55be5ab0109895afd337843eed2ca777f3ea1c08898fcb36e02674772d6dc3c71fbc49c897d05c81cf2aaef212dab088d9722db4033bb8f2ba56\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 278\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = acceptable\nsig = d0deb372624d4e1f64b9f3d7517fe2bc9407b1cb99ca0e6f641d5557935b4ce3e0e7fc88a75a8a6b39a7d03b9c9b43d6f5da250bc2c672ecad4f559a02f45bd6319d7377d305493264b17beca8ad93656a88767221113a30c8402", - "794a920da9edc530a6649b881abfee5b92dc857332970973366ba05954d70a99f378e8f65e3c1586ec71f79fec02657bf6dc5ed82c835735af15ab1f305bad5c49ae4dbab4f6bb4a5c70d35ba779e01b85ef208d7def3d0358fbe9202923fd035d58ff36a06\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 279\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = acceptable\nsig = 4e47d4cbe778a471ec643bb235fe9ef8d10398bfb2edfeeb9c9bc12caafe4031e33144be385e3adcd1609652f4c9dfe15f5cd6ba3ff38b34dd67c47c659473cb12f9b3905306d92405d38bb763474ad65e96b7f68104c1dfdd217ee56c912f42b054f16efe23fa8821093d8169826a64a77b86ef33061210280e3b4793fe540a09cb910f5a1f12a410b588c2793726999021f8880b7d9b83792ae9ed282871921a63976131b8aef855078787bf32df696458e507b1dba70d7422d4d37edbbdfc\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keysize = 1536]\n[n = 0d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[sha = SHA-512]\n\n# tcId = 280\nmsg = \npadding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e\nresult = acceptable\nsig = 190497b9c697bc8571dea0e67a6594d1ad0c401904a6a8f6e44837452949b1fb2044482ada64df89978f1168d5caf866afd928817afcdb589ce3dc6ffc5d58cb76fb9edc59b7d9188ead57981e1acba36e21d76a668660fb7bbf6f0c946ccc86dc251855c2cc19de83d11aba1d2c465db713725c2014e48865778b762dcbefd40de78f624436c6a3d316594dbfb3b05af97cb1d19229b3cc29c9cc6df414ab963bf1d6fb4e50c82dbb1add6d091d5930de580a988e3268cc5716d86c90dc12bc\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 281\nmsg = 0000000000000000000000000000000000000000\npadding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3\nresult = acceptable\nsig = 5259fe9566e1bd81952a805384b1657374f33550ee0895b57b7a0869a831270d3b3b2db8e295a4eb98d8eb036183b3d228ad22b8e493c7eb0f9ab00eeab2e086f10f8018a8daaff4858ae745a4d70881a166963c64403216422e18974aa456d8229ef2e43002e0390166630c7fabd14efaa974a9521a72a69e0b446971db077ce80f6dd95cf797b6ed276873bbf6b1ba6a79df8c917c2a3fbbc0e5347b0bb99eec6ad0b6bdb7bc9d3e0a7f6b7b623f2aa9dba1e940676ec5629d39778286f261\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 282\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = acceptable\nsig = 288226f169838f352ffe409368cf03d840e0c0ac5e2c8d24471a924bab05ccbef26f202aabed9fbdaa33ae4a95de90e4196d92a72926971230f90a08fa68e51b326c9b5dde4b7bfe76766b0362695315846c2270a67e7c3f623367c87ce13670c8c778ba379b7de015a1b3fddce8d54825ddd22a8f88d89a43a0c5be784c1c1a1b920aa0dd31102a23d50e3874c411051f724a9b6181299d63db58dec0dbe667f7455f97f5abddc87cdd9d85e7e8139fa5e4ebd167aa8af8439934f34eb7f1e5\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 283\nmsg = 313233343030\npadding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\nresult = acceptable\nsig = 15eec15039b374bab3d0eafff08146e4ace24e67a2dc14dc6cd19826cff0ffef52f62210d5d1299ee482c6d39be0fc4544b2911af75a8c5fc1b57b658febdf094d4f648f82ac88717c14204e3a570b2c796ac3a2e3cab052c3ca8f5d39c5e5a4ce883b5aeb6a9e6f0b72d6ef7b8caaf75c4914df6a8a0e7ba6180ac639296d9e29f21b7b6ddc09ebd9559ce95d3fa27d7325a2c3e8c4dbe52f18036a9261a2f35c48e34bb5a137fd92549746b0095008e63d351acc66033f3c9b6623d2db976d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 284\nmsg = 4d657373616765\npadding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e\nresult = acceptable\nsig = 17f4a3294054ba76deb171fa60d4d224604082432b5119253bb28766aeccfdeee20fcd450fb2b1c76496d28f871b7d3b3b768a81ccb5313ffc37a25760c30d282c309fc929108ae743507edca29b594360c924c8f00f472bdb15fe207fc76c83d4160ec3ef502349f4baff23cf2c954029db4c68eac992447dc63abb3126c1b82af57472aa205c40dbd445f008e01dcb3ddf770fc0d778c3f4913a9c4615dc6291e29e0debbc3b02a82f0a52ed59f0ea19cced519cf037b4d6159cab53c23c67\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 285\nmsg = 61\npadding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75\nresult = acceptable\nsig = 505ffc20f64d17502d9697458c58153b34bcf607a01dfa4fc77c89df2ec41e63f9b396056b76140c46b2b47d6535fea8dca0ba19395df2f7e7f2ba53d05c9cb4eb2e04d2a123747f15899c65cee85e794626e35c0f1dbd3e592904c0f0324e417d122a0adf401a0a5d5e7516d263fc8f6909c7ea7c984a4e3f1c9535e6a6e66d8d35689ced12049b4ded2cc93a5e6148773dffdfd1734ab55822a6e38a654a7bb82fecf83d5816228962e17bb8bf6f3108f0c89bc4430d67c38d648d7a17a29b\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 286\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0\nresult = acceptable\nsig = 75627812c1b05dea5a309394dd74d9fad11a6776cbe6d8ad0936b343bdbd0b6a770ed1075676bf55cabaded9c6f74913e97f512dbda5b9ab0578b1f1dcfde313fd88c4c876252f4334c2d4752abb22c484e76237f59878b42d4d75843c93761ab3532295b6a26dec558fa6a65321d0f6f3fc88c8c21ffb8b0739de2459f1a3fe1fb9b71a92de934d86a8efdd0447885cfee91ed8b559df65d5b57276b5ae2068ec30f3dfe48371ea59fe487419c9fb3c4b58449c46553b497a2ddf7b30aa7a78\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c", - "301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keysize = 2048]\n[n = 0c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[sha = SHA-224]\n\n# tcId = 287\nmsg = \npadding = 302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f\nresult = valid\nsig = 19c576f191c273306ec6ee9e26c673bdcf3f821adaf13a0759df7787511ddb096e964f5dc199ccc5cf131f855065d6ff0a6c720651477d9026bed82d201f6e84a23b37725fd24f5b75aedc2afa24524e7222c0dd7c6d2742430bab3ec46d12204a94a533e2a9147723d087d619e07873a4261c420226ec1869abd70117c787d4b1827fe98779287451086354292bbb90617ceb391122efe70887710c5cb4549d163d37e79b33c1b336826cb53b648689e6da54241d20df822cf7770d7beaef4bb00068252786580a88cd00e93f5ef42b69efa7c364b98749fe734ee7bd13d0aca585d84e4fe4b29478697170280a5921278997ef9856f7372b6995d7eb43ce0c\n\n# tcId = 288\nmsg = 0000000000000000000000000000000000000000\npadding = 302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480\nresult = valid\nsig = ab2e758c8de97282a7ede3401680ead187cc08658be0041f108851149a9b9d2588d5ca544039533eebd0305c07f394504d91a578f5764267149d4ef70b88a2a3f8cf0b1061d06882af53a88bef195aac87294dc833d80f42d942f3a59bb242b187e23bb89a068bb4c8a215247d04aec57f81f75c14e711b5878b04863e715d0f359ad13f008b79342b7a4ca095fd021f639e8f48860c1eafe6fa19162c2632a2d3a05330d149f3ea6c9aed9f89fa3f7bcb2cf2a3d1af0484178710c21c046a812f3b8d68027173ff5aeb1ad19ea6639e2d886eabf8149a8fb491d2c36ccfc4da2a9785a992046f24a93d2dd7765a171cd8ecb68b94ee70b0e5bf791967267251\n\n# tcId = 289\nmsg = 54657374\npadding = 302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923\nresult = valid\nsig = 61c702c72b0177ac857e52707c1a40b84a1859bf1d7d1cdbda643f924e8bab7c3d3eb2065aff837e92f93836fd54ea52e085e19cb0cb59fa58afad48480c2dac579315340883886e78456ce750fc55b6c188b716bda7957ff547222f0cc1462344de4bf078ec19f1ba5901a0e5f40d93dbae4aac407834b272a2be82c8da085a3e1e9e0a57d3f43d26462566f0aeade04ee8981fec8d7e34c916fe78c0c5c43781bab2fecab654fa55ac99182545d0ddf070d41f67efe0737d8ecab3411720c84862606c8e4b53e60faa1c9a98386e92b03d676b53e3fdbca3bdf0187ddc50086cf82ca6052be55fbb7f3bdb6c6c0432defa5634797c23b494c3880846169b67\n\n# tcId = 290\nmsg = 313233343030\npadding = 302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\nresult = valid\nsig = 965f82f0649a338ef14387a7f3335b9e2d5d3b4009eecfd26c0110344a30117bde6bad668cf083beb28242460fbb96adf9754b9a4d4505f6412e677bf3349868fd5b5268786308a5293f2cb2f7ffda76104351f10381e504e72d27435d5bea0517d20ebec0afa531e520e5fe484475a330a40ba1109c204fabc44ec099878a5e31342a650047c299a5f2322f057b9586cd9eebeed1f3d2d94aac24f9d7b2f05c6f28bc49cb2b00f5e56870fa099cfb2c3e276381adf5a030ab6ffd9cb96fe309061d44c2ca5ccdd76a69458be561e3f0ef603ebe9ecd533333584236970dc7414124ace98357c496369bf94123bf0d4e57b03aee567c2f83a9e6378e62a42fed\n\n# tcId = 291\nmsg = 4d657373616765\npadding = 302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38\nresult = valid\nsig = 105c68d221aa579ab6206d23be01d0c91f98fb67ed8d2044b6278916223758aa346bd6d5c7282d23a2bf702e0facdfb884e0b389202a5073a715fa80158e31d1e3588af30d2fd8b61233499ab7952f0761c84912b700fec807937d00a021eaa84d96f59760cc7733236138cb4ff1fb04c7d4621331b5c729f9694555b6f9c324e74db4a7a8b72f2853dfd0b9fe63759b3468bc66017bd6c1aada2070dc8643b5e581f12cad170d9fe754c65dfd0a5925cfe846a8413d729103e9d7e8825affc20f477d5bd3860947c2665ca4170fc44f2670bc33b51d42e5df78134919bf4660cfbc092c1cdcc09c8fda1ec9383512abe253cd1a470271832e0c7de5a6d9a7c2\n\n# tcId = 292\nmsg = 61\npadding = 302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5\nresult = valid\nsig = 3662fc9bc91b00d457bce2fbc667dbb31ce7fa451acdbad95b4b418782b8af67d2fbaf1424be2c99e95e2637d8d39e751d757f89711ae165fe5bf142fd88b284df696e948ee714e3f2062c5d01d04bb6c0387aa5ff1511552dd066bda861e1c5cbfe73dd8c6bc3039b729c700c8f297f48ba2a36aecbb626b5c9f9b3c04102f55ee65ef5477d8d1d14d9b7b048cdac54d7239177e702d0629d3617de2a9fa556a6d4ec37fe38a46b768e39f1d8a380484ffe0cef59abb7e20ffdb7c11b14a42ee3cedda99ef9f71eae7cf760fd81172e03a3f2a9f7e42a813db3b089c11528350e93b131641b8d023d47447f58aeb9f3f38760df8a9b1ad4b8d43ba0c9018e02\n\n# tcId = 293\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601\nresult = valid\nsig = 8392c4d888e7c63ae2a3d53d560ccbc226dbb1d9f69100fd86a19ef30a83981371169deb4ef87aafcfb4186c5ebf8d83764470acc8c9cbe36a9b15037e25b1dfc63e929b0bb3891be2d1804b8c6a0bf65891943e4c0fd21e7df55c134dde69682244d22510dac2b304c10a2e31adc134ab27ed186568fa9091df16f1c9f4e7044ddef6675269de710774ed124b52fbac9bed285b4be5ef9f2fd50e1d95383e145553762fb87a1da173b8b89a7eb9e947d08b5303ef0992bf4e3783c30253a43b373d90a75bd52fc53ee4fb86bfa1bad035a8177f8c0a9f53a6214ec950c2a07cea7f908c55c24dc31799867f819af18fa30f304ea001ce9cc87eb703ab578f5b\n\n[e = 10001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[n = 0a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sha = SHA-256]\n\n# tcId = 294\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = valid\nsig = 840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486\n\n# tcId = 295\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = valid\nsig = 8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31", - "ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102\n\n# tcId = 296\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = valid\nsig = 264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c\n\n# tcId = 297\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = valid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n# tcId = 298\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = valid\nsig = 513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8\n\n# tcId = 299\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = valid\nsig = 38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907\n\n# tcId = 300\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = valid\nsig = 2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f62750203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f62750203010001]\n[keysize = 2048]\n[n = 0bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f6275]\n[sha = SHA-384]\n\n# tcId = 301\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = valid\nsig = 446e7cb43ba8c5fc5835f35f764e183fd54cf26e406149343f1346aa2acd215a6e1f26b9af53fe165c81429f6dd69e422ef7f0930c750ce0a79d1bc8491c0df320d81cc57606833d02f1c82e3c55d730e982e29e3c59fdad24d3910d8ff75df99cb3a67b8bdad00f7dea293f98c90e812ec182132b257c65a328ccc3fd203eb1b09181f50c6b4a8767071bcbf9c08c8d7fca99f80476975cd6e6509014cf4215475435fb520bb7374886c5664577092ee47a6460396fdcc8c7450c3b87ff9a951a8cd6e7209d762350157f7a7f8d6858bae4aaf13e38d2d06a7b10dbf96ea2e444ea66c9d1c91def798abe927715ffcce2d4d18f34b23ed6bcfc2aa79327bb80\n\n# tcId = 302\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = valid\nsig = 51c1c99864e703b875e3e1629a7227d1d777e13d12968e28b358f5fc910cac6c836183aaad8baace0822a9468539d476a8a1a8cb2fad7486d400b11794ae38ec288f1e6e0c76e3616601634ce4286230625dd4c970ae97924e5a2982ec6be8cb0bdb6dc62523999cdcb8408e1aea3048ebe020c8c86db2f9b424ba1b1ff7afebc775b76725dab5a521e06d7ca876ffce9c6ac210459d19b65f9a7ae96a6febb352b500d2e2723dde3ca2c1a073cdfd99945fb521e8ebeb1e8da1c382c3f4eb73ccd5e6af07ad4ba647bbaf6c9435040de3924dc25289eb87419e367565ba105ed7747468acdfb3654fd3a2da7fa33f26347f0efce04ec91968c03bb6153a333b\n\n# tcId = 303\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = valid\nsig = 623c0920639c8cdbc0f0190a9488ac6996d36d4fa4c61019ac5347da64862b3bebfdb112365d0473d32736dffad9be3a24acb57d1ec2ef7a41fd8e972a70beca630867ed6052b76c467c86c5851db0ed0b898fbe33cd79a000ca529eaf07254d979140d0a1aa43f1214fe13876483e80e96f1d17004c89d598d359e11764e0c4b0491e9c52345aebaeefe484f9ba0c9b5ea824e267f1de9f75b882c0b89888718a5dbcaa0966ccd0f2e7243e794e33fdfbe0569c0e975eef3ba50152db5292d36ffd6f85bfedb6abf3c65e6f789a504dfdaf003facd1f16c66c06a79549552109d55c1bdcbf0abbabf7cf2b6a8bbf0065fafe41e029f783d69ed61360cbffb01\n\n# tcId = 304\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = valid\nsig = 22a290e37fa590f3e164cbd7c211faff31e43ca0abe1f5d6f6b33bf16fad3925b0f9c41c9d847d9fc4cc9ec1816bd133f916f8650c2d77f482a753e7b8e7e2693bc345895de467f17690f8330d2212928d9090d34802020bf73999197f70896afa9ada4f353d438b6a0c809f74c28e65d2431f3d0c50e1d536fd3efcb6eb8327f18f0ce3964eb39100531f73a51b10a42d5bde73969630727fd74fcdaeb2a49687e344fedb0d54d1ddc7070aac0b08f4594b0f9e7e4c3d18b9ec24e20e95", - "7eaf861753ec6a2de28de823e2f4c7ee3d6d42a5f5480b4e32dae97f802907248bfb29dac52f24ab1009c3d0ae13c4ad6bed1e575aa86ac9d69ddcfc771df7b890ff\n\n# tcId = 305\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = valid\nsig = 0c9ec254a5e405d6b33be22985471c75b6b66158ec73d1dec8bc54a25d1036baf23e902a9ca025732d6cf581a7eb0cb59aa7fcb27c99c5ce5146a59627e5453faca300a0a5f95d9d55782bec4db4e4b2acbcad85d222403996f2f05552b8abffe11a1b517deb4c25e39ca38cc53252c987bbb992643c4c280ffc71fc87cf776d94adf3d2cba279df2c2021f68bbd4a87ea6045068cdae95a773c1e7f1066d37e67b91ac7c5d7850a25589b8bc814eefb30547f847fe9135aca321c56291aace07ccdec8a5848c7a80c419aa35ede36f50d6f1c593453561a46c4d767a7cbfafaf1d448c5ac118e121c0d06045cabf171fdc43192bb7b30449467ba95c671d3fe\n\n# tcId = 306\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = valid\nsig = ae7836c86c23e8b41ec2cd750838e78c5de9d8d54e74e3985c88a7380446d4fbd6366925ce5dcd213f46bf2f5f6de2cea4df015f2cd8c2c3d71b7adc743d1d045c88598c0b1ddf1bd734c2fbcfb446c9ead91ec468ffc37fba4f948fa950ce6f70455907f34d76f6a68e7b4d7bf2f805384fe2c0128eb3418f804a87d96c2968d69d3487e2d827cf1da978b0c723b312ab65bee05e01245ecba28ed45f46cb249641be080a3b35a3f1925997f52e774a3a509a384dc7f66f28d6930f8ef33704da53f582305b61ba234d11148aba024c1dea63fd74b6f34e4375a130975f7bd257df5184573c426910d3930a902e1d05975ec45042241f3322c34f4a697c429a\n\n# tcId = 307\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = valid\nsig = 8de7393e352364d42d6c45ba249cf557d61b6283558384000b7552267acfa6ec3607d550d37b63850f4e734adf90608b76ed05a74e97fa4e8f42f79a14dae885e1b02d83a2707241518295e5844cf6e7dcd418bb935aef3bda8309eaca38afecf80e12fcd256b3ba724f7012729c1cc2b5ad36135877b4082b718ebd10212f19e45f17d05d416267a67759392b58693d093cdb2747c4c06f2a102e164e9498f83111ca97250a89dfb9eada0095062b90f2c44442220e4ae04738d7a76394e3ee859497224c33b92866941d171355017bc5ccebd61ed9234963fb63acb6ffb6571b1b20ff806a7050ecb14d48eb745c9acdc95d102f62455225db05eca49d4ec8\n\n[e = 10001]\n[keyAsn = 3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keysize = 2048]\n[n = 0c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[sha = SHA-512]\n\n# tcId = 308\nmsg = \npadding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e\nresult = valid\nsig = b03dd72dc84b305ea811267a489aba10a1dc54b59f92e58546a2f0b6883f543512d621951352ef12abafe4bd6e10c2e5b0eabbbbf1d081b66e535fc9b8ad379040c3c71ec8f2b4f5d319f5d2a0240a767ddb4de1fbc878b2c5e8e1e260217bbd70971789fedb8c677fc8193f67e4637239607c7b9d3511868ccc0df372374abc685c9b4b74b2c5f11758f809b19bb3b5c464db870fea61ddfa5e18be2c4106f3e165fe85a7f8241db2806d0fc3c45d8a7f1eb4ca411a46ac411b81c04fd8c4ced5eff497da6bcb8e2fbe1f95cf4c3e761fc3037c82276f7ebfb7e6cc8534cb4fd34192074f580c6e31008df4f1404ae8dbcb111503d4bdfe6e7107a1ab5cd8c6\n\n# tcId = 309\nmsg = 0000000000000000000000000000000000000000\npadding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3\nresult = valid\nsig = 4de4dbf82607b36a5c6778ae6351d83b7ef5b4af64c3788889eb10ef1838822847ceb531914392360b92dee055796f73e3cdb8b3d50910a537dd2244fd7f922780356ea3f01e99e5bebcb1b6ef398d2399bd02472a871417daec3bbe6f89f45f1af0bf819a446dcbbb75c56958d34ba27c8120cee6ff97242921ccf58de9216995fa0c49cb3e6d60e46411b2df3b01b78fa81ca145ce8be594ee009031eda672eb097ba5ed6687a703b154ef616757f94237f4275f54738cb59d36b20a9c84ae133bd715747952f0222573a91faf740e4b7eb4e88abaa91004e72a1709b401616b2edb2784e491f671fcf5ebe326b669facaa5d8a0f6f8469ea995c4db772f06\n\n# tcId = 310\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = valid\nsig = a0f46582cde6be215351bb7b29e8ff24398816fad9e7e2ed6ccf1d0b5296bad827316c18b1565253291fa1c0baea9a735357cff8920e1024ae5707dd2f0cfcc9e6cc81402217d9b4f51e10def2bc2f4924e7d22c022fc87d6c3e772f4952050d027b003ab4267ff227a15cc7c884cdb46bbc7eb38852d0e6d8a12f485ccb0312157097687debb6feaf2b6dac998224c6047c1d5727195bb8ce05a59669034e88de0e4815af00c65def5b9748d017455056cc1ac6d3a77e31fcea4e726eda6be7bd33e509696e54d1d1858a1165fa9ece5d62e493c1a33ab3c94d294838a19f367fb799d6b69161bd9532a6ef317deb919923d78e33309f14a97b68023d600b4d\n\n# tcId = 311\nmsg = 313233343030\npadding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\nresult = valid\nsig = 9922f7bd01d7ba6b2de255b91209631af92e5537a4554b3b7a50e39f2fe9b6085a7e418084213d445794ebc19be43782d9f80df1daa7498a1c67d935ec00dac6b7a194033a14431320acd1d7f3d4c2b7b5b1649dd93931c49f538c94e34f44fdcb8dac9d31539f87e6720dc887c6605284a6a0408e244325e35917b1e1ccdf5959ca87091827c8157bdaa31239e2103ca8a112cc76a8e7e90f352fb8cb3a3381e52cedf4d4188bf881054b80387605e7041ab149cccea1ac2bb6560b45000601c33ebc31cebdd499c0b8fdafa7c1691d6dcc48edc98519d55d126a757b2a753eda4f2bf35cb191face371c9c34b2ab57242053b9ecddc91e4b621e650432adc8\n\n# tcId = 312\nmsg = 4d657373616765\npadding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e\nresult = valid\nsig = 99996fc01a53bca03382b96e9ad83a3139bfacc5d37b180a099fb5d515a7b78a5c21a339ae6bd2bee8e0f503ba2bf892c1885ad5f4940a99d8d49df6f4623da16c337a011fb895c006100286aed82977be3fda054d1e935a872939b704750c3e2871c33768946e65a737184efa50060c6898247a6472854884fdbfc2533c936fe9c922d881bd5f093851b46693cf633e25f27efd6db65da3ad96f2e8154ac39f2a9859f15c919a92c8cd22285c1f9e87444e61769f6833bd0d56106f87825e472e59caaca1fedd8d4065fad9dbbc252a84c196bf5d6c40bd8660600bc6c825bc7470aaf4ad118c6c139a5c6fefd5223ef490d4afa6c06269ea8c0054aa1f368d\n\n# tcId = 313\nmsg = 61\npadding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75\nresult = valid\nsig = 7930ceed4b191365ccac54cc8a5bd38498c0d0c1fa5a862b6c0744edf9bf1969ec4f3c7c42aec737438acc797b8301aa8b30be2a4a4c1323be0427411dc8be84881036e9062a55fa2334176049305a44b97f90ed0b3becf56f8c9f164ef0bb45729f9fab1d459f", - "690c58f07ef5ef89f21b15da14a235f3012e6f83a7f226e118d3b7fdc9356c39667e1cea5c667b54ec5ca6a0d58ad933484f447c670e5bd3647361c81831dc710360a90692eb7e4a57ad225b2516d9c3bcc77323a9354d1b92d0b3f5ade911f5faac4e4bdbead32f3349840ee66f4010789a84f0934182c2b0cb7d6e72e2b2a6839d03d7c9f681bb7148449161ed50b4466d60002cdb7492fa\n\n# tcId = 314\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0\nresult = valid\nsig = 16b5ecefcd0167682fbb3601a016bfa8bce9dd5855bf305ff00b45d97e50fecd27716997c37ebf8efd8b269558385b3ecaf2b6e38313508a7a14546107b75afb450b1a0e39cd0760151b666451bab43d7fdbd93771e9d98152ac889bf1abbe1c3f62049c4735602ebd6a90a0361dfa08417ba03c55fc6b7bfabb136851ab01eacf528abb1129bef47f2b04e2aa24c0341720f728bc9fe12cfa5d4248976aaf7035d19c18302fb9ae2443286a71198b500034d48113b705c83e64561762c583dc013cc099c7e5bfecbfaa7b971c8f1a4d3868fe0a4ad518372ca68c65bdefbb726b1fd92ad92ab739d2bd1af97724dc076ba011a9f32db3979ca4cf94c5370b77\n\n[e = 10001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[n = 0c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sha = SHA-256]\n\n# tcId = 315\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = valid\nsig = 157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade\n\n# tcId = 316\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = valid\nsig = 631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772\n\n# tcId = 317\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = valid\nsig = 5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1\n\n# tcId = 318\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = valid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n# tcId = 319\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = valid\nsig = 08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349fa", - "cd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e\n\n# tcId = 320\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = valid\nsig = 9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b\n\n# tcId = 321\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = valid\nsig = 1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c172cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11\n\n[e = 10001]\n[keyAsn = 3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keysize = 3072]\n[n = 0a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[sha = SHA-384]\n\n# tcId = 322\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = valid\nsig = 473432cf11b6f96b1dd41e1742ace21cd10e8dad89a3e00ec68f3b45411059d0bbc6c8a3f077bfb4b12da60aca86dd856934061aa8e4c3221a019b7ed3d4e70ed8bf53fa140d3c31877a135a6ae140e021bea9408ee61fe7f32e60cd18932282b1aef1019f9a39789cb48991e535568b55eb26cf96e9bab35d03121f6be9f0d65079b064cff923edb5639cf08f48ecaec0670ab37b03e4cc2e604582e1cccef79f262c8b3d146887303c542ae7c455b0f68e882c5e2259ecd9f76cd3706e9894766089b267ed3bdec29df5b57e6a6f8deff21e093ce611724ba1012cf63aa2c62e7267af4b1df5ef030e6cba7b217d46fe43fab255f41ce086bec5e4f604718c95acdbd5c56bf8b68541ac0dde0a5e0f2336ea608864abdc5324b29b9f7bd35c514373efde38bb593b8d4b249535984662bf4b397b2a584ca15624416537320fdef81133d6038edd99ee19af9567c9fa536474effa925555c9c2fcea525fe2da935b791ec1d7d3bde33a58f80dd1e587e1c433239c65332e94d66d3c79bfd190\n\n# tcId = 323\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = valid\nsig = 69d89aee9a1b9827228c40c3f3bdb9479ed36bedd2c77b3f5dca19917a5cde9636b9f6ede29718a391224ab58f464c9052b5e6786178194a90ec04d2d2b7513b19df2799b0e7a2d6d1ef2c49ec6870fb8cae45ee1103692da8d211bf61f656d304f69adf68c0227c7af5ceb8c2db4a3668bb6a1b8cc3a437b9df79bc0dd650d6e3a42295b4a6e23d40b3a9b7548f3760e0faf69200df230d2c143807b2f35fa449cfa73792844dff5d2ae50adc272c0dbacacd60eb0b7964012a5c1981cb2f358ff53509f90b0ec41259fef321e9a306a08363ed194e51ab6dbc00ceee576c048c02704a19f8f357250adc70cdd2819157d71af04ab0cc63ac9c6fa4b5799eae521e275f26ce53302017510826f96c4a2889deaef19fdedacc70a6598aa89e2bcf373239bed98d1f2267fa7c2436add13df68d9ea296fab52fed0f5ee46874f48735fe32c61ed2b1c977ff1862ccce093bdf7d84a6b03c3007c4c926d1e52d81dcc0bc2a553a12be363b764f6a322e41a8318ea7408c18e33c260aa05d039625\n\n# tcId = 324\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = valid\nsig = 259332bd5a274bc347ffa3e8a31c8b27f216cc865d32c917a5d7e4c06abd44b6c024f44eba997862c812d8ebaf7caccbb234293178e44b2532478e8bebf6af5f83318ebe398e0850e929a89cda860cd18ec94554e4e0d45a9ec2d9acd83fbef2b5d31dd7b2f3c12e791afd3e39a9437fda7724c9426194bcfdc6bd52036f62aeea7853db2c8c498103eb60180281170aa0fae8139417974d917090dba8f9061665e92d953827dff4d450f5566d2c5b753b65c9b522a0c4da868629569a666b7c292b22060e92acf4ed65e51245403a4f162c8b504b85a810906ecaca2956d395c163a7f6f23573156968ecf62ef46b72b9ce39303681e354e91c5d7944cd3288b2a84a1ea28e7e6f260bc5f8d92be419ad649a8f55a2195ca46130922d82759f9bc030c8b122211d952c3ee7851f09f30c2fecd1070656c69c2598584b55cbe6567dd2719305dc52dfda03ea289a5db920fc2c777e7081cfd92864316d3fca9aaf8e2218ed8a5235e746e5cd9bcc856b0c615b901dc610f0193171869202e845\n\n# tcId = 325\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = valid\nsig = 1f32b36eb43f87b18e569fcfe7021763bea0ca576cd273c0b20352906ed8484428d250241709c825704518ff9e97103bb70cd26f437f87754bd40407034a9653d00e868a759a190f3067ce5efce9ab17c8b46000d88e2d9e68b8dae0a0eaa4a31d3bb51c8c8d0fc839b0b273c83dad57016b1b5c1d8eccff1c753e5c6d189ed07b801f0a54a1144c142011fd3226451faea43d52597b003f9256cedb0d7d7f56d86dfeef50179a794f0b0de97da1926e9491f025bb3c3e8e031661e0ead860c8914f0b294bf8cfea2d5ccc726ad0743e192510732dc84301eee15eca3c6a5213ba66d0871789315f8537a44b727bd8a10d6e54636b345715fc0b6f5b5116f22557b0af9f948558b0ff4a3b0faf1de7da1965b977aaaf039c5b7b09b4f03efeeab3189d2a09", - "fddc3983e4815df35ddd1c2198b695cffc35aa6662839f82468cb676b677d53ee4857ab9be7bd99e1749c811e2d6584427cbce14d2ca15df061165e85502420602666993463733b43c1c1ebae8d37780470b8cf5cae31cd7427799\n\n# tcId = 326\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = valid\nsig = 7e3165358b5d09ab1ad1599935bbdab27abc32486910382a0ae630f725b5dca5ffaa9e606e2e555122c1e0f3409d7d915ea00d8784b814a6721d0dd117297c951c8d225a484a549e488fb80f996ad65490a09defb0b46f9cfca2e952b04dfd5418da920dfb2968e48dba8f0729b16fa32a832fd8b789bfebc63f01a1190813cfd55ace949d802afffbe9a1ec1e6a5df196e5ffb241c918d712e466f30c66c0bddd48b57ba4d0baa0c2ba9bcf519c3a26140df6aa5efbdd5ac9beff48613f92d247b35efbd6014f3d714705933e47d582f4a5da05b15a79bcacba1aa15a5fd6ddb228bbe4c5236f9ac607f41a492e6b1c92bd68ce30659eb5b27a5b2f76a5867dafbf85a9dfddfdd476c383fd03e38e81f2e1434553643e652cc006e5df7313272335f122a7fd9cae6f2f5a7da65865698d6d08d688000a730c90919e1826bfa1db85d5607ff9d76cb100ea1649442cefc4251a8cc1d823215e0ad1abfb2976bc4a6b2bbd793ebf9c7770957dba1e2a8583d9a82a072386d0957789b450993c77\n\n# tcId = 327\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = valid\nsig = 8bc948c5c16603ab63e75e18bc7f062ea4c675ebf98dcacc1a9826b0eeab0004e2592b07525fca53bd288bb56b5961aea93b548771068f5b0cef467c387e2d62c91e045872922b516dd6c5b8ac3615c986a9c8b5211a05f63e82387175e8749709951273cd9d8b2eccf678284761c72285be5c189c4400629c26f87bf18ebfe5e56f2057fd91fc9209ec48a872d6d23bc330f1c81ede7fc5a0e2b09c3a4735eff9c8adf73152b3406a62656897c1eef075c4fb02244ecd93912dd36fbe0d358a71e02d2b302dbebd28ba50860e4a963071f0a890a2e400c18f530cf9440a897eb2781ceb17bbc58f61828a6456b93c86df972c42d082b913c4d8807b7563aafb7b330ec39dc988674a5c3b36f6bbdd096201f1c7c25ca9ea8f28e923ba46dbe93910268d6e35cfb605b92ecf98699ae9b09dd4634d1280586c5e6bb0b1a4b5e5e22b225453f5c66f9a7ed7fff83ecb201eb157c76c9beff95227b495c8516bbc7118f011cf9237b6e794bd7a9ba19e35d0a650dbf7c06a0c9ddc95f108a78246\n\n# tcId = 328\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = valid\nsig = 09ee821221ce7bbeb4d66ea3ec88387bb5c5bfb055b8beb36ccba4c2ce9666b1a09935689db1cc2312d797ac8b6f62643de736f38269a81f969308eb616cf41960341fa8edd3501f4edf73736806b6fc1387df4ef3e1e26c03249f3db6471ed580699e8ac77d0fd9a78972347e8657b6cdfe172fda324eea00d60d38b47e066c4a6fc0e33f75d1d4ecdf46efd966ca9aef80d22e43dfc2cd0af37fa70d6df7c637c3c18a219bf58dc1e7bfc941a235bfe81ee7101530a2c264527608d7148dd91325b7895817ae50d774e8dcd2def8a476a9592d55be743c62c1192f0ad69981fdc8651c1db828097ff8088b720c637c60c771b5091f9d9e174bc823115a1f7dbf086f9ad36a403c2d710c47af4753fe6e43c675c30219abc2b8560bd18c25aac719546ce7a74080fcf22bd4e6cffc270e57baedcf2739c5cf4fc5fac18f5dd023301caac1b1faf4dcc65327255ccf54f5fbd3cf82801a8685c2eef3c5e7f608cf6f747b8307f617fce148347b76facf0e1f7895aeeb11e3225e3a6066a244ca\n\n[e = 10001]\n[keyAsn = 3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keysize = 3072]\n[n = 0fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[sha = SHA-512]\n\n# tcId = 329\nmsg = \npadding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e\nresult = valid\nsig = ebf3c64e4c19fcb0fd920e65554a552cc1e652312c2e0e51cdb3b92c94b2b41ee201f61f434a6aa4703e87416388f4661c04fdc2e459e199af3ea208c61b99d746f4b00d82105caf4f0196f1305e806bc13b4c6e6bf581962862dcb0eb15a0ffcb0fe6b36502320011b540799e1432baf2a56a428fad64811afb57d210d859a1201ec057dd8d2a68784b48dd07357162f21e4c82f8d5e385b1f72834dd4c0d85ffd333410f08ff28fdb7365e408a60af177c80298726940bf4c40efcddceee3945b1d921b9d04080dfb12d3ae61863ad2e3e302370f5a8858a1213dfcd500269ebef76f4ebf0982a751d8ade1aeed95f41d4560084711362774b11b6240c0ba6ee4ca634ba8298f6e63ef560a39047481b9eaa546178e69e4daf5651c66c6235ba97c231241c63ad16efe59b7b5505d9c3f1818368b9462cda71849e431648be9757620c15f99ca78f4e250afc41ffdcdc52693a1fd43506274c431caf34a4d37321f5ccf04971a25c5010b9ada07596bf9a20bf307db9d5e86146226081b25f\n\n# tcId = 330\nmsg = 0000000000000000000000000000000000000000\npadding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3\nresult = valid\nsig = b9bb1751f2336ef5126508541b949d40f1719bd23c2f0fed64a7b73ebe1819377e6e4262f8440a3a3cd456f5eec0b1c0956bf6989add2c3d1c7ba4acf7a617d198179dd974051fa7a14ecd8093ad572d7e233daa2a9a46fe59bcf7e01c6ad8d68c0afa89a58247ce257566edcedd799173e2babadac15405e2812ad12ad900ad997035966a05a02988e11133c21e111a8e06d7ce509de1e0c11de55379482cfa072348fb41c05083529c2db86aebee92095e7450a75d97fce7b3103ef1f8598459651dcb9b6e90f299c9efc95d7ced2f6e91526ab3788238e2b5e109d3ea984189ea13939d58fd4ab896c76bca4f6a92fd3bc124dddfabef1f286583a1415d1fdb8c80de8e7583fd6d52836a22c3926f69723301904532b9fac2a37d0cedccd4b3d0ddf3550377191f813d4f92a5c126ae91e03fbffbcf59637ebbf1f30acba1dfcb0f93285381cec6da60bbcc62074075c71300f8424e0f964422dfac19d205251f227614bc13568f408284b6b53bebd7dc4adfb7e242953564763292d9c01a\n\n# tcId = 331\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = valid\nsig = 1cc02717a3321a83da62deb3ed0b9706cf7ca9fdf3674617fcdc3364a697825b910d54b891b5f8eba197049047cf0048ffba6425d47374ec24a84f1f7f04716b7ec54daccd04aff858e2e7c8830e4420b5f99df756018083abe46d3fbce2da6e8ce6c893fc11ce5967a5f367159f9ad38d957078dbfbd32e818a26b49ae00151350044d22b58a4a61a35fadef67e3f8247f407f026eb17b8dd4ab29d388bfb271a1ec606e141", - "cef3fe57e2e55ae8b40fb076a06f5898362b695545124e9c185c50647cc5b83f09f406e780f626ec60462fb50caf8560aa72fbe174111142029b19f2d681f771a774afedfe2500fd8b1bdd437fc41709253ffdedc302f47afa774f5ad23777a57fe44067182f4b35a28923edc82255cce11d2fbe91acbce29289b4e0e8f5e99e906e6607637b05eab4028d85e91d060fc1fee052a09baeea759917b34855e09b8e5b67ad60f45851e991cf01dd528b100327961eefd0c29f1d1d8771bbf3bb1e7f048d9c2e1dc5e652e6ac4f6a2aef86245b83f611700bedd07a\n\n# tcId = 332\nmsg = 313233343030\npadding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\nresult = valid\nsig = a0de9c2df76523499c6c344173d944b8e02ee1520f90759fa3c27ce284091f80215a9a26c9fcebc125171da556bb732a0645cd64b05c7cbcd8c187d3995e3c86cd59468118e9278ecdb8e791badca8785e56f33478ba03eca721591930db01bc1a5da5e193b2dc9022e98948644a406138a4c7971ad8ade585a3d72e6c9de50320b9fca1ac0e054835005cd39c96400c491e1b706eca22ae2e9f1b844284226fdcdab1f2cc942a8280f7786e0f2cd069b9ae99f04aae424a6d24eb023e064513931b2e4f7629151af6bf83f4c5c58616960f080c6f96eeab07a87b6d7cef3fe6b071e49ed340b48867a5bea30dee332cb89e1a54d9e3a9a8bbb87179c6ad206fd48dab07104b1f887a02160b59f9ddac6d1f8801c1a8df507ec199e970e02058c749475b7636ba2def322160b11b21773fdf904cc665eb5eda887ecb6d9be245d3dbd85cde107d082cc6d8492a087166e23835a379ac69f5a996ad9032cc41e205078c5ec9c50f85c396822c057b25595a35471a2fc3bdd3f75eb8ecf2d1189d\n\n# tcId = 333\nmsg = 4d657373616765\npadding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e\nresult = valid\nsig = ddad8eeace34f1eb1b0dd28db89ba710ee68aabb54b0a826c2d69355f63acf0f2f2e0dcb96f388d44d0940774d7d55fe81ba6a8a880aeee8ce842101c7e8837fbf2704971341d38bf3289dfc61a6b3b557588db93eef2789d3735000c8e2d830a32070626d079e710c943082a8bd1c0cfb64b2dd911eea76001f8e08cdc01cb072f027fbd9c72331b857d07c1c2f3090eca53accef8b3b015438942e8d2fd3406cbc54c7ec3797a163b13878881f7b4ef5ca45056e16e0c2a76c3d5108c6f0f48803d27eb4b0d55e90b19b6fe372dceaa61270b9efe2800bb259dbead955635ca44ff979bb054b5cdf86d4914ee553d7d5b1a49fb8e49f3f761224802858458f702aa4428964a32a45bed5738224517489f2be075f9ec7234a019005be922b8265bd78abdeb1d1633fe7e5aeb37b61d36b1a03a06847a812e50ed551853d3cdebffaba8b056b788a1bc452ebdb5a3f043a116e5a3d262c745fc15897ad4ad955595292a79eb85373d552d6079ad77e469f7d3a60330702125127b1ee770225cd\n\n# tcId = 334\nmsg = 61\npadding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75\nresult = valid\nsig = 2ecc537edc397ae5c3c789638204ba3393bff5cd9c1f0552db515a8258a311b6bdc88325f9072d2ae67bcf132a92c0b4d01ef0f2916349adc6d8f1b415c86bce6b5afcf4cf2d3137897d0f8a33063a0ff69965a5d2ef00dc3e010094ec8214c95c064313c8e90bd84e34c86b2e19b056539bdb3c83eec23722b3e380a53826bbb31cc97ebb8ca77cfd96d3e6a2da59baaace3883c652a92e79653941c5615bd30c77aa38ad74c49d36ceb9f76544835d57f0cd14999c2c0cf3debbee17a8aba6d777ebd9ffd44b09e093f1a894a8aee80301c3a5a59626a79e445254cb1df1174450bee22a7518afeeb15495d663af289dbb09216543bccd136abf2646bac573551cfd04e6a35b5cdf9729c8b14d34c06660a42b3ab365a42ffe470b69062d0f305c733c43844565b0b94d49d2019933de9686088d219d57b256170c137a21475d03f2a7e0783af11426fc6e64895fb92da117702e4487558e8bd21db82f263c4bdc64065c4f66d87c87889ec5aa9cee02c95d001b08636dc3420f817c228dc7\n\n# tcId = 335\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0\nresult = valid\nsig = b9b492d4796fa2cb7066069a00e36aab8b8755f9dc8294401137efb3e2681c9b57930c0ba87b45c9d70e214979cca91a06562f710a2427660547006ead7b3e619cf4652131fd84999c5ff1c9a1cf057363b8ac62501bbfb1fae840cc963a95169c658add96c6c969d415c10bec5e2457a5c3fa4fe81e7de1afdec6f4e59e3fea185c7cd1bee4b8a42d2f22c7bad7d4933621a0cfacf0136abffc3ac54ea37c63af719425084cade944999aca3f43c7625d22af10149f39acef32ed7c92f781809aaa945b2f446a03e66150a524c7d88b7bec587ba7d6fe2db4ebb7a8c3bd46e7fa1cae291ff502acf33f003dfd1417fc60674501728e52490476d813f0079f56a9456909ccee3b76b30aca26fd4487527f4ee6283bdb2e72393d661ec0c35b2d1675f679f823fd28e044fed090721ba4c6be46da3eab26e5eb356d17d04fc3ac31425a6f6a50474e2725bd4dc30da74fd3767a122ced21671e47b1fb33bb7018349f7cbc916c6c7f4ca7334735a0e0ec18e01735107bd2ff02cd9508fa5832dd\n\n[e = 10001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[n = 0956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[sha = SHA-256]\n\n# tcId = 336\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = valid\nsig = 368105195f0dc82c2cd37e8edc6ddc0c983dc13ddcf6f9db9a24b52921e5280319a1bcf797f774066d643e5c99b811f0ad9df2a3f430f4848a03ddb97e06daa4d01ddd50bf2b638935cd26b19d6ffccba884a4e7cba35830c6cc5ccce38bc0fcc4ea421347e241711a551c67923b3daaf2e9c51635d416cc2393a9a4f108f84f26990c11dbaacea75e39dc6082b539cd2c0c8dda6c78cb", - "ad12e14a352b9dd5c92a3702d8538fcce0e92e26489ea83d75c174ab671210fbc6c397be2167864b519b5136d23a4363ef773ebc140e1da4b0a788d7b1f15a300375ee42b27261675fdfc60c29bab7022dc2e624c7d1f31e278ac089c5880e701bec41f63c8f897c0cecc5eff0a801dbc58d7d4df6e860c20e61f31d9ab2d50e8fbec7471070d8ed06c4c9c725cb63afde0cc4475d3dcb7dcad7eabd874ddf7294cd9d2a66b13b6367a14dfe3827da0c6c8b9e734deece80fd79609ce5ce0a16de6610fd04a09b0b2411bae2bc3222ab4c02867838d0c8346c60589e6204b226efb401841fb95da05ff32989ef935425b943d1b5d2f8af5113491a36c60a98c90b6453144f5fe00a0df3de8d02f0f59c7b94ddc7c8895b1dff8d88f69a9a2cfbb55eda0837800950601fc9e230a5514c9674fb576df8391c51ba0febc29c267462ed5337326b6f40d243ad7d81459ecabbd00126b2142e6ba10d9f903a9918d2280c63ee84b47062e1\n\n# tcId = 337\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = valid\nsig = 46a6c9cd78e38d5567795dbea71872ac16da06725975cee7d8839d2de665ec3b8411277f3e026fd2f9b836d788b48539755858bc8be0804147b59c09354b372713145e5a000ac15744ccd2db5795727e2f4d5f67bcab5e7cb1290824963ae88528aba0e6785989c8adb86084d26dd1faea3ae2a6175739fe978b576eff673832e513419806d206e0984d1ef0e1c8d8981084ee2ee569806b003fb7f08e775998eba1771f1efa070c00a769363c6101d5c5fc6140f102469574cd09746130ed80d14eabcd0a0418a752d5595b5f40ee0fb05f5f9860e600d75fbdd53461f5ea18be5bd807281f9e8fd6cf7eb31985206c9a5033cdea631512bffdd977fee5e692b3153a2ce9c7708a9c7d665d84762740cc9ea374bd32c18c2d76320e4893a2fac374ca7122e01e08011c351bd33725a6adad96becd44e4ec1032fbfb0c8dcf13cae9556eaf419211d0149c574b8d12ffe5bc59468c7c549283be541697258af847e52a9aa8063557dfa40404adbaa95e38ad28eba053aec3c123e98ab1b947bb774841e9040dd5409068a2c8a84c530fc4273897ed845d76dbafbf45af1a8fd2767234fac1e852453d8b7eede02af228d8b5821238a50a321490dab74d687a3400c34f215b85823424c9d966b516cccac38fc7f08769f47d66c57b9b75ea67be82508a513946bcbc809436efc4ee85f139b143c5bc15ff69ad1f3667c3f69bcf\n\n# tcId = 338\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = valid\nsig = 43929c2fb0986fc4570a3ee7f6701b96a78ec9297a997415a142ae539031c0e196add5e4c6ec572de0a2b109cf23a42567ebe98f42cf312d07538e4a32b0f20403b662c652ba9e3d6e38a625d6b5e91cce5c810d7a02262338e144a57db4ac4debfc536e8eaca7fe08022a2f64741d66d25e3010f2fd259d4c6b00582584bbbdcde4266d86eddfd0443ff24b06cf7ade6d733c637a48a398dbb28355ffb9bd21a49de6b345ef635b68d917b5bfcb9016f7c64c444dc0036ecab8f59b0d29098facca02335df44db87d30d02f08553ffd0379b33d13d09a385cae7d63b6db52e9b1eb8fd549e0e1e18210de1d3e9527547e5c72f816eb36288b09d96db772f955ca46fc8cbdb6eea93c841e1075c00c3c45e9442d28095136cc5ce8212ed8c60c9668898ab5d64734d4d0f2311f104cf8a732e6d88fb2064cb57bd54d3cdef7c11c840ecb238466c747289233a317b73785778ff4349949da47c9b4b2dc9f89bd1fe7e98b582500dfc05dba3fa410cca66acd854669940543c22ed1038eac7f0212b9ce4aedba0eb15ea1e75a73c45c1ae03fd241662e9cb89b051939c468db3a0adab822617b5bc669d1e0226cf6b475445d9d5e77ef54ed646cd81f0952b949b7f4f37381ba6427e060966467a76e1d9261a5fe8c68398a89eb5025cc39339885b6c33dde898a159f0af4acc81461fae37f5f4c61de4a888dc4f6b1e2b7336f\n\n# tcId = 339\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = valid\nsig = 0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247\n\n# tcId = 340\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = valid\nsig = 0a882c367ff495646c21ef0489ce268d6c4e6cd0176bf9488d4b8edf04e1706f23d121b500b427eb8652099689429a08e73294cfd29694f9b4f33ebc8a7f9d0f9d11f114d0f848114d116ebcab828c7ed4c64d5ddce9958bd0883ae82ee2be0a185d54ae64690accd816971ea5ef80d7d601e72a814b9b61e8d00727a843ac90639f2c83cc7e2a9065ebea3e7aad3b12dd9ed8a1ee03a43e669598571490fd92b699d2941fda3af7271f8864c844f8efcbac20066c7bee682c644da2329db721ff33a7a81869a7bfb7a910fde6008e1bdb4e9ff989ff78fc0a9f43b38399083808fb3f38f0e96d4020bf8a4b329bbf81d59dffb03f5d1ea34276ddcccc2a4319393e1777488c843f9b0aef1fcab7a97e00d50f7f83bbfd30272c8ea4a5b0d7b74e7f7b70a9295d0e942e5b6e627ff8457d0f60c1aac8fe10b7d7ab1b8cd18d3904bfde2a316a83ee2b7633c3dee3141fbd61c8115f88ee7ca4b2b677d1803a1a35361c956c1adcfa8c8e10f0422eb3347b4983eff3c1c79e7da80a2e7c6d55e61f5af74254bd91db0d4bc10c3812513d832bd6a603a6bafd29cd5c062d9e3b74631f873fb3ab47e59791446e5f795d6ef5bbfa267a541d4405dc09e82c8b03f51db4798cc96dda7a7bce7ba9c679d851d5dd2e6b3735aaa2fcff0d558d68959c6af8b283fd383315762767cd0e4ef6e027020148cd3b14833cad4d92c2c9ce15\n\n# tcId = 341\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = valid\nsig = 374603f5d4728526e6cc7c7bfb6f456bd33bdabf37d942dfa8132a9479f6e4a9c2dfee515d883ace45cf1d660190e442a9ea7590d67aac9bde6951314af90baac21bed537c774148afb7927337d626525e13fa15664cdd78dfa5e3886ee1fe7137ad5f69aadcb098a0d49475b0f76ed1bb86cbd08a0cae9a6ec120eabd55b7e5c4456bfac2b2acc3892110b7f62c0dbe7ec7e491474c5c641453743fd70b15f7a726a0ca44a78bfaf3445a979bd4df362b7f29d4ed9189bfcdee01476cf1b48c2edaf02d226b41f587a8db161bd36e6ea20d64c8773fbe8c0296b9e016ccde333b380161a641d822bc65d3b60417534072263cd461a4f77826cbd0508ea11720081c34b12d80ef0963857624d48c53748f279bf6ad338ba564e35d37d1dea27d19ad5dcb76d6f4aac62e49eededb1121e06b9f78eb285f7d7ee2cd475e791cc04c029cb76e5b33743aca3ac3adf5e317d95aa79a2f0ac3c328e69ea4692661b8107d89eeaaf3be01122544fd9d0c61511e87c6a5507c5701655d35f71586badd55b26363b51f019896c03326c72332de5be8a0f146d630a6e747a906684c7dc59d3bda667c8a92432e879f6a4d91d3cdca89b9840285bd8a22e5e5bebc32011725f64cb5fcbade8a5f5f9ba372a9be7f0a4907e40b4d06feffee3a558fd023514b504308a1d821c41955c305f550ffdf005b9bd5dfce2d16d3d09bf17c156c4a\n\n# tcId = 342\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = valid\nsig = 401bf4e63be4259b54c5909797b2b01fca18a6f74d76fecf75535f2876079ad9ee56c653dafc3513eb02114f5c96efb4025cf58c2cd576d003f688b11458fe3df1657657ed52b2756a99b48c6722708ef11765c8da2f3b061c779f26a64fe13e4be4602d0ca2553793d36c23f3194705e34a75b9b91ff7f4e554c5907b85ecb561a8d22262aa3669cc7be2fc5c21b9170869ff52dcba46b2b1c688e4c04e7a8f099e3a4196863bd1e828fb5ea5443b64b190327622055d44ff4c9999601338e56c175c716abf8d6c2ce6b9ef17930e846745e751f882ffb3f0b1a20e68ce9083d1466295caacdce85bd4a34615d09f2051839ff83650708888db818aca9229c38ddef86848a2c0c88b86a2f5a1079dcf0e888be62e116850b7e8d06785627fca1899f6d7c02eb60c3bae0d538cde8a05ef7281bba7f35757360ffa79fdd08642b6af5aaf8c71a32aecd0e9f3d9a2ef164da1740a5c2dd7943603bafde05e38f2ba78c15c3eef13a5059f3f242f07af2e6044896d1d6d9810ed3fb8203ca4efc116e95d2f53be8c55fc1ce653f02597c0df7d4a7dd88b41c2a65e40bf5dafbef2a97e4dc3bb49445774cac283ae131c08492c9715712f998241e16eb776915f15b7e9544ccf1dc220a9e139defd63cb2951090808395ce56555a7cdab4564d82151ddc0ba00db24454f2174bf0fe7ffe6e2d9d82a92437890bcae1601dbcea29a\n\n[e = 10001]\n[keyAsn = 3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3", - "d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keysize = 4096]\n[n = 0e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[sha = SHA-384]\n\n# tcId = 343\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = valid\nsig = a454390b04bfdd69c4be2ad1bad96ec901639f0bb60df268415b4a93b4cd53510fe64f394b319e66ca8605d7d5f7a05dae5eff827060013503d857a977c09ef742525e43b7e69d3802a58206e696848a87ee17b2b9de6829044349036554c659c8f8866c401fe85869c0a5ea90739c4983a1561a84e4f0bceb00015a671f5283f41f0bb8599774829b6a2de24f14d83351c96e35ae1475c8b4bcd2cf66889237a206d147b0e949f2b2028ead379c74203017904ac09a5561a8ec343be22cf46c3bc2a87b12cf9cf6e8fb22de884bdd9677626b757a005d3745f387d296347d3852ddc2c4258cf572dc40df3ff6a8a5f9d8b1b410c54739b9ae182611ec01805c80b445d058ce2afc4bd58d87c03fc9500fba237bcbedb0960a1a02efef52b97cddac63b5eb0481c0c0991375735338ac84c0505415ad2bf8e7a819ad269460668ba8f8c879f521ec9dc709e406de023fc0f9129a3a94eb1f3af08d33eed6273e5166f31110097f5558d8d9028ff558e627c9c0db2454b134a82a9dacca5b4032bc0e27c4d41cf55e9d89cf51528bb4f08c6ee5ce651af3772f008a44863c851933a57cac8e29a84756c9fa7f80435b3b78486f9908512902d5461964918239c76b6790b780e09d2f1d3db1c59b275d20bb24fa4f518b25af3254b61d34ed8b444d3ca736ceffdddaf767bdc92b4543f68b25421cb8c1328f2f253e446be46d10\n\n# tcId = 344\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = valid\nsig = 909c1f13b544933ccf3bc73ff5053a8a65a8f01b447d4b40f109cbde29d866368aaebf46c19051092063993862b32fd166006bdd4d988794d4e9a77821fc9e684fab1366a2d988eaca60e4fa8ea947dbc4b8438a9fc036691107d3d0be52c46c61342ef8fb7e08032921c1b455c55de28d58c77c1eaea03f13c26c4cea73d14acfa8ac2907f6a775273e7686ecf4b882b88a42cba11cd1efa5b985cf5a227654e54cdc9e2d283b80d250cce553fda636279336ba13f7f3659d70b5b2995a2ac7b60f329c62790d8eed1c3dacccd0df468a91e767c190be41a028d4efc1c5ed5e6f3a77930f50217fde9ce9ccb66b75731957959834839fa3bdc1a769fabebab03d3f0e605a12aa9fccb2a9421591a7427d82068623582de592935904b59a42e59b50419cd12d71da871862149a6500ec6870d989423346879551e506fada7c0c01b328244ac5f2e2c5bcbf4b5b09a4512a0edc90fee4d4dd9eb88582bfe37b49b8d8189051b32cccbc4d300284f9e523674a601b1a725722695d5ef438b770b575b6d0955edc761250bcc6a30e8d5c7287093236f223c2da8d9ab7d6b58e5d0e9167f2e8c58255ed16b63789ea16046bd0f987b156e9898076d444cc7a4aadc76699a2e3a442d63ca4c3f92da9f3b2c4ae13edf9d4e28ad206ed0cbd2df2a46920e298abd1904877b75c1a9ff80c5bf05bc5d1ab94d379d064fad894918ce326\n\n# tcId = 345\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = valid\nsig = 65956121a818b842d861d0dbcbdef22aa05c7e94ce5d748308663e142881feadb85dc4421d9d01833b8b4c2713842c77949cee8b853286107c655de7778a5acca11afbf1d9dad429eb6a281c1e8ae1cfd37cdf530fd4f2b765c352bcea26ce44e2165c36553318d89b1e06ffd8a210cb988cbfc916a9401fbdaa56a1a2a4cb66ef00a3176182d33dec5f3625b760c37c82cf618cd2875079a36015af21d060dffeb5c9e1f4255d7fea64386d8d860c6868cd79ef6d7a87927753a78bdb63c4845306de1d73c5d7dccbb6cca9b65aef19a7b9e53d9c02a4a2bd6910e076959f9f40c30eaa0a6ef783c0b73f05566e4492e16b832729e03fc939e54bf0336d376a3b4cda534bee446dad3fe51d20bb8a135103e7e12220484bbe02e99c5803282ab90d11063e5243297f80d3f24ab08fe8f2fb62702b0543f0203972d35287ba64facbc635cb438a888c83c7028a325555f07521c3095bc4e38bd0f60eb90828319777fea2276e0bc76f2c13ebf92f802a08844209ccddd2aac1f2700e8a5107e86426e6ab76288fa01de18b8a63551fbe8705824d16e5190c559c7bbe8a17031e7d352a681b0418cb36423632ec48a8d3861136b250ad2fc72388e771b41849893cdbffe04aac4037209944ff3174f86f7a88414b1666727c960b1e54a2cdb82e39cf9f2661f4ad6e22f330b350eae7f588a623524617b1846486fe9f04abbf5e\n\n# tcId = 346\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = valid\nsig = 3b35a042a4791dc1ac1561ad1038750bb9a575a7ff72db2ee60ba027f8994bcbabe41fed36417bd139a286ed0aa6c3ef2868a7251442d060c1cc67d4470c3ab7c307acb0c0641218a45b9cdde05546653850c2168a59f1788cd55dacd40afe38eb941ff08ffa8bbe609f2aa795c73c0368f482d53d691980891ba43b69f5791c2e6f70e17a996a299e60ce1c9d44ebb9f29e700e9ae216df749149f6c222d1e1733953553a792745c382d44f52ff404ed5ee04c41ac8acc97c250f9a5e3cc6d70902d51e8ac000d05e36279d83491dfe6a40f222bc1dfcfa7fa5e0197cf47528f77719e007b65ca39dae17bd0f323b00ee63b66401e2ec5f8917ef600a41c3a61571a4d922c0b0ad0a290ee054ad15e63f1a0cafb749f80cae6cbeb06be62e1608b502182d247bc6a37abe5fd750ead8b7216a35e74b969005309b14be36a31c5e6c2266701d5afdb5ca2314e2f32ae17387d8284ad2c7225fa63ed47e7245a65b74f53a5bd22654b3878ed09b1e5e070bc20eefac6c95b006b8f3e613b19f518c48ee6781a12bd08ad36ba384d03d3ea3c4e0b1facc39741f9ec73d0335d2ee735355955ed12cf8b999d155d389b1a3caebdfbba32c883ef7d0e112d86e6149a3328b63b9385c68fe8a7b679e8436aef7466067a8e8bb49e31675729b3f448e7dd3c048973d2a5f8f7173c4428f3982a99361fa691d1588e39cd4485c450158\n\n# tcId = 347\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = valid\nsig = 09d8512c4667994623530a2317bbda738eb8917bc80c84b64793351463da171bccc88b95049a57", - "ccd917a4687da3be63db21b0ad0972ed9ed182f4ecc8e06647675340192a57e6591eacbf15d2f5fbdcab568b16ed86e668144d9e676e55ec4df1dce61f672de9f53d1743b72993a5d21ffeb7ab58e0f83e297cccbf25ed68c70dd8441c119afb6c07fb1d83edd9bc1ac34046733c8b827d002c3b6072d74a6c2cf7f1d968e9f7b0873de8ee5adf902dc68fbc93171f763c425964ea6e3af6691f1a303ff7837adb07a09f728de3377fff74adb34c959d363db650fa5c3035febfe8c62a0cde3d006a9d34d51c5b2c4a1dd4f2423c532c6b5fddf03e0a05fdf8d857f98787d6f55f0ce1d0ca95a37177657035ee48bd4f39f7d520ccc48ee999777868b4c3876e2242f59b725798bca28ae66c267c507cd65fde612c1fdc9362994ee31134d5561ad7c3f523858f43611c249cca3c134d00ed966a82b800da11add213731b58caf232fb2094e9dd42ceaffc7002f1592e79b85eb6e39ed5de8484f5509e0f54166426095e8522f88363fd0dd7bf64414011a710c7834958c0aa308189819cd4488588b84729dafe163e79856b913ef55afed55e83ee5b812579b87cdb80d5bc9ffa02ec32a0d97b0a56bfaead58a438cee53d40dd197fa2eeef4aff98eb5590163e68b5f3de443909769080c8a6bf87e3808bf265a41a3b79f8\n\n# tcId = 348\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = valid\nsig = 798f597e9ad4ba8b3d00a9527f4e785af5c55994e2953046a1b9062945e8dfa35eedb1e31af3daf1955d7b0afe74fbc53739b1aa02fa2dba629c31b211cd513e2248ed847dd579406ab603d3369de3bb07143a581734fd8b1ca0358c4fda639045be1f192b233efb8848bb2c544e4e188e0c7ce311bb4841077d15051c6f6b31998ddd8a7bd30d75b7b3c824358bccb35f8ffa8c0fc5ac37ed71cdd48ed3c0269a638317756bdc9287043be1b4f3c6ef6423f1d0d38857c195e7be81c3778648ab889474109ff3c7be0fec790d3f5f50b966e3df40c566f572f8f252d09e97d4c90442badf820c7db74d6fbb004bd7eb53c0b1a871bb9f480821bbb48b363c85c9866bf8a86de9c6732a3136f2c80e88a29540a9036b72fb8f4c898e7b487c41d0f693c91309bb3bc06f1e3b2fa9918c31ba2a4b82a37a927784a7c7d2aadc3301524ce2708774c3e2189ca188b3d85a33348d28ed6f080a06452bf8316d483e6a5e28b831797f85a8ca5ca922bcd94b9045f588ea9e15f2a20dd26817eeb80b3421c5de72db98843dc719cfb1aff1f927ee1df1bb718732159bec70d5b6d0f98a3fd5d42c31ecf4124cb1759f183838d676eca2cadb4d57f2d6a52cd0115ffec0fd79c99aa78df8c6b54797a590bfefd4c34e4c3f39750ba47f4d8002a131b870ff8e65c6c37b75e5c54c8a2bc2fdacedb41f30ed8bc9029819b7064b6514a1\n\n# tcId = 349\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = valid\nsig = 41fa907da9f78e107b58ff6c4ac0e92a9bbc7f5b510260572fce4ef047c73cab3fb0d00b353b4cb9256dddad432c5815652bd83c78e657075781140de56189ecfbe1601f24bdce05c63f511a3d04673d24c4e943695d7812aad66f374a74a906177dc729090070cb5d6d518e7045f4cdece06ce2ae42e1177c46856a8425e60bb06040400c8ba0efb8d4f395a4377d4c2c128c68e6b30e358a73d9904d7aa1e517ef396526cb64d39b3b36ed7204b3bab1d91b23ca95b2ca1da3eee91c7d27b4e4e658fbf5060a79cce69be1d95252b0d7d7220797a53982dc371372969d4e06556507e7e7870a9efd9e03766702f217be1c8f7f80006c08d13e175040cf28b215deac6a1ebf3520a3ad9e91f9072dfe50c69d1aa5a0df73ad63f72831b055f2367ea35cfe676a4f7970bc85e2b58917d1bd449ed3d274ac40f7a515e261df3d067a277ae610e4ee4cf68b3a947ae8c8339c818ed10e73b6480577b2a13722023cbb09d3b378cfb71f6c86bd481ee09a1fcbb807338e968aa5af993697eab562aa4975562eea6b1169e86c75ef13e877cfcd4608994eadedea3eba55af19a7a55b19e92b974450a593cde717bf0d7ddbf0bbe8fef90816fecf86ec522a2d06a04ebbc50a1eafd67aa461a8a9cd705ece0bbb46cf773689cc19cd69607594fd2ebde06aaa1e34ebec001edf318fa22245876461fc46126172db41ae9ecd74700e\n\n[e = 10001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[n = 0c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sha = SHA-512]\n\n# tcId = 350\nmsg = \npadding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e\nresult = valid\nsig = 9cd28bf41b99fa4df2852d86536257fe111f63f01815146c057dc3bda9b6633e49495d38822392b6b901e6ac69c4f09623a524e49246c3710c85a1957943d89c8399b0c2a649938bb07340f14c6981a0da0fd35163bc7eedac80ad1cbf06a4c32a4a08523554256eb221395c76e1f79a5e3c5b9636673db3ba27eebf8315468888671f8441324e092124df31d396ad8367eb7c9d0afa44dae85d56208ba21ec7c1f0ed6a3678f5d97ba7089422c662d86cd514fe853f38481632197c1ba07e4d92735eef3b75afc25ffa900769c74ba34f2d157e74bbab64cf413bc858cf6c393e8afe24f9e71168e97db96717d0081d88a27257d8c692dd0e001f3fdc2090512550ad38725c10a201fc50f8dc89ecf363b4d21a7d815eb78557d42e657cb44bfc785203e8de00f9e18af1c8e12953a33b0717af215d9b04b71fc320bdf4d558faf55d03d30844237551e35ed6606bc706ca43a47e6c493e14719049065eb8e00760283ee72c1ae3ce019ce3263a90b8340d1a47b49b78d5cae9602539b379186e5c1e847b69c75152036c8d9ef3c77ecd151bdae7ff36a459d0bbc1dfa33ce3dcd94ee2cf6ee08a77485746306ed987eebaae2baa544b543b5afe143e4122ade5adfa4fd463a246f29482dce7a51573aa18fce87f7edde842e7f21ff9e40c4101b922616ee4c14ea1af3c4d417fe8876af381027d837fc40dc684e81b9eecd4\n\n# tcId = 351\nmsg = 0000000000000000000000000000000000000000\npadding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3\nresult = valid\nsig ", - "= 659ffcbf6b22f5d201fa4114077aa7df32b513a1fa5948ee01f6e21c1862a2b91863f7aa53d1aadcab9347955210a91829a5f7c86b3e2850bd1f76b3c4f4333615ceb22830a7a9d7a13436683a48995bfd62f528ef4959d30b6ddcc8ed2a431c06c337250f8274417f6369b7a08b927885df52bd7370d3675094bf1bd32a7f5b0ca9a399a59f868cfb78f87b8647ab37d0d7a58d6f4a58f3e3df7ae88ddfa6470050229754f4ccfa265cec0635f0360c485d8f81974c6b8a11adce3775dd01936b82db37641ecf5f43cb8538055a053d4085c38a8a1c4e0c8af961448a779288c5efaab1eb4401c8f388c0b729e42243d935df1ad3705c1c5a7ffb6ea8ce77a69481a3b930f95ff118cd0fdb17393a37139b3b5a9c275c6bbbc819e18f49c369153bf1f7807b450e54fc28065a6ab6d5b0ee91d0a9302ebc0bccd35c2fb2fefc341a954b67e91f6d8f3f7b62c5fbe504508594f357b1ed951fcac7043a082b9bbf41ccf609881861e2de15ee99d373c0e99027ff240c0b6fa52be2e199967860baffbe25b3254fcd375da7152bb94ce8dd01465290fbcdea0838a69576e97e63cb636db79c2799a26f94a9fb044e3bf66c520895b4683bd799e6b04ab62f621dc00f20a4adb131606f127b84025269466c760181d7dd9ffd0aa5381180b541e5e933e1841d6386ec55a63bd9d8674a775526d30dbe34e4db87067a9326c6dba0\n\n# tcId = 352\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = valid\nsig = 46eaa4624a4d2c1f1043eb3d17b48d977819a8796f48f20174c50da624c657e64d3154dcfa2a5b1d8c6d2ed07cf1f1c19aaa611d6466f7e7ec73df5ee786573adc5a9e3c1d0a25559dad282db26e889807764115a05a23959acf48d23b3b33a93d8b6c7de3ee446f113eef96055d285fdfd27888e569c50f022d5e8abafc874dd5a61df6258e85268bff66cc5643107f7d9097496caedc185b37311ab6979f273e5670f143146b68e44b49389554772c1ca7bb7a12fcf67d67a1fd0c245bb4cbb924276ae756098599392cde076a1c0edc8096d9125e5a5d30c2a93d00fe2e0362e98592c8fd31ab5b4c3b34e65d38ca0c25874eb394e04969982b70932616b75ee2912c6a07f20ec70e52be630ebe024c0622aed125e00bc84980416b80cba7752eb90af2b8215c4b559880d2e1c577b7374531038083725d23d02d4fa5d8b5a4c68e9ea5e11fe2d9e03c1b8a4db0b053097b5a175b1131e8beef5d559bcc3f17ed2e6f6304c0e4650a2bb675aa8de44af8a2e301734584eea145c4b389f6180e6395412ae70e57f488ed15d45895be580bd87cd916b8f20e46ad2fff0367dda54266778bb444c6e4fdd45fa62cae3aeb54b6a7a6b4d8068e3a4d0730f0260340a6c32c3c5d33f514612c941bb63d730df5584933e12546500495b5ed3ba3631a3db871d17353d4c16676a0332ba4c4c4c68cdb6ff21ff737ee249be153c1d9\n\n# tcId = 353\nmsg = 313233343030\npadding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\nresult = valid\nsig = 12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0ee914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee\n\n# tcId = 354\nmsg = 4d657373616765\npadding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e\nresult = valid\nsig = 27a042625f50673fe9edab9aa2fb4c60dcae0be2e8b75662bdddec7b1d698065510a193e17981bb0b1c32e46d237e15915afe2e2d4890c09907e1866095c19763524b6c8d2dbb7814ac5047f0a082f7fed4109741f4719e12ebb91f27a3cda71e80ec8a7f6c882ea5b3de3c9f156cff033a0d3cf787f9a8a833a29d0c96f0b68ccf55ffc62098e21f0df1832b70878dc94ef1a3260ec2fa56dd3c4fece5d855644d26012f56d2af85a0771d61367b7e266577e44c444347970908ab6cfae42069e2ceedf63679c2bd03697957e287d156b2717a416f0e4ad96868e1c7b80eb84e99778f670ca39c15e1f901def1efd824ea5f7bbe127dce8c8f53d849fe1172a1254caec13b10b0612e72d3f8e7206eee2620e8e3c0ea176deb4b1fdf5d8d37b57af553cf7628ead74443f98655b5166cdc08190d7e3b134d71c21bfacde3e4673529e6d8a9c7a8b419451e7ecc6c16a44b8e1b3f2c9d1c822df8f2b51d8fd027074ab2d1c52d16aab0a266c7d9ec03df7e631052e67a28963bf8560e89326168bb7c8f5a152f7ac54a46e88190c62a938628950df881a4be4136a55bad4f608d39ff37907a6f99bdee065e5ccd2921f8f1a2ebafcb336fc6ca96a207a5a0a7873420a2ea383a5f1c604c93b6c0ac69244f05d54cab184c6592e9bc4069df60d3cbcbf16729dc2f3f3540474890abef29e1b21dee8af0386ab61784d7af8d79c\n\n# tcId = 355\nmsg = 61\npadding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75\nresult = valid\nsig = 2e642b8a5208890b52187729c43a1a308cf6b846ba1c2fff152ff4a1b051753f14ab035c2f3f732d5a9df7c2cb732d09f8147509bf02df8ad26924eeb04dded8467b66c5e3eae384568f624e55c81cfd8e3204422677ab62d919a176471b1fa8bae44bcc8d4d116a6afe5ea2773ac52a24186d6a4374171ce0516bba8733c59f38d622b7b6b7ca7ed2123f7f46b6c06b02f4c7506c46327d7cd908ddd503fd42be3cc896008eb9202bbd7af08b9908121a8b27fa44747217ef72a8c549444232e9209ca1345ee017010409527faf0722e3f13641ede5730639bf560c8a655e2f96cbba7b2811da8a1fc3e5125c92754ea7b823f394998b8890602b1713c2a4d352066e01f55ea86fe3da71f9119300d84874b667a6538a90ab24aec2bdfd9ba9a5f0c3072d549653b16f4a4319ca398147e6753f9a048b5b250c64d599115bb717ce85c8370df62c93da7e10fe705a12482e6f25e6ef1f4851a305aa4dc21b08791885867fc10c5503a769a6d6794ab5a9cc5da68cfc3546b0e848ed8629ecded620ee3fa6dc1236b59874916c45f9c409c9889bb85d7b289ee5f45f6d33262dea83b32c071417d3759cf650b9d43468ff0c2e922632e8d73feb4c55fe4233dc1f0cc6f6e522fbc9e9362f1d69441d56ee5f3252dc0559339335901f539ba274cc3640ec776a12c5c7e5c1cfeddedccce36884ea01071c2bcfae7ebfb5b874e6\n\n# tcId = 356\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0\nresult = valid\nsig = 811dec041124d3ed9d5eaa9c760ca5756e42525687d4af701231671e8f7f4448ea9b9eaacbd9c99659ee3c175277d30cdede73e1b332ffe41b8b737150ce1f1c67aa6b22ff801077c4241a6ff4af8f4db9462c70c13e1da86edec4042a70be9d08384d932681dae48fdb83149170472564a5bc68cbe952c76e476b99c8a5a1ecaae809690a014b28224ddb9c9dce0d4f6a77fa2888a71f3aa9b5deda0af40ad0464d9adbd26fde242523c096106124048bafe824f733b0af480056de2314f5e27db5aa3fd15705777e14efd2ac43beb12f8f496d09103ab377971cdd45e9afee8baa874c23d3942ee3a505bbc3901dd4cf55ea8a30fac0cb754793fb2d8f4edc29afd51b99140a8d03aa0614169428205fcd66c1047d3366fb32f1c2b1bcfed8ae23580ed254c3dcb127daf16aec1892714ee05a1ceb4e561a1e9c8fd4118ef8cc9e063bd86c55d28b8acc9d5b4c589583e7c6b78fd518d8ca85b88517f10c27aca2f0bcfa54ba5bb94ed5b005e3d871b68b86e96adf12588037adc97cbef59c05f0d2162db2e4cce41227df11eab5449d612be56ef6fc522452573340d4d68af0178d4f19db6a0ded521f1a982bc5567dbde2036f74d6d67b806ccc7c7f70d3092c22c9c1acf307b751d994fa5259a5046668a047afe4c3302e908bf70bc6b55c39726bf24ceca809357c623b89fbf0eaf8b5d18823337e7e0245d865574cb9\n\n[e = 3]\n[keyAsn = 3081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keyDer = 30819d300d06092a864886f70d010101050003818b003081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keysize = 1024]\n[n = 089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f", - "81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf]\n[sha = SHA-256]\n\n# tcId = 357\n# short signature\nmsg = 3831\npadding = 3031300d0609608648016503040201050004205316ca1c5ddca8e6ceccfce58f3b8540e540ee22f6180fb89492904051b3d531\nresult = acceptable\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c68149efc8a4a913a26c9170590a1ed9064323c12b6ebde15ae8c05a0e5205c91f57f5753815ff39c918\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keysize = 2048]\n[n = 090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1]\n[sha = SHA-256]\n\n# tcId = 358\n# short signature\nmsg = 33363730\npadding = 3031300d0609608648016503040201050004209385aabddf6b3fe60d2955cb9303e9354b775e8fab2f95cb72ecf3553c64633a\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keysize = 2048]\n[n = 0f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f]\n[sha = SHA-512]\n\n# tcId = 359\n# short signature\nmsg = 38343432\npadding = 3051300d0609608648016503040203050004406114f0b81fa48090bf41e600bbf301f49262bac5794aae087d8921eb23bf4de867fa9403b85e21cf6f59a14127ef0babdbc425d415f15c0ea18d2962839471cc\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keysize = 3072]\n[n = 0ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83]\n[sha = SHA-256]\n\n# tcId = 360\n# short signature\nmsg = 34333630\npadding = 3031300d060960864801650304020105000420", - "5d19d2275db8df24fd8e87092599d5b8c7c798f483bbb6cddb4310353b903971\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keysize = 3072]\n[n = 08733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01]\n[sha = SHA-512]\n\n# tcId = 361\n# short signature\nmsg = 36313237\npadding = 3051300d060960864801650304020305000440925eb0238e4d842826b081a74083e55a2d89e67c524d5a903366c1e26afd1e478cb4779e6f69eb70e7034556745f6bddf9547987d8785a7deaa8765aaffbf2c5\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keysize = 2048]\n[n = 092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d]\n[sha = SHA-256]\n\n# tcId = 362\n# signature is close to n\nmsg = 32353934\npadding = 3031300d0609608648016503040201050004208f87edbf7e3fbfba22df722036c493b7b8f35321b7d147f22c4789a9d0a4cbc1\nresult = acceptable\nsig = 92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622\n# The key for this test vector uses a small public key.\n\n", +static const char *kData117[] = { + "# Imported from Wycheproof's kwp_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: KWP\n# Generator version: 0.8r12\n\n[keySize = 128]\n\n# tcId = 1\nct = 8cd63fa6788aa5edfa753fc87d645a672b14107c3b4519e7\nkey = 6f67486d1e914419cb43c28509c7c1ea\nmsg = 8dc0632d92ee0be4f740028410b08270\nresult = valid\n\n# tcId = 2\nct = e8bac475d1429034b32f9bdeec09a37f9b3704028f1e0270\nkey = a0b17172bb296db7f5c869e9a36b5ce3\nmsg = 615dd022d607c910f20178cbdf42060f\nresult = valid\n\n# tcId = 3\nct = 4c8bcd601b508ef399f71b841294497a4493c4a0014c0103\nkey = 0e49d571c19b5250effd41d94bde39d6\nmsg = f25e4de8caca363fd5f29442eb147b55\nresult = valid\n\n# tcId = 4\n# wrapped key is longer than wrapping key\nct = 9e4510cc84c4bd7abab0a8a5d7f1e6ff3e6777ca2dff9be7e223652239fe57d8\nkey = e0e12959109103e30ae8b5684a22e662\nmsg = dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 5\n# wrapped key is longer than wrapping key\nct = 8fbf39ae583bd4efa7a3e8f7b86870b34766ae7d8923a8e97b0cd289ad98cacb\nkey = dd583d9f1059861430ec8b5d8a180e9b\nmsg = f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 6\n# wrapped key is longer than wrapping key\nct = df2fbe5fa86418edc7b5b04a4aea724aca17e88cedc84ca8b0b0f048e64590cb\nkey = faf5ccfae42b43cee2c5f0f3177a7c5d\nmsg = 4e02084833660c463830483b36dab866c64c8cf7429cac3d\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 7\n# wrapped key is longer than wrapping key\nct = 67f8edf57f84ea0a35b35511d67d3f299c9984b2c07d3809c3d7f5f45091f1a8fbb937ed447677f6\nkey = c2b9d23f2831ddcdeb456853d4014db9\nmsg = f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 8\n# wrapped key is longer than wrapping key\nct = 60d55a22ba7dbd7d8f317388e01e6be561d15d29f85c566f1259aa7e7dc3d5d30e0ef5f4c6267553\nkey = 620a08f320cdedbf7ae551add348d95e\nmsg = cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 9\n# wrapped key is longer than wrapping key\nct = d78a8291108f0f2d8be0ec10ec08240bf4d3021f0a5ed7faba0748db73762f34a0504bd373212df2\nkey = ed089ac274f8c7cea2415671a94b5e53\nmsg = 6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 10\n# Round counter overflows 256\nct = 9341221aca1c647e2afc2bdd9cf4ed6e60058eb0a84cb3fc2daf3a87d9fad0a1f8268b27aaf7201d705e72f7e2240309ad98742094e3f1c99b7faa9ae181b441f5004b8bc93cdd4160d403d0884749a3c379d47c112a45788c05c2106c98f59758d393e04c880691b0e8683a12df7f876e1e1f68b4acbae9cc8310b34d59ccf4617cee72e845df1e0e32e5b4938f2923d55f1bb5156dd8c787401e6ef241ea4073d0a59ddfcd7a53db5d89b480b030cfb9084ea8479b964f090bb612d5251eee9ef8870a45f1e76fd24abdd9b350fe148b15a4cfeb032d57b5743b3548a7ce9eec8e21a31ce832530edfd1cffd9bb37369e6463c6b373ab60d80b0a2677e92e658f7daf2a5234b7312bf2d967cd0bc809e9be2f706ae63bd632fd611f161e48ee19677f3243aa0e91f6651a1cef62feff7a72eedf830bae1dc6d89e55ccb5e6f97889c6266f7d3f2eb0aea6c8c42200febccc5916825368adc87e04e835de06fd7bc2805c219e7f0b6252563f29969b1f30cfa1a8da4b90ae7534fb849d068a7e77de7360f8af173\nkey = b6121acad51038e11873aaa7e6c7be06\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 11\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = \nresult = acceptable\nflags = SmallKey\n\n# tcId = 12\n# wrapping small key\nct = 09bcbab50b8dd45ad83412e2919030d3\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 4c\nresult = acceptable\nflags = SmallKey\n\n# tcId = 13\n# wrapping small key\nct = 0cbe852cdce4f0b5333366f446b2b1c5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = be52\nresult = acceptable\nflags = SmallKey\n\n# tcId = 14\n# wrapping small key\nct = a9dc66e03435ab3d4f97ff66f2c911a3\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 2d5244\nresult = acceptable\nflags = SmallKey\n\n# tcId = 15\n# wrapping small key\nct = 1b970c8ecb4187447e60e6083da03086\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 6c3d3b4c\nresult = acceptable\nflags = SmallKey\n\n# tcId = 16\n# wrapping small key\nct = 0344f7b34ab8ef28aaa843f276b0b3d5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 0412ab3ec6\nresult = acceptable\nflags = SmallKey\n\n# tcId = 17\n# wrapping small key\nct = 17356c7148334ca1a24aab7e82a66e18\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8ae08938929c\nresult = acceptable\nflags = SmallKey\n\n# tcId = 18\n# wrapping small key\nct = 1db7510a55591a455d9f8167e6db3c88\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 7c8dfbb68d72af\nresult = acceptable\nflags = SmallKey\n\n# tcId = 19\n# wrapping small key\nct = 936fe58b629ea6ec158145218f2361c7\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 536f8f83b64771c1\nresult = acceptable\nflags = SmallKey\n\n# tcId = 20\n# wrapping small key\nct = 6787816804b3127d0ca4073f1dba5c4d3db1ec9c227e6556\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8571f282b18b64ec5e\nresult = acceptable\nflags = SmallKey\n\n# tcId = 21\n# wrapping small key\nct = 34131c3bfcc48af15eea8672e52927b462f81d5ba0e6260f\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8ada889862813e364c4d\nresult = acceptable\nflags = SmallKey\n\n# tcId = 22\n# wrapping small key\nct = 4d1ec9287cd4dd378b9aefee79d4ed35bcb98ad9fa9fe529\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = f9c56e8058758a5c7c2baa\nresult = acceptable\nflags = SmallKey\n\n# tcId = 23\n# wrapping small key\nct = 7209f5b6bd5d4916f4995d280e9aa89edd5e96e3c9283ad2\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 7c7dbc83fa62206a521ed4ad\nresult = acceptable\nflags = SmallKey\n\n# tcId = 24\n# wrapping small key\nct = d85a1efc6ab3a40948f723d9810a5deb019b3ce0208a0d94\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = a6614daf00df6d14f50388bad5\nresult = acceptable\nflags = SmallKey\n\n# tcId = 25\n# wrapping small key\nct = 43509b5df3688b6e44c1a994592f4c03da34712f886e63d5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 450580a47d7008321496bfb82f48\nresult = acceptable\nflags = SmallKey\n\n# tcId = 26\n# wrapping small key\nct = 16e369351c40f220d3fb1197f35da652a3a40ca3b1e99bfb\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 9efd21e13855eea8907afdcd8935f4\nresult = acceptable\nflags = SmallKey\n\n# tcId = 27\n# Modified IV\nct = 4cdd2962f23ec897d41d14c3f818516c055799185f459e2d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 28\n# Modified IV\nct = de895192c35ec58ee6e5614fd2b20a85f8e9c8234cdc5319\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 29\n# Modified IV\nct = 4a24069a050af7bbcf6c2160d54525e017e3ac1b3a2e71f0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 30\n# Modified IV\nct = 6252ab0e688d0638df7d87ec5be3b2f9c0c245c0f0794012\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 31\n# Modified IV\nct = a2ed5982a604512d85d87630cd50705b1a70189b81575e3f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 32\n# Modified IV\nct = fed7d02db4081728c55cc17f45f267117347e526f4231651\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 33\n# Modified IV\nct = ed37722b94b08b6a6f7663fe90acd81dc25f85abd2f65c06\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 34\n# Modified IV\nct = 0adb0f47b890efed426e7cf5dbd67d5cd3d9d4807c34bc7d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 35\n# Modified IV\nct = a0c51e687c46f342c78e3c59eee076a85312206a37213ac3\nkey ", + "= 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 36\n# Modified IV\nct = 8ac142d100eab0808b5f34ed29650163db77ab281e6f1e58\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 37\n# Modified IV\nct = db345851a09bf92c35855c367c8787e5ab3ff16e9d8b0f3b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 38\n# Modified IV\nct = a90cb672f232eb693a290523a10d8f988a18829a11cabd96\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 39\n# Modified IV\nct = c9b3a55603e490c450b49c8b79c9a169030e6985b6e95b54\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 40\n# Modified IV\nct = 1c90d7613c7e81e66d9374d72a8a6a0c40163fc69bccafb1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 41\n# Modified IV\nct = e381bb56d1354e40c01cb414118b9518934c9ad92663f5e8\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 42\n# Modified IV\nct = f2a87686a3baa37810eea23232e9b784f628b1c0b4a557a1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 43\n# Modified IV\nct = 36ef8fc13d0f1f5745e3939877b62b8ecba2f5f0b19f9e90\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 44\n# Modified IV\nct = 7255c4eacb4105a68095e9e5b5a4bd8f9623a0da5c6fc230\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 45\n# Modified IV\nct = ea26eec89a46ff1a628834c7247a8e4e45d8a8d3229e26cc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 46\n# Modified IV\nct = 508593fa85a8effd27c8a225981978fcec6e992eb488c9c2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 47\n# Modified IV\nct = b8a4cb22f15529864d4ced8e8abae69752a9045a084dfc3f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 48\n# Modified IV\nct = a0a6bf5e47e89706932b1057b680c3c81dc4d9d0b4f9153b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 49\n# Modified IV\nct = 11f3af4ed30e77520517c880f1d0c272a89a968dc697cb5a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 50\n# Modified IV\nct = 6fc912a0bda73bacfa93db4002f18f349fa30f22f7a95ab9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 51\n# Modified Padding\nct = 96518bcf3d24b1c6c3c6ed642a3336531563abaa9bc19873\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 52\n# Modified Padding\nct = eceb8904c71372a974dcf65e2ee2e8eac035953cf41bf31e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 53\n# Modified Padding\nct = e8e1f4d621dc0d10786823eefd73e1d98873900fff79cdcf\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 54\n# Modified Padding\nct = 5aae3ef6d59abbd1acfba77d5e660a176b45683165398912\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 55\n# Modified Padding\nct = fdf11a815beb61c33f293801c33e681e296782967ff6c56b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 56\n# Modified Padding\nct = 62cd9fd59aa08666b6d0e5fb0ed60b3692e87e680ea1d3ea\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 57\n# Modified Padding\nct = 31a9c782cc94c6fcd26e0aa6ee327fd01c5b1997ec70e22c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 58\n# Modified Padding\nct = ab29c3f5a4822bd572e43fdf2c59c2dab20327b9a25dcb87\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 59\n# Modified Padding\nct = 078070742b07caa793dfcab4d1c09f8df6a99f494ed00ea4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 60\n# RFC 3349 padding\nct = 3731038571c35f7dcc55e48892de353e54c079b89774bbfd\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 61\n# Invalid encryption\nct = d85c6bfd092df1aeae5a548e47aa7681\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 62\n# padding too long\nct = 7a92427387f5587ee825d1ffa011c40286844ecdadce31cd9678338694ea2682\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 63\n# padding too long\nct = a437d354606ae752894feb62c8def7d17046d8e47f9aed755fba48b3a3009e3ff67d34e26a779064\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 64\n# incorrectly encoded length\nct = e8d240d64f16d1522ae2ded42ced257dfec158ff2fe1467d\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 65\n# length = 2**32-1\nct = 6d1bfda356b7b954e7aaccc6df953322f75be95947b02b30\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 66\n# length = 2**32-1\nct = 17dbf878ef4076cfcaba5f81d7b123d7\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 67\n# length = 2**31-1\nct = 75c23e253478037802fae0f86af9c78d4e4d9be0c3bff89f\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 68\n# length = 2**31 + 16\nct = 55717658c6a35e15ee36c66cce91083b63091f51525c0b51\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 69\n# data is incorrectly padded\nct = 8ede88a52ccb8a6d617456955a9f04c94d87696125ded87eebe3e97e185496d9\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 70\n# data is incorrectly padded\nct = 5b4a8f1abffa51676ac8b5ddf9366c12\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 71\n# length = 0\nct = 205cc6dd9592da0ebff6b4b48a0c450eeaeb11a60d33f387\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 72\n# RFC 3349 padding with incorrect size\nct = 908a68b0d2054e199220d37c34a2e136\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 73\n# length = 9\nct = f84bdb15045cee3a8a0f3ed2f07c1771\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 74\n# length = 16\nct = 7592b1ee6ee92c9467db366adcfa65bb\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 75\n# length = 2**31 + 8\nct = db93a1db3b5babc80a304d527682c1ef\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n[keySize = 192]\n\n# tcId = 76\nct = 5c117a678223cfe5ee691503061e7ab1e5f720e005171b32\nkey = f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe\nmsg = 9adbc00c710b1101bdf6a4ed65b32d72\nresult = valid\n\n# tcId = 77\nct = 6a7f9e03b6f379c56da3a56d8f32eba515454a91fd417449\nkey = b713f6b7814f98894d7b153974684359f1460213eb74be68\nmsg = 78585f0c49922e82caf17ebc3721b4db\nresult = valid\n\n# tcId = 78\nct = 764097f5ee8236bc0d93bbcea139a652f4b211cc33a61ac9\nkey = 13ecf423211caa334ba6db37259a535c20de8ad10fc8c432\nmsg = 4fc75d0f221e22408a37e11265d49a05\nresult = valid\n\n# tcId = 79\nct = 04b83ec803a75bbcb2f87fc6f488a4ccc1827b412483070eed195b6f0048ccbe\nkey = 4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1\nmsg = f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5\nresult = valid\n\n# tcId = 80\nct = 46ab71f032cb1ccbcc7447a5183574268c0167a26a93fe8422bf284417aa93ea\nkey = b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e\nmsg = 0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a\nresult = valid\n\n# tcId = 81\nct = 47ca298ee47b1b755a499129347e11e7a25754ccb6c2689e8eff270e98c81d18\nkey = f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000", + "\nmsg = 241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea\nresult = valid\n\n# tcId = 82\n# wrapped key is longer than wrapping key\nct = ecac4c91758e1ae7bb010c34f4c5f99a3d728b9fa92cb778d3fe80d777a20d3de85ef46e7a0c6a6a\nkey = 1639f9f81e53e2eeb677a249e5eced3af108971301601a7b\nmsg = ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 83\n# wrapped key is longer than wrapping key\nct = 39b7326a44eaed08bffbd4aeaf3e2c3f899c1fd049384ed7b3eb92b788c6449acd6385f0bb18cf28\nkey = 1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0\nmsg = 50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 84\n# wrapped key is longer than wrapping key\nct = 3d2e9f39c7b13e9585227c4344fbe596f92b002456616f137deacc6a8c941649ce294bb2695c1807\nkey = 3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771\nmsg = 65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 85\n# Round counter overflows 256\nct = d6aacfb52c26baae78c2f54259a4e4168f817064344e2ba8fbfa7fae9f1fd69bd5bc5c1e20a6101b4a7119cbce028e25a9e93d29ee260c4e609baedee788411c2afe60218ce1b0d28b9c29b941251fdcbac3009d59040a0337b8b4a3a020c6d8f310cba63db046d8f36b64c9092e75cee463fc7692ef56bed395c4579da0ecb02129e45ad8a7f116aac6170204888e40693f017a6a0a7dd3962004e60db3a9b6c8b7614a467ccb799bce1ba83f5c0921f1e52bb3909bc0486ec0eaea736498f3ba520a519c3ddf491307958620b737613417b15b438b80b43189baa455031f5771502002ea170c767b33d247feebce62e606f2262537f85f18d1951cc75cedef291c6a501cb1778586249b58156eb8d7283a3f508ee8bcc1206d77bbd6892fe74b865bfc02a8f07223087a6c1e50a41b7cf5f6ee04bd07766b2e5b34c4a7666b0ce06f670e6434a59fb74e0df36c91d94e5e8b721e53e09b6f6504c5d515492a373fcc348a63122cc6e4716e0e1a543d038c6f7731199f691780a8a655cca6718e3dc56e815b3669\nkey = b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 86\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = \nresult = acceptable\nflags = SmallKey\n\n# tcId = 87\n# wrapping small key\nct = 52c7f388d0d4237afaa29f2b94723475\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = a3\nresult = acceptable\nflags = SmallKey\n\n# tcId = 88\n# wrapping small key\nct = 833431ce8799be69b36aafe3f38d9dac\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 594b\nresult = acceptable\nflags = SmallKey\n\n# tcId = 89\n# wrapping small key\nct = 31674f46b989f6ead582c70dedc8c6b9\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 72ab34\nresult = acceptable\nflags = SmallKey\n\n# tcId = 90\n# wrapping small key\nct = 80535172d2a498aa31601d70fdca9dea\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = d4d9460f\nresult = acceptable\nflags = SmallKey\n\n# tcId = 91\n# wrapping small key\nct = 56232300dd7b2a71d2328b6df47af8e3\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 643972e552\nresult = acceptable\nflags = SmallKey\n\n# tcId = 92\n# wrapping small key\nct = e27e08efe39adbbad8d300b87be2c258\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = f3cdb73d2561\nresult = acceptable\nflags = SmallKey\n\n# tcId = 93\n# wrapping small key\nct = 8f90942cdab33e58b24a23ad7efb7538\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 7b0b53b6429e14\nresult = acceptable\nflags = SmallKey\n\n# tcId = 94\n# wrapping small key\nct = 0ebaf23c858015d3bda5b8d908db6049\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 6b2393773e6d1378\nresult = acceptable\nflags = SmallKey\n\n# tcId = 95\n# wrapping small key\nct = d56f89977b8eff511158edad6b993007189e5a4b8c0e2faf\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 2c52d6639e769960e8\nresult = acceptable\nflags = SmallKey\n\n# tcId = 96\n# wrapping small key\nct = dd889475a76733849f59bed49a15d4315bdb5ba00dc63470\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 707c9356216d69c69048\nresult = acceptable\nflags = SmallKey\n\n# tcId = 97\n# wrapping small key\nct = 1a9b3369239b0f40a8dc5bd8d965caf7431445799337b99b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 615f6fa79e1847e7359a8a\nresult = acceptable\nflags = SmallKey\n\n# tcId = 98\n# wrapping small key\nct = 5232f8f6679a17d3303b0bd72b06b56b5089e80372dc295b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 7f5e999168ec60624426cbb1\nresult = acceptable\nflags = SmallKey\n\n# tcId = 99\n# wrapping small key\nct = e5544361c60980f3d38f2d8820a150f48f49ef3f9184b29f\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 3f93aaf4463775baf6c0c975ae\nresult = acceptable\nflags = SmallKey\n\n# tcId = 100\n# wrapping small key\nct = 55396065905915ec914b8d1efbf471e37d283fc2c1496b49\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = fefcf10c976309b2beb085771e50\nresult = acceptable\nflags = SmallKey\n\n# tcId = 101\n# wrapping small key\nct = d90376be302a24c541bd6d96094f0025e3d73888391b4306\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 6854354d0099f7eff740b0587140b3\nresult = acceptable\nflags = SmallKey\n\n# tcId = 102\n# Modified IV\nct = 24f5b27f9e4d7b645331719ea8f2b63841b2324e61ce13df\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 103\n# Modified IV\nct = 5b5221464c7e960b31c3d6e5784e66c69fa0fba8ae315d4e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 104\n# Modified IV\nct = d17e8392b0d7e064f22770b7f38ffcdc572cf7694da9648c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 105\n# Modified IV\nct = 2f9ba2d81292a2494845ac8589f1a44affdd3d09044fc81c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 106\n# Modified IV\nct = 9258882e1812b1793c0cc08d6adc9fe9597d9270b1f0c3ef\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 107\n# Modified IV\nct = 8bdfb51ff4664220de3d87e06882c748490af56c0c5ef789\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 108\n# Modified IV\nct = 20a5b0fc789e8422e09a3128a10b6b0bca6aba2bde496aa6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 109\n# Modified IV\nct = fdfde90ee4681372c85fc5875dd482cef85bf69dfe57e71c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 110\n# Modified IV\nct = 5f2ba1d716b8fdee03f3fc5cc4c7ea35836bb3c073f02dc9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 111\n# Modified IV\nct = f241ce804660d60397789d4c67f4e252b55838144b199355\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 112\n# Modified IV\nct = a4f5b4f3ef5a6939949fe6dfd755f327ffa604dc417ea495\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 113\n# Modified IV\nct = 4e23f48297480d1a4afc85fc97d6d69f861f518bc00fe7c3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 114\n# Modified IV\nct = d9f0de809d4f6ef5815a3e6bfb09b11f0b51b6180caac98c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 115\n# Modified IV\nct =", + " ca5da3ab416a98ac387ac226f52f486b6ba30bf6f517ca7d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 116\n# Modified IV\nct = 6c41e5a654467ce13828d72fd3ad1a22083def182696e83d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 117\n# Modified IV\nct = 045d789cefd1da1f32761c4ba8e22bb126c322184b85e370\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 118\n# Modified IV\nct = a6a28bceb91551a395369ff09370658cc92b092855f417aa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 119\n# Modified IV\nct = 03ff601cf12b432078a2185590fb5d01e3441cf084bcb04a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 120\n# Modified IV\nct = e250d358d16d9fd20ad80a99656509229dca391aad3798f0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 121\n# Modified IV\nct = 643a17860b116ec74089bc574685a6328a3d7a07cd18b520\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 122\n# Modified IV\nct = 3e86e8128904f753c0f3fe3401ba36672966567725c4726c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 123\n# Modified IV\nct = d4b8cc849176b8344b0849490143d3512915171bd7d5759e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 124\n# Modified IV\nct = f84e0e6ff64e0b27b8b59b5b77c223023f0fea95433864ec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 125\n# Modified IV\nct = 4030b4b0e9c1b1ce8e52f6bdb48088e65b05844307989c8b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 126\n# Modified IV\nct = ccb3b36c26b2d901b7f0765362d992b2d5089c2a7559b195becbe173780352fa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 127\n# Modified IV\nct = 4e5fc8dccaeec9b1c8a606a2bd7d7201eede62b9c2e939a5aba663a6a040e361\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 128\n# Modified IV\nct = af21f5e7f15a63c8ea6001cf024f281e7f44aedd68954564fc2bd146e96d793a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 129\n# Modified IV\nct = 3a4f571ffbf761d3f7d413172ee1e4ae2862baacfd5ab66dc685b9af8b70b538\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 130\n# Modified IV\nct = 273de386d5fef497f9487afd54c1c0fae8aacabf2af465caf352e2300d29266b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 131\n# Modified IV\nct = 16511743dc44199cee1dbf5045141b075f01ee13326c9faf2c74b7c99791830f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 132\n# Modified IV\nct = 370f92db00f7fc8a0e654318a5b3ff89a604034f421339201d79e0ec4d6088de\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 133\n# Modified IV\nct = e3edd0e84832f3615f6deefb444de3b9ec527741686029db91de0bb9b2a5c05d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 134\n# Modified Padding\nct = aa48e6b6ed9ae707768d3e4cbd191d9988c6921d0ad17ce1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 135\n# Modified Padding\nct = 1f7170780b523e5c5970fc5bf35fe30e6505fb22790ba936\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 136\n# Modified Padding\nct = b3e5311504a8cf1194b73ba1f3b7eb82de1e6bf1cfdad41e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 137\n# Modified Padding\nct = 779ede9022290dd606e1619c7451630820431f8d67c498c1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 138\n# Modified Padding\nct = 9720d5bef7dda98c9462e1b2d73dd2ce016b6dcd7cd71c5f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 139\n# Modified Padding\nct = 7e310f4c62031b821539d78706a56a724c191af92543e8a3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 140\n# Modified Padding\nct = 1b2a588774a0340315dc1a934a8db6bb659e67ac8c8867b3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 141\n# Modified Padding\nct = afa72d66be45e9d98dc46779c186154a0f14b97b26e67e3e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 142\n# Modified Padding\nct = ea98bfac85f03b66b0c298c1fda726f1def4be7552f4ebac\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 143\n# RFC 3349 padding\nct = 36ee480138edf11e144efcddd24d2c121749da6e4eab17fe\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 144\n# Invalid encryption\nct = 166beb49e97a4a9cc7b0ccf441ec15b5\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 145\n# padding too long\nct = 74ff3070a0a08471c001febb95a890f35159a9fe263719e40c2332ce5c58fada\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 146\n# padding too long\nct = 4f0b38eb328d1227b1e17c103a44a373ff67cee953c59eea26117947b5d3ef8932c8858b4f9fb47c\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 147\n# incorrectly encoded length\nct = 775dcabab9e4be8fd9963a4dc7a1447ef82888403882bdb6\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 148\n# length = 2**32-1\nct = 669803237fa10eabb4d2c6ad85bd9f7df5f4a33340eb0ce9\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 149\n# length = 2**32-1\nct = c788504d786f5c21b6671bf190657301\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 150\n# length = 2**31-1\nct = d079f60d3258f5e695d1a73db008ef38516b713eca2c0eaf\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 151\n# length = 2**31 + 16\nct = f1ae4b8865013b0fc63b463e664cec3c6031f61f2de82f43\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 152\n# data is incorrectly padded\nct = 8874e1b6e15e3ef6c461411a5f5ad0c8b05368cd5b3ee39b2b413d18a4eebfc9\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 153\n# data is incorrectly padded\nct = 890a3dab8439bb73b14c6e99c34f0b0e\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 154\n# length = 0\nct = d4f633aedeb89e349a98738b00ee42c90d583b16e986e49f\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 155\n# RFC 3349 padding with incorrect size\nct = b8b2a5b1d3280dcb4daeeed43f36509b\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = ", + "invalid\n\n# tcId = 156\n# length = 9\nct = 4429cf64251d8a54a9d1389c01c30900\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 157\n# length = 16\nct = e5634eca10372c867c7f91ee813ec3f3\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 158\n# length = 2**31 + 8\nct = 9e517d4d0142e1544ba1e7419a696c21\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 159\n# RFC 5649\nct = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a\nkey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nmsg = c37b7e6492584340bed12207808941155068f738\nresult = valid\n\n# tcId = 160\n# RFC 5649\nct = afbeb0f07dfbf5419200f2ccb50bb24f\nkey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nmsg = 466f7250617369\nresult = valid\n\n[keySize = 256]\n\n# tcId = 161\nct = e3eab96d9a2fda12f9e252053aff15e753e5ea6f5172c92b\nkey = fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c\nmsg = 287326b5ed0078e7ca0164d748f667e7\nresult = valid\n\n# tcId = 162\nct = 9d2b42fb2fdb92c89fb0c3bcd9e1600d3334b4e35e791369\nkey = 0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22\nmsg = b40b6828729b456322a8d065abc0d081\nresult = valid\n\n# tcId = 163\nct = 5291e05abd55f5886850855e3f9f2f576b101acc222d6766\nkey = d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588\nmsg = 037b27b3dc95b19d15bd4091e320bfe1\nresult = valid\n\n# tcId = 164\nct = 4b1220525c537aec30ebcd562b694b4e9e2ccd819de22ef608b5d8090779d9de\nkey = 07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121\nmsg = faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071\nresult = valid\n\n# tcId = 165\nct = 67b2cbd68f6a208d647bdc5af7d0bccf6711a9e8fd0d9434363006addd4b9696\nkey = ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1\nmsg = dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825\nresult = valid\n\n# tcId = 166\nct = cfdbbd95f187508a488fe017c5e5d5a5975b68441d520e0e931922388e28784c\nkey = fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87\nmsg = 966b07047354966a703e79607b556032f4f596b7f9206f05\nresult = valid\n\n# tcId = 167\nct = b63b7e0fec7e315816233db6758fd3e744b9f6a40862bdf866487e53bcb950d8b2649269e51b4475\nkey = 38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd\nmsg = 80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a\nresult = valid\n\n# tcId = 168\nct = 837cfc316b49299edaf427e0988020ee876204b29d847669daab72c8660b0d860e9de3bd851198ff\nkey = c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7\nmsg = 3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270\nresult = valid\n\n# tcId = 169\nct = 0e9e2e9aa34bbf973d67bc534ac86fc5b5a5f9da5f026866177894ec6077a5c84501510e1bf4afb3\nkey = aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c\nmsg = 57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5\nresult = valid\n\n# tcId = 170\n# Round counter overflows 256\nct = 1c6b7e4003384f071bf29baea9098ad81da8e9862909329f52793b35d592c10dba15aa89400ea6403df8dcaffd0dbf5606303f109f79ad700ed5d5ad4e59950ce9ce5296c9d186a0df441973d1835f9ac000ad1a6797875c3a03161e9e3f5ea464032e407854eadca5a9e7a386bb0d29253e3804adefd8c0402cc8c40ac7f9041429cc0bb77a405b284baa2dae764ea09c654c0a82f2c5724221ba44e341503d3103dbc393c7702182f8cc2762ddbc873b7f84197709886a4b5df5b04ff9d21b79b50904af3c32128dfb9cde94fe1254d981e6ce3acfda82db1fa2badbccd2d29052a04a69ce1f5652f30496ea57edc7e3e885dd4a35ca15aba602bb4c888a8064da94c2ac5c12c11f608810af46fbb49c3e8f8771ff661f8d8dccd163d0c4a401b8b9aa74e68a56011cf78d21dc7541a974f9dad5ae27f8a26d1b0e76be2f86c6a21e9d1c2b5df3c8878a8bcae143b3af1f082afc52616eeadd2232926597b245d394931e02e493b0bc27a92d013e111694cac2c5a2a46e008a8498b5c31bb5ec35a4e9957e365d\nkey = b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1c02f9981ed49d16a\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 171\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = \nresult = acceptable\nflags = SmallKey\n\n# tcId = 172\n# wrapping small key\nct = 06c1e65ac0f385b4e8c400d229f39422\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = ae\nresult = acceptable\nflags = SmallKey\n\n# tcId = 173\n# wrapping small key\nct = c98da5936a1313eba1a6773b8060ea5e\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = c548\nresult = acceptable\nflags = SmallKey\n\n# tcId = 174\n# wrapping small key\nct = b2a77d9b837e87cdb7391e1df7cdaf14\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = f713b9\nresult = acceptable\nflags = SmallKey\n\n# tcId = 175\n# wrapping small key\nct = d8ecf20191f75aa36686298bfa5022ab\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = f375cbf7\nresult = acceptable\nflags = SmallKey\n\n# tcId = 176\n# wrapping small key\nct = 077362f50356fc7c54c70f9cb4306f7d\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = d9445094b1\nresult = acceptable\nflags = SmallKey\n\n# tcId = 177\n# wrapping small key\nct = a4bd6a116ad88a52aae3f0c0cb893f9b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = fab43e91ae15\nresult = acceptable\nflags = SmallKey\n\n# tcId = 178\n# wrapping small key\nct = 68a52de00ec0f1ebbedc38fee6be0c23\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 90735025797bd2\nresult = acceptable\nflags = SmallKey\n\n# tcId = 179\n# wrapping small key\nct = 3a6746052a1744cfe7e2f36dafc4042d\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = e43f5e4e123a03c4\nresult = acceptable\nflags = SmallKey\n\n# tcId = 180\n# wrapping small key\nct = db7e73da22219e1baac0f4e955c3db2b900b5d3078f94b59\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 1723eb9d000916996a\nresult = acceptable\nflags = SmallKey\n\n# tcId = 181\n# wrapping small key\nct = f77ec14a010777f1f1071808f285c1c00b4e9420f0e8bf48\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 8b18daecde14b8472ffd\nresult = acceptable\nflags = SmallKey\n\n# tcId = 182\n# wrapping small key\nct = 6b40d4f0863581a7d0365ad477568bfad94f8bf134984838\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = e5bd6fbacbf3ef0d40c884\nresult = acceptable\nflags = SmallKey\n\n# tcId = 183\n# wrapping small key\nct = 660f645b02405a18f7225b68c0a09a949b2b5ba784922cfe\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = b3be5e5397df5f46b099e821\nresult = acceptable\nflags = SmallKey\n\n# tcId = 184\n# wrapping small key\nct = 6bea6bf57601bf063873f47ec3572cfb9cfb595d8bdb5e97\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 4cdd960cabcf8aaf69c37da1d3\nresult = acceptable\nflags = SmallKey\n\n# tcId = 185\n# wrapping small key\nct = b631292536aaf02d829cc6d3c39e5a5cd76240889e9d51d0\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = da29e0889cf98742612e0326300b\nresult = acceptable\nflags = SmallKey\n\n# tcId = 186\n# wrapping small key\nct = de497acf18a177a3a9b3d8da46d74dfa58dcc537a3a95323\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 72aaee126a822184806c7d22eed66b\nresult = acceptable\nflags = SmallKey\n\n# tcId = 187\n# Modified IV\nct = 98428fb83dc207033c1585e0242e699be98e0001f1ee15ba\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 188\n# Modified IV", + "\nct = 60107f4c60c04c987c7c5810130303bd83fbc35d924f4482\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 189\n# Modified IV\nct = 38e8d42ffc1a26278c6fad73bd699f207251f6e1b622bf92\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 190\n# Modified IV\nct = c23f1fdbe6c021a04bfc386b55c8fe911481f82edf308d79\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 191\n# Modified IV\nct = 7cc6af073f8d21e26713222ba609c91b69fc5faee9870eb7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 192\n# Modified IV\nct = e7e5d96c0bc89dc23bff610db5ccfb5de8f97b74100b3492\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 193\n# Modified IV\nct = 18e77b855e322457a4942209f97acaed1fe6af0aea80c454\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 194\n# Modified IV\nct = 0fcc89e543fae40b914510c9064307b70ef12de4c8750874\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 195\n# Modified IV\nct = f795cf444efd94bd6a561d8cb0703ee0e979c073aa66fdaa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 196\n# Modified IV\nct = bb5d2e4082140258d6cb26a74af7c10f985e4a84dcd5d8d6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 197\n# Modified IV\nct = 47819be55567934b165a6e93ca25d3900103bedb86eab148\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 198\n# Modified IV\nct = 41b70a974d3fce94feb94b7b01d959541cd120f879cf60e1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 199\n# Modified IV\nct = 86b9f13e871ecb5aa009c80a31693336e59ae1ed3c8d7aaf\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 200\n# Modified IV\nct = b17c3957d85127aae1ae0a04096b19eb2e0f67583772182b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 201\n# Modified IV\nct = 2ca5c335226e3e171fde0f3401ba6835fa389f30f5288699\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 202\n# Modified IV\nct = 5b8ba944f4a961d6e4c5121279ea4d3fcd555b05e75da4ff\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 203\n# Modified IV\nct = 7fd3ad3aee0545da1ed3a54d5a198a2c76cf8290c011c042\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 204\n# Modified IV\nct = a24e94c12b2e6b776c8febe9179521beae0cfbd507d358b4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 205\n# Modified IV\nct = 9395b071fa3d9908b2e1b349bf7cd6a1cfc86b979c8c73cd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 206\n# Modified IV\nct = 1eb452770bc0f26a3576b604bf5ac72f714fc468c357eba7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 207\n# Modified IV\nct = b42bcb4161f40b30f3d2f740f43e441d3c9a39613914f1c6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 208\n# Modified IV\nct = f3d76dd320e5f1b3f85b8f73a9ebcfabfb8346daafaf36e6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 209\n# Modified IV\nct = b8e26164496942f44f16751096fb47952ec478bb288e72a1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 210\n# Modified IV\nct = fa783b3aca0ec1e677378f23ebe937776fa590ecc6b01392\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 211\n# Modified IV\nct = 8b011408049eab81cc185796b9636982c1ad28e940e5c35ab1219434c23e8c59\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 212\n# Modified IV\nct = 08db2f06aa2400d4cc1113b1c9e3ba1b39e3e26a84918f9266796c426c166428\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 213\n# Modified IV\nct = 3114404be000ee167b65dd3cfae3b10c50dffe1df864b5e52a2805f0c80021c0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 214\n# Modified IV\nct = 405ae5bdeff8b05d28ea55900b8e81dc789d532ec3fc457730819e762172f751\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 215\n# Modified IV\nct = 7c19e66d21c0f1409ee6f03a36ab6ba532349e2567200b95d7f5012b2b7e5d33\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 216\n# Modified IV\nct = 955ac67d6e496b9b93a4dda8f6e65e668f1326b256ee146a7647ba18deee7986\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 217\n# Modified IV\nct = c8600aa18be27279493fd68c84130c8bc328b0f6821e01e892b6c2dc1c005270\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 218\n# Modified IV\nct = 492566e0dc539e234b08b95fb23594a6d14f59fa4367799495c2e7f2993135ec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 219\n# Modified IV\nct = 0b0aa97121bb8e367b8e80e6518a786ab686f4d6b8a075c3abe534698ec462e09fba981615d43ebd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 220\n# Modified IV\nct = aa6eaa5b94f39247b9581c4d3120ed71e6a427eb51b2439f245d1762041dcf50741fc53fa7a95579\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 221\n# Modified IV\nct = 5cef33853f321f523951a27e41a68dfca418d5b8560484d3f233c5a45e7b69e7a6e4893e690cde6e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 222\n# Modified IV\nct = 62e120f39799ab7633fde15836b89b28a8ced5ecdc421939d8657e41fa1ea49a54da75b51b8dd3d8\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 223\n# Modified IV\nct = 9dc7bc15dfbc7da1a6f74bc4dfbc70091f2a180dbb76f9a6e9e18bcc3c11d2b56bed36c58c7dbc65\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 224\n# Modified IV\nct = e7ee36c6321ba0a30906b25e087fb0cabd74fbb0905b015ccc246cc90e5684605898a5a77983e897\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce", + "3497352690\nresult = invalid\n\n# tcId = 225\n# Modified IV\nct = 75c636384c4210ea46422f31a5622d001e8978c2b0fbbb79ce3d7c4b46bb3c7c2c9d4182571ae515\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 226\n# Modified IV\nct = b0116ad877c745d609f7df14b9225a2d69ab56f2e74077e34607b4e75a2883442864f17ca19af259\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 227\n# Modified Padding\nct = 64956d333265a8f2547756feab37b81f97786a4ebf491f13\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 228\n# Modified Padding\nct = 6ee239e916d27f8a8931740fda92657f98dfc68e5e3984da\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 229\n# Modified Padding\nct = 40c990f89aa7c76400655fd4167b04cbe24145c8c800dc35\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 230\n# Modified Padding\nct = f2a900684f167b9246b1345b8a94e711d9b6ac439f3ef3e8\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 231\n# Modified Padding\nct = cd7053a854fcc2f476c20539360ce47e767563723c11d211\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 232\n# Modified Padding\nct = ffa557ea4960669ccbcf59007a24de06755475c1cfef56da\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 233\n# Modified Padding\nct = 8672fdfb252c0dc9e3bc39b0fe76b9b08cf87b65c0f28ee3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 234\n# Modified Padding\nct = fcc2c7a6d2944e7d02ca08e49a7ceb77ee3f5966509b528e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 235\n# Modified Padding\nct = 57bc3a4c7544fe76b92740608a1023bb70227856cbdb8ada\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 236\n# Modified Padding\nct = 9220a6eb9c77a3d6374647afa7a3effb99be7e1f7bafeca8a1bbd93e8adcca6e570484008ee674ca\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 237\n# Modified Padding\nct = 94654a58be6bb6b946ef40ac7b8f1d19e2edff7c2c8c54eb7b2cbb3227c4f9df2cb317795beea413\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 238\n# Modified Padding\nct = 1ae49d65e69886f0f47cbbeb50f07ab5163983916a738a0d8f538c59c8a6e1e9ad229b27418259a7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 239\n# RFC 3349 padding\nct = ac1a774a5de27e4f9c356e4f62deaf8b7eeee6bcafafd895\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 240\n# Invalid encryption\nct = b3941437f55e7cbc3f88050aff703967\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 241\n# padding too long\nct = 86175acf19ad0b7ac60d1fe4bb7850635e7ec6f8a314f85b6dd3d8f9349ea38d\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 242\n# padding too long\nct = 791f088847a76731e0d56b9b2dcb28bf9f091a9725790e0a64fc8e7cb3ad50f380297a98e3b1c33e\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 243\n# incorrectly encoded length\nct = 868c34495bd3d7b4e2c1861e7fcbbdb372099488dd96c9ea\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 244\n# length = 2**32-1\nct = 4a8b4aeaa713469bfd9bf88d4072379fc858e40b24b0bebe\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 245\n# length = 2**32-1\nct = c210aa3b5fbf5eac97e68d98d7727f38\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 246\n# length = 2**31-1\nct = e0ebd376e050cc9027b76dfc38ee2c6ae2808cecf480a560\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 247\n# length = 2**31 + 16\nct = 23a693e211c08ab9b222c2ede2db18f437e22917fdff8032\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 248\n# data is incorrectly padded\nct = 003f2916fea6827e01199028d3dc4e03889113f97b1860cc242e5a0f28a0f159\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 249\n# data is incorrectly padded\nct = 5c25a170d5225a6d66e117c691b37383\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 250\n# length = 0\nct = df9ef924eb59634be5b27cabd33d72bd6be6e01e4672ab05\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 251\n# RFC 3349 padding with incorrect size\nct = e6e66fad359a7b63a977788acd297121\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 252\n# length = 9\nct = 76b88ecda760b1af80703036185fc476\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 253\n# length = 16\nct = fd101943f4ab7c38ec68c75d4b3193dc\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 254\n# length = 2**31 + 8\nct = 1793a3a9bd146726edbcb9589f20e849\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n", }; -static const size_t kLen85 = 35004; +static const size_t kLen118 = 36748; -static const char *kData85[] = { - "# Imported from Wycheproof's x25519_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: X25519\n# Generator version: 0.4.12\n\n[curve = curve25519]\n\n# tcId = 1\n# normal case\ncurve = curve25519\nprivate = 4852834d9d6b77dadeabaaf2e11dca66d19fe74993a7bec36c6e16a0983feaba\npublic = 9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a\nresult = valid\nshared = 87b7f212b627f7a54ca5e0bcdaddd5389d9de6156cdbcf8ebe14ffbcfb436551\n\n# tcId = 2\n# normal case\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a\nresult = valid\nshared = 4b82bd8650ea9b81a42181840926a4ffa16434d1bf298de1db87efb5b0a9e34e\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 3\n# public key on twist\ncurve = curve25519\nprivate = 588c061a50804ac488ad774ac716c3f5ba714b2712e048491379a500211998a8\npublic = 63aa40c6e38346c5caf23a6df0a5e6c80889a08647e551b3563449befcfc9733\nresult = acceptable\nshared = b1a707519495ffffb298ff941716b06dfab87cf8d91123fe2be9a233dda22212\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 4\n# public key on twist\ncurve = curve25519\nprivate = b05bfd32e55325d9fd648cb302848039000b390e44d521e58aab3b29a6960ba8\npublic = 0f83c36fded9d32fadf4efa3ae93a90bb5cfa66893bc412c43fa7287dbb99779\nresult = acceptable\nshared = 67dd4a6e165533534c0e3f172e4ab8576bca923a5f07b2c069b4c310ff2e935b\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 5\n# public key on twist\ncurve = curve25519\nprivate = 70e34bcbe1f47fbc0fddfd7c1e1aa53d57bfe0f66d243067b424bb6210bed19c\npublic = 0b8211a2b6049097f6871c6c052d3c5fc1ba17da9e32ae458403b05bb283092a\nresult = acceptable\nshared = 4a0638cfaa9ef1933b47f8939296a6b25be541ef7f70e844c0bcc00b134de64a\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 6\n# public key on twist\ncurve = curve25519\nprivate = 68c1f3a653a4cdb1d37bba94738f8b957a57beb24d646e994dc29a276aad458d\npublic = 343ac20a3b9c6a27b1008176509ad30735856ec1c8d8fcae13912d08d152f46c\nresult = acceptable\nshared = 399491fce8dfab73b4f9f611de8ea0b27b28f85994250b0f475d585d042ac207\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 7\n# public key on twist\ncurve = curve25519\nprivate = d877b26d06dff9d9f7fd4c5b3769f8cdd5b30516a5ab806be324ff3eb69ea0b2\npublic = fa695fc7be8d1be5bf704898f388c452bafdd3b8eae805f8681a8d15c2d4e142\nresult = acceptable\nshared = 2c4fe11d490a53861776b13b4354abd4cf5a97699db6e6c68c1626d07662f758\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 8\n# public key = 0\ncurve = curve25519\nprivate = 207494038f2bb811d47805bcdf04a2ac585ada7f2f23389bfd4658f9ddd4debc\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# The public key is insecure and does not belong to a valid private key. Some\n# libraries reject such keys.\n\n# tcId = 9\n# public key = 1\ncurve = curve25519\nprivate = 202e8972b61c7e61930eb9450b5070eae1c670475685541f0476217e4818cfab\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# The public key is insecure and does not belong to a valid private key. Some\n# libraries reject such keys.\n\n# tcId = 10\n# edge case on twist\ncurve = curve25519\nprivate = 38dde9f3e7b799045f9ac3793d4a9277dadeadc41bec0290f81f744f73775f84\npublic = 0200000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 9a2cfe84ff9c4a9739625cae4a3b82a906877a441946f8d7b3d795fe8f5d1639\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 11\n# edge case on twist\ncurve = curve25519\nprivate = 9857a914e3c29036fd9a442ba526b5cdcdf28216153e636c10677acab6bd6aa5\npublic = 0300000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 4da4e0aa072c232ee2f0fa4e519ae50b52c1edd08a534d4ef346c2e106d21d60\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 12\n# edge case on twist\ncurve = curve25519\nprivate = 48e2130d723305ed05e6e5894d398a5e33367a8c6aac8fcdf0a88e4b42820db7\npublic = ffffff030000f8ffff1f0000c0ffffff000000feffff070000f0ffff3f000000\nresult = acceptable\nshared = 9ed10c53747f647f82f45125d3de15a1e6b824496ab40410ffcc3cfe95760f3b\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 13\n# edge case on twist\ncurve = curve25519\nprivate = 28f41011691851b3a62b641553b30d0dfddcb8fffcf53700a7be2f6a872e9fb0\npublic = 000000fcffff070000e0ffff3f000000ffffff010000f8ffff0f0000c0ffff7f\nresult = acceptable\nshared = cf72b4aa6aa1c9f894f4165b86109aa468517648e1f0cc70e1ab08460176506b\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 14\n# edge case on twist\ncurve = curve25519\nprivate = 18a93b6499b9f6b3225ca02fef410e0adec23532321d2d8ef1a6d602a8c65b83\npublic = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffff7f\nresult = acceptable\nshared = 5d50b62836bb69579410386cf7bb811c14bf85b1c7b17e5924c7ffea91ef9e12\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 15\n# edge case on twist\ncurve = curve25519\nprivate = c01d1305a1338a1fcac2ba7e2e032b427e0b04903165aca957d8d0553d8717b0\npublic = eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 19230eb148d5d67c3c22ab1daeff80a57eae4265ce2872657b2c8099fc698e50\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a poin", - "t multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 16\n# edge case for public key\ncurve = curve25519\nprivate = 386f7f16c50731d64f82e6a170b142a4e34f31fd7768fcb8902925e7d1e21abe\npublic = 0400000000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 0fcab5d842a078d7a71fc59b57bfb4ca0be6873b49dcdb9f44e14ae8fbdfa542\n\n# tcId = 17\n# edge case for public key\ncurve = curve25519\nprivate = e023a289bd5e90fa2804ddc019a05ef3e79d434bb6ea2f522ecb643a75296e95\npublic = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\nresult = valid\nshared = 54ce8f2275c077e3b1306a3939c5e03eef6bbb88060544758d9fef59b0bc3e4f\n\n# tcId = 18\n# edge case for public key\ncurve = curve25519\nprivate = 68f010d62ee8d926053a361c3a75c6ea4ebdc8606ab285003a6f8f4076b01e83\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03\nresult = valid\nshared = f136775c5beb0af8110af10b20372332043cab752419678775a223df57c9d30d\n\n# tcId = 19\n# edge case for public key\ncurve = curve25519\nprivate = 58ebcb35b0f8845caf1ec630f96576b62c4b7b6c36b29deb2cb0084651755c96\npublic = fffffffbfffffbffffdfffffdffffffffefffffefffff7fffff7ffffbfffff3f\nresult = valid\nshared = bf9affd06b844085586460962ef2146ff3d4533d9444aab006eb88cc3054407d\n\n# tcId = 20\n# edge case for public key\ncurve = curve25519\nprivate = 188c4bc5b9c44b38bb658b9b2ae82d5b01015e093184b17cb7863503a783e1bb\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = valid\nshared = d480de04f699cb3be0684a9cc2e31281ea0bc5a9dcc157d3d20158d46ca5246d\n\n# tcId = 21\n# edge case for public key\ncurve = curve25519\nprivate = e06c11bb2e13ce3dc7673f67f5482242909423a9ae95ee986a988d98faee23a2\npublic = fffffffffeffff7ffffffffffeffff7ffffffffffeffff7ffffffffffeffff7f\nresult = valid\nshared = 4c4401cce6b51e4cb18f2790246c9bf914db667750a1cb89069092af07292276\n\n# tcId = 22\n# edge case for public key\ncurve = curve25519\nprivate = c0658c46dde18129293877535b1162b6f9f5414a23cf4d2cbc140a4d99da2b8f\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 578ba8cc2dbdc575afcf9df2b3ee6189f5337d6854c79b4ce165ea12293b3a0f\n\n# tcId = 23\n# public key with low order\ncurve = curve25519\nprivate = 10255c9230a97a30a458ca284a629669293a31890cda9d147febc7d1e22d6bb1\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 24\n# public key with low order\ncurve = curve25519\nprivate = 78f1e8edf14481b389448dac8f59c70b038e7cf92ef2c7eff57a72466e115296\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 25\n# public key with low order\ncurve = curve25519\nprivate = a0a05a3e8f9f44204d5f8059a94ac7dfc39a49ac016dd743dbfa43c5d671fd88\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 26\n# public key with low order\ncurve = curve25519\nprivate = d0dbb3ed1906663f15420af31f4eaf6509d9a9949723500605ad7c1c6e7450a9\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 27\n# public key with low order\ncurve = curve25519\nprivate = c0b1d0eb22b244fe3291140072cdd9d989b5f0ecd96c100feb5bca241c1d9f8f\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 28\n# public key with low order\ncurve = curve25519\nprivate = 480bf45f594942a8bc0f3353c6e8b8853d77f351f1c2ca6c2d1abf8a00b4229c\npublic = 0000000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 29\n# public key with low order\ncurve = curve25519\nprivate = 30f993fcf8514fc89bd8db14cd43ba0d4b2530e73c4276a05e1b145d420cedb4\npublic = 0100000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 30\n# public key with low order\ncurve = curve25519\nprivate = c04974b758380e2a5b5df6eb09bb2f6b3434f982722a8e676d3da251d1b3de83\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 31\n# public key with low order\ncurve = curve25519\nprivate = 502a31373db32446842fe5add3e024022ea54f274182afc3d9f1bb3d39534eb5\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 32\n# public key with low order\ncurve = curve25519\nprivate = 90fa6417b0e37030fd6e43eff2abaef14c6793117a039cf621318ba90f4e98be\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 33\n# public key with low order\ncurve = curve25519\nprivate = 78ad3f26027f1c9fdd975a1613b947779bad2cf2b741ade01840885a30bb979c\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 34\n# public key with low order\ncurve = curve25519\nprivate = 98e23de7b1e0926ed9c87e7b14baf55f497a1d7096f93977680e44", - "dc1c7b7b8b\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 35\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 36\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 37\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 38\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 39\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 40\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 41\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 42\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 0000000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 43\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 0100000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 44\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 45\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 46\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 47\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 48\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 49\n# public key >= p\ncurve = curve25519\nprivate = f01e48dafac9d7bcf589cbc382c878d18bda3550589ffb5d50b523bebe329dae\npublic = efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = bd36a0790eb883098c988b21786773de0b3a4df162282cf110de18dd484ce74b\n\n# tcId = 50\n# public key >= p\ncurve = curve25519\nprivate = 288796bc5aff4b81a37501757bc0753a3c21964790d38699308debc17a6eaf8d\npublic = f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = b4e0dd76da7b071728b61f856771aa356e57eda78a5b1655cc3820fb5f854c5c\n\n# tcId = 51\n# public key >= p\ncurve = curve25519\nprivate = 98df845f6651bf1138221f119041f72b6dbc3c4ace7143d99fd55ad867480da8\npublic = f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 6fdf6c37611dbd5304dc0f2eb7c9517eb3c50e12fd050ac6dec27071d4bfc034\n\n# tcId = 52\n# public key >= p\ncurve = curve25519\nprivate = f09498e46f02f878829e78b803d316a2ed695d0498a08abdf8276930e24edcb0\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 4c8fc4b1c6ab88fb21f18f6d4c810240d4e94651ba44f7a2c863cec7dc56602d\n\n# tcId = 53\n# public key >= p\ncurve = curve25519\nprivate = 1813c10a5c7f21f96e17f288c0cc37607c04c5f5aea2db134f9e2ffc66bd9db8\npublic = 0200000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 1cd0b28267dc541c642d6d7dca44a8b38a63736eef5c4e6501ffbbb1780c033c\n\n# tcId = 54\n# public key >= p\ncurve = curve25519\nprivate = 7857fb808653645a0beb138a64f5f4d733a45ea84c3cda11a9c06f7e7139149e\npublic = 0300000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 8755be01c60a7e825cff3e0e78cb3aa4333861516aa59b1c51a8b2a543dfa822\n\n# tcId = 55\n# public key >= p\ncurve = curve25519\nprivate = e03aa842e2abc56e81e87b8b9f417b2a1e5913c723eed28d752f8d47a59f498f\npublic = 0400000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 54c9a1ed95e546d27822a360931dda60a1df049da6f904253c0612bbdc087476\n\n# tcId = 56\n# public key >= p\ncurve = curve25519\nprivate = f8f707b7999b18cb0d6b96124f2045972ca274bfc154ad0c87038c24c6d0d4b2\npublic = daffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = cc1f40d743cdc2230e1043daba8b75e810f1fbab7f255269bd9ebb29e6bf494f\n\n# tcId = 57\n# public key >= p\ncurve = curve25519\nprivate = a034f684fa631e1a348118c1ce4c98231f2d9eec9ba5365b4a05d69a785b0796\npublic = dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 54998ee43a5b007bf499f078e736524400a8b5c7e9b9b43771748c7cdf880412\n\n# tcId = 58\n# public key >= p\ncurve = curve25519\nprivate = 30b6c6a0f2ffa680768f992ba89e152d5bc9893d38c9119be4f767bfab6e0ca5\npublic = dcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = ead9b38efdd723637934e55ab717a7ae09eb86a21dc36a3feeb88b759e391e09\n\n# tcId = 59\n# public key >= p\ncurve = curve25519\nprivate = 901b9dcf881e01e027575035d40b43bdc1c5242e030847495b0c7286469b6591\npublic = eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 602ff40789b54b41805915fe2a6221f07a50ffc2c3fc94cf61f13d7904e88e0e\n\n# tcId = 60\n# public key >= p\ncurve = curve25519\nprivate = 8046677c28fd82c9a1bdb71a1a1a34faba1225e2507fe3f54d10bd5b0d865f8e\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = e00ae8b143471247ba24f12c885536c3cb981b58e1e56b2baf35c12ae1f79c26\n\n# tcId = 61\n# public key ", - ">= p\ncurve = curve25519\nprivate = 602f7e2f68a846b82cc269b1d48e939886ae54fd636c1fe074d710127d472491\npublic = efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 98cb9b50dd3fc2b0d4f2d2bf7c5cfdd10c8fcd31fc40af1ad44f47c131376362\n\n# tcId = 62\n# public key >= p\ncurve = curve25519\nprivate = 60887b3dc72443026ebedbbbb70665f42b87add1440e7768fbd7e8e2ce5f639d\npublic = f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 38d6304c4a7e6d9f7959334fb5245bd2c754525d4c91db950206926234c1f633\n\n# tcId = 63\n# public key >= p\ncurve = curve25519\nprivate = 78d31dfa854497d72d8def8a1b7fb006cec2d8c4924647c93814ae56faeda495\npublic = f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 786cd54996f014a5a031ec14db812ed08355061fdb5de680a800ac521f318e23\n\n# tcId = 64\n# public key >= p\ncurve = curve25519\nprivate = c04c5baefa8302ddded6a4bb957761b4eb97aefa4fc3b8043085f96a5659b3a5\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 29ae8bc73e9b10a08b4f681c43c3e0ac1a171d31b38f1a48efba29ae639ea134\n\n# tcId = 65\n# RFC 7748\ncurve = curve25519\nprivate = a046e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449a44\npublic = e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\nresult = valid\nshared = c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552\n\n# tcId = 66\n# RFC 7748\ncurve = curve25519\nprivate = 4866e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba4d\npublic = e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a413\nresult = valid\nshared = 95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957\n\n# tcId = 67\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 0ab4e76380d84dde4f6833c58f2a9fb8f83bb0169b172be4b6e0592887741a36\nresult = acceptable\nshared = 0200000000000000000000000000000000000000000000000000000000000000\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 68\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 89e10d5701b4337d2d032181538b1064bd4084401ceca1fd12663a1959388000\nresult = valid\nshared = 0900000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 69\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 2b55d3aa4a8f80c8c0b2ae5f933e85af49beac36c2fa7394bab76c8933f8f81d\nresult = valid\nshared = 1000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 70\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 63e5b1fe9601fe84385d8866b0421262f78fbfa5aff9585e626679b18547d959\nresult = acceptable\nshared = feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 71\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = e428f3dac17809f827a522ce32355058d07369364aa78902ee10139b9f9dd653\nresult = valid\nshared = fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n\n# tcId = 72\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = b3b50e3ed3a407b95de942ef74575b5ab8a10c09ee103544d60bdfed8138ab2b\nresult = acceptable\nshared = f9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 73\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 213fffe93d5ea8cd242e462844029922c43c77c9e3e42f562f485d24c501a20b\nresult = valid\nshared = f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n\n# tcId = 74\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 91b232a178b3cd530932441e6139418f72172292f1da4c1834fc5ebfefb51e3f\nresult = valid\nshared = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03\n\n# tcId = 75\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 045c6e11c5d332556c7822fe94ebf89b56a3878dc27ca079103058849fabcb4f\nresult = acceptable\nshared = e5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 76\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 1ca2190b71163539063c35773bda0c9c928e9136f0620aeb093f099197b7f74e\nresult = acceptable\nshared = e3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 77\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = f76e9010ac33c5043b2d3b76a842171000c4916222e9e85897a0aec7f6350b3c\nresult = valid\nshared = ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 78\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = bb72688d8f8aa7a39cd6060cd5c8093cdec6fe341937c3886a99346cd07faa55\nresult = acceptable\nshared = dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 79\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 88fddea193391c6a5933ef9b71901549447205aae9da928a6b91a352ba10f41f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000002\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 80\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 303b392f153116cad9cc682a00ccc44c95ff0d3bbe568beb6c4e739bafdc2c68\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000008000\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n", - "# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 81\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = fd300aeb40e1fa582518412b49b208a7842b1e1f056a040178ea4141534f652d\nresult = valid\nshared = b734105dc257585d73b566ccb76f062795ccbec89128e52b02f3e59639f13c46\n\n# tcId = 82\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = c8ef79b514d7682677bc7931e06ee5c27c9b392b4ae9484473f554e6678ecc2e\nresult = valid\nshared = 647a46b6fc3f40d62141ee3cee706b4d7a9271593a7b143e8e2e2279883e4550\n\n# tcId = 83\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = 64aeac2504144861532b7bbcb6c87d67dd4c1f07ebc2e06effb95aecc6170b2c\nresult = valid\nshared = 4ff03d5fb43cd8657a3cf37c138cadcecce509e4eba089d0ef40b4e4fb946155\n\n# tcId = 84\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = bf68e35e9bdb7eee1b50570221860f5dcdad8acbab031b14974cc49013c49831\nresult = valid\nshared = 21cee52efdbc812e1d021a4af1e1d8bc4db3c400e4d2a2c56a3926db4d99c65b\n\n# tcId = 85\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = 5347c491331a64b43ddc683034e677f53dc32b52a52a577c15a83bf298e99f19\nresult = valid\nshared = 18cb89e4e20c0c2bd324305245266c9327690bbe79acb88f5b8fb3f74eca3e52\n\n# tcId = 86\n# private key == -1 (mod order)\ncurve = curve25519\nprivate = a023cdd083ef5bb82f10d62e59e15a6800000000000000000000000000000050\npublic = 258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75\nresult = valid\nshared = 258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75\n\n# tcId = 87\n# private key == 1 (mod order) on twist\ncurve = curve25519\nprivate = 58083dd261ad91eff952322ec824c682ffffffffffffffffffffffffffffff5f\npublic = 2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035\nresult = acceptable\nshared = 2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035\n\n", +static const char *kData118[] = { + "# Imported from Wycheproof's kw_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: KW\n# Generator version: 0.8r12\n\n[keySize = 128]\n\n# tcId = 1\nct = 9de453ced5d4ab46a5601708eeefefb5e593e6ae8e86b26b\nkey = 6f67486d1e914419cb43c28509c7c1ea\nmsg = 8dc0632d92ee0be4f740028410b08270\nresult = valid\n\n# tcId = 2\nct = 8c3aba85cc0ae1ae10b36658b068f595baf8caafb745ef3c\nkey = a0b17172bb296db7f5c869e9a36b5ce3\nmsg = 615dd022d607c910f20178cbdf42060f\nresult = valid\n\n# tcId = 3\nct = 1de093654826f18fcd0f3fd499416ff22ed75ee12fe0b624\nkey = 0e49d571c19b5250effd41d94bde39d6\nmsg = f25e4de8caca363fd5f29442eb147b55\nresult = valid\n\n# tcId = 4\n# wrapped key is longer than wrapping key\nct = 9c3ddc23827b7b3c13105f9e8b11523baccdfb6c8b7e7825496e7a840bd32aec\nkey = e0e12959109103e30ae8b5684a22e662\nmsg = dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e\nresult = valid\n\n# tcId = 5\n# wrapped key is longer than wrapping key\nct = afb744aaf746dcc0b57f8b378c404cbe877f44cf3d45140d60814eda3f541f01\nkey = dd583d9f1059861430ec8b5d8a180e9b\nmsg = f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487\nresult = valid\n\n# tcId = 6\n# wrapped key is longer than wrapping key\nct = cff98cd64cb51ab99b81aee82cee4274d0df3e1b6a4943d39236ea989846d0cc\nkey = faf5ccfae42b43cee2c5f0f3177a7c5d\nmsg = 4e02084833660c463830483b36dab866c64c8cf7429cac3d\nresult = valid\n\n# tcId = 7\n# wrapped key is longer than wrapping key\nct = 58dcfb0e7ec4d3bc8003418d865fbd520c6b24b2bde35b1be5b1c5ff32a130f33d035e5932616083\nkey = c2b9d23f2831ddcdeb456853d4014db9\nmsg = f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907\nresult = valid\n\n# tcId = 8\n# wrapped key is longer than wrapping key\nct = 4ee47bd68d418586c447a39111e2ec1502ff0f1726ea91c5d97370409d89b8e66e889b638ac40ced\nkey = 620a08f320cdedbf7ae551add348d95e\nmsg = cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291\nresult = valid\n\n# tcId = 9\n# wrapped key is longer than wrapping key\nct = d3b093fd822ce454ebc251c6f21fa71c3858ee7e623ecbfbbf887398a30b40c55d0565c7a15e4015\nkey = ed089ac274f8c7cea2415671a94b5e53\nmsg = 6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299\nresult = valid\n\n# tcId = 10\n# Round counter overflows 256\nct = 222deadde6efb760cae42fa188310e0c07e7d557529766444a9efb330907d42f0dd8f3d17b3a38bf40d68c095a9cce19daf907bf2c92f1e59b18b277ff0397fc50f45f582db936aa8afb943de01b58abfdc81daef4e038c99e4c1eb3ee447464bb8f89a4ea81e56556cc26c72883c06a7fe850d04347d68bbadc4a06775030676db8cc34aeb07e39c7f059c2bff76a7f2baf076749004ef7189f887f89029f88c5c1d0f5ee62320b423048e2ad8186e63be23c553f5576a40d967e8b527ccd783c41abc64bea1aec8a76deb3e9c9a6656756e1dac38bd25ff008888a5591af763fd73f5addd749794817070990484654a46ef442adaeacab14d12daaf87bcb91661a21593717d9b93529d813ea5fc812d708c0d8e9b68122d9f5e6267cde363780a45d07e4caa5bf14f2334f25b9d177632bb80a82894aa47b6f360b2da1138dedd4331f077c900554c7a68b5d154980bb3517ac20a78a51f6f21e42b2c4c960d31cbd22bd610819182c5e456ba7d7e903f5e60f6e0c4cc014feb4f81973ce48ad6f4dab8da51eb7\nkey = 31cacbb17d6dbbecae40727c5048fe0c\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 11\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = \nresult = invalid\n\n# tcId = 12\n# keys of size 8 byte cannot be wrapped\nct = dc26fb6911d71971df0356d6bb9ed6e6\nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 13\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00\nresult = invalid\n\n# tcId = 14\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001\nresult = invalid\n\n# tcId = 15\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102\nresult = invalid\n\n# tcId = 16\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00010203\nresult = invalid\n\n# tcId = 17\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001020304\nresult = invalid\n\n# tcId = 18\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102030405\nresult = invalid\n\n# tcId = 19\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 20\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 21\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 22\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 23\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 24\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 25\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 26\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 27\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 28\n# bytes appended to wrapped key\nct = 9790ab51fbcb850df6764e011ae97c85785bed2633aea66500\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 29\n# Incorrect IV\nct = 0aac329ccd513edbdd6367df67999eaac9e7b51984c4d38d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 30\n# Incorrect IV\nct = 5a55dc429749ca49bb4ab01d966b19ea9a9e1402e6ab2962\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 31\n# Incorrect IV\nct = 45f533f6072f640eb7e1e512d56072085567f4ad6012a97a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 32\n# Incorrect IV\nct = 84f284565df47c409107f7a0a71bc370a8ed4489d414b9e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 33\n# Incorrect IV\nct = 3941c366554fc896e9fe52f02493ca03d439eb17c236146d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 34\n# Incorrect IV\nct = 45c9d42363d981d086a972728e130a42f5dd90bda562a85a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 35\n# Incorrect IV\nct = 037d17859519d6c0728a9eb6e64113e86919decabd3bbb88\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 36\n# Incorrect IV\nct = 1ad10af7f6c042b267a0c7bc4d25d27c003deb50e2cc566a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 37\n# Incorrect IV\nct = 630c571b7fb8647ac5360a255f9f5d3645795ac45285cbaa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 38\n# Incorrect IV\nct = 16db553e467d4029d0fea62b2c440e5df6c6591f0497a99d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 39\n# Incorrect IV\nct = 097991090a156047d4784b757f262e12ce57e13a3d5d286c\nkey = 4f710eb6b5e28703becfc3dc52", + "fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 40\n# Incorrect IV\nct = 3957c338b750a3285eb7b65c9cfe77053dd7d8149f42caa1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 41\n# RFC 3394\nct = 1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n[keySize = 192]\n\n# tcId = 42\nct = 00be1caddfd5ad7697877017795f9cee4bce5a61687a6126\nkey = f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe\nmsg = 9adbc00c710b1101bdf6a4ed65b32d72\nresult = valid\n\n# tcId = 43\nct = 54e7f278b5a1fb4c31a0d79ac1f615edd910bf22015a0668\nkey = b713f6b7814f98894d7b153974684359f1460213eb74be68\nmsg = 78585f0c49922e82caf17ebc3721b4db\nresult = valid\n\n# tcId = 44\nct = 510455bd9c078ac1f07bb3752cbd04e421b0dd635190fa62\nkey = 13ecf423211caa334ba6db37259a535c20de8ad10fc8c432\nmsg = 4fc75d0f221e22408a37e11265d49a05\nresult = valid\n\n# tcId = 45\nct = 880da5b410f913ad72cc93f46344f1152165bdea14664fd2d3afbd87b8cc5cfd\nkey = 4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1\nmsg = f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5\nresult = valid\n\n# tcId = 46\nct = 27654cf6a63d6004ae83da54c2e5d7b5fad20878f350087ddd17ac44a2be868f\nkey = b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e\nmsg = 0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a\nresult = valid\n\n# tcId = 47\nct = ad7ca66ad4664f43e4dd09296a6e6f02d5af4408f225c0abeb0d9b76c8d1e982\nkey = f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000\nmsg = 241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea\nresult = valid\n\n# tcId = 48\n# wrapped key is longer than wrapping key\nct = e245c90a6b46caece94f47117d608331958c8f75f531ebcdc902c0213d9105f2155af07daa62d132\nkey = 1639f9f81e53e2eeb677a249e5eced3af108971301601a7b\nmsg = ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691\nresult = valid\n\n# tcId = 49\n# wrapped key is longer than wrapping key\nct = 8a32b9f207ae5aaedb7e8a0d945107412c1bd06999bc5ac83c1f958dfb77ebdcf9d98c60dbd4650a\nkey = 1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0\nmsg = 50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380\nresult = valid\n\n# tcId = 50\n# wrapped key is longer than wrapping key\nct = 4a5842b10d2db96ea1039ef4785ce722555b3751a9b6dd39126ad363378c72320d83ea7adb81615a\nkey = 3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771\nmsg = 65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf\nresult = valid\n\n# tcId = 51\n# Round counter overflows 256\nct = e2192598e6124f2791b2751f930958435bb1d02e98aa1e09781bba0b159435db659fa73fa310111704692c68e16ddf4be06022c52fe9dba6279aad1aeb814125d0ddf33f31e58e625af32305050cfea390d8782d32caac558889ca8e641908208da6976542b40dbd090178e2a6812a436c18a5e891ac8083176ace1ddfee4d382856a59c80c643ecd5c1ab68c66b2b8984ce6e0e386f6554a9cb91d363bb4accf028878ec20b8b2e37214f7b12dbcd78fb38f711a90fe262c78491b9058354e27b34fc92ef0d7028594cb08259f86b54cb1d317ec55f2ef2ab7e8b141671f8bcb1a90bb7d82bc8cb4fb02c9ce430ef4ae0dc847e91e7d4fb463eb9dd87fc9dc9568f3a4ef504d74c134dcb60ca01b36ce10cb467268ea297c0518a50d12cc025cfeea1381ddd7dd63e4ac94890a0eae9dbd8db244625a3c8af2e1aff6a8112c4d3d98e8263588ee1dd9063b709b8ec00474c4ea413a802b8cde814e7b3731410809ed000060fb7b9b0bf8509ef17515f333e868b188ea16445f380b3a7d42774f6456cdf724246fa\nkey = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab63502\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 52\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = \nresult = invalid\n\n# tcId = 53\n# keys of size 8 byte cannot be wrapped\nct = 38d8238cdb0d9a2da28d6d56194f2e78\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 54\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00\nresult = invalid\n\n# tcId = 55\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001\nresult = invalid\n\n# tcId = 56\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102\nresult = invalid\n\n# tcId = 57\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00010203\nresult = invalid\n\n# tcId = 58\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001020304\nresult = invalid\n\n# tcId = 59\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102030405\nresult = invalid\n\n# tcId = 60\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 61\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 62\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 63\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 64\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 65\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 66\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 67\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 68\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 69\n# bytes appended to wrapped key\nct = 55dfb2f7e0c1ea04fead897c451c0505921dc47f308c491700\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 70\n# Incorrect IV\nct = 9b1593fd7d4fe25a660bbc1976ea4ab68bcc53f848a8eb9d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 71\n# Incorrect IV\nct = e7edb847fa91e2deded726edf3ab93da91151697425fee28\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 72\n# Incorrect IV\nct = 1b51a7c033c1efb5ee2994259c40f03bb57d8cc09e507e6e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 73\n# Incorrect IV\nct = c40b614a5062f5fd049c5379b3e8141614c2da97893589fb\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 74\n# Incorrect IV\nct = d7575ef02df54b3086eb49035eeafbce0e08336e89b35ab0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 75\n# Incorrect IV\nct = 0d617f1c12485a35917d2a941e949d2fdbf03a346889b850\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 76\n# Incorrect IV\nct = c7df34729174db2e83ee16c6de74d5eb9766715fad049b40\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a8", + "28cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 77\n# Incorrect IV\nct = c3ed38d6f9ccb9bf3c56bb3176f00d3ce9887521f8d4c70b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 78\n# Incorrect IV\nct = 6582b5f4652744b0537e97e7cdae0f443130140dbaea604c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 79\n# Incorrect IV\nct = fc9b9bdf25f2b48ad79934c8d34897cdbf4c846f8cb4b11d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 80\n# Incorrect IV\nct = fc23c7f4fe20aa81105efc1a7105a5316b23399ac792c824\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 81\n# Incorrect IV\nct = 37b4a261b96bcec9cc93eef5b2fbbbe84634f978c5893dda\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 82\n# Incorrect IV\nct = 1831109847d17d010bfcd93fb46f3150cdafd52733db74c221b034fe8e1552c0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 83\n# Incorrect IV\nct = 2b2b89c3c6b2db4903877ad4622ca33f3a3cb7e6701d1340e6afc0fdab7dbd72\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 84\n# Incorrect IV\nct = 3c6903f37da57161af6706050a2ed747cd55344d869189fd49d2536ff948129d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 85\n# Incorrect IV\nct = 8a8dc8b131c6b968b60c1dd819a655392d1a96d6cafa48e30fb1146f096229c6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 86\n# Incorrect IV\nct = 303e0b3602d514a7d52edba3306d7383e8999e7c652a510335a8949efb42eb66\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 87\n# Incorrect IV\nct = 319befbf2ddbb475723fb2fa30f2ae7fc1ceb1e6f361715eca7209608873c7fc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 88\n# Incorrect IV\nct = 9b3e440341c5da131559959db6b3553a534691162f4f009327bf2c21d6fe5ada\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 89\n# Incorrect IV\nct = eba6cc0959e6a56339b141629840add80f4565656dc687a3b996960c994dfd26\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 90\n# Incorrect IV\nct = b703b6cf4587709353c7e4004d3da61ce5f5deaf7163ca9d6158dde919e0ac34\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 91\n# Incorrect IV\nct = 72549d52d6f4ff912d833c74136d90634ce8afa4f84412bbee8074084d4cecff\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 92\n# Incorrect IV\nct = 1337c8bd6c8a5dd43aba8d298864ffe76ad6ea909f3488157a15e6c46acf2214\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 93\n# Incorrect IV\nct = 4aaffaca5fe85814d040aa2a306ba4d1d44746cfe46c978aa057b53fd25316c1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 94\n# RFC 3394\nct = 96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n# tcId = 95\n# RFC 3394\nct = 031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 00112233445566778899aabbccddeeff0001020304050607\nresult = valid\n\n[keySize = 256]\n\n# tcId = 96\nct = 940b1c580e0c7233a791b0f192438d2eace14214cee455b7\nkey = fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c\nmsg = 287326b5ed0078e7ca0164d748f667e7\nresult = valid\n\n# tcId = 97\nct = 939b3389336fea4a9751bf014ef18011323090e8a0500bc4\nkey = 0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22\nmsg = b40b6828729b456322a8d065abc0d081\nresult = valid\n\n# tcId = 98\nct = 59ee8e5198861237f682edec6ba906526c016d4d935942bd\nkey = d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588\nmsg = 037b27b3dc95b19d15bd4091e320bfe1\nresult = valid\n\n# tcId = 99\nct = 1ab53a065d8f776a08b33e51383071b6f154612116655137bd3b7ec29b70fd56\nkey = 07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121\nmsg = faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071\nresult = valid\n\n# tcId = 100\nct = a1bf8e73e3fa1db759f0ab2ab0b1ca6f2c85b63d83e25f7a0b5293d0a216a2b7\nkey = ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1\nmsg = dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825\nresult = valid\n\n# tcId = 101\nct = 27308a0e1a6c0a1d15d6174ab7d68675207b615df16fcf7a3c69b25f551cca9f\nkey = fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87\nmsg = 966b07047354966a703e79607b556032f4f596b7f9206f05\nresult = valid\n\n# tcId = 102\nct = 7155ee932b0358d98182a23f7f427c774ab340a4757d0b6a63facd3de90578438cf03201c3f88057\nkey = 38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd\nmsg = 80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a\nresult = valid\n\n# tcId = 103\nct = f20b9b553bc0847529f8d4379fa909211e68249bd429f436c615c4c4a5d9f1a1968f0b89c5237b30\nkey = c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7\nmsg = 3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270\nresult = valid\n\n# tcId = 104\nct = 2811716854a214aecdd318c6670b9b2a7511713c9a0c0fa805230ff05cf84af795dd72f6c1a44512\nkey = aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c\nmsg = 57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5\nresult = valid\n\n# tcId = 105\n# Round counter overflows 256\nct = 5322bc62bd8379abbb75f69688b8f00e31962b8f9ae1e89771952d8a2a749e1352ec33b5435a674271b314760ab9f753b16726185ec7d319ac60531355344c1d53c7903000a8039eb40f70564a0ad3f41b2355ea5dfa6a1d46392f1d106a5da569bfb0493bf7c12dff04bafeae377df4bb47cd440b6f60fbab2a54a98551b76273e02cac8d7be9f2343d3abb2a23af1c91a7011c67a7907260116b67d510aabe5c7ca46c1c20f77106c45966583b3e4ed799a47ee19bb4223209265c2b1ac8183a678ff43bc9a3470a50b9ee4d10f60674268d72c68be003a0d9dd6849aba836fe8a1792b81c90e12945bfe1f27a9c6b2af66a063cdb7721a7f23fb30afdbd8b18db377dd1697f157be81c1578d08b066c71b0c5ca7feecac1cdd938cf9ad525f74844660908194b28e54eddb158f6e4c921b811d90db71a92ff872db2250dcc3f847fc752b66d77e33c85084d3fa53b4f30503d2a06e6cabb9033d59fc1dc15e32f19846a039b91597b0ba3141a7d9717630062170117b2131dab77406e9ed7d66b2c754d849c60\nkey = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab635025cbac1ecf52ca495\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 106\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = \nresult = invalid\n\n# tcId = 107\n# keys of size 8 byte cannot be wrapped\nct = 181ba6a3a4392469e3de98ddbbdd2432\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030", + "4050607\nresult = invalid\n\n# tcId = 108\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00\nresult = invalid\n\n# tcId = 109\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001\nresult = invalid\n\n# tcId = 110\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102\nresult = invalid\n\n# tcId = 111\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00010203\nresult = invalid\n\n# tcId = 112\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001020304\nresult = invalid\n\n# tcId = 113\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030405\nresult = invalid\n\n# tcId = 114\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 115\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 116\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 117\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 118\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 119\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 120\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 121\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 122\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 123\n# bytes appended to wrapped key\nct = 7dfbd7cf6158d75bb5900b3bf1e3871003402a6508b1912800\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 124\n# Incorrect IV\nct = a417671bc62a23c7a65543092124024df72c048d8db330c7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 125\n# Incorrect IV\nct = 9518d0f99d7a73ed4a502b449c14c285971b0e6177ce0eca\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 126\n# Incorrect IV\nct = f3511f0491bd74ae1defb5307f0e18db864b57b5c404d428\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 127\n# Incorrect IV\nct = 6c03ce779259661c43d41d5d0e45687f874353bba516c73e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 128\n# Incorrect IV\nct = 8df01969a11c87026535bfccf72b1d064c86ecc7e5227157\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 129\n# Incorrect IV\nct = 8ed1cde228d9c8d046dca65c7a27aef2edf8ae90c705d1e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 130\n# Incorrect IV\nct = d69b3e34e9de38d44de1998992362a6fa1f696b5acab3f10\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 131\n# Incorrect IV\nct = 67865122af3294b8da0588775125cbd6dc19d5e5cab97b6d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 132\n# Incorrect IV\nct = 9f0fa52363dd55df472d867e6faf5da8eb204a1d6d497030\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 133\n# Incorrect IV\nct = c399f999c96a4204325e7f08d6a4de256faf21ec2c007ddf\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 134\n# Incorrect IV\nct = 282082264a87dc35ce1cc5b9931b77d80d82fcacc0927f85\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 135\n# Incorrect IV\nct = c192c90b83003ca96744498014b6ad6bedda837955269819\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 136\n# Incorrect IV\nct = 30a983cd9e69d561acc95c42b252aba4185f8392f2e6c935c8eb105af8082e34\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 137\n# Incorrect IV\nct = 4de9a639b799630b45b49e28dbfc44dabb9843ee588a8cff286b8d5fbd7b32ee\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 138\n# Incorrect IV\nct = d915b2cdfb769d9d82259dc3d124646bbf972b83efd4c2eae9b9f751073f78d6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 139\n# Incorrect IV\nct = 117d653f480b69fce564f1fe99572492945189ed5af789ce05a2651baf90bb5e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 140\n# Incorrect IV\nct = 8226d07a2f919e24ada1081c69a75520be895e3a2bda9b805d9747773ddeaa38\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 141\n# Incorrect IV\nct = b0a74345bedf8865348daf45d054b99ce515ea8be136270d1cf71e1cfa7aa4a2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 142\n# Incorrect IV\nct = a261db77f17f7ec736d1a8be16e5f9ae432fe2a17012e5a6f07c5426a9f0ca59\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 143\n# Incorrect IV\nct = c53acb5e096b54548e1385b2ff18eaef68d235c95b0194e74a2383d3a7a530dc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 144\n# Incorrect IV\nct = faef482d99ebb180e5bc5e3cf775ba292c2a3b6c44aa4a21ad400906f11af392\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 145\n# Incorrect IV\nct = 73a450b63b07b3aece9d1ae5bf097a3dd3fcf73e3ec2f1bd8fc3b5586cb9bd73\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 146\n# Incorrect IV\nct = d34b6ee184d387c9aa4b2d180ae0a89498014e55fe8e416be4f826fcf7d56522\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 147\n# Incorrect IV\nct = 2af823d1602803740bfa9040c2c4e769a5b6de919d403cfba9ad360f63af1113\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 148\n# I", + "ncorrect IV\nct = dd78ebd3091c55a5da5b24504200f7fadd1b3ac6ad35f814f733e603c13936245d69d83f262f6b1e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 149\n# Incorrect IV\nct = 3d8338eae7de322399e1d1b4a3df54326b242b563612ea4b27da22a041d3c80966911bc009911761\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 150\n# Incorrect IV\nct = d04bf75cadd3b5f099c34b27a91e64a8f2dbcf08e8c5c1c9f07a777eeb805d5d0e8c5c01afc43944\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 151\n# Incorrect IV\nct = be0c5d193b61c5137a8fd8a6d7d1ed8f0fa28cec516f544697c12add4f8f4d5cfca65edeb1019974\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 152\n# Incorrect IV\nct = a83ebcbeb2be9d6807b5cfc31c89849d1343dd4eb22e5bfe9e2b2b3790ad8900601f1f5d54fd472f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 153\n# Incorrect IV\nct = 416221485a6cb98ad1342ea9a12926a9a133ead8bd919323fe789bb8f89a4fcaf81e1be54f9d358e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 154\n# Incorrect IV\nct = bf6a53286fac48e7f25d89b7056b27aa917d5b54c0d3171dff369f7249153bf09da5891eb4dc2d88\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 155\n# Incorrect IV\nct = 99d517a1321bb633b0d5f3afda2372d3abf68b41d13cbfdffc78f173b88bc4b97efcab2b2904788d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 156\n# Incorrect IV\nct = d92456bc77a268ef71cba76064a1b772d1fee2ae4f0ee3bb932a2adb2b031796b9eadb51753f2868\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 157\n# Incorrect IV\nct = 5bb54630ab8d73a040f0f87e70e263d1aeb2358bcdc0dce6994d0d874452bbd8741b7ec1d59d8298\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 158\n# Incorrect IV\nct = 4581d6536039db1b23da50c648777e90c82d6128bb92e28b2974bae1141543a19a1592fda1fbd61f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 159\n# Incorrect IV\nct = d35bc67e62064c34f48150999ba30ded475d8c75978f45737320f23edaaa7a40d7803fc61add34a4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 160\n# RFC 3394\nct = 64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n# tcId = 161\n# RFC 3394\nct = a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff0001020304050607\nresult = valid\n\n# tcId = 162\n# RFC 3394\nct = 28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f\nresult = valid\n\n", +}; +static const size_t kLen119 = 94020; + +static const char *kData119[] = { + "# Imported from Wycheproof's primality_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: PrimalityTest\n# Generator version: 0.8rc17\n\n\n# tcId = 1\n# small non prime integer\nresult = invalid\nvalue = ff\n\n# tcId = 2\n# small non prime integer\nresult = invalid\nvalue = 00\n\n# tcId = 3\n# small non prime integer\nresult = invalid\nvalue = 01\n\n# tcId = 4\n# Non-prime Mersenne number that is pseudoprime to base 2\nresult = invalid\nvalue = 07ffffffffffffffff\n\n# tcId = 5\n# Non-prime Mersenne number that is pseudoprime to base 2\nresult = invalid\nvalue = 7fffffffffffffffff\n\n# tcId = 6\n# Non-prime Fermat number\nresult = invalid\nvalue = 0100000000000000000000000000000001\n\n# tcId = 7\n# Non-prime Fermat number\nresult = invalid\nvalue = 010000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 8\n# Non-prime Fermat number\nresult = invalid\nvalue = 0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 9\n# pseudoprime square derived from Wiefrich prime\nresult = invalid\nvalue = 123a99\n\n# tcId = 10\n# pseudoprime square derived from Wiefrich prime\nresult = invalid\nvalue = 00bc18d1\n\n# tcId = 11\n# square\nresult = invalid\nvalue = 04\n\n# tcId = 12\n# square\nresult = invalid\nvalue = 09\n\n# tcId = 13\n# square\nresult = invalid\nvalue = 010201\n\n# tcId = 14\n# square\nresult = invalid\nvalue = 0f2ad9\n\n# tcId = 15\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 01f51f3fee3b\n\n# tcId = 16\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 032907381cdf\n\n# tcId = 17\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 0136a352b2c8c1\n\n# tcId = 18\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 023c3db80e80e53bd1\n\n# tcId = 19\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 0504e8e504fd585e79193ca1\n\n# tcId = 20\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 00b7d84161830e3f6f2231a7a1\n\n# tcId = 21\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 4c6092d9a7a5462b34e5\n\n# tcId = 22\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 22c9a603ee84bb9c4cad\n\n# tcId = 23\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 437ae92817f9fc85b7e5\n\n# tcId = 24\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 0190e262098f0d746505\n\n# tcId = 25\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 027a5f7ca7b29ee74d5525\n\n# tcId = 26\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 008d60a89f3f36cb1fd495\n\n# tcId = 27\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 02be6951adc5b22410a5fd\n\n# tcId = 28\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 0292a0068ebb0ed3251f55\n\n# tcId = 29\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 750b703e68cb957ab415\n\n# tcId = 30\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 02d0facc78aeeb89f5b299\n\n# tcId = 31\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Maple\nresult = invalid\nvalue = 09bdc1c98b9b\n\n# tcId = 32\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Maple\nresult = invalid\nvalue = 0ffb48c934842b\n\n# tcId = 33\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Maple\nresult = invalid\nvalue = 18444fdb12afb7\n\n# tcId = 34\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Mathematica 2.0\nresult = invalid\nvalue = 08e4f37e51\n\n# tcId = 35\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Mathematica 2.0\nresult = invalid\nvalue = 179d55b600e7f1\n\n# tcId = 36\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Axioms primality test\nresult = invalid\nvalue = 085270bd76a142abc3037d1aab3b\n\n# tcId = 37\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Axioms primality test\nresult = invalid\nvalue = 02cb78fe3f36c4f5f05dbe92b82798d5fc18f2bfaaa388ef\n\n# tcId = 38\n# A composite q that was acceptied by Gnu Crypto.\n# http://www.iacr.org/archive/pkc2005/33860010/33860010.pdf\nresult = invalid\nvalue = 4682f52f0b54308d315b2fbec25065506c77be95912b137bc6eecffad8a299b631c55ce068702b1b3e4ce50958994c289b148fb298a8c603a0959cb0ba5ad4bcba278cf4c87e0ff85a62a25c40849662c53d0f81cf9e4431d8c391586629260e558db473997db20108278b1ae374089140d93bc2c5a808ad3aaf212f60bfc93cc0c788149dcd82f7ab\n\n# tcId = 39\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00f67307e54779cfe9120bf862afc5466c5d6d0783d12df5215c0c981c51e4bfc098e9afd574f51b18c820259b692ec0bf7c9d6e56e9bb99fbd3b7ecc4082146a9d7a5b7bc6519d476c4a9975d9c3e3b12bee45b7accb07a6a68ea583ac2523ef32ee6d01bc766b59c43031f9c6980c9b4317da6825be9f7c5db03283d04c13323\nflags = WorstCaseMillerRabin\n\n# tcId = 40\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00c1d00b32d63e3ea4fb69ab6b9dee40a17fada46c122e52a53fecd3fe613303f51c07871dc0b5d8d8c1705b484de6bdb7f442efecd7d9f59dc36e495f72905c7619bc4d3706283774e704a3adad7d6c1be42ddeffc2ca5b1c0e31b58ed606f16dc14676e60ecff42ae33e503621e232ba449e91e3a9909e80a8318610aea3b7cf\nflags = WorstCaseMillerRabin\n\n# tcId = 41\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01c2faadef91d43c9ab1320020e08e2ec3c34012bd0db94a1175170dc5aec26897e867d0b7a7273119fbe1115f02875b522566016f69f319ad5485e7458fcf50205d22ba765cc586a6037be987b6832c46227df19cd8ce0641794b60b73fbdd3c104870ae9bdf0194e772c985536e860b90b7fa3eb205af6b224413f5813836abb\nflags = WorstCaseMillerRabin\n\n# tcId = 42\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0109fddd44575367466c67aaa921047b367515c9aa579eb60728034ad2d56f10eb01cfadb3ba0abde99f348bc3c70559bc24551b85937ca4c886abc0826cc1c310f14393652c1b4994953881bd2d81de0f2a280839829543f429bc41bf3c6db120bb150173e2707f36d1f76318249851f4fedc39e36aaaca48686de03e6d256973\nflags = WorstCaseMillerRabin\n\n# tcId = 43\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00ffd0847cdda5a4fdfd2345bc731f1bc77843478950d33b2830ef0caf8deffdbe6309fe61fb67dded6659e433f30363339dbcc7c0832593f33c24a8b8f0e28038cb6edeed58ae765e6884ac0b66b5218cc758e6247269d24be9f91865d33c105219ffbce00c6c2d6391448643bcf5138268f510258f638b90a6c8b53bfc121759\nflags = WorstCaseMillerRabin\n\n# tcId = 44\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0118d077827c6db85bc61d53063edf5676d6ac65b611d836eed07ee7e1d15c02d999a3eb78ce662edaf457f0f7d9c0a0305acc1faec4170400f0610a797de50ebfb08fd0a5da77144a1e0236e2bc6d8d2a6a719e59df071367cd61275f372e23b1c0187d87d15bda5f71f4705b1c3aaaa8ad951d20cee93274b151f3f9a55bd693\nflags = WorstCaseMillerRabin\n\n# tcId = 45\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01c09377e15f53b1329b6e8a08bf0f94da27dd29c89be74544d705173a0bdd410935e186dd95ac113732674fe08585690ebe9f749a116a8c64e1b4a281ef0cb28bc70b1639bc1352ff5777783bd72e3b8495c1494ae11fb32bdaba8c80870a3de71c0c27f07983e97500c0ec0321b86c679c53ae7f8c76ddbf6a9cc3ff63e45023\nflags = WorstCaseMillerRabin\n\n# tcId = 46\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00f35cac3bb3c7cf5e4e50162f4ca889ac7b875f4aac08c5a2433600e9bc64db6c9895aaccf3ee98783ee2cfd8a5e448b265bbc4cda6cb80d487c7967d5a6724fae1ffd27c70f579e62b49f29819c6221d7659fa9364e8e37795d88611506b552a20533f1f6446a35b41a986d304fdd7a39f484331b4fbf242f95b80788cff39cd\nflags = WorstCaseMiller", + "Rabin\n\n# tcId = 47\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01e9df6f069f5984c080087127f90437f2d38f19385b3592d17a5f23603ec6315c36a88d2012e85eca62a983de7ef27673c605155b5647311840cf8887be8267fbc01cec3f7e0467d5e9a812e5dca577cc8ac93971c84f8cea94637c60c0bfe5d7f4b4f950e60ad077941190afaa905d6d5d570c9b4dab98c32c7abc42346f894d\nflags = WorstCaseMillerRabin\n\n# tcId = 48\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00c5286502dda772fc22d43b0a2f46823777a91f580f3a1261c47be8e2010a5ad9395e2c036b32813dcdaad33c8f2f4a522593e31ae55ef05c8df8ed58636ac1b9db2b205797d39343e0868ff02bef46d18736bedc6f527730da8594d45d0447e7c7f0e8ca12b285b88aea5e343264874ac22038f5821bd96519d49caf45184f97\nflags = WorstCaseMillerRabin\n\n# tcId = 49\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01c29fe8b7e63795218563774685b9fe85eada73691a6420c38f0e9f2f802e89c77ae78716924e4efb5e4c639ca98ddb0c9e35cbc6313196b3327672527404b6da8ff7813915702fb7fa254c1cdc167a34170da57606ccff876ca0ce5e920f443e389fc9d0c071b908c6675b6a9f5903d6d22ad490e6476a7e13adcaf988663b3b\nflags = WorstCaseMillerRabin\n\n# tcId = 50\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01e8648f8abce82efb0afa9861c96c428f690c5fe33b9c9d47f97198542c982e607fd9700f876159ea404983f4eecbaf2a73b262085da4b7b5de8f6e8ca0b712f5e89c0e8f024033879f858f814275a3ea5543fd539e74f5e099769d0d726ebd8bc74bda6e2f8ffabbb7d043f7818cd8d531180a827731fac59f45b2af35d273f9\nflags = WorstCaseMillerRabin\n\n# tcId = 51\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00cedc5db464312d6f1ecf53a40bde07ae0d5540ef75a4802ff469142270049dbba2b74e4ece7340d8eb99bac1a3d6f0b52ebb41794d3cd4e4a588431879ff81818abc50bca5e686a06d48461b425be62d3c064321429e346960163f897d21b362dc72f306a6865cfb9c8c5682cc7fcd7dc6ac4202e8d070729ef9e3b526236c71\nflags = WorstCaseMillerRabin\n\n# tcId = 52\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0093ec9e6681f1bc1d6534add99d97e0d907828996bb3d7b481f3ceaefbe8f3fdf15698302ce26feb84c08994079c9f368af8171faf76801fe6dfdaecd587fa0edc751d64ff7e9aa73fb7aa51a8469379bac38e9d7941e0bbdcf658633daea40738e81f5605198b04fe8fd49646da4e98c2282a8041c25bb9894252412472294f9\nflags = WorstCaseMillerRabin\n\n# tcId = 53\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0129fffd0bf1827f2847f45bd490d5423f67d87eb8254535d57078707e19f2ca5ca10602c5eca552fbdc77e30592b7498254f901cad02e0bf59802f5582cbb3059a1979a5e5311855807b1cbeff86a651dbf3818c3b6cf50092c9b744c4831873d1d0d8c23f23b39517ce435a257e5026cfa0be280672e1bba3074b2cdc6474a37\nflags = WorstCaseMillerRabin\n\n# tcId = 54\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 017232b942eedc8a0df14f5c1ad4e099f192b242b7d3dff09c50cecfe636c72c6c8ba1c65dde4396282e1a1c823b6d5d9c0c9068b39e202dcba26a9d35a00b7bb6bede272820fbbba503bc1866c6ae183d8b50e28555a921121929862ce87ea4ddde8f9d6ff2e17a8ee7cf9d306faa0815a4d46e8dfd4b7ea538b7399cc1c06c1f\nflags = WorstCaseMillerRabin\n\n# tcId = 55\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00d3768b43c242fa7ac1de856dc7bd413b79d544bb8d38677bc9f44aa116ac5525c3e7fcf2fb2c1d3de61844931f47646b4c5f7de226031c925acbe57f1cd292fec7e7d4fd25afa128704ffd8da910ef18961e081e88d40bc37582b087f1b1f39fe4d23a03ec6b869c76fa3aed7a3606c469069c4fa1d4ff1c6112da16ba9dcf97\nflags = WorstCaseMillerRabin\n\n# tcId = 56\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 011b5119e5c68a710158c36d414597b4e1ccff332d1b437a4d2da2d2269ad2b626fde79e3ba7ed92128e5feaa87556f18ca6937b5a88f4738608d6bb6aacaf4fb719d67561d66dba9690009bcdbea2db4ee48d575722cbafbf1e487bab1c62ba0cde30a34620c7733b3e13d8b27fa035115680fb81016d1ca777b8a2bb7c399a47\nflags = WorstCaseMillerRabin\n\n# tcId = 57\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 008e9ee596ea83d06e1a9a4c3b75fc67f3c01de737be4dcdc18f1d10e322df48e455546ac8ac810129dbcb0fbf568987033cadef9d051f6032c8dca2804fc8d8d6e79f5d767963e4b6d72ac29d98d2520c29c8e69ffa59164d6a1e4cb55b7fcc60c7cb274da264203839873ec2f85f4ae377eeb6189e031b17e8603a01ef877b3f\nflags = WorstCaseMillerRabin\n\n# tcId = 58\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00879d1e0bc0538cd9025110cec61a034305c8fdea2b9709ba80b0c45891e7ffc69c05285f4680b95b5882ad04210342314d3ab465ee1209d0690613a09bf7df0d48de18a7200e09e8b7944e748413ad64057fee2daacd099dcbb19920429cf9776d939c27c74c3adc8c41f1001f98d5293e018b1dde228abc6e79092331804bdb\nflags = WorstCaseMillerRabin\n\n# tcId = 59\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00a14d02b57eb643499b92b797687a69aa809fc6c5b56be581de2f8668d38936c9921a16c921a18ae91bff15ab595897416ebbbde977244dbab4779d47bccfec14b1bdb255597bb9bb70e9372fc9afe475b2f73754daf575ef2dd565dfb4216208141fa99df428417d84fff2c54b1fba037a4237bb17b07ddac0f39209f83f8541\nflags = WorstCaseMillerRabin\n\n# tcId = 60\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00d11e471371b5ce0473a80367ce1b0baeb21d8f8ddfebf1116f3b3721247ec85f6e2786467b63743af0885e69c59d674d2b1a4b655ab15d8003be755fabd56f60ad3a7d2a5edbe942663b882e8c1d9aab7250a45b93feae3f092e8819d5cc2c0eee2cee0c6a098a40331aa12a0efc384e518036d382e4e231de3cf644e8aa8b97\nflags = WorstCaseMillerRabin\n\n# tcId = 61\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01fe65939e5a1c520be98522b1ebbd40e4c030adf0677c1878b1b0a58b72873eff6f58712e377457ef467bdbb4666e2f8a4733a13a065aa01e3f5f0cc0fbff0e8a2eb2d8d43b9f2a4931d107315943fa7e1d304f98838903897cd42ab948f7c5ce31a9323a35bdc0cae10eebccb5f318a1239f9b9609d45387805524d67e216477\nflags = WorstCaseMillerRabin\n\n# tcId = 62\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00c24248b5f6e52e0ce8c9068ba2b5839489d1a4849feb751b627e12d13722fd5a00cf4597e63c9bfd1a275b68489539f2b0bef36a09504d7539d0e1a346bc0dc5fa2c65c4c23b771a9946ef5bda403dcd27f496dc02233c05d7d7dc73f6438169a0bdc510bad2ca105d84c2c8bbf2a44c4d7d4d0ead980c13bda71a945d1f3f01\nflags = WorstCaseMillerRabin\n\n# tcId = 63\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00ab0ef4c1c3be6b7bb39ab0c8a1ffb2c12f8a2fb6c85ea1a8893f452dae161a8decbbc6a84ddc2068bf9df927c0f68a95fff1af8aa9eddd80b0c373b7ea750def2f6df54c0a7e50c16bded071b8d1df6687264e496316be5fcf5f9ab73f5c39b61a876441fb3f467205c92a864d97205032660d6eb2cee3ebfca9649295f6fc95\nflags = WorstCaseMillerRabin\n\n# tcId = 64\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01878ec4f236498bbf2320c89679639394b03dda157a9901f2e07486e64f1bb52f6b4823db13786296a71d6e65ad6a17308e46ddbb2608774eab3df41221eec799fc13ec95b567450abfbae8aa04f3c6361df3a1c01028b83560018b729b5924ee5f03f1306267eea55ab65a95591b105810a50111c9041d20b3ddd389e8ded20f\nflags = WorstCaseMillerRabin\n\n# tcId = 65\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01602a125e7578a82e23051dd12ce12be44f2becfccbd13c2ee18ae1e391356786315832fe9fa6dd5488c83b4f560a5a4b9d9daae4faf0b9b21075fa1b470c7d984b2b43cfca22bc36ec305e52fb4b897445024f2ee536164a5a9a4201db4d9247d4e28e193ad3c62657a91b23727804e8f4bca40691eb41f17c68ab65bb8dd2a5\nflags = WorstCaseMillerRabin\n\n# tcId = 66\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0109a25eac262687f28e560e73bd95be9894bf2a0006dc217e97547064d29be5fae521312fcbdd2949520961abd90b5a2ebcf55780f0d14ebda3c17825089183fee844a3ba0d132cf3db13ebb8f42905bf24374ac29a7b68f93f76dbce3942d4b1dbd91c611d24251b374bd29ae153cb9e23177115dc7003894269328d960cbbc9\nflags = WorstCaseMillerRabin\n\n# tcId = 67\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01962b71c4824f2072f59c73cedfa26a49bd976bba7014005b6feecfc61c90caeeaa05ca8954219165f073bcdb73770846c97383ad1d47f0cf656830388fa5847ab9f542e26226d3e9c2a90bdc23819333bd13803f7520272e4cfb80b5c54c92dbc2936ac75f426babec5b49db6a64cd6eee14ecff0402506eabffc8bb11ec6c93\nflags = WorstCaseMillerRabin\n\n# tcId = 68\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0102134c13210c561b22c8f2549e0a1786fb85900e3c69c20905cb46a3f633b7128656ba1644cb6bbfa1b5b0c5a5bed69a7802a543cefceb2132e0db7c596e51b88e62185f3815fdd40e7db9d1aed0b0f135b09c4d90e81fcd4ea7a8e7c150147bb2f0fab2d8a0128f25e1e498813f6dc26722a73a441d6e9ba4f488d96ee6d399\nflags = WorstCaseMillerRabin\n\n# tcId = 69\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01ecee4b07f4311afce14524ab060a72a7198499342f099f681dd6b8a366bc9550a7ddd3288273ef59f62c5daa55c9c4726c78f08c20e0d9a74208db52f732377bbd8ca8f8f1d336bda6bb2defab66506c0db04bf0d", + "d6f7179f52cfe9c5c91179de1c03eab017d7ff867478e45386955c7a5a744e7f8dacf738c80352a99226777\nflags = WorstCaseMillerRabin\n\n# tcId = 70\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 019fd1a5266cb6e8dfcff2b755624ec26413d25cf53a9d4341ff5c7b0b4e06e8246e6e1063e185b05d90f38637ca69c298d6a834e9aeb06e02afd001897c1fb097c905445b2e6d27750cef01f40d6030f0328eee55241137afead4f8d358d0be0655782a60265f0b9aa30b275a32b60bdb252c95d8d69b68e8a1e07c2374029bcd\nflags = WorstCaseMillerRabin\n\n# tcId = 71\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 32fa78d5eb67eb14a53de388e9d03ae6ebeb7ae017dbae8f594b95f82f6ec380d5162f6f498d0cb61bb14d7ae54fa1b427c2a1d819133161576864a86d039200cb22c5d68716fd0e2b8f021cf25e08506d4ce285536bc6a074edb6d9b4a9dc01fd79eda19efd3b168eac045b6a4edc4c880de430dadc5dd3f32886b88d320505f5f0b064e46be0f1e31c57dd160e89738a4f6897975875564f20f82ecd4cc0db\nflags = WorstCaseMillerRabin\n\n# tcId = 72\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 5954649e58b4eea73bf1738957727ed4f356fd14891d95b81c7cd40a9ae4b9f1a807fc859d4d419e9a2178a369ae734cebf3b6b9b7069570515a94b5609585625a7aab4e2ff05566be39860b1c2e41910a07b46a555299a573c50b82572a8e40d70cd5949c0c5488582cc2ca544265e1e48ec5501fe611ee65de54946f4543ddd94f5d2c100fad681b6390924e3dbee62bf78133bb2ae6d1592fa5c4b0873635\nflags = WorstCaseMillerRabin\n\n# tcId = 73\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 282ca88061946bcd2fa15fecd98e61505b4c98079e5ffd08e9797059673150435ed47f6d94311c9df4ceadce2e13679b4eb1e7120f9f19d7ac393cc090d1885c88136ec24d085ace42e92ab049d8cdf963d8ba7b93b25e3c720367fa9d7d3905eb460c6922f53866fe439bb96f6d5213e66ede6239512bf0c2253ae23c3ff9915dbee4eaa576395e2d6986d40151cd8fe4c9b4d990ba17ec4bcdf6660459858d\nflags = WorstCaseMillerRabin\n\n# tcId = 74\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 2161895b72aff5d2a865dac7e95cabaf7a28010da0dfb075f9b25c189821c99c1bb599d47d6a688254401511cfad26f1d93f254a3be2752a70f7859acad5e6f741848bfefe449072365616be7251781063e8f8934b59f1826341ebd0839dcf72b1735e21f35301313c683d28fb637f6f93453f575330f74e2a0d661ed5fe54816f8cd38b162d5e769c0bf94dfe83e25b6c05b7705a477ebf52ff4deb6bec6aad\nflags = WorstCaseMillerRabin\n\n# tcId = 75\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 71f7dff1a6a0fd66d5228398a7ff1707ed9f83b9b8c660ae57ee4dd40de7493cec1540e50b4586fdda98ee538e6264fb72f51682bb7bb5305285c287f4577023b8350a84fb088005e36121d9d137b16c4528b4a8a3934db88fd27128733b5f9ea78bbaf239c93bd9b6b4b1fb683e2e2ea911eb4da824b5650f186a7304031b62fc145a9a20a269079ba598dbd183f29a2f35a46eb05276b8ac99a8dc72d76151\nflags = WorstCaseMillerRabin\n\n# tcId = 76\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 55654725a248e323f3d4050b87acae89736b85dc8dd45a9c143b001685c72a70996f3ce99f40be4cdb83b7b420b520e7fa001eecd49cd43c31500c7c502e8c31e309026c07fcba386f0905da79d34b855861018af444fbd519736483fa79ab2d02182a9f0c0e514528f38cae7ef7668829b25d58b569027e4f286a71c1da3d9257a72a234ccde58d1604954d99115db265ae13c012125b5f317ab3297e5ca3e7\nflags = WorstCaseMillerRabin\n\n# tcId = 77\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 6af6ed1adb0d772536d2e80f9f048b9a94cea70f6e15f37a6b5cac22794826089a11c8fb421b3bf8c108bd41a3cd7f34d09466aadc8b043a51b0b3e9c18e0c96e4c703343fcf68d45d5f023bf781de530a1d7946f4d2bcde9d7ef44374a2ba94ad56777aa113abb19b57d4802c18bedb58157dcd52eeca7a3837e65aa97d95f3b757e7eec27a5f890f41399aa5c2831f13a724d798aeabfb642a011c52a7c70d\nflags = WorstCaseMillerRabin\n\n# tcId = 78\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 344b4e93ddadf36e039a4e97783a18c3a84f3d725d5f496f0b3632fd15b1a0c2ddf8f97a0f47401d0bef33c32ef36b2819f5d0f72046ab8bdd68fac28397d1906a1923f5ad96483048254e931a6acb5a3d31d4953212aa58c2f96e94dd5393f1e830e76264af68abfed551f3ff4e8d3bfbc6e6cb296befe2b9d694db4d4dd186cfcd6d697c7aadd92277f9ab85e000dfef3085cd52418d0f9b11605a64719003\nflags = WorstCaseMillerRabin\n\n# tcId = 79\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 2947f606c39ded9591b3314918b7fc0586888d42eb0a8d68bfa0890292f83f948280dc92e897c59de2477340c9fb288241737213d63d006a64b5d9c36b010164953fc68b3e4c7d70e4837b707a2b4b3608d878c7e5c122665299c012e2d5b3630b6862b87e4c680cedf13a6fbcc6eea8ce2d1fc394aa2327d6e0f41c4259b00fb8d8922b4a81432a30f7adf6477b5c436102c83bd1896718d8e795cbd5c30b65\nflags = WorstCaseMillerRabin\n\n# tcId = 80\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 2d586d8d3e1a38f532ed17011ff9d397084633faf6690129eac51e092c67217fb23e6d08f9cddbc38f7b3fafc308f23375df556f68f8dce22247da756e8aded669cb841b6be2fe5a22da4c0d06dcc6d6fd899d294ad0f62de03a7057e56ea6836ce8967d929f4144c9955460bb924fc32f5210919c79e9566e0552caaa130b6ab2e9be086fc97659bb2097adb0ddf82cca17b472ca511735499c448a8301f379\nflags = WorstCaseMillerRabin\n\n# tcId = 81\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 4ae1078c81d196eea211f9c4f762a350b4c060b4d3630bf7fb7dddd2739986b9de2422c9902e5870b3760be7b7926d6aaae633cf0ca9c0e78a2ee03fe193675524e0042073d3be737efe994b7bd93382bf8426f454e4a221fc899764f1059fa30b48ba6db9be33c92e312e449d190b3fa2f1c731277286fa363ac8420668239e0bfc26387ba329720bc4ed0217a772ab214a60d8d2d0889d887960383c420595\nflags = WorstCaseMillerRabin\n\n# tcId = 82\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 4acba34e2619592d5cfdbbe195d2aa9eed8762ac0a8336d947c846fc97d1d934c1ff42f1254de674990f76e514be53b2755cfb4ac52edec66a8127685c8e77e84b06bcfeda0684fcbfb20e2ee05c1202f3cb897bfb1c44bcb6301a9843f8e8eed031a1b4eb913bea04f13390ebd2a033ed151ef8b49b511da558e56cf1e3ac89545219ec026b3938ba9732792a1c89ca6d38c3c5e0e400af528ee477ffcf2ad9\nflags = WorstCaseMillerRabin\n\n# tcId = 83\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 3d809b8c90e877efa20e031ec99d825afc1c1920d8b94e460848b80c3fa0a093ddff5c608963ab74f505a6da96b8068c2c2b3bc1676170dd0c2e65adcaf7cfd0c6b0309634961ad0c9b7f75e2f721f1f57fa9cf5d4f41f60b2ad3fc1d213b8e75fedb69ad157e24ad67f2ecc4099943e19ecfa7e1a34abb9f4bb02cf205906dc159c258973267731ce59d16552d372b9b47f0e630ec677711bc13995e00a41c9\nflags = WorstCaseMillerRabin\n\n# tcId = 84\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 3de7d0bda6eae8145cc70591c4b78b1dd8d9ecc4a3d7edc1bbb75bf0e98fd3fb8d5cd4e94e4cd3ee246617b22426ceec6981681af9f7e6af08bc02bde7cbfa13301f7b88f607e1751285c4a861af2ac69f20d2d600e27b0de873b9ec7bf2cd0725b31032932f0f817084b347852613af9977931e2b3132a523dcd87f545805730b34db29c8c8dac9df8a50f5aa1e36a056ae41b01d04cd9574acaa98203d84a7\nflags = WorstCaseMillerRabin\n\n# tcId = 85\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 5e2a15c7d9bee2668dfd689d027bcc37743259309457147ee7785bb3960dae3c8126655cff9e1302086adb3d1c962c3390f50ca3bf5f666e8a004930536c0bedeef4e8bc3f4dedafc3168692109a239a7d4fbd3aef9e6e0c8665c6379caa6ccb05a6f941782379fb13990f2bc104dc7e0007702c7eea3bb7ee42ffb5d570570b2f5409ebe76d7244b1e8392ccabbfda22515beb0bfad6c006c2a02a5e8526763\nflags = WorstCaseMillerRabin\n\n# tcId = 86\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nflags = WorstCaseMillerRabin\n\n# tcId = 87\n# A strong pseudoprime for the first 46 primes. F. Arnault, \"Rabin-Miller\n# primality test: composite numbers which pass it\", Math. comp. v.64, n.209, p\n# 355-361.\nresult = invalid\nvalue = 00907b5573c3d72ca5afda9df723d24066410e3d2b61f89c5c600f90732d0ad7db06a02e209f6792b609fee2ac6f3d73a5805f2b30642d1e2654f7ffd155153e5fbdcb17c76c27fbcc15010ccbfa7a1737cdf032edd5da7edebc9703e51572ce452c2319f1d91bee276d3e1121f9563b1700448ff37346b5a88098c9a682a59ccab86401aeeb74c8ce45dbf8b5\n\n# tcId = 88\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 19bc037ff6b1\n\n# tcId = 89\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 01933ecb87a0c1\n\n# tcId = 90\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n#", + " http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 021229a85a2f91\n\n# tcId = 91\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 032d4a135c4d51\n\n# tcId = 92\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 07277d9f8417a1\n\n# tcId = 93\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 194f\n\n# tcId = 94\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 0149c3\n\n# tcId = 95\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 1d7503\n\n# tcId = 96\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 6c7e23\n\n# tcId = 97\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 00f1f8bf\n\n# tcId = 98\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 0ebbb74637\n\n# tcId = 99\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 127c6e3a4f\n\n# tcId = 100\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 15179c6582c2a8c42af5\n\n# tcId = 101\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 00800c6ed22988e8353348f28123408551ab4ee482b7961786ea4d90ed7d48bf4cc5bb0d7fbc0346e9ca2dc215540460df3c24bdec561ba766de6d618ce42fedb4fd84a67c5ef94323bfe88d9f55e1b111151edadda5a91cc0056b78c74770ae7f5a1af3741c92af4d87a70f66246fcaac1af0556b0a0bdd511822a01a4b897f0d\n\n# tcId = 102\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 44e282e671aa0c4f85ec68b2447bc29caba0ea0228b2fe7b08cd420955280bcf0ad99a0efbb8688b3b71a90a8f6e4b01911c689db474ff3685813fb2c943ce664f32d2dbc3c07387dec550207461270c323ef25c0992449e142ec3d7c36cb876492ee6a8593c4aa8e992c2f4cb394a88fa7aa9c98dd1c9e18bcf280332fa934b\n\n# tcId = 103\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 00b310aa4e16f59e55df118739db5ac21b65979ff5acd1cd4839716a63eb4ef966afe8a04a877548fa281a252c8a1cd4e62077f2ef5022e855d60d06a24a91cbd042323926aaec1f75fb4cdc4cbaff3a4275903c226d5982c22740e17d3e0bc7bf5bc23e7273b3bf86cad8498e79ffc43054292f38ee035fe9f67d6c542631f833\n\n# tcId = 104\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 008126e1b6c59a80581221ccb272046804dc8bf7a2893ccbad9e61267f9c56ca5b\n\n# tcId = 105\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 008b741e1c47493e2ac2bd5f69f37c01ff0ec6a28e4ff91fea2ff24e2fad1b3369\n\n# tcId = 106\n# Sorensen and Webster, \"Strong Pseudoprimes to Twelve Bases\" \n# https://arxiv.org/pdf/1509.00864.pdf\nresult = invalid\nvalue = 351591274f9af9fb\n\n# tcId = 107\n# Sorensen and Webster, \"Strong Pseudoprimes to Twelve Bases\" \n# https://arxiv.org/pdf/1509.00864.pdf\nresult = invalid\nvalue = 0331ff3562a8d7ff\n\n# tcId = 108\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 046fe40ff28041a690af557734e885052b879535574af06db2b787f926e85880060199697023504dd9c0d0e23b7e01e922538c586d676c61c972e1356ff053e78fdb481b7e5909c7dcf82155d713e915d8cb694a2f46320cb10868f03b98566022d225a97f1ee3cc26794b1e481abc61458146c48dd452ba81d06fab826c3ea58585500154d36c9076b0e1fd3d47222d2e8ae28fd5586818db16cc2fb9449a399ec9c22551448bde17c1e752506464424123af8de6b690f9407aaf52d8d279d11292fca1c32d0d9c3adb061f530fe10eca96e2bb2e4be1f6df1d7130aa21f78d31a312af5bdf56660247d6651168088ba0f1a7e4ec202f8efe5eade78726abf365c735736f578a57\nflags = CarmichaelNumber\n\n# tcId = 109\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0b23c53824cc42b6875b787be423bd8c8aef90a1ccd18f041c8d6164b94e33a5c431217f4572779ef6475407474cb7ee0f49781dda2e903f92f5fe0deb0dabee93d47519b8c2633724e2d2f24062dc79c53add5dcf12a90f389ccd242b82323da265c6db54acbda0105dcce948c5450620166cd27815e22d3c1da9748d4b8640a4a0fc8ba0c11d0ae8965d436539e331bfcb712e4942af901f8e5c5a7d860b92afcb2ac7edd96d715d1d5ebd57232fd74c8bc2e18786aae081704a22efe24b4723b8d7227dc10d5c3e9be23bdd5c646d3f5ca53a3a725bf12009ceb98ed6e83f6ac611a0d582116f4d4caccaeaf150234a88b81b126ec1452dc747f46214d9c01b3005c2bac5fca9\nflags = CarmichaelNumber\n\n# tcId = 110\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 2085249c586a279f9474255a00d50a111cbe29b474218524fd3cb75b69e0737b9598905d046ff24235075e6df5a07a56e73cbbe0093e19386fe253de96569470a474a843a0211a17013e9132bb8a6f981a18d84b4472985936b72e453401b55c3fe3e7b28398964e2d87788edc03901f95411cb4ab849604caf42a924cf2eb11cc21336efdfce8ec322d27d2744eaff0dddf4ecdf6593485b14d7e7ff50b4d30f4679bbeb9cc0a26cfbaedc0c77c9dde1f54b21b3957c72f396bd7c7e2ed236a3b0dcd763ff85ec0190c7419496d4769a5329a9e8963ad3c9326e46a14b888a18c063e6afe7f350eff3ccea8c630fd4a024c908fa8248fe7cf1c3567f56ee45c1963f4b31225e6c3\nflags = CarmichaelNumber\n\n# tcId = 111\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 3dd0b362012faecad5221ed17f9dd0a0b1ea8fc23fa1ebaab3177201f76a8121bcd0310c0bf262bfca1b8f17a5eac72f6eac1102e7d68da9e8374e47dfed6619f39a1f51fee008288c72ebf3e0d7f4484d5d5b12a74510793c2200e51f8ec89e45a41b8986aad68ffddf864f912ea12fb889d937c237efb6dddb49ed6ef02e1d1612926c28a2c6f734350d3cfa600f2138dad662f835ecbf166795916c9347a43bac0dc95ebb8b75d9111a1e1efd8f7f6cc8ed276ad027a21090b41699a1b60f5239e7e7e51ccd9f85d10aea334a95fd09b5467c5f6da9bb10e12f22a577b99625be9c7b8046930cfc16ffae77c3733f528d0aee48421fb658d62deee4126d235759f00dfeab84d7\nflags = CarmichaelNumber\n\n# tcId = 112\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 03263db7214fd0fa5ccb86ed39c03270e0ba52252d80649979ded94b1cd23494533f7d63b47429baaabc9113bf56a785242753301e5a89bd0dc556a173ec596a5f4b93def5f9a1af18bcf228d37b8f615e0feade9b26d498946edad3bbb46183d2e69296a8d96ad6c1397f1e3a64d55c98fe2dc0ce73c3e15672f53e7203d4b658ef17239c4f45b06fc9e30913a8352962e73a47788abc4db223a097ca7f8eb6b404598ca135455758966e6975ef35f077dfb053007a3b63b42f17dc2f4c251aa07ad4f676b2f3c667ff5640470de7fd353e6e62377b0e272f9704f5d4833a9cd6affcd54b0639c594f5f7f1a666c26d6bde51a8590f40201602bb3828225407833a284e618faf89\nflags = CarmichaelNumber\n\n# tcId = 113\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0f8451854b84d14366c21be5b7b331d89b1b83c989feaed6430c5e2a85acc3f2b1a09f3c202a99d5b92651d7a38a92059a9fe15ced0358fde59b492266f69dde4f8301d3e7808d3b9d023fcebffbad603908029251ed8a017effe2427527461d7e0d768bc3d726f540eea4cc1de1905301f435bb7ac49175d7bc7a5ed5a8139d5aa7b02d872c982db49b726ae82908ce331dd74c9c8d8056edf8a366e35bb22189d097124588fa9e84f6b8fc2b870851975e280f9b5cdf2f8b7c780454a2129ce315e74ff7e46961404304725303f07c148bbf8eb864ab8f89f6ed75ea2d5766250659f1e5a2c11492869ab3eb8d880f73bee69c7ce27702fedc1f672186df29d6c579fbb7368d6f\nflags = CarmichaelNumber\n\n# tcId = 114\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 02d248d11dfa04ee4f070722df4c1f03467dd32dff2d18d69ae32e6596567c28a3e21dde873bf6f", + "3410b91a70b8a827bbbc1fa88f3d9c192210c1ae548086023d3ad5a340578af38271ee5bef9e0630b37eb56175cb1bc76cec3cb582bb88fdbe15d5190a5e5ebea44550cb0e2ec9e13098e210910ce2c6372d7a24497e80ebf872e492affade18fc4efc5c2cd34bfed582f06f0da6e969122f22057ce7a9a3474e41ad160db119e82f044319d4aa26419261a1bee786f6003bd6ac854583e7a5489ef1685040162cda798e079a2052fb910f2c36dd9780882738a526a31919420502614542514bf1c4b010ef32cf2e549b0551fb7e0b89cf48cad35ffa29310743d4224fe3ef5b1e5\nflags = CarmichaelNumber\n\n# tcId = 115\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 04b379213847bad82279fb3dc54d60692e9c128c2e0e5ae46d8388115ee6bf47a922c71e02f2f784e30bd81f56578fe16d901d4ac6060a62932e2dc8d349e1c029c98da5c558ac7da55f07e4422902420fe082018cad6f0d7e024318cb3b8248c87b7baa63d2eb1ecba32bd8051f53c285aad786a8eafc0c05b9d7e365495aa8f1a3afc1301d183be73b689b306c3e1851dfc7c91b88faa3e81b29e23c8c2ae86cfea506168b41eb3ab2a2e19eb4ccf6b1dc73055ce8eae17671110f365e7cf1db7f9a11d66ae816300765868b944d945bedbdd3a275e7faf6ce6b84f2de0a923c7bbec4c6e8f47522eb2fc1bad0f73a96345eb133b9436c505e8c2b8382e067c08f0bf33d1822a7\nflags = CarmichaelNumber\n\n# tcId = 116\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00ce30bb03f146cde0da64125f5d4df15d9b148b73caea0cd30bd06d6c46db3e86646994b6dbf12fe32eb708862c0e88000b2f44cbeb2244ea4920b15d82852b3b83ca6fd9676615b1e5cd2f4153854e48602684be12254b6eda528539c0eba1304bd37f329568636335db835082095ab4319374fb2aa0d61840ae25dae3d22d5f30a368f9130595c6edd667f0e6051bd0abf7512e973d2a7fc95abe4da8bdfb138740925d2ceaaeaf18fe2244e656d3edf46f6c1c40d7dd44eb116d321a33a48d0641294eeda8759ff5bafd3301b7b916a089b82a725b15dc6634db88dbc092d9dbed575676126f0a60273f24759b24762926a95669148ae8138dee6d84d242a5e9f2b1cb6dfa1633\nflags = CarmichaelNumber\n\n# tcId = 117\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 01853dddf18e11020af425c8fb280fb606868aacf59fd8365db931779f858d60fe61fa2441591e24aa4e409dbfce513833619710c68e1da623b9a6e5c594f8cb8fcdab698793529d70c4f0079e1ded6e16aa1b42cd820bd72eb719185c61596db069989b88a8cb496f05e6c8b1917db58f145a679468b6406e15b76b25155402acb4742702e8a5d212e3fbae3d4ff06b91ce6de68e9fda7c5ccf9c591aa0035529fb1c8212a35d74ba5e66cf60ab62c47e7d3a53babac9d4406f3ebab673d2688868b301b7da61e3ab9d8ed91b874a68a3678db9481ee2efb17731c382d232a6303b901054a7b22edc92e31c497034c824b6f065a008670079e0c4564684c986f141d71d0a288a038f\nflags = CarmichaelNumber\n\n# tcId = 118\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 02556ed72094c997f884b315d0355be63eacb02a918a75907cd65d8b9f105ecc13412a8b4f7a163fd00f62ba434f42d90ff5b30367e9cc21122859ad48b498cf72fb0357672ba88e362a52b211b5b317bb6300f745063bc3685a7f4ffaff32018ecc80f44cec94faa3f35babb50de479433a084662009e70ee4258dd6971aa0973002bd507b4a20e8befde99149b4b9036191149399329e39629b0ccccb5b1760c5ab6f50c32a3b2c1d5f85ca2d33a926ee7c7b35dc363d44d5062edbea7051c4aa38064c196394be4b1b16da35131b02c04bbfec11da64538f3922a582f423071893c129def2be77c738cb37d4ae35623379f6daf129fb44625616ddd886ba1a78c12258f9af7bd\nflags = CarmichaelNumber\n\n# tcId = 119\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 078af4b6e56f391741bfbc899f3fefd5e20748e7816657e70318f16445f27366f67b931062a8716e3545024edc4d6bdf151f59770772f45fbee812a3056ef42583f37b6f81add2e0522dc11d23f06814f18b379d139cd3773d3c0bf5aef4c82f1dbf69d34180a7720a029f6b283b46cf045c115aae9e5a403b830000c42d592ccc42fb2c6233466e86efb440716fbae0e696114b26f73f8c42f90dae82171ddf96e0755da67c788ef523ca0cce19b432200af05b7314639ac75d26b77d86e08681917ce499f71e8624607217287d0b45898cb69f1323f43abbfbbb758ec3afadf998d27bf30518c613e796bd5f1b7170dac0decd5ac7ea8bc552dc40e2106ce5f793e32bec01a209\nflags = CarmichaelNumber\n\n# tcId = 120\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0b9c27e0c46f3de793c85f2840198e51d3c9550751a2dbd855b364bb4da35fa13871bcff3a049631bf9586c5b261626be4e9ed8865b4d9dd435b8b4731c5c9ee7fdf298e2bd6f7a661e360cbe764a7b7a3723fc8df5181b406bfb787dbc1c2e1586f88261af47c8997e71e79a5ebda4e01d5b862f4823e919c4b07a3e1a94acf139aac80d490b8af449d88a9ad1344afb05323d7400a53d17d28e8495ce7b17d182872eef67479f99cf2e8b9abc967618365a4154b4004184db43cfe2476de3f15301708f576712e8bdbf723857eaec4eeccabc8763e5ba2435c184c155909d4ceeb7e34a8fc0acbca6decf8bdd360c63ac4f5bbc307ff2a7ea9901ff48c12cde5b7544ffe9ab55209\nflags = CarmichaelNumber\n\n# tcId = 121\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 3c30f69630518ab86d506ccb13f843e64e257e135e68aba14def5c7ca87fb23f606d9a21b43825d46d3249372f6a6734741d9e2a8761c43f151defb35f22a58223a4ea1b512da6741523247dda566b8ebcc070691541e58293b39b3ac06d4055a652d7e599e443ce5c59067700caf6c5c0a9f75af9a1ea7ff95720485fbdd3eb9e3bc28bf26a7bd1f8afa77c99669254e5b88b056af64002bdcd6e1ae8186033c2ba2a92a2894d6a4c1ff15bbf70b8a5773750b8b96976ac93ef39f50b9cd3c54f81c65953629afe6cb0944249d0ab99bed92e57b79244948d03681762661c308ebfd0cb89d6e7925ad2c687b8f30b4536766fc28bfb8486e3791055604b3ee95085cbbd0b328f7f\nflags = CarmichaelNumber\n\n# tcId = 122\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 41307dac271321e285ffc17e39f2288c668bccb8c967bcbbf86cf833709c6245ee0d7d9c16a65fc414b94ced362790411f378e2221b8522c57da51379f50323f2554ca3ea1b79145fea625ccc2df919cb31a06ebbcd636e00e293da1dd5a6b288fc3d5c5e68491beaa8be6fc815c64dcec6e12963c3458fb57090d6c2c2c26b77606c593d711ec498727cf7fcf362e46f86f24ce85df786ffd302e0d927955e691c5bf2a0ebd9eb8c2742fa8648f82b3ec179b1531749f05cfe67f3559f371bde2627542a7b17262d48fe630fa7c59495cc7edce5489319df977405fd2042ab0a56a62d478115013eab1eac6b37f6de1ae7591d4cd15fa344b05bdfd996c6a200bd2f588daa779\nflags = CarmichaelNumber\n\n# tcId = 123\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 131f432c0f4e8f16b2e068bd41500f4ce67285268d21a1888ed5c13225a2890e17be77444f9c9ebafe284c2d36c6f66fe4e3ea5f64092eec66dec3c6d1b80316517fb0908cb67d6d4d783dc98b113f456fd6fa71f066e2e9ef2d5b665600901e6c4f304b2c230eee34c3516bbd547c45d4af2f41dbb6fcb6fe60c76285bdabb82ae6cbac84119d8783a7341fac7872629830a20c17cf5131d2d5d0474a42ac4972d1ba0cc5a18c0af70b6ec820b7d2dc34b94281800112ef1b676cb06ff6be14cd023c3c8e366d04d14118d7299d3aa10986dd1c2df41f19df9cc44fd7c2abf22b59693303555b33210c4ff4d120a4b8f8559e3feaab4ff80b0511f296db95f67ad6a4b0e886f7\nflags = CarmichaelNumber\n\n# tcId = 124\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0735440b7d3e3aa4be783bb912f644624fb7da694d092d0d3df1d5892dc3d40f96c2e5b5fd3b537a8f6c12b1e1b5931ea92a7ce957f5d08682c6828e3f864e29dac8c2f3f6a4cc1d3c58eb5513c4bccb9ef9da3ff6db38547563d34f94299c73baf7db8bab5a9ff94edfa55d100bc1c1b1a17f75afa619c577019304887914b70fc72c25c7155085dee797fb824b5cc1d4794c26810662d471acdc625949566d06b734408f47a22ee2f9d3566a200df16ed0815ba6965a1ce49b91708c9c53f61db16d102a6fd3d8e1de82425b50d0ba726aadc4013ec0aa8fb0d0a86ae9b025c56d99c9351c58987e89865cf029e4758aee4b03d2e4962ab1e702a46a95986ea380ae3a5e4d3d8f\nflags = CarmichaelNumber\n\n# tcId = 125\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 027b903357d9edc25b5d45218e0ac3efa2851ea54d84ec92269fac38e533e41ee68a36f86e96d2582d3bcd16afcb7fdedb0a58fb7ff8c94397dd1e1abdec786a4f94fd3acfe15a50f045c2b7bf614612afc4683e0d39f5b100237f52434dbb44eb264da762557cdac6f4aa651f0fea7a9ca7a04952d6f9b0031f2c2f318325b4b84435433578478cfc215506e9a524a8dfd9c7cbd71c81151bc25681261da8fac3220ab32c5c4cc4d94d0febf6353396c6324fc5ed2fffbe6155a63dc74ec3a67f4a38c6f138d91876783d1b9390743eb1503887b041a1f47d1ff564506543ffef691fa56794ffc4258ac0e7aef7e5ecd0749800c68c8835fc8a3e7118166050bde3e9a4e110df5929\nflags = CarmichaelNumber\n\n# tcId = 126\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 74e23abe7fcd90a7c0744204a47059f8fe6f4a9d9fdcd011539c97919129f6f46f310ad14f3866d7e82be737cebbcd72b4f1995941e1ab96db7c563444158bef8b60de6b98aa76549fa9eeeee8018485bc55f6f9bb8621321072283d9736acebf0c189453033879fd38f141a316a80f6c2d5d2df7c03165ffae733ac0f060d9d5969446dcb5ab8cad9853486707c1b373f4144a61d1a17a23b3f1171fd06359b98a3b26e4d8f4cb7f83e91bdf9d7a271aec906f596ab47a001c07e78758f7c0ba25857260e3f91cd21462594138e6bf84cf1c0cf60a8ece8cd2e53e6ca73305428af507326babdf37e29483bbcc2b6ee7b058c7d9fe0b407ed9b491ee85e001a4dd9175a5047065b\nflags = CarmichaelNumber\n\n# tcId = 127\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 010ecf0a6d6fdc6b91c46ed", + "7fba35496708c494b8772bc007bba48958a55e584a40c9a34598c31ace09afc982944c860f6794d5f91f5d07ac3f79758aba4739b592146dfc4aad9bad99aeabe97960b7245b3e62e04f49cea54b33ab2caaefd84fcc202902da5e35ea446c0057d6015833f4e63d793cfd6192cea8736c0ca4a6c4a7a9cf0d3c8a5820384ff1728ea09900c0b2c3eba1fe588719e7d1ddd750508b28b4c5fed49a03b250a424260ac27ad46df6b08554c09b75f80505c1f31021fffc5118e40f523fe2ea437025acf3a8e6a23ea6a2863b460ffab45e47a00c5f8a01427e3986cb7520b549db4aafdc9277fd122787808b519d4d7cad2d225b5c85f253e9b5aa19d7625\nflags = CarmichaelNumber\n\n# tcId = 128\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 01a097c0a285f02b54ba79a7ddb126b709f41b47bb9d8913fcffab4db0f3ba01766b502e9b3350bbfec70addd52ace387622abc21095eb7a019acf6873b9d2074edcca2c5eff5998a3e984dbee023a71d62c0bf9c771d84eb16dee06fbeb7babed577e77cab8785951af65086fdbcbb15f2e1c018192a20d6add44db22cbb14edf2a140cc04f4dadf8284fa77fdc780d9ea34eccba9480288b6b776f09f7e7f4b9ea702359c5fd3cbeff5469530413c891d8df081f9a25d65173b14b313a8c3b75f97b56f053b879f7e31b6d5cd093a47227b2a16afa4af36fd2e91ff1827be9b5d59f537082e535d59788eedcf07c7a61431bc30c55bc9cb93db60fbc7c747badd057908fc0fa0be9\nflags = CarmichaelNumber\n\n# tcId = 129\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 05dd50ba142f4e7f831ff9ac6f4dc4a4582d245cea39319308c2dac8ff1636314b0cda157d0d5ce8dca3dfab608922d9a7071b8478e4e5311f7283d30469be556a5924bcc85338f1f06a4da7e13fa7dfde9fa6db76ddc5e558619d5933a2022d633f1a9ddbb2047c8ae585723f04a69e8c2e01f09e9ee53d3bab6d7902893d9ad725e08b0ed4a25b778addcd20a9439da8bede1a96cb7fa1efa149d047bb08771b59e22763ebd098ae394ece2912d5b2af85f2499b44bd4ea2878021a33a3f305ddf9e1860bf670fbf72d1f09ccbf87b00cf996a719d5b5c2728ed3963e13682784f00ca7b6f96eae3879923108e6432fefd20481f72dc6c6d10ca95db052e0c54e294283e68248ce5\nflags = CarmichaelNumber\n\n# tcId = 130\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 01dab8d833a71ed5abfea060c1a9f2ae09ee0931516fc1f38c14b959cddd92c3aef0574b9f9c9f2991c38fe43a7536c081e14e2b87b7b0d495e834650ea9e466783d4cf3068382cf8ad00651669959feafbf336f4be62bb4dfc891794e097ea53cd8f800d79818127258f89a7e7d6b3d05e1e3f0da7ca6d1e343d24f82ffa9d96fe2db279d2809f0b6482262d53d32677f57500aa703e5ba9df500367ca255d051d7ff7018fe687c907a2520a2b992cd4f7a10b70b1ba3f1b2e5ab07de0e06de76affc27e6b29aa2730198454a8fe529963c27260729c8fafc6e14594604d8e1046ecb7f88d8ed100280f42feb39058f17a5c239848d08b85afa976efadd0711c3253410eb8d\nflags = CarmichaelNumber\n\n# tcId = 131\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 08f969a48c87087c160937ab35e3a80a04c58eb3620eab93184c7e1e2cff1d958e92faa1c3ff3bc17360c15f221aeeb6af889a95df029dc5c4f9974fb77c86601a4b13f872e57482dfed06c4d0055bd478408c40472d599bdce63c79f91240d448560a554673841ac071518c627fb0f22ea0c56b88a1ba5fdf427d5dc68e8d25d944e0ddb61827aaa1e224f0812acfb1158e37805d84e0957c6895b07913141db56d4b41996e3043977259ab2aae56409146421da6f89efbcec0c2cd6c173949cece2e402139e9d5c8cc1a0a1832926985811dd052cad509454c51ce4c2ef5b08cb04d6c497431adc86d43a27bd4c7647a12208ca663f5fce246f4045fcfb9ee8ae5d48a4838a9f797\nflags = CarmichaelNumber\n\n# tcId = 132\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 3dcf125a77c4a3797dd742d5f4647f22107fcc23597d261d42126ecfd63c979f0069c0a44c9d3bc3eb47f94e83041cf43c90c9d685f61d1784af6560826a7858807fdcc4a62e8fa2e24c060bed22bf5164ea8b193248698a59df6a8ebcf2831a746be18e5a7fff4ecf202ef6f872a773463acc99233dae6731e20db3b6a1b7d71171754866a9ec6c20fe99a06589b2f940a076068d3cc2e5e199a48804b6361548620877d3b65f2b652ab5029b7e964b465bafd5725add9461c399db82688b0f2ab510384fe387e8f289c7982d3952bdb61944c37fa1474a67a07008f3cc7115ac907ed22448808842c247d554a3f3e36e6665ba30d489723a08a8342e59dd2f5942a54f0302f3cfd5\nflags = CarmichaelNumber\n\n# tcId = 133\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00e10f450df7bd6e44aaa5f66994d5e11a57da6947969b8ffa84fc942725d0bdd57fea4cea3907cb5c8200f432453ca855e77b4e89766b1f339f1e79f1b3bd5a477d7af9c21d97ea2f025ec6810101b103d496141715d61764193ba8bd63b00162161b213da888df612e610c8b3ce100b57ac59d0eaae65f6ef136d5c42c82104dd37b483d68345216689fca1122fe3e2957d357df3e1bc0a7a23b3f3789103fc8c8bcd6a6a966e2661652e892c059612770425b251b8bd02a0955fb5d895ca90a447e560d13b5d065a241777320c3dd839212a9be7ec0dcf792e5d0383ddcc98cb3cdfb85b05d3cfe3c6c8117c76411d76e5de85b1b117b22521d01728da606bb28491e2dc93b917f\nflags = CarmichaelNumber\n\n# tcId = 134\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 034b9c645b94c535846280e92897209efe58970459e1557d61a3a0178a8e6f2e522bb4629291cd32b6357ab7b0fc121a7c62fb7e3de939391847383b1be7d27ee8394d561d11532159cd3e3ba5e93d49466d1ab5f0196fcb3ca72c4fab0fba4abe918cf22972af7c34168e49a5ffebfb893dd0badba1355ab22daf54422271333b2565d31298f87eb0c9ddb32afa15155c611249f3500045e17aa830dfceee724215a633559f9e65d9603b3b8a848025fd6ec8eed39f9e4d095b08221edad29372c97df63d151f68c3b5b502a12423bb961e51a9626ae8ce0f08b7ac969e1d0ef1e5a04fea3302868c28e02e85eb79ef16c1c7e45d6f68cc32c292205b74ab40bc02cbd5990fc7b92b\nflags = CarmichaelNumber\n\n# tcId = 135\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00c1221e5f3877bd767a7c56286fcf77a3a3c96e1c81e15a59933d90cef676f95fa6cde09404c8988f5094edbf5589a01abe9d612b858068ec2c1620b0b8d49cb3e431982ef99104dbfa95f8008bf5915cc42354a1ee2d8888bfa0d2b964d9f664503be6a1c6a99a121853651a063c33bc96ba1021bac44151fcf92c8fda6107bcdb4ab61bab8588e94ff38adc65da325b42b1525c635cf096da2da789bb9d97edf07a1d292d9b8dd7169f6292182dd89e2d9cd7169e20b6cce19f951c08d48b3466e134664a6a45ab508e502e3a17271bbd44293b871ae3a61c5168608545be5ffc889ec8f2357b21a628c9af10c1edb37c8442f8f7676663ad9fae6ba6567115a89f90d1cf05e999\nflags = CarmichaelNumber\n\n# tcId = 136\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 1306e7699113ad21f3d91f0b6444a2c65b3261a2a5ff51ef0362866d81305e8f13bc3e112f62005b7853974f9021b4a30b559e699282673c893a7bb91c07969b572b98c460b483ccae8acf42f713da00eb6d65c7123212cfdb538e98b5865f5d9b20ad1f7f9b64887f9efbcb598d7c864a6812bb2f7d9d2cf8ec3d3bbc7004d5316556dc8b663bcd285741ea061dd735b31316160d869b097e44c3042546befbe43e63f24bfc870dbe0f7a20b887c384eae7eea4cac974d3ba610ca6392b75a6fa4646b111a43a6a729835edee935f7019f3cb0929c8858b390d4097d9f6b4cf4665f925bbc8e85da11b996980556b3e230eb6d59ed8ba337018745f16d7c6f7310db87a615257\nflags = CarmichaelNumber\n\n# tcId = 137\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 4eb3ea092cab164f3fd7a73136de87896de4479e92ba918fe1a29797902db20c2ded396a4351b61aaa66a0d142bd2d4f4b44d39ddad927fd38c1c8e773f993f9d49d6aed9af93191408711a0774de82da243279435594c49950929f074b4b95f2e50f7d57a9c523bcf30b8c627dd142529e9679bf4a4ccdf76b2d0077b40a6006ba8721703378b8538064afebfb97c1fa8c49bc704b99675db97de4eb52e9cb78a907909221d492165f074421033428baac5c23c508c959d43276ba840d8be98baa38f89dd30f2c67d27dcf60e69af725541538cbbffc2ea804a34f861fd06ed03c682c0bce11cc0c16ad164d846c478a55787f162d2943b577b2cf4483eae13b2fce80f436a15e3\nflags = CarmichaelNumber\n\n# tcId = 138\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 020f1c50b3640950fbf9008742b8d993dbd9657026d755691cfb088f0c6f9c4b98bc0be2e0c8e47881e7c9d6ce6f35c08fed549bb40b0f4fd0f79432df4b5a5f78d2b54df8cd958da785d9ab1c727c1efb0e667bfe216e7d2955dd490e868e783f1409d0ebf2e079f1303f57b50ecc3987a53afea5d824f8dc9a89438fd32f1f4b3a729c5482a3f66cd69e712b1fdd3ed25836dc8157079053bed47f5e500ba698ffa7b6d02100f70993e43bda086dac726e72f9eacc01a1d623edceded81e0a446c0713b06d9224488df1f4239a7d99daf16d5273e0bbbb11360dfef18ce33613441ab6947a0daa61ecf0cf732c4b8141e951b232934b61073455e454e131e442edf39cf62e30b101\nflags = CarmichaelNumber\n\n# tcId = 139\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00811bb71ab010d948e4ab07149e752d4c0b9bb6aa11842a1146011c0da66cd8d597f7dbc48f26b9445a92374684098b2c87db94276481d79958a8425263ed6ebfd97d4e42a5239b36e079cc14fe923d3312f62800b153c0bb4e4e97396182b6f1ca5eb6f33ec61d4e7c2d822964b679ca01314712c931a8f430011644ab9d47ff485ba18041a564464c806c0b445a69d4fd4469939dfa304d8aa11fc2e9c98b450441b5658be9ce498f638aaa6076baee06c31f66751b440f977543ae6b268da016aadee31ae4866ecbc9f57d077a0cd23f802d27875b524898ad2dcd19e91334b88ff23a7532323984b040c3d50e6b37044b89d6471f92d03ddb3862530b8a95ec1e10e40b768ebb\nflags = CarmichaelNumber\n\n# tcId = 140\n# Carmichael number with ", + "3 prime factors\nresult = invalid\nvalue = 1a110258b0f5aadf8b223c58bae17d256aa1b66ab381dcb1ec128c4cf8d1d3bde3dbdafb45808865c919babcb5822f5121d6efd80e32496a66acb9c642fa93b9dce7181295085009f2427e1e0dc6bf322b8f6b45219b37640119bf01f468a16def4fdee8ae8bd10829481a918069de36d161dd5a00f426fab3267ad043c601a2109e4e40568e76bf97b8c64dbf55b442ad484ac3faba1d654c1e27ff6cc5a215ea6a695b55ad0cd71a14e3288b1c2221c387b8667e8a37eeafb5703b4f64b13444330cd9a292395f64e26ff8e27ffdb041a7b3d559b187a39df9be773916a4b7ef968892ea923fe79291138a8de437e4617b9e43e3f4d0a0c3933b6a0babb54cf69756e6457025bf\nflags = CarmichaelNumber\n\n# tcId = 141\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0315ac7638fe2dde5f466b9ae990a6b4ca6e4529c86812f1148e65c2268f24569aa0d2fb1a9b4ef4059cb4c93b2c537a63cadbc5de9ed118d4ffe2fe845a57b9fdb1dfaf19e50fc09469beafa470a45baadf99d46d86b23b0f9a7e2211fd5119db7fa220a819bf270ed8cc37df6cdd39413f566158375a8c6ba19d33e59b517f23bfbb7ab72a4253d3b2f25450cbd4dd2795bedbd6267d4bab9c58cf7accf9090e44e932886546d30865fa3675dc31d88c16e223553f4c50e4407ef44c1937b2da3447bc9a9db838e8cb709194b84d155d7dbde917c485a6b95a884dc1776e96c51641445c015bd709b6d1f0b64349092dc3675b51d15b86b6d73de9e08d61bf3da3e7d3be9d1be689\nflags = CarmichaelNumber\n\n# tcId = 142\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0090fc577b63378b614de9a87438496201917d1d98ee56b34d1220aea2608c9296cc10686b0ae9d554447ed47c5bec9b489f0d4456eb42cd7559bde32a3556a2e7b6b61c868ee49d85b8aec0d5d17993c7165ca2c0accf59499c743cc4c6a50836b0363284b0c7552d8435f2a25257bb6f82d484b1233ddcbb7c8a3f54027d0bbbf935f067dc3579973d1d819d90f4311fd9ff2ae23b3e8d5e049da85d70281cda755de9c57ab09eba0961ff025f3bce5bd3974883836d8d3b9d37af73cde87700a46cb49f424c2264cffeeb0941cd7ffeba9202b6f789d2749860e46b27209e9eba449cf1794944470ece94b47c092572616ad2f4aa3adf17099dd1dcf434aaadd457f62c18c05d51\nflags = CarmichaelNumber\n\n# tcId = 143\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 016ee5c4a1146a72841a52e1add93bfe32ae14ad0ff82b2879ae691f5347cb3866daff3b94cf40fcaf2efbf8be197a1aad8408493becee6f4fcebe53a43eeab0c444b6ff50cc9661d34b3671effb555ba5f7425d3c99520b29c5fcb937de5c45f0a80f7089fcf6a5e212cae6b68c6811ec22e71706d86dcc2636cca099bf8066336b9da793f86b4780c838145a5f4d079257fd383116cd00b878dd617a984e3694f4ec7d134653946b81b12308457dd4027116526964099f52f2220778cd954515a705080994d4bfa1327168121ed942f69712d1d8a21cee6a510d38421472179d085908e9993749c2973774b9020cfde097dddc28d7694d65d28a04684640ff90d5a86a0c037f2bcb\nflags = CarmichaelNumber\n\n# tcId = 144\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 09b96de09b3c269edab8cd497efcc8cb84cc2693656dd8b8454423efd8ac844ddad1ffbd5de39f4fbe47db100ee56131691b80c974019ebf319900068a646a6ac837d69a0d3470f4fdb309481bf1b1df29aa70b1c793094c0a78645216279a4f592ccaf49a39740ec82f2656fc8e343fe58eb4f205afb197d488843fa3054f9023064cd534823b87f69f808c24690ba57f2307c47c6261d1f240aa35c2c47bb0d89b18f071e7f96359fd91f8a5adf68bf86d49aff7030c5a106a39ba388b471bad93b49c69aee8d8e2aa12c6ab8ef318507b24603665ced96f8451c5cef5a3340bb4bac1f577cf0be337c1ee8764ea2b48348089ce0d070a0d7e1a5bd735f636baa88f9d282efdfb\nflags = CarmichaelNumber\n\n# tcId = 145\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 25ca8e8844298f700c87fdb4156abdfbf2540b4eb16ffdec9d6742a43514e48346040b4ecab2aadb7ac43b59fd113ae2c5636459c964306150e880e2c688272ab74a9e0fbeeffc29c60df8d8d7e696396ec21e80c2529e12bda83a1e8dcb9858e568afe89a79fdb00f766e5979a0c7b48168ef845ae674ca5bafed340cc93d51ca130e72dad8497b2ad8e321e498e169898e6c1491a12f05dbffc31a81c859c27657b510a37914676fdf828c43d4f308e6ec42de80c44cd49b835f6efddeb89df5fe10026c3eb0c6f580bf1a2322468b56ea60e9adef61f06b211b8c072f9a52593ab333dcde7c4109d6c628e44b20fc0e19476a72956f53fb0c03cafa56d0a3ec0e07fec558fc31\nflags = CarmichaelNumber\n\n# tcId = 146\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 4a6e7bc26df7ed0d7c09e82af5b1905f9836705ac7cb854f4be1316dd2ab97505cbf70d090c1feb774e3e11bb4c0bbfa92074b2a59e49d2d6afe3e0de31824d407735b9b7e3b5ac9dc2bfaee3548d8d3ce02e83a275af3933803e301e23d4244a543fd80ff79e1fe751f9540ae7ddd23da5930f01e041a095bd5b505ca33868000588a2000938245e75135744dd8a4da04a0288e78fd73ac0160f3cb108f212576418482a581bcc71902f598d9844676dde99fff86be9c10e85036a60925703b80831dbf6bdd75c61b24bfe1ea22b48d5502e5a52036f59ce0332c71836623c22e2dcb9f2958cd4067041d4c4596ff98a88ef53cbb82f011f4346debe204f5389863a0637379888b\nflags = CarmichaelNumber\n\n# tcId = 147\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 049a4a9991305451a4c682030ebbffff6a0101f04b9ce286965fa4afe83376fd028134a9e45b3d024bb331e6c80365398649f591ca0f32517171ec860bb9d9f7b415ce4f4a702aa3cee416a82b51182ce23088beb94d5afcb7d1b0c8b2a2e47e7ff63afaac28aaffe7b2459628d1979a1ccacd028909db31641a40f3a3f742fc993aa36de8543c19cc05fa3bc6031db33c56a5810c279a0f872ead931e85c5b55f71ba7232f6f0d50e2c7a614f9cd87938b6df53df6a68e492a0715aee49c235b954aa2fb6ac13c9d64daeafa16ff4addf7605400538ffe6cfb17bd8d694b3a28eb18c2dded3be5167b357a124bc38376c74c970f394e4acae0b0bdebb5d4479073ebed1829abe37a3\nflags = CarmichaelNumber\n\n# tcId = 148\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 03a48ea2550158e6910298c3a4b6162e9849bb91378d93672c95aaa20c8470ae964d4a11d3edb400dc032f3eabd44d0016255c57379e2765db31bc00b83a7914b048a28799aef1a74a35abba31755fbcef113c96deb380c86b404e961c28a3fc4bd1beb71f788e98141b1b7ba70365e3063ced78b814e543405ae80f6135c9f4a9c129bdb8f29a25889a07767339a1de2d5720f491a8394651d6d34fafbd6a63724028809acc69b9c542f107b2368a74db0cab8f00b4f7006dc619ad1a0b2d10c38cd7d05407b117a6bebd54cefbb552af1b0b81ff21c7bf542140f43cc2e10f270180bfb7b1665f09d36ca5cb86aab4ba9015c9fb6d47b954decdddedb1b81c7faa84671bbd71e9b5\nflags = CarmichaelNumber\n\n# tcId = 149\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 05725333dee4707b0e174b4d985516515e17ca12661d4714f75f33757ef58771d6979d6eabca6cedccbcc4c793afc4d7d6a429d17b7c6bb5f1472227e67f69d6a32cae34b8eb51474308a3ec274dc5c9c8e4ab1fc330957a6d0a8c10abb4565977fd780f74905f7597d01485010360ebfdf7d22ce9fdd09b6234e4a3c9e7f27aea55622672f89e4d545d9b7cd73bb0d4312ee9bb614592864df9c3eb88d50f2b445c64df29e7c49b7f394c5d5f20cadaa88cc9f647e89cf1c66827ee51f47c4d2ac989ea5a87062cd8f0f083de4aa30de074d5f2efa3ccc4a931fc861e8fa64fa4d1db13d86046d608cd14eed45ac217ac67e9b70f566688d9c1f6e74aeb54bfa008d5b12206025d6f\nflags = CarmichaelNumber\n\n# tcId = 150\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 121df27a2bede84a4d79f74687ced480d4e12a1330a2e078aff07474fa91ac35a47ec70ba79249ceee6c55e6ba1fe8262ba677e794a51bb03dd6ffc81577b5a40332bb43d7e621f8eaa91ea32fd481275583e20aa046cc5fc6f0890d5bb68f59672d1adae312b2f03c070b36bcd1645569e421497c7cdd0f7dcab105d3b349ab0c6014d95dc666e35ef99854b2a7d75c533cc77b9925d92fc9278effa8d7f3b667796dd689499b90b324f6d8b770d250b4275ef62541b58efcda44834c934caa0d9e648a72ad7c61d20ba1b457ea953c968bf4eca2dc1cf46f0e33663b07479ce3849ab14c1240c177cda2234fab6971694465debd591a1fa8cddcbf8b2d52cc711fa9caf58fa39a65\nflags = CarmichaelNumber\n\n# tcId = 151\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 013af9b522dc6f0cf460e489cdb857f58cfa82ff572ce560f8ca917a25a3f840db925c836eeeb9c9dd1cf790624902eb513e957073e315b050493f65a4ae753f122f49619bbe3c13d458d4875aec14b0adfcecdd0e8928a2e76d2658788b21110e48a87d877f7fb1de6530adf1613dd3a719bd89bd5b9811c052bdd481510853c3cd9dcbd2237174b601ea589c6bfbf8113067c5f17b8c6ffc2f761ea06184319fb92048fcae4618093716c6f746bdba565b6cc5e234f7e4b6ddf82f4937f6adb12aff8eb6d0ee83c2482d488669fe63938a41426ec09165168fd4bd284294f6e8975ab4a523801aa3ace206b5abfacc1fe4a33e30a2fb1b2a0c36db02f702158d156fec37a73e06dd\nflags = CarmichaelNumber\n\n# tcId = 152\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00d5761fb975294618b26559075aed6606c562d0c39fb1605a20522cef749f42dc0a2a6bdf4ac277b5033b6e3a3392fc52abd1b705df5e0b9099df20b8603cea9b76519153f43508248cd474ce8d85b657c440ee715149ad70eecf6f4a362730d006d09ec09f5c5eadf3738d8e254f208c80f1f2610c94381031c20ea82caf5d5ea2ea35ec51e4f98d352809058a41f6433d7efec539e461695ecc39131443e0bae23ca985bd0fa133b8945124da374fa465ca3b18fd260197a21ab19c38a7964c47b42bf3afb6ca7acf5af0f2741fbc02d3b894b8a09168139f5024c74c709648935c06f91918fee75987979b8e045987451dd887d502db27aaa8171f50442b6b014eb219495ba", + "bb3\nflags = CarmichaelNumber\n\n# tcId = 153\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 768acf7297a99d332c6b2e86ecd5d546a82aaa2236996da7ecd23f52e4b49e350714d5c213193bd9f29dc215cc513972cff3f6d5ca930588f81f306392ab12a155ab7b567fef2ea299c6e1a20293894f6282799364817fd6d74f5a2d8d0e1a096846a87f9976bdf4095b64470df394da237b1d6c5cbd0840959ee1bc563dac61a3abe087e5786332bc05456ed1a3034faad3ad4488ef90576115c5422ca993e154843856c7c49dd82c7f24eddc0841e9a483ad2e3cd5d9ad52d465807c0d84f61f2c70bfd372b2d57e6a2dc973e9345cad0b5a4a3965564f21054153cbc037ab1a9236de907c26d0d959a08427d48663bbb35a5b3a62071951f05e139b0dc9ab6c9600c62e91b6dbdb\nflags = CarmichaelNumber\n\n# tcId = 154\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 135de6a816fe05856578378de617bc97e7b98164510c2e3322605861048f937f20b92544cf34bcd6ba51047129bdbd476e1d8f94485793e9b0a4114c544b9d56f0fd8cffac0cb8041a19bc4c9b6a19f0918f5872db68d393fdcb04ba921dd977ed4e867859efe3e1d7ea6dacf381a4177363d35a011454bc07c3e619f8eb6c6d507b2e261270bbe379b4d83e3ab6066d567505fd1d2c68d36fb8379ae88f145bf2e732906660ea5f6fe6936980b9ed54c4b4330f0910e026bc637219a7f43a9683c7433592c4ddb94545e0957f8355a5c3a4e2819a8c40e56456eccd1c5aacf44d35eb55c32133e970fdeeaabd4c5da00ffce060caf40fdc6e171e5f7522364a06411b7756c5d4b799\nflags = CarmichaelNumber\n\n# tcId = 155\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 18140470bce8e40cc53e33926c4a2850b61a15fa099da53bfed9a0393b50844c42520b0d259378f9b8246eaebab0f18c19c24171e051612e8708298820773c86235b0268544b04f737877fb261f40e867d9cc54b5048063f643d1117da90565a366b9e99f754d75b12ec8a3001f9adf20021e7a128e9ec9e8d83871f63f8090c7874f58a4fbb87bd4fcda7ad61c8a722527bb7ebcf4685ea61782d2aac6421ef1259afc80820f216f2ef143a9c3d6f79958b6eedf7b84fae64e497c3072558855e38274117b676a6a85f444abf3ddb66397d4381f34e048a6d9646c188fee062d67c314164e11a30acc9ba5dd2c189beedac5052f02a231ba42ba32e4336f7d3f64c2ca8117d19e491\nflags = CarmichaelNumber\n\n# tcId = 156\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0f32a306229ec4471f1bbf598c61ca486db9378e07563992c45cdbd0bb0ddec9638ea89dcd7bdd153140df285c600a2716b5d2411af9a5e4f935dc3d9b85f8a85d5c24685d81ce9a5e3bdd3a498c97bb2d2842674dd3401b299c753fe8cb88c25fb0883d47976594bb22c1e34abf074b2417d3abcc787ad77a95b5793abc5182cb3c1eff8179409c19ab5c4162a84b9a68377bd1e5258d6c97afdbda4baf3818d949862df6a7005b343ead167b5f324b137a5697969fbbbac6f26c7f54288d93965255f7d82e1b42ab078d5234346d21bcfeb7aa07078624f14a5ff86fa5063a81d730d0598a0fc4f2b3ab05a6526cdad2c5dd2f52eb1c0055085b5f1844f0554e4af09ecb1321a625\nflags = CarmichaelNumber\n\n# tcId = 157\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 31bdfcaaf28d96bfd3c847ea06a65ca47f051b0b37e0ec4f06b30a4d0096a08da9861ad5d48b45cd2a79998df5732295115ebf69a7bd3a44271bba2ae68ff0f1d6f473c573602ecb5fad2f6f634dd3f1719fd609c036188eebb93be61c7b740c78db83b043cefe1cb0fdd7d533bb4310ee81fd0665529b1405f9e2515e092d052192f1017d1389b385b1871bebd23469c96bf0e744852a925a3549cba9e3a96f43dd5477a533e1458c861f170c90ddb7e8a3e13bb10a138dcea6e0abba9aac91835c0e2396d5d2ee4b4190c62067f1c481bbd38efb85fa66532060747b67f9e6502fb26593c1649c14a8527a0a6bd7015b5b9eeda2d7b4fce79a1f0e18b457a21641303fd56064d9\nflags = CarmichaelNumber\n\n# tcId = 158\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 16f7c5076d402edb9f2c0d0a73f1045851a0908d692f2a2d3a5fd95da4cf27f3e9549ddc7b0e19a001401b6eecefc272aa1a611595300e9b5ae60b9f747c8cce149cfbe7f4c402ff5dc1eb7a5e90f8b7f9240110b746abb111359c5b78623d08ef7e3ad122c180c9e34ca16cf9b36d7eeb493c9219b6978dabc3678f4b5a9ed0606bafef78db1294839f928e5ddba036013e78e16b03a4f49d8828f36831b2a772e93f93b75484b777fce3b421f55039a1f1f69244e8dc2d6b379b796af19571969984bb07ce0f55583a5c318677ba84a64de56653a6053cdc11211e7e6c73ca3f88814b57f8b0c1096c4fe83615640622220e386f85a5927d3c5309002c69717464108f2b5801\nflags = CarmichaelNumber\n\n# tcId = 159\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0139618d4a8e3cafaf6f87b21d88d8295013e8508ba87f9f02ffdb35daa80b5ad571acf56c5350315d14009533938c6c59ef8d26cee37dfe26dd3ba75a4c12434fc38f4ebbe03a43b8f08181b4d06277028bb73352ceb9239c6467c4a1178b0a6724c8d73609fe05a45f0000177fc5a377b7784a88484f0e057b2bee1a6dec07a7746f9e8ee6a5bcc0fffd3824edf510c656abb19a089c5566ac87c4e4d33d9d8b4e0544a12bd795b2dbc2801b39b89f501bd8416a38d3750f7917947778b779b8c5e7923dbb8eec24c4b38a57423706ce4836518892ef45b2f8a12e0debb5f9586e90501365c333bc07eba6836920c5c5a7390a6f07b153d28a47e8d8a334ffc8460134fa1b26977b\nflags = CarmichaelNumber\n\n# tcId = 160\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0323369d1f4a9668958bad24e36c2be20e47b26a89d4d3037d68789e825c71846f54258dc5a4d2d1d894c8496fdb71acb2d63afa97ce26a3c0f90fe58fdc0f38f099affc92dfb268e93fdd8962a8afdc4a0a118773482e3899034ea3f98dc91d041573a29acc74637cc3a5fadaef4de2d60b67b20ba5b4abc6458e592c954db61212561ea5c2bb3bb681d6e6b9119211aa1428e8c22b820ccd1d7031fb97ca1716fb475aa596f14c251ac3e5865359146ec20a2f4ef84b988c362e5c73c1616e0067842ef836761fdd23da0a00ad76fbc9c1b12086e1323d969446cb2beed23246ec38f16674992468dfc1cedc799ab73aef9f1d2819a441c8afe663e657eb09ebf186e16debd98eb7\nflags = CarmichaelNumber\n\n# tcId = 161\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0541d97b2b84f153c25561e677fa48c26218d47d2a69038b0575e0b2bb507e81e3d125d335a91ac635aacc011892ffaa69b9b11982d802d15dbe02954f7399406191f56335935bfb6e70f90d7a9419f4084b6ed9d730e27bbe900a6a58a8c20da5215e0eaa2c4a1a0f61429d1bfbf2a323d57a5f09bd4c360ff8c473a0b1a2e4ba41eba51a407dd57db67a8daf1fd0a13345177bad5bca13ecd8a6ae693234f7c7655c248e221dac222897271f089c545b9dca45625de984d497c9ad8b6a8c2778531dd262bbb7e729f5def7de782ee8d66f6ecc6ba745f5b16bfe67f47c158d8661be8472125c48da201a2b7808300f7c76fcc7b4c5f574ffd79edeb2197a660a1e7673a3862f26cf\nflags = CarmichaelNumber\n\n# tcId = 162\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 09f1f1e62ace5bc98c1b41854570c54c30cf0cd96a7bf7356a158c0515923e80d1cce2ba3131fbdeb8d247188b26230a4a02877a729fdce4d8a9972d1fd0af4740c34f23bb4941058e45cf249d8f9218c24754e3e2917da994abadf571b789cad51d41074fee1c714d012034b20bbd258d357b1d06c3376fe32c68093580fdcd99406bb4284153652c63e43115d6729812be9f6428318f7c23eb9cc3ef556918696aa535b002b725e3a1e122795e23d4f28fe8c1745d3d829882c7bc7db7a1a74df1d1d9f9a20ec26181c7f57eee9e176dd8049111fb363ffb493aa94e84e1ad575139decc3d9dec5ec59309f6d05219f0236b66c725d3b53a636db3b566fe936d50b59a73f4dad939\nflags = CarmichaelNumber\n\n# tcId = 163\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0082bc995b99c1af472ed2c81440bd573726479b6d63e6baddb97fbce259f3873ffcec2ad96bc500356829e77abc7600a838ac9b387662f2b06c7653c7ca3fa50bad6a1d6518eb1af34781828a1a3a13992ddeb38f73e070d9ea0d2a342bc8c32efd98e5ee15721e9cd1c50770243d8ced5fe4c162f2cb0fc68e851e243dced19ec6d8ac03be899cddfc14871c18937265ae37b36f3dc374c794699b3347e9925c407b694c2541c8315126e69b0ea010c72426e83cb83726dd23fc1199b279fe200a785e256437524d20a07c8fd81f17abdb3ece6bdd67378c0e1186ac58a56cbc1aac6c07152a931d55462670df79b5c1502f92ec824abdd6e5faebc68b8420a03a19c54a00db6225\nflags = CarmichaelNumber\n\n# tcId = 164\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 134b2a8e130d49d3cbc0d60e29a75bdf380e066e64902d955d950af0cf776234e0ff14b52e8b0a02134b7a1666db814213251285ae98373e905c587cdc7d98523bd54d347144ba070c6334c10b2f92b5d7d244df99f2009e30df035bcd41ef6b17ded1bc71d82a49b9451534713601cc646d4fb8771aae2cb9045acadf0c75f0be89e933b3eca66f955572d266b14c86dbc825ecda7d2f3078ef5d1a9a6676e6f9fc81d1e9bf50391917c778ae647886fde1b1445bd15ed8eb7138150e63f7fc6282b3aa9e407d921220ce87cefe410f6388b6fe1e26429b0929af911c630084a9f6e29d3754a79443d668b5e6a53e40104ccb5aaf6e3e9e72fd17df02285700dcdf8f127443869747\nflags = CarmichaelNumber\n\n# tcId = 165\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 4f99ada92e63b19c09ebe9b49b1447a93a6c86032bec51d0dd8cebe8f3153d9e3487e7d29c47a41ee94feff54115d128b14fca7309fec87f3e54a6baa05e21a2c320dcc4c0baea03cce223a08ac6ddc876a7d66db61a59d25d7e38cdb37c3e59d1a2e34837d3b4457116c84a7e7b30daf8e9950b758d7ffa3432bcf337463d124004353628172698c41e9135dd77c23c9dfccce30652845d2accbaad8cdaf2857c6a086ba5ce494b659f4756c0e4b56793d2cdc9d12937545dc966398f9a3f4524e3c3f4801b19f1e42cc0bb8fe16d8605155f2178dd3d9008d9e9bdfd6ab8b71ab9bbcd2", + "254650f4a5f0330b2ceb7441bc0a2f7609cf838eb39b8b1b109fa32ee04c083bc8c646b\nflags = CarmichaelNumber\n\n# tcId = 166\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 1bb439731b7ae12b6874783162b16dca098c378752625fc220fe53c2b66debc9ff7c2834af26a220bd15956b0f7b07b8d49926abb58ea5cd0442bbd9b4614ae7aef2a2d7e7223603bd736f43513524fabf0f958bd997e17cd6fc7c1cd6fc14577fb3691ff7e4273f266e7cbafd8e5494d96a057b4003b5330e7a52819ced9eaefc1b6eece210fbe7cb389ad87df6ad493d8fb7fe327e409721fbe1ecc99718896fda3e06845a466db1fbcc0a669cf42a7c29688f4da5d99f4e77cc6c6734f9ece0305ea20a219b28aad2a0bb0bd24a23b37f5b411cb92d38264c05ded2d96c0bae6905c864f38ef9d452c40fba1a3ee1591564280ad6e0561942355e341f1508a66f31c83297bf8137\nflags = CarmichaelNumber\n\n# tcId = 167\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 5620bbda712c8e2664a235bd5a11e233509970d682650dd60fe1fd98c5c9b6cdd16aa79ea00fb7ee221730ad0a0df6709f6ffa699470f1e8270b346075dee913345f708fcdda9b5011327756d34d064c6e595794cb0215dd3d3121a515706bc3a44318b56587a02f9cf8770078f963d243d9f1e12228cef2ed22e961dcfe00cc552f9786fbd21d128f7eac7afa06a3abf6027161e88596699865b7623cf3107dcd4ac8a4bcf61a35583575dc3acd519c547ca8d15a43cb6a01a68a8614570ad497cc5f167a517b436a06241b68202255482116f4c1ffa9a0594191d367a5d22a2039f1ecd6320b8ec640c66905108fb0ec6b5d0d23ae386c1e883a7547aa65f76e22d5f182f17b6437\nflags = CarmichaelNumber\n\n# tcId = 168\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0490f2692213ad6c3f56744b1b3be3d419f8dd020994282968ec8ab382cb608b62387f4452e778e2437f5e84a5277506aeb2e41b4dde83c1bea26761d61a19a5c0e460ce69697235fddb2b0cc4343b4b3ecfe4e802074484abfa5461383a85c9eb4daff7c84d45ef0475f9e6746c6b2c2925deb068bbbcc11c62f36b825e790b8224c3dd9325cd43a8e9138985e8e7446e914b23950567549a234e7f59ac45eebb5b5968d0bae4900b9291408fc654c9cea7f2b31d648b62e3f080d136cffb31ab1d4c2c134741e5ab77097e1c137641ddef70bd7a9fb520cc930f1335436d2cdd096b6b7ea816e1de56c45506e1579bfa4027ae066c27dbef4004ac5af682804322016b3b5cb33159\nflags = CarmichaelNumber\n\n# tcId = 169\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00b4a85de3e2010095865ce98a144e4b88d42a1a6729155557b5d90d3ba80315a031b4e7480d6d4970c7764de7dc46dc1ee4c7c433826d7002fadf05c7f46c0bbc3298c66421742db268e77fbc022d42327969c34bab396590482f6cbc97dad8ddf778112a617629b559f9f4f6ee394b08080472d7dca1f35901b72b64262ad19150ab6fafc7327ef4be191712f475dcdf126db77422140f4e145d531e800230cf9fb4d481e152bd41d89b835366566e309602c48635e75f7ff14764900289959c5b0b42c0339e8fe4fae02c618fd07456f4210b0282bf93764b8d84ac93a7f056000a3a89b508fb99a0b6dcf610a31fb3d801d5bb3dafa52552aafb8012b8f8c651d2254c44c2753fb9\nflags = CarmichaelNumber\n\n# tcId = 170\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 222fe3024b8e5a4c11e233d1e00a75139968fcbaf8cfc9c5f0a8e2337a14c8052f126cb0dd7c784db408d3d75103854c7d275bd583855051e1bc1da13d39b2f34988d09d04455f077008e49088b6a2905ae270c7920f70110fcc6a4289a660722cecac7d32380f7c80e14062bcd7ae6ff0999f653d48ec6894ca28822c7328fa6d3cf06e98c9bd1b180a413134d217142b99e1ebff444406c96dfaac8c1cac8e5d5d432db84b0ca787a52320180e6704e9f367103c0f440b2740347dda3ebeacf7ee02e09cf93f916ba91e37e2b19a360b779944321083dd1d2e1185de2f7e12e275648cd5ea7a5ba44ebc8b2bb84693a6978632a65d08dcc89df3ef740809e981c41df9a9d1d50b07\nflags = CarmichaelNumber\n\n# tcId = 171\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00fe578feddb333e11b3ee0a8870fd085e7b5739c5ac7d2f8d58614ea72ec6f6df92b7857dcda930ce6dbe69df4974a4eeb077d3ba18b2705e50a9412eac82dea651d26873584d829300f578f8f5ca0bc0631aa8a9448208f0586bbebd57b01cc72b4de6f6a22fcfdff3f0149069059bff027751028102b9c466da961217fd8ccaab0cf499bc9637f7b0768ec86e911e7907bce37723cc81678ed143ab3058b179ac68d07352b8a6a4a601510eaaee5ec3455d8b3ab8b4a12d18d49e431cefe69013419bc372f29106a01fc78c089461594c04b23f6493b3815ba91f19f99d01b903c93ec1565e21b0ec880b546330c9ed4b8e973ed7decbca936ac5d19ca26e051ea124267d0223013d\nflags = CarmichaelNumber\n\n# tcId = 172\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 462eee2ddc554144bd3bc464dc0fb2854597196d9d4c319a8c3ad7946256e7b2bfcce9455ab4c43d81f3ba2560626afb8e4ce2e3ce8e88dd7affef7aae67574956106e50f98c57dec0c375fe18b4a91ff6f451cde2fd5a4cde201466c393f01f7852bc89705db09e64f392ab438549d66b42caca88a65fe846970a76d590ac682a65d9863411b10f1a1e23b3a78b36dfaa63ecfe8818f993ccc3a04089cba1c778228c8200768a75b5c11a7c6c5d17aaaad01be3ede5bab8f5393cc18eafa3d00f46e326ec83c18436e210d86049ce5a0ffacbbd301b0e7b22d4d1b67b6f06e0cd9901642430201981e1fd0073695a771d5a648cca247a9d5a7df699afa74430ddf5fc9614fe59d7\nflags = CarmichaelNumber\n\n# tcId = 173\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0843859178a5aef0cf76fbf7a6fdbb261fb21f24aff24a97e37b3f87569cbbbd9eda5c7b5a56327e7b98892cd4aab05b53508eca2aea6e03d43b16bc2a5a857a93e9936e7cd3a128c3c12c644a5f24fd688e9d0daea4bc4a68dbbd5056ae5763dcde9ef60a8cb36a5705724f94572b65f0d210d0a8825d27b0fa2f1e3b6696e6ded4ef8adbeaf14dd34b3133469ac0895f5106c69caacc697dd18b2db57455087105f2fbde982501bb19a80d9bd2dc7083ae4249f4945961c65333e772726d08b4ed030a8942feb48ef390dd1b560c1270196c276ac7037863ae3d87b31c034e66561a620c271581a4f3054ee38ce8ba19094c49190ddbadab842adc5b62b4efd19de0f2f53c8ee9\nflags = CarmichaelNumber\n\n# tcId = 174\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 11193e4b78a93ecfad44551c9913729b5e5d57e903635ec76022ea9fb939f14ae7ab1c895c3f81c6d5a5f03abc7c778d9c6ba0aaba159af380a809963706568b051e8b0667b96bf839a8958cdcdb49b31119998145fb6ca0c7a2ff0e2c7c0d90d24c618257b9246b7c322fac9f92ca13d85df961c40d0afac9fb404497635bee784f297226e47f2ab0f6606263319a4ebacfa0abffbcb9781fa868d7038c66bde1afa539efdbaf175510f48c9d9c760fb64b4d3d34f10fbbfbc00e6d67b7697d68c751bae07f3970d7bf6440814b6ea570b6adddee2248b73d572256627197a907e285a6301fbad76013d41598786fb9d33e580d63950f2c904caf351d342d36d460763c7a1f1f5957\nflags = CarmichaelNumber\n\n# tcId = 175\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 012f617c5a054349a3e93ed6854e6a540038bf60044262f151b9c825b36f564bf4079f6f9e5a818fa2a639ad7e6f638d3d9e201f3187150a66c0295088736ac020958974e0296ebd595ba4a0b63d6e11961736cf56e9270dadb49cd77bcb1a9d89ebfa9e2298aa7b3cdaffa3c675c5dccd222f0b38204287d1fc269c6440b4d39dc7b2b193b455747f75cc24c360da99df57c8fe2c3e92609e7507cfa3784a8c464c1a83e7b91e9ef6336576a56bb6636cbfb8ae1f6e9724e9c393576e5cfedb29e221550dd2f39e8511b0fc9b606225a49d5e5086502229b61989e3b6feebfa090e4474a325071498de0ecb789c0291a8ae6c04c57516d00e487f8a60417af209a60f0c34180337621b\nflags = CarmichaelNumber\n\n# tcId = 176\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 5553413dd9466d66d0ba3eac38d68084784bc3c8f04c414bf46c42971e3c09ead8da7e8290a5ec2a8d0c55b9a27af71bf44edc1d0f9c175cfdb92651c2fef12355de421ae9d4e463d97e1b7d5b75de136697f55729151fc55a4cf365f5f80cc0c65659bc29e0ac360c837ba8288bafa80b46b20f3598ab782f0d4dda7dcdec673d2ff7ab05868466e5fef586e63586b22100e92ef9bf3151ac53e59805adcbb011162a1963fa9baead1517eb8731ef4c84350e7d73ca47dfc5fadc1ff7404de4ffb2d3203b1e61f525c9eee55672ac1526730bcb4b4d4b54c2707b876710d0dc0f2ae38b813f4b738e381bc4e05c4cf0b0f4db1dfce5107b6d4c1199dbe5ab89bb063a591fa0c879\nflags = CarmichaelNumber\n\n# tcId = 177\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 410a34783e03400a52d847bea34213583afff783d80f3aedbeea0807d347b680ca6a72c463ab1b2779308732b486309864311e4a542b46d2123033fabd0bdb958890cb4b9ce864e091ad7edf2f406f6a542f2d34eeb21b8155667ed89a7fa9434fe479a79356ab10155e097a329c3b11a06baa8dddeb4fce45d01254c6bd3ad03881f2344c3378dd8fbb69feadf8f2bb0103d164a9ea52214f92e0fec3377530610f16247693245db19e2c6fb9ceae1e45be90a2028bb6fda1038483099635d09e2bb794fb5fc9140c1f775ac10d094e6400f9ea767f5cc2b33f47fff7d67fa00e00dadf8fb4f93f1d38d695d9dafaf80cda2176b2585e4be4983025beb099143dc541c7a9c268b1\nflags = CarmichaelNumber\n\n# tcId = 178\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0101d935080df531c252bf2d2116719dce5eb155862ad5984fb325c75e00b9825ce9fdcdb39db9a50a4890920d69815849e62d478584417161ae96a98c306d080efa88356c23ce7d7b1e17b9c99987391a7adc0121a9bbf2df21dbfc7dcf4cb529d9c3c42975624cb34750051a8eb6b0c2f4e89c904ec614958a071a5cb1acb2a5f9dd6249231fc7a167d84bf2f187642eb1df50db6824b54c50336d1a3b189c42aa74c613667620849b5fc38f9bdc8b8cd07e0b2d4597ad6ceef65d6bdb03bea", + "4fc62135d28bdd5f47f7403fb17924adec5e138d4cbbbca0efc141dd7cac26259ebfc9ecfe1473c6c9408309767308a83afd1a3294a00f258989e1049a9a984549b6d98e4e1248acd\nflags = CarmichaelNumber\n\n# tcId = 179\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 1a5fe69fe95b9137923fc26b908e86bbba2de8456cce10b64574d78ccaa5534f19facabae2320f307bee35de24d929ab0fe6fc94bae4567787ceb74263f656c850a4395188a4a84690aafb5de68543c63bd0ee3cb16669aa37178d8b77dc019a5180233eb13245464babbf180a1254fe2e5d430dacf7dec7548d2d75ce795fd1979b0951413807227f8104a01a617fdb8a0b6605ae4ba2d57a55c4121999526d8e79585313199b321ee6e1956573853c2a80df7111f2b28070cd0646e66952c7344845d218924347568ab3f5270503ac9e85cb8a20944ad8b6811f90cca6c8a9d9dd29fe747296a818fcaf50813044cf5970293e51df42ffc5fcca42987c0e2dc6e0c459251166ed67\nflags = CarmichaelNumber\n\n# tcId = 180\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 028a4f88abd93fb89bc21645e872a7887f86e6e484f935cca6c8b4c0d5d40612b3de89a931d97b437737f6ff6a5f617c95061103a13ce3b4f145c13e9712014b9c2130d87e2eb4136fa2e53c280327b5bb6ae4c4bb0be5a3c265f987cd2b4c1232b1eb93deee4bc8298236454394fd25e1f8a54b778997b5fae1809382c308738b8f011c812ff155e9a52dbea46ce0e1682d78fadeff30f24bce8c998bf2bcfdf9487e7e938e746ad1f73178b5803964451234d06a8a84afa9fe0b7e3507892fe07fc1c36667761386d289a053b7b2df38fb4081e5ba407a9227233135919f25a30ec20d1494fb7783b75375aa17263e9c45d4667dc34bbb40116fcf67e089f72f46b8e567a9aeebb8c7\nflags = CarmichaelNumber\n\n# tcId = 181\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 008eb22ca7dd25fa7c230083277360e3e29e3ddb30206f48037c4b31ce2ee37bcad6fc314e4a27192d945efc1ef02bb5a514b82baf98b442b3155577a689c195fe3a59db2c21204e00ff09d40b34fa7bb6cfb61a727f61b024fe5fe182e3c051f07776b3856b9af0c24bb887aa5fa1a02143ffe2349d7555bb4ba1e3b597e1cd082c276d7abcaf8c4ff951a594e3a0ae3460f37ef0b651598cbf3e991de6e44e76b4ecb1d76e87c2f6011a9262d3f1a2790a534f8bc3f49119d7afb8130aceba030397304b1582fdab9b00a76ce97acdf7055faa2d85a037f9601ea697fd2bf7f6fc600aecb5a43f18c8fce7eb1221a8d80e0e8c8abab3ba3979d98654c9db24114d0f2204b5914af377\nflags = CarmichaelNumber\n\n# tcId = 182\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 02581eae696be714b5d7ebbd232660202fbd411dc9ddde7d73a48bd7b692d0b0c216b3c39e51a707ac47b6a5dc39de6b249cd0b0b27e67c525af2308d5e9763a572f5b2d3fad53a8567ea0cdac5dd3f90a41c05cd79c89e9c94d592b8ffbc7c1f07a2e7bd820dd5ce55c38e21c7890855bb3871e276be9305ae02867697d32eb3fdef35e3e9cc6f8a1ea3970f0b43f520849577143631f3414914a7af4ed82faa3f3540db1d6c249f5b642c83301055326a4ada3579eb05994b2d8c89139aed660d577337ac3a1d6a1321e58a3808aaa9f78954880d11b2b1b6b3f1b65a36ffb25914ec28d3a7bf707ba663f49e067ccc2097125a12e993f13899ce0fef029d99a6a3faf8a54aa1d7f\nflags = CarmichaelNumber\n\n# tcId = 183\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00a09c7c19c421b546cc94c42e8b8662b6ba80d5ec245157378b366ff039cb4d29a037993976dadded5cbb9baeae4443ae6fbd8e0dbec9da4237e68f83dfd6fdf2dd1349fba3a6cbc92832177837eea57e0271c6f5a1bfcbc8082eb14a0ec5b230854dd52fb0bf1d56a3575b2bc518e28853d87997c8a36ff1572a128e4fedc64ca012294751e0bfa9cf97c878e049144ed49d562cb70051c5a91fef5b4c4a55d3284a4093fadefe283d668e62bede1b84dbb1fb55137a34979a0d71029a71e3a6f6cb24db24cf950aeb182ea9acbca214170f3e3749677ec688cf47b35b9820e6e1e1731503c3de31256e13aa641f98fc48ca39249d1b8332d596566116d59488a87e5f1ef8adde9163\nflags = CarmichaelNumber\n\n# tcId = 184\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0a98538007d0939057ed39cf18a18e8f1fca061c849099a771aa5dbe42bd08643c42433d2f24a9c598e537a7b5448cb92af1b605ab97b4c817056e7cbad446120a5b91ce77db2244ebb821ef727977d731e8b080bb71db4111deb82815621bd378696ebc2679e46f764b7946c91c37ce4fe6ee08e8d6db3d4e9223bfc48485af6bedfc0e06c546ac208ccb9153dbbc47d1dc56974aa6faf1235cd691059aaadd4fc6bc6c5bdbb2c1691561f84f0436c7f3df2153ab01aaa33b214779b152e6d3422b5a98931a5a08bd6db1a9c23ca1eacae57d0cb0d66b9e405fe71dcc1ab5d74e3f17800eac2ed9624a0a66d71a08087611db077a97a3131ea6e9f4e0ea21b27812654984e8220807\nflags = CarmichaelNumber\n\n# tcId = 185\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 023481defdb2d2224a9b315baa087dffdbdc511c8c581e43d7c6209d8b7e0eba75cbbc38b6b676dae33c46abb511064ed248cb2296b0246d1805f8c141e77d0bce4608fd9c9519bc0a827aa9ef5f877a658ff79efef187beb25adec65c2d8b8928549f534f25e90def3c4442e58cb5683c532d1f6ebc9d63e1da8d4fe012880ad1b357834d426ce5a0c6ccf09de4a917a59441e7977d46d3ad83e96af125d02cb7dfdd78047ffea7157763f669aa399937b05b46362e3b6db6d08b6e03c6b334ae6d7fc11bff839e155625e7e6b5eaf9372b086bcea47caded8e4eff4756df5e3904bf9facc73d9cec4a4a8f0ee1665752f5743710cbed7d0ac01e9a8253d3310f37c1e72bdf2785e685\nflags = CarmichaelNumber\n\n# tcId = 186\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 4f41312cc1981a2007eb29a87fa2f3ada1915937e4f0807454ba5f18a03a32f954f45ae8c2df13ec3dc2045d92cca2d3135d25100d7b1c4f5c334513e9ecbf02f27ada2f6d6023ad737148840609befcf9edf2bb574782209f5a712d5b35f6cc3373580e89c6148bf2cd435e4f401d678940cb9226e8da87a33d992da172da41f710410cd450a1dd2a8608033efd87f5a23a5af1a1158feeb422e7391b960139f0cd7401a52c747803500dc96f130e2ce224d6b60169b210401b35fd3eab56bbf0887c6af3acc54473f928adb538ca44702789ac934151bb0013368883c9fa9a44405039a37a837d9ddc35d2d019e102ec3e1ca5c9e9cc0b317a3b6b107aaa657b8bdab892dd19e7a9\nflags = CarmichaelNumber\n\n# tcId = 187\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 029116984040a488254941b331e73395ab58a597fea5e15bd92042b3e2b51e883789ec6ae538aebe3d84c928952ef9f239bccf3fc267a85d81c2ddd209e28f56e62dd9996c6bf56f781b02ee3a2c5c05e711ac28a48098cc1c4b9019206510271388db9550b46dcea014e90b8e2a37b5f311af9167343e3dbaad5717bacd0a3e8e2be61bae423f9ac9c9d479ace3bb5e65ccb4560b98325d6fd467e533b2a39d2982a22dd237f7ce38b4c1d6540636a1e39931a9f441ad5ee3c1d06e5c4eb42db1a965e66b59b7642fba3d49eca9c2287f33e6815954c4bda231fe5c60e46d003642fafc3079a2e79da673833b1b6895f795ecc1209f5d73b7131f0c68514115908353a7930b301184d5\nflags = CarmichaelNumber\n\n# tcId = 188\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 09c877d3a8b3cfaf8b5192de0ebc2ac29c9306f49eb83e6cdf1839f56e46529a72570354ace0e538d630d10cc715c03e1db78a70a0b5b0871a41408dfb16c2b207d1cd59ff28f2f6bf835a1d0ca72ba144630f71e521f1671dfa16bafa9aea3ce69b9d5c53e4c1c546d50b4f1ef847d7b9d256af9da829b5529d249dd4a62784a2b0a01411a42d30358161acff7ae2ba69cefe7b4efc7370f49ca482f1832c578450718d014e6d08de7b1412bbfae9e5123ae2218e37063b480945325005671f67f3d0305ac02b1813b02342fe17113972c796a3d14fd173a169cfe7a05f389a90f78f5bafd13550bc3778d12bbc00195a626550fe40b763c3fd713fcbdbe786cc0af7a2424d9226c9\nflags = CarmichaelNumber\n\n# tcId = 189\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 1508d017f18635efa2cc25c56f40992ee2aed4868ffe810d1973741a4d57390a4af51e8431d90f65b442ff504300bcc54fa0bcc5208a8dc59ca4fd2d227482ea4aca9fe2ca79d1eaff70054c0b0abb794dad9bc3900779446283c95aff750770f9ddedb1a66b0deb264c39a8460329585776546d934094465517a802adbd15aed60aec187f52a20dcd5b0f023480cb784b12248374271f4ca43f276d7c911f2bc5ed25eed2aa2c9a408284652fca768eccff61e7eff25830e660c9110f78c325d2374fcd727ac5739886adc1d7908a07fd803a08b7bf3ff7d8f55fd76668886f85999eff5a0eb704f746ab1357bc942d57a37fc558abef850984ae5bc46d771781117533c7166b54f7c1\nflags = CarmichaelNumber\n\n# tcId = 190\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 014160a4d755f7f9ea44b90f75a2c370694d3f5e0715a1146bb309a04aea9169bb6117dbc43c90381de4d7fead0177179241be84f468ad38a629068108288e4c99e2c9ec86ccfa11dd62a22aacf486cf5c23f03162dc0d981e705837b8bec7d1b13123af2b331bd3bc9b2054f59f317853ed63cc0af0dc4ef15fc751a43e83f731cbec2191ff6f3990e8787ca0e4e47793ff7bbec63c012e07f24647b484fe8d0da12215c0d5cdb0ed2d44a253d5c825de3c42bdab327260c300d0d806695a717b59fd352e68f9e0828d7d546a57333578d1dc0e2c48791dc2a659fbdfaada59c7071b1b440eca073697bb7ddfa3f98131e23430c17ab6d4e34b44b11ed1b5a1cb7918b99e7bd713ab\nflags = CarmichaelNumber\n\n# tcId = 191\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00d050af27a2af0aab019083053bca9a2318f1d3a322852073c21fa9109c7fe2fe5a16126ea0064c7655ebd9b1a67c9a61a028117fb9df03cbf774aa4a341f278f1570bbc0b3efafaa855d3878ab6039b2ffbd8c5f1fb9f04cc282d072eaf7904f5feb42b950b4236da9e67b7c5f4889533ba66bece01c0c35cafdd5b2b310d91173ddbbce856f5c4671c0f61b28defde2eadc7d6", + "b96229e4dd12baecae8680aa038c104df148191a40e5f0cca2b25b456957bd8f2145529e71d25762fedbb3b6cf3023dfacf47200b91b6a4bacbfaa92ffaf4a760ec132868b9e7e3f3d0f7cf77a1426645ad54a2e057fc01e223682e7c56afeec356d4f53a08528e5d2684b8be5eab78a3d9b46cf331\nflags = CarmichaelNumber\n\n# tcId = 192\n# S. Mueller, \"Strong Dickson Pseudoprimes which are not Fermat Carmichael\n# Numbers\"\nresult = invalid\nvalue = 00f4e8aaa62114c404219ed23f\n\n# tcId = 193\n# bound for deterministic tests\nresult = invalid\nvalue = 07ff\n\n# tcId = 194\n# bound for deterministic tests\nresult = invalid\nvalue = 05361b\n\n# tcId = 195\n# bound for deterministic tests\nresult = invalid\nvalue = 14f5d5\n\n# tcId = 196\n# bound for deterministic tests\nresult = invalid\nvalue = 008a8d7f\n\n# tcId = 197\n# bound for deterministic tests\nresult = invalid\nvalue = 018271b1\n\n# tcId = 198\n# bound for deterministic tests\nresult = invalid\nvalue = 3e9de64d\n\n# tcId = 199\n# bound for deterministic tests\nresult = invalid\nvalue = 00bfa17dc7\n\n# tcId = 200\n# bound for deterministic tests\nresult = invalid\nvalue = 011baa74c5\n\n# tcId = 201\n# bound for deterministic tests\nresult = invalid\nvalue = 518dafbfd1\n\n# tcId = 202\n# bound for deterministic tests\nresult = invalid\nvalue = 01053cb094c1\n\n# tcId = 203\n# bound for deterministic tests\nresult = invalid\nvalue = 323ee0e55e6b\n\n# tcId = 204\n# bound for deterministic tests\nresult = invalid\nvalue = 1c6b470864f683\n\n# tcId = 205\n# bound for deterministic tests\nresult = invalid\nvalue = 081f23f390affe89\n\n# tcId = 206\n# bound for deterministic tests\nresult = invalid\nvalue = 00ffffffffffffffff\n\n# tcId = 207\n# small prime\nresult = valid\nvalue = 02\n\n# tcId = 208\n# small prime\nresult = valid\nvalue = 03\n\n# tcId = 209\n# small prime\nresult = valid\nvalue = 05\n\n# tcId = 210\n# small prime\nresult = valid\nvalue = 61\n\n# tcId = 211\n# small prime\nresult = valid\nvalue = 65\n\n# tcId = 212\n# small prime\nresult = valid\nvalue = 00fb\n\n# tcId = 213\n# small prime\nresult = valid\nvalue = 0101\n\n# tcId = 214\n# Mersenne prime\nresult = valid\nvalue = 7fffffffffffffffffffffffffffffff\n\n# tcId = 215\n# Mersenne prime\nresult = valid\nvalue = 01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 216\n# Mersenne prime\nresult = valid\nvalue = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 217\n# Mersenne prime\nresult = valid\nvalue = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 218\n# Mersenne prime\nresult = valid\nvalue = 07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 219\n# Factorial prime\nresult = valid\nvalue = 02611501\n\n# tcId = 220\n# Factorial prime\nresult = valid\nvalue = 00f17a60a5d627ded85b6a9a397c2ba63bb27910ccf7e3135d4d1ae8c9f5cc1e4bf01ea704abb2000000000000000001\n\n# tcId = 221\n# Factorial prime\nresult = valid\nvalue = 01e764f3171d1e44a5f0c50c6537730168041cd93fa34898140da93d3df2939adecf61802daa63eaf08428d72148d63f267f22bd24cd411b7f25984b057bda5c11510000000000000000000000000001\n\n# tcId = 222\n# Factorial prime\nresult = valid\nvalue = 3a7c596683f12898e64bf1355bb9bc85f01d91307e568d01afdc9cf0b3fa9e464b140d899d9bf62a0c61c2bf0a8bca1de36f6d36a5be4aa212681896def96f583c8a7cfe362b4e823bd244f813e575391a029df7012e738d3e2e8e0181ea40000000000000000000000000000000000001\n\n# tcId = 223\n# Factorial prime\nresult = valid\nvalue = 72b20ce22e5616f923901a946b02b2ad0417882d9172d88c1940fec763b0cdf02ca5862cfa70e47fb8fd10615bf61187cd564a017355802212a526453e1fb9791014f070d77f8ff4dd54a6d1d58969293734e0b6bc22f3ceea788aa33be35eed4bdc1c8ceb94084399d98e13e69a2b9fa6c5583836a15798ba1a10edd81160a15662cdf587df6b816c570f9b11a466d1b4c328180f614e964f3a5ec61c3f2b759b21687a122f9faefc86fe69a3efd14829639596eb7f2de6eab6b444d06233d34d0651e6fed17db4d0025e58db7cad8824c3e93ed24df588a0a4530be2676e995f870172b9e765ec2886bce140000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 224\n# Factorial prime\nresult = valid\nvalue = 2c47a7947e4ef970e990c8b4a793b5f7d49b9af95a12b9f08475e1cf58f31046fd224c3ef20a736d7cae39a2f989d934c2aa644483aa6e348bd41c34a6819d7c08fdbd93a7f7c24a4756bb7dd97516287e161af87e56735c06d61918cb2fd4ae9dc1c7f2cbb5749934626af5f4db5bde6b748072c004110d45f6db0fe51c4889ff053bb2a24f83bbb80798b94e5d7a189599d85792807626de78a61a7468eab70a2c4dda6200e0c8328408e0327897220bbe009cf8bbbb23fa1cb5fbd3713f7172f8186d059d0b97c2ef5b096c558ec61f66e81116be44f2940f4c93b67d7cd3564c266540fbf0bb95cc3c52c9dbc71aa6a424457131aec3285e6ba46e828e635f3455e30b6db3e4680ba04c580fb569145f6371a0d352f40321751cd26623e92a6c5c9e83eb655338c9077826148e23c3705b8f11b15a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 225\n# Factorial prime\nresult = valid\nvalue = 1774015499125eee9c3c5e4275fe37ffffffff\n\n# tcId = 226\n# Factorial prime\nresult = valid\nvalue = 22d4fb39eb23880b4674bcffd06a18547ee73e7e77f1fb29c0dbfa66ed52cb8b22bbe0ed9b2a2b779c9037d7b412a389bec5ffffffffffffffffffffff\n\n# tcId = 227\n# Factorial prime\nresult = valid\nvalue = 371196ced90a51b120fd9171fa388fe8c2e634f9ee10f4bcddddfd269ebda2f3eed661eaab3cfbe6914395a73735701d7d65e278f76842b02d1f8f5d941d652067ead60bf9bb537ae7e13404711ee80b35bbf5936641be34d53d4b3bbd025bed4be7fa44113cfea3ffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 228\n# Factorial prime\nresult = valid\nvalue = 0120dd73742e20e30f56d82ace2d9ff917e66b2c92024a1444490511d41a39685a9901187f206b5a248b9e52d82f15820801be21beb73ff9e0c8150c69334f02fe9593493b55d48229601857a3ca4449a444d2c0566936deadacd46310d04480265834fe9b5e733357b0c73a0d1e23d85e401e8c3b60571045a6bfb1a19f4940140736098dac2d705dc1339370f1ac19252b931c450bb260800bb40aa404dc54199b7251abcb50d26fc9de82de037c3b9926a2958bd6a1d8690805c0681f5cb5d90b1447cb7e5d81c436b913d743372be382e3bb2d1cd7185948136957af2496888060c7b7ea519b173d5f190c27c70f3dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 229\n# Factor of Mersenne number\nresult = valid\nvalue = 07c97d9108c2ad4329db02eb8f166349\n\n# tcId = 230\n# Factor of Mersenne number\nresult = valid\nvalue = 010001\n\n# tcId = 231\n# Factor of Mersenne number\nresult = valid\nvalue = 663d81\n\n# tcId = 232\n# Factor of Mersenne number\nresult = valid\nvalue = 00b161194487\n\n# tcId = 233\n# Factor of Mersenne number\nresult = valid\nvalue = 08112264cd9bb77f\n\n# tcId = 234\n# Factor of Mersenne number\nresult = valid\nvalue = 0b73493decfd9b68318ef9\n\n# tcId = 235\n# Factor of Mersenne number\nresult = valid\nvalue = 3d30f19cd101\n\n# tcId = 236\n# Factor of Mersenne number\nresult = valid\nvalue = 126cf51772d253cba3f5a7cf\n\n# tcId = 237\n# Factor of Mersenne number\nresult = valid\nvalue = 00d3eafc3af14601\n\n# tcId = 238\n# Factor of Mersenne number\nresult = valid\nvalue = 013540775b48cc32ba01\n\n# tcId = 239\n# Factor of Mersenne number\nresult = valid\nvalue = 3a294c585a8f5c7073e36ee3637cab2586d049baa0ba2c911801\n\n# tcId = 240\n# Factor of Mersenne number\nresult = valid\nvalue = 03f1cb0fdf0fbef0f3747f239f5a8983e72b455488b792c8e29308f8c78e7f\n\n# tcId = 241\n# Factor of Mersenne number\nresult = valid\nvalue = 37a5f7f30fd2d1f46cd794e8337106ccebced1189c1f5b6b3c525b64b6c36768785f7912013f\n\n# tcId = 242\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00c4ec4ec5\n\n# tcId = 243\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00c18f9c19\n\n# tcId = 244\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00a08ad8f3\n\n# tcId = 245\n# edge ca", + "se for Montgomery reduction\nresult = valid\nvalue = 00fcfcfcfd\n\n# tcId = 246\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00c71c71c7\n\n# tcId = 247\n# edge case for Montgomery reduction\nresult = valid\nvalue = 3d70a3d7\n\n# tcId = 248\n# edge case for Montgomery reduction\nresult = valid\nvalue = 3ef368eb\n\n# tcId = 249\n# edge case for Montgomery reduction\nresult = valid\nvalue = 69d0369d\n\n# tcId = 250\n# edge case for Montgomery reduction\nresult = valid\nvalue = 51b3bea3677d46cf\n\n# tcId = 251\n# edge case for Montgomery reduction\nresult = valid\nvalue = 7e3f1f8fc7e3f1f9\n\n# tcId = 252\n# edge case for Montgomery reduction\nresult = valid\nvalue = 43fa36f5e02e4851\n\n# tcId = 253\n# edge case for Montgomery reduction\nresult = valid\nvalue = 3454dca410f8ed9d\n\n# tcId = 254\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00c5b3f5dc83cd4e93\n\n# tcId = 255\n# edge case for Montgomery reduction\nresult = valid\nvalue = 593f69b02593f69b\n\n# tcId = 256\n# edge case for Montgomery reduction\nresult = valid\nvalue = 008f6ec07432d63dbb\n\n# tcId = 257\n# edge case for Montgomery reduction\nresult = valid\nvalue = 101767dce434a9b1\n\n# tcId = 258\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00fafafafafafafafafafafafafafafafb\n\n# tcId = 259\n# edge case for Montgomery reduction\nresult = valid\nvalue = 0c934ff1a0c934ff1a0c934ff1a0c935\n\n# tcId = 260\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00d2f87ebfcaa1c5a0f02806abc74be1fb\n\n# tcId = 261\n# edge case for Montgomery reduction\nresult = valid\nvalue = 7880d53da3d15a842a343316c494d305\n\n# tcId = 262\n# edge case for Montgomery reduction\nresult = valid\nvalue = 6a850096a850096a850096a850096a85\n\n# tcId = 263\n# edge case for Montgomery reduction\nresult = valid\nvalue = 0098dbdea62334302c77d10fbfc4b593eb\n\n# tcId = 264\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00df0041ff7c0107fdf0041ff7c0107fdf\n\n# tcId = 265\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8b\n\n# tcId = 266\n# edge case for Montgomery reduction\nresult = valid\nvalue = 7f26fe4dfc9bf937f26fe4dfc9bf937f26fe4dfc9bf937f26fe4dfc9bf937f27\n\n# tcId = 267\n# edge case for Montgomery reduction\nresult = valid\nvalue = 009b8f4f9e02732385830fec66e3d3e7809cc8e160c3fb19b8f4f9e02732385831\n\n# tcId = 268\n# edge case for Montgomery reduction\nresult = valid\nvalue = 64a9a50bc0a383524478973fdf4c22bf1b14f339bd92a6942f028e0d4911e25d\n\n# tcId = 269\n# edge case for Montgomery reduction\nresult = valid\nvalue = 7f95438b41e0500d578e97c3f5fe550e2d078140355e3a5f0fd7f95438b41e05\n\n# tcId = 270\n# edge case for Montgomery reduction\nresult = valid\nvalue = 5f1bbd6c9500cae5d85f1bbd6c9500cae5d85f1bbd6c9500cae5d85f1bbd6c95\n\n# tcId = 271\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00967300c9a633fcd967300c9a633fcd967300c9a633fcd967300c9a633fcd9673\n\n# tcId = 272\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00a305942530f7f11f9cd2c027abb32354eb8b77a1c8368c165094c3dfc47e734b\n\n# tcId = 273\n# negative of a prime\nresult = acceptable\nvalue = feff\nflags = NegativeOfPrime\n\n# tcId = 274\n# negative of a prime\nresult = acceptable\nvalue = ff3b13b13b\nflags = NegativeOfPrime\n\n# tcId = 275\n# negative of a prime\nresult = acceptable\nvalue = ff38e38e39\nflags = NegativeOfPrime\n\n# tcId = 276\n# negative of a prime\nresult = acceptable\nvalue = ae4c415c9882b931\nflags = NegativeOfPrime\n\n# tcId = 277\n# negative of a prime\nresult = acceptable\nvalue = a6c0964fda6c0965\nflags = NegativeOfPrime\n\n# tcId = 278\n# negative of a prime\nresult = acceptable\nvalue = ff05050505050505050505050505050505\nflags = NegativeOfPrime\n\n# tcId = 279\n# negative of a prime\nresult = acceptable\nvalue = ff20ffbe0083fef8020ffbe0083fef8021\nflags = NegativeOfPrime\n\n# tcId = 280\n# negative of a prime\nresult = acceptable\nvalue = ff5075075075075075075075075075075075075075075075075075075075075075\nflags = NegativeOfPrime\n\n", +}; +static const size_t kLen120 = 26217; + +static const char *kData120[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha1_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 1\nct = ba366806e4ad50f76c0d8f63a84cc8c1045fbb2f9bef31da89214b2c8553e2d0126fb91e8ad9c78d1515c1593fcd589278369f83d8da3508beed573b2e8a2e61e09d9923476cf2d1cade862344a87c8e50d6600754089992851f44998be57109fe4f9a787fc13cba351f335df5f4cd656858a9d9b547438db4e0e81640618104fac10c0227733f85e041a322459c13ebcf4855fa69519ab94301561146830680e1616fcf4652d30dc6d0cd0aba397560d2a5b9556b42d42ee2088ef8793469d1142331a0b3018feb153999a2439349a709eecbf09568643f8e5d3389073eafd93d37544057e567c3a553269ea1b15a49388127532ab967860c0406a4b0cb3adc\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 8773fdde3f148ec33d4facdfba812e44001d90861c047a9eefe6c6540212795b50dd186bb7712b8448830fc1799e0543b7093e4770f301e9216922e80280e9b50582c669e3a9a4feb08ec6f5b2428dc7efbcf6fe49feb61fd2795af1c8b23acb605812c9d7586e4f48e4d758f0695b688d1b4b563067852b1ce9db5dc82aba29ab416178f616426e5d0caf3f9903de2a5beeb970af7281e7cdacaaa00662ae36fb0365c20c653b670b3e7be4b0680932f3254d48ec3505ca1547d1be27d2414a3539f405df91057f4f97aa7796d7ccb69ed553447131fbe79611756b7e564bba7d76ce9256168446b34498a2e91d9a955a8aa98a71a43d65ee60fcea39d811fe\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 504b4e0d94d800a9da92be8fa84fc345f7ab4921ec53c073c79592b347a692cce2450135e998e07bb75ed7ee44f047f75a07e37b9c912d3d529b62bef144952d5b202246ad32c5d34ec8559c4163e2145fa5fd4d56de28cbfe7e537d5732305945c9370bbc6dcd72b3296fd54a2660365715f7d911099c96dfe6d114eec7b4425cb65701aa9e08d99c7ac20179656bb678554d74baca4501b5d0b366c97224bf0c8734e00ff2af8b916aef8b83142d5ec142493e0cc4c57326515a50a31ec2c6703512034642e5789649773d2f8312561bf2f2f6000cebdbf7c7a95fbfd0f721c31ba392acea37568a24f176767f71b31f407573deef95c305e0e063db0e9168\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 25a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = a2550a9850903f3142bc1b1b54e45d7754e75ff0d39a8ae813b51eb8165be08a4c0366b93c803ef161650f8cb966f7dd4648f40363dd0cc37595e43756078955ef02e415b3e0efd5f9744d564eae763e307e893002dd1a9d0ba2997fe6658f3689fef4f4f21e7a972c0dc642993ff6612c6e6b43f9ce53674919abbc13e42772beb8c3f3f655df9dc9839e075e01beb9b93d8e016f57afc9a0207d9189b4bcb14ba6459ff5fdd5f2fed5260ac9a7a092feca20af0f23a00d8b990c074ca23d964e19e49c17c970bc972b70fda2b6c6e99e4e7ff11902ea7126257fd1964e7da07fbf413c8becb48729fbd861ddcc3fa6c3df2355759ef1338d02551b7fc80a88\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 6f35b56ebd7e12d58cf2239b3c926d21d54222da0d1943bcd0c0e446bc9213526c63ce0736b11340754460036eeac885dacac617499a58c56a6df5de1e91db4e1befba0237f696d1b6a8447163b839ddf082a1c5f8c1315f7fbab45b2bd8011accd5b2b1e3d4f35315e998eef82f368a72728817f7369648b9b1959781449707a5a668a6f8eefe5624135ff8edcdf9594eb4db32f27b2a6f5f7c6406c2f2c7b818f859d9e379a76c17b4d1535db7404e77d611f6cf5b4d0205f885883186d603c7a9920934fb5886406a38013f7a1864d5074f89ddc164c9e13f5aa5e4eb13dfc3a53b153c56d9f6403bf2ac5dde9c42227201fe314984752b5b41ef0064acb0\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 3530605f43b5539c80398f856eea8d88984af4a6a08db3b9d4093cc80d1a313c0ebe727eb2c45cec2025eee60f385822c09f82e3bcedf66b79c2b34a4f41aa8885eca5b9891798d47914f947c76881dbfc3f21ec27a11dc926c647b6b2a7f3292ec4aa32e969bab49afe203ffd79b0c1ab5777a041fbe4e9e1a679fe2d82e9c267ee7fbe54e9e0def68d8bbacb1e53da99aec8ba9255d2ff6676dbcc58498a386dd8a6b3cf0222a9e14fd03313303bec9d0439ff0e8a5a09ce2926ebe86cafd00cd8ca761b88df9cf84f7b8e07cc5f655199ea81ea6407ec264b5971738967a2e977132dc589c72f8bb639a9429feb512d8d32c441f7e1ce6c6befa08140a090\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 4d0cb9e23ea2f25cd93f6a4a5b9189156178572214c2bbc773158ed82b83cdfe7ac1e96d662afd46a9225b9e8d1ded274e00048c058d4cb66cccf4eb6c4ebaf30b97e3ff17a21223cded8708524bf75e3dec075833dc953dfd9a1341072f1485c60018f92bd41cedd0510085d818a5cb4df32c447294f4245385e1e5c4627c41450c1dfd22f34f96514aed1565976735e321c266300de6b93dd93e4db4e521b1a269947cb79bccd472cd40e3fd", + "430726723cb97bca50e610bd81daed31fc164c18ef378f68e405ee6d978f97cc042dd266c90b909ba52128824fea7f4496ad56e03fa4aeb528d2fd3d9bfae8295e1a5306b389654b1d7058890b5dbd6770ff5b\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 873c4ecb4858c60218b4ff5fe75ec216502367e0a8446fef2302da892816f127a8bedf7e2fff349be493857c4e363493b28f90365eae44323a933eae25701d84024c84e09b9163de0dc7ba2d44f97c29af5b9422c417bb241a2fd326efd9aed2dcd7cea55bb16b9571647eaece0a0ca71f7da7decfbc588cafa8beacf0b286e143ff77f05407388b72c89c6a4be35d074083e2a128fda53ba7d3363c0d261430667770fd7b42032a4d9764fa86dd4834eba3864acf3e0c230fd03581292562151faa1ed3f8433bc63472c425c382d7425b11c97969b1fd0fa0b014d47d87af919de6df72ba52be888e44de4fa63c215ea80fc61072a320a24e99c6a247880c9a\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 91de22e76714eff612a41318303dc5aaf154dc5e4b79df8495b5acba18a27be6dd454f2c39494aa18d1911aabf38bbad0460922404c6e2c08ac3abfdcdb963623f1c1c07eb2096dff7064d3c55c6221773e4b2a80adaeb210532ec76a3c92832b0aaf7da03cfb60303e0116cb6cdead2b7371cbfaebbf3e511503b9b8bcd54c13c035a44368fba19dfb8735c6117a3edcbe9939afabd7204b6542c77d31a6a244b10481211ec99e45231203720043fe89a57c7a612b3588b12166c55edec13b8265a2c091dd859d4f34eb66ead8b583fd1f0f0ec739b92e7618c1abe1e3e9219fc43f628fe89ccdf2cabc07ffcc5c485c4cadbbbeb02efd8394f4db0b72d81d8\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 8654643090ce426118dcce2bb0fca3b2a4ed45589d73ae2f5683334f17ca5b9f41eb97ff566cbbc0171d8962fcca465f66f4cf14d0114d7768bbac1dfb726d91331670e0e88ce7286e1f0ee7acd5cd75e0d325adc9f47ff02820544770ecf46f381ff330a5c75978e8d248cc12f0752cc7c452265ae919f5a4dd7c20023fbf51d0b413afe09f746114d16d1be499c98d270e9213a37a2a745a3bb216bd30a07d110558090f4fe73debea009e18eb3770eeddd7150b4c7231539f7232d837836490c9547e27dac00efb5a8ccdf9a7c3c1d29c035170a517db899ee61925cc7a2cd278cf576ebe8281bd3a4f2665f15dd0b2e61bcd65172c2fff50a86a2adbf2f1\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 7866ab0f81437de93442325f02f86a305c4a4a0871207ff3203746c26a43fff5979e68c74264c34dad13955a32785ec1523fccb264957ed6f6b822b5c052b9161d6b75adde451c6f8d637a75dffc9b9a9103934e777cef41b7966bf730a648e5b96aa587936d460124dcec515b55473a009844f19cb2794bd739557d25417e2c036762a921481d728b4d32a8015b17539b7cc2a16a2b33e43b85561a2119fb6c9d8ed42d6bec324281be79e2f79426c653f8445a20cce87a2c263e7933b8ef3fa0b9f9f38fd115fde459e5d32eee2412c0af06d2f6454e04ba060ea87c5aa0d4b365f24b4f05bb27c4aa42061a45cdcef1a39118018b875dfb9f904fda4d80fb\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 55fe2f0fdbe16bc284545cf2be83d2a92a526f52e33e7b116b265859f14433fdf3ae92e10b3a906ac95a4541c42eb80b3aa963e5d9dc4d3414bb5f378cfb3d50af10e9e84fe0e31c98e091643ee99fda65a2a8802f9fba68492beab9e606501b8e82a3d830175137617ae0352bc790b4ecfb76fc126c34fc600f5f09b58f3915155d3ae4820d91904cb92b61fe9193d150d4f0b6bbbaba2692eaff15d2a0f01d0bfb81228462954f404ae06350a24469381047a62e281d2bfa798a3fe19ab0c808de18ebaea11941e6325c04927e0af3499043a42705cfece04a60b6ed8c280869787a4f3d484218f09f0b266efc3a5b442098c82cdf809820cf3b8e7f6ebb8c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 930eeedfc0e94791a2118b228c4e1522ab52f5fbe53373d9c11b4d1b2595b121780f4312a4f834614df0c31425483dd845279b08fc0f1081dafcf51f32958505960e2eb9b9672c9a72a12fb45a25df678009542a171ef8d7f07b11fbe52db47957ce38d9242852a228a4ea864c36d14d58bf41d2a1151b8c18cad777c9a6f8542b2f3c9c84990a461df613f36a0461658b98ba193e6e6b14765021d0272536c044d8820bc3a5da2404f11a35c632b8c0f9ee8f5f3cf6c77934a7b03750031d6d7cd99623c484c5c244ddc07559ea756886d235844d9c6ba4aa24fab14e9c4ed01bac85d332869a8ba8c05ca7a074409e8231ae38c0e1bb98412fdf124f3ffa9f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = bbf27bdc6311952dcf7bb31459ad6f97e09d5948c7d21226c656121aaaf3ac28118efc49e379eabad3ab4b576b494cf438d0e210b8cbe6067a07ca78af7df1547ef9accb15c5c2601c2a020780cb14757201bfab58bb85ef5642d9b5b97ab768f285eb2012f1ed8f7bbd2bc4ac2b9eddbd656dc7477e800e95924827ba6d4f5bfae058e34150dc676e91cec780528d6bdb9d39c4af4005035ef45afeced57ca8f2817b5fcec969a6afa2e0df7cfe5b818bbdda76d7b760454f682d553f6976562f7f529ed8319cbc98bcc759db0c5f3c7c47557092bb3e0d3b208ab6fdfe75dd5c081ff4fcdb08556e78877623fdc4be029933bb659fd3677d62bcb5d8d37818\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 0fe6fcde58648f13ebd5f0ccbd68458da8ae18dfbe82238d2fb90eb42b743dcbe7b12b33f77e31ca85eaf694dcc1159c2fd4778fce93ceca25f5123aa63ad8ddbf776400d489d8d3d46665c9d22b4382d468881b7aa30c97cc6068a9031a100cd4b035426932c488a6396de7bf42bdfc8da04af6ceaa7836752feccfbe5295a757dfcc25c8e8c5cfe122bcb764f0660528e162c3205e0a6b9f8d399f50529005467f56ea70c0182c9d679d13dbb0e1ea24b84709c1681418cd174f4467f943cd5a1802bd0ac666dabac72bb3be4d3ab9874b23c4c394f3287075c60454daad062f2e5b81bfb14222c97caef742482c6729c9b44de880e07668b59a93d8e27d17\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 0a182cc23064e7b1d11ff906ed40842213938431906395ac4995b9e8e56fa3835e9fc4c4ca81d5cd0e14814bf16de6e07ddd949b43522387e8f543672dc965976229da3e791efccf4a4d28c3d5cc8c32f7216e89400794c495a54d2b38f72e30570b43b58c657471fb9b6be7a999807976263cc259c06df51e632beecd7372e2d0ffa17f79d029dba8cf00611caa9e05bdc0ef87d9a2f5f02e4732aac5bdbf1d754e2263a209a9b211a1a8712a2b9a8dbf676fb7bf130c505ec1972e4c5c4baef2e33c955e63d55cecb818f9c85dfb1fa54207a406f153ce77d946c60c4faa289d955d73a8c64f5d4dbc2fac3b4741eff3b3fc205e1bdaf7fabd738d01eaa404\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = affb9604fa25ac904e054b0401d51c566c7556c965088e81bb0181dc16532b5c5800117eaee491c1dcfebb184ca00ccfb3a934a4e3efd42a2249ef6d4a1df93af90db0d135a000c97fc1092e85cca90770e4b3583baa654cd127b5ef7549d7d7a4dab1ccb16b7fb0b0eaa6ae401e023efa97ef61a136554d013c61934cb9996db2cbac0a4b68651285ef3421ae2276c7e65dc81d8e3089c15e36e2bcd8f42926daa907f56e5fa4d6a8f3891e71b4f80a15798a94bb64aa68e295bb0d1f6669ea761de0792fee6e0bff465e53b1447eff610b33d38eca86d9c66b542f579338fd944f6a116333dec3684e4c78aba1b1ec12e8e6712206f81701d30a3b43688d0b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = a455a8536e5295ac29243e3f7bfd2f6ebf1aa7e3d1333c1bd9fe05b6ade3aa913b859dbd45ba093ae9b034f619f99a69eaa680ffb7be3ab38784648f6f31f858200992f95740ff2edb835f8fc03bb6785278ab9eae742d5966519fa9f584f0c3044136d04fe12104ec8a8bd07950334db8df8a83af843347a10974245c723fc85686240eefd0cce09d81a63c6f6a4d2b83d29ff9ad060129e5521da5e635dc05796ba540f1dad25b9423bda365202709e5e287a2b0d7b09a2ab6031447e1a2ae8efd9e980a29dff1458327edc0ad162670f80343d8490118856f396c72058227f57b9b0ba66b13c4e7117538bcda3e937dfe05d10a764c0ba1f5626478d4fc72\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 96982e222302818f506285642768615f426bdf9f3b4daf80ec5e3ea26cbbe7f5ab48cbdaca4ab0538bfdd91f7678101b61181806f48b2d6fe778d899804a888716a0c2c3a7078513b1cbaf1d096e6fdc83abc2fe40b6742709a2e51afd8e767aa4a72bb4554286140533e4bd5432010d6016d308d475eb2a40165d46dba630c11a183532f658bd538096c1877fc4d843d9d2d8cee570dadc9895cfe2372df9601fcd74399006466fb9ed923b7d9abbad9bc7de963e0eeac7bbd56f20e1c254ef722d523fa8f3bdb0b91b37202e11b4578a3252673e69ec05a05ea60913ea1b9e6228d9fa0c85ac6d794dfeccdf7595828b06df2bdc89fd8d22629fdfee205be7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = ae11f45e24cffa8e4f37be34ec87852db77c2501", + "c1274e23477c50d62313480ba2ac9de76b790a355b50c2f2ed2dd061cd860ff7932cadaa0e1565e43d4177ac98e26d964e81cfb7c20fba7e2b0853fdcc7deab75b62ef5f231ea29f10c83c2f27c9215b7d10d85443d967ce7fcd41b0de999d9f98a072dc80fb5857d47e4373c736bae728932733d0a071164b6d6dea3205e267bebc287d9b5035a76978dcc2f38946dddca48a6a6035557dd9e1aaec4344dbb457612eb27b9302e02ea0c9456984e70faf235aecd20cb32f3da016c9a8a8b23e07a06dfa57f5a25853944cbf538c864169566797a4346e52fcd2ea1489799109820cca4b6249502270dfb1f6\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 8ba65949d2a53d5a933abbdff1efb4b6861484dc230bca0c363a66202691bd39d94798664763d72f55edb37e8cc791b3904c42c4e1b75e4aaad312f5dc53a246f211d19e311a974c92ff8af0573dc831c51194e59c920ec3d6325f06b9c4bceaa6e55696b185163e73aac401fc1925cffcc7b80985bab727288d258a3c60f7d3d2d8ec80dcfe7547229183a19247e3ea10afcb0fb0c8e7c4c57bd5cfd5529abbd407f959f4b9c492411691da445fc5ff3ffdd11fcd20c2a2936d1373b55c2ee41a7b43c049b40cc55f7bc85e46b0d8464a3add0bf28a0d3ee46c12e6fd600f840ed65f11d590381fb9c6a80a46d64570eb4f6930ed24087e47aa12eca2a1329a\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = e2dae040ee2a2d4c4a0e620b5dd05b56df67f079884f0bbfb64a3eeff08fdaafdccc458b014d53f0574f9ec5514ef21524373c0408b2d67c11fdc812762812db75786693b66313ec08cd001d90787a1b4cee69d3a9f2cf9ab81503be8f205c701da8a39d70b1e8cc40f132b3bed46ed8f466cdee0d032955dacc5c373789f5d58886a3a5cff7c841a5b34789a3091a0f1903a2227ac24ccf0a2fc3739c92210afdf726d53e07692f3fb82f431f2779768766608111f6f4f9cfdf256d79c5ab13cf68e9d494b2c60fd5eeabdaf4b0c896fdc190db93c78c85671ed3ab6b48b7bef639dd19b4f224d0667f1fffc200019773ad09be3f58b1eb5a7cec3289ff8f9f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 000025a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 25a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em represents a small integer\nct = 092d5b4bea487029a4c06c97f727f6ad4531f7f646c95cd269e1e606a7e047c19a6a9eca8fa5abcbbca415477420ba422a7d5ba41ac79ba7548aa6f4b44aa65ad915ec11d7f50cd2ad7eac86869bf88bd7cbd11439aec354a25be71d36541e7ef211ae010d8259ac7b5af49e38e14d87b62a3e7840316799b548f14339cf7b46ccffd66e596b0879782f8638b975a89edc2b2355f05c53845078502d046b7f4371bdf911e30302fa980fefb439737333fa9c179c33a98e1b052da7da2436e8b862ee5f7c63c88ab751a244705c8bd1f32c277e0a7c80ef302bd01c9fd50c9b7b6395044c72461dc69aea549e37858b8b53b2792238f59445684e551e52e08750\nlabel = 610c549ce717749d3143cbd96c51c1c75885a5d200000000\nmsg = 32fdd5b5319188914afbe21b1fa91bc4e484ecd1f9968231879e372570c43a27f720e6773e1d905b70f85a312347f7e9752a8c4f5b9f27bd01530b6efeb221dddc723cd51b4bc4814992268c403ed4fdddd526efa87d835069246f25e8098dd5ae3e463fd639b36a4c139476b3d29ae0c9b6c163d81e7719cc85e65289bdde2f82b69bb4aa9c5a5dcd513421a54e5d4638d8c23567c12978c3aa806ba7964a547a689360105fc1b2468fa1480204d468ba2fe41ce9302328d4279e00a9af1c7cdd9f16d572e70b06f1f40acfd50c8865ef37d888b2fb\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has a large hamming weight\nct = 58a4e190a7306bcb33ea5f1ad83b74da56e3debd2b2fb4499ea9339379b0f08117c77b4d5ca6dd1ad51a4cea4b818c270344980077674c8bf6e8a5ce5ab6212ddcabcd53be82672f19d535debf66bf853538d163b6128468fa21bd4464e84fbfa92501ad51bb1bf7e14ff522ecfd65a29e08ef23aae01218d7635915f8372055e0c6a2ed1de61511484bd6c32286a23a9eb2f1999708e8ed5e28516874241eb778713a845241151a946c509c07e4d27c167b7b5ef6f7a4f1fadf9049996eab17d97ef4d22550649060692af63fd06d05c76f3191689158323605582696729db7d94f730e5107d0d585cea56160968a887ab42bee7fd4f9ffd1449f021a3d41ab\nlabel = a0a0b480327073f080fc1efd8cf5be9bfcefd3a000000000\nmsg = f032ef2759de946b6ccf829695a9438e5f986fdbbf333262a795ff9ede842bb7b153c526abd1ea498f56e992bd21558c7c3b6434e4c667ccd16687eddc199bbaa59547e065a8a3814cd5ea46d7437c1d6bdd8f1a72ee5e945a2b1f11da2049a685ddb525da742260a20ce52f95755b8d7b5d29dfe7f55395c6203c518d5f45ae7435fbc19efb7fa9d2e1626cd655d409e35fdc4e8b5773965d9db726afa40a73cb212b60678bbc7a0417b94d97e03c273c8ee2ec49f23f57576ab3bce568fa2a1080f0f036e6971eba8a773b405ba2c5ba6564a4289a\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em has a large hamming weight\nct = 526352ba3b50ba160f05b9b7604abd508e744e176f99f5ed5fa47869dbf220f32fa43f7942a8951a75505a5800f8f49233d57778ea9dd5220bbecef15d38dd7400ba81ff4cd5085d2d20af7ce79f097ec08ce2a8dbab4482675ff08bda80c74078a44cd89af547a356cd21bb4be52a0cc5dad5bc779b54fbad60d15f10ca79d25e82f19d9dbfff7ecc1cccd8374582bef1d4bc3fa745259dcaecc56b8f162f7d4063aa2c99ed8f418f2aa5658df7d1f36041883b4484ac6766b059948960fa2e40363c6c56242396809f4b036fd91d46de8eb053c8cb0297784120264c6ac7e359f4ad5ec65a002644c03cfc166a8e5a019b8236c7", + "d7145df247cd123a09c8c2\nlabel = bba0b480327073f080fc1efd8cf5be9bfcefd3a000000000\nmsg = a472bbae5a81e6500afc183d8bd1ceec795f4907c496830bff4a9f3b15f1768724cec8d288d1d11f47529538cdf93f769917afd65d033d4f563cc14f6dd39a8e7e03afde9eb374b9177f5bed74ebcbf771f630a1b3075d0a308ce65424386304396e824528deed8a2ac7a387f7a3eec3b633882c92e9c33eba9a91f9297dd6aeef37a5d475d10fe69e0b1264fc2ea1cb45ab4f1c6908cedac276183adee1f60da7cc1a105ed5ef187c2b11748e98c8a93af9683d441a3088cb0aa669b06db151e7151371d0273e2ecb161c8fa69d4e56666681c6439b\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has a large hamming weight\nct = 6ab92b1c57f99c17ae4ca5f7d4c0149eb24cb18aaf36163859e1186dcbafeeda4d77fd059b0f938e92b8d413b771852fb019a66d76009444605edd5fb48e6eebbd9d01827be732292cb07cde541dce138990d46599b5a196525af199ad4adf7c259109e715e563d8974cbbeae62a53c8137076f10731a964f2ce37305a175d35eb7c8e6e72c9792631d35133dcd49f1a1da677ab3ac074172778402a4176c036cd8ac5674770f171d9134585a115f6a0983d606b748e0e47be040acda88cc5b8c7eadd33162117bb61f49cace91260c5e2c8ef4dbcec7f156a18894a2bed9956520b2b681b2fa31347df7ea98062d97f2972280be22e507249b2436a9ab91689\nlabel = 7fa0b480327073f080fc1efd8cf5be9bfcefd3a000000000\nmsg = 6d5c2cb5790875728fb21e987278fdd1d881cf4953e62866f8d53ebb067cf9a4ef53218030e3eca6732a6b1f789cdf3cc711b6063a01f424b388905549663769dcdcbdd82deb6bc23f66c1c04d30c6d91fd6116bdf8802c150fed396562edd21ca606528cd40b569e895c8ad5bd1bd5848a215501537dccbd0fcd70cf3b2d0df58a072e07f60ff764c4688c37240863242f6eafe36601dfcda41eb863f4db701de54781a6d53a97932d32aae0e6a526048f766902128b4842068fad9ab10811ce93339ad42f2e13c4cec324a8cf7035705b8a36fd8a7\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen121 = 21242; + +static const char *kData121[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha224_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 1\nct = 03aea385d1f1321eeac78684a79ea101f54adae40474a54c8e574e1ae3871634050e5b596461730c345cfc93224deb7a26ae40f30a0497d7c6f0e141e9657b84bf9e20606fa7fe6e1c921d8de5032ad8ecc37b7c3247a56b3992c7c63dfc3fe2f22d7c4904fbddc371f560fef052f3ed89202bcc5f92f5a7fced461f984406554eadb85ab7d2bd7fc576d333b8876f82860c94aabb705e34e5f385cc2d7acfc5463a0135a15ed3c417789e0b8873d5fa0241c9a0d9894f617cf55c11fc45a47b3fcc04fa5b57e9e188addcf259a0f8051f254b6a57c2af22cbd4eb2c411e229045efbb577da4f480989d173a2fa367af721088547a8a219ff2466561eaa877e1\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 5d19107e5f9422dd3d9e2207ca637f7347454c338c3191ef2eb5687a49f6570f723aab7ebbd78abba840942e74aea052dc24792c9eef1d72c148733c19776216431f917b81a9a80ff4b1883daba20dc6c368c525a2105550715a374583b56f9030df876d67b229fba732369113585166e41f8b5bb7735afc50970396f47921cb2d6c8bdedd5ff1f0411c804e412c2523da5354a0232a46bf9268402fb952f0ca00d04bfc4504c2ecd9772001b2d77be4731e131f90b46e0d0f51a6f7d787d95f01ce64f78b0c4759db1e4546857658b4bb899cb2e024d15b8bd14d0f2fd02a4001be3b6ab35ac589a83234d8d906750dec3e509332ca081969b26a1dd0ac7614\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 00d7ab45e49e37e0d73d9ec5d477985b51d9e1b7b9eb67a8e0224f49d8a3432c0dd8df02b5dbe8962b8a3d749d71e56c7871c0b4137d98de5b77d5f94bb448e124b57b2af9c24004bb693baf2d9f54fefe770f6f320cbe73c0405276b09b1d0627b3018787a3b27e09aa0b3ce50a79f946fc45746de72a93554b993936d3a41bf90bd9f2913f5580c8c1c1b853271286dacf275280faa981c78dfefcd4dd09b6f09bd5dde3ec11b02eb4538e43fbae835e40f903c81744797f04f5a38409a502f3a7eb9447a342dccd82fb192601d40f57192255f751f102e14fedc7e7aa81c770c6b72dcb853366b7a18fb11b8e3b3ee218e59f2dd74feba1bb6e06a87405d7\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 942fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 36deb3f715d91d4f2c5a21a028f87b227dafedb7c0e064712dad36c276fc15bea7d0d3671b115323849ecf52e6326e5f2b205033177410eddd8e29fb06a1b93e99ff62ac8f7dbb973345947de615e9a8da910b5c810732985c3020d93e7485c69801b7ed49433ad66a0708f26d51c0fbd1c73cafc4c89f50a20a09369db4d065e9cd7845be623e86f497a0c3e9485701f18006b8130210cf09c69dcab7ec0e3c166fbbc5cc78c89dbd0cdaf7219b03dc580b4b8f7497c1f9f36d1c61e1609be1f67b892871ded426121c5f83e38d39127c7b574157e2f4ca589efe094c3472348bad8ec5b07b4a2f3f68d4176b6f381930ef377c640ae8491b5bc3249a5296fb\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 39f8f5ee290e93d4a36b96aa94a3bb7edb33c0fb6565ca6a99fe2434222be6b6846af4daa933bc6ecb62e963d2e107f51bba8a92ea5a4e6490402102dd378a55c0ee2224e77395e27bf28a216c6f929db2c2c95721d1448160e888aa93251c966858535146a70188d87443416101e530cef68a1781f10368ceb43c287c73cd8c44592c56bd8f2bd501284c3118fa0f0402b42ca7c4ea3a917afe71ea82df1655a39c650ea6adc9d73e789970d9b3bbe3f34d0fc4dc5fd51529cd328a62dee0c30eafbaf7dd51de3c31090833024124741966bc8722a157a8e71ed60bb3ef4704ebfabeba4ef67edfc5a120a0ee3316797e0e6a9ddb4d3bc7dcc9f4c262fe022d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = b798998999f0e4318470e72841a57733c842f174121247fbf3e59e7724bfd9501425234f8616d288f0dc8206c727aba50c13016d4be6f3bb64bed9dc5122b94522b8987a9db93403975302ef6fd585cad02556a735ffc5332d362272a07c1ddde4484639ab767e39881fa1c0077aed9e8ea4f6349f59940953c956f52065fde0a97624d0840fa610a46dcbdd12b8ea3c56c5873e9fb3f58e43ac719d50c75b434b01fd7f65c7eabd5a71f305561088ffd2fa7bb8698d16455a81d233a4dcc4c1f12280bae89741ac47885552d21b37523ffa8901a2256b3f7fd410b6d842a786ce2cd6ab81a7596ce5479eee98aa3836a22ee8307888d9365a962f2746b01430\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 2860d0785fcecef5d43ea029d6ef89b978b25b091a2bb64ee1b95da7dd257ed644a5e4ae1437bb20840715895adc9b2dfaaa1a427ab35d6380c0a6840c022a2fa1eff9b6de19568cf8276ce549365c768a0ee6d84c4c4f4c582ed93c297e83507c8495b3951279b274215cbae88de81447ff5d5d9421fb025a821a934d0103b9efa6d36067cfd394751251ccf4418e32c283ace982f8ee86635b9489aa2e756ccf6d2773a4c8613b89", + "9b7764c319153762a9ad14352538507d36f70f56e47c74e2786b8197ad42e2380324ba8cfc80d354eb4487e3642dba175cdcd8382f074e170e326f2cdce0cbdc3831aae1e1abb87756e503520b87a18eff17fca24fe20c\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = a13447bed3796370d356bca37fe2ce27d19022301007dcaafa7162de0897698bf706c3c4594107e9a3585091178a25f458aed6e63eda039b1ab89704757d80a94751ee21c1fb672ca1a8f448fe8d959ec226867bb13dedd1b870986a9e7fec6893fd2d8d533ff13e60b7d61303e123d1f50b7301ac9dbce4480cb3d334b72e048f8740a5b9739bd07beef64265dcd6576dbbc956095aa586a1f22962dc96a00baf953faf836dce03568f3bea85696b074c9e1180dc2f801efe48a47e0735195944891a866d3e2cd1edb8333bf5164b94e618b1204af410644d966fab0e49b23efb23ee2038dfa88bf231ed1deab19346c4833f17ead5f1a2f15d695eef4e14df\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 19dc98b0bd6a47a1d0cf9c9584bae53837bc666029ba6478152d23cfd36e72f1c686543a5836a6420c5f2c984c6c025cd26ec5c6a74ca4e0eb87ea26ad2ee94365c3a6ad0928f9bc9f560bef8b2830374707f7dbba0a938b230f8a42de6645fe765422810eceaa713e8f78e0fbe48b70bc636e21030a89b80118fd4bc066e4d5400529e9c2f8984bbd5800168d72329bfe0d86ac71d3b3d7aa749b1d860afc9b49dac1ee8fd12b73ffa7c095c610df9d502e80c8108b6c944eddca8162666b7955d061231a95698c4c8470217ef9c47ad1003c80f032d95b7a29f459d7ddff205a9b02513f977fdb72b148869527539c0f21a4d749a0301a2fc686e12a2aa6cc\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 94ad881563060d9ac62c32f57f9cf08c57ec10bcf77b35a67ce89da68cf8569e2e6891ed966ab988e68a0e6e44b389a57e2ceccf4e7e32d6bb73be98db72bf363d0da8a20d063e9be5d9f4c62e718004132c9cf876ef58b07c122f02691896df3deac296dbf3e1f6841d02572b6e297d2f0c8a54cc4088fc9bbc0f67f9de75dbdf81cd48e2f45b3b9ff2bdd3ac749d4f43866ecea7483e810cd3c332f055cea1525f263c54e5ca3e1e049af11850bc836e6064cda5cf9204e9cba0857b1fcd65654e30b062e980150d541027a212ecda6985f7e93a0f799679a7c36918aa39de158e0fd52c5cdde046fe6e4ee67f20ccdec1c4d328098c09e6b2fe4251586b67\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = bdcbfb51335812a53e7db2c1b73ed5585fd7899936adb790f4b10327ee075714e21e7df55bddc6888adce032ffe1935d37178adb4dbff608eb5f4cf9e29bc32554358a829ad0b84b1cde5da1018440fa31f60ca72407f5604ea216a139c34034705d295bad65cb9fade9951e17d1ee85f4a46dd4ce81bc878daeddd800d0296eaa90345dcfd83f6dff5cb3ed87c7a8b5985b2ccd7f925b67d39920438b66c1ae1c1321fea7a8a90023f57cd97a50081c42d012de9ba5b98a1aec7da9929cf783def9efdafeaa8d9302da9fd44ec252cb5a97d5dd4fc6f68daddaa9d0f431b7968386df1a514f407f1342e33b996ee9c4b5af934f1aa2fe1e1ad485438d497afd\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 61b8f5873124a6ec36f1ae35081f79e17516362e8e7c5ddf3f44af7070808411db7182a3c82b70cb4c0510aac537a817c6087b907627cdccfcec4cd4b0a901f8aa2ef75e797457cc6f5a0effaaa9b6c542726eb45e9b27e3040d9dd283cb92f1514d93f00f9ea8f40170fb26129d82f169d5e3d9e4d57a38eac39a5aa5dc7fbece162c2f0f13fc095894f323cef093eaa2f000507fbe9d2fa22078bf824b9df7b894ec9705c16e9dd43d2c98f11594e04cf120666c72c8192658e94b02ac89876d51173bfe282c90ff93a5a68d1136e2ebc98fbaf956f28c71df44975fc6376003e713dc5d89ef08658a4d3686a198a4d140259e213f9fbcf5471afb3e0bdfae\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 4fd0d013bedc7ec38e1cb2bb2c234bec4a91733c1363f1dcb7ca47b6d4c8cbd56d7d75255efb3d5fee9f0c1bc5f00560f14ec1947274287153f8db015df8f4f4db9e9d0d9cef10302cac8cfeb72e04feb612ddb2bf4d58a50e19d77027457cbcc158dbcc845ad48b13d710ba1156a9d8f50a27da1e09f0c449e4571a359b4bd9555dad9f5b9354d6ebcf31171704315f6daff2a50b9807dfbfd94264680f44e146039216d83821e27c7933cfe13efb6b0f3912c51dad42bf433d89ccf52a7de04b59931665ed7ca91c7b9b9ce9da70c47c5e91f55cfc6f97c88ce230dadc2222e25f8d25f6f669762bc05e3888b9a05bfc03ea32cc43df08c84219d5c75d7283\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = bd6952203734e2d690c1468c7707b6976f802e82d79a786b40e64275d563b36f1e91bc99853eb3c194d265509b8011ca2d553f6fbbe7a0d6cbb1de6a61dc2b4f6f89344b3033f41e0b302eb626f800c4cf316dbed56580210f951535656605ff142fb8f4e116663b17e0cf8725de29c385737660b4e04c0b710726a70c39d5c417c12a653c3be05031958b1a14befdf95c582e677daa8364fb5ab08cc7d9aa59e02792c44867f68daef5eac69d81200d8dc12dc34be80bece0b80cb16b40a6317ce24ee21e8c082af1598bc4f590459cbf469ddfa4130118fd4686ebb636de9fa41216c24885726d53ebfe50bdb41fd93ae97b079fae913694543339e5cb3ec7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 916331689c162246baef783597f0448e34dc5d358b7f00fa47d5549f4fb52c7607c3a3d571b0930705ea61da60d59e96f9b4cb9fa6aac7fc737cbf6615c98b4f8ecd4a0c27878f469edba1bfc1108b104f73d90f089621ba85a938714818efa68c0483359e014c69c84209e1560b8692b8ac90e6164796cd1bc0578805d9e7318bbf08345835c67397eddc2d326468f594b2d4ddaaf8c67f5dfd998eab7c2fecb6a9ce63bde38cf23e0b0f252dbe964647da61dd054d10c5ea82abf730b0ef1722f98aeb15dda842a099501246700dc37d696177f52345c7a8be7bf55d0fb0f134731fc138ece8feee540bfc0da05edb375a1c0035e6fb0168a6424cf25bec5f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 7d9133d56002b70d758be84c5765c01ada73449ad76776d0dd6995062b5707c6033cc93a3d3056d5cb576d5c8ef6e65f8f3aa2555a454a953c405e5163bf2b0e7f6fbbc9dcd210430862ad22628dc2529179eaaa047f2f87a5f5831a36b604a117908a2170497c218db30110812da89559c5ebaea9281429172088558b7754624f1dd71cff3eacaac9e71df7e4404129cc1b7a1d77c5d34167a3ac4214a74e11d154e1ad42c4d12e9ea32c40bf3d92b356ca5cff7ca65c5cab2298b2899c00fe15bc31996038b577f50204d0def12c900bbdbff4f7ddca011437e01ec923ef76144f097c6951c0606c18bb200c700f451529594512d4ec4c55980c7c0aade461\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 8dabf24844e59cba5ce1ab2a32862c6357c465475b98cfd54c5dbd07017e0ba9215aeddd2dde36d2db9891661e6a8a9ca5bf9676ed193047dbd140875f312fee28db4ffc433dd8edec1fd8c342faaf36ee398f8aed0108a3ce98f145883ad126eb025a011c64ea51e2008a14fde229622275c8fda70f3bb83d92597a110c655cf6303a96bed0ac6955501f14b663255ed5cefa0d7a14ff79a993c4f42db39e67530d0263b55832678bf1502d2defc59bf6848d2929ff8959cdf4d7e44c2721786b2306a8e6eebb4ba8d470d15bd8e608652c5d3922aedac36727ff02b55f3e4eebc38924392d28306f8e364f61d8f7cf4749165790cfaff47c3ba7c81ec5430c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 4ea21ab2ff547aa2e8edb93ce6e041b654793095327f4fa21f5bb5a06d84c40cdb428e99a4fee6e90697cc8e79f5a1919b47d057b79bf4be5baff430c28896a336705c57da70586cceaba902aa3740be61b41403d7bba0bf939ed2faad83206e0a41536247fc8b8e4e58686d0d19b8cf3aeabe578f4af256100a79472c4d501dc32bd30d7a921574b1e0d4f4ed2151350d246ceff46abd7b588d66c519d7191231461aab4009c03c3995b9e3b7296eddc6db550d8e6f57d1496fcf2d1c18b993557f11a7df438d4a9c73b680fe653297af059964a691bfdb378497528c1ede29bda74389bc462f6729d4ee3303e6e4ea17ece5e270e2dd2bd5ac6f415f972a9f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 8d15a2f44d4b458af3d83dc082cd75e1fb78f6d8016a22458afaa019bcee0fb298d2990941c1bc9c0594fdbe4d292183b7b3c7d3a747117cab05a1312c34ae5ab16f25f7f002b8ff9cc905d2372601103f12c6c69d91ef320d0f31775fe72f8d7db1e8e0b7a6f45fdccf017b74d4e6a3af16099be38d605921652dde236101c16ed6310e126e36b74936a04ca0fb0c26b0d4b28b1aa2ad42cbee98747b7c43ed3ad7a5388cab80b25b5ef5be9fac24f6d0b373919493f928df49bb415f7842b47c13e44f45c042da263ea3b5b989312bd6284fd049a59ffc5eab219440874d173bd11744419aff23450f86d7c7bea2a341361a306b299a8513a94b9c034bfed5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 4f802efe0073cf430f7af010f23dffdca40a4a53db96a5cb00431170c6ea57d3", + "bd6d50cfb0cacf6772017adc41810de36f020efb1e00e500a3ca6329ff3d88d86322c0764d4b11f75746b78dfb0838a848d24e0c471d58743a296f10b3fbf44375b289f87ad7ffcbafcaa46a2a0301270b48d123d61ea6f21dc4666df0ea2078140b742ae75c1887d29742dcd7b92b4cbda27b98d8e16b43ced64d5e2a207778d6f022f3228c0b7edeff81437d3669c418186e651b7ed2df8963c5a71726d1f507c8fb694a9a94ef7ff17dca9e1bd79c9686097e7286665a454a9b68acc4334349d99b9d5ab7093fc36c0c0c11d41ac6de2e4c3935bd0ec2eaba1502d22ba0d3\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 91a3872121d32ba547703f8a0b9c9aca280f099b9c559998fb39d8841f7ab6a1fdf05a81f246c324ce435d7d9ea135fbc989e15a56df082b5e1c47b3b40f86cd5db01304ffdd328ae99d205d4185bbdf506acba181cdcd2d1d48be3b860d96e0c6ca54ce626372a2a749121af68523decff2c4f02d9d6bfb3d3b9a175e9ce1f03e4616230d32d691a4a8455ec09995962d651cb6f85d2cad6b09e35274368f2eee8ae5c7aa123a16407bcdb200bb351ede750f4798b083ce82f2800e04b66fd2be942b4a64d56dd582de56e3da7facc71157ddaa124502cdae10591eac676df0c94224649cd109027af09cb147dbfd9938488e7be36cb1146753e7656421e90c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 0000942fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 942fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 2fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen122 = 25538; + +static const char *kData122[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha224_mgf1sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 1\nct = 5b467ce0a97ef94c7956b5f2ce08f88acabc4e9d6e7b83e6521e73c03abe9fda31c4c2c61ea1dcf5a4bea5f68cd1c17198c9c9f22cf9bcb6797629b9db4d96341503d7bc1286c0c47faca078594ab01530f88dae2fae71e5601c8a79040c81afda8f60fc1853df885885d8d2cc6bcb905f105f448d984e4a2374e78e4c357ef5674fe9917e30196d33fd97c4d67cb98c2a0c3f30c410453679ae748fb922a91da74359ad8dd9b00865517e7f225a8c999bf7c93bfa83bd687404425321e73f9e1fb97c11562f0622b217b09ac3542e0ac650a451011431a870c2ad77b9be4c72068e25dcaed1f2f9cf9a2a8336b407711c3fe16f2bc2c12e5454275ef783c732\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 9dd1ed2ae7257d576d793a110e0b39d85fe2b312ede286f0c1bec4fd975f10f9f51d9cb1b467de234697c428094a87879434f21f91e39fbd2e1d4b877313af6d9c92f4a7a16ba148fc5bd48c5405e27a9bfd6f2832f0f40fdb32ed3067fe2952060e5726a9a97d55e055b623cc42ed6a4db870f246ece6e89ce346060a4a5cca214a35e868231528c0c184a167f1d7c331cb0c1af95d6abd6dda250262aa54f2f6016d12d3b530dfe09d31eb182ea3718d8241bfa3e60137db838043ef4cce8ba28fd32b94198501d8d3d81dc9cf7eb5163c41753abee2ccbcbd368b8383b39bfe0739fe84f3e2b32612d01b324e4408b727318356ee38c200d5148b6e246bd3\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = a042226c1eac49482797ac7065940a268bc9d7b71a84ec7ab43f2fec5af2e39521780c7410cfd7538acb5d17d213d4e9ee1ae14e44db6e2249f97ef1ee97983e2bab3d2ea4775c4c8cb79f252cc7875dfca5214835dacb1bab7da6bc7781c15b56546f9273f79025fb8cfd90e632da174311aaad6cc5affbee024ff1099395f5cd9f314ec3cfecf089c6703296caa433d6c3c5779645ccd5c2702dd916aa74963c1c11d30af3348ffcd6ab28ea6b8076a8a82df890186c1821c1aa18766d8024885083b1ac5ade07aaa0bc7c5d38acd6fe392f70378e2a64403c39fd4dff70af9ea96b25d2dcd4ea4f9334cc24a888d1cda58af7eb85bf04752c379491c9d8be\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 54a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = bb49b660fb692e67ef888b55dc4944726ff955229f20593757eb616a796035bc3ee9d461d37dd6c5a5cb34303eb739b938dd53454675f872db127ca7cc6b77c6ec7188a436c09310004777409a7e680b8631cb420f7e69f04bd8fc3d1f735754a297a05b58ee52188b8fd00c7f1059932b8fbdc5db8321db0599dbae89f62d7a05015ccaff40a0505baaf4bf96a62e0f3656e84fe1b5e14117755d3c2d4395b9039fec8db8d02afc90cc4589d232f501c184753b6c1c9d687a77e6a40acbbdd97be6b43deb327c4a75f3e09b638df85eeb73cf8e6234122f04814c412407003d703d8192e02016d33638765f5aaf83699287095b47eba7d48db65541e4d8f6da\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 9f0a968b8aed115482ee51eb63b25ff07c3294eb3f8faea6af968408f4bb7fec7b456e2459626d5b8bf10ca8e953b0606627607ac227155b7accfa1ec90bd94ed216b7a7bc8ffcdec6f4ad0441dd24f1227a2f2a61e0645fa9a4d325f5861479a51af341bcfa8f699c64c02b5d2979cf7fa6ff2316aa3546e31bf0e17b0974252019c61783594adad3f8ba9b81780e17a646528e111994aac91fb056a57c19fedb948bcf1270573ab35cf903e1ec1ac33ce8359c3dc4210467a1620b1d3928782ad079ba9bb1f2040e157c7e5963594a7bc855b9a476adcaaa3be95f28ec49c934bd2a2440e6110ded6f02ed569206cc986a40f60ea4a97b30f5dfe8f38a6e30\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 3a2f3740f3df888485a993c169874d624097050697b21f5d3b6d19bcd373a6005f633931446147e8a4ee53fe11c305d397670019cc03fe83eb15431de666c1b7164184c33ce2508bb0c0e0c79639e6be07b7f5435d37e5f1279bf033ace5fa259c83b19a62f8f9df45cf0fa8a2b1b0b3725926c40a7fb2463da7e80e4dddfb260b3129d4dcd8f05e728f5cb6cd484b2328b8d8c5e421c9a7227daaa09cd0e7425886a9912a38d5e6cb716f0d148e17ea1ffe520a94d8b6235b5c82579734c642717cdac41d65aabea49e05cbf41ad2554ffd97fdf73d14d783e80f08eadf7fd522961ab00d89fd964b6f72039a5f1c76cf029f2177a80bec3cc89475ea3c9010\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = bffe021eb677345763b20dda24b4f482d02b9c42a3948fe4e90391f079f527471795b8ae9c8bb1b5437f56b8a6f60e5623433b02851a387761e27426fea806ad68ae140cd104b0fda542b1f00130bf89fd565c13cbdc28a27c980a0707d1d5a1fe275aa2acec5290c2892a0a28f6b7e546a89706965d3be0ea55a664471b03017a3c4414c1c694484b58a38eda72091cbdb2160f699f5bd1f53549f4e03de3d7fffb080bc57bb2", + "835fa1bad1c19eee3d330f3e8eaff8110f226ea824842ca9996632b832a4509333ccff3ada3c6b9431273479ea1d0e541fe6494c9f053ad07d6bf9a4ca17d64fe50546428ab72fac1602637c7eb7ddf6ad081f6c9d767b4177\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 100de36f08403f5f8d3a42342c9471b3a59f412d641d402971d0208fcdc7f28cc5517e2d6aafc79d59a49c654ed10285e75f8b600f5ac4906d3716dabfd42785b6698147dbcca09eef28ee96c78699b688428e2de34341ee0c81febc6ed43512cfeb9304e2e40738a20d7b4847742f9fad3824f0cf06e437b3ec1061ce8aad0892689c3388ab6087adae203e23019875768bd53a4568986f9cc91a65a5e5e50c0ffbe07bad0f002a03dbb3b3c61647c35e23d8658879956fc23d5591a6142421490cfbe8e12f0673e2e456afd44b6f463ef3d2d5b51755305ad83181bca08f14b2a702e4ef2cc0786b69d9188714e9a4e9a1853011c515a22bb1789c47da7331\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = bb47d730bdcc0fbefa8cecebd029150fe5d3c967a429c40f16b48c8d07848699a3ab5d68ddb32f76e0e74e897bac9405a1620dbe9ffc2e0d653924bf5da381a903a278ed7489a62ca5b94c7f963a2604d5cca61a637d43dd78ab44314b4eb3547e2e4a72afbabed8cc8d48e23faeb5eb036c42d542578c68d72134feff3cbfc561348a2db48032e08f98765e87dc76600504cb7217fec04ee9050bd3766657719757f389c0b4f0bdb2fdeb8e5757a3a9b2391ee6eb2e6fcfe95764706c0778e4f0f3c7fc024f356f999e5f50c637ca9be7ff20f65edd5c9f6ec869c29657b1792225d8a16574c183dd5f15f084e97a9337e53b56f5d7bc54bf5e031922959f48\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = c2edf03b946ce57141fafbc89189daa734d0f388c211a322ad4ad9423ba5f31699abe68d5c03c0ccd56b1a39abd3145f4c0d59955e6cb502d6720c1af31ec511fed541e1a66761a20422f5490d3dadd815390a01da616ce4d7934c68e7b1c53d947803268d81d26429df505c22578f55ae0788cc619567f02237368258d2f591b51d61f088d972c40e4fbd4f50f72a674d25a1cff3b49edc9019ac9945cf2b828d4345398b3aefb63c9f0497ace4b7f9cf6c087efc93802e1c19326585788df3aeef36300f78f7ad016cd4ba6c55eb49d36e0d49f97e1bb8ae12e9d9ba66d18aa76812008eff83e0d7d45212ee972957c355307823fb692bb2041e6acc81902d\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = a7bf9e3d83a704bc5d3c672912a883d379f18ad0a8480c8b062b05def52191ecc81b2c6a8f5783ca3b401cec23f981f35246e3d45272ec73ed416713a4afb104f344dc9e73c4af29948dfca67f245815bdccf4491c5ee7ca2827934db728e08778eea48cc82da3ffc7b94434d2ce301e801feebcc39a57bc7450ea29d1013c31f716809af36189c3cdca42e78e31408f32b98dc79619628ca348ddbef3f18a942387b9479dec0af05e382ea15bf0280a9027f7f24a3150da0497a13a8f394070515c9be5fa0c705c012415dd7b4201f2ee28af50178f59e5064685d75fa54c187a22f2854051d6084894fd902e43b20f18d14091cb14804fd9e51dc681d1d9f6\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 794bccc669c6a853722db8e7100d5a76bdddd5997be5ee52bb6b30751672566da38fcc38fcee38be9ef3b9fee98eba9818277fab9367e3f024cb17babf71a71b4c03619de6bf25772b64e670102d5eac40c61250ee174aa802277a48a7488ce9582dedbfa941e7ffc6791515787652964bfbee021da63879251de9c89b9d9b63c547253c1b539d0ddec1074ff864ae6360db0c60492c5a992124593a797e7c4c85ed6bb873d5718a24df180f0739495562c8a522243bfb8c6dcef4bb099b7fb42ba01486e48b6841cadf7f8a8294c0234b779a8618945d7d557238fb7153f9f3fbaa89027eccaa49c75c583fb5b2309650bd4fdcfd3d77b9a181915fbe009507\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 3155ac16ff4b2c2e256d01ab5adb8eb7127076c92fb72d9dc30f217edbd10183a15dd8fb41ea074dcc27bacdaff2a5c58193fb25a18f15a98bea320cb52be2031f18b247815599f43f640121f91873d8a61cfaea011eedb77474bbbf9b15481ece1b0db5b56049294539168d6000c36dd0c35d11921cf5df1a0eff4cad1a32678700a4433e5fc90a7cd14a1fbc4f819e8ef74db8474d3c1c1aeda496226e8b7e1a184277a064be61e932dcebe94f366831f54088aef277819cbe29bfce1332e4d2cda509550711a9edffa9fa36c1dfaaaccf0d8a67419ad9cf1a5421a2da4cb2a96b94c0aebff1a64e4a932f6361b50685e07e9ecd23634d64a7610def333a40\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 2df84b7d330dbc93c4804b6112d997d012d1bd3bc0047630c9c7a97b494e295e25b63d5ec98a62878213bf0d523f7b8f29c5aab3fb6ff08d336cb078ac9ce0c3be123eddcd83ae7b8189409f4db89ed764c8dfa4557f95630065e74073bc92e6a725550f19957da5cec59402f82622b86f01f92e896247e80a2cb876014a6decc3cea0e3ca9290eec17f3ed80fd54e2a0410daae5d9705dba809ef3f2068038db7e74d0b1cbe8e1b3634fae69166e0348c9b1fecaf9915e9dd09cc8017b66a2f3d4faa8b51099e69e4f68728c223f79b32bd1bbbb01b9ac4ef18e226b9934290dc8e88369041624396f4dd27f6f570e18d790d29a894c14c1ab62c59b81d16b5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 6995411d2531e2142f0d8bd65d41d2bf17c3f8b74626ae10c84ae86ffd0e53943af5155944da2d9eefe255f92aa8c4b29aedb9851202d93b36df48cc0fa6b70c79b8c3d5bd42f5ffcd1ab9a223b1126c2018c0628651f6c23d5d676365e3a5858cabd99eae861a3e91c0d8136d9e6dac7e95e4e1c6201132f764922b2beb9a47fbe9d5ed12107aa113b50cdbfbeca7ccfe9ae5abbfbbb28804c1f7b155b726294e6b0d77b1e845ac80c1b8e7936cce6229c7202d9be49b90c1816b179012263a64fced7858f52d80b8565ff2b0d7beedfb6c6bdaead108c19b2007b6872e83870133f52fa0caab1842e72be8f9a3d66d9e34cc16a650c69041bbdce7ad707878\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 5abda3c551401f34bbbbd1d4fc754b3bef1278a4c7a349e297c89ff1d98005c2c230312b998e000926e11132895d2c92b9d91cdefbad259528e1b95e5692b5ad2a60b304434c75ee9ca52a2135ea626b3d0415495062b5433522d802a370aac20123f8060e258d6540debfc200247bc61dbd72bc00517eed3d6ae66c064e7c5bcae2187b152024e8d092664bf1883d9fb64d39d33b350656236b92611a2fded06cf27149d479196a94981264a3fb4763e34afd94550d73615257cbd75ffa421aac56d79c76a63231daf70775cb510892ef88f2472ddf66ee7127112d2cca7006b3cce968538f95250aba7a914f1f3074433be80ec762ae2b35b463babe9d52cd\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 1aae5728fbc6acb37194eab4cf6de62c0d8229094f0c559c285c86d9cc2387c16639a8f567ddf7ea388f6e3785dfce3edf8b3dacc6f6b47ca90328648141623acaacbc02b2440cd5f3d5c41f7537736d9cd5c7a297bd8f773ffc2f616282084e3384c445fa3328ae6448232673e1c1fab93cc441ba6817099c64e22744e23c877720ae09f1405ab3c05837a80bb8f8c9f03476195d1c8fbb8202ef359b4b33911088fe4fbf601044702df98d395b4f2c19d7cecbcb8a544a8e50fb38135d272ed2b8d9a41432301d15822232b361f077336675c36e157d992d2f0a2a467f7a40a1b899ffbc1a310c92ecfa631d03f21a459310c05cf84a0a2bf58c93178e2a72\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 67bc8ecfbd98ec151cf04de90f1ecc3da09b7f94dc7f8ada3750c49de7a98173a59b908a09df6877b3787f1b74a5b456f92cddda3f1f14ea05d4531725627a8003773d0f6f14b4dbf5a06690f9d8b966e473741cb695e287c1f3c60aaeb01ca74e673f080928793ac06e609f54e4214ff53107cbeb73f32073ad771566fcefda28ffbad80a765eb52e2e6065227f21f60e06dac7fa34384968aa2d355184fa8202762bff510315ca73a93daf910686d36b77f0a4a9175874eda4ad07023cff631450b2d2aaaf99be755c36ac2bebefca2e402a8e4994220ebffbe080e84582c3f9ca283546ba8b9fba3b7aaeca60d8b9d61daa87940b9e500fbb47f0d6bde479\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 2aba9ba6b55fcba1efd92069966c95ed8b567213bef9fd6bba37a7b7c502f7fed38c9cdee9fc1c221bd651f1df6f1a938a01ef80a746ca9478ae00b7ab697e2ac311425a38e4384002dea66d9824c79b56f05b00bba5b26f852a7fe27a869ef101ca73c1bf8951edfe60da5b5ca9650a2bb04640026720b8c8e94e941b1f6cfa3e9475c2ade8597515ca64077c34e896817fee30d8c80e9b4802b5c8605f7597e7f49025237989bb253e06ce5673481d36ae7f70103a4457624dfecdc953207102cdc2efd5d682907fc4812a31fcb55324b6ba2ef697b3c31cbf82a5113e1ae8fbc2afc8d63a1ac9c3a54a25cbd3db54e934402b1c5b07ea445e4d21f38ff790\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 8941c4670d7798f1a935da39de654e7763329afed53c9ad2c2c6f7e8214c", + "19e8fb27ecc137be1e54b1d51f6ece4e951fa2e7f4e39a3124d9298beae8d2ae35243b83d216301c34010df33faa631b50f87fde7e4f7c34436f62df2330fee4366da95ac2bf891a9fd4fa850f7e15430b8c966ea5bdd78f5172a27df1b56716e1260f71dbc42fd4fd0b92b90e9de67f8b4ff47f20365153799ba212ffd601f0f7e674dc532ccea5619e039068990beae5f10d39e5d1f860018d25a784665d6ad50e06e59386e13b6da201980fa5aa3b642527aba012269691c773484ff2fee7a1b0a1fe6db4f1ffb1a7da8464320ebb93557c5750bef6794696b3022ea92d01bd52\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 956180f6a240d45f212d6eecc906477151f0af704e743ed7789c06baf8cb4c3ab00d30cd0e13a77f1905ef37e55bbaad3c7e80abb5e64f4ca1aba2861d98f504e3cf834a2c669535001b0ba494e6684dbfc2c7f43dc14a80ad73c79856d18c26f5c635015e282bfb4344229d9f7719c743baddb89a2f64bae603c8f3da5e07d09a363a86d3f71b7c038b939516e3930a181f6b00d6e8171add3f68d83c3d82a34e56868c84105afbbeb473a38934af4a9264dab2f8b3495e7594a25df693e71a5806163f1c44f8040aaea20586edce9050e1cbd7f8a2c30e40db9508b66c42f21a9cbb54a4b228455b05aea9486dc81233679ff3bb13a463debd8ccf55660b02\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 000054a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd5\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 54a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd50000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd5\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# em represents a small integer\nct = b2ed7a397f2245207dd9db69744a196ee5cad1df24e980196f3e9cdb69bc3db3bfdd4ec01780f7a063e1daa0b670f0185ab9c19f37462a1fa76b50a580f9c919be1502d3cbca99c24827c738178da543e0c2b7a8714471528fc54db03921fc9558017e01a2397d9c31136000c17b558b72584a1b25d6ee85340e99ec4ee7163e6f205cf0c8f3077050efe8a244bba2ef0dd2c1d71c1ff6aa76c34ed678d343a644d6b03dcbb0b1e176c18aa952ee1a95592e9880d82a1fd4ae689a9045d90ddb95ebeaf30e35f7afeafb7a127695bde67a5e0a79277db6769022d13e2008e2a1205d67f8776f0f99571ddf73bbc611e3e189223f1e62daedfa12f4a2b0cbf58a\nlabel = ec04b8614d294a9aa508cf5e5f0f29ba3547a24e4c6bf37feea8d68e00000000\nmsg = fdf36d511ab761a3424c296760f4c8124a75896cd8723dac73d3684ec27193a22113fb6e6df10b5d34b906fa8b1503b672a0ee0498a0c6c022c7d4a82a2c7eaee28f7a38c9b53e60b9473ba26c3db70480ff58291ca5bd5ca3ed660337e5b08698937ef2a3008735c097e79815ee74634bc13d152974b54cd3326355cda4a97d1e6aae770028678d51f0bf04ac5765ebe78719a5632f58f5adb235889cf900a7cb6d1ebdfa41af651ce05cd16e08fb62fbf95746a3ccb13edef8391ef9f6c996939418289d27\nresult = valid\nflags = Constructed\n\n# tcId = 31\n# em has low hamming weight\nct = 975e78a8894d8f0bf47eb4b6baad70b000512823ad93b370c01f1959aaf252471951b0bb941dc89e6d552ffdac77eb6af19b407dfd767f4f608a82d0f8f03d25276bc2dfa69b39e2151eea0fd6505a997439dfc73fe9ae5d1c95835483ec4a41a1d7cd5c9446beb7d418302405ef80324fea76ac32bfe1a06db9ad6d651fbb821a025b82f78197d7aa3185b785139649479e896ad382be558dffa756c7b09b28925f2c25897f00bc4be23f907a5ada5868929dd72a1fdaae110c293ed039bf6bf75065c42870f9227a914e4c00a14b58f0dbcd0f5fd6c94596ad69a89d28a8e318050222fe1c288e5d9ff624e97cea755a733ca76d4564875f09fb2d4a4b0a19\nlabel = 8c9ddb95c6f32d5665a1d95cd8c6fb17668ba638c482e0d539c28bf800000000\nmsg = eb6b68854f2011f6a2fa9d614c12f76f5cee4b203fde576dbb232d69f7b9301154d7af5c8c9d320a7456f93a84dceb152759d3c505cfc95204a618bcc5bfb367f056b0fb95c8334dc354c82036e3b551309b5124f4ca4696d481cda583085708796059853abb72f63e59a64dc28f194356fc9ce90bf90aaa50846c50c14a4ddc6b8a71a97de2b8fb16a1521d9ff6a612b27cace9431d59038669ce497219e934defc48a24b7916b75e18e8dbde1a110b5a4d3100a2935b073ec3cca440f5d369572581894d06\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has a large hamming weight\nct = 16e4df71edb9cce0e20f9bc613de0958325747cf1e90d4b1aaeccb1cb9c586a9896b04e18bdeda54f82fa113e54e05e10bd39792ce5d3601473602b0174ef3d81040b9ba9a237de71d255882422b1a7e13ae5d7d50ad14c2054b0734bda9f2c42ca169e89fbb1072f4819c6a13e7d9ed6adce1cf565ddb5885c17ce7200c795f73b8a0f6b1d76b7f7bdf03291fce95b4ecc8f56178f86cf30e71f692c53cec7c091cc619a5bbbb2ea063bf1328a3abc56fc61dcb5ea4aa78ee1075038c2ae17fffef8a487b94efa62a26c01c05de83e965dfd19842fb586b4a8dcac7afc952d231be7ac0ba96a7d63c942cea6736ac7f2682023c9efbb312157e57ef082cb9c1\nlabel = b42f55b1895be2324ceb2fd6f40f469df1f5f3db556d84846989c81300000000\nmsg = dda76849a089db6948515c7a512b285ee8fc97c5b41ff7f7d1acfcd1fbabb4163916e63656f85bb9e285727e22f03d15e93e0895dd10bcf276fb8fcb21ccd0bc8ef2a8f29b87780a43622ffa7d92f5ee6dea280644027661d96d9ac818e91454f68994b11ee4fd0e64d3be8d3c14653813a704f0c7410ac1368ff6bd921ce2c4de86ccac17ad58dc2495129c8e3d36f141c634d232f2587dd102c609b57f0ea3c821e620e5f6437b1bfc1d99f5176a79a9f7cc7ed90f6012e54ce1cd873f2aba6dbbdb2252b9\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em has a large hamming weight\nct = 7b5e8addb0384e472da0c2465cb1e03bd4fd865c148850710b5cde1892c0834", + "458ab2429e93ba375ebe1fe26cc81b8f991f0d21e6372fb34660ca513650fcfee3114aeb10855b9b3e7713b779687d0bab738dd24792b6261182670bd09cacbc7a26655ef299bc715a51403744282d0614c9182030b51c3000ab17f98e604eca3f7edd824ae52607bbed63f14717f771374ded2b5a0440d1a2edf74115df754a5c7e1368326f90e245ddf73916b6277f73d0866fc4657a1b4470cddaf91d3d297bfbb04e03cbab5d180a1e3c63d88453844c30d91db2f458e54dcc7bee78ded8ff29dce2d07fb8b5256531fa21a95524f5f8467b5ee2a2d4061676eb8fb899891\nlabel = 842f55b1895be2324ceb2fd6f40f469df1f5f3db556d84846989c81300000000\nmsg = 07f559e91dcb945125f58eed3cce2d841ae22af2cab3b8181eb33682c8b712922a911f397cb92e66b536246c3cd17f27605526c5eb17d4e77bf7509dfdde05fb598e3b037e613804220ac88b84bb39fc8f885bcdfd9734d64fac27e32bef6696c09fdf8bd5117f1a71f5b792065d2a466d9e33a36c84b0bc3ea2a99e2a4abd23c50bf71f8dd61f8e848abf5932c63136d82c6957b6cd80e14a54d43c96f670266df22733de9e8ce1f399f0a123d7e643cf4e4b7aaa832a94aeb9d723b7a4f8639535cf4da088\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen123 = 21224; + +static const char *kData123[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha256_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 1\nct = 8e6f127b86ed4ce03bea0242759dec562f3c0e475d70c950bb9865c5a00c19186487f6dad25e6ed4600510e067a8679cdd63f7718af92e5cc297d74d5ce72472c404083b156924c39852b03fad90becc3da0cbb1e80556b4010e9569c61e3b188b9dbbf58f779d3be5a9a7d000ab596d69c9aa48fa6c1f1fbc5be79ec39e27b7a76191b681a02d61cbc5924651198bdf9bb7749ab4a515d1ea1d9d32dad38dc703228985985043c152e2d8e918b652d67a40c2be1e2c6cc2fce11f6c923714b11732d8fdb1613c46bfcecafd64f9536fb7b41816736e3e4b62a1dd6e4c26e8a8f66d99cced308127a39ea1f21a6d7886e22aabf3ca6d6464278d930bf60f277f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 7a896725e0944db789d4caa96bd8701fdc100a26ca12e45d7d9a5f5599fdec0a8ca5ba9e2e0a5c743d2e82a0006b915e6572e066c30bd794e98fe0959519f418d5587a5012ff9b0c545930e3065cf8deac440ef60715ecb8de63f2bea7fb80bc81cefd2f5b979bf0d32e07e615db6a363f0447bec068db90a9e86bb4703098b3ddf1bc34b2803930b56fbb8e026b8691248d8e471ed6dc0a90905f96412470f1002ab2a754cda6dead97c5a05fbcec5d0398c1561876bac021ec4cdc6915d929ebb6fa5ffa1d6e37db99951fa19670ae0f8bbe18bacab54bebeb5ec2dfb4a0cf69dd7077b3229fd0cd8580fb56fa13c399364e2bdecc1a0bfc6eb67f01a17fcc\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 835a8d5ab336e2133ade3b3537dbcd908a49d3933d0747e6c567e6e4938346b40a208321669f82ac6fe7055b4c435c455772ad9b3809ac65b5223c04329f232aaed6412bc6f024575fa9eee9d5f813e384a07289b9b203cf8cd7e2bfadf949aedfac4e08705a17e4db719ece091d46b264eb40befa199cb27de1a744c96182483ce84808686afc56e414ccbc2f219057af1d7e23549f44f7bae74f135254cc965227aca4ecd7b4571cd05cb2c99b6fa55cf7ec9c4cc085cd0ad0ce90e3e7f68af2ea3e2a6097b81a5c5091c31026261a479d46f05c45ae016e86029dae86c67afba8b8b6e8e646a94d07d07f3eaf8ca177c6c0ed05896971c0a911c846ffbdac\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 822e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f4\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 94712359a945bb4711cabb40b95020092c43428748b10e0f11189172d7052b28401d96ffba516a9d491895e9e95308562cdf17953a4e05bbae8c8cf391e7c363506ac86d46932b373963e9e661e9de2df322719e6369f3ba68f42bba78ac932f7d2333759a53d4d18f5990b18a6d4d0af96d9a9451b2d5a8c3f427f607380997b5b2029f58f04301b52c18cf57c2a763b546a21b8da9627070a1cc30bee0c75863b196128988ffea683a4da5203924db470a53dac36a3fbec3dbd9710f85ff6b0728a692d640ed7ba67b7e493a7b95864a2191f617968ee1efdcdb5b015e45da55086b2b382a380cf66bc61521b2327a6bbf247ab7635da9a48acc119e867467\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 610aa2973bb0d67efc725204a0af7db852bcdd8227e309e6a523ef627555b7aeb783dee396934b61141590952801c027a559a3b7380abb6724224cf825a9c74dccfae278719551bbf0e6a8125d64bb437ef78c24cc00a52fd9a716ac20102b5a1d8fbd445d9a2d4ce2c55a2f549c2fed8e5932cbdfc8deb907d973834c2963720557668d61e3f2e53564d6db7b41899873e3ca66a1b5186a8a545d27915aa466df12ca7163a7d8137eea71ef80690d229deb089510567f24756f0f70a1dac609a57a11ddc400af943126e5c5b118b76b769dfc1a7a6ec748b5b906baa0f0e188b1c6fdbd6bc307af0fd9b4602ea62513430b3208e3d690707fc2d28ebc432388\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 76f7b6e1cf45b005ad58b5354cfc5799f74edfb27f27b414b4d25500a1ec4bcd46c6b65603b204f69a2a71b8d1099ce96c8ee52e119ed9b080d86d82789e3e5777cc5f920b147126ec8612b206bc5734e828ac819f90ea7191832d570d376df2c4e3eb5070fd8382f8c0a9b89da928bfbdd24bf1d17ebc83f9237a51352ff04b6bb3848cb6a9c195e5369f4b6ed9b4cc166377f88c7e6db6ef78c0e1bfbac5a3825867af9b22689b627dcd8d1441b515b15b78688b52b04df4157a888aabdb9e792c65fcbdcd03743fe45e637afa7e422782e6da58b95163acd59353e634337abb1c15b831a9dec79c517a5be0b4ee43f7544a2e9bf6af2bc53b080c60dc2bc6\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 338514dc5a9ce8f20a5040f26a830018314c569249d540e2dec247f4ae925f6cda2d7a535e4e20e5348bf14f6c87861b37fbe4901758dd38da7cc7cc050edd1e208acaf6ab2d332a6482c4e5af4cd4c4f1f9950610ff56ef910b2831e3f23b2b6d3325e8a9f4fc50e0057a50af5db51ec2a1f78d0465e5f54053113df300584f458a1ebf6e5b1358f2454cef3b3e4aec9bcdfdcdf5d88206bed1e9a4e7c7c8dc5f087d66103bcd28e94c", + "2c233eac1706261aa6aa67f044bb06532954d91653aedcd58e8231a81c52aea96bb4ad1adc5e3c2183ea99247a4af8011b415d618c67c94f0b276bdafcddc8b646182989c1db26da677bfba285c0ab76c82b80a638a2\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 31478424e4255ab21a4d9a8c5a3daa8f0dd5416f79c2baab2fbeef406f76c493cb436acd030e0bc4d09432d9983860c01b1c559ce095b7d91761ac2e4bc5513c68ae6bdf747d556a84ac07133233368fc92d4f32f9bc9fc415c3d0dfa87f84853a828fdd103b8ade889a020f965304cae5324f78e36c72cf5d8b94496a6f48b03a9ee3f32fb435d48d31002ace7d212a108fef640f55e715a148335b396e900ca3fe96a0854764b54c3187e37d9eb5a65b54ce6676d3747bfda91ed2f536d79a6976fcfbbd683ecee32c5a8dc29622f789579a370eb7d66a1404a376a43ef584a0e2eddea06fe60c28ae08b7d1a8af26b20e50e9a8b3f8654e183219af3dd508\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 90689b191d041a9bc69ea93b26d04236edee88b8af6c0b29e9b438270b242dca467ee4874acf7f9b6b244c3843674962c9d0d67fdb7021aba63fcaec2eac3b6b5114ca4b242b08a1ddc1dc671b403bbd5ccb57c7f6c87cf0dc995b38aba6fe635f4a727f6b164bd36a5ff5e7b91e42bbe50835638cf9e3c7a5397f5f095784c3dc5c493ee1a22a9e2b3f28c71dddda2553e269d6e818aaad196b22e670eec5832a84a0f89cb9bf5d8f69e35f34ccbef4037e9a4b6bf2d8d3197bd02acb344cbe27006efb73db0b9d5493dcd14b95b934afc2768af27d1b3b24de694fc0f00f757488d231e3e2cc5be77530f512014445889600bd1a265a4bf188f617b9751783\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 9edf0e6ae25a3e7b6f31fa13a7a31db0e6ce2faa624c2ebcba9669bf5f205758e1e904a9a738bdf430072b0563d1a87f16522811d645cd9f85f13359d2961bbc583a3b15c66ab5a0d1373c2949261e3f44c2a1a88e25190efd30aa9fc410d2d23148c16daa90457bf1ee77c2d344525036e037ed473275bd535fa961a66e47072b586915d85d3d7edaae7945b5e7f08fa15a4d08cc669b3846b1ea02cdc3eb9bc5a54aba227f9434f19d28d06add791fce9efe2171e2c676bc1b09bc163798a1a74b7fdedad993dc47c8323cbe3aead96d0d4e7e494ac390200e6a79f96d88844d59a3d78626b0797b902220874e6957e6c214f3ab7574c6e476cc4262beda98\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 9a4a3467718bbd455baf312dcfc65eeb570d286bc88ffbe19d2f8e032308a50acba1f7951f507f502de91c0ae3fa4708f47ba2459c5c62ca667fde3131ec16f65a221a63d1d27314c54589db50a1fdfe44fc7c789c041ca0398a0e648b1251fd3ea559eff450ba92d133233cc1779a2094e23a6b88f0ad8ef1e0c6ff42d9be754e2c9d904dfc75124b3f34b00e56087e672f5eacb98f27b5f0fda7f67e71c2e3e2d98ce379872d8120aeac24bc5edb3919a196f2790830b615806fc0b5bf03e6b60fbb36c9b202a9972dfb71d28d168f00f698960b2e1cf6a6528060ff7fff91afa0082bb9a618c5a05206de8bdd0759cefbe16b300a1b51ee12809551009bf0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 008e70553d2ab7d1724c2e422ba525ebed71739bd8eb968c65d8667704383fec6432f0e071cd0ad71809a3fde92233bf7ef0144dabc688dc1beabcc829c76b3e418b6a994c94209e872bf7e7dc64e6ee8cac7a5a6ca3d40a2280f875d88fbbd59a2f5afd245a5b12c3fda1263c97bd1c5536245d0891ebc220757f6a95151cf06af744840cf2ee8610150427ffdcc619de7e0b0c8519c2eece9c45882dcec3bc4822057e5be017d17cf3b1df53c00414fc19fe478e67abec5b1b8e0462ec9e8606994f60433fe15ba3652719047d54089c9193218077f743b71d04990705c663817918b803ef8f362ee17522c3080b97a1db100291a70fabd925de209496209d\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 45a7b98944f429526c32ffd6770d2cfa275eb81a8163d0662e1e418d9a093736ad0aef2ec70013f15b5f240336a0c2c3c673ba265125ff6a3897a91a749a2894187bf7ade153ba1491c66c52b5dc67b3b163725dff9c49e4f36d901e1e9d964b285586777455438f8c001caf53e013720ecb14e1e28aedae25beddc5f42580b9f72bccef986ae0ed3daf0435838b4c2d55bdcef2341f8a08f6ef5c2bc4194eed1c1b2c741c7c9041fae5c8a48e90a469807750bea3a50fb7c848199ed62a6d0b09ea8bebe4ea6d433a73d6a34e31cd9fdd21622814cab547f01d4f6a626aa180e982b2a89977140762567f391ec069d85977a9469513ee60e7a9abb54e07b3a4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 2f782d8e57831158d10ef1fcfa7c1fff1aed675d34bc49656a11d97e1927503e189f76bf4e335b1ea0f53b1e909fdd5fdff67d7e034b518da036c00dba897006031af4830863fd11d6fecec254646d00a2bfc2db8cde7b303922c703885372cdac94d19a296761850dd582c42ba5c96905ebcef582442643ff8baa83911817a4f00ad7f644acd3fef86d43c20c8f81580f044546e606c87a5b073ac860462f11a004ac2fa00f775cebb98e20d07bdb3bfc407f2711267889b0fc365762272276d509f4a9fa94b63c407c0ab98b601837f6f5d0e5171ad86b5b66af9eb94509950c42f5fd7cdb0cc9cd3d95a96f852b5941eb73db45843ae062518044ce18d200\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 3a88faf7dc8658070703eedbaf36302db8e43aec4f1cab99a39637cf2221f5feb0f716d4fce38903532055f8fb6f9036a2e0be53417736bd3746a04bcfe47954a61402fccf19851a2299a54d3c63485d69dbc52095bec0838ba87eec636251a2483d320569d7e62da616dafe0b5f0ab8aae2b2f943d6583dbe35e2047d50eb9b3ae9eeea5cabb580bc34628fe5d00e6f5e5e9a1b5db85d446c276749fe47ad1c495428677e33698ebdc4da12972bcdec64318bc7814e8578851f1905a6ac0874af691da2518daa47b9da4c9f94e832d9d932b5285ee4eb5e50072590f9d3075e76f1e3d691269d76dad090d98a6c32aed8567b74f4dc343bec1cd5a538ca796e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 36b2dd6aae05f5cc143d28532d5e9c2107cd30cdfa69c670004d61657877cbc80e619d2673ca3de8313942f1fbc2151e7b2cd2ab86e91f99a39af44864999bf1037504fdf0561875e7b713e497da2000220ce615d933ad78f04d5ccdbf050affa72953cebe1b52fc2f2745da7e918a235d5e0a55bbbb8fff755704adf305ffdba10fa536361ce984126f0f8b72731218cfa4ad4c6c007a2d3b9329916393a9133b80c951a5731f62b1e8eff8c2c66865260e18040fc603b2479aee5ea762070c09af9149300c12c9bca17f3605703b40bb914e8da315d6db1062f5766cd03d9bafc0cbab492df3f2c74f59a65e4d3b3eb26519b6cf775239d370174032e2c0ed\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 7c440d6013a18f8fe017be3f55384c3b98e08a0df1d71b68e21c8ae75774a80584f9708c21c56f78d0d9bfeb0bf72318abb61c8c89df56db67261930900a1e6353b7ab4615bb4c5fe524b591e6383dd54ed7740f0e0a5f64ecb497c3d503d4d7fcb20441ea1bf678a2edb792dcd4c5a6c0ef570f11212edf698b242c43ebb3081ab17f6271f28c45e300bd367295195db3f2f160f7d6793192dcdf15049e89113bdb4fb526833db559e42f939229c2de0f1d86f0c1b59f6cc27f44744e227b373673c19d0c20c5298fdcad478d2bf4be5514015e5840a5a207f2c61188511d4513a874cd9836282984615369ef4d0d172b6d50a39fd12846f0c0cdba4f8a6c59\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 540c7f1adc69c34a2c230cf1a22a81f8a04bde9da4f844008074f3f68856e2f09fea0ad1ae62df08afbb99b659db9fffd04f940d4f764829a055908a13b59263264a854fbe97eaa251ee5073682fbd7f2316e9ec34a403b05d285e2852a574a25a29d1a1ac4a6d85b74f833160aa292aae2c90f169a83349d58232590be84533448d63f7565d1b3530b295913d7107217d6e98dbc18435da1be650ab747c5fc80bd3b6b3e685bcded82b901b8b58dab7d3ea18096535a9c77c3144e93a8191e0eb2d0f991af331a03c6323c59a45efd1c87a73dec29f9f091b7f7da23f4d7db399ceda5061445e1374eb75653d8422d32c4f36557ec66128ad1511a9c37a132b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 610b4b5d2a85de6825ab293619162335cf8bb7b234e2b7e3bc898d7123b30f0abe764a0a5c9ee849cc107c6e9dab86cce426b42010719a05096e3cc7e0ac1f0133035756c1380ace2afee84ea82de9b8f612b7d292598d8533a8ce2848ed6d539b2519018806a11318317a864bfa2f2d55db110d7477d4f4f71ab9261477c7d8485beb1c5eba81c52529f98a5430d3eb2f540c7a66ecdebeb1d75391cf1f2d99be18967fc32fb02b515d10f60c20ef63ef6da45f78ec1692b131b2dc8c1b337e78cf81976d8e8908b4f62c0767be8b3a4cd8b3cd2f7ef8b9454eff54795a3edfbfe21cde680dae88544d88624ea27efdf72cd4bebe4a86951e5afaf6170a2398\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 6bfe4b01a7747e8f92a4d9138a2ef034b0127215095145b36e2668e10275c4ee9bd79e397f28bc9422", + "75c9f401e81a3d7f0b6e3e191026be641171ee916af6bb4ddaaa20fbe55be2e251e2aa4f07b1291c955af87823e2134fef3e843c8af3bbd168344176d9fbc8d11ec8d8b410fa224530c98b84a01da048b7618c944d8cc7b18ab17bd405d262a1870552e827dee9d1a8196ddd93975d4c487e819e4b2e0cf5dc39eee5670e249437c5460dc4684794760e26244e83e0017e3cb37a1b5947709f9059d245c5e3ff23fcfe3b101e496e7a222bf9883f2f12e22b0a31da932f6ec8003f13a70050e2dda32c01ec3fb80908593bfeb2c9b06e0868738d545475\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 989d2556e8fe1a5bb102c28190c8ee1abf3ce700857a0fe25e648998daf337bc5cd835799d86a3b3c93c7ba7fa9d7feada59bfe62a6f76c694d37aa6e741c1a6a0f55c8202b3649d9f134c3f711b9dc907b5b8ff932379c3b24da57c4684c99cd94b5f0dd363108c06f5b6a7b6f7743f46f726d064a4cf2dd63fe0c26e02b2950db03903f14b7b1a22e1a68620384cced1e54efd29b977cbd58186f10d46d54964ec04f29b8ab3c6b58cbde5630465ba3410c814b9da9903f8549c8455d3f9050d905ba75c8f7feb55a20dc996d040184dcdc3019f841dabd657b07cc0da579f88eaa0298507ae6b2e5b8b0ecfabc254679900366ee747831760ff1667ac9625\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 0000822e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f4\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 822e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f40000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 2e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f4\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen124 = 27137; + +static const char *kData124[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha256_mgf1sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 1\nct = 6e62bf24d95aff6868afec2a92a445b6458f16f688c19fe1212f66a63137831653cedd359d8cff4dd485d77dfd55812c181373201f54aafd65730d2a304e623455d51125d891e65d97fce52341cae45fb64c38a384a1c621e2713ee6794633f029a9fd4d774f56551eac2176162e162640f25eab873a3451c475570f19228bcede4c67c370a75ed7fabccd538c9819eff182481b10d42f1a9f6a05373b8cf9b71818d467bd3b8ebacb619e8ad42916e600c043effceb3855bc48a629e60ae886f51b2a7876b0e623fb2ce68af4b039242f963adb0e4240aed0ed07f65f1ee7c0cc77d210d0c2d1dc10c81b881aa0c9c9e9499665cf2970d2ccfeeb3191531765\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 207180c340658b5154ae45d2e4e7326a0997c683a26b595e536a29333c4b66149af85e029d5419a39e3a147b221516ffd86b6b4b66c3e0c4c49fe8c57a2f5c37b8704b9b592b80db9cd788a4ed51ab4f0a1cbed63bd18d1f06a22f225866b0c2c417cb23473b7ba4250b1353bd2e5b4f0f937cd2efe5fa38db3c295f7748b970088657db4aa9a76e1ee6fbff166ec1861d00d085326c7384bdd1bc2f400d4f74dbdfadaf3fdc46073e668573e02030b9eb5af58eb540c66677a771194479ec0098d858a2ea45d0ba1e6b32440dfbac745000554d51a17684ca964b02a74d479f1d432ef763ef4059715a4348cfe36a215359712f25b6977903be4adb92febbf6\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 5eab3f0741e63986ed647d53e1cd71df041986900803d0f99c68355d249a15a47dc5b4f70a191477654299e5a2731f3b4eec76dea18262fc696ac794e5f66cbfcddac4472c578e246c26707598055584540b839836b1404c5611ae558a984cee8fd036cea924e0be2474a940f61e0acc14fcae95ebdc59942a9ce9af9a9c81999f7f6815f057ffdc2533cb15d6391d1e2d95f16f9c04209c889a4c359c7d2926d28a66e2b030a416b928d2825627998e5191fb4983a6e65024262d94fc09187a2d78162122433251d1bfcc8e507d06eba2d229c10031261da32ab8ccd15f1c5f9fbf07ed158483d736a110af4b44d6a4da60d6cb519b4454213cf9f0dc560f2b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 0da290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 121196e51a3f4476bfb6adddfdeb3a25dad72d1ea315d652f331a43631ad36724b3d14532110dc44e407b1184618f115677b33751fb0e8786ba220cfa7fc3fce22822eabdd4fc2761c7f34a04e8f13c1021c31adc123a32d871f0da6cdacab9c020222da52afd5c307a6e55e4566944403fda426ee2c6c973ccaaafe2d081ed8c5b1dc00662424e395faed86c9ae19a3a95950c83d2a9ad5c7e7f670faeb123acef07fe7795ad298aafe543504d7811336b3e2ecb1622bc90599a185b34700f8f4c52a651d73ea57e8cfa80e61d9da61f36951c7194ae4dee3c6e67b5757a39685dd3fe01cb87620a54666ff8132e93d7081d38ddc9f079431075e96cca78f59\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 7ae8e4f5494393be144d81517f11baf4b634bb68b2f0ea9b30731035e8cbf4283c0ca99120f60b75ef685e989fecd7a5dc524cb66292a0ab87ebc61e67baca1a8aed99350edee045dfdd029406acb707d85dec9555169cf7ec5118d8f29d182f205e2859a8dcc5122bed640ad0ef128deb21785efaa20f92067dc216cf40c15bd7130e2c094131917950a816da814c5990fa6beed709a0218f4ddca2473796e1b44cff6d7ed601c574a784d0865d3afe5fec023ebe71bca881da5637e3d1d17238c20a5bd0075bac018f07898f74b9e6dc0fa3d5f8d0b274dfef3e6720d8396b34a81ac2e64da5b3e5d7666323ed7c56e8bdd179f3c6b2cf05bcac402513dd87\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 096958786ee7972050d67a9e4b69d6c6af7db7cc674386df725770dd29129b826e39552330104c8d71e6cc3a3014dd2f61b54153af51b0438d447ee939f9e3c13bb8b00a37dea6a068f6c9d27e848b1be7a1eeeb3ee50b78036fba95ae46948ca5b13f356ea24db10f60dc09e4b8bad8f766b668ef72524432080a0ce00ed676d6d5e354984b1078520412525848156d06f0652469f95791baa3d9a798ae537094f76f976faecd5c9ce0c930a75910c63dacf63485cb4b5e7bdbcf4d80e74037eaa1a8fe4b52930bec6be99cf6ac88cf5878dbf6859d456a95dbc34654eec425de84ca2a535d517403a9aada827e7d0093ecfc97ed056a7652825e9a45cb2dcb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 6583e2f176aa7e7f655d2c53497349c156c8851fb23325589e85fb83bfa857346caba222cdaa3234e71564154298c24dbb85e18822a1d5e7faa47863a64d76874a3cbc70f4d9f137426a344c473fac1dd7008a9973765e9f66c5b492535a647c273c4f78ceb5aa7ba963a2142f2ce4a81f804c002b9b2eabb3c75e80a3c6ceafe5384a544c672a5d28d32bb87115f43eb79775fd9b3f4a2f6e6a89368bdd95ef1d014877b60afdb1", + "234acd57653a65459f01b2fbe381f22a739504b4897a7e6c33b6349b276db6083abad9c169405859b800c812237634b503de6ada43013c1d86697a135be78a9784576d796d62aa7819e2ea0e2d902ffdd9cfdd1ae66212ee\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = a0443ba434156d0b503ec662f5eb5b10e20ad0cb8233720ee187ba986e4811dd312844d3edb26bfaf51b4b9268dc3c76072dd47c199d713c91824da23ff00481ee69e9d4cc543120fc33b7244bf0c1ad5fdd1ae9cbada7fe9a70ad0afaaaad8361e8dc4b3198ae661a84e275b60bf2ebb85e512da785d2fc3482294fa11967681d7bceffc08ce0e36f0a8af7fcfb1337186863c2c1c1b94c9ec9785cd3d94d15437c23b775677f3d29a4c9e52f13398fd14661160e5868bca97625aa6c7ecb07bbb479644def353f1f01a4c4100f9adb82c4f6a265a5ee962da58c3c042aa549c9d2de3008e7448e0c4b9b4ac8f5e4d8629873909bb995ccc0825fe87d81d596\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 26aa8e7931ed624bfd4077e3b83ec08de080483a61641e877f493fb7d0ae4dfebd4f05612a2e4869d20d440a64e928b13daa3b79da2ed674b99421df7e7f625a22b1c71136da27db699d3dd96e3364ee0cd2123ab6808930c6bc28a5dc307880d1ab4b03bcd6178a81b8ad52aafffbab387d40352dfea526abedca016c87e9e56ccc4c88e80f579da015b979bcdd88618b2a32ce072918b2e223535359f1ce4eaba5e692e6296b2140dc2304092ebd6f136a48092b3849082b57e70c93b54db55045dd6094ef3d2cfa8bc9e2fd2b1bbe0c7c603ad38d3f40c9eac8ae5e28cbbb031c38d93d3b2541d94eab3a1e8992a444ee4ce7b8d08c0b9a4f623d32fcba14\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 7efb69f1137d6a6e813b7ab75bf0400b3d07a442b88ab048675dc06b0215fc1a2e033263ec31a6c1d2eac56cb0470d69022a48131d1f000bbed70586b80cf6356465c8834daced7ea2a5ff8ef9c44d5ab828ffbf0556a6394752a4a28a70cae20084e1236f042f6c29de5cb34ef73acba5abcc7ccb3a26342701df3b9daa945d9fa5bf0b9b10306655e56370183f50fb8321f8f0cd1c72114791fca5df2166296b509b01a0b291c46110787cebe69d41b3b1e89590bc2f5e5d49ea24ae0f1207eef1aee54b9760553e80c5506a8a8a75732e92875025f0bfd5ead71e4340c8a9fa16dcd5a7dc96d8c4a7dc4e91f47a69366445c4695c8bad578ffe52bb672f65\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 287d7108a1c6e7a18acb0045b20c57cdf2ac03456b44942764a7a9e9fdf3db481d7e202e4c8d733b56b9c1e93d71e791af8325c9363df789b252a5ed0eddc79e76fa41c2cb0a35618398217a390a5e6d99eed905d5554d19c1cf4e30bdf1c2fcc5148b641d71b3f1977b63d232648ddd935ec9499a53ac2fbcac55f462e91065adaa018a39c453ba759bd68b454074153421e2ce75cf149f748b5b84758df8a423d1c50c880af863f2a6df3cd465ca36aa2152b5771f3d507f4a4dd9f8006d80eca23537092287976f218a90df1e16d889fe31e79f7309f3224f613e9b52479fe73b7aad915319a3b62a5936649f7d015d7b09f7fa9f454f78a7c3dd4bf791e0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 8b65065af82770625d24917d13fd97ae13247cad97910a2651f95800165b76cc34bfe06cbf8c31a7d7ab4f41e05c45a25b90c606378c8e49c95a15ca11ae37e797a00f1b2680a6958c54396be4e1ceedcabc58d9f136b36867a2fefe648a9758f49634bfbcaa48717a116cba58c27539be10c56911aabe013e0329645e8308423c3aa42e0c9b1f4b5f546ddd9f90bf4d007dab52ac3879db755e4f2b96db5cf01950f39076f261f50b1bae137be500b03ceff6ea1bbd80b33424f7faba5cc6b86670fcb7db1a9b3c58bdfd7b75ba9f3ebd34ae32d320c757020a7324df7d3985bccfe0e81bb7f61bd98cb37219312299b4f274b2c90c52a8e1790f52e8fdd768\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 356e91db9bd932c7b5726da288e2620cd79667c2e1d7aca562331ceaa6e4ab47665213ed75579abb147728bcff60787c95107f5be787c42e714d51627fcc8b4ea71c232c0c80ce6163cd0fbfa9dd7e8c1990176abc2705f4ffcf1d5c62393eab1c0ec8a653a90f27a968df8f4af622e96f663fceead8b0bf5dff65cd657a72b9c33265c5c2a8f7f9c614b9c2f8a95246970e6a778aca4b12552da47c274282ad9205ecd2264ae3c649597beaa35c141910e84233776d419448f55019a84e199a4867d68bf213f47b0316d50079dab77299fbbe7fe8929906461c1103a97c2b3f1633c8ef03e820ec675e331cd1fda8ebfedf541d0f2b571f4eaf292ce0ab14c1\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 5a6efdd2d211d50366885e177190ce1621ba110ee46530bd083ba76ed48992d85efd8f9ba964eb33e596e0c0bcb545f89e2c9592ed18495e8e5df1866fe30b27522a3ad9cf7124c4aa23f7c925900613c50b7c18872b4537a750419ae128e913e9a2d87c219e2cd01132972298028e54fe394ef9779d04543c72eec4c5732cadff0b954964706bc4085722b0c595162d11793ab29754837bf5d324e21814ea24b12fed441f20d22148ba5a987b6aa7c7d4ab5a33af8e6c9096c29777cb0d5cfe938a6ed5d30936a5a8f5fc435df14d1c439d1b9d274254e7b248bd20d21dc4652c1605d5a2929db018bd45794a523b217fe0a9a6b0704197ba8126fc8311556f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 52582e10264630e1584155f5e970b8eda9108a87370861cda12ee773411cf556db328c8a2a165d10f6f969ac61b170a75975fbdf9319d13c9535f30d621db19e41da3a04fe40874caf779c8f03bd5d1892e52925b183c118446ed9a335e9c1dc4519fb1253215e5f8d8ee6d49c0167af9d5ca5b1ace067af573e0be9a61beeccdac37b0e54f6b0f70576cb8a400d01136357a8576e81c119d3dd91c7b5cb343692a810362e1e6dc06c1746e071a903a2856b4446f10f78c670d617e5e24dc5c0e45caafbf8ffc4af6b3ef998fe1bfb59aacb16d98d7e389679939861a6722c4e29af731da99d17058d7a12ead0d3d576de796ad2ad596feada4c091f10748536\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 3f5e00347c36ceb79f400effcae92d331aa9f52539041c50dbbc6fd071912912692a16353378276a2c1596358c46f6232434a95a99c573d0b83e4a6e970a73e99ca13d734506e2a2a56744b1872bffd501a80ba7cf5494df6ff9b421cb10247e11d19ac9e60afe0dda87cb351c21ba554ea50b70f6eee4ffa949ae38694ef831020d4e599c6ff4493d07c7b6be06453b84143813a68dfe0fada2317a9f4040a3cf6308090b6bfaca36067312f41bc0c4c01ac00fdb5aee4395b04cdff82cb433b01cd3e70daafc7807b2f770226699e7535124a453f7ad2653bfb7cfe71e120dc37ba88a5be347ad134351c11ff1019b7e42d24b7a3890a8424fae53a10c0e11\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = a166bf7b5c2cf1896c0b924a69233a0a585bd47ed7f2330654aa68806deb0ff68c6475050ab45c691bbbcc58dbc2f5c817729e8e195ebd39d48bd5e14977abae0829636831655917fb5a758fb43a8e505d6ce595f625970685f7ec81cb5592210f5d68c6e2e1ef26b4ef8c92bf44f077e1d5099f379cb8120ad185bf07877979ca81f251fb81be0ad3c14f4d7885fcec496f80033fd4279b6830a20cbdead27c0967e28d1e06ef4bd7ba89210ec0d696274a187dc2f13212f5adf06e9450eca398325cfda73431036ac21b087d373c9f575c941f8cb078961176e31859a61c49baf8ff4f817a11010448d6a0e40dcede1a5ac3befa4c6e9d9d67d8e8fd8b6de3\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 75829ac4d97848dfba21c1688e936cfc736f53fde5b91d5330b63a9968dd4f51c2f529fd8d8f84e4a908196fcc5deba21b5c7300d7381e07c4e0ea2184965169cc9464933ef5a840d86b1dbcc945c7547d9eab245ba64d24946a75961161c2b8f417daf11b163b1e5a5b02d45341384f37755248fa871e6a82f948ad6292f11445bf30596dcccec73a441cea5e5dc470016309a83b6c8f158536687ad2734d3ea1562d46e23bfe8cab498d19b0b104d97182aacf852b6db3c4670109b81af1bd99b483d92b3e4bd813edfa4d0513214dcc5bb4da768e86007c22f11e5fe6f4cb60b909958fb94dea660d3fff0b99db15c2d2e6c8df7478330dade8c517b90975\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 8e5f01ff0c1775870715fd0366a8748531f8b00803df35e0e2308db63bbec4eca4e093351876b794213b904e5dde284a82d74abfcbfff94bc9a8300bea99edd07fe97d6e0b11219f85ac15acc404d37d3da16819a14a438f3f72f8178b312526232386e918a8a7e11fc38f4668c499a00480cf9d2d75aabc0198d3ba9ba345fba9105c6564df5f6ce796f14100d186abffe4d83d57969c1caddc7c7aa340b4d1bab23d9b3982278328ddebe648f5c52588738f3c56a88b3f34c890c03fafc27f485a17677a53e974dc1dd86f463a927f4328ac51bbc61705ae8abd7f45628957489e2defd8e043b955b118fb2a1c407d45893004aae0f945f06add1e45b41a03\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 50c23e2ad6e3f3b10a5716cbf60efcc9f66d2c6f17bf050ba0153b877ba2755e8a0d5406003456", + "2266155744ef80547b8af777b0ff764fbb12baae49d02b4f6d65b6cd8f0a397839101d32ae163ff2e6072748d6b8017e5e73e332d53f4e91fe6233a82dbf54f3146b489803575c5ea37ab55a9ea7eae47ad4f1727d45822b569cd6e5d4b6ab759850948186616b5da2a9a316f57d899f91934bbb27edcdfa19532ba1c01f3724738daffdd88c9a18562ebcbc49185b0a817407903476d442c424c81b63aeb8f9d1b184756e0cc0a381eaba45a85c8bbc6770fd047ff1a6404a384599fbbd6a40b212a066e23f6a15cf13e42c0ea88c710e4d70c612074968e5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 3f92a694661cae336cac7a3c5a6f67e0655d10218a64459739ab9664f2cec58978939512df621e6b92fe3429bb22c08b5103da648a7719e7e95a04e6b61601546955825d60f4c517619f851780ad17f1b8a955cf8c7f1a5e26ca4a0cc19cca751d0790d56e1140a4705e19274f638b7c16d9d3e423a7f787d02699235e3e9e4d543a954f9b1bce5411c8ebdcae86a4bb86c66818a0bab51a2b00383b318e53d95508bab1b19e388cd5a03cdceba0f7176c1782e19ef62cff69352d444b1ce0e1f339e96d8a65c07aa37f5f2cf33867f6c496e0da6cd79b3e2183b57064ce21a1b92072702e555a82cad75107fdfd8bd5e7ea5f119cfbbc1770e962fd0b781aff\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = b056e2513c7c470d897032d406e97b5946dcad52df1c1650d61a1d7b0af59e8cfaec4d9e834d06d819b92a7d440d277e5039ab8aeff25043e98b281ae6ce0a91f8dfbbd1b4998fe5481671381b6a3952448b617ae606f06a0143561a040edaf3c972e611bd7cb814aa4761d38e4a007ca65af8fde6eb25d919d8bd9273cca7622984aa27994d049612424547775c5df75483962143522d075b8c55ea61b04583eb4c0358f9fbb902dedff30b7d8592b57094df4f6345668af53d1aea86fb36dd69b4434bacf8fc12c13802f5b03551ba8f207d4060a9f56e6b7e18c766eb82b6ce6ee0747fbe785c3c1c25fe7fb87de50032b172129fa41a69c3ce0e777ef10f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00000da290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 0da290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = a290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em represents a small integer\nct = 18416ff48c3a78bc85e1f483d546052d84deac02ce86fcd197215f227b6dad58bc19394f46551111f858b08879bc37c620b1e81ebac4c75fdd71713ce75c24293fa39caf46294d28bf87a46da9a769a304157ea1fc71afc3bfb790da32e84d812a8946d1b3d211fb6972b3fe6674496b2d8056c1503d02fd4c2e607bfb1e6b26b35636b8b823757ee9ba3795d3af2dd8710b0a6da4dbb430bc69dc089f1563d34f0d79431d63e7b8d94c8234649b64223d1e0be17463401184a096feb9c81e226eec26c7e9f3f4357536633029ebc0349bc136d1206c6064fc51b6d2e79578f2b26439c5b3f6ffe1b515740b3c4b94a49430631292968eb50983251bbc7f0f89\nlabel = 5a3564e9482a072bd99d0306d69a7f4595c49fb9c06b72250eed2b50ceddcc4700000000\nmsg = c4fc4b065f4595751c7ff8bb99681d505b7d0f1730d404617940f4b5c3b01979ffcffd19e86f69450e5fc14d9bc27a1f39734fd5f8f663d2d87c444e3e15da8764709909679aaa553d98ddbb1ad7dcc8be04bb8751570b4e6cdc7a8f56b09a4af43053a393bd8f947d7625137e6d84f9b9c727475a98ea22efcf679ee0aa5258da88a08afc53bd8bfa19b0131d6f676fe198a9c6a1f84174fc69ccf8e34e3617f8ff6c4192075cd6668392523fbecedb27578e591dead78c80a89be589a1\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has low hamming weight\nct = 23ee3b4df8ac632078167f2f97a736469c6e6b39ced4ddc552d31f0fbc7ccb478adabe56cac20cbec1a0084125aefde0bdb575d68bd74cfbdf5f3bfb4401fa573645c223568918aa911c1f5a01b3b0903e91d82e8c04194df4bdc5facb6959b4df23593c7925a827f029064c75a4bc3d2899649025670e70f3e01336fe961664563a3bb0c7bca66d7eed48326746a060c5d3f18a160abce399917ab2e2386d0f1c2d7c9105d16befc1b0bfd72606ec300a777ac550b1b0b807b7e46467db5bfe0eac8bcbebb2df47bc65fe42174368595b72650b770f47157d2d14c71cebcaaa5cf567ab803e2bcff5f4298c06b1983757abe02faf4c7c5f9141aface72ab98c\nlabel = b503d03521b4ffc4b855c94e911a6117f04c76c6fe8000f8031e705486ae641900000000\nmsg = 03fd61590ddd05555a6d46d1e8925293fe46fa168cb06135c2e7c8d36551187e62016f40f3eb31751f3690f5da1aaba5c16ffa650b2e6c25f3763fe324929c4becc7fb28a383d66c31973c72eb13ff8c87a92b495f6f0619290f8675e9889f49d30d5e77b2115e8805eeeb1aa9324843a75e0bbe70538eefb7978a0ea7beb211e67bb075981673517518586eca5b04ef3ad6a3a978605fbc0e67af7fe412acfcb550d20c9900f4d71d7829a107cc51d663db54c57116959998f3946b4d43\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em has low hamming weight\nct = 94f4edda147a95cf29bb0402d0413e5421b5ae347c31b2ec3239bd808c4e5b609d0ce9d9c3a12e47eae6c5fe319288553ba25e8932d644a6387087b4e495ad4bc124596d9440ddd5376f2c1844e61a7c51bef528ad20065574198ace92d3402dcf4df8ff5d68c06dafe9302da4e075ab0e011bfc1bbaa55b4cc1bc30dc9b104539c21d60b6fc7044e0242591360751fbeb2883099602a900cb5320195cb7071819dbce2667a7532aacb2c9b96f3e726267b709c5c0877280f5d4efeb5d4155bf8751f9560db4bfaf8150a8f27b366c3935860aeb106bd88914b6bccf35bb6eaf9217254e6dacd88f0f1182d6cbe25635d4d9ad76a06687d2527ed7d9cbf50803\nlabel = 3bd80a6378115c0c946b4e3af28c6c96d1110621e21e8633416e9c8ef0a73d4", + "000000000\nmsg = 90fd851c721e936df0134ce13f2b7f4469d58f69f85f4bebe2726123cc742c1c43293f85f50b5c6d220f40c387a1f2bb2704a16508e267c6c4324a82191170e67cbf57f56dc02a706e3373e9dca1ca0f7703804c0093e9f8a2ae5502d2ccbf26dff3cd179b5b8f97959d5d2a9400b31b01ee09caa6013d198beb7e0979aed5263974591cca36ceceb252110e61bebdf0272386f9571be79fe3afc8478eb9e7155759ed20e2a2e537d98aeda18c374ed9b48be8624984ba4b15bfffff6cc9\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has low hamming weight\nct = 68825b60b53cc0bbc92e4ce994b0dd270bad0eb657e41acf26a9e3161c5254e4bd38b03e90d7453424e605a372bc185f3ae6ba9ff58fab0cc4c1cc158d7a1e8f1f0b30ac08789f7576fab2dae7e86dae60d9af793dc1b400c2d25a9d3357ba0d27361d74a1b4e1445147a45875901d70f3190a0b34defbdbec1cb9ed3014f15a1a0f9000d9b224fba944e791d303d816bafeb8e65dfc6d740d04719c4ab36c4bbf4ebea5fc45ead338825fc5a71dd6c25f8d8891a4f8d6e0b35483c75c1bd645c3cbe9dcf5a17ae5cd2abdfb132b2b37102122a9bfc42ceb3eac98f2af39905b9cece5d122b70c95239062ceeab798691dd2b88028047924d5ae814df78d555b\nlabel = 48915cebf2a2ef9e5d5b92cce033b60456d72af1ba54f88f5074a36a643a317800000000\nmsg = 0cf83d297f20f527983f3111716a68d0d33d97ee4f5d1822c9e5382398542bd532316db29d8a8f92bacae063aca1c1cd9bc272fec688b3f67956c662a5b2f895509fe6f2406f0674afb0f0472aa205a7d55a092a5ced1b1c1b92a7b93f9c695440a3257e007949d27098410454d4e39612c7dcabc85e19f3421734bb2717de00c041f569e8d43006005960af8f573e13867911989a4c678da8f15ca0278ebbb21742fe33b3613f22afca45ac09f815b50155ecab6eb07806bdfef37b5dd5\nresult = valid\nflags = Constructed\n\n# tcId = 35\n# em has a large hamming weight\nct = 0ed3b1f6a9b200147e535042353768280244b3c831215928a2b2103df02b3613f43ecfdecc6a8f61ce0183b8c60980f82c3dde3a731ea25a0ca9b89e5f68a7cd6cf6c6475f591f24b7a89a885a46edb0ade49e37665219a6da9afbbf655943912636af85e0bc859f43d3c48b4e77c9d1c0d641a21fecf4957185b805aeb908c6387c9d1c8ad85a166c075942f0cf68ca70f8174a9d2a4e5589c7005e2c423ff97c97a208da51d9adc0cb4588a257c0a1d0feb02eb050f9980309abd09258570ab2c8186cc357a9f693107c84855ff6ee7936b71980de42883e3ee7c1c6ddbe03d16a1f1c5bc5f987e6de9cab329ed7a31b59cac467d7b6432cb40f616ac9d4a8\nlabel = 02be339a2b399ffeaec99acfd80f50ebdfc8fe3021a9a432ddd4134b3466b4a800000000\nmsg = 2124d6fdfbbf77ac89f50a235b0af69edbdbe9ef3fcde36441d7022afdc8434431b893eba822cb82585384e36298df45b4b4415a3bdc494604305272f5e988f2cc14a56043421557d5e5dc958fd771e4d509126656d21222cb8e2e1052ba38286c5e3d0be0f4b1c978a61bd1e3652ccb63fea82ec46d6b64863c00b93a3243e2328f70f692aa65f73976335eec5b29a9542befa03d5e82aba9dc285af0913382d67aacd513bbf6f5095e4d5f9b5ebfb5ddc25cafd888addf9ffa068bd4eb\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen125 = 21160; + +static const char *kData125[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha384_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 1\nct = 8402dbdca0d3e9ce70cacfdfe3b2ef26ed92a6b8dc3c70640e06d0900213824a79d0cce6d0d781306eb236384d69f3ed9d921db8203e82a0cab04a51c12eb0a3fe668ab0ecfc419d3529f9970d45d9bac4373ec312b2a24f0c829aa0c0051e44a25e6da5bcccf9edc6f1d87f152b4770aedb8a36993d5768cd97c302abbcfe9360baacf437d68f59048280b560f5265e7f08769103468338bc9332568c20c7efbeddca8350662d64964ae5338138ce13c0cd0c9eb6f0b2516ef227bdbbe55d208f470ec5976116865f42897e63294d4fdbf36f6f4fc43dcb79d2c84d30c5f69ace97abe77a1d82d3fd815253d5b573dde8eb01f96416085538e94b8a0d95de57\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 858406b01fa56d4f216e36fe4fb2ba991130cd5ef56542ff60bc5ac95eccdaffc40bedb373babf08a79620f838d874e574935604cc15b2dc0220f84ece76b43d5239c3012f0cc6a446dece3616606e36026fb1544b26ffb2d0dcbb954eb812e96abdf245dfba3ea30aa5d5e7b81973f5c00a9e18a5337bdcf046c55d7e5a6028b093e6fe5e825807376a27134974bed314226cd65e17077d721cb52bb083e5e379d2cbe8594617908d9b90e0851203ce7d9dd8df667e86c3857c2bf9dbbac70f939d822c188de67c60f3bfaaed36ad4932c2e28bf9a5460bf51f2ad381e96391c4024643c19165e63db29de6232c7bbf951d04d6fd67df6d0dd08c4d164386d0\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = c5390503bcc08959ab92c92ec9e07a59cddd2ca4929bdaec89efde9c4da1011c1be7484eb76b649769f3d258219a2503464c284a1d3bf12af8e584c45b717db7bebe3255a1b8aff1f19bc2ae26672d2bb1cc3d05ca6f4af9bca6967f22593e54d7c42b10e19735d483862850b7f184fcd38a3f895cecce365b68f922083c4737c16d152d70aeee8edff5d3a3c0153b33529b8faa73bccc4e2342b23acc227064d09fa7b66583068d9ae9978c14f96998362dd9ed0f67290b8eb220557e257daef38f118873094b8733c6d72a1aad6e40601cbec847690842a38de4f85e04e9d0edb39834571adb0da4dd158f8e22a6678db45ac86ce797d8b86d4d6de844c0dd\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 5814d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 8472105e089af324cfcbad5eb2ce2f85185f2e2f5a9e5e302022eaae5e40b1507dfd4801ac5d4743b18b87d916b2bb55bba812735831296dfcdf4087ba4a4dbf852f0274c7e37dcf2682c3aac50a70b6d08835b0c59e90fe3ce2f3b6100863936a67af141236daf5f588f2eaa09c391f5728dac6a007a02dde61bc69c65d4885149a344046d66f1b91711eecf5196006fb916ec209e5bd251ccb97b08c31aa1ebb25b44028047ae4f61adaea5215e0324af6d0509da3a3843eed6ae53fed3a1e459c7aac4d94f8c85611354e0e24f7630a42b184805f67aa7ed0bfb57e6136c43261f81940338fb4aeb662d29301ff3a0a5a01aa20e53f4041c20f14207ebe96\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 3645e92f0c46b7d6f6765575fa9aabde09512564a2d2ac80aa8b43710f34c4aff72d2df02446cc548acf30e34994020ed7301bba6b69bb4e9abcc766e3c9284abf824ae8389fba58bd2633b01edc3ab648788d31bc7b404f6e079a650dd8224b0642fd589b3f84cc393d18bf8b3a1f65fbe6684f6a76b3e767d5f2953db53e61dbfd69371b69b7112284f256ff11beeded9f4deea47350c283d825387981c1d51d62ca032485a1a6f8582148e7b80d2c55daae467576ef45be6f00e676eb5a40da88c18573ff012267859030cc614135dca8694dc0a0ef0d00e62761999d93c3e8651a11fb43a028370b481ddaf6cd8c4a086aea2e658d44556a6eedd64da5d4\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 4dcaf6ae82481350b49b344e2ff3348d0064b63d4a686283cfe7ca8ded4d73c55c9cd3dfc6656e3fd18e45dc69dddcc82a33b46531f3b5b7682ef1fa0068ec42583a2021e7dae3908d924a6bac3bcaa123c88afcf1dc6e22ac6be966723223f5f7aa46e2205c6e6cc594cdc5cbf9315c641a84665d66408a7b4f38ba6672fe3c77c53ed13ff5ca5e3d78ab51fd19186802709a0f98d7de5efc10ec7aa4448c0e89d506168acda5c85a12badb8b4104c6b6d48ad4cfaa4e055484a8c4009bd579e89b81d7121d4bb40e94a31f35ccab0e71cf767158139e7b413912efc9716d8de8f088467cb77f8e0649aaed9ef9f48df64cddd9b75ca5f077a08468a768cdcb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 8d31b6a86582c2b35e86fba1af4d02484ea81326f9728c22761cfe337b7d0adff787e2cd68c3b71f22cf9d0c141e273ba9c61cd6c6cb18050391279456c3c930cd6cb2df70b295e3c062c93d60d8884a2cff2839364086208f1be9007247233a04805151b46854f9da2b9a9e0803200afb3166db9907c9406b002013d5a566e4ce83b0572694bea9d3cbedc796fc4538f0315eb920bed4267b12b9127c683e83069e8baeaaa911c8f08d", + "2457539c731c6a90c62768fcc7169088b98c13a291bc70bf6d10372494f072d017cab2f2ab8ed682b4514f576af2f81b90cdc13a266efea3f98fecb4a2ac1062aba39e47e8b3bc487156bf7f41cb7872e402d514df86\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = a78eefe103fdfad9987535d10be6543a0092d1b49aef20a8c40df71b6470b560c64d1cda67b47338a572d695b314d4ba50f836deb746cc5a862e50c76fac689736c7912d5324db072f029fba10c9cb879973473e66f4a617d6aca9405f2556d44bf1d6fc3ede6a60a52334cb09cb0637f8f247200fc0063a0e8cc34ef01a6657a41444a942a8c72248f9dc2d15a26e822e0ef73ea5d9ec03060f906790510d88f46c38def40397a2aff2b77540dee5963a0ea5049904235b5e74da536c7a3f353d9cec5c50a5bcbfa07b9476aabb8de297653680823265d7afd8815267a79953301d7040e08d5981c1bb8958ad5bb3bb420b02449a25e8fff1d216fdc1f3cc2c\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = bd682ddc5226f61206b2464973df9155f6c3474412943f51dd8c8e1fd00a31b6ee2cca899db0aba83a918bda521014808790a0455a32cc765c19f088a0e1773364e25745eaf015b185ce69c7886efc16b3d95fb1668038eb9ee812985f965e3bd9bb84b8da9f1bfa324d050af36d93bc793fe58d6762d927340136dfac3ba149bbc38b4d3e4177ab95fc6fd53acaa925180b88b71f607620243d45d3bad1e96297fdd339a5a25a37436320e549742a5b1266d0946e056916cce24e002f7ce5ae412046bd0c519efc417352bd6d0e95920712d11a7afe3190afdd3b5ce510c0df7ff16c2e80869f69a2cb735f34f9c260b472ed20c3e8e61b2c38f564dff60ff2\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 672d24c076429291e410245c34e35eda0356fb22076601d55bea1bf309a8734062f44ee6615df4fa0067d43e86cca0a823bc4089cd50517fb3b921585ba0d1fbdb131a24685c02cfb25ab56ade1de0f6e705519bd5ae7e4eb2cf2a63ba9537ca850008712825cb2a2873dc76715c9922fcfb3a3acca0a4f15abfaf49fc298b5788bc912266900cb82700404c502ed66c83b6a4e93830bf9ff8e547a6c623ee99927dca03447fa1af896d76e59ecf3ab73e0453fd0d768f5ea1f4c8252f6a01849f8098461147c8e137533a89807968520c1d18b2cf62677ecdbbad1f09615c6ecb4939c7cdc17a53dc46f8143c36e3ebc99a21ef9320e770867d90fa3f083f9b\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 17652dc5457163c0a622e1a52d149770af1b5399b75cc7797aec3238bf8d9a67061e1d735e67f76f4f6f697c5c4f5eaece14eee288609ba0433fb17d0f7c54c9f5593b0059aab6e8fa94235174fadf7e601ea9968257bd9d9ee85631e3b1ce0d7a66294bfa68dd265f921dc7806babc31d404c35e51f4ae61c4b7b9e4d44f8c8decc0bf99b4a4367b53e3a61f85683ddc9c0f7f1d2186727517d1f9cf206e1004b0f57a19cf978456d669d9ee1339ae3329ecbacf717f13c51387b1ba0ae81718eeaba3e6227301ba8ff149a1c6d286e1fb016919fa4c8c7b78acebacb47606713b58205d15baa11755e7646b20dab4646a02d374346ffc09f6beda72a7f6734\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 02776046b529db8ff90a316f91eee580346bc626a688c0978fe5d66c14aa9ad9fcd2a887f98b77c8f3037126d32382dbf6a8109f8c0120e964a7519fe5bb9d1f4bcb3cdf761a19587b4914cde8d43f6bf31ab3d71ffe29ed293ea2202e5d383075cce7f9b83e3366563c148c72648a0ade863be3613d715dc9649a442cd2544762f3d2f0c0faaf9384f3f5b021200a062ee74d8b809cd9d8bfbe989499d9872402a0a490b654c1f856526334dfb84e73ec37cd75f63151dbfdf78d5e062977ba707c504dca2509fabdc85480fa2bead84f14c1a7197e2f41a6940ab4768fdcd6c72439be6f25bc600e0fc882348b73582adc13c674080d9c921367226230665f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 3102a70e601b928a6b350337b6e424d3ce2850bbccc6de821d677f2c406686c24ef6f3dc6fc450f873a7dc4ccc8a16ecd1c35b9374ee480465b7b312149538fe2e1d3a2a8b017fc916d3316eac606bd65b9af6d6179fecbd8ac2ef0f6f59082612dcf24786b4688a6a8659a46e5a8f941ad7c11a2e2e7275b900f0b8b0f6ca4c21878d96e876b05b3b1bc8e0d5548d433ee56f37722258d988624f0cca3cb0976c31c395f06931da563c3f2e134e636d5c50b4f4c32eb3a596b360ba0dc5f7fa2beb8f8342787d9f9e55ec018556edb4ce0f9d26b0f410ac877073ca8d40eefa2a500bf4489bad4fc60c373c576ab0135a612e2711c6fe04a07566f4c17d021d\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 2393ef64f33218e38ac80c309344fe33a1deba9f63aab29e06529f5fe5736721abbb792e787f2df1ec8db8513869c1fc1f0a78648f5613f70e0b522cd5cd78c01e121d3e527a49c248861c47f7b108228a6c4481451e2ac834029a48403598105fe99b3f060296043fb609277fff1746325763a5fde8d65e6f43791abd7b113fd7a8281d2629caf7f7615876dbc702aee7f2f01829b506dc336e9ebbc6147d94d853ead79693c3c6f956a18ec825be43084e23a3e15d31a888a885152bd7cff34cf3de284805e8358c7ffdaeb56b2257e3c7c1fe8c2ced183ee27fdc99e4f74758cd68d1442e1dcd05b62ce431c26c0c76852750791375345eedf9c9848eb272\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 6115fe66f94af6dc4f2cc46e552710603c271eb211261f415bea922adb0dc26085fc650758b79403dd76e035031e5d7d177abb752f4b1feb0bc44e13cf4b17b9b95b553c3eeeff2278f827345fdf3308b8d534a1e4a07be9ebd60c96fa45a2a04d6c91292f13223950466e441550c8903677be93f0c40562d8c51f9d772b7e2f721624342d6ba28d29b628ce8cccdfa07e50cb379063861abdb0d6876433243bcebe75a3424322255b5cbb44f2dfefaa9a9383296ebc44c6552f87e703368fbb33cc83de4f9027c588ae3d9e567ba28bd8efc5a4b173accdd0d0793abae5d2fb933055553be82eedbb6711e2ad648b04098a17e82a2a0ef4c6745c15639b7c85\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 4054692a9438bb2156dff805a60dde5ef1812df0eb8f7b4eb2aef74951bc2ad44850b830f558407cf5bec5cac20a26ba54112871a24e138ea43e499a7ff60e612124d06e0cd88533dd7b64ea20277fdba3c2522bdac6f79d9884ca1f971f1db54698e4cd149cca7674210f3beb08e1ba5bd1647417b5eb25116b94b165b80bf69cfad68457cf79dd3bdab1ec01b757d5f1a0286d53d8340ad5d53b0531a94e91e1a7f0fc864d7db4f9f0cc9ee0f9a6eb03305d7ebec3fc997923e7ca879d6f458ddc4618d2d8b7baa058f25c6dc092d6360b7f2708a0f28ed44c722f39f1e42b6aba4e4df8e51545df6cba4ed7b4fe8d65a6c1ad09fffde83e962d728de73fa4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 14c56a1f064ef78ee6a263c6b551d355fbf6beb7bdf6769999b86182f836a63f1f53c629243ab3dad581e221e8b51cae706698970d205f4bfb3858d265d05e0d5c9ad973e0a30f8fa6b249d1271ae931132ddb7d0b5a665c4a4f178aaf036a25ffcd5225c6edec847f9ecf949a93dbdb30cdcda198c95353033d87b3cc16fcbdd928dd131f4874dd4b50a8a617d049b475308d649c84444cb44e8544077166636ae6b64c4600029243f0acca7182a32e5504d98fdd8ab9cc3136aa0601ee63ee4022ea40cc6525bfeaaf3afcf66b0087885badcbefcfa31a0262840f098800dbe26ba91138600978ee739054ebae9fd9ce8566aa2a24989688b4f3245c7be832\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 81ea170e37cf844e0e3569cd9a1c88fb35d894c820fa46ea6de145613e51a6444404b18313bb47fc27ce81b953416bf40d9c86062f50cb7d547f0cae0682408fb6d1ca311ad617435229c6c1cd118476a12cf1fc96130208abdffe50101cf07ad3a318a8312c6c23fe9545a21274a169b1d7d4dbf198a1a06197c4d77c91bbc6b8591f66a3673d1eae4fdb0839b5925868ab8cd41ef670bbfaa77d12a9347658a969b7d0e4f51a1efaeb3339c761b8087f865d580263306417a275aa2a69a5b7db581b09b636f2dde022a7f9d2b2d88d64c02bdc3ca912ae89f10a0db867e61e7946057162259f9105cc13ba8d5125bcb3c49ddced4ffa833414b5f21d1e8446\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 8d86dc4148c4cdb2fc0fa7a92f48a1efd33897a2306f002aa39ba338cd20c44bee1dfe7db050145d9deebacf296cfa651f5e2e0f1a2b9e09df5d11dd564e2895f64c359c590ce0f400dd774f67c2e1ee178c0e5127ec30a2154f74b4b75b7f3788e51bfc6a54397f28e88587ffea825efd6cd1e5b6aa1464cbd5ee1aad24cfb86446687e58a2e9604f05a40c237bb94300677cb65a70505581af2fe51e0d7d82a08629db0499fb1d360f1f1a9affbd75579b98d6d976ebe2e407da9121cfb3a8b88472fb868d82881be87cee4d23c58a27b3707f2771dda0800ff269968bf5393a5d8c83d5d4235cc1eaa8c9db342b2929ad0ed8638044915efcecc507f66350\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 3e970ded411dc9ed2a18ceadbbd9d5470209c1dfba22e7cc3287ddcf10ca0c28fec6cad62227a156a5ee2066a995ab28a121ca7599992abfb75dbe987a4c190b1c58af8b13b11ed247", + "24ba41e4a484fb35a38941c6838e4045fa8a048ea3efb460b01fb2d11aabcedf4ff2db5e889145bb2d729c8456e51f29608eb5aa65a1908fb94beb6c2a89778a1f2389821f15f818865e38568eea9aeeba0366198379b13723c6c37745b7ff7e4f7164afa5394083592e7d102ffa72a5ae6b3da8d92b5977fdef3a6449696c9e5cd2024a9f795e81633c243db6e74e566cc68ec4043a89cf69e020ed10b6590082e1a2015369029aaa673a92f44d6e62604672559fd933\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 731eaff9f54ce72b0572eb6cf3d586b898dd9d96ba82202c77a63f1d98642920790e092ed5a38abff54b6d12d7985efde0ec8b6321a5b8183a80adf3c68972e90f0027654e2c585eeb99e5edd7a9b56b652acc0051b95507b3daedbc6b00203f50553f432e612afa74056d0fae7021159ed95477fdc5719627c77af1ef2b2ee3b8048da4ef6ddb1662e35aa560cac6cb0beaa7d811eab49939b6dcd3cdbd1f00beb875bb60fcdf2a006eded6f449bae338908a0fe181035f14e6fec4f162743438ae2d9bdcdcc49c7cd778e762458bf2669b35ed3d498ada6041342d12627f14cebbab2c55daf2b9e4e645641ce07961b39061f432b6ab787a175f8e68f2c98b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 00005814d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 5814d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 14d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen126 = 24258; + +static const char *kData126[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha384_mgf1sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 1\nct = bf20e0e04ddbf103a5133227fbc2696a0acc72f76f869240b06aee89c25128386d0e0c16927f98c1ff3b22b4fb61b508f383f7ea764396b2201e800c793c81a4d38e20b03ead703f0b164d7e7bf4708ce970c5907b139bdab8e2a1922989f97cc2cce656fe37630919626d966222c462af0e72ea36f3d81678bfd1928caf9111079edf93796d2713deee2b85cb04fa63d9fa41d212345507c90d04f4c6c80a114b36416cc55d78eb969d904269a69bf2e839075543955616071a45bc1678c64304ff5f4c22b207c27703f70061d1471b4704357c13dc44e1b3eed0842f578e3e84e28184f84ef6f80ac806c3ccc0afdeb17a74b42693f6e4b2a6c76161363f3d\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 0051190f85cf3bd0e9bdf5c937593d2219db50ba7d0512d38807b31eaa9310f0120320f7fad7c6b135f29cb17ffa5b135c0ebb1c4c8112a66912aa92bbb3191d5a284884f19460dfb9bf232f0db6c207ff21d53712e1c8d90bec036426cef56a017e6175bf8bf238c32050188869301ef78d3984762038bb72a982d5c9c9501820196d68c798ea29d0d60f7628625ffe975ee0757c6b70bf87b8219ddf9e6ad324ec9751fd3664887336bcaa7af71c93083dd96702e6089e2b67abb763193f95d4222b9177c17b4726998240ce74205f18cb4b17bbfc73185176ad761c1d48e633a4ac7adc2f61dc95798e530d20817b721311be824dfcf7629fbc533543280c\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 0a5067a97a17114be5a71697f15694d98cdd6e79dcba1726a38ca660ae4fd9a1336df2de79718cea176a365c46a24d0468c2a719cc1835e5b60aa64424a8dea0921fb641458c279c74a7ac74474126becc25c84cb8e411cc7a119c78298a2f45658c7590c3b40dbceb7c41c67e73d41b46ac55cbea541c64a91c521e377890cc031a4933a237609dce1d9f76684641417a44759662e166d837e77e9b8b3fd3343cad26de86db4f914ae83893fe9658654d0932b6a98ca5735669d667186d894b5d472a1efef4b2e06035189feaf960ca1242b620264e71c47307a8a38bbae9bc3d1bd5508ac37f1ba770bfc36a50a543ee204e5eff5310fe3bf430dc6908eb9e\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 767bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b80\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = c2a9b96b17314bfcc82d0653e14aaa7024b31451a842f7174a8a708dd80c94212af670806f96e7c08e2413198bc32d99a2e67d32c6fe772735ced16ae8b903d340b61585eb4b2ae7e0f51caafea691dabe31ddff90b114a13f05072fd8a8a9bc16fdcf32d199daa0de8ef34fd790f113505eab2b049c515a13a7d56f452f748ab76a07476d609f9e8db48d97f74f8e8bcdea62f495f573bfd2a171224bce7e2389811c01eec70ddffedd6bd2b7a3896a81a383e686dd80863f86a2290db0961ad1b2c6399a12fc725a33a182dfffd5ebc099612b9cd996a1c44037d2396ff657d22a50d94204e4428fe3d62b629c8319677654efb1bb0fceac9ae8d1eb3d2f07\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = c67d74acd68029ef1783f6412a2ff097bc4c588f4125dc9af871ff6cbc18caf2fdbd5f92235211bb460d7c32bad3d768a7893ad5b1e920ec9bde3cf9577f66a16d5a3e5a4feb40f0413ad47613929b44d40185cd4507515e73e9144a626c6e2461876789c8128eb6438879cc6b2a971dbcafa9e9f40b0120fa38f48023805011d89d48cb093bbafd221aca8b62311a6a2a29a92e13302c6da0f9190aceb9c36c970d731425ec079bbc6295aac01d9cce136f9e2d55e8516d007413f1d44bfaf63e257767dc0620a8902fb449f9d62a25630087b613784af81f1a588da7b0fc2ed2138e58eacc746cc2417b0088a1bc945552afb7536847baed72c16484ee7ddb\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = c1fb0843b4e3c77e622d1197ee897b8251971172ddd2a1bb94142173451d1748b468a450b15bc062adc94311fbd43a807391721bc05a4949b39af2ceafb1bbbe6e157237c6a7cb33fb971cef3c7bb172ca76f27e5a70b4ab501b8c4f695145da34f00a54deb47baf1f4722c313a1822b8746109c471f4fd8e6941cefe545804fad30e789e419aa32f16958fa667ed42912d6dfb5cc6d7635e2867253bfeb5ae946283f4fbc001fe8f578ca00c735f6cb02f65efaff2401f9da630ac2ed9ca7d44e4de8ae1ff6425560d54d75a934937021589418b91573b4eeb4f698383009c3074939d83c90d463a2c799c16e06c6467641d335b001ef89c9412f7478d5afb9\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = a59ed1881782b3a151254fd0102d0c78269ce015a542767763d786bbb88d7c764e6a2449f49bb8313430ed480ce6d65583502f647f439ffb578cba6267ddb492dc74ffab44cebbc11df44fa6e83899719c7432e509ae3a58717f452bdb531f01b70f9541cadb504b942f82b1032a5daa27179d83dc63e0f342d5f769fafc07506874704fab17d61cbda698a201fa42738fb21e9ef8828cfa0e0b4a5ee86e639d69642748cc764a4f", + "a27fdb18c422f1257b9a7caaf2430e6a347bbaa170b77fc7f2aab7ad2673324c17acff7f67cc00525483c5a390c084eceb0ddea637f09cc1158638eedead7b38a14e9939c555cfb1881dae08479d838c1dc1af3b81348305\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 5490da684778d73666ab3cddb145bf50c914ed7fc5ccca7fa5aec07e45d925fd404e34c899b3620ee010cbdf02f190bf23f47c07f995142bfa0b1bdd988872671aa4ccaba8fcc668cf413a627bdf27f8b680f1b9d633cf3e2a3c0b83a9ebec591c9fd9f1a4bc997ad836bf5db9a8015c34bef11392ef8bfa4b278b9ba8f315e256908299812245dc534deacb9b97b7645162ab669721268177404799173f4f9a1e90abaf04cf78a1ea8a95e86c343553153562e3175ea135998e20cb51386e934ee28676e10a5a73b59fa1ca3b5c96ae43323883ab5a9a9214baa461046e3f600eaced75ccfb887fdb11d5d202347918cb42276370ef6fb42330d3922771e7b5\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = aaec366e45e9cbee804f4beab0c7d4a802731ae1e22d93e3dc0fa4868dd849c0cdfc52066051cf12887ccc09257301026be0e4ebe2d60dbec6de547d1dd4f778682fa9d88dccb0eab5e6cb07fe7c3a3664b5f31bd68cdbe9b88fec684b9e4a023f0e782e5e9a328628db6c3d94a1082bd0d3e453ce2628c1f17a767c017d725084dd0b7d715241b808b2537464dcc6eeb5af4c4c18702bcdc733c53f35d805f813e772ac32bcaffe025ef0fa8931849febf99c9e73cf5e4730a14924d9f074063b4d80faf3e8bce1930daa241ecee3b684d6674dc41b8ce53aa8c0002b0200fa393720ed967822eb2edd74a195423eba5dd6fe39150dcb697cc1f3553f84b9fe\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 348f6680d25d93e7f8f17f2410dd4bdc8a2ba5c9d29b17f3dc1e308d868ef3e1121982635c60fd386f77566370f5bc0d34e9596637c59b00a6eb665bf57071260483f72a5cf0bd6ad806a049aa670ffac206672fad6e206d9e13f82d89cd3675a888873cfdd1ea20feec04ac9e1d4daebc58ae9ebb84459a3481d268468f6e97bbad0011247576cdcea319b68b19ce7f2573cb3d711e078b9e206fea729e5b61d67f400a335aedb48f673af1a81c2998d80ba34ac18530ccef71838658e8937c127f5d5ce93a525a2ec60c98569d785592490fcf3c72d53791f8e81244292f1824264518bb827adf1205e6a2e1ca7d01195dd4c3616acb7580c0c9c572024a4f\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = a642bede4d119d37ba3c6f729ab8ef09055a41c5cc650a954bd0a2aa248172f3e332d3caf27f6652202287705d58b3ec31a5925083486c50c31ea5b27a693b2b93c6a4be3c5938a478148ed6600042970d71e2ae81e21a2f60ea683c4a11be85d2a00cd39edb6f05f8e93c2d760e68ba74a42dcecb6a890536c7bb093146a8161e8847b18ddf18e13eb04fcd841260016084b23efad5f36c3c5374a850b26f97e8076f9e288c9e904845c46df4fd8af41031dc6a9dc41c35c1ac73fb9586e308ecb8260d85d730ffe78bcc0439e4845bc9f6197956b2e4dfa4c5e6367b203c1a450a081e3edf6b50aa85303bbb547efbab5009fa80839d78a7d3c8514815a993\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 4d805a7ce650739a4e4f334de9e57fc134604c9e5198aab2bd2044b11afbc45741814b2c6b796411710445ad3f73b5a11d2066ab73d4ed636997c6542ec18e8af4f1ca0019865156cf9ee86315adb75db3640953d1f1268537d308256f712d0a3b3a4b2b88322056ae9c06458fc36eeed60359d091090a9a3d6c3646fcf54e0f98008a6440f5077ece467e10b9eeffc671309306eea60b912dcb872b48428450041f553412b0f7a370fc1f2ecfbe1711658de4991fedc33413f8faf69c3f8cf97e9003b2b039bff237681339875a85d2132bda1a029a2e79f0e37f90f50358216399b599d17e7760336fa447e6599cee60ca384f829df0fe49e6fddfce91a74f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 552edaec51577daf5a3a41f5122d8e14a0f210f4a691c22b624550d953c2e0c93fef2fb883d766a4996424377c384f41624c3d65728aa1a953e3283bba9ff5d020acc1f870e495c539f9857d32b42e9a7f821e2187e997c409ef85f0013c434918d7e085566607c2cf279d6d7a1f51ba51672d74491d1ad797461b555199ff3bcbd26f3d87781f09dee6cef446053685eeb60f0a81d57cf73b3d674cfff6060f53b0fa8f224e43ab4a88f0ce37d2ab9b4c257df77e7519f211dbaf6b9837992d9f6cd4e5fabba4ab0b405b49c8ef0cc172bc5889ac9beecef9abd48b46b134c3f0a8522cdfa0a07fd1c91788ac81c06b2cabd16117fe55d7892e4dba41188dc9\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 5de9c4fffaad1023d578673bda5f05d62dc73b5972b5addd16c453cb0d5aa9beb4cd7b51ef91a49f58c4eacba817b298b3f0d5053c37cfcc03770c0f84e77688bf35904033a4b002fab9065805e698f6f3082c4afd05d18e7b066a45a8c400a25d935455d3b575ee28da69e833163f8014f50cc3abda567b07f5b5fce34522f6825cfb6432ee17fb9ed6de30b7cd610960cf39f19844b09a61b00a957706227b2fa4e88081ca030a264dc1314bebc9a760dff72ded1f8d51706349db4cc95f0d7e6f331535075be4e95c12389759c26717cdd933157117a3b03f1c6f73826ab837a57405b0cdabb22e7f6ee468f46d93549067daaa6e735ef478fb2f6809b116\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = aea235313fd3bc3be95b1db39e4bf2ae67b8e70555d6dbb3de2c079c19fbb1dc4a9a6b4e8ce3d8dfc6d085b76a0559240bb90dab223dddf650da78301c255085982a7b8ecf11bc824586de0524cbcfea2a83ba11f619c8c87ae91d64aae92743b6e2719cc3d7a670a77614e086e4e3137cb1ca0c4867689b3c3aeccc5f31528801d1e22e864c031f58ced9d73f619bd5efa8f28f224587768c309e5086703ab9d6acacaaa1ee2681417b647c92db0640446840866b50de5d357da3ca259bd9e0b072bbc3ddba819a90ded0b4df6045ee3af3a0f013228fc454263f92a249eded9c73f7612f2f3303cc2b3463dd9c7a0fc2e474f899e9a27f83ea7fa5f11e0995\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = acb7bccf7e2cad69572f61c98565957f0e30931cc5980c4ee4540844e08d37066280b3d8d0f15090faeca12ab22b0a3f70b2d3b68ebc6d4b3f1998277d93256836a1f65879c8f48ea22b13b80fb0738cd44fb540507fb9f44577623a1af15384196afc9d5a6882c245938fc1b53c600fd0dd9f07a574e167041b53f414c7db6c252e875443b0006358382f5c83735e971337077249f7e9386ed0e915ceab283c0474308bba05e7410c91959648d1768d2e51e599d479a5578c6e7a0fc61fc8e18c017f4e2576087be8a8fdc7ada5b708bb07d6b0579c9baecab7e38794698c6d91390fef554c53b97561034db14b16dde648c9d5ffe61ef8debab95c57b22565\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = aa5b36de5f95c3c3b355a7968d39de17299bdb01870f07b3600714d5999dceee36451047e7eb1942bf25828a7368d219710ee27cbb8f58d9f64d9cc165865fbabdc52594a95049f21b65fbee38116a8032d37eb53dbe05b7ce5476e694cc0ea4ff981fb269d93cb634061c8355ef8e29d35ae3c251d24d894fbdbcd151da914a2a1c057a22afe8e13a596829cff32da6a8f7200cec826833bccb20bce20f96dd04066ea0728149dfd469ad2057ab3d6517c85d8817365258bec18a3fc67f314470b75f00c57cbbd04c51bd04971603acdbbdcdb36ff8b315baf4939d0b9ad5fa52093c8dcd701fe20fd67d8c3a1238f60141cb45e6b4ce0d504f03028091447c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = a79aaccb72907b41123e3efdb57be0c5ab48dc09ac22fddcda6bc497cbaa95b588ed3c70dc3e394e96e8c8cc07d1b49a6ad958a9cff9422be78aa2be641f38dc1609e076c41b79d874b8dfc0d601fcd065c4a24b9762170fdd20985a283f493d6772ac5b87f28ddc3fb67a941b7de48c6a8a8769b30d8e1cf020e649d11922d46933ffe809a68597744d9fc54ee47edcca190ab7d95f66067657703a61d53a0a6fa28113e1d4912f3ef0a8d2b5d0aadcf607f2f42a4ff52e2a9962d119fcf8d65c6474a91d62fc3e7fba867d06a07a03d2fa4969195879a692389134a5f414632de3dc6928744909452f7c6318ffd0df0ce3d9e10a8cae53d806b555a462178e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 07bd2fbe880a85da97962b4e806e3f380bba3dc80f631d9b4a9a64ab51179c5ea7f58789d8e5894b1fc7df15b34d09f5592fc600bf1edd118538a614ce3144165bf0578652686ce7df720c2660543d836746675a41cc929b198647c52ffb8b4afc74cba7de456d2298a1aa40c25247b4c1304f41bf4e137b98245ab8edea6f62077a8eadc6bc903722d0c7253b3d2b0acdc1f961157f14404dbdf50f294fd7fed64fab3a0c3cf46e683f41b89c0db6112395ff8af6348924823a43855a0cceb4bb00bb2564e40de0db8ccd803af1c4ce7873aa2fa156d09a4274b47c5888553cd09c32456da49411061e900188225eb181cf57cd8bbadf055f9f4df6f6389acd\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 79cb7928bcca16d8b74a0900d8de2b4e7f962e6073d74f3dff11c5a7d3e407ca962fd7eae0d3dc1ede81ea7cd4059fd1e304bf297cf30207b0abc8aa31189403d52a38811b6f11", + "bfb930c15ec7b0e2e903623ae1d81083a5e0a7331c620d3d5b289adcbb74246d9c59336d165c0176e3c1b922d381ae8da731a933279fef6d185a689e039970135ac3c4d1d87d858e65f409341c593dd199e2dc60c16033023ad2665615877b41348721fdf3569bd03aff206a00a9705c25b3e33ff3b700ced05a6e72f3c5581eb3090c1c238ff5fcb26a286bd4c231f4eba81c5daee3c3c2dc9ac3cf2e73bcc15eef091cef335b8b89963a0d5983e1754e423d3b70c039b2c7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = c295f57de51d491eff362ae8459c8be0224f27393a6d135bc8656b4f4a801f50e1c4c48b9eb52dda12c397416a89f709813fc500804e0cb458ce64d7c2c96f3f1f89ce70eb79b1f3c2efbdc46e1bf5dc8deeec5a34ab252568aaf8b6d832f677c04aac913901cd37c6914fc3517e53de1d75060c6c2d766625b5b8163ba556414cd114f45403f73d2676b7fcf9208d4f299d492f146f3e3da32ebfbde77a4f91574abe2195af5ba3b91bc4fe441e15e01da0fcd6d9e374aac38e622697b9385edb493bba4a486d35e8700c5009ec9cb82cac71a88c854edc6f1ceef96e759c64b08350f8073fff929468ef5aa83a86bffd9750dc43ea99927e93b4b3f84819c8\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 0000767bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b80\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 767bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b800000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 7bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b80\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# em has low hamming weight\nct = cd72b9c7697a399323bb3df69256ef3d7896c4b7c35a4932d56321e2bce7d590399041672d8a7694ba945d065469d9f527416cc771d6bec69db4d3653ab84ef6a1e1ab13cfcd5a23b49fe970f218016bcc674a655a10426cac75580065df467e2b3ca95e4a92f0c58b5fd9e6606cc44496a42207da4b5bc46ea6d389c35b3095db2c7ed756182408ac5c99aeeaa7098b1f4a91c5b6ade587633d66c9bc3357b11f3ecf019b1c53858d451d9f00a23318338255d48921971e86adb89a5c5742c6d7da82c7b9eb71679d2dc54911d9a427246be058f54ff269108c47a4bd568c3953a9365f641588f95c3c51311b3fe2f7c4e9b94f8db3410e738157d57e559898\nlabel = 027f3eb14d2f370b118a0b95acb6ce9849b6394de05269f339cbc505fc1b45f3f6a25b824cf997a6406ab2f496e145bf00000000\nmsg = c8556ddde4086f39f881c459e790ab6d3e6ac862be3b0f7ccdb6b1859eb160793cc16538744dd2d7b8f5d0a431b2e7fb21dc47977b40cd1381fcc5f3e8577331c14584ab3e5ed92a979a5bebe4b48c21a8b4f71d6a496d526907f7b6e5791328aefb2591e7994564c996826798bf62fa86d4b1e2f57e5df1fab316a928a007174698d32d15cc5a7e15acf53c31b30dfc18aab2aa9ddb0edabe65e153edb6\nresult = valid\nflags = Constructed\n\n# tcId = 31\n# em has low hamming weight\nct = 4112dc2f415f5ca05e1a9372660096836f4e47649ef22f31f3d2b2765cccedf922bbd9417f3863ee6be8f99a748f6b2d8bc0b286abd20849548b0173e385fa906d2e6d50ac3c8beecbea78d90aa7c630f4cd126b84e34b6acba9dd545a8673c4e00de4f6bca436f626bd7b8c1ff3c7cb3da7176ec11a0fd596078905a57e91387ce470f73c239227b6a9906c3aa8ccc214f323ca467a359fd0d1ae6c3a560d0f1285589b3e8b2e2acbc3ca606fe23298739cc194d97448a57206595189bbc9ac039aecbb77a3874aeed61ddf8fe718a873560c52f7cfa22d054d370aff20a48fc31850a19d7c4173d120a4fb108051bc68b8ebd40da335f620cce53cd07ea9dc\nlabel = d14bd61a246e92ee2be39c6066d25d2b2bb3bc95cfb16ca34700048ecdcfe85685d5aab6bf71d5d83bd6faccb81d1c0b00000000\nmsg = 5a1eba083b903ae2ef8bcc91ee0ce44249903d72e0dfecdb2e44e196f7b1febe5090b58e40b6e70004cf163b9a59bc02908aaa3eb52063d0b9ae6817a7eae8533a13437c0eafe1b5c359b5dfbc8821e213c41befd4b4548dd3e37f01d6b461d12cc4031d50c933514f004dce0e62a4e970b6a7b3bf06819dcb2a33351d7e8c0d130b0bbf3a67e2b75fb0059fb6ea8364678e90f86f9ebf2e9e4c5299d389\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has a large hamming weight\nct = 204f1dfe1caf7952af8d4745071f4176edab7c4670db83502a450f6b52a6d90aef179eb4869b371d6a3ee2f0225494bdade6bd38b04a8ccbb00493e7c4b60c0c5be671808ca91f93aea17496b47cf9c6ca83e5f6cbdc41860b840f2c7bd19c2236aa1caf92f7b7f151305abb173d1ccbc97a3dabf50c24ae5d5bb719595cc2d1bea29185c55d7e1e873ff504b8e3008ec3bd8c702e792b6f6b7b24daf71b12168fb5cd586ac9313bce2fda37cfd0d68e401444920ea125fd9e7c8f424f4c5e0a068e7b95948289d71472b75d429021acf73249651deb09cee062de574e5ec18102852d1946050c84b3da9e63756f964cba0e4c68e8c8ef2cbbf6cd325a11853b\nlabel = d13595cf0b4193b80f34d3ed3f8a4cc3a3ff5d42f6a21d7f1493e744c3bb5819c53a9f16c9ec3b62dece167bd674a2f800000000\nmsg = 068a7d6662c9e1f96cb4c32cde0ba6da2aaf25501dc5f3b0cff0c74b6adc1cacf81c5b546505f360a4edc91f7f54cdac99458bdb01a5eee04947e2c725044da507c560a8b9856a5374fd75c02e6b8d1f915e291c6d8352eb89cef2f9297cc4d9b8ca118d1ebfac47aa64992a7e077e4ba35ca181eb3f0bda0330720f3f702a33878d3035e15e6376d528fadeaf29db79f4b6943417bc741c2a2f1d1eb598\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen127 = 21094; + +static const char *kData127[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha512_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 1\nct = 409225dd2229d11accb99804e4da69fbcb862d3a74a1dceb8f1186d8d13b1569aa4fce51aff273aceb1f0c875d87a979f9915fd400a2eb1713b5a1ed129e6b0c7ca14a61a0939a87ae88c53e91ffdd635f7ddde6185dfe9b5b7bd739b53c4c198dc8333a36461c4d750773df1c84f024e18dc78d09fbbcdc4d12bb29854b2ae04c1b8b141eba753eed9cd90a5b66fea37612aca4c55f65a8381c4eff13c37ae1f9ed0688514788babc8ee27f8e76296495df254145331a49d11e7bee5a83a3713d4bbd5a805fdd8e84ba6ab869002b26e40b36d1d6c1189b8ca1c6fe19497a8059414abdc88ca71252fa86705ec96a7899296925f885fe55c9c6d2cbe7ca8578\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 7ab35168dc51cb7b3d8e5e3f9568e588c27dc395e825f909f3ef2a88c5ef8e1ee4918dcce7aa0c3ab6860f69de90e36d19284a15954a3bce2c95bb52b1a5cc752e35a7e08fc327f2a95ba05c474c4a5e625b5c0b780b3bed961e69bdfe073bc324a8dfeb3782413109fce1d795ef01a8eb0608ea42866ca997b8cd3c7b849190e42e84c3d60f935886df8d3dff5cca4157152e9ec9f954a7ea7b1ec4b0e1fbc14cef0f3ed16f1b013cef8753e1f5493ef7d0f753ed0a18ae5275459d15b86da95445dd65580a789354616e9a8a56720394a22ff30a01f38b173259a9829b8a4d14747326597ec332e1d402915c7f46a96c20bcd25a82ca3084660b4171cc31a3\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 930b4f613da112cd29f8fbb235ce0715eef85bd5a34fdf3a67b4af55015269ce99ac8112ee81b576b31f083160c5890dc2db204d581aba976974056a8bad367ff05984974c10f71f5b03482c7f7dd86aeabf5c9060b54b0487f40d30627e0a46fd7e801e5f1b2b813c4385f870258bc2cc186599e124b9ebca2a29a43dbc06bbd39faf7f305a902e7ffa403abc3bcedf29ee11361ba0a0b34f3bf9a9285660f66b4b75cf75e0eed8f463e204d93654a9c85b9788bf8e32890b658ea732efe3a56a4ddd2e7a426fec6486a0f591a8a1d4f089eb9c95a6332e7e0db103dc3daf8cebf35554d18cb6da33dfe6dfbe0c8cf04a4f6305693e94e87f68539f67892976\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 91d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc15\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 41c04aefc703aaa71f40ce9f4f56a7719126ca192d2e9c33dfc6a8c176e8c1c22d9d7a83f39955403a7798d161e4ad17b1575c35cd8f2abab639307222395348b67ae8b7edc41eb0b9a38ac508f1c08489ebc21e5db909d98d69a74b210de76a924787b2fe1913c96ea934ef88be13969cb26fbbf007fff7f639760ca7de9041ddfe79b3be7710cbbf559db44d2db8aa32f88be33463b366924b845d07e2c00bf07fb3625a600b4f84041c73d777c0822bd896aee8b08c4f6e30dd4569208fc8caec74580a43acaf7fcb2b6daad569f4a58e281298caf9b6f155cf30e94ff671de9bb0cbabd184b854ef1d2b7cae33e7dc6072230ebe4bcd4d49253aef563e92\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 32af08d0e192b87a392e69c0e4f1faf525f9705af04301bcf4773caada60baf8c9e3ef5b23f22e38f9966849f55e075aab69f1bb76d2c9e443f34dcc1a9ed8d32a7ed3f9ecfc05cb154235e2e532af1b6f1fcc392676a500b5539f6a86be792de013a4d614129852ab57e030521e1a776d17a9c54061b7457e0517f260826640d24e604a08849f9c14a8b9b6126a394d1451649326b15a440f52da5fa917b15189a73f0ca93c6f1ca65a8b00f96516b9f87519e6ac96af33df112eb8cc669117821d7f318eb7f09ae74fe283ff4ded8a2e6b363543833a311c2b7be7b6f07798ba355a716707b06c4d50792c888424a5a049b1b0a33c881059dc8178119676a2\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 602a88779ae26e4aea37700b4ed513abed889d15de24523aebf34c9027fbd62747fadbdf46449ab8cf1bf5f2c4c942423e0c22df00e2b513aaa7a9502ee330be441274a09ac0b872150d73e52f34763879c56d09c400521aff0c7a8ddbbae280289113bd4f5cb1780eb16040974f41b6ec4e0b060209e7743df321a597a8a0fe00df285780073a03600c16ef62496e7e06335b7311d16a8cd376784f27289d02aadd1be5390e6e618cf8271dbd9ca7f8338392076ca53fee750f30c95aebfb26c8cee568a2253f2075eff7941b455317728bb1ad0442d691167f6472883b6e8b07e7f6c5bf10e4def8f271e622dabe23d6d3e8c0a1e277781e5888237e83bffd\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 738a92656e1e759bbf4515a13598efa7c7c3b3759ca87ee1974e7ff8f379953b7cb107fd421225d4c92c59e459e33290e6b73f8896f5f064be8de43c67c68bf6da3c7e4639268e5f204a7a9832fc1b1b5c4756c2e5b49c0912bb0dbdc049949090344301c42619143eb8024cd633a5a8429c9c717431f9dae72ce8f848ced228b72562517006f5ca77ef356af98f1d2828a59dc75fffb52437ef822a151bc696917a4cd0e688beaa6ca9e7", + "ff15007c5ca12ff4da95e5780b8f7288fe9812df205a1a25baed9359ac87511bc8d4f0287de59940f0cd45e2f8ceb7ccb12b763b243adcec6da3d3def4e7856df4e4a4cd75fa03e14d5a63a5808bcad798ee2d2c8d\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 57c821093f340232c5df14fe7f6561c063d64e5660a353e6741774842e0fa0b4cd637ece4e935f7d948fa875b5978886b868195f5598a86e83f8d25bfaf445bf453c0a7ba4088e38eb6fb123788ad1dba2a3098e33cc7f354bd9622795720d3f3148db484fb982d5b0855e58ef8d74d12fe93e891f8987cf47d74024d1a2824b3d6a955670552d00055ec3bb0f6b4cfb87202cd66c36d831a62471c59c7d2ccd4302865496904bfce0a41ac3db7ac152fdfcec6bd984c9f63bda06d4b467ef1748f3a0c7f1e5a8ee5efd56aaae8981fb15329c44ba92d15edd20c982e555096b93921b081e68bd1e36b1dbe36fb3bdb69bddc8e9d9f6f1ca317ba16f664034a2\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 3d7787e441ea11708527a37464a529449650265f04b55294a71f3452586f55c1304fac48a46faa7082cf1b5d1d728fe337056551486d892eec1403550dd851ed6997e41f70acf7f401d1ac92c5e416e73f1f1a024e542ee279484db770c9a6c91c14d487bff37960db7a11064dcbbe07272cc036a1e0946d71f1fe97dcbdcab911b14d6e4dab44a07d8cd5bc3c0f008d9929f2d60b4c6ead2e84dcb86002adba056b3559fe40afd027cb05d41ea7f967e2cb4345c14ee37c25aef415ec932776de1ab992458203eb58a5eb1a21c3a619bf06aa0d6d74b5ea6decb25602139733c01e131c64b7de3465db2716940d00ecb5db6ba7c541543da53ba6119e7c117b\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 76a390230603a834305783f493b721b4f317f3d4b6e1bc26d1983ff1f49448babbeba061e94ef6b483579564496ea89f9e2e784e8e8db83cd0d2a6081048e4bece721197e66a54178acc6976089a4f6f268f8a54a2a9a3e90f583171401173f7f646d8cb422e4ee14fe057686b0072281e066a28cc0133c6b707781b718f535fa3a9c99a65360540d3182672acb1db4689c5d6d33159f37aa7e16d988d49f73b5e603f8116e1b5053ca45e6c04743cae29faa04ed939196b15faae2fe4303d7feab202d8809a7a2ad30deeec880990334f0da9c7faaebc1f7f64f0c8c20270c44b7046ee309d4bee151a504bdae896e856e202c8c5d8dc5d6f66c99961b6168b\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 60a639b945483083eb99c1c158f2cfd68ba8da37615b6f14f4a999b75da7fada3fb5b0716168f5342063306d8845ab565be176f457b6d26f2df5195356af72be2eab1185240d2b27d023141c060c37e46fc139d5df47667adb1e2acc5bf0b9d3adb7de087eafde53a157669b5e07507432fb366f4336f0231a04a3ff916ebc5f3a679239b39f952efe24aa5f053dcea10010986495bd2e1b6cad627f6c788b4adc6ebe482df63c13fca3b0371096ed74c079d8fa8fc3ab748b2e1935209a8934d4d4cd3baad94a6bf5be7c8517dfd55f76c25929cf3c14b64fed9c35101e3bbaa8c71ee816098741007496f20161aac16f1b4bc54b6a004d1e63beafc7bbd1f2\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = aece8a87a0c25ac33fe3225e262e5d2676ca68fe153b84c26b65e86f4dce6585f801e0b1d748ae6f3bcfcba4c5b95ab78f614499b547118d1eed2f6ede6e4a5966ae86c697577ce3d4f02cafacb76e2d90dc18222eadea2668717600e5eee93f3a20d583955ebdf9a66d5f957e42222a90f9de7232ef1d8eedbf884efe5e4fc0cca53fe4d7f60275c816f4f725b2d7539ce38ad3e643b7e4b4432842288e03734ae9dcb3d26f5e76ae227e7050ea7e0e5e2a755fd481a57d65cbc036aa9cb4062b5cee0d07e9dbae45b9a113575be96e9add1570ddf6b4849917e04bd9636f173cd5f79d3d05b1a0344cc62dbb523dd29c8cb770839525b9e6f7bbaf17385e2a\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = b05ad1bc0a5c6437aac33f123c62b94db24eb98d88808ebb1617b2866cc851c3818dd9c18e68c01416b1d593cabac1c364f89b1817bc58d021d9806f27d4ab4ec812d2a964dd70295ce9524cbc92b754e4057b2974b3648fec4a61c23548c7919ad4b97bc05639e6f727df472486c9f50265e227d648c56c13eb1ff4e5d743cd0a522f5b01f8efea61b934ed1f04fa0effc0b7a5a48b2662826ce72abaa3746e1718e73d06e3fa973f3117a45b578d759f89196b708e8685a314b8dc9387b4e82dbbad897708eaf10c285b9471468e2e464e57705e894018d2a02ea2059ccc7c7a921687ed9e358af5bc13c1d06d42afc5cec33e3497ad3c20b620f80eeee56e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 96a6cd6656b99ec45dae887958148f6748cf84dba950d7351033e98aae440c6f3603ed65bec311a55c6ec2bbc892442cb12730957b797ea8e3010efb8599891a3e8d209ea0eb6b32448e57f4003d2ac3dcf8c29a44454d0be799a5a772344282737e42f785ee3abd3ef80d5d4653931828d5f064354aee256b6271817e3807e15c805afae2877c8531cdccd2f8d66f3cd66d3866b5565d99154f1eb5a4f032596244dff79593980d07e6e06de0960c1df2c3f84de224c113494ade9d03f554871a0ef5c287fd0af2babd16fbf2983c758c792b489156e3a0db060a64d717e0d149c343c40015ccaff45bd4e3b155b9c4563d5b8c3d5caa97d7d46d4c5a2d2077\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 031efe798531e2ce640d492b623c630190a8da56e0fa3e2981680b20f14db024abb3bbfa08bdda51aa9d2fec81d23401a007326aa5849b24b099ce957c7e2b8352f97210a1e7ff68398aa3884a027f53f27e3c4ff65ee81af6afd4bc539e2f93282ed2a2274093305516b9800c547e4a8933db99b802b0ed67503fa58bd1ec8f086f1d646fb4fb3e468c75835efad1a17c5c1c7963cd74efc0c15d979a686ffc72f65b164dbfeb29930925ee5b2bd506378fefc797d96bcb1b55dbd4c58f0dd683c51c6d11c9427b4b452dcd7cc4344f21ba88dab082fa699acce7f0cb3e677d2d8ae803e0f1bafb0d2bc54d4ef88ddb91630fa6aa141b854b475ac190b696d7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = bc296554a73f000dc5b04a4dd96d91a82792cca120e52c7b9328a5b7518f4b8044e3bcebe8430badc933a8513641d68127d93a9137a96c81c67c4ad59048067990d14a208fd6b0d44d068c6bba72b28368c5781298d7be36cd3d462fdcf4f3c09fc0bedf8341b23f6722db3f0c96d7013603cbc35394ddb1f9edb8ac550c25d4ca6fe0062cb75ff3aced20040dbf752783a970783e78ac9f1c572c85973b254434cb7ceab15aeaa965878d1bc4be560838b821c35c218c06c5f6d690b86bd387e6511294cf9723d38226d95e3ad5d36ceae48889b7428d1f4188206cbe7673cfa2c28f51c4e451c5e2ad92c988038048c6c03b372f04eb2463512f5e85867504\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 6b36862a424ede6c744f0949dd9a3091d850ee1694deca2f844d864698eac29b2f1125ab310608067c37943bd386732b903e258865e0ae33eb38a8c35a84b3864b717ba29aecd5d5ef53f0def257b2951ee14bc95070356a9e9bf2f36232966c501710d08281c9b5944c5c923d65376f0cf592d3750603a758c16d30b9c307e32543a311bff7d47938f31f3547cc0ffc71441a1391f303970d975001d2df0033170cc00f26ae118bacb31707fde93c24abbbb8304b558c1bd52e9e6dabae23b789fb799f4f8667f6b7b724321d455ff4f391e8f1989f271204aa81ebb9491241871472ca1ebc38a05b93d557c4000e2cef7c5c9c0a85f8a63049170c90b2d901\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 8cd7fcfdeb18140c470d230b89444a63763c1025f69409757be574bf71fe7d899467cfe1a65d23d2401b7209e86be5a47753ad295c7203d2c935bd9de14556486908a7bf83dd9aee74b6e57204f9eb04cca15e2d50b22c5f45c7f362f23ed948195392a15b96a238b4e03daae8b7258ae607a9d5da0dba5629575edb56b444817824b8493b125d5da63dd81eba51dcc11f7979b16ca0314f02af4212a5ea840daf215e9fa082a7089550e5dd0c0d0f264d230a6249b45926fd360a4a56ac05910a15201292d5dc3d92308f98175c0fb4f9034ec8fc8d5b584e95ebb942fd16d04cd6867fbb2aa53377dca93e5ca2380de64e59ab41f71e449be3eafad63b4158\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = a83a07c4b0e408dd205adbed9d929d418e19e6cb0c2d486bf716ab66c21d1bdb341636ec9b5734ab9778ce1e28f882fa98582313d9840c05cb453973dc1384e73e2586b5e7539a3367f9ec788644f881be29c991b0e23de4e9e299dded39e349807318c5bed4d32b52d040ef5e99f06b1c14244347f50e57a8cb264638db98b3cfd467c2fb621366f83cbc68a27b0d3567e5741d1ccae568eaca51ac93f4c5febca4e23cc73fbf506ea337b0dfb47afdb351ac03e7bb81f1f6e867e4428d9b262d006976fb39901e84a2331b65b59fb96704f08bd77cbb7e0a39f357bc1100a70342e5f47c092a817374ac5ed1f66a4beb6f3a4820b6109b075cd80e0fbd840e\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 66e2bd9cb74a6abea34c2285165902c9a5aa5e11208f38a161ec72b0ba11e4006a9ff8b118de42bc45297a538e6aff1f4b56519e6d31d7ff9e5ff32e2ff05db68d023efb5fc10f5b57d4a3b216b63048c4aebd88ba409ec87e95bc239317c2320a06bad2da6cf7dc8867", + "1c76859e4750eb39d09fbc2e27fef6e6247b23981a506e8ba9e8ee29709e0a846a617649083ef5ee383209036ba666f1240389328aabf61996563f65fceda07a24052e68896c65aceaa8d4e543ad4a2858a37369ae622924af975bc6924fd5eef327a01baf0b864c557ce86bfc2e84c1900d201e5f66786b499741e0f3504286ca6adad82d379394d4b8ab6f3a4ec3b16eee5506d98e\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 2d18a31f2e8762317ad943db09655b96ae7dd2b7c4754af2e852bd0fa877c58b160d62ab9378c06c0956d56b96d63d5693ed28b5d57a635432fbcdc2911c9843c68094301c6eb1ec02ff41400b9d9806673a0c07310a0a0e91973761a2cba91e38140217590cc2634c85247886f6364d5e5499c6e99f43822241d4e8ce6906b4d9b66ce4407c6e8fcda8f18aae2831c382afc9a8d273f17e2d44cfde2f463ea47a3292a74f743b1a99bb9adda4b65c8415040834f31e0f4392572d3a1237d8227adc380f794919e16144590fde3ffb92fae4353fab405fc09b25282450f66433d25a3178655545dda9da0a4759c8510e6e8f3f85799226715e7b2be7867d1fa3\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba748\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 000091d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc15\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 91d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc150000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc15\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen128 = 22691; + +static const char *kData128[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha512_mgf1sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 1\nct = 101f82bcb8157966c8f50531f294510416393943fa9dd5dc05f85bb82f0492502274e07ca7dbda2a7e16187981c923d60cb6b427693c6d7b107ebadbb6fc400492fb795cebcc804d498a7d3a077cf39cd030e941308dc87000af5380b3ca5e8728313e35e31b78ede9e5f07cdec8e3569afe3d13466d06d4b77030d146b32cdd7da566d96753fa44d64791e687dcb324f52371c0191bc9f1a5bc7b7736a5bf00d3fd518b70ed6f4ae0fcb20bc92ff3eb048a6f767596263127ccd66e474e8c27521fe2eb21b8abb2c23b91bb16264e058265a567492bc51c4cd033b1d8a5d7b5798360f4c3716ddb43622ea5dc9fcd36819e05a989252dcce826506711a20fdb\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 35aee1c56044da3b866bfed989690dbaf57ac10211ca4c364c4f4127fed0a55b581217c7e854d11fd1a1f9d5431c2c309e62a6f7c3c59676182b288edccfa961c78c1baa53f2db1b1b9a4dd05015f41872cf22acfe3a071d6ac1e82ba6c31f5c2d9325247d6f2c9b03ce00c94f02fe33c5678a4149cf2fb70bbbd995af1465e3819c83c9ab8b55088fd5d75036613b04df302113948700d7876b7cec9d7337bf5773343d51a4298e717a4fae09e573fea412d88b836ecd4f74c7cc7500609723b3f3a2a00d85ee7ccbd92bf6c065833027c5e50310c6cf8fe8d13e2d8218e785333a2e65b547e5eda2f8f2f9608f366d7e43636fca4f46450c76f06dd08b00db\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 58878dc8b9527a416ec9bfbe0f07fdee8dc5bac8e31ca545ae7c6ef4a68f2c6b2b73366518edf85f1143c27fba00a5d9a9b02843ad8951631ddf01ef1238853b4593abf9701c621941b4f05931eaf307c06faa7fb818db8f859c96dbfc43268965303b44fcc69a0e3ce619624907bce074205f113715e5e820bc8c6dda65066453215702416db9320f54e67fc91e9d37a8522d701aa22976966a99cbc8fec0e12f2eb9b5705b4dc77caff82a36485550752a3a5ebd47fc67d66b68024a2c5db809d08be9090bb96e18807925b18a753ece05f1624fb19537abe7fd662830d56647a416df7ddb3e6a073150d5112f60538b685243f1e4fde2a5951c9e9499ecc4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 2800f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 65a7286d77963a2d168ddb4c0e854baf8898d1d22c9de5d4968e8b326f92ede2f18fd29964708211ef6328e4ef16ec36a775b36b4531c52e01c7cc0058064af954790160012517134f17d92a05000ebba84f515f90258278208cb0a5db11d4b1dc26d2042218d2fd62aaaf53633ff0f632431a010b7e14971a41791644ebc170792a61b5548569f1b0268c890074a4b07d8e62d4857f9e720cb7307713424c701f6f666981ac8e96ab066f303fe89a138abd57b24f03d9136ef468cd8519235cef7bab01717898357c0e4ff4d3685706beb5d680da2885556e84663772d6c299fbda67df2cd325cbfd62932836920e0751b0d8095b914c18fbe5e348bcf4d85c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 7fcda819b841cf7c668f9ec9e7e115146f990cc420efefafe239637076bf9ef1c49ea69474f63495d90cd3859e335d323ab9a967c65fceb0b33a760142b00894d1ac25ee7c2833bf2dcd086a0cad64433aa606f4747f14500ed2779470b4339f580e2fa0a14d870d6738e726a34dda3fb7b82509edb6d6b9bcaefeca077b2dc582982ee6e28fbf167a92b0ff1141d10fc3dfc49adcfaf32115f900b20c812094bca91bb10301616af5030e0a600c993a24d96764986782da083e327569103f7b358a6a91d05fcf89a9290ff989ac8c0acdae03438a44b16c7a3e06a1591869874f29460b0ce09bd022fc3c606d785ecfe4f4a120298408cb425e9abc7171e4d3\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = a5053d46939bd6c90f2a67f6613070ba40a831428884fbbb09d4923b978f17bf538a5963a0416875300f1b51d56880ecefbe58ff6ec7b3740a649f36db16ba6cab9b0e4e7a1ec658fa0fec781361a547a718ef5d9f7d03892bc1b18602436fbe5ff5cc6c3cfe8f2e9df960ed89800da546630251d292b00a60d102211db28ad184919709d8d4a1ab89d65ab2fdbcb66e1492c4525417eed89a0be2c67a79c5f89494ee7ef9d3d0d7db2de34ec6be5863993e8f64e4601b7945b2ea271efc941c4253b09dd3a3fdec6b45038887018a5018771fe60eb67a68bf977e9d3c6b032fa28868df58386902065ba3ac7f028600c5dd5c180552a25d741db12763dc3b89\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 38ead5cec1622d62e9f27eb7bb9d369fc13cf7d21256c5df8958dffa1df2dfbae006c80ac45ebc3044a20f8ba024b73c2e03185a9e4d975fe3075e6e11787116d1ddabf2af65904ec9a5b145dbf167872d066ef490c4b9a724000c44425cd33448288e883fd01ad915b8a4d9d3c65fc0c12d5c5bcb78b323db20ba07e57a18820e1154e9460d71b92f85aed92c2128c83e598564138a97e0379966459364be6aa166a8b62cf7c5b806", + "2d99e98fad155c9f0f1c8629e43a45674563f0d142c309605ba2dcb048a9d5c58feba16b5b2c988d93741e84ec47f1cbfeee540f10dac120734143c80e98725c609ac249558f8ac58cb21769941102af34aaf02d538c55\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = a4582c4dbd1e60062e517331f4d49a67491c975bbeeb58c53c21c1aa350c63d74940ebb3e6d8062cefb2f0cc645b07e77e6bd350baab08862665b80fcbb5c386bfe330eae7c43a451d68e75da6a0230a5ffc45c9706cb5bff4952aba08230a626929726ceea068d52c18c525dec9d94884cd93a5b39acbcf31a0a3c1d28bc2ff352ff4097224664102015a14d6d9663d91489f9ca4e5e240a4d9c93707e015f07dd6398b306959d6a545616a3124b3a87c8a17293ba36f3c8af4be8bfccbcc0fda06881e05046b8088fa09c542f6bc7a397ab82f47e05d517e79b462fa77be7fa1af05a09baa17ebffe73e38c3107f4600d75f9becaa8af68e37a4deedfd9f10\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 1bb7a6d1dbab994619f25bd1659c215dfc12ccde9f91ecdbcebebd9c9d1399ab8296035f43f0ac65c56f56707aa4a301939b745a0d0000652072aba5c514ca331c9dd06a2f1c0122b1ba6f9389c6ea6904f36cac5788d339691feabd34b65bfa4505c60e439713591a8ddc6ebe85131bcfb37f7476120d587f127cc52f8914f0c78a2edddd1c6c5280b745de595bc6be424d01d99e58a8834742cd2f085b334966b692c3bd372b94c846581548ed2280c64b320ec1341ab54a702ef7040ff67094d540dcb080fdeeb2050fff66eaabfd5b66c99ab49db5e6c72cb2d530d503a87d691dcdbff85c5e8c9fe28a1f32fc4a22a2a67ae9584a4411f8dc03d3e76b55\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 89bc06f1f12c0b688352d31ddbe22de92b3e8ce8e0f7d34e5663cef1b473408c932aade4f06b056a52a48a0b7c80c763ccd3155f9f4282aa350e9c494dcd99dc2f4c17d53abbf24a37194db5f987aaa176028b2570c8e74aab356e233e406812a17fac0b92d27f503e6dcba5578755ad33a105ccd91204c8ed22e923492ff07d5aa702394b5b8cc417e8e390fc8268cab2468a4285a4fc327a83038e59114654df7d4dd32910f0fc2e900177d46aea50a61fb0e2066947fc648ef40e22c2156464fad8bfab19d8dd9a4aaa8804024693fd2cd45c233c59ec67be03a8b23fd859003b2d01540214b3c06633ce273a9a992d11befc23ef6be34798522c074f4ffd\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = ae26c94476747f8a7454a80c05405bf35799ca1070341b73208de24e7787af7846de55ab36c2d0feacc1653197d42cfd02aabdd57633a69f7fe09bdc72c8ed28c4b1736ca7b285cc685886a5ec535da9db91965b291c53bf92b1ae159974ee795ad0fdb8b422c06aeb78923b27ce67a766f142d10f960448679e5fd1176124593d32b9b7653862147637a76a87332acc5be2a955e4bd2de8b63d873ff449715f6f1f7c76e4083151dc6d58a3e3144c694a4ec85523fe71b298dca5f0716619ea3e1182a94c5a9f6e602844df92d1d2850fb64bd1f28da347b44e0af2017bad6b61a7190dcfded0df48840d3a7bcad796744c7ba5b214002f930b28f958cc5f0e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 1773e5b493ec17b56e250885eb5fbc3db160e2f6ae55bcd6a43abf01aa61a4b0b7b2dd0d522428af6730ff374c40779ca0c2bd8008e266ed234c6133ad4ce13f78468a0f828ad86a8dd7866fbfac741f66d909ea1f415a7337fd449f5b2ec62c5bec328d18f9dae193eb1645e1fb26be42bc6eb980ce5679a88144a2dd1df32d8fc48fd9b3c70e95561f50da328161d2ff658196f7f98da563af6e4c1ed2dbe992ef0df66932a45812234211131b43f618b277c553fbc408ca2369f33e080d9b1188210434c2d90c3f8d03d892eadd70af1c43a8586a4f523c60fbba5cb98e2b0855db413c2e99ea4863a1c2db014b6a31aee56448bc00a58717f03859dd6552\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 6cffa2bacf010449460c15f4e4d5bafd23be3d7ba4ac69368ac0dbba1268df39b96a863e759eb31a3f9eac5494e29f710afeec490ec82d582654e782c06cb0613d9b15d8c06417e36f686b71540494f51e993bc2eb44629fd3299429068ea84309504899c5b1bcd7a49599938f5bea8d308113d84c38acf7eb901cf3274dbfd71b98f420a83372613b4f43189308aa76c9ba15f9769cf4bc5def8ae02449c3b1ee74f0032bf1a8356797aae23f5a598c3f336df8d195cf31f9dbb60ff4a9e5c1398ba07662f31246170ffa3bd38ab0b42dbbb555affdd4928a4b478f9d5ca9a8f9719b0b2a0d3ddfbf708368970bcf027e48ea2d0ad10949a238c218ac7101e7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 9256e2341234a867ea476be7848b35aad5e2d2cd9170768af4f14fc1b30be151ceeb2768767e090913e0e05844088fa15b7a1a99777b614a89e99de472047decd6e9214e6c025385fbc467c5331febae8e2307bbb0f015228024445e142e79d91cb7a00cce07ebd36474d6bb2194a39cad1c110492ac0e0637fdfcc5453b0313065475a563a8257aa1ea467c58cdeea0e139132a97af3fc90b3bd70f03c337dbe73ee8c992a71d847bf9f559e666592a7f1d3876cd1625ebd4056c6de6077229cc2dd230cbc51ae7a28105be3dc32f795ecc11b45ed1074154f1d24b11ab5596d3f8829a5be976b2db2dda1e2fc2174384e6332a63a19a734c50b1a34e201ca0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 6808813038a51bbaa5f4054f9fb7906c30736fcd150a1c70b3541d3707263057142503bf285bda1debd1d6c5491269627245cd649a027d0edcb4358ff9fad83c0644ebd8c3dee5be6fdfc1eef443bcd9cd5530b088f9f970623b380bbeb0b945c74737177c6b1485c5de2a0aad576ca79d05b41ec7c52975503f3af2cbc772116a27731687aadf16fa4704cfe56223336c64e2d8daa6a5fb75e47c0fde2bef7c48beb46317b3e637c5bfce3ff4fd5654b24ac6401ab346fcf7e214c674e099eb9d933cd1484e70fcefaff0498c8fd8672e35312d0bff87e244df3bb4a3c3f64d73fb0606ab46b8848e140a91fa3da08ec104bcee483360048cb1596a25b56106\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 7696edf1c06a6b772a95964665cbeb28f92fdde12ab092d7cf18816ef5209503d6416c9f4b24a5e4e1f828bd93634594b6a597a86005900d47e6b467337ce96023392958e30e4af43e7adf2a61b523517e299dd10092398d1b13c227b846a9ff8c792b0b1dc413459d9ba4543c81db4609dc6e17e5b99f04154444ef3b235e517e2b493f7fa1cf6e7271aa16961077f6843a3170aa61a0c4d57c0411a518cd35c0eb63e50b9479e7b6d41ea793a6aceee1cd892004dd35934ea383799eaf12347aa184c9be87ef1c244407acfef24f973a7127e614c57cc11a8161b92d57ecb67740fc29164c53413a9a9e216a5b3a290d585a5c0d9a26bfeb6b045b6bcf5c4f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = a7b27e1bb007bef734447c7e9a2b37e06a1721aecf7452f73da74ff381762b1489c6eba62e348ef4c4c6227a910025e8970729023cdc628d97f9d67e81a36e05d83ff625daaee05183042d5f1490c6d5ab6347e94f33a88ff692cc1388ac01fd1d7fd5ca5a026af5fe75551a76a8bf51b5a88e6d7f9e9977a91c535450f27914556a9bda1497dc58dd74b6f27b8a33d8eb157e03c3c5d874232f1b2e7c13138756c81e4de00d53629d6cbe7c7ee9b30ff55b5f31475e2ef3e96aa01f604bb382f5ecb0615d195c011d405e72fd5510adad469e88e42a5c61415c6147e2e471f28ac71c97044fb5df892cdc482caac4c2350033e00b43a1221d0008c63fb8f0b7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = a0c8b1ed6dfbaa3e738a3f6382a9d010f7281d9f0ee9de03436db92cb51738aa315bca194a9bd908340b0c3e1fc8523ce5711ab0f9b3f9e009ec09e1252805809eacfc2059579d45be3d4e26ba9c6be2f35c2ca3f00876a097d0ba9719ac9798c205fd8b44fd239f5bd21f7b264d883a1aa760c60a226c9b9c43090e6d91335a1f0ea04e5151631807a2f1e13fcbb5da9d98867ce9fd448ef1a116f779933dae65e5284053dbd2d004cdabf7c3bf5eb2cab25b0e646b25d34d277a4b20696f2e6cf735ad8acf6a999858d808627a049fc4acf5a507477620468ddfa11b56d28b63e46ba88ee90133990e0f4bcc2ee53acc150ab3f0c6ffa1015bcbd29f9d2d69\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = acaf316a29cbd805132b0c43a4589761a54aef928e4036b15b389a9c17a04c86ee6d595c064cdabe383414e41420be7e70163d89822774374ea85befbd3f3fc7dddc3de1f1ffa2bd595dbc678a03c0ed643ab4ee540c8e3ffaf86fca0f39eb4f795e9c387045ab2f378f246a2ff746dc3cc1df8f6158f16581231514fb22f6e169b13199c4239c1827767aec256d84f729739916f7d43a015a331c56099e8d33d66df6352a459356d9d981bf467dd88fc115eb88b4b22bfcb333facc97d295d72cb06984cd12b670a539400a719d11809a73f8c4406a677eb6285da557f8f69bd006da2c286a64cbbcaf2f2a083a8e5baf560c9d6fd703ad1544413eb0c3fce7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 0e5569756d22d82b912ac15e90209006c52f6a48a499e242c6603eecfc2087c3175c4d18f42bf6bb6b201b9cebdd8a97a7b32e4e7e75e034ecb96bf0013b2f52ba036ab2929c163962f08cfd96ce780912bbebcab7798b5cb3eab91b82b01dd1983c1bee76334a71", + "fa93ad2468a799afed4caa1284fc01225cf225bc0ceff35a6569b76b5cb57be214da94872eba8a73cd51acf917a627ef17547af38bcb805485262063f80c0daab609a40467f73fdede744db116842cfcbe4b1ea7468fcfc258e2069afaf2c552b3be864517a7b0c71d46765e9573f0643cc762ad21826920de1ab3d116496b71366b2f6eb487d8b4cf8b1d6d673da1b38fbbf1e11615b108\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 27f08c9efb8bae2841e67397d0bbb2e852c6d844b0b83eb0d3124ce3159020ac4bc750377f11630cda6956954cc9dd8ac5fe586e73c045ec8af96ebbc2bb6c0a3bb70c8d67cac5e972b38b20901339ce118e268a8a59675a6dd3db05f0f9c4890061d040a8734fd456176d1f4ef81129c7b3daf2eddb2f4c72251fa52550118496230461b583122df9f112599cee7372629b1704030385c988c372e4892007777098d3bb278578e306e5a37b89b7665321635b24564055f9f4ade4e2c7007014db3add8093659c285338ff370ff7e644ced701a7f8c131073f8651994758d0394224cd2271275443c079a3121df825024afec839406cd410f20fc829aa542702\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba748\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = eac59c81e52db549558a3b7bada6e9cb7b09ddabfec008f9ee9c9cb91f1976f168adef3158e37b210f8fbe1790bd6ab892cb556d5d1e204d02c2259f6f581f00371b1fe122cb7045d8fade589248475b30c37e5fd93b053411ca329e568a58bb503b0f25ce9ef9663a32b75165804d0f99941475bb4ee8aef1283b9c7a9a9b8fa337d9b6e35ca1be25db180d80804c241b6733e62832fcb8c660f2197dd4f4fd87078e46f85143b43682e33f58ee33b74a357d0588dff43dd06c6be4ab49e81f4f905a22b563c2704401c64dc3e4ff066c3adc541d5715fd7674031e62d5a7b2398de09eb8da0a954b3c185db29b3fe26e00a61067413fb640103bd0f503d104\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00002800f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 2800f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 00f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em has a large hamming weight\nct = bbd79dc8eaa9101aa641ce152235ba3d804b48ec5e3dfe69842f125d815d6a56bdb774857c0bc0966aeab1d9c774e921852ff2b84d0a44016382d0e091c3534f0d38f4d5c0ea27744fe320bb0847521ab5474f22d4538562730909fa4496a0c262fdd9b62b422ed4ca9aa30f9cd7cbffe22b3747b0f2eafe1aecbf0f7506016afc9cb3414710fa3f46dd779b21622579b78aa7b580e5960d6c21da81b21b112ee7e2d33f3d67dceee1f07cb3bce8d7bcf8678a07e55498018470a714e00ce9ab796ebcd335240c202c82ac18c4c8c47b2fffba6974322e0e55624a2f0b7e8f3dff1ab4e73bcc65158f6e3d06f7e37535b413a7467979cb5a748b91313e3b7bf7\nlabel = 83f0db4e0dae6949337373a0d78c4b20c15a13cbd4e2adb885c33e0ef4c9764667a8706d059d1d891523d052e0edc1d8b5c959eebc340ce5d41559a89a1aeb5600000000\nmsg = 6b2e7b3152a8eb663899ce78d5c196462d5399720e85cb69fd2714b09842db9dad683ecb27f77938182f14168e76ab7dc039c224ff26c4631344442d81afef7a776101af2d19c45bc7609582eedaa9c1c1a1d364194186b767e6329f7c3daf2ca26348d9f6d2a80b0d018417606cf2256d28b782ace17b8463eb773cfac1\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen129 = 31155; + +static const char *kData129[] = { + "# Imported from Wycheproof's rsa_oaep_3072_sha256_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 1\nct = 5817f7d276493c294359e776931f0c4922207b6a06b43b5b03e3ec6cea095fa6acb8313b61d4a60e293eb8f99372b9cd210818a54e796bf09c70e21eec280fddd784c56d63091bfca32ea28846219f1e39d262ea475e5ef0e0802e80d36479ab81f6250d3b590de65e870bc9a1e71da1bb32154c9af2d049b539c183c0b5d6225c7ebc81b29cd0ad8caee728c57b8a9aa81e02e0e4e2ae2653d8e9045a2f267b844244eb84f93fc5dd37fd956ac933ae1a65643bd910bfed21dea885581b6717cf9cfff50fac0cd7ab5d13884401f3fb65a280a209e6ead340dab05177724f6ce72109a78c433c936e88d746c244d6ffc9ae76d16cc5a2d55fe1ecece194bc1c1a7d589376b16efe8ab4198997476c3c47ee232107af8fd1285f27bb3b455990649c14ef7ae1e81775042d6905c37a0afdcaeb6ce8c303d8fac88d9515ce50e6df603129aeb112fb3742ed607a6f095b1de291fc9f1d808a9c17c78a314bf0d1317cb4d2498b1ceadf919b4aa0978b929fb1b25e2f310daa3e707a7e3816e2a1\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 9c3c92244619c8e02a3a5c444ed621ca2dff15ca12def6a375b96548ae86a1c27056903fe1ba70d376f8f7949adff43d946430cc6692b03151f4baed3f395c496ce2416d8fd91578c607832c3d02005a88631b741414fcbd517f7d4774a818566e2a8eb15e5737110a3515cd43140083d6c8f8e059a1ee0e30145bb10ae2170c0fb782296d646e50066bc92825f1f3ded41d694c6f0c5dc5b17b1dfc84d6be72ac705b41f82157593996f7b95b6362e7227f1a4b1213e473c1f6eb3014f2c79f255a00b3ff7d9aad362a88eb5aaed14b9a620ffd3abb2301feac7cbeb7728b261ee6e877da45d28e6554f736273879833b0d8f11ff04b44753130bf7e5e340303a20d5c21c5659f48e3c3d1c566eccc2b5c57cc7d215ecb8adc6cbaad1eb2dedce4dfa5cf2888cd307718b9980ea17b6b3c559b955b19534207a2ef5ec1ee270a69e417e5d6bece4a62f594e94ceae0ed182833cb7d58633d24d676d1c009be9f52d655c656ea5bd938f1459d9b8405aeb0317d6d4d14cf2c7de2146696a64bf\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 606657c39ae419347af5117fee8d9b8f28866aa59e0dd7d6c2c07a24db6f500272a7766cd45e809055b4ad8a650647076034035a055e0b492a2ffeac0395ccf0a1f79b8344f6e5fb30ede7a0c75ca443b9e999aab43f902c8f85b1c3295296a599b16d5dbdb8f0b65a541d40c4fdb7a800406b56d3b01466b7097a5ef5140e283bfcd16ab7a9101a71700b490eca0a5f12b465be16e46997d03f119b25c98a3898417a433139043d11149f07e829fb7a274f8b6ad7191060dbf740806326fc62921dce846871c2800f4b3ed6936b63ef829a6509d17dd5ab71093f75afca0b32f2b81b697213a1076757fc7e2d264597bf2670b61c2fa2376f21a32aaac2dfd0ed728bfdf865762e07303c860cef78fbb4a32bbac94320bf3246eb7a9e19db4a219b88c41e86aaac68ee52a9700e734887ca4547cc5b6b2725bcd47cfce7d74eb37e7a67ef1cc2adcdd5137201a43af8c5da372c80946d8aac2bd920283bbc0cf4afe2e20572e8100134a0ce1db5422e8a2f52e0f46be3de9dc134e2a0fae6a8\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 3302b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c", + "7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 22609a0bccdaf1e08cef04569a12655f58a9d5a43f83cf9f979e3a358c67a1e444d104a656aaebf8f7627870799435c292ac4655edcdc427a0b618781268a9664fac3a2ea481d3b62b3fcc37f0a473ce47090bc6f3fb2a3d80db8883b99f26c3da4a9e9b1902b2d0dc4643c8d9f47c105f8efa57bf8aaafbc96ab3094d49792d0edd751bf028611c1a5fa38319514bd34fbd19a837cd328f0a77b39e7f56f1c76d1e2ad9594251ad8c7741e958371a5737aa272d0dcb6674ea36440c807e57f95edbb182236bb5af45cf17d8649e33cec6e594b5d0e609fd7fd74c53358f9aa320df99c2fa38f69caa1fc333e4cc5d0bcf8a4c4b6d2ed237748eb1886e5a9f155aac9e86dcf798caecaf3d8e83fcdcf1dad4c2e304e288aa925ed68a3ed672c78fe3477f2f59510ced468965d90c88b1d7eeda4d7a6c5f6cfb418231343d2838d96f6152f9963ecc68684d5e5572cdc3b7cd237c3307b7ab72c810a5832ed907e275fe67b267d022c4dde029aa840bea6870f3ad29524a097f9060cfea3a73fc\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = a79686ec88818d6266f1fb06991ade5719ac10a7b0ecce5694dd76aea13fdcf32d620c290350839782f8083af7e73eb65a41d7a908644c6a28d6b9ffadc9545127eb1827468aa6f39a2f04308099480f79c37282e9d7f0545f6214bce22534cdf131c5bfc148562e45545beacab5568d3ce1615ad3ba0c48a93a3ccc72ec11ed32b770a3d435e5ecaa6f013cace1e04b8167dde67b97dfcf4c6434fc50bc53494d6252b70de6d48370aa80b8efd667993cc559791c0f60dd8e324a578a50507a2b36255c47871659e1c96148b17d9d2dfc453db34277a9ff395b828d627bd80083d44b594257a1b7741bd0b0865cbb0b6073d2b7e2a1158db00a20d652786937ed861e6775b551ff3ea78419ff4287a1d680981962f34d2c57a7ff0b8bfcbfe10e5c1a42e58e624971a53d59e1985b215a48a36ca8b4f2977b713baf9066ac3a98fef9775c97e248c53c3f425552050c29fe1eb05e31132806b7b7660da08ed9833ee43e7fe8f8d50325cfc1f6e54bc34b9b5994548516a980df38b9f61747fb\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 5a4eaf5cc897db7ed7dbd6a57519a06247b0c9c229f7bb1c6c6561858bca7552d56590821e22591218ca5edce82972f58cecd65804e048bbfe48df1934501d4ae5bcb8d50a0a12778540cd5354cbba91875ea70dd0f5057d808528f8c5600ee33c38ea7910f881e45ddd4db2ea933547db764769ca54bab59f3f9559b4d4e2d439462762fad169bf0e04cfc377b3f144924514c32d82e0a53e870ee0855d4ec96393c0eba5fa5fc5debe3d384debd1b61b33509f17da3bd95baeb0c43940924a11124d95d274e67df9e697c2b8133231f2f33aa5d6cc6f41b2962292c97465926bc8569a907c28b54fa6b6d2fd89c409da1b11d23a5f6c53ed82043fdaac6c0e4098daf8a27569d58b87b4597a25134ae45a8e1e6f1871d3310e56eca5894fcaa946e9a5844813e2ef31931dd105a3696bf04e4defef88c5c5a1cbe6bda766804a8e99c82474bdbc2ec344bc2de0575ff90a50d39f6446b99092cde226a81ac82f3688ecdbd527f37cb48490614022e2e961dc1ecbbac819cdcd1ed836a3a344\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 4b5ee510deba57cbbf954949f999d27fc760ad542eb46689672abbc8a9f56b3d2ed8d175a341686671ab4946655b7231fd2ecc8166781329f1f427dd2f937cadcb752bcc459fd51cf6d50721736a18d19387f0beb3b1c07f24bcc162b89803f58ebbebc35485505e834d9f5b69ebdc3428fd64aa70ac45d13765a89594f36498b5092fa8b8f5f0c359c2128af55530746375745966081040842f51894aec7f54a500b4e16525c264f587a3db0c2567fb431cc6d4efeeaf64df4328055c7b5d689f656bbbc221ee003a47ad35dc16655763c90633394ab8b584cfac31f81c90ac72e19dc800f2a5ae2fdbc2f839e56aa60558aba3868f835967d2610ba6214acc3f9d256bea014cbdc8c45a83d37fff6fcd59a7b561782123bcf2d41e15b7e08e7c247053d6114e951b5a50fc6e0b6281aa366f919cc36068fda6f9b228ae866cdd62a108ed151c42fd209bc4088cb6c03767bae21f310c37065fa66f0dffe8f4a8ca90b0d936888fc5e0401072780f54505f20e927be377a709ad13ed6d3fcc0\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 991e95287bb7b68da9337b8d5d615a7d18315a8b2a1023deeffa4f54728a1a0e86f4f70ffc2ec884eea8a7e6438656b96b6f60b5cbe724ccd58c7f94037bd458a24ced5ee99b57fa1df9fe91082dba94121e6bf34c5440e5b286af25ea23aa5295da4a4edd441d8898eea42606aee4f646980c3fa4b99da3cfd1383188fa3e5db7e464360d57ba32f94583f317bdc7c8679b793009f25063a948366be29e04e2a5e4e18384bab0c3c5dd25a9c015c5946b606b8e8934a831c674cc228b9cde32d090bd575ab306c7f88ac0ab610a4e4b81db9b54e9000bae8b8cc411297d7902bf219d3c5137a6c402a7723863bd3347293369db5916ee72250e8f699e0bf2717fc07c9550e875fa125ab902fc8d8df07df501a35e7146676480677587049090739721b9a655bed7737ff664def6cb4eed10466a264a83f3504e8ca057e98e9013837b221970549f40e48fe5c2637c4c5463d7a29371c5283111f1583c3639eaeac24b66aedddfca15404f71309f441196373dc4ab6419b9858131842950ad08\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 9a8b5757e7be4efb98d03e5a6d7e8cae4a3764168bb2e0854b1c95b4c0946318ab46fcafaef9f1859efe369c7bd3ea1bdb7bd3e119425ce9de08f5c2c2c2c036b1e01632d6582f86bba5b0aacb210c99aba26c96f1f3d5897617b5a5865e9999f6375bc8436073d631801a76881a6af0348759be5bbe2efcfc31416cc51ffdcecd0dc40f41247911f0b6b98a580792c68120bc3a662f0268dd84e8e7feee9634b590257020b8d1698510cac27c586a2ec72ea743fb2951ed79ae3e0a801a4a35361a37fcd1f8c4be9e06ee6e70481adad57d9fcf2baeb8820acba99b09549a3c44d78e17849a57c8ce356c823deff5597c8b6098b610f7c323693920fa088ca307ef3fb23b4730508bed46f575c83b2e7ed70ee9bf29c90ab7dd123a359280245dd7930363a0c2ea0ac1eab83225ba1cabaf5f57ba9c0a26a86242b3c09cc71533317dc5f1b4a410a9af00c14af4103ec6eb61ced21f3b115eb40c0b7a4a2d4667451cbd76074671e1c8ac3797ecddb82c55ea1c2309db5c4c9cc6ce6aa59fe3\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 0392ad8b60f892220f5ebd2ac686ba3bc49840dc8e54fcf21f8e8a656ca0c53ed0020c9d512d5aba3f3b8df0ea3c65ac066deeac64111af27d7f7759900280f3cd554ac91016f341bc089ca022bd1d772a1dc99ef9130cdd0bdead74f65d08cb1097c9b5745bf28141cfb6dd17c3587c549e06fe37325a51df08a15c1bf817760f6b4d6c3bf6d49b949e97272de6700e3a82a856ed06cdb3d0eaf6e74d6c9a5e6b2da5bb6b3b162baf291a78e0ce082b58057fe92de538672ae21c19e215e337d4ba7e6b878f269be166e6834d8670fcdbffe7676bca15ea3bdea2ce9286d87ec21d3c538f17c17e41f653257e967c8859bf9cca349d5450af6b48355b49dd58c189816bc4da34f907df6a178768c511e645b8a6069dee23854144693045814471cbcb45e607dbc82a501d97ca7e0c0f641da3f83d69f9561731ce59cf2020002e3ceffe8371422f1318194b862617d78c79f89215733c2aab34c3dd4f1eac7815d88cf18ac9424dfaeeaa3d4262a2e1f4871704e4453d65fb9cdb82700295a7\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = b6633093d61ed6dca2c22a5d7b8e94b34249d45c6b52b8b01473b8e2b7642ef1ea0b468a6ff1299b8b09c52bd3cbc63a157af1f85b78ee2f9ec7ca2ffdb19810dc6af4c5aa062f5ca321ec5ab600eaeab6bb087307ab0f8f0da27b8e0056d5db61852634033671983ae8d3455a468100cb1e5383ff42dca3a40a9cab167c33d118f67a3ffb4fa9eba472d0b0479eee9931383b3e93ebf3cb3500ad790bc9339b1c0bf4fdc1caa43f988e31587031fde728abae75749c2341e1df58bea94a8283537e3c77192f4b280a0021fae6fbdf9c456c9b34a5103e34829a8ad337d8020c77f244db22d05814877a3009e9a1e6f8be764b9d85cdcf129611c636eec65e6a968ca1f1335d320297d9f3c948846a8ef6545abd5badfd309acb083d7c163d712ac922de783b48812669e0d062d56e9e39c411b16fff13d48e0635ffb1ed8b7a43b2431e2d059a6c3b4a73dabb1bc0d09c3937dcc0fdc32b524d6ebc5d23db7d53a33943d8b0c034ac1c5cba115dc4e27eb04a26877806a61886f33ad3032f9e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 3f25923327bf6f3a1302697fda7f9024a1a4f649675fe8d5d09d889649499baebd", + "6ba47b49782b04284d7cd00a863e6c10cee1268854bc884bc1061a8d8214f1326f95019026a6dcb6592b9bca412ef144252a66665f137bdb5fa5a39d13de8808afc9dfd8fd7591d180d436bf8d5f0642715b78e39eeb022cbd0d74669a755119984e255b8ea3223bfda0bb53c74c3e074f373a7c819cb0dc1b7835d27b94b240407dd5420e53fa72a4987a565880a83d242b8aa72cc902e89d7a47d9d2d74d3d3e0c4c5e1c798217fd1cb56999034773424f7a1e04547f463eb522d546a71bddf0c27229f82036391edcfaa85b32ebea83b0bc99b63eb5eea1dc614b6aec31ebc824ac6d59ab00538b919e9855e51378a82333817d20afb8128855ddee447c4653efb484524e2ef813c8ba23e3bda9824731553faa3289cbade67528884650f0c9c604129ecdd19668dacb79fcfbc4341f871845317194b0a147c86ec1225d0053209b5d4d2ee2607665c7ab28bbb156908f2f8c1f883264da65bc678669b0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 1ca152106ad2592fa9a59024cfa7b33ef0fc9b52f1bf824f783c63ac1ef2e7accab17e5097103c4998589449398ae84a2e3368832cf7ed0647ba3d0f6ee5b8d947dad4a160e36fdab3f050371c4b332f0b4e4bc9cd7367ebc86a5fe51a8c925da97a01db87bf9d4a27992d97d2b7562d38a1fb1ba9c58dc5c423883a22190063ad60ff05c3c101485adfd95cd521e077f8b65cdbbfea945a5b212d32d0182bb1af5667adb413739e7c5582bc92845cbc17284f37b723bb8d6a77509376c492d58ed32683553bda2b7ebd24e5f83813f67b12f506e187b2db116e067d49eb1cc5e8dcd51a0da2822d2fbdea212fb631d264f255e0611c09fa43588cf92e1a3980a772560c8530f53de1c6b37cf5bf8325a915a9dea8ff1f580a657e795485d983a998e31fced4e23e92bc0974f58306eb2524cf3c8c3e592b2156e826e1fb88658eb65a947a5b2149941265faecde18bb1a2bdf7f03bb87a522278766016eb9b64dadf50d1f19c5c10632ca1f107d03b421abc217d3a07ddeb3b941eba59d37d5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 819801441de0c512f558942ffb97c590b1fea96059f83f626fdc0ffbbecd334da7b9acfdb8ce52829cf05f046f57a083de44312d83eb46c93e971909ff553ab9be3c42f23ca15d7b7e14ca08fe874b0db6083700577c69a5e8a3bcf6f7c36240ab92ed3deb516b1aba0533a727eb75969ace40a304e0cf2982d696c4e95e30090b14a55e078426061c5d160f5456d6e6443f730341ddaf0acf4ad0e73b60e4bfe5e2305770dd65728ce2424d79115efd8de9cc2cc79bbe1789331b9a36100e1acd528a6fb25f6f093e4a9d4d187d767370f52c2deeef9448a6c016369e9fbdeb0c85b75d44a9afee56ccf8fdee0785e3e709bb36d125aafbfa9e80e38e01cd6604c5b29351fcfbc3bc31023aeb841f5926a37f728d3d345d48e2545d5412b738050964d374e493b3634758a39a73a29f5fe41185b60fff764008efb9257dcfd84a13ac79754875834d598c9cc4bade1c0927a274fb4bcd43d8d8a6dbf2b6f386022bfc68b79a13ecd608645a4d5dd5489935e221dbb767e760fda20b0c74aec6\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = bd60d3822203c14ba38ab4a83f40cae9dea49fc813a2922110244644eec6cbf63a293b5b7cd907705082c9349cd862f6f417d8d401d9c84c1dd39091c8288212c7b9b6ede28fd84fac25afc707ede9ddf3f7275b75ba946d2c9d75a2e26c712b20f704f3369b6c21d9c2a4ff3d691970055fd4b9d42f53c8040ff307aeab32c957973857843cc7ef2a3a2c86fada1ffedffa21dca1a343abc4f66c5944087096e3e4b6ce3adf9094c62d7dba4c615d7f60b13cbf445210186295fd55929ca296af79208f6f3e95945507e094ea927aa5c24316d8049f960cde93f221a018e42f772b765146f436aaaf003a0a4404b65861b86f299cc1d3b85dfdd19512632e513f282e06ad0c0e063950f1e34d612f8671a67724012597d080211cb310b162370026016db8f3ed378214ea76694c335723348f045b953467d86a13a26abe92194894f32b440bd247d81fbca4b1eb88e6175527f7cf454f7065ae5a0c5360d5f709969deeea42b2de830c2d346192d38589aba7c493e8329077deb6a2ea55f714\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 59ce93a93ff164f56ac01663ac9489ca65b071391a24fa7c70d4434d5a8be4a815ae3c84b6112429f69809f0895a3a35546630a74ba8a9c293900cb9e55e6d7ecae3a5c67471efe91e13246a04ae6b41886b338451f681597574bb3ed36a732655e8c32c819a82fcab17ab919a57a5d0f670c164bb02718017f99b5a6f45b5c0babdcd2b5d5fcf39f763f87fff70dc8cae554d1eb91cd9aed7b54f70e44e2d045602855e1a8b98f48b93da66e60c20084eeffe77a4fb5426b382505f8af60d97b7baa46921127dfd413b44bd26bf6453e10a849341677d809a831a68e24235af3a28481224fd114afc88ea74266671295e0e8d132f83f2a9f534b704418997fd51ae3f8eb0bd1353b1e396cbacd5b028d0323ef115c6c35af47c138f1e2d87ee03e418a9d02b95647e551037f263779322f1e9ed29f66432f3e71b1010b07951e0f155ccc4c3553602ab28551b6887530b7a066baeddb111f90fab9ff18eacd2f48127b1ffda4130f66f15c69593552fd6c8e2c0add716bcd8f4c23caa9341b5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 5f2eb84a45b5c17a89eb1337b0ca5d7f13314a850e5607e1348b1bf1afad9e278454ac3bd3367c36c8ab22d1b3d8e16c364e0ab79c9ca91383c3ff68b8601faaf797f3721551a5f422594a8e96069ee1b7a698a86898cdd5e1b33d3fd108c74bab7c1e08a17a47d7f2195bdf1644ce12d6c5d4157a03be9019e439da230deea8972e360fcb3ba2b59c6e9fa514a26c00791af0dd5401cb01169a333ecc2216d2e0b603a52cb1fa09fe530324bd3e19f868c8c5b4cec1a07877543ee1b68bcdca734a6cf8f28bd57cf41f306f55fc759c193a6225893b3df93cf909de46a9a0eb80c58f80a74e11e78217489409579ab2a53ac7e0f615bd2e3f875e9abd2fc9046db342415b452ef112b7367c301f3bfe7ed537b5659302dc49fd22a8b0ddd8246fd5259b1f98bc857e4d4bc489db04d41379d82f81ceb2e3ef0a24defbbf027be3ece8af03e4e1b0323dccff2633183397289545988b0524b30ee637bc2fcfacb7cf97e57dcc78fc507d02cfdb4e3e1306888d1adc4d5a7d2c12d12c3e2f0d69\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 4da5ce126030a6df46e78cdf2c25b9e81c394b2ab1eb72128ba36e1ce978738830dea1af9cb743d037c0391feb51e3562a117b5bee96335495fed5e0969f26a25580a549e1299baf27f44253aad62b532524aeae684b0f989a0c5997ad35e66b8f4ec2501869b8c7a4161a126fb2594c728c96b97f0f52d29d1c50bee8db7358d5aed88117d262cc790e912403a332c5585195d815a84c8fef117f16c101fd12f51dba843c2e28b758e05b1fe47d738299a120b179703bb8116c50a9caa38799ab377307ed51c185d0ff54206e8b45215a5670d3a408dfdcfef08de0282d59fc33ac76c733d2e00c3a205b571dbf62c1e330d0948397a6a4f7cfea31ef6a297e7308a56bb48260cfbdc497d30956c976deae81604ecaf9ceacf056fccdc9e5d0c8ca1a0de2e7faa24aa0ddc97ca75d5e19e07a614e404ed0ea318bd04ce8866ab6db1f7ea6e65316582e3f8f23e9d9f258104da3cb9c3e8b2424642fea70b5de0b372e1b1ad15c1c97b67be227788bd1484d624d652a665cfbbac148ac4eb1c4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = c43f9e1991771364c2ae0e3fe7f0c5a30e39e998a7e1b293209a2bdd14dd1cfa14356288bf9f71056a0cf724b8e9242b6ad5f6947437051b9e09afb610b5a785f872f40d0ecf76417c38c2957e92d0ab43f77da2cd548e324ef96d87b78952e490e3d44f32125e62482eecdaf448a7a0a70df5b275b086dae02925d64216b25861017c73ffad338647133784b3629519245e830b11d2a9dc50385167b9cc698fa52ad02c5ed1d876f96cc1e425cd0d1f428c78227db88cdb0a9031dc555130a464d224e23ce8a53f41d3834bd414bf98657bd310e411a464875fb7cb12927cd30d2471171fe843c7f2d34160997dac0b91e9a3204b2d46909beaf50482d17758e088b392b1354e26a3ce8fd30afd35327056c432af2f4d0806b47c57183fe6172f9e2af390b2dd02e63d99a920c676c8e9b053e9544f3f01f75f0fa47646887ebdf8b677cb9855e49fd41587907accfbfc76712627af36d53253c3cf396e8ca0c756deafc025267e602af5648f068441e31b77773a0eb6b0be51b162941372d0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 953969d3123d65c166431050330fbbb6927723a3315f714b6ed05c26b733b88c5ee3ca8d03515a7f3c7a6db910647b0243084bdcc3606799c7844b59faba014e8715b766dba6ba11cbe86eb7dea482af06558a87e51a9e4bd753bdbd01205bee4d3ba127063c0396477b600e44fb290a22241a4e1ff0091af1e93841ea3cf175b09aff11b81d9decfa5259165f4b7417067fc491fe816c700f3205eecd8b296f0d4047df2744843a1d8ebf774226a74e33b29c6a95750cd532b868713c1df0096bc9daaa57f21a7879d0f007c247c516de49fe3890934b71c2400646a983c688f1ad176891a79a87ec4955ef3e22c089c14e5b014f90de8f2ea1244effbe28fe001d6f80d09d2643f19e3bd09a8723267dee93ccb37ec58e10ae4725bd87b85a6268df03e98c5ab3227ed0009bbd4b9c338cc7089cb66228f626e2e12de47391ce49620c50fef3cdf1bf6bc0c068d81c3c776fa4b69b422b2fd5775535bbbb82c652519266fe45252f7ccb75f820690c91c1fb7430b8086aa10268fe226c9c79\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 5dc333cac75cf3da3e0a3bc580d5305ab08b11b10b8a4ddc4df54a6c08dcd21bea3c83178db7c3a9f1581a6db19972c2924ed07705045f0dc72bf60304e0f9f140986ad024aa4791f6b4e903a3c1f8e33f61268feea185a1b0f7690b80924ea06362ff9821ef7e39447bae69fda7671d11171dbbc6cb60d0e95bada53bd7a81e8a9188b4eb63d573bec3973d286777278fc4a4c7aea62267ea0c268a5498d2e989de4e4472c46a2d5961fd4a9a75d81e23e73770014b01721a09c05b39a1bcc1913a9a", + "aa0c1f7e54859a86ed3f1dbcb5e4371658c640961927c2719109a964bea77b037d82a08ce241938ce0ca349590b9a5644c3c8f22b250bbff4aaa5731fec8ec554af2c3ea743effe2b42e30ff4ff181f8e6552c11b87090356b8d7597ba0d97059dfd77c300db534d6f660f6ae9163ea6d24a1543f5dcb691ef1fb9b917b7980660e223524ead8ea1d7b4dc29f1e542122361b4688c93f15434e52b791059650c99d97e09a3cf15e7dccadc95224478ea4c90615d654e51ca9433357835\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = fa00dcf88d38cfdbd67c16db4fe513720bc05e8649e1766e790ddd0ea86cf0977215d36e4d735c2115227dfd62acf808e3839209114929b6fe36864ec3e1d66024b62763acecfe3adf322168b340d839dbbb5e62d2196868dfd975a7a0eea51610df9a5202b0c7037afc6ba5b68d93bd9446f5a9ff1c27945852bf7c1b1aaaa8a1ff9fe3604fe120be2df2d8f1bef9bc049fb667459c487000c59b6f54bb8edf409521c5f87795f3782645a2c42b5136f281875e4193097edc2a284ee6f8981d637a276dcca9fe5cf990763648845e5cf874d56c57d6c49dd003a929672c8c2dc8cf96844bcc9d284a20f8449f8ea18ef2b6128cc49f6931623bff00e85c1f229ee9a9544ff2751766e5687ecd72ec6226ba5c5284771e57574cd65015940db4d4c88cbc3438d8ae0ae420d3962765bc7cdc92481ffc3e22ef0dc3c4cbefdc147639fc93029d68985e6efe7e9b10a223e3eb7988d2614c6f3c4b84fc84fa6c39667ae2054fed4af3be503ff186d64ca9cef2e9771c011a21074e5c6209cd08df\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00003302b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 3302b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 02b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen130 = 39041; + +static const char *kData130[] = { + "# Imported from Wycheproof's rsa_oaep_3072_sha256_mgf1sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 1\nct = b47525feffb063be5201aaa1d6846f9f397589b988fa26848afb9bbd9d6b0d0c92cec327332f02bd072d53e479726faff5fb89677c4947d60d5f1d7f3bbf211755975e1851f17f0d88eb970bd14719a9e5b257cde71071915774578e0bead5f7ccd7b476732a47e0d54ef214488d733c689238f6cccd6c8be7145e0dee871fcbb504c93e1efd842b228d67fa3e303a1081e26052c6c11ca85355a2de7f717dc432a90092ff9d3d75301e7f092b3b425354939c43f0879768342242836030822c9bbbbe09d5e938fd070aac9f974c35dd46599766ac6f0f87a036a36e3650f7244a336bee4a9ed1280b8adf57d702844c739354eae88ceabd8e66338e59262ecf51b28f4dfe7bea8449383c27580f81ea06bb4bd031826e6f6ddd0c6a3c7eae23d3d6acd5f6388fd9fa70e66c86d178394953ba4e391629a9a588797e25acf8c130859cb7c9504998cce6dd9e032b1a09aba8b215b03b4343a5c0f2a8253b5543d301bd883e941786371bdad14117fa273296b153bca8ce4581df09fee1bd5e15\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 4aae8595883dedea13a1fd656405ae1a94785eb86318e181b747331019087686cb81b259f864c6a524137a316f744c0d092348fe0428e1d9551bd402404342e1df33f7491c381a4f32ae5687bfae07e1c408c3e65720f54c5a168a29df6b7fbc1835fa49ed5a8b42f2acbbdefb3cf58fb6876c2a0a710bdc5c9032018c6b326389b3c32efbd7aefa8dfde0ae7bbd829e6160cef2c8632335006baad32fa7af1fc9fc3ec5ac9c4f7af226e7561cb44338d428d97886d29009989e1d875650c9f3fa8af2a0924f93d00d2cfcaae67e8a89ef34d96afba478a250b7995e7882873bec869541c02ed46b410ab75a214f0ff08ceaed4444080a4ade6baf39aaa9d9ba52487dca33759153345538143d11af5f0ca335a2a3b94e1045da7ff690a4bd454fb788bd7c73b0b16e35ec2766024fd0b7fa44e0ca01fc61e331b1fc8b09f549a946101e2b60c339304a48d044fe231288129d2b70d6b08592288d175183e442b9aa4f5ec6eac0148b6be1f989263d3cf34a7ff265539b8e34c2117b7a1c7616\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 8f71391b8e3a079a51d015e86e0572aca134e5af782000545da1cbbb4cdfaf836542cad19bbc6aca73367dff9cd1e33631260d390b6d83882f82606e28abd2d8aa229ec1d93b4cf16599dfadd2178029360ef5a3bea6a136cd437f59289d334f20e7bae91ecca18b7e4fa5e3613e489ec806a52bc4727333bd7ebd5bcc7568f697d4013d0f6f54caf1baf36791fd21f8ce84643031ffe474901920eb4f592ffa306a979edfd6c287ee5b1fb0005a21d840372c60a649a1702fbc46489211700e8262bb1a2f54fd38da6a07e15850405a277705a66e7088b98bfaee8b2b51992797d5e5712147b756367170b6fde26c3fb5988ee07f916d189a3a18cdc0f3b1affe63538cbc187d4bfdcf5149b4d26bb207a1495d51a2ee1c2415f4a0d6434d50953ff2fe8480d276491ca1468e86c2318e94087e984444b04e7b804cb1f62c66573e82fa6800ac3a42ce0d8e5909f3dfba024a40c51b21b5455836a9244eeba25157e24676e1a317d1af9bf4773913ec3ba6ed1df50d3810eb98bcd290757daa\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 157562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1", + "eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da806864\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 7c741c6f511fb2eeef9ce3dd89269e991cec00f0ceab514a1780c0ea2e06261259652bbc5e46871780d0c03f933d2a3e4a482ad95bf346f7402509a3234617ff36bd50070e2278e77728ebb27eec2b1573c76ec52a25d921b1a6372ee6200dec65575324588203fc3635948e856cd47a857cbfa8d2fbbd046df850ecb1582d7ecf531f4f6f390b725703a58e82947141179811651588d6b13ea9fa09d138d71afac2b24b82c48ebf0e5dfdfc2a700d93d396c8ed4f78846797dff44535b39d176ec2d0124dd61b29d36a314631aa2a7d25015a06c0e30e2dbb011045115d6d705f06b593a22f3f6921806acb1c8a4460cad9104a78ce9c18e940fdaba39a6451a10a54aedc3cf31ad505fa889ccced290dfae89743722527324ef6131b7ff0880d90ebbf803fd798567ba0e07ecaec6c6ab2b3257688d2c374cc3e48137ff81a66c504a8aed98ff76ff057ae39ac67485b17abe4e16d6fb5b64a5d7c3303137ee286cb6ec53a86511cb224eaf47a59045529ed6049e3bdedf619007eefe4094c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 76efadf7cc972062cddb8c0eb6789d1422632751dbfd514d3e8a4cfaeb17e07d78244aba11bd078fa4fe3da077f1b6b2a6bb161dffc4d96245b6d24acbddb56a2245146699ef629a069d73ea233dc3994f93bdbc208f6f53d4d74e47cc0ac167ca7912c915842d9113e75da6b2492608412e7fc2a577fd3621a1107c1d1c5e74d3a0aac4cfbf389c88474aa37be31d18fcad2f750c1b176f2c1ff544f5d23fd3e1a3c4507e62d5a2c2e0fb1bb426f860f84c4de0a2ac63f90e3a6e266504389e96b37a16ac03fff70f3bc4488b3ef783bea505911512b7d04abee4ce52b0100727e563f8416e9c6f889e5436b27388cd6d7c4e2ffda6896688f8ce15167e8baff14ce9ab95caee52a5fdc51515fca66b646af8aee83e0aed730bbf2af2a966f330818dc33d4662e4dffd50025cbf77efe6ffb3c6cfa24420f55a418d08b675dd85f7aba3da35cbadd290482af1e7a0c2b7034a41bc28a5e3dc2c47e78fb46ef14dc4674c65f5cacd17e4f542a9b98ec268bc977eb97045f50c714ad7a49c0e84\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 0351794ac968e26863bfa67aa4d602c725b79ca9a4cd907a9e03c7575b975bfd99fa491b5bc3f93e1eac5b48d95090e10a29d9e4edce709c74886ee2d5067bcabab044e239cb4c23e1ffa8a8666fbdc706ecf49225697fb6f1a095e20dcca49090548d9fd0b8533b090823a76ce6c8c8a139a20b3e930a8d2ef8d868fd92c086c06a86c172e40e76f9920a6de6ab2fbff2cbe029b685dbc20da94e84442050b0128200446bf227eca935e1bfa8c89ec3454ea3a82cc792a2512d8513f2ddaf172e35e735ad69a5f892ad0c216e84ea9e92129d8272db269173cbc525e61fdfa5533e2e69a4670ed95f4958c684476c208002667fc7f687260eb54d9cea88bbfeb7b6d7aa640cf0ad0af22ecae17034c762bf832a9e8ef090926c5ad4fe6a15b6e5ef69da001bb7fbc608bc024bcf38e157dbb57974169bdf302ec177e48d15a1d0c919d9b8862cd91d454a96df1c720561928e282b9e922d0d8218d65b74bb740cb7cf7455e97a5e6bba07424382c31c37549d7f29bf7e2e23093ee861dce0ef\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 7a9f4a75375002889bb9c4cafe5f044e2f28997474465251246788e51b0cd5c52c809a69f1ccef4c11723af030fb698a641b98b88b39c152e741b8ee29b13857ec144f200c669010a657441701e929ed7df195669197f46909acc69388128bb75645f270f20df256f0d0c0ed488efcf26c44e4d4e54a8757f6c5bc7008c68b7fec43778743a76a890d383e2983a754095224c56862b4b62e20f112d1bd96f30a3e66a20b01069c0ed9730f9f7de6cb13e2272640ca5cf807e64f44297e3e58ee9331e1f04610694a0d5be7006f96747cf730ff3fc4bf8884b3f9f0cba9c4a8f38a01b225b083d77516d46ade258242b0ea4f367bcdff490e2f127f013808cfeed451aa7c0f64b3156fc968507ec7c80572693d154b924fe18dfea946d52da81a5ad0bfb5fac7010ed5b4f18a0bd1ef400a2804b9ca2b2dd0bb8b8b402952949bba935b674c4863ea4a9e38dd701d23c71e29b4a7c695856db5978b7e3c964ad8fd4decb1cb5eb3f83e8ef0be4e5fefd27f8604b1d6fa06dd4f97110317bb19d9\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 1f1ef3e2956c31f6b98fb4141a42fb2b1a14331b5591f40b5f34fb3cff536753eed85f9c54f24c76b29cf7010875b17e2bdadddffe230d411c87718a5f0cdbe6c120ade66b2171949bcf7df65e6c687249c0dedcd358c38aa1b61867e2435c478f46be8853906cc08741a1c092c2fc577a0b8a32c818434575b54bd58e17fcd1a6f910b185df53449fa88a777f1f795a89eee2586c1cacd4d1277333ca2ebbe0430190289665c3efea05871227670fd07250652a1dd2afa6ed9c295ebc68b15a254725dd6006d28aec6b1acdafba69247790ceacedf5eff437d569a71e5564d6ec6c90d295e225fbf525e76b2e466985482927345737eabfa34046ef618494af1c847b1d819f2f99b15c13b8e817d437db38a574f66da845f54895710f1b685cbdd83fbff9835a26de074c5b1712d98d4e036c9720d921739b8f3dc320f1d266ae5b367b92f5e33ae28a7a06f727f2df5437e55c325cb233c801ddf6b12240ccd0b8db8c31a5ca652cd0e33bc1087f4bbd70a0142617903956443f4ccea5cd93\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 85186e5bd121796c604ceeaebe2f12fe87f41f502c2622f0ac8599428f556f7ddba82355e65dde44fe1691b7901fcf6ed83fb837c1f7ca549b2565da1a249dc717c245a9c6362c8e831ee4156dfdec6d9e19ee500243edf4419d152c643360e35935d88a0364b28038cbab30d23f6571053be99e0e405538c54a71c4483caa328a8a49b1e9a5ab0172d429b5635fa7cc11f5703bb95536d218bdb4ed555a2b1b71c717bd65e3607dfd7e7cfc1fa7f42e72a5daae3e6bd694a4a6194bce970cf102bafc5573b8de18544080db3e89a753b9245ed9cf7a17282017c8276bfbe737bf0d802a7d2e9a9fb5f373f9760708211f9b7a99d3dce0becfa77c96b1f5fe1c4ae8cb2b4f7c741e90e4bd2fd1b93648252e4576b5670d51e86068497ddf162a80dbc2a16b73e16e3661f31a8f2fdbb66764a70a1cec5e0e247e38f3fe95949a5742b1987280ba9d4afe69cd00fe10feee87b9d0b40a2e94fc042a4a51474d7e162a1e7261b2791f8af2af6978bb87ea1059553af71777fd04fb92c4fecab972\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 6aa169ad089b2cd0c5c0d0742e452c4f1bfe9aa04f4df93eeb38ad6de8cc93da66af9ba589352446b8c3a5797cb0fb8b0b6d6b6fca1f9ae4d508951bf0b526a9433a9b26b5cee4aa943f0d2c0d94c479ef8f99e2bb680aa4bddef38ef607ce2770f4d60629ebfabdd9fc20c6b88c8a02179dce5e9ad9beb90cf75baf5980edbd5b92794bdf9bc58dcc44a13b181179e92fa394152506845188b80aedc2fe559a3bbc289b933fa2cddefe080817f6fb3f1e8f585389ebbef06c3376caa975c07efe683a32e64917566645330dca75480e7ad2eae5b4505b6ad5233e7cf4c3d8677e0350b8e1db4cbfd73344e14f458f49849cd991d3b4fd19061bf25784e17b04230b9a1db1637a7b8c0f4e3bfe00952201c039483551931f84980bf8a633a1bbf4b609ad64ac6d26514c869c1d7b915b223356fbb07fad300cc9a8e6c768927a857c7e9a58b0d784a04e24082a393e65f098ff211dcde8a5155550c18bb22d64d324224d77e150bf424262f17827f13920ec7df259ccfba158766b0b52bf25b9\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 5e6a85d2e4ebae323cdf919e12ac8e5028e0bd12501c5c81f2a30daa39a0ce15ed25e705c59edab7e53895e9a4b60b0a0c75f11d984a5cdc45d8f300398868c76c973e5d47f50831cbe994c5c76633574bde9f274bde95f5f4c7a05c7c74f59718e152c182b4dc9f86ec3a677d824ac63d33aa5dfd7d695bc409a3f22d84b4d75effa7c80b64647b1344e948087aecbbfbc607b667611fd7c3f847ce223d0ce6ee131f75eee01cad17131b5de821fa7d6b458cf989e3005ecf6fcd1f6cd022162c2963e05893912cdfa9b06634ae0e040a73284414a9a6d8f8ac2e23b51ddcb108586216bcee3f07c7b1abc84c41b98cede33d5c4ab8f8259aa0c52a4b6cbb754aa21c2b2ebe83962039651c9159ec65da43458f6ff397d9503d41ee102d0456ec58b1b8e28febdba82dc92e5e6941a097c8e406559f8410974fafbb77a9f72b0566bde813306b1a7df7603f731e8982f1730b95f9e541b29eed40fa85978044067650c55ead01240e58c456d9416145b0124170f10675e22d32920e91c11784\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 61a595dcd055dedd65419ed49aa559d1bab787f1d38ff2b2ca65baae8439bf", + "2a6afa3cd590f450b42962d84919d29f3d9c11a2586be563163b0a16a4f182029568939068003b3cfabe21ff2c6b7864fc2f6dfbe31bcfd32a1cbf3f0333477401f2d469b6ba8a7509d7e832df96bc0dd71e3c0d2979ec479609db9c19d8cbc99682d5ba09a8dab54c1ef4f3257919c3912aee52376bf3dc4ba4de5d9362b6c197779308ecde992bfcdc6ac658aeb01d5112fe592ca8665641d1e09dfef06ceba48ce18cf6b8ca0edb966246f04705574bc72c163ff7b28c149376bf6302acd2dc687667a9df54b4796941ec1aa9ee96e484e34429ee3a48e8a8a0a912569490190656207dd2a933ce212e229314fd51ba3fe505db2d10a0d29b5f54af042b4aaaaf3b548f38837b95d61739a895fdab837efe422db7fc71ae4652ba5319ba383fc459c7d0115c32b1c99df909cc3722e549e3119e0b47061eb96e714522b8b64cd5841967d43cc5f700a197ef0ad5c7c2e064fee98c461690b0fade7ff42e3f11\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 5c7b1e592ecfb9b230ab893e72c80dd0f762e62227686a1978cfabb3b961c490ee18a68174ef713f4dacddfc392fa0862e55e48cd084199f702507cb1ff8352ad67fa9c128a5d2738382973a65a6302b169a94d977b242ae57edf951c3ec1a368ed5a580ce6755709e722f5a8bc0c6844c53e8f72748f5123ad8773485eaa9a52446bafeb59193b1a95fbe6a8fe876abe6d26c161d8d3b56d5f47cd3b9912e9e3d283ff8d459f99348fd5d81a20bcb4792717b48af6a455333b99aa6b34e9e2f8252be8d51256a30af1209d7c33b55238c72b92fb08f216eb598a99fdc4d660307770a19045fc5e21e2b6e67df5cb3e8a2aa7b7997cf0eeb5324e86a952704beda65502e29b423222bc68184e4e18e3bd1efc4cd0d371eee26f2472184edf302701c0dc869cfd10937ec9d720f0b09c9e663d4e528ed257bf03a6bb7edacf03ea5796c5fccfe6f99cf8ad9b487db1bb228130afbb468d289230366e3890ae1b9561ee44d8fe019eff7ab5a6b2179e142616f9e2dc0c753e570185264253f180c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 2595c4281b17918f228519968ca6882fd7abc6de23a3beb223391548f6c856e99d497778dfdd24f4a91a63564e0e059056977ec4f621994ed67135ae72392e35a3b80b21ef4ce5ef01cb72faf38159b78a7e395eef3525872d6fcb7b97124be06ebd9c78110227ba0108e5d681d9415801b70384822cc24f0cae597da0f161077940fdfee3978a420907b0fd66dd64a8f4231cd963a1a36331dba563922675280457ad17d8a9a051f0852f2d0a69044fd501f1e29c4fdf9ad5957e249ef72963d678ebca418f08a73b8c16ce683b146ee731da35a48057ce41b309ef6ed90865e59e3477e23d7bbc8e5da47ca9c890772f7a5523ef181af764a4d05781db1e8a856b09478acd29c273f3bb7b52a7926bfcf43326a6bea8678151ee6235cf8e94696e174552ba644867824d9bdbaffdfe6e82ae8dce01674ac44d636f6ce97e926f1da2fb4bc941fea2592cbcae57769cfebc519c77c1fa9559f3c13fea9a3fc985ccdd02aef5d977b7aee39ee424c8cf4e0f522d5f50e9981e3b58f33713bca6\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 2db9c10038f4912d0d2011c0a684a3b918eda30b238660865c3047285390cbf019eb7bb0eb17c1c94f956eae46ec8f6f86b4a800ad7dbbeba616e392ddc7e5cc1bdac3433b57e73b48a27e62c59de1da90a8960f3d7010792af056407060ac39d6c200c89e9e0f10668962bcd13506b58b0447424c0e50b27b3a5e501dd35470681dd6f88a05903f4a9f42e9e4440a998a9ec6c575b0472452fc2f7816fedfbe7b9335cb3d9dc84bf54ed5e8bc89a69aba9ce9507e388fa8ff2ff2af86c6ef6f385c7ca2a18714a3652721c00768d8024207d8ef89b4cbe181e645ae1fc906620a7a9890ccedf3b70a08bd90c4acd3b2213e75ad7a6725eadcb6b7a57bdb5cad2ad599991800ab4f7e8e875a2c722bacb09346853dfcb293f213e4d5612458441fb923615b5bd9ca7b38a1bf2578657858ccf0ab002de62f04c195f3588db29c6ecd74815a48c0d7ba9808750dc2569621878f5cdab99c8ae361fceb0f0440ee4c896cddf709dbe0b3d3a6a643cf98b31e40296174ebe7f9fc25805bd6fe8328\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 5552caabf0e33c74402cb8d9cc43fbee119055f8e5a9169d8fa3eb5bd2fdf2f9fb72a9d190ba067eb625da0415b9e2127a85aefd9ff61dfdc42a6d252101aaaa3c11703115298c8893737ab8123c675a65f7db661273b936ffd0f3a5cf5dad3d732b749c83705a90d03e1eb1845c4a37fefa7d1c10da277de8437d44d9c448ab38433985a1b9a24697bbae2dfa875cb033e57527fedb17dca5102683c907b82a4aad66345da3031167fcf6a333a9bc4006934409c7141c70ba0bc3915b2a5579a351a8a6d7613fffeb014fecc6dc9937b1311970e71f45968c890521fdc2167b80155619b575019b563601d8fd6c14c261f64b9d5056ab189a9730dc157f69ac75ffcb8cf2fafa06db43ec91f583ec085c6dda8b0dbd48df33e2aa84eb5bbd77b39334d3dae4dc4b63da5132d69c0879639db22f84b29fe9e03b0102c95c339bf85cecbc564091d9168d93e92f1930617687adf56988cb89b69c367632cca798372b89002bec586e92609c021273a1cc4bd596342d6fd7fcf4911b3ccafee359\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 11e958a24a754abf620bfb2c265c568e41ed4e601bd64e1918a4759a84d6cada1c3b704c9b5c24a3be37aeba85e539b33c05ebc685e81be333d599f3fbea364eb63cabf71b57d9cb38ee4bf01ecfe7a0df7f79d390981a7d56ae6be07c5789e42ce50a9bb84e388301e007ff823f95b677d8cc0c0ba7d320f94032369eabd8500acbfbf2040dd68cf6ad2abce9ad3f8e54033c81e3e2e9ed966b56554d4f0a8134e3fd18facd3dd4e0d3e5fe7be2e1121e926f6f7ce9727475c0478a73bd2256d5d0d90c4ea144b5ed91e3984febb2469a858020294c7c561ae2ead0a05f422fa01e7d91f9ddb1e50a4bd6619f841349f5c998554f023b19abb2c5e77cb0bb14c2630158e37b83ffc5a7653d97a42c7d670feb8d19ad2a3a5be3a3911024fc7d797c3f27b84923e6837eb6a24ef4c9a95f437a17d0faee59dc181771cdfc6c989f7cf9004a353e4ba84fdef74871024ebe667e4cff2959830cea4f2ccfe9a83f58388e56090ff9ba7278759508b65d39c4d4e977f0d0ec1280b7317e42b8f05a\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 7a6ffb72a3d0219ad9e99ec707c39c37d4aa072c47553c307270b9901c1587669de22819c1116d67f4689fef5453007800c29eeae66a1ba58ef4d08a77f2fc7fe9d6bb3f4105adace30eacd883ff86c0c64c422b9101a997a1497ff145d63f7f129a11237d7189361af0da522ec7ea7ddda2732bee2f2870a590c362063ddd5c4ee4476272abe76ff2c761fa7818d951abd8841d516c816b0c7ba93967f95401359db08c8d5aa4edbf5d535ea42c1ebe316de34ba0e392683ca5c5e6767c186a1e0ba04b7ed39ecccf96ddcec921c192c5545881ab2a84c326304e2ed70d29315746cb8b31bb7d036023684f6fa2cf33d558d194389029329da0802c377675a0f3ea28e497c712c5cb0b754af92060ae722563facc3a40794489765d23c9925302c8c5bb9ab8ef5c05c8a9d8a0907858f51e276671a9c96484165b2463e8bba99b3ab7ba5bf88a787800682b98d204f78dc0e137e1aca622d8a2e2f268e2a23309ba8085536cd0630b561211d6c844ea29224e7cd8f598df9bd91a961ee33544\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 4f2f2db05cb302c4fb4b2eb83bd00e6fe362d4b7fae313de90374190931919727876280139e8d52efceb10003b9b367e13195d83354a30df2e3a06a743671df8761f25620790d1ab32c6ea65b74317e4cedebb725e8558d89ff6d70da36663cb34d8b0183caf9a6766b8436d2d9b0e7bb92c40483cd7cd30a681940699c8d167a4b1a0b2ba2670afeae543d34c60cd758ad7a53b8053be8bcfa471635389503b1146d051e978cd4befec148417f3b4b3cfed96ed78048452bfe88ba9b7ac4cc09ea8be3fbcfef9a818235c98a43e160f25427a5636994066ec1ac19be9fad308eb71015f417c15330083d6726977714841383bab6f44f94ef2b7313f513d3589d67d96f1b4d0887f79e414e77b77c39d5764bd7e5156193821fb80d11f7a0847d68d62e1e092d09fa4f2bb1bb65bcf407ee2d9352b3a84dffa4ec241a850466864a38518e2d5f3b51627dce6e6cf666f5f80b476ed84f96b023a63cd92229feeabdb855de9ad90cbe085190f20e6039b01a41b36f111e8faa8e0ac4578cb4fbc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 1afed89bb5df115fb1cf52de68fd4b1c895c86a6852a06002519a69c6a983e54d19351f930c227b46a6f3481b09a121bb19aeba02f2abca4b0c5aef15861f0f1d25ee3f6c0cf56eb6b3d10ec5b7640ef409d9897b32c3d3e98da2ac0089968c352838d0bc6a594786ab813c212cb72a1238014d421642839c3634ab14f61d0c775f03d875490354dd902b23752fa3bd39cda588aaedaf31b69d29895cca2bac9db554708224b753eb36c7bf11031fe9ad0462f5054750e7b5616cdfff13467b20025a71bcf4c5e6b31dea741ce589c1cfbf76cd858ee480a69dac7a306308c5d3ec8108a7efb2fae18504e72e263c0a1366103abb70cb1f7a7f01074bdca763c17d7edcbf8d64c9b0a74ef11855abbc4188451183904ef1e9647e512b302ef263123b0e4af885187d8e1eb2f6a1c65daf7b2779be15337c3386a284801cc40358c19a4d9e487896c0bbfc1e56913247e97876487d875d6bd487553552b4faf8eb4b17ddfb55a87f46b202bda0e64e480ef03e057b410b5823216f87e4709bd64\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 3dc25636b9915a15c0b5bc467c0f3834e40ea9df315ad7e60a0f515408382a40f900e8ca2279cc2de6c94500db484692f92a0a62ad1a91be01e55e82ede69c5c188bd624cade6a359524023b3654c4dc6fa2e95a5062a1f4ea04f26343280871eca16ad398ab356784775159cb6d94f45838ec75c810de14ffaddfcc76d5cda931f6bb0285f812d5bdc15c77af50ae6b10438019e0207a4e8f95982651de5b251702f3778f4c92da002250cbf9e9f6cf57b8736b3b5596e6afc06076460e948f87", + "b64b008545a1a8f71f6918b4d944b6c9a777a1119eb1ff63cace54492b7fc7c57e55d7306d06df5056275fd1c61845cc2981cdf71a8f6ac8bf58036845a6100b3db63d6453b22f44e9dbd85a417e10a8c033cea38f7f3d1f0fae1af30f609d97d8379542dd1a3ad593c2dd00b79badcc9824f2a0946991b01382b205050f68926efef723a10acec37788969ed56ad9c2113a4167b69defe05f02ca56bf93fccf8278dcf160b8e01bdcb4460013bae15219e16c64464cb15e2b94e32c909cb8\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = dc73866f40b72d4dd67fa7484655a0aa1bc3569c7cb25222b6386e8e4adbdb3830ada800cbba3b063cc173d930c5e465b0746fe5e46093c956cf84fb058897e8cf3244d5850bd604e4c27e19ee03ad6e40daea9ae5a1cec36ca0fde49c6cf42de296f1527b758df1a460057aec70b54e4862465c4233ce6f140dc69b1027fb8262b90a0ae523599ea3f7526871ed0ea85d7c6d30bea21482b2583266845a82b113b99933f5032da3089f58073449a6e7631c296d49aa1d4b5ecced0da19775cf70bef05447f1b56535135d28b2af6b31d901729c05521826176a5bcd04990882d17758bbfed52ab5697ab85c61473ec8796b772856e4b68365e1ff5749a3f6be0a4e1691e8d43143cecfd79291344eadd09b9aba3a12ffe9cc68806d55dc24cfbe09c6704bcbc5502ac6c3537ff0db6222889e97b101796872754a2d24153c3dea6fd521dcdfe5b5f083a3417eaaf7b6c006b6b487497471ee8c86787e8db92a39e4506accfbf9b02fee81a8f3e9cac67cbd2f0862aaf8671557b705369b7a67\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 0000157562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da806864\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 157562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da8068640000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 7562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da806864\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em represents a small integer\nct = 8390361b70122cf45d2cdd8c575a7e81a81ef3cc4b54f591ecb3d817212701a0b53df39301b88b041a317e6c01d58085a7a52a7f5e6c18975918b5a9b6166baa57ec8be83cc19f8c40c087d2d7128f9f45643be5e1fcdeb7d733bf3bd1b6e850b676f32cc804534e29b2c1f1fd50eb94d3ca585d584f854e2dbad003aba313c12aa86105a9e53ba2da03e8df687f3f1932554175756a48f2f13f3fa63e255bd0f86b2e9d3bf680017ffda3b94ac1ae12dbb5b7e03e0f022f53ce1fe8e6708ad61b30bb9513b76224b9ee689c69636224e613aec7dd6386fb8fc7772e336ce101360764dfb8f762b86719976571e560521ca776efa90282705129e3d30cb0f4f04ccb3bdfd1dacce9813d1a589da6ac9a39099495853e346f5733b830a72a1dec9f74214b5ff93f7a8e68874fe90f7c7e02dfa2afb96dfe5018fb6d6c3a4705be77f901282ae50d911e381213495f44fff40a823e618ae7d248039b6ec7e13c78819c3222a2fef30fc389ea017f4e98f0783722ef626ad4c876af3a45f5f8fd2f\nlabel = 904f95a1a204aee8987400c5d30ca79d72fbe988321fcf55dfcd0f07e763a9d400000000\nmsg = 119f6f2b7ee1c7fe0d5c2eb8d68566d8cfcfa3e9bcb1351737f23ae3472fe909dac0d4cd2b34ca643e3eda5343b07d47138a25489169897ba8772a74cbdcbca5dc4c7ffb707d57e86db83dbea8bff77172aafd113d5445618e36f7b9e50a1e9e0eb1f0809528323b45195b16666f5c22e8365945918e81e29aec72811adfe006c45e968e96c605e247163ea93dd434017b482b88187e06d021b1fdf4c985142f471e08d8a2398d54a6ddc6ceca63c430d3f67e825e61cd841b9a5d157b265ec2e5b789ba4b3844bb4ca168ec70fc2afafd9dac34d967400e982ab175d0d82a5007905a83115a181d4ee569c223bb9c2f9e1499f2798658aa8ee0488046b6915db383b001dc693da904cc4e330a9937914a8e0c2309b07be783d0e56a045a195b124f54016ba1c3ae760c2606a90f32760e303343c1b0729da9d1ed18fb16\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em represents a s", + "mall integer\nct = a5adc9089becdf7dfdc75a59cda6125b66cd9680c5689e6266887a4a73880b492e9fa277f1839994438962e946cac0da338b98a8affce9765feaf004bbce10a3c85faaf2a0a1daf931d273590c896dc847ecab8b923005e89613784536ff40fd58e193d1a4a179383e4fde0b914b1537bbffb23f311f7abf9c0de7ebf412451b7e8683389bf9f80bf6f3f564ed44682d5712d434f5a8623ea6918af69748b5d5d26d2c1b89dc6ec5262cfc327ab7f3cc1524c36991e28bddc59adcdcc69fcbf32d19db045753ed85ea0700afe3915bd95467456c967a1b1bed39d7b3cda9f103794eb26479894a83066ecb00e23ba424897132407b50f3d25fb2e9649f1afe244c5d4fabcbb53c2d214febc978a3495e0cce53fc9fb61aed4f7f6e42152a6cce5ff9d5984e4de9c7b757c6f9ef5edd7f5a20450bfef586996b009cd07f8377b240ae859b1e4518413d9a79b6111000ecd1312157f4ad3a35a0386eb1f9bd15193ad9e00cb0d63bbc5e279add877eeda0ad66ce845d8acbf33f69b5d8b16ba8f0\nlabel = aa66934039f2adcbc6de2b9cc1b00b11bf33a72ca8dbae5e7a8af45446ec682900000000\nmsg = 2a0e8d66a82662bc1db11a99703df46431f00f815f55520c16be0efcc67e8757ffd4596e232ea9a09a9c96c66b73ccc94da587d0eba7bbd35834c6ba2803a21b5e9a70aa8c37e391f6bed5ffa250276c19719dfc01d8f693d5760ad1af4eed07387a5e6cbdc69584f6058c04bbf0f3f32ebbeccc2d2bd395e4debc53f44a7eb184111fe6ca944865c9978f969712e1f777c3c2fd4286b705e40d56f7b424c315fb5b181bfb14b53dff5687e9c122fee7b3569444f76dd158cf3925b6a3640f5e573c0e5b420287396d85db8b3eb4e42336eeb55bb04e0972d6fa2172391bd954069c8aefce760813961d360f1a34d052e90f9b2b8f71e8c63b7a1fd2add9b04046148d2d8308f8517ed8010f8b23a56982a77ac8cc7f68da4c8e3617933bcad802044e176612450f2c2f5e399275e3877102deb58418e2b51dd2cb0da857\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em represents a small integer\nct = 8da7f29a7b3fefb253514a166eae3b4a8cf5a1eb746e9c6e3c0bb84c81047546a77815a6d527c3ec81c23761be29ce1e44df62dd3e6f5f04b91541d6f4b3591d9b8d9d701d92c6080842305e73c7be4ce52f3462c3676aba2b88d70cb82cb28a9052f0315449a7dfce72089e5a2508d99c54346bd2289a54517136239152bddec1181dd09406f5bc2b1fd9f637d3fdd8b2efee4136b1e8b8ac2aa5883343f56d74280a0458258a7fd7ffc3277c79adbbd96a928664853c2b3964b139071dcd56ad6bb3cb4921a3fbb2b90aacfd932b5d5c5521088dc02a453c719a22a0cf7e925264e8d3252d4c05f326f9bff175937ff2c3b5f3ba29d18a37e9d962274a99bbb5afb7431f68f50771d099288f3c4fff9b07dfa656bd8bd1d309ffcb8f1541e747ce920ca2d6b7582aa81838b379f4dc4ee23ea768e16d42784f97f0f670cb1424195ad8bb382faea3e5017ed8643065d6bbaf54999b08734097e7e34b3203d2c7ddc42073e15ed178e7893198028a58695f9c58f74a7def45eba8bf7ede23f6\nlabel = d586a88b3b492bfc530bd701d28172d67359ccda042cedca29f17a6152f01d4300000000\nmsg = 8d708fb7bb840034728ef72ec2bd7f10b95e37c272a385129d58f003364fcf454528e290bcb872d51306812bca9ae146edd97f2d56c4483bf39b073b43b44e38b55b35c7c35946c59ad9d513af40dc6d65e0edc2017091d4b762d7698c5b632708028d4b94b2e59489bdd2140aa173aa8529134e4ca51f7b3a038521ce76eaba81dff111922fdcfd13b75dc6a8aba0c56867c4621c740fe412f5a4146076e2c1c3132012e7fb48559ed4f39874e6d00479e5a19b20f8f3e247b91c083a2ea603b2a75ab0564d62c2568de416082d9a0c1384742839baef2401f63dde8e0169446cde0beaa9fc0f92ad4d8816fa0b9b06a3e394d9a0466b9bbd13b3c9b832b18df1537f3a79c941ecd567880d99ca9031690e619674e8cf67dbff8ff7d650c03f49f8f0fb2fba43b76e6116fa9ad33abf71a232614cfe1a2e99d2fc6d9311\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has low hamming weight\nct = a42d715c584bcc5589631f73e7ba3e0ee68d590626f76526b15c0e6defbd3a0c0e0504dc90157ece3c12317cf898a3d753787807892d2d67476ca7400022f0b3fb923b0add8a519027875778cea6537ba5a1c6ec5ee73d60e6fe998b97c18333ba711776d617198f38d97e7b56e260637efef5b68432394ba6e4520a33ebd7785fb05b212973664492a271ea666e76e5e15c9304a291b2a3800a2e0918a293aaf69cd280db9333493a261386a8fd602cd072bd9a16d242da982c33b6f70d475ffe8702ab82471831496584a4a3b6710aad7e4019dfebc6ec2f3e3128ee19325de5522d64000816e98be981ec2755be99c4d340413a08f2f8c888452887ab8e9e293297391fc9473c216d4a48256c3c1b8c7a142be547fd383de8ab7c2ce4fa5d4a0c034e1098ec5fc4066ae6b70fb24538432f67b8b188be691d94541522e78fc6cf46e3480ea6188598f8e73d08593d8b17e4fa28f470f72a1ca8ed92c7a9fe7abe2d02d7c13917c93a37dfb2d631942ab003c84c2216135bf8e2c014e96d48\nlabel = 01ca475244e50d16a353682007326d0ef4568cdb1e388a8d164ac114e459ae3000000000\nmsg = e00ac921d4554304c4d4c75a656ec3ec388c3c22e9837409cdba079cdd80fa3d215a6ee2db42947c7c4cec3d31f3f80bb64662df47bb9640eadf73d64054e3808b7c847e551fd91bf8d15baa9e33e37b688d48432deaf1855821721d903f8c69d7f6735d6d57d98eb8510cf6ee31801946f6aeffbc37d545028c0d5bbac890e91142f630a634c8b54ecb1eb9639c9e69d5c8a6a8c320b762e341948cf4e8cb9ff0da3024368e4ca87b838ee293fa8e209f8b993fd6a1048db31d149f47b150a1484c14f3c218baa1fe9a17fe74acb1f00050fa7642bc6ddc6574004dbf83001140cff15b3fb32d221c8bb21d9352e3356780e87b0df0b03b1cbb6b257150c70f19e43ab09c5a511c3b3a7c4ce192e718faac1bc6bcd6c6d5958b129076e1e0b3aaef5b38a1f82ccc0b8479aa41ab316d0b3c22de19004e06ea50413b0582\nresult = valid\nflags = Constructed\n\n# tcId = 35\n# em has low hamming weight\nct = 51ac53ba60a571b3257507f19d07646d340d8ed75ddac57f0633ce8f2ff5e3d86d94ede08c2e18a5070f954709ccc044625592249fd797f98a62190a6a65e0c6f8621c89af542ef7bea7c4efc0495abcc4554a22a77c9df7d6173fda1f25d3e33cf0f4d64989e9536570514040611dd78a07bf98f76a642d7bb359b151e99a5b0bf5f245ba896602f01550818215f48d020b8d521d63b611201492b22d6a212ca5bbccf3e475f045e3afb0f976fef14bb91b45e2e2927dbbf2bfd1fb94ff7fb165d5c000eaf09421df56691ba70bbeb98d660c7598cc58206c57a37bd9e8e111582f5274dfce29c934d156656e15ed0fbb61c0b4a733324cb3e6abc95d75b0bdbef8b617e0eb18350549dedd8692f18fe6e2196af679d4ddf4b040efb92d2fd0ccd60db025c402616e0f3ec8259e7b1667501dda86a41e15fb3bc259d6aad4553923bf563933940f1679106b9bde4b73a86a502f1e5afb6a8190dd4b03cad65690dd51afe3e4cf11deca11bd2f28a759c94624ed6b26fe3d89da93eba095b56d\nlabel = 9bb39276df720a4c92ca64f2e89a3c144fb2dcb3f8b13d74df5f24a76945812f00000000\nmsg = debedafca5e356c5375f0abf71f8c6ceb3879a1d9a0a5d5a750f2310e899a70f1cc833bad9e4204d883ac3c6238939f044a3df5641bc1ea2db48995850ac642ff1735062f441dde9376e61a3c7d2ad1eacf4af26c25e29bf3c1c27d3ee76bf992cde316973f88ee7c940beff156794d0729561a24e35e144f7da7a87664e423d6f040f915d996323d091901968e910ae6e206b586f084b5da695c1a1aa0784a7efaf92ce453d3c57f05c8fdb1ca7b2fdc0c4dbf463d5d8f4f62f19281221eb386ad292d26deb871d968d0b42073e1687cb3413f07702b47307a7c83df1a6654b0d92f55aad337d5e7cd58a7c7645df931ade6aea398e91f148392eb6032827cc2543847140b19bcdaeeaeabdf7ff22079aa822948088e7cec45c953ef1e13139f3652464cedcb9127b38b600f3e50b914c2661cb3c7196cbb9b7a4fa17a5\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen131 = 30190; + +static const char *kData131[] = { + "# Imported from Wycheproof's rsa_oaep_3072_sha512_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 1\nct = f9798ff0c606b0ff80a1042cd429d55bcad69856a0361640456261d29a98d2e42cc9618a08044fa29eb116d16f67212cafea3410c7c839a67519cfb5ca1def83ad3fdcc5488984ccbdfb2726371e1c2ca157357b881d873a7489004698ba21d697349968968a0189bd56ba4761b0e6feb4feeafcf4ebb5dd95fec7cb0a3cd23214356fbfdf93f17668196c354f7331a27bf12e8e9193e5c6c79e445160e0f28304be532b3157b50eac999cd162791c7bf446aff800686ca5d14a272a01dbfc6511472c18aa62d22b6af90a6335fec530aeaee8403cc8a07d9c2df2e9ea0e8c0cf83b82cde0488eabb8e7c8d18fcdcd62e680c6835955fdd7fa30c689b6b39805f317bb00e8dbe21907ee92f784c930acff37d70f8a7a838c7230e77d24ca45a5650726c2d1e3e7470d4247ee9f0a1bb8895dc2359cbde3b52785e4c05536759ae0c83555ef30f97482fe18f00527c7f0b37289c31c5621e3c7895abcb455277293e277c450bbb972fd63c533741d9a931be06163e166a4c6b139260e5909f01f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 93c78c91f4245a3475669a0683430aa59900c789474ec8f95321c46252e440209469e541778dc362b2ce9d5a6c822892b5e3754fe40038d5523d76e13ee07d3ae941963ba947b2fbb07c687a18521181f857d134a3286c073abd024691a0b7b85460a1872b5e33cb297e6630af2acc82c8fc61b96b8e7795f7e6bc8581d196dff9e3752fa88b08cba6bd67ca563043bc5296b6c26d526e34b0683b921739dabed3986c9b36b354ea17dfda86b78cbe5f0d4646cf102fea80da86c45b5dcbea40b44807935620e382aa17c6ea148d9b5e655793f7e6b6088ce719b08ccc6b5dde7bc3424f1c4d61f3a282bfee3d6f30480ec23a0b6c0712e9fb2ff799fc79459d1e2dfe8e7e87404894bb0a31260c1086c577cbe703a54eb9e750488529076c2dbd6f6b34dcf39e843f0ff279d0beab2e6709148b8562ae172bcbe0e562125cd6ed7f5d3a055c320bbc3c8b4bd28f7f9ce1fb402ff265e6d311e82adea22332d1b6d2b920313882ce3ba836d17e1176bf001afdceb1ca006c8a18f574bdc635c0\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 2679e7a6a3aa29ea006f84456c5cb6b33dfc0a7d1a86cf711f001b442fdcd788b01cdfee7d6e3d63ff3c30b2a67515e7d1d609e6ed4e22087d5857d7fca0d0b8f5dc41790d2913033971f85ee7d789de23ccee294493dd4484eb79e400799b24d6830ae8290343ed50d123ae840c6e4aa819badbbcd513341fd19654391085b0682d8f32c9706eaf8e2a0fa09420e861dcf8ca0867ae2f4b333031cf8fea956e3d67b67c40d97847cff086033cb83b95f33267c69d771407ecf5caa28fadb976db3855f39ba0710498271c86649604db35b141c8b9ae343bc4bc62b43d5c662b424a8e766eafdc22b41686d96d26d65cc28a221e15f53a1ce82ce664a2d5dc602bf0c9e488781fbc0ed679c9b225258a5582f15be48ba4a7a3d541a7433af5f40de0f04c04544962ba318179d2ecc8f4965d306bc56e2b6ee7f9705ad1501c218c31bc2f277c62029626fbf631f46964403d8037f4f6c8349ee8d9906274ede7d6b78ba30a3e0473a2621bc86dc31ba89561d82c5559982ff188ffcde9f81729\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 5120b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac3", + "46fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 290186a1a87bdde5c2ce70e17605b39b4fa2a286fd85c299a303d56207ddd0557ad5513a7f92ce1a39d8cd571c9c638c279d722583e17ae488d9d3ddad55d837a43845a84f3e774d8679d09b13bf218d11d8a2173cad0c5fc7b86e477dc372f215bc5641a13e931170c6401447836530b065f574f3376b99d4e0200053b92b1fe1c8f513d2d8ddc3ed210062e601d4750c5bb9a63e051098f159ecf8c40f90e6f0265b357585aaf35c32dde08e565bc6687319bd7c637b7e1a012408224865b9334083460aa39c12565c5bbf03a316a6ca5c174d6edee3391bab9773190bccc4bf737ad0f350e629d2eff4cd1611d510a7cf9c11dca1c86b8dcedc8f9b80fcff7a828c9b415f4699b2a1de2bebbb804e0203a1a04ddb95afdc4bcc6d98d240ba71ca2918f21696ec92abea1a9e16607e86f40f7de08c9013485d9f8121d9f9c0675980275519dcd2e705dad4d87009f0fb8f6c413b97c131766620ab583c82dc1ac489bade156b8e502335365bc4a8d7d8adebcc32bad71e6b949a48118dcdea\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 13ad5b087b5a11595dcf44902ca1011fffd32efe6b77be307b3dddd1b528f33e7ea3f36e09873da3909c7f44fe9ecd17adae5b40cddf0efe84fd401df7fed988963d555c24bc5a55e8bc40deb8061fcb59183836c1b1342d66cfc74f6404b67a4f50d9dab04223c18805c0a577b964997e5aca7016daf2c4273ca773bcde39470fe7eb5ec4541650c7687a378d00008bfe8a3a4627cf1efe29e7c81b8a12cc8afb745a86567f5141d16d1b848514acbbb52ced7ceb7381e7cf0261991761d411e6b16f2606050b24ee918cbd17f6c3ff949ed2dc7fa6e99b21436d35729b241f4a346c9c92a60d57c40f39fd299b2bff2f97e196aead3f954135b473267b27ff76bdb451c23b49d9477aeeadfe45a08852caf353d92f0e47feb7cbed5e49a89f42e2a755db0d5efe9dc330c3a71f331110db4a9fa3db914535050a96b0671c2a15b2e9a3ff3f1212526e2391e3edb1bbded4de0c3cc677263f2ded3a9506bdbbbd5fb3f15efda88d954063fd70f6642a5a28295fbf96a4e0cddbeef97a2b841e\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = f4b9ec8148f2d6757e6a6c9c32d5928e0efd5ba4d9635d60d9b481ee84631c6b019b4a04d1e15d5b3911aa5c5e9c46d564e707e64149cea901a88781512ba96a3a53694d5ed7ed7f8fc7885e384daa32dcd4c5228ea33e6266bec630ddda028c013288ff16671dbc5147b28e26b73585beda7e572bae5e30a2a9b123fb12b711a4f64f4aab9b6531fe691098d38c27389a8e99b44ff5d39b0ebeee5930313422c918681be11fb722230759c5b69f03c6a07956bf406d53f8d55729373931dfb19e01dea1b9e5203955712ec5463772b38097c075d8887bcf437c44b1f3041f2e84a60387e5565feadf19b528e77fd009bd13d248a0354e701a09a63bad83b30b4c64fbeaabfe23edc45e8405ee8a9496cb863e0b12a21848023ab41bf5d24f39b35fefdd1c27702dc3fd3ec31a3643ff7cf03cd429ff5b14735c8b9c8fcc7683d599ed14200e472a030cf3b40dabf7c22ec7645c735800cd1c72cd50beef8439f5a7406a932bcc1f0ddff90c95fe554da7c1efb79364cc53a773a35a2ef89bb2\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 20ae63774da080fc14e32bd56d9cbb3610aa0208185afbd8f612ad4edc3d9fda4746957c1891098ba091c3d0d3e337a218aaba1911eaa73b78c5f16e54c31cfd460098b33b160ea3c274d8e09703339b3b1cee7ce11299b1e7f4fddb75f19f546844b211764c6c171d2dfe820ac2e3a8656b90c7e4e19f81cbf80fd85e2f81c350c49462b45501487df08c2188f87383bc2382a32d60ac965aa4dbe5c1cf28619901ed6b42f2254e066af44a20eb6a9d4348c3a4169a209263f939ab49dfb989358c6cd89682df00fcbbc2208bd992e06f75c64f3e8a434dd7d1a4200fd197d0ee2b7f851d04dd4448544ab22c16bab499719bc43c9b07007a124b5b1e18b613e401340b637a31860d86cb4798c27afdfd885427f6f8b267d767ba290113eced53c9a3a0e7143b00c14beb395f2ba5bff839dc2c53a44eabc269e4860ef9d4c42e9e8c1623ef77613278b399f344a89fb1a107f08b5c265bf5809f89785ec7f24ffcb884897b891358ff48196142f57290b1a02a31d6bf5288893a1fb615fe0c\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 7a90b7e694903463592d5bfff2e00189459a41261d0d3b1c7c10b2a578c792b8abdf57f52d7d26a26ef2ab75a7ac39c28334f8a05fc14775ff1d63dbefb688e654a595ba49687d0b711ff21643a2467ff587aeadabd0966f1e5f34519e5b36ad9005a05b7093d5053f6463734c314e654340180ef8a18ed259790e3058b1d5ec18842e9b054853d8219e18131f51aceb01736666e60dd293e8ac47d4966ed68ba39194b766029f4bfd344ba2b07d9f89238804f0685706ac9c16462e69506f18dc3ae39e0509d67acbc603fc21b900712c4386c01a48877b9935355adbd009fcb41e5fcf1d39fc4dc7d26e72f0db741e2dcc17ddf79db46ef3ef3b2ee3c6ef5c689e139442c24c2cbec5eee51f03b0f38f19f67ca802e899be6597feaf3f0fbfc52af1960c1374f6114ac9b1e82670568c8c78e00474a1ec3de11e4f510982d8e9fda89e537733583ef6792ec3bc77955f4389b5b44965644c20f23a09363ac346e15e1f0821cf0488498824200191971257392490946d660819e6dbf310ae57\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = d88801d500a78a626043e14bd52e01f068eb5381c434bb3af50c9367a2ac5ca1fee8a9d248be2b7de7a5f52c1e716d110113b72bc6e2d08766607ee20e262275f7dbb669d47d8710a753ed8b0d99aa86c7b4cf0e342800c2185f00c38190bcfe3b40758035390fe649b2b0936433cd218450e3b762d10e7eb95d85fd52e5759d0d5a0ae49c897a059f7b1628efe8fe06e04d294548a07f73c74e6e6d515e311e7ae846b0c7f5aa56c61f3373e1a99f2b610785df6cba710fda15c24f56c37bf66e05de18f8417c5215ac4401a6f638a8d8b9fe2f77d247d0ea0d190b8c604bc702c91a84a4352ad0c8ee44d8fd1731a01d91503de39f8b19a7693f8aa6efdff15bd1169a0b79272ae03cb20b3ba573b24be410a8eeaa6ad6de87734f1e299c7dd95afdfdf56d41cf33ff61a7ce0af5eb99826473647fc79e884a75541ea7ab9963f154efca34741cf5b343c86be001c6dbbbf6b2cd8197ab5d377b8f0d2761f42f058ba8406f768ba8061576ff516f45faa42048b2ed3851dc7466c425433f6e\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = c609ea7cedd8b6d56fa625b11123b898819558797be9cdb61f0354efa52ffe6c379c4314fddd546020ce9f0fd5b907e6e7b416b46ce8bb3c6129ec39295077fbd3b6c24aef4a9163f5d7d80dfd47f44ebce3b5127bdecb5cbe49d1e125e20479d226ae2852d79047b5f0d535b48e8bfe6118c1d7c37e8c70ae84d1e262977e550f5da03bd087012a934f46c01e121e8b3106e50b4bac05632e9aed32996f09ee8c524ae104911cadcac120a45c44992fbe6f3af37b04e8754dbd674d1fcabc9f5c8649e0228f5f87cadd6d6620f8a9d27928e5249c08eee52372cdf67a4ac0fd8dee2b9e57699d7e28f17a7c76bb3565b6896c83ad14157908aa765c7a51493f2d3de7d735f3adf9f911a6ffd0b7cdddf610bce09e6d929675631381777a9fd486a7915890c0b8b3c119e50330579a4961db1c498955f0889dfaf3dcae46f319c722f7279102467b1109ba6191e30159ca53c9398e6de412afd21cf25ee131840d742562388acfbc528672d3dc38ce758895ddd5db82c875f12de940503617dc\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 2fdc9577156255b3b2f1073c76aed1dea93f18758096085e69b2a8593bd9dec848ae70a250d893d73c6b4ee109c967f896361d8d57883db63549cd9b3b61cbe50d2d944fe88524124c168a322175ee87b571569b567310b4367af407a9ef2657f693a33b536fa7804f066103fc012414c932c83aa1eeb9169f2ca10992b48910f0b2fa4409d992bd4218954078dcc78da6436b809a83391bb8cdd75c602f2b41a1b836a62e4bc04add443e90f58038b99b177a9fdce99813cb7cf42854520916b9ed0bfa4326c3aaf45ef8915c50a8c159d4c8ca6dcb06d35c15c5e8869d3b278e3f2e9fdb0811c6be2afd4959d082b4ee2f57be078d149a673fea7252b085e04b5c91d93bf6ff343e374ad5454a89c2bb77e040df555185539f0ae81808e20edc9d7c94e06498aad532b1de2eaed00d0f3419adb91893941688baa57269c9d1de160d9b505d55c7c58a6fdf95facbfc2551150825f42c1df3dc8f3bddffb80a0f424386a04ee423b72d5fc6161054ac43edad4e1f0a0d2cb96727de0dc6487f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 12a86b617c77976f1647c75333a0e938a926d6ce39ae90208c63d1f0dd8420552946dcd8c929c08e6fdd8d03f8a1b8e8c3f1247a49bbbc010e8583bf4907405f62c95cc18d337bba3d54075dabc18c2845534dbee7df792262b49f3d", + "7a71910181d6217f0f22f9839b7cd3990f2da4d959196ff448342b9a9dacb984a84969d62ae400a3116dbb8aa7b1ce61f82361cc5cf994f2b65639a772c731bcbfa1df069f6726ef3de4cd2840e7c6b91f3e032eb826b5b4abf2de20d4e8d667e6b275e72c202e4acf65459c91466dce7b81a811711d3fd4130b83cc8d33a6f736f91bdb911bba9c894f6a3497be6381a2dc4349c85fc07bf48b47fb2291717724d8fdc53c9b8ce15f3a536bdccafd36ebd5e4693420271c9a6c77cdde48f851279748a0acd9e29048174644c503c047d75be164bbef65c7a1c2f6db94298e7bbd74679e5b0d7799980173b89358371609b256adc28b8a7f67cae1bfbbd83b4497ee13646be77e17edabb75b33e382fd21cb8085ad958c38505ead775bb784d608a123a9\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 4187354a63cece7c984286cdd0eb98909757a41fb2e5cf45982676ca14e89fdbe5a570eb2d9475a5b9bd13a58b225f3154d538195a67f3813c6d70cfc8a282231aa41d3d3ce79aaeb9876af8b9cdcf68e529734d7ca576a8458837a6cb3ae65d8b706d54160f438ba1cb1eca3f6a557f2d2c66476e2d64a1b0b3dbd9ab0cb01d46900234aa22ce906e2acbba4cb1761ce412316deadc060269c74a81827b3180d94c69b5e30d2d45d51ec49b350ee0e672a0ea247a49601604c853c47170c4adf4a9e4a1066da59050f9edb6a21e922714706012443ba153959c8c11b9023f153d62d2a23f271e2b81ea0cb73dc15756ff7319f5ec3fab7e10fbb60b8a996fce23bf7de9fa17c11175f2cf604e32064b2ce3486221314bbb7a8d01987a57882f904d020761a53da20029d9b3a5355ce00520e61041b5a00d98a921300d3e30fc9a7dfcc00186e503bbf0fbf6ee00ca7eab439263d6d1257ce1dafafc1a0c3c684703ec18b3b12ecdf9a3f680b320a09865e70db3a6dce20a868a61ce187e5a56\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 4b845fca1d048ccf7e5a9cfe00c182238a2b69e02bb0b798863246e24c26856953d269d4de46e93caa7f383f241a963411b455e7a2547a9018b2f7676246324db9ebea25603d9b7f7792cf29ce26bb64cb6f3e703e359fe53ff4e2734371219307709d8a43959e61c5e76146b67b53cc2f669527594188b502bd92d811c9c44fdd7c7b69468f314ac30860bf51b26fbc8b6bf985df2cfb215fbd5f53ce0a6c00781f4d987f99fb420a8e34fa7544f87a7dc67f94418659c747bb984124086253eb86e0efc15214550429a7f4d13d8ab4bfe908794e0ceb41c5753b19792e8ad4f108f26eb990baea0d88e930c3bb245371905354c2a192bb21483c2f5033c05073e2bfaa65c8e7c0eee1d22f7363b363cd698b781cd7241db25eb2fe43f480ea8363a3c680869ca143f531d83cee2b4b6e9a56196358a4db22839aa7332c9be2acfbb5f0e710cf3c8b7eb30a16bc126d1a3dc2e29bdc54c830b070acddf2bbb2932a571125f12a5fe70282f21772bfa1a05967a04db4a17009ceab8b4ee7075c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 4e6394953d0761d4db461cdc976124f729800f191c1b308f663344db610b8e790521758688bff16f1f631d0f3023e5aec3d750db63fd4bbccb2798d1050beb31c16151253dbdcd7363a2c2c11398134965831cb076c0dda88d3898714969b0a55f944956d8f792a0d7074fcd6899675843e91cc6ea2f1372e3aecba67a4b598c4aa7092496070c94a0a1a289fcb6a0f19ae54ee2d634014064d76f44d092b2dc6da115b21b811faba0168722a5be99965527ac6c5992d2f8428319f72fed15451b89fc5b06710baf912bbdd0cee7e2f0f2818599bc99dc8df17cd5c410911d0277aa956f330f3cf062c8388e3d35136049fc9ea624286e5febc37ec9802aef1ab20b28da9602b88eac75b6d055dbc4363fd4d937e69a87931ba728101f70c8ce12ef9e1c1cd47ccaed88db0a95b40d8c1da61cacd0b31f723a57d908b8577259924ce2c457db888c302cfc9f2867dfa6b86dcc9250e69e3b392cf3057c06e0090d511ece16e3194abaf26a2ac9660ff6e0237d8ed4479b0740f77864138673aa\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 81b9ea5c0cbcc4b7f183deae85cf3d04d8c9a35cca7b9502238d1d94c05563bcfc6e3cd27320bccf3fabe737195bebf4d8770ddb232aa0e25fe41bb055d36dc328b2876e4b7842ad4499f0e735ebb283e7779f6b7c66cc71b62811f5c88ea3408939706ab48ba6fdd4359f18e8a6e0485de9bcbcda3654e7964cd8f243d3afd3cda79b498e6a10fda660029207f4b185f8ca73b1ae46c3dd3edd2097ddb6ca0396f94ce626448ee9325c91fab3e550bcc72c7a36cd4161cdfa65b9fba398e153ef1b75e06a2929a86a6e87f266b50d8f513699dc8663a7c6b1c4c9872a63fc3218cec37029c07a9b701d615bf8ef0da3361af097184c5f1a3feb4ca3785e235b83c0b494ac1e36b514fe5c343561136d14bd110117604fe8a99f210325afb5a406a10c99e6347b29dc6ea5b1902b7cca6fe6715f3b291e07850a12327d985565715266f723249cb595941f43b946ce7822edd05797eb1bccb9ade43248f22df4e38107ce9d92718cb795e93db7d1bf3203c8f64c804669159b58ecece44c6f2e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 5a49100a3e147a880407ba68183f96a904529cf14377eef22775c95ae7d3166b73c3fd5dc259256858424ee97812b1dfa159c25b6de84831d8227b153c4624904ddd8c84bb1fcfde36bd61319120a7cb0c916dc22369b2243505d5fcb2d466462dabee4b8495ac8c186a38bb4065fab4e483c947cf72c27ad542ce7d32f689c34f6d0873aeff48a87eb89efddbcc1a5f51264ba246f10dceb2091823d3215f4928a8b7f3ce462e227cc5726834b6e86a503506497cbe8d6bf04a5b4085ddeb04816654829ff24cb8978551e92ebf588f3e60006b444d7b39efc6d18e42be234c37fc25ee2a1c02e1efaab917de7c6d12b05bd599adc92af582e7fb522c884d0cece7f912d2e69812e52aadf0748a98aeab06f391381f4518f20d029360b764faaa3aa1e69a9c05cc59e29cc663119ce74e74ce1efdfa565cd0a67751a070b4a0def04f79c7da5a7340123d00de354bffac3cbcf85e7309336977c2c4f84d528a123bf1ce7fcafc49020a8d51c48ded174b9eb468928f5fe94ea6dbbc83c68d40\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = b4a8e5d8f2cab3e3b659b1964fb9f634ff7ea5de5a447fc7c6ceeeba8af5efd0f136fb79e09b734a3978b655e74a0156a3bece09c00b578d894b81331770a3e95691335656eaf1c260e4e9dc67367265d6e870b37d0685b16762062166e10f0c0ec9fa34935d0943b0f5d4c5b1d88422e21f9e3846f854a2e725f22b53a778e65fdaf32ad88943b2baae31209552085f82f27a01caea2fdf471c08643d806463c61ffce92d0c1458518fc100fda777f769b33750aa84d1d4e206282f8ca944f151ef9a5061561e96453d7bcc9927eabc21a04c84ce1e0e6a88113132eee3a7d7baaaf33db8d1818e520e202275c5df2d3e749c3acc43326964a6663eb4ff856bf2291194e584919e872a31e1f040a59dcdfc88300a816a0ba27616919df4fc97d16de1fb0c6150cda6c329f643b036d99736b0424b6676ce0cc4d971aa6c5ad91a421cd369b35c95a38623fd99dbad13beaca3bfae5f9315a8a788f111608b5b856f4313ca6d19cc3172bffc6cccc28682a09d0ff74fd16a58234151c0224da9\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = a985e8779a4a34ab75873210d0c8897af9381c83887cff7fad9fe60f601801620747ec0a2c1f5acf6560a751216d204acdbcfe2d5bc235b84c17e903ffc96897d5df86031aeb1e40320502be3e18daf723c2577331e03c216e1febd35b30be8a419d5ac4e78674c93bf244e2cd8e57a4774d0b8763b9de21aa1e74b0afc3b423be7c52f32595934c993c88c32c2b0a66e5180c96ef478ea2be4262c840d3e2dfaf86b9684e7bdbf3b31b0513e3e48322dfed125f2d0ce186e58a321cec902cf01a7253b77069576594488b665facb1ba33671ce26cab40dd679f3817607719fa0669c6a593f30de1fafe264156cf48dcbfb8a5581f6a9a8401a749983b43cd90bcea0f6b690b46b2a00505e112d0bc0fd080c453085319b5d31dbbf46a234ac0f0eefa947f002daf872681ce731b27714e37fa3ca743cfd3060935affb356be4ce827e27ad36df8ff4b4fd72bbc0076d2277fd643ca0a39233a16fa545a4d84f1217ecf07a2ee57298cdb6de88f797116f80de8f446930045119e52fbc7840c0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 3a567bb387312c94a0b8637807f86728e6e54ff473ee541ffdb4131cb5c55a60c6044a53a813672e4e5f90d5779dc21f824587a3618d4996449b2949720a93afb50520947d3b4a7391e2928acadf5fbb0bf87e48798e018f133b12276891e49007ebb27e49c858818e242dfea715f575da026a4f039840ddcba0bb330fe916739d095ecb76829091ad29e33a0b58e23f3e1c80a9aa4be2bc6e21eb1e7dd3061a737d3b460a5c4cbe6264b506d4f424bd0906a3977e3ebea5549825c889dcbb601c111f392f690b8bcf4b9935895e23c0e39672391f5e12e873d393ba19b00922d7f188def9a193789a80514abff02565376577c073a3ebaaf216d535f50f6a602ce038216ce7f1d1f7e9964570d8cd2b3821b11339446ebac43ec87bfb712a634089daf4db979d50d1a93e8badc40395fd8e8d680206606b8a1e78fa238f09ab3eed6ba87ee54ddd3a3bbdfc5c036fc9aedb207c6ab9e9ee594ca06da39297d8528fbdadaf80005162964bd4e0168d5c92d8ae5b05398d66c032ab5ae0eaebd7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = a0f2388c5bc52093c31189674c410b4eabbe1ffd0e0a902dfe0b4fc7daecf29148703ca5906bd860065da69e5e7dead22fe28bbb7f3bf71d696174a900c115ab7a98848a08467643aca3a056ff58ef4b4515761b0e9452a587c4e7a0330faf97f657cf925e5bb0a395f7a798a715f41b70aa2d3dbe411de02c6ba40831f0b636e030a51e66cf7237030ae9569bab4cd8759baf22325f88c11cbac0b0e7b87dbe01669fdb5862101679e28774aa415df8a92e45b1ab74e1d85a95125163aa74c91da4a774ba539c7e1ac945c20df5ae3e31ec55609883f83a75fd3bf70bc4e4dc18b0a6e77d678d19c82400c698a0c34e3e77e86de8f51daf306f102a22cb", + "a918b6ac435a045e89df00a9c84689e29b1eb466ad2c96c7326073afe08d47490230150c9b5d8ec84b352c6a33a896a26bc0f91e49fda6412bdd8a0e7c9b7f8beead5070a494af8b5b4a449b976b7f07c1b5648ac303e7b60adf3e53bd98642642f1041694986f214882a06f48db4d118f2b91c05578c0e7665c128cc6b4685b7faf\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5244\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 00005120b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac346fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 5120b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac346fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 20b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac346fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen132 = 33222; + +static const char *kData132[] = { + "# Imported from Wycheproof's rsa_oaep_3072_sha512_mgf1sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 1\nct = cb9ba45404396101c1211be70415603708e1051b0debfa045b75ab936fe7c5d4e8c67704fd2ee046af8679e0bcf3d266ce67b801c90b581a3f6909f56c6fef023f0e2c4428227a51362d3f50ca65a79edb3faf899cf71bf99e244dc817fb4c2bce848216f0de57a1747fb1d4f0310e59f7ae0a656376690125dd10657357de11b5e7e5588af7083abc6018013ddc43d21c2af42c9c302f008064630a27ab014d6dbf48350c8758d821e74c45efd168ac37f366b413024ebbb0c9624e6a93d4c02d1f2b050f75de4b6a74c701386a6c330767af6bf03e8ccd69ce6540b471c01e6fe20852a10f198e4e0d29469b1b01d5ebff85ece159355083829e4c2935f16cd2f409199f799f250c8f1306da1614d0aa15578a58f399a17223c7618242cab31fe32a2317cf7babbb30b3885d5c07c4b89e91ddcb37f449cb3e2faca585d04beba9dce34face1167f5e4aaaa0509867716e3da0ff81b8a481b3f9cda725f01441d7d3d7ae24a5bcb373ff85e608ee7a49750a0d7d185a61082924b2343e18cd\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = ad215dc277e269310c54925f735d9bd6e68b828c8a9adcad792a567fa89f75bfd9512c69caab0539f3a2d4ad7caa73e6c1166d94645308d09f98166547beffa48940bba67d08391d8ce831ab3e819b1113eff18d02a83d7f07f1db2ad63cc53dccf2c9a8d8cd42f3054cbe1d223029364877c61d2a58d4c16929eb2c8b21fa1d09797a558d61f00f6b2a4b67eb794dc9730421bf52e073cca7bd083b35562d21b6527a525662defa0db2c9fb0fb3d8122a85128839e68fab7224756fe7cfde6d86cc7bc3c6665d3ecc52ad0ee25767d5f1f1815e56c79e1ae089a4278bd8c34fb397c1029b4315573391064c02f139e6a672b8a9f50678419ab6d9fc42fbcb69b71dd644ceb7968d6b0edea5f72d9d05da3d7b36cac7de135d45edf45834b47f7b2b91fe89ec6c3f2863f7454017091cf6622b02447a0f8ea6a8668c61a55f8654c4c8f60ca13639f125f2a3a46bd82d2bb6bc66511ab7050433cee0d6fa98946d18947d5649b380f795fdc8f0f13b663f518fad69c65601a51d170f7013204b\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 487ea78c9548871a93a0b856306f349ab51bbd30b3e6db0c47cfc965774cb0532575333f8584dddcb13f24ce98ff4a33d63b5b1898b3a8d9babc0ea906cf7d9ae047284f7a36dbc350d7affd57030196afdd419750f1c5f2fc55622e442e6203d58a725c7b6e59205baad02c86e44447caea8e88d38963389541a86933cc64c1d8a3b70c4870b0f75146de372de834988a5f852235926d7f3893c83dfbb78a1a8cb4d9a4d516de110d315ada9be71431d3e6b03681d4d7f665987000a72a1b138476579aae7058f7d4151f058410d93bdc197009b839906ea6254e90c1a49327ebf818dab3517edc39761d3f84be8f8bdc8b35541c6b6b30bf8cfd20fbd9a09713c470c9ebe0622ddd8b2471f9b0298cc77b51e56ac2dbf9209fc5a95c066092deebeb7ebec0bda02f89904ccad29ecdc1d263a29930947b90a6ab83dfaa657871be533d55231224ba4e866ee9a3e352f501372d75090b5236d39b62ee6c84c792dbb253dd1f9fceb868d460fd76847d9c450b1ee5f280fdb0da832bc5627957\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = cc6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8e", + "c65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 2034cef8731f5ddf7533380860b7426ba0a7ba97199ba332efb7422578d346ede8a41c8c4488d52cf2559706f1a677edbaa50c5783c00301cd41815e46c588e2e8657ced9a91f1b2e61d51d5e2384b59b90c78c8d5607076130926bf198e0968b239fd8d4451dad125467ab895eb3ed450e6abb61d6217c65ba2cd2176e2532594b5a09bba689ea1562d04527de919d47c3af5c2c24698e572f3ea289f5691afa164970daed05e83c051e39a99240a4fbd9c2046ae742cd1035aaf0d0c20b5ce1d42a08f9175d5ca30b6f4a7345b4820784c148a68f92be82f6e38638c1f8ecf8f07df3827f9fdc8469049d157202f31d98f06563f737ea3df3764f4644d9f9185cb2739c8aaac86e9b39fead8e03818550a25997c31674d5e14cc4c13790e409e278d778171c5462f689b0ec344f9a920a312ae9351c7d51ac7ca7783038b3d5e59d79c4d89ed4d36152d2a1baff8be23ae1eeebf6af20eaf093604cbe79fb93b61478d3a1bea20e1c6c60d63cd3e09920f521e3eb3e40fc21fe46103f3194d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 7929db7a0ef0e385abca461e86013785f72d60fa4cf1c97b1a16e7b501235701aff06e71d981ff75392a27a266afcc5bebef5b1dc09ce60ad97b1722baf70b7be33b09de2f203f92a527a123e929b038428de471fb0edcb8e64741a1484ad5d2d5497f91aec6d87e5ca95fdea8962b61362bca2d0a4742f8666f1b067da8db4fa24cd721440d6582750498c9fd319d5ae5c27c9b70f1811d90b673d0529706d085fc78d73f933845278e36e96c48194f1494a1b4d891f249e8633c03d9c564534952e98c059dbe01294506d9238816215028d6414b954467650820e5db42b7701adb0d694bf2c00b42e89b80839b9f35b4e23ea70e55e514c50e9ec197423ad28a5dd4ece946345bd6ba154c122ba356320c2c1cf0ab4e0c713db0c8296ff900a078ed5f0ed1802d7f1f92c9305c245471d66820d4230aac6cf9a4311f7293e1d93a5dfd529dadc6699aef4c2ed53bcdbcbe8deafe5f9b035a6aaaf9b2d8eb23dac290f828bf1886136c79fdc915e21e06133f24e63876514abc29d25c146fff\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 5ed5766e97ba0017cc6ef508702d74049112f588e8930c3954b43c7398650fb1bfb94cdf75ddcfad8b50c59ed05bf8c32291e8b804f49fd5faef0e39b922e14ab4186c575cbee9cd2677b58cd890df072669c3c26845d7c89420cbea27d8c1ea43c2041a95852c85056e1d22c0cc9ec563d937fcb1d6d024f3a1a2943f77354885b3fdcdf8945f7b41e1f5a3c7cace9bfd2bb845f6cfee05f8f4680d1bf2b9d6510a6d2093a12214396ff02bdfeaee4b21af5d52244a3cf6eeffba75e946b83b5784b3bd98e5e585032fc88a1abdb12cd30c7f412c72d2e4957681f77e4157760c067a9312df871c972de688a839bb155c9de29eacd38ebea064f53f2599d08d6014c0f77f3ae121a4508c30eb0c8dd49c4c0ef31cacc3b1dcb2240050db157299260e9fc52dbfb530af6f759dba3764e4eeaed032e564141fc102399433456b91a3df2186ae9032957276e691c095ddaeef7142cfaf5bc86915c27461c136c1381a800bc3322c2dbdbfa83374922d607720272c8f955a9a10814c4bb9587e5a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = c3aca8106f74c7733cd1bfa74419a2cf802f12293693c1a207158d52bfb728bebdea14a885fd52ea5600f82020fef8fa23f9078fb9ee34d82eed4c76b1312e7f50d0165792a938d264331da446b09533a0084e7398718c9575b66a07b7cdc85293695f291fc1ecbba9e0147320a557fd015a1339ee323d6706af18a08654564c49d2150f5d182a44f12e5d02b1839771b2048dd04c116f961e4af1632043bbade7e993b416c45c61e4a742bada5ad14dadc263431bd542050f40f4db8a95dfd24db22e049477f4ca93375e1d19513d64ecda0e9da1166da426a0c8614524471d72d413f2f6822843154959239b134033c876b0b68cec3a5eac05d5f179f70305f1f2ec7ef9ed17e79598b3d2fc148f9aea95774918aa6be14aad89ff5d612b13fedc0937bd1ab01f05d43b5f7c131086c63f5430742a347cdcecb435912d226ddde31250c3c0ed6d3ac9920873c1e73970a9d44061dcf6e0acf1a2935bcc48e2fb76ef74bb5101d0bb1a02fbf9a55ec75e122fa4dbe210836873099a1f91af20\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 4ee617bce690f21a6cd1760d8e7c41ec1c4bf0de2bfc4aa85002c278eeb63b568118e4ea28cf795a673965cbaecf1af5e4943b95c0fd20604911477492950fb99fbda4d5c0ecb11d954c2bc0d8522f5ee7365427d59143b261d6138aa2f27ee1a60d64f1f491b9ba1adec8d09f242ee0116e201a54ba968ffdf39edc3b314e8139ea8efca06185840ae9a3996ff5ff3c41add6c4dd6ecc3943aa60254859db786a0f0500f644e3d43e348b993439cd021ff0b92d05f327d6bc3c11ebb2f8c1812dc460d4ecebb358eee01fde79aef408a6b51694a2a2f7baf69589f4ed152026303290d9178c9d580421996c89e94e14ce91de0686d70a37241e48e439bad3371aa900d0d6142867ec2177ac21d912eacc5e2413b78b0adad7bdd0f72a5715c69f6223ac7ce99fdc20fbc7c603371c328eaee80f94f079b935713d38d83f18dc810dfdef5f1221ff8a24abd4a0de3e5d3f993bd5992280b06bab17ec6e36b27b7b08522f8bea3390590832da475e85ad4b898045930855be48bf2d56603b7485\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 5e8f89e2720d8edfa1a943223d6445bef51e330036fe6efb07289dc1388098aade647cdc9b363b4108a900611a1abdbe53415599192cdd5c39b4e467073183f4732e06a58fd43dd48d378495b2b4109d62042edecdcc0a93df468a0f2f96a4957fc744cdcb891484d7a1db15a6e2da980a91942814c5a9910dca32fbd27e2fcf862756a50658c8531d12ae652d088b15b674dd4bd895e8cad8d81b29c78eb7cdcd29737c8e532fc0c8128222120dd0a4da19d00b603f6cad9d6dd559230e237197269aa75f4ca4f361e418493aabbcb0e55bb3aa114c5777de94e53abedd9e358b2bad3fab666693ad525b1970b97944578ea65a15e31bb1721776bd9b91ac9f558de32ea498948d75d7a7a9ea610bced38be4dad797dd5651eab3b972915ce41aefcd28b641a4563b71b491c2322af7b06dc3f6b6e70ee40f25b6731a5f34ef7726cbf19c65b26d3c4f0a673753c6bc538841b6bd6efb89fe76793ef7859f6866e264baad2a7e1b1c3905c04e1ea8632aefe5c158cb560eba262aa7a3a6b143\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 4d0da40b2f6c6ec3b8de97593a591681c69853847f9deaba86baaa69b42bfc3d8fdac5fbb3faaa7a5edef6e7ca0f25ae169c6545f26c908a1e3bfe8f0a385c584cf3da930acea13076d475e9b428ef9758113d3d8a0e23eb2dcbccbb1ca0c9b384aa760d17a5764a7c4c709cbfa9cef0ba5672cba0deb198577e3abafb2176781956d0c4d39632fd30f778b8da3da16eabf3caece2a325926dcd25abb0bf743b9ee06a3b4496d82489613b0a720353b017e72c3c43eda97c6444d8f2edee7a444916187129bc0e9bc20e457c0946c767d3b32866655742e891490ee996a3b2106cc024c5da94ac89dac17fbf0c97a95541f8283510411868863e68d9efb7ae4493246b409441656ad0eecd3f0d84c7fb16a593cf0e3b5ce01c142da30d50e42f58c7bdede2dc350313c480a644802fa10fe117c98a92f5f8ce6c9c4cf3ac0b01ffa629dda82c217171a4723db2ce751d4a359dc53dd4b398e7882a8c88c9b591856189a9f9afa349f02573a9f07c6cb96eb41cbaebe69dd82ea7d9b860b841b5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = a5f338d231cde9f20f87f69ab54147107fab298cd79df6635d3ab882e8682d0ce5bdad698bcdf0260b11ba11e5db3e857490f9ffcfe8fc98b8c89f09903f984eebea2ed74c73ac578bff3af99d4fbc33587d91518a948549739b0ffab4ea6a3fef5726eaf3ce77cefbe4fb001386101027d78b04ee5f23b6a7b0b5ffa9b473e7a86d076223fbaefd1f5ec030b5fb36aab0453a3b51440dd7709b78c0395e3b43ea873afa61e2e391abf0ff567d934c61d87f15095143bf660b73e2df1be6734064445154593fbd304f80a9ff730a66f54078142ad5c49e77b55ad5de5d974ae09d73f4fb506099ff06a226de67d55665115eee485372c19e599197aa561909804462dc0ee6d233da9c30fa7687d4f0a0f764646697bb93d2cd8cb6cd86cb3143b043f54448e032e8790e856604977e23088b69a57d4677e073fac808c8f65240f7628d09e0bc74bf7d6fe0ab2f7378808f082219edbdc1c1d456e4bc7dbd8508415917ec0d5f5ea10242368b8fb75cfb28975110208788b5696e34589c8a48d4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 715a8b585a2759b9fbebcb1683dd7d1fe956abce7255358e05cb19547a92083c2b5abe5c429c2a5527bd8193a4d05a0a8d161fe71ba612cc8aa3270a5b8186ca3f02ad716d78b7702c20f7bd17ba01748d1b51e52b6cb6561c13", + "e84ccb9aad4f4c241a951f999d4b7b60c14021619951204e046d663a011eb9cd9bdf96bb2c43d6f8bc97bba1b63845db59268a3ec918e198448050332a540fa49e39796220fe2a97999160f564baecd0ebc4be5030a2016961f9f352d7fb04ae9d3218261a510614bcdcf33ec274b31cfd2d4c9462803c825e7dbb1a3b2618fd5067bf676c5fbb2f6dfee7068e84d4de68f840f97faaf880b8596d8847141ebd59eb9810d18cd95ab6a8b3bc87ba2e6bb2ae178a0e5043497b5cbce86508d96991c5f3d78ea3cd3a77be12bff0a0ebd7a3cd03b9bcbf7faecdad6a375e55569ac9ec02c9a319078d79ed2ec273078ef328b54579c0661ed64dd94883eede29818455b37b271c67b7bb303e743d6a080076bc712a2f22b36bf85ea242f2b8697b0b265102c557\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = b65f42ecb2fdbb8c231e201751bcef6779d0d7c755c19d5c82824ba34a5657a6187dea33ed2a7cb91fc1e5a3e417d806be4e626c555750bca3b45d0441865f0be6a52f5754fa871ffd1fd58b00f74e89eb60518330b21b78ed6c79fe38b8ff4d0f7ac49a152d1c54189e2eed31eb6211601b8b41b9a90e5e3d34e537b0af684133780bbaa4ae97c6dea9a75ec01cd00d2c43ac2c7d8deef21cd6c6382e2935ea1a0e350156dca5e78ba10e88891a5c0978859ac2645f90d5ac32eaf791b34a0c7bde0ce53572d2258ab7e5a9058624892d5e680eff78aa4232b579f94acad6081a7fa8330e8d3339afc4c57a48bd39279a54900e755f741aba2d5663e5efb738b38c72af33c13be9e996aa8c6df839f08af6a4961bcded7eed2b5a67a81c112095f1da9a3e6aa6e149715bb69a265dfb1fba8ea52bf7c8309f613cc183cf53890fc51e4c5f3d01336d67ebb66a9cb0231bdb1f99b033e9dd361262aa6c1dddcaccaaaa7b6a3e94c2b893304404c6be98cf20ef488f64b7540e4232d05b2ebe0c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = a0119ccf48d11ea14d4dd8a57d954cccb913fabc353727e883b53d6fed8dcc48ed7cbf98e3703c740df9bbecd0168b42e699c48841c0a964b40630f28076069a3363bb14c38e830712376d9beeb719d2620eab87e99ca2897ae1fbd4251f828db85c0c76a4554a39b2e14150b1d3020850dce02ba6e7619daa5e95598d50d9fb9bbb7ad57d60a4811d50f432845df09da1f01744138d10ebafe8951e111aa93b24588c803b37b12b2e572c2b46d13e654954828585672706a001dc4777c9b4b937d92a761ea3fce68c14379af6a8a2700cc20f25e47a0e4bfa85e2082dbb569522853a5498d539faabb90c479fc95fecf1ffcd3d03f9283b806bc6ab6b7310e72be66959082d631d138221c4cd81c46162649b25e46f9fe864b4394f8afede0bb4c1e148ffd62202141640555283eb683a3d3b1fa0a62d8380fdecf44d9050e06bac6a24fcfef1e2b04d952726ac9cfbd67ae3090ae90e16379a96bc7731a38401ea68365ea413ac757de058730259473fe79fe30e1b50e4ae66730e489a61e7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 21f59c055849cccb6dd90d2aacac59f987c1dd44f560c7137cc762f975a7161edc11503a838e4ed98cd8c630b20a4c43bf191e26d4d4f19b4e714d92cc45303c14209989cf10f9782d96f31ed8d7bab24ba02fc114d8dbd4324bd5b198565bab012bb7fdbe6754ce6b54666484aeb42952b055fa69601a16cb86a20652bd091859904bee412c53759137e811dce8eba60390b011b123ae6c1d6d76c33acd26b54eea627662cf1c6887f8c5b62121064097bcd69eac2b2e669fe8e018ec3fff888396075059ebc0289c8925538861246b2606e878b4d93c4c33c3bbbe21cf5c861f5bdcc9121cec2d0c4dbe3a95976a658c8bd8ed7579c1c6eec248317ae3d3c73e5104d377ed5634c16bf49e65879db350bcf5988b99ca124c3f5c4ef52b7f170f5c48f139151adf8d39dc1013d9a152321fc5784e1e81d3ef1cdab8fcd83623453fe4ef7b825b1baecc5817a13b56197e0c0c35463f8f8d8bf2a1068b8555aeb0e099ff5c9b86aeb6c495f6ebe6d0d6d44ace2ef80ec9fb647954a9137b9cc6\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 100e00b23d1058916a2d99f5a1285efad8c62b8ce779a558d9256ac36757a024bc6f72aeb307db6923d7407ccb91d1388a525354373619139eab0cdb413ebcf50b82f19184b2187eddc19b2c0db25f4145b35111111b98b109939155f008552ac863a7bfe1dca6bed2c47cebf48e29328c475c9c34499b770ff42f94878cbfb29e6254f89a4d49f5b886d355834c3eab27d65013a5928e6099fe125e61b8300e68fcad66e8413404d6e0eca34a8701c2575089955cc13fe0c0b3e7fd6a4bd296c88fcbc71c07bf7278a410b90fb113bdb26db1738b06b5d0b559cbab838d4567754a7154e17eb7cc4506d47ec99640c51f1d0134da884335a3d982078a5aea7543ad3a8db51db9bf771656105982e0a85b30ff080ad7153656d52ab2a738b5e8beace9a74d9492cdbf079a8293b52c8284acb1eca6ae8e0b47b2d699d069536b62312ede061a8dcf651d3eb4286ed22c6da22418a5856cded4866f74589b88ff9a3afa0479ad7964cd567953510df300cf3a3443e04495cc0fb02a8ed9c352e5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 8778373fedd6de294c9f7dd84acf66211883066ecd53d860d53031dc51e303841f14dceb8999be392a6ccd19b899dca89764db04c2308f241090b0e09bbfb60c82e460757f6da6aacdda90f1a853bac858100d701fdf37997605324cdd7cda6260dbc2fc40ffb17973d1d82715d59055f8d55c74c93c9d7dcab167e25d8d26e0d98b6a02e5087faf20b50e429fa134aaddd0213e938f6f6c03ee89c413991163746a7df66212ff7b03de95c7be90a0888f8791e3b72c8f11e310c291c3f316425ac2d418baf46aa79a1ecca245e0fdb92a0f4e99eaa8992bb0f5973f080f2c72b7919055e88026012d86e2faa008e24545c38470b24dffe84f12577a14311306a9293ff98e3c6c42cac10b913d912e5060651cc73dcc015707c429c7bc669204d78335babfcfc614d4019fb45be0aaf7ba50b7947bba652a2b1984d876ecdad54fea8ce3d1524e812fb2519c17db82f300cc3d7c163c8653b46ef233c1678dc19dd75e93d0db22648147fe17ffd841f38177033b0183ec70d3a060ae69a71f81\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 66f53d3aed293fc5a20d24b3a7a2774e12b69115e277894670046e3fe076d7ac74b830765d3d8b12b3979ead0d87ad3a0a8b3e677688f7b8cbf5e7ef7ed5a336ea144667a507be46cd3d9145c5ac552ebae558ee95d4e17c6e9e5d49105777dc1ddac7969318d03678e2afae41e265c61704b7f61cc3306b0ead4d0d9e36ffd08164f93422a1e51769b0c8478c9975e1b2244544252eec743da10d8eca2cf901a3052904e898d5018c0ea9923bb6fb8a405cecadd81a3f858e34c87c069897729186710de5bac42a6c7a19a3f7b310ea5dea8bba7c594ddd2cb5309703baf64cda2295157f8530dc5a46de57d3ea7461df8af53474b15b54644d6e724cf6684b72dbabd5cea129c80a1dd67f7b636b55ba6980fc123859e9a702df29b2fc3959ecdf9269246c4cdc05bd06dbb9bcdff693ca4d04170118e7fdf43b163831f0f6bb9828faa316eaf92a4428efed7b2f22efd93761593be714e9a85aa7b690472525bb0b2a28712f5f524ec56e1d0515ec7cc190662ed2be402c824396f7de194c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 6ff0c91199b45d05ff630f4b8bb84ec1eb03dc229b51ac817c210f6034e8f27e8623bfc1f8cb5e597fe687d075f289ad76cb2d1e6ccbd7aaf7812e49e2408c74b4b8869d4bc86db5c2d6f62d2b6c1aaffa76d3059809ef3945e7fad49dd198e132f2681c4148eadc808231b6dbb7a9a8e5b5361f23d602c0873ef6751cd353f10d1f922a20982d60d29bb7eb57c86d3337bc8f2bafc28f830e16b4684f7b6f51e0efc3cfbabdf76b08cb8b5770e9f709331053794e35e159ecfe46455bb0994b38994fe6f405b6a88b7f5912c409f9781767871b2ba18f5e542c964450a5dac4c82212945e968878e43f4698500dd10621f31eaf5ccb04551d6ed36752f110fd5cf3ef72b2c3369db93f6480b3cb01bef799007820b1f4aa34354ffeb4f7c8ffdc90e6d19d1744f27516d67d1eac69f139b5b753497a599e977f459081460a35c75d986383ee486810f1c6eab1836f7ab4b6cbd427fcb206c05d6e46c84fed94d065c22ca732eb88c02550dd72259aaf4afcf8da2eb419e81d4f8a8e914e903d\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 5a8eb1da635aaf6e94012e3d61f9c7d016c657b812d9d95c50f4ec073c662392c4ba98b5d9c93bf5fab48d724ea9a147b5b84ad6e169033f32318c6fef89b2733c9040aab0862fb4b049f560fe1b448b987d203a40f3f46cceeab0ed9589df97e6cd928fffc5d20d64a10b31f54bcb269f1522f04762b4935feb0b02ce5d9a8a0f99910a4fe237b00b3f48e44e04ee9f7fcc06252b7c08dfbab4fd27e47604f4022d3ca0aba753b9ba9b9defd3496cb0c752a2a4cd619755fd7693ee7116341f8b9575d13b4f821759055225d0fe338659c02eae9c528cfa937a1d58efd0463773a29e9b34ad3647487267df59b324f6b8e73ce0be930c5f163d43df88fdb54e761bcfc12100362a17c507adef60e2be506df242e81161144be1e4a29a3426436c0a7d0e574f9468acc5af42981d5cdf5775e2b7d4e02121398b6dcb2d590417c06f6daee42199ffb4a51b0de715676d3f9779f1ec051219057c75208ddaf3b4530fc0360d389d7f95fceebb0123e0fa25c5c7c7f4f8ff9d88a928d6904ef4b1\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 9fa960f4d424a2fd23f7cd07dc40f43fc0490862ae8fbe2399a96ac7f9931e2f30421692afeddbf00fa86731e6e6724f428a479b49af5af07119856a913fc9211c722a6d25791111650b71997c40a7c8b74b4d0efef376806099b634388b93da0cc5e3b2678c5037d399fb7770546ce572852b1f4461ea415c7dd846b5611fbff3a492203d16b18b476f48b4ec0c3d900054607843bc23dd2d8e4889ae2871774fd520c510b48fb25dd15ca9f09c4cad7adf5614813506511473110780457194d41357e2ebcff9e3f4819e70fb9ba71d9eba053946beb75147f47e5d6fb1ff8c560010c32fd708025f5ac3f201d9853184f7997ebe8ae6526f7c7f7d", + "abbbf94ceec56e61528b321e5b9d6255b90f205d9ee6a1f86d52b97cef1764fdc42ed14c22675111650e2237be27ec2d1e9ff2a70ac5832ac5a6db325f3fda757dcdec0fc662803cc76b18537c03465fa51cc15c395369001bbc615334f3aa161304b6ec18cdc2fcc44873e22bd833fafcbfac7a74f30c44aae4a176f48f8686002a6d10\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5244\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 0000cc6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8ec65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee0\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = cc6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8ec65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee00000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8ec65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee0\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# em represents a small integer\nct = 26a03bdf11a01ee4ba476d721c110840d093f38ed49f406c38f1c46fc4735a29bc7deaa3336aea98f6cfde4ec8ed305b91a194a23fe73112768080aba2c9e152f6ad8fbb8401546fac21ff696fb1f52268957cfd591fab64bc48c3c87ae5b3eb871beb669e15e881c0a9920ee5f401910d3415850fe2267f5ed141ea6e69d01cde65fb0a8cc063c33c0d333b6c90e7838f97cafb7a8aacb14b499c534a6af12934ee0c7585bef97a1ebf74aff278664aad35138fca85f360ba259d47542be5f97733b8f5e7a39bee1772cb8038d08acf56d3e8f613ee48ef147d6f0c1f57b3c08cc68b1c8f106402baa6834d460efdb8cc1dcb54f79f2928f4509e81de32d9839f9a022f47a83d8616f482c31eaeab84318f898763de7048f507a517900666549cc093b3c8f4d68c84fb33190e2b413134061e20ff51b8da5545aa991f89a0f612b5b2e74b7ad7facc491c7bbce41799ab70be4bf96a0ec76017399662ef8a6d8b3d8569ca86b2952ca3572777efe99724f85fa0375b29bbfff7380c36e4c533\nlabel = 55aa28091a62698acb80855f292ce725f088dc8fe0045e9e49375aa663055d72353a67087466c68306ab0135004b7cec41661da3db65188b9af52b255bcc888300000000\nmsg = 354f2c7d123c5bd8675e6f05c7a2d2a68f9002439be237430993ea325858e6a3690cc9345014539db4dffbe387995de694ff13c942a4d2634caa52b8451d2b04815d9a764cd9c7576943b559b7639ed8c0b604c2e59e65af105988c71dc91c6a0970c8917b0e00d3029bebf66129d4dc60b03a846decc6bb2cba9c45f6b2eefab79a9df5bfc01d93d5aa6bfef888d7334fcd0d2cd41f7b3e1c564dcdd2eefcb8819a66fd703cbbe9a4d7fdede75fc8578b94f8ae0009bd188f8c7469d6588ef8f240fabc1ddb0174783967106d2b6aaedbc15c4ece1cf7e12ba1d14415d7261d6d56efe0bc93f6838569504a131a4e126124d933bb63f6df189145caadf7\nresult = valid\nflags = Constructed\n\n# tcId = 31\n# em has a large hamming weight\nct = c63dfab03faf7d5933506b3a7ead6c6cb9bebf25ff4afc5693428e988bef9fb508e9d50f58f8e76f26121eb98f036c15d2538f6c8d7e707aff411d24b9ec3fc5ebe0fe04de2f13c212f674585dd157f5609b9ec156a04642e1b087b6b3d2a7015324c5c3986fb8a32482ca52821c033fe499e41aad19a55d934d2b179f6c89bf3b34b20f2fb616356b13b4aa8041089d9ba831f0868a66175609f4e3cf067289ca512b0444ee3a5761b5b95ee79151eb429e9fe2cf946c8dd86d5862ddc33997eefea8e7912a340f3d1e2d5a69eb32ec2bc82f74c4e68ba8c565dad2e9c71b81325d76a3fa600120cfe96613ae89a4251200df79ab92b1f04d9ec34f61f4bc71f05fe27b972c91be268d1e52dc46d85911212b9ecf42177f3be164fc99d11b878f1b85a508f13f583b4a0b7cfae186c421b34a997e31c594b7370503830ef7fdd8b50198def928a1075594a6e0b418e5361cb186fc3bd4ba01720081e21c9646aeecc0882c847871c894562508ce3320aec2f9b04c5b25975c9cf5af7364a3e7\nlabel = 5360d4b1eaf5a46e6f6a6ed03c0d405e7ed7fc2cecac86bf3cb27348f9d66a7bdca863e055ec1b6a5b20c351d63dfbc7eb599589d69a46ed7eafcd2ec117547b00000000\nmsg = 5265a56c99e71128fdcde31cd5918fd7e964b9f1d216bc9c4c10d6ddd3f63b65f0d3041f061c6eaa6f60407788d", + "77e12b4e7b3b2e3751d2f1774d626e83d195c5b4d23e3fcb5f50eaf4252d720737b2af5a4e1928dcb7fc383193dfb13ffc6cafb3b609ebf0395508fa5124ed27207bef82e59dde2251dbbbd44405f69d771ffe54d269d417c42979dc014c1579ee58895475eb014ebfda48971ef3a08a3dc4f97b9b996ccf293d7b8f40055ed842eaece6d7fc4c76cb342914fe6bf89beef8ef463a048ec18695578ba514e5f6dd5813c58c7acc6f6eb02258dc3adcded16bc7cd3307e73445dad5f36e7e230dace3d4bf568daf408b6e07fdb365db5ad\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen133 = 40513; + +static const char *kData133[] = { + "# Imported from Wycheproof's rsa_oaep_4096_sha256_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 1\nct = 864915b51654401f018ee23280252369c2a4655156b167747c886796da7fd08af0e5ea3e5e477ef31498be2547e78de91aab3283aaaead23013a01cb14cbc5ccafb27b345af079fe4520c6fc4f4395abe18f8ff3525b7f9bcc1876693800de79ea33fc5c3aaeafc9e4c97535033708b77516a891fbecf160fa3f98ea6b0b7fcf69ef44c470df232a35c48e758dc4b70965d2c2256753afde954b642fe83d181759949a901558dd0c88cd20291e236581199cdca2b5436a102fab4c6c58d5c8f2e867a046114e0c3662bf115126aae27a66ce932b4d9603e14fb3769a2b712e5b332ffc1b615bf9116455cb802f907a0600d9ac9d292a4582d356b6f8c06d54f252ff17d1d4d07ae25ba1fccf3ae9b372e2b8420de1b9258217c15c80bf88afbdb5a879fe31fcd7c7a275f4b7432921b8de5bcaf43ec8db6ea38a962b79d810904406573cf3c40fc416dc5f8d2d8feca1285748cab7d5335cd4c253b656b52e9ed1b8f8dbc4cd93962028f0ac1feb7d4f754c0aeb1c31e961f25965ec2328ca7049661e8528603c117f9ed93b74bca5954936546bf729e4572682bcdae42f0e693fb3d05de3fb7f8728825675268438339debeded1c2d50bd89128b41cd40cbb6bd68564494b06c9bb43e3ba7edde3f89933165eff31ff255e1174d51b885b6b61d4d3712625d78423640fe911e761fb05bc702da7bb7a6819727dcd892f7462c\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nc", + "t = 0d9e70cb448371ac08d862e2ce2cec00ec8cadcd05aab58ce26c5c098cb8aa64ee561c446392253b3b6349c286f1222a3650d2393aeffa1eac0832552a43d11f7780f6f219c8ff1d1c98bb085092751f479aad553b0243537a23e53a9c9779e15bc3c8d8a176693c3261b4c0520d634dc5b3d618565c1428cf9d616c6bff17a4d0dceb97339f5556f0d96f28b187309a48174651383989854585ae85d30874894e6d54a3a65e16917c751f3edf1d1653f22ff5d3f1eea35b390c1df1912469db041559b9ccf8148deb9d4caf8cb587191049bc575cb20495a9b0837035d2b8c47a74190829e13973b5b72eda42ae1a7cf0022cca75f86f039c64e16797836c83bcc7c638d22fe1357444bb4e42bb1410d7b63a8c122006f45dbb942a802aa4a964c6b17f21634e0e029a9a6510158f88dc05f9c6f4ae024c6f13d32a4d412ba0dd0b9f7382a1771a61a35fad4e310becb6a5a59dffec526a9e06d9feb696804aba676d0d9bc043f07068c7882b1f8cc19033b78416d64d5c6f4b2d121d170e4924cdb9a7179ae3a93121b814fcb74cc25eed8ab26b12890f9392debfa3c1b9382d41f8bf0d1b8cd40a724478ee753c70d3f3820f48b6f8d71ac6d62d4e319659b188a24b586521986fa3ff61b376e6a78a8988441da519c6f986f10c32bce6ce156ab0e2e1d4cd1f2765d0cfbd8157104b64709c4f8380181f8021f9fb153b15\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 40d37ad25e0f854b3f3431c1bf0e24dfdacddd8985895dd95f95d5b664e03e9f3d6c006973be95f2b17621615b8fed29aae91454a4108997a7dde9f279a93909782bfa6ebf7eb69c198d656752b980d6424f054b3458c8b772f509981209e8514f5c366d7a5272ba91072339cdcd81810eb2c27f47da51e13225e564ec772a0cb40c95a295eddef2f5dc6fddbedc8f7c2b141049979b7373049cf5b8f91b093fa2cb1220e145e5fa8bd1581dbb7ff6f1e28f51f15e67350f145ba336d4a894a1156ca2cf35cd8a29318d084e28d4402529551e8fde5a30c8005b983705cc67a7cff211e2a23065ef9342d4d065405818997126e14834b4f3073a6845add06853121bda9df7fc68e2516e72515d43ace942ba26c0bd36f58e93fa586183533b82cce7c8610b15ebd305d0be2ec52636377cdddeacd4eaaf84fa64e7bd17dc2acf0cd54f75181a7e237a6b1cba8514dac2c0301fc7b28ca07dab48894ed25f0d2c4f755cb6b83eeef73107338cc9bb21bb16bf8069f41d5a86b37f2c4e9f793d5226a5723c5c95da151f663e8c96f0dab2af01ece8ca1280fce698ba99d033817f79190c7e387c71ec8c70d04ddf965afb5e0c106e1ad913882bf6295b8b45d6859b25125e0af2514fe66c40381987ee925e6619c9cdff3ec71534ea1cec815bd3ae8a4f66ecea466d9100dc1c94c64be432d8fc9973426dc2041583a96e68312b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 3d8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc22\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 64d5b5a72e27de69cd016f58fc0f7b1a4608376f0c9c51c7c89ac24487b6a542e414606aac2f00892e8a72307c9167d48d555d3c46f924e95b2f7ea6451fdd6eb7bf14c5543ee45ef6c30d39c9c31d93fc807d9b1ee85405c38a5952d1387e393ca9e357d819470f43cb202dc1275b91d0a5dec0b7b3c547994024200275bbfa9acee80b6adbd742563088bda0f2fb6989e78e2464f0b7a7dc96701792c365f9ad1d8efd0b3842bd407774c4138810bc0c7f5900e50cfa5c24eef43d52be497b7c8094413d543fa3474a04580448d8203661d3ad87e997777c112161af200af2442f591c8bb41f337c1ec11821166cbc3d2f264f27eeb2ebe05f68f610aacd58aab3722eb38ba798e9a9c083dd335be40dd65978cf0a67d0e78a5b9c77034dd7dee2ff87172f98b61899d76b384920570ed063670b5dea2e644e538e7124a4b8c9ba5da4afc1e1196ec194a797bb2c3ff90d8957ae7bb8ebe99b69b90fefcb876752cbeeaf4f921060e8cf420463152b32ca55e39e61cef5ad4ba4b0ee4a2eba2d784b27ded395bf85db2bc85eef5e0cfb8fd0ab3198ba5aea550fdc866b828b3095b2a8d4b71a6e20ee3d572b94cb4f6753ddfbb144b11266a1efac7808931bf3763a4a80d0bbf475e5a3d237eacdc58351c1400d5bcfe9006e6483cb664d0274c5cf12d2a18038b6e5643244e0ff07072e38eec29eab5090946e73b01474c4\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 286d5dd2d8141c8f28ad5834c57b729f39bf5f90a087ee09eba1013208793361cb39d338b4acdad72ef3143f45c6092cd790abddb45d1150abbda9c70f4d42abcdf71648f63172062ea5b64629430b5e3b88021cf5fbb63dcaaded696e3d6ecce60a1346d75a972dc6eb6f50b5ffb7da7a5b7b7f8a5454f9dde9fc21ec497b2223b24e3dd579e3c0518feccecd2b3dd91ed6a26318dea80b1eabd165a87bac00040c29f3335a7e474cd01cb8cf2f1a56e27d5377d17da3ca581e84149852b63868a9de2ba8846142b07d14ced219ee0fc318b826a35f7806fad240685ba4067949a79b9fa3252495f14f49db5b4a31710d4c1d04d8a2f6e7121762cb4873d1d5ddd05c2be9f8c09ce5e22e15342ae22f227d940c8ce9ca62f4fdb080b85a447d2af34acd4e77d126792a69892f63356061221c0c7105dd5e044bdaf073db841f0f25f957cbe259a2474b7cb6421225add558838757ccb028ad426ac1b75029aa08746f9a47df7df604cdefbcf4abfa92e114da11686a6b2fbdcfb9a6bb3e676a7bb288b88a9c9546eaad05a84e1cbfb22503e326c63c15c2c634085d2ad2d5220b9c6a7a51548adf4474145cf3045aff023c27f92c098d77f065ba59a530ff15f1f0cc634432a3b3fcf0c5d5cc58fe071deb4268fbf16917bdec618250dbf4d41efb3d13d0be332848a0512c5e8e6b4a6fd06ab4094550cf69d51e5321627dbd\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 815f21b2970412f0d01a6f7eb209b214b80a944718895712c0b17b86ae408b01d38636b0b10a0d50a761359b770aac9074d0a89a22431f031063d9fbf174a767720807d02dbf70f9c561214c8ea73bdb37b0ddc8ff2e72e744cfe48de0e2188f2c034d6a779434a7e32ff44f5a9016cdca2e8ead252ae8fa7b5137c033013dc1a74b5bdf048bf81ca66a424feb93d2579c63f2aebac51db1535217341b501557c7e034a5276c8279d46e8724cf0c184025f8862c22a64d9142472c098b8974c61b5c8c998f0e9c8eb5525dd520a190768faa9d3fa58ee6d93f2fc775edd368ae734f6b359469f4d3211895f35dcf1610a4a6981cd135709b91f2f7667b7288db3337bd46d6f15c0eb26385078f3943ba1e67df9ef34f7e52630d5a4862dccb0477a3988f25d970ee69cf860eb4b56a85665fc47995befe817a4e3fd2b4f112ef60a52180adee5a11edb9ac1458c1c6ec41e3b9bd40eeb906e206b447b7538be7fc0170915b047c998b8baba8430aeff4ee8c48c763be4a49a8d0b8b7b45a2f0e0403e18aa2bc30e754982d6d1872434fdaf22ba6ab298ebe29a739788e377c51a140e6ba07545e97eb9b2b12454c720653504686225a4c7966a13cf0dcbe8e1a852a2d0b828b9e708c1012ccf401e7ac94c9fa0ab5c4a19f087761b3d1129317571621593629f9459c94b92c62dd5d6827cf1c5187e98a9c20d27c0cf4e4b18a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 91d2e4d3a0be29f0dde7d2033e960301ff15e0fa649865781d97876e1a566b19e1bdb2f7f458a524d6d86e0d6f5e72f0bfbe5d23139987cf1d8cf778fabbcf3b5c10092fcab71b296b12bd56eb87093e90747d28a2a85bb1e62b6fc841f0da507978c7aa9039c5d7bfb8dc20008153bf81e94222fbafbbad6289c4fde8da4ccfe8142f11a922317673f94aee392b3d34dae9cda01d4fc3dd1136b7341f45af106ccfc8f71aede870522664494dafd9c740e7d864453ca9874b909bb08ad74c673e97ee78e816db3757f80d3c1edbad9133361160296a304420841c37b0de7c73fb6d3dc1c98d9c637a57d145008048e02235c51c141fc0d38e0815ceb54847a381f02c556d1ec28f823fb3ffdc98e38e9de7d52096e7c4901ecb03ca1725d2f386296ef307b2f4a0471ae3e8eabffc1581ac2e1a00e70a3cbc584f7efe6bedc8d437a412035e527aae977647eb7b8271cf9dcf361750720289218c4372448a24b1fa8558cb8bbe928ab734d66b210489bab3292c2745a050ebd6a88d38359ca463ee4aa29bf84cc09e69ad4116765ca079d5a1023796342d7c306fc0fe8f2ccff4c2b1b855077f752fae6232761d40fa9abe063125cc56e4efd234fe6623325417506fb6d4be187fcab7471c16e607abda762423bf4dbac021cb2700019a1862e32253c0a8fd3c443d381555a799f4e2df7d6d0a92fbe889426c9dc8b6801635\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 5399224a31e400c2e26dcb43e4bcc394b22b87ad7694e59fde38d7f16e3abf190c877f79a262b6e9e172659acfb37cd3879dc2d4d86b0f7672f297a569650a37b3392602b147b1b1110431a4615389ff759e6ab16371a514259f1131a96952af64515d93eda9541791429cd14d3a2ca29c279088607ebc57b887cbafcc88f3e7eb65067e952fae40301e9b784f0c7c9f3251287d279634aa92573fa33b7845471f96c915352618618d733706d2d9d661afbb04b87927a2589f46d13d8adb749d14eba316c9cdfa066623c9882894345033e1414a3f3430b551f7de8d387662f75589b7f55c9ec5293c1de87f7e3b0589ce9b8e2924cf7b87232f0da39c0eb", + "0f89489d73ed6f7e73730d39823495cca741a19179093f15d6cb1518650c74138c1c1c7e4e65fa277757f17be457607c51d310dc10150e7b381eba75c607417449b7d1bfcd7223ea1d373826b623c7d1580d1e989060791f027adcb36e4bae8a7b09799ecdc0927256a218e24d1e4c51ef7d5f201f4a167d4ec77f0a77521c1747a67d413742f15b1393519758f9c98f3b621c361bb5eb9e7a5b904a324d98873d54944a18a87930a79d53332a9b8ab093afa12029406a078815b13872033145a421ad3b1cb9e7fda09679e7e75ceed95f934720e32fa3fafcbfbbeb028a62aeb8855569d7efebd70dc3f078686b54d26088c2870d698e42956e65312a57563a2b8\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 043e5e7106d5e9755860328c3c135bbd898ee93b09f329aff989c41a271d88239c9f079ebfc17c352124fd5a9d31265dd912ac24b2c506ad33ed33b5109e5f42a7e01cf4851c1246719eb1c75267edb673fcaddb07f0fd8ebfedaf7df9331f95bcbd21a766418badb064e6b0c436c6e21c74eee42e45e5d04d3ce219d089905eb700542144a045e0f7a94a38b0e20858ad94098e82a0197e077136352f26725e50d7ddc4771f52ebe4f486e1fe72dbb94f69968aff98fa9f5b820b368c60d82e89fc27f0aeff824b59a6e64a5f604df475c9e91d18911f5e0a20b8bba06d842d6a55378f382c0705b75a308b08a86bb37e4601903e18740d041c987dce213071ad7edbcfdc327b8dd6e8bf1d21c74f8bb0ef233340ee193ad2728bb511e7b7616d5c1ac6708ca3127b00a8e743b73ece1b007a09c74f60cefc924a0e04d967640ced76c5025246e888168dac8b3a9e4f16c0d44c8935fb401d3b171abd18b7c79d2f445cd22467c77d34dcdba4c01c5418def4c170189b396e4ce9216edceeee101c6b6df834ca29c9f2767ba5a1b14ec157c09217c28dc4db95490ee3c8d0059e9fb8314b4c89123be5e1f2c4bcfd732975550f5755a845bbee0c65aab017c25c306ebb43bbd14406be70e046a7589ca3235f529fbfa8ec9d9208a95f39cadf8b091857cbdcc6e9ef11439ba752b8d24d4c401f1e0862f71d07262f007e562b\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 0e617b28ed72162e19b7a80a8b57b9ea9c826d0ac8b230bcf449f027978034e1bdcfd55b89393643d97b082d7c1e7eb4f901241955ead53e18ea50e07d8818d01286e6c7f6a0b1edd82c40a18cd934fe4b117f3711f762dfff24668c511524bedbbf9248590b708c36ab59ea8449c9468ddeb978614c930d7cbc45e01115f5ec5bc8e024e6d4ba38cb8a3c80fa85142de7dda62ec3089c56a3a2a067b09a230890842e6844b20cd1e5143f4d149a99b86c162b3be1d98ea2850f0c336a9a0e1f350e4435b7d0ea8cf479f4c07b3ed800c51ee78cea37c628ad0f8d9d9df93c94a7b40c828927dcb7f53f705f9145bab0191ca8279957674707cc442482754603dce5fe9dcba2b0a545f8a3be70e108e4c7c9ec55f58c43cd654fcb7f0fe85dc2cc02fbeda0171dc5c2344bfd908692aab69fa50fc0d06bc7b9791dd1cd02f23e52fb26c7d017372dcd84f966b49ed939eb92b51d8d25cea6b25ba6593900075f0ca7fe54a43faf9686e35eb42658d2af3c62ec9b68abc449462342c1e1e4f5891d8a2b7b60446da02600bc65e9e48efb38b5ec69103a8447e5df840a266776eeda1864013fb966360ab45ba9410a2721850cd0e2672840c6efcce5d468a35f9bf0ec25046e47d0dfa4ee6241db8ea32125cf8a7ffaa9941e00b49a1cf68928d493fd1a16602dab0db580001bfece99fca4f90aa823717921e836b12ad2827e06\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 01cc477af0a4ef90faf0020641b6140a27ab93f44cc33a26bbf0a8bf451443db7a3b4625689cb4ae03fe2aa97efd4518d49148260e72120657b158a6070f400cc5c904b24c4ef187dc6c5deeab86130eb9eed59d75bf962ec900cb0b2df2a0086ea5a1ba9d85c9f71a5df2f61a4dcf73d40a1d6c25e5503316bfe9a2c58c3d6012367f51720baa470248a8d54c1e8cb5f8b1efe93f2bb7bb4e7f000e4c06df92986ee7743b9088571fe8b3cc5b16f35d98e633ea3b623d9c83e2095ae81b2877c36898c983ec58d74cca9026d3649a12248b09f04c49e3878715eadfd966af34531699ad173cb01f8d73f585dc00b8b3d72b32cd40903148c0b6167e4e80e2f3d29e5285486ce51dd8ad1cd195809a4ce6710776c19d9bffcc915da723493837d6f99a215ebe502da8cb4444b0421626b2eadf61ef05210547940210bc4e647193e0a7cf00a99cb51533f74fc29ce5fd4632862b8efc542a9ca0e2da81b50d1c72da1dee2bd9af43ffd5264c92e5c00e9cafcff11e5b4f9b6e047e5a19e7e599a736e15463b363f250a2e1616162dcbebf4791adfa8b51e80eda02a8440132a80fc0f0a2939f176fed967240ff457676c6deaf5bd76a3c826445ce807ccf4135c7c4f37b112ad2f6a10f213e4fa70ef872eec4a7371daf30ab6ec5a47bf8f1a9f6f7b3798e3d5bcc0d313eee136cd9c0d831af2ba21dfbfef9fb6142bc36f586\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 1c95586fb690af2cceacd7c9232c70a8a52fb37a7ce391e9da23cf087e3b4c609081977a713a032c4dbc263a369c9b57f7036f6218b9ba5f522cd965a34d8cecdaa0a79c97a962dd5641cb6b68dbc77018238489ca1d64b9d3a3beb33eccccf81de113073030fa54305d959180340c54c9ae4f3e5a3c308c150f0498cdbf23555ee5377805d2cd58e72d6109030837740131a6a7e5c894ce498eb4eeef7aa8099c727946ba78f684103a1bd386840932ae99cac1ceec176823bd4c2c5b7c7786e2f071add8a940edc4695d0e031c1466906b4e6e974f04e80d21177a21f4caf5e2d542d7574df82470308ab1215a83b9380c6fbbd34059a2896f156a076f13e95501784ffbeb42002c2659b88540848cc06da46d99dcb7ac4f6294bda2e0dfa699b1d852eb946ed4538b4b743fca2f1384cdd3aad9e863874448eec50d7581c96fbdde8af1d6496386cf49161df95c1fab9bb4f905f3dad3dc67bc70e21629e19bc60a2a9300b246964e5d7a5a56942eee8ac4676556283af90d27274bb9f460b3f5374deae951140d616c34905310a36b2c52ea789610288e60bad45c26e2df328161c54bdba8c7b25b077b2ca5ece64e59d0e35a052839bd762522b4a6e2ea4ea98426f7b50b90ee1c39b2ff1ccd1789188cc547645e96857f9eabdbe1ee17d4e040f2f34eb826c9a2f5a4712806efbaba70b3272797a26852704e9a14c50a\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 6937187451f030bb4e8da158c24989f1466afe60449e8f720abeb3ce766b5e1fad5ce87b6902b67daad9f6deeddedcca13be3a888cbc0333a205bbd292e0daa9367ad5901547b70de0174f644c3d824df3861a1bb6a14cac290e70b06935c39d9bbca33932f5a4cc18f96561a328f390f6e6b81aad21c090c2f0a654b18674448a9a858b6b2d0e9b2bd2782516e4a7b401e04845a24882190361278557785f7ec9bf9eee62162543341a8068018a92600a5ab037b9a646a294492e6b8776c2f3613ddea88ca7e840d89ffc3a3a112fc104d52a01a5493446c524a5c02f5f8aa393c3f46cbf05530bd70747ff7dc95f021dab34c617f550f40ccce73e92d7a351a67f4c531eb3e786f6b92632444f36a8b7a554be5bfa9f8f3c0eb18dd96da5eb9fbf3d39f79495da701a549f5a4a0dcbcf147d9f992ab83ecac1504b2dd11ce7a1ca3bc084a2c611c68cfa89aca69626d80cf2a016cda8f47f6536f085bfef6a18ee2c84e0cc32e9dbc08981b6b54110ac7a8146627283e5bb30f47869d09987da689cf5b6f3aff6893dabe94d1c2fcdbe789d29430a3913e4a20aa6569c26d88d6e15030eeefe1fd1ef7ba865e52a9407fbe4578685672a4603d41c09a9aa99ae0033c5265117d8438f64a3daaa862ba2931fb86e429870f51f77697ef8e0f4b11dc6b70c9a1cc47fd2cce484f7d088d1d3a0fed120555d56d1e7304a656513\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 35826bea475a851d9f7c2b94b28922aa417b7cde808fb6cea5a243a3f414bb2c5c6dc76c00dd6fdc692b085334c38ffbb4619198bf1c9f4cde1056f796f47adfef03207a911d7529bc6ed81f32b632d0c2d127556b9ef010d68a2f45071dba2f128052b3e34588c8edaa552f7e060156dd683dae4dea4bc0ace1e17681ff4d826816dcf00dad4dd17df81aea72ae1e436f42c4c9f0ebbcbfa801d94db1bf0f80f51cd82b25aab6b9afd42a4c22ac9c04dfb0faa1b6954941d8684ff721cdd485f81abd6a59793f681f371d2e2187e7f7c034f5f5d63560284d2e0de7aa27b61a3863722b3898769eeae9dcf124f6314a13328459c4093105481f7cc0bbfdb872f3f304892eaea2971420eeb0b86c5839be6afd4c719a50ded51fb8d1fb08568a7d12ee7614b6e8be6f21baaca84c166a69eb773dc69fdf855d02548a188402616794437a2a9aaf50ab6a14f0f172af0af4a89c057e857ba40333a8ed3f61c6e08a6c98679f55da53c76c1c1349791ccbc7cbb3c189a52b2ed23c6fe86f00a2394fd664bb7a8296fb32868901dae475bfdf0b66cfeb7661e5b734aa5b8689fdf54299a393cd85921e21d35bff5de824a9434378106c3d21f2716be4f8a60a37b64a429a570c1e19c7a5d2e9db9f110e7c0727a711d845a1d8ff3a8778852eabfb793d5a0054", + "b6ce2e38f4d085b44603b812611bda8754025e89e65cecfe99c11b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 29d887eba4aa52b73b5bb2308c0fe6fa78e6bd682ac7278fbe85cc8a9f9d009b2ebbe241ece0dfe5b6002921e555771ac5e5edebb8894be534e00135ed6660bc43e32fd3c20e8147f1d998d5291e877e075889a114b87a0051771a8c8034d4317e12f66d40955dd6d2e97eb2b0877ae0ceedfbe345cc10b5e6e3f41cf875f2600480c513672c8c0193d8f141feddc8ad82ff0fc3bf69663d386c968d53a4cc2fb82cbf8584d3c4d64280925737e1b6b27e60a443fbcb38ab7c4d14c81c98ff0018572054746a0ce3c6a004ec5ff3a827a140aeed96cfc0c2480fbaed571718b30ffde4c1de43667125ff7f68a5352ad76aa828abbb4e70dbaf02fccf4656382d4b7c261c0f858be7c59497823c892c52e9b2b8d57c70e82c8059345f12bf2a0fc4a214000e79a4f04ab7016c7ca1184a32b81243e44dae41d045933b9dae873d6b836d0b9c911616993eae95830ba8c5698d3ea722c370f47cade258cbdb67f1eb167e51c6f4b12ce7adce403a001e78092efc30a214939e3b86655bcc37d8b485d53b6e2ae42c18b03bd87299de70bf553a112e9e6bdbc2e2441c5072ecd2c74c25bfd94d7f5545c29c7a304be24be5ef61aec5ee4b119e971784e0189903240d2bec19ef9b39b528c65221649e72dfa36f7d04aa0becb4d147a33480764208623d0be7eaf7b466be492223d12c0fe756e23fc3b1212b4c3d257d50712c0385\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 7e977901be2cb2d4f55451fbeeee9f081b945a7bfdccd3e16d502a15b2e05b0e31390d996a74de4521104bf642f5c1f4b28775ee21dce345273b595a6ff7578635c888f9d3615f9852a0530b65ee49695e1d88fa542e3852b545d361bd8ba4f9d66aed3a7d59101dc971aeb3f47a3c4f7cab15319981bfda2c68a491ff3de9b8975c8963b692061c8a8bf3b5dd062d42e8a2efd1aad46f46be4e31e3cc397ede8203a3750d05537992f310c936d7559de5745cbbacbaa0cc8bfc549b5299662dfaf3cfb8a85c5c40e30d12f10b8cac0022b3bc4405644b328ae4b38e077cdf263ff9e2fe9ae44127dc71f6cff5487e76c51ff94cf6c28dea5771fee269d5c47a9bfe519ef6ca253677fb1a8deee6b51b9d6152b53405958e724281d374228c4e501937e5b7cc745b6aaca552b8fe6db2c346b7514831f4f0fdf724bba6b462ffac33f9a2b353ee8429307ce9e10b2f2e3af326bc79bda4a4a93d9d0560699b91a5afef136e1ae2af5d3c5f483af0578b032f62a5c65bba35c47ec5f0c662fee407c775ec8718b5ce7e696fa2f5cf2d7d553a7e1aefa31c7716762e4b2765e6b58f268576cee7143caf67cfd32e6759891d1f823fed71339efdd7ee8b3f7e3cc8c5655a86a6823114c14643c2ceff08b1cb448d8b0814205d2b565841899ed28f1a5240f914186caacffc0ee03a7dff8df4cbf4b7f587c19bafa9f33ef132d808\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 310d8328fe04b15b0f7e92ceb3aadeb1785e71cf8a2081386e2938a95f4fb2a7732d8c347ea1159e9d7588d97496cf8f2c89285e7f226e7572055dbaebb4f4fc4bde689bdf6e6c9a0ecf6b3f8a98be9459d6d8b86dd184061d822545703e2fb958345bdb03465422909aad9f52d45eae132c5e6776ee9b37dd5eadc8531b69839ae6cfa8e03b35003cba6f1df317b522eb2a62dc4ce5ab7193693aa3352110d7fca5a8d74515a01ad236a515bd61bf74f768b8b26cd61d03a3a9b3e635677d8edb4264860173a1fb650ca4cc4fadc3545f84d1b85fdbf883addfc6607c898765f9ad4c3a6e64ac02058be83c8fc006a2ab52b3945fb0291509691adbc95c67548feae0d40f72e71eb9318d7a17a64dc65260ebdd69f97b608dfdaccd8bf1d371084421ae3b475babbd4dcf6367e3bac835190f2a9b21258329dfb8930793f76fd981c7ffe8eca6244e6a546ea4b076fe2f99a47c8dd4241a14959f9ee3aeb07061178d00cea20d9caa337464fb104087c6a9aeb1ec2a78c9c3fdb0c764c5128f7e2bef352dfa523fbefbc4d897a86f3a3fff8d1c24f8b9c8199ca7ace330f26c883d7dbca66825d8b001023438204c5b80f62c6456f7f3a383c27eceb2c3da0f78c4a9a04f12117658cc8bca5fa240874732e08e3df609e63f82f899aae27f08860d4a02afa12b495cabfe12fc3540c200e4ebbcd328f05ac68356b36c4c41ee\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 132666be585f41004622ccfbe802a61bde0f8a0459044a658e98e8ad9adbbd3b83c63144153da14dea424b7adc4294fe52961e94703eb7945ded497de3e26d682d745c7a37c88d88d0240ae3f334dcc23e2a6e3eb18888b7f5bc2c17f54d167f1704cf1f0b726a5301e1b94707f8c982cadb9b9aa8a559bf2dc2730b17b425ab0c26e4816a7d30d040a4aa995981db947765e097b5e424e8805a78980e709e3026ce5373ce1bbbdfcda646df70e8f8f8536a83f0284d685e99bfc5d0b98efcec6246241ed9dd3a1b01ffeef06b647be2cceeb122fbdd140999b7cb00a96c039bfabd7225db666a10478b83495c1c9636391daf162feb08bd7b4a1a69e9b0d2f846e9608ab327dfdefbd89abcd763077996dbb0a974472a17a843348d67b9fa1f630c3dba8aa8edc0c6b56cd7f05445133eeeb27377b4442a2c1dbb1d7027ed3f3d2a335b78a1a138b423f05cb16db5ae8e609d2f1c249668f5e47bcd9e405d4a369299c17f5e1d24472b112300c296ed49b0c094e93f0fd3ab10ca2269ed94ebd31c65b64c6988b8e0eef4f0bf7fac04758798fe736d85eb2025a82ebc064f39e529860a05ec50a86d16100059da2596f7d16861c88be135d85bc586cf40425ff0e2bccd7993e9e0fc0fac29465db116f79c0708497456a5cfd8ef12a50cf1c5183e05fa04ef7a6c1283b2aa140d8de9b8f5652ef08df0499b3ab4781c0619e7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 28c4f829d3446be96b30b681e6de5c390996a47e1a3d8ab42a4d7cb12eb7ed14d2f30a66e53e526b0345fba4f6f7ffb2434dd204dca8277c906b4d3d96862697467e33eca8ccd99f6e4ad1224a068d5bb405c4dd3cb3a18af3bb52b0ee49a359e47a84c5d8f5bd9c0ccf5bf0fa147af08ba92d625da26361ec5322e7aa2bd8f2c015efc99142858cbc77053be48a76de6cd665936efa7ad555860d8a6ca836a8d82aa179e97d5eeafd63e00a79ec614087a601d31a41dd151884d02c9ed14b93330d3f9026162b5593ffaae8ecc31c398b23167720e34558702d0e64adab0486a0ddf92e33c8553cb7ef0aefcd27f85c1fed5f9541f060c0b5d8ef2bfaa8537cc5b892aaa9c10237e9c3de2a57ce3722d36c8451efbe7a6f13e03e3fd87fa549d001aba5ce8cebfd5e171fc73243a7d6093980535351436175ebca6ccbb69f77d902bbe1a7a42d7d73685bc085bfe6baad593b92def6d419b500a864a7840f980ac3826f275c269f2ebc1186de6031b54f094f318b4835f6de0b460fa87ecfbcc7a1ff512db05c4db55b58a9f19f7e9e1e44508b2facee44c80911467ba8e561ffe7ba0600665bb2f957f80462f5490ea6b2645b27fc035215a3ca465c0616108b5e9ef246633ff8195c2b43c9f2a0d5a4feb1d5fb918e761d175fb6fd826874dfcedf8b4a13b85e4eedba6f12b7dd670b47b3f0893686880b4ca58ee05c1d24\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 401be864d1a7b598cce9822ca99a41c4c8c3ee4421c6ce8f617fdddc4525b8b92551073d24b40f107d52bb3e6d4f9ccc9f857a49e3ee5389fd7f2140fff2181773f8badcdcdbf004b0ebd00b8732c118bc1552c14ad305eb5d02e0c75ead4ac514ef866f68814b131d94d7f4dafefab4f9751c00864f09e840e1b1f6b96f8b7bcb8b2285bb959355d8f1843f82166db5986be2c6d82bbdeebc45bf944b47ff35f7f6b97fbb9bde65d138fb7bf1e93cb635a8b9b2ee8b77117225a193c0b7317a4d28f9e1bd925c43df48629674f37161f7ee36ac41324ed0b070da7159b19046c21d6f2e850dcf024ce3c5149e4ce4decb467433f32cc5bcb32e48b2f5bbf3cbffbe002eaa347b68d5017c8d0d4bb0be96b4607ad1877e7fca38d52e5b88eea511911d9ea1cb4fe1c89d7d786b0acc3a21f344b146c8da86af77ba17526d5a00fd43c7994179841088587d184b6663b89702f7c54f453a698efb1089562994a6908c41e261daf831d3deb5994ea78aa415648c9148cc0490b5cd756dfdc205399d7d111688f501834e8bc51cc92859f0bab7fa86a111c78766a0388cd009ff8591b3b81304eb0222bb3362b921c1df0cfffa44027d444ab1d8c3c993841abc6ed49c96f341c2951a3c23c8250addaed803239bb494f8263ad311a1214ebe36a0e1b51eb85b9a425fcb6b8f178e02690446290af6fe01c09d5f4f9b36eb40d65b\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 7f535a238cb7c5b93031a9397f139bfb2f373248f05c67528e2ab5db915a413b99734f6131452d43c82b82289565a6b9a601f5e3719e0fa0d44add201b5b2dcbec7925a4ed7dedf4d3886883db6b6d9b56d3391d9753af4872c3214cfe1055968d88940a3c3549ab27b22f7e56e7812e1ac1963f263e6a574d5f95296bfc1f34ff9cce1a7ea7f71d1832be55a18a78629f15ac9970797be6505dcb6f2a07f67acad1c058be5ec7accf2daa109605c83a5c928423af2bb802e787cc7b35717ea5ad221bdd0866c3e166f258976a660fcd923da605b11eb416b2ac80a42fb12d8fdc8a2152aa145035760c2abc4a88b3f0d96e14be3b01a2a7572095fb1d0f0df7b725a7247fda5afe22e29c0bf543b3a396531dee98c852c578e16049d01663fb57b42636305283a5f184ac11a0d4e912bb3da0913a27a515078de839c8665d9331b737e5b86e4cd7a103a40b73c9b64e0fd3d0d30b75bd6de1f6fcd05df200d059a19ecceccab7836970536942e0f7b7445dee987b47c34f89cc4de829109bd3df8f695a83714ea81b7f98f38006c13f7345b3cf1b1bdd70462613844b3e751cf4adceb98a6d95c63b2f245e5721c1d5f5099bfddf28ad796382c325cfd08235040572734dfe3312ec5d5a1aea0665859d00ec81638b60780d40b6fb93daedba0ef0bb8854f6d71261c6271b9c6e6c44689818e805d9bdc24a693ca1d83c6981\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ec\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = d2e97c8e52fd77875f7e7b1e6771bf9a3498396e8085a306960696e81ae89c90a3464a3fba4b4278d942f4afba6dee4a432186edf010f09586bc4728e67ecf9ac6e15da13c11a555581328d8b0db99ca25b5a31063213908e0fc203083daa5ef1bfc22a497f04900a32dbae8af18a2066b0c4037261724c27e09506513673c878be21c47f6384c57459cda2746641eb741a80980e3aff548204952b5f06912b96aa5fe257a2985f4050d523c46b85a99bd7b77e03c46d1e3396b31a96007b7727336e68a6fd3bd188162e4509288df1fee129ffdd203bc68777728592f0d9bcafe47ac17c42b9df69b47b14e8972b4253caf74d03c5dd6d027d4dacab27857329fb3879e6e61499e565f7e94a185f9ff7eb966f9e6522af10b85b3320d761f209902c501e03d0dcd8c795b7aaa67969bb4b58eb4bd09db6a3cdb6410533ba5896b134c567255a9a3930943bd98eadce1e6431b4093cbc8b2b9b4e0ea79e07b7beeb84dacd11f0aabfc4e779911e228237f26bef2536423c042901b154a6a9aad61dd2fe182fd9d462c8d49d7dbd7a2eea8492fb14131a400397036c248434d90e113afb4bff3aac595733ce93dff73ff8cd8b3e3a851d3465abd87118a0d40eaab61572f6aa9bcdaad2a885afa4724d8e3a1ba29286759deb5c1fe3512235e846e688cf325a278d94ea82d946fdf0945d9ffd5e7fd507bdb7a31e9b79752c30f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00003d8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc22\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 3d8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc220000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc22\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen134 = 50963; + +static const char *kData134[] = { + "# Imported from Wycheproof's rsa_oaep_4096_sha256_mgf1sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 1\nct = 48b29ff276452ebcaa7f74bbfefcaa0cbba598beca99a178594baba98b126b2679e7d64876c8fe07e39f1f3fdd5c4f664a1ab314bcb75f1e906643fc4c786d66e90cac12b8c23aef35c4727451cb033d889e2a30eecd2f8d5091a6d52170ac6ce579c9c49701461185196aec6a380e2504833609b359d33a436f2c63bfea9a70e803f06644a0ca725a4c5b9b01cec93c01cbb79f9a17c401728325e17bfc9750dd19cfc127b9dcff8951a78023b9e30ef7ab628084d04f64a4be3b6d7d3da9d0a94d692a4cb275a7f509aac8dd2db4f797a374aa880c2d646d23760c51f3e0c00601b4c05f6e618372edb7d3a6f5cc9a26b5095adbff2134450b1ba238dbb9b3952f4d055f6d486e27e8cf6ff773896a0fc2991fc5ee046f6e81cf948afb12d669cc020b3aa3f14a18cd63830964c9662fcd3860fc461694ab3c6dc4f85fb4fa527f77e944e7c13b94c23fd0fd517a30dc00212d15bb25c00d48a36db8bdbdcc398fd6b1d229c762f7bf6e99d5452f69b91b073d866884a6e34c4608ee1df0733e592e339eedd59554e85be57c0a9689b69fac6e010d35c9c823a37f6f854c5247db77d54fd784ba82ea4e3bf776413376b4bae99c02a0226abef411f1d56ba7da24b72a1a5f74ab9d7431af7fc940d2319ce81dbc51390096d42a3072291ccb44f3db326cffac084c6a73c0b92919d6039e0ddaa9fe8ab1d65aff8b22cec120\nlabel = \nmsg = \nresult = valid\n\n# tcId =", + " 2\nct = 0788a1201bac2e27ee3c704ab8172cd45416bc353eddb23477841fd6e13d87b9926231315d26ccb3694064ed9c52ecf401c9be16f4e70e3d7c4eea6a2b20f32b53e94c9d26d10e60a3fc37983c4f63b46be3c04f66305c4aa23d409c9875ebf238a1d999114c9ce8644e7a93a8caf0cd006be19164508142b36000a3e3a3b8bcd445f9193ce9bc2100b4364d4c88cb5001b8fc6314cc782f469061cfa7cef3c3450121c8de529bb8d41b1cb6975698b138cf9e0460b15f10baf335cb8d680146f801de67dac74b0311059252960d59b734295f33c9f8506b6940698fb0467e746240366a49da355582831cd2d99be95057e9560c95f86931843633119218bfd2f353ffcd64983a5bcd4802acc68a0064f9da51d585c1e38310957db7373b76a3e376846614bc9271d2045fea65a6eec059cc7647c94318166fe53dd19b6e8994caf8fb0ba888f0b9b89071649299f95512c3b459ff6e3b1636c51213108c3140ce88ff377b3f36da31e85c46d5a479ddecc07899a5c175818881ea30d9a5a21b3abbbc1dfdfbd40cd6849c1312c4a89360ecbd5c1fd90c759563b0700a945bdc03a0b7888b893ed8c50149983a7e18668dcf61effd03ac8cd9d730ee55a0adfbfaad873b4b7e1923bf839a5e3df9bc634b15076379de0705150f03897142daac961c8f99a5dcbea953f2e29681546361fefa495afdb116f789ebf9815f271c55\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 3ee1f8fe284d3b84ecaa5f48ce36661a7842cab4f4aac4019e0e7e4506f1baa27539e468877d1e41bee136782ccd335c23640316a24fdd13e9257062fb40f102e0b482a4b589537d0e417f3db7df51c7f8a5094888981132fbc8236b79f2463b969e12c621121e697445cc80f7d0abbb31548e0b732b014b9c40b4481896c47d4d6194346f49fb8ab3c69e3a9e282a5ddab98140a798f4811b1dc4f5903f44cfe029b7038ba28d806bbd42213d5235180f33161efdc80bdd1424fee3e475dcb353f79a1fd23097f20b54afeca8d2123830e9a706bd6d827be20089a464d2df133a631db522dbc7ebddb06125c112644cc41dfc1ba6a924f7b32fc9a315626f6157aa9fdfa9979a73db2f8ee054e534b4f00235daf2fb967189720f8196986697609a45e1586fc6321a2ccaf745bcd99d69135edb45734fcd27698a87b8b3d95f426f63c5addec03201fa33ac224deb25c1cb5e1e32c7c0b895166ae10cc1b9c270a075619364650d78a2119816b17d808d44d2169022cbc5cc64f80b042ef6def97eaccac3a45c497bf2e43d823c1468167d3dc824fce8740e811c21d3e7b2289bf5c09d722edb94bcd7ac47427ce90c944279d898cd7d975d6a200ebd00104238be33bb85730c0edbd41ad4106855567be674a73b325e508483cb897cdc25aa678f0379fe121795cb858527e72c8a62dba7612104dd796d538d4d9ba80277a4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 0122a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f109\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 01f290bc344f5b28bbee4f37d113bb1eb5c9ab3a6e735b9ac13ee65aa42a18ac22b51c684a34b969de549af295d48235bc0c46bad9e5ceb6a0ddfabac4dee6cdaffedda65556e951ecca0dcd8d1ab708176c1d665436ee2e3e9810dd2ecc508b232b3345708d3f2acd95727a2a1f8a612da88865c39652c8de64ac37236fbd0bf6aef4519821363e0be2391b7b0279605d193e4ac96caf52fdf1b71807cd37458f28bd4557f8c9b6db47c72b468f8bd643b8176bced97db6657a59c146b78389ee5d7fa3a463cf2d207b0cb68fe760b83a62462b42398ce7109b3d00b991f5ea915501b6c31d1d7a388b14a995f9c415a108542d375015bad8950f0be42f64c09eb54e39fdcea2efe61e2fdcffa740a71ecc94051c073c66e38e47f9f3161bc6b325123fe3c02ecfcd1d4b811569d95f1eebc7135fd7118cdda6bc24546b5d84622b796c289d7cfddf7d0f34705666b9263e6b9b8c070b28b6853c06fad4b8e538de222799b65f4efedd7d7435d3eb6aa30bc3827247374447ac92dcc59825b5b1e7c636f77db09411ca764366bf3db3bf39d1803034cf76cf59202e664f0cc0bfe03e67c83334196efc95d1f57385150212613147d149d4e6f4f994a544abd82f7eca54c8f8bce8bdff122079196014832547d1f50a9123ea130bc93a4c5ac43edcbfc4fa0f2804a31fb2061868f401e98f2b92a0d9cd2e260ac119fa06664b\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 185bdb913b9dee3ba4d6b27a945258beb43ae70909b6f5a2011256c1a743a6e2e14dad48a92ef6cbe1452306c5dbc77266590476febcce9eb6f64ec7e8d0f233749770275271e79c1980a247c0571dabf207b9d9afe8b6c3ad6f6c5b77c83f445cadbd77c043d5428acd6a55f6104c102240bfb9bd9e82d6db53547abc11537188ffce7d688b116527992f2501ae917f7aebbce1c402693c32ec29611afe7b6709667a65a6b38a6029a6ea884a7659353c29f49398de3c16e6d06e33dd186b14e7e04660c7d864954efe5c9157f178b4b9af46f12bf5fb083bbefeab1fc97114d45f08ff8389e93945afdb56a13eb3a86c64a8b33ee46349289cae37cb4f0b9ddbc306464b7574dfcea969398e6d8720125aa72fa7513ce8cf11502444594012024345e3bc716639cc1814ed18d14eee2251d20464a43bd018a9243dfc8e1d122f1d84664bf1d7e2b63236c3991929fe20d44030d17be9990e11cebfd07836e7ba4e7fa960d88cbbd23859135d2e7359a85e99e1fbb8e97ec736bb9ededf2eaa94c3165c46cdb5e289fe4b243e8e25f3969a39b307840990eef3d8b0db5d515e65833fdd59cf83c152e06f9a066623cba2fbbe233541121295566c0f2ac6150fc0efd89e2cdf7b0972a5efb7302b078816279069ad2e89016cc82add02f9aaacbc26af2cb8494d333c6e33f29a9e237df6dfb5c8e5bd8868c3a66a02bce69e9b\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 7aa5fee8dd85b6fc0c75c86d72fe6c742ecb062a036bbd3796af044378669c2162f6f9c9470e1dc8edad8a41de37411b21c865c0d04a2a4a8cbae941258aecc1bc436e96ab7d66aa1b866e9b3018a56366eaefaf92a1af51d5a901900739eecf07f05748b76565e386efcc8a717f39cf0a163dbfd7b1b02d78f96c4688143a80ea589df83c78440f5c53a1a79fa7265f5e1c15cf8348b8b7abbfc1739a9fdc8a30e25c2081b44437935fdcd19682cff42627b223d796d1cd3437fb12aeb990bf5dee03ec6fe8f0634dc0545d0390facc7fea02b5609f0b37e4bc5f2a5e26868ac3042fac5589457b482bf1c144c239e2a96bd80a813e67d36b4e43cb89450289ab3fd7d377cdcaf9b40811ecc5aa3704086dce9a893d1b19d9f957dcfc283d0ff1a4bdd7f3351314bd5e10a22b2a469615feab35e9966e758c5c2742c35d42659533fbf50693dd1efccaf1787de3c7f66b8c0df90754ca851caf2341b9a7004a7eb8e34cf232a6bc0e993db274107d4d734bb996803a4b335e1ce32d0453450a6fa871430827fd49123849993f421084c60880e3b6e4d33771a1bb255535616544cf4c016c416cd8b9b92c3ed61214972e86a901560c1721fef866ea7044a2c89cc2cba85fb25df521daa90680fb52c2a0baeac9d5942c851fbf5f1e88d522e759aa342d15be1b72f9815c0debd081e9881fba247dd6858890fdedc8838e9448\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 339772930c065104ed237b979efdd87be944739273a3d76e38e2a9dab4a089307f236ad0477a324c0d5f065f6eaa3f50e73104e4e44d25fd5b999948ca61c72ee440e4b75ea2909617c41833d0f67c28de6ed499f3df084310babacb41dd8dc94b66622e7b9d1fd0f81328cdc451c86bb891efcb31c020b191598b36120a40942d35761113680911756c72b859bddc17993acf696a4360dbeb63534f4b8edbb8a633d1d649370ad4c46c51893071712d3ab165421f8f0fda893e4c988ebbfe22d2ff6cd0f289f3cb333ccbe06291fdbeabf19f77c4ead63bc8f316e95d1bf9f743fd5ffec9513c0a1b2b89211426d7e7fc386affb340a8a7caa6f17a9879fd9582a5a01fcd3a2c399967feeea1333f01072ff1ba1785d27cfc48e04b05bfefe22870d82369338b6146d72761318ec977e3193a5fa325bdcc4ef2bac547de3fd099ef4e83461b9cd4cf9c1d586160c52d9770060258792ade9ab50568281f1c71d7a886db372e0afe0a6a03b3d3bd24b9ebf1cc5495570b3304a39b2d57f94f282e7698bfa71904a087d57f20cb67a859a888a2828df1ad1a424f02b272fa7467555512050c3ef8eaf9169ed20d7143cda6fd86a110a3b4102ed8a74d176bf625e488dd209dbdb81b78d5d32509af825405fb87d5400201176c36c19a1d8b93b020400bfbd5ad7dcb2c0dcce99ee05ef2b48e191439fe990d0576d0d98c5c9602\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 84f103bc40d2535d3ba06070b9e5739dea918968e524cf431e4a8a18036d5c43c40fdda432b5ac9134a54ebc6914d6f54895aa24a0420175f348ac41d13069bdb443ad3dfd8c15c283ca76bd557060876b5e686e6ed9e090b8be9701dd6afbd650eb9032f5a331fd91ce85f784e20b4a20c998b94bb9e79ff8bfe56f67786ed76dcee79002cc5586d04b2e1d82b7bbb1998ae596d09aa3cc8c7293bf8c6a89c22d7220fc97f426d0738de5c06d41e9cf13db801180f3407448ac2bf55d20ecdec273f41dfabdad0104f07d7902905ec1d4979fe36d5e0f8940255817fe8f911cf3dc295df6f17de9874b7f754f08a50209b63e8c87302d78d5ea909b0", + "ed81f07965e30cd58e877984067defb9599541a7770787fb738bcb34b31adb2099b19ec15e5f585c52d64ac0d3778ed8bd415fb08303ad9492fe1ece5cc3cf824465856c179c304211c7121e226c859b7b4951a833eadf6a6f29e3bd3c26156f5af69f61ba6b8dd42747f33056fc1c0ea9f941c397f0d57d67e7255fcad2b97db22be83f2661122afb59dd2e18b38019f1ae40d48e6482aaffad2fdee1b971f75a93a9b14062d62bc8639bf866cd70c4963bef4303da8d1708f4ed489ec91b0593ce8f83cf3609cc51fa8c0ba0a43f96004818668f403bf97cb37a86b247580a33595957cbe39c8766199e186725afba94491a5cc7b618e1ac76436322823bc3f0b44a7\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 0b3d6f1a7949a05d472e0909c4667374a87e291ca8065786829b26702f2b979ed440a037abd310da6c0eacf0c01f5b2b082d00ea043e9bd403af238a0909ad8302deb3514cf7710d6a7777838675fd61e698ff09d03821046caa15848cf3c8b1e70fc497e2c8d3639dfaae1bebc52b68c24b54f3f1c4dbd8691d05867a818b0364512d6096ee6a49de7aa7f17148de1f5036af74213df39be1639a1b22640a693163af2e061073e28e1b20f32ce15cabd1005ed66d4d4ccfb50f94c6a34357989c1e13350fb25eb75e5004dfc311babf755d0c007fddf9398aa9c2761b5415c3a1c25e1d0c883187ee41c669337f3b69e131f87c68360ebcf4ac53cdd7101c71fcb1aeead812b06efaa514fecc8ebbc4b339a3f8e9fecd720c2d9019885346d4b483418ddde6f99c6cfe67500ac3ef5c064ab2fd96bf3372ece582c02e3dccefe5ea8cd82a79e7922075db696c5aa712243566fb820bec894ff96d3e844aeef4416b08e023fe48570f05203cf48054601a227ed3fc81fab7e54090864c110d7c0333299839675ce029436cf78266441fb910ef46101c3378cf7d322b696beed85d68a74fc5ad8bf65d212996774a80a68c7d017bdcffbb3f6194c2625e5937d3a004684d3a30b4c31c7fe4c05718182bde18a444dc2467d87bfa9fd64fbf5d31919d4f33f6f5721bea0afde9f47170fc8a2f45e17f4711971572873344a14372\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 2049694bab04b950f76d997385c150446040ae3373d4f868e852cbc4047ddf2648523a963df01a9a383e8a8a47a6abaf900de879414fe360d8eeb36e805ba2821d64a536c7e9f3c013d72cfef75038007cf546bc418d5e612d2ec9a41d9ff6807f8a2def511b09743b28514ec61139abe25a6087348d66f18b0a80a58f7fd91d019117c3b223057b8229f07d22c3af1f37b92c1c7fe8f27ed23729926bcd1f8470eb84da9b8991ed03ed9420b029eac8fdb6c76142150d1216a9d0622bea7d168c8019cedb9db6b984232a97385fbbba76ee260b8712f805f8e1e6fc966c9edbb4836137cf8519961f2ae1134867928ab4a517f6c4148500492e5a70cdc756df38f55b6b93ab81651e6edbd434cbd7f41245cddfa884b5e6ccae02cd19e1714ac3537966a113ea8cdf31b73ab55935af37a27420a6b0c8aaf225ed93e4250392b67cfe09300596836050ca95f16f1e2913eb3118faae6026571bba1803c0b133c5c39b6d8e9db60470b193760efb1d229ed1b5f867636f890c96dd16e454ff3bf75c54a1ace011d8c5d85a0ea3723bb3461369ceae212f0632b50f0dc0feedacfe701beea123f7c2ce22173a1fca90c2a861769ff9bc7bffc4d04d5e8107dcb4a1a49d9fb5dc3d806a0aefc1622935230a617009831f58adfdd08426ac70c688297b89452581b094a21beafbe33547f68812433b41227b87855b205aac11c970\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 741d6aa34179e67d3a1174ac4682ed88991e043dbc2634ddbcbe2b36136b99a279116b713e8484a4d4bc12b53ace3d70c5c352a07a7fbcdca7158abf5def14eafcc6919288f84b315dadf12a105e306b8d452f78d5ff6d4a95705c66186eb3b3a112bb26c266d3b8262c00d7a97da919ca37bbab032a60a55a1fd8e1a2cf908fbe918fbbcd5065dc210e4020deb415ba02e112f098aff54824f7fbfb959fa23b411fdb711cce0e0925e8ce526052ac76769394fa9a57ae4eddd30e4c28d87473054af6f6173292e4047d668c3c7c6c0d1f1e5e5ae3dee7e85da43b0478d0d0a46a759a23e1e5e68f80562ef52b76d85f664868e8866d8d728793e0d4f20b5673dd32eceedb4fe982036ed1c7c930c8f711888c8bddb33e385033043c812d6f678dacb3efab547176eabb08abafbb521111a6d5bcde133fcb7a4f3ba2316d2f7bbeb4aff80949e759da76dc238e64fbe7d27f4501eba60eb1e4ea0bcf9bd21c23f4c2385ec0a8cc078f8e67ad9ccd605086477ba2a9cc7148213827f63173641b78d47c920f73b72d2ac17f7103aa8c8b3dd050b260a17ac760a3463fb7dd19703d6eba6cf5b1a0467b2691b46ead45cbd6ed0492528819b50c922ed25f2b7f4a7322bdf24194f1cab6507b11f2211090f27bf3a6321a7d2de90690968a0401c117e8165c08431a1dca9999d8167cde6d53d41d3dd8700892941c9a36aa4d72dd\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 0e1551fd4bced67cdf4a57e4bf864bfa05990c52542f86d76714e74606c4f034d8e79cebc72af64e9f38bad64a2ee9f9ad8e6b1674fbc8c0a8dad71b55d59a52689bf8dc4fa8912ec0ba8c8300089e7fd689afff6f33fd13d0da443be82080af45276f790d551b162dd1e2592a53578af985307251a07aa46470932fe1ac6fe031daed53fcf0cd8b542f24f6dc3f58b28488c80231e087d6b7f48d8b0629e450b75648c065b603290971708a831d42837bf8eef88e5233228af52766675a046af5524d3b79831933e96be6c737f958aedffeee151f0eccfad3e95ad7bc3102ebd4887a340471e9115c4a6186b1021c724c00322e79c2dbb77e29157b72418757eb07371634d436133517b20d54de645b49ed5cef79d7fd88cca5ae8eeacf2d086f33e9e08ab575c1b1d090b64145cd6b57793a182e519743c4a69c1369be0494c253de25618cb488cec77ba585e7a2d5b387fd3f76aef6f6f7811848610098b916d77efb486f42f85e011c962c521891e35877c392d190bb2a9ccbd60a8536c29a07033531b74f586add9eda8bba422f6d1d343d6577d9f75906169d15045cd012e1b9267aafa15f39df23f55f931d9d8793a9b5c3e93e077992cf32ad57ac46048b19e0576f4bed86c502ce1af168efc236c49fed9aaa9614bceadfd3cac500628a8be815f074618d7e96c5d9b23e4139ad155ce9db36885f72b9ee1249e069\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 0cd65cb5fbf66fd36a61d7c3577eaad17191db8ed11ad0075fc3661120df2accbf0ae26da7e52e6aef362c2ba11d0743c4672a96f5e67b2adab40902216f433bd70601099563d3e168ee93d75f3db88806cf3d59017f5d2c6da4218dd9c8fe0be177ac0093e0909c34245b86cc1b791787e9544b9a874eca413895d81710df277837f4a598ea9f57ab8ce38f6a960646abe9f4ff2748d994ecd6ece82788ff368ce6d3989a820bc2d51c43cb88b3f9106b9ffb01da520514e7a03c605b4bd10d706eb322b67ed75072423505118efe727496516397a3f5ef9c77515d391e45c7d589a1fa1eeeeca8e9511890ad1a5d86046ddc72af6f6f6e08f87668567cc67e50b20d47f30e41665f192efb99824b603012d24d8c9e14f3f9facb12baf09b7004d558c39674c7e76f26bbb33945f73264a712e09277ae0e8ba9f208971a207dfacc8c5743411a591e4000b25b263ba78e7305a74afbe58673f26b8ed7b8377f7ca627839017b64d20c3940670330f6b45938e382d6d1099301a4b0017cabcb04d2358eb62634f121ff426e39c512bbc6539316f1d16da7b4ea3e203c2cd5c599080d1b3b3eda0fddababa6b402ae8ab932185a78dbd47a69ba9eee993646670d07bacd79caab4f50371f0b28e23045fed617c632dfa694c4028b8724733f30606d57502934000a6b95068805f70d44576a039fa70db1de3d1a001c6030913b7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 16bee7581623613fa6bc708e804b11954ee5578e6f6f6747eccc52b5bc47c0039569ad2ff4c9fd98cdc54404c50d404987cbb74716d769d70045361ddbd27f2c0e744681a2177f4ececedf39d90e23461dce3353999c90bce6b6b75f2c73cb2c2bc6220cc652196e8555495379bffefee61caea6eb850c0132e084897d9bdee7aff74da1be6f7ef2b86bc6f57494565ea93c6f3ad1853a5706acecce1190bc97bde071559d89f65c2717c31740e176c2db442d48c1780f65230eed8b498da2000a1a12ce4247221e68231e27d8b60dcadb2f50e0a9ee346e2be5083d964a5195d80d9b898e18ae88ffa73f690f2598b45327875278135b4f5e7ecfbc273848e1f1fe5504cca4a2c4a7fa353a301c2b6ccf0f2df7d0ab439d1e8629304f63fbdab4f6d28a84c1d581d3d43ba64408c286dbb452d34a48644271f23841868bd3462df5e4c0f1cded8e868c96cce995b13308339c49a0eb16bf5ce9493812ee205dc8b3fc3b8330895de3389895f162079c72019cb2c936cdfef9cd9f413514947e0abbf440db492f8b8b8aa66522975d674b0f663b0e24bf826c8799b850cf6a80221414eb8ddd2c83f824ee4d4db6565d07b46d8ef26123148c77c693f3c16d007b7103230e378a428dbd16eebcdbcbde38910984b10df5a3f6f9e6204d462e5c304cf5", + "91373e2332998e2de839b7c5290087d07b8f0f0db33da0092e6a74efec\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 0280342d7e535a3de5af867373deb801cb0f3a794c9c2f13e6a184f2501527a9cf4d1d356518cf3ccc4dfd243f0c328ddf8f0e7a64a5b7a70da8bfef15353926695e82f513a1308a564c91c0b07321b534aedbb10d2a2e7e2d8818c87d477232d7125b491bced4b7c8662ca465dae448af8d3f31a15b8da22677bdb44a3e5bd6ebd9b746d09b13ef69ee4b9586c1092d544cb6e6842a3afbe7ea682cfa10d49cd291316a8e6537b08fd39e76aa211eac6bd57b60839b65c1c76bd91b70bf6c8093e46e1043da2902de618c4127735c5ec55960889f5db0944725f7ca574537e865d652b6eda54219086c79f24e6843ce752c14bd0339e66caa27b3d293169452581574e48fef3c2bbd8b7d986f6df50fa56ab52f42da7620bce98ddf483df59b7e82f8c084a9d0e3033fd610661ee03841329a85096bc116f2d9f41565cb53988c8fcae6067a97578a98c5e28aac5f1713354b1a338ba128c21d603b96b83e4ea9e6cf03c8aabce9d9aa021181adb942c41d12bf37f278ad5360ea9591d42ac8008fc5d3916372b9f6f2106faa76ef056b97c241184e68a00a29109d98c46699da11c64a36a0b1ceb3df01319d2f2055ce9454372ec91d1b4d40da6600bd95b7b81796bd9af123243d1fb57cf1ae138e7d5b4508848aca462db7770d2a648f04a896b62c7f925718249f6cb20b812b76b3331b7491e555cad839f0b2b6d12060\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 8a6a6a92d0da57d1a773d3c387c98b6942f7cc3d4390dea241953bf3c1c607831dfa29500b72fd6a526824cb8c06d6a36fbf869d1df7a408038b47d7c17a077b15148287c76898b6d99ce19da425779511224fc28b546e3f75474c5b382d38be02073270cc83bd65e56473fce59454d0ad1e8cd39aafd7e409d9a7690f36246e7f94f4e968ea1bbdd13470b5a9c36806d8dc5dbfa94d422efb688e94ab89dc6c11d0ce091f8d4313be98dc1cc150eb184b64fadc14869b158b6daf8d044fb51c6baf9d5707c9cfae3faf6121d4ff6011ec2733e91f79286ca65d14bf0548991a014e5b6cacdfe9b81f66746f4aa21b06bce70d195021b321d624f943634dd7063fa01fa131482c7d9c3f6e539206a9d1f9802f9ea5ae271168ea61b3b997b38a2efc29fb094e4fe73aabc6f22e287f7ae13126ee69f624100f96dd26e1efab9c1ba44f986d54006386cec639f334beeb4ff84f62df9c924827d53fcf69454ef061df7d9c5570c2fab344d6d82706a9927530c4e560e6fafef5a829fe1584f9e209271d7c390a74879de67f5f6b135af56b5f18e0114dce06baa6c2473c5926844c5cfc172a68c03cbd6ce1127db1c28fb099ed4a8b880807a2eaf8467fdee4327afc68c18740d8591e0ef1f53df65dcafa575f57515065ddc24d39998f02fd73d5e46f0e34e95bfcc2f73af40a4b7e44182e04abe7d2b988c32cace2c9636bf5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 903d9c5aabb6754c78b4e1f0012c7ddbc1b504a21a3140c6837f03ae1a13f5379f2577aa33526ce653ad0aabb7dc22c2be431a2f0dbe233bdee73f603658b40e57cacd6f79fa8c7a09e8c117798b5a293bba511a3e18f430737f37c7ce1f7271375fc4d46e04c9ee88c6ba498b5e7497939705406795f9f9e67af7c689378342274f4fed09b0363aa5b7d85a5824fd49ab1d595dfcfdb5cb4e49fdc2f1e80bb24d5f6626bf166427d2e4340518373b65f621bd0cbbed016e93765155d4d0c4387519ccb242eaa387b8d4e20c2b75356f4dc43dc327926b7f2a8189ba0dd5cbc34e27f50cda313b8c39e9243061f8c2164c86caf96cd8ef2b78ff07953a965d9a2bdca8c6adb320dd5ab61effcd90c8206659a1ec0799a3aceb39840022634796deb05259fdf6785cd225b652a735e48c2de78c1a6d74a7ed5ac6686f29bdad37f72dcb0e8e8067ebd11febcb9292b4ca41bb8b18b02535917ce6ecabc1683be6815d4d85f429e94b0355183d97d4addda88f3dd1bbbadb766bd7bde679fdbbe391230fcc11bf466481f963ac0c31c2320455e3a9c0e7a30aea7ad6db6b77902346be5187d22bf02777d16be0595a4de77b1ba7c07c06653ecbd6b83115be453fcfbdb26ef39aa6b5e2062f7c3edeaf49d27325c1accc3e8014a62406d9064c07df3e759ba68705622fe537486e8e3d2308c48a0e93dc8e6b8b02bd5bd8eda6a0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 71fbc2d412e1ba0f5d131110a4a7d9ab46711ce686fe8b7a77a18f7950df754c7f9cbcfcc4171c2cd3d5019ef49b67186870b1912094686d3d3716c2cac483fe513663b4075d6c2c867c05d740846e7e85e5b7ef2ba7b870b0151bf4986f37f3a8d0abe545380f4f9075f0322c7daa9c4a2e6862df7ca2cb20c4fd9ce224d0d2a3bdcbc029b344e4d6db075e514dc3f44c7f45165ef6b0a6d04b51874df8081c6546c25007e86886301d5265684ad89be4ae3d1d20427b5d32e214d090b1efcbeb7b706e4b645353a702b2641119654f51da30f5c22eae9a8b1a8d50b767297ffb7f6bf889366d0ee4d17fbdff950bd0284deb6087de9f51561a4f6dfcada00b1e494168d3def51366f4e6d6fa6855a07c58a170d8038af26b6087dd5168566a7315ee346f0412911f05972fc332a8cdadfd70809aeef99703ea62465911f9c685d09aed230dc3df7392bfb927702a9073d8e3ae3bd5985ea9ad389023db8e5577a3ada31e34d6cc2f2ba91ad167a8e6c67c293b41824a04602a5737546044c44deab9cde8adfb30351fa71261343d2ae7bb4c1d02ed04b025307d23d9cc4e3e2aa4d1f1429efe61d659f003600ca49e084b03dc12632dd5562468b2ce57ddf26dade4753aa05674b2307d51b6df7f8f2a1bdd17b03058b69f70f610e900a6a9a21dc54a19604e9f4d7bfc9965d65c86904add06391e4000e92f60db54220c75\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 2e95b06ba6e48b9f31b0a3de95eb45b78f7b4c1141e21fe1723b7e74828cfcdf11d8dbc3605ae5e6dcdc7271ea5226fae7416a998605dd797768adcf09530206b71550c3c7d138237e36052f6799c62c8e4a8d0e4c30c1df8c7b855a29caf7651fc3fbb66ec43be26cc5c15a30dfde71ee504a905de88197faacaafdaec384fc00c4ccefdfc907713066562ca1c8adcfc5585b8df3ae07629391c8678a2c6854ac568f100dcfbef41eb29a97a16686e5256c61ffdac19a1fe116a03cc4d6d520395f43ce5cac6294697576b2b38e8c1e6c0bacfa04a4f1c5f676777e30d294da601ca4a038b2f98aed0fcf196c49de1677a24f878943ce78d8ba3348e0fd346bf3e37d6b273d49e99815c6726620b21e34ab1987640934754a2993d5f1a3c0ce437f60f0a3838166c26d310d979de13b5b18460c749161165c39fa00a20ece77838a790e0e6424c6a4456ceade7b8801998bec79300c399cbcb69f4e38205e26c44fe59e2b53d6c9163b85818975c5f4612d380c4dd3680dd72e2d440cb9b94b3a05c292e5b13d281d0bc01e45817340aa08d5b1b86f3b9e8f0a9c864e0564ab6816266988aabb6ca8dcbc9fc6d8bb9b170b173695ef17cddb7a1dff6c6be3bff7c9746143e911a4e3dce18a6dd624245b434604a36e7ae6355d3969d868d91b04893bf040a330b481b1eb9e046e1e45f7ba187998ce97aebae7e79144b9dd08\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 90939a827402f01d72cc5e3191ab668c97ba89f1b7a2d49d015d313ad202aecfc21d4cc437dbd13f84d43a61a654bfe628b2e65d5ca41af6f665167e8a80475ce5b4af15e301e3d9475b5d37dd4c24993bf025a3c17acb106ebc2ad96bdd578acc9d9368bbefcc2d17f165f9e5a93b320dd3bd82efad8018cb25eade39970646ec5321247033be41e57eefed8ae5765b606597551430a3866c91bbfcd296ab7ee953ec85d9d797b5654aaa228f1d148645988cfb63062c1d481f9e2e39bb9c64300642da85a3a4e1a6dddd57fdcca3f1a94e2a34c2f747d003a1a1e7b2881b907d3ccdde879964240f4beaf7ebefc7e072f3b506f441774263fc3bd9255351f4ac00801531eaf1f63807fe4ac99e3f4096e44f067eda16980bb5ff631322498d87d39405d68d763e42fbe807984734ac9b5751a71b9df3b3e90582bb0c49586f9eb8ffd29e5ca2f8a37df3bba99a3c212802d06bd10fcfe2637cc2728867614237cfce1f3b3cee48e135ba1fe9dc8025dc8580ad899c5ad3b6bbc18afcbabb2e8a104b27b01debc295703dd83ddf98f8e1cf95672b2a9d3a875a137fa18529cce79e0a7fb43d2f47814e01b4f5cdc10469f25fbbee9903f9e8e0bfcc6964e746836aafcfec3667aa258a3a6efafc826dfd6d298b8bb8732dd766e35e5065ac0b18068ef35f234667525881667dbf684407d7a55b02ee7e2c67236ded6e3139a8\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 30d9d7d06d7e04ad9e1907f78d51c19928b0a42f93d9d29f29f20abd82d7710354f07de3dff85d95ae2668d91332233e08ec6ed1c24ebbfb0e2cafb27524f4cbdb73f52d8da53f8b2a7e4b9f718b7f6bb2c10dacf3c3527c9418c6f5d9d0f532609c3cf6442deb1389029e7a3ccf4f8acb2f2b9fb6a7777c967a6e72f8fdd57b90f7375ec9767f641405caf4c2d95abea0c65d68d9ba3bde7a941565eee149588ccc7d43124f6631d7519a9a223bd6a3514e779b833cea3fe5dd02a34a74388cd9bc313275286a62a464d5f71a8dffe4e6d5c46a3e9b7926b7419743b48c07abe0b6495d09b15e16d3ad6e36293ad0606a2dc4e4f008b7fb1000b8f1ab00cc50e6887dbd01d8986241d87529de9f8bb3e6d6f47cc32145afef73e11a0299b0ae525eabb2d6b11be1779d162a533e9d1de1294974180499d954d254d47959979d92ed7594fec14e6e8f06418c04e79cd8e772213e5c741054db1135babac1cd9f2730f5f509cea75cc717b31a3581b4ebbd17518d9d11350ce46239b5b74bfbc98f3b976852d755005420e065b512f31bdc4f9971ebf9679c026818ed27f3585ba743ad384b7957db557d6056fd59e12e8a711222327ada7869b625c76eb23eaf2991612e7243b9048db5296dd143f7d0c5299939c3340b907be4468df9f996e0e82c5d23b6c232c4e6c304b0ab9b830e23b6a057c24360a6c9f334b896517495\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ec\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = 9685f7feae17a1afb625b6bd001085951e3a4b5b4c15fa637f1d7a723b7d98e555517f891d3994143411042b6471128b74e2c9e00ef5f3ae0f2e809cdb27be25b63d3961e59a148d1df2b56657d8539193eb4cdf6325b77e9bd6dde1dc83ad886eba8240799b2e7620c2514b54a75c38700f527fe272b12b5f6e5152eda41bd85a7ea4e2e9e926250d4668dee34021307c719440885583929e7cadbcc975849f2a47310b388bc6ada3f38f19eba5eacd273a46634ca74ce2efa0efa9e17f2fbfdb549228149eb8260db33efcbc67022525d25d26ad3ac8451477a43109dc6e185ca676955cafbaac65e25e535f7262b82e72bed84f178823d00ade7cb4ca406fb9c7b566db75e8244f490ff2784844bf1f04a2134daa21b2c01a8b1c6110e911138413e62cf78845eca876bbc4a7f6e9823cbd6fb3cecfeb5a9d6d89ce5cde18a8bcbe3618c30d7e6f1eae5057f200d9b8c2a87760cb95fe714ad2bba2e2773f8268301f751232cf6f55b2fc78b79b527e85fc7f7a511995c1bde1cabbccb85b29214a5b2b16856cf9aa025aa0642de9618237767c6a3d424953afc87a479259416e13e263ac9072a35b1eb18b6de1c5bb7f56f4a4046d3e2d69778870fdc661d6a9b7c729f4505cbb52e8c12b6f195b5c84b8b88523dd5c773cea8a6460c517dce950991511e852d2a46e4109ae8a26f21b9ac058a26138c7b481270d14d7f6\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00000122a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f109\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 0122a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f1090000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 22a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f109\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em represents a small integer\nct = 35a67c965badf169d565e16c6492d4b57bfd8b76e90df266c8c4e30691207f69b07b5be5e4392b812edd6fc5d3c4673b69cc9cb1ab5dea6d0124909a1ece9d35782b2c417c1b5ab7bf15eadc9ec549913597fee317cb7f46dc5273c372cb8b5c3d7398c6255595cda35884668c0e21b44f97340d2b36d5394a60b3333e675f349c519eebaef12e36863a01071fb2308648ef4afe15511eea0f7728e1afa4f11c8fa8b25173a05ec3fd5785a4e85b8d2f6a058c52a61725ec3d16a4e66ae33623df470a310d", + "3f4dd2f0c772cfe0ede15065b351c3e0892dd065a0fbfc35e6cfe47ffd90dbdd465bd7ea500b73f4981f3edd968cb5f9d2d1fd5abc1c9575ee16c263ba85d349f23de634801c2b64769b375e7bf0d098890269762840fa2f6084af3d9276a030b975a42c484d2be534264562b4a3a96d8fc7ba0b333d5af7b7a218fae0f23d21567293132ba3380de85689a1e913021a8df624e80c09d9c0e039544dcf6233c76071028ebc67c9de3ee674bc6837af70fa12d22c6f0d04f3060e2acb6700c3cff134ab90c2e3b1d7526b2fd34f8d8197a2c9e2727615732b14bf4cca0d38ed1dbbc357e7e2cd994d8deaeac9e6f44f63cd0fe509180540b5f5e85431d78a2e1703737ee082e0e709d55b27a0734584ae1adfbdff977e7019978abc30e0a9736b6b3aeb8a9f7fe1843c1611a8c77f4b92620b8167335ca222b44f3b\nlabel = 8b64ae26615eda5dc0a47b20b4f2a398844e7b97a06abd28b8db929ae347a11800000000\nmsg = 0cb3e2a241c8977bce02b885deb4bd3e707e1e950bd20d6573ef1cb28e558aec1c4064a18a0d656c7649d5412c422663784f9d24f4ef4ce744446a8e22634a4da006497c93df79b1a1b35d3461ce7ca8008dc4e2b23ca9fb63f0e1819e978ab95a173127e3c347ba33ee597b269c39983a018b9b79e596296582fae18da8c38090f1f775cb3b12f45fc33dfbafbc262b2579d93370542c2e67fccc40872dca0e2c177a349278d9a04453603c7c94a818541a586470c53302a4e0541081d11de7205c3bd97987db419aa7443bc7256213a8e046d1160ca9b77e1f10d134d43ad288367dadeeb55633221876e5783214b7c454e9ab79741b8d47e2d2f8c8ef01fc3ce7cf4b3f18068cdb386ec0a5734614ffab0dbc2ee1cc35a2cfd2e84426131c78630b4c8965796691e84f276ad55c41ac6d9d66b320580465b9d8d5c956cd4b144874c3430b4bb9e3f9408b420f0dd6c86918f85197e53538dd5e7ccda27d0cc62d939f394f7b6acb0044674ab549f087b33eddae5e49688e02e1ba0abb60e28926692de9c31667c147a8058b6db9ca87b217048d621b8685a645ed87a5d1edf0027a4eb07bcfc874987f43691f3e82ff028f7052b66610ba4a02d25c49\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em represents a small integer\nct = 93ebead3c8001ed15efe1648c9615db880d29fc29efb069671fcc0d5888f6ba3e2784639e6e3b9028614603d2f5180680aca911f23c5cb3028ff616920026d65afba45ce6e8c708e166e11ba2d837e4b120563ac783ef6aac5baafbabd26dff137ec98971ae892040f9795f63ce03f8df39ed75ca38999476088a21a7e32bae2f446e8a7ff5d6cfa78fb3635e9e301068d0bf53a36d66f0837f69de0da108f5c43caedb8136bcb9716014f09a7eb76f28761ed675447fdc46bc7ed2993a408e047839ba94a7698361b102c5e22b091ba5973b82d4a2040cfc5bdcc767faf5479a5da031d1be8242f6b1ff9859cea44db3074f021a6894fec3b637e320fdd4a03bf1b58fe91d5f8fa36f41a1c989e52e5c7b2dfbdce9a6dfe75d95977fbe533a753ac972e92388351080eb1d564fea5f3eca118bdb6004c0f16ec0b41acb7dde8708f65a8cf3af10ef8d3e9afdd314fecd3d7d4d480edf892f5117a6344cb12a2d39637d4d74597c129d7713dd878eb34f6f7dab71e71efce02d17eb008d370b809b31202cdbcc15f437cd362e7d41a1aa2425ee578ff8c19e6941a79d7bafc87201e819e1fbe5db1e7148628806b4ffcbf0e0de6f4632452d606122899452282ccb9b84ac11c70943386b6dd0ab1a5707bcbcc1799708ac8b05e0006aae87dff7c5c9b167f50c0fb6cba16c7a6e3882c32771059591abfc5a7cd53224b120ad1\nlabel = 2750512215b61f8e6623523475aa61c48ecec1b5ca09ea23bfaef162984dfce100000000\nmsg = 88ee82a2ed9e2db05df7d835b69113bf60ff23efe64e0bd14bb064e197c03e75f9730421be7b35770bc6dfc660b477276ff0ec936a3d3cd416f69ce8d10e4a4c6dc855b7a9e2bec17e3443ecd35a567fd0a1ab0fe027757a4b8c90c35d3aa26e337b99d6a1e0333d57e997a16a65d75ebbc8a06eef396d316ff45d066d6f46d18e68a423b8056ebc97cd8dca44036864f73584872405f8935e33a1247f20957f470445c36617087ad5260395f5f2763dcf4027dac0f95f0b378c9a1eea7ab02092ed8b893257615aec24a7ea9ce8edffd082972517246dbd9fcaff3fcff191cf23be27ce41c97b77b0e6d0add28848d0453acd8fa996b46edd975934d449d40203bd2bda89dbf80c12859c00087d77f58172226c065c8a7a3ee9ffdb688b8134a06216335b1d5ae67b5ed44c48c01c7fa54732478a2789be70e8082707395fdad5bf7cbc111cec0fa6141d8107e962e4c22c4cdba303dd692d6ecd71b1fbfc33487b33be2fc6e261914e407c155e2af7a459c10a1356d679a5a338528a283a47163656fbcdb748f5f7e244291f6699b0355f0d3d4931bf6c258f29ecfe69d2d01cb1610ddc40751b17fb275c68c899782c43d1a15950b53dc42c556b0c61\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em represents a small integer\nct = 054309a578d6ebc75b500308a2dc17b0f4cd5f9c1b3776bdd084f629eb6cb96d419a9cfcaab5e82908aab40bd28f1c622ce7b5ae40487aed8b56a71be56a91b6c3a7059b5cdbe81e5c7d19e2b63fe3c55833cfdf176eb5d46b0b4237c4af14eacea75a53dbe3770d934d5f8fab4f3ac1222264768e12f4fa4e4d23b3b2cf5fa4e315fb3da46fbb821456e17873e7ff06c247be7feb91ea4d1f7fdc07d351f423a4d133ad4ba543c9eba67b06b9c023b06c12e64b3d9ced33192945f630509f38053601a70e9a1781ae3688db6926a65697f41b5c51e2d97cbe293d39f270bafc0ef97920d83ca6a8bdacbd4ad1f5ff7e6643be13f2b6a7826bb03c87c99608a3ba5088c5703148928b30fdd459d902af837a8a51141a10b7eaaaa47a5458e28c10c8c92522efccecf7961f9345b4f9e00fe08c1cb01d0780199ce25edac27918db9d31adc7bafe055d4b76bb6f6b92cfcd8a51fb57718413e6ec3b7b2fe695baec3c0b15f63c91cf1f2d5a471e83e8a6ef73db86dd44c8284e0f6beedfac5d50bc2a8985383610e388d4902fe179cc3eddff4e24e2d4585af1dd5027fef0f6544780d1b43e3f23c04db2b00f3078986124369b8e7db5295588d3ec5340806229069c50e91c1e5a63446ab7c5f7245df2e3995ff5e39d4f5c4c734fe01ef23371e79420c43efaa0683ea212580d7e4d2ab5f3cd988a26ef9b3bad91571df86a97\nlabel = 0e5192d581dd952ec3aff44952004636d015ecd7faed33c005928a26bc0d30e000000000\nmsg = 0d9c1280709b3d2fa20196594cf21174401bd42de9f550466a506bf1f088ae58de149971a848fc31a4471bc8500921a2dd2c5a642ba523c264e5a1e0571e960df2c7d3848705791fdd05d6518e92034740719e5a25806a19c9fdc454076b150538dc7e949f3c997c17c1d3beb28393b00e4778c4d373e8b7e4acedce664f9196a6ce3e1e2274d793f58b34a50379bbba57b221f961c0b10dc5af3fe6d55e368d91357095c0ede3cab024f4d6e38884616f9e9b8ed2b185036d44b54e3e26d2d84b0f8b82f401a3bab3a8e2fb63a1a7a29e10f821762ba1bc904a619c4c82ddcb34c2091b8326fa83246ade38d516a3c04a31c9a934015ba0dbe6cf992477c52e7d13bdb9fef43230fc19fab553c04337ca331860a1b1d6af4d99ecef5bcf2e28f67a4b0182156da9e5e7b9eac9e8caf6fd5a7463e31403d1ca14195a25e697e0b8b3038b2ae86cc6bc2a3aef690853778984ade5bb45239982aa99c961936b64c8e89bd2f35f8853fd1df173d1afafb939bc4171550ded9ec0a8e6abb02656e45adfab051cc64040a736882206eb723b5f36def6acfc31a51bb6524dde33205ed599e38d7976af79c6986fed1f6e7c064ccb6d57599d23bf9a1c96167c49\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has low hamming weight\nct = 904f9e8ae7e411ed6172cc00bbbd2ad1149573d177a9a2eafb9c0a6df18aec5bd83c1e4e865b35425e562780e57e6d83e1b5258978a444a1f91fe68be1bc0c529d64702d3a0f7142a0f0ebf9a5fa6df32d2fabe3d2bc7aa0b0f82a903c8448e0037a8e204336396d5ad28fd8483159e45102360791d7c343e973b38943b0851d339f868715d6ac4e5ab615f9d430d666032712e2937cf325977db79cce435d8e2c6d75b306b668f72dc7cf2ba2f8eecbd23b54878d1624ec6d7fb72ba26e5ce30603b66edbe87d4402e989fc75352698bf7fb03d1b5694eda874b99e7be2fac348f1736a351207f1cad43da26dce1470a55a795f3d11fa4d6302f68b88d976b2989dec0e669388c62cb555b929bcd6b5e4e2e42b06bf23672f8b1ab3ab2078b64a598be8d3ea6540027f736ed1d75531c0ecd52be66328c4eede803f70e8cdab6524f226d035926603b27376fbdd28564d8361f7584426188ef5318ea7332619bcfb2eb02424e1737ee0719562cc9975e4a0cccbd6e41d9a133384a62dbd2fbc36c928827c56f275731f4b197374e99c572d190a18b35f19bd9f5d7048cc9b9e034aefd724638b37a973348a1b5e8211c24fc16795779885acf915a7f2baa7087ee16c125a417d7a180a8c969b0d958f3429e12bed1a8d24b1b1f3d315145169176d69707d60e34ea54b7af983722ad91a05ab44f8450a55fc2e6017d0604aab\nlabel = bb9da557e9104db1e8ccfef13fff9a409a7d459e1d4bfee04ded3f75aaa0f23300000000\nmsg = c41f3759e1d39fc1a701e34b0876440172eee941bd9a5bda66ce86ba942527eacd2a8089adb0d9112c57437818d1cd9d0ad82977a20a88f8599e23b123ffe00fe0b9dd3544fee275d1e48f072bd4eca1e3a3a40afb914f22d3cb06803575442d04a2dda5bb93453372244d63b23e9d8a250c54f27657ee68024abe1ceb69bc3a4f5933def93f4b1084b30e2577d6eb2e21e5febda06eec675093c2aa117b7024c82b2ffa9ef5d6bcec8481c5345843504ece69e52a8a57285f048f69b1afeb735aceee081655b8381f632966f3e34eda7c8b6a7bbf4b4c7af65b2d9393cb4424c94930cf941d15675c6b12e33f892e93cc11271affc6036434e9514c0edb18846c0962ec369f4834d0ecdf799f0b36f11837533d3b2b71c9a819008a14408f0e360d44034e14bdad6dee228e37ec34bac910970e718ca4467a71393b59135e19f2dde5b693383e9db1f8f890b5ae64a779c6ab4bc9b48185d1d03d69037dd03ff1fc4aa7368282ec50040a28b160fb406b0a573d0e10e1906e0665722a07743f34c8779f3d6ad56f4cc3e53d3e2ab666684bfe67cc631e1705a47df516cc440d8ce171be464a68cb9a2cd43d1b92414bc3620f2c1adb8e53130306750414\nresult = valid\nflags = Constructed\n\n# tcId = 35\n# em has a large hamming weight\nct = 47b177a8fea05a0c3f6668bad507fbd3f0278faad6938c69b45826043cd24505022c2ba5fe8da4f4f4eccda8e86f4b4eb290b5b53952a803326a60888c07e41b74496bf4f5df9aa6fc884eecaac5dd52252d4631ac09c3df407a28b0c10de2794222b4a5379468a407805f25bf6077f8ff834f", + "c49a01d6b12d2cf133fd37f648da7a24dc19035d8df2ff9da5135387fffc1abaab10028bc3cabd79ddb8901a81940ed80d304252b38d7e62ed0bed5061010737d88d9482e99e6dd71c1db75922cb2304c6ff0b594372dc7d73000a80a0dade307bc7cac2a9e634c32573ba9197b6bf554ca549227815325399560c8aab7d29224d99572c91b9148b167d987c19c8e33e7afeae675d5b4ec8dc013d439cb96c9e61ffb67937172b7ebac9decf7407c2cad48448cc5ac696ae4b53454f75aceef6e7a9fe7f04657bc0b08f3b0373324a12f4e0a04ae842483abf2aa9f11f236cd512cf70859d1be27b58f7cad0778a34708770fd295295e89c6ed6d055563ad5e7b30b64042860d2d4a17d7d53ba648ee27639ec91a9cb4dfa9a640f18dac43a47717bf1bb0f6371b44efc63b970324a8e25da6e0e83eea6f835aaabb815eac784aa023866438c2763599e078242e9a9aed6895715fbb033362fb2f1b543d9be3190dfbc2420b57c16816813ec78be3faa05604379ae168ccb0d6ab9509d0a84f667331e158c1644522c7b0ca862\nlabel = adc385a5ed585a2afe16f5f539620a47cc3352cb31c836bb72e39dc7a23b84c600000000\nmsg = 12087af4d447159fa47d932be56c419788668b8da88954239531178a718810e3a6eab3a08caf92b39bf1500d64eb0f9076100fe45b8bcc1b04cb6df9cdf05cfa1f806361f6c72f2c7d3afa9340d3b5dd1e2381193ce01a150701dbf4dfd99b8fa8bbccb7d0336b2d5b7df7a7d60a2c199ca037c6125a20c115df340e417f6ea87e7bfc53b19108dc404e3caaba3338e4edbe2e66aab7fca73fcd855fb95557041c59256e35306c102ba3043624c4b01378a0dbb3fcccd81e9907bbe9f17d44d0ab1efd0cf45d8742afa55ab4efb08a84e1579cb57d8c233c0021b1d22c32b6f6dc903d63f12df51959b06b7070077ab9672bad56608c22e54dd5cb4969c9798bbbffde18cad39c18d8f392df84fa68142b383d4848ec907c251af6aa3b8529b84100b981bac087ddc9e1df72a30f0e861dd4cbff9b1583229ef9610217ff4592955db67837842394f4a7789e8d99255b999f61af7244d23e66805f368340c7662fd398172d326076936fd1e5752cc9b176b30cface1bd386209c50fef70e95f6d7ab854ff75368109c277fc169615803dea8df39fb4953f78c48a42ab137b0e6ef3fb7a7a45e5790773e8465d014e18d9d51feecab8f2f3e168ea78d410b\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen135 = 39284; + +static const char *kData135[] = { + "# Imported from Wycheproof's rsa_oaep_4096_sha512_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 1\nct = b9fce8bcad33219375323a2e641de7650c1163d9aaf5f2f0c5b96230e788a9cb970fd4cfdf9df98060267e302b133e4974c0cd529ca1c900dfea65b46078fdffd9d589319087bafdbdbb8467013e48262bcda8554b225dc3567887da78976d5d9ae23ca9914248debc2383634f71d171ad375dccad198eabf391f4bcea22473c925e18d5210b02c555561592411d3fa6d2e425415a83fedd651718a8a7d1db2d81f64685c8da9a05e7201593374e30173ef04b42b1f16f0b8a8cff6c3ccc6b251fb61957df57176102a8a03d9718d95f3bf637b1fe1feefed9d50ebf9ee93a99c60d2e404bb78f9a4292ae280206782564cea8e2ae831f9b5d629b88af7c610cf28f9c6ec56534d16b70ebee0df20f8ffb40afdebec977d16f84c3e583a1229f0d2a01e0959b1cbf37448ab947da05e7cde1358c9bdfe298f2da27d65beef13aa13cc51f04c18560c054dd8f85d34ec759691b3d8c72138df12e6e442992a2466e3a6db6bd322d04c069741e0accc5f291a6520fb42fa001764c441c37456f9d91ab31c94283bd4a299fe4fda6fbd132e04d8d92157bf9aedc80c66cf7046a33bfa308ea7f5f56963edf4d804483e631acd033f2d9ec190c6d04c55540908e76f9b3749b8aef86287818358e4470cacc6d45fee370bf836d2b9277d044487aeec4064c74814d2c57839f6bffacdabe1f2ccaee4492b2a5b1ab7f3055d2569c58\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2", + "\nct = bbb5c693aeb28296b4559a792e489c74bf21c3739153be06dfd336f397f16969fb1ea0523f0adc7e206d908ea2a8eae1011217a54af3beeb6558bd80f2c111dbe51a0e25f3ac65578d4e7f6b41bede65813bb551c97cd70485b81d70934e86e6fa349287bcaf977e666bf9526db02e76f82b3ec2941c2c7355133adf80e16fd8c4d01a62f63d1e0e6d67a247fa2084409df92f8f528ddee355bcd9cda753010bae377bfd6e1a29a4021b239f98cecb5b8932c268393dd5ebe58d42f7eb59fd389491cdf05d29e7cf8c148caf71232853203dd76bf0ef8ce7be145196b7bfa83eca9761669fdc281ecd66ac37d45732c510b8d1f520f8be259a2de0220068a5c741358d4c34d72ab820e7791764efad86c4113988cb71ca323f31683105e273c037c02b4d4b56e7a2a341f9348180cbd671f73adc9767e050b58b99269b5fd696b071473e9d767918d99ef0e5e69859bc0a3133be92bf38edae5d8060cd5c13f2aa522d0389c3a5af934f81c46f83492c1ac6e856b2b1e3b17ea83a7dffbda5e8f4ce57e5c106c5c337ad286858af9ccf44417f2e0cfea2f196d89e078d9884fc176b02673d3295fc3849fbaf4829d7f310ca53a3861e8704765e8654e2b0274d6bf43152d13ddca60014067eb1d5589045ceed16df90a718260db6ee83662542c8c6fe47962d18758824b7f276dc3d94b6b8bc85bff1babe91b13604b8696078\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 3fe06a589140e2e037ca786111219bb545a189b506c2cb52376b6fee3d8c216b33578a92623f4852d2c82ff02db90b9266e5fd0301c8e156a44093206a8bf93c48022738a35b834dc025db456dfe003026aee1e7144f95db86d357dbc93d11ae9568ebd700fb577e9ffaff19f324cdc30332c0a680c47476564de727eccb1a974826bdb384a517d489901cc5f0afda3be84fad6a95435aa8cbd91b0cc5d707cb4656303541b69e70f9327c2ee061d96a223bb6e29b5851bcc345ad6e47feb0b86565706fa575fbf7aa4728d997023de295f669b34ef205feb24ebe07074b2ccd0fbfed7c3b543ba56875cf0addd47b8bf0375a5706684763dd7f7f0702d43934726a1d2600a668b6c4b170c85d0a4841661bd946b0c1ecfe801d1e366bf4432e756ecda05afecf29338edfa80677e3f21e54213f77c673786ba5cfee8ee800d651414d055d51edbbd2108afa1ee8f354ea7427ef772b31d12950c1359e9c6b65a1e2a2636efdc0cc6da8956ff84977c25cd67e31c88d27ba681626f25acff63b056f402f8f83090c5be0d51b6b9ebee8ba48ba88917b02058f4efdedd354c63063ca470036e3ef13da38c9462da836826d9472be5a6133c137f496b2337c9d470478800f67045cf9b1f5cb072847da6981f77d4e16f71181e90748c40c79df936e36ba4d4810cc81023591a82465f59e0b98f8dba0b0503b8bb9ec28919f0d89\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 8889564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 81935470cfa189178b215635b35436bab84d880c42127d5bea48563d6d1e52cc4116d8ecb9dc9d30b82756eaf8981ccde25d4b3555e1e26691d92cec29103f7a514036ebb1d850b795ad662c9bd6c63b2dba32ef4889419b740d4cb38283feefd285041ea880319eea371a15e99dcd02761029b5709232f5df156594259cf6f63f882c22a3c427592ef86b0e4a7d0b13f772234fd2889c13b157c2da6a94c3e3807771059c970a3aa786b05d79c92a36607fda0c7c3b7279402543debcbf3639b3bae654f48b80f65eb9fcf5d4960d88b8906ebb84aca936b7a06e4db3be1bdef0fd16af1a3d0fe03203492a0357bc7e76eccfef7a2fc1edfc50aacd0d46bc7a28428b92f46e3d3a58af3a7f9e0d4c70c3ac240eedb878891a8f148b1e729604d943af03ed079787a7f67f830e9a77e7fa6e39fab006398e09483e6e848d14a95e902f2cb60252059d1cabf319bc463719132bec91c6e7bed2341455c16502d2bbd0851301f86e0674c9c62f54e6cc9bebc268a4a714320ba2d30e0dd7996720466a976d3c9e8a11e38f32050ed5e079875160e2c1b0f8d4a29a5e3f6d04db8f501b205e56f3375dbadbc77c4a48117532917f09575ebd5ac491eb1bacf1d157dce7465eccb7568b2d51a87ebd493fbc9275d5b253b05d7744921cdf5c274906137b3076002a2c10cd52cee21a17feb9e35c5ab3af3e0427207c206fe6a068ab\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 8eae919086dc6c634f495a45d86023caf497163b2f4b63ab9dbee8cc8c139e41d83c5cbd2c54b032f79f3bc37e93ed2c7a4b652014b1fe4b607bca3529aa160c84ec89910bae46ae4d6e8bdd384ae8a5a18a48721e0f59aa9b8394ff821dccb8e222e7e7a2a33e3f02a320301e2e7a7c315fa0bf9f9c676e6a4535c34b621ff8345ed2b7d5d35014610040a9b3f81340f4911e230f356b469c9c6035de42048a68d5f04681d85eb9c2891c6a57a29e8e64cae0b0404d4e374f3188caa210c4d1378f0012805d7b91972d085956f067791529fc0357dc30aeed5fd3bc5efad687e5e9ec50957ac809d683b02e5764a5d8434e5e12764672807e18198c225d346b406b4dc06b9164ba5f3ae719bd376643727d9061745a2e587718206d66b1648bb52090b224c175688ea8d50b43a1d08ffbb4248ea7f351799c7e50f2d490e466722ece2c4f88f89d2f96fb9aa9ba610ddfd6cfa7b7a9c375e95575ae51c5d6de43086fd0c0663ff88035c3adafb82469a77556a91d32a421e33338bb16195d19010b58d720688d172ea7d64fa50caa902bfdc7b78c7bec427031ae9e3f691edd91a90c86e2e86d00dcdde12076308e1fc4c910814b00d751fe2e44baf232c4934b58624c1da5bb51b0e8acfb454aeaae2f04be02e4e121cec2b980ad7c23d13698a88d1d545521c0624261fb0e97422bcf76f47d7c33ad63a8eb4e497502569a\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 9284f12053cab1f558770b0da4ac1122dac9f3ccc92992cdcf186b62557b265a72234cd443e39d5d2e1e88d4c2b3bf569ba8feeacb53d7f4100a505de9118cbd22d159ac00d2702fc37350780cf78a101d7447d82b6e0ccf9d901c58734cf9ce7b182c05315b31756a30c5e563da32224272523bf01291732ef390e90d0b16de359a944c8fc92ed9949e9bab4059424aef42a5ca7c28040f3c473c952c52827159eb125e2234fdd251c898746ff9bed99fa7cbb2894cedbcb3218526ea286da4e1420af5c9fe91fd4d557f81b69d36964121e5202599cddd4993cd8dfb82a48265771b3f940a82ff572e514f5eee9bb98f848a31e2d3f7271ac9b298ffcfd03857cd562e8a36daa26cac1f1dd173dbc4e4d5dda6f3c28e3aa8c8d54dca67091d304bbd3217e2c42bf13ae02867ab9da1d3d01bf196ec8be97da126cde6a0244673477e4f0c98651592e25ce1266995c7a41d41fca2e2213806394df9a7aef43a1d90609cae8511514702d890fb3230b8c22a34720435a547edee50bc5f78da62224ecc3335e900d8803aeac4296fc4a41d59806c811924bc2d4a6067dcf71ae24a6d7cea82597bd14a3149fdf718aad5f5a6b6f126436c0621fdac4297d646ad0e6f70d524a48e58988066694f3618e013825d03c19c75b9c9d9aca436424a3a9a58bdb92003749241661527a6878601970abc94767cbaf82ff3ddfec7478638\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 4db93239d2b04e8d6247a970797e21cda029a6986a4e62991fc489bb1036ad5ac9f5cacd7bb84584f0371c2781f81b64b8289c8c0bb1f00c42513bca88417ac838ec7dff9b6bdc59a4e3598454fce85bb1bde30db75ea83352358326386214dc1f0d584939cda6019ed6e4433bd6a45e3a7a27a15bf08b69b70346819fa1fad4ae11b1ac7d06834c70b1d25b0cd2f7815a0a00c692cb7d0fa1f4cb53448834fa26b344fe6e38560f48f6ac1cc170822b599dfeda6f3709a8d9ce62aa21d5e37f8348808d3b50159acf7e3cab7efb6a437001a596c17d31be3fc0f896b41091541f705d64541e84871d0136e251f8d31d24fdd101672940efe26b433ca084ee48a7d60c5f4afc1bc60b02d0fd1ea25a77e976b691578012f251f542e60b784afb61f3fc988fce74b9ca5be9cbd9657a7d88d68aa9544ffa2198bf5fea0ecaabd8752afe5c51819dadc5c728c2ab1f6f24d474bfdbbd252856c4b7588cca27801c61df0afef9b892acb53842b0656c91f4445e50f395d4bbcfaba3146fd6631b668f4f5c1897bd0a12f45f3d03aed84a26f44ce2ad7facc05c7035e675b0411a7ccc6450bcac760def267f79bf65b033f6b807ba0153398b5cd5833688ca57ec08b48fddfb6cbe4ba4ab293865c67bab953a4b9883f8b03a5441efa492b4d8f2b7d1a216d057feda7a9f388d3bcb0a28a6fb082ec632bf88cb411da33898aa9b9a\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 29583aac29536dd4b6a21da5a44e1e2b6e755a45c67f828156e1af72c7b7138374e5110ec7e3d7385f3791c5198d16cb5c78fc6f0291716ed818ec6b6d0a8cd4a95e3712449f0e6b6aee58b75413aa6cb09659378fe2a43ec789310182cd7eba7be97bf2b38386508116c8d693ad3f49a825e1cc0f9f692e1c9e955a92d4988408b2e940ea4539a3579c55a1cfe91d1019c996cad449ee8d95cef7d84ea27fd992532db562cb5d3dc30509c9ad0ffc624aa8ead95ce75d914ddb89f5a6ad950323fcf94830744e9af3681eed79a3b1d88252b46ad3ebe55263c003f4efcb25e17b97dc7a3c2d5dd9c1b1b8352dd3ac3665172fad40d9a7e9a9a5b185d2c", + "b383cbbfb0bbae7c65e186479da5f850f466391ead2670c7512c3a24a35998283520827122e3577f3b3e8fccddfac3cb30f56e1f69f9e3c8fd503cd3daa2492b1d6adec372e11346ac8e6c7470dc31336cc9fa256634e927448a8eb7b36c49486d2f24123be03d021bd6058a0b891c06a50dbde6d8106de893c046a98d8ebc3ff0dfab1cbad8188c0e411b619bb1d4bac1da82093804e81621306cc06b34ddab2a944e1ca809a63c5ebef662ba409d20f1c980a311ef4d46a0d28921faa54d1d48a6f47b06292ccb4deb9dca5af89d789101caed8b7745c5439812c980c03a8a103fecb3be579c450ff6dd5920ee4fb7144f243aec7192c4d4a623730b01cd323a381\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = a0eef89abaf87828a4359fdaf9ad21419045568dde6cb1c4975fa744cbec96a60e2752acd8b05785f34b9ea28f825959422f50e2326234ff6df151617f00274446ceb3eba0ad79476ab70b1efb932bad03236af106d7c5011cfb4fd9b19ea26393651eef432422ac892f6905f4e1ef1f6c8da0c57289e93f580ece8bbbad8ed8892a5481685a8ceedabe4944bb8bf3022cdf1d004be65ab2bb24e4b2b1495abf0f0b162cf02b949d431fe6f629c9a80388876012e1fde67fdd454b306c42899b92665c7ce20c3c005a0bdc49eb32a482b410fb4d10918d7c4bd2ec7118980d88d567883117313a7b2c49d482686d8f02659a2801c4cc237dd1a792f2b70407859cac860263f05854d96fd588f0d8e66bfe4b04309b8869693e95f08ce4cf3662fb03b172661c56d8033563a883a0933fab91ad2a833590aefe1f0152472582c54a533d77c232155a70b628dedc6898675e368b84aa1b757c40baa07ab95c4a450b7097205fe751e415ab68e5e579a0e5de2bb9eea9fadf5a7b53e969ba85b023d8f0c6d749571baa2c531ed105531078de99aa935266d04eb82699958047ec946c63384d431076556a7e6714a039306420c483ef52f0ac7609b2a2754b31e96c9d2cf72357b8ca5c7a683b95ff221892058b1809df67ad955ae0852460374176f4a042b31545146685339e928136ce173aefd8d6f5066b3777ccaa5e5fe312d7\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 5061876f8bdda06553a4f653c4f0a96a96d8f823c9484a6c0c21ca0344c6f9d15086265fda4f6f14573127dc073631fb91ffe0082f926d696f974b22f4f9c899dbf16feb967ab9c66556a4e4aacde7df73d4c789ef2eeafc23dd06d363ce3f70da60283510512eabbd43cd89b7c014240c35266b87d860466358840f85ae91ff3ae033c7456c74f5f425c4371ca76bca86e2a9639f9901780b1ce20f652644cc504c2497204fa6b51759eb932f4e7099701718476a8d2cfcbf95d70845d7c0ab4a264cd023bd5fafd5d3d0c5500b17a38d0a85593e042685b6074f4737ca181ce3f58f81d2b29e934d44c665713733740832079c3888cee12a5435372a32df434be0c03698d2e2503adc889be76619f4076e02b3517e75a94b7bfb58faa31e660682e8964aec6abad3aade06f376a9ac9d3266ef1e4e51078c446ab6c1e1904e5a1c5b121da4767d53e60f9cc1ad40822ec20c19cb3cffc61fa8f211a58c57b2f79f4131289f0354eddab2bbaa01962a25fa19338b2e546ec96054013cc3c2688464ac77d89fd3106621080266357eeff963c2b0244599d4a594b69c3eb4458187a869544522031235c6a8f3ddaad154c15df7380b8da5ba06afbe9d5c4fc1fdee76b0e90483899d564eaf23c5df73764d4af52e10aa7891d82f26285ef441a785ba0915feb6df082044bfa6fb6fcb2a3a9bb053afea9c015b9188a4123f1038\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 370fb94a46f8feaf018d0f2b9690189bdb29942522166645d0bb7921bc837daac9cd1bfd6ec6f67e4e88a7ff996932c9456314f2aefd01d81c9246696a74f0818a1f05b656ed5804bd99f2a9149277f8e5246e0f9724ccd5f1a0dc637687389bf5540d4873b535c2cf6e9c491b5caa3bbb2da4e71f1c27b7681a1f03b8639139ced480875abdaebf627989ecbcda9373d71c431513b8e937c4bb259db0e5bc64bd42da435ee9cf5f700f9587f32796e97eb5f60969c443efbd3c92f310a0005eadf2301bbf6d5411f7800603b53b6f7bab1072f9e6af0a01e44fb8c9677ff655de1a020b8a9854084c185179b49695f7ada1ca5300f1c8c61cf616ad7c8ef8b8f0250411cefbffad9fddec87dcc9e991ca5ce1f16049327704a73e2d46e6703b40c70e569ef52f0841e89d28da9c743a71fc17e3c23cd720ab7ef22a25d068e0f205a708fafee581787156f6804076ce20546c3dbf2609c9a70f7ea85915a8d0b7103daece1017fae3eb397e7f8b4c9d2ed708c97c9d7e34de437ddf5db42854ccbeff8be2557548bb1e6b1c443fd2a726e36d7ecad07d7ffa4f304dd374180a7456f2947212cb8a767a9241c537211982a9d42c67c5f9717eb6c05951f09a5c40c9d4d4bf6675ba071652912dca387602006b99455aa66dc45a170954700604296cc45204f89d5f875f54751f48b7b10984ac60cc5a46b55aac7443e91bc3dc\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 48a28128571fee7bd47d4e6645181e9bd4fda711b9a85e22ea31ee3668c2c4dd7f8f2e62bc155f642fc37c0f4d8327d06190242d9b10cfdfe70896e948a0272dc93c48a9ac7ea5211f6938e8c969c88ae3564f27a190b8fd230ec39ccb3f0a8aab83af20906b39a93bdc8d39cb09edc2f393cc3bf761ccb6a742b9cf6e7586a22f885ce9a9d673dfedbe4e54ea710c446a5489d5cee956b781013c83dfdd92d7af84b909b7bd4fb92e32d374398b7bc9f7fe145e3930bce6f600546b7e645b085a213200bfb1ddfb1d52a3abadaff9565416e526a2e065f8de084e2b729db9da4b413894a7bf36a50418872b64c65fcf92e83537f101bf9190b21bb5f16f65bfb50004139d36b78814adcf269cdb2c2b7dd19e2b380ea83b2af202cd2245f857abb0ac9208c009554772ba5bdb1b2ef2a3889c077e3c5641b223a04cdeec295ce6e065478a9f26ced392fe29b971b15ce35389e68fe5ac48c00750bb26d3f79bd7cf24273c5c232e7e3569f6a315b5a570cf6265946b6a006e4045b97da36792ead0677dc864c71903234ac1471ec2bb3faed265e2cf6159822b7cddeab67897bc723d6db29210e46b4da283d6f66330c035b67eb21f179f1828272b2a114bd72d7a5039eb63b9865c983f700070a8753766041489b36d6c66ff3f552f0f766bbcdcb9f58a4eeba194ef89e0ec68f47b93de49bc3006196faa6298cc7c7f1099\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 5c8b5881da1aca7e3842d9bc22c5af2dffd0d357380d7e95695af13a2521084f373dc2827b999094fa8dbaa85276b97cc95be2d0923503072533914032c696ab44172520a7f0ef999a7c9140da1facb71b44ff0b09c9e64fa3eb584aea20f1df0d1ea8f816b0bc4be4d59c12f586fe4811d84f9c3f0509d6c729e8718e23f261cc35ed38387e5ded781635738149b237f3c7e736a365d656175806cef25f50cb61271b4a0627e5c42c46398aa146e29cc27961851543196416766dcbadb41ff39c0205dcc43679391c699ad8f1b7202a17c7c6ab98a5edd3b04012546919d924f8081d2ae6b259a17e0a2f50cad28d3e4eed4a0d7f922cc5792a26ef2987ed8ad6a8b6dc3c5d05626854ff47ee4ee013ac85cf817833b43e1a856b8c3974766702c14e99e4e4b34e4babc99744c0a621820c234e2f6a3693feeab4c7db39744a2f039bb7e6269315861644474fb7586515bf340c764af09a408618bdfd79a944f14496b0d306f72e9540d650ac72079be5a90ba9ff80df176e8f762847be5cbeb391b7234eb1c37426ee6288d584af02b1529cd2cdff838523c9dcacfd7dd0941abe5b9f3868491d6159b426631bba86846321133bbefdd1c720a5f250c18678bed4cc4b1304b37abe5e0c7ebc79e85f615818cb2014945c519b9291331dc11cfed6a40258c8d547c0442a69d6dffc75b529e5fdad3aaccd820e89db767f91b9\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 256e3457626f1b5bb2cc1f82d7abcf966f487ea2227d164f5d9d60c688dae539988cc75a0f670e8c66abd77ea06101a9d78fabff1c5023114eb3832d561b48e99c977f351a4125af9d0b5210ed1473f07eddd6edd8905dc21189e23a1502cbefdf184534d64c257b896c631d6b3e17672170278af5850663207ac60f4da2151cc13939c126801477b181131d6857be3c31721ba2da42e7146ba1c2f3033072935546a6ffd833c4e8d5a733c1b1cf5854ade160c697e8f8d794bd6330af3a2268e31e432841910bfceac4d7c2300d942739c03a1234ce2195c28d4f6ec3b01c4ded49f811aad03021a7a7fcec212d150ed25cca815c461acc520bdc60d22df38f23a4e7fe25572ef55b1fb8a61ca50dd80a16e9ed0faaa74e7b502c81eb5e84e35f30e1b286e957195ea8c5b0326e5c45849ebe4a920dfa623a0295248d5338e888b7a47eb9730224c1f86663ba3bbef1aba30e9ed91a49d6abda5e0c1c5235767efef235585d81c789f7d83f3c42bbff9f327fecccabb5e35a070a6deba53bff749450c5883ccb2cb5a5545163df34badfe0ccba4b962ddaaa282d83f755f5b1492dedfb8c85c87e387e2855ac2ac6e669c981845f6feb77e986bc84bc16405a44fe810d9e2eae4af98352f93039a1495e4cc85522016337f75ddc3af6a2a4a5c89c8978c4d1d7c21bf16d4631c6406bb317160306aaaddcffca48adff7afbe4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding", + "\n\n# tcId = 16\n# first byte of ps modified\nct = 8324d6f1ee40adbb9d76a16187d9d28aa2bb90202d7ef7bd7ba2d01cab0915fe4789aaba1aec37fac4dc16d4b7dae25650daea9d26cb1bfb2a34b622943f6e3fd01cf3479718b906afc21801acaf43d8bd91b7c2bf688923609ffddc7043677e906675fa06701e0ce610041a687aa5f001a212896607d19574280acec0780c76a8d5e9ec1b327c9190527a5f1c13a0326c138e0c7079a83bfecf601aef604e606b70cef7bdf1782c0dda68c917095c1a027694c5448c6653c1074ac923eed2f06fc96810b353925f33c48e509aafad75195f06332c8a0c4d05010d2a14a1b00b3f474a35897fb12f61d4caf772076db8a8f4fee8205f7b6f0ce12200ccd45ef177481def6f74d4c4e744812eb2e4240dbe0095c8a95f060ddbbd69f6a1b376558081c24f647cdeaf242a153b5e5ea36efd7dd42a6280f1811035a02aebe53b95f847ade834fffd070294cd8ba8d7cd753e0506d900ea1e76279ff293f1ebd5d973fa9da26090aaba7117237c33b08b9ed345672bd0147f78e2c9ec9b14e4825cce84dc2f39284e25f85b11939ef7f0ebb50c058597d054fdbffd8128f8f5822652b1c75e38d32f35d699b21d5a73f9ec5e887e139b061f24052974f08f36213c5c6250aded6afa138ca53c0328b0692403cbe3ed569304a891268123660cac7080d92fcf4b2965159c8de01cca170ecea328326c393bf2d118efbc50f7bd227c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = b91a1ef2ec1a83116dfaee41a62d3813d42ad5e092e3d68b6b790a6213b322b08f7672e85698de1e9d650399ec6cf9161fb3c57d63c623426ed663f2add206630f5fcbdbc3111078b804b84bbb7c9da6c1e90edd8a879f675ae49d7cbe4d31c4b5c1b8918693844b85f45a981f980c8e15c407dadf7ebe288f6487b6a85cfb5a4699ac0295a003fd58f06d428b56b430496e6e738c18578b846cd957f592f2b55230a27faa2c3d43dbd9ebc41a97f1120bd0e0a7e71ceae24770933a5cee41dcb424756c9934f0f873bacaeba7f5096087a1fa9b320facd6df2d390bd7f5a1c8ef3b92ab179738023590fd962278905e54028a04f4c6537e4cced2c9f6ff8bce8cd8ba1b2ed7f317b2eb9b6abe079750ec65e10579fd2db0e8405d5dd1dc597eb19888de90efb0b982ea435db8697fccd7b77a2090b1f4db9116c59f3ce1b59309b22493c79d48df153cab3a7164ed686812ae714c2ba5faadf874748928b036967310ab1d3b17aa4bea2d663cb7325dd3c877886aa2136271d3fe514d78629cd12f294095a768dddbdbfe241ed8d1e32e7c2b1c1dfd061ad38a84708e4fac5611a973a66f0e3354cc73117217ff4263abcebf7c7465fa1f74e2ef7d850ca3d3e9893e46741a7e46da50c9c93f258f9c62ff71b83b03ca1a6e98934519e2fb6023241f8d09b8d78708462ff61f43bed939554fdc306a81051aecf7990bb9b5a7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 1d604ba6149ecca0f7e06492035e54d8b4b89419b39ae9aa2560d00c46de8a25daf8dcee5fb9f5aa6b00d36f080904bb41c72be319b3007d05d1a2fd97519e3acc0cd8d6f492991b6a2deceb16839f2c541255d026ed575f4cbc2bd83ee3c16d7746996c887e8c456242ffc0a8e4730778590711a998c081f2321c03593e85933127012d86dd0e5bf30d8433057e4880da06de4cee2cef6b3f8a7d93703cc0fbb6591464a0bac813c2a91c64c5508a1d7716ddf2b75575446ea87f8b94a8db97c95b8b977cdec73ac3ac3f9fc2be746a0b3ec323fc241ac2e22e9f5a52b62efe8a96de6b18c28df18013c091207c1029195b4137940a38aab6d59bf53dea5de16c977fe96d4ac615dcc87e86c044ce97a40324e325ac7660fae8614c56f86ba270bcdb766f5598771aa4fd149259353d752dca72afda5c86b72e2ce2f98a5478c800ae5a21e0d84cc1b1ad15355ad0be194c19181d984768738c3c7872ff33e2ae6f57b282ee6f9987cad599b0c510cced1a31793916a26e354079ba5bf9077720ba336bd98a275844136a433ba7e039c960abcef4b13c322695182002c1a39b4ab04b1994c7257e90fce4dd4681dea84044f6ab11df936ac8af219b72f17588abbe9080d67a0568e4b41d6869f8a1368188ebdf8d4c95300de029b3caa43ac7a08b2dda8a9aa3e6ad3b35a8b8aff9ff4c47b28dc35d06919a9be45833c107fd\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 96104d3365a60a8b4e6884fb18755e6d74fb4c114dd3847681d61303ef4deab05d2e34c44ebc6463ca72d641d9783cc4c5bfd79063f7dcfa75531e6c238b1ea1a85482eae2a8db6c7d25963e3bfacea905ffb37a9837707d5820eaead9b6958ac017d2e8ba7e0b1419780caa8bcd341ba025285798d2bc389ce095978243d48f94a2985966a940028d71083d75ff3c1509ea04af0f58d55b45982e70389aeb26ec44c9008df049ddf184bf0130e5671ede3b36836763eecb90eb544f6268c0dd87ed68f421210ae4efbc8c9601533f18cef68da370c1b0960a95d054cb4cab186595d20c18a409403f20ec25df0f928b737e369656fb683eea7a87e54c46fcf1a06ea3f2df95570b95ac39194c9f7d51ae98b295546f7b18f8234b95c99a6e9f37f99c638971e868b389660e95c12ead98f8526e2190fa132f7ddfa58b987ae9f8150d83477bb40d96f959483aee8f8b5d51b9f1df3e4e309db43c83795bf8a08db5d3ae0dea4370f5dfebebc5952eb6d4aacb4fbd3629cce8adb205225aa1cc7c8934e119f1b338151e545722c27adc368880936c56eff68c14ccea07f5c328d5a22e298a3a681c84d7ed4b7c5f78609b63822a327ad68922d0885810f797b27fee06205450b897fdb36c9c6b1c6a8f095b6ad15118c6424581918f3050f86a329821dcdd1c144cbaba537a25ee0fc4ffd90205e223eb7030c6d55e9ecfab73\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 9e3b1e800104dfd28dcd147101435ea933562abff19d63aafc2bfc854596809842a68cb42f1110626176ab91a03bffd82b2290d05ff163bceb387601be00f5899a165f697b152b2812774910a5e07269c3266e5ad61957ff8e56cbf7fd896a0fcf14e154e50e3f795e081d11ddf10d8edd6263eb3e0f15fa54b0f16a77da6ab159b6ee22d74177d8ae5b05215c9544269d0f7a8013baab60516f2c7fdf631db996b5f48797015db8f2141a7f10beb71e68708e964e3457a48d6da6bded0525e6bbe10507aa87bf486199ffb52c67df477f9d86d307d8dad384b854939928e2d962f7c7cd6d309027a3d3689c26b7da4a648fbf3854f05fcc4658ffb3d9c35ded1169165bbd750c230a494f602b2a271425989f2a7d175bb24c0095f17b0de0d9e7ca854c80aa870edc6a02e17b1cd5a31a3bf3c74c2c18513bbe7ca1f6888754f35e2108ee1a2751d88dbc17dc1f4856eb8998151da990960f932f37c0d77aa44c25b5fe6f92c288f68ec83b2e8a453d608b2aab73224bdcdc3a4c46303c42106fbf5054c4f201cb96052c919e1c0eba7b7a88acdf38d35c6a998cd6d81d04665416959591662927bdf801f0de837ec3f9ea86d2ce82b07310bd4c326d757e1a56476f2ca7f5fad65a91f2b309ac1bb39c44737deca8203feb6fb18ae93ae546d7a23f6c908cb0ea4ba0183a25120f44659a112939745352e9ed922f478aa6a4\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 576983b7901bd02be7e1ae3261de56e187b6acb5c3b891797fdfe324bdb249e1960d27b5498ed2ef4039391a2678306c8245b3fb59c3d9a55e62ec37f83df7cfa13a29cdeb4a5f9a03673eddc3d0faba2ee005b04679b7b476b1f7f9f841948a7983c977eb5319e6e667215b70ea465c5cf4d53ab87a3784bc30cde5b84cfc5f483d13eb3747364847668cf566a1992dac542f451274e31b00f21255e750022051d39983d77ea0b08e599e24caad762fce8f4244baa51dbc8b61c2d81ac1909fbc6144576efe1a60ea7176bf45f4091e32b37607477b20b721ee8e4492360164c98cd3b671dbed37e8c6692af81c566dc6e7d614932bf91758affa7e71fb8d5cebd71ee0165c0cf5a62a672670963a0afe16b726b4618d7ae0287a31c442edcb5e3920d363b230a027a0479578fa36c7481b901fba6087f89e6d5b18f8b80f503db8da0c67f71b7882c92da575d640a04a87d418d19857f4073429649f149a87406048a181c9d0e29a63b207e0a14cf6e40b9735e5e71522a779d27e767ace40ba92921e1b20cef245dfd04600a9d7ce98c00577dbb3afc36d0f6be77e493cab881a74522e2899f97777c943255852e3a61bcd69e375ac0939c37d38a4c5be0ed2ba60a5fb715e56c953865c17085925389dc7eda944d8eca151607ff7da2187a299d8bb5a52741593c451696ce684e066eb91137f6d2432db760fc2ee11306c\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 9de5d8e7e5d4ca1a214e903fda56a012e739d704e4b910681d6f347198b1af54555fb28f1e4e071154f75374e09e4184f503d31b45358d72c4f1404501f87fcc4d124eb4573e52c30140e49aa6219e74f3aacf4ffb2e739bb96ec12e492e2a5bf490697b7a3b9f7fd3daf2f3bbdcc5c032441ff1cff63c70c3c27a7162afff864dc8ad1404ceb6fdc058222db8b69b1e4481f0044353d73b8e017a6a103030ac8d1ea2d0ec43c650be4fb8a410c4bc7ae813a06f6e3a393e5eb7272c52d1dac55a1834e1f3f6299573abd8dfda92c65071fe11be6edc0ce2561dbac5da100c4edfac2ebe9ea8756762d479a55132b0a922d7d405a301d31ec971581ae5358c435804f95ebec6286e7f7972a7e082f7172f66e5c118073a719e1a872665ea898a0a50c3d0bdf81b6cb1e890da4fbd8a9e45d78194dc687a5a91664003727689f7fb080d872580c6228601f61cbbff236caf521b76e527f5bd180bddc13a823a0ce7c5972466523de8cb6626761453d218170a37976e68113ad6294dc19ff06210118210c75d4cf2657f04ea9d79177474651044795bdfdf3c6959d9fc5c11d569f978679b7b81f9fedbf012dbf7b9b0652cee90c9059c98d7b24286304f7f41be1ab2a26931715c150de73775de58c2f12fa2fa353210ee1d8cb0f8dea22e9ed1d19df5f8dd349c181ad9bf5b9ffa5938f4b0f810feee4cd34356fc7251f5fea3\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 00008889564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 8889564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 89564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen136 = 48491; + +static const char *kData136[] = { + "# Imported from Wycheproof's rsa_oaep_4096_sha512_mgf1sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 1\nct = 8e615a3b27fae31bbcb6abbd713e54498b38143c5a740eb326cce75e2b9df42b6454dcb465873b831d3c18c4a0e4d941ebc49722402aa05498b34a7fa56a74774adada8c9c3af19386da29c191816117488a37b9899d135da5e8afa8e2b76a87caed1b050b8289d110922ca9b19ed932be12c92b36d36ee77ae9803fa8bea86cf8287954fb0fd69a0cf9809b686bac0c0035d8ed0bd80dc2c5020b6c6afeae2d7998373d551ae3a868a06854eec8fe07c8dc61408676ab2c21c251c5877bc31cb570724bdda76cfe2b055d5a27d1b3961518ac88afd3a041e2d21542ca027d6cf8c71c078016f1b23f73aeec8b7f5b77bbf003ab4233d0c56ea42337f5ce83d82b5e05497f0f8e3b4f23b78f71be7691f5bd66544a60f2ee685c9c70b17c5933e864d66f1ae50976629c7b76e91e17c1bc3099f5fcd191fe6419097088fed1b7d875f9a39dded5ca6c7c1ac36edf1ef3dfe9cf707de34c21962bbe9e8d0a92a7bbc0eda639d813254f44c47983db3d35c662096dcb61324e97d68320624f97eae0fe0400a7b618039d97bed9034c29846278a030d3c2e0932bab62a9ab325bc07cec7094fa427a37a937dab17357ede8d08d3b3f76e95f1f470af327f2a98ee1f56a5c69d1eeda8f0262fc36e04c78b051f4657c94cbdfa3218385d4e3422f5c4cf7d6c869113e0307a3c16f41db561c4a7d43e1ecd8ea7ffa6a6a548606ba96\nlabel = \nmsg = \nresult = valid\n\n# tcId", + " = 2\nct = 77c634e7ac8dc0d271f8d970c3d59ecdc19a09ad5076f586942116e7125b6df207f8aa21217c47862419cfd64f8cf83302660cae993c45bded252c6e618ff225d251b0057099b3bba4fbf9480b536e5eb6f39f64f2c9b32c7d07edbedc4a642a7d69d263d88a62475769b653e550dbabc1d2fc0d14e27bec772b2643f46bc6c8950415977fe21b2f33a432617134bc208a613c3ecfcd531950d7ed44b925b3f16caa870419de62053c44984fede89b8503212531c13345868265d1fb139d2272a9f659e6a988b9f54155251601259b2c0159b3dda4910b5190694d98ae847b05b152fb63c1fefa31abaee992a46fa7407499ba1f59b6dc69c348502fcddc58fb2c60fbe30f7471821b75572f149138841972d08515d85ecf0390ade20b1630c9f7cff16bb1c0c0c566fd0e55c1090dd28f18b5019347461e4e533a1d97e553583af0beec3f1dc3a595f855baa75834eeda16f6adbb435be7044050f164b6ba4ee420ba9186027b166b50534d5607f2635c3317ca87acb9fa9d08272fc1b69eafe2d0b17b81def08851e9f623e14674016ddad14a86125f629d3642f5549c1bc69845fb7fe01b9be3c77051781635f438c6846a17a1c15669f0a161edef0c13d01ee2f53902585dd02d2f139bb91702ad29f93b6275de15bc7e537a1d2a4f8df47fd7751a4f9ac25dcbc9b2e43d21accacc6c3f7155845435faf50c275c3d4572\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 1dda78168838f43a71aa61151bb8bb953c204d0af526231cb804952d4e958ed47d2b51aad7c3ddf0cf5af70b87b5a5c80d9963e261309692a822294b40ee3ad67af64408508bbb18dd2b61090882869a5207197ffe0df39f278c2f3a710e0f8ea451b655fcd8542e07606af88a44a7bdecf5a523c312ff73942ef4e8105a5cc69fc1bb315f77f36b87477ff693289963d72f2ff0b6ded18a0d56d79787928ccd72b7d5d7acd61d37d632cbdce66e2cbfe990cb6ee250b8261248e81013df77448dfe1cdc5b812c8380aaa0c19e6cb11781c0e3080017ee254b89fab5d534cc4192946217718d3161c87231d955d4fbecaa817fa92800104fbd0bdff088fd65e9ad9f8513c88fa613d952634ee8306166225a2f37eb7ed779fd6a799f0e5600ef915867d88e99645bd797e261cfc9e462773fb52eb5398e4e6efc189759c2405f9506ed48e6123379ba477bbd029e8bbd11ba86239e138487ba48882b0c3ef356cc1b3cb2cffb0d2d0c9161f8dbab0a91276a242762d18ba36b2daad8527c781a2343a110c4acce2f2a4c294057765d82e86abe6ff036d9331f1986115b8a22d7e425b81f7c0f0e32fb57b2971e8a7032d155fcf61d0df5e9415344519891a712907727bff0b31cf652357e7755c68d35e22dabdee83f8b46ef4f4cba34f180b957d52488c033f4f2fe413bbd6d83e70c52783d78bd98689bd6d822618fbd464c\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 2013a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 0f0b837a5f4f036f5a1b38669a4768571e1ac523e89f082361530f1288a55cda8c6cb5f4b7632d4624a9ef1507546ff1416f5baf2c6b53f1bcb9aecb305b6bf57b204282c74827ee71d23398509537bc7dfda5a4810b0c4b6af3af45e838e1586b9728509124d8b49d0a2adc8d383962fe70e4524e2fea9bcbe5c71ab05ec65b5e4822a6b765de292861c86a7605e3c20d1e3f8e8268a21a326f51cb66ab0490673f036ebe3d8fe5fa39e195fd703c1c93b49f3697d9f73f683b6f70d5bf585d72324d34efc79985463ce1df5c6112720e9bedf876e1b80f36614d719743e4420a62200dced4d457ba2bde819fa7ea2643eb1a4672e6827c915920fcb94f3ea9c1b0eefdbd7e5e07d1a2d6738a60ac7f81be705645f2b33af5d5a20b09ea4c3922169bcdf0d376fdc80b355740686e77049028f2f0dcbc7c910b8c15cca7461ca5a411a9b6d750a315a250f0da703459a2147aa3633c5711d3938f863e35713b802788e2d20b0de356fdbec6d187580b75d97cdbe7f07ffba0c14bb88f32e30613a1c911eb82ed72b4bdcc232b46684c581440df157f780fa9ce534ae18d20d50187aa905611b2b045d8b1c2061b0eb9fabae940de151348d10f0f24f753cf6f667bf2689a73bbf3089bd26dd74b803ca47d9da8f9ca538f4c7a62aba73def2a08f92eba90bd6d482ade0b6b724bb100c9231a31a7a0973af2de4fd5aa752450\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = c40804f6c7fc5ba3c30f051a719c08823b6591f45a899fc9839d8dd77157761ce610d4a138c10bc231e53f9cf87d5fa26aac8f167deb1b6522a4b365a136849d0124b09a03c4d5f5c26ea90f7a0fcb4518625c3ae3908910085be3757143e1fe1fbd23bf0942174491cf8f7c2a1b697efcff99822ae13e2f4527c1b8e5d50c320971dfc3bf8761fd08ea49f60f78c80e65edb08aa916a5cb9355e9201c867fe17ccf4bb36d69dca6789906dd27515b1dd99285f483f8fadef217c80e0a430926bdad691118a33577689ec1815565f51dea4130533aca7a57a7bd706427ce2022000421a26a5d1fadbb834e6d78fe4dba457c70820c1c0f3f1efafa8a27ba302b1cafcb9b96f41a4f34633a28e87a6202f13fb0e41df3ff644a91106925c5c3b875c313aed8a04930011dd866c7d52ed018a6233f0125f4ceae5df8ef8890997868cdd3756e42775bce57327cff10e4daf568322f1021b140262f94f4c061c31475de1807313f1621fbfb24f4d779d99c917fa5104f93324ae675621df90b02446d40ab2f319c32d363b265ac32a7ffc6d262e7903d8c05dafeba307cadd25927a034cfcfc784ef45136c950682d313d35c20cfb918490c86eb342dce1c2b68967f3f10d439849a4b6db8430702615f36af9839391b1316c0505ee18b8a35806a94b73d00bd5e8bd2b79d383b89ce7bb046e5ef957d502fcd9e0290fe70886991\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 9e053f731455e4fccecfdd3260ac0056a291fb4a37e297899e812777054f13c9e836f27de12cb2549d6aab0ed553544464119c495067e90699caed744e61ee17295673d2c868b41cc23f9e594a002a7eda75f1bd7e0b211c3c2e8122fc2568131b354b722bc1a29ec52e718e471c212cef4242270a4f9a765f6d077e37a01091bb13ffd9ef02c70462aecff739a2624a5d8d8f5cb8f8cd3c6eaabb683a10bd131afc6197a8d21d6cb066c610277eea1221d55c9c0d26f553ff7c22bba1a883d22f153c18ad617b506ad55e4fa04fbfa7cbc7fd310b49809c80513322b9ab296aa4a033ad3bf785c1bc5ff0c928777de67a71b393b213227e102c145e9b40357f251c19bf572a48c2e3f5f0bc12604c8475aed9baed2155028feecfdbb328b488bd5bdc031213b0b122bdb9cd44097d1813a759d13122530587be372a779e1aaa08d18a84d26213f936885b73835c27939e9c5d284076a09ecca3e6dc6e5be5c36666ac1ca1d8796502e0d5359cd6fa43edec58bc3d2b39938e69cd46e2a62ac4f6760d8c0c84765a6f5f6b66411dd3e217d690452745808a2c0f0fc504e6e56989a72bd1a59774abf529067cce618d2c39c05f0b400e644f7ede106e6eb1d0635f7f32ec04f86cd3628dba1f967b3109bf0052613fa84012da70ab4ea84e5d5942d42a0b9e3d0c80b0343fa9486c5a077fca77ffd30256cd4f8138dad30d6b5c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 63a3fabc60b94267d318b377327ee6548f594777842681fe21baaa2e9278f001a575ba38a207a3deeeb2258de8f6bf11276090f869efe817fec6299247c09550bafe7bad02d0d7e0be51f8134bab130d4a9c593e3fbab7b276034f22ba071792a4031e591ebf2d67048ef07c6a017d2f71c72f8db0d32acc16788976f02fcaad2097aa83843773e59ef4c04f383f013f86e2334f215cfbfe64257f60d0797e5a56bea35b5dff983414ac686d0d80d5ae14572869d02d442b6a7b88954a9c0bd56a872fed20dc45fc0ca511db195232021fca52ab997191a08d1c02d0ed41de86b49d05715974776d8b0fcfc5a78432f122482e28812a0608ad1570de40c55397abd5c2a58046519a052cd3e2f03cd9e91f4888bda964e7e52d1296ce1b41b312d20f640276b91a737e9db0bf4fd449ddec6da642559b92d0a60405e868793681a2366904e8fa4eeee0368a2d0a606173c9470e26bfd462d97a8e40d06c31a4330a9ec02de58920c6ac90dcd20debe6fc14357842640b44b8d0be5bf03d737c4fc08fd37ed249017682b62735964a24681332b210fa8825bc60ed85e857828004b6cc42e8cf8b7d08308280b0f6daba6ec96cb5a300dbf3ed260984066478b5b93274e1b627d6a2a126d9e8d2db8b886686cccf6361487f5a0d62aa0027f1608e1da7f5b909f247ac42375551af7c3fa53673470c1c156bd953cf188f62bc696a\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 21f1f6cc2dddc3f1d41d482a0e1161769b8468f2340e32187349d80955e7003c57386a85b297aae086ac1550f90f8a5ba73192818c68f0cdc9f1a69ca518d1bb84c34538d9b0fdcfaf2ab859bd24748b326c8f8e1f0bdfe2d32fa7a5a6e56dbf69b07c41eb81ec699c79be15f34cefeaac0531923556296b7f9c29b06c2f8c4c36f5adee505c95db1496bcf923b27d4af4e083e986b0bd04cda37312a99bc091a81485bd335fa7e63772d8512b4fba1df03cda8cdbfafb26479518a75618068579bec06809c3107cdea7fa5a264c9dc0f43ea9db33b32d4637b65b7fcbde0d0c959b2c5bea8518f24f7f600d33d89ed286044d4594a446aea113f86", + "b19764f68eda9ce15504f779316529bef78d1a83aadaab26e8aac19947b85d949d253713036d7c04f405051fd33dd8cca36bb657b3519f4e4a1722476b02577db945b86c39f8614df5782fa3e1cc7074cc5b5b71c9cb1077d8e88ed3aaa9be3745859c4649dd2845b4c6606c8f689cc5299cce15721eb0a66e7b6f9a9105191bf17867eca2a2668ea0e9598454dce6a10846f49e680c4bed4a9db06c5b92f92735b4dcfd63506ffeac5b354a09d16adbfe6375f9b6ac88fbd5402199f68d31254cad765a554d65757f4ecaeaa55b0d3a4934e24bb12f8fea46b18291e9aa7daec97ae675707a3913cb08b306876ce15a025e386cb03b1638ae4d4ccc76b8ebed23b92a004\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 5559053e2566127dd1aa6ee3eecfdee11fa81f6896569d8a4f85c350c4f258126894f6826ae466ad939314b2674397f4aae2bb6a6d53ff89f5806cc29ee6c390434a4eec144547603742bbeff4584b884888b9af8988ec8fa2567cb6749b636b4a2a6196d2751840aeb64dee7dbd25c32b42776d04a2797bacf5e274895771f43b519a89669f56233c0b9a34c8a8e87b70ecbd5aa79337bae44364af6638e3d57b86946e3d26794434f8816b533aed1be591087448a13a1b247a64bbdfa989b1cac0047c966af74d0c9093a410cfbfdd828385597006b556276e6a466f9f3cfd38ccaea36d0a3bcc5acc63ed8f65ae5c3aec3091dcda791e7931221c09399ca56bfc3c2710c0211e9766dfa6f65cfbc6141479414a63a62d7c72830ff955b1cd86b38802d7935b430e7a802614d68f5015ef90adeeaf15f95bcd770fb7efe4d9e6a0ef8f23ec0743b3f71a9520e20fb60567998e58658abf6ecb98935fbcd343a949f952baec6ff5de23552ca435866b98e36288693b508bba177c09dfb27e13d70c741712d663f3525a7bbf929162d6f45031ead380ad869f40e230f78d9cc8a8918964ca0d8499e4bc355b3851a1fd1f03953d65935f613483058f6f250924db780733239b24dc454f9881df7648e2d19b416c2f8af53948cd7ea06e9b3baacd7fbd35e50a245c8c7d2113d9cac43880515d3a0fd6f3d76e5aec0d38f02e63\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 592e487960f3169443c5d6f87166bef2ffd52931518f3b0e5d977f3a2101814e749fff5fe8eba424a3d439609857940f5e23dcedbb45cde57c21c28bf729e396530d21fbcb96c97a148c5708801467b15be1eb0d35206105f543d21022fd023ac89b616ec790a9182aa053ee4aa7962f33f4b413a48ee3d53b2d247988683d4db30bf4ff6d80b6d0ce82e314ed6dd7607df577f1ec956acce51f744f89e7c6a770ceaf90b20665df2ca8050ac25ed29ca80a0351ad790c3b8fd00527195f427410dca6bbba37a441cb82e44383bb4e077fca32b27626051c13886392c10a305890454588f508ef8d9d0aeadd8bc78991fac96c5ffec892381b03580e28926d8b3a51da862951a05f48ef809b9ce11f23323ed10fd597d0449acabba954079164d775abba56da956c513b601d1846c867c6bbdbadf195db11857d4135c30c2b5898782ac9346f7fea4e2ec80b39b0ed962e0c1b34494af4441e5dad6d05fa7a47763368f850e3b81451b47ec12886fb317f5f5ca688275ff1d97410f8eeff8e210680c799f45dbc47744166d5b470c35a9df574dbf1b255931ec98e82e10985ea23daf960862882eb3ed17a99fef36af01b6168b22ae7ae0c91045f79da51fd62317630e123e322dc692c386bb9e30013525da3289321f311b8cd4e90175573debf08f772ce6d9257a6593557f9edd956c827a285f7bc620e262a7d64b8c56478\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 8bef4f3022bf5b4897cb318c5a2bbacab6b5a31d84553837feb0ee90f0e26e9c5fa0b963e13fa3f4867f60fca67c9de0ea48cd495df7083c269cd3d7da9942847623ccf81deb85240edf5ce1ed623f5edf0f8cbac61182538be43a32710d62881a973c12fd20012209ed24a8fcc64ba98cfc15029231ba9bf8c6171fce1cc365d7d49c169371e68191d9ed06a2f2b0b9dd8f21750e50c897f808e696730353a620656ab4449918b552628445f37e168b9d8e812bd6bc6ee3df375fccc531546479cbe773a839ae3523b7ba697ea0ca9cbcfe995f9f3e22680a787f3a43206571c556e6caadb9c6ea8f51da21f00820a2b5a3189fe1b3ba748408d93502cbff30e5204df86076a6612513db0067b2011927349066ba94b393a7dc23934904e6190a28c48d0913ba65f51e180b5458e1f0dbf0feb055bdc2f1002d2d4a1e506af1367d234dd0751cb2870fc9f4b84c05839366a2120503e8cff9f648c1f0b630619d5e020ea4ef7066df63053257d303bbe3717591e769fae87a9f92b1b04f9c0d879391fc063c8e5534f7b2eee96385fdd188b3ba26d6913ad9a767334dcd8d9b5b596a808301518de9f12f12b48b99f192670865abff0ce432ffffddfe5c311c3e321db48e79399c1fb530cf127936267dc18b05ea7e5594e77c63231d6a79f261854c856a4507d09ba5796995e1410135e05f16c7c5dde89973d35b0ff9b5f2\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = ab1f96560081e6aa20dcf6eefe00040bed6e0810076e5ab0457e276c06aea748946ff1f44c4884fc0509b79498709880b9be9a10accb2dad7a1195f6dafd668bd6d7b7225f1cea79f8c0dee13d125a0a1ba905f498ace6396e51f61f263af74304273220aeb8967b5a7f90fafb8226a1d3dac4f9bb626a513e4c7d352b31e25bd1eee15259fc3a4dba78641363e261242e18f860ad5f7ba35e60cc6c04c0709442048fe5b34ff9c567cfcba5a146df9f0c5fd9c1ba61d99595712e98a88c8c8d4b643925f0801b59cce4c1933d864b46c038400450bbb5da930612153116722050e8f8b377da4114052ab47ac3757aafbd6b7efcf006541681db2262478d3d125945901c2418fb3f013c5a9ecf3165de6e64b64a45e5bdc35ba38b6337b5da3cd9ffbd2a92f94565935f9505b1abd2f9c22705b5677b5e1e1290054d5dcae14f9314219287a4a618e2671930e6500acbba9417ec71e23b64d1cb5326f2fc531c5602e4b2fe45bcaa892dfdd8b05def3909b583d40e97a50ff7c38d29f7da72c92d7517e795ce7474f1ddfbc0cae588bdafa42188cb85204dbe88d742bbf7f71f7410e49b9215d9cf14a47d8b5bee0bc7947bab919462dc2c5549181ecf6ff07093fdc028251b8edaf2861a76465b9e22dd37940012d78182955e25a2a21ce157c6a93de447125184be3ad362f86b0299a74478f46061091a48704285fbd3a668\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = bc4463414999b839a31fd9e688d87f659a154a3025c0bc4bbb7ddee3c343b3b0d302def1195d56e39168b39dd48ec9ba5b16f8f52969e151ca122b06990d424b84884dea7a27d65b009af3125c2dc57aaa19bddb4ec284e008fe3c611883d60311c7cb4275588813e96090601c5c208f1d106145d02a7cc06659bbca484e1c898eb03fce81aaac560aad4b1e0dc4c92fafa0d4e232bbcfabb2e8c714c821a5673201df7b163f27d398451c4af2bbcd1448f83a4a8b238351b0561ad32dfd856b9a44516b3b6c20f5dee820aeb8e953d72f8d7e1f742d729bb1511d85400866e0f604e22f98e2f48033539756e86ab74939fec4568f37530678667e18bccece1abe6d3d934efb95ec85e1be5f0c2c4a3152cf5724a98a6f092de8ab70664e5a0725c8e5ed218540acd30ece6bc1279f1b8241660288b09300062e5d419525a9a7d6a04f24c2538189c9aba60730cbf6f6e208654077ee8e00a1e4b46ec3fbc37163572f0ed22b187970fed4e05a3331252263337e1d99f9d8e8fa5e42d5c4eb0b8cd9f4580b5c0c23667ac95004644eb125a6bc89b056d29aa9ba0757dd1bb7087102ef146b0bcf4f49d8898045ae7345ff58e4f804de5ec45ca10364bfa5594ff22049fc70801c1533a7946ac8eb445a14bb2159ff2c6f500fd67278b853d8b124dfe0ff022d0839533e4c17823639c6fc2fd0472649483db41ce72164970122\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 17a8c7f746c34ddeb535edc9196c8a8f921dff923eb8ba3be9fd7079733982a147ef9aa5e9b32ff0c54968cccab1ba030dc623204693c18acffd0bdf46730a04befd55035b969d829cf539168ecd100d24cc7b8db4651054b5e63def4d6b183236cefb3ad9ae7c8eece2fef6f5c3355af267a7ee614050bae80eceef92dfb3b994a37724d46dea998894bc68e37252dfcf5c0a43bd3ebbde0d5a99fd8ad03a42f5d18b464b1f0a46a80242d7533ffc26c012b03626a0339ce0649b1264e9b5ff0654a52ab981783ef6c1b0b53a4be1bcea6f0367e4a1f9be96091038279d6bd15ef2f87e0619915d999cb30044f1abd24e019fab6dc7a1c413fef5dbbcd29d268e72fff5da72de0f4c0813615b27e74776af8b7a58f4f29a233103487f20d09750bfa9c272d0d57bee59b1e50577a04fbb46523ce1a3434f72fd69eeff3ab5df6c9d5e6832ba2601c0876f9c67b5854ea9a046b2ca9b0d57700728e19204eae99e1797637d510b54a2057d0f772ceb31c84d5625fd3c458bed65501a38ad0287df1348290c8b296fec11e7b3e36969bb8ce32ab7ab19bce268abf0a5c183f9db1afe56f47aaf73a1dfa499b8669a50191d80635c908f4b46183a33f025e0d1c6d7a85e3617967a421d998ea2a7461a3ddf3a19740273fefaf7cf9e64057042adeaf6b765e514071b92aaa44078cca712063c1415395f2bdcf86108d77e0f2a9c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPad", + "ding\n\n# tcId = 16\n# first byte of ps modified\nct = a23046d3fcfcbc13bff0e424a2b4fbae7588f3a09cf44ef784a28de68f4409f470f13e0da0ae8daa2301562a1e96866e3e3781f0f9ef69bb8a9f9eadbb9b95e63c995bbf7335de941b84cdd2d366fe15e33105c6118bf40bfed872507869feff4165ccc82049df7aa0aa2fbe5647a38194ece1d2f51dbecada77290e5512e56d2187ea5a9186dee20518bdfadb6d9c5aaac78f2f3a3db119a8cb9c95fa12574687cbeacd34da15f17d4baf96c5a117a6613a10fa3bb9472500c9706ec5b71863153ab95d28c2ff53e8ffb61d4f137c6ff8010a65d23ac779df950bf36fb87df216059fe184ff0a3910447dcd0fb15c134bcd7d908c74d156fb1d7a7d02e41119d0f52e447d3bd921f6e254223fe1fee5e441fa1c5572f098376224de4361aa75bef556361a29a3eb8a9da7c3cb82664b37acd6ad5facd48947b9b743723babde168b57bd878968e732f8a52d51c0570f26507e5f3ccd28785e617a0821921bc99ed7591f8bb3eda428713752b862e0bd9c60e32b0a8c69b36dd7dee5e77ce008c7923c8aed25fedc28b45f13c308341a2cceded4d8ab0c18e54473c92adfe04265efa6d10deef8bf4c1452dc335e3c7176c823f95d219ab1dc301c5b3361a0d1b29eb7c966e3b9349f5ec506b49df1a8deb9a9b3a5c26267f3d46b471e273058d05012623bced43cfaf1b8b7b3e6172e76d882d7a3a4366d5907817676cf86c4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 6952932e89da491b52f5272dfd65f9697f4fc140eccf3f934b15d3401b40c929b45245172bbde9f0939497d567951b78cccb5eb21d5ecb2742a9ce4f627fa55604dd5d3d56450e07a5443933badcf787fb75e1fc733e3c1300275f7dbf67809123a2c2e46bc4d55d4d52e02c7f9cb24c1fcd8081cb3aa39890b2ad094f533c470bf2083be301e010d51a525bb5d96c2c248fa702e1b993a708f590660ddf96235e19b6eab37184818582ae6cfe7288a5b15dde2f5029f7abf92d2b5482ee75fbbb52a0a0faffded1d6db9d9619f7c2a4bfddd233a641c7a6f7706390cdd69d7886bcb6f1ea1b2789d4ac54121a12081c14b4eb97ee475eaf81dc2c7b3b009ad2798e07b59f9544feaba3e2e8f7ff28acf910eb39fce7d1cc02307e1ccbe3136ec8008e97fcace119c62ec7e7211ee62449a6497ac074284b969c481050012ace41a64b53eb8c9ee86c7a500265c3c0c1bb7b7ced766e72df5581915c2674dcd1d8be5e3c78482630ad9c42a2d6e0dfbee979bcd9b5e0ab491f0f969c7ba13d1e85eca5091f7d63f7252f13fb8a7efd4fd5b0a6dcb8aafacdadbe32150bf143ed2bb289d7fad783320f3eb21372ecc597bb6fa1aa8075f5697b51a820f818a849d4b568650f70b717a5b350bc5fe0f6e08334b84569e6de5877f00aa6e746d1987e35ff8b8125c31aba8c7bb11cccf51dca3111ac9a444ba908e995bc07d90e5b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 5b5e0045f1877effbb76946bfa88a058419b3709723012dfc68c0de6b69af00474e9f3714b256f0574d815cd4374cdd4d0a7c311dd82b741b150c99ab079ad49da26a065081d6827049f4b3417ee2c1703c4eb7031dca16f78e01c148f6decfd95bf8976ea3b8a74139fb672a2795fec7eaa8829525de66f8a2a0e59edfafb78da1d62ada6864740b8d9adb9e61b801b291d28223ce0ac37614691615ce074657cecf4745404a3a1614b09bacd6fc354994784b36aabe52bbe6e7b65f8200ea67ced205c5d0431796875f5b6ceb0be7f9d22cf696b0d16abef6c87332e80398ae48d24f5db72af1b58ee01de4ce48454579beaa823f3f10191a555edb78e218ecc35d3e52e463bd86846b61235a550f779af12b3aef64f682615c627a90ea416da0f17d928faf4434c8d9c327720965fc2a31b47d95e25dc2cbb93de56093788096c9fa24a49598d17344045918908b294f49cac11d6bd8a699644027128d8c7f7ab92d0b808adb29ece6ced39becacd35d9f140e36d8763736e2fa150ef1fa450f1cb7de01370c4167b2332449360c3ec237fdf6ac44726b54f85e3eb57673223aa065912374f7e84610bbf8176348da6afc0df0a54498ed2456e862545c29940fe64d6f917ebec36bf2e04d82e440d1f6e3a2752eb1b57656d3d5132c289609c377935990ccc2a8bdd44591a83419eeedc97ac4c88902cc9d7f4f690c63b02\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 6ad8869a1fad7311c8c4429c46c07e7370f74e1d703b49292c8f02c69216e0949fba3ac558f11e0529be3a327fe0e000f9811b7c7b61241578bdfa984e71c3d555d23c380644c78050ff6b28334f8666b4d8270d34a2b3e2f35daaa06791151aa98e7001ebda7d3c597b4e6a067c3113a0bec10bf12fedd1879b49c67ee9eec290d7a067cef9af1ef6ec38315b1188984cf7c6dae0fcb802330f890a4640a29fdbde08c17bdcb7c91831376f25e0d7c2065bba52e67a7df08cea250de37d315790b3173a23227bf28d865cc90e927ecaf8628ade4a91ac823438600ad304872a18f440e1eaa26df01e4fe841035611f8954a5fd49b40a7de319545dc7a41f9454f6aef165b30099adeb1a821362d7b1e1ae7e9ca6cb694424c3680f63ffb3e2f64d383ee0870adabcec8bb944206aaea868d182e4d2367cc1e490f1236053dff68fd437034cebd28d5296c340a87c8007ccbaae519e6c72ec059862fbf26449cc6602ec10816af0823884f6f302ae2e413019e7e5885ee2ec211bcf40cdb75bfe8ef5db14bd07bcd9a29c50725f19edef54c1f6c6f52130aec7ed2845ecafe18653b59d745384dac506b14ff0a81858d5c78216543c8252b7a0320067be86293f84918c7d4f787c6b48810f2f95220b73fa103ba2431a7715fc244ef9aa3db90a08109f135aba4dcdfd8852bf3d3c2313824275415d45cd535049de3620a1443\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 6035ebc6cdb0ac1fee8bf7f21d2ec820018e892c0c52d5114ed8f81c402bcbe43c21febedcdca87eac3805c8f710420577459d707b62b6d973a494e5cfd8e16d6ffeb376e20d3983be35eba0f9bc5dcfd6cb55be614a3bc4eccf0c0a58d7fea6911a14d7394acbfae4b4c9ded6f5a757e476db98f3a5f3048bb244f8e7e0100db68bb213538ba5bbc38a6354d80c8d6a74225ee4c06c5d8a53a543de1b1098576b68ebe52fa18e151421be2648ff8165c137a234cd5837654c2dd2b4252fe3168c2c69d37b0f4a3b6a9cec6c94e511ced087c2d03cf06962998613cf30f270ff0588040a27eba2d88718b319e15dbbf74e2c3273aad488ff103e696a630639da4b6ed1da35d32218415f29def20a96a6ede4113df034a9d185ee529921bdd15dda7e6e6775fd0a6136c43c795d91d335a0f40eb1f29c89ea69251605fbf504e279edde6daac492fa6d81654f2cd2bdb43d4aad5b158b01672b613608927eb06aecaea4a8e082ed17503ad3307811391d5cef3058855c734d479d44d18cd4ce4116459b2e03b7bfe1c4b1e8ec833a10670032387938a664e3cb6cc6c58f55dbe4606678a17b84d7964db6b57ad98b599561051a7667d651d637ecc9f66fa323cee0c4d12bc6c6a608a262c56b236222c2ab82b602786164b917c09b113f87726eaf5ae232ed089ae0919e4502b4ff4588c485ec591714a2d26ccb22ad51c5a2a7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 80a8868f5835bc5f7f66942067523f6c487c73f2f3b9c7bd014862bd421ab36c2424d61e39dc8f2dbef8dbeb66dcefbd40943fa6dda1059f4d8f928a2b1f317db02013a7dba0059811ca8d6539f14bde5afef250d3facd3920b19b41a4fbf05c2a6a30bbc06543ce35989fbf3bb701b79a73078037691f9384b12da7ca5506cfe88550ab9cf1f7ffe4ba073f1264dbaaf18292608ee0006d2a7044ae1e8736eaa0126f0e3169b381edfb08c411eeb1da6a484f3bdce69c1ad1e7ff7befb9b39a91c142b67a33d40897c92b9d74fde0d8c62ba31aeef71e1583eac49eb2d640fc36ab28da78dd30f66a2134cd162bd79866031226eabf404b92e69b971bfac99a7c10cf5684a9de8808b56dafb41335f2718d7f6b286e14c08ae75d2b3d0e9e405bf24ec23f0b2714ab656f285413ea762401faaa1ea2e278393d41dee7be5a84b6aa700651a32671767a09041b7bce002dc21c03197643ef8bda0dc80cbfd70f97b88c9742a9606ef24be7961dfbf38253f368eb85731aaaa683e7a1558944965896945b277817cdd4bab90ec5642167cff2a343b2604a5d872fdb2b0ab9b98db53d643a55f36ddc246b86f17bea2cb32d7c97c9da64587470b9cf4009a10aaeaf22301e51be81c6d2bd8ed342e5bf18daa760e1597b2194a8d71ab093331c7ef75105866f6ec00bd4d1a2c8f81b1416b9c8548225ee468ba66648444663b92e\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = a527d8fed45766b70d08651f4560dd08caf2dc5ae573537a767479e3dc91b1aaed029c64d5e2198e9d11d27b48101c28f4d9f0fa3e6b6da7c312cbf4cac0d1e71c540e7c4be793d66e49d42cdd6ce8e337b09ce1d08923ce013898e57cb4c1019a7d49b800cf0df495e400460046615a94c6946a7ff6e103f599532d6a61ebf256e7c6b6e0969da154934ffd30d7023250dae1b05c140e5130ea89604ddf8b90c8003b7111adcd4d75fdde42e6dd96432daf40a03ee861dfbb82922f967b08073cdb588fcecf2f64b90254e810cf1974bdd405851ab9070690d657fb3d85eff9049a696510718896753c12dcb94f22a8238cb60da5599cef1df8c24005ab2941200f91a8886bcf3f91f1e7e264a6e4e43588b0e4578f733458ed0a58e380231cf76afe853d8a39f0a72977ef14735c79cb2828d5cd5d9947c970654db8efc3fc1e1b6c82420c3f530b2934588428b4d196259b66f5378c68cec90e7980e3417942eec91ac43af9a0f40a837f9917095b748f7ae199b83ac427c36dadb905088311b216079099652e619d30410b1928f13b05774b24e0c5a23a827af4f369a41f95f59011d19701824d285b2ead07b61763535d633c85e7288e47a0fb4de810cdd9b7b0d7abda008506b2579de95210bfb0420cd8561a7040771634a680346eb014b411196dae20d18560d6023ac96ebf8780ee5d5f16ec5fa7af160e5626c220\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = e9bb0b12b3f09a5ecf2054518959b594497b2eb3035b6bacc2e7ba277e14c43bd23b0249e12b87ef366733da226bc6dfc5a30f477324658da07d90b79837bb9e47b35902d92cfe816c450003562b3dc90e8208f02e93b217e635f8fe296e2a9d4e9cba9e9194d0fa50537730245546b31f8937c2635e137eb1b297a6492cac1b36e88d363bca78c4f2988373ed2233d4ebd7e8078c40a00684b1f5e3a7ddedb73cde4a298cd9d9b487b29c589655c08b31fb753e521a9aa69a56bb8dc70c72b2a5a6048ca0a23d1171d249c3d59d3386d9dcca35be84bf4dd3dee8f3602f44269260750da3718ff5704ce66f41b8b8f97d6a0fb09c93616b29384101f2638bd43bf4a07d5c9885e03ec3aef9aadb7e75eaada3a3e2c15d2d7a557ab63a00b1752e15a40cee1f2d8d1604fd883a4e2ca72c35a3fd405453f4830a2ec2bbce111ebd2d0982060bf006d9b7d220d5c5ab5b7e5061b83eba5c9203a26284d2c01fec65d2e6c8fee9835bef26de005f68c7b165b388082d18db7a70ebe4be0378f13dbb6d3ad091089aa7f2154d677a77a5d0586488130dfad798eae4c6b61b90af10b95436f2e3da96f258e40946c8dab0999f04f2652df4b60b1a02a538cdb4325a6f2d2e3440012f4eea97051ea73dce639e35bae219cfd9e27adc7d4a6103dc8a7b99aa9d4ff2bbe7bac248828d60d8a811c725e156e3293af298e63e839bffe2\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00002013a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 2013a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 13a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em has low hamming weight\nct = 125414a4d9a1c6dfb02822a23a43a54f9a43b4695f7e563da34da5c1706cf07baf3c7c58cb37da1ea56305d9bde03f0559205e05dad61beb195f5aef8a6e6b0a921b3d3913b5bc7c87e3fff274afe789c715b96cf2fc43e8372b68d10cafc7362095410c3c4d33580884a0f215572fb05c19fde4744f90a0ac23980d6b579ead8d68bc782ae2cd5e70064478011ceb82ac9df20d2f64550b37def09050c319134383a88c9673f6349c446b178f2d02b2abe7c61f9a1a1193ed6869cf1a985ece2b921a1234ca29298974ef9b3b42b5984c44576725aea8d3da89a5703081c6cf915be00750ff13260950b24f46f4551b069e7eefd531e71f7b7f7afc717c1e41d7781f01d6f0", + "9cdc49b966d4f5455694379f4f0e31d3923db4776ad7fa2210f41b0e7fc6191ea18cf536de4e56d1865fd58f0dcbd71a0780e505f3d971fcd44e11db1945116fc8ed7bb7fbf3afce6db6454d9842f6c75b9c37503aeeadc6ad57e515c32bbcd5d81da7d178fd818d9bc8aaee2480754bea86bd507e74c33995458113f481ca8ef4de38f11dd0f0b7e6c05419c3c15b08adc2d4cea1558d8b430d2ecc1dd4bbce534b9627292869357b461fbc1087e435636534021ad02964121c474948a618c92dc5b7e8cfbbe1f3a5333c3d643f6ac0ec753540ccf3557762040a4754d7bc61d02aa51c7d7cb10e53c01b667af539a6b45c60b3bc1624073644\nlabel = 34c9c04473bd8a4da755a88a04a9ccab0bae8fdc51332dcba4aad045ae8305491fbdfab41821f6b838729d1e09fcf99513db3817c94c5be96a41bb23c8d0b0da00000000\nmsg = df487116341e4900036f3e9c31d809d20d17baa32348aea3f66babb8b082fe9fd496aea62e54c7529e0ff4c30690ce047caa15cb2a1824f0a4b7d56914272e8845d85fc8b5af454a5012355b5e862b283c59dbbd146cc6fa2a8aafe3889e10c8affee1782529b9756b45692bf369febd0639dd46029ad55111492ec2707939e62d645b4f4aea52573b3fbef8b4148ea2a539530f6841d8396c279ec66a503d8420c580a1ab55f571eb0ca931a2cd27b08986a7906d1f48ba68721967f2aded2d43cbb1f7356d62a169e3a376bb8f6b9e5b9e2541222d43832fd541acbd23a2044f04012179f654b70514bc38743bdbc8d8ad78b7392860c4dcc7173f180a25e6fbcf18dbd7440dee9e8ed9dd4dcfbc6a49e08c8ab08bca2ce4c774dd10e0126424948876f2a922d074df12d549328fa802275211d8b108880d90f4e1728f82453ba6bd5dda5a903a39f4e2da981e93522d7894a2ede6d1cd7f294ebcbb3a153803590097030b4d280e148a4016e454bf6b8b2b12b8c107b00826c5da2903\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has a large hamming weight\nct = 429b721c92718aab272499bb59c79c051e89a93c091925faa209521649f090ff304342e04f258863a9da36b906384afb760d40bf553aa3b83e5ebc6f6246b0628836e59c56daa726c02e68552f79f8cbdd1cc349b7f988263680b7519861f8fab9ddd10a8392e6814d6e300a4b6447b0a1860bb8af7bc18e818ca2659c0c462c70ca929e2d0a67d81f557da8b1b63031835c362527289dfcd9b18f5644d1fbe54fd67c3b51fe84d3e44f3efaf280fa7cdcd72bbac2fa6731dae2be296992d6a08e8b8ad9fbfcfc086669ad34e4de07238791db1540c2fc91ba513fba4a692fbccdc717392bdb91995daef21430eba513bb80fcfc450f7af98a49fd254267f8f424ed516825cad9bf036794b9042ab7cfdd16bdc3398b8235a225aaac21672098f9fd799164f02d367ccbed67df1d16ab7e6948057efad3ebf9320ab3c74599a28636bf039ed4d1e023ce92732d1bc04cc2f71dda0093027e1e84666da7b6797e1b64e66d79dc088f0f8f91a806efe3c17c563fc2d6f3cd662fbb5bdc94a6b8a24c968e99a72b1a0ae5e621891d0a81d3b266da316c55284d65e20827d25a9a7abc5cd394b5cf313c5f0fc78fd4d2d8646c910ebb04f96e5be89d794bdd65b12bdafffa37dc5dc9c11b3cd664408e0954ce302a6e846b86b182f04e4ae30122d2b87dfab07e68d8466ebb235f606cc5d0989b1b2dc222e4a6c48a98f785a07c5d\nlabel = 2aef95ffcec9fb31cd3a17df07044ff10e054c4ff56d7f31b8ec1e24cbebf6979ff21d71ce627f7d4d7630e65fd07df472b39f2c7ba2f3af7aa645ac7aeb68da00000000\nmsg = 1348c2870b2c2aa0b686a87d4e51b8c9155e89f3e33ae3f7eb5a1c09c3469d3049bcb8a76f98c27e034b223a6c0195d29de1d4fde6748b2bcecf39457b292114fefc237e5d5e67893b1fd93385f9ca739f2487b79754c5bed364bd846a7afaa88ea1477e97949b770d6775830e932ffe327031d11a19db2d38d8a1897f2207a29d24ad47db096857838faf4512990ac167e5838f4001b62d6a7240b20cdcc159135bbb0939d67ce2c35f50267d2c4d702afcd907d6e43332eec8f52d71445a709fd365adaac1ef0f6ef72e7f7d976acc64e2d7e8e574918ed845fc4468727267d6e365bfe4fe3230645432cb5dedd284bbd28eefd53476d4a046dd30411cc8841017d1f0939db10a5c028140351147949d03d3aa0d512f03b42ac61403ac3c0fd240d9b69598803ef2e934c8b7d2923acd94672d570b44e60ded2df818181613e1dac6d19780fa2974a3226335c7c136ad643a17739b5b252c2aa82ca6ed8040c7230b86de80ffe9d81a22853124ce391dd3093076c0a93188554d202c53\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em has a large hamming weight\nct = 4556d44840f6c838427c8c477bdd8efc88cdf57d419d128f208a9e44674119dc71352004f1b149f2beedec7f3ac44d93e7fb9bb10bee7b675d62dbd9bd28dfa42dd6173ff17968e8578f0629486f99d40473d3ccd8e0fd3747a6daa2323c61a88e1f168a073197686668a8931ac03ba05cee8db7a5863532e798da7b0c371d03bee6cd2ca532c448187d16f424e4c22dc0aa86f5bb8358d0a593c9796cb5130cd6610a3a4b9afaf4da87c0eaf4aa015fdd5899b749af62e85e955de5a315fa971c35e900e410017f6860dbcfa347206a7e33277efcd3a17715a8f1527456d16e2addd711d7bda3be776afde4adb2a8834d98e4a2682e9b742a8798f4a5496138472bd889eaf0b03316180ddbf750ea5607f37a199e54c0812c5d59bba22dc1c18bdd8e0f8c4eb61a3701de06a710d142a2f5c864dd05a40c7c3fc4d4ae02078abc9559017f3c6588e670854ad81896b213a769bdfa6e221b5f8dd7ada50424deee1b1f138c738ad938b64f5228880214bf4166580b11e1afafe2b89819e720a7e08f773109dbecf40851e839b4a512b5fdeb3309b8e2fff237f8207df0af5d33a6b42da14f44dd49b716a7dba83989094b217d4b448353e250b9ce5f5536a471f2e1058e421f9c5c166b58db8e6516fe57db729b4c6ed31f014510976779beb555e30f1ad0de2c2922d9dbbf8bffadb189b7a5506545d3ce0b0f5891cde090cc\nlabel = daef95ffcec9fb31cd3a17df07044ff10e054c4ff56d7f31b8ec1e24cbebf6979ff21d71ce627f7d4d7630e65fd07df472b39f2c7ba2f3af7aa645ac7aeb68da00000000\nmsg = 01bb3b045ddec9528281814d028d1d6e78be895499b7f975e181c80e60627453016f4d2a767ee0ac090290243a9af67a6952a9591e3f242e80a7a19f177bb1c130849b9d74929ee5b048974b2d74dacecd05a32216976c9f605d1ab338de1bf245f5ba8c6822623458be9be96cfac7dfc65146dee746b67b128b68b36d03104e31ad9318c2d6eccd622bdcd07880ba1764a80b5ff9a367cd8366d82c1bcc65c9784c7842ecad63080230c1d6a5cade3fab837afe5785a8972172b9d9d0d7d4558ac162ae80991ca40b520979b24f64435b68c226828eb95e30be152bbbd509f010d5123ab65f31f389136a53b91b89a8b4c4ceef30ddbf0f3ff6237386f9aa9e2e57445d2a100b8eae294b08d6b86945abc3314af6982e5513eff8f8d987705a43de929382267523434fe4bca190b6c725faeb377f9581c49c45ae50e311dcf29cf3489ca8d1ee5cdfcfd5eccecfe9bf7910aebf141b6099f26135cc20538145ae8e0406ff3eac640c7bcc2f266a033212848d4a25b51dea318a97d38399\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has a large hamming weight\nct = 29171896b305db27c0c404b65571df5125fac9ea2d8faedc5805fa35dbc2c335286694fe96bf415f4f2e579bd6b559c2569e886ca2e507881c1d80fec2ec6a83c3cf176b697cfd88f098c4105aabf25e2d322cb6a933c0b825d76a45deceecec9c5809a11acfded98eee74597c0e6963ea1d4fd2718152c9be554d511e380f5ef59ebfedb279c60fc622c3ec2f89fb89f82104567eed8b0d1e5548330fd434f3d83adb81b919e308c90108fd10261ececaa4249359250aa1f58a373c351f0d0ab51e344fd76cf0e688b39cd2a14569aaf49fc9f2f4d31d3e7120a2bd1dabe14f22022dc4d9a24cdd78ab85bfe34e048d57d3d465b616a835c33ae1ac2e337cf19d14e362e2f79b4e0feb51387a2b12a971ca1da3b2c7b03520cc6778249ce57540d7e60717864f4fecfbeb1a2e1c5a26487f4efe315fad65cd6c3c9929cdb2be9dde2d7def70709d5d87b7df54b0f7d2db610098a5da516f69cf4375af1c51c5c58bf8183a39ff3476f3472892625357eccf2c71b98f09922a560248d9b1c638a2fe635c7d3c06bbaedf44c5643c3dad43aa66efe6ebf7afc7b19e2b89db235b085f5aab01fe49c5dffae0dea31a4af25b8a65fcb68dd13a166b9b6fbe539eb79d610d2333b77e08a21ba8530133e24b7da38dc86bc1e56c5c869df6f5693e4b1e870d0c8884292edcd5fc6fe0d726803055d1a64d28a19ebfc4b027a1a340c7\nlabel = 81ef95ffcec9fb31cd3a17df07044ff10e054c4ff56d7f31b8ec1e24cbebf6979ff21d71ce627f7d4d7630e65fd07df472b39f2c7ba2f3af7aa645ac7aeb68da00000000\nmsg = 204020bb5dd616c0697e2f261d547f9e1082f60a8691c73b8f3d78ad19e772d67ff85453cce82d39d052f76c2743445d7be719c7d1a8a0f437669c40430ea1c8af4fbeb7d70606e67341925e63768085c94685aa28d9d55ac67e9196712360f477df744ce770c1d8858f33a2dd2a6926945f3632b3391487a2124c4c8c071af265dfc365901ed8046e9e5857c53332906a703bd0afe663ac7143cf4900405ddaec708d18159fdd7919bd6684c02a48edb54223e12c8c5d154627eaae83b3cc1bd4f2e6dcd62d41b519fe2b01199abe2f4dc57d7cc2c360f8c4e72f28d826a8a849d41a86c5b6676f7204a8c236883ab504681fe7a83ef0f12201691252a589cc985001cc7462eff1151fcaa25741620e914aaf6a1699c77a09375d1005e7dc3755e795086a32bf86cb71e93093315233fcc8a86b4fb72f8ca5d320e5ac19c142fa7a0d2400979863489ecadbde99e15e3fc0277498fe871719d2955f229804c2a85594232e3e29ccda494c5e340e7ca9c720f93a1e39f906522bdb8f4f08\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen137 = 931551; + +static const char *kData137[] = { + "# Imported from Wycheproof's rsa_oaep_misc_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 1\nct = 673779703fccab3ee7735e97e7be7fe3d1b39fa902ee35a858fabab8b2cd6b76b3a68f5971b42e28e8ceff7942cc4f3a0f2eeb4b998315961b06fac4b946d0c9f586fdab0c22b1252eae47d3c9d4fcde44dbf622b33b130adab572ca18a29016a35577c8518d24fc6659851b434b0025aa7da027d7ed77bfcbfc51c991daea7a\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 2\nct = bb7914975c8a7817a50e7b3af7d79a93b4de5f9b3ce8a9a15300da83c75af932833d5f662ed58de5d195b4b03b4f70c6d7741bec915bf8077e31238c4d51c6e3c49d1a89211d3e14a3d29ca5e3ac4f9e1d13e22cde950fe979834f12f6ff93247e10da5cfab6b265bc87c8f2a63253ddbafb8ca0c16b07d2b230a78c04747089\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 3\nct = 615a6e86e3d447a655ee83eba8d92e29e08812c5de4816649765457c9b3241498f6308b3b5b1ee54f70642b35b85ff229af8b1e81a48e6e3359a5dd67c34e5d02b58caa36e3be7350481d0f7c5a0af1eaa8eb93e9768e7e1e0eb5c5d75de77c220f41bd03732d4c3a56f6d29cded37752047b5f79f11fd4c4eca39b34ea792cb\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 4\nct = c3e50252a748d77060deb817e617367fa93ae234e535c7c3155c65e0131c1c249fc7ee8e6b8f58bb085a6a455b63efb336cb6fbc9ff82204ec500026a7ae09c7cd8d361cecaf6fba5fdb265d64f90cecd32b0b3fbd93e29725058e1f689f030373fe0c9133660ec88e1b027bf7ddb5abf3aae80f86c0af411496acdcd89908a5\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 5\nct = 6aacaa5bf3d71e04bad9ce95861983d5fa561c1bd4439aa47953d144fc880e82c1540487ab4586e24dc0749cb5d4f9a54854e6f90d03e288c23e5faa4a7a7f9ae09e36dce48428a8a9485123f1bb6d5b7a9bd339e8e799429da33668733dc8b323a29b8014a8eed800b36a783249842b7135e33b1708d4fcb5762a5845b16cf6\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 6\nct = 0c0166f8e2d95d40d1343c4afe4ac038fbe7654fe7c96abf312e385626830eba877197b931039bd4270147d3480a99ee9b124667dd8a89e3e253234c669d9cb45e35a3465252251ab265a3812923dff495c91c5c50f4bda0b3ba9f9b14565ce78583ae7995813ae9a795c4f7d43ced1cb60e2cf8c1341798f8f72ac397f0bd36\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 7\nct = be7e293ee24ecfa696de652c0ece7b95c8cb70b4eca65077616021f7ab5e2e3e6e1115283757d9fae9ddde688e69ad470481459a7db49eab7ba3b77015a5be9e294a2fd5372810d1da1fb6ead5949d44c20be3159e56a9400a685128091bae955c4838312b4da54a30f26481092abe3b7d89ebc249694a09f2a029b333cb1126\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 8\n# Longest valid message size\nct = 163a77d9bf01658d6c74efdf3615a6a44d3d06415a9b6aa7a43d0c8f3907d51a66d51d6ce250431dbf91c22dffb39b6b51f9dc40d9f45a23943ffaf3904e7193816a5a521096c135c6fe6f59982b0c7425bb7a653c9ca33dba69871f29a129be856488c39f19420a4f3a9fd9b6f49ecf9e9cfeb2de7ef3eb57dba9cc19efe0b9\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 9\nct = 43292f009868017ff514f9c3c04c2bcbe7d39e33b2b39d163812815e7294a87eeae5e8503ec8bd57d1f5bd02795ea3923c396ebffde08f70e9fcab64ab22b70d19cdd34653a265f13a36f832bd2e34f5a0211ffadb4dd353aa0bcdeea19c75290f0f948b61eeb5f41f86b42ed3222be38e2a30b8e568712d786b57173b3e4090\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 10\nct = 583c33c713bf7f920f63add1f9da9051ef3716581c117b4fa41c82e59a45dc4539569ccfb8a86dde1ef4fad8bacfb8be0f73a9e3dbc2c682d1463f8f72304aa181f1c3bf829121d5809cf3f57ad295710728cc44aa6ed74e46b0975ef5510e89ff129dd20dbb66ae948b4f633d6fc0e886f8e944df9a2dcb43f48a6b3327ead7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 11\nct = 342f6040b7f229009a429a9079950154588ac7689aa226b363b75ff03afe2f69a2eb8e2261c6870f1aae8a0885ad5fa612cac2cb63f92ddeac9a721b06bfa7a343670a44afda70bd8e64971699f1136eb95c0e06bf684b850853f073719275accd66f0e1ccc50c6f163b13d4cb5d273792343ef69f547a3477ae5d7985ca5240\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 12\nct = 75a608f2a58538978fbb1b5b761bee895c10d3ce99a0a5e791d65937098b9ea30586ed1bde62a2cb3e0b4332c5d993e35b52ed28402404521f5b579a5e257b76c2e70d67b6e1459b790fe32eee1c64a5d9d78e98d7a8", + "513d5dbec7b1c958b0f6fda4b322194d68818747f9a75afcaaf07f8def984aa09373997900b69775db86\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 13\nct = a12a689e17089bcb36b9487ba3b0ca55781ebcd5c68bf4a8dda58126a7ffb184633f97790e84905c2e9e2feb8d7fbf6cacdc35869aea943727ee3fbb494ba7657eb1cafb0c6e39ff159f41308d758f07afcd48808280f1269910b0aa51da3027788842df88ad5a299a014a040b4a9c9b54b382d349589ecf24f4acd82698ebea\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 14\nct = c019f80847bbe0b299b256fcdb1e71b035345fad162969d202c20bda4c7398d14a1a6a8ebe75ce61b718425a72cdf0e1cf7accf1b692a175c146e87e0eac2bf7920c8b218640f8223e536dbd24f93b8455bf6a45f6b200b38b11457491a1bfffb4abcae258e2590bfdf585264f31bed39a0039cd23969ccaaa5da66307a6caad\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 15\nct = cafb437c778965cf82ba9e33cfd390917c7fcfd4090e56c70c2e9ffe5863736ef3c8e62a00e61a11c86a100c56c49f8f39fd9d04616d95e2467dcb2c61ca6323c887d78ebf3ff71eb67ccb9cae039de696a47c1c3bea01caac297e3ff14cd6642353d68e3bce9bd702d225959e894a2f996c7e0064ee1a340ddb6071634d0982\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 16\n# Longest valid message size\nct = 59f72eaaffe725a5808f31ab0372afdc2e87f4ee8ba12792560c1e014374c82432128380adf701f4a4f814a8329583abc22dc9e76af568d3aa1539ff41034e17c89450c9efb17ec61b89c2a47744f43e675e870a9fb901ab596a8bf5bf8603833bc12f49d52923f32e4d0af4c908ef75a4b9ec2a6b5475ef30d31944dc2534d5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 17\nct = 683504d9d84b2f9eeebda7748ecb59a8ea8a72a283983113deac27e65e268be105019dfc6608b6adb4c68e5a8b945481d797efe72bdfa554eafba55b5d4f2236777465eeeca0364e72f0e0ad96b09e1ccef8e7eb6bc1c58ed90a838f7c9b81517080b6978c1dff0038c6ff944bd084954b6b3b0c3184ecdfd08120455b5a24f4\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 18\nct = 0673ac76c5cd297a6605ea6fa07ab36179ce8d7ac2291ff1ca43078d542b928aa53ed48a9389203be4313a15c4dd476a6d97a67aef5b2765e460108312bf28c8b85433968c82a3127e22a6fb6088c088c0aa428a495ba25fe6c570516457ec68da37db32160266d5cff2b8e0cff69c8ff722cd71c44f80a6085005eb48ad2c02\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 19\nct = 196a786011bdf22c7ef74f04b9104314086a25219803c319ee8d2d1e0669505f61122c13f4414c23da0ba6fabefc94635ec5534eea50d60cbf094ef254622005da9b64ecdd529280e32ef32a1210c827e25e9f851c235a7d1681cd0156bc7714b22819a8ab99cc647ba310998dd3ba11a2d694376e111101e781cff6fb0ee52e\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 20\nct = 73cbf741e6ea2ff7d90da94f6b2b0193948f3bca2fd46b6d3d1419a70628523b78325e3eb1db07f504e0463612ca04a10badca665cf032332e0cdde7577e1f54710588db2707c1606abf8e84f2d8141e4f09e63e198827824bcbc82673fe2186b8489b4e9b52c30e536705cefe652954b97fbe7e0bfa0bfc3f8b51a762806232\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 21\nct = 9a05e365b558644187da88d6d54ce54ace67beed3b727dbb59bd3ed1f72ae4b8456c85254416efe608e2073ab3010fc7c2d27f157e9234e4d5c7f49bb89750819887d784c6ccb51c7f59cac5e04375dbe42b18f187be137befa13ba80c89605a18b8d838ce7a899e4a3145107d23cc55860e5d32187e0c6dcc946d11578c6c9f\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 22\nct = 84084b95130f1d91ba7444c045898f8bee7917d9dad6b59b9bdcb204e5ee8a142bd94b405ab42d859bd6d9e8338a202b67c2551a539201d6657eea79cdc629125515560ae5061477e5c7efe0c4aacd36da41ad126aa630795f9e105ee70fb77fea7a2b371907afd415697fbd570bc3f414f4b88e271f41be1223c29e3d72b21b\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 23\nct = 52ab5613c4ca5fd259398258edd48186c9007cb99b11915c85060e84975e4de2365723315ff4269ddc37acce4e809598b7adcef464c0973e8ad12037b186c74b2e1e76212421b127c2c1d56c6e69d353a7ce52531c7a1d375cb6a0e358c86de3798378a09c4ffc38a4d27adcdbfac6211366890a75692fd2dab14360717fa415\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 24\n# Longest valid message size\nct = 1d79894e48cfc27e8fafec2f2f59fea5890569201172ffe68ea13fc3918ea0eb0e5ec1c3265a39acd5e1d210883359ee35c33d18206aa8d59c1a0459de1282fbfcdcf09a2c0d3a849c048875240b9ff1452f57a9d45148f838dc0b47dff2b52e0d93760d7b4e1f0e389abe425c9c167dfbaa3ca0196e660814986572d1878cb5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad6", + "0d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 25\nct = 54b9f6b31d9a10c7534d156f6f07dba7310a714a4b3b1c7b7d325825cf30ff36a2dbfca7c740ea03304e0a1e270e320f2440504499c312b4f4fd46d8dba78211b5b1938e43dfe386605d09c8c1c90fe2cf0f8ff7f7be04550914217312fa4105f13709167cae9a0f4076b1d07316f7347bb01e33d71bb0b7ed1cd673433a1ed6\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 26\nct = a7f2cc65230e26da285af8905677315578b2d4eed37c8eff3c649f5f099c28d5184509b6ea5515bc1b15f7c0baed4323dd600f13d3831613b923b598c6446050a13fef00530f475bed55ec8de81e7badc5a078a2989e4b66ee1909793de82fe3bfab63263c7aa8bb74dc4afa23723982e65a0d6ebb2f54a53bf2bdd2c7c410c1\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 27\nct = 4f23774e0e834c3c94702652a3be92b3007b830b8650f517a5d2c690161c0a802f49fa9f896ee4de4c02370e84f66b8289d69eb828eae7ae2aad814770817b31a022fefd33e18197dd4f8991eae93292d9236858266944b86fdd9dc33170bd8a5f9c473afbffc88c51870d2ae39deb343da25afc2569bfede7177c92e80821c8\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 28\nct = 110f46bd1e27da8af2ce52d4c41171cdfc0c6a69f0709826b5c2de86e716ad41401d75442f849a06522ef7ddc0d67a99c06d5b6bbb8fe00a7bf5b470793bb65e3ddd761b7db657ee2e0fbddd1bf9e2441515e11717507eaa4a868378b888eb17ff4f02221c84650c2c41ce89d95e399f055ac70e3698f6836c655c44435090b4\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 29\nct = c55786f3ebec1657da50ebd20d4a984ef54d89de99defea0de73db7e348dcb505945fe5af43a319f38d47c9fd1fed3c6b5e91961d1cd8185b6021293f208499848e5ae2bc7b24274fdbfa2d67dce5f2fe986d4e4ac7067979b51bc220441d2da2c9123c5526200d57d81d993480d6ae622f2a1434b8387c4e641cb632673be9f\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 30\nct = 8637f6b594861442f04a9422df3ebff415fbca162712c1d69e83f6b05f8ac8214893e815fbe46b29ceb901830aa1b5397de66c0fa9607ea758849f5cd67571e3acfb0c614cc59512192012f18cc7a8dadd153cd7838572f921907b11b4ccc8e67614490a3e4769321f1e6330470bb206e81107c012d151512f8650b60c61381b\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 31\nct = 91a7ccc9d2fdac9e8b9697e0efb4f67cc1c1f5083201057e7405c0a82a5a91e3c6edec26a406367721c98be3baa7cccb5fd2a08bafc4f035e7e4c664e544611e0e44daf2667b26a1aaf84006c47661cc483d4ee031b35cf33c5205f26aeaae9606345d51b742aa5a09bc1a51b739a71aac058f9e69c4ead478f47597fb6a45bd\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 32\n# Longest valid message size\nct = bb0ff1cd0900a210d44649909b503a58e88073c3f1707d3be68f3b8148229b789c4870f5353a38f0550842cbebb7a596e6c458809d94626c3d2b457709990ed366fa1f66a0eb0c144b311a873080974f9e5a681abfa2afcefe43f59115fd3fb9fc2d2e685f3ee2ac686460bd79a88d90d2e5abc6853ffff19bbfd70333bd008e\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 33\nct = 2599294707d4888914f7f4b9634dbe1e471b10e3e8d43a988e853dc9943bcdca9cbfd9d44a780d6ab9df0617795585ab91d4c2d1a0f0e2bec78ac137902a2e1a88b165396d02a24beddb3905a6b3f031a2fef0d803266b170e435769f248c3e6c122f404f32ff3c450b38c608f12ff70ed46657d2ceb1a277b8ce418a7d9ba73\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 34\nct = 0daa2be79921c08cddd40e536bc38da267157f22cacde4e9ad36730d616b86c734a7751afa3d7678cc7e173bdd3b9afc19c2f4cb4cae58fe1d623685026468673b36d268f170ab500d974b57536bbe44f544b002101b7ed1b4d342c18c2ac169bcda4219490bad3e645cf5ba69dad96860cecf559307ff0d293ab30dd330f8fc\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 35\nct = 82c311c219ed2bd02be97da106d14f01e3292595f16afc6e61cf6d55202e7cff585fdccb56eebd86d03a04dc76069d1f06d3f72b59ebfd9be08ed664045377434311f83811163891704ed2fe0d25fc813b2df2718c4e32cd74fff8bec4d554ff72ff5c6420b2b76c03286dcfb2a662c8c66a86b04e61863d2ed379baede9c918\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 36\nct = 09cb258d6a5090a2638d2217f3c6535def5a2a05f97a2606f608d3ee10f7a6077f44bb63eb8008fd6d797937edc31dd0d5526cf24eda0191c4f48fdee02bcb731e4ecf09388df1d979c11fb841a0ac0d017334f6ec9f8a9c4de822c232faea803eff6225769a39d68206eead6414af996b1969f2f8d6bc1c3400f6fc31bfa8f9\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 37\nct = 6daf23cdb83c5d16be94c4d9646081be49dc1db87287bdc534052d6848c5cf47584ebe6ddba5767f445c11010e019352472aff14343df44232784dc2adb135455ca28a03bb69e865762afa850f907d89e14e08d9a81e92b0852e99d360804cb0857e47b4bd2608838d6f81826d74d17984f805d7de29fb475ab71e5bdd057612\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 38\nct = 6a397116dfd443619d3acb576c282eb0ee28b2ba901694c5459817909167fe1c9fffdce119316fda91e0f5c65ea4eecc595a18bec9a718cce8281fc4ab63d56dd82bd835b86a8b91229178d52ba4467f74a161314abaf533443efbe08270c1581caa5876eade4d34f48f1c9411aa089bb4a3370b92c30cd918bcfda92108e083\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 39\nct = b399d03b2fa231e85308c6c45fbad1aa03d7f328bae29e94a1c4e6975238d1883a343ac5c49f503ff35472a27c843d56cdc7c962c8753ce2229b2ca37dd9e24e3fa3f528787eed3c8980e9c1b888b093079af2ca69eb39859cffc31d66d0dc245d1213c7f54edb769bcbf0f10c6833967a7d13099ed99ed84154d505d51de912\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 40\n# Longest valid message size\nct = 149bd74986f0b9a4910723216817870a910c157d65df96d991f5dbf144f9911ceaafd2fa799b58d7e56971d6db66d3b23d1232ea0fa5be2467eab1c9142a898f0ea53f2c40702c42b2a7c0d987c50a6d4dd54ef27238f5d708e77954170631a9d52a2f54c79a4bc3edc8858da72752ad472e869782783f3e91ae36c176890190\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878", + "7878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 41\nct = 99a2a8d32a71ab35f309c69848a6afe8e18d0aa42a370c8b81d017b5624a2d7cb3d83b4c3bb24d0a7514e2a2e23ed86e891a033c070e73f3275f11e066f2f2ec2677959a8977b370d92cd310c60f69d4770e7a49009a77c387fefda4a64cad6742106327c691f0bd1e23ecbce49cbfa12884cab399a770e3ba66582205fc63aa\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 42\nct = 23acf5996c85d6ba07eccd3de623ccd6d5644f3ceb04e95201582c2d1520637136fd7a91ccf1daa33f4453d55714407b0d05e8c2b38e1fba138529157600acda5569da0b7c0caca62745730b6cf18f2dfe2128e66b058ea39fec795086c332a6a104dd6bf06ba2ac563e5ce054f77705b686fde8b214002f6c410b472fb353bc\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 43\nct = 9ff8588184c8759cd8f8197309a66570f8437e03aeeef81adb91fb6def5a0a5b6f23f196c3f4a1c0aa48d3f976c61b71c0f74aab918da212c59500bed981ab388c2f1cb0f175c66f3add89ae01540273f9a7ea910bdba6d9bf3170f150a68fe904d4e67092e14b2b676b1fac5f728d54c01c90107dc5166d0ccaa2c790eb8dca\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 44\nct = 683b389b6cb05cc276047fd6a454235c0818a02f77184cc026e30f66515983fabc2e98079cd6e331d8a2102c655189c0a862f4a80130f0e399e6e933d13ff1b506143253eeb8ddae9909bf3ac6b3b365b3c1bab1d548f1deed484f93a3ea852baef6ce4c14b9a8efb879b8fc17802d6436bddefc3f91edc5f1ae1b9e01dbbe26\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 45\nct = 55758d7638d655cd0aea24116843c66b4a6e534812946b540af63e0ce9a1f9a912609213fc098f17fd4ef263a7ab5a8654a2808c89d09a14ba77c0b24a8bf4b364887a175700e08c3465df91dc40e8db95ac7eb7b78eb04a1b45006d88f273ca14ec308262930e677b5a261f2a19592979d7620f97e0e0218007587cb2104ad3\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 46\nct = cd33e6154ddce74a9b42009c86063de67d42594ce5274bc1e9a832ef5684c82fca8a9fd198a41bf17d9142731658068d1ffc94143bb4c75874759b0818b95ccad1cb50fbf34e88bc27bf39a7c4a4eb811b9c507269e50b2ca8dd662c012bd0630df5b4089ba8811b61f83e161483f784a7177ab1e46280c31d5a7e5b24dd60bd\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 47\nct = 7d004cc7b6c7ab81ac236de2834ad506e780333f190c4f44022580b700de9038710057f4f8fe94848e619893d6184b75909f223537d5d321d93c8a35a3cacf64268f348652937680031aba141005db666190749ed4d13eaa5067f285ac08098963f6a535716fa80441592b1bed74b29e73a59f69dc3684bfa381dada1f67cf56\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 48\n# Longest valid message size\nct = 22d27445be8274aa9335350cb6db62448886b76a3ac683ba4c3b05f835980f73ad07259fd57efb5497bf5672ef3106fc5920a747057246b580bbfdc22632c20571b334f29c514bfbfc52cffee0c921605c7a6323c3a400474b8c43955ea101a143f3d67eddb02d77973ca3da925d4b0a89a1984e98ff2c117beda678f1ab79ef\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 49\nct = 64ae68c859b8674d4652ab713e292bc6558d924ef7f2bca085dfee8c6e35ca02f09428372375cd5a557674b10a1256777d897e7b73253cdbd49cb81a69b503ab9d2a144ac96989bc4c6359639dd20776962b345b27e9a9f6659717918e57fe08796a421c036683a57f0cdd6ff12b3c72c3966126cfa28eb8a169c3ba9e895331\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 50\nct = aafb3f33e5a035c28dfe30f5fbf84f0ac6184fbcb3a460bfc540af1fad1691df2f14225019c7aa2967cff67c71c5d478448f662abfbdb55b3cdb3f76231a24b71e7ebde1bffbc85495e21dc54d43755d74185c0cc5468fc08b553809a5a7cfb1efd86fb4ea0471eff49d701d55d49b410ed6e0c2b08194c23a73a825abdb502d\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 51\nct = 2fb3a98351b77e5cb3350eae150450c0dfcfa3919522f103d33731c1ba059c03d7858bff37a94018717366d6c83ee4606e91aa15f58eab29bf411b38e04d5d5e405e88ee1fa18bf42e49091fa0d6b26bee1d1d50503cf1c0ecfdf56db876732d4dbf2b40672663f26c16ceca0cef0b86698ea90fc271c1062fcceec4492a2411\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 52\nct = 477f589b7a4bb2356ee55eaf742c89fb251d65a8ea8f4781b2873015858ab84dccba4574611ce42b3d404f7f6dd4cd085f13810498e7fa9cb51bc814b8476db790dd4a5768d8653c52f835805b6ef3618e670a3bd2994638c4020c956e63ed1edc6b1d04b2bec25073740fa330f8e2f6e898d1b917de705c90ff448c8dbd6524\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = Smal", + "lModulus\n\n# tcId = 53\nct = 6e2cdaba72baf64e6285affe5a1ac266faea601fec4d6439946c0a8b87806434b826378994f7c3fda3ddbfee858d20da6db2a4a6a592227d8d2f48a3d6ff6db7107653f9cdc5ee40310c405f06b39035162813083e57c7ef4cb5f4a3559040cd76668b3c874e478e747d5f407b4a095a9b988accea069a856882d49e5b80e33e\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 54\nct = 8d7d8a23904f5515fd078ee66c95e84ebbcb55abf833b7a65353e989120d8d1c79361670b9c5d3cf4af9d31692d7f1478afc84acac9e12a2ddbc416af9e402cb88c8ceafce75f6a3d7bde03bb29ae444f7904bd2d1e8f615da9c3ff8dba1de2aa89f37ec4ff15a0859b600253d0d6ad28ab735c70d77bff925e4625432e8038c\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 55\nct = 32e0b84f96bcbfdd1ffd8385e83e0b8101b89e747ed0660113e352e3e3ad4aa596e68d1d6f233582a1f065c5733799a34ce577abc3c68151d2e4795ef0c5bee4d28df4750c957d0f2ff0eb51a06b85be354e09fcc34fa383fde0cf415ccf183607502a99e3c7983bcfbc66062f6899a70d4ec1e36a744961032bea5bf026aaba\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 56\n# Longest valid message size\nct = 06877383e325671e32c9767941f102178526a260feeb6eb8375486ad868eb32ead8a0f535289810eaafe9525676f5eb9070e1da42cc574153ddbe814eb2ce39afef3e194d53afedf89b465afb31844cbfc1a56b5eb4dab0f93808ac34fe6037d4785f3d52ebad3da1121d2203bb0ac8952567419794d67788c8c039038f28f63\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 57\nct = c4d8bb8b8a9358d600e5e1634d1f8174b7be543b4bd5402ade0ac1813089ef82985c283c68c66f98490b9464e445eaa222c2d4ec07d0bd9e182a260ef6b49eb05c9bb038169fe28018c5056b20ef575804521dd7cabb7dc4ed63c5e018da5382630011ac1ce7bdf4787f117394f2a2abb85438cf1511e86dfbd7cabc02d9df18\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 58\nct = 78ef6374ff50595300364ccf4eb4b7ba972fc86742029b7d5327051921f94841a1b2685681ca68da2f0c41eb73154ca74ab55106df2bc0a32c9053b65b342658ef89d854f366e7988b1036b00df0d6eab1df198963e916ac523432dc1dab413ba2110f41693e5f90d3b8e14126cea296389c287d3f4542b6f62b4b848228efb4\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 59\nct = 54b3f086a9f730edb920433318fc499a47df9fd101aa4af32313fe2dc48c700e951539f295b6428168c0ead6edf070327f6528d408bb503bd86b046319c871f09964b475232131d8ac157ec3e4efa985efe5e8b43cec75d04e9edd4de6648679bbc68baf8f06450a4cafd7b33d71d519b75484093043bc39ab983e160fa4f0c0\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 60\nct = 453a83b439108341f4f6342c093ebafe2fef92135a9650d43469e6447ca129aef30c8a3f972e20caaf4242abfb158aab4e963a4b3ebbf0fad26df885f119bf7fb156c708699cee5bf260d4f327c6dca53fe026eb146a6d4abe038fc477f38b7e0b4d5042eea428f4732dc8702f03335c5065a50b0c20d2c99a42c2373f7316ac\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 61\nct = 5f349d65e939dace65264ee3ca5926a3c7e341171a304a15718b0fbb042d09057621caf214afa24acc6a85c2d726767e4e255a8741e30fc5973ffce70220468c4d660464562dda8275633cdc05d7020efd956d3fb35e21126793433e299e9675eabfcce764f393dac79c4d981973bbde322533d34da5c20faf80666c1f472a2c\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 62\nct = 3cbbaf8cc2acf808251f794eda8e72fd0eeedb16ff14052787bb2e4a6a313ccdea67f76cedb5f5fbbfe02adf5715ba8f0f0230a25a4df1429a7266f97e76fa10b8bdb091b0f2cd8f6602e9c9b18ae8a4921c5b9d430821513960b96ac97ea0b9d8929840215e2bbc81f399b94b9525d828e962dfd10ce0f23cfe1cfaf868d7ae\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 63\nct = be0e41dcb65c9127d6b6882111704074070a6998966279eced9da148e8d5612b80ae7f6d0dc1dcfb28279e98d00ff13db27d739b38c6e61c6a295f925a6862ef64301ca92ff16d8bd5592739b0f5e3e2a93533bd324fa26dac25e7eace89f71dc1e995776bcf1720713221e6bb6dfd32b0d044682742aa8bd3fb38d7af0dd5a3\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 64\n# Longest valid message size\nct = 3af9e85cd302e65a07498047b3e1107f1e59c5bd319f6004784e57d12f637425126fa6de39cccf03d5be7e76384f410122a1196db3073ce8f4b6e11b0a610b3ecc650ee0196c7eb96190faf031a484dc82e8def983a63e7e7b610303b580222c871432d9c5a727bf6997176bbee425a313504a7d794b5942d510349f172cf8b6\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e90", + "24100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 65\nct = d53853f68ad01300b1d29c8f7c102145609f6f758bef38238880078d9d773be1f6a19b0db920fd905914dd68248b9421c9f407ea1a77770aa8db32320bdb9628c786aaa1d65e5383d26bea31952e07a0fdb866b745530c35f65aa805244b5ea3c0f968367672d8ed8f8370621ab69831f2a0a22d1950675daf6bb8859aa40734\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 66\nct = 48aa7fe344a2b75a75b8cf3ee13cc30a87945b6cf9f3e323fe60fa37752263c2ed1040baf1a235e0547bd61887a444c209170d8c5eb977a1b44e3a6bded27c00a5294b46e637b645dea56cb375d24b9edadb5f436b7ca378b6c2321f4632a609bda5cb4c327091445954a990e781471081e86372ede792b869de9eb82fdefb90\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 67\nct = 32ea29cd66a2a50212fc9c9bd13a1fc261f05e37804e2481bd547ee3f4f6597f5e9cc17c11b50321263939b624adab38898bb1b44ff19f32e876d2028735202c887183e34eb161f13b0fb62e8cd10538c3bca2b1a0148c953d532427a3bd1ecd76280668a2f09d93ffa9e6adf30e1960be466e251913bd38f6706ad57246b422\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 68\nct = 35cff63d5c2db065620f6ba2dfb39d07ed155162250112029d510d2f096292568e0a9b2cb4597fdf6ec7294613a102bfcba488a9417e2ee45e089eb71e45f75bea2ce4798e8a384f44a126736764d70b2675c1d45cf129eb1aeca05f7bc2b5fca6a9765c4f63e26348e913dccde4fbfed325cb020fc84c5b4cb45de1c4351600\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 69\nct = c682133eed3e325d0eb6c55f249e2c78a4a43b21efcfe19f901b8b7807772e2deb80bb1bc836afdd3e7aabe88f77ea9021135bc6efd850bcab92083276b6b7bcfe6ac232716e0c5fa79d20c4bd306c600bf7d44ed7734da3281b42d9cf81b81f5e9b222f2a198ffec4bb83de3a51a27ca3fb29506950aa71cf4cf0f4675ef5c9\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 70\nct = 89e7d862b37ca433118cda25b999e95fb3a750b79393fad002dc9a6f7329ccc513f1dc578bbdc57cd93949c26cbf988f0800564a548464dbb5cc1b795570970ec5f1d872076e3f1c123e12a9e3423dd0bda8de394fee63d5b8bce32094e9e371dc21f661196122db75f47bd1611d5149427371b9dfe5c50f064a372d2de9cd1e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 71\nct = 9d39459233b871241caf47591ca8f2ae575125b8a8654aa569b794c8690c9639c89aa0ad584e19fc97a5b55caf3c46d41b2a9c944306dd9deb617977828f94dd092f5b5d98c73a4387949df421f7dd5f6d6050a9a2ee6178145e6656cb29428029a775508eb7e64ba4744cdb379a5120f4094d242758778c1a46f8aceda02a6d\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 72\n# Longest valid message size\nct = 14a354f43f6e399d9114bc4637aa09a54e3824a6db033435768000c63c2780d693b382650832c255ae300cabaf55b3d7bb1ca1e4af64473d4fc44966264a64247be8147bb76e609037e9311e98eb29fec15e5c735ffc037fc102372b1367ac81fb90ec5d993185712321aa06f1cc807269f0a8ae4d5b605cd2e2207df11e89ea\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 73\nct = 0e4226ece9adbddaa09056f5da185856a401bdd4fd8425bced2b37014c9e215da09f143b069b936ef1e3a7411185ab9636746f12fc11f4023a4fccbb1c82ee5385c0dae4b005bb61b890cdebad062fcbe12b1920da229716c2a54f419e9ff9086bffc93b5363ea93a6e9480ed2f78c7d69a2162bb7a2d844341c066f53e69e8f\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 74\nct = 3ee8e9b4ebad22e8bec3de03970ccd442ca46cbf5a99f5c63f418516ce7e4b5f626d5d9d08f154f2a12363a984ab93f6351c3b6ebcb47ba28af954bd6da74bf9cda21f1bca74f51805d9d500bffafb19b3565e42d56a2585a4039e29fa85667df4b930777834e2bcdcc13e60baff72c1286e46847ae371bff6dcd5df519ccbe7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 75\nct = 21397ce252c8699bfc375e19cd052dade3ef72243c80311b7626a95ec62eefe32aa3151687a1fff383f28f1324f85c062dc5c7b28314783ff2c41d59c554b2cb3a271b58d09b8b610e8fe0f48b55f0762054b35e1f11e853a901bb47e53f2de3c721b022eb2c96a662e6aa0117d007488cd36779d26ad69c3d695e8391c0e6d6\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 76\nct = 79bed7cdc2f66c72a5d35c5954798fb20b3b19411ec7a279d1b66cd993f9c82ea0c14b62cc27e190794d094051dfd907b5e7a3a2ac4a2039cef47c2a22e683722afc240a0dbd0f153290d109cffd2338ee6c7ef6a28de84e39a65a7ecd0e5675e2ea50f244da96a32cd6896a7d040431b292d475594c8239860414dd876f3683\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 77\nct = 8d08c17c1df8d53c8075997f94aa6b6d129ccf566f37e04b1cbffc473f4ee268cc8b2eab2f303271b15276eee125c98969acadb185e41818a00d2ae0b8eb95fd7c0200f7ef10b402355ced629d465d1a3dcb0a6f032f09955165edc27dde9d8cddee0339775fa3f7d38fb093518a7f14dae7616575d5f06ab380927679a426c5\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 78\nct = 45dc6e5a80c303a56f7c7bdaed88241801ab974046e13c997a4bb542ccc6ded9bb2b70a9f8c84e4b9dcf15146aa92160e7482589cfa316afab76694e492f14b8b46532e3c353107da9b87d2b646d52f0fc6a07505e5637054ebe92628449609d3891d09911c75b3eded5a1607cc8145e467804ca3c266cfa692b4c9f1d3f8463\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 79\nct = 439745a4897cb61ac3503e559f9e494d7088f0214afbde349ddddf79839a3ae8453af0e9b3e9b36fbbe8ccc3715efff3a6c5914c066b5d0f5a5285073893f61e18a83fad8ff0609ec5135e5f610dabb129a843bf598f4d404ae1af751425897b98b11fb5db8005c5bcb1bbad46ae2c375a3dcf08d933bff69b070aa94382e146\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 80\n# Longest valid message size\nct = d2fe011d31c0936ccb82fdcaef8cb3945919702adf2faa7b52ede32e84a98d2f7da5be6364b991581b959babfec80b6409a97c2b92869c9dc641732c0ea1358f860c7453ea9c556d2be32dedef833b44e1846b3cf5ef5779fba906945452441d6a1a669c9f71fc575f028a7dec6ba97e6a232a3a9bde2742251d75bf32323404\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542", + "582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 81\nct = 6fd169df69cec8b98a792d6ee032c88de609819167f7f02358c701797d3104ec7bcbaa3e8c0efc7998a717d4638cc0eb3aa1a3eb9a272232f102b90e042a2f9fcf64f16c47f6a095355e646d52c6733310361a50b1c6d6bca24207679e0e6de651581f2513d25dabd981356ffe7bef6107dec4758ba9649d9dc510fd96a8ca0b\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 82\nct = 151cdaad2de0fc0ade12bbfb2a9fd4532b153f4e60b0c2a5c91fa90903616e3a78935b1919e1fde04cb995cfa999037a995ee8d65a651c4e436e8a0214c7c1c4fa7c5a0148b7f24b22402ee82fcff5e7eeaaf9a70bb1294707ed0f7e93267c599db58bc2c3840f7f4fdf9d83f5932dccb9cae804649a759f55b2305ec4edffa7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 83\nct = 480ee83b1f3c555bc26f8d0e3861d72814de3400c82113c768b550512c285e836913fa4aea242df12264c0887c55376acf74e150c20650cff0f876a7e439e670b26a88037660e1ae4fa5c2e0a8ede2c616e40f88480e8a7fe66f08018a0d45ed0b51433e2e1c6f7bd172a4f432a2ac69da399b2e118d999c010e348214c67922\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 84\nct = 915b41e91450588b57e07486ec0fb2366d9437366d429a06e7c9ab39d8a6838d5b78d724262215141bd90dedd8118060ce94bc46f938b9a9d89b8d13010ab20c45ae8033c7a0f826e237940274731ef5907484933cda54528462cfe06cb4835f26b5cfc13aff09e57474c2a6dd928793a0e094db4de3762bd562f23843aad284\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 85\nct = 9c5287561023b5a32d1c177334aa0b73a84f836c29c46b24bf013d766ba81ec2ab83797da73415ea9eacaa15aeb56c2c5de4df4c00795a53917c398a97ff110477788924686a2184cc2964c05eef76b66c3a4c7feaa1de744a872eadb206669de8af580b0e37858b8d052d9613bd436014403e5e3f1f8cb082390cbda3fa3baf\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 86\nct = 8ddd832fb4aec7a40501e4f89b54c428af5981ca9fdc46fd52b58332de64300ac65f342b423b76e33bb93d392b60cda5ba5a096dc177d54587b2b4b183cbef6431d1e8e34971695a5e26f40a873b1b6b90b138f470736198acc848118d3776748118121a482e5a69e32367a137d5cd1c52f34e31139cd46ec28790a49b35dc3f\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 87\nct = 61cc5eeb8fd11f7b707dcd651cbee5e8c37d75e7570966eca6ab890195fbb751e94b7b9d0276f478135f364500190a137c313a79a4afa6d75e7a506dd1856b5d53c5cbcd695133c9104ea52b6b25457d005540b1f07537221147e29e6e9eebcea9357ac21f822bcb39c9855cb809e562ba2cad89f03cc606b578b138730c9571\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 88\n# Longest valid message size\nct = 34a190ee382f167897591047b81c12252a32b1d075be1f4e7adef600aba6810067923475002000c5a237dd3f47fcc1aa5d8a47010531537ad49ad2e93022a457a9e264a67071634c032981c6d16b8125e5fd03a71e65430010dad9ab623c8012dc34e0cd2788f9b4b0fc4053b321a6d0f18b583d8e67df19c11324e89aa80304\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 89\nct = 073f0b8ca9c1f5581c1c19b6802b2b030c3c41952e495c875f8855916c219c8251a6cc141e734b933581741e3a7770d6e702032ba4ad4afb41029c02ce487a22fb120d928d847d1f68c34b464cbb0087ae212997a1fbebcf10b13f0898d1528df4693561001034b74bf7202a32068e8c1d3aa9f9f3dccc3f440c978daf3402d4\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 90\nct = 02c2cb0abeafa0fadea48934bda32cdf8218cdcafc4e99e11b61adf913ac97f29eedd83a0937b4001f66f08f6b6652b7d95b778ee9c57e6b8167dbe7f44abe35673f8f8080dc0cd2a92f63c883ab60d4e4ff4048ded1a780d9a3358ae4b5c76ab632cda8dfa570d079d2557cb22b87c0f9fd6ecd225fc278612ad736a949fc56\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 91\nct = 79330a609ca265ad8427e166ffc6bcc25a925a0d72d886de5ef708837ab7b415f3b44afa70052a662de27f3a6e299c55da19d8d88e7e269396111170dfad3844aff1864a8a37f0ee3b0d6894e29815174206bb515cbb15d59777da513d649b730c963507a56d118f894c8fa97d5ef9b70ef0c38a9c27ced5d305f0e7d48f65a4\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 92\nct = 9a912c668fcce16859f28db4871ffa7140e4e9982e18b49a1f14c7429d62f9491bf4de015247fb13bcc0e7936e2958ffa3fd0c9e3ebd553b34da98cffd799f49671096a9bc40affe5dde88aef7c0ac03ef8b8b5eae4ee17d47ad19eb69df7c811608466fdf9742ac64489d75615d9c66b9ba93e8d97256fc3b22786556ef90ae\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 93\nct = 2e46fd4a3f64ae1fe16b3bd43e5e74301f0914394a47566096c001d649158d2a53726662af9f67cd344788d60ed8badd6dafbb67893412dff7c88c5afaf7a893a78557a7eb0d6076322e27ed733733772d4dae077ed1496b48ead1b35160bbaa36bc551f1597538910748c60d468186c306acbd948aa9d77e1830f6e2c4c0925\nl", + "abel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 94\nct = 1d09b8f444b13a4584963effb7bd2efe8ed9098984fe9c2598122e9e54302216b2aa5608765a6c3956af8f9c7bc95c4da71c3f285c5f528de53739d21271412a4f6bffe50349baa0f2342e0ca9507fa5fd5ddf3f7659a9a58ac74a04672ef6f398737e8c40ac9f2d7f67f7f3589b003cc3d0b569f1d822c7f4a4967b5efb881e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 95\nct = 4b4caf2b33a71fbefff56217221445a8123330c4a09e6aa92f4807ed1dd192edcdd8bfc9cf58c34f67430555ef0a8910fe16601ea0e8f086440a03ed81f96a9ddb308557aa3187a5e586ce2a245da016ad967cdf1ab9a7b0bfc4f8101b4e0500c80c20c992e0a993109d9815b93a5a5084ed31a751871b57ff12551b39f89e57\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 96\n# Longest valid message size\nct = 8fc1d996046bb3389ca00f053f6b8c2df6f5c9cf474d3757e6f57b073e1d2c5e046bdfddb3849ef2929de12d96ded19d1f7213043c1a70c0a5ea6c0f7b23a2919221584120cf7276bd87b4084c3433367b031c5825b330c47bc0aa27a22039ca3704f4baa1b82e37de38d5129f8ff858a8c366debd79ea30980093c353ed756b\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 97\nct = 2e8b47e3822a5d58fb679f988bbc5f38e53f52b5a44ddae756c1342f4fc68e1bc8da9d58111257dbe26608f9971dfdaee1fb4c4052d3f0ae811da0298660ebd48559746dec808c4925251c20a0982982be224095c31f75752ad081ca4a033b720317783f01704a11c53abb2c16a3829d037c73abebaba0125de9a60d78e1daa1\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 98\nct = 63cd11010c9a11ee3125f5a4054a2a6dcfe6446fbded2040ee68251349201a3434e74f02bd861aeb4630251e7dcb70131030136294315141d4cd69601bfa3f8de55b6282e5bf1fea46567f8bdd5604336e1b79220bcbef65d7dff4599f5fef395938246993a473ffb4f2aab6dfe885b47e6b66bfd9d316bc779414d84a60bed7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 99\nct = 3ff956c5010eedb64ddfb31981e7e79a227485bddc7d1d6cb19947da96c5b71cff518fdc8c557b1342999cc8970f393e3e7a1cce6d8778c39208f437d980d897007503136369b37a7ec44a3301de74d7bbf8ffe717738143e1e937f19b9b154f16bfea1b03746374369b26c5828740c35a7ad77856e2e803e957d3ff22e030b4\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 100\nct = 754fd3c7331933b8f211af97b826af802d50ae1d39984fb432719c3ee3ad7880e1fdfe18227104dd81f1a5fc0f9dd46f828c739723c0dc68a6607983493060233183e85005b4886a0afe22d6ab0730fea2190532586196e0bab63cd08d9f5c391b99302e5dd0b60c9a12ce103f0bf9ae4bc19c811686d423642df2d4257d9d99\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 101\nct = a094713852a2b44e6821d6d964386d2fafaeaba44756560479653f69d7a33d9e1acc7741c0793b356fd61c4055a5c8302e1a37544100bfe0816840834c02d441de95f278a1eb29b4ed14def12b5d04320d2a14b4ac7bfda04a7c66d41f5b1856952ca48d1f51e69a079d07b6defa28d5578985285e7d9fd97c8519adbf5956b9\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 102\nct = 8f6f64b964d5114bae2f65b5f7de74a63919927f05c3a245063bad355dbe8cc1a59cb6c631d4918838d6a95b51141e812a8c012a6df76deb158ae1db0a22fd81d69aeb5d69f23ddd3674d4427236e890d63559644e1c747565a9b84702b7fa38eb26c40ce01256b17369364218d9a3c3fb2fa30fa1f601edb4808cfee8f8df0e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 103\nct = 4742dfe57ce8537152b72cfeacd44126fd2a3716e58885008b7e1e7e055de8ab0ab1028be4406b89d7bf7c7ea36b6ac5d34e83d3c5201e7fac068ed065093d4adbe4b2709c7d733acd213621ff9eeefea2535c9566370676d8b3a4aaa85e574d15720abf65f6b42b3ec8bddee2f76f6d3cc5af291a5b678e301727bee4f6bd93\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 104\n# Longest valid message size\nct = 1df27eca88872398306aea5c9b0d8514c173f3cfdc5773408b1fd33041731ac2370b8fd00587df3b73c9f84568bf1c514ba625358cbf741cdf765da4338c062d3951b748b6a85e867caa22e13ba976dec3e67955b8fff3cd4e1388e14534406db3e81236979a566fd9b311910e872084debea874f1f9d2864902ed31da6bcaa1\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 105\nct = 418d2556fe1e1f0492f324e064f68d90aa04ac3d7047419da319e04ae97e3467935f72e2f59f1b490de5d41288098607b8a0ee1f17066ceff369d80055b7266a0710bad792", + "0400618c8d0b9ffe4dd87fcdee42cf247773d4ba47620ce01b57a5433e90bb1c93a6f380b45e8e4959acf3dff781ad278ad863b4930991ef875d96\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 106\nct = 0c0a383fba71343c2a467d3bd1413056d74a15459877ab614a66e9f4bce54ca42719a353da953ab73634584801cefcdfa50288565e9b3216b885d79e2c7ece62a0a776ca7bc178ab0606d29e19c4599d3fb610df7cd5b8005f1feeb2b2037d8ad7cad1a9685b24306711d8c1ea3d9c01120cb751ff92ac657659952e3191577e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 107\nct = 5bb72a3698ee587fc8f662500e9183d517b78d7cef5152a0f7e763f4f41f9d03200ab2ae0fea874bef3e7340b13c4ebf3d4755dd601cd2ac54b99d0b20ecc33cb17a5101b1594ed9e47b090c6eff589a05055997f72587fb6f45e6d2389ae19bdd49bf1243cccfa23f04aad2d42dfb1070df24d48f5ca9258eddb4aff64506e8\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 108\nct = 270dc08a1725da4f287e9616d89bb53edf5a839f856d2dbd0205c81e751d78ea79f0d2a88405c8f6d45d04c65044fdb99ca81473919b14e743e8d1c4bd611c7b74d4e252a595e9ec2b2bab8324ac2cdfbcfd148b8398039e21ea8408dbcee82b049742f1cbbe2fbade66ad40f92c3ed6f07b3fcad65b0e903949facff4ac7f78\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 109\nct = 33af58d5500d23dafa17f8b3cbeaf623bb26101c40709ac348e28d19ac36b051b5269556324fe864e3bf2bb7199ae65cfd92f856b1e8d90bcb9d538d0e7d153135ce31124cb1b1dcc7f2a290eddae1524d10118e16075433ddf792acd990be71f540d70c1e7501e61c046278d784bbdf231c5a1eddf5df2be60ec5fc2d39b737\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 110\nct = 360d1fb235b0c19d8e03479620fcc179ee5fd87e3aec0265d154b501b1fa2e6178e2ff7d22be085246b1b17451c6a9f12bd57a64c86c8a93ecddd5ca93d2eed91a1c2553c585750f5510a3e0b65a465b81d1e81af05438a3c9db615d1b5f18234fe6114ca9d764cc62523ae04f7997e01c1f91bc474d053c148e483b104e7fe1\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 111\nct = 73270646f5e6e4b023311dfc71563229b593fb71f8a2df1a8033c4366e3a0d6944327c112687d1bd02905e7099ef70f36c88999b4d570d4a9307e1f4764b4b697a677edc276bfffd757a9e40e9f5b3bc5481cbbeaca64c486bf4ac119a7147417d92988a2751d4619f6f8ce2d543f4dd157bf9ec3b88f9c5e95b37eceb60d224\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 112\n# Longest valid message size\nct = 82d81c319681f5bcc530039e44eade8848562343eece58dfd2b4c68d04acb06e937980f079084e1f22e44f928394e1e94f64647fc298fc4eae493f32a451356ace59b92ba784925000c2193304060dbddebd7c7aef0ce9d16e2b470e672461960f3f77984330754017be6aba1016a02bbb837f96c3e30dcdc85da47ef9b2c17c\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 113\nct = 68911125d8bda09253e99bee978b31fd8db5b153c7af78521d21011b0e76d5cccbb2d6f609add8abc0eb7fcf4fb3b1fd75bf823f02a38d56db8cca42424affdf0fbce966d557c0595c779d301c12aa31adcda7094c6b3e1b2432fba59153cebb19d72c6c6a3365c713d1aa02f3bfaa5d0bd39ba98c75571c8ab916643b28e74a\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 114\nct = 1c91e1f3d58a1c3cdbd268d589b3f2ccebd45d5cc5b8605a29b5de49e629d44e3c21abf28e7f34a78177da87d8c247515a8973e1f59bdc8f16db53df2683f088c940d96e02ca41c35531a16b8eafe55411c18f43736619a177502ff223cdcdbc4eb89a0f15fc441465fbc01b7a6a0d2335e4cdd19e6dcbbc58fefae92b123939\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 115\nct = 7c22e1a4f703050331a3de115fa7dc28569594b81f2723c914a9da5c8dd7a5fc085eb0c196504cc3f42b891cad8f2a8880e35d45d7fd328760f4b49d9944b9378d0414d6a335381b8a0f67674078e8d85662c9435c606555bba3b500baa0a8ce25fdf96aceac6d677fc6a9d0cba2d9e2a80a8c69f47d2bf8a0f0fc1a7d50a38c\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 116\nct = 66793a511cd37d5e7472f08fc13c7ce6c69caa3d4e4b3d1f418f1e2a88e761d7ea4d45aeb8a38f0c87b45d2bb4e0f996808301f9a33f216acb09604a15821cec6291568067fafc969786962caa811b9d1b0bc6e50834ec55e38ba077791a6c7e848758d389d2f0796cacad13428c47dd079ddd1dc126793240f5894bfa930c8e\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 117\nct = 2acdd8200887488680de87e651a30a9e9cdf25b5fe50f6cd2d8c10f4594e236b7c47ae9331858998202e8524dcf7a5be0a1868abf8b081e1b658027f65af39bc5d9e1f7f9d29ca33afac7306c0d3e077349553a77d98b8efb5bbd4163bd8dfb46be667b75926bad19730a56df344d0e40ed9f88e6e4ec2db538c146f9ac75e0d\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 118\nct = 32040b2089390a96f80da9bf1f13554dbd20306fccc987b2e8bc0bc3e459ec716b1234488e67c62a97240c2944a9395b07ce08873a9168fb3adfff8ec0194ce3564fc4fe95fe27e263501b5c7d847d6a058136885e277a7e584db8836105425f4bc5eaf565237ce72390b8a2efbc1ab5e44ec6a12c92631e3eaefca664ea70e0\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 119\nct = 72ce6b4b36f4ccde4327795b62bf247dbfe80ad1e1aa4b3db1f50a6bf68b5d6b9d4591932d41d1fec67b55c2cbb52c8b0d92fc14b1d0d21908a0d9bd60f78bc3519041883c37b829289439a5ec31ef5d6676ad16ead3c3989cd8978c12a783128cfd8e2c15c872063b3d2d2c4a91739e4feb93ce512e534d4280230470d4722a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 120\n# Longest valid message size\nct = 31ad05aa197500790b992effa86175892384dced3359d978075dc9326e1d0a1c7899b47b0e1c1549d1c9af9e5238cd07557e93e677df968107b8045dad232ee83615b7cd49b3223c86aa283a18abc57af7eb4d7d4d9e8a4234c2fa0fd08b5e602ced53d538cf80118db8faf786079bd19ea5e3dacdd6fc6cda550295bd737ccc\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5ca", + "e757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 121\nct = 8749d6f5113da51db46969724dcbab066a9ffbf3330d4a734a762cc6b9d8753d6a08191e66c0f9580b46d8e7942bae0c79efddfeeccf09d4fde8a60db5744a23633d4e32ad236b9897c3b7a0a08628fc463445822083396a4b034cb53154ceccd9219f4f1f01b839e63ef56f880838853709f9bff68512b57df24bafd6884944\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 122\nct = 5f01fb81f6aa0b6fc2c67da37ab7e0b80adc36272fd6a6a2c1f95a0221d075c8ec448171f0e0bf552529ea0276bc9be3cea2ba1d09de39a112255b445424051f96c941ae71ffb126b83bc03299f0945ab4be4d4046e0f0fadbcea10e39d0c21de17be781fa7885b33a695abe41d7db302e62b249eefe3fbc10e84a5b479541d4\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 123\nct = 18d827c4e481935a6a95b788fea6dec752cc4b08a4867bfc1b75dd5953e768a7421e8841c45935d03b8a8f732de0e0ded6ac5124a1bab546c9063d8a3842593bd750730098c5b1ebc3a0b8afcdc08ca0285509374f7fa47809e24311ef9e1a56d64da1711daeeeb3b2c4b545d90b34ab4f0f5ac0809a6b08e0dc74330555913e\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 124\nct = 00c2a0ad1bfd155df9ba2fad92504e2aef353affce954d55349f911906840e63776c8cc346c39e6b2cb6c8b1696111ea67d19f9b6094a8cf8c83d799e3d25a824251cf5bc4f84f7a542e4e9b89a7ed5506456f9600c07ac34f306c989579e6cc7616ca7bd489692ee4f40d1e93c3a2a12f02ce929c1b07cffec324b8f8f1eca8\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 125\nct = 30fcf1212bc1459d5597f9081089850c3bd7e276a6ae71b3cc707855aaaf5b5f78739d5811aba2b31a0955a90ed85b06c50c251bab010d610eac9bf755d733794d4674b255912f77b495e80e607cf215072e0c16620b062e80bb253a5a096274c022ba95a3d400d4fe6ce0121ef20c15e585a857bbe20ce871e4155baac8d3cb\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 126\nct = 5143879722f66065721c18bbb6fb3ebb445734b3ddb13f08022e140f3c40026e1ff7d61dd8adcfb2ecafcc90ed5b839d279c303d0b4e418939f4e5f11aea2fe7654c4d3e9db2c0018ecbebd1220e2509d0fba8e1b5423f6c3ef461b1d011fe61794004d9b99578ca78d7d92511dc75d9cec7d7fac0ed7d86b901f08136aea029\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 127\n# Longest valid message size\nct = 84a41d79870eb9fbcb45a469541d33aea789cbd3e3aa20ef57a1e6777805250d7e263cff57658e62368881aba5a5f97b6b6670f6d1141fcea8543e52a9e18323c31bea1057034fa0bd06a77265e8d3ed8e5f3427eaab99b4ccd7e82423ed096a692c1555b091c0aff710f7d58880dfad7bf6ffa2ae93dd94a17f987534840898\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 128\nct = 08402d31f47155d67067897e8d3756c2a26d74e01e7779301648ecbfb73e74fcf6d6924159b6d93687818466e2bffc92dd66df7c205197b15c712771e855f72b74da24795d66cb2be6a59900fe8961247688ed73ab0f5ca0ac10308ec7cb115a4c8b1ab72d3de9fd6a7afdd319cb178a862fc7995ef0cceeac03970b9daa9012\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 129\nct = 4b8610a20003933cfdbac802fb90d9028f6bd5656229a1b249450fcdb49f6d46479d6c7b094e93af2eb94019c177f1b1c58b1379fdf5429edc296b4e65243e2cac5f6670fc3bf69471015af244ce363ba347de282e887f2cd86445265e0f65d616b2fc6bedc87bee61385c319a38e53eba597db022d321bf871889c551a18503\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 130\nct = 5c3586325bc1e1c9e4aad3d60be88dc9ed9fe9577b61a8714ac235160bb4e83358649cfa187b004ee735cea2f6c91e25593c391bf24d87dd4b50178435600ed1c5272e3ea110698b11da7c660ee6babc32aa3fc2cf3ba37036cd4369efb272d99424d9c6ec5290dea83f16799efe4fa90238109de7938445ed66261ea538ec86\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 131\nct = 4c9569d4ac8607fb90c56ac7a7a0a673a74588e526f22bae8271a863292001064952becb338acb8becbeff48f4c07e60b529df7899ca760c113f878c405eaf789e312214eccdc3b5c01f41ec53513ea54c4de693d52bb962208e4553c088abdc64b87467b04c65fccc96d2f59f5527fa31c0b7e8868a895ae8af19b20a209918\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 132\nct = 7d5c538dbd17fe2b4a2538f8d1f4fecdd3170ce335925eb41f94b2e587d3b40c5912aa78df383ad8ff5fd7450ca200477340fc9e6ca037421d4835316e63ddb7ac79420b4415e95c170a21897d4bc2c7ad452c0c2e834600ca5922411bcd6b96253cc161a0842021cc048a6092bb4d7c936d677dc03264b49126caaeacfb992b\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 133\nct = 270da02d0747f710dee546c4b94f40fd9ff7dbdc3643f4cde66953ddd86129807dbf2408e9f40b29a53fd2b2ea529c5a31933ef5b4b5e0b83a49ef85ed92880e1cf9dae104b817dc0688b4690faa7f3a0951bbd32963647c970523b7d53c3e24080368bb510362ce36f50ca0a752f7bd3a196b2cda5ac548f36b24631a8505b0\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 134\n# Longest valid message size\nct = 1868661bf0b5eeb4f9cfdd32544fbf619955f41ce3aa043e6ea5b6540935c89781d1360279564c76b235142cf88b0d5c489bbd68319e24c40395e928c672ddeff35447367781827d9bd7507e1c77534a7f83c75c3b101398456a9efab2099ba06e728b8c1624b1ff4a4ba6e7d2e70ae1ea5e97774fc3f541f306e1e457862f81\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787", + "8787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 135\nct = 72ca0ccf54c917fc81ea6d57868adef1cbcade865c4906e734bcc0b81b20db91d35dd489dd2c5a7435eb75ba6e2732f092ea2c77701c6b4526e7030dbfc3d932731c6b3c9ef013721c2e70e96dcb24ecdabc2e87f98d84e95fd4bd69a19ca79c8a3a9585e3a6bafc2b5e10ac260b621a1b3912102e7a22c6fd7dbcc696380d48\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 136\nct = 80c408c5d9fc9c2b0fc4634330fa9776c42a1d6dde48914392e00e5bb4e69a93acb806d102446992ef8d9a9cb9004d6a8a833806c5c8f80abb444981829ad85d95ff0e7ae8c83e98a706d09a3cbf8a2d8c0d37ca4b620ada9bf1c89d3b5a4e7fb66f878bbeb044d039866bc9ffa35f369a5468feb91c31ae112a046f4f3a619e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 137\nct = 5749bb5ea6679e7571795a3bc09291088baeb198356c14d266d169eb467fe8fe541049fbf9ab7e62c915aa366e00a79ecaed9f316b7a37c77b93beadf26d5fab73acd989a4f6c22886e7531a9f6797b3ba59d0bc5319043be0fdd42498a93ae5ae9d826e73222a257354cdb9228571d66f056837443b73dc1b60341b9aadeaab\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 138\nct = 1ef4a92700b36c1c4fc35a668889d463022dff324a5b1837f4115133089f6048b13b99b4c73ff9acfc41dc299a8c73d378a7c207140d2bc2cb956dfc594914a723ac6c8fbb1e949045aec0f27b923fb65eec9cf001a6bacc9ed4de1f8883043110e3edf359f500d2c68444b8202818623af3a389ff125d6b32d1df88705ad5ef\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 139\nct = 0185957a92bc682db236761299c03e42290d293d8e784d056a3d4fe65c25744782845cff71af5c56d715ec840f9622fde8d8f14cd5ef591500c545422c33658c3b464c69d5e3f3d2eb22e5ae66dfef9d69869f867f3bd82d35138f8f093e6b3b597b7600c87522c51b30f1b624990532ccd9811054a7ea6aef9cd5c815d500b3\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 140\nct = 2e05246e0ddcd59afd60c7d9c5b46c70fcff96fb5e9d62502f9f4b9a06bae38863a7d7eccbdd1304534186a5c2f89f061e4edc1cfcee88af3643c2f6b5efbee8f08eb7f866a60821f3be7b296b25acbc4ab443c0ac398104f369935b5b5748d4a872d31884f1b9d4f1842fc0b74f003c17c4ea5b9e3b7baad8401ecd56dbce09\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 141\n# Longest valid message size\nct = 933d41d2f20609bbeb90aee85368180794af83b687657713287070489e23ecb6ad871caf198fa19128f5e48ed581d3de608de44b3d7de1f2d161e714f27fb09dab295f9772d4c0992fbd866c0a41fc3b4fe874cffdc9324bdc5eb652bd20eae4a6f2258e3f9dbe1683690eff2a930bfe351ba338c76f6598e50c1dfd78871515\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 142\nct = 1c3e714abd52258d9235e08634c0f21e8a914df4445e01dbb0c520367d094e689bf68e083c5879e00604ab39c7d6c05f11da2cba0f665f58ac3c7ac07de3e766d5953fa5b79d6f3712290aa585588d5d4dd276efd084f35b107a5b031fc62811b3b5cb364ba4444d9f41ef3ed468748a5cb95685a354b38ed0d91087bf1773a6\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 143\nct = 90e37b774d24eb1001ed16681d80fff3051bc2e7a89af0fcc4da64fed4e9db4a8bcf6232f61c141138e18646dace294e965dc45d72808607f5f3b752ea72f016f9eb4f120541b63745a93c811b99ca8953a606c34414ffcf673b067f65810b20464ec9e9f5d315c4d9aa5fce4bc09064f02ee6725f392c8d955095cf3f310ad8\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 144\nct = a151582a1bf013b4a3d81ffaa389407406d078766c95ea3c28752e1c280392011f1685ff3336a77f907de742925b297afbcce2c707be303d1269a3a45cdb8fa66a39c461eed94adf5496a26132f86871bcd630f46fb2decf6839f395881377777949b9282fa054ef026f32f0adf132254f4de8eafb02dc738c7ac7e7aeec0554\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 145\nct = 0c87aa1b473d638dd10955548a51217302435f9664a5fe05344d1054ebc24d8ec2cddc94a241fae52e78f5be490017722629c4b606db675171020c6bf5937133e1b0c300be4fe8e0b33c9f1526035f663ddb24fc270931b29cdafd481e85284cc260624291f3976b1c58c4bf35316f86a0180a13805935f387dd3f646cd5385f\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 146\nct = 622dd6e7c8225258e6eebabf9fa6372d9423fd775b4c8a5c08da54dfbe26a8064a73b44c1e22fab35adc3305ec4a137d27b0b1223d751d21bbf08c7d7962d121cb3a1e1da701a6e33f5dcbef95645fb23106184596f5142d181118a8fcaed3ec92314a9db65b04f52da31f826e7a93d6fd65bee4428d99fb546a21c5bab38953\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 147\nct = 48053b6a9b5fc58d47bcdfbc5c8d3f7f2685e02030b4cbceb1c9125041735c2226c8ae470123c776fdec5dd2e63508e3615f2", + "1e1dfc770efb3d0d71a7c0c9987bf51c546874a0f48bdd521d002e44fffa112f2c53eca37f57c88197080a18fbd5097803b12e09c36ede4458b6447a074f7fc89d612d7afdf38edb10ccbd8eb8d\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 148\n# Longest valid message size\nct = 6f115f2ce6b0eee10d20c59f3cc9709dcbf1813de6ddc19129bcb0517d581e1b08a73fe44327c23eb6a6ce716aa22dff7417911cdd387fd769537ecaf4b6bba88a06b5aef80b4d7e59a4bde0a4f24a96ef1097be8e6c09000dd2f57acc46d7263820e4114129a6a0498cdcc2f1c47fcebe185d904a9e463cd96d94bc3c74c01e\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 149\nct = 7ba4741c3772cd872e7109004bacfdef662510714e27586e07095ffe4e4e139bfeb6cb4e5e027350d8dfa26fe9683c66a6ef4a521b0eaf64d36c937ee115c3b120a46570cbcb802f67a03a41ef80609a4214b51b803c02f0c652afea95022525e080d64d55128ac2417637ccffc2640ad3dda63fef7da5e0178840225ba623c8\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 150\nct = 7d2ba23b422d3fec441fce9b3c10aea9dd38cbbda4c0dbb48145d138e1f2feb1025e6267148a7b97b47e255100790a48ffd1447aece8b2ca76ffadc045b717fec6d9b88acb731ea03b54f6efe33a5250ef7016bcb1afda26835f6607fff7a743605ee42a79eb8bce99985411b0492d50cc164e5d585a7939980104db990bd343\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 151\nct = 4b11a5380b53414c8e220d55ea0410facf28923626f16898b04b79be4b910c058345cd7f43db6195a45461f1f8c419d80caca71e52b00147d76126a6aedb142ddaa2c67104c1044d3bb4e80f9a484f19a848486d547ebc0cbb9660d64e9a0cafedccaabd1028f4cf8add52b294e8da72bea991364cdebd33e1077dd1ab3682ca\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 152\nct = 8883e1ce40ef9b6c8e84ae5fe3c0d92e0a8033b80c3ad9a0541ae54db1c6bed89de5ac1ab81bd1a7d166dfc084724ae4f0838e541e5328a0fc570a85709c00ed4b996a8c96ddceaa00af10fe219497f0fca19ed60330fa4cd273c6a99b9d2b82ad0724a58b882335e9ba971089947c3d94d1996a06a47adcfbc92424a17d4956\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 153\nct = 323c223f243e8579ffe2c93ab2c298e12e55e0377d7e74cdc4d95480e462032a886a9702ada058c331d14f000c4be66ddb5600a52c3a1ca0982906e77bfc645a645ebefb5469cb24e66dacaf0eb10732e01691ee44d8b319f41fd74c41552d4578fff2103bdd3c0adc492b262a138131f733d621c6f1a2adac47baa6408ee811\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 154\nct = 3a1f918acc9e2067e01fa888e8df60ba9fb1a99c200614b889a39b2d42c7ce6ace0b01e156acd80d75959a2975e95c4a619baed657c081d2f5772f081d857b29794667b834b979a7e38507a2682c4820a19765fc81b570ab1fc95df69896d0995b0abcfe5b29ce8fbc4b8397fe3a78f1020eed4397783818e81926f711db95c6\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 155\n# Longest valid message size\nct = 14bb72e13f42301b78488a06b66ff769bfeb8c92430ee3e7443a026b8f9506c6635f15dc1133f51769cbcc73143a922b274781233c7743c8e60236af69a79eb9e9b33488c809ca21918137f3c6fc4c00b9863a20a7e7f7d7ff0fe6284b9cad6c62cbbc0c63166cb14d703745ed9467b44c12cae608b944be458409a03af51fc7\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 156\nct = 14aea2a65cd69549432674606fea1005f288e49529f36d5d8036b83a5f11d81f8bf83fd6147142e2e93ce35176f1058c4a52de4bac860339a1314230338392cf8e3bc28f98724892bfaec3aba58fe18e0e93287b520227dad103623694f076c1714ec63e2f999a20dec6366cd7c38690f819b378ddbc44b7fc5ef598fff5fb3c9ff20ea18405ee7b583ceb7e214104d73c7d59fabf59441548792bb81ab391b9cf4296cc249f3f8322f200c38d3d75d23aac8c4f3e0e635142890f6362592e53\nlabel = \nmsg = \nresult = accept", + "able\nflags = SmallModulus\n\n# tcId = 157\nct = 1b61840e5a88d3216ab3af309603429158f113a9bedc4a8ecb10843e7374b2068ef16267af414a87cb8b95e554964b7de9b3581049f012e5541009054df1c11bc6f477a29ab6bc834bc0086e9400015bdb90a38648d04c104f5b7ba0c07bb9eb35716d16378ad8837b9b09d4b8019697769080a01688f2ebec7b664db7bdca665ce98c6e472ca1933dbc23a9f23f1ac876e64e0cb046767b3dfeecba96d71f36112462d7e9620c1adac37fea58d6f65f12516b56aed7907659373a4d3560a228\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 158\nct = 1d862c83a1ee6444e8b815a5392f1d7a1b7b6e18881eb86db3ed2dabeac1b11e02ff3a32527e8b2c5af2cf402d0e5710546eb86ee86e4e63ec506d9b4490ece125584a16bea4999b71690426eb1fac437d09f46a96733c0c1f0e9fac16d31e5ea534d421e59354a35f181943662eb3ed486dcbdf7e96f8669ec7900a37b593b43024aa7cc0c9fba3fd84a49977446f56cb4d9726b421098a5661ca233e384b139c33dfb84dc34d8c061f0b4ca8994c23fb690c73cb654977999b6ef66055fb09\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 159\nct = 011d51f9770e151fa2358e7de7912b82000fc13aadf7ab2c1bfbedb7a68677a6d34daf1772292dc1934a2451ac3efb0a6f6b23da1af804f4a9cf50036dfd22d04ac28c7979b5f268bd47369b20ab1e660ef305cc049835d8352ef1f6eb7bca8dab223f446c3343145ac14334d6aa3ed7adbf5bb8323de38f7d720a72de06c9d2b6a8cd72ee2bef4afda6a9d28db00bb1a6184b05b53875e799179c99d92dbbc1d83119cbfec62ee911f2024e89a5d9b4431c066a9fe4e7f045f48b383871e86f\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 160\nct = 81e6cfae9ca349b61d058c04260be3a1ef0413debdd5917eab5a76e391b9596655ee9a93ee88bc54f9db18d142597a71ac77d1633f5a1ff80d97e82b22f07385d06f842308d0370161add9449a0a259f959b3d2b0cee49cfff22734e47f3a405a588e078e0e85c4d7db349e8a80a5801fe94eeb1e93a9dc35caf852eefcdaf186393f984b555845df34d815a35fadb7b0332865d6f0060f053d35cd64ef7b0f3e400a647d5349842296748e61e3bee93a35ae4b6d2928651051e4b2a42d4ba20\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 161\nct = 65a481a32d0668c27b40c05bacbaf081f5f8374bc922d6eb877b450aef275b8712748d613ad5c4d8738f1413384439f582af03de2736c3d81b00840d2b12edec56e25def1ea3af3fae2b7ed9597c8dcf07940e9f10ef7d2c5ef41818231998a10affdcee04d8207038822b6361ce6373a37ed854a77804f0b52831abf6e188cbd32a74f92912ae07c622214ffa896858ec84863a24d50474aef4c529ec95f7194873dc4b9f45481242ab69d0856d0afd03034945ccadf6b02879a8e873f78d66\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 162\nct = 85819af1ee3425baf97dee96759e864dad21e648fe90407fd0476568d97dca5f27c367dee5a45515ca7ca95d85a8e8be443c1820c41525ce161132c56ee9cb04a811293e8a39876f2d0bbe593270d3515c6e1ecd2b602a12102bf55d1e0daaf8013992915dd607d2cd36556e5092240cf4eda2b06bce26559f052415b96d4189db5d81778683fba8340c3394581a99296999d00d9c4cd826d7dcaac7c3436122a1f2699f49f47f05acf6047dbfd057314ab649b0ab9598d992e80b5df861d2eb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 163\n# Longest valid message size\nct = 58d368aee5a9a087181d2fc821ece9fa169239b3858338134f00a0a00008e60edf4a1e810d8429ca1dec8df38b73a63605cd2206eadbe56e85f7e8c8d1be1c19387d757a1c1b4264408ad730d7381913c2dc44d7a5b0877a68b778cee543725ee26639399de41ea5c7cfe09fdda42f3daa759a83ca2d1617b7feb6e9e4613447cbb89a88cc1ca6a85b7248e2e3796fe7e65b7873586daf308a5152d9031dcdfea22463b786cb86a2f9309e26e3cfe115978bbc0fe3e598ecfe13794e2bea01c5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 164\nct = 8d76c9cdf4c7a5ca6306390a7c12044112998f4b7c5b90012a1255cb88b608d2c56b78611e3c669d0457af1e91a0f12bf17790a6083a56897104994d17bf9adb5e69a7ca82521e9266f7bfc07edf488598a8825fffaf50aeea07dfd8255dd6f824e2941d69430a1f9f017c4b6f0e01c3fd0fd96acc71ab5ff58b0c3875e711bc20947923ffb8f5729b2e6351d6682cd30ae1ba3a91466d4d556214f64acd9a29e6525407ce7d30a41aaf31032641cb7bcc6ac69e139f45d97995e78c4b72c375\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 165\nct = 2cfc7319daef9a8e5c0ceee064b5aef4d47d8b26ca9a6c336d54d22c24b44212e7c6049c41541c5d40a801bb5a401417ef783390a2bc1dfd643b9ef692ab30dae51699cec25f3c9264101b4d6b3de4ac98db8ac894330e966fa33ee9420a6a9fd2129bfe1a9032693033906d286bd6c0784c435608ee0b6b036f3733da08619ad0ecd9187684d72d5dc62096cc38d179b01e73698d61830fa33254f45e232157c92d9f3877c019ffd5d865605d4fdfeeca332694df09b9aa4397bd81f467ad16\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 166\nct = 4976bd04442dd32782c211373a934f1cc854cec57b8374c02927993d0527339b18dc8ca529c2b6ea027598e07ca8010507babf446fa6d422fe5c756de3ae1c419dbeca5e472dbaaa5f547856ace722cb752c27397a886d9ee6387850b04f1dc1e7e5331822bff8a5fbb19e134f9f821bc13ef1567fa372d8076173625c04122d342a1c84e70f631f4085e4df9e222d9d866536100869c27c9b8c64bc3ff893cb7b828a285be83229b2412cad9f5918ee1449374137060c5807fb7718c027e1f6\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 167\nct = 65986ab72b7c510df790262183bd37d18d3160b99f87442fe3b80a6f25a934d592ef4016cf3fa58a99e2b119897e489e6dae0fab60fbd2925e862aefb1889c2f582111f8c71e075e0eadc0edb02bd11cd415b5b168bce8ae7f70318113bcfa3e47592007256bdd12a1dcda2f2a7c50baf1a100822d133475a276e64db54a90d385a4dcbc73545a751f6e81bebd8b3209fe2945853e6cffe7d72d83f8345a059c", + "1218090cb2c43974bcdeb9f924f6767147e6d7a0a0560def1ec295cd091e0903\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 168\nct = 749202ed43f822d1a2d974b0d66ffb396f26e82a0198c60ea74d916c6360a7a9a2781a909de4ad874171d79406af3400b351909dc5ce293e88e2e698946aa3f346b6f458e438bc1e73c07db9f684d0c9e2630c31b5b0d976baff5ec0a17db8a66ae98bb554221cbf7026331b4f1a04617db2e6e0365779a835e6fddd583837f24b75921b532fcf25d3c02e6d703a0ab5d59b71392e74ff42f0651bfdc284f0e5d47975f9271cecd14e3bcda344eaf7e44e5f54fa680d5fadf2bb39e073c31b77\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 169\nct = 849f564ff0d19773cd40cd95ecdb26758fb0c4129b67d57a5b930eb4f3a5634a8bd8ab4cd08b376501de3983f9b92d3a548ab83205b88da068a072222475c4ff38c7b535ac03f382ab2fafd2e61e8ab7cc2d1d2ccce6d62d6c58070bdaeef13f120261e5db85d5b596b7f1c700a3862e4f14a88679819d019f2466ab666cc12e913f69abeb144ce0e5bd10b9dd67673073906e203799e8bb551db6b4ab9a91007ae493223c8270cf45ab1d7b9773f96eaf4068a708cb1e890effcb430e19f86d\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 170\nct = 148c9c73f4e70520f196f0324fa7081875615ca852960d0d2f63532e5ce602f085921772fde1305d838d2def778390f8b8ad0dd7d527c6ae484293f87ab8fcb22295e42dca3378270b562a1bcf48e9fa5a975870434476830951a7c01001fe322f9be76326f38b76178a36545778c1374b0c2a333690e12c4ec001a7992f5b2d038a4baee409d5afdec795912f1ccd4e07ab5ef2d4bae47595de3f3018cc02fee2897c7c66267e1db5ba4adfd024f429b064d7cbd25621619eb61470734186ae\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 171\n# Longest valid message size\nct = 40b8a48e620b1b413416d4da775cc9c8df081d558c1a5a7213cf15138789915b4c215c9edf14b92cde9b81137e6777348ff376f1d268e1f2e38e426631fb22c4a2b13184799303e48b0159411172678ab247ea19918eae9bbda49624609d402dec0bdeedeccb96ccd3527c5f461da8d690777597a23416c8bf1a18c31f5e6e2f3e17240cea49186f77860cb5eb0c0a8a7296098d41cfe1a39dc0f3ed2a0a6d0f7ee1e6fd51d04f5f5d0153164d8f85ab17ae36b720bf6ec1b1be2232b103c2b4\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 172\nct = 61175542eeb4703c2a66ad74d480bd1ab0080cc112537977b180969bbd082ebe4d9976aaaceea6ca2c8d28ffa1255e700b34ddec1048d85c4a4b275bb50ade83fc71de58291eee99869c8465e9eba1d5b21a903413d2cf2dd50bf4e03662cae42d6f9424637be44c13ff92238cd7439fe9ef9e3f84e9a7882c4174fb9a7e75df19300fd4a24e888690a03ac2d39b7557746d15b15244f3b6e38de6a81e1244f0691967bde8c0288781282bb4c4aac543d3ad86761573c1a11ff1b9e7f9aff33c\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 173\nct = 2f73977acad30406126713a2abb3dd28ed1cc7d200c1789f8645b215f9d1871095f564cd7067afc3f7954851b7e4fe59a5f7cb4d84705a2aadc32646463634a35c0c8aed8159ea170f05379ddf5bfd5a8244adfc5634697dc0d12ddb438e2539a2c760ae42f65fa878c674384a1ec837f60ccc629d73d7859dce9e111141c466e11d6d6e50d4cace53531cd8d9cdfae1f5f9ab3193ca86fd8ed6d1051d2efe6fd724c35ce532ba8964401a1d4f2cb485f27e26208077efb89689368d6f6f0d7b\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 174\nct = 607c6b0ba2000b83bffaff98af0d7dd269095952d6caf87fb5512b74edd258c2a6d64c715bf6ebbddfb6ad6086fce89f354e23785da8eb2e538a4c8ff972267a4531defaea27bbc725bb21f1270d7a3f2ef36d080270ca2a6b2967eea00990768e3451893e9be087be39ea257e81dba277feb8a6e9682a713687c1c6472f1c25b05f8e6e7cabca1a723b62c1237612a91decb1995e6be6d3a9e8f42a1707c18c6be17dbdcbe15f51c06a91b660a29e646c24387e9cc175bcafbbb0c85f1b4468\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 175\nct = 23b5e46e2ded0645d516d027b3dbf14a205f9a17e7c31a4581675f73df450d1c6621ad0234dd48641c40a09a103a0989fd394acce8dbc986d5dacaed0f5c78266f89a6f5758ad4cc9e95d089942840dd69f35c40418debd16c262fa1871795187081bd28f53ecd97734f16ce4d40ca4e1cca30b39fb7605e31a601dae6987ea2b9038e62cd5299cf32d7e9f4fcd35701a33173bbc5d74e20d182fa9ca8329c723192d2a7ef83a0e50a71bb2f86d5785697935d27fe3894f772b9d35bd7dcd0fe\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 176\nct = 9afbac33c657756d3c29549a70a13130dd8a6b3f34e10b0f600832b0c16119f6f3286d9094d0aa2e5ecc51f25760679a2952c1b39750fda4d5bb692f24ba4a878b34bcdd57b39049214e66c3b5c4cbaccde003ddabfb03ded6abab322da48008e93e4338e41284b5939f10120893d1114a1d9db0764a4221b9c9c7b8e043cecf8e4d9dd069ea01def60103f0f8c78be753705629cdf2a51ef8a17d6f3741705768ed1235c7d7b670829c8cb6e09308624a4677b17d57db131e11b0785c4671f3\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 177\nct = 18de67c13961157de2eec683aa3c19e774bb91d6188f51bbe13c5fa15ade171b9b56da9338b6de0eea3faadddf7f435b8982ba8f2b43ec1fe7ba87aae2f5305df09b77935be64c731f2873fb74ea4f1a23ef8b35c60fc9e43cbfafb2a23b0bed08add52b63bc2faaafff20ff76d672c6d0922d1a293ef815b6e67956e9067748b41185338015a23812f0b118fa58d6c054eb85568f8eed0984ccf58872b13cdb751384314326bbbbb5b26a4587fec95f3058468308e524084e89648b0bcb321e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 178\nct = aa6572a082543c2d16eb79d0bdfc777d07d7ff35f48f83c092f2470eddb14c801c8384a83e94c15ea5da87467dde5af6fe5e8aa6f8a8f6545ce772df29a5b6607803f58a13f973bf6bb0afaa77a16eec17db6761dce5fd66ab9f70ff3a6d43c156a5875768f34f21d00c32f743823e673a7be8a763e47d0f1853", + "1e9bf5cf405580cea8f70e2414f5550d7fe5ffb9a63c409747e88ebd52e64ca7dab26532bf3ae6f4248ce7b1b532382e67f2e93a327daddace1ebc2a2d7cace0f5a9da13a388\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 179\n# Longest valid message size\nct = 2d3618dac929f5e5fadb7a5ebfde536e77728ed6dfdfccab0627b9e80fbfc7a6429213c2e2ec56fc8d65894e26c907b06790312d09103e161d64393d290f0bac005b671730059364e690280b9f8153699c05b3e36910ac508c71048a444cc21cc32a630c1f76907016c659e10ee02645e5a0742241ebd6e731bde0087ca61bead3617d7dfa0134e8b9cccdbadca319b62ddef03c0ed8e8d1fe7422bb6f11125394b1d013aca78e662c3c065b0a236ec9f3c27c4feb6554ff8385b8f8665d0d7c\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 180\nct = 0124e2c14688e3236e0cc2f7daf336a781b10d13b3448456611162cc93f952d02c69a87f4f31b74d6e02b282da66b0331dbcc55d153a56ad4fc159ae87a65786c50018c2d0cd8568653e8c7135c8a2ffb8ffd0b27143a1be0874a6167c4b2061252836f0f6b92cc7c189c77aec3ea0b9dcf0be5c3317487c064d52ccb5d7e903e1c22686c8504222055e696d948aafbbf4155342aa3a25b97f4409ca9652370f4cf958ae07f19f2130822a5bc65590f449a8f75f620f9c23ef22b16479dc7ec5\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 181\nct = 26501dfc7c2fd13bfe3dce246e3d757684072f08bbe9f6b42e86a86fa6879a404d4ed2791e64dd41d79537242e3e243d7f36f065323a66e31499fd2bbeaddf95ab38a6f104a397552ebe99f220d5e9f612ae5646abf2961cce431afbdb2cfaee6553884aeb8994caded204fb83bc1152573295663bcc57759b70960dd9e7570e5787a05513f3bb2089b5494f4f2d4fdc4a8e06871f103c97e11a40247a7f4ad00be559060c8918dcb584f88fd842464eed8a21b04881d197cf6de5ab6521c1b5\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 182\nct = 99383c170eed1f70e58edd721f194573bcaa79e84aac4c73dfc0b34dcbfbbca5bd66e3556c9d47059f191d3854f778276d2317428c8b4c5e49ab6108e6fe7bc4ae9dab671963e1201b937c40ffda8fbb68a895c6e61f0a67a653fa3e47770abcf51d81116fe8c5dea265e8cd18e7c04d560745c7733e9841e95e162cbce2298672f170ac8293ada9c8d79b1add2629bc3849a9856cb6ed47e881374e515705ca0689686a94fbb7e771e6d1e2d511bcba8e78b199f1bb16b4da05e5846a5d9136\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 183\nct = 6a20051a447548048b7b82769fa5c014bff46d2eb41d1fc14623fad0b7fa16c010153023db19c7578a4bcd050a3a3f9c2e8828e9123308edc23555a9f21c9b5392107978ff27a36d2d06c5a445bc3067beb221e0734fe2f8d2604cb7aecdbc439216523402f90c42908f71fea008d0591830ffbfa965b7b51b7156460bf36e6f18b6a760f658b7e9d6dc41872552bdeab1af17b052c1e3ace46badf46000ed9bdb8b019b68cc61589bdd458da41d257e0526828f12e4eec2e164bbc8dce26032\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 184\nct = 5dd9616822677a9bb429020a56d2a6508f829183f114406d7f061546317e10aa40f36f650f8dfd9bb3fd5e7d0e42703c6961b65ee25327c78a3c8b188bf1f9830d76e48eb46432c842ed44ca66d0ea00b6e3ca9840cd460768cfc54099ef1e85f8b630bb942fb491976cb71051b0112e706ae8de4503fc8c1a67051d6775f7db7433de38bb3c04e7b8c789d2ac0c11916727e767fd6632fcd61fe20ff7c6bc0393ddd882d14f666bac8621ad23cff64f40cbdaf2e9b16666f3d1389325a9374c\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 185\nct = 9d9a0410fe0d8090de98afa56950be549bb2f72a0d112f138149d0d12433bae72b0bb8eae0d38983be1b85a990d0276f32aa683ee3d577421d1de47e100f3064d4893521bbd6ae16761fdbcb8484305b5bb0a7ee84796628b93bdb0923f6aa696bf3f62ded5e9aa26f2a59429b8464598f22aac6cb2647d89b5016a95fc7d259f141e9374a591c0fc3f3429a13babbaba634551b16ebaa0b466138ea48f392fc9e0b39032568cad870f3195cd03f2db02adf64896c27c12d8083ebd88a1b6c07\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 186\nct = 97b3054cc2a6a3b24f55bb8624802ff80126e79d6ed617dcc327e4ec5953fa7d593c10a6091bde358ff3548859c6fae45cf9b951a9768753454ba99ce090614ed64407d21fd824a537208eccf43dbdda046ae1e417701eee92a3d8f56145b4cdd86e912c8eb2de56364159e7bf3111e1c7b9560f81c0d0154abd069f463f2541807836d69e0ecd718582ff732c428f2f06f6125569742d3a9e18e73230d54326b6f4fd4807d85bb15f7ae56ef93323f6f527b66133e0d01313b859ce78c43023\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 187\n# Longest valid message size\nct = 9f7a8f81c4093ea7487f99590297571c34df30ef74164fb0841866da408c7eff1ffa479cd8698c37c0ebc34061dfe559270d6c5b46fe4e4bcd419951b6e5d21dbc390c2f53521e958693123cd4c785ca50204aa38f9d8bae467a03ed523ab54fa5e1ff1c0e2b5608a8b3de823bfcc598a1b6e44d4b4e33a78efb371860f64ad2de0f6a53dcda572f9660f3c6a1cc0baadb0fef15f2e0a182414ca5033993eaff99ea8a2c6836101e65f2e460f838d738e61fe78df3f27b4b41379e6eab979fcf\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e1993", + "20d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 188\nct = 831eae38e44804990a404bff51d03afa5bb2cfc40a6e7c5134e2ebff6496c9094cd52956e0f1ed94e4c2cc615a1aaaf81c80e42e3f35559d086a3149cdec76d25a32fb4b668f0d522815ddcc76cd92d5799b7b8669c4eba765ed535483ac677258ac09d2e210aacc80ff753794ac7de842831aaf38b00eec1c70e1c7fa11900a21a87e32b70a01763599c40324fb8013e9a2a69c6f8b1a730309015fbe9a1c953333c92d04a271837946f87c09c51949c9fb92b6a2ae30c8fe0ad1208dfc817a\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 189\nct = 51d10c297ebdb44888b3b6c7bb55daaaccd9fa1178c8fbfd02d5b1dfa0cf59b7db0a115bbfa7cf4a49d9ea9ce72f12b30efd481b6c98924ffd2997ab7de2b3e600820d3ab8049edf33b3ef322321ef025a03bbd5793fbdd443d0b7b03723172e14a0c3bc8963573716c9065ead860be3ce7e83454847519daaa8b3923c4eb09c49679c3326940929680423ee5ed511a214a60c9b5f071830c5a0d0c46d34786f9c41a93deecdb9862f2c14c69938521d7333aedbfd76a8da623c9fd01290dc1f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 190\nct = 93fcf41c0e9a8798bcf599a091bac44670dd9651986b0330fb519b7214ec7f2f5a7ff43245f7b050f421008d812ef807a0d2b701a53ad0f99c972dd56786e8afa7d51e0cc8d3665a5259a1e2f1fb91bf5971ce8bc9b742b8285bfb96b1e3865e385504deb9d83d4a3f871058301a05d54b0d6ce80eb92b261b56d896f8da00ddcbe9a388bcad71448091b0dabe2068f574b80440c95f94ecd7686fd03fc8497f49731d341f0e265aa8d867244ab3996a87cc71690104cebb54f60a45aa52f8db\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 191\nct = 352ec846efa34eedb96d802ec90c7c7596cffd3303d6e33735298d1162d31e9463257c9f41330e69e13a4937652f5f751151671f1bd9a82cd55b3b509ca64b2131ebf85da0028ddb239c660f80cf5477a1d614dbafca46a272c5383d36d040d18e752f27d43a905707a6a5fccd8905461db7f28920c55f5110836f3a63fe6c5f6fb2f4120f33bd2acfe2e878c7dfc8ed42a4ba8ab187be68feece79965c2e5d0c1686db1aff309e9a095442536ef2e47ea78825d82fd9662d5282f573e1a30f8\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 192\nct = 9077c829377589b4df66cbb41493565a563400bca8e782b9d3ed0a7a5123e5c84e2ab4a048b2e2e5bc29fc8856da39ed68a2e314c8a1460607f2ff255cfc6985155d968b8fd5a5b36405055f66402d58b900eaef1bfb62d77951a3232cf36d988c88e0014cecf7a086dd9bca9f1fdd21a501e31bfd561c7b8dc6207625c43d4be18de810c0e73c1f1033f59ec037f9d3d7ed0ba54d9a9dcfa0d07e6d21cbf732e5ccca473ea5573a5d138c190756d52617a01605e820155676d4c213c74f9c3a\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 193\nct = 23ba04c8613b46446b7fe52fd271ee23269111c79bcf7b74945dc9d453bd19fab4671a3967b26ae8386278659bc4112c947714a6648c91cc7a7f5dfda4f67923454758316a311c22426291929e389de5eb813212368f43e8ee22202095e2f1f9c57e50c0b63a1ef8b53269a67b41ed8cad086afb1ff5836fd864c5f296a0465395e71c48a98c31d62e647f048f91056f890429d4221ffaa56af2a5b76d9c323026954bc538c455df46dd2d534000d3dd03b3ed50ff5e6b06f96b76690eafb0ab\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 194\nct = 10833e531676b976d3161fc9795ee31b7f915646a4aa8c1642c92156b78af9fec8c41b96f3288fa226bcd112dc4116387be48a9e3bee33a4f4e219c406845c01696b6f092836b6c72ebc2a8b345d9423d5b5671cbc5049f43be82a5f73f99eb8e4717235a608f9ad7f55dbf4d7a7b0d1547ea1e834c4483793ef0c9c496ade235cdfea4fa95ba39639e0d189450c0c985277321b017bd258a5e86f2cce8ec3d87fae77983bf66e9ee24eb71476ed79c5c4c0a2f34b385f37c3e30d234716203c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 195\n# Longest valid message size\nct = 0b88aa2198701e9ed1efe32ff4bcf4aa9c39e182079f5489127176e70d32655292e86234c3fe8eaafa326836370c96073444f4af19a3b7db24554fc95431dbf2a4f68156ab363892599f02a2249b476ea8d153eed4c0c0eb922f5ba483a4350c502995f1a027856021a24f649db5cdc8a2d1b8d9f7ca56ae13f641a23bbfe590c77b1c4cf38437fc8d2d731e99e53f327ce62cfaf71d3969308c559d032e8df5658a9ae3ad823a1ada84061987b7004696737b47017860e9ef555196e2859dca\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6", + "b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 196\nct = a506436a04acfcd6ec2d868e78a4fb28fe6fc0dce9e79f6fe04535871968216b73462a3c45837c853bbf39d84a9214cea5ae8acfa6ab6a0168bc4b05c5b6c201564492a3d367a69b77f6c40fcbe264f6641217d9a464a25fee906118d3184959c0db47a888a9f398d2e455cb9f4d556a962aad67c20a814967312a3654f8492493e5a8f1d8fa982a99db2dc079310158a8a6cf694dfa4c447fdf9047b5e6d328ba9151d4fc11a6904918b48441dcc9bf24c77181ea87de3ab73394576b248503\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 197\nct = 54de8d4821f2c8ee52cb7ccf8eb04cc915f7934123d5eeaa84e64ba3a317a28082aca6f76c697ff96f36fa5b112efe464ae29be917ec520fd6ac66d65ed44f5911d627141fe07561a889891d9a81d844988fc9dcce1ddd6c280ca1b8d4d756729f1e57f1adf15dc595d7c78fb67bd7fb073fe846e350922f8521087a0eb648a7dc72a65291cde80489092729cc6c462ae0d05969fbc8445c2fe098374cfb5687e36130a43d87ac57d2322c383b0b7e8674e297a25b6c27a54660b96e10b26bc7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 198\nct = 404ad21db93654d44fc9a4e8b6dbf1f6297bf07663f673faf4f39db80b54d12e7bb81281201e5b0307868e2675ee21dab6f9949d5e172afdfa327da28a37564d1bcb7d1b86abf3e57cf8d83b634430b1b5931c669ba253c683e16aa391447d3e1376ce909bc670fc5d86c461b9a95076876bf60733b20cc300e5db74ca71fe09fd96d54fb7762833b07958081dacfd5d89a0f0a179d8206203a5ba6183c399b2218ea934cef9171779b1726018d25ffecc03d6b4ac95117ef42075f7a097e865\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 199\nct = e5c889d86b3f6860f99af58fb3a0667ad73f7fa3e58d1c5b18eaa61b836a046c76e956796a889076c04a591af86362747f263399ddc78a031238d1c44265138964e939de27e2457962ddd7ac7107fb08b613eda92d3da69bb9d52976bcf643e371daf7cb0f7965261853703e39e734b37a29380f992dbfbaadae2f91a9e3ac098fb275cbfc552c8ff5e43e3ceefdf3e9900c9fd7b49e7ad62d5af34a6a98bd35e5362d31782ec78905f61b386f201ba896251a8c7d4616b0cbe013d0c8d92bc3\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 200\nct = cbb3c916ff819c7fd69f7a2bfcfdc8e2fbeb5ab286908cc193151fdb7ab607a09e8e9086aac66f2987888c221a68be70228df30d4499aac7ed2816489ab39ae75f972cf76401650fdd3e1fc952d9abbba593933ca854ffa0df597fbe8847b6b6f0682a9eb02d08f75b1feee7a13238450d611bb735dc017dbc1a3c3936e1c1687f6189594ae79887ca033e0e0a199e18026ae7b2161535050754f2bf47506297c1d8ef8a28a190f519cb5607c1af3adeb14a0d423a3615a32e67a52bda728e81\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 201\nct = 839a7a6a7d02760d7644549d53f3cfdf228a93f2282f36188ae79eff657fb927db6e07ca2905fa1f068bad1eac7b5ea3043676c172b5bb046d335bad80c60095de500f203a71242812dba6a99302957fcebe8cb4c61ba59e00ff9ef26242e488337543260382379e067b38d1b17b073d64ea52f3756a7fcd94ff37331c6e5fbd1f308f3d890c6820517d7de1a6eacffcc9a524a3907f1520ab089b1473e0c0638c0cd583037c091b3d29e4b6cbe35b166e6d6bd910297b77ffda97822f8f7a72\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 202\nct = 7c72d9475fafd0cb66263351e6a82ca17e7f36c9c09f5b0c25ec901ee071553d556e4ab356df9b82a7b5085338ffa07b3a33692218e1f369b7160b208b01c35f35507271b23450c6637bfbe661abb02f94b75af2f8a1e7678e115e16c59d5529e7e8ff9756aa66a5c6bf40d447239431bb3b7f17d514b11a2825c3032b7937ef4b3b8b477c367051f35842340cba2b671627c86143c9a64b33592934857a4fca2db8f5c6e52a62b72bf34ad8ccb6039e28c29e7ef3144bd45c587f31d72c7bba\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 203\n# Longest valid message size\nct = 29d226e59a0ad887852837b19c9056c268b7e091d767a5894a9cab2ba1312965159c78f3f91fe4f5a54dc403795b9af64721bb62e8cddb488fc73686b116b57365c6a56f4069b5eb821fc4a76fa02356426334055abdd440ddd77d1da366ea171197286dd820f87f143c5ef1c1c36526f894d3c89699e64707de23f0acdda26804b0c64362be3918f098e767f888e456e28d90e85f08d2c8e60cdff0bbe4fde51db7b3fb947d29d7ba05ec3a891ea0e9907f481c3321c76762275a32f1f94d7d\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 204\nct = 54ccbf75ffdcc53fc0bb159532835950c35afb43270c0d0d2488f6af166a7ca62ba6e1e917ef2b99a4c2f3c7e221df97a9b0f59197e81e9126dd7ae6df8ba651add4e52dc7152ee08e194c1108bc18e0b2d84ef21c7ffbe860f66f2bb462a8ad7416b47b6c60b97ae459fdc7d681dc22e2e7c06eea637579e13954a21bcaf1cfe6cb", + "e94e7156b29758bd96c3033e8869ac12b9d1337f9625a35369653455a4a4cf5d4bc160c27c2634267a97d5fb617f3076c3020ddc55440d949a9487f2ed48\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 205\nct = 6fcafba9e9d9fdd9c182eaee143fd2facfc75f64b21d8b584d16f1bdb3f1a3a826a4c8ac3604118ba07d93c0801b0e53189e43ef42eaf1386c3f3f0ab762061485dac5377abc639bb6261b5402987f6672f7ab929c840cb1cf21ebf6830e1e56dd02e220878021c3f2f83db8f71a92aa984ed9c41b9412562d2e513760b2f413cdd27cee382ac483daa64d03df3b6b62b6c85e01d4254653f3566493fbacce806fcdb52acd6998786e58e4a68f737a224607da0798e39ad431417508f3aca991\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 206\nct = 676f2fb413ca07a9b6a6b247afc3182715a90a0ecab970b890f6b3c6d64d682258fadc9a35601425e943382d48edcf816a3526d9ec41c679a4bef29ba1b8dc41cef76c5b0c7152bdcbf711925ca96e236e230e0e62aa8cae69799bc898b638aefa36ce42a6f38afa2796331cfdd12c4c28835aef8d43206b1b2872f18d1628c621955321e270756995b005f3581cd13a971d51d0549a789149d0654cd75eba6a0872094f1eb19977cda9c41ba6a63cbd1ddcfd8ccbaea2423c30853e44cfea53\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 207\nct = 22280bf62541ce38e08a444a96a7d7b03242d019c32c758461065c1268c16df33c8c1e56f3d59df56dfbe2fd5c3242d6e9cb2957662762e8022012cc52332b234880b146d0583537cb99c5884a208a759b97ab15d6b9d4e9079c4d389b1255a2aee2e71a26e9e451c96697528c34e419dbdb6397d557e639993c360d5bcb16fd06dd5730cd6398470b66adc283e56a69ddd066046de6b2dd3214ae7e606a630bc86c5c4eb6a48961198975ebb4182fe89fcf5c970f23123cf7b8d83794b215ef\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 208\nct = d5d0734dcb30f0b840c835999da86a6ee5484c4f26943893704ebb641ad29f495d1f43253355828812469024618c9e840aed1d2c1b525e8b913d0e507e4fec2b4484db90c3bfdbd6e11dd67ed1153301e60dd8f23c8880a2c7c6a20006e5e34c175bee3f1a96fc89e48ffadee05267afe12fb459c3ef9209cbe65d3784fe8fc0d7fb1491631ddaaaeb6fb9a2fd4db2842a23ecc44fb52fba72f2846b05c937bffa590bcb49794514b591412cf5c523b30fdcf12f8c84f416d94c6b4a6dd20b15\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 209\nct = d3f4bc1c55fcb63d83755bbde4f1ac0c1a7b910cfb9b4ba6633d7223190c0c2a3b9c8ff8d148d29638ef3eb46c215cff6926877f806022584826d397f7f08dd00a621faa8634976d5212b9b9c654e3e0cf19558eeb9ba1993df7efc18405a2934d8742b4fdb60c902ffba7196803478d7fa7cdb64ad631532465065f4d04a9448a3f010675bceb085151a1720bd9e4e04a00bb4d592090358f12aa8d675fbf2e69f53479a430fa4167e20f12f353238c18ee092a40ee69321fbb32f00663f280\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 210\nct = ac52fc65d0d019199977c271a5d96d81b7d942c2272ba8e2b68ab04f0a3ad8be2059aae9b82c79300cf59c6d2bc517ee2397291d68740bd21967c2c3dba7b0b025f180abbb2f5f4b6980f93ac1f652c220079ce316ecaee502704cd2198c02c4863b7f08385b828c52c6b396f190107dfb0b4f218616038ec34a648cc10a1a8881892aaee7402d70576ead0af64c995f1ee31d4f144e793b395a692c113a7bb0769e78a9b3ed1555129da61a0ca13210a1c7a6a3995a020a8d4f788793594367\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 211\n# Longest valid message size\nct = 240b2f6859c2dd4c4978a2ea2d239effcc93ba1e6a5eb3c46d55ec75d6bf081212da33e2132c3804e203f801dae8232e4cb46ee039b2995a16578984e84e498e6e8ba81138d5fea8e33b5082602a5b21b5ea40a7e8e3f4685093b50fe4a309f1c563e75912169ea85775123bbd9e26f30eb7bea5f82c7443d1d977eb3b621fb50980b2f3690a9e50ca2bbbc9183eaa41ec2929bda7bb42b30a9166ee2c1efd2758f09d79e082b531a4abe22d4caa182a915d66ac50176b7e39e7210f77021b1f\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 212\nct = 8bc854413085f56413ddca8c298bd7e0d30854412ab22f4ebdf4f9cd201f60d02a0bbc546e54492402c71480cbe446450420c29dd9800dbc127dc65cb4221e8878ad2f0bb672587695b750adf1f4a81e722b9663658fa346dfd3e5656b4f42448df5c260b1f4e3cfca7998589d5af3d8beef35151879f60149a1de907b2c961bb817b99fce7d5397ee25c851d4668eb2722359bee0e490cf6b588ebf7476f9cc22d767829726fef280197738fedd68c9e570684a8fef46fc1d77c2f9a97bb381\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 213\nct = 4b36fb633e146fc7aa7acaad348406e5d136e50978757ca6b8b29755142eb71ebda7c997f355f3f965171ecfa44dd2fcbbadca8f4dd5f92e7538c4a490130fdde31606f2909f4b1eef0840e5811b0c1e806f739225ebc66ff06eed8f98046375901fa5b9bfaba3e010f08ec327819ba71803d5743680a24b2bfa62745ce778ca3aa2f165b398493707c3e76f3385485e8b824f16b5af6546789d11eee1a61067aa0a2ecab5ce909749bc5f23da9d61926b2a634b3393fa347696a9b1aee97366\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 214\nct = 1c7a0e137751340059f5978866031fc45e8c1c2ef0e763c235420b7849f7ff5a034b47fa54be69e43e779805170ed498820dd5512a2df966c475615705e05ce71a6ebf819645f69d061eb3fc9a401615543604679c88d4b391e710db016fe8483fc1c7efba029a6779716418b83beecb399ed1c72803be91809128a45fcbe1c73a636aaa36aca42afd56efe144ce4eb7be444d4cb6898f807638e8545f52a5db3debb05320d8a9005c1718c8ee8650107906cabfe09ccfcc5ded32d0fc8fe861\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 215\nct = d57f56e095361d00e7feeccf64583204224c86aa3c5990cc3dc12417abf0330b0c7b9c2e114ff065f309204047b76d22f7f79d80d07cdb7d6934904b626bd34d9bff936093122cecbff54b50deb8580a2435a44dacb869455ac48763", + "73795df08d11ee857559f19adf8a7a86f3b9d30130b6c3808ece8c6d33415535bedddfb29362b4c41452dd91b63db803b8a32a0ba4388d095cf55d433f022f35b05d5db66d94034cd925f0b85da7239f8d1b02be30da7e5da2a05444de7dc19ecbc106d5\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 216\nct = d9dbf2e9dc172975b315863d49f9eb784ef0438b7acf61698061f5fbc77aebdc7220c08f31e6239c0bd56bce42d2105840653d29e3c9cec65463d3f8de25b3388a6b01ab5d613ced95cfca2700f8f41785147041963a8c4579e35c2e6769e3f2e12c24a02e25f73a9dae6e8504cb49d8fe23f1a0ad9feb08c5ed36b40c6b18680004c29e9a79cdb190347214887d7979ca422275f9796e3744a17137999cf64c03f39a9dd033610a27a10059cf3bd0d76e0158f782f0c4b060fa1635bcc1219c\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 217\nct = bb25e09327e96c01a1c8bd30345228e6907fc35d10202ad3893b55c5a8e0f0255bcd6d0bb66a4726caa475487ac617bdd097d20db726a399566399bb1c2771cdb6dc0941d3e078183237a2fa42b455807e5f7e52d74410042d5293aee73cfe433cc7766918996310a1049eb3a7713f38169f184a237816e5687953a9fa09baef2ad2ab70249ec5a874276bb39e1a598fccbe0379237d5f429adc6885bb35a808d6bfa4f36e9fa78840b9d7b906dff2969bf560a46d7209d6d6196f64d546ade0\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 218\nct = b800d40df704b7b1667c2ecaf29bd0609d05301a98a9dcea75b1d4fc27240967c791244bed1c81f099dfae4f9d4e7424174bf2deb8bd1bc810afedc5bf262ebe8a4d20d761adbc8a3f184d91e609cc60a700e61684be6bd4d51d91041c32d138438598f0d4a727f1fe914ced15a91d408640a3b8c4e7df56e2e99bcbc9826234848f918ad2e5b2a83982f994d293cb069a5356c06a6ab57a9f41739d3c0396f429f15945cda8201827e46f8ebb40b71a61afd5c79fadce592c48311b2ab38cea\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 219\n# Longest valid message size\nct = 85f7c897a568f295452890e7717d61a6d1d9025f5f8538f346c0e82e3f15c15db6b39fbb1ffc5bb7f60885bc9be5def2648e9226c0fea7b7be935fcc1f1743eb2758fbf1e2a01e15d1f637001de9b629d7e5901c7f426cd3ad059bcce1870721c0dd2641c90afa23f30df8780b234202d14612a2e108cfd31b268678334491efd55ec22d27abeb734e70b0b867afee270f0f08a216f01b8c98edf2371a25033915ea32a4b48dc6eb80706c4558debe32144c52dfe6e2063514c628d397239cc9\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 220\nct = e2c7daaf6b2f1c6a1d26cf35a6660672948681615a94bccf88ba0033a00ef93e82a5af8ed0acbc4e51ad6d457d543ed2ce54a2c807f4be6a2bbafdac48976e42c0703ab45f58552e2d927cccf96ceaaffd4fe68d27062a7cfd1b42f2e69f804868bcca6936d82191b236e44b017c07df4717a7d6058c953b6f670016c9fce9e410e6d727cfb7e067260516d98db2d6d73d0d107768482cec731b2a2bea3a8ab3f706627e193993969286fb0b6f57aece5146f7c6c2d8e94c6860866210e1aea0\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 221\nct = 764e764c0b8f6a65cff3b87d0a96c737b6634e83b3b8b063adceaf7e8cdedf482bead1912ac1c9611d4e75f61774b04936a3fdcf522749ee99e2b02fb12655195c8d0998d841d54a1f8c8846999ad8b66f0c5f4d2f90874c6fc5d09cf85574f58f57f4d33676f57f7628acb0ed3c49d691a0b5f6432ee59fb0a329a7af1d7a35cd891913553b7ad5d974f65a40af710f468ee3c0a47800d866ccba3dc875ce69b876b4db4be940d70897c0d9d0686a0f6c70d773eeca06f9d4f84921580f5d6a\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 222\nct = c749cf63a0cf5b47bdb31f2ce10c7f89f133ac2d3b9044b47d83b35ae725541e8a402eebfdfdc7a452d033dcb411785307cb8eb85f829cc7ae6a13691aa97c8a053474778548d77b447cf33d54a64c9c8a20731047b78e70570066afe1043a02fb6c72f31a71d4568dd21e9f7ed813dbef13ac28c10283db0a3da49f05db4257f9da1f0bae50a7f7ba9fdb23e35b2fddefb9be4a90f6780926b76e907a0ec4281e0a2e7fec58e949fb4666787a64e04621b1d8023706fddf9251ddf1292019e7\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 223\nct = 7fe268ebc95b465427d03d0e8cb378bf5a10097ca83b3d06fb82590c0b663d921e6d963661e185918986f37ca49103df1a4fb364f12b8b44ff18326aff3f82af74be825c96445a8fbd11760eebbf827d476e3c0e1210f6c8724a951c1bba62860f581f67a17351a1dde956303b2de156d0a220de90f65943b3fb4ba2741669411cc9c401f5da334fdd9e313ac4d78eb2ccccbbc93a7ce57aef0dd43dc68555f10614f5a363c75f79a4b662ee9dfda82a8d10bb76fc778227b8faae92c0ef6531\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 224\nct = 48dc99dc2b5268c770ecb684ac742d4bda236fd9271c307922eced097f35b2153f16b7bd6b65d5f3ef5fc925a2a59266060047d40c6024b720f7c3d2e52f5294cda9ddfad6e2db3960b23399e6788f270d31fcf3729bd94529321808e49d505260dcda47ffba41cadb830bffe84ddd74bd10668c6a63015184b20934d8d70dad43125aebf6401fd2150af8be22a90bf34b17d37496b156325bbce97145659c41e81e58d3adc90c7b768122ab7b4a820c2efa0796fff6ddff2f76ec8c52979607\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 225\nct = 70c36f4510435e610397f00dc68f1e1ff9fc8c9eb4c11b6d1d59da64f52972a3fd647d95528269daffbe6dfc2c2708de780f8258564fa303e12ee257bf9b98bfab74795fefdc608f82897438eb07bc3909ee22044d89c2b288f81842471675e9e497a37703497dc2c1f1ed6e23f7937ace0fa641beda18411a613fa87db3c04cf877c10173a1be6dc6852b6427f4664aefa0c8b55c4f45ecc66ca2672b86da5d39d122686218bd939607a9c5d688f2803eef6a913a923a9eff7900a397f1a9dc\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 226\nct = 7e92ca09717407555ed06baada696beb8415d717a2d2853b55c17c5f858055abbad7111e8f06b610e14b23bd2a447b1a87994327f1506cfdeb2c5a5b4ac6131f", + "dd1902a1b5dfe615d6be46a64735240fea8caf71a490210f456e075b3f020fedd3c061faea3dc54db3e4025d37c6cc6762007a54931fa2dd8dfb73e149924782b30183319832b59ffb4e78e32302763c1e5db469a7c8eb8c751eb99e761f6970ae823db15093782a22ee20b2617256c183e58d2e93f3cc07560550ff9543aded\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 227\n# Longest valid message size\nct = df1d0c7b2ef9a483d5dbf207bc8e5e505eed61fecd0a3f6821126f666f257c83e40440ac85badcc89a5fa86a1e157e66373848d05e73afecd6f8c50f93b9be18228a6ecb70fff5c115e18d7ad970cec99d4da6c41d16946aad5fbeee70b9687aab676e66f5aed5f03b6e9768fef013de143535ff81723c06332705dec42555c09895829ccb7309a67da8a237ba8e708f728ea66f336ef4f183aa2439d9d89837b22d2546d35c1a9476d6790908e1efa1cd0a1185a8759ad1df0d2a9fbcb1afdd\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 228\nct = 3a1d0cd0d45de7a425a757a7b174be121ec8ceee30f6d04f8bb5a43faabe4e5a8234f1d6737a52c2969f0fa97a065a8d325e16f224511f961b7090ed628b5e9f875b90c7297ec211910189c96bced34296c9172e250feba6b4a9e84cc84ef9569453d4914f5c760adfb31349b3e29c0b8d0e26b9d2dc6a8cc6eadb2534cac6f0369a6e82bf5113b33867a61b0000727d24dfe34d8faf687448e58599660ffc064501f62dd1e65469d1546d4c7b0677ef8b8925a884d6ec20fd9780e94af621b0\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 229\nct = 2c73536f345c03c78ec7508e07ca1b9040f23af17e6ac906df9fd9bcab68ef2ab0d6e1a574f141ae514156c579f1651be23762809f0e39c87df3f4411c559f04cd93c9a53de94ffec71b84c2d83cd47940bb3e470e21478b7e9621438931148f49ad1e15f3afa2481d39a60709d1e78908aa0b748ce1657bc7ff7c0c957191efcb418af4a5eaaafcd0a54c75f2d9593e98182e9e4e317ecafdfa86bfb0cf10ca48898012f5d5cc4505c553e1f5d15621f6f79091786fe93fc43fb32562596be2\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 230\nct = 446ddf29c6b33e221d601899b599494c5917a6fd42cfc95398c27935b9248965164b226c427ebd142e0520cd5c583a09d8ac0fdc9df5cad3ff8c1e6d847857d2713fb12af2c98905438d298e89d934da82a32eebc6167f24e298e89f28f73481aeb982c8cc5c33fc18007884314b09341f81d14818b3dd649be917a297005f6ea5ff765f63cc903f422214af59bce8c12a10d7b9b9444d965cce7be00d39b95f29b92121d1d99bc8ed8b90a022762656655a82937b24268fb41f521b1fb25311\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 231\nct = 816cc61deed9e7688d5eabc7ee843db2c4cd4dec0d93789de188d37b8fa0e3c57737c6a1201efaad4319240a66201c02cd79d0dae280054861a73f1ec1b1db305968950f0bd18f3d110e0f4c923bd9de9591dafd8cffcc5a310b90049367476249e8303d060b9459d03f33c33a064521c02f279dff6be4d313da5f405fe460e47470974a8732136bbc7311d341a43b2717643c0b29a334a39f3a5a0550dd87ab6add2fd9c039b39c0980cb93b5fa761028771dd1c320e87e1ab517703c104269\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 232\nct = cb000b94767d09707d95ee30826f9c6e93eb6fbb1c22ff6f7b41508cf2707d236817fe19d8c50498f877c5033061c3e23c10da76c2e305e1606eec1737eea1d5484d898fd7954bb8c1369249f15552884b7874121b0075b63f20df04f8873f921067d2a7c340560d4f5cbd3ede3f383c18541b5e6dbfc68ba0cd223a354552db9e27fad7114086c41bf7e20a657d761ced136d2c998a75d343998a6c7e888e24d9d04b1a02987027017d43ab2e7273ed8cceecb512e51579458ddcb4e0464b0e\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 233\nct = 93e8660ffdabea1afbc2cbbea37b9284c56dedb4a6da2f45d18968724c0045e1cdf23c5138a2472847c1c0d4d59f45b0aa1575a5aa41663d214e190dde5a3c9e9713cd918377cda2d148165bad88d45168e9cb4902290fa9c0779310b0c3b0fffb200681f6abd1d2d157752b7b7dcd5bfcdd9c01a62e71f984d10b2bf747f744b87e7b05c1e9a28b46fefb615dcb8bf92fc70be51aadb3fb40d5e9b260e80add81eacf6bc7ddbb2448db31ee18e9e5a0bd9e2238b581e7797036d649ac340e4a\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 234\nct = cff37e7ca96c483f70a80106ccfc718ea8267fca48db9a530b6dcdf692321daeecd5e27217b4f78feb83b63d570b27a554579ac2b003decdc85856bccd8a991b0a8295b93944c3cf5c0c0d39aae965c1a95dc581d355d15bd6b4d74e9aa38a9cb4ac41bde2eb051588f20345e4936ed9b5d5ac51fc2ad2101152beae7c98940616ffcb7eda7c6daa545d078262bd9018075aa9ab661e9d054b868de2491daa092bad7387fe876d1774d0c6875c7c74067253c71a17fde83b52877c365f1a2551\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 235\n# Longest valid message size\nct = aa90c4f6651b5f10aba1f2f1f407239f9265d60c57dd3e115438b25f906c29d7675dd913307373789a0db001f5e4a61e3c36190d3c01c4991cb4b9dc407d2f3b410bb64eefcac571eefcd0f66a78d1a57e1ef6893f55d176057dd90c6be845fd150835ef0baf025950b8c03eab50a93a420a69e01a14c94419cd09ff71c35cf8d01a6aebbab0f80135411179b4bf241716b4aeb35d6222a663f7c4cce017e55b18f9a2f49111932826da7d4a398efb04507239e5a7e611a065742d911e8ae7a2\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14", + "dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 236\nct = 9a017dde820809127357c27c60a6f74742a84655a84818ca7345861a8ea91417b2a72fb30efe7446b2799d69b68fa4005b228df5bd3bf5bcc291a933f4049c82b771cc56ca54f6e8e1cc7bd5d3862dc02f45b6a531049aad09905d67be0548ff3aef2d512a37ac77d862eab112127f1a3510975fd73c9e3a9c833e910816ba2ed9e868bd1e1218ddc6325fa8d1a06c3b13bedef25e92f9eae43ffdf7c2a5066d458c3c01ff3caaea79ef301e99029320ccc77c0ff17c15ebb28ce6c08f68ea95\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 237\nct = b046864c3e5e204eeb92608d16c76670274f5547920069b34c5f174a43a41ccddbf770e5c7fce2aab7a4b18a45e2c2f897b3f63a9e082b7f027fa2a02cc0fefaf07322e46b777a069a5834e604cf5d45491601830664d844a506689a2f7299a1c443658e1f5691711d4650dd2ea5a14b0f61dac5e94e42fe4d58632c4400263da550c9407cd8bb19ff0f43fdfbd72560654dcb65db78f78f88fe758620b955415ce0e7b7612f70503e2ea4c52049d9d11b92f6721cd4ecc72e76266f3653767f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 238\nct = 2abd9efa29fd15220bd8dfa18d058b4307fbd6d81b4f6e74198a96bf0486888ef33fdec778d6c92f1b18361fec7ce8cccf7f024ac369ec0a950f5be30896fca31942189b7667eab4c6972585c5caeaae0c8f1209870e55df3f2dab1ffd3d9873b4a4107866a597a1e7a315367e48d79df0fd11bad1e4cc20935f3ea4febe886c411368a2567096cd4332509c5ca20a3809890d4cd3ecf21d79f2842382c398989f0f63668aeddc7eef4437a62668dd853eaf96a0bdc02d38d4c454aea6ea1d30\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 239\nct = c21e5925b3cc09ae72d471c9038e21e7fe7704ca563868fb1b00123f4074ab123f3789ced5788aa655c93cd44d343c5bfb1c589ca57c35525a1eeeadcbb3bd894d68cd8d27d7405da362069117c5ff66f95d1520578e504ac431c3e1ce461bc57b4140784d56acb3907c6e2801e25fc71846967fe4b8bc9f8048f2e91bc33780a273bd83eec4c222dc7470a08c837b2b0afaa16a8ee42cd0c511892cc0ddaa5d97ec5ac32b7dacd5250affcde6eb7b7a69b56852e08f8767602bfcd0b085be20\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 240\nct = c00eff0dbe3860f13949b303419ec79257fcd41bb98498975dbf24e85921e8cf080071f4b99aa21e4aabfd7a873331b364578dfd26052d7018a879d9f236525f5b294ec37ebd7e5d9a6611eed6ce8333ae827cfc7e94fb61e407cef3ebb7f79ff2ad9b386fbfd7f171548559cf2267d54e3703314f1ca03cd7dd2e7b76b8f031236215ace860e78dfabcf92d34f1d7489322d2c80a73f9d9f4e203d74e4b505d375e1ac13655c00060dbb735b078d851b154745e5b0491b290e8486eec1df93b\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 241\nct = 245b6ab67e848879588b8bb511022d2bb6c5c03a86189f0197ea6996e12eee8a528cdd43f4845f80f84693d764ffd1a4d0efff462bf6ebbb083b6c2c7bb339a507c02548d85a5660584da838be695db7c9e0c7b0d5ca79347500c1381623f6caab249448d6dd754bf2ca301bd98946b1717f43587cb261be9a8a9e95f09fd548f99d719474d5e20be907aeef7f8d8ee4b3fb81d049a9f876c445de322676f0b21fa9c9cf814dc88c7bfa483e830d79df47da0a333f5538d3864569202148c307\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 242\nct = 4d0de66eafdeeba91c552a15112f91da7e04a23382ba23232a5b5e5d79df15474cde9443786a61649171c68cb492c84aee3f8a17a711e0de46f0fec2b7f4ef1668838dbe41e43e0ecb00ad209fe7bc4e530d75bb99ae8b69e5de5421751f83beb456bd914c598535239bef0f63a12e4b77633d0681ef14ee2ff33bd0a9a42bf77aa49c2c0d060ce49b5f033b821994e11f6f3a390756b57cb38deba8b0a0ae6a072b530cfc92425193e72e6ab28c86ec099cbbd3e4d47d3a4b521104248bc505\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 243\n# Longest valid message size\nct = 2e94cc0919948ff02b98567700e1f97fb11128719f60c70aa9df6efc5d3272bd9560d310ace4dccf4d8a32c89ec1f9f2c20a433cc25242b171ac3df86c74919198afe1a517bb6d346de7c25c2459166a42f2c4f126bd4517a7666e449308cbcd3be18fae107e6269a032b4c52eb7e4cef9ec3242c14932538d40c1e3c4e6531bacac6472ebe9e2a7e64c6e88e26ddef1221835d1ea5490a8c17378cea57c90939b56b458427164c8d2731960e9ec0c9fc990634761baaa5bc86ca31443ac6683\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041", + "b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 244\nct = 53a35a4e8219e09c8cf0fb26bd20eb731db4618f260a54d4ee5e0b0b2ca84c955c1754274945931a9097c64082dfe7eb6d43fe19215bd7576c3ac3ce1056140734b310a1e9d99a82ff5ee53de727aab72390fb6e8f2658a1e2f7b40f212a3cb01621ecde7b876d79b539de1a4ade81106d3193fe2101cba00d4d1cbef3e1c2aff14414ef63202856039837dc8308d4daffcf92f18109038508094ffc6b432736970a6784d59196eda29bf2ac0f80689cb0eccb304f4d46489f047c0357198515\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 245\nct = 26a4da7667d5e0b87b4c853a08693dea0c86d5145c1748c7b0083fc51bb4797b61a1bfbd569c42d99f608545a4aff59bd9925714e611386c5acb8e2e4365ae030ed2d048796a288d4f788bdb65441106995f1683fc29217dae6e3269cf7bc90e1c45e59e3bec28fb116e3b4be962cbc942fb7fe0d0641c0a9397c7521d088c5f977d631013d00d3a144247359c97b857d75d3584d5b885a15ecb799a0c64e425c6ba882227a10f2b73d518b7ac04bebf9ccaa5de8b891179b0959f61bbe61a5f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 246\nct = 091d8dd815278175e6b05f4b343b314e1ba39d49f8402f91f57abbfeeb98f3e1efa697f9c35c60c5f668491a24ad6af5285d89ed99cc89c2f4116b8cb6f083108bace85191f7a1fa49c2c37a1533c89f8b214afd7e41d7ffb7378bd00b4a86f92ed15a82b342cfa53796f3cd491d70d57a38122d5665ef399e8c69def6e8e8c87910665755da8ab7b3b2ef51b137b1418d931659cdd14cb8d8cfced3a007fde7f18ffad184f31f539ce8ad5f5b414a25363408e3a541601f9bc0730ad80727a1\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 247\nct = b2cf10264bb4f305434412de94fbbff26b05d6632ae0a6776f2fd510262d90d8b0c594a8560f52ca7b0041c840e8aaea98089f3a9b93ee888f11c85131b34713d70eab9090a63a982e2aebd4c9ea973a7b7cbac478b0270150d0f15342e451c98b29bd2ce203614a802d654ae726ac2af9181db3e3618551c7ee9d5a8d26de65eb193f03f69bbc19b0c613f72f0e9f2d64abef9941c7ee068b10cab7125c118fc53e5e3546cf0b8c9dc85ab56c23d3dcc11535b836f87320fb84f25b5d5d4fd7\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 248\nct = c8f2fc2cf33313f24661e41b2ec05ee9e90e52a39b9c1be7d7a8e3569fa8341ca5a7aaac6ff9139ecd334b42889296f9c9515ff569dc6d014a1aabdbc43de5e492909735a1c0f03b9100bd34936ff8d22e8ab35e9fccaba4ee904f3e7e38e5614d21e7a092fa0afc4ca926b66a20f077526e77d5aaa8572de2f1023dc94f8e0e4d47c85ed163fe8f4515cba4b6fd7a3017dd1c216457a586a17cc0f4369d1250f17000845ca8fc8ba652f594e89414d7dccb0f60c7901885029001412e592893\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 249\nct = 438a7bec05977e0bad0192b291b55c725196ff7f700a0ca5af596ee50814622aea9f5658cb0d1b95f7e5a8bbe7030216f00254649936f6aa71744246a1a96a84e82e8e07508c2e08a4e3fa6322aa3059aeb3eb4f18175470413f3b8f3ac70a90be952be258d1d48292967a27a4e5b723bec4fb4515ef6b2283685ae73fc4b6ef31fbbc99caecb732b327302294794164625807cf22d357786d71c9f800d142ec4078e10289de55389d6b882ba95d23635e3b4236ee00a74f2f56bd726f954ca5\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 250\nct = 56c3339e424183472f602705b7b89ab2b2e4de31b3d8c03955e76333474b9f4e90a88632c258cae99d0208258827cb78f9aa9f44ddf253ed67ab7a0ac7959eb8b8122fcf9272643f5d8e472d1db6c18637fc29b98d113a0d92c6e6da788fbe1f5ce18251351447b365780e962eb1776a4a9f55e66448fe6a2ee7b55ff297c7f971b9bb72ba2599fc0d638ffc51c7be80e19b47821db79eaea1309d88fc7d559213adb57a118e154667b977a905b948e655ed9e3f9baac53bc9164aefce09aa7b\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 251\n# Longest valid message size\nct = 9dce05444c25a92283ab284207c82193ef41b79b812bc47be3a24947b7d1d57d60633b1f9768752cdb316dff41611dcca4a6dd9eaf633eb1d09a003ede76f88423e70b2d61681d91aa8b8cfd33fd8b63af201f0b6c9ba632299c1ce39bdca80f908c2e2e37294f09be54b6884b54c029f4315aef052438522367d08765494ee34c971c28668a4d5bc6cdb8e31a59d20a71acd23724985bf568cf9f1e25b75f7e1b07ab2aecb98c7cf818e63c36e1e70791f34c2a656eb709f4d6d5d1fc059bb8\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 252\nct = 406b9d134e032a7fe99eb9d3a104b69c1bd16f9f412c14df6af63a5f352525718cb747c0fe46b201bc264035630d55c71c4d394f46ae734c1268fff6492283e7a6a6f53d7ce3abb1a33449a96d6ac851c1ee12907c7f3cd30b29f313bfc3263dadead8e2bd133f70e17da6d072c1e4adb54c5bd75be0cdb4cb9218a5fca78e8009876370e47cdf312cbb63f1b309822c7c59f9ccdc5e21a3b5cf04a9a25d7470581a19f213f8d3", + "6c620cf707de612342dc0df1312ab706570a2e19f8f04f9aff\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 253\nct = 84b19a1ef7c2e36b572d021e64b8ce2f46cc6867748864ce5f33708137937d5bca498a4dbf84215ce5b0056c664a1ae6209fce8abd1ab219585113ec393219a5ea88d987272c2341574eab54bd1e4752e2396b38b0f4d198b50a148d014c91f90168d093ea8be3fc68e03ea7fce8c9e813f2232695f1c9c5e95ea86573f7e93ff19630aa2d06b81f1c9af154984c87a13df64000036fecda0af7c076897af2c9e8538ad961e2752b860dcf77fb10c818d5c583663557430b46d577e039a88d4f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 254\nct = 16f18b718d3a96b83eb496fff56f45e01ef776609dce62208e1bae8e11f6ba71ff4a90f0194a41d9221fa6be48fa1e58a8e6d6677b67f4d3776b889b1fb077eca69eb32cb018b5856f96ae75eeb91bcd7d81e7e4d53881e4aba2c0055c9b99e7aa46fa9aaae35811448b22691b8efdb923d79820ed18b020a59d2f372526b8e8e6648f47d32304673b542caefa6139e6dd9363adaf942a9ad2d67d1f517d4ab57422bb166651d6823673b5d75cc73bdc63d5eb3de00d17292f4e18eb55a840c3\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 255\nct = b5f17081860de6936e8858f07d623a224e63642f39b1ae509693ce13010de149d6c0690f64116c74ed1e2020c6bf3a7e7d348783b976126173c3558968965a5f7d647ba995e3603ff156ea54830ef708f338d297fea86b6b757ba5acf0642044bc0d62528c2cdd87627a4429e0f03caf81437d4e6704171ac50fb7a1517828f38b2a54fe8379591c31584e4eedf06440abee2c896b91cc99648deb662a92095b528315b068478dfdff31e82f8ff15f5172c57784621a2579ca2b02946979fc54\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 256\nct = 5f3bbf46122f11ce56347d6d3fa0e510c18815c4daea31296de83d49cf892b01611e8821d2f2098e4770f2de949b9fcda3e79ba24c74d0530e45fd3249be70f54ff7c6f822c90b1de143dbc9f3e0001e8d4b8ba74f047adf1a8fa7af68c2b5ef06d057b9948397148d585847bcdf23ebcc53e87893defc25000ba32b2f306878fdc98a64db5e1b955b8412e6d960963685d04cf6ca0993a197f785d0531ff6930ab0f401ce744c5b25becf62b0837fd9a1c0d6ea08f4dcf3297aa321651370a6\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 257\nct = 793583786f15b14febaeeb39473d5c80153ea675f8d9f1041ae869640a9c7604e2deca027bba361fcf2ce4f7506e65e30135424aa15e99bfe62a6870e2ed1e4ec580414876eee36ab51da54594169e7192b4bcf56a3e3d544a795ef4a184f5b29f36d860f5362fb99ebab8c474d0b153baa713869c8e05144f775bc9524aa1a66981e22db47980494257607364d0982def2e5e2a7fb741bd50c0142e4f1defc5318fdb436c56955b8def0bc988df22c88e94bc06eb0f93d5f36aa8eb3c068fb1\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 258\nct = 7caa520126e8560d7e2df85d9edbff98230548a7f522004f389e7acdbbb0e3de911e156bb6c2edb852a14246bbe6c3633365aa5a7cad96662b962d9f42225ba9bce7422d38086ac3f75514609b52ffe71f0cf7b9e29f80289d186f2349967a64e1983a785a1750301f971f734202d47b642d4196cdbfa81757a0127664b788886a4ebaf91e44778f8bcdd17fd2e5c36a00fff058c808d01989f21cc0ee9da839335f950ef0ab7255d9bd397b8b4218a8e5d871cd0a966107729e6818dc3713ea\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 259\n# Longest valid message size\nct = 1522039806ae6511599bd91cc94f414d5fb88253fc98a902e63cdd89013c2eddd5fef6a8d95bd7a7506efb31c28966373d85e1e0dd3281305d6defab3fd5517738d2d5abbd2e1e9e25f01f76adfcad605a8f6670ae2328338598c6d8925b478ca2e3aa1af07b283351d1ebeb3ca029519f7ed2c415ad6b567a4567a66e26d98f6c24a83a1bae85c6b23f613ee1bb07f725f14db72d96f68a7855c38106c140d241965bcbaaf1ad5af1476517446727ad826e6055c18941ab09fe5e97b82f1b8b\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 260\nct = 4eeb35789fe3ff1aab3f49776f223f1df314a54716535ed45f23e31991d5cec827bf99734fbab236a6fad0c0d6e57ab7f734a6725e35473884c77c5119d163daf9b8fb101b90f7181b1be4e822cad677ddeb9e88419b539ecbc72d573795143b38a5606a6fb5802eb469a7b0b67222d11ab8c7e895c862c4f04aa8057a217be0a838b34602fa04d68a0607b70edbe24f8c4f1f0cf91b0a96be9ca17b176d4b5e967eafc2729e0f5056bb14fe3d4cf40a805dd7e5a544dfc4fbe1a52735eaf5f5\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 261\nct = 0ea0bfe59acbf6b49cc22bb72de5df8287785f3a88ac6666e8d6d378f27f619c4eb371e557347e50a7d75582c81dbd4cd5805fca9c2178c55ef6b2f6db08d486f4f9b285df707998fbf4ad778cdcd55c872743a77936a4e945c32895e74eac1e5da1eec8bc0d1b1ed2d7305d082e2967f39a2e06d7920e1a91a699d93cbe9fa12d548ce447b8650b8ab2a76b4fd4c458e1974526efcc2d23c7344e9b4b06a2c696d4b9abcc8cc20e9011eb5d4f68acb345617e353cf77e46342e52740d8c2e28\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 262\nct = 0ae6df7e027f3c1bf890fcf6a3f2ffa2759f0b2d2b71fdcf1dc87174d9043f0d6e870d91e65e9c155cc8e06e472e80f1245efc7945347cb4e73576b2aabf7d62a77b91366f816e6ab4a4ab48d77ca983bf9476513f55828af057ebccb3433c2ad0a37c2c546d31745fb8f09febe7d6a9d0a58b3ab41cb32c06a44d154231d8a79be489ada34ff3afabd36061baf77e4196542bb7a0ce3be982a5dcca13450f9caebfd3d05b596e979038656e49d1afebe96e7c52afded1fc50d3976a9c77a228\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 263\nct = 4c875f20045d0a08dc3a35c0c8280fd9843ead04e89bc3915c008c25833f0fa3f6fd091ce3e5d5e116e10c21918a40569aa7715d1e0740fe4c589ea7e9c264d99344a0f3668f080ac295a6079552b5ea4cd08cdc2d0aa5755b697aff326a14cb562bac5837ead5de6429ca87e4aab5522a6f88a021996fe395346e8cb0dd437a1648800daee987830b7e8cb26bd8cb1e6c50d8def2f5b408375d7ec9ce2f03f3f2d9", + "fb0d0ccc3563f097de9b0f18eff83fb9de099c6d6b490f94ebe55badcce2\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 264\nct = 1be693aa4e18752145fbe64d357e885feb28bd9537ed2e268fb56c1844d65946982b0eb3e949d674464efb9c955c28c64fc0e165b1f0a1650e818ea415d4def063a2d9c2891aba25c884a9c91ed4ec6090ac7a5063324285e589e6ddddb219b63927f86348924019820afa93802db044fdea1a2d050a2e199db18efca7cd4b32b4cf8e08f1d9f5f9e8dabff923dee5c150eccacfaf6c7a1ba6741ed6adf89ccb6a8a2b0fccc33b4f3a377a397a0dc58d9c72514e572b0437a4f212f956856b85\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 265\nct = 641341abb936dd8d094db8319b7457454e29ab29a215c6abbd3bf90f96534428f658f7317192cac0605dfeea4ef0842d14e0089fa74d488dde188104f78a9192fd141f5d97f7bfa3dba2f28f041b282ce4db6ed13131786e994b175b4fc0ec56efaaf70a769a4354ce48bdeb678c172c11ad27f23518dbca0fc2cf9d3342e371946a442384be8a1563ef9f90c4f6111e504874ce7b7a0897c7f7887a4a763e71d4e67c4e3499e3fc227139598648d0744a3e4b47f80239090e94aae8c96120ff\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 266\nct = 9f4cfc557885200a706bf5f4f943e090be1bc824f6961c052d924a160b539d18270b85d997e0f14edf6d5c3a38e291ba28605561464fb5358d153dc0c11171e14b2844a9471b225c86d459a24194a9f46c3d5998d9cc0fd184d2d365a8ca2b4e34a3a26b6d4d3f4bb34faa1c4d54d4b77e2b3a14dd6c69fe3b65df59502ebf5f4b163e388421b98ae5508c8917d9efb7d1c21f680c685d9b6697195b99d01ea452953c62d3a5b5c39f87dc87522ab749aff030e16777647d97d7fac8e7247df9\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 267\n# Longest valid message size\nct = 1e1e7fd7ba86f88569192f96b4310c45400a04166762d014ccb3dec5b38479257a7f25595fd61871f3db426096734aa511223c7e7cf7ae4a3cbf2c594579726c2efcf3785b31cc4e422233b05ac2e48c3c2f3afde8a04f668b95385a2b3a89fab7b9d2f015f94d441943b5b7fa45c3b49bcb5440607aa9aa1addfcf4f8a96bff8e796103b3bf90679a73be1ef65771bb978ed9b05a38cc31d6b7dc6b314eccbc85a04d02d9669c1194f44c6629153935923174b3839bf637be30f05c1d4f6031\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 268\nct = 11b37d2419607d7b8cc36ae119ef98e4cfb694d090712194756b16f8394fe1f9018c19bc1c8a860b017e4c17052c4f7c10f47b6b8390ba7de9ddff52bf17b1645850ff4704e58dbb52f75182788917b470d440cdbd2e6e2f0ae74e456da62594e11e01342fb162787cb5ba72395182dad0c95e57633f800af342da272173462135956421c73f50e158017114d1d4caf2742b4f720c5030d770adb03336004fc0958bb11cbf4e1d5ca83a4dacdec3df5fc4ccd4e95e92cf5adabe9cdd1325f8c8\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 269\nct = 51caaeb4f568bec615be7f2d53bb13033b2ee83a304a20cdd91db4ead548c557c42e7fd6862fc54ab042179cd4a9d5dc387e4efa1fb7ed715e2626e954af0982cb195e6a95be9ccb08108f693b25bc3e0330bc2c537445617543b496dbc1346c088bce827b4e40554fd8d63218d21234b29b71b3885dd0e026f15997fd5f085900d419fe681c1547948d23dda8b795a14ba58879e3f1eff662ca6a5dd63d71a88f2136fb8f33fb4cff6a07f188958078dade5f43a0de5dd5dfcbee9177bca325\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 270\nct = bde48d0c0fba6a2898a4621850bead9af38f8e28c04723bf93254cfe635eaf47461958e1597e48fd58e84acacb58934dd9072041e463d593a8ead2397298de5c653c73bc2366e7d234d86dbd719b0dabf9d7711caa7efb0819297ac26f49bc0c67efce2abd9a1c042f54a28b744013851d0dac6d813e758be129f8681865efd4a7ddcc7a200e6190330c4049a25c8d221fb87687e2cc7666555ce29681b623e890b46ff3c10e9e63769e2082fd5f241a1bf562d1f202ce575ad7e09f3838a0de\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 271\nct = 46fef13374b208c3946e1cae42123c30278fb1743627342ed7e138a533e5d6883646df0207f9c8c0681664f66fe01d9e90e755ca16694beba3add3c8c697cec81a0a817944048ef515e8e4aed6d9ce380c570a4737abe06e221eed3d47a8e980284d42d5860408eeca703db3333eb0e778fa06f74867a2bb69fa32b77985e611faa74ed0be98ab08c76ca58d27f4944381680983508002ee4e35bf27f47777e100fd1f38a14a2b8e8cce39a27555a710143653eee8860e8e9eddaab9f532e852\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 272\nct = 1aff01c27f7b026184e996277190bfbeb15a418e8abaa9f092524b7b6cb4137652b3728b6d61a4dbd6b88ba307bd9d2140352dbb6066eef3ab45acb73f1b442cd728d0a932e917dad3092db2de73b38681357ec0cb2bfa5b7f31e8196f0f006d676432b592defeda4789ab0319b2e5ddf16771c0299d00d9487513ae5e629935b8033579c620e2e2bb7f286e21028a5ee9fd03ed38e4d475bf99e8eca4cce7c4e40501ca43377438c07e38be6eb4fff1578d3243cb919259fe574828729a1b5e\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 273\nct = 402ec80a8d4e741d60bb8b4704a28c00fcff0c1544150220426107cbba18ce9b572776c925675a2c1ce1ec242e21dfd78e9a555e152fd2d36635587e0d5ab523c146b22cfe1213a6f59ff967f8bd2ee6df56cee458a161b08a22df3a54dc40e5f534d684e579fc6bd4564f999f420a112456a7ec42f5e28229e9cef69249ecc80bbd776c35ed5725dd56bc507ef206c8d399f490741f96623fed10308b1ce7525f691eed8ed8282251ff92de150dd1eb074919e74f44ed2b081e9069fb7f309f\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 274\nct = 35afa6430b7b255ac515b92e30bf4717bf989133642c00c2ba9b3db5f485da08cfd0771c75e98365cb4edfa4eb7c68546a223e572301dc6c9419d69b47c8315342aa4c650bf8b414f2eea5d2d6227afe954ca2ef3cf64bd51f77e6e5da49736ec72b691532dac739bf4db9081cdc4c7ef0489ab350bdc11195d8207f854690b05c702301ec127817be6aa31aa82f18fd543b0bdd2d3493d59602e78ca5cd798c55ca8f7f2b8e06", + "0d4337cc5dbcb9d8a9dc00ae84a9eeed350237e2eac990ce33\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 275\n# Longest valid message size\nct = bc7fe9136ce18763f3fed05baa3ae2903da259c8a4555be0b7fa84e9de1911fe1fb47f60b11992df48240afc90e6ec07323e14584e9c0302fba8898650e732a16b4b26ca0902198cbdcfe1ff6ec429d914466db153d5257f8f1c09785cc284d5b6a486e0c4c221480030b6c425b483e4ac6109a546317b8deeccc3fa9ad3551c15ed4c13af8d8d7017476262d8cfc6b8e97c832292f3ac40c7cf884c0c73c4e5a30dff02d05b268f1020116a9869e99b6cfd4c9022a9e500570954fc451890bf\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 276\nct = 94ef261c45770d06e0241fe81d66a823d7264640fcd7a46197330acca7449fa0e9b6a7efc999af48d761b48faa73919fef0fb2c30d4b590aa874b3a9b4aa57c2d641fedecf64893cdd43f8d5cd546f6f60a2cb4e0790c0179e3ada122573d346a1b5d3b1b109d9062d02267c36b483648bff3a19ffd7b02885b4b0579ec86dcacaebef18e0e7106d5c948fc27c3082908bb52ecdfec22c10e65d6b5a684651de3dbd7fbd154b8e277a106d11bdcacf4b764ba691944ca99b10cb01c1dd6b4350\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 277\nct = b83bbc3d97794203e5deae6209cbfec4d6b2854a38b14480e17fedf6efd78386ea0b929cc9299a3c5a9d07c0962ac1296ff5bbea472d84ca18c98d81f5ec361bc82e82bed2d07475fdf64ce56156be94d13547e961b6bba4f373ef5d0c2402a67e8a9309eeda8c2ff9bd49cb1f75b4dede921a2c67423dd868679c6c012ed61b6c875b6440939d299f28555836a043ef351c74cfa30dc0bda91971d92a086661628029cff6d3ae7b876610f18222b9d63c71e87cde899b2d511a78c2986e5985\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 278\nct = 66e6cc479c5adc44beb8d94c604720cb0a40417747838eff6fd089a1156c725bab56cbdeb7193f2c763db34f2180b7a1aa20b77b83f2fa2f2c983f880599b37fd5e9bcbefd3a9678b2b91f3988d141efea335ffc1df89c4076135c41733c9977572cfd97a52679dac3039c781ddbcfd5f28e6322051a83c92449e89e531ce1c2724fab763ed853a45b9d7c4d1eea17c8f5c14980b26a24f7037c9f118244d895da83df104eb6d9221cc5fd88f249e3f134077fecaa90ff2d06c3ac4c4cbbdcc6\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 279\nct = 44f7c180343a2f16f80baa47d2fef38d6cf1a5ddab89171f85504c362c7fed8c2328a961856986c59fd3224460ed7c32b342473e7904b0e46be2c3c757262890d3bf86a2ba8d9d6ad59ae4b934256d7b0000f9f23cc7845b5119d37ed58ad3aedd7940d45e9640f20a4e41af15e00f733e93fdcdaebfaad173d2267cdf151d5766e4c7e6d64a5552de257be71cace73d30d8fb4abfbb301ca73dfd3347b277ab4054ef5afb66183eea1d4b0dbaabe6c5b4b24be4efcc3b0e19f89d663906ca32\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 280\nct = 0835eb89c071ff15f4ea203df3a7afeaff299062f05e74b9a28a84dcd4e07245cc9ab16614901161e543f42eb81c1dbfbed3a2597e559b99644ae7bc187f6638e45f89e7dfb6737dadfe67f09a41993a38300e5f6d07db09edf3937cf8c017daf57e3b2cf018a963cda69cad364ce88b23b66f67cde4384b0b09b6c5c0389c68c32485a848a2e23f0b033f691d1d9793f31017f8b327c233c2286ea06f4d42024d3aa5cf8588fec89ce3b69081206dae6d85ce01c61031c982af47fe7e468885\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 281\nct = 2bcf1475ec8fb5e330ee7d67e91805202f8fa7a317b0f852fe6d6084c0c977e252743d40fd51328ff68a35bfef767aec1130dcdc28bfa0c3147bf2e07e94032ac495918cba4be10bb47f4dc298804de5e024c1d8dee22530470e203e16aff80ddb5c2d4575d71e3ca80974fca72e75aa4802d4d2b4e25e3480f76356d560fafcab0e4bc385fe90950b213072ac113a83e5e8b0704b721af140a6242188b71d1f2646b27939b69b7966adf1998db6b07029778ed2c2256dd32c316cff1a2aa71f\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 282\nct = 04f6021ce1659d10dd27163c9684f0a577c4bb72b14d54c78bd5f35164af962c1f2aae5414396480d07b9492ec4967f60045398a41904b4d90da86bae4b30f674a8808142b0a07ea8493cb569b03ebe64ccd2935d97db11f451f9722b056275901792b6433cefc3bd4697854be4e12a772e44d451b07c4643fd7bd8129a51b39c00d1507a9c9cf14d27e5ec8da389e85f32aca690472e82a73ef1a05756d6cea2507ad9fd48892cdee5ae7ac2cfbaad27194ce78a0a72126a2b6b04c260f4a69\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 283\n# Longest valid message size\nct = 14a372d4a2208e5af42a359784a2638ed9609569c43992d7e3328de6cfb6e2774d44fdd1b69f62e5ef9da3efd7b344c3ebb71da0b46104b7d96f11e0bf735b924f9d960e5007d145bdfa5436408f518a6000dc76075efe9bc06ef988dd0e85916cae75a17b4dd6ab3f101281412ef014256235043a8357a20b76e3cb4eb5ea21f758f3aef2f3c0f98223e922599a836893aa91ca60d2138a5f8a5e41bab2f603c13b70e74738353f4bbf02929b95a9a0d8c184b7f45a8476d82ae1f18fca40e1\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0", + "de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 284\nct = 3de5339613e27868f1764242c2b5392069be1b8e4b43beb90706f77ba964f5c3a082e5d1042ec5234c894914a49172dce0c142ac45579f5931b64627fa0cf3360f672c828e61501e51c3545426eb5b64cde0faa9d2ed4299ee66dfb8f37132bd7056ddfb831b8c3286799e8177889ff8faa497bdd0d6dfac3df04550c1c9e5e057fce788961091bbfaf88e2bdcf39f1e618deea621f0bbe254dfb9f485b6ead47f10c6691062faf3eedd4b1babd72673621054ea79f467695acc41dca284f7c3\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 285\nct = c6285f516d8d253e0bc2f532a9db7c6e6bf3acb9108714db06b67308b5cb90d31541d59f47bad98d0e3d898120e5dc1505853aa2b1856f8ba7fcb58d621b35b79ba8808335858731d0d9b853ab74c58d9b8307c19b851dc8dae2dad77d9f386a31b465d8bc732201359fe39e3b7d0a92b4619a65ea9963579f6c725ab280d995acc3b6bc67ad10bdebaa603519433adb58e0ee88599d7e698b117dfa2e35e67ea53c96ed6b6e0580af9a01079628161a0fdf686455a9f4ff142645b409454933\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 286\nct = c8fc364783e5c25d9d127a602260000543de2106493f5d38697cf7af5bc3bcc111392c42b4934a3c5e4e38da558939c146cc47ae67bd6d1b42d3c525d2f37554f03a1d9b87c12d74835013192cbc3456308e0197ff0e7e41b4a3c22c3bb1a70c16be8ecb19f9d372be0cef589d934dc7741d6019787643b4550d627b006faed9a20ed239cc62f28fe0a056bd7cdceb3f04d3abf3259af88438adda70785b85198fc63ff92afc1aa71cd80d9eafd0f24183046750733eae2fe400e9c2f767e738\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 287\nct = 7921d275f00faf5aeb9a4a9a2982998e4cd9a114529d52cbd12ff2c520498a8746056b6a8bb637c594b1bd6ff50d2777aafe5effd193802e0a9bc430731c8cc1128e9a943b4a14f0d24f5cdc32ec1c2f3da8af7bd935417f5ca6943a858cb6101763d3aea3ed3e6cbab2376c7a7f1c80312561b2ddadc0cd6f34dd8cade4d03562e2563399048c04b4325d0d44b73ecafadc8a081ace30d9e602ac543e9e2bd8cc70979251af1cf297f08d766262ebb24cd502584324cf0a64806b4b66bb32b6\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 288\nct = 7cc8e65dcfff10d95f35e33f3d3e81e0fbd393c480bd3f1da3b2c90e945dd18dd22c7924bdd6af52ba9696fab377e776a64b6df2d65470b9d46d52ee914c66e142c1b24c030133bee2a8807e2c176a0e18f638fb8e7e46e7bbfbd77c7df0de7010812c6faa949146a43273d2eb9f782c28fc81e88f72c69a444ee98049314d677207a2a06651ac8d0244bca9bbe69ab3cc877c4b6e35a6e85eb05035a67fe674cf58801c2027827cc7883412725b1e82749f4e5d02202dce8ede2b9cb166de27\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 289\nct = 3120c4aa8b1d1f1a9f58a4c543923ef65c3d84ddbd582fff38edb86dd08b4f35731b34fcc188deebff4a1a1364e688a34536e1ddeef8bfa1f172924c909941e74809f80901ad9d0156046a527c60d6f6e4e680fa73533a3575b251409d15444a1872778b4b87988dac080036f4633a69d49083614fa7d77abe14138bad72e5035cf0bb4a0fdcb6a49d53ccbadafa2f1e835cc56ff2ecc5aa3ab44f279b076993ec543494f67f2714e423d4a73deed5a2675b6d70246633bf4806791497db0377\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 290\nct = 444f583744275e2951790f623f664371bfa635a4fa507bdb643b86d1aedc5f7874a770a043d28e4bda837e641ecfedd6f4b2aeb5d36a53988cd11b4696cb84aaa47b700ab9a44511660686db98cf48ec0af603bad8d1f7d02587d94597ca05240c2689538945586de26ecdf1a0546cd975eee47607e208260d7654ffa2aa9cb5e7bb6e1c69185ee754515a71246c231535ce7225ac94c0f30d494452baeb9658f9138d598553312386e1e3167ca425673359ba1ff3b203ef908f6cfb6e115e22\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 291\n# Longest valid message size\nct = 1049dc4e5409338befc1b435ab4b3852f442d8f6f6654f4326980facb7d5f4c7b44873064ce047974dd5455cc858251f031b9eea6f0a1708e164f19f1334d67b77de560aed6649cc3316d908b65b5689c6d37553565c14fe7ee59126753a93f61f379a30469b356bad4be3e944561866c117dc10f67cdfc57c3ceda12347323eb13cd08b662c1bb72b44ee719814c846a59a18981e785ec9e5c68b8e60aef46b3a76b9d5a68e1b05346916cecff3e97da56888589caaebe25edf037b55d6e3fd\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32da", + "ee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 292\nct = 2b7085acc1e893d32c2e203687b5a90d1db89b7176267f9f4eab4ee52acd73e43b7f956deb66512d39f8db19868827b6cf9344ac0c760ba8b5e6a1ae6a76d03cac6a1d5b80ccbd4a3b0c7227bddba72eb34d78afa4ac867b9bb65282a24099f10b113c0f7faa2928ebdb3267e287aaec2ada02abd02339ee8954ed36cd451f67313446f215f7e8bb6e077135381331dd114375297cf4e7e17d2316a28bf7d76e3f59c022099907e0917276d5d674ae938c37874c13c95fb6ef3476c9ed9f0d24\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 293\nct = 3721af30423c06bcb28a12dadb49a5d70f0d48fd951bb067763a71d0d163146433c2237ad296cf50048adb7b6f5ac7c177e59a58d6e66a253c550ebeda08930cf9c33624cb7823ff55f064709bda37d806a13379a6d197ad10767e4d52786f6b386f288a159d42ce516483c7b70db9c531b2fe1c94ca047140743ce64f1aff1d5baa97c2498a176093a1fe825db60e3eaca5db792fbd044afa8e578c726350df070f91be82c3041d2a88aeae3792324afc6f7f6325cd6cc62224b5ab741dd1e1\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 294\nct = 624c1823ca0b48b12e5740ab88bef8ca5918596eb033bebb53dfe53cff0e6c14c2361daab7b4db696ff7b44fe4fe62618c8cfc1b66579bf729110bc42ef2733ad2ce36d240782378a9798eda96dc4887382931d10c35359d03d5ac525f2ef2a05255db9dede82c3e7d3e898483f4dfa69cc54ab8964df923db2b23db900d385e8b16340f9a10a6c31f08104facb55be66e60d6b4338f23df84ec48798ea24a6a142aab431db272be0218caf9f0783528600cb344c08de643635d63264043708d\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 295\nct = 41da80388f08374d8c06fc95b3d5ebcaa795a3be3b07b5d575d7747f5d2526580a97910198ed97578299007adece6beb2b52119a9ae27f318823fe61ed45c0249e468e101ab47322ab09015f7bc91cad412030aba1f17f9ef06f746a2af09290de7e212c82ca0556ef6dd5bb90545da71f7a6716ba1ae21983afd25d397eb1b8464ea86b1f770a800166429c5c81cd59674cd7c50ddbe5164eebe9be8f6d59de2aa6c18cffde60c6956be6c3453b4c1c10b11eb27d2372cbb32f91a166c3d3bf\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 296\nct = 310357cc872ae415d4ad120ceff873ded2cf2a888e15478245adf4a094ce945fedbf57230719e069f77a58db1f414956f24ec67a8aba982dd9f6a79fca45f54177683a614d0c6218d7521289ee43ccab0a72ea00b05e9396090218a1813963d35a7fe357eb1b09936539d43ae46c39dbdd4dcf19b55252ff49cf0878dd873bd528df694b77b0d99ea15f13753e5f59b8458994bb08bbcfc477e143a4376103c81efddb319382f2b5dfe9faf0331f25bd9458946d102445e9cd931f9b71bccd59\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 297\nct = c1afcdee1b155ba0ebd0cb743dbda76c69e87fb0f015f63425e05835331e585dc459187aa6e81925e2c1b295c2751e8da98cbc447b70c944a98dd61b6057ac5d7be9e72cc85de55fc1623cbb789c44203740b51c1e19e728298245b637ab3ca0f3b8863d6ddde41ba7c7c5392000b667e8fce405e004b389e2f8829f08a412a0828a8e0edccc392308e34b066697b57536825b22022df4105e10e96439c55ed7911083e3c4b2067f76a05b9f697cf75296749885986d2357bd3046b65ef0be4e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 298\nct = 78c823e764045b4164717010d01f6c860a11083d377f28c71f680f60e91bdaa2f3627996c1c6ff0f341ea578938812a084bd2e182c1f27e22e8dc66559e83ffa1cdd5cba2a32734876f782674339a08e84659e15463fadd684994368d4cceae8a8ab23a4f3a8ecd62cb7be790a43d692e3dd794091daa4b0722de01a411b2ade75518481c2b9f9a03498599333ee6eacfa6a616fe92575335f28032e3789f519eabed9c2506397aad30bc7ddb4d9facad995de1dc2bde840037fb8bda1b5246b\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 299\n# Longest valid message size\nct = 143720888208f22d7d97e334006f2491d0755ef9752e2a7f69b981e1fbc6ca8348fa02f67a6b08450ee3a9c9b7799547891011c2c64291e06306b918a5fe5972be58c90b0258f80d5c2d7d3f295d9db16173a64cc8cca949f42ef5c8b200bad9ba9a80b406dcd03dbc32aabaeb4351b160a8515daae9a23a5a377a2e364b891e016d0bcae9fc0787a09ef75d2050a40f66a26b65ee3c9a0f22669284ecbbc82f67c9451b7ba4d9b5c0c53bd6a66ca284b270ad1a579202631fc4bccd328ce7eb\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 300\nct = 61908430765b3fa93aaa67577ef5f06055c7f5bfc8c35591f25869d072ae8733fd1e03bbbbcfa2fdd7a85afc5fe48b027a4ff5b1c1e5ee5d6c06b159a33469971928c570c06d76935c7f0e5ebee0bfe50db83f22d3beb93919023f14bacf79b493f9971a68be714ff22869190e884035864dd12630c6e69bd623064587dcae02778d08f0d2eaec4d97cfa9bbf950c49277866b3ffc81dd0c532248510c237794a4b38aa555eb300b61b94312798fc95a3bab7376bf6da60912227ba253d6e4b4\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 301\nct = a4fa99b94636d4c74ad729292983f51d928e98702963374c21a765609cdbe56fb0479ef60c810732fe8a6518d8a04c093214bdfd584e2feb993fb53fb13db56a74a2839ca825d18027418e7517613c6c81976577d2f13caad985ec9368226d53b10f47d5c9ae7d342883676b7d21bf25752fe341c087a0e071603e78c088669210abaa79a05a90fe407078caa34ef38930fa68f3ecd5690b34d21d575b35f4afefa866d62ad07c1a4381280d531b90b3542e5abd6", + "d5956035a1ff580ce14ea05\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 302\nct = bb9fb86015193b7cb718f5ab8ad55bbc746a36252b3477484592f0b848fe4bc8b2aaf1c058988f385bb83107fea8043431d32e484320d57c4b5b5d50fb811ad2b28063a9c578d4629d029bca8cfef38fbc2a679952bda65335797e48050e5c12c686acd9d41df8e457d400baf9565c6d2a0370e182e95c220d79355893a813ae003ff42c2c2ecd78f240833382cbb2c7d2dd8a47daeb2378ad824a4173fca5ebefd9f98325f18e2bc41258b3ce1755e09d4c08f39ea0561fc9645f60afe87a1f\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 303\nct = a485d83f4051ed3dd0ac680d3c5987100cef6408d20ab8ccba416000bd5c3ba69d32e3e2f44af16aaac26cde9277bbf53a06882c697a92d3c4dc451db9b73ceeed5f77152bdcc51db0528ff061a449321e62f340411c6e5a852018d909fd94424a58a6e776de17e2afe06aad1af922af70aa5b4c20f11f05c728f32ef4ca02fe476fb4a6d7cb7a00cabc0ead420b5ef3646f4b05a818ea5c6b0d5066b4c561697d4ff0aa62f914fb99a59ec16946749776a3efe9e04bd9031263790c270bd211\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 304\nct = 8dd33e82140d7f924fdccef5dea1b76704f036d42d9ef20835d7ccc4c2631cbbea3fc1c9b01764c1cc11a8bdb128ab1c951cd991581013f08422316c3ba784fb3e917a3331124d6eb8dcfe8bd02e588e148ac24049daaf205805d49c1d41a27774b13d66c32ad619ce67aaa3b844ff58997bb6deb6acc02f522b57fafd6af6ea5a44d801d5132b1acefcd515f5066ee7cdd07595a9a52dad465d6d39bfc118b99c84c3fd6ffd56fabb459986efc9757bfe0faf151f4c7ccfa7bee2a612a0f726\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 305\nct = 9d26f3844176ef41cd9ce150fb3edfcc89c90a1635ff1ecc28e3094706694164818fba1efd69ea9101dbb9fbb675036a5fc5588046dbd29105a09a22202f72f8a72e81dc6abb213069f79bcbfd38427dc8107828aefb8cd35e3bbcc5a92bbb0f13161dc86c0fb8231b7d66b4e3110f215bfbdb103532fc2a8a0e854d2dd51dc4e7adc52f972f31447e972912481734234c461e062f366a93e7ca534a4f8439b6596b53486da06ef3871d670ecc0c20faa6be6fa08bf419ed1b1b5a45e5c3a611\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 306\nct = d1ddde7a2dab16c3a20dab3746f507b60d53a03b65b69a29db05abcababff9c7741c0aeeca994a0c3884f1782a9766d50d4cb9de7f4f230b29dec4e3467eb015a4e8fb5d6d297b9d33931912f91311ba08a13d8a594736e578a95c31d473ee02b4a004e0edd5bceb91b0eb2cb178213cc48a7f8a72883e4a800b72766f9796c8ff1b34029b60a2f9411e9755c113b2f9999c9b46c882201bae078c68fd4e6dbeb6b0ed963e57757ae8d0ad1a70e28c8be6c2209fe4c744016a973fe8023e8ef1\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 307\n# Longest valid message size\nct = 90b831afd7d1266a8f30435ac3f21ce5e273f6a1fc8003b65602f939de95a40cab6420a91c2a2333ee88803921cb1d5ed5b5dd22fafcae135038a1ed86ea86d1d07811d4dd5102b2cd39b239af0f29ed0f5c1b2ebe4590df8d73ed984770a86974ff09366df5d6f9226ca0f98663e370b75e4fc214dac1f7b184ce6743eb26ef4d779f55dd11fda6d93e48723a3ddb720edbb72ac327da62846b9e011f5e95305aab64609297ee00cfa6687122672c19961601b1eff6f012180fa8a5117b583b\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 308\nct = 768ad8d22aac8f43f619abca26bf9381c73dadb042bc9bd8212cb557398d67486566f6ec2d7266c5d1983abb3af5c952165f861ae3c83c77d609579a6bfe9201984bb57358b77558893a896008039c8759110331e771f9162b54eee1ea3329ca9d5f8784648b4e71a2e84499158b7e884f867c075bfd7771800a65d51f23322c440c6c8cb893967167c960f7b4c5030168ea520f39a08aa12f95743b10c0f8c53412eec22a93ae998b16d7d9072bc93138a001ff080acbc3053c8fec2834df8d\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 309\nct = 0a3bd0825328538c08cc6cb1dcd72719de78a458e198719279b763446a2db3e782937204a7b0b4c99c6e1d76543a9a732c7856165fe95de20f1347065876bc5e4317c1b121e6b0129a280aab15a2390bc71326cd6a949f910e2c03c2b90eacaaebc6357bd20317357250bf27546160e2fe88c6245221ab8af5b1fa1fb1898cf92b179bfce192a38c7974bbb02266aa79111bde24574676886c201733edd5782b4b041d2f84855dca522bad27ffe1b5f0e2bba856f433934b123a7190e084ee7a\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 310\nct = 5f9dbab8d8994734a41f04d47ead887e71ee318b5bc138669ed929fa0095a3ec4d7f8fc823be8fc28688d5b5dcaf718c6adb41e6968ac842d4686a29be393855e8bcead381f4f9853fdf8b8adb5fa021f1e09513f6842a140403d3835c6e17612bada480198f2e2f7c7c197f64d2ba1b7e4c14ae7b8a6a2a173fd9fb3179c3dfeb185ccc599a9efbc9972caa12d9fd6097f8cd255f873458c4de9baf06d13757355904b8635a6c2c68c6526f68964ccf17cb7b52c17bb954e61d4285c99c85ba\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 311\nct = 3071a2a419d78c87ce46446d39669a3a8cb8dd5143e9a6abf5c972aa83c1375460818cea581c2e714202e5be01e5b40e0d087f7a4e0285ec99063ec28e7e560012b340c0eee0ab7169544359549239e1610f7aa63fe874a13619d3796f8c2fbdc845cf1b9d3703a79318a29102672fc0143c78bc85b818d86c2f6d005fc7302126c8998e243a7718b822b7bafc33db95a06c1d251c1b148a10e1377af56f0d6f895a5589ec0463feb93b543d1620835be6cad8d551f85227b9f12e576aa7bec6\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 312\nct = a258bc313c7f72a2f9cb26b2911bcd035fa390341a937f0f5c07e2e0b469769933778a2212d3cf3547868d0fc1eb10f9d24bf80142d04934c70c2be2be7a226f8b83ed1f2feeaaaf8236998899832de44e2775b587d5ceab73d7de47ab5bbc1daedefac0462913418f1005d04f1e8d276fa2fe01cfae7ca258ce1317a948ea987f24c4cca7868ed55f00ba1ba8fe084dc9a4fdca81e4ce7a34d13c555c638e4209884d1d54fca4f31e092cabe97226d3aba40020a89b99760d03389f7891eab1\nlabel = ", + "\nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 313\nct = ccef397724aa370dc11c46bb88dd966b6b89abc1449bc0ed27318bc8f1c9da53ecaf9ea981b6b74a4aa4bc732d622da3b3ed372438549820a2f121b84981f8eb4d73d75391ad99b499e6bcab2186dd37187b49bb100768d18e919076317e9d878d6bf59f7de3364c16b2b39b7c818a3aae127f871defcffe1d398e7b6d4709beff3f8187cd0f1178245b2fbc03110a7558f94508cd8e9ff4ffa241bd390a06ad09a5028c74ca8b7594d1dee310c636788fdb6cbd64321e52769f5074485d2f45\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 314\nct = cd4b7cd8a3885c1c3c60dc804ca41e84ec256c4dc56da8502c00d2f87ed78a8439297584f582f609eb60caf4b8f4c0dd5304f99b334d4c9339e2160681c2b42d9442276423e4ea161fbcc3caf6b2bef36f7ce84dcde3b2e98281a9369c787820644fce213b8cae9d75bbd43d66281fbd9ab175a1dd5a4e7f6685d1c0c3c7413394f8d5f77c7db858ac518a0ea16aa01aa37af499aa815faa8c24ec961d506e4fdbd39bd197bd86594b87dfbdff4e0f068ad31cd2dc0038b462dbe072418bd39c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 315\n# Longest valid message size\nct = c61f56e0421653baf4e1c514d1e4eb6fa6076067655588adff5cc6a52f490b0c01260d8fedabe4d2624e139832d6617d53d746836040612265754e8a8f647c9a242f83a865618f6e78b6231cfa2ab6bc554f2e8fd12b9d3c801c25043f1fabc70b8ae257f5f3b675932a4515198836bb71b9f90300f2251b2ce497c2f81d269b6d169ab6c5e298a8166946518c1711a971d9cb9acb0a4f1bca39c0b32ac96ae9fec2661d0ec59769832ab4b10fb41dde8135593668edd53de5ead6b37f067ead\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 316\nct = ba366806e4ad50f76c0d8f63a84cc8c1045fbb2f9bef31da89214b2c8553e2d0126fb91e8ad9c78d1515c1593fcd589278369f83d8da3508beed573b2e8a2e61e09d9923476cf2d1cade862344a87c8e50d6600754089992851f44998be57109fe4f9a787fc13cba351f335df5f4cd656858a9d9b547438db4e0e81640618104fac10c0227733f85e041a322459c13ebcf4855fa69519ab94301561146830680e1616fcf4652d30dc6d0cd0aba397560d2a5b9556b42d42ee2088ef8793469d1142331a0b3018feb153999a2439349a709eecbf09568643f8e5d3389073eafd93d37544057e567c3a553269ea1b15a49388127532ab967860c0406a4b0cb3adc\nlabel = \nmsg = \nresult = valid\n\n# tcId = 317\nct = 8773fdde3f148ec33d4facdfba812e44001d90861c047a9eefe6c6540212795b50dd186bb7712b8448830fc1799e0543b7093e4770f301e9216922e80280e9b50582c669e3a9a4feb08ec6f5b2428dc7efbcf6fe49feb61fd2795af1c8b23acb605812c9d7586e4f48e4d758f0695b688d1b4b563067852b1ce9db5dc82aba29ab416178f616426e5d0caf3f9903de2a5beeb970af7281e7cdacaaa00662ae36fb0365c20c653b670b3e7be4b0680932f3254d48ec3505ca1547d1be27d2414a3539f405df91057f4f97aa7796d7ccb69ed553447131fbe79611756b7e564bba7d76ce9256168446b34498a2e91d9a955a8aa98a71a43d65ee60fcea39d811fe\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 318\nct = 504b4e0d94d800a9da92be8fa84fc345f7ab4921ec53c073c79592b347a692cce2450135e998e07bb75ed7ee44f047f75a07e37b9c912d3d529b62bef144952d5b202246ad32c5d34ec8559c4163e2145fa5fd4d56de28cbfe7e537d5732305945c9370bbc6dcd72b3296fd54a2660365715f7d911099c96dfe6d114eec7b4425cb65701aa9e08d99c7ac20179656bb678554d74baca4501b5d0b366c97224bf0c8734e00ff2af8b916aef8b83142d5ec142493e0cc4c57326515a50a31ec2c6703512034642e5789649773d2f8312561bf2f2f6000cebdbf7c7a95fbfd0f721c31ba392acea37568a24f176767f71b31f407573deef95c305e0e063db0e9168\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 319\nct = 25a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 320\nct = a2550a9850903f3142bc1b1b54e45d7754e75ff0d39a8ae813b51eb8165be08a4c0366b93c803ef161650f8cb966f7dd4648f40363dd0cc37595e43756078955ef02e415b3e0efd5f9744d564eae763e307e893002dd1a9d0ba2997fe6658f3689fef4f4f21e7a972c0dc642993ff6612c6e6b43f9ce53674919abbc13e42772beb8c3f3f655df9dc9839e075e01beb9b93d8e016f57afc9a0207d9189b4bcb14ba6459ff5fdd5f2fed5260ac9a7a092feca20af0f23a00d8b990c074ca23d964e19e49c17c970bc972b70fda2b6c6e99e4e7ff11902ea7126257fd1964e7da07fbf413c8becb48729fbd861ddcc3fa6c3df2355759ef1338d02551b7fc80a88\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 321\nct = 6f35b56ebd7e12d58cf2239b3c926d21d54222da0d1943bcd0c", + "0e446bc9213526c63ce0736b11340754460036eeac885dacac617499a58c56a6df5de1e91db4e1befba0237f696d1b6a8447163b839ddf082a1c5f8c1315f7fbab45b2bd8011accd5b2b1e3d4f35315e998eef82f368a72728817f7369648b9b1959781449707a5a668a6f8eefe5624135ff8edcdf9594eb4db32f27b2a6f5f7c6406c2f2c7b818f859d9e379a76c17b4d1535db7404e77d611f6cf5b4d0205f885883186d603c7a9920934fb5886406a38013f7a1864d5074f89ddc164c9e13f5aa5e4eb13dfc3a53b153c56d9f6403bf2ac5dde9c42227201fe314984752b5b41ef0064acb0\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 322\nct = 3530605f43b5539c80398f856eea8d88984af4a6a08db3b9d4093cc80d1a313c0ebe727eb2c45cec2025eee60f385822c09f82e3bcedf66b79c2b34a4f41aa8885eca5b9891798d47914f947c76881dbfc3f21ec27a11dc926c647b6b2a7f3292ec4aa32e969bab49afe203ffd79b0c1ab5777a041fbe4e9e1a679fe2d82e9c267ee7fbe54e9e0def68d8bbacb1e53da99aec8ba9255d2ff6676dbcc58498a386dd8a6b3cf0222a9e14fd03313303bec9d0439ff0e8a5a09ce2926ebe86cafd00cd8ca761b88df9cf84f7b8e07cc5f655199ea81ea6407ec264b5971738967a2e977132dc589c72f8bb639a9429feb512d8d32c441f7e1ce6c6befa08140a090\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 323\n# Longest valid message size\nct = 8654643090ce426118dcce2bb0fca3b2a4ed45589d73ae2f5683334f17ca5b9f41eb97ff566cbbc0171d8962fcca465f66f4cf14d0114d7768bbac1dfb726d91331670e0e88ce7286e1f0ee7acd5cd75e0d325adc9f47ff02820544770ecf46f381ff330a5c75978e8d248cc12f0752cc7c452265ae919f5a4dd7c20023fbf51d0b413afe09f746114d16d1be499c98d270e9213a37a2a745a3bb216bd30a07d110558090f4fe73debea009e18eb3770eeddd7150b4c7231539f7232d837836490c9547e27dac00efb5a8ccdf9a7c3c1d29c035170a517db899ee61925cc7a2cd278cf576ebe8281bd3a4f2665f15dd0b2e61bcd65172c2fff50a86a2adbf2f1\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 324\nct = b70a103c72b7e1d18f32a1f2a1cfea492205b37160ffbe9739f5fddd2199eb5867dff29480c5fe09cbf5fe95a02562059455e120291b41e7b0be023c0594e19d2278b80383d46f200e029289c49aa1e85192db2d8d6b8b8506424487de788a8184176fd9093d0d313bf2f954b9424d5fad0213690e816316107cb0b422624e8d49a2090c1a08da21b16fb9f6247828760aac8b612961f8c67bff8d299791d1a162844bb80c57b95cda2c8301c8a934d753193aa0171e3825d1ee4dd0b82d0dd35244bcd21e23f327789c9ff102efafaa257f3d407f0ee9fe3e2e49eef646dc4c5caac7446a8d8abeb569a02819f3f64f731bf1605106837c6cd339ebadbcb640\nlabel = \nmsg = \nresult = valid\n\n# tcId = 325\nct = 175ebdc0d8405a30a0b247628b5666f676fa4cfce3632840ae312dba2cdd3facd6beb306d63e77621322e9f5729169a4b4ad1298795b65626e1946b7c4d1be7257150b781211d4f50da80d78665e8ca8d6b2004a916d2be21d9d246323c72442c132cc89546e187044e6435d47736820e4c6984f2453e08fcfe6403ba33780d1ccf8c14595e06a388caed6a365e5f2bc1635398c660565ddf003d0c365345b0b10bf151547e04ef9771588aa7010e207700222d9106ce0ff76756ae82364d8cd57396333abbb8ec9ccbae2efaf27a36a8b4d9c2d795c5df59492f012897969adc7715aebbde309cca0feb60a6e6ae78046ca66b2d4c4344198e9f24b61347d9e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 326\nct = 4aa41d7333c12336338ecd15f69d2e980c0ced8a7245e964adb1a23300f5f2c8c05a67b446ef141efce4b9272f09c5b9d5c8652f2180176b44a6d189add14be91ce558043dc9e5659d69db872f8365fdb46a751c572c9dde5ff22f6d9f19a86e37d5610c336a4688aaf75f36d4b5ef113478221b200ca1a4afa55d5415cc38c25807ae160c168efebab1e3521aa70188cab71c4a56fa481dda08e672c2708887c4ddc5d8259e5154afca239a4cfe46cd3b81b68481d5edc9a02a99b53d9e4e89cda413a612df9a10d9911a323b76a8e2065c6ca5cfe05db1c707d4ccacb9dd38aac6d3eadc698c39dcf11a55b492c9c9793c29e1845edce84d26b4fdd10daf02\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 327\nct = 10116293e808ad920fbe6a74a2c548f6843210b02cdfd39081299026ca36992087e707cc7c179da07d8ba868247e54342f147a4686ed89bbd55cfef9d5d95aff0fa66a798c15d255ed4b3217398084655f715dfbd6edabd6c37d933f817c35574a8aa44e0c6c55fec873ec2bf5d0c9a5976d709e2834cc64064c487413ca546e8358d2d31bc076a23490a4809f7abada6e0e481f287c2e7f3e749c6360ae4bf6482329c75152d7fad3124d86e099a0161c1477c5e9afe9fe5e26ab8a1c3c288860860fbf92f66ec56c28c9feed56a04783ca9f498b6353cf663c986959c2e56f25c54c30e72856e52260c3d2dccfce866b04fab6d1f368d2c7f97939ae8441a3\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 328\nct = 99764ae4e0b95b6a7d558c9f43037631c38d1ea3b07beacffaf33305cf2a39461824b6dd67bbab52369c4ea5cc7a34c1e00379708820ca28e0030621766f09dfce439b716fb79ab4eb36e", + "7f141b8de6c3b066ecee6836202fe33bb61e0669e3692b0708d5d972cfcb00459bdcaa0491a661fc86ec9ba19ed1c652d697bbff970dd98db2687e00619a576797528de3cb4b973251e3d233fba62715e7fb043abad2477e5543313292ebe1c0676bcc0abbb1b52438f3007553766aa26b4800a8c9fca9477f0b58c6d41224c8186c315f3ac607493f93a4440929cd5f98ea208f4c985dfa9f96a9e14a45a0465713fddec24238b71d18a42bc7320ba9e6c90ed7740\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 329\nct = 5019a29932320e4495d8115a0f71b0831b3e0995c2532d056259d8e7b248cd8b8027c1fb2230ced82fffc7613ab7e94d4c00e84fc148b729b9402917951c91eb897dd198506793b3a2cbf79a624cae99c1e411b583452671e028080fe5997c78178de2d1958575c47505745cf454353a73a0b9edaa6649cbfcb3baec1f42614a16c274820680292ff356d1ecd8db3f47dc0f6e039e86489e85e1dbd2f0b09315cb237d0438f9011f31ecde22f66e925c6445f65b03d3c9358b87c9b965e52ec11b8810b6bd39c75964991270e640e41b8323dd9713bbacd9de812a14bdeaf5535d7c853f5f13900a738d84ea9f3eb48bd4a349404dc93cd07aec7c8d7351f89f\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 330\nct = 8817e3dcf842096b9e8c79b99cf648a52cc42daeade85e475633dfe224bfbe4cb00279715c5aa7bdbaa882aeff5f4e6d9dec7547957cac2b36a6dc942aa3405390dc0da9010f5956432460f1d2d6083ac83f8e680cbf74c1897751c64f963c678ab1be533aa74b0e4ec007614a84372207872e9506e19b1231c92fc36fd65da40437fdc650b1e191c47a194a5d6dd8825f9aa595185a56757b56f25e213e202cbb8a94ca7f010fff56be2ab85592b6a4690d20bb056e9350166a840a43e1cbb7e7fe66162e249d8fec9543e1ea0f284dac11cdb3ae757478bf2d54bf4a30ddaf318ae422ad51bea672aed588da5bbeb4a038273e909758ec4cb5c6c986f7f090\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 331\n# Longest valid message size\nct = 85919106321ae42209ed6bd5ca003a68ee5b40026f791e679fd59df3e2ed37fa4bb33e12ac63011ec0cfade8c3427820c4976b61559db111db70e1bb0a6126876cd19d86049ec85cb0a8f247aaada5d4af2a7eb7dd35496d81edd1cb58b548f66eec90c43b8af282feccd667d758f54cf12b31916185ee54b7fd0a9ce0dd9c6017c5d0bed27383b3f90a13757bf623ba5d6a41fbb0c4f1e401643316dbcb0a5bc7b726864040f594f77e3e6dcb1130e88055edeba959b5e1f91a8716b7cd716770db81b086eb9a510ae57da243e77b92f38d1f021f33eadba55712ba08cde8343c594232f867e03f13fe7c1973c1813eefea6a1c141e4c69897e25b96f08f914\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 332\nct = 2070192715bfc3041f907c71044bd4cdbc60c8968462952e4538c519f70b06a92fb7eeed476283575f80a508ff883c735d85478b072026c784285aaac077f0b8014ee8eb6ded6ba4b31ffa613ffd675fdf3f16314e010364fb7d914f61ab3aa37791a506260bf10a63456dd05289d02ff817897addb98166103fd4797a96fdc191fc167bb8976f618217252cba2636f34bd5aa8bafb0accdcd961973eea46f876ff4b8f4b56f2ca5569166305fffb21b48c4bc30ae069062d30ee8127a8d97f815999cd35e2e3879ff2db2c83011f33d61c4b18b036c815d78ce0b7ec9e2c347042cc3e7f43918bc38abe9266fcedf90c6e35a4b6b1e8c8f327705236664a4ce\nlabel = \nmsg = \nresult = valid\n\n# tcId = 333\nct = 6ad9b9f1383e6a609bef86be3b4b7627eb6e4f20294b02a1c0008141b0bd5cb1fb72f81d6536ac1c28b190468bbcfa4e42c917af8a2cef15fc44b2887ba2e641936fcd7e22c588c394e4822dedc88277bb733a5c045d7151597af25df3e2f3b007ab6e9eba4a1e15d4fe60888366f4f2513098c2839f6f047cc1c02be3c712e20889493f97a52b542dcceabb697721367f5294b8e56666929b40fecf7094146946a04eec658cb5835e0d21e14f8b755360e859b84b6fe91feb8aafcf8028519087927a1eadf7ac3a1161d4a3c972a19c71c603b10c104ee42be30fb7e9d3fe2b1348bf2f7a6b4e94757323a17570f76c99578e8f29598a52ee86734f88f1be19\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 334\nct = 23613b435081b4b7f88bb61d5dc1780462265a4c3bd2149fc50d0fbdbcf0f3d8e3f29c0bc5ad30e4930afd2d3a9bfba5cd9dc1e89cb09871ff587cdfdd780bffc264d5a1081829063f08d3d0aa8d605d3a87ad0339d686352daaee6f841490afca0b6ded79b7e7c44529e570a9629b2563cfae20f9154160a54670a2aeae45a26edb500799fb67bb925ad8a0c0df276ec6e0aee3a3051d75af52c22b27746fd0853766b2eebe40c1b26e0dcaf4be896e4eb752a0806a6435a27cb5e415916a98df49bb87ab1c67a8fb96ccd2f255a36435cfedd23b842f64cc823f79dfd8fb070f8b7b74e622f6d6f70b71751254b945cdb9cb3e40013fd915099a11fa575322\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 335\nct = 1d08ec064cd364d54d342d20b25808f8e5fc434dcf5099f48d0a4cd36a0e2152f247339f733fec14cd3c5aac28f68b5f00dd9f1f482a59627b02eb36daf79e5fde23b4741f1895e4f352d1bd30ceedbf07be10c05fe090d4056e383c7ccee6fbf5753f93bde04b0aea1637741c05a415903fe18ae857ce38dfd9d", + "6622aa5dac36336c2505d3ba872df7d13907683ba63b3d3ca057d5a422cf2258f1d1117f12231963152b391ba1cb779054e94e0578cc1937bcb85c2a578ae81d69d7511f4b7f3399883ee83b4f82dfec4767755be9694988cf4b6b76b9f3c67ee9e6699e767754b0c96bd96d9a88a2b4aacccec515f10ec60c7a6671d5f42c46e0ac96abbe3\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 336\nct = 668384dca2fe8531dfa09df8ad0d96831abb8ffc4aa7b5cdaf659396d81b72d5bef88c2e1bd60b157747f9bd2eee84de8b2c5349d3238dd1872117efd575ca920516afe9fc65617e97adc189b181480a65893591df1fbcb22fa4df48d3e3331c49fdab1d763f51c04b243cb9783bd3cd6c5d5f8364898965a3e01cd56b9b5e1c8045f01fe0a8db9f9c1aa8f00fcbc9c94fe0f3a2d2f22535feda91f02d7edcbf4c58eaf0b23d90945eec62f4c98ed61168888e6c56ba1fdc64f19a1be7f2df400cf8416d418a09b704afd8086a297ab2e5dfb413245c8b8c41fe6ec7751763280644754fe462e452a3b8e88312defcf446def1abb327b246093b57bd0731176e\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 337\nct = 902b79eb107ea1088d3080286da5a2cb187a7cfe4bb1db05a73eda985a93a72370f60bfb21642a7c2955fa887708ef4db0c2f750b2dcc9a7ea848ea49a67121cb8f2304331548396102eb4e8ec4657b021262677447b1678ae0a4379cf405eace5d4e35449d77e360b3c977bcf433405a42c14fbc4b99c55838ba7e3118e8616e0897c07881b0824cce9a4708dfa947c565a704226a3ca61bff900bd57f43c1779837c4501434eef87e10197ad389634c3dc8af5e055cd5d9fb0e32faef3a8e3e5dd6fc751d664e7ccaddbc8aeb596fc9acb55937b245a8d67ba5337a2c369b2f482d09e2bdc345056967496368a29ca8d8b584546bc1e58c53812245b2f4e35\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 338\nct = 2dc0c9296327f53ed112da4d2de5826798bf9a8e879de9faa57d63e549a39225d906a17e98223e2452baabb6df8245fcd28c3a7d86ead77798cae80a43ca07f0ac5bf0e4d5171abba198f5e79543de3546eb987b98282dd838daa92da53a4df66005be0d476d3cfe62d79ea16e91b054e5cd8f7ee704b19a1d476f1e5ef451a5ae7acb194784504c1a9c6a0c62261151d490a45b736a06ee861aa6f60feef31ab46e9b2e0c0f186cfdac4d19b03770ddd8a711012daadc350738342ab03b6ac0beef4583d446df662ba863f99055a7c5df861912ca98c1385a44ecdaaaf1402cc495c695e1bd69c9126207697de9f7f03353aa92bfd5e81b97a8c98754daef9c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 339\n# Longest valid message size\nct = 16281dc1b9ebed814f2961bf4b82e26de647b82da30c24a3470bec2715864dca61924da9ccc406fd6f70fcc50013ca0d2b942df1e5cad693a4940d16597be2eeb2a2bd6d6c91a7a00f52bb56306870860183e41e1f07cc34a6821e83e598a6fc7f26762f317851f8f43acc774654ba52def73a2bacc622cfd2616d9650a0d0a014f3b9ba54316295e04ba88c56320a10488e99a119232ea9ce367d33d92753ecd45802d707554c271ae527b91395da7154c4f4bd002fbb5d3f04635fee91eed7009e2cc3a26e410e633fd8ac3cf02e0115a40e5b21578f97d80e126bbb138038ecf95a8131db70c6bfb49b4c706036fce9e957c721727d6653d08d806d2501c4\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 340\nct = 39674cdf85ee3aca2f98a5757b31ff7365409d554c801c9128edc8e42751b62308cde38dbe0419b0ae2ae2e990ac2c0e3e76cdf8dc8d12f654d9293b931c1cbdb597e839e834ae8a2829ecb5e2d66b56859de6eadf9eb17ecc101498961350419fd3dc7cf4ec4c9d838544dc9cd6b7cc1e9402486c76e7fe8ecc7ea26b1f5506dcf647a13aaf91fa3babb7dd7b6e916b57a1a858ec28bbc96a2ac58d820d41af0688a6aa732392ecb95c03eed1062bf495ff8d43d4a3a2cc089e832d8f095bd5843c87db7e6ba4cba4571669be7b174990db3d0bdf9cf889ef38fcfbda95b00daf78b24ae80524fdc3f42259b47c758859227116aae749325c16b46e486b4d53\nlabel = \nmsg = \nresult = valid\n\n# tcId = 341\nct = b3fb4d0da77bb054101c93c72e03bf61230e4348a4069ad91793cfd59f71fad75c0ad2ab24cabf84fb7bfd6de35f35f4f5a261e43e518fc4171d054b5ef555ee6eb43f3212033a41170c771f6bc59d6465b4c6aa2982b89e403d5a03d14949a7ea3c38b9a640e8cbe32dd2b70a6bcfe5a9425b32b85ba095d9dc8f940b6ad615aa76aed893ac7f75023a904b63df83bb6fa0ee6c33172ab09e1f241a39f08f5f66ed393ec0f3c2132a825c5c0e14881b8a6b62c49bd56da4bea0757fdc53fda4a72d1d77676746c43c8316bafc7b24df16a5e290bd915deba5d2fd8497821c680b2bd08987275c04ccd7732cc2b110d44f7102ca461551fdaf5a10b14fdd4e13\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 342\nct = 13ab8ed997c999f500eecee19f0710787a5f0a26c79b1d75fa804cc43a79f920742b65b248fdb0c40c9c15381220a522aad2525a298287f397e0a21ea34addabfebdfed392408988e03d89dad00af3892a0837ac13b5ec220b69312580690edc86c29ee361cf7684a9c0dba6a61228bf050fb857cdfaa0587a94d908afed14d5e713c68feb7577ea65d912607ca771a3651129f62b22ac1b95762335c177929c6013b8bb14a5c4a2b", + "9123f329cdca49f9a00ff2f27a3772d9a0d2061f2cbda662dc27570e4b2307c3cd883f3f777e3f759985339b59aeb6a691a3cc805168b8c13928578d5858efebd63f6ce96805a8ef4242a777d6d83549770f19e9565ae7e\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 343\nct = a31bc58540f07c4ecb473c3979b3c8953fc9f1f505ca62ec12ddbc4419bbc6c8aeaa1ba5229066741cfbc336119edd98c49703a414b5dd333ecee8604d7fd34d5ebb051704d7c949c0ee87ed0366706e3ea68f685fab4402531d8c27a30052b55699a0835b7221d637f7298893b34409d524ebd8cb6094ecb0add7e221931712b774399e4075850ac8811d65bf4e863d1803130723c522f619abadec37d64f7a610c51b44dec491622e6571598636113a7f0227da5715f17c292652bf34c0d92728cc64660caca5e551714f9c062f3bc5d22af72d252fadf85158a952695f675173540a13b04994d1bc828d42877661156b5c241e5f761cadd414249ef853eea\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 344\nct = 40be741421562a27be5025894890073a79a27b5a5c9993c5c4ce45409de57dc7ea8d3e5fce3e402bd8474d2c8d59af96548642b9321fca8231c7c50c1116c7b89dce9515258cc30d3e01dc3b8186250359243707478e20ce8a606574fbeef65e9963c29cbc355f9c2bfd18fd896e2a1e51061dfde79dbaca70f23c0a8859700d3d2a9801020945c65621a6498c907233a6b1afa697fce47d28727f1278efa4d2b04cbf46b44954c4080b23048bef5d5c2ff2c6e790e0bac29fc9e1a287b351f2c843cf5bf9369ce8bfb699b1a1d8705769acdf62a82744b58a59112fe5448260f134056b8ba8e821173ebe319ddbb712ffbc33a619e03c4674a319d2440b97dd\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 345\nct = 8bac721df7cbf08e90ce282dbc8b8c572ed2c106f6155aeaa9e65d7442eb0839b941d54ba30f7fa8df6a18633226ae2e022f3e7ef81c3f024a9354446dbab84600e3e9165b171de88b91f3fdb77c4f941136467de9c88860d1c98800fb5c0c33061024a19c2cb507347e69bc2c8c166c74cd05daeb8feab49823accc2a625c50d532f7a62e251974d92cf502b23621421c8db1191bdfe4f31c45a3e5a820f513868a55ed32f9b96e386b4773eb4f3860bac905a2cfddb1759fa6d617d31587cfb0fe0d1fe90e8be058659ed8dfe68f5981a9fd9c1e723462bd91fe1c78535407f4da78f4dae72e7f3c6550cedcc521a8e957b27ff0b42d5d56fe97eba9119567\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 346\nct = 30a2a076c5fa964a9b8ed1dbb378f3c761ea4f2be1040be6a7a85493de1d00eed5be532887dd77e535e04d8005641595330456b7bc7ee3b648ae9c6fb590648ca5f03f5f6fd0a971ed9bd20126e86b215fd1810b92e916b744ebc80691f8f140f6c724cad886c3aa3f1907d399b47dd929f2c8006a7528c2d6df3d707b0a1f9511a117c1928ee392225bde5b95a22ce017bbb75c341c9cc03b5e18eef4e059e3e5bec1a85c75f2f8c119ab1de874e050433c6eeb0db7555949a49e33114b32e52983e4ec47f4e3d2639e2d0f754c5190ceb5ab193b135b028b93ef2256a10b120161b740302caf690a159591a12e3de91e07f9d7b9056930d1d66b1b18a391bb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 347\n# Longest valid message size\nct = 7343866a04370f6c69cdcb771589198e6dd781cb3301eacc92b96df5aa7546f989f89a33b676b55f515c75f2d65341fe42e166f0f2c7d526cebf64b68a71c5c01e14d0b155529380a7297ebd0c186e5add73da40a620c7a499716f6fd553c93424f67c29356eaa107cfc1e0feb309f0e84a48a8f687130f0b73e12eec66212aa25a456be44c6bcd9c96b6592141a7364cebde3d2497b51221ffe93fde22703c69e42a70c64a4cba5100354270c46fd76a0d384da80e14c5c12ad94d0bd8ab4d3d589b18731a5069313fc8f1d693633e6bf09542ce7b098aee991554f19e44543624573502c3027d04df1397859c59f97f82fd37aea125cc1218b85e92c9da701\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 348\nct = 34c697defdeb00064f4290bcff76138b378ef05191c280f7fea5ca57a2171ec3b35c8b19ee5407d87025b0b3a5e400af786e2262627d28ef8757fbcdbeab534634bb01bc295d976b0f138f11de587686ebb34e1a3f91dee0981c9b4cecb7bda3611776a9244fb146bb6e7336dca7edf9389ea7cbd392d8a5758eb5a05d2e51c66c9465a772b9d8a3f59a2c3e39f452eef65dffcdca7678028655657388b17e419a02b64592063592fef828001ee06d960ff78682c622d48e03ee5208b5d31a7a455316c1a7fb092cc53052cd48b7bdb9d7b0d2faa9912ce717b82dfdba382be336cf42fe8b47eb7628a05c7fb0e97a9bf2a71b61297b67ae53eb3782a5f9a2bd\nlabel = \nmsg = \nresult = valid\n\n# tcId = 349\nct = 60d463f72545f97a083ad1834c5bbb560479a52f9475ae98a72b2b823433c8574522f6c394c42b72ab5e8f81715e0992fc044c0493236c5446ae299c2ef8cca21205a62b316a621e1628ca0ae8e1187cd39c48847aefee5f2a83fa25772822b57bd69721d1b1ebe913e124e684f467efa8fb843d5908931f3d6f4b93c16d80b37e39d84294547abfa64943753b8f2f1df3b491a12de790bfefa056e95fc7f995237c1963dfbf6fd28171eaeaf006ef22d74f87742034d3deef3a8734c0e0f2139e50cb856c902697fb101a2a8868420cc7cee6af85357b7c73c0a7903e54e19b6e4475c6efb88", + "2ced63a66ae1da7c66e2efd9a61657cb12051513a86aa5d2a7d\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 350\nct = 530e7aacd2f1fc4fd5de60d535985f76a1e5fb9e0f4eba9f65dd02947b72dda088edc5be05c297a0a8767c321c36fc12d9436c11fdcf27fe93650829855093899ee61843f6ffa61c12d2fbe08c4d3015babe20defb35f6c304fd3b3d6834a0b488bc9db531f3d9cc65f2b74a15d1b4389b8bb1fc42497593a8eb9f4ca484b70c3421f294422c7e5926c25b7614858add3065dd49e01b54a11eb58efc027e267c0ff85948f09bb66c7529b1216605d9d506f4dc3052b91ce6ecc262b976fe57a584a65778175a2d68754bf01e60c692d3f4aaf2209f904ad85e1923929413520edfa7315b153ddf12f1de4ea2c264d4e6cf8a2c41ddfb05f8dad756a40b8ddb00\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 351\nct = bcfd14e41ea4ab76764eb65f2cff3735bd6be8069f4aa2287f383fe984cfb0303684af69e2dbc2d40f6f4a29a559ad8f621071100c53eb80455ef11dbe754e8e4c01c030628422e3ba883378c0ff36863ce3555759157479d801de8093d4a085c42d9c77fe7603bf0c47729e771c80d60fa15b9a0b5eeb189a511439ca7d21a2102e2169286b9c2d95e777bee2ec72cfe4c34d075afd6ffcf65b88db5f5312c2e046b77c2455ed45e4bfcfd4a3fa2d3c158a6fecb9f12d61740f0844765fea70e6e0253ad225c7673d8f8449c74e4c96e8ffe73d3dcc908047c20a7706513cda600b50e8f77fb2c7558f5a1ad8925d7507a3a4465b476f2b108ec6be144f2ad0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 352\nct = 125517ed81b52b8309bc774509b26d105dffce1e75a65c763860495fddedf39326d2524f5a3d186b9c36590b3226b06d30462de91754fb9432b83f62e221fdcf157303358215324a0acb662141699ecd56e57acf6da52659db597fb858721e66c518c2e8838118c52b607ffc19a73e75550e9c70f85339698e45095c96aa872172c2e6121323fbbaa44dccc90eaebb9c7c145bc8973fe01b9e4a14331ec7aea55c45c24bd85981624aa13c1b93d88b89827105842d2b25e6fc30b8cc49721f25fa75dfcb5ce4597ddbae702986e5e4b3e091797b3b06384e95ac595dbaf57370db30f029cb38a8874f55d75ae6b34f9a0ffeb0e3bb89f6f065054c566fa335d1\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 353\nct = 4169bee38d5f31598a1abcb55d60223bb01108ab22df1347e2b881d87435f8405da13e5b1c53dec8d7261cc4daf20334c8da336a9fdd93e95e4da3855a1fadf858741e6cabe0bfe76274bc17ec66737f25a6e778a5c2b4a2f19a7a4ae77675ceebd817b0bf97464956c394757a50d7c9a2a27884ff50ed0cdf5df8d234301e7f9bdb75fe1b4421d146224287a76e6fb05ae73041d34f097ee12af8f8095c52c7527366ed6a2b4d19b03de0ea51b99432b438942a7b24570e71a70ef9e47c8eb619e4e5e6028efc3084150630cc17df58c6d5938e5f8eaca11c5cacb21a631572ddc6406f49cf2cc250eaee49f6de058723e619efbc257db26252e3598b5e5426\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 354\nct = a6128106efc48ef2f62d130093a4c044772c0f3952ea96c1544ff1136cedb93e60eac1949ab02d6690555938d058759563bcc883fd2e14b2b5fd82cc6b9728930f31eae0d78aae2da284edf33ac5bc75e37bfd9b04c30bf939c5fca31257023357add5856fe8f3ffa856e62e7f7a9d807489e47e4422df86b7c7970449e7f090ad6d52aadc5c751fd806f03e5375ae36045f8d8f90263890d905ec15fcdf0ba3dc9b17da959d42140e5326b85dd2472cb2aebd0186be4795cddecddfb95dc2fabe016255179d836c19fe9ddf06817d2d7f00499e985e650c5b7e9c878de2db1a1be05c21a5f039a8ccdd6a7105ac3f7d878e130be970bf9e701e5ce759d14860\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 355\n# Longest valid message size\nct = 0acd794a8c16102840d2e005df1ecbd014e854fdcbfe96356a5a14a720408e46147f46f0b4e60d00ed5cf5886ae0bd05f7a8461f9782384f19180f8c3f9e7ae561adb041871d9b66c7060ded68765ff212676279f5ddd9c3396e422cecfd3e3801f9157740695b947f8cbe5b9ed8b287b6d61a4c7aa89dd6b5bb7102a98ff383dba89aaf68002ac942d21c778d0fe9b5d237cabfc04c957dbbaca0bff6554c9c44e8a1b0cda7bb311aadc03d8f0d94fe15c4ddab9ac9dfacaa8b795c901bbd86251862a4262e80c99966818a1ee1c95edd0d0d9f7392cf5f5554634d44c38510d33d30018967b03c390bca42b47e6c64ab35bfbf6dc9ebdc78f87cd10f073a31\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 356\nct = 03aea385d1f1321eeac78684a79ea101f54adae40474a54c8e574e1ae3871634050e5b596461730c345cfc93224deb7a26ae40f30a0497d7c6f0e141e9657b84bf9e20606fa7fe6e1c921d8de5032ad8ecc37b7c3247a56b3992c7c63dfc3fe2f22d7c4904fbddc371f560fef052f3ed89202bcc5f92f5a7fced461f984406554eadb85ab7d2bd7fc576d333b8876f82860c94aabb705e34e5f385cc2d7acfc5463a0135a15ed3c417789e0b8873d5fa0241c9a0d9894f617cf55c11fc45a47b3fcc04fa5b57e9e188addcf259a0f8051f254b6a57c2af22cbd4eb2c411e229045efbb577da4f480989d173a2fa367af721088547a8a219ff2466561eaa877e1\nlabel = \nmsg = \nresult = val", + "id\n\n# tcId = 357\nct = 5d19107e5f9422dd3d9e2207ca637f7347454c338c3191ef2eb5687a49f6570f723aab7ebbd78abba840942e74aea052dc24792c9eef1d72c148733c19776216431f917b81a9a80ff4b1883daba20dc6c368c525a2105550715a374583b56f9030df876d67b229fba732369113585166e41f8b5bb7735afc50970396f47921cb2d6c8bdedd5ff1f0411c804e412c2523da5354a0232a46bf9268402fb952f0ca00d04bfc4504c2ecd9772001b2d77be4731e131f90b46e0d0f51a6f7d787d95f01ce64f78b0c4759db1e4546857658b4bb899cb2e024d15b8bd14d0f2fd02a4001be3b6ab35ac589a83234d8d906750dec3e509332ca081969b26a1dd0ac7614\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 358\nct = 00d7ab45e49e37e0d73d9ec5d477985b51d9e1b7b9eb67a8e0224f49d8a3432c0dd8df02b5dbe8962b8a3d749d71e56c7871c0b4137d98de5b77d5f94bb448e124b57b2af9c24004bb693baf2d9f54fefe770f6f320cbe73c0405276b09b1d0627b3018787a3b27e09aa0b3ce50a79f946fc45746de72a93554b993936d3a41bf90bd9f2913f5580c8c1c1b853271286dacf275280faa981c78dfefcd4dd09b6f09bd5dde3ec11b02eb4538e43fbae835e40f903c81744797f04f5a38409a502f3a7eb9447a342dccd82fb192601d40f57192255f751f102e14fedc7e7aa81c770c6b72dcb853366b7a18fb11b8e3b3ee218e59f2dd74feba1bb6e06a87405d7\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 359\nct = 942fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 360\nct = 36deb3f715d91d4f2c5a21a028f87b227dafedb7c0e064712dad36c276fc15bea7d0d3671b115323849ecf52e6326e5f2b205033177410eddd8e29fb06a1b93e99ff62ac8f7dbb973345947de615e9a8da910b5c810732985c3020d93e7485c69801b7ed49433ad66a0708f26d51c0fbd1c73cafc4c89f50a20a09369db4d065e9cd7845be623e86f497a0c3e9485701f18006b8130210cf09c69dcab7ec0e3c166fbbc5cc78c89dbd0cdaf7219b03dc580b4b8f7497c1f9f36d1c61e1609be1f67b892871ded426121c5f83e38d39127c7b574157e2f4ca589efe094c3472348bad8ec5b07b4a2f3f68d4176b6f381930ef377c640ae8491b5bc3249a5296fb\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 361\nct = 39f8f5ee290e93d4a36b96aa94a3bb7edb33c0fb6565ca6a99fe2434222be6b6846af4daa933bc6ecb62e963d2e107f51bba8a92ea5a4e6490402102dd378a55c0ee2224e77395e27bf28a216c6f929db2c2c95721d1448160e888aa93251c966858535146a70188d87443416101e530cef68a1781f10368ceb43c287c73cd8c44592c56bd8f2bd501284c3118fa0f0402b42ca7c4ea3a917afe71ea82df1655a39c650ea6adc9d73e789970d9b3bbe3f34d0fc4dc5fd51529cd328a62dee0c30eafbaf7dd51de3c31090833024124741966bc8722a157a8e71ed60bb3ef4704ebfabeba4ef67edfc5a120a0ee3316797e0e6a9ddb4d3bc7dcc9f4c262fe022d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 362\nct = b798998999f0e4318470e72841a57733c842f174121247fbf3e59e7724bfd9501425234f8616d288f0dc8206c727aba50c13016d4be6f3bb64bed9dc5122b94522b8987a9db93403975302ef6fd585cad02556a735ffc5332d362272a07c1ddde4484639ab767e39881fa1c0077aed9e8ea4f6349f59940953c956f52065fde0a97624d0840fa610a46dcbdd12b8ea3c56c5873e9fb3f58e43ac719d50c75b434b01fd7f65c7eabd5a71f305561088ffd2fa7bb8698d16455a81d233a4dcc4c1f12280bae89741ac47885552d21b37523ffa8901a2256b3f7fd410b6d842a786ce2cd6ab81a7596ce5479eee98aa3836a22ee8307888d9365a962f2746b01430\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 363\n# Longest valid message size\nct = 94ad881563060d9ac62c32f57f9cf08c57ec10bcf77b35a67ce89da68cf8569e2e6891ed966ab988e68a0e6e44b389a57e2ceccf4e7e32d6bb73be98db72bf363d0da8a20d063e9be5d9f4c62e718004132c9cf876ef58b07c122f02691896df3deac296dbf3e1f6841d02572b6e297d2f0c8a54cc4088fc9bbc0f67f9de75dbdf81cd48e2f45b3b9ff2bdd3ac749d4f43866ecea7483e810cd3c332f055cea1525f263c54e5ca3e1e049af11850bc836e6064cda5cf9204e9cba0857b1fcd65654e30b062e980150d541027a212ecda6985f7e93a0f799679a7c36918aa39de158e0fd52c5cdde046fe6e4ee67f20ccdec1c4d328098c09e6b2fe4251586b67\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 364\nct = 5b467ce0a97ef94c7956b5f2ce08f88acabc4e9d6e7b83e6521e73c03abe9fda31c4c2c61ea1dcf5a4bea5f6", + "8cd1c17198c9c9f22cf9bcb6797629b9db4d96341503d7bc1286c0c47faca078594ab01530f88dae2fae71e5601c8a79040c81afda8f60fc1853df885885d8d2cc6bcb905f105f448d984e4a2374e78e4c357ef5674fe9917e30196d33fd97c4d67cb98c2a0c3f30c410453679ae748fb922a91da74359ad8dd9b00865517e7f225a8c999bf7c93bfa83bd687404425321e73f9e1fb97c11562f0622b217b09ac3542e0ac650a451011431a870c2ad77b9be4c72068e25dcaed1f2f9cf9a2a8336b407711c3fe16f2bc2c12e5454275ef783c732\nlabel = \nmsg = \nresult = valid\n\n# tcId = 365\nct = 9dd1ed2ae7257d576d793a110e0b39d85fe2b312ede286f0c1bec4fd975f10f9f51d9cb1b467de234697c428094a87879434f21f91e39fbd2e1d4b877313af6d9c92f4a7a16ba148fc5bd48c5405e27a9bfd6f2832f0f40fdb32ed3067fe2952060e5726a9a97d55e055b623cc42ed6a4db870f246ece6e89ce346060a4a5cca214a35e868231528c0c184a167f1d7c331cb0c1af95d6abd6dda250262aa54f2f6016d12d3b530dfe09d31eb182ea3718d8241bfa3e60137db838043ef4cce8ba28fd32b94198501d8d3d81dc9cf7eb5163c41753abee2ccbcbd368b8383b39bfe0739fe84f3e2b32612d01b324e4408b727318356ee38c200d5148b6e246bd3\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 366\nct = a042226c1eac49482797ac7065940a268bc9d7b71a84ec7ab43f2fec5af2e39521780c7410cfd7538acb5d17d213d4e9ee1ae14e44db6e2249f97ef1ee97983e2bab3d2ea4775c4c8cb79f252cc7875dfca5214835dacb1bab7da6bc7781c15b56546f9273f79025fb8cfd90e632da174311aaad6cc5affbee024ff1099395f5cd9f314ec3cfecf089c6703296caa433d6c3c5779645ccd5c2702dd916aa74963c1c11d30af3348ffcd6ab28ea6b8076a8a82df890186c1821c1aa18766d8024885083b1ac5ade07aaa0bc7c5d38acd6fe392f70378e2a64403c39fd4dff70af9ea96b25d2dcd4ea4f9334cc24a888d1cda58af7eb85bf04752c379491c9d8be\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 367\nct = 54a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 368\nct = bb49b660fb692e67ef888b55dc4944726ff955229f20593757eb616a796035bc3ee9d461d37dd6c5a5cb34303eb739b938dd53454675f872db127ca7cc6b77c6ec7188a436c09310004777409a7e680b8631cb420f7e69f04bd8fc3d1f735754a297a05b58ee52188b8fd00c7f1059932b8fbdc5db8321db0599dbae89f62d7a05015ccaff40a0505baaf4bf96a62e0f3656e84fe1b5e14117755d3c2d4395b9039fec8db8d02afc90cc4589d232f501c184753b6c1c9d687a77e6a40acbbdd97be6b43deb327c4a75f3e09b638df85eeb73cf8e6234122f04814c412407003d703d8192e02016d33638765f5aaf83699287095b47eba7d48db65541e4d8f6da\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 369\nct = 9f0a968b8aed115482ee51eb63b25ff07c3294eb3f8faea6af968408f4bb7fec7b456e2459626d5b8bf10ca8e953b0606627607ac227155b7accfa1ec90bd94ed216b7a7bc8ffcdec6f4ad0441dd24f1227a2f2a61e0645fa9a4d325f5861479a51af341bcfa8f699c64c02b5d2979cf7fa6ff2316aa3546e31bf0e17b0974252019c61783594adad3f8ba9b81780e17a646528e111994aac91fb056a57c19fedb948bcf1270573ab35cf903e1ec1ac33ce8359c3dc4210467a1620b1d3928782ad079ba9bb1f2040e157c7e5963594a7bc855b9a476adcaaa3be95f28ec49c934bd2a2440e6110ded6f02ed569206cc986a40f60ea4a97b30f5dfe8f38a6e30\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 370\nct = 3a2f3740f3df888485a993c169874d624097050697b21f5d3b6d19bcd373a6005f633931446147e8a4ee53fe11c305d397670019cc03fe83eb15431de666c1b7164184c33ce2508bb0c0e0c79639e6be07b7f5435d37e5f1279bf033ace5fa259c83b19a62f8f9df45cf0fa8a2b1b0b3725926c40a7fb2463da7e80e4dddfb260b3129d4dcd8f05e728f5cb6cd484b2328b8d8c5e421c9a7227daaa09cd0e7425886a9912a38d5e6cb716f0d148e17ea1ffe520a94d8b6235b5c82579734c642717cdac41d65aabea49e05cbf41ad2554ffd97fdf73d14d783e80f08eadf7fd522961ab00d89fd964b6f72039a5f1c76cf029f2177a80bec3cc89475ea3c9010\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 371\n# Longest valid message size\nct = c2edf03b946ce57141fafbc89189daa734d0f388c211a322ad4ad9423ba5f31699abe68d5c03c0ccd56b1a39abd3145f4c0d59955e6cb502d6720c1af31ec511fed541e1a66761a20422f5490d3dadd815390a01da616ce4d7934c68e7b1c53d947803268d81d26429df505c22578f55ae0788cc619567f02237368258d2f591b51d61f088d972c40e4fbd4f50f72a674d25a1cff3b49edc9019ac9945cf2b828d4345398b3aefb63c9f0497ace4b7f9cf6c087efc93802e1c19326585788df3aeef36300f78f7ad016cd4ba6c55eb49d36e0d49f97e1bb8ae12e9d9ba66d18aa76812008eff83e0d7d45212ee972957c355307823fb692bb2041e6acc81902d\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37", + "b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 372\nct = 848c6b4ef493bc6f12f15a26ffcb6413fa71696c43d497cbd8b5ade17c8d57fba987dbc8fae51d770c84458d02716afdd4399869a329d71fafe00d9e5e184ce4b0fd867d2c07719464f528646043e2d37903a5a57c7e621231f43ba8f65f7b16e3ea97bc8d611b289ed3cc2f730dbfc84f6ade867c3712d27e6c671b83352262d489b00768d92372708040e10976b4c6bb040482d91281067254430937501fc42caf2a207d6c31cbb224b6a8872d3380084c61feead3234ae8cf31ae9658a4dd6150975a891922e478d192857e085ef332ebedf525adb2f61aa9959513d5464c35c793ed6fc36ca8110a84346ffae9c4d48200d573ad1f2d01b20ad5ddeed417\nlabel = \nmsg = \nresult = valid\n\n# tcId = 373\nct = 8496e09bbe91dcb8ec2b8fb0bf090c822e3be9bb19d321da367e281a42b5149807b154d8cfec0ed628e874c32272242ca45bc62a7529b76b348d202da68034e9b69329a8dd99d01a81e02ea48d5b93cf906224219cdf788dc17f3c87dba7a6b927ff918ede6c506e7c15852323e8eef8311fca3375b90fcb63d156f8cadb14af4b50ced0df183c1e637985fb5a7b05aac8a32d5aa11775a7f59c6e7df4f581bc5c95ec04ff794dc70948e79bc819ddc4b36e61d4789a961fa9d158870a79d0bb44bfd58b304f87d93d0f1f181c27f07c23880b931e79386023f7a70f439226b9b2be8539127a2b64cc79da35d98914340340db2e51ef936c5ac5a36f9ffc3a6d\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 374\nct = 0f36e01e9bad3f16ab4989a6fb8cab0af1431a4f309fae56c4a23d2dcc1de47ba0a96ed1260745a805b20ba09247826ea6b9b4ed5016a78c805b1f5903d3fd50c50f9ce6138397b7109e1df7d841eb373a7028784b18b1a12d1ab414e26afe00e88468515d36ad20c247c4560ab7a7593f9710e1a19ef99f95d5177f9767c433ab5c34aa15f87ccba115001954250a50c72b4b28a3d6b52ae31b9b7f852f1bb5fd9b0a9e95ed83ea7c8c11a6d9fd340ddb747e613a182c2e6e8391cb6241e6784868dcf48c69c7e04ca62b738714265802615603cbd993e291254f573065d2c7d61f8a0d8b1e50003709fcbcac99ea9b4634654d03062b1bcf15e5318c1fa1ec\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 375\nct = 1396454c4a4c7d67b0707e92e3303d182396ee4a5a5ddfda22b39e95dc17965c2e4e16783c5574fa947314df4da8fe339417dd687cb596f0c0c6d61ca8b2e813269312c5401717be0c1b4996bf94b66d60ee2da13f94706556a323022f26d9c0f790104f34a96f178b18e7ce14bc731750851efc9249932500911b4af4a9356ac9dd510e1a158e013e2ead6eef913b645e36f636803f5485ee4364b8236ca4a2d159823097d4b42a96948e7f55ee5fdc733fd57c0484c49ac2f6a5339344ff80e32a5d95c64bf5c22dfc4d6bcb76cf23f200d02848168c8fab4f7fe90b4b8a906b50a89a28c51ee3fb4c46f0f3c582e4a0f47d1da822b44de1f034c7dfab69b9\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 376\nct = 1736584bd45e7e0b5a17ae668ea6c58fad6676f897549453b1a04d14209a2e910e86447ce72697fe029459adfa2daf4d767d7d7b9023d70ade2b92acc95eccfdf7cd354c3fab5f52130844311238a4803f56dd7fa799eab11a3122e66f8f8cac30c6ee3e3c687a2fee31711e4a8befbd1cfe3a945ee38e6de5b08b38181b52ea44c9789a4b3e645da23e67fdf9c2b855140311abb8c92b91895d17f1b96c82cb486e558e64c9f55b1df69ee9f2200f31c0e5f0c2765251a4193102f746ead8ab2e1f90be9bee48d857d0221cf9ea0dc46ce470d74b9042525e4cf879433839cb928919b09bc2ac331b0f07abfb168392fbd6de473553d6e7d121b72ea40938e9\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 377\nct = 9c01ced38c4bd5a1b6912869b8a903de9a025714b190cd5faa4966953399daaca07bef92d3110a7c3ffa333daf4cf6829a8e13253a025df8de9d4d0298ca6a9159fa8453e0b4da023cc5363515bd7e001b547952cee4364023886f24ac948a26bca19fc3ded54ff9c39a7bbd7527fe30b721c0a082a72373ecb2fb9a744a86264188189f2ef26906d26f3244b56629f6c315af03ef7a65e0106384de6d2e82b5ee826466ab96799a605824adf790ef9c6f2607fe6ec4b9c876db0913ac32224aad7702fcdf459c4139d4602024d56e4d647c096a5651d5fe18cb31980033d1d2e2d4ed7f33764f0642a8101275c8d754668fff25e447c5f2dfd103e97bbe71a9\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 378\nct = b3802e5f271ffe88d8bb023bb3ccfef28d371bdecd147cb38febb505f61c7f71ddcce2f2d6ca754438ad74dc1911fd57a4e99ca18bf9e58101eca2f2ef7d9d04649638917cf12d867bdbd0e392bc81cf2e8c083f5ed77d52217a3f1f9a2b2fcb507de6614f63c2c897535009ee8dcd81378ed12f1172463cdf660deab67e10fe97d03aa4091643f66b7c47f84a3132f0f27b4cb88594476b0530d686efbf5c45cb027e621ef63114f568b975e5a904a35dafe31f69520808b3a73c87a5da708608b87b8c0c8fc10e96c71210612917923608e1649cf0d575b3667c6a45edf3c02aad136bf94ecee334218e054977aae6473bdfde6dd5b3442a8f145681700f51\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 379\n# Longest valid message size\nct = 06f29ba2ac3e9e06358b3af5fd24bdbbcde4e4a6b74334581aa1f22839caa4ca1105a3f0cbc6d8a2dbaa07a44fc6fa1900bad29417733fce56dde82c083e0a1fc92c4b4895776bf8425a4ce8e28d008b3ec8f146542c47dcf658639b5bfec7b445a2cb62e7b3e79f5d998eff68b1c22c69ba838295ea97b514f7a719f74e3eaa3804455bdcde0f203162aa6a793155e5a0fbb8e14b61aa1a52aaf2c5a8601df6c8b1aaf8b4ce8bcb3aa3f44f767b1a6081b93b03d04adf7a18257281c07239dbd4ac73950bb8d840b8e233746d8c95b72a4c26595234b76f97cf65f69e869ca1a2ceb7d8aa51a7e3e26ef9cbe2ab36832324eb2853fa2bac9499cff825ad7a4d\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100c", + "b64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 380\nct = bdf6d93ae14b25d1edcf876cdcd4b54d1453013c8bf55ff8fda4413304bcb776ccb97b8f43758f3fc605ddbef3d2174c90b011bb13d623e1bf56cf1c22bd4a689d4653f894be08e3de46f01bca10fff99437c0b5da4b84e1b706f7a75f6ba6da86423ff4fb8e893e8795e9a37f4916642f66fc146fee91cddd0344336ed49c311a14b39e59b5cc88d48c6a57009969e70c3eb98fc3a81cf203f8f55b4ffd329faaa423e402cc9df1a81bd929a2a2ffe8a4c98c8f6b4411e4daf2e3f71379a32cb37afa1ffc816e5a00e4b66ebb597e91dbfb96acbbf234fd0e2a0cfbbc4a5bab2844ffbbedd455e259fee2232b990ba306fbf5bf0fc6fc557647bf128b0ae461\nlabel = \nmsg = \nresult = valid\n\n# tcId = 381\nct = 5f93ae3cb54d7200a9cef08527d77c6c25ee63be921f9d883c118035f780dabeaf9871ebf7eef7f7a26223c626f8d4d5f911538a86eef3d539dcf000f0a2f06f64bdf0caaeaab97206fe0c691eca0fd9cfbeb70744ba850f38384ef68c0242667cf72f58d2ecd8acca83e64601d317e08ef49b438853867696ad73d8b064d0cdf4e63d1b58538c2985aa61c2bd2d52e5dc830bac029896c2503a8b664c995158fe510f884d391a98a2d5cae1914c9b2e0731a6d501513f7643a574e881db8e5fa2129c7687d9c0afb673c12d71d35428d001ebda2c7a1b89cc98a9a44918622293d5f74f881b0c40e92d4d545b267abce53b8219cd601c597c45acecf148de6b\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 382\nct = 2e583275254e2ee262c0a397d2a5899ec793d00862adbaa6fea5d990201188c3f163cf429409aff9f8ea5dd43314a79acc1fd11df1fba7ab1b2691f35f227a2ed9ed33466ac773412672959330872d71018a099c03874e9e4ac2a186fd565038e966150f3a245c8c24ff75de82fabc28ac44d7d149114af20a72ef5f8c8c0f36cc4d770baea5f5f6255085053dc2793babb406117f08cfb6c3bb5c1148f6a3a3f4c183f5696908e08bb4dfa98b4aeda8571391facc72cc99799f321ac8320a3bee94db36550b21cf6e548a0d84d8c28d467bea5c65875b9ceaf1262a7d5779473100ec66680e32f1559c7e5a245c6c4ea2cbbafedf899334455605a5e42bc28d\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 383\nct = a57f88574ba5236bb980b675fb26e20d1fda79ef7cb96e7354675ea717a5d4e6a28a947d8eef0fe97d50b0dc512d19311ccd3e63a5b8fa7443bbcfe53f24c5a9c5e5f498f1338f5847779a07d47b707800e74211f66257e0f49fbfdef4fcfb51da4d8299e057b8f6f4612fc1159d4cab6598d877105be6ca93bd8714875e587de9488b3de7acaacc7b95980a196aa59a8ee7e295f0cafdabd4f12f9c644c1f18e093661ed101dbddfc692c9b84a7c70b3103aa92c8464f0ae5b1af16c0f6a614bfbaa5fbc757b7aeabc9b928cde896474dc804ec1bfdf4e2c4a81002a3a1055f6cb1621e64ebdd92b91108994b427157c7ab8e9cc3b81b3bfb60306134fab007\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 384\nct = 46518ccc7ae0bd6bb28e9d47762dfdc3f596048dc3aa83874c532a222dd403a1e4429e0312275313c1d3f4638bf84d6f8247f54312de491d5c16c37aaedf378f93386498cd3c9a34268c056b1cba7aab05a7c2111ea3cb7dc33ec92022d17f62a6cf44d7f786906a1d97a1deb91f25287a294953ee7636e557b1fd457c321be2433590d3889327b4465b29d0959d69113f46a2eb98a2daf14af4d5b1abd075aeaad65d1b7ecec1783920da386f84521c2abf0ba710937dd88035f9eb58d77152d7865073d59a8b9b7206be345d1cb08ac844f315906573a3e261df0efca90bfb74157fb4b3c6b7e0b221fc9707dba1137962e2f69d19a6372ea53fb69632744c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 385\nct = 6f8dd994aa62e028b89012c5577ff00e7dc1067dc7c2d7527037105828b545f353b43a2868f47219ddac5c1578ff64d5241087a949cdbe017cb8531ef0be22900fc59ae1ae972c61d0a52477a80f695e99a8e60774e1e53bb8651e914798bf42c03e8fb1dd86c1453506e717fd0a557f63918ab89a50e5b934e8ad249f694dc23ec048180510580a8173b87568c6aae2fb33d840edf7794c9187f33f20b3d1c625978f4f682055f89cdd35605413f9967ec99e5f8dc89fa27f9bc31d9f7243f08a00125849ac04d4c517f7c70329e7bb2033bc0a93f635c07c400bfe6cc19d57d025b88319ff063e1c880627ebf2f74c52477f4fdc67ad941161a28cb9f9e2ee\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 386\nct = 8f7f0c2c06ffd1e7a6cb2004d36fc0253dae2eaa83e257af9949d0dd7763e979b30143a485475cb79534d4d57f58f37a1a8229839eda06c43aa6cb44edab9ee7c8b6e90425d0a91e15b8d17fe9309c851ca058fb7f36ddf8888401963dd5f9ca85dcc39dada083e52e1ba28f3cc4d72f0556ce67800b76bef3173dc35646b0abae5f4e2e16d70fb9f9c0295de0c9c61529a3bd5ca9ee3427fb9a6d0a052f457277d3d4fe8fde6d2edac5bcd108f158cfceed5c1e4a3670aec44a9585787b42a46a990066147390bfd361b5ff87755c6d9dd3ab0d84043c307df488d9001fc3813f93b478f2289a649588e70468d36865405e5fe2e31ccafd5da08fc5f660df39\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 387\n# Longest valid message size\nct = 2df50931485bfa134d92aab9047d5078ed0e0a6418a3f5147894c7ef154a2c49a37de811236bcb43f1182bf4ab8b0503063ff3ba025481a94d7620d378610500522f9e1a0bd6e6eef496c1bf3a278540fa31f5102ff837d3dea1dab29c7249c6135c9659ab9eb77bcbd932b7f748118600ec1ace42dd9dd53200e7538cfd4ed826eb0f3598a3ee2d37dfb3459abd08c4e62aed68824ec5189283fa04ddd10127c4a63ed411bc5c947a1d9e4c9bb16ff93a1239a7cefb522032153751182f2377b82c7583676216dd459a8e08b4e0a537c6bbf9f6e93a6b5c5cd56b5454d667f1327c19521510b70848ffec7a89d13cb54ca5a5c23ca01ac96ca89bace5910f04\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c103", + "96629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 388\nct = 6637f9adeb1e6ea367a5c557e0d3bf0de4e98f57db62df343651d3f16e46d447290f381eee766575dfa267a1bf07917b3677f7c851abe810e69f1558edda2b178ae2fff5580f8a7e60e48eb5912e4de1e489012f2b393868e0f378c2c5816bb369bcf05947616a471d67ceabe8d982c0a43533c9744d80e4f3be99a8aa2aa8784ef822fc6136fd4868820c732ee1563ff3a4da3b6d3ca8171f706cb038cccd8eec52df3c8314439f545c0c143b8171e9cd49a3b272cdcf65c05b351dec20216b07930d3504f9f0de8d4931fdc727c2f6ef870aacd3e27b12d3dc325a2d035bf76544d6804109b5f69986e75182bca5b755cad52265390c4207433bc452510544\nlabel = \nmsg = \nresult = valid\n\n# tcId = 389\nct = 507071370a342797da31c4f8f1ae315fc490c13c02497446cf3f42fe84640f8fad745e7fce69e6960378ba2e8881a61aff5f97d246d574f6cc7f49bb0102b9470fc4f4ac645fa6db563a9ecb1ac81933199b8f9164f620b8031e73fa43df232a440e7d0674d897dd6b1c05ff1d578fa4fb50b77e8e0068896248d13eddb7a111503ba33e8a7c61b421e3863d2b9f87c92e806ee4001c4156842924cba31fdd3252f69149753b58ce28ee14456faf3a4ac04912c45fff3a273619e59d34cb6ddd0c788f75c67b984d67b72c80842f1d5cbcb0eccc99dd2862d4e5d8b6eadcf6c6ac6dd3da5d19f0d2734413a892dbda877df0bb77dca0e5545bdc8eed9219206e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 390\nct = 5cec69378453cb061ab6d9266f57e362fc1ebc43cf9fa0eac048ba7e640bb74cd9d7dc71b911cdcee164b0ebf96c782df68a43a0f18ce957ab7dbecdad9cdaa14b6f8ba7e5fb95afa8dd32401a3b5c736c9065b234df46035d770cad7916821e68d124bbcad794557bfc370bb217956f480d1022fb2de15bd68a2901e38c442a7d11482b2a297bcbe6dfe4ac1434235c73803c45ad8a141f18c03959bfc9883d8b9ae1dca5d5009fa0bc9793f9c5bbc638c5661216ae3bd15f99050922bb7ab460ea8c7d4c83c9f2122e2f2a49f4a846eb7bd9e7b7e0f554f929def57ccca46cefa9336fb308866c36dc43e53a0f397d3605feb3f433c33d8799857cacfe80c5\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 391\nct = 2070c73227865626f78417ed8daeafb970f48bd51a8a9f7b716b4f48c4a9990cb2e57d55ebb28dfcf0a5eb7a28322d7399340b135b7bb7f9de3ae0807db6511145a48ff3dba45613b2da0c6b7585cce95489eaad5723b03c26141d8548bd4c36ccbd550878c4102be68ab4156ec2adf26835ac504c2e815f913da8cad3ff1051297db9b73f9fcc2de13df638c3257db301e491d40b0404435069e39aec143baeb603a7dadc27e491b3c18011219b8310d25b6c31bb951c3d613b62c1e8b2fd73491121e5a99380e38a1f39507e4c1355aa38fe3ee7de893c50dc77872f4f788c2df8152753b907de7963709772cc4daa278a5333d14658d4f89d0b52f885f5fc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 392\nct = 1793a869b4ee398a1c7a77aafa3e6f2966602e1f0af563a9d4ecf465c9072a4297ceec58192babb8d5fa1b173bfa6fb86e8145523af762d7371b35fe93fbc088c959c6e23a68d4c08cc6fef46155732c2552450d9601f87244aa1be53851f4690bae35629ef8e77afd89044d5c3f72b4d03f4d9aa3604ed08af5de714ea20b5c225a13d600155114efeb49cc6f337993e5af4e0a47df9a2bdf6b936d3987d01e1762f03722fdbb08b542f9fa65b8b6ef3bd07d64622aeabaab98a5df84ec7782e0d39a154569ba748ec809f7153fd3be0ec34ad17077b2c812270a17a328b46f9440184a8646814c9aefa9c1db99a3957281043c3827606ed3e522cb170a4c2c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 393\nct = 949c25fc453f4459191d244b42b1c47e63f6500fa4073cbdcc054362be1f8963af6aada06c6e1f09cb29b918120182ca4379f9af27a3cd82c20eefe3d284ab94aaa3b7369da4764b48ef371680548f1495edcb161d5e4fff17fde8f1aebd9b7f212dbca7f57997ad7b929a769192ebfff93dbab340cc48b750967f01ef7e695bf279536712a93224eb6147a59579022aea8f67be2101d0dabc681f740740630d6f9ea1d9ee8acf818a2d88b9e76c96efd6e5dfbb23dde9e9eb4dc2138b329e317a9a66fd5b4c6362c713c9015be6967044380973f8bfe5252e449764632db78e5471def248b13eeee6a71d8789253a6e8de19b9d1cfe250672a7aff930a4e97d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 394\nct = 2a21e3686fe4fd44756469d5c45768f08ecafcef39d2ddeb5181f19c30342d46c14d102b5a0943c9865cc268b579587efa006ff9188bdc6d63ef419d4528750160ec422332d981b3e0d62ae92d7f7567e1fbeb8d81a9213af6d8eaefe3e7bea4ef8636932e5b8b2831093db29787291c94f98beef47de2b873d64da6653d480fb62b0f285acdaefb5bc18e526b9263b22a6ae5ce9f1c4134f11de2ec0ea37e6d4029c36d06388d4d912ccf67a1193f79848d5e60e954b75c201f11902627e838cbd8d10432f1491c596cbe7c4dcf11c4c45ffe5f414c9c61765f8bb1bbae01b525eb890f30c33a49ea32b9299ee6cd139ed9287f5c40ad6f1e2c777c85cbc8d5\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 395\n# Longest valid message size\nct = 3de5f5159bb82733c29dda8e94ad2fc52122487ce3d02ee543bbf64b9006b395137e4ee5928c738928326c2567593567d63b46e4063014aa29da64d0c8101e23923d03157054629ca07fb1b896af3c467b209acfb618c7eae4c01b61530e7806a4af8b3ad8211bcc83f3f193465f6aa4a8073a5c284eb626bca6d02ddde287e0ff1f4598d33a836202bda415065c39fce349abe5574d4ef2ad22e370eb5976c03156c6171e9acb13468e50c73ab37afec1e21e3c126eed803267963d27d44dcfd3b058545a8d56f82cfaab1062bd16aaba24df15a16698bde71e2fea882b8278256bed8db0d5d5dcfe26013815e84a9fc2709a8eade3a15fd757cc60edc47a5e\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b3902", + "32e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 396\nct = 8e6f127b86ed4ce03bea0242759dec562f3c0e475d70c950bb9865c5a00c19186487f6dad25e6ed4600510e067a8679cdd63f7718af92e5cc297d74d5ce72472c404083b156924c39852b03fad90becc3da0cbb1e80556b4010e9569c61e3b188b9dbbf58f779d3be5a9a7d000ab596d69c9aa48fa6c1f1fbc5be79ec39e27b7a76191b681a02d61cbc5924651198bdf9bb7749ab4a515d1ea1d9d32dad38dc703228985985043c152e2d8e918b652d67a40c2be1e2c6cc2fce11f6c923714b11732d8fdb1613c46bfcecafd64f9536fb7b41816736e3e4b62a1dd6e4c26e8a8f66d99cced308127a39ea1f21a6d7886e22aabf3ca6d6464278d930bf60f277f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 397\nct = 7a896725e0944db789d4caa96bd8701fdc100a26ca12e45d7d9a5f5599fdec0a8ca5ba9e2e0a5c743d2e82a0006b915e6572e066c30bd794e98fe0959519f418d5587a5012ff9b0c545930e3065cf8deac440ef60715ecb8de63f2bea7fb80bc81cefd2f5b979bf0d32e07e615db6a363f0447bec068db90a9e86bb4703098b3ddf1bc34b2803930b56fbb8e026b8691248d8e471ed6dc0a90905f96412470f1002ab2a754cda6dead97c5a05fbcec5d0398c1561876bac021ec4cdc6915d929ebb6fa5ffa1d6e37db99951fa19670ae0f8bbe18bacab54bebeb5ec2dfb4a0cf69dd7077b3229fd0cd8580fb56fa13c399364e2bdecc1a0bfc6eb67f01a17fcc\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 398\nct = 835a8d5ab336e2133ade3b3537dbcd908a49d3933d0747e6c567e6e4938346b40a208321669f82ac6fe7055b4c435c455772ad9b3809ac65b5223c04329f232aaed6412bc6f024575fa9eee9d5f813e384a07289b9b203cf8cd7e2bfadf949aedfac4e08705a17e4db719ece091d46b264eb40befa199cb27de1a744c96182483ce84808686afc56e414ccbc2f219057af1d7e23549f44f7bae74f135254cc965227aca4ecd7b4571cd05cb2c99b6fa55cf7ec9c4cc085cd0ad0ce90e3e7f68af2ea3e2a6097b81a5c5091c31026261a479d46f05c45ae016e86029dae86c67afba8b8b6e8e646a94d07d07f3eaf8ca177c6c0ed05896971c0a911c846ffbdac\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 399\nct = 822e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f4\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 400\nct = 94712359a945bb4711cabb40b95020092c43428748b10e0f11189172d7052b28401d96ffba516a9d491895e9e95308562cdf17953a4e05bbae8c8cf391e7c363506ac86d46932b373963e9e661e9de2df322719e6369f3ba68f42bba78ac932f7d2333759a53d4d18f5990b18a6d4d0af96d9a9451b2d5a8c3f427f607380997b5b2029f58f04301b52c18cf57c2a763b546a21b8da9627070a1cc30bee0c75863b196128988ffea683a4da5203924db470a53dac36a3fbec3dbd9710f85ff6b0728a692d640ed7ba67b7e493a7b95864a2191f617968ee1efdcdb5b015e45da55086b2b382a380cf66bc61521b2327a6bbf247ab7635da9a48acc119e867467\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 401\nct = 610aa2973bb0d67efc725204a0af7db852bcdd8227e309e6a523ef627555b7aeb783dee396934b61141590952801c027a559a3b7380abb6724224cf825a9c74dccfae278719551bbf0e6a8125d64bb437ef78c24cc00a52fd9a716ac20102b5a1d8fbd445d9a2d4ce2c55a2f549c2fed8e5932cbdfc8deb907d973834c2963720557668d61e3f2e53564d6db7b41899873e3ca66a1b5186a8a545d27915aa466df12ca7163a7d8137eea71ef80690d229deb089510567f24756f0f70a1dac609a57a11ddc400af943126e5c5b118b76b769dfc1a7a6ec748b5b906baa0f0e188b1c6fdbd6bc307af0fd9b4602ea62513430b3208e3d690707fc2d28ebc432388\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 402\nct = 76f7b6e1cf45b005ad58b5354cfc5799f74edfb27f27b414b4d25500a1ec4bcd46c6b65603b204f69a2a71b8d1099ce96c8ee52e119ed9b080d86d82789e3e5777cc5f920b147126ec8612b206bc5734e828ac819f90ea7191832d570d376df2c4e3eb5070fd8382f8c0a9b89da928bfbdd24bf1d17ebc83f9237a51352ff04b6bb3848cb6a9c195e5369f4b6ed9b4cc166377f88c7e6db6ef78c0e1bfbac5a3825867af9b22689b627dcd8d1441b515b15b78688b52b04df4157a888aabdb9e792c65fcbdcd03743fe45e637afa7e422782e6da58b95163acd59353e634337abb1c15b831a9dec79c517a5be0b4ee43f7544a2e9bf6af2bc53b080c60dc2bc6\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 403\n# Longest valid message size\nct = 9edf0e6ae25a3e7b6f31fa13a7a31db0e6ce2faa624c2ebcba9669bf5f205758e1e904a9a738bdf430072b0563d1a87f16522811d645cd9f85f13359d2961bbc583a3b15c66ab5a0d1373c2949261e3f44c2a1a88e25190efd30aa9fc410d2d23148c16daa90457bf1ee77c2d344525036e037ed473275bd535fa961a66e47072b586915d85d3d7edaae7945b5e7f08fa15a4d08cc669b3846b1ea02cdc3eb9bc5a54aba227f9434f19d28d06add791fce9efe2171e2c676bc1b09bc163798a1a74b7fdedad993dc47c8323cbe3aead96d0d4e7e494ac390200e6a79f96d88844d59a3d78626b0797b902220874e6957e6c214f3ab7574c6e476cc4262beda98\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f4", + "90ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 404\nct = 878dc3ef477067ddebaa6493c2175221f24d9417b38ca85985880aefbe4b27db9dc160e88d232991d5e421ed646fb74a04998fcd95aa1f97cd27718b80e5ac0065fcaf5316bf2b1fdcaccba30ac5d8fd43b83abfc6bd0a0aff8c2abc962966145dcf509f942f3dedcdae87585c5ef7446782a83e9aa28d5f5da436e186e3afd0d4d48190496d89ccb2253edc33c8430d70dde1fb3203f00569933677717c75278bd92fd79a2219e5be871519ee6e15bcd30280bac6ed1a0981e6236056d1cdb953f24da5d1bd2af084c642e0aca0d93d11c12a6ec7d6c2ae04682e9329860fdf625b6504cfbf3fdda7010774df04b97d11f7ad57a8e8ceda08a961e28b0821a2\nlabel = \nmsg = \nresult = valid\n\n# tcId = 405\nct = 866ae885f3a885c6a2225eb67e7bd492779dbb5326be63869c1f93c5c8655832f507997fb03100e8703c699f4abeb551ae2960ec482e7491301f51fbade50f52b68313302b9d98dbcb2b25b99724f99e397f73e3acbcf21c9a6a977230eff524012c25ca2efcf6bcf7ae7d26a867e69721a2ad4f79d386a6e0ce76fc6511a596f0ec2b9359fd6506c35db5e12b7cc33a7ebc1b8e4f483d60e7b9c978f8697056faaa1498416252c6a034acd977473ee15671fb4ffa9c239a2ef05127927208507fdbdd11ddda9a659ed9ed3aa60eebce46886881e273b990052653f19ee8174d441ee4f1d9077a4d3e207223ec50768637071b7bdfbb911bc07514ead1e5fe3c\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 406\nct = 140b104a2babfd533a996a13f9eff921c926c2d2387a8d59fc396034150eed63c3b6707bb39dfe7bedcebfed6ccc006106435b8d932fe858d248c2261fa8efc96929abc5b04a992fd5d480639cc45895a8ded0f441f473f13a8264239ec84c25be2787b23b3754eeaefd736738a8fb5fd43f71d56f4ddad414cc663db257752039057bebddbf078d8924ac7b7ac5347fa65e679ae6fca977e2d66849bf271adc5febbebccb985420cafebdd1c83de1f640716e0ab7c6f1f41783173e36d79186dc2b160ff04654688e99545dc3253ff5f8b65cf3c26566b1ef77e35e87014d7c9e06459ed2e3f17d27563990330c2abc9a5016f0d994cc9ec9f90d7c437794a6\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 407\nct = 5e1280d753d77814b80028b3ecc0987f7de8da4b2eba02784bb9619800be1522cd9751e1c4352d8502133d524c9436e0229f15aa054491e09e624ce2d372374a21187192b0210bbe25b21436650513f41989e722562875172f64687f2da2f7068ee79ebf0ca155b23a2a93000a7b080c6a28d19c312d1d5f42b1e8dd173bec2dc006f0e2739339c6d24688d6ab3ce6ffab24190b8ca56799152aee6153c975a59c7f7f2a7a45ca48114f2589808b9fbb6895a56ebba2cfad78903ee34f91a6d66a3ccfe5e9a6449d445169744c88ea1e46e9c15842776bd5fb8993083e234cbd1af566dbb02f22a9f7f291807eb8042a07df0268503aa6bfdd5d7b405527c290\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 408\nct = 0a6116c6e717ccd077a612db410c719d5164f01eb4f1b713920ee37f40228fed2f7bb0164b69ea37a6b6c24eb35457caa7deba795839b1cc3581f421db5b3ad9b91f0fa80f2e1f915c5f249b73182520e00b80dc35ca69a4898490d6304111ba59642531e565e1b223ae0d6ce2c58f5dae534032b35e6ca6db51804c304ed04d668a8f07a6bbd477ebf707698b6642ddce3bb8dbc4d569043c14457b50e1b0fdb537ab1873747dc61fa68b16423925930ec72455b14f54ed570b7a2e684a778e52e369ec0391ca5475045ccb6311cee377ee583813930713a12e55ddc5d8603dfa5c36eea81678f72001a68fbd1ec72b8a4f22add0a12a264055b207fc4c0802\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 409\nct = 2f0a14d60be6ac96fbbe8534f274d2e289291176de0f8230b73007fcc29cf958b251eebd74cf04fe3f47825ac9668828a6969fbae7ee27398554258107f59b1a27eedb82c7d703112a256693ab89f4ad322f2cbf0ea2927bdc5ed9ae0ee26ce5d942f48326beda82e7f7eabfbe49f248a24f7b30eb26522a7c5dcb18fb91bdebf112616e61c7a033796dbf514fc33b12a46a2da57de4cfe3d24ceb9f9c0558a05e5615586f1f9f4a590d39c0999627a43927cb8a5154d86873cfdaf48172ed38f903fb17e1e400f420a7b9b0e4f3c33f14872c9305d826873f81d6c6e9279d4f94c4027cc67c03fee54038f5da79dd4fba788fa65b552d4e13bcf9b12b8246e8\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 410\nct = 1c5e12b8ada08cde51083717c0c90622ed144f7c78c167dd0ce11bee29f038252dd0db45c85f149c0797ca736aec5dc73d222a3d1be66434315d6a4c0bb08ca88b93cd9d2abfbcc21035a2dc41cf0399b2f21bf03557254c83120b15f437c631145beb980bfe682e2d9d3f446a749afa5977ab1ec4e14f79ff6d78d4d4d4e8bb52948746ded5d9ba5d446a96d4dfeb55ec92a9edde7e696f3ebe8dfeefbaa5b0cd8507105b857ba99e49230494e1fe23b282f183ac7ff3d0f2b51db97f11036d2e5aae4763da456e58d1d03d79423da02106829cd8d0f89f729d5f65c610141d1f22ab9820c67e550fbab0ba75ea6e5b2589e6653807930f962eb890c1637a05\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 411\n# Longest valid message size\nct = 2b01ba92495abaeb2709a1f5a9b878de989dccff7d9066343fd16daf403841c4ded50e2a789566c3654712074167b15eea26649e4f56b2a905056f13c4c69063f3de24aff4d1526ca63f52951b8e0dc270771ff4e9cd7d4e56c949a499c6763beebc3a53c05da9bd6bc117c5ba01058927757854f1a1e42669323c425f917d808686f7a60f4b12d53019a8d9054bf74dcffdd6ec8012cbeb2083b574e35d894c83cd50d191181aa8e3e6050f744dcdf9c1bf1d5c4c1a4232f596bab00a8601192359ec0eaa8df23eb5d95863d97284cb9e17f6feeb9e6c2904320a24b669d67d75b50568ba31d987edbfa608c71419477518fa46c1fb590753b61730359704d6\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460", + "d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 412\nct = 6e62bf24d95aff6868afec2a92a445b6458f16f688c19fe1212f66a63137831653cedd359d8cff4dd485d77dfd55812c181373201f54aafd65730d2a304e623455d51125d891e65d97fce52341cae45fb64c38a384a1c621e2713ee6794633f029a9fd4d774f56551eac2176162e162640f25eab873a3451c475570f19228bcede4c67c370a75ed7fabccd538c9819eff182481b10d42f1a9f6a05373b8cf9b71818d467bd3b8ebacb619e8ad42916e600c043effceb3855bc48a629e60ae886f51b2a7876b0e623fb2ce68af4b039242f963adb0e4240aed0ed07f65f1ee7c0cc77d210d0c2d1dc10c81b881aa0c9c9e9499665cf2970d2ccfeeb3191531765\nlabel = \nmsg = \nresult = valid\n\n# tcId = 413\nct = 207180c340658b5154ae45d2e4e7326a0997c683a26b595e536a29333c4b66149af85e029d5419a39e3a147b221516ffd86b6b4b66c3e0c4c49fe8c57a2f5c37b8704b9b592b80db9cd788a4ed51ab4f0a1cbed63bd18d1f06a22f225866b0c2c417cb23473b7ba4250b1353bd2e5b4f0f937cd2efe5fa38db3c295f7748b970088657db4aa9a76e1ee6fbff166ec1861d00d085326c7384bdd1bc2f400d4f74dbdfadaf3fdc46073e668573e02030b9eb5af58eb540c66677a771194479ec0098d858a2ea45d0ba1e6b32440dfbac745000554d51a17684ca964b02a74d479f1d432ef763ef4059715a4348cfe36a215359712f25b6977903be4adb92febbf6\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 414\nct = 5eab3f0741e63986ed647d53e1cd71df041986900803d0f99c68355d249a15a47dc5b4f70a191477654299e5a2731f3b4eec76dea18262fc696ac794e5f66cbfcddac4472c578e246c26707598055584540b839836b1404c5611ae558a984cee8fd036cea924e0be2474a940f61e0acc14fcae95ebdc59942a9ce9af9a9c81999f7f6815f057ffdc2533cb15d6391d1e2d95f16f9c04209c889a4c359c7d2926d28a66e2b030a416b928d2825627998e5191fb4983a6e65024262d94fc09187a2d78162122433251d1bfcc8e507d06eba2d229c10031261da32ab8ccd15f1c5f9fbf07ed158483d736a110af4b44d6a4da60d6cb519b4454213cf9f0dc560f2b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 415\nct = 0da290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 416\nct = 121196e51a3f4476bfb6adddfdeb3a25dad72d1ea315d652f331a43631ad36724b3d14532110dc44e407b1184618f115677b33751fb0e8786ba220cfa7fc3fce22822eabdd4fc2761c7f34a04e8f13c1021c31adc123a32d871f0da6cdacab9c020222da52afd5c307a6e55e4566944403fda426ee2c6c973ccaaafe2d081ed8c5b1dc00662424e395faed86c9ae19a3a95950c83d2a9ad5c7e7f670faeb123acef07fe7795ad298aafe543504d7811336b3e2ecb1622bc90599a185b34700f8f4c52a651d73ea57e8cfa80e61d9da61f36951c7194ae4dee3c6e67b5757a39685dd3fe01cb87620a54666ff8132e93d7081d38ddc9f079431075e96cca78f59\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 417\nct = 7ae8e4f5494393be144d81517f11baf4b634bb68b2f0ea9b30731035e8cbf4283c0ca99120f60b75ef685e989fecd7a5dc524cb66292a0ab87ebc61e67baca1a8aed99350edee045dfdd029406acb707d85dec9555169cf7ec5118d8f29d182f205e2859a8dcc5122bed640ad0ef128deb21785efaa20f92067dc216cf40c15bd7130e2c094131917950a816da814c5990fa6beed709a0218f4ddca2473796e1b44cff6d7ed601c574a784d0865d3afe5fec023ebe71bca881da5637e3d1d17238c20a5bd0075bac018f07898f74b9e6dc0fa3d5f8d0b274dfef3e6720d8396b34a81ac2e64da5b3e5d7666323ed7c56e8bdd179f3c6b2cf05bcac402513dd87\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 418\nct = 096958786ee7972050d67a9e4b69d6c6af7db7cc674386df725770dd29129b826e39552330104c8d71e6cc3a3014dd2f61b54153af51b0438d447ee939f9e3c13bb8b00a37dea6a068f6c9d27e848b1be7a1eeeb3ee50b78036fba95ae46948ca5b13f356ea24db10f60dc09e4b8bad8f766b668ef72524432080a0ce00ed676d6d5e354984b1078520412525848156d06f0652469f95791baa3d9a798ae537094f76f976faecd5c9ce0c930a75910c63dacf63485cb4b5e7bdbcf4d80e74037eaa1a8fe4b52930bec6be99cf6ac88cf5878dbf6859d456a95dbc34654eec425de84ca2a535d517403a9aada827e7d0093ecfc97ed056a7652825e9a45cb2dcb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 419\n# Longest valid message size\nct = 7efb69f1137d6a6e813b7ab75bf0400b3d07a442b88ab048675dc06b0215fc1a2e033263ec31a6c1d2eac56cb0470d69022a48131d1f000bbed70586b80cf6356465c8834daced7ea2a5ff8ef9c44d5ab828ffbf0556a6394752a4a28a70cae20084e1236f042f6c29de5cb34ef73acba5abcc7ccb3a26342701df3b9daa945d9fa5bf0b9b10306655e56370183f50fb8321f8f0cd1c72114791fca5df2166296b509b01a0b291c46110787cebe69d41b3b1e89590bc2f5e5d49ea24ae0f1207eef1aee54b9760553e80c5506a8a8a75732e92875025f0bfd5ead71e4340c8a9fa16dcd5a7dc96d8c4a7dc4e91f47a69366445c4695c8bad578ffe52bb672f65\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfS", + "ha = SHA-384]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 420\nct = 05fdf6cbfa4af1c902361b4ba8469d75324c75ddc0cf88c5059fb68fd581545b66a87d6b39ce36162299a3b0e97865c32529c337a0a9d48f270c42967d41ad2a0793a543201ff295a0dd097ab4d8984f54d50d5be6575a7a2f94424c777a728aa78810cf7b4eff250c58c6cf85e3d1a76c648b3a1c054b4e42e538ea82fb02bbdd6a05b1edd029a52cc47b9826e010fa8aa024aae247df46f9cd2dec412d5182b5e8cb1264db01b1d82ab7cdbad1fef25267120045b0004f1b57f00e7f367e408a9b6eebe1dfac664d9741bf04e3bf241a08a5833b6c276431bdb011d703da0b440eac24747634a6d47b3bb398f3b71fe0f03f4335b1cc7b7a54bf6137f0856c\nlabel = \nmsg = \nresult = valid\n\n# tcId = 421\nct = 26342a83a367b1ba2dcf9f57621cee250f1b87e5944da80bf305d65a19d46934fbd5802c6651493601e9ef2a7d4f96d1eba3aa7dd0ef502a48aee7ebc1095154a3874215090d588a599ac216744d18c6ce30588b4664c893fa304dcee1a8f7c10f51012c74dc22f73adcf573bc1cef7815a21efdff05c9ba207751f57fc61d349f95eb9b8469c8fe2956e53afe6aa158ea419cc346e6bee375b63c41ff00d0f9feb284264100974cf01d05b81cd240719d0dd3eaf7b61511c9b6703d2c3be06bf36e21573ae3dcbe66be3c6760759acb44bc9023297ebfb08a647b3f1bc352bbacfa1c661b404b035ca55e661924ccfd3963d620c678c03b7ef1d6110c1b7951\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 422\nct = 9ac0a46b869da3ac947b540a5881231c9d284c0ae583aa452a4f9694bd7e892d4348c6bbfa2f02e13c9790e3005d1578ab64c029b3ea92389c89c08ddea6270b9391e8b86dfacf63e06ff94f64da5d140e48baf8d8add17a2c97600da3fe461f44cf9f1fc908af081b6c8bbceac47c7a2e599ba5eda9a0f5578a7a0d97258d3b1cbef0b5e08e53473bfa736a9750f821d262dacee03e4652a89200cb4ade1f19fe56cd796a10738be1965f96e9cc235e7144678530e069a2800312fb70c44e85676628993298f169ce1344f31e836474b6d0ae71cfc4738e8c054869520948adacc1c54fdf03df0f285279ef2a45260f45ca964e111091581a5bf97e2a64f05b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 423\nct = 14f25db5a04acc950c49e83747cf6dbcd3b628599ef9b737039240baf0ef891e131b2e96c9e0b78cfd649000387ed5cc77bdd38034889783de5fc4904ad100f788fcd8668e3821daa401ca7d60e02ab4554c4101fc70b5890b34295d23618b9e3b424e7ab34308dd12c7e4c436993f2c5f11cf612a9694bb1aad08d65e534489bbe208d0e072d4b2fb5f724739aa36b21588b1ac431e947cd1023876cd3011b5028a171f9fd2edc06c139e9debff14934ee83ebefb2b0ac3513d9bada027001ad911503b36de2dc93810bf0534ee4bc7cf5d5041ce21f3326b2c52d273d83d6ab4fb2adbd2e21ce9ea37bd3f2c8e616a295adb7d99125a7b892668b68def6a35\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 424\nct = 5620059fbb281fab2f0f4af5538101a03709558efae09a3d74161081968efab1380be4f69d59d4212cabdb4fa5a9bff3a51bdaa577116f55d500671684953c6feb8f76a70de7bf3e918c80a1c48af29df8080bffbad2d0f5f081150402005cf7d21c953033cf8b2af8c6990e13001df6f4ebebb7fe9155465ac64ebd1aa7bf7189a04d8f55dbdd286a4a3553fdabb7c25a59bb1484c65ed720d3ba8ea92fc5038a42c8e0cbc21e24b12b53468e4538d7b6dece2e1e5db591a865d40211087dc1d9bf84a99e61e2eda02f456c0ecbb1dd8642eeaf40aa7f62a4041fbe75a82b8d5828df809212cc64660cc223973eb872f027ce8429af964febb9a2420e1d43dd\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 425\nct = 4010dbe154e37bf5529b967cc81dd15b377c472e5a3a424ceb2c7edc5dc158509ddd811c93ca13329b59d9f898aaff073594d01c51094f7343efa2f498149c2d4f99a4977799abd97eb73023f76273671d709642df84e336b4370900251b7dc508e947b46112619addb5422bd1792d6167b34fe9b74f23ab480d5aa1d73669d2f32bb01d9bc1d5ee6f129be8a71022fcdf18d5bf9380beb6d022055b1f6c3abd8e76af0336334841afc479acc9ed1ac8be48780b08a344db0b38f7b652b0fdc5f75ba1323fb7622633feae6808fa81605f0f5f960d98e96c6504094ccb5e203c386d05bd0efcb4686556b5200f854ef25899742242058cc972bd2cb867e1ad0c\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 426\nct = 3cadcdf8cc85865b18964c3afc150f345566ae7375c2497993f08ecc6f74dde8247f8703a592cbd82d0f01b61666fe7002fda7724f10155ae46e0db25b3b90826dea6902e4a7694312c64527e08e0c98a23459ff246bf1109ef3272fab7e7bf3f64059987b7977ce953b5faf50c8bd2f8d6ac1e1021d000a057b0ebadfdd357937b673e20f5e1cdba0719dcc43ade17077eacf98b1e87e9142dca02cb87e7d602dc64ac72e351efd43da64e76ef5bfa60762ad17d38d3b423f9cddbbf9d7ce08c954c3b5ac640a9cc0eef362da1831a2b3d6ad7510f99ee00c03964b276cba32e282708eebd98c7ba6219462fa5d498ae87f83a359126bee246f2a5084c1a73d\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 427\n# Longest valid message size\nct = 288354d351fc0de6df2ac48492a0710b1cff6fbf574de3ca686b372e89701cb924931134e1f465896a71b551ba1d3415a6608bf63a445e18ace398e04a76646025f18d129e4d795eaf08af4c25cadf44ccdd7be15130c17fa7bd3e7967d89151a98e2c8fc0d8bb1ceb2e7d27688586b4e5bad033d55cd4341a73b500fc6024259b0e62710df85858493d23d0359aa53fa9bf583b6384c431111ea9b466c80bbcbac28eacc6165c682fffd9eb849bae71fb22b2b45ef6f11062fd1fd89c0ab6e6587411de16e2c67026890b897813e48e403673aedca90ba5eba5157e483c184da7b142ffafd3eabca22d5a2b5da1fa269a3d9f89ce21d7611122c2186c514760\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe", + "2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 428\nct = 5fb38b6686f4b2b22e9ea8b826dad4cb3a023fac65f25de945da381c544e7fcdbb5cf1eb67079c46fa67d38b2c27907ec521c41688426fb08de7e1b251d299da4ef5129d36f0432f4037b9babb38fcf3263b64298c0237a274c0168371a42e01a018d0f98b9fdbad633adb52c8e763ea9e2f6d690b8336051b035b3f10dd167ccdd2e5461a4a54e8d9c91a6e00559a80164eed1e2ae591d2da60d0e8de1603e5e8d88c19e4c3bdd51fc33161851c9fc00a97f8ce475fde59bf1f2f1891dbe69e65e1b107bdac14d12c263bdc3a6244d4bb85c7289517d5f5de54017e52aa4e2b141ed3c28fb2832e8476d65110fae57ec2ce220a42a3e7150dc56446f8a64935\nlabel = \nmsg = \nresult = valid\n\n# tcId = 429\nct = 60db303a1b2e8ebd19bed21c9eb9abf8918dd9864304298d5a7eb70bbb141ca7820d833c7f4c66ce822697680acd43d0e162605d70b84871377b1e4f83de863fb9240d3fe6c37e4c9211b4682b9db8e660c0a15b0b93ac7a2b6f38dba80b25d43a194a2a8da1527ccca409581b5803df2bde761b98458db563f96a32cf7f7145f619aa06101e7195dd5b845e4761866bfd87f3d7695d2358bf1a916b0877af9c3047ad35110c4ebe23ad5281877d932887a57856090285c9e1b356acf18b9e9bc4efe4a26eb8de52f785da7df234a38dce78d18209465cbbe9d2ae69b1721db0074dfd054c3b5594ee8d90a90026b91b5c34617973ac81558669fd58b2d1ce4e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 430\nct = 2fa52432a5725e7eb2c91fec27d0faebef6cabe4cac6a80fd57f9e758a0deeeeeb55ab916d9ba9d33858b88ba401b14fc1de90127e1785241afebf43b25cc80b9f679f87bac86adb2198f8cca43c1a33d2c023c6b1ea16ae8b9a5e0ac34a6c4c2ac33cee7822c954df10f24e4f49f0050811728ea0cb4d414451a2dfb99c4f277754eda851fa02db654c9d052d4e01d1a8d973c2b0a502365e7aa2a68940e26da2137e0585cb837ef5fc3760248804fcc37db860718c8c7297e49c57e6b35f37102fdd24477cb74df41fe7a6cfe3624880418b2ac049a67a732d23f87869082acdf6c1cf4bfd8c92701a435e45a42686dc38045c65917801410bf179283d6451\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 431\nct = 7fbffcfc6ce099dfdf8b966e9474f5eb312a3ca8c4dbc57a1ac353df115cce335e6d4b48bbb75467995cde7d425564395a1173d58086a749b3a3054febba078d4b70580754a6ede4bbb109bf07371a7bd93fb610362a6a9444abc33fa5e808953d1c781df2406d411d2122fcdd6745e177f373a29bed5b3b60b6e412026162fa275c826914c3761bb056fd67e99a97a0872d833d098481abacb3e975d69c15424dfe53a671caa09e70e495d2ec11d3bcecb99aaaf3c7fee67db84d5febb1b110625f8db0ba0dcec8790446b21439a31adfb87325353f7bcf355b93dd1b267f4abe301546384b27a8ebaea61e02f3bfee2a8d15d3c7982d94ed37cddc2f37911d\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 432\nct = 7bb8dfce01dba922a00d76acbe386188757711302ea2d9b210e0e7ed308a8575a770e00f4f27762147af577c8407a915c8b114917c80c0cb025c31c4032764f03e80490dca47aef30f6d5c28ad763e9260b7597f43c1d5bba783cb9fda777a649e857292991d8086b2d417be6b04074a1a9a71097339b3e2f61fd8fc04d370fa8f77561bff9b2af18ea843365b3bfd55df775389a39e2d3a32065463e920b9c19d40952d10e9656e535105b143984c69f70dbcf1bd13f75dd9ec95ac599d2b8eddda587f162223bc07009c1283a148edb93265fae8d7fdb31ffaea2456a048a59b55608984a510340579583a17c65ec8392926a4b0d98f6ef947b767bf9a6e34\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 433\nct = 96199799075e6f826c2674abfa52a882830b561a61d3ee87de8b9e14d430d967f0d8fec7911c7781abab06f1ab771847a72b2b592dce6aaf3f41d3af775fdfa0d4bb91b16d6fd38c01743c01eab29a1fe2d36bdf8700bcb34d66851ab6ef655c187001307a6caf1b25c7c835e92f9df5d9bf8b76a2c226f6a57822bdec194951bee7741d9487aededbcb47b3b84e66150f7f69486f6b6b5472fae0d17a090991649eba2d01098c59db8165b66cc8629e93bb8cbae830bab720e9691d26ebdfd0b26106ace7bc0361974e5e5f893448b389156a9340fc1fd52146de25f9f2886248a4750a6352141f957ce6a1aadd819d10ebb01936610522f533fdcb9db1891b\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 434\nct = 91accc3687af57e3108b16c5685831e4836b12350268c575c36ccd9d6a36ea1b2796e495017714247cd49e68f2f2dc60864b497dd7d84ffc91e07c58e357de7dc8faf138fb409e23c7c98cb84e533790d47bffa176da14fa61420dc57a5f753898efed28240dffb50eab32694faba79108dbcae65b0ab3aa94978c13cab17465a69fadc5ad3aad21a03d56df9fbe3effb66b0d2e12b85fa0f222b2c2014338d84ae99238a1c94688084a74c9202c023b509614c5cf52eb74562a1f9971da406876283d6521eac983bfa37dcbb2f4aefde6b9813d454c5e59751ec98b7bddc1fb42f58be64f137944ff8b4307c01878b0fb00766a2abe9ec1ea6951bfb64a0204\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 435\n# Longest valid message size\nct = 074cd33cbd0f7d59dcf2d58edac8a260ba151a37b2574e8b3eae56b8ddca5cb9f0bc86f242bfd2fd0e63575dba0b6b5061c3749c3b921b800aafca50fcce0a17fadd6581c5b69a3243914eabd4714f084031cf0e0ac8f8bcabdc1bc5951437bb4f7cc89a0facc77023c2d611d0448fab4846d804198d7a67875abaf452929873b53af00b5e1cfbf94d2da1c9599df176f5b49002be9846c07a0006a1a76eabec11b724369c6022ab0a9a8b91634b4e7d7df5ad0b22168b6357210753ad32acca6b3ac55b0b5e4b601839c115d65eec1882f43508ef2adb9bdfea1628128cd17b74e5df359f9f4c574a732eb7a2a315782095a8c9c347992a86ba6dd107bf24c0\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878", + "7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 436\nct = 8402dbdca0d3e9ce70cacfdfe3b2ef26ed92a6b8dc3c70640e06d0900213824a79d0cce6d0d781306eb236384d69f3ed9d921db8203e82a0cab04a51c12eb0a3fe668ab0ecfc419d3529f9970d45d9bac4373ec312b2a24f0c829aa0c0051e44a25e6da5bcccf9edc6f1d87f152b4770aedb8a36993d5768cd97c302abbcfe9360baacf437d68f59048280b560f5265e7f08769103468338bc9332568c20c7efbeddca8350662d64964ae5338138ce13c0cd0c9eb6f0b2516ef227bdbbe55d208f470ec5976116865f42897e63294d4fdbf36f6f4fc43dcb79d2c84d30c5f69ace97abe77a1d82d3fd815253d5b573dde8eb01f96416085538e94b8a0d95de57\nlabel = \nmsg = \nresult = valid\n\n# tcId = 437\nct = 858406b01fa56d4f216e36fe4fb2ba991130cd5ef56542ff60bc5ac95eccdaffc40bedb373babf08a79620f838d874e574935604cc15b2dc0220f84ece76b43d5239c3012f0cc6a446dece3616606e36026fb1544b26ffb2d0dcbb954eb812e96abdf245dfba3ea30aa5d5e7b81973f5c00a9e18a5337bdcf046c55d7e5a6028b093e6fe5e825807376a27134974bed314226cd65e17077d721cb52bb083e5e379d2cbe8594617908d9b90e0851203ce7d9dd8df667e86c3857c2bf9dbbac70f939d822c188de67c60f3bfaaed36ad4932c2e28bf9a5460bf51f2ad381e96391c4024643c19165e63db29de6232c7bbf951d04d6fd67df6d0dd08c4d164386d0\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 438\nct = c5390503bcc08959ab92c92ec9e07a59cddd2ca4929bdaec89efde9c4da1011c1be7484eb76b649769f3d258219a2503464c284a1d3bf12af8e584c45b717db7bebe3255a1b8aff1f19bc2ae26672d2bb1cc3d05ca6f4af9bca6967f22593e54d7c42b10e19735d483862850b7f184fcd38a3f895cecce365b68f922083c4737c16d152d70aeee8edff5d3a3c0153b33529b8faa73bccc4e2342b23acc227064d09fa7b66583068d9ae9978c14f96998362dd9ed0f67290b8eb220557e257daef38f118873094b8733c6d72a1aad6e40601cbec847690842a38de4f85e04e9d0edb39834571adb0da4dd158f8e22a6678db45ac86ce797d8b86d4d6de844c0dd\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 439\nct = 5814d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 440\nct = 8472105e089af324cfcbad5eb2ce2f85185f2e2f5a9e5e302022eaae5e40b1507dfd4801ac5d4743b18b87d916b2bb55bba812735831296dfcdf4087ba4a4dbf852f0274c7e37dcf2682c3aac50a70b6d08835b0c59e90fe3ce2f3b6100863936a67af141236daf5f588f2eaa09c391f5728dac6a007a02dde61bc69c65d4885149a344046d66f1b91711eecf5196006fb916ec209e5bd251ccb97b08c31aa1ebb25b44028047ae4f61adaea5215e0324af6d0509da3a3843eed6ae53fed3a1e459c7aac4d94f8c85611354e0e24f7630a42b184805f67aa7ed0bfb57e6136c43261f81940338fb4aeb662d29301ff3a0a5a01aa20e53f4041c20f14207ebe96\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 441\nct = 3645e92f0c46b7d6f6765575fa9aabde09512564a2d2ac80aa8b43710f34c4aff72d2df02446cc548acf30e34994020ed7301bba6b69bb4e9abcc766e3c9284abf824ae8389fba58bd2633b01edc3ab648788d31bc7b404f6e079a650dd8224b0642fd589b3f84cc393d18bf8b3a1f65fbe6684f6a76b3e767d5f2953db53e61dbfd69371b69b7112284f256ff11beeded9f4deea47350c283d825387981c1d51d62ca032485a1a6f8582148e7b80d2c55daae467576ef45be6f00e676eb5a40da88c18573ff012267859030cc614135dca8694dc0a0ef0d00e62761999d93c3e8651a11fb43a028370b481ddaf6cd8c4a086aea2e658d44556a6eedd64da5d4\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 442\nct = 4dcaf6ae82481350b49b344e2ff3348d0064b63d4a686283cfe7ca8ded4d73c55c9cd3dfc6656e3fd18e45dc69dddcc82a33b46531f3b5b7682ef1fa0068ec42583a2021e7dae3908d924a6bac3bcaa123c88afcf1dc6e22ac6be966723223f5f7aa46e2205c6e6cc594cdc5cbf9315c641a84665d66408a7b4f38ba6672fe3c77c53ed13ff5ca5e3d78ab51fd19186802709a0f98d7de5efc10ec7aa4448c0e89d506168acda5c85a12badb8b4104c6b6d48ad4cfaa4e055484a8c4009bd579e89b81d7121d4bb40e94a31f35ccab0e71cf767158139e7b413912efc9716d8de8f088467cb77f8e0649aaed9ef9f48df64cddd9b75ca5f077a08468a768cdcb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 443\n# Longest valid message size\nct = 672d24c076429291e410245c34e35eda0356fb22076601d55bea1bf309a8734062f44ee6615df4fa0067d43e86cca0a823bc4089cd50517fb3b921585ba0d1fbdb131a24685c02cfb25ab56ade1de0f6e705519bd5ae7e4eb2cf2a63ba953", + "7ca850008712825cb2a2873dc76715c9922fcfb3a3acca0a4f15abfaf49fc298b5788bc912266900cb82700404c502ed66c83b6a4e93830bf9ff8e547a6c623ee99927dca03447fa1af896d76e59ecf3ab73e0453fd0d768f5ea1f4c8252f6a01849f8098461147c8e137533a89807968520c1d18b2cf62677ecdbbad1f09615c6ecb4939c7cdc17a53dc46f8143c36e3ebc99a21ef9320e770867d90fa3f083f9b\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 444\nct = 220c676d62a4537401828bfc71eb40cd71bd88a9ef43a0ea80cb7b7889e7fa13a6e0ac38fb06b4bd1428e88917eb4f8918ee49f2409fd3c48d88a8c4fc74e79ca7422b10031877f8b88dabf3e1ecba340ff3bcb035ab6fdd358c3ed29079ebd4807a2678bbf24ee98782e18de8cafed4aaffc0c6f9cffc71a299a159b4d7a1d9687c28559604568a0a3d8645820d96f4df3b27da8e80d91186d6618d7881c6333b4110372e37cf266bf94c3f52c168abec67838e279a8d6c54f051e87fe34d861d69657a1d062ef24f0981816f6738f9033e06cf71b59375cd9a112bcab60e907bb19351919504195cabebc3fd391e54b849bef59c658b3374242c8727826844\nlabel = \nmsg = \nresult = valid\n\n# tcId = 445\nct = 4627ae414989cfab224eb2132d291638dd6d36ea447d8c71210a20af984df41b06b0b23b2bcbf6e4affaccebb3bc89b13407835b4317303c8adc77624ffb76cee29433b857b701acad1226e462ee6e43a95fb1778c169806fa714c74601790dd55e84c450b28e04bf924bbe33d402ca9c386b3873fbb10de137e01056449273eb1847654a439b4a2111cd5ec28a974d0bcea4e946a9e2d83b74bea2ffdb20db67c537a3f3d17d41183e59c86dab92a29dd03b41b17df791204661b178dcb8a1e5809d110714749da6a0c9a5b95fdffe8c004b6b944e5aabe2cee51b3284b80fae97fefe3f33bd0f77ffca6af436ba489f32dcb522c4bb630f6f277c7c2241d23\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 446\nct = 5e9738a7ee1149b004e97251e56e55bc8d0025548191608560d90a128ace598c7c0c8526c4357652413e5409def2548f399d91f0263f2aafac668da4ab24b2c2be18ce39ed42e2230381e00f718a2321328088d7007cdfcd9d1b12da8643134da622a9442f4116d2b59df9aefc9eb7012dec609a6b9d0c006187677d1582dad420e918622a51586abf978dd6fe2343da1f9a2aee60b6ad4876a8bd3e4d22eb8c607ad54a11f15f8b2a7d062ce98408ab00f96622b68a2d6ee639644bbfea4644110094f47203cb0525f26c2efd80964c09e43e19e4a63b9c4ca991f1edbc43061a1ca7b5816799ea6e78c552705576d1142a1ce8f7c287e25e4d10c38cb544c5\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 447\nct = 1e6cd7fbca2f0e610d976c26d826b5e22bfad2e8df041a1a9e851ebde7f756696bf97e2c49e1e025c5dbc42789ea1a3b033d87cf9356735b4a7a5d8bd2f07ecc355c3e8ae99faf38561579bc52ba68a5d8c775328d1800484bf4d5350d066e65280e736cf8da506f1ed60e315f9ac8f55a0f2c0142f73997e6b053a0bd7a199b0752250e0ee26555efc4f16b62e58408d5fceb7496150e8bc40e37d570a283acfba4c7efbb9578e947bb14014aea40c13dc5d0855d2b3bc7c548211e65e754a739e1cf7f74e4d9fa4bd552a83dd4ea91874bd8322efffcfdb79798b3130ec8ef9e9cf7feb39f10931ce9e79939ac2f2d05ad6764ce708661e10a230197134cbf\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 448\nct = 2aa220b1a693e8bdb2e252235a692d16691b7e7472c854e157ca008c0262ffd7d423ff421c6bf44e91b1e8f4a1482691b2f6716e0e5a4f4ef51fcd47555a4c53c95a3650205d8c7fb45f95f41d18ff28ca52941c0e1f47691df26ab08b2c5b7e57f1d9b656dc5adb91c35ac824fa4312c2b8612158ff0f51b30c130ef1951f0a136af2fdc42bbb9fe31cffde7367fa9645d65ed823c26d4325893e80bca3409ac45335fdf7ce19bc5ca857d6cef30b4c0c09753c283cb3ae1aa9a4eda8a8a5ecb6c57d035e06d064a0828d0e4bd51f81de47ddb76720a226cb071ad5f76627a478cda4f3e0e95a6569d3c79cc2d6e382b1091dc9b32e6740d09bf9f7e2cd701c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 449\nct = 33f4bb776ac48721c08570630576c236ae7b9a782d077b68b82098989299aac026f00e0e5667ec8469c05a99481014e7dfe79d8d5b5d787da2df013a70c5579f45403cf752c2c06f1e7f2f605342d007b201cdb0f6b3648588d58b4d390bfb63f8c0f1abac5bd85070fb679e3332444dcc3be63f3c1c3e98247355a60a04233b81831f495a5b3fc2357be9e7a5d09a68cf5f73e51ef0930cbf682340abbf046b14ea9b28322326da5df2a0ee084276af87d6e20cc1add4278905a1f80d707fdf3644a25a797ba56a9b76136e457b2bb5c3ba29d875d2a3086904a97fb5c689cd119797e82e89e6167e3ad65044b6cbf0573540c4b3c3fb916e75208b0e6e1a53\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 450\nct = 9f8b35a481e2e70b1a0e51df65703c13d42b8642b4a397260ecb934565581a8e7e46e68eee26a1c5d3ce7467dec6c205b3d4d1a969a14606d368222bb6e25e5166c058629d4c5482344d4e2f1a870debf4db7e0fad757bcb9fa631d851509efac623719e7c6ee523433b3591329a320d4f7695257baad7320d7aa4890eb1eb5d572fa98b8bf13bd80f6f3ac050805be5c6e7af8f57beabd51ba33a44b63e7119ef595a75a34a1a38fc7f7b84171a1dd0873b4d83c7760b99a16389a8636b2a06ba9a91c84f294dbdcbe897d176d45503b117293138d360fb9db419d517ff2da7cb6f8b09fedfb34ddaa360105b", + "31bfb2d9bc4f1e5687bf69f3525df80a7323c0\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 451\n# Longest valid message size\nct = 55b97ab39f0a7c7175c4e962140a3bd2425fc9d3e4230098bbe131d2164b575d24e0b746f14f4e895dce74dd885d0976944d27d9a8355eb85b3baf4bf0a47aa6eb7ef24cc88a358c61ee404f762d621a6a790085f65fd79a08c8ede5b4d688dd5588dcc030dcc094902d8b7c484deb52755c3f2002d590707c599f264bea290eb99aba55acefa4caee32f2453bba84f51c78692c773b8f11c8ed7715aa20f8bf0d5e1fd918c3f44c1aa78360c38532ea37917a8c7206f1ab0475b875f2feb441013e8aca3ecef96405d97015df336a640a72d812167cd9249b530be0f75b0194f2672f03892d9a8315d4c2ae2a96925d9c28c37a559bc2ad59bfe176944fd3a6\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 452\nct = 95ccf1b8f9cc3ea01d4f3613bf2cbda2f8f0fbc3e819710cd84e50a1bb9cb3808e1d8573d544f03cb3a94bf01ba494ca3638e6be248ae64f99ce93971a3c9ea7c95e3ce8cff9d4fc4ae30aa46d250b3bfa5af01776dfffd13b077a1f6dcef80f6491e533c78c8ca4f834766aa7d7f9d0ab7cbce701907f09d1e7c92f941c4898dfe882744b6a7c1466d56aaadaa8d4970b729783a11670a7e4f6aebe54d859f38406d4389167af2bd3b5f2b98745d65ec6dfedd94c2db34c4f65df06a1042725e7f79eed768da016726027ca1c71258ad25bd65b0d9d244e83dffffccb689437ded1b973bc1564bf5a5f1f015134a12fc3de9f61585b285ec526f87783d4b126\nlabel = \nmsg = \nresult = valid\n\n# tcId = 453\nct = 6487e82c1140088ed86ce2b8d916ef335702b12beb5b0c45a1a8da0061fb4656d84e843e4a07ff1fef3e58f8388510df84b3f5a7aebdae34205246addfbdf526a847cdb87fcd3061a76e910946ad6267e50b9840a2db776ad07783a57b278f30f4df68b315e1027466c68ae95807c887ddba4266916e6c67f6dc1c52f4320d5f0b4f57bc344d15e77f994b170ca63cbbb28e23e413563a1eade1a62bbb8d01e7c0f3275ce56c86376ef22e88d530800557228ab3c2bfc134a7329d646e35dc0c4bb0463085a5074ec22117022160dfe1fb555fb0e30f6765c3ceff3ed96b3e6dfa4c0b727be9b60d045974326129e4964bb950b2116daf7465f7895f9fd9d068\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 454\nct = 669f089d17ef14f98075d018139b77fa862657d1ee619eb717a25ae3fa862c61075809f96bf6c5d2ac49b767839588968dfd273564b3f078e14627be8617057074ed8397b7d48c6f5ba6ad5722cb3e4285c3dfc9deb39a2a4b5e410b74f28d15873d653076db48d42dad6530d9089b2af8536f81d6d8ecddbf6250b72bf34095d335a24cba5e9a94b26e1f492f52e0b487da5da868d1e036afe1dda6310dd904e31c05e4794eb600fcfb289b567855cbcd2eaa352cf551e35150cc9d0b06ee2ce2542bbade915dd659127b9d5b6253cfc13811a58a3bbad65824be7b2c6d9d42a4c55700ae0aba8e277ddf33fada119341c0f8bab4188c80957cd2e0a50adeba\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 455\nct = 5bb85029d9140eea126dcad60d0f2a99a2e72664455f63d36d26f1a1bee7ef4d93458116ebaaa42b49a0885089d7c679c552614c976b50574a530d2ffa446ae88e1861cdaab2c656b897d6e6f78cd9828ee6e0931114d89978cebc9820bd0d8c2acd666a54467a54602bba867f77773c84d491576a267b40e33902e5eeacef503982642994f8cb732bf0116f8089a4d0e495bc7bc6be7607f913639c184f6c571dbab33208bea97684c3e3b9ca382b19843ce0a2632583fc8f2297fa474ccfd52748f36012d029656ee148ef1ff03004b163ac183dcd8aba3129d6cdcddfcdc14d667a977f21c48a924ffd9b2acb6af55813fdeb38d3c741d5abe4926c99197c\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 456\nct = bcf80d78422fa96d77ee6068f14072098d11d124c3be0798c7001336c8390c091e1d96873ee2bac98f956abf1e38f07e270f5cfea8ab0d6b9328c19f4222261f58ce1204871249a03c965c2d1e3ab4dacb6d2a82d04c4c5932f978e067edf4bfd0eca4d2d684ce92677b0693256ac044d4385f9a29e5c263e9b0a4ad182563a725460c52d5ca8c8925c48e8ae54ef267e38a2aaf06d4eacf79162c069e934e38477aaec6cb2284eb7f5f8d4615d13eec49487f5e145431ba1e154fb9a4a5eae24f468217ad1f956c9a7fa7cbaba161f6216878186bd8fd29a9c4af5cf9723026281c5ec523a981cf756ceb6ea947c0fdda18be54abfcf22f3c4ec124aa312caf\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 457\nct = cd431c3e37158f42518f64e6090a78a48ffc61a913b50549bc645604f1b2adc727afcf13f0dc91ce3f1a5d6bf8cf4060026e63eb15797d8c49a6b24ee1955075fe4db472ddc1a58f474c5571ee73248f1b4960032d2ae9cc7e66194e35ebbd27dbf7fd47b185e96ced70e70d79959f744c103d4400ef93e487ca024a040a7c975adafafdfb99a67ea04bd6ba4605da75b1eecbf33fdfacb7cf24cb6d5acde150978d2354366a4badcb7304fc31c57ed48147071bead1bb16c1e9a772be82f015b7063b64246b6763f97eec47a8fce3b8b18c4db0ff518fb16dce3d753429580ed50764f98684a8719ac1e265001a413c3e6107dcb1392f64b8d8fd6f336d8e32\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 458\nct = 78db17d0dbd52a7b405d227acf8b21cc64d12e2fbc5bbd94fbabbeae85cde2c52e3fda0ee0771705d093bf81ae41b4e5719db30", + "7315f5c83ee767200b9ac7300501cbedd1f91fd256db3463cc763748c6a3b0a353817826e98c3881af3705dfb8a0b3aa740ca84b3ad8655d354577269a9197b167ea958dd50b6d17a0465ae603ec9c3abe94b359a320be7210531d224f32cb6ade06212757d9e77c0fdf19aceb6665beea2d9639e9d9dc60e67f13758bdef3b0c11cc3d52729328fc0d56961384730c238f3b4dfeb87ed54a2a022d924ae262d948691903e052537804aa89da87ff539033382daf3a037b7bcd58f99d4389d1f06f33bb716f51b54ef56cedc0\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 459\n# Longest valid message size\nct = 6832658ffb0b79854df5c4f3e6dcd53cdf2492000ef1a5db7ef002ababf8e544d4b93867be2954cd302b8d1171f4b628bcdef0e2947295751632c88c117a7ff7c7c5ad257f9851053a039826b9258932260f97b3b33c56d0ae2e38517d941332950ed06fb9c8121303c55f98da27abb99b7a67d84e6cdcfc96f53c53c561d2632eb955ee8782fe13b7dca9066c66da4897ac8cb3871b27d68e96c79453ac35f3dcbe62a6fa3c92ca3c430b7a1fbdcb2fb9eff5e88d80e547798417cf9db96ff3c083db464ae852f5bbde0a1e13978d2ebfc0675e6da7d4ec3f261289dd70b67bafded4298572c10c65f1edd8cd0f8b173ff02028643c8361db223c6bfda69bb0\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 460\nct = bf20e0e04ddbf103a5133227fbc2696a0acc72f76f869240b06aee89c25128386d0e0c16927f98c1ff3b22b4fb61b508f383f7ea764396b2201e800c793c81a4d38e20b03ead703f0b164d7e7bf4708ce970c5907b139bdab8e2a1922989f97cc2cce656fe37630919626d966222c462af0e72ea36f3d81678bfd1928caf9111079edf93796d2713deee2b85cb04fa63d9fa41d212345507c90d04f4c6c80a114b36416cc55d78eb969d904269a69bf2e839075543955616071a45bc1678c64304ff5f4c22b207c27703f70061d1471b4704357c13dc44e1b3eed0842f578e3e84e28184f84ef6f80ac806c3ccc0afdeb17a74b42693f6e4b2a6c76161363f3d\nlabel = \nmsg = \nresult = valid\n\n# tcId = 461\nct = 0051190f85cf3bd0e9bdf5c937593d2219db50ba7d0512d38807b31eaa9310f0120320f7fad7c6b135f29cb17ffa5b135c0ebb1c4c8112a66912aa92bbb3191d5a284884f19460dfb9bf232f0db6c207ff21d53712e1c8d90bec036426cef56a017e6175bf8bf238c32050188869301ef78d3984762038bb72a982d5c9c9501820196d68c798ea29d0d60f7628625ffe975ee0757c6b70bf87b8219ddf9e6ad324ec9751fd3664887336bcaa7af71c93083dd96702e6089e2b67abb763193f95d4222b9177c17b4726998240ce74205f18cb4b17bbfc73185176ad761c1d48e633a4ac7adc2f61dc95798e530d20817b721311be824dfcf7629fbc533543280c\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 462\nct = 0a5067a97a17114be5a71697f15694d98cdd6e79dcba1726a38ca660ae4fd9a1336df2de79718cea176a365c46a24d0468c2a719cc1835e5b60aa64424a8dea0921fb641458c279c74a7ac74474126becc25c84cb8e411cc7a119c78298a2f45658c7590c3b40dbceb7c41c67e73d41b46ac55cbea541c64a91c521e377890cc031a4933a237609dce1d9f76684641417a44759662e166d837e77e9b8b3fd3343cad26de86db4f914ae83893fe9658654d0932b6a98ca5735669d667186d894b5d472a1efef4b2e06035189feaf960ca1242b620264e71c47307a8a38bbae9bc3d1bd5508ac37f1ba770bfc36a50a543ee204e5eff5310fe3bf430dc6908eb9e\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 463\nct = 767bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b80\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 464\nct = c2a9b96b17314bfcc82d0653e14aaa7024b31451a842f7174a8a708dd80c94212af670806f96e7c08e2413198bc32d99a2e67d32c6fe772735ced16ae8b903d340b61585eb4b2ae7e0f51caafea691dabe31ddff90b114a13f05072fd8a8a9bc16fdcf32d199daa0de8ef34fd790f113505eab2b049c515a13a7d56f452f748ab76a07476d609f9e8db48d97f74f8e8bcdea62f495f573bfd2a171224bce7e2389811c01eec70ddffedd6bd2b7a3896a81a383e686dd80863f86a2290db0961ad1b2c6399a12fc725a33a182dfffd5ebc099612b9cd996a1c44037d2396ff657d22a50d94204e4428fe3d62b629c8319677654efb1bb0fceac9ae8d1eb3d2f07\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 465\nct = c67d74acd68029ef1783f6412a2ff097bc4c588f4125dc9af871ff6cbc18caf2fdbd5f92235211bb460d7c32bad3d768a7893ad5b1e920ec9bde3cf9577f66a16d5a3e5a4feb40f0413ad47613929b44d40185cd4507515e73e9144a626c6e2461876789c8128eb6438879cc6b2a971dbcafa9e9f40b0120fa38f48023805011d89d48cb093bbafd221aca8b62311a6a2a29a92e1", + "3302c6da0f9190aceb9c36c970d731425ec079bbc6295aac01d9cce136f9e2d55e8516d007413f1d44bfaf63e257767dc0620a8902fb449f9d62a25630087b613784af81f1a588da7b0fc2ed2138e58eacc746cc2417b0088a1bc945552afb7536847baed72c16484ee7ddb\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 466\nct = c1fb0843b4e3c77e622d1197ee897b8251971172ddd2a1bb94142173451d1748b468a450b15bc062adc94311fbd43a807391721bc05a4949b39af2ceafb1bbbe6e157237c6a7cb33fb971cef3c7bb172ca76f27e5a70b4ab501b8c4f695145da34f00a54deb47baf1f4722c313a1822b8746109c471f4fd8e6941cefe545804fad30e789e419aa32f16958fa667ed42912d6dfb5cc6d7635e2867253bfeb5ae946283f4fbc001fe8f578ca00c735f6cb02f65efaff2401f9da630ac2ed9ca7d44e4de8ae1ff6425560d54d75a934937021589418b91573b4eeb4f698383009c3074939d83c90d463a2c799c16e06c6467641d335b001ef89c9412f7478d5afb9\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 467\n# Longest valid message size\nct = 348f6680d25d93e7f8f17f2410dd4bdc8a2ba5c9d29b17f3dc1e308d868ef3e1121982635c60fd386f77566370f5bc0d34e9596637c59b00a6eb665bf57071260483f72a5cf0bd6ad806a049aa670ffac206672fad6e206d9e13f82d89cd3675a888873cfdd1ea20feec04ac9e1d4daebc58ae9ebb84459a3481d268468f6e97bbad0011247576cdcea319b68b19ce7f2573cb3d711e078b9e206fea729e5b61d67f400a335aedb48f673af1a81c2998d80ba34ac18530ccef71838658e8937c127f5d5ce93a525a2ec60c98569d785592490fcf3c72d53791f8e81244292f1824264518bb827adf1205e6a2e1ca7d01195dd4c3616acb7580c0c9c572024a4f\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 468\nct = 3a56f4f210b42144b340876f88cd463e4e7399d306bb19ed7c094888135a2d2f5454d5995cb4790376fc41a3ed0b1079480cf97e155f6a043d6b3020e122babbb3713e9c87dc6ad276934c4c589c2e75f0a4b279c289321b5e8cd50eaa6c1c7510c56eeb63ede46f27ed3c439ac06851795bd76780245c72c1b8c336984050c904eab4acfc40d3792769406462f2268e3365db8d6a7f3fa0da08ee223c3b63719aafbc177c4195cd10655e18c932235df3e2db573495ed2ef1c17106c668947131d131ef64510b0e8ebab320eec9999f857d995bc1be891a0ae0844d6bd69ec9fb9ede3651d4c0b4a9c4fbf29012ab2af51854c3d4e1d344180832a2854f42e1\nlabel = \nmsg = \nresult = valid\n\n# tcId = 469\nct = bd4fc1b59183098a8bdbb09e5d423f86d1f09614b59bdb7788dea6e75da0f47459a36110f5cba869d72150d4de5e4ef8b21ec7dfb19eefd8e5525c72431ed2cfce43849f8a4ee025e4f3e671b20e9514fc77797d9a6c97e0495bd4c5c9ebfc309ddc9b50a1be39ab40eaded8a5d99b9308c29809f67d6b829691d6d52d8fabb59fc22de43471d9dfd8aa2cd3db5380dc63198c1aa5907ba9a5217686eee9e5eabb7d01e59293aea40dbec31f0b158602946eaa926fcd2625ecc301ab8637d5a988ed0faf2d29b902f9b0a559df2d5b22169314a7fef69a5c9e9ca83081199cfe97210f38e89e517e74595d9161d828809589b1894c948ed77275c791567dfa4f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 470\nct = bdaf39dbb1522355d06a1f5e079797a39ac29e600b9ce4532cb22b8857bb33f065a0ee7dfc219956556b210b416861671f0f52acee889fcc66fcc532dd6a9dbda693dfa011437eb94694f9ca964925d9c6fc1f841e59ef84e76405a41501831fab4980701a5546bdde4905fa7b9a0f9bcd159dd443bade9828dfeab702dee0d7e8c1b37c55f2635f21441fcc2fcf4baa33d1448ea8d8b3324f08861e9de4fdb09cdc1ee093dbce512cf6ac1e75e3760d706517d84591ce1d977d73ca9f2766ce874f08aad6d06ac5c2d8b953b45e98daf03c4665336a3f701e9e9f6380cef5a66ef55dd77a9d972d1bbef82a2610dc8aa7b66dad4303142ef196308347e01000\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 471\nct = 4a7ad461be5764c2f6be1150f03809fbf6f10156b5f33d5fb97dda6f384791d3f41ebf8178ff59079afbfa6354a4a12c99c4ef767099e0db1e39dac7632d75c8b433b1c073a8c072c6a45729bb300d7c520cfbecaf6408f075bb74dc8c2437137e1f7708f97e98a132f4be5553f50e44c23223eb16ceb55ece482df922e861a9db674713a498362f211572d9bfd702cd874160c8956a72794d885986531b51760d9e3badee998f5c596554a255304c5820c790c466e5c7a50f130651ed6725b148d07db1444ba600d75e362aee9b4095a0791b1a25c94c8afcc16fba4811a3b71f08957c1e4f3beb386f6151c484e84bb705be3411c3c288fcdcd1104386494a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 472\nct = 2cb5c853acd85293e2c56cfee1a8dfc7a9f30bc16a2a628ad3d18baac4f1615283df9c209499ae215c839c16a6b84f18ba21c74db31f092263b5e17df3720f377611b62cb7d015170bea054bf4618a448ffc5f613f512dfb454017310f812e1275d0022a881337f87ab4ec9d4392d47187eb53a1546de7a0647c9d7ac4af818722a98e738277e54f831368c453399acc258cf99331872626c83437a4fe043a76029f8f1b73191db5b823051f27aba7d93f2c2a9611e166168b80c4f9da47cb84328b692c33f4ca425949bd2dec0600784d1a4a9fc0b7111d8d1b5814bef353d126788223898d9c43d4b769a7a082a4ef32fe055118fb05adb37518b", + "924dc4e9e\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 473\nct = 6e07786fb3e6e2098c574bd39d96dc9fcf7bb55604ee7c7e1bb37ec0cd73653606c665082cfc314337bdba3f4577d8063d44549104a2f34212232c8727e9c8e09ae351e9ebd621cdd494d112f6d684e77966ac6e1528735756ba42081776846efb499eedd76c3bf02153b9c0df518ab2bb52fd1e54444910b871748a5b7975e810581503d388d663e1ddb958c1f7e9fc2897e96f283ec578332130bfb8688b6636790396f96d7553f35feace16920bac60032c89d4ab3b1e6b6ce9ddbf1ba8293d142bb314be6cee6a69f7fef941c3788792cd2f883f25b888afd56446cc25940b62a996d652f476c891450a2004b012f66badf1f07f888ebee34df6ef8e871d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 474\nct = 8390617985f493f7498e1b182ba92902660dbf77c4be981cd3176845eee848d97f49476f95333e5507d3e42429930ab7de1dba859b293b4e87726ac5e345f1e0aeb3162f1b710870cfd35e6c48f586c6e730d15dc79f8fd5e861069d4afda9bccdc4be722717849cad60e3d6e35b2e867784e65603315880626fb12426fe9f043786c1b9f8f4f7d659738ca8e970ed424a52bc1d94b7125cb43bb7f4b8342e107bb8cdf5b76631f3aadb53bb554a38e105ac50600b2254d975f8f9caa06e14f5518f8909ce9381e800e2349dfad1a2317091101fd76494833c83d2f444ad66f70b46e66503621bb20f2f2ca3b4770d13f9bdfb629ca7a7b556ee6df5b1b7df70\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 475\n# Longest valid message size\nct = 7f8fc274da6ddbe00f63f6bafeb53b1146d07a5748775e540108708adc8f49bff0e48176de70e618bd7d58aa143e5cd3e4a983c8e24d70ca648e456995cbf4dd83bb2d073bccf913c3db031a414a1aa00e6aec68ad2347dbe8652b9e179e65691b96c107c4661a9f9967299e01c4d9ac55fa2b00d5138865e2fe44658e912764061b647dd16c1544220b0d6a881631a16aeddcb399a014572bea918b4d88fe9a2b22f6a4d9bfdfc387baf009e6527818df373a77b726f908b272d2cb67c873cbaaaf3dc63ad7fbf6b5b1acd43e20d658b7233c690538baacd161bf01846ef9889a6eb3c4fdb5438f6bfd1fc36ee46cec1a8f60b3838b0ded728f58dccc396847\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 476\nct = 409225dd2229d11accb99804e4da69fbcb862d3a74a1dceb8f1186d8d13b1569aa4fce51aff273aceb1f0c875d87a979f9915fd400a2eb1713b5a1ed129e6b0c7ca14a61a0939a87ae88c53e91ffdd635f7ddde6185dfe9b5b7bd739b53c4c198dc8333a36461c4d750773df1c84f024e18dc78d09fbbcdc4d12bb29854b2ae04c1b8b141eba753eed9cd90a5b66fea37612aca4c55f65a8381c4eff13c37ae1f9ed0688514788babc8ee27f8e76296495df254145331a49d11e7bee5a83a3713d4bbd5a805fdd8e84ba6ab869002b26e40b36d1d6c1189b8ca1c6fe19497a8059414abdc88ca71252fa86705ec96a7899296925f885fe55c9c6d2cbe7ca8578\nlabel = \nmsg = \nresult = valid\n\n# tcId = 477\nct = 7ab35168dc51cb7b3d8e5e3f9568e588c27dc395e825f909f3ef2a88c5ef8e1ee4918dcce7aa0c3ab6860f69de90e36d19284a15954a3bce2c95bb52b1a5cc752e35a7e08fc327f2a95ba05c474c4a5e625b5c0b780b3bed961e69bdfe073bc324a8dfeb3782413109fce1d795ef01a8eb0608ea42866ca997b8cd3c7b849190e42e84c3d60f935886df8d3dff5cca4157152e9ec9f954a7ea7b1ec4b0e1fbc14cef0f3ed16f1b013cef8753e1f5493ef7d0f753ed0a18ae5275459d15b86da95445dd65580a789354616e9a8a56720394a22ff30a01f38b173259a9829b8a4d14747326597ec332e1d402915c7f46a96c20bcd25a82ca3084660b4171cc31a3\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 478\nct = 930b4f613da112cd29f8fbb235ce0715eef85bd5a34fdf3a67b4af55015269ce99ac8112ee81b576b31f083160c5890dc2db204d581aba976974056a8bad367ff05984974c10f71f5b03482c7f7dd86aeabf5c9060b54b0487f40d30627e0a46fd7e801e5f1b2b813c4385f870258bc2cc186599e124b9ebca2a29a43dbc06bbd39faf7f305a902e7ffa403abc3bcedf29ee11361ba0a0b34f3bf9a9285660f66b4b75cf75e0eed8f463e204d93654a9c85b9788bf8e32890b658ea732efe3a56a4ddd2e7a426fec6486a0f591a8a1d4f089eb9c95a6332e7e0db103dc3daf8cebf35554d18cb6da33dfe6dfbe0c8cf04a4f6305693e94e87f68539f67892976\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 479\nct = 91d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc15\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 480\nct = 41c04aefc703aaa71f40ce9f4f56a7719126ca192d2e9c33dfc6a8c176e8c1c22d9d7a83f39955403a7798d161e4ad17b1575c35cd8f2abab639307222395348b67ae8b7", + "edc41eb0b9a38ac508f1c08489ebc21e5db909d98d69a74b210de76a924787b2fe1913c96ea934ef88be13969cb26fbbf007fff7f639760ca7de9041ddfe79b3be7710cbbf559db44d2db8aa32f88be33463b366924b845d07e2c00bf07fb3625a600b4f84041c73d777c0822bd896aee8b08c4f6e30dd4569208fc8caec74580a43acaf7fcb2b6daad569f4a58e281298caf9b6f155cf30e94ff671de9bb0cbabd184b854ef1d2b7cae33e7dc6072230ebe4bcd4d49253aef563e92\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 481\nct = 32af08d0e192b87a392e69c0e4f1faf525f9705af04301bcf4773caada60baf8c9e3ef5b23f22e38f9966849f55e075aab69f1bb76d2c9e443f34dcc1a9ed8d32a7ed3f9ecfc05cb154235e2e532af1b6f1fcc392676a500b5539f6a86be792de013a4d614129852ab57e030521e1a776d17a9c54061b7457e0517f260826640d24e604a08849f9c14a8b9b6126a394d1451649326b15a440f52da5fa917b15189a73f0ca93c6f1ca65a8b00f96516b9f87519e6ac96af33df112eb8cc669117821d7f318eb7f09ae74fe283ff4ded8a2e6b363543833a311c2b7be7b6f07798ba355a716707b06c4d50792c888424a5a049b1b0a33c881059dc8178119676a2\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 482\nct = 602a88779ae26e4aea37700b4ed513abed889d15de24523aebf34c9027fbd62747fadbdf46449ab8cf1bf5f2c4c942423e0c22df00e2b513aaa7a9502ee330be441274a09ac0b872150d73e52f34763879c56d09c400521aff0c7a8ddbbae280289113bd4f5cb1780eb16040974f41b6ec4e0b060209e7743df321a597a8a0fe00df285780073a03600c16ef62496e7e06335b7311d16a8cd376784f27289d02aadd1be5390e6e618cf8271dbd9ca7f8338392076ca53fee750f30c95aebfb26c8cee568a2253f2075eff7941b455317728bb1ad0442d691167f6472883b6e8b07e7f6c5bf10e4def8f271e622dabe23d6d3e8c0a1e277781e5888237e83bffd\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 483\n# Longest valid message size\nct = 76a390230603a834305783f493b721b4f317f3d4b6e1bc26d1983ff1f49448babbeba061e94ef6b483579564496ea89f9e2e784e8e8db83cd0d2a6081048e4bece721197e66a54178acc6976089a4f6f268f8a54a2a9a3e90f583171401173f7f646d8cb422e4ee14fe057686b0072281e066a28cc0133c6b707781b718f535fa3a9c99a65360540d3182672acb1db4689c5d6d33159f37aa7e16d988d49f73b5e603f8116e1b5053ca45e6c04743cae29faa04ed939196b15faae2fe4303d7feab202d8809a7a2ad30deeec880990334f0da9c7faaebc1f7f64f0c8c20270c44b7046ee309d4bee151a504bdae896e856e202c8c5d8dc5d6f66c99961b6168b\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 484\nct = 70adca8262d578241cb62b7e0d47dbf51ffad31ed4785cf2e9b46de439282410bd47fa72a262d9fc23821d584f04729632708631c46f0b25112f3bd8fcbebf41027ce0950df352406897e30d94b24756e35a476aaea4315ed4fb1a413071ff5cd78f33136f5085bc847889b7335011aa21927ecd602a1118ed1796e988e51cc5e0487fe5daa0fc5aae97a39fa43115c40bdad70df139edd67cbe65879d9de2d97872d63cd8ccb1ac4026f9a6c12a7309cdb5c92c76bd874e6a3926fc2523ac7ac13c3eb51e9d574c0f45f76e6a36120c0ce308e118c54105740ac847281759e7fd0cf481bd9a4e93e25b6a2276ae63a7bf6c1e38fb2c069285fc6fc15bda83e8\nlabel = \nmsg = \nresult = valid\n\n# tcId = 485\nct = 8785223b5439d99836862bf8f9764a4aaf841d0f6c8f1d7ae9070beb92f91802c1b1ee15756c70bb0fd7d277e244bf59119cf1431e7587b712de81d596d6f79d023119cd2b9d9c9d32e6368c0a317332844bbf5bf47a042aa663b1e0b86cd8e7fd5b3b10580e36593b3e1242f41d1698faec973ba91607631d2e1cbcae0e37427f157603e82615a3889aa28eee67ce73629d0e0827fbe0e892c3d3eb56ac000faf5d28c494d6249e3bf1d9c39f455d83c985af9759aed45f76fdd7629c56ce007bf1150ce55724a2cc7b710ef3f45fc4a8ac9a087e78b9884f4ec7682947473a8996e7f8efcc6932dd38e7eb9c7193a1f2872c78f9f83b9c4ba863ecb523a9c4\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 486\nct = a628c9b8873a75d1f1f96c16e91576b224d57655fa568cf285220e60630ccb6f38c4cb32b5fadc683a75052e06619dbf6f5600cccc2e38331d01bbb235c5f79a026ba1d23f538f26442ade3e974bb7f427eaed6f7bf521c06c798e4096f3a75ee64eb2ba03bc2906b1a379dfe7c5fed8e2d1d760358a6ffb500d4b31ec4a12f77a13e482c672c85076d219de6f409d0a7d6915f36162eba353fa9c251c4b992bb164b3b0a2774cb36d87dc8c64b3a72ca6a5244b5b19df0151b4a705509ea1b33b18206c3f2f321e0658a7171a75ebffbbcf1b414dcfe136e691c2c16c6a8905bb50a29dd411a6d188d7a49917756b1996fc0f2a7d62dbed3284ae38f0686f94\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 487\nct = aff66867ca15c6b77c109ffff233a5bb4b7be73827127c918e531efac4689c826dd1ee7fb754493d6ab13f4aa304bcda441b6b8cdf1edf2c109240e1ba537c0e10cb4f2275d41eddacb2042440c27cedc2e8d2ccb75e689a8086c57fda51dea3124e82aeb23d14ccc7143bc6913cd90fc46a2f258951f03ce483b9cee8c3c571b96bfcde638a4e398edc9d0e20ffb7ba7d30fbefd1ebca2d9580bcff913173cb4769d6c81281e4ce9866343a458d0a4bd08c367987decac6d74753e2292903aeca3ca17be9115841200ee6", + "08389a2fea9738d4514a9da0952e97ad01e268a41dc8f8e9e0e815bbfcd20a521c04f38bf51be305f69e63eb38e395ab8b7c0826f1\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 488\nct = 24881bc0d53397892425af1f0d59475551743a96e59f0d90e8660e463857a294fcd02a3a639a7f27fc8fc2eb7e9c72c4a549f7eee8edad4b2f87d8421c6e26d79a6e3517836d2a9c99bccdf3cc0372bf0f4059920d79236a8d2efd458853eb3532594b247e84d73596ee7d92c520b8706f18df4f316818b38e476ee8f9f5c13cfce7dfd495b180e2b2cf99f6b36326d75be2b49fc4b09c4e9f5800970b9b725331adf45b87c5e02412b1e30261999f11c91f156b5e39ff839f7231c08314627813db5232769450b97f4c7dc53d3a0b7886cbf783ab037c6b8572c143a3dde54612b021876cfbed81e4835ea469207df6999588a43a56c282f20faf570502294f\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 489\nct = 393a1ae1104e2576153cd1bec1ac6994d8eed3dc42eab57472c37e8574d0fe793ba4ba97a59d23cbc3f203dc7b4a85bc31536a28675935ec1613b83ec925eba867051b69293d9b21c8ccbc6de4c137e50bb936adf5bf121a48064872409ec34197025f91663d60fbd1e659ddd574b43f660ff6eca8a19426394251d49ecd49e3e2a4b4f324649d4f4d861820aaf7e6ee32498bc514461772d6c87f989a4bb4c431b3d2229bb04561aeaabe71892c9ebfc707103b941b6ade50f48da6f987d8aa4105f39652d888b2397e8e984e12b0ef3006bdb1d74534de29eed1910adc491ae90e44700587fbcbc5076c2f45d7255d81560825c16ba7c3d3dba0670056a51a\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 490\nct = 9a75d988301561fa089b1dddc7fb8720ca7f80d9d2c2967c68f6db0210274ff90a8825a8fc9a69852fa137b41b8afd68cfc81c2e80ce365ed59447b09cffaacf4ce2682fbf28af4ee9a8b2deab51341569283c631bdcadc4cd848601345761e0d189952825c62446f59c3e97f8010a07ed7ef0e103ec46d77dc9c3b797254f49a806fcb6202eeda6e5c636218ed86ac8e54b0eaea7c261e9a4dc86fd44a0b49b113fa5b44905cfb40d6c2a830d81cefc285e5bdaf1d3fae0776170242ad1e8db989cece34cf619615adc2a046fbd88e904f7d2c87466040a62426f09141aa6dd0be39bd90641e691dc55e1092e101b65d260b0d12bceb80902936af017f11a40\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 491\n# Longest valid message size\nct = 272fd3e9eaf33718a3f226d248ad571a8af0bf7b77aa2b92faabc4b999f689a80d1d75da35f58d8b5b0fb37d9943fb1cd65eeca6237081cf9bf6696878b642f61beb53db70988811e660489f5f2d5bcbf4db05e88b4aec63a472136f4826ffb7c46321f722eed074a7cd4e1bd494173b9673f97df525bbb9519d7d06d2b879c967c44b4fe2746a81bebab84b0b6fc05a97c6829f0be8f0dd2f0858dd44bc994e420e46bc950175950ef493459ebb0449773cc888467facc04216c2e622f73d45891c4e3df7ab6a4b1ed3b7b9656be280b213f9927bee52ba405e8a352d169841ee7cc190ac6d104bffdac0c73bfe17ec15d37061598b6eb4fe43ff015da4c9ad\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 492\nct = 69b96b4127b987dd3be58ecf1f9dec3852070f3d70de1dad332d233bf73a899f3809eadbb78b535a0f2111ff84376676111cfe876f1b64189fc470bea5c4e9ccab29fc26b2a9793f552a76c9b4a11676bda394e3c547820f7676cae29005196c3496c1e2fa22932f7850f715ab82158696397a9e74b820fd3c04960da9af384d0342a9f2e65d8478729a051964f1a5befb3e33bb990b833ec15beea12a33c91d9527a7bdb62d863f875d90f2b96c1194b951c98286d6876993ea8d46dfc504b1f4f30172b5c50d611c0bf6e47eeafbdc23c2c0530c05d41c1b56970d78cecad46c5fcc651d3448bcc6ed24cf8dc7ce909988817b635448e5579ac9a355e3acd8\nlabel = \nmsg = \nresult = valid\n\n# tcId = 493\nct = a447010651d5d3c6b68b8061351330f2373f276ec612ee2b5c1d4a80de55242cd6a04b36470186ee446d9e726537cff81caa83984a7d9fb5602b0304512d7e4db1d7a7a0a2455138de23a2174c02cc78beecb7ec6767395cb8b3b3e9a8861ae4deefff806e0055303d9f6d7d610d0ec83ae7cb1bcc7b27c3a5af45a301062c70ad2943f609e46fa4a4ef06275aa192176205ea215707c2ad68c900ec32965fc0c1aeeffdec101e59a850b65e462652be24b45773bc2fa4278973442cbb35204152a183b3a55ca072fbad5102e6cfd511e6d700163ac3546c02c88bd9a3f08043dda94884e91fe19f4f67f4f36a8b4f589112b8807dc81dce8996943a29f14cac\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 494\nct = c122a127634c6c31defd36eaf553cc4ae76d92ed3b0bf39f39b9bb2eb5636daa86b3a07e9fa261247cec3b8751adcb0d3a076746289b7dde3f5020a489a8151b2dbf502892fb457e5a0345f528699b64c40d20836d1cb1d9d3e19e108cc378b2c1713077ed6bd31e0d6976be9b781a5bb4501f4cea9db8c037de695815b3f28d4d6971d634804da16eea277e3f797c5c73504921a81725cfae59c978ed0bae7c44d73554feb7f536651f2f198c65d340dcac3423d44de3cef51ed99fc6abc9ba9c7ebf08f2b461acefcb4714ce6b25e31c7f2b6f5f68e0108147df3cbea1883efe5263eb60a9a887b4b3f97b0f18ee2e9f4affdc140a38f749e8855a4094f155\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 495\nct = 53e90647415d15eacd59f5cbd3ccf6fb1094e9b0e92de9cc2c4b406dfb806db4ca8b17bbdfa49d4b3aea7de1f28e3ab405439", + "95da0a04ba54bd3f6526b7e999531a33207c2c731f4078aea6c659ff533322abb3355bd880ca8f0db72a2683ef46c81e453ddcb09eec7a2fe6dd275e04845315f697a7e27dc8173516d7967ca96e419fb50a010a038854188e876f32dab666cdb2d49472dd335544792a3a2b7717a076cd965090d3f398ccf865e916f517615d2c2c9df55b4f8a6a824f15429abc8c941962b9fe019102f244a095f8754d6e0be7eb03ff11a461b54d1e8f1dea6be283ca1df3f572d039a1a38db93121e069a3ee379d122cfe8338517630b1109\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 496\nct = 3213a35ba0ffbee27c38e0091aac9d00639e8d2fc28ce0ed0271fc21f88b345f5bb1a61cd97fda1b919eef83ec7571eb5beb35439b41059d20c6fc0cac2f0ab2fd56b645b82d21d3f9356dff9474487caea2515b96392e93b1783ddaa1a54d02c1d9591a5877fecfa9d112fffd1d80937f435d5509c7afe23f3c5d63ae3c164f6dc1b1ea82f64c1b96b57d3efa8543328fb12d6c635cf8c68eb4a117fb4df83af5f2567bc72e8bd91c399188eece22774c5e83757a4f0a70ce8b1c1427fbb1225fd4c5dceb2d5fc88613cd3eb326b401b11ee4bbd7cf083b0902d87d65a6278a51a9d798113d672a8b0b8cfff9a96b500c1aaf1b17ed469f897200c1e009547d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 497\nct = 8b87e5b6f040396468fc6fa3404be4a7e2ff205b1d18668ed33ce42a1b5c57fda71c2b2d524954876dacb331fb30a5c3e68e8b2d5803edf0c7490df9153335c89bb50c979b4e5a29a0293901d92c8523b14639d261b879aba3ed5bb556bbec0b72eb147079b33a40d2829f3f2373440d9f0f1774535371bf8bb03f8c630e51d134053b2d21521589447c889bb0d7dd6feb97ddc1cd40be85bfbdc6ede0da6bd77e066a5a2e413f25a8fc8e8028539a881a8742e2db1013988190117055ff777e175d4a2e7c4ce0757945c234d46deff936636568e3c29c05d596228945de8e93a361d1f38f834f960d8f195e448e24ee5f43fee9ae734b48bc09c0a685338b80\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 498\nct = 9ee01e824c5c129c23a863625923cdc27be2cbdbb216817929033404527c65bf4b4d2a0214c596a63d4531aa149a4c648f7c61d559b954ffcc209bd73f22246839939f5e3d402a22b9e66394a32aa522e599878733035e7be1999a4381077254caf599c46876f0c428da3921c62cc3dff7ea606d7871fc573919d09b89f2895984bb0d5013fd29eb30e9b34b49edc24a0e42aab957f576528ab272b5c088ff5ab324263921416443e02c13c8901c5c07f7da47f81db17a248435c7c7d86c2eaa6d64009ce8be7256b6f85a58f949f42cc4fe427f048e1389ea19418ea8a7bf04a27f07c9a56d34589d818d4a749258cdc7feb7a0354a5c5ca0f576be00eb8e5a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 499\n# Longest valid message size\nct = 15e07f7d837225a8dbef878e8710bf8fd8d254c0b7e6585b81fa7da9bb02e6c7c3fb507f037870dbbed41facb1997e40fd2db495691eb28d77df8906366b70043faf3df33a9600b9ac3fe275c77252a12d25de449bc04063e044a942fdb41e55ccce553750b9fb49c1ad21bc936dc5f76f8db298b6c0a2666bf295a2ab630b918fee353ea2e0e3e92e1282a7457f39f91d404befe6876d2974aa1797976d23ff04da8746c2f59ea9cf24e65926aea6044cab07778ad0bb4c48740195ecdf558e988b444ea01856b5c67e0be20bfdec5be637c0dfedd353464497994f898a6c0b3685df5fa59a880db7a7f3607b3abb687a5aeda5e316afcadd5201ab10ee9d26\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 500\nct = 980358c6b0c769edfa51924cc8bd5814ee9e65a9820aa5e2b44be1f9994a1d98edf022ee24f9ec35fb486f0a997240f066bf7bb8ccb5d8fc7d7e7ebfea1f1e2fcef88cface2c308d8faaa8222e49fe839ebfe287495aab356705a14914827e11b45a88764b9f2b118ce6101ecd2cac0079e6166f9d4ef974b5dffb2042bf260f7da4bd7177d9321d8ceb5280db5e12c254868406d6d9524e929ae9b34b3fdbbad41f369647061dc38ed734ace08fd9f95e13f0514fbcbe63fcf8fd98db0943f5bb1993297efed583564d5bb8e27363654c673df9fc56976f8c9f582975d59de0aca4f3304c695b7ac822c9bf143629fa310418d6d72e7adb6b1e66a9f98c03bf\nlabel = \nmsg = \nresult = valid\n\n# tcId = 501\nct = 165ef0d3daeaa7ef8ee2f4b7d17497acf6d866b485047765629bca12bded02f1674a5c34ecbaaf3950b11269aab1d443ebd240818372f61727d8ca5501e029a002c507c709ba6728221ab4a4f4b5e651e7d17226b3d8220226873aa92bcf1a2d015f98d1cc64bfdb5aad8b69564fbea52aa8dd1a8d955207eb67163503ea14ce53188f9c89d9479484de1929edd1585269411d57fac4f52b6de87c3bcab4b7012cc7b8d33753ba96d516cfa7121e5db5df77fd93b26cfa7e86bea5171d07df3cd848e02b1fe51be6b8a9d577d6418ee6b680647be413482175586105c25f8e344d93c90f77b4ec905212b4d4c2a2f0c22c0df946cb4299d5b9f7369ec6364149\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 502\nct = 7e4b653d10d882087269dc1ea921e4c516452a743ac09ba26524f452fd19da8de02774df369ce4c463d2f8acc2fb2ce84545e93acc509b9463b83dec7ba8146709565c86b18e6331c325cc09eca50340aa779769cc2919a57de5c6381252225a490339f62cc612d5e7027ff4aaa6e3aa3cb331854c8c1d8bd4ff1029b1f27d58a201406ad3711c260f4d0b45a08e9f56f7289cafb1c474232f5c460a59f40497010b2710ee6211c95afc3e1e4720ee1a6e4781598564ce5", + "06cd87055a72227b7bda4ef1dc0a4ccff61e4b990a023357b45dbf8d8e079f0efff1eac660f66fef16b70a8738a904e626db2f50e584d4a6182d04075328d221fe10c683a5e4fd96f\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 503\nct = 48b4958c9c7c7cf17cd7e1a7fe09d5578b34579673af0d412d2a23265c2091050c2445bce9a67a987017a3c8955046b1f5cc0ef9d02739bbca6299088eb9466f9f466d6cf86adb573c840e13b81a7bb3316761eff298772d4d6f869291aee757933fb0da414977fbcc5cbdc4da4fcfdc9329384252324e0525912f004217832fdf1e3c09f04ce880d7c35f7848b058f2cd8c7ea455d692ea3effcc0d2e634aea6bcabf6630125a359cb4c6948c2dec49c27d7f35d68030ac1dacc2f93c7a60c038b3112c9bbe1f0c932d7753e82cbc3bb1c154b67b4fffdfe350e321bd126e6bdbd710ae78c2564bbb5a2af2a1ed953593be3b3823ac917444e4c87c40f4cd42\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 504\nct = 885fe5b25aef449cbdc5c4afcebe754bdc9ad7a55af803545c8d63ea8e20490cb25d02f50b253dc014dfc61ab489d3cee4e98b6961bb0e4c9d396aabcf2b721333b743939c1cad83c7943fe3fba74e9ac5e69493d3df1df35f37990c8d06e0396c93b696f9075dfaa27bf1e1c25fd78d29f45a944d1fa45b5b988d53337ed63a7a002b084cd9e16de2579f0330d7e122260d0ea14c8f67b4cc1971b6728d278919917a2e84f8854f1fbcd0da60bc6bfa91daf79109cc80c13eea1af29058b3bab08185dc6abe58b0a1d0bb0899e6cb8ba521d68703d98d33fa8a3670eef7c854bdf1a96dcd20835409d94c9f869e1580f9b25146e6b62152b9115f7d8d7d6f75\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 505\nct = 4c04bdc9ea9a9c177e9502b15f9227f507f22d93a5aa9b7962275008536909f52d9e6e29104cb2eb54d2e8405ce9867a96b21159e9f658851df4cb74407a62cb39dcf161c071b3b151cc50c65931a77876628a1528441c5fffc407f39c14b196902330b1bbec718f2730407bb48fb2cb2c9843d35a0181311b7d3ea2b4952cefb10e865fb1607a0ca25cd275dca1f9291c65e77d72815a879a27fba084d6322c8bc6ea6505786a60b05d4f4f1bcc417411b78c5ee46e889ea9585873280430184d6b309ac5904cd3e16b332b82f91f47371d6dc6cc53a47a68fd7602b60d863767d771e6312e359a48bd892b3d0a15d46b35b35c0b6886e4f2118070230b3e6e\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 506\nct = b53a6b68d8b09f6d7d9ab71aa1025ee64b919b598cdb087e53d783567b47792e9b4f15aed0af46b6c4a7e1fc28a1724fd1114048928b214f1f34b52cbb819629f9d9483323ba7335fd38e18766c8b2ee69b4f9e85c379d225cbe2be575dad637a3131f317cddea8c41b394a33ef83b6f9a87736be0b3bb71fac7e555656befee24b483aa0b32affeb77dd8b1a2bd06d83424aae6341ef56f2dd896719aff07da3ec1d18ff0a3f42f0833b341e99d5981c246c6333e3f7c4f5efefa4782f7d0090a0d9ff9cd67220f2145dee0d48fd915a34296f218261c6094fabf85263a59627033b5988bc060e71a0228d1d9616d49cbd3101d564207ebdea4100cf50d4270\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 507\n# Longest valid message size\nct = 3c18ab12d5fa387728579313aef636a9f35526faa37889885c83cea8e51422e439d4d91fd14859b0300f2d4f1b8a1b37a0b5abb79f00fc539f41eb4e784d38f6f12e0d9eed077fd6894f2a1f26ae92df65caad5b02d468cc22c7766102238815183c5d1fd77bf04a52722c97bc55451cd47fe27d7ec3752da4109e09de8a23434588980ca4fae480c2c1c2f1bf45b3163e419d6e98f82feb2420949f8a1e9d4b8efd422d12b6e58c44556cec1b2858e7d3f19dfcef5b680b6fa3347e6b851363a833d8805399706d3d938e71de55c58b2528c714afa38defe5fff4bc3dd8aef4061945f814b3171a92102df3691a8cf019e30bba6ae1a3016f1a02c393aec586\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 508\nct = 101f82bcb8157966c8f50531f294510416393943fa9dd5dc05f85bb82f0492502274e07ca7dbda2a7e16187981c923d60cb6b427693c6d7b107ebadbb6fc400492fb795cebcc804d498a7d3a077cf39cd030e941308dc87000af5380b3ca5e8728313e35e31b78ede9e5f07cdec8e3569afe3d13466d06d4b77030d146b32cdd7da566d96753fa44d64791e687dcb324f52371c0191bc9f1a5bc7b7736a5bf00d3fd518b70ed6f4ae0fcb20bc92ff3eb048a6f767596263127ccd66e474e8c27521fe2eb21b8abb2c23b91bb16264e058265a567492bc51c4cd033b1d8a5d7b5798360f4c3716ddb43622ea5dc9fcd36819e05a989252dcce826506711a20fdb\nlabel = \nmsg = \nresult = valid\n\n# tcId = 509\nct = 35aee1c56044da3b866bfed989690dbaf57ac10211ca4c364c4f4127fed0a55b581217c7e854d11fd1a1f9d5431c2c309e62a6f7c3c59676182b288edccfa961c78c1baa53f2db1b1b9a4dd05015f41872cf22acfe3a071d6ac1e82ba6c31f5c2d9325247d6f2c9b03ce00c94f02fe33c5678a4149cf2fb70bbbd995af1465e3819c83c9ab8b55088fd5d75036613b04df302113948700d7876b7cec9d7337bf5773343d51a4298e717a4fae09e573fea412d88b836ecd4f74c7cc7500609723b3f3a2a00d85ee7ccbd92bf6c065833027c5e50310c6cf8fe8d13e2d8218e785333a2e65b547e5eda2f8f2f9608f366d7e43636fca4f46450c76f06dd08b00db\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 510\nct = 58878dc8b9527a416ec9bfbe0f07fdee8dc5bac8e31ca545ae7c6ef4a68f2c", + "6b2b73366518edf85f1143c27fba00a5d9a9b02843ad8951631ddf01ef1238853b4593abf9701c621941b4f05931eaf307c06faa7fb818db8f859c96dbfc43268965303b44fcc69a0e3ce619624907bce074205f113715e5e820bc8c6dda65066453215702416db9320f54e67fc91e9d37a8522d701aa22976966a99cbc8fec0e12f2eb9b5705b4dc77caff82a36485550752a3a5ebd47fc67d66b68024a2c5db809d08be9090bb96e18807925b18a753ece05f1624fb19537abe7fd662830d56647a416df7ddb3e6a073150d5112f60538b685243f1e4fde2a5951c9e9499ecc4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 511\nct = 2800f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 512\nct = 65a7286d77963a2d168ddb4c0e854baf8898d1d22c9de5d4968e8b326f92ede2f18fd29964708211ef6328e4ef16ec36a775b36b4531c52e01c7cc0058064af954790160012517134f17d92a05000ebba84f515f90258278208cb0a5db11d4b1dc26d2042218d2fd62aaaf53633ff0f632431a010b7e14971a41791644ebc170792a61b5548569f1b0268c890074a4b07d8e62d4857f9e720cb7307713424c701f6f666981ac8e96ab066f303fe89a138abd57b24f03d9136ef468cd8519235cef7bab01717898357c0e4ff4d3685706beb5d680da2885556e84663772d6c299fbda67df2cd325cbfd62932836920e0751b0d8095b914c18fbe5e348bcf4d85c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 513\nct = 7fcda819b841cf7c668f9ec9e7e115146f990cc420efefafe239637076bf9ef1c49ea69474f63495d90cd3859e335d323ab9a967c65fceb0b33a760142b00894d1ac25ee7c2833bf2dcd086a0cad64433aa606f4747f14500ed2779470b4339f580e2fa0a14d870d6738e726a34dda3fb7b82509edb6d6b9bcaefeca077b2dc582982ee6e28fbf167a92b0ff1141d10fc3dfc49adcfaf32115f900b20c812094bca91bb10301616af5030e0a600c993a24d96764986782da083e327569103f7b358a6a91d05fcf89a9290ff989ac8c0acdae03438a44b16c7a3e06a1591869874f29460b0ce09bd022fc3c606d785ecfe4f4a120298408cb425e9abc7171e4d3\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 514\nct = a5053d46939bd6c90f2a67f6613070ba40a831428884fbbb09d4923b978f17bf538a5963a0416875300f1b51d56880ecefbe58ff6ec7b3740a649f36db16ba6cab9b0e4e7a1ec658fa0fec781361a547a718ef5d9f7d03892bc1b18602436fbe5ff5cc6c3cfe8f2e9df960ed89800da546630251d292b00a60d102211db28ad184919709d8d4a1ab89d65ab2fdbcb66e1492c4525417eed89a0be2c67a79c5f89494ee7ef9d3d0d7db2de34ec6be5863993e8f64e4601b7945b2ea271efc941c4253b09dd3a3fdec6b45038887018a5018771fe60eb67a68bf977e9d3c6b032fa28868df58386902065ba3ac7f028600c5dd5c180552a25d741db12763dc3b89\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 515\n# Longest valid message size\nct = 89bc06f1f12c0b688352d31ddbe22de92b3e8ce8e0f7d34e5663cef1b473408c932aade4f06b056a52a48a0b7c80c763ccd3155f9f4282aa350e9c494dcd99dc2f4c17d53abbf24a37194db5f987aaa176028b2570c8e74aab356e233e406812a17fac0b92d27f503e6dcba5578755ad33a105ccd91204c8ed22e923492ff07d5aa702394b5b8cc417e8e390fc8268cab2468a4285a4fc327a83038e59114654df7d4dd32910f0fc2e900177d46aea50a61fb0e2066947fc648ef40e22c2156464fad8bfab19d8dd9a4aaa8804024693fd2cd45c233c59ec67be03a8b23fd859003b2d01540214b3c06633ce273a9a992d11befc23ef6be34798522c074f4ffd\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39", + "cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 516\nct = 5817f7d276493c294359e776931f0c4922207b6a06b43b5b03e3ec6cea095fa6acb8313b61d4a60e293eb8f99372b9cd210818a54e796bf09c70e21eec280fddd784c56d63091bfca32ea28846219f1e39d262ea475e5ef0e0802e80d36479ab81f6250d3b590de65e870bc9a1e71da1bb32154c9af2d049b539c183c0b5d6225c7ebc81b29cd0ad8caee728c57b8a9aa81e02e0e4e2ae2653d8e9045a2f267b844244eb84f93fc5dd37fd956ac933ae1a65643bd910bfed21dea885581b6717cf9cfff50fac0cd7ab5d13884401f3fb65a280a209e6ead340dab05177724f6ce72109a78c433c936e88d746c244d6ffc9ae76d16cc5a2d55fe1ecece194bc1c1a7d589376b16efe8ab4198997476c3c47ee232107af8fd1285f27bb3b455990649c14ef7ae1e81775042d6905c37a0afdcaeb6ce8c303d8fac88d9515ce50e6df603129aeb112fb3742ed607a6f095b1de291fc9f1d808a9c17c78a314bf0d1317cb4d2498b1ceadf919b4aa0978b929fb1b25e2f310daa3e707a7e3816e2a1\nlabel = \nmsg = \nresult = valid\n\n# tcId = 517\nct = 9c3c92244619c8e02a3a5c444ed621ca2dff15ca12def6a375b96548ae86a1c27056903fe1ba70d376f8f7949adff43d946430cc6692b03151f4baed3f395c496ce2416d8fd91578c607832c3d02005a88631b741414fcbd517f7d4774a818566e2a8eb15e5737110a3515cd43140083d6c8f8e059a1ee0e30145bb10ae2170c0fb782296d646e50066bc92825f1f3ded41d694c6f0c5dc5b17b1dfc84d6be72ac705b41f82157593996f7b95b6362e7227f1a4b1213e473c1f6eb3014f2c79f255a00b3ff7d9aad362a88eb5aaed14b9a620ffd3abb2301feac7cbeb7728b261ee6e877da45d28e6554f736273879833b0d8f11ff04b44753130bf7e5e340303a20d5c21c5659f48e3c3d1c566eccc2b5c57cc7d215ecb8adc6cbaad1eb2dedce4dfa5cf2888cd307718b9980ea17b6b3c559b955b19534207a2ef5ec1ee270a69e417e5d6bece4a62f594e94ceae0ed182833cb7d58633d24d676d1c009be9f52d655c656ea5bd938f1459d9b8405aeb0317d6d4d14cf2c7de2146696a64bf\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 518\nct = 606657c39ae419347af5117fee8d9b8f28866aa59e0dd7d6c2c07a24db6f500272a7766cd45e809055b4ad8a650647076034035a055e0b492a2ffeac0395ccf0a1f79b8344f6e5fb30ede7a0c75ca443b9e999aab43f902c8f85b1c3295296a599b16d5dbdb8f0b65a541d40c4fdb7a800406b56d3b01466b7097a5ef5140e283bfcd16ab7a9101a71700b490eca0a5f12b465be16e46997d03f119b25c98a3898417a433139043d11149f07e829fb7a274f8b6ad7191060dbf740806326fc62921dce846871c2800f4b3ed6936b63ef829a6509d17dd5ab71093f75afca0b32f2b81b697213a1076757fc7e2d264597bf2670b61c2fa2376f21a32aaac2dfd0ed728bfdf865762e07303c860cef78fbb4a32bbac94320bf3246eb7a9e19db4a219b88c41e86aaac68ee52a9700e734887ca4547cc5b6b2725bcd47cfce7d74eb37e7a67ef1cc2adcdd5137201a43af8c5da372c80946d8aac2bd920283bbc0cf4afe2e20572e8100134a0ce1db5422e8a2f52e0f46be3de9dc134e2a0fae6a8\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 519\nct = 3302b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 520\nct = 22609a0bccdaf1e08cef04569a12655f58a9d5a43f83cf9f979e3a358c67a1e444d104a656aaebf8f7627870799435c292ac4655edcdc427a0b618781268a9664fac3a2ea481d3b62b3fcc37f0a473ce47090bc6f3fb2a3d80db8883b99f26c3da4a9e9b1902b2d0dc4643c8d9f47c105f8efa57bf8aaafbc96ab3094d49792d0edd751bf028611c1a5fa38319514bd34fbd19a837cd328f0a77b39e7f56f1c76d1e2ad9594251ad8c7741e958371a5737aa272d0dcb6674ea36440c807e57f95edbb182236bb5af45cf17d8649e33cec6e594b5d0e609fd7fd74c53358f9aa320df99c2fa38f69caa1fc333e4cc5d0bcf8a4c4b6d2ed237748eb1886e5a9f155aac9e86dcf798caecaf3d8e83fcdcf1dad4c2e304e288aa925ed68a3ed672c78fe3477f2f59510ced468965d90c88b1d7eeda4d7a6c5f6cfb418231343d2838d96f6152f9963ecc68684d5e5572cdc3b7cd237c3307b7ab72c810a5832ed907e275fe67b267d022c4dde029aa840bea6870f3ad29524a097f9060cfea3a73fc\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 521\nct = a79686ec88818d6266f1fb06991ade5719ac10a7b0ecce5694dd76aea13fdcf32d620c290350839782f8083af7e73eb65a41d7a908644c6a28d6b9ffadc9545127eb1827468aa6f39a2f04308099480f79c37282e9d7f0545f6214bce22534cdf131c5bfc148562e45545beacab5568d3ce1615ad3ba0c48a93a3ccc72ec11ed32b770a3d435e5ecaa6f013cace1e04b8167dde67b97dfcf4c6434fc50bc53494d6252b70de6d48370aa80b8efd667993cc559791c0f60dd8e324a578a50507a2b36255c47871659e1c96148b17d9d2dfc453db34277a9ff395b828d627bd80083d44b594257a1b7741bd0b0865cbb0b6073d2b7e2a1158db00a20d652786937ed861e6775b551ff3ea78419ff4287a1d680981962f34d2c57a7ff0b8bfcbfe10e5c1a42e58e624971a53d59e1985b215a48a36ca8b4f2977b713baf9066ac3a98fef9775c97e248c53c3f425552050c29fe1eb05e31132806b7b7660da08ed9833ee43e7fe8f8d50325cfc1f6e54bc34b9b5994548516a980df38b9f61747fb\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 522\nct = 5a4eaf5cc897db7ed7dbd6a57519a06247b0c9c229f7bb1c6c6561858bca7552d56590821e22591218ca5edce82972f58cecd65804e048bbfe48df1934501d4ae5bcb8d50a0a12778540cd5354cbba91875ea70dd0f5057d808528f8c5600ee33c38ea7910f881e45ddd4db2ea933547db764769ca54bab59f3f9559b4d4e2d439462762fad169bf0e04cfc377b3f144924514c32d82e0a53e870ee0855d4ec96393c0eba5fa5fc5debe3d384debd1b61b33509f17da3bd95baeb0c43940924a11124d95d274e67df9e697c2b8133231f2f33aa5d6cc6f41b2962292c97465926bc8569a907c28b54fa6b6d2fd89c409da1b11d23a5f6c53ed82043fdaac6c0e4098daf8a27569d58b87b4597a25134ae45a8e1e6f1871d3310e56eca5894fcaa946e9a5844813e2ef31931dd105a3696bf04e4defef88c5c5a1cbe6bda766804a8e99c82474bdbc2ec344bc2de0575ff90a50d39f6446b99092cde226a81ac82f3688ecdbd527f37cb48490614022e2e961dc1ecbbac819cdcd1ed836a3a344\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 523\n# Longest valid message size\nct = 0392ad8b60f892220f5ebd2ac686ba3bc49840dc8e54fcf21f8e8a656ca0c53ed0020c9d512d5aba3f3b8df0ea3c65ac066deeac64111af27d7f7759900280f3cd554ac91016f341bc089ca022bd1d772a1dc99ef9130cdd0bdead74f65d08cb1097c9b5745bf28141cfb6dd17c3587c549e06fe37325a51df08a15c1bf817760f6b4d6c3bf6d49b949e97272de6700e3a82a856ed06cdb3d0eaf6e74d6c9a5e6b2da5bb6b3b162baf291a78e0ce082b58057fe92de538672ae21c19e215e337d4ba7e6b878f269be166e6834d8670fcdbffe7676bca15ea3bdea2ce9286d87ec21d3c538f17c17e41f653257e967c8859bf9cca349d5450af6b48355b49dd58c189816bc4da34f907df6a178768c511e645b8a6069dee23854144693045814471cbcb45e607dbc82a501d97ca7e0c0f641da3f83d69f9561731ce59cf2020002e3ceffe8371422f1318194b862617d78c79f89215733c2aab34c3dd4f1eac7815d88cf18ac9424dfaeeaa3d4262a2e1f4871704e4453d65fb9cdb82700295a7\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923", + "eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 524\nct = 708b598f483e5899147a7a19362ad4a3c9183b33a9518bc6bde9212ed574be82dc6f876f8599cd6e2b6f0356c3b6f38b947b5f775ba17832f9d84eb509c1c89405f926a6f3f2654e87adf415e4def41e8cdf9523900f6529555d2552dfed1a82b9739e698d96f852a7258a05f8572ae2b43fa57e3dd34be05d167bfcf85226404c973c5ca30f4bad4e17cedeb732c17ee68a3644997bd765d06943724c67d43853ed75f61943140e060b6a3878a9f32db3ab7ac600a4ceca3cec61685f8bb6db738b234a72bb0c9cbb140f5ea1de8156d890d072698ceb8af4c84fc2bd5eec9e26f1ece680e3eaf6e6828e1727d7fa2c9e12a9e45dff901abc4fdad44ddcfcdcd50e35425a252875acd2f8d96ec051482c57d9d39ea1c2c828e7c47c6ababb8e626946bd888640188ef6eb50b7e74a981273787bec45f5b95712b8e8bb07a63137135635be19ac859eda618dcbf2bb76edf707aec3b4c213d691b05008bce23805b5a45df842a6741f7e25a6c1fc836474365eb2a319973d6427bc8e49abc2ef\nlabel = \nmsg = \nresult = valid\n\n# tcId = 525\nct = 67d7153c10f879733b2c359613642e1fc4ccd902d8aea32ce41fb435b5e42353c25dfd99c241bd1931b68ff245e34db321c685a6d714b7d9f301ce6949e269761842d63206b4903d6a3e979a3b1b27b328126349bca16a8a45066dc6cfd303e368f8926b5d46630a51f8f97f691142efdd1eee3f27b0dc938a3d6d72b5ac4375dcc52cfb3f91e4af9a2646cdb7b86905372a764ed6afbbcce3ddc3ca6c7cf7d4d5ea6847093e4e27e697d48c0c082cee76f74ff491269c353ed5695bf5ce08e680e67b47ef13449b03877d78f8ef71c381fe4a4faab8ecf97f3977b8c11e3177ceeaa71b6f019f8189e8220736a088cf4e144ad9e40ce66d69e1bc20705f5c643eb10a1ded6de566a9af3abfe9c53d34064f82dd5c0579b8b78ff589d437f6367f03a4dcd956890f8f2a43286a0aa7043737f279c25d2b17c33479346d5b288a6356871530f5990fbc48b868f4c6046b5309cab0b3c9d6e40e3e07128a7109a541cc5ed32aeaad47528853b4483fb83ab1c41ccc4aa3bbf13929a2bbe0fdba48\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 526\nct = 07f7edce102c674659020e45270d8990d8816b845c857e2ea6f005699699377442210fa82d0c888314319893b30c228dbddc8b752a6e228b42e1a3d095ec6bab15b59d967b5647e036953fcaae7be91dda27ae1fbe595ad7513eb626db4631159e67a6ea166adf4a5fc935a08b513d5e5363b6210bcd5e6aca760685808ee39166160a8e9a9b696c88dc26b3ad4732e13abf52865b5d98a0da1d574411ba144a09c1d1f5c8b9386ce2ce70dd81b20a6b6c864efa335f9a892476fdbf0e849c725a02dd2aa2f1f9cadac87a3c4a2c9c4afc15546b172d611533fcf85872baf7618abec27d47fd9754c9a4d6f4dc9422d443945d7f96ad2005d6ec9f4bdc6a826ccf5e2e2dd01e635c99e2f697a68cdb1f90296b781488ccd7c481407f3d7b9054b2cd9b6638a82934c3cbf72c07bcbc59357ea14e2fef0dd2515d87a0c55d2deb1707b114fc1b7d5e45976e15f915dfb335c7b2f4e2a74a053bc4755ee9a2aea1593630657e6ea8b4eac5dcab9da50b3633cca1d9077b4f9f7c8214f30771835e\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 527\nct = 46218c74da50a1840ec6af0d61663c4b6073374c7fbc98bfbc420157bec28f7bbad5262ec9d10e7a6932f677297a33af90c5dc2090d9a7ec235bb1da9e3a266afbe53f898b4e7a87e81bbeb2c736b7590f172eb699a9c73080326f95d716373884d0d55f3108e20560f6521e6aea2f15fcbdcefdc56fb0679ae4fae4869b1b7201a5d7b936821df1e814c0f780f27956616a0f1431df89a91cd383b9a9815dc3b106300637a6ebe43dd80bd9165d10208e7faf3d497c8ab9716a4eb8de88e2b9125b8b14f14624629988a56da395f8e123dae412d77b3f9970779f763896f5b58f22b1370b25d7a77e9886d70aeda39b7472a5c9735c63e9854ac8d5fbe7c63534857159eef1c376bc514e8d7e9fbf3b733d480", + "f893772799f87aeed00ad0bb8170513587e0ddd0549fa4cd278813c3d195e18f2795250f9707ff064668f1f02fb1319ee572be73a0b25a896060d9bb5ba171932c015e241e5d4be1c8e04642eb8614c1af044c805cfaf4103dea9f51d170c5fcd0e79f36bce929df4d8118c63\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 528\nct = 29448c9f553aca234213e8f62ff76af84fcd5c30ba14485e0b4939b79bf0fbcef5ac0f97420abe7069cc4c428176f0b4e4585ee676ee60d8ed59fe730967a634501ff03e5505c65a7a784dad448796f095e66438e0bafca641926c85d1efc94d8e072c23e0c64dd018c379b5123f5004f32430b7d8cbda53dbd09ec60d7baf5b30161ad8314b5f17beb87f8b5057b8fcf1d67b0c5cc7568f337d9d56770cddebee8ea2b2a059f7b4447daf026c78b6955992cccb58eb35cc320a3aff29264effd06fa2ca7953177fd6e019df18e93c86d0eca90dd02f766a1ff77ba3304224cbdd2d08d90c42874909c408b983ce53520f0af5fd66e756ba6e0acd32bb0ff5b504162c32f26930a9481eb320fbdbe6d1e5831a2493dd62df16d58985e63bd4080e1b169c5672e384cfdafe414a319a566171f65251a071ea0fd7cb67ec680d930a2568beebc26e9feb31705e6b88650e2e189710215e65319d06ce265dd5360ba9794f2ebbd3438bcdcec18719e6b0693108d90bc65299d681754d281f19f404\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 529\nct = ace5b4dd6e14df0a7c6cb11a4b7d5f8d17baf65162577abfe7556aea02de3655ab1f8ab265649f61899394e682287420dce68c869b8b03e2eabe44ad8382c2c11627eda6b337d962f75319d54de3529e31bb4ec5ea5442bae7a9643766f942f880a2052cea66a2e2d650439b00f63ade817a5d73c8b8cbb4a8fc8fb10f298843383fd2bf9a91f51feaaf1317336ae13f7a91707d016f12476b0c58ea8d68bf2e43d42410385d5615b60e3465fc616cac003f0756fae25c147d1089efea4cb1a3d1753618b9f45beee1066e9f2ea4be11001718ee6d21049a790a0f127f9a741cd153231331ae10a38a92bafbde6e87e774fb20bdb037f26181a25098079aa174ff63b6393ea501cb48e842d4e1a50e20b4b8e74dee339a9b1fe95a2e46651e25b133824405055c1cd3f6e53d696b8057fd814d0d830e38b2641ac481431f0d98c94614174049bd0f569e0111514858dbe555a7806ef08efc53474d2f464cdd1a7b4732f8177ef036e514de43b4463c1f3cf0bc6614f87abcb1558be46310f0f6\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 530\nct = 259bb7d14e0b16a6387bce84206aed2a2916c21a231e4358123a94c39c17e7169e028e5e38511e905ce860e4d9874c736953474affd31e913798d8a0821bacf018c13e5dca476ab4c8f0ed194cceb19fd83bc1b57ff1f49673aba14312c643d3581f71b96942ec20d0b8ac21c415e16146cfce0e1a07752a00e6e2c2cb781825b057bf6c2526b69460713f9b813189c9c13279efe975c2dfb56c6ad59a30940a7af9b2854a6ce55f18e9944025ccc14fb638f1f0974e176f0e91ebe6f807d8f7c00bea264e47ae13e746c2bb8fd8d7d8dd7e1d1419065fa3e3bd8ab99e2292571e1312d9c690431d6ccf5d17a6ee829f4c07f88a25658af7525011e3ea2e311a6198c3e5af8b3339e0141889d71e99739acccbf3dcc0db5747e9a250a8cb7dff2cf5f36f1700d10c7af1fd79f8af83d6cfabab83237242082fc014827af3a16c9ee499bb6f84a59c8e15fab631a17342e05a17140dcd52151d0718e9bab9c2276e057b1a6deeeb6397d507d485658d026ea0f425df1df01cb1e9de96fb3ec680\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 531\n# Longest valid message size\nct = 68d0af4a4929a1e3b9acab08c1db55fb6f4b47014cf43c53b488c8009945e077988e6b4e6a7e96d4980603bc8c74e49b05e1bfba298726311f5e20500126a72c9c3b3ae0b47367e729c887807c940c40ef259deeec9b7d284f67752ac3b9944aa298b68bb1687a456a82745f7c090f7581c8c3192fa763a61e6f12aab3f04b89ca34c0bbc4c67069c180ef37d81964e902b6b9d5f059eb20887f7702a803d3af301d8f78a8f43728b8dfe4993966c94873a3acd5bb7be4b447e33c140662a1e05177d49fdb5b08e3ec9924f99add2e16ac6a27bb7ccb1eb1b69d4bc135bb6b3a40859127cf98262624eec721db2337c4c55e84e0bbc102d84d939eac5152c4de578bcc85b87e9f436d65bf86cd8164ee48f3742f6e9b7f037876bad346de3db96cd9441034ee6a1b4d5c174307e9c2cdb39442afc6eb4f2ce878454596f163e33c6e6d3f15980cd13ee4cf536ee704a2ca729d08d1c8f2cbdadd9af5dea9551730ae190534cf8dde4d33cb3f547584beef24a17b7adf08141e5b29def26252e4\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81", + "968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 532\nct = b47525feffb063be5201aaa1d6846f9f397589b988fa26848afb9bbd9d6b0d0c92cec327332f02bd072d53e479726faff5fb89677c4947d60d5f1d7f3bbf211755975e1851f17f0d88eb970bd14719a9e5b257cde71071915774578e0bead5f7ccd7b476732a47e0d54ef214488d733c689238f6cccd6c8be7145e0dee871fcbb504c93e1efd842b228d67fa3e303a1081e26052c6c11ca85355a2de7f717dc432a90092ff9d3d75301e7f092b3b425354939c43f0879768342242836030822c9bbbbe09d5e938fd070aac9f974c35dd46599766ac6f0f87a036a36e3650f7244a336bee4a9ed1280b8adf57d702844c739354eae88ceabd8e66338e59262ecf51b28f4dfe7bea8449383c27580f81ea06bb4bd031826e6f6ddd0c6a3c7eae23d3d6acd5f6388fd9fa70e66c86d178394953ba4e391629a9a588797e25acf8c130859cb7c9504998cce6dd9e032b1a09aba8b215b03b4343a5c0f2a8253b5543d301bd883e941786371bdad14117fa273296b153bca8ce4581df09fee1bd5e15\nlabel = \nmsg = \nresult = valid\n\n# tcId = 533\nct = 4aae8595883dedea13a1fd656405ae1a94785eb86318e181b747331019087686cb81b259f864c6a524137a316f744c0d092348fe0428e1d9551bd402404342e1df33f7491c381a4f32ae5687bfae07e1c408c3e65720f54c5a168a29df6b7fbc1835fa49ed5a8b42f2acbbdefb3cf58fb6876c2a0a710bdc5c9032018c6b326389b3c32efbd7aefa8dfde0ae7bbd829e6160cef2c8632335006baad32fa7af1fc9fc3ec5ac9c4f7af226e7561cb44338d428d97886d29009989e1d875650c9f3fa8af2a0924f93d00d2cfcaae67e8a89ef34d96afba478a250b7995e7882873bec869541c02ed46b410ab75a214f0ff08ceaed4444080a4ade6baf39aaa9d9ba52487dca33759153345538143d11af5f0ca335a2a3b94e1045da7ff690a4bd454fb788bd7c73b0b16e35ec2766024fd0b7fa44e0ca01fc61e331b1fc8b09f549a946101e2b60c339304a48d044fe231288129d2b70d6b08592288d175183e442b9aa4f5ec6eac0148b6be1f989263d3cf34a7ff265539b8e34c2117b7a1c7616\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 534\nct = 8f71391b8e3a079a51d015e86e0572aca134e5af782000545da1cbbb4cdfaf836542cad19bbc6aca73367dff9cd1e33631260d390b6d83882f82606e28abd2d8aa229ec1d93b4cf16599dfadd2178029360ef5a3bea6a136cd437f59289d334f20e7bae91ecca18b7e4fa5e3613e489ec806a52bc4727333bd7ebd5bcc7568f697d4013d0f6f54caf1baf36791fd21f8ce84643031ffe474901920eb4f592ffa306a979edfd6c287ee5b1fb0005a21d840372c60a649a1702fbc46489211700e8262bb1a2f54fd38da6a07e15850405a277705a66e7088b98bfaee8b2b51992797d5e5712147b756367170b6fde26c3fb5988ee07f916d189a3a18cdc0f3b1affe63538cbc187d4bfdcf5149b4d26bb207a1495d51a2ee1c2415f4a0d6434d50953ff2fe8480d276491ca1468e86c2318e94087e984444b04e7b804cb1f62c66573e82fa6800ac3a42ce0d8e5909f3dfba024a40c51b21b5455836a9244eeba25157e24676e1a317d1af9bf4773913ec3ba6ed1df50d3810eb98bcd290757daa\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 535\nct = 157562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da806864\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 536\nct = 7c741c6f511fb2eeef9ce3dd89269e991cec00f0ceab514a1780c0ea2e06261259652bbc5e46871780d0c03f933d2a3e4a482ad95bf346f7402509a3234617ff36bd50070e2278e77728ebb27eec2b1573c76ec52a25d921b1a6372ee6200dec65575324588203fc3635948e856cd47a857cbfa8d2fbbd046df850ecb1582d7ecf531f4f6f390b725703a58e82947141179811651588d6b13ea9fa09d138d71afac2b24b82c48ebf0e5dfdfc2a700d93d396c8ed4f78846797dff44535b39d176ec2d0124dd61b29d36a314631aa2a7d25015a06c0e30e2dbb011045115d6d705f06b593a22f3f6921806acb1c8a4460cad9104a78ce9c18e940fdaba39a6451a10a54aedc3cf31ad505fa889ccced290dfae89743722527324ef6131b7ff0880d90ebbf803fd798567ba0e07ecaec6c6ab2b3257688d2c374cc3e48137ff81a66c504a8aed98ff76ff057ae39ac67485b17abe4e16d6fb5b64a5d7c3303137ee286cb6ec53a86511cb224eaf47a59045529ed6049e3bdedf619007eefe4094c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 537\nct = 76efadf7cc972062cddb8c0eb6789d1422632751dbfd514d3e8a4cfaeb17e07d78244aba11bd078fa4fe3da077f1b6b2a6bb161dffc4d96245b6d24acbddb56a2245146699ef629a069d73ea233dc3994f93bdbc208f6f53d4d74e47cc0ac167ca7912c915842d9113e75da6b2492608412e7fc2a577fd3621a1107c1d1c5e74d3a0aac4cfbf389c88474aa37be31d18fcad2f750c1b176f2c1ff544f5d23fd3e1a3c4507e62d5a2c2e0fb1bb426f860f84c4de0a2ac63f90e3a6e266504389e96b37a16ac03fff70f3bc4488b3ef783bea505911512b7d04abee4ce52b0100727e563f8416e9c6f889e5436b27388cd6d7c4e2ffda6896688f8ce15167e8baff14ce9ab95caee52a5fdc51515fca66b646af8aee83e0aed730bbf2af2a966f330818dc33d4662e4dffd50025cbf77efe6ffb3c6cfa24420f55a418d08b675dd85f7aba3da35cbadd290482af1e7a0c2b7034a41bc28a5e3dc2c47e78fb46ef14dc4674c65f5cacd17e4f542a9b98ec268bc977eb97045f50c714ad7a49c0e84\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 538\nct = 0351794ac968e26863bfa67aa4d602c725b79ca9a4cd907a9e03c7575b975bfd99fa491b5bc3f93e1eac5b48d95090e10a29d9e4edce709c74886ee2d5067bcabab044e239cb4c23e1ffa8a8666fbdc706ecf49225697fb6f1a095e20dcca49090548d9fd0b8533b090823a76ce6c8c8a139a20b3e930a8d2ef8d868fd92c086c06a86c172e40e76f9920a6de6ab2fbff2cbe029b685dbc20da94e84442050b0128200446bf227eca935e1bfa8c89ec3454ea3a82cc792a2512d8513f2ddaf172e35e735ad69a5f892ad0c216e84ea9e92129d8272db269173cbc525e61fdfa5533e2e69a4670ed95f4958c684476c208002667fc7f687260eb54d9cea88bbfeb7b6d7aa640cf0ad0af22ecae17034c762bf832a9e8ef090926c5ad4fe6a15b6e5ef69da001bb7fbc608bc024bcf38e157dbb57974169bdf302ec177e48d15a1d0c919d9b8862cd91d454a96df1c720561928e282b9e922d0d8218d65b74bb740cb7cf7455e97a5e6bba07424382c31c37549d7f29bf7e2e23093ee861dce0ef\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 539\n# Longest valid message size\nct = 6aa169ad089b2cd0c5c0d0742e452c4f1bfe9aa04f4df93eeb38ad6de8cc93da66af9ba589352446b8c3a5797cb0fb8b0b6d6b6fca1f9ae4d508951bf0b526a9433a9b26b5cee4aa943f0d2c0d94c479ef8f99e2bb680aa4bddef38ef607ce2770f4d60629ebfabdd9fc20c6b88c8a02179dce5e9ad9beb90cf75baf5980edbd5b92794bdf9bc58dcc44a13b181179e92fa394152506845188b80aedc2fe559a3bbc289b933fa2cddefe080817f6fb3f1e8f585389ebbef06c3376caa975c07efe683a32e64917566645330dca75480e7ad2eae5b4505b6ad5233e7cf4c3d8677e0350b8e1db4cbfd73344e14f458f49849cd991d3b4fd19061bf25784e17b04230b9a1db1637a7b8c0f4e3bfe00952201c039483551931f84980bf8a633a1bbf4b609ad64ac6d26514c869c1d7b915b223356fbb07fad300cc9a8e6c768927a857c7e9a58b0d784a04e24082a393e65f098ff211dcde8a5155550c18bb22d64d324224d77e150bf424262f17827f13920ec7df259ccfba158766b0b52bf25b9\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787", + "87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 540\nct = 1d562b1463c4184b0a0718c33501f47c189ac199fdb9c44d0c645ee7a411918a7417c29e6c587420957792f84c672b096357268d979c6593345c7609a4aee8cbbef98e9e90c6f02e829fa7a1ffe7b39e9d0abd8670c245bef52a89d0e146cbcfe808ad0adbfc373dd1cdcb48d9589e9ae7a70efb2c6f19cb96ea6cb05d2455f5167fc280bec7bf59f85c2b44259ba3d0ccfd19b57d3157acf38f670dfd5eb98b5e9ccb5fbc7ace838c21a52634d32ee9f988f2f57eca9e10f706b583e6c4081428ec279150026fb088c29f6814fd34cf5b83fc2bc587ff25741b6d2dadd58a2d6d01a123792a7d79134eaf9d7b04a525b2e593b71d58195722cdd1856112bbe16aad40e129224c044d786208ab3e5aadadcb7ae89f52107dbeb7fe613ce682dabed79940f39909545dc3a6a5f38215873530347c47e3c40192c5550e88171805aaccf365963199155fac70ae55e37d48a5868d196b2937241a41f8ab38c657b3fe48ec58687ec7c726acdab8fce92be5550e206f2cd2203493fd5280f405d876\nlabel = \nmsg = \nresult = valid\n\n# tcId = 541\nct = 399d00081c19729c76cb06e90aa2311bcbbdc04ce73fb70f76e3f1964387bb9ab97ac7006f03a5940d11fd58fa9ff720df8a0b4f150f68497a650e3137364f23125da91c2820c2bdce22a9265019790e5dce39b5778d33263ef7292cce19d2ca2b747d290b586586a94a188f88f8953a54935dd8f80bffc21838c504b98aae9233e6ee1b8eab73b0f75c7109b850f14ceba483f2381d0b57436df0344580cc42128e2a015517447c56cbce0697d3379e0127fc979d8207c0e2bcb719fa753a348dfabd35e6d768491409e7c2a2115b576c3fa214f2df85dd98505dbf28b7a7047b9b483ab68030482db52be47136a2a89ce9950d93886d656d8c6edc9c24098a4078aa50e2d10bf40e1191acbb5dbc998bb6c4f87bb1e01790f8deb677dfb4790acda741a40b2ec5ebd71368f8d0e2aec5af14cc628ba56cb1a90a522c528c85b1651d7ddfa74c87c995c62c6803b8535f6f8185a5ea1c1ddae776f05add89203a7d85f217598fc7fa62c3b12360bf0630913d2de8ac424cc3f8e8b8a4836cb9\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 542\nct = bcdb29ad6c483e5949fccc711b3124f6853a79b44852a39382c99063f3c02571f996e1aafeac058e7dd0391ddddabf8d21ba580a56ee4c97f0c399ddef340ec31d377b5a6755feab0f0d77d4280856690765a6559c709af223292355d14064bfbda77fea44c61a276250091b7cf1e1b08e40a803762b75d6993885729b63d5e25f5d86eb322447b2282d5e7f281ef0a109ee97b3212da89f6b03c696a8fb26a6d135137c8a5a4f180be2fa5b782be0c8bc6fdd99d691567519907b2afae439153090169a3dc9b5565b637332ff9f9afc4f018982361cf861144041006fab3b277ab29f9c18664aeb7935888d1ec1dc8588565d1e9179cfe17ebb4e1a25f6cea2666c035381aafe2907f8387f41410a5993e5f7bfccaf0dd48bb6bbc5f321bf904a4cfed7dcda8d89249db6e0fd791191aac9df12f2a3496321673bb2805ceefea5b2f0edcd08294bc379440f6f890b4560664ac4c71d2746b9e84feab9de2df346255cda707094fc5b9e0bc289c68a5993c1496f3dfa71fa3080c1a37d4b28fa\nlab", + "el = \nmsg = 54657374\nresult = valid\n\n# tcId = 543\nct = 8372e84a23ee336083b9c0aa7d532ee1a93370d0f622eada84fad4786ecee9d1aa67efde78ddf7e8b04f9a2ee841ebe2553f7154491c707f4d78fd5940d8550430c73b9c1b81f5d3a50001a26cca87ba6551080d9e7e8dec3f24ef713ab1e7cc5eee6b4b4b1ef07bcb7c53b0c81cf573212a5c7ef7254adb835c28a8a4635138a960595fccdb348cec10b9095aef99be9610af58231239656b1e7c250a34f07cecf2293012e184383156e730cc58f5c21e783d293ab67a13586d09adeab2358b70361aa2b55a28b21ef00c7d46ec75d247beca705e5bfdfb6050a02e229d286c232b12794a2f3d98bed0e1c7830a4beab0f77de1b42fcd4187c568c9a4dd5d00a81141de5e8d49347c082b47664cca872c18a569e300459bf6d9b6daaf29f8f44373352b6877dbbaeb9f254ea5caf25c17e6b6d6abc8a8627ccc8a418ee233dc3e20b0df74764ec1f11a3b89dd9d72fdc38743c206fbcbfa6f5dc34d7fb9071d75008f047929e6a2857b6fd391fb00a4659f8bb69c8f39686e1f96c9119c7ad9\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 544\nct = b82755bf6e82ebf625485aea232d17652085ba1ad81fc6d7a38b6e790ca9e7104f82a657955146288cd04972133dd6b15bd7c7199b4b395aaf6989e119d15efc8bb0392f9dfe4aceea804289c6aaee0755062c8a02aa5f72852969bfa83d523379690483d67fe1119ad2bf7fac588d318abbc3bbc181ddc47678fd147f03bd09b6cf6c32ec238638ec101714a5761f83e8cb6225477f5b026fecf787f4c6b33b367422b375014de48501ec0a5a87c33a785c167096867095f9b03db86fe1808a6c5d15ede1a115f3f276fb233ee8e4ea648c7cb538856424ed871323a974013811dc5c4e1cf96c7bd04b8b096e73d5405880896a2018f0338775712aed7e77291606c055a5791de6f41f7d0027f6423a8c1d3e24b5f953a8d3b7d60e74f6530eb2b539c2271470b05d64e5a9298423db7c77dd97e8319b41f14b7c1f2d576e0b14ac37035a903ee4f9d307b1e7f5ce14b45f75b2133d64615e9fdfae2879c6e58fd57d9c68fd06507f64a0f55a9a38c0418c4636c387df5cdd24ee44e440d86d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 545\nct = 724967ba1bdaaa1269bbcf9b4157b7b310d2a1ed6a9f1bed37ca3bb7a995a6fb240a91e1d4836e84de5f9d886a87d940d2d2eae11aba5bc22467a7ed4744169f72241a1cddcbaad2d22b5c3ce1a48898f03dbb1d1a1b3aae683e43c2d7574e51ea111e61f4878d7abb16b514888d13ec393682505490187a4f7b89c1078042bf2d191038a7aef2185e5ae4108e3ce68a76fa94f97b2d545ffc4333bb43df848f5427e7e0a490768b44af3862922167efd1b9c9247cc60a69e72d5d0e330083c492ffa106b9702f5e7e5c4bae9d5e11898527df684008374f38dadac056a9881af3684ee396c9a6ff1c7da0d2767f6bdf9e79e0ebd5d7e53e1b9af69242a9b0357661e80c39da273dee440849ed439d2e699a1a0242ae0979c7be70140270c2b306317de4740e754fae4026fdbb04cabb8e27cc3f67ecb8a5bf04b6a11f0021c64df271f896d572e57219c19ae93c59815715e7c9d9c9981735aee261943a1fba80f9b29985d41aff148c68dc00db385a7c797d5fdd3ebec8557fa550cdab7cfa\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 546\nct = 05ecb7b159fe31ba9f358b14f6d1b3bc720bcbf62ed0518bb1c4b90aab24513bd7d4259ce623da6b9b4adb7cd2251b6d706b5d291acf01eabcecf889aaefbb2f3c5083ad81cb5a4127680182d85cbd849c5b4b4cd5f4e9d7e1ecd235122c2c85d55f1a0978b63542f9aa5165ed8ba91c0bfddd77a5f580de22a89250bfa5cfb5f5c7aa1747f3b6ab0f4f2ef2cad0d09a4e61019efaf56d546f43f2ffa419ecc181faa2128ddc943c1324480bf4d606001b22f949b4d4571636d0ee35de458f7021a4e58ccb56b6906b00485b9764a839db819673710739c4cb08112e722845d1527cd46779379d6458d32440b90626a35ed8e518009af2e3c492b673e21d4b47dc8fe4dbb4a46ec6d5d6bc5ac6760df50005fe9cd14f3d7aa03fe00de281dbb755bf6d61f2509ca8de216292260a11a8e6c5de8207d2ae667d6e65ab3dc0169f0af41dd50ae124ac6e570c6646b3633971913df43cd59c3e17efb20a4b183fd81c0bdada7469e569120567cb35c2c0ddb293aa51f19896e8a6a71294c192a6ba\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 547\n# Longest valid message size\nct = aca78c4487959ef78d11ae58c0ed0a0c763939f16754805181d799af6cc1a0445a64d3a3ad9767e79aef3f1adfa291d6842bad8ffe3391b7ffb37dd7138709d9514c20c8e47755cff81f06a424af3d12a029dbf2e0fb9d381ac732d24c88945bb97757e07b95875fcabe601f7beab2d5eabf8ed562518e43e91d871aaef1b74ed30fbe6610fc8eaa58f06605c3065b512b535e0c9d336410c4a0797b252b44ffc934a6a0c3e5de045cbd6a2be1ae2df2bd681abdb68c42607ee78658f20d5031f75c23ff4bf9cd91ff60135b1e25ebc82f99ced3d12d8e8da3d5d1f4cbdd2b729ce2537c4bfb2d2cb04af410567f1d7511a29245a193cca7b308a357e75405ffc9d75298c5f019cd28a009a179624c97c20a469a64caa0ea246f6ed522f27ca9f9fbcb087fb4ade32a875871adfe9abfe308a56dc867f89aaf5b92e90fdd3fde225b18eae3acd31c32206fdc2dc2d70259f480bb4ceaf5d3ac276a0039a64a5e290c3cd847e967a70ff8f106792d388ad2a9bdaa8eb94e6f189e7772abf88bf5\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545da", + "ba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 548\nct = 28aed75e1f78e33d610ba8b5131704569aafc3f25b3f385de5579f511335f5a4c20a0f1ede677ab9fd5de4ce7851150d468705dc20392d6bf2f02d1eb14840117cd2fba4f37c3eeacb11e50820d3cba90aaba46b08b6fac4a676f35f093e76b40ba6e3be1bb42fa29ef2411254138cdb5183ccf56ac9950d8db4246dbb7afd0c07dcade817c3a1d7c743d0e09ce8499cdb072f5cc1912cd6ef5cdad1f7388daa9ff07cbc553543a37039bb30c4050caa1f116f198cfeed507e83f9f88a2c3f38827d3173956d854b255176dbfa98add2db16376f3180ea26cc662a9f4af7a94195765d00da16cd8469af70b807af7f428880d3f33a794504c3f7b4c724f2f5b73b5b6fe320501577cd0f06815fd8578127be7c677a480ea4a6663a4e22fc21cdb5f2fa6b55d508da7ea5f677ab6589031ff644ddfefe98dc17f98d4003745bd3d07f292d8e348df5985c66b7351bf59fc4ba6fe4f380e42d6aacb4149701838b6e58e72a55f8472052abc81a35f4de440fe98513c927c9c85e897d9d26cd53ef\nlabel = \nmsg = \nresult = valid\n\n# tcId = 549\nct = c2ee581d492d7b600c4f3f17488dfe843b10024d893b90cba08bace777a73c868128af10fb64bebe5167ef7b533fe7f995c18ad4a9e315d7f59aaf0a00beeeeca468f06e8614898fd5779aeaee1146aecb76e684db51036c6eb7b28e2d5ba7421332f1466f3412c38981818f4c89445800f31d6072d3b684b369cc49e60590b78ba18e329f40996dc54473e1f299f8704539ed1ce6bc779b95645617f46ff0c17628244a37c2ca4ba68d7da39d770c0d5a4cd5f1c816e627159ee18b42b8ddfb860d3c7b751216805394e716be5b3b4a722529fe858b65acf221fea492aa87ca25e881e7a22ee3c2e7efc35237fe3eaf888be8e37708b026d71f13304596b49f432afe934115ec59b791c7f4e8572e0cefcbd01f77d3ba83839a77975ce111186cf38cb9e2888c923f39151f39340380834f680c6e5a2dc9b898d6700b9aa2f71c37c0960acdb8c3cec8616f6a809eb50c605a943308ff682d414add911a77769c07e4d508f3b6d9e9c38167c83c4d6d42fd23f12c45d60a3eac2e6f0f22d13a\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 550\nct = 2b76124b00444da87728535cbcf4732b7f91566b8f26eecba9d4cd754da36e6338c589b6b3041c7898225be54aebb541259c14386e0f0c677ed27a32f30c1446d43e6685399d6eb2f92ea4da3aaf5127b094f8b627c4d37b41e779897b2be25aaca06e8bb32afa93c1d3653a9bb0a7d16e23463eb942a95e388be3ccf31b724c5a6067ad4ee08b4bcd9aaaefb8d51668f481991a7e6ae6b43a800b699a562d66b0b206345d611ae3fb53000d3ddc862e72ee453e3bbab2c0e816b56aff09d26b0b401374dd3c5ddad061f618be72952effbf0f70c59d0b40c509ecc06122e475d503eca975306a1a72aa70327df4fb113f512d70b8a3db96602559faa5f0796f016364ed3f08dcdac34dcdb25865c1ace799d596bc015fd3e00b473990dc68640987051d41b980fc188b29a29b8e37194728598cd4beabc83443ad42e07810d8cddc4043b0efe55a06ed821e08d09ec21051a1b2d40328789babda833cd9c0322f829ec9eca936e0d7ce0231263167b49651883468d8d908ea3192c8d88e7b38\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 551\nct = 0e25724f6e42206c5329634e684a7bc502ed2fa50b3996488d89cb9a3fbc70527fbfcd587096a66d11e5f9e855dd231cc8613569cb7854b6a13b5fb2dafc6a6cff3f53ed2312e78a7a2c1069674715661ad06f7b186208778a3be67de24884e086834a29fd89345823234e27c725ee7065b4c04056b17fdacade6ef3db2e8eaee3e4f6a9fd0ef1b44d8429d97be8f467725c1b6e3707dfad9491b90668d360faccfe19421ca5bfecef6050cac9aa0d0fe7b17ce167070b5c8fc0bb5489311b6d90e63bb0c107eaf09a8c451677236fb78764ed77c95853e5dbb8e475a0567064683787407598155c926eef896373bbd5276b976b5b7d1768885ef1d16b9ea3cabec0290c484e24922ccf34e7437c58a15370f02be963f94206ecfa27ecb89ba728a76fdf236941f46f67d25f94a33cfa6a81083b8761a25fa35b1606a6128addd3ede0fbc004b75c56c26b30b2dc965b2fa937f6d7048470870f4fe6ed043d857ed0a9e55bc8870b868dbc1eaeb65ce46b749fada386e5eb32d1d8f73d36f5be\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 552\nct = 63669ec4309c1bf26b5a46dbcf93963a9889711b2bf171b662783a2607ff32ba83cef2eec484e9c96088c2c0cee3d2f9fc91dc988acbe65bcc14979bd55c43da57641edb15edbcfbb5402a0391569f92f8cb936dd51454e0fb9c8cd6eb48ad338468cb88393c243bf1b21d97192636375c6cb6475bb27646c171a24b43f24c1cd3837eec5500ecc712bff0a48cd97a4c579e9621d463e10be675a3b8a998a9de85c281308bda2bb8bc5780a90f9e81241c25cc900d085d0b4cef9097cc31bda02e8aace8e5a0ac84db299825daaf6c4eccabd53d8e639cda1520440c1c560047e6aaf44674b8e61803d07ecb8d4928791d5e919ba78c3f00a50b4c1900b436df91c2b3685ac24af0f76aa13f2c95a1df23ae820d47cef9876f83f49ac0639afc2545b1b729030925ec5f6fbf2e28fe946b131fec922dab3b508421733c52282c52c0581cf93db93e54560115448763137135d4528001103362638fe356e007e271604a1adc000f6cb85c4f472209292efb6ec10bd2d329408c6f3b6c510ab635\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 553\nct = 5e63e3e39992c52682b446639abc4c49c41e9cb2a01f347625e8ba816cd10c286c7be42b38333cfd5255ae66d11b47792e4df0366a93278b0931e5994ab40b18c3a5d4814c856418a9cbd63f5dca4e7a04e8f86157a9e43f4f9b9e2f8fb469465a7513f3a8dee850683a1af9ca91f22d9554683b11d2c77b51602c118bfb20965775d6d1dd9170079660dcf0f5107f433fd4aee8872d3afe9653b8cbf16c9968ba94ebba0867578d56cd24bbfd39381cdf517cfe7523f94862debcb1095c2f702e7d64e207af8b466b777aaa17936f4eac73f48f2655a6115f287af54cfa2cc65f9086d63330f95977eab02b0e682dd4dce52164bbff642b40422be3d631946d1e5dad0f58fe6e658ec8fe624c41c219607d33b007ea579609dc4bbd4139b5cbcf56fba4e0b32edd21ddfaed09dd5af8d40235ca407ae0c80c0df7a4c98b2a993a11d1d6e2a42fa43a43fa666cd98d84d07549742638c7a076570cb0ae219de84f91cb08d5cbd97e8a5efcaddfa433affea2626fc176d1303192982db198cae7\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 554\nct = 3b196f16bbb79b309902892527e09a17c0d6d52ab96c16539eec1c84de914e646868ed7bebcbdbf63ceae2ceb7952a867dd8e4de3fc94ae3e73002effbf91f0487324fdc867fce325d6c57e9ef989d6e650d685c7324531af9e9975d241e5b0f9fc9731a6940e919835bb7c4bb48153333c8a1c34b4e5d1672c11b855cf648a3498dedbddebd4f14efdc3e0e055dd81d66ad236e734a8bc63615d597b4d0b449239c039434dffe1bf619c6fcc8dca3180730914a7d5514b8474179d71b39ec18d696841e66460cb7f8e5432de13208aae2a84263d85b1fbfaaf1a73b1a75239dad8222ec91ce75df3d00d8520e56f2015eaf764442d7b3d5f27f5789ebb2fefa16ba0a2b5d1d4ace1c6eaaee751e3a4cd78bafba05600f79b951dbe4a0fdf1380a3f230f10223c23b7b0cb06037d217ff64a9e864b35aa6b97f1eaf80aace3da519672bed3e5d38a23dfea47295abd48f848564043de4f8eb5ddd4a1020d194d355d396ec643cb05aaed3d0e626b1dd6382ae1f79d2d1febfdfd155235f23add\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 555\n# Longest valid message size\nct = a88d83fabf35852acb9158b8c926cbcc7c98267581d657692522b3f90a1fc70c0dcfb638b4b397d77cb438094d8d916a51d730b98132c95aa649ddb849907b9e9d8d1559179aaf324506a70ffe9fb2a263df43c2c1886c1e4f4a9d714b0741674b4fc76dc4d11a4c8922c1e2ddf7bc8d920e52c1ce211d79e716bf62f971b055a4bcdfc7d3b1617c34773bbfe73865b51af432b3705044fe98d2bc45db99c1764136dbd33c7e7cff8f901", + "6c27fd9cbe31cbae4c35c7e6efb9632bbb3729a08e91953c22b4f8bd88eaa57e1fe189c175b7cd981fd0774342663f4dbd1fd0d12660ca7c787280359b8e9176bc53bf23601a02611cb9a68b1e84402d96b0ee9d8c798e5cfbf03ff32ecf6684aed668d5d6f0632144971dfa3adc73964fa463f4de1940e30e9306d0097bfcd1953d77becc606a18fcd7fbf81b327b0462807503f49bdeebb1e290b837bf63a0d1c3f1de389b5c47638c67ebc344eb19b9550de5bb7524222c2d6b4558ea141c37d226a5d499c18b4a3ec50e1160c4eba8493590244\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 556\nct = 47973e1587d337ac643d00cc7558d01bdf749cf9c7d269d5698130d5ec901d0929ebc261b607a7267e5760ceeb3c95a39a36d0dde85323df3f3ea3b7729b04158a7651d8956a6c38c4f68f6991f62481177d2f3c63d409e5480c9e572cb0395573ea78c1f43db9e30e963b8e90950700580e46773a25c252863fa9a6422a04a7a23ce33a093cf502608bbcf35b9207c8cca145ada2b5ce89eef4cb0d3df09faefcacd7f856a809b73ace90ac6c5146e1da4f57627ead19e5de15b22a079589f0c7aa18a9ef4cf142d77310dd88c2f73fa29fe822ef1e5b302ca95ba2b2ec5ab6baf83c13c31966d2523aec88ba3df77305b71aa777213d4ccc10eda50a7485511fe27e982fb344b8d3816d364997124f636f6971707f5d6c07db4a8726a242b4ea14164a2e91f0df74ef8d2bddf2a2721f2eb4f8f74740570cedeef13698b5f3f2b3ee572ab34557e20142ba0c5624b39a4592e8f34c06304b83dbd49fcc500ae009e4bf54d9623aa912455e8dd183758d9bdeeb8d2f34a8a70f87c0eab3428c\nlabel = \nmsg = \nresult = valid\n\n# tcId = 557\nct = 69b57f66fb5109267ada4c01843fc6dd98f5e910d55722dd40fc7eae93ae9f531fd493142af02108202c83a33209d2430632fd79d5bfc3f0268dc8c6bcb9aafd781d0ec81678439c1a25647aeb48cb8d801d063996be584170b63a1c75c7ac86e4e2327d68c6f7f39003b7fff1551ebecba68640c9d1723a4f1bd78b780c8ee667d9166915bd7c0e2974f3834206b7016bb063fb28f0b3b80f6d47f068fe03b316f415a5e48f36c15ccfc5aaa2f65b340c863c396cb15a1a643ea8a2ba4158102205e39f1b4fc08474fa51e511e22bc8bfca4583dc052453d73fc9c938f94a7c244aa73d01e9663f31b0b72c89de9d098d187e95d3425ab4a7d53abb28a71c3233b156e688062275d057a9617b59e1e3254d90084c8482607ee22397dc784e7e74f5bf9b39083b8b322709653c0a4332245e09bf7f0620a7fbf7e08af0d89f63f148dd9a45807648f9c225cdaf32c0c37ded3d01b089f9558fa4a9083c9af71ba069cdbcdc63aa374efa1dcaf7df3b85e009360d6a1f216c0f9deb5db871a676\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 558\nct = 37918450265836fc7feb997d9b0527587f5343d9936094af2f885f64ab9de69c582f3021e07896137f4a5a51b144e8e6e362ab2a5a17d02fbf449d9371e56cc92ad50d14f5994f0b9f7adbfdd44cdfdc", + "7e778dbce6950561ba7d1d24d091c7801431a2a2e5cbb6be023ec31d9a27ade05d2b56178782e88fe3a85dd9ea277908d19f5f635cce17a803523e85fb6d61cd0501d706220aec333501098184ff4e8725137731338669e9cdcd55a91403e0071a858596c6947a9f056584af698e9f9b9eae9427cf1e236bd9973316ca3b78c36830a6b98c5a98941d686958db0ea60aa836be6fbe1de9f07da457066967063802a77889a5272a3c395f3ae2c7b36d39b800f8e99cac01e286496906842a26183b8491b967e85ef332b929eb5fd3690c41c6d4c0d5599ee3b48c3a1f0aca771c10023985bb1430316ea96dda506e634d7c1f9eabdf22255c3b13c2ac3de62bf54046b473abb40868390abdfdabbe83673992d1d0ebe3041dac26de5c4866d7bae1884e13c47c03403503b9ac1da9e8a4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 559\nct = 74284804ee84f2985e7d70ebc9fe0f9e180348678296b4fa0ef81993b457c4a59d62374e3ccb3a6e74e12a27cc3aba4a8d01d355602c02cb768673659c21ebd68c811eee3ee40fa835c5a11884ec8d76cfb7a8fefd92582b4ce795ffc81d7d9c33649dad4489ab2923ae8dee6fb020446415fede7ac993f8da810b46c8f7bcc2f3096f6518cfd8cb9b460399417e7970287a20be645001bc263c143f4f3fed68ad67606e1103ce9c3ed82cc0c141bd0720c93aa84f5ec945c52b7ab7d292eed389f310b95d89270aafcb5b2d2c2a452653eaccc52e09a5b8322ec7474234333faa7633803e661e7f50952d7453788c2e3f04f93a08ae422081b294699b1173aad0c2a821cf61a53040cb029ab7cd29e865a03bdabb26f975c173322afa4a52f35d15fd71a1ab9ebb7042b948e842796560d62299213c8b8fb01fddf33e5909d47cd94383a72ae5cf9587819dfc724c734be50a04f7123605512420f88db21ee5db0c37aedf10412567e868ac12420152a4441574e89e3a703a9b7381a00726b8\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 560\nct = a02b0a7bf8883430ff96ae28d54dbc59365f6b510eca7642d23a62c9f1a4b0f782e964c486511b13ae2533b8347687c08d14e64fbcc7f25a5b72e29ad2a09e17b20408ada0637baefb95136046d1dcce4ef4dc4e50002d6edcc99d418c73ee0ade70d82ad2035968f88aa628bc8861774099f79b7a2bfa3e1e31a9c2828133fbe56485e84b56da62830618278484d3ed26b0aad936fd4ca06803da69679e02d1dc9d465aad1ab936086f792db899469f8ef5b5e3031de83f5b393a9fd3a1375ed213643dc0c3871bac4aa6a661b455951c98c84c4bbfabdd132b0cdcc0367a58d3a43ab310590a3cc1b56113f8985d984816677092814bd61171a2dd15d5e9b00e4e070e38ebe5f14b3991a338185aff3d86f0d937770b9c657146ba0bed7b35f40a6adf06f50f57920fd584027de5da35f459aba5c4690a59fc107b54f464908628f0afa1652a8fe957586f3ab682a773dbf7131a25615d1231d0c79ed25c3fef945b7e386c3e96e5f0c0da399c115b3780231359d8d8ce8bc25634d0c36a9a\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 561\nct = 27b533eb909d4190c794e81be19abf776deabdabed0021c6bfe1c89d89fdde4144fb841033896573c1fcff780ec37386545e61c4492f4128386aa1fa2c2db60fd98bb6ea52b18de0bc65ccbf78a9dea9deb16077080a6f6e921ada15a188c1dfc3908f93bae22184671a137f31a986734f9c3f2b2192687e89d85ee45dffcbd7e1328d3515e84600539e3c7ad1ca9d06499a1d62613c777e487517b4ce18c05ec0583805f41d2cc8a7b617158cde83701549c52451fad725ff3805488ba9ad5c3e792579594e4800e53a7bf0d8c3464db419ba2f9d36411a0a4742481cbed7fd7bb9d77794435ef47e7062c3ec80148d81ca525f0ba792cdb73cdae5b3e01ca87a5b5f0e07af8ce143f127ad940f8efe3cb8eb3c799b5b776ce866f784435b4125f0fdb94af3d70f49d68cf0796497e9753d9bd0c7131f39d23be2bae7216dfd3341c9bf1cee2d5aaa6d14295f027d752b4d69e6a65fa739748a529415f5afa90d60d0f398d0de37261724325a80e8c10223b6699e7ca3f59fb61d87597e8127\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 562\nct = 4394bedea0f243479fdbbd439495f5072765614bab9bbdecd4532626b72de1370c57345f1d60e62bb38876a9bd61e8ef8bebac526e2aa1c6f3785b6cb50c8f7f575c648c76b9b3a9d662bf1923cfa5e971482c34491767571c1a0cc60eb725a7eb6294c6d007d1f8a1c5324f4253a52e9d294a9c8223cb3c40782cdd9f66018446273cd4aee34b5ddf71ffb273b8a4e6faf78c1ad3103fc1d6804261e422d2fd5bf3a09a44bedb56dc50c15cb216d7bef6be797129366916f549573d762cebc8dc9063d38d481d876a1a61830737c1bb9c5dab7ce738ec4c801e3391d68e8e3b48727b31141f1394c9578d1be81dfe5aeeda707cd7837ffff04a57273272e646f28609f5c8b0858fbd235e42f811c6deeb6c55be9c5f75c59f857fba9b61c0e00ce2378b16002261b121fc5c8e9209b7c5590165bf1bb9cb38aa49fd075301c755570b272624678b5bb3604a1dfe22867fdbd62b0f206a4632f3a9e9877bb24b57bae21541541aab25f6dacbc2bf3696c52a8b3f7c9fd664397e5ad032058342\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 563\n# Longest valid message size\nct = 28eb8d7653e2477e14644e6c667ce423131d6cd6a2407f67ea296255744a27e108bb6f8b937c3ff292ef1f6b95455d8d61a30aa2e7656b74bdca96f9c72378e10b09ebc73491e6fcb5262435c83d102d9676edcadf2ffbedece71a4525383ed3c05cf5aefab3f835ec09dc313a78dc5a4d2ebaab92fea0bf9799d067f90fb2e21f7dee12f8c9b8e8c694b3ba79a0127d6730910953d2374017f3c9c0dcee32b1f915109e9d3e884f10c9f24aeb163fa19bf4dffa592d195ce98f5e9229cda67eb366d231bc5e6c8cad2aa3943d89d0a3e19c18b5f8e6f8629da0622297bdab6a4f64274e9eb6eb5b3f6dd1a49b8d89bfc146d2401945153c8c7487e9f34cec96942b17a139a7f94017717edc2b1f5c9f3f8635fc1934964c54a9723c498a20f6728a96fe65f802d2f04065ccea5fb196caada4b0b0e8319b5218f5677352d3e81e899ea85b355600492abcc37a51cc99ea368128cb47e4c768438f11c236b2ac44d07edf61422563827054d22585701382793af1c9c2d70cd4e3c4159e1e7b02\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3", + "dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 564\nct = 27ee85b38c60a690a3024d9c8e4deded1f89b39d9a75c147e4dfecdea5999a76936c29504bf1ec6561e76c006edc3099be44808d0d598bf3a9f5e3023abfdb94346798c9c023c2470bbcc946b805a06b835fcdb5662fb5124c51bcaf01a3f54319224dced5188712d44037a632a6f1a27deceb74f4db7186e2401d399362a3d44bef0760265d9c27dd1dd7ea96a0407b7b07e34440d494799cc557c86d3fc78929dc5b0d01715ab2ad460383fdbb3a9762a666d75bd124a6668eba6cc01ab90b81c0f1892176348e442395fca7b4c1b36079e03fb6ef310c9fe7f0dfc89352d0aadec795dec87a676309b25c255eb646eb684028dd6b17ae19632ac287a90677ca65ca01421d5c88af069128b3fb33f46314a9fa9030e438b0ed1434e2a5ef51b91aca71e0c88f8a0445e10d5279e674823b1fc20a50251976b917d4f59665f5f25eb39f931b5c3b85eb2ecc7e035d9b61eefe3c1c5eda23f557df03cdb21728dec1854c3c7853252ec31f12dc31b6d4ea7d4f937d642685b8f383bc20b5fa39\nlabel = \nmsg = \nresult = valid\n\n# tcId = 565\nct = 4027e6c9a79fe29c4681e10fd204a7555eae62772ecccf64e71463cbce3bd7391f149ae73afbc5aceb46acce36173b454faa2a3055c9be3e21894da23586f23af070f7387e2a365d168532617e58e1a337884764fcd35dedf2724f2efc000d3be1ad675cfd9c160cd2d3e559a06cfde400ad8e1f000ae4bf96088c5677593c86f9ac55af0bcd2c679874f5fea1b36859ee92152a4afd4d44487a89cb6797adc1b5749912c5c9d9a5ff0fe594a6d8add87dc7e586f638eb84629d63ed6363bfae345763dd1c23176c54b58ebc4a8839556d4e37087161a965a85fa25d518682fc5fd3cab96c3677bf375febd32514225ffa6d8ff9a10be12aaf22df60b9a4b75ee8143fe0c3532f09110e316d588d11137c65cff2fa83464fdbb81e561c6ce4a573f829a813394eb4c2ef3a1a60552c214333a4dfd3e751d58b28737fcd79209b067712f456e291be01c76e426099e52a04233ce54b2ce3c7e0818964809e6a89ee382393523d03218b30c4d013011ef07f99cec7336492a300707d04b181be30\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 566\nct = 5c0f788ae26b14f141b3b5628a45ca8c4cc27621a216f0085bc258c04e680d6202bc3f45208cca42bf0b2765fde677434d8924be909d794d2608b026370d467e9653e610a404cce0130bc289132b28b41bcb5c7813c30d1ede76c2a8addd6bed94e33504d435615e2bf625f9f829ea93fcb9cf40d973f7eac391cb7010e60163ba964c57d7f69a0def4ec474537d33f499e83582406c5c5056f674731acd966d5f4c38acde55ea3660ab09a3d350f17f939576ba8cb86b3c4ffb5ab9d98ad5c96ebb121d075f2cb0add9dd72756086013e21fe6792509022a779152e49cfb8f84538f4a0e0972c098571c10b5d5df2d256575f6afa11310d8b265c1609070f6ec25fb4d483a38832348845c89c2fa4e90c3201891c3a9db1cfbd2048aa2175963eb685a4828f181b11fe7841668e39af682892ce636bc863f5ee075ee3a2e8d21ff58409fa331e94ebb96c014b28bffc2a0d946b013224dcf3ca5b82d3c0f0d2b532acd52f8511cd63814f4dc2be6b645909460c60cc6161ba943ffa4be83ab7\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 567\nct = 788a14e4b16095e400e9e05ec38668192194bb2e2dab6211ba05cf4885cb001fe1b86b2900a5d5c8d533e15c33205b87d4fb870f1eea227a98a3c1d44110e4634f1336642ca246dd5783a0318d8bcb3bdb19d41dd6edd7a8b352bf74fe809b6a273d26142e5701a84c1fa777390e69c9827dafef2e9ddf4ad2e4c794572d82d28622bea1341dfe0b1bb05ef46426124597ce55bb6ae38e6552d45cad9180a95af302c333c5b12ad5d99f5ef13a4b49ca6f6f272e73761349e78f0cdffc7ad52208ccd2807162cf9b40f39980f56ee7aed5c9bdcbbd290c15093b2c89f0dd9adf22bad84e07ae83b6b28440ff2de6ce8979f59de102aa151e55aa0754f5b7fd40a478b4185380fec95602c0425fb29d808d6af069fca1b1f7144b4f4e878ea02e105e3e64af0503d44174c171da152e645d47f0f3cab45fbeed4b8ca4eb287477f29b127a3a327605fd9c23098dcb3268edc00316f88a2a8bc3e42b0475c7b4a0e749ebe13b996f60b513f37b6105bf08b64f182e8ab0f2beaa8606ae832feb20\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 568\nct = 6d772e790464e1db9c70ca675a7f6bbb3df16934688062c8ce8edcae229a841e1da31afb8b496b03b13c3e5488cb9e65ed1c1a8ce1ec9be8c655b313176c2755810a1073cdcd878cb06de99df7ed5c3e9f7c69540f62e1e853a012631f0f3bcc1bfe228e69b05a79ef9eb76a706eed398b9f467be233aeee0bc9426667c4b752890a1bdc62f3ac12af68f6d0dd3eefc978f5be0c24e3a259119d39ea2f69da1d2e8aa1bad5816f24f898046d4cbbe7609ed921b49897e5794345fa164561aa83195a9f06c21dcaf6863281ed3067a99864882e125e61a82025f591bb0cef785f66520078167e4e8f315e2b9ac8d257988d0e2bb3fb6afaa023e57fa447142556af1cb679d37573032f08bb58ac33425db4d630ea63ce26c6247494e16ea28129fd7dd0be4613b50bb9e077898152e3ef13c9e0166b85f8219916f1aefe182db8be6b56c2480f95d2c4515ec96827670fedf2ac2857576bbf6b108ce6c47c56aeac0fa5803dccb77265dca6f2b6df8aaedc903f3cbc91ed58945ecdf62b5b2fa0\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 569\nct = 55f985eb681615e615c021f77bff495889cbaf885fcfcacf1fa2d093fb356f2d3c5dfc1aec631a06018bc43a9860c6c19f1c37c9aa53e15599b04aa83580d0035c812d1f4c1ad935d0e91be80f5b3b27428f9d8d034932822604475b50524c0b0f683e7c12589dbc99947f36e4994e9303ad5a57dc5992f46360c903405646ee7ae12f2a467ed7033cd3145a3c975251331b4f6a0bd36c2985e2419b146a8f780c32b173a7dad90f741bc7af593ffc6ef78deebba9fedea3a45b7adb6d9b4bd96bfdcaec25035b73ee31b240c2c3c9dc96c1e0f99dd4dc57e333290b08412e148dba6ca98c3380f020e0d7d3f5a4c4bf543a4991b3aa1b0520aa56b0d809f042ab9e88980c956155504369f385fe7998d8ce7e97a8108df4c52989ec72b2daa41ccc16f398a5548484afff18a71a31f171c4ec910791d41437763e7076f661577e4646d1aae871b077eb26d426a31a8c4e8fbd9ef6b728f6420cf15ce8cf53261850cb84ee2ccaf5bc4df7c40a49abddf5261f9b2d120efc19240064316d6563\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 570\nct = 6380d7f401ba7b456a5249fa17ac3ac91a29dd835c8892d7892721b430f907e2f613d5e86fd79f8c2c1313a0cbd0b61f55d726daa41483f3d7865eeb759fb93bfd8a3b94f54b2d37b535420077469dd4b539494d7f9e8fd0cdc64f0fe260c20c140aaaaf9e597034f3f9832d83ddf8715b3530c27879811e56ebb17abe0269a4a0601cadc59bec1522d8713f0f1eb865127d31cfa3dc7af0d9fffd17d292f7ef65f80d08da388f0b9d3841ade57d6ca6695062bd48e7a7a01b42a17f07456535c229c612f7f90585e3b7032f1308389137ad4d55207f4d725870b7ef6d9ec6c0b148215790bc57efd56828810120ca193deca4278079eb2c4da78b65f331bf2cd1eb7b099c28f1d62eb0e28f65ee4b88a529978223e4210b4805d37e4807f488e6562018263dd8f40e43ffcc849def3ea0d2614ec332ff594738c7fd7d001bea69a0d6f0fb8ce25ffc82bc21173d9f0cb3a76e482685925ba8a1f2274", + "cd26983781a2a6d951abe523f49c0bd821747272c2e7b0de805600f08f697afedfbdad4\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 571\n# Longest valid message size\nct = 49e28727af1fbff805c33ace4ab899016ed98366d79bee7d80449dbbaff218fd29654867c374d7abbc24b55661617cee652fda6608d04b9565ad58cef081d9341a8647fd680a6d99e8c8ca81143332a97ffd15b9088b65810f231012a5ac1e6064ff08e620b65d9b92c2d7c930af886191f90b93d8e678fce7cd9a7306a85a81eff01b780670e3ceb779e5a795976f817222d92d4301c6f1ce0add6d6e0eb5e2843ef91357a15da4231eae296c0c89d18a924814273c07b2f508a3b34eb1ae3a6cd526ef335a1aa6a04e28944386c8b1d9a492150d56cec3bef2c56991aea1cd07e017342c2e66fde0b16a07e56c06d34ed209389ae9ac65bbeb6ad63b3346647167dd4d03a12c9a5388ff0f23b4a17331e85dc194c6f1b3094ed55cb8d78154eb56ac3daf538f6acbc683783266928b8bddc9e8a8c5ba51d5215e1762c691165cc096b384264d0173740ba559241542ec331a89a5c5b5f2e8f203b51cf9d0db6b1d61ed5a334ceb14be3d355e01ff2c838c688e252617db1d8e56dcabb2f54e\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 572\nct = 7703c44787ab4ad598361704b2ff94a649683bd835b7d1731ff9e2eeccb5ed3f78593fcab9daf89720cf7ee2a0f34c1b13fbd27cdded8ef6411261eb44a2270d29a64f329806f1f5ca5f2c45c3a9e110b5e23e7e505e830c9645c56609c35a6b8c88ca3a630b8ffb150798a081ee226e6f1ba36020f260163e5548dae1e726f6d560a0b2fb6657d6df7f1cea6704c45ad9103be60d96dcb0d76fd43912890f908971da9cbd7cd80d1d3f6ded108cc528e554e032498c886f383ccb3a9766944a305712f2e952c68fdcb6326eb567a992d6920ba9ec3c99fa91f915eb960fa044457469aea09e80d252c572db875974aad225176128fa1ff965b8ddb89a9debc509b24850e7009a7b10fa35be6cbc62b5b244e4a7420bf5260af0a7ed61b0fdb9ab69ae852ae5012fdfd6b80c472e4a35f06b8a12f3907442bc374de2c53b00b903ac7280b795e7d2439ba662308ee295135cce70958cf1c0587e8fa4f43839873a3f5263c9fab73549964128264ae884d38113b005f430e5716c8b960f0b2f01\nlabel = \nmsg = \nresult = valid\n\n# tcId = 573\nct = 819846a8955b2e0d9827f5fc163591b53c98ed322852e685a66d9560f8a3e95d0cc134fdea399d8e61468bd05e2c914a53d17046fc0b5817038b46980333857997232dae7250122d8f3ed647185e78801454ae321d1b1adea8aee9463429094dc2e7a27374b3624705daf84b5cd3478234eb143181af55042f5d4df21299fbe2936e872c76c443d77df88c403c97a02edaa3865464bd681b88e2b80274d226238ac64028fa9828fb6c0bc237673c985a4e44a5e22c00f1f2317f700098f20453bb806a804a31bdef34b3707e2467efd047a6bcaf3f1b152ec1595e60210c83d105751a02b121d7dac1cecf8f653e310534e426acea3e9245758d48a1cf8f294b070bf2c55622d", + "0924f9af9984fb11fbc138d86ca36d1e7b3c085ff6432fdad651c6d263ec6f8a54c3dd903b888487c01e5e7415c4dff68050150f13ea86ec755db49504246b5ba0e86df9afe86409590c1316a5041dcf46530746a8e045f355352b6181fa935784e96e7eeb058a78206aaf5a0354ff13978b4ff69639f4f1869\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 574\nct = 9cc6606f9b407c4e468fde720844906dda48d0053b7a5b5960458e77d93b9f4bc5275a74e86c73714fc770bf7ec37924d1bcef4287c7212a375bcbf9c0b978dd7089145a4be3ec38bdb4acaa339689ffe29c82c5e9affe73557f9a44e09f5332d944f293dba4eebde8f107c1fc0ef1766c105927a8de1a89cf7ec3243e70e207b91d78aa448d72e30921df8b28381e81b6cd385bcafccfb097f9c5d5eef98e9e0a17f387114e2ad4f0065fdf3474a91cef43ed1d3384f28b0e38c0ff68c7f9d3fe5e8dc41b3a4ab9a473df432596f243b93032747c84309225bb8b5ab5971292aa3bce2fe3d4e2d5af79579f48e119f975d8004c567b86cc9800ff3fe8e809bccb81755444ca4c7af823c4a9b506370fad361a410f2ca4ee4411095cf263d3fd3d67a4e820c5ea6f9c659374acb7c0a19ef8fa85fbc5b7356407594085230dc4006a15c261b1e9934a71bff0d8942250267ccb7dfd6f4ef15fdd41cec0ddf9715a7cbece261157fe1abdb9e466d2c8ac503d0eb8d9a4fd7a7aafa784ae32554c\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 575\nct = 3c3ac8dd214b889381cec624f4ce2ff744dafefe6d446222d112b9607d935af7953737a9b648505a346a9907744108aa098a487519e066960e5b3167006103ac38bf23f6fd7371659217534ac3bfec6b6ffb314f0f11eec3b8810e1e3f1b28dc3287f551bdc81963df0b5b012a4a570181eca6a084ce9593fe9d74bb8b914b54f88e0f5614fabe3c5348ec73c16d23de44cd2d97f463b0913481f2b144ab4ca6da3cfd4c063a171f49026e2519105966521722d98d20221143c86dfc310d614c704da7176c1e92a8c0e97ddb8dba62725f2bebc9d4ab3097cae9a494c5e39f2d162018a6da2a72be610dd084a23df8a59c2168fb5cd5ca03b2fb834b465e6fee693614be06b294764f577c11c187669c08167e765b0f2aa7997f4560e32bbec6cfba32611f0c42d071396606e5df70ce8d6a093e71a17ab73930d725e93941c2071c342526455d3b1e5bfe59dfa842b003291d2cb17e7a56bf0f5ce4428f594d8b2ddd24761247a087fa444acfb3742bd2a088bc7770fd11381f7cc27c7d78a5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 576\nct = 3764f047a2d0c37ce7e1e890152d08283831b2d204659010b9549fca4d8940b86d84c9bfc634f1a371a166c5137f4a23d0566f86e32e7df43e0ba18feb24ac3a457bf4ebf8ca4a3901c165e994e0cfd2ec01b2420f1246cafb3f56f4b5829b0875a363bf1861429cc6aa7d1ab333bdb2379e53e684fe3ae59c1cad58bb564fb94ec0ddbfdea59be9e50784ffd497032a2320a3c1ff9d61702c6159b73116b3b300ba6598ab316a280c36d469d4b6f63ab321c0ab35141ac5215d086488e0aebd529dd49fd9d3b05f8b1a22d92fbdaaa8c73dba7652fad04142f507b5999180828d9e265bd2bcb984a7fd13f30f1a3470dfec82e349b00e59b52074960d90e38f57db7c65a21a6f1fb08a5872108f4d85a13b57473054d472840dbfe6f6baa2f4bc88f2c081634366cbc6424f8a0d314b698f895ab6b11463892c3da8dfbfa9aafebaea810d78dbcf909c1f27be6dcea6c6df94efb9ae8bf9a36029d44e29b44d2694dec8c53c34a247db85b4a6c39338d0855f7a64c5549313cf4b496be81c70\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 577\nct = 7afde0e2616e1dda578fbe8acdf3c068ffc7b85d3245269fa4ab8f6e20117fefa300dcaac76b10527586cb483f2a72dd2917f0dd7f88cf6598c4e92e160f38fdb02fe83eafd39f53f3acccb0e16fe88fc3d6cb93f5545b4fb309cd2bd26395a1ec9c37897b44d90df69a71108ea1e8115dfd67a16ebb507455c408becfcbc73af51f87578219a3f4e452c1f408c093baf69f62f68a9f92bc1e3a9341cb181b72580bce4b83d2f50231ba7c03b1224f38c4da43b965cda2105926c3ab3a9af54273ea4b1387dec236243381d25d3184467e47b14768e52932a7948cb65450f274beef34238f8be9f296f5a1e56359ea722bc93981ae3ecef6d363bbebcff33925f288d8a48862318f6086ae9f354f81350ce863adbbf61cbf713f6590421c167015f2592daeb33edfa0506fcbd0ee43715102808cbd0392bfc0a89e9df721f4abda34f43dd217dfff9161a9cd6bb8765a23b0c0e08c3b39c72b684e7a5f6c4be06017b21d8e60eeb292674d8519230f1494dc918e0f0999a20a5b844f6426afb7\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 578\nct = 61a9eda39c04c41112125f6c3a57b3e9f19ff9c53059b20cd46cb52b8f86830df615f9360743c7177fc484d1d6697a6d6a725a6a760730e91ac1338b484fcae5a47edccde6373d3f3b86a67d316e614b6b389cefa0db2ca7548ca72f117e0ccbf83684897fe666f4ff6e3c58c263fae29ae73010ca8c8df58a2f3e462004a48467bb764dfe634977fdee81c742ccc28e10cb762323218664570f01279ffad12c85340d70f8a51ef6c1ea4df9594b40cb21c52b6de0f9934ea16132a2667e0082eae5fbb48eed26a35c5467445faf73bb19f2a1dc07aa5d9a4d00435cd59d236140b8a2c57157f23955f0f279668340e4b3f13892dd4aeb7918d619132f79d7c2c23492cc1eef3bae1108c87d1062da1e8923af6e99e066885facdc9142771d9662d8645f2de5fd5f26eedeb26ea5fc91d1a2c4306ae4aef33441c28679d456ae69169e7c5664d50a939bc5276e9ccd020840a923429490ac3c2c4ed09c13b79f1c69002ba106c8c5fc21b58599216267aa347db033d669322bc3fc52d13206a8\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 579\n# Longest valid message size\nct = 7d4de3f2843e973174a0ada5bf828f84cfb4567cd7a6eb6970e5020deea377663ac4065cde041994b5984dd7ecf358fe09b6d9efb359479bd1759476ef299edbb3bf100189d1515c8e11c08bdd7eadae26d309bf700656550449dc657cf6a6c60f86632f941bd7b6b7dc811245b305599e92cb51c0df86d0da45f87a7ad2990d74931262613801bae1435ab0232c99b7b542a4c233f6bb6a57c5bca5378e3674522acdb75af5b2d022a6dd73bad1ba0143f85e882855991ea17a84b995c9332465aec8ced218747f7b98ea970d9a13d451ea17a8247fcc0e19f48e1ddb6eb99696ff17646a3f12ef5795b1f8596da78ef45831ecc140c762b6ba997c0d23c7484723716a813add8c7cf716c147681d92b0684e79e2dd52eaa85e41bcd6ba9b17c9adb8a326ca28d4eea31b55fb29a49785daf244210814d30284fb97dc79138a34eb245e4dc14e8f6e8c5e165e13fe96480476a65ca4b309ab4b2fd2ca8fa4cdca4b5e89323648d097256f69df3644897a1ddf5a27dcae3b73d647e712b729f4\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb", + "73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 580\nct = 277fbde73b7970859e3cd6efcb40f5daeb8302dac05161d60d5e50f2d9aa1369cf267a04b2032a4a333b64cb3c6623ac4a9e28c8803b0da74d3b61b049fec9ea068a256380e2307fa352f9bf4c47cc28f5f91169eb0ceda4587f1bb6e9de135895956d34f54aa51e43a7933d6d7c1b8939716008619658b8734d25f7ae53b4213295fe2fe25506e88d70e4351f9c781fa29fdcb2661c8a81f90c72d9bbb319f7cccfaec3df7e7f16158bf2888fc4d7daedfa9612b94fe2cfa8374f8284da2bd525588b5e343e948102e264e366c94b7ffeb053b0b1cf748f63231044c483d40645d9919d8e2e5e5b57ee4724bf56b9c0ad9240383f806aef7349904824e2269e33af7725e5f8c0e8417e70f29157733e9bde27de47ca1e63bde4ad61b4f446592e5f0961e76d60d1191bf1651cc8f28b7b6d4caafa419c06e824aa8431613845feb35aa9937a5d593a30fb53fa51f77fadb88fca5a928b8a518584e6c9ae2cd834f1323c2e29a4282a4a06d2191e0c31446cb09f36d230060d5ebf15615f46df\nlabel = \nmsg = \nresult = valid\n\n# tcId = 581\nct = 087824227d55c28cdc6ad7b9f765c7c8defd2489c57c168a42c6c682e263165269e83d5a4477dad3ea131202ec8b7b1d44495adb2ad52a088d6aa4baacca441c8d0eee6b0c2061a04a074c436d9cace6b83d2f5f62a638c98563ae6fa2e7a1ace169c2ed893381e71f093b166d127bf19e87ad2df1b107d22acd18db94eebadf4990302f024007a28e2ab0ca90636570c0ce7640776f58e3eacff0977f25fd85864cb3026c623b3d644c5ba4d33b2f83533c666bf8300afb328ffe49677459631e110afb852c48faa1379d03adeedf70dbd661166f5657d66f217837366d2f1dfdbdfd1ccc3ad73042e335726a498c7ff7952abf369948a3dd53510a6e5d2fb3a960c283f6f309ae4fc5b3e2c28ecc3444991580ace4cdefddbf05c9d65829294bbbf4fe7bdf4264d10773a35b6905af9a330e0e4a52f429f8881403574f7b96f4bd5b8bab1c725b06ce6b299bc7b9943bd6e73ecce1c65d7424b7fc6874536c1bb62c3265998a698ffe169dd7a9b463a95d8c03762a10426d99155b8893b685\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 582\nct = 6c495bfb142086d155b08f87b9969c7b46a4393031123d786e045e8619e4ee834c62b3def25bea12e5deea879678831273e5c74016b33b6111eea4d54db08019d840d6200c584d7439912e8b9f8290f5855c17d8024c4822354a0488338a4468821ed53fd51b96d27b8fcc43e8ec19277b12ae75ab2a8c68c10e94a90c71ed2d41b61e9790b0766b57fff1e2ebce1929c5b102bb04397af92a8066ae2de28375fdb4c1b8b7d4fe971b2ca99cb0171bc252062aa47c8e363d169d6d25b40bc54ee064555791a87ebcd7d8d92ec6516478c6277bc4781dc7caa89414284d8b438e24322f2020b82f8d8835d0e44ee78880b5cd9c8c3c2ed0788e451d3df7bc256b0770708515ede46fcfbea55e5fbb15ee2bbfd595ac91bf18cbc4523945eb97dc5de34888dccca86c2d763ed36aa99b6df4a712a84b3d190ff351a3018762659e51a0fbb0160d3c0153c4fe6d7076831dec50e52114bd81b5f21ecc7a5fd08adb358f44faf1572a717cf8e6e1474246a1da3dcda63a4b6aa52a765f027c3d4e31\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 583\nct = 4e61f94cf72308cf8803abcdf196205f7bb9c86c995e0d87a779b6abcee4f01a012fbade985ad4160b9ec9c49a6b4fc3c193637e1b6f9b50f0d2abfdf1098f214dd15533d750ef5cb2591d5ae92e2d9946bd66516c113ed3f92b5f22f64beb96920e95c2d4c838850988cb4a8db98d54ed5ecb76c3f81221f14239dd16f44f1d5825a0e7ad1895a0a5715c3bee33049fd33501d47799ee75b36020f9f001041d96879d5385c3b763a2f2d245a7378e43002afdd54d0e93be6a0f2f6a91eb78e6471047b5faffd4abde8333feab98eb6a07baf5eca8fd63a4dc14212b25d99e87de2612566e058c301846be9a67b3a1bee629778d76da19612e6bee642699f130c21c007198e0a9de7ff340895b360bd5f776505b80e5488804286a96e91bfb1908b8bd6b6fa45ac359825c742fcb3280e52cb06042e1f2e1f1b4e763243314ec0f35ed69a705819b51210e97b4bc5ab77dcc005efe4ad3bee055e40e4ec198542d6bc171bc42a30be544402049a60182fe365a6866cb5cb228c214d8da8c70b7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 584\nct = 2a8f9ac25051b47d041adea76e24276d3145fd95f32f793640a7004eaf4ad90e13b32e2ad92c08809e3d6db467252cd8b573a4ecbd6ecea57696770b7f4b8cb61c3b4560ef6bc51703b242f580b40c9de878921f6f91d4b49c83b6aab5349bbcb12752f5fc126cb25586a428ad0ff1908d425f1f5f2451dff52ed6ce53db6009e1eb584d037062b20e4c12758c78f9e1143ae1ebdcdfeb074746e2e633d388a8b1bdcb0901fdac66e02e23d0ac282746f6d618d8e223d6869cc36e36241ee0f14d6c62a9bbcd77015213263862458a69e4d334190e363906620d1982aa5fc28af60f983e01d57f43ad55a87b4ecf55f91c98e143822c7d30cb50c008459b673376262508c020eb6e15b93fa3834e1372c69b2ae60901a15f709abdba8039ffd43a5f6f0d10e9576ac07e7b47f7a4b0ee92e51083cedb779496efca91ccdd60969c73adf4cda86473e994f10f49d15402ffb9fa1f2c603a9ff33681cf3e3499afd1797650c1be6ca52e5ed3d35acc718c59d2efd208d64ef5e06d8e436e03edd8\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 585\nct = 287feb5672f8777fc060e5330ece52bfda25bb61d299a6ae65bf4fbfee635f0e83d5644d0cb1c3f084b4222d539536e6ccf963ad5e992abdee44dc751f8a5564ad371d5b5a9ffab7fac869e0ccbc75c0b43ddfc95f1404a185b4d49a4eddb8ee426e3bf41f4a1bb4d72907fb5e42c09f29ebec45cdb68bc0bd5085e438959747b39be88a109762b6b26dbcf741d1738a43cfc32210f68b3895e14e104c63f417cbd7418fa899c9a98d9ea9164cd14af05244154fa3f8d82c348ff8690e550014faef0fc019008dbc870583076a063fcd45a62af72b8e45a49b1e55e081a7e0c78df6a8ce01a9cc256909bb2504f1f2e32a113223ef49f0058b860fd4700817918af4f97645ed549ee4217e28cd28b0f0808393fdc68e4bcfa445c9b392eb49b686b4d53fed1323ee859ef5bae802968a6cf935f28a639892d878247dadcaaa6686d0199deab40dd857172cb9fe51d32c8a6189881a832f9be52a79990a77732648be87fcfb7cb140bb10b28aa49f5f807cb25a45ffde7ba3333ac66d5ab226bf\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 586\nct = 2c67dff513875ead78a36141e01efe8c2c24e220f24817c9261fb1ab4318e65567c4461619100629eed46548d503ca2f2e2c1bde8a859022cae0d183f084ab943af3d986acc1855cb4ff23c041ce2417c11d25dbbddfcbfd2019c45be13fdd741c8972900fd", + "1537451172b80d24e5eaf9026b77182642dc2d0b7dfcac6b8079f9b55a566b8578184723a5c1ba1430685fec652b3938b4077fcf5c36339ae1a16f85502f3859a53a1cd1fba8bf2257b2ed2a8e7ddf26b87552eaeda91fad93f34ccff1b965c9bc277ad511cca2dc183b54ae920714a8fcfdd46133e781e55940a801ef02da18816feefdf677e56ff28f11fee786e5fd0b2f7dfd775da3caa23827cca6b83ba06f4e5d5c4187d6992dd051e21bbe555090c6974a4c4bcdf963f628014dbead32208e5102c6d270e2d16d6b81057c3e5869c7510a0285f3327615b79e7974fdb1587253c48fbc68c5624a66ba397f25d7026c30a0d949f0ab69a10d7c55a65e7b9b1754be275b0442f01bda81033474171914f97551c51a9ff68ae\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 587\n# Longest valid message size\nct = 185b1547c78c4ef8c6a72ae09b9a3b296091829e05b20b3cd4b360d306c9e02c0bb8ce141356604399efa332fb816c1ee785c05ea42ba0dc17c90aa12c1c31796c368f512182f470e77944d7031ea235f21378bf6481a08d8bdc76da802c0d814aa583c8765a7fb751248702670efb00f8b5af52805beac5ba2c08db80d937f87b3922bbfec0ac81ec7f0a6d0a904a69c8ae7add1fb29d70881921773a799729bee99a50effeaf3f9a70b2e0755a60f08ced3bf8568ba52df1a2781cb194238d7781d4fa741582115740d8d0862dd6f25161d2ca61918bdd2bf4f3a5eb3f4dcbd3d96594759313c0f9ee0d23395b7c115e69ae2ff8b02a02f34175e975cb847b8cab75aa0866abbf58a78df6e6e572a085cc891f14e7956404c09d5c4f22e08fc7958739c4fe8f87e9bbc55efa467df7415bf5d0fb0028430053420563b037742631caa2c7625377ba619b307fd86e4e71bd227d65182c91098cde840f8b9952b8a3e4972c0b5f2032b9e42de4eb310883053f8d56cfa3bf0cfc8ae37688c133\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 588\nct = 61c1f793f5e21b694961a17a54526a3faa10a3c87564f4e6431879d83219835d48c82f5a312f3c226f1b5cd619aa837e76c9be75b0771b97049f1a72eb9cfcc385a9c96d75b47dfc808a2959675a2324bb914ba8e6081234e22f9a49a2305060b0484d34a70d57ed91124022904f25797a9ecd75d9999813a60b30cfd54f66d8bc5003eddc97b8cbfe7f69c2a669a8d6825b1ad477e13979330afe065155a860375f20289a03af1952f70f54a8119276f9a1e08d4298c904e76b93eaf96f8a4a98d55d47ca6637ef77c97d41f07fca7585f0a7b41db48697b5b26418a31439fdf0e1793a7532899eefc468d9fff45713263e9c8fee96846442478b0be6dee57ec36d4a48d08c78e56080555cf9cfee1c5e4ca3a5e85c0555119f6e7766347495ae8739de3f72ef41cd500a454e8c1907a412d2fafd5729023da3389c8cca4b00b4ecc1bbf06f2836324f071172848a7751717c31bd9820549be7178af156a8d3658c1675c296e0a36c337fbd9182bb77051e69ace3191599e0544169a7b1a19e\nlabel = \nmsg = \nresult = valid\n\n# tcId = 589\nct = 2748fc1e7d8c0fe4b766dc823d83f6c", + "327f9737ea34f383e6adc427003c333da9c21582f049a7ea1eb1268a65ffc7802d84279eab760ef1d834df8367249da4232ca0b6ba7bb8e9d2aa2be6d478aab49fa704572d6fcf5c1f494bb90eff5f9aa6c0de8342092b1103c5d499a5ccd659282f95ea9ce6f9f9bbf683a056836766b0aecef926993a040aea7b12172c6d8e0b0dc3b0f047b2dbd5d0ac65527aded1165a64dcf1e07f450a35ba6cbdac7970c02bb3f996ed8c2ca1888b6dc2e3b75c081300d21b3ad8951d736e0424a1b8d6e90ef20c7eb3dda1bc6915a527b2763a4273286bf04b37941180d43b9ee52d47ac605923463e60ccf6c305663177f70d59446d780f58cb6f64997d96fc0949588e94dd79071ce29382dd2cdee23e6e2eced91cbcb57771f834b9c7f7d219b10d6acc752b9edcaa2cf84290cbcc8aefb73903cd9cc202c100322128ed26e6945de1a2819723af339073c2468a7f95e4fb41f6497ad72a0268b514bda0d53511ce477767824be2627a13e742b2c64146f89\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 590\nct = 6d95a35c12161cabb9538e607049a2e19949e704981678493f7e6b830be6ffc58eb93e384d4f6863082390d8adeb0c7dbc4398aaa62a671d9f1787b9a58d2b93b25c195ba20b3b4f04fc5f68e8fabe4e33160c3ef383bd1431fcbbc73aea59c06679bf38274939d91b877986dcecdc73fabdd4f4a1814185bb18b641f393c3f06dc7462d7aa812bfd506a1e3551db254c85f58353e360d85c6bf02ca9723913feccd39d17efa66cdd995f0250939a0bafe58ef7b7989d96cbeb11eb1fe1a9c9899990cf8b77ecf8a29fc264a3ac4cfc6d4cfdf9c7e467ff91c9dd2281cfd090155622d791f760ad9049d72e512b1c7523fe6ed0cf722822a050b2f24ce76e632d8fa71db462ee5dc2bd15026853f5b4d46836735ba8991a7c390f16a64c0e09d1ce8c9adb5db2309895df8439541666657506f9e37e791a8db6a9459931a0cfb17a95c3fe4eb846b0136204bcc30e3da868629ad4740f0daec6d2de094a046623e74a8afc52e603260a9a778497b73306386bf178748e73aeb725527df976ac2\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 591\nct = 339a7ae50cac186295e1ca8377c311df541ba666511c21774db4c8f6fc1a565f5cd4ce18ef92dc1887327f1eb66369cc9067b4b990b1fd4544bef7154747ef6cdeea6a26fc1489c41ec8bbaef575b3f15ab2813cf34c3359ba039ef16a3a3d7993202917645b01ed31e8185a6c3035726b5f014107ccc45bad7f97bfba823d388f2c43281c35f8b31e68d8d4d516453ab39a7063b6e869c5f0b1eb6d89a1efc8f62fc2365fd76e9ccbc495387f9484933c711941f1cb36d279b581095d6bb5c1ba94d85cd14ce15ebecd940d42561e0551a21d333ef5efa36d95196f359b58bb1cb246dbd8725f0a1de2a831e9b884c18ffce1b5ab2467b77d26ce5bdff8cbb988f85c3df371396406d7beb620980e85ecc95d94a5215784088fd5964f13f45d70c11ec8cc3825d0bccbabdc38502010ace3f24f869fcb456d2f131bc7ea20d0b1a17c1ffa6d99f5122354ca0e8bee749545a47d826beaef298bde6d7240ec14185585d139dfafcbae1d46b787741d183aa484f409ace43c808845d39a058892\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 592\nct = 1ff510be50309b008d31cbe9e22ff2c81e0e575900d6a7753ecad4e1b5871f64c9671c3504e49edb05b16104cee4f0f8d35596091f61f88a263e777d99638277508129d893015c5c685833daa0cdc7d0e5d751b61af7312551d43143d34253b03df8bb68018df592ab10465a14a591580266e3ca2ea200d9271c3e0e6ed3866317bdd31c41492be1ff3ace43ab24425dcfd61d40090bf390459706bbed28a760a8a187efca5dfa9e0d2bb4f281aac396ded077a99ef2cfb6a90cb8863b71dd399bc010c7de04fe8a2f0c27bbbe46b144bf216d8a6061cc845b56b736c09758b650b37c9d172c7d88bc45dfc94d7ad6ab23631990f7b277153434bf043d61eb64efc60f3fb895c2d207fc947399eaa88efb0a2ec3cfd0a77e6ffa7abfc2c87609b2a4c10d50ad0de48fd67b4188bc4cb7ecfbf5be450d43742f2bd820be4b4906d64c8fab93fc1ab44b9f20a7a693218efa64ca959e5bcd210ff98d2f5cd8a93e063d2227c2656c470b77059cec96ad80ec2d5d0151c0dcc281a0e233eea5ff65\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 593\nct = 5ac76bd3715ca28e8188d35fc09a503c950e31a36801ff2600a240abd889486fa8eb9dd75cecf36e6daae555964c74495ac125ee7f874661b9af63c9fb8d06084cc53301abf06a00baaba47dfd19f69badcf3b456a0d4a6dce95d497d026e038a1ea086685db771b33d3cf28398e0e259a9ab014f44c478712f57f31c7ff03279d760f7726b38dd8d99350e7706bb25d44c6afc4335b6a073366caf9718ab946b299ee23c1baec006b8696b1a04629f47892952f08cd09fbbd3950b8ccd13168fda114d09bbf687584e6f73df70d09f353431db4aef9b40c2dcfa80ec7167c1113d4129e4dfa1f75c9e0453549f173a8ce930a05e9b23893899398f6d0fd759e3aee27c60fc38b55ef2c43ad6956b056e6123ffbabfb994cff2e4e912b4493d224f8deb75ceaeec42dd8a31293263792e978cb29c1a8668ccdccc205e01f632ac979fd4daa2c686402ddd6241f0b11ae852c95ad6993564bb449ab1f46d554e4d5da7d81b929d69b1103f4b2aec9c4b1de051d59f6c34149d15acf0a96cb14d4\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 594\nct = 4f7a777089c97381275eb3d8872585e4705801b495a5cc9cf6ae772aba7f62f12306de7581b4c5ba2419090aaee2823d8218db3f88d56bb5290f421a987bb509fe3ac30bb059dc353d2ba32df8ab8b2f9dbbcc3cc362db491ad8022398a239d5854e198597ab4609bf09ad2ac67d65834cd96b9d46991e2528ad9b1a6b672eace3e447a78fa5db0bb3dad2afd92bf2bab68d00e2a9d56685cd52344b7ae3d874bdde9442519bc936a6e9b73148adbc04dc66eccb059505c95385b88ff9625446a2004a51585e635fa81becd5e0dabfe3e9ecc766ab0f4971b10e7de6d6b8f572f377671d498dc53f348c1c1d93595cab5bb7941f35997832e849612529bdb485bb9b5e6ab6f4eafbeb4a974af9039903321e0be5f1a1933c58dcef93a2a816f330f705a3e697120f9dab6867f9d851184fb7cf951989e0ca68dab111da2b69be6c905e4877bc3bf08a89f38a8d29e018def1d714fab61c615d6b8b9442357b2d4cbbf533e9c3f89263236cd6a98ebf0c729817a77cab9fffeb0f56435f7cb21a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 595\n# Longest valid message size\nct = 43bb5ff1d70b9f833ffcc7bf91bccd3338f1103811d9d9dbe6e39e2a664517bed38d8487e6a77306f2d23fd257e1c28d33c2008c4e1ac17b7bc93c0f89ea2d2bf331d6b6d7664b6d6001458dc40706f29ce4a8a803ca143c60eff100d76c449178ef6ba8e0099a63f5226152fe8d429345b72f08c41983d448c8612d2c32919c583ee428c3a7ddfa4b7b3ec3a983880aaac66ca2f5c0d83b217d6e25b75b052d3736a1d2b7cdafefb4cf44441099006158043d24f0ef9f03a5ead7ac94ead0b9e3e165f7cff30dbd1ab13c925422138a841b82b7dc82c8349a7b98b8a318eec8217276be91427d57e5a609047122aeffbbcaae7b517111649476ac36cc18abfd2631f4e96f9d884dec4a37719064785b879e1654aa912b6aacd64931ca4124125525cd115f543c0429d0dc25793800d7f20b9334f3cef48535b4a27b9df068a127c173c7d7e1c5b79b130b5f6fa145f173f2b78bd1b8626d687b4a3e708858f2eca9be11defdb2a57674dfcb4979f8c7184f92d200607bec56c6edbb09f0d848\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d", + "116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 596\nct = f9798ff0c606b0ff80a1042cd429d55bcad69856a0361640456261d29a98d2e42cc9618a08044fa29eb116d16f67212cafea3410c7c839a67519cfb5ca1def83ad3fdcc5488984ccbdfb2726371e1c2ca157357b881d873a7489004698ba21d697349968968a0189bd56ba4761b0e6feb4feeafcf4ebb5dd95fec7cb0a3cd23214356fbfdf93f17668196c354f7331a27bf12e8e9193e5c6c79e445160e0f28304be532b3157b50eac999cd162791c7bf446aff800686ca5d14a272a01dbfc6511472c18aa62d22b6af90a6335fec530aeaee8403cc8a07d9c2df2e9ea0e8c0cf83b82cde0488eabb8e7c8d18fcdcd62e680c6835955fdd7fa30c689b6b39805f317bb00e8dbe21907ee92f784c930acff37d70f8a7a838c7230e77d24ca45a5650726c2d1e3e7470d4247ee9f0a1bb8895dc2359cbde3b52785e4c05536759ae0c83555ef30f97482fe18f00527c7f0b37289c31c5621e3c7895abcb455277293e277c450bbb972fd63c533741d9a931be06163e166a4c6b139260e5909f01f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 597\nct = 93c78c91f4245a3475669a0683430aa59900c789474ec8f95321c46252e440209469e541778dc362b2ce9d5a6c822892b5e3754fe40038d5523d76e13ee07d3ae941963ba947b2fbb07c687a18521181f857d134a3286c073abd024691a0b7b85460a1872b5e33cb297e6630af2acc82c8fc61b96b8e7795f7e6bc8581d196dff9e3752fa88b08cba6bd67ca563043bc5296b6c26d526e34b0683b921739dabed3986c9b36b354ea17dfda86b78cbe5f0d4646cf102fea80da86c45b5dcbea40b44807935620e382aa17c6ea148d9b5e655793f7e6b6088ce719b08ccc6b5dde7bc3424f1c4d61f3a282bfee3d6f30480ec23a0b6c0712e9fb2ff799fc79459d1e2dfe8e7e87404894bb0a31260c1086c577cbe703a54eb9e750488529076c2dbd6f6b34dcf39e843f0ff279d0beab2e6709148b8562ae172bcbe0e562125cd6ed7f5d3a055c320bbc3c8b4bd28f7f9ce1fb402ff265e6d311e82adea22332d1b6d2b920313882ce3ba836d17e1176bf001afdceb1ca006c8a18f574bdc635c0\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 598\nct = 2679e7a6a3aa29ea006f84456c5cb6b33dfc0a7d1a86cf711f001b442fdcd788b01cdfee7d6e3d63ff3c30b2a67515e7d1d609e6ed4e22087d5857d7fca0d0b8f5dc41790d2913033971f85ee7d789de23ccee294493dd4484eb79e400799b24d6830ae8290343ed50d123ae840c6e4aa819badbbcd513341fd19654391085b0682d8f32c9706eaf8e2a0fa09420e861dcf8ca0867ae2f4b333031cf8fea956e3d67b67c40d97847cff086033cb83b95f33267c69d771407ecf5caa28fadb976db3855f39ba0710498271c86649604db35b141c8b9ae343bc4bc62b43d5c662b424a8e766eafdc22b41686d96d26d65cc28a221e15f53a1ce82ce664a2d5dc602bf0c9e488781fbc0ed679c9b225258a5582f15be48ba4a7a3d541a7433af5f40de0f04c04544962ba318179d2ecc8f4965d306bc56e2b6ee7f9705ad1501c218c31bc2f277c62029626fbf631f46964403d8037f4f6c8349ee8d9906274ede7d6b78ba30a3e0473a2621bc86dc31ba89561d82c5559982ff188ffcde9f81729\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 599\nct = 5120b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac346fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 600\nct = 290186a1a87bdde5c2ce70e17605b39b4fa2a286fd85c299a303d56207ddd0557ad5513a7f92ce1a39d8cd571c9c638c279d722583e17ae488d9d3ddad55d837a43845a84f3e774d8679d09b13bf218d11d8a2173cad0c5fc7b86e477dc372f215bc5641a13e931170c6401447836530b065f574f3376b99d4e0200053b92b1fe1c8f513d2d8ddc3ed210062e601d4750c5bb9a63e051098f159ecf8c40f90e6f0265b357585aaf35c32dde08e565bc6687319bd7c637b7e1a012408224865b9334083460aa39c12565c5bbf03a316a6ca5c174d6edee3391bab9773190bccc4bf737ad0f350e629d2eff4cd1611d510a7cf9c11dca1c86b8dcedc8f9b80fcff7a828c9b415f4699b2a1de2bebbb804e0203a1a04ddb95afdc4bcc6d98d240ba71ca2918f21696ec92abea1a9e16607e86f40f7de08c9013485d9f8121d9f9c0675980275519dcd2e705dad4d87009f0fb8f6c413b97c131766620ab583c82dc1ac489bade156b8e502335365bc4a8d7d8adebcc32bad71e6b949a48118dcdea\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 601\nct = 13ad5b087b5a11595dcf44902ca1011fffd32efe6b77be307b3dddd1b528f33e7ea3f36e09873da3909c7f44fe9ecd17adae5b40cddf0efe84fd401df7fed988963d555c24bc5a55e8bc40deb8061fcb59183836c1b1342d66cfc74f6404b67a4f50d9dab04223c18805c0a577b964997e5aca7016daf2c4273ca773bcde39470fe7eb5ec4541650c7687a378d00008bfe8a3a4627cf1efe29e7c81b8a12cc8afb745a86567f5141d16d1b848514acbbb52ced7ceb7381e7cf0261991761d411e6b16f2606050b24ee918cbd17f6c3ff949ed2dc7fa6e99b21436d35729b241f4a346c9c92a60d57c40f39fd299b2bff2f97e196aead3f954135b473267b27ff76bdb451c23b49d947", + "7aeeadfe45a08852caf353d92f0e47feb7cbed5e49a89f42e2a755db0d5efe9dc330c3a71f331110db4a9fa3db914535050a96b0671c2a15b2e9a3ff3f1212526e2391e3edb1bbded4de0c3cc677263f2ded3a9506bdbbbd5fb3f15efda88d954063fd70f6642a5a28295fbf96a4e0cddbeef97a2b841e\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 602\nct = f4b9ec8148f2d6757e6a6c9c32d5928e0efd5ba4d9635d60d9b481ee84631c6b019b4a04d1e15d5b3911aa5c5e9c46d564e707e64149cea901a88781512ba96a3a53694d5ed7ed7f8fc7885e384daa32dcd4c5228ea33e6266bec630ddda028c013288ff16671dbc5147b28e26b73585beda7e572bae5e30a2a9b123fb12b711a4f64f4aab9b6531fe691098d38c27389a8e99b44ff5d39b0ebeee5930313422c918681be11fb722230759c5b69f03c6a07956bf406d53f8d55729373931dfb19e01dea1b9e5203955712ec5463772b38097c075d8887bcf437c44b1f3041f2e84a60387e5565feadf19b528e77fd009bd13d248a0354e701a09a63bad83b30b4c64fbeaabfe23edc45e8405ee8a9496cb863e0b12a21848023ab41bf5d24f39b35fefdd1c27702dc3fd3ec31a3643ff7cf03cd429ff5b14735c8b9c8fcc7683d599ed14200e472a030cf3b40dabf7c22ec7645c735800cd1c72cd50beef8439f5a7406a932bcc1f0ddff90c95fe554da7c1efb79364cc53a773a35a2ef89bb2\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 603\n# Longest valid message size\nct = c609ea7cedd8b6d56fa625b11123b898819558797be9cdb61f0354efa52ffe6c379c4314fddd546020ce9f0fd5b907e6e7b416b46ce8bb3c6129ec39295077fbd3b6c24aef4a9163f5d7d80dfd47f44ebce3b5127bdecb5cbe49d1e125e20479d226ae2852d79047b5f0d535b48e8bfe6118c1d7c37e8c70ae84d1e262977e550f5da03bd087012a934f46c01e121e8b3106e50b4bac05632e9aed32996f09ee8c524ae104911cadcac120a45c44992fbe6f3af37b04e8754dbd674d1fcabc9f5c8649e0228f5f87cadd6d6620f8a9d27928e5249c08eee52372cdf67a4ac0fd8dee2b9e57699d7e28f17a7c76bb3565b6896c83ad14157908aa765c7a51493f2d3de7d735f3adf9f911a6ffd0b7cdddf610bce09e6d929675631381777a9fd486a7915890c0b8b3c119e50330579a4961db1c498955f0889dfaf3dcae46f319c722f7279102467b1109ba6191e30159ca53c9398e6de412afd21cf25ee131840d742562388acfbc528672d3dc38ce758895ddd5db82c875f12de940503617dc\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 604\nct = b664403eea63aa1dd455ef93d1e4fd7711516f8cc1e0046e4c8247fef1889669824f9bf993569ad3f92d1aa3b782ad52a4d35f81775b4007120fb05d8957d842e677c8ec4ad9980d6e8f93216800d832dd30a408122e646d0da34f6645e37e4b4e821da530e51b0265215032521c5038d3700c321c7a54ea4ab8f1ab537649e1313a11ee6c6daaf360a6f05baaf5d698a9cbfa4a6f9ba71118a8493fb6561ed9c3c232a833a9f96a23f7b9a02edad51ec3e574f06a943c72ad9e630960c0079796696c4356f5c6299c45f0450af80bb94e", + "ae01aca781fb7e46aec2e1bfd2d668ec728fa1c9c74d0514a3056624655ed0474f14e11df7bfcacc0c280d365d27da82091b560eee31673c570ffa5eafed980392a53d5dfd782db433a43e1aee9c093b56599f8810e6fe7256668c15f0dc61e0f7f146ac3382da633b9c433afe366b062ce3fdfc9048c2c9c9536105267251327d363e8aac3d381d9f4e9cf9ff5e824b3a3361c766edfcee5ed5a29124b4af8204cad2b1fde9e4b110d772be8a6379\nlabel = \nmsg = \nresult = valid\n\n# tcId = 605\nct = 2e74fe3f91f5372e8e2680746e6cf9db09ced9e51a3a1c6bdf9cee8e3d6fead97cab9c21f89f74b7e981eff7ad16ab37976e8392a9a10256dea2c1ffa9c194ba7d4d97cbd863523801b14a0f783fd8495c580adc7b5f4f4e946b0dd6622472e4bfa4680a12127943845f09b2f897d681c46fe816e6c3aa9c3f9367775748f4ea20d8312bf835521e1d3f780798d577f6402e6e841aec303888b5a445992cbea5bbd1ff48df4671c77465be1f583117d75a051fbb209546cbe019f578f1496a34fa4082d1564501ac8ac44d4196063095d0b313b09b0df164400384d7ad1c7bd9ff2db7dd922163b3685f084ec7623c29eeddfcd390ade0e597071f5096a90e5981aac23415bb76e396f302568bb70a9f57f15933aa64f52dd869f84ed81576a3897f25d7877771a0c330f76b87c2a2c7f0b4517253f48cc31a07a3cc3b5275cc54dc9ede37dafb9419d8e82c5e5a146e3956f700f5162961d127bc753a40d203d4002b3522b0fc429fed12286e31e3f4338ddc6b81ea98b342791274e2f96fb9\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 606\nct = 6a722fad242177db63c52e5f5b69f7ecc2aa0d1a3b47866bb28eeec1fe213738bd649df2836f5b14e29fe11b943e0c4a078fb735db85326f3d14300f3a97938a9b197a25c329ae7a9e47f1986734d67dddfc58ba8c9ed56f91a0f5f4515dccadc9366377f96e3ed68dd28b2f90716134320a69a70daa47dbc3e0d3b9a620352fc5a8e552e0f54952fe4549685a140dd801fbd64d8ca37c31c6af2021c37540ff38e34b51ed0664f5c6f4352890edb6f5c629a9fe7e1c28913e75c1fa179e6384296987b60cf76bc35bd1e9a1aa3a3df404d5e07ef4bd2fc10d27c829af36cc379fbd2a819f824c3eef713d6bc04dc6bcc069f104443cfc5d9b9317ad85f8a18617c1f3affa748d3e7fde5fa6451aed783f736415b64531e7b67ad3c3a696d3ef44234c261a28db2b52d2677b4a34e16f54dcdff1d0fe23bd9681395f80ff5ccff490366c16193cd2a4cfe91a4a54272f1bc5a4c2f5e11e780255e3fd012526d7c02328d007e53077036299f2b4cb45a3767aca52d2bc6ebb606876601273842b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 607\nct = 852a7d7fd2fb036cba85157ea822548b2a4db46a08cd976a60c85f001624977279e43fdffcc788dcf7bbbf23e1bac2fdfa03acc37dc2fdb5bf9570d1ad03e2611953474a835922819b72f0ea3ad6c6b0fb77f6e29cd978c12e3e4cd3e0c272fe31af960f196362b1cd2b16a36011fa612ec8cdc5fe1f1aaf0e31d82d4062f8a11d5d92a260028704340e4120a3c99b5608a1b746795a73d71f1b9dd27432bc90614071abe098e0c158b4f8a1061e4bb83180f8ad2f63c6033020c0ad2afd0c9e726e761a72e9ad9b62a11465e085b5d8bce70bc0d8f145ed493765516417311a30d8782c5ca24ecae00848a47f33c5c70e5564f399825677473863c09ebde90a390cb12f19a03a67eb73d0a72b95e43c54975e5193243583263d46a1a5b3c7911390f832168b9b0dc255c1b2658116368ac69cd9fde2cafd958dc5810a1c48b16e731c2da5fe7094b8d5dd01394f4dd710e32fb88a2ab3773bfb00e381dd43cfc27a818dc0d7599c78d35dc4732b8c1abd4ffc5fb13898bf827c88efbcf78a29\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 608\nct = 09cf02657404081f90ba531e5b3d5890d9cef908d09cbed678a2e5bb836fea0afdda64872f5720cff8e6fcc972f69cf37735911c0ff265c8e7753a17b89ef10ea80c6a1af547a7ba5b1e6eed5a7382ac6039a4dc27bc053dfff80e0d7f51d3a4d4609372512da39f8196960c6b4aadc1b27a8b44febf67990d6d23b9d663602deff31063750c9d856dfbac7421e09d489a27b5e01981afb26b7d8444692397b3cdb8e8b6d754d979aa48876af356d059050295b575710a960a7d9e06bccb5563b63c40b4eae0c21f5f0278bb121da4eba54c88584a2bfb52a8d4764fd65bdfebea27d170fc4d7ba531b65bd4e156fdc6e5b32cdeda442affa6a1d3b1e4ba0d990148089ed5f496de1c9895610f4841b255fde735abd851ecaab53f70a5e7d6f07ebba5a341a8a8f44ac4964d413079c6c012b355d7a40b1e7aec0720fa38b690e62f84f08530aacce5dde289ba1504a18694166cd5eb2eaed554498489a9e168235751ce0541c858f0af30416fd6e5dfac2327faaf13522cdf932113ab46548a\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 609\nct = 0101a826cded513faf6fab5986f84516ad987fe37c4df49970ecc68b74601441a284fa8842a3c091ea7df3b3307e57437afaf45238eaa7308174e1bc9bdf352545da66ef2aaf0d2e017e050ea84072fded9edae0bab5c6fc820242f5ce2fe674546c6c115ca4d0eb42e906bd180301749d19ec58cec815e8c1bfd7a1fc38b6fba413cd1785156b28a36efdcde59fc75ae8798e60067715c135319efc9349b67948b73856dd39263a0a84eca9ad91900be808953d973c2af363390461404a7770d6fce8fb74eeee669e34524613b8a87bddedaa888fdf0dce405c87b4de4d8a76e3c30e39e102bae1d15e6c45088d784b9f59f547d54ff800759dd102aa2808d0c1e085860745b2206029e8efdac6bea976b0c7b74c07d42c3e9740ebfb21e2bb67524d3a6ca266ce06b6c48828ae40a0f4fb7be64be50d1297c25733dfc1dd6fa4a88d8ff637c03385923015d95c8d486fecf7406f32254c572ad1f3ff9633eb260860dafbc33ea65cb63b6127a10c1fb1c736110afa9bfacc355575e47708a4\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 610\nct = 7fd69ce0f367bbf210bef75327477b07de5bc18427d05b929eb24c38c4efc88c9ec2edda1d9d66a9fdb61fbfb5d67bd0323e98a47e5b93c794556218844ee1f58f7e6646c815cb4bd295a17a26888ba48f619817b3ab3842376d93d9d35bc7bef23a14e84c4227fcdcfdde69870461349f876c3d7f4073f5252eecbfc83410b8d2346844ed7456f4efc1dd12dde14d6d1249774448473aab508948729abcfc7de8f6394cbf0268226fe9d83799043876c5fdc4adc5976439e009587ae12d0c956bf3dc99651f87f81b2eded7bbdfc6cd8462eecc8c28ae9380b25450627a6721b4f5ea3ae6caffbc60bf45feca4eb7bfccb4641460ab891b5f53aae08aa0280ec00cfe3589f42ff50344b63a46b5cab484f4cfa245eab4e126a2d3dee256f11980904c06ad626eb6ef4a7d22b517e49bef4e0a5890899a3fde110dd3795fc979f17004a8b4beab6fcba0927b677be3d0083fb5c8fcbcae3cdffa1a0f3d9cf7fa2c58864bed3e421355ad497b6d5fe3d343609d3d26001ab9ee4d66829e7334f0\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 611\n# Longest valid message size\nct = 4656d7d5b698454c2646469a332d56ae8f50df5516f3b4c95a0ef12a2a93937b1a90736fac296c2d33c49b2f95c291ab8be7186212df0e0c68b2561cd16f25db1b03495b581d413e9ae413ee85341435e63cc20463c8f8762e789aeea5213a251df6b900fa5ed418e478ec7e927a2e2d5bdb2777b5d5c2abfee705d3102f3ec15f87555b177bf6f3680fad23bd24b51cf2a690b98a802816e1fcbd5072724668359e99f9fd9a26f3c2336604712f11a25d7a1e3240b6a4afc650279ba9503938d9b6f895fca02df0b3f7609b80232b45b539c321eb7c103fcd66a7f00e9228c1f32a44909cd0154d8fa7d69531d7a27fac8d241ba45eb44f83a2260e7b4315ed29dcedf506a9ca89d2129725f6d4433e38b0b1466147d0266b29a0ee3326230882890b157428d202a1ea66f4347d518136f7eb5ff5ed824552c4a22604fc27c670511f9406337650e075869c84159b352df16b672a86cb427c8a2c3daaea305bb76d8eb0871c0b3d058d0609a884b7513a97e17041487ff51316ffe10eac75cf\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034", + "552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 612\nct = 5b30531896aef568d9e4e1bf7c5bbad1f796c3cce86ae707c24b2c37e4e883ce706e1f4a8254ea2e740bd7a579d47ad32f47ff7cd6efa143b57c962772acb3c841af4844491c480273cd29dc73736e522b58d0bb82dffa80309ab109cca9226be4be348a45d8b1163adf9cd236d03233e8d994273190c76049fbe8fc7f655f3bba36d7fcbce111b1bece383ad8afaf2c9ffdb13f17fc00f6db0627da885909cf322ef048bd8162dd6a0b1fedc16a8e2dcce776d6aa559ce3cb5516b3c5b43c4682b00f3bacca439d0f0622e8d9bf6fa9deb8fd0eda2b9428bdb7f47bf7bbd691a40dbe4ce4d2e1e2eeb04b23e63059ef36338bd21ed658657ba4c560ad95b92480d1ddd0eb6c444556b84b8c36404064ab989270d56556b5085e46471a091666a0dc5178fb5def62e90f65389c2d9615ada5d1461a5be27de7cecb966b2aea36e2760d90858156670db8a3b2f5c1a5e2fc408a46afd239dea360c2b1801fa4f328f1341ea32f4cf9045b9e5387b46189eb92cadc3446850f30d74a5dbcd65fb2\nlabel = \nmsg = \nresult = valid\n\n# tcId = 613\nct = e5498be4c1b46700941afac3c0e58a9584d843e419a131d4d8ee499abee842ab6da2e63cfe285d207cc69535642bff1f5768e8564da2e7227108a87eb68d6116c1622f69251e2ac36ffb6a3c656c1cef8776666e45570bd01d951bed4da921b369ef6f55cbef84074c9b59c12f7d9b81f3675fdeb478506558106029172ce57e99498a3bda4f132b891dc3d1e2a11b74f3aecfcb8f74b4dcc2ccfeb1fce83e40c03fbdb0aa949406fb3400ca8849207ab2ee42e4b53d0869077e830fdae197e961ab9bf91eaf6c1f43327efdbbbb50fcff12a01d9b68132f915119cd838823972deabe9b40a523ac2e8846e1b2b67718c9dc30b9ea4697b6a6ba7671aa6e3b3ee7063207958e82b83a5934121b6c6b4e2549f41cae1e3921f3105a902691048ea08004698c97a19ec82d45a82bceac0a0d143c256d28e614c2e745961df945624ed3621c244dcf30db8fb07783e03a136fcd640d07b684dfd891f2021e6670dd4deab7e3a39e3ecc49ef28d0c11b11b12f3640862df5496c0b27e82ed3f49a59\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 614\nct = d5560c379cf35fac7f852fd09029843a487e86e528146676ea3282db7b349775b9d1600138e8f927fde8b7898828adb0ad0884e351a088897379440b652e1bd7083f529fbdaa570d987bb06f155e14eade9158b07bfed2d98c930d2a33f0d696367a1b28cb8497afb9389aa9758fbd4eea884b63c0f29246a6aabf52c38f91eb736631840e0aabcbcf45fa3b35d24e3e66d4801d2162b891f0116a83d5dab309ee6d94b4483e6763c7613518746387faf69ea8edc82cdf5d318fe796bb9e67b6e722962e4d6df5a2f954755e1f96336d506d81294c97b9217e03f033f68e840b3ff6648547b5f4b0d3a2eea4afe160aedb308fe3053df9f3f64bb185937864c2f3f01dd30fd992d8ed5c07b5b517ffc5eda06c575ca0e6fc31cb8e459d22343aa9b25512bc99112b96c925b63b0e97a305237cca452611bacefbca0c880622c5fea5778796c2500a3feb7a8b33151fa4a6a181511379bf2b7abe8d6404fc54b48f0d21f05202d24b53f8fb8c403bee89bddfa243574ace69f7e2eb45fc703ba2\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 615\nct = 68f0673f935e48101fa9b253367370f9a38f390790fc2883fa828dd69f704520a07830b2bad0269eabc75337405245d45e9494d0961b7d7f9b4d3bdca5933fbd41d2565fa16be43dccd80c1b7a3c1a83c5bc8c3ce6992a7bc57d8aaf7c297ebfd69c6040a8d84c9f85b6a42ee832c59d4a923ca16e4bb26ed898fe5427c76610189221544e1668ab8d5280eb6f09a2085490218974ae0c202edc9653b5c7a2cc1c23c5fb8d8e6389e174a724b35cdf0670323bf8f04921985351050decebe8a85a5dd152a7a88ee25796e6fbc05a33dd677b854c06a7c190d94b94bbf7d1ec3668cf5327b87a647662f72d17665b3fdc5a66064f401f6c059e7304e3698ea7e909291a542e0b8ae60664732045b7820cef7fa1a3459ca2b8813f5a72a193de749784e513da985818f33f3087e81568f46649aea48440fcf57ada621f81ae814ded7aec663892f11c5528aefcf773995035ea29710ba9247913f995e5cd48f8bd90b4ca33f9fcd40411004c680b21312972c4b0f9d5571bcd06a77bb77f963591\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 616\nct = f2050833c7e5d2b1b5a9aa0256f69a1cdc97282d6d0dcadf4f2904770930a44960e6a1e782855c605f3c5ea1d23b406a9e5bef7af09c4e82f085226ed0f142fb81707a59df3111470dcff3d9cfaf0c6f9db4e5c3a63e6ee06f8a2234d8c6f15808c512ad15b15902160da80afba9fe8cf98433e43bb36bbb067d97d77baa82ecb0f94b307290cfced40639ccdc7dc19641d7ea332ba11c773d0bcb3ce40b9b265f3dc1f79845831c08b3e9d56003f089717cfeb4414cc78ac0d8106c7bb11159b3c2ea26ec44eb41ab50bb44f00fdd47f6500ce71e4d520f8ce4b73c52ba9e935a2a43f44e5a465dea9a53394cc98b012cd5062ba5a2ce336c752fc30859cdd2f6c3e32a8c041e65966940dbb80dba85aa33aa37e1878702f13c34a9fa6d04187bc5da9edeb20b6ad34ae3aa74ee32bcfa1eb5842bd3fcb20433b29ef37943c9780ff1100a3cf66dee1800158e61a554d2c0082e24d114204127d76b21fa61dbea2fff1a446df373ac8f26d606076a10c74ce377325c7fabfbcd9dd03a0075be\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 617\nct = 555c57d8a72cf906324b287313830a9891e39622cfa3fa54c0bc988652eb7be1c75227238e373f6f935277c90d0f5993e1188520e86bb7ad45452f1388d0dad954ceae4cde2915728bf1dfe7781a18fa", + "7540e01272c9d4fe534ef705997e88b4fd21da1c76e04913ecb4aa58e6583d21b03c6a225fdd1a5f8af406492534bdf2291dbed482a08f910369f09288b062029d290229a108782bac6a88d8806a40816f967f335bf82ee56f679fd94feb528502e74c6a2a40074982c489d08f5a056ce36a931dffcfcba52a168c2d0d48aa5d277cc7fc6d5a21bc583960fbb841775f51491b96c855e9e83b4a364cc15866c7eac3b0de690bd5d1d1f07feb9fe6d5a7ee1f605821c7f2eaeb33a0995be2c459bea09530b43d0d5299cc734b6b0bc5265b98765d119d75b528b6fb5765a4d415d9357904a50dcac40634cafd52264894d76758222db980dcefd6f78da52cdb181685b1af88e45f721634c9d8c0a441a5266bb9bcf61cfc722ef7d90040dc96cf551c0228dbd2a49bc05a24450b3c5351\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 618\nct = c7f37ed06928718abeb00c4f0925bdc1bb730da7589afded36118b9e5ec422838afa1d737503bf7b6816be70e464396b0e4db935622d5f486d043e00b3a75fe7dc8b8b43152e1d09c81227dafe85268c5758fee10c9fb94075288870fb74733477f8a3b8b61b0a27a32225d604ebcf59bb430fe31f56c3320df9f71557a4817c4cf63db456d6834ddbb6117d74c6b0d33dd97da1ec9a8d890061c88bc625ca0d0e69ecc9a0af50333f00596ce1d45697b4c7e5f07b818251923332602bd2692906b1e7114c3aee95b5778459d944f77b017b4c132fe0f5b863e4e01d3c9f3c0fe3720fcc1c5e9573c931f741a399ed520674f67bdb5de98b5dca82cc2198632066c758a50a0e3b467946b2d4b575171a2a94e89abafe36daecc6f19f89673c466320da0942865ed4adc52c0bc30ac07e7f9d9a43a6b1ea0f6a8e02aa920b2f0d6e05ac4a7219b3f9fbc75ab03f04840ce6f48f54a4692040426f8218b3ca62f58f02473ab3e0c4120965a85c0b95af72c65e13b17731a30f3884114191351059\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 619\n# Longest valid message size\nct = c625a2ca9f6ff50dc2cea5141b3973d6e7d9f9fb5cd5a3c09eb67caba731b7fa0c29361220ab942f046939c0b7f5ec4a278d336a90c19ecb24ce1b6114c935f21ae32d3bcab3fc990921641d9fdfc6d0f94116639dc48c1a80d45b015f735739016d909c6193ad2de83b31861c8e766dcac573f5045efb370fae224e56405b4dadf2c627dd4526b0848920328476ebfeb14e6f010c125652cedd55438d59b8f0d8045c1384eaca0a6468eeafb7fb33174d1c43b4b23ab1c6d45c7fa644aec86cde4535c991cb300664aae97ff20cff7b31247a31706ce3627e4c3aa9d9fce71bb3c9fc0789380f781b9683c2d0d598c0c9af99affb85b4356035e19f9dbbeac95adca06e1c9e24de46eab1f2300ed668e37edde2472aae8f00879fcc0a7a577f9e316023bd6a5b89f90d04dbd464ad090da7669ca8335cdff42d04f4be4fff86ca4b5aa4869b3fe538db2f5430c5dd46c5104f4b503f5b3be33b87622c83d0f013eed542e7afe8a78bcf966c8bcc7f089a63f33faffb7f8033ac76546d42f959\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 620\nct = d5e0b09a0b831fe46ded1c6a74f94d40925f3e7dab30e852", + "918094614f6afb0abe0bb80d963a18e86827e554a94098a2d823846d05d4b22f29baea7e83e8ff720ba7b4e15642f1c1c307cefb4fc4a43594c88bb4867c62b86cfd422d4ce3dd84f3d4ecbc14be32e1cab4fdcaeeaa8c86e665505ad6f4e2e85aaea715cd63bfe76742382ca510680069e39da3509d3a43beb2b710b97046cd321d0a3744ab8a7b57c92eea4d3ef2de567b559f304f6ebb7c0a525c6a1da149b7f641a7503260b7d89dbd14940f6be23098f85397c1cef5dcf4e108996efac8180d8d3b9e5a524cafaa819d1681653b6a7080870d8cfda6099c9596d923d8f548358bab810a54b50f5836bb213a8ef0c14118c1d21390d3c8ef89c67fea2b577c1b02b379e5c96d38c4248de677d542a035180799fd4c7a7d369cfdf044617f8691472d717f6c6eb0c8e63b8e13f6939478e029c5aae78268ffe340f11a344ee9e0893d16d97b3302a4ac35022774dffd06c38714f8fecdb6445f41a57534c90f4097be87a0df71\nlabel = \nmsg = \nresult = valid\n\n# tcId = 621\nct = 5cfbbd845d8695b3ee9d833aff040f3610119f8509f71c7eb102e307ff857dbd5788d40eb65d1b931654a87b8644f2522330f1c54dd5fe2066e1fa796072f0426b36af41a31afea2f3a1cdc44a97624a7f1c4760e939456376b579705886753b2718224b889222a4873c705b7f06829dea41ae02f7b43138e8a56414de34bcc355a0fb3abbe1bc81772a5056e67518de0d88a7ac8f881f5fafc5b9f99c8f740373e06d14b11c08bf04004c600579c9fb0d058e5cacdbdc5bcc7e38fbe9affc2050076d88e2f939e739da27b839b8351eee39df3d4ca68dca63ddd129461bf4894c94a81df68ca6431a6f0764245408c123d9334af4eca96afec7586bbaf2027c5cc28684e1f78fc4ff2264fe2890f2e31629cb5eac8a45b979107ac394e9264d2051929408d68834750f72e78675d9078a883c020cd42913e0b43a1a311cc6ee5c218c545c2e2f11bff3db3a773f17914cff2d339a17116ac995503cdf7d634d17fdbb529c86bcb5167693250543e5da6ce7def98f6d811add0e6d63591938d8\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 622\nct = 3970f52468d50ec4cb4b788609285349dc613712e70ad422ef31775de21ab08b15d9dd92d7845b72351a91e7547d84098f2d17ccd441656c043762fce983a93281b6b3819862bfede97e4fec1ad5114b2ed6cd6f9d1489279a06269c04d7773a25347ff31e19f909112605335d2283fbf9400adadb8bc1d0b1325018b1b044461828e5d9fc17d30bd7f100a479fd42b96a44e3bfeba80b1bd79f395997314d209275010ae3f121c2e1dcdaa388098c6933e4f1de84d150e5899e0f7407a7bb0c19ebe97db6947101dd6364b745d47fa17b731217cc55fb53b57b1da7d42cd0b795a67c42be9f042eb59e5bc5c121edc9f0b7722b6b4297653d8fd880192370b8c116bf3376cf870116250f19a12dea7d3f5d0d4a0c4bc927b3fc3a5d049651d6fedc7dcd1257a157625ac234acb7bd15fde06cf068160846bf575e4b77861a3a228372d1af7244033769c1f3d2fb1660ac58915e85bca6d6349eab3f7e5112593b0ce267dbe8323239adfe0835ac20ad9356112e7661731c8f7bf1c77b001ec1\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 623\nct = d18eba303b2103ecf81fe0e784f49db02c8fed489c358a6b4dfb7604a2c2d13cf8fec9e42cd747f5e7c0a1d1d386b646f270df23d64f13388813d5b3be32211c982248f2914d870a734d533f934cd582135f154e67671e5628f1b9842971f2133a6a7472a513e32f6c8205806b7a3ce21cd9beae337df56e94d5d8dbcff698c6965cd7feb329add6db1f4d178e4409ba58f24cf6e8ddc7b67770c02a0a5e952fa8bc1a0fb0d16d87faf06bfa258aa78c7bdd719776b99c6c19a8d8a39a9d0b2100f92e7dd1d05f8f7da248f8f4dc494a7435458bf658e9ee5e622e213a935ac4512d3a79a18135171a4756cd38fd0e6a2a02b960e4201e4ee3f7cf42909470f134981bcf9cca867993b9e8929f72ae0e978b025f0ddc012059a1c2ef837b3153ed9425d6b6863239f5bbd1c8d3ce5050be0d67883387fb57dc6c892b24e52f857e791b2ed6606150ec9c189a0e9253a69d63487bcef87c187cdbace7d31e0bc3b77fc0c9ccb3cf4dce359c4e5f5c5e91227d9e7efc5a5ec0aa36dd4db6d4dedc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 624\nct = a6e19139656aee628171326f67641fa95411c1f6b94afc96b071f24a51d11696964ef0c0e0ab366187847bf71333314d958cba1562def3d07e700caa7294a7093564206ce98a8507766d4a38e04d84ae8c5784543e938a03ae8c6d0f34ae5b0a46d10d89448d904d5acf09f63b2636cc9c8bbb18d4cecf2b2c839b6ab3c65d13bb593aa9ed21565cdbde8b40c0135949bcff501d85cd3893fa16b398366efe9f323491cee54942ef9d23dcf24cc1ff88cae24b419702db146802c4d720e887220a77485c46b233a5f342268824a0245da967bd61b2d4a3be06376abbd64ca4f6a02712d8066c46a9159e2840f41e3589e03a6a63cc535ab30c4a207907e4d4ed45fa1a50fd3e19dfa9c8bffdb914dd03c6543ff773c9d275aad172bff055b20076bd8762dbc5a1183d2176a6c184fe455c119c11af8cad3f05857a4247b613cde762796fa545a5644ce4ee923862c33535a58e257e174c63ff7c4f0e87029c13c3e4d25e990dcf45f4fc92f6ceef9e419ab2e79516edf27fe6336944998a2a5d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 625\nct = 8bad06713268987af8e16ddf8c81c571267d00a3d420d73cfe4359284eccc5d55ed42eb961e8ee9a3f4d6f8d56b492b8b0a7824b9eedbe72a6ae47f00b794bc7c990cf667f79bd91ff5df4d2b33ca7ee51d79de893fb0b22a3e398ba759485137c17ab78dc13a96bd889a7f40006e0afb9c82613091327efeb4a9ce339db1726cbf7db5cb4cc7fa102b8b389b3f26b1b8a0246789cb831d502f9e22770afd7909bea759cfd958d0ea98a142b8ff2c69fd101e7eccaae97bef4c110285d69a6679035e66d88de780363ea4d74573a53de378e8b4047c8b1a2f2276c06c0598f8d8adbbddfddc3a51587a7376ac27764da611ad5e329c208d8d1310e9c172bf9995a898bc047d00c654b4b0e0eb486e6f3b90894e236a20dc3fa94598bcc152b75e3498ff045bbf2e8ec85831b27a03e4b880662f534155374b1e5cbaf3fc56b4867b4b97e47f0fabba3e62c60a57e0060dd2ff0a7675873bf8b759523124902978c00e79bd31a9c5a209d7facb795c166a9667377fe2abc362a0872c47affd500\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 626\nct = 04d04dbc772597ec8666cbcf3ef9b22a5d77ae065a62bdb1b32afe6eec1631943645f770df2017d21f9833855f38584178104a3448a8dee3c9b53ce5084b15c9800c396591b6cf725f45b5cff93bed12ab66a2ea64d730af362bf0e9594dc2f747a4dbbd75dbf9f88f9d737d6c35ef2b8ed6cd53c31419ccf72ae045bba4c23a2e2ceb9b9c0d0ad69e81991965ad90fe1fe58714f635f79f762f96601c576868e8b96dc660e0826819888e6ab5a83669b70b1ae4ebd5180839ab2f4489a40b459bce1784444e75f5fe9ea1780ec41ceae3eb2b03737de66dae167bafa169929366280d80b1b29d0580f3c1499e046813153b35978300e76700e97668749c3356c6b4b6a7b6840bc46ae2ed5000ac181b1ff49b7d2e66c5c794a293a6860b8b2bc9afbeff5853241e2668bbe5e38b70d1be6bf93aeece7355ceb590cc683cf2100223764b62178be1b7764aee648fb89f65513cf3b3e1dd99fc41d8efa5f2325b12e86111c44cb9b225392ec9c46e4eb9a0d012beae80cea4981f7739f19e12d6\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 627\n# Longest valid message size\nct = d90cd336f30824265b68736709daa86e75f5859db56c7200e7bf908f727c42863ed6ab5fd95e955c7bb1b9bb85fb3f50f454075d9672695d515a15b32d6fc3b42fb070110a5c250f261ebdd7973b539491a7ff37b063b88f687e9db36bfdea865aecd1e601e9c646b905e8dd07fb986054150088e62d198f06c8cc276122c818519aa3e9f24392244d1df7d995fcb50a596f380b14b58eea99ec281cb6c7e31fafefa8a112db4948a697aad18e95245fef48ece289a53a7154980467b066c90bad4d3ce37686eb1c4d984dde0509143f3573528104bfb74de64ed29e3cbea18dce63a1d8c941107855001bd02e68b9ad869bf2e7ff0c8aacf234b8989e466c7a1c014d92be23b38af69842b4f181480dc43e5b82395494699d3bdc56b964d0764d15f524c3ea474de37f9be237b65e544cde3232b52e48d1762dcfc922545642f39070866a1820c04eb04fe878d1b839a0b393838195c0d0a888dee3cbcd2336c5224d64f6655112d9841262acbfd08d8be2fdfb4081a0845f6c5b9125defcb2\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e8", + "5cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 628\nct = cb9ba45404396101c1211be70415603708e1051b0debfa045b75ab936fe7c5d4e8c67704fd2ee046af8679e0bcf3d266ce67b801c90b581a3f6909f56c6fef023f0e2c4428227a51362d3f50ca65a79edb3faf899cf71bf99e244dc817fb4c2bce848216f0de57a1747fb1d4f0310e59f7ae0a656376690125dd10657357de11b5e7e5588af7083abc6018013ddc43d21c2af42c9c302f008064630a27ab014d6dbf48350c8758d821e74c45efd168ac37f366b413024ebbb0c9624e6a93d4c02d1f2b050f75de4b6a74c701386a6c330767af6bf03e8ccd69ce6540b471c01e6fe20852a10f198e4e0d29469b1b01d5ebff85ece159355083829e4c2935f16cd2f409199f799f250c8f1306da1614d0aa15578a58f399a17223c7618242cab31fe32a2317cf7babbb30b3885d5c07c4b89e91ddcb37f449cb3e2faca585d04beba9dce34face1167f5e4aaaa0509867716e3da0ff81b8a481b3f9cda725f01441d7d3d7ae24a5bcb373ff85e608ee7a49750a0d7d185a61082924b2343e18cd\nlabel = \nmsg = \nresult = valid\n\n# tcId = 629\nct = ad215dc277e269310c54925f735d9bd6e68b828c8a9adcad792a567fa89f75bfd9512c69caab0539f3a2d4ad7caa73e6c1166d94645308d09f98166547beffa48940bba67d08391d8ce831ab3e819b1113eff18d02a83d7f07f1db2ad63cc53dccf2c9a8d8cd42f3054cbe1d223029364877c61d2a58d4c16929eb2c8b21fa1d09797a558d61f00f6b2a4b67eb794dc9730421bf52e073cca7bd083b35562d21b6527a525662defa0db2c9fb0fb3d8122a85128839e68fab7224756fe7cfde6d86cc7bc3c6665d3ecc52ad0ee25767d5f1f1815e56c79e1ae089a4278bd8c34fb397c1029b4315573391064c02f139e6a672b8a9f50678419ab6d9fc42fbcb69b71dd644ceb7968d6b0edea5f72d9d05da3d7b36cac7de135d45edf45834b47f7b2b91fe89ec6c3f2863f7454017091cf6622b02447a0f8ea6a8668c61a55f8654c4c8f60ca13639f125f2a3a46bd82d2bb6bc66511ab7050433cee0d6fa98946d18947d5649b380f795fdc8f0f13b663f518fad69c65601a51d170f7013204b\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 630\nct = 487ea78c9548871a93a0b856306f349ab51bbd30b3e6db0c47cfc965774cb0532575333f8584dddcb13f24ce98ff4a33d63b5b1898b3a8d9babc0ea906cf7d9ae047284f7a36dbc350d7affd57030196afdd419750f1c5f2fc55622e442e6203d58a725c7b6e59205baad02c86e44447caea8e88d38963389541a86933cc64c1d8a3b70c4870b0f75146de372de834988a5f852235926d7f3893c83dfbb78a1a8cb4d9a4d516de110d315ada9be71431d3e6b03681d4d7f665987000a72a1b138476579aae7058f7d4151f058410d93bdc197009b839906ea6254e90c1a49327ebf818dab3517edc39761d3f84be8f8bdc8b35541c6b6b30bf8cfd20fbd9a09713c470c9ebe0622ddd8b2471f9b0298cc77b51e56ac2dbf9209fc5a95c066092deebeb7ebec0bda02f89904ccad29ecdc1d263a29930947b90a6ab83dfaa657871be533d55231224ba4e866ee9a3e352f501372d75090b5236d39b62ee6c84c792dbb253dd1f9fceb868d460fd76847d9c450b1ee5f280fdb0da832bc5627957\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 631\nct = cc6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8ec65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 632\nct = 2034cef8731f5ddf7533380860b7426ba0a7ba97199ba332efb7422578d346ede8a41c8c4488d52cf2559706f1a677edbaa50c5783c00301cd41815e46c588e2e8657ced9a91f1b2e61d51d5e2384b59b90c78c8d5607076130926bf198e0968b239fd8d4451dad125467ab895eb3ed450e6abb61d6217c65ba2cd2176e2532594b5a09bba689ea1562d04527de919d47c3af5c2c24698e572f3ea289f5691afa164970daed05e83c051e39a99240a4fbd9c2046ae742cd1035aaf0d0c20b5ce1d42a08f9175d5ca30b6f4a7345b4820784c148a68f92be82f6e38638c1f8ecf8f07df3827f9fdc8469049d157202f31d98f06563f737ea3df3764f4644d9f9185cb2739c8aaac86e9b39fead8e03818550a25997c31674d5e14cc4c13790e409e278d778171c5462f689b0ec344f9a920a312ae9351c7d", + "51ac7ca7783038b3d5e59d79c4d89ed4d36152d2a1baff8be23ae1eeebf6af20eaf093604cbe79fb93b61478d3a1bea20e1c6c60d63cd3e09920f521e3eb3e40fc21fe46103f3194d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 633\nct = 7929db7a0ef0e385abca461e86013785f72d60fa4cf1c97b1a16e7b501235701aff06e71d981ff75392a27a266afcc5bebef5b1dc09ce60ad97b1722baf70b7be33b09de2f203f92a527a123e929b038428de471fb0edcb8e64741a1484ad5d2d5497f91aec6d87e5ca95fdea8962b61362bca2d0a4742f8666f1b067da8db4fa24cd721440d6582750498c9fd319d5ae5c27c9b70f1811d90b673d0529706d085fc78d73f933845278e36e96c48194f1494a1b4d891f249e8633c03d9c564534952e98c059dbe01294506d9238816215028d6414b954467650820e5db42b7701adb0d694bf2c00b42e89b80839b9f35b4e23ea70e55e514c50e9ec197423ad28a5dd4ece946345bd6ba154c122ba356320c2c1cf0ab4e0c713db0c8296ff900a078ed5f0ed1802d7f1f92c9305c245471d66820d4230aac6cf9a4311f7293e1d93a5dfd529dadc6699aef4c2ed53bcdbcbe8deafe5f9b035a6aaaf9b2d8eb23dac290f828bf1886136c79fdc915e21e06133f24e63876514abc29d25c146fff\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 634\nct = 5ed5766e97ba0017cc6ef508702d74049112f588e8930c3954b43c7398650fb1bfb94cdf75ddcfad8b50c59ed05bf8c32291e8b804f49fd5faef0e39b922e14ab4186c575cbee9cd2677b58cd890df072669c3c26845d7c89420cbea27d8c1ea43c2041a95852c85056e1d22c0cc9ec563d937fcb1d6d024f3a1a2943f77354885b3fdcdf8945f7b41e1f5a3c7cace9bfd2bb845f6cfee05f8f4680d1bf2b9d6510a6d2093a12214396ff02bdfeaee4b21af5d52244a3cf6eeffba75e946b83b5784b3bd98e5e585032fc88a1abdb12cd30c7f412c72d2e4957681f77e4157760c067a9312df871c972de688a839bb155c9de29eacd38ebea064f53f2599d08d6014c0f77f3ae121a4508c30eb0c8dd49c4c0ef31cacc3b1dcb2240050db157299260e9fc52dbfb530af6f759dba3764e4eeaed032e564141fc102399433456b91a3df2186ae9032957276e691c095ddaeef7142cfaf5bc86915c27461c136c1381a800bc3322c2dbdbfa83374922d607720272c8f955a9a10814c4bb9587e5a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 635\n# Longest valid message size\nct = 4d0da40b2f6c6ec3b8de97593a591681c69853847f9deaba86baaa69b42bfc3d8fdac5fbb3faaa7a5edef6e7ca0f25ae169c6545f26c908a1e3bfe8f0a385c584cf3da930acea13076d475e9b428ef9758113d3d8a0e23eb2dcbccbb1ca0c9b384aa760d17a5764a7c4c709cbfa9cef0ba5672cba0deb198577e3abafb2176781956d0c4d39632fd30f778b8da3da16eabf3caece2a325926dcd25abb0bf743b9ee06a3b4496d82489613b0a720353b017e72c3c43eda97c6444d8f2edee7a444916187129bc0e9bc20e457c0946c767d3b32866655742e891490ee996a3b2106cc024c5da94ac89dac17fbf0c97a95541f8283510411868863e68d9efb7ae4493246b409441656ad0eecd3f0d84c7fb16a593cf0e3b5ce01c142da30d50e42f58c7bdede2dc350313c480a644802fa10fe117c98a92f5f8ce6c9c4cf3ac0b01ffa629dda82c217171a4723db2ce751d4a359dc53dd4b398e7882a8c88c9b591856189a9f9afa349f02573a9f07c6cb96eb41cbaebe69dd82ea7d9b860b841b5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c8175078", + "5924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 636\nct = 864915b51654401f018ee23280252369c2a4655156b167747c886796da7fd08af0e5ea3e5e477ef31498be2547e78de91aab3283aaaead23013a01cb14cbc5ccafb27b345af079fe4520c6fc4f4395abe18f8ff3525b7f9bcc1876693800de79ea33fc5c3aaeafc9e4c97535033708b77516a891fbecf160fa3f98ea6b0b7fcf69ef44c470df232a35c48e758dc4b70965d2c2256753afde954b642fe83d181759949a901558dd0c88cd20291e236581199cdca2b5436a102fab4c6c58d5c8f2e867a046114e0c3662bf115126aae27a66ce932b4d9603e14fb3769a2b712e5b332ffc1b615bf9116455cb802f907a0600d9ac9d292a4582d356b6f8c06d54f252ff17d1d4d07ae25ba1fccf3ae9b372e2b8420de1b9258217c15c80bf88afbdb5a879fe31fcd7c7a275f4b7432921b8de5bcaf43ec8db6ea38a962b79d810904406573cf3c40fc416dc5f8d2d8feca1285748cab7d5335cd4c253b656b52e9ed1b8f8dbc4cd93962028f0ac1feb7d4f754c0aeb1c31e961f25965ec2328ca7049661e8528603c117f9ed93b74bca5954936546bf729e4572682bcdae42f0e693fb3d05de3fb7f8728825675268438339debeded1c2d50bd89128b41cd40cbb6bd68564494b06c9bb43e3ba7edde3f89933165eff31ff255e1174d51b885b6b61d4d3712625d78423640fe911e761fb05bc702da7bb7a6819727dcd892f7462c\nlabel = \nmsg = \nresult = valid\n\n# tcId = 637\nct = 0d9e70cb448371ac08d862e2ce2cec00ec8cadcd05aab58ce26c5c098cb8aa64ee561c446392253b3b6349c286f1222a3650d2393aeffa1eac0832552a43d11f7780f6f219c8ff1d1c98bb085092751f479aad553b0243537a23e53a9c9779e15bc3c8d8a176693c3261b4c0520d634dc5b3d618565c1428cf9d616c6bff17a4d0dceb97339f5556f0d96f28b187309a48174651383989854585ae85d30874894e6d54a3a65e16917c751f3edf1d1653f22ff5d3f1eea35b390c1df1912469db041559b9ccf8148deb9d4caf8cb587191049bc575cb20495a9b0837035d2b8c47a74190829e13973b5b72eda42ae1a7cf0022cca75f86f039c64e16797836c83bcc7c638d22fe1357444bb4e42bb1410d7b63a8c122006f45dbb942a802aa4a964c6b17f21634e0e029a9a6510158f88dc05f9c6f4ae024c6f13d32a4d412ba0dd0b9f7382a1771a61a35fad4e310becb6a5a59dffec526a9e06d9feb696804aba676d0d9bc043f07068c7882b1f8cc19033b78416d64d5c6f4b2d121d170e4924cdb9a7179ae3a93121b814fcb74cc25eed8ab26b12890f9392debfa3c1b9382d41f8bf0d1b8cd40a724478ee753c70d3f3820f48b6f8d71ac6d62d4e319659b188a24b586521986fa3ff61b376e6a78a8988441da519c6f986f10c32bce6ce156ab0e2e1d4cd1f2765d0cfbd8157104b64709c4f8380181f8021f9fb153b15\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 638\nct = 40d37ad25e0f854b3f3431c1bf0e24dfdacddd8985895dd95f95d5b664e03e9f3d6c006973be95f2b17621615b8fed29aae91454a4108997a7dde9f279a93909782bfa6ebf7eb69c198d656752b980d6424f054b3458c8b772f509981209e8514f5c366d7a5272ba91072339cdcd81810eb2c27f47da51e13225e564ec772a0cb40c95a295eddef2f5dc6fddbedc8f7c2b141049979b7373049cf5b8f91b093fa2cb1220e145e5fa8bd1581dbb7ff6f1e28f51f15e67350f145ba336d4a894a1156ca2cf35cd8a29318d084e28d4402529551e8fde5a30c8005b983705cc67a7cff211e2a23065ef9342d4d065405818997126e14834b4f3073a6845add06853121bda9df7fc68e2516e72515d43ace942ba26c0bd36f58e93fa586183533b82cce7c8610b15ebd305d0be2ec52636377cdddeacd4eaaf84fa64e7bd17dc2acf0cd54f75181a7e237a6b1cba8514dac2c0301fc7b28ca07dab48894ed25f0d2c4f755cb6b83eeef73107338cc9bb21bb16bf8069f41d5a86b37f2c4e9f793d5226a5723c5c95da151f663e8c96f0dab2af01ece8ca1280fce698ba99d033817f79190c7e387c71ec8c70d04ddf965afb5e0c106e1ad913882bf6295b8b45d6859b25125e0af2514fe66c40381987ee925e6619c9cdff3ec71534ea1cec815bd3ae8a4f66ecea466d9100dc1c94c64be432d8fc9973426dc2041583a96e68312b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 639\nct = 3d8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc22\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 640\nct = 64d5b5a72e27de69cd016f58fc0f7b1a4608376f0c9c51c7c89ac24487b6a542e414606aac2f00892e8a72307c9167d48d555d3c46f924e95b2f7ea6451fdd6eb7bf14c5543ee45ef6c30d39c9c31d93fc807d9b1ee85405c38a5952d1387e393ca9e357d819470f43cb202dc1275b91d0a5dec0b7b3c547994024200275bbfa9acee80b6adbd742563088bda0f2fb6989e78e2464f0b7a7dc96701792c365f9ad1d8efd0b3842bd407774c4138810bc0c7f5900e50cfa5c24eef43d52be497b7c8094413d543fa3474a04580448d8203661d3ad87e997777c112161af200af2442f591c8bb41f337c1ec11821166cbc3d2f264f27eeb2ebe05f68f610aacd58aab3722eb38ba798e9a9c083dd335be40dd65978cf0a67d0e78a5b9c77034dd7dee2ff87172f98b61899d76b384920570ed063670b5dea2e644e538e7124a4b8c9ba5da4afc1e1196ec194a797bb2c3ff90d8957ae7bb8ebe99b69b90fefcb876752cbeeaf4f921060e8cf420463152b32ca55e39e61cef5ad4ba4b0ee4a2eba2d784b27ded395bf85db2bc85eef5e0cfb8fd0ab3198ba5aea550fdc866b828b3095b2a8d4b71a6e20ee3d572b94cb4f6753ddfbb144b11266a1efac7808931bf3763a4a80d0bbf475e5a3d237eacdc58351c1400d5bcfe9006e6483cb664d0274c5cf12d2a18038b6e5643244e0ff07072e38eec29eab5090946e73b01474c4\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 641\nct = 286d5dd2d8141c8f28ad5834c57b729f39bf5f90a087ee09eba1013208793361cb39d338b4acdad72ef3143f45c6092cd790abddb45d1150abbda9c70f4d42abcdf71648f63172062ea5b64629430b5e3b88021cf5fbb63dcaaded696e3d6ecce60a1346d75a972dc6eb6f50b5ffb7da7a5b7b7f8a5454f9dde9fc21ec497b2223b24e3dd579e3c0518feccecd2b3dd91ed6a26318dea80b1eabd165a87bac00040c29f3335a7e474cd01cb8cf2f1a56e27d5377d17da3ca581e84149852b63868a9de2ba8846142b07d14ced219ee0fc318b826a35f7806fad240685ba4067949a79b9fa3252495f14f49db5b4a31710d4c1d04d8a2f6e7121762cb4873d1d5ddd05c2be9f8c09ce5e22e15342ae22f227d940c8ce9ca62f4fdb080b85a447d2af34acd4e77d126792a69892f63356061221c0c7105dd5e044bdaf073db841f0f25f957cbe259a2474b7cb6421225add558838757ccb028ad426ac1b75029aa08746f9a47df7df604cdefbcf4abfa92e114da11686a6b2fbdc", + "fb9a6bb3e676a7bb288b88a9c9546eaad05a84e1cbfb22503e326c63c15c2c634085d2ad2d5220b9c6a7a51548adf4474145cf3045aff023c27f92c098d77f065ba59a530ff15f1f0cc634432a3b3fcf0c5d5cc58fe071deb4268fbf16917bdec618250dbf4d41efb3d13d0be332848a0512c5e8e6b4a6fd06ab4094550cf69d51e5321627dbd\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 642\nct = 815f21b2970412f0d01a6f7eb209b214b80a944718895712c0b17b86ae408b01d38636b0b10a0d50a761359b770aac9074d0a89a22431f031063d9fbf174a767720807d02dbf70f9c561214c8ea73bdb37b0ddc8ff2e72e744cfe48de0e2188f2c034d6a779434a7e32ff44f5a9016cdca2e8ead252ae8fa7b5137c033013dc1a74b5bdf048bf81ca66a424feb93d2579c63f2aebac51db1535217341b501557c7e034a5276c8279d46e8724cf0c184025f8862c22a64d9142472c098b8974c61b5c8c998f0e9c8eb5525dd520a190768faa9d3fa58ee6d93f2fc775edd368ae734f6b359469f4d3211895f35dcf1610a4a6981cd135709b91f2f7667b7288db3337bd46d6f15c0eb26385078f3943ba1e67df9ef34f7e52630d5a4862dccb0477a3988f25d970ee69cf860eb4b56a85665fc47995befe817a4e3fd2b4f112ef60a52180adee5a11edb9ac1458c1c6ec41e3b9bd40eeb906e206b447b7538be7fc0170915b047c998b8baba8430aeff4ee8c48c763be4a49a8d0b8b7b45a2f0e0403e18aa2bc30e754982d6d1872434fdaf22ba6ab298ebe29a739788e377c51a140e6ba07545e97eb9b2b12454c720653504686225a4c7966a13cf0dcbe8e1a852a2d0b828b9e708c1012ccf401e7ac94c9fa0ab5c4a19f087761b3d1129317571621593629f9459c94b92c62dd5d6827cf1c5187e98a9c20d27c0cf4e4b18a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 643\n# Longest valid message size\nct = 0e617b28ed72162e19b7a80a8b57b9ea9c826d0ac8b230bcf449f027978034e1bdcfd55b89393643d97b082d7c1e7eb4f901241955ead53e18ea50e07d8818d01286e6c7f6a0b1edd82c40a18cd934fe4b117f3711f762dfff24668c511524bedbbf9248590b708c36ab59ea8449c9468ddeb978614c930d7cbc45e01115f5ec5bc8e024e6d4ba38cb8a3c80fa85142de7dda62ec3089c56a3a2a067b09a230890842e6844b20cd1e5143f4d149a99b86c162b3be1d98ea2850f0c336a9a0e1f350e4435b7d0ea8cf479f4c07b3ed800c51ee78cea37c628ad0f8d9d9df93c94a7b40c828927dcb7f53f705f9145bab0191ca8279957674707cc442482754603dce5fe9dcba2b0a545f8a3be70e108e4c7c9ec55f58c43cd654fcb7f0fe85dc2cc02fbeda0171dc5c2344bfd908692aab69fa50fc0d06bc7b9791dd1cd02f23e52fb26c7d017372dcd84f966b49ed939eb92b51d8d25cea6b25ba6593900075f0ca7fe54a43faf9686e35eb42658d2af3c62ec9b68abc449462342c1e1e4f5891d8a2b7b60446da02600bc65e9e48efb38b5ec69103a8447e5df840a266776eeda1864013fb966360ab45ba9410a2721850cd0e2672840c6efcce5d468a35f9bf0ec25046e47d0dfa4ee6241db8ea32125cf8a7ffaa9941e00b49a1cf68928d493fd1a16602dab0db580001bfece99fca4f90aa823717921e836b12ad2827e06\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5", + "bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 644\nct = 0017fdd8d4d7d13d7b7f59dfb2663fc1870cf4e84ba21e57442a4db92bec87c1bb7f673ebd799a2de03d7e350f1473aa3410b3491b3590b8fcced2112ede7bed55bd7a31c39148e80d00220cf2a7088daadf6939fca5dceef4093229a336ad75a947848fae8179cc2ddc2f4bc86b2e6c444afaa2f21cbc36e02c8e53522b9d0306de7032df53f684e544d425c86deb8028cfe80dbf1e0877db89be9fb725360387721bfd1f54158fba744636202c965a9e1caebd599d7f8dadc3029bdd7e711e7f3f9c3f9b21f23b1e742bda0d6bced620eceab15e918511c15dd7bcbbe3f8e56f8c1372e43cc00101efab3320f32d681bd7071b840886e991afc275a20abd5d7542cd4cf6000a3bc05ccf356fb619f0378fb327091f890b89826cbc0613d93f62a30f101deb2a1cb3c59bcd0300d2d78f664cea2d17879c596931680f29329deb4189a3da2fad36c65bea5e69d2299ad5db9320430a9d7d934f8b814279aa4c59470d4627a416742080378352a225c002a35291f64a8d1796a91946161b99e7773f25fcf056f07be195352d58df6b24b40d51634df798b385bef5a447427d02a3dbed7bc4a72cac88d6c7f99cef4b865b34668c5e4672e3c64dcb41fc9ad8002f1a867e7f83f7f2bd1980d8adfc70db242d8ba788dd275271c8b9181aad6ca9c9dec29924de37314d48bb92d8585bc4017803cb7e1b41e52f5fe6b48da0af74\nlabel = \nmsg = \nresult = valid\n\n# tcId = 645\nct = 3299d8465b4b09f26383e5f31e3d887888a7637ebb49228140d7abb47879e376d677433b01df1f2af7d3f4688806804c4824fbdc44f5554f540f0de4e6fe8e1bb7892ba96411c833c4354981caebe8b1de08860c8f0a36a93bf404b7be8211a49365c5a1bdccc3128026f27057c74439998309dddff19e405a1382a88af80c2865aba6cd11ad94a8013367934ee59bb19c01d7d57f94ba6f76d691e595ae0c62c3459e23fb46137091e02c47c8eb13c37c6b2e02ec6b663e5976fa4225dd5be353da9fb475d2e21c86b65aed485bc7ebb2be92b5188a835f1f1adef6a5b0f4df9869b28c36fc7c7084741e28dcad56f5b463caa1232d9ad3432e6cfc067b1eb6662824d17ef5257b89a72c6b7b4ee1c5466d81102a8d9a715abc5cba42c6f730408f3eaf524583142812e9d52ed67571c56bccbe6fdda42a9d1aad69236e8e3efa48bab981c7a02db194171c8b9e85ce1db889d2705a6be80ca9fec92e88de4fbfd5e1d2c5ebec37bc0eb90661e58822b9c473162b22c38660c8e2961d3dca56a45ff2412081d9637da0e39ab39b45dc1d9f6b67a06bdc814df70cce1efe2c755772a6654f2ef7d01a640779621fb4872f08bc5848a70bdbd5b870b8673e277985b92b904a44ea747643582461a2a0ab818d4777090e688ca94fa007e5fddcd4a8b41964dae27ea287671997f92cba5bf57104b41bd4fba14849420387b58247\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 646\nct = 1fb67b4bfa7167ea8224284814f725448c2d7b3c8d904c90c6dc9975d774b8cdef5099919842a7a5946ab4493cac0c821780feacff8de182aaf437ae893323ad0c33db8326d494daa935294927d81359b9738d771f4e0a33d176b318701d6168572282eba0cb82fe905e5818e4605d14bb08bd9e72d0748636260747b7df3c84e540b00e749250dae2454f5de5ca050ef5c1ae787ed044ad82d9209352e0c0d0c115cbc8625a445f15b0467476620a6d6538fbf8fe04d92c9b85632b8b836fa8e8719842432611f57e28d90ae624bc8dcf134d9b5d1a44a46110141e38c7a62e2f606456b7a8af06956e27c678c9b7fbcd8b90f71d9f3b697aca6b9351f08db8805000e39460cf737893587073d55b1054febd69a9bd75cf59616f19dd9b37c99f3d2e2c4b2b0e3cc1e377e26cb937255b754b12425e5a18233138487d47168618edfb30dfd14a8c7c63e93d9a465a3c032ec2b40a2906de051675597374a236142fdbe6e626afa0a0f4217d58143824090b1cf524f739ddff8367b366e9110968d7b7a7cdeb205bdb5d69654a552d51299182d3471ab55e5d505dade303cb2d254e160a0c3ccf01c4e59e836f9d062df2d4b1637a20b6416cbf1a2b7497495891ecb407dadc23135c5eb7770849ce133f47d6d8a1cf498dddcac1236d7f88ad011a597f068f6a66d28bb2b69570bae96df6e3a616bdd1a67622b7727c1bb5e2\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 647\nct = 517f17be5f7869c1bca327e31a610b4f407a342ab91a3b81091eeab0d7b6e5b999932a025b6b46692dfc47a64c78c680f43b69fafa08df239939338eeec0869799e284cdd2dfed0e84dffd197b18518fe72af031921ae1a9324f48b3f7ad2c800c0fa5cccd99bea210d862ebb01b5b9ef2467a14590374d79fddc3defd36415768d46ed6519da741cb7be448354f2b3a8ad8295048fc72d8ab68ea1cb183225c95db40a07fbe6bc17d6ed52a1389e97c717391303dfb59f4df483facd6f5cc12312e50c73556fe0f1e5a88ae94288d9a245e64951ff316dc28d92cd60b4e325613ccc8399eae2714f6178e820220ba4f12ddf420429fcdb5cad752e77e4a50be59f0e2472177eeba2acd8e28f256b1d830b2acf9d3d28ef3b7553467084377cafc89fe1ced8efa7dbc61be52c7b8f44d27075e9a6060a194599474edfcb79abf1e9727d28e94ff14758daa7a97a0a22b9a28bfbfa29ef0ce1b088fba69ed944c90508dd84c7aad11d935a6d0607946138d0f3fa2ed277b255b2f803bc02ac4d479f4d680b86e12c0eca2b54caac1e790ca46d8b74c5191ca34813fffee8b4f98abb684be617bf6970581b36b21abf88ea93bb768b4b32ce384ccdfa45436508aa2f06ded26f9ab55d1fee41077765aea7be5fcfaba871286b146ceb737f488a27d8d0aef6bb25513636196b15d69ca9eb095b7d813e09ac7e83d45e00b99707c\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 648\nct = 87223456a9948331ceff99a03f434657652515066b744308d78da188fcfe7fa8f536fc5a3ec475723ab4afcb3a3d73374c3ed0d7720cab14d36c95855eb56fe159c590c43a6fbfef80ae3d2f5fde9a27d48fd8f89e6b7ae30d95e4d53f9f6119685f957b259b39db767164d7f77d0807c14dc41262194b98dd3400030466f3f87f72638a5dd605f151f8f9ddd590b9d49e58d5b202d001d9400e16062d1b97b7b3d2c8d28e351ddf9cbcc78116784580348230d38c587c9d76340b91db9269b9ad51540f63de9bfc47f56a1ad2a175d3f37bd11460d7e81911047a96208acf89a9a0c99ebba0c08e41f8e0e85f7008e36f35139933a3e4bf5a8a546f4a6cd85b03c7f0f0ac9a5d738ec7422553edbe5eba4b5f2bfc4f913646807cd8e2c81379665b782e01cf7b960df7353de2b9d49e2dbf94213025e51ace674dca9fd94df632d7df45b3f77ed3324b60a63322e9ca85926bc769b6c122906004666a3fdb5d1845186880bf7167f0d933153dfc1d868e01501153a219b3124b4d9a8ece8690816c2204a94e2006cf2b9a715c86142d7aef96a71773e212ba9374f5d07c6e6aa2deefd895cadb502e742b3009f69d56e3a641b1da82743c4d6ed539fe8f985122538e19ce07ff17d826acf20302289e1ad193745fe4e6860dc7b9bb5b2ea7586810a32b99d6e96aadfdad1209d6e6e102d9d453bbb2979b6c891f47cffd4e99\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 649\nct = 57e22ba3164dbd0cb1e739e0a6fae1d37ff40c4473f81e241435dd78676dfc0ef3767bac26138616697c19e8c63b441d7cf991e548597b49481605f451236db60e58460011717ec66145e9b7d9de5a27f3d74ccc25d9a1f0f771e9ec54023dd95ff90d653400a89a866c0a9cff284e69e8e14ef18d7125e15651f0f1ca0177fefd11b2af199d516c8bb1a0c665b308afd8e03e94018b03527eda05b8afed52118b161b628fb05454c4c7dad12d0fa3118bfd29439c6771ec6c577aee7acec871991c1335d4b6c0384018a6c3a426ba810c73e18f135c5f5f2dd27536e989220af7433dfd73f7c5d9b5678c90db854b92dee92766b479949705c236d299370eef3e770951b7e9c08cf0c75c7133437173e1d74d88bd68284c3722ae", + "0629dccf701dbfaa435298562be62d5d549fe92ed3425e951edefc15630813795e338326f0607f41b651125fce512d0772d3cf3ab8978570af6458b205679131624420361e2cefecd80218b3431715bee816acf41b6f8da5eae6d1b6c5a67d77031458d0648a7a1b61102b46ce0874ad7c676d0ad8da5db227787d6cc84c7f6b06e5153810e34151d46d3cf2479c771679e83bfcb05112b6f794edb1a24bf58b705637657e3accaaae525d26f082c1ed020aa8575fc14f8500fcb7c87224a905c924ae1adcc05ac4df121308085cc4dd2ff7f9788150e7c19ca150243eff441ea12fd5d5d3\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 650\nct = 7501cfadd7591bdc2221ea70575879cf7db41c5d4633b37ce6e40dd70f93b5926f570247e3fa2621cc1e5e610ba7d78e15d36ba7389e0d3df2a19308ec69c7de9ec7cf990d071826ed100c46549ccadd0eee8176c23ad9d7d6bcab1244e3f0c38955cfae807f37f5a9eb026cb5bf2246f8ff5130d703fd5c5110892991bb91e796c66ec46134787a563abd71f8ea766f1a14d77a254292e9a443e50f7929b9c4a834ed247be13bbe407fbcbc47e16c991ed0ba8245896101c0d7ebe46704c562db869a71967b400f5555730f6a393c4376209a585c0a16d9b7ffe44b5e86c520ec7f3008a4e7b642b61b9747bd81dd883e57ca0249509e20758cbb2f959a8f50bcec06a00f1e497375bc1d601f95618b3b7a582165d3aaf85a82d6e19524835a4604f84bfeff7ded11cc03cd26b1e319c4ae8d113d2675c5cc09ab32519b8e9a61055cb3fb8b90e4ebf76b4681748e6949ef2b28ce184299305d5adfb13e2757240499f81b5f93e9071edaf205dabe8531a93bad49e7a1d22ce75af35c5c12f38bce0a7295291a968fba5afd3bc7e8f3737c1f98cdb02fd3e30ce8b19d4b881692e944179587ac9a49fa75034f1c8e0489a9c9cff10d6937af915ba9faff35c07fd16699a496220222bf6cb0f6a6c755f5e15cc06bdbb3698e195ba3618bd93b4b61b32fbd90f1b0f3e0a174d9e86a5acf477ea4ad78e8ea5d2374377f508cce\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 651\n# Longest valid message size\nct = 82bcc410b4ca5b7d0660519f8d9c1923e58c10d005c1f6dd124d6c376e3c69826e0c374d9f94f72fa6411178bb9de2116671b075dc5781b4cccbbc774a9be7329e15208fbbfa89fb3a3ab7d0b05b0623c698d661688c461f2c916314ca49d6f9e6fd77b46ec6c528f57ceaff37901987794a9dc2e0d7990404fd074cee66a4780da93d76277fb9e1695801792ccdbef834c7d6c330a1dc3cac82b3cf65dcb3730f04abefd21ca0756042b9d90d1092a5bfe0649352055bd29d3c7f79c6fd5f6eb3a55b75f6b87bb21e3927ee97fa90b496278f6149b85c7feaf46d34d1ac88ea464a3a7a4e680308e088f63884f16a86a5681afa5e11d31f5d4ce7f80f29d0915d3618b450799ccd6fcbaddf4022227932b351b1141aaa0bb0402474ad1e376176975614a07dae91867ef8d7d464f5ef0a06b0f1611498c8cbe9a732cb7e1c213b495235e11d6cd2960217621b93dbfe6439f11e8eaa3c0a9004e4f34dd9e1c9663e7d157f4b9ccbd530d896fc4b000ab0cf44eac63961b768e444f820922396bf8f0b0d4b4da0ad9124dd50e79e906307e85a69dd0328dfc549188776ec48cde510e8bf5997d60190cf1c7e5258423de50d6cabcec14173c8406b11d179a0d435751e4b9fd7c64bd7cffd2ab6e79388b66910fb249fa3c8a2588524db1eb1ee3798cce31e25aa81275994d55a5e33f3006c22d82abfcced2154aaa5e883c0eb\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544", + "d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 652\nct = 48b29ff276452ebcaa7f74bbfefcaa0cbba598beca99a178594baba98b126b2679e7d64876c8fe07e39f1f3fdd5c4f664a1ab314bcb75f1e906643fc4c786d66e90cac12b8c23aef35c4727451cb033d889e2a30eecd2f8d5091a6d52170ac6ce579c9c49701461185196aec6a380e2504833609b359d33a436f2c63bfea9a70e803f06644a0ca725a4c5b9b01cec93c01cbb79f9a17c401728325e17bfc9750dd19cfc127b9dcff8951a78023b9e30ef7ab628084d04f64a4be3b6d7d3da9d0a94d692a4cb275a7f509aac8dd2db4f797a374aa880c2d646d23760c51f3e0c00601b4c05f6e618372edb7d3a6f5cc9a26b5095adbff2134450b1ba238dbb9b3952f4d055f6d486e27e8cf6ff773896a0fc2991fc5ee046f6e81cf948afb12d669cc020b3aa3f14a18cd63830964c9662fcd3860fc461694ab3c6dc4f85fb4fa527f77e944e7c13b94c23fd0fd517a30dc00212d15bb25c00d48a36db8bdbdcc398fd6b1d229c762f7bf6e99d5452f69b91b073d866884a6e34c4608ee1df0733e592e339eedd59554e85be57c0a9689b69fac6e010d35c9c823a37f6f854c5247db77d54fd784ba82ea4e3bf776413376b4bae99c02a0226abef411f1d56ba7da24b72a1a5f74ab9d7431af7fc940d2319ce81dbc51390096d42a3072291ccb44f3db326cffac084c6a73c0b92919d6039e0ddaa9fe8ab1d65aff8b22cec120\nlabel = \nmsg = \nresult = valid\n\n# tcId = 653\nct = 0788a1201bac2e27ee3c704ab8172cd45416bc353eddb23477841fd6e13d87b9926231315d26ccb3694064ed9c52ecf401c9be16f4e70e3d7c4eea6a2b20f32b53e94c9d26d10e60a3fc37983c4f63b46be3c04f66305c4aa23d409c9875ebf238a1d999114c9ce8644e7a93a8caf0cd006be19164508142b36000a3e3a3b8bcd445f9193ce9bc2100b4364d4c88cb5001b8fc6314cc782f469061cfa7cef3c3450121c8de529bb8d41b1cb6975698b138cf9e0460b15f10baf335cb8d680146f801de67dac74b0311059252960d59b734295f33c9f8506b6940698fb0467e746240366a49da355582831cd2d99be95057e9560c95f86931843633119218bfd2f353ffcd64983a5bcd4802acc68a0064f9da51d585c1e38310957db7373b76a3e376846614bc9271d2045fea65a6eec059cc7647c94318166fe53dd19b6e8994caf8fb0ba888f0b9b89071649299f95512c3b459ff6e3b1636c51213108c3140ce88ff377b3f36da31e85c46d5a479ddecc07899a5c175818881ea30d9a5a21b3abbbc1dfdfbd40cd6849c1312c4a89360ecbd5c1fd90c759563b0700a945bdc03a0b7888b893ed8c50149983a7e18668dcf61effd03ac8cd9d730ee55a0adfbfaad873b4b7e1923bf839a5e3df9bc634b15076379de0705150f03897142daac961c8f99a5dcbea953f2e29681546361fefa495afdb116f789ebf9815f271c55\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 654\nct = 3ee1f8fe284d3b84ecaa5f48ce36661a7842cab4f4aac4019e0e7e4506f1baa27539e468877d1e41bee136782ccd335c23640316a24fdd13e9257062fb40f102e0b482a4b589537d0e417f3db7df51c7f8a5094888981132fbc8236b79f2463b969e12c621121e697445cc80f7d0abbb31548e0b732b014b9c40b4481896c47d4d6194346f49fb8ab3c69e3a9e282a5ddab98140a798f4811b1dc4f5903f44cfe029b7038ba28d806bbd42213d5235180f33161efdc80bdd1424fee3e475dcb353f79a1fd23097f20b54afeca8d2123830e9a706bd6d827be20089a464d2df133a631db522dbc7ebddb06125c112644cc41dfc1ba6a924f7b32fc9a315626f6157aa9fdfa9979a73db2f8ee054e534b4f00235daf2fb967189720f8196986697609a45e1586fc6321a2ccaf745bcd99d69135edb45734fcd27698a87b8b3d95f426f63c5addec03201fa33ac224deb25c1cb5e1e32c7c0b895166ae10cc1b9c270a075619364650d78a2119816b17d808d44d2169022cbc5cc64f80b042ef6def97eaccac3a45c497bf2e43d823c1468167d3dc824fce8740e811c21d3e7b2289bf5c09d722edb94bcd7ac47427ce90c944279d898cd7d975d6a200ebd00104238be33bb85730c0edbd41ad4106855567be674a73b325e508483cb897cdc25aa678f0379fe121795cb858527e72c8a62dba7612104dd796d538d4d9ba80277a4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 655\nct = 0122a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f109\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 656\nct = 01f290bc344f5b28bbee4f37d113bb1eb5c9ab3a6e735b9ac13ee65aa42a18ac22b51c684a34b969de549af295d48235bc0c46bad9e5ceb6a0ddfabac4dee6cdaffedda65556e951ecca0dcd8d1ab708176c1d665436ee2e3e9810dd2ecc508b232b3345708d3f2acd95727a2a1f8a612da88865c39652c8de64ac37236fbd0bf6aef4519821363e0be2391b7b0279605d193e4ac96caf52fdf1b71807cd37458f28bd4557f8c9b6db47c72b468f8bd643b8176bced97db6657a59c146b78389ee5d7fa3a463cf2d207b0cb68fe760b83a62462b42398ce7109b3d00b991f5ea915501b6c31d1d7a388b14a995f9c415a108542d375015bad8950f0be42f64c09eb54e39fdcea2efe61e2fdcffa740a71ecc94051c073c66e38e47f9f3161bc6b325123fe3c02ecfcd1d4b811569d95f1eebc7135fd7118cdda6bc24546b5d84622b796c289d7cfddf7d0f34705666b9263e6b9b8c070b28b6853c06fad4b8e538de222799b65f4efedd7d7435d3eb6aa30bc3827247374447ac92dcc59825b5b1e7c636f77db09411ca764366bf3db3bf39d1803034cf76cf59202e664f0cc0bfe03e67c83334196efc95d1f57385150212613147d149d4e6f4f994a544abd82f7eca54c8f8bce8bdff122079196014832547d1f50a9123ea130bc93a4c5ac43edcbfc4fa0f2804a31fb2061868f401e98f2b92a0d9cd2e260ac119fa06664b\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 657\nct = 185bdb913b9dee3ba4d6b27a945258beb43ae70909b6f5a2011256c1a743a6e2e14dad48a92ef6cbe1452306c5dbc77266590476febcce9eb6f64ec7e8d0f233749770275271e79c1980a247c0571dabf207b9d9afe8b6c3ad6f6c5b77c83f445cadbd77c043d5428acd6a55f6104c102240bfb9bd9e82d6db53547abc11537188ffce7d688b116527992f2501ae917f7aebbce1c402693c32ec29611afe7b6709667a65a6b38a6029a6ea884a7659353c29f49398de3c16e6d06e33d", + "d186b14e7e04660c7d864954efe5c9157f178b4b9af46f12bf5fb083bbefeab1fc97114d45f08ff8389e93945afdb56a13eb3a86c64a8b33ee46349289cae37cb4f0b9ddbc306464b7574dfcea969398e6d8720125aa72fa7513ce8cf11502444594012024345e3bc716639cc1814ed18d14eee2251d20464a43bd018a9243dfc8e1d122f1d84664bf1d7e2b63236c3991929fe20d44030d17be9990e11cebfd07836e7ba4e7fa960d88cbbd23859135d2e7359a85e99e1fbb8e97ec736bb9ededf2eaa94c3165c46cdb5e289fe4b243e8e25f3969a39b307840990eef3d8b0db5d515e65833fdd59cf83c152e06f9a066623cba2fbbe233541121295566c0f2ac6150fc0efd89e2cdf7b0972a5efb7302b078816279069ad2e89016cc82add02f9aaacbc26af2cb8494d333c6e33f29a9e237df6dfb5c8e5bd8868c3a66a02bce69e9b\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 658\nct = 7aa5fee8dd85b6fc0c75c86d72fe6c742ecb062a036bbd3796af044378669c2162f6f9c9470e1dc8edad8a41de37411b21c865c0d04a2a4a8cbae941258aecc1bc436e96ab7d66aa1b866e9b3018a56366eaefaf92a1af51d5a901900739eecf07f05748b76565e386efcc8a717f39cf0a163dbfd7b1b02d78f96c4688143a80ea589df83c78440f5c53a1a79fa7265f5e1c15cf8348b8b7abbfc1739a9fdc8a30e25c2081b44437935fdcd19682cff42627b223d796d1cd3437fb12aeb990bf5dee03ec6fe8f0634dc0545d0390facc7fea02b5609f0b37e4bc5f2a5e26868ac3042fac5589457b482bf1c144c239e2a96bd80a813e67d36b4e43cb89450289ab3fd7d377cdcaf9b40811ecc5aa3704086dce9a893d1b19d9f957dcfc283d0ff1a4bdd7f3351314bd5e10a22b2a469615feab35e9966e758c5c2742c35d42659533fbf50693dd1efccaf1787de3c7f66b8c0df90754ca851caf2341b9a7004a7eb8e34cf232a6bc0e993db274107d4d734bb996803a4b335e1ce32d0453450a6fa871430827fd49123849993f421084c60880e3b6e4d33771a1bb255535616544cf4c016c416cd8b9b92c3ed61214972e86a901560c1721fef866ea7044a2c89cc2cba85fb25df521daa90680fb52c2a0baeac9d5942c851fbf5f1e88d522e759aa342d15be1b72f9815c0debd081e9881fba247dd6858890fdedc8838e9448\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 659\n# Longest valid message size\nct = 2049694bab04b950f76d997385c150446040ae3373d4f868e852cbc4047ddf2648523a963df01a9a383e8a8a47a6abaf900de879414fe360d8eeb36e805ba2821d64a536c7e9f3c013d72cfef75038007cf546bc418d5e612d2ec9a41d9ff6807f8a2def511b09743b28514ec61139abe25a6087348d66f18b0a80a58f7fd91d019117c3b223057b8229f07d22c3af1f37b92c1c7fe8f27ed23729926bcd1f8470eb84da9b8991ed03ed9420b029eac8fdb6c76142150d1216a9d0622bea7d168c8019cedb9db6b984232a97385fbbba76ee260b8712f805f8e1e6fc966c9edbb4836137cf8519961f2ae1134867928ab4a517f6c4148500492e5a70cdc756df38f55b6b93ab81651e6edbd434cbd7f41245cddfa884b5e6ccae02cd19e1714ac3537966a113ea8cdf31b73ab55935af37a27420a6b0c8aaf225ed93e4250392b67cfe09300596836050ca95f16f1e2913eb3118faae6026571bba1803c0b133c5c39b6d8e9db60470b193760efb1d229ed1b5f867636f890c96dd16e454ff3bf75c54a1ace011d8c5d85a0ea3723bb3461369ceae212f0632b50f0dc0feedacfe701beea123f7c2ce22173a1fca90c2a861769ff9bc7bffc4d04d5e8107dcb4a1a49d9fb5dc3d806a0aefc1622935230a617009831f58adfdd08426ac70c688297b89452581b094a21beafbe33547f68812433b41227b87855b205aac11c970\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d1", + "4a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 660\nct = 3eefaa2866abcf66da876ceaa7dfe8c30a651c138a53a1b6ed8929bb2182eaee4fac3bb6eccb98c5242e1893e4626c53569417d2d82a316d7e5be9957cd701281f985dd6f2664b4dc306e3c34cdf923603a989a4ca7920b7ec12ad63d946a79b19d2226c2dfca94709bd5840a990bb04d5336143d45f82b94b6ef20d24576ce9f56432b2b4b77bdf07a79df1c31fa3188373c345b5b9cce348539ee8015fcc6bd5d10490748753f7936a149270804d86c115d782b5a7c678657aaad29253eba7c507a2f467cd3d64d32acfead8d5e3f778a6c8eb2ded2027338ee1b4aba0023eb5a49215565513f5560d8c86a077e4f694c4885ae42068a690d3a40880f4bc85f409eabed71eac947184517e6ff02e566040ad42fa89183a5c71fb4a105174b831c074919c14bc1dc2edf6cdaff168e3a1d92ab5a95cd70f471adfa686d2bbd55e6c2f18cfe5110a8f303c8bf04e316d6dbbdc0785fa411442b18e3f89e6cbec85ed3873a0d102b0e2c0f383e6121b2a364482e6e8b5394594d1c8e628d065dda6467290d62437e06930d9609407a63c1a017afafa45e22cb6124c650535f96fbc9d174d40490edb2540399dc32791750eee8aa20801192f9e13a95a91063492d5ff705d48c5f9b04c02f77ac746fdd43c126983c6fd11675de00d2e80e9b51cee1737a9b42fb98a78db7fb1653bcd81fe0805374c5bfe60c5c8f1e2f8d7c330\nlabel = \nmsg = \nresult = valid\n\n# tcId = 661\nct = 87e2df3412c092250d606f89ee6d74037cb89f6d4ed93b355c75bd5ffb735e10aba0e21c97312bca27c5dffc8a87a036592f6fda6e098f895960900e4d82198c9bf834357ac4f0853b6e4dcd46f2fb2919b9423780d4bd3d7c2e465d9cf37fbe9ec2b3bde9c2f91754eeafa1f32c42a819ce4d9ee459f0b754042631ffccc74f963c6574656ab75a49e5731e344a9bc13d0185ed5e30ef76a0f3be8b827cf1e6769630a1a79fcfb74355f5961b9caf221fa74a395b247670e17004efbcd0b0bf10cb7deae3e0caaf25bdd9d7921a76c033a52bef484a5d9f0990e7b22b6733faabcfb77b8145ca39e866cbc9d6d26eeac1e180580b4ad08d85983ab67646557401b4a51bc480a718594853cca6bb0b0ec091335dc1be47aa544b54b6bd3a13c81f027c0f402e713d17677a9f1a987e8aabcb80d148c743b051750d6154f08c82765657929083e0442624eebec2de3ae422c83ec9bdca26b6b983ffc3462ec7aea947183d3ec63bcbb1c3963a67df7d2637d25bf2fa7daafc77b1f081483dd24f5f49b844ced5035d24555e888a3a98dfe569109ef8887256cbb41b117a119ca01fcda4411e0d709223fcbe16074c1628396ac7ea2b2a598df75589b8763d6912e9cb83ef7882e519706fb0c8a83bdbab4973c9b9bcec1a181f0101cff35c70b817d471b2bcc930209e1220efcec3aa92f146e4353eb1ad445c5ab2db27664a21\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 662\nct = 8337dbbeade9d564c1cac9a2b264e17be309eb6731be4b34817c67a8fb9f04351861792a5cf7717d30294d619660e81a2d66d0ac01f5f7b8db546428d2c7fe1a09fec5c9f430372fd4bea8da7dd3bb59d2b768e4130c80afeccf6add1ef9957f7e00872e48cc25d5b77854e4387419ab8f37ab08b23812a21aebd563cf3411ccb61122ef4c42ec01a1ab49312e72779e2a0cfde3d11be03c2dff337ededa8291f88efe539a1c59e05ea82812eb460ce592ccbeaebb9ebc09c47bcbda24664c0d13ebe38e5df2a4fa74cd943ab0bcdcf2d16539471e2fb6c6c15aa63c877434cee87f173ec49a39d0f94e6ffcf1ca27f09670cdbae608e098eb8fe0cbfc1f1463ce69c6079430608a24068b6bdefc41b001499040c418cc481b7800f27388a0523cb2adff613c4a1338f580011ed530919a05d16f06e58547f278a44b5c17af92de864a55390aad2aecc64c21835fc0030e43e023761bc0204d0cf3ecf0de767a0d68412c3156aed69015d847e1863d080dc02161a44b804fee2528c92e10daf5e8995dbed3253cea5b4329aea1d93fa852f2a7b3b8c8453b92c9cbff57154d1ae17595a76eb1cd470b9b44dd7869eed66fa585a175cb88927a7993349ea1dbacc3992ca5f6c339b84d121338953826236d7d667ce839cc6ef0a10e188674c57c52b2847467de44d4a760033e237621da4aa34626da2665935e617efd787d46ad\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 663\nct = 60813de2d9fbe37d244269f9148719db91542060963d5bfc8480e6b764f7d8d938922023d6f682f7635179612a6672231000c4f61594cc70c8d6e33ed8bdc73880a384b306be6146deb10c450eff909f24501d75dc641b9a6663dfff391a79d9b568ff24010e389c893a31f9c5bfe0fc43df2d534062676afe49c6b4f5ce1a140ba5e5d54f25e9cecc7fd27cdb16532b239f0f8b64bcd0fb7c7dae23c0eff71d6d457b13f0b7dd873180625f5c07226194aff5ef88f93ab310fd553bf402585cecb6b2006ff69233a7f800470a8acc6d794dc5f83fd1ae5de70e806680bd1aca8786891bb41c05c6ffc3cbb2301aa1ce547fa3eb7e4caf14801e410c0083de2f2268b52ba3082fa2b09261930ea52b03b2c122675d2ff336c3ca904fa89760b870882ed9b43889c718111d425a4dec6a139a55425d754027c24dec34979f4e822d17313805cb34e4b1ca6c2d568580708db36b9dc905bc127a60c516c3a116d792e79e9df95e1a9ad89b3dc7ad10efaea65df4bfa586b34f510ab123c8399ec7f4bcc504a4a4ace088048b537f1b7ca6f7fe92e12f362c88fecd1d52bd94f538e21707a9ef79f64d59086bccd7efdd521de5220b8d96ea1961d8086e51fe5e862d21e6134b686c342174450a43be8ce2afcc1d0babb12de9097e5f7ed958e44283397d68830eae7d2d3b8ec06f80728ffb47fcd3389c048bf8f1dbefb6245d59\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 664\nct = 70e162fb90676162cfa0cb6a0c5f7ede61ad9be38ad7b748773e7fcae6f754f828455eea90af9d9da3a641c0255e284db43e2151772575abb8dfa2418c9b5063e043bcad0a4873b80d355af46de4076e929653b6d4efeb51e2b53de49bb79aec19e4ea66eb40925ff2e68a4191fe44830670dfbeaea7050f85cf8d041a68362149ebb03731a6de40aa6d20293c11e5e3b16cba89f9b00bd10dec215c1df2a40ef371dab52b5afbdbef3223fa2ad72780eb6c43e0e3696c6e4896da9973d662d7d2117efceaacc970618d58557cd624272aed7a051300ecb64b20a22eac0629aec05bd096a14ec5e1e0af98ef9b2fb8151151a277bc87e1c0248e260f7cc4af76816914a1ad9415288717a0031e533feff8564a455663abaa92c78c7d1bc9c7dbe3741e78c7bf841f4c1bb9414689ef8c56490b9815be74d2cf9a144761fa146aa173523623f1b415507653073eebca03251d08c898cde79f69fb6687d5cde30057fd812b91b451a6c9a19089e248944844e804e9df736d533753fda625a8ed1f171607763c45f3fb3ddb2f2b0b19e52d82c0b3bf215f15e1e9a565be36824ed20fe7fe2e98357aa1cb8a0bc858e538e0413a49d92f5b4db1d5eb2ab97e19b3baf4020b9fb3e768fa9b47c5e2b8c5f4c8e95a1c3d86586d1cbd1da08ef3efd373d3fc1b7027021c670bfcee40bb222c9e4de2744e3a075c5df6633a55f0e4ca19\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 665\nct = 47d49367afd7d7d5d863c54842c9e7cbef06da5b6062d23f3ddef0d3cbebf26b8c00652ad943721093a7b62a431a0b0d44692147480b42bc4df254a563df455e32cf531dd1cad95f81017d4151466ec12211ba0c147aa1ef1c3b08bf92bf", + "579322ade8ee3459b7c7485a9841bb146ce162e54c3636553a082852ee520666feb012c2f82e4b52996f9a158d33bdb4876b3b0b75a94bf6327bbc84369ab23e6fccb2fedaa4b796e427885a6ca44358f3023b13d76467fa32aed6657688dc53429bdf72668293876771b837a124cc1e9cb408b3523cde6edbb50ad15109de98a8685b6fc40cb866a95e240f109ba5ac9a73ffff65182a480f7381ca83dce95a6665df1f0b8995a0a763edbc23d407aab3dc7e70440d035d83b90236c564663c5d10b7e0f8547f820ca132e0281e81a3d5e449b87c9cad6cd7f6c4c0cf09194007e483f92e28fc6b429914bf52b6872a4f3f1d30c4b1ebe8a69369dda55abf5dbf4616697401ee6894e210f36a1233b45711ff1d8b8631fd3c3c2def1f98c6d2ce03f58f02c142744dd0f8b098dd13e8df29513d1318d0e3557b07fbcf7525da249eda2d5fec4514ce079618e690d2f897f219d94621d6c8db9eb49c1f455280b4909ceacef93f7db6207a8758d3c6757d7e5ff024bb221e538cddea5de45202d8e16187f7f1ba4cbcd157474ae635f8c23a3a40aeb122ee06ad63d297866951fcb8\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 666\nct = 001c6d7cd7c0bdf5ef44c20be4bb0cfa0b8d45e493805708058f773e130ccf8db1fe2a5195e1261220f60e8d50069930623e63e4b64cc150a27ef12fa3b4a80242c7abebd75175e986d2430e177d9fdaa913411a6abb238db27a6bca29ce052167843e6b3afa709f951f2ad2034999e25648637f36de9e65785e5fda4cc102302ee51c07d41ce9f1147f3d03e66f96b7a7d9cbddd7fa48fe1f58d646e8c5d0fce154ca29a657d69476f95ff87e6e08a717adce36fc1206e37a97f10c7c68dbc1db04e492309dd74979284922be380f0b132c840e199d07bad7875ecce1f13690991d8a02f508fa2802f05b04c3ff4517db41d57b591ae4517073d8394e6a236f11abb445faedae22ddcd4a9ecf57ec8c5d2367f4194c9e52dbcf5537579e3bb9c118924176c396ecfd15a9baf334094a862d60f7f93232a14fbc7032178c929f818d0b6c287ec8f6750e9176fa063d0d01756d68be9d7cedcd1b698151e560695254ac8b73cf998515fd015e3397f88e45d7363ff7318f2b707874ef9991d085e24514a95908583c25ae3e77d37ad3730b5b4ce45251a1b74113eaa280a2a8acb0267e4c66e2b0cd00ecbf08a3a0c52f250a0e79f3ff57291b69c0dc312be6a0f9949137cc4a0b4b0515e60c4eb885bb042983313b5ca06d9785b6730b117a3ebe437f6b6a121a1d8ee19c9053cd0ae75fe4c07bc53f7d0f7e1921f7ed497426\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 667\n# Longest valid message size\nct = 636af47ee23addc54a499139f543bab57f75209731af8269a8435079befc7c173c464a5e3d152f2448882fdca4e97810743afbdb1461fe006716b6a599527a9e935daf02b56b86556b3f1b91bd33e448424b0ae7c845ae243b12ee2783630d232c3457aa6bd5d619670caaa4d9fbf8423766fe3d8ab2a9f798376db425b5c49410f762301f8bddc3ccff10543e9061b64ecf0faa6b9c7b9e3ca77366157bff3da9a4e04b16ef0fb228975506b599b161a785d84f1a4dc5866912454c1325526aa65f8e1e809e0d64463dc403d90b4e3a6b6317e240cd48018d1b1ab8f267019cc8351c59abb42d46c52c3cd7af5e02ddb30aa7465d538a89a7885d5321b47a5d2c0d6ad8c4b706189b5b43f8f52d40b5602765a486e9a4b3bc26508682a2abd74181e89f7d5d0543792adcb182d33f711c71dc6136be53bb28d2b379db2c040e2de8eb145a0d625003d41b7ab3c21e0da9cd9a238953a78a581a9cffd0b4d27f9455689ae20c28e57a98cf97f9d6ff318cee49e8ef35d3c6ba2e326e6e2e9b4f717e9c80780ad841ff56829ac94697359c4181517664f0048d3cc3ebc2c4410ddc0572efff9fb4419353baee3d147905da514542a82a6b48095e74406a8d0400d682709adaa20371cd344698a79f6dfaf97f3e549bf9aa97827bbc5e6fcecbfc4be31c564eac2b189902014ea5484bfb58a19f1729c3f7091d26443a0cbc9722\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b78", + "4638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 668\nct = 72f9c395b81a4af46f0468258df470bfe7aede2fdfd240fce94d2353328210d17654dbe30314e4924927ad2da94d10938ab584cc46e648264829130668dfa1e3b1d71498928c54e8362a29ca82bb3ad90fa5e0ab1cb89276f390b3798f744a13dec07fff208c752c0f9ab25604ce07f60bfaa02e92d6e197c24935be533f5fc25f4b2d902b3dbbb33306cdce41745ae35f8d0ae2ce2cb69c5bd46d97052135034be4858490c0627748d6f84900b7ca0ef65c00f760dc2309818fe693a9311442e1808b3dd1f5587f1fed37573c986dea9582cf39798416f8e82855de2156f94e558e7e3d7a9ffa2419bde4cd3c301929de13b5d94fecf3a2450f0bd25c9f5d91015bbf9cacbb0abec15842dd0bf3fed164f09d976d771dbb5c475fdff53edfdc640229de9b0361068fe9e3d41e0a49d7f7afa42abb3ecd1f97197ddb6695fe6187ea4f5913f6ef16f56fdce309c6e3a0480697c18e85d8ae24558d4390764d3bb905370e31ec792cc7c30a859d2fd1a730f98d9b36ed27dde6958c3e67d7957f3b789b67c32e67860bdea494bc8a19c6dae84ef06eaaaa769b4ccb3f1775cc19a254f9f26d55a462fbafadb63a037b46aafa8fe0b5717bbeb5a603f033947c39ace683f693cbdf556df91c512a76b550424c3cd00bd2aacc6e4805d0f56efe6b30f677d9ba3708eabaa6dbb7b29802260353d4347e84de2b47c8281cf3c454ab\nlabel = \nmsg = \nresult = valid\n\n# tcId = 669\nct = 1409a80555216564dadc10e60e9116e55909c585a06907874bc22a358dee5c84b1db6a0ad0246e9fb61667ea9db8b53b241d141785994fd0853ef2cc9e8507a78d52467b4b5ae1b2ef74d71a43a28903fb82e4836c1759496a26668d5b794d314d967f971834bc0bd4dc4ef698be86d16b06f1d7d8e4743e0d914e4a26ecabd9c66ff769718e7c3100db55b6203a38ac57a10c681740bcca0f8f6e48ae393291f56244dfa89e2e12837ea59b5e958f1c3cf3fcc136c7a6cb829e3f2e4948c4e0358a2c3e7945c74011a2894fadec2f72041aa3d56b435b43741094a3ee788a38a7d9269d141043e8da77f27d5b3d2e764c8b959c9a0dac70d54baa4430bea29789949b81f4904ab70efe6ec7515968fde05ccf18548b9e3ffe253daa5b89aafa670bb2139321a7f917c7db3076d4311fbdb75b651b2f0dc03551e5cf432fd4cf6fd5919ed2d178fca69b81bab2a9f9938eae7da178367d88fb553837893f9f557f6b5e6456109dfa885f955359e39650ac429f6c3c83837d88ace4492773ac7fa1f8b30e1b4f1adb24e79d0473b3bf911106a9897f8a4483c8d7fec11d17a71cf42def8f5b23a20771e8f9096fc14b577c91fd786889c6bfd3f1003c02c596d5f1bb06d21e5926f5910ac1a3041b2c2d70e2f53657fda11db5c2d8f33ef7f837915e37088a0e927293bb9aa5734ac67a7411b93a289e29a7ec71298d23d99e35\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 670\nct = 288f827b60bb796d21438437f07a596b29535df7564587bb68e9dcdc5ee3c1fc52b764d079789d3aaae5a1dfb0fc62b062e9aaaaaeebea7b4204a8f689b0b8d7fd9e627897551cc1f95aa86988db8cdd291e36207710a9094747c75a745db37ca70d2f033773171f1851671d8991cf67738f37a0ac0394a94fae9d45a67e82438349f64ecffbf21ae8e6b8bd6a7086118e8769ff077cd531fd801eebd21b31f56ed3c0a6be17a84bcd3a2147b3695fdd4bbb4733498526cb015870b5a557c02f5a27bd4d8b6e99b96be04fa0e41b394312a50a57552280541abf326323caea7fa66ce0db8b9915e0cdd24a4fd297d7aad701ba901455d599ab1a10e565588b1aaae48211aae5443d3bf58c9154252909f3ff3cc055287c1f5b6bc6df42dc5f0e1aa3ea4b30a042aa8ed08f95ab198cd36754372d4645a55057872c5455cbf9890b86a49acc811c699fb4b923eae922ed2123d4579db8cf2f010be4365bec70c05d714b2dc2885409287af37227e408bd7bd19edad54095d9afb4d097eedebf61a736044b1ca2116345047b9e91c0d114e2968f55cf4acee5c84e4829c792e6f1e0376f06973a0926ed4803889fa32359c74c91139e7190a9b441191880cf3e37cfbbaea6aaca8b92cdef3b64bf921ad31d3e046192c2269825b250db700ddcbf52afb996c419ea5df2547f7f5b1c0ffd31eaa2fdee7c0fb20f1ec3f033576866\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 671\nct = 6ad87e4e17ee4db21a7ab577baae802271d0e7d6bb52c7d72b70de7a4a219acfb56e8ef0736ced3e0d8b3a81261a158ed9dc66eca9e3ccb50d8101ee63878344bb0c206f1e73a11da0849e9a06ff3dd747b4645ee68b9abd6729dccfa68ebae2710d0541677f2f993ae378f6620466b5b9ed6fbcece8abb0e716113db2110b21d187e25395eed3cf21c22678077c1782d51c323f5464bb8fe894ce5e817bd02790c275f38c3df75d6438a368ad732d6264438c85586aa53b2f11d1efd8e8f5b01fa1eb2fb8fb3cc101ac2948a87ac169523b396d4d7315b83b94a9a4100a246da93b79e4746ee925bd75f494d4395750a884135e4d7083ffd27212b9620abd7d86d123ed63d227fb7f2011e09519f9edf3bef33a0cdb6d917fe0fef63cdf60541f7217c8e6d6b8a1b4452a15bc8e9105603e8e97a2f51acf6f7e1fe69fd6170eb2559b0c4ef58ad853aeb9b3e27aa201348fa1b05520e71e5ad11056103c34a2138340c85ee28bc1b4bb076a5499a997d1c0ea0bc3d9d94594d83b78ef05110a84e0661c29479b2d144cf0aea9d16b2ca81f4c66da583c377a0e6c8debfc4f7c71330edec56a80288ebb5d832b6a2a54748747a680bc159f048cbf89fca103afd7d6aaf9f7b611d00f66f13eb6bbab7b975122abdc3a6f2ff47e34c9c8d6c176cbc367389d5c522ac072e99168eca6740cb41f6d82317a9d57c76e652266e1c4\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 672\nct = 01f60abea9d04c289454ef3f3b66db37c7a6e437291aea09f16563e55e5bdee404f39965f5dc53fc4be78349e52e905fcfec53734d560be9f948c32fa1b699e09469730ba81fe62f9e288403baa62ed56e166e8183a84d7a14a348975c2c3de6751b0945f4dca2c963b240cf52ff2f52dea31f4e51f0f69101160dfb36deb8e81d698ede6972f65f0a5d954b78afc672fe473631a0ba6458c759ca29323bf439cf76ba3bb7e80b18c5175481fb69b1323f05e9d3d8cebb5164a7c20cf32297f12b218cfd774af00827667b5c18afd1a6a14db7bc8811041574642bccec09f7042e991bd1b7f4105045271006b0746fc989c73ab2e29d427bf8e44818b12508ce026146f8a10be9148e7a681be7e32c31f0584b84ed8f849561789f7e2f13dad4694d1bfa1b9ef338845fcea55a8cbd59d3fa73c8f53a9fa278de52166f8278b90c80f5a1499970a22207e75bc291c141c9ef9dc65ce95e8aded9992cffcba4e50b472db98df8a5dd834148e7fcb887630aed8b9faf680764891141032c23910ab01edb234fc7b066c674202507069ed468ba5596d620ee2a1a63cfdb99b56e2e1966a97b23c64b16a13019cbcc2ffd1af817e6b8173794003c373c0f58525e79035f9b6668d63e0f4b4a2ca22224e1684f45ae025fdcf92d3c1200cf308df70ad0d7108a7183e268b21f8c4b15f27251f4d7d97d9ebbaba37fe31ad0a2b8994b\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 673\nct =", + " 03945bd95e6776ffa207c3a0e99be072fadda10f40e9524a5e728870ced8f36d652d9e80c8a9462c2edf6ae3bdaf279eed477b14674c43eeb44643fd4162ed86671a7328e715484912afcadb2e9856d09254c0c1a42dddf9b7163440061141aba8ae960115b61da719cc150766d8b67fac6cf68968c507677cff6359737e0006843f9e57174a29cfa5aed0074bc0760a959429dff9f5e0f4dd9d8f2d18e35a43506edbb58e214519e1366defb07114118bdbaa4a1fac20dafef6c074cba8ce3f4f99a7c657ff775dfb7c5ffd8075f477909664865fd572a4196f6c379c5a106b2c8d3c593dec3a92027d71ffbe85c87d18dcf82369037c3883a91cc3c21000b96bcf5bc18bbff9bf7e781daea563f5f4b8f5de9ca2f1428bb287a6bbbe59dfbb94d032637ea639d6ad8102a754acfcb67bc49452347c52bee4a6926364f8afc2cae408c176c1d61612e407dbb176c7b6d548b905536038744ca3daf41b2fa685d86588fc6bf8a35e66c8738948e99b5533eecc7939d3741628b6c71184827f1aacc1ff27c94fc969b50f6dc95e025b730f16cf324f38ecfcb3fcb5f686c770989921eea9230d9af4b39643bdfd7f4eb1158f59d88458ad5ca4f8698f320299d70ee734dbb18feeb1fc6794488724913005e689813933c5581d47c37696363c040b04f3ee24b4f0f2068eab8ba438c8368687cd5b5e355020d2e79016c2346191\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 674\nct = 1da0140b138c41a2abfa793a2c4542976002def3b47e5a982547cf296025acbd4bc4014c4761c8bd07863366b95a18f35900595b1b6629cacd87f37f9b1d41661e691c050e4c70383446de589bb955ae228cf75e36de69f13bbc586c092bdbbb2c1bf5b88fc0969fffb1bf3b7c301004d95e1a4c6e5d250e2d747dfec5fb5f2bd0cfff90974d88d14877963b54ff39d37ad03ff02200c116bc0ed9ca70a0d4899081b3f7cc935b0e1dd8bd64236f98bf8fccdd6a97398985178915d858660b3baee2729a9b32318fba4f189b3e5cbd1f75cebb95777fc224bfa7474853d3f3196b96622addf81aee6d7c60009abff7e6a96543268a0e6814f5ffb2da0469c9905f559472eecfcd9965ab9e73e7324a65479604b5639e786b8292f3f241aca256e76e72c6fcff32391d35fd5577a4333d2cdd9acec0ba819e668ed7c14cd68af58b3286644fa9c9b41f463e1834071ed1cee3cd4f5563f346dbbc72baaedc3efd03a82f7041fb7a19e3a05a366fee2d0388acd77fac53eb8faea750622ec3476170edb18a70c7ff1e21e0b6c4b3b5f594d628b13c74d7b34b6f2ac97b618556054fec51495a9c6ed2c9cd2f4f039752eaf99017bb87b866eb79a16600af8b2b856f4a84707977de1f22fd9e4b935c589c184540a8447611b05dade585e8cf087bbdcc7cb839797242742c56690d6c0bd3f2b2d9506da9068d1b3938baa9bc9505\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 675\n# Longest valid message size\nct = 2d9e2e0f335d0a934edf49cb7b0bdb6f9537043e2978da6ba35712dad251eb923807120d7572a0511efcf74cd57537e3763106964ea51d8a4e738c6f826cf1426d742c60fcb1995cc13f52e70ef71901d69a27b86a8cca59a053f0b81e7727501a3b4672f476e9272744cf9d4937ae6d0a3ecdc56d9b06de2c705af829fb2d34f1d5bec34152b4320d166e81290974412ba72c42d80dd253d22d2f989317a25389be873bf451ed313673d7e6202ce2e289cba18e5f8810beef42d5e848cb62410400c1dd55af42e4560a0d8069be91e1c041b057327440c1227d3ae6f7579872e9dce78d406487be551690941053bda1acedd04289c86a7d274b3582ff25121f1ec47185d490347a6bc1f310407f4e2f4917e1c16aca53a9287f706a02e8f3750cb61b112b9c808e7643cd4ec1b7b8b9d7502eab1f8b2da0f9a7e938769d7c6aa44ef8669b2529fd81f5a0ccc28eace3919bea63308e1d937e50aec88f876028dfdd50e81c673bd86ca6ac0af0d8e49c070decf1693a5ee0b81c85b5d7c90253afe5faaf6ae4cb7ec00f324d2de7b82305b4cd1aef17c65da50d9b1321fda32257e31895d41d0aa2882e9a395d241a165be114a2fa2e63364c4ffe54cb90362edf3d3a95586ca5f276b82f8921169a156d995603be8ad07fed7164a4196bed02fb92f9b66a06e2d12b86f2bd11522e4bfd39e1d253e80740d0d08db4824d18b4\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad6", + "7b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 676\nct = 16d70235da265f11572b6920c51add3150b5b967a2d2f81f48ad1bf3b1016a8d782549ba423be782975fe8188f0c245cc227142ae8386a908c2fbb362b768ca3d061f2feca562cbc9151e19ab92c9ce882a23af213e3c2bfbf56aeaa012a3d62bbd3b10a3b8bc2db2b0b5cf16ef51e63b443fe754248ba0d08a4fca9ed3c4af3805e35a0ec200dcf7c4f45b5631c80459084f747ca1499593a4f91b65e657ba64a05275dafe7377aac480f455e5fd6850c1bbd0051e4f0edc3657c2b8ee0bc80e520aaaa1a04ed85c248c56e53094f59b1d6f7f8c93d8049752e23b43adae692bbb5cf90ba2406a38b1499bc43c1d0c28333d1e05d0d90f9f9cb9edf46380aa72fca7274c6e5c3f0f7385e843f08121b7f32b39860cee1b2101c66290ac75b06b629175d3e912d4ad61f3a78459ce1c7c2a0d76809857e21f0f533e66d449c7d082b4477ce9de11e24f2df28ec4bb16e3161c99e79c71c263b301e88757dc3b9284ca5ffc0a8bfb36779f5c7ebea3e976526f06348bc42b1bb45d81ea9e1634cb9a37d3a74c18815d43bd98329c1a26ba218f1f40d59dac6875eaa6113c06e33723a4212f88fd29005682991620cdcc6b7facd76d32ad596c67d13140251b8448cf0dd86221b7d9b915f2bd240280e4527eeb3bc06de860d96268c84540571f9d43b419da30a31287c023928525d4d864c48f01ed27512fb05af8cd09db9bec4\nlabel = \nmsg = \nresult = valid\n\n# tcId = 677\nct = 31f8d0897b03b81bdda56c5f65fb3cec2869e9b4c41cb7cd725c245a6d12f400e17230423138c1fe3e0425f2d003674a34cf5725f4bcd39e6827878c554e706e34695b2f06135bc3c7f8c0de7b81eae807437851bc68d065d2c9881b867635ff90da69733a9a9aa5dd11c474c67435f4120674b9d4acdf22ee8fe52efe2f9f3f9ff54bbd92ab91386dc1493b97c40936749dbf28aa599d9c4c144ec0f8d7421e0676f02754019b3ea35cc4b7301a89780ccf4279b4b618f4d21790b185a6683f9c73d843c94bc2cb9e2e07a77e7453e4c3ea78126da80cada3c099f71d35c7d6080c3aa1c9383071913d4fc4600ba15340c1204549bb2d1d984c8daaab089bbb93fdd620c201caa7888d8ca1bd9447ecdb75c576fffb5290262a924ee47edb767a37488c6e3a99daa2652e700da27b0d53793295f69f61004a9c51db6734f31733c850e0e8aa874d2e966ea2be8a0105d6980897725ca4126390238ecf5fcc650ec09e0459c3ae6066b3afefecc109b1846957db831df62dd438f84c37c5bf546abcb88aa36287ef5d2de3a4113e40b9bcf233b53d086d9ae2ccd24757d31716fcfc00f57547f4ff30dfb6f3b7acde46e10e1ba14bfb64d35a99df9c6fe1a3dbc4bfdd0673f33d378ec57847a331f962e6fa1d2d9ae1cf1faae93193b35652055ebc4c6d5d12134e3c9b916d8376b7cb2ade958f967c900adb0e9ec66892c3cf\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 678\nct = 67e1c0b31888198e1a6d2ecc2b9b0cec8a3ee970b964b7a4e747b399a31cfb373996ff3096d42a61f4e7e4954c312eaddd4822c9be5256b6d296f29cf222fdd8345adcc367362458dae9cf34771d107cad8634b1da4018621b6d1a02011bb3af2e9c3309dc0a456bcb9ff56dd72533a59bb9b087b15626e6acac6e41d33eb0a367cff83371bab6666eeaa7c9b6e47879b9ab85f34c2d8bf650da424a267f152240f0acd3ae2641c6ea60ae66d5a038ff4f1cb29bd3812e47987e6edc7ff1117b23cca76a664daab149b2f4c876cb54258411e95993c681de95c7397e41711e2ab74e6514acf81c6fb5beb93b64522606eae18569dc5c7eab91b1d464836ee6f350b8b8ce6cc340cd43879e36c3365efaa760a917a9fe4aaf55b7c56383f72fc5ec93db1c4741fd1510cdd04d7da1dc92a0f0e8d38555e69a28d5125c3140c5ee39a02ff010b8cfc4384da6ad6a939fa1840c17d6bb7aee60e348a59cf6e019bf44971bf143ecc77ca7a717b1e937a2072c79da045a4af190b86db8e8ace8c2ab700131d5d37698a9c60e0abaa124dee5c0488374acfbdb0a6e5534d5f264e604dd51aff8d52e894bbe7b9b7b64707f59e79fab6dd6b0d8133186d8acc5e54fa0578d66b58638f8a41ced9faf1c18f8e98f2e5e5c7f642d1139ead2a3b3f83a035674c41b10756ea86d598387e5bc2ef87b2ef9a4626a53495458a5924d2e3545\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 679\nct = 12313a08571110030b92dbff86e45a6486167ee04157a8d8a7eb1dab83aea8ea98f4b7c154213ede1c28b26ac728b6bc1fdc9de220e107cc42afb9962ccac9391129e4030b10eb68193249ee9db26c8a6df9b8993bbf78903076ce6b5d44ac2a65fcfb84a1d0f118a10c08686b7ce222cc40c3d43efac672f91f2474ada412d2786ad725dd7bcc12b80a5b03bd2bdb6e321a280ffdb3906ed91511f1ba91d78350fa41b700f10fb856a3fa10645a10a06e8333de8ed374b2f70fdc88a03d1fd11dfcefe62715069cfbf1986a0ffb25e8400b2d0a0ef01202ec2b3b3a53407ee38b7583206d17162d1cbb6b8b8b1e4d928d86704a85bad5eca37812c14e5c2ec44b477a9ca1e8f5080ac4e9e2a7f0b5d5f81d8d6c50c3303e5ff93129db13f9cf7d5a76928f0b823e862db17fd5d3192741c8b3497feff48a258d1bdbb6fb2af22165205be953bb5cdd49fda74e22b29bec0bcc64399ace870f5135b56405eeb447b8b9e973e5a989c326c40547784f0e41c61a7649f03058ca47a7eba14149700fd9c43545b20dc1785ea5f6f78b607a0aacca649819095e633d2f179a570dd1cd5208a4f634aacaa9c92b0d044887ee68becc191f384a033712c01dcd7ce3e7292c8fff38f5831da50ad4b12e8e0052c9a4635ab55fa65329ad3397393852c561bf631d109ac7c73be24e363febc900c9d459a5a25d8c0e5e5970d9d6499014\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 680\nct = 62d81bb17b622e1f1af3f76a6c67b7fc23e3766f6dac259699189b3a0d730688e5702249161d3a1fc7767ee46f3163d5f839dd86785248c081a3a59094fbf5eb7f90d65493329e416c365aecdafcece474cbbc2ba237aa683405fd0fddfd6c23cf193dba21b0cfcfd832d284d1e123d722b1bedcab390f50b849d363cce502e7abb0ff9b0ad1e00bd977c4f5f7d8cbdb7c882f87988c2c38a036739b25a6d495432a18341c70c708ddab161daae7f841d22e9d098a26436105507520c16c3ac6e4e2659dbd91408e09d0d742e87d907df92f77144167105edacf8b65b94c861c5817f4d76ad5b74071c55f8a62321e4531b99baaef5dc534dc1ca8d6dd25aa535bdfd36b4900c6270dd2af4b5f8723af71a6a7cbfa30a6090335a1dd49de2b21685122dd081c82a8a74b9491f366956b4e97ce0bfa6604ee664e332edbf37a7d22c72f089279b3b0afaa0eb4d9a31e57b9dde4635b892b5ced78aee5dbe9a85a84a609896661e409080e510fe6b985bcc53e566e3e7bb36db492bc78cc41bb06a492e529661bbb2d3c3d0939c8f43ecc25cc4260498a96c79b415dd50daef0d04b34082c41a9a8faf81ab3ed446b8db401867124307e26b7e4b55d50b9509", + "a3a2b2ac801fbe690213daf2f7c57613fc69975eb0087330ecbc23ffa32e26e9aa167981dd35a5e08d6b0cbf42b6d3fa6cd56ee8abc6ce2a428bb2b65f9c551dc3a\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 681\nct = 9a1ca1958bb15ca4bfab45bbe89b6fb6e82d6aee3132574382f4d86742029c9d8861d81c9111b8d90fda52fcd540d0c6006774580e03675a58550b711a39a4efdf126734bc30754ec9b9197374d299045c0b7fb5edd3bee5d9d7a80b782faec03798658245349ac59314d7b491586ff4bc7f60569181e38cf92b3e25d6d9609e995b58d5c1b2291b0c5768cb59b9fefb2724f10c00f9361cc21c0f929072707485cafb73cedad8d008ecd93362878bf9f7bb9016528fb289a8a218940552ec1d5585928693eb28811241fbb1fc81719ab4e15e52b7917e9be6ba599408fb0abc30cb8cc4a5cf3b08879181610fb912cef7b2f5ecb508721f91f1d7c4789d86f8a98079c00d772bc1d61545e29a744fcdc9230ef7b6a9321e680149915c161fbd87e534b463af718642c4d69a847aa59f501cf74638d797d69d96141736cf9443a6d7f221077ce9739fea0b303779a52ef4121f647dbac165f1fdcf81a5cedbf1f5f6bc0128f81010e9fed2e2a4ce6428f7f6420706ebec77a61d209901b13c19a7478d77d34023652a97d57f4b3dd74d9396887e51f646be946f1d02a3ad476be73765fb1be2197c7aae409f48698860232e6eafc1c8b11627ad8a3cf2b781816cc023a4993c1c7d92f47daad268017c8208306363ef936cf395dde0fd8b83684f6e708f60140ea440a2984e464f268981f1134a60a361f6e97ba96213f56278\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 682\nct = 5d6dba9c231292da8ad369b72f5f5f133fb29f36717eddd6eb7ecff23aa91bbe8fb1adaae958fb2fd7ba7f4f696e89d9ba167a478bc3387fa517b2731b3b9fbfb5c3c24eabfbc35cb20facb5c3fe7375ad88c7be3bc3341851c798c143562afeb184c4fc8a94176b3fb7fb54974926e04634c9f6935d801a3c0379ae3c22da207e4ee961428c44efd173055c4a110821ef7c45baf2b4eadb9b3f6cca7ef9bae907823a1fa544946ec88c85b58c1510d576d133be48d42648785d421181adf1011a6d0b394092888c3e9deec4765fd9613c9e43d74e0248f264b1c5553b69686401132159982646d89a7de509405e525fd9cc47741a9da902b8ee0d33b3270f2872e2c462fea15ddafa334952b92cd6de2a8bdb9c4e56a75d15aaf0cd8efe06b6ff6ee556905481fd51721a639a1379fbe1c5c63ac7cf34d4f8a1c30de056dbbf2b3d7c5d05565ba63a467b22bd5dd0b51ba37e01e15d276d939aafe1d361ef5a283e329da8dec47aa6c1c4ff20431e60ac438dfac058400d91917c8b5c26b3fe89d0a9f2d334e2f3390973488f17f5fa7186cab01a81f83225a7360d5a49b022489170b967e2157d5818a842235b169c35d543f3ba0204b146176a6e4bfd9190eac3ce2139a00d38dc9b73c275af0d2d62628dc53cb4abf9fc6a1832672afdee78e4febfb984f99a9b41025c423b2976f3cf25d7a80dceaeea97baac292a1273\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 683\n# Longest valid message size\nct = 74eac3f1ba5dc4f12ac684fa67a08f03b92bad4f5544cc6785e1f63e674f0408b73d60273cd1da694b24d758eb3761c60bb67016bd3104cb57cf66b9eb02b8011a2e7d534080ea6f45962d7e5fa17a7c2f4d404788f8e9a6c616bb4e4d3e2b0683292c1ad3e92611464eeb54d0eda84b1be39e0015bcc9ada9776cdb4ed6144d3b73ce13d1ac57f37c7196a3deb4585ea726b605a7ceaacef3a5766eb1a6efcd947c7bf61752814ab29574ba318accf79cc4acea3910ad126a77e262fdc080639b49bdc3346b808ba9a55d4394391a0f3e57a24604fe10c18a50028bf59cacb148256b2f3a9abf007c01bdc34d05ed1c2db75e6efa1a291f395e365c4c0de871660abec20a2fd157d4b7ab23dc3e188f8519dcd223a6f9a0b6da31a18f2bb42af0c9581ab8377d51d9c0add8f8d8794d94d48eb9f6af10b8ec857ae1ab62016e59674bca0171d075aec434cc6cdba9f15c8fa063ed43fe6eb7b286e3e4627476998599ccee0c2beae0fb7fe5f519df362f08edc5546ec203f743a143ae694ed5ae4a626d5dfbd102c84d67c70f17feeb4944a9149c3c71a0f38fce13c7ca453343c881939dec66a50449a33d7e2898835365048294aa56a70482d1ccd6f1be3d705c3e405ec54f3883c8d0bc8b620d7939e701f2a20e31705ac6962ccdd578c57d37cc409709203b574776049dadafed648456fd400ae75dd78a5116f48f27c3\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af80233", + "36ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 684\nct = 2c23a1107bf550ec14f800d145160869ecbfe56608374076bc9443b826633ed8143e91faf6b9573a7b22dd92b0fdcddeaec49334e2621c141a25a1c99e706a8a8f424648eb226ebb89d3ef26cf19ec1f0393cecb50965162180b38c33bddc3c2de7f7031e3be75700341bc661934d52b812123e23c093f4801622ab624f9ba787a08e812bfdef455c0f3b76c98717985745d72e8a42b47209961c310ca0c71a730b66cdec6fd961576b26db964028681cf9d00faf17fa995fb20718062b45adaf16bf9a7b9719c54d6053343046a60b6a1455022c4ca66db2d4332018c90aef70ea07ad27be55293766e8197c520ba97e17df0b4237d124ebe985fe1c77a9ebb7283d8c866bf8b9caa8c93bf84fccfbe4a8973b391c8909e2b3266fa9ae51e47d251a381010a392a6c98ea4ee7f0d0a51d6c25e4224de757a769638518012b715f3cb0a95adb62aa2dc3f032c8cc798df09aac08dd81691fa9a2952019fd78797d71b6f5f3aa9f10ed6d77f8e2347241d2720d3b7521d069e6656a01f773d2181f711b0fb483f0abb765a410b4abccaf31537d9b6255c35ba451f2a1a8acd23a1f159b2ac0853e5d212b4467b6a70a5a1b901d446a16e24b3ca5c007a63afec09e215594304ed397c2838000daecf76ebd88c2ce4369c5ab101b4bd98c76c74a8e3f6af66f250d39467b09fa78d950ad537de06b5f3e18aaaee0f06d95cf9938\nlabel = \nmsg = \nresult = valid\n\n# tcId = 685\nct = 1af938f2b9309ca2288b712124625005e3c014986f38084c79e95c1b9d64cf4d696be68e78c70a271621285b60ddbede63e83bb43aa525ffca6e58a8f8aa59d283632ec98dfe095a8f808e0a1548d838315560f3acd14d7bb70bd37a6057f4954d1831cbbb2376321f6e1c0c7f12bc5d30ad08a6fb0aa91cdd0769d4b606735c9d62e4ac4367b417042ce222ad511a69777215c7e2886ced7ace9f3ddc577dd285dc8333628756fca61d08683d4238886453dd3dda98ffed0321566b7237791feaa0e2d45031a7cead6a904cb48a70799b9edaced3bceb716a562d718dc47dc10cf8ffe50ce923eb87e5d2fb921d3c1d463fea94af5bfc153310f9e415b55eee2b279abb2faba8a575e7d901aa50b3ca2a54cd364726d5d1cf1d75128da21452bb016705ada6c8cea7824167f6238f3c8d521afad7f51b98b19a1e9d9fb5b72fd9aaba5d68c01b4b3ee031b9e779775a2423d528a6fcd2df388e8c1c40fb376aa9475070e170096df762a231263d12babd083049e7ad8af2d2bda39eaab2a2f0149579b4bf5a5fdc71f5763899d7ec95bf6bc17824005288a21c8ded9515a704e269516f04641c5f05b298205ad2d0ff563906a341958a5942d7bfdb9dd435b19570580252eef2d88d7a34230a477e43c0321eba12807a5e108aa22ace9c0e069b427abcef5b80a37cc13420275af91c65b07c78d60092fa265a5b4c9f91abd5\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 686\nct = 46c30c4443e086ee45bc6e5de367e53aab413e8258fb5cc6bd5fc89cc806d422eda6484c5bfc0eb9d9929edc8611b67cc2a4c633195cfa576faf7b53a3a4b9aff624d10d74ae4842ef29ae2ef286ed55b277a3dce85e387a2875b20b9fdbcb6e5ab73a81cc341a5a011df3da43e4bf091cea809bbe2dc2dcb881ef1741e11907156595f8d973a63489da76939bb415113e75ed3c0d3ac2b495277316d238c87fb8ef7d76eb8904d6d955a5c1783bb7466fc039f37ca4cfa62f064f887d4b94230213e67e1a2da3bef28d9c77953e9da6c262e5beaee7a671b5a3b68bef676dfd79704ce7fd0cfbee507e98c22dd2d3cf1b3a0596d252659941118011d8f48d731d600d84135497eb9f089fe5a8e1d0f13393f12135a5b530c042ad5c0a2c2ccfe5af79af9cee956b7cf1dbde6560505bf7943bf1c5aae284598a85d1a920f07d09fb1eb8ba12b19b8aafc51ae6f1edf14656933c5401fd07f92614632b8b964f3a4d998f6a1c544e497196bdcf05f461ad6250978c0c5ea35fffca654c289e976f4334f5a70508f28b0b6890e81e477e17016c0ef79762cc0b3921635bfb999f782d7c4f1d6fe6130c905511d009d5d06c48bd81bfead3979321e77b9ac35ee3f3736579e73f2a1ece7a52bcf075531c9f3e94e9befaa1266c309030b554de74cc77ace4ea72459d683cadeceb834c84d4b4be67cb966241e733d8444ba60b15\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 687\nct = 6e681d931d155b05370a42287b8d11e464c61860f7894b0aa8fc93cb433edb75fe76700a0b3ca49ecc9295e7ba83091b1d67fa3bdc75a8fea3877ffcc511f7feae5a517fc0effa7821409df074e25748991b59da43187609cf163cf48df9c62125dfb8bff700818712b2e4e879f5a8b41a7d557c025a5f09349d522472a662d4378aaf0a7efc3a76e3d82c66adb5ad3e6f3d0b1b6649ea42a9c71f05850a76b42c08102606d12c705a81d24ef4b896c9a7b010a7282d4c15306bde24807b79d3ee2cd92ca5e890c751f78f2542a0529113ab6aaa9c308bdc359e7dc51f66977f0ec93462217717c67cb61f6ea3e475e3b9731fb316c23e157d12018ed0e0af811b744f14f3d2387e6aa7e73a5152cad8c430d3417d5a0411f5ea5ee006deedd34630121540121a77aa82d8b3ed75191073352996e9fee8a8cdf27df51c6a9766ce411b88f9fcaf922021b850f1838091cde3a057c0f657b639660566d2ce9033179c5fec69450c59e7703e5ccd09691cbb1e9c984770dca61a7db778444ac814cd6ecc8900f97b89512464403eb6826f5467774ba4629d5cfc8bb8847dc0016989c3fd704c784ecc3f43c3d4ec662a85cbd9db4970e7a300422aa6e7fd3bcd49d9a4ac4f3d87683627d8b0f1e80db8aa855f3c8c909c8b28a55d1f7ab12aa6223f1ee90807c2ce3703217ad398c288fca1eb9fbe70cfcd91f036e3898287988b\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 688\nct = d283a74814fd1f73e7bc186e64d14386ece726f8575669a696c0c2d4005dd27db921fbbea58c5e6ed374091a2e8f41a45d807e937c0d22d8c14e3939009acbfcf07746053781bb1fa45b39b98d2849d8d9054c6c0ff3fec7d85ad0e9b8235749c32be5e279c7499d3a694900921beabeff358513e505cd9053362f9b945e1aeea7176705176d9b4afeb0d6145ea30a1496bc019517aebb33ae57cccdd7b8aced4be5c14e840db076b23bd5a57acebf0c84209fd1fce2b3ea85960f443efe337b80bedf19029c5fedfb4b22e31572648058e26653df03937b9fe2461fac749be805aa1c447f16ed92defad3d3f2ddb7834dff07c5abd8ad62becabb2e33ccc55318fd140a12ca9153884e3947ba3539ac0f27920fec712711b8804c351121b0fd91683a6f2c29cccc41eb5aaf334defc72bcedaf34934cc1c10939ec47553ef928839ca9dea5e07f488e00ebb53103ce2f263b09365155efd1165d25868b2868399010d9cfaec627f5f794575cd0e45e5a657e2b0f58b25f083b70a41", + "20f69fac4d0989b67409e50d849199672e3597131d979e691f9846d391b557d2e3a22415f9aa55e0c0123be2284e392cd104fb586544140e32e21dc284a6935d94afc3177df7a0105f09d12f39dbd0908e364729c4e68c994a35e9b91f0eef484449d0494e530908e41c7c21f770601ea67060b0c30d332ead4cafb615d4b1b416c5c3b2\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 689\nct = 1b838e0fdb3595217d0a542c282417786b8ea7e2b615221343ba156f1a17a69657ec3e6e2cdc1a69d838768f73b6af979b2143823bf762e5c049fdcbd7b29b8b8878be5fb6852a56c1272a4c8fc1e5f438dd05b2ee7d37728ed196fd66b66f875cdaa48fc378f9128e54d8ff43d0876d6824075accb8fb75b663dd367aee511a2ec380f1de453185c044f9c9a381c37f430f3873dc577bb19aa94a05a5509137a4b9c0fd34216d58ddf7f4fc5e56e3ceceafcde2b9bd4c1588a16966e250d60150df64317d80e6e111a3030646e8230a3c6aaee46f67dba0a374e8f402d1ab8b2ebb9038f311cb1cbbab75a7ad4793121f899bda162ea969421a41f0860658d9a78f5429be140c6205718cf981adc624fef8358fb79b95c18d3aec4182ee9d2edc9f17b15f99ca0b3bb78f5e14c2a4b754d46153d880e9a7506888db1e3ca9ce2a2e07e781c3df0b592a389c36c3b7f0bad15286dac667ac52d6bd340f821c9e867a4345ba7a2199ef600b788f1fe93974fd80944dec2424ceee645d1fa0a9c9cd354c7e44e29b8b421474d2a4abc839d5be4c110077e54eebbc8735bdbafe3b3402996ac81f6b6ec876072cdb5ed055e7327569422caf82d7c6834e7430565a7c69d6ed2f74a33ffef59aefb45be98915c996dbc73c06f1f034143723a80bc8e03b172e68f8b27d2a167189e516b44a2d5aabdf0bda42a19bf0a06fa3469d20\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 690\nct = 8cb5e3438ef514d388b3448b6d879c9755ab1e36d76ba64c8da5f961a05d965450d5ee31223b81dac1f5c381a2c7c2b517d03868473745e3cdabbaf1240954e1543e629a10266b16b221693f0f04939c07c31633a8e36d4dd382f833446e2a658b66058854f5dcb885ad182beb6198c75b49d7cac929eb196159166eec39e004dbe7f5b854ad2e562c6a2a8b71ad35472c214eb7e52ee2c63b18e6b11ca0711aae0fe06dec7e2a221ee1c4f4d72fd65e5e650bb5506fce912312a3138292812055fc164cc6809b71e667349e4723eefd80520b101e20830bf07aad824edf377dd481ab325c0d04d9c22b0cd9f7605bea8829b19a1cb11556dc633463a33b1617a5e2e8809a096882934d51e6ee592893de815d77d37fb6bd731e4a66fe8d22c2408f93fc0d0760962410bda050408ba82e49d6faf9ee559ff44a809204d39dbc6039984bc170e34595996582a7f77b75452466989e0e55ae2a9a3b4eb838ad1b2b36379544007c0943535f0d496efe6ada92a6d04524160c04994b1e91e909d0475908c154ac642bc289b91ba3fb5a31bfc7904f373656df4d6002b896b105ce7f23f1696d010bbe2be90e2b2eafc5b6bacb4571bc8cb95949b73bf49874b5516bb28f19fe3a94c12e36baf063bdcebc427cddabc27f5dfae8ca7a81c6f02463faf2e15bb2f672fb703cccdd92fcb3c294fb84abad218e4781029005fe6a38ea\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 691\n# Longest valid message size\nct = 85445e1eb86b2bc2b1ad81a569cd50509f9bcc6b37d6986c0bdf5e267d224db1a168a54d83ad59ce0ed759ea2ea7fb75bc9f82814699586a92d3ad42b50031c043ba7d2d47e2a5f0c2a486875625ba8f5005d22bd07918c4058faa47ff10dabe099f882aed9798e38c7d7640c7d9b3f2adbb4e1b939b2cdb13aab4ed5e8e9a1eda5060a78c9b0bf1e903f970016a50a6f67581566d79985cf244bd1fd2532abbe82261eea2c4d6cc70c5aeca7cebb74095e876563f60b452c3a2bd2747858c2843076e68b570b67b7292dae47f0ebdaf0abafbba73763f4b96bedc0fba8c4b8e6c8ef18f3c5396ab7d518abbc128a33b07ca45d8f22e09f9f973e7de301c27752016d03862f2c4f8f8595db161175822649e73e97322f9c425b5376a021a4675a2b3681f6bf554ddaef199063b3604f219bb734f5d20a84360e696f5e6ae7268c29060761360f8d149c2534640e4a0bc9614df3d5499dab48bcbeda69e340507073cb326dab804d1157bf159f3cbf4555abd286cfc9e8c1474c497b544e9e52af45c10fd954f576f4c20ae9bdcb5afbb6fe9c9eac2a8fb62e0d633f48dc5359eeea5c3136d68ba9e4c39af0979dc592e8c0074bfc8f2424f0a75ca50c60044a0e8542acba8f0259cae49bdf55d7892b347b3071af6b92008da70193df983abab857c87e88dee7f934425e74037cd671867dc05a564887e8367a8d88f3e0ade0e\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832", + "423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 692\nct = 484969213d45616f13d80417b42082f89e3ae5e04be338b022275b60091b5abed61690e9901ff9ae7f1e2c6a9fae472f24e23b7679bf0eff35f83fbdff821bc5f191f7d1ed16dee4d37d69117ba8b7a641e6463d2ecb1a70c2ec76c50552ac2df7aac7eeda24c50d958770be6c2bd6ffb5cd260a4523fa98fe527b3466afd1ed9f4aa0684704a105860327457e7020502b6e618b9f2de6708025ba32aa149577183fcd2ef9c29fd1b47c10967f4fe0991a8d8a9057373d98ca00b8128d2c7967640b220e0c179baddf9049c78fb429f2c5c36fa196fdf5962f729226fe8a3763248e8c94541bd8b7462cc1aaa15a7fabb77aade1313004dfd0a1c8a323f2ed80abda2d664b8a1ce03cb41c94aa3637ec6326559ef2f33c6186002096c3795896839aae0cde29162818afe730f6acf7e92f5a4005990df531f67530a59a05ba86c6230105dd3b4f2eb772822867c99a8103057460651f18f5e16e7b47b9682032831197cf60663c2c582cf1e05331f69708d46f8e6a86ee6eb413deb898f5ac6ed091075ba39b6dc6f16e41fd5ca503e854235e4ecd198d045677327fa5517dd3a0e8c469f9642ac1090b5bbe84e7f7af481f4616a41b8162ea173c9175e9889c372912a034b9aa620a93c617cdc5e643c2c0623d0eb4be5ff3155778960d0a2a614115ade1e96a713a4afcc31aabd0b270d81f54afa12b50a379b75ace7d34d6\nlabel = \nmsg = \nresult = valid\n\n# tcId = 693\nct = aa1bad5fdc2916d4096924d3d2fb2d003eeb06bf5f819c406b4a0b49f530e181c3b801ba89837724408c6c44aa80441627e912653529645d9a79cb191b1ff82f47bdd346baf2dbe9cbd0e9e4168a86b10f71d407f0f6a6256a7af1dc61cde565f125329cbe8935d46c50e7d1f3254456cea3ffe93674007b03cdebfe9d020aaa29112ecfbe1d5cf0c67457270657e6d55c5e5346c219b913bb6df8d9bac087f6a520ddbb12e4be8899cdf07b495215b859a6d35ea0d740962f0e9fec3264f05f233a6fe453b8d16b610cb232540933f20ac45d8d0db9c322040a5268553772b62e6fd0b7ee9a5ec43586de2fef9b73be045593f26ad233c4de43dcb78938420bff3929c4128485e3201877f423539bbe285bf0d79c10c76ec55521e00997e477593352a016455e5da17007ae2ddf5f47d4c0ce618140f50ebe6e5a06a4ac748bcccb2d9462e66f6c1d57dec8cedb5a02bbc2cd1521704a5420c9ac2b97d7f514cfd1221f0bd4d63a7686a87c62713583f436eb3209d9df8ed414daec24a9574b110a87787bfe1d80c5d960a23d1e4c034041d1dc1da95bd462f63b47997304c2217d942f7e9e912cab1e1caea0036e66ce5b48e67c9e1d9dcba5026c724e3f3ad0589d640b67150f0fb1c085c241423d97e658048efc3dff98b4ae4342b391490a77abcdfcf8c5a1f387d19d099fc1240fd9836b059eb5b81bd2d8e504baa10e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 694\nct = 0aaeef4a3b0182afbbc1e67b380df5e8c04cdb22a212a76a73201b509d837004581b2368f2b02df80674d45e524ad5593d341f31bfcd058ce8e68d95c0ab7a50b5c6793b6acf997114006e48e450cb43c3b1880e2226b81d747abeb90b4f99fc736e4488d4ba9a55dc792d8bbdcfb12301dc86538437c5f5b9cb4f8e15d6dacded0c1020cfd9f93bb33d883b3389d8841872bbade56b97546f1fa3fa4b67d733a1bfe3c0d413d6fd7ca3fe67c76d8f7509113c9e97a2bf0daf3442c947c6afd0ec8fe20d0449cd459393fc15b785c1aa7ad2a5bb5ca79254b9cdd30ce28a02577b846a13271c9b867edae87981e2d875249517ad348ac5962abd53ee75fd94cfcde6e9282cd30c0f52f78bfc6cbfce5b2bb850b911c5093c417107d1503861e53fd36ec8f9108587deccbfc1e351e216616ae239cec4a45b9d7c0367ab08a227f5d7c23c04f466ae662fa4f19c0c23962502487dbad4afaf2b771f962b6c3639d041f20b9a40cfc21c5451c0de1aafd564072c48bdd51dbd382886c85805c8e926fdaeb23a387de608566c3d0853212d996cbecf70ea50ac6e8ff79a1aba17e85d10d149c4bbcf7d86b2d0bf0a64498979a9dd96cdd4802672875ae0f97b5231a6e509a10744513a86a9e1e6a5a372e91543d09a2250b8c8e3c6b3a67154ca8e38723b67bb74e3c6c2bf021a721022600c5296ce28b4315977d249c39de4373c\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 695\nct = 81eac53e41dc5ba473dba1642b2ad418eda2ceef94c9db28758fbfd539424c463d08d778f1ea610a234dea1bab54cdd7a8e3d1d339ed57858dbd6edd316658b85458f2f9f6579db162002d0e0f1c7a9a132d05ff12f060332d0874889978aa3889662d773f43f374124aaa56d53d395276ed174ca60704889bed526821e2ff4f3f6879d3e20e9068fe6ac04b81efa04f9d5833c5072e672d22d4516f724c0109907c1fc07081133285c046f75f306faa795a4b65dca8fe623bb93f08ec14a6c64d85e2dbe1f1a4a2c5c9de0d1a08ac4511be6efd79ac1067b31d816b9904abc2e26c0b39947fc13bd69bbc0ff50af8138b4990c75eee612a9d9fccc23c9d955c7eeae56e01fcb35fda32b93e94e455bba6d81621a5c473877e76bf8c39617810fb1c568e9a561d3e8cddb42ebdbbefc3d9ae41c2b3777b96c0fcd54fb4a0a6c427d0bd6d81f89a57166cb50c396f2614fd38189c55c4635b83859305190541d630059f8184679638be561e98c5dabe7e195d57311aad7aecf2774da15f5fe75d3f363f5032b4748df7ef0f72b0a2998d6ee8ed3159364932edb8cd57d85aab0df79e695358ab542ec5495bdb553476bafd7c77d691e1ab56d78de7b09b91cadf2170fd95315b9efe1d3f450268c1e192afb00ff7e019127fc2a5acb5a5d894696482bb8a136f8c648f3fb415126e0683ba62c0338118491123b24577ea51ffb2\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 696\nct = 1e0330d5116bbb5685b44d15dc90e6628b09b340a21fc8b7f88253bff925a009a38720dbdffbc9c51e0d05e4dd0a675d5750954b4ff2b6dad0fef554e958dcc567ce30e54d85e7d3d6c1566dadfb33045b7ac9330e87fd891b8aa8ae58f61482f68baca2d07ad810bd1dfc438bf7e09519735a8e1ba7ed8b498d9baeaeb6f546e8c3db108cfa9d34e15a65ef0c9cb0208b968ea3f61d981becb1e730aa20df69eb754b2476bf612c5c349593507d3d28b8fe77fad6e168172f754bacc4b3330ba377e77fce9e1e76ebd313d3a03cabee1252ae6f26dcc8cf5a795d7f82edddf2e24c074eeb695919a6c553792acb63efaabf723e544c136b682ba6cdfb4cf8c436525844165d70d675d49544d3f3d5c6b74de2c9a0c20ffde44e497136c41261cb5c7a14f303dd46e6800d39a110e4540b97fcdbcef0d4285f8", + "bf986c52b26df67723ce02fe1591dcf2ff49a431b52182c9383cb86a52840db8c98e910265cb3a6cc546ab43ab896b536a110a84d2be776be7fa9488f5654b2c5aa65c34c4f751114c4519a33be5d660098b51372d26538347f7e610ac86584596059ef68ce14488a5435626842d062d5023a24830623261d93d6663349bc7e3473b87d7689e0b72205eeaeb978e072c5dab20824bc6f0be647af8e9bb5065d75c7fccbd349be92893614b73b1a1420fd8ae96fb6b5f5da4d51daeac632cde029fae446ec1415\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 697\nct = 37c26f69345604fc3b17076fb4c9fa1f67ea1f7efa4bc2e51fa53838585f6b67fff0c2d8dd1b0019f32aa76883c820d362e623ac71d0365f04f264673a1160d4ca454dea947e772661e64158db964bb6d55943382f9c1fc261e1889b2eb00a42df77dfa7340307610eab1583bf6d05d18bdb8a07f0bf224888f97eb8a4805ec751ea5572d81a7c749ba51b23d57aed1391a83b91b6f14a76c05d69fe82da488bdfa74f628061ac690bdd8364c2a56c8317001addbd1b372016d8488865268392f7135adac620b006ea5f4969936440d70698b182985207633d0a845cf9ac37abcd382e7bd8ba427affa65fd6b56c9f79bb785615726984f2581065f6f3c94fbc11b771b4aa0f35b479a90c6be318e5c11f98528d391c531913ff13b873b643a068248ec3fc85565535dd0f3c3bb9b9227d6c6325ef8d34ca4621c8d9334ec3660811652cf7204ae18f8a9073c552cf6622af483c8350e98bf8b7e1263b18b8940d3cac400a355a033fcd66662a87b5437241ac7555a59fc1c8294376d358f2a0caffbccf563e368677a3c05c06cdf34ea5e052f61260f6d6814cd0fb145c9846ce1a98982a6c737a8c9729bae188879a32ca1d884af68c157c1759e40575303739b6a4440e466beca07cc93253233d212ec8b81c14b51964f9681d3522b794f50dc6896e0d9b1e0a3e0fba284e48c459bc52e7f4974ae361f19103fb2607c71d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 698\nct = b174fdad5962cd7472c9bcf9cd78c5994dbe7ee676ecac01c830751abe805b30f0ef7f43aae8b9e46977d72ac3482af898dcf77560ff83f2c2a1489bbdc52855dd06ecd6ef069a09f54d28c5feb2bad18ceb3cbc233108a705fe866f568e27ca83b0a148829ac5e78c93c328bbd80745e2af18f1f8c366a2dc030c0d95f155b1f12ab3723c6679524acf85d55640cd727b4fb5eebf535a7f5f90e1a5f6b779ea936edaf1b3ae8ab1fac577bdc5be1a5f20fce7ca90c6c257cd7ad4e0e4707fa46cdb9c52b2e92c57b8a22563a9e0519ccd7209812f66cfee55a3195f78cb169a35f971459116a6d6cf65dc059c167e5cde8e80ade92868cf9e28eff61a72da5313b786646d9da0216ca0b71737708d85fbfd2290a665ac5b3bd7902e57ba1c720704481ccb187a2f8791aaeca88e79c59f897992fed04190f347136c881142781207287e5e2e6bedb0fc8c2d8e74a9874f5254ac884b362698caf4652424e2050a8d9c075bad137ca09c0fadd6c0eaee4ddfed2185f71c9ae55d8ad1bed5eb86d691229eb41d1fae52f970760689fe6dce277affc975aaf67663b702b541e24b6a436eb1e25f00c82bfd00141e90cdc79cb805e4ddcd29ed0c959d40784151043f21ad7b00b44e944e03048dd4c9bc7c056dfa838f66db4b354a0de188f263fecfc1e767b855d8e72fd03837f9f56f5ebae60b655c492096b297b76f8b743427\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 699\n# Longest valid message size\nct = 2069753cf9e5791b91630881c357c1caef25063206b85320668ed81da7e44718391330aee8b71c975ebe4c636213d65e538d64afb02e932a03f480455666e145f237f01e1ad0c35db34e1fdd68a2be55a9f2282f66f9e36d5f0a140cc290c93206db234898a77ceb3332074bbaa98fbef416afc7e71daa7bc2488cdb9897f169ea5eca647588945b0fc9663ba4137ff59a6de27ec9b40430933a03c2ab2783a7df0622156a86d7ee49daf005dda55687f1e570c162def42610b7907887bfdbfe6bcc3f4be7e8a79a6801283d04abccb2b43077527c8504deab2f3d2b99c0bce7b078b8a45b00d6ec806b4ae4bf14a6a996b928c1306b00a679eb967ab0427b0b5ee146689a0644d5d8468942ad1178b30e4bdf367b6d794ee784ef730063f52c72b09b7107ed69e1c1a128b20fd2150d7d93d98abf6722e89a8f2e470af92de959f3a1671cf45e655e50adff21b809253d204ce111a1943ec60cde4fc5beb7a9d03f2d7ffcf37f1f2a1e0671f5d227ad109b5650e2d93e9f34becea713be5568630872fd974ef4fcb64c17d677bbc60eee2c62fd85a7a9c5375435d74ad4c1631fccfd599411a6b3850679625f234a0bfad79fb979f0edfc87a7180fe93c44a0325d43db8f4497e560637de716497ed7f263b98fadc6c400e36eddfea688804e7690b90c92b5cf244ce2a72a175876db3b3adc7709c57476d6572bb4d096372b\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251bad", + "dbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 700\nct = 2a7bc91b166dde6c5cd24a2fd7651f4b4a54769f5b5cbe27eda8fac63cc8db3f32f7a49200c4be8faf1db7e5ece0f07bc69148b7770015d58b0debfeaddbbd901e9d1613ba27978ff8f512bee4c6b1125a00163eba21b2592e983df48e8a4cf88be7d03996c6c4900a759fc93962eab345ee1ecb784d8c3c040c5904a38def66ab4091692cf0c544434f1f643f4897f7601f05df215fcb7348fd74696ed359b867c45e94c6d44213721c521f6899783d7f297fd92f09a2e236e0f40b80347d4fc40e21d759b88f4a7a5adf2482071cbf423c99b6bf613c33514f94e1f9057435a4b006bd648684d361c425eb49941f845e0607974e1dfca268271d8a4cee41b2e9cc2da0ac60f21927aa44355fba28a90ece85226ab0f137a22ec0e56bdeae1b9af5082375ee89266fa7a309ac466d7ab3f05aaf662dbda3a9c3127bdca01d2a9387368b89986ef89a5faffab816d96ca31bd847659c1dfab86e7c0aaf890606bfc9d1c37c022b82e9c114548082d620825dc5ca1c5a68bc2f94524d089f839a303417c4a27619b8e71312307218a2389e77cff7d759fda9fd67667713fbcc106c4a1dbb4682f38f4f628c35cd1e5929bceb2798f5e3e725340c21bbf2610c8c6c1c696b930f399bc7ae63541a77e886879bc9cd0244d9093456ab5ad4680ea7dfc6d2917e029c2e1c6ede84762c54a714ba6de55fec6ab508e012621b02ac83\nlabel = \nmsg = \nresult = valid\n\n# tcId = 701\nct = a9210f541963e90542e60ce85ca1e27981ec35d0b51549b9d513796875c67c52d9cbdbe73e5ba4ee01db07c2544b91506951a64201e71b46e583023bd97be4d6a70be877c68362c154c4f484f82b5b67d17950b89ab7ff6cd2e9a09ca0139dfd8fa520eb5f7d56eed3bc9a768128bb21171b6903bdf9a590443a4e9477f54970c9c204a18d0afd54d0a53c931729163c3aa35dcea8c6aa43d54bb5a6a56f5593a2c8f1313f2957a1c818007503a9cc4b900c691fcc0dd829e9e5c1f7a9ded9dfe38b0c4c42b9ad439b3f267acde40121848d933aaff82bf24202622fc1a1674bf6ac83db2fe7a587effc90698d54102a61a065b39249b5a33873be4eef4868109689bc75f6badf939e68aa5472510dd09e97482465ca426d15bc0a4bc1705c595b5d4b6ba861b46b268a8d5763db55f76ba852cb597bed6655d1b4339dcb69ca946f9bb772561f8073cfae047adc206d8810599c3f7ae8f42eafb49946b9c16b34a430a2b0488eeee6251e5c4270c79e0728028aa9103c10462bbc98bfec51244499cf0a7e918d2524c87274948405a0e4feea314a00d743f964dcabfe3b43b39b3c99acf9be4b7fe217c6dc6cdb31cc659e9ea0fdae11e48405c852ee493228f0da3bd1f7cef1cbb5d656c0b1348b870133851efc7903d11519ac0143921bd680113502b0dae718365c05228ab5bd63365c5f15bc8e312886a51f7a910082cf\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 702\nct = 4ce788cf4102d540a3370186206cb787936712429489695a19e50917e8380ab9d5b4d91716e827853c11cc6219c35629e6c7eb0b87a64df4a6f04caa77c59960e3591020bd81abffa8ac613e464fc7a39f0f1b479d66a37faf59bc155a3a9aa777fd2b3bbaeff4d1f666ec2a95c8dff245c09ee44ad64e5e02713939eed5113400ff865d9b7f053e0b7d447c5a5e425da8bd75cfbf188567ac2f312ea602c11f53565ee2ea3e2beb8dfbe72ee6ca7d284282c15bf98cac33673a7fead87572157c97984a1b82c98fddc19d8c04aeed2ae0302b43dbb68de2da0fa1751fa68c293603c9f74223d7588c7f278a94d89ce190776f2fbbf1d43990018f66caef20da6396632293bddbb2491ba6aa54bd31747fd43ca39b9eb5f19120879cd4251aec20e9dcada339fd2327b9f031e81da9cb93bd93542cd8e6abd31f8232a59f878540c9c81d2403355c7b768f74da998aeb5f48619ed2f38baa5c96caff63a061d298f1d29f463937c05fa4630fa4a44e6e9f78089a8c6e88f4094021f93ec4a1d9b37133d04947f8b72daf9c010e61274f56c8518bfe4ea49f6035bf1d8f4ddfd36ad8ae9b7c9c70acb9daa9d0bb3614a240ebc02b7366a06b390888965415c69c53222b6731b985d8218fcc446fbc3e44dcc12663105fddd03e3769cfc1a8b51068dc6b2c9998f8e615112fe43a52f4142aafdb2f27a2fa7c058b73d20b108664\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 703\nct = 0190b10a51c68a408430071dfe2b9507ff5d4bd5d531322faf91b922036faba04c46430fe506e196d4cbe41e6fbcfada658a459d9b8c27a73c48c357b69da3adcd046be3d04d17bd187cf5be8f5d73c8584e0dc088b2173db34021062150d8bc7c1e725ba3d227c83acfb75a97a74c1a0186cc49805fff9b60df2e753a4935c2c0856b679114245ef42e80262818553990d61d91161014c33115bdb24ea727af99633bdeea095b64629898511ae9abee97eb7a0dee6b8161a9f9342fd5906d76012d47afcfd2ebdae998e051f7626bdb7ba9ed53ff449eedcd4a96f5812a53435c47bbaccf18c147b31ae38fe560a233cdf73b473d3f714ba53c8b61a2aaab24e91e0907c4005d2f03eb81ad294de41e036cb15d91b1ff8c21b4bb56ede2a2e8d281dc93cfca1252d8cea9778a674054ceb561028a2f3f6fcbc8df9184dbc995644154fc766f44dfa93df3bf070578a5c11e484eaadf12377b1171b8e48eef879028e35782a07731bdfa752cbb1ea7a23bb902c0b23bd382a86bb3727fb72cd1c10a57bc997b88f5594172d4124ae1136ce6b46bae1f120e175b2712213d66533d33d885978c43a13a54ba76738386dc197b8f2ec88010515cb34f12dec89f21a5a4dcd0d48d4a985ff09c1dc12881868e6f720fa4c3b67f12e8cdcf91c0d036da91a881586f554b3b260f1f79a17b7e1bb93aabe53474103b118088d0251d84\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 704\nct = e1a30401baf79ef0cb1ec6e14e2e6bfa8c189aace0fa8659a2b0cd27e3ddac1135c91c84913cdba455b6a0a786b1ab49b802d3487f76e5a65adc3bdfcdda25b2f1d5b3cd948bb177cdfd75f4c5952d3641df36b96d5f9d58f81f01972edf1006487457fd3ed0eee727b31ebf88575501ddde8f56566723ca7fe0cf11e73f0d69f4ad5a394b1045f5fc6a2b48edea584ff656e8c4fa8dee919e14663d647f412f4407b0c2b74afaebbe01cf8dfce30040149e1c65ce4c4c95afe5f54b90542c660b3f0d8a09d1b33817f61fdc3697d76c6e1d18049b459d460a4e135a7898292f56dd6fdcc1fa37b09317808e423defaf852fe44fced689", + "b56fdbf4f7cf66d50c3a52c0139b54b94903b328af3b2b6522051d5effda342de386ea5eb7ad429c8d4ef39b1d19595bd9cd79af60bfe40801b8aa97e32fa110404d37862247fd51f66e61d4e89ca8b2c3f8e85bf83f55d7e8ceeb16cb71e0d70f5ac770c647de30d6ab0fee173514ca227933336b7e031c5c6ab87796d3f3680341a064e7113e48a5427ef5d885ec171092cc0132d781dd5677043fe1cf95fabdc2bd7f6326d7517961832345dd8ed801c9f8f00eac7320cdf0bf6b605832e1631b657c2f639bfdab927edbe94d4282ca42b8714502c4fe0ac22cc0085b4974999248bbac6d45ce24b729be9e3fffa3a0fdc1569302cce30e1486ff8d4945d64f245f2031a832bed7\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 705\nct = 24c7cb4462674f7632faa0460137099111db01f9bea7970b76b4af94c4889af487b99e711024ed91ed840e0501280bc3dbbf738c7ff5be37702c955de3a50f85af1fb51fa9ba84bd997bae11e90fe8072eba255e608bde72e62ed50525a6f18f4d8feae42d65f78142808d42e7b3f8184e869cf82c6ec63d96aef01930869d8930feab4ef611ca6816cebbeff768337fe825834b2be1397683542dbdb0c67b8bc653a7cc5c88024d35edd525fd988a98913e02e88c61988b5ffe75efb705a53b4998aa4130c5205257c7502a9222c5ff6ebdb41cbe4fd66445700bf770c6366925b5a43d15f21cb9e8a4048d1e90381fb8ad680a01cdf8d3d9f8f3f8c7e66c734af56235a9261eb7bfa1bdd98ad9549c89d4ef7c35b33e47efb6eab49c15fd655bd1f7c57a14864a2647d2199d62a69d4e196b0d303c41371d7deb8eca0472337ff87f35cddbc0b8bb6bf1cf2286e00e9e6f62a7e34b850075ed5d24e01f87ffd31a9db48df28c80ddb6d4f759aa0168b9f7fcf5995a06e6d7d3653e346343bc95873fb93350c410fdcd85cb5dd9136d45a5bd98f9d80650ee3314a7a247e470d603c9b4a381d652f9566c572280bff5a75c560f0958db30d682f5bad165eb769dc4c6f56115bb84b55279b2ad802b72c758c68f37b2d078d18e29bc78920c6bfbe8bf2519a12e74388000dddccf9a0303a1e90fb1f1006ee6bb7efbfab43eab\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 706\nct = 3a6c8a1ed143dd70d2967c2cdfe047def126d8c0317435961ee52dbc168086d5d47bbc709d0947bb719a286124bef9bbe73b8d7342737b954d922341c972fa3a2b5ada0d8bc9daa914d5de29fd1b88ff0737b2b067d488e0bf31f709d139412554476bc32024d49010329badc85fcbf9210eac0cabaaaefb52a3f953168901aa8fbc204fe549f28802d81aed57e56eb2bd9e454ecad0faee374b55a45e60ea5fa47b603d3748b52e8d5c431ac8a93987ad117c8df5b2163a9ddc8dce3d4d9e08855e34bd1d0f5ce56aca5ae702722b56b4ef1778e4625db0a4bd2684a9f93bb0d3eb93f424c2e019888264930792b25968453406dffa077cbeceef4c511ddb5c5ba6a6d95abea8c5bc6025a749abc47e1d59f3e4877b802a0ec06291e25f6302b8696658a4827161152b2fa0e8ab1e101ecf2dea0d130ae6e07eebf77e18c510db6af61fe3164176459e5b96af81c862383004663ce839e855553c94dfceb2a09afd77623ab1ec8931b14612ce483a55f22b660d30fe7f74bc46f2d6ff9ddba837b14b4cb9c3fa98c59d55259fb346aed6823aa3c1df45032efc7bd966764314e5a0239e7c17e63087ff0e43fdc844b274e2e539649b3b8182c19a035d43f9684dd585dc6a30a6d27bccbd7a5fcda12d4bb1112da5346db3204daffa5a1bba5f8bdf4cd2c2cc0bf9e0f8252adfb59304378f16c7ff2890809b7eb3836095e507\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 707\n# Longest valid message size\nct = d070c070d8a276f706c1c1fd7149af6bbe8008ac62bd835c65b3021c8ddcc8ba1faf31bb6122c4b0a309efbb6cc9efbc4ce0af7dac873b76d37a68a195c00ff533082979dc7e99efa09df15b03357cf19233fe141d867e4ac8263180551cb991aa8a5979d30084c2372a067c03db63a1502a833aa533873f7859fe842358a11de0eda937b236acc7721328f833cea019ab356ee6dd39f6953974c0e32817dbde337681fce74eb8328fbb2b49bd13681af1a004412b1134fd433cecd534143adfda0b438346cf8e086bf431949e7a4ba8aa31615caba3195c42f79dd7147dea2d7bd94313f60c4257f5cb7138a7637f1cdc58f0a8eb0a21deda1c111cfa3955ba588540bff3a8e42729a14f99ad9a5343c1dde896387ed4211c39b267b1d9e52752c6545aa6bce7bedab3d1309e82b449e2b53e8b58ca6f7cf2af2134ef3d33830fe3ca44c9d51dcd8cc8fa9311b9118c3ab0f29ce993fd506b033a4fbb1297117a51c4878a21c450f154870672129dcb0684bb43d4fef7b69c93782184a5da09fe0a33ee70776b9374d8603b90712cdb155ee91af0ad0251de62b1ad7a48422bad5835de52e0f1cd4a31231088ea20de4469fe04a5d8b4bca33a93ca5398d6bdbbc85c268ffc5c07da98348a9881c032812715016cb10548e50f9587dcef96f71e271b23fb081cf9bb9a63a4b520a3d7b3868bb3f5c278e28c47ffb71193cf18\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f800", + "5bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 708\nct = b405034cbc37fdaad82d54fc4d1c2d2816bd2c8d5430166db2eb2bc805e65e3843022b0902e8f339c6754e963fb64a3a09b62f62d788958bad29a81144e6ebc6a08bcf12b6ab77782024cdc270bbbb5fd756488dc9f0867c6aa2fc6dbb9710139d9435cd7b8f45f4e4a5f6aa9240d3aef2df4dbd60e76395aca560077a6c19485de28c3d26a05ec9e8dc09db80397bf9bbeb9e6e2334e7539f1842aa4a292149fd2700387c43a04bd139e138b1b9d39cc52a9127508c4e71d15b70ea6ebc7c2918b57ae26c867f1caa5005e23d2487a268288029655c309fb7799be5f69626d7c4e416b77b16dc6ebf8c23273f61ec50c37b5d3d9312891f6933c891d79d282af27fab02a215a50af2ed10f123f1dbe4d09d9c1b3cc5f72f414d076ea9286f2f3e31d6621c71c54c847795407ca1291569d09d0a293b118f011f5bdddee0d4ac81f2ca59f790c6a1cdb531af87dde04eb1bd7b6b4298867bb3b0274841cc133177e1268fd0968ca5348c567f46fe276f14f7fd3f1c7e54103fb4ab4ca93b07775f80e09735cf4d734604cad5cf66274d6193b739e1dfc1599e3b5f70a4fd16c7ab68fc2d24610f39d9c7424275ec9366f54108affc1f3397eec89d589fd46d87931f29a6a5b7b18e14817abc376f54635368dd8a7a72137f83a94855d26a25369b0652517d0ce748528beadd63f83b915be8efc5ce6f89ba244281e2c4ba9d3f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 709\nct = 79530fb91d7c37ba01014c33c22cbe7b4f72077129697a4340f1619614f7a400712e21ef55f60c82ad8258933bb51a22be004613382744273179ba9fddc8ee607c56a2db4cc76cd9ae844e4ad8d34997e5e7c4ce17f89ae730b8bba0f07358b6c3957443d97e8b20808c4dc34629db02120b4181272936e66fe6eec889fe88f50bb815c672646d62cf60059912995ebe3a054d73227a40b0cbc90bf49076d02f793c2c27c753c0c963b0ff20dca1a58164d2c2e5d46450a7b48901b5f8585399c6ed5a1af893154344064102d10a412bd178a32eb5d8bb7209acf86a98cc0c2035f6d4f047286a470d6d8f632ff94a25dfa946a27d60bcd0a1e330af664c632c3a2f0cfdbfdda725d11a5d82bdb52c1f858c3be4774848c65bf0eca3f95c6fc5ba957903a2c93675882543269a2832906a4aa83acf6574917dfcbaa805adbc5a11452490656c29df8c4afc65009327cd2d5b09233e44429704199374a0c970b660185d67d1a31aee892a6a432a81c4c22cfffee1deaca3aa62ffa7bca2ed7e8e94dada6148ba1a6520475d46d501527328baf6b5f756192b1c0771e2a58d5edd45e725396b7173d7a69e3a445fea1297703e5cf361c595577f6ae92e332f33f8ace7c1c3a4e9d2cb328759caa5cecba4d59539eea7a811728b1a454d0d1dc70f6ff36e63a287e4a025451a942b919da68a0b16344c09bd7e2c13b4248fd30f87\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 710\nct = 0df3dc76611dcd964aafc7d4c7f9741d5a60c93332670cac0923912d6b0d27c74020115d5355858560983edc550a739319d1c654fe58bb5ac82cdf4759f756813fc42ee0fe300dbadc9a5fdc8823a7b210e1d9d6b0701816a281e9c2382641a903144cc1d50394c48c411b282abb4a7fd4d44f69f85224c1e7532ed6dde4f92563a417e419c8d4fc250fe252e3d9b1502bf4e1311bd8a430fd296b6c2bf2eacf630e9f3e4d887f728f7654feff083a75a0eb3f9a97af652bd346aba06d33d9fe384229f2a7cedbca55eee637141abf5ef475a42c26e5a4c60464784c68a00f88f47ca3e6507a1178ce2450ad8890e028e3ab34a8f19729a7ede5b762ea1dc32219d7affadccb488a761878405b0f852338a797c2150c8842ac9f5221c18931f596e6373dd4128996b7a2e9e32187fae440e17cab2e9e7af10b1dda14eb35c35d6a19d7401732fe6f3270c12c29eecfc61d07c79516c923c9290380bd97fbb4707c1192729cade1d8a6e614de0f7579339e5e8022afd95cd33608988246e4ccbd4acce9d03a7b36c638ea4cb99e0312968439ccecb58f8ca0b4c6838692ec7ffacafc10680a2149ab0eb587aed5ca073fd92fec57228f185f2fab25541256d624d0510583015976a565d05058e4cb17e2179a52d65ba4871c566146a95eafd2866fbf8abf131b25923aab2f8902d809a2249a13e8b8dd8ae18bc446280a167cf8\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 711\nct = ca234bd3d956195d5a4d7ac774b2262ca95773eafe46c590f6261d92f36ddd7b02bfb440e56a58af77b82812e086f8fefafa752d7dfebe0fd213ced2ae880b5c5b7dbe3778b1bb114b1620e1bc1a02d32e1dc6811ee605454781b91a5a60dba4c20576ef31d5851623ca58e829b61ab240a82e39880b50d1982eb3e7a5656d688507eed4f8085def819f60682e4ad842b72b96a05b5a897f8bc536b2b70f28ba0c288012af3a6c566a3f3c5966d858abe89ebc661f2ca20892e0dd2dd9f568103ca45291b0bd9f3867c48287d8bb336a9dbbf8b21b7e0fc2a3da44843ffe806c3816b66d86b299cb52c22eeec8611bc3928c74190cd9e3c7dafc1821019def2e21f79264efe4ff83a5a6224804ddcc4fb2673ce7c61b49741cc9db718cf14bf7fa91c77db3235bcf6d74962b3746bb4356a6f14ef85b0d775c93065b996ce6d3a2b330dee7d586a132a239ff3d482a5cf5e0f83bbd02b7f00121e83554bc74ef0513880d004ba731ca9b68216fbd44385be83da022d343ff2c3a3498cb1997a023ef0be10173a9603d509378781b5407f2e69bf4d1d52af738c09785a06c2563bda675d6a27181a8e56456e6d6c968fd6e3c3003c456a4ce3e2313aca769ec55b20dd30ef0779a0177d4617796ab932969945393a4d1b35f841d5ed9c1e5a913cdb20c5ceb96695d20be5539e2075008b44ba2b7f73a9deadb6469369c490637\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 712\nct = c529ba83c985c649ed185c4f6c49a6aaf638564f59826551848392c06275d3ca28e11f358eb184c12537453ec2ce1ef1820d9ace005a6d1cd3f96c0b561f060ffb166e147a5a51eb329dd14bf792df46202d2f2fb0787d3d67b8bfceba93be81edf1dd4f8fb4b769115f4a77820c744983de8cef880522832dc8a44d20f3dfa62f5da766672eab781096b0a6adb5337ab8efab09f3ee3f0af3765caab9d0ed37de7cd5027459d44b6d894c432b16fd8515ac2dcd2", + "24ac45524e6d4d147c53233cc4dbbf4fef4f69390e9318c675e19297df4c139012dbe10489f5b1f90be395ca0467892b6942301fe6648881aaa091201d98622f86b4afe08ec3328cdbe15a56bdf2f50838af9eea306055d8d8c9cbaf7f221ce654595104eb7a216b3140d7849c7d473e225c2a6d0765fff5ed53b694edbe3afd2198d445e1471e29bf50fc17a4db8a9a3ae7dc05d3403654c178de985e99c281eb470a8e989c519c69d156cbe2db71b23af14cab7c196ecadda8a980595e62e935af3dc18f3b997794be4a84590f0c358546b65cc6c0a3e4cf840a841eb2abbc770dc3d672d849bc77ed7e12bd42534b43258474f1241c492ca20596fcd933cad7178a217e353bf970f6c887509e21daaf2c9c9388103220b8a448aa840a0441b76f37b93ede9a634caed7b3ca6347acc25059602a599eaed8a9070114952ead3d6fe78126fd0ffb6e854cb\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 713\nct = 2173712a28008a03923713cfac30f25040b17b28f6608d10df2b8a47e56b0f9fdceeef6b18a39a036e06f54e105d147f01b88fd9553c87cfa5be3b0b598600753138a3a35d0cf637a2b3a8c6e8892ec4b467257ccb41d8a63faca8d0dc03d8e3d9e63466708e4d28bbed992f3defa6d46d68f23000f218c2ac44ec9c42998ff93308fccd26481d0e6de7dc48900e2c125895659b5537d7f8e5e9c16d87f6b14cb7c99d0fbdf454b56b8d4ecad11b9473b1d98adf3aac4c76f3dc3727601d9da6f9ce337f662545e4b2eee9e7acce83506a5c0959f0c76ab3a0c8b7b00c016489c9a426b0a410db5176b374cadfd5f9a51b9446ad089dd89fd7eebf4426bc6c357bd724a084b8f1594c3df0bb8a5635f72dc4dc3e89c95ec700c170ad7b94caf3ac4c40dab07eab67e7ef72680a73afcfe36d3acfd141dee01c31f51b7ee50fd16b185ccc95a646ce24202b482f517c33630c125bfb1e1eba109117944a7cc350a1d6641279a04cb73ff0d10bf2deaa6be8fd4f7197fdefee5823843d71ed6a8b083ad6cace38a3a874415a72487bd87598591cd39e6acd2e096f433c1a1223a44107b80486ca85b9491946b76fef3c9f31dad1f4b06a0e24fa49ae694392afd79f1947543998f8e3306c9b17e3080c734b9f19aa94c55b57a69fd0c36e38b654c90483bb07a572a44f8f84637125d1cba400b3f295e6b187388783ea0392a61b\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 714\nct = 692a6aa7f7339a265d02cf7210c9d1a0c2bc78ea7baf95b2d6916eebeefa422c267cbc8e296b6b80316641d854800cf3ee1f1079753e8787488f949b80740f8da018bb8847140c7bd66e125a7fb9496cb0f7eb22680462da15d6246c228667118165780de3d9bd0080871eba65bb06183cccc4b5c491d6a294e37be9afe236f22b6efc9547874af62d0a356b72c9d6ead57062d1d9e023fdb996fb8cb238bac94bccf9f58f049a070e763f1d6d7169cc66d4088d20569ab9717b78ccb3d6d40c7ed5c6e48956d1709804a3625b8f32a84f8c17e3eb14aa4ab83b71fa3721a602036a5398e13918149d6163b07cb20556fd76b84f20f54dd9b2573f69e7b1328d96f6bf05368a1f813e647e52c396916ffe128efafd99cd57f7b2d572591ab5978e60ce8913b2b71fd5a06e4e2ab27f6dfde14a7fdb42e8986c88859704e198991cb468bdf071442ce1cf19da73a8c0e4d2b270bded9e19c5a25f4d84552f831dc65fb60d6fada5ff2beb044d326e6b2432a5a44ac8a39b5ecf532aee4be98067aca5e486eb2b76f862d27aa4eeb19660ecd53d7e1fc3742b79ce8cb8f48c845e81ca809de2b6b7595b510f6981c38df751bcc7b3a92fa05e33867dd634bacc56eb7288e5477be5bb8fa5bc14c40049eaa879b57a1891de15b60fee33005c6c637ba40ff6ed5faed042941512491df3b0fd8bd83f4726132c2b65c71dfd5411ce\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 715\n# Longest valid message size\nct = 355fdbae11acf86e58c39dc660dbf22c9d43c99667265dd0b950b8c36163d1e4e0c729ec0589760832fb62cf7c4af9aff27d0604db16a4d5f631d0fb57b8499def6b5092cd49b2fa9ae851319bcd1783a1955f04ea4fbee4b98e4f5f571fa037d67d90bade3ca69fa5330884c48f98d67b22483f235c616ccb112c92e26f6882130423342c51d52f392a097a0dd376a6a6c2b4a42571d449b5440e6dc9a3e95cb01b64fb67146d6c49fd9241cdebec889253371a43edcc7bc7040517d3a85183ecc5e4509f4208e01549cdefefbe915ed310833eab26c2c896d0b48d21b930469834fcc69b58dd7f8b20c880446fff5c24a88151e979224091ffdd04b949280eca905aeb44c2712653fdf52de8502f78ec60e8ff8de9bf9191b968f890aa7ce89693e90327e3352151a29f0c913db781a28e10b8cf7335605714058ee34003d8d27b68a3bb57b869b2fab1b1396c97c1eaeac856b2b03b7cf2204fe2f3f4da639938c3d9174c5cb03d86d3ef43c8f795e9b22c3613600eea4ef3c9d978b82af501f1dcd2906cd9430341d52d73296076690b670c40b003115fd03247511df7844b8d1053f189afeaec6f6ed0de98fff5a5e02e750e41a93eb7f386693cf139cc569b6eab528a440923605f3cd2721a2d6b67522926569dad3545d85c8a374e697d7918e6a9a82e422d9306ad13401f9c91e5139514442860c75046e322c5ee66\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cd", + "a1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 716\nct = b9fce8bcad33219375323a2e641de7650c1163d9aaf5f2f0c5b96230e788a9cb970fd4cfdf9df98060267e302b133e4974c0cd529ca1c900dfea65b46078fdffd9d589319087bafdbdbb8467013e48262bcda8554b225dc3567887da78976d5d9ae23ca9914248debc2383634f71d171ad375dccad198eabf391f4bcea22473c925e18d5210b02c555561592411d3fa6d2e425415a83fedd651718a8a7d1db2d81f64685c8da9a05e7201593374e30173ef04b42b1f16f0b8a8cff6c3ccc6b251fb61957df57176102a8a03d9718d95f3bf637b1fe1feefed9d50ebf9ee93a99c60d2e404bb78f9a4292ae280206782564cea8e2ae831f9b5d629b88af7c610cf28f9c6ec56534d16b70ebee0df20f8ffb40afdebec977d16f84c3e583a1229f0d2a01e0959b1cbf37448ab947da05e7cde1358c9bdfe298f2da27d65beef13aa13cc51f04c18560c054dd8f85d34ec759691b3d8c72138df12e6e442992a2466e3a6db6bd322d04c069741e0accc5f291a6520fb42fa001764c441c37456f9d91ab31c94283bd4a299fe4fda6fbd132e04d8d92157bf9aedc80c66cf7046a33bfa308ea7f5f56963edf4d804483e631acd033f2d9ec190c6d04c55540908e76f9b3749b8aef86287818358e4470cacc6d45fee370bf836d2b9277d044487aeec4064c74814d2c57839f6bffacdabe1f2ccaee4492b2a5b1ab7f3055d2569c58\nlabel = \nmsg = \nresult = valid\n\n# tcId = 717\nct = bbb5c693aeb28296b4559a792e489c74bf21c3739153be06dfd336f397f16969fb1ea0523f0adc7e206d908ea2a8eae1011217a54af3beeb6558bd80f2c111dbe51a0e25f3ac65578d4e7f6b41bede65813bb551c97cd70485b81d70934e86e6fa349287bcaf977e666bf9526db02e76f82b3ec2941c2c7355133adf80e16fd8c4d01a62f63d1e0e6d67a247fa2084409df92f8f528ddee355bcd9cda753010bae377bfd6e1a29a4021b239f98cecb5b8932c268393dd5ebe58d42f7eb59fd389491cdf05d29e7cf8c148caf71232853203dd76bf0ef8ce7be145196b7bfa83eca9761669fdc281ecd66ac37d45732c510b8d1f520f8be259a2de0220068a5c741358d4c34d72ab820e7791764efad86c4113988cb71ca323f31683105e273c037c02b4d4b56e7a2a341f9348180cbd671f73adc9767e050b58b99269b5fd696b071473e9d767918d99ef0e5e69859bc0a3133be92bf38edae5d8060cd5c13f2aa522d0389c3a5af934f81c46f83492c1ac6e856b2b1e3b17ea83a7dffbda5e8f4ce57e5c106c5c337ad286858af9ccf44417f2e0cfea2f196d89e078d9884fc176b02673d3295fc3849fbaf4829d7f310ca53a3861e8704765e8654e2b0274d6bf43152d13ddca60014067eb1d5589045ceed16df90a718260db6ee83662542c8c6fe47962d18758824b7f276dc3d94b6b8bc85bff1babe91b13604b8696078\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 718\nct = 3fe06a589140e2e037ca786111219bb545a189b506c2cb52376b6fee3d8c216b33578a92623f4852d2c82ff02db90b9266e5fd0301c8e156a44093206a8bf93c48022738a35b834dc025db456dfe003026aee1e7144f95db86d357dbc93d11ae9568ebd700fb577e9ffaff19f324cdc30332c0a680c47476564de727eccb1a974826bdb384a517d489901cc5f0afda3be84fad6a95435aa8cbd91b0cc5d707cb4656303541b69e70f9327c2ee061d96a223bb6e29b5851bcc345ad6e47feb0b86565706fa575fbf7aa4728d997023de295f669b34ef205feb24ebe07074b2ccd0fbfed7c3b543ba56875cf0addd47b8bf0375a5706684763dd7f7f0702d43934726a1d2600a668b6c4b170c85d0a4841661bd946b0c1ecfe801d1e366bf4432e756ecda05afecf29338edfa80677e3f21e54213f77c673786ba5cfee8ee800d651414d055d51edbbd2108afa1ee8f354ea7427ef772b31d12950c1359e9c6b65a1e2a2636efdc0cc6da8956ff84977c25cd67e31c88d27ba681626f25acff63b056f402f8f83090c5be0d51b6b9ebee8ba48ba88917b02058f4efdedd354c63063ca470036e3ef13da38c9462da836826d9472be5a6133c137f496b2337c9d470478800f67045cf9b1f5cb072847da6981f77d4e16f71181e90748c40c79df936e36ba4d4810cc81023591a82465f59e0b98f8dba0b0503b8bb9ec28919f0d89\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 719\nct = 8889564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 720\nct = 81935470cfa189178b215635b35436bab84d880c42127d5bea48563d6d1e52cc4116d8ecb9dc9d30b82756eaf8981ccde25d4b3555e1e26691d92cec29103f7a514036ebb1d850b795ad662c9bd6c63b2dba32ef4889419b740d4cb38283feefd285041ea880319eea371a15e99dcd02761029b57092", + "32f5df156594259cf6f63f882c22a3c427592ef86b0e4a7d0b13f772234fd2889c13b157c2da6a94c3e3807771059c970a3aa786b05d79c92a36607fda0c7c3b7279402543debcbf3639b3bae654f48b80f65eb9fcf5d4960d88b8906ebb84aca936b7a06e4db3be1bdef0fd16af1a3d0fe03203492a0357bc7e76eccfef7a2fc1edfc50aacd0d46bc7a28428b92f46e3d3a58af3a7f9e0d4c70c3ac240eedb878891a8f148b1e729604d943af03ed079787a7f67f830e9a77e7fa6e39fab006398e09483e6e848d14a95e902f2cb60252059d1cabf319bc463719132bec91c6e7bed2341455c16502d2bbd0851301f86e0674c9c62f54e6cc9bebc268a4a714320ba2d30e0dd7996720466a976d3c9e8a11e38f32050ed5e079875160e2c1b0f8d4a29a5e3f6d04db8f501b205e56f3375dbadbc77c4a48117532917f09575ebd5ac491eb1bacf1d157dce7465eccb7568b2d51a87ebd493fbc9275d5b253b05d7744921cdf5c274906137b3076002a2c10cd52cee21a17feb9e35c5ab3af3e0427207c206fe6a068ab\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 721\nct = 8eae919086dc6c634f495a45d86023caf497163b2f4b63ab9dbee8cc8c139e41d83c5cbd2c54b032f79f3bc37e93ed2c7a4b652014b1fe4b607bca3529aa160c84ec89910bae46ae4d6e8bdd384ae8a5a18a48721e0f59aa9b8394ff821dccb8e222e7e7a2a33e3f02a320301e2e7a7c315fa0bf9f9c676e6a4535c34b621ff8345ed2b7d5d35014610040a9b3f81340f4911e230f356b469c9c6035de42048a68d5f04681d85eb9c2891c6a57a29e8e64cae0b0404d4e374f3188caa210c4d1378f0012805d7b91972d085956f067791529fc0357dc30aeed5fd3bc5efad687e5e9ec50957ac809d683b02e5764a5d8434e5e12764672807e18198c225d346b406b4dc06b9164ba5f3ae719bd376643727d9061745a2e587718206d66b1648bb52090b224c175688ea8d50b43a1d08ffbb4248ea7f351799c7e50f2d490e466722ece2c4f88f89d2f96fb9aa9ba610ddfd6cfa7b7a9c375e95575ae51c5d6de43086fd0c0663ff88035c3adafb82469a77556a91d32a421e33338bb16195d19010b58d720688d172ea7d64fa50caa902bfdc7b78c7bec427031ae9e3f691edd91a90c86e2e86d00dcdde12076308e1fc4c910814b00d751fe2e44baf232c4934b58624c1da5bb51b0e8acfb454aeaae2f04be02e4e121cec2b980ad7c23d13698a88d1d545521c0624261fb0e97422bcf76f47d7c33ad63a8eb4e497502569a\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 722\nct = 9284f12053cab1f558770b0da4ac1122dac9f3ccc92992cdcf186b62557b265a72234cd443e39d5d2e1e88d4c2b3bf569ba8feeacb53d7f4100a505de9118cbd22d159ac00d2702fc37350780cf78a101d7447d82b6e0ccf9d901c58734cf9ce7b182c05315b31756a30c5e563da32224272523bf01291732ef390e90d0b16de359a944c8fc92ed9949e9bab4059424aef42a5ca7c28040f3c473c952c52827159eb125e2234fdd251c898746ff9bed99fa7cbb2894cedbcb3218526ea286da4e1420af5c9fe91fd4d557f81b69d36964121e5202599cddd4993cd8dfb82a48265771b3f940a82ff572e514f5eee9bb98f848a31e2d3f7271ac9b298ffcfd03857cd562e8a36daa26cac1f1dd173dbc4e4d5dda6f3c28e3aa8c8d54dca67091d304bbd3217e2c42bf13ae02867ab9da1d3d01bf196ec8be97da126cde6a0244673477e4f0c98651592e25ce1266995c7a41d41fca2e2213806394df9a7aef43a1d90609cae8511514702d890fb3230b8c22a34720435a547edee50bc5f78da62224ecc3335e900d8803aeac4296fc4a41d59806c811924bc2d4a6067dcf71ae24a6d7cea82597bd14a3149fdf718aad5f5a6b6f126436c0621fdac4297d646ad0e6f70d524a48e58988066694f3618e013825d03c19c75b9c9d9aca436424a3a9a58bdb92003749241661527a6878601970abc94767cbaf82ff3ddfec7478638\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 723\n# Longest valid message size\nct = 5061876f8bdda06553a4f653c4f0a96a96d8f823c9484a6c0c21ca0344c6f9d15086265fda4f6f14573127dc073631fb91ffe0082f926d696f974b22f4f9c899dbf16feb967ab9c66556a4e4aacde7df73d4c789ef2eeafc23dd06d363ce3f70da60283510512eabbd43cd89b7c014240c35266b87d860466358840f85ae91ff3ae033c7456c74f5f425c4371ca76bca86e2a9639f9901780b1ce20f652644cc504c2497204fa6b51759eb932f4e7099701718476a8d2cfcbf95d70845d7c0ab4a264cd023bd5fafd5d3d0c5500b17a38d0a85593e042685b6074f4737ca181ce3f58f81d2b29e934d44c665713733740832079c3888cee12a5435372a32df434be0c03698d2e2503adc889be76619f4076e02b3517e75a94b7bfb58faa31e660682e8964aec6abad3aade06f376a9ac9d3266ef1e4e51078c446ab6c1e1904e5a1c5b121da4767d53e60f9cc1ad40822ec20c19cb3cffc61fa8f211a58c57b2f79f4131289f0354eddab2bbaa01962a25fa19338b2e546ec96054013cc3c2688464ac77d89fd3106621080266357eeff963c2b0244599d4a594b69c3eb4458187a869544522031235c6a8f3ddaad154c15df7380b8da5ba06afbe9d5c4fc1fdee76b0e90483899d564eaf23c5df73764d4af52e10aa7891d82f26285ef441a785ba0915feb6df082044bfa6fb6fcb2a3a9bb053afea9c015b9188a4123f1038\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4f", + "a435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 724\nct = 6116de04d40f43c15aee4824d92ba2004fca863471feca574dc2e253bf0c80108654eab5ee4912ab7a827bc746d0808ff893d5ecce47c062deab57ed80ba91625d90664a91e467e86505c5f56ba4fa9bbc602147838a066929ec64eb737ef63676c25a499c2943812c24236a190e9b45e647cdf99fff1962060752337ff0599716b6dbf75dd87d209fff5aa9395cd0f9d3cf0eb42285d517bf609524d20fba97599216b367ab146e1222cfc4985a988ef4bbf0eb95396fa8771b72745f37629d910c94a13459de0cd242d06f358f0055094d988d8cf109dc0d497697c88dbc23d09bfc4d5bddaa3355484ab988bfe0b8d0b77dcb27e962b0608059d369cb53f57848027e65733db2982f6e7d714980a6bb9e5f0c6cf940f37675f68501d4eea72e2a834522f863d8e436958e3f864ff818e13254931430f4dd4fcda69e4e9ed6be4114a29235ac63f527cbc270fbdd1133ef9418c4d28a7c986bbd580168aa744032d95124180e69a665d4a56ffb94ce88b7ce56ced9de850d4938cacf8568b02c1db72aa47aef9276823d3b0fc0b80e1d4a8b3c6772e75b3cf70915d4ea7f28f376e1d5f3fda13f7b20f0d0a2a67ebe640067938a1b6681024584cc3cbdb48bfc797a6e3525770665ba66c18774a490bbe2363f1a9b6bc5c149566614409b8a756a9f170ff9ab8c4c6a068564b72e3fb2b70e376fe08297578352c5706b2334\nlabel = \nmsg = \nresult = valid\n\n# tcId = 725\nct = 12570659df6de3ba5c4a60dddb7ce12876dff9cc97827dd14ed07bcb5dc23679648bca15a7a231fcdcc206393e5cb96442e318c47f46f64ef3acc172eb41d20cb1a92a080f1dd3633e9080c8b0bab4de51664fb21ae778736357aa43a4180fd569a1a03624888e73fdff1ad09203d613d7974a1e5534d727bb1db335cbed8deaa517d04a78c41550039696c2c366710e822dc7ca9b00fa235f2a8e9ed1ba40560bed9be9b775c317b0277a5383a467625e9b600595808d5da9279ca722ce2369dce137731cb89407a1c42bb5f68cdcfd01a57a6a4de110cc2ec47ff7c5ea21c7711183675416e9e9423ca568f0b35134fde01a46302f2693b2a42eab8bcefd625421064da904ff1bbeea6eeb71a750f3d67b5e23f96989756cdb40d7a8c3d0285ab64fa8dce5fef19375c270aeebe6eb5de0fa2fe92e1105a7da42889da154c909cd7c9ac3a66852584ee411b8395a3b3531a56ee3fba5ec12816932d0037400a4cbdda1ddf67f07621a2086259733203f4a6fd07a6f9df7afb610a9f3a0a62ae705b5658e49a11d26b9108162e30050ff205bfa0cca251085c411b5cf5390e99e6400a381ebc5b659cd8994f091e1ffc45fff852ff21a3b8825300fa8d454bd809e73228ca9182fce54d99175d13bfb3f85b6fd2ca8ce4d714e7e543795cf1053d22b73254606376e32c14e113411de28eb18446ccc095043ef7b51350ed7ec\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 726\nct = 56ec6a4955728a90d9ea4c7d1ade36b19bb07a34b5846ab336292e52464e2f7e64aa1c425d6618988d959765e613219e017073e7efd3776d3255145c39d4dc12c07599f1cf6b9f89bb4e9757d41e7086520b9df3a37518f3fc5103c028e8c986b5c95d2fc7099441b9a1cfae88402d1d8bfcd77f95cd6264e0eff88716da0e65ff21807774ddc61d94c01ea89e3a22b4443d9400733c2ffc5cff0468cdd0621e867755f4870e13213214e68b4e2eec6acd2ed12daf3e43bcfa259c9968cdf28afe9c67188c63a5241303046d48a441720ecd025245be0f02ec1c7c60c78562020c2ccb3f26d1ddf5a6209e06e34c6c782b434f37f46aa1e6c42042f852135bf4349dbb11f7db523319fdbfa8bc59619a0d73c923c7de6117fb19ff8b5490d633ebd8cb28ddf2accf8ec04233dd92b6efec362c8c77e291ee75a3801948e1a8526dec5687bff2e520484c2518b6adca22b08b81ce4595324baa0fee4ea4e6b7a2ab0818aacb1b98c1b8c9ac121e399a4c8322278b062675483e0d409fd7714b1c7919764e5e3f49d647cd907fcd1134c815b9282167dd7390199dde6dc188571d5f9593522295aedfefe1a184bd267aba2957502b43311796d80a8244dde6f7684d54f1b985bf81d92f5df63f05e29d68e2d03e7777e9db5f855ab0a507a62674b63cbd22ee3758a92c7066218eeb9587da12cc53fc6a89d0a551ed34b7952e64\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 727\nct = ba6ea4f150e9061d49c87d882325aea1e07ea9b6238e55893540291d32aa0bb959bac1b823ecd9704b1847e85ec50ca075a5549fcc05177673dcfab586636cc46a452249c4de1c803ced272e41696abc8729649cf9abd1639c65148a06c654185a4468f7008fee1d60d6c21b76289328d8812021659515f11dfc8bf1961162bb1bf256fc0de41c8972eca4122c8dcbbc93fa5017cc62dea7c20d2551fec6b5d17e7073946e56fa878ba9414951972397577e206537bb30f75329062a94643ed3eb8ac5a4d04edd5c9d40c0a18c6d1a66609ad8d3b6cd4d82d5452e56ca5b797306093e69c24a598f514f99aa8a83586ce9f0f97ea567337caca2023d839aa6fd8d664e7d2fe3a88e4cea9fb2f6387a18fa7d518bab6ca60f0ba8aefee5075fa11a621a18b6e106f5f9ce6b03b2b50f5d9adfb91df1c3bf7e3f702e24fd049ced6c08d86e54b17515e43936447f67f872573f27975d4f86f9b49b3be8d758e840d63b8a2556cac6eafa1cd0c7c0696d37287ce78c9cb9e704091ac64acea10ddd4f2fa64e9a2ea29c29111fd45dd4119b207b0a07f447ae3878dc398c73fb8b9c36e244825675162ec13216a3de4f1dfab76f16fcf028f43c257127dccb820bd79ef218d72fbee6bd81d46a06d057599e19a8b3cd50389d876baf35bb16240140bb56abcf859a59d0a57ab4e0cd3f5cce132ba11d20da3da039ec4675a13ff843\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 728\nct = 1e0fc90e921f7f657dcce1250e1b906c48c38db5e0a2795d665ab8554119de03530b8b26cfa18492c1a12b60fc99038fa180192455ec4e8dd1ef11f1aea3e6ff5a70d13e3b72e5dc5b19907391c08ea27c39a55dfb406", + "85a3377f5cb4732376a7685bd596a83894b3c70c265d775d428914e44758f2f556b5b75dbd8a5f5ca0de19eb62978c0ad1760ff81d28d8795d313c2ac329c4e29c363fca9aa8d3855e279ab6eb5856eeddf005738f8892c0f0118f6f3a3047fd5fae85f25ff5a3845712b53256541672c3b3b224fb8c3a889c87c3766275c8988315a3f21e2a79a98e186f03cce8542aa2aa733ac52a56a013d5806de6cbe810b4eb526be9eac2b0064a3e458015d43fa1196732a3fbb6e4c41ebb00583e09050b14d2a26b14081e550ad43b65b394e4bc04b6dd9e6fd6643c6dbd8d4c113696b9d42486b7b1f828bd39a984fd8b792ad4011b2596f91d9476aa31f7bdec8d990ba5033a93b1ffe2029958b72011777c64cc008d06a9dec53159843e6ad344d84fb07756dea4b916b205393099652b6e051451dbf1c28ec4a019aad79f296c28725447ca3c98dcdf04dc5b604f8b510ea93d01db58ae0ab541dbadc315a78bb07b17d4415ecead834c726cff2c0ddd48da5079e92ae45992f686bd2a47fb8634b07897f3ee3118d4513e9c4a199c3ff96422a49a897d9b00cea5d38bf05211608a0826cd158b311c312\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 729\nct = b4ef12f21ee9de39aa3be5cb8d660524c4b870db85621015f1b0ed82ba3211b705a7e009b66587e9517bb76f9c3fdc57c0e4508fa3b2aa401b963fe9079fde293e39a83329202bf087e70e0bff8d146089a8421112389c3a9b41e9ee50e2b30f1f94c37dd00dca064f3c0ddf280233b85abb3c3ed7124f7b58ff4052fcf91a7018aaaa82a2361a8b3d218c4027282cef8398e3985e511720dfd3801ab6a4d49720e4cf7de12eff2ebeaced0869d03708458205a10a9af5b6bac7b42c0d09f63f332e89f7a5ba976ffce7eb0548a3a03a406c44cee3867689ba92553a51dfc587d83a5dd764cf423739f416cd97cbbaa4031f56697797939b872e136898caa1064678c042fae14563f79572828012eef3d343f11b912833f08845109111d29e2841aae1f642aaad9467729b3382a16ee84a230bf8adaca2df7c258781dc4f6187bb2b90e4c1c668a24200a1564da28f39e9e35e602accd96f4847a414c41727c6ad7d1abd2bb93616967f9eacdea235d0843227069a249bc74680ffcf4629f15c31cb64ef13df05df76bf7e0f6e309dc310a2649c35dba1c91cb3a897a4a649f199920f691bb1fd0aed221a29a96c66e2ad25bddf4af958dfc7ef61a03fc2f2e3c49268fd1fd272a31ce9809c61f595cd5f2f7bae0813c018748581c71e4137b2f71823342f3ed982d11e52608f824ffb74cbbb0984e1a7c315145daca6cb0311\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 730\nct = b5bbd38dda1f6c1f181f8c56aed9bc71c5912a1700edf42d1ba11e7a2eee0e88eb03bdf331a18e37c352fe617cd6c7037ed1e1d75b7f2afb68b1405759695af21d1344a7d1761742d933f994b350e2e84b157cb46e0ccfa6f87e6a1dd28b77a49e4e751c93d9c6803e639f542ccfa8be5c67835ead292dad9060ddb446c83a0edbd2a0615ddb49b120a2f25c3df5666cace84f3ed39e2e634a236c820005fc255de221f8f47f8627497a6843b05a8a0a7d14d6c00f922fbb1c0b97d5791bf24087a9d28934b1e4f421287efeb9db3803475ae98437639d3dfdc5dbf2693197b2b0e2e41b6c96cb3168750f5abde5a7ca1fb08f37ae218ef58c7f87b5975015d990ad2c7d0decfbd80c4d06595b36b395806436414ec80a778a7d3996ed15e272334ffd8287c73b983be7dbe088fb7e6bc23b850ff128b50209ac94556a5aada8c279fdc2b68ebffc7ac4d6c8f980cac6e8942b76e7d835b190c72232fb5676c379a4c7091ba6712a3030da8a0e429e0d32aa9cf8494e15a897533f689ad1097fde587e21fd2d94d8e3ec32d126921e97cbedb6902c366606766bf43ac09c531cdb38069913a11da84fc15db3ab94ba9ea34c6487f690b747e2adfb52344f0c09d8f0e7ea1072eb322b8200050418547ae96cbea8373b5dcd8d2f3fc06e6e6f6d85c94d27e155b74d34364acd8231ce638c21014f0299b7e5aea3271a240e2505\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 731\n# Longest valid message size\nct = 8ba0aa8fc281e01083187269d6eb3525b1fe56c46ad8f09dbf38eea9991eae2614c979c82b594e8950c0e55807b7b6926009233d0e42f9c1d5f6998007313f01a07c330a09227c9c8a7384dffb8f12cbfef64fb4702b5d53b44bc69bf96464a6015786b3a5129dd0b4792cfabe2f445ffe3181925dbabc25c69f0ef6021b10361c7578d1aca8a5d566eca8a693afd286c8280001b6fc10390109e549b19ebbd239092b25070f495637098716e4d9caf02f748a956c2ed8e2a39825940c0f9c5465986389d2746fa3a776f261281c82ee0c6912598c985c88408426494a80cc1afd7984c61ec7e8c74f0e535841fb06e78f4daa96f64f93a6c1d963092f58f5c1f16e39d194fcd4fcf18b650f449e5bddacf18d2ce793ee382f80d716d78dedfc29966f0b6bde4b8b63bae8cef6c2d3a00a9d7c540a42c3cc6d805c73d2b479bb943e6f69014fb0a41b5c16eedfa1d489eb981e60f37f269f73f69906e1d7fc11a4d03cd2d74e4e1fdfcda7c2b289e02d9ad2e756d59d3a884ca12f440e067d007a881d23ccda1168da86097b7f25a2a2ac20a5c2abd8c36c034dee73f1714031f80b38875063b1735c97ce17740d7c818509b535d436eb794e954ee5c36ff3cce234f67827a587e1fa4ad0aa9d8a4cebce0a9b010f66b556fafd0e4fc610c4af4b1a7f7f5106dd372b1526353a04bad081d107d1bfc997af780d31c6ee069ab1\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648e", + "c37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 732\nct = 7102bfb4bd1c25c1d38d6d0ecdfa468cd3a03de71f48cd2fe8f16cfabfcc013d6399d4dd7559738a06215d8ebf98957c35995c5b370e25b2784a638c17f116782a2285b62933f2c17176a353c5af77a9b2fb52f1bd58d656aaab29c18c13504cb9615aaf53ec86b2c066766a3118ff03c7d14ba53ac5fa317f30d6864b5fcf1a98b051dba03a72126c199bdaebdf83f8d311734207b075fda4dbccdf476ab17f480bb908da20590dd24fb9d86accbea66740b428f25a242e9fa959c084135c911fb73f33cc5c51da7196c780baf6a8265ffa6cdd19ce4f9e5099a44d9e578247e2b2168fe521fd8989f68b5cda5608bdefaccdf6a1d48137b4425ab6522577882d29eeec0f2478304fdf8f3dba542634c3a9dd7eb808fba3f208bab84bdc051c93f0db445dd7e0a472c6cb7fcf070174961e03ed9fda5d0917e003fb2d88053ed1c6a03754ae8a0fff2d73c04bc44ba0b5f129e4b8744c37a3bc4ad1751fc5c9613097fb4b9a4a262c6f2537c9481895982a8fdf8dbed3f92850870039445fa2b94adf4b335a2e89fe3db6a66753d19ce34a329ad3276611af9e4a67b85a54999f79d06b8b626874824f4abc998bd1b65139880f69bb9d333d863259b94728e03120fb19bda0005b81045b976f5335b7f63ae9dff10bfc7bfdc139a27cc212be925178131370b66ca058179f01c15b68b77c4282466c810c7ea8be1b27eee621\nlabel = \nmsg = \nresult = valid\n\n# tcId = 733\nct = 8444f5ded541fe14cb7586545b882a37ddcf7f1191d73bfcdcc347e4975d1ec88b3fca019a04cf99fe094e4cfa0e91796a413d5b7c55356af4a033b5ab5e8ac1373ca837d02e9aafce4ebb6b634794489b68a8e4e329df50ea7a4d5896389e8fb2eb7502ebba171f821436c537c584c75b8c825e56187b5f703a1ca9699a899e69d94b6130ca7433ecfa07107e6f304b974a027feecaff3ec903b050b9c847f4cbc7f2da129937b06e644fbf3da2e86789be63cbc30f680ed887a3f54e22f1d925b7bd7aa7484764a78341276b63af7091d7834245fba22621e64294a27c1b66f7ac91e1fe86b58b6b8d4f53cc8bf1aa94a03010e8e9fcb8e01ef32fb03f067f1101d0506003feead212577ae699a0acd97277eac34bd6299cd86691b50e097782a235946abfda26b96e9ba1ff77cd102e4424926122b3ccd9940b88432cdcc93eab1660d94a0269c720ab4e64cb5af018734bcff2f0854da8a7e584c205614c7f231aedb4f69bb98e919729c714d02c1998cf035c1baffe39c1677db5acbfc8d1d82598e916651d8d66ac3bf6d85b6a27becea76991d4563f96d4e691f7700a01c03f3cdc66ee07ce3e381ec3c4f86b7a2642291b1ded426dd5ca903b201da29ce90fb931239541047bf4047ee692a4c2bc571e8a5fb418294fabe3d4921067eb38dcea0b88cf300137ecc25fd8f3cd114e871f4b102d78f1b70bc700ec8258\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 734\nct = a7377db11005ff95cb355818f5c10b881e5e468f87d77792b5e3daa93328139a478b9c205eee19f1c5370f0d67b0e2215f606bec8d0dc5fd8309dfe8395fe75b2a641ea792d0a4f36a959c7b407076facb5affcb1ff8c10216624e5d8071d5503e319edcb737bf9197f8cc53d8c96534a84c136ce2124abd7577e5f7ddb3505cff581060ae5ece7aa0b7f06b147871e87a3d97ce3e70eed4355fc5a16689edfc624c5d6d6066b7b88b22d50121b8035d44ce00baebc3957603a6017e17d68bf510fa45069be6d46545e4cfe0559ca9a821c387b50869566f56a99bf0bf693cbe9b8f8ce3c544e2418087758d0c2b9d242591f630433a274fdee4a2047c24142bf1e3570b0e44ec3bb8ddc369940452a842e21e919923b1b136fb7ed6e3875522a0e8f6fbcd1819bf9818237dc482683316dfba11f59cfffe256daa451e4a375eb0fa4b54ec46e11d429cd2f53f96ccd9871fdc1f0cfd05fe2abe8ef6505d1452fcb3f04a18b14f34da5f868a11633126a35ab6e2ebcdab9732c206a9bd1fa3a4257a81bdb7c5859b16c27dd5f2037e5018714329bdf12632b4847cddae393b7337c479122f82e207a03055e0428c814b532c86a7516d7839e81c2b551b3485b6dbec308ca1a481ebceb9c416e515d8d28dc516b0c7b934ebe878f600d698915dcad527097b423337e0066e25e7a885ffe65f364c347b07d4b912124d50b0e674\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 735\nct = abff8ed8d2eb6b2eff8f8c720dc0f18ea4cfc5172c7c89ccef319417b492a8d19100d3de78fe9afba118758e42be3bb07eb428bc5ee59c491ac41ca0d02c46216efdea4c48adaa404f6a1377620784f1ea1b279d5135320a53f27b28afce014f5a5039f124981d24c625aac7cf7c242111336ea712d9d72d4e8c15ccb93c052a40a72ee2d2af76d551cd7ee8a507e81eb0ab1d56aaed9be2610523960e495fcc53a899a3a22ad4a31c68324726c3f735145c6e71fc6a693e7b4a5b8aeac841d0c5fb15fc712bfd2d2a1dc4ff34e1d78085bbc3194897e4528f803bfaf25b0f8ec9742e7fb1ecb732623a11c81444bd7f60c058303c19d9e75c1491f37562b557bd6751d4a7ba64fa644abba827c39baaa3e65f05726357ad978dc751f4524d64f115278243b3704fdb802639327f40e8a8c21dd9a262ab91a1c0e18dd4b59c9890c55f9f637b0022ae8a3502ff560d24953319e6485437c7b34cc3707f02a116b33598589821c4f216554e4827492e963565715bd3de019446d1416a1728a00993b6f6164cc4deaedb0c7435593941598be89cf9a2bdf551f9f3e79db4e9c0157d023d5d022af5000d9e0106c424b0cdbdd857f5bf2bf290a2daec39a5ce78cbd209bd73523ca11291b3958e4c187eb13e9eba166921c5a588ce7bd70481690472028ecf0781219d714b7554e81217eada94f0a89d6134bc9b6b1f5daa110497\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 736\nct = 8532ee28e0c4563c2a3475d591b61b5fbf77e10b13e1dbe71f1c8bedf1f6f3dd01b801e691a4b8c8b54de867ffa892dfd5a2967db2d1f8", + "670e6b0e2df97c09cff8ba17a1542f37988d85075340ffd24a0aed8e05e383f4d3e468f966004e60be32d474e531039ef09ee8ed339ed79af58c6153cd2be91b09fd8d0c75a620dbc36d83e48897125812ff910462fe633f39891da3d2109e18e93ee27523f3688dab2b0a7f6fc65763a8f17ec1c18eb87ec9ea06f6ca27877275f759d21bf5b0d9bfe96960d31d1a550ede1c61bf68feb3e9b1e60485f7004ebb4230c0e2366ad79f1efe479a3f6a3aaf97097a08eb21fadcf33e8dd7542693a075f707109155780dea0b0ccb0ae98d49b36f358168da4caa6542b787605538825933746985032fc25822cf00bc2981be7c1e5b22e420f8c6da143995d2f7e8946f53e1ec1823464a32879c11e776f6e756909ee7f25b329b3d5d62f3220a47f63d5183eafac475b9c9a6c773dd399759740d8339b228a061a7ee727d05709d01983823827f995ea8e6eb2f6bc2788868c4210693bc00e8deb32641282b48df75bcda5d35047f6e6474784e5ce19076c7643a3ec8385e4c1f5fa07cab2d5f2d58b7144453ce6775519a17fabfc1c28f4f9c71d6684567d6e24614514d18a1700ab214237ddf64531aec65cde6811b6ef46c1ce9ebbda7975cc0f70feabcfa1bb43d151e8b22093d66\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 737\nct = 883016556f4873452809c16073fd0dea1b1cb9e7f267655caaa27dec0902b277ec9cd14022de89a7df2d36691da7951922b1534aa09493862b10ec7e740781ce505ecbd0a06dd987834c2906d144715edf2accd926760ef502dfe573d843cb2ada918e259a5f8aac47c3e262574063a4f8733df50d3153a3eb5b58c779530a3f62aaec47af69ec817557c33a0e9b06f2d2b70c9386fe91c11089851acff2f4862a6b6daf579898a0c2947fb5959ffccd06de7f71f16299829ac6498655065603f69369e83660127047fb9c722f428592ffd08ce41d21f82938bff4c7093a5a68ee407460c85122796d712bf3ae5011689233ab6a220ca9c7c48aa0315ffec2af4f2ef353c9f7d513654af0bc049752bc954f7d1c8a36a4c1277e26e1d8dc6770ca7d8dc4499e8dd972bd476aa08e379aee7830d982482b49d2b8fd52458d5d5b5a2f2efcbd5d6d1595b59cce4b18a747030210a3c0c93a18db64b9502f78805715fcea73abdeeb1a93f5fd2022e79abfd43c3f1b26901f1ce1444a491281ce0c4dff137c78e4071f0336270d8767a4d7472a6a2d5f8b34889155f360cd3d1eed70a8a270d17f74aa80c71c7d36c557fe812dbea90789800fc3256ab70828e8045eb43dd426feb1cbfbcffb0e45e708fdd852e0fa136c5eec0bea3033428112489355bdd40231412cc09e789e818b7bed8fc9212551a9bfc6983c8390b440de5c\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 738\nct = 4e6c046420fcad8dc9a25577b2ddb7170d6848e1706d202cc32ba3582987747d40b02e5c388e350acd5abbefa488f85dd84e23c76fd5f7aa3e96943b89401f82ad232fbd6d9d7cdcbdb3a2e486c03dd76d223a80f01d0f571a477263e57c1085bac4a234721b00397569bce471a8fe6456f0e35b52d1d673eaf4c78c79e8e18b13c13e8e9b519a52b2147cb6e43e0a5bda401c5500b12c78397201cbd1dfb5d64ae80d1a44d780e444250fcfdb8738926cecdae17b3ad56b7de3b1b831ecba837c27704bea792d1a08b70311a9ffade019bfee378e4ca31dca8a02d29f77f38c22b99c3e33b116b82245b732426756a24914472dab0c985edafec96b37b0e61223e1c800da7ade3b527744e489236ed1f0a2bc9d6b02b1ceaf10a997740ee4453d6d9bd07f645f6feb129aa275a3cdfd659cbea5c78819e9904ef3bb629596cc9a4d02453875c113aac8a0298f6264e87c3ee7ad30058e614bc8bd165f8d1b7cbafe26c4e06b2b5cb9b1df3d42c3ffabdc9df8ca5c050bfbe768e669d2f981627019b650b2952a426bb37bbc368a3a870ff308223664b073e80e4fe1c4ebd1b3c28ea76da395c53bfaef22ab99ddc15954891aa4f6d8f1dc47951ef14788dc475f5273b06422c78eba016529997f3d2ca3e5f480ffee77b716f172e8e8b4bceab0d6c714d1031e8c0b67427859da6d4899467b584288c3fe857fbd3c7bd60068\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 739\n# Longest valid message size\nct = 494837e82bcf58b201c8e702b34bc29d82781a0bde828eaaffbaeab0df7fb34b743c778624e9b61da36f2565721269db62a32bf8332e46d5ea8943aceb34b802649e7c08e5072034532afab4ebfad3c61ce00f3c505ffdaff7990f9c6c0fc1cec7bd4223c1f93d102fd1a7710de583af4f39da57e67c4e79803c52232dd3f4728139d42175e68883730e1dccf629740f9d5d3114be318b52b2a9237504953d9155afae8ed4154ca917676185c541abbf2717311e4dbc1d0a74347bdf05516bdcdf05bc6eacdb52e78ad8d03e6c0f70fd9b1d42419226638189f2d8e34474e32e9342dccb0b795996fd9f341c0cb88ab706c077d1fb2c74a6b7e028d46f0656d81c4a123432dd71c7728831963a65b43b2425e88fc05bd3fab03d560e8022bd9bd5acf12a62327596b6f238937bbb9a3ef240c8b7e575eeb6181424319f2db1aae1d716df552b08786b58d0851e272c4f9382af78c9fc417cd03489af137eefb27010a5898160507f9248447347fab8daab0790155532cd60cf27fa7ec858e660e0b7496d398627462c7f75c7f6545241eddf791fc4fc2bca8feec48b241bddf75a590a6eb1e2fcc71725f135fc6ebc81d1871e700563b874a8264e2c41dda224646c9529d6d643a0a639ad54bb90275f8aba524ea1afac51bdd9c17732f0b8511af05338f368a30d2249fdfc7f3de34074788b5c21a481b8cc2fe14ad864e27d\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a1185", + "11c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 740\nct = 8f685cdf3d01be20d4dbb3940ee53efbb42425478a9093d9a85f769893992b680feafa89e982fb04cc247f2c538b307111e33931adf6e0b9d1b31e309dee41a07c6240516d37f0fb595a84b486e02eb3b4e9a846dbc0677f2f471d1ea44e52d915b95c70c8f865e94ec6ee4eb9eeff19588166737b7e3007fd69ec689c890cd163ec463ae44f00b09e8ced5cf4fc1b1194de313e0b02feb2345827340cd028a2846767eaf4890440a74c78b4353777441ba805380cd42d7387ef5fcf220932a55088fdb08f8f1882618a66f1029c16f7d75564df683efaae9a9f11c8fba64cbac81f3af37ee8fc3e00882f0b3faba4f4cb11a8b49f4cc1a385ae755af2241844b5a9a7aced551e27c40931c2e2c26da988f5acfc8d003ec37736c7907f4508dc9a5c4709df744fd0d3187725966096e96e11eeba84d1b03a7fa9ca3ad2b7c7e2f52fec4efa6ef7cb18992ca074749a5e20d14eec31f2e8a25675b4aa2ef7f1e81623ed33a3ce16ed2b7e74cf70a8eefee68070a82214f532aac3bcfed5a78b7ad9f960b625ba8b27d6b8e8add8e876a9801b2f2f4635c6753a456116f622af92ed9976125eb2ac252d07108061509ff3ca8d8cc634b23b96ec800316634b04f6eab05f145330697cdd6e151c67818260dad06e9d11ccbe3af4cd363c5bfcd8888cbef243cdbdcf3ea8f045fed3a7f5692747c11a5ee9b05115516160e47718f8\nlabel = \nmsg = \nresult = valid\n\n# tcId = 741\nct = be078e8b2052e283e9ec6c79ea84ea74ede482c23a2095bfb8a6d399cc9263116dc1efb4110a78dcb5cfa2eefa0dc45031816c733fbe48788b9c934dad4be5e67e1e6463339a3abc7cdd279bf574dbd4461e88025aa412d40ccaea4fcf977cb4d7e2a92781af394cbf33f77bdb96532b0d702f111ce562ec18b8b2611d74275a1a8e556bc549e9ed8bc9d1a0855b34421e558570daf9919623a9404bcba43437024698a6d2614cc96d9c2e715a9e5fb1db062f2c30b9a21fb174fa23930bb43cc84da88849be3d6e52780ead58114d5b82370e7c4ab7b5bb80584c3a0114d2ffddbfafb637ecc9aad06dd2710e143004320136c30c4db164c047005868c6ff618564e207d440db1d19076c7ed6f861a5f80c404d45e7427a49989563b713bd2fd33ab64f73aab8223a883c504eebd6ec777d098876aaa63ccf66992573ff09f93b198bbfdec5212f67496499297ff64cabb37df52221c6cb3d0f1f7f72648e3a71b72c1ef39bdd77bf3d965261a143e22e5fe65d36a0e652a083414b537ab7504fa13198c3c70e8b45c860aa4b07c8c54949210535252e3fdd146656da50d9b06178bc86bfd2d81d5ec66e05f9121efbd344b326c178e2eda2b3c3097c88dbfc898bd967c0ad4eb3b24b6292220346d7c474d15f606c903e4f040d9bf442f76255b3d1ae38b0053c5f1ca15a5b052dec5ce1f1a6c81a651c9ac772b43b3367f2\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 742\nct = 02f2e0a9b939a0182ae0cac85bf96545b5a893b36b136c0ef4dd06e267445ae56ecf166a87013a99d62783b2bf01497789a6282aa8fc4b420f1eb2c62308b853b6948af25cf0c8ab41040404d3f9c88cc84b16ae64bea099150b35d9c4aee1c70910fdbd124f2399dda714750c5c65c3044fd7324fa0d6760cda8765731f839ad1f575dae91ed1f389e1e9e8be33e6a48044eda86e7bd00b6e101295ecf73268d47994fa1b51a375351f8063b1901c05670376fdfdb2b115a547ba3fe0528878d6b2aee44571c1009f6c4c47ddd67973c0b2884658848c2e4ce9295f9225b198c450c368f9a58cdafe626a3ba7f5e3f2399e5bbf13f33117e97a147dd9678b75b6120cc5b88c698a2a775719b537e87884c68aac5232ea45d081421d34ee9c58fbe8d91d8ac0186ff907771f91336d3dc75c80f821ea37f74e7f34c12045e0a08d2d8b0c9d7d64fa70cd21fe707e5420f7cb441ce536ac79a65c868eded4cb484c1763ef50132c206152dfb022cd08327ad8f8a123f9930fbc33c923e61c91ddcea7cee6967d4f1770361ec0fd82f00ad1af0d71ff0f48d20768c80db65648b33fea459ddda25687282742147f22efe5e45e76d0b7bcfcce965701b5e005132e08e91d7023cd696ea986e05f02be392835dd28af4e2a82f14ec43f5a1cb171a10e7012ca626bd174a92611c112de11181e78456f212cc9eead6360b344648142\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 743\nct = 1e62333902d0c05d4f4e3007411572051de6a65d11b39de37f3cb76e2a906b7d56023d5e489ab809c3235e3c40a5d5b37db700c6b9aef55a3fdf36bf7fda290d56a0cf8ebba78c9229fae153130b1c7c020eab1d55b7a33e32c58ac068c7f8a67b21ef176acf2b97b4477dd164fee10a40a391182f77539ab4985c445da33f81ce9dbad8d9b772f8a5dfbbb8371eaa96a725e0fe8163387cdffb78580bfc6d1d00f02f4ec9bb6d45722ba02c7ce1225d497e88c8dfa9ca019fbd4bf743b7580fb863061353be6ed54f7cb576a0edf4cf72290ca70f6994567fd9689783af4ac822206552586dd2cf522cfb46a978f866e326ff074ba901bcd631a44e64482b6b5b08874b57140ce8cd6b6e615e983a3d6a62fc932de05ad9c13e8e24aeee4744c012bf05aeff246c0bba59a2985cc2dee33a4098c868250c5252211920a24ce37fe77ea6775070fc6f7daf28ddba4101ce86c05ba70f7f14da6018d47578184c335bd5e83d93351d6ef95f0a0c6a7ca749a42ca3ea5b5d424bcd5ddcbc96659a6ca4d8e63cea8e0847578f2f5de32baf65ae6babdfc74b6a29fc00aa9404baca40568470c205ff869c884fd6ee9a82fa8f7798d6f60a771be89f8d2daddff85a4b3676f0d830e445d3365d3c87f507420abff9b23f93e1ee60433c116e602a55985a15612cf960629f3baf6107225656ad239f1925976be8c7dd7f1db02dd326\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 744\nct = c4ded40acd09918a6d7892f9f5c3ef3bd524058e3332b61", + "657d6d060237e37a49ec617f1fcd2d763c51da3c3483ac6ae0242fd7196f3c8eb3db56e37a13d705a7db8faf73aeb423590784bbc42d668e808eda0156e982278283667e654b5d6161764da1cd381fcdf8a8e91fdd2d311e96ad62658d6c9a41edaafd145e9926fe3a61108d1aae10308f494d65e188ca69db3c116c08752c30a34a7c5d02d24ff59a2b6c2c5d957bd8499a869267f29d358ed190dfdce4bd2dab1bea4aed188e4a55a68ea5062a7675c609362ff5790c9fe66c1a17167a8b6a3d99e089bb65e79246953a2b3346139598e6a2a176e8df271674b91b33887e0668785cd30dff90ef847fcee098a0688608f2df0f574a63fc16bbf334a060e420f98cce76384e528d74b102aaf0ad8e182cc6fefd2c0d387e6e4e0f36878f792fa4b07804ffe574d3b14c0402ab6e8228bbf50a84aae4f52900d38320ed91bb9ed308c25e69aed9bd74aad14137d58cc10db37b5b81ae1aa0a60c8b1d19b27f4049ab41e84aa22c6e69d9ada549627bb8828ac384465ee75bb3807bb90b1ceebf361244807330bfbec838bd7e862da618d6218ca01c3a2f95e5cae463c8a9dcef31c35c6f25b85760db06e275a3ff1530b1379a20a480de8fa73486205eb077bd46ec29729c5195e2ea1d4334fd5b54c24d22f125a11885f4fd14f834881acee84970b88de5c0cbdd8\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 745\nct = 6bc3cda80564f1a391c6f84feeebbe858a306784c39efcbb06c61d389b7a4a2a61da3407728cd6c25d7f9a252ba9ff7cf58ce70077b55c3bf4521c0ef03392cd0185b1bfb26864d9166bfb87e01917d0c604325161c5aef424ddf805ae3b542b91dcaf497cf57e51c62ca94a1ea563c07d07d7c623f700f5a2a12f20d2d30a8ad5e957459f7a6443ba65a0fe884451e5dc56fefa8a8fc036897f502290cf9bf35a3b724fd9fb1a2587f74d33a825d1e07423585b7dd72a17ec227f16291610f43a3bc7806677175e60d979c87d5b1c9794b89a52a8deff93284fbf8a0b15763ac0225987641781017b6015eaeb9941db23cd1fbff8a9937e7f09f40339b4abfca3211efc22ed3c0fb9e393ce29b91c3cbe3a424d18de5906d3d86a6210f2f238676ffa4fe737571289757c8e0541d9e838e211f9f7b74ad60e99f61eeca8ce922f6dde7ee40d4c3cc1c52c06fe5842b9ff516759ff91365ee89ba8dba2810171d2078de0bf5fbba7bcbe1931bd03df508ac006692cdd17ceb7fdecf00e2acdcc5ec5ff281eaae926f9b0212cd57b08142f0fbbc35e00a4aa050d9a96a7ccffc2f1226adc08b4204b95d5bffd1b99d15581b4bd502d6229f2ba1172c398669d83ba5441125a86025a9631d4223d248ba9387df2b0845dbaf427c94b1fad82a4de2aa3baf85cd02129fe25c5dd3c299580587eeecb59d68a9109950a725e35491d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 746\nct = a53565bfd5173f43ce9de2b1eecb165ee53e58bfc5d7588c90d841e2164bef515ffc33a5cef7294d1ec92d6ec1bb31365cc966228b45fec6f480109108954ade2e9cd5755c59d12b3909af8576b4350421c26afa56657028a813c9f85c0a92dd452d4aed8bc472284ca2f7067d395e9755153ba79ab5423b4701f86ec260466eeb64393c5710ea010f9aa41b92d57d8221c4cb1d9b56ba342b437ca3183d73914ae5008c5352e428286fdcc7d902ee186c1d236e3f4137d3ec3a63a4975205296284184954b7ecc0793c243c9dd0ad085ff88bf037d2b07722ead006af983cd913c08e523ca0d5a3997bf6eaf1ee6938ead9259664df1283b4db0cc750c70a20b88d937c4dde29caa1027e02e2ce6d9c89047ac407665d5bea4e12d83036358815fb14da23a5a2a13ead7e397325e1935b55407646fb0b3d096a3e07b527cf3af949621638384c27ed666a98d8537686dd8f3f20549a12a14fc2bcdf8039025f7945cbf9b3526550d5dc668825b3e3cf8f75a03c9d768792efcd00a18489610a7387f3cb774ab3d75e166a34cd2ff0bb205c559df2c082da5ded8fae5f21bda10cf77a6b25b9b1618c8d92f37efe02bf6f900f19c730e0fd6a55eb898d2211fb4e67f5961f71fa085feeefdbe32e47372c409adeb0b5c3cfb2b693ca3ba2aa6aef5d0a29ba2a87dfeac9e5d2709bf3a689fea86a48ae14f1f4cc754504c58f4a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 747\n# Longest valid message size\nct = c856328e918eb400b3ca76235018843513ad1b0f374aafe97b1b616a51c5eeb3dfb0f5a3c5d7559a9f9b28867d2c8626b4661f90ea185e48a9253ce7d21b7036706d9db2076e37cce373728bf4075b424a071d3b6ca29a80002254b9d978d58201acb010afdd26c9ef372e118f182a2b41e9eef85290cb932eadeedbbdd6d9609757cbb4feda52944029fb9a64ead1e0b71145aa5d4d95d38636cf6ff97a84d64f06a46e3f95a99aeaa66bf15968929e36320623edfb319bc95173a04faafdde0ce576d59852d158a578db6bf40af65691ec83cb57bfa6b6518f63cf7a7e8bb623f2bd16b2fa5c0866b86e0ffc2d895e6488b0a75c9d7b738bc28a4854472451cb46f8585d2d0b038e0a572621f95b3ab9b58a51e1cd83ca90c8a64b80748d85c36d0c31cc4635cb60af27b7bcb31a69e005c186f4cea9881c18e571289f418fbe818d7eb49296d18a074c862cfe31e43dd31fd12aaa54e134323fcad5fd7e7c1893f7599c9315cfed44082b25cdf4cc9289fcd434f3c81e6ec7a5e3f5a53ebbf8631d825b7b6ff254169b4a305a231b43dc9b7ac948bed31d154a9321ec32277653d8c43b8e60f6c8b21269e79a8d4ff42abfdfae61305d754390cb5ccd783f7673f595eb1fc2ec97d5f6483160015e57ac5ea544ec5492e1611839b4baa7a1ae55c8edd7fb51bd10d33178b21f21625a9b3943c0287797b48fe5fe14436475\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4", + "db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 748\nct = 8e615a3b27fae31bbcb6abbd713e54498b38143c5a740eb326cce75e2b9df42b6454dcb465873b831d3c18c4a0e4d941ebc49722402aa05498b34a7fa56a74774adada8c9c3af19386da29c191816117488a37b9899d135da5e8afa8e2b76a87caed1b050b8289d110922ca9b19ed932be12c92b36d36ee77ae9803fa8bea86cf8287954fb0fd69a0cf9809b686bac0c0035d8ed0bd80dc2c5020b6c6afeae2d7998373d551ae3a868a06854eec8fe07c8dc61408676ab2c21c251c5877bc31cb570724bdda76cfe2b055d5a27d1b3961518ac88afd3a041e2d21542ca027d6cf8c71c078016f1b23f73aeec8b7f5b77bbf003ab4233d0c56ea42337f5ce83d82b5e05497f0f8e3b4f23b78f71be7691f5bd66544a60f2ee685c9c70b17c5933e864d66f1ae50976629c7b76e91e17c1bc3099f5fcd191fe6419097088fed1b7d875f9a39dded5ca6c7c1ac36edf1ef3dfe9cf707de34c21962bbe9e8d0a92a7bbc0eda639d813254f44c47983db3d35c662096dcb61324e97d68320624f97eae0fe0400a7b618039d97bed9034c29846278a030d3c2e0932bab62a9ab325bc07cec7094fa427a37a937dab17357ede8d08d3b3f76e95f1f470af327f2a98ee1f56a5c69d1eeda8f0262fc36e04c78b051f4657c94cbdfa3218385d4e3422f5c4cf7d6c869113e0307a3c16f41db561c4a7d43e1ecd8ea7ffa6a6a548606ba96\nlabel = \nmsg = \nresult = valid\n\n# tcId = 749\nct = 77c634e7ac8dc0d271f8d970c3d59ecdc19a09ad5076f586942116e7125b6df207f8aa21217c47862419cfd64f8cf83302660cae993c45bded252c6e618ff225d251b0057099b3bba4fbf9480b536e5eb6f39f64f2c9b32c7d07edbedc4a642a7d69d263d88a62475769b653e550dbabc1d2fc0d14e27bec772b2643f46bc6c8950415977fe21b2f33a432617134bc208a613c3ecfcd531950d7ed44b925b3f16caa870419de62053c44984fede89b8503212531c13345868265d1fb139d2272a9f659e6a988b9f54155251601259b2c0159b3dda4910b5190694d98ae847b05b152fb63c1fefa31abaee992a46fa7407499ba1f59b6dc69c348502fcddc58fb2c60fbe30f7471821b75572f149138841972d08515d85ecf0390ade20b1630c9f7cff16bb1c0c0c566fd0e55c1090dd28f18b5019347461e4e533a1d97e553583af0beec3f1dc3a595f855baa75834eeda16f6adbb435be7044050f164b6ba4ee420ba9186027b166b50534d5607f2635c3317ca87acb9fa9d08272fc1b69eafe2d0b17b81def08851e9f623e14674016ddad14a86125f629d3642f5549c1bc69845fb7fe01b9be3c77051781635f438c6846a17a1c15669f0a161edef0c13d01ee2f53902585dd02d2f139bb91702ad29f93b6275de15bc7e537a1d2a4f8df47fd7751a4f9ac25dcbc9b2e43d21accacc6c3f7155845435faf50c275c3d4572\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 750\nct = 1dda78168838f43a71aa61151bb8bb953c204d0af526231cb804952d4e958ed47d2b51aad7c3ddf0cf5af70b87b5a5c80d9963e261309692a822294b40ee3ad67af64408508bbb18dd2b61090882869a5207197ffe0df39f278c2f3a710e0f8ea451b655fcd8542e07606af88a44a7bdecf5a523c312ff73942ef4e8105a5cc69fc1bb315f77f36b87477ff693289963d72f2ff0b6ded18a0d56d79787928ccd72b7d5d7acd61d37d632cbdce66e2cbfe990cb6ee250b8261248e81013df77448dfe1cdc5b812c8380aaa0c19e6cb11781c0e3080017ee254b89fab5d534cc4192946217718d3161c87231d955d4fbecaa817fa92800104fbd0bdff088fd65e9ad9f8513c88fa613d952634ee8306166225a2f37eb7ed779fd6a799f0e5600ef915867d88e99645bd797e261cfc9e462773fb52eb5398e4e6efc189759c2405f9506ed48e6123379ba477bbd029e8bbd11ba86239e138487ba48882b0c3ef356cc1b3cb2cffb0d2d0c9161f8dbab0a91276a242762d18ba36b2daad8527c781a2343a110c4acce2f2a4c294057765d82e86abe6ff036d9331f1986115b8a22d7e425b81f7c0f0e32fb57b2971e8a7032d155fcf61d0df5e9415344519891a712907727bff0b31cf652357e7755c68d35e22dabdee83f8b46ef4f4cba34f180b957d52488c033f4f2fe413bbd6d83e70c52783d78bd98689bd6d822618fbd464c\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 751\nct = 2013a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f\nlabel = \nmsg = 313233343030\nresult = valid\n\n# ", + "tcId = 752\nct = 0f0b837a5f4f036f5a1b38669a4768571e1ac523e89f082361530f1288a55cda8c6cb5f4b7632d4624a9ef1507546ff1416f5baf2c6b53f1bcb9aecb305b6bf57b204282c74827ee71d23398509537bc7dfda5a4810b0c4b6af3af45e838e1586b9728509124d8b49d0a2adc8d383962fe70e4524e2fea9bcbe5c71ab05ec65b5e4822a6b765de292861c86a7605e3c20d1e3f8e8268a21a326f51cb66ab0490673f036ebe3d8fe5fa39e195fd703c1c93b49f3697d9f73f683b6f70d5bf585d72324d34efc79985463ce1df5c6112720e9bedf876e1b80f36614d719743e4420a62200dced4d457ba2bde819fa7ea2643eb1a4672e6827c915920fcb94f3ea9c1b0eefdbd7e5e07d1a2d6738a60ac7f81be705645f2b33af5d5a20b09ea4c3922169bcdf0d376fdc80b355740686e77049028f2f0dcbc7c910b8c15cca7461ca5a411a9b6d750a315a250f0da703459a2147aa3633c5711d3938f863e35713b802788e2d20b0de356fdbec6d187580b75d97cdbe7f07ffba0c14bb88f32e30613a1c911eb82ed72b4bdcc232b46684c581440df157f780fa9ce534ae18d20d50187aa905611b2b045d8b1c2061b0eb9fabae940de151348d10f0f24f753cf6f667bf2689a73bbf3089bd26dd74b803ca47d9da8f9ca538f4c7a62aba73def2a08f92eba90bd6d482ade0b6b724bb100c9231a31a7a0973af2de4fd5aa752450\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 753\nct = c40804f6c7fc5ba3c30f051a719c08823b6591f45a899fc9839d8dd77157761ce610d4a138c10bc231e53f9cf87d5fa26aac8f167deb1b6522a4b365a136849d0124b09a03c4d5f5c26ea90f7a0fcb4518625c3ae3908910085be3757143e1fe1fbd23bf0942174491cf8f7c2a1b697efcff99822ae13e2f4527c1b8e5d50c320971dfc3bf8761fd08ea49f60f78c80e65edb08aa916a5cb9355e9201c867fe17ccf4bb36d69dca6789906dd27515b1dd99285f483f8fadef217c80e0a430926bdad691118a33577689ec1815565f51dea4130533aca7a57a7bd706427ce2022000421a26a5d1fadbb834e6d78fe4dba457c70820c1c0f3f1efafa8a27ba302b1cafcb9b96f41a4f34633a28e87a6202f13fb0e41df3ff644a91106925c5c3b875c313aed8a04930011dd866c7d52ed018a6233f0125f4ceae5df8ef8890997868cdd3756e42775bce57327cff10e4daf568322f1021b140262f94f4c061c31475de1807313f1621fbfb24f4d779d99c917fa5104f93324ae675621df90b02446d40ab2f319c32d363b265ac32a7ffc6d262e7903d8c05dafeba307cadd25927a034cfcfc784ef45136c950682d313d35c20cfb918490c86eb342dce1c2b68967f3f10d439849a4b6db8430702615f36af9839391b1316c0505ee18b8a35806a94b73d00bd5e8bd2b79d383b89ce7bb046e5ef957d502fcd9e0290fe70886991\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 754\nct = 9e053f731455e4fccecfdd3260ac0056a291fb4a37e297899e812777054f13c9e836f27de12cb2549d6aab0ed553544464119c495067e90699caed744e61ee17295673d2c868b41cc23f9e594a002a7eda75f1bd7e0b211c3c2e8122fc2568131b354b722bc1a29ec52e718e471c212cef4242270a4f9a765f6d077e37a01091bb13ffd9ef02c70462aecff739a2624a5d8d8f5cb8f8cd3c6eaabb683a10bd131afc6197a8d21d6cb066c610277eea1221d55c9c0d26f553ff7c22bba1a883d22f153c18ad617b506ad55e4fa04fbfa7cbc7fd310b49809c80513322b9ab296aa4a033ad3bf785c1bc5ff0c928777de67a71b393b213227e102c145e9b40357f251c19bf572a48c2e3f5f0bc12604c8475aed9baed2155028feecfdbb328b488bd5bdc031213b0b122bdb9cd44097d1813a759d13122530587be372a779e1aaa08d18a84d26213f936885b73835c27939e9c5d284076a09ecca3e6dc6e5be5c36666ac1ca1d8796502e0d5359cd6fa43edec58bc3d2b39938e69cd46e2a62ac4f6760d8c0c84765a6f5f6b66411dd3e217d690452745808a2c0f0fc504e6e56989a72bd1a59774abf529067cce618d2c39c05f0b400e644f7ede106e6eb1d0635f7f32ec04f86cd3628dba1f967b3109bf0052613fa84012da70ab4ea84e5d5942d42a0b9e3d0c80b0343fa9486c5a077fca77ffd30256cd4f8138dad30d6b5c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 755\n# Longest valid message size\nct = 592e487960f3169443c5d6f87166bef2ffd52931518f3b0e5d977f3a2101814e749fff5fe8eba424a3d439609857940f5e23dcedbb45cde57c21c28bf729e396530d21fbcb96c97a148c5708801467b15be1eb0d35206105f543d21022fd023ac89b616ec790a9182aa053ee4aa7962f33f4b413a48ee3d53b2d247988683d4db30bf4ff6d80b6d0ce82e314ed6dd7607df577f1ec956acce51f744f89e7c6a770ceaf90b20665df2ca8050ac25ed29ca80a0351ad790c3b8fd00527195f427410dca6bbba37a441cb82e44383bb4e077fca32b27626051c13886392c10a305890454588f508ef8d9d0aeadd8bc78991fac96c5ffec892381b03580e28926d8b3a51da862951a05f48ef809b9ce11f23323ed10fd597d0449acabba954079164d775abba56da956c513b601d1846c867c6bbdbadf195db11857d4135c30c2b5898782ac9346f7fea4e2ec80b39b0ed962e0c1b34494af4441e5dad6d05fa7a47763368f850e3b81451b47ec12886fb317f5f5ca688275ff1d97410f8eeff8e210680c799f45dbc47744166d5b470c35a9df574dbf1b255931ec98e82e10985ea23daf960862882eb3ed17a99fef36af01b6168b22ae7ae0c91045f79da51fd62317630e123e322dc692c386bb9e30013525da3289321f311b8cd4e90175573debf08f772ce6d9257a6593557f9edd956c827a285f7bc620e262a7d64b8c56478\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 797b80425ab0f8bf5677c478c9847e81f470d8b6d80c5178f86108d9d13491716eafb9de5b7db81193b7b31179a944c2858bb8c6db28113cbf9599677468781c5db6b72c33f6657941d642a85ee23e65b982d37098284135d6acd0bce80ec90d3d05e9fcab8f835d53249c54bf45f631f87baaececbd4b994fb7291c74768b45c7bc938518a04fc5ee5f419e84485ed2630fa36f85d5cb1961fa70b14fb8120762aef3de8f3383d5d616580ae1ae9010fc433fcd62f754a64f489d2298cda57283645a96803e37339742d2c88c39c35ed3f8ffe1114a7430f3f37eefacce66d20ae7f8211509e95bdc17cf8ebaf49d9ebdeeef2659d21fcfd8fa849e23049e4fe4c4146634dd30afda05ec611799b57e53abb1b5a058f4f35ffd799905ddb8768e91b5718459809bfd5194e1d608c820dba5c3aa19a217a641d960d82e486544d61fe18256fb190dd3e32e23708fbe81]\n[e = 010001]\n[keysize = 2688]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00ce7bcbaaee00bd68cdb5277b331e43274214828dd91d4a24bdbd44f9a73539aec304c54f07d2584c7512cecf6b07ff1f496133c3a2752c8098aae07857f524376ff920a52799deab0d35879b32c8252084d7ff62a50f51c5557e1a986b0d01d88cab3c4a0696632bbe4f52cd3ba045354754aca082baf092fd99853fc9bc91ab61ae32c3250b2b8778611801a1f3efdf14d237e5d2a611d085c4b70ef7c35ac19bae832683eca21f519cd9cb02fc100238b682ea99c5fab984fb9c428bf313222c4491158527d4f3c13a83dfe018aa9e642bd3b6df651d2e05d5475cac25c960c7e67fb9e5906aa343941ab1b0d9a8c330d23aa9454f3ef4fa5a89cdb9abcedbf4d2183ea6832b312d2a65d7f203572a4b5b2435ba05e745342b2aae76bb28b9b3e879e6e26d9bb3d15b847738218d074f495630bf0a11a40f1edbecaf3f6ebeccccbd974a934c3e9848fe43d64bf0b3]\n[privateKeyPkcs8 = 30820626020100300d06092a864886f70d0101010500048206103082060c0201000282015100ce7bcbaaee00bd68cdb5277b331e43274214828dd91d4a24bdbd44f9a73539aec304c54f07d2584c7512cecf6b07ff1f496133c3a2752c8098aae07857f524376ff920a52799deab0d35879b32c8252084d7ff62a50f51c5557e1a986b0d01d88cab3c4a0696632bbe4f52cd3ba045354754aca082baf092fd99853fc9bc91ab61ae32c3250b2b8778611801a1f3efdf14d237e5d2a611d085c4b70ef7c35ac19bae832683eca21f519cd9cb02fc100238b682ea99c5fab984fb9c428bf313222c4491158527d4f3c13a83dfe018aa9e642bd3b6df651d2e05d5475cac25c960c7e67fb9e5906aa343941ab1b0d9a8c330d23aa9454f3ef4fa5a89cdb9abcedbf4d2183ea6832b312d2a65d7f203572a4b5b2435ba05e745342b2aae76bb28b9b3e879e6e26d9bb3d15b847738218d074f495630bf0a11a40f1edbecaf3f6ebeccccbd974a934c3e9848fe43d64bf0b3020301000102820150797b80425ab0f8bf5677c478c9847e81f470d8b6d80c5178f86108d9d13491716eafb9de5b7db81193b7b31179a944c2858bb8c6db28113cbf9599677468781c5db6b72c33f6657941d642a85ee23e65b982d37098284135d6acd0bce80ec90d3d05e9fcab8f835d53249c54bf45f631f87baaececbd4b994fb7291c74768b45c7bc938518a04fc5ee5f419e84485ed2630fa36f85d5cb1961fa70b14fb8120762aef3de8f3383d5d616580ae1ae9010fc433fcd62f754a64f489d2298cda57283645a96803e37339742d2c88c39c35ed3f8ffe1114a7430f3f37eefacce66d20ae7f8211509e95bdc17cf8ebaf49d9ebdeeef2659d21fcfd8fa849e23049e4fe4c4146634dd30afda05ec611799b57e53abb1b5a058f4f35ffd799905ddb8768e91b5718459809bfd5194e1d608c820dba5c3aa19a217a641d960d82e486544d61fe18256fb190dd3e32e23708fbe810281a900f6ec9360176174fa13c61bf298003b11e3d2ded52e4a8e97cf62b2fd90fc3fa7f68ff04ecdd79df65940ec4dddfbea002d32a8fdc7ff77732fe968f5cef0987efaaea1", + "e545bdd604fac780608c022b0bdabd328e318b0c1bcb5ffb52c2fb3c1bf7690963592a453223f6da368df954d92c40b42be19df97671a532a24a239eb407ba2fd5aafe9c110c22015b412f7476a1b00afe586f3226cea8cdd9b84dd3b7f53c26d504d3d8930281a900d612b2272268a71e5149d20ea7c05c2c565740a0400ef61280f46b03c3c0591e4851e3419e3fd49a658189d918b4778e16db317a42a3f0613d5c878226e254cad7d498d2b8ed1add27473477535b7cd36856f09978853ebe638019da2741a04e8420afadf9755a6aed5d1c00fda9a9e21cb4651264f27dcdebe21407d53b417e7aeabbe075aea5359a6ac748b060cccae3bc368ae33125c9388c713839339c58801ed8e7178f3b610281a90098d35f7b8fbcffdb6fb5a3c288154c7a0c198d55402b6109d08f73dcc0897f1483e41e85879d35e52ce4a3dca5d1aec8a130c3ab1ec79cb4ac28b88fba9eeaa35ca00d0f8c14ac8bb473199fa7c807c07487b8ec8cf9546b377a966068d17a288cfe73930bb2bfd502b15be97c019f6432a17161df6818e817fa78d63d30c29f0651541dd891712293f1d0091cd5342de070c6bd191ae95d5f76d6c133f2e760e9e56adb58fb8d050281a87936eae397eb343dc97f884ebe1400dd26228fb86dad4b0e9d3048ec3fca496c093d3cf629da30d32008e27a282fffc65810d38a4bf3b2280d6bb85b2d135939e64e3e1e8b91ce754d49575efdb73f0e21f5a094f61654b9cf7378affb2c80ce14a8c1713c6083cb2a0e5fcdfbd4371a8e70630eb0545281e8400261910ed57dfdb1aea261607bb1c77710d28af4b4e169646869ea4d28fd3064edb30d48b90dafb647d14a98d2e10281a9008cb941dd77a87bb28e26bfea0f7da4f8068d03c52026c02b8d06ee69929edf485648d27903b232f0707a0c6683b0d3d3526751114b29e3a11056c6ddfd42fac65ac927190dceab4ea2fe7e4cb588f328f6f48db215ba90ef39a5b9053c03aaaee877eb4aa051201363fe8abd754cbdd267c4ca8883edfff36dcfe4a3305d70917a856b201486efc81dc6b30d1f82c45ecd33643c59273ec6c17e765fbe9b3ec061385da7725bd2db]\n[sha = SHA-256]\n\n# tcId = 756\n# em represents a small integer\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = fd31f4b26df9dd1b439b0df1fa23cdc1793f7e08a5a3f12f9550fca3d8c8aee000000000\nmsg = 566445d5b6b1a0e3056b5048caaf55059e741b990c3a180b690a5a578d679c2328d0637856b9207410815a597d37929221ac19f3786dcd11e9aad68b98521bb907fbdbb8b0c0db468c12f4b3ce7153cdd32e657a0d37e36fd2d80dead942a348e4c9b24458e0307cfefc3cdc3337582c0d11f8a6f0e3542acc5eae7941b4761bb2473adff50b449ea9f7f9acda80ff51d454afdec018ed50e2b8398a20d60f1e7f83d078579d1f04ef21f9c1be0a64b374d5de3daa8595f4e131daefe77b1fe4e7daeb0d345cc4d49f8e6b7675ee1aed95e49b06bf3c96c0cd036ab68934bce373d0ce0a45367135b782168fd64a12ee499d96d570289b8fc412d1c399b385e0fc8dfdf9529893e4eb3b350c9ddc\nresult = valid\nflags = Constructed\n\n# tcId = 757\n# em represents a small integer\nct = 83c7361a9af02607755a9fda9f26fc2d5c1471d557481f7ac846998f9428d698a83a0565c33443e67c9f7b79451c07e19ea2d3a7e2719e5a1f8978f53de23a187e125f029ea565677c1b754e1ce30740fec7646077b3bf976646103a37068e17da104e3965958404be7d13b69e710056063a897406167ae132aba375f9d13cce79962ea66490e81cef72b09b36ae2ac609e75b7e2adbea444facb6d450212750d90bf3faf1562175a490c98a6737ba21b540145600884e8eb687d7db9a663f56d2212c9c3084c61f167e5604f66c606f50379d277bbeb8f106c01d55fade1841e0f2e7779333ca4e70a3773f258881911d62b4beb49016c9978c2a2e572978192b7ba6c0a987c2241ef71cdb04ce0f8a80a7a68af987472e256d9811198b54de836e61a25e4e9f5eb2765364cb43568df6b7b70a29b743b83a28de505082cc2d510218a330d7e63cdd427e200aada877\nlabel = 030b72ac6ef0692e1d921f09bec31705a380186515c39b5c5d936d17fe8b7f8000000000\nmsg = 6da4fef0fc1cb59eaed8ae4804bb9ed66d58672ae3a1c6dffcf178df1f87750b5ca731880d675c444c49d0ec8673ff4917e3fb301f05f16457e5f22177412ba62307386440f1736ed69a87d8513fd424fdb3de086e8bc9c731ea635ef7cd827e5dde2c3d03e53086e0c1f3e6897fa4e69dbcffa5ab3ce7a29dc08edc386d53a34067d1b5d0b3d9ff3d645acab3889a68d98b0c7a52a21c6d0775d57da7e592a6f8a6bcd39b1254b496ed34599ed3f98323a90577b002def086befcb15c06e50d5da0fa0d9f0376ce9e33e56bb90ae1a99ffea971c0842bbf6cda6975acc0a43337140167f2ebc6778cf639e70f7db98fac76899dac78fabade3328b4db1721eee3a66811064f06439c55e12235bd\nresult = valid\nflags = Constructed\n\n# tcId = 758\n# em represents a small integer\nct = 2021b0961b5166d95d3dc85236ffe569b4b4f3c2d679d6469fb105627d2101e2a527b56051d6ed10660f877bf03b67a602c2e889fd16f270dca242500234675260e780a5853836a5360ab077c43a44a6c745512f0584f77fecad7a2b556a25543a2c248b1e256a371fdaaf36c26da7703fa74ae13bbeea765ea37ffb84f782e29c898a8970a173eea01eb013c9d5ea077563dc9550bed14b85e330a07bfe93cd216f80eef15d3936a62ff2362af741d5bf048b0070710e93394488340b4eb3438d30137ab6fc7f83a352aa287a994b311cdfdb39d8e5490f1be38c9d4972e1d2ac24debd71c99cc5e5b83a90bedfae33bff47735c8f9fb1d9560bd0ca385fded0391d0834b0b85d4ee5422c03b90b66679ede6351c21afb0658f4e2f6caf3608d7a2d76f48feb6f98f135baf2726e9f0a01250d783f30ffdb9c15e13ac7f3518cf5c3f02f0858a475b1003e507cc3506\nlabel = 6b7779aa939ebe421b73de478aba21787a2f2ff6998e40dce75d8142caaf2cce00000000\nmsg = 6e94f24b3234914cd0ae7a0b1af7e52c211a4d0648fd78ae0a39bd13305d25ab43b4da9c03c0c6d74abeedc6da6cc40836e5126255d04d025e119e12d9187bd0f1e3a27f27deee3895597d6ce1f9621e7efcd324ace0bf20598cadb48e236baeff0a57d8f4c57e2a426679adb1edab49101b227514d30101b46dc6bc81aa07b506ad6c38e1d7bb2246932a27a48aa8fe38e10d719f994e0060e983c5497210c99f711c400d89a8e56041044e0e838d55a85bf196139632aa5b5ed4c9f252434bf090974294888b1e9909adcafae9dca6455d949f4a60215d7219928c1067ae3971779c311cd57f0d39d9b947d0e5dd405bc6902c271ba42b07d4dc65e0336f72f5155b925162d40527948738e47a\nresult = valid\nflags = Constructed\n\n# tcId = 759\n# em represents a small integer\nct = bf432cd4f03d57a67ab6442a8e7f637d9b35df889a2b939872b055fe83406669b2cca2a32bc81dbe2afc0126b7a435d46a5fb2213e9a9269ed5d70efd3f08e1f65aac1b0bb583d5a128871c334fbcc954285a814b23d79bba859b6414a6897e8caa20269d38de040cbb651bed56bb80fe4aa061fabc40894ed204c4192ef13835bf2cbffc6914615a2611786a8a2d1f16d57864dbc9cab00fc4b980108c5b16de32479404812eacad066a1ef78b04c0d4ec3973f3f0c2800b194da98e66365cb32f2b737dcdfc9e9d8ec33ef2fa810172b48fc58aad1952833b50e6c8122ab7c9c8820fd418958f37aefd25c577540abf66d771c16a98584f04593fdfe038c72e83f34f1741394214ad89ae53c2d287286988f6c809f933ffa5179f9619e44d23362756d5bb93a57ea9345a53642a8f841f8d387fee7fe8dff90148b3784fe4d43124d2f01ec0ac0706a24173e7234bb\nlabel = 9fe2a7058ef3f222c8d04a2b58a8204f5ea3ca96e4f4b240f0c734a14a76637d00000000\nmsg = 59024c2047e31ca3dd167345b6864ea868f520599fdf17b572138e9484b1640818f68b1bec4fa9b91f099c4500f46f0b94aeafc4612cae36ceec0b14a77b9b38933cdebafccf411ba020112b770397b8694b17ebb5fea940d2c066903ef434187d6e26bbc5d45afdedd374501b5fd84c65c4142df3158cdc26da25cb20d54cf8898bf185995d37516cefbacff43f63ce3da2dffd8d307f622fe26d13489e1c15f25847402d397cccc53b17f5419d9f4988b42de234fd94a7c47f71089989a1f0f41654ef007a9f5009805da4021d3c58c71820fe04a48f66e8d7323ef3c20847745ce2e9bf7972b6f92f2585ad44c1ee834c9f6baca8735570118aa6d5c3e0dc1a4d9e5d5c966b9585cc061728dc\nresult = valid\nflags = Constructed\n\n# tcId = 760\n# em represents a small integer\nct = 9737947aa7ec32fc56d15bc766a94ee85d3d38aeedb4e2d937cdf28f9dba9fa3c8c7bd283c70ab950229a05ff70dd79447eec95ed7cff64d004f030479dd232cc54c6fab7b44b628463f26e585fdf9c002b8f011412753d16f25059209395c838d604bedbd6c76d49ac48506667852f9e92403b01522285fe947ce98e237000af62ec889c92d411def1a30d757afe65963ae8b76647a4003d4e631a5c7244392ffd61a507b45942c460c1acbdd30a2d308e8733be418a7598daa17604cabd911237a317efc632c8750898823ea81bb7dca2a6b74e960252604fe9d08a8fd5e8a0ab4888d24dba338b90f3004f28f408455f2d985f0a17f0e02fbc29a2cffb91f0e2f5b285fdef7daa2643589d47a5d236b33ab329834b7f2864dcdce17349a4dc8c05b2d2cd17755cf2a77246d30b7991b1de3cf145ab4c1b45031d2b334fa96ad6652d5dadb87ef9dffe68ad1dfc23f\nlabel = f9979c77b2b68a1f56978911c5666a3fb70fcb5673f6dd20ca5c948bc8967f8d00000000\nmsg = f78ae85f856824d2b137936cac4b1de1e8264dcced0a981f131b6462f8beb28b05677eaefe2ce6ba308793fe1fa14a4f7b6a347e35f45e3f45e761a6ad4b72074ab2c19d7d2d8cff1db93e8471136bcf4a866aa69072615c09f597926ebe32ab238be95e86877b57bc6302ba564f028f9b91e40f832f173", + "ea397a17ca9bb2696b50f7518ed67fb9bb468f81b663af10c8a838c68236e4d98da21024c6090eef52c412a49ef3623cc3a82bfc29e2a9f87a113a3484902fff49a634bae817432514a9b6ce21cb259757ef403668c80224eb8c7adccc78125b2f053e4a4cf2196319c58bb43d966376862f4d52d7765ee1cf0c741b7ffa506301e60ec42b6ba13300e8e9d4e998a58aa8a71d66ee3e2\nresult = valid\nflags = Constructed\n\n# tcId = 761\n# em has a large hamming weight\nct = 19fa72e2d7acf62e29f2690b551f8369c5dcd3f1b50924a2417091a1c9728cb97d31c5c9d273220012f7cb66ab06738a29da8acffd429956804407f10aa553299ae007e6c68badfe555549243edffe12772df9ed5dac565fb195bbff17a8df27479c8d4e4d1df190e177adbf36ec55135d574dcc41d87ced757ec28e7020cb0985834ad911667fb308a013307548f385dfc947830da22c31f299debe7eb87627c528d4006e652ee96aa13c41648fd2a8ea6eb8605f3088ba9c83ac7159705b804900af1dc4f06da64b89d5f5a785c4a9805a8121149d6c66ce0cddb2499d05e873cc04f90bd2f1e7222f499b07a824c75413fb9340e5698990f4bb3f8e5d4d8dfc2c25e1826f1bd0761bbfa29d3497ed2a87a7cc6d0095f86ea64cf60876bdaf04dd3909191c2786e00106b7ff8c707ab90c17916300c571d98f52a4ebcaf3e867ff9b4bcd8f5792b5ee4ad466af408e\nlabel = bb45e376fd8021457ce35b5a9d9a4e99a8c9afdcce71e4eb3bbcb68bb268f7e800000000\nmsg = dcd300d68ec1de1964d67f63b77f329f19375c1eb5850d7dd1e4a612591e1458f05d26fdc2106abe7d33fbc65b62a5f0db89a50a46a989a59606952aa0d5777a9a735424f06fef558c4e30746f0f6dde87f2dad17adb4ca9c6d44609a324288c5a15e2c63774bcec78ba9f40b200c488637d9577f67d52fbb3bc9aef7f4ba5f052fcc9daefa322a088841ae9309799dbf7eb92fbb6d0751279323a5adbcf4e96d071c0c4f8ac7fbfe1453fcb482a6a1c72c56ba6da3e63a458fe69469ae0ce6eb80b76be848d20307c95ab6ad30b58e8418397d8f5d6e50902cbdbcce4e563d29f64f5abb37a1d23b7d737dd29149e774aab060f6371feef8342bef8f2b27bb860f47f9db37e944636abbf72e318\nresult = valid\nflags = Constructed\n\n# tcId = 762\n# em has a large hamming weight\nct = 1e0827b996a9ea6e80de6c61c14f42845a32ec21dd74e2659bbe055570acdd585283d39e3c2a26dfeab2f8cbfdc0ba9d392c4c9b929119826c7edc9ebd6288b721668ed61f491ade80617b59a32f15c56721f6f97ffa0c7f4535030e6676a4f6ef2145f7627d8ea34a35b550d4339f832fa3366ddef82b9435b9ea586b4745b034207a55a69aeb5e6329315190200d10e2db2d09336c3918dafe3d91b2291af8a179ea196bed9b3c2c76df28c03869403c2ebc6106a3b88673772e644f5b16c7708a3f856ccd4f605ea8c1e742146c472ac789c7af478e48c377ac9a94b2a5dfd81f1783be3e7d1502fa6e584d292f1fdf8991b149ddd73bf678129b77605d392c28387af8c7b77396ecf69300b7bdc1ae368614ce35050d4e22dee725a956c9b6def5a03fb1c08b6112aacff0771c19ffaaaa94f80c16d3c3f519d6c2672bc61f63a147e733148bbcf0bf24d456c630\nlabel = b445e376fd8021457ce35b5a9d9a4e99a8c9afdcce71e4eb3bbcb68bb268f7e800000000\nmsg = f4128bc55ad62be17a509230a6789d08945ba366b5da4cad1886d056c37ff8da0452d7a9255837772c42b9a6f981b00b6d5e4ba057217cdd73bc5e21abce4c2f0d788ece62e890bc78a58f0a970a755c2ef09e45fddcfa558450534a6269c2901d4ee436c85792ace8056d83e105915d3f85009e703877dd0bddeac06924d811de7ccd2da5f1a605d48e4734db7ed0b4cc8500cd7fc0baaddf6a458fe2dc7db37dcd053cf9fdc3995010875929258a66e9bd47ae9a9b0dfabeea5ba26952cf1c8bc8d262d8be6012799764474779ef96b91d9c8e21ec5dcb54255902b795aac626425ff4c9eee9e94f1998111394d9eee23108e2e90e5eb89da5d29bd7a8f34b54f81bda01b04cf2ab76d0e4995e\nresult = valid\nflags = Constructed\n\n# tcId = 763\n# em has a large hamming weight\nct = 6753ecb802eee506f36fbcd25308e601fb35fa8f80be898d22947a25f10df696b23502542fd9b356cdb293e0961a6a1c8915bd1c67bf72a07cab3c34907b8b5dfaec4dff55f23123ba390a3c130a5a8b9c5a60ce030929dd2defdee820a1a5c0e0a6149ccfe2894eef1b4cde08bd77e0a5e2efb54e16c1ffcdf8365b88d64de0ab3a6bd48a92e91cb7001525d713ef6059a973a97b967d802923fa38e760dd044672302283e905c15957140e20fd34f1e41390ee8e117aa0600752de7a5b43dce182cfb5d07df358531a69aea7ac2c27953d3580a9fa54a11e26dc00241ed44955ec092b2decd135f6413085531de2062d873105de345c560016b49c67b08f689dcfd2701d5825c9644a2387b4651d8aa62189409d09c6c44b7f6f60913fec90df2e8a56746d73e64050837f024756a9a8237f1f0b0df59956535d37fa57c6ebfbaf9ca518304c4405cd1aff04f024c5\nlabel = 9345e376fd8021457ce35b5a9d9a4e99a8c9afdcce71e4eb3bbcb68bb268f7e800000000\nmsg = 27a89a06aa5d2a3aed79cfff401e6eb2885f364672bf531920263e6ddbe12863051acdad2ae76f7e7c9c4429a133faf51a3bdb9d2d547ba617cd6a8e44567ea1b510a066a2f2817196fffdb24ac0bcaea730d05b49a6e64fb45d5cb83b33f668e884868a7bdb2f3ccb4b2b0eb61d88637ea5e49d27b56331a3a3d0c17fd296c136971473271f212db0cc90caaa9dbc2d7b82407a3769c5ce066e812a6c4eb433f7ebccfea751df37f8369c6485a2812ceef1396988a11716a94a566972b4b48efb523904e6af4dc1f9f0a19847bdd3fda8431c2ecae92fb30c681e02afec8577af35c5600af9b584bc572031171668bb534531d944a736095492093503c5479758588609d0a55044fa7c0d51643e\nresult = valid\nflags = Constructed\n\n# tcId = 764\n# em has a large hamming weight\nct = 0b0e0e837c1cf9a29dbb2999f3d21499d1bc7c2c36376987587b2d748af3bc43190e244bd13d863d1b1a16c17fbf84d80fa9205b8ff1aff18a0f09cb3450f51865f23c2e8c1ba82a98ea0cf3fc83015b18bb5a3939c2d60c78c8de9912dfead4f982eb7a9742add0009eff08915073a979aec74716fdeb86561ae2125779dfe4e82ee5127d87aa17f5ed7bb8baeaa6d55ec3a586ab4c3cb5da7076489e6466f54f89be51be5344c2c12e3a3273147d2e80525e9e627b6e1e152a777dfa0d52676ff3e8ddab90eeafe1c0fd89cff940bfecf8e552f3c905df2ae124e5431c359c4308df6786e07d5aee81041e253b62e96ee4c9b6a970f4f5f3e13200a400e72796cb945b069253ba4572ee20b81764a310004eda405f1b5641654047f905f2c4a498d412a1ccb62ac951aba434cc29d9a0393457a4e71f3f5eb473fe9e2ff91fb7d09a6a767c62ac5fe176aa26a4f501\nlabel = ea45e376fd8021457ce35b5a9d9a4e99a8c9afdcce71e4eb3bbcb68bb268f7e800000000\nmsg = 6bb6986d4046f157317f495de89ca36b1f00b1da785e8c8fb7596cfa735945a9b9ebfa8ff326eb86b95f366ad0f13edaede4f8b435adcaae62d29136d2fa4608be429cb60e41ccbabcc10e93be620ec9171be27a8a65dbf73f7861513b22d75e91857f5001e34530f849c41c34c7413aaa0d3edbf0e1d44d9396c8d878345ed912cec93045b98121cd6c22325930ecf549a555bf5b32ba6fc27dd750b383553b16b2192745a2c00734dd6903f1efb92ae17e9bbe8913f9ede63d2a0429075cb7783dea7946303157eeb18c1108b90bc860071e7389a27418578baabec382842a3aa3bf3525e7a657a3e562d2bb28e50ca682c0724f814c91f2985af4928fe259db2a04eb4ba9759a3e42f0eaa0c2\nresult = valid\nflags = Constructed\n\n[d = 645ad7bfec75ae9d5e7a86509e90ee6f8fb8c5a35fef3528a9b661afb714565df001981c1a9f8b7020103c36b548d34bf05386109c7e8b21ce7fb658904cabb354b2f565da32538b8e12307c4f77b73407841dde34c262686d67c2c544add7df4649faaa3bba4d482d5e53eb9045e7ae7f59007e37e9912297a29dd02411f030db41fb1c947de1a8c5de0c62937e6704aca0b11aa8a0e189112ff476ac3c697a4fc83dec0ec8e0700ed4f4706a4032007797e2a852c65505d677727ec16bfe601e6f04e215ea7c74a7940272f82b878b2eb7024717948ca2761ad2d7760f6a835727ea2f3b030764d87f485f5ede973c3fa1f43b88a72a285dcba96a990f9dc55cef988be930ba7fad5bb573eec0fa83d726ecbae2e3ce303fa901cd3dc1da9a5efcb4f2daf6df4131c70eb5d74b3f5cfee42eb45c04b5af07534008fe2ca4c1cb278405a3781ae235122eaec72058af5dd620156411e7617f030930b9125a992677cac4bba2c70ee1ea893908d641f2d37ed6403f7c540750195c382643df42548624362251bf959f151c5d4cfd5892c606f0ad55a5c2fda969b6d310d1c5d554c2ec1faf674e2860613828c93a4f36711bf0c4ceba4e2ec449e9c1787c5d47458e33c34577631f6bfeeffb581a8898a4a1503e271e6a42079bf2f9a1c82523336019960f032c979b1f196815c472abf330c6d5467085c5]\n[e = 010001]\n[keysize = 4032]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00995756e3c6914e73aa99b257d9f40e8ae0f58e9bebefde0cbaf48df85a5143f1427e5b38f98ec9a1404d54c108b7a55a6a95998b23468459a88b80eaf6e7bcd136e217825ebf358825d9f8a64f2e0a3a8b6458c159e59a0f93b4de3acfbd090fa1fd6435598ff3812bb61185f162ba0535f593ed73b34c2dad2cbb4391ed5e168bd05c567eae42bba9975c14e3b259f10a602a2eac4991f655cc8c65c7f2ffa6f4ab3ce64c211bf7f32f79db861fdcab73bd5500160d4f0e2c23beee6c0338cac54e30d781f856a8c1c4e92d066536d066dd4339a35a5c3591194b706682a1f1ef9b111542ea6d05a3c3018392db8cded04e54d2ac73115f31764c9eec0c453e52ad7c9b1b28b47743138c8c624731b41c51d05446fb16d32dd756a74167aa40ccbf95f76f0b94986c4daae1be280bb03ad0c87448d1c533e12af7c7331bdba5c0dca490da65a8fc5f3ead0fb49c7a8be3e4470179da12db7ccf2dc16faa1c82c09dd26571478a162c8850de1e9359c4522dcf83931a662069992550e37b890a17c3dc5364f144611f452a6289e11814e21be16d1c6ae646ff6cd5c22bcbe94b4fceb72949fa900f68afd5fb7811d11ab4169bc1ed34f50dc79b4dde4dca668e7921fbde84719096a183de404cdbb50d8e1870f3d1a36ed7b8c6056beecf63da2ee3ab2ef9e80bb5b564bd78647354907bb44a815c583765]\n[privateKeyPkcs8 = 30820919020100300d06092a864886f70d010101050004820903308208ff020100028201f900995756e3c6914e73aa99b257d9f40e8ae0f58e9bebefde0cbaf48df85a5143f1427e5b38f98ec9a1404d54c108b7a55a6a95998b23468459a88b8", + "0eaf6e7bcd136e217825ebf358825d9f8a64f2e0a3a8b6458c159e59a0f93b4de3acfbd090fa1fd6435598ff3812bb61185f162ba0535f593ed73b34c2dad2cbb4391ed5e168bd05c567eae42bba9975c14e3b259f10a602a2eac4991f655cc8c65c7f2ffa6f4ab3ce64c211bf7f32f79db861fdcab73bd5500160d4f0e2c23beee6c0338cac54e30d781f856a8c1c4e92d066536d066dd4339a35a5c3591194b706682a1f1ef9b111542ea6d05a3c3018392db8cded04e54d2ac73115f31764c9eec0c453e52ad7c9b1b28b47743138c8c624731b41c51d05446fb16d32dd756a74167aa40ccbf95f76f0b94986c4daae1be280bb03ad0c87448d1c533e12af7c7331bdba5c0dca490da65a8fc5f3ead0fb49c7a8be3e4470179da12db7ccf2dc16faa1c82c09dd26571478a162c8850de1e9359c4522dcf83931a662069992550e37b890a17c3dc5364f144611f452a6289e11814e21be16d1c6ae646ff6cd5c22bcbe94b4fceb72949fa900f68afd5fb7811d11ab4169bc1ed34f50dc79b4dde4dca668e7921fbde84719096a183de404cdbb50d8e1870f3d1a36ed7b8c6056beecf63da2ee3ab2ef9e80bb5b564bd78647354907bb44a815c5837650203010001028201f8645ad7bfec75ae9d5e7a86509e90ee6f8fb8c5a35fef3528a9b661afb714565df001981c1a9f8b7020103c36b548d34bf05386109c7e8b21ce7fb658904cabb354b2f565da32538b8e12307c4f77b73407841dde34c262686d67c2c544add7df4649faaa3bba4d482d5e53eb9045e7ae7f59007e37e9912297a29dd02411f030db41fb1c947de1a8c5de0c62937e6704aca0b11aa8a0e189112ff476ac3c697a4fc83dec0ec8e0700ed4f4706a4032007797e2a852c65505d677727ec16bfe601e6f04e215ea7c74a7940272f82b878b2eb7024717948ca2761ad2d7760f6a835727ea2f3b030764d87f485f5ede973c3fa1f43b88a72a285dcba96a990f9dc55cef988be930ba7fad5bb573eec0fa83d726ecbae2e3ce303fa901cd3dc1da9a5efcb4f2daf6df4131c70eb5d74b3f5cfee42eb45c04b5af07534008fe2ca4c1cb278405a3781ae235122eaec72058af5dd620156411e7617f030930b9125a992677cac4bba2c70ee1ea893908d641f2d37ed6403f7c540750195c382643df42548624362251bf959f151c5d4cfd5892c606f0ad55a5c2fda969b6d310d1c5d554c2ec1faf674e2860613828c93a4f36711bf0c4ceba4e2ec449e9c1787c5d47458e33c34577631f6bfeeffb581a8898a4a1503e271e6a42079bf2f9a1c82523336019960f032c979b1f196815c472abf330c6d5467085c50281fd00d2462005443fa04e3d3efd7f325e4f88e36c3b8bfd1877a8459782addee1d676ab3adfdb0b15377a4399edd4163c1b18728247f73379d61ba20d37cda15ed38dff0124dc34f38aa72deb4e2b2499273ba56fe5c20464ab2540ffbb36ffa06c5c1789ec07184b6d1d08757fab0af074aa60ab2d87d9c80a4fc067fd29d688aacf18733d8aa9bc73b04570a666354e95907d21a20da821fa8951df6457a7dd71d9ca50ef676b728632d4b250e6dafa3295d0202789c91b2e11dfbb63a9cf6d787b7629a47e0c81e7f1a7289a54942533e972b8a9491c9c13fa4add45674520121d9a17d144d802fa61b51b952efc7bfae69fe5b1c073806a242a79a8bf0281fd00baafc9b7d6686ea44bf6e83fdcd5180ee05f027897c60a1281bbe865ff49d110265a329d3b35c12ec2af34591f296a526814dc483cf8faa9cef2b7253eb419065e188312943dab659d79707fda6c95681cab1f7d30eb5f69b81d302cf70f035ccbad7f968d3c92ad518722e8e568bcb243a4ddb04e7ce7fcae3820bbace604119486dfce069eac4a330ce2dc9b75a689f3e713ced4d56c6981139fc1f13b5cd613c084c16555a060135df9a03baad4f459f82a60565f8a73b4fa3d6c6e1d685ae5892be6e0b4c4e5de289115c9ca7b8e38f2f9fc5ca7d3d1ad84d9db65f34cdb0c6ba88107f3ef06131117afacb91a7ae6a617bf56b10cd5fdf624db0281fc5d6054b1e207db39434b68a90686090dc1e87b5d040ccc7e46412cffe73d24ced7e5322984776c8677e4b04f817c399016b1b2219d935a38353367778254a8dfa2c1304c359b7d1416792ae24fc34f3fd68ca55c0e3562270e014272fefb8f8329d4cea2abf03ac92ccb78e14cdf50ffa423fff9170615462b2c42a944a2b62f772d1dc428f20df1d6345b4082259e976669fc1bd2711c5fc4a2ce5d7aa704faf13415cc3853c832646fb72b7d4ca4101137663772be062c5bcd4c49c95a54a986e4a12e74816fadc94c67946da143b74481aa7354281f5b03c9d51b320036eb3c559d51d41726772344d76fe121715ededcd29da2ed00b584c337e30281fc135609caa4c6844f381f06c736944bbd9eb7b885cd12921080a779d6b6ae6a9d059bea0a270bd64a8597a810630de3194df67b2a70464990350326bd10d58e91fe4503ae74f43e40742313e7ea33bcf5dfa249cca9b8775577e06e10fa35efdf38a96bc1a83751e9e9bbd97dcde51f4647835802dede4918fee2896166f31c10c6158230d0b6b699a8d7f8d768b2b2e12f060c232c203eee5e942dc3e4bc854d1716a5a972598016f36a94646849b56ce9b4ae8ef3e3496fda9ae0a9ce6df55514d93456e18757ad8769243de17cbb776ba69f05e882e9899a335c6d410e0633da017c9e80b85f557dbc137bfaa3e17e414d8ac022b68be1ce4024690281fd009ca755f4180ef8534f2d2ba24c3d125bd4fdc1f2793dbef9eda5c6397f471c207690b30a6192219d0af289b1691be0c8e6cfc89b40a992e1d2fd11c5302687f7b736bb5629f8b4dc08c4b15966d129980d5355d0963cd4d0b2ddbc683e56793c79292056578f4a5d13ffda5f6565abce5bd049bf571d961ea55cab815a075ea063eefc331df814a070cab6228760fea1bb579bfdf9bfc179f5136ef6a534ce9f06f4d11ec339721ea3f05f9fa0fcf4a767d01463826ca65d03fd64f8d3aae895ff040266b5fae4a5de892d560584aa6695091438bc07b830ab8824b1e24f75b8fdf587c508e64b7096ba8d7b02e3a3b82ac5a4b9095c95991e48e215]\n[sha = SHA-256]\n\n# tcId = 765\n# em represents a small integer\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = 36ba1262901a8648cf7e3bee50002d6fcc3057d112d8836702e8c199b4c4edd500000000\nmsg = 1d18a7fb7eea96f8cc8830623c1e90fd599db85e504a07a4013baab15bde6952e2765bafbd1ed49befc869662bfd882b638f71138263bf5f01d1de5dd8cc7014ec829b0cec567ecf663642b7b9942aa8ca4af1542045cce7b9bbfd61f09db44917c5aa35ac9b5fcdc25d03407878636ea71dfa1b3c35f2489880a8677fc24dbd302a9c772bf34eca34af4960e92e578e0ace96321ba8ff4edaf868ebf76670e60db7f4b5d4802e6d0260010647734697fb3141792fe78f0aa69ebe5f95c377cfec8c0f6b303d5196cbbc2483276fe92dcfc5ab7a2a79ea95337d43b3cebb6e2f3f8ee0037807a567321b7021f387de6e57bb222c6fc6a095834febfef32a29125253daa6538fc5f38dd3694061426a653d47eb52b18c3ac8a17a0855b214c06c072842ef0627aff47719085508b5a8db53d0178f9010108ea6bdbd58ab5bf799de75811a524129769d1066747d9833607448dfef5d916424913ae1cbf025a52d69f24a0f62f82a8a931e2bd791699ca031553a67bf91fc6741ada83882732ab38331f811e6d366a14ec867cb2babc0bc2d666300684a5b43711bf5d688ceef558f7bb1fa23eaf77f490bb7ebc9e1ee62733980161355\nresult = valid\nflags = Constructed\n\n# tcId = 766\n# em represents a small integer\nct = 26dffeb2ee0b341601118e4562422f5066df1f3cc1e30e69b05d29ca30a35c78f477d299cb4e05e69d8a43cda2f5895d8bf366dfe735cfdb1f6b5f5a73a4b67236489ed27531a8bc1aa83cd4b1c1bc1622227d2baeccaad52c6aa0d06fce807e1b41f88888b6b75fdd067b1999d977fa1a873b4e433bc5d612cd2245624d5372fab283686a8e530d9372d3156b71dca418a877a551132f9147b022e6d9f5b7ef0aa735b279981a6d04840a169956134b2567694a17ab9eb2a71de125b0686ee3f980188d7b42608c781c74056d767c2ff7678150b0ccecdfdde81cff413b8ee3f4240cfa514a81367eb252b4224399fa25240508f6157c5eb439da49e814d6d52d6a4aeb7ef99f4446d77c12aafc68c25164e658b3716504bfa8842e41ff18d3410c0f3e41f6ed70596c15994e3db78ec90d9994382562753c1b2cb9af81c56c93a54c881a93ebe4377bd7f23f689c67b8a4da47547150232c60a7527e83b74c1f1323b4a1b4f43e74eea606cdc3afe734d4eaed1147b944cdbeeae780173a1d45c4c968eb419d760567a564e2baf3088033528910d8c3d14f61cce10316b96fe164c3561134e90fdb3e5a326df9a5491727763bca940f4ae77f5d204e2bbcd19d2eef898baea8267f97a017a40277a76745965ada6c3e5b1ba9139c5f9750fa3b7163bb2b5f17f0644f9c55819032bc8cc37c3663a6420e\nlabel = 36f0a4f561e1132674a1ec798588717c3587d4ba26fb61b68188846604f7f14200000000\nmsg = cd3ae9483de40d96edfc743f505f66b1a3e7153b39f869b220c16f434ad0917cb5190d26e58b4c73abd91c8563b01b4585896715d05d819759acd7152c7db0479d985d0450664f83068b6a746820ec792d3d741079f109bc7f9cd2459a9192b717bbfad44ba879d5ab31f41415036595aea1e70451de7f2e17bd37b9b9257f852c0116b1a1940c45d5597200c0472843bfcb41a4c7f917eecc8b09f5dc01b6ce9519c7605b507be650e534ea95816498c4dbf4c1563ff9f86f71b9464548463564d63f3ec0c62ae240a5c8a4954a475dc2a674e1f1f573d4aaeba08902f5523910f7a038ef3b432b80a555d6fb55ce7a46ef4a5ef44b1c2", + "f3a3aa9fc5c35cdefeea9d3cb04bec1ada6699a080831e7b6ad59a9c3555619ad44c4adb6ec700514ffff89c5a76153c93d6f8fe592aed49d97ce3b34af11581a33edb844daf0eb348d369b7fee4cb35620ff8da4fcfdbbf5b54a80331b451406daea34901ab2d6276a64e4220c53715644e767eb1c061988b44517d8901428fa0ac1ea841f9c4008fd27e952c72fa1718f1419fc6d16a079345b09dbbb0622f0a4ed188065c508e4c5700b217c1e1ea20974abbfcfd2df5def77261e434e\nresult = valid\nflags = Constructed\n\n# tcId = 767\n# em has low hamming weight\nct = 901dd7128483e779eeaf0ee769ec0a88b4c92b61e067b8ecc0168f37713d659f88d507463772b7be73644699171441ef166a267872dbc94354129a16835245b71d7b377403a67d2f803cd5a37909b91ed7c668e22c6d8ed8a1652599af408dc59b6318ea7404067a1521a0cf1daee18f01d0c1a9682b3e5b9c60f23826382daf036f1936a7627d0c9313b994ef394235fb763d46c945444beea3139b4660fbec15cfb358a8e2cf16326574b77e946821e4802bf62690bd93e88ff4d0cd072cb56035485ebf0eda199f9fe1335fc1b8efc251262213159a6c7384b137564632c496473916d2db6f98cc5a91a8037b9b1b6b73f349f73adc94cd77ae4ac61e25d734a64751f32af9ee9aa68cc5e27be692bea22c1a351ba88d0cb2a5ba67296ea653bf7149c76c654faf30cd6ca8356a5b3a9f0efb2d0047dcc9bf5e92ecd86086f8183619598ea4f4677adef3da7569a8621e665af6ce4441f516d24c172589eaafecb27b161d12ddbd167295e407435913b833426b4df607fa5aec4f4c8ad5e1104fe931f635f7658e817dfd5e3a356bf6a2a82d550024559ad7076fabc7bdf1ed5df23dedbc672602296a9f4eeabf0dbeb83db5043a1cee304a28457b9f511bc622c079394bde919a23ff64b3d495a2cf432819515309b058803ad1f2db4c802e9f59907e89d78b2aa789f97f59bad18002e35c8a5f72b5\nlabel = 30e96d0ca07a37537f94e9fda65a3d4a913fd53d52b2ba77c78a9c660aa0bd2e00000000\nmsg = 25392a76b54b7238c753d39c4b4b89e4c7051d27b52044ec902dd26cca83a611ede388b8714db9ae8c891083fe4b06bdaa99f5a620c2a727e6b733b187e571644f3a8437521add26e466a406d4170469612aa43945d096a8c6e76646347e4709c118db51e2bc353fa90be633441ba37f4652b1c2999633cdd2c80da89e58649df7c18ab7a3f71bbf0928f305faa0a3a5b07e9958f9a61f74e7144d3d7ca8509f773bed3504f5190d8ca447fbbd37cf5ec2c4fab224f5a106f6a10f6712e981a9da36ea7b2dfb7e9f26ececadd53480a1b2b75ccbee2ea3f8d62002796280cfad295ae004e1eb31f69754e13c7dfabe5b365c0903863686d55ffe3f55a4ed9ba80358c2b0c277047916d21833040aa484c8a20e95ce453cbf5a60d9c9d89c980697afa596e1b4c6a7dadc950442e195f7f1bcf89c73f376334c258ca1d5928c4b8eeb5bc71139f0a9e17fe668ed4e032e9a49ca74b6aded43aabcf508a64d39898888d63b4e3ad6892007fede0a4c4ec46961f945345a15704f4a5470d7b2c9ef0089a25a95699cdd9547d22b474aa8dee6ea9cac14f57a46477e9460c91497af98f67d125738a4c9cc7c11dc2a5e44ec5b6de78a8119\nresult = valid\nflags = Constructed\n\n# tcId = 768\n# em has low hamming weight\nct = 3d293555e0bc2eb79233374c321a0cfcac049514733035b1862467c7cbf12430622d5f20e03088861c7789d75f992055fcf4c35e6f9e5fa2fda30e46aeaf5addb6c4ee78017bf88faf710655fc54baa50eca574a11a3ec44c3ece5a5253d56a3e0a669a544a87ad4e034d69becde0d3ac46d8f25d361b3db5e0ca2b5ac789a4a3c6018c80ab367620eb2caeb9a3a79cb6a33ea7209563c8bc54ddfea45c7945f56fe7ff955837baf950e661fd333bb08b0460334c174ea792c5ae2b6348a2c613e73c28266e8790ceb518cccd17d4c7c1f863fdfc003151e4259f073c88200a1b13d63fd73ffde0e937f87cefb031cf8e11ec5bd3d429b9290bb11a13027887e44b6a0f62d683ff8245819d18c868e78cedad6d7a8e820e49b58a3f1b4be94f6cd4f3fb90132726c56c2a92062eaf952c3134c532aeca6db051cc5b480b79574e5943c5957575d3f9fe435c8ddaf477233dba495fc3b27a38e13fbfce3a683fd6d403070e1ea6ea4a5571c2f6e223ccc215861561b9a6292250eba560c42a79eec8bddb22a1c6219feacea375777a5c40b58ec68ca412e8903538f9df4174097cfd83ee2a5af255386590670b9c67d7378cc857b9d60241e1ddd3ae78f328944e890e6a923732c9b3c6f94f79ac5411b5055071c35ceca137d52edff378ea68596e88f6861df6f7152b5f584e3b8535bf124eca08ec43899\nlabel = a17bf82725a8a33842e6ecce6a66e70344c6e8f11a133ff1d135bbe044a6572500000000\nmsg = 58036899be9c21b0d9f8727334c95d6a9549cd51fa178d4977e4b075a8ee8c57cea61712782e50924102d8ed834b3b3e66834b9458ae848d1b914a6d8716c64643e82114357fe9e19dab9346b3b568d13e92a2e360d3915aae23c856c4f879799ea4e4bcdd7c9731b63e1f93e4728ede76a746fbab41407068e153c3e5408f90614d48741c814791c5c7b5e9d1860229ad2832433f595188c789f37de72a1910073ebc50a683d87199d8f76e13391fec6422975c87a2dbacf43f1873b9cf176389bb56528eed995e9dae3d7b5399f0218c66e809c931ee687e509bfca61919444a977bebad37b7324e84186fc25fa331e9385325620b9cd2e8ca94fc5134d9d068a22408d22e9c98629b72c8a51e1bd60e38824795d26f90f8b63203714548b9a1f9f5ca762279d6613f4fb1cb0fa223c563b0ad4affba196fa4f75cbf3811caeae2ec527d80f2805ca94d6271e575c7d2e595427a026f53b8c046b78522ae00a2451f5bcaf96c5b0f0d10e9eb37ddb36e26cfe898338a5bbfbb927a9aa2290b01ec4efe26970d5d0f26592fdcfe4dce52fd4ae817517b5451b005fac6e9b105676abdc8f6fecd639d74466f79237ce45bbe1985b542\nresult = valid\nflags = Constructed\n\n# tcId = 769\n# em has low hamming weight\nct = 867dc985d494c00c280af065fd02812c208d7613804005489c2191da42aa9da5888053526e3606f8aa0e680be42f950a9793097be3ed667ee598a238a82a2baf77782d45ffb2ae2fe22feb3830bc81cc449de2fb7a23b7642bbf1286e64891ed969bc5cae6b9ef179ae25f28834e4a4b0b5ef5a8a1bb74aa15b7bc8435a56d4b8f745ecd01c86276f750a8b0c4e0c13f94a9473fbdf853a80f2d570e8c6bf025ead71c011b127feb3c8e065c9d71ca5cc0eedb0e1a2e8270d94a9bd4f3248425a2202bd4b5d6769c56b2b4f3b921d115d6973bba6bb630665c97934c05df055065da331b39c260cb2a8556cd4a98cebe343a978f7057dd16c1681b991fafd459dd96bf9e88cbccf57a63f0e3932e0d7b546ed56ee48d1add2e5d478ae4e50ef0ef592444b4d8506446bb1d13d540702ac55c7569ef51881a7e0138afb7e606cd49a577846a7ed32df08e93795267da4efc77eca3e2ce4f0a3485feff7aa60c4b95b1f9b6906facb93c2e629577515f2761dae322d5543faa57032fa18b249e922329d742df3f4a1afdbf9820ff4be056662f523a07dc8fbcd6e12e2bf04a0bcd884af9fc672521b44f57ed79e404a1c76363cb23f44a8511d0f50d18f83d668d9b962a6c53bc2de9bfeae3d84fc0708b6b05645f5d6f04307a2d368ee79bd06613f9d44ae5165ed78f51dcd938a477a22ac6a5f1748e4bf6\nlabel = 4d3b7ded3eb659fbab4160cea00a1c79577b55ade5ab2796fa67a33dcbd0b47700000000\nmsg = 4f64ac98b6992476faa32bd8e9adcaca882be015d1334dcfa73be01f6cf2037537f7b5e7bae9ae2d0f2b3ad626c5edc7e1bbdc0dcfc734610ef80b9103e8cd9e08b58fba818ed8bc26a4d4f3f9c8e0428423e6b8f482e9a34022df4519e9b8d51795bdfae9d7290dc5b7f30a9c1edb8e6e80285406f2840787db64702983c511ae30dc0b26bd42d1e35bc059f2d5f7a75dff2dfabc84b21240c247b8391a8a074dc72b6af94b8c0363826314f4a6f357810b22aee3183486e76c49c653953841188378df9571b45dffa3433f0efef99508065edf0cbd99281a36f6eb709339c5aa664c89af8b6f2106df613f828c7b2573fde3940f9c3bda1bbd559ee226d7b248a5cca7d5200ab5d7261baeae324cb19c5fbc64aa142a50127a1e79d200040038386053ed98f48c926f16b9ed3af5410049998e1361fc5526729cce1a7a84a1bee23cd0cfddbfc4d3ff514ac7bd9378aeb3a096bf158c6ab4302019f8a85433ff4fdeb79b5b3708cf81901a8caf9b1335971f71275cc87e4670908313d48f3cf305db5c7af567c6b06b4f084d95329dbe0d0acd2b81580f81b6762f848e49d9bde6db33512ee3320a42565b7164ef0d7d0ce1d6f72b\nresult = valid\nflags = Constructed\n\n# tcId = 770\n# em has low hamming weight\nct = 739d12dc48dfc6530f6331154fe6c9c29912cfbf6a9d8135a27e817fef3c4bde55ae862de38ae889525d9f6387a55302d5e87a3a91d148dc9d73b8ec3196583da359e76649b9888a16cbe9ba97d882661d61bbd1b6aea1f9796e7ec3244c62e0f3947079491b07e6e3189523d3d575fae30a6b4e0461f8ae059d44df37c34f62dd9e4b8f06aefe6b0f3dcef84d2668b36552e47944938ecb6fe12589eb34dee8d8b3e6032fefe5c6a67470b6b6dba3d09f374edecef9541c14adf1dd29ff348041c09efca8976a83d3d2ded99b692af325ff7022a1e714e1dc6087f39b078269e24862b4ef2a3b232983ff0c95d0ce72e9e9fef9d9b0e9383fceb5294cf740c967458c04726c379ea58870ad292c60353831a574ce199951c309b2cf91d552b9431259635d83c54f9186ab3f801f125403bac8ca95fda268bb7c8d1e08177894815431a2e404eac4eb7b6838729cb1749ded53a26c28ce9dda88d6905018f214e67276949f1500af55b673de69e7a67db140dd57b02d3adb2a9a11b9f6f3127ce43978e5048d1dbadf841a3fd88b96d8a95e799c8da9672e4be6bb812a8983916ea77620eba7feb33d9731c9830aa20268b031116f5bdf4f47fd6ab2f01fe139367ef7ec584a433eb17ef0003317b6246a7029987b180e93a09deabb12b285cbd681b37d7809ef165013daf0c9abd6223207c8bd723c3c22\nlabel = c42a0af0cf6540094ce88e156c6f13a9d6ab8d36a9c7532841a8ebf6dafe277300000000\nmsg = be3cba53b429e936143e136de6fc30fa1c91f3f1c0bd82a33f56765b304a1dd44a24fee2883e73914073b2e92c9014316ca27587995aa07b6edca41ec3cdd67c414251364d7b7be4e7b83db217b47a40e9b8848dc764f989cd1e1d66ac84c68fb83bfce6281a98ff153b07c5af47755b61b3a507dd5131a19c1a859b33a794b4bd1a7e16a793f934558cd00e6effacc4fef456acc13bc815046e282c9b87e72f33b07db6320a117e74f3a7c45af5b7043b905196e9a4400c3f6bcbd47aa00f29ab094a71baf8a19a8db59778816a28a03b46b2d0cbe613644c5df6402e39c878143584eb396b2230e0b", + "e33a4e0d8d02d15628a0a3420429cbefeb8d4128cff26cd051b7b4c4bb0ab6aed614352cf66da8d7a7b00e46ac9ff86251f7b85c044082971c22e343b401ab57c978250597e27fab6ffc7f1d18cff956eaaf9c317cb82b32f342099582e6c4ec53d7d31fb4fe7b5394221b00e2fa6cb5a1218fe0db3f3fb5570d2601507a7b5bf75dc6f262222e755bf22b02391f0361a189138af6f8c68117bea1035f384452841b7d91137a970d9dfba0e194c8fda769c05ee3f82da90ed2fc9d2edc8953db5b293b3e55065f5e6ae1998f2\nresult = valid\nflags = Constructed\n\n# tcId = 771\n# em has low hamming weight\nct = 85e36c189212207dd67264ad00a49e5eead977895d106b9551af968480f5e64226cccd03ddc2714a6b85421c6b8ed498073aed03131b9f61416e50f94fc2a0b115b70218b10980cf3f84d3963332d7728b566ff6e6c58f505793d380c9b33420912c8341e55ea0b4c141f1bd28d97de1a8a651b55388ac26d0359d6aafade11be18e1a9b090cbe11032025c18cdcfc67b209f543f7d7b5d5fb92ebd1c989ca78c4b285ecdc1311bf2ffddda98449c0b13de1ecd80c120ce982a9b5b85cbf8e93eb8bb17821d69811faefb6c9f4992885e8fdb2375f68bb4bd3d183e2966e5fbe425a582c13a143622c043027e2d35f6574d58cb80b2f006fb94163bce16ec2e540024ee8da188547bcaa8d579642d20c9e06f7eb29745f99c4ff0a5ca6a815de406a64887603b4f2c65672dc279d987aba84b3c7f37a9bdb9b0742d1f62a50ec92b8fea87c5ca84aff9943fa6a34d656820e1bfcc5895389870cca6f49c2e3b16862b3fd8f12973ab778a10659ecefd945f1b13d9c8bd5be10a8817819f5dea3e91dbd19032bf339a325e18727beae8a3a1fcc07691931e274ffafd4ce98e1f4ef3778f7254ef748b87237bd54082d2340c3ef3b628fe9fac36ee4d883aa6876a0151704eea3a678fe74c23860bfe610f15207bddcd681c65efeaf7dca35005962b57d0e463b77e430ec9620c9aa16fe67d1357bf23be23d\nlabel = 798250bc59a7dd01906d16cc87b8741d16a7a2168648d6a7d51e0af8346347d700000000\nmsg = 38854b2bb70035c630eb18f92cdb1333a14781df75d9a6fa5df90a9f307ebc1cffbf3575bc023a390aa5b33488592d80753b0707bd600f089522189fe3129834480d5f9147bc33e5afb7ffc5bbfc1f6d7b87954382cb8af5b56baa01898d06130b5f25ff96ab9636b27cc4ec040c5c7c962933fefb64aa53799a81300a71bbcb5d45a29ec4f4c4f20d16aab39cbca96f786797bc871efdfa61e36ff896599417d33c0794e550da399e38e183115aa9169008be498dcbe8d13ce1ab10e0a4868e86f4c68fa377a119679740ff2fe1633fed84b8e2a59f33ef3a2f13cc2f904b0a0c2801a10c7d16b818c0a0b15dc9b66588991144e8ebd1c308bceba8cc36b7b417f0ec2d6c12aaa91970802aeeb2f83e67ea7f85ac3257087f19b0cd37dfccd7ebb0f40c86ca954588a92b44626d3281ba5af5c4d999981fd48ceb634757a338f969d5ce09f18dc24f7cba6de30e47aa5e8eadd957f3c121c73f32918d2a0e61f2469a9de31363f28ca0cc85ada3301dd9f4de8cb3551fc19c82aea08fe37c80fca221e54b58db3f4ddca8e89cdd30490d092f8c270bc54c23c7a1095a390c3ef45b50e59328e28877f81bb05c2bb97c2f33ceed6c83\nresult = valid\nflags = Constructed\n\n[d = 0082a411c8b1fcc0e52f27dda23b1004f1f68f4ca36b3d4d077bd6105d63c4f42c676d8fc08e031c9297617a2c53c602a207046f4b5de2f1f78f2054466d42fee730b0b95557d9965ee3a96d870b0cd882786d8287d650cb5f6b1bdeaf03c9c4bf1aaadffd747d725cf58ea9d184cc0cf4475064df227a57d8a9493f9b1eeb60dda43c3e89a57097f5a28e1ae2fb63c62b389d216dd055aa82655b01b2a0fca375aaf5dfcb179e9141c88aa3f5aa4323f3779101612505f06c60ef5077b2a46d5db7555ac0eec10f4c91af2cd605e34bdbac1548424c878a91dae7ea391c95a85ed55318fa5e9dcd464a11fc5425df5da1d1d33fbe659dc98138bcb73f2f85f1416dbf30dd4336733c04534da98aa1b333fa0444a4b337ca5368467dfe256d04d08aead94e39131110db422603fe85812cd15453ed02197f7c3ea38a84bf2eb21d8390acd3f2e955d7ec84286987b28ec5aef7929701dd466c7c1bab412e1550c118696bf47b3ca98435e5374852505188b8d70e46cd1b60553a5f56d2c6c47179009dcc01]\n[e = 010001]\n[keysize = 3104]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 009ce4a11414e91683314b711e299ef58d817c68ece20f52902009d096bc7903250dacac14afd27d454d4bd21c4257f85820448ec74b5d5458246716f04252114873e3b19c867b00ac4e3b1ac1797c5fc0948a4095a1e87c8f5f6daeb754f2324d6ddc935c09a3cb86dfde5efa44002d563106891ea4e67eed97b4cbbf462fba0355fbb9adea1589f40ca565c04bb0ba23bb3ac683b9db0e7b591d5de431b42f174fee1c8e06adb78609f4e2654ac433fd721d3621b8c65de636e9ba769dab70079a5aafcbc12257381f14443892fda063ec252fe3934841c766208945e310693e735ee817e8639a8a9eade2f2e0112a845c83470349c32983e8b31407aada9e451f6973d47e39428da5c820681b8faec473e971eadeff14efe56e30060fead78f9155f5b9fb0807c0b800123f03c6ac5803334f6f8887304913198d98b2a97f0876ff24c3dc11644f6a7bf0e4e3a2aaad04ceca84bbc22823fb6559e914bfa9e1617f89dda2e90780ac15f12431406551b1f46e9995bb47eef70f6dc1d0e9929a22e5be91]\n[privateKeyPkcs8 = 30820710020100300d06092a864886f70d0101010500048206fa308206f602010002820185009ce4a11414e91683314b711e299ef58d817c68ece20f52902009d096bc7903250dacac14afd27d454d4bd21c4257f85820448ec74b5d5458246716f04252114873e3b19c867b00ac4e3b1ac1797c5fc0948a4095a1e87c8f5f6daeb754f2324d6ddc935c09a3cb86dfde5efa44002d563106891ea4e67eed97b4cbbf462fba0355fbb9adea1589f40ca565c04bb0ba23bb3ac683b9db0e7b591d5de431b42f174fee1c8e06adb78609f4e2654ac433fd721d3621b8c65de636e9ba769dab70079a5aafcbc12257381f14443892fda063ec252fe3934841c766208945e310693e735ee817e8639a8a9eade2f2e0112a845c83470349c32983e8b31407aada9e451f6973d47e39428da5c820681b8faec473e971eadeff14efe56e30060fead78f9155f5b9fb0807c0b800123f03c6ac5803334f6f8887304913198d98b2a97f0876ff24c3dc11644f6a7bf0e4e3a2aaad04ceca84bbc22823fb6559e914bfa9e1617f89dda2e90780ac15f12431406551b1f46e9995bb47eef70f6dc1d0e9929a22e5be910203010001028201850082a411c8b1fcc0e52f27dda23b1004f1f68f4ca36b3d4d077bd6105d63c4f42c676d8fc08e031c9297617a2c53c602a207046f4b5de2f1f78f2054466d42fee730b0b95557d9965ee3a96d870b0cd882786d8287d650cb5f6b1bdeaf03c9c4bf1aaadffd747d725cf58ea9d184cc0cf4475064df227a57d8a9493f9b1eeb60dda43c3e89a57097f5a28e1ae2fb63c62b389d216dd055aa82655b01b2a0fca375aaf5dfcb179e9141c88aa3f5aa4323f3779101612505f06c60ef5077b2a46d5db7555ac0eec10f4c91af2cd605e34bdbac1548424c878a91dae7ea391c95a85ed55318fa5e9dcd464a11fc5425df5da1d1d33fbe659dc98138bcb73f2f85f1416dbf30dd4336733c04534da98aa1b333fa0444a4b337ca5368467dfe256d04d08aead94e39131110db422603fe85812cd15453ed02197f7c3ea38a84bf2eb21d8390acd3f2e955d7ec84286987b28ec5aef7929701dd466c7c1bab412e1550c118696bf47b3ca98435e5374852505188b8d70e46cd1b60553a5f56d2c6c47179009dcc010281c300dd60b390ed7e73bc47d85692928b6a7669b75ac07b0d2d5e2aabbc97dd4f26f4504ccbac15fc18c8681e24241af32fea58e247ef47ff841fd88cd482685b24de080a373a7b2fb48300b997e911569f64129dc02092b51b0093addae3296c47a5388dd6f8cdc258c7bfa1cde81e97d01f198e6d05312ca8b9c58c2a11df5ed9e6ff75cd6925c52738278b7283ec198ff2c50e793e8e6842c23121dd5a702d312f6a0bdf29dcc932f5f58882953423176aadbf02dba57915fcbc2356d7b6d0e7a4ed410281c300b56e27f9764f02ffafd4689a3d1d1fc4ffc5c0d9d1b052394c72840963ee5eff90310b07cd6b45b0022439755aceaea774ba8aa99cfbfb9dadf8e007faa89329c347181236496485359d0d6eddc3c8e9f9ac3119f02b91e2e94cb63f1fa6bd4c02843714a74d5ae775d6d4422f7c4e99e5b3980bb3bc2ab9ceecc0a503f67720c8f294d15362e36b781c186a3c97c6076bce45d5853e57eb61dfed7e5db0094a28fee6df90a4406a9e3480adb2a972ddbf61a737dbd6f0afe961cdb8982f48326d510281c255e3d5e76ded78d3dd00179ea892c4cc8a79a41137ecc5e45a23e578fa596260b9e301c693850acc7e70eb4ec2d2058e23cc2f62ac097be6ab2b00ac53f6c0d810407e6b072e5c17d3a92e423402eab675ee94834ec84b60aeeb6e186292eb3d3432fbebee50f00717d79c3ee9d7b6dcca1a933bc7776f431c5d245968d3b131497e18232a8f52871bf8a386818ced67a082dc11a448d955e4a021f49bbf3ced0b74edb19d42c6addd0488bd80cbf8a2e02452e48b4fee72ef3fbacad8d83677abc10281c30089a28076d1d68ccad56388db0163b7b725e5aa3053cfb400bdcaddf995b2bea497896cf9c54f0cb5c25a22b0b16bbbb95367344c09c86b102a6b73e0f9b9aab272eedb06ede1ed7cd4b848f98308c4c122e40af7c767f62b329b3c6254ab944d365780c58d49b49d849aadb96bf69c5649985dcefad1d383d3c36d3d81ed16606bb1034e6d38c697bfad68a42745683837036b9cd890fbf797ef5d6690c23bb9e3b1c40973dbf6f62b005f61e5f8802852c84d27a601bfe363640bc16ec9e7b641910281c23c1346eae095cae1ef1feacd06a4c4d2f1ee4b135c2b7f3d22dfc10de6f4f67899cee2504252b572009a8fb80e807fbcd958f45a5237cf066f20788d8abfb76022032b6ad878160d6274c654681b9e399441fb0853c92f403cff13ad21d3ce998026e21bdbe3d98033fd1582169915b67c491388d41cef393ca2f2f583aae732d5d87a4561cfe160fd49a205531a03caa174ac48ba94d18e1b618c4935ecf562736897f2f813a344154387c4cd524115d352f8dfa10883532db127d4dd99258dc2d4]\n[sha = SHA-384]\n\n# tcId = 772\n# em represents a small integer\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = e3ed53a6f0f18a3e6a90044cfe6bf4efd1d3132cc274e37a1d65f5d86b7f0f44f3c924f714cb548c3e0a776a56c5ebaf00000000\nmsg = 6ce8486057bf0af47682d34def751d65a7cdf2edc2e1518cf96c95d125f17618b9a3fbeefe4b1c29ec258cfe3169aa771b3772c4997e472d65da3736e64120c1cc68110e5491fefde206b71a14cc4e96f826c1af4dea1369d6f29a32c9fb867c8910ffa786e47729ca862fb0e1b3b48700299d591a8cebdf0d8a2c622253dfdbc51fd554dd08d1bc4043b65aacd335b48490779be1b2499a9478415615ef70961421a4bed7be61a42825073054af2962e67d71201c094bb0ba924cf97e6e81dc4ebd9a8ee33030e2356b8e808a87b0cff1e91897aa241e7d1211ef464cfdb18a8881b59e346702e320abcaefe4e9f156fb589d54c340d15970729f64029341f2ba1b2ae0dae77be3a55122c85fa86945d41b1f4ab8411426ffed8fa632e75f609859\nresult = valid\nflags = Constructed\n\n# tcId = 773\n# em represents a small integer\nct = 1a93aa7065475280bff152e46394d26f07621a1e52972f0ee81c4f02985d276904c372f385c0f895c0f719ede146e397ad8e6c0c270d9da4f906c256c618d10cc581f4fde6f44263968f2eeb1b8c9d9240ea0976b8f4dbb8957a39cc598f3b31a69ff5cdd21b11dae9e0dd7929adbd6bcf5a34de85c99f2810960625d8ccb179b379296a26acc62c052f586ff31cead363a717c5726486fc1696a0c2f9d6740709a66f51043c318997911a87770afdf578c8d0c453028f2e597a3c5fdfcf7d039619736de870d84ddba29dad9f590483aebf4b84bc8b717ea498981c279c919c3ef70aecf7bef0fcd9536d340f43be884b3b5ad0b3482718e2132916cd068571b14694c4f6ee8433eaad6a13f3c4ed896ab0fce11b1b9d50c6347acd8ed088ff67aefdb19cba937e07d0705a6c8ffcd011629b33ad514510d5a3a31f53cc5f90817d5420472d554981b0bb9a45673e6fa956937f9f9ada017bc0000e5b6f5c578bc945402b216301afe6b25a1a961efadc4cd3aaf8bd3d4ec77fe13a554be5d73a4b2227\nlabel = f8343ff86e5650448a1a2c372b1bda8bf512701713017b61daa782751d0e3768e87e7b728abd485d2055e2bae4ad37cf00000000\nmsg = eb910d54e051c09090181c1bae07917b6b3b3f57a6a923307cb23f4d5a6e6f4ed2977762ddccefe94f439e9f44435e53180045f45de15320a30ce0139460d62603f53d66d59aae95b7000f0fb3c5d621d3583b023b69873a27fe52aef03ce6afc9b97588161d8a7c0a8fd4ed55174db1aae9e33649c5eab7d930b51f8c713e26c5bcf394a34ff1b893a409bf17437e0330cf4361cffa0e01aa3db7440b7c8c21d9c25e861eb8dad94f11e615efc251b37c63aca012fe778bd14e15a641075c8cbe4e497b4dbec93f63f8bf0e88a3e8e7f7a7aee334332db62eeef019f1ed55158ada3f79a32bc5e48f22b2856805a382b82edc3ef3cc492dad3519657b188e23a1b56155a3789dd2335759757412f4fee48f0aa4dbbda3914fe48c38ea08e835544b\nresult = valid\nflags = Constructed\n\n# tcId = 774\n# em represents a small integer\nct = 317931fe3f6a8b1f899371b89ac3d2497b91536b82f75179c593d8f5d4ec36284caf5587e49a9d1a4ac89ae6cbe6f2da24eb7a0fad03fcc277e0827a3c534fbc16f173cfd3d31279d229e50ed64e5ee7dc0baa5e46a3e9d4e79905cf87d85c2fbab5dda6afa8b9a08e3908e208231b5d5d56fade069077313c6f9494879b59092697c4f974377483ed66fee87431aef2b900896345c7072d705903497575fc22aaa3511a446ba3bc0f8118e3b74adf25c72a56495a5df1c96a6fff13410e7178fb32e5907afe85976b9764dedcea2d4f79fd3570a71844dff060084d8637d63577310d33741265e18641590c0a0a2909f8744aeb99cf97f819d614c751cb2c9158cfe0e3ef4843ffb7ba93958fe8e4cbe807274cb9c6d6b17d12200bb83b64f3a516eca3cbaadd70e4c55c4bb20346fb4f89f18ed70a829518f1b8864e1a83c5db09ffc880667b1ae30f936a30fa40afeb7f9471c4c7199ad7546de568c207de8dfe2bad374d7d4c5bfd7dce4398b4c971ca5700b13683d24e1c0a6d4f487e1f2cc86108\nlabel = f690520506e109069b536e670dec5d61bfb9f180291116fb2af2cd5f27bc523d9e820b145c1c03bbc9926a0629c09d8d00000000\nmsg = 0dae1d5855fa986c2b65cfcb24c2e3e6f84f8ecf91770c501ddb00b7e274389f5e7969dd2a1453e5bd1050f1c7961d35863bcefbffed80f16b2e5e282a0b67012a8ae741efbaddd1e062ac88bea714efd456d9a681c3baff87cb274d07ee5b9f75961b8d45bc2e3a69df97e477178e6e83c2c56e234336f3a219cfb77f32673129d1c3417e20ce9cdcefba9fb83375e0741bb66cd1c66fe62ae1be792a8a76e07e182ce6bf0116ff011810799412cafc477c99976222425a8843a457a3bf80c201bbc3976f13ee9a9b7fe378561b07602b3a2279af35ab5052b4dd71956a19656394bb2f89c7788cd642e3162a330c2231169691b4eeeafdcb63dd7c031f41b236ef579dfb688b0e6a4a0f7aa0c749196f154bdc8256e035e6ec5baeb3ab401872d0\nresult = valid\nflags = Constructed\n\n# tcId = 775\n# em represents a small integer\nct = 84484fe5185d8a4175d1501e8337df7680a210288677d116daf6828c7ac54fb635d29eeb745c517ce98ba08e1613073b1ba012605710cfe22b44d91fb95a07c261eb26afcca8385b0538e76dc4f0838478f0a1538c2cd12b53caa64b3c461f7abc5c01a2760f668db4a92451529c8c3fd63f4e3d15c47e7bf321fd1b90cfd1fa304ad289f36c5700f5289dc20c617e3447e59a6f590ddbacd194a42d44be825ae0558e0e0426b1ea46f86bcb746c643fbe87ce6d7b794fa3e575cf4692a457fb151fd1851f6268705cac43ffc2dca0d50fc1b1fee634478e7bdc5f64f00e53ea9dfe6fe13ae631530b87bdee1c33854e5091b84bafa460617c080bdd06ebbdeed51e9d91739ae2499fac61f980bfeaba7f190eda34acc3b60054afd731d51aeaca0dcba0de614119d4d30a7c6672f92752d0328dd926a05bd46640b98857c82388b4ee20450db739659997aed252d843c6ba8ee9f0616703dd8b33fd4c346593f325051c347fa4302534bee5dd669ab0ce33d210d0d72470e41403f05c812920ee0f603c\nlabel = b60b80e37f381cf571ed38a78823b59f0490163dbe7982f1369e986af48c8638c7937bd7302dd0304aa280e33c2bd03500000000\nmsg = a8ca5ddc13bcfba53524e57c821f4d1a979488b090c1bd30fc08ccb1e9c75b6e9011e7870ed5097b15ba4b0cb7762a52aaf7e68846216572ae70bc2057669d1b3e28deae3086c2309ef24b6d1338364c42c6bf2a5e504e2f1eee10ef2bcdd86054f38f04565fd1279b1a64fd84614b50f0ab724279398b100f10e1d64b6f83773e1be8877f1bb177a3dc0819d2440fc18e0fa600bbdbd6969213ac4502cea518b585dd53d2cf4775d96badc30c6cdd8df13407f5ccd6263b5d5e97a810cf14ab7330f744ba9789d89b56fe4a1d9808c5f65b5ae7c6adc55efd5626506f36ba3410d7ec8d33e69a8740563b57f5f1d612d0e4676d03fa2e0a3b87cf03893a3637b44cf05fa1b2bda733e15b633ed0c8d2e8049a49793ccb77c04874c9c992021ced72\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen138 = 164058; + +static const char *kData138[] = { + "# Imported from Wycheproof's rsa_pkcs1_2048_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[d = 1a502d0eea6c7b69e21d5839101f705456ed0ef852fb47fe21071f54c5f33c8ceb066c62d727e32d26c58137329f89d3195325b795264c195d85472f7507dbd0961d2951f935a26b34f0ac24d15490e1128a9b7138915bc7dbfa8fe396357131c543ae9c98507368d9ceb08c1c6198a3eda7aea185a0e976cd42c22d00f003d9f19d96ea4c9afcbfe1441ccc802cfb0689f59d804c6a4e4f404c15174745ed6cb8bc88ef0b33ba0d2a80e35e43bc90f350052e72016e75b00d357a381c9c0d467069ca660887c987766349fcc43460b4aa516bce079edd87ba164307b752c277ed9528ad3ba0bf1877349ed3b7966a6c240110409bf4d0fade0c68fdadd847fd]\n[e = 010001]\n[keysize = 2048]\n[n = 00b3510a2bcd4ce644c5b594ae5059e12b2f054b658d5da5959a2fdf1871b808bc3df3e628d2792e51aad5c124b43bda453dca5cde4bcf28e7bd4effba0cb4b742bbb6d5a013cb63d1aa3a89e02627ef5398b52c0cfd97d208abeb8d7c9bce0bbeb019a86ddb589beb29a5b74bf861075c677c81d430f030c265247af9d3c9140ccb65309d07e0adc1efd15cf17e7b055d7da3868e4648cc3a180f0ee7f8e1e7b18098a3391b4ce7161e98d57af8a947e201a463e2d6bbca8059e5706e9dfed8f4856465ffa712ed1aa18e888d12dc6aa09ce95ecfca83cc5b0b15db09c8647f5d524c0f2e7620a3416b9623cadc0f097af573261c98c8400aa12af38e43cad84d]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100b3510a2bcd4ce644c5b594ae5059e12b2f054b658d5da5959a2fdf1871b808bc3df3e628d2792e51aad5c124b43bda453dca5cde4bcf28e7bd4effba0cb4b742bbb6d5a013cb63d1aa3a89e02627ef5398b52c0cfd97d208abeb8d7c9bce0bbeb019a86ddb589beb29a5b74bf861075c677c81d430f030c265247af9d3c9140ccb65309d07e0adc1efd15cf17e7b055d7da3868e4648cc3a180f0ee7f8e1e7b18098a3391b4ce7161e98d57af8a947e201a463e2d6bbca8059e5706e9dfed8f4856465ffa712ed1aa18e888d12dc6aa09ce95ecfca83cc5b0b15db09c8647f5d524c0f2e7620a3416b9623cadc0f097af573261c98c8400aa12af38e43cad84d0203010001028201001a502d0eea6c7b69e21d5839101f705456ed0ef852fb47fe21071f54c5f33c8ceb066c62d727e32d26c58137329f89d3195325b795264c195d85472f7507dbd0961d2951f935a26b34f0ac24d15490e1128a9b7138915bc7dbfa8fe396357131c543ae9c98507368d9ceb08c1c6198a3eda7aea185a0e976cd42c22d00f003d9f19d96ea4c9afcbfe1441ccc802cfb0689f59d804c6a4e4f404c15174745ed6cb8bc88ef0b33ba0d2a80e35e43bc90f350052e72016e75b00d357a381c9c0d467069ca660887c987766349fcc43460b4aa516bce079edd87ba164307b752c277ed9528ad3ba0bf1877349ed3b7966a6c240110409bf4d0fade0c68fdadd847fd02818100ec125cf37e310a2ff46263b9b2e0629d6390005ec88913d4fb71bd4dd856124498aaeba983d7ba2bd942e64d223feb7a23af4d605efeea6bd70d39afe99d35a3aa15e74a1768778093be0edd4a8d09b2def6dc9b67ff85764625c2e19236db4c401ce30a2572d3ecb4f969b7ad19c522c02d774465676e1a3776c54d6248348b02818100c2742abcd9897bd4b0b671f973fc82a8f84abf5705ff88dd41948623afe9dca60dc6543390767feaebeb539576ee8bfa61b5fcbca94a7cef75a09150c540fa9694dd8004ad23718c889049219369c99f4458d4afc148f6f07df87324a96d9cf7b385dd8622414a1832f9f29446f050c2d5a6407649dc41ab70e23b3dcc22c9870281810096a9798d250263400bb6277342881627e07cecdf91187b01b89ff47314188a7c20fb24800156d2c85d5666e8df6ceff9f9804ddfad80ff5767de56ecc029c72bf6c717df9f64daafc29acf9dc7908f9a0ad67e20e8949936ccba18d021a2c4febb04349a2b2047c4901385b6e5d0c691d118b33f81802b32ac272ef09e42fad50281800554f41b0b87f68a45722b3be0cf4ab1e165034c1a91002ab8f29e9ef9e2dab6fee7b2455bafb42037e9d2f7e533f348a147412fd72080be7c2633f5d802c91c39e6bcece3e675e59995033c55737020dad9e8b30d04b828adfb9304ad54a11a35a4f50709876ac5b118236ba76a4d7c9a291dd9607b169de1d182385691999f0281801c640189d9bfe8c623833210a76c420c6f44e5d760e259916cec2ae2b156456960fd95e2747660c389562250f055049cfab7e5c3039549384a7a2aaeb1c824d3af709482a8cf9b587022a00b1f0722db50f33cb26dc20dd2245d5265df61ee2983c938c2167dcee121fc4b4479c237e728cf633ab60a8c0ecd04fce7e3baa559]\n\n# tcId = 1\nct = 5999ccb0cfdd584a3fd9daf247b9cd7314323f8bba4864258f98c6bafc068fe672641bab25ef5b1a7a2b88f67f12af3ca4fe3c493b2062bbb11ad3b1ba0640025c814326ff50ed52b176bd7f606ea9e209bcdcc67c0a0c4b8ed30b9959c57e90fd1efdf99895e2608095f92caff9070dec900fb96d5ce5efd2b2e66b80cff27d482d242b307cb813e7dc818fce31b67ac9a94501b5bc4621b547ba9d81808dd297d600dfc1a7deeb061570cde8894e398453328740adfd77cf76075a109d41ad296651ac817382424a4907d5a342d06cf19c09d5b37a147dd69045bf7d378e19dbbbbfb25282e3d9a4dc9793c8c32ab5a45c0b43dba4daca367b6eb5f4432a62\nmsg = \nresult = valid\n\n# tcId = 2\nct = a9acec7e58761d9191249ff7ea5db499cadccc51d29f8e7fd0aa2cb9962095626f1cadae29666f04ce2afd4b650be59d071d06446d59107eb508cc60545727b0567dfb4f2f94ca60b939c60be111172f367dfd235516e4a60061648c67f5536650821ac2a60744be3cf6befa8f66e76a3e7c5fbc6dfa4dda55ecbdbffdc98d610de5667a4f485f6168b52bbe470e6014253874ce7b78e509937e0bc5f02857e1ad3cf55139bbe6dc7ac4b1ed5097bf781b7671ca9bb58187aa6c71c58ac0561c5aacf96c35deb24e395b6823de7fc96b8031b5906a34c4dc57e4f1226157b9abd849e1367dda014fbf9ed4ca515a7a04cf87787945007e4f63c0366a5bbc3489\nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 4501b4d669e01b9ef2dc800aa1b06d49196f5a09fe8fbcd037323c60eaf027bfb98432be4e4a26c567ffec718bcbea977dd26812fa071c33808b4d5ebb742d9879806094b6fbeea63d25ea3141733b60e31c6912106e1b758a7fe0014f075193faa8b4622bfd5d3013f0a32190a95de61a3604711bc62945f95a6522bd4dfed0a994ef185b28c281f7b5e4c8ed41176d12d9fc1b837e6a0111d0132d08a6d6f0580de0c9eed8ed105531799482d1e466c68c23b0c222af7fc12ac279bc4ff57e7b4586d209371b38c4c1035edd418dc5f960441cb21ea2bedbfea86de0d7861e81021b650a1de51002c315f1e7c12debe4dcebf790caaa54a2f26b149cf9e77d\nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 455fe8c7c59d08c068b5ff739d8dab912b639c8e9eade5d0519d58f4ead7208d5a753b4a88fe771475adc82d10ab29ded28caf03f9034d3a111b520440c02276e1b6417c42eec0257f1f05482868987f2f75bd33d1ec3dbc799d7b5bf25c4a0543793a4d3ce305cc43646bc450344e624fd381e24d8e57ef2840dd9d576da554ba408ee6580159e6d88438a28d66250b3b3fe3bc6624406022a9e4ee2778c38230674f635f56b9d6adcf2be6bfab34a8a431169d769876422f7077ded31fa6f29993dd1972b2d2d24b0513a7a193f6a88d53c49cde2c030f85e3ddfbc9f99b4a667fd9c652382238166f3d39eb2b78de53ad24c97699fe5738a7a705a2ab141b\nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 1cf861ef8b6c29474666605d3ddb663a259a9ae838417abcc7f7dd42d471d5f3812cdf90e3041c4c5bfd38ac1e4d95fd71661bddac45f5f8e3e89629a335bbf2eff116030f1c5ace8336cf7e94c2e8bf5a1d6116e54ec42b9da5fc651a41ac8fd38194e5029489cfde1f7fc850c0dfb3dc00021f74ae3847327c69afdb1355c7587bb93d5f4d2cfb35a7f70bcabd43eb32300585b6ee32f14a68c2a08434e923adb76dfcdf3ea5133edffa5ca20425083b28ecb045e69562b44286d320d87285e7a2e3bedded083c010401ae22c8f278b080112c4264a3cad3ed9fa31cf19e052aabbda9f8ecef1d64786258202bb61128b3140a355d65b982b0239764d77d24\nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 8122b33665648346f6cf728f285667cff7f3c20907e76438e64db81a6a5e74c34c5694fb5b4c826067bae94c5176e152eb16884d9c2b63d2ff41d06140c9c39469a4ae05cda86c81ccb208894266f6b24a0f79132f71521e10683faa05c8e68b77dd6c0c04cbfef55a9d1b68291c286e08907c3df029c52e15539027f534c7df8da5637db99355b24576b873c119ff1d74b3c913b70c48f366887ccbe6d206c11657401f41baad9290fe6ae01855a99891700d71775fb36237bd3597ad240fff4c03d1fe599cdec65baef11fbc4889575a55f255b51ec8298595dbcc89659382d35c2b85a941c33746a7937f3d18e27079fc3d2252904aa533fbfd2ebed2e059\nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 18e280e8b03d8588b923842d15fddb0493285ecd7ad2d9a9878045ce615ba07cb811fd4a0737e91ece5a63b70b1edc23e0da939ec654333eb77e956108b040bd6b92927e25a6922d1b92302036985915fedf9fb38431bbce1feee3ec42ff15bc4a4b6d10b3da41ec96667b81163b30b46eef4f46fb22f187da8fd536461e5594bf557a6dfc2337883bee8d6187192a3b4bea70398b01f3ea8c1547f6c57248243365b3c46b117924d8bb6845ea382c389c648d3e65ff0b8711bbe1a6fd3bea028f5808725f198cda0407a0ff46b5af261a37184547250f496800e697290e39d46d6bce67b767d73a63bd98f699c1828180abfd51a3048d050d496236edf1e99d\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\n# Longest valid message size\nct = 7e151b7b34e3b4abe045cf708640e61501c50fdca629aeca10259d45d15eeec6a2008b6336f57021ac6fdad9a6b29d65f098abff76f93722a8e23fb5e153db075005575dad6adccb7c020cd741c3419946b82d369a07fad5b0d55d51774f8991bd65e9e828d8f5a989c866a024a4a78434e9affd0af2c72f9185d450b627008a8a0968fc6373ca340410306a58921cce1207bb6f6c14e3d1f214304f9f6bb9199909e1610322e834b0ce9f55b1835d7623b82ef548545f984ea51466250159344dde902a0f021ba4baf26b16d8c6a42003f4d5dcae531", + "187dc7e3f87c9e04470599eb623e04fca266e86f98cabb6866004e7fc80b36c3977456e51eb64f4b65f\nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 9\n# ps is all 0\nct = 6e0d507f66e16d4b7373a504c6d48692aaa541fdd59eeb5d4a2cd91f6000ce9b5734a232d6541a78729ac82152d3a30b51950a24ae379a108ed20fa4ec7542fe2281c2dd5de685564d15182f3c73e9c0135ebc993f5acd240a343d3257997582328c31be215c7349375406aa78a3ac35327226839bee2f1a4a0f8e6e06986cb33806c93e0b0c1d6cfd23f4a68c1f2a38c74b8df70f280984a840c710c52279034d04f61e313d4bcd8b3b5c58468a44565a1acb2eefc6d49044be7163e64ed84b5e7991ecba274a3a7ee4defb842a86ac4cbf2d3bfc9cf870ae025a3e2fbc775916a59579763c06eb84ad8edd1d03787e609ad446de43ebed16330ab06716fa73\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 10\n# ps is all 1\nct = 633546723d13ef2712561abfa5b477a36ce7c8dc5a9f43589ea289a15f749c89e4e3ba3ca6a615333e9bb5ff3efb62b32e7f11870c8bbeffe884a5ef2b1006045bd97bb29699084dac4212c217e10113232683445091fa7224abc02ad37feaf10d5b4af6f288fa01d85bcd944bf411ac56c0b7bf1037452f540f286114b14b2208fb4282b6829c594aa27ad5ef1dc67b5696ed2a4b9a4ee2354cc05315fff5e8a4e0e75675c1eed34d46effa73ea96e748340771dfec01dae937edd8924ece8470542a8251c31e9130e2c5f80152b4c66111df52f7e5f9b40835b44bf8e8e273b075dc04f758a30c24dc2c2abeaf639f4fca4dacd509250378ad0e5276374b99\nmsg = 54657374\nresult = valid\n\n# tcId = 11\n# rsa_sslv23_padding\nct = 94a6ecdadcc3a9c5645d0410929ba8f01c89b8426b889d3064cf1811f2caaa1e1a55a29a1869a7d719226bcea637407bb80383e76b5966e2ea4d56fbb2fb325da12546071b65898b12e36d0ea0e47245930eb051cecc4b8dede18adb4f1ca318cf0e36820f1cfd4911f076e0f3fbf9c197a0ed32063f72405477888f13cbab4649e3c8df4f022a4109ecb91fbeedbc4df4d89ad9cacbbd7e8e27a2f1fe1813d3f1b537ecf41878f05918171504bf800631781a7c36451abbc32dda5b55f05f4ba7b5414089d9d679248cf042756a4f06c37c8b5a18a6ba8f97853cc6763235ee841d96e61f2d75c188ca53d222d3d925a3d701551758feb79ccf8709cb61b793\nmsg = 54657374\nresult = valid\n\n# tcId = 12\n# byte 0 of ps is 0\nct = 6a8b8c01247d9d4d1c3bbaac58e077e37926854dc8bdb58fb7b98979ba9102934469836480a0b96a5b452e54dff55e77b52dc1cb93656f6802b7fbe06ca0923e38e549dabcdbce909fdd10d677d896384af75e7146794bfa009ebbb2d6890b1cfcad4698d297c759b0a01151bdfe1d48cf92e80896be923d02371930cafb155e543d9a21e52faf2395234e65d575fa9f5276c80ae4cd6ec18ac6d954ad043d2a46932763ca44476180b397215d95651fba63220998e06ab2dcc4935dadaae8660ac8c6356b871e0b1397af20d6fe937c3211e21559a3d0eb39c2949a96611b13740ae0c26ce67c373a9225a3c1773ec662ca20dee620c0acef1475b362ee9b9f\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 13\n# byte 1 of ps is 0\nct = 84c149c378f3f12ce202bb561456257057709114ecbaa4c3a7dbfbcbfaf2fe9a19cebabd72e39474b6bd7871c3dae41a9c87c5cb2fafc2d06d49c60ac401ed1e125522d0854fe8fb8611f8efb90d2b89a14eaeb6e991f19329dd7d183ef72cf0543dabedcdecc9977cc9395e2629a1dc8d359b2bc0fea6ef250c4cfa2ac8ad22a6a587e32859a8c99e4f7cdf938527e9e0bb597721517067d83fab31457e52e7a11b0393135d30e619d7cc47caf970facdd8dc4bd613b151f93cc53c1307cef68feb5a67d32337cf2ff954be7a553d3f07c9f657aebd9e8d4ee99e8736c152804295f366a4ffaf2a72e29c2f87b03b28b99da1f6a7ee0d9364ef711eda4f0793\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 14\n# byte 7 of ps is 0\nct = 3307264f64d4ca8b62c4e7da4cac117262e5d3a3dbc19a529ac5167c1987bce56e358726d0ecfc6cb591a12bd5f7531cd2249439254c366ad3cb7a608f845e1eca931018295208ba5c6198027b22191224c4568856ab331e2acf530fc434870865d3321ac90327a8c61f27cac9859dac8e3c38d8453349d2ef8e4a7e8011f6badd1530eae710e0c60d35905f20d7a2d118e7ce18ebb220f04b4089778cbf091bcb3e02aca83b4b9ba5319c3069188c7b00c7d32ebe1dd6e6535b5f667ce972f00ba773d4cf6a556ccf65bacc1eca2312881caf6a89ff5d83960846a5d9dd31477dcc9ee4ae50ab0cb2e574a685bd9d7b7a74c7ca9876f08fd64d1d5f196786be\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 15\n# ps truncated\nct = 16d56b7a9e672e387016e8b1c9cff474d560faa8ca14a565fba086015c5f9d53b205c4ccfe77ed5f3d10a04a23bc031d9c7fc809668ceb5c4e31ba8760475de713413b1ae5666e93087e146a2607c00d6492ed095973c7ccd79996aa26023a2c6623f382e94a4c595fbb596be074f87559267186cc475175152277cccaf9513dcb95a1f6540bb633a9a65182f2a53838b85329c9544c24740b24b27ce5d760f051c47e6cc107c264bc1a87ba7bd2bf27675547bda28b3d2a7281d6732f9dbc3c20eecb280f2ba6f25cd49c930dcc3a413987ab4de0fe9314a61e092b3708c75c9bf96831df05e4dbe31f75b2ddaf3bde7f01c7940ec62758006a652871d72b75\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 16\n# ps missing\nct = 25f67bc6c1320a13fa91a23d4d1801cc73594161a7f344ffa195d6dd1894c1e39d6cd81866462d05e0e16c02459a3f1dc5f0ecc52657f70385fd0b33de214216a2298b4814550af1ecd929170bc69b74e08299bea50de33021468f4fe2a2e4a43233d6872d15379ccea03450145d909c5eb11ca5f524e17b2065768b9bb06438e81b0b8ca816bfcc7eddcffba59b33e2a0b4ad8df215c2eafa240e553f1526dad66038e54f305a6d3fd6460e781239c9dc424ab6df7f75bb4327d873d0e8d7ecab1b09b8779cb841e002ee45f8dbebd2d483de2d7136ae7e350580dc8a48bcd6359a677bccd689bbdf879f2520d8976fc2b92e64dda8e7399719a13b8182c739\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 17\n# Block type = 0\nct = 371e281730bbc289cd77a64ab49b370ed7900c48f5625615ff28beeeeabc860b4673ab16003fd5e13c89c8b6a0e5c9b732044981ddf2bc45d4613bf409cb2e98123ceb661c1093773d71c67fd198288d6e9b832596894834c3955799ea20e242b632335baf8e8787c104499fb5d0eaa331f05a8b46383dd13cc05f0518d05d9b03bdfdc2dbc9299a04210c33f5dbed3779fb1548ead0022622234a6a2ffe5ca42a43db40f272d6633c7151360b5b90e135283a6aaf69b0491edda637dea0989e3a5dd0c3aac267074662443c37ce1b3fd4b2e9743fb0d00dc136d8df10b6fd0b60d30c1399ab52d75e2db559d8faefc45008c2d9100ed08caa88bdc11aea04df\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 18\n# Block type = 1\nct = 92210e5bbf24d2cd9527f6e24ffafafdfee242b146539f3731715fff42092cc8f5a1a4919417c9df9a5a32e61201f4354a87ab06e97f827f69e6cc13e7b9c79515145f210713523e6f64def697406a4929b2e09c31890b695b7b8bb851a22c7b541c5dc53cc75954c0246eae5a12af304133f4dcdb90f8c6f54847165612f7ef70f51dd493899d6e09ae9fed16fb1f1225d09750177893c5e5482e3cd427931ffd3fef3e901d51f39aa17e34443a34754533a887474e19213a5e24298071495d18c6ac77dece094c56bb34ed8274f5d75f99162a58dfc4240f5393baae58f484ef0a0259b56ad647ad81fe88c91b75a36b1acc67a56ec379bba03a8be91dc0cd\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 19\n# Block type = 0xff\nct = 6dbc27d33371f8cb3c3a54185a687a66eea8114f26cd234617b2f567d6013e222f33d7fe05298b73f8bf20266483571a52b1da2c0b1a431c257c62ed441215f57cd2a4af4628eeb21a9cd66a350a161cce446f25224a9acbdcdd709b14b810fafb02f3879605402e3fa6404e6e9a13b3f4fd3bd0e6c32f188a367a94aea813aebf4bd31635e5843a27bf7300419365d00ab97cb535866ba521dd0a8460fbc368ab9337caeee54f719f8998b126a111ffc6cff6d3c43ced45e8dce6565c00bf0be00694c339f7fdbe064c60e040a95b5d5b4af15fb7f14e00da6a591f187277e0c453eef7ffcef2a4efab93afdaa58e0bc1bb25286d9ce202176f395e29f92136\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 20\n# First byte is not zero\nct = 794ab724aeb176c4415a597e9d69cb567cece4479e6e4c9c19530b0877b53719d7f6318be8e970874c4be19984c632825dee7a38561a6904e23c776ccce71128847c24d5609e6790e3c9112393660ffd208771916d2e80d2c2fb35ff7936bab6c03e07646f15d09a88fd2ff8e70b624c66da4eb7dae241907ef328697c219d1ff347ada945e24ab526b6cea4e6b7f386560ab56f16751f6e2de0f7922a8946ae9afb9ce95369418f540163827f452f5d2a5029a1ce417453324eb015fd83ca2147331c02c762c457fc52ca5f097610c60430b69b6b0fc1c0877513bdb51923bca03e9af9174d3094530a007253958bfed03606e6f75cb5854443eaa363614116\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 21\n# First byte is not zero\nct = 8c7b80188818f63e6a0110cf94a169c78a0db75917caaf47405e8384b79a8f40de94f28f749186c4f16aeffb66168ac7c319d47de699ccae0edcb51a6822f88e27e99a1a0bb39d292e7d6e0922c1d2fd649376d81160d15cce10fc7082b88e8cd80dff13a33b54b8c00178a35fbbca633f4987f117aa9ec8e5f123dadcf29700ed5dbdad05bcd8e990985d950b210edae1ca1f6ecabf50a27e", + "4bb23d4e80bf3955852e2ca18fd3e3c2f570fbeece943ef5c10ed1265049eac0d5b549713368703ad02311193ba0d3dac6073eb799139229a4aa0bfbc25bd5e886ad213dc321131ed12cf1008ee8af3a1588d06c75d7cf7375998e5a03af0ec8aa92276bd51b21\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 22\n# signature padding\nct = 34bc8b1a4646f2db8b10fdae22d6b5cb300229114015f25293d4b28e8f58783e1c5e6894da18dea527e4d843b51cf984170d56853e45f6ac77b1179eb0aa74fc556cbd632d576524b820a2c74a4c8159885fa08937e9c73ca0385c7a19676f2789b62f7a8b359a29132d74bc2b850e2335b5c7da8bf52d8d6fadd83ff9db32239bb737e890a32d561b10e9163c2fe4d35624e3e5faf664374c972a8d2e5b873c9a465e108bbdff1296c5557f314026558441a055d4b9cbb54179356787bd4bd02015cb3bbe02633711f266e915a0b4591415983610a2714adce1b0716675b95877bcef618784f2b3cd23fcdd0636e5856edb96852a32c9632c2e6e4b9a6f881e\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 23\n# no zero after padding\nct = 4629027bfdd6c33abda030f0cb3ac1b55bddddd11292520f142248bbd1efad14adcb7ec50d278471f4a98dc9a674c202d823677d2606cd639fda443d7c14f0aa35f472189abe1b639f0856743212aab46ae35160ab4e6c08a20e5b82210b07b6eed11a315ef1b1f831b52bfd3abc06382b51c41a665ca6428e4bb6bd0df7895d056b8c17093e73c8129916e3abab3f61ce9a94c9d2fd30902076104b0e7fbde8da601f6c1bcc56a0100104848da6e9fbb28d893274b40885b3003ec7781aa710c83fbf4d4bc197630b1455853c4d6d6050011a7f7377e9034d29e4396f52b24ee6875feef883274cb0842b4b177d3fa3b416095c6ff96f6de0d9123dd9ce6d31\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 24\n# no padding\nct = 910ad40ae0d8af151f512354e1cf12af7c4851cff0b659026e90a9ec4dea6c1e4b2b33cbe8260501493df2e7fa2cd77f020a7cfac1ca379eed3fe6d003335653a5f022f6bf5010e5f58c41fc91253d75eac2072479d4bb3509e1351a66f700ff4ac470115490021734bb8099e66c35f904f09d167303e26163393ed556cdccdfae95f239ebf0bd361a8adad927fb9544ca30132195735cb026dd0dc66c6efa0db41b73fc1c917be384a430e0788f5f872785cd709f70793204753d7b207fbce2d0bfbab11d3d614b99bf87bcc9a34db639fd203c9c081ddeecb9c85221e03cb9171685dafcfeaba470c5f1921a6fe016ba4b816a2328eee9853fa6994ec313d8\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 25\n# m = 2\nct = 6294ddf0fcd137390cb2193e050b5f61bf0183972912dca88ddcef7d54388665a7ff9be1f074b5e33b55dbf7c4212554a4e6243d3974aef4d95794dc72261883a45842da69497a36ed22c3590b0110e857bd0fc729663df53c831836f890b2b2012c9f56fc6dff36daada1a1e1cb2d654fee868c7c6fd58435dc8edb95dfe0271787074c2be9aace1f33ebd07ee6112cfb62f52487934af0c22ac93dafccfb01c561b370f05f3e604e92e5380103ba91113d007ab97b21ff3feb22f37c1a358215467d0a0223d43792f4947aa30c38f14246d1db9918c94600e7d0a393079dec2d9ad368ef378b2fff72cdd7c572f11074caca0995ca3e576428f651e1cf3764\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 26\n# m = n-2\nct = 50bc2c3ad07baf0bb9037b704b4e81c97003c7ce644ac8ed0c52ef9b1d7f825695f44a46e204786e6f7fe52cf01ab4f098e438a1125a79f2e3f76add9a8e9ebf175e92c5aa81e99abd17c6871b26de6b40f81c45d43194136f687545a33d590caeed0916deea9cb44ef815aa1695d9f7178dfb47b4805b3e2f47ec1e3de933e5b3de2950dbf702f3d09d7120ff94f43082409169beb5814955e445aa4914ecafbb36efc82aeda8b5d005f042f7a58d50f06763681d40a88119fa4d7b21e4a372701de8f5a4ef18e30e99f4126fd031af5aa28cf4316b03150a2e0a66355ce17124b13bc586e918116c2355f3169c186a80a85c1302fe01b33d01fd3c61fba0e9\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 27\n# c = 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 28\n# c = 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 29\n# c = n-1\nct = b3510a2bcd4ce644c5b594ae5059e12b2f054b658d5da5959a2fdf1871b808bc3df3e628d2792e51aad5c124b43bda453dca5cde4bcf28e7bd4effba0cb4b742bbb6d5a013cb63d1aa3a89e02627ef5398b52c0cfd97d208abeb8d7c9bce0bbeb019a86ddb589beb29a5b74bf861075c677c81d430f030c265247af9d3c9140ccb65309d07e0adc1efd15cf17e7b055d7da3868e4648cc3a180f0ee7f8e1e7b18098a3391b4ce7161e98d57af8a947e201a463e2d6bbca8059e5706e9dfed8f4856465ffa712ed1aa18e888d12dc6aa09ce95ecfca83cc5b0b15db09c8647f5d524c0f2e7620a3416b9623cadc0f097af573261c98c8400aa12af38e43cad84c\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 30\n# ciphertext is empty\nct = \nmsg = 54657374\nresult = invalid\n\n# tcId = 31\n# prepended bytes to ciphertext\nct = 00004501b4d669e01b9ef2dc800aa1b06d49196f5a09fe8fbcd037323c60eaf027bfb98432be4e4a26c567ffec718bcbea977dd26812fa071c33808b4d5ebb742d9879806094b6fbeea63d25ea3141733b60e31c6912106e1b758a7fe0014f075193faa8b4622bfd5d3013f0a32190a95de61a3604711bc62945f95a6522bd4dfed0a994ef185b28c281f7b5e4c8ed41176d12d9fc1b837e6a0111d0132d08a6d6f0580de0c9eed8ed105531799482d1e466c68c23b0c222af7fc12ac279bc4ff57e7b4586d209371b38c4c1035edd418dc5f960441cb21ea2bedbfea86de0d7861e81021b650a1de51002c315f1e7c12debe4dcebf790caaa54a2f26b149cf9e77d\nmsg = 54657374\nresult = invalid\n\n# tcId = 32\n# appended bytes to ciphertext\nct = 4501b4d669e01b9ef2dc800aa1b06d49196f5a09fe8fbcd037323c60eaf027bfb98432be4e4a26c567ffec718bcbea977dd26812fa071c33808b4d5ebb742d9879806094b6fbeea63d25ea3141733b60e31c6912106e1b758a7fe0014f075193faa8b4622bfd5d3013f0a32190a95de61a3604711bc62945f95a6522bd4dfed0a994ef185b28c281f7b5e4c8ed41176d12d9fc1b837e6a0111d0132d08a6d6f0580de0c9eed8ed105531799482d1e466c68c23b0c222af7fc12ac279bc4ff57e7b4586d209371b38c4c1035edd418dc5f960441cb21ea2bedbfea86de0d7861e81021b650a1de51002c315f1e7c12debe4dcebf790caaa54a2f26b149cf9e77d0000\nmsg = 54657374\nresult = invalid\n\n# tcId = 33\n# truncated ciphertext\nct = 01b4d669e01b9ef2dc800aa1b06d49196f5a09fe8fbcd037323c60eaf027bfb98432be4e4a26c567ffec718bcbea977dd26812fa071c33808b4d5ebb742d9879806094b6fbeea63d25ea3141733b60e31c6912106e1b758a7fe0014f075193faa8b4622bfd5d3013f0a32190a95de61a3604711bc62945f95a6522bd4dfed0a994ef185b28c281f7b5e4c8ed41176d12d9fc1b837e6a0111d0132d08a6d6f0580de0c9eed8ed105531799482d1e466c68c23b0c222af7fc12ac279bc4ff57e7b4586d209371b38c4c1035edd418dc5f960441cb21ea2bedbfea86de0d7861e81021b650a1de51002c315f1e7c12debe4dcebf790caaa54a2f26b149cf9e77d\nmsg = 54657374\nresult = invalid\n\n[d = 2bd68add0171ed921c0924dc0a40427fd4a4fc67821c6e7d50d0e8c730c665e2a843b1eb243e763a740d3c666b1bb1d4f9466b32b2b2e09a9e26e8777595da48a13ba9f9c45f6d2c214b9e5e504bfb3fafbce6adb31e8c15bde1968899efee1a5dcdff0d2a8bf2e27301eaa07882494610a23dd3644d0eb0a6086450e3a7bd4b5c446c01814be16c208619f8a5b7463fca583d936864bf74d96788aae8e5bae3c052a2b409df9a08eb9be76b3dbaba28863d5c56ee42eecdb85075e04de90b6dd3bd9408d7fa5694697c185162329ab9b57f21a84cab007c1c10d975f5491977fecf6c949f3a566d84be477ddaab02c0762d1b232f8a61910715a0ffa438a461]\n[e = 010001]\n[keysize = 2048]\n[n = 00dd904590397808c4314329623d9013453843251b13b8b3c4fef54598112af3eb31c71103c6259951674e53bd93a7e36d19472e474ebe8028686d9529484d8bafea4a04ba19555667616c8478670594009c9bc6a3efe52274cba64c724747d7edc194e4fedde32a3289d94c31936e7e7a15d756f548492f5b345b927e8c618bdd550acb21a17ae148304383db9b3c7baa3e4c8bd8e844a884daa3e18d56998cb32f9bae4d41d56a18ddd4313c8089b75e9dbb9128470bac9b087fb61928ab0f8c4c89360b020899008d08e8bd31f907a807e8056ad6800dffdf9ed9d964a939e7e48114b84978551acb85c9df9196f3eff55286d6cd4b39a822a8a7763a18208f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100dd904590397808c4314329623d9013453843251b13b8b3c4fef54598112af3eb31c71103c625", + "9951674e53bd93a7e36d19472e474ebe8028686d9529484d8bafea4a04ba19555667616c8478670594009c9bc6a3efe52274cba64c724747d7edc194e4fedde32a3289d94c31936e7e7a15d756f548492f5b345b927e8c618bdd550acb21a17ae148304383db9b3c7baa3e4c8bd8e844a884daa3e18d56998cb32f9bae4d41d56a18ddd4313c8089b75e9dbb9128470bac9b087fb61928ab0f8c4c89360b020899008d08e8bd31f907a807e8056ad6800dffdf9ed9d964a939e7e48114b84978551acb85c9df9196f3eff55286d6cd4b39a822a8a7763a18208f0203010001028201002bd68add0171ed921c0924dc0a40427fd4a4fc67821c6e7d50d0e8c730c665e2a843b1eb243e763a740d3c666b1bb1d4f9466b32b2b2e09a9e26e8777595da48a13ba9f9c45f6d2c214b9e5e504bfb3fafbce6adb31e8c15bde1968899efee1a5dcdff0d2a8bf2e27301eaa07882494610a23dd3644d0eb0a6086450e3a7bd4b5c446c01814be16c208619f8a5b7463fca583d936864bf74d96788aae8e5bae3c052a2b409df9a08eb9be76b3dbaba28863d5c56ee42eecdb85075e04de90b6dd3bd9408d7fa5694697c185162329ab9b57f21a84cab007c1c10d975f5491977fecf6c949f3a566d84be477ddaab02c0762d1b232f8a61910715a0ffa438a46102818100fdaca4addb17e53eea07b949213b57da50d659073864fd3c21e570eb450f9014fa43ce53b4ce4c55aca189ce93a8c1d66a8eb4ade27adaf764ad7577c11bf0baf166a54f080c5f0765a4b3fd394e6d660ab30254cb8999f0fd703877c71e4cef038acaf81f0891e7dd06d7fd5b2c014e6734766d18adb23cabae79998ff3e3b102818100df984439aac267bb2288e53aba498e4825b001826bf9f80cf1c0a14507f388b36346b7dd58ea3714e9c0e5caf7ea56c73ac7415b2b0f07eb01a74a08537452be2ec918dea4da330255341e0e6ff34bb24ca24d95e369a5ba55e9bd1a7d0ba6aff1da718ceb106ee1c463a7fc30c11d7b885c76b65f28b0f3243e591cbe82983f0281803c610e656f43b5c60ed03dd2e13d0dc1220292f83bfd15a56d6ffe3b91998db2e08aa91e95679115c75c3fbfd2b79543a2e34ab024bb17495146543267dd6da421774c1b8e8fdb429877e67b7c5b6580a7454a65c2788312b05038b091cd6d846a746bb13939c1f8cd4c26b6e02f8e340a2e9b8d861539da6506c75cbcbdd15102818100ab2fe90c3db099baacb622cad3d57d19bfc10166d94488a560721b06bf0fb599a268825cf5b65c75a682096d5c620e0e7af21317b9dfc8302513ef9a704a9f0efcc2fa477bef931e361db0e55cd0e9239988a9de183ecaa3df2315a53217b986fba4434ba0acf437e6246678aedb2bb768af62343ea6e8d33eec7d4d848e78010281805382d97145a0123c383ede6b5ded217ce50a3751d0926148aa7895f501563d131abcc2ff222150b3e35e353fdb006232f1f521e2941eec51810a5db22c1af413bf324918cdf9e00c916ec791cb6ac3fbcb04fa26396f0540470abd929983172f484b102e21f44c8ab0867ec90a77d7f46a6ffe1046b8d4e7e2617c035bfe148a]\n\n# tcId = 34\n# edge case for ciphertext\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nmsg = 52a61193b56236922dde714383c6bfc5a3c3a4515707521ebc84220bed615b28cf50222c2cfb7da7e5bf8ed088333d360a1f95d428d0563c3757f400f582cccc1c06e43cb575545f0cdc6bf29c585d8feda2522234415317bc5d8641737b9cf657620499a1d4fd69e4fa109e068511cfee4d2b3c9f9904fb370cb28dbc7e0e\nresult = valid\n\n[d = 6148075f3c03a05b4eab069a1d11dd76c1b7bf9551d2603ccda95c8a8c47f54e5423bfa35b77cc030a5366ba267011acfcfd8a5d0c445d72db4b398eb632fee8e5a0803486e9f334e719238addcf3a29c3f1efa0b8d554fb85bae2144c8efc477a7eeae305d1f3271c6d313dad86fdfea1cbdac4c448bfccc84025d34d444de5e40dc37de6a4cf7255e38152ab049186834f23b75fda4e51f57b01b8958e6a846cf9fb82353f6772e5318b3020651259ecf3b9827285fa34be81d73be182fd8e96d7350e7b4832adac0b0362ec03c1c6d91339df584ef816b59b34c90e9b913feb24155a9869a20f2afff161a8b8fc112a80e89ac449e5dd6b167fc373bb6dc1]\n[e = 010001]\n[keysize = 2048]\n[n = 00c6e320b47282afaf1c18f55f28aa278d401163529e605c1ec6ff403d25c726f547407e4cc128c1aaf397dee2e881c20144616ca16f3d9a1794a70ae05f9722e9feab650c21b886aacaa34163bd8254ea53a8c1dba6bb8eecba38aad49be9d6658230fb3950382a5dc8d5c0538e50f976e4ee673f8faa2ab8b3805605642c6d770579736e410c9ecb32e0559d82b6f22b3ac79cdf57ea9a3fd4b5e8df66bca92b8478b971afb0d6b185b642c362daaa79d330d14069b9e917a3f84433ac32b56cbe2760e9507bd39749d18a1b13e923c7efc9fad13d12568e5d910c1cbe9a6069d0fe80e3aa57bf5e74fa5d86433eaf5690175f13e4c3148c7300799244c566bf]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100c6e320b47282afaf1c18f55f28aa278d401163529e605c1ec6ff403d25c726f547407e4cc128c1aaf397dee2e881c20144616ca16f3d9a1794a70ae05f9722e9feab650c21b886aacaa34163bd8254ea53a8c1dba6bb8eecba38aad49be9d6658230fb3950382a5dc8d5c0538e50f976e4ee673f8faa2ab8b3805605642c6d770579736e410c9ecb32e0559d82b6f22b3ac79cdf57ea9a3fd4b5e8df66bca92b8478b971afb0d6b185b642c362daaa79d330d14069b9e917a3f84433ac32b56cbe2760e9507bd39749d18a1b13e923c7efc9fad13d12568e5d910c1cbe9a6069d0fe80e3aa57bf5e74fa5d86433eaf5690175f13e4c3148c7300799244c566bf0203010001028201006148075f3c03a05b4eab069a1d11dd76c1b7bf9551d2603ccda95c8a8c47f54e5423bfa35b77cc030a5366ba267011acfcfd8a5d0c445d72db4b398eb632fee8e5a0803486e9f334e719238addcf3a29c3f1efa0b8d554fb85bae2144c8efc477a7eeae305d1f3271c6d313dad86fdfea1cbdac4c448bfccc84025d34d444de5e40dc37de6a4cf7255e38152ab049186834f23b75fda4e51f57b01b8958e6a846cf9fb82353f6772e5318b3020651259ecf3b9827285fa34be81d73be182fd8e96d7350e7b4832adac0b0362ec03c1c6d91339df584ef816b59b34c90e9b913feb24155a9869a20f2afff161a8b8fc112a80e89ac449e5dd6b167fc373bb6dc102818100f85c32eb5dfbc82525ef2a6780ff035553bf7617e0acf37847dea5d648fd3603f644c1d2db25ee838d75eea86b65a374b5484bf09e99dd5116b0cf590633e6dd328cfd7bdcf8d81221ee5e08ea3109d52ceb385762d70681ea0638c766ae9aa2dcc341fff0240c1151d025719431ac1c7e7fc6a15c606b1ec018109fc58e6d9302818100cd015623de40a4601d40346cea7822e13c67bc6acca55b4b21264c454dfdcdda61f0f1d64776efb334143e1d4d4807383ba293515bc3c0f0d714cfa84c6edfcc4493b6802af1f8fb4b986d71efa7c37c9bf21821288218fedc8f269c0a633ea033e5603fef9426de60f3affc740f980158f04fb69936f1f2736f82be14a87da502818100c5e5c9992c895d00e4ca3f32bc61f748fd7399690b5924a3da38ba521654d5beb074373189f81ea6ea8867440257b9b85c5f204bba450649ffd7a150e19567c727e99a6e2134940f56c4365fca248b1e372db2f646c6e9e38913ae188d6461c996396c14c14827e981146751aa712e208257d4716d4752f3ecc300341f5a0f4b0281805d0eaf4066e1e6fbae2b77e0bcea3dc30a3d789cee3a5d5f9433a3498e66986bfa2b7a4baf7300c9d2e9216d01a8a1865823ab45b22700cd1284e2e25d97b2c53197efaeec4f9c9acdacea795eb5439aabdb5032b505a13d07777faa3358eb93a31b0afedacce07bef7c8eb54525d2f5419f0c4031fa6c078778e5db4cdb52f50281807837896fa354433b8a407322a51a82247df121aad6ae72044bdebffdd32f990f135c1ac2c637346ead083b9d90a0d6880cd0af2f64af3c352d74b0e6b1411f8ad65d68c4ecc919b406129d49dece407c973e1bd068549313440615c7c3b02fc7f99d4dc700797d7536569b2fe692e125adf3cfffeab59ea0e0c383aeba764459]\n\n# tcId = 35\n# edge case for ciphertext\nct = c6e320b47282afaf1c18f55f28aa278d401163529e605c1ec6ff403d25c726f547407e4cc128c1aaf397dee2e881c20144616ca16f3d9a1794a70ae05f9722e9feab650c21b886aacaa34163bd8254ea53a8c1dba6bb8eecba38aad49be9d6658230fb3950382a5dc8d5c0538e50f976e4ee673f8faa2ab8b3805605642c6d770579736e410c9ecb32e0559d82b6f22b3ac79cdf57ea9a3fd4b5e8df66bca92b8478b971afb0d6b185b642c362daaa79d330d14069b9e917a3f84433ac32b56cbe2760e9507bd39749d18a1b13e923c7efc9fad13d12568e5d910c1cbe9a6069d0fe80e3aa57bf5e74fa5d86433eaf5690175f13e4c3148c7300799244c566bd\nmsg = f50d8c4dbfdd67f1018ef2bded1a74c6ddbf7db395af1b56a91507ee381689d9e06d1b71b783d895dd7a7289a20ccd5c2b5f38be6d248fde32fa02ba825047c14caf35f96873aad739a31f02b2433e871d1265c58245191cc5a1dfd299b160edcafc5ca7a37c056dbac9e7dd1195c20451\nresult = valid\n\n[d = 0081102400faeba6a1c103df40b3e6c39c1355259c61957146aff836d6e8ebe7512152232055245fc10b0f4e5b4e595de13c75dc96d0807be47b37561350edd5deddb3f5422e08cdf1ac3183e04e23b314c4e58f65064e8ef88d9461fd35ad9e8797ca76cb9d1533fea829eab7cfd20e2f3a1d6eb6ab46803de01cdca9b2e7a95326a8362d8422fa51cc13230db40ab197966dd471549c86da98ba4ba1d02bc68dd10818ddfeadd529527c7df4e6c48ce5c6952e91324458bf75e02600ef5ace55ddbd1caa2d5444e295393cb793ac55f6ddecd8e2679b07907eaf32b47d48a256e7ae7260ee70eeb8f36c0bae377e9efb5b85f435fc31a816bd8b18ce1fef8641]\n[e = 010001]\n[keysize = 2048]\n[n = 00a9cbdd7376863a8fa77931db45b29d3cd33842fabfb9b685e5f5c9ad15fe7844be23c7b5abb165f32d5d26e3db746cf09ee4c8b67b528ccdbdb20c3bf4f7a1f5ab1b93648d2c7d039d09f9a5b28393480b31c87b28fb4364c373a95", + "d496ce442bca4aad4de1cc613d3bee9ed31a85957dcff15998c6df8f0e0b1182bf256538ce414bb1220c9a4e0bc666b2230033b7abd072cf9a3c302b424b32860604427904671678b11bec74f5dedc380b01ad4d5e228d717f80e862f3800da9f2edd0c30a900a2d8ffb292a74a092264df73ee7888258d8ba441296917d5b7742894060c318790a21fa23c4895d36f6ce5c22680505caf8c098905f4e0413e63512040e5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100a9cbdd7376863a8fa77931db45b29d3cd33842fabfb9b685e5f5c9ad15fe7844be23c7b5abb165f32d5d26e3db746cf09ee4c8b67b528ccdbdb20c3bf4f7a1f5ab1b93648d2c7d039d09f9a5b28393480b31c87b28fb4364c373a95d496ce442bca4aad4de1cc613d3bee9ed31a85957dcff15998c6df8f0e0b1182bf256538ce414bb1220c9a4e0bc666b2230033b7abd072cf9a3c302b424b32860604427904671678b11bec74f5dedc380b01ad4d5e228d717f80e862f3800da9f2edd0c30a900a2d8ffb292a74a092264df73ee7888258d8ba441296917d5b7742894060c318790a21fa23c4895d36f6ce5c22680505caf8c098905f4e0413e63512040e50203010001028201010081102400faeba6a1c103df40b3e6c39c1355259c61957146aff836d6e8ebe7512152232055245fc10b0f4e5b4e595de13c75dc96d0807be47b37561350edd5deddb3f5422e08cdf1ac3183e04e23b314c4e58f65064e8ef88d9461fd35ad9e8797ca76cb9d1533fea829eab7cfd20e2f3a1d6eb6ab46803de01cdca9b2e7a95326a8362d8422fa51cc13230db40ab197966dd471549c86da98ba4ba1d02bc68dd10818ddfeadd529527c7df4e6c48ce5c6952e91324458bf75e02600ef5ace55ddbd1caa2d5444e295393cb793ac55f6ddecd8e2679b07907eaf32b47d48a256e7ae7260ee70eeb8f36c0bae377e9efb5b85f435fc31a816bd8b18ce1fef864102818100d24acefb79e15875c90fa375302ef16f14141ff50e760b5b529df6494bd507eb925530904d5f43db6cc00c5bb113148ad0d7ddfa027c857898866e9681fba9efd61e102a14daf9e13d19c13d29d0b85310d4757c6b31f6949132372bf2feeeba9c451478caa2ef6ce17648cfd46b13b08d8ce9017612c0296d36281936c1737502818100ceb3c37dde127b7a1539da1061da9a119f00d6e88cb2dc350a323d517efa6da3ea0e0d5a62cb5c95f2e2bc233ad4a68798fddbeb9ba914ff805287492082727e831a1a64938f119a57b80c4cf87348231265f5988f7ecfdaeed964567467fce6c0cbae5399f1674b3db04a0e54a97c43a5f6f8e0d66253a07d36d960269519b10281800db2bbcadbc4970b8d1e4caa7c8a0246170bbc8d2cf4f986685a4bc9b87bd6f93c5dfa3cdc1d618130934dfac70d14207abc25047d16f966c2a0b7216cb424fcaf78e3daa9e31db5d352132955c8f7c8c966dd844e4341e9a98f98d26f10b62247bda438be12610039ab87d0a9e893aec379b34fda0e1ca05631d9e8d28d456502818100c5f32da25a8bc4a853af857feed65479cf961439bc9485825df362f9aaead51906cad24adf15f5e2bc2a1b1679feb0446765a5b8eae76fee87cb8137ace480155c2421667451acffec459bb212b5043e621e36a715b4d205ce7b6e35c560d8b77ba713998871c104335da26e3af1dcc94425528eaf8096a9b9804f885f2aa6e10281806bebb7d6fd832d7d0494393ad36d69809d5dfd412a2ccc954f57f2ec8ba97a558375ec6815e48839f4caa896f5684eed3ad37a131f081d5f04144ac75897f3e876d28699927d249ba86ef8017b83bddf2d83e8a6ac8f3bf180c5ebe477a7032cb0123bf27c292678dc5bf51f1a92e278c965d77d4749ae08defbd2348b059316]\n\n# tcId = 36\n# ciphertext has low hamming weight\nct = 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 636d26280a49b4207bd30e67e5e15ddb5455\nresult = valid\n\n[d = 7e60a24231b43275729daec4ee6047e8af545cb10a0bfc849bf256273055e581a55f2b15ba1a6058c67252d7605f6d1cb91416fdc8325a8718e747cf8594348577bb79514c5a676c2b8829993e28258a449c5f9fedad5a641d42990ee9ac172db9f595f0fc45b18b5c93fbc422d41694df9b3545a984cbfc090b5c1722a38c9b50698cac516d5aa16d89864c8568a2956ecd7db8369490e28d3764de0078d20753db4285afff292fba35d5def72959e712f7ab5e40db81d1c89f8c842e97abb25e25f59e78bfe712cbbfd760206e4ecfb001094eef8e238844432086b30dac2b4e7ddd4a725218f45193dd14d4fecc5f683cc4fb4f4418acec3b8da900dec1]\n[e = 010001]\n[keysize = 2048]\n[n = 00ac17529177c7575ed5e394f3380718e614c0105e81016588fb2f95ec4a327fc8e8af681c740024044a9cbaf1f97ba56d23a9f53391f54a84b2f8581f0cc928fcd4c55e067f8d3629a1fb018a1574466554a18df0121cfaa56703b17470a77e6f6909f4f89b865f11c6f9a951dd67cb73b146eb68aca6c0af6e56533f4ff8c31070d3607edc565d22ebb418d2a00a5b6fb58e29b4d464f0dfca6cb20881c323c9cf91a4fc2a437197f2579d9faaa016a42b59473412245f7640dced842587d6a62fa7c4cb6b57e39b73f0a545bc0e0d6501fa0af22ca162dc0327c4d6b3563fd4880b2010e7e9338a1d90b7cb8b8f410d72287d70bb2079c3a6dc51d6c6a8b807]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100ac17529177c7575ed5e394f3380718e614c0105e81016588fb2f95ec4a327fc8e8af681c740024044a9cbaf1f97ba56d23a9f53391f54a84b2f8581f0cc928fcd4c55e067f8d3629a1fb018a1574466554a18df0121cfaa56703b17470a77e6f6909f4f89b865f11c6f9a951dd67cb73b146eb68aca6c0af6e56533f4ff8c31070d3607edc565d22ebb418d2a00a5b6fb58e29b4d464f0dfca6cb20881c323c9cf91a4fc2a437197f2579d9faaa016a42b59473412245f7640dced842587d6a62fa7c4cb6b57e39b73f0a545bc0e0d6501fa0af22ca162dc0327c4d6b3563fd4880b2010e7e9338a1d90b7cb8b8f410d72287d70bb2079c3a6dc51d6c6a8b80702030100010281ff7e60a24231b43275729daec4ee6047e8af545cb10a0bfc849bf256273055e581a55f2b15ba1a6058c67252d7605f6d1cb91416fdc8325a8718e747cf8594348577bb79514c5a676c2b8829993e28258a449c5f9fedad5a641d42990ee9ac172db9f595f0fc45b18b5c93fbc422d41694df9b3545a984cbfc090b5c1722a38c9b50698cac516d5aa16d89864c8568a2956ecd7db8369490e28d3764de0078d20753db4285afff292fba35d5def72959e712f7ab5e40db81d1c89f8c842e97abb25e25f59e78bfe712cbbfd760206e4ecfb001094eef8e238844432086b30dac2b4e7ddd4a725218f45193dd14d4fecc5f683cc4fb4f4418acec3b8da900dec102818100e811b5a9c9e65a385fa5cf0e3f3408e613b4a33d270c70141f2359736f5e0cbcec22bc940320827ed227a4ece56876f6047be2475912f8ea86cef0dba1ba72dbc0d7970c549514ebea6e07edccf07a1cfa736e3256ac4829aefcff287c98188b1e4e6d6b3a4d5d15c6a8352694e609f542402afa0d30fb1e9ae11681dbb639df02818100bdd6474fce37443303a839a65bc9dab7d66e0ded2fa924ed8d30e8cf1604a6b589b7a3ce5a2cac20161d80c2052c4c8771ef7215adddfb6949cacf8833505055462c5430e283a8cc8b1cfb21827168bd245f7fba6d4aca3cab9888b12c6bf1e0972297b59859bc3522706eaee8f086ef0e655bb27c93b53146a8e19af7d796d9028180313cf8af52a0264a49b8f36a916c67eaf109658d2708d38ae1646da9395ada17077f0345e037f89811dcc9785de04145478445695ff3cf8e6b15e332a668d9cfd865a5adbf107684eb9376e9348f5d4962b6350e47277c9423859859adbdd38f48d9d90b642e5feeabdcaa924a0b58d789bbf5a262441f33ca26b1d0d19e233f0281810099d96417d85f4fe52c2c94f42ee56b5d9be9bb5da347a886e0eb6772153d15c2806714d932998bb1c15a8db4302f13a29d82d9e999ec1249e524f9863f57f292f979098e48b53d02f0273f9b8bb4cf96a238c732564acb95d9d797c846e100b8eca37b620fa381f56a00c6a2f8639e67753a4dd35c44f50e875e6ce083c5f419028181009d7230cada81be92c5f9ce4fb4c973fe0c56a230d99f4b59bd3f3a867d548787a562e47f13a1327d6d88b61c68d564bcac123c0bd63fb4c4cad5174886dd28632a2326afc7f172055c6e0760515259561e67b8a24362a50ac758f7e3289cb5b915b445eef1e62ca603d56d39569e689bfec6911deb4c37b0c73337fd23156a6f]\n\n# tcId = 37\n# ciphertext has high hamming weight\nct = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 44fadc2b07145f74c552f37b2140338aef1b46d7d4aabcb041faf19f22d6d18fc40a5e9aa4fa7013ee7953f180323d4affd3adf4c358084b057e48ee001ff567f5f509d8d429aecdac397447893d81323132b141ed345e0c52a980d470deb3951b6feb4c\nresult = valid\n\n[d = 50ef8824a0174d47039d0d427c85a7afc1478fcd7b6f0cad060d4ac4f16a136327f8d766b1750783d33bae44ea6553bb0ad3857813125ce1a38440d8f35fad5460e5d19e2185e517634c4fd9eeea0bb055cf457434bc96c43b70d3ea7b6be92279ce05d5d8ea7b4caa3d915215ac5bd7ee8e56418d91706f8ececa304dbe7e0e23c5ec42a029d1a60a1c9673e3a8bc942754d4d601f1847fb3539a3259c36c725f279c1ad4480f7186c1d641f377fa3d7ee90a5bf16b8f1c7d9f289b854cb77bfd0f41a028b9634cf3adda3b5567918d2b5d0aa08bc8ccec8d0b39c561f1c92aa6b200bb8824f", + "f50067ef87c0f55e0a981655180aef3bc335c557a9be54e1fe1]\n[e = 010001]\n[keysize = 2048]\n[n = 00c01f17440887a6016faad9d70d23e5290ebef6ee9b7707affc88fa85b0b66033e1cf2a82654518e2b732c2edbafa9d2b68b2fef78ed36d6c421c5bb2304711d98a5ab9aff8c48f8c35ecd5e0c721eede459832d83b92a7edfebaf163c1445a003b3300f8eea2ce43b88cad04c413b561006b7494810fc5b46c6598d3da90d044f5ef73754c3b14fbce33bf0269faacbae52328602b13e0dc7c485c02caa54b05821f5e6923c3c7b3bdfbf9f444aa3003cb031af78804b4702185a42b38ddc0bd1bebfe107685b40de763cb1797c95e0cbb41f92ba62e3f383103ab7cc01604c50c2776b022278da9b359e6c94badb7017ed3ac100a9afeec1218d28e839f2f1b]\n[privateKeyPkcs8 = 308204bf020100300d06092a864886f70d0101010500048204a9308204a50201000282010100c01f17440887a6016faad9d70d23e5290ebef6ee9b7707affc88fa85b0b66033e1cf2a82654518e2b732c2edbafa9d2b68b2fef78ed36d6c421c5bb2304711d98a5ab9aff8c48f8c35ecd5e0c721eede459832d83b92a7edfebaf163c1445a003b3300f8eea2ce43b88cad04c413b561006b7494810fc5b46c6598d3da90d044f5ef73754c3b14fbce33bf0269faacbae52328602b13e0dc7c485c02caa54b05821f5e6923c3c7b3bdfbf9f444aa3003cb031af78804b4702185a42b38ddc0bd1bebfe107685b40de763cb1797c95e0cbb41f92ba62e3f383103ab7cc01604c50c2776b022278da9b359e6c94badb7017ed3ac100a9afeec1218d28e839f2f1b02030100010282010050ef8824a0174d47039d0d427c85a7afc1478fcd7b6f0cad060d4ac4f16a136327f8d766b1750783d33bae44ea6553bb0ad3857813125ce1a38440d8f35fad5460e5d19e2185e517634c4fd9eeea0bb055cf457434bc96c43b70d3ea7b6be92279ce05d5d8ea7b4caa3d915215ac5bd7ee8e56418d91706f8ececa304dbe7e0e23c5ec42a029d1a60a1c9673e3a8bc942754d4d601f1847fb3539a3259c36c725f279c1ad4480f7186c1d641f377fa3d7ee90a5bf16b8f1c7d9f289b854cb77bfd0f41a028b9634cf3adda3b5567918d2b5d0aa08bc8ccec8d0b39c561f1c92aa6b200bb8824ff50067ef87c0f55e0a981655180aef3bc335c557a9be54e1fe102818100efac2aa13cc58edb458882585cdcfead704eed622a314d923d56e3fd21924f99fe68d20bea1e2fabf67837ec6b52248a866fb6709f550643c720f631f9d860c42f66a8dbe1e36d6fe2330211c6b9b692ff2a0bae8c700f4da7a04e06388bc313e6b480949565a160940c4f0a4323d960fb89fee973960f1972108088e147418b02818100cd35a50245114f6bedf1e0b000c725f1e659b446a05faa14542ef088fe8555fe7c19c4e97e58bcedc9813eb7bf700b59494338b7208c24d256f73c6d72af2c05ad7776de913053eddfb44e0f7db687654a3ee89fe095c331d9bc2b01ae9cb520e8355eda2e5516dd2f4c4459bc16b40bd95174f11a548c3589984d4306f05ab102818100a06245e4c0163412e7e501d4bfcfe35d8cda44607c7ba1bd4aeeea826a04cedfee2f96e0023b510b7253e09884f8e31b0ffb91caabd4e9ec5144ed7b6406383b10bd522252772eb4c05a01f88353a3a99ab7383a0620b71cf01f861703a0035b3df76c5401e590a8606a1c3a71d37b943abf8da60b834f7767ad435655eaa92102818100cd1996c8c3fb5f2402784417e54f262fb609665348ab14b4a8c71985f2cd957b7ad1ceab88aa6c7a4572361b34ed698a5ddd1fec784d59e8191f9677d5ae1b13b9a2b35e1442f73fc2dcd5404a678abfc40b4839b3203c2db0ef8f14694f1b01bed4c8eecc6c232402c7f970aebb0a4ce571b2addfa12d59bd2249e67a22f4a102818100d4b887f8d46a40a14d6582c7fb2eba4fbd715757ae88ba1f644a297483e364a1286503aeab798d30f4d2eae9710b5b71fcc2d132314da4daabd252020527312b3e9f7d4d8d3c4c8df4645720c337d10f3706c06d181c48bfaf35c18ec759da166e3c9312828fff9932bf227d8777dce56ff003301072c620e7380be48aeffb99]\n\n# tcId = 38\n# ciphertext has high hamming weight\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = a4f7ea4da2d695750150d5c9889a6b4ad0a183184a9561b9dfe0afafaccf16010628cc51c68d5035919edaa1ed462d06c4b5feb649be3c60f7bdc1e4a964e758bb0541382b61b49a77314e08b3a88f65d3b5ca2d49b15ff8afa229f462535fcf7f3f20dc01d824927040446a8136cc22ef049b2c\nresult = valid\n\n[d = 2b09c12e8d0e96b3ae88077ee960021adcaedff938ba7d13da0e7152efa04e17d7beff53f0a714ae3197a5b44685e5b4a002d96ab8fe83cdba7cc0b84184a9a18648951fffc3e0a580f6411ac053c4de699b27c44371c9af451285b46d8507f13eac5a21a0cee6485af5a7036223e7d70ccf5d5d3747397ba7acc60d9d8e37b875498d06e7ca08c93cde6d8d7263cc0c696032fe973750d617b979c7afc2628938a2bb3ef6d787955b198dd114bf6af63a28e0fd7d32c85aca53c0255972841f99c4a4707afbc05c329aeb3f3daa4325e80116fdeb38f8a452f1ad4280e324df9edb9c471dffb27b679381ee11b01a656e183aab9b5b480d7ef81d0a5a3a0d01]\n[e = 010001]\n[keysize = 2048]\n[n = 009ed120a37de2127bb18615516cd7931182ad62d39d1ce99adb21d60b8b940830843ffc9537bda7be9760bd49fa61809ce9467a6e0baa28c479006465827e15c4ba08b2a1be1873e96bdfbdd2d129208ce4b15fef184dae5f3b874e0da757f2f1cbd7c43cd0445e6eb879cd292f2759df8c50de0c4a53bada3179f889f81936fe12bdd9c906d80781963781e877e4981ea4c394417965c24d82730c15a3c1ec338873b536552ae1f6d92fb39653a8ebad8338a8dd16492673a18d3c123edcdea1e100f15adc127e04ddf4c4acf2d1c44e875d65de40c4f51dde0249dd58528a371a7c764f0589d342d52bedae8e7e8889f17f9bc0c0c14237b34a8ef7c4b6b56b]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a302010002820101009ed120a37de2127bb18615516cd7931182ad62d39d1ce99adb21d60b8b940830843ffc9537bda7be9760bd49fa61809ce9467a6e0baa28c479006465827e15c4ba08b2a1be1873e96bdfbdd2d129208ce4b15fef184dae5f3b874e0da757f2f1cbd7c43cd0445e6eb879cd292f2759df8c50de0c4a53bada3179f889f81936fe12bdd9c906d80781963781e877e4981ea4c394417965c24d82730c15a3c1ec338873b536552ae1f6d92fb39653a8ebad8338a8dd16492673a18d3c123edcdea1e100f15adc127e04ddf4c4acf2d1c44e875d65de40c4f51dde0249dd58528a371a7c764f0589d342d52bedae8e7e8889f17f9bc0c0c14237b34a8ef7c4b6b56b0203010001028201002b09c12e8d0e96b3ae88077ee960021adcaedff938ba7d13da0e7152efa04e17d7beff53f0a714ae3197a5b44685e5b4a002d96ab8fe83cdba7cc0b84184a9a18648951fffc3e0a580f6411ac053c4de699b27c44371c9af451285b46d8507f13eac5a21a0cee6485af5a7036223e7d70ccf5d5d3747397ba7acc60d9d8e37b875498d06e7ca08c93cde6d8d7263cc0c696032fe973750d617b979c7afc2628938a2bb3ef6d787955b198dd114bf6af63a28e0fd7d32c85aca53c0255972841f99c4a4707afbc05c329aeb3f3daa4325e80116fdeb38f8a452f1ad4280e324df9edb9c471dffb27b679381ee11b01a656e183aab9b5b480d7ef81d0a5a3a0d0102818100cede080639a5e44e156f5e205aca552678ce7eb0962e7a633da3827832de3b43310d183539b5d3716e60eb04bf26a4cd580a38ec8cd697ce544d4d7a47d3eae4625fa60a9138dbc8d397590e332277168281f8d09eddc95cf7254ec1bbe0165104f33eed294f3417ddfa05ce88ab961b354afda8f4fc075d805fd8f19762faef02818100c48987b8d0a44a9783e66ecbcdfa750364f8d39f8030b50a6f05b6cd464ee6bd36048a1173b1f745b977f01576c0170dc27cebed558d3af636e64bde2b4655ba4bd48520ca7174af8b2f5341e823871acc7b7f849b1d8b460a102d8e42e1889d9cc1195c685aac275c751ce5bc82836b624b17cf858f3693103dcbaaf9241d4502818100a2ecfc24eb025ceda2b433ce07b3939cd948c93f0b09501b1950ce511cbf2aada0d44f5c9c373870fe1e16fb8611497af0fc1c19325350fc9028d1fc9cd5ab0a74f02035f26a75af95f67d8d5178b39266f736a0187f553882ee3f39165f47344851cc1dbd8b43dc0858027ac7e95c2fd1a95e5ed3942bb8d882a4baa220b2c10281802088234f143a1d9eb6d68dc06e77e6a6893026d76000aff6ea29a7f8928abce6d4ea2b7078161d380d5b2d026085ab4b3bc631c73742096077f5e6d8ff90c4dff16d5c1bf1669649f85ffd080bc4d5b839e0b75adbd2281b8fceddbb8e968666906be626c59f3c9fc74e1b5a6bb9aec7379df673034891600670342638d721810281801bcd11d65ef3e2c256bd5193dbf2bb5af368bc726838b0f391e785d8faca704f5b931e9fbfcbea61c76570355e4be513adb11df943afde22b5ce394a273397ee23e96116329e142cc731c9d606a1dbf0a7c37dde92216e011749a379266fa4d0b16395c2cdbdec7e0a52f5f16471f459c03fed5e6c1f2331564213a2ea34efbd]\n\n# tcId = 39\n# ciphertext mod p,q has high hamming weight\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 0148726644c9d20762c9546d18d3c13c620f4b3b4073c68c4f9dca924acede084e66cc1e31cc7135b53b483fd32d866517aee3db019e56d161787ee6e873f6c4f08acfc58222871dd6ccec5e2dd1898990c6cd98340a12fb7f7b404d15a5dbc26bbcb2f", + "18547ba2d62c5a5923f9ed5b90ceffd597e8dda192de98fc3c7ebc169863de9f56bdd549404a690b3ef50a59e29375557c88f\nresult = valid\n\n[d = 0dc7c66696abbe32b7e45e194277ba258a94a0513c77de6674b128c8c37aa6c54618b4514c0e543ddaa40b4f98be347d48385ef4a54ec9516bce481a742fc15c85b26c01dae4430913d9048a38039d0fd0d61ecfca8aa2029c493ccb342e2d5acdaaf0f80fcaebda7fd5a0b629c63a4f82f29840193b6d68411c3b6352111ecd7335809a380e647c57babc7ce9a1410011feda9ab0fdcfea820bbfde5652f6b1658bed43ee719d054939467846d98771019225eef193480995dc4fc6fd12ff6534f35027b8d15a7afe90187081886db0e7e3530cf60ea98ce5704291737b8e9b26b53e40a6508e34b91c136967f8e633e9ed95f65b89fc3e4d3fc88f491921e9]\n[e = 010001]\n[keysize = 2048]\n[n = 00c7ac781ffb9a9f691c4dfe64e47de98b8f265e667d5fc2532668caf63921ead3d8440e605a89c7c017a722c9d654db1fe7de724689bb35d684fe038d018a3f4b47e0da7d79c09ab4b74660101b0b8cf5120d39718f0d1b11818c422220caf09a9324fede40ce3a9ab9c45ffb28f192688dd838c085c64df9eaa20429bd59c2757732ce09ae78179b99da63c1c94efec3426f81b63b8f31478f50f826ea378f391223d841aa55c72eda9094e88d658a0972d92468ce651573f0212244e04ad0d95d61f95924f65aa85c316771f18edb27e9a71a53e763c7786f14589514a7029791388fabe024e39ab31ec634a4dd85e334360791092a4d3a15d547ac40ca1fc7]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c7ac781ffb9a9f691c4dfe64e47de98b8f265e667d5fc2532668caf63921ead3d8440e605a89c7c017a722c9d654db1fe7de724689bb35d684fe038d018a3f4b47e0da7d79c09ab4b74660101b0b8cf5120d39718f0d1b11818c422220caf09a9324fede40ce3a9ab9c45ffb28f192688dd838c085c64df9eaa20429bd59c2757732ce09ae78179b99da63c1c94efec3426f81b63b8f31478f50f826ea378f391223d841aa55c72eda9094e88d658a0972d92468ce651573f0212244e04ad0d95d61f95924f65aa85c316771f18edb27e9a71a53e763c7786f14589514a7029791388fabe024e39ab31ec634a4dd85e334360791092a4d3a15d547ac40ca1fc70203010001028201000dc7c66696abbe32b7e45e194277ba258a94a0513c77de6674b128c8c37aa6c54618b4514c0e543ddaa40b4f98be347d48385ef4a54ec9516bce481a742fc15c85b26c01dae4430913d9048a38039d0fd0d61ecfca8aa2029c493ccb342e2d5acdaaf0f80fcaebda7fd5a0b629c63a4f82f29840193b6d68411c3b6352111ecd7335809a380e647c57babc7ce9a1410011feda9ab0fdcfea820bbfde5652f6b1658bed43ee719d054939467846d98771019225eef193480995dc4fc6fd12ff6534f35027b8d15a7afe90187081886db0e7e3530cf60ea98ce5704291737b8e9b26b53e40a6508e34b91c136967f8e633e9ed95f65b89fc3e4d3fc88f491921e902818100fa2be1bf12c6b55c095112496edb08a523ba9e24d4aed479bf4eea882f240a49e6c77d940c99755549cf30cebc218661a1791481a8a63dbab209f126cb43fd29a41ef05513a2e7c5258bf2b40b17e98abe31d52f2ef26db3c487609c6ab2b9e69a84f11d0860f09a62d6d52f524035af9530d78381d1954e632562b3a7d4911302818100cc536656010736f6ef6492a2da5bd075e7faa46db5dc67e11d7a7205d826c31de8371f502fc9d21c39d7e0df2983f491db457d0591b98b5259a911cd0a3788573d2a858874a76cfb440e2a477ed59f4c988332730c583e1db2b131273e132eac0590a49ec595d90198f75ee8f1cfd8c97d50b2a19f1956d60c8ffba9e30640fd0281803d118533dd6380560d382b1c9de0fe0541e9863d3b65ca1c4624ff7f6af2834872fb739e364d27a540354196d5b9e151e7d6e4b899f0aad4ee2d1b1efb33879328ab1cc3c7dd56727bade3fb2b521502775736d123c6ae1cd9f6aa10c4c3083a50b1ef21c52fd4cbfb20b23db0f857a29aeaa75144d962771620c42d52e4c2dd028181008ac43563418d81d1d121cfc8d45db8c4eac8b9b55ce6949239aff8126a0b614645787246c63dddf9977b3ad8b4dc4e5464c3dbb5d5935ac091ee160dd7db8138266d63851a1cbf1222d52ff7a0773a9a0d9644c407e542426f22920c61c72b525ef12e2c3a6a9b97cf286987f0fa44f40aacacb4c155b738e60d3f50d0c3658d02818100ef71c5bc951d7c616ba48c913919480930a864450d893776eacf21844ccb0ae76eeff814eac5a9b50c2069d822e270adad94ed19fd6ef0de3f7154a6a412bc784f78ecb5c1cb09bd5540732566d3497605cce3a6e0ce69c95dd803f291183b275afc780971c1b507b22daf2fd060b05ae277269aa36489587d5a84ca22ad1975]\n\n# tcId = 40\n# ciphertext mod p,q has low hamming weight\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 30bc6828ea18265687b8bd3bae90a8c1\nresult = valid\n\n[d = 4c340ee9111801978db8d5de581b8c825bab65e64165f5d83c7d99551c21e1e202a12a0e905ede10fb8ac383e89d736f3458370d1429e764fcedbfd7465686abee6c1e6755f08880314ffbc2ed473041095680da453a40e780e301e4a6f600fee8d25ed421e1f4732e231485d5380d995e83858eccf4511c5781c71b7a0a7cb41d7238c3dab14a136d6c3bb829347dd5e7e45d8d76c0db0c55f384f9c118de3442573e992a1ad3f81e6b0475ee302609b22b4defaafe8339c29d371732cd66a1bcecc7c84da5aa58685b84cce664e9211fcc8b21bd81d4d1cec3471bd52a729e24785b4ea510ef638a6596b9ab2638904532df185642b823a04d7d6bd8fd73e1]\n[e = 010001]\n[keysize = 2048]\n[n = 00a6fa514e4abb5a0c7078f4db7a2edbded360d84197a9fd5d8c23d3e43641df5a9ac31b425001e766386751dbba10a824f969b5f05d2f5672ae22fad8f66ba21bc233ca72c87987565605be718e7871422f800a471c7f96044721d30f8f3ed55b5a103554270c5a99ef773602279c87e649f15d3d3aa1d6f8ed3f6308825b97434975f65359be75362bd95b6a6347b994951db1b2ad97ee12e21c8284f82392f6d08cf26470f76c4bbfbfc608d499a1b263968962134cff8010b2f15c3c7b19c0858c63e6f412727d196fc229d24651c839093466982a81bc2673f58b6e8625830eff0a22a3af66b9c9c1e47a99aa057ab8c0d16b16bb479a751ef3a3f1653c5f]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100a6fa514e4abb5a0c7078f4db7a2edbded360d84197a9fd5d8c23d3e43641df5a9ac31b425001e766386751dbba10a824f969b5f05d2f5672ae22fad8f66ba21bc233ca72c87987565605be718e7871422f800a471c7f96044721d30f8f3ed55b5a103554270c5a99ef773602279c87e649f15d3d3aa1d6f8ed3f6308825b97434975f65359be75362bd95b6a6347b994951db1b2ad97ee12e21c8284f82392f6d08cf26470f76c4bbfbfc608d499a1b263968962134cff8010b2f15c3c7b19c0858c63e6f412727d196fc229d24651c839093466982a81bc2673f58b6e8625830eff0a22a3af66b9c9c1e47a99aa057ab8c0d16b16bb479a751ef3a3f1653c5f0203010001028201004c340ee9111801978db8d5de581b8c825bab65e64165f5d83c7d99551c21e1e202a12a0e905ede10fb8ac383e89d736f3458370d1429e764fcedbfd7465686abee6c1e6755f08880314ffbc2ed473041095680da453a40e780e301e4a6f600fee8d25ed421e1f4732e231485d5380d995e83858eccf4511c5781c71b7a0a7cb41d7238c3dab14a136d6c3bb829347dd5e7e45d8d76c0db0c55f384f9c118de3442573e992a1ad3f81e6b0475ee302609b22b4defaafe8339c29d371732cd66a1bcecc7c84da5aa58685b84cce664e9211fcc8b21bd81d4d1cec3471bd52a729e24785b4ea510ef638a6596b9ab2638904532df185642b823a04d7d6bd8fd73e102818100e99c2ac2c9e1cabe0c54efccea49f9fbb1d4c0999ed8f3dcdd6b8300d83772ccfff4c9ddbfcfdda0c5ab01679bf0423b2b481488cde9e5307224fee2d37435183efe825d1870b8545e612f3ee8694817270f28f7a62ea122ae2fd0c30498af9ebf9c078f17e9ea065fabf753354b869b4110fcb4b82990950236b728d4ca4eaf02818100b6fb44ce7578f18a1c48e5d6a86e0768043e94cbbf56b38042fcb90b8a6b9d20c352b9cee2376ac317fa42cfb5bab87e05d7423f136efb2fe433a1ca7129645a2f3334d1dae55ab0265d8ec7a7f78f02cfe6dd269d1d1378716b03365d3922967438c1358075aaf3821c48eed9b59f85be1197b9c17f3fc52c5e77da9650d9510281807120d0505e257ae207e4c5efecf1801e94229c56886735c91a6ceb16e89e09791ee6732f70a90001d0579ca98909937945df751a3ee56ab8c83e0434e2039f86ab52e2dca46e49c589a2f49739436ac6d38272eb62cda7f8bc73a95c1788bd5b5a1cfc481e63879228988580050a1b186a2d08c3977f8165b799b99f0b55213f02818064ede1fd1374db9e378dca21061472c76017f8d10dc050107e6291db18c5d50cbe504227284633005b987203ca14ad30ee1dd6ef9dd3887fd91ad5b2298b104c625e9752edafb6bf14da642822b0fd542ac307d705b0850dd95992930906bbda4b4f06db70f8f68b8c87f77eafdd6b9944c6c56ef39931de9b639c2e98dd0d9102818072949cbe1de1edc01c21d2bda3f13ad55e950c0823c928c9af117f004cb42e4a1ab01d7f139ab1578643c833e5c580b822044bdb03a31ea5ced1070ca9f198919264aec69ad137338ac7a7753f77846f4701f0b458acc22aab16ee8983c7efcfe9ffc1d17171c9906ffaa5c0623c2a496862ae30aae81a73f1166b21ee6ee153]\n\n# tcId = 41\n# special case ciphertext\nct = 537d28a7255dad06383c7a6dbd176def69b06c20cbd4feaec611e9f21b20efad4d618da12800f3b31c33a8eddd0854127cb4daf82e97ab3957117d6c7b35d10de119e539643cc3ab2b02df38c73c38a117c005238e3fcb022390e987c79f6aadad081aaa13862d4cf7bb9b0113ce43f324f8ae9e9d50eb7c769fb184412dcba1a4bafb29acdf3a9b15ecadb531a3dcca4a8ed8d956cbf709710e41427c11c97b68467932387bb625dfdfe3046a4cd0", + "d931cb44b109a67fc0085978ae1e3d8ce042c631f37a09393e8cb7e114e92328e41c849a334c1540de1339fac5b74312c1877f851151d7b35ce4e0f23d4cd502bd5c6068b58b5da3cd3a8f79d1f8b29e30\nmsg = 5428c34ab4a93dedef450347e9b89b894fa6c6b1c07e0205f5b4505cf0e65954760e3ce92a170499dfc10d5f3b4ee72843bd394d04f0310db1f7dc47950ebe88b3d32492d7170814dde0e0564560740f6bc7c34a64a9547977b446e8f9edbec97246e113e6f86a2e81cdbdef6531016638196eaa8cab3cd7c6f6fbdc8a60e5b48698993310872429cf5baa34f32c6fd9320265\nresult = valid\n\n[d = 1de8594775dc196abf0c3cd0c072e60d376db575f2b3ae3b1c082cfd91186621dcef7fc575d0361d755270f7cc01ade8b93c018d8bb883adc5b10a6c75ab9bd7f65c336e3e0d2165e4534477e38ede3c7dac1a784fe02fa3202170003273e3f6b10771033ddbc9cdec6f9f6d308783a76853be9a4fe49bffbce84e65bf29308d956a7375fef2d1a41c60f980817d9a95f485ab29e441805c615cbe6ee17794231b5207c53a21f11ea2f16f576a43a9279702d8614ef8136cb0d69a105308bbe0e7707d88716c8970b4c4d5e3ce41a400b379bc2a5b6307a6063f641b38934fba06bc3af42e4b4d587086309882180bfff4d8974baf6fa3d17ee094a9454d2be1]\n[e = 010001]\n[keysize = 2048]\n[n = 00aca199738e9f86f0e76696188f4d366e6c900d11d0de3ed586f371172e2cfc94289d93411b51d82ca16f63a9e4586d8b0198418307093b1475660d055e4b2940662fee32a10ffefc62df6a2d8bb811eedcb461529ed548e6e094fe8c7a91703524b5af85add10113655c934bcd6b8dcc0d0ee6edcb08f8a84fe871f44f85b2aff13a968bc12a960f8c93877f1bf22d18ac581878a0e6e7643781c91c65ec0135cac31fba6dbb3cf36acf9e3168571edb6d26b02b5c011dd10b57462d0abeb0c2d3d4e0f89680f2834b117215c6d79b3ed938b657b45decedf1524b095dc6160c18dbe58cf8d0a251ec2f9f737bb81997cd863d94c535eec63ff5e6000d80fa13]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100aca199738e9f86f0e76696188f4d366e6c900d11d0de3ed586f371172e2cfc94289d93411b51d82ca16f63a9e4586d8b0198418307093b1475660d055e4b2940662fee32a10ffefc62df6a2d8bb811eedcb461529ed548e6e094fe8c7a91703524b5af85add10113655c934bcd6b8dcc0d0ee6edcb08f8a84fe871f44f85b2aff13a968bc12a960f8c93877f1bf22d18ac581878a0e6e7643781c91c65ec0135cac31fba6dbb3cf36acf9e3168571edb6d26b02b5c011dd10b57462d0abeb0c2d3d4e0f89680f2834b117215c6d79b3ed938b657b45decedf1524b095dc6160c18dbe58cf8d0a251ec2f9f737bb81997cd863d94c535eec63ff5e6000d80fa130203010001028201001de8594775dc196abf0c3cd0c072e60d376db575f2b3ae3b1c082cfd91186621dcef7fc575d0361d755270f7cc01ade8b93c018d8bb883adc5b10a6c75ab9bd7f65c336e3e0d2165e4534477e38ede3c7dac1a784fe02fa3202170003273e3f6b10771033ddbc9cdec6f9f6d308783a76853be9a4fe49bffbce84e65bf29308d956a7375fef2d1a41c60f980817d9a95f485ab29e441805c615cbe6ee17794231b5207c53a21f11ea2f16f576a43a9279702d8614ef8136cb0d69a105308bbe0e7707d88716c8970b4c4d5e3ce41a400b379bc2a5b6307a6063f641b38934fba06bc3af42e4b4d587086309882180bfff4d8974baf6fa3d17ee094a9454d2be102818100ec7e4a7a3ea4aea022cf4b5caa6d9ff39f7c8285d6dd9789f90f4246217a3f4bb342a377046a216e214874d1d3b4ff599e1fe9b70d81ac5a2ed2bbd18a1ec5bba38431c26c614f5d474b5ca56d78c36a287c6880e3ff2d3d1430fe496c7c0df970df38f699b7919819b4872caefe2d6848a9766dbd013ccf8c9605a6e9c69f7902818100baded1cece65f6ca97df9c1b575c535806de637f7383a381477c682e6dc911a0264465311af636e13ba328a1f7dc8880dba49e683c6dcd7073bc138362d6afdf62ca0e626cee5ff9a325ab2eb0479190f8787d8bf7b4c3e7ed1b4b568abb9dfb26d4d16001392e392bd7eb2aa536109f273c0387056cdab409245cc43d3dc6eb02818100d67690c3db1b2ce13bb010ffafee4a277c72454b6a56f99dbda700cae8811bf56253043a625e7c828adc52541651056017ed88dcdffac079e80c6316dad29d2e5453056cf32c2bf4c33aac81b88cd369e9dd2847fa7ae663857408a63d2322e91a5ad4258db0d2efc41fda95c2fbede1ac43418ab2e3f469a36c4923dcccaac10281802a7dbc0b60574314b21000791f1639454cda88995474dc5aeb1c58bc25ee90796ffa21605717214779be11e132710d00eff0b0ac570148b3873d7eda634119e09ba00241532fa8d724c7cdf2e1d6843d08a2ad39846bb0182e8c04477b6849f5efd078837203c484ef793b5a09131018805d5f17f69dd7e514271688f0bbf95d02818100c017692b3af8ad0506fb23dc02f1d220c7b99d68b91e3f97901c10e9c772e537f5f6102720adf7a55e6beff690c7e48f0c122bdea81f56bd6561a336d73188e3ce213ac853f744f0ec5b8ec10a9b9b0433ecc4a37d9970779e0913bc4bd25d2111e89286ddcbacacd23a13e5d7e0358c35681d558faa484e8104a30938e38bb6]\n\n# tcId = 42\n# ciphertext is a simple fraction\nct = 171759da87532242dcbd4821488d4861c1d87a2479c655e945d02cb5de9799f5f6199413101e0caf24bcfa7319b91da481b3c717dbd894f9f7fe814964cdc5d2f5daab161c5d36346ec30a5d8e8e959df25fc107ce2fe831aeceafcd580dd9d6e862b0dc67c97786947a06788dc037794ba3bac7d6c1dd87f0d0acc4b65d0f05965884a3a6b57c50a3cd7b758907b45f877bace2102e28e61dac68cafdb0cafe635664f27d005bf03c809114e6d2d3ef06f18effdcd8f4b223506259765efbd632be128b67b268df2e6f99714325d7cf089110aedbb55d0556c76a164cb6534b36c0ab6fee98e4d0f8db7a76bac1d9b8328b928e6601092ff61caf0298175a39\nmsg = 9d01acafe3375c444a74d3ed74166e8728eb6657c7644677579720aa8ffebe64f52e36b449f8a0fe79e07bd59e46aa48c83088ac38bf10a3e036158c198a2a3fed283b2710b632e0741f970969b475bc4ae8355e60c440f71f304a1363b24819a351d5147836febbe249d65ef3c483a76df46a019a2f3eecfdf0c18c0ab11de90313cd9af93a857dbaf8049c6efede83274440ece9c2103d00e942ca65a8efbebe6190d9e5ed61816804d941d027cccae2966854b38ea07bcef857e5fc3fb4aa5f3c4c56360007f972d5d6d6740a585d000df619d3466032930a856c2ee14db5e6960c8e9ffe79107e212cdd6e082eccb10a\nresult = valid\n\n[d = 16253d566d6f2660896b3504d2ded2d2c264cf22f9524487bcaf5c0df7075e3a97cf959fe7b78d33c217b47f25d85f30b00f1ad3347d6bfb090382ba45d620342e7532f65627b2bb411d383aab5ffcba33fc32dd06bff027229e4f542d42f9e4fded45637a2d43d42d2e0c527ad28d60a837a45bdf8c39376ac9c13f9b8a39ee93846c65fb70f129e37e5a3d21b5237448e3b78fb128bebe81c78a39c6fcbf0ffa2ee6beba1b5be02e2a7c4c2586380889275ed22f6d1153c1782643fc792542859e8ebbd5da60a8c6b27bd7d22d28089d6a369a0d8188dceb90fa6aa72449a6f58a07575d131dbf4f72a1f05864824511d713ff6350f10e2ab42f36fa37ae01]\n[e = 010001]\n[keysize = 2048]\n[n = 00af1d441122c45188e3b2daef70cacd253a0e611af2d17a60e703baba696e5ef2d7ca0d53eeeedaca1c079ddd3b0b0732e15a4839cd1daac35ddacd85b368f5721eee409a7983bbe3f2eb09a23632a8d700b1235fadde1ce1f05a8013a9bc05302e08027e8102e755877b59f65625d029312ed813e3960410ed419b787cd8235e002c26f1f7bd7e03754ec0fc12087edb85dc793757324ca90611a22364bba069f084fcfe7730a98f6f6b784e65b84643443e38b317af8cf99c7e4711f7303c7c323b3ca4b6b306b76bc9f554b9713fed313713d98438efcb3cc9c6d4958ba84bd80f2989e4e059005a6585ec18c6c6c887c143d9ed962303d6c74c21771184f3]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100af1d441122c45188e3b2daef70cacd253a0e611af2d17a60e703baba696e5ef2d7ca0d53eeeedaca1c079ddd3b0b0732e15a4839cd1daac35ddacd85b368f5721eee409a7983bbe3f2eb09a23632a8d700b1235fadde1ce1f05a8013a9bc05302e08027e8102e755877b59f65625d029312ed813e3960410ed419b787cd8235e002c26f1f7bd7e03754ec0fc12087edb85dc793757324ca90611a22364bba069f084fcfe7730a98f6f6b784e65b84643443e38b317af8cf99c7e4711f7303c7c323b3ca4b6b306b76bc9f554b9713fed313713d98438efcb3cc9c6d4958ba84bd80f2989e4e059005a6585ec18c6c6c887c143d9ed962303d6c74c21771184f302030100010282010016253d566d6f2660896b3504d2ded2d2c264cf22f9524487bcaf5c0df7075e3a97cf959fe7b78d33c217b47f25d85f30b00f1ad3347d6bfb090382ba45d620342e7532f65627b2bb411d383aab5ffcba33fc32dd06bff027229e4f542d42f9e4fded45637a2d43d42d2e0c527ad28d60a837a45bdf8c39376ac9c13f9b8a39ee93846c65fb70f129e37e5a3d21b5237448e3b78fb128bebe81c78a39c6fcbf0ffa2ee6beba1b5be02e2a7c4c2586380889275ed22f6d1153c1782643fc792542859e8ebbd5da60a8c6b27bd7d22d28089d6a369a0d8188dceb90fa6aa72449a6f58a07575d131dbf4f72a1f05864824511d713ff6350f10e2ab42f36fa37ae0102818100ea1586f2fbdfde7f7b5bf8640a757e897716cd7e7c3426b9c3df106bf6ad36242b10021cc4c23b2e7dff3114c0f66623cfe9df6e9946099e45b1b75447da1331a5cbeb40b0191901e4fb296438fc6c9db4d2f496ec5a891ee6c3ac1ae205a8bc3621642f7f58c701236354e1dff558d327d3fe91645f531ac3374938cffaba9b02818100bf825d735ff9e5da51a9b5f413dbfc1367fa0affc08a031db2b0b73c55a37aaec08cac6030249bfbd079caf95717f17568f730f106d6373926fcc147fa8b7b76b0f911511aac035b5a79b6dd49f08e6fef744e928733b3d143cd946f8598426d101b559e76024b400af6c82cfddb7a8315ea20049a80506ea4c987030c7178890281810089be091eca1fbda97e496c2c520b395e6279448a7d43a2d604f029959e1de691f9d4fda9380ea30c848fb9ade0ae1d044dbfecfe03ab36d5af6517dfbc3812bb503862423a5d4a5dd704042339752fe4cd16a55e79cdfc89f67885b97beea08fbfba7e5d84ae14cc12aaccb3ed394dff529c685bdd984a2aa15cd2f55f4cc6a90281800dec8f98dce89182bf1f44c07b552a4dcae88e362c2c9caf6317a02afddb060780ae79b600aa18c1455625a0dd693b401b22a5e75064", + "f0dcf1edbcabdc169a22761995ddbcbfb6fac46847186dd0d4ba64c1a318da45b3144b06be7d214c81bfe644e683bff6c8bbde50351bb85565e1f40cf2c902e6c37257fee31720a77b6902818100e1b7b58183f44db95a767f55d82a777aff5b62f44a2b29382f823e62a45bfa87356c089816314d18274c57e4294135aabffed934518f61761c6b9d3fc47201eee298944a888c5eb004b161798a91ff3775dda795f244ccbdae5bd90e71301e1c24cdb3e4398c6a2860ca67481b362947f9fb9a5b75f5b3623d7c063fd5e8aed6]\n\n# tcId = 43\n# ciphertext is a simple fraction\nct = 46a9ee986efc30f16a6d46521865f3ebf97ee2c02d693f8f3ae746c99716ee5d10a25a8fb34fb75c735062bed816c2a2cfcc6733c9d1f1b23df893cbaa8c92dbf0e8bf93a80d8a21c1d4cd2af3da728d9aa476ae55ca700820435c02cd872d3835b4cb0f4626feecb0bbe45f35e2f80c704d9a4e1e2bc613bf06fb52f26ca5cba69c3bd96b1a3845a3fed672a52110a9e710a7710a4ffa44f1ff890c1d698882eb27b27cd8184a9f5e3d4b33a51885f23b80e97887e7099c3bea6aa76db83ac9ec6880ce784d34a4cecf841404d6295f531e6f1262ddfef28f06412670ccd2af404b76f94d98ae6c2789944b66cea2a033e2f405217624fea444666ef30c7b84\nmsg = 6742f1e5ba666a102747f6c90b7afe5700249cf60192b201c6c29bfff1487b0ca4100091e9e1d94df3af18021822835b40b9c20e2bf83ef174deaebc94ac9770d8b128ade611c19256d6fb62a41301898af074254c756f8a241851f3d4a052d7745f99d9e161434af4940a80610cb2fe63520bcefda74564b02c99ee9b0d88036ac39ce547cf103fee0c1666f0757734c29577fbd2f88e11058b5f3e81f82ff3f456ddc8018f7ed740979b15da66469b\nresult = valid\n\n[d = 49afb0149ed3ee236c284e0e35bb4e6e085905bb8de274e85d5202613a0e92c461721f289781d7f43482f6249e27d595f36fff1542285590704bd15f79ce3d5749f156a3c3bc68483bb2a3f4441c8311b160413b6aa01b2b1432c620afff3612b931cb6ca7c75a07e076b6a5626174a7e3017dde310237416b3875e588dd9f188f418ccf49d8538d29da7291c5fdd7213d615e5f1d7f94768dca6112978dbdcac1f9b801ec1463e9fc2a49d34b9a638605751485e9f1129800f3ed7e73cf27edbbcb80f11655f10b900544862bf7bf89adbcd5bd23c3ebb744a688078934138a0fb930670ff4b6588f6034777ca1124cd01caa726c75d85963cb3500795401a9]\n[e = 010001]\n[keysize = 2048]\n[n = 00d932a891279753a70c0a5788da0b6c740bc78384b46c43460d9d1d7d64310f066d5d62799e115b542c05012b692c5355ca525492902c1e38ab77c96a7e7d07f651f0ab91dcc4fadf46fb5244065d58620eb6d31d736eceb027c46e4c0424d27f0f16d3e248f3bf3ca93127729f043fc1a307961188c44abe77e782e3d2a022872792425f342de097145551cce568e26f34cd0ac787baf3b7e85a768a469dfcffdb6ed2ed8cd7c433f4db4577cc10ef49a34351c8ebba3240e9a5e867374df01732156e3269f656389aee2eddfeccba60ab913bf3dc734e56b094ae1644a547af5ae4d7153a87610a51af70bd5796d6a2dd874653c5cc5cdc502d7f3358f4de79]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100d932a891279753a70c0a5788da0b6c740bc78384b46c43460d9d1d7d64310f066d5d62799e115b542c05012b692c5355ca525492902c1e38ab77c96a7e7d07f651f0ab91dcc4fadf46fb5244065d58620eb6d31d736eceb027c46e4c0424d27f0f16d3e248f3bf3ca93127729f043fc1a307961188c44abe77e782e3d2a022872792425f342de097145551cce568e26f34cd0ac787baf3b7e85a768a469dfcffdb6ed2ed8cd7c433f4db4577cc10ef49a34351c8ebba3240e9a5e867374df01732156e3269f656389aee2eddfeccba60ab913bf3dc734e56b094ae1644a547af5ae4d7153a87610a51af70bd5796d6a2dd874653c5cc5cdc502d7f3358f4de7902030100010282010049afb0149ed3ee236c284e0e35bb4e6e085905bb8de274e85d5202613a0e92c461721f289781d7f43482f6249e27d595f36fff1542285590704bd15f79ce3d5749f156a3c3bc68483bb2a3f4441c8311b160413b6aa01b2b1432c620afff3612b931cb6ca7c75a07e076b6a5626174a7e3017dde310237416b3875e588dd9f188f418ccf49d8538d29da7291c5fdd7213d615e5f1d7f94768dca6112978dbdcac1f9b801ec1463e9fc2a49d34b9a638605751485e9f1129800f3ed7e73cf27edbbcb80f11655f10b900544862bf7bf89adbcd5bd23c3ebb744a688078934138a0fb930670ff4b6588f6034777ca1124cd01caa726c75d85963cb3500795401a902818100f0d6d9aa1040e8acfa4d658d632ab8342357edf9a00537c888370e747ad9584cfa6832614396db584b289ba2585badee9d2be775c194faecf80e4109bc363d8211d4ba71b06801856aee99281860620a19f0d4943f3d7d2afe6dac6c55870087959be0d2a1f8d1e018db595620ebd8ab3d5480cd5c1aec73c970269d0c7139b302818100e6ded3339413510f9908a1c028999e530eaa029dbb82f5519bf42aa8a8f8241b151bf95ece24b35c33ffebf973755716cdde31052fe9fb8327ea6efd1e167aea0276abbb7b996ff877428534c12a48b57988995dfc1e5b93bb3460b8c5d57a8178eef7c6eebabf00859826e1a3c4676f98893c095c8a892c07d97ff7e30a99230281810099846a84d40d7c035f1ddcc0ce5899c86a4b0f5f92582121cb6a44e58cb5646ad5277c0db1d6c484b88bef01020f9684465d8911efce76507d2220e502bb146407d7b0eced44aecb8bc90189a45833c63a98dff88b833779236b67803ad86e46fedfb8e4aae87f67b8908196bc2f7a12556abb1bac3d6141c142a2ea72d6edaf02818073d142a87457406a0fbe69ce894f8f42616fde421ca834c30cf66f540ef7f4bcf559043f90308f1de92430d00220d260a94416d960510410a6bc8f93413dcbc98b14d75005505300956b7481a389bfd1f23719a131725544863c5f6d3229c6fc1e9bdb071c09e8f9ad0b482e17c6d6910037903bae05fd8c6e1fa977c499337b02818100ce18d158822540cfe589748338a77a4bd9a57b079819f028013372359f29748b8ce340df5fc42ead637b1d5c069477eb64e64ef424c9d64aec4d0d0c71b92a5d35c0aef4e9d8a2ce0a2ea8d6deddbdf9697c054dc21c05e96e2de80c651826e6eb59a06696d2f8518ae91479f321da24c3c3b6359ca12deec16fe39f62e6714c]\n\n# tcId = 44\n# edge case for Montgomery reduction (32 bit)\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nmsg = a41ebd80b15cbe50842790f7f30b680aaac807afeeb4e5306dee48e6d7946ab8378fa6112ae86874f7b14233ef62ce90e3c0f0eb5551a256c0759e3b14cd70411a897150640bca5d78298a557992ae3bede97b981b6950689c74d7ad90651870d8f5657a202f6dcc2d6fd2698f03642aebc489c3ac9a68c7a2c184017f8b8ea81b80ccd7871e01c9d7b3496070c2508cb69eb71667649819e803a0c0fdca45c7c21c986baab12f986f37c3132d77b5861d87753f6147a7aa39e70029c024d5896d8add076e517ef0b40049d7fd0495a3e3b63eda\nresult = valid\n\n[d = 52d5134bdedfdacf2a6122c1bf3e6d8b6dca44da7910e4331fc620a9773324da739a62a8d662b47d4fb955da87a2af253f1c098f3f285359b292f7de587c6ab57a3e3efa9b1ce5f9957aca8151924993e984c300db986e44d4709715f87de78d273cb84265f0f62ece681bfe0a0082fcd4af537d04e2d867a2ad3c245b57d83cffca1227217270cc695f0274f7b93b871f560073afbd7b9ff56cb769b96e041a5e78d272e88d87752c839114de210f990490f37d196a7cd6a7315e66a13fa85ed9c531acd77c35013827f42d9c69e2a2613e9b491c9a33af16ccf9c2057b1d4c547ac91f6511bb74ee68a42d209fc0172c118cd3c664d78e23684dc7681c0591]\n[e = 010001]\n[keysize = 2048]\n[n = 00bb11e68c71d58bf30658751bc3218e68be87dc8afa5ff98ae62c06501548985959ed95172a9d3659ee6ec34bc417cee12b878001c54bc1e085ebbfc0e8d977d35ebc250618bfe6caa1d018f2f4067c3f825016c648c188166560056be9d6a95143bdd4fea6ebaab56f397ec78c9915afe0a18be3f33085c2ae2af3a799d862ec997ff556d91b3a80bd675fd2ce4f1cebfbbeb27bec856a29d267669e2d78f0e7f5a1559853ea7cbe50c3a1051f71b74591c5ab4efb2d1eda47e21f49866e80d75e237486852d5a24b72017d9334e958424ed32f5a02db7cc2cdf743b58864a219a8667890b396c73ca9e7c72c74351dd317583f463094014cedcc12179168ccb]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100bb11e68c71d58bf30658751bc3218e68be87dc8afa5ff98ae62c06501548985959ed95172a9d3659ee6ec34bc417cee12b878001c54bc1e085ebbfc0e8d977d35ebc250618bfe6caa1d018f2f4067c3f825016c648c188166560056be9d6a95143bdd4fea6ebaab56f397ec78c9915afe0a18be3f33085c2ae2af3a799d862ec997ff556d91b3a80bd675fd2ce4f1cebfbbeb27bec856a29d267669e2d78f0e7f5a1559853ea7cbe50c3a1051f71b74591c5ab4efb2d1eda47e21f49866e80d75e237486852d5a24b72017d9334e958424ed32f5a02db7cc2cdf743b58864a219a8667890b396c73ca9e7c72c74351dd317583f463094014cedcc12179168ccb02030100010282010052d5134bdedfdacf2a6122c1bf3e6d8b6dca44da7910e4331fc620a9773324da739a62a8d662b47d4fb955da87a2af253f1c098f3f285359b292f7de587c6ab57a3e3efa9b1ce5f9957aca8151924993e984c300db986e44d4709715f87de78d273cb84265f0f62ece681bfe0a0082fcd4af537d04e2d867a2ad3c245b57d83cffca1227217270cc695f0274f7b93b871f560073afbd7b9ff56cb769b96e041a5e78d272e88d87752c839114de210f990490f37d196a7cd6a7315e66a13fa85ed9c531acd77c35013827f42d9c69e2a2613e9b491c9a33af16ccf9c2057b1d4c547ac91f6511bb74ee68a42d209fc0172c118cd3c664d78e23684dc7681c059102818100ded3abd74d472347657a9d94cd09e605b6799c579843335468eb26280ff6cde836d2f68e", + "1bf011fe5e0ed882e962d4f33e10d441d311536c30ef7f61e4791fceacdeda89092442690af53644878bf7fee88ec55ed1aace4f05abd5fca138ad03585e2231eaf63c16efdc221dd9111dfd1ab320b52b0c878ae68d01092ef77b4302818100d6eb7829ef21696440506048fa4a61be6eb8f1f525fedfc6b26442071ca324a9b5c319018777b6881fb9e506949c63648ae559c5c0f9fa79b9aef4c54659afb3cc892921eacaf95b194aae4b6b1308d399da8993082d3ff2e6fef6f5043ca9018de1f6ee37252561eda1ff85a9f3a1d039d415cc2525ae52bebafed44d051bd90281801a36d0ba8d8ed6e9a958997d4df9e223bde9e4a8b1730670e1bef848324898c4bede66bf252e430fa7c51b579b59533022971c417a31499d2acca231c40d33debe9ba11e0a034804cf9335852e651b11d40e27ce15e08050ef9bdd9ad0e4b805f2b970506b11f8d3c1f825d3591c186914610a7205d47d85abc5dedf53b52dbd0281801c5645acb9c3dd0283dc5525aa229e8a9e4cb25251652e9a233146e76b26339250cddd812f1c60abc80b19a0697dc9391b7b2bfffff6b5c8d0ebb9883d435c0047ea99cac80b651f56d15af3c4b568c78594a3e907fdf75d8e8975844ebfb4c4e8b12f7eaf34ad9e20d7e839f6739215435aac591358c9884d6f9863e397d5d902818100cbee5c8932503cb00a93125a1f89897d88ac171932871ea7cb775a9bbb0284b6a239408a9e79d7dd81846fa9e34acc81589c8281e066eb9fa7a45680249fd4b97cc3bdfacb9bf10591f4998ac63cca7355b9b7e84127c6fe14a6a9b5b64fad3540759a210ee2c7188f9296e1bffc0a4b2fe516ac6e7aafba95f36b7e03ab31d2]\n\n# tcId = 45\n# edge case for Montgomery reduction (32 bit)\nct = bb11e68c71d58bf30658751bc3218e68be87dc8afa5ff98ae62c06501548985959ed95172a9d3659ee6ec34bc417cee12b878001c54bc1e085ebbfc0e8d977d35ebc250618bfe6caa1d018f2f4067c3f825016c648c188166560056be9d6a95143bdd4fea6ebaab56f397ec78c9915afe0a18be3f33085c2ae2af3a798d862ec997ff556d91b3a80bd675fd2ce4f1cebfbbeb27bec856a29d267669e2d78f0e7f5a1559853ea7cbe50c3a1051f71b74591c5ab4efb2d1eda47e21f49866e80d75e237486852d5a24b72017d9334e958424ed32f5a02db7cc2cdf743b58864a219a8667890b396c73ca9e7c72c74351dd317583f463094014cedcc12279168ccb\nmsg = f530f3adef7fc80a148531103d79369d741ca40cfedfb9ae1d150eeb73a4acdf71aea6defd3c493ec032f2db51758ad4e02e2bd9d48364bc0adc0a70793727455be33abdec47cb9904c7cb0bd2bbd13a5a1071d326921faedeec73b6bf0aabfb1b8d84432615d7ceb2a943d1fc5679978ac18adab009c86cc381c18878dace1351d1de94ea458465d291ee9cf591eb98284e0d497f699e7443ba15eb851907aa01cebb864ba3a6fb1227a736cdb000fff70ad25daba26a4c4af00141015a049b9dcd4ed2c1996f\nresult = valid\n\n[d = 7ededf50837a69ec04de01c1abe05d95d0034267bae1e04fa63e94c38d361ffdc339ee6a3094eccb7ed5890df0477b0e7dd795a4f1cade2cbfd881e7a17f487698695418c0090eb599ddd1a98a00834a7dffdb850bc60f1c1083750d83e445b74a51efec0dd288c7151bce28358564ea78c00ce438561c218720b7ab7d3c7e3730b1245afdfe5d00d3627a4cabeddad61ced976df0dbb47e0b5804ed843ed00480c50540bac7150fc60f613be5ee4b9184d5b4ab4b82ab31d71fb13a1d21bb110fc12682ab32653375c83f143f0358dda6a2301ab961d1132bbe6308e1586d24add35ffc0db642e888511207e1348668597a01598f528963097be8fb55338531]\n[e = 010001]\n[keysize = 2048]\n[n = 00b47eead880e65ddd3fd77dbc859b82cbd93d16698ce29351e506c361dfc14c7a691e7f045cc7611c0fe0914ed1fb985012e249c238f8c9591255b3d27312c8840b83a1b75b3fb65ec3ec47c066aa31359cc2bbf92648d0e010e4306b8c8d7960ff0fe522e03740e25e3ea31dc61fe980e76aeb5ca56582deff392d676181dea95345fef290c431927a5e8190d1c28548c751d048c51b35c4e4ecaaee4f6c0ab376cef1b0cc0d15a843f3aa15b0de22d02c571344a1704c445bd38dab61bd291eb6ef654fb01e2c9c3149d4e385f5e3d3f2a6ff2ac6543035e742291d02faccf83a283c0f60d2f031d2536dc08861e8c942fe109cab2dbc249a60370fe8133803]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100b47eead880e65ddd3fd77dbc859b82cbd93d16698ce29351e506c361dfc14c7a691e7f045cc7611c0fe0914ed1fb985012e249c238f8c9591255b3d27312c8840b83a1b75b3fb65ec3ec47c066aa31359cc2bbf92648d0e010e4306b8c8d7960ff0fe522e03740e25e3ea31dc61fe980e76aeb5ca56582deff392d676181dea95345fef290c431927a5e8190d1c28548c751d048c51b35c4e4ecaaee4f6c0ab376cef1b0cc0d15a843f3aa15b0de22d02c571344a1704c445bd38dab61bd291eb6ef654fb01e2c9c3149d4e385f5e3d3f2a6ff2ac6543035e742291d02faccf83a283c0f60d2f031d2536dc08861e8c942fe109cab2dbc249a60370fe81338030203010001028201007ededf50837a69ec04de01c1abe05d95d0034267bae1e04fa63e94c38d361ffdc339ee6a3094eccb7ed5890df0477b0e7dd795a4f1cade2cbfd881e7a17f487698695418c0090eb599ddd1a98a00834a7dffdb850bc60f1c1083750d83e445b74a51efec0dd288c7151bce28358564ea78c00ce438561c218720b7ab7d3c7e3730b1245afdfe5d00d3627a4cabeddad61ced976df0dbb47e0b5804ed843ed00480c50540bac7150fc60f613be5ee4b9184d5b4ab4b82ab31d71fb13a1d21bb110fc12682ab32653375c83f143f0358dda6a2301ab961d1132bbe6308e1586d24add35ffc0db642e888511207e1348668597a01598f528963097be8fb5533853102818100fddd690268fff94f703b9b1f7969498a1f6e3ea376c7fef65c52e117044c0b09287fd43703204c584721fcaa9cd7b9494d783c5d60897dd65503a06f3ba96b533c61039bce32c41aafed27a60fcd27a3396bf13925f13ca104422c6f3c0b0aa67eb680b29c0786cc1d5410bbff60c0812b9f549e5d4ece0c941bcdf3595ced4702818100b60389bea91bff17eca1989179cfb5a60cb5c94f473990c1f9a27d54d8e922d8aea9c6a0e58608a907d695342d6321ce5b52ddc9ebe03eb1c48452f1d8ad3b3a820620af15299d223faa792d557c1b065316e51aa9ff5fcf19903cd5f157995859deb0320bdbde6ad5c996eb3e2b1ddfa3525bfd250097868516e210493b0d650281805d153811b82a5361bb473fc3b4a2d4621ed02f8b845c24b2747bb728d75c829763102be1d7f599c8ac9c5ba6bb47a61aa89b33971174987d6442a62ae2f765f0e92cb14409c13782898b2d84883ab313f85409e8e86ea1ca70634b23a6226e4f4a1ae4e998a871d699d25f286fa52c30b0ac053ce3fda7339982f06b101330b50281805044c32c681bc6a5e05f6b8f4c6f03a6d5181e4d6e15bef72c86324b86d559dec138723666c2737347d7a4393c82e957be028f790b22fbc31ded553efed576b758bc2711cf7d68a4bffb0831abef6d639ea50c28742c012eae116422ddaa4a20229208962990af47e23c62e81fa4982a1636ae06b798c93a33db619ad910c7d902818037f2a1d6cbd14425065ed9ffe7994d80519286b49694ce977d3bb999bc7e2ea9ed85126b3895b9dec1e7aacd930bca2009ec1879bafbb0778527c53f09d12154909ec79272bda9d57aa5db653677d95b443a1f7db99dda8bb97bf1702309af1e23e39190ed7413dce6904b8eaf5396944150e4879726aaa0991dcbcd8124d8a4]\n\n# tcId = 46\n# edge case for Montgomery reduction (64 bit)\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000\nmsg = c0e17fbe480115f5fe7a66236adcd3477fb6d7d2ac5cfcda26afb21b3de59b36b7889c9baccd91dd7dbe7fe744cc48b301ce799ce393452c6bb24a14e5db72cd8ae761a04f3972943c3b59aed2b80246ada1965bc0bd0bd52856d7ba97fe8fa80406d9c9d9af367443df036b1549d1ca1836e676cb0f4a962273c3410d29b7805a7b150c23070da72a7e5198df322c6bcc2798e8ba706854ea2f5d5428f50c01edac19d25295fd239ff86eb8edd9fb53e634044e21079c605a9d3232a61c939e7c87c339b0481a04fe2aecbcbb15f19d2389fe3f6a2dc35fb289cc6818598dce505a11f9aceddd1a\nresult = valid\n\n[d = 1cb31a38270da00ed48af41f975773b8e9ef473c5e3393761de003b3a435bd8e2239a427effccfd0df19bc8bd6b41647271a0234a895ed6771fb36b07c1941ec3fbec9c7600b4114ff7287434773142544227505653ba039ab1a7f86a5403e0c89bbaa657ec91a51e212c0592761c8379d41ceb0bf64175fdbdea56833ab3a910a782711243b98a540178031227d169a0113603cad54182534471b4e9f16bf3724f15d45e98127fe348ccbeba5c9fcf9fe3b11ea71c2be3bff4b040565f8179fbcf59f13605cffeab6656dce56b2e9602da5b4b15a7882f564890006f82d0c3011a63485a7b257abccada8cb00f84d66a6cfd3d42084a44db51002319bfb5711]\n[e = 010001]\n[keysize = 2048]\n[n = 00d96b1ed7a5071af8c48b1a162d9a3c336bb0d8b893f54719b21e2bd8581b46de773fb906a99585b777b7aab4130e15d0fd576c7968dc940019a568c6b425f0017843472c698b25253676fb0d6d1dba59ca4fdf90173af5f28b9ea93d9a95c61500fb89131f2d93217aea06910d415b551ed8e8503254c62570e8831e1152f407cbc5ce89e991719fead2cecbe62359bde60adc480efc6b0cea5177cd5663f99aba8c8f9a670b5060c9ea5231a95d655eef14485caf68a688b242e1e6a6543af239cf65c8d4aec626fae444baecf1c70b2d3da3c8b063e09e20aa441eca372b9b13a813dacfd333c491350ed348834375febfb885ae00e16a1828484675f870e1]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100d96b1ed7a5071af8c48b1a162d9a3c336bb0d8b893f54719b21e2bd8581b46de773fb906a99585b777b7aab4130e15d0fd576c7968dc940019a568c6b425f0017843472c698b25253676fb0d6d1dba59ca4fdf90173af5f28b9ea93d9a95c61500fb89131f2d", + "93217aea06910d415b551ed8e8503254c62570e8831e1152f407cbc5ce89e991719fead2cecbe62359bde60adc480efc6b0cea5177cd5663f99aba8c8f9a670b5060c9ea5231a95d655eef14485caf68a688b242e1e6a6543af239cf65c8d4aec626fae444baecf1c70b2d3da3c8b063e09e20aa441eca372b9b13a813dacfd333c491350ed348834375febfb885ae00e16a1828484675f870e10203010001028201001cb31a38270da00ed48af41f975773b8e9ef473c5e3393761de003b3a435bd8e2239a427effccfd0df19bc8bd6b41647271a0234a895ed6771fb36b07c1941ec3fbec9c7600b4114ff7287434773142544227505653ba039ab1a7f86a5403e0c89bbaa657ec91a51e212c0592761c8379d41ceb0bf64175fdbdea56833ab3a910a782711243b98a540178031227d169a0113603cad54182534471b4e9f16bf3724f15d45e98127fe348ccbeba5c9fcf9fe3b11ea71c2be3bff4b040565f8179fbcf59f13605cffeab6656dce56b2e9602da5b4b15a7882f564890006f82d0c3011a63485a7b257abccada8cb00f84d66a6cfd3d42084a44db51002319bfb571102818100fb91d4d6a5bdfbd5f0a82b7e89e98534564ed60638e279c6a2a26e1b635356dd89711e4b8b5af45cd64393b692b661d763b02914d555eb9d24ba5a5fe1adbf059e00eff3a3682c353179c2d6ebe39fc3ce18d492fb34a3ffbd5fdce844633fd275bde50ee36f638827becff7cd0031c335d051337a776554a0f04e614d19b8f502818100dd3f52a51c7266f037c13913ee859cd01e4485db2a4482e340b86e494560ff9a0fbdf48a490f09f9d0b4045593115838e208d3a0dfbfd04b0f61e7110d3991714faf7266724736e8a233d855eb0fa17dac16179707e5e52d64231e35e533c234198323778cddfcdb4050c4a70d7350b3758f7a249700a08f7666037e8790d4bd02818100f3473ead68d0c5c64999479e721dfaabf73efbe83e807d452327b315174393c05f569df66e484201b94ed67cfb7a163a25f44876162ca5d26c9f2e2084ecf1caabd6ba354173cf348da8f34bc608750af4b6bc737b2c97e00bb1b5be83cbfaff3acfadc06d1ede00e076bd4524e1283e603f1917903a002b0c0bf7b04ed02e35028180455bb18be34415f31e776b6e4d2b03c2d68a42b0372aed2152cbbe7f27c9c5b745521654379d08529153adbc29f39905940e92516f7351580685798b85ead32683858bc683f2c14ae276804e46f74a77fc379cc3930d45f019e14c7a36d527ff6f34062d5732cc2eeb95a6607c3df7419b0c148d5ded2b686e0482f9ea83c3bd0281807753317cd3de74bfa41c3261c32cc32dc7aec46a543458b1c8ea846cf4fec1affcde58f3c249be9b502da5b2e92ad5f004c568f0592de3997de2d9b436de400a373cedc1ab2ef9cf96cf30876c069bf2e9a8b8b6cca6fb8eb064c7b6cc087efeb15336f7d82c8f775b98464443a2ebbe471f279a8acddce03bdc1e3d407e37d1]\n\n# tcId = 47\n# edge case for Montgomery reduction (64 bit)\nct = d96b1ed7a5071af8c48b1a162d9a3c336bb0d8b893f54719b21e2bd8581b46de773fb906a99585b777b7aab4130e15d0fd576c7968dc940019a568c6b425f0017843472c698b25253676fb0d6d1dba59ca4fdf90173af5f28b9ea93d9a95c61500fb89131f2d93217aea06910d415b551ed8e8503254c6256fe8831e1152f407cbc5ce89e991719fead2cecbe62359bde60adc480efc6b0cea5177cd5663f99aba8c8f9a670b5060c9ea5231a95d655eef14485caf68a688b242e1e6a6543af239cf65c8d4aec626fae444baecf1c70b2d3da3c8b063e09e20aa441eca372b9b13a813dacfd333c491350ed348834375febfb885ae00e16b1828484675f870e1\nmsg = e0f57a6334f97163fb65a0f924259ca5558e5149bc094b06bbdb2cfe2b5cc4e52eea015afac6a4fd124dd4a0c3c25c9f7f36fc465fda623661c963a1eb6bd48663ede99ec3bed21274\nresult = valid\n\n[d = 3c83123f4cbb23911fbde6c69f9f0b07b51bbbcaf80e0322a71767fa4fce48f2e6e142eab66dd5e4abccc343fdafec10aab8540049e5109d09760080131c8edfb669f9e25b8cd5528f229e74189a4bb3c1d96922640dfd85aadd9f295db5be14d568b4cd288eb08a9e43e53a8a52cd1c25fddaf018abdcb6781c907cb0b394c91a41418e93c60bc9dfdb6674223f7a5d51f90e866aa2c378b8793726cc0f7770ce42b1d534df724d9205fb7679f26f5488aae8e766d6afbcdcfc8aa0ce545adb25692e72960dc9bfdc52fae19953bac45c5b16b8533f0fb03ce24c493fd84c4dbcbb1cc7115a392d5923cb165bbfb0d331cb215d88e8b48ea9803beb7532b901]\n[e = 010001]\n[keysize = 2048]\n[n = 00d29c00cb279876486d2f35c357d23f3a7d2d9c69021b65acc5c227e285bb53a09ce46d08bf1a75fcb4ac97f39d301fc445d6d0e31156bebe6acab4aed4a3b6f836bb057848a475ffc9e81804e1a91a523ee17379db83ec5d1b275f58072a8cefde77b92aa05063f87aa9fd348dae7987270bbb57cb161ff41a0916fe3faf27bdef1068b137b5b114004c95211de3332293491f1b45d57590ac19d82a4033c75e68cf65b62f3630b0a7c05f830f551b569fd37364206f2caaec2bbf5ddbbbcf9cec1f4c160dad459b5a23bb383afa2df7ecce990c401605efb67dc1a87edfb45f8a154093a616e7932959f87dacd46955d59bffa80a4f4be6b1d1e61f372a8ceb]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100d29c00cb279876486d2f35c357d23f3a7d2d9c69021b65acc5c227e285bb53a09ce46d08bf1a75fcb4ac97f39d301fc445d6d0e31156bebe6acab4aed4a3b6f836bb057848a475ffc9e81804e1a91a523ee17379db83ec5d1b275f58072a8cefde77b92aa05063f87aa9fd348dae7987270bbb57cb161ff41a0916fe3faf27bdef1068b137b5b114004c95211de3332293491f1b45d57590ac19d82a4033c75e68cf65b62f3630b0a7c05f830f551b569fd37364206f2caaec2bbf5ddbbbcf9cec1f4c160dad459b5a23bb383afa2df7ecce990c401605efb67dc1a87edfb45f8a154093a616e7932959f87dacd46955d59bffa80a4f4be6b1d1e61f372a8ceb0203010001028201003c83123f4cbb23911fbde6c69f9f0b07b51bbbcaf80e0322a71767fa4fce48f2e6e142eab66dd5e4abccc343fdafec10aab8540049e5109d09760080131c8edfb669f9e25b8cd5528f229e74189a4bb3c1d96922640dfd85aadd9f295db5be14d568b4cd288eb08a9e43e53a8a52cd1c25fddaf018abdcb6781c907cb0b394c91a41418e93c60bc9dfdb6674223f7a5d51f90e866aa2c378b8793726cc0f7770ce42b1d534df724d9205fb7679f26f5488aae8e766d6afbcdcfc8aa0ce545adb25692e72960dc9bfdc52fae19953bac45c5b16b8533f0fb03ce24c493fd84c4dbcbb1cc7115a392d5923cb165bbfb0d331cb215d88e8b48ea9803beb7532b90102818100eecae2177a6832e4c69f7eede3993ccddae3d85fdaff478f8bb497324066d48e18c666339fcbfc2dbc46f020424688a09a2a05e3d940e0d50afc404a5af3ed222720cd34c3bbf70d293d1fd3d7626da7c89941211bdb51418741ed0aa713a05636759e9b450790b8dce14d3a48a7978f361a5633658cf9d1a5c0ce164e512cab02818100e1c93671dc20e10609495fd6b72e4d0eead443039eb34aea428c40123fb8e3797841c559bcc9850254ae5ae7b78967315be4157419a2a31fa355bb4ff6487402bf0fe64a0c3002dc86baf319f02d7630aaa57d810450da7c255b3150cf5fcd95c0979748279d9ee9edd51641a3c5fa01896c5b1c3e3847ebe829b594e627a0c1028180234caa8f7df0d95528677b83ff192ffbde57c02cab5b01611eeddb4bfa693912a866ebc4c5e289acd920436f015d1be561e4c46a223b8d00f156c8ca3517c9fe3a7a86db3df4135946b75a751e69d67bef1378a54450ef7a185c8e85fc9cd21eec7e06ac3d5018fcbaea3358625523fa6fad05012409eb042ad48da28e8141710281803338250cb1461825f96756c16baeaa366f1915d6b562b0e4f191c55b1e6f7fd2e76fec280e469cd0c98afffe3ec981ca55b12918bc5403b342a74925bb95f613456a82f05b516ce4bfff9af45062cfc3fc822c355f58442813855b6b9c8f7c20b39eefe7a36d0346c7f825e36016a23f45007aaeae82aff619259516a11b6e41028180680698b60911ffa4ff64c4e15c4dcf92f8c6b4159f98bfec2e6f75c72142276371394144abba8869458832e424ed32bfaa39746d8897e2effcc3f1dabbc90adec87fdd929a82a522adb77d239ba189d42f95ecfd5f39c5dd5e38872fe5032592bf396c847970dadc602abb627d96ef636040679d24dd69c56e966df42411c00b]\n\n# tcId = 48\n# edge case for Montgomery reduction (1024 bit)\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = a3807f5d34acd39123d2ec83648225b54590b45750e13c6cacf587dac4fe9c9e32a747b6b7f073d94b07311a0e\nresult = valid\n\n[d = 2ff29a4da725374d1dd13493492eeaa468f9fce9d3e6fe0f5fb84143909cb7753526de93234b2cb83cffa6321d5b557832a65c253c2f019723b4d0de97db2f91a7d136fa31a7910495d57d366ec91f29254b30e3cd96705d821bf831b9aab6328bae8f4b15f61cdab097604645ec73a6ed1e19e90204505f93ffaa98569d21eb63abf9448ca9ca735aba55a27c8795a47350b96befec3a243768ddf2aa1b4ab28b7a1e6bad5a0a25c7789225a75081b8e21e2b53612c21fafa41fa7e1e8d52075da58897b195bb356d4e03e5372e6b0d79c8334e642334006b09757b8bc533171d5a46bdd55199779c36e2d9a5acbe58dcefb3bac754bb3eaf07bd3da96c61c1]\n[e = 010001]\n[keysize = 2048]\n[n = 009b298a64d73b644bb4f184c8cebaa01fcc9b9b1fea5e93d3463a28e73284123a1abfae36ef57edd72ab9676c66b629cf42450dbf7c6347047746ff62c22f1e0b854500cd31384f6fadcf996828d96500b6b023619e2378230553e9b9226367ab7b8a06169e1325fb9e8a73c264400855c3b10229b6a661d67e1826bb32fc6ab34e4b6712066c2546bd4e47ac2789867b5e1f29c4e597a19ba715e6f6c011181f758442263355931115f9471fa7654e5fa85b69545482cadea81362b762aa2794f7f132856dea85c65f7d6b581edc89022f4cb1f6f99d5bb4a8cffde294ed5fde28692aa610e83272406cb4697f970ef16f689425e8a5174580184bb223fbb919]\n[priv", + "ateKeyPkcs8 = 308204bf020100300d06092a864886f70d0101010500048204a9308204a502010002820101009b298a64d73b644bb4f184c8cebaa01fcc9b9b1fea5e93d3463a28e73284123a1abfae36ef57edd72ab9676c66b629cf42450dbf7c6347047746ff62c22f1e0b854500cd31384f6fadcf996828d96500b6b023619e2378230553e9b9226367ab7b8a06169e1325fb9e8a73c264400855c3b10229b6a661d67e1826bb32fc6ab34e4b6712066c2546bd4e47ac2789867b5e1f29c4e597a19ba715e6f6c011181f758442263355931115f9471fa7654e5fa85b69545482cadea81362b762aa2794f7f132856dea85c65f7d6b581edc89022f4cb1f6f99d5bb4a8cffde294ed5fde28692aa610e83272406cb4697f970ef16f689425e8a5174580184bb223fbb9190203010001028201002ff29a4da725374d1dd13493492eeaa468f9fce9d3e6fe0f5fb84143909cb7753526de93234b2cb83cffa6321d5b557832a65c253c2f019723b4d0de97db2f91a7d136fa31a7910495d57d366ec91f29254b30e3cd96705d821bf831b9aab6328bae8f4b15f61cdab097604645ec73a6ed1e19e90204505f93ffaa98569d21eb63abf9448ca9ca735aba55a27c8795a47350b96befec3a243768ddf2aa1b4ab28b7a1e6bad5a0a25c7789225a75081b8e21e2b53612c21fafa41fa7e1e8d52075da58897b195bb356d4e03e5372e6b0d79c8334e642334006b09757b8bc533171d5a46bdd55199779c36e2d9a5acbe58dcefb3bac754bb3eaf07bd3da96c61c102818100c8f09a8ebd6bf018e3c8d9e51cfeb755a3e63a6342032bf69b496a511aa2c1a5c8cc9612a36bf618c7eb633170a19094db19885b1dc2c03e79bf0d039f782ca4f45fda4398368f5747aa7115eda85b2032e08d26ae93b56deedc63afa58fc7bc784a27976c1501ac69d840d03e38d510a644c3e51d966af4a8eff33fe073f2c502818100c5adc2bf614abfa80b9b921f320e659f44bffab2fa4b1111c98c344c2630a410ee70dc30899efd17a22946662173485e17f3630d61d5ff1bcde4d586243b877e6737438fb9857c3beabaa442c293aa110caeb8ad6967e5a2ea2a34267b0fbde5eac1abef98f329601599abde5150d39e9ba04a7b9c172f88af07d4828fdac245028181008582e09f011b2bdfcdd1d17d9b235f7b66b87d891ffe6d82a0b14a13f387baf54593320fd647d0afac7e295d5b41ee880980508a821eb98f896338e97456ec0afa5889f4a9b96eca8652a86af28b0f693884dd249b90875731037cb4e363c249e6ff168955062c237bfc752c287ba88e347bb25194b43202b8111ee60d63dd25028181009fd23e93f09b389d2ad55aac721205c361183e1e9a123af8c094e46b74acfad8dd8ecdd7484d0c9f20f272027ca4f22b70fdcc65b3660add75f7bf52b6d492557629ce2bd378c2dac68aa3e77ddd593073aa87915c992da62be0774d6d4d6ae10a8e0eeea62062a1569569c952c1207729a7ccd06780af63b8ef81b7158b6e69028181009ff86c3dc539762069ae9d5825b04d1f45722224b0aa86d76f71a9b095afc9767c4e2d2319cf33e123807b2c160d66dfd567a8532b75edb564a70fd0ced4257d0109611a943fa06efea634736bf464e68f32c55b1b91c82f6031cbd4889ba75fa94de41dc91350e41020d8b5f81b47fb640ff12d697ecdaa2dad3faa8da7c141]\n\n# tcId = 49\n# edge case for Montgomery reduction (1024 bit)\nct = 9a298a64d73b644bb4f184c8cebaa01fcc9b9b1fea5e93d3463a28e73284123a1abfae36ef57edd72ab9676c66b629cf42450dbf7c6347047746ff62c22f1e0b854500cd31384f6fadcf996828d96500b6b023619e2378230553e9b9226367ab7b8a06169e1325fb9e8a73c264400855c3b10229b6a661d67e1826bb32fc6ab44e4b6712066c2546bd4e47ac2789867b5e1f29c4e597a19ba715e6f6c011181f758442263355931115f9471fa7654e5fa85b69545482cadea81362b762aa2794f7f132856dea85c65f7d6b581edc89022f4cb1f6f99d5bb4a8cffde294ed5fde28692aa610e83272406cb4697f970ef16f689425e8a5174580184bb223fbb919\nmsg = f9077aa629cac80d\nresult = valid\n\n[d = 1e6d819ca726e45b00f4cfaaf0d54a4441a8b89907783efe327575715cee66ebb898833542a13b90fcbee41c321b7f7f555591d4a4953d216396f48f44af6bb1c40b12f723f43e8b61e34dff4cd58f95fb363c789756a759b686f7c41671d7a697982515c0f3b1486f128a92d7cc882152d808a8b80c1fa1dc5b26c92bd54ae6b3a7cda30da414cda14b00e98a610114d79543c6047db9f5685422a9a0fb4c77aae8a69860986d76c00283ca44c89aa6aaff8d333e00b67222a5e1a743ee54b572c5d377ee2d3c0eab9b4664aa89688fe22ff32f226ae6b498508142625be50bc6c5c3d77590fdc6bfdfddeec801e9665cb09cffe140c1972f339dfa17c12791]\n[e = 010001]\n[keysize = 2048]\n[n = 009b867320148400d6236020943c389ace0b5c2aae805d68a1084248bb3ee3206d3e1912aeefa352bdffeaeeee5acc3db5e76b992e54220e449dd0cdd9c54653a3d54a4ae02733482605f6a75d4bd8cbb87fb4718a9914f0131feb339cc656740c9a6de79993a7b7684494e5a20c86a5ac1fa71a546dd3fd3e927d0c43ef8481c86f3aabb9212845eb40afe527bcac69212235d7c7c62b94116b5b6fb304d927b5e29b100d1f4f7112f685e88d76b497f52b99ffef9b7901e4ec980f43d7c461ac22a5788fdaf01010f516be9d0b693782a804dcd4eabb28ce390feba18158969ef49ba449517208580700e82caae1b549e1003540795aede7284fcae04d6ebe43]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a202010002820101009b867320148400d6236020943c389ace0b5c2aae805d68a1084248bb3ee3206d3e1912aeefa352bdffeaeeee5acc3db5e76b992e54220e449dd0cdd9c54653a3d54a4ae02733482605f6a75d4bd8cbb87fb4718a9914f0131feb339cc656740c9a6de79993a7b7684494e5a20c86a5ac1fa71a546dd3fd3e927d0c43ef8481c86f3aabb9212845eb40afe527bcac69212235d7c7c62b94116b5b6fb304d927b5e29b100d1f4f7112f685e88d76b497f52b99ffef9b7901e4ec980f43d7c461ac22a5788fdaf01010f516be9d0b693782a804dcd4eabb28ce390feba18158969ef49ba449517208580700e82caae1b549e1003540795aede7284fcae04d6ebe430203010001028201001e6d819ca726e45b00f4cfaaf0d54a4441a8b89907783efe327575715cee66ebb898833542a13b90fcbee41c321b7f7f555591d4a4953d216396f48f44af6bb1c40b12f723f43e8b61e34dff4cd58f95fb363c789756a759b686f7c41671d7a697982515c0f3b1486f128a92d7cc882152d808a8b80c1fa1dc5b26c92bd54ae6b3a7cda30da414cda14b00e98a610114d79543c6047db9f5685422a9a0fb4c77aae8a69860986d76c00283ca44c89aa6aaff8d333e00b67222a5e1a743ee54b572c5d377ee2d3c0eab9b4664aa89688fe22ff32f226ae6b498508142625be50bc6c5c3d77590fdc6bfdfddeec801e9665cb09cffe140c1972f339dfa17c1279102818100da48e1987c5df633fe9f03ed9fa0cb0984d81f5b81316b8eb9362c7e60c8f61d47e81265c7c9f58acc45220ba880ba6b703760795b9d9cf230f4340d34d822c4ec9b5416e7c7196dbaf510c5d348b4e0833be706ca8c0d71eedcb8dd52e257d54218ef27c9f43c697b5d69479271c5db94c600c0a4c829b0423842cf7890d58702818100b6659acaaf96ca82b4db20c970f861a3a40851eef5a37f89cc45116a79b7ad48c106e583bd401ede1b9ce6ad14626fc7fdf24ac06afbd97dac1b3ebd4b14f68312d5aaf756f715a0519cbf5f2abf9d66ca6c73a5aee5e3e7e8d34aaadf646867267afd101750aff1f2546f77ec9e6325804744d24899e5b7d2451c0ea401806502818021a59650a0eb02e664db3209d0cf423cc763610203da105041b05e0f64efd53012436d828ed74ca80670a99cce6e794dd25056e89dfc9f929d8526f8da2a6ec1980f21591e850c2063ef1e94bfcab746dc33c19ac461ee389faf1a37d36cdc491d1526d825432684c3e554331a19bb7beb64d1fcdfe992b37ea1997acd84d5c50281802dee01ff9e1db39b1c5dbdb0dc30bfad8c65c7f40b890359b8c57fb0373c4877749bfef9a0935ff280338f66f026258dcfe5ce6b0bc5a5abdec5f1938b2f992fc273699ce51a4d28d4c44af074fc516f8bf3a95f845e4178a989635909ede7d869b938b66f9892e5b3270df6bdefd8799e06d44ebb977d603fa3c57fee4eae7d0281807162f9069f55ef6a8ac1c31bd7a33263c02ab773a3dc0e726ffa143b3a2335cfb614bc28ad4dfa350ce605ac4be2da199244561ad6adfaf9d1833a7fd960de0b5f4e4f7995892606aa28d1da78c71b9ce67006efcce78c25e3fa711e5ac7ccf5522ce6c133a72d8fe5ea3b696e7e6d2dd794b1ed5fe496d20dfb0e80c5af57a4]\n\n# tcId = 50\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 13648644122d5be6e56d210076b9bc59deaf16fff664777a2d6348b1e0da0efc4a77fe2bfe2aeb592ee56fb3208ea0e04d2026a433bdd6ff11b89839f058832d732dda51bfcd5cced8fa7cc58a91fd435fe0aac17a6084c7619b9209d83136c19161aeaca90bd5c92d5ad0d2a99efb392f29a2dd06f0c19d204fe997800e4e7df66efb9a2bc19820e8dd3cf48f3e74f17c50316ab323055366430c21b97171ac776b14ae49fb124cd9df5ead69d267659abfa21676e62b3a0e7d3fb1c575e5c116513d1b654d09d637706d94bf3b252086771398b5934e23f7de652a9906a143eb56bb54e739e53fbb21d73a55da793c82768b3ad880d1e732b5ebce5817debe\nmsg = 67d3329433843fbf8516d807417f96e34ad7be1f8a8c4d4c1ca614e4255938fa622bdab0733b117506aaf3b39ae5c468894d79fc6aa451d837612df52c73eb18df7e8272de79d8621ec3e0c1e725746fd8f4eacc39a0207f91310c35a12401d1b34cf9a6bfc1c44b8b39ff4725fcbcd95c38fe1461361106e8e11be28e0d3ff81d406963db76c073ce41e4e770f9b59f3c99a8d683c5b415e6237cca91dcc31b8c1a3008\nresult = valid\n\n[d = 0d6caf1085c642a1d755c40f9773175b32cf5bc761c22cd2dc366f928395ba347f8a1862aa639c7232e7dfec37900c5442b4b225cc674246cf27e5f1d6fc012ee51acaaa7a51655eb882baac82b4990b2a80eb47856eab5ff72fa066d4eb83dba8eeef2efa4b8fc511c3f15fa0476ace4b6f4e3f6c554f1b9101062d9d52a7a8343312b1c7e450a2874b9d7b2d1fb7e782e607832b885191673226137453716063a593faa684f6b9ba5321befade244dd3b980f3af037409e335294b8bd647c8a0be1db253a6a1baab55fcfce963b09e27e63ee1f4010a534d1acd8185abf854051c658fa12d1e4abbb4f6193fac4654461e8bc941d5fbfb12d5bedccf4836c1]\n[e = 010001]\n[keysize = 2048]\n[n = 0087a58e0f307fe5cbd1e24b84fe4a504aeb7f6e62e482fbb2ff0662b6289594e369f5bc246bebbede1c06be16df402c60448e991", + "52d6e8ab2eed1b4c2b36c3b7a0d2ba4f446e1e96d901f11e3a2e53acce88ef34ee36e77c6a2200876ef4750173d47c2a925704112233f32446d36d39ff0bfbb1d6369d5e188aacad1f56eca5c6380d40b8f8847a0e3145714618177682b24c29184d6b394c4f822ee3640eab510328914b2f6f4443758381dca079cc4df508f060e53dfb4a89b847fa42df73a6c60cf0b5e819296886e0d00f0823f24381830022bc07a9eb06c78e22c77ec124d95c69b5de527da2376364ea211508dc9f2f43b24ba06dbfb6996b8e488b54d]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a2020100028201010087a58e0f307fe5cbd1e24b84fe4a504aeb7f6e62e482fbb2ff0662b6289594e369f5bc246bebbede1c06be16df402c60448e99152d6e8ab2eed1b4c2b36c3b7a0d2ba4f446e1e96d901f11e3a2e53acce88ef34ee36e77c6a2200876ef4750173d47c2a925704112233f32446d36d39ff0bfbb1d6369d5e188aacad1f56eca5c6380d40b8f8847a0e3145714618177682b24c29184d6b394c4f822ee3640eab510328914b2f6f4443758381dca079cc4df508f060e53dfb4a89b847fa42df73a6c60cf0b5e819296886e0d00f0823f24381830022bc07a9eb06c78e22c77ec124d95c69b5de527da2376364ea211508dc9f2f43b24ba06dbfb6996b8e488b54d0203010001028201000d6caf1085c642a1d755c40f9773175b32cf5bc761c22cd2dc366f928395ba347f8a1862aa639c7232e7dfec37900c5442b4b225cc674246cf27e5f1d6fc012ee51acaaa7a51655eb882baac82b4990b2a80eb47856eab5ff72fa066d4eb83dba8eeef2efa4b8fc511c3f15fa0476ace4b6f4e3f6c554f1b9101062d9d52a7a8343312b1c7e450a2874b9d7b2d1fb7e782e607832b885191673226137453716063a593faa684f6b9ba5321befade244dd3b980f3af037409e335294b8bd647c8a0be1db253a6a1baab55fcfce963b09e27e63ee1f4010a534d1acd8185abf854051c658fa12d1e4abbb4f6193fac4654461e8bc941d5fbfb12d5bedccf4836c102818100bf358cbe3a8fc1381f460a7c6140e99039d11411797e1961dbb0cd53dd921315fd21083a68f0b4bd4f745ae022b8dca801874a6448f7a4b03fc138aac856e658ed5c2b548315067ecd1eb85761432a6baa1176d28e77b90225ce2ba1818099fd265ed8910a56fc822262ff90099dc773f2eb6b522b05a009a5c764422d85f76502818100b59c3c235026d77251bba38db70a483fdfbdd6b63bfe2c67c53899fadf8e03e9b5ebdd33dd93bcb2848cf3060e5ba6756f6068f9de56d2363fffee2e7d32e323a0614bfecbea0194f75b511316213ddab70f0f613b707321e4727764b253d6629d5ec4846a937aaefecc415067c3bcdd09fde86f2fe30fde24a8ae9cfea5abc902818057de5ef84867298f05e825077595e3ff9062418baa3e45a1cfd896f3145e7d80dc5b62b19cea08d4fa7f6907994d44b1bc4a14e8b31382ce2fee36815d217a27a1a47a9112d005b51dc421489e7cc430c7edd0a200308a87af21e8b1069737acbb065915861fe558543f145c77ded6fab4c67502449d082786d4738169f427750281804ac47089c544c86c1b3419e88d13e19cd25b509b23e5c7984d3cb93fec6b8636e09ba32ce82b1b838f488c00d146702866db153cd18982efacb78bf27dbec67e7357bb36c1f2ac060d33fe13d2878af4916ad4d51de874adde6435bd32218be07b93796a5e8a2af702954aca747dc432681bad66a11b64fbfab1ab799ce8cde902818003d54926f770f8c6d47358e502526c309b972e70beb1f20658ec0917c1729e05c06476f25f261695694797a963db5cf00fd720fca0dff673e157b0ae5a754b48799b8ec32515069cb5168a9ddd38dc7f065f0df2920be34fb8f0ff4fea403302e4944df1aa5a2198f3ee7bd3df19c27fa70614ef8cf9ceaf240846676c716813]\n\n# tcId = 51\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 181f37c923f2f1ddc6ad1de954439dabd8915ae9a3afd379ee5ffbebf877ecc26f83df5e945b0832d267fae35bbad4772c9f50be51490ddb7e61083da7b3b007a89e0fb996fca9de05c1d071d29fcfec33e8814ebada7fd8bf8f4c8fb92ad020923342a0232a2e7416d2d6343ff9c5a562faaac8a49aca35a3e2cbf3f6c04efd56f524e9afe4dc96a72c146b452307c9360c0187147ea2fcc2bd7a8fdfe05282944530482e678bcd506ac491b34da46fbb15ad573929c257dd190e1a84a5d26c30e8ae8501597883292f56cc0863a0186731d88ade418c87fb977cbf224b259fbd5ea2521ffb33c845f2b591bcc68294e0882c1742dcb4d5f23eb7d89ab28570\nmsg = 5d72b875a66301022bc2cb5128ec54abf1ca18e0b5b73c3fd566890796eb7172a45abcc4d806d69ae9d85ff45b717f922c\nresult = valid\n\n[d = 00946fb7567dabe46f1b354513d82533161f2e6b6139c7b756b8753fafff9451833b4e13e4879581140ab68f8fe82c6c8922f0c858c375dbef49858594e9c7dcb5526982daae7c321def8fd728b4ecff65888424380503b51788c445903514e1ad0a8b04e297554b6dc68c99c83e085ed027d5bf1bdc89d8c0e280cab881263a0b400121075ef95908352a39cb197a9dc2ebae42cbb8cdc9983bad45fb339c4de8773c561fc89a434b14ae46c44b0dbd758903d5c6cc33cff978edcca3154dc1c0f05526cb6c1cd9f8f5f448d5c324f26aaac05581667f82909f4c3bffeac47a6edec13ef22af955f4d9d6097deccd56ef24bfad55755c7a2930e2b6eed747b539]\n[e = 010001]\n[keysize = 2048]\n[n = 00c89ec880ede20b8666ee0fdd856abc5316d77a5d6e5b1637dafafc3cb0458681d6169215d53f4dd1087345d1597795420b0332115b974b83390dcbb444b33d52581374c58ae567c5fa2e4df2d2ae03134fcd62765f1ce9283a842acee79543a92fa1a49190db4d2618a82efdd036b87764851eea113db934e2afd538e6af050d232910903c1389ce620004556ae5e3830168ef791ff39a0ed0ef09347f3536edd89afb9caf98c31f36c2e6111c534cd5611b99b8db1ec4aabaae878a5406153ac91836285f028990573d0de94a527d2a077f1689c208b31e6f17a8a9448aaf2e7e3c68c96eb685b8e7adc92d0621cc0049c8e3cd5c1d3fc2ef631e714f4523c5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100c89ec880ede20b8666ee0fdd856abc5316d77a5d6e5b1637dafafc3cb0458681d6169215d53f4dd1087345d1597795420b0332115b974b83390dcbb444b33d52581374c58ae567c5fa2e4df2d2ae03134fcd62765f1ce9283a842acee79543a92fa1a49190db4d2618a82efdd036b87764851eea113db934e2afd538e6af050d232910903c1389ce620004556ae5e3830168ef791ff39a0ed0ef09347f3536edd89afb9caf98c31f36c2e6111c534cd5611b99b8db1ec4aabaae878a5406153ac91836285f028990573d0de94a527d2a077f1689c208b31e6f17a8a9448aaf2e7e3c68c96eb685b8e7adc92d0621cc0049c8e3cd5c1d3fc2ef631e714f4523c502030100010282010100946fb7567dabe46f1b354513d82533161f2e6b6139c7b756b8753fafff9451833b4e13e4879581140ab68f8fe82c6c8922f0c858c375dbef49858594e9c7dcb5526982daae7c321def8fd728b4ecff65888424380503b51788c445903514e1ad0a8b04e297554b6dc68c99c83e085ed027d5bf1bdc89d8c0e280cab881263a0b400121075ef95908352a39cb197a9dc2ebae42cbb8cdc9983bad45fb339c4de8773c561fc89a434b14ae46c44b0dbd758903d5c6cc33cff978edcca3154dc1c0f05526cb6c1cd9f8f5f448d5c324f26aaac05581667f82909f4c3bffeac47a6edec13ef22af955f4d9d6097deccd56ef24bfad55755c7a2930e2b6eed747b53902818100f4ba7494ef91c4f85bf016c98142f27f9fa129cdfd9045a3f723ed4394f4aeab1b6388b01bbe87f68f01e78c53cdff2bb60ef7830a7115961f9ac798c4587c5b83d9cb0549852fa27fb0522004aa5eaeadf5efc39eecb9b47f5f4d5bc1ca6efcd2ac9f02499dbd5614251869c9575a6039facbcdab5d42880cfe5def805a563702818100d1dc41ff09641115835f68fbbedd2d7c817b80bacb960808cb5744fdd1f56df4580eed655b51eaa134c566725be6bfa0e98facfa18208d9204f471eb5d0dee477c74aa00675f4f9261a1d6297c158034cf6e4f3743d39101c617af97efac9d8f1eda7bb81ebb802ef6521d7cd44dd45107bbd6463b0a387a463a6ed6241257e3028180455539c82423312187b27a52364bc835fdfc83c2772ed37c037d6b2fb558a8cf931fdccebfdd77d993645fbc32d5ee8fecb14ad0163a397a6193d12e679a06094b4e7da50ed22bcfa6cb464909e9568fb87b2fa545361dda942764dc3507ebefb6a3ef1c8fcc9fa26e6ca0010068be12fafa2199300e68d5f09073fe7167a67b028180576590028349ae27b46f5e8c40df619b115d7aadd02d2a29676d6fa8f8f06a1b3134fe3e90ba5ba9490dd06d5dc28a199c4b1e7184ecc1a886f1ba2397bc3e787ce7250948039462d4d00e1d76b48990f4b5eebd883caa8dff8e4bad4dbe285bbb30a807749d07740757093abc3bb169117c736f0a156691dd7f663b3e08799b0281805022f0cf40913a38e06e7d73916760b21a84289e44b40b66cf615a155f3f42dba2dc36dcaed85f932fd2e48799a9e800468f6693e5da05fc63fadbcf5d1a1a102987c44b7ca35e934456327ec4cafd116371e6318b7560e2b89418d708440e9b3609bbf6b5dc0083fcc7ad301524f14a6ec1d6a20319ca958dc45a7185fe660c]\n\n# tcId = 52\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = b3b6ce381b69a43046647e000c1ab2bb9456c7022dd1ea19a2761d85963e56f7337d04529bc975c34880552ca51497ced06bdbd8c54bf4ba83540185273b55c81b86c0a337df5fe8ebb4b43db0ac105a78f8de8240c2b3a0fb7b8f7e7fc8a70a462618387edb8a77195f8a43ba2ef1ad3f1216598cf1b4f02f2bcdd2fbe9885cdeb74754ffba96d978e68045b1754e35ba8c54183106fb2c9f5685adb5f14d239e8c8e19b39c142b0f01e3934ae1b7315b0db5986c7d9b39bbe960faa32337342b3d02ca5148f308fcaa718001e39d0c0bfcedf9e91e2d12919bcd739c431e37ddd20abf4a35644246da2951983f1d6fa32ac259f222501c4c8640b43279bb03\nmsg = 7259cfb45f3651d59b996115be31006e82243cb1317d23418d64a047b984f4f8345ea0b8b193b532c2769b8fa0d4aba9642446eed61b037b87f045f2992738640f3fe81236d5dc36a384d0d408c4b3273a6dad21526815c29955224ea85d3ea7e77e45738dd27411c57f7b33878dd5472cb9f19fee68fd8daf7e40e6e210135d02f1bc5a6660c23418b6499cb1749336c7074df3452a88fdb723f591a70781\nresult = valid\n\n[d = 47748bd2f2cb67a3d76d5224fc9bd486287feac925c6d78e96cab6d1525b59e6d8d6637cda5d4390802349fea73e2a4e5fea8ccead58e910cc2f8101c78566918934e6135280cb7a04dc2902fd055b67", + "06a31a576e618f720890686f8033f8d1b1f4128f06e0c981247646ca6d73d2c68fdf0cda36d0f1741b274c952989e80e2094ccb4e04952c44da59a4f194882d897c5f62c2f29af9737c3b9f1a24d625926f1f55b0e39e918dc35237676e063933bee2c33483a4cba1755c0d176b3a0ba9e5a245506c51c074d5c9819685ed6640b73de173fd892bccd7f772d44d4c050ccb833c74ba421ebfb7f6991d57a8a4d20ea0b846d9453f5e7cc22c335100e61]\n[e = 010001]\n[keysize = 2048]\n[n = 00aab3022dc93a3b87213fe5e4b3fe4b27dae14af117f1ca900681c28fd3eca157df46d43a6eb0f167426b6819fd8b4bd52ba94c6fb307b16851ac071a99839325ca5917201fd71268c6ee28312d5f770dff62a497ff7c97a6ca841b1908730c5080280e3678d2859b89728716d3bbd84eb531f7b0281e1654a93165ff5911d689a238b339ac3737673ed050cbfc08b4f64f76b0596612c9883ed21f1e43bf8600466c7683ae3039044c3162b8919389108b2d51760e366dc257559b9d63bde45a2b541be9f24993b209acff5b3a24217fd337449d69075e1bec7a65ed4faef02fdc33af4df506720177c134cbc486803d5c20c3d9688985707aa5b8007882f731]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100aab3022dc93a3b87213fe5e4b3fe4b27dae14af117f1ca900681c28fd3eca157df46d43a6eb0f167426b6819fd8b4bd52ba94c6fb307b16851ac071a99839325ca5917201fd71268c6ee28312d5f770dff62a497ff7c97a6ca841b1908730c5080280e3678d2859b89728716d3bbd84eb531f7b0281e1654a93165ff5911d689a238b339ac3737673ed050cbfc08b4f64f76b0596612c9883ed21f1e43bf8600466c7683ae3039044c3162b8919389108b2d51760e366dc257559b9d63bde45a2b541be9f24993b209acff5b3a24217fd337449d69075e1bec7a65ed4faef02fdc33af4df506720177c134cbc486803d5c20c3d9688985707aa5b8007882f73102030100010282010047748bd2f2cb67a3d76d5224fc9bd486287feac925c6d78e96cab6d1525b59e6d8d6637cda5d4390802349fea73e2a4e5fea8ccead58e910cc2f8101c78566918934e6135280cb7a04dc2902fd055b6706a31a576e618f720890686f8033f8d1b1f4128f06e0c981247646ca6d73d2c68fdf0cda36d0f1741b274c952989e80e2094ccb4e04952c44da59a4f194882d897c5f62c2f29af9737c3b9f1a24d625926f1f55b0e39e918dc35237676e063933bee2c33483a4cba1755c0d176b3a0ba9e5a245506c51c074d5c9819685ed6640b73de173fd892bccd7f772d44d4c050ccb833c74ba421ebfb7f6991d57a8a4d20ea0b846d9453f5e7cc22c335100e6102818100f099d87fed03d2501dca1b17868c7f8e51ea523e7d2aeca56410b90d73eb1cc359511ba4a315ace0953a46099f6d78ce9389f8fa6381fee687fbd644d5bcff65ab10e0acf8bcc5d37b5c3c810cfc3bd2916ed1d766b583ef787a4314d6237d177e872e9cfb0d23f7671121906586427a79cdc14d551604a224cd63bb2d0226f502818100b59fd9a569e3f497eb16d1fb6b5ad688326a53abd0b83f1e9e8efe2336131cd3a7ab94618eb4ba8282abf0cf78e7f2ec4a4d4a1958a5cad8436f915bb1cebbcd0993e2ea01f2743566822136546ba2fc5a239579e6ec94dd7ce677de0482500ce0e70b366c10e15857d63190f7e7375ceabaf56c3542ed7f39a9df2f713591cd0281804ada421dc27a2ee317f179ae3f00d4ea4d17ce507c966f1b215f8682e5ee5e7b73fd24d17a9f52b2681ac2115a552f816d2b3e977f7fc0f2ad99aed6a97c6c24902ce709493549827add7e4153ede11aa87e46b071d6c4de2aa836d873aa84cf5b60e92293844a0d3d367a2fb73626d67db08293f185b11954c3c5644523674502818100b3596246e1c5e4a68fd33d0f94f76299a38f33889ad7161d5a5dc1bf6b8a7c10d5a5ad249913068a12174ff8d05fdb9651d8f8af06c6d103b5b3da4a3dcef3cc8904ac328031b767740e54559e0f9c26adac2dd2eea1f86eaf03b6a25ab983eaf3bbb36ace53ecf29bea3b8ff7fd2ec26658b039666eecaf9175999af3a3fe9102818100b9091513c6a91a0370ae26d3ebe4cb5410d27d4086213e1030dce0e7e3f435fba1f22b71f02649b425cccd634d35a3d49baac96f9785ae39a21d8cd88a26aa553012e8439947dc3dbb4d0215b9ac24afc9a3baff7a702674013f2000640db63106fd400cd3e230b98999af9e7f6a0d03d5fee0b9c9e2e422eff3968a1cd07ae0]\n\n# tcId = 53\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = 97e090014478c58f681840c5170ee90584f734f154ed9b4850df6c20ac5470fa8b44c4f985ffcb52024917c51bd12a6773caa1d1d29c6b5fbd42963dfda4473cc573188ea41b3e254de9f9dd3472e00e4f22b0246fd3452f25fc607f16ac4f07d8cea65722606642b4f3ade0115ebc1cb56f3a5c600efd07e2d7e5b90977aa6cd5fcdda7bcd8123b15f71bd8f07b8440b540067de6677efe57a25eeb5d90dd4c6262e1a3b15a6a93d0e901e205420e2169bc4e1e4f55bb36432c50b92c22798c3c5c703461b99bc06ba22ec5c0fb17db74fa4faaf889f95718ae0c1d1b83e5e6421dd1327682e25c04061cfd30a7b9b4d470d736dd0c11788afa830598d8a06b\nmsg = 224bcda382d96b12ef56ee0fc56b67431b6490aa2f0e8f6528424c32d6611c4c0b9753a167a633e6a74465ca068ff40f802b43726a65f1251e2a075a2cffb1510249dbbda0f1877fc014310bf4c428295d5c1fa3fcca34441d4e84b1834f40079ca09ce1a52915dcf9d5472b9aec1a862d619c310cf9680fe7cbc03bfeb9cde565ca4666625ee2cd6725327c942dbb5b836f0cef24b2e646c91924543a07b6c5925ea8820b909e2040e2d50b7edf9fe5f241\nresult = valid\n\n[d = 57f0bea7b8fcf80aa46ee59c74354b96693d2c728c185f90047e2a6937ca8b7e6952646c407125d2b88a7a0b110c4626735c961f9cea5d600daabf5259d5550110acd4660aff59eb2e89a9443d2416852094f968a536407f1f203e9c63dbef5d5f7cd08ade6ecf5902dabc3c63e6247f8993369225c3064f11a8e2cd80938859112602ccc080995e63a96a537c001433fbda0e03d466b9e4fa3a32345c4b45699861793946ccaf84b0bb43c560f376ec422d5246c94d2867b66c1798877af3cb1cc85eea36cec5c8146a8669bceee23e292e538e907c89fe9e231accd4b728b31b81a4bb8bd3d66ec21d1a30294290d7837b2718967a74920bbf2727e62b3111]\n[e = 010001]\n[keysize = 2048]\n[n = 00a333f78948a0c44e8e6a58c8bafc3e4fface7889db0cccb8bd82deb8b2a616f18d0860d713b6aed9d7b3ee3c6c53f830c8ae66122528d47315075433641c1e60927a425642fe40983cd014bf22fcbc41dfea61f6ae953b1ece7ba7e1fa1daff2e291c4a40ebe1e02b67280a7417338f2a206b3098e927e4c0f13ff2d2887e2fc0ead80050d10f424c6993f32ebd6c7a96c6c820e463db1b1b58980d9f092d708e779f30a786a3b144eaf513e737eee7a699e6443aa729e8e3bae605a5ef0f391401dd33ed1e78dcf0739f3e92601ce26b0363d590ec29a75f5fa876b987deb0753119e733f4da571a62be1a2b8430d9092b15d5be7b60a4676a5dbe95eb763d7]\n[privateKeyPkcs8 = 308204ba020100300d06092a864886f70d0101010500048204a4308204a00201000282010100a333f78948a0c44e8e6a58c8bafc3e4fface7889db0cccb8bd82deb8b2a616f18d0860d713b6aed9d7b3ee3c6c53f830c8ae66122528d47315075433641c1e60927a425642fe40983cd014bf22fcbc41dfea61f6ae953b1ece7ba7e1fa1daff2e291c4a40ebe1e02b67280a7417338f2a206b3098e927e4c0f13ff2d2887e2fc0ead80050d10f424c6993f32ebd6c7a96c6c820e463db1b1b58980d9f092d708e779f30a786a3b144eaf513e737eee7a699e6443aa729e8e3bae605a5ef0f391401dd33ed1e78dcf0739f3e92601ce26b0363d590ec29a75f5fa876b987deb0753119e733f4da571a62be1a2b8430d9092b15d5be7b60a4676a5dbe95eb763d702030100010282010057f0bea7b8fcf80aa46ee59c74354b96693d2c728c185f90047e2a6937ca8b7e6952646c407125d2b88a7a0b110c4626735c961f9cea5d600daabf5259d5550110acd4660aff59eb2e89a9443d2416852094f968a536407f1f203e9c63dbef5d5f7cd08ade6ecf5902dabc3c63e6247f8993369225c3064f11a8e2cd80938859112602ccc080995e63a96a537c001433fbda0e03d466b9e4fa3a32345c4b45699861793946ccaf84b0bb43c560f376ec422d5246c94d2867b66c1798877af3cb1cc85eea36cec5c8146a8669bceee23e292e538e907c89fe9e231accd4b728b31b81a4bb8bd3d66ec21d1a30294290d7837b2718967a74920bbf2727e62b311102818100d839bceca3100480a51f6c2ab91374bd6a5af65ce69c79251fafa3a88a1e7e96eb0f7d122118c102a825dbc5ab00f8d744aec6b8eff0c710b587f4a307e141a86ba374d31716e415eccaf8f2b8513740ee2f0bec91245f66c04beff09051660a142be2b20432b44ef31ff67b749f11abf932957b7aab3d0f0f42118d0869e71b02818100c1395917600ff8d375fd320152d9f0aa458032fdec304defc4c9e5e70c5d0c6c60677dd2a512f147b6b0483f0f35a80b172e12574e3076bc4be938f3d1ece3aaf9a7e92aceb6e1606a1ce5f785463c03695a0bf04f8c612ae69faa7d146924571ed23ee64caada26aeba1da8305a2f945cd06ea0335fc50cd57f499ef2b815f50281800353600483bd8b542f35fc83ebb4d0e6d8ebed3e208de78f1a9da8f6bea9196958d43428433a0e3dec3828d93178225bad42c2ebb5450ecac30004533d9bc956bdd115cae96000c2159249a1f213cdb5c1f4174adc30a307018e297299c5a6bc20f34bd95117368ec04e8d8bf88f39c65b5edbcdba6547db2370f0b42a9cf661027f47b4005bac4a410c37bcbdd1bfed20620f688383b72235c9c43d28139582f21945ad2204093dfe4b9e7fcc4f9a554f06ce934a3b1bc8e046ffe48c3deea8f9d378d1d6b50c00d1a1f5bec39816dcf9684ab01fbe0dc70a47e14d5ef70b9bf8e05b8fa9c7ccab9a48c08e5073197e5e29b047a8c5ca4abfd5036538ecc3258d0281807ebe762a8dcdf901a5c0ded40daf3713108ed386e517e6900f2cba046e91d34df81becebb25339f8bf4954372d0383b1299e899ae088e9bc05ca1a478a5907839f5c44c40af7ab86141af92754c0dcc8c4bed879ecd58d3a3e630ed36b9f830faa22aa3e42e08617e4cef053add9cff465f8b629ac8ca2643c1147d47ce8fb4a]\n\n# tcId = 54\n# edge case for Montgomery reduction over Z/nZ (2048 bit)\nct = 8c97556b822e64cc85ff36d1cd977620da4a72e765d12f742ec57732064cf19e2215b67aadf1d38a5ac23462372be206732038945001fd1991b3e3cbc10c81a073dd54e2da890f6c9d7b8e8154be1b3dc5e2c544ba8ce09687d62b707ef8dcbff88c6c33ccf72edc71d91b9e3ad51562a82c6414efe6cf7ed938bb22381e6846da3917fb25037", + "25977ddd4750120a21a7bf6dca949b397a8e7824f2aee231fb0d16b00ed927f2fede4e7043f1ea18430b22a4767796085ea68d3ff29f5082972746d2f4e2f465534ad87088f03a8fb699f3bc840d47953bbd4cb3a29c00fccdebff359d651bfdb6fbbbebf1ecbcc748a06738ebd3f027b646920963eeb067c33\nmsg = 991d040b49f1338a65d2f996e4f1e651f075f143db4ed0a29ae936ecef91a85d4edebb806e50735522ef88f4bbf5ce47c12eeba0f768216b9dc304544db563e53bf41a26360440997d06ba6e46c2c7c02272e00852a95e5bce8f0223f6dd235c3c7bf8132ab4ce68ef53f82dac02f142abe7db2b5ca67d7ac3857423e5df927f2eceb0c003c087e55dcaa923181ce629e3464592711a86bf0d07c80c58416b74f35ac14b2d4747818eb8cb16b6d3b6de0a21f27d4f1271439aad21024d\nresult = valid\n\n[d = 0089fb4ec55d28b21df04699e3f3bd8eaf3509e3ef2ab301632075cd6e61fa8ca6c14d00cbb19230f77e626b8e20fa994929e8010776db049ff2b639e15c0bddf17db3bd7b60803e6ed4cd7095114da560e7015075d24cfd2e262e6ddcc3bf3a69849b3b2223bb753d8cc0c8423df0587f845da6c07bff3e58e3f4614b3ee4caac10ca4feca4b2508c06aa55cc2431bf105edaabd5e70e7139dd6436ecf03f3a2af724fd2fc777ba63184dfd9be1e24604dc6fe52c405400e8cd47d7a7fccfa410f895f455a6e2d92b783dd5b92f15261208ff86d1cbfcd3428ba0f5b6d510c17730f6a2c53866f0c03ba03ded6a228f1c888d4bf35cca773683fecd28d81bdcc1]\n[e = 010001]\n[keysize = 2048]\n[n = 00ab1ae81a7c70a56c14361b6dc7c28d6821fd776d3432dc812aa8ecf1ebb7e09e2c22eccadfb83ebf0f3f8842f1fc3b942bc178457af5b7fecba5e311faedf61616220503959b56b10cea46e84d97cfa1a97fac412773df8aad7de99910b61f23e376a0343b2952ba9db09a8deadfaf0265a6672a7e8a6944ab2697b08f9cb036517f82a49d76853187d9bb8e821f4b8788cd0ad6864747556bb1ad049ff69fb4dee9f9d4fd7c3083847f8903cdafabfbef26b560ba76561e4342fc68fdd177d86b20eb9efa3bffbae8e006155b396954f6c626fa0a67294f5094f6be5b4038974aa6472df0148fbaa1a74a7c31a40723f63535bd6a06fc89b5a7b34aea6c0c87]\n[privateKeyPkcs8 = 308204bf020100300d06092a864886f70d0101010500048204a9308204a50201000282010100ab1ae81a7c70a56c14361b6dc7c28d6821fd776d3432dc812aa8ecf1ebb7e09e2c22eccadfb83ebf0f3f8842f1fc3b942bc178457af5b7fecba5e311faedf61616220503959b56b10cea46e84d97cfa1a97fac412773df8aad7de99910b61f23e376a0343b2952ba9db09a8deadfaf0265a6672a7e8a6944ab2697b08f9cb036517f82a49d76853187d9bb8e821f4b8788cd0ad6864747556bb1ad049ff69fb4dee9f9d4fd7c3083847f8903cdafabfbef26b560ba76561e4342fc68fdd177d86b20eb9efa3bffbae8e006155b396954f6c626fa0a67294f5094f6be5b4038974aa6472df0148fbaa1a74a7c31a40723f63535bd6a06fc89b5a7b34aea6c0c870203010001028201010089fb4ec55d28b21df04699e3f3bd8eaf3509e3ef2ab301632075cd6e61fa8ca6c14d00cbb19230f77e626b8e20fa994929e8010776db049ff2b639e15c0bddf17db3bd7b60803e6ed4cd7095114da560e7015075d24cfd2e262e6ddcc3bf3a69849b3b2223bb753d8cc0c8423df0587f845da6c07bff3e58e3f4614b3ee4caac10ca4feca4b2508c06aa55cc2431bf105edaabd5e70e7139dd6436ecf03f3a2af724fd2fc777ba63184dfd9be1e24604dc6fe52c405400e8cd47d7a7fccfa410f895f455a6e2d92b783dd5b92f15261208ff86d1cbfcd3428ba0f5b6d510c17730f6a2c53866f0c03ba03ded6a228f1c888d4bf35cca773683fecd28d81bdcc102818100dfb7b5f673f311d1641667f48f3e2a693c067291d64182d4d0e5641d6510332fa985a77b798884577c62165f93219bc55aa3873cdd94171c122a212381bb64e36fb76b22f41c9c16eb8ddc200cabaa00be10f6d756554c74530f6ba60fdc8d3aac0e03bdfdf61afb39ee21b26af14c6a23d4a55a4059e9ae92d96aa5d515f81102818100c3cba6dd3de94d596b91331da9ffa8c1b1d573d95f1e3a57dd5062d27b9aa4da9c1c9ee61ef57e9b3715fd1725d777ddfba79bb55651adc8dbc607f15316dac14de13d14253cc5a40a738761e4b8fcf4feb7ff95672a4023961b5951ec648edec85c1589868b7f0cc02e244186d61a6aa79db87b60f21e59c4db5b50a0f193170281807156af1706b31449d2bd0f39750077980cd2ef6436f9c5806fbc6736052769e731a906aaa56da62e745375264271fa6ac77aa55f0e9aa20294a94754a7bafa67c707537dc7d25eb9b5e88ea6a604aa01ea48c9e55a55a8801e3c67bb1fba0acab8b3f8ed5e263a91204e26402fb1c396da4436e93c44d100a2610788b0258b2102818100a40a701754d3aed68864f2aa9bcf731835625cd975f3e175d41a91713fd5e4e0b382d72e7e29b8955aa5b5923b46374b689898c0693dad9867699725fd335cbc2fffd2289aba3beca04502dc65c1074e4c4ae47bcc1f7df552c23f27802310005f65a735bde009e628ed7fbad6b9731080b687e5f6e763be5a4c5e49434ea2a902818100a741113a20de887068f2dc4a91532d9ed80b6505eab0bcae6a9b06b1048242689783f65bdbc959628cf2411ab6f13a1731fde3c60aceb25859e7e1c693ae4eb914d23211687846ce746daf43cc76d1a4ce24abe00ce99a91402c23725dd4033f29aaa2e039400e0b85a8894d275517731fbde6f82ee8e62e523d64922cbd1727]\n\n# tcId = 55\n# edge case for Montgomery reduction over Z/nZ (2048 bit)\nct = 0e3f66a0127d21df1128701a777a5338d5727bc8041c3b8c25bcaa5bfc83b0261150a5bf41658c08cc019e3ebeeabb729c3bde84ffd2023f63313b3d1ac00ab4637b36e855a0d8e368971b2ba99ad1eeb74f2db48fa9abb125ea9e7568c612c1ad48110d1008141ac34c98e8952347142470171ddb4dcd914a3dc0d0ca4f51a247758da924d5ea041c8789b26974349af3a9bfb83ecd9107414a5f17c3abe5250e6891ab465ffea8b0e2fc2b43a9c1231d8a8631ea6f4a2817edbc5e918258c7b3155396b7a1cbd19a09c9b2397945eb4b767238a8833e63e79b84e143be8a4dcedeaa51cb936c08f364b74817dd1cc6a98a2cb3223f2532f17530570e6e693e\nmsg = 5b1d0e30c1973a87ed29cf3b7b4b48ae3d2e054698a86ebfbb43c5041ce7fd5146018abcb2bda195928b4820b6ce60df34c97c650c75b4dc274b35c7dd33f97839189fddd46c960f996423fb1c30a1c94c01c8ce575903d4c1af7b805443289d653b9cfcbc1482e84fe8c19cda33f9324b1aaf3e232699017d67d281450ed445265ff1aaa52e2a74b43097e590dbab20eca6b8bbd6df182b2e963e374f32f76b700661598ff707512e0f99849c73a49f7c068122952185855f254d3473246818894740b06c0f74b0711fffa7caacd403f886b4982f71a1d940d0b3118cdcb4135bec8d46b266cd2719873751a82b46f5a924\nresult = valid\n\n[d = 29daf49c3ef3653765a42b7614903e73f0aa28b9db403bbe91f8e788d2bdc2c8a819ad72f0577c51926b923b0422f22d8989ba4c75eaa03927da30a800dae7c4deb3715caf33b869cbf4cac79b01c25a5f1d898e7321505cabdd7562fe035f032d705acf52d93fff7f2b574777b7ca4e9f65fd4f4c7c47983d21000130d94884f7393f042c7a85169b441ad7a18ad15367d7333a87f2d8653bf160850d32e4609160d57e89b11356abe7d51256651326906e11bb18354c22a88dcc7f8f10398d6ecd4596c731c307c6184c61f64ab5a3b49b7a1c4b24cb273393187d4aed24cf0fec79484f228eda3c56ca016229cc8777871c7184ce474df84d527031e3bb71]\n[e = 010001]\n[keysize = 2048]\n[n = 00a1c69ad4fe9b071ba4612057ee3835b0dfa96b60627848ef5b9b2b34c19816cddbadf3821c4cc487bdc4862b373a40a055dda27c87de08264a1732b3a0a00c132e72241db89f8c7e67bb415986feeef8b6fc3499d3e91a9a2ee562de2bf0bc854a8423fd10dba078c5482500874417875d0326ab8a0c8094e050282212e1291b41b241cf5c065d2f4995897d6270f02d6d0ff5b7f067b71cb76e72f0115c7fca37263a89ab155022c8a4ce19dd2e25ea9ac51d8464fd0f587c95f06fa1f9c01b0a20890dbfea12a60fc0aba9c4ebe81c17f49390021b1cc47f26b8b0352684cf8a544d9b2ae1962b7f3cb11d722710b0bfa550e57b7ca04e1b7ff16a035cdfb1]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a1c69ad4fe9b071ba4612057ee3835b0dfa96b60627848ef5b9b2b34c19816cddbadf3821c4cc487bdc4862b373a40a055dda27c87de08264a1732b3a0a00c132e72241db89f8c7e67bb415986feeef8b6fc3499d3e91a9a2ee562de2bf0bc854a8423fd10dba078c5482500874417875d0326ab8a0c8094e050282212e1291b41b241cf5c065d2f4995897d6270f02d6d0ff5b7f067b71cb76e72f0115c7fca37263a89ab155022c8a4ce19dd2e25ea9ac51d8464fd0f587c95f06fa1f9c01b0a20890dbfea12a60fc0aba9c4ebe81c17f49390021b1cc47f26b8b0352684cf8a544d9b2ae1962b7f3cb11d722710b0bfa550e57b7ca04e1b7ff16a035cdfb102030100010282010029daf49c3ef3653765a42b7614903e73f0aa28b9db403bbe91f8e788d2bdc2c8a819ad72f0577c51926b923b0422f22d8989ba4c75eaa03927da30a800dae7c4deb3715caf33b869cbf4cac79b01c25a5f1d898e7321505cabdd7562fe035f032d705acf52d93fff7f2b574777b7ca4e9f65fd4f4c7c47983d21000130d94884f7393f042c7a85169b441ad7a18ad15367d7333a87f2d8653bf160850d32e4609160d57e89b11356abe7d51256651326906e11bb18354c22a88dcc7f8f10398d6ecd4596c731c307c6184c61f64ab5a3b49b7a1c4b24cb273393187d4aed24cf0fec79484f228eda3c56ca016229cc8777871c7184ce474df84d527031e3bb7102818100dad1d8786696213386dbd73156d3391d5c0c5f70fb29a97801cad51c3c0cf893359391d1ebfb066f778e5f76da0b3d9bd810cc2d02b4d353b598443e1039c7a91e8f1206fd2142e6409cc8d0e8c70e0e872ac173bf5c0997363ed47a015a45ecc971fe22b5f65a2860dc87ffc723edb753688d424a2614b4721a2a91720aac2f02818100bd437af3dd1ecd829c181dfab12c41a0bf43cc1ecf5b282773c5da0050df6ae63c6efc1151ccbac1e1ede5082d1e0d83ab8122286e2c6383f39d07ba0f9bf7c173591d1a416ade762cbefea74c66dc5f2e5cc5dab786ff2ff613029535077e6a23eeea0035f2927b210473651bd60b38a6e629c00a826350b6ef9c01632eda1f02818100a1acc64a3f51d17a26bc2bc532a7a1dd857346d94d59bcf3042fff417b45022c923b54544c0d0ef630d9aac33fdb6a4bc95aafe0d9cd0d0f1e6f408cb2a45e5720530938ccb254a1973fc0484a953857979b099021e538d8d", + "6a5998c038fd5765c68b322a65b3cc5f4bb3c68c9944c4155893c45ac4f72a0d86568ea49de84d50281802aee6dab77930f26fb65751772ad094dff54cfae8576b60b0cf5ea577c00d1ecdbf488f51ccb05ea08e7bfb63515c61702064ecb41028ca857d05cfa55a4197526472694d815f7d4729df881d690d698389a0ebf68361518ba06e1e51a9c528e9d0c0ac475784ac5e75d6d179852db44c4871d1d54c4f2e65238d3f87499221d02818023b6f130671feb076e3aa0a0df22e3dce408eed61bdd2cef363a6ae39936817734b6d5612cfff2511f3fd57b58ad0c1b4be056588c77cb2a591a8d4ee51e6fea618f6e31a3f048cba05193e37fc8f7ae51814fa4fb968871ad332847a3bf3874ddbe77a7461174d9154da0940ae4886f7b6eba0972e3229968ea78b1b7c9b458]\n\n# tcId = 56\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 63f6d1ccf5c03442d3b1b29b4e83e02242c26183fcbede9b6d7881a819d6cb48448da49ecc0ed0172713a17f24154f47461928aed551cb10cf0f7ffd47dd728edbf6c2060a340d95e980d466302439cac9aaaff9d54622ca0a4429aa891ed3cd210999ba4f442af8ecf63ba9c1cbc4b9cc4940f6854e75f789858bd429b1a398093b4dfa0018a98bba620e37f840c6a37edce04fdb739b2b7d0c9fe5a8eaaecf14d9e6e27f131742c1129769901f512bbe6b578ccc8a6f25a7cfc7fbcf743c318f2346b1cb4709\nresult = valid\n\n[d = 00c66dbc49131572abb9ad8237026009eb164a40632e1c31ea7de4c0c00018a25143b64530bb65db40ba40ded24ff9709d3b29f231a105e14c9c2f8dcdeb5ce52c9514435f3e39cd89eeb3e9417f406dd8c79ac9a220deea36a8b1378f178746081ce687795b734b2ea3b795b7e524082181a751a6e4f8c987b776dc5b6350580d0549995201782675ce0e978709f579ce517d509b6d3e85c22231cb222bf932dd34a48fb9485262b14a1eba7fe4e11ea66d43077f482eb5cacd6a13c08f406e75501b2b6e691d61494fb56f5f70a4aa9f91070ae919d3c43807ca5bc8c6c526520858ff3cbaa25f11c7cc3a0f437dba2b3dbbcdec1ec1f8a5d5121d435e84c681]\n[e = 010001]\n[keysize = 2048]\n[n = 00cba072a38b85c7802967a8ebc88ce47f80f7a82fe75e8142ecea9ae87f585b7f7ebb3fe030d5894f6406e6223e73a3dce688db3339c8ea8e6fc63069ab51be6d337906e8a0f44734cd1965d689b5556f33bd7ee19c0405587cd73e0d97de4128f67866bef20974620f5a8086ec11c13b96faea171d98fdb9a57f7c7729f5c8a594635ec72013c33374a47176bc67ce9f6ec313a6b667e6fc22be8bd116b831455112e39e7c4e5848d9a5a60f42783150a191503b6be381cc2c2aee466aa270fc00b0512a83339c442fd833f8a2d1876be5b63248f5e586de3f8bcc07b01c0f2ea658a466c7c7bbf475ce0a441bb69f63e99eaf776a17049b6a49a543c085d001]\n[privateKeyPkcs8 = 308204bf020100300d06092a864886f70d0101010500048204a9308204a50201000282010100cba072a38b85c7802967a8ebc88ce47f80f7a82fe75e8142ecea9ae87f585b7f7ebb3fe030d5894f6406e6223e73a3dce688db3339c8ea8e6fc63069ab51be6d337906e8a0f44734cd1965d689b5556f33bd7ee19c0405587cd73e0d97de4128f67866bef20974620f5a8086ec11c13b96faea171d98fdb9a57f7c7729f5c8a594635ec72013c33374a47176bc67ce9f6ec313a6b667e6fc22be8bd116b831455112e39e7c4e5848d9a5a60f42783150a191503b6be381cc2c2aee466aa270fc00b0512a83339c442fd833f8a2d1876be5b63248f5e586de3f8bcc07b01c0f2ea658a466c7c7bbf475ce0a441bb69f63e99eaf776a17049b6a49a543c085d00102030100010282010100c66dbc49131572abb9ad8237026009eb164a40632e1c31ea7de4c0c00018a25143b64530bb65db40ba40ded24ff9709d3b29f231a105e14c9c2f8dcdeb5ce52c9514435f3e39cd89eeb3e9417f406dd8c79ac9a220deea36a8b1378f178746081ce687795b734b2ea3b795b7e524082181a751a6e4f8c987b776dc5b6350580d0549995201782675ce0e978709f579ce517d509b6d3e85c22231cb222bf932dd34a48fb9485262b14a1eba7fe4e11ea66d43077f482eb5cacd6a13c08f406e75501b2b6e691d61494fb56f5f70a4aa9f91070ae919d3c43807ca5bc8c6c526520858ff3cbaa25f11c7cc3a0f437dba2b3dbbcdec1ec1f8a5d5121d435e84c68102818100f0bd0f39bbd0d5492d57c6c43d32e9ad5a036b787a27350e8f1cdb4eb568b52cf16a4ec3c09a010021fd04b9721c59db11bc6dcd3a81012003d21501ac9781d6b472f8cc34b96c49525e0538b4f7bad64c62fd5ebe9fd336b828183f1648dde68786e9256b8c82262b94f2f47ff31f66e826bc4ba7847067c2fc44a6228beda502818100d8891a2d2d104310741cf585903fafaa4ca0fdccb15360f40dfce6e9bd44b6ea22250d70758e85414a569d0b29686e2635a66e45360aeec1a1627f1d4957bf1ddd1f1f70eb7ff3374f429483b47f18ebf19d3c7b7f67f558c916675a46b6706525bbdcd6fb94e1aa796f706a1311b939df18677b7ea8eecb899346cf989ec22d028181009ddd5c7e9f8af2526a49852e6a73588934ddc93bd7de9e0c4e0cbe437ef28adc4df348735579a7ee4e5b7d1d9e96b8d5cf6ba11553a804f4d98c89f9ef13eb30c0642482c49053524191261b69908a14bd42aca3d49d3a0447ff02e75bd5acaddf71b8b1b13512a3b53097a17dc610718b0adbaf40cab86b5291daf296f4eb81028181008d5b1b52888b882c5290a11b3b2ac8239578b7968be05177a1360b0c65b958eb89b4c48c38c1fc6dbdf8c2f689669a19a986679019129400a5b926205943c608d9d43a733dd9be4dca193dd8a8d91bccd363011be1f55cae443fb2e2b52cde3cb9a0652f96f6ff468995dd3df20aecef419badda69ba208190e32b23d48f37550281800502a12de08187e6c1c2c8c70d474b91df724f42fc310d78f8ea5040424457fc64fbbf26ddd5f4a172b956c7604e8022c65741dcd141b2fd0c529f1eae94a9544bb16fdf544426d6217ebc13ac86d8a6dae7af7d64d6d3332653ae6fd5448f0dae43210000e2a7a80bebd420d8c8609d57759fba7a8877db4539e1abe0967483]\n\n# tcId = 57\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = ca095311d2c3cba494ca686bf451a3ee1ff4ecff1fe7738001c9d8f494e2375efbf0b03e832bcbd1d8d1a319d262c844fc1aedaaae7c06bc654e4af0412265aa0dd1cf46652460d43b14436ba8cc7c72870fcb92554e1c2c468fdcc2e31769437b57d47a348c6af331ac9e0132d41607ee95300330537fbd74e25e661ddc9989d201155f388a93cf8ffa7d44b33a4c1baf7a1b056ca80eef22a14d1f1c4460d6136ae6601fb19afed2b78f333047e8bdaace0a6c61b056c23a360829e632d1e847f9f57aac7322e27d6fd1a77c941743605405c037ebcc8ad0b68b034f954af5fb47943f5580abc20d59b6d419\nresult = valid\n\n[d = 008740774b9bb24693c567f6d0d7a307bc3f46c19a6e21389c1d2dc0559d3beac99559669771eb26a3ef602d8b4bc8b3fc77373fe04f7d55479e6b9d7e693ffe0268d2e7c014d739b3b31cc7c3426d583a646c838658eff7db25167d0b96128c678210f4efcbf5404bf63bbc62c26fd91e69cb84feeb5e0af28de83c3e55db4d764c988fa11e96e9031c080568c8856e8bf82dfce9e452e8aa2cba07ec08210f1d69fb70a126ed13f2797d91425ab46c0dc917c629e36f91b44789b9080086c1119c5e281face72aa09bb4bcb33e9da4223ce935386529b1c7b7e628fc007fb1f1850e390968ad1fa9a49fe4f81c4fd09babae98bbbab06ad00910081a493f9f01]\n[e = 010001]\n[keysize = 2048]\n[n = 00970c802f8bc69e2e7e9f5c38834600446ef0d5f037311c6b143ed35258f9523bdc9b8bd753b68e842e7399769d9d428b8ce68f0ab97427205896b66b4d26b45c99b3dc5d0268ce20e33270121f50ebe23bd24c8e378b31fc30fd079f1918fc54d9e57229db62eb454ca45eba505bc4166f80d24784e58b14bac6b3435c4fc6eae8a14d67a06eda445ec46e9826d3f75da0a63f4a295c8478cccc9d19177d74f57a5ee66d9a1004bddf546eea046a9c9eb78e3b1bae5fe7f8240703bca97d7224c7f2f9ad549d87f5a9b64957ab85e92ca22cd6543f36595412bf535f258b2233dae92da91cffa8a0a2215bfbbef75d078cc516e388db733da5cd656f93b0eb59]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100970c802f8bc69e2e7e9f5c38834600446ef0d5f037311c6b143ed35258f9523bdc9b8bd753b68e842e7399769d9d428b8ce68f0ab97427205896b66b4d26b45c99b3dc5d0268ce20e33270121f50ebe23bd24c8e378b31fc30fd079f1918fc54d9e57229db62eb454ca45eba505bc4166f80d24784e58b14bac6b3435c4fc6eae8a14d67a06eda445ec46e9826d3f75da0a63f4a295c8478cccc9d19177d74f57a5ee66d9a1004bddf546eea046a9c9eb78e3b1bae5fe7f8240703bca97d7224c7f2f9ad549d87f5a9b64957ab85e92ca22cd6543f36595412bf535f258b2233dae92da91cffa8a0a2215bfbbef75d078cc516e388db733da5cd656f93b0eb59020301000102820101008740774b9bb24693c567f6d0d7a307bc3f46c19a6e21389c1d2dc0559d3beac99559669771eb26a3ef602d8b4bc8b3fc77373fe04f7d55479e6b9d7e693ffe0268d2e7c014d739b3b31cc7c3426d583a646c838658eff7db25167d0b96128c678210f4efcbf5404bf63bbc62c26fd91e69cb84feeb5e0af28de83c3e55db4d764c988fa", + "11e96e9031c080568c8856e8bf82dfce9e452e8aa2cba07ec08210f1d69fb70a126ed13f2797d91425ab46c0dc917c629e36f91b44789b9080086c1119c5e281face72aa09bb4bcb33e9da4223ce935386529b1c7b7e628fc007fb1f1850e390968ad1fa9a49fe4f81c4fd09babae98bbbab06ad00910081a493f9f0102818100c6796d5db4801718b6407a1685751c5d7261b8ea32155320a956c130f17116f81fd01284062a5f1b114901fead4a38d12130356805ac921fc538307379fc1399638a6b9f06a88d1cb6b88580bd42a411d96b6e785cda570b4dec2a651a9841dd94f5121a4fe7c7fc028f554d0ced4c87f7a1eeb3b723a2e82f41841cff4e926102818100c2d427a9927c45b982cd3f08eb077201126577138d7e9e0bf80b6f55a884ebee9cd9945f041c52618efe8eb2a7ba4440cd7acbb236607ceb89ab2faca8d10f377512e9ffbf3b772fa9f8b745820c8d9ceb5e8e98378e9f3ab391506e051f3253e9c6d583138258659c7abee19baa2ee169b8aa01b5ffa15289538b0a8cd66bf90281803fea40b70976aa7971cfa7c172eef8d87b0a4f5354179bf28bb5fd76f679d5ccc7e9e8dc8d63bdc6e8b51b2859c3ea3226bef0a3f417d3e2d94f34032c086a835e13e87e88d564c4176faac67fac634bc039a194af4a3cf7cdfb3cd7dc4da6006684d97491c0f19d0d71fd2558015f40f61536dab72289c6bdd91a6380305c610281805d440c7c9bb84bf4838e5787a0635f0aee508e5158e1ed2cd3a03dbae6c242e36648ae43520770d46d0ca529172c0ef26aab4709d80816a4f6b17150193c83294c2d32c1903d1a5041f0e3632ddf6e87591159f7ba58d716d5d1518c697d46ad6ef31550fb2ce1be3acb73c732aaa4689a20a199d2133e99f14d81f919f4a7990281803dcc0287c0343f8fcb35c8a2f88b605e650be24d42d8d65a95241a51838eb63b4e76ce15feb538bcd2db0e9cc4f85fd9ece0414b9162024ec2d06e8472f67e97745fc69492ca049cbd4166822d810244ca28b2451ab29d2cf24836368770ebb7bd591125cb48b5307c590ff270783378b17402af4bdd356840aa6c51d84c3362]\n\n# tcId = 58\n# edge case for montgomery reduction with special primes\nct = 970c802f8bc69e2e7e9f5c38834600446ef0d5f037311c6b143ed35258f9523bdc9b8bd753b68e842e7399769d9d428b8ce68f0ab97427205896b66b4d26b45c99b3dc5d0268ce20e33270121f50ebe23bd24c8e378b31fc30fd079f1918fc54d9e57229db62eb454ca45eba505bc4166f80d24784e58b14bac6b3435c4fc6ea68a14d67a06eda445ec46e9826d3f75da0a63f4a295c8478cccc9d19177d74f57a5ee66d9a1004bddf546eea046a9c9eb78e3b1bae5fe7f8240703bca97d7224c7f2f9ad549d87f5a9b64957ab85e92ca22cd6543f36595412bf535f258b2233dae92da91cffa8a0a2215bfbbef75d078cc516e388db733da5cd656f93b0eb58\nmsg = 575b819ff5b00428d51e8ce5df4a02d588ce49f9540cb6f27a53f0f27b2741d2ba97d9192fb67c90f564a48965\nresult = valid\n\n[d = 009c6d3201df14218c0c4475d2422c84dde9291d4b952efeb59036522d51959338621ffc9692f53203e839ebfacc0bff499b83d40669134ded0a5f317b1897c74c05c615fdc8b2373049a6e64770b576b2d89fc3514f0e368581593acd8b91a976a8526cfe8ffd8f4b3c7c10278e46ca46b5942fb3442f63882c0e65a57364e8694c29ff9381d733988b6b20f43fc652b00bb3c49ab0444db21490bed548e51b47edd773a8559ad59bc0b0eacecc055208b1f5814ef39c2e259c172b8f446a2fcdb8f2beea080c4f2dec942f813c74c443d8c7636378120f765e9085bc27750b94de249a19da1e210c0fc79b711491a1f255bf0f0ea753f01f5586591b40fe1b21]\n[e = 010001]\n[keysize = 2048]\n[n = 00b5b356e62591aa12b607c9541e081020a8e48752f9e1bc50989494ad5c5a22079a00b607d8f5ba364475515ca5c9c204b8f294c0a42fa3265f9a3337f3331cc52db473dd4644f9ccbdbf3742f3dde513b3d6df9cea6e94e2e2295147ce03685d42515c2e1a869529d41a51c06cd0c608932adc5b5ce790b4e8f9c72a34d0e5b216c01253c22ebe6eb71917812ec899df666b94e0a2290e75197063ea55e3390e2a7ddcf9c47e2543030f69195a3379d4739090dfcd07295bfc9a8e2891ee9ef286623cb9963c056d934749fd2bcd73e47b816595d54bc2635fea68098f7807687996c1826023459bb4211ff1e98ac140823a36b70345b6c4c6bfdf7aadc5d34f]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100b5b356e62591aa12b607c9541e081020a8e48752f9e1bc50989494ad5c5a22079a00b607d8f5ba364475515ca5c9c204b8f294c0a42fa3265f9a3337f3331cc52db473dd4644f9ccbdbf3742f3dde513b3d6df9cea6e94e2e2295147ce03685d42515c2e1a869529d41a51c06cd0c608932adc5b5ce790b4e8f9c72a34d0e5b216c01253c22ebe6eb71917812ec899df666b94e0a2290e75197063ea55e3390e2a7ddcf9c47e2543030f69195a3379d4739090dfcd07295bfc9a8e2891ee9ef286623cb9963c056d934749fd2bcd73e47b816595d54bc2635fea68098f7807687996c1826023459bb4211ff1e98ac140823a36b70345b6c4c6bfdf7aadc5d34f020301000102820101009c6d3201df14218c0c4475d2422c84dde9291d4b952efeb59036522d51959338621ffc9692f53203e839ebfacc0bff499b83d40669134ded0a5f317b1897c74c05c615fdc8b2373049a6e64770b576b2d89fc3514f0e368581593acd8b91a976a8526cfe8ffd8f4b3c7c10278e46ca46b5942fb3442f63882c0e65a57364e8694c29ff9381d733988b6b20f43fc652b00bb3c49ab0444db21490bed548e51b47edd773a8559ad59bc0b0eacecc055208b1f5814ef39c2e259c172b8f446a2fcdb8f2beea080c4f2dec942f813c74c443d8c7636378120f765e9085bc27750b94de249a19da1e210c0fc79b711491a1f255bf0f0ea753f01f5586591b40fe1b2102818100f445d8afa1f24d7e26811bff63736f8dff4cd25d52432ebe8d58b5e31bfe4fb41d6125a03939a97f1a5dc12215588aad9b3c7b8eba85697b348a7a6912ef0afb6566362bbdde146fa0404a039f668bc5d897d0991d12b5942527aabced875b6aadb65d96fc2550181359a70fadecd40745833dce8a571b092f6b7bcc853621b102818100be6c781cf766ccb1ca7c9ee8600b928c2d6dd362993f8ddbadf111e876e0e52c381ea344c1e310f7bf17c1d221bd896258f267160e4707565426214db5980594878eb7bb9983b57f6419f15cdb5d6a7959cc09eb46adb988bdffa22898a9104fd7675a0a29648512f4206e0a7bbe7e412a4e17d4cad3f56837091cc706eb84ff028180252edca51f89bab2113a6600a22ad8384d3c6c69383471d11fc2f92cf0fded3405a4dc0d5fa89f5c71af03cf2460adfb6f3dedb0f4438aa2ee8485cda8cc2a67ca2f9cdf5baf8a7cd36ff5d447575cbf6910f2f7dbad1566cfa112246023d28e9292c7fc4bb58253a7de65c7c539dfac9bb036a051fea066ed88f6f752efc281028180797ad7519b5f207cd7b192eaa9c318358711c645e38010eeb153d659d7e4f72eb38a901be0190c8d1082866a988dc2e453dc287980983d8d0c57daed2949175e3ef0843410e65e562bb5052e78df6a7a8a17c9c827a9d26ff2cdef5438b7ba294540b0c744cad4be57b18ca1f179802ff05e2b83dbf5465cbaa77c8d57d3ce5f0281810088e5157aaa70e37b656f77c266986cfc2dbdfb3f72f2b9f6ae1c2814c9c8085c5390735a1b4076423af07a7c0462051ffd0c47051e13b42c69f67910d295f2faee7ecfdaf01ead40a8cce361ae88820101a3717e70e424a6e4bea9ecda1b7d2fc58977e84c40f7afc806016a3ec806a3077e7ae4f31ef34d09d3f99143e894b2]\n\n# tcId = 59\n# edge case for montgomery reduction with special primes\nct = b5b356e62591aa12b607c9541e081020a8e48752f9e1bc50989494ad5c5a22079a00b607d8f5ba364475515ca5c9c204b8f294c0a42fa3265f9a3337f3331cc52db473dd4644f9ccbdbf3742f3dde513b3d6df9cea6e94e2e2295147ce03685d42515c2e1a869529d41a51c06cd0c608932adc5b5ce790b4e8f9c72a34d0e5b215c01253c22ebe6eb71917812ec899df666b94e0a2290e75197063ea55e3390e2a7ddcf9c47e2543030f69195a3379d4739090dfcd07295bfc9a8e2891ee9ef286623cb9963c056d934749fd2bcd73e47b816595d54bc2635fea68098f7807687996c1826023459bb4211ff1e98ac140823a36b70345b6c4c6bfdf7aadc5d350\nmsg = 1f7926bf036e2dc744b3591cdc9575b7f1e6cab9a3766de85b56b9e975f13046b41ca9df17fbf93ef4f260f8bd263182dd4a4fd87edd9716d63b99e9ad30212e9f506c345838e34b3d784d1785bebd59c52e24f7748361c670c29999f4766f84702f3997550989ec36ced0eca73bfe167c8b1913abc69f537d7171dc84b268198681228c71e6a6b9d402de2302e4704392a4e946ac0c6a6e29184659ee\nresult = valid\n\n[d = 4ca464a8d7a4a4fb039f6e6f6014056ac573d105961fd212e2f4533a4d34bbe22cdc632daa904b059d5fca4cd262f289d1a4117273acfe4d19c167c8c46a1c683884c44e7ace3786cb33ebceed7684f74640d0dcc3d237f4fe4931761fa4acb2c7583a0dd5f8cd0bf0e0e620c58ca07e393118d23bdba383eeaa0acfa4795f7d9ea26c83305a6fc8a808058414cc0cea5f9cc97fd394cab0756c55823b86adfde6c46a6dfbf52da24a3323bd86cf35916450d9b4ba03be365f6ba3ff91fb6a4c235a229d49a572d23afa2e3268b164a94810741f40dcaf3a628563368f567eb624018d4a110c981ab6d2da5fd7f3c30b0cbe22120ac63c0a73e09affae95ef91]\n[e = 010001]\n[keysize = 2048]\n[n = 00e1553db85d0a89d51fbc963fb8be566b0b8c72e8174e7f9f969c0d892fd259ae5aa44c0cf97702372724c7edadbee4cd581890f67824dd65fe7d67ac12e9db1da108eed274352d4597bab6e3624421769d2d634d203f878abf1a7de27f650e3ef551cbffc5469b4d23e608a1ed57a36c0dba443ba2957f58a0aad0530c20b515295b1f4e3ae9df2ccc69d025bc23283039d1e42f015b24ae919aab8e812f03a6f3cd3013cbf00d35edb489ccec7e68105cd6ffb2b85623c1238a6ceb04b73c7e2df0402376d71ac3e03278eb2a7a5895f81b7f3dec62e9fd95efe22ec152d0c673d7004d244e87bdc787ba632fee75d805e29229e111fc083b0484b0480ba63f]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100e1553db85d0a89d51fbc963fb8be566b0b8c72e8174e7f9f969c0d892fd259ae5aa44c0cf97702372724c7edadbee4cd581890f67824dd65fe7d67ac12e9db1da108eed274352d4597bab6e3624421769d2d634d203f878abf1a7de27f650e3ef551cbffc5469b4d23e608a1ed57a36c0dba443ba2957f58a0aad0530c20b515295b1f4e3ae9df2ccc69d025bc23283039d1e42f015b24ae919", + "aab8e812f03a6f3cd3013cbf00d35edb489ccec7e68105cd6ffb2b85623c1238a6ceb04b73c7e2df0402376d71ac3e03278eb2a7a5895f81b7f3dec62e9fd95efe22ec152d0c673d7004d244e87bdc787ba632fee75d805e29229e111fc083b0484b0480ba63f0203010001028201004ca464a8d7a4a4fb039f6e6f6014056ac573d105961fd212e2f4533a4d34bbe22cdc632daa904b059d5fca4cd262f289d1a4117273acfe4d19c167c8c46a1c683884c44e7ace3786cb33ebceed7684f74640d0dcc3d237f4fe4931761fa4acb2c7583a0dd5f8cd0bf0e0e620c58ca07e393118d23bdba383eeaa0acfa4795f7d9ea26c83305a6fc8a808058414cc0cea5f9cc97fd394cab0756c55823b86adfde6c46a6dfbf52da24a3323bd86cf35916450d9b4ba03be365f6ba3ff91fb6a4c235a229d49a572d23afa2e3268b164a94810741f40dcaf3a628563368f567eb624018d4a110c981ab6d2da5fd7f3c30b0cbe22120ac63c0a73e09affae95ef9102818100f95c944ccde828d364543764b0f05ea6044bc2d3c5918dd1b6b8bc3623f95810a5406215fe4202cdf924978a908c47c2390ea20f375f10ba3dbe43d8dd40dafc301dad1b10a8b7f17ea97f7f7009dcf2bfb3a1b8cf7f5569b064a21dba9c959ec2b71c2cc057e91a21702bfba954f2ca269e8cd030c0f4f4803ad0becfc58e0902818100e754e7875edcb5332189ff31b9c2b6b93579e5e7e1fbc013da4f8b1a32c68d5d6774c6e3b1dfc5e55b22f2b30fb12a70692560cd40c2fa6d087afbc617c36a582e3ce5d7a506f45b443bc6170b0d11c711045f92c49ec3b5899a1d3c191bfb97bfbc8051caefd7935d5abcf161a5af7d5d9d971edb0c07f9f88fe72eff2fa407028181008c8d8e59ac460b9cfb942c94e8d6d3c2a7f13c23b9dccd1f43eae4cb6f83800c01d94470391c64104d3a3ee0af9122716b4fc030eb78fe28bbdc9ec9820ca862358cc4a1d8c600c872287fe108f9c63c5da996a260f2d8e5f5b3035dd66da4381470b9c4cfb5bd82290edcfbc0fa4ccf7ced2959bfe14330fd86295b2429aa61028180772074fe742e6a2d838701e0c48d6df560817e90740265be937cc4e05fe779a2f104e4eb1a8d66e69e9117b4784f3ed09685061d8ccd1b930c7bf0ade94cdbb5bf51e2f6b2e82aebd8ee832b18a8c94fdf0686851935bd08fe6c5bc3b8167df07e6f7f111fd575095158c9d5eff817b0128675ed10d6584134ec3e1c28938aff02818100a957119ae91810c9e2e92d8cefe0aeed8a7dc65d777d55948d6c09794b7d096a91789730d286370db6a761f048e1bb9a294b07f8a652b93abdca388c561c2acbb1e65ef93c8a230ff2cbde5e690ad7a04abcca80d253272e3687b99d17160c31ab73c6524e815004ab78ab8fad16d089952bf55889b2f75d473112823e4237ce]\n\n# tcId = 60\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = d59187caba5dbdbc43e6523e1163ee57187cf0999abd64e0de5d238118677b17855f588352f2208b2a92b1c296ddfa9e2bc2b271404034ef96b04122d55d3509f1f9f75658c13172caef5c1ead5d33245c1c1ead84ebfd6f7bf321c0c513c1a2e248ba9805fd3d59d84146032887ae0b0da75d65846aff104366c1e3501d09f3edacc6ce9e41f60f489bd7b0afeecc080110daf9372e18a2e26bf870d640d27cbbc92855a2ca16bbc08c7e0845cd10c964\nresult = valid\n\n[d = 373140d3efe66677aaee9dbdbcbcb28c1099e659a27fceb2f5e5b3e74cb769208f9f01ebec99ab473b3f223efdb5a8fae049c5eb98cdd95e540b8a94ea3e3f359774e9a388233272f15f74315a537753343fe0fb25e4a483fd7d83a3d4e589634cb943e5fc0c71e38be042781fd66a6ebc688307e223f5499e60dbf8faa0f78e89f6bcee6d7955cdc6a8ca8d88fa6f082538571fbd8fef7bb7bdc86590c833b7aa1564fa7f20e099aaf6774810a71bd72ce1e5dfdbf53ccc169530c51e0913b1a9079da6dba0c9452449739196266449270f84812ff7b14d8fcf436e9f7371f58955150f06eee56e1e15594ebfe7143f27b52f6e9a4124904052b82475681981]\n[e = 010001]\n[keysize = 2048]\n[n = 009c674c8eb6b1119cadf24265cc7751bbb162a63083dfa58726df27b77b10bf030210affd810d785284374647cb89e5e78d04e7f07d24bdaf8aaf9c4aed1e176613d77f99d3e86dc97878c2eada2f6ac55c73aa7211606291736a0ba33ebeb48cbc89ee36e18d963e6250c3f9b1a29f4cd7668761cf72bfcdeb31ea58bcff31ab2d09a3502e1063e77a19cf0ef31c14a386536abb62306c41b386d4d7559b486f14c66f81cd9268b25987450b1b64209a9bfbbad7a2d5b6ccada0f5ee97687de9976980c33a4e7cd4cd1fb2f2b2fc59fcf68843f3cba885fefe4c244f8f19602947688dc697bae5f53734178b2c82497f83c60331542a5dd557010ecc3847acf9]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a302010002820101009c674c8eb6b1119cadf24265cc7751bbb162a63083dfa58726df27b77b10bf030210affd810d785284374647cb89e5e78d04e7f07d24bdaf8aaf9c4aed1e176613d77f99d3e86dc97878c2eada2f6ac55c73aa7211606291736a0ba33ebeb48cbc89ee36e18d963e6250c3f9b1a29f4cd7668761cf72bfcdeb31ea58bcff31ab2d09a3502e1063e77a19cf0ef31c14a386536abb62306c41b386d4d7559b486f14c66f81cd9268b25987450b1b64209a9bfbbad7a2d5b6ccada0f5ee97687de9976980c33a4e7cd4cd1fb2f2b2fc59fcf68843f3cba885fefe4c244f8f19602947688dc697bae5f53734178b2c82497f83c60331542a5dd557010ecc3847acf9020301000102820100373140d3efe66677aaee9dbdbcbcb28c1099e659a27fceb2f5e5b3e74cb769208f9f01ebec99ab473b3f223efdb5a8fae049c5eb98cdd95e540b8a94ea3e3f359774e9a388233272f15f74315a537753343fe0fb25e4a483fd7d83a3d4e589634cb943e5fc0c71e38be042781fd66a6ebc688307e223f5499e60dbf8faa0f78e89f6bcee6d7955cdc6a8ca8d88fa6f082538571fbd8fef7bb7bdc86590c833b7aa1564fa7f20e099aaf6774810a71bd72ce1e5dfdbf53ccc169530c51e0913b1a9079da6dba0c9452449739196266449270f84812ff7b14d8fcf436e9f7371f58955150f06eee56e1e15594ebfe7143f27b52f6e9a4124904052b8247568198102818100d4a180a199b63e0657e4c03928e70b55d7defae203566eda84c584ffede87dfb0f5bba31d0fe6a46b4e0eddbcd80291c2fb550d5500e65aa198f32efb4d2e61a7acb82f41536931b9581bd4e96f7d10040bb240b06c77dd24a7b0a041e943b66248b2448adf068e297a5bc66f6dc986e0375888e16c659b75173fa115793b7e902818100bc4de42bf505e84cb3385505a2fa55ee0d0691f6bda9ed283a9daacb4b13631f6601cae8ee1e107ac4c8521646fb37cad6654fad88c60bf2c137d06882b8d18caa6f2379089add3474f20e01129914992ea06050540d04b5050e723830f86d0b898f22faa746bcd21ddfb8e2e8cb7de19ad52a55070b0dd4eea8fb47988932910281803788266c0e150685e996988d551d625c7d10833d5bd9cb01cf03370510415405a9b12f23ab8d867c08e965b5ae29f692a1f31cb5593f29560f6ed2c2bfdb04b58db470f30647468c41b3ac9945dc5afd51ea8e334305feda591161404a2c34872cac1a41d10ba498e93a23c6505ab484a6ea9f4b5caf58e703a2e2807cfadb610281803b7b675e335220654a1fbb4bc285cd6b1b163e397104227418c00159a26787623db8c73df929ea0ebde68177a4086b4159a43b1d181d675cd1882dff357be845c4f8c27dd32808442fc4de839c3a5af560732cb97333818f24ffc138dacf3eb2ec4b18c390df9979ce1203b739ce3dff6c07760dd1e1be06cb34f9db4de5d8e102818100a08e8c751bf67cb72e99179e91f17ae2250fcae4002189c11a19d47d9ec70c864cf45bdf52a87f48fd68d21bc8a67386eb1888b9e714bdebe429d27e455c818b06552d34e2f89136646acfad68cbaa7edc878306349c6626885df770eac14a67312af3037a60a9856dbffe0545b2411bfbc21c45b91c076442527d67f6ead5c6]\n\n# tcId = 61\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 69fc21cfdfdaf947da0c6ca5c9d78967fac976579659c93a8991e93d12120b10bc6342cc128912af3093696afb4937dacb30bca328b5aea273a2d512c5b98fdc050c213b87d23ce11957b08d74d3ac5a89234d9022f1a132e0b4d6afc411082569ede3f1d71d94886159d7eb8eb8\nresult = valid\n\n[d = 350b5d22a0c60b1a67fbbb8d0a4b5e0fc27f2806afef5dfd8f7a71cfb2d6261c246f929ba023ab12ac5a28755755fcd3a3284ef32846c50a4db51bbdfdce016191a16aa4471ea9dedf8056b9f857b409cae629e6d4f211740fb83613c6199df5215a5d3559c8158ea6a5af791db02a7e3be5daaac6e47aec493872a845da9ba04de538780d63335340548b81a8c27222ba259013a330a8bf5a9284f785a794e89fd973220e98086f1c43771b89f4e21daff4a12e4cb866fe3963c556716397865d4c08fc39ec3db1048745dce726c9cdae9c984cea3dbc79124038226f45c7b128922673db23d2f0f0a70b20e054664c617a64d0c7de7ae987fd9f2af15ae4e1]\n[e = 010001]\n[keysize = 2048]\n[n = 00cf0ccf73f02736be83c4a6a2039ac3a36d7d1883db608b4055c00ae37f672d420f1eefead15d06b6c639d462ad3297b4213cede8a129570447d5f09dfbf985d54af8599e431247fd759acaf1ce51da4553f343fcb0649b5ee2c294cfe9c2a571757cab5fb4d2a513bba3064b471a134f1bb87fd786fcb42c18d565c54693cc5541e4", + "d26fce244f2210c1454da32d7a061ccaa8faab3f1c8d5cc922a099b3fe75b081213cb917d210e2ac2a24ab56a08400e0cdb18a1c8c71a37f546faf83cdc261fd82c2e47a6879124072b90b7519e53823d4dcf422459103abb2966f9564e55a05c21fc3b43658952f9627422459cdd3214f3ae257558ded08783b17cec529]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cf0ccf73f02736be83c4a6a2039ac3a36d7d1883db608b4055c00ae37f672d420f1eefead15d06b6c639d462ad3297b4213cede8a129570447d5f09dfbf985d54af8599e431247fd759acaf1ce51da4553f343fcb0649b5ee2c294cfe9c2a571757cab5fb4d2a513bba3064b471a134f1bb87fd786fcb42c18d565c54693cc5541e4d26fce244f2210c1454da32d7a061ccaa8faab3f1c8d5cc922a099b3fe75b081213cb917d210e2ac2a24ab56a08400e0cdb18a1c8c71a37f546faf83cdc261fd82c2e47a6879124072b90b7519e53823d4dcf422459103abb2966f9564e55a05c21fc3b43658952f9627422459cdd3214f3ae257558ded08783b17cec529020301000102820100350b5d22a0c60b1a67fbbb8d0a4b5e0fc27f2806afef5dfd8f7a71cfb2d6261c246f929ba023ab12ac5a28755755fcd3a3284ef32846c50a4db51bbdfdce016191a16aa4471ea9dedf8056b9f857b409cae629e6d4f211740fb83613c6199df5215a5d3559c8158ea6a5af791db02a7e3be5daaac6e47aec493872a845da9ba04de538780d63335340548b81a8c27222ba259013a330a8bf5a9284f785a794e89fd973220e98086f1c43771b89f4e21daff4a12e4cb866fe3963c556716397865d4c08fc39ec3db1048745dce726c9cdae9c984cea3dbc79124038226f45c7b128922673db23d2f0f0a70b20e054664c617a64d0c7de7ae987fd9f2af15ae4e102818100f3f8c1d23e61b0213a323ddfea2df12b78b8c06ed636eed2b436e1f7c10e6f916bad4a67871a411289467aac9ac771393cb1019b988f345c52087a4e2b4b206e64ffe60dddd2702f1e9fca4f7bcf9f6c3be30adb848fbb1426b8366914ebbec32799f65052255034ac85bb16f4316847df2d35c5c4a009c40bb56cfb66b4746502818100d9420dab2a0ae1bf9db09b143f89a13b4dbc6de900e8a5ffa5a5518d838cf89cc74fc8a1447fcac34d30d15d07cd0e807f0d1b99cd77741917fb8598ebd73405b25d6bca4c15a9f5d07e60522fde4e283ae25d5c9b0c243a58097f00cf9aef9c52a236828b069e584de7abcc767cad43d838ebb2b447203e14915b517e1697750281806bf8cf6e88851b39d9539ae699f13326960acdbf3fb69803501669f307d1a7b6a7fccd4cfc11b672c9a6136c8823740c6cbbb9866f02119e39ffde80f1d011ce498ca6f7c40ff9ee20937f29a615c0ec59a4a58d7921531e1bf4b2bfd6ae6e8257e85f863494a6e668e3d664d635777d375bfecc43b4c01daf40dfb67341b1b102818100b7b68d4c61bed5ea6c73bc8f40b326edb8ec4f9caa3210bcbedbaebc95b30d3fb5a297ab16fb61000933f0b6543467c0ecaeaeda3dce7714091d9d791464e40eb5271e50f0499970cd9f2fe00fae5234dea6300070f3b166ccaf2b000a8d9f7476c3c88856fb7fc6780a2152421767846940a8be72877a92445e2df419450d490281805c6e8fc9deeb3afedc1cb2b2c377c9c2a56837a7e15152a587f932655b846e14526b13515a3a78e2ae3420e1508cd494a4a6070e83b1fae8249c01d2e41f926acd9c980569caf6b0bff559715feff770510972392c4bb88ac72d1a5af09abe2d5b568997357ea2073da38bee8b2e078f746512ca09bae177f226c1724e516ada]\n\n# tcId = 62\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 8923733a345f80b10575ce05c18cb8543de89cbf37886f51c6b9369ecc01b880587e9c41f1848b2539a6919752d07429f3b012e9ac62e5d192cb980489ec54ee54a432a1f6adc583477b404d816e499666b4c91d2fc4e7d1844631997afdd05f190c433a6bffe334de4476284e8e6b30f4fd6da692\nresult = valid\n\n[d = 629c1d04ddcfadb36eda7b394ee5bf6619937f5af340c2ba4bea8adef205714d20a131571883d923cdf5099381d107d30c66fd24d836bc30191b99ba7116033247b0ecc7cec457e94230a5a4f726e2747c02812c84d4ec50e615125063eeacaf1a35332656e3751f90c554dcddef27cc2175da418d756eba2163a076ae438c626142cef8c105959a9aa157299e884f48d6aa6171e0d0c6176377e1475728e06e013bba7fdf9438938b1ac2df23141834c81788325e3fec96cd5c72709a697ee644eaf389911ff6e91bcbe459cb1759720fe0d48159a3d31d7ddba78cc282861eec0c7f1014118e8d2d74fba5eddd5eec3c1f894b00e4390ea3016939daefdb95]\n[e = 010001]\n[keysize = 2048]\n[n = 00bf00ce8851532bb7cb0574acfa4f8992e37ececd04364f3d920a4bbf8b17523d967854dd28291c9adb51760356f24b8694995cad1f91fdd3c738b307b36f27f95d185fc331f5d614a4238f3f2157c1ae3a91bf6c5ac632259f2eff08f7bcffbfa6351bffaeb91ceedca6779b5c82e07b4ea2791196ced821793332ea313dfaa64064eb5e8f71de0ad1cdf680fec6a5617fcf970cc4eeac5ff017009400944997e8c36b1ab87a08545b027480815b78fd04ee3bd8daa31460246e9e258b31243ddae72fa770ac0fff907a6e99622b7b936529137a5b96b43562037459e5dff9abb3bfa7b4fb9d57a9345d86a72ea636fda36ee36eb913677c494bab01042b982d]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bf00ce8851532bb7cb0574acfa4f8992e37ececd04364f3d920a4bbf8b17523d967854dd28291c9adb51760356f24b8694995cad1f91fdd3c738b307b36f27f95d185fc331f5d614a4238f3f2157c1ae3a91bf6c5ac632259f2eff08f7bcffbfa6351bffaeb91ceedca6779b5c82e07b4ea2791196ced821793332ea313dfaa64064eb5e8f71de0ad1cdf680fec6a5617fcf970cc4eeac5ff017009400944997e8c36b1ab87a08545b027480815b78fd04ee3bd8daa31460246e9e258b31243ddae72fa770ac0fff907a6e99622b7b936529137a5b96b43562037459e5dff9abb3bfa7b4fb9d57a9345d86a72ea636fda36ee36eb913677c494bab01042b982d020301000102820100629c1d04ddcfadb36eda7b394ee5bf6619937f5af340c2ba4bea8adef205714d20a131571883d923cdf5099381d107d30c66fd24d836bc30191b99ba7116033247b0ecc7cec457e94230a5a4f726e2747c02812c84d4ec50e615125063eeacaf1a35332656e3751f90c554dcddef27cc2175da418d756eba2163a076ae438c626142cef8c105959a9aa157299e884f48d6aa6171e0d0c6176377e1475728e06e013bba7fdf9438938b1ac2df23141834c81788325e3fec96cd5c72709a697ee644eaf389911ff6e91bcbe459cb1759720fe0d48159a3d31d7ddba78cc282861eec0c7f1014118e8d2d74fba5eddd5eec3c1f894b00e4390ea3016939daefdb9502818100f487bed27b53cd84bbc984a233cf087da6e714181b5a016435751d7f7b1ebba10e7fbcf43028f022d8858b660a687e683c52e7139b9ea72ab6a95160abe03772fda4116f62808d9d61c25be94f1924f31f17abb34321c49232137912f1d9a4f0a633b292fb2ec7c0878e060be161b4a6571e12f5e95a9d490c15009d9ffd26d702818100c7f652730125870f9750bc5430f39e8bbf66b2d8ec4b3f33dba050b06349f62c68808773e923cb7f508c9677855691d43d0e004f7fa8fbcb63cde1a1db7e958e869b0a644c0c9fc512f38aaa92116b37cc527c7ffeda076c47b1a8004ecd0ee4551a9fa7662d27e44960114f3e42ff5de15ae3a7d18177792081dd144d250c9b0281800d5b8cf4fa7fad6e5ec3b75714f56e454ee4b898488636253f365292302b919c4eaa73abf32589589df34d96196373e445c7519024a41a059f4cc8813b62582513edee75e32f9a8cca564fa703072099974d37b7e726e512076240eee3ff3b9f59b4e1405e304401246681b60c6dc5ec803dc8535e97f09798ed5cc73f8218a902818022527c6a730aeef8d51f2d8441f6bf02fbb2740659e0bc937922365760638496b0c546fab54cc8942cce44d175189be55329811224366c29c812c1a4d7990db0ae18149b8c962a22589366fcca1fa548a9908b00294d6132cbc789afabd6f4b46a8b2c563e6a87cb5e70d7e7c3271ad0116b596227cad227ff556b0e1e03bafb0281800a6cea1e04c32597597bd18db5f5c781a73eceaa330830e031eb535c6ce08ef3db4bc37e5b382fe34342ba6f242dcf632d189603cfa41d81a10b7f94a4ac1d9e62d40cecdc342c95ef3deaddf147b175673cef2fda9035809a94c52eabb52c348e13fb91025b8b6e3ce721809a6dec9cc510a529e0bff8cf8ce4ea78b5073326]\n\n# tcId = 63\n# edge case for montgomery reduction with special primes\nct = bf00ce8851532bb7cb0574acfa4f8992e37ececd04364f3d920a4bbf8b17523d967854dd28291c9adb51760356f24b8694995cad1f91fdd3c738b307b36f27f95d185fc331f5d614a4238f3f2157c1ae3a91bf6c5ac632259f2eff08f7bcffbfa6351bffaeb91ceedca6779b5c82e07b4ea2791196ced821793332ea313dfaa5c064eb5e8f71de0ad1cdf680fec6a5617fcf970cc4eeac5ff017009400944997e8c36b1ab87a08545b027480815b78fd04ee3bd8daa31460246e9e258b31243ddae72fa770ac0fff907a6e99622b7b936529137a5b96b43562037459e5dff9abb3bfa7b4fb9d57a9345d86a72ea636fda36ee36eb913677c494bab01042b982c\nmsg = 4947c8c3306ed0cc1841318746a17078557b686f0dc45c6289e02ef4c595b5d0c2c92d7cab1e93ce0e1470a2a5e116e4a49de188c149bcebebfe669ba256d64fadab70fd7e36734eaf10b90f7b4a5004c04ada14a0ef75c0f25a3094010d2b43d5c023\nresult = valid\n\n[d = 00877c32fdfb22d2dc7734329699ff43fc901b7ca0a7a25575eb58c88a1e3838df3b679af332f97074dbaa1bc4606e513efdfbade07435e113fd956eedb2d24c105c9167376028cca63892d00c31dda66e1dcd627483a472fc8b905413b9014e21a52c90d1c7c0c4b2f7dfa2cfb583c7a5e4603f548f98720a99cc11d03b2c6abec41d4ab1a6e4f73f394ef46213fcade3131ef85b004", + "fca291fa2ebd0d9ffe3e8cf5071a524f863df26369c22b38eacecdc784dd65e20d356a6e20de033c481ebe1c5cd42366ac83c26caf73875e628875c925de9c3939bd7f912bfded876393b1f6a314447a96bbc4cfe3c01443a2a9de7121023ee025194f5a20cb768591a01]\n[e = 010001]\n[keysize = 2048]\n[n = 00cc890f82986e18c35e18a2ea354bd2c7e88dca9f0e1981497b31342b893992a49f36380fbe9829995e9aec1b3ec88dfbcbfb11bd2a00140f8f6647c5e3bdda527799ef0571f45427f10d2463ee096fda48c41085d3a90bf7072d06fb7a3d2286cd10255a82a52452ea3e61e2d8e35eff9f6b831b48f09b522df104f48ac58f76cd241b9fddc042e7683774117808681693536600e1cd3035dcf6ec30a6bdf659b15e0417c3bfc4c9a591f2f858081df1243477d41812a6ac74bc4fbb6485b18aaf6a00c32593751a527723b4802d318038698de9063818044cca1b035b8800193fed71d3c38ed3296fddb336552b68d380d1214b13a1c86e6f687bd37e5fd22b]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100cc890f82986e18c35e18a2ea354bd2c7e88dca9f0e1981497b31342b893992a49f36380fbe9829995e9aec1b3ec88dfbcbfb11bd2a00140f8f6647c5e3bdda527799ef0571f45427f10d2463ee096fda48c41085d3a90bf7072d06fb7a3d2286cd10255a82a52452ea3e61e2d8e35eff9f6b831b48f09b522df104f48ac58f76cd241b9fddc042e7683774117808681693536600e1cd3035dcf6ec30a6bdf659b15e0417c3bfc4c9a591f2f858081df1243477d41812a6ac74bc4fbb6485b18aaf6a00c32593751a527723b4802d318038698de9063818044cca1b035b8800193fed71d3c38ed3296fddb336552b68d380d1214b13a1c86e6f687bd37e5fd22b02030100010282010100877c32fdfb22d2dc7734329699ff43fc901b7ca0a7a25575eb58c88a1e3838df3b679af332f97074dbaa1bc4606e513efdfbade07435e113fd956eedb2d24c105c9167376028cca63892d00c31dda66e1dcd627483a472fc8b905413b9014e21a52c90d1c7c0c4b2f7dfa2cfb583c7a5e4603f548f98720a99cc11d03b2c6abec41d4ab1a6e4f73f394ef46213fcade3131ef85b004fca291fa2ebd0d9ffe3e8cf5071a524f863df26369c22b38eacecdc784dd65e20d356a6e20de033c481ebe1c5cd42366ac83c26caf73875e628875c925de9c3939bd7f912bfded876393b1f6a314447a96bbc4cfe3c01443a2a9de7121023ee025194f5a20cb768591a0102818100ea90923ad1a16d8f5704bdfd34a7f059941112c391f656b750f6c9ca1d916397ebcc33f48c300a9d001071caf00d33f80cf0ae3efd899c6443e6cdb9214d9dfb209e088163e75dd7582d3639df75d9cf113eb42bc61f7e90ebd9a619deb41c76d5728f3134d4564142e166f46313f1a7492f23d207fc2d8fa15cc7a01f24214102818100df39faf40d3cbaf2aed2d0f69c67b2bbb19e7c81bc90306918471d1e406cac8ed9969e8bdc80be72502176d68ea1f6016ecaf4d3b4ce24ea76762325fd1680345e5c5b77ba4888b9d7d4fd85af16e20cc922b8bd2bbb49f6373236ddc939063ae276d2fb4a3812de74047a1d9259fd877e2329920f4424585bb27afdc61eec6b02818100cc97db2438b2d00825c37a1fbfecf7a47a94c5c415ad4307d433dde05017ff4184a7716dcd551dfcc11096e086af4d73ff7d72ce7880ae0b7a7a775811e74c73bd887a2cb9c215c4fe21395a13420d0022af89a160c719b33834783fba53693c7182e1c8eea682b19baf5508b6deaf79d548abbac7c23acf3bd4dc3e1acb7dc102818054bbe08bb55ea1242fc26c79c02308d0807ac58e45b281fdd2ae63da30e04f9c25f22b9ab187d942f131d2b75d0b13a3b597aad995df4e5a05bf9056023d014b5faa353a3c66fe27754b2f3508a26a0a2a6b58aece23d8ce7263483a66009461d3c7010d4c3dfec39c4c7ac230e4a1fd459f394f6d261399caacf44cd260b8a30281804f8c1d61e059c9920e68544adc7e028f8f05933b4f49cec1614999d120450198bef26bdde1099bffc5316baef331c2b3d854e42a2f18858735641952104847cbbce742c8a6b9238143af4b27cb8ca4ef931f5509f2bca875397edfabdd2263e0867303dbdfbfac683a10c42d76184f320c469ab0f680a83797684b61026b93df]\n\n# tcId = 64\n# edge case for montgomery reduction with special primes\nct = cc890f82986e18c35e18a2ea354bd2c7e88dca9f0e1981497b31342b893992a49f36380fbe9829995e9aec1b3ec88dfbcbfb11bd2a00140f8f6647c5e3bdda527799ef0571f45427f10d2463ee096fda48c41085d3a90bf7072d06fb7a3d2286cd10255a82a52452ea3e61e2d8e35eff9f6b831b48f09b522df104f48ac58f76cc241b9fddc042e7683774117808681693536600e1cd3035dcf6ec30a6bdf659b15e0417c3bfc4c9a591f2f858081df1243477d41812a6ac74bc4fbb6485b18aaf6a00c32593751a527723b4802d318038698de9063818044cca1b035b8800193fed71d3c38ed3296fddb336552b68d380d1214b13a1c86e6f687bd37e5fd22c\nmsg = 841ee52c94cac3dda367429494b2a07274e19f7f9567bceae1a940df892b8e44c7c86bdcc6ea7232774ee2195b19bfe932a88c12401c06fe0b865583d989ed3236fdb18264499a36b6ae6ba1bfc68b8220a0e3fa2f8221bb3e72e267115469c8648b5ec81d04393f8357daea9b849b95d2707a3b13e4e27a5be8e75e803f41b081c7accae863211f5357a4c81c\nresult = valid\n\n[d = 355d71fce2f312b7c53d7911d7fbdcd976ddb3d5809691d3031e2d4656b7b48545bd7b265aca5f9779e2c332e70d592904b9e0caf2a8c8aa87b9dd8d88ac9ec370a637399688c62bf63ae41d87e493820cfe30144b7f8f7f6cb3c88b00a907be37190398927353a005a1a821edc644ecbd9ebe67c2993d9575d88c45ead2251e270a28bf017051d8a4248d76172b65c51728c23b56a8eb3e8c24dfc35b05675314f4a6e808411ec2564969d7e1a23b10277937f3e4cb06a338691d26677927f6a67e5334bccabd309fabc851b5c55999c160300ee10511656561fa98c0ec5b2dec78491319862664bed347bef461b5fa7c5e53859bc36c440a47f39a63203d01]\n[e = 010001]\n[keysize = 2048]\n[n = 00b519563f7b707c6e9b89342aa5314536c521dd78877a3307b372f617622cb06c84626ca4e09e92cb869acaa07b04e18ae51a2935eb0d4cd29ddb96e5fea661c6f038859e31a96bcebefa32cd77dcbb2817c20774ce6badb1795c8b1e73a555921e6cf2726663576d9075af06dd89795bdf10b3f1973cdfbe81fd0f09d9b7aca821e3f403bbf517982d39f1a3411814a24f72d02f96a545cd0e0297ed88f3603cecc340adb01e2b35f9b7d8c2e4fa04e22122e5931cec5a12a3e0b93ca623a7d1a337c2bf6faf6ac17c0480a2b7e922dd99ee44297c5c085f044a92865429696387768e1ac55b0acd5bf312fe10279d3e7277f11c46ebf161feba67aeb49b103f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100b519563f7b707c6e9b89342aa5314536c521dd78877a3307b372f617622cb06c84626ca4e09e92cb869acaa07b04e18ae51a2935eb0d4cd29ddb96e5fea661c6f038859e31a96bcebefa32cd77dcbb2817c20774ce6badb1795c8b1e73a555921e6cf2726663576d9075af06dd89795bdf10b3f1973cdfbe81fd0f09d9b7aca821e3f403bbf517982d39f1a3411814a24f72d02f96a545cd0e0297ed88f3603cecc340adb01e2b35f9b7d8c2e4fa04e22122e5931cec5a12a3e0b93ca623a7d1a337c2bf6faf6ac17c0480a2b7e922dd99ee44297c5c085f044a92865429696387768e1ac55b0acd5bf312fe10279d3e7277f11c46ebf161feba67aeb49b103f020301000102820100355d71fce2f312b7c53d7911d7fbdcd976ddb3d5809691d3031e2d4656b7b48545bd7b265aca5f9779e2c332e70d592904b9e0caf2a8c8aa87b9dd8d88ac9ec370a637399688c62bf63ae41d87e493820cfe30144b7f8f7f6cb3c88b00a907be37190398927353a005a1a821edc644ecbd9ebe67c2993d9575d88c45ead2251e270a28bf017051d8a4248d76172b65c51728c23b56a8eb3e8c24dfc35b05675314f4a6e808411ec2564969d7e1a23b10277937f3e4cb06a338691d26677927f6a67e5334bccabd309fabc851b5c55999c160300ee10511656561fa98c0ec5b2dec78491319862664bed347bef461b5fa7c5e53859bc36c440a47f39a63203d0102818100e9cffe9f3b702d03ee7c25703f1314b2647963de2da16f2c7966d3ebc18fea929f28cb7a55f576d9c3a5a2513087a439d74cae037a965a31832b87188d3ce71a2000f54b983956c8e6827e854d21b4c37eb3948f6801895319b1cf51e020dbb7883bf15164f1499696feda88eb0b6d75877deec33da2390e9976d698a6d9b0c902818100c648c5f9422c0127928e7a9cfe9b345185d53e06d8bbb35201cae7bdfa2ceb7a6b31bcb88f4617c995feb2b71ec8f4e1854fc17639c970bcdf37fc46654305a690b8e6a6bea726e8b7ea40edb886532d7944a2ad2763cbe612cc170d7ca95fb90ba90a806190252dcac94a3e79ba45e4abde0391769c1e750834f5cd00e384c702818100cb766a369a7ca54f948a87f1c391912323f7d68612e33661574bba02a02fe28ab0e1c91fae09aae11935dba81739121a1b56e8deb220806031ab0126c65147321ec376b1cfc7a5d3b173c131b2cb3008270b92adb06e15d830b5e09979165edcb93aa0669a16b658cb10ff8ec22af197a2ce5da59ccebc240e3bb1c6a8fb2ab102818051a7f48792bda678127dc476d4cf3bbb7adef75d40720405f8a103d093af5e061b10ef841dd4a2c52c95282a0b6e7c924721322daadc8f25e8d3187c310569d54f7225e2734f48d1bbb3a7ab7e3b2b13e605e2ec65f54e29e081d5d8830709599e38ae0f729e370165aa817dbb097ff10cea3013fe818a756dbcc9a0f405be4f0281806011e90bcbdc97ec1d0d43992f8830d4bda5922997eec843a9ed14f80f83d0a0afad3cc320108cae02e4010403b31650c26af431563f0821858c5da0095a9813c45c11bbf2a43bfc36ebd036cd4548f406a933235a5ea71aabe29ca536c5d8a37fd1310b43f0e1bcec13bba1d6a9968c718bf974f5b73ccbd808d1248c8f5cae]\n\n# tcId = 65\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000\nmsg = a3b94a63d4937de4bf024bce52957cd9af5efb3b0defef908d5f2ce35941b10168128951a1c5093dcdcebaa0622fdfc1e481daac4ce5675ed6690cec5f8ef20305185ed5b61db798e7a13626831fa9\nresult = valid\n\n", +}; +static const size_t kLen139 = 242948; + +static const char *kData139[] = { + "# Imported from Wycheproof's rsa_pkcs1_3072_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[d = 0501205bd17b88d0d6626dd0fec898a0fd7f68f8dddcc314f74d167c40495b958a87e4ed63202e6ac68f4f4f4b88e3ec7a07d85757a7458468b766aad9a40f77337855408b28d140e75c2e6b3604ea8907bbd7f8e9578c2400ae645d28e2deef8bf718e29cf12fccb92fef9869f43aee5bd6adc223848d169cd6c27c2766652766ff81993b3e015a553decee0ffdc1624f39f8d96b6ed5d95047c1570b59fa2eb3d688dd5e14acc9407b8094f18b4694244eb1adcd655d873f57ff9af6e4fec470be236baf3b20c2040ab360d759c8b4e618bf8bd4e0ec6698f1b72c7160ed0521c82b5176b60fb63503d0ae23f6e2fb7a609305b0af62150b921ac53f4de899666cb01db0c9d8b650753015c1b6e682e6bf38204e59f7409c3808c0e53f254935540a381a963c2c1a77c6f987f06a07a0572686ed22882dbc82e7823cec080a58d72b09d00cc1d245cf158ff49cc40599d3af719dc301b4aa7f5b03629ae853e9daabe284db86d5c41d0401143df2b4593ef4e3747209c523f5a7f80f02d011]\n[e = 010001]\n[keysize = 3072]\n[n = 00dc8f7880672f0cf9d63617a8a58bdd271a109badda0fa826f94b8a795526b6a49a80564ccaba8a9491a935a53edeae1d9a7b5463d9e2ef3ee0ce7bff5d4b6c8147b5c073c2f220515d531d55a36687a6de3c34775c2f15191ac0a742d7342228c8d910fe6bbca439539c485debcbd0ee0e4bae317503b83cee8100ac7bb4587467cbc4373c4bda2eedf7c41631e50922b580f5bce81d24b208cabcd2d75fcfe99f75b493dffc5c9bd990f7fc3bf2efe392fecae36f3e4ef4456c1b5de99cc7451733a910b6834b61ec29274d986be3752c350b13a327dabc08dfcf6565499ad26e853446633eadb2970ca95bcf6bf05ffdbc2a804378d76985a71f06f90979f9fef716c36aa625a45b5eedf50825a53e9d9435b23caab9e5c64d38fd3a767e185ad7727d6e15f9e9bab2f4184d6487695db9a2698c672b2e823410dbef1d93fe40c9d357ee9fc77f849de11363f583af8ccf5181ca1aeb944c422516cb401e950923e4bd881439fa1093c77582bfe1ac5993674700b6434339e0245315d86fcb]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100dc8f7880672f0cf9d63617a8a58bdd271a109badda0fa826f94b8a795526b6a49a80564ccaba8a9491a935a53edeae1d9a7b5463d9e2ef3ee0ce7bff5d4b6c8147b5c073c2f220515d531d55a36687a6de3c34775c2f15191ac0a742d7342228c8d910fe6bbca439539c485debcbd0ee0e4bae317503b83cee8100ac7bb4587467cbc4373c4bda2eedf7c41631e50922b580f5bce81d24b208cabcd2d75fcfe99f75b493dffc5c9bd990f7fc3bf2efe392fecae36f3e4ef4456c1b5de99cc7451733a910b6834b61ec29274d986be3752c350b13a327dabc08dfcf6565499ad26e853446633eadb2970ca95bcf6bf05ffdbc2a804378d76985a71f06f90979f9fef716c36aa625a45b5eedf50825a53e9d9435b23caab9e5c64d38fd3a767e185ad7727d6e15f9e9bab2f4184d6487695db9a2698c672b2e823410dbef1d93fe40c9d357ee9fc77f849de11363f583af8ccf5181ca1aeb944c422516cb401e950923e4bd881439fa1093c77582bfe1ac5993674700b6434339e0245315d86fcb0203010001028201800501205bd17b88d0d6626dd0fec898a0fd7f68f8dddcc314f74d167c40495b958a87e4ed63202e6ac68f4f4f4b88e3ec7a07d85757a7458468b766aad9a40f77337855408b28d140e75c2e6b3604ea8907bbd7f8e9578c2400ae645d28e2deef8bf718e29cf12fccb92fef9869f43aee5bd6adc223848d169cd6c27c2766652766ff81993b3e015a553decee0ffdc1624f39f8d96b6ed5d95047c1570b59fa2eb3d688dd5e14acc9407b8094f18b4694244eb1adcd655d873f57ff9af6e4fec470be236baf3b20c2040ab360d759c8b4e618bf8bd4e0ec6698f1b72c7160ed0521c82b5176b60fb63503d0ae23f6e2fb7a609305b0af62150b921ac53f4de899666cb01db0c9d8b650753015c1b6e682e6bf38204e59f7409c3808c0e53f254935540a381a963c2c1a77c6f987f06a07a0572686ed22882dbc82e7823cec080a58d72b09d00cc1d245cf158ff49cc40599d3af719dc301b4aa7f5b03629ae853e9daabe284db86d5c41d0401143df2b4593ef4e3747209c523f5a7f80f02d0110281c100fec6a10bfc49b58a2c850eafebdb997649a95575a0c17631b011cb20d7a320232a815b9af6040d7bf23d267e5e06304c33e04c85e6d481442f010a9758ba08364a70035ef99e9c98eeb431505b2afb6779d1c91d0ea2fb0a65dc391e79ecda7d52fd7dd69923b25dfae448cace829ebaca6b3c8a3cb64a81800614434895778c20d629b125b69f42945f66b644f3840bcfa6fce361074256c50863ecca2ce756b4a9fb7e993d0f1fa48b2cc485b7eaa61405fbef150e7563c2150811767de0f90281c100dd9ec1cee6d8a971b166902c44a4f02ef37a62053b41288a1d873d399cbc9e7bd306ed906487da2f49bc1c1809c0d4d88106d6879518ed925feb66aad5ff3c2b83466c554ed97b96abef55b3b02314f50d0385a0a1d8a46ae03e8fce91b412120f0a10dc681570fa564b6873bacd997b616b2bd7733fb723ade23bc1089da32e509583436f1e3448b579fb21b240620d20458d08f0f995abacc0a398f0ab6a67c9f5bcf7e032fb1d668fe698d80327599ae3fdf3aaaab19baf17639443194be30281c100f1bfb40cd56573971acb5eb65b0cd2bf4502228f2ceca5a45c37661151cbfdb0a0a28233b600fe727fd6ba71e9f1e15e4d53260960907fe01ce1d614ea220bacc8512541b786637d51f3355fd44222af7b0e2ed11d9454b4f7165234b2e8a62188dff3c9ef21ca1c16f70a833615075ca2b9c28641398fd4f58fcf2650f752aa6a760cb584dd969cec80e1cb4dfdeb6bf1abb80661892bcf7dc28a5ea3309c8acf7f039e8af53f267d517a3737d2de1a9ca158fef171f8bda1e9a6f03b0912b10281c03e3c2ae8d362dc9294e2dc71d2050f7ddfd9ea54d5c3028366af67be1a09cde7afe72e277253c42dab632bf0842ca698f602d993d186e2904c676ab966c6fa3aadeec4d560032af5b0ead10258e0412e5fad31855e6ddc1e3742da57840b3157e8e946bade6fc6fe45e57f3ba0a5c40825df56bc761cda6d2693757c4bd318d414c527cb7414e351d7c49d8564ed379bc0084806cec50806e1c86728b7cd2b606212a43267bf694d6453dcc9e73f5b798a49a4331d263a2222154b5d834a43490281c018cc971e9186f86c144d140ceabbc9ae22c94e8d8575356fb6a4a033991ef210bafa39a4cd1abfa99b332fde9e56955af179459a7236a700b7fd1d88093906f6130ae7ca9742d9ed0d5c63e6a9e9b43df4d8b261c12d2c2f9148bc0669f165b8b881879c3ed58d4a6cd5a3f1193e9abd2784609c01fb9094c7c822532ad7aec2a08aee9e263095ad0426455cb59258c7fd3731ca89dee31800d191ed7249721c25266650c46dcbfbae3070604d2e009914a2e269a01bafa5bdf8bba31c4f3b60]\n\n# tcId = 1\nct = 142b27c795e6d7451db575c90a38488757a5c07760ce10e23a1eeeaa20a08ef14cc07e3ee757c45e309075f7261ee35af580a72c06dc6b0446233687592e838b1220816fc578bf0ccae6977aeddb03fb2c0b5112334acae93f64026afa503d8707faa9989c2176c59a1ec2ff6b6308593c85c11d94a9da2fad66c860fc248f066574fee8b0d82fdc684d8eabbeeffc55c3897099415d99c5d1598cc3ff335bf494c8fd36f234a20566c0d35e3bac56082fc6a81b8cba2c99c47d1d372481ec23f35b62a6469cc42f4d349eea52f7f08a63898da4207e3104efcf81de2ab1e33cd243769bec34df4a4e7cac1c4be4073694bd56170dde8c4e12f85d2f02df12e9936d2990d4a6c490ae0cf6c3bad313f3a477db67332319eeb5932e9d1e1321dff28a866e939fe50626342e141854081981f388489a962f38220ff14a686fa111a5b236eaa4eaf6d3fbd54f93fe744e2767a815adb0c43e947360a149fbf75469957dc3ab8dac091f6339402620424b9cff8324e2a35a5a2b765897ed6e8b2542\nmsg = \nresult = valid\n\n# tcId = 2\nct = b5d5116431fc78c12ee663635c9e9c32ceb91a18a9af36ea63e7e6b647e17a981741279957fe4f0bf08288082fd4c1b6b09a805ebfd229396eab3689b5bb2b686ea39637ec69c1b8142c7033c271c9cae9abfc14f8107a8a2d57984ff2a45c70b276167ac8c92a070c718bca9a1a274258fc385a62faa02e8f15167f9e825c6ad7e2358566f79f6641c6e959e3b898ac780e369f43739321906cae687a9d229f9c86fdb01cbf061dd3c53f8d0c950d4226e7c58a66b310e197e757db3516db2388fbee4e4cf16d12bb2786607617e6f6c4b86b26d36efac63fad1dc561b91b66122d9600124e03b18ca58da78f30ab0c31c5c7f4bc059ce65dba182afdaa788cbbdc3bf8d48b7972c5400f14d3d460d329e0ac60ccf96b3c1d5e4ea9f763565322a110de5569fb74b6cd44de2a5777e23c681f3f769afa961c42782dd2e56e22b4af1c777b87a15df1f6cb48b6a39f7396068fe40168c4dcbd3cce69daaed21554a3b15a2ee62974b112733ecd4f78ac4a05c63eb759842f4503a950bc7654df\nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 63b63f6eb3fd2322a6c85ed16318932e83f32535b3ec2527fb41dcc865bc44690554467655034ad33aa0fa993788e80654ab0e0174f8dd238ad68c3bc194f390dd38d26408778774848c49a6a606e7fb1b3bfbf5f19db4d4d1ba2db43fefb9a9bac311f2e1fc1ab4f5ddc00a009b9dc435448f250a648b206fe764505805c9bed1729d5bfeaa4fddafc115d281703fab0e79726d5546fa698a45ca6e5e561b8c2964b2da01914f808a498ab77672eda3432ed9974f0a06d320ff87a4222899f893a6cb6abf13d7e56cce2ee7eae67fc26f2274b63ce8301c721d7195158b6c966b8d36e3cff0aec6f218b0fa6d8490493471ee0f08b840b6cdcbb73a164246864de0f35565bbebe51585819e42a425090479537ed67f98236415e6ad3ca81116beb91db802dfb3f9da733f86cb6fa90904c8a382afcbf6162f0d89ee04973f2d26659325f7f00a4ae9e800de6aa27b6c94b9d57791658eb0714b7cba5466ecfe44bd5803647c3825b58c37187311a8b11399f53a877c265da82493a90869e376\nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 072c9fb5c97732ddebad895eea7af5ae193a6cebe74a46cc2f911ddf31ea5a90fe7052861a520c8d8a2680b942eadf644933ac12d3f4e13390d0905808e2d4e7f29b3138ef7f50b360266833fb3ebbf3db0dfd33642b710899472500528a49b3d8d036671038820ede3a46709f7c64114e74c50f81f52ce4eeed74403ec9ed4fef6fb7cd788f8793b9951c1be5e075dfc1c53172dce2ec8c6ebebc3cae300beff7b551", + "df0a11913f0a3aaedd59ed70d3308a3a04cb1f656edf2829c8c3d1de7530ce5db7ca1bc5d0e7d3830c77871b6af589b5db87d3d6e8f02c0954a14cb1ad4a79481ab124674acac340e0fb20dc6682c3db4039d2e15371807686b260cb093354e9e1b1793b86aa087455b54ad5ddbc9fc6a5b2b8f786fbd70c7998f55114adf9908a3259f51f31f228741ae5e7ed598000d8171f9c3fc1f24cdae7c6947c8d612d3918f4c7b01682e33633cab0875a83a779bc211d0c8c6c189af12c93716003a86ff7c5ce00a6d43cb37d9f467dff17156039f50c5a3c811f0f0b8be025\nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 0dfa0e455f2b30f23b868ebe95dc8008664d18f0a00da3612c045138c4ca44ae8d8bfc050f377f1995ce2084e7320bb75c763d95219f4fc11d9a3af128e9c369cec5ed19d52af27fd8e4a462b39c645c4b7b8534bdf7e2d5e2e7cb99a4bbd5713c3401fb1dc3dbe2f851a5fb655e3289d0592367c0518ad0dec38eb84c3a7f2400d3b53d9439b7fdfb42a8320a5617ad83366787cacb3644294a1a98deb09cf2dfc626889f5824b71d20b1a95b7b984760cd1f382a472d6025644770176390b8f38bebce8f28b68944eda8e5c6e99c694055456448f0df0136e7e4e881f1a6b73c642047327a6ce3966cc7d3124434191b09a0f6636e2346e234943cabefd18418a60da871c77a858551699583ec8c30516a28ce4f62a779d0f468f2efdb5fa60a4c647e62f045bd56f6df1564c5c2f112ad050a5bfd411396cfff1bd9618529efd92a62735e01c324da2ba4be1d3f450c2d37b7913bb809874bdbc0081397dd55f93716606a00001b25563f413d0c4b9c2b81efe320d9478bdb65fb3be9d268\nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 740486caac4d0038274e7627da5325320682e610bd678923158c7e23ce3d430e6bb0fc1063fcd84cbcb2415ac32128a0e506b2f95899dfc67c2955514d8e0b0e4d84077b869b5f4d13eaf96242a0925692ff69c752190082b813bb9dda83907e1d6c4733af31e00847e856c8d68445fd2021d982a0ed9165db69933f50acae667a5121672294ce4c534479590a9f4425a8fc7c0cdb8abfdbb290c71b4379cf7e7cd959f4557b2aa61e185e95699345aa4010d67efe3891094d5c0ad2310f1884111f4aa0d33cc1a4fa494c5a744c10c307069377c848e7042ec1581f0dce3fb7febd7d347c5abbce2ed3d2ec085644fb661d15ad8aa041a375ccc77c9e01dd47e300324738db555201506ff60fbf6c12a82f6acdf7396fe38e4692d1fbc9d86887709f81697676b0f45d57379dab3409b173827a6619572dd8e168b991d6f9f6b996453544032e097c28c320ee2072d5aa9582cdba70f40ee2aa58b0933896e6c27b0933268cc577ff5f6e9e6a7591b73dea4c6ee24fcc365bb7688eb786fd3d\nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 7f56c9312bee49fb2d93924c4be0ddc552ba918b292938136752bdced1074ce61b0af9f1cdea7dc572ceab2ae61510304ec9674175bf1f5fcbb78d466d1b8454f02c54d11e93153b9871842378a584722a5e85aa229a4c7a4399eb598f11bb931ea97d385a75627dd6698dd9255e77bd09d49b0453f2b2f7850dfea6f48ad7dbd64f046d656b0414da4e840059dbbebd27fb71c819a953440bd4bd7668953274cbedddf83dac7dea1422a6065cf4933beee13b7bf20c95ac07525f94ee38ead3809fc9eb8e4ae71ad57f72f7e8d6969aafbf8700c99f6363362dbeb0fd864c554f9a1d3cfeed9e8a94cad44a88427f856707c9f674aa2e2d29b075e246207bd692ef638c556ce50673823f5e0947845cee31ef97c1c92111d3121c7565cee925182c32ae3082ec1b0de1d6d85b61773f1b4a61a41f356f972e1358c71ea7bf9d984f603d3b69bfe0f0e995e38ef5f81f10c9e7d759eac65b7349a91b67105e30193c9491b137186bb834b8cd34171dd2b1cc4c5e923d9b29ef011937b9c59c8d\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\n# Longest valid message size\nct = 74b3f849a2957b53827ae1eadedf9fa29dd46c3705340afae5b18a4154efc6f2ec1705029383be4af5ce9140fdc315e8ac5d50e6537a470c0cdf0be4a66be30adef9c32e2caf8351b695c2e51ba0b1ef2dc466d0cee3c79bd95a8513f2241b3d82b8e0638d88f4b370ef17e0ac2fce14a626a34ce60b3e3f26ca01d26264ad1d577ea960c3eb57aa2f5cfe3a49f21fc081cf980fa5f433366a7fea9fc9aeff4441a86db59c8694b253d0bc35cd21332698a9358739b6a7524ee7228d89dfb0dbacc1e237b50bacf8c1d3f10586b68dd79303a37e2d0b6164f22a8f67cf0a39c4f66a4548df06353c4d2117691b1a2cff393a0ac9783d2370f52d7e6e8bd25bec8c193d1b4984bebfa72ba46c11d999094d0a5ab0a78196a6742c560291b79af6cb29a8e2504b5114411b8d83161c522c4a584b43603e47afb09500e82ed6d6a746e529742e50095ca9a8344572002881819b2cb50fa301f3b4d0a2b98c8f4e817d53dbbda8ef8487bdac3eb46ac4dda2eb7d1e9d08e782075669436bf5c094c7\nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 9\n# ps is all 0\nct = 88a6584754ad31f28a05575dd809be25231d078d1c1e46b7240c1c402645b710eb2d2bc189dbc16d82d9ad7bc5cc1df3318fc31bae54d88b25819f2b417f4da85dd11330cb8ba58bbf766bfe421af84f2b55a298ca0873fbc72317748c0437cf1416fae4bfb73a6ff973f62115d3cdc71d81a4cfb73afda00fcede7b586599efdc3aeb5e9ad6e816c0a39440629b8547163ac01340381607cbadbc93fd3e24a627a7b88d9d09dff135d22ec923af52d0dbdbe37f57956719b552ebd15803525b0d6509841fc3b35e8c564945f6ebffcbd96b4f34bcf4ff9120fce1c363dad2cefc2a83d427f47bf29968260380e47ff34e87ef9e2d9004a68641fa0ef26ae3a66a423097b16d4b82e8614cded1ebc68e7629c11eff3c9331d22adfe184bf4881691fa80d32790669d832c858c97149c47124c8ffc7fb55376546b7d9f173c51b899a156c7d4d5d8d0aa8d3b5ce2624cd24fe34fed4bd57b08a4c464f719bf67327fae5805d719276d3671b0cfdf7f05bf0772dfe1c830ff8f091ed49e73f60c8\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 10\n# ps is all 1\nct = c2459fbb04d640477c76958c8d5cb949ac552d188502553f01e6b3ec654bc70c55045b0184006936a69fc7dfd6684422c54463c8ded5be163f3392302834954c91852525e1beb096059465e6c261de5afca752cada74922debfc771bd0b99a5770f9a80d4b76e8558ea8ec6c8aa5cc28fdc3f049f5e38d99f2899d59d9b5ed6ead7581e991c56f8f6f1edf16881dcb7b29fb00a8566f0dcff5a1fa99ea2f6e4264545ec11da7762117ab938e3d906ee20c114cc35778753d96a89ca3e025efcb20215b6e983b9446e559831c4b5c06791e282d03bb303b9956bf3d90cf717e2117a45718edd2591d67dccc8405a3484c1633f0c7281d8c2605d9d2da7ccbe0d992c12c8bc54f30aadcc65ebb4fbbb27ac39571bde40631f8abd579c2c2a444b088a0bd112fb6b9ce010489e8561f6d411adb9cf2758b8874adfd0bc90eff1652f7ef9c6b810dd90a1ab591275605f9b658273d2edd513bffb5be5fd681a2b1f50d6dddc9b9b3f39d59d407d0710a712b3e6f3ac2a74c310caac45827c7ae241e\nmsg = 54657374\nresult = valid\n\n# tcId = 11\n# rsa_sslv23_padding\nct = 389edb8f7af2a7234657b851306c9f2443b9302403fea9ca9ce8b4e7a246dd2bafd4d669f34d409d04677dc5a64c42aeb834a324c9acb7f13604959422703274a686f8f39825f220173135cf4b6f32a97077f037cc7667ea02455f56891f98845be33b2e1a08062faed9ade751f5fa1b4a0d387fdf6be0db76f6525f924fec655cf8db49ff7e49a10f0facb52909bfc467b3ef4dda4ee287f681fb4678bf7f77545b7e8e168dd8202b464ffad10efe93350b6b125bd9153d9610dd3e7d9856392a9cd93ed9f77c6531e445383d0269bbff5a28524d29513f21ed2eb452456723606014c031722ec8a4768e2c17c609a337b0b9e992bdc43e6c49a20b834f8c93d7806949c32f281293393163a7ea5f83437c647dd29ef663b1c748304bdb663923b1cbc1c50ed4c1f5cef5c2f9b97d735500772dee60b5dcc2bcf925b2b815571dda26024d835dd99813ff469e5defc2a5f86da2049924ada57d2d811acdba5f8c0f7513b9fae73a5856de97fe8cc2471a06284075dcf00d3fb57a938c7dccbb\nmsg = 54657374\nresult = valid\n\n# tcId = 12\n# byte 0 of ps is 0\nct = d723aaad7aed7fe22277d057c70113531122781e8e46cecd035a9d26e980a771653d780cbb21d70db01aadc4a8b13b51380cc015326f5655e4acd5fb8e6175999efea729f0e1ddeb0369aace87d73d2d6c97edf3e65ac51a4b0edd0ff0bf10215cbf084ee7b463042f440b164e1e0d725651c2d79ae8e853bda5a0c656fb6999560b0734ad2f831d35b864e9ceda47dec6f6a675d33bf9412fde2432fa3aaf4a3278005f70838e7ea045097eee942e93c23f1bcc67bf383d47b8c98c7f7fbad6472745245266657de351cbf7b268e093bfd3eaf75c00da99873884f5c048a50348f99554c6a4c2f5e87f4c791764a09aa7e87a8f6e706cd18a6435b756f448fd903990e3b8edfd88a511eae5facdbf0db75ff279bb648b21517de4d306131552011c218ad28eb8e650424582b4ff49b47545f95101f6e0c100c795ebafac15a386a40200433f023d633b45c5b16a0727bf56488934a6328a352793a39d3b1d77b1a670ef6d02c76cd16e056740be323de03dd09d2ba30c913f289d312dd5925e\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 13\n# byte 1 of ps is 0\nct = 5b68c3c463fd8ffeda06c09fddccbc5284017f753ff81e1db255ecc8c32b7c11e7f92ddc170fd578f6d0e8218acd1b04bbf5bf540c1167984dc63abbc5799284a7c28a20ce4f6b95e142571f57198a6b0bb9488f455fbea076e520853b92e848bd", + "1d29bb0581b6b5eb56ce839fc1c1afde7815d075f5da520443fe6d5d4d03ffaa029736d703457cb73e3769f6d9b70bb22d340886e088ae8356501b58ae6b6167bb0a29b9065305ac7228a07279a2f9787742991cb9c136ba53c569615a74f323526165ba73c340b041b97bb13c129bfeae795cca3dac7a1dcb30874c1b298056bf231f5bdb6419f5eb436ffc1f3101dae12428ee5ed02a4e72a4e7db60caf26b7fa4dcd4e8d0e663ce66569364d058db26c29588011543fc8c72995d325235eb4d3a6f85e1d74ab16cb3166409d3aca165c81746d4c956ebf8fb5b7b31bc31c8a0509cf068794ab0bd687dc1ed84ea6b17e7f98d235e7541bfa6e64916cb02f6c2892c56787c1ba490bcdfd7000f529c48608c2efd6240ed7e84fc1b04f0cc\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 14\n# byte 7 of ps is 0\nct = 01af89a4d37a04280b78628261964cd3fe67d062b74c35e851f68b9f8faf7454a22df1c84c64f625515b16b90d298d1123c3010d845b86c7bbe516e4434f1feaf3d83829d6658d5128069bf4a3fd5e0870903ac313f743b9c7a8f3a7ea4e9f72f5b8774046980bdc1a1af025337567bddf436ed9b739a7305dcbf76ed4d7085183a84bb298a262241ca5811113b60e211626adb2c20fdfd80d1bf76e763fb3eb7f2a0eebc565218808fe0f8b0351516773f4ef822693169a3f1c31c12ffbf53d583b1598125707ced9b6636acd2a66651eb3e94bd21055b13d4d6509bbfb01f9cf449f84397b448a7a761a878195a4a96f6ae1043b947e224325b5262145abf8b2daa65544ea8d56bf33cf9af7be8e0c8f20eac6dda208f45d068d4ffff279bb0f87ce8ed1562fdad32e89819f6d86bbdd46c175214514b2801ffae449029ab0987dd2ae49a619e6717abbc2395cbd02b2b0ee4023dc858e10fb08af579720a51b7aa51e5b366b5503563c271c485056153efc362515929ed6173a4fdcfcb0fd\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 15\n# ps truncated\nct = 700d40cfb0981f7b86260e36712a463d2d2faf1f9da3bf762c3f993371b441d9e3747f126dfe2ca3b6d538a2c53147e7bae60b6405238f0d76cff5f420f8b641ccbbe9db0f0b2eaac87335ce99ce8a2eec1bec4d569fe81cd580f6490e3ae27209c1d022de5fdd02eac36f674d664c75bbfab5020afc8fce701b6769de63eeb7c72ac0e428a3d88f071e68f377c79d5624481213ed8bf42d5f56a3a00b170c63f064cc61d8966ccf2ca5983d7d1b56f4e81e379e57aa8aaf59a05946c1c24aebef5eee5a97b4d6ce8796b2e731e9b31d3633524cd526c30fc921cf927ec392f95116c121c4599a9e180a9bc963d01cb3977e2d5f72747e5c1d839a515802a7c26529fa487ca5954bf137fecd5e46f301c54e8227c89f4ab766eb9b5f9d9a1d96a0a482c2415ec9bbcb5613a1d239add7fb99f24a4867a85a8e29ba668c7c1b5948d79b2f412998422bc35457bd05a4e5373ec671a88bc15eb7a4fab7394e38541fe8d4d2dbc7094be069933added250dafd8091dcc53ba08301e64d49a4960c9\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 16\n# ps missing\nct = 5a76259027089edb019b04788cb702e5e06b13b9826d57351694d20f5984badd4960bdc49b900c903255ffc689676044ce0990447fa4c674e780b24c142e39d157bd649995c23209b697f444a8d14f96033707c636c312b019783b1985dbae4b1558a9ce257fcc6a197edb6624c309bd3b2bc41898f370a0f94cd9531bf15f635d1ff5895654358db4e56c211a732a237cf9792b84096d747f41159ef8529324f5901d28549c726cdd12b9f60fd110a18b2ee2007abf99e0d126b57e8d92371091ea3fe289831097ee0b97b11edd36a5e382d3360ba33059375248e6e8a873b5e7d1382c430dd8ab68d93ba151680ff08c23159c7375bb455a9f73cbfec427305b378c4ba45f2080803a83d00aa058994b6cd3429653a3bdfade0b58221f94bf4c132888a595cc73ab6a705299e10f65297dc6e70f8c7623312f7205cfaba759a9663954ca3cd4390e7be33e0ecb9d3a5493c0329e6c07d048c93ff285d28e338db5595c5dfd6d31e920e49427c0623c01d498bec7ea2f1977a3d6a1ed7943f0\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 17\n# Block type = 0\nct = 0946361acb9a12452e370d04abbb2f64de0651ce5d6e813b4d256476003cfb170048284425c150dd9430dd53a2ca6fb8e86f1375ebabe86603af28b3561fc7df1cfa22fdd5d92018dcc4e208ec75723d55706351d00c8ab8017d703a0ed1eb5ad4772ce0abfe976d5c8c1e2b238ac50e9c7bf7871bab2362543312f24141ce3e0ff5fe2cdbcd8d36596189a504e16e09e617ecfe3d553ab36d529d885608cb4c3648b763b173a9f3b003e8a97bb9e8a0a19c5edff9f0cf585c0abb60af2545444df8789a747da21def80f287a3d54c0c5b50e114e2b1c17206011fc5fe9ad783b375044c442daef1b7c789cbe846809cd8eca17c1576060c1ff702e8b3d908e57be8c23a1a0984cc512937c3e3709f2f4ee82401db017d2a362af38f4e6629b70cba25cae45ef4f7a3d1c66c3ac7ceaf95b54638f8823b6ec510293f1d7221c2524f3b9011be4fc017ce600f6d0f77b271bfbd2325ed58e5975c41dbbcdf752e8c1bc40a096af1ccf5016b77229a4b081fa771f249695da0bf14e7be770ee010\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 18\n# Block type = 1\nct = 849eb249b9b5904f726cb7db324f5579d331895bd3ce5138edaa2d283360feda0bd3ebd97468ba98f3a5060ebfee43e495bf75db592f816bb9297fd1bd260d6f8ff79ddaee1100e013f13e4812caa3a8db290b4ae7dcb34701a2decf9834c53a0f6a5faee7cacfb11d017516aba150619021621d6aacd2612577802a52c88c119363358fe96c67ac5b3fc25c6ba28d8e6efe5f2b3305d686c58dfa3417a40134327885a302f59e9d81b5ec46127c391b5fb1a12d9776ee2190cc20248a4beae4c46e4b58130fbc3b805935a00df588845eee7956990d163c91b384d0db2bb66fed9eae58f15d3f39588e75ef79c8dbc60a87e4470ed2f48a48d62e2030ccbdadea0dc5cf75b21a8163dc2391bdc7d0b7999263b70346b02152020ca6160297797393be3a51944dc2666d829302eb9e1829fbaafefbec28710d58a0eab63ee49a5d1f0c2ea49b73f331ab27170fec368dc2473d1dc0ba7bf7b70b7ecae315e67b323ce267d5fa6b9fc83b20783ae20d755127b5654272b76c88fa362960f66466\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 19\n# Block type = 0xff\nct = 99aea15afde0b40c12960cce598c11d618b3e4a0502eb9764cc114eed704113f0d13d9c1181324c18669f6385b5f6b1e0eff715769e5b3236a53d7638b1b27fe1b6bf2089e97e0bf6b587ff2ee42c708ac45ebfea88d057b6fddb6af2f8ba0d0ee5da9366961ac098c0b8349683aaa5dbc789ef0a49737b059bdc1936ebbc03a00330b84606dd9e0aed5e2c51f9e336ae9f19c225477f1edf87e463e4d0d80cf6c85f8142cf6e9b33b83b9f4d0e62540ba4b3f73a8b3b6b9ed0728ffd97e2332131c6625578eced873f96e1a84e1f22c1ada6d8bae41e0f63f284d28e9198b4f047f9664f33db978e5d7843b2891fc5006b25a17cb8418c7cb17abc7c8235b9fc5c2acbe17febd87e3b758b1e0fa783117e738219bee41b29c2b64ec23c413f00cce03bb23652a7174fd299dcd68e3b5521a0b22f89cbbbd021fbb8723f5020e2e7205bb071dd792c6c5ab293f8ce1c5b837b6a8966a9560a38d52dd6518e636b69ffbb43035eba80531cd1077d7d1646cd1a458cbd4e88a42ea2ab62906f2dd\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 20\n# First byte is not zero\nct = a225db92d6853b708dd72cbfd081c06ce3d6c4579def7e6bd8b45090cc0b9f51d4217d3275402d5ec90be82e920cef6f9bfaeae58ac461a61b3cf568186c6fa2f3a14db4d349e55cdfe5633a530bb6178ab1c7d126686d3297c4871f19e065f1fec05b85b72b675d58836dd2f741c593719d8bd65d74b9c61ab771464766324338e9b3bd3c05fde9027f2f2746d806c3f8e3b41b93a2e45f276af2df8886948d9b4f1a4f7e67f2ad7ca03ccb2275850982e7723017639d51c0f09138f19449ff344c1caaeb72ca8607f6012b8fa6f7924ef0b6e516a79b02cd2219b03421ba25e7af6272f57d118e165da759af7b64b18e60b9597d1ca41a49da64caf8f9788dfbd67b5b68fca5fbb3d42e045328739d079596cf63ebe83c39041490d7961ebbd2c4729059b4e01d180e4b34d69fab70832dcf698225887377c615affc0df708dea84511b44905711e68a1dd3c0c6247f35c998299b82f1511168a79f40f50f7576eb4c963e00576cec70dc0c3016793c44aa9c8d9f7c9d34907523613d4bd84\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 21\n# First byte is not zero\nct = 85421977730b0f2ca7ac9e69328c09853d07e68f0c12396011a88e1b3d0d8675c723c3c7818b1b3ba6e46d1902eddcf05eab8f2f964e5b17e9bf0235c118336a25dc99469b6be3b939090279f0435f28e7b813444b1eb63a67aca79153c67addb59e1329c1faa7bf9c92870169afad12198dd0954fe581749137e63dceaa0151a4ca2e4157248458ac4d999dea03deffb079f01b7bb64d5e3f0f7e53817fd5af4d11c4768ee2a5b184925d0924ce5b8143d902768478439627e13ff2ef8554c322961b0d3070abda2b0821b53053228f63f81a634fc32cb909b7cd14cefa5208348c0044262ee4157d330cdfa1391471853554ebebeecd74a58c51d8d4dd433327a2b8bb6e2a29f986c6ec0b6cbe86706f8aa7f89b6287d818ef770f69e48d0266abde3f94fad09cc6f7bac45740247a03b7dd7aa6cc2b710e1fbf74d7d914c9588877e8e52ecc3eb8e5cd5b9c772a1aa3acbd2ce86168451dea1f539fb740fa4fd966bc7d124b098ee4dbcb86ec326a54665752a9050f80b90ac34dd51f1f11\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 22\n# signature padding\nct = 509c69e802c2ab812fea8c77f89dd321c0edfd279b200e93aaf46591886148722b06584fc8745e938d069cd4c100f07c48c2f81b7f94d47f835244bdf9c9eb08af688ff6908ea2b6b938b9265fbee0f421a35086223380a9925b3570b3c0eaebc37b9bc18db3271e7dc62850ef17cce8ce17d68dd81dbee566f4a585da87d4f02158f80b7ecebd0687acd6dc52a334ecaacd67895720766ce54ca6a3872ebf90f3c9b894a0f44c0e1a83d226807faf67144fa59b3a21cc33339d2bf9249ca5018b96ef837c3fad08e325c7d31c9ea2fa1fe4b7dcd36b1fe7c95530787423708a80044a745dca51ef448fa953e27353308a10d431c01b688cc2002614fdf60efc7f8e969b3b84caa04ac8305ce87586b0d1a01f016ab6eb5a970766201166d16b42d0829e811d258", + "8e045f8e9fec785d994485d2dc327aa4690fae2065fd105048acc84d729f125f3bcbfb551b6747144b81c754974719ffa4cfb55ef9c8b74b157e1bc61c19aa6002d349e544245ca715cb964f0be1855229a9a6e9e6ea20e63\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 23\n# no zero after padding\nct = 9ac9da6b29f1de8599fe88bdb7012cb0ce4817fbcacc39b273c557bb22d2c019b8c5cd5592e108334d572d8782eaa970122801e0741a3effea028b0911bd1a0c7228529e8ae534d8c0fa1019329dd5e0de1456020db9241298c26aa510e97e31045941a9c66d53be407a2eea5fc26bbbb1aa16c89b087480242d5fb78adf083ca9a40dd569cdd829bcfaf652737d03f5ed6e39d970d69cf66809aa9ff2ba89d720be50989faf066db7012151944964c5bca13594242900bf595166b4bb8f0a7aad66cfdd579f2596d384e8ba02b06039816f940b2e4b291d6cc63b28aa13bf128faa012cd26af43a5d4e02ed06e982e052c27ad49d18e3afbc3f2cf99564a91f7a053d447565b77c7200340217ff62b342246543a8907cb4f1d05b5b68627fea24e3a571eadaa97c683c99ce3a4a753e8cfa18b5208750d9f86c83d51641c02769d28ec9cbdd34eb67af5043d50dfe45f1f6bd0e0f45e4665951977b4208cd76095b443fe881dc9e247ed961cdf0205fa8aade1f42d88dccf975194ee0936972\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 24\n# no padding\nct = 50e974b2bfca623edd2d797e4e588de22478d5a8e57c74c448449853ba84fb1d0073c1cec06211438575a6dbaf893e1547e4a2478a44549914bc3a9b8a88a5bcc800f6fc095c71ac129c2cc35c7cf16d891b8a435a3d4415262a8fb9f3c82caa788900e4e31968699029a73b7e14507fc324281fa88e7f9ab9ea45e4093004cb537471d18a68c8d83001bb874e06d78a9e6f1e13268d47608a85a13bc69d14f5c171ebc656fb5179688ec498204e5d2993d90b79640c454257c395d35793c4a7e8e875cfe7099b1716345e83aefbd1cb6e33fdcfdeee5141d0e687bd163a0f4b3f3657aa04f5e8c6b499aedfc67a875bc1825eca29a95989744d590bffb1aeea8a8518e4d21262535b727a72a1529159f11cac110158f54d21f9471f8dc6d262e9aeb7d060a62f0070f49c0258ea4fcccc7e5fd6ab3bc743f90f8779c541fac2aa7b3c9829597725b87c89056cef502c8618f14e27e13815355f3cb4dc16cc96136625c09234fd8299d2cf38d39da37fa1c756636bfd576e7de0f26a108030b5\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 25\n# m = 2\nct = ab957d59865513c059a7ae6914b34e8e3e4ab96cb66069e014aa315e67b2addae2b3b7593debe8c1a3d8fe34c981aeb241d63cc850f6d629c254710eeed8acc9064297b019387a67bdd1a60878c600e2d2b2c8ed3c2ecc3bc4319fbf3c1b89193a5da26794252b1e031b548f1c0dd6bd8b467b2a52aca2486ec213a77c2708dffcafc60c0b0daa9dc79bd8b03461e852b060c47564cd69e4df71a3ee44d11767fb3f1c30e7b86cc0c314c0e36a2f3c9de954e7fad277960158147fafeb2beb617ae13b22deb65ea83359f43ef3fc16db4e6723bc52b92ad06810af71c3d4f8c0bbf991205e63b5b187c8a5fc38395f19df7ff7d578ae11b8cef50499281b2c973bc87305c9db9943eb139478b48426a88ba6d6cfb4e544f102ea0370e6dadefe18285778bdd0c0eb5bee45617066927589bcd0caff79c28a88fbe792a1237c1a074a42381e961fafc5181f72463f77dda4539a2359a72f1c1d0b905196f4e7edb8d0d95761a1d4e8dc71146c7cefa0775c405f3faaf59e8d9cedbccabf1874bf\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 26\n# m = n-2\nct = 30f9fb26e0d9f9397c8e693f90d88e98dbc5e24123af3e46e4a1591aed7408c9b7cc9ef38ccea1d2edd03770755cff6b58a5179b88ec19151e7a0af06e72bfb8417328c3a9b9a5e99f81774d2aa086c40b896b8a200048dd568f07839b18990f8e7b6e96d797791b5080f3cecfbdfa3083053307225715f47fbeed04ff8d4f946b1bfe2b313e2f91265beb65fd8320d005203147834fbacd295918e4928eb881a4369862f843efdb167c3718d1c3b345a9a9e2e89cc6b8f2ed579badfe70dbe39c526dedd7ccecb9b8cf330ea46fcc99ddcde757506eafeba0cf1ff3a174a211b28ba32604daf8010f44035f973291461e3c32aacacac5b0b6b21a6dd0ee4d62c32ea3bda0ca8c60704b597c53a17e9611ed5ee287c574f4c363358c539b9f1a42af1b04b04538fe5ec4aeb6dcfdf4f3d3fcd19e8ced68a3f93829494dfa17e4397f911fd009a7cfbf85c1a11db60bd1e87bb75e7073bc782f3694c5344b36a750530b66267265113422b30905d04134fd53080755c0a4b59cf2678856bffb0c\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 27\n# c = 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 28\n# c = 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 29\n# c = n-1\nct = dc8f7880672f0cf9d63617a8a58bdd271a109badda0fa826f94b8a795526b6a49a80564ccaba8a9491a935a53edeae1d9a7b5463d9e2ef3ee0ce7bff5d4b6c8147b5c073c2f220515d531d55a36687a6de3c34775c2f15191ac0a742d7342228c8d910fe6bbca439539c485debcbd0ee0e4bae317503b83cee8100ac7bb4587467cbc4373c4bda2eedf7c41631e50922b580f5bce81d24b208cabcd2d75fcfe99f75b493dffc5c9bd990f7fc3bf2efe392fecae36f3e4ef4456c1b5de99cc7451733a910b6834b61ec29274d986be3752c350b13a327dabc08dfcf6565499ad26e853446633eadb2970ca95bcf6bf05ffdbc2a804378d76985a71f06f90979f9fef716c36aa625a45b5eedf50825a53e9d9435b23caab9e5c64d38fd3a767e185ad7727d6e15f9e9bab2f4184d6487695db9a2698c672b2e823410dbef1d93fe40c9d357ee9fc77f849de11363f583af8ccf5181ca1aeb944c422516cb401e950923e4bd881439fa1093c77582bfe1ac5993674700b6434339e0245315d86fca\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 30\n# ciphertext is empty\nct = \nmsg = 54657374\nresult = invalid\n\n# tcId = 31\n# prepended bytes to ciphertext\nct = 000063b63f6eb3fd2322a6c85ed16318932e83f32535b3ec2527fb41dcc865bc44690554467655034ad33aa0fa993788e80654ab0e0174f8dd238ad68c3bc194f390dd38d26408778774848c49a6a606e7fb1b3bfbf5f19db4d4d1ba2db43fefb9a9bac311f2e1fc1ab4f5ddc00a009b9dc435448f250a648b206fe764505805c9bed1729d5bfeaa4fddafc115d281703fab0e79726d5546fa698a45ca6e5e561b8c2964b2da01914f808a498ab77672eda3432ed9974f0a06d320ff87a4222899f893a6cb6abf13d7e56cce2ee7eae67fc26f2274b63ce8301c721d7195158b6c966b8d36e3cff0aec6f218b0fa6d8490493471ee0f08b840b6cdcbb73a164246864de0f35565bbebe51585819e42a425090479537ed67f98236415e6ad3ca81116beb91db802dfb3f9da733f86cb6fa90904c8a382afcbf6162f0d89ee04973f2d26659325f7f00a4ae9e800de6aa27b6c94b9d57791658eb0714b7cba5466ecfe44bd5803647c3825b58c37187311a8b11399f53a877c265da82493a90869e376\nmsg = 54657374\nresult = invalid\n\n# tcId = 32\n# appended bytes to ciphertext\nct = 63b63f6eb3fd2322a6c85ed16318932e83f32535b3ec2527fb41dcc865bc44690554467655034ad33aa0fa993788e80654ab0e0174f8dd238ad68c3bc194f390dd38d26408778774848c49a6a606e7fb1b3bfbf5f19db4d4d1ba2db43fefb9a9bac311f2e1fc1ab4f5ddc00a009b9dc435448f250a648b206fe764505805c9bed1729d5bfeaa4fddafc115d281703fab0e79726d5546fa698a45ca6e5e561b8c2964b2da01914f808a498ab77672eda3432ed9974f0a06d320ff87a4222899f893a6cb6abf13d7e56cce2ee7eae67fc26f2274b63ce8301c721d7195158b6c966b8d36e3cff0aec6f218b0fa6d8490493471ee0f08b840b6cdcbb73a164246864de0f35565bbebe51585819e42a425090479537ed67f98236415e6ad3ca81116beb91db802dfb3f9da733f86cb6fa90904c8a382afcbf6162f0d89ee04973f2d26659325f7f00a4ae9e800de6aa27b6c94b9d57791658eb0714b7cba5466ecfe44bd5803647c3825b58c37187311a8b11399f53a877c265da82493a90869e3760000\nmsg = 54657374\nresult = invalid\n\n# tcId = 33\n# truncated ciphertext\nct = b63f6eb3fd2322a6c85ed16318932e83f32535b3ec2527fb41dcc865bc44690554467655034ad33aa0fa993788e80654ab0e0174f8dd238ad68c3bc19", + "4f390dd38d26408778774848c49a6a606e7fb1b3bfbf5f19db4d4d1ba2db43fefb9a9bac311f2e1fc1ab4f5ddc00a009b9dc435448f250a648b206fe764505805c9bed1729d5bfeaa4fddafc115d281703fab0e79726d5546fa698a45ca6e5e561b8c2964b2da01914f808a498ab77672eda3432ed9974f0a06d320ff87a4222899f893a6cb6abf13d7e56cce2ee7eae67fc26f2274b63ce8301c721d7195158b6c966b8d36e3cff0aec6f218b0fa6d8490493471ee0f08b840b6cdcbb73a164246864de0f35565bbebe51585819e42a425090479537ed67f98236415e6ad3ca81116beb91db802dfb3f9da733f86cb6fa90904c8a382afcbf6162f0d89ee04973f2d26659325f7f00a4ae9e800de6aa27b6c94b9d57791658eb0714b7cba5466ecfe44bd5803647c3825b58c37187311a8b11399f53a877c265da82493a90869e376\nmsg = 54657374\nresult = invalid\n\n[d = 02ab95175be18395f033b981f8643ea816079d3a5f2f68e6b2f04bbacd65d659956ea22380c5b05e084d30d212876391c3228fa936d2fb1e6b42fda0fde10580d0712501fc0fac0a6fee999638b22c91041b0df8892684c78a628d8665916575130132566c1a40ecd7c9218b2d313a513934aa5eba95ca9ab4596e3a850c3253477cac7ffc338f5a5b34aa5b7773d5681dd2854c5d719a9f0d03162cff4b60246d48de48f0c26edd9d0f0dc1795c841176f3bcdd402a030f97684e87a4507bc8bd463eab49945ca8ccdebca2b4c5c8b15db40fcb12534cefd76c130e95c5806a1ca3fb4359477780f437877813ec9f1f2415f16b2268155a399213252d0b8837b775e4a2223012b20c767c794a4104411684590ae7bf7e4227949d59d94cbf85746d2fa69083986591e9b0af51080ab7c1f4bef0d96fabb7318e64a03a93ae62f52fc941ba3a1eb2bcbceede593dcd6c4af0459fb77ab90f76ead70dbfb7249b17d62b740e2aa436f299fdb94071aa1518e97ca6ba00f0148afcf316ddd507d1]\n[e = 010001]\n[keysize = 3072]\n[n = 00d91f0d00f1aab580e2ac0e837638de7004fc968be21315a1ef2a234969045dd4bc1945eb53982eeb3fe97ce84a26c7d464784ff7e561cee570e26d4145e14ffcce70430ef32facd19e80ccce8a9b6604065ff1e50a7fa8fdd432ca4e7b2b858c88a96626e3a10a831596f91c2f22c83e1a0267fc7df121d3337f3b0fa6a8c606ed9031c1f83b9213dea832dc5dcae9c03b47809953d75d966f35bcb10fffd23345a6ee2714c388972980938ad6123d9c97916920b9412ee1a84e1d345b83866e2b3b02127384681aca038401a39bab5e4672d6493cd4a293b933252e3fc06d8e4348f0e16b99ae58f7972b43bb6a7a04295d112ee509fafaae39de6d064f622c3f3c8b4fce6d836730c1285d90c548db62b795964794eaf143ad427360a2e83f5b1f8a20b08d18cdbd474f21c1bf42e6f1e137890df92888d83cc405975597209b7a09f4dc999fab82d4ebd77e0d66bd89d83fa564a03e3560977fb4e0fba7a0339f9221dc0c99402581cb95472a6c11b6e80e91059fbc14470b7a68d8e50e53]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100d91f0d00f1aab580e2ac0e837638de7004fc968be21315a1ef2a234969045dd4bc1945eb53982eeb3fe97ce84a26c7d464784ff7e561cee570e26d4145e14ffcce70430ef32facd19e80ccce8a9b6604065ff1e50a7fa8fdd432ca4e7b2b858c88a96626e3a10a831596f91c2f22c83e1a0267fc7df121d3337f3b0fa6a8c606ed9031c1f83b9213dea832dc5dcae9c03b47809953d75d966f35bcb10fffd23345a6ee2714c388972980938ad6123d9c97916920b9412ee1a84e1d345b83866e2b3b02127384681aca038401a39bab5e4672d6493cd4a293b933252e3fc06d8e4348f0e16b99ae58f7972b43bb6a7a04295d112ee509fafaae39de6d064f622c3f3c8b4fce6d836730c1285d90c548db62b795964794eaf143ad427360a2e83f5b1f8a20b08d18cdbd474f21c1bf42e6f1e137890df92888d83cc405975597209b7a09f4dc999fab82d4ebd77e0d66bd89d83fa564a03e3560977fb4e0fba7a0339f9221dc0c99402581cb95472a6c11b6e80e91059fbc14470b7a68d8e50e5302030100010282018002ab95175be18395f033b981f8643ea816079d3a5f2f68e6b2f04bbacd65d659956ea22380c5b05e084d30d212876391c3228fa936d2fb1e6b42fda0fde10580d0712501fc0fac0a6fee999638b22c91041b0df8892684c78a628d8665916575130132566c1a40ecd7c9218b2d313a513934aa5eba95ca9ab4596e3a850c3253477cac7ffc338f5a5b34aa5b7773d5681dd2854c5d719a9f0d03162cff4b60246d48de48f0c26edd9d0f0dc1795c841176f3bcdd402a030f97684e87a4507bc8bd463eab49945ca8ccdebca2b4c5c8b15db40fcb12534cefd76c130e95c5806a1ca3fb4359477780f437877813ec9f1f2415f16b2268155a399213252d0b8837b775e4a2223012b20c767c794a4104411684590ae7bf7e4227949d59d94cbf85746d2fa69083986591e9b0af51080ab7c1f4bef0d96fabb7318e64a03a93ae62f52fc941ba3a1eb2bcbceede593dcd6c4af0459fb77ab90f76ead70dbfb7249b17d62b740e2aa436f299fdb94071aa1518e97ca6ba00f0148afcf316ddd507d10281c100f261bfc097786e1c34d123c19cd0d0b6cc65bef52720c8a003892b0e74611888099ab96c032a078b77e000be90d5b98fb8e4083cd9326adad050ec6cb92f55b5bf8066b1065e3fbfd133eecdacb75cceba6673d2184ba9a0a95833fb7e0c27c607777947eacfe702ddceedf16a65fe978ab5355207808fa2a590f1733b99d9164962ed5cf98b478cd0288ff161943ad1a3fdd13535c752f622cf8e0c5c3ba43abbbaf901dc457faf11e09222473aef53d176061fa3a70741bab8d540a959e1c70281c100e551f8c7ef3718c07aa9f5127a3fe8439e70fba743524267355f8095af64fd7c0b4756cc43555bb6157a488046f1cc9988e71694164116b250283dd50b7894a456918d6cf8e83bfe085abe65bbefe791cfe178654891ab82d66f70c85a757573a051039605363c38ab9dab31110a93c73fa09b6f71068633ed8fd077ee805c02d559090e346a28d7186a6b5f6804b65f655b34a2a6c46b81501b2b47154ceefe6b6c20fe73cdf764fc768f724faf2948b270e6b5251871046476d4390b5e2f150281c075c5914a9f4ee111cb88237b9c1aca8f47d9d8637e53aba8348f9de0342449ab301f82213d985a7a26112dcb6accae916b2141ef6f09d469e5f6ac2a5800ec0097c068257416af9b20a7bf4d28b31fe143292cf5d4e04ed7c5f119b1059a1a695a8f6edac6f9a621fa6ce5a8fc2dfafadf6715357a77b9532a67b72a6ab7628835b85fe5614b8fc498105d80c80d225762fb9d7fe155acb5f44c2d954beb9eecfaf2eab340b8744638c589bc262838c9dd691fa897f83cca6f54082a971f19590281c0119d4c48bf3d322f86bc8b5092075aa5e703b2b0d460fb2cc652c1a3bdc73a194f1c79b452efb98db0f4a5a104d209ef392ed6f3250a76ddd77e5fd17f821198d5f574318ca4fa06b749911a6b67301869295e801924e751b37af7e4cbddfdd995d4e33ba0c6dbb556a953beff1a1ae3d1255b0b225967f1912bdccd798a6e86e130679ba9b705d00fd60ccd55461764187afafe0b654704b5cc80748354577f3f6d1cd3aebd816546672cf990d9598875fc6a1c3bef36af29b05ef8cac0bf490281c100999fd604b8158fb941618917240546c32a734ca8b4877d9cef9743887cd34a1d889a0beff8ae1bc304061eb39d569af5fe0b2646b6d1ad7dac7a379ec695a8e9ccb44ce4f1c1178cf2abd741afcfbac9f2f8b7493820677347bdf08c16b481fb14d2a357823bb6faf2b3732830ff27be7ebec8e6a325ccf1e8c24a529bb5749821fdeda8b25528fda0e473fbc5161b764b848135989c2bd49914bb6d24484c81821bc30aa1c4a702b22f144cb2f7c359c1a68d7559c00f805a17cee23d283d19]\n\n# tcId = 34\n# edge case for ciphertext\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nmsg = f6c9e9ebc6411ade891754e4b24fe5841b26c5a769c13911cc0e010aafb32863eaae62bdc8cb37e807524f72270fc728ad1c01f0c91c9b604aa631682f9d15b235ee5ed7b852323e4f64074e4744239bac907bd92afcf6e5d67256daa18695475d7d2d1e695cddaeb65c41c06293f3e29c1514b169c5afde727b852e7c9bb14f8de3ab62727dcb35a385bc0f5edd1d76322a94e539584efbfc719fcc53d8c645923ee92f425fbf01817c6db34707a602533575a620cf3eb02c7d50059ddc778b52138bd7bf3c79bab39eb4d4ad74404a11cac5f12ba5a1d557e18ac58070c352763b7d3055d7ac7e50259121aa635cfcd988a874e4ffc863079f5721ae359f43b2e6a2f86eddf2e9ce89579fd7e87371507612533e4464f5c095e7fcc330d5324c52b98532df6ffb0580f7f5b5d803f60259495535d9528edc704d0cad645418b30e1dbd410b8b06dfce03840aa03702173e6fb0d15b6abba1d13c9d113f4869e81898c6f285\nresult = valid\n\n[d = 7298f203e9e0322dd73c05dd52dab6fce5cf2803df599f83b016602cd1ab2ae92d6fc7b8f78c224d4c8f93668618c1af6ff076664b0eb9521e0306dbfc9f8ce6d289c84b91a3156a63a9b495f9782dadf2d4e5555dc51cf6f23c780258b3c1651c2d44ba656c09111bcf0409bb47afcf81ab0f43750de3aebdb8d92c2e253972e69c57a116ce2c8afc0cb208750e0e67166f31e4225c786772b66ebf91edb08052d13fc51c8e0a31cf4356f0f380aac1dab21c7d317b16bf3d4825cacd27d34202daf0d765f51e9428005c35ca6be9eefce0b0c9e741a6e6528802f81dd085754c74120f29ce957c66601cd106479cc5619d07e694ef4dd442ad3770d0dcec7c51780359ecc66439fe5bb5b447cca7edbbbece669b677d006546efa3f5698de7f3c881713a5ad36827f2b866b3bbe60b0a5d85d42aef2c8fc3c792f71b4785f5fc1bceba52d554d32038aa77dffbc5b1dd3decbea1b97842df5c4851df98f9dd876c0c31076b3661a65546c690edd32849a4abc17a2069cafe44a02afa819c", + "11]\n[e = 010001]\n[keysize = 3072]\n[n = 00ae053938e260b5ecdc62a38258e789694ad29c11a621c1a760ce3c1247d223bc0c70421b72923d3328f82e8a683a39656e02325d537707104ee5f70c957fe88037559c7352d582f7f9921349b82b090a683fa2dcb37be7d2a1323b24d0f9617c902169a436c088a63612f4ef96c1a70b26037e4cf8b645ff6a48195eb99f740f6c39a546fe3a5d2e913acba146fe590795ee5f78f8f1e319add255aa5fc4cada23d0227d2f330a6d5160b626f33b9457c62154cea5ec48cebb4592c1763bf5c4755bf3494f1ca87d0ce787b46046f7e4d17accad72e8e11f6cc71e3844af11949fe28e68dc26e15a928d79da82cacb959cae7e3d3c0ca94de0078552615d84f4f716927300e2b8058857167d785f8e6b3391f0708c365d112871107b689bc7258fa7359668d20f2b6cb8ebb4c8935f3e376e9bdd9fa2911db272d951c4304509eec02b95e83d2ca029fb7132dbc9bddb72d72d728a775399bb368036f0df6970cdc87151dba1b9f6e3d56665d85e4c33fdaef3a2f4d9180728fc3cb1c76bf833]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100ae053938e260b5ecdc62a38258e789694ad29c11a621c1a760ce3c1247d223bc0c70421b72923d3328f82e8a683a39656e02325d537707104ee5f70c957fe88037559c7352d582f7f9921349b82b090a683fa2dcb37be7d2a1323b24d0f9617c902169a436c088a63612f4ef96c1a70b26037e4cf8b645ff6a48195eb99f740f6c39a546fe3a5d2e913acba146fe590795ee5f78f8f1e319add255aa5fc4cada23d0227d2f330a6d5160b626f33b9457c62154cea5ec48cebb4592c1763bf5c4755bf3494f1ca87d0ce787b46046f7e4d17accad72e8e11f6cc71e3844af11949fe28e68dc26e15a928d79da82cacb959cae7e3d3c0ca94de0078552615d84f4f716927300e2b8058857167d785f8e6b3391f0708c365d112871107b689bc7258fa7359668d20f2b6cb8ebb4c8935f3e376e9bdd9fa2911db272d951c4304509eec02b95e83d2ca029fb7132dbc9bddb72d72d728a775399bb368036f0df6970cdc87151dba1b9f6e3d56665d85e4c33fdaef3a2f4d9180728fc3cb1c76bf8330203010001028201807298f203e9e0322dd73c05dd52dab6fce5cf2803df599f83b016602cd1ab2ae92d6fc7b8f78c224d4c8f93668618c1af6ff076664b0eb9521e0306dbfc9f8ce6d289c84b91a3156a63a9b495f9782dadf2d4e5555dc51cf6f23c780258b3c1651c2d44ba656c09111bcf0409bb47afcf81ab0f43750de3aebdb8d92c2e253972e69c57a116ce2c8afc0cb208750e0e67166f31e4225c786772b66ebf91edb08052d13fc51c8e0a31cf4356f0f380aac1dab21c7d317b16bf3d4825cacd27d34202daf0d765f51e9428005c35ca6be9eefce0b0c9e741a6e6528802f81dd085754c74120f29ce957c66601cd106479cc5619d07e694ef4dd442ad3770d0dcec7c51780359ecc66439fe5bb5b447cca7edbbbece669b677d006546efa3f5698de7f3c881713a5ad36827f2b866b3bbe60b0a5d85d42aef2c8fc3c792f71b4785f5fc1bceba52d554d32038aa77dffbc5b1dd3decbea1b97842df5c4851df98f9dd876c0c31076b3661a65546c690edd32849a4abc17a2069cafe44a02afa819c110281c100ee200c32d0bfef31c28d577c684d54cdd4d5f1cef53bf7ea5fe3d82b8cead3467192d99c38c64a7caa822070075c67ffcf2b85b6234b858d6f54398c8d689d3f0577e7c99d8ea50fa16126918eaad875614d27a3f0af6a43195ac2fab8cbd69cf2c0e1d2b599451b01beac53dadd0e44a18657b1ed5ecb528de4f2693df924566e72b1d0a34c1c31e254bec69d374e9d0c0bc3fb3f1837d7cb6f8acbd047d3d7832f3e5167881208f9f0346fe08805d52abb3bdcac815b857f01d2cb789537b70281c100bb154d1042b5c4670c1d296e8f69bb6a8f43f4f0f94b67a5b8650fe17593b3e5769c4e1a42d8afc321af7be86de12326339e08b939f5f36f4aab61e5d564c7dcad94d0af2721b84c5bec6f2b139707bb74979a0f9cf33f34affb796453b83d96d9cdba25a53904212c3d1e9163c2db735f674f6531931b28295ce6db57b506c85840c9eb390e7cc6c035476667ab3b1e421118fb428b68097fb269c60c7d9236f8cd8af355bd89b85598f457e3e779ed92476df2a3f6dc44af916e9688d8eb650281c005f92fd5267f6a14a978ba3518b8b7e3e1eeebfdf110ec0b2914a21b95915e7369edf11f861d1349454db65a9914ac57326f390f749b346273e47cfd159f0632ca8453802f3fa0cc5f93fc4fb2707eb593174863486a5e1408d2ca09581164f4d2f21bb8196e1ad9ae9585e5249c5efb41c208f921a73b1a7b0cbf37fca1ff535bb9ecd3fb04b1c05e9919a009d99553433618587920b665e76888e6cbf6c14daab0c8b36a1173c25de2b4ae09c7dfbd9530d53397f036c7868419319978c4c90281c1009aead7a6b867061d02b5ff421335cdc13ea35a68553730bbd506b2f0d2c91d75cd133fc5954713bc74df78ae8e9698e1a06aa3f4a5df59d6f5b1175f17a6ddad8a7ba996f0c386768cc42b863331a47080eaace372e72696bd87730d361a61bdd1dbfee1ff80484023fef49a164f1c23dc8393064bd7f1ebfedc743a7bd566a96e1330613d1d170c09cbd4b522f17301ea59782350065a7f4b23f55ccfa907f3c77185375cef97e471d537b8b3fb5146fe13722333cd4eb6fddf6300fa8f0dd50281c044df28689271dd677120ae496265d9dc7f17b8bee92948f3336dd2e4d87b3c6992f9cb59ffbc1c07684f34b3ec2b64b774ba11c74e9f82abb4f580aecfa2d4fc5ff0e39d95492bb4ba81135e8b6764250ed8d7a7642e447f334391b3674e09d20d6e03be2f584d16dc839a5f15d424c89dac1c64c19740f319f8c51ce1c606eb07f2afd2b0e23d9c1287011d032c3bc3c58c8eda2b7be4c3fa3e3ecb57047582726b75e8a97f545f2d5d10bf4230511fc9e046975450109e21b467309f2d15fb]\n\n# tcId = 35\n# edge case for ciphertext\nct = ae053938e260b5ecdc62a38258e789694ad29c11a621c1a760ce3c1247d223bc0c70421b72923d3328f82e8a683a39656e02325d537707104ee5f70c957fe88037559c7352d582f7f9921349b82b090a683fa2dcb37be7d2a1323b24d0f9617c902169a436c088a63612f4ef96c1a70b26037e4cf8b645ff6a48195eb99f740f6c39a546fe3a5d2e913acba146fe590795ee5f78f8f1e319add255aa5fc4cada23d0227d2f330a6d5160b626f33b9457c62154cea5ec48cebb4592c1763bf5c4755bf3494f1ca87d0ce787b46046f7e4d17accad72e8e11f6cc71e3844af11949fe28e68dc26e15a928d79da82cacb959cae7e3d3c0ca94de0078552615d84f4f716927300e2b8058857167d785f8e6b3391f0708c365d112871107b689bc7258fa7359668d20f2b6cb8ebb4c8935f3e376e9bdd9fa2911db272d951c4304509eec02b95e83d2ca029fb7132dbc9bddb72d72d728a775399bb368036f0df6970cdc87151dba1b9f6e3d56665d85e4c33fdaef3a2f4d9180728fc3cb1c76bf831\nmsg = c44009e9821601e219ac4f02983b21a1ce309f2dbae90ce4fd6a2e37c29b73817477460c2446a712d32274d0e20d992bca09eac725a65873700840c15a8f660700fd2b414eb24b3d06e279c47c1253fd149945f7c8f8b29c8b2883eb754af74a5b108a2421f9b6f22f39d38e423b26bd856434f36b87cbf96e18437e10319f73d37d1340f87c147bd29e750648867f8a154705a2694f5d441d00546eedec71f532237b976a59dfdd0e656ac51711ff01592d22728895f2c591cfe6d485d845d507cc1c0bb5fe4ce1cfc99055ddd963cdd3e634fe5b8257ab713a3443fe56caac566931acc8968f5a82d0e25e145f9e5028ce1cca20f159e9c4611e82577a4fd90ce24b5f124157d66074b3d699a153c7f3a5e8f1f21222ac1ea61fcc0ef692b22b6533f07b\nresult = valid\n\n[d = 67aaf707264ac9eb89ca382e70233f8878cc749b35004a8b6c6561fdfee4a0f5a50a871f5ffd1b1533a714cd7fa7256ddd51a64074f9ba9b097b5c5338620bd8a365fbae5d6d1c4aaf5203e1708868de2d6e5c7ff5d4588193633371edee2388d985d3082e315a69364e0719cdbff238a726698bdd1ef224ab92eaf48fad6e3a0e8cab2dbb73717885f2d11c89b1944028fc29b89808def5d416d43ec977a866ff9c8600dede7bf9075d0b8440355e927b1441dabdf6334388108337fb4ed1e369346193e2ba993eebb44a32b41c1ec3181d246a436a0a9b827ea3112945482afdbac34091341f72732e7567cf617f8481f7a2965442da69ba372f1626ceb95995dd131dc1b3c62bd2f1fc2584d3a2133e1a36c4889dc416ab75b2781074b934b077597b7f09118086bb8ff654e79efe2d49a93e20caf875b14d8b314899709cf8bfb7eefb05ce38b59ce97f6bf9e5cd5467cccd115b1cafa0785a64e5a428886c8b4d99a7a9428ec5992b488385ad4475adb02cd53bd5982d75c569d4541001]\n[e = 010001]\n[keysize = 3072]\n[n = 009adab51aa060a0850ea1eb05858c120a338a06d6265e084ea5ecf806a233b23eef6518a5610381d6fc298c0d6c43aaeee57ebe34d6154e7bd71988487935b1aa2d0f86f0913d31d7274bd655f04da2b419fae660025becc18debb60b241854102e34609145c856b2b7182d2342664c112f9878423adafda6f23d2a17013ca8b203efdbee58e841e32c18a41ebb32161cdadb626470bd175df2a752c2859c24133b5c840a404bf6a94d233f74c72481f42d2d93711d3707b94cf06aaa290028a1437c3984c21201ca10a11cd93be48591f3793bd8a66e3845198cb2506b69604bbed341567b36c5aca8ea850c9466b996371a6213b4be89e21d4d0e3895d7694b4c7c987b81b0e34999e48416ab6033b25079f75346f586cdc05c762d3d38132ecd5b49d0dd0a12647aad3ae8f7b3916a6b40eb1b8ee234dd75a56c38a5e64e6d717cb4106fc34d9adef29b800b721069d10804b5c33bd78478d735eb83388706423a52a2e8372b6829f8c9cd8c3ea4b25d36ea378b70b5b72e5eceb4251d8911]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e302010002820181009adab51aa060a0850ea1eb05858c120a338a06d6265e084ea5ecf806a233b23eef6518a5610381d6fc298c0d6c43aaeee57ebe34d6154e7bd71988487935b1aa2d0f86f0913d31d7274bd655f04da2b419fae660025becc18debb60b241854102e34609145c856b2b7182d2342664c112f9878423adafda6f23d2a17013ca8b203efdbee58e841e32c18a41ebb32161cdadb626470bd175df2a752c2859c24133b5c840a404bf6a94d233f74c72481f42d2d93711d3707b94cf06aaa290028a1437c3984c21201ca10a11cd93be48591f3793bd8a66e3845198cb2506b69604bbed341567b36c5aca8ea850c9466b996371a6213b4be89e21d4d0e3895d7694b4c7c987b81b0e34999e48416ab6033b25079f75346f586cdc05c762d3d38132ecd5b49d0dd0a12647aad3ae8f7b3916a6b40eb1b8ee234dd75a56c38a5e64e6d717cb4106fc34d9adef29b800b721069d1", + "0804b5c33bd78478d735eb83388706423a52a2e8372b6829f8c9cd8c3ea4b25d36ea378b70b5b72e5eceb4251d891102030100010282018067aaf707264ac9eb89ca382e70233f8878cc749b35004a8b6c6561fdfee4a0f5a50a871f5ffd1b1533a714cd7fa7256ddd51a64074f9ba9b097b5c5338620bd8a365fbae5d6d1c4aaf5203e1708868de2d6e5c7ff5d4588193633371edee2388d985d3082e315a69364e0719cdbff238a726698bdd1ef224ab92eaf48fad6e3a0e8cab2dbb73717885f2d11c89b1944028fc29b89808def5d416d43ec977a866ff9c8600dede7bf9075d0b8440355e927b1441dabdf6334388108337fb4ed1e369346193e2ba993eebb44a32b41c1ec3181d246a436a0a9b827ea3112945482afdbac34091341f72732e7567cf617f8481f7a2965442da69ba372f1626ceb95995dd131dc1b3c62bd2f1fc2584d3a2133e1a36c4889dc416ab75b2781074b934b077597b7f09118086bb8ff654e79efe2d49a93e20caf875b14d8b314899709cf8bfb7eefb05ce38b59ce97f6bf9e5cd5467cccd115b1cafa0785a64e5a428886c8b4d99a7a9428ec5992b488385ad4475adb02cd53bd5982d75c569d45410010281c100cd7740c89ca197d070330dd985aa2c4dd82286bbbe656fecd5171e33464fb3b961f6580b32ebfcb314a7db5828e32640147e4aa79266e0cae09452863b3ad6ef4fceff2d0d8135a382c2047c611cef0603b3da851419ffee480b329ff60b6beae91d0f84bb969c1745fc2f9944da5ba5b2b18c4183fc8734101a2991232f74db4ed5f35179149b87b2fbfbe161ea3778532e389c186aa2c0ae3057ec2b049c7fc1c0610a88436b5af3c8421ff6113fec333fe05cb1f6473963c5f22c93f2b4910281c100c0f0cd3a7b447d32b2b29e7f12f3820e77a53201a295edb0d2ad959bd77e603cf3c42d6422e8e8243d7d829c038d4a8d501c003025827c13b88e574837c8abc03f283224078819da7534bb60d289273f9847d12b53bdc0cc974675443b41469e974dd1a04d418f1a2c2913543eaa168a919b75127d353c52279deddb5c53fff04d73bd85611b31a858f6d9b5c282098478a6b0315825bde460e97c239736a554f51517b6fd2c7cc66efc9b2229bd97b04411c65a9427e5e87e64cc25c39dcc810281c1008ff2dbbd711739807c0b18c9ebfe947999525f28cbb4cf9c929256c33fa0795f0906091b177b04190700af08ede46e98f8829e951659e365dfbfaaad8673abc0101f0ae22a92fadc6ab0b969d6b3e9b64203d0b5e9a6698b2c8843d8940dde76bf097024e3341a79a7bb8e31886e9f44d093d99ad0f8ac54ca6f39ee0843a85039c4656b103462dec884082d18677aa35f4b83b7c0d77cdd176ca13cc1cac246339d2f9fac65e7a1da27d444062681ad5f1e82770eeb676d0abcd4f56c55df310281c00e75fdebd4315df0ded3e46d41ce5e8117169a98e4c6b7f9f8d069d634609475fd0f4717aa462aa00cbbcb7e4605e100967082d318fc9eb01bb50f75aa38b026c8950aad08a37acc94dc4eef02d8a4c86f71728bfccacc18897e0e6bfec4f5b60d4117e51be53e04882acbf8147a4b1637b39f22b39fb9d5ae8277c1693a2284b0496c7b02bc370c971e6952e63138e564e5996f195c3acf53342cc9be1baa68a3b5e10126189f817ff00ef09090553e30dbe43205c8b7c2a53688d68bc2d8010281c00afb7cd8666ad62ce48ef59463baf43462b0cc34dac33af39b1a3f977f8685d352d27f2b0d710844e9c57849ceafe35ef1f28e5b18a3738c8911c9b31dc5e41f4834a90f710c1ffaf24d2f6267260791a50a4bbceec53fa8008db875188b355871431890016df43d918b2983d0af37ea8db84aed8ac52498d6e7b466c347d2271f7d2aea5b286336053594839d759eb033025cec5fd8340acf8d6b71651bd94d9e2f775b1181b550aedbf73d8f681f63d1ffeb7beda2f87ad57c9e688e642e9e]\n\n# tcId = 36\n# ciphertext has low hamming weight\nct = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = fac9ca4da781954ffc246d0347408dfaa149e0aeef28c334842034444a2f9df619571e07784acb8fa7d794e68af9e1ce80a14ec84b6d4990e47a748fc63aee207a8948838d\nresult = valid\n\n[d = 6ef4bf85e2114c31841a28211dc8dee37b1fd0be4ff53c6c7f4c0545abc7bad107e7ea7991724a323407bd5e16daf3d074ee9aceec58a4223e815fe54956ddefe2d65e93a83e5f3cee104305109967aa03a238697c8cdd6e956a5b5a068ff884c47af051853649f53f8d8c1b1fc7e97fd51c5b2043cb077400bd0b7ce9aee26e78f74788a98f64f35f8cbae52248d2af666e6173e2ceac8d3d0e417d48e0544501f21c459da0f0bdeb6973e22626b487b5154de963c97bc150c09ba109f4104dfdcb28098b8d12310c42ca7470b43085bf4693ea9529c71ffd0c05a37691b4f2a975bf16e3cd61523303a2b39bc1667e2a9a3bb9d851eff0598dba2acd2e696b618001ec58d2670089e8c241068931e68a0ed0f4bb854e7188e6aa7d88520d3ee8e61dbe048460819c124d97f67ff25dfffb0adba69e7de58f2d97e5dbd632dc810c6e92ad448e0fd15b61df311a41488dea750f5d06adc55102e1414df16d46baf6fa2a5042d8b7ab64b03f4d969a1ec51d1b4c12b9d845a65613207a0729dd]\n[e = 010001]\n[keysize = 3072]\n[n = 008b2f63e12d53676d96f8d51b58af53305928229ab73a601ded828da0b84e2863b2e0f860c3be7ec3e21493b6daa2043d912fe0648b2d5c8f6d049ce421480f845e033121e0aded71f9aa4df21c8f37dca8676de17f53f614685fd8fa752b265391bfafc7944715c232ecb28009441c7a3cf7735f91ab195ccd468956339388ccb7f94c9c6ec2792bb49975c7c885a829f30b191093f3fb69c62ffbbe9b44dd7c7234644aaa629bf60b41d17037006dfcb993d0266c9b900a04a00e1ebb0ec15209372a1f4425499f1df67fd489257056fcf9bc264ae1083120ce2e720d476ad7a901e7312b5f13c3f8410870b6803f6ef13755dd29beb46419529d69b585c476d726125a0dbd58c561f0726372ad2003f17b37f0b449ce31481862e0f3702179bf2aac93b81071a835cd7e59b12ca237540dc5ca5c4b1c7037e35fedca623ffacde347ecf28a99f5eaa884f7740b291324257909b743075b984b0bb3fbe2fb3b18f42593d88e028a1269f97b1a45178e2765c6fbcc1550a796735427cf4e95b5]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e202010002820181008b2f63e12d53676d96f8d51b58af53305928229ab73a601ded828da0b84e2863b2e0f860c3be7ec3e21493b6daa2043d912fe0648b2d5c8f6d049ce421480f845e033121e0aded71f9aa4df21c8f37dca8676de17f53f614685fd8fa752b265391bfafc7944715c232ecb28009441c7a3cf7735f91ab195ccd468956339388ccb7f94c9c6ec2792bb49975c7c885a829f30b191093f3fb69c62ffbbe9b44dd7c7234644aaa629bf60b41d17037006dfcb993d0266c9b900a04a00e1ebb0ec15209372a1f4425499f1df67fd489257056fcf9bc264ae1083120ce2e720d476ad7a901e7312b5f13c3f8410870b6803f6ef13755dd29beb46419529d69b585c476d726125a0dbd58c561f0726372ad2003f17b37f0b449ce31481862e0f3702179bf2aac93b81071a835cd7e59b12ca237540dc5ca5c4b1c7037e35fedca623ffacde347ecf28a99f5eaa884f7740b291324257909b743075b984b0bb3fbe2fb3b18f42593d88e028a1269f97b1a45178e2765c6fbcc1550a796735427cf4e95b50203010001028201806ef4bf85e2114c31841a28211dc8dee37b1fd0be4ff53c6c7f4c0545abc7bad107e7ea7991724a323407bd5e16daf3d074ee9aceec58a4223e815fe54956ddefe2d65e93a83e5f3cee104305109967aa03a238697c8cdd6e956a5b5a068ff884c47af051853649f53f8d8c1b1fc7e97fd51c5b2043cb077400bd0b7ce9aee26e78f74788a98f64f35f8cbae52248d2af666e6173e2ceac8d3d0e417d48e0544501f21c459da0f0bdeb6973e22626b487b5154de963c97bc150c09ba109f4104dfdcb28098b8d12310c42ca7470b43085bf4693ea9529c71ffd0c05a37691b4f2a975bf16e3cd61523303a2b39bc1667e2a9a3bb9d851eff0598dba2acd2e696b618001ec58d2670089e8c241068931e68a0ed0f4bb854e7188e6aa7d88520d3ee8e61dbe048460819c124d97f67ff25dfffb0adba69e7de58f2d97e5dbd632dc810c6e92ad448e0fd15b61df311a41488dea750f5d06adc55102e1414df16d46baf6fa2a5042d8b7ab64b03f4d969a1ec51d1b4c12b9d845a65613207a0729dd0281c100be8a1b8aaac6119298e36cbc334e6f000dd13f5c32c3ff20c9c88781a7b3e9255fe669f5242295259f2f3ebbbc58a69f6e2306de111d634fda3bd8843d54e69078082c4fae1a11236e2bb779b64b24e26898a814ffb611796dd352ead241ba659c4316cd33e4c38c166b6f655c609c7c750d6b1577e1ba3bd8c4a21b1fbf8d58a694eab4f1ebe45de0f4d3cbe979a9e43b7748a4b51e127784eb7a8387429b4edf1e1d38ccef9e1090fecb4cab469e8a9e1198c64b22e3a840713b174444fa7f0281c100bb00ae5759eb408b7ef70b0b11fc92858f010964d4a24647d2599225611dcaa7cd707dd585601cadfa2d5508360852ef178d4ead764f298663a97eed43800ff951f91e0067422eb62903e525a8ac847aa1a5d758ad637cb5db4c3be892801f35ef8eb878bccb00d11d9850106ea6565344d6720bf8f76704203a5b831f14210fa12b4fbbc391e12aed81a3364c00c9d4a3eb36b1225b502d820c65f72efab477677113d6fd11e2a6d979827d9bc1836b6902543ca856a16e0615f710d75c8dcb0281c06f20bf8575aa85af398a52edc502b6cc92427b30bbcf022ace652d5b1a435cf456655d61034d442da814f702a98c0eca2783384b26323cace2fc4a807e00d964630d6942a3a9425ba6b2ca94ab145293d62b4ac4cc8b14cffc94e6e45bf2c7d2e17b637e1509145fcce7a615b8f603eeb69a37dd52890d84401e16e9b8ef9071a6de6db150f3a2c27a2470ae9a22424b01bfc55782e6e220611eb1daaa75d77cfdb66396b03804b966c7a42cb82c3", + "ce55de1a777e77496d0979d32b89431a2e30281c078afdfd4903bbbd44b84b4a3d85fe1504112b23558e5c1e5e863d666395f38c3435b2e5af7512831401cb19c3302fc434237f8670acbdc48d75934897bded2705def20e5b1be8cd713716819fdda1945ebbd5455eed11e535fccbb7d45cf5a553cde274004d81f16d6bace314cb81d4e7046d623d3f217921a1a8fa4f811cda480a7ab35caea031fe958993519a8089a2b904a23d7c086e657e0188e86cb565d196d69187f0b63f3bab728f857e574238609f2c3930115fe23ff590c8d7136310281c07e5b28492e5eb593d7cfe662695cc08295e5a1fe58d7e16f74f50b839845c165afd6243ab56d1e5ca779d36749c1894d0d12ca181aa28d7aae00dc00240b4d4a76c0da813665d798637561b2cb16c8141c8322912843dbc1bbf2f9ef9f6ebd2924a4237c35450c426d71724757b6df068df6ea1f7759957adf1fd84bdaaa0a1986aacca2f7a2ef1059581003b4f3c69dfbb54af5f1832da2a91e62f79654761139a1730c63cc30d505d83590ca08a0055a5815a58ee79211f5da58c0d418475d]\n\n# tcId = 37\n# ciphertext has high hamming weight\nct = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = ac67e5419767f8f024f020631ab21a9f6318d0b71a470d8b757f60c0f6d4fa5c42da77275aca90d3bf48abf634be42a527ef2b6d1e2ab0d0289714316d310a1928a572f368ac5a182766c514ab376b3d16ca23a40748b62eba6a79de16559a46322cc490cd7a3d68eb9f3c412d9cbdaa36ec32c77116b9c120da6c91a5\nresult = valid\n\n[d = 00a2de4e3c98364b6e7bc16e1fbb68162d541fc8e93a1e03bc8523e534017a298741ef01ee1336cb1a5044cb0fb7fdf3e2d9801b37460385b241bb4f30d236abff84c06989eea1e3838b312bc878aaaba1a99040037aed262570dd33eefe673ce80f474c2ddb9b722c5edd79fc77af64e3a4e83d3c198e6fe1dd2136bee9034206e37abefdbeface0725ffe15724a531deae6b9bad26f3d1bc5a3ad5ce6d85b625251568767f886d6cbf0076f70ee06df5f674d0e5637b617eff15dd4b16f390db54c4e857810905f78719a6f814fb955f655447e83ec967e12b87be35225d9aa5a4b206dfabce9e689bf822bc6dbe9be6852c09b7a9c3e964460a759c302f82e634768852ea8f76b904b748792e6acef023f72058ad4dbfc2267a2582cf1746e92a5716ee08d7cce954c647cf9c5d33abb79ab9bdcadf35abe2a49206fe98800461ff321c6712409de1e77fc811904778e753216ad2a0655b6bc222f4e8c517251eb39b20554911b442e53b445c317c9e1a64f0d5075c1638169e70256919e961]\n[e = 010001]\n[keysize = 3072]\n[n = 00c9fc329bc6fc79f71c8c20943ea576394301f78bf1a33d53c99221b4e084709bed7288d1ce0f13c17c421cce98f6bb6e9938d03023b4ee3227db7569cd7d83715dcd09ed814cc270a4f6a6783fb07ef17055d98164785bbeca48b7b7e377c5fb07d488a7bade1f529da76b940e74738ff2f55b8e1ceedf5af7a6119ae0b390e1809c6d31b53234fa476929b5c3d82c154229287a70762ab7e6ba57da8a49a46d2b2e305130fed64f7097f2aa804e1d4cf1e6dfc08a6fa0de4cf62c31e0f0f0206ba7d81da7fe0950867d4a3a3f910e6c6a644b1f4c5062fdd50aa993ef0c2d550b43efbf56a5036df05fca808935a079fdf146fd0976c2fa0a1ab96978789a3bf384d4ca932ecfccef42aaeafd6fc557f4b0059710e382c6a87de0c6bca80fea903b12eaa0cc18347f5036be07c20a071493f636ce0ca42e8d0785d37de850dc3834e81beb9be138a14204657f3c405f0e071e90081053e3c92c3e5a41a473e0451ef2d8fd41327a98910eca92cd56c8bf7a434a588bbccc0037863863f6342d]\n[privateKeyPkcs8 = 30820700020100300d06092a864886f70d0101010500048206ea308206e60201000282018100c9fc329bc6fc79f71c8c20943ea576394301f78bf1a33d53c99221b4e084709bed7288d1ce0f13c17c421cce98f6bb6e9938d03023b4ee3227db7569cd7d83715dcd09ed814cc270a4f6a6783fb07ef17055d98164785bbeca48b7b7e377c5fb07d488a7bade1f529da76b940e74738ff2f55b8e1ceedf5af7a6119ae0b390e1809c6d31b53234fa476929b5c3d82c154229287a70762ab7e6ba57da8a49a46d2b2e305130fed64f7097f2aa804e1d4cf1e6dfc08a6fa0de4cf62c31e0f0f0206ba7d81da7fe0950867d4a3a3f910e6c6a644b1f4c5062fdd50aa993ef0c2d550b43efbf56a5036df05fca808935a079fdf146fd0976c2fa0a1ab96978789a3bf384d4ca932ecfccef42aaeafd6fc557f4b0059710e382c6a87de0c6bca80fea903b12eaa0cc18347f5036be07c20a071493f636ce0ca42e8d0785d37de850dc3834e81beb9be138a14204657f3c405f0e071e90081053e3c92c3e5a41a473e0451ef2d8fd41327a98910eca92cd56c8bf7a434a588bbccc0037863863f6342d02030100010282018100a2de4e3c98364b6e7bc16e1fbb68162d541fc8e93a1e03bc8523e534017a298741ef01ee1336cb1a5044cb0fb7fdf3e2d9801b37460385b241bb4f30d236abff84c06989eea1e3838b312bc878aaaba1a99040037aed262570dd33eefe673ce80f474c2ddb9b722c5edd79fc77af64e3a4e83d3c198e6fe1dd2136bee9034206e37abefdbeface0725ffe15724a531deae6b9bad26f3d1bc5a3ad5ce6d85b625251568767f886d6cbf0076f70ee06df5f674d0e5637b617eff15dd4b16f390db54c4e857810905f78719a6f814fb955f655447e83ec967e12b87be35225d9aa5a4b206dfabce9e689bf822bc6dbe9be6852c09b7a9c3e964460a759c302f82e634768852ea8f76b904b748792e6acef023f72058ad4dbfc2267a2582cf1746e92a5716ee08d7cce954c647cf9c5d33abb79ab9bdcadf35abe2a49206fe98800461ff321c6712409de1e77fc811904778e753216ad2a0655b6bc222f4e8c517251eb39b20554911b442e53b445c317c9e1a64f0d5075c1638169e70256919e9610281c100e86eb1e62a4f89475541013a3d93f85f17c7c33ffc36b589ea6d7bbb577db9611a941d50fa3123cf81d606d2eec83ba476e29790fb9e27fed438deba5191016773e9816bf164e8a5d4029481279062733fb12c34f16e455676d77541e844f1e20e103cd7d18cd10203d2875d603af221225a4fbf60a6d068b3a61812db0c9907dc02c305ef88d436669650e710d939a2465696b1363041bde9b98c21d61ae217a4f933f342ce8062701c2d63badcea3390d9ff988b3b607e392110c4ad68be990281c100de772d06a37d41db1e0953b8cd01ec86bcfd7fc3e17b2abfd0db61c37cbacc514dc5d0079e65bf0f10ead78356b7b2c639513917278731fa9e0c00778f2325f3cf85403f2ed8451a13edd6d2fb9386dcec2f9b2892d935340e125a30d98d0422171d923199f48925caac80c04bb1b44288f83ff1618b2a370f6acb61a79a74f0715baa52786d058eb40b50d37c9a734ee938d7ad31abde418ecaa94fb7c85f42c954a50d93743013393c2ab42348bf538a823bb11a7e5e946ef3a9b5746442b50281c100be03005bf0eae486f4231825cc8152e22a469c4f8a980f00982cb8a2067c393830ca34cd263b55d325891a3b06099af87057fd200112e20f68deb4f60c0846e593d4a880ddee68626857539fe2001efba86de67dc1812c1deb39681a610f3bce5940dcfc71ca7472f93cfa7c5356dcea49731b0e90acce6349b9d6a4537e90fbe3d83e2674139fa8796518ee4ccfc855e8ba90a67e6e24d06469d32d3622f401f053e92c4cc9141b651b23e00bbadd9b1a279cd3cfbed2bb5d68b294964eb2c10281c100d087f5f4db1b76b7e697e79abad0aade42197dc2278244b83916ebb54b1dee97e7c71d118730e8bf3ea46410012180babecf9c2c5029327831de1e31f4428638dcb5935ba695a370a66db38961b91019d66b698dc6d9443ddf52e4a815c551b282e87d39718eff6025733ddd0317385985faee355db20d883f336421cdf1c2dbffe664e99968d864c3f0377b86b9608cffa100caa05cf2a1912ff7357a98a07302360de183eecd81b78ce69aa4d8743fe2fde0e64a675a50d9101e6cb105aa610281c1009648ea8b6de3e8879e8d2d60382b8228a41fdbc94fa87b797ea4290afa872ebdaefcd234229d200ed2b65013679e87bd18ed9a29861e299dece7711a74cee4cba2c6bd9391ac87e618515b63d406379752b6da3f151756733dba2f252907497bd14ef3173022b5dd7562f1c9bd50bef17202ceb738949b719e18d98cb514b420a0e32285109f3ed0a559ecd73e2a91362bd3e8b306d165da1d20e0b0268da5a23e1f44cf992c7b4e4854c325f6143a4d9aad2fb676f9070950f8e8b9dd132993]\n\n# tcId = 38\n# ciphertext has high hamming weight\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = c92e460c4da52173b526a1cbcb2fcb517ab335adfce02fb4a439215476225e82fa2a5b68fe5dc1a8e4f05ac309e31c3fb5b4b91a8ddddfdb7d83dc8bfea2429cf93c2e63277bd4f9202f92d8fd36242984f237a3ecd8966ba9f8e4457c158277a2ec69ec8ca5abcdb689102665827471044a491e951ce64ba51c7fe1e00", + "a2d8ef3731ccabbcc2867855d9b839df26a1f7b3dc0eac2e0b7700f0645554770713b78bc3a742b90c7277d35a789cba6e750bec9f73ea4128f9d411325c5536fa4cb9453ee2bc5b0f800db8c37570cd08322d3e518e48fdd61c58d11f7f3748a8a07109914082581a41718a05c39480948fcdb1529e71f2356449220efab9c53b38d5393869706993330c034c7d1b0382228a82c805ffae59a669c11658ecf97240037c467762aab6c72b9409c7274b50d94d3d730ab157275f9c974\nresult = valid\n\n[d = 00990388d1b5ec613b9daee3a04693d91b5af7ca4a6d3af89b45b96af5a520c662829f4023c5e2a99ec548d90c11acf76837ac89abf4d0ed11f675f35cba50c8200f49d496471f0d91720245cd4a9f85c0d87e8045c6db28a79d41bdf09e486f5de938f17acdee3a8a675038d77fda22230c8913eb597f8392313fee8f965e3fbd64dc85dbc2afc058c4ecd444f5c94df552db4a1c25ede5c8aad49f6219dddfeaee2fa18cb1b02ae777bf3cfc2ea84cd21b981a292ed39efa4209901e72d6d9fcaf0d40eb9626716aa99843c9f65cecbc80264586013caf7382f051c3f3723e9e5afe0878e39c9efc8ff32614e92b6d2f077abf5012eadbcc26eeeb47e153b928e634bf940db6ef248d1d0f35e5c4c0cd3f39a7cf3bab50ebdac582f569db810fef07c6b2d77458e6610b6b01941fb598292dd792ff08275ac6e8a542cebbc0f73f0e3d3dc73f828f92dc62b158427f4c05004d56dab7c7f67844ec16645753f2fadf510b2c567ecfa3e8cb7f98634f5ebc5ae246d4e9c673c38c79e0ceb8752d]\n[e = 010001]\n[keysize = 3072]\n[n = 00b8ed73687db7c698093a1d9d6dbce077230a07456d8e1317aadb709ccf47121ec1b4e751bba4bbba7bff4b1e55cd6ce974111893189125eaeee2e77f3da36f4c90c0677b87c171237c274bbc3a94a9abb471969f197940ff0823f82ca9252ce6ee1b6c1a43a7c25df1f41d0f7e16b2b104933cc8968daddae360b751cda7d543c7de3fbe2ca5de6b0283abe1d09a7c41c67e31b0827ec608e8110173e62f9f95902c9062a9c20e21f4ac55c438eada46f9d4ae0e58c41d50f1cdad0dcdbf5b21c6a6a1dc311b0a45d772ee928a4ec766331df2810998c3fbff16bd8d3e2be51e3b30b4840679e678194f3889830057e59e511d06beffe040523b9657aeb4d53a53103011ccf8e55faf0cef4bfce1d27c6e8683205618639be4b78070efc9fd536e70c578307bc03b400e6f7a4ce2aca86a5d74e6fea44349ebcf2c58902ee143c58133f395a39ba7b7a1057a52a02376be308edc441fbe775fca9d4b098f8ba018015a7efcba7df8fd86d8d6235af3b855bbe5e470c85e03545aa3d3bb5a5551]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100b8ed73687db7c698093a1d9d6dbce077230a07456d8e1317aadb709ccf47121ec1b4e751bba4bbba7bff4b1e55cd6ce974111893189125eaeee2e77f3da36f4c90c0677b87c171237c274bbc3a94a9abb471969f197940ff0823f82ca9252ce6ee1b6c1a43a7c25df1f41d0f7e16b2b104933cc8968daddae360b751cda7d543c7de3fbe2ca5de6b0283abe1d09a7c41c67e31b0827ec608e8110173e62f9f95902c9062a9c20e21f4ac55c438eada46f9d4ae0e58c41d50f1cdad0dcdbf5b21c6a6a1dc311b0a45d772ee928a4ec766331df2810998c3fbff16bd8d3e2be51e3b30b4840679e678194f3889830057e59e511d06beffe040523b9657aeb4d53a53103011ccf8e55faf0cef4bfce1d27c6e8683205618639be4b78070efc9fd536e70c578307bc03b400e6f7a4ce2aca86a5d74e6fea44349ebcf2c58902ee143c58133f395a39ba7b7a1057a52a02376be308edc441fbe775fca9d4b098f8ba018015a7efcba7df8fd86d8d6235af3b855bbe5e470c85e03545aa3d3bb5a555102030100010282018100990388d1b5ec613b9daee3a04693d91b5af7ca4a6d3af89b45b96af5a520c662829f4023c5e2a99ec548d90c11acf76837ac89abf4d0ed11f675f35cba50c8200f49d496471f0d91720245cd4a9f85c0d87e8045c6db28a79d41bdf09e486f5de938f17acdee3a8a675038d77fda22230c8913eb597f8392313fee8f965e3fbd64dc85dbc2afc058c4ecd444f5c94df552db4a1c25ede5c8aad49f6219dddfeaee2fa18cb1b02ae777bf3cfc2ea84cd21b981a292ed39efa4209901e72d6d9fcaf0d40eb9626716aa99843c9f65cecbc80264586013caf7382f051c3f3723e9e5afe0878e39c9efc8ff32614e92b6d2f077abf5012eadbcc26eeeb47e153b928e634bf940db6ef248d1d0f35e5c4c0cd3f39a7cf3bab50ebdac582f569db810fef07c6b2d77458e6610b6b01941fb598292dd792ff08275ac6e8a542cebbc0f73f0e3d3dc73f828f92dc62b158427f4c05004d56dab7c7f67844ec16645753f2fadf510b2c567ecfa3e8cb7f98634f5ebc5ae246d4e9c673c38c79e0ceb8752d0281c100f48eaec99e76d7f54b1c8bf9725f76464c7c8e911e86b50f1afacad842d0c96dddd7f7359e3a35b85993f0adfdcdc1c2d42c1ac3f724247f325c5377ffe0539fbd367688e2794e16eae9fd0e3dd58c2a3d16789b6fe5a042a3950ad3e0e17c30ce65adf29d281f1c056549281ede6130f084d5919adc1ed7479f60a8d06e7317af7a507a6e3716cb84298de13dd40e8fe096793d85bc5d3cfc0bc80589b27210ac401982ad647aa9edf606cd1c8a1b64280cc8a6f54444f396f95f58ff55ccbf0281c100c1948518671d56363aa95ccdedd59c74350a75cdf16e593b37e311412d6313a445838368da70abeecea09a4ec2ca1eee5ed21ecde2b1357cc332251d3b291ca2971b9fef315d2376d744755735fce2f8462ae6109dd7dfa517a413de22fb5af82f12dbe9afa312291022c887ef9c22606b90c1e2f5062ff18ae17606134a3d4bf9c04ce2d43512ae20b99373d906d49fd7d3a3d74f27fba5bb75344e6cb65aa55138d943e41b6d085b762407d8d0db09d492ff90e2b9e069b4b3a9fb68b891ef0281c100a173790cfe22b35beb24837c40f7a8dbac2f26e7c3616732fbbaca238fa8caf24f5cfe85555a5490ca0293082ae0a5a47bf24a11499d80c2c07a97584782cf724bb622f7279cb1e30b5f42831e6b56c7a3e0abeae22a946caa160139f3e2a8dc87c634da50ca660f57b8905d7e538d9283970e6fbbeeca2591d1343cfead8c29fcdd2138527ee7fb9fdad721f67182d3958f81a70e1d56e8a5f5192e1ec3c1ee23e9856df20ebdb465b6e0b294bed06a84ce3bc18d766e96e9fae3e99b58077d0281c04f1d03c8155c47ffa1b9d5d3d37f9991649c01c9490270356381c96b79c12425dec300d1b97492cfe6627cadf3ade736444a5b8c89392342fa036467ade5ff6df393b6a96ae345bb2bff2e7595fae447d36574e115a1442594a3d9facf112afc834091dfcf8835c3d27464c0298d05ffa1f66746fa1cad3b6a26fab540ecf660369200da331ffda26c7d6b65cd2c9d79361ba8ba35ff81391a83abfce131259aaab731142e05876a02f725828f79cc0b18757b3d1b6c1beb178ed5c989e2e4c10281c07fa908f5194afc32afee234c2a3c1d349e37982be7431e4c67667eb306a436200c31dab61f9b52ce3757ee52f73545146171886ef280dbb7e67a3d6c01531b8f99529f8406a8fe1c56065b563ed2395d10496564c6775abdf4d7d078a28fe67d8d5eb5f501849012f0c3f7df7c8d9180ec17c17d06d5c218a0cf52f06f6bc3c7acbad3595737bfe6c6bfdd0680c292e665d3bc794c2231765a321b3b9d718402b59830085a2cf3ed70dc1c7708beceb9bbcc2d641818028c62f232deed68750e]\n\n# tcId = 39\n# ciphertext mod p,q has high hamming weight\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = caf34c65e77454e988e0aabb59efa0d15e204690a1340bd7987f1c1498f8fe0029feecdb6e80f61db102db323691c14015c73368107585984d112de11a96a52a572ab5c58c5e3d6922c5cb3a123bea4a71dac249a1a81bc8c0c8f168195f877e422665676da11bec2a34ec55c6f7eec66f1f6a821ef8b7b0e9d442e57a1161c7f9464ade2d60764db3ee585f61bbeb32951d3a9e00afa25dfd8e9549d5a0f25710363ab21b257a85945ffad891e0c7f58eff043fd0a807067588f7a1e11f77784b32a637184b9e6deeadfbf7d533cbcd4c2d752ce749c80aafa183b71baf882cadd1d589e2c3f954e66e5b99cdbc1338d096c7519f6d0466005534d02b32\nresult = valid\n\n[d = 6645fa5300af8cc8f4dd73e2add71dd8238cbf80b8c5e22a2c77887e32cb254e5a2815911debd2315c7fc39cdffb5e6a978847916b53057aa38d1a6031980dca363b0dc2f05a7b370395161dc961f1d6eac7bdf2b096be69ffff27b9970f6bef43866812708de96f42bf056ea019ae5e88d347fc13ef37f100545259b002d7d3297f8c3641eddc80c22c841c7996148e81b2be000b7a45e6580ef7dedfe04ef8bf64fc6e94c021a8ca0d5b035e3500c5669918a2d8e880b8c01a559fb74d3c31911e28d6912d103bab9fb88f00679158dde953b6c61665c088e007623809391d9ddf5a7f0ff4229e3de1861a1f5ae3680384ab1df1f8ddeb3d99b5242a27ea0aa39b761aa052c9e995913726a79a74ba6831dcaf9416add437e4e9c845d79694c3acc2431c566d0321833daf3896c970d1737bc3b9fad55f3f68cc48fca82eb471884defeb5155a909e35d89daaa146a7006ac60e4691fc176f1b9ed055ed9879da1d57abea8989dec576252adc49c0de091c3a966c20731ebb656d04f700181]\n[e = 010001]\n[keysize = 3072]\n[n = 009e609b33015a2e7284862be78c5a9687f42c6b0d56f860bc6e2cc1a087bf72133ea3ddac50a077fec843e50cab9353722054c705c83e304b0ff31d7c122c36ea1bd85deab54c1cae6bffe3a8ddf903c614163131711847dddfbdd8ac82a3f552546afe0d2150629b1c165581b1a49d4cb6f506a4dbf007a5b3bae35ebf6e18d33d433889f459af682342e5cec8907064e309f2e3f8c7875cc2e1fa7549e869fc27b124e3e8d62c710ac62f1a18c45203ce9b58902b54c64b44481d56864816caa356471083fe4fa092d1565520e108b9e712b7807fe2dc", + "5ed3a74d9c454f4ae391d75def750088dafe51c4c43a7496ed0655f8ab0ddcaebd5f734412355d5bec8adafa009f1f329afdc44e14127983d783ab910453c1c102c01f249812206c5746e7a94015158ce19e5ccc10af2ec84c92c56fcc260d0725eae2a8c5e7faf154c37411f16c85ea322794d6b42e4f4e57d843b064168bc4f9b0390182e675fdd36c6f34ea9ac3a41e4faa82ac4c71f7d5dfbe0d3d04a1ab1469ce860da368ab15]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e202010002820181009e609b33015a2e7284862be78c5a9687f42c6b0d56f860bc6e2cc1a087bf72133ea3ddac50a077fec843e50cab9353722054c705c83e304b0ff31d7c122c36ea1bd85deab54c1cae6bffe3a8ddf903c614163131711847dddfbdd8ac82a3f552546afe0d2150629b1c165581b1a49d4cb6f506a4dbf007a5b3bae35ebf6e18d33d433889f459af682342e5cec8907064e309f2e3f8c7875cc2e1fa7549e869fc27b124e3e8d62c710ac62f1a18c45203ce9b58902b54c64b44481d56864816caa356471083fe4fa092d1565520e108b9e712b7807fe2dc5ed3a74d9c454f4ae391d75def750088dafe51c4c43a7496ed0655f8ab0ddcaebd5f734412355d5bec8adafa009f1f329afdc44e14127983d783ab910453c1c102c01f249812206c5746e7a94015158ce19e5ccc10af2ec84c92c56fcc260d0725eae2a8c5e7faf154c37411f16c85ea322794d6b42e4f4e57d843b064168bc4f9b0390182e675fdd36c6f34ea9ac3a41e4faa82ac4c71f7d5dfbe0d3d04a1ab1469ce860da368ab150203010001028201806645fa5300af8cc8f4dd73e2add71dd8238cbf80b8c5e22a2c77887e32cb254e5a2815911debd2315c7fc39cdffb5e6a978847916b53057aa38d1a6031980dca363b0dc2f05a7b370395161dc961f1d6eac7bdf2b096be69ffff27b9970f6bef43866812708de96f42bf056ea019ae5e88d347fc13ef37f100545259b002d7d3297f8c3641eddc80c22c841c7996148e81b2be000b7a45e6580ef7dedfe04ef8bf64fc6e94c021a8ca0d5b035e3500c5669918a2d8e880b8c01a559fb74d3c31911e28d6912d103bab9fb88f00679158dde953b6c61665c088e007623809391d9ddf5a7f0ff4229e3de1861a1f5ae3680384ab1df1f8ddeb3d99b5242a27ea0aa39b761aa052c9e995913726a79a74ba6831dcaf9416add437e4e9c845d79694c3acc2431c566d0321833daf3896c970d1737bc3b9fad55f3f68cc48fca82eb471884defeb5155a909e35d89daaa146a7006ac60e4691fc176f1b9ed055ed9879da1d57abea8989dec576252adc49c0de091c3a966c20731ebb656d04f7001810281c100cbedaf29abdace9553066bf9b552e7427342b931846dc80c4a093f51350a8587e47fd7c1650149a4ef85f4be5b2f57d51de374d8c8cbd8e907befdd9c795753fdf6c47b28a7c0ee8c8aa124eb486d53d8da2d959f4c9a742ccae9f4dee7bb2a5ae92b7170dd15c054fd18ed9eb6488e0e2b4e45bcc1a9b1b6302fe12a6dbe54d9fc371478a186784e9cd4eb4682d8aa1d8b294661abce3b075c054faf2d9acb4854cf18a639afa70d06d753b580be87b65c86091366b489c2dfad75ca52031b50281c100c6d15b3b5ad90ce9223778464771faeb7252c0404be55fc5a704a9df46157f3d2f24433ba9fab8037aa219474ebabb50fe307ae9dc4179da8a28c60f9716cc0ca9d8d26fd1c353246bff98698b67d4c57f094f9b9b518aac5c20ff0f9f983073a547926c6609f91d98bb93563dff80c53ce6dda01da8bfc246d5a222d8c7ebc3c6b7df1813e393397bf5f46d1d5426f8d4c36db7820788b4f688a989d01a8ddfc642c516550235258272dab9d9c8033a6fe5731d231d1b2b9afe8c6b7a01efe10281c01b5f8b3c9fb9de330313009963327ea257d06405768e39e514670b5dbe2dec60a2565ac2b5e9275681644cc6e47c8560b1036022dd492793981b95fd8ea1cc3c47a444377e094b030a347202a88ed4becf6d4599a29712e18f91fd063bf5d4b412abd4f1be4415030d84c6950fd8cddac9f398178e5d1fe6dc3281a2454d8d090f61efa9b7aab0f29163a2a5eab9fa3ae1588f3ce967e374434a0ede248cfd76b9d1eb36354a8f456764d9f09e4ff2e3e574b129acd157ccc70b3daf4ce6f6650281c039d7d11e2ca9375b608c18df018c44bf596c7fe874ec4ff7d646c21166777ca45561cc79c053645406cac066019ecc3e9d2587ad205aa054179c133b97ee97011c2d2bd44287fc597d5e487e748389e0c7bbf2c047e8ea5a8917447dcc25dffad55c445a6b397d93c1cad8ebdf6fc58c1cd2e229e257252b25a6a3dc558b9ca941d85efcc7548f91cae1dcf21df54cbd5a515d4b657641acbc893822133c9688434b4bc1da8ba0e0bfda208eafb0c457ad14697051b5f720b1a05b442da400a10281c00a973e8a43bd577433a6140c4b3c9b8cc262da5dac3ff758b21571634826e2d2446fd08d5afe1f9322b0371300ad38ef4b2aa61c312ad8f89e5dc1a35778d1d27088bf6f2d0cfa14442c846a2a11c669bd08e431006d370d86fe8d98d762bb0ef5a7e0ca75abdbdf1b6f38d2e1060924b62a67bf919be34fc09e765a9037feb2a5bbcdf2d72ac2d8366f54d74e7cc7741be6d0789dc693fa97de28e4953c68b370a188b850f001c85409449e543123a88c737be4ad1cfe7fd46d4bceab695244]\n\n# tcId = 40\n# ciphertext mod p,q has low hamming weight\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 0f23dff763ec6364f74289895308e506f726b6ba72d368c3dc4adff79bfcd7ec6c2d6b71b529e42e94578bb9046060e60d262a0deb0220eca9e010aef789cb5b035b7012ea5c8713e4f50af900c89bf016e0797110221a370a5059a2592467cb51b1e799d59f427b5ffc14f7b393ea61578f2746236c901b0f027207b2098b4ce60ddab440b5047b5779dd37738ab6357b0596d2047ab3900601ff816d0fddaf4eb7e8aeaa31b061888a3b8156ea3a6ab56ab233529f9af1c728c1c26103c02e4550ad3a35fd4a2afe78278fadf6eb4e90e5449ffcf2d141ec8df12d1a9feff3cd47a1b921a0256362f7ce551ccc18651a6cfd650739cfebeefe29d2723ce9fa31e345bb4cec71bb5e6f595b7a69b7b98e81f62e55a6b4715bdc92f7c480727d6df9bb9cc38c683edbee451dd070a54938312d850f2842c2bf0a67edf2\nresult = valid\n\n[d = 0099ac516de271c4c1eedc6b8d68c7e4be06ebecb349223a92b59c6fef56d528a7917bc43baf271ca58a4f02ca1f96b761c6f5235145a41492eb528f46ac520ccbaa2f76426ed73b3de21fa5148a8784cc0c86a249503dfb13e694dc4f23c10350d7c098b5b95a90d3ec511fbb7b9ab144357c9537d61d3d5b8dd03005021ab22e7444d8269e8787b0a148561597e88e6fc46e1024642da180e1ea4e9b1a64abdc74742cb25d7a35b81b39fdcb32a0ad2a49d01bdc6d4a967690ae1234b5ee170946ba21dc30d74dc106583de7196807b6ac43517fd384f354a34bd5cb1f8c4ec017a3e6769b63a1bd95742805739a9dcce411ea1b73a7300b7b30c351fe28da0d54bf35e7f8c3ee4f1ab1e321ffdaa5193787c038fee55f66c6d9368029d5d1f82db19c2a09d19513ac7a75ec9da01915cc77ec8f8d270c18fc477c7fe075f0f6c3abe234daa66f6b52b46fb54c7e7495d818317956ad89620e746408ae241284ab7c5bac073cd5120d4f9826b070c3ff7ea7bab641a92414dcc63ca321124d01]\n[e = 010001]\n[keysize = 3072]\n[n = 00b9136e0114d7f766205493ef2415927b1ce623586189fbd6180de9dc27eef2e468c606b4b65fff4e8b6e9516919fd3db2a82382c303799066e31965aa6f1b562fd7aa1cb2cb456de15395dd6fc2f5c60e5f6dbc2fc7b840e976b779271a66066f26cd58416096db1f0bc01e2766b9810a101ed6b673e4eb5638a18e457e5563450afd0b56efded27a60e6213c6fe1d7ab7fab705c881c16f0916fe2f9f6d407377717b04a9b3446af1f531adf297826327a08bc2ddebdac3ea79c11d76e12aca51c34be918b8eaa7780ab1a69f447671b5289f829dd97b60be15637a12cafa209f65e049029813702ec9581be3df3dfaaa6fbc62439194e68233f191b21bb233c7eee8dc43ff4be9f91b0b60f1bca7cadca5ace4b919645a87b1f8e6191e27845b467a35ca612c7f6f512921fc61572e464dd90af7f7fcb72f00298cc13ac888190c9f25c7407c1c1b4275e348e4cd2ea4b87f4c2d8b9459bbf699cc2b38ccc80d33b6d96e9b61688e20a7dd71cf89738b9582f74e3d11e311cb2a42ede808e1]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100b9136e0114d7f766205493ef2415927b1ce623586189fbd6180de9dc27eef2e468c606b4b65fff4e8b6e9516919fd3db2a82382c303799066e31965aa6f1b562fd7aa1cb2cb456de15395dd6fc2f5c60e5f6dbc2fc7b840e976b779271a66066f26cd58416096db1f0bc01e2766b9810a101ed6b673e4eb5638a18e457e5563450afd0b56efded27a60e6213c6fe1d7ab7fab705c881c16f0916fe2f9f6d407377717b04a9b3446af1f531adf297826327a08bc2ddebdac3ea79c11d76e12aca51c34be918b8eaa7780ab1a69f447671b5289f829dd97b60be15637a12cafa209f65e049029813702ec9581be3df3dfaaa6fbc62439194e68233f191b21bb233c7eee8dc43ff4be9f91b0b60f1bca7cadca5ace4b919645a87b1f8e6191e27845b467a35ca612c7f6f512921fc61572e464dd90af7f7fcb72f00298cc13ac888190c9f25c7407c1c1b4275e348e4cd2ea4b87f4c2d8b9459bbf699cc2b38ccc80d33b6d96e9b61688e20a7dd71cf89738b9582f74e3d11e311cb2a42ede808e10203010001028201810099ac516de271c4c1eedc6b8d68c7e4be06ebecb349223a92b59c6fef56d528a7917bc43baf271ca58a4f02ca1f96b761c6f5235145a41492eb528f46ac520ccbaa2f76426ed73b3de21fa5148a8784cc0c86a249503dfb13e694dc4f23c10350d7c098b5b95a90d3ec511fbb7b9ab144357c9537d61d3d5b8dd03005021ab22e7444d8269e8787b0a148561597e88e6fc46e", + "1024642da180e1ea4e9b1a64abdc74742cb25d7a35b81b39fdcb32a0ad2a49d01bdc6d4a967690ae1234b5ee170946ba21dc30d74dc106583de7196807b6ac43517fd384f354a34bd5cb1f8c4ec017a3e6769b63a1bd95742805739a9dcce411ea1b73a7300b7b30c351fe28da0d54bf35e7f8c3ee4f1ab1e321ffdaa5193787c038fee55f66c6d9368029d5d1f82db19c2a09d19513ac7a75ec9da01915cc77ec8f8d270c18fc477c7fe075f0f6c3abe234daa66f6b52b46fb54c7e7495d818317956ad89620e746408ae241284ab7c5bac073cd5120d4f9826b070c3ff7ea7bab641a92414dcc63ca321124d010281c100eb08c8c7b3034a9825fceec9583561976a0971ffa3ee2436c56a4d4d0281044257272783b2a7a5a221bc12aac6758d07d744611ccf68e766c3efbeda97462843925e13ef8c883bc4732dcb7d0f53aca4b608c10b423b59809b66fce4483d036aba06c62a48063e7fadd32e5401cbe86e585e9bedf62bab4a7c70fe097169069d30de223b4699eab45ff799d16c1c5388ae76d8b74985bc77a47a0fe95c7745147c78da06c8a4b2295f8497e49911198238b0f6e70aeedd83c91b75cbccec20d10281c100c995cd0a3abf17a89831fe4ffaa634970edf570bd3d7c42125cba66fe0f84b8d7564ae618ab237984d5a5c37bf10c7d67b3d77ba0081dff35f32d01a3e4bf6454a1b7c8bf66a5052f1b94441a38251b997f3aac77bc6eb36a08273d60b649c8743598a64cc8cde15335c9d36f4890276cbf71bebe3bd22c0813c6936dc4ede8ccf9f1b81f89f07fc5a524e06a7d3a238f1826fec5987bc8d6d5d091b67d581b1f26f8c857b7487e51ada4de64c907b8611cd2c8324957440dede99ee44faeb110281c022b543612a305c3da7ae785cc767eaa77f8331907cd6d806369502215333563badbf1c78b853458471d2e236d1e3de15c0565ab8f4701b6bf3975de9cdd9106d1a1a467b639762ac1a0e33349ea4cea3ec35d2bc24e5bacbe1270e456fdd82b9aa0b020c90624bac7330f270796b71418a4f3e5b9fb4c730d2bba4e824154c62be2aaf876d5fa1674d9cb4dc5648c095389e585688c6f513fdf8008d87981d5d6f1c31a63acf077850a0b6058e0d16654295ef8022ff2f3b1ce1af3d8f5f77610281c05687319af97a7b0a4841f55a99496c7b86cbc14e77613f73c7087269c5946ec1caa92bdcfcaee10443f7cc6bb55cdb9aaa0dc96d92b82ccc078a051faeabe68af97370f397132d655d12dc449c8ddccca077dc4f8246f141e285fc78dd2d13af4fee88641a154162b24847c78611a5781eb6f44a3dd83aa98d0fc44de3250b8c3fb69915220609647dd4a45f60fc8bbe8b9424bcbbf572aef649a0161e6cdc1de8e58ed8e114351cd778eb45368a322b6b4ab99795457dc036aa3042c1633f310281c01503297285a46cb98d1deffd41c29a22d5c9d1540397cd1511ad8737ec8cce6ef821201c31827be505734c29157fbfad489ff434781f6d7793b9cb81d0a44e12daf16997304f7d68f8314691b5a6dc5c4d98bd791ca8d39a0a5be26b7a8f19814044b6fdd0ed0e4f0d6cf767f457a7ea8d51e6838ee3df61be3aee1b2aba51aa15ff11eb97557e2ce8ccd1347c3ae8604eb3287d84358b9e0b17c4694df03570b74377c9b7fc51157ecfdefe4885c25d626065b639065c5613822c3111d0ccd9]\n\n# tcId = 41\n# special case ciphertext\nct = 5c89b7008a6bfbb3102a49f7920ac93d8e7311ac30c4fdeb0c06f4ee13f779723463035a5b2fffa745b74a8b48cfe9ed95411c16181bcc833718cb2d5378dab17ebd50e5965a2b6f0a9caeeb7e17ae3072fb6de17e3dc2074bb5bbc938d3303379366ac20b04b6d8f85e00f13b35cc085080f6b5b39f275ab1c50c722bf2ab1a2857e85ab77ef693d3073109e37f0ebd5bfd5b82e440e0b7848b7f17cfb6a039bbb8bd8254d9a23578fa98d6f94bc13193d045e16ef5ed61f53ce08ebb70956528e1a5f48c5c7553bc0558d34fa23b38da944fc14eecbdb05f0ab1bd09657d104fb2f024814c09b81764ac0df1ef9efd5537de3121c8ca734119f8c8d90dd919e3f7746e21ffa5f4fc8d85b078de53e56e52d6725c8cb22d43d8fc730c8f13c22da33d1ae530963fb7a89490fe30ab972326ec857bfbfe5b978014c6609d64440c864f92e3a03e0e0da13af1a4726697525c3fa616c5ca2cddfb4ce6159c66640699db6cb74db0b4471053eeb8e7c4b9c5cac17ba71e88f188e5952176f40471\nmsg = 0b1e0135ba1bafface825cf073a96bc48c8e3752b12e39c77b16c22720a7aa058771a76c102a93078c6b591d5453d9191cfb173df257f51f42204ab754343f3c0667d42bf40a63d12190eda6a52604832ff99cc239b6ca0f67c628d297d1b61d0c2d59f734baeae35b9fd8b31162be15e4e0d8c62feeb8ab1f79e09f71e66d18a5b61bcb35be77cc15066af1459f81f85c1a635823e9188b6581b39a537d0b5aeec99f57ea1979ee89943d590745a6b3e9cbec48a784eb184692a4def00715d5bf852c1301e86be7e265e5e42bfd8f1cbd38c52b0280365763215c130c13e86774ad9a76c181e0445090872873c9\nresult = valid\n\n[d = 00af0c90e6c3454aaaa2947571a217c7514d4fc2edf55d3885b97622a992c7d6214c699252da651d6ed63849723e4d8e88534adeed98ad96f2ad79362956843fb531b3fec9677791b89a9e158bd22a850c56bfcefce94f2737e0eb28b6783aa282cf9ba5d7f0a8dd0964793b6cf0fbc3e30bd67931b408e5131e7da3efdfeec3267c41766426806b3f52531780f5ab18ea6f4654662144e6531ac6047bb686adb9ba84c790817b2cc5e10704e67ae5921d7aee13cc8ff2eb480e72a86db2f1f2257cfad6f49e8d9217a195bc077d7dfa680d04516d32cf4cecda512904fe4ccf5acbd0e04439610a7eff24ad59835f4328c16f91246b77d5b13466fcced5abf4f2e1ebb1c2c3b4cca94d676daa64e9212f63043a9a18bec0ae0a0b96722b8d3173a360138b0c532b298ca44dbe24c42e874c0a336f614527ae6b9a0ab4d3807e092d63ca7c511bc91fb5ee294297a1e5a5bb19dd7b7919737fc29ba1358d81765d028a0c318fa3610df9b81640aaca0084e8de719b18110f0c2852951146a06679]\n[e = 010001]\n[keysize = 3072]\n[n = 00f862bf8a5740d51ad11ed85d616e7d7b363ae03060d0a8c7ae4175b559186baadb34f9bbcbb2f4aa399b1688b13b56cda7a2519a1cb7ba1330ecb70899b7f2431b898006f3b1f1832b65c2520a8e1f058938984b7889817fdd6e3402b018e408b98f80abd0a0260eb7f9ecb660f7b7f041db038af1ff3816256ad66ec67f8837e94bffd4e202fddd58422ae968b233584786ec7c9bdadc9c2794bbdcbe374e6a24ce6622faea63f66ea5e73b8592cdba6697b7ea56795e948aded2200b5975a039be3a7cfd985080b4f7d9c00ea3d0872b688c059ed637b2d32492c82e11d4bc2919b1dd3f207dfe6862a7964fe44a77ac8106a8eb3939b242346e43ebaa0542702a79078aeebc4e8eb6361d3fb421052325d890f70b78c851b954cc810d47ca0ed86dc9532bdc55468d30f59ba00bd5a606a4c041d8718539c6c2a9ea2156aa64b58d0e62dc8077643e0afd2c36e9270717eeb976dd6dedb5c002e530e27ce83062b9936d8332e61b56cc1cdb9eaf702faecd269f8cc5a8ac2738b6873f836f]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100f862bf8a5740d51ad11ed85d616e7d7b363ae03060d0a8c7ae4175b559186baadb34f9bbcbb2f4aa399b1688b13b56cda7a2519a1cb7ba1330ecb70899b7f2431b898006f3b1f1832b65c2520a8e1f058938984b7889817fdd6e3402b018e408b98f80abd0a0260eb7f9ecb660f7b7f041db038af1ff3816256ad66ec67f8837e94bffd4e202fddd58422ae968b233584786ec7c9bdadc9c2794bbdcbe374e6a24ce6622faea63f66ea5e73b8592cdba6697b7ea56795e948aded2200b5975a039be3a7cfd985080b4f7d9c00ea3d0872b688c059ed637b2d32492c82e11d4bc2919b1dd3f207dfe6862a7964fe44a77ac8106a8eb3939b242346e43ebaa0542702a79078aeebc4e8eb6361d3fb421052325d890f70b78c851b954cc810d47ca0ed86dc9532bdc55468d30f59ba00bd5a606a4c041d8718539c6c2a9ea2156aa64b58d0e62dc8077643e0afd2c36e9270717eeb976dd6dedb5c002e530e27ce83062b9936d8332e61b56cc1cdb9eaf702faecd269f8cc5a8ac2738b6873f836f02030100010282018100af0c90e6c3454aaaa2947571a217c7514d4fc2edf55d3885b97622a992c7d6214c699252da651d6ed63849723e4d8e88534adeed98ad96f2ad79362956843fb531b3fec9677791b89a9e158bd22a850c56bfcefce94f2737e0eb28b6783aa282cf9ba5d7f0a8dd0964793b6cf0fbc3e30bd67931b408e5131e7da3efdfeec3267c41766426806b3f52531780f5ab18ea6f4654662144e6531ac6047bb686adb9ba84c790817b2cc5e10704e67ae5921d7aee13cc8ff2eb480e72a86db2f1f2257cfad6f49e8d9217a195bc077d7dfa680d04516d32cf4cecda512904fe4ccf5acbd0e04439610a7eff24ad59835f4328c16f91246b77d5b13466fcced5abf4f2e1ebb1c2c3b4cca94d676daa64e9212f63043a9a18bec0ae0a0b96722b8d3173a360138b0c532b298ca44dbe24c42e874c0a336f614527ae6b9a0ab4d3807e092d63ca7c511bc91fb5ee294297a1e5a5bb19dd7b7919737fc29ba1358d81765d028a0c318fa3610df9b81640aaca0084e8de719b18110f0c2852951146a066790281c100fe71517b6934df8e250e6831384f1e0655c9848fbc21038c9e0957edb79c393bb5b78ee76cfffd4a585a5b8bf0ac7bfe737a499328ea1601b33e055947b78248e46635ca7db1a359d478c7c6df814cd3df2a30a9da62059069af414fd21974306962e64480b7ae6d200b555f29f5c5f845d17d4692558420dff3d08425bb0379b0a16fa5954c5465996b2399b9588d6eaa21200b7ee6521420674dba45ddc2e3c5a939ffe21f1f5526b324dfcd613078ffd2650db38ebf0f8b10382753ecfb330281c100f9e7f07f5174344988c28223f2feb9aa0c2a2b95b8b106a76f0e18efd3f89c574482bb8e2b44bc68b1f824962d37fb20139296a418eaf017b51143524ee28753a1c76c7aa3b2802797a4de43075300ee1d6435abf9a20aeda9e59768eb0f942a42f07ff53a7d239f0575008ca2dc35fb782d4f04e88c59a32fcd66c8719f9c75f93ab2bd6463e11741cf334655653a156bb1787d2ae728bf20a779cdf255b079c5d011d3eb0d6de8f81bd034b270455277a02d5bc8fa71cf2297e694e39376d50281c01469ef09a1b536426742b2a5504938b5756887942899d57910acdb3b1d42116d72f4d928441c7dabdb4ed48d73afc2faf534d876501007d7f71380c65af4a42548fdd24efeaaa3da6f2b898bb11ee4951310857afb246621e1f8c79aa9d694f5d55eb3eec70cf59797bc910ae388ee6b2eded1d839a156ca746d514b68e38a31d733fc8b22614f5c1f64f324403494944e5dfdfe2e1e387398edf0d4830a79ba607f6541dc5876e1140bc7679548b8e4dc517afe106be17453c9e757706a50f50281c02b748d79562ca2baf6b0fbf84c54c6ec2", + "ed95662de8ec9dd6b8e43ffd01836f765ce65d6bee760ebc3a6a696069ee968167f32faadea8c7d52db019dda61c1ae653f4c39b7255eeb838f03a71c2aeeca7909e7db53b93db53e09d25e4821995e0fedca12566d54385eb68db5e6cbec07224a9ea6f7d90fed346ebf24b3bd5173a236f6c5c0232e0ce140aa65dc8b91a20febf84bab9e2e93ad95f1b442236c60806941f05bbb261590af257144660967e1ad54b5d528d789713680bdfb24b5510281c100be472f1ea0f97f2ca2a31bdb65a88d766b3d980a80151b34bda701bca3d1ebe8999566753b224c0d67154369ba297fed337edf7d41847eba2314f40ee6fd8bf3d9e5ee66fee41e91973afa417a2defc30e9c0464bcaacdf07b199c9bc7fd61749926315228c4e2cca77b42c770e89b224bcf4b3b9cf33bf4b6ee57b8559157c968c76b48226026f150ad9480460eb2eaaf411f033b9c3c88e9a354b100a9f147f098c9e0ed6f2036e835a36f59ee7b693f564072b7fba657b3d002117550dc53]\n\n# tcId = 42\n# ciphertext is a simple fraction\nct = 2ff41b212cda4ee5aa5d933257568ae663a1af12ad6adc5ff4136689089ba74c250f3ed2f597d2099e138d5325e89d40d04ae6ce25fb76952d1961acd9a1d9a26aefd557998890a878f19ae27ac851f5c964dbf46d7c3f956a239b2e8118a7c863ed3d327f56f72b5e692719b4edd6cc7554394ee4a4781e3f26ae68f54eb24775f4586bdb0cf5aebec1d526714abfb011ca31b8b3a63a129b140c5c0f785b5e6b82301dfb5c2e92e78e554d99c65f6e83c9c389764b0f3e5835399777faf76984fcaed6f0c5d747017233c1ba2b5cd4164051f3467d20c2f5953529f0abcb17576bf197439548e8c3b2bb81f385afb20ad2cc7afa03a3a00d39ab24b1873b76d52ceb3c1092b256dc996d33a49ddbcaaa563c80049d9b44e66626ed05009e171bd496095dc6905fca5a1f705978462eaee69308d45e2ff12009115a741194ba97aa96d96edfe9ce1b0917d6b70c365ffcff99d31869eeda7d44a11f39d9d0178297732eb6d42994bcc589bab94156b1a97193dce42ae56e760947e64254c7b4\nmsg = 9051bb204d84e7baef267b01594cc88cc3e34d79062cc06eb5f1cc80c56337601a1ae1fdb4731ea36e5dc6083b5e43e386ac4fc6ddf5cbc65f7f97f2294b8db7824906b703ddad27d8e2cdb5ec377112a0f953cca0de2eb7c62e98740af172c44454f9a4313e8dc76e02df38b34a869eeb209068028f30c51a81cc629ddece40c25afbc6c883ef0c25139d46fdbf6d9c11122b6c8cad7c5435e26958fef2113706aa96d97abfe4971217ed1f0fbc4461cdea350b4cde4cac230e2731e835e7ed4b\nresult = valid\n\n[d = 54e134d67551a2fd96bcd39bdce23a29e71e6b69717384f5ee352c22addcf6a472c1f6d98ad76f11936f2714bab0571f382f5bd92a45fd1341b147294a1a0d55ce8cdbc7cfe690e3183a45fb40d132bcc7e74bb5b6f6b2aa945e8fdc497ef4ee3b39a177130952e2e3a9dcc66d2c9c46eca36362adc17fcf4e6a84c2832aef1a3935efc440e341a0323c158ec30a124955dd6d54d6e2b178dcb259b2ae521e5224cb8feb70351eebbe7b6debc7a8ed626406c1e7505e0391b9499614cad29b5712b0088d4f82f460c94ef6ee67ee087bc34dde2adda93f37fc023830bb8aa8c817cd2651f90ab66b20d76a5b8e18f4085eaddc17951e8ec46c023333a5dcebe2878291ada5e53512c1023b4563b30422357bfc97db91c5ec89732f79a641d778025be2c1c26c501b76ec70d9d59b395ba026b4d41e51377dc111b82ab746ff56b5c576db15b186b895d4c7adda2a8d978ce458ec7ccb303565fa606e1a5ba417eb4de307405eaa9fcc922809aa40003945745b20748b114ddaa4aa3c7eed5979]\n[e = 010001]\n[keysize = 3072]\n[n = 00a762fdd1421dffa3c28c13d16254f57491198655b6597bbf5934254060220d4e7baf7fa93e8cb89b608cb5db1d88d87ca9bc8926cd488d21c8cd96d728e4221bcec03e471913a82a682c4b80c3d187ec2d4b9a927d2e11e58a323df0ae5d0ecaa427624e489d017913418cbf450d38de799ecd26db204fbfe554893f774b84340b8e56dcd3182748336dbaf484e6dbfba814ea68f71d581d02f1baa20f4dffeccbfe57744bc5d981921997d4d7f0f0cbde350f1b437f72e0276778d7c200083729f0ccff8b674326cceaf07ada4cb35c1c940e085f86239c663151848b9e790be89ac1af33d65ea0868895b02d243599802e8f7f04d2adde2b38a5db87690d2198dcc767fa4dd27ed380d8a9ffdd197bb40e72238ecee42ac6f92dc2d5dfdedba43b85c083bc78b9a30e736eb5ad4d695e34a05b231b2f81378ae33293f458f16c4e10be9d26b9ad7902f243e70ea829fb68a98134d2596c5c866e3702889770145c1e5c918b254f5d1990a398b6b8b546a3ea95874b5a0fbc759bf09e4fad07]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a762fdd1421dffa3c28c13d16254f57491198655b6597bbf5934254060220d4e7baf7fa93e8cb89b608cb5db1d88d87ca9bc8926cd488d21c8cd96d728e4221bcec03e471913a82a682c4b80c3d187ec2d4b9a927d2e11e58a323df0ae5d0ecaa427624e489d017913418cbf450d38de799ecd26db204fbfe554893f774b84340b8e56dcd3182748336dbaf484e6dbfba814ea68f71d581d02f1baa20f4dffeccbfe57744bc5d981921997d4d7f0f0cbde350f1b437f72e0276778d7c200083729f0ccff8b674326cceaf07ada4cb35c1c940e085f86239c663151848b9e790be89ac1af33d65ea0868895b02d243599802e8f7f04d2adde2b38a5db87690d2198dcc767fa4dd27ed380d8a9ffdd197bb40e72238ecee42ac6f92dc2d5dfdedba43b85c083bc78b9a30e736eb5ad4d695e34a05b231b2f81378ae33293f458f16c4e10be9d26b9ad7902f243e70ea829fb68a98134d2596c5c866e3702889770145c1e5c918b254f5d1990a398b6b8b546a3ea95874b5a0fbc759bf09e4fad0702030100010282018054e134d67551a2fd96bcd39bdce23a29e71e6b69717384f5ee352c22addcf6a472c1f6d98ad76f11936f2714bab0571f382f5bd92a45fd1341b147294a1a0d55ce8cdbc7cfe690e3183a45fb40d132bcc7e74bb5b6f6b2aa945e8fdc497ef4ee3b39a177130952e2e3a9dcc66d2c9c46eca36362adc17fcf4e6a84c2832aef1a3935efc440e341a0323c158ec30a124955dd6d54d6e2b178dcb259b2ae521e5224cb8feb70351eebbe7b6debc7a8ed626406c1e7505e0391b9499614cad29b5712b0088d4f82f460c94ef6ee67ee087bc34dde2adda93f37fc023830bb8aa8c817cd2651f90ab66b20d76a5b8e18f4085eaddc17951e8ec46c023333a5dcebe2878291ada5e53512c1023b4563b30422357bfc97db91c5ec89732f79a641d778025be2c1c26c501b76ec70d9d59b395ba026b4d41e51377dc111b82ab746ff56b5c576db15b186b895d4c7adda2a8d978ce458ec7ccb303565fa606e1a5ba417eb4de307405eaa9fcc922809aa40003945745b20748b114ddaa4aa3c7eed59790281c100e65a90db8daf3545d1746374614d0cb0e3a7d648e11b473f2b68c6307642ad3231bdd574a37b5d7c497fd558215a0e52aedc609236a57e8413abc392d76102b3f00d9112e5ae124af804c9f43af0af1e5ab4bc704d75dfa838808b7bf19de5eefd0cc993fc9edaa9bd7d1a380a7bfe48a174e51ea9f79bfd44653e832d5f5d167f865f03fb5d5b79ce23fb754b00d5da41fbcb907d0ddd51e0f37c1aa03c775adf3864dabe0b04173aae39e01e8bf26c0f379ed659966c45394a4df8fbf6f0b30281c100ba05c47bfde6dc10779621d132cfbfdc1db9c21d5dbd58f22f3433d40d0354957b91d6c057a3ac3b05be859b7be3e57f234bec2095a641bf4e4eb7b3af33e98e2de19730c75abef27ec4e782edad8d12cee841b2fa08d2da54da80e287645a92380ea48723950f17b9132c0a39bb5fa310479da25cb4347d3878d9ef165516bdd63b42a514f9afd6dee14b5251e27456e663b9855a5e6ed583bfb2b7b869cb65bbcee30aa99a7f70e9c3402de10dad0c5b29364983d10fe4c7d8c60727a2d45d0281c100e2304bcd4a72a07cce0edb198bf17c64b52638e3972691ef1550ec4ae9d4cefc5a9b6cddfb2947c2a2e94334268ba744c92edc24b6440ad6e5f9e3306d0c74fafadc577796d0366626e38ceaa475717efcd23bb68a591424ba567ea055c015e775d2f89cb791c464a80c0f92b7b8c917c87260089c1ce6aeea59ffe80ec5754282360f56799c521668b42c56202fd1cd5ebd4045c085bcac89968c6618b1470193ee6c19de4232e21c5cb7b7ba46f0e3ea8d530a672dad62cbbe8a91d1d7c8c10281c100a1ed5353fb7872278371948e5e04a9a619da11372eda1c0af53c23c17a7263b69b921fb5de9402e07de792b5fdea2b63b87de65596eeda5c84f5d0c300c7d78e8431d3420ac6db608b292bbdb4d755ee015dfb92a843f60747c5cc5b642fdf0758f4a6135ccdec0d627565e8a0c8923f87744fab7db6ffd9e0c6922ea4e9fc99d35a52711109281f8a73e2f50d826a731aa9c45c6885bb44f1227597a757b04e2665b90d1705fdd974231a42d59ce9fdcf7cd85cb5f9ce3400229a7eafe9f5a10281c079ea8caabfe7b48f32bcbb6d37ddbd14b293206e2ef643bf24152f6547da9f7026e39c7de412258a19adbcd40210f0b1611ab80454ba2380f585aab16c24e40bc5cbb52425f52b8bedf18e5b72ab62ad842f2bef53e26ba2a8941a85b2d52f81e6ba0693f880e589f0408ae7f90e178e1448bd4834c45593e79b694ffe9ac7acc80f2d3bf428e07ad533e2aae4a6ed8af55fadfea42bafb06e060497034681e6850725949be9ca50bbf6addd84174a96e44c3092c663253009f6e1e3fbd0b1a7]\n\n# tcId = 43\n# ciphertext is a simple fraction\nct = 4ee87303363cf42a6101eeef2f74c0f13ca704084d68060f231d0e1309ba40067491005eaee0e4e2d6e564f38b186125cb02555c7faf83e48ed04168ede1a2ea2cfe0fc689c814a76820f60d40ac2fe082f883e837c3ac574baf0f53bcd0b9ca80cce0120d0863aed4bfc6366ecd51da4098f6b7dcf0ab9ebaed12f6334acde0bc4cfe8dd5bd5850aec99aba4dc92a727a5c673f16e3753296b3c26483f2870055d46b597f2ccf225f62043e6bd2abe864ab690b99aa09eadd4a2f4ee5495bd4f0dedfdcbaccd4a0def6f6fd93e5be995a3eb0864facfae1b2cc83f134aecb8f3c4aa81b945f379d507480ba94ffc13c936b2fc649f2e6459abb5c8b982c43dd4161021e657765fb08c2486a5db2cb61aa4e45c1ecc2bc9b7d7fa98a99713ab85ce8a9f2c4849ab48fcf6b90c08c9e86ec5128f7e4a1a748ee32cbe1d9d5950e39f7b63018d9918dfcbbaa417da93a4d808479147c0c0c108244deb1c618d381561c74f2f093224296b3421655495a4448ac93610333683100bfa4908b7844a2\nmsg = a3358105f31effa728ca6a83fc80fee55c873991dd508b69dad67dbbcc48ce438a78433f2c017940c8a23ba0dcd5594331c7466b34b57e9f45651b9e41db0bf7a51fa5ea668762a289b7beda3132352a4ade02a18dd153c6f6ce69c56bd80b58f4faeb0", + "2456d2079d25f1bdd754d8601bbd66e8c3cfdd8106396dadf322706646312306ee36f46e48cec77208ad06e19d9991ceefbef5e0f29f13d4d93b353b74879f368064b0b76c317421756d5d553bbb6b4eb36fe9cc5b2071d7b30c636593e569662dfdb08abaa17470cde72ec062f109a5ac18922b380e28529ec30b7653faefa032342874a923bfac463dfa8783e3a59f387ae3e44009a2b7023611c6d96732ff7cc8abc1f72894ae2be08ad23fce8a352be899f60df068a9ecedf82d164bb1b6da210af9ae6db9550326744b09f3c33e12b3f7058bf\nresult = valid\n\n[d = 4c52abd7579440ef5577209ba63655b93ec8b45ac124240e28e59657aa6b0d979cfe2374891c9167443d58cb4ae1523ff9231338fffa70b4501077702414807d7502dc327138071156239f9ff6c33e59543467098df8f15da73593821ddbdd7d75a2659d274ee4ff04cd1b54b6f867a48b6a4c6bd42d29bd8057f2e8aed167349e67445dc4ee3f10debdb440f30e51f6a0bb72bcbf32bf6f4d58360e2843628f771df3ac84e3b7eb61c8d355125f35147a3cade3091af509d98fd3b9f2c2d3ea84f89f2adab3308015e8777a2d11d60a664f7c0493eb5113a6dd7a1c41fae59de6607175f508f376103def6ee0bf7c80564733d3bdd461a0eed2d2f5c07678aa31bb92020afde77ef27e5923560e9912786d980839b71ebb694419d6c26717a5c3829ab28d5c9ea3f3c3896471a0f22c8c72cf927cbac507e6688509d580997c622b92c01a6dae52667d1737200e7d497d99dfd98fd904ae22d93e12d214c84f880876007b2bd2ce180f511805a7fa8a5554cb54748fe6ddb4b9c41028078d41]\n[e = 010001]\n[keysize = 3072]\n[n = 0090f38222fb4ef791c721f67729c434b2ca9232e32aee344d9af50b677ad78dd549c8832e1e377340f083bb56a57f7d349409b4c6b903d54281798331ca348eb03f263323710c32c0cd80624ecd8c3fb7052d196a6b614c0b7562bf199e79b07b963d63f824a5e9410798f8cd7b55a8cb59d0c1e0ba4d6f3593d9176aede26e047e24fea4861922539b18ccdc798a595b3584a3dce1488b20d3562b6e589e6c1849378a914a1933101101412dc537a29cda694906ba8482f56559a0397f5e258dc82e69495a5363c833ebf18aa39a172d2981bdcd9f1a0d09f0e20134cdc6e0f1e1706abc8360f69d96ee54462afe93bb21ff35133baad6e390be2524e00de7babb9f0ec80d08b79ba3f9f1fb627edbe15f1fd989d9472c40126476d7ac546bfc17e190bf461693767eb877736891c72a220f6004c6a501e97a82479718d23d314200d3ddc7bbd67cecedaa21df341598a8fec3f6c1dbcb0d5965373571cf502d84048d508cbc145e7a771746abaf40cba136da78c194c124b7c3e898a7a848cf]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e2020100028201810090f38222fb4ef791c721f67729c434b2ca9232e32aee344d9af50b677ad78dd549c8832e1e377340f083bb56a57f7d349409b4c6b903d54281798331ca348eb03f263323710c32c0cd80624ecd8c3fb7052d196a6b614c0b7562bf199e79b07b963d63f824a5e9410798f8cd7b55a8cb59d0c1e0ba4d6f3593d9176aede26e047e24fea4861922539b18ccdc798a595b3584a3dce1488b20d3562b6e589e6c1849378a914a1933101101412dc537a29cda694906ba8482f56559a0397f5e258dc82e69495a5363c833ebf18aa39a172d2981bdcd9f1a0d09f0e20134cdc6e0f1e1706abc8360f69d96ee54462afe93bb21ff35133baad6e390be2524e00de7babb9f0ec80d08b79ba3f9f1fb627edbe15f1fd989d9472c40126476d7ac546bfc17e190bf461693767eb877736891c72a220f6004c6a501e97a82479718d23d314200d3ddc7bbd67cecedaa21df341598a8fec3f6c1dbcb0d5965373571cf502d84048d508cbc145e7a771746abaf40cba136da78c194c124b7c3e898a7a848cf0203010001028201804c52abd7579440ef5577209ba63655b93ec8b45ac124240e28e59657aa6b0d979cfe2374891c9167443d58cb4ae1523ff9231338fffa70b4501077702414807d7502dc327138071156239f9ff6c33e59543467098df8f15da73593821ddbdd7d75a2659d274ee4ff04cd1b54b6f867a48b6a4c6bd42d29bd8057f2e8aed167349e67445dc4ee3f10debdb440f30e51f6a0bb72bcbf32bf6f4d58360e2843628f771df3ac84e3b7eb61c8d355125f35147a3cade3091af509d98fd3b9f2c2d3ea84f89f2adab3308015e8777a2d11d60a664f7c0493eb5113a6dd7a1c41fae59de6607175f508f376103def6ee0bf7c80564733d3bdd461a0eed2d2f5c07678aa31bb92020afde77ef27e5923560e9912786d980839b71ebb694419d6c26717a5c3829ab28d5c9ea3f3c3896471a0f22c8c72cf927cbac507e6688509d580997c622b92c01a6dae52667d1737200e7d497d99dfd98fd904ae22d93e12d214c84f880876007b2bd2ce180f511805a7fa8a5554cb54748fe6ddb4b9c41028078d410281c100c30978cf3b781b5bfb0bbc13f1a4c9f45a3339d030e9bb1bb07efa65ddef3b1f119759e9f7f997b049d84459c78ce659adcd5a28618d9b76f51c8f6053695e0e3027eb19c123dcdb2798298faf7bebd3b76ed3cadd2f192c5f6c269081dfbe2a8643adb5c6a15a2469fbad3d359b443e8492d4049863c87487d44122a28b410cb84e96d67e42a612675c7192c19d442d57c702166ce73fd81cba85ac30ded1d74531705950121628a77f2bd1125b4c8dbac1bd368cdfc2f4a7a4b24de0bbb8a90281c100be4241ab747b3bb2a6aaa2f12fbf54ab1ccd4be7b595fa0b0936c666fcba2f266f1f3f204d6484b5a9ff1129e6e2315f88bb966845dc4f0f123db7c52d4497ace2124edfe78933adecb81bac9a567a2ddec437e1cf33a37b9e51fef301fef9bfae75191855a72a6b7e788034470ac7c8854e859c71752bc96f4f0324c48a3bfe964749142091aa32e05fd48e1cafda69212e0b070f1ccecfeeb790b746fef4f1521554bf15a3dd8de7e0dab2c45372b9e15c273fe46046efe903e04fbb6208b70281c03b8445707fc64c1b0a85ef33ead68da65a6c2d6541b7e1983688d92282d241295ef5dfc34d1fc6514e87877c1a2ffe0f39c16394d508207bf19a708a4589eee0c78336f41a03369f4dfada1bf5c20c1a046cf6867e6ea3f0ed8194571ebac74e34c0ac5ebf2977d78adbf966a75825402ab69faa735267d65fa8bee3b1d46ada55d7eda1b0cfe7dbcfdcdeef98d3c3fd4e3ef57d2068850c0ee04070664d689d9788d9aef7873d69d48b3334ceb43bad38636cb91bce20b106037541dca58c590281c033d7d611244258380c163f243d80834fc51f63e9959f726d036bbb9060995333c3dfddd1ad85106c78101adb3220bc976da8c00955cffc72fce37869f035daa6af4b91d68d3ee3a826f2dc07a25ea21851b5620cd3eb1c471912fac7b8e983a069a75ad938adbe6f601cf1c24d01710300e02ea43c7e531a268c7f2ccba96743ae2b6a8c637b8dc72340b9a8a7c47b5d5e3f2f9e12ce24c4a025c0f7500f352b74d47f2d3a76566ece9a84bd65a5df832b17735283a6806deb2eb536c4b6a7ed0281c0791f6fbd63ee2d256dd93e9ffa275096a766668ec631fb18827c2e4f6af927a5b72007bcad5517cb40918703fd9f1c3a5269eac842c700a61de731a68f91da4a76a270198f404a4c2006afb9922b67e9f4912bab722ba5d156dfea40bf5e328387f8ce5a894a982a1e9890cdf0c855228095aaa250cc4ad775a8e85edeb8867e5bbc95ee727e77610992181d7d05dc009b190f49ab2221e433172a1ae3f91b377df7ea38b6c495087f4233c7364ef6c003beb65a83eed8cf249c280d4f92cdb8]\n\n# tcId = 44\n# edge case for Montgomery reduction (32 bit)\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nmsg = 3bebc6506bab5270d75c0ef65ec469f0517365b2b5\nresult = valid\n\n[d = 2bdf9d823724173cd8b77b068b9c948956b282cb750f90bec6e281b5ac9bf4f58e0520eff21e95765c4f08f749cfb043d2037b44a11ce1ec7df96e9fbb982814df53fcc00c3204c7983fe5595d77c20a566edc3ed3b638ae64d69e288ae44e47792f20a7ff4db0db19ef8705b27219376e90cf9beaa56bfed0de2c887ddbbd1d2ee7cd0edeeb28e2d02a119936656bf25f5cfff2f176020d74be0913ef20587a872e8f969d8da98d829133e99168a33f91fc4f5d151562bfbb1c8480d04fef3b70b126194feae6c917ea5f4c737af9efb31766ae6c3b462637f24a20cf16a9bbe6f4b450239376a5da2acf78a9c26fcc0e320c25588414ccdbc8c2add7094a57072f591b076ff21a9e1380e3e280aeed1d1aad830b23b2f7aa6abd2161d338f1c2ddedc4c52b35cb6bcfc16b05d4ad3110c95598aeae0fc095c196ba4f10320b868fe18d39eff719fbfb8e38c3b90070203e9a20807a44ee593fea9eff2828f9123a5178a2502e1dd18f7990bf758fce88e5fbd8a6a6591bd2e900ef9afaf881]\n[e = 010001]\n[keysize = 3072]\n[n = 00b5fbbeb378429939f0840398ee088ead9d2980ae13e180f1feb97f07e12d434c22a6ef1a1a6b306daffb6b4c642e0c801a0ad8142980c319caf3a18694ee8f9233bb7f390c58ef6f4bb0a22ce4ed74d2619f9b1e336952a493d9299830f2051dcdd0758d27e2b55a006e73b4b6e40fb576fecdc8b04e2395a91b0c6c032def08e119fcff4965e0dbb92d441a9272e1aa5fe8a83f04ae869a1955200c51362cc3faf6635f7bdb4d9076b6178193ac573ce06f7eca89f4b867249f2adc6eb533a672df58f4f2097a2537dd1391d9c628a740e39a08c1c37036ba90c434a2c7d1f47b1d3dfb9d1bcfc3aabf3464315f22fdfb2047404cb304b9ae3833af71085ce2120ad01ecdd661471f85d60dac9e73bf86a9dad04b1bb405391c070c0d09ced49e4671c56affd2022aabda46151c790ac6e6fb44281d311a4608566941e9909f8a586487a707ee25ee30e53e26a2a0a99698ee042f1317bfcaf3585d42440a92725181c892a50a68e848791423ce7e6060d22e0118700f8f64df832f738ff1f7]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e402", + "01000282018100b5fbbeb378429939f0840398ee088ead9d2980ae13e180f1feb97f07e12d434c22a6ef1a1a6b306daffb6b4c642e0c801a0ad8142980c319caf3a18694ee8f9233bb7f390c58ef6f4bb0a22ce4ed74d2619f9b1e336952a493d9299830f2051dcdd0758d27e2b55a006e73b4b6e40fb576fecdc8b04e2395a91b0c6c032def08e119fcff4965e0dbb92d441a9272e1aa5fe8a83f04ae869a1955200c51362cc3faf6635f7bdb4d9076b6178193ac573ce06f7eca89f4b867249f2adc6eb533a672df58f4f2097a2537dd1391d9c628a740e39a08c1c37036ba90c434a2c7d1f47b1d3dfb9d1bcfc3aabf3464315f22fdfb2047404cb304b9ae3833af71085ce2120ad01ecdd661471f85d60dac9e73bf86a9dad04b1bb405391c070c0d09ced49e4671c56affd2022aabda46151c790ac6e6fb44281d311a4608566941e9909f8a586487a707ee25ee30e53e26a2a0a99698ee042f1317bfcaf3585d42440a92725181c892a50a68e848791423ce7e6060d22e0118700f8f64df832f738ff1f70203010001028201802bdf9d823724173cd8b77b068b9c948956b282cb750f90bec6e281b5ac9bf4f58e0520eff21e95765c4f08f749cfb043d2037b44a11ce1ec7df96e9fbb982814df53fcc00c3204c7983fe5595d77c20a566edc3ed3b638ae64d69e288ae44e47792f20a7ff4db0db19ef8705b27219376e90cf9beaa56bfed0de2c887ddbbd1d2ee7cd0edeeb28e2d02a119936656bf25f5cfff2f176020d74be0913ef20587a872e8f969d8da98d829133e99168a33f91fc4f5d151562bfbb1c8480d04fef3b70b126194feae6c917ea5f4c737af9efb31766ae6c3b462637f24a20cf16a9bbe6f4b450239376a5da2acf78a9c26fcc0e320c25588414ccdbc8c2add7094a57072f591b076ff21a9e1380e3e280aeed1d1aad830b23b2f7aa6abd2161d338f1c2ddedc4c52b35cb6bcfc16b05d4ad3110c95598aeae0fc095c196ba4f10320b868fe18d39eff719fbfb8e38c3b90070203e9a20807a44ee593fea9eff2828f9123a5178a2502e1dd18f7990bf758fce88e5fbd8a6a6591bd2e900ef9afaf8810281c100f80e6711f5d388596aa61c5ecb46b63b25e87b7ad6c2a6ac79d34a26df22e70cf82433990f9f2820713e4d3f15c774717eff4439a29c052a3d30ee3a6455f442066e018ea85239134382c81a5fbe60f6ec45de0036731940bc85176b691a097806ecb890eed718b9cf53e59f624ca857482c7a420d5e39c4355cd833e978b507e45265e20df14b6e5ab99fe595083e77ec6632304f5e746f87fffa140294c79067fbf9c8b56d9581e414e338fe68298e910fd1d996f303a997770fca4f44cc490281c100bbcfab12fa118ad019a26efcd4911dff03679531313ad18d65068c8a0ce361984d6e08e173e4b4307f5bace3a12e467cf6856df8fa8f96aeaba7c41e6f7b4c3bb1cfdf600c738a69c74d9a56cb2e5742404ed12aef16cffca795a5ad5c2e97866594d1eb33b3a0efaba81b1a762784e8ee6c1c21886ccff41cd1a887f3098850ddb476341fae03e6940634d06f9d2af51f01b2e5fa7dfaed42d961ac8252b5f6103de163bd724c1abd7902dcf1b5695ce1f663f422c095215cd1c50bc51c4c3f0281c100b670995bfb4a762915a8508b63c48138e57ba47dc74068a7c7fe1fb6913cb164b788a0ae7d6fd86a6bff9f7ebb7cf3e699ba132ab4af3d9940622184aed10d12167a8808ad41b41ab7f79346da8e41f0b9fbf4f881138c4a319d4d894146d61a0235ced541e4cf99b1a409e97cb9d6c24321fb5563519ef8f12a7515512ce73083bc1a94f51e38155502db58569136a8ab24cadaff35003c1b71a8335966a5944ef663533c24f9e60ba3552f50e5b952d2dc28c2792408d88dbf12cd001a20890281c021e3dd68f53b0923781cb98e620535b678b4ce552c1f030552bf95c8ab7eb473b9352be112faa811404a18ae92bd38f6ffbd20151791a58d2b6880994560a866f5351f87c3776df89c8042637b1287a86ad64e244334889f7cd6222960430010be6fd6596ce0f31f8c882f2bdd3a505f7ff67e3506db2bc34f17fe235a15d445535c67200cbf67f0c9b13d0287c182a8ecc96fb0d43cbb74e8e5351cddff72da4e1ffc75f50f94f01654a9d198c435990f2558f00afd596bc5c60c9a8d1d081d0281c10087f3fee284c54a91f2a0f746a49d088f7b46428bed974e9e20583931316c66a0f641834fbf85b78781704d134dd371ca57a2eecea5fd04239991b56119aa81c41fa260c81c7f58d2a57c897f4e08156331fe181a1ff587e84c778b80c6947abb9074c3e5e3ab9ecb901a34564331c89ad6d7734ffaa209913aae4c48d057b2a0ebb58871cd6c7c37d5e17aa7a7de3f145a7fd7d3dfae8efce0713ea23d65ea731ba39a7ce995d89e85b6353547528a7f2eb00b2723504ac841a4d3126d00140d]\n\n# tcId = 45\n# edge case for Montgomery reduction (32 bit)\nct = b5fbbeb378429939f0840398ee088ead9d2980ae13e180f1feb97f07e12d434c22a6ef1a1a6b306daffb6b4c642e0c801a0ad8142980c319caf3a18694ee8f9233bb7f390c58ef6f4bb0a22ce4ed74d2619f9b1e336952a493d9299830f2051dcdd0758d27e2b55a006e73b4b6e40fb576fecdc8b04e2395a91b0c6c032def08e119fcff4965e0dbb92d441a9272e1aa5fe8a83f04ae869a1955200c51362cc3faf6635f7bdb4d9076b6178193ac573ce06f7eca89f4b867249f2adc6db533a672df58f4f2097a2537dd1391d9c628a740e39a08c1c37036ba90c434a2c7d1f47b1d3dfb9d1bcfc3aabf3464315f22fdfb2047404cb304b9ae3833af71085ce2120ad01ecdd661471f85d60dac9e73bf86a9dad04b1bb405391c070c0d09ced49e4671c56affd2022aabda46151c790ac6e6fb44281d311a4608566941e9909f8a586487a707ee25ee30e53e26a2a0a99698ee042f1317bfcaf3585d42440a92725181c892a50a68e848791423ce7e6060d22e0118700f8f64df8330738ff1f7\nmsg = b747fa5381ef690edab4c84ad7ea4b62c60a6531d488ffb7a25d460861293576d5dd1cbe10b325f611e2668f43f1b971bbf0216fe1de39dd040909921411f7bad92738926a63a62d53cdc5f2099fbd7c8d8205f1e3155c4d86bfad77ce616b91a58afe60010104b93496cdf17065ec126bc2776a6c40a74fbf4a5ca049ea4fc221674aa7c1f231d8229d0ddd467dda62c35596fbcde1444f53b3e9ea83bf833b1a2501f025a5b10a56f2e188b91342e7620605d2dd08511044df2301d3e579b10f46965ac93bf427b14796b51dda2baa94ff226aa3a2fde423c79a3b52aa253c863d48e8b868a615a9493f485650ea68fa7c295204240b58af70754960bd5eba203f32415088cdf429e62e0e9b8806a647ebe3a5ffd1c4fbb85a75476d1cef4a48cf7768bf59d0af5d1e6101a69fc36d1591a3b08cc11debdc21c93d46deb0b11f04f55563e13437ea55200b357900e5685addffd74f3c51a9\nresult = valid\n\n[d = 008134100911fcd4d7f821dc71fc0c9efde7c321ffe747a5c169338747f76f02c314489c9c8ffcc149af378116027f6ba6badbbf4e2ad58ea394bd346c4103b929816e589190b657967db55d04cf0264eb9a1ef5ee28c0b8c2709246c5495ccaf5cb5c857eeb126db56e062e21f7401f7892886d53ff28b3888815dcf2b856e715bc9c0b10b2c7679d9913df47ef79e88207b42a93bc82b6e24eccb3260cad74253b98cf6b00f042257bed105cc3dae4f6470f3c641b5ba174cb3d9b2b0cc4b4c1373aedd0ef11bda1310a976809843512523a61a7112af70031541ae4020ee160026ee007bee65c169c03ef3c8697cdfd8b1b21a227b8f49df340abbc1df492a0cbfa4f4b7fd5e58fe6dffc540ffea31c7fd86eb4acede0eaad8101434981f3716488e5f7d69c6e57c0f1c474facc718e966db0558ba3e304956ae2e22dfeba40c21a188e7e6d4b69d000c106f5d718501f987fe3f8bb3212d7145d42acded2f35efa165edf1087ead05dfa52c38abc3bd17e1895abadb0344092af20daf85d01]\n[e = 010001]\n[keysize = 3072]\n[n = 00c45d243558c9b24e526f6c210ee488091054f9c8d82381dd4cd05af85b9bb51d9e41dac5b7b31193384c5eec8f9aa37bf5cdbdc83b6378a6b8963a4e779c83c6edb9e3628531aaf1d7c5bdf941924a56b16d086097e060e7a1cd33c0c992c484af9890a31849f3946714e2d404863544885bd9d77dc11055458e5ae1b1f4626ef1345f03b41b4679534cc3508161df163d6bf4204a38fcfa77154ce557eb33f016985a2a26fcccf792055e5205a03c221fbc02a1c8b1520f0f3953a0a223e3e0eaa2b29617ef1dc468e6940843764507f65bcca1ab61096551f8c5230cd4317fb3dafd7d502e0656574b18cabb36c072c7b6c662cdfb31913ac187cf10e7282b746d7b8d62005e5d14f8e7498e203f5252969b264b58f83e7c6da99b5c42c89d000099c76626b847882e441a13bfb5eab01c7887d6f2721fb1429bb799061033a3cb2c7ad055abfba98c027b076e1f5edb33600991b5d82f97194551472969108560002684bd72df38b0cff895f419ef18e38d0700ebea816a0e92f350651d55]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100c45d243558c9b24e526f6c210ee488091054f9c8d82381dd4cd05af85b9bb51d9e41dac5b7b31193384c5eec8f9aa37bf5cdbdc83b6378a6b8963a4e779c83c6edb9e3628531aaf1d7c5bdf941924a56b16d086097e060e7a1cd33c0c992c484af9890a31849f3946714e2d404863544885bd9d77dc11055458e5ae1b1f4626ef1345f03b41b4679534cc3508161df163d6bf4204a38fcfa77154ce557eb33f016985a2a26fcccf792055e5205a03c221fbc02a1c8b1520f0f3953a0a223e3e0eaa2b29617ef1dc468e6940843764507f65bcca1ab61096551f8c5230cd4317fb3dafd7d502e0656574b18cabb36c072c7b6c662cdfb31913ac187cf10e7282b746d7b8d62005e5d14f8e7498e203f5252969b264b58f83e7c6da99b5c42c89d000099c76626b847882e441a13bfb5eab01c7887d6f2721fb1429bb799061033a3cb2c7ad055abfba98c027b076e1f5edb33600991b5d82f97194551472969108560002684bd72df38b0cff895f419ef18e38d0700ebea816a0e92f350651d55020301000102820181008134100911fcd4d7f821dc71fc0c9efde7c321ffe747a5c169338747f76f02c314489c9c8ffcc149af378116027f6ba6badbbf4e2ad58ea394bd346c4103b929816e589190b657967db55d04cf0264eb9a1ef5ee28c0b8c2709246c5495ccaf5cb5c857eeb126db56e062e21f7401f7892886d53ff28b3888815dcf2b856e715bc9c0b10b2c7679d9913df47ef79e88207b42a93bc82b6e24eccb3260cad74253b98cf6b00f042257bed105cc3dae4f6470f3c641b5ba174cb3d9b2b0cc4b4c1373aedd0ef11bda1310a976809843512523a61a7112af70031541ae4020ee160026ee007bee65c169c03ef3c8697cdfd8b1b21a227b8f49df340abbc1df492a0cbfa4f4b7fd5e58fe6dffc540ffea31c7fd86eb4acede0eaad8101434981f3716488e5f7d69c6e57c0f1c474facc718e966db0558ba3e304956ae2e22dfeba40c21a188e7e6", + "d4b69d000c106f5d718501f987fe3f8bb3212d7145d42acded2f35efa165edf1087ead05dfa52c38abc3bd17e1895abadb0344092af20daf85d010281c100f46c1176839f31eb0adbd423e8ecda275ff2b47be39e06145a6304d30a90f303844a6a8b3000e53119e82c303cb02ee3a760958d604c6f52d56b5bd5d99e0fdce41765645f2c0cd3446076eebee83aaefe2993713e370915b23ec58ec6b195e596d16934043fc88f1a718bec3dde99acace745c9d016383fedf5ceb5cb9f01e5cb0f1ea801e163fd1c6add5a34812aefcc379f67df11bc9f53f32090af8c07d05680de33e45fd449476122468515c670473a64795a162c7c26bccc78684f03b50281c100cdaa4dfcc60280d76a88b2e313e6b0c8b9f479bfd1cb64fdaf986eeba366d4ea160b35e11807d460ff58629c00cf2ea27c3241feae19bc2ed7b55490481b1b3222b420991389e67a638a3b35a7f0154a1bb3a01b30004946389e5741031a512ce2a577ee08143d3d7309178d80c35d993c2fa31172dcf249870ede3177e8d4577c51d7f0608241cd41c124b3d577564c515cff6d39def26915e18086d3f227ff1e2e54d1b17a89778ea3b6aad904fca69eb072ba26b6cd1998e88e55845af7210281c100ca57848566252dfff47753c17e9c4564ff4b3f1aa8ae333e3a2d6adb030e47ff8b4ec7b0fe465f762c8a45ba9123114e294c0dc2820c04c4c025265b7cd21b33b427a22a5b976dee9fd673dee56ffed4cb57c3d5a5b98dedc627ad08ab786c2d2a93a5d2080a7d8fea46419d8b027299be719f16990b2bf9d097034f00885bdbce24702e898ffb649857e7733bb00ac985782ea0a0cc60284e2921b6657d3922c1d9e119785fd4afed457e487ef82dd4d9427fd6ee3b190c964d09c04c29cd590281c010bec50ac7b47c790d9b83b52971a70330e0cee8e754002d079709b0f5e4f180fdba7bf08fdc53567273e7d37bdd6296a8360f59852363470d191e8180dd742168e1f1a58509bd5249b87f89a6dacd60f35074c0c1efc4078ba498c61a5292396d5abba10dd7580520d0a4b248c19f6552992e55c55c67fdc499594dfdcd5f3ca04aa9a250b94a5244004dd4b694b8da0de5dc8630280ee4af7b64d3957e29f383a9920e60bcf16462a0c1c6b754c89d685e4579129ddfa52de60170c50e03010281c100a4d330fe8b4ec139f5300967de981d851e69f4c62dd74ae35a1251eca757fe9b44305e8286d2e476512030ca44a710f63889695eca836bba1b3a06bec01c07d2200a36ad3d62f8efa05b7c5e11b9727a819285a1679a52f7a9731a2f28eac30c3e48db5d80396091c0084c24cf518304bb98bef03b4dc69868701df749689d34340658e2b7b4a9c968a1b7baaf8e5e1fac2745379448797c9cc83cd5e798b3dc3cc17e7556f72e5455c596622199979c3b2098310e3f951b3d34e2f3677dd31a]\n\n# tcId = 46\n# edge case for Montgomery reduction (64 bit)\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000\nmsg = b19088d23ebde16ee0250510e7a3b552a748c10cc69803baa831ca5cf748ae8af1b154159c91fc6a1b3a10b0469b70a5be13babed33e226328f85a5aa430022fb9681f8bd343866e52faed173b57a1520843da6352f4f99a605bde4892f282f89a2418fce76bf893fa36fb160f4b968c0b9197f8072ff86ffdeaa49d5677c824646c1f5dbb37d477ba941f2406c7a190dc9dc62f9c8352c73dea2692a2185b59b4bba93a107f2d6c30168a7325f8cefea91ef5710dbbe1833d838241b229dbd17e5c362f18068fef2995aaebafeb3c89ad5f86ec80a004c2380df2568c2ab0b311863c7506aba65b2bcc5956d75fa5eb250b45d30304098b3ec36b8f34b4ed1f605bf45c7eb73b51a3462bb53dcc8f3e1031c360d6d6c891c98116ab41e9d2fed268018f8122bc79a33261ec2b3f5c\nresult = valid\n\n[d = 6f2ae20173c27755b9ff2d908cbe9ae33ccd4bd0410dc2223b361874d9aeb953ff56ed1cf9d4fd3895fe6cb870b23c67d5ad71108931210b13144e4d227a3e6757832795a8a04aa6992fbd8d6259616376a741cb7d0bdc4ca76a0636348aae1c7b9d4a10d5663429096ee24abe56abb12af3ac3b4e335de5740aae06e4de2394519030b20e41acb8c87d1b74c7c8ae009802baa81806870d8ead2ed6fbfcdace71805830cb304db3cff612b09d7edb056ea7f4d6c4c888eaf72516a29cde26677e953fc7279580ce0bbd92678afa5b922a51268764ada15558fc11c2549f58859dfe0c3c103be4b9823408f5131967c7d00c4bfc4fafe546bd5c2e4bf972dae2810cb0186bd1319580be764e90c71db2ad01484eb88c6c7e45fb11fc7bc50b8a0f1e216df6b2d0990a14e24350a624b3c4c71f0b4963c11fa82807f4dbae4c03deb8649fec13b5b1eead4a5305c64595426c2b7a3f5f3b4bbc6be3deb611efcc046a5acd29c71ecb2d7f7c51d989fbf2895acc7e93a36ce8e8723d67d21ff6b1]\n[e = 010001]\n[keysize = 3072]\n[n = 00ed961a800f86f1400cff5a805da0937ab9b864c28e38ad93cd02ed6ed75d88c25a80c8cac114273777bf70bbea37755e7a69c31fc8b70350e3339cbbf9f35e393c2fd844dbbe35a303f7dffc42578125869f3d24035e056e40dae7ccdd5ed11e0f535694bec4508124fd95c5fc168eabb679b1c4a171d460f4d6e6e8ecaa68a86939d8ee9e54cb15860c234ff1f424c6c5cc69c792423a414802957c567ca137539d56639f89540b089b2aa3f1efe462e41a7171464fce9b7ede87a834912fee99b26399209fddce06505488e9bb64f83690f38dbef725835759a0932c208e7d378322037df6f495ab4e8dc009641f2fc6bc9afba05c25ac9ec1cdcbcba27c0f82bb7c392864d6f6f4bbd445123944b01e0c7f24ed6f62941f2a0f203dce4cdef6584c1020e924f2edc3746084e4c34a82de9916b7d264ddb8fce6b3ba4b8c3b6c1ccfd8dd81df854533751281732b4ecd3ea0c505dea02de186b2c8fda8bc7d0b09b0942968fc87f1e65d9750f6c9887a0d74d915f77b858862c79eb0244c61]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100ed961a800f86f1400cff5a805da0937ab9b864c28e38ad93cd02ed6ed75d88c25a80c8cac114273777bf70bbea37755e7a69c31fc8b70350e3339cbbf9f35e393c2fd844dbbe35a303f7dffc42578125869f3d24035e056e40dae7ccdd5ed11e0f535694bec4508124fd95c5fc168eabb679b1c4a171d460f4d6e6e8ecaa68a86939d8ee9e54cb15860c234ff1f424c6c5cc69c792423a414802957c567ca137539d56639f89540b089b2aa3f1efe462e41a7171464fce9b7ede87a834912fee99b26399209fddce06505488e9bb64f83690f38dbef725835759a0932c208e7d378322037df6f495ab4e8dc009641f2fc6bc9afba05c25ac9ec1cdcbcba27c0f82bb7c392864d6f6f4bbd445123944b01e0c7f24ed6f62941f2a0f203dce4cdef6584c1020e924f2edc3746084e4c34a82de9916b7d264ddb8fce6b3ba4b8c3b6c1ccfd8dd81df854533751281732b4ecd3ea0c505dea02de186b2c8fda8bc7d0b09b0942968fc87f1e65d9750f6c9887a0d74d915f77b858862c79eb0244c610203010001028201806f2ae20173c27755b9ff2d908cbe9ae33ccd4bd0410dc2223b361874d9aeb953ff56ed1cf9d4fd3895fe6cb870b23c67d5ad71108931210b13144e4d227a3e6757832795a8a04aa6992fbd8d6259616376a741cb7d0bdc4ca76a0636348aae1c7b9d4a10d5663429096ee24abe56abb12af3ac3b4e335de5740aae06e4de2394519030b20e41acb8c87d1b74c7c8ae009802baa81806870d8ead2ed6fbfcdace71805830cb304db3cff612b09d7edb056ea7f4d6c4c888eaf72516a29cde26677e953fc7279580ce0bbd92678afa5b922a51268764ada15558fc11c2549f58859dfe0c3c103be4b9823408f5131967c7d00c4bfc4fafe546bd5c2e4bf972dae2810cb0186bd1319580be764e90c71db2ad01484eb88c6c7e45fb11fc7bc50b8a0f1e216df6b2d0990a14e24350a624b3c4c71f0b4963c11fa82807f4dbae4c03deb8649fec13b5b1eead4a5305c64595426c2b7a3f5f3b4bbc6be3deb611efcc046a5acd29c71ecb2d7f7c51d989fbf2895acc7e93a36ce8e8723d67d21ff6b10281c100f7d213ef9c521ae1d81ae9dc969b70cb39d2764eb756115ce22c9c385b248417b9ca3a38cea209296724f044bac3058f5157eba586017e72989d5c59d7a4e571f2982b61d4975fa08221435bc300920ea6e5c16f2461a15c011e4e04640278bb8cf27e24c9c01f13562d51b88d60e1277ea77ab6c9e6881a1be50e4a3d1e8adc5a8a7160851edf9376b49e97266755d342bdfb2c5351ff3f511c4ae1cf5e464cc4516bd4294a6b67288e9a846968582bff6258882c1756f946d7c6912165bbf50281c100f56d8d7e98647fb6df4763ab00a2e459f3b9ae92580a266a9c4471c5b67f865a1dcfcb65f7a2f38add01b583f49b14fdde70549a270ab19704bd91f5dba821efda42beeff49c420fbe4c4461e872ce61d437e2c4a13b31b0943f102991abc6ec10c32ce1546ea526c5b1d503f510b744e3c87d1daea1f7aaccdb33d7e5e31132c43b28f69d904a85d18a6cdb57e57ee1a6170abda1aa448ef6448d66044906e1a015c4796f9bba574e825090e802345074834ea9521cb69b49ce79e4d045973d0281c100a08418d79d87ecd395d730dce94c3b4dd6e104324e3bd839326234b9a80749ebd8322d6df8212a10003803cc70afbb1d2e51e5572c2a318de65e1ea02eb626cb9c978599f34a2ced58fc5495ce03c396ebf16b4e22e17dd38b01e7049f069eced427891f28f260ee74661c458e854eb0f72f61a39db8cd35241644203fe0558f0eb21767ae31e61cacc9a6e33e43b66a85136aea35f9a97b887cebdfc1224e2491102fe896ea1611164aefb88e51c0b296d34b86c0104a0c621f87051ffdb6350281c100cfeb54c0d817e3fea81fd1b7101defb8a8fb3882b06540f0769ca18a2f36d03a4e21391e94718f43a8420765d7f6fe0ca8c29f59cd138929f89125339538562fddc747fcff4cd5c682a0181a9e138cf662144a5fec7bba77eecf9240b531429fc0ffa868e8dfa7b8362996ddf86285f0adccaefa5374d1", + "ddf819084db26af0aa02866008b5a98508e3611321abd037f2b083baccb6460a38d7377256e7f07a0cf1531f95055177c6f932fb5017cdae462ebf0307fd11683e1c83f8ce39078bbd0281c05f8b43553b849e9c613a4bb5b5f90b891531ac7b01efc9483026b446917aef07d4df07c4299a4a839dd1303bd169cbce08bd80f3488f2717cc49ae8551feab65e335043fd1470f685ef100c40c39ba1311b64d541fa799bdc1e567982ffb768ffc2b9b894883d35f1a73be258f5f12379392fe5f28f15bd7fe38fc8b693265e639ea087b13d72964355b81a98a96c705d194155bf47866ecc1752929f809aea67a5ee188af29a366753240edef93f55ba2a560f77dfd93b874dd097d0b730c18]\n\n# tcId = 47\n# edge case for Montgomery reduction (64 bit)\nct = ed961a800f86f1400cff5a805da0937ab9b864c28e38ad93cd02ed6ed75d88c25a80c8cac114273777bf70bbea37755e7a69c31fc8b70350e3339cbbf9f35e393c2fd844dbbe35a303f7dffc42578125869f3d24035e056e40dae7ccdd5ed11e0f535694bec4508124fd95c5fc168eabb679b1c4a171d460f4d6e6e8ecaa68a86939d8ee9e54cb15860c234ff1f424c6c5cc69c792423a414802957c567ca137539d56639f89540b089b2aa3f1efe462e41a7171464fce9b7dde87a834912fee99b26399209fddce06505488e9bb64f83690f38dbef725835759a0932c208e7d378322037df6f495ab4e8dc009641f2fc6bc9afba05c25ac9ec1cdcbcba27c0f82bb7c392864d6f6f4bbd445123944b01e0c7f24ed6f62941f2a0f203dce4cdef6584c1020e924f2edc3746084e4c34a82de9916b7d264ddb8fce6b3ba4b8c3b6c1ccfd8dd81df854533751281732b4ecd3ea0c505dea02de186b2c8fda8bc7d0b09b0942968fc87f1e65d9750f6c9887a0d74d915f77b868862c79eb0244c61\nmsg = 7e05772a4fc14b85e4bb3dafc6dd5da7898392955b736d07550a5d19c5a34b8776ae3ebe806b1c6d3d00423977509887f9b74fb85b544068d83dc7bcfdf5c4c2794d9336acb1346687e13d7d94fce19d4b22fb1b683de20bb6178ca2f888f031073c9511e4cfd4fc328cafd204b7256e28caadffd32b64875d8a93eea31323d39bc25ebad8e592ec3e1990b207eab8812f2dc2cd0ba7ce210edc890adf41cae97615ed2ba6b9bea28c1670dccb14968f054aaf95ac48d3b05276aae1bf8a9663f4ddb891bf32226e224b7473171bf07af5147234c24f1fec62e7ed0ebbf60553c2050ec81f0a89bfde5a7df9f2715173317c52b03e8971adc347c539cc478735bff0dd5e49d2c0f899e8988502172aa812298098f1dff7201d3c10954ec85a847b8d425d4437c3b6871d91fba9b0f190da5d5d708b697647bdf11e6c8959d109f4b82eabda4b58dd8b1bb4cee7e5ab41eb1227033e654e1e911bad11955d2986e30477f6468a816c591307bac6aad9e248\nresult = valid\n\n[d = 2f83083e6fde1edab800361ea79b717d5b844603d575c1ce2b165f9dcd30f07f4aee9a702056457d53463516e6ecb9eeea8445e9a30c6c8933b45f174f56359a2539cb0f478dc754140ea38dae831132409fa7df8f4efff32e1bcb3b0e91678438d953384857c0ff6a0714dc9f4cbfd8c87e5bc0a84e490c2dbc3bc71c9eddd161d416898aef63210d0cd9ef7dc1bef116e565601f05aa26a482ec65b50d58f49989f0978346f78325abf029890ba48bfdbe5a37a923cdb7b210f0f3d5f187c8ea31a912fc45841947dd63130ef38c318a2eed24340e0501994da5c02ddeaec4398b0c8017b92c4c3503bad9d0489e7f713bf58704f39d28c91aba0eaa9d9c61eef2beca86afc4b7cbe46ea235dcf50b0571775088a423b64bc9d92af4f91e52fb2e018d0783d3292dbdd0397c6ef89c23f6e0c1f8b9aab90dfda50fb307882cd4b044f42ab78294c168be4f34a8c1cfb433141e1556334bae4919dd9bfdca9211cd139aef9125662ada9ee06e52b6c32e337ba639a8d03915172d480738c9e9]\n[e = 010001]\n[keysize = 3072]\n[n = 00b3afb0d6bda9bc9e4a2c7f71ac721f4d06afca76ea0e60c2f4e9dda40923ff3c388509202c0f0949452cb91771e104e2722ec704fe1feed40dd9c7887e4d2877e1365a92e938941c791e7885b22862867d7347ccb2422467345ad7fe22b922b23247c493d7494eeb609b834fe8bcf66f5d032e085cc222def6ebb5a729595e2e5a2a8599d29a0d91699c356c883981ac9e85490b83944b0d0de518df451439682442bef9ed282652991f63d7a880aa888190495ccf0ca4bd80fde70b94976b21b5248cae89017e6eb275673b6f22d1bba2535b91ac2560041407e6b98849ed1ea5353a618876e33a2dc582f3bf7e7dfed013633f0f182997dbc2b1228b56850792412ff00a2dd29cf77b64ccc241a0559d1a622e0f288a8cb1790233e1f74f0e374fa34876e8195304db8bbada572347d7bc64578795a10789b3b10bdefa7a89ab018c09eafad19dcbe45ad6b01c008151522bd69a1c9448e693b3f28ece5ba107ba8dcb4bca3627bc6ba40c9b56b4924388293cc5c62dbcf87affb6154907eb]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100b3afb0d6bda9bc9e4a2c7f71ac721f4d06afca76ea0e60c2f4e9dda40923ff3c388509202c0f0949452cb91771e104e2722ec704fe1feed40dd9c7887e4d2877e1365a92e938941c791e7885b22862867d7347ccb2422467345ad7fe22b922b23247c493d7494eeb609b834fe8bcf66f5d032e085cc222def6ebb5a729595e2e5a2a8599d29a0d91699c356c883981ac9e85490b83944b0d0de518df451439682442bef9ed282652991f63d7a880aa888190495ccf0ca4bd80fde70b94976b21b5248cae89017e6eb275673b6f22d1bba2535b91ac2560041407e6b98849ed1ea5353a618876e33a2dc582f3bf7e7dfed013633f0f182997dbc2b1228b56850792412ff00a2dd29cf77b64ccc241a0559d1a622e0f288a8cb1790233e1f74f0e374fa34876e8195304db8bbada572347d7bc64578795a10789b3b10bdefa7a89ab018c09eafad19dcbe45ad6b01c008151522bd69a1c9448e693b3f28ece5ba107ba8dcb4bca3627bc6ba40c9b56b4924388293cc5c62dbcf87affb6154907eb0203010001028201802f83083e6fde1edab800361ea79b717d5b844603d575c1ce2b165f9dcd30f07f4aee9a702056457d53463516e6ecb9eeea8445e9a30c6c8933b45f174f56359a2539cb0f478dc754140ea38dae831132409fa7df8f4efff32e1bcb3b0e91678438d953384857c0ff6a0714dc9f4cbfd8c87e5bc0a84e490c2dbc3bc71c9eddd161d416898aef63210d0cd9ef7dc1bef116e565601f05aa26a482ec65b50d58f49989f0978346f78325abf029890ba48bfdbe5a37a923cdb7b210f0f3d5f187c8ea31a912fc45841947dd63130ef38c318a2eed24340e0501994da5c02ddeaec4398b0c8017b92c4c3503bad9d0489e7f713bf58704f39d28c91aba0eaa9d9c61eef2beca86afc4b7cbe46ea235dcf50b0571775088a423b64bc9d92af4f91e52fb2e018d0783d3292dbdd0397c6ef89c23f6e0c1f8b9aab90dfda50fb307882cd4b044f42ab78294c168be4f34a8c1cfb433141e1556334bae4919dd9bfdca9211cd139aef9125662ada9ee06e52b6c32e337ba639a8d03915172d480738c9e90281c100f9ad4a9180997ab820cf211a422122b436616fb1cb13a176572a597237b2fca8fa5c0a08ca7e643b30bc1b76270f80464ab0d434c3e13373aff43401dce2e69883112ca7e7d0a0485cf0cf35578b47c769057fa23af15cea4497c72c8e78ed7776b70cb7b1038dcb2e8607a130ec246f43be9224b21c3e8086c8d23616a04df1125619a8eb7667a41189010f98db7677994d3d2461bbf22337b125806a3ec4318d0f7d42d41645c836fea377bd10edd0527d53823eab2d389d2e3d5ce8f8db3d0281c100b83ca2a519e3d9b77c43628806471d4364e7fd3b159571ae56475340ca70503fa72a7805d547479f1b876b569b92e47cdb6e6cc838e30cb55b03672b566a6a5621eca32a4566acc29806cd55c235b82e51ea6a970e9a5bc38db7c745573eb0d45184c45116022b67348e4dbb40ca12c9adb233dd55f971d9dcb8185b13cf1587ba4a99cd27d292b71df2d2571ccea99d9c439fbf4d6528ca151a2143729d7844434c1194eef2df42ee8d949ec7269ab106f0d634a6a52536e98f2c390ca0c2470281c100bcbd992f20ede4ed28302c2ff369a518623b89f9f73021d099d7f3c1fa051e26870be8b1f8914f27c7918b98e7b23a1fe8fa7f905bbaf3f0324502c39dbd10e09dc3efe405c39a46d9ab589854537fb168dcb53d681d6945d7107d8a5b316321f9e62a80fa195ba90ac45b24291d79f57a5aa79381e903fe98e55ab374ab3e004d0235679287f194ff8477fed8689ec78e65eb2083995653f517bee7b2693c5ad0edb29d40428e01ea40d845fdf0bc35cd05dc890ae2cfce8a5398239221fd690281c1009db97b5c70dfb9c1f5a612b274fd68b60baaf8061f2243a286c6a52570a9da69c408fd9bb0cd4729957dc78cebbf43d108626ecab2b8de665c367b9a846eb1fe6f28913f5d0edb93f466ce5f3ed692894523b48101c5700de8438f5b73a77de726aacd0ec612b169b77aa45d4cc832716a3c875e537e2bd3e1bbd14e17954fcf54d30cfcafbcfc51bc57e76f20806481440838b8a3df989df896d8274ff633c1ed0330821a56de80048e3ccff99ab91018eb11d71d5b8092943d3814d714c17d0281c100b894a19210bb73843ffdbfd76f608af0f67c80f2896ad40d3a303f2706668cf62161a98b0a27bc2c761b6e1c679e15bea15e2642f85d775a0f6947f8843475044a61378db21458e0ea3ccc32c3f4f5cf5ab0c7c5452dfa3b95f32eaea447c27fdc12a928a73999241fbc4c4ce23b6b313d2f6dd229512ca2f7c121a44fd66bc5e6a3fbf9b3e34a38d962af6a718fe88ae0cd209bd62a8f65f370df8dadb2382b26ebd97ba5f062761c4f8606211f6fc2213c8028bc4fd349e6c03059d41f80cd]\n\n# tcId = 48\n# edge case for Montgomery reduction (1536 bit)\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 482273fb6270415d2d3b731687", + "7bc0100cbe54b6f1bb432711c648b49ca3d5c83f65a7e024d840a4c029eb95e40a9627aeca373547b5e7505a8bc36e129f815da02380dd4ab665d067463ff7ae130667aee428f8eab27c1c013f75a4d5051bf67659ba40b1883328855197a5d7d8bf6c47ba60d60d3d3597defc4d254cbfeef1a4f493cf9adbeb18c2546fca57aa3c660cca23f7693e407f3ed2505c680151cc11c20c980bc16657b03e53075d1cd0eaa1d3d07799206d35c3dae4347792f7bd8723739fe15c0183e2344838dc3859f53b44daa2bc9144a5fad347f07260113a472c6e9242c54e421247b2633f984d6fbd00a25db5680f94d243eca8addb3a8a4dc7078627efddf444986c6d49d1abcb93a8d6813b290399ab7df2e07d8198ab2f46d1bb6310ccb7be4451148c577eb93bfb48db6adeacb01b1df818fe4f1b6bcff75aaf68db7f99ef6f8c928b81bb297c5c3cb1a009cf6366672bce5d92cda12b44afa40e086338b725bfff\nresult = valid\n\n[d = 035bb9ce3adf30cc67aa70d109a5004be423c1da2fc572993ec060039c643cd59af9847beb74d888183c763e3dd611f4bea0b9ebe5fe91f81c12869882eadc1702afdd1dbda839145bc897b3c61822dca33a5663645b77610554090f6e1d7409ae9d97db09aa73f2f64b74d2482d0bf8d52da5d5ddb55c5172a6bfe49fcbb45ca687262c41ec826344def12a2be9607c0c85b8bcc9c7d80c1ae1a01b33ce496cc84fd205070b0b28e22c449ce08edabeb1b3af57e763badd87469d8100cadcc080d69705fc34b181536eaaffae50de5fd16e7d03cd42a0277ff82c0d3b04cbd2fee07a4d221888c5073bb534581b0ee2c093161a3ecb7a8a81f093de1908c54a92beaaff41742e9dc0ade482250b401e31cf7b09a09db2644a367324279c557be4f4bdfe5bf2ef5c5dc6629683e2897142524f320d465bc828d46cf31d4c09d01645d9b482ae7758a369eb00b4172bb27ec24292cdcb587f4c48afd216964699593ba0cc56a827d4d0be0d4e85073507c3887dea48690c9e9e004cc691686811]\n[e = 010001]\n[keysize = 3072]\n[n = 00949c76925a79fabe915869b2a3dfd6ab33f80c1719003c9e91d33091f5f2baa85433c3672f527348e7b93639bf67d9c44aed996e70c881c2786af0cb8a595e2f26b2b302b9fcab92e7722b47023b4836fbd8de3f0c6bd1113c29e5faabf8c43714ca52bbfc1befa680ad65135c042c9378e8d6f2f4f9f462b2137439559ee1cfc10bb3d73900928b31a56df4c70d60df81157aa4a60d1b79adac822184d68ded4938ed4e244fe50596c1bc17b5f89e9a9c53d7d387a0f92162b9c8463b17f2c25c64a505d5c5d1b7704ddd1c97db98be49c3d0602499596e77b0c50f975f2ce7d2baa4a4756d67aa13be4c846499622797acb520991c8ec5c364979d498e56e01a54369860b9aea06a00f36527b303d7c7311cff95b4097a6e474da64477ebf5a604dbeb8f6fb51c6afedb2b66bceb83685f2485e57e8bfe81c966c22a6588e4c9ac89d3b1a442dc4d448a5c318b1adb4fe07f86b38994aad039a5f5e01fdc15bc8467df21745d574a87cf3f3ba865c7168f1befcb0bddfc93bb55c89dff71a9]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e20201000282018100949c76925a79fabe915869b2a3dfd6ab33f80c1719003c9e91d33091f5f2baa85433c3672f527348e7b93639bf67d9c44aed996e70c881c2786af0cb8a595e2f26b2b302b9fcab92e7722b47023b4836fbd8de3f0c6bd1113c29e5faabf8c43714ca52bbfc1befa680ad65135c042c9378e8d6f2f4f9f462b2137439559ee1cfc10bb3d73900928b31a56df4c70d60df81157aa4a60d1b79adac822184d68ded4938ed4e244fe50596c1bc17b5f89e9a9c53d7d387a0f92162b9c8463b17f2c25c64a505d5c5d1b7704ddd1c97db98be49c3d0602499596e77b0c50f975f2ce7d2baa4a4756d67aa13be4c846499622797acb520991c8ec5c364979d498e56e01a54369860b9aea06a00f36527b303d7c7311cff95b4097a6e474da64477ebf5a604dbeb8f6fb51c6afedb2b66bceb83685f2485e57e8bfe81c966c22a6588e4c9ac89d3b1a442dc4d448a5c318b1adb4fe07f86b38994aad039a5f5e01fdc15bc8467df21745d574a87cf3f3ba865c7168f1befcb0bddfc93bb55c89dff71a9020301000102820180035bb9ce3adf30cc67aa70d109a5004be423c1da2fc572993ec060039c643cd59af9847beb74d888183c763e3dd611f4bea0b9ebe5fe91f81c12869882eadc1702afdd1dbda839145bc897b3c61822dca33a5663645b77610554090f6e1d7409ae9d97db09aa73f2f64b74d2482d0bf8d52da5d5ddb55c5172a6bfe49fcbb45ca687262c41ec826344def12a2be9607c0c85b8bcc9c7d80c1ae1a01b33ce496cc84fd205070b0b28e22c449ce08edabeb1b3af57e763badd87469d8100cadcc080d69705fc34b181536eaaffae50de5fd16e7d03cd42a0277ff82c0d3b04cbd2fee07a4d221888c5073bb534581b0ee2c093161a3ecb7a8a81f093de1908c54a92beaaff41742e9dc0ade482250b401e31cf7b09a09db2644a367324279c557be4f4bdfe5bf2ef5c5dc6629683e2897142524f320d465bc828d46cf31d4c09d01645d9b482ae7758a369eb00b4172bb27ec24292cdcb587f4c48afd216964699593ba0cc56a827d4d0be0d4e85073507c3887dea48690c9e9e004cc6916868110281c100c7b40666c8ab34f23744b0fd1f8071385ca734449edf689b3256e084d144b2705fffb05b873da5717261988bb2903cebb6c025f156b25c4a7221969833f1a354bc783d082fc49428e9046962125401ae6b5c23974ff716a34b168da2124e5b65e9575456a5b6fd86dab4e4e04e88924e6d519485ef245c3be7e8199c0655bd67c136f6f2b7ccc41aaeb8a8ec5d364c197a13a94d2acf49f96e465f0dc187f8e63667b88798e87a31bab9e57f67d906d34763bfaa028c7b3b703decb67b32003d0281c100be8147ebc27c5379de4992bd3bc2ebf1216f286aa497fd3fcd9e57137dac0ce9697cb1f9b1924f58f434b29462a00ce4da35e7f9b1172b0d1ffba5ced315d1375a30070f299f2e8787454774ba352636299640f37b44776c6176b2155a01f6da55b7e8e1d80a142edd147c9eacda0f9b01b2347f1a68861944e814b45bde2a89a300e64e53bb2455a02dc65d2513ad7424d675964b5680dbc52c20ead0927f2ab6840c2be51ca808f0f8f21ed7243bb1da88a012373db1faf02a7a61197901dd0281c02cab2cdf62b540e388cf399374af6323cb3daf28462d0c95e23da27cb2de5dd75af1b33dd5d349254603647ea2d3367d36e465d8449f229b9849c1088c5dd93dc3e65528769eced113c5e3d886e6f9754d184ff1b176403f0835a43a8343b997e308a099bcf9605e009f83ae5482a1cf1f0ea75d09efa51dd5328a3fe6fed89dd38efacfb1a3009e434494ac41f13a365ca2f7348685d53310a276f279be7342f31a62211a67ada55ff1e2ce8ba8f4a8df88053ffecff3648927a0c1f46e6bb50281c00fbcd25a3198dfb4839e8456c9a712a2bae659ea656a80eb526b303a55f96e9fa1ad416ea532b7075c35364377da4cf662e86d1f7d77b280c5119ee2f5212a456e57e55d654cd7252f1194139a86657fb7f3c7add593146289b2aa87850600848cec427ad5c40f62c7b4b78ecc2cbf7948ac9615a1f2dc911dd6264fb7ff24787654ceb1cdccf9f570e4172cfeb11f7526cde8acdfd06798c033230d02e9f7436a0c828ce5c2764736d0f9ff7e3a6a0c09479c21a51a9da7634bbf0c627452a90281c032900712764508143991aea5cd62babd6ce119e5432f76601f079c789e4cbd43989f0b4d9fee2f83c7455296acabd1d99ceb1d03f8fd01ba3378145a08eb6231033d646aa6cc0defb64d8a710ebb0f5ad5e5cb3c9a82c2ea9f3ed5a3167e96ed5f1195228e3a382ab4bc84b3ee5922b049dc02bfd68da3bb430da85ac6f6efdf961dcb6fee289e05ef7521fcab891e4e8d62efca77fee73fcb35e3121678ca5b4d133c4f7fa8ff05ae93d507ee03ffecf67553a410bc10f97cf5db4ec510ee27]\n\n# tcId = 49\n# edge case for Montgomery reduction (1536 bit)\nct = 939c76925a79fabe915869b2a3dfd6ab33f80c1719003c9e91d33091f5f2baa85433c3672f527348e7b93639bf67d9c44aed996e70c881c2786af0cb8a595e2f26b2b302b9fcab92e7722b47023b4836fbd8de3f0c6bd1113c29e5faabf8c43714ca52bbfc1befa680ad65135c042c9378e8d6f2f4f9f462b2137439559ee1cfc10bb3d73900928b31a56df4c70d60df81157aa4a60d1b79adac822184d68ded4938ed4e244fe50596c1bc17b5f89e9a9c53d7d387a0f92162b9c8463b17f2c35c64a505d5c5d1b7704ddd1c97db98be49c3d0602499596e77b0c50f975f2ce7d2baa4a4756d67aa13be4c846499622797acb520991c8ec5c364979d498e56e01a54369860b9aea06a00f36527b303d7c7311cff95b4097a6e474da64477ebf5a604dbeb8f6fb51c6afedb2b66bceb83685f2485e57e8bfe81c966c22a6588e4c9ac89d3b1a442dc4d448a5c318b1adb4fe07f86b38994aad039a5f5e01fdc15bc8467df21745d574a87cf3f3ba865c7168f1befcb0bddfc93bb55c89dff71a9\nmsg = 1759da8f5a161623575dfb3f7a38c4b0a9094b3da69ffda3fedafe1abb032b7f7849ca5b3e030627fe4f302a4a4a1ca71fd64b7f4ef26289c68f423f265a766a9f375b733078e34ff454d6f6a91bfc686f9d5f89f934a19134b22e1ccc123bb4dd6acb42072acf0f61cbd367bd64e5bc17b556987b774320ee4ae1150816cca2342c31d4c1e56e03e88d31706181cf08ef3b305deb81b64b4100113f71e33256be00fc38b6dcd1507b3d5d9bb3950ea4b7d71a0272d01a1bcb26092664811b360a40c4b897400af983cced450ea78fe1acefc9997f0876cc22966758f945f7299970bc711b4ad57d675410ea3bd26577d9444767eede72e3\nresult = valid\n\n[d = 0e218aa8654983eb5e726e85e09e0532e8574e6ed3ed930fb84cd7139e42bc424704033d0f77a878589bfec033b88881572604a6e4e90d3bde408c385fb32f57dc694f4ac62c0c407d612c94c0384a5aec21e7d56410d844d01939877ba7382ff4d45fe8e56e8ddba3e55b35e37d048382269810b0611bc85c8b1ef9f8f3d3abfaf33e522290f3fd389c11efad0ba8755397b4983cb12fcd4f337e4c1f7db2fcc0a4d9b6530595936d02ae4f3cc37b6b3f69ead5a7777c4464099bf5f15a3bb685b36f6ee5a4661493b3188210383d9616d7809297537fc86fbdb25aef61bbf19a2f58d3a88d605701c06d806c83e11592ded0baaafc93fa24c5530fd4d27c128dab75c20e240fa7b9928c1abeefbd1c741d8d74902fbdd8f7e853d26964fd90c04c156a89b151bc8071a00a90e39be427a02bd4d95fd7151fa7d222898fdcda9fa0be8d5f45ac9d2353b200268fa795c9491cc1ff1fe5c0d54fee2da545aed663bf5a4c24d65f1406320cd9212105fb8f4654d062f99916c4b9f49976d77d31]\n[e = 010001]\n[keysize = 3072]\n[n = 00ad653869721ea34bb3658441b862d33a99019e6b30f4f9afeca9a56ea4220e54feb8426358d9cbc15b9cd90a9d896de66360dbf39ce03a8520c1c298", + "b46439dae3ba94e0c56b6f15062ac0adeeb2e80b6e5442e0cac2853b677c2bf055d491188aa1f25a454832b86d54a6c397a645e8a43783ba6ce3c6beaf7fb69f39449e8bfd1640c5e6efae9f10680961dfdaaf9224f4d74dc20b9f7d94629e40069b20c232facae69571dd71318497bef60452928471088f22ff13990f009f7e43f9884f90ee4a46b9434405b9ee75d634525fdf662e8d03c2875bd767349f88da55cfa26c8c22aa1560a41e95b8b5176aca2751cb37b49960b09704ce32f9522809183f2551243f4468ea3ca1163c1866c9f13e6abcfc43d22c3ad713e0fb4740bafa480da23236bb8f2f09d66a1acbcdf7f7c79062b8d65ade1703bfb43a408dd095f8fd5670f5e3700fabec8d1c865440004cd45a7196b1fb68f11b17947c37f55cae8b6e5c6537374bb60d67c4d67678ca9954f65fa6baafcbf7d098b3536384aa91]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e20201000282018100ad653869721ea34bb3658441b862d33a99019e6b30f4f9afeca9a56ea4220e54feb8426358d9cbc15b9cd90a9d896de66360dbf39ce03a8520c1c298b46439dae3ba94e0c56b6f15062ac0adeeb2e80b6e5442e0cac2853b677c2bf055d491188aa1f25a454832b86d54a6c397a645e8a43783ba6ce3c6beaf7fb69f39449e8bfd1640c5e6efae9f10680961dfdaaf9224f4d74dc20b9f7d94629e40069b20c232facae69571dd71318497bef60452928471088f22ff13990f009f7e43f9884f90ee4a46b9434405b9ee75d634525fdf662e8d03c2875bd767349f88da55cfa26c8c22aa1560a41e95b8b5176aca2751cb37b49960b09704ce32f9522809183f2551243f4468ea3ca1163c1866c9f13e6abcfc43d22c3ad713e0fb4740bafa480da23236bb8f2f09d66a1acbcdf7f7c79062b8d65ade1703bfb43a408dd095f8fd5670f5e3700fabec8d1c865440004cd45a7196b1fb68f11b17947c37f55cae8b6e5c6537374bb60d67c4d67678ca9954f65fa6baafcbf7d098b3536384aa910203010001028201800e218aa8654983eb5e726e85e09e0532e8574e6ed3ed930fb84cd7139e42bc424704033d0f77a878589bfec033b88881572604a6e4e90d3bde408c385fb32f57dc694f4ac62c0c407d612c94c0384a5aec21e7d56410d844d01939877ba7382ff4d45fe8e56e8ddba3e55b35e37d048382269810b0611bc85c8b1ef9f8f3d3abfaf33e522290f3fd389c11efad0ba8755397b4983cb12fcd4f337e4c1f7db2fcc0a4d9b6530595936d02ae4f3cc37b6b3f69ead5a7777c4464099bf5f15a3bb685b36f6ee5a4661493b3188210383d9616d7809297537fc86fbdb25aef61bbf19a2f58d3a88d605701c06d806c83e11592ded0baaafc93fa24c5530fd4d27c128dab75c20e240fa7b9928c1abeefbd1c741d8d74902fbdd8f7e853d26964fd90c04c156a89b151bc8071a00a90e39be427a02bd4d95fd7151fa7d222898fdcda9fa0be8d5f45ac9d2353b200268fa795c9491cc1ff1fe5c0d54fee2da545aed663bf5a4c24d65f1406320cd9212105fb8f4654d062f99916c4b9f49976d77d310281c100ee06a7cb29fa932c70241f1f4804a406a1d67c5c95b4a368302279c279e1830972629391330f14d081c61ffafa39bfcd2220fdd0afcc8d7b3df3697e650a96044dcc54a6a02351537eef936d216757e6d4d2834706b8e3d0d76f1d30bff7024658528723d25859298b5da28c1d40e9989dcfc7b9c84d78a8908cf5bd0b82d6ce123de71b7ed553c58670b5090bb3fd389d95bf0497d7a504fdd7e4c4e788695883f0a5074c4155b0f3b35363b2d30dc2d02b604f6ae56d518a82b958ce3360150281c100ba7d2c5d4fc2d5223ffaee501fb81a28ca983994eb0ead5147efae3457e3f68b8ce1c1f3abde00c9978ba9896f28d82eb8e328c9f36847e8b80237d177708ab63a977bc9ba5cce44abbf86d0cc9357b719f73e2ba3fd17a01b4f6b0490feafb0e72adef41609604f4afea46e9e40d1e5bb63c1779574a7211ab081211ef8a62c17f11522a23194204d6f36a7acec89caca294d86d80c3cac7567c7fd51e54cde2c690e4a42755167d34a5e9a4ef9cdae882742b2a16afbd88ff5fda64056838d0281c04c08d63ae0fb095e6da82c44ead588ac11b099635df3292bd40c7f46af76694c703cab14fbf17a5dacc6e45a60ea67a998985f5bf57c6b498e1d9e7a60be83f37602aa9bdb95cc99d677a3697dfd2c28319dd98fabc70e071d7a82219b80c53a41668382dee397ffdc6419d39658b1062e8b3c2acda069c5b6ff40549643c2686b8d58b100d01685878fa354f36718a1a83d389ab8028bd54f5d52d7cf7a54e490a9239e742e7eb81af112d74b3d7e2cd820b3104b7e647062c5a57d87c9038d0281c0295087de98480a9dcedcd1a51091e1c1bdb861b15b2de239ca9d0fd3ead0c712fd801a4ed879936515dccc0f757feffcd1db09734c28831dcc7e394d7f8f803b84d980841d74680210a69ac071420741ba4feb07120a850c646080cdff2d5d50ecb5b3b51198bc2c74e9db15e29b6ba4e091e60f8f1dcbd4eaabc5bfc7b3c064ae5d2b9883a44633add400a0bf0f9c2b40044c779e2f7fd5992107ce58315b8930ff8939ec653f46a829a6b1bae35eacd6df13c8ad381d5949f36e614189a9150281c075e48b05a1e32eb5a4eaba5637c9fb23134a48b2869dca66a1e109a9cf773cc8035ec100f05e31b1e0f47d5d8ada685751fa6d18a90fa02d255db8af5237841534528e261bd21af0eec48f8dcad44871aeefabd1bd8739f7a20ad3f8e462aa53aa0b7f328468ffc17b837bf338e7b0dbc8283df377403d6483203db68840c9a9ecc719a4b3b888050880b1e43cd17a824dab3bb84ad51b39edc5d8524bee9166f98d64cbd51198836f00983b76b80cd4ac436327c6df41531e773e7b3f0ff101]\n\n# tcId = 50\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 15e9afe6899946b32dd51dc583b611def28d2ca36bd609bccaba57103983b5dee051da648acd6c9b567d62f87a2672f38de06882109209de60277b8cfe74d3d9dbb1e67be8fd196267f54720db304d7529f10e20024a4fcbab791ba2e57d0e1ebc056b6e05b515ddae5a704bb27156cfce0ac5899aa66332e43d6c0183ea2ca847d445562a71a7f3cf1ac7dcc750c4c70b4e581646902a3b4f6ad9fa5f7a7427c72f9efeabb657ac371bb96d2541b481c557938b6ed4a784b36becf33f4c044f438e5b779f4180f46e9254209738d845fb0d94897c79f141e8665d47a91922a61bfe263712062a0f4c5e725ee148e9701bf0f034bb7682a6780056410ee8e588671721c471c57ecd1bcffa85ab91e744e2e989847b78942cdf396d883c8de5effc3dff47e52c60a88176f21934e248c60297347ca00e5e29fa4c0edc2e3d632ae3cc1030572149d1b788b4b14b51c07aa76e0130ef72962c153d73915921b514f2cfe6e93b16ea7cf901973f6db782a958cfa16691e90865385dbd5c03c83ab3\nmsg = 1b2416c6d332428a300fb786cde4ebfb4a7686fc7a32de98447f164c15549d422d9aa53d3963ace5d229ab8f6c2dd39bee86491cb6ee0383d3d3df95db8cfa5325a605d4152ec5f02878290dc644a9813728d6df0a7f8a95292e64c1094bb915f6c0f447c45cbcbd5f115a6a930ad34d7c1bbf6ef114dc21a5c7443937c8436bbb25662a2cc1c37f9e8d674cc569aac454bd2ca4ed70fb12e8d9aace496d45c793dc794a6a12ded9605829091160bf40ac03f964ac57501789fde22068f41c60b670b5df0a7af2c1e94604211aee2de6c2b85bf9de5e192be583dffb61ba08149e912c1ae642d2ef9ff4e5e0a3d0cd1d9173ae8a782b158043ff63798552fd23ddd534155477370bb08117b5877b86ccad9c750d6191be6990e3d31b9b58a7dbe0d3bb97437683baf7b989867e1e711d7f9bc1c7bcd00a49a5f0\nresult = valid\n\n[d = 513ae42917d17293d2c9025c701e2cc2e16c7bf47d00f6563e0205f2792ab3765a68f53fa119c27c85642371d3d03323771cf17655a11ce98c69b1cfafa67828c0dc1e32a5dfe132c546557ad8b515e9438aff641004fe356146ce9ebf2fe70655f5f9ff9dffd5254e075003cc186f09937426885dcd282f10a243aec5e839ae0281855006839170ad039b3f6b4cf4ad9b2431e795804e023629c8befc60ec3581062b539e0e28780acb81d115b4b12252205938b194d336e16df3d5a00fc2130d6020a9e1c251b9df353ee568a71f6768569d294ca1057a4dba286fcd5fa22f1668994ce5c1adac7fc953229b5e500256ec4a16944c27d401f36dc22b9fe9d699e1b8505859703e2bf3a108115b94a709621705c562dfdc74abf40526122f8be96f79b0144794e26b03f4e20593ea0d2cac01e30c5f79a779630ba2ca24e0f91adc3f84f239875e38afe35120edc019d60f13935c95051416e57f84fbb2310fd2e9299799b706428e25c085747ce96cb9e19c513589fde52aabd910712ef5a9]\n[e = 010001]\n[keysize = 3072]\n[n = 00aeb5a241b73f86cb7a306293e71ebf8b70aa8f857b495051c3ffcc48f35952264f383ea5606f55111cd8ffca284b22330c98e094bb367ce269b350498aa66e4549691e831469589d87e2b80d39b577bb52765566ab3f30675debd1a31cb6909b8080a47239d063eb5bf129d70d66f813d92a91e751c462216d81cbde935e9696d741ecac42f06e880194f37fb6fa587d1438776637187c6df59957976513ac352cb3865424bef80ba7ae2cda10436740f1fbcf8404b7b210dbd270f64ba42c6c5b58aded6776d341eb653b9824b049ba71453da7eb60478885d6740b07ad3da785c94cfd3020800ef885cf066e19750f179dc5728348cf3b625fb23cd1bb47d746d258192cab6a74243514475d612d0d442bc72b500d5b1a0e37b3192094cb6cd6865c4b2001a3711e536c343ac0f916dfb25a148989f0667b516ea5a2f082b1f1136cff85ed2d0ea009d0e709acc625a1cf5da0e219bca8c93204ef5c57eab48d8dc1136ac67068121c21b1adeef8564def6a28d59d39174e2dd0c7038b071b]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100aeb5a241b73f86cb7a306293e71ebf8b70aa8f857b495051c3ffcc48f35952264f383ea5606f55111cd8ffca284b22330c98e094bb367ce269b350498aa66e4549691e831469589d87e2b80d39b577bb52765566ab3f30675debd1a31cb6909b8080a47239d063eb5bf129d70d66f813d92a91e751c462216d81cbde935e9696d741ecac42f06e880194f37fb6fa587d1438776637187c6df59957976513ac352cb3865424bef80ba7ae2cda10436740f1fbcf8404b7b210dbd270f64ba42c6c5b58aded6776d341eb653b9824b049ba71453da7eb60478885d6740b07ad3da785c94cfd3020800ef885cf066e19750f179dc5728348cf3b625fb23cd1bb47d746d258192cab6a74243514475d612d0d442bc72b500d5b1a0e37b3192094cb6cd6865c4b2001a3711e536c343ac0f916dfb25a148989f0667b516ea5a2f082b1f1136cff85ed2d0ea009d0e709acc625a1cf5da0e219bca8c93204ef5c57eab48d8dc1136ac67068121c21b1adeef8564def6a28d59d39174e2dd0c7038b07", + "1b020301000102820180513ae42917d17293d2c9025c701e2cc2e16c7bf47d00f6563e0205f2792ab3765a68f53fa119c27c85642371d3d03323771cf17655a11ce98c69b1cfafa67828c0dc1e32a5dfe132c546557ad8b515e9438aff641004fe356146ce9ebf2fe70655f5f9ff9dffd5254e075003cc186f09937426885dcd282f10a243aec5e839ae0281855006839170ad039b3f6b4cf4ad9b2431e795804e023629c8befc60ec3581062b539e0e28780acb81d115b4b12252205938b194d336e16df3d5a00fc2130d6020a9e1c251b9df353ee568a71f6768569d294ca1057a4dba286fcd5fa22f1668994ce5c1adac7fc953229b5e500256ec4a16944c27d401f36dc22b9fe9d699e1b8505859703e2bf3a108115b94a709621705c562dfdc74abf40526122f8be96f79b0144794e26b03f4e20593ea0d2cac01e30c5f79a779630ba2ca24e0f91adc3f84f239875e38afe35120edc019d60f13935c95051416e57f84fbb2310fd2e9299799b706428e25c085747ce96cb9e19c513589fde52aabd910712ef5a90281c100ed65fde8d5aa657aa9ab01a8d7663688453f41815879ae79b55cd29b687c4a7afbd9cf492a1df5e3049e6380f4d509184d7348bbf4b1a1a8b1b69105b1c47f77eda14ef06ecc31da6117228d2af0a34e404b680946f7083676717cb57f88d3e7e6aa1b367542e49b8b25d40bfc1c5a9e32da293c627d87385c6eb70274a6fde7ffc904e149ec669075f039c1a0b0f14a186c52e27af6e8dfb3b80545fc9d290652637b74cd491b950ca03d0236f7c9e38ad88b9bc4ba51086e82dcf46fc0b4af0281c100bc662810d94f51ac88481bda26a14193698c00199edec00337fa1426454235ccb72be4302775a70bc12d78c787a8db902ab3970b574b678aa066755be958787cc179cead1e11f5f49254df793be09acbbe35f1f746f5544c361ef9e5e47b72dc208d434f93fd0c907730960c72ead3126e9d12d9cc0a2f2b302e070ebab84a640040298474ed58a56ea9c2498f33ed75de9ec106a315e008aa87a175f26ce93367054d2a8363b50a8044ae8fc867ebc4e89fc4dc6908507c8edab3324255c7550281c00c593ed0eab4575cff105f20ba3b9de08ec19095bad57186f13127df5f9aff80d032ef3e5e0b7aebd924a8066035e8a833f7283466b10ab8acadd3735960e0448bbed54d5a6612bdca491ac9ff0ecf5fd5a6567e0d0bf2886ab6d286da6072ad60693ecb21645e61dce615d69dc197d11cd20e4d0ece7ac72abfb39354200f9b0eca150fe6f97e084baa3846e325f1172a980fe3aa03c7ef42f8f2854673a25baad373eb8a7620122bbaf611746c853ae9d103ca117ca3946db32eed2417010f0281c100ac201952eb77d082f5300c624f10dd3cb51db7a9b0c08a65666b10a5b6793b7601941432fa9a3f383a12355af6d28b6737dc448f93fdcc67970c8504a838b03c2af8029f9fed80ed26146ce7f290ce5c7f38020d8dc2ee7582ace25beb57ee24b788d88a880695c8175d4879af34640b5f0c1b00e9ae14523cfe906c20a3e7335e1740d7478ce184a38a6d7b8f5e3e0186973c7bb7dc7086fa665859ce573ae83fa354511721ad721ea6a165b40f5e14d503c3742c71f0371cbd2b232bfffad10281c100db2e5e1fc45485f6e753bd60b65de6d740abb20e16ccc414b04fd116a3ae0335e4ca2a2a16f72519dd9728fa619475243dbdf4f3d1e68eb1355000bff5bc7be136abb4ceb32f7baf486c557062c2798796f80e7ecb99296e35d1cff1f186ab1ed3c7c8ea388ad3a35040e739249bc525a4be72110ca711803541921899eb9e4c92a25ed4539affd848e23e99d981e351d086f213751eddfb5e353a1d3891c4dd49506de32d0bf269790b423555e2166e3f5dc48c52eebfca1eeadbc27871754c]\n\n# tcId = 51\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 1bf519ad4dbb78a3a8071a6bd1713d0552c3fd83f756502790f5d2cbc943b671d93635e4903023bf5be0e1441b807322f38e7565994cd36637a55e03a117a4ea16a42f470c0496baf40bdb261e3d4531e6077e9e2f3a7fe19c6cc21690ad5acc911650e72b0a6b5400a0d1b6e2e5b1255b5ac1ba3d81e5967083173363f82bc5900d7e1d44770a0ee515dd62940d7463902a78abaa5577a37c09b033ce8cd4418957b1a6bb744497cd3ffc93510c9af98c02a377a49d79b8adf88802a063741b172b23dbbe8ed8dc6af88c7bb5a598960d90d11e57659b198289f8f78eebf55dcd106b776b4ac151d718ad1e94bcfef81563eeae80d28ad9ae77b5ecb0fd488dd139de77c758a65a5b0825fab308dda6173e2ec4d94dfeb2a8d859f3b6dc7c13aad7dcdf5a8fb67f595cce59216dd06c57e8ccf8c972f5df5157c8b51031dd4cb7bf1e7f1e8e9797e12b68eade041606c6042d3ff70ba2aa55bc6cbc3e9d50c4be3755dfa90a07365d06053c88f652bd1157ee1e7fc533e281d6c609e7ae8eb2\nmsg = 8ba16ae7b2abefdc640c0557914529a46810894e5dd02081ea1ab298ffbbbcacd2edece4848a1270e7f403df288a6ce398c5bc34cd1130b3dcb752ab2b7c7886291c2584d076a5708cd81ae10adfa5c007ab209150c406195617a42859fe4a711ab097962c3b11c3417b90b89c2dbef5e8daa5d65f625d3a422e4ada0acd83e4bbe2912dfdf80c8884856b56e25ee5c78b2ff5e21c89f9dc207337c88f090ab4267f917d697750aeb25cff173acdd9ecb531416ad85e621e45a2ab975aedf9e27d1a01725c0245910f9cdd0a89795f40b3709a3d762ff1a88e293f5c4955300b96c22474a63d65f558a4fc2685d3aa3f447ea6ee7bcca62dfdcf51e733903e6f\nresult = valid\n\n[d = 009b4c6e1472322270f9626dd62c314251ecc1e9273cc293f090befc60b0801998766246cb274cfd635d596d17be5bc8712ba03fa929a1ea7e14f8b0d2140a7600d8f7ef581a467900f02e04c98df4c2b2cb040fb4f53ff02c94447bf472f85d7b888f8ac565ec6dbcbf0ab20cdcb8795535cb59bea29f983ffa73f59868633e83210a00e7f05ec8bb2d4b597ecb6f9b3c56dc2f00ff695e127ec35ef819070b6af5e1f6fde71aa44e006ce1d87832ebda45ed67a5f759c89c1d0ad00a8feac23fa86e6654241353cfdff37d85f5c5655608207faeeb13116e5400edd5004f1cc2b40c90d6011d480237348725795f6a4bc9f3358065cdb71c2dbcf8333cdb0ce84e40d5a08bc5943a7d211aad6e4e0c63b78930b2f64b7b88e872a9c37c8a6cb1ed4b6cbcf2f40bed46ec868089157b2896a98f3cea594ff7d98379ba16220e57c595b2db1874068a5a1a7fd337084581f428a11251f0c1095f31ecf39001aaca69de60bcf1422d6149a9ca65e9e4360583a80332afea9c949432fa1d5f212355]\n[e = 010001]\n[keysize = 3072]\n[n = 00b9f422b594dffcb8c4f268b065e2f74d19a504873cd60d91c2a911b613521c0e896bcd57bb4d1b92f5402dbaf3ac58af65b1dbc6d007cd5f988890beedef2e499b13f32f3bd91e8b5c0c50a70bfd40b9f4f26ce1bf515babffa645cc5e129bb48994ea77352a5ea05499799ed90577cc05b578740429f0b8db8cc57e7571b4196c668d9bb298497f867f3000d8a48ee62d665c6b2d2de53c72b1e716232da35595f3cbe5119f2b34ef9511e7fa540cea305ee177f8b3cb198cd9b3fb7dade310d6e5888c5f93618e122764ea37f0d05ff4df2b64120718a44a4fb8854ad2e46c903a766c4f971cb0479caac957ec36a5b6dd5a40b595d3c1e084841dfbc320118241115d9d81f7dbb30cbfbbfbdfc3c44aed182a9ab4a9803598bbc5b3589f4509888d56ea392553484403df6135bde4427c09a84b94dff8d8279ba586437d755a617b01510d96e8c15b4dec33d7613c868a6759faede81cbbd5793178f83b0ca40db7dcff1a7c3264fda63e21421662358ab1641675c858e335688267988051]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100b9f422b594dffcb8c4f268b065e2f74d19a504873cd60d91c2a911b613521c0e896bcd57bb4d1b92f5402dbaf3ac58af65b1dbc6d007cd5f988890beedef2e499b13f32f3bd91e8b5c0c50a70bfd40b9f4f26ce1bf515babffa645cc5e129bb48994ea77352a5ea05499799ed90577cc05b578740429f0b8db8cc57e7571b4196c668d9bb298497f867f3000d8a48ee62d665c6b2d2de53c72b1e716232da35595f3cbe5119f2b34ef9511e7fa540cea305ee177f8b3cb198cd9b3fb7dade310d6e5888c5f93618e122764ea37f0d05ff4df2b64120718a44a4fb8854ad2e46c903a766c4f971cb0479caac957ec36a5b6dd5a40b595d3c1e084841dfbc320118241115d9d81f7dbb30cbfbbfbdfc3c44aed182a9ab4a9803598bbc5b3589f4509888d56ea392553484403df6135bde4427c09a84b94dff8d8279ba586437d755a617b01510d96e8c15b4dec33d7613c868a6759faede81cbbd5793178f83b0ca40db7dcff1a7c3264fda63e21421662358ab1641675c858e335688267988051020301000102820181009b4c6e1472322270f9626dd62c314251ecc1e9273cc293f090befc60b0801998766246cb274cfd635d596d17be5bc8712ba03fa929a1ea7e14f8b0d2140a7600d8f7ef581a467900f02e04c98df4c2b2cb040fb4f53ff02c94447bf472f85d7b888f8ac565ec6dbcbf0ab20cdcb8795535cb59bea29f983ffa73f59868633e83210a00e7f05ec8bb2d4b597ecb6f9b3c56dc2f00ff695e127ec35ef819070b6af5e1f6fde71aa44e006ce1d87832ebda45ed67a5f759c89c1d0ad00a8feac23fa86e6654241353cfdff37d85f5c5655608207faeeb13116e5400edd5004f1cc2b40c90d6011d480237348725795f6a4bc9f3358065cdb71c2dbcf8333cdb0ce84e40d5a08bc5943a7d211aad6e4e0c63b78930b2f64b7b88e872a9c37c8a6cb1ed4b6cbcf2f40bed46ec868089157b2896a98f3cea594ff7d98379ba16220e57c595b2db1874068a5a1a7fd337084581f428a11251f0c1095f31ecf39001aaca69de60bcf1422d6149a9ca65e9e4360583a80332afea9c949432fa1d5f2123550281c100e0ef060429807c070d0292be8bc85fe8fd43eda9be163fa1ff06709dea7bae9ea1f81672c0632606c76058ed696eebefd679b16d4c69409bb83705d51cbe62ab4c6a11e3e7b09322f5ba30e18bedac5a9f112e6940de0aa86db1aed8bf76cfb67b94eafa57f4ba4ccff134497d2121716d652ab5553ed23b8a6a3c3ddaca4c8f5c682dd947e2ac1ec2f6e46dfd657d7c77568a39be6b94ca09378bec0007573915aaa3116e9ff71975a658e8c54975f03749da2254e146116101055c03fe55bf0281c100d3a2e5528c1748cd175295ee1f87b21a6f5b085f5b42c20e4b3bcd430df217a44574bd76090a14027149cfde720e6c7f7a9b8e2141f0d8c1a3ab5087e3340bf285bd9c4281e79049058f5365f21c8063de01189daea74f95c559cbe80b78494442d68bd6c1b304547cbd5ee6a07d4e3b06358a43e508af8ebd4803bf35bca9ae0c3deeedf02f95c739f8c528bc9012f88057b325d82621dd7d4915e2e77b685eb5f0586d3e30ef3541672d27c3998c486ec0b41bd51d979686f1dc7d81a44def0281c03cd4e7cfa059bb313cf781303f2585aac133e9c68", + "a3e021f9194f04804ee461f68b66b7bc5440b38b21b0071d49dc6f92a0be74c23ea232af9fb077cc735460205bc79f224eac020284c9e83a1103a1898045184eda21f47c5c2d4029265536f8aa48f97fcc996c8c743f85c17972a303ee1a9573922b040a2027120595774b520cc9bf9b3533e316390d9de553569668befbf9a36416a0fe9c637f52f5cccde075a0a97e04f2ac89be4cd0ec6ac43551fdebd3ba3b0f8fe2239e0752e2f4e890281c100c47f5d6e9c55ce29663b2eabee287e8c1ed225deeb8bfb436c44f51b0a2aba1ab2c66656dea3b5da62b746c261a1d4c933dc94457ac5156c0cfbb604c54680c547b9ba08e2364f780d2a7b238f7d3914007f820c7daa28b185900f4bbec28b3c4ed686f5f9d8adef87f607d41834dfdadbb4005173a8f1df950cf535a6be29c948e28421f5bd28d2d6978cef7acc4660e641073bdf09e0ad9672b2587fd6cc1c0bcf413b04e0486968f5542eb464afa45cf89d01ae89104319be1c9b8730378f0281c02306a4c7e14211e22f54d038487a92ff51edd4fcf44fe32296fe08766a5dcd130ee30c5935d6c31b866da061c5e75f4a88a4f0f6ca27d77ca929f86fb3786d8ac959569efa7b7593b8b1c5a57b05552435562190b46255e8446412cc0d825af9f38da02aa38584f1be3dc4e768eb0b9b84a3499b4ca5dd5d5b54aa45c2d241883c3ee7bd04fa66e77ecc878547eb73e7dc48b3a5c27f0dd1ed2d7fbd775e13a3ad7e7869515571d8a3a14ef871e17511cab3b4dee09be294372fe95db94f6448]\n\n# tcId = 52\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = 4ddd718c830b084a29eed3b183983cb5f35e3224097c909fad3ed1db7654f207a766af1cdc693d4bfd6bb814c5d0702ac5c0e4c00e0f780f5a6c0f9d54c3d5c09d18348c8e99088223ea95d52edcc45bbac6021cd0ddeed2385945214e5979cc29d4e48ea50f72269256692145a0eef78fd7cb31a1089e8598cb30cabf43c7c2576543052f371f7bd4b443f9025bb6ae48ce13f9cef6ba3d4b4c8a623040ba4c34b59d922b2ddd04d281ea4a5eabfd909e2e8ad2d07d01bc58a152652f7e12b45a07117b27b4d8fdae6cecb9fcc7c08a70d35123d133d8c496db7741afb8a60334b0e4ca26f1177eabb5c0d8d1ca8f4a48d42e7029eccce447f1dd34a9385056db4fe739d169aec4237f9b6cf4525d33eed609ead086af7af92e6f41088fc0ca5b98f084384af7456674b9e1f9a975ac64ce71d83404a5deb0d4245279b5130918e757f326e7a883888d0a6fe9302f3bced56c1fc67c0ea3eadf80f19ce356db7476a3b18bd92e51fe8171f9b6a23d85a00ca5ebbede5de51bdd5e815cd45559\nmsg = 6c73f421166e8ecf05e804ede174bb79d4fc3dd0ae551996d65435a29fdf97d6e027ada03a77bc0dfb19c30d5ce22d28e399bcf41a4e4d3ee8662222af34a3a10c96bb4f4de5e81c99ba98a90047abb1d399f5c577abf19488212340e929bcdb4f3cc9a24c2f937ec0b110a2eb159b4de0ed776031b01a93282a555aa04c00651329cdf413e216f7fd85d198df091d72aff5efb10f6ef5b39bf5dbdf5d7382d4da4b40b43f267470825cf4d809ce39db8c8477bae783cfc85e39b5f8fda115109ad7eb100ac965d52e89f13dbc2ade3abcdf9954ccebbdb9b8dc750b078ad3d2f3aa\nresult = valid\n\n[d = 0187d613f5eb354332c1a9775ed3f802329ddfa7cfc9e88db2160dd44664d4e12258630f19cc5cc4fc00d97d67cf1b300ff92444ecbfe8ea0d32aa7c08d781016d406b4bb9bbfb39931879bef37cd81c01847ad280172b8573d6b07ffb307a0976130bae2f439de2b3680bae119a5b9e2e05bb90b157b205ff1191af9d67a4b871b6f365cdf54a55a51ddec246cb17dd7ac65bb6365614bfcb5d4299add596f3cb8aaa3b8734f70e4cc472e17027106924527eafe8a3a76acf105093a644b5ebc2599059c6dfffd14295f0914a25ee32d01598b3a04e3f364632b7d0b41e6fc648c8902ae59a06d5d41e119a94e85ec67811e4773bc6a12ddba47121c22ece8dccd6e99539f1118a548ac2504fdef5e4b6c9ec57fa5ccb26ee2b686097abe5dbfb46949e708f69716cbcaf60f24f08139ceb47db1830a127be5e17767f31a2fe6c5ae1760a48f5bc498c9159770ad40bc14082a74d22a5e635475bac69b35a4c0231446370a77548cbe2f142ab0d1f499d7179dea7fda47cf3aa3ed8ef496d91]\n[e = 010001]\n[keysize = 3072]\n[n = 00ae7479023982158d24721328a553a0cc301d816b0cc963ff64f3f102534d96e9d6d3a88262996855d367828ff03332d470bb196830747f50a260ea7f0840ef0d069c11df8335686daa8a645d27888099e10d1004dbca66ad598d48de78699e064859d322b3c78626dd28ff9b0fc5c65c71efc9df7543d6032852418762f408f18066013a09644de25f0f86f7576d5f1619c01af78fef90a3e3f9c04e8d40e8212a801f404e93eddd31c09f56630fd559d0a52e097eb138bfa858e2278e2f4701539ae2eb3beafa69cb285ca7d34bb489722c3efd026e32cecc4767164b0f01f1709b37c23260790dfc958d3e28f279129ddcca249ab852ad2814db40cc2269e7ae79aedc02fd17d297208da25fd1e0e6f866784e985663d83b5b2870d04bbae94a3d22c46cb2dab101bbc5f4a6d57aca331dea23d233880444405def1b585e8bcc14761c2655282a36582ed04c40f65bcc779ed294811f4a64951ec321b7be140cd22a801ac59f7633658a6ce14db1b197f1720aec514b628813ea2bda005a87]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e20201000282018100ae7479023982158d24721328a553a0cc301d816b0cc963ff64f3f102534d96e9d6d3a88262996855d367828ff03332d470bb196830747f50a260ea7f0840ef0d069c11df8335686daa8a645d27888099e10d1004dbca66ad598d48de78699e064859d322b3c78626dd28ff9b0fc5c65c71efc9df7543d6032852418762f408f18066013a09644de25f0f86f7576d5f1619c01af78fef90a3e3f9c04e8d40e8212a801f404e93eddd31c09f56630fd559d0a52e097eb138bfa858e2278e2f4701539ae2eb3beafa69cb285ca7d34bb489722c3efd026e32cecc4767164b0f01f1709b37c23260790dfc958d3e28f279129ddcca249ab852ad2814db40cc2269e7ae79aedc02fd17d297208da25fd1e0e6f866784e985663d83b5b2870d04bbae94a3d22c46cb2dab101bbc5f4a6d57aca331dea23d233880444405def1b585e8bcc14761c2655282a36582ed04c40f65bcc779ed294811f4a64951ec321b7be140cd22a801ac59f7633658a6ce14db1b197f1720aec514b628813ea2bda005a870203010001028201800187d613f5eb354332c1a9775ed3f802329ddfa7cfc9e88db2160dd44664d4e12258630f19cc5cc4fc00d97d67cf1b300ff92444ecbfe8ea0d32aa7c08d781016d406b4bb9bbfb39931879bef37cd81c01847ad280172b8573d6b07ffb307a0976130bae2f439de2b3680bae119a5b9e2e05bb90b157b205ff1191af9d67a4b871b6f365cdf54a55a51ddec246cb17dd7ac65bb6365614bfcb5d4299add596f3cb8aaa3b8734f70e4cc472e17027106924527eafe8a3a76acf105093a644b5ebc2599059c6dfffd14295f0914a25ee32d01598b3a04e3f364632b7d0b41e6fc648c8902ae59a06d5d41e119a94e85ec67811e4773bc6a12ddba47121c22ece8dccd6e99539f1118a548ac2504fdef5e4b6c9ec57fa5ccb26ee2b686097abe5dbfb46949e708f69716cbcaf60f24f08139ceb47db1830a127be5e17767f31a2fe6c5ae1760a48f5bc498c9159770ad40bc14082a74d22a5e635475bac69b35a4c0231446370a77548cbe2f142ab0d1f499d7179dea7fda47cf3aa3ed8ef496d910281c100d6cf4728c46e1a78dcc63132ecb7a3537bcc784296db0471d6c496c9cfcdead5fbb92e407d9141faa7a6a41368a498ca281e2ab377bc0f48d4415a1d1088ba5e524658a7e87700eb9b44d2683c35aa24f61b5ce767ed983fd7ffb378545f6604f66ca9858b41bfbd7abe0d25b0b9221a8c823257b9438df75310b08b037a090bd6753b96f1a63ba43304aa71a2c437a33cbaaf97c63e42ccea5b1864b6862de5234a040117de39bee9eb94d6f49d0ce5c270bbf334048b8b923a89642ff01d090281c100cfe83c54d7c12145c9c96457a496958dfd50bbf19fb8cb4af7bd938fbd1581a371d597c57b6910d9eb76618804e39c3c820cbe1b1a245a537d190f131ea1d11a536c94eadab9f71d437fa2b561d1beb1ad6b1a8e7fc28007fe966d66e052f0c58c1b512ac41fa108d14b236121c075c895bcc3a6adc34d23dc5598a623627adf14a6e1111dfa281293322bc1c567c7cf94846f174845f6607585bbac9c45995f391a5e475718660c3f5a4891c7629470af2c6d04a33dd80fe1480250494a2f0f0281c04b0ff168c0834d02d0fafcb433ddd3d7d759d2e849f8ccabcf05b13f623b2d858ac9e1ecad34361f15b8787b43c4c89353c37ede69c7b07b9d981c9a2d6de9da0ddc011ce371ba439a6549351d5d0f508d2370aa7839a14b25fa7747640c560503eb62ad84c4fbf08554a6197690aae7261454ed2c92fba7e241e1bf21fee1ec5e0b67404ebeecf66ad18591e1f3b91174a633b7d0916f1c56047118b86358e44a19921ea3ad86f63c9d92cc2e7c36c68ed48008f3336763e53c4948562c0ca90281c03fa19a65752b3cddb926943966bc57c57f542851894aeb9d6439776234c2d24c8dd88b7cfb8a6a87e7d2f182c9cc47d3151285549229b2237f541e1301fb109e780df17df7b796f433e66a8c0d063ed0ee7cab4215c4179f5ac1fb75d30e4f7686ad0da88322130d39d13f60c90db87ecda55a54373660f3aac9dfd0696008af2208f9355df164365b2aadcdbe7746e637545913cd20ec89152efb0397488dea60f5bb092694e716b4851354daab47373dc5e10fdc4e5f446cf4b7108f7dceed0281c0331b956a6db2c190f057798d7f037bb6631009ee457b39146f6f2de9d6553375d7990d8e38bbae484acf91af55f11dab033a54cf2efc4cd958b83c7cf8c37c8a4802a38b7c17adc45537166b396dd58b21cf1a15188b6cf3c2c180d3d102058d8b764280b75ed1f595b747172613f5851e9c80266c2ac6e4fc21a1bd0eeb47a8c457e5d3ec342a024042904c0504f96fb0d733b38d80becd5d30ec4cff6307d62b15e4d7f281e6d874a489ad3b48cac8bc80d914d3259f0f45dd8bf1183af7e4]\n\n# tcId = 53\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = 2ebc256a41feffc096f650b7b9cbf7994c8aa4c49520fa94fa7461e10c0af97878b37334bb6a0a60fa97eab9079d473ca1dc32bde542034c5e7d62d20c8aad1009a24effa0a3f0ab835e56b4a0abec16f7c15ca148d746cab4a0559a9808f5492d854a0036e98a970f6a6650473bd2118e1565f4dacde8ab31e113820a211800effef944ef976b584c03e4d661c25ae2f753a1942cf099106ece19623782fd1d84889af5fe32e621b10db24925a431fe5444ce3668c24322dca684b2e6f6aecc21803aed3cfa6246d1d61b087699e6dfc0b6a7d68a778790719c6e651617446856bbd21a634b32033a0f1236b59bcd255c8ea0", + "8bd9a93a964531cfafe6ff5640169427c4ecb859536ff5d9feb3ea23be0ab1ac4d6ad56fc4947dbb3bfa1b669a9437c4416ddc27c266a0cbcab047c15b28948e57a2071a692c951bb2f91358e17398f83e0fb6b76872c374d2422a7351600bf6a20c023f153c200ddf5139f6c6cc90a1585378824294fb95053ea4564fed52a72131377b3389297103f1576163\nmsg = ca48e200c2f7a78aaed184d2a834f3f508f2065684db8d21bc2fcdde052416e775069906a5933febbea7b132f4d066e715748af0e0fa78d7311cebfa70cf7736cef6d913db4b8eea438a105fe561ac24043e8c30d4b9d253645a4132e3f0d74a0a629de80a5b5dbde5be18ef2a063cb79eed4d9f9e3127c1a7581c20c23ec02f5585692a93a8a5a4a9e2d10ca598bc9b02f0995002face80740f446ff2dfbf11205e0807f6881a1fd035e3b233166c55139d2b8e044ea9055ca29026bce8d078fdbff0cef008bf49ae35245e81e8b1d32ded09f0e7f9279c0ca885d9ba267879b4d88072d28b8d855d97afaaf3b2bd7ee32302bd14c8\nresult = valid\n\n[d = 00934c006839923b1a96bc6f6c28ec1cce3cc8ceac69a4ff5119dba1b8193479f6c89a102b8b224ae1329823855dbd8f1576e893fb3f0d144b81c84fbaa65c83fbf703da0739afe6974e7d5d288201bed098afa439da1ac1628e8d8a1ff2bf5cfbde5527559f9af5410b3e5a9780fefd7e2e58937d354fc3ecb502f56616372b9d7d2a991d0d40755ec6ab870d33f52bf1aa760801cc71ea0772ffb8f75206a4e3c23f01a1be73a0aa68c29c4aa71dd3e910aea247a960bf33678fa382cddd1ce4054458fc24d33fe03f6dea40ab51ed1eac945d824c93f5a69be51919ff66f0d6a769aa995a48ebb6a0b15aacc6e49f4873531114d4c21c0235101b106acde123deb4b79335add9207f489b8f7efc09768439c209a8e3d40f41f74070265de105da85b4264ee25e3f6c2cda182d8e5c0398d254faab5ef8d94a942377cac06e31b273c5df20964fa9ce85a012fcf19cb37ccb2251fc7ecd12139cf2d9b08546653fff71933fd52ddc988cbabaa6d052d0bcac103dc4c34fc60a750ed5f20f1a11]\n[e = 010001]\n[keysize = 3072]\n[n = 00aacfaba81d006ca0ab955319f18d1faff503f85bf95208b2964620c4634b90ffc7d5ad64b06a6c28d8daf1457f36b805a4e11b413ce77c87d47ec93c221405ed5784d4c94d3e02610aa95dd568459e0377b0f358971908a299b2105751df5b750606527202708cf2c7a473dca132dba2c22ae31a8682eccf3b7152b90eb9114b0a08a9854352e2501d1c142b7b374b623adbc4bb512f8f6a0872e49857374ee0f41ce19aa6ba9d0e6f0c23d86395ac3d5152553bc72044a76587cd8803398dded0e42e02fc296144ea3bdf29f1105ec6424a5448e5c4873c98862482baf99a739436547a20cc0710087479402ed3bb81a803beb812bd314434e46ae0a147defb832fb1705aeac084a1e623d0ef64f10600ad3de3320e07c7f40eda1f2628f28073aac252f29acd1fa6a9260ec90d9b320fb1065f1af6b3c120ec809127b5adedc8ac04c8b11caf9820528d06b04ac88267187eb87364324213272aa2a730fee494ce9a1bd3374dbb3c692068d9b365e69428c0e41c6a079ec5523b4f3456126b]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100aacfaba81d006ca0ab955319f18d1faff503f85bf95208b2964620c4634b90ffc7d5ad64b06a6c28d8daf1457f36b805a4e11b413ce77c87d47ec93c221405ed5784d4c94d3e02610aa95dd568459e0377b0f358971908a299b2105751df5b750606527202708cf2c7a473dca132dba2c22ae31a8682eccf3b7152b90eb9114b0a08a9854352e2501d1c142b7b374b623adbc4bb512f8f6a0872e49857374ee0f41ce19aa6ba9d0e6f0c23d86395ac3d5152553bc72044a76587cd8803398dded0e42e02fc296144ea3bdf29f1105ec6424a5448e5c4873c98862482baf99a739436547a20cc0710087479402ed3bb81a803beb812bd314434e46ae0a147defb832fb1705aeac084a1e623d0ef64f10600ad3de3320e07c7f40eda1f2628f28073aac252f29acd1fa6a9260ec90d9b320fb1065f1af6b3c120ec809127b5adedc8ac04c8b11caf9820528d06b04ac88267187eb87364324213272aa2a730fee494ce9a1bd3374dbb3c692068d9b365e69428c0e41c6a079ec5523b4f3456126b02030100010282018100934c006839923b1a96bc6f6c28ec1cce3cc8ceac69a4ff5119dba1b8193479f6c89a102b8b224ae1329823855dbd8f1576e893fb3f0d144b81c84fbaa65c83fbf703da0739afe6974e7d5d288201bed098afa439da1ac1628e8d8a1ff2bf5cfbde5527559f9af5410b3e5a9780fefd7e2e58937d354fc3ecb502f56616372b9d7d2a991d0d40755ec6ab870d33f52bf1aa760801cc71ea0772ffb8f75206a4e3c23f01a1be73a0aa68c29c4aa71dd3e910aea247a960bf33678fa382cddd1ce4054458fc24d33fe03f6dea40ab51ed1eac945d824c93f5a69be51919ff66f0d6a769aa995a48ebb6a0b15aacc6e49f4873531114d4c21c0235101b106acde123deb4b79335add9207f489b8f7efc09768439c209a8e3d40f41f74070265de105da85b4264ee25e3f6c2cda182d8e5c0398d254faab5ef8d94a942377cac06e31b273c5df20964fa9ce85a012fcf19cb37ccb2251fc7ecd12139cf2d9b08546653fff71933fd52ddc988cbabaa6d052d0bcac103dc4c34fc60a750ed5f20f1a110281c100e48e1b1a681f89972e67c3ef729089436b8a03000c35aedb1efa3405ebb327497b314f7962c78531ad4191e6bb918ab0ed3b3ad34f930de7a305bf16fc996c804e6c5e7ef5e523ab4656572a89bd41f934cf0d4a124f584b69e7a74f67d06d02132a4d8dd13ff571bafb69e73c69cce3ab4359a3feb4592448f8a3612f4e90728d9d540ec7b24ce662e38bcbdb065e480be8f7ead64b227654de354451c4063498e1462442dc9a8825db93bd6ec25a7e59032355881463a5d764fa1aae5501e30281c100bf527d5b1c1fe3e6f99bfe354845510337eda0dfc933270f702bdcec4b4aa260242ba2c2da3ef34e1e10acd2fd8f495dcb01add82253884072db8a578d7390a0c6d74596ea735a0f800a1bc4392125c6fd4dfa96797342b0a7913052a54f42c69fd479ce9d9008f5af11aee2fbdb5d8f77bd39127f449d024489ceeb3e5f872dafe8e5a13ebed2e7be39700423fa758089c8fd7b8d9c901b51b848d8415d0cb7388bbc6ba0dbdcff2cd0b60d46c57f3cd6919d596e7e12215a1eb221e11ff3d90281c100c8fae57e7d1d6e8290fe126057601e343936ad98b723e5d52e125af8f1e122a50d3db96346a7a8ca9c4e529c914854ab6c916f132ea063d3d399540644ae2da94e4d2173878bada8093c177e828cf89cca0160f047d59a1106d9fc586933f107a80ec50ff677c5bff2eaee9fb6925ae7c14c826121b339c81c9af82097d700529b9143bf937f88fbf6ed9d9aefc953d30b161c1c57c0ce573c1e02bd4721974b5d3c8bcf8b342e7796c2d5d1f8b9d395d3745cf7f3a7ea50856e78384a20da7d0281c03fc12e52c121836181c650c4d2ab7e9e92f195cd5d0fb5b17850b592ec581799f013b66e362a0a0bfb0ad57c8dd044c38395b0a7b8709b93d672803c42bfc2ef40b395d5ff94a6eb496094f6238f7f363b4cd3f776cb48eaf33bf79d62c6f1da9c824280ee9283d9d318126e433d4b85368290d53021de2c564891f2645b93014f804d9d18fa9fef67bd5e2d930bb042402801083e1d710c19844e89f9e61709ab472d67b437f001fc9e243c725bf7d57f2f10ff2f49c5a2e5941b0a1d29f7a90281c10098bf3706d4dc5b9e21456fa308c4464b57b79af05d516503ddee570ec7e8619e996b2504934d037d48f0fa4276cf6c57b5f558f039a857af4892ab630ddedee1c752e331a61a27279c719587ccbdcc7799f8b0f447420bac28bed75d4128e441bf8d86326829f746908c10ea41db49284030d1e33dd01146f72b1360821481f42cdf885a969356c976171ee934093103e86e71a805727961fff2753eeba574e5764d10c57b50a4b9a2a42caf0323f5bdec3ad71c595a58f02fe2173ec1b5e754]\n\n# tcId = 54\n# edge case for Montgomery reduction over Z/nZ (3072 bit)\nct = 326f661d48f6991f246126abf1e0b48a15ea1e80487c3c8b641ef5172f75d262b978222ce34a1f7b1b5eea1dd1967b7848d9be3c673a61a2352778cbe3665c9c155a158d19c260472accd4a113372565a3daf792a287aa715b39f48f3449163aaa6bf52d20efc4ec91b0ed7948a43c8cba24ff18a4c5c9dd1dd603d0ca634b1da7e454c64f5753679d9c8c017338776e47a343d896650ea7f5602aaaefb95b06bc31f47de1f2ea7dd3b1630d2c40cba0528b0d8939907878eabda6995537c96c75e189037bb26bc5a929e6825ed72eeb4b368f9119a3bd8bf94d05d50a686c38fcb928957c91be76ab2d00bcb0b87a9db80e9f19f0b01ac3061cf75d1e11ca999e8bb1d3fa1168bad971dff371c84f403381bbd293791bf04ba603b0977a5b1305d568a1c756ee8acebba0815e29daf691be0c09acc31289967763e475da58a03ef50c9dd540ca107547be7542e6281060ee15a53167c97bd2ec7dbf9e640d798203ec116e3ffdbe9f49c02b77e7308b53139f13811c90f6eaf288b86940574f\nmsg = a321ec58f541d5ebdd133e269f7cd231bc3b9dd7f87c98aaf8570a0b9379aab8dce5f0c0d6fe7a3d31c2bcf4cb67fd8cef2d2c927496da30b6ae4fa56ab5c60d5f4e0fb487e1d386d68c2b78ffca355af33bd32bd4d6adb3debc5a14fceac64d2d2fdf47e37b9f8347af6c323842b139f3a98a571957b80be6d612a5d1138915eb80811ee3a95fcdceddfed6c1b4160da33ec61c7b6d384c2c1cc261e7eae3cf882cd935ea5685fbd4d433a2a439e08fa598d7d4a12f46baa8459dc1fe9ebc744bd51858c00d85d61548c85f0e3edaffb0d0a1dc7449b4e2c8a2b1ca8a2a\nresult = valid\n\n[d = 35ce75920ac1339e73c97c6b94ac8e0cff7050be86da8e4e1435dfda1cb7ea4bd0c5b12444056653cbc0f1ffc30b56c37179658a60839a59fd9aa59ceab56605b08eb9bbc2d8547462e7e9fe338d05e98c24be4d0ead47c28cb4ca6562b76c940f3226baefe0b49409974ceb4219c1791007944afe2016511961b6ea3cae539de6867749e4798fe1221dbe09c3154ac77c7f4c3ccbd5788c25d02b07361b6464be5aff827cb3d4b38d596c886440003aa03a3c20a7131d8f094dc1d761a483ae04a6d84b5ab2e0d001095b6d08a229fdb9d485008ad27bdf228dfcbf710eab9a4ce84dfc0bc805ae414f5b1987c7fec717cc246edad438092fa2fca550257889998e8f948d6240fb778ee15c58e2be69e8e11cc10df88a75aff1faaebcae9566ef2f07da7b29a4e53da25eb3b4400da237f881bd4abb624375c2e22eccfa00006137f09867e4476f48df8076b053b0cc2bb9d388340091872a22e682797096789b49b3388449db2db21d4228a8b0757e7e5c60861b187204566839e5339c2311]\n[e = 010001]\n[keysize = 3072]\n[n = 00bebee4da13758ea39642552d64c54851d501f47d906e68ab30d6f873f092fdfd06127fc8e71", + "c7d4103f4f23b411cd781b6a5afb56af1ca6067f9f39d3e5c26df108db854ebda615bbb359dcb6da5ed901cc77e85c0dc196bf9d7b0eecd896d670960b250fd2f1a15d37c185a0d0ef69bdc80f3f97129d6f1cd54443d7a449adfd5854ed6d3f17e1e934b7c383c9577fffd6f69f2f4e2547702d0bff95e6f5764d5a2ff73ebc25ebc8c98128686afd7d2b273a1d23579e197c47768db0fb72e1cdb9d9b9bb70a97fee3f3bdfede99695bf3e595ee02f4465ee5b8fc82abd073e78aaaafa3f63c3c6e19341ef8e9a6cdc4a132ba89bd06f183765fa73122c479094abb56d29f972a5f79d94c61f85d528e1728b6ca66fadd22b2bc093068bd2eb30a55e300060764695d20768c9731a33f7e09a129818491dcc5421702d108c8c239f502406abdd6951888ebdeebbab51c70a1870b4a25a1358a37016c51b0343ec59b43f13c190243ff8b1d8221b59f7de6469a5f79d96d239e503a42843898a7]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100bebee4da13758ea39642552d64c54851d501f47d906e68ab30d6f873f092fdfd06127fc8e71c7d4103f4f23b411cd781b6a5afb56af1ca6067f9f39d3e5c26df108db854ebda615bbb359dcb6da5ed901cc77e85c0dc196bf9d7b0eecd896d670960b250fd2f1a15d37c185a0d0ef69bdc80f3f97129d6f1cd54443d7a449adfd5854ed6d3f17e1e934b7c383c9577fffd6f69f2f4e2547702d0bff95e6f5764d5a2ff73ebc25ebc8c98128686afd7d2b273a1d23579e197c47768db0fb72e1cdb9d9b9bb70a97fee3f3bdfede99695bf3e595ee02f4465ee5b8fc82abd073e78aaaafa3f63c3c6e19341ef8e9a6cdc4a132ba89bd06f183765fa73122c479094abb56d29f972a5f79d94c61f85d528e1728b6ca66fadd22b2bc093068bd2eb30a55e300060764695d20768c9731a33f7e09a129818491dcc5421702d108c8c239f502406abdd6951888ebdeebbab51c70a1870b4a25a1358a37016c51b0343ec59b43f13c190243ff8b1d8221b59f7de6469a5f79d96d239e503a42843898a702030100010282018035ce75920ac1339e73c97c6b94ac8e0cff7050be86da8e4e1435dfda1cb7ea4bd0c5b12444056653cbc0f1ffc30b56c37179658a60839a59fd9aa59ceab56605b08eb9bbc2d8547462e7e9fe338d05e98c24be4d0ead47c28cb4ca6562b76c940f3226baefe0b49409974ceb4219c1791007944afe2016511961b6ea3cae539de6867749e4798fe1221dbe09c3154ac77c7f4c3ccbd5788c25d02b07361b6464be5aff827cb3d4b38d596c886440003aa03a3c20a7131d8f094dc1d761a483ae04a6d84b5ab2e0d001095b6d08a229fdb9d485008ad27bdf228dfcbf710eab9a4ce84dfc0bc805ae414f5b1987c7fec717cc246edad438092fa2fca550257889998e8f948d6240fb778ee15c58e2be69e8e11cc10df88a75aff1faaebcae9566ef2f07da7b29a4e53da25eb3b4400da237f881bd4abb624375c2e22eccfa00006137f09867e4476f48df8076b053b0cc2bb9d388340091872a22e682797096789b49b3388449db2db21d4228a8b0757e7e5c60861b187204566839e5339c23110281c100fa3b5df070b36ec044b1e8cb351d7ed85ca8615908933a8926b0b87f0b589f2b3b72d10d54beedd197b6b58d411fa24dcd135834644a82c6dcfd36cf1c6c1565898250ef95bc65c06ed6f71361077ae8012d06b859ac7dc7fe3ce1f9461eb9be7fe3ef5bf6ab33e0f5585ba788ed988bb7c0e88b6e3a53bcebe4a2c9e3d380ecdd51f09191b7e34cc250d6a9520487a7a8ab7cc7ac01d77f24694953a3902cc589505ec8ba4485652e0752ec1d8c7cea562e27b2e103a188092b637b05dbde090281c100c3247ece249e51126522481a800ca467c277c15774aaa679dc985bfa76623f521afa11bc88ec466c70e7e863f5f146a54e92c95bfd657fd8c17c14ae1ebbdc55874f5b730dbf9813d6fa9f0aca4066f649744a9451e2891675696aeb894b542832ae0213a846eec942942166eec79f7d983076d825413a5c2b330db30841540aaf90ce847b35d833e84943553eba54821beb3fcff10c60d2239567ed79f96c6457c696a3b73c24eab59cd2efee3d048395b49f56fb969f05864388ec1d096d2f0281c100f0fbf985145489855ae2e769c3f66af15d92bf65aa2f78011ba4b7998a48c7c92fd06c69e54296eff1a701034f4372e0706e7fd4bcfd5122c93286f540cf0a7025d4bdb36e45e8cc41327ef247d0975a15bfd227fa1c776a027b89b8b201e72a022a769adf5c9372c3755b9765f443a3d2cc5267ed38f8ea0957c03aa4514d694fdf98c9e846eafd4269edc154fe8dd2364b28b976fab3197bec75b4b9e1a06c80c848f0110aea58bdd249d6a0c26a8e977e8db6e4a2c58ea81e040937643e590281c05bf43c94a308bf272de4e3992931cbdee0f251770690cb75ad0f56784584b255dc446e4b2b323b552a36fd78ed11ceba62b62490666d87bafa21a01514826da717e5bb301210707718dc6c494758e5abb49d49ef6e4e934eb3f102e30e852298f698ac7ddad3e1fd909400d1623f4ad681fa846601d824c9fdc946f150388883a88b51e577b1bdb96801edeaa36e66181153df73fb205c17699123b1f1c228e377c12a86e6f73e6623424cdba6a5b614d35c93a10758c8826fec2eff2407a71d0281c066abfa984437286dee8effd65c5ce82c9c716c49f15233d12ab564e4bc540b3d9d0e3d24300cd3d681918fea8dbe02d21f26d96c8a9a4c11f6440bf6e1bd6831a738fcadcd4cda790ebd4a321096b4401129d57d9dc05884f631823e17762b7e2508d78c2f3dab4d86c617ae69bb2af274aad6a6f191d39a29c6564510d0017e2ca7f14902a6695401383a3b50517e30a5a1f0f9bcc0c237172442126f5a8b8d32cd4bb0bbf07d0a0b2dea4cd51ae4242b4f75c12c75a9d29bd0d4b5872a5600]\n\n# tcId = 55\n# edge case for Montgomery reduction over Z/nZ (3072 bit)\nct = 7ad2bea4ac2a386385166ede3f6382cff6d8411c31958110caa78715a1e1dd78b456c3a363e2c99d1bc39368e76bca6ed1ac2af1b14c39738c8f740599b7effd6cd7a6bc5e23b4fb54a521d1bdef7257f1db95c052d565f7e5a0281787626fad81eed35cb85c83d0e2aa9346803f36a9148fd834e3691997da22434023c21eb0b075b798612ebb7f2423f3d20d3a5b39f6d25430ca1e1f1fb7b52453ec6298042d53fdb2652a2cec5ea99d8e56a284f545d13e4ede008a5f76e8552011bd7dab7fdf2ed055de35655296b034ee06e2a139e02cbb47be10b180bb3da9123d4ae467cda15d2459071d6cf0ca41d1a3cb12954e7550f015202fd0a3ab117ef690187487622e76bf2d6230f45a11757071382df9c9ff0ec939df426169297efd4dab2db393c1e5cd8176072ea5595cfae067792d038bb90b24e9145c7b75fae17d4efac7a07e58bd0b54fe503f60ef413a54cd5036e94016e304a38c3ea447896f84922ca8180d9efda298273f0177ca84f23edc41835448142705944a2ad2a06385\nmsg = efd8ff839c7d5fde6fa99814ca7cc29f2ab52c54f2c695e068b0762f067b8d90bb3d163080176bfa616dbb781107642baf8931933aff1d9c417096dd06d88c0b0803ae18e1475c8fd3f20856e869f1eed177767b6d256ccce8cd9005c9082a432a7f22a90828c28280b1f1a9b434695fb30215ce8e2e48a14f6b2dbab9ddd3d218ec13404f638c2a4fceca52570cb23f09b9d003bc9895b297af127509a9f8a2df7dce8283be1a0720e1524a510c3515407c23727bb2f470db53\nresult = valid\n\n[d = 0e4e37fb54825612ac737151671e180c6ad89cfe10c6d6d87fa01424eeff0567d596b8ecd006b5d5f2a5ebc2ec2025872d4002566e4022c1cd524e1f614c864759b15c0c78b02c90e746f97480f75201d42aa605794f35281b8d4222db7784176851798c97a81fa72ff2ba3eb591688be35fa3916ccf14e4a3950de8e0b9b6fd2d157df7bb28d529e482cfbe272250447cf9ce269b8c2d7937b0eddba60d4b0edef315c44affb45347018987eebe78d996d269df630228211e56c598fea384216b2ea93fbdc2f39d34cc23a424cbf8619645b586488349f701a337b55dbcac9ed3e381e25107c6bbadfc907ea51291ac640a9acbd518b88a9bf6c49b72ea9892c0599afee60c09aa81276429ea0af806b22a2c67c7fb7ea8a44fa6d9b0d74d2860d08fb4d0cdd8b7d676693b9b56fa822ef66a55e93e8e4c491f225e323622ec68872a3af3f64c23077c89d816d02ba9f5b949a53bb223cf8b7ea00f7a693b8b3fea416a5867429294d93e09e532b00bc1fc6d8a0f83ee7917e43fb5fd687e21]\n[e = 010001]\n[keysize = 3072]\n[n = 00999840d1e30c2fda872276f9fa9c50f70ffaf5e109ef8b364a2c72494649ff9dd1a355b48c64e6b22e20d06450a7283bd6b27a6605a4c80cc0c268c09019d130a61c6c9de458cc0a3a0a18a37fa8381463d626ecd8f0d65df983c2f0cd19d0fb7cd97e68bb6aaa6a01c2056db4d9561d5abcda21914ce7a9cab944b1c462f73ae2ebff3666b12ab99c8c6cbf8893446535f25ff9b246d6495c0599dbed9605e0e18cc79b607612e9fedc1f43c93e63a6bd107830dad2804e1c83b023124ea0972a299c2fe8c1e1858ecbbee424fe352e7d3639ca3ed35f0eda7c8d441c3b1b5eb33181a07579ca744e6a3a571953e9ac9a5779a83d1c9ce2fa4dc1b8957e8807503550062bbbfa6b70042e349abe3888144f81b66013b943e2cba029e47854940097efd267ffbaa0494e84c9fef7f11b493f667021cb11120b08fa39f2852db8d1f5fd21415af89fe98d4ed3bd6eba57166a1b3eec1cd979d765888551ed6224ea7031ce23c596d32c6d508acfe91fe4398e498f26d5e0d60aeb63004f3e3245]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100999840d1e30c2fda872276f9fa9c50f70ffaf5e109ef8b364a2c72494649ff9dd1a355b48c64e6b22e20d06450a7283bd6b27a6605a4c80cc0c268c09019d130a61c6c9de458cc0a3a0a18a37fa8381463d626ecd8f0d65df983c2f0cd19d0fb7cd97e68bb6aaa6a01c2056db4d9561d5abcda21914ce7a9cab944b1c462f73ae2ebff3666b12ab99c8c6cbf8893446535f25ff9b246d6495c0599dbed9605e0e18cc79b607612e9fedc1f43c93e63a6bd107830dad2804e1c83b023124ea0972a299c2fe8c1e1858ecbbee424fe352e7d3639ca3ed35f0eda7c8d441c3b1b5eb33181a07579ca744e6a3a571953e9ac9a5779a83d1c9ce2fa4dc1b8957e8807503550062bbbfa6b70042e349abe3888144f81b66013b943e2cba029e47854940097efd267ffbaa0494e84c9fef7f11b493f667021cb11120b08fa39f2852db8d1f5fd21415af89fe98d4ed3bd6eba57166a1b3eec1cd979d765888551ed6224ea7031ce23c596d32c6d508acfe91fe4398e498f26d5e0d60aeb63004f3e32450203010001028201800e4e37fb54825612ac737151671e180c6ad89cfe10c6d6d87fa01424eeff0567d596b8ecd006b5d5f2a5ebc2ec2025872d4002566e4022c1cd524e1f614c864759b15c0c78b02c90e746f97480f75201d42aa605794f35281b8d4222db7", + "784176851798c97a81fa72ff2ba3eb591688be35fa3916ccf14e4a3950de8e0b9b6fd2d157df7bb28d529e482cfbe272250447cf9ce269b8c2d7937b0eddba60d4b0edef315c44affb45347018987eebe78d996d269df630228211e56c598fea384216b2ea93fbdc2f39d34cc23a424cbf8619645b586488349f701a337b55dbcac9ed3e381e25107c6bbadfc907ea51291ac640a9acbd518b88a9bf6c49b72ea9892c0599afee60c09aa81276429ea0af806b22a2c67c7fb7ea8a44fa6d9b0d74d2860d08fb4d0cdd8b7d676693b9b56fa822ef66a55e93e8e4c491f225e323622ec68872a3af3f64c23077c89d816d02ba9f5b949a53bb223cf8b7ea00f7a693b8b3fea416a5867429294d93e09e532b00bc1fc6d8a0f83ee7917e43fb5fd687e210281c100d3ff0d7ea18d5bf845989580cf0f3c92565a52c384c0731fe41c2ca44ddf043b87555f1120cc2379c68291d845c1d34e56ef313519c7ff5519fa59152dd03da95571382ef676a42b6acb7c8d09401b7c8b0e3728da4691098a8d0bf036c5904216bc5bd0f2ec8b5589efd8bac7a720c39b8ca4f0aa042782b96fe0ec991dc9d9ecf1d3ce48b4f1c5d6e2211ffa0bc2f935043a4abd7be7443b1b8590a413580b73433bceffa44a9c84a3f683a1fcc2f650d90bd852382a09bfd0b2b7be4c215b0281c100b979e3a53db29e5fa365ce736c12a78462f2390f8859f28c2b4b84d5ee7bdd9df30f3a232bfe2fb993f92b3674e75c88f84b24478673eaeb4bf81fbceca0b932fe9c06b546ee1d45f102c9c1d05d7b41766df99c6fdaf869314fe4b178a518367c7086b1eb10c5b376a2cb8372eded25f5cf386cdd406391b113c0807dcb28b67cdb1cd235532655ba1c3132e599375c7aedca335ef83390909f6b619e635a19a7ee29cf15f8934419b3c1e82d0f5f57d8ee4c8a5488534627a69dbc70ccacdf0281c004a1d611a64608746c50e1336752d5e7fcab0c93e91aab694efaae9f08748f0b1df1e799e03595b0db7d8ee242e3f1520ce43d1703f132cb113e3f240f543584b5b13ba10b119c94b648abf808f3b5a60b03cc80c0043ab712a7f252d55f8bbf65efc7b1d11d0a0e5c6d39371b95b34992e487d61a60ecdc16613370f8078699946bd44cf599be8eac1b54cdf610bbb9e646a95f68b48461214980a9a06c2bc854446bd22213dced7e98769279bfa422edb15068f1a2f8882e00c966ea698f710281c07300fd022c6b607ff494df99f9dce739d310560927867e3a236e440352484375f88bec847a76b5a8dff393b3c470e0939d411a51af3098ed24c1c90c1fbcd898a1fea4ba2a2ce2c1c75aef36d9b7dd010e29caa8114338dc20d364fe15cc6863006dd556e46615efdd13bc14d96265b52fe1391f6760d15c38ec0264a99b1ab76c5b805766f113c7fc0a1707740db8a2032706452c11c207556543f3d77dcb1435681b4c6857251908c6c8e8e967aaba91abd091c530725201abf20a31f6f7090281c10088a03ab418124d0bd687c4fc7129a8678262dc8a55a3c68bcfa942e9cbe9add61dc1754349a3b0e2b3bf5410377fcdc628d9348300796a8d73535f2ec342da3580a492fa87646b8b01cc46954e97f42c85eac682424a2de1e228eb7f9063fa41285b396c0422184c294f2194a46c38121337eada837d756c74bcbb10a54468c74dca9ddd11c415922829cd6de334609da1ee23f941f9d2afbf9fe1e4e5570a1978627d48cec694fe8c249769cfebef53b0d3b5ebed0348b139eb58ba524929d4]\n\n# tcId = 56\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 629216be333c6a517fb3427d0394511fa3c24a71113f1234bea7fd4e0728f6c65872415029fd0aaaf1ac7dae14d38503db271db472bbb212be453ceac6ab622e75d5e323f6353ce8b5e7993b6be39c30088d2b94e85633be103ca5d9ccfdc23c5ad21a1a13cf19c3901fe8845572600cc7e5df316f62e2237e224b4e01edb32c819f364f0c9fdc1f28dad2b6921c7952a25a03e59ef8d6c3a61a54c46cfbad22e186201e59e122018dc9bbc744c56ce631cc11f9523f79b41ff79711eea63337c24bfa37910f91783b78a4fe22b80e52e3e1034fcb336dae90122423669230cd46fe543c1e0ed80948d50b7eccf6c222bfcdb61f84c920d2e4dc9d5eaaa1415b13c74f18b94182056e103562dc03320930c20266bdecff56aafbb5bd3a0ac68b669bfe70e329ebfe8ec87cea99ff0b51ce7dd0694f075098a677a4743e10d3e37f1fab849dba39a9c739f1ed150fe7952b35202fb6138d24b2bf55e49bc7006cf78ea80513598310c8b0213bc8525b929e581294c496\nresult = invalid\nflags = InvalidPkcs1Padding\n\n[d = 263e4a970d14fb400f294550d745a1af0d5309c83c92a9127d266a68000d0e92da9771802c6f0b8a7e1a8e1fb19f8a93980da76f91c51533c808f22230906c5f1ff86f2647cd739b06090859f8b59a45150f2039961469cf7c23d976495cdd3d6ba1104fadbe8cf019350f4f90b8e469dc50f824f9bfea7d0e13b095620308182bb06de41d9bae866d35d636c191c482609ee09bf3dfad0ddd8875faa98bbba039b7316bff3900ce841a4916c6691a472313c2579f04d18c8bc2e9b48fe0a17bfbbbd08b911e9f2df0930bcb825b18e0a620754a58ad573a13ad6548bfaf3a9aef6fc802ea81145cf6a08bbdf73bae31244cc34861194d97276a5e6983807b9854d358844b3ce6c103b1b834b7a3b0c94962ad2234e58482e0dee17781df37882780006a8512329a77e918b51de3942d28dd1a98f25f6a4d371d6d5129cfbd8e633cf12afc03187fee8f51ee70b1f0355db0379bc013b8fba8648923cd2dad4b86bbaa522755e852c4986d51af52016872c714c45b99d6741e2ac8480fd3ffa1]\n[e = 010001]\n[keysize = 3072]\n[n = 00c223f29f2f7901b9d9dfce637a148ff9f3bf422d421708f233f8b1a44702c9dd0b3095963a4893676c916522c6ad64d60d969365d43aacda12195876657fffac7c0b9022b87d3b61141bbabc3e55f5fad4bc68146e367d522c3f1701491334fd84c9dd31a78660fac492e86a498985595dd99e7a1bc773634733f774737ee956baf71ba73b9a8df13dd57954457e46c13deecff314a7b28959f417b2e4a49bdc186b2459f5b55cac8913f8e1e385b46a1354f03e366bce0e7640c0bbb2d8cdd9a218aa7a98991aec07e50bb2f335269a38febc58dc2af828788200a57963df383a547a552b69dd2c6a47c804909edd060746a185bc160e27df0027388505752bbc5a6875e0d2a780753a86148727b6bb07191c47e2c89c780c49fa3d9024aa3e9172d4ee79d3bd6e4d250345dfc85956df7a3c7698ae11191bac2105ec9328aaa1dfa9f247ec8a3bdb40922f3b1f5dc0e6f38e0336e6c9e266d0d05ad0015b4ae51efd5274ff3a12747f9a7cb3aa0dd958f29da120da885ef964db20bd30f381]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100c223f29f2f7901b9d9dfce637a148ff9f3bf422d421708f233f8b1a44702c9dd0b3095963a4893676c916522c6ad64d60d969365d43aacda12195876657fffac7c0b9022b87d3b61141bbabc3e55f5fad4bc68146e367d522c3f1701491334fd84c9dd31a78660fac492e86a498985595dd99e7a1bc773634733f774737ee956baf71ba73b9a8df13dd57954457e46c13deecff314a7b28959f417b2e4a49bdc186b2459f5b55cac8913f8e1e385b46a1354f03e366bce0e7640c0bbb2d8cdd9a218aa7a98991aec07e50bb2f335269a38febc58dc2af828788200a57963df383a547a552b69dd2c6a47c804909edd060746a185bc160e27df0027388505752bbc5a6875e0d2a780753a86148727b6bb07191c47e2c89c780c49fa3d9024aa3e9172d4ee79d3bd6e4d250345dfc85956df7a3c7698ae11191bac2105ec9328aaa1dfa9f247ec8a3bdb40922f3b1f5dc0e6f38e0336e6c9e266d0d05ad0015b4ae51efd5274ff3a12747f9a7cb3aa0dd958f29da120da885ef964db20bd30f381020301000102820180263e4a970d14fb400f294550d745a1af0d5309c83c92a9127d266a68000d0e92da9771802c6f0b8a7e1a8e1fb19f8a93980da76f91c51533c808f22230906c5f1ff86f2647cd739b06090859f8b59a45150f2039961469cf7c23d976495cdd3d6ba1104fadbe8cf019350f4f90b8e469dc50f824f9bfea7d0e13b095620308182bb06de41d9bae866d35d636c191c482609ee09bf3dfad0ddd8875faa98bbba039b7316bff3900ce841a4916c6691a472313c2579f04d18c8bc2e9b48fe0a17bfbbbd08b911e9f2df0930bcb825b18e0a620754a58ad573a13ad6548bfaf3a9aef6fc802ea81145cf6a08bbdf73bae31244cc34861194d97276a5e6983807b9854d358844b3ce6c103b1b834b7a3b0c94962ad2234e58482e0dee17781df37882780006a8512329a77e918b51de3942d28dd1a98f25f6a4d371d6d5129cfbd8e633cf12afc03187fee8f51ee70b1f0355db0379bc013b8fba8648923cd2dad4b86bbaa522755e852c4986d51af52016872c714c45b99d6741e2ac8480fd3ffa10281c100eb125939d95519041745b41de83c28db4703030b4772eb179e204404026b1b10b8dd3a14221edfec2ca095d90dac23b5605f96085f7057c5239580f987f92c0647921c445c44702237cc08942026897094d1fe5b69907028fbad68e2ddc734d5a59a47b04c3c71dbb2ba5d97bd76f7c71d3bd1da653af1de2d5ebcd8a5532ee2f78ac6d6c74c79c845ba81f872de04a964878b7cb63cb5986cd120d03fe9ee059b20dcb9458a0bdbbfe1cced3697815c0e35fceaed1b11d28f26b5418bd3dbbd0281c100d36cb63cc9b1390f9078127c2247bad88b8fb42bcabdaf3e674d2278fe3fe8b781e34b2580aac9e4363f1f7af81bbe2d44272e9ae682487b246766986bef6460432cd8c0b13a4c30dc692363230f721ea8c52ee15e4bdb1439119867ea9661a1e41bf957ed5432c5c0daded329f554b284eced71dd8a6d9fb766b9974df95af14088c0d7e65975f5683f6bac3d851b8df9359c85cb82fe72f4f54de4c7fb4c9150abe498fe70123d9687f3d453000d9c5765be5927876c6fb080403a7", + "c6ff1150281c100a33eb2c801ad9f19c02f9fcdc521421e454a4a2ae30b63479b803cbbac1245516f8ff26d58e4a80c935151bed247e0e46c70f4f80b8f30e4aeb97c3fcdb5b46507fee7b27180f57e4dd15b83c27000b236273ec4aca2a9c14c4638b893db6b4d931b78fd6d73ec7dedb88e9679f4cc4d7277c05c3240a506edeb04aa4ee55d8230f626efb0a7e34ab961b4309d54a15821801fd613984563fced9e2400beab95290dc13ac897fd7435e4d1334ade1bef99ced43d313bc33cbe3cdb53118fa6e10281c057d84d87c84da865bd23069b292b208924c39a9aaf6c4cc9e2e5fbb2c6010bd263576b3bb3d0427e5dc3b072c96fcd7ec5587a56c5fbcfddca6c640664a25cd45a54e1e27e40b8b37c80fac1102a34c26461396f4e5cba3416da26b6d693911150d406afefde12127464fc3c44acb87a4c1c9d33b856f1e170b46fdc5bfb853bc4128dfda6a9f906f43f959f45186f3078213c5da307546db335d11d83b1f848507a7b4ace3d06772c7a64670ded71ba49ddee4ee0cbb5d45a438f6c3d93cd590281c1009908f5307e4b62468129a74169db749a627dd2b098ea5e1723bd960dbab914df1c3355e15fa69a4fd0975d75ca67f8fd194e3da14d8a29bc44c9c442cca228af2ec47b12ed4bececfcc18fa28ac3b035a85bad683bd4a256f51a411200686aca40eaeb8b60465fe0b2b1c41baacea6af8e4401eaa6d4ea251dfa6b8080037c908e3d2ae037517bdb3f3855191b904f5472f75e94cc30c69c93b682872ee3ddb6e6fdb83159888392c796bc11b44ad810a739545def05571c504a6c6f789d64e4]\n\n# tcId = 57\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 9208ae264a9a8268b2a34d01cf520e338e6a73f64488491a61a2a0c21b5e8239e96e9bc1af2e59dd4518b5af46c56fe737590db77c503f03823c3ffa933c92ef664e715a0347958185ebc96fdd766875cbcc0ffadc5b0087e2acaae7244279601b1ee8119887ae7db73c93819c5967ed9afa78c9144fe7b0d7d335efc408e6e5b40fb1116796820f08a4502d0be3119fe025b9866e536b2ad34ee2dde80d8212e588e021015ed15d8e76199ad1e9786813ad77496abcfb4e17615619d8899d7001a5039f35b38a3d9a927e7be27cb1b56a853ef3a29cab57ab4af18a542bc8f9f3913f3852a1758a2896d85419d1c917475fe511c6ba37b2281cba2af684c803624a641a8ef53bc8af9022c1087c05484603d62de61cc696c34b6b78a1de2a53c6805955\nresult = valid\n\n[d = 008dbfdae383a9062ed400f30d66d0de44917f89c800ee5b9ff420d859fc3455994e2218ca21c96d46dc1a478e032977463d7f3f9ae6b7c0d2d00b87f948d92f8a2e6dafce783d4755d1ff2d4b22c62ac8cab740074620a3ea8e20893ae66a5082ee9c8583e25979dfee4577968161fa9932ec3d017fc2ec1ff5047d03c7398fb8302a924b909ea8f9faa646c265dd2bdd51391c6cdc6746158ab0fcdaebbcbb69c8343ef4d525b0b39d6113598a8ff3e500e7222a923961971f3c06a0ac8200e7d375ba868b0b143ee5394497d00372e7234d92a3990972cfce9cdfb65cbade38ea61895b3d7839bc8310bdcec72aacc45007499a0c1c0d148e85d53dfd8e1778d3af9ad5380c82c9b93206612d202b8ecc0f41f5acbbac019d606fc6b3d2256557294f1801ac7789faf01d140a2a4950852c64187dfe1b79efd92fbc04f9cdc1f22462d7e653a6a32eac5beaa051658d64bf01c5cfd021d30dcefa93ea2d6f2887054adbc5127cfd5560174ee21d23bbeab417f2556eff9e6b1d637d5a173b49]\n[e = 010001]\n[keysize = 3072]\n[n = 00a042bdf5cf4154687fdc22ab67b351eee869b92249741ed17fe777125a2a2a803d5037aa045ec510cf650e8b4fa55147e33adc68defb6f991f1f8bb6a3d450cc458c2284beda9d352a3a8c5a012e34b318bea7bbcdd919f379bd839b9b625e54370f61eef191b0c4d399a7e988bc421981a7e4f653c778853c74ef61f347330e494758f30d0f5ccfbdcab8155c2977c91e73cb42a66ef99f3dfe784f0061f7b31a01fbcf2c7cddafc85705a8f68ade4b6853b61d287e2e8f1547462ebf48331a22d09f5bbcb3e48002f6797221ca062308c6820dfee4c4ca06549e3a5cdea6387a7cdbc496114c07a9de1f3458194bbe2a120ce6dc5cb6e54f889aba7e53345e767172f9b6e9d683fdc34b9a95cdcb15e76915da905e0ef66ae2ccda527b848e316bc4885e70d314043ffd9713b3ebeee8282f3c3f015d7c3aa9bbb9ab4c6be56dacaa7d4388753b70aaef19b4d36285031c3b8e605c62db28df17ae97c18144072dad237fc16b9724bd9dd4d7abd95dd55604afaa61b81daaea6a16e23a3167]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a042bdf5cf4154687fdc22ab67b351eee869b92249741ed17fe777125a2a2a803d5037aa045ec510cf650e8b4fa55147e33adc68defb6f991f1f8bb6a3d450cc458c2284beda9d352a3a8c5a012e34b318bea7bbcdd919f379bd839b9b625e54370f61eef191b0c4d399a7e988bc421981a7e4f653c778853c74ef61f347330e494758f30d0f5ccfbdcab8155c2977c91e73cb42a66ef99f3dfe784f0061f7b31a01fbcf2c7cddafc85705a8f68ade4b6853b61d287e2e8f1547462ebf48331a22d09f5bbcb3e48002f6797221ca062308c6820dfee4c4ca06549e3a5cdea6387a7cdbc496114c07a9de1f3458194bbe2a120ce6dc5cb6e54f889aba7e53345e767172f9b6e9d683fdc34b9a95cdcb15e76915da905e0ef66ae2ccda527b848e316bc4885e70d314043ffd9713b3ebeee8282f3c3f015d7c3aa9bbb9ab4c6be56dacaa7d4388753b70aaef19b4d36285031c3b8e605c62db28df17ae97c18144072dad237fc16b9724bd9dd4d7abd95dd55604afaa61b81daaea6a16e23a3167020301000102820181008dbfdae383a9062ed400f30d66d0de44917f89c800ee5b9ff420d859fc3455994e2218ca21c96d46dc1a478e032977463d7f3f9ae6b7c0d2d00b87f948d92f8a2e6dafce783d4755d1ff2d4b22c62ac8cab740074620a3ea8e20893ae66a5082ee9c8583e25979dfee4577968161fa9932ec3d017fc2ec1ff5047d03c7398fb8302a924b909ea8f9faa646c265dd2bdd51391c6cdc6746158ab0fcdaebbcbb69c8343ef4d525b0b39d6113598a8ff3e500e7222a923961971f3c06a0ac8200e7d375ba868b0b143ee5394497d00372e7234d92a3990972cfce9cdfb65cbade38ea61895b3d7839bc8310bdcec72aacc45007499a0c1c0d148e85d53dfd8e1778d3af9ad5380c82c9b93206612d202b8ecc0f41f5acbbac019d606fc6b3d2256557294f1801ac7789faf01d140a2a4950852c64187dfe1b79efd92fbc04f9cdc1f22462d7e653a6a32eac5beaa051658d64bf01c5cfd021d30dcefa93ea2d6f2887054adbc5127cfd5560174ee21d23bbeab417f2556eff9e6b1d637d5a173b490281c100d431312c577ed9cb758d030d228167d19a4ab4e04abf13a457e5d284f75fbd2374203652dd7061f14df815f7d42f87dc8cf31715a617a38459ca2c07253fdfa98a739e0c8a7b56ba4b3affb17f6032b2bcb0a021983f38d6ef18dfdd4297170e16f70dd41e293388c271e552732889bd613b6cd84a0bb02e8eeae9ba201d68b99dba3be287798413719baec029ce9466dce73d78b753e84eac91ac4d38bbca8a5890d2d7e98d1ea161d2702aa526fc8522ddd93fc4deb97521bf0c6be14c0f330281c100c158dcc146d31e27a162dd8613bae1c2e6189a48c5cdacf8ffeec640decb00ee5ee4c20a7137006bf84e2b30e9ec63847f3182a5b791eb2821f66ea5fb0e712163d921447ae374f8a7f2982f023d5938998c28e8f78c99b608a2249a3a185df08a3f564b75253158a968218cebc537a6ec6dfab0a669bc4401ae86a6953901f65169f9017aad4c32f950e48a0cfb51ca757c9c05768e13f62a3aca2e6635e4e9457a9ad40881885f94325a5ba362ec8e160d7a49d145327917b5fff9086424fd0281c0799b439a2cfeb6e5029670f43b1d3c99843a6254d4a193293172b5e69c3ad313997ec8834f03142e8dc7ab17601469617da9e745f1ed443a1a97620a2a4fe3e7af403988e8686d38d0da9c256661844ca914f480ac573744febc1bb81b6ca9bada70760d65c7a9102c97c79c2c014487334d3240f696a23edc8b46adf3afc70ff19404b3fb7e29b256fea8f4da40d90de675e3e5e5f30184ed238342b24bf574b9f32dd2adb7c1a12d85c3e0bccb8e16e2f78f851b57a5a3ba565a510d4a60bf0281c00685dbf4bd51f40b7c3b5ca3e05886b34f95f6e68b9dd3bf16cb546eedd54573c549cc6e13c1ba46ea3aa0e4668fee0f9346f55467ec0955f247611642710b4a08175432fe3e5c3ce355a0e2bd1d9abbf91a2c6b27a6dbacb37fdce243217d51d72829de23d69c62945c89fd3a1b0e3498776164c24880ec7e6e07e6e8d3e2880fd91668815e055b16e42ec1a58c7906ee8dc4a9be852e91387d8142ad7a15fdf4b51d3218135ea972d37c0ee96535fbd92c9d3a8e4fda531184b75d0c766c750281c100c99a1facef22c8566c5c03d06deab7465846cc4f0cd0a078a86519d5fc58ed5d2b21e025f8b1b28e65dc31e0a25db47d48a2dee87a928d0400d8ac81a2f260092d91d9663c8f548db726f9db992052503854c1c6e0f35d435ce333eb1dd3e3b742561e3ecfd5e62c43fa4c6d3d89caaf320ef4b68eb459c06198c531308116b746026b05512ee56abdbe098ddf1c9802e16541b647963c8d101a2d4fdac381b7cf40b15ac6ab33885402a65548df5634a99ed68f90e9fc6bcefbc0e8ee49c133]\n\n# tcId = 58\n# edge case for montgomery reduction with special primes\nct = a042bdf5cf4154687fdc22ab67b351eee869b92249741ed17fe777125a2a2a803d5037aa045ec510cf650e8b4fa55147e33adc68defb6f991f1f8bb6a3d450cc458c2284beda9d352a3a8c5a012e34b318bea7bbcdd919f379bd839b9b625e54370f61eef191b0c4d399a7e988bc421981a7e4f653c778853c74ef61f347330e494758f30d0f5ccfbdcab8155c2977c91e", + "73cb42a66ef99f3dfe784f0061f7b31a01fbcf2c7cddafc85705a8f68ade4b6853b61d287e2e8f1547462ebf483319a2d09f5bbcb3e48002f6797221ca062308c6820dfee4c4ca06549e3a5cdea6387a7cdbc496114c07a9de1f3458194bbe2a120ce6dc5cb6e54f889aba7e53345e767172f9b6e9d683fdc34b9a95cdcb15e76915da905e0ef66ae2ccda527b848e316bc4885e70d314043ffd9713b3ebeee8282f3c3f015d7c3aa9bbb9ab4c6be56dacaa7d4388753b70aaef19b4d36285031c3b8e605c62db28df17ae97c18144072dad237fc16b9724bd9dd4d7abd95dd55604afaa61b81daaea6a16e23a3166\nmsg = 29bdcebdc645b1a7098760e99ba6b1bd81cd48fe6e05f972717da8cac3507b297041547f52f12aa8204ec5a74ee53649795977a42c70d95e4571\nresult = valid\n\n[d = 4d8ca146c242edb907a12063e283c091f345ce23a7bf8e5a58f79e0fe06892c5fe4e9a9a28b2970a95e92f04b9d6480e2a010c27fdf32cdae25a869e4691cee867caa5648c0e1280d65a490fe93e3ad37615482fbf68e7295796ebe6453035d06de88b23895890aec2f58842fff69c96e8e1ea2e89ba4cf543270b300e45ae37172f3326673cf4cf8edb553f14034c92275fe548b9f7f59b5e9f7aaaa979bdb6b1fdae48266316b0a52d230ceb8ebbe60c58e05f7610daf0aab611fe9f9aae67fa34a73e7bd980ad7b190aae61a3a9c9c555aa63ab39ed2f9a2fc51fac44e6b26a16038ed3f0473b06f42a3fc35b2cb2e2dd76fe20bbe4c686f15804821039740ba63797418aa70c5dee624e273de68ffc272c786f2feb12c4afdf26075a6e45a3d9ac82a82cd42e90af8cb213610b5e58b7c8d6175ef8174e24739c54275eefa9b93c981f3c55d559f28c8b91d09df60d6404d3e232abe0841a3c792b120b8d34f85bbed8f6e0f035504efb6b6ba59eda6e309e1898181f8f45d37aff35cf91]\n[e = 010001]\n[keysize = 3072]\n[n = 00a75d40e1d30c2a269236fb615e38a8fd4695835d026dff86efc13422f4a1a693c1c1a419b079cc2164422b06e95b45dd67275caa462ecfafdf676345bc798ad26c7d1d3cd1bb59605281e78dd73b93ab55aeb38e1f14478a704f34b50e64f7f45d2dc6c27485ec264dc78fc817c0c733a16b8945d7ee0ca8923ff0023ce5c71a459a2a7c212d06b0824110afd4b8f6ae154fdd685e38c3f22d28c9ab248c5f77a16a9189a0f393145b99cb4b7b11d346a385209e8ac7dada3cf933e91df6a8d17a6811d642c73ed97b2155d8b30c2334d42e0ef18b8cab09777c03d74c2a003a08736fed5f8bfe4fd564894d6038dc92bc754fbc57053f8edc6a150194ebceb3792eb49df66043c957a1044fbd236ca7f9dfe350eac4203bb2983d1b2ce1f2473610e590d76a919c45f2ec6a83faf8362b35558bdbe3b7a7d17b967c2e46d2c93f507588c52e7f18d6ec131fef0b90b8e8de83f201e6ffb6f429fb49f8c37ab6ad8f83df9792b1d7f6f497cf46adeb2602f145af0b32820111e989ddd2f70deb]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100a75d40e1d30c2a269236fb615e38a8fd4695835d026dff86efc13422f4a1a693c1c1a419b079cc2164422b06e95b45dd67275caa462ecfafdf676345bc798ad26c7d1d3cd1bb59605281e78dd73b93ab55aeb38e1f14478a704f34b50e64f7f45d2dc6c27485ec264dc78fc817c0c733a16b8945d7ee0ca8923ff0023ce5c71a459a2a7c212d06b0824110afd4b8f6ae154fdd685e38c3f22d28c9ab248c5f77a16a9189a0f393145b99cb4b7b11d346a385209e8ac7dada3cf933e91df6a8d17a6811d642c73ed97b2155d8b30c2334d42e0ef18b8cab09777c03d74c2a003a08736fed5f8bfe4fd564894d6038dc92bc754fbc57053f8edc6a150194ebceb3792eb49df66043c957a1044fbd236ca7f9dfe350eac4203bb2983d1b2ce1f2473610e590d76a919c45f2ec6a83faf8362b35558bdbe3b7a7d17b967c2e46d2c93f507588c52e7f18d6ec131fef0b90b8e8de83f201e6ffb6f429fb49f8c37ab6ad8f83df9792b1d7f6f497cf46adeb2602f145af0b32820111e989ddd2f70deb0203010001028201804d8ca146c242edb907a12063e283c091f345ce23a7bf8e5a58f79e0fe06892c5fe4e9a9a28b2970a95e92f04b9d6480e2a010c27fdf32cdae25a869e4691cee867caa5648c0e1280d65a490fe93e3ad37615482fbf68e7295796ebe6453035d06de88b23895890aec2f58842fff69c96e8e1ea2e89ba4cf543270b300e45ae37172f3326673cf4cf8edb553f14034c92275fe548b9f7f59b5e9f7aaaa979bdb6b1fdae48266316b0a52d230ceb8ebbe60c58e05f7610daf0aab611fe9f9aae67fa34a73e7bd980ad7b190aae61a3a9c9c555aa63ab39ed2f9a2fc51fac44e6b26a16038ed3f0473b06f42a3fc35b2cb2e2dd76fe20bbe4c686f15804821039740ba63797418aa70c5dee624e273de68ffc272c786f2feb12c4afdf26075a6e45a3d9ac82a82cd42e90af8cb213610b5e58b7c8d6175ef8174e24739c54275eefa9b93c981f3c55d559f28c8b91d09df60d6404d3e232abe0841a3c792b120b8d34f85bbed8f6e0f035504efb6b6ba59eda6e309e1898181f8f45d37aff35cf910281c100d57a386ed50f742e4a30b2f3e0834510e0ce2f3ef0e80e513ad8bb0faeaef736487001dc40578c110cf9a9691acaffa2fdefdd15dc2433b745fb3cbe75384d9ece8a682c1f96dfcb0d062201e600555c69b07ef842d8c32cfdbb35ff1094c23837380687e8bbd0dfe41bb38e19329b5ee075be9aaa18f2dfa78ff2e749ce56870a9f9d937da4762704d457c33b18bdda7975d6535b15b13cce41a53cdf3783c495eb153c5ac37b12b0462088f358e683f940e74614d014bbde19ad60939de0390281c100c8b399e5ec4a047ddafd59d589263b12435921c9a37d5db9882fa953bf43970d702cfe6d51a0017d1b17431953682e3ca3c940d07b4897148c7eaf7a66662d93c8e544a6b425d2a3bbfe4ca584b0711eb560ba8c67460b85edaf9d9b4d1df0895114c5f19df7bf3b626340c58dc45a1d5f1d5aa6804b2a4bcca696da9641fbbd685e690e46c4a8725b9b662a5cf6d0261274f58c0bc3bde175dc98b0430583b60a240ae5ee6b556e371b47ce784c48b831267e0df934fd8c39388cb5110257430281c07ce3ed020249f1396794080d9f4a8cec6be8944169650983423f2b68e8545a327abc748a2b664c7e692de28ba7ee1d1279278c1b4ed82b1d4ca6c809d0c028c100aa7e7959ddc57da057f72b4f28e0c798d975debe14dc5284fab2834f6b0819254cf49d2c6e3cabcf62d9700793d0cbf7db4ab06755033a0f68aabddf3304f22a27e963313d37166abfe3bc46e599a4a82c65400ce8aaf11ce5d0cac4f850718117b02bc819d6f5bf04b7e20723fa7039315c5c66aeb9829354485758e523190281c10096071bbdf1fa0a8d820bed0160ba8161cf926b5d6da7234eb36cdd68cb0add79a0272231d9d880046321ea789e0ebcb17bc5cf7b890ce452ea0b31658ff24593b99318d47cc9e141a020226f8056dcd895c12ef211a91ca80adb42377b582c1c99cdab8248119093f5a23822f52c982868976ad21809181efd667252080c5f00616a61a1d868dd7a4edc456cd97d6e6f6750a2d5035e592c968c465f4c5a6cf0c177dbe5b169eebcaad8ebbe7dd2987187dc3c5279bd90e3274b0c73b5b9483d0281c0080daf873baf040a47826f8b42aa05c0dc5dee17dd1728a5f4d58657186fd829f451d26aa7c754b2daa2b1ff735d6ed25275db01feaef616fb5d9d487599d54b6f9981bfc57945ad5f8b22f4af95b19f838621cdea5f89c8ba575f5ab02e3bffbf89bb1568c9c59f8ddcc599dcc22b1be5d8a8d18c39166c3ffd8f294feca23f9f3e918abfa445ab6e5db688bdbb9f2f8cd95483f3229b1ff0de8acb8116aa48088c5bb02a7f36c6f0308d83d4ae3a9a9cffc4761a5a102ca3d4eaef8f51f970]\n\n# tcId = 59\n# edge case for montgomery reduction with special primes\nct = a75d40e1d30c2a269236fb615e38a8fd4695835d026dff86efc13422f4a1a693c1c1a419b079cc2164422b06e95b45dd67275caa462ecfafdf676345bc798ad26c7d1d3cd1bb59605281e78dd73b93ab55aeb38e1f14478a704f34b50e64f7f45d2dc6c27485ec264dc78fc817c0c733a16b8945d7ee0ca8923ff0023ce5c71a459a2a7c212d06b0824110afd4b8f6ae154fdd685e38c3f22d28c9ab248c5f77a16a9189a0f393145b99cb4b7b11d346a385209e8ac7dada3cf933e91df6a8d1796811d642c73ed97b2155d8b30c2334d42e0ef18b8cab09777c03d74c2a003a08736fed5f8bfe4fd564894d6038dc92bc754fbc57053f8edc6a150194ebceb3792eb49df66043c957a1044fbd236ca7f9dfe350eac4203bb2983d1b2ce1f2473610e590d76a919c45f2ec6a83faf8362b35558bdbe3b7a7d17b967c2e46d2c93f507588c52e7f18d6ec131fef0b90b8e8de83f201e6ffb6f429fb49f8c37ab6ad8f83df9792b1d7f6f497cf46adeb2602f145af0b32820111e989ddd2f70dec\nmsg = 04c0e503fd66fa6ef4b37c97b71271cb2bf086942c4385f93382f0885a22171a1971e27a1bef0c63fb1eb6b1282317d2533e74995f69f346cb3071a2a34de273bbccd64a42c6524f79afeabf89bd349a4aad3e57a15166ec7292e99125eab47890f032d594d9988d3e3b1669c1b8964bd9b092b9b1dbc18439f020d9535d26550451b5a1c9e43330d14fdca922c31b5aa0ef0fbdcf221fe2929aae562252e98a9ea02f5a1c24b4d6374406b64ff91c979adbbc86d10a83e078f07c46f64d1b21afb415383b2d49115ec29c205192fa026d05becc7d47b549ffc4f685720465a9990d\nresult = valid\n\n[d = 7586a13bf77ea7541890f07c8abfb2756605c3af4465beb85a5f78e25189111b86e7dd5659a94fcde4f2092ab6db02cea662852c01ad23200ba13e7afc817d846360747dd5f2650c5b9bfe64a14b3f960e475cda0a0065e3824e8dd041b1f6c7192315763146fee8ff5ca6e89263a0397fb672b04e1f9a75f5d50390707061cc670410957758d461003a43085fb19dd2bad1bc19831b903cbaf904ae1537a62fe19f96fd54fcdc998018abd436b1487fddce73d48fd44fa3ff498293fb9c4e4195286633c630fbc687d27bb6b12d67e7cc168b7c242c88b828f41a6821589070875e9e268014f99f25f64cfc1da7e047e34287ad1a265b176d36d32d5028750b89491b546bd42d459431d8dd82cf0674abf7330b8ebbf91294d47e7383a5209a7ba8422539501a8afc5ea543b556f780c8b92eab449fbbdd4a74c7a9834a9bdc99f4be3a0646b6b75fdf7b55154ca343bd0ed83eb81c418004fbf1860963e1ea748bf9092a6ac99c62e0fb6bc433d299ebd735f52019013a5fd2bd113c631de5]\n[e = 010001]\n[keysize = 3072]\n[n = 00cd28c66b3cf8b75d2a4a6d96c7abcf2145be897d17a25b8970faf4afa48a9ab2492283084e2b414ff4c316871bda6608f0d984aa0de0990cdf4ffaa0d98645246cf193c5f2838e55bea30d63c033b85b3fb7d9c4fb5bfe091901511d9fe20e0a59b5c2ae139b002127b429a16e723bc81cbf765c20cfc9b49268450b3e8a8f", + "83cb1dbf76960b3fcd84737a9d316a870e7419d28a59590e76fbc704f3801719234cc511a20cbd2a68ac8f1610a43c3eeea26d58356e1f9f4897cc3e7887ff3fc171b05aa82c99a96abc3a99bca914ecf2ea0dd27699035dd9055ecb0016a10287c2a7bb9fb7b0a137dbbf98ce8f22f18e47033a0b1ce379ec668ae6d225f007d53c74a981e8d2afff9d1478946a79238399638a28220be68b3d1ab0c1910a1c2bc881482b06c04c2f4a9bdca7dc7ea12cd7af410b040ab01d8e4cb10ba9d4e304b9ad95da35a981cd6c07dd593fd079c92152e33ba3e75d6abaef5f58483e0da821c79e2d458e1b5e2571874788c276235d902f99879fcec4dbce602e7342b47d]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100cd28c66b3cf8b75d2a4a6d96c7abcf2145be897d17a25b8970faf4afa48a9ab2492283084e2b414ff4c316871bda6608f0d984aa0de0990cdf4ffaa0d98645246cf193c5f2838e55bea30d63c033b85b3fb7d9c4fb5bfe091901511d9fe20e0a59b5c2ae139b002127b429a16e723bc81cbf765c20cfc9b49268450b3e8a8f83cb1dbf76960b3fcd84737a9d316a870e7419d28a59590e76fbc704f3801719234cc511a20cbd2a68ac8f1610a43c3eeea26d58356e1f9f4897cc3e7887ff3fc171b05aa82c99a96abc3a99bca914ecf2ea0dd27699035dd9055ecb0016a10287c2a7bb9fb7b0a137dbbf98ce8f22f18e47033a0b1ce379ec668ae6d225f007d53c74a981e8d2afff9d1478946a79238399638a28220be68b3d1ab0c1910a1c2bc881482b06c04c2f4a9bdca7dc7ea12cd7af410b040ab01d8e4cb10ba9d4e304b9ad95da35a981cd6c07dd593fd079c92152e33ba3e75d6abaef5f58483e0da821c79e2d458e1b5e2571874788c276235d902f99879fcec4dbce602e7342b47d0203010001028201807586a13bf77ea7541890f07c8abfb2756605c3af4465beb85a5f78e25189111b86e7dd5659a94fcde4f2092ab6db02cea662852c01ad23200ba13e7afc817d846360747dd5f2650c5b9bfe64a14b3f960e475cda0a0065e3824e8dd041b1f6c7192315763146fee8ff5ca6e89263a0397fb672b04e1f9a75f5d50390707061cc670410957758d461003a43085fb19dd2bad1bc19831b903cbaf904ae1537a62fe19f96fd54fcdc998018abd436b1487fddce73d48fd44fa3ff498293fb9c4e4195286633c630fbc687d27bb6b12d67e7cc168b7c242c88b828f41a6821589070875e9e268014f99f25f64cfc1da7e047e34287ad1a265b176d36d32d5028750b89491b546bd42d459431d8dd82cf0674abf7330b8ebbf91294d47e7383a5209a7ba8422539501a8afc5ea543b556f780c8b92eab449fbbdd4a74c7a9834a9bdc99f4be3a0646b6b75fdf7b55154ca343bd0ed83eb81c418004fbf1860963e1ea748bf9092a6ac99c62e0fb6bc433d299ebd735f52019013a5fd2bd113c631de50281c100e987c5939a9f762b3515c6edccc115dff8a4b1fb2d14ecc97bf5352227099dd03a017ab8ae582dbe3d61ef569b1e08f723017b0e46db2ad3c0f8f04c194f30bb6d8d6390b2e02f0916acdeb5b7594ecd9b407e759eb79586b3846a10198e11c812a6ba81a7924bdcdef41ee09ad9ca68a8c71b2041c7274cbd6625fbc16c0915fcabafb686bdfa7f4fd3c632becf89f8a970cb9e41dcc1610f22d1750a9c1758ad629c0c2766d85a20b1e012c0fb146afc8b13d0e03d8bda602544b83b57325f0281c100e0e62d8e30421231960afd71f2a19bc861032ca46b39769d027734ff2df1ec0251408a4084c6ecdd05117b7041d5fecd0db85076a46f942a765ad0f8a6c3595abfa8adc6aab749c79bb0b2dd89310bf3d4798075464192a1b828c376e624ab432d058c2bfbd3ac476f9b1a07330f83993ad1d04f656e9795cbf4d76e659dce3067b1c878dfe192b4a4236043dad10d0d0d32c5523228dfcd363e0b2f2296f45661245c9656670111c690a7d5d11ddc14524199935b7b7b6a11f5fa156db99ea30281c100c6a275abd7194ba9f4bd513773b1c8a979149d4ec849c41e9d1134e097d3d628072ebaf3db57a590eb25222ec84203de322850431481d72bc637f82cc25a59591315f05a63cbcc362ed35b9bb51881aee11f3a71514f561ffd11e4254d974a08a3d4ad4f1af9950d89969bacf009cfe0b5aea5a40a4f1b5e6abb3813abb1f9087aa28e12f30924c8a55dbc77ed551a4627d98958532d324f1c50c1588c6db86df50cab2eab550f319a1db23a416b4f32b11c9afe4fbe09f6f550bde2f69674810281c10099c9ecd6f17b0cd3e9a564405a4956acc4621651ec9ca3d6a40bfe2a8d318450e55cfbed389e8af46c75d2f225a2ff151b4fb17e1fddc8f4ec7017bc20d52eb216a373098a4dc1df0440e55f06648aa6d6e1ab0d06d8ea3b3a226ddf4d6b3fcdb4e8b93c8e7ce5af07cb8915e93dafa0c58f1a2260db2a3f1df434a8e245f1ec39cc61a8fe775309c1c00b20fb6dbebdf10b89d13649ab18ba01dd46032234bd28ba63b1ce2dab968b30fa040576a4bb24b0852336088f912ded057147d2097f0281c1008dab32afc5752a6b77069bf4bfce453bbb230bcb55aaf83a9fa211f3bcee99c32bc1f755c0b0909df8eb4f528a4830d658ea4dde08258c5cc6acb0aee6508081d4f533102fe1d0882aed54a4b681497050214999b7767f13e1015f751fb677d1328278f39d2da05fa655ee763402fe952c0a9fdbe3185635109b99b23712e2a5f26e9e708070f879dac82a26e0aff8056d0da996805006b6dadb31334591eb66032348fe9254b40f4422796de0a43a0c024b470d128a144aebabbbd7acc38f00]\n\n# tcId = 60\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = f2ab0b5432f6fd168c8b147a63d8b5440669ac11d624322792f77718ecca555a69b6adbd15808fa00ef0676a4c9b715031c09d2c9b67d803d30f2b2e1dcf6678e175f51f5a097e358152a3a41883e7c946ed286aa0c6007ead4b043f95b9a78326799567c0aee0b8fabf22a8dff6fe555217e751c3a899272b8a654a177d6de33635dff126c1e9f8501e0395c96e0d0c33df70ea866150b55f755ccdec9c5469ff85560317ccc6214309db4c3061c9ec82922ae2b8107e375d73da5808589b14b7802a78d3769b6d77dab5d928466c646829d7e20784c6ca1c3250ee26ebe467497d36cfe15e5bb52104f7277c8813a1a1eb3b34c2f2ee9a877178391bbd5dc91b245fbc1819f39c97b50a6b6c389d5eed2551903f230baed3809ced4cd803f6f309c96441d49576f32468beb0187b5017bf2b0e65b5bfb532e89dd102fec90fab725e067fddcc1d00fc\nresult = valid\n\n[d = 3fda65bf865b1d3afe1b0310f0fc1a9936ac5fe21703440f2df1c0e68ca15212d79d6e4cb9729d3e8c91bee6808c3a72c65ff85727b1b07ce236dce646047cbab84ced28acace55648fe776be5ee7bb2905e2e9e74791179c573366003d8c8f90e6a7516c1631d160531520f83994db354bb468d4a9734423f5c7d8cb0e275bee778fdf9c762fc0485aeb09959aff561e74d7cbc7153c4710f9cf2483c7d6883b59ee8611fca77410e07d2fbbad208521ac05b454610c13c9cc25add343cdd3814b724e8d18a14307b65eda07541430a38e41cc4ec721c0a567ce01594cf4020884f4168b1c517d7a0506ba36b15a2f45bc20ef6bafb2a664193ae67576f71968112cd2165ad0c5878c9422845a81ac18a1bd54a869d38b38cfa2284916db78f432789780c5a069233fe22a6bbdc7af534d44bf22def3ce7bf2eea4fb47df31b222f8ce5bf3e38ab648f09b9c149448ad9329bcdbdb6d48d14f89a772ec42264bbc81a859ced4e15c63725b0ed9f1316488a59f5d8db12c78b45a561c8e32339]\n[e = 010001]\n[keysize = 3072]\n[n = 00c5f8f256857e74f7e0ae6938068d733d2ce6f61f85fcb1d146b6f51463992fe37051d82834813b48e7c1eff7dad412e183c687c6d646ae6d90493c660eb63ac09fc33893c66b6c7abc5b90388cce4adba4d697bba29854851c22268d3d697284c6c20f14a48976deb8ff7b77f12fa8f460f7961bf73cdafb83adb496725d6e58c36b89bc0071fb011c4e43944a09a1065486d1a37f6eeed637d4cfb11e77795726cf8e72dc9b65378e5caf4fd52617285dd108c388ce12099db20cbc3da52f9d37015bf5b81711a757fb3b796df69938ea49e3e2c7cfcc4a0bddfe288d6b2882f4fdf760c5d599b80e37c147526ec8333dc473836e9c985e72c80a6fe1e433b038a8cea7723949889736f4ed845403aae7627de9039b354c1bdbc122f1120f774109fbb1fd5d8af0340448092b47f0acf8eea30406d43cef46372b79efcb213d4c7079b798925b84aaa35b8d04e3375ef0f3bc983aff28dcbc33d445787502898fa07b4c2637f3eb7826c13d53fe31a1d7775fe98090bb4e069160d30effe82d]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100c5f8f256857e74f7e0ae6938068d733d2ce6f61f85fcb1d146b6f51463992fe37051d82834813b48e7c1eff7dad412e183c687c6d646ae6d90493c660eb63ac09fc33893c66b6c7abc5b90388cce4adba4d697bba29854851c22268d3d697284c6c20f14a48976deb8ff7b77f12fa8f460f7961bf73cdafb83adb496725d6e58c36b89bc0071fb011c4e43944a09a1065486d1a37f6eeed637d4cfb11e77795726cf8e72dc9b65378e5caf4fd52617285dd108c388ce12099db20cbc3da52f9d37015bf5b81711a757fb3b796df69938ea49e3e2c7cfcc4a0bddfe288d6b2882f4fdf760c5d599b80e37c147526ec8333dc473836e9c985e72c80a6fe1e433b038a8cea7723949889736f4ed845403aae7627de9039b354c1bdbc122f1120f774109fbb1fd5d8af0340448092b47f0acf8eea30406d43cef46372b79efcb213d4c7079b798925b84aaa35b8d04e3375ef0f3bc983aff28dcbc33d445787502898fa07b4c2637f3eb7826c13d53fe31a1d7775fe98090bb4e069160d30effe82d0203010001028201803fda65bf865b1d3afe1b0310f0fc1a9936ac5fe21703440f2df1c0e68ca15212d79d6e4cb97", + "29d3e8c91bee6808c3a72c65ff85727b1b07ce236dce646047cbab84ced28acace55648fe776be5ee7bb2905e2e9e74791179c573366003d8c8f90e6a7516c1631d160531520f83994db354bb468d4a9734423f5c7d8cb0e275bee778fdf9c762fc0485aeb09959aff561e74d7cbc7153c4710f9cf2483c7d6883b59ee8611fca77410e07d2fbbad208521ac05b454610c13c9cc25add343cdd3814b724e8d18a14307b65eda07541430a38e41cc4ec721c0a567ce01594cf4020884f4168b1c517d7a0506ba36b15a2f45bc20ef6bafb2a664193ae67576f71968112cd2165ad0c5878c9422845a81ac18a1bd54a869d38b38cfa2284916db78f432789780c5a069233fe22a6bbdc7af534d44bf22def3ce7bf2eea4fb47df31b222f8ce5bf3e38ab648f09b9c149448ad9329bcdbdb6d48d14f89a772ec42264bbc81a859ced4e15c63725b0ed9f1316488a59f5d8db12c78b45a561c8e323390281c100ea923920555b826ac0cd121c04c3e7b3a44222d90dad4470c2cf5833a3f926077f6c6cf1277e6319e877d94da8720be0c5335bf33bb818dd6f41eeb04e4482c899324c9e8cdb7af9a33d5c58de8dc06f41d838304bab49354eb344925fa73cb932737f6b6a7133301bad7d7c084b9a9d7c2e34c78b44fd2f578b04186f11f7e9b43ea205550b241e87a5fb355d12c95f7f210dc3cdbe8dd1cb712f8cbc52e2f18727d351c5baf706ecc11d6d2a1ac378fb98f2c0b1829c95dd0ea950b7420fd70281c100d80ecf82d518d743f57eb5f7b79b7929aae8f2b44e6ead94b505f21abc492f455de1d6e16c21a9e79c37c18fbbc0d5aeb2e977f4d7497c75823a8f96b76a00d024dc5576da6379791d912a1c5d4c5fa642aca67bb479fea2339ebe517ec35783ac8110db6b3f3e252a6db8b078541b21f89a89d1b0b58ec602caf222463528583489baf41f008b5b38d523f8dd0a90642fa7d8c0e2b898dd24931424f794f1e07a72e973f3e41041d1a73bcdcc58067f87665a5c642d7174192bb44b678c179b0281c073c5112eb51201eee0131621fff41431e41ac40a2e26dac57050572ebd79e4dc0476a5d9eb6d044a30229e7c266b8b1337209efc0ff84f455278ceedf2e2fb4d37d6cc5be0171ebd80647364650abef3ea2265b0e857b43cfc079c0b45ec4b1af81c6ac1bff9f89280c6824d29e6ee7b556394a6fb446454ee36ed218607ef3c47ba35cabdeb4ebb46a593b305a994fb6dca097a1edc32305de111dfbabe89c53cb85a225c9d66f7e2f778a77d05527e2e669140ab1b545ede8832e6645bd5670281c100c28a436aa879df8a7f88024cf473f75aff5b14fe29091b1ea5089f80573d06654d2d46905f0ec8af9547d6ef96bd012a764a260abdb69b6c2b40937dbfd4a0baca15e2964bf9f9ac8664e927f51209a5e8af10909e66a252666c6f2d6e1871ba4c1f42906f36d8bc1a42056450545ac1f1d924733ccb9dacc962f736c9449ff91c054fe2f3ef478b71d6e8b6f240cad68ada751ee886128e3c9a7a2ef70693ebee157e033bfd846ddf5ad74c6ccc6dbd72ab447da06e1293d8fe332f1a2358350281c1008a6dacab1bbf2787d5aef687b3a9e16df0abb11c84a753453a30a5f2e83274604927609203efcb9e0506c870d067b6144978dd6fe127cfbbff2a27aee2b5d66c7972ae05111327d5e9c9b7d53f887576350a2b325659764252b737499b78cd37b2a60426fbf38e919a44dfaee59f8db7f17eb027c8097a68f8a28f7eba0e16124f492751b5268d393174f86e97e8368a2df44a57da1c97e1442a1fd78f2dda9e1ff4b18f37f1ca9455be100ac3302bf20db1e6c5f6d596480aec7c3bf6e341fc]\n\n# tcId = 61\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 63a3b4da4514f271dae5d7f58432157b9bdae2a1ce247bdafdbb0019cf3060603639e40c2a0555a61a219e2d51f50780a20676a1bfeb2ddadcc7d5e25d4f74a24cedfa3cc6f465cfe4b5a01708777d02276759a13d01a4f823b4ac242feea713759adca753d86df9c2a815b30112686187acd2ed8b72c02042ccfab227a2b436074fee49707c4098db9bc442e2\nresult = valid\n\n[d = 4d316753bc50306e3e94cf7c6dbc375173a7982c0224d6db6644c71c00940cc9599aa0c1d8035205ac150e57031d41f4253b80ab8739c414d65e055fbac9b861d12932fbb7cab954b00db2f718adbd07baae502826fd944bb78c9c8afa2e40d28ed65ef9c6073ad766548bf3607d48e3f3ecb8112124afe44aef9a265832cb1d75a6a5a400d0eec36467eee0de3727e5c965b78e2c61b007bb41c0932af105aeff9881ae031b9f873f96e083f483fa7f3323194d02632183154b854b109eacc7a4e33275fe65ab3bd7a667c14e81fdd484b5b3e9eb3a9a42ec667acefe511235ff4be27d0cf921dea90b70eada7c2c29143b1eb01597da558050a566fd11ba3fb7841bbcbeeaedeaf2265aacdb1ceffe5211c29d1bceaba5cec3e148e40aa9d4e88f3b24536bf481b74191e5b3b1da5893974082407cc11b991ae20c3eae02c97f2b3950ff5b3806e83fe41e5804cd5dd5c6c0df931bae20d766c5c9f081fb1917f8f8e0b39c627395c8e566f90332bd2edc802fc9ec9ea5333a580257346d09]\n[e = 010001]\n[keysize = 3072]\n[n = 00aa35e36a0656b06b11f579ae150e5bcbcba41d0a45040e8a8255efc7905fc16964d3489ce75bf44b6f5296251e3334ac41869afe6e77567b3069cd3b61648af17dd4625ebbecec45549e7064268f44c3465a417b2d8b44ba13be81a43de3306549a681fdaa767d6e1a758995f56dc2b830ca68aed2a8a78456ec49059595f2f1d450a5bd63ccccc12b25646270c377bf8411daca4e1a5348bd9229e6fbb6588246ba16e5f1827168811cb7967b07969a39508093f8a0dbb927baa2802e1cd07fbf3da4da0d71eb44c2656690115b2cb0e942a8c05e24e234e4aaec898239d9dce78b9d9bac5a3ee9796a4752d33da7c41d168e7395a3a21ac374aec8afff9cca93c556d602cbcdeba9adbfad15f41f721e41d33186137f62b63e8712a1fbede7857a8461bfaf03c6509187faf431678c6a060960b650e76f4b3e45f68a63b4f6d6e3fc244d3524d24cd2f82df21265ba5bd7aa1e93367f497440b88a05cbe5111bde12ac0337e2e2ec04d46ce3094c1039ca39c9eef11c46dd25110f1477f589]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100aa35e36a0656b06b11f579ae150e5bcbcba41d0a45040e8a8255efc7905fc16964d3489ce75bf44b6f5296251e3334ac41869afe6e77567b3069cd3b61648af17dd4625ebbecec45549e7064268f44c3465a417b2d8b44ba13be81a43de3306549a681fdaa767d6e1a758995f56dc2b830ca68aed2a8a78456ec49059595f2f1d450a5bd63ccccc12b25646270c377bf8411daca4e1a5348bd9229e6fbb6588246ba16e5f1827168811cb7967b07969a39508093f8a0dbb927baa2802e1cd07fbf3da4da0d71eb44c2656690115b2cb0e942a8c05e24e234e4aaec898239d9dce78b9d9bac5a3ee9796a4752d33da7c41d168e7395a3a21ac374aec8afff9cca93c556d602cbcdeba9adbfad15f41f721e41d33186137f62b63e8712a1fbede7857a8461bfaf03c6509187faf431678c6a060960b650e76f4b3e45f68a63b4f6d6e3fc244d3524d24cd2f82df21265ba5bd7aa1e93367f497440b88a05cbe5111bde12ac0337e2e2ec04d46ce3094c1039ca39c9eef11c46dd25110f1477f5890203010001028201804d316753bc50306e3e94cf7c6dbc375173a7982c0224d6db6644c71c00940cc9599aa0c1d8035205ac150e57031d41f4253b80ab8739c414d65e055fbac9b861d12932fbb7cab954b00db2f718adbd07baae502826fd944bb78c9c8afa2e40d28ed65ef9c6073ad766548bf3607d48e3f3ecb8112124afe44aef9a265832cb1d75a6a5a400d0eec36467eee0de3727e5c965b78e2c61b007bb41c0932af105aeff9881ae031b9f873f96e083f483fa7f3323194d02632183154b854b109eacc7a4e33275fe65ab3bd7a667c14e81fdd484b5b3e9eb3a9a42ec667acefe511235ff4be27d0cf921dea90b70eada7c2c29143b1eb01597da558050a566fd11ba3fb7841bbcbeeaedeaf2265aacdb1ceffe5211c29d1bceaba5cec3e148e40aa9d4e88f3b24536bf481b74191e5b3b1da5893974082407cc11b991ae20c3eae02c97f2b3950ff5b3806e83fe41e5804cd5dd5c6c0df931bae20d766c5c9f081fb1917f8f8e0b39c627395c8e566f90332bd2edc802fc9ec9ea5333a580257346d090281c100e2626ad6b4711c26c662a9bc898e75504cca624cdd8dd4af64740852e1e6f63bc0732d1e14a84d4d76746095a093d100b1146708ee21f62f7de026de851cd064eb35fc45ecaacc30f996902304ff91503f887c31f1656712496f6a86547838accbb1c93834616d8f4fa449c92db52ad9c2f9d4b75b732d3195420a494f6fef6e3f9587a9372a0b0bf1c8bcc6b5e03891813f91f9a36a7f9415c65bbf15fee1124ecb8b0c7d40d6cc0b9c3d631c2d4a00524a3bd97a88ab7d66e9a4eb214ca7070281c100c07a36b66cc3beb8ce87f88d6662fee11d5f4f15b66687dde21dd9eaa60ad8215f4e4ed285d8d9c9886502e2609d467fe436389d856a8df36a0c083c8e8d161429b096f7d5b493c65de01f93cd08a6154fbeb9cd0902da61aa3d9e26ee8cbc5026e085efd4c9bcc0bf44282b13ebdcf7b69ac0a1258ac4e6ae8a14ecce6839d989ac9c197110b45ccec6ce1e1bbb5664d37515bad2a809743d8fd55a7b1c4fc821ff597e71d17111f70e96ef9b4217de09a0c3baa7f20e7a608380fa75604aef0281c015008c68ded49f87f95faddf8fe3677ecba0fafda69041eb03a6c01ef0563d01ce18e156a913f417fba550509155254eab1ef9701aa78bef5bfe2f9cf53c7718e5b95c6e2046b82ad2fce4e25ad45ae6d6fe12878f9d98b2599dbc8439d1ed701a75a3f552e6b70354a0293840c54df465e24799bb22344f2549bb2a91f4108269e3b5723d6be91a7293ecef82700acf74ee30dcb80c694993bb93476702fe5e7470edb57ae94904250f99a2583adb62ac3fb6cdb65077986", + "ab3c2590dfdce810281c01511cbc77064850e29dd8c81be017c311c4c009639df4364308a5ffe65aaae3a08fac37a1c18bece66d5d7d8fc067b5f28961ee06f68589d9ab0327e9e84273491d3b8d2ec5bd60952e163d384103c4dfceabde009ea7c0950df69de8d226ec2bf5eb88aa65a67051a6ad592d19d7214d3b260ffc2e24be78c97a4eebf317d93a8947289fe6c7bb1e518b21b6da1b63557486bd68594cb64241108a3dcf21e71a3f715ced79abbabe1c581143d84a0a4379d978f692f0012b959ebd67edec9950281c100946e03e76a22eeb55e444911e865c68a2ed8fa8e26119bfc96a582b8cf5714e7a9f2af2797015f71fd4f60b40f8339ed53f0acc86a5379faf2b91ba7e19da73f2f2f2f6630b4e806a981962b594549a350aceb16d4188586f6d5c515a18bfdb1b2f5b867cd2ccbec96dccc4de2c8eb4db6a8c6f22027bddd6a3cfaf6e775c02907f9a968b2aa315f74f622ffa78d4813d550e3c2aa48f1d07d7a2d759ec164ec439d7ded137d49cbc792d5e7994c462edccf485a8c24ea4e2453fdc332d10689]\n\n# tcId = 62\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 2b8c127b940daac3fa0044dccfa7661a3d306c6d51f619e15874582b6748608e4e7dd0e6fd4d713f8807c84eb6c8a9b7ecec3369ffd8cab87d34a6747f8284e3ef69e8ed29d2e62216802d9896431e09fb5c4e3e09d0cc4eb456558a0f88940746413daf4d10ff167d8e9f9956d55bbd424476a8a72c8c09d7a434419172c59501567c8cb796398205c6b4d488b530627bf6f9251270d8c427e6e76e5bdcf57899f7d90d7659b874629686dd7eb848bcc3dafcf871d6e00c32b38182e2093270e0f45223e9b2d0be949fd213c5419bd6d8a4cc1086ce462f9f1169c43b9f2b1ff15accb9ea2c6fee990fb8b9915becc1a77d4010fa45952e4356c6218e5dfa70a30b6765f5664016c235bdc3dd494aafad723eb5bd57da676a91bc418467d5a21041a5f41c4e3b413f514a626dc8b161bed110ea08fb5f11e52f7135571b326a88100c1552e4c829a1370ec54f00b4f633e64786fce316b75af2d545340a647d0e5b3f1af98a310920658329c313d164dc223d2e83\nresult = valid\n\n[d = 07f74b5ece1690082083b36e0a20bf9fd7206d4b13d2156a0c350f0153d8ea08b5ece13da555c2fb2881f0267cb2c36321038e6604cb239cc0e4048682ce3278add3f8947db557739eaa048f5a639b90f24249551dbb8908126c233f8d66d9cf2c6467448f060d375cdfe7ef55e92f8d352104f9769ef2fa703c7d8245bfa55867e8efc9cd3f9d978138a427a7db20b298ff52ca9a2f0a71d71f2d3adf14fbeb6583b7fb80990f7961dc769e8dd6ad4a42227a14a57f283c6ddb48bdeea1b522465d7b28b843d63fac51a67bc40e55d7ce715a06dfe4ca50f055931c97e944555b3da4f2555e666db5a8b14f1ff70db5f5cab167c846505e6641fbbe464800eb9e95201b9a9f853e6ac3b4a40004352b5a5713da545de7b6ecee701795b1413e5e4ac82035f9b371e7379f468dcafb8489e560b284ab4d086e39ee354d8de6adeb8861e30a94c09c5ec46732448a6c3174a371f8984e4a5e236be4f665de0b6a91757e8f629c911de82977be29dd12430add92f367bca0b6ccfb2050bd571401]\n[e = 010001]\n[keysize = 3072]\n[n = 00d5c96af06d968d2d22939907150c8dcb73f8ea5a45baf0b551e2907fc65e2075685eae493bb1330b7a5962cbe1f07e6a8d2d042612fdbc7a13ca0e1a58f8cbad011dd0aa1162744137bb9170e61a340e0777ace90c70401db70f0fb13c019838005ffd95bb159edd348c8f54b02c2ecbdd6ddff8d439324155389526b5c532f42e4451a3048d312dcac2b670619373b4b2d5d5d98625ce3139c3a7512c3957e3a2d0fb83f08b397e9147f717521b9596b031ec331d1f6bef06e38c6492ba2842c5c0fdad754dbd58c7ee85b29563509693f3d8147aa03940b2c6648053bc99618ae1b1e37f31687ad02c83b0910df3be932793172c866a7d08b8b6dcea58939fcaf29cb188a8308215dc910c83c3499870989ed340d3e90575ad9632f5ecd11bc041f4c5651993d5a0efe54af8b6ae87a2699a1fa34333ebcd069264d230219af3638c42fbb6aea60090832117dcae0d7795b13fbf2b0126f0a2a85868aee3ba033d64cad48b1e9a7bcea144f059333278d38e1767c6ef682d9d40f6ac9ebbb9]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100d5c96af06d968d2d22939907150c8dcb73f8ea5a45baf0b551e2907fc65e2075685eae493bb1330b7a5962cbe1f07e6a8d2d042612fdbc7a13ca0e1a58f8cbad011dd0aa1162744137bb9170e61a340e0777ace90c70401db70f0fb13c019838005ffd95bb159edd348c8f54b02c2ecbdd6ddff8d439324155389526b5c532f42e4451a3048d312dcac2b670619373b4b2d5d5d98625ce3139c3a7512c3957e3a2d0fb83f08b397e9147f717521b9596b031ec331d1f6bef06e38c6492ba2842c5c0fdad754dbd58c7ee85b29563509693f3d8147aa03940b2c6648053bc99618ae1b1e37f31687ad02c83b0910df3be932793172c866a7d08b8b6dcea58939fcaf29cb188a8308215dc910c83c3499870989ed340d3e90575ad9632f5ecd11bc041f4c5651993d5a0efe54af8b6ae87a2699a1fa34333ebcd069264d230219af3638c42fbb6aea60090832117dcae0d7795b13fbf2b0126f0a2a85868aee3ba033d64cad48b1e9a7bcea144f059333278d38e1767c6ef682d9d40f6ac9ebbb902030100010282018007f74b5ece1690082083b36e0a20bf9fd7206d4b13d2156a0c350f0153d8ea08b5ece13da555c2fb2881f0267cb2c36321038e6604cb239cc0e4048682ce3278add3f8947db557739eaa048f5a639b90f24249551dbb8908126c233f8d66d9cf2c6467448f060d375cdfe7ef55e92f8d352104f9769ef2fa703c7d8245bfa55867e8efc9cd3f9d978138a427a7db20b298ff52ca9a2f0a71d71f2d3adf14fbeb6583b7fb80990f7961dc769e8dd6ad4a42227a14a57f283c6ddb48bdeea1b522465d7b28b843d63fac51a67bc40e55d7ce715a06dfe4ca50f055931c97e944555b3da4f2555e666db5a8b14f1ff70db5f5cab167c846505e6641fbbe464800eb9e95201b9a9f853e6ac3b4a40004352b5a5713da545de7b6ecee701795b1413e5e4ac82035f9b371e7379f468dcafb8489e560b284ab4d086e39ee354d8de6adeb8861e30a94c09c5ec46732448a6c3174a371f8984e4a5e236be4f665de0b6a91757e8f629c911de82977be29dd12430add92f367bca0b6ccfb2050bd5714010281c100f34cfccc1c226aaf10dfee263f688c720402d1c254232e00f17482e45f287d9850c1fcb5b13428d853f849382da3966eaf919fd9a6a0bafc505491ea777669d8230b941d851bc74e583e97dc89d935c4c0ded7a09e9c2d7364991f9a164bf8f93c6c1e03bd35a38cb48774d5c055659163ac14c6cbdf26463af5461a2d2ddb0fdc746f6de64e4198996a2e178da36375aa747f0b0986fef025c134398093d011eda083183c93189eb555a3b706a8401d3877066cf7b13f62878cfd31771719f90281c100e0f20fbed068e90b263ffd163d04d73518856aef9dd2909fb692b9c160c7a908ccc8ad6c761023bce4c8c7623d72934c9626b3df352a98fe7400226770569c4bcbe2fa3e9a9936e3a5e983ce69da70200e3d37a3d44d877c9cfe21ae4829a82945dd2221abe21cc67162845b8778d6f46b6855c3a07a4f17139a29c700162b4e43c53d99b318d69afdd1365b207b0c8b8db776220538615b4bd21b9c9e41f09413171d266a445e9f2de712fa8f67f926beb96e319962964b145ac4f004471fc10281c07ddacc461523a4860cb7996c858e6260343cf51e8e0168b1aa3537e444692096e2e785fec2bc958859df6c98b7db105d0f4ac82281745165657469ca9ca34f5b33bdb08f98a466f3dae7fe0c61ee4f4708f1fd1ea40d6be16e1f5b5e8cbc1dfd67491239a2ed953d9ac11b29db0511b624960665535e8a60f7ec9aa7bdc923b14fbb974c853ee3e5b92e58cb6c442195e367c1b406e8a305bcb1f57eed4908efcd3923b72cd6767cda96834a911205a057ee120fda0d0119c9be9fd6afa0ee990281c100dda92a22d9b3c791190c0d1510e3e83d860052b3f44d3dfe642689ad28f51678797376915e75e1018e60db38cf5c4c123813c343bc5c518ecc3825aed060487bd859be465a8988312398cc2d66d9bd8b98fc720b9a751b818c22508630cdfbcb4ff0ec6549bef2a409af0ec632e4bcccf5da464913a5f2b1c6bb2f57cd9a0aea8095a87200ae052b8dd9cf3a54f36c15487cf487e9a4f92ac1b835454c1da63803e7ceedbfe1c76c0c0b9c0413b45d2bf4dd3cdcdb4ceed4e525dcd2b7246f010281c00e59ace2e31b116b68348a492012162740231fbb16363008daedacf0cd79916a8698f25077958e797759e1261a9e54776df0217f7f57f53cf9974f379abca6106f705ecb2e7ce157ba045c2b538eb2b670b8b2168371be1bbb4f87c4f94aa989be752f3d4ef9ca12af6ba3e14f52341bd37c6d212cf76c9219e49b9c1884b6a473ab82a97d9a77caa9ebb5b4463df93c60d92095c4ba12d5f6778d526e34c14b545b64e54eb1816c935939e16b4c54ba78abd60b1d7f8c7a1391bf9c84341ab2]\n\n# tcId = 63\n# edge case for montgomery reduction with special primes\nct = d5c96af06d968d2d22939907150c8dcb73f8ea5a45baf0b551e2907fc65e2075685eae493bb1330b7a5962cbe1f07e6a8d2d042612fdbc7a13ca0e1a58f8cbad011dd0aa1162744137bb9170e61a340e0777ace90c70401db70f0fb13c019838005ffd95bb159edd348c8f54b02c2ecbdd6ddff8d439324155389526b5c532f42e4451a3048d312dcac2b670619373b4b2d5d5d98625ce3139c3a7512c3957e3a2d0fb83f08b397e9147f717521b9596b031ec331d1f6bef06e38c6492ba284245c0fdad754dbd58c7ee85b29563509693f3d8147aa03940b2c6648053bc99618ae1b1e37f31687ad02c83b0910df3be932793172c866a7d08b8b6dcea58939fcaf2", + "9cb188a8308215dc910c83c3499870989ed340d3e90575ad9632f5ecd11bc041f4c5651993d5a0efe54af8b6ae87a2699a1fa34333ebcd069264d230219af3638c42fbb6aea60090832117dcae0d7795b13fbf2b0126f0a2a85868aee3ba033d64cad48b1e9a7bcea144f059333278d38e1767c6ef682d9d40f6ac9ebbb8\nmsg = deb2027b4c88c9d2efae9fc1aa883f016f01f7e8802aec6cf3f637e669b7e595e8d97d299bbb88\nresult = valid\n\n[d = 76557e33fa3349551c2c557d2b7c948c11b736f52766df40a37da1a0d263ce2798d529efa34e4b5fa79307c0345cb9acc995dadae0d7a7d1d7237a53f7b68ea0b73f70fc003450830b57dbc5b37ba185e01500771d7111e10b2495945f81bd854676cd22b3f3206b0be61931bd4e6b34d9d30384dab033104ed8a3ff4416cf02f60939fefabcc9a5ba2442e9bef333ff52488a0e841d9ef7ec83e1a476c447b94d4c8239d5f64346a9fef1de49bdff5db251d96d4823621146141d46aa601040139009c37c551455567562831847b6c43636aac85abd279b24390806cb9b555b05e0d26a2457801ad8f5724452695be0147c36e9a0cc332d2adf77628aa43253e4ef5f337484deca700db2962d4dc28421843880e3821e535dd94ea72662c4f3a5492e824d98c63e182c107a87941c7834c0af66c57ca1cdba550049c3bb3531d5d7bb07ee93bc84644ea60521f1511093b5b4d0b5a19518f6f48f377050b57a5919aaf958fd33b071109ed65741bff06f920401d5ab4d3e36c59d29bbf2f29d]\n[e = 010001]\n[keysize = 3072]\n[n = 00a9bd730ba3d04dc5f2f9ac15d00ef8bf6462ffd41000aa326e9b501f0a90bb299ea7f0bddcc46ff03cfa0d23fd45598a578be2434aa1738fa40ca05b8b2da67df4fc353facb7a0f7c4ab11a16780975641eb764c83f15c63e01807b7193b3c724220d21a2c2c83594c61dbd07474a8ce5b518ca7635d9c0e04b91eb2e84e0eadc7c790d5ee3129eb6f793d7b9bf4d52daf0313f841ea6688bf10891ef87aad500ea53b94662dbd4b7110103608bb31cde255ab82f852667bff55dd273114e5c1b2471f86fd41425067eafec25f8fdbbdb08490def14bb2d847b2eecc51cc4ef94e5a9f415d59ea8549b232cd8b6bb621d655989864d85de41d542f16eec86bc5f5d5465aa2e3eba1d1b82ddde61dddac0b62d660101032ba3f8fdd69a31c1ea2fa1966784802d3dbd848c479c93e12bec95a7ff15ea6bee5fbbea15ac31cc9e3e8196b8946aa322abfa29b044cdc5008313883885843728e9cd9a7cf1679fe374b06e1cf5ecfc51af75193797258c51309d96e7a71113ec0896b9261cd6cd2bd]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e20201000282018100a9bd730ba3d04dc5f2f9ac15d00ef8bf6462ffd41000aa326e9b501f0a90bb299ea7f0bddcc46ff03cfa0d23fd45598a578be2434aa1738fa40ca05b8b2da67df4fc353facb7a0f7c4ab11a16780975641eb764c83f15c63e01807b7193b3c724220d21a2c2c83594c61dbd07474a8ce5b518ca7635d9c0e04b91eb2e84e0eadc7c790d5ee3129eb6f793d7b9bf4d52daf0313f841ea6688bf10891ef87aad500ea53b94662dbd4b7110103608bb31cde255ab82f852667bff55dd273114e5c1b2471f86fd41425067eafec25f8fdbbdb08490def14bb2d847b2eecc51cc4ef94e5a9f415d59ea8549b232cd8b6bb621d655989864d85de41d542f16eec86bc5f5d5465aa2e3eba1d1b82ddde61dddac0b62d660101032ba3f8fdd69a31c1ea2fa1966784802d3dbd848c479c93e12bec95a7ff15ea6bee5fbbea15ac31cc9e3e8196b8946aa322abfa29b044cdc5008313883885843728e9cd9a7cf1679fe374b06e1cf5ecfc51af75193797258c51309d96e7a71113ec0896b9261cd6cd2bd02030100010282018076557e33fa3349551c2c557d2b7c948c11b736f52766df40a37da1a0d263ce2798d529efa34e4b5fa79307c0345cb9acc995dadae0d7a7d1d7237a53f7b68ea0b73f70fc003450830b57dbc5b37ba185e01500771d7111e10b2495945f81bd854676cd22b3f3206b0be61931bd4e6b34d9d30384dab033104ed8a3ff4416cf02f60939fefabcc9a5ba2442e9bef333ff52488a0e841d9ef7ec83e1a476c447b94d4c8239d5f64346a9fef1de49bdff5db251d96d4823621146141d46aa601040139009c37c551455567562831847b6c43636aac85abd279b24390806cb9b555b05e0d26a2457801ad8f5724452695be0147c36e9a0cc332d2adf77628aa43253e4ef5f337484deca700db2962d4dc28421843880e3821e535dd94ea72662c4f3a5492e824d98c63e182c107a87941c7834c0af66c57ca1cdba550049c3bb3531d5d7bb07ee93bc84644ea60521f1511093b5b4d0b5a19518f6f48f377050b57a5919aaf958fd33b071109ed65741bff06f920401d5ab4d3e36c59d29bbf2f29d0281c100d42b178b5a12579410b0b3c5bdf6a93f15bdab87be1d964aec425ea611ec88b6f3bf924def484e9dcb2abd1fab2b2c3cee7f1ab3079d2d4bd7b48afafa6b2c903e112a7fe1dc997554054b3077e585d63ecc4ae058436adc56f417bdbaa3f346786aee58a26bd6c5e1d7e3965bfc0c7ce5e5d71ec1470d2a9358cfe7a3d06cefac24b0bcf692a8bfbdf38073f690535650f5620a6cc664d24b23134396397b79d2eeec9b97a290c282d3385767a96cfcb900c8220e76bd8dd717374085a019030281c100ccce75c5d321a523245787b19880044387fefb9fc06465e524539f265e85b8be15fad29e03173fb29e113d16d5c53f171fc9ebfb1df64428a59148d2ce5217607c1d2cc6dec49d46a88a10340e8c2a9e66b198b8babc64811d5e7cfdbc4b8710a0c908e081424549be828929b634e845fe8c1b89baf1d80867a32120884fcdc71e2aaec0d9e29d6fe907b706a700585f92c7eebb2755640dcc961361ddf239b1336088cb1cc2c6811e3d3703ff5522127f4b1f9bbde92f137cbca148d227393f0281c0789388cce4427a4d267315a7b27ec4ce9a4f7175328164116e5585aec18ef85f69051d63773253a36f7bf9814ee8b93a639c0e9362275c3fb6f5deea2578d519a07c66f7c867733aefa61686140d77d33b5b24ce7cbacbb72f1f878286d878003b9d219973acefa103e98a68c01bed08ea2a85e7ef95ae90dcae63715472b6063b819a83b969bdc7426f6937fe0f259d6f6314f5b1bdca3c8d010108af0e39f3110241ab6730b72e23e56026a43df0376bf85ac4a80da94a3bcbf0d5955b57fb0281c057e12b45e44f66858abd883b1b3dab16b30f25372a1daa5f455420511d73f18e96edd65bf8e58bee7fc6d3d8ad878287d09b1b07d896682eacc48763f525e264033d9d8e03de87c1dee5c7081f49e3abae52fc3e1fda60a1ca5155fea6421e4573486fe7ad6f1b3e06620aaafc44fd79b33cb94043182ce3865cc80526985faad5f5e8a0559dd88241928ee56ad94a1250703baed0b4e246cd8783ef9585af5daab6fc5b730edc9060c2518e048caa1f17c1cb614f7ef4353f6bcd24eb0feb8f0281c05a753898792e9799b9a6e5b244bc184c0cd8a06180b1bc3628fcdefe815675744c53e1c1881df87c00e0b104739754dcae0ee9bb9e7634c6d0e4530eb84836dc108bb38708935677fbd517902d757d0f5407ac78b9c939757a8c471c14222024591bf16784825190ae6e802258921a715d9a18a46994cb83ee87f5ddc13c69edbed56a8030f9f2d79292902727696d07013b12fdcdc5ae905be88a18fe318be5215fcc72ff82ceccfa6ebd9564ee779660cd31fe5f5e61b8f92bad3a8f7f26a4]\n\n# tcId = 64\n# edge case for montgomery reduction with special primes\nct = a9bd730ba3d04dc5f2f9ac15d00ef8bf6462ffd41000aa326e9b501f0a90bb299ea7f0bddcc46ff03cfa0d23fd45598a578be2434aa1738fa40ca05b8b2da67df4fc353facb7a0f7c4ab11a16780975641eb764c83f15c63e01807b7193b3c724220d21a2c2c83594c61dbd07474a8ce5b518ca7635d9c0e04b91eb2e84e0eadc7c790d5ee3129eb6f793d7b9bf4d52daf0313f841ea6688bf10891ef87aad500ea53b94662dbd4b7110103608bb31cde255ab82f852667bff55dd273114e5c1b1471f86fd41425067eafec25f8fdbbdb08490def14bb2d847b2eecc51cc4ef94e5a9f415d59ea8549b232cd8b6bb621d655989864d85de41d542f16eec86bc5f5d5465aa2e3eba1d1b82ddde61dddac0b62d660101032ba3f8fdd69a31c1ea2fa1966784802d3dbd848c479c93e12bec95a7ff15ea6bee5fbbea15ac31cc9e3e8196b8946aa322abfa29b044cdc5008313883885843728e9cd9a7cf1679fe374b06e1cf5ecfc51af75193797258c51309d96e7a71113ec0896b9261cd6cd2be\nmsg = 63461cd56eba70d756be706bd754d8e26d16629a685e3d6159e5e8684752574d6fe36a66755e327905f327c75de1158c34a22a99ce4306675bd876997225d3f508a2300a5029e7860d8eee842e28a4f3709dff9dd84365127e6d7b9d8d59d095894aaebc737dfebc5cdec19318b26245f2b77dd1c507cbc53dedc14f4a881fa4b41d3fb2b3b7569b36bb11bd79b562d464815ae4fd2742f03d78c50cfb22a2e56fa5754793390fba75ab1d068deead4156abd95566c051c3692f8e53bc4fd4e5a605b4adb29a78cda0170dd0b83546c951929adcc42bb4a2ac25439a55f0d193683aa521319eda1d6e0fc61ab084aa52909fdc220bffd22f2c691c579248b1928b08f791a3b64e81f587e58baa7a68e5c0b2ebbbb95418e3b2e0f210d53c33abca5076ebd4e0f5f7fd8117c3ba5404ddcea670da37c868e81a23e1d0f85f878917ef825d5a6bb5d257589ecb77c87a2cfdd6df915d343c38cef865ad4d0126c86a668cd64d6561c374c08680\nresult = valid\n\n[d = 33136923b595040cca19c000d9e6a1e3216b18c9e46f18b5b1e67f4e52a748127a9159484d5fd58d5ee237d363810c02db71937477e79085213e3575033cb57e2cd9a87c4a04f852d6b486580d410e57426d7529a16050cd30b280ddfe7f7ff35dc57caaf74152195da8d3b32fdee1cf1d4cfa2f615415f7ddcabf94a53e7af181b968041650665b517b45dc98556596e7116e247485b450e8937dbfcea703deb93be440bdc88ea6fb131ce97b7cc27e22720ec34222563ea0ff369f3ee4ca6113a2e77442cb9a7e616fa335b90380bcd954d71b62c201f1b3af478f814f08d2c78c982f9cacf8c9f63a06132b8164b69bee8b987094db722d99022efbe67853a0a6006a66a0e2d16b2d78d8c7eb1a568b647c5bfd81cb9da9afa3dab576a2b1569729aa492cc73214f473d4dd78a186d77b39a1f2ac5dd8b8b1f9c3aa662245774af9e2d135c7c267d4d4ca4d0d3173631fe19016e01dca4682de5d5c6849835487521c28a559a5faa8aeae2269cdf5d722c26fadcf3f759c4fbc23156990a1]\n[e = 010001]\n[keysize = 3072]\n[n = 00cd558670bb52e8c170723ac5b4edbfc4c1509816d2212f17808d7a17b637e281402984987e01fe42970fe736ab5d4d9b0c79b78b57f8d8883591fdda2242c87c68c5927b78370feba2050aa7f59717f7f8c9a0b23e87e6d5c7e6e618cd3cefdecc593c16cce7ae42039d671c2a5e8fe053dbcf9362e4920aed0a", + "2a840c7c80444a2aada474069b25a79919882f44877ecd181bbb12582448f1066984633a6cf28b2cc751e917d84b475bcd91c45c8e822a874221ff254949c379d28f9e12ad06f28f0dfad56de8dded0a10888c5d18c163b7a9e826408dd8a27859e33874dc409fcac674eb8b5da86afebdaed4e83456df003b41f0a145f5cbc2b95455807080e2fcd049a6a49ee421b8e146fb9fc31f43bc7591ec25a970aef4752af01175b9370c20b49ce1bdac45ade8ae27f27e62f7716cbd5d49e7cbdf1e6952bb2403a01fc1d8b147dba49584931d7e0066544223a614d157beacd2f1bf36b4ad926c3073d9ba13a55df83a99017c500585320efdaedbd3ca91c227eb1f92753e3bed23]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100cd558670bb52e8c170723ac5b4edbfc4c1509816d2212f17808d7a17b637e281402984987e01fe42970fe736ab5d4d9b0c79b78b57f8d8883591fdda2242c87c68c5927b78370feba2050aa7f59717f7f8c9a0b23e87e6d5c7e6e618cd3cefdecc593c16cce7ae42039d671c2a5e8fe053dbcf9362e4920aed0a2a840c7c80444a2aada474069b25a79919882f44877ecd181bbb12582448f1066984633a6cf28b2cc751e917d84b475bcd91c45c8e822a874221ff254949c379d28f9e12ad06f28f0dfad56de8dded0a10888c5d18c163b7a9e826408dd8a27859e33874dc409fcac674eb8b5da86afebdaed4e83456df003b41f0a145f5cbc2b95455807080e2fcd049a6a49ee421b8e146fb9fc31f43bc7591ec25a970aef4752af01175b9370c20b49ce1bdac45ade8ae27f27e62f7716cbd5d49e7cbdf1e6952bb2403a01fc1d8b147dba49584931d7e0066544223a614d157beacd2f1bf36b4ad926c3073d9ba13a55df83a99017c500585320efdaedbd3ca91c227eb1f92753e3bed2302030100010282018033136923b595040cca19c000d9e6a1e3216b18c9e46f18b5b1e67f4e52a748127a9159484d5fd58d5ee237d363810c02db71937477e79085213e3575033cb57e2cd9a87c4a04f852d6b486580d410e57426d7529a16050cd30b280ddfe7f7ff35dc57caaf74152195da8d3b32fdee1cf1d4cfa2f615415f7ddcabf94a53e7af181b968041650665b517b45dc98556596e7116e247485b450e8937dbfcea703deb93be440bdc88ea6fb131ce97b7cc27e22720ec34222563ea0ff369f3ee4ca6113a2e77442cb9a7e616fa335b90380bcd954d71b62c201f1b3af478f814f08d2c78c982f9cacf8c9f63a06132b8164b69bee8b987094db722d99022efbe67853a0a6006a66a0e2d16b2d78d8c7eb1a568b647c5bfd81cb9da9afa3dab576a2b1569729aa492cc73214f473d4dd78a186d77b39a1f2ac5dd8b8b1f9c3aa662245774af9e2d135c7c267d4d4ca4d0d3173631fe19016e01dca4682de5d5c6849835487521c28a559a5faa8aeae2269cdf5d722c26fadcf3f759c4fbc23156990a10281c100f793a0a9963aabba0dcd9a4f18a08e62f6b194dc64022af47c6d473f2a0d38ef862fd20f361a96c334f9457861bc8c09ffde66c5e29565a57b864911920113b5f0d269968e6177ddd89da7d77263dd9cc99108f3a7063b58216850eb84446971a6d3726aa91f4727f99302ce5ba63295c559b3c94f8c93efb8443f7e97b4ac489854e9062d199d17ee00910b3213639759dd9a5e1b8bd1b6d9a306b33fd6326268be6ad24ea0927454fcdb091541fe3c90f6f2a9534339b6f83da27c86fd30fb0281c100d451f7d6105fc90f350a536765b5aa8e42083e0f67747d67478a105e012c870da1abcb07e1c73fd46c7343ae5e7eea192a4d865c044a300a526271d4ce475c21b56e1123dc9185a64e261f4d09f94f2b43814397cd5edade156d06378c717e59d27b92f928e245ca6d5b5d53936d72489c2f62d0ff99f475913fb21424c9e0a911a441d534506200d0579e755a38346740f41794ad4aef4c64c9db039d72c400a3c44d38d0cbbefb3eab213fa287da49206bc14da3634dfa9c2d76f260ed8bf90281c100beb436c3aaf6d2a4e4510595fbd0611d960d402f6bd1c7a8bfd7a553e05e8306ee0413f8a7a25f934a50e0d453e4dab23127ed5e6ca4cbc1669f0fd5baf39d6d3e6db5ebc50d0b3a15cb8b2807f32917c6a433930b8b5f570994c31047b832c8daca718dfb6c1e718a6b55740360c8025a1c38c2cec5e88675180d18c45ee57e9de879fec9eabaf95dd98de063d84f949c2278f018a3e10cca242bdb13473954587ea4e60eaedd6142bdeb32d9ef15992dc92b2e86f677949b2f4ee4414ef2d50281c100ab451bc900186455f2114c4a420f936f81f0a82f40e3052dc4d5a8724c3c210d6bf6eaa687087582e3a0ef5dbf385d9ac3371a452be8b46bff1d0e79fd942ecbba50f95e9654851d2c393052b2d2fb7c08ce433a371e672b72d92984b1b3f39a7d61d5a34bc98b46c98443fa61188e71e81b8978d256dc8de207219d82379f1482f89f6a5ef2e0bb8b54c2ac2384e730cb829b6b01874b15b2cfe9ee369a1765f4b52b1dc3c03764f09e970980105a9356a5d59ecd4813e52f0ab5c2bb51a3f10281c100ca356699c6f5b223bdaa954d5a6b95c4d0b0b90d679f302e3f3d6a2e6fdb5b8c2d34a2362b72fef0cff0c7e08bb63b88d82bdf424384975477943e464a6282a3c301b8da1e77fcd5a4f28d2906886876c3094224d6b0f482fa388585c0b859d79b0d76badf107072971cbfc6057890c50c5de1e7582d45dbee868fedb52b4de3b2779650ffc977663dc7fcbf0da60eff97bdb3257d0739b22738a68e31a819f090a96d3a79e9ebfedd99b677e93bccfd4112e4f40843324703eeae57b3f5089d]\n\n# tcId = 65\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 2d6385fce580f795102dff20c7917588dfe5304746e5635dccc732d3a58def00efc60fe4af7805f09bfca49aad1ca464b6658daa7f133c12718ac8a6f60702eeb031d49ae35b99ec56d0c7a0a33108ca98b55ed68d27c4c81c38c02e82bb90060c5c2fd9d411dff55509b1e97908d152a4b3c93528013cef644dd70c3e99b647b403e49d0175c818de9f1289eb312cc44ed3a408b4f7f6ea03e44f9f1dc07ddfe02f2729feeb2174c032be05e9eb9243697264016cb0deb113266c3b\nresult = valid\n\n", +}; +static const size_t kLen140 = 319528; + +static const char *kData140[] = { + "# Imported from Wycheproof's rsa_pkcs1_4096_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[d = 00d3519bd86edf5dbe9c64a3781713dd049b747f5651fd918cce8a9b80b6d6a2fb6aab334ab569a89b58982e0aae373090299fa227f9652b802d23ee5ca6824c433d01d40bb0473b16190a8bfb137c0a704b4f49b45015bfbee1f670446f07595259d70c7d79ae95f9b2543b0162ebb763ebb81c4b6edff9d197dede1dbe57e40466d156d4dfd5d7634c45534fb2bbbd1bf257817a173c0795fdbcc533976f4a0d04160f299af5dc272a814b36d5bae5116b9542178f1d554cab7a6453035482b981add4bd8ffd5d500839b23e30ebd3f3868f07584cbd12ba089325982860f69f2bdc7077b6c60f58a2272823379e1023704165f7c14f64a18fd5b245a18149b7eda3385a56ba9e79502a27bf13865cde35be15de03d06aa6f08b172b7eeb4b73cbc157019c5d933584a8d1add61b7dbca3b253ca0cf93dc9a8a3aac2f50227022e692f7b4767556620cc928d63e31078c360e2ab4b71a917e19e7eb09380482e5b4ea88202871c2a29ca6f66b2fe304af609520e4f81d64c26768bb812a86679366611f4cf6e89e2bd1d9d7e28729c7f0e4e3152d7ad7f186fa32f01e169ff06a12001bc179dfd0dc942cbabc555f67f5fd043e0a3354340fa490d2f123367be926eb3e1dffe70c3151c87450f3217dc2aa0b5a7069c5a17d55614c9994139f7b37b49e9fe780af65a0e89e2e58feaaffe163bc9d19eafd9cd29b0ef3cef3d01]\n[e = 010001]\n[keysize = 4096]\n[n = 00f601be0dccd04aa40b12f3f191ae17c1f9c8c0b68e7a77e14be25c3c7907cb1d33a6ef418ef41852f32c98392bc5c9aed91c1a1501c503eab89b3ee6f4f8eb2e0fcfc41bd03609cf6a8eb3aa6f0fbe23187b33db4d34b66d128a8aba0a2abf40bb9d13d8e2554569a57ab1d8c61b8cad2dc88599ae0da5346e15dace1bac7bf69737c22f083be9b46bb8b1eab5957b2da740275e96c87195b96fe11452159dafcfd916cee5d749a77bc3905a5ebd387ae445e8fe70f16e9a086639779ceffbfd41557bd99aea6a371a6b4b160615a1a12bc6958d34bce0c85adcbd8392fa10ceca52209d56196ba3d273ce228f1f111192aa92de2a039798a17bcecb4dc6100e6f8ae8c2643f2ae768b2255f082c978e95ca551555f10608231cf8003bbf807969fff1e51914b9a8c9b8f4564645b9e5d705ffad29663f5dae3d76652b422e43f13e6c1491090805c2d1268a74a251177427e33a9a91175c3670b91746008bce1fd231e6e4f2ad70cb43aca5f07600a6d31dd02915243dfdd943a02165da367a6b7e4dae1dd2e8b836903080795d2585076cc1c15dd9e8d2e5e047526569b1bfd395d957eb9fde325d342d14426e71efdc1887515e53cdea5834921f928629e748eed097ac4024e2bf255d70411f87373948cf8e8aa7effa2b0ab47d5166091e1aedec60568b155bd9c27bc55f3ece35f83d636dbcd5abf4853a051db94d5045]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100f601be0dccd04aa40b12f3f191ae17c1f9c8c0b68e7a77e14be25c3c7907cb1d33a6ef418ef41852f32c98392bc5c9aed91c1a1501c503eab89b3ee6f4f8eb2e0fcfc41bd03609cf6a8eb3aa6f0fbe23187b33db4d34b66d128a8aba0a2abf40bb9d13d8e2554569a57ab1d8c61b8cad2dc88599ae0da5346e15dace1bac7bf69737c22f083be9b46bb8b1eab5957b2da740275e96c87195b96fe11452159dafcfd916cee5d749a77bc3905a5ebd387ae445e8fe70f16e9a086639779ceffbfd41557bd99aea6a371a6b4b160615a1a12bc6958d34bce0c85adcbd8392fa10ceca52209d56196ba3d273ce228f1f111192aa92de2a039798a17bcecb4dc6100e6f8ae8c2643f2ae768b2255f082c978e95ca551555f10608231cf8003bbf807969fff1e51914b9a8c9b8f4564645b9e5d705ffad29663f5dae3d76652b422e43f13e6c1491090805c2d1268a74a251177427e33a9a91175c3670b91746008bce1fd231e6e4f2ad70cb43aca5f07600a6d31dd02915243dfdd943a02165da367a6b7e4dae1dd2e8b836903080795d2585076cc1c15dd9e8d2e5e047526569b1bfd395d957eb9fde325d342d14426e71efdc1887515e53cdea5834921f928629e748eed097ac4024e2bf255d70411f87373948cf8e8aa7effa2b0ab47d5166091e1aedec60568b155bd9c27bc55f3ece35f83d636dbcd5abf4853a051db94d504502030100010282020100d3519bd86edf5dbe9c64a3781713dd049b747f5651fd918cce8a9b80b6d6a2fb6aab334ab569a89b58982e0aae373090299fa227f9652b802d23ee5ca6824c433d01d40bb0473b16190a8bfb137c0a704b4f49b45015bfbee1f670446f07595259d70c7d79ae95f9b2543b0162ebb763ebb81c4b6edff9d197dede1dbe57e40466d156d4dfd5d7634c45534fb2bbbd1bf257817a173c0795fdbcc533976f4a0d04160f299af5dc272a814b36d5bae5116b9542178f1d554cab7a6453035482b981add4bd8ffd5d500839b23e30ebd3f3868f07584cbd12ba089325982860f69f2bdc7077b6c60f58a2272823379e1023704165f7c14f64a18fd5b245a18149b7eda3385a56ba9e79502a27bf13865cde35be15de03d06aa6f08b172b7eeb4b73cbc157019c5d933584a8d1add61b7dbca3b253ca0cf93dc9a8a3aac2f50227022e692f7b4767556620cc928d63e31078c360e2ab4b71a917e19e7eb09380482e5b4ea88202871c2a29ca6f66b2fe304af609520e4f81d64c26768bb812a86679366611f4cf6e89e2bd1d9d7e28729c7f0e4e3152d7ad7f186fa32f01e169ff06a12001bc179dfd0dc942cbabc555f67f5fd043e0a3354340fa490d2f123367be926eb3e1dffe70c3151c87450f3217dc2aa0b5a7069c5a17d55614c9994139f7b37b49e9fe780af65a0e89e2e58feaaffe163bc9d19eafd9cd29b0ef3cef3d010282010100fc21b855c5ad4ca2b6970516406f71c6e79efc4126e6598772db1e082de6b0dddaaa2a2951f04148e86e0bde28213b7f600f987308301eacea134062bb0c3ddf628da9abf93ef1ce3e75b0953a484dbd3554bd5c0649933dd77e527563e90f05a8013fddac958c329378e94303b304be5f9df1fe5b043a7fdd94700a3f0b1cbbd0516b7cd94c57ca96d9fd2a8ca973991218cba33a1c23d810f7519d1f7702ab72affdb3f84a1b2a88116e4033bc4d0cfc7989c657e0fe94e964476ae58bae6b7876f36c09d32b1a63f8c47c94a74c92eedf75fc27cffe0f8452363e4bc8f7653f3cb55eaf693cec70d13c875de935a8b20439ab7e93f76981c5957fc5bb44d90282010100f9c7f748a505d23ecef9a85f8097c8cf7d7028ef6c90e22a336511582d2cc3636e34ead37204dbd22f142a3fb1d5f857b0310c7a433f51ae14d4608b01b43aa8c7ae67835f7fbe0b9d97948b39e9ba2d3a1687edb8b56ee70ff0536dab4d0551f71ed0daee9e412449f5f099bcc15e4ef0554dc79f87fec5a0dea717c7054392bf444613937401bbef3c22fbf7e738c58779b981609a1f9c11dd6f0bbe9996e2773459e4cef247b02a9fc21296ac57a5b10561824310cfbdecc90e06598370e3698713fdbe2528ec4ef3dccaae701eedc3e54ad6e7af4e68e3b39bd2e97ac9119936c647a503511cb283df984cfd7c07f0f56aa8ae3166948ef3f41b0859934d0282010100815486aab0a0896bf97f13e3eb1f7f5c49195b49cc3b6277412a3688798b18f46422df479cb941b3b54e25964a3d69b897bcc8355160e58b4af29f1745dd2cabb670f634b9c058e6b3514947f2c27de5ed424f73b1e1f1be4a188911a0333f3a6688658b3ee8e3265a512e4deacadc470ee304ebb5224123afb461984fe8524fe0b6b30d32a59f6ed2dc74a96bc7cbfd1bb44e58a7092235c5d6272e12a2c862cb8c8cf5d109aa4fb1c6472875a14460c1ed5207c4b22bc494c7947eb7ca63a8cafd31361d000ddf16a2d79f13dd9140d979149b488cbf44945a5b6aaf13221bf4491ebbb7fca27ca20e221f49c3c37b89fcf2dc0e2cb63f8f8a9b7a142250590282010100b61d84ff934a4e437b16ee1b4b9fdf4ae13370b5385bde7a5464a123c0343df575f9e128ef9df944230d39cc9cf5dc0edb28b7e740b69ef024c1bfee39fcd5340ffaea0010160c535dc0920e7cd81be533d00fa554a1fc4d3e02c461569f5e7ca787f1515edf45b196b759884de652c38d5934cf92524e807b4d3b590bc39bc417ee4885a761d28ddadce6c8fdb3b961d3e7fd48064df9340a967f8b79997438841f48579a476ddb55088c308f68f2b29d01c6597a5a7c8d066284f63e37a68c3879c32aa3836675fd0eb2719883a91944561e9dd7e8aa6bb17157f08c48f8e6fae5c3e5a2bb6b5d580eec6c97ddcd9be0a49ef283a7031ad7aba8d438df4e950282010022fb8e5fcd9b767104e71244db53058c18061e1b0d1f63b73e2d59a95e2a10cd87426a33da13c287cdef8136e5e47e93fb9b30ad92628a7b543f48eb011a86356ab3cb480f27e391b018ca187d97af3d82e31861ecafa663db78aa89c3bd468e6aadefb3a43f78bc00b8014c95db54e9d21a017e8f21f671545edde9a965ea32dfff45cda37fca1aa5132f6c8eed222bd01fed5a6e7d639580c5955777a86544c2c4c939bdb8b4c486dda53072861a0334359bdb3758475e49d90d0539944e78cfcfd8fff55bb31a1cebc65b28f51e790701b2f7912188984f034e6e96e1c5251e33fe38fb221bce7a90a86857c5f56b6ca77307c45d5290b1f088ade082b349]\n\n# tcId = 1\nct = 591be9c4c087764d1c3f38b2948c896bdca19616e70ce1ea20c3c1361d51635345bb8db8f559be2a08dfa6c8e0a717e9c6974762b73927213682e730cd4697d377f8c36ceab1b52fa4e67f7f230a1e3a551a51b6e355f3d40042d3508a0898b061bda6b6cfd1a13753f3379a1ba33f9e303317cdf768ddb009d84a357231d04aa159d88756f8037bf1da996720dc0360998f2055c1fa37473047bcad28b5c4ff5540769d6f23815cc0078821c1976249926310f0fa4013e1dd0bc7294f4e50eaaa2f5ae3cf936dea032b42e5889d0f7fb8f139ecede958ff2756be876fea0b426c902682523fda747ef8aee0b72e0a76659a689b989685de912a10cd2c7e095b147294e8cdfc9e272a7dcda458c61a6f94cbd1d54d9cec61f95d7b4698761a3930715b53715ec6183cec159f4b1e532073b7cbb9224e5c0d5f8e36041d5be8f8de2203c66cdef24a278027e5a2212bb5ada33520b304f186b5973b00c5d2ad7d73e404ca1e930828f08c85b62001f589a73ef0d1e8c2367ab6f1a3bc29d9645597cf7c0a85bbf5bcee4c12fc89af545922132759f83fddb369b55fe68f2c93a7d2459b04f52bfc2fc9ec237c14f651b41e9fe813205c345d1c36a838785a2465619fa0d4370088cf2b4083c972b17e4e0e207e142a765529b325ac91e16eaabed7d010e1735525d166cd310caab5b27e56bff36c478868233a38228e0177cec9\nmsg = \nresult = valid\n\n# tcId = 2\nct = ae1edfea692eca58775d3c35999e5738886a47884814994b29dcc9", + "7b99e79d9f35ac1de680ca6ac6638fe73771ade65e74d13f8de01ee5cdf5c4c4ed2b86261218ec529437606353a80fe45be9fc7f9f27850a70653ad31f490c1075429ad5263c46992a1265871a5ecfc7390c86d72ead118028a3fb3b9fc81ad055c137e34c6d56769cc8cc6e9edaa31958d0b2ac87751870f8c955ed2a0999d5638c8a42864174a0c8045a6fa810b6e0204f15800dfea5688d98156b1589d4c51032c7761bb02fb90fc15643db17f398b30f79906c739dc10751011032bc75828322de3d1e98de6f1bf644619e91cdd875f18b08c5876a485d8d46e5cde5435e26eadcac8dc48ead9f9fb747220fcdb09d2dfb1d1197b591b1aa3003c61dd880fc4e0b7da59146e04eb0d12715f6f44704bf0a9a0fd77bc7b74d3b61157ff5b0221c782fc886b9cfdefcaa2cd737178c683c84055beeccdd1d402d538e0b72485f3be93d8041a145ab0d42855706d61056a1d49a656cd67486682349ed0a6f8ff52ff05ef800a969b978f93d441f896302029ce5e8e800f3b5c2bb9c92c93cda18145fcaeb8f8942787074b02b434b4e52b6ddd918c4ad0ea22575fda6b108b6e0b8c7f681767c553f5b6b2ab56bc657f7017d1deff8f1f55906767bd039038373416eb1198e0195112df8c87c52840e32e4d616963b2e9cc7524c21487d7e81696125ca63\nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 04327a40b02bf671557124f963a57b3860e92cff62c439c0425b48b4346fc60c0ebf7a7584f94d34450d20cbd877c8d5dca12f517b486c2cccb8e1f467276ac03aadc94a97fcd224994d81672eb577cf0bbd6aa948d3dc4d7f06456f6650e5620435c078787db0f36124b292349ebe011ce54b3e932fac6525a37c793846a4f08ac3694d649f4a04e24e1f5e50f11a0492a68a509cf30e565ceb9931565b4aa5c3514b2ba87c4c0937ebcd6bb2b8248abb0970d30480059daea4c6ae556f6e91b25ffa5a4f723a9bf98a0bff668a1f0c799d3b0c85b19190dbfb5d894f84fa5d72d261dd2c09013dc0981cd0c46d7a08710801590aac8ff17b237387427ab3c6d6f2a59434b37f123bc7fc0a83d5ca5793540cba582e41b262859d36eabd0aa8203ca05d4c16aaf2a7b2bc7f251497d4c8f8654deae3cfffc5d3599ab4779585bf1673196782075a91ee7c3296a2edc6ee6c30344dd0c0a82274ae17982eeb23eca5c39c7d11a2dd171c70108b0a33164fc175425586f714deb5552e90e561f7882211d3f01c07867256d0cca511e61b0cb51189d8e5124e8cacdab6042bd421447ffa7fe6cad8e7f17dd3e599bae061f85bb5181726d1c0c5bbf2c2a5c1e60f486a81782e58d90ccd5a769f98361765441de142bb0a7f7bd406a537d5be0c2773e847b1df1d49ac1daa963feec84954b72a695b74281159647a62a3c19acdda\nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = c550c1db08ba647b812973ac38784a62e707840367a725e60489a0995a789463d05a3a6ef7cf06a8fa7304cf28e8b11d1b684ba87e3be712b2c086e2acc7c8d46ea84175bee9e4d25c4a24967296374811d4afc6675223e624b7f2c59f8a02a875b1ca75de2f5fde43b85b7aefcda3beae7cfde9ea0215c48d65a8b4014aca446b780c785a49fdc8481e3c342c82a66d1103bc48a4bef5702e6b9157ed367e20605d4645084950abf36ee49d76d25bc2639130e01fd9592ef399aa670c3cc549787466bf7fb5fa5be203cf86759419812af003850ffd3bf9c7170919ca68c224cd4fe9a3566bdc17793a69688313d71aded8b64e3be8c47f81103ab35ad6090d98d7d00952aabd1c67ece3e2ee12717f4fc1e849ce2b8130ac5873ccfb99cf683756641d11747276cbee0a9e75a7851012517bd4c197cc843c9f26c6f2f357323918600db96dd4388202afe276edcb9b73b2d7d43126c3a92f7354dba6e67a1bda30612897392116d33e53005e4eea4dda087e5eee5a30739076c1ba838670f0315ceb7cdc9b7aaf5aadb049345c81fcd972431f80ae8722a3f4a58b68c42f3206f8cf434205700a27742cfe25a0786e5f0bf4dbf9b150a52807be2db31b3258b87f3f5e617fb3b1839d4353951e7f556ad3689f0d9418e4311d99b790f39ae05cb28fdba711d33e28bfe87421fef67d98038873a6bc8a103ed14dfa87249332\nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 06c23a6999c870c68707f2c2d85c11c35fb77ef6cd263393a1a6a8363298f4b8937a8d176fc268a9a1d4f3bea51623f7ff7c76c4e4c8b12408471a460d9d1f226e41d17da80b03efd27ba00bcb7067dd9e02c26a3ae9f8b082f6cdcf1fcf76dd2ff774307b7810a4128eb2090880c967845ef02a6da6344749fcba456bacf43d915bd394eb9babdd19140287e44bdf1951eb4c058b489c7f3984dc5763f64b918f35393c4f6e86c457133a101b60cda0f9d0c93c90dcbae3345cdb894947d8bf1371694c0c21d009d4173bc849ea7d00f0d2c77e4683b403c32ded38f38afb61ef1348e889b3d8e0f787bf85b6b93ddee2c97805734d20006111b26ad1ede2d16d3f0238369d5008d255f1e1c518e68f82d0a09eee6ca803ebcf11b95cd20e195cd3f0d8221a78bad42820f2a5a7184b461a7002d06b003183aa66a313d91164a7d6d09aa567aff83e3cd512368893156337a741b388d1f18b10de386a28993117679deabd6b00d7f8c641d6f201ee8fe4b9934c9bdc48a70f21450c6f23b21e655f8818bad28f0755c856e3ee926b021f2c3d5336bf1752d6b54388b745b6e109d4c6885608a61ea8a5d511eb7836025cd1503bb3d25ac20819b7d9a1257a8d68b0bc51e7b085de69c267c0590fad3e003ca8018835b2c7cb32a25bdff2bea8111bc1656da3b8cf4ce3ce1a5b2c6838d9c276a6c1a4b58b07e17aad2c645736\nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 2d452fce3031f644f4a22e0d7b2df7296edb3aacefab84e7c57107021c61acbef498a914b9a70d3e33f97f66767eed7a14c16da88ec156e436245b5d9d7bd1023c997155e2e64d6801b535c3c861b19598807387c0ee366d024950b996cb206155493f0f320cbdf58f59c5911e10db3f8034b89a81878dee5a73dfde620ed224181364e7c7ea5812c874b252ededbe4c8644fdd3d312c7bb4785fff4b23a3ab00a2e5fdb3192404d8f1af8668d89e7b4aaf70634b98d98b2c244c336e57b3cf8411294f1a614f55b06a78e56eea98c6f59b2813643515a919f7be4ed59dabf69d68f43376964f0243ec6dd19a0a3609f8ce3e722ea3375a6b5f7ab24eafeabd58f81a2b3d2bd3aea2e6cfe396542961c1fa9d806037945ab866a0af6b2ff9f517d8beb5cf0c8679ec75324fd82c03e217572bdc12f374a445ce528b4ee5d8c93d3b8f254d372cabcec7ca69c4c539c0e1d02de02a0a337bdaa9910ef9402f449219b2e7376637dccdb01693e50196b7691cd8f6557e42afa7b9b7a7c925e6587613ccf007bbdf5457e67a2c2afcebd609ad8d04903cd2f748e1fd3eec0f7f812257da9d99207788e9770d12eee0240f9ae93ad9ac9b4fb63d4bf35f0c0a363bcf19eb0cf7085ead9244d4623a15deb7b9c02698d38ee78713fb67ce662ad0c76130b0b541a5120405b8683af5ec83bd8fedf72bb60491f829448cf76a73e534b\nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 3ed60cd73681d506ccfea349e5fb086eab2b679ecb796532af888088cc84d8692c6326cca3745d20a94e710335e105d2b71f6834f7cd16a1a2193a3ed88aa01b31cc5a8734178f6d9256a9a660e967ee58ba4ad63cc33ec6a08aa1c324a88f55aa700b4d5eadf46cbf7a3c5304bf883b233d5a3a2f9ae8f858959c7f832e793b5dd68f196b83702d929857a39d74a4e386f7f6636f7c03b96ffeac87625088b07a1fbeeb44fc03cb312b8f3b4308846b0566208b516687c5a786ee443ab399ea598a2631d40a7ec8671e49b6f8be46a337d9fd80c56308857247cd714205d647fdcf8019608f20bbd7816f427eb4e4384f8c10c57fb0a7a3557bd80a6744b3ce3f53ed8e32b2e384665bd274b9fd747c646111ccea90eb809e690bba31d190c6a2e2a895fcc71f521fa9c0481645348b718aaafa968bc18cc20065f25924b8f0565d1e93875fc6ec0249e5be0b1bb9d8ae054dff2a368ff4b11a3724fb8c56033ebda05246024ee0be0126217b6988242a17430284d2e9b204b9296ae22740a2e847948c60085464d8158d9ba7db29f4594dbc85482304e466936689599505576e92c6441653c2744a37b5bca6fd88c3cbf990433bd3d2f9977e474b4d09f3d489e78700df6ad9dd2b8170652d7df55557d86055b803ffca1a8c3f214369bfad683f77a4e134fcc4dba92134117323893a83c5a76c081d7f8198c2040d3fc308\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\n# Longest valid message size\nct = 3f1eeaa59c4b466f1cd4cc42345749746e18c80805c885df89ce608031692414ff9d7164d06a3cfcb16d20b439e65c44ec534016e9d9a173ca5652a707841e877c1bb3ee6e7440580e1edba79c7ce517bbc32f127fe0a5ea6d2715a1742adb5ab5538665620da3028cd1a50601942c0d255dad1c2b3fd7789318c0257c1ac140c0d3cb0766a7b51bedd5f1e1a65e533422158929824b7a8189f1c3aa0bc51586a82fa130bb465aa140def445a86b6d6331d6d98547d8da1a1c989b3d5e6b1f4b8278de9863cf8cfc30c776daad90dd4b9214295c9510d37a035c3c104c16d57b65ec0a816173ccb580e16b537948b3b21aa5fc56e78663b1b01c6623a977eb4aecde5d6aab6320be170f9cd5cbc6a520f32f23dd000116200faec4f04e7883abe9ccc482951384e7149cae39c6385ca17593a9cb2428fcb94eb6986b1a49b60f5fe43121423510d98bec37f700abe8adef9fd7e13321dcad201ae5a6033b59806f795bc0248e4c039e2f770635e1ceab3cfcee3f4c7ca68603b410cd9629d2391f38ec8576cee684aaf7e617d8da424c323124b28638b78e941933c7ebff9ab2d4a27069b83d82bdd694715be0a9145e30b9438d0e1b9fbae8ddf215f010ffff55926828d6a8f4c64c38370e5c3edc7385fef5acdbc4cbccb34352c8083b6a6d86246b940e7d19e98ee44c5b8d867d5b746061ba71d50c2d7ab4af66db6afcb1\nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878", + "7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 9\n# ps is all 0\nct = 556ea7b7b4ca2cee4cb4a386744b99cc7fea3ad359cac1f08fac0417e051ac35a704c051a14eb3031bfb25bed2c51e1967068b1927d595d40c6f9d5ee029db187993bffacd772075e9b16f8bfc0dbd5a18ff065cb6f99ed759d219f3e03baf53c6270c5ae1e66ecd4ca71e44bc8efa0292987c8caef2b464cf3a2fbadd12613ea60e0a5b5e0fd207388374d20f2be36e8332ba8b37e20b8f461b87afa253a34cd7eb3314de4c3a6427acb27429cb1536f3171224c84e05f81537a75e6ec28a82ac6fe21af38c26831a9e7cde61dc7f3e0992170284e99518a3048ce6c4d687a3ecbaa8ed0244371343bd935a05be103d255a2162c7b914b99731f8b2fe088994e6c616611b12cf5f5f6077e3d18bd435aaf0aaa53ed40c023b8d2d13fb190fdc2022049c6fe4b6eb66f0bf6a36e81c8a920c53bfa9c93b51f8b2659051e445c9b816c02e2072024227470f10da398e35679e114795053d2f96c3fb033cbdbb0b2e31447584c35abd60875ffcc1bfb24f892ef213f507b8eb63460df382c6c507c6ed17ebbe049501ba62f53b499ff31d2c04a242f7e16e312439baca228130c3874e36c84c5872ebe774e3dd25dbe6b5aff945cb0399f742d200be7057375538701c3d5101feee7b02159ded185eeeaaedb72ca1d4189ad165b290b6b3261b0cbf74a87e1796c1b128a7d8bde89e189917215cc013add1c07f8eb1de069ce048\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 10\n# ps is all 1\nct = 2e6309334d66e15e8cbe39a9cd2c3c6d8f19d49f017d87abb99dd4b32135968586766bea12529f6eb01da0a1902793ab8fb656e7df70b5de12548670583a75d68eb6bd36357fd326d07aa4f1c690af4a4b6189cc2de456d163eccee06ecedf4f41a0288eec24c2e3abfbae9ffa349d578594bef818268925dcb294ee9066355b061513defe161749a2469abf3ffaa28d537d55a71a7910e4b29836298f9ea464bd327d33d33967029b1731c742cfb8d4a6fde07bf28789e2a2590d084f7330b52c9ed8870922dec327237b1ee9178dc611bff14380b330ef94e677a40c81c61368b1eeef2ca753b90861bb4421f7da836516378eaad2ab7f80e2642b84f66fb0acd62807f9673b8d975db172958d54528c915116257a5ee2fce3160253190511bcecd7262435fed8ad1a11ddc8bf0ece11333b01a3087f40beb1c4d112c2eeaa46f3c7cc843526ac0abf0104c94c8be9e54ec285ad5703ef1514fd210cfdaa6b2cd2e9d39bacfc338739ada8982b5b6af683ec8c2bc902bc9bc4c9d5ca6199fed502481d86f2a6f9dd23f3f8eeda71cbaf90b51a50f5c6280aec08469fb45447ab4878cfca86ef78daa0b618b9af3c16fc9e4402520b7fb3abbf3086a2ecefe84a10406b879e410fd46c518760059e37f56befef10590593cb4707a0605c056051956fcb9d95f36d4f3852cb15aae172578f73522f966d077a9d8d98d316b664\nmsg = 54657374\nresult = valid\n\n# tcId = 11\n# rsa_sslv23_padding\nct = 80e0480b11f19fbef3551fb123a4fd968d5e5ff64c88c1c2b70546570eb585d5b119f9d511fb15ab3e25b1dcee9fd3f337f949377af431df9ea9b60c07225da87ba0d61c0f7a99aeb130b09c294e0d49caf3854a65fa98be5644457cba4e5591b0f0434932b787e0573354932a6a9f0e3355524121b04fbb8fb5e4a787fa509a7fa946aaa34e91c16827a65639b06737bb1a9fd5b85c85c58b116cdb2a900142ff1886292de9d4d944edcaf4e98aa28560bd6d35b4d64f0c7e72c1b572883581ec8e479a836bc2fc55c49f8ae50a9118a81597ac5e0b31035aeb0cef1e5327df6ec7179ff461b6f157c690bdcdb9937fee7e8355384667cc7a69856f6e86457eab8d87ea8be33e5f684184001319fdacafdd20b90e2e03863bda108c349de950377fc11f20ee32f481d74fb656449c309459a0d296124f726519a73c2a5b41bff6779d91ae9b47c6091e695ee7bfc59ecfe123e4d0327a3cb5b04cf0a998487afc20a3d0aacde87a080481ae0455796c5273815cd2b2d76edc7c9558be1ea2840a17584941b3c86acd32967a64bd1295a94d3ab34cfc67b2cd27900898bf461453a8716c8820ac8e6e9880a3eee38b196d9af46a3ff7abd2354e1a5f654a1dc1ce45cb4902988e3e14d78d78f96f59ca20eb5cfccb2767e937a55acb7dec407f96f6e5f6345daaca1e8b11a72a599515e08a96dcdfe2a8b8dabc0a4dcac4cabd\nmsg = 54657374\nresult = valid\n\n# tcId = 12\n# byte 0 of ps is 0\nct = 4a7a03202b982309bcf2f99d30cd0bebe24b43800e3bef58abbc11e865ec2bceed4d25ae1aa95750d267233c5db0860e48228a4fd8c2953fca6bc7aef959729a7d35c9af4868fe63303ba4f00a8fef777eecab7baeb5d9db61c4a7581eb0c12c887ab6ee59f6d0d8ad044c64c39e344db3f2fb7906af25dbc1263d9ee3baee8ff46a49fec4d893425bb22ccfdf7bd86adb23b3171ee653bd129c042c60d049730a28cd9ca83ccc8d8838341701f545503f3e356bbd4ce269f455c9800a1e03228880edb0590136ec3982b33a4f561607d00eaf9ddf68b67f18808c485f7d2001712ca5e62ada62d3bb575e612cd2e94bd88e831026eb7a23cff7f3be1bb320d853202039b0f59dde8211f9c65494335e99b9049b5ca356dde17f3be1688e6cfd232271474065124a8b55186500bc42ba4d6dfab381d5dab6d7ee1e7305e9ee93f1202a9b8dc6a9b7f69034d9de54d112891a053223b8489ee5b24238629ddf6b5d78ec366fd0b00dc612c5751248108106a80676a3137cfe96008342696ae59c369c7364fb070fb0a5af3ff548f119c88f2a7059ef880d0d135b085918d48a377027f78c72ac6b4eacb869c8bf86135d459cd07202945b97873228fb280ef770fd317ad5b2d36925826d786bdc9fbb760d3907d3ef826a6ea47b0eac1ef709b7efacd40acf51339ebe4b99702e084bb6a15f070d409df7e7fc802e0e6a988a05\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 13\n# byte 1 of ps is 0\nct = 05256ddf55991cf3e74b8fb8b3172db6e327f15c2cf13830fd169716f7e5e717147f91602814e4e7b38ec9bb7fb5b5b60895a89a949d835398ee6798857e05857438ec27dcc897a777b85d420146e5a0f0ff64b23979b9626bf6a34a8e01658fc143eb9d6fdfe1dc878363b038e7f2d91a7f50854684f7bf2ccbf042477b9c6c50b8146f594800a5b907f04fcd03220bc25260748b24f6281d3fd939b51d2d694fa76941b8873c0c70311fec77bff5b0752dcaf86a8a041a29c5ed35b0a96bfe6f82754cd2d173763f9753dcda7f5651ec40e1da282c01bb0be7b5faa390fd134b05af61b3fbd83b0ddf0060015843aed03bb79a11ec906766a6fc82fc28016165b7e5f9c9b913d52eb0e1862209b9cc6950b5d47c21c3fd0673d0d7aa281ca5ec3a36cd9a4570419a29820c75307bdaf0012b68579a6ae9e832825f47ead6b6af0a1724ba7679a88233082b65862bf1fb76656b0ed76dd758470b00c147965b4ee233275476e9030ed301dcd19cbf7ddfeaecad3d17d7129c4e9b4352422a3d2b812d09e829d5d8c2e41f6aa10664824cf0d3b4597aa2cc137f05df672f17f0a345739c93f2cd583bc4ed5dc2bc7295d89c0d986eb88ecf5732a87fb8a10fb449fb3f5da74952511bf2ce03bd74db026b76df93b816a64b4372b33e873226681204022fc945d9c2909982e6517ec2157f57f4a36cbfadab9ba6c8589eb03310\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 14\n# byte 7 of ps is 0\nct = 9ea6991124c047788b4ce768614edc52cb1bf88865f80a7b7bbbc435c1389625a085a5030338856527d86f0fa9363101a7800d7e61dbc081d5839bc679728403bf028a22cebbfd2c9984d581ca79cbdd2e9962fae64a5bd3b2a8d419cb39fbbe2df7b8a9b4e7c603ae1cd923cea1da1561beeefa680d5bb36fe9822ce12e1c88498c2273b76646918353c663f91a2f54432cb3fdbc5c7191ec5b8412da54ea45616c4125775dba29930c36a12522ff3af5eb628d2fcef30b887114ab5908fba3ace7b7c71b101ab1fe311653997a50de08b7a3e92d50eeba2064e9162c13eee23b9fad9ec00bd62e62835745547afeb8fc1fa5af5a8be060bab8e4e2fa2664f62c8956ad4d20dd27932e57aa44eac7a86b867c4ff6e049981109c84585bdb50c31e6064dc4c592cb1796ab059849db5698e1956c38f0e07257fbadda137b57f03b8dbd3d6d5e4c06474bde194cfb7d671ca3d2f99b827af954cbf0c0dfff8cd63af75f7e01b6630798a00cc01676b0cdaff74cb270c216282906931a7daf29a4ef8034407e186f2f9dbeac1f712e8bb7b1a4b121e045e9547d15ef1ba1d8015f1d19a3be353f7a82a88c130352b8cfeaaaab871902fa5f68c852931b4a014e4fe3644861f276a6c17adbaffaa7cd23c223c4e54e2b85b46204b66a3c447b4db722e6a9dc0c61ce29407a4d246a2fe8386cdfe99732316026a2c632afe5084297\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 15\n# ps truncated\nct = 1427b2364dedf9b33b1cf70f8823b60a2686520f904e89247bc6b5b682170fd152554f862ca64234345bb83b118539eaa4c0b7fc46e21d2fbc7eb5bb26ade5464a7723f8d44c8d0a88e1d1d7fca1717adca7207b55c5b52457c8aa2c6d9a19e07e04ca09ac39301512aa66d61c5363898138d1f390af651cf230fdd8cc691d3c69dece67e4d9301b74b1cf6fe7aebe6626d49f47ea33e5861ba4c5bc0a24f506b4afc959e33733fef1ef7a207c29c610ceb9ae53f7080a84491bd12d609ed216445ee54315915b892561efdb1781150fe9c243af8800c7edb8466da8e4d0240c0f627ec2106326805cbdd845b30ac35dd46692ec964f6696adedf72948474255d50505acfc1f4be6f9b300708861f2b9f9796b0d488ffabd14f6750e67477c59a0abf21f066388b0cd1133c90dec0bfccf45f34f777748ca8687f3268c9b32d0552588df9fc496f29d7a9152d23b8b51203cf151c612fe183432ace03fba2fe5068d749463e50bfc09912220a618f650afe592e3bc4c7314e6d9a12aea44ac0b50d79c8b9393b0df70150af7da499a9c2d1ea3dce363305c21f3ece8f3880919bb57e764760ff7863c184c043be1c8de30b177e1bcd5cecb5e804d1ee96fc823f7cf2bc3159381c78a49879407191998ca759cf30eb503783f88ea157970ddc6ba7569e1362cbb99eb45b6578f142df5f1cbbcf2a713729c2a0117781f8509df\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 16\n# ps missing\nct = a4dfae8779a11c4254a59", + "c7c5eb08e2ccf9d28692c2df4902184e69146c57724fa0a4b2701435fdb7dea14cd5bfdafda49400370368f85d3929b243fbebfcd71e5ba5f1d3d45cb1e5ca53194b4e5c98f1a78aef3c48c52a4d36ab7888b161bb546dbf5f69f661ea0599073b7553d53476c1bf9fa7b35f9407ad06b14c5c7c678df93302ba9f3e4e8751ed4bbfafc5851ae29bb717ac26e4236dc789438f01d7b54db01e522f16e1f4ad8613249316969967f197db0ee4edb7e08ada8af5b43c5d224b11bb7985c5d1a8ec425f6b4bd6c292d0a320217dcbb8c805ace1594fa608e19578b447ae6fcdbd8f65a79b1fc783914e4e37f125334266295bac67dc62c8ec15998fbac882a96a9bde25da381b43a85488a634f61052100d795d71c7d24976cbfbe3ebe169389b17a68a8940d81c81dd11f62f9d26ed80ef40be0cbc70150c08291b3c1c72767fe22b3b7ab9d9d67ab058ce05451baaef3b066851ec4e1efc631244ae13a720fcf2a19d048317efce23ab2ff42226426f88e0235ff1d29df1e0ea9cb3c499327bcc1c999bbe5ebaed916b97fb62d727c65d43d61d13e81441538058b64c2b19f2f4c9646b516fb287427b5fd9b7eae36e84e0b71830130363862a269217a0d7a10dc602f5eac5b2d0f655a8493791eef41d4265ba3af34762658e085f1ca82c710727c5802c0bd55ed1a1bd89a29092f1ce750a261a4b9\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 17\n# Block type = 0\nct = 707bba45b2e345895f4d6e5ff7ddfd5270354f1940b4c518a6ec0e0b47d9b52cfcac908bee3fc8161634492720f2118c5e732cadb6b4938c9b28754104abe22d9e7d279431d833a8cf46e6689d02ef41df19d8ea803850899bb22a648cb8bd7b38d820a708a762f44fc7ce8507aa5a039d161d93ef287789a1829ea4d39af8a561862ae23540bdd6405f8e58f4aaf32ccf5c7e4274b1d8ea5ff5f797063985483e0de2e60982a5731b5ed18a5fabfc84e7c9b7803b53b94a8f5db17c27ceb889a1348c423e27e328fe370c419d21bb0cc806fd36a4680a84d7d56120ed3da0439eb193173e5cb58e7749a7968a4e62af8a391ab47f2e32c35311d89a42f42f8afa07e4765b67db5d88195fac81e1248a780e9f0d4e9e5cea61d73b7fd06d06232425e620656eeb194f7917461346468687ba7eb7dc28d8f9a42ae1faf1a74a1e3af1f5d7c4fb9b6abc6441cae2775caf5923421eff11f6231af82e025b6889171348c9e66b151543f1e4eb0dcd41890545b753da2d58e1bb22e189397535482bd8ac280156982994323e20f2b82f287f541680551586e8e3103371cbb0db9c8661dcd07de1a3c49c2ba5d4d4f004ed63320a798218c1fdabeb491cbc438a82681bd9f5401344909d2aa4ae7a8d33fa1eaed419d2a37b360e7f32025d8cad01598b8859b63418b9bf09d1cabde9492361e09363fc7eea0d91ff9417002b79a57f\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 18\n# Block type = 1\nct = df0eab1982ae5ab79765bbcc8daaf43d4659e90aee060268880a84e941881940bfe16ab93091c930b5702f253289687f7988f0313cfeeaa8a812969b8d8edb59fb585138f8ca28f2d31fcfed2ff30c980bc2b7d201bbe63bb5bad0793e3c129f8a3191405db10b6ebc57d69dc7f384cddcd3c2ba9f58298eb20c9c4c046a47bf9e6e03970c902d55db16c704b4950f86d1d7dd887d21a806a9f60531bb1d8ef7a5ce2285cb0121ddc850d41ee8436a136eccdaf668de86004da1a4cb620a51be9b3428798b594d34f3a174638b5ae0ea768046cda32618a6008162bc9624f0c801e36886079fbf55ae9f54882aca0173c7b90a45733b424b19638e535837993cb384c20ee3d4b38c98829ddd49dfe9465165ae9c9cd24de6a911c231dfa4d7f0ba303b2579cd19f9e32c6a3df496d1c3b14610fb04152b63b7e27dc2d5ab78e0584504be5d3f0c755d47155c0ba6b63dbe2bc2d254936c376de40e66b72daf593641afbf544aa7b8c6d0ec464d50238ab3224696c96138965ebf6442113fc35edaf48ca170c405e1a21824974aac27208f3e60c6f34d7a86b4668360423d340b91ae1a41eb0922e844c40740c06f2e913c1af6f583dc8042fbcb8ab23b7e2e2dc1314f52a892707202b4e2558b92778ccd64df2ca0de190a5f0a33c1382b968ba6d24e9bf9caa890bc87749f83f5845b59b794872a7678df60d8b83fc1d0e597\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 19\n# Block type = 0xff\nct = cf235509adc3f706ff62e42283e0fdc37e68d2a54da87d5f895b999f8de638bd3b111159fd18a4ed6069232a091ebaadd797ca7fc2aca6af704f94f50388f7d493fb8956662808421160e231495ffac55d5988426df0b839411a60e3910baa40e48361b95412bf9bb85d07c3e1397d0642f2b0dffa030fb6509ac5bb2518f1f59bf3f07e0c44d4e5a574ae785f4d536b01af5e2897b655139c3d32ad68d729b40bb1969673f8fcc2fc175cfb6fb6fc224ed7f1a6a8bf3115445775f903203e61708c665a3fb23abf6fc0b04bb65e1da5b87e754ccbe3717975feca472113e83a63d086b61301b8fc8d41cb6ee6954d647b93d2d0f1bee5415aefaa765d3e7cb98737c17dac862d5d4c3f540f8187d5b7f0c4ca550f326f5cfb9ef20407042dbfeef5fbe0f6e0ff913bf90a86277ee961c62424e9a40ef3f3c82fd0f64f5a60f37d4bc9fcd9e29bd8803b5ecf8382f29ba4ec2d75258fa362b453f36f87358e0e9ddf293c580193028789976040bbafe334eb3c2804cad592cf4a2f79e9bcf58d94074870e9a9ef85b5f8fc9c93d896f56e632f6b3d72fa254e86d2974b11e300238e60bb8047106700b26e1989d2c221140955e449753fb0199e53c880361eeb120136fdbff103e273be564d7e4137d4652351efaef776b66c32ba7a44211100c7b1a8c61a31a8890ab3766d71f3ae76f1c6e32cee8a458800e0e408583171f1\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 20\n# First byte is not zero\nct = 95e686fa469e3557da1f427b01a339cd50b6aef726395bab94b06d437e2ca546f01a2f2e86d725eae2103c2fdcaf1176c27af6a27035f3584ddf87ca80bbb050ec15b787223ec6f371e33360dd7e95dc00760a601cb2002473946d39d184969430958241ee61f6433d65a1d7669e4368a6d8a1e1e4aa8e4ea381bf65f9bc90147a58d93ae4c116a258e39a6edf2294a46ba15f526264acd122f99b9d3cd95be9c0ca68b3d564e8788f18855fddf3bbf16ba0cf2de3dcba19af3ef178a8e979620374daf2984d5b2b9947c3a52fe13787b24f8a33a6b2ac6c9d31b02dac3314532e9ccd628536e004975a1c13c93547f10aa668a778c1c8cd81f29597859477dae5e7efdde607087ce5150a2e1cd04a7bd76aba1ffce0d87c33e70c425281cb1e4fe5f8a809032d45c41a8a80be6b87d9e70deea2daefcf46d9b6f4539c819a49cedc57b61d0c89fc40966e4d1bcd9af1d7cb833addcb411fbe4ccb308eb56ab9b015c020259d69619388fd7507698b3a82e9a6ad371544bf6808192ee7cc5574af65a3f6ef85210b7b1adef214c0203592db76b701ee7fe90924fe0c8c6eb8e9f5daee181fa85f0ac7d16409e2422fd8b3bf87e161500f5bb85eeda697950096334eac21a670a90f876196899a4d75dca376d7ae1976a2cf315fa378e11251090b2aeec39dd1488701dd6c44f268e5210aacdcf1b3fd41bfeb9db1550cedee6b\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 21\n# First byte is not zero\nct = 35bdd33443b580355fc6b702071420b4864612e05267189e46bfe097fb82ff1cee6fde5e28d4073c6086693e71b0d3c293c3bdfb926ba066cd9666aea3bdb1b355032acf2ca17624ad238003ee9509a7075e0811fbd6c4a974c3647250a55f9242fe76a846d2084494716e31127fd53bcc831b526535fccf4948c804c3d3c5982f0c96fedf22069783f8b400677c133acc7b3d1b2085fbc2771760d40252cb6bf3ad74f783e785a6ed51ee605a44126f647cfe49494eac8507aaad1f8ac8257e85857750ad49c93cf7858145b2e1972bea43b4b0686656de9a26b18e9e3712a530f1879adddc659e2daa5e3026f2ee844c7169ddcfc69b41da1b5fe795d1451f7b474c03e3c4a490935056139195730d65aa54cf1a04e3832d016d0b273f8467ce1e3dbbe91eef57daf54f2bb03a403f042922fd96fa1e47e1a978cc73c04f6d117535702c7d2495cd5f141a40c9cbee87f07075821633e95e5a2138b726b4c85cf4fba92ba1de5891b916ddef440456359e81accf0617102db68ce9e3afde9c082765793c59e772c76d91aa28d032799dc775594a6b37ebd74fd84123ccadd2f381db7b75c50245148613cf3033f2bc1f5230ea327134f003b35204e0678dd7f7416c94e6d597ea0386d74fb9a01f5da1fc866be93765005509e99dc268aad4ca51368b76fc74730f3389b120062251e1a570be4a78e0cc5949574de70bd475\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 22\n# signature padding\nct = c1ea62891db699a2a08ea5d01180afb732b2b0ce09d3d0a58a73bb2bf14f6bb7add66629fe97101a2057030a6b7b78fa206754866db2d36b2a03a7616c3854f8aab9edee7a0973274d7e15e7fc1bffa3d182fba69f2939492079f85008b9fa4b29e27ee10e3da8b17d4faf0025dde27677987d4efd558d955b8b9ae6b80a7ed7b7b087b40a2cab3554635b40c322a333240a15c47c7f06130f1630b85a15858d905336d29f1e16c0e0277f64dcb19905a69be4f00a969504368a8deb0090454cc0789948bf171abd83327e825bde69662e2d7bbfb181d64651be0fcc31b787c9a198ccc4281dd0755af5569a439e253904d137d3d69b57987a57565dc941b78547863c449defab34a02794f348fbf030a2c339212d36a65e7dd108a60092246ab714b81915fa14bfe3726710aae81814e53940c4f12a0fd14523767487065a0386b6f116266f3ab6bf974b51e18c74f6292f05b77b5662e21ebebd6c52d52db23334d6ac200fd5e5b29034c0cf078a3caf371def45a0ed1d23c2d0513613099b7c81d9dfb24253a80e79dbf9aa945da731dd05596eb06ea98ec8b78e0d0f7994dffdaf326da10b1b098e0f2b2cc74bbd1a567b2cdc91e56b3c6379d29609b56727a5205528877bc31d91909b723e9a56ad73ba15c7bb4a37f8777e53a91f95e1a532bd393eb892bda82f4222030cf4fb3e72f45ae7e4af23ec5165295245da32\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 23\n# no zero after padding\nct = 80bb9627f37ef2eccf2a823fce1d317359c85b154d49e7a4bf712354449936e1bab0332ad6b37e48fb1d3466afde77ba5ced23fa82e9a2c966f05ac17b12c76b134d364b61b895f5048ce30dba4ce477b5606681d7b43ef8dcc2884dd0e806a0df70cabb2cbc13dce5df45121137586c8f956a7bfe8f43bd0ea1cc01a38e510cdf79dc4a866673c2305b423d1cf3df43eca9d914854286b20f950cfab3788e735fb7a4727c66c5d5b95ad587", + "4b4a6dfe65b4ce2d46a87a25a511c08a06128dd67a5dccf6cf3fa099b5c5ff7de6c838289f835da8136aca1a8b4752ea6cd6c10a692179c2c37ade1617515e849c1f6cb5e61b237cd23386329ff81404e3b8e9220bb0759f6c612426dfcf947724b4b670dbfa2b73a7bb77235e259edd7107640bbbbe0c03eb2455051191f581a2aef36ac29465ee1cb0e8dfbddf73ffd7ee50b3a2ba3030182a8ed2aec8c4a80b0c4f4ed3f8ff041352c68b454206fc3add8d83113021c5bdd9326004d40b540ef4a398b23148ff12513389d26e4bac485f1c764b6f2e3ddbc369d135e4b7175a2e843c8d61021a28bdf98f27502ebcec5a4b9f5ffdec2f4791ab5188876fac0f4ee0648d7a372252db62114efae4f23b9c08a86255455ecffa9eb0bd3189ad67990b361022248f4bbad279f4f21b1f33506f44042e5c1c13f4046b698fbbf98f50a80e7d49a19ebd9abb239f6dee93a182be92\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 24\n# no padding\nct = 917f6404f9aad28b2e68c5a6d8d89d31a5d963f55c5b30e2e2321182559b9b423d5ccae88048218facf40f308b735d4f745ce7e732f171ab180fb032cf2093bbaf4b3fecf0ed91004d8bce098e1de279a8a4d0617a804bcf8b51d37ebd5b0568b5c18a69665ac2032871593e70d3ea98729dc93417cffa008b3bf078ae06e0697f7d885f13f9aae20c8cd1d8fd2ae849fe5627577698f15b4a306e7dee3ba2993ad07f285e63bee6761de354bb1064fc63f919ff9dec0bd455b1bca7045b1b246fee11678c40064e1201a8e1595326ce6355383c43e53d734a4bbe794cbdd59c873d61270352982d2ad3e8b8b2a238142d24dfe4a52744457ff443516eb9fd172b3b1b9724fdc205ee28b5dde56b0d885dff7075bfe44a1b52b0a504b9c644349b4ab88ff2399140ab15065a884de40ef60b3d244d3c270857aba121b73ec9694b46673c2d47ee20b528e777be85589008431e7ec5e5c069703cf42aa3f147150f4ac820e4fc6625955ebcbee13620d9520f06527397cc64794ebe0fbb3f56967f8d516be96c5892c9d08aef8b082e0bd31c4c6396bd3e8f243c110ea7295ab09fddde9c94d641752f81be4e45c04a00dc50e6e31ecd9489eaac6c20668d8e62717207c0e8e1e0759ee43d89956e09dcb10ce8e5ce1bc8b50282b8f55170c4379c1a23aabf2c14e3e1c29baf3f5945d240b9b3b858028398b271dad715e7c79e\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 25\n# m = 2\nct = e114ae9a713e4cadce8bdc80667f94aa597788d8ffef3ba74efcb8f8a27220639472e1578a29cdd6306c1ae9ea46312fd6920fdea904ed8cedc4f29169f08b7289a156bd5524b4360f990d87c4c8151c3bbafd970a5002c2279c0ddc126e38c55b5f81dada719055709dcd7ad81e8cc80e88dfc1421b2908735932029fa674df66312d85042008c4f481af12d35b987410fbc9e4c80600130a34e98c97478e4898c5db12dce12996a504e82e9a07b6fde28da9e3424af576ad51bafd68132e7993d223a3aff2a08afdf91c522bc1285cfdfc3479a83a7e45767e87144ff024703404033c7322fd0dde78d60fa1a599e693391dbe0d47d3253e32145d75ce8cd4c538cbbaecfeb52c4f716f90b0bc56f95b14a640c6255ce8b2ee04382c4ac132320b457f1c7f3be49ac8848fc449a09cd172dbe0b693d05a2c5d5d571df3b656f624df6371f1d453f59866f4808e14e0259b7db5587b61806753cd0528950d0f58a0f3da11f0714b449dbcb107f8712d467f2a844bad514c54f5e12cfb57acbe1b3130fb9990b18440777d77141337e0f80398f112f873dba5a9ab0adf899b98176b4af7218ec004b452f9a3bcb353f3141976ec92d2f484152a33713a1b404f51523770b0cdf71956a198f511c4c2f4bbfb49623e113b83681b56f6d65db6b91381afd5ae129af4bbb6f5dd2d4086f1ea8e22aba3a930258861cb8f26853dba\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 26\n# m = n-2\nct = 14ed0f735b91fdf63c8717712b2e8317a05137dd8e8b3c39fce5a343d695aab99f340dea04ca4a7cc2c07d4f417f987f028a0a3658c0165dcad64c558b085fbb862e6d5e7b1155995af5a622aa47a906dcc0364442e4b3aaeaee7cddf7bc867b603d91fe07e3b51434dce45dedfcffe51f3fa5d86bf27c2bfabca8cb7c060717310694aa041be0ef773702d7e239e2b996445d79cec27182af3af787bace0f6737133bbc08f62010d6bea82bc4b5817d01b83f1b2ea679235b147e7a34dccd83ad835835eaf7c9ac1c722ec3da5479442dca61138c826282e45e366f4309ec5e964e1d60e2f66e95f3faf812ed79772aff7175201cbbc4736349ba6dd7f78339aa521d07774075bb1940b5ce577040953ab5aed48fcba91f702ef3c80f74bf4737f4ac65fc957dc42ef06fc681fc1949059323cc72d26f0381e0190e0d4e77ecfb198cb11f1733b1cd38bf95f4143c374e8c65854215b5dbcf1cec121d6b7ebec7313e0cd3023c2586a5eff4e87d8f798c9ea5a4c976ecb1844dbef46a8289bc504d1cb284423733f618b3096549eda40f6928d04ae174f740369c4785e01627bc2a8e60ca111e2da8e1337085bb1dfcc7ff1064cb80d966430a5eae586ae997f79c9926fb722dc96883c47b2f5ac4427d4d862c4c96b476c2ef5d867b085265076c3c8aa8787a671e0b85e831fe47440daf40c2192c7bcefcd8398e92c8128b\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 27\n# c = 0\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 28\n# c = 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 29\n# c = n-1\nct = f601be0dccd04aa40b12f3f191ae17c1f9c8c0b68e7a77e14be25c3c7907cb1d33a6ef418ef41852f32c98392bc5c9aed91c1a1501c503eab89b3ee6f4f8eb2e0fcfc41bd03609cf6a8eb3aa6f0fbe23187b33db4d34b66d128a8aba0a2abf40bb9d13d8e2554569a57ab1d8c61b8cad2dc88599ae0da5346e15dace1bac7bf69737c22f083be9b46bb8b1eab5957b2da740275e96c87195b96fe11452159dafcfd916cee5d749a77bc3905a5ebd387ae445e8fe70f16e9a086639779ceffbfd41557bd99aea6a371a6b4b160615a1a12bc6958d34bce0c85adcbd8392fa10ceca52209d56196ba3d273ce228f1f111192aa92de2a039798a17bcecb4dc6100e6f8ae8c2643f2ae768b2255f082c978e95ca551555f10608231cf8003bbf807969fff1e51914b9a8c9b8f4564645b9e5d705ffad29663f5dae3d76652b422e43f13e6c1491090805c2d1268a74a251177427e33a9a91175c3670b91746008bce1fd231e6e4f2ad70cb43aca5f07600a6d31dd02915243dfdd943a02165da367a6b7e4dae1dd2e8b836903080795d2585076cc1c15dd9e8d2e5e047526569b1bfd395d957eb9fde325d342d14426e71efdc1887515e53cdea5834921f928629e748eed097ac4024e2bf255d70411f87373948cf8e8aa7effa2b0ab47d5166091e1aedec60568b155bd9c27bc55f3ece35f83d636dbcd5abf4853a051db94d5044\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 30\n# ciphertext is empty\nct = \nmsg = 54657374\nresult = invalid\n\n# tcId = 31\n# prepended bytes to ciphertext\nct = 000004327a40b02bf671557124f963a57b3860e92cff62c439c0425b48b4346fc60c0ebf7a7584f94d34450d20cbd877c8d5dca12f517b486c2cccb8e1f467276ac03aadc94a97fcd224994d81672eb577cf0bbd6aa948d3dc4d7f06456f6650e5620435c078787db0f36124b292349ebe011ce54b3e932fac6525a37c793846a4f08ac3694d649f4a04e24e1f5e50f11a0492a68a509cf30e565ceb9931565b4aa5c3514b2ba87c4c0937ebcd6bb2b8248abb0970d30480059daea4c6ae556f6e91b25ffa5a4f723a9bf98a0bff668a1f0c799d3b0c85b19190dbfb5d894f84fa5d72d261dd2c09013dc0981cd0c46d7a08710801590aac8ff17b237387427ab3c6d6f2a59434b37f123bc7fc0a83d5ca5793540cba582e41b262859d36eabd0aa8203ca05d4c16aaf2a7b2bc7f251497d4c8f8654deae3cfffc5d3599ab4779585bf1673196", + "782075a91ee7c3296a2edc6ee6c30344dd0c0a82274ae17982eeb23eca5c39c7d11a2dd171c70108b0a33164fc175425586f714deb5552e90e561f7882211d3f01c07867256d0cca511e61b0cb51189d8e5124e8cacdab6042bd421447ffa7fe6cad8e7f17dd3e599bae061f85bb5181726d1c0c5bbf2c2a5c1e60f486a81782e58d90ccd5a769f98361765441de142bb0a7f7bd406a537d5be0c2773e847b1df1d49ac1daa963feec84954b72a695b74281159647a62a3c19acdda\nmsg = 54657374\nresult = invalid\n\n# tcId = 32\n# appended bytes to ciphertext\nct = 04327a40b02bf671557124f963a57b3860e92cff62c439c0425b48b4346fc60c0ebf7a7584f94d34450d20cbd877c8d5dca12f517b486c2cccb8e1f467276ac03aadc94a97fcd224994d81672eb577cf0bbd6aa948d3dc4d7f06456f6650e5620435c078787db0f36124b292349ebe011ce54b3e932fac6525a37c793846a4f08ac3694d649f4a04e24e1f5e50f11a0492a68a509cf30e565ceb9931565b4aa5c3514b2ba87c4c0937ebcd6bb2b8248abb0970d30480059daea4c6ae556f6e91b25ffa5a4f723a9bf98a0bff668a1f0c799d3b0c85b19190dbfb5d894f84fa5d72d261dd2c09013dc0981cd0c46d7a08710801590aac8ff17b237387427ab3c6d6f2a59434b37f123bc7fc0a83d5ca5793540cba582e41b262859d36eabd0aa8203ca05d4c16aaf2a7b2bc7f251497d4c8f8654deae3cfffc5d3599ab4779585bf1673196782075a91ee7c3296a2edc6ee6c30344dd0c0a82274ae17982eeb23eca5c39c7d11a2dd171c70108b0a33164fc175425586f714deb5552e90e561f7882211d3f01c07867256d0cca511e61b0cb51189d8e5124e8cacdab6042bd421447ffa7fe6cad8e7f17dd3e599bae061f85bb5181726d1c0c5bbf2c2a5c1e60f486a81782e58d90ccd5a769f98361765441de142bb0a7f7bd406a537d5be0c2773e847b1df1d49ac1daa963feec84954b72a695b74281159647a62a3c19acdda0000\nmsg = 54657374\nresult = invalid\n\n# tcId = 33\n# truncated ciphertext\nct = 327a40b02bf671557124f963a57b3860e92cff62c439c0425b48b4346fc60c0ebf7a7584f94d34450d20cbd877c8d5dca12f517b486c2cccb8e1f467276ac03aadc94a97fcd224994d81672eb577cf0bbd6aa948d3dc4d7f06456f6650e5620435c078787db0f36124b292349ebe011ce54b3e932fac6525a37c793846a4f08ac3694d649f4a04e24e1f5e50f11a0492a68a509cf30e565ceb9931565b4aa5c3514b2ba87c4c0937ebcd6bb2b8248abb0970d30480059daea4c6ae556f6e91b25ffa5a4f723a9bf98a0bff668a1f0c799d3b0c85b19190dbfb5d894f84fa5d72d261dd2c09013dc0981cd0c46d7a08710801590aac8ff17b237387427ab3c6d6f2a59434b37f123bc7fc0a83d5ca5793540cba582e41b262859d36eabd0aa8203ca05d4c16aaf2a7b2bc7f251497d4c8f8654deae3cfffc5d3599ab4779585bf1673196782075a91ee7c3296a2edc6ee6c30344dd0c0a82274ae17982eeb23eca5c39c7d11a2dd171c70108b0a33164fc175425586f714deb5552e90e561f7882211d3f01c07867256d0cca511e61b0cb51189d8e5124e8cacdab6042bd421447ffa7fe6cad8e7f17dd3e599bae061f85bb5181726d1c0c5bbf2c2a5c1e60f486a81782e58d90ccd5a769f98361765441de142bb0a7f7bd406a537d5be0c2773e847b1df1d49ac1daa963feec84954b72a695b74281159647a62a3c19acdda\nmsg = 54657374\nresult = invalid\n\n[d = 50dbf689c3f25e42535df0dd470817c10053e25b748ef4285927325b4f901ab899add6a34fe45af8651537b40eddf49514605dec9089d0b0471373cf8366bea6f314b073177c4a39d7e66b625598361f10af8b0e9c8e8a9ca3a1f6de2770d354eee61e3dbeb38b8578f901c09fd62a2893351f207f8decf4546dda12249217c8c2357b57f4d29a7452ea1ba0212e9013ce5919397be9be9abdde42bcccf21560470264d83d104369e1f1a08f58b8f6b5b873f28552e6603f9ad82a16bd865747aeb4d3ac7e105b2a49c19eeaa946588f96d601b279b1085e33becfbf15d8aea6accbe4ec0408b9a343374ed408fdcc7f4792d735912ba76919be968db2f53c7ba334d0fa6c780eda7b36f437337b4734e8dccbb2e92cb0648cb7ee48e7343eade2efc0103a7aba8a3686793cc93f47a62adcd4dcfba7a22c4436638d4e8f50b4248287ead7c8cc9c7f5d8c00675ac06bc7fc8c5559c73c3d0fa79a70c5b1f49096b1901141629c52359600fe6520c2b3cab17dd81f0245a2b33855ffcc8a7db394815b6b77f4cf6b33319167df390252b7c99ea4abac002e0d50ae7c046d5631e1f023ab50b0517980eb0ca232bbc74b297acee280ac52b8aaf795b54c9f93b8c97ee6667d08ee798b0910a4038462ffccedf4ae65876afbcfa744f52a8340daeba2b670c0fbdd8d8f96fc95447d4ede3f9b624722f98cc4ec4aafde697822f9]\n[e = 010001]\n[keysize = 4096]\n[n = 00a30b62740e25aab01934ea6d9b92090cff2c0ce9831941eb98376a2daabda6afce254617f6dc579f97c299fa89ca5f746fe3693075a135774b703b008b8e884ea6ea25a5cc6b92f9b328d77139401090fae69ebe327b36636306ff8b4a13e6e75d43eb6cf856a888442a9e03a2bbc22d003fe97c73fde4a3a6db1c56e1d5c8fb5e5c937d60e2752954a0bb194a2b84f50a12be183493b8035ff56b38f1b40ed3885cb864749342fb7d577ed5864bb42fd1b31e2d40e23c7192335c9a3fc6b2870c9f3fb3037cf21c6cea27f39696f561ce0b60b5f0df94bf965e8364d8c1fc1ea69755ee65540e051c5402ac3d93a1c65853cbb4231b6619afb07b58e7c7898d2f0efeb119899ab7be7f5110e7ffcf97a226bc6df9b5ac7e21645369dfaf595d05694695e5dab014ed1b0686ae065743a4f97f15a92723990c69c88adf0427e3f5c35b5612d1038151e5e4e359de850e910b841b2d58c2febb5c773e707d171278f2e9b20d1f4fc05274f6043024ea644b8ed7cddf5d7f7a4036630ce3220eca913fcc4d3f63d8036a49a76c0b9c3d3d815f61d98c37c12791fe300fc39a9b05ff28a5c5f54070f029b5d4214e874912c392bd92e9c870a6707927a0df866d872dcfc7b0c133621ef1f1c01dc485920a66920a815cc35f4ceeda40e5dedef32aa65436ef360e4c10ec1c970c5990f6377ee16804c9f00f6a7a751c6fbce973d1]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100a30b62740e25aab01934ea6d9b92090cff2c0ce9831941eb98376a2daabda6afce254617f6dc579f97c299fa89ca5f746fe3693075a135774b703b008b8e884ea6ea25a5cc6b92f9b328d77139401090fae69ebe327b36636306ff8b4a13e6e75d43eb6cf856a888442a9e03a2bbc22d003fe97c73fde4a3a6db1c56e1d5c8fb5e5c937d60e2752954a0bb194a2b84f50a12be183493b8035ff56b38f1b40ed3885cb864749342fb7d577ed5864bb42fd1b31e2d40e23c7192335c9a3fc6b2870c9f3fb3037cf21c6cea27f39696f561ce0b60b5f0df94bf965e8364d8c1fc1ea69755ee65540e051c5402ac3d93a1c65853cbb4231b6619afb07b58e7c7898d2f0efeb119899ab7be7f5110e7ffcf97a226bc6df9b5ac7e21645369dfaf595d05694695e5dab014ed1b0686ae065743a4f97f15a92723990c69c88adf0427e3f5c35b5612d1038151e5e4e359de850e910b841b2d58c2febb5c773e707d171278f2e9b20d1f4fc05274f6043024ea644b8ed7cddf5d7f7a4036630ce3220eca913fcc4d3f63d8036a49a76c0b9c3d3d815f61d98c37c12791fe300fc39a9b05ff28a5c5f54070f029b5d4214e874912c392bd92e9c870a6707927a0df866d872dcfc7b0c133621ef1f1c01dc485920a66920a815cc35f4ceeda40e5dedef32aa65436ef360e4c10ec1c970c5990f6377ee16804c9f00f6a7a751c6fbce973d102030100010282020050dbf689c3f25e42535df0dd470817c10053e25b748ef4285927325b4f901ab899add6a34fe45af8651537b40eddf49514605dec9089d0b0471373cf8366bea6f314b073177c4a39d7e66b625598361f10af8b0e9c8e8a9ca3a1f6de2770d354eee61e3dbeb38b8578f901c09fd62a2893351f207f8decf4546dda12249217c8c2357b57f4d29a7452ea1ba0212e9013ce5919397be9be9abdde42bcccf21560470264d83d104369e1f1a08f58b8f6b5b873f28552e6603f9ad82a16bd865747aeb4d3ac7e105b2a49c19eeaa946588f96d601b279b1085e33becfbf15d8aea6accbe4ec0408b9a343374ed408fdcc7f4792d735912ba76919be968db2f53c7ba334d0fa6c780eda7b36f437337b4734e8dccbb2e92cb0648cb7ee48e7343eade2efc0103a7aba8a3686793cc93f47a62adcd4dcfba7a22c4436638d4e8f50b4248287ead7c8cc9c7f5d8c00675ac06bc7fc8c5559c73c3d0fa79a70c5b1f49096b1901141629c52359600fe6520c2b3cab17dd81f0245a2b33855ffcc8a7db394815b6b77f4cf6b33319167df390252b7c99ea4abac002e0d50ae7c046d5631e1f023ab50b0517980eb0ca232bbc74b297acee280ac52b8aaf795b54c9f93b8c97ee6667d08ee798b0910a4038462ffccedf4ae65876afbcfa744f52a8340daeba2b670c0fbdd8d8f96fc95447d4ede3f9b624722f98cc4ec4aafde697822f90282010100db20bff0f553dc176de86baae4b93ac95673c6f715bb3f11b848bec81de4a0df846121b6385aa256cb2a9e66996596a1b5b532257cbf078819b8bf3bbf7801441801abfe490ca84e5d7482ee6211f04d8304be122684d1dc8cdf72d14bf85bd760ec0d0f5030e5ef62a0ceb275a2d57d95f3d63e39e4d2a97db0e243793bf32e83030cc0a0bea38824e6d1188b41703cc29a4f60028d895ecf64a9ccb3b228c7e66cb1db316aed92433c63b0445f1cc03460e33440ed2a23f901eec8925e7671e302f7d226a5e741e82982e67c58419e22105319ceffce9bc26ed89f8b59042b2974f6097f423a22e2656702b8d8813a5fde557d6adb6e7fa4e58cf8f07769730282010100be7ac2633836593c891975dded137d40f9e18519f92333048f1181b0b9ec1207502f5c5f0d1cd58365bff3e80b350b01990b1ea85e263f8adf4b6a99eac132554855d255c2253bbaf722e41b893c81cc9933560068b226e147d459b9a73ef1af2ab96a2b39a9e401385a713a860abd3b6ad9157dd6c2508f1859cb84717d4d533a7ad0ae92734e085956c40a9fa612555e68247e672523868e06cdc23e62524537435a142924c7c466b2cc89ef281c230ae6fe123ae92489e383407e6db9e5a859f8f7d6e3a68bef914494420226fe4123049c324eb0dccce0b7ee1382fbb90b03d87aaad596d232be352d83e0a01bac664ffa948ffce419806b68029c50ecab0282010100abdb408e336a04b85f5ba46d901af1cf0c3d9b3317d915fac8c44cd4581582522ad99efdf1aeab995497e549644f3757365298b4abe48a7ca467af9ba56bf1da3cd5bad5a0e70b6d0280a95b5a90e51d757f17aed684deae91d181944277d357d4ccece530a858fd6925e356354a73139eb27139b6600f141cdec865d0c442d21cb01ca54aac", + "9946e26220659679c913ee2fe5c6cfd9bf7e1b3bc0ac29d6b58329e5df8ba07353459df3d3df5f9014d56d7efb5275054c42903d82cfcd73c683455e838c4f0158a0e8fafd8dd4c1c71cc56c76304c9775abd54ee81820cabca9394760db4bf25df4140921441242c2ff4c46ec5783a1fb44a2c7e1cb2f95079f0282010100ad74dccfbdc0c0428016cf5ee925764a554329121dee0fe776e15a58b4f664f483f09d0d71c3702bd7dc95201a14939140ecff5e135e813ed558b81ab1cc7d296c55bad49d978a6d17e08e19054034733c8fa3217c35bf722717191e174f1a8789408f8e0d54c86cd4048857e2f8a49a1712d89f5f925409fb02ca72316709a360fdb64b42d1fd9d5cbdc6886619b55848404dfb4db2644783ce6e5114be346d138621e17a16245495b0fcd21f17478821c57858e18cadd9637582a59f064a3ca4b233ff5c0fae1edb0ab877e3bdde8b32786044efa3df6e32b54bf838af4232e5ad9d0734b9c370b2057b0d3ce09052ce58c6b7c2e7685050c17e55e2434f4102820101009479c2cb8bcf71d5edbdc4f65240ce586e906ab636320420cf1906170d3af01f767fcab768880628ec27953589454a0294409f78127666f45ec07d38139b4445c7638fb39dc18a91af5d9c28ecb47f9cebb1ce19e48dcbe261056eecc107f6d3ca715f3747af24e6ae6a658c434a68cec6ad84664c88167cc25567b0cac2302ab109c66bd339be5158c67472a01a81e9cf19dee2762bbe9b0eafdcbb96991070d956db3007cb2b4d2b0acef96a233ff8ddedb970c11c0987f1b3bc1ec8b1d95a7e10644c94fe6fb670d363869496d0e25ccd9564f283f55982f9c75108c470c81bf3b8f28c7e8533683d4945b538c4d683083610a7579f9e8dd1e0c8b15c5b8e]\n\n# tcId = 34\n# edge case for ciphertext\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nmsg = 1061f29b99666e0047073d0956f9c8131c6285024f8de92af08f2256bcd4c33efe91fb5c9714d370cdd7476200706561fd65f95da0ceae1343c6b7c767c61ba6084b68ac52a120d1da040d2f2b64e607ef0aeff68c66368d99894695ce299bb2d566bfe42f805a14e618e5a6b53589f209ce8cc4756262fdbb69bd165fdf21e05955cb790b877a322e586ea155b660e5fda3b800fdf9fa38c0ef7d305c863a44dc33930d6a0c9e24eb5a85d1047a267760c0adc173779d2c2c63bba1621a9b02739f7f9dc4a84fdfd3b520aa62e517c0686d1e36cf95afc3c41b92f0d3c6b6c696f55b85594b30eab8dd10c3f9c730ea484426aabf1bb90bff491b77ddac7386767d8f2067f19977cd60d8be3874a8fe7cec3732bcdca051c099380a04\nresult = valid\n\n[d = 57264d0abd86617d2e3590bedbbefc316d2595df64bad5c7ea8915dd4a2fd057ae4b4715eb8f0e0522c864af4de77146d798effe4f018004a4b1132f9ee48f473b37516f55ee18ba596913da599eae2579c39fcd4c2284f9cdadca5d526fb68b2de534bd31a811edefb5681c37c0eb2a3cfc5e83a56f3b10af1b43a792392f16b0f855bf9bf40219633b0213f3fd851bd0d22f0bd69c2442d88238d84c1f6404544a006a99f9c91cb6aebbb43dfc148d9e7db80306e54d613ec6c487b9b8ed634ce3b8d67c3b294b1cafce7f7303241252c02df0f4e87a3d5f9e6f1c0c26dd28071c3f505e48c1e589ed44a30a002efa31c252c505c4d1ea987ee58ac381ee3af95ae617c3e0a07ce24852747d449cbe2db73882edd3c2f5d72460f0e88f981abaf8f035de69abbb187e7ba4e403efec30589195d94852d106790d67f5966e6a4aa3b02b46d68c4345b28f8fb82465817e112f039d9a607053db6b230792b509be05d54fe38a601ec1af0a5df9255fc59575460cb2a4c95948c55877db94cae251ad7d057c2f82a04b1bcadedbe96f8c1eda7f5eb5497f48a00bceea2027d610283017f0650efd79faf90601c2f6f4d35025b798a2dff62439ffa425d8503fd7ade71038a534dd24234bbda0d4d4ddeace2551e4ef92862a7a5d42ffaf6cc4030c372462352b4062b9f6709d83a49912ee793769a44cc13359ba706e393beee1]\n[e = 010001]\n[keysize = 4096]\n[n = 00ae4a8f37d842dcfbab76d00d98c54ccb9f7f880bd50520f0fcde0d548ac809eed58a949812e9a781c394009f62aff39cc34c81fc760dc5d53216a766c68d42228c72e781b0b41a807a44f1731525baf1640ca2ef4c2271aede93b5c7627c8803a8d221fc44d973c6342ddeebc40b35a979a75062c65aa79536030d7975dbab311359c008e343af0c0e7890bba9344d617656266371c22eb53eb527e06a6db690965a4ffff4c8f309337216fd976a476a486d8b4b50a365ff80520554e72db181ae87515724c6b7f1ac2f25a1ec7d7c34fcd10e1e0d3aa9610e3364a763e842fcbc959a82d126fbc0a8a2fa94b2f3a62628e0658d1adf43e1c54be6e3b68a895151cbd4523c8b8e2a4998c20a4b84d1c3cb1bbe3b5ef1256e2710a5472ed8b4ab5426317dfd9e2d5ff527fec5fcd52ec0c35db8b3149d15a49971f740b0e94a3ded05010895be40c8bff8f79872cf481eefafe0b8253f9b12d8c3827cd74d9bfef90c292e2ba12baa7dfcfeb1a73084286e1dd28dc851282542bd5017850269f2c532a910b3f493671a27da9a521e019e3478830e49243c860a5559f9f7cc15d1f42185d6d33efe01b3d731166a7f989ab93e70c741bb943db682296a5be6ee0b02a6c48d3b10c0a822975f9806e33e89b90975d229947bfbcb35b1ef54535d8c249cb1241184c8c9d2db99cd949af9bd4138b3bed7000fde2648cd06e4f5d0d1]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100ae4a8f37d842dcfbab76d00d98c54ccb9f7f880bd50520f0fcde0d548ac809eed58a949812e9a781c394009f62aff39cc34c81fc760dc5d53216a766c68d42228c72e781b0b41a807a44f1731525baf1640ca2ef4c2271aede93b5c7627c8803a8d221fc44d973c6342ddeebc40b35a979a75062c65aa79536030d7975dbab311359c008e343af0c0e7890bba9344d617656266371c22eb53eb527e06a6db690965a4ffff4c8f309337216fd976a476a486d8b4b50a365ff80520554e72db181ae87515724c6b7f1ac2f25a1ec7d7c34fcd10e1e0d3aa9610e3364a763e842fcbc959a82d126fbc0a8a2fa94b2f3a62628e0658d1adf43e1c54be6e3b68a895151cbd4523c8b8e2a4998c20a4b84d1c3cb1bbe3b5ef1256e2710a5472ed8b4ab5426317dfd9e2d5ff527fec5fcd52ec0c35db8b3149d15a49971f740b0e94a3ded05010895be40c8bff8f79872cf481eefafe0b8253f9b12d8c3827cd74d9bfef90c292e2ba12baa7dfcfeb1a73084286e1dd28dc851282542bd5017850269f2c532a910b3f493671a27da9a521e019e3478830e49243c860a5559f9f7cc15d1f42185d6d33efe01b3d731166a7f989ab93e70c741bb943db682296a5be6ee0b02a6c48d3b10c0a822975f9806e33e89b90975d229947bfbcb35b1ef54535d8c249cb1241184c8c9d2db99cd949af9bd4138b3bed7000fde2648cd06e4f5d0d102030100010282020057264d0abd86617d2e3590bedbbefc316d2595df64bad5c7ea8915dd4a2fd057ae4b4715eb8f0e0522c864af4de77146d798effe4f018004a4b1132f9ee48f473b37516f55ee18ba596913da599eae2579c39fcd4c2284f9cdadca5d526fb68b2de534bd31a811edefb5681c37c0eb2a3cfc5e83a56f3b10af1b43a792392f16b0f855bf9bf40219633b0213f3fd851bd0d22f0bd69c2442d88238d84c1f6404544a006a99f9c91cb6aebbb43dfc148d9e7db80306e54d613ec6c487b9b8ed634ce3b8d67c3b294b1cafce7f7303241252c02df0f4e87a3d5f9e6f1c0c26dd28071c3f505e48c1e589ed44a30a002efa31c252c505c4d1ea987ee58ac381ee3af95ae617c3e0a07ce24852747d449cbe2db73882edd3c2f5d72460f0e88f981abaf8f035de69abbb187e7ba4e403efec30589195d94852d106790d67f5966e6a4aa3b02b46d68c4345b28f8fb82465817e112f039d9a607053db6b230792b509be05d54fe38a601ec1af0a5df9255fc59575460cb2a4c95948c55877db94cae251ad7d057c2f82a04b1bcadedbe96f8c1eda7f5eb5497f48a00bceea2027d610283017f0650efd79faf90601c2f6f4d35025b798a2dff62439ffa425d8503fd7ade71038a534dd24234bbda0d4d4ddeace2551e4ef92862a7a5d42ffaf6cc4030c372462352b4062b9f6709d83a49912ee793769a44cc13359ba706e393beee10282010100e531e0215cb9566bd549840ab5a816061a27dd49d0c08931c385f9ade92189674e02afd043d94b72a9ec85c1decdd670e780de58f3115f0220968777ae3363dc59fe426ac191d9ffe7f29c93b4970ca3e4782beab2126e040552c3559852e7a9795196fd9137fbc57d7fd8382b07b8ed982af39b4436b76c917c00da4549170ddea5f801f7cc28380f5b15292f5df899ee10c245cd7809daf6c7247e366925e9a534e9db91e2ef4f1538629d68de6ad4c5cfa7e4beeb6a8ead352506521a0bc8a33043b96782bd40d58d00f4f86d7ce43384665bea851235a3b35bd9498ae513c1024499fa458f57a52ec30df36885f11b1800eac4cf2e3d402df7778672bcc50282010100c2acdcffe8a54bb71ee22a3a457fc92be6503f0bc91a4f02643e38a07e994666f370761c4acb89892458ec4791a7e1ed74dcf27ceb44378dc29a210c37ac4a869056d3bf91a1cabfa43f7f9b9c74873e15063369df7f7fb020540d9d1fb7b8288a4f41326cad5f81fe6d969db49137c3395b9a4ba552f3da807ccfd4d541afd539abc72c71479912b7c5e5975496aabea2b11330c8ba954d4a5c7c56c7d2e9b86b2baabe0c521dc871618178a3b135f148cf63e361db7b7961dbe5dd8afaad3b58152219e39abe825fbe51fa1c2e25449ee869d452a82fe90de741c87725e023247b", + "07d4f6f8cf6fe103b43c42bbb4381558aa2e7d5a69fa8ed89e46e8509c9d0282010100b2b6874bbc5f903199282fdba1f624e63132f06c04687d11dea1f324566a9e177d4ebf04a843217f915c2a9817416d7ab0295e3701a183f1c6b359824ac52b92c061702c8a2f4e4b2af3947fe00b000233be389052b5e82f1e6f807c97bfdd7fda677252da0f4b349d3d38bde35fac2527c82617e5c2bc97dd8151b0e0e1b3264f7c1ebc7a1a292a3d5f0a4b08f23f4cd7c31d990c34138b376de4d8bd589405719aa6d75d141502174bd62963823acf1a4767650831cceedfc456d06ce87e53be5b7e136dd115fd1e074abdb990b617c2cbf47cab8b83bd6b9e097a8ecbccfff039f2801614734726382644148e6612b0cbb0bb5f2725a9010856b44e93dcf90282010002c57d3bf36eeefe03658ade5b80ef373dc724aea1454b9ca81aaea9b243b259e2db56031f1978b2c81eaff670df67fafe6feacfd6759928de7d5d3d1449d2a1c9ca42a776864c21a04ffb1c17051dabc796d80288d902d35a12784325617330b88f5a49427cd16043640201eac12a7f1000fad85ad92c798edcb804baa87dbd565dd8af0c49cda71390b0ad0fda39420f84dfd610f57f0ca3a35f6dc8d87ad5524943dc02c6e47fa70591574b5549844eda0cfcfeb6a6325b2f4b3d752e0e6b4adcba288e31f4c65c609440304883e54f31d5d7dcf961fd3a6271704e29eedff134032f87f890d371eba0943f0af70cd958f2cb48a391e0ac49ef2ee93dc48d0282010040e18da66705ea3272ad66eb8c89b65cb775728ef49ec3449f0a910496bf628d38e4b8a00db866612fcafd9efe8ae6ba215050a0d7d5b888576ab91306b4c83e7235c5f13ec7727ed574cdceb942d4851a953cef037e654a131182a18c322acf8ed88923b445582ebcce561c4a2b0930287fa000417f5f04187d827238dc052e52c2808c374a58e2689c77ed80fcfd972471c777ec02bb8903bc458853b71ff6644fbedea7a1a312dface74c8ddc4e4252aaff41140cb443ca66a5642a916298bcbf3480e0294f855b17536a796003e4de33af0577524813c56573c1edba4d667ba61a7dc048b784f324f227d02698b0f430714ac689232e30fdca287e7ee87e]\n\n# tcId = 35\n# edge case for ciphertext\nct = ae4a8f37d842dcfbab76d00d98c54ccb9f7f880bd50520f0fcde0d548ac809eed58a949812e9a781c394009f62aff39cc34c81fc760dc5d53216a766c68d42228c72e781b0b41a807a44f1731525baf1640ca2ef4c2271aede93b5c7627c8803a8d221fc44d973c6342ddeebc40b35a979a75062c65aa79536030d7975dbab311359c008e343af0c0e7890bba9344d617656266371c22eb53eb527e06a6db690965a4ffff4c8f309337216fd976a476a486d8b4b50a365ff80520554e72db181ae87515724c6b7f1ac2f25a1ec7d7c34fcd10e1e0d3aa9610e3364a763e842fcbc959a82d126fbc0a8a2fa94b2f3a62628e0658d1adf43e1c54be6e3b68a895151cbd4523c8b8e2a4998c20a4b84d1c3cb1bbe3b5ef1256e2710a5472ed8b4ab5426317dfd9e2d5ff527fec5fcd52ec0c35db8b3149d15a49971f740b0e94a3ded05010895be40c8bff8f79872cf481eefafe0b8253f9b12d8c3827cd74d9bfef90c292e2ba12baa7dfcfeb1a73084286e1dd28dc851282542bd5017850269f2c532a910b3f493671a27da9a521e019e3478830e49243c860a5559f9f7cc15d1f42185d6d33efe01b3d731166a7f989ab93e70c741bb943db682296a5be6ee0b02a6c48d3b10c0a822975f9806e33e89b90975d229947bfbcb35b1ef54535d8c249cb1241184c8c9d2db99cd949af9bd4138b3bed7000fde2648cd06e4f5d0cf\nmsg = e64266a37c810fdd0a9f349dbad2672d8744d00d528c28a5f152fddbea34d89ebfb6a841dfb65f0c6719575a8aaef764525fde3d759bbff64a1c5131031417f346e48564a01b59e517edb54f41aff7b4a59084d00984d3ead24745e247a7c5c6ebf1aee9dcd2dc0e676c3464793c01394f78b2f15f815c796a92eb1c581574e02df4eed96670c8604f336e1ab16d7ea37f9a19d7059d1078e505a40ef76491665c05141f57dc4c64bc35d4df1557b346b596a837913f69d88499c8426945cfc3d4cfe386eadcc572fb1ef337a964ce9db208cfe2f714fdbfa337f62ca9734e5654069fb9c6dc4a12407bfa50d310040317fc56829cf8bb536571bce62800bf225e2e2146b7678c52cc22f66a7aa27d9dd9506c99d6969b941d28fb055aa2d5f527c95f97f88bf1ff5c5a7b267a92d3acd29a225dcd7f748c5f171f936088633a7252eeadbdb7c479bd217e950c4e991392feebecfb09e1d4d4565cf3ae45a40c2901c91e2902e8b4008c17c749de0085368b569c51b349ecf8206411e1b0c12905780cb263fbeb5c912f1dd5ed63ccf8c3d189d302f307fa769abd845acd5a6798d339caa37d04acb7d5eaebd883be750333bdf5e6\nresult = valid\n\n[d = 59c7e0280c4341045e7b78027fb8348e90cb121011e913bc28425d95429e6adba7dae5b14ec72c34203c4b59e9727a861c3582f4da0b0744ab22a7c82e29b02ce7e4c8e9a2f923d8cee2a55af85e4a74fdb7db05c74d0a46a013ecc7443cfc974e8e0413480b2edd25d22da37b38a65c1a7c96cd551f30a14973b9ea64eaf12fb9d568d1b0ffa39c98f94b23de567cbf0c30248651e5a9a9b0e32e61f55a01716185514d31df24ce6ffada44970d4c4c8919c28f599aa8b9f4e110fbcd2c847fccf858a4a6f9f6ae8ebe778e359d9a0026cf03375ee55bc063c0f2cae80135ef2ce4b680ea0ea56f2f3c22fbb229d7f7aa7f5aa45c0e43783c89839bdca4d9e8a4d646a9f54ae748f3641a099ec73eda5c20aca7466dfe1ef8dfaf3feb02a1e1a4e7bd1b49cd6ad9466f540a95b6ebfa1cf759fdfbbbd3a89c3d61fc87fc30c227a381a25522bdf27114630948a5bed03227fdab50824e6c1295f32812e1529e3e36e6aef652c0a48c5adbaa8c515f9a96957d300b28b5fc5ae1edf6d12607c4380a5224ab56fc4da3a1cd04fbfb5d683097923563f283fccd87df003461c8e0f158a6d0103623f80f6488e41a519d17b345a09bd35eeaf9e78729f767ff5974e01bddccb0bd2d0091292a9e14cae3a9fdd92e2a0a420a75074ca9d5ea721d04ba999f85c329559901e30db0fe81779ae4c2ba1a33ce892a6356708cd1be3641]\n[e = 010001]\n[keysize = 4096]\n[n = 008e004efb4ea1c0d4ec2794a28f273ee2f23215f6e17c9cb628786fd90dc9aa685aafe4006c4b647a5b18115659fb543fe6458964a30144b975b3f3b5e5f6d8930aa962f70da2481fbf855a103f3920f66346ce88f906107b3b8c85b74d1b04275013e2a631c319d3b1b4a5b5ab4f5cd372b24942b95fbf8d4bc6969697b85edd3f6b8ab51b50dd34b0fae8ece7f80fc0651eac49c85f11452fd97189a611e276e30da25a9de4698ee4f28b9fba1fb3d8b0c8f0112d29a7cdc4ce89559e56420f2ec842039b10780edc7824a73d23693cec0d358aec7b3c0374ecb0b86c9d0fd7e245118e5fbc1607c9e6435110aa7b6cd36327a3385632026c017bd1d6894ba2e1c51d404051f38e6eeb70c56c7a09e2e12d3d746e7550dd1ae3e3186e36a84b91abf2e3e2dd988955f337521540b60d3501cd9bb82f6092f293d434d4ea67e96c7b7fc7868869a5a39558488ccb0d863e6ce5ad73c8d3a55402b0805b500c1d3483adaebc455fa1454a0bd560fbc7bea332fb5cd6b3814851237b253ed7dda42eeaa630736699dcbb5b4fc005b18119e59a381fda3df15909e44d55646b80917d37299e24ad209b57760b6b67afa97e76b4f06979eb22ce46b25a5248ea4da4cbac214181d92aba5d81ce547656aaebb22363e3f09ae93991c05380d5d5fdf6c47251eb9b8df080f1c63b470194e0542875ba8d1e33624d1898dd6a4579b5bb]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b3082092702010002820201008e004efb4ea1c0d4ec2794a28f273ee2f23215f6e17c9cb628786fd90dc9aa685aafe4006c4b647a5b18115659fb543fe6458964a30144b975b3f3b5e5f6d8930aa962f70da2481fbf855a103f3920f66346ce88f906107b3b8c85b74d1b04275013e2a631c319d3b1b4a5b5ab4f5cd372b24942b95fbf8d4bc6969697b85edd3f6b8ab51b50dd34b0fae8ece7f80fc0651eac49c85f11452fd97189a611e276e30da25a9de4698ee4f28b9fba1fb3d8b0c8f0112d29a7cdc4ce89559e56420f2ec842039b10780edc7824a73d23693cec0d358aec7b3c0374ecb0b86c9d0fd7e245118e5fbc1607c9e6435110aa7b6cd36327a3385632026c017bd1d6894ba2e1c51d404051f38e6eeb70c56c7a09e2e12d3d746e7550dd1ae3e3186e36a84b91abf2e3e2dd988955f337521540b60d3501cd9bb82f6092f293d434d4ea67e96c7b7fc7868869a5a39558488ccb0d863e6ce5ad73c8d3a55402b0805b500c1d3483adaebc455fa1454a0bd560fbc7bea332fb5cd6b3814851237b253ed7dda42eeaa630736699dcbb5b4fc005b18119e59a381fda3df15909e44d55646b80917d37299e24ad209b57760b6b67afa97e76b4f06979eb22ce46b25a5248ea4da4cbac214181d92aba5d81ce547656aaebb22363e3f09ae93991c05380d5d5fdf6c47251eb9b8df080f1c63b470194e0542875ba8d1e33624d1898dd6a4579b5bb02030100010282020059c7e0280c4341045e7b78027fb8348e90cb121011e913bc28425d95429e6adba7dae5b14ec72c34203c4b59e9727a861c3582f4da0b0744ab22a7c82e29b02ce7e4c8e9a2f923d8cee2a55af85e4a74fdb7db05c74d0a46a013ecc7443cfc974e8e0413480b2edd25d22da37b38a65c1a7c96cd551f30a14973b9ea64eaf12fb9d568d1b0ffa39c98f94b23de567cbf0c30248651e5a9a9b0e32e61f55a01716185514d31df24ce6ffada44970d4c4c8919c28f599aa8b9f4e110fbcd2c847fccf858a4a6f9f6ae8ebe778e359d9a0026cf03375ee55bc063c0f2cae80135ef2ce4b680ea0ea56f2f3c22fbb229d7f7aa7f5aa45c0e43783c89839bdca4d9e8a4d646a9f54ae748f3641a099ec73eda5c20aca7466dfe1ef8dfaf3feb02a1e1a4e7bd1b49cd6ad9466f540a95b6ebfa1cf759fdfbbbd3a89c3d61fc87fc30c227a381a25522bdf27114630948a5bed03227fdab50824e6c1295f32812e1529e3e36e6aef652c0a48c5adbaa8c515f9a96957d300b28b5fc5ae1edf6d12607c4380a5224ab56fc4da3a1cd04fbfb5d683097923563f283fccd87df003461c8e0f158a6d0103623f80f6488e41a519d17b345a09bd35eeaf9e78729f767ff5974e01bddccb0bd2d0091292a9e14cae3a9fdd92e2a0a420a75074ca9d5ea721d04ba999f85c329559901e30db0fe81779ae4c2ba1a33ce892a6356708cd1be36410282010100c4cbd1e595470ffb97164a98e43a154d43bcbe19ae0497c8354296adb641aa8df5357dd49de5e9f4d0cba3c0370b897e4a3a62048caf3fd93dcc05b6bddc3d7511cfce6cb32b03ffd103b9feaff63cef5d3877c04d60b00218647c7cb2aaa8bc424ca4f9f5aa52e9538d2772adfc5ea045ac4ad50d29ff39e839fd88b0a0cb1750306d10e524e3c7ec65784f65b62113105d25a6d1f6af3c0482cb56340bd79a4de283ddd091ec3c", + "2e55e4cffb3805ef0b76af24e1f0c9438bf1b0f0276271b9b3322e51b7b16576d3c98fb38722d90a8a4bb546c11d3448955b98eef5ebd62225be3e57fb525668c60646789062cba778e7563da8e3cdd152243a210b0617b90282010100b8b879c9c0a2de82253a049a7323c5d1607a99a634a1d2ecde52c8ff2137c27a46b9b68dfa8d895241d54acdafd650dae0e2830f36cecaded3502ecfadf8d586dc935e160210be5c02ea10932ffef416f5d06af0bea0b0501e12dc915fc8b7dfddb23f1cbc83225264a7f5d2f83800e155fcfdbf9c817823ce45188812f79460a2a288e70740b3429a0768894e8d12c0a2e015d3e9a8e622f155aac5c29c9e6576e39c2ed9aa570e0ea1395c369532f5e6939d1dd1c3a554bdc2cd6c663d7096d708421cf2f1d621c453e979138635a3c279c5f8f10a90be2a5fa185125a743345b907d78527358c595836e9b2fd9a3868e46c955be6caac4889ea8ff7890b13028201001be7beeaac21387df76d9cc453507d26c89d21e3a84e546b7a49e7edd7f335c90d65396385c44d497eb5f19156fcd6d1469b42bcdc6a1946a7c19f69cb4048a2aa14ea7375707b0fb246b20010597d487fd27b0094b84a1cf1f285c874d94835f1bcc683ff36d8ace74113bfea35e8011800175860967cef6c2394f4e5fed6ed865c678ac6c3555d4b03146d45c1eeacb25c52f375c06216c398fc564be905f88664c14819c427585d45a6bd6b25058a60f8c25b1b82b63752c7c1cc3bf974a0dd6d172e553add655d20aeb4c94bc2b500e93d5a3c15f50cf9c8d445c62f5bdcd9b74145de884d626bfa05d220bf319b9cc448f1535a821bd566f7ab29d20259028201001d0c558a9692862f2d2f7c7dd55170d0463dc15fd3b306fa5cd3e3ebcb0b7bb7c2db7d8bc234f3bd4dc0feec6d94644ea742b79d72defe242052e1a9a310187406c7dde9d41551fa223330bc14b62128632b8d45a2949e655af5585e3c13d2668ff471dc5100c62af2cd3ee91843a64fc937e9a7723321f36f828a230be8871ad3388012e49f1611892b5513129938b3b6694ac5725f2f219b95ff2eee35b6eaf9d13d4458d262b24136b5507cfce570a9fbd89f51d7546e8910d34112aae2c3b5b904bc8cafdf1e9c431dd9fe6a02916809c24a2d8d9dc969dc7407fb24e25515c7cd25e5388f412ce3a46f07c8bdb1d53ce69e6e3f52ebd8d46760906aaaa502820100498c601db857d9d3a101b2d328bd7eb9f13f5c438664a1046a600ba433ff41b7b36d3570fea5b32f6fcdd564fa84cac42499afa6956529cda036884c6331df7a531f586c88ea9d2c7db4daf65596b7ee7c9e30112eb5fb5d7e2b0aea0e32214e35440669e4c60ee74885ba11bc83fee7d1e9c04c4148a2873584ae4b4e2801490572a699486d7d939eb34225506d4d647b5cf99c05626db84ab97478bb0c94a106db54e15462b67182ea2b8acaa6bdaba22b3b6725d1d15409b993c3925de95cefa02f6d0acd3142376a8cb19dd40590b724e49b5d8b76ae8bffa4a1cd35013125e891617b9a2199d5cbce7538b931fc9e62f20a958424c1aa087301499e1097]\n\n# tcId = 36\n# ciphertext has low hamming weight\nct = 0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 841ba29bf0367671a06435acbd87d9362aa8a6674968041d63d0676de8e31f11a91914645868de92d15d873d7138fea4302a0405817d74b59d79cb141ea7ff43d41eccf801f46d6d8f9a4d7dd05e83f34b73ceed85c8f8dad3e903f6640dfe004f0862fec157c72b7ac82da45c51b17633e1f411c373c45e2d3967d853ac0fba8d8bd8765dac562cb9afb8f3c106177b5b8a233d2822fc9b68e44a915321bedf76384b7cecdb76d185f001ecfb8b8fbd8c31f58b1e226d7045927d97f5bf7ae151eea50fa417878512ec154d96d24b30ea1c9417d491064eee1a3ce925f822a74e41f48279\nresult = valid\n\n[d = 565f2a901c4bdda744700ecc8c911d4caf139d746c6fa14d9f8a1da61bc6ad66e38b2163917127eab80c1069a968d9afe003f6542967a3ec188e2530a091071638adc1e66084254154d1c19ceb16d824a979490d06ec4fda761c2c6985281987ca8eb80ab487eefe37a23b89591d1b83b1e424f276b4503e0301913bcfdd8125743c1ec6c91faaa44957f4b1c6bee44c628e7adbf398602dbca45014bd0dd016085778c23b4235cf6c45ce12aa454ee4d361e59379afda1eeb680df211cb94ec056ea2b17ff51dde5e41a8395dbf98e3378846c86e944e6acd7edf981ea59e9eaec2052cb7bec037676c6b3f291b1688cf0fa8e6a1469df83b4e808b9d2e902ea2397b30d36a8751bfedcd69aa7f3d43ac0c4efd4ca9b681ae5d73aac0dca6ba6d3e5153ae4b27c9cd0dcd60896764c45ad1754ec6929c60efe18d929d5205784afb294b539ecda0cbdff59cdd204311d7f4170956690c36535bbc5b989e379fe8c90a130210a783ba8cb4f11921924726bebaaadadf366c9207b60600df5224a2cde790ffa9dbc162ab28fb92e707f99007ac7b47b3c4a0da3a174cc057d1b1eaea8a466e36774ca53c3c4978c9a554ba159c6f3cbd22238a8e6dd54e28dcb676c9fdd9ae5248fb7a88f66569e04ab6e5b0d44f3b3fc7988184e88eb4516a3aea7dddeb0af0b88ea7de2a0bc098c6f63d3ed8add51bf52ee39188abc9835721]\n[e = 010001]\n[keysize = 4096]\n[n = 00c2ac9fa1ade448ae0f5dbfd29993e214de89af560f686825b07ee5901c6d49c8c54d70f49215f83bcc4178dede420a8dc7c65ee492921bd62aa653ae98193652fc85abaca9bb6e4925622974c6c301a8dec37e48122f0574e4a6a210b06153e976457cf3fcbf81460680602c6a0638a741d3e1746a3d0a03644d7aa9e0cab78f0056f111361b18e81d326788ff53f5138fca0669cb9e2a66edadcaeb7cc4f14dee08f8ed77a06e50428911255bfa3310cac46e2b9c0c770eac2602c88139a13edfbd04c8291eff82e02c4a166ed179b0ad824756836b0aa2ee101f0d6932ff0f842f0c91f2594abd84288edefa7fe304009a51e1b70f2e3d063fa733a6e2a6663967783dba66d34e0fce845b9eeb494e37652d5bc1d9c04b6e898592f169963754ce58aeb5aa0c0d419d6543ecb9076f8eea5a9afb68d248d787eadd85840394cd622bc81e3efcdc7da8e817815419e52074ff878d8aa3aa329bb23a3348f83d00ef4dc365d8833859b431c1b35e550c62411e993d62f2e099c1a6ec6f2f3473b97e8dd72c3c61cecb988061bba1e38cc1fd872641041e42ef70ac3b5213df616280d9c685cf50b8984fd72a492b9a99d5d4d1adb82650c2d342d87f29c653c6b4349bdfb33aa75b789af8ac88dbf13d2468062f2ec1995244b41373b687546a6b881519b0c29d438cc6d222354a0b2ba5c023eaf8a918c05f002e7264e485eb]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100c2ac9fa1ade448ae0f5dbfd29993e214de89af560f686825b07ee5901c6d49c8c54d70f49215f83bcc4178dede420a8dc7c65ee492921bd62aa653ae98193652fc85abaca9bb6e4925622974c6c301a8dec37e48122f0574e4a6a210b06153e976457cf3fcbf81460680602c6a0638a741d3e1746a3d0a03644d7aa9e0cab78f0056f111361b18e81d326788ff53f5138fca0669cb9e2a66edadcaeb7cc4f14dee08f8ed77a06e50428911255bfa3310cac46e2b9c0c770eac2602c88139a13edfbd04c8291eff82e02c4a166ed179b0ad824756836b0aa2ee101f0d6932ff0f842f0c91f2594abd84288edefa7fe304009a51e1b70f2e3d063fa733a6e2a6663967783dba66d34e0fce845b9eeb494e37652d5bc1d9c04b6e898592f169963754ce58aeb5aa0c0d419d6543ecb9076f8eea5a9afb68d248d787eadd85840394cd622bc81e3efcdc7da8e817815419e52074ff878d8aa3aa329bb23a3348f83d00ef4dc365d8833859b431c1b35e550c62411e993d62f2e099c1a6ec6f2f3473b97e8dd72c3c61cecb988061bba1e38cc1fd872641041e42ef70ac3b5213df616280d9c685cf50b8984fd72a492b9a99d5d4d1adb82650c2d342d87f29c653c6b4349bdfb33aa75b789af8ac88dbf13d2468062f2ec1995244b41373b687546a6b881519b0c29d438cc6d222354a0b2ba5c023eaf8a918c05f002e7264e485eb020301000102820200565f2a901c4bdda744700ecc8c911d4caf139d746c6fa14d9f8a1da61bc6ad66e38b2163917127eab80c1069a968d9afe003f6542967a3ec188e2530a091071638adc1e66084254154d1c19ceb16d824a979490d06ec4fda761c2c6985281987ca8eb80ab487eefe37a23b89591d1b83b1e424f276b4503e0301913bcfdd8125743c1ec6c91faaa44957f4b1c6bee44c628e7adbf398602dbca45014bd0dd016085778c23b4235cf6c45ce12aa454ee4d361e59379afda1eeb680df211cb94ec056ea2b17ff51dde5e41a8395dbf98e3378846c86e944e6acd7edf981ea59e9eaec2052cb7bec037676c6b3f291b1688cf0fa8e6a1469df83b4e808b9d2e902ea2397b30d36a8751bfedcd69aa7f3d43ac0c4efd4ca9b681ae5d73aac0dca6ba6d3e5153ae4b27c9cd0dcd60896764c45ad1754ec6929c60efe18d929d5205784afb294b539ecda0cbdff59cdd204311d7f4170956690c36535bbc5b989e379fe8c90a130210a783ba8cb4f11921924726bebaaadadf366c9207b60600df5224a2cde790ffa9dbc162ab28fb92e707f99007ac7b47b3c4a0da3a174cc057d1b1eaea8a466e36774ca53c3c4978c9a554ba159c6f3cbd22238a8e6dd54e28dcb676c9fdd9ae5248fb7a88f66569e04ab6e5b0d44f3b3fc7988184e88eb4516a3aea7dddeb0af0b88ea7de2a0bc098c6f63d3ed8add51bf52ee39188abc98357210282010100ec980e9a80b0ab244ca03e346e11a9c7bbfa135f2ddfccbf216eecfe03c2e769ef39e3c92237fdbccdeaa4b59f6d0a861ecf2c32a53", + "2fc48e4e22bc81c267771c74843f47a05c2554f77787b64d2aec57dcbfe8ba418d3710d56e0c4b3f27fe0355f62409715ef838866ce6c49c0eb3ae32e05cafeaf6270e9dbb6c1220eab995d96ffdca3a38c47dda3005ece5d66cc4b38c5198a5ab98b1ac0337cdf9961b94dce011b6c66224857d74c14c70088c5af3f25e5e1d3c2c1259ba2ddbe302c029913e21e4a9a296c4d6494e2b4dc7117436dbce0d93626be4b366e48dc056dfd3d2cd154fe776b205257c0e86fe44f440c0b9b39cae3d3933d50f423df9161910282010100d2a458fc7364c3a91f371101bacdd85ff840e04e0e24bac1e70013d47fb599cb780b6a01885ccb03e8d77d040ae5665830915e2d597fea3c60ad9ac60ae642d246c5ddf1b0e6850aa636d8a5452086c251c245a2afa43d07fa5484c3389fbed6ccdfdd095371461805d9cd5207f625baa1b3ddef80a2b397e8d762637fdce687b6dfa76a34434325690dfcd4bff02963698664ae71fac9126225a6ab073ab8bc316e789f9d413b70fa566c2188cbf96dd0d424206eb3d56058085105d513bd5d4273c524691806257133b904c51859837005a70fbd7831b281adf1c47630f30a3de81a200f19da493032369e2d6c5bd0be2be6ef68a7ad3c0e911b405eedb1bb02820101008c00aadb987d72b8873367bbe4ca44fa716cd91bc06ca79f0e6cb286d9b8f2f187e36cbc6fa84c58f64cfc6c914b9827a78196b8dd72df414f57daea8e65e0d68e43601b023df8323d55081194a6eb4ee852d76cd08cf449f8c7c937fcf7e9ddc6178c6f86382fc458e9e50ac556089c8f2483bf0c98c21ae8f7e01c474801193efd84a88e98d00112d14afdcf060c37a5e79112bd0154bc50f71d40ae9bf7ed0c7273cb4388e88e8094616c061a75d4ed0fe4203552f6f30e8b1b8435f0118af4048510c1ba99fa818d9c60ceff875869c93d349cb46396c5b10eefc46ade1c35a018bb3fdd70a1eeb808ea42940aa7ccaced8cf4577eb2a95d072b57379351028201007a769e5db760fff8557398699f078a22d19c364c6b20a38b9417916fdc07e2b04ecca406dc16c6d931080760d04ceaa19f2b04cbecdad77ddedf4fba901faafdc1b3cc03764baf51afacf76baeb2e866154e9359b03016638b00946743866c5749a96542c4c678700306cbbe436eb224bd5a6b4f91440691ed073be689320ebd1c6f0f5049ae495d78a46f37e9976118b1033789cc2e77b43e67916ca1b95c29ddbb5259c9fd60e7a0439a7e2ca01a15e47151c7a154e05b311334b7e557a2a293bde701f22fcb72fd4b8ae7e106f513db8f0dbfb2f22c4291ee653f494fd01d463ca8e3b6a3db2aede063acb6cfe6d98796d29ea203ca4dbe5252bbabf5197d028201005acae8ff09978268b24cc4fa85087008e3855edc4314b3d84e129a84ffed2c0e56d09354b67cfa425bf0370a2fff8548259efe2572432e329fa059bbbcea40e4ea0ae095051cdfd853f1f2980ac3a8bb1e36f31fdd406e7e4f8e43706170896bcdf8c49d6ab57b319bd1d8714d16e03391a2c99320d431fe55d658251d9880eecd50ab55153fb5fcb64e059c31c1210d0b7329ffbfb5010acbc29c73b64e737433a31b3bdc11873278fdb06f4f3a438fa42ce24bd95315034c7dd41b349e71dcdd920269425a6db57857b9bbd0f9bb0c61acc6ec5e9e96a506016c9c75b847ce502fa9021f3a84d9d8d8616e660b0c7e3aa708fa2b1e3473bb9cb4ffd1f3c9ed]\n\n# tcId = 37\n# ciphertext has high hamming weight\nct = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 9ac7b1fdccc1cd7542940a84e7aa9fce00054e48a4e86db61f306e954740ef7ab6e1cd81c518535709dc9200b5f781c468241309ef177f6523e128b5ba12461b9fe91345d4f9963ae17695d5328a75528c70d9e29acdc77947d60953e4ef59feeca7e7a11978324900696d75c5d382ae4c21e3b1a775473e6c9238408b9bf5a824e8cc4c2bd003e7a0d412301fed070025da16d91f7182d0acaf055fa949ca684627777fb97e7cd3fedbbee1d2d697e4bdbe06d36ec9853004e28e6e9d367aa66d9d14c873663ea3ccd11e5faa8ed386e071331df878f4e0aae5dd335b177c796a5bea0ed5291615ac3483877d02798b05143b0129e3de3d478c08eac6c2e591958779318603400cc6c03eb0579f2e6d888bf9f1732039fe118e6e4888bc29868f80675d63bfe776248484670d79760aa60cb0267adccbfcd679f786f05566c7b4006bcdade15773d8aa94f289468c7c7dcbf82b61693afda5204c401b324746251088a3849d5b16beb20da444f4b3d814cbd590a0875bc026b085a09d8680617c94a297cb2ffaa50e7a6d1938ae61b670ce20301b263b582cfe84e679a986d6014534c045\nresult = valid\n\n[d = 7cbd4ab5032ed8e595269836e2a0f49ae861c8a5f8587fdb68d4dccb9315b1d60c0c29007d693624777a7025af2d4dbb75c43521be0d03dc9588dafc94078646d41c2f7d02a56006667062728a485cd72100da38fd70ff7e109e8b195b18ff2d992ac0f2bca49f882e2423f3cf0205aa6d951363a72ba242b4c14b5c5513104790030be71f412309fd01b8b81521d268914e6a144a5263c6bd7b447e56de174ef82ad0dd8866d94c659c5c6801f88fca673134c53a5969989a3d799e7bf18b93288f681012434eb508c13633b710640fd6ab4f06578f76d9fb895789beb1cd7fbea38f862d2a83c0f3608127e4a90c8736e35ea39f9de191d2006dc4b91ebadef01875e2bcb189fb8523e7e98f255f290daaa8e758febdd0158b7cc971322bfccd6c48cba818b503e2dfcab7f0de4dc062fdd46a8c7c9499b531a4d54b38da886d55de5b9b1192dc42d0693d8c84987aab575ac4745ceeec4ebbd7bb6869b9d690ba365d8812e313b8824d6ca3948e60007c8e93560f06c40b51cefef996114c75b72c43323f6253c1f54741745c17f7f21e3a231ca0675f643de88303a5ab27e77fb636e9896a818bbdd6dd3179f16297c809d14904b639db69db65751b6656e9c4cea8220bf448cd4401ec7ad9b5b7eb4bd0be5e6772d2fe8d712dfb610c774c28ed87081d9ee1a7793098dc5abd5911fc573cabe53e55c77d92d3fa8439b1]\n[e = 010001]\n[keysize = 4096]\n[n = 00c5da1db76918c3c30c0a11fd346bb9dd262d0c91cda4efd8e5a3952a0324943310703f6c5595e3c539ab40c0822d7e939d95e2bb3114afd8025d0029ed27406b39a1e8df67bfd441c9edc71abd2c303fba5c396ee1dec8d24eb396339faf12d1ecbbcad34ba6d5263b4b7869bde0e3aea881eada374609f0a4163b1ac964c1b199f918f37c54a5bdeabf38e800ce0a8f54591d7704001cb4999764466110800f29eff5a498b6c24155438091b675ea3f2712e72080dcb0bd111e834fb47655b7338ed224751e9e736c28e8f06cf8778107a8a6b3027bb7ddc3d5e9c07557fc7d8ceab4d69f8b214c6e51344032dc30a6765dc01762575ab26bc829b771065366201ba5ce5998a53475b8b89a424727f2384857b5851661fe70677f42fb4fbd31a5a7f5151c992e881ef90a26b7e5fd2d3a9113474d1396150c3bfddc0d771488ea42995a0679c2b5f1bd8a57e944558bca4c2ae20ba64181aef36ef69a31b0f54b109cde79df9edd7e556a8e04cd3edce099ff009e190030fd1dd038fb009ebc4df55ed16b0f121bb937f074153442509bf76059c47a9278e40a1b046cd9e0846ee6d80f0ebd3595f76fbf638a1907284708e5603dc4119cbb473143c27baa79a1add6416550dbe84aabb206ab581fcae7626d0b1f3cbed88f8b0194fa7549d76d9b81901833d0d7cccd9fd948e0d6c0513be8d17af61f95550d911ffa99ea19]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b308209270201000282020100c5da1db76918c3c30c0a11fd346bb9dd262d0c91cda4efd8e5a3952a0324943310703f6c5595e3c539ab40c0822d7e939d95e2bb3114afd8025d0029ed27406b39a1e8df67bfd441c9edc71abd2c303fba5c396ee1dec8d24eb396339faf12d1ecbbcad34ba6d5263b4b7869bde0e3aea881eada374609f0a4163b1ac964c1b199f918f37c54a5bdeabf38e800ce0a8f54591d7704001cb4999764466110800f29eff5a498b6c24155438091b675ea3f2712e72080dcb0bd111e834fb47655b7338ed224751e9e736c28e8f06cf8778107a8a6b3027bb7ddc3d5e9c07557fc7d8ceab4d69f8b214c6e51344032dc30a6765dc01762575ab26bc829b771065366201ba5ce5998a53475b8b89a424727f2384857b5851661fe70677f42fb4fbd31a5a7f5151c992e881ef90a26b7e5fd2d3a9113474d1396150c3bfddc0d771488ea42995a0679c2b5f1bd8a57e944558bca4c2ae20ba64181aef36ef69a31b0f54b109cde79df9edd7e556a8e04cd3edce099ff009e190030fd1dd038fb009ebc4df55ed16b0f121bb937f074153442509bf76059c47a9278e40a1b046cd9e0846ee6d80f0ebd3595f76fbf638a1907284708e5603dc4119cbb473143c27baa79a1add6416550dbe84aabb206ab581fcae7626d0b1f3cbed88f8b0194fa7549d76d9b81901833d0d7cccd9fd948e0d6c0513be8d17af61f95550d911ffa99ea190203010001028202007cbd4ab5032ed8e595269836e2a0f49ae861c8a5f8587fdb68d4dccb9315b1d60c0c29007d693624777a7025af2d4dbb75c43521be0d03dc9588dafc94078646d41c2f7d02a56006667062728a485cd72100da38fd70ff7e109e8b195b18ff2d992ac0f2bca49f882e2423f3cf0205aa6d951363a72ba242b4c14b5c5513104790030be71f412309fd01b8b81521d268914e6a144a5263c6bd7b447e56de174ef82ad0dd8866d94c659c5c6801f88fca673134c53a5969989a3d799e7bf18b93288f681012434eb508c13633b710640fd6ab4f06578f76d9fb895789beb1cd7fbea38f862d2a83c0f3608127e4a90c8736e35ea39f9de191d2006dc4b91ebadef01875e2bcb18", + "9fb8523e7e98f255f290daaa8e758febdd0158b7cc971322bfccd6c48cba818b503e2dfcab7f0de4dc062fdd46a8c7c9499b531a4d54b38da886d55de5b9b1192dc42d0693d8c84987aab575ac4745ceeec4ebbd7bb6869b9d690ba365d8812e313b8824d6ca3948e60007c8e93560f06c40b51cefef996114c75b72c43323f6253c1f54741745c17f7f21e3a231ca0675f643de88303a5ab27e77fb636e9896a818bbdd6dd3179f16297c809d14904b639db69db65751b6656e9c4cea8220bf448cd4401ec7ad9b5b7eb4bd0be5e6772d2fe8d712dfb610c774c28ed87081d9ee1a7793098dc5abd5911fc573cabe53e55c77d92d3fa8439b10282010100f9acfd303aa2f355d07c3cc2ec20c60b821313c880c1c075c4743dccac3e1ddc39465ea9144b3381b7386a3283e5f0ed89e42b0fa8399240a898c877b7a3b43397fda798286ccddb03f070c0db25365a4ce2605ac514dbcec85561078b455a5b9aa1f97a0f4e43bf8c5af0be790c91d22091ce9662e4efaa3e3680681b3b0dafb54961c85ea7abfce464c69ebff813532436ffe6d2f9dd48f1eed42e2f4b5d3c0cd693d468d9579db6e2d6f08dfe554ce91ec235554c05d1621ccf1521b892c78167b0928f19b4bd03bc5fca49f0f8da512b1f6d025644225d6bee5a81af8dae91f35edf877724fb418250bb1258ed516ccd575d025d188e5e541426acefa5cd0282010100cadd1417db49e3dff3b5549b6c7c6076100a8fa18aa3ee4fe13473730ffafe9c7c4760e11049e26fd3646c4890f8a70cd98f3a28c7f4a4be146c61f6d372dfa732c4c0481e8a5ec58b1b128d4f926fa950d75c81a498ff63469fff3ad96f56aaac9df447564fbc8272bcbc72208db11bee80a07bbfaf08198a329b2b58a4b164c79682112af849b4c25e1e825e66bd611e6bbc5a96ecb7a45d81d12802a1a24b7ba90c48c696c614512ef8a69497885f969397985b28517e0d92d9b0619f63e377ca3b0a36770da9b266801fd69b1320d52423c08dc97b68b8f30e6c92a9fddb4be25d56a315a8ff54ac834dd6f2382e812b08a10df3a685dbe1f346fa08c97d028201003c374a811d433ba8d0b585fa04f50a8eaffa65e50f98ab103c2744d85e1a451d5dfae8cda2855890ca5da2cf381c76f4f332c267ee4ca4474fe239471655371ad2676cca37c5b6084274f4dcae7dd5140642fab6299e143d54f7b2851d43c6bd1d183f90feac038ee90cedcf2266b3ac980a5266d6c71c3e54eed41d47a400730628029b4ea8e5c4025983c5b9cadcee4a67b1643c31e2fabacebd01be8a509c31047776dd2abe04dd9cebf5ec6910ad91f3c72711c15a0ddbb9d2ffe7b81a3e5fa9605e9880bca47188371a14a7377d7fe2049c47da0268bf5b4e8b2987eb85d4d17b6a31c3bc79949d175766df67ad21ae8c89740e7be3aa4060f3caf5a969028201003779d1bedc670e7bf5e786a5a23b391dd031332a1801d06fe3c43636270e9a862cae505dfbd858a600071c5d93d78bc745cf973603c8712cd1e4f9bd4801c80baf2482f8b5f15d0d648718c1b01af99231db531ed8e64620ddf56f14a6d57dbbdaccaf3abaedbf3d65271bd991f16d9797d7710ba655b53f56bd94157c7e3d4cb41002adb33486e379abc7681b6cb9294fea626ddb8c0c845455e5dead298a7a5decd2c12c1d9b397f21fb3982b515c41e276a736daa4eeecbc376e87729e165192322961e62dc47a5d3c601eeec2584fb04910a5d3bd615c34e2489a869f853fa228327e81d4a43d8e1fc5e5303963d91713540e5d1d59e118d6ebbe0307af9028201000e5c6830b6ddd705393a4dfd1c3d6180930d6ec32848fb036ff229840a57c1142202b6b6f2815bee2acf3d18df2879fdd00262b4936661c46d5cbc16e56b0bf8f3ebee3998a8241bdd9504c35146ca75693c1abbd4d3a282016fbcf690c74d2dddbaed75f4447ea1f26796a7a8f3100a55fa45b45a36a60bb2ed5b0de1bd8395a5069101513e46be0a7be89cc2dff04a628c526d1a5d9c0824b47eaa13058806b491f9ddd8d7c14475064898a80bc74e4f55c611c44e381769727f09a86799fa5ac526e08a63015ca600be4fc365f13b2283514cebe973e950f75c86026427bf1e1d15a69fdca652f99685c71dc45f1f16ccbaabef5b6ab9e14487e1f7c746f4]\n\n# tcId = 38\n# ciphertext has high hamming weight\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = e551665cd3ec3c2875c2e0c491d03cc3c339ffda64f125479d2f9b64cadb3dd7074fa57a4eaef4143f207fa1e28c7d4478f9743d9a0fc5b14d53435a5cf0118cf34b15950b6169851f6a92034d46f1521634eab158dc97ccd47b21eb8532579a99fc4dfc6bc8dfef35f04386fe8e4b59bdb3f5d1ea32e5e9856848edf534ac8f7ac13cf318808e918397e58e444622c51c31bee51df1a7686906139f9fa6f54582e3640c70d92a2d44f6b43baafb13e5ce75c7a97036c874\nresult = valid\n\n[d = 00a1f7f1c3490fe28474b470bb42f379fb8433a38a817f992788a0d3ea2a8745ab93704249b0e1b08833c2c4fe4b2098344fc494bb4bc4747cfcb049d5e9499cd2b707e12758d760c019c6a3130c28053f924d7bf1ff22ae1be868e0f925d4fd80cc7661b2fb5d8b80f69dbb63786297ff35ce8fbd86346ec27ddccef22d849da88b69cfd739f3b8d2844020aa88f1e835b63f5d85e14b86a5a23c1b85a1e43ff6ad4111bbc728f42a8c456f51b62a64f6760df63c251161189800bf33b9d49dcd463c1aadd75a85401ea00f2da805a4ff9507f401e2a3c0b78354bb495becc42f87ef7a319f222837ebb1b04571355ba0fa8d4000061e2facf0e586b22357ed8c268efebc5f541146e2caf799028ff21075014d071baa55d57bf275138ccdb4a18361f98a3ad31e5dd1121ca6ccf97d1337204fcf228d2dbb263a2bf3346c10d5b8d4213725f69849321b2e65663000c9b4d32c69a90eeffc0543a2f0b4cf32a71a2ad9abe26153072ac8dc530c9b80509c052d49d337804c66ac561e4f02039e1c58adc0625a5d35284190e45e6a5cbec73d972fab1ee8e63b7fbe3a047060f6b602d45fb3f3d7b4d870d172eadeb2f906d72e068d1cd14eedad529a6bb7e2b6329fdbe8cc8568ba3d70349def4cda8754cdf489975103c753209884e80eeb62148ab0d607ea4f0f4c464cdcf4b767200ca06e9849d5cfb65100f8bd2a6ad911]\n[e = 010001]\n[keysize = 4096]\n[n = 00aeff142dba2405fe8fd14b7c0924fba1c27697785c7c64f2a9a4e0330b0e16a67090bb8fe2e072293132672ae356c283499d9dd557ac5611718f1b61f7e0c2dd6ae578b0f5ecbeb10c1b6fa2e0d3066bf49c0300b25b3304baa0efff1556be31e4aa53b000beb9083d1b0b52faef9143c74d6ab338f998f7abed50c844800afea995be96a4381797cb79d0045cbb6c742c150ce09ee5195a3e73bf48968eb519bdb484b594df753fa30435d091b477e570f29b10d61d6ab0f0a290d8759923a7410216b6c04c8f6fc7d1aaf544b69ca1cd19a7e72dae0de843c7c75667a0b899cee32f0b86f9b127b6a3c02f23b53393129abae249fbf4bc80694e26d1ba5e1218e214cf4c61480506450598170b5a573a50430eb649e7b7655b2c83aad6e597eb50cdd8cd5a0691f9833a6059c6cbadf8e6698747ebc65f4bef5b7d4478a245ad7c39fdd13c4ea2919b679a65bf6dd5f92ae14b4b56dc3b46e6098004dd4731d7e19a544bf4a6c5a99337bea5dfc66df55dc5361d6b6c3c91a8ebf7cccbe0868ac29cf144605ec30d9de8ea6bd4b0df8a129d659b97e765588da2c707fb01372ee406986e886532bb98ce8331422449fcd505998871834af577815322914e614357611e6cf4a5c7846104b74ece45cbc6e156060e91b616fc601a203aae4be0ac08614f8bbe5f72a123f8ca2224b36213803b88a1a52413b2c37407cbf474b3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100aeff142dba2405fe8fd14b7c0924fba1c27697785c7c64f2a9a4e0330b0e16a67090bb8fe2e072293132672ae356c283499d9dd557ac5611718f1b61f7e0c2dd6ae578b0f5ecbeb10c1b6fa2e0d3066bf49c0300b25b3304baa0efff1556be31e4aa53b000beb9083d1b0b52faef9143c74d6ab338f998f7abed50c844800afea995be96a4381797cb79d0045cbb6c742c150ce09ee5195a3e73bf48968eb519bdb484b594df753fa30435d091b477e570f29b10d61d6ab0f0a290d8759923a7410216b6c04c8f6fc7d1aaf544b69ca1cd19a7e72dae0de843c7c75667a0b899cee32f0b86f9b127b6a3c02f23b53393129abae249fbf4bc80694e26d1ba5e1218e214cf4c61480506450598170b5a573a50430eb649e7b7655b2c83aad6e597eb50cdd8cd5a0691f9833a6059c6cbadf8e6698747ebc65f4bef5b7d4478a245ad7c39fdd13c4ea2919b679a65bf6dd5f92ae14b4b56dc3b46e6098004dd4731d7e19a544bf4a6c5a99337bea5dfc66df55dc5361d6b6c3c91a8ebf7cccbe0868ac29cf144605ec30d9de8ea6bd4b0df8a129d659b97e765588da2c707fb01372ee406986e886532bb98ce8331422449fcd505998871834af577815322914e614357611e6cf4a5c7846104b74ece45cbc6e156060e91b616fc601a203aae4be0ac08614f8bbe5f72a123f8ca2224b36213803b88a1a52413b2c37407cbf474b302030100010282020100a1f7f1c3490fe28474b470bb42f379fb8433a38a817f992788a0d3ea2a8745ab93704249b0e1b08833c2c4fe4b2098344fc494bb4bc4747cfcb049d5e9499cd2b707e12758d760c019c6a3130c28053f924d7bf1ff22ae1be868e0f925d4fd80cc7661b2fb5d8b80f69dbb63786297ff35ce8fbd86346ec27ddccef22d849da88b69cfd739f3b8d2844020aa88f1e835b63f5d85e14b86a5a23c1b85a1e43ff6ad4111bbc728f42a8c456f51b62a64f6760df63c251161189800bf33b9d49", + "dcd463c1aadd75a85401ea00f2da805a4ff9507f401e2a3c0b78354bb495becc42f87ef7a319f222837ebb1b04571355ba0fa8d4000061e2facf0e586b22357ed8c268efebc5f541146e2caf799028ff21075014d071baa55d57bf275138ccdb4a18361f98a3ad31e5dd1121ca6ccf97d1337204fcf228d2dbb263a2bf3346c10d5b8d4213725f69849321b2e65663000c9b4d32c69a90eeffc0543a2f0b4cf32a71a2ad9abe26153072ac8dc530c9b80509c052d49d337804c66ac561e4f02039e1c58adc0625a5d35284190e45e6a5cbec73d972fab1ee8e63b7fbe3a047060f6b602d45fb3f3d7b4d870d172eadeb2f906d72e068d1cd14eedad529a6bb7e2b6329fdbe8cc8568ba3d70349def4cda8754cdf489975103c753209884e80eeb62148ab0d607ea4f0f4c464cdcf4b767200ca06e9849d5cfb65100f8bd2a6ad9110282010100d93f98477fccaf6abee57fedd3e87c85ea377fc01c1a54205ab5a6c67ad8b0fe1b76b68886cdd24489537b4c578c82f54393e38f1336ddc9e229c17a26ab44e9a1da52ff3fba41c10b4476e470f71f3f268a6ea36f68219faae44d6e6014ad3b645c1d2f1fb957689f4697b537fd9418afe3ba0c6a040484433a81049410a566987fd83dfccbacc2f921832162e123016fe5ff556610748b3102ccbdba7aee4735c487f533815c6bf8046c99e0b6bd58d727e52ca1d3c87d51c985d4eb4384a21d7687d390f1a148e97c7f57a15df2c5f74200340d2a003afc8134862fb1204730db9be70112b3bf8d604e0ae7188c3a0be37b46028a8dc087e79e25f7aee53d0282010100ce3617d5b50763520d05d209885235454d26e482e3d126db585e90a4fad83972f9d47b858062f52b88b736a34457cd1ca9ba0b9d5298172f0908fdefc4c37dfbe81275b271d0635508f578fe30967a1e919cbcb6227a5a0872a3d8de0bdcd61170fd4a1128d5591a1d3b59c490c67fa216e27574072e6e997e545dc123460966535a03898e746d992e4fc65d648e51b49732863001113a28bea84ff90034de885329a162d15588ebd5d026e95b0117a68c6870c407b2ba8248d4a1a8b6c43e74f086245ec947e5babc82a66b3311d4a5927d2b776b781f80a87bd8923fe9cd1584be538a150591b64999ea05a984c9ff791007a408d96f51ce30c8d0b4d8c0af0282010025d978946c65a2e23c240be7c995a5ac47242833b631b81a72f356fd19860b401a54d27472d8051c3fb8b5b095483bc0b3675eac1cb2e06d3de3fc7b65a54d3a4f2294773809214f9ac0f0ddd7f8960f108de9bcbbba2eb17cba8deafefe5b380fc224ab83216d6322eccf9d9905aaf9aa1b48dcc4d3b25dc0c0be9da79646dadb12daffe1bd327a3da163113c02f1705ca87b95cb546e99998e5d5168dde609ae0a718d7ccdbae66cad88a63e8a57eed47d74e613c3ac1879595ce1bda363c642cfd5d63c587cbb1142c984e0ee574fba465b76b61c6d31d9b0411067daba3eecfa35ed473894ec789b20bdb1898b54c9a17666ba269d8fbf9dd0e5d8833619028201010080a4e467b120e3c84b51873fe5288c0d28dd8b8f507aa9880b702b42912f155ff215a9dd9643a5f9bbb7b8c150208a584856456aa71d34d1660c9306e2b4a6c2e17baaab612f84d886d744dd2708a934aad8a22dea02746a72c25ec7df94ac8382feb11755670bc82bd65be13204739976375ed8bca62ddf5a1d5dc3e0b28fa8a3753361bc5a4c095507f5934be93175bd218aef25ab4ea21e973814fa19017f008aa720d3c14dc2fac7798ef8f40c821d74066d74f3fe40cb18c3a55227c96300ae5ec03747c03ca7dfc5dc78a6b6077904d77a0fb487caa6d1644190d7d5d687d288a14b0e076236366bf58e54c603b7cdd5467332daaca93a6bfd2fe54d07028201001fa8f5ea9dc0f23253932e4ebff1dcb80daad253b62e8aa28817e75714a53f81ba14bb6b7c8186f95645af34fbafe8453643dd48d20d3a31aa8643bbf56df2a5c4094560e095c94e2e3de3ac75deb3d105702a038f5c33354c9a2ea2e1a1f6bdaa7f7e9f4d5dcf09f0720745580cc0e6c185a838540b8e0570169d81e20cc86b7bdb5cd2e5b02d1b19855ff36a3f05c357aa7f5b32c83af0f219f164c690cd7adcf6c65cd6dc2907645deee325f323ff37ac392670a1bffb018187c0c81792524fb247e0369f24a4c66c5266737876450baaa25d44ed7cb0143bd8f9380d81f12e82b5f091bc6b7e0b7c8ab15e1d4235d904efb93d8647daf09992af7dba21f3]\n\n# tcId = 39\n# ciphertext mod p,q has high hamming weight\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = d5cbc86bec333d49976838d2377518e5666152c0aaa3e342dd24a32a518566fdfc6f1fbdf131ce9d4c5e131b56d64b7125f9d2372848b2d71dc69862f3941e9cefbb2729acd2eb1ecad8ddc7206c19fe63e9f51dffad75802c54f04197ad3b31c948ab544176012568dbdedf84d5b09ebba4c325c59868ec437fae4b1ab06dbd0c07f1710a8a6819e47d9f24959c6a771a8e4358b955f3a5586428f08accdc7ec30e43138bceaa37f886bf9d951da73ac3a64e26730b47768fa3ab22f8f48104dbde123e988ed51ffe28bc431d8fe44ac662235d4b40acec398ea57846211ed40e7264a691f7bc9deeccc5e7075c0a8d6f59679007c228b940b5dc42d916ac4486995adada8432e3e865c83e31e9215f98719498358ac2fbea930d501ddbde9d496e7aa8b8b1e708f426bddb4cee6e14c7b0c0cbc5cc29faa15af73a0f63185a7d9fb5b06c4bebbf023373d75f41b0c3350381806a79c95c773c70e46ce6212ec1aa3d9a7c433da6fa0f387d57448f4a48fbe7488b9170f29f6aad9d2c1826b6dfb52f94f9f21e60cec9719506656151e12af61bce9319da5a6074dc898b0750304a1cf400ca91fdb361\nresult = valid\n\n[d = 6ebd0fa2c074df0824b69a198bb2f9e1fa32798420d14a86d3d68ced4050ed72d6cd4f793f83e29c0736f1cd0c1dd2cc1d5e9ad7814862db37022e40484523bbfde38dc358696ed02abb59e776783825bc89192de9e7e4aad77102bf11df9ee5ee352d542713b413e0915e08d79ab5d0dd46d0ec8d345bb290dcb44f85a948e9d0b1e663fe3ab96773019ecaff144d6211c65fba5baef14a73cd4a260c9926bac6b3a1fcb193343a02866906db3e9880a7c84b79ede6ff1581d952a5347bfa20519ade6b9d4110a2c196b1046ba74c54b4467d89dba3cec0630685af081237a486a2b1c78371322e3c95c643df7bfb7468399a07b53a2e01b8b0f5ea7ea795a8e5c991d1b9de7852cf22f9c9d33b0c42865097913c68281bd038034deef9282c5af543e81a10b15fa853e8c3ec823b74fcc9af132e477a19883829da6202360d7a8945bea5638cdcfcf7afbe2f31cc018955aada8859c319fa512827f0c131bedec20a53f6d857203e065097b5684e2199baaa3090b0b67e6e5a0c9e140f6a4ccb6261d5fd718896a8d2ac056efd9d6e8798d6e2efcd308d5a718364fa9110489f8feac6bb9ab617a22b46e666efd218e2c8863a600d405f459b6e45b191c3a7ec0f3caf2922f667840ff4dbf46531b2d31046db1e9bf22bb7d4572a6aeb5b0a99a2dd8ae60ab7b5860e92afd05f4c3ad54ef392d54eacba55c0b735c8588601]\n[e = 010001]\n[keysize = 4096]\n[n = 00b2e57c7093f6b53733a2e6cf52035dfafa38f7e9f41ec3ed020da2a153a39a0c3e65ea21b7631c9f96b5ff85363cac835bb1cd8e2fc1a10371d2b3075c780610ab70187a354a3490239ce15fdeaddaeeb6bdda48698be138f88d849ea5ad6a19a08e5593cabd47fc7ed8c40a3bb1886d9163b15e575771470210b12c08a340e3f107aaec3074aa0a7a53d038bac87f2820f7e1b6f8f0c915491913c28dda4275e993506bf4971508acdb5f24ba6b0c433ece98fa5ac6475c70c59e8ee98adecf27e6dc0be30070e7879b5a626bce12739c3709bed56d9041bd81bf0344699be24e17ade0bbc05365024c0bac08474010c89b8096bceb7948fd8b127fa674be886f9c6b3f9b9c2529aebfe51e189c7be12f75c4ff4bd0a19405f292764d6662038693193aaa61253875d9c375850b3f2d9e0bc03723cc7fe73fe595884d9a34aa0b8dd82e51cc8593d8f186251bc0093c7217585e88c7b49a2d5bc42e087526eb333e7a0dbf96c0722e8bfe125150b762de71dfe6e12ee90fb31f106fe31e850b7555331056f1761c2a610b4eed362a0aa80589bf612e88153677e41a4e4549fe209fb63ab600ce3597c3ddb93194bff8ef400fa158068a93ca6f19a87d7ef76a76559013ba56c51ab6b5f8ab10f58bf17fb0f5602e38acecd789ecf2a3601220d4e1e180903db354f7d9a1216dfa76eff58449c4d885049dfefaa41afe04d733]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100b2e57c7093f6b53733a2e6cf52035dfafa38f7e9f41ec3ed020da2a153a39a0c3e65ea21b7631c9f96b5ff85363cac835bb1cd8e2fc1a10371d2b3075c780610ab70187a354a3490239ce15fdeaddaeeb6bdda48698be138f88d849ea5ad6a19a08e5593cabd47fc7ed8c40a3bb1886d9163b15e575771470210b12c08a340e3f107aaec3074aa0a7a53d038bac87f2820f7e1b6f8f0c915491913c28dda4275e993506bf4971508acdb5f24ba6b0c433ece98fa5ac6475c70c59e8ee98adecf27e6dc0be30070e7879b5a626bce12739c3709bed56d9041bd81bf0344699be24e17ade0bbc05365024c0bac08474010c89b8096bceb7948fd8b127fa674be886f9c6b3f9b9c2529aebfe51e189c7be12f75c4ff4bd0a19405f292764d6662038693193aaa61253875d9c375850b3f2d9e0bc03723cc7fe73fe595884d9a34aa0b8dd82e51cc8593d8f186251bc0093c7217585e88c7b49a2d5bc42e087526eb333e7a0dbf96c0722e8bfe125150b762de71dfe6e12ee90fb31f106fe31e850b7555331056f1761c2a610", + "b4eed362a0aa80589bf612e88153677e41a4e4549fe209fb63ab600ce3597c3ddb93194bff8ef400fa158068a93ca6f19a87d7ef76a76559013ba56c51ab6b5f8ab10f58bf17fb0f5602e38acecd789ecf2a3601220d4e1e180903db354f7d9a1216dfa76eff58449c4d885049dfefaa41afe04d7330203010001028202006ebd0fa2c074df0824b69a198bb2f9e1fa32798420d14a86d3d68ced4050ed72d6cd4f793f83e29c0736f1cd0c1dd2cc1d5e9ad7814862db37022e40484523bbfde38dc358696ed02abb59e776783825bc89192de9e7e4aad77102bf11df9ee5ee352d542713b413e0915e08d79ab5d0dd46d0ec8d345bb290dcb44f85a948e9d0b1e663fe3ab96773019ecaff144d6211c65fba5baef14a73cd4a260c9926bac6b3a1fcb193343a02866906db3e9880a7c84b79ede6ff1581d952a5347bfa20519ade6b9d4110a2c196b1046ba74c54b4467d89dba3cec0630685af081237a486a2b1c78371322e3c95c643df7bfb7468399a07b53a2e01b8b0f5ea7ea795a8e5c991d1b9de7852cf22f9c9d33b0c42865097913c68281bd038034deef9282c5af543e81a10b15fa853e8c3ec823b74fcc9af132e477a19883829da6202360d7a8945bea5638cdcfcf7afbe2f31cc018955aada8859c319fa512827f0c131bedec20a53f6d857203e065097b5684e2199baaa3090b0b67e6e5a0c9e140f6a4ccb6261d5fd718896a8d2ac056efd9d6e8798d6e2efcd308d5a718364fa9110489f8feac6bb9ab617a22b46e666efd218e2c8863a600d405f459b6e45b191c3a7ec0f3caf2922f667840ff4dbf46531b2d31046db1e9bf22bb7d4572a6aeb5b0a99a2dd8ae60ab7b5860e92afd05f4c3ad54ef392d54eacba55c0b735c85886010282010100e2d07881b8b49b0cd377f262359de15c54831d2a8064bc14ba26b9a22e55f2d0e132cda48d9a0c522d27ab7d4bcf1df17e07e7a5a5842f7942021566ae142e7ee753b2f9367d1a20cfa77c804675dce9f3c3b4657ea6290f77556095e166ebba327a61819873903352f9c4233bafeb163edb7ccd6275addf1f8b1b24d629a27bb02ddeb831105e3e2d2a20cbc0ff8671a55c0970010520a4cb1c7df22429e2fe9382a0443e26a6263dab44f294da1600d62547750ac294628bc24dee2de756764252d5cb70618c38914090b721adadf00b44a550ddc2886120b93871dd5498b4b6d2db34b39d80d7106bceaa2ee3489f31010398ff090da46da741262f2f13530282010100c9ea8b2129d4ff9433bdd20a81fc55c6b8322052acab1f940ae6bb75dade01d10ad64811b53b5696759a68ff016983ae919c47da5b6eadd12d2e40c2495ecc5e06595797131e3c24acc64c24c39eea044fd636c6c9e3ae73dbc43d92d898fe5bdc28f4502be7fc0ad3db3bd0742ed5d41efadfd2b31106cb2cfe41c639a664e1ebba5a9a155fd17e0fef73aca69da5b11c0f22229af94a98e34fe70cc3d72e7f395bd252e9bba76a049c193eacbe57ba46a1aa9f4345ace9ac27e653469c16b86ed42d71ccbf0e832c06565c2ca935f27b51d8f2db995317e4a750b4a8392ca67f34494d33c653819a77829c95acbbc17c9d10bfb587ddad2bc8ee32c0e990a10282010100bda3460e57eb9173d0df89e5f9244f078e95ad6e1ab99ed3c9ac952af788df232c16f8ff6b717079c8cd5141ca7f9a6e8e4c77aef4cba791bfd1d428ecc56cf6a7dd4057c3ea274d65b188940bd581e68dec844913f243846de711815f5b591e6e140ab07b51ac306d60ed4ff418aafb0785263ce6e4b38249725a389b636639fa5cefc99b242f57d71551246af27a6b4cb1be264a8409fe1ee06ca167012a8c65b322e2cc002e8ceca4e559d980da42cac9928c5679c7ecf923755afe405cf7358ee2b85cf702714d68e95664af3d2de58df896bb436a19a36d99b7023238176880b5ccc39c9ddbb31c20480439fe3f338ec07e4c463a84cf35b77000a5608702820100745d480b37b97a0566004a3126124f38b3e4a77e1de68ccf5bacf772074d948c6d8b6a835207bd71fe9a9b5202f5551f60e948fb8d5feeaa333889b7ae6304b257445bd743fc53baeb1b68bc73447d2738ff8217f437d3cd0f653bfb09fab9f424a0319496891e56fb1b48906cb4a524972a0b9db8f6e20c6b84a8515dde081baf2779997d21f870872c7f648bad24d53a0f7aa3a8de6c6049f83d76bcd2a1084efd1cec0da9c8e4af7d6a8b1530a90c4032614b6190a10315e4f4b71f654b2ec528607c49fbfd9818e21a190ae005a815ebe874a59bea2845ed2af4c25218ea673ab1d7dd33b9e2622be7c8e7f5614b33ceacdd5ef7cb0846c88886156945a10282010100851b5cb5a886816cf1b302732f7fa2c6bdf1357b6b05be551ceadbcbeab6d342e88d7169eaa1bfade9999a85598b4ed56a0926199786ef1865e5626c64849fabf21322a39064c7a05738e871138eaae6087840459abfea757cf7cf3fdf2ff4c2d71f0e731e7be40b181a66049026332c3212c921b86e1f9f7c4be6efeac32f11fb65793872d49e2ea7b81acea5acd6a16eb8895393796dbd0f2c28e3acc6ffc1c46bdf4bcfd3ac1b866cb0bff8c490830303bb74d6fa89f2daac84f3c8d02633b4e035aa6c184cca3762b3fdf95f4c8be6a6717d0040f7911a0687bfc45f262e07244ea47a3a15d82eab0066bb665d78fe949e1be3af9323dfa4640e9fc3b12c]\n\n# tcId = 40\n# ciphertext mod p,q has low hamming weight\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 39fecb500d8c7f55799e6891073904352640b513e43803afa7e768bb64ff20d195ec14f5ef18d5efbc50db875cd908c60f4de8e93c6ee100f08d78b27466fd4a373df46b78665f1e8822c3e2e61a9e0da73e1c26e7d96d8b6c643502534a7734fa41f9bf58b9a0a00ee0386482114523461d0ee87ee2a9f4d497b67f54609c05194991f183c848611bcadbbe0f87cb126fbe2d33d4338f10a2073458ea711050c25c369bbe598ac2f7ce8b0e666a5e20176eca540358a3364dc67b1546f0d7bb2ae388a8eabb5ed9f9243f6eea5b5ecd00f7be6a0666151a97f0ee8af58d040aee12d3bcc5760dedeb5d2496be0c4ffc5658746489842361a307dc84062f30254c4182eebdabb5f321b6c96cf8f2056155fddb55daf545fd811f6d155277be754b5829b69daff3eaa3fac532a71cc0290adf7a0c238934b86739b005b70b8ab2f0ad7320cf037c6d31bd135c2e30b35e7d80f63dde8e899acd10710127b11002a78af5494db4198b0b8e4ac6654f63972dd2fcdc8ee3d6e254d8dca491ceea61341c9099bf3a783548c5d970a7ac45680fc17f337a8dfe840304ae2a64a87fcc3604bce4911d3ee31c31352ed3682f854a87a2a9d0ee1e80cb43787131682bc1942324652239ebfa151878e56ac1112f89f1b80120ef\nresult = valid\n\n[d = 00aa5ed117163315b6b3909261998805f2ff3c6c1ef0fdf7430f35dc1d5ae4e299f826e491cab6bd3ef5c5794843484f1dd40dc127c4ae17896990404bad27ea04df3db79c43cc268a413d57d423b5fbda65f7d41d74677e21b9394e3646c13ad85ec7f4b8908fc0dc298cd0a692e62ed6dad90dffdd54c487a1bfcb4baf718110f0af6fb7ffe9ce7fd027e4045bd32a4beb4635932d35c9422388f065bba27362089152872184efabeb9903fe9d8ef9f37f5f58f0962afd65f77cff9ffe3395684ec21c8301abfb8ffcdad266e1f08232f0b4995d29c9820445933aeaa1b4a27a5fcb25e11b8e4ed98a1fd8608c64cfc9b4c7457f08c5f4627dff4f752ec6dba7744f4ff471e2c04e217ce7bd466b0088af708bd4171815b6f94beaf77c9a37ba142e8cbbbad3b7275680a3313e18583c4461f17f37cd237ba38813c8c33de1cf113219b3fc6da0b5a2a116a6a975e1f3e079e49c2266b26230ab7b05b05300acfe3b9f45ef0403908914396b0340548a8e534fa54ba7bb3a936c180fb33f7ea6c1f9428329e3f80c8d219dc7f93865a9af3bdcacd71b8ddad36bf5afd135ed1290f01ee640319b277fad6a527fee41ccf20ec9c3d384c57ec39e024b829f0e297222b3b17305c1081d3e769925eef24081e86ca81f8178dfbd1d0e42a42ca2081293d588bc658b870a9f5a9790802ea3c9847e951ad4408f031ab21cffa9a841]\n[e = 010001]\n[keysize = 4096]\n[n = 00b1c80c94171cbb6d3fbe48e5d7df8d53b100ad97395de4ea1397f13dc4f66e6ac7e3421ae428842fdda5f8a11b3e32ef84544428a35c990c3661cf4a4b01c2f7b1a6c4f0f1cbe4748f3b99e430df7fd944a15f9c4068085a52edb54cadfb8c192a14393f3ad0c2766fe4a66ee48ced22cbe50d5e8ae8802bb8b2c84a29ea577573b9f105a6ed9703a26d7a117834e249174dbb142295ebd2ad49b53f35562d5a4e54ffde09bdff10e47a549c40710d8e14024cd9c65243232d259720324c25f4cec4324995293c20660b6b10e16c3155c0b663cc68c87ead28da51815b9b886726af34c42a1caa338ce9a2ed806e7699beb67f24aa6b00a87795858c2c9bede2aa2650fa1b3b210f5f3679a3b14d053a113eba0ff5dc6d1ab7ea5803d0507ea16b745c072a3477a67771d7d24df207c54a474eff20bb47dd46adba504e339c35d7c521e983b59b7be9777653773816af5e856973892a743433f8f4ef18a3ebf27c87b778ea5102fdb8acfd362687489db194764221d408c05456c43de9b31dfdf5f1084b83ae54b8696902725d8f982a7368fc47d98f5979ec31a117c0b227f9baa8d461837e8b17fcc4f21cd91cedc07f7bcf048c48130a1979e752a5cd8b9c877a5ea53a17719df220e2e27e4d5b61bb8908da43f4a97806c7033d470b98410a8d3e9ab46c0626c0812edb847a901ad142b2f0575fddd5276b1ca6d71e9631]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100b1c80c94171cbb6d3fbe48e5d7df8d53b100ad97395de4ea1397f13dc4f66e6a", + "c7e3421ae428842fdda5f8a11b3e32ef84544428a35c990c3661cf4a4b01c2f7b1a6c4f0f1cbe4748f3b99e430df7fd944a15f9c4068085a52edb54cadfb8c192a14393f3ad0c2766fe4a66ee48ced22cbe50d5e8ae8802bb8b2c84a29ea577573b9f105a6ed9703a26d7a117834e249174dbb142295ebd2ad49b53f35562d5a4e54ffde09bdff10e47a549c40710d8e14024cd9c65243232d259720324c25f4cec4324995293c20660b6b10e16c3155c0b663cc68c87ead28da51815b9b886726af34c42a1caa338ce9a2ed806e7699beb67f24aa6b00a87795858c2c9bede2aa2650fa1b3b210f5f3679a3b14d053a113eba0ff5dc6d1ab7ea5803d0507ea16b745c072a3477a67771d7d24df207c54a474eff20bb47dd46adba504e339c35d7c521e983b59b7be9777653773816af5e856973892a743433f8f4ef18a3ebf27c87b778ea5102fdb8acfd362687489db194764221d408c05456c43de9b31dfdf5f1084b83ae54b8696902725d8f982a7368fc47d98f5979ec31a117c0b227f9baa8d461837e8b17fcc4f21cd91cedc07f7bcf048c48130a1979e752a5cd8b9c877a5ea53a17719df220e2e27e4d5b61bb8908da43f4a97806c7033d470b98410a8d3e9ab46c0626c0812edb847a901ad142b2f0575fddd5276b1ca6d71e963102030100010282020100aa5ed117163315b6b3909261998805f2ff3c6c1ef0fdf7430f35dc1d5ae4e299f826e491cab6bd3ef5c5794843484f1dd40dc127c4ae17896990404bad27ea04df3db79c43cc268a413d57d423b5fbda65f7d41d74677e21b9394e3646c13ad85ec7f4b8908fc0dc298cd0a692e62ed6dad90dffdd54c487a1bfcb4baf718110f0af6fb7ffe9ce7fd027e4045bd32a4beb4635932d35c9422388f065bba27362089152872184efabeb9903fe9d8ef9f37f5f58f0962afd65f77cff9ffe3395684ec21c8301abfb8ffcdad266e1f08232f0b4995d29c9820445933aeaa1b4a27a5fcb25e11b8e4ed98a1fd8608c64cfc9b4c7457f08c5f4627dff4f752ec6dba7744f4ff471e2c04e217ce7bd466b0088af708bd4171815b6f94beaf77c9a37ba142e8cbbbad3b7275680a3313e18583c4461f17f37cd237ba38813c8c33de1cf113219b3fc6da0b5a2a116a6a975e1f3e079e49c2266b26230ab7b05b05300acfe3b9f45ef0403908914396b0340548a8e534fa54ba7bb3a936c180fb33f7ea6c1f9428329e3f80c8d219dc7f93865a9af3bdcacd71b8ddad36bf5afd135ed1290f01ee640319b277fad6a527fee41ccf20ec9c3d384c57ec39e024b829f0e297222b3b17305c1081d3e769925eef24081e86ca81f8178dfbd1d0e42a42ca2081293d588bc658b870a9f5a9790802ea3c9847e951ad4408f031ab21cffa9a8410282010100dcd33c92a5d8b03a45a5f15e57f05e1a9a670dcd39c64a9408e7472a184d61b8baa38e06c644c6f2dfb46c76f245986bfdd468253cdd05eb65156ffa53648158fa968fa76559636ecde47649cc633db9107dad2c40fe2073986d989792f00d12d5df4185c124a79520b70c9871b2290d4c0c40bf1380975db71113f14de578fec175e3f012c145cb75fc94e3bb6371d4e40eefc22a2a487e3365e1bdbf8e7e4681704f32baa8b772c6020bb1cd626e60ae199d2a66b3d8c5666bc8786242cc95c4244fa0660280b912cb8215fc2d6fd46b6dd9c43ae2a147b1f429b421163c2856bb44907b10238059704cc7657fd20ada530c6c821f274da5f42d906a3e09690282010100ce1995c9f982c375aede4345113286c49db4017f676150bda44ad10562429bf4ba518d91c0122228e89b1ec255f2c55c415f8962a3651a2de2b46a0b683eedbe984437434bca3fb58a0eeab23f1e38486ca6a03b0a946b6c3c6ae1240c3a49d6c1df28f96ecb1d741c2ca1902260647dd38f1b1ddd86d3a9bb4c55b77ba02e156382d6fdad3f6fcbd80f58a70877084c0aecc6e74ae26e69047b60de4861f0cb2780d2ab061fcc6d184083756f4e04607b9e87af3001e102f9ce1b07fa4cd6d21937108bfa209b49c35b589faf6c0e97ab6e826faa10ef186ccde1238fcd37a7389883eeafa79439298b2b6985f489bbc0658b17b132b9ee89f4d0c54fc8858902820101008e16595e5eda4ba2631840739d0febed20367919f937cedaebd3ace5b8176a6e8ba11b8cde5c78cae4085ad63a536f9ce5099c2d81b911cb0212c627832b235356823452d892a8b92e3ff7a0caa37c9eacaec113bd8a06e57a49e2aa7d007ad908c68b897dda90fe12bbd59ded625ea9d0a9fdab34e843fd2803141aeb2d612a42df11587328eb38dc6536844619d9afcb42952111327dccbe53aaea05ecb0f1baedc1f7f945002d189d4e5b0cb56e224543f3edc981a55476ef9961649068c5611ca023ac1fa625efa304c412ac45cd9f86625db22a0aee6fe19447f41633851d31880f932fb2382ed46482d49b67525662a396da2f238201eb58ba18b26c290282010048ebdc87bdf47a5be52756fdd4fbdf9b29814b165ce99dbbbba98d132e950ac1283b3aafdb198f6492087075aa1b5fa128b038d7e1a0200724335961f7dc6c1a079dfb3fa04d4b055c77b2aaa69276af8961db478892c2ff64d11c1fb903d6a459ac2fbf3168445f94a865f1ad7815963f885ebbce69a9f26006be3d514c7781b1d7d561a42ed1cb7a02d40725839837ef959f3aaed036e889616e00b7f38f5312030e86dc7fdbc0add805ab435a8349eff34366c4c1a56f7c1b648d0a0eade360708f3637a5d9cbdb8732702d8d3a0c87e76dd73c810957c707812527f8203cd6558038af85c778022eef894290273b7af372a74b56fb5a5f0d73e09c3e02a1028201001fb0531f765a15d35e89ddbe7b02f597929bbe5f0a2b5a366d9a7f80d92f81995f897da3e87f0c21c6972a4666213f0614b5c13ec1d575240aad4b85734a29e186736c81493fc06b25548d50a1c7bdf1597dd7010762a9aff1c88d67a8398455c381feabad29dc24794abb472f72eb0205b49cb50a9229e4ad330f87093440fdee344d449e6bca5e8a0353c8465d7688ed851126e3b77ae8690b10cf7999ce935c753ac01e8530cd0713c936ff2f7c202c70a8461a35d73f262c962c248b5f7fd2fff2c34c8735073dc0403fa0fb67dd7ad2fd94f6214edb96ac755503e88d39fa92fc697228f3090d996fd211dd7713ba9c2447617eac79eda272101f326d0c]\n\n# tcId = 41\n# special case ciphertext\nct = 58e4064a0b8e5db69fdf2472ebefc6a9d88056cb9caef27509cbf89ee27b373563f1a10d72144217eed2fc508d9f1977c22a221451ae4c861b30e7a52580e17bd8d3627878e5f23a479dccf2186fbfeca250afce2034042d2976daa656fdc60c950a1c9f9d68613b37f253377246769165f286af45744015dc59642514f52bbab9dcf882d376cb81d136bd08bc1a71248ba6dd8a114af5e956a4da9f9aab16ad272a7fef04deff88723d2a4e203886c70a01266ce32921919692cb90192612fa67621924ca949e103305b58870b618aae05b31e634643f56946d28c0adcdc43393579a62150e5519c674d176c0373b4cdf5b3f92553580543bcac2c6164df6f15513287d0d9d9087af9b3cd1d8a6829d089f5d07faee368d5bf52c01e8283f50b5ba2e03951a3bd33bb8ebe926f903e2a523a77f905da3eea356dd282719ce1aebe290f4c1dacdbdf4bbbb29bb9c0b57af42b4b9c4953a1a19fc7a778c51f5f93e43dbbc7528817edc567e9b1343a44ed8ca3b2110ea04602a2b621ef4d98efefaf88425c1d72a5c34b481392ec7cc1539b47e23ecc7acbcf618d08be05913fcdd546a30c1bf458bfe62790e6c8e76e03fbde782462409850cbcf3a952e6c5ce43bd2f529d0bb8cef91071713f26adb0ddc4846d21fa54bc0363819ea385cc2085469f4d5a3603136040976dc23d480d68a159782bafeeea93b58e536b8f4b19\nmsg = e2ab50f30a4777e36f7079f675903cd37e75324e974ec3d773fe4b4363373ad6231da9dcaec8cd697c46601a0c15f8ac80b7527585929623939a8fa3c0115a52636165d8429580c54a890034de3249908685e7c9637c54e27e427e955280ece18666dcf18690efa692e0fb19d688f43abd5f9ac9ccafad37edd0eb06f215394b13ad\nresult = valid\n\n[d = 328139eaa3f26fe34ecd67e26b59b8c4c388a7e748e60717290a25a01280d5a78ee3bb54a236806627d5b0400524b6abc100f8c2d02327c018d0c141d4fd2cd04456ae48e91e933657c65c892e2bdc8536b98c5b7b19d5d5791b22a47a96629c39198af98a7da96542c647f9868d12688015dc01b85f673987834de8cb598373a6de6d6779d4fcc1ee78b4db2306a4bab471a04bd9db7f1bf185a6f834217b16c37e734d59b65627fc107837492b4d6aa2cd2c8c65cec3a91adbc14f7390dae8415bc735e228fb9e3262d7e9df43f4edaa602ed5af0d1fcd4207db0f11496cf83325c9ee960752b690fe64bfa54d3604e734f6a778a6ddb9a1ebb121f15ce0e05f33a9ecf5fa5a4c40ff6e5732893018a7376d792473c186144c65c3c9712f465b4b99f0981798d3c9277463f258939a8eb810d7962fe79a25c49daeb25220c0c9798f8486a5ba0448bae6f2b369381f83c347c96bb93fae1f0c595c3f1eb587256bc2973bedcda72319b5dc53170cd6baa8c90eaf7c949cc78f20aff01fe8711eae4c6f03f4d08b68e2924515c2fb358208b94b2947c567885c18640b6581d129c4e93a75fb4e14bad15427f037528791a2c67cb84a2f1187ab0f81f1b2b56c0fd61a6d31599d5b43a0bf48b730e8e29665cfa861990a5be7453e61818d6c99199d54c631600dca24a10fa025c8a05de0ff686814aa6bfa1b8ed3f2d03f2a59]\n[e = 010001]\n[keysize = 4096]\n[n = 00d7d77972088826f58b6385ff9eb5ee72396ac7f5321ebff730155887f4ee30b81bd55e1bf8a3e90a4dd2f6210b2e3051dc74490c73b0116a774ef2455121d5c9e5d702a5c28652fbd38a147580c6e6e4cb0b0d7d36206f5ea72ea7b3297fa4f6433d2698f9313a6d58f42d3424c511f050e782fd5191725a0686468cc004854d94e4c6e38635a16508f11d5415bb51457b8e7e87d2d95625c5a1b0225fd13e85c2c0fe7a3fcc727de00e3a52fdd2ab58327a9f4087129244ebbb396598bcae80a5ab92730b1da9474ca8a56a1be8c3f22a7772aaf1680896466ee60e766f2f6bc2bbc1c5899b14d9483784f792090966898e1434f0f6e87c98cdda440d66f4758f5d3d1b06e42fb7f925b5a3d376b983682e3de0ccd7cd25b211bd7a3c72fe6e215f2d6cbf4cca0838601733e182370adba272977b8a88427908d855014176dba7dcdf92d33e049d06923b1d02ee2f3492a74170073cc39d311b6dfc21af95ad2537fb0b010097f122a051bc93098c594709948a2b26972f8d83f8fb45b2cff4d7a5b28f970e68c43be5740f1843272a99eb494d24979473f1741f1d619ae5ff888b626a6033ddd6c2860fed60921ef13d615428fea0da9f81d639f0ae40f4dba3b60780b68f359c6a39adeeb7ceb2cc9478d5a38d86fc5e703fe84d227d8fd724c96223924e96997e23f7e02b9f57b7bdbf639969c8dd13616d7ac02f4db867]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100d7d77972088826f58b6385ff9eb5ee72396ac7f", + "5321ebff730155887f4ee30b81bd55e1bf8a3e90a4dd2f6210b2e3051dc74490c73b0116a774ef2455121d5c9e5d702a5c28652fbd38a147580c6e6e4cb0b0d7d36206f5ea72ea7b3297fa4f6433d2698f9313a6d58f42d3424c511f050e782fd5191725a0686468cc004854d94e4c6e38635a16508f11d5415bb51457b8e7e87d2d95625c5a1b0225fd13e85c2c0fe7a3fcc727de00e3a52fdd2ab58327a9f4087129244ebbb396598bcae80a5ab92730b1da9474ca8a56a1be8c3f22a7772aaf1680896466ee60e766f2f6bc2bbc1c5899b14d9483784f792090966898e1434f0f6e87c98cdda440d66f4758f5d3d1b06e42fb7f925b5a3d376b983682e3de0ccd7cd25b211bd7a3c72fe6e215f2d6cbf4cca0838601733e182370adba272977b8a88427908d855014176dba7dcdf92d33e049d06923b1d02ee2f3492a74170073cc39d311b6dfc21af95ad2537fb0b010097f122a051bc93098c594709948a2b26972f8d83f8fb45b2cff4d7a5b28f970e68c43be5740f1843272a99eb494d24979473f1741f1d619ae5ff888b626a6033ddd6c2860fed60921ef13d615428fea0da9f81d639f0ae40f4dba3b60780b68f359c6a39adeeb7ceb2cc9478d5a38d86fc5e703fe84d227d8fd724c96223924e96997e23f7e02b9f57b7bdbf639969c8dd13616d7ac02f4db867020301000102820200328139eaa3f26fe34ecd67e26b59b8c4c388a7e748e60717290a25a01280d5a78ee3bb54a236806627d5b0400524b6abc100f8c2d02327c018d0c141d4fd2cd04456ae48e91e933657c65c892e2bdc8536b98c5b7b19d5d5791b22a47a96629c39198af98a7da96542c647f9868d12688015dc01b85f673987834de8cb598373a6de6d6779d4fcc1ee78b4db2306a4bab471a04bd9db7f1bf185a6f834217b16c37e734d59b65627fc107837492b4d6aa2cd2c8c65cec3a91adbc14f7390dae8415bc735e228fb9e3262d7e9df43f4edaa602ed5af0d1fcd4207db0f11496cf83325c9ee960752b690fe64bfa54d3604e734f6a778a6ddb9a1ebb121f15ce0e05f33a9ecf5fa5a4c40ff6e5732893018a7376d792473c186144c65c3c9712f465b4b99f0981798d3c9277463f258939a8eb810d7962fe79a25c49daeb25220c0c9798f8486a5ba0448bae6f2b369381f83c347c96bb93fae1f0c595c3f1eb587256bc2973bedcda72319b5dc53170cd6baa8c90eaf7c949cc78f20aff01fe8711eae4c6f03f4d08b68e2924515c2fb358208b94b2947c567885c18640b6581d129c4e93a75fb4e14bad15427f037528791a2c67cb84a2f1187ab0f81f1b2b56c0fd61a6d31599d5b43a0bf48b730e8e29665cfa861990a5be7453e61818d6c99199d54c631600dca24a10fa025c8a05de0ff686814aa6bfa1b8ed3f2d03f2a590282010100f110d1d96e1e3fb18eb6dc533c286f36486a10a49bdba344556c0ec6682703d80916aecb3b5a4450042cdcec2ea3c29eeb3533a1ac0fdb27ba6a80dac8ae874daf1dd734990f5ae155bfdf5cbfd7efb2b448056d82962e0b9aa5581516797993f770441518a5a0dc96d830e06347e5509e9100ae2a51307815dcd9924371cfcdcb4ac6fcd9bcbf66503ceee682c761715e6367d696bddba1d8aada6bcbc909bbbc2d7a153c91feb62d640f1d0b86ab909c2e3d5c0357f673ead7ca72f3700a70f8c7a0bdf1d1549100c2412859d00bb8a72f8823f96dcb0d78dd0884cc18a81b84c97d56043f0d21f67145b2025cc3dedcea7a68e716e91b63637a656ce4c1050282010100e5369d5c578747f0fe1ca8d34e4c17c1464b5a14fa9096c2a1ab12cff4775ef0ccb5fc50c89291483045e622ed34876f05aae752c7284ff3b54eabd37fe499ccbc97af78d15b821e56bd188814d01bbca202b0f8cb389937edfef39634476913786b7b258b0d87887498b7f051f4b4134ce9d553235a1d977662b95386e7dcdc7dd537a44b80d47bba830e7cdede5550d787e4561bbfcd3b705a0210f5ef055eddad563d1471e031f2221a9163e5dc44439bb0cb08395c2b9c6490c30a0476d95c3790ecac7d20eacf2602b1cadc8bbde1d3e4dff6e6f62bc310b680bd1ccd5083878652e2d835fa4d776dbb6ae76d39d47934742fa6ceb747314a4c2a6dff7b0282010100bb5cc04d8759f9554ebfef84bdf80b601c6e5b9b250c53dc53ac55db7dadfd3dd6ea8b56a83de36471aa50d73cf4c8da6da37f0ac449daa3092fa810e3f34a74658c02ecfd9dc29beae2e37f1a188253d9ed3452c631657e5d66ef8c0c58c3d6ee759264f7301c53f6e5f72f1fdb0c6f599f07f156309e446771aca512c88da3bcc2d4e047777d27cf6b5c9f4abc1e8f57b659499f05d783f67beca1e5d4ce3cdce857bfd3c10140a50ce4f64534197a9ef90d75cb9f7d8ce0d571a360740f9978b2e7cb59fcc206a59955bd3ff9047333762d1110d775ff75960dfdf107a4f9267ed86c97864df5bcae9365e4922726bb7b7f42b381ca1220707bfc02e3d4e5028201000ed6f95b28238f09d039e4c8417275bb42a4d0413973b0ff0ade7b8a512685540bbce0880e6446d9a89e6de6e6fa96a61e74d1232fd7b14d72f893f14e7f6b61b0f815193a5cb550e786b896deda1661a10f918b9a04a10ed8eebfb082d3f8be94f64873c6cbea7170330efd9520c5a3d63ff15abf982f00465edfe6c37e317369062be30c2c5c15629ee78a3817a6e863fbdd51a1dc4a1a460cddc36158c73d3c16e3d5728468e272edb8509f6a1b57a414e95e4bbb02f7a3d972f1ddad2a50aa42c2b43ffa9dedf5d95d254b9ff9c02265c894a374928d84c4893c4e8215dcd79727a028259d610630ec3ecd0e0ca948d34c0d15a4b40f73a18250ea12530f02820100296bdbf80bffb928a2ea9a38372b66297aa255188829562463b72a6ef2d7cbd39806741c866a2cefee7954705ce9f23dfef77c6c927bc5f065fafdf893880dcf17eaa9a1c579d2c48993c232b1b0d6738977e6bff12a2cc2b8065e423e357db7a85d5a026419a16fd513d530487372740d67c2fee220dc3b0c005cf3b28c73502425ca5ef748e304e5ae70ba54afc63b173ea6daab9432f57d97a432e9e409ad3ed191a8093275bfba81b865cdae6433a34d6319d1263ab7b86a4a030f165c2b540074354d7b2be097659dcce4d4096170bbcde3cce0c9ead51baa416b5e0202bb823c42acc561437a4e3d793cf704429ba96699c6fd5cfdb3ba1db090b6c6f7]\n\n# tcId = 42\n# ciphertext is a simple fraction\nct = 096f1239819d50eea35c3c05cc0b5e88fed07625e04235b8c641239c6cdaef5a3c61d703cd89278957e44b88f3f855b117eb8ff5e0b3a7e93ef4aad340dac77f7263cc28ef6c3018711c5a2e4e1846fb75144b7db083ead71e6126493c0371fbf7d0af790819871d524659fb4e52593d2d331e1a1c3d7f359473518bad2622c81d65bd1221931ab021dabbe5a69234f1ba72449df80a0163525dc3bb1c9842a2869de8fcc3006431ff5360c7a6e4211e94480d24c3765d1a0ef63b1fe807f5c5435d0465bf8ec5de13c884712f7e29107427d7c292e3e837ca9409c6396bd9b934e389abf9ba77865212ec94df3c8aba3fc13cd779232a54891c62d1718a69bcc1e1609ebc0026c1b22d09fa3de44a0e7b207ab5fa788e2b0bae639ecd46df6a51767d3246bd4b101a2682305dc9240d007abd2b290aba039bf04680c019dcd0892c883c713d6c4c0e05ffcfbe51ad93b40546818d9d89d8ae4d8e14acd6905287c6a3ede1d1e850ea293d7230a457ef19c86489449559c965ea6059a80894205109c2ef9b93ef9adc1c01e9ef0a53200210b3e50ef5d19108d7eba01554681c747449df776a548a4ea5605e0deec3307861470eed8954e81d89eece2022bdc546724482d736eb1e785aeb2da9b5c938d5d3bdea1c252c3e9f32d6f129af69b885a13457ff23ac7b86b663901e5c1c5f77cd8205d26994bac210420fd7dba213\nmsg = b696adc28ddae0059092422bf746d9fb3a7e67d5844edbedbd2b76b7ce3d46f6bb77bb04a3b3e06e8237a284e18768cd07be1ba83491de275b2bc3f5beb76f74e7dde2b7b4e40794b3b4e9716de2d9dfcc027f65fa9f4e081b73eb6e50ea6ad59e3d59f4d0efe6accc8ee0e5a97a136c711376ffeed80054af8c6021f278ee55794c8ec92c0ac732a5dd28a02ea0f9485a6d0cb06cc0440d02a3d8fbdcd7bd21d1f134e1de993cba7c527f3340a7220dcb27d82397f346f31f0a36275ef52c88e2e73ab665869611c9102431e13c487998f998d5f39b4e1dd572b829c789c83b91bcc7a837f881c21316d59ccfaccf704672da03358e4a40be0a6fbd016588c47d59b4580da571a2fe39d2a035209cf0d2673d362a5678d7736211c5f6e3fc1d9d7059be6ff5683fae0348c62c30c4603cc13d16f588bfe12613e8f32db3a8a3b344c55e3bed63d04d1f0ee66aeada45d44b3bfc4344202fcf119231676145019203ab56293c531b248293912a1905536d8c45f2026637c065a2ec2675c6429d8bb97ee72eee254e493c004dbf6827e35382e87eae2dc189\nresult = valid\n\n[d = 009728b9e5ec9ffffbf086237f4303b3af264793e61b5131c09b7e3b26fd7069be7c44a7e8a8163d6d91632bf719f37faebac2f2be852af51d9b5dc6053fc2fa852434bfd7b83e3737600a257985ae600d4e7602a8570385551c4b0ac6e89ba15732154522e08a29bb1fcab6f3e4b434d0624208382f259b0bb1e73576c87956c67e13642ff76bcc0e35ee92adba30e4685e1504877e92a0d5b144ade82a6d0f62801fdf74e5248cec26148a32a098ca419d63df3dddfce4e8ab9557910b62f3ee9c42a9bdc9ec05bd62b069b63dcc48fe294eaf557835d10a5dce285a05cf55de676785f5021e2b721e6230dac62ff4be6a302c7cbcaf89efc7d73c3329327df92c3997d5312e314577578a8979353ada5f052f2edb21b65f055e8e3ce2a495529c6b5bb29a44dbab8d41beb23b724a1caae7abcdd286d552729ea6a800144a941bec7cd4c9c22af7f4c807c7971d7e074224a4241dbaa08237bccc8674fdbefa2b66f34bfbcd965e51786395b3e9d9815eba097aa3b990c661371cdada27c0c03a06f2088838da6a5c2b4c18b3b5f15ab37784b730752e200169e6b8405fb00c5ea03b7b187173b8c0f7e619ebcc8dbd93e98058f28b30e48136edbe313022cd32f4d682f1b3d9388048ffb7cdcec8138cf31ffc1d52621af0b59210389f25561d7b62c22544ca720516e2ba8fa6d04603ab6d18580a1a1fc701c1f9f7f1e0a1]\n[e = 010001]\n[keysize = 4096]\n[n = 009a707a36b5cbba96c9d4beff3329f7bbf02490dccf000e5fe85e6fc690829ce152516c9a6b0a83a51cf92b3c31fe3e1591a407c7be3c230af91aeaa3f6b1a9a0cf81641b690594c90791a5e82380ce9e5cfe9c931d069311bf0d4011101901d3c1023226a5ab37985e6ef39c49dd73ccccdf9d83128fa4b12b9eebe1ad2c11b40606a0442e1217c940824c9a888a874e75cf85313991ef5be6738d0827a4a1583dfb273f04002f106d425bd8369c2548ff489814124a23bdc49d560cf3521a6f326413c7ef058edca96a552b6e7feff33cf5103743d4dad12541f79883ddde383095ebf9b9fcc1f21c5c695d79f461cdcc26dddc69cf3377fab23249a38527afd3dd5277b2b056272a24c1d33a785496ded3d6540feeb6c93e592448e28", + "d19f9b8439731cb2eea336e799657e95e5d1cabfb35cf92b1f43e1441af88be60b61471f07550e236235fe68fc178c40a0fce0e808ef544888411fab1c2014498db4750eee6ef7d2c7b95e5c6a01e2ea01fbce551e8dfae487798bf60c0e38dbc444b16a8415b45498b37d372b1095ebcd8502431b6d91af8c0b1da4e589339c4c0a8565b40fca50cdd2167724c27c41fe4c554b6098fa09244b4a3318cfe64bb939a8ad1bf31d70381a90ab3b54b11d6adf88a94283e281af734325a81d4917b06d73991b7868e559a9d07395a7ad1cb589c8015a12933f4501856075270f7bc91e7]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a02010002820201009a707a36b5cbba96c9d4beff3329f7bbf02490dccf000e5fe85e6fc690829ce152516c9a6b0a83a51cf92b3c31fe3e1591a407c7be3c230af91aeaa3f6b1a9a0cf81641b690594c90791a5e82380ce9e5cfe9c931d069311bf0d4011101901d3c1023226a5ab37985e6ef39c49dd73ccccdf9d83128fa4b12b9eebe1ad2c11b40606a0442e1217c940824c9a888a874e75cf85313991ef5be6738d0827a4a1583dfb273f04002f106d425bd8369c2548ff489814124a23bdc49d560cf3521a6f326413c7ef058edca96a552b6e7feff33cf5103743d4dad12541f79883ddde383095ebf9b9fcc1f21c5c695d79f461cdcc26dddc69cf3377fab23249a38527afd3dd5277b2b056272a24c1d33a785496ded3d6540feeb6c93e592448e28d19f9b8439731cb2eea336e799657e95e5d1cabfb35cf92b1f43e1441af88be60b61471f07550e236235fe68fc178c40a0fce0e808ef544888411fab1c2014498db4750eee6ef7d2c7b95e5c6a01e2ea01fbce551e8dfae487798bf60c0e38dbc444b16a8415b45498b37d372b1095ebcd8502431b6d91af8c0b1da4e589339c4c0a8565b40fca50cdd2167724c27c41fe4c554b6098fa09244b4a3318cfe64bb939a8ad1bf31d70381a90ab3b54b11d6adf88a94283e281af734325a81d4917b06d73991b7868e559a9d07395a7ad1cb589c8015a12933f4501856075270f7bc91e7020301000102820201009728b9e5ec9ffffbf086237f4303b3af264793e61b5131c09b7e3b26fd7069be7c44a7e8a8163d6d91632bf719f37faebac2f2be852af51d9b5dc6053fc2fa852434bfd7b83e3737600a257985ae600d4e7602a8570385551c4b0ac6e89ba15732154522e08a29bb1fcab6f3e4b434d0624208382f259b0bb1e73576c87956c67e13642ff76bcc0e35ee92adba30e4685e1504877e92a0d5b144ade82a6d0f62801fdf74e5248cec26148a32a098ca419d63df3dddfce4e8ab9557910b62f3ee9c42a9bdc9ec05bd62b069b63dcc48fe294eaf557835d10a5dce285a05cf55de676785f5021e2b721e6230dac62ff4be6a302c7cbcaf89efc7d73c3329327df92c3997d5312e314577578a8979353ada5f052f2edb21b65f055e8e3ce2a495529c6b5bb29a44dbab8d41beb23b724a1caae7abcdd286d552729ea6a800144a941bec7cd4c9c22af7f4c807c7971d7e074224a4241dbaa08237bccc8674fdbefa2b66f34bfbcd965e51786395b3e9d9815eba097aa3b990c661371cdada27c0c03a06f2088838da6a5c2b4c18b3b5f15ab37784b730752e200169e6b8405fb00c5ea03b7b187173b8c0f7e619ebcc8dbd93e98058f28b30e48136edbe313022cd32f4d682f1b3d9388048ffb7cdcec8138cf31ffc1d52621af0b59210389f25561d7b62c22544ca720516e2ba8fa6d04603ab6d18580a1a1fc701c1f9f7f1e0a10282010100ca399d4e22e241b4500194bab6eeb997d337ca7d4c660170377eaee83c69686ea6d891aa07388c4f17c1112882f25c109bf6d5b7c7b07e6adc5e9cc5319d0a43e3df5961bc44e9469f1b61f71146e6fda1ff8c5710aec6268aa37959e9560dbe922a164e35c7c8e20049bdf0f58a7fd8ea65caa46c5c175cc534fd6ecaad4bc85c74a90d9621d80400bc1919ddeede28aa1a5a8660f3361e4aee25d862e29e8eb4b514ff06cd0abfabb796547576700672b521acdfbf0e3c31b2ee4d963308b4d8799bc5987761f881e0ccec41317d04240407aa9c008360eb104b4de3d08f55edcd1d8e9aaf21000c5c5f03448320ec1f109ef7f52de5a1b890491f3db9b1570282010100c381df417ed680c3bd06ff199390ff18572e1c4a1bf59b8f2b4cebb6300a86d4cb45e9c8072c18e711a0cd5b9454f028559e385026e8287ec2058ac700cad40bc13b86a7c069996d204b9c7648d9978f6c2423b643b93f1d9752a0bec0dfb935637693d1eda269de3cb61d1639a00266033bdf6111293750b1bfc289cf6a83003f73722f149c96b0af950c66529d5ae57dbae9d1da9b394ecb304a48ab70213ad8725120107e063315913334c1409e90fcfa65407e477dd892b7b4eb785af538122cce8211ecdf76325574b693fd054cde3bb0d9396489f431515056212fcafca4285fdaa668d8052347af6df2b80230dd3661b36e02a07623c027a1b4a9f9f10282010100805d11fd0727978d5d3ba3ace171a75d3835b1d2d72be8bdd27c178a52ce95fba6ecd1899c0bc9046b8fa1d4954a422648d9e5cf427245cc8f157f6dac90827395b1b08ad976e49c6f62724ce22a9f755fdf56b5ed610366739a50ed41afde0999be1d6a87b8c94aabe4232d50af1978175185cfd8f89bdbc7525b8c781a8880262fe71f38ad42f147861e68ccf7530d7cec3d8a0f0052d9e7b6434f9775423053849e4f4381e3d0c6af423d5a5253c9c40635da062cc05c752f9f14a0c2c44407252a3bc30c04a439ccf846ff1aeac0361c58c17344e0202515b2b73e64a49766db4c67b8c871aa162e8c2106dc3589ac2e60ba04679ddb89cc0c9e48101701028201005deb36cfe4d9b0d3d72bd4427a244e9767d20bdf021d73d44c2dd0921df4009f9ae30412867785a30351e7351645d374dce47c12ed0ddbde40e09eb148cd271e5a7e790a7f217b85f3dcbed607db17b6db7165027af833bcc863f63a8cb72ce6dbd82bdcce36967b1f593111eb2ed5d821b79270b3e8c3dcecf6bcc2ad3472a81cd31dc846338f2463c4cb47206add2e9fbeb9f288fcc683f692452d31c655004ad867e66a65d01e9c3ebb859d4ca89fe81775aa8cbf555243f1226577d4e236446ce7eb8e26e79685498e1ee36aca300a164cb79d9d91b410390ac9c5798b1ee0d15072de3c4181fe57c28ba3ed078867cc6714e64536c66a183631b5736e51028201010082c5981303f087559e16ac8004dc7ae41d0ebf61c37c706f01f0d6b950b3fb3582cacd46c2fc3160d0a7dce6e481fc191758387818a14e3c5c59cc7318174643017d7b4a5d8703446f8a41ac86b5534404be75e2c163597df52c05582771766a348d37a4e9171a689da8bc8791e9294a109515cb40995a3d874d08695ea9f7835a9d3f39a1ce7e6078af5a328b79451fbb02c43023cf5433f5ff00617e0596df8171672ac9bc0049fd5ddba0f06fd10000fd5a159d0c56372e688e5c54f76a07196a51629af9ea76476e09b8193f274a29cabe2a5cd602e9d675aa7b8f98f87339746a593a9380a7dca08f48000465e33e11b9e67d490cb38aeb3af62af44760]\n\n# tcId = 43\n# ciphertext is a simple fraction\nct = 56aff1b3694b12721058f9906c27d6898113c0d7955d372d174a5305277a3e5df29c6527896bc5e7eaff00d35a34a5f91834d2eee28c108a143e9330712c647fe26bb6e4bc65b15a7aeca817d90a8eb5293102c12ae38812bd65262b0ec60f14815676aea128bdeba94c1b9472229e3ce42da29ce58ed3a6718004caedd0838ed99d438bac4478bd76a29317e17adbb4f9c661b0aa50700193d892ec5366b160a47036f1891bb370cebc8278207a355dcd4c337716a4f48ee367493d08ce26346ed37503c12631add0fbb7014bae27cfcdc85f56035c05bc9d1fca300d446b7213e7396d73176dce4d94fc625e7030670211f98e67bfd97079a308f8126d4a6f8d61327f9d04d7fe755501fc0c4018b160007f4a36af2175fad8d612f20d2417facfdee6b28f9b9fd81a5a602e6c5761b1faa9d4fad3a33d3e272cd4655672091e8ce5c8c2485d8986f43ff0cb1798ae3c22ef0a871d873de7f997eb6273383d0c511548a4e291380fe423f78371a5c9efbda9c0b51b512883f90a5bce4d8e6c99ff27d0bc2fbbeab391bb5d877e07445933cb0b55d59a17556ebf1c24ddddf8666e4f4566aaf7b7364943e9d8681ae4d352551652ee7ae687b638c0d6a7a227e8eaa978211517cefefd08532909b88765605415b6e1abad13141187c719a01e39050e98e3a2c0e91cb0c4c5ea052e34498f7fad67051d650aa7a8ad8d6613da\nmsg = 224d2a87348e18c85239f4428fb5140a16bde575275e65d21d90b61120de4986c1a8ddfee35ec22958b8039af0f46ffdcaeffbd2b9ba7840d865595cfc22ef383e4755ab48878c21f31715442a620beded6429c333908fa568e754ed078b77ab19c03fabf9c825ac19d700df003a00c66cb460f9819d02a4762625cec6d3b61eeeefe40761e791d0dad80ee3bb0de70f59f0bbdf9e00002692b6eb52fec5bf65e00abd1d9d5a6ca22e3957e442fb18977fa721052ccc5a2ff18726ff69917dd603bc9ce6be6699612f46b0b3cbbc927bcb5760124e3ef48225a6a5374f96fdc72e4953b74ca415585b0b045ba09e8e1a4ce183aeacaf9f49475d42064fdae6ef3d07a57298dfd6b39e292898a8aec16b3695ba74da57828dc4b11a5592fbcae2064b0d3bc44c2e37c49184806520d418170a821de0d3688580fd7d522774ad342b571e6b5a5df93a25573376ed995f2245a38dac828499d852c9bd4b4b6373fe2d374d5ea745392fd193df51309c983f1483a7cbd02f71f707b675308bb4235ede4fc18123d4a3902e8b5d9cb17ec2040d4c37df674ade4168cfbe36c59c8cc725e1a6cf5141\nresult = valid\n\n[d = 51da1779fe40b0a9ea917965f7bdd531aed4993ffee3dc01b7dee40d5b5f872071476dd4eb3a91ee43f5be5fe45a00e412dd3a3c4142d55d2458c3fb457caa702ab6702f984bed85959aad5f6e0166b90a251782a95999beef46cda6b59f74047d30b4b9591a9fa1eea06881383041d56f79fd55055fb2148eebeaa4ca746a068e44439992ef9f7356cdb9eb7dff1e69cacd610daa081fe8cf768419a519a63bdc64af685a79b3d8206a3ba0764ae8fc1e9e83be926160e977bc1f15b9c5b1ad7fa0a06d6d8061f334e4e4609e1f0d620036ceb227ebc279869b9e8f89885dc4a7575f3bd78aae86a0a2bd8cac42e26bac7ff407a8291bd085426829f184941e4f1fd4d1f38427a82c4e11407805c004d7e3daa4ab4f8ca4d4d2bdcc5dcb116283f378f05473df6cfbe91ca92d91c33863e188389ce4d5e085dead3de5d86595e680ac78adab8b42ed40a70120ebf6abd0ebc877fa3d44bbe2e4deffcce30273791cc5300938d2c1fa49cc3d47a8401553107f5ad33d842e2966a0f8afb7df3ed512a2e78d1ce8a202d1ee9545b0970d751ed252cc38b9a332f1ea753a2edf388fe4c8241db4a6d034dd1580f84c1f95dbffabd1f403fe9e5749174f4f76aff303d7ce37b93b94e38144281cbaf6005a2c64523a2bcb39ff276bec54487704c6854dfba1fce1f18aa3c4f14331fc066bd813bf1550485729221d731", + "9b4ecd2c1]\n[e = 010001]\n[keysize = 4096]\n[n = 00905b8d4867228c640d6a735903f06fe0485a00081a42a6cf78ddf798d30fb9748300b5d90ada8f06287b074235a35604a7c5e411627b0ed3428fe701a9db9ff8a67ca1699991b42cc5f7c0e8fc6c6280f86fc7d68f994a68015cbbeb146110b9f5acaeaad5ddab6ed1ff2ad5833bfa164651fc7748819124538dfb6018dd4129ff85fe1c7bbcab175b1bf28175bd49db94235aa0748c7f18da05c19cf85caaffa1dee73bdd9fa69e88ce894e1bbebdbf59858e1dcda058b24b8b18de630fc93d598bb63ed08858894751229804d9010ded527f2702afa96613a7dad209503d6018e23aa99308087f15b9552544d547404f38ef76a1d12e6a9892b17054f95ec3da5f19086858e983074dc6bae73d5d614b259e7ab666e318a37ed26fcc7848325b09b026d77b66614ad78eea7d1627b71a047930f27a41592e4a732150e2687185ade386a5aa7f1f7f29ac66e551b5d141642deed58322b9718553c0293f66621b0c98d4ed07aaee2117fae99749a0ce4ed43be4ae126230b6cad40fbba147e3db9def1cb706a9f5f6d24c45fe6a84ac607f9448570e31dcb923f2499a1f11423062633c9896108795fa938290fee286558db02af1bfc78fa36a13d0ee8e2eb4a8e1088effee3c990aa249cfb87d67a5ad8b222cee3e49dfef53abe43400e0490462cc92a4e399efeda5991254652b75eab57c29c310664fc6bb4b032a7f5c83]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100905b8d4867228c640d6a735903f06fe0485a00081a42a6cf78ddf798d30fb9748300b5d90ada8f06287b074235a35604a7c5e411627b0ed3428fe701a9db9ff8a67ca1699991b42cc5f7c0e8fc6c6280f86fc7d68f994a68015cbbeb146110b9f5acaeaad5ddab6ed1ff2ad5833bfa164651fc7748819124538dfb6018dd4129ff85fe1c7bbcab175b1bf28175bd49db94235aa0748c7f18da05c19cf85caaffa1dee73bdd9fa69e88ce894e1bbebdbf59858e1dcda058b24b8b18de630fc93d598bb63ed08858894751229804d9010ded527f2702afa96613a7dad209503d6018e23aa99308087f15b9552544d547404f38ef76a1d12e6a9892b17054f95ec3da5f19086858e983074dc6bae73d5d614b259e7ab666e318a37ed26fcc7848325b09b026d77b66614ad78eea7d1627b71a047930f27a41592e4a732150e2687185ade386a5aa7f1f7f29ac66e551b5d141642deed58322b9718553c0293f66621b0c98d4ed07aaee2117fae99749a0ce4ed43be4ae126230b6cad40fbba147e3db9def1cb706a9f5f6d24c45fe6a84ac607f9448570e31dcb923f2499a1f11423062633c9896108795fa938290fee286558db02af1bfc78fa36a13d0ee8e2eb4a8e1088effee3c990aa249cfb87d67a5ad8b222cee3e49dfef53abe43400e0490462cc92a4e399efeda5991254652b75eab57c29c310664fc6bb4b032a7f5c8302030100010282020051da1779fe40b0a9ea917965f7bdd531aed4993ffee3dc01b7dee40d5b5f872071476dd4eb3a91ee43f5be5fe45a00e412dd3a3c4142d55d2458c3fb457caa702ab6702f984bed85959aad5f6e0166b90a251782a95999beef46cda6b59f74047d30b4b9591a9fa1eea06881383041d56f79fd55055fb2148eebeaa4ca746a068e44439992ef9f7356cdb9eb7dff1e69cacd610daa081fe8cf768419a519a63bdc64af685a79b3d8206a3ba0764ae8fc1e9e83be926160e977bc1f15b9c5b1ad7fa0a06d6d8061f334e4e4609e1f0d620036ceb227ebc279869b9e8f89885dc4a7575f3bd78aae86a0a2bd8cac42e26bac7ff407a8291bd085426829f184941e4f1fd4d1f38427a82c4e11407805c004d7e3daa4ab4f8ca4d4d2bdcc5dcb116283f378f05473df6cfbe91ca92d91c33863e188389ce4d5e085dead3de5d86595e680ac78adab8b42ed40a70120ebf6abd0ebc877fa3d44bbe2e4deffcce30273791cc5300938d2c1fa49cc3d47a8401553107f5ad33d842e2966a0f8afb7df3ed512a2e78d1ce8a202d1ee9545b0970d751ed252cc38b9a332f1ea753a2edf388fe4c8241db4a6d034dd1580f84c1f95dbffabd1f403fe9e5749174f4f76aff303d7ce37b93b94e38144281cbaf6005a2c64523a2bcb39ff276bec54487704c6854dfba1fce1f18aa3c4f14331fc066bd813bf1550485729221d7319b4ecd2c10282010100c408dd338d45a42ab6d4da18c568f150e85d6c68b75105c319a8b0a149347fa1dd7895054a7783a211537335a16e9cf6afb3d66bf4f4a7bbbd679261e43291b217c60bfb597e12c0d297237cce899442a7311acf18d3aff8d32c424c1f736192258ebe6fb45059006be12c9db5d940e8aa4170e37313e5f4672c70db02eb6c49f71fa54c74e52243a1aafca8ad583b1114d98aa83d12c06c2d712a675850dd8344133cffae61f6c4a20648f5812f72f278a765a5e9933a6a90a8c2ca2f8bde2469c563663ebec83a77768cf5fd4dabbc9e4eb610e3825acc23951c6ec0c0f12efc4157ae5839bb929f3c5b137c73857004fd7be89b90f2cccfa7f8001b4d35d70282010100bc83f34a5abae720833e5b252084f2e85fdb312f54a59983d2c10176244f1658757aa42bc3c4c12d5f644dd7f31cc30ff3179ee594fd73a90b436a1cee1a9fcfd32878143d193cd15c5bb92043fe95e6f38a5d399f1bceba64b1c97fa3edc0a5e217143b204b8bf179d4d33533cb7a6c5141ecee7961325bda31e8a3a8c76411e622f7596f3ce1b420a8a6cf0de744462c182e3593fa692548ebd7360d4f4464d1c353cf6b8c6a69dd6e83fe00e50a7c949bb97373b6b398fd8a60e56944581a2b1520abb4fb8d10fd0b98e92444a776562d46968446b9454710edb35d3ca56eb9e4efa0f2a30ba2c469351f0ff1b36a9963d9647c7174d2faff8ed0bdb1a1350282010100b3e10e58878127aaaa299616b4ce1ee086d772ea838bad25e11d9135edde665f38c1b4bc2e208c80e23518ba556f1248a9e0f3180ca592640ae046c9dc832a7da8a2e9cbb1caa59a99a265c5d81f1614332633db64849a2c5059845c255fd260306653085d047d268dd709018e23d413aa667217c338b70114cb0aa36c8269d355178cae23753d83a18d2c59faf5c2fd618c5c5713f368eddaa4c4ac1fb5d40ce722600e9d0cf74a67022d60593218dfb526a5772065206d3860229d3413bbbaddf369ca20391fb1c67cd9cbbeaaceb33cf02cd0427312adced8bc464448c706be21973b3b697e5c8410f5e16388fd2054f3e40704f87452cb18edcfeb3d65f10282010100b6d88d0b9b811958d1b3939829388a9a950ef75fdf0c582022350e03d727d696aa2bf03c7abfc65709e53213b93c367eabdc47448b0462409e2a1f2c3c4e1a9feb419f6691f47ea6da9c24ad8505d3c39488a9ef8fc1dafbb35b3603d5ae6f62f62e487328d9ddbcb3dc97974ccb99cca1ebfdb1388debd867846d0f004f95623f03bf4241c09d72a712ade8baa58bf53c239ffe5baf5078d787d8d0168cc1dbc01162a316bfb51f45a541e5065d2194c05762c2f6834923a517a8f01af02d3c0479939cb8081d45530b029f6f8c1f9989f0943cbdc413437cb090bd9e3b8a8221504a94a3833d6ffc6dc7167fd281a16d7209938b984825b34a58ed62707dd9028201006838fc4ef8d5f90ab240ac06edd5efb7113b93bf587f769722bedf2b6b0ddbb1f0c0263f0f1cebf5c44200fa296a5e4c94a26d0b54528716be8d2df357f7151f7e9865a3ef24f6a88d35d126eeb642130d5cb8863f4189c0ebd37364eca821d14c0ab53f358b2fa42c1f0b1af668deb578de060b1e330eb99f89b22e406da3d3c4c2a3150347bef878e7e98ace7b68311ab3b9cc5fd010783e5c8b67cad8d7a94bf8a830f4f33cd7fdd3dbf0237e951f9f131d0876ca8f490df696c1664c53c9f8d6084dc69c88b504d66f4101cc0b39110c789007f697025c95492a6f4f22b5011d078b30b8731972e8c0b8a48146c7fe0c71f77af5bb9b7be1f4643fad0ffa]\n\n# tcId = 44\n# edge case for Montgomery reduction (32 bit)\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nmsg = 99e006f04adf3ef6cff04bd176f6e94c43144fc777990aa8e3fbe1af20609cd35d1a8c65d0d35dbb0b9470de1b16249b1ef4e45662211314ebec26918c2545456621c256769ba4616620e67f9f40d149952cafff6da800aa5e4f67938e7f8f39abdf666f5bb878c5916639a482c26862f83027949187d5342c28eec832d2c225126bb511ea0fc0d129e9b14f22baefa3ed561119d95f3b65b9c2416435f95b056cc7e8c475d2b08be64f7fda96ede5d16439342bfc8b0bc4abd5f99ddf0345357c95c262f0dce559cabed922335eb4498f7cb25c67293db85185bbf3499d83af7559fec55b5b2b3456b19b47ebb0af5f9f34aa2a7b2931994dbcd1990d483821bca54606782b71cdf01d07fa61bfff5ef1ac9b6006da06b4cbf16664f39d3fe6e5ed4618ca502e8d325287f145d7d7624beeda415f4e7e8776b8504142d10859b8ae3243cb22c92998457051782a2bc68f6b2b5b8845b602d5a5989c5dfb28f5f8ab0f465fa12d0d47325d42b021\nresult = valid\n\n[d = 47b209663856b2eb04f0e76bcc2416e4e123881198f093fc3efa8a258afe268bd5bd1f3d7ae25fe834fce6e8c171b3741a4b853431cdb5ac45675a319cbcdef5d90e67084daacb2502901e8abdb8e82d8121cb51491c2bece23845d0d58c63e406037f8bbd219ad47c8071df8175ee14e1a90a9829d83ee414ef6527f6daac387449f2cfb2ad770a44cdf325c903331f6653a1e851811b031d7eebbc0a1b121dfcacf5047b22b1f3462226974e5a13d1a16e441ff93b467df1a7d212c47a9f9b78d9ef23f001483f2a6f65702c86e99190203722dc855b7749ea8628e3552438d96cc8956fbfa428a930cab99af26ae840697cc674381a16de", + "5488f5a729beaf06d1c3c1cecd143a01c2e96c2001c91720b1ddd4f71a8b6b448559cab7073014bc98acae932bd1a843df36a77ff1df7a360722de18907b149b51de7becf5e09a1c140cf280405cd46914953a02d9f498bb1aebd3c5d847fdd1452a76f1e9f6fb664d170d21fed4bc4f968efa65be23016274900a3ad7bd855085463b29757ff05a99a284c2e259e7026e72cb3ad25fc9596112052bb78a2562696170e175d1746d60052e0912cf13b0a6880ea5448629cbbdd5668edba0a31927ae84a8c2268b140bbc17404d41011325e745862129a9a73c4e52a14432a404f7dbbc4aa3a8da6e119c23d71866ea7500a3cdd0a5ba7ef057454a7357f8bf2f58c7606ac80f21]\n[e = 010001]\n[keysize = 4096]\n[n = 00ba2574691642af63d07eb20436ed4f1885f519820c79ea055829258bbee2e897af1e55806ff6dc2f59e35bc280e841c7247226bd27c14712dfed7f4a2a9ef08d17e05bc0084ea0af63c968590c449e5bd12d9f5bfd9f0dfc73ab4bbae84d02e79e3a5a02d8b96467aeea574280db3899810b382d7afbe3cf1d585b451b44877205039f2457d70b605db67373ade6d981f8d9afc1e2af2cc4aceb23fe317149560d2212cc187e8a5abffa9ca528b92bd47be43a27d9d18c3154d2e81ca036e3710ba305076f7896c0ae6cc279ae68eda5eacd24326bf3aadb13d5e453befdbe76a2b103fa52ee35d5fc677c814e126fb578903a941f0f566b0fb6ba6dd1237eaf9ae1c2b9c1a934d67facfbc382099a8c48c161764660c450df001478a8c2e09d2886bd81b9e0b7fa8ae2263644a926ba9de5393e4e714d47c3375beb36349a2b4c2c45eabcc5472d767bbe0743c0685716b1f50d209c0b4d3b45b6524a514d460c967e72529e6a49d38e722087c51f9d9f2169d93859e196e0a94d49df35b564433849a23be96737c07988dae871a52f78e5bdb83635b243d58dc7a4b64563bc2080e06c874e0d4938ae3604742306a194f2569438bc57b86dfd2f4d544e6e7b3609b51623484400d5315297674726c39fb23efb2499f585d998f09d943a6854428549225bd8f30b2cca68b2bd4d04b7d8da8e49d885d132f40e94ba343fb7cb]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100ba2574691642af63d07eb20436ed4f1885f519820c79ea055829258bbee2e897af1e55806ff6dc2f59e35bc280e841c7247226bd27c14712dfed7f4a2a9ef08d17e05bc0084ea0af63c968590c449e5bd12d9f5bfd9f0dfc73ab4bbae84d02e79e3a5a02d8b96467aeea574280db3899810b382d7afbe3cf1d585b451b44877205039f2457d70b605db67373ade6d981f8d9afc1e2af2cc4aceb23fe317149560d2212cc187e8a5abffa9ca528b92bd47be43a27d9d18c3154d2e81ca036e3710ba305076f7896c0ae6cc279ae68eda5eacd24326bf3aadb13d5e453befdbe76a2b103fa52ee35d5fc677c814e126fb578903a941f0f566b0fb6ba6dd1237eaf9ae1c2b9c1a934d67facfbc382099a8c48c161764660c450df001478a8c2e09d2886bd81b9e0b7fa8ae2263644a926ba9de5393e4e714d47c3375beb36349a2b4c2c45eabcc5472d767bbe0743c0685716b1f50d209c0b4d3b45b6524a514d460c967e72529e6a49d38e722087c51f9d9f2169d93859e196e0a94d49df35b564433849a23be96737c07988dae871a52f78e5bdb83635b243d58dc7a4b64563bc2080e06c874e0d4938ae3604742306a194f2569438bc57b86dfd2f4d544e6e7b3609b51623484400d5315297674726c39fb23efb2499f585d998f09d943a6854428549225bd8f30b2cca68b2bd4d04b7d8da8e49d885d132f40e94ba343fb7cb02030100010282020047b209663856b2eb04f0e76bcc2416e4e123881198f093fc3efa8a258afe268bd5bd1f3d7ae25fe834fce6e8c171b3741a4b853431cdb5ac45675a319cbcdef5d90e67084daacb2502901e8abdb8e82d8121cb51491c2bece23845d0d58c63e406037f8bbd219ad47c8071df8175ee14e1a90a9829d83ee414ef6527f6daac387449f2cfb2ad770a44cdf325c903331f6653a1e851811b031d7eebbc0a1b121dfcacf5047b22b1f3462226974e5a13d1a16e441ff93b467df1a7d212c47a9f9b78d9ef23f001483f2a6f65702c86e99190203722dc855b7749ea8628e3552438d96cc8956fbfa428a930cab99af26ae840697cc674381a16de5488f5a729beaf06d1c3c1cecd143a01c2e96c2001c91720b1ddd4f71a8b6b448559cab7073014bc98acae932bd1a843df36a77ff1df7a360722de18907b149b51de7becf5e09a1c140cf280405cd46914953a02d9f498bb1aebd3c5d847fdd1452a76f1e9f6fb664d170d21fed4bc4f968efa65be23016274900a3ad7bd855085463b29757ff05a99a284c2e259e7026e72cb3ad25fc9596112052bb78a2562696170e175d1746d60052e0912cf13b0a6880ea5448629cbbdd5668edba0a31927ae84a8c2268b140bbc17404d41011325e745862129a9a73c4e52a14432a404f7dbbc4aa3a8da6e119c23d71866ea7500a3cdd0a5ba7ef057454a7357f8bf2f58c7606ac80f210282010100f6c5efa726d67582948774bb07f4c6b04724f09bc27b1dd4c1e52031a46de3404d7a1afe336556c634209308d1800965a42aa4237a82b2f5f1d441694b567fdf80c4778425efe8d45a35f3b6195949be1039a2849890d4a091465d23d151410eb7115187c39f5f0a935815472bc99df4b5fc459a0fefd6a6a0cf9d33aade10ba8074bb00d839947515fcfc0671fa6608d9c6863cea8272cc0409de80f6b54df88b7fb239b5ffafa4ee78d27691fec96144b1ca4735c811357e900e477cd7bd8f0fc3c2bb9d08b0d8c5044da78a39f296a98b1f325201bb39b5bac773177b5d014c4b86c104b3dc024ca8e046c7a034582073c0d31f96242407ecf281523720a90282010100c11b35cc2c9cf70936c667c92837a9ec7fc3ed822ba0a90adee398d157d73d75b76fee3d81f46763de46cae8e7c1e59ca486197bd47e7fa7e5ced4ff5b71a15311c9c4121daba254c017f766ceb895932031764e80d2808be9d7261b2dd70b9d34b24096d129731bab863be611e17ec8cd5633e5cca6ba4cdd39a9976f4cdbc148cc63b4c960b584930619f7844da38466bfd95cef098935c4e94f683caf83f13b6d6dbf232991d8c967b49884d32bd837ff2457d723be8af30c950586428c856825736dc5056889864c45aafc7bf99691c4f9dd64f92f3d99c726e9b7c07d513a759d3f16cd7c1972b5b7939c11061e6b332a0559c2d3f35b1fb83cf556b953028201007b3bedaa33a2f59bf8408cf2b9ce6b4aacbcadcb9b1b909227221d29ad4b93291187e0e30117a275e8a23bcb3394151d45166651b16483aa7ed1d8b8947ee5ecdf893d8628cbde21edcaf3a20496aa54d815702b77651c49f3428850d2bf19161825f5e92eafefee801684c9bdfc397d7344401de7c78612404c6ddcd77f7e2b24eb26580da2f398651aa9612e9a354a4636f5e285da0f2a02fa4abb6c78ae2f68baa46e5d8d0a51fb252b353b43599dd18857d3a7eff96815842b1d582304eee498862edb04f40bcc979190115f4ede1e5cf37f55a4b7b2e2261c64455dbddc6015777dfcb3353390c4e4fb73c5755e6d16613d0d91150b4949f2f0d1f5e5c102820100744511eb51a1610ce73227237357b0b479695b0459886ebfe0dc61130b34ca08aade76300aa341ed5bd47c3027fb136971965c99b6a443f0afea0d4d839db368f4f8eb598d0bdebdf0bb7d772558f6969377b4a827e0970da74aa7e30d82c1b7721731d49d33bbdf1933c5b50d671c93832f38285144c23fada41e7cd3c30f3e1dbb12fdb392cb387bdddc9cafc89f8004edd6cea20eb7d2ec311e62c0c75d464e65e10289056a8f81153423f135c4dc773ae4830f42b263af5c100e377cb2675101dbb268428d62e0bde3e4c409518a5b52a2afaf306a4548e62483ece3b590c706321bde7af311cf83a278fa2b35e7f2dbe79d392299c399464c04482463890282010100de0cac8a438a75b3efc7bb62347b015d2c62fcf59375d2bc4d24cb5c1403807d13ae85122fc505f5da0885bbf4021d178a5c77d906bc1eb652691d5ea13fce1f6c26ca5e350a9003e861e4c65e912592b8f9c20b9feab6d730ad6a24b3a38198ad22dfd757e282ca5f4d02fc8b69ac8c6305e7fa0eb02127a9f4f3ced6969ee1d2cb3ef8be46dccc4dea864510952c38bea3e876ab6ff54338c2f5671489e0e793205994ba38520502998123217d182aa93b6b2e76dd100f7d3199a83ade357405f6610eb9d330fb12373c6bc7acc44fd9db0f50025e63be255c8b5d8b43c69d677e8d00ec60e3fbf7951c8ee5547ba705d3c1f72020b75fe37ae12d81179b0e]\n\n# tcId = 45\n# edge case for Montgomery reduction (32 bit)\nct = ba2574691642af63d07eb20436ed4f1885f519820c79ea055829258bbee2e897af1e55806ff6dc2f59e35bc280e841c7247226bd27c14712dfed7f4a2a9ef08d17e05bc0084ea0af63c968590c449e5bd12d9f5bfd9f0dfc73ab4bbae84d02e79e3a5a02d8b96467aeea574280db3899810b382d7afbe3cf1d585b451b44877205039f2457d70b605db67373ade6d981f8d9afc1e2af2cc4aceb23fe317149560d2212cc187e8a5abffa9ca528b92bd47be43a27d9d18c3154d2e81ca036e3710ba305076f7896c0ae6cc279ae68eda5eacd24326bf3aadb13d5e453befdbe76a2b103fa52ee35d5fc677c814e126fb578903a941f0f566b0fb6ba6dd0237eaf9ae1c2b9c1a934d67facfbc382099a8c48c161764660c450df001478a8c2e09d2886bd81b9e0b7fa8ae2263644a926ba9de5393e4e714d47c3375beb36349a2b4c2c45eabcc5472d767bbe0743c0685716b1f50d209c0b4d3b45b6524a514d460c967e72529e6a49d38e722087c51f9d9f2169d93859e196e0a94d49df35b564433849a23be96737c07988dae871a52f78e5bdb83635b243d58dc7a4b64563bc2080e06c874e0d4938ae3604742306a194f2569438bc57b86dfd2f4d544e6e7b3609b51623484400d5315297674726c39fb23efb2499f585d998f09d943a6854428549225bd8f30b2cca68b2bd4d04b7d8da8e49d885d132f40e94bb343fb7cb\nmsg = 03c00834c2f124714a360797030b05892d805301d149fd167e4e72131ec49c5b1fbb3f960ba589b88b03be5c1f024116614dcb9896d9df409a2681183e2dac5009b96a3d075f24c6f39b5ac8a2251cfbf0ea06aa593fde6f0217bb0c2b02d2da80bf27b233389bbe61532eb44baa1573cf424fc9122fa6e9d850bc94b59331e7af03fddd15fcaa7e9633dc7bcf3c3e0cbffe1c4070d90d29e3d9170be49b90af9709c050754c5b7164f08b35b6559c437b2df91edd87d3dbfb495777506c4d5d6dc59d6e18c4ed191ebeac9fdb808f073f1f68f512a7dc9efa70f5bcc72da71626678716be2686a74eeddd305cc2a09a70ef6724cfcd5898bf0624\nresult = valid\n\n[d = 482f06ab7a9b4b89fe54ffdb2f8c2ef71884358aa6947ea846c18c62303420d99148ee9dbd48d7003bc51528c67df221f5ba529b5b16c048f2f88cf2791fea861ff0b3090ff87621b6b26bc34e587990d1894567cd26936eba995f0fe0cdcd4964483d5a86eade13a8e9d", + "66b71dfa58b45746622fced5009db0163c2da055f74ff7d3377eda241b23bacd2bdd8fa8c2548fbcb0f0d537833736458748257471575a703f7395de15bb58beb45cbbb54ee093bb27b82eab7d5c2daea78dbbf20da8b3fbafcb91f7f36748de0482068622ffdd2d7d20e6655b5670b82d181a944f290a0bcfb9eacaa35b3bdf71934154f72fea2491c788005be1ec0ea095d333612a2b91800d74635853e54db6cca42384ffd3f8792eb2677491f73a576879bbb05eda716879fbc7daef0516b5047fd038068773ae8d28c1519f6a49cc1c31e5be75e2ebaa2ac3d7f6b70a59e226bd0b6d129ed057164db194e878bcbb25f3d00290f7de8a03cc9f9f3512d2ff2a7a351e8d9a946ee463898b7aaec247d3a509498934c79b51b1b02a9de9c1526d530f2588fb39f505e10bb2f3199f68f358e2dbb50e7d275affd566e671702f62d2903ba033aabfb32d7cfca9b8c8d2f08d8be6448321ca5fd08dbf2c8003e8a1398b48be83b6557fd8a0805e74f2372aadffc4ba55963aad6d8b8388147ab31cc900b57ae6fc4fd98e1596c0287755679244971]\n[e = 010001]\n[keysize = 4096]\n[n = 00b2845feeb37077af6971653432ec64f69ae8377a6adfc8f17c04aad4e1ba393e94cb40ddc33de80d7958d886bd54bf3280cb7d4abfc270227feafa6d1ae10190bc7b5f587abd7ac8fb84d5aa640a6eae88f737d8eb636e241278bb6c635d11a6c0d63e8c76e9d452246049c76e81854d8154776576abc5558b065d2ac135aff52b91fa40d9e1c69f4141a2fa1fb09a415a8c2735c109e82fb7e49a0887345f7d83c5aabd6518cba7f6ccbb0a9de66cfb761109c4c6ad731e20b27f79e591af2d9914bbc37327610250f508accfbddeed2e835bbe5e99232946c2ecff8a7ab64538dfa24c3c83ee3f6df87425fa08ebf2b0556530aa4c42e8be1b5da67fb73b25580c924d028669fd4e5398cd1e0f9ff81bb3c285758a6f32ad93345aef6d99f3f220e0fbf9c9f5a5a36e9552d03c2cd91119d74b5c0d8069794bcd8a51c8130fe967f43765df57fb53baeb3d192a2b215dfdffe9add6e1707c85d4f3b7b0ff3a6526139b3b3f56a0cc6bb5bc41fcedd5ccded169a7465c9a6bbc1c63940a0385b19cb1ae1f8d6c2d7585a9b33c4f288fda6b89fb597281fc8136775c503a9cca137df9a6d19e1e433ca63de46cdcb42de2fb98e8544a5d8959c96d3a5e4e478760dcabbc4a53e64ee5b86dfead08e0d2897da537c203b90dfa7c9d16c064c4d4a71505da3b1342fc9c3d07a139d5c76c5e674f3e6ea1498d1e1351d6e25599dd]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b308209270201000282020100b2845feeb37077af6971653432ec64f69ae8377a6adfc8f17c04aad4e1ba393e94cb40ddc33de80d7958d886bd54bf3280cb7d4abfc270227feafa6d1ae10190bc7b5f587abd7ac8fb84d5aa640a6eae88f737d8eb636e241278bb6c635d11a6c0d63e8c76e9d452246049c76e81854d8154776576abc5558b065d2ac135aff52b91fa40d9e1c69f4141a2fa1fb09a415a8c2735c109e82fb7e49a0887345f7d83c5aabd6518cba7f6ccbb0a9de66cfb761109c4c6ad731e20b27f79e591af2d9914bbc37327610250f508accfbddeed2e835bbe5e99232946c2ecff8a7ab64538dfa24c3c83ee3f6df87425fa08ebf2b0556530aa4c42e8be1b5da67fb73b25580c924d028669fd4e5398cd1e0f9ff81bb3c285758a6f32ad93345aef6d99f3f220e0fbf9c9f5a5a36e9552d03c2cd91119d74b5c0d8069794bcd8a51c8130fe967f43765df57fb53baeb3d192a2b215dfdffe9add6e1707c85d4f3b7b0ff3a6526139b3b3f56a0cc6bb5bc41fcedd5ccded169a7465c9a6bbc1c63940a0385b19cb1ae1f8d6c2d7585a9b33c4f288fda6b89fb597281fc8136775c503a9cca137df9a6d19e1e433ca63de46cdcb42de2fb98e8544a5d8959c96d3a5e4e478760dcabbc4a53e64ee5b86dfead08e0d2897da537c203b90dfa7c9d16c064c4d4a71505da3b1342fc9c3d07a139d5c76c5e674f3e6ea1498d1e1351d6e25599dd020301000102820200482f06ab7a9b4b89fe54ffdb2f8c2ef71884358aa6947ea846c18c62303420d99148ee9dbd48d7003bc51528c67df221f5ba529b5b16c048f2f88cf2791fea861ff0b3090ff87621b6b26bc34e587990d1894567cd26936eba995f0fe0cdcd4964483d5a86eade13a8e9d66b71dfa58b45746622fced5009db0163c2da055f74ff7d3377eda241b23bacd2bdd8fa8c2548fbcb0f0d537833736458748257471575a703f7395de15bb58beb45cbbb54ee093bb27b82eab7d5c2daea78dbbf20da8b3fbafcb91f7f36748de0482068622ffdd2d7d20e6655b5670b82d181a944f290a0bcfb9eacaa35b3bdf71934154f72fea2491c788005be1ec0ea095d333612a2b91800d74635853e54db6cca42384ffd3f8792eb2677491f73a576879bbb05eda716879fbc7daef0516b5047fd038068773ae8d28c1519f6a49cc1c31e5be75e2ebaa2ac3d7f6b70a59e226bd0b6d129ed057164db194e878bcbb25f3d00290f7de8a03cc9f9f3512d2ff2a7a351e8d9a946ee463898b7aaec247d3a509498934c79b51b1b02a9de9c1526d530f2588fb39f505e10bb2f3199f68f358e2dbb50e7d275affd566e671702f62d2903ba033aabfb32d7cfca9b8c8d2f08d8be6448321ca5fd08dbf2c8003e8a1398b48be83b6557fd8a0805e74f2372aadffc4ba55963aad6d8b8388147ab31cc900b57ae6fc4fd98e1596c02877556792449710282010100d697b42742c06fa3ecea5f9f967b6451e777a744aa6fc59d504d18700c9070de144907238bdeb8709a273a3787d40e4b7afaed6879dfaa64f1ab020606270046225573e316a54abb8052e6c8cf0ca9d8478248033e791be2b86928d5af56af1109b2ea4d14dbab60fb02d8f5ef473c7fcc2b3a0ee1a71cd4db03560f1da9078636e6aa0b5dfc3cb0ab17aa89155ad36cdccb3863720abd0f84c65a2b198eaaf3b819b08b145bdd5ef0bc4c8820300626b6ca28ad2e7e37a32739fbfbf6d85e57d288abc207e985901431e4fdc1f8f806f86969b9aafbd7446373f29886a6cca02e51775fbb4bbd491d908a45e36c87d367e7605278137fcf972d59a718889d870282010100d4f6a364c7c804abf5770a404b098ffb7884dc484d59ef06b64be57d3ff7d61b276822f7b504a6c8025bc31cf37fb212973eaed76e7a45b5e59451cfcd58fa4fba42fd0cf310ab8410e9d374d9ad43c004eb3e6d31c458110fc9cb2a05939fd207e0d32711d96bfb0b67d8cbd06e1d1b00554cdbab3da6a204c3999bc47e98231b9aa9737d5d1e4892e20a1c55a2b001c723d3463db8493c27aaa7847c22bc4ded4f76c49e1f87af7f5ee40e6f8978043ef75e2ada2f8230be4bd0090f2ab8cbf3a963b5d9033bf64ee353d95e084bac42734679000501e630eed3aadf69467f08b18a2fe590bcd4ac62905aaed7fef3f24b09e15b74ff2138f6a9f52529467b028201006b0f1459e1fb8fb700a38d41591a065ab65803a34644ad1a66cd8fbb970918c632e89c1f27d0ddc38fa4b26eb1dd21a4969e49832e0a60402c315cb914a8b0824ceec4fa2e7a1866a306b90cc5ff535d0b8ffbcd6285995beb14cbc28fcf7757d0b6ea1dbaa23d460cf4c6b92bbf2677bbac7532a7716ff8e1ab306c2a280210fba2e882f348bc1e87bd2edf654002eaf4dc8e2d4edffca299633be8f4bf309a96e67a2568eacbee69bc0792823c73552d2c7e4ea83b60168da3680bb4830dce52c2ccade8b4a065d92d6b490e54dfa8da95fca11ca4b828ee55125af6129153f8c7bbfe8ebaa29caf9b44e0c92d8435fc487acdaa0a506188d29f3fb605b2510282010025e7d4836eafe26cfd1ef81b23800b39b664e79492f80bfc84dc1377ecb7df4b2c03741de50173f22bc14b844eaf0ef2122b9d11495fc822ad3f6e246fa783be4727ff449bcafecc5dfa50a1fed0c13b5f64c3d2c9c5e9eaf785727d034b186a58eea286d4bd7f63caceec1eb2f5b68684d3a9ff7b8658af83eb90ded1e5ba8c9d30353312404dd09b1c52b26267b7ae4954ce19358924b7e9538dc79e14ccb18e28d3ba016f19469a8438517d76d97edffa45af98f055daf934234e497dd030b529144f5cd61f8922d781a831fd86029e3d4870e718fd128ce92591c77c4488fdf223e78c93eb986b2a8c09280fd81871aafb923a2623f734dd6ab8f0a95d1b028201004e5f6536b303b8b361aebd5c2ca88836f542a54b3484df241eccd737a3e076822bc73c5845316cb5772c417be5d318c43f210c33f9ee243474881912cc1fc27bcd240d1672fa0d736577987ee9dbbcb7ce7105f7fd0c4453e52f04aef02e6598f235aba97ccc15496c48dc7110d68a0bae39f029b513b57f98796b65cb82d26f3a43019ef62883fec9a9cc9853eb89bbcd3ed903c36a13af4bf18927c32610ae158d7a068066bacdd9a369a07890c8fc6d15916d1f0d028f559bdbe6fc3730bdf0d64dc4a87185d490e4e330ed2b64fefc78350cd8e092444545785ce6331021e686aa767822d6a412be6eb3745b6f9d66cc9e971f761adacad563f6e2d1a8fc]\n\n# tcId = 46\n# edge case for Montgomery reduction (64 bit)\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000\nmsg = a713459775c7cc5c1990922de882210bd021efce7672dc10d18e4c95f47ec3c6e9764fe5526a28fe8ac2b6b2abaee272bbbba65bcc90768c779870b6e3b1cf6a5c37826f43f8204c1705f78f33796f177816ef160377fd41e40b2cae9c8f804f6976f4a6a9d063a456afbc890d6e72477d912c7c86fdc553c9da4906adadfb477e92f28aea91da2edab45cd1230ef8f4138e923aebc407751cee06fcd694e4d0808cac2ae24764280547ac5642260e08a208fb9fe1f6bce4134d8310f356700109f50cb836c89acb72755a3e4898ce6bb393e0477a7759d5f9e1e514caaeb2eb375845", + "000dd40e80ff962af29ee6a41f2a546475f6a2845cd9d4fde9eaa5b66667886eecbcb06f8d917ad14e9e7b7becda4c59d96164c66c\nresult = valid\n\n[d = 4cd419ea4bb5f68b7a6874cdb1f8390f332c68966b32c17b2493ad8371546f7b6dde1b85506869a459b6c3c1988f59815c55f3a02a3520db0720c8a477ba1b60e19d0097aac2aaa680a65b1b67ee677781d04a56337702aa35494de498b082ec459de3e0fb94476feefedfcbc4a5daeb872e47362a71829811b2883a2343426d17f4e97b2a1b4b480de73923f80fb348c1362a172db4c714a75b1e6363ece9f21c249d55b9b9939c7433a50fd3ed64bf56797c576df42666f1032eb9f894103e2fab39e9d43f4110517bc9172a0f1d3f6227ae699365613b6f98f0807fc2158b92cc4157a3e5897900b0031f1752c4fdaf7da8a0e6ea684663ae9694f6769231364e88e84777f8dc01cafe167bcb1bbec2d78038aa94581c5acb8ce53db7289eb30a04bebbcce3f0b9ac422dc4ee744915744f3aa2a8bd9e69bd13799f68e546242474d1fe6e2b4ec8fc8753ba2f0765f739c8cf30aac853b83511c1fc820abdff8562c1d42faac71593e110a361a216707c409fa0386d688b4927c7a6006a9a17362bfbdff09383a76a2b06372d4e3ac32c3b4b9582c49e805afc02618fe22e23ec302f6d986244104735128bd9aed7e9b805af2d915629c1e77f5606c39a0516d849f6d018eab0cde40734891b2090d8b739ede9ca2be26f3783577fd42de77e05b76beffb4322123cb846628f3131067c0d22301bbda8a0a420818f4ee881]\n[e = 010001]\n[keysize = 4096]\n[n = 00e96612fdccdb8f7934ace9778ad3cf0e1095c136190153446f948f62f75f18ee281a990cb557ebbda24434134676b7105cbde9fa108eb8abd4540f957d30404e308276fbbb703148cb371e2c9566396f072d4c030f2b0ac0f9b77c1ccba53d2e9b5c4e11c515c38193d537d722eb4fad6ecc0446fb7fa988ca6dd64ef47251e87606afa6ce1b24ca75af69f2b328c72d04270266b11f22ba1f4d36a6f1ba5d6115187f9e4d62e090c5767ae8ab8307302247dfd412b26870958ba1d6f4edc5495ee4129e9699e105db554aecf7b55fc218a5db03bc58f5cadeee97be980afaf3dd4cbe5723d0d5953fcba454c1d42b0ec79d14aaa334c907f647ea4d682c0e93c259484dcffb855bec8d62411f29f6992d3cff7dd4ddbfd3bf439546452905877e571b019ac9b5b68360934386a1cc4c44ff2549eeaea9328bcda83f4d9906631a1fc475906cb9c92a5a9d2529a2052e0e385115ea25d6df83764aac0f34177b499e619fb82cf669bd6cc00ed8c527a8ebfff3f88c92612ba89a388179ef8251649c9f40841ae7da957735121c80694e94f4cdf29fa4beebfb71abbc803e17da861b7c006afbf79e95a85d29c4d7a4cce93415f923012d0b8888b1d35504e04779a3138a2ae4c8a88c93370f36440deb05ec3d6d84a715f071c1a40c2256a4ee1884839f210e2c6d073ea94f6eeaa06ef16f9464ffe5992c1ca3b24dea69a345]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100e96612fdccdb8f7934ace9778ad3cf0e1095c136190153446f948f62f75f18ee281a990cb557ebbda24434134676b7105cbde9fa108eb8abd4540f957d30404e308276fbbb703148cb371e2c9566396f072d4c030f2b0ac0f9b77c1ccba53d2e9b5c4e11c515c38193d537d722eb4fad6ecc0446fb7fa988ca6dd64ef47251e87606afa6ce1b24ca75af69f2b328c72d04270266b11f22ba1f4d36a6f1ba5d6115187f9e4d62e090c5767ae8ab8307302247dfd412b26870958ba1d6f4edc5495ee4129e9699e105db554aecf7b55fc218a5db03bc58f5cadeee97be980afaf3dd4cbe5723d0d5953fcba454c1d42b0ec79d14aaa334c907f647ea4d682c0e93c259484dcffb855bec8d62411f29f6992d3cff7dd4ddbfd3bf439546452905877e571b019ac9b5b68360934386a1cc4c44ff2549eeaea9328bcda83f4d9906631a1fc475906cb9c92a5a9d2529a2052e0e385115ea25d6df83764aac0f34177b499e619fb82cf669bd6cc00ed8c527a8ebfff3f88c92612ba89a388179ef8251649c9f40841ae7da957735121c80694e94f4cdf29fa4beebfb71abbc803e17da861b7c006afbf79e95a85d29c4d7a4cce93415f923012d0b8888b1d35504e04779a3138a2ae4c8a88c93370f36440deb05ec3d6d84a715f071c1a40c2256a4ee1884839f210e2c6d073ea94f6eeaa06ef16f9464ffe5992c1ca3b24dea69a3450203010001028202004cd419ea4bb5f68b7a6874cdb1f8390f332c68966b32c17b2493ad8371546f7b6dde1b85506869a459b6c3c1988f59815c55f3a02a3520db0720c8a477ba1b60e19d0097aac2aaa680a65b1b67ee677781d04a56337702aa35494de498b082ec459de3e0fb94476feefedfcbc4a5daeb872e47362a71829811b2883a2343426d17f4e97b2a1b4b480de73923f80fb348c1362a172db4c714a75b1e6363ece9f21c249d55b9b9939c7433a50fd3ed64bf56797c576df42666f1032eb9f894103e2fab39e9d43f4110517bc9172a0f1d3f6227ae699365613b6f98f0807fc2158b92cc4157a3e5897900b0031f1752c4fdaf7da8a0e6ea684663ae9694f6769231364e88e84777f8dc01cafe167bcb1bbec2d78038aa94581c5acb8ce53db7289eb30a04bebbcce3f0b9ac422dc4ee744915744f3aa2a8bd9e69bd13799f68e546242474d1fe6e2b4ec8fc8753ba2f0765f739c8cf30aac853b83511c1fc820abdff8562c1d42faac71593e110a361a216707c409fa0386d688b4927c7a6006a9a17362bfbdff09383a76a2b06372d4e3ac32c3b4b9582c49e805afc02618fe22e23ec302f6d986244104735128bd9aed7e9b805af2d915629c1e77f5606c39a0516d849f6d018eab0cde40734891b2090d8b739ede9ca2be26f3783577fd42de77e05b76beffb4322123cb846628f3131067c0d22301bbda8a0a420818f4ee8810282010100ffefce7e0400b2943194bb507ee4f6c45a078d133309c0f84b6a2247f41f6c3586af3fe8e139234f61e0e824c8a7e6b35e2512fd9c97411604be1aba97182b8961642cc0cd65dad7c1526e1ea7cd511dea30c2fb13d401cf6c34a4cf7c0e850429d040de98f58603bcfef0056b5bec78c791e0801845bb0922e661bcbf2b5ac0796372343da4cdf70f8a88646290ea46a076625dab1e7cafa9acf8a84ef0309a1252792c873eecd69671373001b07d778daf537317f2b09d681d7995c086e874aecc7b372ffbf17a7bab8638619cfa05894462f3b988ada31b21cd0f60ed9c0ec6da51913831314234b2a400e21acb8f4b61f5da5e6d07476a472094d3e776250282010100e974d7712ad9d789faf1d17cfc92cd84a590ff6713125ed9b5917834935e15f21fcdd4f0d2958c0f09842df63a5925ee9b264b8210f36353cc614fcda8a6159d262c10c3c2228904528159c72e3286be86b12d5512bec1b3cc1b730f4729fed4d81d2e356a874d61ff963c1cc9dc7688511c991d54f5780570cf0f723308c8c7e63f82ad69f30124dca90470a8701735695b6566c8c184f87d5f66b3578001ed83ca19fbf138a2a24735175bda6ec2c7a9a039f8a60d996852b1e81c47ebb6b6ee53b838781e3e3ed3a6b529f0f56cebad91bcf62ef0b97c9d323878d4e01eb909b6f26adb490cb6d23aa207663cff027826e65e23c19395fe499dcb8e001ea10282010100e48da56c396cda0ca6fe380c595564dcd1bd1e897fb17d26fe49c8555337606da85a060b945d6f1febbb69f3b750e11f5aba66ec1e13a0a6e613525140aeefea1e13d43754f5596a0514f48be1b3e37580768d18a48b5616827dbc942127e2376693b7ea50d4291a5b839a9a6c5649a54e2b023dc1ef3b689c46fa0f10f4c9754ab1b901d7eebd939cc84ca6c0b2c2d3d16606cfb9095fb58b239166d41f807786572a28ce9a2dec2faae8eab10787f3e48e264a889f4c8334bfe59d0ab22f124c2b04f9b29b1df910498b71fc11afe093c5834c3d6a460d7b2443383189df2bfefe658af6904f79dd0f8e8fcf5ab85fbda4bc65869f7cb994b9f1e9961684150282010042085b7bd5fc01fc342fbbea57628aa10f57a0f61daddf8842d41fa4f75df06528dbc6744b8c232e89a98a7a8fec714f39312ec05e5d09664573ece7a5e13c51d3df38eab5f9a0b9c9406f0d68a2bffc1a0af9608bc9caee3938366646e1b903a9112fe5c9f8f54957cabdbc02d8c9ea2acf24fbe7f0fa7ec776b9ceba62acafe60f66bdf82ed4cf015f09337861241f666a8496fb07c9bda3709d92f297f173a6083f2b450298f5bfa063b80663b7d253c74f3e66718847bac4397bee57dcb98755c4d0ac2119c8198398d081285a239b5792942b98c94e57044276e2f775992f0741303a5042395fe357bb320ee4ae651fd39f230bf8dbbf2e4164b7088fa10282010100f6dfcda12afdd3f8de2a3d09a17ed9c8db92c7752cd2efc29ef1f28332d27dae983301c4bd61b41171737520ce04ee99096fa9e28571ef70cd5b8a9334accf41d7a015c4cddeaebc36b63a395920eade555b483da478fb910104c1aa291bbec11df2d708178532f356c5384fdf357c0a9dd2c6d579269411942a33bc4ddc0baafc91fc1b273fe356223eea8491daf1a9029f453adcf92a16afdbadb725ffd130d5a51682723259c0e5c0b7c6ff491a3bd06c98cf2a562d9e2b6d24c7363342bb543eb32dedc3f496269b24755dc42b3484bcfaa3de7ca6e45638a0fc8996779b36deeb6a602dedbf1929205b2282c6d792d756487fa2d735081ce4f99a3f8e1c]\n\n# tcId = 47\n# edge case for Montgomery reduction (64 bit)\nct = e96612fdccdb8f7934ace9778ad3cf0e1095c136190153446f948f62f75f18ee281a990cb557ebbda24434134676b7105cbde9fa108eb8abd4540f957d30404e308276fbbb703148cb371e2c9566396f072d4c030f2b0ac0f9b77c1ccba53d2e9b5c4e11c515c38193d537d722eb4fad6ecc0446fb7fa988ca6dd64ef47251e87606afa6ce1b24ca75af69f2b328c72d04270266b11f22ba1f4d36a6f1ba5d6115187f9e4d62e090c5767ae8ab8307302247dfd412b26870958ba1d6f4edc5495ee4129e9699e105db554aecf7b55fc218a5db03bc58f5cadeee97be980afaf3dd4cbe5723d0d5953fcba454c1d42b0ec79d14aaa334c907f547ea4d682c0e93c259484dcffb855bec8d62411f29f6992d3cff7dd4ddbfd3bf439546452905877e571b019ac9b5b68360934386a1cc4c44ff2549eeaea9328bcda83f4d9906631a1fc475906cb9c92a5a9d2529a2052e0e385115ea25d6df83764aac0f34177b499e619fb82cf669bd6cc00ed8c527a8ebfff3f88c92612ba89a388179ef8251649c9f40841ae7da957735121c80694e94f4cdf29fa4beebfb71abbc803e17da861b7c006afbf79e95a85d29c4d7a4cce93415f923012d0b8888b1d35504e04779a3138a2ae4c8a88c93370f36440deb05ec3d6d84a715f071c1a40c2256a4ee1884839f210e2c6d073ea94f6eeaa06ef16f9464ffe5992d1ca3b24dea69a345\nmsg = 4fd402e32ac7325e647f987809652cc7918a51bd9aa5aace60bd8bdd58c566af21c59125dff9c93d3a540d3e5cb945d899757a5a758c1", + "59ec71228212084036ac40f62be87a27a5373137867b41fc1b862f280716fd133f50638dbf4944bbcfe483e5455387c0c138c419234d2f5a924c41cf113feaceda5910c0c046ca970b2a077e5f23ca50714717b17463245fb5160d0e47fd2644ada2524334173e5f6b32e76787f7d482e4f6385b04dbf6f67877dbc0c27bd6f7c0f799eabc1cf34c33dfbf01f4d9a7b8dabcc42374f3627cf99ab44a0e264dc3d87fb9104e81ee88e1cad0001dcea590c7d2eab64dbd98b1789609f788c5305603dc748e3068db19acdd2d385314ee16a1abca98729259ad5900d649bb1c4ae1bb039056af12c9158e9cf1ea49037571ba7d7312c448ef77dce4a243e1a89f1d45197560ad37d8595ba8f9415372c518456e3f3e7cf828166e282bb49df949351ce27fd1c4948e197d18dd2379c3d7ddd2580152e01db3e5aee302b8a2cb4668d55a6030d8c3f27dc1f1dc4aa7279a3a64f91b268ebdaebb4fad98f64c18e796107b0f7ee65b376a84c02e69756b91c7b4ab753361b9015cb467a50f9f2521aa9511d13498fcd58cdd1b8a971ba1da5b3299c94ae0d66f5af756908d9f88ba7c676e26ae9ac9dd1d8f59e60bfaff8c574\nresult = valid\n\n[d = 00a49f18c9b202254943f76f57871ec5dacd92c7f368170d71400e1627b98bcac1b187f79784107f4c5b18973d648ba9ddba7da5afd0724e8a6f4ce1b1158ff0429e14aab6d4d7e4a23741f9dfa49a85b6dbbb4162e96f09fc8338e4ae68b38be7cf82580f05240ab79973ccb117a6cfa68a2544e907c5188e1ad7c93f1ac703bb366981678104223aba0e4e4556d5493a0820087ea70d7ea7cd3c9d10b0e930fdf50ac4369e6ac284f785d0f83b7812c98a91ccf66d25e6f4761dc520e33f6c27baf986c6bf61ff25d8a69aa4b947dc6029cb4450b8900992473d72dc87fa30a986a09b613b646d373bd435d4565a1e4d7a84c1e1647e9c2604823d7586fdd37cb250e596d1e160567278c7d30b93c4e9ee07e4aec5c658cc25ec81d9f9a767c6685986836ed76b4209c2572074cdc0ca37c488168c28898a74a90d0fcb16cb313ea8dbb93ac933d2b5fed79494baa144795f3ab039846b840cc555cc36bc46cab4fd3d43db63477b5f2a59bf028f879fe6bd2c87a2f28e320cfe66d0960cdb5d5ef65401559b184b0a6c8e7d1f7b2d05ed0411074c225d13c93f0882e77443a496e3d1bfbfbbf28164f742075e31ce09b93f90398b029f3e80ce7c7cea584e83e3e3fdc2bbbef3b1a945fce8a9946d94e08f0e185f546177418780ecdaa5b751783350c369585d663ebcca0889a99cd18609c139e8ff8218ded12d9ec5e4b979]\n[e = 010001]\n[keysize = 4096]\n[n = 00a73eaddc457681b5c577e343aefd4f2e39dfc22e2f524cb1fb83561832c739894e1e0ba83f9f3f3775e2df7c8c707591093348eafcd66f3cff8c81aa24d2bf47ebde8681176fbec469d8d1f3e3e56bb0661bbe6b125c9cf538f8f6ace4fc95e8c024fbf011486549fbf93f0cd4d1ac742fe7fec14e2ab5a9fc552dcda3ff0699b4c4e9c6db2ce8673247be236d39cef8a0c70f309f9c766440117042a9677c0dd1780de11086ad38a445cc8177d405d502e5f81a8c9e73c4cb8ed950762a5b538738ba53c434dea0f78d9034d7eac88a89f2d751c9fe187e949defb2943f732ecc06a09818f1ba5a411eafc3aa21faf96f7c7cced82d3e24eed257ce03ed1aae25f172267e5d7641a27d56a654655475916d88f96b529982d896e7d11d7a8d9af6ac3c1b1d3fa67db2886d81080c1e214b8f6506683f8cc3c9948f0021c7b429df6d33b98ce6f5d1b8fd2769a5a808a94859480b3bcb9592e210a32e86768345952d4df6fccdde74ecbc4a31885957bccba8975fceefd1a9aa4c349f9ea07948136ed77474bd08301798914a6f116912bce8cd98100ba1ffba2382d040b08e010db24ac7b34b1f6bf2af74e81c72d96e08be8bd4956e87fda8885995a14a3d4422e3846711811bf800ba4a23b3c5b10162d6e0b4f186ace5c7ba86286eef6dae7bbcaaa5d7b69c673067d0407fb4f8d5ab6dd359e339ca1bf3102f87280d121b]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100a73eaddc457681b5c577e343aefd4f2e39dfc22e2f524cb1fb83561832c739894e1e0ba83f9f3f3775e2df7c8c707591093348eafcd66f3cff8c81aa24d2bf47ebde8681176fbec469d8d1f3e3e56bb0661bbe6b125c9cf538f8f6ace4fc95e8c024fbf011486549fbf93f0cd4d1ac742fe7fec14e2ab5a9fc552dcda3ff0699b4c4e9c6db2ce8673247be236d39cef8a0c70f309f9c766440117042a9677c0dd1780de11086ad38a445cc8177d405d502e5f81a8c9e73c4cb8ed950762a5b538738ba53c434dea0f78d9034d7eac88a89f2d751c9fe187e949defb2943f732ecc06a09818f1ba5a411eafc3aa21faf96f7c7cced82d3e24eed257ce03ed1aae25f172267e5d7641a27d56a654655475916d88f96b529982d896e7d11d7a8d9af6ac3c1b1d3fa67db2886d81080c1e214b8f6506683f8cc3c9948f0021c7b429df6d33b98ce6f5d1b8fd2769a5a808a94859480b3bcb9592e210a32e86768345952d4df6fccdde74ecbc4a31885957bccba8975fceefd1a9aa4c349f9ea07948136ed77474bd08301798914a6f116912bce8cd98100ba1ffba2382d040b08e010db24ac7b34b1f6bf2af74e81c72d96e08be8bd4956e87fda8885995a14a3d4422e3846711811bf800ba4a23b3c5b10162d6e0b4f186ace5c7ba86286eef6dae7bbcaaa5d7b69c673067d0407fb4f8d5ab6dd359e339ca1bf3102f87280d121b02030100010282020100a49f18c9b202254943f76f57871ec5dacd92c7f368170d71400e1627b98bcac1b187f79784107f4c5b18973d648ba9ddba7da5afd0724e8a6f4ce1b1158ff0429e14aab6d4d7e4a23741f9dfa49a85b6dbbb4162e96f09fc8338e4ae68b38be7cf82580f05240ab79973ccb117a6cfa68a2544e907c5188e1ad7c93f1ac703bb366981678104223aba0e4e4556d5493a0820087ea70d7ea7cd3c9d10b0e930fdf50ac4369e6ac284f785d0f83b7812c98a91ccf66d25e6f4761dc520e33f6c27baf986c6bf61ff25d8a69aa4b947dc6029cb4450b8900992473d72dc87fa30a986a09b613b646d373bd435d4565a1e4d7a84c1e1647e9c2604823d7586fdd37cb250e596d1e160567278c7d30b93c4e9ee07e4aec5c658cc25ec81d9f9a767c6685986836ed76b4209c2572074cdc0ca37c488168c28898a74a90d0fcb16cb313ea8dbb93ac933d2b5fed79494baa144795f3ab039846b840cc555cc36bc46cab4fd3d43db63477b5f2a59bf028f879fe6bd2c87a2f28e320cfe66d0960cdb5d5ef65401559b184b0a6c8e7d1f7b2d05ed0411074c225d13c93f0882e77443a496e3d1bfbfbbf28164f742075e31ce09b93f90398b029f3e80ce7c7cea584e83e3e3fdc2bbbef3b1a945fce8a9946d94e08f0e185f546177418780ecdaa5b751783350c369585d663ebcca0889a99cd18609c139e8ff8218ded12d9ec5e4b9790282010100d4bf92c10172e275fb684c1b8def1d35697b9a36aea01d322fe91eaf8424a1f96303220fe5baad6bbac63fc76edbc4ce4952a771a9827ba16782b8f65dda91d98186b51b928407010b8a3fa6911133ecdfc2ae99f3e34246f4e3e1ebc50d3587bd9dcd7fc4158d03425be339e7ba674c2252d0d7b80552e30403e1377dcdb1744960eb9466e6f8049c2d18397fdfc11f2dcd32f2ba47049e74351792502828113039afb5dbc06a4bc1a39c8ce6ce862adbdab24ce8ea8528a54f1d56b6329ea22bf11407cbe49bb71a0b60400e85f94b59ca78237685decefb42965a93faae196ef4424372f2a407ea9e5ef98135dbe09a632faf892f0d00513db11da4c24f350282010100c93ee3b614c38d039fd0a8eb50588dc386027864350308e2155c20c4b11ced90851bca47430c5f27094304b540d3a7df25e0f996651c6bf8ce1197555e11eda404a247931322c9e0946cf75c3baf768e7bb59ac4231902929d789f0bf302caf83d0cb379c342f8d0750192a06a721039bea9412837d457c3899bd7a4a2b25a524111acf80767d6124590d4031abe0fb6b902b6bfb66cb688061061bbdbb7b9b40f02f06288c603cf82e899f952b9d44c4d373e9d162ec08af41172547cc9e3f1d3ee143ae630008bf6d91d0009a974be1224f76f31054124ba5a814718c528b392b6eb42b48831d32580e578cea2f64ad1313728626cf4058d543b72ec88760f0282010100b172e4ae154e44b351b209a105fec667118765f66c2ae28f44c4f5b241cee847019dd06060261795fea072fc1e6c323839923655a8a44c083135289f5d62fc39e63e7c7af5f7277c68aab43273575cef1b27dfc84b5367a9958329a224a6c2da687ee1b3cad28ade880fea7416e3345b9d59641639c83efd5910ff5df0918b8cc9d38c4b2895479358cc88231594851943739f2633d71e7427cb4cd0de08d07a9db5cfe828d5d21343fcfa8bcfcbbcbeacc839e5ca742a02dff7202a7e27b486e18de03e2c838e99e7a04b74c2685ea9c9c805f2d65e0c9ca9983d9e694532c7c5f2f7fe18376837ae2ad05eddb615a2be4332b7fffd7da3a11f8ac685f1086d02820100155b5a39198d032b0e4bcb91656e7064fe94c68803e4358e20ac2d421275ba746adbdf249ee5f2372751786f6fd8c668f511220ba6e154480c3e6bac0096b07c868d5e412a77b7aae0b58baebb1accdf241bcab7e3eda48b40b0eb580e4b0e95378d60829c893ff487664a5441d7a70729c7b685791f4ccd108e7c5d19730a08cea4fc9139dff824ea430b6ce4eaa4aa448a1830d2404942b83a06d533e5148d1a46ba920a67d141b567cfe758b325e78f0e3cd3d8e5cf432fd1a62b772ec9c50133b3ebe83fd1df08ac53da8c2bf29ab53c3d120cc6bcfa13d8c4fd719082d843caabbee17fcea1d4ca10103905ac53964dbdc7c8623da7552f4a3bd1044e5b02820101009556dadb2996a83cb66bb15cf3c1e4ca20758a73b0ae4163cd9d517c4e68ca164addd787d353f17c4f1b52f6b37b428aeaaa79dec42ec4df740975712bb1fb8266e1f5192f0740af79d9b2af6795a97337c8f618b919c09ef08ea11c795aa66e042eae587a57e309f44afb4eb1b91d6cfae9709e1710005df9fe4e1492d51298ec3eb2b3b7a4fc42fd04bf8a97e734d6c278890e3604076567febea18ba0ac6008ceb5c9229e0a1ef8afa0fc56d7c8e462760a5f9de59a06fd76df1e8bf3aa984690d3eb1e4ff2b230f5e4bdc76a04b5f4761d69786ec231fb04af2be1d68f61deadd1e298da70aa658e524f7d55bac35ffac25decdea3850107c04df1c395de]\n\n# tcId = 48\n# edge case for Montgomery reduction (2048 bit)\nct = 00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = e4cd51fe2b40a7b655fd12c64d60ffff332eae14b6f99e8614c782810a55e196714e33862a7818999f99959d3872b5f4d6cfe077482fb2c5bc415d66f1010ae72623cedd17854197a49ed8a033ba2ea815c36b15263047f541151bb72273e5f2df129e06d40fc024f854bad90b3e4a2dfd08b3dcc0df0af588b710613c6bdadcccb1cd380c82c6dbcccde6a967c7478655f35af62e651c4c47cc998566af612d4daa6861e873d2620d13050307a78bdcd338236957fdb58aa84b0417bd6428372ccc903481e8f15778294369fb6e3874bc510f8e7ced222765849cb9f50fa4c9824bc83b9096ab55cde2324ecdb148799141e33b1a2fddde5436cec5cb0f13deffc6bdc42e5365f1e37c023ad6c5d7c88febdd3273a5ece731ec3182c70a1b\nresult = valid\n\n[d = 00906a4f89ce78796be2883be6d04949c4fa152e9bbe0626aec5d284c51da5276ec3afa504a43ec1039d55884356d1fa81f7645030b16f2a03c6f09b8d8a7b8a2221499ec4eaadd0f0e1c614ba19656bb897b6fd2687063e357a5ba380198edfa0575adabddef7683da028c45ffbcd587876ff0ea94239efd2232e4f90eba25b4c0706f4253b7c4f970fc78908e906160881359b3394cd8579adb1eca903ae7f768cd146404abea80749806eca5f7a542e09dd28427b10b6058d4713a905fa55234f45b91b86cb00fd16ff3ddf5d4b00403978df862ad8261e63bd8f67f06d3b8bdd2448954fbe105d026ba8b612cdb42ced0f090bbfee266fc546ecbda01a1d6f86728e911ea56b8130bade0d08deca44c428f8bf26eb496e2b37596365c36b63e468186c08fef97b95d7a8d441ce9cfe5c370e184ba911a4aaab53164b1da6ecea41bbb786c07f928c9cd5be6457a7329e5a56c402cc16b258586816ff27a29a6a73bec5e3797105c5211fe7a50ec012c4c18321211b36b2bce8e41d9628b50c6c30ebff879f414c4d750b0756095b6bcc6faafb9de04e74a689eca4a9bd993b7c42a01bb571395679fb2f6107a4266fc07d1bd2868e1c260fec792e05a2fd2a84c6d7b09cff40402fbc984b7c975c28fcddc2c0e4cdf20719f81a1ad74b918bee8fc633ae2906fe570d061ec8955e51d7180f4c3fcf9a50896e3e2fcfb2eba1]\n[e = 010001]\n[keysize = 4096]\n[n = 00d5e217213c64a36bfddf2a73b1701693473bdcfe51f6bc7995925cd99b2d6cf997389fa644812dc4c8f0006bec4aaecb093d94b0d3e027b9fb50f472a6a189905aafe1a1836436e7c81605735fe2f7010e3049c21c74ba9aeb38661e55006205010adef4162d1bb61155ad02993be54282565bf3941d01d596bf3d3e45d898c403ed934052c298b6ab506fa22734c5d26596a19055a085e3383f3bec2b9e10432ddbacdd4ceb615bc480eb2c1725104c89c6732272643798db95ff6f027d5c179b1cc8915e92cab98dc48b81e0d4e162d98a6a8bbfba7da83fe428227a8c67fa43dc6b67c2538cd8aec338becadca119072ddf0d5a207206833052debef1b3c1a3213014bb3008ac81bc938a526b450d4995e829ec74a646eef321ae435417852a18368f5f2b50d4b5891c7ec5deab5615c0dcc67a6d3a2d710314d53179f8a56c8ad13906f73c36b63d7646ad2bc134f12672853b475298972ae401f2b0a0bbe086f6e77e8ed70b4e9d755f248aafabad3ee20a851035a9704e498542c22c4d7648d1d664517b5b769d1c16a57318dcc17ba793646ed9060140a0d5402aa233ecb9b126ac0a287027eb95e6b2740e2f579a690797c724ae884f8db39583d205eb8c68aa7721ae69896a48b7819f3d7caee5a75cbd5c532e9da8f37fb944eb175036f8167020a952f75748c8ddf5db0a21b367507afb0e2fa2bd298923041505]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100d5e217213c64a36bfddf2a73b1701693473bdcfe51f6bc7995925cd99b2d6cf997389fa644812dc4c8f0006bec4aaecb093d94b0d3e027b9fb50f472a6a189905aafe1a1836436e7c81605735fe2f7010e3049c21c74ba9aeb38661e55006205010adef4162d1bb61155ad02993be54282565bf3941d01d596bf3d3e45d898c403ed934052c298b6ab506fa22734c5d26596a19055a085e3383f3bec2b9e10432ddbacdd4ceb615bc480eb2c1725104c89c6732272643798db95ff6f027d5c179b1cc8915e92cab98dc48b81e0d4e162d98a6a8bbfba7da83fe428227a8c67fa43dc6b67c2538cd8aec338becadca119072ddf0d5a207206833052debef1b3c1a3213014bb3008ac81bc938a526b450d4995e829ec74a646eef321ae435417852a18368f5f2b50d4b5891c7ec5deab5615c0dcc67a6d3a2d710314d53179f8a56c8ad13906f73c36b63d7646ad2bc134f12672853b475298972ae401f2b0a0bbe086f6e77e8ed70b4e9d755f248aafabad3ee20a851035a9704e498542c22c4d7648d1d664517b5b769d1c16a57318dcc17ba793646ed9060140a0d5402aa233ecb9b126ac0a287027eb95e6b2740e2f579a690797c724ae884f8db39583d205eb8c68aa7721ae69896a48b7819f3d7caee5a75cbd5c532e9da8f37fb944eb175036f8167020a952f75748c8ddf5db0a21b367507afb0e2fa2bd29892304150502030100010282020100906a4f89ce78796be2883be6d04949c4fa152e9bbe0626aec5d284c51da5276ec3afa504a43ec1039d55884356d1fa81f7645030b16f2a03c6f09b8d8a7b8a2221499ec4eaadd0f0e1c614ba19656bb897b6fd2687063e357a5ba380198edfa0575adabddef7683da028c45ffbcd587876ff0ea94239efd2232e4f90eba25b4c0706f4253b7c4f970fc78908e906160881359b3394cd8579adb1eca903ae7f768cd146404abea80749806eca5f7a542e09dd28427b10b6058d4713a905fa55234f45b91b86cb00fd16ff3ddf5d4b00403978df862ad8261e63bd8f67f06d3b8bdd2448954fbe105d026ba8b612cdb42ced0f090bbfee266fc546ecbda01a1d6f86728e911ea56b8130bade0d08deca44c428f8bf26eb496e2b37596365c36b63e468186c08fef97b95d7a8d441ce9cfe5c370e184ba911a4aaab53164b1da6ecea41bbb786c07f928c9cd5be6457a7329e5a56c402cc16b258586816ff27a29a6a73bec5e3797105c5211fe7a50ec012c4c18321211b36b2bce8e41d9628b50c6c30ebff879f414c4d750b0756095b6bcc6faafb9de04e74a689eca4a9bd993b7c42a01bb571395679fb2f6107a4266fc07d1bd2868e1c260fec792e05a2fd2a84c6d7b09cff40402fbc984b7c975c28fcddc2c0e4cdf20719f81a1ad74b918bee8fc633ae2906fe570d061ec8955e51d7180f4c3fcf9a50896e3e2fcfb2eba10282010100f5aa628cd98ca7a9ee7dda8aede1259e8b3532538f693c1dba20f9a60eedd050f59b1f020bdbbac10e22c42e2646730a5991e3d249bdb3e8bfae6b50c784ddf23940ccd5f804d8bee3931f84826594da27984dfb5368f8f33e340e7fd2faa7b8dd10b5180c6b8f2d3c5c7604125909fa8053dd8224296f6bf1fc5ef2ac66225f2b1276e3803cb2c60c383cc28c842268ecfaf59bd4c25ff46fe8aa437dcbaf8701d31f5c9d301f52a97367629849bf7dfd806e7a0f96cc9a5e9da813ec54db446ec244aad44f6086d873b148e8f778256d32ce618f3188c9a39321691e6f0a6ba7ce6b7bf92e6a356abaa76fb120e2fc2c0e2a0128bea24c242b499a24311d090282010100dee16f69df5819ef82fb876fc23cc1bb8b9462526062c9473bc413d95981b8de8d0377225085ba1a87d59cfdc52a10c1190b778f7d2cd8da7230f98d37bf8885c7a3fa120a3e4b44b438b7457499399e54f77d7bdb26f38a6dc7dc9350e60816709932c0eded5c27a576d58c2e82964115327a16f3f27a9ae443461bd6d274563f0e405598169b380564f4d2f4569297f41db3d9f29cc0af0173874b37e532f14a2e935382bda624e2b9098aac8ee64fb44f835289cf90c4495635014ae9f4205be49ae90a79b0f2ca9f2d62272e104d9e4daf30e771babd4e17356b904c5be8ca0a12a4b3ca6ba44f1a08dd1a2221db66854c1850ab49b405cfae169113331d0282010100bc9277676aaebf1c7fc6f7746138cbe9b12dba5dcddd9799b20011e1d7dfd061f4c587bdc86078302cab9f2f558e0a4c4d88e0f9d044dfceaf243198262ee537439f6c1c6a6f3df8f9333ba4397bc410d907de042778927014b55cd3dd9d2e15870b8616d9a1ce9b8893e8bb2362597881fcde314194d4c46551b5884db1707ce0d121956c202b923e5b04b8c9a7bbca12ee688d9f793cb2a31c5365cf3004a27b5215e6bf79eaf146c520fcdbacf062c3ae4c1f41cc1d6df966c757d3b72740964c64ed445f51d6f05b8e204b437a643038299755954e4c89552cf645b832a5847fbc9dc31e4fc4851295e7f46d2c0f29ba0da02a287ae83b7346e21d19de1102820100657a40eef468b98e4a95d949722795919d7096ffa8b0f1b1c42d77581b9fab9b709ae650325760af99af11c69d5194c54670e923e4bb5994c42f36402ce4c0f5203bb1ad2b0ac7dc652df98bdf15b09d3d545dc6d9b637668cab55eba106cb21e46c6c26596e1bea5534f0efdd714996225f942505371ec98d2a702e56b605900b2fa2ed15cd1d28f993c8c08fcd26fb96833b92fd1a8fc45ea5ca30de2735f5946ff6562c8dcaaabaabc30367a3bc8b07aeb83d094fff3acfa53786fa23e12a268cc4575c94a19339dc159ebdf6042842ee5dd8a75829cced5435d75ea0d5abfce96f299c4e8a8a0a15f17931dfde88757a357650ac5c6761c9f81a803d3ca502820100083b6e77dc2386a360221aa7832a165066f64cde7eccc7a162f5243673382bbc0a3c528fed8d2a49d229d4d4ea3364e98c494521e672ef8158d5ae30aa81dfe2914d9f850750665e299c1e9ce984550e0b3b1a57fc5b1548d4d38b8249a70fa98d855a7bc8d1887b1eee39786d5e16f59c911378f6cbfda1a895518d13df2e657902f2eb3195a6b063267bd2f806fca167048667cbe62394331a34fb5eac994529584270caa24980441f73837a6feda70df2522b1df779286c30d79102fc18d06607059940f41d969e9b25d412d236ae3e687bd7cd83dd560117c94f328fcfa325fce9794571d3f9bba103bef6efd8779701c4492431dea8301ae99c4d6a9580]\n\n# tcId = 49\n# edge case for Montgomery reduction (2048 bit)\nct = d4e217213c64", + "a36bfddf2a73b1701693473bdcfe51f6bc7995925cd99b2d6cf997389fa644812dc4c8f0006bec4aaecb093d94b0d3e027b9fb50f472a6a189905aafe1a1836436e7c81605735fe2f7010e3049c21c74ba9aeb38661e55006205010adef4162d1bb61155ad02993be54282565bf3941d01d596bf3d3e45d898c403ed934052c298b6ab506fa22734c5d26596a19055a085e3383f3bec2b9e10432ddbacdd4ceb615bc480eb2c1725104c89c6732272643798db95ff6f027d5c179b1cc8915e92cab98dc48b81e0d4e162d98a6a8bbfba7da83fe428227a8c67fa43dc6b67c2538cd8aec338becadca119072ddf0d5a207206833052debef1b3c2a3213014bb3008ac81bc938a526b450d4995e829ec74a646eef321ae435417852a18368f5f2b50d4b5891c7ec5deab5615c0dcc67a6d3a2d710314d53179f8a56c8ad13906f73c36b63d7646ad2bc134f12672853b475298972ae401f2b0a0bbe086f6e77e8ed70b4e9d755f248aafabad3ee20a851035a9704e498542c22c4d7648d1d664517b5b769d1c16a57318dcc17ba793646ed9060140a0d5402aa233ecb9b126ac0a287027eb95e6b2740e2f579a690797c724ae884f8db39583d205eb8c68aa7721ae69896a48b7819f3d7caee5a75cbd5c532e9da8f37fb944eb175036f8167020a952f75748c8ddf5db0a21b367507afb0e2fa2bd298923041505\nmsg = 13132ded3a26b6a5efe4579360e9a7e724e96fc6eb99469ca965b1825aa1c98979ee28b9afacf4eb619ee91b229827f505ac21915bc4ac1b5040af9a901812da4d2e298d5b51a7c704d8051927a5bdaedea7953f7fa17433921cbe30e7802cbd0359b09e6b2040fb10694d4c57e203ebc701011f156bd2e0175c274f9ca68445a10edc7107035280c58bf9bf84a8ee002603f34c8e1dc3e9f736ac9ae5480479027dd38314e030aea478c74bdf92f3ed4c63e9de857edb90b3cb492addbc1d616780bef69e8f312b3b2fc84a180e3a41110d6d9aa0d65de7853d7c3b1620a544d04562455e10e3cea6c19c2c22487df463e5a847eea8d5475be3c5397ed54409fc502a41ac5625e5b375e877a8ec169b7466f545308124f9c62237a899f9d5129e69de96869a43cc3295dbeacbfaa6cc7629e40dde21195f940b5e314f1108ad1aeeaef1bc897626112ede381114a09e0ee4070166ddf987485abc92ada2e7aab699288d91fe0a9c7787ead21fd7c075cc18f5514aee82b3f02651b99c9f8b9c865889d07732ed8b73b2ff9f0a6d3cc4c58585e4386cb902b18f3fd2e54237395c7f8d32\nresult = valid\n\n[d = 404b8cbb6dde987454c0b2536ec665b2d764985cd1c2fd15e5f7c99a99382fc4e79ab3e44ad7b9f5f5663ff1575ba234f220e471d313fec70ab7ed8a7c343ab42d877ef57e57a4cfafc9773c09eae8f57f06012c49bbac2e69a445943028d36b1d4e806c75eb6e9bf49a958dbe118c0454a2e8e9a4ec27400f337c32b396602e5ca4f44c42425b6bb8370cad50db917159502d67d855e81b9cd2539dcc29b25a82c2a61e9837825522cb11d45c1bac404c78f6dc80f19132fd23efb6a696a78cf453749a1a41f22a96141891bea51dc30651889b3cf9e3884ff0815c6b784f2a6344b86f48e64053316a363438b3c551e4d43865cd1e3447a375ccc633bccc33feadf357b2f2ff0c1c42c220ed877a2219a71501714a34c0dfbef2a158e4f3b6003e1f49113af10116465805d04282d72ee46a1ea65e3790a767ef3511dfb28936b6e4cbc8558e81cee23df0d568808fc7efe2bb41b098be7355ec0a0e5ddc217c3a56e2399bb1d00cf7b77c64b81a99262db3bda8a623e1cc8e21a6744133f32a265c195349227f17286fa1f2012de0d217630e4bafa0c118b8c51157413ae9f502d848b1586ac6bba0f6a0cf2edc07f3cf89751edc767304ca307c99669b04481a3103abf2e669041d4ccf40125834b9e0de1c9b098e29e2160690b57e6467ca025d0829dc65de87e4bbed2453c3b979a7bd865456ce4b4c195b9c69e0f9f9]\n[e = 010001]\n[keysize = 4096]\n[n = 00c3fa33af7ef55f157535083a97bbc20dc0c52ade3913bd31143392d29c511e4a80c05aaad793f2662c5da5e9401a980119712d6860bfdbbed178269b04c258f221bd29c481d75765a6fa3ccfe65d6787fba8fd7dc1284d5e73988005f95216fa8b285f189d5aa046e7c0c75d72f2b398539f25d5534e8c797985ffe82f41ec50c872ca04d11ba1890ced78ea00d80eba2d8646fc82225e01e46c8b4e7f15486de2bf71234248c7523a2d5ef269fdca28a83a9e8a22d0b28e2aaf02c1e345ffe053d37b249329f9a5f76f7cd0299c7daf95c0f46069ca42ada92a0e9bb8db1c0c44cefa4c00af5f53ff28d29508159938427687f8bb377700b92360743678cd48731c2564c55ed6eab6b42a30aec647b9c3b1e82d09f414e885c1b9312c685be217e40856b1bf193fdf9c1a2dd7e8259f684430a9354dce1512e3ac17b3fe913adf32dd37b917e56b5200ffbed2b2c2736d9ff0a2fcb1ce5b5a5e121645b833f449eb5fd3ec5aed85f01e2640782e273949a519d676cbdbb4e60d96905d3337ab4237df8cacf4896e226e4a9e0098a1ed5d3599c044ad0d0a8093e4c32dcdca6118cca6e8f5db167f84a2b08e27c36395c91f1cf40b2e6f48f7ba98de5629a1b4a596224ea1bc9dc0f829c000d10a959a277b1bd24dbfeebd067aae5db904e42bd455f3909784c10950a8022a9a7fdba49188ca06d60a0d3436cfb627655562a7]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b308209270201000282020100c3fa33af7ef55f157535083a97bbc20dc0c52ade3913bd31143392d29c511e4a80c05aaad793f2662c5da5e9401a980119712d6860bfdbbed178269b04c258f221bd29c481d75765a6fa3ccfe65d6787fba8fd7dc1284d5e73988005f95216fa8b285f189d5aa046e7c0c75d72f2b398539f25d5534e8c797985ffe82f41ec50c872ca04d11ba1890ced78ea00d80eba2d8646fc82225e01e46c8b4e7f15486de2bf71234248c7523a2d5ef269fdca28a83a9e8a22d0b28e2aaf02c1e345ffe053d37b249329f9a5f76f7cd0299c7daf95c0f46069ca42ada92a0e9bb8db1c0c44cefa4c00af5f53ff28d29508159938427687f8bb377700b92360743678cd48731c2564c55ed6eab6b42a30aec647b9c3b1e82d09f414e885c1b9312c685be217e40856b1bf193fdf9c1a2dd7e8259f684430a9354dce1512e3ac17b3fe913adf32dd37b917e56b5200ffbed2b2c2736d9ff0a2fcb1ce5b5a5e121645b833f449eb5fd3ec5aed85f01e2640782e273949a519d676cbdbb4e60d96905d3337ab4237df8cacf4896e226e4a9e0098a1ed5d3599c044ad0d0a8093e4c32dcdca6118cca6e8f5db167f84a2b08e27c36395c91f1cf40b2e6f48f7ba98de5629a1b4a596224ea1bc9dc0f829c000d10a959a277b1bd24dbfeebd067aae5db904e42bd455f3909784c10950a8022a9a7fdba49188ca06d60a0d3436cfb627655562a7020301000102820200404b8cbb6dde987454c0b2536ec665b2d764985cd1c2fd15e5f7c99a99382fc4e79ab3e44ad7b9f5f5663ff1575ba234f220e471d313fec70ab7ed8a7c343ab42d877ef57e57a4cfafc9773c09eae8f57f06012c49bbac2e69a445943028d36b1d4e806c75eb6e9bf49a958dbe118c0454a2e8e9a4ec27400f337c32b396602e5ca4f44c42425b6bb8370cad50db917159502d67d855e81b9cd2539dcc29b25a82c2a61e9837825522cb11d45c1bac404c78f6dc80f19132fd23efb6a696a78cf453749a1a41f22a96141891bea51dc30651889b3cf9e3884ff0815c6b784f2a6344b86f48e64053316a363438b3c551e4d43865cd1e3447a375ccc633bccc33feadf357b2f2ff0c1c42c220ed877a2219a71501714a34c0dfbef2a158e4f3b6003e1f49113af10116465805d04282d72ee46a1ea65e3790a767ef3511dfb28936b6e4cbc8558e81cee23df0d568808fc7efe2bb41b098be7355ec0a0e5ddc217c3a56e2399bb1d00cf7b77c64b81a99262db3bda8a623e1cc8e21a6744133f32a265c195349227f17286fa1f2012de0d217630e4bafa0c118b8c51157413ae9f502d848b1586ac6bba0f6a0cf2edc07f3cf89751edc767304ca307c99669b04481a3103abf2e669041d4ccf40125834b9e0de1c9b098e29e2160690b57e6467ca025d0829dc65de87e4bbed2453c3b979a7bd865456ce4b4c195b9c69e0f9f90282010100e6e57c22f7a1688cd64e20c639b787b601e6f81469c49ecbbbca5d9854865c86a6a425ac893ac2360e12d832ddbe92d263dc417883d417e4b3422a3505148e415e81f909148c69afe08ff0178ddc1358263413dc3666b4e4890d6c463bb0799b4097655d7a63ff86641b289b9578d367d1fa2601101a61a2cc39a479e5b178d9df3fab897f245f5a533eed22abf0c801d00170cf764a14bbc3c3a6d9a9c21b7d63c1fbb6939d135bb425166bf35312a6c31cdd19ade329fdd6e7a60ea608671dafeecad352df4a10ca057e23222eb34b20d1b378abcbefb96e636350721e55a2cb71b0a70b1bf6de422938b971c2baccfc39b962215afcf85dc5f59add4b9ae30282010100d948d17511bab153c09f34f0040362294ffa208984d72cbb72aeb03c7da701803bd9080c708cfb342a944483bb234920a6aef4bce2b5c7c6ba6c19899c3f634042746fb49cbdfaf8c7c6470a8a5e3d2eba67d78c3fdf2079f8cddfffe5ee504e1a214da568ffff533a561db4eed8d1121f3a8871fd622355489bec69d01b49c5fdaff0ac667e8034acd7335a30019763149cef481862cc4af521e60a9ca0277cc6ed6f594648de95dc78dc3a9768ab6fc80abc4a84e65613673f7efcf52311c38f43c454f22d9b8e6e628a6ac997fa774ae3f090dd604b698ec80023ca9291f039070a1fd1b8caccd1f2ac9b2c83a4ba09f419095d43e8f40915a97a1e44d06d028201000e6b94a6266b09398a84d49d2cab9ea92a533f791ee5edb8f1a080d9eba57c8fd8467627e1662f0ceb3218188d2ac2c6aaffed82d650dfb123d4e507ecaa4cfc1e27e5e2c04ac8aaf84e65034393d40d744d5a542d7d9a9c8f46ac557292e1f565424f4d5840788bef229715a86f245cde8b4de6511824b2e32852725e7b07fe2b68319163c464c42260d2b490a2780b4cef5a194adcf3908a7864aa4164e30ca0b753be2257f4068d28a7ced422830eb12ed34c3044f8b166c38ee6694e2b0a7a9b6245726e8994a4d954f862c121e77644427e2dd48dc339f6b1142c1c62e2c8ebefc96ef32f26d060fcaef040e623b938edb0083f437f4b73fa93d2704f5b028201007d447cf5484660ab4f56b9f751e8fd73a1d72b60fd03ec9718d3db68d46c2ef2560e96944d630a0416342a97e390c13d20bba6ff2a98f05702ed05800f637ffdf1121dc07bc90f62d411dcad17fea2b948e04b2561416b00c6cf323fdeb898f59e1ceb1ddcbe11de52b88921e1bd8033396bce742147ade5221a3a9efa4a712ac349e6b00ddb0a60d3f0b17b6247d89657b0ee469b40825508a40572c2bf96645a6f528d9e76ae54a9a9c815c36aa5c3a9097f6a5ada4c6f9d4bbf1368e451fe739ef7169e146b251f40925a6464c912734b9c4a784666d3b16c5ea043ce6272a2fe0af933389d3a9e23911d58f980437d2f8c2b9", + "8e868ea203eabd96a8ff3b502820100219a936223c79c519c04d44266f100ca61bdee7a6e8ee3d1fb8be9e079408f9c88867f6df7fd7b88929c2bf238d4f576c6e58cdf62a860e43db8bb4054409b64303156cb065061522a293a384d25b39d51a45eea64a4e2f8d1a032a85da7812025a93e851e7525a5fef5c8432aa7da3d5307c23a4da01b1582d5f7ab64b8de591c99a9fd58c5b3eb64c0b31d4d5d2b2ad573ed73dc45b4119ebb6c84800e778f0e7c2674ae74ecb6e92cf4d4a504617d4d1ae15769fdedfcec980e6cbc1821f91c871b52298fe2c02eaee5ccf55a4b2b69c1ce97f16d4991b05c402aa17abe5cc566d426a9753c94acc6f0b1b61cd5345c001c62a9d3ac7bad6e400e7371dcd1]\n\n# tcId = 50\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = b3a0b2a130a10cb3f5f0cf83366c8d69868444af287f01f4e932d1788431e1f89dcbb568cc9fa6fa9cdd45a962af0c1491548fb82942a38f8c838767559fde8507f3b41d9f02fed4bda5432b2d17b2d850d4b9ca442c40b724eb4a08338e46695017639122c01951dea415392b5da519dd7f4eacabf7fa583a88031e393c467be3b76d56b982d08eae465639124e01680928a00c89c1d1b836a01a1fcab49dd68f7f26990adcb4f3c857e8de98ac36092b7d9b48b4a71c524e38e7f9b44b7dcd511fcc0594ff4db1438beb8f5edc1fc34e7ffdea468f6e9dbfda95fb640136de31b5d4426e03acfc9ce1b703e3df344f1e9441115e9c86aecdae806eec92d19bdf502f2af32163389c0329ba28704172916d0aac434c7f43163b1b42d90770ae2989768febd815fc268786a1c90fd9e2244322bb444148c44f2ba269c217171a69016d8bfc758aedb13590987ef9c0e8c6d704d24d7b7efa8a3542ea491ff80e8d20463fc9270288ba77b37e869166b4654db2d8e30fcf88377057771d8bf23e4b92ea9583abffdc434c47bac54358e42e7519d7832ae58c7ed1089f93926dbed6a454a8ede4bad2e23ec8eb7ddbc03bba064e08badaf90a2af002502b8bf18de40773bced68ec47fbde6f5336d8622e76f914ca03e38a991f82cb0b547734ae3c72b368dec28eb09759456a5b0cb5fb14a02c69bd383467d1349832ba0b17be\nmsg = 42cd728011ce4c27563b64b0950b3823bca0cf6da912836672f6069aa48be1144238c3bb2070bf4dd3acd2e4004151b2b88c4e12f60dcc3205b879569fa6d9b22cc9692cc3fdf8aa15e794d2f31fb3c0e9801b94920574407e94b78873ea4d6c4106c88af4095dae6bf94cfefe\nresult = valid\n\n[d = 6ab46b7e91bc3557102f887e2031f1f101cc4fb6c4da68360a21f4b176b5b3b5ab8d142bf7c8da9b79cb41b02b9b46e6f580d6152983b6d2ac7641d1fa4f5c9fc69156a5debf08e3a1c911bf20c948ba0ab2bee10ce6745c8824233662444d11b90906f6d8c72409c2db6f4a73b9975144e0320d7c527a1dd39297f91070231de2731b8283ec0fca0355e27a37de2c5ec285558b1d7ebe33bef24298f31186b913532462cf9b1c536b67f982f5b056e64810e0aef8c83039ea2775d6c8bd1d544d19a424d467a13841918acc0a059c3f69fe9b600574199f16a36574000ff1f901696b03220b823fac3e63a43de0a98f6a154b16e28c08bb95eeb85d2f4a4c24225244f1a4c3cbe11de5bddd63fc98c2f2e35d5afe8ab8a037732f7bf3d0a7f8090567048aa8294020eaa096e78be7359854261122d20db57b4cbebe91e3dd2ae5e21f0e66a4b043efe744edbdff34b323aa65a1a05fb9ed8a3df70a4f13985b06d49b9c3f27e8088496fc8d4d92c2728cb43fdbacb480284fc1764910b1653619690e2fd87c1d44560c5c7c70b15cc1e69c3b4bac100e2259569f30691bbf477d9fc0b4a97a28c2d12fedba1479f637e9bbe9ced92ba2d7757968a27f30ed2b956b212635200c78232641a48f1da24e8d573d1dc4763b058dceec6dedf31ba2744f1ca0c49ddf5845cf04cdd056d2495f2599108859a827193912a0a0dc761d]\n[e = 010001]\n[keysize = 4096]\n[n = 00a902751d279547db8e397b462bd11d9c59b1f10f11a252a61c6c50a02413d69160b9e7d70aad7c7a815cd20ed1d9000ea0ec445dd13e75c0ecd8368bd09da37307b5b06af1e7c822a9efd3025f77d879235d17e62fb93a77991a0cac9a1f69ddb97f58e680713a34f10dab03b6599e7f7da2e7516ace606ec20a2800cb630b8d21168d2918c8556b191348a470c77ed8805e63b3466d06914409e24f50bfe84eb62275b9e6aea8af9c494f34aa4321fa0aac6fc93785f2e8aefa2a65196f266c85d9766db2f97b95b9712b3d0a399722f086c2f811335d7325e92ba54874acc5a254cd438355eee80a6e82fecd8cee335018625339b6423c5d56d2fd2874239beda304e90f17cd60bc3f2858ae0ce24179a134127c5e19fbaf3f567dd4c9d723c60cb8390562779a75bdf906377032cb5ccd1cdc965097e3170d096871dad9d8c4762f7df764753401901c7484746538b976fe03abd293895e47c18b3b4748a9aa35000a2c6a2cf1f6d05ac38455f4ee909c136e486f0d43ce40acbaa0f0c214c08044d0e553492fa42a9ad3141bad2380fe6c2dca0d32b1761d16bd6f4d3b3dae628151dec993a55afdd93b31a66a7c86bc23d7fd03526ea2987d91dfca109c1b1c73fcf958527903a8c251f37d044b91007ad853f0c85efd8c111656c71fa7125a139cd5d8f398996991f5accf6997779927eb54f00107b1c78a0de711141d]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100a902751d279547db8e397b462bd11d9c59b1f10f11a252a61c6c50a02413d69160b9e7d70aad7c7a815cd20ed1d9000ea0ec445dd13e75c0ecd8368bd09da37307b5b06af1e7c822a9efd3025f77d879235d17e62fb93a77991a0cac9a1f69ddb97f58e680713a34f10dab03b6599e7f7da2e7516ace606ec20a2800cb630b8d21168d2918c8556b191348a470c77ed8805e63b3466d06914409e24f50bfe84eb62275b9e6aea8af9c494f34aa4321fa0aac6fc93785f2e8aefa2a65196f266c85d9766db2f97b95b9712b3d0a399722f086c2f811335d7325e92ba54874acc5a254cd438355eee80a6e82fecd8cee335018625339b6423c5d56d2fd2874239beda304e90f17cd60bc3f2858ae0ce24179a134127c5e19fbaf3f567dd4c9d723c60cb8390562779a75bdf906377032cb5ccd1cdc965097e3170d096871dad9d8c4762f7df764753401901c7484746538b976fe03abd293895e47c18b3b4748a9aa35000a2c6a2cf1f6d05ac38455f4ee909c136e486f0d43ce40acbaa0f0c214c08044d0e553492fa42a9ad3141bad2380fe6c2dca0d32b1761d16bd6f4d3b3dae628151dec993a55afdd93b31a66a7c86bc23d7fd03526ea2987d91dfca109c1b1c73fcf958527903a8c251f37d044b91007ad853f0c85efd8c111656c71fa7125a139cd5d8f398996991f5accf6997779927eb54f00107b1c78a0de711141d0203010001028202006ab46b7e91bc3557102f887e2031f1f101cc4fb6c4da68360a21f4b176b5b3b5ab8d142bf7c8da9b79cb41b02b9b46e6f580d6152983b6d2ac7641d1fa4f5c9fc69156a5debf08e3a1c911bf20c948ba0ab2bee10ce6745c8824233662444d11b90906f6d8c72409c2db6f4a73b9975144e0320d7c527a1dd39297f91070231de2731b8283ec0fca0355e27a37de2c5ec285558b1d7ebe33bef24298f31186b913532462cf9b1c536b67f982f5b056e64810e0aef8c83039ea2775d6c8bd1d544d19a424d467a13841918acc0a059c3f69fe9b600574199f16a36574000ff1f901696b03220b823fac3e63a43de0a98f6a154b16e28c08bb95eeb85d2f4a4c24225244f1a4c3cbe11de5bddd63fc98c2f2e35d5afe8ab8a037732f7bf3d0a7f8090567048aa8294020eaa096e78be7359854261122d20db57b4cbebe91e3dd2ae5e21f0e66a4b043efe744edbdff34b323aa65a1a05fb9ed8a3df70a4f13985b06d49b9c3f27e8088496fc8d4d92c2728cb43fdbacb480284fc1764910b1653619690e2fd87c1d44560c5c7c70b15cc1e69c3b4bac100e2259569f30691bbf477d9fc0b4a97a28c2d12fedba1479f637e9bbe9ced92ba2d7757968a27f30ed2b956b212635200c78232641a48f1da24e8d573d1dc4763b058dceec6dedf31ba2744f1ca0c49ddf5845cf04cdd056d2495f2599108859a827193912a0a0dc761d0282010100dbc901f7f03736289dc3878af3bc7f9fd88791f7d837dff586087ebc3c3724f3b4ce056852c2204d290a97bac483490b77b98f712ed6bb1e5b0ab1ed211cad3139ad79cafb7dd2340b9227355606305e128fe6e984afdbb1a089be13dddc4697a6fe12b9e04b34be62e0c6accd56fdddb1890eaf2fffc1b421633b601ae5f6197602bb8a7a3f26bbb56cae998f5ab8979541a054ad4ff8750363e1fbbbc35db17aabcedb8264c2c793378e3afb74c031239e42d233109612b6c8e8d21193608dcda362f88210882139bd6bd947b584e0035746a7636369e289f93f8a65a91d4f4a5697b498be3f74436925c56b1287de0b159677dfe70e04137ccc95f48a548b0282010100c4dba17f39c82aa4d51b17fa1eda60324d680eeb44948f00c8b4ec113d52be03576d7c046795fda027b1069eeac4e0e169a8d15d11d0cfb5e907d77a064ab7deb15db96d3bc4d66f4eb9915b7ff1d7dc76663e6ecf4a4cff615c5fe2db7a9d80b8c7e78f861c636d0b9096a13a97e3ac84614fcb9ee3ca902d4be175815b12e9a2b5c42b7b680b5c327f6b1270b718b86bf7fb58ac822a40a8980d84b6cf7c47b98987a6df44cf1a69d522da6ebb0cb974547e9d0c8f8d3cfa59e5b0358a50b925aade50136223201a103b7298cbdcf773380d8f36b9af0482d710e578c5fecb548de4e07433ae4e8308fce29be0ef8ea9aaa3498ff5ac72538ed76b3162c6f7028201003d42a2bcd404dfa0a490aa880d75ddf0d4eebcbde35377a63cccc35e7e3e349b852ae390f7784a7e9750ef87cc5c7790adb7580709322b07c4029023735645e3f19aabd6eb105ff5c7bfde13dcbd6edfd9b6a87b3053c01d9b8ca9216a768a6a9cce36b3fe9397c8f55087b004b019a4a0667e645031ae7121d941e480bad644b483007911a7e688ed81b48cf2cb2ba67ca0c52ab5001455b13336faee93feda8841b92fb0019bd4faf0c24128739b5a56fe36cbd615ea6e9eea1312f2792cb179beefc82aa0a700f3d21b6c7db357ad04e15fbd2a53bc60bb6a70ce879582a8e6248ab678d8966136a4e93544a9ee9af265fb01c0b3eb5131895890f78f530f02820100376db40253adb5bc25b8f43e5bf3970472e12ada39bc2eabc4d79464a244aaf5dbe71af54e8960197933922eaae1f683e1b1440a159b1af1188539b9c50dc2c9f45cf479fa4b49299c1c09fe9e7ee50dd154a69da2c643f9e05b17309425e93536522b343149cb01083195081eac67d1ca906fdc6087b92071709d31edd34bf6f6f6811ed12791934b30af6048d67522705c29ac651e5d7149474eff204e39ab2465c2094d725d720d7c92ccb842f8a93b4513457b24ec5ad00f01ea6498e673cb545a3667cec91f1fd79435872a57b460ffd6698dba28ba7770c0f42bd66c10aa652d9db97a57c909823d5a3d13cfbf", + "f6abf2402345c461887f7ece52e0822f0282010100d7a16f0698c2836b03e73ddb06e9bcae6d5794fcbf93379ee82f502de29c763f1b890590d597a7e9908a7048f9e458b6f50e6935ade4b88d50a399419bca330372fba243c8d2c56b64b77efaecd32e9ad862aa6147846e7a1f0993f1ec5c0a80d0d03b4c6e940a7ad92fe14b8007f923029a7c8f7d27f729e3558231de65aec201a797439217bd7b8b7e7b23fd750b12d807f3077b4a3deddd5fc121a6b689549caea17ff17a0131a38cf08344531e995ac94b3da08552b3a3f361f983b481afe778f9d8ec5522221a26bc037db039613baed46fd3ff50a3f843e7f32bccf31931aa9a9e49e10086bd236e8644dd647ea4948e5561bde0cef381da9965deda3b]\n\n# tcId = 51\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 89537d1445d907e879ce41e281e753689573b45b4220439a099f9ab67eb77cac905bd751355b71c8e2a34b37fab575eb367ba9ddaf4ff8c836ce408abd8e453e8138f0a25fb2d1d50edbb1ddf7bbd87576a35de32f7331826341027f33f6654abc20b6ca1b942953803fc7779706ea0a4ed1f114d899ef4fa81f5a50218e21b81a6a37eb58a68e5c5df7304e8ce5829b6c7df99f9250f8a24182c89c8c9d9451c260486cfb4960fb9cf167ff29baddd937ce3734703add103b45bb84e9cdf9fe0afaa7bfc60e35e8dc5eeda2d9dbf90183a52e26b4fdc62c221cbf175772b148f5f8c11ee4424c12e2ebd09f77455b90daff72bafa5a3193c0a88a04f479a43051b26d64297b245aba573bd6aa0afed1b5bc6a5e6f9041a5cecd7ce805e4a5d9f71bda664a8829632025bd03607874f7151c45de110c333654e78077c1b85dab47ef741d897a7e5116b8a9cbe2b2cc59f30ae444653fea95af9bb3c27724fff00c81eccdc65bd14c460f806bd9bb1e969460abcfe9017b4afd832bd4b1864bcde6ef0d64e2105b181878ffc78c951a69a94f54f4ccdde898cee57925fda0e5109f3ac08c1c275aa37629e3a50cd322a7995ad474a8cda86d440be64d39c3b68c927323ee6a3f5497595130a54f86560cb7ffe2ed27905ce87b536ab4ba5a572887fa0f5a6ebfd56ab568d19765fb07a78497df520b1b78779c32c365ab5ed321\nmsg = 877bbf215c28067ceee0793bef25642e3a77934182c98802a361a1ceffc112f1fe3f92e2765ead7adba3e1e8cfca7b36e47f8e8557069c29841fbc8e65a871296602cbaa0b49c27f2ea5\nresult = valid\n\n[d = 638fb70f0f29bcdba3299ee4a152b6953f032eec08a1db14f17459e5b450f5d9123b986c462352e56f024c6a01b282e2ce96ba5b919b6bcffca14ef5e40c7a816ed6881f8b8c0921712eba22b02bf3b2d54e277ce851e8ce8b368f01ade6d93cf3e3db5a2ae907f339ec018a751b5ed09c97b0ce39aaeed772738752e1bc9753c9485dd74c5db5700430aa6b07ef76782d2689ba13e3903aaa66e6c5c98386a33f9326ff275006251fbe38245b80a106e4ccbb999d09c607c1903a2c955cd17589dfe774f704ee94280525bd2026837d2f798dd8e5827a3b6350bb7c4eefe4bb303325e36c153e64b6766fa3123dfec604d709cc2d07a745ee34ca486ad0dd2bbfa62e685fb61047fc0de3efbddd42e307c318d1e39b2206cc0597a60cf39427e352cefb18be1928ecdafd7e1f39710fcef145694b0e8ceb82d060583e3bc294d07634bb27d5d5aba8cdabe385ad9ad8780dedf86944b58bb515dcd25e0a455a30f5da576883288fe672371b05b768b383cc1528b40c9043c2924fdc6210134f63869499e7381516678dcace0cb6928075348da8e0edd897b333721fcea58fa80f58506279553e1836537d50a2d6952c70def097393c315d17b3a75223d1d094357a7ef32c1b0a3ad3ea39c83856e2a4c1d530f0bca55949d35e89c58b5f0730215bf46268a2644e5d33d4d94f39ed23faf45393c2d63915debbc2a72115b401]\n[e = 010001]\n[keysize = 4096]\n[n = 008fba5109798c3e0f39b77e6d99e2905603e7952b8abde0138f2303be9f59dd40a84b65b73fa3c0656c3bd685688fc0c865773f7973f1983d212181353726d27574fc9f3c24d4e91481565fe4cf7685243df1cb4dc2cc7a1efdfcc978d965f5b69be3b5dea139e80076307e1467d5fa4549f3a5ac7d25c5e2eeba41618cb687962b9fd0e6abb3d0d85260ea60d8b004bc17c44f72276fef63855957038ddfad92c03c7cbf7dcd41d053bf37e5acd19dcf8f549381debfb8a429246489743a5e51f707e40ed552c749f6f65e0100cc77f957121046d84f200d28ae375bc2abd4877fdf486e43dffbfefd63d56c33638304570132f6032829ab836a69355143f33853d1088095f6080d4024125f378833674d1cfde085fad1b4e81227ee7b5f6a077ba9af4581dc475d05980484afa42ae2609b7b42dd453cbd7650158010adc7eeb420552290ba65fa71b59ee26c78e86db2937a839a05891e137cdb01a5b5d6e2ac0f61a54201fcfead824313697e773349fb83f614db4ce12cd300525f0f00ec7ccff220b4b9342c638db78b5d0b58f205e3e1510bf7ebc4b79ca64b63f8d55d4b8d584be35ed8470567bfa330975b08e23f5c6a305b22a3f5ff4930786b0e4bd1f66fa1a85e233f9112c8be4f38860372ab7738d24a1927f42f72a7a516d58fe0759c1e27ebb95588803c8fdbb4e4f6b5dbab2cd55e410e4d05c5b26d9789d1]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b3082092702010002820201008fba5109798c3e0f39b77e6d99e2905603e7952b8abde0138f2303be9f59dd40a84b65b73fa3c0656c3bd685688fc0c865773f7973f1983d212181353726d27574fc9f3c24d4e91481565fe4cf7685243df1cb4dc2cc7a1efdfcc978d965f5b69be3b5dea139e80076307e1467d5fa4549f3a5ac7d25c5e2eeba41618cb687962b9fd0e6abb3d0d85260ea60d8b004bc17c44f72276fef63855957038ddfad92c03c7cbf7dcd41d053bf37e5acd19dcf8f549381debfb8a429246489743a5e51f707e40ed552c749f6f65e0100cc77f957121046d84f200d28ae375bc2abd4877fdf486e43dffbfefd63d56c33638304570132f6032829ab836a69355143f33853d1088095f6080d4024125f378833674d1cfde085fad1b4e81227ee7b5f6a077ba9af4581dc475d05980484afa42ae2609b7b42dd453cbd7650158010adc7eeb420552290ba65fa71b59ee26c78e86db2937a839a05891e137cdb01a5b5d6e2ac0f61a54201fcfead824313697e773349fb83f614db4ce12cd300525f0f00ec7ccff220b4b9342c638db78b5d0b58f205e3e1510bf7ebc4b79ca64b63f8d55d4b8d584be35ed8470567bfa330975b08e23f5c6a305b22a3f5ff4930786b0e4bd1f66fa1a85e233f9112c8be4f38860372ab7738d24a1927f42f72a7a516d58fe0759c1e27ebb95588803c8fdbb4e4f6b5dbab2cd55e410e4d05c5b26d9789d1020301000102820200638fb70f0f29bcdba3299ee4a152b6953f032eec08a1db14f17459e5b450f5d9123b986c462352e56f024c6a01b282e2ce96ba5b919b6bcffca14ef5e40c7a816ed6881f8b8c0921712eba22b02bf3b2d54e277ce851e8ce8b368f01ade6d93cf3e3db5a2ae907f339ec018a751b5ed09c97b0ce39aaeed772738752e1bc9753c9485dd74c5db5700430aa6b07ef76782d2689ba13e3903aaa66e6c5c98386a33f9326ff275006251fbe38245b80a106e4ccbb999d09c607c1903a2c955cd17589dfe774f704ee94280525bd2026837d2f798dd8e5827a3b6350bb7c4eefe4bb303325e36c153e64b6766fa3123dfec604d709cc2d07a745ee34ca486ad0dd2bbfa62e685fb61047fc0de3efbddd42e307c318d1e39b2206cc0597a60cf39427e352cefb18be1928ecdafd7e1f39710fcef145694b0e8ceb82d060583e3bc294d07634bb27d5d5aba8cdabe385ad9ad8780dedf86944b58bb515dcd25e0a455a30f5da576883288fe672371b05b768b383cc1528b40c9043c2924fdc6210134f63869499e7381516678dcace0cb6928075348da8e0edd897b333721fcea58fa80f58506279553e1836537d50a2d6952c70def097393c315d17b3a75223d1d094357a7ef32c1b0a3ad3ea39c83856e2a4c1d530f0bca55949d35e89c58b5f0730215bf46268a2644e5d33d4d94f39ed23faf45393c2d63915debbc2a72115b4010282010100c92c664eab26ed6708df49eee9ad0a0aac0ebd23a32112941e016596df6da424dc0eefcdc6538856a60baeed45e9fce4552f2bcf46e119f4037fb5c581736a49476d5422a6a68b623de06e803bf0d8f407d13499225e0b6499c8e4f806066de5240f6e7ad162562ca89b7bcef52dbb12afecd3851f60395e6cfc1b70be6c9d7412c465c6b1887a95b2c833711bb12b856e2e233e90d856152a6da98470d153abff210024dd29c7459ded4a27501f99ddfccc0d070e259cc525ac9bbfa3c6fed146317e2aa78ce9fee97af2cf3af86e1c24d1010b5e8b851ca41cd6407c54c378cce7f61fac67e90c9573bb76f6315acc4234724c224ffb3e5ec56a299f4042310282010100b6e60311f461af483bf32430025af5c07e0f29c2493163e686d8a1583fa5a9a021918dfaf155bc7864df340e3bf989bb69fbb8442eea8667c841c77e91819218d96fadb9ee55c6d97d02268dbc8ab817b939f1b36f56067ac4186478840a056fc3c02488aca17ec421552e7a196c5d1ad0377cdcc522d0056c5624428d21cccc8564fe5bc5d965beb951b610abf2dd24307713acf6ce31a12f3845e5967f6220a4100be5b134d5337fb48af4e0c10fcacea655bf43cc5fde103b3986bcc6dcba38ae1a50d5175656df1ec48a692527e8b8f327f9e1499777519abdda6727fcb06e93eba2447f03e0afd1c49cc52672e374bed5db2bbdf658c1ba5256794139a1028201006a9616a289b5f7448703df253133d8452d4225de12d93c01b42023561b8cf8d1fab20346305523c05cfb85b3fb3ded1a81339bef976b3e97f59e9d8d467803114e41d3b90438eb52a2dc1d4fddf24ed084afc841765f03844aa29106041335f898f180249c799094dac47e85798bc0393772afe3316b8719cb7e8b7f61b5247b5252326662bb9fcf5ec909d05cceb2f3601c1bda535dfbc5fd13db23ebae4cb9ad542bc25c577d581a4395ed5c5b51e7b6bfda0b29e8adb61aaee85a5208e60bb53815d3bdb0406e2a0055538cb80186f1ceb6d1f246d3c10806ab51c14e1bbf0e39bc42add2e43c21970ef5099dbeb0c8470763e52e213cbb73b73ad4407491028201002a6b6e8adb834c8414637021326aa654dee7e5678a524a394d4d311ea6a465931e3604180fa132f539700b42c1e63e6b99492893a7cdfd1e54f3ecb10e4e5ef4247a2270dd3647c86995f61b297f82f2fda2d2cc2b26689a50a0d7ac9bf3370f94f71b821787dd3edffc41ab4ffa321de5ecf8a8bb90376f0a9170177f64377bb7f49489f479577fc4bb8ede8f02e5075fb63e79ff44137eaed4fe612166a9fba81190b0d548cbaa061479a611fab50ef49edf845cd529e6f71cc55adaadc4c3ec2175390a333f73268c9c48fdda0047999dcbc7c8d8a8a8a3e49fe3e7c8fe726d332193a10f5476e8505ea97d904d5533de8efb264a08b8cd35c9a304bc7c01028201004e825151a71ce03dc7f", + "e5721893973cd3cf83c4e306acc6515565e5faf3b92489118ae02c509282c1ed1c958bfe78f95f8f76ba8cf3df7b700451400c4b9b5e8a35f10a2d78c35a13f66f92b1475a534e35bc3ccf5ffecbcba863a33428e274e5572afe5013c4a651e8ece0f17f34e5f7db05747183606093adcf897e0de08a91a0267a2c5ad35f779ab59a2ff03f05aba085583b2b50b6ee74f69690ab30bd1ed8176740b185c03e21a4b32ccf493de6ba221a04b97fe417a372c9382696c5e92e44ec99607ff8b1102bd686736d6103952024fddc0eee2e05e7f0e8b5728691218e95425ef0e6fc35f902322e7d81a06528e5307b193f331a43b3744b7d863]\n\n# tcId = 52\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = 399edf9546db86f846daf8a9d8447c622becae04b9b7335d04795993ddd16e532375498d57e38f831a7cbd7eda6d01a382329b2bf6be2b4635e96346f257447df09041abdc4d23995dc107033c0dafe20f2ce5fd08d63cdffc10bff02daafa56bbea0cc7dafef2d365eccd7acd0bc490f2a8f76e660ee8a410ffa3a3a9f995fc8698b7076d44d9b6f90561a9bbf93f3f5a02e8bc5eb231dcfd0776263c44387ba556c63e20c2f5d07ae20f50efbb9bc3af560ccc5a1b24a1dcaf3e31aa5175ae58a62ac6837df8987c78ad35efec276488777dc6054b7f9291d51ce59675757a67a3a7a23647848ad933ca2edf6d02832d915a7f6316bf88ffa5dbdc1d10853ec3dc08db19434091d3b49edde4556b8156a5c5706eff82c1ae5a51f8b92d0aed282c0f526c8a866dc2940da12d7f4602393f5b3b62e72e97b1d29d5f37398c12ef4513fd46f748774d0a29df9e63382cd3819c7312e9c06122a243076434d2a408ca766b82179a482f78b41bb5f0de44ee2464793ff46e12b3b0d6e39f183981e54a8009736db0941df0bd459ac0535f5e04851192f38f94db62a8d60aaab32fc9bee2056e95a7c62a6cee6250f61371b143f49ae981137aeeb7f521998ac24f1d51876f119f58e33be09ed7f3b89f34acbcc5410c1185c31a4e74b1d132bbfb77d71c3ccc5037d08c5c31588f6738e3acc585145cd518a5b19a39d31aad7de5\nmsg = f52b1ad4f7246c94e28a5b923d56ba2795ce95dd747b67636c8fa08b22303b954500f4fdcdc86d0b685666f51ec1c26ef6ae9003411b5626b6e6de118f822ab492fa0f985ec1bf7f8c90f32edfb49a149eda088a6753427c1ffc256cf3f80c9903ffbf26cfb2276e1391faa84f3f15774637e3370b8dd3c656041a833b4df08d82ee126b3f5a115545364b6f3cb41fcbfcc3061dad6dfec000b050bee2745aefa59380bf1f510d9ead7ad8063a1d024d02ac97d0f282fcc8199d19306859b4bb45c4480a2957855dd8de8ce379ba37251dc553e1985af2aa36b4d6b10c76d94b8a17c6cc64286957c0677c8a52a80bcfabc40f256c665bfbfcb1f43dd2568ab207f20c568521d881b78a1eb5f929b789788b37e626279591643897b30cb5be2833ea706b879bdfb65bc51b3ffe6680b0bb58fbd46a4768d7f61744ac9f4dd234bc7aa56aba322cde462129c05debd5efddefde23ed1f34c060a172879ac2baed4e370c63b5f1ef21ab313f2f4a664cb49e0ab51bc8174b3a69591a6e0f858aa20f25c5fa097fb84f2063a96f48b54cf9c2cf7d4fce238248e3f0d16884e3e6a1bdb5a9380268c6a24cbf8b77d53f0db08e60f1b8cf083a00810d4ad3b88b7e0ed06fddbbb4775f37a4222336b798071a7edb6ee7eb11ed89331904901f95eb7046e1560955dfea9d46b50b0af396a9de\nresult = valid\n\n[d = 00d7a8b9b7c68954f5e79e0dce16b5042967f5f32677d91ff959173494da3e80116f7ab9fcbd49ac6cc33b4b76be563b82ad84c89a162e471fe51913ab197f484e68006d1616d7704d6ceb97dab00e6ad928c102476da49f7fa066f662f1517966ac23d92e94719da7f66412e628e8471cd73f7c1271f072ff05639dfe0fbfbd8aaa6fe74d250c7484ea6c02e57512a7e46b8be2340d48e184f91f8695e91b2648ef80bccedcf52f4335ae79f82b847a9951d018a0b04787994a1df86e82f6f3847ebbe9cc0156bdc9890995fbee3bea8ee567da90cc14d13bc6397bfbafbc7b9cc160e042a61d15d27d9971f6d1393e1760f0f23a61347242cf60bfbb9dafe6d6a2d95022d42d5452d863fa91e5d85f3425193b717052c589a381357aaf467502a082ae2082f4181bed283312f783b5cccdcb94b40ea25831285551ec1cb495ef884f3f83702298b5edb615ce87d2b28259b9d7cf5581dd8b27d9d3c523083c316a7341f4b9a49ab156232d3dfbb0e45086b58e39c51d831cb9432764d2127a691805d9c4b7b4c07324b2fdb0205fefd065c2d90b92b8de4ff4b82764b7a531b8d9c25f46211470e7a0f5e646b8046636599ae64c322a034893ad0c72af5558b582cb5f615c136da2d21db8d9110f95f874faeb1268e7c8380b4219476fabbab3ae6c008a3dbc4e8985f5c57124da5613579f926aa3faa4443138e8cfdebf3c81]\n[e = 010001]\n[keysize = 4096]\n[n = 00d89d424b14b86af79319720c7283ef4ba134b669a1d5a82faeb51968a48c785751c82aa773a8874ea8253891adb0604536e537fddc6049a1015a7e92920eb256516a6cd0eefa60d1c93b679ad619f81eb62717025288e7284d3d7bf55bbb9dc9a867fa4c0323ba4b2899b63739ef9d966790d642f95b6bc8ba341e03719d9e9cd86e0d8c4a2d0c3f25fba86ef4cb81e939d159445c64e04a2e185b1bef1e1137742c5e399a91f066d8a569bd9acaca4155ea11c4c6474811e5d9d79f0e5596c50ff2592c3ce7434bfc4ef7dc5c1f7c368d55c07125f04ba5b1dd5b3bcf010c87553d86db3d0460dc8b88e9970d1ed1fcdb7f4255f421791f85194b9160f89c381ed14ca532fc4b1e2e507b01d82ac5b683678b34d903605db188b9103325433c71c398af2e49e30e8d7100b56e2a488e3275a3e4cf75465915a24ad7c67d466d10d56af9f297cf848350a270a75a3df8ca7f61d663153c277ddf3ef4f168cc7e451671de174a8c58be3d3ed333eee1c8af479c4fbf7869f534a9a8bae304a34938fe924a806ccaccb33f22fc1d3a3adeaddbe092ea5b3e2d870cedf41d4e398a586b9dfa920a0d24657e54d56b09f45dd2f4daac0ebef856877768b0a079c51b5f5a65dd95c754a46356d100a400643fcee3e879b011dc4fa52fcfb40cd639b555af10b4cd5ce5ffafd36c20aa86651d1bd54c4c88785429b86dd50d0761f84d]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100d89d424b14b86af79319720c7283ef4ba134b669a1d5a82faeb51968a48c785751c82aa773a8874ea8253891adb0604536e537fddc6049a1015a7e92920eb256516a6cd0eefa60d1c93b679ad619f81eb62717025288e7284d3d7bf55bbb9dc9a867fa4c0323ba4b2899b63739ef9d966790d642f95b6bc8ba341e03719d9e9cd86e0d8c4a2d0c3f25fba86ef4cb81e939d159445c64e04a2e185b1bef1e1137742c5e399a91f066d8a569bd9acaca4155ea11c4c6474811e5d9d79f0e5596c50ff2592c3ce7434bfc4ef7dc5c1f7c368d55c07125f04ba5b1dd5b3bcf010c87553d86db3d0460dc8b88e9970d1ed1fcdb7f4255f421791f85194b9160f89c381ed14ca532fc4b1e2e507b01d82ac5b683678b34d903605db188b9103325433c71c398af2e49e30e8d7100b56e2a488e3275a3e4cf75465915a24ad7c67d466d10d56af9f297cf848350a270a75a3df8ca7f61d663153c277ddf3ef4f168cc7e451671de174a8c58be3d3ed333eee1c8af479c4fbf7869f534a9a8bae304a34938fe924a806ccaccb33f22fc1d3a3adeaddbe092ea5b3e2d870cedf41d4e398a586b9dfa920a0d24657e54d56b09f45dd2f4daac0ebef856877768b0a079c51b5f5a65dd95c754a46356d100a400643fcee3e879b011dc4fa52fcfb40cd639b555af10b4cd5ce5ffafd36c20aa86651d1bd54c4c88785429b86dd50d0761f84d02030100010282020100d7a8b9b7c68954f5e79e0dce16b5042967f5f32677d91ff959173494da3e80116f7ab9fcbd49ac6cc33b4b76be563b82ad84c89a162e471fe51913ab197f484e68006d1616d7704d6ceb97dab00e6ad928c102476da49f7fa066f662f1517966ac23d92e94719da7f66412e628e8471cd73f7c1271f072ff05639dfe0fbfbd8aaa6fe74d250c7484ea6c02e57512a7e46b8be2340d48e184f91f8695e91b2648ef80bccedcf52f4335ae79f82b847a9951d018a0b04787994a1df86e82f6f3847ebbe9cc0156bdc9890995fbee3bea8ee567da90cc14d13bc6397bfbafbc7b9cc160e042a61d15d27d9971f6d1393e1760f0f23a61347242cf60bfbb9dafe6d6a2d95022d42d5452d863fa91e5d85f3425193b717052c589a381357aaf467502a082ae2082f4181bed283312f783b5cccdcb94b40ea25831285551ec1cb495ef884f3f83702298b5edb615ce87d2b28259b9d7cf5581dd8b27d9d3c523083c316a7341f4b9a49ab156232d3dfbb0e45086b58e39c51d831cb9432764d2127a691805d9c4b7b4c07324b2fdb0205fefd065c2d90b92b8de4ff4b82764b7a531b8d9c25f46211470e7a0f5e646b8046636599ae64c322a034893ad0c72af5558b582cb5f615c136da2d21db8d9110f95f874faeb1268e7c8380b4219476fabbab3ae6c008a3dbc4e8985f5c57124da5613579f926aa3faa4443138e8cfdebf3c810282010100fc21b5fdc6c74328d01ba96c69698fa6f87a6fd2d01170cbe3d7f3ea5fa1ccf1911acf489938413758e402a73e3efdfc42353aef940a7a7e94e208cbd2f6d43fb6592fd7fd6cb170bfd72835d50d2d2bdaa6bc2745862e5d03cd7002c3246ee05bcefdfcb923c763f9ec9c05a770cdf96cfc650099a0848a686eed160a009116f93ee7e2f31d23e45d1be4b0b396d691c434ad447379a651e2ef1482f7c666c0c9d277b73db6cee91f770aa609e368ef3b9edf709c36d1ce8872423fdd4b38d54ba70d49eaa1472568fb0aec1ecc4073e407220516cdd01e11d77f6d4f5de5b332a5d6a97796c2d469c5092bef9389f168ef6eb4815761840648a8c2e7b645070282010100dbf00c2f80fc3f93c3b0296254d9ccac77297ec72ef881191cdf002c561535f96f8431989c4520b5e9d4ce9da6ba461c686f3b220a7d59e6ce10c25addad2b1945a6024f5894ec43326a459b00e03c0886a61b4a3ec3356a082cb1922b73d3c9335617f1f5376350fb39e5d7cf1a235f595f18bd6e926f0b64862fdfa1ae85785c30b7cc0ce5b79331338e424145eaf4101f3b894d4e613555fdd95425de4ab26913b71dc9bcc2f484901cdfc9509c87130fec83cb75fca64a24090ffa84c53b4c11e0c021b6a674cf2aa3d73652bf32b38b2a97ed08179e9a863f6a3c7404c99a4fba657ceba11316596bf7f447dfe353c7f1e4a6ef72b6f00db7de5ee3b70b028201002fc52f571acf6c311264fb4fb815310b80aea9fb3642e7ad29c923c4b743cfb1c13d6422ac2d15662828633c4eb5dea769dfedffb07bdfc395efd19cd4a6c18624c577242436f0d39cf565fff512df091d0f543cd89658b874dcfaa8fb522ed3c171517c0d93f2d645670814a629e04caed28f4c72cf0fedad65bef3db074a7620d94354239dd4cc", + "12bc13334b837bb9f883c6845ea0a0db88f4a55d3f16cf271dd60baaa33dbcac3cb2f0488f3d1007abb329408bc8732dff7a2e852d277068314240694dd42ac7b2c145cb80f6500be51b58ddbff954c22dbd37be7d381c2a3ca1612f90a1f6de0a003401a80dbb280b2aba3de6f7a8593c5b8de607c2e807028201010090d18a2489690f2febed8602725e8b4f909329205c8452f547366b35c664e70a5c6c8dffaffe30a0b7dc61441b719212c88d5d4177e8bc16a6df102aa6c68c97726df21d6ef5787072b4d92a4c345a333efe0700273d8061560a9fcde080bf163f9053ea050e387e2d3e1d62b1c2c341d8662eb3252894a7cac434a7ab1d705325590adcf82d16687c40374ed70e03bc3b1565ad6dd2cb5d444707204a63098a5a7819de2a64f975ea07be8b7852750ed7f567460ce59ebb9c1c083f9634706e3013a18ac1683448bbd496d771b4a0a2f0e814debebbd259a3e3fbc3a714b9c649ae6fccbda9a5811cf93a87a538e26a1c538eaa81652f82d7a420caf26e3cab02820100147f57e7a57f9a387b9d8b32bd121a7d0ef04e3329c5caa9eee5d512b6b1a8f180918ce957d25d5f4795ef3780f28d318251ac5439519869569d5c3c682dff570a16599ebef2e3b157b2c17ccc051ebfb5b271d628169d0c451cb960a1a72f1c7483524ddee78e3006f75b48b1a0c9fe70f4db36afd39c83876969ce37a1b15d515a5f648b1c0f8f480e79906b59968de20fd5708ce229693066bc4023964fcef1d01974fef64d0ca36f60d2448aeed2ce27f4883df9c4ed6bbbaf69ee97b0160fb81978abeb9faa7e69838624e399df6fc54d5055bb5dccc9c94eb3e88792ab0c69a394781fb73f28241652d0859a2c5bfdf4ff04e969ba248ecd8d470cd3d8]\n\n# tcId = 53\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = c819e79c697b2b28d7c88226f4eb0bd4717f7ed47e8565a1e2d55c1f6849b3366ec502d5492a261999e219b79285be7ee6109c1974e70fe3538fc3fbe8e9fc4ebd584be8e7ea926c8b9e2e0356fa241477aee94222d629e9907ecc95934346b6e613ff2d40259b85410123d93383a0f2d5c2d9cd8a1054ec8af48c44091785999eb84c611e00514ce75b8357b658c99ca8e7f3c76d269271d010724cf86c51069722957463d487eaa06eb1172e8ede17c39d44e85999559b15bd97a57a0a93373bdb9228879d72fded49706dcf1fc9e898e05921651a31c5cd5ff95d3fea45ebae5cc71ad50eb458a3a19c6f2f1f68508859d19631ebfd8e35cae36dfbf36ea08b8e30668c1000a4b376611b7ba3829389a8582311a19e3a1bbcadd0fc76a20f5caf8171e0ec98621748832a14c0a9da25e9af6a1dc6f205e2deb321357e9f4728a833e515127f5d1a256b0c1f95aa86577a0b96d70dda97818d90f816fecd691982bdf37e20f0c7a5e1fe23620369358ad7ef258b987082b4fc7ca3f892e3df4d5d8d0c0c37967632a9da0405116b29e5b7dfd70e821b538af9db14edef5bb6da7dede14e2caa6ffb2072d17a9e95a396cc6cd7a2cbcf60d8ba9bab067f670475c128d3049b71f5ef04faac70a2cfd727d60a4ea64196ce4a7b909b36e60979f9f175ee5f60c544580998b6c38b4e83179294d81e8328ea485b6670659ba6fe\nmsg = 20602d44c530d39be325a5df044325db22c79ec57ded8e0180dcaeb4b3a8d09c778b59d762ab57e802d455796be123c826566d021893382066529dc3275c5a14041d564c02ae0aa466d70f6f7ea77d9a702b6edcfe44e5e20351909d168a7324cd4005c16ce76c901350af73b7649d9f1a70b106bb374bef6cc456611a781cc7d53505cfdfc47e9cf3d380ba34402bdad7bf5d0781a773fa35182b86e6943e9b35b77133b8e4e98f18e0574be7e2f842fa45aea420cf7406c7be3c6d1a0a8741ef0ece425e70af85c26354636e309b6b2b305f0bec34f1e78a5075fd1b9281012fd1bf36ac1b8c8ba9feb69afc354e9403af5d29fa279167027748b18d4b8f1c679edd7204770a66e10f86624b74ceba939d3ac791fea1d0125b567b21a9175c1c0f924d949ef77abde808ac46ba6306e5073f76ecbd7538f745cee43a2938355a52d132077aa21a31e735238f2741529b574d569c77cb5b1817ed2fe3702902edd7f68bfe2c341419907ff7adc4afd920da3b\nresult = valid\n\n[d = 00af8d89c02f04949bbb13948ee805fe71de17cc7cf021d3e1da61dd4b788c158fcaedd5e12ce7330d50e8a9e2a36cfda0dc42f5cf12a523fc6ae516cc9eb0100326f7d2bb5fb67238f784221d7c803c915e31aa1d5144d371285fa4dcbcfa8f2c3eb74cf1f5390ecbf201da3443d93b63cd624b84ab3e425a69269f71a534a9aac9e8c1417e6ad8cbd36e6e5c2c4d9a72799045782fa9b0ce410e79048326a4a990ba90b646174bb6179724feed38902e0189b386cb1b0d2e16dc0b43720c1d06db4512135dfe72993db127b046a584b1b6a09765c936b535fd48d8bb72b1c69ec3067d8f3103c6b6e10bf60731cfefc1bc68c480cc148a4422c0a54f7277e8dc61b1be3a2634d5c092998ae87d8299ab11db50a7b59cea34e411d90b254e31fd7b8eb16df3d4ba5c7b86e0e742b3564df700001b14bd21398e5a6fec5e62dc4e92b013e607741c52bca3b17a0d42592a473fb9b2751eadfe306f87a4613f28d83de5e7797decede6363e5c6692ad7d30be778886abba841288685543b1fd2d7876c7ff1e250bb7cf4e920e7dd41329675bb0fa4dd05831705dea42d7b0fa9acacf56d1ada19777787c549f4eb40a0a0ceb3164638c913ddb59b74f113290bed406c82dda432c5986c39194e7e4315a149efd55747b65d3c7dd92d451cea362ab1e501d0ac5f69c00c3019923ddcf3d47f9a3ec12263668dfe619a1606f40f315]\n[e = 010001]\n[keysize = 4096]\n[n = 00c5a211069f2189bc37363dd033aa6b068a9b83f572e1098de9a213b2a5bd5120f85c23ca8e6b382e2368948b517d00db5aef58d5794e461394ddba9fb6f3ad49dc356d9f1dcd0f25934ec0c8cd0dc833f00f29f5f6537e70e680a1cfd20448a8adb2ed959dda39c2d59c975a78472a68d9314ba2ff138288a0bdde65426f2c24dde0baebbf8444c9dd0cc3d72f760dd13832e6af86c7379d66198a7c5a5fa085c71f97f10211bf562a70f4e109c83cb6daf328dbf9606f116d6c62b1efe4fa4cfbda5405397a92eb391eea81c7bf129136040738eb5fa015c08e8154df9beb3a86504f400d4fa20bcb038ff2bc88c4d6cf364841f706b52bbccf4c4d218baef41f2083a7c76fac04603402fa2dd45e238659d1eeeb97929e35b0660aa6ffeb2e930dce0ae8261f45901ea218cdbe0bbd13d8c544396c81748134ecc9a12329495025e787f7cf15d2b5aa63593b1ff8d50c7f26728f2bbe22bb8a8b344bdbcaa5c41ce89e5de35f4e620a3e86efbd78a371f85ae47372640eb0f3e7a880fe0bd6fb48a6d6b80ea25679236e4186454a2513d4dc2ab8870d8938dd5611bdf84845704e15c77f52040570a1929df2d5436f0501678418ce2797ec0c0d9b72d8f673207ea2a4f0ec446383c8d283b8c027aa3d06ac66a81f7b909e7cf0467977a64e8c9059fe3641f3873e7535c868a6f520e0251928dceef84f232b46a9064ad9e5]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100c5a211069f2189bc37363dd033aa6b068a9b83f572e1098de9a213b2a5bd5120f85c23ca8e6b382e2368948b517d00db5aef58d5794e461394ddba9fb6f3ad49dc356d9f1dcd0f25934ec0c8cd0dc833f00f29f5f6537e70e680a1cfd20448a8adb2ed959dda39c2d59c975a78472a68d9314ba2ff138288a0bdde65426f2c24dde0baebbf8444c9dd0cc3d72f760dd13832e6af86c7379d66198a7c5a5fa085c71f97f10211bf562a70f4e109c83cb6daf328dbf9606f116d6c62b1efe4fa4cfbda5405397a92eb391eea81c7bf129136040738eb5fa015c08e8154df9beb3a86504f400d4fa20bcb038ff2bc88c4d6cf364841f706b52bbccf4c4d218baef41f2083a7c76fac04603402fa2dd45e238659d1eeeb97929e35b0660aa6ffeb2e930dce0ae8261f45901ea218cdbe0bbd13d8c544396c81748134ecc9a12329495025e787f7cf15d2b5aa63593b1ff8d50c7f26728f2bbe22bb8a8b344bdbcaa5c41ce89e5de35f4e620a3e86efbd78a371f85ae47372640eb0f3e7a880fe0bd6fb48a6d6b80ea25679236e4186454a2513d4dc2ab8870d8938dd5611bdf84845704e15c77f52040570a1929df2d5436f0501678418ce2797ec0c0d9b72d8f673207ea2a4f0ec446383c8d283b8c027aa3d06ac66a81f7b909e7cf0467977a64e8c9059fe3641f3873e7535c868a6f520e0251928dceef84f232b46a9064ad9e502030100010282020100af8d89c02f04949bbb13948ee805fe71de17cc7cf021d3e1da61dd4b788c158fcaedd5e12ce7330d50e8a9e2a36cfda0dc42f5cf12a523fc6ae516cc9eb0100326f7d2bb5fb67238f784221d7c803c915e31aa1d5144d371285fa4dcbcfa8f2c3eb74cf1f5390ecbf201da3443d93b63cd624b84ab3e425a69269f71a534a9aac9e8c1417e6ad8cbd36e6e5c2c4d9a72799045782fa9b0ce410e79048326a4a990ba90b646174bb6179724feed38902e0189b386cb1b0d2e16dc0b43720c1d06db4512135dfe72993db127b046a584b1b6a09765c936b535fd48d8bb72b1c69ec3067d8f3103c6b6e10bf60731cfefc1bc68c480cc148a4422c0a54f7277e8dc61b1be3a2634d5c092998ae87d8299ab11db50a7b59cea34e411d90b254e31fd7b8eb16df3d4ba5c7b86e0e742b3564df700001b14bd21398e5a6fec5e62dc4e92b013e607741c52bca3b17a0d42592a473fb9b2751eadfe306f87a4613f28d83de5e7797decede6363e5c6692ad7d30be778886abba841288685543b1fd2d7876c7ff1e250bb7cf4e920e7dd41329675bb0fa4dd05831705dea42d7b0fa9acacf56d1ada19777787c549f4eb40a0a0ceb3164638c913ddb59b74f113290bed406c82dda432c5986c39194e7e4315a149efd55747b65d3c7dd92d451cea362ab1e501d0ac5f69c00c3019923ddcf3d47f9a3ec12263668dfe619a1606f40f3150282010100f66022b1a901ea98279901e67c2b458a74ad0e240caf0c0f7cc51cae32650e7d6c7638b3ddb1768b4e515d62ad12fcac3ca39e5d1330b9d64181893a88065b488f7885bb0a876340777c1a3dc1528333453bf9a7439e8092b84817fdbf99a1775fcccd0f7fed2250ca47c294fb87174cf087a486c25349ea7b093f45cfd46e5545c314129abac2dc4beadd9e510d47bb3bb1de4ec2d85a422d1004ce02a4b28d4281e32abdc3b19deeccc5eae65c73625960f517242301670055d81a96ea4ec8d425535f14473697e62aba291c02ad956cc78044f653ef3f0275431c64470cab68e5ca29cd477f8e7ce900f2d594e23c035753372b1b8ad664cf8265757e6c1b0282010100cd5a7c1cab75f5020767e4f22ee9f553bc62417fc2a91453205607e1ed37c487792ade5dc6d2dc7f918fdc24928682e2b6ca1a7529a2e10dfc8f52e812399c1028369eebb770e2abf4879b5f512b01674a371e06cb4359531205ef91f583b23fd0db06f55eedfe6444ebefbd7cb4b642e19178251cd53520eeafc7fb3b2b6", + "bad05f44b36bf66f68e205b504e9fc0a20c8651e2f28e38fc1b38197f0aecfc6fb4a90b1bafac434aa6d97908ca2a30f990ffa954ed6ffd03f31a497ec24a7fa6d6e99a2edda78775c8494fccd32fc96c753eea0c558bc5e584d475bf01b12683edd4afb01057ed7565157583c227c7b63985fc0c9ecbd7e8855b0f8e5772c431ff028201005317b33bc5eb4e8a8878532abfdffc31290ea0814a01d38879a524fa1f26f40f1b0078393960bbc159e59920498ce8c8d21ec0af55648e98933933e618b0442321b81d2a2aefe46a7ea1cd5bdc928e8b41236c1c9c729d9c5e287a66eb32ce412b7f2ffdb5406ddd5f8b7a35b2eb29d19a21b53c79d78b4b58b992ac61de9c638806b6035c49f6a443ba6f8a107df11e5590b4904da898304f70629e7447c5ac5cacdfc7af7e8baddf3712dd195a3ed4019ef0aa2056ea072a16c9ae960d6a0ad379cf3776e859a23b4f57bfbba1af9780bb7c284607a2ddd65f6405f44ffe16e566f29acc8ffb963bcc7db468923106da7d9e243216b4e97fd07882ed7078d70282010100abed26de05fb82fe88dec602b19e7523ff23b03cdbe81d391f6887bef2916f3c1109001539420f13caf5cbd4decc3946c0cce26bd74923ed46d7640d223d13593fa1c35a0c4239b4c7ccc51b7f64670f68464f20570b72fca6a94b93431f589c2f2b415f2b744c38fcaf200fe0199842d481ab3a3f328e019d749414d5cc1ba147cbe930d3fccb4de0ef32843121e14a6526a7c075ac65fe0ff0e0b97002452fd71b92b9789afa24490d197bd0e921f8f0e37f542f1f8130068123dc5ced14ecf7b57ba95dfa7e750a54026389adb4dd50a8395d61e174b0ca042ebfa6e65d2c40963aece400cdf9ac86afa25d15ca8dcc8c62b08c6f9ea00fc62d612f97ed570282010100dff241e6605d2373ac6333d6819fe9f7c135f8ff9bbc6a8b8a09f86dbf62d29681d68c391027057226d9f02291a3511256886d059785a0c89fbdc11b3de83e48d11359f52f72593ec475aedf113cb7999f29e6ca44ac41165d5b5fc2ee37c4b4ae8c1d5871ce6b23eac4dbc7b85f0c6cdc771e7254c9526dc355eee85b126bbaa393f0e67d9306ad024631cb31133ee948ea90ee5dfc5ec8dea7f260595a3bfab749daa2b56a4dd860874c29c602b33cd307003bfc7a5391d6e21f97f3e9b9230a5f02212061cc0392c22989fd87e15c6e87115b51457be2cac15952a14cc63cf8ecca9b6fa84404b8052922bbc9ff808c4faf8d27f4faee23a90cbf91ce034e]\n\n# tcId = 54\n# edge case for Montgomery reduction over Z/nZ (4096 bit)\nct = 9abbd14f73f3e867bd771b78aeeaf2234e0f5b270967e3c80e0818a579b054b3c4401b326c1f22fe13cfd861ad5764c0c76d69aba1c430488476db3cf1c8fb046e351cb07b861bdb956e1bfdb470d3ebb9b62141f9b91a9a1ab667fbc458091025c889c9ca35bc8ae0a66f6b6098cf0635d4e60993fb028954ab55ea9d68905e5210e986fe195212b71d36c97e673e7f47c90c7c5d6cb8bbfbb3b80ce5b5b7920e72cb107dd58d56934378f590f12aea3b827867bee4aded76e84bb94748a3a7d5e4c0e5949bdacc77cfb4add6a8aef7e661cdff174eabededc9534e23174679b828af3259edfc6887840a17df3ade16ca1c0a0c6c25e224c928427e0b68ada1e36c35d26fbd34db706cb220424eed06ad26450ea325d640774949574f6fb15b07ec82115fed728ab55b5ff0d41e511b0c45c8e06a96a54bcd04271b0a50f3f771da810e852c050c57a07db693704b0d658af84f874ad1fbdedab4b4f620b829f355dc280cfe5df5d93fa930e4767b2286ddf3434ba62cd832592a9ddff850a6f32bb993fb1af521dfb963403a35e578d55d0792600082745b63ec6a1aba8b50cb73cfaeccd454a38ec967a2c24ba90abac2e36063275d3648eb181199baca1e7e5376233191aa2a8cf7ff1519605e2d7c47b8abf1d74f89afa14b5696c3a541c19edc7bdc435f66d18869e454521cc9c2b6b4e233a6c40eb09d48b179f5982d\nmsg = 8a2d9d18ff13682f12091d4d0571e00280722860d874635a1ad9d40f04502c5c99e0fd5232e40db1bfb782322c9966eac4e555b7fc14dd2bb81688c4b01f4ad1076603b575946d31e53339a2dc56e359368822f003a1b7ac29ce59f60f6709472dbf2a1d4b7b4061ece1724438739039a69d7d7e46a42ba9cba96f969c934363965b533446e25650222ba001969833f862a535eac644d0cfeeed49e38fce35453944cbbc32a977772e358f8835fb2543c9235f97876540ff596b7bd2ec28e3d10378f5a38fd9ead1c24cf3edd6148083b2ff9d98052218018921f108eeb76acf9dbdccd53a24da25fb0b61644d65b72db707885e7f0f166d69a0af35f8374f32db5444156c70fb72d07d6a4e27009555dedad66f5db6e68b1256420d15d05ea16d33d56ffcbd25fdbd4c74bd5ee185\nresult = valid\n\n[d = 0650820dcccf05a2b1a7e7cdf4ee95b4c6e8083b808b4f2fad24dab9aff5d865a9ff148f26219d1fdd32156f690110eccedd50be917a722b2d02447c2be86a21b67f6058cf16283c5fa1c28816c1981243e6cd0532a1c17ea8002e46429a5bea35a40d7f1f83264e43ad99cd93223ee13f5c2109e04403857dff27861c76a814cb98e4e597f796ae2fe2962aa7fb3874e0aeddc8cf98e933029612214e807be69300d0f0e14503cdd068205bf66d16e9ab1282eb908e56b5c95e57f7c7eda5070cf379a7cd5d9197a753b9a38e4e0d4a7b5e6cb2dfa55f79d4ee844d134848da361e89c77dfde9ac5213c2275a269c879bac5f628a708327e8847ddd4ef89f8da8d39c4fad321569a2af0c8006a578f7e51c8a59bbb8641459ff6ae4e820e567261ee5c09ec7c844d8b7b354a5482643adf4e30ac23cbff3d41635dc5405aeb1fecc52c43a63cba329d55705058e89e857cc7c472973684a16dba49d8e2ae77eb20b65c676e870619299cd65de7c12d402a303d8c298b930f517661ccb606ad661b5814ebccf173f5f71da0c59236090cef3208adc81cc537a1659377f02125180d4cdd1e067b7c660977b4619ef74de302e4a2527659fe11324ae4aaaae5431841bcc7f6bd35aebd92b8090240d677e208c5c8fc652b785dc8043da447ef28e99d3d0f26f19921c1d77b0427f3ec4145b65c3bd82ecc9e9346633779c146771]\n[e = 010001]\n[keysize = 4096]\n[n = 00a5ee61f4cc25341d7d4a42b4bbb1703ac6ce6fa1a5237ceb4ca0efa1d74dd7b6571ed9d6ce9a4dc098f00d4ac58a5c29dbad0587ed37991c0a69ac7dadf16da3aed0de8e6a3c49580e96e82ba77c7e0907b48c026d84d65e2d74a26e899c135b1ab708551840a6058a8f09274e9bd18d4417dad7b0f3748e37e7ee798830182b141638ea886f8a5820ed1e4e3b5122b45d2d365e9393afed806b3c7f58aa3a9df67e745ea95b0e0b849cec1882ac955358e901a67049024565a21cf584f88095a7fbc048fbd45ef87fa0d7e4e5458d80602b876bd065bc2bf97766cf4d88f1ae301d8d3e973d591ef93bc38d7a59c86361ec31fad98358863a581c1ac619b7280cf6747bef4fc244aeff0951fdb71cda023b25e76c30c10914258c4574767fda4743e9c98e6a95aa88f95b37161d0ff847aa39df82978f88e973e4c439a40cc14ea9e494e337864cb12c227e717ec998faa97c41be6b14f14adf2ded84702dbc325894da782dc5a93c8b0a95dc0b449704fc27d228e9f5ddf22ea95eb072123b9e5a7afa0761d9d0548ffb275cf882e6b8be9abf3f851c8fca7979896480e8d2526b9f1b947680c154f6c22f091d29701fc4c4a3355b6a0c83b398ca08f7d9f7faf4208b39bc14c76d93e6c57414b7eb1423ca5957a13f4035b59929756cf55bcb810b6776ce3a74cfa1a532d1af4a8a43fd263196c59a9afbf2064787b1594b]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100a5ee61f4cc25341d7d4a42b4bbb1703ac6ce6fa1a5237ceb4ca0efa1d74dd7b6571ed9d6ce9a4dc098f00d4ac58a5c29dbad0587ed37991c0a69ac7dadf16da3aed0de8e6a3c49580e96e82ba77c7e0907b48c026d84d65e2d74a26e899c135b1ab708551840a6058a8f09274e9bd18d4417dad7b0f3748e37e7ee798830182b141638ea886f8a5820ed1e4e3b5122b45d2d365e9393afed806b3c7f58aa3a9df67e745ea95b0e0b849cec1882ac955358e901a67049024565a21cf584f88095a7fbc048fbd45ef87fa0d7e4e5458d80602b876bd065bc2bf97766cf4d88f1ae301d8d3e973d591ef93bc38d7a59c86361ec31fad98358863a581c1ac619b7280cf6747bef4fc244aeff0951fdb71cda023b25e76c30c10914258c4574767fda4743e9c98e6a95aa88f95b37161d0ff847aa39df82978f88e973e4c439a40cc14ea9e494e337864cb12c227e717ec998faa97c41be6b14f14adf2ded84702dbc325894da782dc5a93c8b0a95dc0b449704fc27d228e9f5ddf22ea95eb072123b9e5a7afa0761d9d0548ffb275cf882e6b8be9abf3f851c8fca7979896480e8d2526b9f1b947680c154f6c22f091d29701fc4c4a3355b6a0c83b398ca08f7d9f7faf4208b39bc14c76d93e6c57414b7eb1423ca5957a13f4035b59929756cf55bcb810b6776ce3a74cfa1a532d1af4a8a43fd263196c59a9afbf2064787b1594b0203010001028202000650820dcccf05a2b1a7e7cdf4ee95b4c6e8083b808b4f2fad24dab9aff5d865a9ff148f26219d1fdd32156f690110eccedd50be917a722b2d02447c2be86a21b67f6058cf16283c5fa1c28816c1981243e6cd0532a1c17ea8002e46429a5bea35a40d7f1f83264e43ad99cd93223ee13f5c2109e04403857dff27861c76a814cb98e4e597f796ae2fe2962aa7fb3874e0aeddc8cf98e933029612214e807be69300d0f0e14503cdd068205bf66d16e9ab1282eb908e56b5c95e57f7c7eda5070cf379a7cd5d9197a753b9a38e4e0d4a7b5e6cb2dfa55f79d4ee844d134848da361e89c77dfde9ac5213c2275a269c879bac5f628a708327e8847ddd4ef89f8da8d39c4fad321569a2af0c8006a578f7e51c8a59bbb8641459ff6ae4e820e567261ee5c09ec7c844d8b7b354a5482643adf4e30ac23cbff3d41635dc5405aeb1fecc52c43a63cba329d55705058e89e857cc7c472973684a16dba49d8e2ae77eb20b65c676e870619299cd65de7c12d402a303d8c298b930f517661ccb606ad661b5814ebccf173f5f71da0c59236090cef3208adc81cc537a1659377f02125180d4cdd1e067b7c660977b4619ef74de302e4a2527659fe11324ae4aaaae5431841bcc7f6bd35aebd92b8090240d677e208c5c8fc652b785dc8043da447ef28e99d3d0f26f19921c1d77b0427f3ec4145b65c3bd82ecc9e9346633779c1467710282010100e883f8727edaeb27246d536f9feab1b347522a138f52ab5176bdde5ea601ed6836b1b2e073390887c04cae18d9f1c59062ce5323c2ab08d82b6b408e5562a11570dec210ccc58baf194109fa6a28f1c0fe2ef13829f0825a2c54a9a4996e65ea105683db145860d7a3819f40cdb3c4acb0c53e888a3a84f223680b4fd4e3088df0e245efa3b77e557a89e8e0e174f03c619daff71f85d94e9071116d3fe907da95cd19283cd46fb92b36bfd5452b695be5a65e646ed37394fa73", + "8b8b60cdcaaf14109284c1ef0f425ba9a8ce45a3c4ada92936729d4de1a1fae544b0a4657c36bbd5e1fcbe82bf279f0102643516436db991a23d06f5627f3cf7400fb85ee5970282010100b6b0c6d62aae771136bd50f9a6ef270f1cfeccc99742b2e52e921555f85af5645be8a7defe002c60e2e5550312d2db279d5be6c50fd54eff28fcbd67febcba54dfd04fd43d09affef4dd40ebd8fbfadbb62efcce473af563448c368fa9e1ca1ec119b18cf8c88889d9901766b926b5e6129ef1eed5c1bbe2beee86a283facb64898e11b490a465e6f84805bb60a617ad0f13d49c7ec64fa592882b9085549ca61e1a0ae90df980b38b7bdda564f06fa4079154711e8592d404a7fce368375060e3e13bfcfdc6fdcce9be8ac81b30bd8056cf5a333611126bee3a04f80fede8aa41b79aeb05e51f2847d880ea2bf7bcae259bd90553d64aca6b136c51b926286d0282010036c931b738b0b88bc687840b5f30dba2148205ac0a2f3e72b979cf7599c4067e71b4b9232dc31881740c1d5179b900061f61e23120e34ff82f72dc092d9149c7558b074b1214d1eef6125f1983fe15c8959bd5f697db35bbad8a5d568d5877e708e679b71b3a1fc76f9d513ae1bd23f054ce8507831a7accdb0edeeb768bf02e11be1f20720100617fb8130939d665ecb44b8574c316b4b7504d73ffbbf95a82649da8f9d42b720fbd60ef1e7f67d53174111958accc62058e65bf519e039f68555ffa4611b414725c4ac39da6c709c6a97f2e771f1d84b6b7f96190058c6c12317c19fd859e25105ee4cbfd748cc4628c41066b3ec27eece01e9a179a27b20d02820101008573527be587b62053ed2cf680f3d78359b9e2dc2b6b2484f764ecc2f4fd749dcfe97e9f0cca11a0e07d87810c420ca6be73007ad8db07aeaa411d1697654373765e93c1c4a88bf060ec325d560e932be5c4231587c0d0b9a7bc08ab1efc7989c7a2be28ed1e8766b30f6798b90d46f87e87aed0b942a0bdbc9d3ea9fe60b82c83b2ccca2a927c81a0c1f3b5f19ec252bf5dcc04593301c13fedca6cf2886139936990a8b7759787100ff653b80d4e6ff2bb3d84b837f88e79ac40b5d94df6a020364a7cbee09a4b124006deafc605d7771256a06c114274a6fba8df8fbb4926fd84625ce5dc7dcb0dd8602b2edcf3edfe38fee9be591e1f08e292508c400c6d0282010100937b8e3c404c7945f48379d9b032ef7a448768f32c3cda7a5a7b297f87d0406c7fb4f471c257d9469ea05daef490372853b3a5a6ee21affff5535b36e197445971e321e958b1bc000b2be48ee68e1d5ec4c2460c81464acd54df9bda672745ee1e8d1b1454994c7e0cb8c986b4e67140477d9642d17f31cf58eb30a08cfd05ce71d7f5cf4ba7a6fc7c63e3f69764bac9b986e5ce38a023e5fa9c98f13c75171991677af75dfcf116bba81dc7006a3b9f796fe026c200e404bd00905bc536410651761873adeb400a0feb747941f99a571e70803985b73fe08eafb0be97bdee0bac02cf14b3083e8f68c8a448d370d876027dead3a12737b3be734883697016d0]\n\n# tcId = 55\n# edge case for Montgomery reduction over Z/nZ (4096 bit)\nct = 6d406f69a232529030efa4031bd411a36ca9c6a649890f18be38f8e3076c301fb981f8498709d56e9d5f44edec50bf0c30cc02bfcad351ab82932e86b7f13158084dc9b5f3036308acd9c25e2f1837418f6c1e4e7412f416932e9391a3acdb14cdfa117a64479a73edf75251d576d4c89f9e131c655dadebde92cb82fa920ffa5f8f3ba54b7ef7757415bed6ed4c78f9f5eb9434bc5929a7e5c4c1003c91cb0329a823c3cd5ce8893ffeb8ff05aec35a5b0210dba88e3f3c4fa85baabe088a310e1f17ba9c1d203aa77f96a4895419c8198af699479c88e72bc14d56e067773120dddd09f896856f3f752b3c2ae95879d56261686012f25bbecb4a8b1d86cf95797989b73a83b58e8b1e702d6167e15ae01ed055a1140c0ed664a2397e68470c5de7b52732981d073449352779c543e62126f7991e91ebab4ab984dec34f315ea5ab1ee04b1dc19137589efb40402398ef672e3608a9b18d2465fa6c410d68ad609538d1a179828649cae4772cd483790c7e56166dd5a0a5d711de1cd17a8005c7ff28daa5d8fc3773ce395ecf7252507b45a9fee075178dfe43a363b791baad3c0d1c292381115fddbc478bce182e864861498860a69bf715bc6dd057b19722579b90defae27e2da2eb7707039087f638cb8544d3ca7b0bbdd674375d99f0ae7a4c5856a8e999fc47868f13f5f153e67b2aabfc534584e1afc3c40af95c21de\nmsg = 20b8edf3bf85147fe0bb51c759897a59d661b8bd81cae753116fbc69a6caa393fe6be8219447916b5ab4eca3185cf7881a227432e2dc672af518942466c9344e585da7c07edc33fe6521a1e689d0c6a4dec3afb41624ddedbe271b96e326a20bc2cedc30756b5915d25a932062b13113c00f58d7ca0053df99363740555929ab12645a65d868c28173b1a32f20064bd2ec5e0ffef496041af5bfdebf8040ee6b245c9120f451cddda40b9d86c23034f68e4329c2ba5d057a5eec0e2034a3ac04b7c155dfe72b995f873af16ac26e09de737b4dd8531e61bbfe26c15b140b9b091e551594cf564cfce72da5c9a8d8bb724326f22363c0b7623bbb4bb1fbeebad969496a5db8223e10f0fa5051b03b8707ac618b43ff77502e8396ad08c1dfcfe367ca8cf3d7dc459f64e5ce19f861a62a1300640aa381a4379e5487c1f9e128a8ad5a6b4729220b1a98460fe8462f54e58c8ff07d290ebdf676f4170f9876e29fb5000e654a3d0a88b5a6aa87fa78dff161ba633dec975d4f13b6e4d33e69796c858eb66c4671a22770e9febab10884c562fe9845ec7de1a74eca79ec57b6ae349a93759ba943fda50d86627b7dd293fecd2bbdd8016ed9cd1b05b48e3ccd691deacb81de4729c85c9abeaf\nresult = valid\n\n[d = 0a130c184ef0466747ea9ec233e61bc989cd6b9ef1d2f61bf3f37fb9b1d1879b1e80d1c14ed141e76be2a26cf48a6d9f80ca6240a4933fe41b62d54c43ed43b84745077eff4e4da604856d7569686e8133fefac2666ec70bd8f2a3eb9473a6dad7d7f60d102ac8a7f8e0ddd7037966c2c4b9c83d6fb573ecf254d3ebbff7b0453e0b780e22f5f34de07694bf32b87f216cb3ccbbd1dee0624a5e6bd98692abc575ed0a013bef6a1c0cf763c4a89e87c377230091503fbf39a0ceb1af3a4a3ee4bf0df157bcf1733a5300a92ef7f8cdc48b4e10fe99cb5acab8e5137a5dad6cf50240587b677e77ff2e1cc0cab5a8f85c14e367228121f6c6c0ab60c9a67ed4182f1376f088f7a54137a909579eefd2f03d18f354ca1a192b2bba91bec9de38dfed32976bdb0b1edbbe00d689128bb59ea2c1aabe501ba79425798c5546e015ad0112bf4668a742d2e180f72bd1c2a99535d446fc643baf1eafe61438129561e7d9d7af067d2cb9a8c176c4817ac4961e9c97aca3cc8544e34a8842d885e60820386d115e96909e84b44fdb5eb677f4f2cff0dabfd7b0e9573f803aa3df1b2d89452fccdfd9967a631285a08f2beeb2273f9cd0d942a9950225072490a078895461347e820ea1ab2787388f6155650e3f70b1c74907749e686fa339b263dad0e1bf47606b796911bc96c600d4842e20fe6302f2ae3428bc0bb9f0662a718d45f9]\n[e = 010001]\n[keysize = 4096]\n[n = 00b983b772a8ca5d556780280d6d2403b7087c1c39129f8961784ccc5e3226cd0c4ed4c9d87ac0f81087607b1d7d2fb39ae54e43668f6bdb69c1eb7a250f6e633b203f35bbde247723c2f6935fa860ab06266c86770ef96ab7b5a8bd314c8ceefcf50d7181fe6812097619155acc74b018feac4548dc9a313aa445ca61ac60675be0b086318fa6ae7d92d7bbf023147d4c04b10d479d37c3a9980a3ad5ceab81b32819e3d2adf962b8cb60f166d0f89e63e76ef79b5b364502169bfaf5917a26a041cb3b51ce2a7380fcd580a81cc1794caed5a792ddd473d0373a5cbffe4238b65bbc950589731fb22de30153f9a5a82d4312eb596dba3896b9e0996dee0d4713221885a7562cfda9bda02aaa09a5b9e0c3511b73f706a84bf10f0438cf8e52b5a9ebc0613479a15cd85b683e00bccc1918e0946830b5c85792a282d0c27a31b778c19f78e67abae5e88d745c2ce7dbce28799dc35ef58bdeb78fa2cd8ba36b5185551e5ecc2f0364d1252013ef764394f2bc0112075ec3dd8a9df2de441663a5a4ee81ba87868e5612f0b9649051aba7980a7ceecd2f99a6e9813807de8a875ee7d317318038220595494fc15635531e7f0bd88813209130dc22b6b078c40005bdc25fb8e80b75a4f665eae803cbe97082715ba25a79057c161c5f82acd4b0121ef7cb3fd6a3642e23fa7f0b2defcf9e078b058f674f42e3dcb1950686e31017]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100b983b772a8ca5d556780280d6d2403b7087c1c39129f8961784ccc5e3226cd0c4ed4c9d87ac0f81087607b1d7d2fb39ae54e43668f6bdb69c1eb7a250f6e633b203f35bbde247723c2f6935fa860ab06266c86770ef96ab7b5a8bd314c8ceefcf50d7181fe6812097619155acc74b018feac4548dc9a313aa445ca61ac60675be0b086318fa6ae7d92d7bbf023147d4c04b10d479d37c3a9980a3ad5ceab81b32819e3d2adf962b8cb60f166d0f89e63e76ef79b5b364502169bfaf5917a26a041cb3b51ce2a7380fcd580a81cc1794caed5a792ddd473d0373a5cbffe4238b65bbc950589731fb22de30153f9a5a82d4312eb596dba3896b9e0996dee0d4713221885a7562cfda9bda02aaa09a5b9e0c3511b73f706a84bf10f0438cf8e52b5a9ebc0613479a15cd85b683e00bccc1918e0946830b5c85792a282d0c27a31b778c19f78e67abae5e88d745c2ce7dbce28799dc35ef58bdeb78fa2cd8ba36b5185551e5ecc2f0364d1252013ef764394f2bc0112075ec3dd8a9df2de441663a5a4ee81ba87868e5612f0b9649051aba7980a7ceecd2f99a6e9813807de8a875ee7d317318038220595494fc15635531e7f0bd88813209130dc22b6b078c40005bdc25fb8e80b75a4f665eae803cbe97082715ba25a79057c161c5f82acd4b0121ef7cb3fd6a3642e23fa7f0b2defcf9e078b058f674f42e3dcb1950686e310170203010001028202000a130c184ef0466747ea9ec233e61bc989cd6b9ef1d2f61bf3f37fb9b1d1879b1e80d1c14ed141e76be2a26cf48a6d9f80ca6240a4933fe41b62d54c43ed43b84745077eff4e4da604856d7569686e8133fefac2666ec70bd8f2a3eb9473a6dad7d7f60d102ac8a7f8e0ddd7037966c2c4b9c83d6fb573ecf254d3ebbff7b0453e0b780e22f5f34de07694bf32b87f216cb3ccbbd1dee0624a5e6bd98692abc575ed0a013bef6a1c0cf763c4a89e87c377230091503fbf39a0ceb1af3a4a3ee4bf0df157bcf1733a5300a92ef7f8cdc48b4e10fe99cb5acab8e5137a5dad6cf50240587b677e77ff2e1cc0cab5a8f85c14e367228121f6c6c0ab60c9a67ed4182f1376f088f7a54137a909579eefd2f03d18f354ca1a192b2bba91bec9de38dfed32976bdb0b1edbbe00d689128bb59ea2c1aabe501ba79425798c5546e015ad0112bf4668a742d2e180f72bd1c2a99535d446fc643baf1eafe", + "61438129561e7d9d7af067d2cb9a8c176c4817ac4961e9c97aca3cc8544e34a8842d885e60820386d115e96909e84b44fdb5eb677f4f2cff0dabfd7b0e9573f803aa3df1b2d89452fccdfd9967a631285a08f2beeb2273f9cd0d942a9950225072490a078895461347e820ea1ab2787388f6155650e3f70b1c74907749e686fa339b263dad0e1bf47606b796911bc96c600d4842e20fe6302f2ae3428bc0bb9f0662a718d45f90282010100f4723d136e5acc1504102f04181d5e152867cc470a55d9558e2fb3529ab04b5ee913695a65a515ce35b171cd7ad2a6e5f1d4bb6f9283d5c6211b81ae372d3b32df3e45f3d357c6f8b9666f8de847d7af8f3e96d4374575e1ca7f139570443bd947c9f8e621d4be72604bbb2aaee0c75df9b80908e518655ac2d5d1c05cc47d9f73b0bceb935a8b65c32e9c4737e07cedc3d44cf434f0dc07f8f4a6f200795ade93854eb02f76b44e4b40af6cf4a732543b67cc0ec12cf81435ae49fa7da767724643e940585ed7482753d1679b7eb84433da1aab7e6af45571f3235ae02db37b3c9a8c39d463d3e25dca68a526598412e65b1041bcb8c6733b3293f7f6cc829b0282010100c24869cf4137abdf529ca47e4a30d40eede7c4959fbbb8eeb27229e3242dbef75e55d05743b7fef17a44ef098357406fc341d4ccf788ef0ed06ce854e1600e894b0e14061f75daab3355de69112904c6ab89a9045bd4f5f3ca1f959c2d1b1aaa4005cc0caf033edecb8403dbff56a04f3be3df0ab46eb15593f3c38d0de81657dd90ca8401d2e2425306d47ef76e9022daecd73d193bdc77ad54f4578ede45dc46b4352523b41f8f5fd9a662e0297dcccc729973ac3c457a035e3a3b7b22cbde4eca5eb1bc5cdcffeb7a114f26beb94d2eecff049deeb71719dd09667ba4d903eb46527493f0a54096996c07ba6e6ee566dd1ddc75a6ccae59200c6ee5d9723502820100244bae1beb7fd9dba8fdca2d5e7345dbf862e9270736d60d690e561f06cef4720443989a0e8ba3a039c2be36176d9dd078c6f089d18477c2727a06185b23012e3d8d9e8f64ab1ce5238a3d3821ec40ef5562a2bca1f4535b9258aa0cbf5db25141e2906d834a7678bf299f81e7f38246c6e4779af58158d35028b57b4d8af36830a2667ac82762995a90da2d8cf36d3954a17a47ac70b30b10012ba4b5434fa5cadbb96259b9d36de8a89323a77407fa0fd40aad8a2b662e8205fe000e9643bae909fe614a7dd293691b7df557564a7ffdfefd84c7419443f7a6757271e4f7486e28387801bc4ce2c8b05c3761695b3dff2c384eba79e92584fdae90dbf963cf028201000227b97cc2157303a42ff6a72bfd84acb1b8eb76597244a7e934d9001b0ba2ddad9f38136fbddfc71ffb19c7ba3c428bbad7c51b8cf768e77a2a6b1d5deea9da9e0986f15672013dfaf0cde9ce75ed06a32a80c47a9c4f2a2828d78906fb10fda87e27f8500cb22ad8891b5dda64449cfc6617b84fae16ab835ba5e4afadce69a51c91128bcea211e847e01d947316883c737a23c45ee4a0333d0904dba1dd9686f642cca9abbad9e54f4dc8350260d1dfc6b9ab0dd311563c29546e0a7ca5544efd71b5790872af28168f9098366f69cac67841bddac30f2f8b432a6edeb24597db8cd89c37842dc63de773e27e8d1e6058bd970f7b0d3435eae4186ad651ad028201010098c7381676006c0969c42cb80df82b0236fd251ea1caa78798c459629896201fcab5f4b3eebd6b2d39629d9a8bfd9047d2f2ca24c7e921aa26abdb1c996a4b3383d1c0d55289b44cbe01ea685c0848d5721ca3ddd8d6017ac3a77dceb110faee4869b9577b269d913b3d0e3784b325e1e854de1a194644bf39a4f2a0e115754e7a1f87440b5137c4e1452d9587b954fabf28e1bcff3706498099853e8bb6c8a389a9196e36d83d39e3c5a10655007c6e2b34402f272b679cbe1a8f708dbb74dcc2c14dc611ad781d637cc5b23a32a725bd9dbdd9d454e6715e7e9c37a43bfa76efebb781751bd567741f3cd3d1356fbb26ce4810952ab116a1989026c86c5690]\n\n# tcId = 56\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = ff759defa26fa28192b80bf0c50fc80a246bc1034ebf725ab5097cc099b2b1df06ef59d561ae7c6ff3f19fd359c5da9f310017e51783b0ef4ce845edaa92c4942a948a6b81db647bd098cea197c91991749c48a0794cb0a631911d5dc30d091da3a7e4116b151f06c384bae20e4d45d9c31f46ff07c09b0b86fa63ca422323a2dfb3747de26f3310580df00afd0933c1a51977603af1fafa46854ec3e03c2c015e9188f1dd3a8156daeed9f4a8f7a051b32ffbcbf0961d7ad158eb896dbc5816af3d251d725e0b6dfa9a537fa3008dae664b3788d082bfcd1aceb1581c000128241a07a4e02cf857c277b8f27f52fe9169a9\nresult = valid\n\n[d = 7b30072d5b09dd51176367dacfb43e1c640c6c6ee663f5abdd827423372804b21f04c75fb1e808f7acdb17e2e1c1492b9b139a8645318c11d9847fc9bdf12cd7d8fda019b2dd51f61016f6f828a0211e3a630a163a4d92f7f809cc45a7ff01a37dc7f8b39a6f9824dddedf55e5febf6ce5678696c93d91d9f0d3e6805716020406a0cff94c07f73fe3c8fa1e6ca7132d361a02d36baef1a2ffa129445bc71cfedc8b968424a5cd7a444b25b830e5e775f45dbae4317e52e1faf777d6ab26bebd0a8305d3db003c3162ea0e9e7da6abe2870dfe86a176c19f4bf3007943bd02738d4298f2031d9954a52ff6c2ed48be31dd044f5810fb6bb756b74b78f5710d0ce2a71419d6a1267bb7310d2bdcfee607a4d9637ec52ebc32a723771ebd1041e8cf47759d0e0afc3d54ddda969a2034aaae19db65aa30b5012625f97dc2d94d7eacd42d3232d2bb88a8d43d21182dc1bcf0f54c8df952d815f0afb65ce6de9ee02d7fd3fd84737e03e2bb04d40220d225943232c230eaa46a5cdced57a5ca7f18b2c8cfc49b9963b3376a39fa493ca9d6bed22464bbcb5e15ac0a88cbee4ac4a739e716d441387c3b9c757bbd37a9c6e42652b7e3b6776427134fca72a9ccfb33be49f7fe2e402f801e8d894a2a94399681c0b2508808882dc7ebd8c1dbdea23e1875eb8356ed630368c1710bfbf014b5bd258ff09d476f14bc9357bf8b76e6e1]\n[e = 010001]\n[keysize = 4096]\n[n = 009f72c48db8742b125f3a1ff9a5beeb18bff8513c7a9787431574455610877ac67c958c4fab2de863161fb46edb18e0067e3e7d72d86d03786d3378b687afed5bd22e10cae6dc98d97fb6e7e4c6c865e149937d9f5c9c0df65bb6e9836432ab57069d966b2c2b8e243372cd68999ab1faacd8a39a74616f396a09db151621bfcf2ebf334dbef9e9fc48b5a41c0104ceb0bbcbb9ca256a8a9d61121ec21ad30d1468a18628cc30e45e8e55533167bbf7e8e21504e0eed13a9b0413d03de683cc8c9545fde6b1a33d1c1f3915b7df62768c80297267b2c58d9d0fec3e4a8957a2eea197196dfe4f306ebd2afda749ade5ef3333f12852bbd039877d14c428279c74109599b72755f405b23e0379b554b0aa9da5d355d7b57a4dd8083bf120aa916a4b29b6de5728c54516449e4d0005ce9c8aa4e06f6447a1028cf95efa3c0c589c9a1063b115b2204c4c759d49e086b49267d6ed679b17385f37bd3b923c96e8963fa78f3dd2136bf64ce0e8a74075bc4758986eacacadd67ad64cd5992b280b261e390fbb2f46f9786438100550188d75087ed6e0040ddc494821c4ee545ef7f155ea3cd6669bad01162b83c0b209870f355a1035e2b8bad2372d5ef94a5a6c4aaa67c20438bdbe22d4d38cc02416c370ef242985588532fccc1d3650549934e19dca2d384a96a9dbef4046fc4c71ef685da14c6e7cf687452dda332752c343eb]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b3082092702010002820201009f72c48db8742b125f3a1ff9a5beeb18bff8513c7a9787431574455610877ac67c958c4fab2de863161fb46edb18e0067e3e7d72d86d03786d3378b687afed5bd22e10cae6dc98d97fb6e7e4c6c865e149937d9f5c9c0df65bb6e9836432ab57069d966b2c2b8e243372cd68999ab1faacd8a39a74616f396a09db151621bfcf2ebf334dbef9e9fc48b5a41c0104ceb0bbcbb9ca256a8a9d61121ec21ad30d1468a18628cc30e45e8e55533167bbf7e8e21504e0eed13a9b0413d03de683cc8c9545fde6b1a33d1c1f3915b7df62768c80297267b2c58d9d0fec3e4a8957a2eea197196dfe4f306ebd2afda749ade5ef3333f12852bbd039877d14c428279c74109599b72755f405b23e0379b554b0aa9da5d355d7b57a4dd8083bf120aa916a4b29b6de5728c54516449e4d0005ce9c8aa4e06f6447a1028cf95efa3c0c589c9a1063b115b2204c4c759d49e086b49267d6ed679b17385f37bd3b923c96e8963fa78f3dd2136bf64ce0e8a74075bc4758986eacacadd67ad64cd5992b280b261e390fbb2f46f9786438100550188d75087ed6e0040ddc494821c4ee545ef7f155ea3cd6669bad01162b83c0b209870f355a1035e2b8bad2372d5ef94a5a6c4aaa67c20438bdbe22d4d38cc02416c370ef242985588532fccc1d3650549934e19dca2d384a96a9dbef4046fc4c71ef685da14c6e7cf687452dda332752c343eb0203010001028202007b30072d5b09dd51176367dacfb43e1c640c6c6ee663f5abdd827423372804b21f04c75fb1e808f7acdb17e2e1c1492b9b139a8645318c11d9847fc9bdf12cd7d8fda019b2dd51f61016f6f828a0211e3a630a163a4d92f7f809cc45a7ff01a37dc7f8b39a6f9824dddedf55e5febf6ce5678696c93d91d9f0d3e6805716020406a0cff94c07f73fe3c8fa1e6ca7132d361a02d36baef1a2ffa129445bc71cfedc8b968424a5cd7a444b25b830e5e775f45dbae4317e52e1faf777d6ab26bebd0a8305d3db003c3162ea0e9e7da6a", + "be2870dfe86a176c19f4bf3007943bd02738d4298f2031d9954a52ff6c2ed48be31dd044f5810fb6bb756b74b78f5710d0ce2a71419d6a1267bb7310d2bdcfee607a4d9637ec52ebc32a723771ebd1041e8cf47759d0e0afc3d54ddda969a2034aaae19db65aa30b5012625f97dc2d94d7eacd42d3232d2bb88a8d43d21182dc1bcf0f54c8df952d815f0afb65ce6de9ee02d7fd3fd84737e03e2bb04d40220d225943232c230eaa46a5cdced57a5ca7f18b2c8cfc49b9963b3376a39fa493ca9d6bed22464bbcb5e15ac0a88cbee4ac4a739e716d441387c3b9c757bbd37a9c6e42652b7e3b6776427134fca72a9ccfb33be49f7fe2e402f801e8d894a2a94399681c0b2508808882dc7ebd8c1dbdea23e1875eb8356ed630368c1710bfbf014b5bd258ff09d476f14bc9357bf8b76e6e10282010100cac3f28b5ad6c0ea8fd2556a3c425e58b2caea35346f16dfe5cb9b3ea3f748c6e6ce05fbf3ec90f91bb044ec07d5d4211901894d850ef3e2b5df550c907a8a02806302932f5a08f3b78b09e18eb4013838c7e5f6509f052e4136f0b65f339767416fdb3dcf5a5c50c24c4061bac23c9f37e0942000e3b5fecd225c0f1c25565d239e7d3029abffdc57567f87cea9958e9ffb9919d0473ca28fe6706f4b9cfc782d13ec2749ec499d39a33128c9aa959c52d83558ecf7f083a4a3cd54509b0c89a7310cd26076bca5827ef3477b0faf83fe09e01a57dd2a19561402dd43e14b41321b9a782bf91d3d6aeeb942d6c462612cda41b045657020dde01c4733e585b10282010100c94f6fecb8bcf53f227f657e02dfb21f8b908f811284f59c83e8d17c8b375232e3e4e93da8fe1328816584abc25792ada03375787e47ef2be87a80fcfbaa8f371124bc6bc987c5bed276a1ccdb402dab18acb3dee531a2f09b3ed7454e6ac4111aecec2b9c7c5381997dc564d973104fcaf83df2c4b0efaf1ec0e795c865dad0b47ff9a1f1a3a797e0e82bad1f30d5bc10e8775a3c548166ab72fcbb631ad2483ad99e3b285eee120441c7caf3718a95c28b3f75c2a587c0a74864b30e252d28f8ab19afd42b8866eda8459aa31eca227cf34b6dda35d6cacc257b12fa637f490caf510d360bd896253372390708446b7f400190c5cfd02e1e2271d409221e5b028201006f9da5aa287b06ff17e484b8522b869bf4efd6352b83eb679cab93edcb7c9847454e2be521c51b98c53126ff76e0b240f5eeee9209a8cd8002f5c96f7d28b747e13c9f723e22a5c2e34a5a4a1bafe2ebfbf5ae1505144459cdf45c5547dab2815878268bc3d4cdf476c05ac07179f2bd02995170bc8c9ce6822d63d7bd7aa02bed2b956629ca50b20e31c34a12ed2f32afc663e4ddce1906b387fa64898f053b7235014e2f572ebea9b7b79be8474acc1e9e7ddf51b2ba66fcfe5e4d07821248c40c302eae832e1d3dd47c3ee0f3257ed71cc08c3fc9b31ef74f54b4506578738f0dbade63f661ae296af7f85f1903bed25de2c311b06124f67e2392de727e4102820100027a96ef3c4b1f5dfaa7c4f12b49e3e09d90572408bd5864e7feeaed74ad66b6b7b5aee5927a26743e3ba8c990a811674fecb24a9c8b78377b325efa3e8318265e70ac5d4b6aff955cf41703f5c3318cc4ce039d00077f7125083e105d69d5263cc5a416d9637287cb031076307349452243b247960273c11d48d4d1345984bb432dbc3e314289a2c62335be78fed9f2e9e662e9da8a53d996cce0add20797854a2c39d592a6b099ca31a12b2f9a3b51a2c6a22e6a0a2dc4c28a92aaddc6b96aa2bd40a0b8a51c95dfe14d921ce61929198ec963fde6e1d1377852aea624a98195c566e319c245957bb9c9734851e2bdcc2056a498baf95e4802b6921cd6adb70282010004c58b4ee0dd660c4ce896764a96334fd6f7072a11f7880c74785e93376e9de725eb091585a6c12da217f42018f678207e532ee29219fb5b57e9a16fb80dc9721bc884f8199e7490ccbf9f5163fdb5fb1817a7764822add3a8a6c29dbefc00f2ed6bb0b7a6a35ba6625a388f26e2c75d853e80915747b9b52eddd120657d389b490e673527f2eab57dcae8b78e65ace402ee80cab354e71042d8f670feb367995f271f3a2baec0630e203038e443c6ce85341b4e1ba1368b3aa9f0450d2ecd946c6dce5e0262d625abc3547626ae751deeba9f26bfd0e46065ef1d65cf6c2d0e68ac5c0935ca4b8745da82eb8bb05173cdcd6c08412d7ceb66075ca9e9def889]\n\n# tcId = 57\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = e76e5afed86df019226329b04016eb6b101e9bcf2f7b34be04cfdb343898d4f8a73bb5dfa6b9f6bcf1b83474ea1cf1c089131d976b90647175496a4cf94a75b08a0b2fade45792d65b7a98b16507c33c108af24bde91b7df288b8993951c346e2574867cdb1cd5db39f0041e0d090543d51318edb52f3b92261348a21b4650cb56f005a32a3e39f576c2478739f97cedf7301c39ebefbbe4d510aa597f4b0049f8a5e88be7b66b97796551db30fb14649a4a2d9dce4a69319f39e5ab86dcd10b08cfee312ab17d59e2918be12ca1939e444cb20d5afa37aa02d23e541103aed80a76f2ccff7636aa1df8798ca57f2d11075b3fed2387873e4180a6de9914bdfae366caf89037105d532102a7100268c87e9f7919864c6404d49c308f53dd40c4f2c4216b5e0c131f1a978bac16a2c7b3ee6212fb17e42ee69b3394e2c07264da954b322df42aac999e5032bab4e2511858c830954e61cba087a06c94a93e693081a706a4e0a2b9cee5c36f941866dfe6d801e9660e8bab8d6f175a263709a7ed266fd1350ef88b4ab913c1399d693c8e79deca2ce35dee6ac1ab1ce66f8fd12b62ae980e2c8ff75287cc0b5de2da592bbe367450ab9c75eeca6eeb2dcfd29f74863cf8b96e9c979da7b24982608fcfb1bd7c2064d15204ff678979aecf68660b6c55aabf06d4b36dc2deac172cbae6c7b68da108cf0b\nresult = invalid\nflags = InvalidPkcs1Padding\n\n[d = 289570d1efd7e81d9c47282d9aff621a9cca5b8cfa5c6bea60237dc62b9c6a023f368501a8e218e75996c4ed8d43d72f53d3f1fbd9d22189c40ac6dd2832e52921a2ed94359cd6d36f12239b9142c0804efe33b28129255b9ae6e6167aaa3a4afd039b85203c13ecf2f37b2d61d02c6b883e286a746be36f9db7a125eef09e5fc5f80cdf8c7c3e08fa94f96c4cd69c8a877c768ff3712137a141a0439089acb4f00ecb5b0dcd494eb248bdd699e88fd18e98e2c53a1c702969535c599f6ad7464c4144db51ebd98e547a567eebada1a104cd95f95eb48e7a28ee13bf781119f78bf734984873863e89dd7d378f7957a87e0c81373ce773632f746a70d3a596c7081d48a84fb1ee32aee06e17a2545344e51dc04da7be75d8b4128322ff53a95553a25b392303bf37ede32b2179bc81e790ec15f7e267133e4dd93d45b42383c29217cc0666b800e74b9e2c388930f1c31830c2f082fd5f1029c674593a3809a5a78ba3e5bf6fc32328e9497d1174d7c46217229ba4010fcd4beb6c998427f2e265c8ce1bcd367cecebaaa6e20dd311f10dadd5fffb8d2347eb41d2859cc0914681b954886ce23eff64ccf028d55901c47ffc65d7c36d91876a7b3cd7c2251480e4668f6d8651c326f4dcf83a238ea05d042b30b7fd746897264630428fecfad360ead48d0755b4bdd06213a8a61a5ec9646b84e9ef27066d7aeea45b2e3f8001]\n[e = 010001]\n[keysize = 4096]\n[n = 00cce9120dbd73e3b54c6198bf4b1f93f5908bf56a61da1938a4ff3fb28e8703860f2980336522097ed38c28caf32b1548b7b8cc2a33dec64002edfdca2d998c449c70f4b39e32430ff92ae3f2d7a75c995a7548d47824bbda7404c0c1c5295b897e1e4df5584d651440b2e3106dc47b4cda3ea6f1d0f2d28c9b1583c7335447f4b9b47a968cd0cb533de3854577e46a5df5910a945a967516b0bd5e0fa2dac9c65896bf9534780dce3644019099fa5a9bb2e4a6e531d0144fb576af3c4490a8d92d321e11a5bb976f1e3a700caa55f00997fea27e799bc0dcb965c8413d26c68064a3c9b692cfc5a96159fefec05a643a2d10f26cfd5ee940aade8245dbfea0b82c0d6c4d89e82750d802c3a0dc460001176fd06df97b2735444227be327cf6a30fa59b8dc7d2ab831e589745c5c4532921eac7d63d687994395a3f4a523b564cd239555fb6c2249e30299101943c62125f18f789529e554cc1ebc59f7aaf839e5e4e8ff67628fd92763e064e74d8e7abb020551759b51fa99ab67de493c6a1dd527d476f074fe1f2c5d8c6fc6175a322a4dd122918c21219868f8610877c0bf535136e6e2cc006f41897ffcd1a8234470c1b523a2a2b29ff8126470107b5ddf335cdae88ccc27bc4f98bc4c7b50ac2a86c3466d3dd8afc788bcc663ae9751b6e3f6a5fd85f5192124b1cb9ae348f2206f0cc29e5bdfe2459312a9e5ac71eb741]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100cce9120dbd73e3b54c6198bf4b1f93f5908bf56a61da1938a4ff3fb28e8703860f2980336522097ed38c28caf32b1548b7b8cc2a33dec64002edfdca2d998c449c70f4b39e32430ff92ae3f2d7a75c995a7548d47824bbda7404c0c1c5295b897e1e4df5584d651440b2e3106dc47b4cda3ea6f1d0f2d28c9b1583c7335447f4b9b47a968cd0cb533de3854577e46a5df5910a945a967516b0bd5e0fa2dac9c65896bf9534780dce3644019099fa5a9bb2e4a6e531d0144fb576af3c4490a8d92d321e11a5bb976f1e3a700caa55f00997fea27e799bc0dcb965c8413d26c68064a3c9b692cfc5a96159fefec05a643a2d10f26cfd5ee940aade8245dbfea0b82c0d6c4d89e82750d802c3a0dc460001176fd06df97b2735444227be327cf6a30fa59b8dc7d2ab831e589745c5c4532921eac7d63d687994395a3", + "f4a523b564cd239555fb6c2249e30299101943c62125f18f789529e554cc1ebc59f7aaf839e5e4e8ff67628fd92763e064e74d8e7abb020551759b51fa99ab67de493c6a1dd527d476f074fe1f2c5d8c6fc6175a322a4dd122918c21219868f8610877c0bf535136e6e2cc006f41897ffcd1a8234470c1b523a2a2b29ff8126470107b5ddf335cdae88ccc27bc4f98bc4c7b50ac2a86c3466d3dd8afc788bcc663ae9751b6e3f6a5fd85f5192124b1cb9ae348f2206f0cc29e5bdfe2459312a9e5ac71eb741020301000102820200289570d1efd7e81d9c47282d9aff621a9cca5b8cfa5c6bea60237dc62b9c6a023f368501a8e218e75996c4ed8d43d72f53d3f1fbd9d22189c40ac6dd2832e52921a2ed94359cd6d36f12239b9142c0804efe33b28129255b9ae6e6167aaa3a4afd039b85203c13ecf2f37b2d61d02c6b883e286a746be36f9db7a125eef09e5fc5f80cdf8c7c3e08fa94f96c4cd69c8a877c768ff3712137a141a0439089acb4f00ecb5b0dcd494eb248bdd699e88fd18e98e2c53a1c702969535c599f6ad7464c4144db51ebd98e547a567eebada1a104cd95f95eb48e7a28ee13bf781119f78bf734984873863e89dd7d378f7957a87e0c81373ce773632f746a70d3a596c7081d48a84fb1ee32aee06e17a2545344e51dc04da7be75d8b4128322ff53a95553a25b392303bf37ede32b2179bc81e790ec15f7e267133e4dd93d45b42383c29217cc0666b800e74b9e2c388930f1c31830c2f082fd5f1029c674593a3809a5a78ba3e5bf6fc32328e9497d1174d7c46217229ba4010fcd4beb6c998427f2e265c8ce1bcd367cecebaaa6e20dd311f10dadd5fffb8d2347eb41d2859cc0914681b954886ce23eff64ccf028d55901c47ffc65d7c36d91876a7b3cd7c2251480e4668f6d8651c326f4dcf83a238ea05d042b30b7fd746897264630428fecfad360ead48d0755b4bdd06213a8a61a5ec9646b84e9ef27066d7aeea45b2e3f80010282010100fdec846eb4fc015c4325eb2e6e410347ef88563bf4f99be2dd867e8c0b20d5848ed779011c804b33c961c2deaf1cdd29c846b2beab7e5ae95121c0fb7aed00d09bce4cdab21c9d75e26f0610049a913edc27d826ae374d0d4687e9f7d2c615350c92c49b522db586de297428d1446ff6dd5cc65b612bd268f9993cee2cb475062d996ee713c15650971979e06dab3e1723909279b85b9101b4189bf5f99a0f41285bc9b978ae5a478eea34da81b0442b2152d7bb3837e775ac2846e2e164e67939afb5d46661a3a3bf75a333a06a32ff15760035252acace2dda37a5b6ed6fd3921460c220b42812da5fe8ef80445159e5ea9fda96c9e9e232c894f833e0c5c10282010100ce95f6d4044a9f32b9e13e87b8cefe97b2db753caab9eb6d58132a8bf62899cd62704715f93f8e636d5bf286b4de9ccf68667d9f698b062f2f6395c26350124ee48fd55aea541ecc8b27cf359da53a89f26aca00260fbd1d25e6614d46892ff9be93ba9a94ec5201bb55ec825b3317ac1bd37acc90b3d3df48a9e7cc2e660e06dc16f813491ba3785be1917e509f6768c2e0fa2a92b5e428a797b2a79ffc0f56fa7f312ce79c5dd475deec345cab4c8a03897cdc02ce7a5fa015495919d5c428a17b8a04fddcc09b3103f6febeb3428375faf8a9a4a52ed58ae3248c840871c534463079a624f2548a8974f10070e6d950d6c8a76f22219ab44d61a0b089518102820100280a097fe36df150f90d9b9e00a8a3b9ce1d736b94df5f2350c70a614ec7e8a3345ae9abb130d1aae2d055880398cb8ef113a4cfc7feee9ae7be28cdfebe2c68b888b939aae83434087675404559921995617b05ee66adf1aff372832f6b28a0ead0a1cbd4137d123d29d035377a51255e1668f8b3c3d333d657c171d4fec78d27d78fd3441c325e16d55f9071fa9499d573d084fcfb034c7f7779f039617f9248a8e0902c6561baf2e01f616d1dbc4208c9255752300e81519a30434a433ccc54ba4e33a5c933a278683649c7bbb73addc97392edbf67a74737a79aabd398d485ae4ceb8f7898f1101a1b82d878ed52fd9c1784c24e2861109cec508eed9c810282010100c5d369a821ebeb8341e8e65e45a542bbb5f4ddd19893ad54ea30805fc2fba23cc1754f3d458f8d24bd467d7a6d9d77804e33473cee6ec91f4a3c0cdf3707286110128477294a20ac32dd8e59837b0411b1687dc3a2af13a3e3f5375c2e9d94a98dcc1db785c0bfcf14bbf55de74387f9b233d3b62d236752bc5ca7b22904658e401866bae1196c7307597c5fff88861815f626d9b9e0207aa5f2688c887171a712fdd5f3705f96a2abb52b700105b0a7c13759afbda8481b664abc106ce2fd930300306d1344dfd43d1dd4daa1773bcc73a03f9b04258231cf6c3045b6f1f730a71c47b3565caf0a3217eb3a15f807b836e75702af337a06917e406d066099010282010100c241ef6ff7630daae6a81e55b0388ad8c0bf29134b5fdfac465080ece3f5808e3602a7dbfad58c88d4b34d78036ec124fc8ae4d03aa328c291008ca289e58bf4ff181a9d56e6689c37b923d1b07da1bca29a046f67ef070d09abe621b97140431cb207c89342779f891cd0299b8982a3aee8265aa9c55b3ce6c334e4eee3a67a4c0cd0d357f89bd707383f2bb066120d39aef6e4f87cc794cd13514f601f41b060337fdd4964c0c5683820cae3bec2406369fa1b92b7fb961215b24289084cb6746046d2f538391f365446eb226f73bb1b70e4e4503a5a7d2f169aff410e7d167651825c68793520e3daa0b65f68829f6c2844cd8eca4d9885f13b3dcf7d0f7e]\n\n# tcId = 58\n# edge case for montgomery reduction with special primes\nct = cce9120dbd73e3b54c6198bf4b1f93f5908bf56a61da1938a4ff3fb28e8703860f2980336522097ed38c28caf32b1548b7b8cc2a33dec64002edfdca2d998c449c70f4b39e32430ff92ae3f2d7a75c995a7548d47824bbda7404c0c1c5295b897e1e4df5584d651440b2e3106dc47b4cda3ea6f1d0f2d28c9b1583c7335447f4b9b47a968cd0cb533de3854577e46a5df5910a945a967516b0bd5e0fa2dac9c65896bf9534780dce3644019099fa5a9bb2e4a6e531d0144fb576af3c4490a8d92d321e11a5bb976f1e3a700caa55f00997fea27e799bc0dcb965c8413d26c68064a3c9b692cfc5a96159fefec05a643a2d10f26cfd5ee940aade8245dbfea0b7ac0d6c4d89e82750d802c3a0dc460001176fd06df97b2735444227be327cf6a30fa59b8dc7d2ab831e589745c5c4532921eac7d63d687994395a3f4a523b564cd239555fb6c2249e30299101943c62125f18f789529e554cc1ebc59f7aaf839e5e4e8ff67628fd92763e064e74d8e7abb020551759b51fa99ab67de493c6a1dd527d476f074fe1f2c5d8c6fc6175a322a4dd122918c21219868f8610877c0bf535136e6e2cc006f41897ffcd1a8234470c1b523a2a2b29ff8126470107b5ddf335cdae88ccc27bc4f98bc4c7b50ac2a86c3466d3dd8afc788bcc663ae9751b6e3f6a5fd85f5192124b1cb9ae348f2206f0cc29e5bdfe2459312a9e5ac71eb740\nmsg = 4968affba621d99a546d86aea60e00f65d72fadae94162b03663df296ddd98c47e9604089657994b6b07b39d42925ee7782e2953f8e769afd6e2bd567b55572c84b4c5a6321ecbd280f4c8732122c1717c3a587a7b214b8ab9bea33d43bbb8795add9f3058c403465061b57b13663aebc2665bd7ad179481bac3cd871c460e9724bf1a959b82ee713952cbf629b7b33ebab4beb1b6c57142e85a7b671896c8f6b79335039cedba47c077e9ef7dc7ec6d59a03c344b\nresult = valid\n\n[d = 08c8d109ba3ae6a4336f70b74de0febaa8446ef6156097252c97bed6c0ca50ac1ad81ffa194286b3b05325025fdaeb598a38d8052a1e071c5de23ee545fc7c9f72423570487bfd0504356e955770e11295a7c6071138f58c54abfc1dee2f7b1b52dc294126b44cfc3f26d2b5eb88f3cbf5c5e852c26ee431ad4024a03559a04a10cb93da75490aa3a395f93016c5961a029d9409363918b3313bf4b258e37f7a6ff481e8a814132b4f62cbda155dcc2e4080e346768704199bce9a1b139e3f39160a326c59778ba460fbf7cebd04709f64048dac66275ed6d1936c66095a4172be0df278ad06fefd427eab2c18c2eadb3f2a04b56d01957ad41707c58ff10ac1c3e045daabc427db29661220ef42c059acf9fea5a8a616e37f32d106074dff98b44612869cefdfa2626e77fa759931649a5497f8fd6d965631808bc320bf5bafe7f78108c6b689bcde18409351052488768f0da8e286e41c69eb109208ce4c875d3e1b83d1c125ebe3aa87bd9dd2fe54fd761fb27f5dc728b34007b495287bea6254b90ea218d38917f1a3f78bee8c51ca881fa9ad24dfd76f59298da1454944e8872110a628215deeaeafe3c4325e1800280bb9bc6421515299bb932432f28e849d79ccf23126e29453fc9bfc05e145725c6fb749d327351b49dd77bda6d83a569b76e833bf28a804ed5e6c2e3a58a576945e96c08e4c0fd94fa1c221e091]\n[e = 010001]\n[keysize = 4096]\n[n = 00e0e2950ded4349829b906a46426e0f90b31bec406f11409392e457d9901b58a45a05e1d2860fff0580aeeef3afbab872283d063369eb52a3b30fad8d49c6a9317cf72b72fe06f34cec3eade09a38d9f245d5f7e25333e0876c08143107bdbaae32593621988b91a79d1b62dfd316554a8e9635aaacf7100e8b61c9a298fbc391b55d43cdb6bffe116c2947019891498f458f10add36e4ad43183cb07c22f3c97f17e961dcc791ff041691fb01f30279ade5060bc2e25dcdcca6bca915f55158886ba72413063b5fe1008e112151e29fba9fe91b1fb93b304d76c98f22cd447b326780d76599133a025fe2aad31805c9dcd5396582be6a60a8e95fc759242ab7cf0152e1b56e0aa8717eb462662ee365b2502485ab1f673cc74e65fc163ecab10efe1157ba872244a61b307e20e12e85cd3a4ac1757ea21c4a694935f41749e8b1ff5413135ee0195f665e34b36f108775bf11d7a84dc4cbe984ffd7b135d69e40e47dcfba1b8cf5e14ff29bb375edc5e66695b3c9aff2add8a1952c9d1d60fdca3b94e38e6b55164ca503d454b8a6fcfca30e95fcf8c1dd47f864717ebd2a50c64ca0632bba5ce80bc6cf1750d6dc294985cf160cd837e9e9eeadd8421901d86dbd50bb1ce2611abf5292744be25a90d81d8bccdb87fb9745ea0a003cfe84c3e4b4c7e26fa04d8e317ebed945ff4cd71f2120e51cafd41ec6874648c04f89a4f]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100e0e2950ded4349829b906a46426e0f90b31bec406f11409392e457d9901b58a45a05e1d2860fff0580aeeef3afbab872283d063369eb52a3b30fad8d49c6a9317cf72b72fe06f34cec3eade09a38d9f245d5f7e25333e0876c08143107bdbaae32593621988b91a79d1b62dfd316554a8e9635aaacf7100e8b61c9a298fbc391b55d43cdb6bffe116c2947019891498f458f10add36e4ad43183cb07c22f3c97f17e961dcc791ff041691fb01f30279ade5060bc2e25dcdcca6bca915f55158886ba72413063b5fe1008e112151e29fba9fe91b1fb93b304d76c98f22cd447b326780d76599133a025fe2aad3", + "1805c9dcd5396582be6a60a8e95fc759242ab7cf0152e1b56e0aa8717eb462662ee365b2502485ab1f673cc74e65fc163ecab10efe1157ba872244a61b307e20e12e85cd3a4ac1757ea21c4a694935f41749e8b1ff5413135ee0195f665e34b36f108775bf11d7a84dc4cbe984ffd7b135d69e40e47dcfba1b8cf5e14ff29bb375edc5e66695b3c9aff2add8a1952c9d1d60fdca3b94e38e6b55164ca503d454b8a6fcfca30e95fcf8c1dd47f864717ebd2a50c64ca0632bba5ce80bc6cf1750d6dc294985cf160cd837e9e9eeadd8421901d86dbd50bb1ce2611abf5292744be25a90d81d8bccdb87fb9745ea0a003cfe84c3e4b4c7e26fa04d8e317ebed945ff4cd71f2120e51cafd41ec6874648c04f89a4f0203010001028201ff08c8d109ba3ae6a4336f70b74de0febaa8446ef6156097252c97bed6c0ca50ac1ad81ffa194286b3b05325025fdaeb598a38d8052a1e071c5de23ee545fc7c9f72423570487bfd0504356e955770e11295a7c6071138f58c54abfc1dee2f7b1b52dc294126b44cfc3f26d2b5eb88f3cbf5c5e852c26ee431ad4024a03559a04a10cb93da75490aa3a395f93016c5961a029d9409363918b3313bf4b258e37f7a6ff481e8a814132b4f62cbda155dcc2e4080e346768704199bce9a1b139e3f39160a326c59778ba460fbf7cebd04709f64048dac66275ed6d1936c66095a4172be0df278ad06fefd427eab2c18c2eadb3f2a04b56d01957ad41707c58ff10ac1c3e045daabc427db29661220ef42c059acf9fea5a8a616e37f32d106074dff98b44612869cefdfa2626e77fa759931649a5497f8fd6d965631808bc320bf5bafe7f78108c6b689bcde18409351052488768f0da8e286e41c69eb109208ce4c875d3e1b83d1c125ebe3aa87bd9dd2fe54fd761fb27f5dc728b34007b495287bea6254b90ea218d38917f1a3f78bee8c51ca881fa9ad24dfd76f59298da1454944e8872110a628215deeaeafe3c4325e1800280bb9bc6421515299bb932432f28e849d79ccf23126e29453fc9bfc05e145725c6fb749d327351b49dd77bda6d83a569b76e833bf28a804ed5e6c2e3a58a576945e96c08e4c0fd94fa1c221e0910282010100f08b48dedaf83aa6c1ba641d8220f6e3336a2d23ce153d075ff6a4ef4aa457db45205ec73421762206924e0c872965099c672a4c6069dfa98f9e0d115619be208bc89c118d95ac1f896caef01c703f1cf0a0e505f250d99d476b0889e2e1d5d13bda462a8604b8225f30cbc8547a9eb3602c1c28050cd4bcf6877087757a1d68a00e193d2bbdb4d87efef35ff8c97c3730d812b7f82e1bc4127ba706e532872f01a6c445a3ddbaaab693dc3e341962b2a958908c293fde5818ff16e5394591d39236b80f57290d2aa3d3e455775b0f648eefd3a0e74e732dc6a4a4187b2a3ccbfcf672b6b4f9f0d24f638d8e92de1ca5f1f32b8d7e40066da1e0f879eb9a16f50282010100ef55b8f11f39acbe9c77baef23a21639cfa08b3fc2b475cfac4e1b8944146f56e1466f094eddd2bb597148f0f8259d253e5213a26d3e4820b4b065efde4e6ee3d03bbeb21536b0527142efffbe7507fe1c29660fc0f795ffe9bf1ba1da0ca51b71e1836c94ce85edf3906d22546e39ab71ed87d17ab8157abc4bfcff7973d6f763c211729d6bd927f23e7f60888b538fe9f49e79c2b64f3bb4fb55c98b22433ecebbe5f2c54db9a137c939c4d71dbed8823663da3ae0a7baee6a5bbbbae1dec0f86b48fe10c74f54ff13915669ce122095ebe733dcf2c57324e31bc2381578ed9f5b17df344e77590664d7115609340413eff80dfc3bf87b09d3ea4b55e639b302820100503551962613d192db54689fc24d75a5aaf6439905d5e524b96607f756bf5820607b7bbf16edf5734117b5f8cd750b20da4b383a8187ac31e116c5aabb381842c7f99bb8eaaa36dbc93a39570d548c66fd01d97c53218c7eba5ac15d210f46f9dee858af4342fd97508077e313f0534ce2cbb293d1a346a8bfd7c7b9137e25a246848cfbedc2f333a19d27d01fa827c84b7c3139b102c6f569685bf89ba26e9b4904afbbbcf9698e151556c2532307db2546c7e444b8ec4e19ffad45c00427ad11bb3742be408d0863da7aefd8bdbf733b8a52d9fb671856f23ee20cdbbce8cae84dd1508526369c1a26cb03f88b21a85ff642d68a7b94e927aa599065f45aa50282010100984c8c6ba3db27ba04078cc5307fac750d52b449d6b4cf635fda345b9d1f03dadd6fdca8a7af30b257b0672230467f417beeeedfa574c4a14b5a1504170b0235a604decca4033120c5423b471b038e1a7e013a193c4a510190d533d842d1591fa5d043b98cd7ff11f4b42b3e754bcf16f2609cd508aaabc076a24454ae0cb0f6ac5c8a8dccef1c38f7461df867eb81394b3f86b924d6ae84e81e27f120c0a4da0ae436e7cdf62ff20f75d575150eb0ab45f12689707e153e37092766c6fd84aa776a8e005edcf5f6b87ad339920ab82e5438d1df86f2560377adadb461cc082fee0021a8bfb84eea2fcf6bac747b56c661898ae81b626e349d8464cb9bd5ed51028201010089f993c420ba90f4352e0937e4f4bf99d6a5be75649e1004ec094f918e9122db4e22702d3691dab6cdbeb3644038eb43e32c7ca6365f73d7de2013a8004ce3ef4b70f4aae2d4d5c377137fb179c9a007bc3074451454e09353aa0ffe3a8b6bbe5b7aa2cdba2618db38c600e6c9333037741a9444d4176677a67a262eda336af53e9dbf350b495b314b4a04dd2c5b20aca01084d22a45a4d5405f6056c88b9a71453205b1e01876dab4102e8778160dd341af9bbcc4df6634a78d6552e69f45cb814dd5c535a416d582ffa7ed4abc6a8d037339705f10f8dd1b1926e3439c3c5d9db46788ca38c011e589edc4c0c2a228f604a8cac610ea282337dba921aa3daa]\n\n# tcId = 59\n# edge case for montgomery reduction with special primes\nct = e0e2950ded4349829b906a46426e0f90b31bec406f11409392e457d9901b58a45a05e1d2860fff0580aeeef3afbab872283d063369eb52a3b30fad8d49c6a9317cf72b72fe06f34cec3eade09a38d9f245d5f7e25333e0876c08143107bdbaae32593621988b91a79d1b62dfd316554a8e9635aaacf7100e8b61c9a298fbc391b55d43cdb6bffe116c2947019891498f458f10add36e4ad43183cb07c22f3c97f17e961dcc791ff041691fb01f30279ade5060bc2e25dcdcca6bca915f55158886ba72413063b5fe1008e112151e29fba9fe91b1fb93b304d76c98f22cd447b326780d76599133a025fe2aad31805c9dcd5396582be6a60a8e95fc759242ab7cef152e1b56e0aa8717eb462662ee365b2502485ab1f673cc74e65fc163ecab10efe1157ba872244a61b307e20e12e85cd3a4ac1757ea21c4a694935f41749e8b1ff5413135ee0195f665e34b36f108775bf11d7a84dc4cbe984ffd7b135d69e40e47dcfba1b8cf5e14ff29bb375edc5e66695b3c9aff2add8a1952c9d1d60fdca3b94e38e6b55164ca503d454b8a6fcfca30e95fcf8c1dd47f864717ebd2a50c64ca0632bba5ce80bc6cf1750d6dc294985cf160cd837e9e9eeadd8421901d86dbd50bb1ce2611abf5292744be25a90d81d8bccdb87fb9745ea0a003cfe84c3e4b4c7e26fa04d8e317ebed945ff4cd71f2120e51cafd41ec6874648c04f89a50\nmsg = 7264a92eddb703ef8771d6979ba12768d99c5b2ae7c434d9a142ed30d703bcc62883dd796872155b698ac16798a3077b1b60c7295d704e8de8617ad45d65214989c29b1ae55a956712c9e695de25eaf06ec04537788e06833b8154c7fd68c0b216f69f2b77d316c73973b1e91fd5364239438ee7e0de90430db846010aab7a9020a768b3fe2742818b774cfeaca03841a0940a6168d10808d468de46a94e3eb23b32542451f5bbd808644935431652ed08a09cea068a301b252847b90a4a86eccdd44e09b8c9dde6ee45be4d5e7a90adc749b26965d43eb10b34790846729924497ad8b9766ce5c771483c6c51f4d3b9f51f7ff98ede6cc4db1dcbe018bc0f9291784bf6560efb37f06ead8ee973089b10c5f8d5fe2656ca73c500076d9ac9d2e07b6c4734adc77b602eb62f6cc5f5dbc42e072827b29abf1c5a806ed16c171ff2f84348c8ff0772940ad191cb30a21f816279607ca5c48cdacf15fa3abab24e67dd7e80bce7b1e6977c95eb57c2b1350fc746234493518fd48828f439a2ca799bd37af7ad11833fdb113362e5af7c731e524e7f89bb97c4a1\nresult = valid\n\n[d = 38d60d53a382879da55320c15f0d04a4f027c1792ada3817fac6a01dd324843f75f395c38f24b1b29cef9b63c74aeb1bead253d3d6850727e8aaefefd3e9f6d9f3db0efa524a4ef3616dadac155da12ea153f36e1c4a8ef4cb9046d20ab71777a99a49789472ea26648776f8b7c689c16b0bd4a896c1d580053761641babe444cf1bf1007c3adfa856bfbd930f19358c45d0498dad98338d1c70d871e9f0576a320c0483daf7f5f186f62b783b2ecf0d0963b484b1aa9030758ba1bacf510f6ec018cd4fc0875ea3c8194c04c6cbc9396943ae4a3054ebb5c5ca72ba48aa5d2815b4b0ad090e8f2577bb9d6ca6ddc30184d96b5f97538ac8a2b6bcce5b7dcf665abf4d40ba12cc231f7de9ec24be1bed01efbb90a4e1ed67bfe430b2c97faea6383163f6d305835ee7f8b692dfc14bcfa5a3b8fe7d5c6c6c28cefee29f6d0fddc5792315f016a25d86232759a2027f15e7cce164ba95695944f4aec1f1dcc6dcbad705f50efb86bff285a2e23838414949f5ce49a318b9f633f9ba21245cdc7e122e2a7ceb39b48b480c3b2bbd5ab0b020bf1a4de6299b4cfd3b1cb0473b6602dcdbfabdaac6f72c47d2bfd668a9d4dd375e568f7ed74e0d0937c7d81d1a9d370fd0e712dbb908ff65c0a52264802bdb7313590ecc6a254d8eccf19ff6326c37d428a0e6ad7af4c1d672da7d9b1f46d84a5863c3694af9416531c0915b5db3e9]\n[e = 010001]\n[keysize = 4096]\n[n = 00abc99f0a9fb85911f8011c5a6f753309f659b992cb3ac5a494b2b09b513e9437e4eda336ec3419a2b064379ff95f7bd91bcea208bdab6a1dadee6a5ca1c51e485bc59d6ea142a98995df491148ff00bf334241506f2d814f0cf0d54cb990684299e8a2c640e7f50f1bc76adcd65988eb561887c78ee01105f276732787628c4afcc922f6cb2e994f490c332dc210fc40506eb0abfc9f365042a8ad8a6975625dbcb49f4aa57432c9133aabe83abcdbfa01ebe1731479b9203d8956161729ac86a2b630d08634abb417d08a10de8906bb65f63e19bed75fd767461ff4fd3badff59594c04ca4fa6211da29fd6dea0c16dcf767b0f21e2dce6c37bff723b331eedf56bb379272eca933a622f32365ac97e4fb66d65764bc8f3cf0571986a734632d8c70c14125817bd3d30c3f20a3417b78ce8a57d273049cd6a8e98f6b2cb87fdd0ae7581864add7b0eedc8e8018b85644c02ecf2a55d8819d16ce5dfccdeae79e7a087f08111b51b6a362fb0c484af52b190a2b149288e8c3bda53b38dfbfdb23acfab85ec86ba593d8e246d32f78c0b20bc479550ee7c1543ddb6a9905bd24ba63248292b3b744d1dccd72fc179590b0fef0cce9b89f4aeb428a1b160701e8ee77388ac5544d8bb8e432be51f9489bf12c3aa3f63293f7fbd1645e3f0c98d38678bd932e533a137c360bd", + "a91440008f9cc57f52bb86aefd6bbf9547312c74ab]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100abc99f0a9fb85911f8011c5a6f753309f659b992cb3ac5a494b2b09b513e9437e4eda336ec3419a2b064379ff95f7bd91bcea208bdab6a1dadee6a5ca1c51e485bc59d6ea142a98995df491148ff00bf334241506f2d814f0cf0d54cb990684299e8a2c640e7f50f1bc76adcd65988eb561887c78ee01105f276732787628c4afcc922f6cb2e994f490c332dc210fc40506eb0abfc9f365042a8ad8a6975625dbcb49f4aa57432c9133aabe83abcdbfa01ebe1731479b9203d8956161729ac86a2b630d08634abb417d08a10de8906bb65f63e19bed75fd767461ff4fd3badff59594c04ca4fa6211da29fd6dea0c16dcf767b0f21e2dce6c37bff723b331eedf56bb379272eca933a622f32365ac97e4fb66d65764bc8f3cf0571986a734632d8c70c14125817bd3d30c3f20a3417b78ce8a57d273049cd6a8e98f6b2cb87fdd0ae7581864add7b0eedc8e8018b85644c02ecf2a55d8819d16ce5dfccdeae79e7a087f08111b51b6a362fb0c484af52b190a2b149288e8c3bda53b38dfbfdb23acfab85ec86ba593d8e246d32f78c0b20bc479550ee7c1543ddb6a9905bd24ba63248292b3b744d1dccd72fc179590b0fef0cce9b89f4aeb428a1b160701e8ee77388ac5544d8bb8e432be51f9489bf12c3aa3f63293f7fbd1645e3f0c98d38678bd932e533a137c360bda91440008f9cc57f52bb86aefd6bbf9547312c74ab02030100010282020038d60d53a382879da55320c15f0d04a4f027c1792ada3817fac6a01dd324843f75f395c38f24b1b29cef9b63c74aeb1bead253d3d6850727e8aaefefd3e9f6d9f3db0efa524a4ef3616dadac155da12ea153f36e1c4a8ef4cb9046d20ab71777a99a49789472ea26648776f8b7c689c16b0bd4a896c1d580053761641babe444cf1bf1007c3adfa856bfbd930f19358c45d0498dad98338d1c70d871e9f0576a320c0483daf7f5f186f62b783b2ecf0d0963b484b1aa9030758ba1bacf510f6ec018cd4fc0875ea3c8194c04c6cbc9396943ae4a3054ebb5c5ca72ba48aa5d2815b4b0ad090e8f2577bb9d6ca6ddc30184d96b5f97538ac8a2b6bcce5b7dcf665abf4d40ba12cc231f7de9ec24be1bed01efbb90a4e1ed67bfe430b2c97faea6383163f6d305835ee7f8b692dfc14bcfa5a3b8fe7d5c6c6c28cefee29f6d0fddc5792315f016a25d86232759a2027f15e7cce164ba95695944f4aec1f1dcc6dcbad705f50efb86bff285a2e23838414949f5ce49a318b9f633f9ba21245cdc7e122e2a7ceb39b48b480c3b2bbd5ab0b020bf1a4de6299b4cfd3b1cb0473b6602dcdbfabdaac6f72c47d2bfd668a9d4dd375e568f7ed74e0d0937c7d81d1a9d370fd0e712dbb908ff65c0a52264802bdb7313590ecc6a254d8eccf19ff6326c37d428a0e6ad7af4c1d672da7d9b1f46d84a5863c3694af9416531c0915b5db3e90282010100d1d7ce5fc48ae70eb11022cbb3a05d86948acfad2d450345c4f89e4ff28c0e5691d6fa0c99065e3dbd76406bcb9fde0557d99640e5914f3f87112b264fa8480b0715ff298f6d640e62c33609e988224fa879955cf4cbb32d3cb16232bf80e2ce82cb266e256f61a74fb0f0de661945d5a7bd03b4e52482bc9dae0e982ddc9017915568898863c9caad27b5aa2f919fac4663a7bfa14d78cc996e0de1010e40b5df75971228666785e80f9e9e3ff4191c4866cd3ba6418a39e4e9fe9cd6b005423796cf3861f6ac50db59d61fed6aa1da6135d5b9f674bfc5153ef9f52fc7590ad5e6d02c46b26bc15022c11f8817d48ca1a359b54492247b76a3e12308d59a650282010100d192ed41d1945c58a1e9b8b1189ecf6f9a9f7aa0653cb973bf44bee4bf9c38bf42353e25c1f8ec640e7f402650190aa8e5ff8cd48b4252f148e1d8c2fbb46e416115ec5633fe0b052bc345e44cbd4d785282d8a5617cf8711aecf08f4dea6d05d2c13ac871237af3d2abcff8ed761a4ec7155e5109e482a4e4147782a71d78503ce0f5587019d3ea1dc9dd424df980fe210a6ae7fe0dafa0bc617e13246c3727f73a6973cac78530891dbe34409e0f8c980d42d2a337e65c7f2fe3d70cef79779a6905adacba3ad0cae0ccdfa8998525fbf5fc42952192116e9beab20f1491df0d259b6f3858f83387511a15605221ef1bc22bb5a7ce5125bb5050f11e71d9cf028201000bb73bcb7702b651c8aaf8f65c8a088eb9fe6207ee2e1b37aafea2801e2f99a155b525f2cc1c61e89a8a5ea06616ffe3567b4c7b4515eed1c22dc035fc5e8ddf27bf1fa6e75e192700769baec3fe18c44fc8b201259db5dc41b639a051b6d572e8348569c2e74c11764e8fb42b092030049475ff84879c510190b539e3dd9ba1e5385a84cb3b9f0994cf51c235b3b0b182a08fbe10386e15263fd1c08d39897d5e0387b2b8d4b6d4f016e72938b2dd300a0ecb489848b279f700e57946373fa3e9cc9eb72c290487e32749e0307632a129aa42cb862a1086e55fc5beddb30892a54ca4b4c421b4086ffbf0c25cebcfaf265b23680e73065c6a4c4e0691b8b34d0282010100a51bcc2ffe9d93e3802c5285b38fea7d52a432480b7a3be124df5445836fe0854df404725acf71eda23e3e9bf09ec9f726bc9e8714efbbc8bc52b2236b8a4b12d71a1e880b8e29c07929eef65e3f05b9b5c7c0470af71a0481e209e3dccec3f5c284d97af127b2c645437725f66f056aeb0dbab0bdca79e2ce8e1159adaf5a0a5cec1e5efe725ab227a5d1db5af326dd0fcad54ed0a897a55ac4b43f008301314b65898ee043307b7c8b223ea869de763594bd0095f684567b1d8fb2ed4dfdb46cc230e7131de51879bd81aaf3797f9cdd547ed93604acbf6f15076220df63cd06de8a06a5adf25d264e8eee28648cb784770558a84bb342b6c02004d6a77ba1028201010082760f73bc0c2a1ca2fd43611b8ecc0bae83d2540f8d0d4b589a1a9bf9240e814e4a8b55925f0b4d3cf174421f306e11616a1a8810c800129df04d4974b4bdd7c3f36d75e715e755cbe5b223027410d3c235a21e202b96946b0eafe8115e651e72dbaa538e077f2ca349493acf3c6f3f3fec50572411be4310d081758703d65d47233af85e289bdec0768aaaf803112878b37eadff1f65e5628a988fcbdb2e37d832a8a4b2a0f2bd67f967e957779cf5e7fdf9893e7beb48abae65f1859169c7d25aa49641c9458f30bead48fc2297410e38e600fa5e2903d058632c293efdd35423f29ac38f5528888676628babc0dc3c99286cdcbcd377ef96e591fc4eb13b]\n\n# tcId = 60\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = f20a01caa15256f2c729fb2b54f4092b091fba4c09a5d7bb2562047df86727fd13e001b48169f6c947919196f6d2c4ec0441bf08dfd17a3232f29d19c28f266b78701d997dcc098457a10a3e0519f512528f5dd753be925d3809c85bec058020e8d9b4893f06db87b700df73b7c64a9b6ef8ea13f765ae93d8797ab28355c66edb7268c42bc883843f0341d6bcecf198d84cf320993c8ab1d159599ba00481e6237842b619c2c3a0d477de348c6250f0c9e535fb1dea0e273e518b3068f63df510da78c33745c992be37755a8142d7f0e2780c675246d5ff82268ab8eb63770ef5a8c1c18cf69822c2a43028a8abb893394296318e9f3600c9b6db742cd8aec82232fc4485ade62d48ec4a762d88479def21fae798b76b0414f210e1be08dc746c4b190ee7b9ddd17e7157713f43e25638c2654d1831e1f38aa7baffb8ade3b9f97b104ba9ccd0162568f703f9fdd5e998885a2c76cbf5b199ac82a4670d9ec9c619f3bd343633e7cafe73f25cc181fe9f0091b9ddd756ea06ff6b27582309fb31bdbceb15951efe0f0452220c26dac00ef2f7e20ff160b7f5893d7fe458d52f748fca03df14e2\nresult = valid\n\n[d = 2deb08d4321c7cb6d473fe8d8f3fba1dfd846fe229cfab5f8d39b486cae61f6dad94f7decdd6ebe0eda1c2706f4642bcf595f61f45a36c6d2d089cbe6d4be43ba1eeb0412e553e8bccfd4f4bda4f024b8c7154ae066034ea2734ebe8ec419f22c04f668c5ce59f154ddac8c84361992639a9d950d4eec241fb1ddc394f45b10e8f0c187c544c7409fbe6d4f3be125038f3fe68893aa809e7a9717a7518a870638fed81feb8bc5848542e357632544bf29c768684a8891a22f2dec8ecb280391b3a236cd7cef14151c0e3c41faa198c94da85e69f20687c1162daebe3d506c0dd8af2fbfa59c1698dd7675eecb08c5c69cccc5afc208861178492f05123992a746d5a4bb18c1a7ebcd0bbb2f10d9c7aaeaf2e3827b390ef6b411a3d8d544bcb23cef2e36ceb9bd7bdcec4e7458505517b5c89c1a5c1a503ee4091d1e8d83590ac4f58a9d7cc430b9216fec2acfebc75e1f8269e9fc55c0bd9974fdae5c3539e30e8cb7eeee7da195939e9aedf2afd6938e505908cf0ce029de584470e2e66291d9afe21f827161643b8bd5506827307781fd530177e73dec6501ece1213d8cd1403023f0db223bb67ee854a24ced1531438b726b42a644efd929e22c17c5c328ac9cd7d6d2c175d1c465889e509c0dd6360cd7cb6ef05e6cf63a7374f47f5c659133d9b3f3d9757340dfb36187f69fd0abc96f163ed33df04f1fd611fd75cd93d]\n[e = 010001]\n[keysize = 4096]\n[n = 00bfe8dcd6b20e93687405baf7f2c3c3d1d35726e9d76123c1a57ab6f3997da9a28967e71dc1b28c1a57629f99e54d87ab1cdcb741e6ef769d4db8e1edd8c23ba544003b4ac396183620b3a67d7048d2506614d126d2aafb49adcd68c21483821a99fc07d5166a25e3e71f13eaf9b66175d5966c3769ab0fc423fa91b53039bb783d2a7cd4e5ae04d6e863ed0a063460811b021d58e968eedea2ea12c044656e58109aaa9ae87e0ca59d02", + "d18727c2b7f86e826c8d1a22193d73023bb5cebea484f144cb99578172f6d845b1988002fb7c02977c905de5dab5e18aaa1fb81456fcaed26b04e08117380fa08051bfdba47b600b9ec5f47b8334ceb886753f8f633e26375a6db6193cf5367f74849c7b97eb2c3e3cd45262efc734c92a17138839cf86aaa93eac6c9187f6cdb5992722bca6b5b98d103dafd331233ac49fdf9f8844228c5f4bc18a1db48c52d89ddabb08aa92d330b34dee06da32d913cdd47faa1e864d85e5624e381453789a53d67d808231d7149dc3517a3beb783e4c8575bd55fe6e4070317bab6b5c7ed898263fee2605f874e99097ffcfe09e65a6e6b4924ade2477b1056995a2a7271b17a3e5ced980403f7aea9c754eed40cbcc70fcfef49a2f34981ccd834b3f43d7558f9e555055b7ddd529957d8108e767eb35fe0d0a5e5a1db5bec9ba6c3af458de7347443978415bfc7f02eb42f8cdf6920883a19d]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100bfe8dcd6b20e93687405baf7f2c3c3d1d35726e9d76123c1a57ab6f3997da9a28967e71dc1b28c1a57629f99e54d87ab1cdcb741e6ef769d4db8e1edd8c23ba544003b4ac396183620b3a67d7048d2506614d126d2aafb49adcd68c21483821a99fc07d5166a25e3e71f13eaf9b66175d5966c3769ab0fc423fa91b53039bb783d2a7cd4e5ae04d6e863ed0a063460811b021d58e968eedea2ea12c044656e58109aaa9ae87e0ca59d02d18727c2b7f86e826c8d1a22193d73023bb5cebea484f144cb99578172f6d845b1988002fb7c02977c905de5dab5e18aaa1fb81456fcaed26b04e08117380fa08051bfdba47b600b9ec5f47b8334ceb886753f8f633e26375a6db6193cf5367f74849c7b97eb2c3e3cd45262efc734c92a17138839cf86aaa93eac6c9187f6cdb5992722bca6b5b98d103dafd331233ac49fdf9f8844228c5f4bc18a1db48c52d89ddabb08aa92d330b34dee06da32d913cdd47faa1e864d85e5624e381453789a53d67d808231d7149dc3517a3beb783e4c8575bd55fe6e4070317bab6b5c7ed898263fee2605f874e99097ffcfe09e65a6e6b4924ade2477b1056995a2a7271b17a3e5ced980403f7aea9c754eed40cbcc70fcfef49a2f34981ccd834b3f43d7558f9e555055b7ddd529957d8108e767eb35fe0d0a5e5a1db5bec9ba6c3af458de7347443978415bfc7f02eb42f8cdf6920883a19d0203010001028202002deb08d4321c7cb6d473fe8d8f3fba1dfd846fe229cfab5f8d39b486cae61f6dad94f7decdd6ebe0eda1c2706f4642bcf595f61f45a36c6d2d089cbe6d4be43ba1eeb0412e553e8bccfd4f4bda4f024b8c7154ae066034ea2734ebe8ec419f22c04f668c5ce59f154ddac8c84361992639a9d950d4eec241fb1ddc394f45b10e8f0c187c544c7409fbe6d4f3be125038f3fe68893aa809e7a9717a7518a870638fed81feb8bc5848542e357632544bf29c768684a8891a22f2dec8ecb280391b3a236cd7cef14151c0e3c41faa198c94da85e69f20687c1162daebe3d506c0dd8af2fbfa59c1698dd7675eecb08c5c69cccc5afc208861178492f05123992a746d5a4bb18c1a7ebcd0bbb2f10d9c7aaeaf2e3827b390ef6b411a3d8d544bcb23cef2e36ceb9bd7bdcec4e7458505517b5c89c1a5c1a503ee4091d1e8d83590ac4f58a9d7cc430b9216fec2acfebc75e1f8269e9fc55c0bd9974fdae5c3539e30e8cb7eeee7da195939e9aedf2afd6938e505908cf0ce029de584470e2e66291d9afe21f827161643b8bd5506827307781fd530177e73dec6501ece1213d8cd1403023f0db223bb67ee854a24ced1531438b726b42a644efd929e22c17c5c328ac9cd7d6d2c175d1c465889e509c0dd6360cd7cb6ef05e6cf63a7374f47f5c659133d9b3f3d9757340dfb36187f69fd0abc96f163ed33df04f1fd611fd75cd93d0282010100e089b902015ffb3407fe94e65e9ea6cb90b111ba8fba421527dd8f9e73130f0880ca3207fa2c727d396141d333f95c5d8e27437fcd76297ad444450b251b1e9c8e81234cd30122878716be6f2944ce662acdc34a290513978ea46a3dbff705a5cee29c52d26d74cfcf7e2ea789c5455f9be64c52ee1741cb5db8d7784b316da1465c71d01e5d1764e957414c0b35d2ae11e2fedb103923d1f19f8841f0f6692ebf71b48003d73eb23d18d08cad0cb8acfb21ad8567065b773a754f283c1b59b6ff69b691d62c4df746bfedbc066a1301597bac5bf49c05a01e64bfa4ec5aaac9a1245901cbea749a3c94f6fad12e01f2920bd3d5cdc56dbdeb036de700efd73f0282010100daccbf057aa30a5b6efb0f0c37aac0a681e3abf153a29b0c780616c7ced1f00fa75314b1447b53fdc0b9e22499aafe07224bdf5bc8ae3382dfff5297e8fd3d553b7225abddb092bd4fed242948622fa60c6cf373f3b10c5ff598e9ec93a774dfc78e925aeda29bbd027c642e9cac258c3d83a31c65bdd038217107ad33c7b0c3c9224be7063c16c7774cea378f76cdc1b931547af5885ae31043d63ee814929785dad72cbdf5f714d241ffde52a4e11f9c21dc6e45a7f03f46126611c8073a74b28d9b3c802f44f94674ca8a0c7ecc8423520f9b8703442bc6f5bc7e64da15e27b8150950c15e6b397b27e8334df8a74d85ecd91ba9916c953b10c43a60dcc230282010100c243c5b24b783c41570d56cc3d5eec164138418b74a0845e0360b8ca30eb735d3af834f31bea6a9f970e634214bc90c24ca401cd47f90c883db0573ffe398971900580820e28f433e797b0e941fe4ac8b00dd801889de0c6865e0fa11f3ddc40094f9c4a37cf057a6a1dd4c594f7fd3e6c06835058b7fc6fb3c5a17e6d27f59ecbde5d85df4f5157385f0a9a7d3472f3b17c005d8d9ab23808e1aaa4ca92968c208c82cb23078e31ed945392f2818821f920b91d2af6a019f694da0888806d4d5b8b9dae6d6b6585244c17a64eb265810c6768c72249febffaabd5f71d9a901ae4752b20d7c9205af54138b1e65af4ca66bb1eeae31e0605839832f4e2a59f470282010100c34e6864f7a779a34c5986811d5faa3ff749c73dcfae2240eb12645b4ede4f2f69e8db5bb109755bd92114201f9b66cdef6b52a1976d084616b4ce81135499deef0561631cac750fcfbc9abecf01f60e7ea0f25fda737bdc5c5a76d4daa86bc72556ba85b801a28b0121103c1b55fede443ab0eab456cefa8bbf5d5eda0db257d1be6f8a752246231ef6e54b5b206d623371393bd8d83268e527e8a2967f66ab22acc9ce0273006ef1904059afe3c5a075ba340daad7d1b869501b145c3d378cdba553a099bb9811fb365d6504ea5a9cc8fa833c0d347931aa93c801fafc40f4bdd21ca02efd8dc559efd6c63ff81a9b5a58a59f23b56b85a2d333635f6289890282010100a5c711d4f32a85485c20715fb46f0d1ac746f5de583201b97691ab7a0e8d04f8a66e1f586160296f6cbc3acff432bc9526d0c94b3c8cc5519b233c875568e373abd8f37bbf19dbac1e7aefa895307d9e5f1965a639b730fb44062bddca45ab6af23bbcb2f5cdab3acbd21be0f910475e257ea60bf21750328680a16f565204a48f27eae27bece4bb70e19b0d19b90e069962451e3304be4094f241b1ab083b5df23fd177a6e6c6e1e0241f882d3e6276d5797f076b74eeb77e2f875cb95f36f72c2262407b0f95c8230ea18f67df0467f412e614c0c6ba1657052062801b0c1b194e31d1b054319edbe29206cec26be8e53226a395fac9a986a3cc2f3949ab9d]\n\n# tcId = 61\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = c6010be52ada4709681e522588e84933acffed23fec969ddd38ac4061e9f218839518e2d42c75bc0abc35ecc3d330e17291234220e19b2a57621c101b10dfd19a44b7afe2e945eb90a60b372527b51cc9a1a4aa9eb25aa8f9306d5482cf2890a84b56ea666c57f6b4007927fbe69562f5f45415d2e399e2fac4cd2e663a3a6be929a3c133bb437f97771192aa1fe971a9e749c8aafdf1006b3e1fd9a65b40dfe4feda620da48fe094bbfefa14a53789dae280d5fd9535cf62e985e48129d8c878bbc4939ee69b6fd9ff24327d9c53b677549b9e626721686d174b48b4634cb488870d7e410a5a4a3cdd23e63ec54d5736129a16f2f737fffc30627156f39bcb3b5d0d192c4dacf6ce7ded9a1128309894ef545fb9087be6d877863981fd5a06258277b1cb8ef7c061d2ffee5c916371b1a2d1ef1b6192fe7d69269916903e0d0dab232822a947ef9cd87a95b6deb48aa79a2c6a1ab80644dbcd7c4db7263e9d6b344d5d5aa21ced954aa303e738954d2519b8ddc92b6e24e982d38dfffccacb6e8eebf7d061955de60bae809d2a20ae9af8d84675b7232be7a77e51e03224e0047b4ba54a4\nresult = valid\n\n[d = 00cdfb66edf0e9274a4c26531945658cee31be6da02b2621cddf5c67aa339a56380d156a556645605d6ef5a168f48feee9f78e0281db93815a3c6e5b0b0081ce45c096cd49dc4ce8a86e34a99039cd789899874838213d8c5aa23a3f542dec5ee243f29868fd89157dd0608e198519a92ef9d982be7ead2dffb3763ecb0241ec491b9456300795daaa6c6385c68f5d187d2934a18508cd53fba5670c27f3e4b1ade91cb32dae1db884c8c9eb27c66f48303e3e971d1d4d29788a6bde848b44c1c7d9d1a3d7bf149bc45f2e03361b090ce7f4ba284aa87d7a591ad42f7fb6605859c84331ce9dac0e3c212188d0a82e1c6fadd629af5edf94634ce2a7ed3883f1029c524110b280e4611353b7b4730f5ce96c1fd73a01937cd16d5f7599497cf7897aba66cee626c8b4c7897f70ee09cf215947abd487724f8cd9c6137831033906d8fa6012233bb49f0206e10bc6b88eaa61672ac79ddee826d33e35b1231970e13bef4f885f21c37d497f123c422c6811659fe44409f2c8df1030e47c9", + "8971946d09e709fdb78ad8307d7c8e492eff6b1953568b674150d2f66aa36bba1dc6523d7ebf9084e70190e38aed1f9efacf53d10baf94c61ab18105c0332aa9fab3358e2368a4f2229c5ce650d5e29406e5c43603293460fc8474ddd2fecf825d72f6352fa3fdded2d0537519df259d6d347f3762b38f11b983df8a6168924e66c09]\n[e = 010001]\n[keysize = 4096]\n[n = 00be5e754a408ba3c458345454a6cfc700b03806cf91d03855078bcf0aba02588eaef37e133ca1869850b446946954ec1ba22a7dbf2f35f0390f82db787993b13d831b504a8c18bd6b84f4fedcc709e2cb6300d0a21d131c46680be78fa4bd0ae97baf778d049217212d29edf4faa3bf91afa05592f37338ffe3c6a696e09fd24ae339b5d985cc2359e718e732e8198f1ce3115e03632f77f21d0190b08520f1be046d9e4dfba6b96c98c66d00a420663c8eb99b9837d5be2c1614b6023af356eb4e2f9654754d0919dbe85389d02b94bd76e19b47ea8ac1017675a3e254e8f2cf22c2fb717ffb13526c77d57000eb7417d5bd4ff653b165e6ef9dfee6eed955848fd2100cd8d84ebf73dcdf8109e337f2bbc82c7295b9fd9c668c82b43ed89bbfba9987474e00fa2e54ec9a70bb4bc286143049403b3c204d7cfb697ebc1273c04035de863c48ed8939673ec24c7b2a90dcfee456a0a538c977780aca02a633bb6ee414a5c011b462cfc550e9ccfc349823539943fed508674e03062218252fba797968fa716bfb94ffe7c5e87ffbf9160646247c90799a728b12dbac040b7746d82ac2cac2e5ef7f40b40ad8578f7150de7f9b6b75af9b01c07b09cba5cc337c79e95f643991eb4afd3744b968797ea97680ccbcd0edd8132a5e4a56a29dfcb874f279e1c116619343438e00617a2de1d718705e0a0f14cfcc64415a0e6b17ff]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100be5e754a408ba3c458345454a6cfc700b03806cf91d03855078bcf0aba02588eaef37e133ca1869850b446946954ec1ba22a7dbf2f35f0390f82db787993b13d831b504a8c18bd6b84f4fedcc709e2cb6300d0a21d131c46680be78fa4bd0ae97baf778d049217212d29edf4faa3bf91afa05592f37338ffe3c6a696e09fd24ae339b5d985cc2359e718e732e8198f1ce3115e03632f77f21d0190b08520f1be046d9e4dfba6b96c98c66d00a420663c8eb99b9837d5be2c1614b6023af356eb4e2f9654754d0919dbe85389d02b94bd76e19b47ea8ac1017675a3e254e8f2cf22c2fb717ffb13526c77d57000eb7417d5bd4ff653b165e6ef9dfee6eed955848fd2100cd8d84ebf73dcdf8109e337f2bbc82c7295b9fd9c668c82b43ed89bbfba9987474e00fa2e54ec9a70bb4bc286143049403b3c204d7cfb697ebc1273c04035de863c48ed8939673ec24c7b2a90dcfee456a0a538c977780aca02a633bb6ee414a5c011b462cfc550e9ccfc349823539943fed508674e03062218252fba797968fa716bfb94ffe7c5e87ffbf9160646247c90799a728b12dbac040b7746d82ac2cac2e5ef7f40b40ad8578f7150de7f9b6b75af9b01c07b09cba5cc337c79e95f643991eb4afd3744b968797ea97680ccbcd0edd8132a5e4a56a29dfcb874f279e1c116619343438e00617a2de1d718705e0a0f14cfcc64415a0e6b17ff02030100010282020000cdfb66edf0e9274a4c26531945658cee31be6da02b2621cddf5c67aa339a56380d156a556645605d6ef5a168f48feee9f78e0281db93815a3c6e5b0b0081ce45c096cd49dc4ce8a86e34a99039cd789899874838213d8c5aa23a3f542dec5ee243f29868fd89157dd0608e198519a92ef9d982be7ead2dffb3763ecb0241ec491b9456300795daaa6c6385c68f5d187d2934a18508cd53fba5670c27f3e4b1ade91cb32dae1db884c8c9eb27c66f48303e3e971d1d4d29788a6bde848b44c1c7d9d1a3d7bf149bc45f2e03361b090ce7f4ba284aa87d7a591ad42f7fb6605859c84331ce9dac0e3c212188d0a82e1c6fadd629af5edf94634ce2a7ed3883f1029c524110b280e4611353b7b4730f5ce96c1fd73a01937cd16d5f7599497cf7897aba66cee626c8b4c7897f70ee09cf215947abd487724f8cd9c6137831033906d8fa6012233bb49f0206e10bc6b88eaa61672ac79ddee826d33e35b1231970e13bef4f885f21c37d497f123c422c6811659fe44409f2c8df1030e47c98971946d09e709fdb78ad8307d7c8e492eff6b1953568b674150d2f66aa36bba1dc6523d7ebf9084e70190e38aed1f9efacf53d10baf94c61ab18105c0332aa9fab3358e2368a4f2229c5ce650d5e29406e5c43603293460fc8474ddd2fecf825d72f6352fa3fdded2d0537519df259d6d347f3762b38f11b983df8a6168924e66c090282010100fd67cdf87cab909d16a0ff2dcf005f7e2a7842cf587234e2f528b707ca05fa9a2698a13ec6df02c21f40bedc07f00b0d6a5b4bc343da29303698bf38dde881af4ec32d81877e6e10a7751cc27a058476add98e5b84e49af4a1cbb667eb86bc53c9d3ebef365a50b3e9c869a13097d7eec2f1219b35a980ed011e03bed5e57d463ca6f6c78f5346271e1edbe988e2b7aacf2b45c813d6f1fb92b4c7ca6a0c1e4304c9fea9c661d2efc417f8edf422b48e6d22c837fb41899022d93e73495406d94f73da38733d3e2e2a96b6562710df779c7f098bd2519c167ac8a208d5aff9e9aa0b047fba4ad0b01546e81462f2b46e98524e0f2de22d2385684cf9634bba350282010100c0516e155441744ec15152e518e890650e0b479498087ba709b44e02a3e041eea3783a901b0a3b051aa521d6d8ce8ea6ba1696cd2f809c8c073dc3ece60937580a658c0175aa4bd9dfe725a0f305838cd748df841687c1daa0a1350559db776c90e6fdc4b1c433f9b5f17b66cdeb9a5bed25344b81cf4606eadf814ca071e2a286da873aed19236c4d96411d21c4a85839f7c220be71359e4ac23ef34daa4c135102ab37d543f80fa75d2fcdf6b1399aae634213ba3acc608fb2d6bb6a05bccbc095799921638ccb56eab5ee3c3d8b25282314159abf0a00403a5b739fd1fa4763fb42b244ad1ded083fde53b381d17468406b37733f10bd0376b3784b686fe30282010100f5199b4a7663875bb9d07d2134b01aad30ace38a23f54b1c1e9e83f23fc06ab50111ee1c87449b29620b40d017c9611757c0f855e4e235a691984a94d96693511a30846a5dc0b6fadacdd6c4703bb7f5069080361b22f6921990ad5c749dfcb85a65e53599efdf513595883dc57f88f7428cf2c16a350a23b349f1bb7aae1eee79a9d0d612d62beb9821a6f98a5227ee49b5842852b03b9be6397f69540b6695d2230273fa131270a0cdc3137d68b8156e900ef2bece941cdae81f9468dfa2443caa44ef06dfbcadf0b997a15ae5e20f9249f9d4c8d7f0ce797267ef7da859645df98c1f72f3fc47e43c922b6dcd6d21efa8e421a072bcd037b03b8b98345de5028201003545d9429b464e5b8a7d668303b5585a45dba606695ee031d32458ffae396eca160a35deb93eca3e8db4f47cb92deea20ca6393bb94edd0e84eafd1ce053e93ac0168503da7e43e8a477391b2e76768c4b0e6aac0239b4df44e3a2f64a7fdac2fe189e6f1ff70396c669900f58374d58ed8602c86fbae4e101aacbfc57ed7424254adf6ed942bf673ecec256b985ea44163aa551c0af477503ac6f17a289ebece5e1e15fe3f9a1fb64171228f18f022ff0e299e9310b1c961af82537611519c92f1db8c34c567127da79c5cfaa6c39e11f0f287f1b9093caa20008592d0a5353f74420a395168755a3955d96be00d5ee72fa7538b4f9e13f1a78851a6b7910950282010100cc8bb43d97d3284e9449cf974a9d311cf52b6193ffd0580d2f3ec2a1947bd3428915bff148a5569658a06703a45b9ecea43d3e4fb043ecd26e9a0d85c274b9727c3f1713cfdd44d832f47d5736e007ad18a0b3fe48668befc1e02df9adb827504e81bd2ac6205e8d3fabe7bba05b2605c7c8a49fb736caa0a5e435214502b66e1f18221259e55de044f9c2c2a59387dbbbada66459d017cf17be18c707a41c1a6d95b86796aa3507659da080fb1f555aefdacabb4b520f6f76556ac9625050cfb046b171f6e95a5ce757ec7be398052bc00dc95a8f31265b0e41f85fbd33bcdac6848a86742272c1bb232154c3612e18b366f7581452e2939b2a64d32377f436]\n\n# tcId = 62\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 41d5fad24d6f4956da6144b553a7905a3048629c0dc5722345349086481265240377bcf573f832bf981b78af34efdb43322168c50dd7bde53b14c6c5ae21825ec87971136596ece3efeec5f18e089c4cc35b14af08a9273044d459fe7475cb33b946d744a270f73a49aa21a4ae57b3b895c5cd3a2aa9d29d609fa84bd1880e16b722d4f061bdfa46418b7df942fb47d1fad894feca6bce5af465fcd7cef139192a123da7e40aca3524243dbad734205934441f46a3416edf6bc8ca0cd2df9ea34043e564ea4561067bcc504a3b8bc53f165302230cf1d9f38c20e4fd36e57310876fbd5bf3ed4f14ac0ad3605c5161bb005de4e92f2bbaa0c107c2d5de7f7c3d4ed6a54d5a862d76905dd07864305498ae9025cdce3c1058dffa8d7834e0488cb0eb13105fd9fc22d483105224ba1b77d9241dd8c7a789a77fac7b654c777b3921adbd40237c7e244b65ecce1cedd49bb99d288f5384a1b3f815ef723d02fb95bf8894f2d2270408b349eb14ca34790f103bb81cd5722c1d2b5f4300ca6f91e9185c965bb142ef999c2fdc88d01c213e75fa38a438a4c69847a9e0ab648e99fa96\nresult = valid\n\n[d = 2cb4d40afb879a7ee7ce2412d11315bfe4884d0867e2b326911322851da3c84a919146a9d3dba816b4a8f99172862c8b986b0b03ca6d7b36932b5a87ad407d49105d4", + "17cf3c20b35d7ffe3dcb75bb55d259dec377c3470dced8203f13666e6f2422908f3faebc2bbcd81b853be0ea11cad86753690399816aea355ad9fd7bc6dae6bd24d132532c08899c78b8bc0bf9cd61474591f3f3ee65537b10ce736221677365bf684523cb5afe8b5f56aefb599839967bfaa77e464d8789799f9ba4570c735fbf3ba151edb48f1d8be92a51111c74094033a5a0dc82b7c34c49ab2d181abf8f780f19c19aa42f11e0e8e05c7ad26d8a1bbbeaa3d92cf2177679d3bc8502d3d349727f3f498f6798f42bcb5afb84e37eb46f28fba929968a5705bf0cf07731d7daedefb784d0d29711cfe7f70b50ef69d30fdc156383fd45526c8775e460d8fbe106b5a5c21f78e39917d537ddce4cdb4a00003630624107cfd3133478f068ec5380ea7f2219a22fe1194c50e34e6ade3739b9e36d88ee6a0c16dbe05ec676af5a7804844b2d71def35dd6a1c851c93a7cf86c8ed19eef672c86079f5bd06c58c6ade66b897b94f8b58408234c3a826787fb198b29353c71bbc972fb42733f55537690ccdfd0c8bb30d64478363864da35629c0c28843b95c959a8abb0fb2c5a5d3f256d3485e1bec396c64e3478e8890e505bd50d62e9c0a6f34e47f81]\n[e = 010001]\n[keysize = 4096]\n[n = 00d6fe22b5fac9f00add0133301c5d00218e179f88c55fdc1b6e1c7860c856ac09cd941aa85c12dbe6fe1d92578a0624d9ff5f911282eab0f452b088cf87ee2a1b74f5e416f0e0cc3a1163c85544c2b326005bb45c6ded75eb619614a61a269264b525da86459300f7f6efcde8d3a31cb0b3cada4c9815cbdbc245f5f3078a1c81249f023225295cc12bd98806f98b2572febf334652a90764b063e723d8af19688b193b39f015a8d63bee60981957d919cb9b86bebed887ca711ca125ab7908b2c4d78f2c385ed7f5539387c8e94d1671eadade088900d43c491e22bac95ce04ce5398c0547da576e776286cb40ed3f3f50953cdeb8812b4cce434c22f3aa71fe2e272be792a868cd3334d67f2793d9cbb8a3a0a0399b1a5873e5079bea367fe8a6859368b287943e6ab038c2d0b3e10b957d8c037f58bd42c5d543d3da0f8aeb4195218fb9d35d2c5fcd9b0e133cf53abfec622421370e1a18ccd35b3f9b20a81281474f5e18d49ccf3612f61391239a096605563162e2d3d0afc43689f6f48c3ecae4a324b68dc4181defff6a393304054748732562df96f3e1d7e3bcb96f9ed765670a91bdd79a3d11d63077162ab5099e36fd51b2b1188be21bb5e4ec43779b903eafb35285a9a1a83da688bda69067c92dddc4d72eeb8122c311159128de97e3f226bb8847d61b75bea4b9a460ac4fc68fcc9c1e7eb56bdf409085fc9603]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100d6fe22b5fac9f00add0133301c5d00218e179f88c55fdc1b6e1c7860c856ac09cd941aa85c12dbe6fe1d92578a0624d9ff5f911282eab0f452b088cf87ee2a1b74f5e416f0e0cc3a1163c85544c2b326005bb45c6ded75eb619614a61a269264b525da86459300f7f6efcde8d3a31cb0b3cada4c9815cbdbc245f5f3078a1c81249f023225295cc12bd98806f98b2572febf334652a90764b063e723d8af19688b193b39f015a8d63bee60981957d919cb9b86bebed887ca711ca125ab7908b2c4d78f2c385ed7f5539387c8e94d1671eadade088900d43c491e22bac95ce04ce5398c0547da576e776286cb40ed3f3f50953cdeb8812b4cce434c22f3aa71fe2e272be792a868cd3334d67f2793d9cbb8a3a0a0399b1a5873e5079bea367fe8a6859368b287943e6ab038c2d0b3e10b957d8c037f58bd42c5d543d3da0f8aeb4195218fb9d35d2c5fcd9b0e133cf53abfec622421370e1a18ccd35b3f9b20a81281474f5e18d49ccf3612f61391239a096605563162e2d3d0afc43689f6f48c3ecae4a324b68dc4181defff6a393304054748732562df96f3e1d7e3bcb96f9ed765670a91bdd79a3d11d63077162ab5099e36fd51b2b1188be21bb5e4ec43779b903eafb35285a9a1a83da688bda69067c92dddc4d72eeb8122c311159128de97e3f226bb8847d61b75bea4b9a460ac4fc68fcc9c1e7eb56bdf409085fc96030203010001028202002cb4d40afb879a7ee7ce2412d11315bfe4884d0867e2b326911322851da3c84a919146a9d3dba816b4a8f99172862c8b986b0b03ca6d7b36932b5a87ad407d49105d417cf3c20b35d7ffe3dcb75bb55d259dec377c3470dced8203f13666e6f2422908f3faebc2bbcd81b853be0ea11cad86753690399816aea355ad9fd7bc6dae6bd24d132532c08899c78b8bc0bf9cd61474591f3f3ee65537b10ce736221677365bf684523cb5afe8b5f56aefb599839967bfaa77e464d8789799f9ba4570c735fbf3ba151edb48f1d8be92a51111c74094033a5a0dc82b7c34c49ab2d181abf8f780f19c19aa42f11e0e8e05c7ad26d8a1bbbeaa3d92cf2177679d3bc8502d3d349727f3f498f6798f42bcb5afb84e37eb46f28fba929968a5705bf0cf07731d7daedefb784d0d29711cfe7f70b50ef69d30fdc156383fd45526c8775e460d8fbe106b5a5c21f78e39917d537ddce4cdb4a00003630624107cfd3133478f068ec5380ea7f2219a22fe1194c50e34e6ade3739b9e36d88ee6a0c16dbe05ec676af5a7804844b2d71def35dd6a1c851c93a7cf86c8ed19eef672c86079f5bd06c58c6ade66b897b94f8b58408234c3a826787fb198b29353c71bbc972fb42733f55537690ccdfd0c8bb30d64478363864da35629c0c28843b95c959a8abb0fb2c5a5d3f256d3485e1bec396c64e3478e8890e505bd50d62e9c0a6f34e47f810282010100ed66394078062382f6a07c8565f46290f67b6400faa0434d23a80f7da8443e524eaf9609a452af5d273d7758e3d096601bef85d5dc7c5dbb1fc1b1a37b824f1b0752c79ab4bb0c08165abddefb98f5cc45fc39cd8d99d51409c5decf67daa22569881faf34e7b2c13d041b26e8901e685f5cf809d5f0e1ccff743f59eb5242dcecca4a0888c61a7f14027b4e551bff16aece0892f221bbca9701542c747732741138bd571c194bdb814d19f159d1430ec81109205527ee20de23c398527ff0117a97281d7db285a59dc8d248123d6d14f5e35503e2903ab0ba8802067c08ac73511d24f5956ff4b00aa716fdfd421ee447c72c355ca67a755de1b0972cede5530282010100e7d67a7f7ecfb83c6dac5d0cfe1a290c0f78aedaf283459b0e346cca738432410503bc117fc60072414c2a902db99aaf1673b8f13e6e4b5cdb1d2ba3e743d89a47d360a437e983c7921adac8ec6ac1bc1ed1fff4cee921b3a5db947c8c60d3d351ed9667352397a5b0ea81ade72dbf5a4c48baead7fe04818ff39df511777767fce1a057ec9174a38b7e722408b76d7f9d171c332e362bef4d2a6b3e18a6cf1b5c67a99e379f748e6210d6d98751e14d7fcd5605ac35ed0b8be2920dbcdf1379d03024aef1fed814f2f3ca2ca8739b7b69c2cd2212897271cf83fb24c3c15620a0eb28619c4ff8ff1e06bd7dd931a5dbd5806a05e0f982317cedfd2a6d3346910282010100ed0ffb73e96717e71ba8bf2fe6d3d7e9b2791d2fed16449eaf508fc787543e77aaa3a44c148f8d1694acc895374980209144ea7cd92447e5289d1f6a855766ef32acf32e05f412dbb09704abbacad0092089f29ed51c1caf59e301d05380fc1228040abfc730e84c17461667102d7a6ff76abb35f7320809d1be9fd4872d2a1fbb45761077a47ba912ae37bbcd399bcd66d9cfae0da4aa06702c9f8594f7c2a62cdc6016b0b4820fbc5ae5e12133daa6d41a4ee6bea29524b52f398ece337be3b86b615fb1b9a7c3ee802f9c50ba8e473413c33d91ed3cee6616930f2ea4eab06cfb9180bbad84c6969cac550da60d7b2042405f3919f587662c8d4f294a96890282010057c4e80d5a89f33ad55e7abfcf7741f0f1ee836c1a81be194c90665b62ce3a64492cb7c77c330eba32a44e3cd542be1fe9051890244d873479339af0eb3dd143df4b53fbf7baed0be1f14ec0e0582e4e34f0d5d0ed806f24def6b94949afe2a1cf137e6c463eda4b7d25dac06693f82c8c52c088e60aa1d4171668c77dbc57b543947baaadc207815eef18f131679809c70417c5fc89bfaa51f16c364f08dfc1810331c0d75803bd5fbcf649d6241682cb8e86319197bccd31412e800aeffd2491bf9833af2406d42f8242191410e85d199609290c1183053945c30f9118a1adaa9e3c646fd40af5327de4c13f37bf8df14f3354546ec16e50d89c8eb256c631028201010080ecd05f2ac8659c4cdfa48c962b459fcc44c093616553a47660cada840ff4bd4d8b849097bc8b985f4e657ff72d1eeb94935397715e7f34582c16e1b2466edebb41d96a2b02fefbead693ae2330ccab235394637d00ca17fc87d680769965068be94429fe7a7fdc5bfb35660283a18752090ecb9fd1129cf72381f8ee24b6c98fff17497afe4677c801cbee0017c92910402e57ff4b510a606c495a6611dd81deea67d86e9c82639a9c95121c5229a6518e46ad3bc1afefae577d5a5eaee0570b160f21b8b0f84b3b7ccb6b770f9ce012e5bcb84bdbfb18e8c0505c937d35669be150bb3b9c14dbe3612affbe83ed282a42b262935ae1246811c1b79af47e3e]\n\n# tcId = 63\n# edge case for montgomery reduction with special primes\nct = d6fe22b5fac9f00add0133301c5d00218e179f88c55fdc1b6e1c7860c856ac09cd941aa85c12dbe6fe1d92578a0624d9ff5f911282eab0f452b088cf87ee2a1b74f5e416f0e0cc3a1163c85544c2b326005bb45c6ded75eb619614a61a269264b525da86459300f7f6efcde8d3a31cb0b3cada4c9815cbdbc245f5f3078a1c81249f023225295cc12bd98806f98b2572febf334652a90764b063e723d8af19688b193b39f015a8d63bee60981957d919cb9b86bebed887ca711ca125ab7908b2c4d78f2c385ed7f5539387c8e94d1671eadade088900d43c491e22bac95ce04ce5398c0547da576e776286cb40ed3f3f50953cdeb8812b4cce434c22f3aa71fdae272be792a868cd3334d67f2793d9cbb8a3a0a0399b1a5873e5079bea367fe8a6859368b287943e6ab038c2d0b3e10b957d8c037f58bd42c5d543d3da0f8aeb4195218fb9d35d2c5fcd9b0e133cf53abfec622421370e1a18ccd35b3f9b20a81281474f5e18d49ccf3612f61391239a096605563162e2d3d0afc43689f6f48c3ecae4a324b68dc4181defff6a393304054748732562df96f3e1d7e3bcb96f9ed765670a91bdd79a3d11d63077162ab5099e36fd51b2b1188be21bb5e4ec43779b903eafb35285a9a1a83da688bda69067c92dddc4d72eeb8122c311159128de97e3f226bb8847d61b75bea4b9a460ac4fc68fcc9c1e7eb56bdf409085fc9602\nmsg = 2ca0c81f59517bc986c292c2726adfa11fdd2a53147ec37bdae5c50af63a90177850027d680ab27dab710641a85e1e\nresult = valid\n\n[d = 00d1629f9055d958967163303dd5082b57e681d1b8f8eff295a55e95da436dcb0ef855e8df05cda48b2ca1ec5f710c44324657d56e3de20d94b484e8f5311b8552455c9a74cc2e68b211a7d6ea20e23e1a3b1404aa53fcb05c81cfa222eeb129e33e5435786e99974a45b8e854d6b8afe449b8d437ae27162fc", + "574f58212651792af49a1654805e5e4ace40ad2a30711d9ee4588e3a87b2efc3d097990e736f1fbd7b3c245a6d4a880c65035684abe3197b6017e7a676073bcebe384c245b6c03909fd8ed8b32a1c427ec048b9e1ab6897eac8596355a313f115ba0671c89969912028470d5647c3a49c7e9caab3854f1d089039288ed64457f61c8ebb1490be342f9baddaa04883a1caaa394570943d4bdff1d1dfc441af335ea9a83fd49159d5601d53538172b5d6b09a87dc62368d5a26443af082d4f9476a8dda257606f5a1fe20242a4a1701c6399035e5ff66f727a9c9e394eeb6bca63a72b47b24c84c3ebd019e3cccad4f01e4b38bcff6e2ce0187532c44ba8d0bfb21eba8e601881e427c447c1711baf208a373463e566717557fcff04b58242cbdfbab1a7433f974e446a38cc60db2650904262355633768f1e8b9ceca1766bdea36322d28ff9ff1bffb6cc1249f2505a6ccf89496ca7b7d4803a36e7e455e7ac437da7176758a988f4e48d4c911452796e74798d7239f37046d1d43998956d0bfdde06ac23fda7741]\n[e = 010001]\n[keysize = 4096]\n[n = 00e5036c049a64af333e1c2b9ddc57c5e56aae017b4b6fd0726587887ae0ee7e72b80a424281a917d3810c11c76382b8f852129344c838a634eafca3c296de653a7dd78809bc33e787aa86d69565277028fc4d1b44880fe0a9bde1aa7ecea9c4e3aaa726ad19701049214dc86a5c5740b8cfeea0d91d51fac40816205d001955c100df76f01ce50ee0fa3a1198b3c110347fd3aa978e1c66800466391f842b4f4e95a22ff58304823eadd68e8ff6522682bb8b78164f45e8bf437896007473afd0bd729afe6fb56b4ea8950d4e0a69b99b0cc8b762b45af4f19e28b992d41800ba858b00922339df83b9e0efb3c826d6a74dea8b024a3b47a1a47cfa9062c25a65c0e0cefa154e4b8c230d4a9e009a8b2c3d20a2bcde0fe3af68997547c656add6c70c6bde7f3e5a403394901f0ffb13c62347a784b826216ffee070d2ec6b83f4436198008d7245a52157c2c189c36aee31790d919027afc27a1e2d90a15dfd1018b4a8f9fe6df77b95984a114f518408a714b7db03d4b282a1c291f73bc2d3d6a5939caf439b2e0ffc1b0a373c254e7e74016286a62e7e7a43bfd2a48f320f669b376df1c3675bd6094d63b015dfc7c9e728444c59cd535fe908b9907b989458e3fce6b14e3bae0ccd66328f9f8a4a120b726fec817c2d33a4aea3b4b03d4c420b9f7ada82dd862cace440241ffa035a0672120fb9a4e418841371932d28af31]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100e5036c049a64af333e1c2b9ddc57c5e56aae017b4b6fd0726587887ae0ee7e72b80a424281a917d3810c11c76382b8f852129344c838a634eafca3c296de653a7dd78809bc33e787aa86d69565277028fc4d1b44880fe0a9bde1aa7ecea9c4e3aaa726ad19701049214dc86a5c5740b8cfeea0d91d51fac40816205d001955c100df76f01ce50ee0fa3a1198b3c110347fd3aa978e1c66800466391f842b4f4e95a22ff58304823eadd68e8ff6522682bb8b78164f45e8bf437896007473afd0bd729afe6fb56b4ea8950d4e0a69b99b0cc8b762b45af4f19e28b992d41800ba858b00922339df83b9e0efb3c826d6a74dea8b024a3b47a1a47cfa9062c25a65c0e0cefa154e4b8c230d4a9e009a8b2c3d20a2bcde0fe3af68997547c656add6c70c6bde7f3e5a403394901f0ffb13c62347a784b826216ffee070d2ec6b83f4436198008d7245a52157c2c189c36aee31790d919027afc27a1e2d90a15dfd1018b4a8f9fe6df77b95984a114f518408a714b7db03d4b282a1c291f73bc2d3d6a5939caf439b2e0ffc1b0a373c254e7e74016286a62e7e7a43bfd2a48f320f669b376df1c3675bd6094d63b015dfc7c9e728444c59cd535fe908b9907b989458e3fce6b14e3bae0ccd66328f9f8a4a120b726fec817c2d33a4aea3b4b03d4c420b9f7ada82dd862cace440241ffa035a0672120fb9a4e418841371932d28af3102030100010282020100d1629f9055d958967163303dd5082b57e681d1b8f8eff295a55e95da436dcb0ef855e8df05cda48b2ca1ec5f710c44324657d56e3de20d94b484e8f5311b8552455c9a74cc2e68b211a7d6ea20e23e1a3b1404aa53fcb05c81cfa222eeb129e33e5435786e99974a45b8e854d6b8afe449b8d437ae27162fc574f58212651792af49a1654805e5e4ace40ad2a30711d9ee4588e3a87b2efc3d097990e736f1fbd7b3c245a6d4a880c65035684abe3197b6017e7a676073bcebe384c245b6c03909fd8ed8b32a1c427ec048b9e1ab6897eac8596355a313f115ba0671c89969912028470d5647c3a49c7e9caab3854f1d089039288ed64457f61c8ebb1490be342f9baddaa04883a1caaa394570943d4bdff1d1dfc441af335ea9a83fd49159d5601d53538172b5d6b09a87dc62368d5a26443af082d4f9476a8dda257606f5a1fe20242a4a1701c6399035e5ff66f727a9c9e394eeb6bca63a72b47b24c84c3ebd019e3cccad4f01e4b38bcff6e2ce0187532c44ba8d0bfb21eba8e601881e427c447c1711baf208a373463e566717557fcff04b58242cbdfbab1a7433f974e446a38cc60db2650904262355633768f1e8b9ceca1766bdea36322d28ff9ff1bffb6cc1249f2505a6ccf89496ca7b7d4803a36e7e455e7ac437da7176758a988f4e48d4c911452796e74798d7239f37046d1d43998956d0bfdde06ac23fda77410282010100f6f5d343f4b6cef4fbf6f9c210d95b24a8e98c26d86f32e29ebd9ccaf0fc816bf29c114fdb3bc8e2b682ec9b22b7e9724a563915885ed5b7874ce612408dc1c05cfef2340fa2fa547da13dd4daecd4e21b1a7d28de362ca7e55089b1f723876c498f1005cd881dae3907a37c9269a3beea0c9218d49d25b60183fe59f7d85b78f3e5f4863ff084017fd11d4917a80dc8787248fa2120a9642e7c4536be966a25ed2068299ad229501aadda4f9483b86ca9d312ee84bbfede1d90b3a2f76559c0ce9dab18614adefe8f93ba6175a38235315b24a7135f031bf257c3c7708fa6a89d7e0aef07e3c6042058577aeab3b5aac780c297828320f09d36d572a8a578ab0282010100ed656c45124aa2c22832aae346f0171419a8d3ee2d67ded9fd9e4b49c8a1f4becc90f21a57f836f4bca2ee67ece874d5a4b98271623400565b7571c9b19fa3d0495bbbd5742a6ecdf59400372b9aad39f39191fc7991143d8cd5ea7e1aa9895d7f70acb74e511f64d39f00ef5e6c66a936244ba9d1e6a7a105cb8d747abf3359003112bfc0aada704837b36f3766b45188d4d306179d7fe738d6e7de8b2a9cb7b5c7eb034fc8ba3ba803601ba4195bf4191f16f6b8e695715f119bdb6a5299681bbe43cb5f549739a3330d687a13511c3736bac16a29bddee14e90493a7a85f9c91481234d867624cb4e2e642e8c64a320fea31c4984c50a9509476b98f72f930282010100c9ac60357b8f1a1d07f25d6db4b2bb72899a0780e57891966d49acd431ce12a6a3bdfd8938206f616ce827ee5c80d1dc2a8695215777129248a46cb1f5138e68d7c8bee3f2ed05fe9f85606805cc27e0e97f4d3c6592da0ed5fe5a24020d7a96dccf3ea76e7bbcb93d0b56dff0f4e1ea935966a96e5f529f7a475f1bfb812cd9ee5b18bfd551458bafe48644dd53b8c5c04e9bf7dfbbbb78fb5932708d5d6a1bc4b4953b7c9a2970a808d761eb8751c133421290c3c67e50c6d6174c7b39c1fce8fdeaee02edd083139ef1328b8dd6543815152e776c3caec2ce172c3468ab11c1635fec6986017bf72a0d6e6c620b76066bc8fd4f706422fa5000291d3ddbf7028201000809b617c49dc853009f6e8fd178119ff99a70ca90b9029fa8e9b22ce6612d734463e7fea259e22a79349f13dfbea32e14acbf50ed7d4b41a14921b82d8e7532793964ebbe4a2d8445bb64227a147ba709ab352132508a39e749daedb82363664a095b9fbd441be7030f502dcaa9aaf431c41ad7be26ac285494e6ce39d5bd7c56f8526531b5d73d940466cbee394903b5b95707cec6e36cc5cce8feed015d5b0f099cd878dc180a2b0f2a32e564826b8a6a3611d682e02e7d84901d66c533328635f3ffafd3a2672e326d52cb475a28b569e1fae8884f487ba2785a3263b1a39a7e5a3d02c3f9be1730277bf6e38408cdf63139a4f79ce055d98194901256870282010052ed5325503f83a56585b1476946cdd5a4393379043e91db5f2b7d313c18e54c291121209415596fbea2061cb0f9c7b046cb897730d274a888dcd80cc8ba63047b1796a9f615aa49506ed00853bd1e1f7c4eaba6f10c66a2d06393519b3780536ba837762d9176656a350f928a05e26288a5b9bca583b1c2d3d9497bd9809e9b823232dae4997a4a1944290ad7e1086afd5d3466dc02e4472246e4a68f73ad5d0d28bdd5d2b6f6091351e00460c6d52e4c4d9283bcc34aebae776c6b76e8f0efd03574a951248e7e1cab2db596840e199818f77061ef5b68716fe953d48d4d82d5a70ffb84e9298e4c0b2309e7602eadbfa1c43720fc9cf731fe00ac4a0b0a60]\n\n# tcId = 64\n# edge case for montgomery reduction with special primes\nct = e5036c049a64af333e1c2b9ddc57c5e56aae017b4b6fd0726587887ae0ee7e72b80a424281a917d3810c11c76382b8f852129344c838a634eafca3c296de653a7dd78809bc33e787aa86d69565277028fc4d1b44880fe0a9bde1aa7ecea9c4e3aaa726ad19701049214dc86a5c5740b8cfeea0d91d51fac40816205d001955c100df76f01ce50ee0fa3a1198b3c110347fd3aa978e1c66800466391f842b4f4e95a22ff58304823eadd68e8ff6522682bb8b78164f45e8bf437896007473afd0bd729afe6fb56b4ea8950d4e0a69b99b0cc8b762b45af4f19e28b992d41800ba858b00922339df83b9e0efb3c826d6a74dea8b024a3b47a1a47cfa9062c25a65bfe0cefa154e4b8c230d4a9e009a8b2c3d20a2bcde0fe3af68997547c656add6c70c6bde7f3e5a403394901f0ffb13c62347a784b826216ffee070d2ec6b83f4436198008d7245a52157c2c189c36aee31790d919027afc27a1e2d90a15dfd1018b4a8f9fe6df77b95984a114f518408a714b7db03d4b282a1c291f73bc2d3d6a5939caf439b2e0ffc1b0a373c254e7e74016286a62e7e7a43bfd2a48f320f669b376df1c3675bd6094d63b015dfc7c9e728444c59cd535fe908b9907b989458e3fce6b14e3bae0ccd66328f9f8a4a120b726fec817c2d33a4aea3b4b03d4c420b9f7ada82dd862cace440241ffa035a0672120fb9a4e418841371932d28af32\nmsg = db2c1fb8aca1dfb4e6234fd57d78ff93df46a082f7df4075a08ca2978cf2751058daa62c90b55c87ab1bc8ed3477431fd3d88b772e5edb12071d49f9f6fa0260afa837b1521581bcf1810ac00d9b38fe867a3ef2a4bfb38bf12550d9ff595d4f345a1eb58ac567b7ce91bc79cebae71d4908a803c11c5deff90a918b7655dc0d672dbfbf204917d30139a2fa3752d9f012e77465af7de421cfaa9fdc5507037a7c2d890b2ac12b5657867fc06c1561b1ea9928681c383c875a9444fc44a1805c51758d61d6a3a8fe45ac1200ea2f90f22da66d1de9f6b35d80a5c0a9ee0bf5a43f583a08f23087e0f1b", + "59cd5cb75cbbc743f89b535898898ad298571\nresult = valid\n\n[d = 008777a7f9e0311bd8a049b874396230be6d1fc90ff4985e251641991f019ceb1914c2d911cc1b71f5f302cc3a4d094db7e9c1a544a07643d718c333434b76c0dd90069a90e7f8a6aae688c8d3d909b0c92a025669f07b55c99cd07757b58bce335fc9799f581eae4acf614fb15f07ce51c1b7fbe74e280238ca9a84cbe292534d10fb64421996652f7300c872f00f7ccbade7b6afba2e833be20b55759b112fde52452c481597cdd9681e9fbed850b16fda2cc86bdb0028150e10688cc8383ff58c072e02a86553ba2bfc07092d1d53c7d10100bba00464b776a07367b8a5f2754d3eb5236e811fd8100f6a9e14fc07bb0154de227216f22c434b07c179d69c754a87505ed6cdd1cb043f21629204fe4671248c4e70d28dd7a5e62fe9cfd08b15a0bf5754158c55bf271bec4963923c06964868c00b70f7f87ea54e2b188d3605477ccfa2f658a6298d627f56ae95131fa0e12c536b8afe962f8daf4b9e66bdab867e3809d80c5334421d14305e3fba5710beebd3f21012dfeb946644b1af604aeecb93efe288f047c076acf57981e0b0e873fbfdfb4a49579a7c1a8b2c945341e876027e93c213f37b6c09e1252488d31436dc62a9924c4d92fccb1f51296907e2faba674dd7ab7e3d73761a7c622bdbdabd45f02cdc66f0d6400c6b45875ac720fe045ac86a8e8324770aba7b9d7bbe49b98a819925ab8d200285ef0e927d55]\n[e = 010001]\n[keysize = 4096]\n[n = 00b9343dd96ed558cd9a99740fb5de19a5ca4c740e108bcdae2d6afd8d5091c09eed87021fa1bd291f6c23fd6657fefd470fa672ab568e41f5e37bf1b38241ad62f77630b644cd77be7db87d49ae13a151fe992198fa98d790099fabf71e50853482f321c833e5c7f76679faa9ce2e4ed7acdeef98944976b9b5a06fcc00c7e36a4d1047556587243903b678a3085eded3a17e7a7e691966a0a236ccc929af83ee37a78372d52cd9be2f79cea18bb20fccb59335b09b7d4e65b93f8f06ac983e521a341f38019f960b80661f9c4eaa7aac7c90019aff2c1ed85571ecfa86c4618831739d78af3af432e7548674daf1a781601ec1ecefa91fecf98fa5113de67f029e01fce0870fae71cbde1aa2b25cb958ef78ada540e054551be75c9659834d2fb458b20be0c4dfcfd02f5c69ade32a6301656d83f7ec8b88a610a9a4f5ab2c1e60fc8a096848658a1cab992cdc9954e29341cdbd4184909e6079d322b8a76eda67d6b5ca878d850d6c3ea2fff7119c1aa313d03797494f11b54cd36e4a8b22572b0088251f9fb3ed1531a4e70549054373bd4e0a17a0230d104c3f666ebf2d14d2060405b846202d2e4a44adc708b18749b75235d91ef786ef9b861ac1262dad728a397cb9e299bb64733d43aa2d21477c726bfd5993804578ac0533467af9a8ee31d402bcac633484e5445ed3b1a74d2a95feca1c4767d4cc7c150765558481]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100b9343dd96ed558cd9a99740fb5de19a5ca4c740e108bcdae2d6afd8d5091c09eed87021fa1bd291f6c23fd6657fefd470fa672ab568e41f5e37bf1b38241ad62f77630b644cd77be7db87d49ae13a151fe992198fa98d790099fabf71e50853482f321c833e5c7f76679faa9ce2e4ed7acdeef98944976b9b5a06fcc00c7e36a4d1047556587243903b678a3085eded3a17e7a7e691966a0a236ccc929af83ee37a78372d52cd9be2f79cea18bb20fccb59335b09b7d4e65b93f8f06ac983e521a341f38019f960b80661f9c4eaa7aac7c90019aff2c1ed85571ecfa86c4618831739d78af3af432e7548674daf1a781601ec1ecefa91fecf98fa5113de67f029e01fce0870fae71cbde1aa2b25cb958ef78ada540e054551be75c9659834d2fb458b20be0c4dfcfd02f5c69ade32a6301656d83f7ec8b88a610a9a4f5ab2c1e60fc8a096848658a1cab992cdc9954e29341cdbd4184909e6079d322b8a76eda67d6b5ca878d850d6c3ea2fff7119c1aa313d03797494f11b54cd36e4a8b22572b0088251f9fb3ed1531a4e70549054373bd4e0a17a0230d104c3f666ebf2d14d2060405b846202d2e4a44adc708b18749b75235d91ef786ef9b861ac1262dad728a397cb9e299bb64733d43aa2d21477c726bfd5993804578ac0533467af9a8ee31d402bcac633484e5445ed3b1a74d2a95feca1c4767d4cc7c150765558481020301000102820201008777a7f9e0311bd8a049b874396230be6d1fc90ff4985e251641991f019ceb1914c2d911cc1b71f5f302cc3a4d094db7e9c1a544a07643d718c333434b76c0dd90069a90e7f8a6aae688c8d3d909b0c92a025669f07b55c99cd07757b58bce335fc9799f581eae4acf614fb15f07ce51c1b7fbe74e280238ca9a84cbe292534d10fb64421996652f7300c872f00f7ccbade7b6afba2e833be20b55759b112fde52452c481597cdd9681e9fbed850b16fda2cc86bdb0028150e10688cc8383ff58c072e02a86553ba2bfc07092d1d53c7d10100bba00464b776a07367b8a5f2754d3eb5236e811fd8100f6a9e14fc07bb0154de227216f22c434b07c179d69c754a87505ed6cdd1cb043f21629204fe4671248c4e70d28dd7a5e62fe9cfd08b15a0bf5754158c55bf271bec4963923c06964868c00b70f7f87ea54e2b188d3605477ccfa2f658a6298d627f56ae95131fa0e12c536b8afe962f8daf4b9e66bdab867e3809d80c5334421d14305e3fba5710beebd3f21012dfeb946644b1af604aeecb93efe288f047c076acf57981e0b0e873fbfdfb4a49579a7c1a8b2c945341e876027e93c213f37b6c09e1252488d31436dc62a9924c4d92fccb1f51296907e2faba674dd7ab7e3d73761a7c622bdbdabd45f02cdc66f0d6400c6b45875ac720fe045ac86a8e8324770aba7b9d7bbe49b98a819925ab8d200285ef0e927d550282010100fcccd1ad86a93b05a2cba0cb9ce824924f596306841af3405169ef836d6bd96c57dd26ce2d01e46ef190871346e1486cdb3c11dc05b56e85c2a8fc5e1ff15ac223e033ff80aa03a3c0464636796e76865f1f3e4d255d7cf8d2e130da412a6508053a4a4b46bc091084cff4fa5ee007d9e48efcba6c4ddc4525f5f4a93e5771bf1a55699eb3c41eff562e529cd481aca601b7d4b4a7708869b7c3cbf79aeb2499a7845e0805d6f39e594f68fbc69f1e92f7488e57a8075a8f38c64db3fbe642bd8cdc48ba23ce019858adedd8c3fe56cc81e1b233e8f48a02175fa2919d4c16bc9003a3aece7f3b482745b6f767f137acf1bb6c673430440a3d17237768f235830282010100bb8c61e648015d9d08f8786e9236a5cb110048766ee1d43a8599b4457853bd67d168d8d2c076ce441343dfe0af9b219bd22457e0c431304dafeb78e00788992114be182aac566de4a788be21a91c78fc6cb214b6b464960bd4a257ed8873e94d94a81f83acae7f96eaf5e3ea0937569411b1dbb1421859c7933021d54f2b6001af99821a9e5f7bde3d396ed12e652021a0f80a66242ce8bdbd1d558c00475241b754eafd8d2d3217c7179d44071f1fdf3fb198a6addbdf14edfdc7960c0aef6668f6912c52df53f250ce93fe4209db1813e8f07160f5c117ee162110ff21f35227f2cec2c7f586a6e352b58a0900ec91daa3f05ab1ebff2dd00ff945534042ab0282010076bbc85b851ce4e0cfc66e1e53f2e0826b8c632b434ed9234359cb29e271be2bd9d4c00e242b785bf74f5771e15f9c41ac72b93caaddbd2c4bf24c9df4c8ca44d6cecdfd5a340003a022218622609480a61aa98b585a618108a2c5ec2ca139d49b87f62f06e8f824ef0c31568acb1444edc98ec00c70415da4e7b162f029e7fdc6e388f9061bbe275515eaad484e2385d0d6c3ab99dd0be5036f8dd41cca0665b8bd3de0ecc539a50cf3742e94ea5554d79a1768ea3d91f624c756e58b116a15571c7b7819aaff2acbb3dd3b6b4a81000a9cb3b317de0b17d25c93a16accbafd1372f224ff4dd8cd19ccef93a219347a210b536de1a02dc4d54e91d4dad0affb028201004ca5375123f622eacd42b5fd0216013576d235cae8cfb3aae2f488bea74919abb6e1f15257c375d24e493bd21811feef2e371a0eca3f0bed83ca6890ada37e690d900e524a31dc2148f2523971622873887c5288c43a2333dc872805f3f0e2d488bf1879f8752bc1626e70e131390351e9d554e2210fd0890636f26cb93911b83eaa2e887056b749809ddb12f3b1f22aac1d122ae1f7d479ce3291c6704ab56c13df4955ab7f5fec65b9d9d476509af6e291d2bfb3679ac873e675cd754876c3d47b87a2a48f8e40061416591f65e5baf650090b5cc3b250f444e8e8884bb8a3c79dac2fe006102c5dd46c4a68198f949fd4c5a25afa064413b6a37958677797028201007e3bc25b06f642f98a9eee091de958de87ac8252fec117dd7c6e873cfeffbb012320dded22e3640689346997a13b8fb96da25bd890af6e651f4884d9051e24c9ead42f096329b2692acd42374d8225a7b61159310a77dcbdc4ad809143e6d684890965cf485d0e805286408bbdd353790161472c7b0d2c309e897785c26662e27ec620ac7a496424410049c0848a2af34c44a22f986ae8a98891dde90219a4bbb79766be3101ffdde6c36a13dad1355dc41de41bcd282b29a171bac3196df7f18522d7776a947ac21658fcac2d91363ace9681184b2db52841c7b1cb12261997fc198914ed73a726fadf94faaa5b91a8cc1fb30dc0dc023769df5e76eddbbdd6]\n\n# tcId = 65\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 229f09dfdf4edef7a8cfa04fbb1437e22b814eea8bb7b7e81094c94ffa8aac13d2a9cd1b51c0dee1bea82d037034bc03105041e86eec10abe3b74313cec27c1e046a5d0bc57bce9a5171bd9bfe3217ca5995eb0", + "825295da331ebdc096c0b73\nresult = valid\n\n", +}; +static const size_t kLen141 = 50963; + +static const char *kData141[] = { + "# Imported from Wycheproof's rsa_pss_2048_sha1_mgf1_20_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = \nresult = acceptable\nsig = 1d5a9bb49cb1f5c2862f36e451dce7fc607f3d302eb9a9fbea5b673a29fa9023308381262c538cb53910b5773a7a44ff465828bdfccf8a7a4ef902e945dd5f6226ffb7d5b05f2335e5762c5aceff71c8408150959c1780cc9c22fccebd3405e81f1bc16d276c07e4a545ddb1aadeb751b571d22f3e4bc4e02020eec5901a1ebc04415e9ddfe967fbe4ec7166923aa095b9fc7a81fc21ba37b5220a973fc5f32fdb8e0841ed321450248402a159d2c08e4a72b780310d420a6e499c2b34b0bd6fe0d1d0e1a7810563324ad8e778720755eb00ac6e28b204ff5fbb01fcfc91e8f1d2f113a5f32843119f5e06beec0fe94e5bfd0ccdd7f322bdab7b05c4f83c0504\nflags = WeakHash\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 01e9b1d4f36d040a553ee12afb76a36d04c6c5a0f3df84ae22422e8157e57b1c43a7bdaade30ae73073632a4679973ec10bcbb3016f6e20c9cad29a14f96052507819e90cf56ba50c97df5e5001c7f94817ed29f7500f839eb415ef3182aedb2484bace43cd2fcaaa6f5dbc4b6491791592f084b2a14ab303e89deb28a68c72b0b630ae85becb67f2b722f23a0f321f3a7496b251895111640452932579aa53ffb8f8fb4ffd331fa48c6f1e8e152ce7e04cfec941cd96dcf7a885a3022e426d87e8111336f1166878dcf8d190ffb16a574fea9eb6d7e270e025c6d98817e75c968f78c4750be018f74968d7f3e5cb9d6f47d5aafc99c85c83af7175c73091ae8\nflags = WeakHash\n\n# tcId = 3\nmsg = 54657374\nresult = acceptable\nsig = ac3c332b52f06ba2190c6ee312c32321ac377019c35453537a393bcf0c1e6f3697f770ccec092740100a7009cba20f86304108165d5de572df89c42423eabaf910619d555f7b27f7aca31861db0bca8357956466d3792fb6669c77b98bed3c721f71321548f8b4313e535eab5638b9e341f4bac6c9ca02bd07111da4e39f2cb8ed8ea5daced3ada8376ec8db27f6d619ad92e01fb49bb3e53ec3b84ca67b18c268db08ec28752b0c13f269a39fa700dac163b5b9439cd7a9883673335f2b7ecc0728ab38df178ce14479bf6a8aa1e24a433e41f9f217be5c0181245135d1e265e1ca1aa06dd6e853f5d1f144878e2f64461599cf88490285b52a79b744f25ec5\nflags = WeakHash\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 0bb9473d3a8cc4abd63c6f2ac13e278a9cd1dda844fdbd13e9b77cdd52c1b05ac59126e45d276777e8b1bc423cb261d29675988954c9ddc38bb9a67bec5e03e1e780915333dfe494dd8a4f0bfa0d748805885c389d6f7fb6f786c58d21a468b3589346d70e1153e29dcdb91dec8ac185501efea247bac7c63e3c546ed635e647097bae3b8ccb992701a75d209c439c5dbe8122da616a4e230bce08f541abff854fb93c87fdde0fb457c44b2783568bcbbfbba611d8e984410d360c4ec3732cb69426a94191d5a0cb33149b518ded86864706c723b27228d74836513191cebc790793e5809287b0279e7bc82f266d437d192e98975960d0014dd02e172b7fe251\nflags = WeakHash\n\n# tcId = 5\nmsg = 4d657373616765\nresult = acceptable\nsig = 1b92015bd34fcce819bcf75a6c38a05ae2b425f4b21802306c1af645d1197d2c84b84b24d453eccc44f578465b8100ad9d60ac4912c7aa4d5745a1acead176d8758f6abb532d874ba5407d9e3e399f2cd6166b9d3ad1745cd20ddbb584891879ebe71bfd4275d4c176c9da1e13903e42be68ff2a78d2da9324a8cfc7a8e2fd08307c0ee14288087196c840a0e2b3811d9e9bda6ec24bc86e7ca5e34b57969e3aac31388fd2e696528f7d5136bd44c122156a5147f05bc9b118d3a33ee6d7faecbb048290bb0d4719c25ba71741d7434d66fc4baba9b995dfbc56e3507cfc97aa2d67acfa1083e0ef58e6db6975b3bd6b10ddf1c13087d2bf546a931f0baa0cc6\nflags = WeakHash\n\n# tcId = 6\nmsg = 61\nresult = acceptable\nsig = ab8c1e95acc36ad6218e48f033835d15ec6bc7181552feb6dd6e128546917bac892f5b349a234d051a83ea6469e27189f2995302388337c2ffb3a746db17b157923bcf6e985ebd203a4e9a23697cf2925912ecadc3d3f68252e5e01e112db1829658b16ffe7188228921829ee59d575c6ad8299d76c7f5d6cb204b769854de0204087560465904c73ec3bbc1b47bbc98586f0ba17b99c43234d262b7f1e19fb2cdd20b92c322d6e498835b3ce8480eda172921b5a4707d5ccb662e1ee4b3b4c36b5b485a10aecf1b12449732018e594a734b68c8fad4a730b469d097c89c4121d4f6dce34be78f65591b673b1d0ee170cb3c1852ca22bd53b9b26b2fa19ff275\nflags = WeakHash\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 264dc979cdb293d180f15ef3183334d4940410c9639712910006c68e3766c3aba1dd95510d71e7d91d93e61128da456cb0d84c44552f33504bd2dae30699d372e394912a66c334e888873a949d58a3b7d7d43e76391ab0cc490e7c3afee6a5f3262b7d298919d64c5e7bb81cd7bf8e612b9f6e266eb28316a7fd01e44b62100f4b462ba5b238115081536ad1f6a068d656d00000431afd1b6a5b57f43f27ca778c08a4f86f62ef84c73aa72b0c361c68345c10599ed731d6423c750462acfb469910a50aa2fcad3ef8c908633bd3fb0b2e7e8988f9be2ebd715333381c6506e0cdaba7691109cceb8ad5364fbc035c309a50912dbb670a8c255c287a9ba992f0\nflags = WeakHash\n\n# tcId = 8\nmsg = 383633323732373830\nresult = acceptable\nsig = 91d5f67dd4f93a6093adb8a7686be7e458f66c23e32464942f46193055c61c29db94eb12f96c918e1cbfcbcd2ed6f4ef6d271cb6def90375b1c07bb2d5e7c1c92425b16b2d8acfb87b8aececb874b7bc2ec9b2865f8882e0807db9ed481ed5fed0f3dca5b643686e70b4940af6d086ed7fb91fc30b322ce9fda13ab70a7206feab152991415d50ae586e8a9229a5d2ebdd1cfe56c131fb832f1dc39bd9fce7b73b190832b4052f5dd34cffcb39f5b0d527db2322d292427bba611ccaf8afd7cef8878337f1a8b2bc0f5ac08497eecc95b23ba171707795fdf5397f94ead6b8569b4871aeef1052fb4e895bad9f17462c1dfd712950631f625503d1336e850e6f\nflags = WeakHash\n\n# tcId = 9\nmsg = 36313639333935313337\nresult = acceptable\nsig = 500ba4952945df532e565c9803ee08eae2b7b69e02199cdc510184fab3f22613f4a005fb425bcff96e25ba4f66a849abbd299f2ea7d530b263bab4899ee3b6121b88b1f2ba0186867fcacf686a71fdba46c2e5379167603bd88a9e1a20f5211420a1737a77c40fce3a7722115682882ba04fb521088750178f3b665921011209f4046b9981b79696cb4193fe56783ea96ffea62fd3f5945e4790ed1a1059b5f81124e52dfdae58e6814a1ea91851c045d71960600a2a94db05f40fdcc61b90e846e563122e6fff4ad1ba74394af7fc13ec46fd7befe8825abb40b365e8ecec7131769ae3871e806eff4f6092802a8edaa8cc47ac8053c8fefca21648abcab60f\nflags = WeakHash\n\n# tcId = 10\nmsg = 333036353331303631\nresult = acceptable\nsig = 3296d2cbabc9257d91b75b51b994dfb8f777fd2630801414c33d405860e3f75b8b08540952e4defba250d3946537774f93a8c88607c8d673a0a1c7161ea14c56b8d3e2d17862e932146f29937b0084295f16bda9f6c555af0e26f7ddd223af6118c795463ac9b5be70bd413bbeda91539f05da157275c24269f039be88b3c3589e4cbc99746f3acf186b79bf27882ef2ef3edc0dc717ed2b94ed55177f99537a3261cf509852115652376261b090ef766cc68a99ec4ec7aa8ec6cab724b4eccae9805f300c48a076f0dd345b6018941bbe4fdbf94e548bdd6bdb6c62a358407ed3c84ff587ebb36ca82818fd82618c94bd355944547b09af94a03e68a3f07f94\nflags = WeakHash\n\n# tcId = 11\nmsg = 38353939363734353639\nresult = acceptable\nsig = 97e5859c080f776faa13039db19d49eaf2a16b048246c939ef875fdb4e28eb2bf4ee3c114b2d99b20753d1082061fc4935429a92aad3d486718657a8ca2141873e69668edd749f99f1cd757dfe7cc2db297cf1bcaa1f82c3cd92482f4dca6ca66b0c28276c32c4c2864c8e87e8c42b4008a", + "87a4100523130c8e4bb35b7fa7d1af7ea6097da7f7ae8372d5aeda20b4a4ba3a6c93e1b77b17a08328a27d975ccfa6d1b9010b34ccc12ebc0c3d4e6bb14c1b655a15b7f68604068c9c493f561017a1aaec7c84d1a24d9ef97aa683a240abd141a55daa3c210174e731daff63eb39ac3aab1a79b9a0f9178a7c374f0bd0148e4ffd8c9e17f2dc7ef8fb20e3f5f1043\nflags = WeakHash\n\n# tcId = 12\nmsg = 3135393637383036353431\nresult = acceptable\nsig = 8357bf730c668cf632cf2b1b5f9f9f3837061a1de0b86906debecd43077bd132b6c6a078b35b6878a07a8d0a84ceb45c93cf8e56e21e7cfc095107412672b58faeea7cdba71765101890b12a92af31d12f6370529215c299469ebfdcaa2055d2c2261bfce7329977f13fceb51d445b56a57a4e34e7c6abcbd7ecd13af0d92a6300ccaf70e3ae8a827380c58bfe4f381ab085784545d6b23ebf896ea8c453af1b498784025c9e9eb01e10e9d1e22eaf2c77902b64435be4c54b9f3d74b63482e69cf751f522f5a3ff59a35ccec8e612321495a727fdabe0891265cb45a18c99846aec27bcebdd79195f65e05a4d5799a333219589c61e1aaa93547974138746fa\nflags = WeakHash\n\n# tcId = 13\nmsg = 333237303833383939\nresult = acceptable\nsig = 46f2507d0817c14753ed5d4a9fa6c98cbcf7483f237ecf5d26d76e6522e940215841da07f3f20d4af6d8a35e182617150115063c1e1dc897b67ade6b6263700f5420a7f6595ce620f90ce6b8393ff006fe4f0825dee82ddca8457ef74d78e3352f05ecce196a1bf4d45f018317a6a42c59a2f2876f95e405d65c4bc5f0380d0e0956766f89b15850fbf736cb042921e4589721b5ad9abb6213bfecf8eab2ed077c6cf33be26e8b9fc5f95adc045efff8658231e28fd595701531e8bc3c74b42f12271f077e08cf9386d5b611bd88218e42ae757eab5c0c9b974c2bc17da12c8babad3eefda8a16a56ce3431da35460b1ad1df2b2e172cdfc006512e1a4ac866f\nflags = WeakHash\n\n# tcId = 14\nmsg = 34363035383435363034\nresult = acceptable\nsig = 0c3b3f5120fb9c7dc3a715498786aae8e2dfe5d63f54cf805d02bafd36c806c83d0a93af5d1eda293f4ffe6d0ab218648a82ad12dd328a60f6c632dbf9f6e5e504fd08b8b84d8d58000a2d2a9f9a966ee898d9cb75a69c930b260f6dba3a0301ae876e212d4fb971d819c20cb07aaf0fcdbc152765398173dc0d7229ebcd8a9aaddff45d118bf63ab397adb39af91203e8fa5a7d28f2937ff7cf31ae90dd9efc9f2549bf6cbcc3c65aaf78a93c76007bee2720930e2a5331335983943a6d93570b11615165196f9d7ddadf805d443021580514d921f439891446c1fb1dd740794bbd6decb017acc238a81ceab36071be58551557b09643cd2bd7be6e69b77aa8\nflags = WeakHash\n\n# tcId = 15\nmsg = 3131313738363634323032\nresult = acceptable\nsig = 94b777215d1ae19f959d046fc02fde3e113e15bdadb1d792c744f217200e275d3954b798b43e5ee382877420144087be340e11d2879c10af6376437b5a8f62634fa19b9338360a318c95c9421d90f60337634f3a03a2260796d8928e056aa7759cb13f3bbc72954f9c9da7eab1d3564050e4267ced557e3684e5090cef96f585153db8c732b78b4f7df59db219d7aeac42d4f20b1dc9825171bbebc2712e722ed6fed12dfc72dccb1e9a2c6d93e4c86641e1dfe16d6d43629dee7d80eba8e9639ea594ffa206cf3f0e561b2953a290d8cd70bd0ccbef64b32bd66b294f1fb1ec97bad0e096e5e200e5812fe025333cedd7d1ec8c111b28beb4a402f5cabf2f99\nflags = WeakHash\n\n# tcId = 16\nmsg = 383035343535343634\nresult = acceptable\nsig = 819f624b0dfe6822d3923ac1e5c75f79e1da3dfbc13b332874d4052eebb30f9b2a09ecf75f1122990c37367d75e4ec510f4645b9f41fe4f2f9805a981ea81ce932127613126caf8e04b9d194a927b720b24cd9f1721e33d121c59930ec48a5f5574f9aa8c6bafb5c8ccf9dddb2dbb418d9884ecb4a931a9265360dac7475de7e4cc795ce7a586c7d476ba470dda7c03b3f1ab69d9372d7cff3422306edd8fe8f6dd745596f1fcacfb99914470c13e752bfaadce632fe4124d6ccd80eebf87a6982a998aa4a0892c270ae6de0b9bcbfbc9cbd96dff2e2f93f80d9370fa2a015e13d0376b4d9dcbdedea29ba9b616a83261ccf6ec56079ff2ec93d72989cf93454\nflags = WeakHash\n\n# tcId = 17\nmsg = 32373335323330353531\nresult = acceptable\nsig = 118d4dcfebd82ea74b28041bd8bf5f969d04e160e2b8ab2fbbe1c2a1673cdd4fa7d801aa4bc23f9898bc0dcb240e8a3ede076f911ffeb2749c03d21923055f8878aeed88563dbbc45422b658f8647dc868885c92015df4d5925f3e6d75e85754b7f002374d4583ed310bc991cad2812fd29d0906c4dea5c52921fe2184880c5e8ca51b06bc5654edd5e0e72e20922a9c9b2fcd068c700ec82878b6ac04a56becd76fbbe9fd4abfa9348756f983bfa92539424d972d764e7813bbbd34bb369ec147fcb1a94e8602e359f1ef312725f2bb81c04932c1c4ebebfa09e3165d0287a85a22f0898d6385538066246ade07cb51580db1fcca86afad06fe2f9695c2f8fd\nflags = WeakHash\n\n# tcId = 18\nmsg = 31323238343430383037\nresult = acceptable\nsig = 53711344088547e405b1e3f7605e44f9b7b6735d5d3c32ee0e408fe7ec9ccf58998487443f66d4edc0020dba88efdef9ead403a2874b2892054e391f61c1b36e490a8623868ea3e3eeb07eb6a2de96503b93f4fb534225072c6bf90837c029a1f5c2a5d8194df2e203fb0c2aaeea506767952897d900d9fb20c8cf4f7b68a97a5278d7aaa6e383f0cc8d2b53bb748ab6b0dc5fb1ce82b08aa986449b3c3137a5965985d0cd62b7a1a11b31a498669a0b3072692eed9a1393e42d7e61b90226acc62b284ec550c0813c4afa25a1b6fc103cb80cf429944b557e1334e81c1173df4a86ab107cd8ec6c75392cc7cb11c9212f15ee7e18aa0d27006af5c5ede7b0e6\nflags = WeakHash\n\n# tcId = 19\nmsg = 353131363538393837\nresult = acceptable\nsig = 972ab5dfd3aa92ef9ff40026764716784c87154f12967ed3f02adee5f73fe9a0594b22599e829bcdaeb00217a12218dadf06c9940aaf9c02c75cb149a89e258a548894bf4762100ba17bc8bc60a7a0d05307b7133678dba4babf660d12418659cea25c9f982bdb9b1d2300fdd9d144a25d4f150e54ca7ca344dde9e9e1ba5783c2cb606bbc86341ab9344a0840dc515dd1d589bede2e3f483b20180f08695cca0e9e1cefc68b6bfc3527e48ff0260a3f696c0680364bd4b6830d675ec4986638e976b83cb1f56ad5fe705d5dee0c0c5eb29bd15a24f265965000ebcee5a8551ad8ef74b40592477255169bda56dc8f35fafaf796fbfa44d366033e15acfe048b\nflags = WeakHash\n\n# tcId = 20\nmsg = 36383435383536373234\nresult = acceptable\nsig = 7a7cdead06ba212e8dd6b446f911cf37b40c5ac7f9c817125c0d5ee3cde49ef336b87eb94f7d8a93e1d9fd0efeb77e724769b27d6f63ba91f7219f23e085a3433e4d69ca8f8e420534f554c69a7221d70e57f8a8246b24b5986716c50da4942a1720e51b3ab87efdad42e02cac254be2673d5bfa4669e764defb401121a25055993dc5ebba22176834b4a2f9a8a3a34d35ae2c344e9a84675d94ef8f56b16d848d15851c058ae64df8a404eee09b63bb64fe017c206a94dbd7b274440f04fe07d22d079c2d2a8686f247eb983a0ee625b2d4b9fdd4d9ade53712f0d13cf1ff1aac03d09f80335bf9364327a89171a8a51f4219f86646be96f0d96c6cb27f43d3\nflags = WeakHash\n\n# tcId = 21\nmsg = 32373736323939313435\nresult = acceptable\nsig = bb15915502ad77b3a080eed70b444b753496450a4114d435d2aee9fbf1b345074fe85c23ad4ef52603b3a8a077d5024e3d56dd620169b6dc0ff7437fe1a520c293d78faa77258e8c8632100e0644f469f0a3250a53483e9a2f8dab0bdaead5df41dd1bba91dd01d79eda1df838dd4567d04526b0e1fcb5d07cc628f4ff62fecb65d2386af638ba6d0e594518699c5685033635af6cb302d07bf39a1dc5b50ede06baacafad9a2ee9ac48bf88c11329d2be62d565b0312813fc81c9e3cd243aacaa6c11dccbb6941e2aba6f93524b0140f30987168036b13810c10f65f0acc443f7df7009c238a8d5bfab00116f1adcb4cbf55c484239689404788bd29eb787f8\nflags = WeakHash\n\n# tcId = 22\nmsg = 32383739323832383334\nresult = acceptable\nsig = 4fe965e8b685d1eff38f26261f5c168b77560de5f2d7243a33c3c1c7f267d7b60e9a61444b6cf0a71caa18ca81f38960f45ef29586910c240c93820551f3da5e15180684807faa5d9fd361325b9d39c7b8e805abd75b69af4d020345bcda266a15540b32ccd28e57f7063edc228fbc815f1ab965fa542ed679c43f7b4949f7448e6882bc36a8f10412dc0e828b33ad4e09a5c72d3730143520e4eb625356615bf49e51ccebe904af7c6397785de0f20371689f2975666524103bdbb4bf27f1e202018aca8003de615f073773cca7e647e71ee51d97cc30356a17b50aa3c47a74e133aabba4ae41750786a9b1e584e319836c3c7e7c8c2eb2ce6604323856b399\nflags = WeakHash\n\n# tcId = 23\nmsg = 363635373637393733\nresult = acceptable\nsig = 9e12dc1ec88182f9462a795d710dd07447e79a4e035b97c16e351c4b5d4e98459b8e5a52e2f51dcc1edc4c8943863fa9abc8fbd75ee2f47691a58428034021c6d3323191a5a5fdb2da2ac1b2a149b8d1025576309e21410c9400cbd3b67d2ac4d4af6f57c6380fda2817c263984795934b48844f5ea4761402354112a2a8e2c06dccea0e535a06b6b1274a42f218b1d442c2c8347e7fd168100ef658c63c790e6bdfad3f4e57a536e2ce181a976dee1d605cee947bf5b228f7c540c2c9c9f2caa0461bf737e32f5454f52cf5300b23e8a9921d5e4a380eb836b645515c0c71ea803b730d0667dba49be3825c7a5f49afb7e989c85246ceec236c3a0eb43ed8be\nflags = WeakHash\n\n# tcId = 24\nmsg = 373436353535373037\nresult = acceptable\nsig = 3f55470e612c832eea00cd738b6152bd03d88c3abda95ccc2ed6eb6aa5c0e4d858982a548d25914eac7649c53d2169da5ad4f09bb64d6290c913d346424d189bc2414ed50dd2bdcfe3e9e80a992c6611ec86b537a8b5cd92985cb6226a0367c2ff20d2859c21882fafb2b9c47f48fd19cfa14f793e0fff45d06a2e886253a209ed95030da05a1c6ea35d2993c600491b493ded76e952acb0442c52760fbb1f735957a1ab30fefea6e7b596a7aa4ea479ba6a6aeb866ce6caf38cb7c6338b2993213c39c98b0cdd6e46c9702069b85a8c7e050c1079b11fd209fde0cc58d37beec46db4c8c95b402c45b2f5b7906f1ef19f2a84dbb8e54bd5d5dd39a532ed6e37\nflags = WeakHash\n\n# tcId = 25\nmsg = 39383734313231353838\nresult = acceptable\nsig = 08823a3eefc4d13f801419b374a5d8cd51f9281e124deb0415250e9e353e3a2f974a83347ca09d3b5", + "ec24ec94048b096a4b11dfac52f2480b522f70eb4eeeed6f84941bc37d1dd1d82d7b9883beef1a6cdcdc5b3f6024d9299b10d7697c0325e2c75764f225cdf5fed483ac300a489b69536acc9fc90d581dfa10d67056b3ef9b05e09aa8dfd3d688ec4d63f483c301a44934bba1841860948c130d6353e7d74c9ca9e764c44e3b6fb1665afd38b6a7df8892d90a0d5483dfaec6270084ad76aa50f38e34389f891fa6455ed9f3cbacc422266f6ca2b10aea5c3caf83035c06833cd7bbbba83dadfb28807f7b3d7f4ac6e9025a47217c3dd1dfe9426aae6175f\nflags = WeakHash\n\n# tcId = 26\nmsg = 32363032333032333730\nresult = acceptable\nsig = bb6c055b3f55671f0ce85c5641b970b5ca0dd1f1b8978b915c8e36390700f6bfc765dc6b1694625672f70c0bdc97517d81cca9190ac4bc9eb5105df3457f48144ab9dcc049ae54f28123af0204176685ef6c2d71b0e618389400e18e90fd1dfe65cde88b628fdc410631ecae8d64b86da329228ce4c99fcf572e77e3ea366ce6d33d1401e250c75a329c71c7f5363a95cfde27bc8cf010bef57aacbd44c60a4d5b7aea41df9b9d59efa0cb6cd343b3c95c7acbd84d77873a5775c8757c585d665cfae9bf10095fe4f979b5866b6fb393b09890e118a35ae8a17f7eb8f60dd6e4954010ba903e69f4cdc63880bb24c3019acc596e6028b5f1aa86cc16d6f9720b\nflags = WeakHash\n\n# tcId = 27\nmsg = 33373236363131363038\nresult = acceptable\nsig = 80ac097d00555c8f6ac34f3ea96570432283b373bfbfc327e5e1f88b9b25d8dccd61d1064a944a10418ffb863ca2eee28182d046ea819b776e00a6fd62836aa3f334aaf7d14897971782a8e557c53314a3da16f3bf09959c139abf42c95a943e8f736fe6ac47aac2c4453d2a7091214e9d6c81098f39907d001b4cdaef6a66b426b571105a94331349d0c4d456263e090c0ed01ad2195ca0e7affd36d0f559cdf12c8c8128c7cf1a8aebaef6154b4bf8e3bd8db789eab080b14b45b10527e800452fbe2f20345cb41afae4f35530936c1b99137a3370f4f1c9eccfa81bfa3749fec4b1b0672b50e970c621ba0a66d1e775bb4df0674f587c938a29176c603318\nflags = WeakHash\n\n# tcId = 28\nmsg = 37333434363334343235\nresult = acceptable\nsig = 669f3256203b4ffe73ec01c2d7d120ab9c02bab82ac75495dcfa24db2f8e79970673d4790da772f4b16b14f81047086034b3ad927196a48390774aefe0d277ff466798d3497c0e108d51476945e4c324d32145af5d8cafe88bfd6a4b52c8e033ab4b95bc5b5c3451808f019b39285efd4feb6c21708b00aa5bc781afa87fd7475cad673833617159e75051646064d81ed42044791c27e37eec421893fd371d7cd96b462c158560545df3f5862fe97958c9974c9332b46d894486e97c84528a1f55a3d9add429cd7c1a05fb582affc12fa3aeee980a93b8168f284d7f95faa2ddf137e445d2c5658b89a2a230a9a640bbee40665c2bede3f16b986c72ad15b4f2\nflags = WeakHash\n\n# tcId = 29\nmsg = 39313032343039313337\nresult = acceptable\nsig = 50191cd6481555054231eb25b7d44f374052a228036f1e796c2d923c9df9bfd2f881620870ee4d7dffa4637e570d6055345c87b61a2c8f4f3b536d89cb0379883c99fa246e3ae9c6a157770767bb018d702382840e5125ea59bb6367f98c070327d30bc4e17c40b465fb5314e59692527d792c9155f5f1c2d9f4061a3b784741788d92d761e1a3c553320b4165c864e874f24664de3dc6b572dbbd4fdc495431de288389c2690bcf56482632ee34b638aa902f5ea808933aeace4eefbd2b6ef54b47cf2afe586c20bf015e782d5ab952bf7696268467a6beb2f2506cbcbec919674fc785474ee0608c43980f64987ec0b75e8041871ed9a2f99bf4623504a9d5\nflags = WeakHash\n\n# tcId = 30\nmsg = 33383239383138363835\nresult = acceptable\nsig = 55a3be3e5c6c1bb472feb54e2154aef10c8880195183860a3c19dc2f0d9f2e7473b90bb2a9ecdb1a8b144ee27c60ed7ea25838bf6ecd60c2c5dae9213439a9ee8a7a49e970eef3cdbd86f0b259d7ad598230f43e2a5ac0a0f68f947cbded0d20e7a768fca530f3dac41515ec9ca79167de3d800c8bf547163b035a0f3f45c371d53969ebb6d14e5850bab303dbfcf86092b47d41582ede460bf9920c8eee792187d1da134945046d28af67c433fb802f09a6bfa946a8aadba2ae9f89afb530540cbd22960126e6e858be58e6372903698c644253cb5ff72c493b35caa4407d381f96b304b0993ce08b7b0c692c0bb7936f743666db5aebe2afc2c67e3b256fec\nflags = WeakHash\n\n# tcId = 31\nmsg = 31333332313433383039\nresult = acceptable\nsig = b6fd6d2d4ebe5860470aec5e25bbbb02d67d46d960008311d1dbfff3b85048cef40642362104e8e544b914b9974eb53ff1cc12cb8b0fd5b8a924e96ad982ccafc1a80092586adbd2905250452e38b342f7921cfc82623ed499742b2fb0b90d1b5285bad2fa03ab82468488356605b5b7693335e8dcf983f639d82c3168020e27a7e0d06b2af184eb96618ce942c99b49bfcc27a4b6b47c5c07865c5b2eafe30c6bba2d9a97818aa0eb5d2288018103668f892e8bf5ef1837521cd2bd41b5b8f6a954f5c4a50de874b8e00784a5546cc9b7ce8de2ff776749b0027b37158cd5b11b440a52a1820b7950fa685bb43505e1d35312a6fdcbecdbe947672dc2be74a1\nflags = WeakHash\n\n# tcId = 32\nmsg = 34343435383035313539\nresult = acceptable\nsig = 7fc54d8108368eef19f5877275d07e871a3251cca71c63cafb46808748cce240b8eb95a1f218b77954edd2ab8768e3fcaa8c8d3e9b7d678c0d44f9731d5a58f6ac5f3643187bf88ba6023301200936d9414517f1b13ac2afc01d8cb8e011631109f2e8eb66b61b7110c273e26c2066e9384732b5d978c0b2d6a9f0227533e092373fe9d8c2dc33f8253c13aa5730b3f792dd66c6b6b2be2dc5723a470d8da15c79286d1842c5cea67eaa47b906c4f034d1587610d9fa02cb7241364f8862458feb6d8fff98255b4c81b69c248d5f5dd721ee477b1f7341c73808b880a88f8425dff9c27c2bd0140a61b8c64d8dae15c4359a918de42c8a778b8b8e352b624291\nflags = WeakHash\n\n# tcId = 33\nmsg = 39373637303232323239\nresult = acceptable\nsig = 039ca79f8bcf17374bde9dca5b7615b809ac8d49241a48b118c18cbdd4e3fc43c2e3792b73d403062ce800f26955125b7b15beb60a6447710082c6c6bf80d24dbb417a58ab934160b18883ba64f29b461f6f76f833ebd16c38f7664976aaec1521ab6a567b34283a98b8556b4fd346b050ed4b1756c1228f891172a634444779e26798476d481e416e1180aa1709f885fe5c6f091466aba6287f727f26d086618ebbcc2c020a001ad8b24d2ad0dac784456e162d06030567187c25f2e2a023e30decc076eaca92d2c82042dd077abfb788fa03a0daab9714db415822501d99f89600f8d677faa726aa43d2314645b2320588b4cad7208b2fd12d7f99fc37d809\nflags = WeakHash\n\n# tcId = 34\nmsg = 3130373838393031373235\nresult = acceptable\nsig = 907f826f39412c22974469bbb28f049d8404b9397bbb86322c742872d8dc008bd199ec7e891c1a799da60ef20c9dd7573ba969761f5d812f72e889af855b833b5aa1cac338cf2a42d4e0a9d14cbc6fb004866aba01341e9dee8e2896df163996d78c4d30d8c68770e7c72eaf689cc49713c3eb479be8452c935aa44c48aecbb0d3f0646614d36750ef126036828be76be580879961932a74f34bac9983fba0b970ac740f584152c5cbb4d6e3815e87701ada8d30a501abdb62ab173aa1a7a3199ca27cfb179895132089c038e40a273be45b471a1a1f70e7d176b7424e852b3f8c608193a7126588c5065cfc5a7117beb72f73ea8a836c8a15f12eca67f84051\nflags = WeakHash\n\n# tcId = 35\nmsg = 38323137333338363331\nresult = acceptable\nsig = 7b786c0a1baaf52fb84459e92afaf038bfe997c9a4d910303633fe2750b97448a15bb057b505683bc53ca4b18fff1dd90d1416bb8c0fb2c29550d7dda9c9a7f087386776fe65b1288c1f5508ba9468ed9328c9d6620e6882fc818c4ebe832df36dcb5d92837a711ea6f0d20b784235933d0c571e2d6061445ef5d1bc22d43378d2593b2a762114f687bcf59cadb4ecabf258d3e14a4bdea0b215828b2e7462439fcd4cb99518bb5d5dd9266d6dcd459bf36cf32cb8683067918a225c1685db5e52f9a5305cbe60a38df2babe901367eca57f9cfeee2955549ad9b99318b015ae19402a4dad7752e15b94b25b3414cc9be0c13421f31a41d0b1a3e43ce2c1d309\nflags = WeakHash\n\n# tcId = 36\nmsg = 31313438363037323135\nresult = acceptable\nsig = 642e3b94f8c5a0897b5787805c99b04af6c7a2ef47eae10ddcbf58e0f9411373920d1e4d769619f97182db36a9c38b6cd695a1d96daaa9c9288ddd4774f9e085dcb4829f1cd852239016dd23ceb1a493a1294e3d35104f48384acebfa0cbecdc114f445c63d8a1524e608d3f75172782b1c3169d5317902a6796688dd6b0112d0822a5c65a9ab31be84c939cecc4190dfc766cfd29b965ca02baccf2e3a68f13fa304b469c60d7eb49049d78dc1e0ed94daa273dfbde714024e62ba97cfc7b3d32fff034986518e0486124a6d6d33f40474182b2c235306c7d0d5088e7e733b0a895745a4bf4c187d2cdc9d6a8df7153b41f16305a15da7807c6bc69c313b4ca\nflags = WeakHash\n\n# tcId = 37\nmsg = 38303433333530303635\nresult = acceptable\nsig = 5ace1b9ce1f57901e8b8a90f033750f807e52361779bfd97c60f029cff8a70774c06781a2ec5d16116e0ea5170b99d0486eefafcff11f2780d7d04139e28e408a358b48ad55c0d62a357323d3ec759205df77c73f89e991f849114d8bfcfe4b6a4eafd86a9cf43500775b1cf4b4980c4f6eee17aef782eb7f94144ab1e7a0ab9c83ef2860c1429d4ac9174295f5aeeb6a3d5fd430807b9c2ec20e0e2cd1242e496e5470b733db52c857be5a65c604779d9e1bfa5a7bacbf2979f1e533278076f102b14efc321e905ae5285e50e3c9998036718b34cff35ea0c082735ea576acc2f18065c7e05df03d3fee209f1a8df7da5a07af3a4ab86e54edf85fe61343fef\nflags = WeakHash\n\n# tcId = 38\nmsg = 36363939343437303335\nresult = acceptable\nsig = 30a1a557fc9651e08c004b23a5fc256b13f9f9221082f867643dd707fd5513de72b52d13bd1b1b6fd090fd816beb486813419bd9f426f9d4e8ec7e5c86d4228e3bfb899287b2354d5b720db60b68982e76ba2b14ed22b8bf849244c9ae6b55071bcefd4f7063d15ba43e0a5f747bef7373cb2dcbff6d511b030d3e13f628896406955a77573570305073d92c5cfb2a9c4d92f867c1801e63c8addba43ce3d7faf91af464f941faa48f28f549d897f93c074394137203a19176cbdb41bcff260b7b0053508956970e31f65807b40c3b7905da151b5520931ec5c470f020acb306fc6e969a89966fef4ab1c2a17fd5a112e0a841b853dd1449be32a3b52d2f6e89\nflags = We", + "akHash\n\n# tcId = 39\nmsg = 393933353239323431\nresult = acceptable\nsig = 1960aa85afb75f52a0bee917bd0afd51de8abbe1be7abfa7c8321f74e18921db7d53de052535c2b10c71c32ad84016a998980a89cacfbbda3543c399319538f3a216981ba938a53f52b0d5b078a6cef7047bebce6c5023db080172d90b868698a2909b2fde7013283707f9b74f3d800c39b0f5dcfed845791678c7696324abc97331702f2236620182fb528e2be595ad10161bd889ff688bde34950f2b2fbbb3983f76ca9224df04e2def7ada7dac4ba70d763e2bd7bf0b5a9d05e808f9e4426f04cc94e28510fd8b91a838f86c808851ed88fb0e4755afc73e5716e9e42d794e351a4f31000427336e7052849cc673b7e54547127e7e6f662caf6bc512d525e\nflags = WeakHash\n\n# tcId = 40\nmsg = 34323631373430353530\nresult = acceptable\nsig = 596a2b36370dd115ba496109e5a9851b2ff58c2f9a5bfd1b26cdf3eabb840c49b46b6a6887e4c13c4b930b737649bdc56fb89168e46d91a1f1186adecd0fe867cec067c9a90e8e1a663880ec44006722d4a6888b83b764a864925de700b30a6b075204a8978800296d5eb0ef1f0dc9ac87c5fb7a4b2a7cd148566ed6eacdaffe22d914da5f2d6cedf7ada28593b548775d748a61b6ed22ab5934bda0c57782caf1f48a309c80bed4fcaacfae1dc0432847583aee8332eec9435e409fce2e0d3e14f6c4ccf121b8eea6f5b415894eba24ef066a08d5faa9231fe3e7767cd1fbdea7850db1aeaeda755dcbd8aec33a7dabf430bb7002754e38a70117b47d3f677e\nflags = WeakHash\n\n# tcId = 41\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = b8edfcc9ff6451ff5838c470232c4d0f358a88ff6344e62cf4cf9170576e6595fb22f6b2f3b2190a6f286745e39a300cfd368f82f86f12f81ad4f8546cafedb00a38bc85f8e240127fc232ef8287c7bbd35fdaf55ca849c9745ef2ed1371a84e77cdb07513a5e8dc4898e7a9c8c52a3e35b3682abba3b583123026b9840ae286148426c59b4c00566a147c6d89e039b28052a8974f966c2d77cbd26ad94f54ce987748374e88b7bcc4afd24582d408db9cf94906ae9d0039e1bd22ad8a23a8c379777ecac954540f1b13186369fe3480955cbef6090754b286c8e9adaa288b1024d94be0291d20e20a9eeb525d5e9a2e0e0b5cb4419802b308e27554ca3410a0\nflags = WeakHash\n\n# tcId = 42\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 48c590347b593cab642b07d49bc2229503ad8079dfa82e3ce1f014d1f0046c5862ea5d3d3c3f44705370b15079e1dda2627e3ae861fdff25eefbbb436400702816ff8c60aec8e2cae0e0fd2ea87a3c9ea03731fa2c5fc78299aea7629951cb71adf1608e5843b3f9c99f0c3ad37b6c85e0a271a1f5a07322433c5945f9a471e695c0ee81564a9bc613b73e0700a804d7c8196f160729b8f90167a6704761930bcc5aab75f2d5e71067e799833a8f4d8ed49ea17ec71a29bb9d20c96501241d97931e90b0f50db39a57829c615ca262d756744ba3422c3505484c79e964d840927331a1490889ee67ed1af681d350e0a1fc95b446c95e38a3c14af3236cfdff4d\nflags = WeakHash\n\n# tcId = 43\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 53dbcdc61acab0d966644f60bba8b9c78261f01afcbee95e206fae665c07fc69c13015941af7b684745191fb78387680a274838d1d9a3bd4b5f556406ed11e1879def7c2f018f57b317320013e9d4995f1610cb3cabb8f8cdbf718d5c3044317b000574244d5fb9fe664bbd40aeb0bd066d4ccfa224a49c3e9e3a3ae323690e5fe77a3c72d5dc752be7d68ecc38958a2bfa8e0c9365b5e546ca15fb95e205a30818b01b61fbf7a6709281b9cccc9a0c1119cb8c11c4fa2e5fea4affc477b1935b8ba738c39089f15c6fe0fec0c78b974646ea0ebb80ca5e8386d9803764704e7f16188a811de89379fab804717364cf9ec39371eaa416c628a55d2dc1a5b5ed9\nflags = WeakHash\n\n# tcId = 44\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 17b550ac168e25ebf6d1bd66ac30815cfdb680278793fec78b36e2f28d10c32892dd0af9950f8402ad8b54597472249aeb9563215e17a17ad8ffad7c4a1c14c4b92cd8dfc035cfaac6d662e27c0df6b1d787b7136a4abd5ef2abf805cfa68ac8eee0a6b5001b9fe8855a08526da1971d32d0a392424bbd37bd43f68b8119aa5c6ea33da817660ebc35d80c4d477af3363bdca4c976ec84f2aae2cffdf9ce517b50994e6a062f199d71323c532d57e76f8d89674c361e2275326589b142b4db8268a1b36425a7d70c57115df2bc9695d6dc2ad6f3850d0cfda545a8e87a75a49ad2838cd240f3461a285201a83dbb670851a9abcdb11f2b26d8c89f1ee4d44ee9\nflags = WeakHash\n\n# tcId = 45\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 11cb2f044d4bae43fa2c7bb967f8f3aef33716e0e519ad0c49570bd7288832239f71be6ab82b9bb96520972df4b45c8b85f0dcbd8aa6839506c8b44a990b20e0c2b58c313559f86aed3bd648d8a7ba5ef2af00b958eb89fd69a3107bdc519c60dffb21a20d4a37df7572b3e496db68ca86f9e85ff132016399bb0cde7a719bc1729df1b1b3e6e4dc1ac02246bda3de9ecd89ac14f4948da298da77e142586ac0d48854b4d1eca36a18af5221ce51789acbf772c06e436009a3b88540e593d4271babce1ecfd149fa5367338e82ff3b8983c8af02df99e37039a7d03f113dff043f598e3d68f3083ec3cd545a52a076487f7ff93c016538dd6fb9f947e87da716\nflags = WeakHash\n\n# tcId = 46\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 0dd16c3ccc10b280bc36c0104e7c5fe47107c1ba511d197357aa7a537e90f079a00385744a85a070804e9134a75fa73bf1c053162ed2e622ef1d3a1b9f117c47a7b68f9e1000bf851570987fbb9f8b5fd2bfc058f95f2bd12ca977e44f596df0a1c48de9d0c840732d94ac2f11156c9e739de8df8931efae8aa42cd6254b3fbe1405313e8b19ca86045edf87631bd219f6923b8dfd783ac9e7c913cf7348c7b5028b478898a366b893938a94d2fea92e78001ae2baaf5dc0c31e9b0d4619e0fde45414b0c5863c8826406d87b48fbe0c52164d0a8d1fd00b883ddae8e1235c846d51e5cb20d724576dfdfa01d15f47cbac56b17543fcdfe81dd70dca545ffdd0\nflags = WeakHash\n\n# tcId = 47\n# s_len changed to 32\nmsg = 313233343030\nresult = invalid\nsig = 18bd764174873263341771a783534921ccc5f3395ca96a3a57706bab1f78905c002f3cd6e1791e238a8ba6b9fddd74d4e758527bc3ce76a2d9b37e130bccb8e235f8388e54152f447346a580f4808bcc17dfa51c69c2625efee575314b609b8e30f1caf822411ba1cecbb2c295c76620ea1b64fadbd4a8b52ea398f60538f3a19fc9c7c5f7b7de802e16c290d635278590bc367b935eb7209547aa1cb378e54e2e383d8a2c67a69e790fcab540a51cf756c86a5fd0f337b14246eda65e9b8b85e6ebe62e89156a387e9d1b7206da72c0822d20a20637391956d473fea426505e6a541260b92cb4b66980592dcf92bfa71d264c575496dcc098bac82edd5c6dc1\nflags = WeakHash\n\n# tcId = 48\n# salt is all 0\nmsg = 313233343030\nresult = acceptable\nsig = 6083e24acbd4973b8e28bd22e996924252e306029c3db5c5353f3e4c505d36f1fb7e580823e21964f9206fbb158465f64b26089e1fd4b8bcb2abcc0384781bb005db9ca71467661cc7e8e6a1c6b5dc8ae646f0e6805920016228f400784906a2339f5e2385cf295506c2233b662a0e01609183261122b309a1874b34cc74242f3620e3dbc639a25a9e28c54e4d3db08d6a793ec468902cf0dffdc3ebcb0982ae7a96951ebf5e7640452ba0f5332273fd9bbe4dba26e7eb106c7ed16c8baa1f1d7e5d160482741e9512b78aa62a942cabbb38789e7bb380157bb42e6a71c580dba254cb8f59620f30ac809d3ed814c5ee0f3106b03806993d79ded94ab4c3b4d0\nflags = WeakHash\n\n# tcId = 49\n# salt is all 1\nmsg = 313233343030\nresult = acceptable\nsig = 46df0cd49ca21a0ee84d8d8a2a632c3c3d4188008773c05b6e148f629c62b9dbf3d8b1df5bfebc16efb14e5ed10bb9cd53f815ec3906a2b6e9cccde64f52c23cdfd5605f8c8c2f62eadb0b2445fa79a4e667cb63b10bb9181e8ec11946054dbd13e9ca545cd9da945bd03ae1c4f8ed48555d2e71e1ba8d410a725fafbeee8ef6798fef9d3a9c6d48825c996da1f2215048916bdf96d294c987ca678d6b1606aefab2995b11ee071633eb1c4873c1252a38f3453482cc72ddc92f9f4764adf4327274118d9adbef6e8ddbde84ad7c6991f7155a1f77aab1d01f95931cf73d61925c19d66040e0f7d8bfc68977db948125dd81a0282b30b1942e0597b489c6c2e4\nflags = WeakHash\n\n# tcId = 50\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 21cd7d32c91362b709bc629d9e04b242604c325c9586dff3dc152efe3a05b1e2f1ce85265c94ace1f0ad3c50d327ca582e4b99363c5fc2ca40603676c774b3d706f7e0dfc31e0306f8835273facb8aa9c6503bcff6af471875f8a4bcb5b5b6405ec22e7bcac9fb7fa2ca84cfac60f1190f3dab9ba34ab1304e07e2fa9a25cea4c459e78e05299db7497d4301e05eba538f7845bef4720fede2b541501a6ebcab62a04a1ffdddddff8146513802fa495277ce5f0244213786dea4d5a6d02fcd93cd414907c557107cc53fa5c5409f2fa0d592cba79273c9b9d4deb8d23198909b712198be83c955a915e5529c634d8375dc0559d72e30ea9f47547f6d2d52529b\nflags = WeakHash\n\n# tcId = 51\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2746d7d48ff2f17364c40a0df277242656af6ccfa89802d6c31ec32388561fbd261c85cc03e2599b845e23ec90493f637a3c1d090b2604cf5c3ecba9b09078560e75523595923910f688e91337185c4d0978623bae7c33d1c3b50d83794c0a5a44a5309ba1d39f3c5dc3b31661c895aba0489cd392290135108cce56794ccea491ab424bac4405cb90a72ab53042b3fa863222c41d156ca0e752f733eb588bd9532ac422beeffac4c01c37262f49fe7e3f9dff3f993eac7b1adaf153805e1b44f7539e04a38c19579764a6d8c0634fcab0cc22ce41051968eeeb44f17fed7ae959d5199ee5e0896a964eefce583b8e0984f41a26d0bdc306b46d97b29d587f88\nflags = WeakHash\n\n# tcId = 52\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 39610ebb7505fe8853dd2d4bb0c3a3490b669465c4c83080d643337209802c9b6a11e6c79481cb540616c7f877ac58bba08cf3f93ccd6deac0e8227581aa73461fdcc8908242468a4c57111c637712a1ce5e", + "ae6bdbbbdeb085aeccb2cc2479d502260c1d1ff63759d27f58ecdf87fecf5d23072f709b5aa811dbdb067aa394c272c270bd8ed1c9d0491fccad73b74a4b46e2f8fec3e2427661360c41be306015e43364bb459a8c3cd1797fc4a89be3a520396320427f12de28d3001ae257fd98a4f0f906781a2ff696bf51346c92545bd18c37168d943480ad1ea9dcb47a2cc6854bbf7456f205121f1f4f5beb6519521a91711aa157d2441b9bea9a29ccba7c\nflags = WeakHash\n\n# tcId = 53\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 681d7afacadf19dab9252fbc35ba86a8d34f4786759251a91dba18872a070af39e5b3e9a12886b6388cc59d2f83bf19a09d1cf6cdf32f0f57cb70ae8df8d623bc7c2a45a344b02482cdd026b4207735bae6089831c8ef3d97428288e363bdfcf6d313fede6728240af8f069f9b6d7b57e029aab5b92e3dd3627f1d1a9a242de3e14a4cf5025f9a3ba2ddda23080f3d250db320c354158c2a7e530ea77ef38583ba1d3bb2141b053c9466c043e4cc261256baddf57bed45c9a491b49f56d3584a3d6b0df5843408b0287b850e88c43140fa32cfe5da29d06ee051bb0b0013fa6c5b6ef6ea025d106f8be8166a9214e1f77cb19e985298e6d71d8c00b920ae298c\nflags = WeakHash\n\n# tcId = 54\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 02eae2703879522f6660221dc98a84a1a5bf69d2198864da83a633d0eef56d83950645ff9878bf12618ec8cff826c6e3d955d82bc7f6d10ac207467c373d7c7ce8d6db7eb9e966ded3c78a89abae180eb1262b80a976b32d77642f39ebc4388d2844ad2414ba6a0af1b263bfb44f16f6d3bdf44417ac31182a840c83848f1e60b36525b0135bca9718b9c6e8c06ad3c62eb07eb0f7c52793a388edab9b3e37ead929babb8a866645751ded5d331efde2d8363179188bd14ad323dc0f9d343c4c3d07c20a5ed6ad02102d3c804fcefbd43e848d2acaa632eca2e72dcbd2200b5b595868ef1a115336f754a164292c7b465e9d07ed64f0397cf3664fd6f87e0c1e\nflags = WeakHash\n\n# tcId = 55\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 6b8dc366eae1348b770019d1a2d2a3a075eda36f99c1202902bf44c50b3ec8e75c0415eebdc61d70f37c8280b5ae6b2e03ddd0b1f15c6944cde9433b0837265b8cd658f21029b091832ee28c5047db21de4029b0ee17369f99dbfcc2a4ad42dcc58e210673154b4fa1474dbd684f9c7639c0856d936c8b7fdc437bec8d6f8754cd9577639b14413ab7b30ed236440516837f820a0b0e146c48706d534bf03841f3c0172bd698eb8356332d2565dbeb5143a822a0a4b978182618913e64faa71a15d454bc05accb74d1338a4e66ea77e690a6238c90b84a5261b17c6d2fe947c37bbbae99aea0742f6559d6177a272db4d51047a206b804a590edad0f7af7c078\nflags = WeakHash\n\n# tcId = 56\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 96a051980a5db77b94a7adc32f73973dcfcd62e95b0e0d2e084410c37f65b50d018e9946334fa5d268a6848dc164db1d012c5d42da613d9d167dc13723b334acfbb472d32027ee6b52903fb8fc07c1a8ca31156fd73568d3a1d933d144d0f263a2adae751e8d4fb5b949adb34075a6fa59ddfcc49399f9d01dc8d8733be47f2ecfb396a3cfe40d619be4436767f76d0089b845f4a265a5ffbacb69dfcaa68de6b34b6c5b1433e149b3bdca5bc72b98617757a1242b46f1fd0d7d0a7af75adb950433e1b7584fa2de51b93231dd73512cee728a3e6f7cb95177072dcfd25362da537fd4134887ab1b536979f3969a02cdc2f3699e394b001ab227df7daa175b75\nflags = WeakHash\n\n# tcId = 57\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 5bac3103062a5726a57876fabce9d113f9816f30f0330ac8bf0797ebd41c5326ea693ed7a3db0af251ef268fa95ee1165ee3d5fba2630fa75c346ae422c3d14d25e16eb1c3b762d9ace379ad5006e8568b2b494c7cbb90fb7589b607da24cb8cd6a4d851ca4bc6741819ddf9acb7b3cb50cd4356b634ad2778446146b4912b9da430921bff3a8cc7e330e82a38bd9f69eaf47859b5199cceea0b9d111dbde5e20a8451fd989685986172e4f69ba2983c301c51e57ddc457af8feac9709d84d9b3c70fbba423abba4cca6eab1fff42acdeec5ec89936c4ea8f837b01eff954d13fbcfe8731a6c7cc9271a805a98b8877f364335ea239003cc6259aebb922d2f97\nflags = WeakHash\n\n# tcId = 58\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 1e108ddf1d6d931dd568fcde1e11971dcd86b409699909d4c2689ac17fcf0cde9bc27d10f9f2870113cc61f9983d1ec5e4b1b5f8ad0e488a991f1455c5ad4f721056e54d11b77dc7ba73bd3caaeb89c21141f0010501c9f72a3fcd4d7e7e59f701df032fa392bf82a1de9ff9f6c15ef2b0a54201f787bd87ba4fc9696065e5db96cae4b61f66294396eeea94c1c0ac10dd8f1cae928c7b7ffa84a866d69d450f072f746a4af20d4b39d26cbee43b227e96c4ef5ede5aa043d51c6a5e94c8a59758f9b42133cff0b01c365fed57d189106c4e38cc73efe7165aaa76b2a2fb0a2c41536673234c4116a7445dd9fc93e0f27eab8e5d4c19a712e09840151e44053f\nflags = WeakHash\n\n# tcId = 59\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 4877085bc45b4e538a2f25755ca410032a01af460523bea0ee1da767d73688adf09d8b300c5000d74456a55806dcfa1e1b1c787a69fff295215772173649fbf96c17c858d4be9a7ab9b7b3189243edb997af6a0100f554e368169b115cf44dd1b48665407dfccb41edefa356c297315fe5d32ae91e21705d6002c4c624c4b896dd6024839b0113fc71129052330a309892c13cf5c68ef722d637e97661366d40f8079c5c789857471d73fba4f468a6c26c21e65659b5fe28fea0e34fd47765119e41d3a12a148181a78f85c80446e2de5b42c42b354d710a4f6237a830a59e7952560a8ffce402845c38e9d4a0202e3d4d8a035298e4b48025e03e62bc6c1ff0\nflags = WeakHash\n\n# tcId = 60\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 49626bd98377f1d2e571a9d9193bcde1c29affe17806554991680beabef4012c73fdccd5854b7dd65a3aff868688b6d4553f79ea5fe9f04d3f6afaef95665502254b1528dd35e14a0d33e7104210ca91397ac766bc7fde1a030b6e2d38ad4d69d05557464602c040888fb6f15f465a61276e6730bb3106908f60e431afa8c1127c82b0f23ddee410e3c5e73691fb6d76f2b6405348728d78a520561fbb3199296dc8b7d43e0190161a289923a1178409b43810e5b710dd74ba5dfad6a9a35675fed1584728f9d222e9b115f83900b6ea833eb28bc856d5b706bca47ff2ca2113e1a7ba969a0de3319d9f815670575b85e216dff8884cec20b56a3bf51836f206\nflags = WeakHash\n\n# tcId = 61\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 7df9adda89f83abbdf0e3493578461fb8e01f59dc1046fd01acb4f9c79a9a5f95f7d73dc0a9dff9ac4b03b6853a5e788da820a54e0dc71cd5f4c6e7e191ef985ac99fe3b79e578df13dba521da8082f7addf6af7ef4df649fbae8c9d58b7419f551ad67f061e1653d26ecc41f9dff8dea236462f0da7bb34bea890e21882437d9fa8f675954e1c72a8ae235bbcfea0b72a963435e7c69d7c5be86fcd79a50ecbd53e33f7d3eff268ee87b0cf634a7a9ab2fa3503e8df254bb2f223c1d2a9da9cabbab948ab3b29f53e70cc7ed859e5c3c1c66ee02b2475c86c30b148c640d67d7df0879fd14b4af9fa19a68d6bd3cb866c94db166ef12827b67448d7c316b388\nflags = WeakHash\n\n# tcId = 62\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 87ec6a8c3c3f5db0d85630bd76ff0a99007eeb8675ae68f1394c25e1af4f340051626d2da40df653dcb71894b4f292a6c0dc329c9aa8f599418839890089081ca3910f860e1cdfeb9ab1256a0f45ffeeeac861dc6471a902375de4287b05cc59d8cd5b84ff90e951d0b0c574f3f3d63a617ba1e3eae41c931a276af8772fd0d2097d4acd1cce8fd62ea2958d248efa8b96f3aa5afba396b17e290e6a992ee4cd0124810255d4441eb679a47c726eb784201395402b4f144f48c6fb63accd25efab39b6f57373289b33774cc8af37cb2a4b43ceb72a04fc80f2757081ea8f27caea1861296881bd948bd24458892f5cdd1bafb70ae486984af83cbef4fdfc0cc4\nflags = WeakHash\n\n# tcId = 63\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = a895755f2494f5c35e7203da9ddc02180c77cb1b994f59020ec72f5174ffa59a717a7e7d0ed38f8636907c9eb34807da4c43362f342d5ab0179fdd26885456cc69a4a5cf9e95a0b23c800829eda15fceeeb3b454d5ab920d0044a3cfdecf4c434f28484d3afa70a488839fbc63df9a191c3ee3b5df0598eba155bc962312633bab04b48d47110f19c97facb6ea3d3838e1f441851bcb06ed395a1fc6f6370e065094939dbdec28fb6396cb062eee524853f151a1d2201e51d2daa6680465ed2cef8d6cd36aa43f7734754b9f499620d956c2cd6fd0c2ca3173fdad368436d8313e148085d22c7931fee7ff58d4d09334816c211c1532f1086dd197bfa4b2f628\nflags = WeakHash\n\n# tcId = 64\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 0ae88987b001f5a5d5d7b257a57fc2c37f642f136717171fce28430495deefb9407997b9e648b0aaeff568acb3e5b53e657b417e9cd8da5279a52c038d965743096c2d533c25ea98cd747ca5d719f43cc2daca426cf7bee205bf89c225a0817d59079b8162c6022ad029d0946eb99e8e44ec0898c9892614c0c48906df99219275a04fc1efe92d5d6bf98c90a5ac469a36f47a0f23889fd18da1b38ef112dafb696f536bbd04e6c966a9ba326bbd638d82b6d7661916b7bd7d3d4ac426e9f0fd527918505a6027b8dd716a3966fb439cc4a130a13014238c5f104d754fbfec2f1c780b49aaf803618c2a8b69ec7d0f09855cb1019878f52df13c4492a480dce7\nflags = WeakHash\n\n# tcId = 65\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 3ab3c8cf8b99a2bf882153ef1ad6db449e1edf673a01e014b40d1a23fcb38fba21bd63ccd9df9a0849d59c41520946d46fd26fed9ed4bd65ba0e00705c119ebfcdf31ced34433ecdf9b4170f9990c2a26c4afddd284b7e134b9ba8b6d0d41624a169b8f4ebec7a87d0de0ee7870c99d4d05146a7b71c94606fd178aa655c3edba0f764f3292d76217d4349f90d0919c42c35be21613fcaf824e16ab3f45ef17c14255975cb85f7e1f5ddbc0151ac4961f68a331b97737b171", + "e93c01a0f4605c7256de93ce1e1cc8f5175838999c734809bdaf8b95edfac0d5f98c3de33ad6399e8207a8015373e1f5ed76e304b5e2ac260bbed23c662c38b6f29dcb01faa4894\nflags = WeakHash\n\n# tcId = 66\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 5a7e549f99c138d3fa7ede3ad655473f78c3a8de650bf8db6a5116f0807e5df84445ed72ea6a82a8150db352b85210e120818da13d9800d15823f5780b6051e51bf4488654e6a93c95d19b45378744483b43b37200d933775d2f84a7719cdff6dae2e15716c86a9c5a0042a5268cdc7b5e1860c150d85253573787b2839fedf64df3d54c977f63e7bfaf3168f0153e2ef019244e5cdd9be69b421607fef727bd5442ada4bab802ac9fc0c0044eb5b435a9caf217732b6740571bf9f7b1b3fd83da8d4c806a7e2241e37cd0d06abae28ac5a83ae3b2f81f3374dbea97e46c66e821226fc7cf0b0af2dcbdb7c5cff641775c81fea4c8cb9309e989bca04a4a5d3d\nflags = WeakHash\n\n# tcId = 67\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 4975c3fd6358989938633d07cf7bf0121c8a8c987fde1cac405924ab88c5a3175d27207ebbfe42b24404227e388b11d92bbbacbbcf152d3fac0166acb868f908515903e37da98e96aea367c179530a43f78d877cf0838333fcea303cf6710f046513f01d586bc54b42bfcf5dd47b1a01ea8b95aafb4b9406888b3266445f749b1c56459ce4e10a57edc59f610b8b74edf9987c9888460108a11525d0e7228ba5eb9472a0fada1d056c8b0d08efee2761107595c6b221716b6782c27bd7755f1a23aef6cb966a31471921594a1de17ebc7e5b52b933ae52a0794bf4bcd1a792e78a47f019698a37d0d389ca2040c0d3758eedf0fa810041574b32938d290cfb45\nflags = WeakHash\n\n# tcId = 68\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 881dc4bf8b2c6c17e10bef3dab327b4cbb76413a7e5afbd24f198fa461bce9392d31f0a11d69bd67b75fa30ff2100dcd52b8e0c24c91b0196d172ae3fc1d40fb167b2abdce4b83fed365b9d5946a333d0f669d99edf7b8a3a1c8ddf2397cb77bcb62aecf818807d696af4f186bf2e0628ddb1b9d45dcd6eb965dd1b5eb2bade60fbf5b2ae816f45f9e0ad024039bf64c081e37630d6db51a368e92256268178aebd32963a07693f828d01eebaad0fa04e0ff29d8c7ae681be4ec16d2a6bafc1573e38f58c6c2c36a5d5a2ae7718adb1390770d9a3882f895b3f0fee16a2bdc743b0906567b6938d73a666cc33d85142359d40eabbc1da65ae616c7818f86fe1a\nflags = WeakHash\n\n# tcId = 69\n# bit 7 of masked_db not cleared\nmsg = 313233343030\nresult = invalid\nsig = 15872263f8270e7ae9d3127a9b677828cae2077e534ea349070289394d13599392b5f803f8dbfe40a5487223dda2a3c6f30ddc92c4e6d9d22e7d0d2b60197e032f188da35457273ce5518b426196c952d0219ff6190fce905d856d491b00999821ce8d1ea4b18f3423ebad242bc846e0af408f21cddbf44e9e5f5d300d71a3b104eaa2230ee633d2ea44016af735cd5ed9c7b421f322781547bcbb0cd95e4780412f734bf681bb47abd46b158d251ec92056553ac06a59c4ba7fd20bfe50cc58386832b52e548df345b086b5757c4c9f2e133131becc90a72ec6c313e7664dbc922c87a90364bfc746a425df77c9b97dc2afecb2cc36fec415a4e1c6a957b4b3\nflags = WeakHash\n\n# tcId = 70\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 6de50a9911893547ab56065d2953038768cd0689a63b0703c0dc99e7cda412ff49eca503671f068635f69b38c0627427f02785b3870c6791add37d436a81538e6fe3dd0eafdb50a18d2f2d97e3cba062fc8343a6dfd448c11997d1c5bf6e1895e09ab435ebb16052c20347f4d077c6c7779297a29e76e49cdf0d10713fce20ab51d273febaffd0679a1ed56da5c0430a90a5fca1ec2010293b2eb8fe34a732ef4679318fc5682cd8796d57be09904043961d5171fa3230674501544e3d5482f510afeb0ee4ba9fd1cfe5ba5527c9c32ff09df579884d4a5b0351cefa07baf40961412348b6846fce5bd6d65a5438821218d677e774828108ad805f574ce7b597\nflags = WeakHash\n\n# tcId = 71\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1f47ac7fd4585ea42ab08e1002f547dc78dbacda00eb2b3e74d0e46d45ffa8fa7b35d7afdf605b2da772bf54843f15297bcc6f52eeecaefe1c26108c35f9059c8223767c19597f4470de5028b6c522aefc5b61d545ebd6d3312cc092d1fc2a70c524fe0256029d3d357975215b2bb62336c4f4923eaa0cc422a3a088b86f4e0d81b6b4e04c21808a19ac229f2657edd42a6c41e883e69a916717b59fc6980d79884eae5ea918022da28ce2f8e52a2e5dd50d2d2969748c2d97525e672c12113f605b8c4bfcbfdca05bd85285d8fe6d22b73d3b04fafd453cfa7267cefdb5281900389ff53bb4dc3bf0dc366d86912d822410e8f77f33392c0c27fed3659da463\nflags = WeakHash\n\n# tcId = 72\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 7922bfdd4da222918c573184b1d81a14fe87eca0a30c55f9167ad8144ea06a9d22b108a41437b42aa08afac44e7661f7b4c6293897426cb2e960aff163613349b3581cbd3a884ff9898c45c5c213d996cdc1cc119dbcd7e0e99ed08f99f8b69f8aa079cc6d15006697d4a7fc5bcfd349fcf26f43b6f5074db8e448bc92ab8442b27e82643a11842a0dc70b822cf7ae26e90791f67d25a321aec24ccd7553e631bce74888c43d9ecd18e77fc24615ec445b7d7ee83aaf63c0733da25ecd512f7dc7eec6e3fb499d7eee6165c78a4275a9e6fdcb1b962f38c8139da5089565b39c6d73739f84c70ed60e2c83bb4f351d4c87cba2cf6c68b9879e283b9c5e3de1c8\nflags = WeakHash\n\n# tcId = 73\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 8a7e600a6675a06e677ff1344fd53a8dd2b99fcca40c2ab799636663594ac3fe2a510bf1e3ec4ca9dd28cced48b4e8457ed74f4ec2adf31b77ff1bfabd0f80c9ab4688f15630406d8ca31edaa3a3cc7980ba1b760cfbd3ff9016e1f3fa0c34cb59378b0f3745b451fd3e053c8711ecc41feaaf350980532a7db67afc35f00da1f191ff4f66b8e7e27368bc26160f540af784e8ecb38e2dadf4be82e4b761626c5c06efe0dada642eb26f12d1ee96684a5ef8e5feeeb0da9ef432647336e4ec715cfa260a8727aec4a080738086ad26b51355b8bfaf1b135e97d108b36c73b436cc5cb59593a7ce0f0e7483152319fceb37479451eeea098a8eeb0dee19756e03\nflags = WeakHash\n\n# tcId = 74\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = WeakHash\n\n# tcId = 75\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nflags = WeakHash\n\n# tcId = 76\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e4\nflags = WeakHash\n\n# tcId = 77\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5\nflags = WeakHash\n\n# tcId = 78\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00000bb9473d3a8cc4abd63c6f2ac13e278a9cd1dda844fdbd13e9b77cdd52c1b05ac59126e45d276777e8b1bc423cb261d29675988954c9ddc38bb9a67bec5e03e1e780915333dfe494dd8a4f0bfa0d748805885c389d6f7fb6f786c58d21a468b3589346d70e1153e29dcdb91dec8ac185501efea247bac7c63e3c546ed635e647097bae3b8ccb992701a75d209c439c5dbe8122da616a4e230bce08f541abff854fb93c87fdde0fb457c44b2783568bcbbfbba611d8e984410d360c4ec3732cb69426a94191d5a0cb33149b518ded86864706c723b27228d74836513191cebc790793e5809287b0279e7bc82f266d437d192e98975960d0014dd02e172b7fe251\nflags = WeakHash\n\n# tcId = 79\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 0bb9473d3a8cc4abd63c6f2ac13e", + "278a9cd1dda844fdbd13e9b77cdd52c1b05ac59126e45d276777e8b1bc423cb261d29675988954c9ddc38bb9a67bec5e03e1e780915333dfe494dd8a4f0bfa0d748805885c389d6f7fb6f786c58d21a468b3589346d70e1153e29dcdb91dec8ac185501efea247bac7c63e3c546ed635e647097bae3b8ccb992701a75d209c439c5dbe8122da616a4e230bce08f541abff854fb93c87fdde0fb457c44b2783568bcbbfbba611d8e984410d360c4ec3732cb69426a94191d5a0cb33149b518ded86864706c723b27228d74836513191cebc790793e5809287b0279e7bc82f266d437d192e98975960d0014dd02e172b7fe2510000\nflags = WeakHash\n\n# tcId = 80\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 0bb9473d3a8cc4abd63c6f2ac13e278a9cd1dda844fdbd13e9b77cdd52c1b05ac59126e45d276777e8b1bc423cb261d29675988954c9ddc38bb9a67bec5e03e1e780915333dfe494dd8a4f0bfa0d748805885c389d6f7fb6f786c58d21a468b3589346d70e1153e29dcdb91dec8ac185501efea247bac7c63e3c546ed635e647097bae3b8ccb992701a75d209c439c5dbe8122da616a4e230bce08f541abff854fb93c87fdde0fb457c44b2783568bcbbfbba611d8e984410d360c4ec3732cb69426a94191d5a0cb33149b518ded86864706c723b27228d74836513191cebc790793e5809287b0279e7bc82f266d437d192e98975960d0014dd02e172b7f\nflags = WeakHash\n\n# tcId = 81\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \nflags = WeakHash\n\n# tcId = 82\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 3598f87916b45e657df63a839c7e544953c0039477b396a276d8df752b0a98192a10fdf431033353f8565c6de1b268f4ccb44c00ce760c67e97409271c55055b3ea885d742def2c6cd32f5fed077193d12bd48d78130353ad4aca34d9148bfe80d8ea455c3ce4b24f70131908e1947feae311e29e0ae9d1074ba73124568468e34c8b073283d16359c530ea613adb4de2ba94ebc470a57055571ef9f575c068e00de09b6d1af2051b93079ddc683090d4427847b4b9ed63a34a01d9aeeef00524278ff54b7d2955ccae5ca1001ee7588f5a21166dde7b2941a6136b38d374aac73752bcfd3e700066b2972c66cef76a48d81811e26fc7646974a149708ae2d21\nflags = WeakHash\n\n", +}; +static const size_t kLen142 = 59654; + +static const char *kData142[] = { + "# Imported from Wycheproof's rsa_pss_2048_sha256_mgf1_0_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 20081f8894a1330c4d503f642880e3c30e398fc6235c24f1be752e2d49cd9493ac0cf999e275c4f89ff08f0d9ba4e264a332525a616d336bd9e822f41ab3f4fae2f48ec66c2e52642ed93b7cb944396fbaa727cbfdfc1f20aace99a6f2a74475c338f8d9f22a38cb5bc51752076503b3aef1e65e5a8f8583d9ae7378ded038cf516898ad06beb90a42b85764526fcea44f74258fa4efb1da253d337f65619181ceb832dfe285ce78ae6b15f204e23bab274e87445d9f5df97f41dc8e3a97736b62591d075744b2552f90bcf1b1393e1e7627ef1f985f2bbabd52e43a35d0ddf4c67126e391f922ef7b1bb1911cd6e1b303cb2910dd70672bbfb62ea4eaad725c\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 4bf16f098701d340c438368e658ed8904d3a21f7714c02440d7476ead132766b3d578b325ae752f906873af1b795585a2a0d0e6788fe903321b2080bd0dfb9de42c3be41aeff37e32defdc0a75f12adb5b9de4d067a920a720cb16cfaf56d7c09d8ef384a8aa106545229b540c52b49ecc9d6d14ea70480642b9cd0330efc005502e4c38b96a36456447ce2133df78854307010ec221305dc90570252321e06c1bb01d75100e85e68326fe92488c0c5e58524b10f8ec7458d887cec254d39b0bef921ba31fd5a117977f1945fc04837727456949ffdc9886f21071186bf32dfbd9c3cd6a2a00a1cdd5fc3c22f4bbaab92aa85116711f1c53754bdd2bc384f2a8\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 2b3155b14971f79c9e3294723c7e41ded41af709f6edb2c19f3526584aaa1ef2de2e7a8dcaf5d7c3239f604c421656dc58e8b0852f7a65cd557724a9b2a17cac38d8020e939bfefec5dce0d8993e75615b974944e4c4a811e40db63f13d2b626bf26257a706a7bedc863d0100b676ab70d4a4f6eaf4692e0b69ee4426cfe7cfc3e92d93bb804569883cf31fb282efa5a81ce9f6d9f0ed79251ef2a0b596f80e0eb96ede67e30457a07655d777928b898ed1679046673e489d9c6305dee05abfdeba7357099f9cffd00735165ddc39aa7355b10a8b8612dfa2f836fb9f5f89f1407365d6b39a39e89c6647ff9da5fc6f960306686a8ed8e2ce12cc7fd9870d576\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 501c8119a0f8aa2139ef5e05adc65384fa389b9023532171d514651ff48677aad546326a2e3c02b39ed84e5b7e4630604f2979c1fd7bf37da8e0cedcaecfbea6f9c715141a1d052529d0d0fcd71eb70867e2704377801a0ec721fc59fca9d8b1b08cd9ae3ab094f5bbe2faaf3171dcf1712c534bbc7ea802a2a72d8cebefeeff1530e4081b85a42ae38f630f38c1121199f2156e267ce2467f9b4853dbd29dd999aebfc402f2a0c33b8c1b8022941e754b7a187df4c59633dc6e76cb3200e34acfde53a386647833dc2accf244726fdbf440cd32503188a291e5b0678aa729b539c1f5f97e7b788c0c20b88d90c90a3bf33300d181b9ae797cbc76049b43be3d\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = a17d67937354c7fcba18dd5383edbf2f0868ccbe0a316876fb1c4fb14e7f4c048ef5ded5d01d02556cff0c8bf081bd09c46ce4da156e9810df195c5b65ddbc3025b84f91047049f205341ca8dc55e440bf8d9a3e98c231bb74e71be019cdf451e962d8b7e8e6d766d3be430c7596ffcafbb785e5fe8987ce721ae228832c8b4fe0b0071b0e5c652856f785695f70cbb3c62394a8291ba5f587d4fd7bb448649a72261447aae6a2b750824d400ca402543c8bdbbb8e7c3b44cb7085a83392346abe999ea2a5ea15e9eef6bf08a88096ee4e532369f0059285298b387a428e5e34ed7296e0b53d34c5e23f0d3c12e8a2d3132672a655c7048bdc0c69b36cae602f\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 64c26d43b028f284e9667d5951e70c75e611ae2ab876f66ccfaf09bd54a26dd17983d993bd4f5270537f4c4b2e48695eda28c8c365486b5fc3bde4049dcf6fd722e634fdf5571d29b1e156a48b0c706d96155d86c20dbbb1a47c7e54efa15b25d76f502b3069e2514f89d9bdfda9bcda02301c58e2173cf4f3dd49d8415802c11aed78f031e8e2e50197443e5fe9ab55afd8deeb7b5db8ba7a7b9fce6b7d9eeab9ef25035742d076935c059d076b4714127d408c9428a90cb9891a151eee8de7d0cea32b0ad2d8ca4abeb0521b296b5ac08f7c53d5c85e47ed828e0c11468d6cb50bea89e4b455936376bde9f22eb98b3e2395eedd05d1def38fd5e082ade3b0\n\n# tcId = 8\nmsg = 343236343739373234\nresult = valid\nsig = 08a900c5c0cf38963b8d47682cc7dae9d3f0a78e571ee5bce658154248b0084ab96a7ab0ca8c6ad8d6fc105040c9de8f8df61c1b6be59a5b899df586026e4b3ac1531ab09b5fb5026cbd252c6a548fae9ee881fa382d98499fb88c2b061f560e1daf98145705054fd0ce66d8fb2f64ab160f4bf1ed1a54cf69382afb75c71cf4c38bfc1603653af35a7ab1ab7268cfbed88bd4e779a8811acc947a21b059ea43c19786f370076360f4620a486d6e0572e5c6c796604736acc5b41c6da7ab2a40630bb8bf572ae96c9bf293580021d5a0b42a196c74b80b55225839756380305203b2bfd7525618b402d5288da288bb3d78deaeb26fdd432b2aac746c4fea8b0f\n\n# tcId = 9\nmsg = 37313338363834383931\nresult = valid\nsig = 29b1c67e4be642cd69e7f38115db51d963a54260a877781ddeba5fa6ff2fc0da182f8923bb9257e92989438392f047943f5769ee057c7162c71cf2c0147ead670ab9ae2c1fdab604601a2dba88483b2d3b1dd530aaa17f7a056f1dee49e0b967984506bd39f2df29a06d58f159465973a0fcf1eb5890464863aee92a4f3938742c876164ef95cf34753e9926ef87004d207b9e496922bd00dfbaffd9ddfa216a4b7bffad0d9608e0a2e8d22e41a514494683831e25c24f032d1bfac19d193c4b343815747a254f026313a6b554085921c6a8d0b362a7e75f6419215a5b9d4b7b872cd952f830426462a547a475ed3696bb977223c1fb5aefccaceef99689788f\n\n# tcId = 10\nmsg = 3130333539333331363638\nresult = valid\nsig = 12a1cb80d9ca2b229f85c7aa1705abaa6152b3fe1c6ddeadde2de56f49cb5d5176c91bf9a12a12372753d0b657fced52a8c6ae88cf6e84a358b996fd06ed0846dd685b800232177f17d72da5e817caba8ec9a1f08ec7e015aa2821a1f9777ba6a7d0950449254e5bc5a0bc63f7a6c797fa5b2d30e81704735f8dbbe1a6c7c8db18c142b0861f8525b66e4c55090377b08350001b18cd27f6e1be8d43b936883f7e057016b78f6f810cfbc19d394909040844c9cdc9ff5c8b37327feced820f3dabbc1f597b2ed353e7bbd3d315e9e02124f98b014be827c635e13f284c1dd5f5457129d2ef249ad12659cfca95646314abbbe090e12ff4480a50e393a47a19be\n\n# tcId = 11\nmsg = 33393439343031323135\nresult = valid\nsig = 7bed5bb43826841053d23cb2f574c687be827e9968b37af248db451efcb818d0bb8975ddf7407496603281c5719aab83afb418f496d8cf26e91c56974e65b382f96a206995dff1b57839f7208e338e86358cccaa30cff9677ac0a7afa48e8ae3e3942e36fa3fdfb47db4295027e0cc4e2b98ef1db49519b316ff4bfaac246391691c7705acb89923d39981388286c5969bc42851788872659019a3bb05a72fe815ee17dd0bace92a934683e019049669ef285625b0bdf9935befca3a0bf6b4154d65b62a83597abfdb0ec335c2cebfa627918ee28d64ef0debeab27e9efe", + "dfcc557789f44d1e57127b066a221e11f4c0b146293d78d72a5f899f954b5dd37c1e\n\n# tcId = 12\nmsg = 31333434323933303739\nresult = valid\nsig = 38b09eb6acd2d2f0e083f0bf84523a475fb5519ebcb8a5fc2007cec2ca6f01b14e4332acd935b070140cb241b4255fa097db2781b572866b55aab5684d73181b4c911ec6e72b3c267c09469737ea36eb2aeba743c29fc4ff0c82b3002ed8daeac313d2ec4f7d9e707ec334f0228852eae8d58c27e1fdd1dbf8d15b8a7b0f824eb4f2c0191924749e2af4adc0a0ed41978bbf390e31860068aa8db5d5c7c7e86b0cbc9239fea65bf0d9b0a4d7a7058ce6e423858d3a0956c3ac3af7f408c7926ebf86d47cd49de364f90671afb52bd7d17aad00833ec79e43401ea2437d0ef7a89ad35dcf884121bf91ac17df17163ae19f084398ca3abee47db7c111c81bdad9\n\n# tcId = 13\nmsg = 33373036323131373132\nresult = valid\nsig = 495254a0e2eb9ca9f0fa281cc7ee5031ccadd0ff52a1c77dc7fd027f54319258dc0a4e4bf98d13711a4d9ab0c1ac8d67f98c04747ae6b9ef95e67c8671d7d9a2a2bc5e58b1b863525bc10c6fe65388590b96f246c58d118f03bc673b87715db69385907b5ed7ad576b452361ac8164f9eadd250eb445d697ce7c0bb4360c65868a8fe06101b56f4f7cf82a9bc78254eff974366f2ca2f7a17096b05b9bae47ee572eb60cceeaf1e7b484e90b5b0a8ee6f1517d1e694d23a2f9d33ff47a3acb7c9e93a6fb9ed2e994773caf5a8ed3453554807124fc4a4a19fad88c70d5d5d90969e19acd4c1f10b87629dcf5de6a7441f47ea4cc4b84ca6ff43e0905a73083fa\n\n# tcId = 14\nmsg = 333433363838373132\nresult = valid\nsig = 7d0aee24ec62cd2c6238e49dd589ddcc804b5122f57ca8c2d3f7ddcdf1503c3eae8ae192a0057fca6ebfb3231cb9aaa380bf4509df5c83204cc61b4870e4233616ee7097507222c22010c3f34b6c75e4a341920dce40e4cfb72206f00dad39cd0786427575cab19832b64ce9dd45bf8c0023b5b007544c4048eb06b0a73e1583db64b9ae70ca88a7a169953cb207acca099876841c6f0ae9a4cecdee900d2ef1e5559f8b496467733e44bdc6ce8f222fce5e99ae3bf2ee9f6821dee0f1a1fdb072e92404e325e06f813d70df6525e76f0ea5934e53ca6aa12160f6a92dd9d1f5a4a61e47f3f01f297f0470c343df4167588b81c5223908b68c4e2380d95fadb6\n\n# tcId = 15\nmsg = 31333531353330333730\nresult = valid\nsig = 5d822177791faa3beb1493af760b50f62e78f14b3eb278679d59dbb8ff0eca8b4f4f90124b830c8d635e90b86de97d92212b1e42aae57cead0650e7e9204d3d204b43d2e6376092d2b280acd18398295650dc94f74b7fa7198c0868890078422e2ce12d375986ef387a82b188a231784c86e85ab0c630f7876c652e4f4ba9a4d4dc3ca70316bbae3399f82c3e4e24983143baaf4e176c7c0ec1cf908eff9c15b3468fc7a44f6bc077cc3467e4ec3a50ba51858ac9cf3cff0c99ce5c963ebe5341752db2cb6ed5980544056d308c7c74fd14985a414ee61669bf4abf48767071cfd0c1a1df84b8dd4dfca74b342ec820aeb73a5eba0df78b85a568dc36ceea5b8\n\n# tcId = 16\nmsg = 36353533323033313236\nresult = valid\nsig = 978c8852ab3a09c6e28f627cd917927353874cb7b2d6647f3f5889ff81b048f4a4c6073ae6d99bc7354d9e45c805febe5be5dd3f95ad14513119169a6ac7a6a5b88ead2171d999f199b324251566066f8d9a3bb51a5b59c799858d459136341ab774480f059fee153bc03e37cf676b1db4abb2f7979554fb635200ce1c53448e5dc397be13c4d8f8bc2cf2117a0c4ddcb08926fd5a1addd193d0c1f2167731c73affba2c7437443d8bce828540a3d42f03b590dded0958aa4fe48d66d3dedb0697f366b3c7ef9bea8c2b5670a31c41df21828a3a481d9e42c93ef0b5cf43330e6356021893078179fd857a14c437d8b8c66d4e4efce1369f6945c6bf878508a0\n\n# tcId = 17\nmsg = 31353634333436363033\nresult = valid\nsig = 132228bc781249b547b2543f004b5807c05f6530eb685a0a3c6b7ebe5c38ef39eddedc5cf3f98f452ffb202e30dccb8f14c252e673473ec7bfeb0d9cb16c2d88ea166fbb69eca16f7e0305e054f158ed24c74d02328730488179254ebd63972f2a51c45f274939d89bcbad5df3d3961115392aa483beba4f00e55531550f6e167da38519273b3d16555dbc286979b40cee6e5e5559cdfbe6bc208b53e6337400821c43646f940fe624466834b335b3bad27b8f298dfb4a1d3e6308a5fea77fd5347abbd2ee8e708ca2f8719cee6ffe9aa91443fc8ea50417d5f546c223fd07a587ac547a2e4b3f686b7034c06453db15fde31bd1b1c76448a3bab5d14c7ff94d\n\n# tcId = 18\nmsg = 34343239353339313137\nresult = valid\nsig = a04a78f92d6693c9470e7e88690e40a4ae8aefd0af1845450690337321ce5b5e125f981b768e9e0a8a4a37e687a038da1d2c21462b962b3cbbdeb170227fd92f8e22e99e6a183ac68c0c42708e369559cfe7a1bc5fd64ac71e8ed34ce70e86336503028e6174b3ff2b9076f4b6b84f050fe36ac45a0f1de677b78f42908de140d1f2a6ec887a4fbc795f761f2f9b71d45de9e6ce7820bd6fd1a53f0c1516e3df5b31486518b767ab554814ede6270b417d53480d82c415d86d40355b405341034da2949cdd7598195975236e264b098822aa8844488f16fcbce076baff03a9aef6a2aba155ca14fa30e0efff4c968eac265760dfff2056f6b1079dc29316b629\n\n# tcId = 19\nmsg = 3130393533323631333531\nresult = valid\nsig = 221efc61ab6dd3044cf77780d379c01af65312951e5ea5bd5ecfafa5ef55c5a54e8bcdba38a7b12753bf049e5aef8f2b71796429ca9350ce820a10c7042dea4beef196ed5ec3a34cfa534e711ae8009631a6a3c6d87b25af090cabb2c80e14321763fe1545bfca78267415fc89878e968283b216af23a9a5e675028e62e1e2df117737c773d832c705d3ed36e680f1e3b2ecf06aeff69e0072f951a34449b4134e9e139ffddce8c38b2ff0d20a314b45a9345e3ae6e312a94673605e5ed8693002d60629c60fa54469148d5c50d80ed8a1a0d22e4672f9f3a2eb85d298928e4fc333fd1e0ad5909e65b8fb82917415473f28a17a618c07903e8acbf8015e1c81\n\n# tcId = 20\nmsg = 35393837333530303431\nresult = valid\nsig = 55b67374c9ef2ae609f70bd1c805f5c092278e8a2e45f049b949bd57d4bed44dd9880cd59896de266e3a5294f29023a7fe376bfdc35bb92d542f28f7efaa37d4f32c297cef38c723b27cd1fc0e45f6babb61a27547b37a186866a9c725a0d4253e35befebf4f47aef7cb1c4b35419b6e024e0151d47c0c49fc3bbeabeb75f2dd596fef0f8c9c275f6058b9130c58e0266ef12e0233c6d16f78ec5ccc1e8c7e03e3bcf12be33317dfb660cf6d3851bb2aeff5693fe1a6e4b644e0fc860a3d6c2100009f29c632fd9a579a6bece04ed27baad3c5d62b12ba30372e5d7bed23702c146f4a644a6ca1bc9b23f29cfec3b47f7c92e9fef471b9e2555700ac3c2960b1\n\n# tcId = 21\nmsg = 33343633303036383738\nresult = valid\nsig = 74af7b301b5b480ab70b7af2decd155d7c6a280ca77663c276cdbb702f7843fc3b0e3d54669fa9b99093f323533f3ee584483c83fd2f20d2d291ab8482435fb53dfa19a898fce36f470951b4808ee4cdeed273546db4e6db79cb2a429c04c6e0e7661f6ee84eea57981797a298ee37ad2661b002345afc0fe97c6b2b955efe1d753f3e26533b43c0ee4881e6e7bb36bd56f061bce340a9af0a679bb29f10c3c140ab6a5d3fee7f5ee90201d335a09cd99d71c3fc4a890723f1992f18ea3fe672ab6556140fe4ca5b16b168736d58ca8b0e2be364931a1c2d63ebad5fa3a075a889ee1c56d5c128b151ba55a0db4139973143182b6521962ec36a81975b0e4a7b\n\n# tcId = 22\nmsg = 39383137333230323837\nresult = valid\nsig = 3ed6a556e0d26350f61ecc896550888481a0e4fddc0a8db85ce3547bef67d5a4dc8ec653123b8fef836e6d16187c746042d8eb68310545578e7aa69d676e2fecbec00567e67d9f90bad6ffad56f2ceb90d06cacf8e7360439542a6773e0b25b15f385f356f6303348177e662b6ed30854dfd40b649e98eb9289e964e15bdfad7a5596435a2c2e5f849431cf14d2b3549691e642d5dbadb128f663fb06f84ae233d8bd81fc7571970de9c5a14854ec03b3b424aa5091c0da9a25020d83ee439e84898411e977db53a9bcae55985c218c1b3d08a964593774f9120aea723683f8ebc9f095598a1312259bf1e20ab6a79928fb22858572bb11a77354383713232db\n\n# tcId = 23\nmsg = 33323232303431303436\nresult = valid\nsig = 05d975ccb92859e4322c7712119877401618268ba486a05a525ce5fa879c5b8cb2e38171f1b8c5badfd2d32b276767389b011148e994c400b8dcd2e44919b20fdac75ea3c5bd2e1b488d285e974569932c418741da41ab229dd65ca09cf281f42e231c8657623dbaaf7b5d875aeb7dd4aea1fd15fe6a0b7effff66e9bf979e70b0ec28dab260ec68d679b13e76dc1f0a82a0c598b3412cf6a2f306e8e5107698d3c54a7ede188ff396ecf7e153cbbe322e48de7fb4c8eee3cde0cd35615779ce24f85f550a35d3d31a6ada6175dce6346f2b4c7ab0d60d4a95500bc54eb5a1da6028192d5a5372f48dbf704784db5616fc1e690f7ab3be167b5328d487893c3a\n\n# tcId = 24\nmsg = 36363636333037313034\nresult = valid\nsig = 40f9b74051d6a95fdaa25b05598b422eef97852dda217d51b591a36937af45ddf5e06f3eabfaf17610e55490ed3e00d11c8561f7cffa25600fb9ef7a5114399415a933eb6811ae2142351cc0621a5d39ff452875b1a669c666c606e4b817975b966635811694c8a920a5cbe8300df00c0ae0faa1a7812912daa081c7204af6eb7f7152ec82b45b504dc3214eb9ec5b322c58771410dad121f5cd887bff9976c38c3cc9b1a44d3683e95c76e6a83af6c650cf6091b68e6ea2e6f28b11e0c664ad132ff098d0cee65c8f0b436328332ca0bd1048af8de618fdb494148af8d2d98ef4819fede564476a52fa2b7d176e57f0fd9e499a215de6b7737278d7e6d95a2b\n\n# tcId = 25\nmsg = 31303335393531383938\nresult = valid\nsig = 94cd1d5b54a88649f920e1decf750e04c8630e32d71810016b98818bfd0d978bab2725466c1a826bdf4ef42b115b904e328ff1c012c704865640af61aff3f7bb6a3fd667ed2c91ebb93a0232655360807002c2f05fb64c90f842b7bec11dd1960bf85f2167b397e0852b790c7f193d6e7f264b2a5024807dd5d76d9487ab0e422c9216c693aa1709e56b3b61719c9d6b35f510a721d9471f83ca1a6e46f7c14ad0e4ab4f2513a389e70977b3d7d9917a13c25c1a439a75185e9aab64ee7576db623e514283b2d94e105f8c39acdfd853817275e90541c67812e40a79fcda5a2d32d2c400d1193f1b756c98e8d3212575dece26c44792fe3fbce5dc56d0248c5e\n\n# tcId = 26\nmsg = 31383436353937313935\nresult = valid\nsig = 17da6446874a87e7a7ae4fb637", + "c191db1d13c20befdc726c8af26a63b78bf0c998b82c25a125674a50717a849ddf004ba0f1400921c08a37a0c56a728322a2069dca4121c0c47c437e7a16cc3592ad5441a157028d8cb6cf7ce5b8582fd525a1c5face82204e01fabca60243022ea4d58126fa33170a6053ce2fd53b46b165d105151d5a3ea7b0f2f019784ae87fed529d771ba5a6a6ab60934a8aef5d4a4f25e5ac91b64e47aee095352ac6a9f68f5eead836730c08a35395e0a2cc1aab29b7e1d5ef238e939e9847b90d7228b1239749e79c07394acf13aa32e349c23731838b241c20f7ebfa627f96dcdf395b4f773c74347ccb966ff8a3122f6d6f1192eb\n\n# tcId = 27\nmsg = 33313336303436313839\nresult = valid\nsig = 0169a22f82d7c1fc21caf6131d6a4002578212f3beeb185a832408833bbc246f05222959e90849bd41207d6d74a48e084b6eaafaec78c9c0aad7a9b24624e8c4c66bec56fc86d2ec31762a7498dd48207a16b315c68aac94662013940307e6f6dc1d2d512885198f288adbd73b3109300b1f03e137b904f743ccc7b90db246c7ee7b18c1b6b2ad5f061496f8cac534b58f161e2778e8f73db6f455aad62f599cffc8ef16a462bf380e0d09ad8295e7e9a7bafa1b7fd84166dad936373b323b525a111d3b34e5f918358cec48144a99f2c614ffb23f9a3c8f9a491f8a7fb0825dcde62b40b9b56fbc816e21425fa4b0621d215fa019d293107a547d55a1f552b9\n\n# tcId = 28\nmsg = 32363633373834323534\nresult = valid\nsig = 78b2098126eb13ca306f31cb64ba1afc17e053580b68184a029d5ad47ec8029474a64dccea67ef1d01b4f95f1c2b416d312437139ed1977ec80a9339bf925cd2f2c157dd3accb47d1b85eaa43a7f2f6083e85084b05d80336b2d0435315d0124ed155be0100a98f75b9d7596f3799cfb3a1b7e2a8ac3c805da8da5844a27b04486f80f1ddfd463ba9d01a850096a600346772d8bbfc73c9932522687b296ddcf2892f37b2a9b90be7dcd9081df2a48014f5bdd08c114989a4920ead57563c4615874f3b7707607d6257614847bd99429642a58a305383c835a1bbc2ea8b443a2aaefa5c8cde459904016ddf381c591dc238e10a8249c7e1caad96b42ea415f7d\n\n# tcId = 29\nmsg = 31363532313030353234\nresult = valid\nsig = 37ac7d0088f21118f5f9f834063d56966456a9ba840089a1b1805fcfc808ff22cc9d7b3b3a361cbf1c2f96c62f694b47a6e9a19f2adace721200a52110f34b9c95f45fb4af9c250d0472018069d493847fafd468e8f50b4d2f1ad97e10015862ec02822b1e17dce3da1715f6f09fb89b4f7d0c35b8509445f770ea6ec325e933c651dd4d75f5702080ec3b03c48b380b1f202112eac8686d3e6e37f2685a6be8b078584533ae66855cfd6f6b758e4487bab19a65a12245a6f177fbfd861c94c5d30b6fbf750d66b682f98e34facf4aadd67b4db4463cb08328d8d59357895da55f1736c91c62b2634a66ace8b2ea44a86e5dbc09aad6998524077a68b9c1f33c\n\n# tcId = 30\nmsg = 35373438303831363936\nresult = valid\nsig = 6d250a920de5965ec36ab916ad585ef21252355f0629b084a119f7e9b73d3de14256f612fa92e3d658efb3e53343c0edb8b7e55a704dce2af2f7d861a404d1554fe19aa9a6b9aa8a13897247a37a2d973cee58c3608c94789fb8ac1ce05d6f0c2c1c7b8baa7baa1cc8d77d4b7e911db371038117af95b1e240ab317031bba83686b8ab99d75baabed4873fc72884794b3a3da905da016ac292622b8f73e446f46a992cad8d2b9c9b4d50381f58de58da58a25ae341b11d302e11db18d2bafe673dea1093d67f7d1e4919abbd43c0c0008b8eab089ec6bbcf126fb9998fa8697ab48cfa5d90ae76eafdecf18037fc3c8c5fba02e37ae79b29665c051e271f269a\n\n# tcId = 31\nmsg = 36333433393133343638\nresult = valid\nsig = 97a3e342aa73973a4b993873d1741dc9ad916f5de63d78f8c6a7f7b2247e2ed62a76510d0e25e6a27ea0e2ea8a5d8e38381528f913458bf6caeccb73fe2e2ae3830d0c3f463859bfd55fc26e5bb16f95a1517f445979265fd09b17033297aa6d5336206182d5030396176ed04b0f6b86a9ad9d180c17f7afc6aacba9416f0a67d5f7b8d93c994b719fac075389f83eefd9c9f3ade146632917c26f622a1313ef470f257f67f9fbfe67245ec253959751a84ae84c7a0c06129337645dfa36c65ceee8fd1ccbd021a51781f4ab8398af3344b0a3b9036ed4b9d17f7c572903391a64a8c45c1fe5ef9da607a0a7ced1f97a8651b44ba4f037484626bf770d1765e1\n\n# tcId = 32\nmsg = 31353431313033353938\nresult = valid\nsig = 6fe1f5e3f11dbac400043505b0b331c32c28c37b4d3cfd9bbf959b301b3bbc752248e052b5fc3fd6c80b2a8175440105bf84904d2fa9ea763a31ba532f7c528e15967f4858c0a67fb9b91b0ed43926f3bbb90d970e8d81a3d2380556e63efe0b49ff702db5c1835adbad43830a983fa891529732104e60941c03fc8e267c0a889ca7d29d615811d05e964faa99f81c2bac929b26b0825c35abd7d3a36c09568141a53853760d632446d4088d032b348ef0942b91ebf1c68bafc91bc54863452245af96c00250302a05b24723f7327ef420fcb4427f40d5e33ef4c4820e0a7df57c24814b6ed8bd61de28c65976356a3279d52134753e008f02cd9d27bcb6330f\n\n# tcId = 33\nmsg = 3130343738353830313238\nresult = valid\nsig = 9ae78de184d5b7207e99087c84dacd1d5d510119a25b43155050154c1539a7b44146de65c835426365c6d8778c29e6e7639765da4184dbe09e8f5946eb2d632caba6e31eb2edfc30016ffc4e3b7eed4d2d95cc563c2794d70f8ef60ff3f77f876d82cd075bb2fb6ab0d027ce9dc5f3b26a3e93c8a2c2e8bceb14f9eb45ba4e1095a19f441fee145c60df21adf2068fe566dd7926dade24b31b71f5db3d4ddaf6c4e44bee59e0d3302dca6d75fcc87952cb58555c7dfbec53975c7e1cda803c2007ec1e53fffa363e69613d17f870c2674442840d1005039ecd2106921ab6ebd9d96e21307a80e994ff85eae5349f4b426d458aeb22cae533e46724cfa5f2b442\n\n# tcId = 34\nmsg = 3130353336323835353638\nresult = valid\nsig = a288dab1bdd7f4676d1bcc84291a7784be62f001c5c1a83ad575b15cf56a868600badc95f22954f9f474340d874d3d56fd23a8a85ee3f052c7be5ca653cc2fd2c1ea62f02c0c5b653fc201272d432671059ee279398e5ad0c45e735eb5c03a2ff9c82ab53d1ac9225589ecee80fde90a036e079e45b33b0b4f0e6afc317ad3744dd65d22607cf31dbabeb38b0eb935ede4420a1d8246b80da217dbed5d1cf6a4cf88ac03a3eca307bc7af4cdea63894f676ef253f7c8e1e7ac1f67fb45abd2aeac3ac8899a73867af86688b67b3ecdf9e6380a84b99b98d2dc4e65682558d28711dbb1288a0351cef187f1edda14ab57a8fbc71fb60375e682a53566eba5ff0b\n\n# tcId = 35\nmsg = 393533393034313035\nresult = valid\nsig = 0a5339301400f505424bbd72a88355759ce2b8e43c97c7dc6fc90dc4bd339dd397bcdcd706ae49df8d5f535f37c4275e894419345bc01a15a11251ac2b01bea9edcf093239b6bd15196974ed38ebddaedd60e6ba3ee67ae005c73850ca8a13a1ec693433bba8eb40dcb23f33a1a6fac64d634c9363f276c119d8e7e7649e15fee7c0a039dd41ffd5871592b7bcd7c3052b3daff5c998442f788f4af43ad032f257dd4fa0c7c67f078d6b0608df1a1d3b4948327eded47f9f4ed16601a6e7fe86ecaf9721a4391b01051c00576627d44f66ca5657236e1f5260a31f017c6dae68d17e984997e1892626dd97f41429a914a7669e650182845b2614c77f39267187\n\n# tcId = 36\nmsg = 393738383438303339\nresult = valid\nsig = 8383a989de89656ec90337181cc615385f691622af128860328520625bfaa1ffd2792fcd8395cb8f4ab3986c00e9d43a0db678cf1cd3f130e95669ee3160da36b99eae9388a24079326e0c3e87eeb7fed2ad444e1b66d3072f057167ee967e9dd08dec183c4bd55b07280f74be43445a19aa0659f78fabcf56e4bbcf3927e308ef773ea6324e5b23fdb46b08057a1a63272b9c29a0d0ed59d4778ad7cf2ba576ec19d3d81c869cf762d04260ef805a35055d9013b327013da7a898b6684275dbe5057b833d738cda3f018c100d63848959e15492fade26378f4b39bed4bd56259ea8df023f2c63014fad634806f6a650b5e68fb35f6caf198ed09dedcfba9da4\n\n# tcId = 37\nmsg = 33363130363732343432\nresult = valid\nsig = 23b5e6dc26e10e99bf0405b84347e1cbbb6af4a8d0025d0313561c726de0268ffe4ff7b2e20a96e4bd699583281aaeb10b592e207e1cc5d8fb7d5c2c1d8f034467ca090ec4885e0a1b09dea61a129c967450cdb5984ac5dbc852893afdf333b5227df2f023f37f310f13dd73ecb9c864ccba1c93f6b7c4934fd817e26fc2cd607dfcc6618b41cc571603aa26dd4fc180d5b3ae915418d35d6476dd34d4612f50cca249ff661fc5a2bcd09a806da0ff0463489fc0fac10cdd41d4243766584ae38e99c68e9abffe362894cf5ab10100dd3171c6cf63d93da5f8f6f7d3877cebe64f3afa8bfe78f4436b83f8b845ffd94f9980d58a743856b6efddbbebabd31d9e\n\n# tcId = 38\nmsg = 31303534323430373035\nresult = valid\nsig = 9f8a9abd119e44261097a7fb120fa7edfb77418aa3a5498abeaf17e2453e8be26a814e7cc1a276a351ae002ac8746f630f7da9459d3fa4178f8ec9756fa6debdf4d55814bce8f84eab38dfa0c98f81448800755d08c3b9691e837a2aa052b5ca412e2bb8156e4a3aca3d35c9bd447d6b5b532905c60e70dd65f6c79a28f236e3a0cbe4f734b2a3b22fb733e45038820e087bdd429b5b54b84a6d1210788bb558f0325ecf8ab7f4641bff09564f06af6d792df988699550d35f2197b4bd7cb7eaea64341ce82391ab8798c1ef6be8a7ed8f2e1dcaa331da2844c06e3e056ad0ba22c4724ea7929f57274fe5a2c462780b190d5404c68c823ba233ae35026a6e72\n\n# tcId = 39\nmsg = 35313734343438313937\nresult = valid\nsig = 227fb42cb5c3d88b8b71d1a6522bc5f824b2507d2998a94b9b972cabe4ab46eb47cd106f79c17d4a0c59c7b74b5b3d03180ce155a8bb0920e987fd2bbdd64d91ff3f57b5dfbe57f3989ce4aa9d9e3efafc501c4437a0b14e2983262a61b15a1000888ee1482bee4a1e6afc92bed17f35a32df67fad28979775cf0c1edde006919566cfdc3657c9ad2a82d2e68a11e23f01f4d8faff873f5bd1609e3b901ae13f8a599d42d2fb5ac9f9707d730921c5981cafaaed86d370bdc7585bae3ea4002c50c96b195283592c5d577c53627d946afa48d10e8c89432f50210f8e0c99a23eb089559390dfeb472db740e27ca255f0764c7a575d3909c24308f187bde90fea\n\n# tcId = 40\nmsg = 31393637353631323531\nresult = valid\nsig = 49b8d35ac6093bd9d53d5acf6af1a2f294c13b0072564931b8e69e11d7fbcc7ccea44f5e52f28b63b09dedddd5766515eed3ed3d595424e70846ba96b9bd12781715ac7c405acf97a8a735c8a9d274b66a54f2a24138fd9006b2b5", + "23d15f7d4bb45852ee0628584817c3211de2e62811e03f15060c1cdc5f6f7e0edae78570a53d04e3799633f8e7bc99a24d32f307963cce9e9f5e6d2234a9dd9a8baa39d9058d4f9b7509ae7eaa776d734da7cb7ad5148b2a069950405f0f2254d47e9e703a40cd517914bffb38fd00f4873056df33ed5022ea0115bfabc766c5ec8d5bbcac2a4c7081e5960bf1eb364d8cbcebac11866e5e7d1dab2d0fb18e46526a4452f8\n\n# tcId = 41\nmsg = 33343437323533333433\nresult = valid\nsig = 2fe90988f9e88d1cacc4c6cd2594c0d9b02513aefa1c82155bd7ec58e086b3d808b8854119623f17905445dce9a000f01b1ef7973db1f91814a29119eb744d51ff943f5541b0fd0a28e2f71d4dbd759cd28f3321325ea0327c19356bb576f3b211f79969fa1bb1faf333da12f2f8297030d6f268eeb0320299419d02afe8b455edf7b11691ed99b9800014aad94ae87478077c35e823f41a22f285d6cf575d1bd409a8af556c1adddc581cf3b93c7c161762e86b006a3d08315ccc52b205b6dfddc4b2c0631529bdae65c63fad31a00ae9923e48e9e96213c73afbeb53b9005d42f9feb73f288e2ab91884020ba8d198a9310b8880c912dce29083efe6d6e361\n\n# tcId = 42\nmsg = 333638323634333138\nresult = valid\nsig = 4348ae89c8e5d03fb94d2a8a63a6577f7ca10e7d53e4898e1cabc0ee96a1c7eb841b984617321fb05b812a17124f311c91ccb948765713fc5fef61f60f6dfe3bc15d1d937763c1f87b3899752f4733b6b740af3340ea0415d41dba82191f9af1cba3189e72c0ba44dda47edb6dff3ac6de21586b15353b54f1b2b2281c98b2334e39ef48691ddd4f1b67c06f24f22dfd08865ef3fca33ec4e113a204e349822f2b4ff512e4f11cf011ff8b6dbf3ab5cce1d90dcbdb91d13f77edb9bffc650f5f42ca1eae855a2f2fa9a4168997522bea7671a55d56750b78f9f66a2d72607722753fb9987acf43b0e66021580c79c5a621d96d9ebe8d24ed9058a67e27519ab8\n\n# tcId = 43\nmsg = 33323631313938363038\nresult = valid\nsig = 074d9bb6858ddec8816beacbf758b00226863d1c5200188debefd6da12b6e7be8e30085d913d8742f1215075639d930cf1671cce3c344cf915da8dc8b8aa46bb753827be2d4e2e7662d266c91bdcd4667d28ccbcd7bde90a4bada2a2296f0d5882ef9c8e492eb94707d0fb394f08dbd0b7177b756bd67d191ca24dd02c10156b5a456f370e745d840ba412136503aa9b4ffd387aa791f0b566d6cad88e7e803d9b0beb83708cbe5607c1650072b4bb4d5aced007efb0fa892c79534f7a38000dfaaedeb055e39be7e17e593b773dcc4b44b37612f9a639a6b94ced87f8c7a52314fae97c7e8213fc56177f9b8b3111fd4e7457482fb5b8a9ecda0e00f7b94614\n\n# tcId = 44\nmsg = 39363738373831303934\nresult = valid\nsig = 9e04804cb316a41d330e381aae555d866cb1be3556004db72eb4a11d11da11060f7ee7ddb0c45b1206d50ad2233141d2fa6fc190c09c92a5be6e977942e2a4f9740ed67dc9ea9e767f73690c908017736d4fea0ad123fa4f9fe84d5672dbaa5fdf758105308709f4c3a395433e994af2890415e60773e166b4c1529781548f1baa7b82340879480a066c3fceaabec9ccf66879ce3365f9b9c04ee2f85ba08d6e39ffaeeee2c45834b6d7e16d942dbae45bc22ff7eadb3d917c4db5f8462e8e6e618f1e84d16eb436d4ac4d07f1026ed75d70d2ba0332b9c21382f86a7a9ca702e855e48a44fa65bbdc7ef5c8760230a2102c6f951c639ec82492129d810f6261\n\n# tcId = 45\nmsg = 34393538383233383233\nresult = valid\nsig = 98f353e2fb80ca884138d7cbfd8243238272d41cd3d209104f5c5c40b498204fd731eebc0f4706e3e22f165a5c989bf0d0d2daee6fdfca4e599f355509982d988dd3061b1c13d612c003db6f562a68dd7cb7fe7dea74a19434db03da48ca84a8af51ef34044c86ac0445871caaf645470460a15620067a0a8e821ea7b50e6631784edb2fe884f16b3ee50eba2d815644744c9b292c5107ca2769004dbf4b42eb7d738b9bf2241c0739f15979a71ad6935ee7ddd3d775b7661513c7761ae448ffc3fc287077d0117815b3d57890ac37b87c972e32bc0f759214d2739c4be9307f251a4f3027a8dbb7e3f9354b26eb98145de81ea8e23aed401f315cc50227b5fb\n\n# tcId = 46\nmsg = 383234363337383337\nresult = valid\nsig = 4782858a9e77c710929f71af2b0199002fee9795161ec8cec449d3b1599a5b0235e079fc4c73ab09fe65875250638f0d075acabd1042ee9f51e66bdb15662a8328583ffb73f3b7f15efde539bef811ecea95d16cac91f30f80506d68c94cbab5b1070050168a96721c9709dc8cabf85ca3d72a9d3c5ed87b4617eb245bc34899e86b60d294fc428eeaf1f86c5474a9e27d7a9ad4588865574f1b71b1d8ae6655baba63a4e579deec9ea1eef1787b427d5f5b77b669733bd6f7f07ea41d6f2c2c040589fbbd59bb0f39ef6daaa28430c18e64d0acfdc072bbda932dffaf38ac4b495da1cecc36ca25dbaf06cbabded815ba6aa55f04db12683bcc4c5fcc5ce875\n\n# tcId = 47\nmsg = 3131303230383333373736\nresult = valid\nsig = 256f842e0ea1dd3dd5cb05cb184cde79ba34c87f083e215570b402ee929a47049427ad568b30c005ef4f88fd511096e23411e927fd2aa85a3eb6e01dee3e9fb5865abb460ef76fe8d932dc08945824011fd226915ee3977475660d7f40b3cfab3c9e7e90e37ff87d2daa834bb3645cd1832f2833febb80a650cde007fa6c5232ab5c9f0bc85d8c2fe326ef25ca040bf95a3e3734f1764981faa5bac87ec64d9b3e4a9867e4d55b313171740e8413a5e4297b206624289f1532c9addfe9f885a6a6caabd253fdd331e762a82c977bb21c8e1e5702f77ef0c2f69259e0027c3a7d8c7c8034fc24fbff14b5502816f4d7fcf1ed750d8be2405186afe54ad9cd5030\n\n# tcId = 48\nmsg = 313333383731363438\nresult = valid\nsig = 62bab402f229e26a535705676faa60d4cbd3841d4f5fd3058e1d5c44a500e872f0035747cb5bc12b972f6401cdd1e212fd540d45aa5fa535140c6ba7f165154ba4b771c1edd27eba097abedd294728447c22ed52518b1dd87212eaae44724e25052ad4bfd0185de9edde0084b0fd35cbb226f53661fc12a14f1b8e31fbf3ddccc7242fb5695d9ae84ac104c29e39391103d15c4cd8ba2498e9ca24a618df21e7cdb904d6de4954637b28ead74a315702e8a14c478d004905d87b6341f84d519aae6608a76618f8ffcad71a70d180d4fe0597ce6044634c5e1bde39c156b6ad3775b00331f76db1d89844c130e9ef5f826b9f5732c9d1eac817d3efb46956bb47\n\n# tcId = 49\nmsg = 333232313434313632\nresult = valid\nsig = 42280e80ad244618478975f9387cbd447d85dbab3e70bb1db66579a2496b0351fcb056a90c5b78edc2ce6775b342c55154687d3cfff1bea1ca31f308b73c2a29191a8a3e1c21c33daa4d3750da253249d87bbee6110c9ea25459b975d4a72f0b064fe15332012133a67c0c8c8e4b90fec93919d4d1ee717994889d62d394fb8090f58c4a07926c67d355d9654bfa521d29fd166fe5f3637226166f0e458bf3196227e262eebc55fc39f041795fc6d1c237f98694e41f128de0c9cf6cef7c1fcdcc61c0c732ab9603598b0b5655a7e39e44274a7049ab42e509c50132542c888f3e6b956c4527c515fa8b01add994bd50a6adf0858505496ee2a7b9a043a8b8f5\n\n# tcId = 50\nmsg = 3130363836363535353436\nresult = valid\nsig = 2d8a127edbcaf50a1b35ae0c7bf20776986448ec5765b15ed7d886117af264043a1c3fde6af1848428a525ddc9f334d10ce6aab04457ef2863807ca674dc0ee84b0a1ab49a1b999c4b2126ded516ed1157db047ba052dc7d9853de481a6bfcdfe2d31439980e62ce20c77dde58776b2127a557ffd8c51599699f0cf267a108378a8026e0a53003309cc645b5176dd611563c6736b83e8e0e6fe0b062f2cc137a415b097bdce66d952fe2bd9e407a4624d1157106a5d7ddfa76b09738c09a5817b545dcb27f8ad9ff0986f80c99ed49bd874c89e8c8d0c59ee3ec04214cbac612e4ac3b25d62fd286a431a57a758bf31eb52d38d13bca1d17074f4c9c28bd9316\n\n# tcId = 51\nmsg = 3632313535323436\nresult = valid\nsig = 15e8fe3e7dcb5ca5c16e1f12fec4698ae28c511b02c40f83555b2bb15b20b7462abe1d0d42b53a58b7f1287af15224a0e505e7191d01f7f3b9a456a5523c56be92c414a8e2239220e6c17056310221e4ec25f86a7a0caf4239fcbc5f704ee92b8be99c86da42ab09c042308e92de00c747f23eb277a9f641e090e46628f744a098f92d031ee3159d0687df6b585198a7985e2917d8723f7eb1175f38f28bfe7454d41e086326a4c2fc16027492d4cda2371d65bb241a87fb264fa2d2516c5ff817c405c0fa48625f540e6502267ecb3e0fb77573361fef5d7460ae4d4a0fd22dc5103d2b749fd7bf2830e22d9fcd8b0827284758be30db77308553855d366991\n\n# tcId = 52\nmsg = 37303330383138373734\nresult = valid\nsig = 0a8e7c3d26834d46dbb4f9d6b9b6aebb2ea3b1b180ae01dced1df03353a2ae598320e1718c9e43f4726cab81b5aadaf77690957ea0477fdb8a304dbdf3fcc53ae4e95b41c27a392f0dfc839fe8698de58890ba064609cd72c8e267b90bdda0ebfab8474d0cef4859aa8568164e72136a214ff9279ffda0e8bf9dece0309f06e2244595d17af3be94c7ef9a1542297e7e6d40f9c4b2ee6b652299ccb20da274711861e39317347fd56f5f13007f31e290430019d826b2bea3354e926a235a9a3e9b68e179de25f3feae8d3ace9b999afb1b501908482075236268596a4f892542c1f05dbf66300c9f249c31c34fcad58fad5d7efdf3e16ad311eac4981f164d8a\n\n# tcId = 53\nmsg = 35393234353233373434\nresult = valid\nsig = 915ee86225d15a308b4f4e7ce13f396fbe813b811d4fe2183415bcdc196fcf2204a34dcf0781526853c41f91de1a32528ee7a6d307a7ec4e23099d5269db7daa3b511d00f74b0dd211d2c76c30919ec3c6062505530ff24fed581f286fd1499d789d2e7a4e25ba3984f2e6e07e26bbc45fb02624ffc1b9eedb8e77e076b0c9a836046237db992c0f4c531336ee1bb9ef75bd6cd647460f8a8cafb313908dfdeb529824eee01d76ced616133c93297ad5066f08f467f2387edf247c68070804a800ace363480161191b0f50ae260e312ef85c2d429bee517fb22183bf2fc91b0f305412da4f3ee20087e0a158d036f311f1cceb9d0bc91a75c0233fdb6b18c91f\n\n# tcId = 54\nmsg = 31343935353836363231\nresult = valid\nsig = 2b850dd6a65d225a55d526e834c55a6a2a71ae2a7d1db1439ec12ae1147b26a8d5325c764d4c5d1e3cc1d49c61a0e36488797f592a1a19c3e200cdf83c1880bb272a4adbcd1dae961a19857915233f2095944b9b96a09aa0cf9971183ef360103698ac049f429600c339eeccde2bf49353c72ea4a243db91bcff7ec01e51423103a1b388e1f750b11ba8be6558a2b0b2216db2229fc655ecfa9000fa664dbcd8299e1e258d13ae59696edae797", + "4eb1c63a73aa6ea12d200352e1c7c2731d3605ff9f1e18b25af13d24598177166dae95033b424f78883ed14c6849d5b8feb526e3ac14f50988e4956f99b34d4990035085218e6c16ced8149417b7b4d9d25a57\n\n# tcId = 55\nmsg = 34303035333134343036\nresult = valid\nsig = 86b22f948dd5af9df65c1d062608393d90d3982d9b3f279865b8d675cf2f46baf3901410a388bb87a7f5dad268d0899feede8222c0e552c91a76aa5f5b4b30b573bacc1787a2e487b990c558b1972069a8f29cad25abb5094e94266218f7816ed9b314eec8289dae61de5ae516d63c58f99b01dd5cd9495ee47a981265d836d69fc55121a2c785685f447ca63c3bd19dc33ab63a1ccdfdd94d5cda20be639d484da02273640a19afe03d362f58da9d75bd71de52e0fe849f114ba367f12282989debb33a1d278e934245f981ac0e222867fc1c16e4bb08dd8ff20c41f35feeaee14e19bc72c54f692cdf2c09c51f5378c3f84e6df6f990941405f8608242edbf\n\n# tcId = 56\nmsg = 33303936343537353132\nresult = valid\nsig = 8b7c4bb2f5c2e92181f81bf18f55361c8e3728e8a4c80ee960f5e3d28ce784d598bb3eba641f8b6ee18e4555244ce65d7e563b5cfce760e64c0347e209b6ed2b4aa45ed4ce14807fc214775900c5cab7ef9342e526b2e346cedf9c33dec7df3c5890be5fee985c1fb4f146de70d1b5ccda6fa469a207d4a074310b2d4b05b6b39bf7a9390684b6240788a176dd891bbe4a00f2b906cb85297c36e2df8b5192c9b33cbf2f94a723996f51dfac1f97497194304f3383c0df16087ff3a4f0b3378b91c8233366ede6ac90ab0ccc72dd206ce3bbb1b7831c7c2a3db6405583c6db9d35f2fb72ebe12cd035a1c97c457031e481e4881427bdb56badcb2738f341c509\n\n# tcId = 57\nmsg = 32373834303235363230\nresult = valid\nsig = 5a978ae0c63fa06ae14b799f22578b4adede79cf134a4242290a581607d491f5de671f6295bfa2c5a57a3ae0cd8790e9f7c9c5933cfb5224d4c883812d8d308edb8e597a2e7b207e0f5a2315eb8b76b725e431979deefa6cd4ff8ee6384cf17d2f5060ab57a783d4ae9f31ffdec05f1a158142218efb754d01ef33f3062e4ab3c7c77baf34ef2ff9aec95e87776e5054f4326afdd7f33445188b6f00ea8071423740b5a245dde561f814f33b7b4c8fc758e8f9d0b35c5ffa199241f1e80c92f0594459b9b7adb3ea657fd8d3e8ec31505a450e4ba6166c028ff7a7adc67239ae35cedc7557fce81ba4ca4846f23bc3a9e2e0e460b64db460ce41e609112a70b6\n\n# tcId = 58\nmsg = 32363138373837343138\nresult = valid\nsig = 3d2a22dbb1b75eeef658a716dffded2deba0589ab002f63949ac228a32029ac3d372297364efef9b37faeecadbd841ae4c651282096708769dcb21ca1da8cf196d158629e8600eb757c5f6722ee2df00ed0e0c503f1edf89f3b09309d7f446d684ba70392d65f2d7d08941398efec0a8cd1ff1aa508e8a7e304db3fa9c14729c61024e4864ce63605bae9138dc2fccd107cb443a247eec7805142287bdc88b6fbd24e1f4d0f9b1ee480aae1f062d533ce7ee7d9f2a0b340f11584b64324fb8fa1a5af4d2003478e10e312996a6e49174a26b3565c147a55285adb7b92bc584af119beec1cf235af2b32a810ac803acac2a8b8c2613331a62604688c2c611bd48\n\n# tcId = 59\nmsg = 31363432363235323632\nresult = valid\nsig = 78e5d781d774b8d77a9c290b8a1babbb1893abd80d0494063e55f701823f16bf715def5085787b73f4f3420c15d18b8f5feee194b26762efe7b5e0ed3a3c9b9818322887d2adc5f7dc42db0b31fa3bfb36ea1b10ba28acba19bd2494616f40ce717d2434bf6543c5514322e670b869c4166626c15229899b63acb90364adf842cea5cc95a023feac64354ee187fb2bf803f50cf2bbc1fe3aa5b8ddc7b7c3d470b33bee5acff291af4b48aab50268f596260695db711f53fb8f08f22113f29cca6da476f716beb43fc2df988df820a0e58db817d8ec90511e8ef5b90e1fc03fd8369febfa1524cfbd66af9f395194da94c643b86722b62ef08364ffba80d3cf5b\n\n# tcId = 60\nmsg = 36383234313839343336\nresult = valid\nsig = 05a089489be86b2225bc65916a5afea34d6a372f7f2b2bf493e11f949236dcfc3f2f1bdff334a737c23e4f18aa89d61265c5935aae9819a05ada91d943a6f42ac2d48f760119fbdebff6b154fa6bf831a9f4d3b71e41c2881f5eb7636629704f936131d906da62af4bf6371ba7135921baf81008df1016e3fcc8ae0f1fa8cf895bec5ca689cd43fc175e8bb2f9d46985a83e2da185356b814c806d5381fd4b2d7074b9fc6c7408239cc76f54638d7e27ab4d6f1b5862ee15f2c4d0eff6fba90caef526aa7a6042b1c08c021c6d298afd91fd466f6685c4f0add101d7f8231ce704013671a1468110cdf9b8829699b03eae2238bba670e959fb150e94fea889ba\n\n# tcId = 61\nmsg = 343834323435343235\nresult = valid\nsig = 306742ecb80993c0d6f3d987d462ba4ecb877649d0f6036c6294a2b865221dd95e4fa3fe7694a6bb6c6f93a591cc92fe631d31bd9059b8a57b7f8302b2d414adb813e21f02a8b1e0628b1a52359a4ab947e235f97758d4b50e679e6225152a9950ba54e1e1906f15bb91f8cfc8d14a2cb41ee8654320dcedbf3b21d00705ce6cc93da7426f4d41bfb21fb4cfe187f8a24cecbd1ec6a568efc64b13a0eaa5d45aeecd81af184954a56c42b10a40b0c1ff6ee49c1493cd93fb83e9eac5aac526a0e6d96552c17805247070a30ea5b9fa4f67852e11ed258cfb1ee4e64808dcfdd11096dfed7c376cd1373f0c6ac1fad8878b95c783df87a3f054fecec0d1f5116d\n\n# tcId = 62\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 6b77fb8cd287c666cbc30f00bcfccd31f6dc01655c3c976d1b2a980d53be40d6a4a7676024abeb1825ec47589365c07e5d4c3d34e249814126e32ba40aa81ddea0f61fe4e3725aeb9751103fd034cf3fa516fdc1569aeb7b028d192c8ef4ef60a5befb8a4de595bd4717462879f424e87286aec0bce6f9e763ee341765c24cef24f916a52a777595879471e2f3188c1be77fdced941fe0cf739bd8d5a4ceed9fa1e47f6f12dba68cbe7bb2eb81e46c2788b847d0ab6f55951f787db4ec736772851c43534b7ebcf226c2540806d925bebec9d109915e466d08e2470b7e85b4fac66e089b1a535ba703dbc10f800f6bdd557370e9ce761e86466833903efe315c\n\n# tcId = 63\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 4af6c02b1f3c2719fd1c84965658e36651ff891484f4c4177fce2185b7098c861939fcba677e8ad461577a666ac77653ac37fe61b5fc235ba76917e03c3419fa3b055171f959edc7f9fd349209a23a4aba57ca80744f69be6ffd1a2252a182a3a2c1a2c069dd4953dab9a6acb4c7047d7402584275cb726875c0858066f50caebdf7e9afb6d4f3270662afbc66ed14ce69a846fc0c54f9e57bd4f827c0b780c30dcf8661cf4bb678ee0396bf8e0a08d259593170dff3f93dfde9f4d9ced510e07a2736c8727d2f9e973e32524e072a92dba8edb2d1628da03741d227255914717445407111eefaaa889febfc6f4b0d42dd958937710ba5e94414a26e09cb3f5c\n\n# tcId = 64\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 601f6431b0607c80d5c92c86a63d06fcd862bb35eda31a7f331a59abbb8ec18fbc86ec95ad63723216e151b7bf73135c028a5ac3b45f30a7ff8ea43d5dfa6a52f5fe1405e6f5d64abc4999f8c580701bd9e451bcf6d54bf0bd1c83c7e0399e7805757cf436164f365ee76f29433861856b67b6cbd8b235365786c2de9b305e3293792202e1848f9595265ed6fd4b1740bcbcc697d719ff70b9200e65d7711494e18855fac36bf9487b54798f39d5a32b5d62dde3de2c3b5f8f7f4bbaf3ea04e11cc8a4f6247e25c8a3a4e05d831199d14cf44ecc8e66c8ca3883b5aaac3eb5889b23dea6ba6649c8a69cfed547ca936a57b220c44b8eb8604c8dbd81a3500116\n\n# tcId = 65\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 2a31524193054309ce7b6ae9c4bb053f5a5aed273d7a4a609496c7205f5077ddc746e8a4ea376bb879556d4999e788fc8f82378f6281140663af2fe0995a1b73eeef60341d0720ce47282eb87bb79908be8c3ffe86182d174afd0522a87fa56e0d149ab4c32292ca1d1a8478ad4090006b32a147ffe4303487196d308dd59f81eff956bd6ca87ee0246927e279bf80807ef45829824c80b82f7442021bccd8ce4513cbd4d4150fff20ddc2ea942ef318455265b5667a74ebbeb83a05d15f3215c04b113c8b55ec8be512e797a3ace15d2514c2bb74f50e0969eb1a2291fdb6fdea1af0cbea6f05937be614003c1569b648c2012ec5dcde806f68e247597bcce6\n\n# tcId = 66\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 8291cbd81529c8f1e27a907dfef2de16dc6d382b112cc3d2d69f4c6915e7c6992eeac6e4b82f5396a46eab562858835ab0c0aee63d2585dc7537dc0008a4b40803467abd5fdca4114282265c2bd929a03c7892774a21ed6454e73684673d6448b19555d0cba9e4c00c99af77b30f1daa4b15eef8489e15a276fed1553e617a64dc58d5dff3c05853a7039047d243c52e53f7dcfc40641bb9acc33ed96c74c79c93b79f32566cf553428cf85d2d36a070c89f1eceb4606fd285f7ba3ddef70ff151ed0fd3a5b6c5338eb2f812cb4cf4827caef0b896a1d49f49e2c3049462d07d0e64d33f1e2c615c62a958abb6942d9ac8fdc39acc595cd381aead075ab7b51c\n\n# tcId = 67\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1edaf87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 68\n# s_len changed to 32\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577", + "151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 69\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 1abb40f03dbe5b4f1365862d9f095a8d57e8922565372f0b34ef5e232441d577b3c1f19a240ebda880a09cb41a7267732623b0faa414843f9ef063f93a92bfe5f98f7c28da184f011aa787ebd0b5fda4aec1beab6757add32f7a35cb407779aacef43c0429280e5a040cf5943dfb579f86e0c63cc828fbcafc9c8a15ec98fb64ecb5e295dc360f50230f415337aaac6fcac02fe625ef61744488eb7cd81a4e788a443f56b32bb3a7a344900806952f6f3f55f8d9e9217ddaf06a0ffe8b0bf5551d87cc9251d839441cdb3c72ae9c6a5a3de7ab85f908ae7d04232c52143d272e87a54c5b39d399b49ca7e96edd3b6e22c296de69e9e1848038025780e4f1ac29\n\n# tcId = 70\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = a11bd4fdd30fb353314530d60b1cd921d6091658e0c775432b6b702b1563a9e5b547f968ac13ac5b7027aeb53ea8987c9441fbcaf414bd04434445b2ce6a1d9dea2f2f179a6d40342a25b10300d45358f703f814917870f0a47f4b4ac47228574096ff240ab0966bb77ea9b5155c6a4fa0a185ce5d389c6ce28821262698beadd0fbec4ba2b66389d610f290656b7a4f7ea1f4a3c44b3528bf62f72abf7935e0d8b6cfc2db947e440752410a43a0ef77c0dc31b58be021b94118e5e0cab1d8994e76ddffcc2e5d55fa59d1ba792fda9db2b5ba9ec6f6bac395c250e2b8ff245a448b611797322bce637c0b1537c9765a8498e0e0371af2f8ec15f32e765ee234\n\n# tcId = 71\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 83673bf6d178e873e986c9a9750befdf2d6a3f0128ec90b5a8059d32f9f9592349095e24f88e9fc48ae549009f52b4d821fd40848a9aceaec252374b17d4950296e30b3ff489d420b8daaef47488696762ae4cc55ade170c5e0d72e696af793d5cfa04477c147732328e275999746c3680c3dca701592b17bb37dd8c5eeb3a929f932a3521a8004c10c9e3eed8d956835a700cabca21038a9d6dde44f888336c167c04ac26e800a99130a6e1d3b3bd8061dafd2b462102249fd07dc50a2e57a8c6cd52381fd4e1bfdbab18fd602c8890d51e8053c3c2ab5c96bae2847b5539aed3ad83953f47841f8f50fa28446d30c20b2b7dd8abf4e49c0636437c22833ba9\n\n# tcId = 72\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 90c3cb3331e8b352c37db46283a1a66b647ecca43e3461ce1afc49d6230457341a52b558496ff83053175a7bfb4755a1bef0e65f470d6139eaaa28cc1c083905859c1475868ceb1e3829437f64a7ad757c9da3b6e8443e8f981f5c0724c5909bd4ebcfa65eea4e4f7af5222dba64a51228759c69e26c44d9a528d75a5b96855253da88f9b54744b1a8b02328394c452e62ef75cd69f7def67b80e4859ba3e73b08a2a3ff931f44d1d524320a33416bf4fc744847d12e3e973cb870fdc3ac1bdbacb677bcc63f927366f4d0d61ee3bc0d1a1b3d149672c6398f3409fe9e7c7c0a150571573b87889b4f23ef49b6f5984412642e5b0abe7f5ec4b4cf12c46a38f4\n\n# tcId = 73\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7a7318799477eb6da55c7b5f6a0338071d981011e1a9bc6fa3a2258ca5caa039fc7f768234cc08e425323f57691cbcf5f83d6a3439a639818c6b2bd3a860c9a6b9a8e0728aa7ddffe18f82c02854ca07b17db0f166d2e521ada5c1f85d0c2f259301d3f4b4f1380f94bb819dcfac9adb764a198091e110f0d3c5fbe20a29366fa52d246cc922bfd2b44a619b59b497a5379282ee30608f4243f7328ca8aec20f61aa8b4083abd1c206fbc9ea598d163e52da1026ae349d26469e2244b86139895f80ec4e8b6f5965a28ac4e9636ec3b1e5d685483a0475fa645421ed6ee9633f276aa4000eefb173b5ffe824d38a4d7e24146e4a6adedc3ffde4521dab879120\n\n# tcId = 74\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 331756b92b346379e1c50dea5e05d92912eabc568905d7f290ed353e705671f0f5a43921d71cef11fa2cc23c954ef27eebfbaec77a33147b5c6408b7fb8ba9d8e3ccd5af541942a946bf057d39ac34e954ca3eb308449a9a8fed15f760d9392c32618c289993b38875df412d460500ed0ac7d9b79b0c34e8a64310ad4cb0e7d6dd1dd8ad6aa81683a3420618783a315b2643f7e8c8a95734aa1ea526752bca4d443a18224ced3d2a07bbb734d01629483f5c8b91d94926916e86ee430f4f6f07c40d5808f0f59b9f438723bcfb0a8f595e3da00d5f2c3bc9eba4e64cfc5edd9c244eaa4aa8f7181fc0895c911305fb8dd3d404865f6ee2a4de8f5de7962cfa9e\n\n# tcId = 75\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 28481a5bc8762ab8cfad8d7888e5db6b678b12554a244aebedbb4d83fe0fb676d77411285484ec8b76843d4ebed1dc9dbc2039c3d0e7e5288de9602f7ee82793e75d2320d8a7c254116ccb086573142cfd33e36cce3f830901dc734ef18364e1c0125cd8fcc3c7f4f333d4b05386c3cbdf616d386a086862b591d80c34832767feb83aebdace7d19269b0b5bf340499a9d530c15b19c68ce227364080b27e6f4e017d6dfdf6ef05f4b73b92602a6249391812a286d8fc87204a477d14307aa2e23f12f7452e15d4bfaa3deee56903ed66031304dac16f6393008a53496845079af72e6c5d4781664ec757c741ea0dc9ba628df2dbfa591f16c352d5171b3a0c5\n\n# tcId = 76\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 267cdb3f7ec390ac0910a3acd42893b3c445226413ce38d7fecd825e29d3a7c8a2c361607b70b88f1ccedee4c9d3c8d109bc3e77ad749236f546352713b71581ef0ed3b9a9d1a11035629c8f6cf912cca10eeb2b02d3bcbcb167f02ce43d00513999e4710cf5d4f4d730dffe9e52ac5a11d6453821298e66dd882fa7eeaa99d06d324a1436e2e2f3a8e78744cdb21d0070987a4895697f26d37f79e93f6702619ddc4b6986450f84630717643224d134a922b5aebaa430444bb587079f925ba93a42bf847579b8bd7e72baa5eef82af83afde809ead8f810bf4441107a3095a4f4f137a3a24bd5f21a18cfec809a164f4471c49091390d2fc1c6578dfbc2060a\n\n# tcId = 77\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 7b9fb586f1455c9fd95db25ec66cc1b8e0237355177cf1c40df59ec1eb84a95149fc4c06117e8301836a32aae7e9ed18b9eae67e5f76ced60e89b8e11d3467afd71194b494f7062c15731a475586fc90ebbd1b382d5c55c0b319869b3d409b82cec0afb19f6352efcd6f1ed949f27a0306a3fd1ec4722cd335c1169871c63796bf3a933dee3f81f01fa8b6e710072fea562cd938fb2bb1053845555b07cda74f144ac84d9557326cca799af501f9474cd8b18a2af4d1a12f93a5b6dfd1880e58ea82e98fabe96fa76981a6243e8e4ca386f5ea4463f615ba1812e38842fd51c71e0b6a9da68a2b1432a7ce2686638e55129d4224c94513207ebf90e8c5f435ab\n\n# tcId = 78\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 6bd414e877abc92b608b08a273946f90ba6c6c27de2448175638f67a6b14492fc1415ece540be3e3df8c8ea7154211637d9b5144312e113bda2526b6fb2caf7b07673332dfa605468e37f4026eadb4c0f84b7b482ba6752839fba46b765709c3c6e54de13953245a3364bbf21222374eb63e61e68d73a126f40f115405fe9092b00b60a7f0b995092061427454f6876ae2ab3b2757337349ff3ca3e2332888b9616fcffb3b924977ef856553f55b2f1b115ef0ad7856f666a9863109c6498c52271ea2e6854fe73e9e4d4ec666fe668f0ea1d1af19853e9a07066418697429cc31fff107b6ba212b4a3cc19b59ada459efbc4ccb90da8a0bbb48280456de69d2\n\n# tcId = 79\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 39220dabef40da1a502bf231bdd23d8d2cef5b85950b7ababa4ce63eb57283facf1c50b567a0d272b6e59210bba6163735e0be82dbe4a4ed2dce3f3fd18eecee047517a85a1e634337884f9ed6aed6c250d8f0453f3a103c8b684b8f452d05917b568cb2f82f6ec29c07e0d451307a3b54dcb03165da59611838f8b55d2e8cbc020fc5b482e1f8f1ad4d778b93e648c1160b3cb43dd071b67339edbdacd7b668ec92a3e2808185243f2921d502e0579432017b7afd9e983515b3d9b2ddef7afe4ee5b3405e2c6617ce2acdb6243213d2dbf8c72cac4d4ac0e69265f20499a29cf50a67ecf2cfa2df61c585f32b9f067f84baab8b88152b65b220898f91b9f506\n\n# tcId = 80\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 487bc9021d8e95d05c1d3237c3e9f10df764e8f70a068fe6d93b865233f6ce8088bfc117c9086a3bea29d86e6d75fd9c8700e871f6027bdd0b37c1b581dda807a1401721f8a582a06309bfdfea5ef177cb7bff47179d9fee32bf545e3e4513212b68fc3eaa43f9bf86ab066fea31018299f4401e3e0985c0d450f102162896e619a2083d5fd2f2a03fac6ad99d38eaade1c56a7996a35e5e657078547c43d13fbf62a64a007c8f03b79b9c59d19697069344b7ab309b532a7449878d3c33472098026917f99d07d4b24c39c67dac099d77c2c0313a557d8a5aeb896214211fdccb531f390d91848be459df01c014454c8c9fb390d6f759713e30128a9184e881\n\n# tcId = 81\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 5bc1e96ad536dee1b3d23e31f053b9b0e1439ce7c48ebb54f01a81de10133612dd0c1b4dc0b60d6afcbd18e40123b40236bcd773b5ff473b5f35c6ed4294541e7f028acbc29f5583e93331d4c03631afaf79bc683c187c7929d2f7db52d1a34d88210ab50231219837e1b60d49ce8048e9ee4ef55c2218674f297158c711e4fba62351879e7d058e0cef25575cb0ab9f6d6961a4cb6d9ab0a68a301fa3bbb8d0899f43bae40ec19758591e5e0cfa84dd08f7859ebf54c76e04e74748833313bf15793b5bbc47494f3bf439d7fb5225640f3f3756d9d4452f7fbdd828fe844f757a0cc585ae0a6a5410065c8ce4e0319c356565ebdb1ba0fefe780c70a5135365\n\n# tcId = 82\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 2b3be6997057ae17c749c435dbc68110204e95b3e127a230121e27c95aace90e9f221e2763833024b3bb873368e3e992897d8767eba2479637ee9383796cbc10455da3b52c7fac1d91131e3f7", + "8f5f616b3fd413b310fe8f50ef4f721fc026a6222f0d9113624cf7d481e79e788587ee659e81296eaa438ff13454e36ea50e9f038ed2a7548a8d169635c3e15bc20cd83c8279d16e6b0edcac2e9c72b9048dd7fd1d298e414c3832236d612af3841e426c74f20484ef408b19f22449e701460633fbc5155851e812e886cbfd6218bb27388e20547fb4a48d2e0f9a284f9bc1e9391b28ab7f3f45ff5aeb6af12faae437361877d04e2df1a1057ac3a680e5123ef\n\n# tcId = 83\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 4bb8fd79da58fd3217661938c90772eebde7bfe5d49fa597cf448019a56d710ea126e8b94aacb45bed81df07ed4c89a9889bac0ad2abd506374d5ebed14777673fb1c51a3f844e9619bf707c9866b21721a75458c100d57b9ebf6ca58aaff1d47cb2d0f26074dc15d0900a11d681bcd76b111140500a51cf8c1b5ff4771176f1dc0884d42b36a15690b991c77f9605ee9c4329fead40364f2b6372812319c0ed4a6a15c0716da9426ddbbee79938bbf8dc3b459bad11ce79c0bae6080a06b6c8c1c051fc37e0bf0546c7b55b2cb6d90bbf4961ccd1adc623c9b9b51912d6b78843932ce04323f8a9159d10ac94c2d980e9b48fc143299d4c830050ace61f7238\n\n# tcId = 84\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 9aca5b5fe1369dc46eff908e690ba88744db0c86f7da7e644eac314493ba6a7d003dc5400e1c521c373ede410afcaae8a4ea8e14d1e6c2ac3f39c0bf8bfeb688962260f91058ef9c1a0ba39689736d039ff86524a97d8eaaf248601793023ce6569c3cf15dff30f41e384690ab40812cb1e4414a0370fc39f526abab87bb9a405fd44869069f343f28bab50a1e582d4bced25d41f9fdd2e958177a3625bb59c4677f7f749321023fc9b9b724e8172a4a512743a1c78c3c8b1f0556fede02e9f6f2f851fd31e21f0886a35d12a0e04f041251524bd7838d91657026540e133a2ac1ade52f03efb509c30578bfde272f0d9fc2e515e541259dfc249bf1762b17b5\n\n# tcId = 85\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 9211ea6374362d77f491d9dca7e8e8d2b672bd565dda1566814670d22e3f211b38246529a5f01333ced70323e6cc4de58e9dee11a90f345fc53c1cb0f0c2287230d1cfc83d33c6158a8730853b5163c825ec05084cf0816325e21ba87f1685197c9891ca3b89d8d8bbad395f7f71b91ef937a1d81bf7497356928b77b10fe270500a731d498beb85490c1d3c4145336d2a8ce8430354b3afcbf0c923b0b0e824adb36d7be69a8e951f64a5b1d648dfd9fea49b59c99efcf015c6b3937d8986100f48022346136eb56f9538b115284ead85196385d91dd414ee22a3c7f40f632cbe565c8d0a325404d0d4905282cf7acc6210a6eaa26f3c3961660a944771b342\n\n# tcId = 86\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 39112e1c8251d5ffe1373e70fac946358b00bae6a461a1af561a82d81ec4acdc63eecb3b98f5f070929dec66a758d4a12cec2600208d7597320ba5db412006ebe76ed593d8b1090e93be21b1c00700e393ddb4b7d7a8bbdaab603087abd2b90a0408a775a4469d4f2f6b34d228da55bb4872ef6dde5282f5bbcdd6a8cefc71c4caf00453e6d6c59321b738d3b21a3d8f0da4afde30c16bc5722ac30ad6bb1f9fe0451ad150fb3d67a805993e506a80b2dea3801bbedb8ff7b676f50ca3fa5b9bd744c00822c975e2ab8cc6a917436279a9e85aea62477ef84270f6efe495ed503623108ca39d5c47bafa3505f04995ec9c2a0e411fed9179c9a9e94fcecda5ad\n\n# tcId = 87\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1baab34d753d4c169107ff7dba46ec1a4203cb1654489d6fc20d206bb21fab483872c44ae8017b7c07aadb8e8489a2b41b89f9331fef63317408105eae19900377ce150ec89a37b26bfb169a89aa1c71a83cba6858d5b47353e82017f19a6688927768bfd0e75bfcd71a5e1948543907d65bc8fc813436a15949fbaf0a7f95ddf010f298df9314203838a60b39c5bcbc7a438500649950bf28e78f94155cc664ad5ff996e51789fb13038e1757dc19b6572f028fdd8be318ab933adced2e87b569544503916030b4060e231b0265372805cb53214c6f21e13c632ce08031ee368bcdf3eacb3b87269e8a8684703a348524020e820de93f1f334b59cddff51a12\n\n# tcId = 88\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 7f04560acea95c8b3df67a74fb2b32d904e5c59b43b10b11519e796efa77c0c9b14beaf1ba1308a65fee50e7862289d46a3cfe79f423e7d9201dfc7428bec7f304228508b7e8e5af4dbabbb3958d1f48dae4016cf699421b7a9a0b1dc1c806a7b19cf65fb7d4465a031bd8c24071b397dc1f6987cddc8b69f5f3dde25fa36c2ad6e030c64413bf3eb39176bc003c909e37d28d5a040c15bb4a73c74c39c4d132d09fd565abd7b63d81115ecc8a151786f6ea50882e50db362cced39702ae1ecc176cece9509ff071b87f142547ca3aab04bec1a7d0c6ff35060420b99e285515eec016ec419caf75cf11af56a395187fe6575786998b6b4348561a0dd68878cf\n\n# tcId = 89\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1c029185061385643943dca8adefc5666ca039765d29f8baa20dc3cc43981ebe1e6d1f09a617559955437323e50f6464a69950baf23c7463b1b1c6761b50bba89c81299d4543f76e3e4ca4e30ce710a20707b18dee5d2ac9e0d9330148526f193439cb33238ef9d82424fc1287097e7626bae0130b735a22cb6ef08ba4d840b370c9e8658f83267e52b8d56ae0ada9dc5114920f97884d6bf529bbd7c81b2f9a700e4df4c71a8ce3141f9f4be31c9d639619b20f725f55475b38ce36faee929864a5c7793ec26dd6d1c4b75f111feba3765d0d35a272fc52fdb85f2c0bd1bd22cfb47bd0ba58d00af119759e1f4d5763f15cba4e788fc6f8a221dbdeb32c484a\n\n# tcId = 90\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 0594a2a0f3d10857e8e2a89d72df80c8b37977bf2c390087d1df7672fca50d21b7a3b24453b55afee4c6fb2adf83e6b3e6a63db31b685ca956bda1f3074eb53364d9bbb9ad16883b56ceb66cae51712d592e10f851c4431a4f7b3625c774808bf7c694c582f1f20c2f51ca9f781c6172d05201e1e0ad96f7231c2786e039cdafcc4045bb078c2f432d3409dcaf25d8c0549de03d7964606aa0fbda333a0eac26e5f3ba13b1d6dc710c01a17e1a24241bd741d51db4cafbaca518fe32feb0ed5cb916c8c094c41f092cecb7a9cc0818351b5c8b6563bba32fb8e86b4c81f4f57c24a880e91daf31cd1911aa6690c8e45f00dd62986369bfa5824b785c1c56fdbb\n\n# tcId = 91\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 10bc1d1d1fdd4a8f74b17f2c8258078ef5c4f5fb973a2505060b126504c9366a4578e2a333b1a9c580239ee959d17017664631982cb8554fae8cedae07eb7e2fb69cb702db93d948d0d0e4654d9eb49192ef87e92f4d229ba56f165a8ad4769d0c707111b9be90c6cc29cb3389a9ae4d5045d8a69234cd5e57fabb76e5d1869d83cd2f3ea8f0419194cc54c398a288aaa35f765ca8e0e264865b709d5a21c9d807c4c0751f9e4e68c9cdc61d93113e5bb811c2e217f31eb14f010aad77abed3e4305e7bdb1066879237849883c3ef099b85c78352b32374dd244e173edc3824924098cfce9d729166ccfccadae8871266927763ae6a5e750f49b837b60682aa9\n\n# tcId = 92\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 93\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 94\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 95\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 96\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00005e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e", + "1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 97\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f0000\n\n# tcId = 98\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848\n\n# tcId = 99\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 100\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n", +}; +static const size_t kLen143 = 61423; + +static const char *kData143[] = { + "# Imported from Wycheproof's rsa_pss_2048_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 4f01e0c12b08625ecac89a69231906edf826380f37c959a96690d046316d68ffce9d5c471694fcebfc6b45534864689256e4fc81c78e583f675d0c94b449647451e81beff01a11a516d5e5ce3f1a910437cb8a3a5096b19fb15f4524a35b23d89cdba12cf5b71aac1047b28c562df7c5542c34ce23a182cf7e0e231934b17294799d44877a1d68ef1b8f073619b7618e6b7c22db20030d98cf591ffc3d4da5f58613ecd5ecfc3b40a1d02f40891ca43695cd4c088b05a8054c89c595a47e274816f35384226f74459ee63e25a1bfc03c360490552ec38343f8ace502f065303b00bc0ec320711b211fde92e57feb9013c3609342495ec0d7cabdec21e54acc38\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0658c68fe0895646056d9bca422a64fe48813b4e14f0c8c4122e56d345b6813dc6286ffde014617e351c7af0a0d2c0f285def79cb734e1e055a25fa6fddc1c07da17b4b235c637413b1849c24311fa72331f4c0458c364a4916de8619b884d7e37288fad12926fc091f4851686a04fd0a504dbce3db370663a6ea6128fea86c2ca94c63e0d34d7f2c845b5d71d9a5e544451f524a451acb85c49bba7864e0a34a48613a819caf3dfd0d510c940f1df21c3373915be1f3509a557fa4d5a4e9f273e85467961133e2482c0907386454228fb0246638616fc31bbb6fa7c2361b8035994eec69a923f4c0bb0ba8696dfe8b1400c2398d7b343fdf498b1116c8de602\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 401eb03cdb47ca88033e3030f6bdecbac8f5c8fc1dd6a13d23d379ed9a2b309891d13d74fea9d21d159b9e6d8f37efa2489962e24555f56dd434ff1d31ce4f9f5abd3f22cbea8b691d6a11e44efb83e2bca155e6a164325e0fde2a8865afd5c9f51161a9d615f62af7ec2e31b3e5ab649c164490d31d88cfae35b84aea7925690f929a144b6d2f48e8fb894a52deecd1b9a6496990c4ecf1588699a42cacd10c53af350514e4291ea9a058e77f101e32c1c0cefa61d945f7bc931f8bd19e7ba3169358a60e5a8b0123bc3199b9fdcafe8e519c41ba675491a27b85e44ef2d77277c10fe107293c8290186913bc9a99b640d8da041b64f31eab1d35920985f4a5\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 599724adc1bae31e84eb6e1399cd90cd67f48b432c63719b600402384aaea9b21ee864cdcf259029180877c847a223912b0647f066a59a65df6c2d3a6675b1450f0b05185cee486bfac56cfded182babcefe60568a6954f026cb2f59002a2f755e9bce49793f280d89822c9bd3a06a7ad2209c3d6cab7c1f74c8bbf4bf374e7ae8a539fccb83a78cff96a4f538adeba0869659d0e9647d98f96cb55d9cb7e58440c4c9d85b8e9dc602e909e29e45f2b82ded44f40e9ceb1292da20063967e3a116f4aeb202863cea523f215b8ec7fc4f6a22cd8652ed661e33803f3fa1be966fa8754cc7b0fa894cee0f045efba14c4f4a1d7cb837cea69e30522526b8a5878f\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 4e68a8375e086990bde05fc4bbde2d368f8d96a5bbcf16d9239fcdd45942d764fc2317d90f4f62ec80059490240be8f32dfc32414a427c7e34be25ed0dcaee6927881e797db97a0341fdde459b9cc915d0a348e15dcbfe1b0780472f52a887faffc988a9ceb677e1cf5638e44a9d6f2532417ed0bde5d67f5dc9229ef1f3cfd9cb46c695738fd006cc62d02f5df76996270223060f72505ccfbdf4e88d961e2e7763705480335148ecdd23d1202c26a963860dc769a43e44c72285092ba7f24d81844e612bf03f9c2ddd4e5960622f71672f4e42b8a8f36c6847a05f70400207471c575d6a960fac1de809118efb52903ca37f12d40f6de74decb9a5b8a415d4\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 8bdd6db90323f3bf26a36a4ab5b92180c96881bd32b66317c4b48c2ba1421f8434000c06adde4264c6ea2d5346468c6d5e97cb13d3cb932e523ac57b59c814fa0397ca6dcc9bec4be1147d77abcd318a6aba1af46ede2f5640da06511a006fd1bd5fb8e04be22789956adc47bbec7988be477150f9b24a07dff51530e8f0c14cfef7d25ca141f512939987b7eb0825633d41a48742bd7f56d4db9733d92ac0f36b4041f51332695f551ec91076da2301120c438eb9ec197cbe318d4571b6b79098d17eded0ca47747a143e34f882ad6e3f490f3a710ff7ec1bffce022027165d96281e593180c67f44aeda9ce6605e6b8e5eac1347695dab211a965bb3d3f928\n\n# tcId = 8\nmsg = 343236343739373234\nresult = valid\nsig = 3a52bec84b5b41e09358a7fe24bb7ae0cb39364374c911e0d3f011f2c4c79667f43eb700fcb33e44533654b3efdb37e627eaf1352d21a187a70a86b79b2c34ae3eef944e3e61d361c3baa446dd465f2ddc0b2ae7bc8beec1761922fb5d7aa6cc4fab9d1a0835f15cd71ccb3fcb57c578a46a7197dab478b7d1ed7c6235dea3b117472c334c3a18fb8a574922f511d7ebf030201dd7457a3860a6af6252ddaf90d07d90aca03f7037223400c066db1d7feb91d84815af2430190a2170ac7eeff898ebd5c4c7e9bed19aa86293aa257a9ad0a5146be80e7ce6081c8906d269d06bf037e34ee18aba113dcfc98eca70abed7249dc9a49f971648e58d7db2282ed6a\n\n# tcId = 9\nmsg = 37313338363834383931\nresult = valid\nsig = 0b47d3bfedac89323cef0d273035674b937f4106355c0baabf6664a57b3064a789592ec5ec4a63997b6f3dd81b0514a78b8824edb2b0ffaf45f8ae6432ce3521bf77e01912df0da5d6fad9f554a3d69b402866526e6914b5c78af847233d3482598143dd6fc65a81df92cfe119f38b0d4f9d1a51a99aa569e42cdec9b42a0598f5f0bbaa1bcd44c19c7614202e0aebaaefff7f3d197635e490bba81927ce491a5810952593f8fd57a80f60bc3c0b2a7b10a0f9dd4930db8172bcb1642f6d03332a7d90ce1edc1f8054b5bd4f4760996bcd565bddd2c6dc8f54fc6da5e6fe80a2248f920216b1bb836d7885a023d92edad5d20b0e47cf5beb2cbb1393c624eb3a\n\n# tcId = 10\nmsg = 3130333539333331363638\nresult = valid\nsig = 20c9d447ee65a4cf7883ab724df0c454814029c8178ddd25eaafab34344d6e06877d5a7121af22c7e5333e2d4f2bdf42450b7b735c335ebdfb461f7b20dbb77c68c449b7826ad14668e2103b636b300a675a9b3b1aca936420cf3fd8deb2ac8aec6528409f6419d8d5ac9ec2757ad4781e9cbda98912f4304710d3a89053ebfa7a84353c86b0c48eea5a541af4644ffa21b766e738f0d94cc796004b625f244f63c41666b2213317f778f0d9d7d09a1003cbe1b2bfef585f1580f941398059a09ec07ae35bb690728ce85c2e192d423a71b513008c29582b37df1f83e40a699c88048aadd81211322b3c9bb449addb037c553551d7835e90d53f1a1883766d5b\n\n# tcId = 11\nmsg = 33393439343031323135\nresult = valid\nsig = 7c5e135d7670a57d8fd7a1c9c7b33a6e07a57d957f7a5d9594200eaa9647a1d460bbebc40e0036a7d7665ebaca9ffe3a166fa1411c704049975a5e46b4d4fa03adbf69d1a18adf59505e6d2cfbb82d5d32b7e3dceb8542e9ed8c7ac248f9f7a84abf3f16e862726a4dd189c61d6979d85ba982db3a5b2903f38d2558cc115d6481952506182a09e04ec257b19235f6c6e2c6587bedb90709298c142fa31742f401f22e2b4b446f9642b598cf43d4d29bd0934f4853ef70ec72b97f6bfb084f45ea439c4dd8242d059bc3c1a851c67d94357f93587014b2860d7f195f7b", + "6bfb39afa712338c684f68501c5fb9a67dbb36544e6bae5f72dcc85815c2d4d70b5baa\n\n# tcId = 12\nmsg = 31333434323933303739\nresult = valid\nsig = 80ff5c8258bc0c74993dbdc0ba644e050cf47213a6a19bc83d5e4b2080adcca763a55918a7e19d85a0da38c5cc4c0b958884fc79578d4c91bc403756c6dc353740df2d0330f32e1ca91136933f2491c6e7e9a01ea7bcc87088d7863e048fe9796d955ec7cf1d166ac36a431e4f858d93d8caebc6ff60a678d38ffc0c88e8ee0ea655d4c1a46345556e4633ffdce68914c75a55f071d4e59a2eb0d6fb6fe4f28b63adfc590a4f5fc72812dacc547fa0c4985620d4019083eef115dbddd673847b79540a4bee6dc4ee8de267057e321c44aae047d7bef2302369cff291f6efa90dde97672ec3cdf4953f27f26ce62e77251fbf5077fa986dab5213f1f94b19e127\n\n# tcId = 13\nmsg = 33373036323131373132\nresult = valid\nsig = 70eddb0b9cdacf82add0c58a154ff2c0ca5cbe2877dbac3e5596de69c686ac2710a78caaf6492af18b42956c450dc4eb1a3e6fd669100d55e06b3428c6285254291fab9c80634c6f9c874db77c2107db37720b43982d9763cf34f79283265dd70f03e444158e82709555db72fd7d13a004290140c80511985fc5ad275a72abfa7ab878cf043e6694340ec6b3cbef5728f2c3c63747ff75906673be53800a7eac17a47debac1c5a9dd36eebba9c23575ffe1ed4ccd2fd3a4b9902f563b17f2bd9638d2348af175e1cb918a0681691a84444751750463325ebef2c40493f049c655077a70bf420b50917906315657178e7cfe607e9c22a23e67fb88590b753411c\n\n# tcId = 14\nmsg = 333433363838373132\nresult = valid\nsig = 0ff6e37a9aa03391e6ec8270b926c123c7e6853e01e4530382ae1e9067c2c447f2d21ea4f6b8cffea5cdead0e7bbf4c26c07418397f7dd85f4bbac0376aa099574dbd3142081428762e0092388142b351483b67fd8abfb5b73f10383d33fc21aeedc6a0e6f8a3d47f11c8b319425f9768cbbf498adee29e7d52611feff8596b1ef21ebd203397d5842cacf570d79cf0b4308a32d0951a7fbf794b84e540cb52bb076972f003ad59a35deb7af887bedfd26cc7b2bf334e242518978ff2e48224f89c7894737bb835bc353f4c0139553d3aa4722d0cb15c5e0aca5f5eb91dc9f4639aa81314038367c2779ba5521b250b5ada48ea3d2bc41a1680900bcf3cf66bb\n\n# tcId = 15\nmsg = 31333531353330333730\nresult = valid\nsig = 22bee45100f26f64d7d994187841d9eed5ae1af0601604b72ea005fae6e28cf0ac2ddd9761046eda1ee55949820c5545a0af3fced402bdd463f43070da8a4dff41531a0ce09b2eaa14bbd3713b79bdf00a144167cd2142df7aa8c5a24be69c4c1a728cd04421183658726c5765b36701f0d61d26d062baec16eb59b1594a185363d8eff993ab9c6d5a5899199169ada44b77eba624c53bd7b745b053c55355da88e6b83e74069d7d7e51964a0ad666ff027ec4792c6f139f1baaee769debc55abdcbfd22fe84d6d6c70a1cd14597e7e3c218b36f35f57d4b4dae3f1c1dee433259e961cf69c3e019438ab60dbdbae050519fc3620ff677d5ce9ed6fc43868e1b\n\n# tcId = 16\nmsg = 36353533323033313236\nresult = valid\nsig = 1b41b1021b3bd5fc186eed5c1d2a69f7e648d75a03b0fbd62104442c55a707812ef635c7269cfcb124f464d6532f28880b26f91b4f3f826207c0b25401ba1eed2b4895737080085ade80f13620c20bce004a157e708f450bc615fd35c1d248ed0f9cbfdc77222d847fa8143e85f3eddcddbb137bc7bdb2ceabadbff8aadee86aaaa217a3533939fef1d6f5f3b5277d7f8ef1ca07194730edee92cc3fc9ade2faa603117e5ab812ad5a375429ebb913fb370eeeff362727c9bf2901cdf34c6d3f03ca5adc849759ec2c8dd64fa24716af610749ce462f189a5c3c947e4cc65d66983ea9efa2927dd4d9054c2e0b969428b18aab616d3f95d24d8a725d2686d10c\n\n# tcId = 17\nmsg = 31353634333436363033\nresult = valid\nsig = 52449f163676b9a8249b63d0340d82305cf36a920f173389f304044503b3f5dbb503b8c09cae20a24cb6253a16d2e63559e0746f05c6ddd8fd657c34c2de6fee62cfd2d4c6c4258b138b7e827326110812b1a04573989b969c769d29c888e1e64546419d17a16ce9abebc2bc00f8822401ee1ecfb9aae39f35792338f607791acd3d7dfd3e6b584dc9382f558990607d26f1f461c5b57879d2b0d1b6f50d8ba23b37015da559c41fad4ba3607b5cb40d18c2131091102a4295555ea37e9ce92cc7dd2f41bb5eb30d02c305116c0f65464e8e9584d1757f4be2aa2814ce6b387cdd7ae78aa0032ad5935d74d4d56659e804342aea3a785d6bfb70c0cb44897903\n\n# tcId = 18\nmsg = 34343239353339313137\nresult = valid\nsig = 33c76df07a9ae7335f5e31b3d14d7412cc79c8761ffc7fb5528ade2e5088d3be3e269962088f356830f6dbb460c73a526057d57648cbc709c14c23d85f85c11ad5c6cc7e3ceb5238be9e8380bd789106cd10e034036873ba7b8ac9470a01cf4048b488782587e2e5d7b4d2116e34b94f9c3d22983115c0fe96b42063b4f6fef5943fbc891a320f09e62f36cb1a6d83752a1c4fa6b62899afff5118af7102e123fe9c7b2a51cf3056670848240be93aaa0385ed093da763c91726debaf1bb9a48df4be342a3cb9c335d2b3ef999da4eab94d15ba37b07d049f885572f47e7dc33b5d481b5ce1a3f8b3a4237befbf04f015a97217dae6b16e7d855b9413d7c2271\n\n# tcId = 19\nmsg = 3130393533323631333531\nresult = valid\nsig = 2daebad5dc34fd919164e3ef95bbad50efca0ef2364b6db55dddc8fd703cd046e12d2d2181002d3e6c79a3671e2c7ce180176c3482baacc90076da7727c9b0c958ac40f547376b44e4f266df35419779a4fd30603c0042fc473d4a37ca3f069a915d2d0ab95b81bee5366c053b99d156cc31b2f3d68b0ea5f98da4848eb8a4dfce8ba1e167cba0ae2584757e5c1e46398d4695dd7a96412e2e1c7e62b3475a6689c5a80cc6b7c4be01a3cce6045a43aab732530898e60f55aff427afb201e85694b61e81ee86e58959a174ea87dd7f244d29c616b85cb426e7473bf568a2649f1efc40592b700499314bc809d4d9668946d60e27af852c02f6c7210dbf96ac82\n\n# tcId = 20\nmsg = 35393837333530303431\nresult = valid\nsig = 5c4799e86c698d3e09d8c806104ca3e7cb604d922d4373d7119324e95befda0669732294666e9009f9c7711b130ce531b1cd16ca5a147490a39f8726b3482cb3f2683a8a14d04ed59012005df79d2500730360dfd40f6d7f90ec71c101a686f02cf38c598efc33a60bd5d9c6d4b2c084258f865b8e77e802dc85fa8c2f59d4530fbd1e2aee005c3d446ff8f59c807f0664e5e62f38eee7be9b2eea3f8f98eb2b44a0848a7076271ca986de8599830a59a1289734774118a967e70f63df1bb82374a1a08fd91222ec77117f2af9706abb91230b06d5022e2a8784919344647a3b2660cb5a689f062ac84c3613278043be9204a4239169fd14fa05c34d8a6a6e64\n\n# tcId = 21\nmsg = 33343633303036383738\nresult = valid\nsig = 32753c1f0fff11b1aae620f21f4b25ee32eb5319413c201a71da0503d32077c911e40fae8a14d944bc57b36b05d85a9b4e2d92f260f6cde67739b6d252e4800c8e5c9499f603eced7f97651e1ee878654c0bb205ba39b59285a695619963f7f36dfdb7a2040552bba7ff13d047d273f0fc1ca3892e7692609d43adc0de6e3191f2ee58f3069531509a94de113fc10c3e5d4c886108394a55dbc2fa4baab0623db347cd0f6e6306af8973f0f166558c31901c9458ef274332c15ed9c4a6ff8df090becb7841ce5cdc40705b799277825f029582eb21890e23712837088826c108341028c96b4c6a0dd7b37defcd82622bde64a2d54e4749b065db7da5a515eff6\n\n# tcId = 22\nmsg = 39383137333230323837\nresult = valid\nsig = a2226016f848d96442f82bbc33bfbf098c4cad85b07915dcbc323baad479bd971f81faa49b063776147c448210d4adef7f06fef44baddc672501e0444fe8a28f871f49f6ec634bf4f49d13e4f73c832c978bd227bc1e85804122157885c8744d31f777168a8cdbe7a4742366cdcf0bce50a0f550cc1729f2089c927990d94f73cc962af25d70a1fc4da6df8457ddb5a4969bfca4d2b1964bae88226ab11047da7b6e7adf8f96dbd772747f29bd9b9361244a04b7558df62d84828f7aad2e562f2306a96973a068b176008b0c7534eebf0ae9f7979a0902212d4e20dcf162ab51cd55944d9bc07692348f8306ca90a80306d404d21724a28efbdd228e2080dc89\n\n# tcId = 23\nmsg = 33323232303431303436\nresult = valid\nsig = 6b9a45ec517bf838a535ed93fb36bb027471b11d20d0bf6b1edaaeefa25bccdf5881f34409a042dadbe4a7b3c41bf24abe66c1f7f37b92b9658f59c55fa88aa1632465ba8245c5f0c98d082fcabb5e9fb834d727a354f8f8a7fcdb8d3230725472a6a4ecb6f3d97540773e53eb45383acbe4bc81168e244fe769b1a7d5220dbcaf831e46c93f6ea7ca2ee30ce9281dd9674fccdc796fd6147be4bd99c53a12eacfd4b9b00972b0539e3d94b85911694ea98f27496b567a29fd3087842ba01402901d1bb1ba6b3c7931f1329ff5644989bdc1f7025059d0d069517fbb682c0be049ec7e38b614af1cf9cc37eab74e20e6bca468f93d3f13749557b70129ef95e5\n\n# tcId = 24\nmsg = 36363636333037313034\nresult = valid\nsig = 01926cbf92190fe7ccd7f858c260036a7a9d554bf636a82d43edd3d2cf0f5f7006c2e0d6dc43c7c427e49940cdc5c397df66841897d3e118cfa86f5188c54409ffc169e8f192c3a84896931d98ae8a9e83075e6dabe4d28a56f0a9282432511ab09a1a0ed420be665521936a1c9834a456997c0e5e2c1fc56ab45927b6042d3571163ba59d994b902aa5ed416ceff4313fb1c67334ed7be715d2e96c045d6c0bfd20f2f5040e09fbb077a01f982384ccd883cfa2fa25d35320746728ae530bb796f5ae6ec2c36aad3344ce69045b793052cf3a569293a2d232eab378853dc4030b91e1f08c31348224b774e8b71a7e23e77403cb26d1f2b1bb800c772860451d\n\n# tcId = 25\nmsg = 31303335393531383938\nresult = valid\nsig = 363ca23ec7d980a83a5f367cba3e9a2225b3a3ecaf6434b5a347e3baa5ce5ea27824fec727ec7b3ba2d41cdc9723f5cff3e75dc7f7b9200baaa2c02b4d8399b1760a1011231e2b26bad9326204c5079ac1c1303ac08fbae42f6a4032407e87915fa3759c43b29ca07a1a3259fbee4274b63a52860c6351246f8c1c84538e5e6f6add7ff6152acca4dedddab146a25bbdf0076e2879ecf93baf9d647b32cf32a9e62718eec599cd7b51510a70fd989a77426049092621c2386a82771b06a4c5b86bc28fdd630e76fe43f21c5d22fa63001da300ef9777c9dc4121158840bd084394d600a6db284b1e771112b56b63364f007cd71666902cac56323c6e5494d50c\n\n# tcId = 26\nmsg = 31383436353937313935\nresult = valid\nsig = 4a2dc205db899d51447b689d", + "3ad601003eafb70a51051ae4e570c5125afae66427056fc2c9f71bc42610ef85ba0f49a2721247d4a77c6dc9f01429c2d9b909fc84dfb049bd351872301a7736195596a1c49ccb1b367544a190d188e4e66749731a760d76aa116fa4a189665a98975b7ec803e2695fef42eae7c7f8e274e4fb1c99ab0eebc76ad6bc8d768d2dfd5969181e78b3ee72fa900c31510f071a1da8b7589e49e254de8850db02b1be841af478045a847f2db9126a4281887e02beb58f1f0bbe67c9c7acfb49b5e4ec4fc76ef30654b5d3ffcfcdf7cc912c5e1f2b20d91bdd6114d25405ab65215c05c4ad2b6fae6662ae5130d17652ce42c0ce86c153\n\n# tcId = 27\nmsg = 33313336303436313839\nresult = valid\nsig = 45a2550893820ad511eabae35039a13457350df7ec21cedc1484530dc37ad332a170af8bb305e4bd6da78cfa4382045ddfbe2499a19d51838b3a553d7a849c49e284093e1f2fe4b269295a75f12dcd0e727a79c1f0e9cd2a89e295a355a52da7ee1dc2547fa43d96abef1a3b5121bca67cf450cd087c9d904cf797834057334f788c96763a4ff0a899068363621d90136eb530c32041ef3ede97a44be137d08c2a7019f31f8e27e156e509227860c723e3aef19685a5e3a10b78df66b38f299d60b2338bc6a943bc1b2f9261977ef4e08d1b6b42de17c4c652099d377a7ab983ff983c3bbbca99f79c8148f2afa9b0f1bee51e322ffc05b051e17d132a6e90c4\n\n# tcId = 28\nmsg = 32363633373834323534\nresult = valid\nsig = 258d169322a9546caa2b68089b481bd38348159fa9ed192d2eb60839029552a420d5b24644c3381a5ffbf2ed46072974918d777f1c53ad51f9ce8a91aff95dbcd817f50ef13ebfc9efb6c36987dfaaa96e37aa89dd7a32348906bcc22f4d0b5104c42181f76974651e3ced20d5412f70467d834cb49b1b7e1532ff417f91dcf653f18c43a6ad9ff4469600890f836c553963bc2379d5bd79ad338035f7f4aa6a27fbd924b5bc8d8b5373de7f4cdac75cbe0b8abd3961db17b819d46ccb4cceddcdb3636309d6754c6d82a61f5d9b9bfabd0c948777264c1138c6fb6064fdd5a797e551c1d0e545d1d32d63e1ebdfcb78275692cb50717910312da9917052cf53\n\n# tcId = 29\nmsg = 31363532313030353234\nresult = valid\nsig = 824d0372c40297e3a0059236a93f60db3d2514defe409bfaa2890f4d04cb21043ba1871b8374fa51f1c4d7392d0e244222b1eccd118009e46bbfd2a84bac9e84ddc5102eb4508f5b9d77450f7aed31cbf5b6a4032bb44fd808bad403e8b78af3756f472563e050526527debc1ec49ecf5d5c10f279d06a5dbb7cca188ba212be9fd36c7eef8b187405da50dfea140c4b604dc313f28941f2c4447143a1420b31cd23663252ec0426c8465ade55cecbb9b9cf4f88e2b4b7c86cc5e2c6a4fb25c55835a2eca1780fbdbb8b354ba512d412e84e73764e055514e10d7ea32ad7e1a3c20dfc53732d85fae40ca951b5fc18f9ab21c9001dae67c6200b9cfc6d142565\n\n# tcId = 30\nmsg = 35373438303831363936\nresult = valid\nsig = 8367893d5ad77be24a739cffdaa7bd414d66442357db9bb339a7ce862b400363d9e7014aa1ced3a8c31d65f247e96ba5649df636fb759df04b7a62da27a64025bbb9719c7ab1d74d63d2ad5a324db8718742e5438b780ae630499bea065e2215df9313fd45a57941e9632ce66fe13a5359900a0ad5de9261aef6a11c3b98be765c94a6d24fb7c88fdec9d6fa52ffe975917d3b3d68794c6fc899b0f6901173fa91345df15f1d08dbaa0ed77e692f9de80d6670a95bce1b014beeba77543baf4092f4b2158a1f27b62cedb0bd3f2cdd381d9a46bae1aa34c2b8c36a65d4e44fa5aab1cd188d4202227d6fd537776980ebe636dd81d3bc0775bab23ccd9623d423\n\n# tcId = 31\nmsg = 36333433393133343638\nresult = valid\nsig = 99f149e9940d2a6eb2e824b48838d56f383e4503cea71e9ececaf2a6e9d616c1e941fc0f8994a0373ca6325f6de2b76be043e4812d361d89cce166e7c0f4ae8e0c2c8aa053ebe4568e0c5434acb6535902dd13901446a38d7905eefa51a22bb5b2a05b242b061643a8b1538c342255438d46824c43c5df1fb84631147b9cc689d7b828f2bd5abfb48bd40a1b0ff6866eadfd9588a0361d9bc6a076b978b9f855a36732207816c8b3c426914c73c9613ca53ef8261fc30dc7a15cf7c858609265946626000a1465d41b076ac9ded93b86e95de58c1a4d2b5cfed5d311b6f24cbf257fb03c47e443cabaf1e766167f524e6fb665e42ee046144f25544d46d34efa\n\n# tcId = 32\nmsg = 31353431313033353938\nresult = valid\nsig = 20d044f045bdddb0bfe994a34b5437e61446f9568f3c7d09137430cfa17e3929ab8b849ec7cd632079a88f994c0f4a0ce23f2976595df198b4f1431205c29b3fa1d37980855446d25327ee669324c3666022c0100cf1bf855c8774f3aa4898dace7a16693c614eac00cb337f05ec2588f670370c3ee40f29e8e900da16d1dd28aaeb098f8f3b918c562f8c2512af238ed4ecb3be4ae39374eb638b021419a3e00890a4eff70876fabd74eea1bd56de05dca208928d434e7342e9179471e958e235a298f35edcf9ad77411f824d5c53b4308cd08b0443b58fc5a868399538e5294dcbd2e94d02c719aa91ac12c3839bea47cec649620b73235f368fd5d977e033\n\n# tcId = 33\nmsg = 3130343738353830313238\nresult = valid\nsig = 4c8d64aeabd2e12c8f2e3d31ac3f4b861723ab8f9a52cb8910b298fa3a735bf91284e9ad92bef3995a1058fdb0f696143d92a99c69c233f60f64873882c1c9ca8e54cd03350804aac319747c5cb8ec6e42f6100474158111b30548519e02ae9ab39507efe50b8b212caa82305d9f2d2c43b2f75c5538b0ffe9423e1044b5fa05bd675e1afbe6d22e73ced8dddb3a00ef37211136838bfcd37655203bf2c830a62f2c707030e2b964443df1ea24ab1271fd06b3d6c1ab78b13374c086edab36267ac065bf5ad799d2f27a6f4bae708be1103841aaf21ff547474634e94c7ffec8b4bdf81cd00cf0f0e6f234cf2d208e2af2e2fec001944e9444b005c8ed919903\n\n# tcId = 34\nmsg = 3130353336323835353638\nresult = valid\nsig = 0e97e294583f528af631e44c02563344657ed47783c119a9d28d6c0f39b6ebea40e1847b9f2fe2708bedf44d2037ef4ba7464c630b8ea5bfe1c66d4b8729b20ffd22fb5721199e884b3b314ed1a6b8abf11c72314dce375aca1d02aab773d88830d1b56e86f45b1862482242d9ff57a1473876c476c33fb8228420f3a6a31f85b77aec3a8d60b383eed4f07dbade1020f5afcc08132d0423319e85f51235b4aa5e16c0b183e0fd653e594c6b17f25d055b410b78c890f29c7966a8096cc248906084176e090af500c9c5d9235a2d35f231bae74deb9b860a541d2bb933ff0a200ccff8ea3642e3350562cf29dc2c1100401a9ae0c0f5e1e6420b219e34416254\n\n# tcId = 35\nmsg = 393533393034313035\nresult = valid\nsig = 80aa94e49ee824191050c8bbaa73b352fea2311893d8b8e00e61a2d14701783d364e15fc09035482747711fa1fa72629460fafdb23474564527447e0c05be2ba895e2dd1853b9e6079afc1464f7c8689b2ad74f8cd2bbbc7690c91bfe2671bf3fdb1a43927c5e73123f4dcddb8dff9f06bf254ca2cda0a039939ceaf2e196f2cb268eea37c515d0082e5e9b4a82719c6f5ddd6e6a779054325c1ac45d6c2599f2c83def50881cd9d3a8508749646c9296ae2429a96f580d7cfc54b2f08726ed3caf7c3e5ab37d32aff309b1f34c1b8d77e2da69b619e3804ae6ce439e796f86340dd0bbbe7ea823857d9e4eb1aeb7604fa16f4b0683f78a8253d00fedb5b6024\n\n# tcId = 36\nmsg = 393738383438303339\nresult = valid\nsig = 1e10e4135796443ff3a815be4c873f9f61675c85137ff4397f600f4f5ff79634aa4ffde2195419fc78ac82eb7be206f91443b12d743457cf7fdbfac6d7f66fabe26fba464d7f984c6a502b19c8d4b634cded91d4289bd84ea7b2fdf2e6229bf47b40feb368692f60277eef9c0228bd315a3237458107c8fbfde830f8c32acc4d172e8eeccfac19e99021cf8122487f93175981bf9b797ff869153b8addaaed1f184a677fd694d88ee0eda3959bb3a0d8f66c361658359eb117eaa91f02c6c0889f69f9a14fad91d2fa443d2bb17f3aaa41928546e163ec2d09ec5cc9758c7cda12fb29692f09abb987a135892f17afac78014624298b1af79a523fc0cbdeb120\n\n# tcId = 37\nmsg = 33363130363732343432\nresult = valid\nsig = 73e39468a5640718bb56f26939ca18406995013cd10a7a72e65d2e6b1df2e841c1a7394135ce0e5da4a830bdfaac5bc5b2d8ddbe6b5098a3d9de96cc639823f7a1b23f769ba18d0d4772c1e989891a4d60a95bcd42160a78931361522da1ce1f10204f57c519a10c2cc9ee3145a0a2ac31c37b3b5e5572aaffda559f05a684402bb5c3b28c6a2ae263214073999508d96a96c30bf02fde3de162d937c4f2b31ffdebc42f9267e621855fd18eb97c0cfa4977c1a3765b4ebce955a9c87130baef1853497407b1922be2f43b6deaf7910d6f8fbfa97d870f16e17a3b9c133be1391e847e103096fee4905f246facbbe8c95f62d15f302cb27e8d4b69ec249af4bd\n\n# tcId = 38\nmsg = 31303534323430373035\nresult = valid\nsig = 40e3504284c59620caf145dd9f2425c39c66bb4e0d7abddd694b810be4a9e2f728d706531019e7e07293066de0dd6c7c68ccf32ff2d91dea74c592c504916148551c99ddd5e4ea0a906500341b1f7f6a03c4901827fabddffaf1f028139db5292554186b867a012520d554bbc42b1d73d52b397a7c310e7d195037f15fb1fe729f577d1847894436b9828eca4fe881945c1a38a40805365dddf6cf7708cba2948a15b756757d6246dad90985222e4baecc7823e4e7e99d568a9da144a5b556220aae30b8a8d916a050a869c70368607dd0092ca9b5a00865d3bc1ee0ec06df53f9828327127f33a97796f6b0b255f1cee34328cfd2ca1ea3e692d0a94e457ecd\n\n# tcId = 39\nmsg = 35313734343438313937\nresult = valid\nsig = 72f7f4bf01a6784face7d31b19c19ba1c75b16eff419f81b39c1c17cd489ecafffdb2dfeb33045cf679a455336bd6869ae61109043687293bf98ef7ad03afe6e71ce4d43319743c07c313b12a728c8a98256bd1fd735152d1d2c83de2b8b57cf9bed4691ade15eabd261377c8e26bab03d0da055086dc4ca5870bdcd9ef3e7e0973be871738a3e389d774d5d04d71ae0a3be03746aa4b7f20afbb3a44d9163cbf4e675e36d01f016087d4e7c68b2e3020f6fad363948804b0494d7b38d2ad4ee1288bfc5166b59ae3db2c2c03971fd42d04e6fecbd36cba6390fdd878b67a2c6565a7826671144712108e37adbe8198a2bb3a371c90d8c6880dbcc948cb4f775\n\n# tcId = 40\nmsg = 31393637353631323531\nresult = valid\nsig = 084cf6628f8f96ad842105198bc30a72bc3ea4aa4bb01176780f384f9f4ef2dc9b591d042c56c898e48d468226a9a361a9c8e0b27986fe6499112d9f425e08c778d01d3b221dc110411006373ff903d78678b5b04319b5f96ad1", + "4d1395defa4a517d5ca7307983a7819192ae7d87828eda55391444cfb737889f479437112b1a45c687a563a07660223d7fa199e0924d6b80ea18de201a6d8e08a80ddd0954032cd3f9ce0d85d0180a08a88d813c6ed289decf3f1c1514adef9a9662334d6e5177d3dcd24a2a170a6555d218aa30638a206b1783edef43aeb6f64192f2fec52e2f82f4dfe23726719e16a3ef873ae37488449634833ef2b74b4766f4ccffeb2a\n\n# tcId = 41\nmsg = 33343437323533333433\nresult = valid\nsig = 4a510dd6edc7eaea7ee9302b007844433b010dca7be4ad12a8165da93fb8ff74ee5b836769608a1e207e208a7d7fb2606c9f0bdcf71391ed5171100ab738e54d0180a629706db39efb88b690783ca9ad25234bcd6ce0920a01f74c9afaf36500434519afb3e8ed2b65a947298101a751ba46cb7ee51c37903d60f6ac8a7f3bc726f394dfd5b53c12d5703fd719aac9589046f9f4064853fde4c92374c1da4fad27a4f603cf23a9ec4ee478677f000ce18feb791b130c037d4347abe36901586728fb3b09262ccd0feb79aa61eb3503283ebdb495316814a74c74f5819b165e2d0efd65d53e4f1e73d76da1847f8f8b955678437b4584bf6d8a8a291684a1a99b\n\n# tcId = 42\nmsg = 333638323634333138\nresult = valid\nsig = 12b06df28dbdb8c6c34610ebca8c6a730558f6669bf160b8083b4a18a4d641c333d770d03c5a6a165db07305c0d0deb6721355d4c5963a0b614bf0ad522ce2f339fec301c61bd3540d0a7bf295cd67a7ab81401e3af1c66e5ac4d77e95c8b5d00bf128dd1f47a847ab78ade22f6ddb158e6da46950c13eeb10921bdf3b5818506d635020810535db03e291c503902f25cd67e2d2f731122d9f18c7118ece369adaace1c74222b47046476d6f48910a7d6b6dc4fa528199d54a47282e59948ea66bdc52b9dfad6d2ad34f19017b2f929ce5684ab59d30e0252b96c762987c35c77eb9af34e568fb7a2c2c7f698cd487af1852e17af1bc2b25feffd31315a6cead\n\n# tcId = 43\nmsg = 33323631313938363038\nresult = valid\nsig = 29c01987266ac014487e26052c19cdd9658966444197025bda28c8d47a67f7017dce389dec619d61c01f7f1758f8d550f9d4aa98d6abfea6aed8143fa4143c853d4af2ba3c5c5df1f1811d3151d35c6bab09ec94aba0198383e326955a1ce54d064c6d734f35bab7b18d3d36d1ff0ace46701c7db004b75cb44ba1bcd2dcd2cc76d1b46cfd91d2b2f5b03296224a8e4e450031a32abef86c1f06a008b56b1c3c499b8eb951ccbcc9404d3cbc68e0b0292c4d141030d6f3db18800c987c34730e689a43f0436ff002233da7e8be5b242abb13238db247b0b39af3064066d3d6b44da065ac9005ea21a1ace2b8ca2729f5de2f579f66f201e91bcc31d5b430e322\n\n# tcId = 44\nmsg = 39363738373831303934\nresult = valid\nsig = 400026440dc38f61c873f0e4eca152d72e4237a685ca69091b71938cad2259fa045af81d9a8e568f71b2f42b9b5fdba86bc3d5d5dd85dfaf2c128200bf786ba209c783d9a9ccdc0cddfcfef579f6c9abc4aa4b4ef41f39136fe1d960047778fe29712bf6b27817069554ac10f2853cbc825882bfad9845ef304c17e2587e124c6979427a3be80965b25b6ed25878758cf3376c7ec7c2bb8ecf2529475ed24ab2e37beac3307fbc2bc0d51b39005da9fe87d848cbc1f8625d47d7dd855acd1b1fc74edf0778fe649892f1e9750110adde7e3606f32551533845a5c45453e9c17d4b812ded1c9ccba702a1d2148c64547f6b53b8cdf854b9fc9ec493c52830d769\n\n# tcId = 45\nmsg = 34393538383233383233\nresult = valid\nsig = 5ea77a298d24682962746d11dc54c138a79ada1c4e1431bd06bad97ac4d0424a500b7532a3540b657f934a7232f988ee659c0243337d7aaad534bf15eaac5735144cffda19e96599f1d1e1e187da6da5fbe2f9ce7c1240a3d2aaa3c639c5eb8edbbe4eaf69ae8df45286f85dac27eed162a87f71dcd4e70a9960e706e6a4e3b5c5afe00d741a97418e89f0f3bc44137f06935c767bb04338a3dec5917351c65251d74af5e5698248eb498dcfdf498aae03ea8cc88593b98b34988417ba697bdfd419001216e57b182781d07d3afd0371e1de64004fafa538c01e6040926bb193c34f3ba820331f8fceefd87e78fa09b07afd0d116993ec549cb3b7f1043ca605\n\n# tcId = 46\nmsg = 383234363337383337\nresult = valid\nsig = 6567fa3a976c472555e45472bb8a6ecfec7e0e80e802d58ba53a255669101d3d362e64cc3460942d61fbe617772d381dd345b73f4bd37673375823801bfc6d1bea2e0e9cce5e607afc3e66c3da25cb29e23359cd93626efcff1e9e79b0a7cedb75badb69e10a0cc09e26b3684ea11e3c43d3af040da87cce5b1e30bdbdcdc7bdfebbe5be5542e18b62935b0c2bf8b3cf2507aaf2bed209bf4e7fab1fcdeed47c9f7e2b0dd2e4b0b8d3b2bad9368f58c6de0ce61eeefb9b3b98dcfe7881e81e67e8e8908a6c71011ff69ce21fcc31398a99804c9ab48f50bcbca80104a8b67a8003880cdcb114c13255d7b1d1dcd7f08aeeaad06637aaa051cb0eaffad2420df4\n\n# tcId = 47\nmsg = 3131303230383333373736\nresult = valid\nsig = 742e9bee462eecfef3e7a05d24c498259e56c5bdb9d0a52aaa24e07d68c9efdcd64dfa5d3d44ce73c197188a9168ec7aada05a3aafb8d3e8c45b2d2094f2b2f9df6125e9f0a5c129f33db1387dfaf7724cfd548f08a94593893558c34d9e66d331bb0719fc73152241f3e305d1a7604328c12e65be342c0f49d0650e4b32bd8db65b8674c3284549d4b6853db320cab0d019287a8afaf2486d749b8bbdd80378455112d5d54265c5e94cc3debaac80a6e3f0ba47e58311bd0f0407ac90b35d66a8aa432f7bc59cf0f6ff134852a33f997a24c737817c90c89b22cf313d30d9b9dade41371f8d6abec63a8e01532b4d4c504fc4e78ababdf325970f4dc617e4d1\n\n# tcId = 48\nmsg = 313333383731363438\nresult = valid\nsig = 2507373f2b7f35f58d9ea31cade482f13a066f4dc89f38a9359f5c6adb8b4119f0a62fad114417431a6408869a2331386dcede6967fce30a06216f1464b2a86f130b4eb64ee63ede489687c82d578c33046f6530b1f27d65d026f9498409fc8458f7aa6032d64f692c163daeae124b2ef879c5360d78985327fb6f20db8cccc32ede8823ed05313e4a3cc7784ea029a42b110d07186338e9adcfee27826d04150e5d81bb02cb1a5d7a0950688f213a955ef2703a3dd4702abcdb6a9ea85a6c764ba627afa354ddd98d2108a05bdc3f6d4740ab24f2dc306c1ed9a55fe724507ad51855fc82b86ee6000eef49918000381f717e12b6a6942feb1313cac525712e\n\n# tcId = 49\nmsg = 333232313434313632\nresult = valid\nsig = 82d4d4acff7bdb073c4f9230b81f910fd919dd1f8795e7a6e8bb3b968bf92fb2d62b592080c3bc6e3bcbc1433a2f3bb4f1548e78ad86ba9e7cd1f11b0317eff4c3e7eac79bfbf15bfd3896b537afdd3f41011ceb716edb7cf63f5db774c3f50655b13e5c587606ebd6004edc169b6802425e20a382e24e54f77cf4b6adf0e8568cf2c8b588bee5ffcfc9017e67aabe73165304e883635182d19f489596f7e9079c26fa97ad9e02ee41717179bc0ca3b380f9e639052ac3608514a235387b593fd6470a3aee56f9b8d73b5707ceb6f6c926ecc4b8ed9cd75b8d9a8931f72251e366415372fa8fbcce42d77c353ca926fb3f12f60543111cbdbdb1842382fad25a\n\n# tcId = 50\nmsg = 3130363836363535353436\nresult = valid\nsig = 7be5861600d3196bd6124161c3272ab36167b4137b0705b648e93cb9cad8a4be37107b2ab449f421fd57a55bc3fe9c6fb6b829dd6d6fcbe88eeca9bb93433764fd0a88113155a67a5fb514fb2101372e6dcfe9341c9538d8673472a0e75c028ccda4aa2e10f793cd0e10162167a98c9bf6880a78651f77774eb20339f3968e9cfab74dac2261ded111c047ccb187e11ddf255d3695e25192863d632257444d5e469fcf0ed88fdc954ee94164d70218ef033cc598ba974d8a53bcbd01de333d4e185faf85b86acff65b29f15d97321ddc21f9afacca674eccce7fce1287ba508cc2a55c534a2c5d678b92b86dd02de641684c7c8b0f14863cfaec3d7eb8430486\n\n# tcId = 51\nmsg = 3632313535323436\nresult = valid\nsig = 602440aba9a9add4716555fda1dbc6a934224c6b762433485e160620fee1607e9079eb265ddbbfaf75fa266b19d752b7721d4ea5203ee2dca840f078dad7517ea2392142e4a9086401bc3ff19ed5b7628390b0175bc982668fc86e2fab33acf17f3ac229d12ab7cdc29ffb98649669ae3e6443d0916b611489c9642d356ca1bfd3aee35d96bf9bc7a9b6734be5f77f96ddf2b9cb366650619c53dc5b5beadc7d5815e7b36b58f3cede2d47ff228cacce2789b8d875edaef9b0919bdccb9cf90a7b5eb4e7b996215c943c017e24d1f2ad8c3bd844668d0deb566d587e378c38d547f8aa473465fadec8624fdff1f980c9506ca12eb999f2b8f18f0f5c9b2bf460\n\n# tcId = 52\nmsg = 37303330383138373734\nresult = valid\nsig = 1bf65b125ccf21ec8894576bb4662a39ea4e34e3bda2ca48718c56719d1ec0d9a0645d06440c2dbe96b1f85fd20206b001279ad273e1a656b554fecab03d588aafa8cbe957a5d58c976f85fffbe155bacf78f7a39788027a1cbde3c01c7957f6bd2b9708ac5d6611a82e43f1363f72ecf4583a32c9c887ff5af1a70b0f0815db3d89f6dba2f06cbcb19cfc49851b0220832809a158ae9a8aa4508880f1169a301e7096ab74dd4477b3f1b6242f8bc6591e61bb46d871efa0b74836fcdecf371c04cf786c9899d8c0cb47acb6790327f6b4edcce4b1ff651fba61c4442ae3e4d9a23601ca8f8aea8c6055c3b1cae8fe4b506771a4b15ec8d2c1d141dced2d908a\n\n# tcId = 53\nmsg = 35393234353233373434\nresult = valid\nsig = 9fb119ffbaeab1f338eb3c8db5aff1e13310172cfb7b9773620a9fb6e8454f029840c88ae4f33f85558a82a9b9bc2b9aa4ce6d49f5343f79011f67f2c2f46ec7b787299b8fb9d0c46a18acce3530c9b88153022964d87dfdbfa74794f5067a39bf3e445cced358bf57bbc45b7a29e550b5fbdc0aa91d1b4db74b11d99e995ba2e1ac76c0fba496fa95016b8c9544105328b14b3a3f1cd45314ab67dd8758df4d4e66a01dc89dc541e9d46feec6d1469846c778d8893d39a337d317f66ed7725196af6e878d53663e05b8c6ea215264d2c897424af9c30aee5021086b6cb6db4bbe27bda99e929469df9192bbdfdba572864b15f468916f25f7bb87d3d02f39c2\n\n# tcId = 54\nmsg = 31343935353836363231\nresult = valid\nsig = 77590c1437b5657d4df385c0c639e0e4eecf14df26e89d673033944c5938bb6b1772b5a9aefdf91c19641c1fdca98836bea1dc8219c01edc9eac96afa2f04587b76e85287f78518cf3fbe1e84ab574a9358c1b0ae3f5a843382faad16d0a7f58a7fd73868e4ac2dfa57f8ba692734a689fc0b4eb270a425a69fd3dfca7fa30e09996684dbe7f959df6025649c1b45b0697315b98fd66e587ed09abd43f0ccf4dff7ad83a8a29a701be77ff87", + "982c3b828b48410b7bc27aa01d659e88aae6f09ddc3b221fad1523f72e0804f34518d213c65b47f235fd626419edd0c93734eaf11a91c0bf8c4c3e7a9c95c8f66f0a690e6d7ef75b6bb3080db75a8ecc3be86853\n\n# tcId = 55\nmsg = 34303035333134343036\nresult = valid\nsig = 8cf02d19d7dc5f00ec2938220bf400befa2044fd4033e874ddee5b9b1f71961bb151e670743e36f167e02a8c49b227930e236e09cec23db417eca18740f78c752e85879c32c1b3e21139ef929e99149fcb0ecf0e334f24242780273e9ef0893df58996bc156779afaae7dea56328875cd85b030c8b4cb4f466a87c449926d9133f452ff7510fdcdfd66f0fca6e9d1a84b2fb9a7d001885f52ed63aee3a22059963df11eb6a67f11030d2841cdb90d3a096739f36ffed1eb538c1b095f8172dfcb1b5a325468f78a9ba11e028e1fca67758ee0f66a7c7002f9d4b31784b93e99e838c44efed881756c5934798b9b934b751d4343626ffc6875676f4373051351d\n\n# tcId = 56\nmsg = 33303936343537353132\nresult = valid\nsig = 0e44384d7e96521340c9f02ae7e320636e685e965780e191f9b6b89df8c1c8f68008c1691b3e706e015911b519f08813bf8fa5377e2ec2ab858237b9dbd458a277e5e42bae0e0ded39f7c8c4f95fef46044217d2e4a64632741c7b84e0063a13be92380a46fd43f6764ceffb5d8a32eb0bf3af7af9a3b4e07ce56262a4ea3ea2f3abd4a5eb71849820031f61335e4fb8269b9c201c8f6ca662d22ae1bc9b5834a291cab864c9aca7e1120ddcc6597efee5fe3ff2bc8f707b6567603b536b8d17d3f0f0bd9ce74a535c2012faf0b6bbba544a376af338f825165ba31bbc5f88fa86ba8bac02f4035eaed4708ce7972563272296097a132968aa37030af8e3c5e7\n\n# tcId = 57\nmsg = 32373834303235363230\nresult = valid\nsig = 905801fa11f3066c89d0976a303f21f97f042dab0102a066763dda907ac822a23f9bb99a93daa2d414df4e7122f74cdeae5970dc132cd0ff141c5698eecf43dc6ed1c93ed6f6abf8b5f056f674e96dc9a69e293510019515decf3c1396cd84f5a8ea6eb6a82a9197dc8af18fd4715ae24f0638edfcd1c12c5fbaf6c7c9b270e918457b3afb0b9a4be1f238410e85bdd7072ed684b1db2d96e0af02b7388624107132c7e120041fdf0ba46a7f0c12e18b8e72dcfa1a293cd399893e053080773a5b9e703e6d6bebbfb81fa23da8145329fdeeeb72d60130bf057839ce758ce6136bc467daa8ee8dc9d7cfdb966a96bbae15a33167c101f3fbddc164cdc0e94e04\n\n# tcId = 58\nmsg = 32363138373837343138\nresult = valid\nsig = 366ab7ae0fc28753f7cc8e7111398b78c8323de7177e51f9b6679a87888873f9e550aaba9fd7dd25f2db2b5224664d5e738afb98cbf7b2e86d2ec9a10e68cfc8228adf866f7cace0c6dbcd381ea62dcf4e239a2b7bbff1b83db5790df09f2b8bdaabf48c38bc5d00914961aeea73c6e703bde78b806dd41047d1799ba8add7160d6abe468aed61f78cab2dc739b95f5ff2b9da3a2cabb0129e1e064af17d37a194133e0498d7f2c8319c01ef20ac6f4b81eaa037c86104bcd03dc3d8e5cdd65af7ce55d6c483520521399aadf7f2c434838067a255e1ee7e35641b1997836f010902ccf3b2b16748ec87bc52db2e658350c110aa50bdc742422270d3a2bd315b\n\n# tcId = 59\nmsg = 31363432363235323632\nresult = valid\nsig = 92832328c12807514ddcd919636b9bd125192ca98883069b2ca8edfbfb0d4225db3a621bd03a7116f9b919b16b2568a897a793d20e9c4328add71ab2a2045c78ab1c3cb769ab957af2a3b572b3bf2c0453bee10bbb9fa7efc60605215989979d7ee5724f73ce85c710aa00f24961e5444f09a83a82eafe3839f8dc3fa5e27a6cb122ad34f80b181142f762a87fdf8e8e77b42b3416502158cc66dc2dce34e29f1c9ebde9d60c7969b72d9e841110e035807e2a6f85cdcdb875b3bf8e3ab1f6d05f4adb3d738e9965c52d81387cd0a702ab85576a50072a994f13c7e691c3eb1fc4c46652a5a3f482ff8fc25888154cc8a1348913d1cd0c19d77c55b6e46e50f9\n\n# tcId = 60\nmsg = 36383234313839343336\nresult = valid\nsig = 3fc17de411c99243a0e5d4afd5131f177bcb4edce034c91ad9dfa87e3c31dedea675574e917954832608dabc72544729fbcf91fdd1f114ca43df0af73e2226b73a1797fde7daa3cea6b086217d656798f9abde4a563e5a8de203480b42af12e636ffaf7c72d2dd791165ce3ce4b1e21e8b749cf8e91b78f561867c892361c1529c2c9ee780b6a79b72b447639ced5b4a04fd3d2d716923bcafd793cd1454710da5c785ecd2c44cac2f79520bcded6d3d27f9d2a7137a68e69c34d15592e963f915e88b8030cb7f275a3be498b25310ab4cfba7bdc0756aadcfd3944a609c40b9531cfed55e7f9f6914d53cc17dbf1d9707fc57ded6bc04f690519cdb2bdcea29\n\n# tcId = 61\nmsg = 343834323435343235\nresult = valid\nsig = 467d466cb8e157b9cf3f51920b18f1db2401f4d2c397ec58bd3c6ddb1d5e9d9414583534060773a13382f93f0d8852fed208e4ff560ecc2030772955022aa594767262dd02f1a89ac48bf4f7a2c34e8c764e32b39b9f9d1d857164fdacea8a93e3456f4dfd9658080e3e45c0f17bb599c456e2cf5946140d467755eeabeafeef440c72272af08a4a4a1391d96d750211361e5fb78e9439c3e3b39e01ac66e40d84727908db4dd7ca742c1454762b2022dca5e1bb1ca5d051589988336bd5334f72d12fe9ee85a9c77ad4e09e4183928661e72cff1c0b480215b9afaef2601399a47fe6286acc710850b7c22d276e901219028a296edf83bfd5ef21598e5fb55a\n\n# tcId = 62\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 67d1d1c0a398148625317c3f5e44b738bdf461c27a59594b39ebb2aebef233c7809379e54411411b82d2e7ac88f989b58373d532c758baea121878ce9759441738d121881c1fa2d04421f02dd565b12770d844611ed1873a0b64d822709a6b78d6d3892b294404bce6711001d6c3a54546c76a1d17819674b0be904497a233b466fe4becc832dee740f9ab79e5b9f5db0b0f9aac0084ba05cebf42303b5ca2ad95e3d61b29ed6475545c02e93e7b0e118af92f5cddb1faeb2cbc23c9e69c120e29df7fe31991e887b3b29e77688c60e80be65cccf3d7861a7a14c39e6a6e5645568e2cc5e4a17b75db1dd415aadb45e112a9b582b2ff6e82a43d7a7347b7b56d\n\n# tcId = 63\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 842348f2b2cdd4c72cda7dbec0fb8b114e419cbfc1ee1b7ce5d70ec56a833c4ebc8c114dc3c92164b13f4692f236d6b88e5618b23af9fa979fe9b5d8eb228b1efd0da8e47b4c4042965c8b9f08eb9f6fdf7e472c88f532d4d851623b4bf99e021e82ef313c7d93179af810b70aaf929a395ece713d5fec3339e394210b56f1edf26dedfb04083bd24eb0d3ca117761f38319c3b97a9453993dafd3d2dd8c01cd63117f8fda46f52565e4d7de9f718f1f23254c4f9ee77ad1414af4d4dcf959a89bef438329516cc9b79149db058d206e6d7c0133e7c870335f0490b8c569d787443c4a84ff665dbc6f4353dec66f9c488a3f91071ce19553a7c156025f1f81b2\n\n# tcId = 64\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 77c9dd7786f0b5cbe76f20abf24361f8979d3a6c6c122e798eda906b0b9700cd2dd26e5286ddd39d07b7c24379cb40f8350354a36b0759bfade61d3d770702b58218c5dc64ddd0d5fce405a16fbc4de3a5fbe7737032605c06ac82e174619c3004d24bbf22bd1ab3e4d432b4ae36c23573cbad845c16a1842e5de1a3bfa2f12d3496a3114fda830dd6061cf538a4571fe088cc03dd7e8762fb08b84501843f5f0362a4fb097d6fe9b96970c0c505d2f6a59754c42684908627fa8c734ecd587c161de7b7bdd69924c0b4d06cb7db2a70dd9257876d1da1ed8cc00fa68279525c346b7256c916ccf1df9386ff9d1eb27f0a5d83a00a2738fa2dbfaa500baea789\n\n# tcId = 65\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 455221c385f769fedd123afa37a42b7477d6c3ed968ce44d4982c41ad29a3f59baeb2b566dbacc91b423fbaec371f3809c20cad6afcc2b8df782e472c954cdeffca49553f6eca58781894c67fed1d9326a53422f9642031b69ff45e6a826d18e4241b5214231f7d252d4c640386a17c2a1839ba9c5a34e94b2b8f30fb259fa752339f134e54375a9a4f3a5dbd5f3fb93c38b59fc33a77dbdea9b8fab7c209e6f403d188958b5fa5481bd225b266bee6761132104890c8c25f04583084eb01c266ccbca401617120c61a388cc683fdd5d195c8dcd48f4d1a9be80c07727f78a10cd26359c8dd1d87614f8acac1506c5bba79b30c0af745c872433f17e8a52a94e\n\n# tcId = 66\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 5d1f5b3ada8d4507a7447829f26764b9f794ccb4c287870b5c5aac649f9272fbbe22f064cb75e5b3813bf874c6977dc286ef1deddeee1a84a9302fbbc9c8f86ec45eed5469bb85eed8618efdaf29ea4bc0a9cd0c0be71e82bdab6f15a9f7a637f297e0b5ad4c7885bd27b89f4a52452f0176df3d266f9c13fc44d3fcc3e71e3cc5ede3fe2555ff2bf2b72a2198af709e29c2f6f5ce44997c02ea7aebc9a33d0c609ff0f586e753e585ee5052a0bf2f71247cf43ac244818c84347662338384d6c1a4c9b9ebc14f912db688e658d453bb2082c8def4c440a6b25e03ea4459c1c9bd5495e2ce9343439cbbf03affca63856cc50936d49cf2dcfc73679c9aa32e56\n\n# tcId = 67\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 68\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1eda", + "f87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 69\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 1591ae743c58ceb723a76f502e21ff6a65c24cabf5f527bab5a6f2a69f20c776fd2251e43ad22e09b1486ceb1935b2dc2ade95e233f296cc0e5a8af8109659be76b6bfdf37e14837fd6c34bfed1f19ec9d21f974b984fe4d4773896ebcc7fb862fd641cd0d77178485c70c2d68b4d9be1d863f6f254b77991fc9053f5d5415d1aa74ba9067e2e6607fb651638c9cc0430a40c9b691977b557a31d95a290a95b56ef2ec8e4313686a9c5ef48235912b210fdd2c50aafac28131104c795c42ae75810b0284b2d257e81ecac4240622ebc261ab8bceeeebe80f1cfa70f18d782aebb97d803ea3a895be541be6941df103eaaabd870848bfaf58cdaf6cecdd5a10bf\n\n# tcId = 70\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 6f2f650ac10d5aa2c16703f657233da8c035da67a6e9e950dfd0391399da3a86ca7837dd7cf23e864d9cfca1fe77dae45a01ba21d23dd918ca7bba094aae376100198f59834396ec942fcffdd7d6a44953f69bc60291b1eed5921a0434d8b8953beb9d1e1b15fdca7090fa5c646847c0b759e94f056911ad188d4b0cc399c8c345757d5022f1a38926de0cbda8648a7affd9f031262b1079a3681d58249186fec4f6e98bf151c9b680a46b88dada9b42cca365cf908ed0501cd21e02a5bc4c0675f23ece50987b703499eeb94b6c40b5cdf22299776fe30800f887a1dfff18cd8a7da8c2388060dcb78c925c54b4e620cd3fe7546accfb3bbae9de08ba886009\n\n# tcId = 71\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 37487b948dac95a1e57bf1ac40888b8e074cf9db9c9825e7b7267d3b105a8c67cb9b33c0e5fd641836798f41b8b1f024b13243da4fa5e527098337e5cac41e0523a28fb135ae060e7c1e4eb9556222bc43bf1659f65a2a2db108ac9b7c9942a5658fcbca5622c115e34ead883ea4ef03f7f62990f282fa791b04489053771329a482467cba8a13ad98f27ff7b61c24a452e085d432130b7259e59b2866e55320119b21e3c706f3596ec174517c43cdbe957e012b573961b1fa925373945ab3209a1007d197e1e9301dd0afa485acf6643ba0587a69f7c44bdf1e53c32f05a3b96db0c462509c292d7de09a6c78ebf1131453d37ab037176011296730f57cda97\n\n# tcId = 72\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 241a3a7569210a47b83125fb67039a68d9859b971a49af62bfd4bde01e3b955ab166bba5165657fbfa519573027ef1a0f40cf7533f941d64e09fcfcc35cdd564c1ee0823166dfc054ed93e01c5831c036920335d8b8daa32220dd5c0b6a071f08d19411c6418aaa9883375587b19f0720e79f184535d7ed8c5360e667ade541c1ddbf9c0629255d8d286eae8defd34f000a3be1fa7fea65a4cd4f64b11c641806fa57d67b4c6b7b49892f38dc5d13abdabfaa6cb91ed6022d4fb467cdb6046b13fcc8142a97bc34eddd045796f4e19b1885d04c51f53e5bc0c272678990aea50a124274cdf048ecdb7074ca86f36841a7ade80a8aec6a653a0292c82a1b5c678\n\n# tcId = 73\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 484d71be451d1f3667e01f3e7f1a80db9764f751ca87ffc6352953a773f6519e8a0f210d6d43b417670d9c0ce3c11a668cc83394a5e2d7bcd4ae98e50ed26c0ab66b41ad2e28fa703f2da04db0963875842d90a77899642dc297cf37a76fdb007a990c5b7af83e264be9323149fb680acb69a19e0c5aa949c2094e0a18abfa1b199b73363654638d86f9abe73a678ff0a41f6b702b70ea1aedb287add79b9a7f4a97535d0db46c05983072481dbe43fe6dfe33229ca1aec42e19afeb5bd35f1e44264c1fc6c18fddc95fadf1b1676f185e5b55f9a2bfe6b6d40289f240633513828a7b967748bbf0ccd1d3fb9f6240f31790a789d8c709c278ddbb0f706778b5\n\n# tcId = 74\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 3f27e0fafc57629ccc0432827187766a30537e821a2fcd5f1088100d4d8b6a6a9ce950f51102e3b55167d4b49e0b6a306e0fdf90837d0630859093e90a94fa564b7a4a82f4ccb772377e07a2b5a6873d98bf665c92df1ce7cbdb583cda83947b3c9c3df5b3807b470f23f8d08df9fba78e13d6b635f9f59d2d4baa34831dc6c3e5a29695645b1ed50f3a3389e9e119de765e6d7daaff0b454eadd10f445e402bf3cf4d14f4d16c2d9e4fb5571cea7929d53019d414d118e82d491bf3fb3bd7427abd6eb48a0ed277221c42840eaa1fd5e7ce658f7763099c1d59431e498cb58357a659aea8e181ec0fb5ad8a55d1c0f129500a25b85cbcc8733fa3dfa9ea30a4\n\n# tcId = 75\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 006e3f343b22fbf5cce816efbfe06636c1619632665591f9b1fd2bd0aaac9a0f776c501d7a232fd2edcc12ac63b3b56aa12ae87982c1997e5ac5fd50f6a5c350e6e84fc17d2149547babc4830f8c2eef1885e4bfb15c9b73322b693ea74eabf43e5050c477c0e75ecf75cfe487f41f4a2df4972a16e0580d57946d504fb073f23ea691086e5bc40e2b2e1dd653f2ab201ad609fd06983a5cebb98678c039150563f6c944bd6558b422de25b9720887d97ef63b34cdee0139391c48558941ba94bdc0c22e605dd9cae669406c3ddb361787ec6437c87a688b0c64f0290b1bc0ce17466592a48b83b27f0442bdb15ef753ad56eaabeb08bb3b7ace7f9620fea113\n\n# tcId = 76\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 838d0ad34f2393aec53682ed48f937a458a32216a74dcc4a1e591a538119c3b56cad78b1c4b722948373c51c04a50e46fb5f3034f43c5d260364617e6f03af7d75d66baf3dfa1ca94e75e77d304c63ea5015cdd7fb1e1cdfbd6b5ebef2b2addf697f14c97cf9b5cbb1bab7f612b3a428d32cefbb788bdb70729e53d5b8cd14f586aa2b9410bbae2d093bd11f491469479eb640847514d72269cddab484d882aaa9761839aca9851b3d409211de83df742674d6305cc3a71143fa5077bce9d3c8da1f6da0df5c271f048ba589e5c34a23ef12747299d9dc4299589364f2137ace59781e3f01011ae145a5e1af20c74516e0b56d729e49b3de310c197e7a760efa\n\n# tcId = 77\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 6b19a03c774e1c3c24ea889b552e99fe0068a6cda022d5ccb6d75a447cfa0b16b5b144208dd407e440230ffaad4f12a0746da108dab5d4f162bdc9b24dc68a2e9e077ef5702472c4ceaa89c29cac41b4782b92f6c87e014df2483580cadf2b455f823fe12c9c79a155ea32a9f1ed120fe0f13b10ab4792fd94b99e0aa6ffd27c04ef7088e3cb935436529650894fee6b5b78e0bb5aa59ee7bbb2fb46af784e2c33eb76a12cdd7d0087a081d82d3e466a381dd37d25d3b4a92756723cb1f1f49d0481d12baa21ff77c0291f902682226d99d77d36bfe58d1825988c97d9d00e15ab48c9919583fd60593fa93ab1ca8e7dabaa912f6535bbb05e82bbfaa8537b0e\n\n# tcId = 78\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 682673d7c98ae70039e9f259275c884da7c77136e06d47e8af72f82a09614a08ed125c6d3a80f701a61dc2ad967e9637662bf40b48543e5b620daf37e3088d2a54a8c5147ef99227cd5cfd0a478d1fd1ec62c495cb89046df756908621099913aa4142c3dba2a62de6a8899f0acc7932e33581d4102020423a99876777c59292d597428f50b846a39d709d38c3a842f9a9531f26dc2a11f518950eee92560fb6b6667a113237a3e6d7bdae48bafc90a76a6839b97e6301e546f5b136ff23d662593f74920dccb56d47fea557adca4b36820469425cdd4071ade7c5c14f365ba4e0da97cdd62cec66fdc724d3f309b6297c1c84091a74d656b4b030787df593b0\n\n# tcId = 79\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 1452cef4f4e0d46ca8caf3a628074f7ed0acafd0a16c4c4c423cd361cd61319d5e912b162bb2b7326e56e20d5f9814d6339e0cc44da9ba1be28e473880b6276a86b8cdfd91d2f5fa830024b842834bcf2d425c48b5a58464b7a3111f55ade2d3b9cdb958392efd559f6b6136cd158e157faa4b7ee86a3457dcdbd877b82d53c23d6e71488e554574b78f0be72da8d4160aee680ce485f9fa544562a12a89328560a773ff25138decf4200e2558e3b5a364a4372cd1f64fb25887b8c2b3938aca10d8727535d0eb0b73af2b7ad70656f97c5c1a97d3e2c2d1cd2732c5fe8fdc5ba6f554bd5190a54742313a6175db2a77d36d24934dc056d66cc6bd83abac61e0\n\n# tcId = 80\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 2f5ab041e87b74c0ffa6f5b0a4c5ec8d0ee3d2357a0fd2face275dbc6b50a230f2108b4b37fa45d5bb1211fb26b96d315cec9391d198ad7713faf3c4fb60806cbe6378c7a08c2e75a67848ca98c80a02680650eda98ff0c818f1e7af9ff3a3236150699a4c900c394c2a00ea65b39fea873504898c6fced5e4520bf3d69a11debd3e66ad681b7d03bbca940fbc809f03f99079d0f24f31cdc76afab73ec0b4f5baff4437b0a304a8893cf593bcf47b2f63a401f1b456f1741b3b3641e3154e6f4bc035723fc3532ee22d4f65a3963c1b278c1a9a8ce7e04876e8c327a70463e3785b9a5aa5b4a50cb4e35d92085172a61cc5407af2752a59d06b58a242926328\n\n# tcId = 81\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 83d3f4b18d2653189572e75e9b4464292ca649591a82b1569ce13838c245da67371b1ea78e4215eba8de713411ff060a980405f0bad99546989153017a380f9c7b566500fdd5a15830eb0c5f4723e341391268933a41311e9832b340efbc2cffb4baa9c5dd47783eac81a41e3d6336572d38b034dfe5ef4b94e5c3f903cf3e8e0a3c2c59cfd13f99f696b0fbfe71368cda5a1d28bad1af3c8976e3f6c1bac08707d2684f6d55c2ed4b433c9efde91b206e0842e534be7e88fa219763b960d9d5a43a479990aa9732661693b9e4da89a7bb5dda878ae43f5e1a11944f7a5c6efad600ddd13a148c1fc8fd2574b9667342c73f2a8b96511a5f75cb1ce486b9df81\n\n# tcId = 82\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 31ce7ca597f76ab95d47563f728ff93bf43d9864e5bd1229b824ae26b5a13c79f6f7957217b37e1af0537fea81616187ff08a0d5c98a92da8dba61bc5c14da3321fd1146d83c2cbd0ec0687d81f6d7349f5a0cab0840e22cbfa83f02a", + "79d321ff88830d47d4842c0b032c27a181ac06a42cd0bfedaf75f2daa53f64eacb5986545bcf150b8d433e66b698f2553f9da259bec319d8c0cec05d9c320e7300463d41eb077028c1e0a7d6d87d4dddf54c5b78d6a15e4527e37110b9b9ad2f3b2dd0db591227d41cc9f26f2349581dd89e0ba639d0cf9f8c86fe819dbadc688522b58d7284caabf843e7143395255e9a0d710ffbef6ad13f6a9361e20d2f6f5a414f5\n\n# tcId = 83\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 5798785187910703680cb2109f492c3f0a91b4a8f11d3da775aba891eedec3d76fd30a939f5d7a2baf7290c573e886cec8ecec0b1598f2cd169d53b4abf8accc09709187f32a12c80fdb42ed98d9e98b0923828f0e38acc338234f7b7a0ee377644a655f48816ea4a5bff0f6d63c3945dc3aaf921e9404864594bc323c1f3ef42f9361ed6cb8fcff2994293e17865e2fad2d885277251fa24d7e7aacebc48d61c3b48047dd7c99826b3105d2f820cd62404cad5d758da461af67677e39e55086d8fa52ea0334bc3b77f95191ffacd28ead07a34e4672577c4c65b5bb9d5f9cab6e1f1242216291b69a0c98714452f01f37722ff26589734cf6020c5ac9196374\n\n# tcId = 84\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 3747c7c116cf30567e24fd4213c126ec84366a26eb304a65d144dd9b453054df4e5036c861b5807137934b1cef351411e40654bae5df6fbe3c42d763407f273d3dbe059fc6412a366775603e064b1561a58e70860edf954dbe666f8fe44f44f87df3b0e3f3e19c904966ada52f00806f975f256d4a855cee973e20f33c31f9f2b3792fcf326f075f86f275d8ef8df2dd0abac83d491d485fc167cd40f3802f66036df4fd64fc441ac8a25b405d5ef960127623c269ca836671a66a6bf2f39c0792dade17564d31863c7e0161ee0bb88522ac0c9054bebcedb603a2d18ddb0f64a91ca5a2f0086afd0d8c07cb0c1e7f24d12f866cdcde46d663c1d4dc7f7c6f62\n\n# tcId = 85\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 1377d4997c03d885e4b95f0350b1c8091a4d9beef9533dc6abd194a1439c383622b9dca5a49da247cd55c02186829f695ebb007ef0535c4757baad057d7bf76dcfe37cb9181b0c290db16d0abc51ff32d03b6a8e56ecd270dac231c81e50c7e0203d22b991291fec650b9904b2539a8a330172843bcff0cf46f06e32f55bec1f5a734e70ec8e4e8883e3c22eab7561d9c76737025352b5c9fa9c76eaacb909d23d0d7d7b6f1094ccec8ba94f149f81946faedb39ac557cc28817c9114a89a6f720d849f90cb23ad202ed4682036b3cb70b6fd5df0225900eaec7a21e39fd433d3200aed4bb4abc3b531393fa462fbc920c918f1938d33ca86e7ca3bbf1d34d74\n\n# tcId = 86\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 7d0f3cebb4372569e8f02df9f42222151cc31659df8d5078e9ee8e91030735d27e66da8c87039a27ac28588e8431d7ad1583534e8570318cbb2554c07016bfb02fe59af00576b7908286f4b27e36f768a118c3f3a1ceaeffee03a1b67270c3e489cce5c5f1171e0a8734553403047faff680dbcd70bf0fc1f0f4461bd4e68c6c0978da3490a137ddd8f62bd79c6a1daf70f7a9a3e90056ccd41c62f04915bf128f74dabcc47cba85b0fae47a04da32e17799ca150814d27793816e6a198390c35d1f35abf6816761a5ff0c28b1e60eeed244b1f24934174a1d2c469475f3eb8842eb9f5c6224386994aff9579f26ea7d73c668a113ef7dee8b2bda576135d452\n\n# tcId = 87\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 53f2db262358c21792eca635806ea1c1ad041d9334e977a25c1de0fc8233ec6f01737adcf1fb4dbedbd0078406ecad921e37c77d4585b5eb5ecc74c07ada1864a3c13acaba9372f852aef55ff2dc42c0aaef74bb656b8e0beccb7b9eae587fdf3b52eb678af1032e60ad12321c9c10c445448df523856ad262208a06b8817ee229df825f080a72d5e1a43f222215824a8ea6d455c80b2563c65be1eaa0455714ae576ae67e46d006934cf0c137b8c9900af9ed716391ce96ec43296e83a5a10390ed91f2e6753ed0254f0290ad899462b3b7af42c3c5f0893863a3b5e6052d3a6dee554746960a07fb6ecdf781e47b96023ba01cfde4c7214611a1be5735e2fd\n\n# tcId = 88\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 11e8938238a20f0e6947015987380dfd88a1661606bd05bbe4298f4746e81e3bbf34aeceba5360f1839ee0d7d7fe3e578cacc2d24b15eefe2064edb1fd04ff9a44c0a600ebf00f64fbb1ead4246e5ffbad0c22441ed073462f26e30b61a0a9142b4f993d1b26fa32e11382da33b9eb5855cef6736bec2f4f5bc6bf82fdf7da62346a4d9696c53e1cfa789667b721f32f7779daf7df85474096a9e9a7291afc76df3a66c7a0b997b41bfb71fedbdb4e65095efe1a81d35b66be55432e0a6e33905475b46a94e05bce7fee84645f500d8ebd7c0282c35f22774e7089262210f83ed485cd2b045acd5d62b4bb53dcbeb2588dc6535518189cb0220a7c9406e454d6\n\n# tcId = 89\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 39a8e947c919ecfad7ee28bb708c1f9e825036374ea0f610bf5531d89b813d506fd00bdc15850b250ac50fc556a676c894fb641dc650999eb6239b91e2c755126bbb9fef5783a5ab834e0ad91c60e720e80e096c091167a2a1dae838a16fe0ebaa8efb3573c89ac5d8e0584b5ec4e2168ef097f937ef0f0d2a2f964a8e6a810dd15b9c27b234d788af3c4f54dc97035657ff19f2835555dbafd02c4ed3c76654fa868babb71534bfe84674eeddbfc2b27a517f666bd03a27d8173bb92826a231cd9a241c171445b416934ebec5f7eea4fb41a61937d9a98f61b2fd1ca8e2be125e85cc8d16d553b114ab72395e86fea52f54edd853e9c5156557e38f621b975a\n\n# tcId = 90\n# bit 7 of masked_db not cleared\nmsg = 313233343030\nresult = invalid\nsig = 9c13d877ac2bd8c02c11e29ffcc0c1046dbc9870177e843c30b499c2bf7fd09daa43469caf2b8c3e955ded95e4d62209f7571bb45593f4cd8b0c7bc9470a8a693837248b5a7854dc8e37e752d949479272642994182061d7af80b0ac6f6e984874c8cdc6a5d7d17dc9e9de5ad12120cdb9f6c0d09c0e11b87b3423e37ba9437a4f76cc1e6124579e5f79832b89710de1968ce46e3e69fa185c0a924e8cb5f996ee5963f6826dd37714de264d75545e8509caf8735330cde7ed4228e5779471827b83757c466022117c45d598f5a4a7fed7be4e1b4d320f894879061a75d1a41efd8dcaf3c61733ed8ca2cc2f83714f8fdbc7a97cd6d6b97ea3d36ebd69890633\n\n# tcId = 91\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 00566c95524ad0995eda7d668fa08e8f75bea868b60972d6488cbe8939bbde68fa5206e671f35555f628fa707ce7ba0f468cfa8b9737e0ef64e0e23c901e4965ccaaeefa9b84363a3037cf5f9e044e295fe57f32c1125ca70c639b22732aa4c4b3e5562690bc1d7e7e74dd01c674212dcb63c58fa23333d45e1e4ccffa5d186443cc785c5ece3f2d7a8995e25de6a171cbc960c272c2899f6f87ceadb72eea1be085245669ac08993591e72bb9aff8bc29388b35c99f1ba7477af9d16754894a50d4caea4bc80e2aef2ced27f4a1c88be284bbb40cb8ae279b4e38a4cd8a51a92a279a799b3316c2938e1386043ae7ab1d8605cd310d7239c805a07a19c7b17d\n\n# tcId = 92\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 2b46a0aab5f573e32ffbcb411cd99d2f90aa9b1abbc600b0cda0d824f79020aab47a2494caea20fc93017e77b99eb73a1f8a550b611e2747ad29207772629c2ec40918c07adef1c90c99a15cddb9eac88955b4093a9e743d2420b4647e167bff8ddb07ce197db89d8a7d3f327058a41cc459ed4f6d5d23dfc015479d95e195da37f5b1fc318a3f74a0ac5fe2b9569c7fd99b8eb3ed3967a5eda1d246a3b225548f67ff860202033e7164d4b99dcf95f4232d18a7913f7258a33179133a6fb4ab5a4937b642eacb92908cf79495745abc583524cb0236fbfadd2c7e8b0a6597017912b4737fc01432625a508355869670bef25d32afe6753c38cfd96ec38953fb\n\n# tcId = 93\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 3b65975357ab2a410c2fae7f2f0381e6c40951260451f2eff05f0dc707abd013a996fc10658a6963f462877a808f61ad0362b9f640750b19debf3d59692134e357a49ed3693f50924b7c8a1824ccafcb4b93f7679dd892823cd479895d41fd1c40fb89fb1da19bc1fdc72eb038782f24ba3326428cfb166a475a9fd27f94d1a0ca6fa0e6a0d2c2883db3eeb2c0a59474da36211695fb811b9e8bc7f05ccb1f50d26d71a2dd209b0d269a736610c7dc1f7343a4736fa2b8c27827dfcad49bc4a86822cde1579dfbd646474f11e1a60f5e4ac2f2a3a5421a7baa9dea5d24be03cb6fee771dd808b67f886b37be5a300f6551d7e7636e9997b3255ceed5187ebcc0\n\n# tcId = 94\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 4516c8a39b8544d1c65d96472fea0b2753060330e76e6f90f41ab349953d26ab1b95fd87484535b68c0afcf1542a9b966a9bf98b89a53bb28877b34d168a4ba8201215c55f9e86d30b7159093517682e6e956078947e54e3f3a779da032af7dc6bcab1c0b2a6693fe0eeb9de0d158bcc125293a6f10ccaf1499b6ad912ed5912537e3c3c5f18eb0ab8e701056d7b973b8b61af918858b87152b6c40671bf96735ab1a112972346e771e7cd9482f6f59d320b8798a271cf21779747f964281afa1303142eb3e1841772de825b4b5e68024dea014193c4e1c206bdc6121a8f2d41837be3d13833ed615d5b9df4ac4c86cd25344fe1022df0adabfe2d46f7d9f0d0\n\n# tcId = 95\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 96\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 97\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 98\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 99\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 000068caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 100\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d360000\n\n# tcId = 101\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c\n\n# tcId = 102\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 103\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n", +}; +static const size_t kLen144 = 88303; + +static const char *kData144[] = { + "# Imported from Wycheproof's rsa_pss_3072_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = b520065682633ba54c9b713b2ef19cdc1fcf275ba1744c2350da7307a20971cc30eefa37d1667d23d20001a674f0e00df4f9b9e1d5fe7eb85cc45cab5dd625759de83017995c93d48b126df03aa74ef87daea0c1652dd370ad5d663598a383cac217a208b22c7cf0e448cc7ae0555f892ccb8ded6894cfb0c328cb542be0485d860ca77203081f3b04c6f55c5689b1a66b1c24819a4a7ea55f32e00f61accf4b411bb320a96c990173b63ccd74e7da7df5ceaf33a39a8acb89a845a594b164ec6e22cce940eb06f2d487a8bc4574451878c2bbf57d241f76586e0703bf5f86bee832d05b75fabaed6accadfc1ec2cd6e619dbb29b65d6e6f5e118ad52d82a955d21005ecd63fb382f32bb8e2e1e57220b345cd6422bdd84a91495d0ab5775b08139edee960dab1b4ffd9ea5b27398b58e6e35211c3581501e99bf5e3f17fd79381528d28a4927e28082f45bfa9519f98ea663dc84c50317adf0bd5da98b01459011cec61800534dd5afc5a567c19e4a400f06dee74112083b5322615c144ce3b\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8e10f23f49011d761946b283d7152e851ee76e5caa1741b0901eea317d8945f2a0368551b3f2b3a6a0d6a939aebded8fea0a96dd1d037be33b1c35ce78dc89693918a99d547a1d892f4047c09fff7a6523acb0cb0cddebcd4a6fdcc309a466ca9580fedf032bf56154f8d79d5c4686abfd2c7abd342b37e5373b59a07fa865b118c44f2c44b851306dc97eaeeb638f14bafbb09c81996beabaaec28c19f06ffd59dbe3080e0124e2386418052735f541d496322c03ebee6e4dcaba24dde9772a9f079973df26e854c255eb48df50c01d49831e54b64d0ff862d03fb4d82ff204d303b537176c50ea56761a83d0aed8ed2deecbbba981c8aacd1300051a864d1efdc897f31383ccd6f181bf976a75e7a7613b60b3cb2a6f7ab8636f672990c13017f2981c11ba36096cbea898f016c581ee859e950bec195cc4e376e134341b2fd3e3d6181ba4d377b2aab6a148c6ea8cca9ee3478297e901856ab18f61c0233c899841e5da125516cf5274dc1b22e2a51c922daeeccfad0f2a8bf84e531bc4f8\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 22915cfa1d7dd30f50b4c0e4cee42c5f0aa1b7a6644f8a11e611b2db042b122af8211ffc1dc220b435d8919cf64d715b54ff8a762f702b365cbdab455509b97d9b310011467d4186647b957e2efa404aed3b84840529bdef7746348385a1c6a2ecdb88d1cc2b40b36c346386739c39d2815938e463a35348426f17d32d633b873d6124d8b49a726743af7c0e56d63394155b63089c63ed8897f8af2a2260d33499afab11c911faa754ced5acdac2de571f39c2768716e4308244a99d1e65da7061d2feb8ec8b4e517bd5e19cac626698479ab2019257cf83ad7b641db2345b38006d63f84b41772b90037778389cc30ed6aba6af212d9326792af746d7bca9211fa344fdc2798a490aed3a2840620c2a85e3d9b9c38f2330072663e16dd26bc414c7d68f6b11d2cd3e0387c1834c5e2262a9e2dc1bf7c0108b4e2052566c7a941ef6b38c8687fd7abe6add2b745c2c2d680ae3e5646ce2e717ef9899c7f3fb1e3088e8c0587d86546f752771819595a7a3d422820ceaa12e3ee671a456dac673\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 6e471c9342aaa27bddf64b02e8805611a13770b22cc3d24cdfa9a2fc14865f59344c288cf15d4c8785089968a12e9d3e63b8179489568743448f698f316640146322ef3b611fc98396cf4a4757e48ce6701f123fc0bb8df80b63cd2371522f8ed929f7bdb709d424af6eab2eab212b43afe537fec7bbb9dd02e64f116e02ad1214ae931a6fe28a5982029088a27bb95ef2ee46ad212083719327acab5ee51c82d94d5b14f6dffd2242ddf9fbbb2d03f945796a3e35346f2334ca6b4ec5d9ed6f1584688e661951e948cb95fc5cc04e90cad98c861ddff514c60275650ae3003185efe0c04356b07f361f7dc7e17c5de479cbf119c2910aaffa032aaa81ec9eb9f7e1ad21a410ffce2502e4829404d01ae090ef289bc28c9c3f37d3fcae33e1523b3c9b81e301f51d046196fc15c90d58bd35a1fb11fa04621b32cb61e718a434a0aaefcb676cbca888554d1e84d43b108fc1cb123cd2d300da630fb77a3ce29a0f53af32a5ce81c5ad772a199d1180a9e2f090847cd87ddf7b39aeec89a6b492\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 39f7dc9010bf3c200df551499404ca40346e58ce0c56271e2eb7835187ae57a7b9a0688c9b088ad85e128f56c0299c437a1a9a9104f3f51aab7043d5714963e46ace5d8e435fd3e416dd61474e9dcac3ffa6c3f0ebc4ada987c4313ec36f2c43d2dc749e496fbfad639dc811304388990b98cf10ff616a866bf5d98cd5199bb74704ae4ef365424130738b9d81f893a5e2316ee6daea185c170f69ebd2ad455b56676ebda9d0bb0bf4d3357475ed8166a3d2dfe6e093c3a4bc5bc2fc2275e6779d809107b621138fc629a6767d5809c85bf88b46b14a8e4ee9e310db746f4c0a79a3d36f6e305125642dbf823474fb913a9967a6d120e82a79ace48c501fed8dd6edb9634df909fe6775f8f6fc5b79f5881e1f13b7cde37c7c3f97319cd612f8ad2b1ac921079f18213e5facba0b83c17887e69501a6d2eb37661f03590af1a15646165eb785f467cad0c625947e8a8a4a68f8938077d5ef7f1b8b4da0d09ad5874bcb22ccc4ee36b9341b974a51a1d6ca009ded4ace9faa99d924a23421aabb\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = ae8472e987806e5110beae330056ff974abfce7ea9927979cdd14346747414cdce06a9c78eb1846c75dc288d7da531531da49ba7651d3a1f79e3297fe37aa73e075cfe5ac004b166526cba55f914e0d2fb1f12a60a3222dac434fa378c2e7b0ea9c2cb5e22cc343ea624ad6cf5545a61364cd67d6dc23d22e4888a253e940ff0e0ce0207c1feedccdfa10f50d2363bdbdf10893e3967d7555fba157f9a450d6bbe63ff31777bdfd402afa72c3a2181e5cc025443cec30d253653db7e82eb7dd488e6491fd25001723eae2e3106c7b50c2b73c142a4a31ec4", + "3edc9ec9011383c99a095b36258a0a77aac2af19b26af8a166b130f7f57f03a0e8007d5ac0eea9ecbe14fb7885538a22c13de5771bfdf523fef9c9b5f52ebc2af7902a0baf2a33923b0d0622b8fd5c938214aea4b9e7f0a647c5520c3a94a29737b95cc623f20bba8eaa3e9db60116fe1760d9b7ac1841e7586aec9708212a5bef2ff67c74462883062e052ab9fd90ffca0f0a6166b71a93bd289a1d4acd2d6ce72ae0b91cdde72e\n\n# tcId = 8\nmsg = 343236343739373234\nresult = valid\nsig = 5ce99063bb6c6bf8e46772e8701b63abb2feb5f88c5b76b76c00c719402ccb399d6c6d8c67ed5b6fb0f1dfeb8f8dcc5bae03ad57c1b0f53033dd2503b9604fdc40eba51e4b03c91a8d12b1a3b929b1ff1e8e79cb58d788114d53f7e07d87a885f6dd4d26560583986f7a84dc466ba981db06beddb1fa80b0a444b9a56c82f98a927977da9fa1ca83aebaf2c43692cef61b12995d8dd0f3bd6bf061025ddd34af3e0257203390a80765ef706acf7df6f43210a7928673d260f2f3c30a9bba9b08735dd9aa3ff2fc27a2ee9e130c88ba367c3d1428f173ea08e273886bc153c11e24b05cdbf9b00573b013170417fd96b0106f72c073f1216ba872eccc9f56ff9e3e08bfde64041d996b117a114b723cd97f70e07068ece643f58d5ee5cadca7e24a18b0a66ab724fb653a01c5749d51d4bf5408d2d2008b30eb3dc20b0e14510c06402f789276b6237802d608ab49378001ed6f3604abca038e3c7e057d95e85c9e668f397bcce18765132142d6b0f118c511e57defcb316fe41dec06b988d911\n\n# tcId = 9\nmsg = 37313338363834383931\nresult = valid\nsig = a7e0ad7ec64a600e37b70dcaba9036bb3ea95508c961668c4e051c8f3faa454496ce6c009ae9cfeaa2c194c5c9278e46b75bab40c52f077a4fea175b2679121d30b706139cde7ab571c89f4d19abe07c67c70afd3e4c2c05d60c92bb2a639ba389826088899605f1707ecacd88e42491debc78295b44f4e09791f9d541823ad5c48952bd3151ef98ace7e251d12ebcc9370bc205a1688c9a5e9190cd082da1ae94f22eb2b0b46b2a5eb2273b0b324215de187d685471a07f673d43e58f36c1e0f074765dc59c1ebce449229361d07522c7f03f27eda57ab8bc89ac683d27ff4f95a328892507952f14d9e3d8643d805c327eef8bdf13ab7e6634a103fe92cbe9e7b00f9bdf8efa740866c044735799d59245aafb8d04e8bd55b66fea31c9fce4cedd4abe68444fc8a6dd550c3c8f1d6597bde001fb977b7802e0263b7319ad7a6c1c4a6c558774641b204b6d3eb2a2aeedbf4a38de6584031102a1958fab6fbea9976793bd1ea6c9aeaafe81515b954c7615f8c45538f40a22adf0ce6f2c977d\n\n# tcId = 10\nmsg = 3130333539333331363638\nresult = valid\nsig = 6c60107dd182d5cbf4550e7a6e3a652f731503d8fafba3a7aa52e7ac93d4de4e03d911e058ade448285bb9c3452b60897c099fd4ba22ff4194eef1a3fcc3250cb9ae270c33ee767b2b4f18852612e27c4ab31d8ea6ccbf122a357a6d6e527191a36e0aa2aa925f68e158c8d5decfbf8484d16c2ce906826dc4773d59fd1a4032c2f576a1ae8374a13cc24abe15ac1403452ac7cd8a643dfe18c911ae34f773520fa94472c596dbd6f5b93227951ebbcbacf60b18e5a60330eba9bce0d8a732cfc27c7c0b9e22070670a165846d9d7e9b24dc6ee9759347f5c6320b63789d5ccbe9566d9f3c534e152f2686631a41aa85801a31a7f31cabf959cdc93755a3acdfcf0ddbbc5298e91fbbb2675565912e5fd95cd59b5744833222247aaaa5a5868da4d1d1af590b8633dfe6105e0a6abded2497ac7e46650432cbf0b784b9447770b20f75b2618fb7e6cc6fc5cadb022980f78943fa9f784e5f0c8fb5192239dbd3293a38e6dade27a07e08b54597029f92a8b29b700f842fda55aeb3e0dda79405\n\n# tcId = 11\nmsg = 33393439343031323135\nresult = valid\nsig = 2264d276cce22aec8d109ced7a048ea44d627aee577f1117998316af911e98139085bc92f120827b304c4ca519743a33f7be05d8a49a28cd716ca65f6b976513b33a440b6e8ec5daeb85d6a5926dc5015a2d24d94ff1f87a073867bea137a7217254b9bd040273664c58d61e618ace6bc942c446401c721565f74fad5bf31475093752e3a67fb32231ec8d26649594f32c5d453f0baae51b20dcc24f0e5e82eee71d85aa77f33ab01cb588420cf672461c490db52dc2fdcc7a22ccb2b92fe8de0e3f8110c93e5890076db8292b76f6fe80ecf3120b4f3824f77e538551ecd435922c7d433f0467b445026d0371a49a73fb2ee900c094fcb8ecc4c01b330dde0561fcde6bf2dfb6d26f3c3d9b897342d8079e29226828a39d8fec96b53e060a771fee75b482b2e0e262069316bd50e8e210078ce56476f70f149bfb356fe1e490ea642ce85a8664e50d0b3f350806d9de3926c8b2d417facd926741022fafa2f7b10781397cf012697442ea742c11f23a5b5ef5fd10369207cca693fc8af57d22\n\n# tcId = 12\nmsg = 31333434323933303739\nresult = valid\nsig = 677dd6918bf4c96934e329a114002460d67d1e8f729eea9d2e8bae78f4442f1a480ff1e5d20c1bd81e61e5f92e5e42881cb1fc22bb7da3a4d21060bb23bb17c234a85c76f7591fb54ce0ef70ee7556905eb670830b9d10905d100f0c255b944689f23e1313b0448777c52ba80b767e07108818aa5131f8b75c84fd2d7b4035e0df9a213afa8cb913482ae0af76a997aaa0c8cb63975bf9c006d89fe4ea6ef035cdb4137103585b9d05150b086d7f329b70efcb428ddf76ca36d44af742326aa05039382af67216c12f7eb2dcf01595f3b78235341be0bf7ea30f6294239c7a4b1ead8f98bac805e88caeb482b13c5bc552329a47f1e26233cd24a3b4bfb6be6d9e3ae8e58f06c95b513ccd5c61685ad0aef627bebab0b72bca3bc374f49645e403bbeaa255b501dce3f1f46f9d74d1aac2f6ec5eedc5440e3dd9f264bcb1d98b855d1cc788d796919d014ae215dfe2361a1d13aa55a7163f4164cff38c5f62c00f59eb20efec26e0fcf66d37f12c7a9d23dde68f25620df1a4d5e5e55ca94634\n\n# tcId = 13\nmsg = 33373036323131373132\nresult = valid\nsig = ad825df96215ebac22f37e5948fdb2281bb7ca69fbd9ed6d3f4d2fb21cc6f9d07cf7779a264dd427a863f0cc36a812f125d6ed9bccf6c233ae8958299cfe645b17331131c32459377524326f2e9eb43124e2e2fb7a025e0ec3de6551b7ec0aff5d1b4c4c03e454efcd250a7c9711f21e71f6e347b5e7400cef50eed93426b43cd11cf55c34a9d6d1d54314b1f0869febf3b92b8db421c4fa000e98ab0f891120d7c0a91bf50e307fb2cafa596c800a05e6f42c577a02aa2169cdbebca14c41d10ee1bd415785d7594347f46e700f62bcaa5cd728025247f39c40edc0977015604e196fa30b1a49d84132469d1a870a57d272c98ed93d8645a7bb92a4476057bf2b134ca20e45da22cca2961fd52d65f840b07a87aa4ad104af67d7bbc53ea95016883e3ee087f39582b13e274df32aa419eabe12a9eeb08868425c0a1ad06798d0f7da987340313cd4254a4140a62f3bb1b76bf57a2c0712ef2105f4de0819f6c724e0a2d92f87683a2734bedb4fcecc75ff26291ad862fc3397a9f02e6eddf4\n\n# tcId = 14\nmsg = 333433363838373132\nresult = valid\nsig = b3c301918f5d1becd6c88ef04f908509e9b62acd207cb0c03e968b56d4237b4a23cead6fa5a72ea6472af47ef3854766376bedaf67c14a7913d48a74aa6521f8ac814f01e3bcb073e3b85f315bf51468c28444231402a77cbebd0cbfc98b06fe925f5d59b4353c21abb324696bd5d402e7cc5435bccd8eec3eeb8e7e4b5d4f8f719adc00eae9180cb3cce9dd89231b637651a76d87c0311d0f9de0f7c9bd7f6485d7d600bbf105e1fc6d3744e83528fe761c2ab0fa0cd5c386d2ee44b0967ce2dac3abf1c723868569f43ae09f1a5ee32245b11569fb2dfff08f6f40c0cf45d2bc7fc524a82779328f850ffaedcd9de27db5e1bd372a76fb60fbbcf88a14a2d820647f660a894f5420c7246d9d9401ad56d577b56907d9fd3b69e35faa40000207d704087e3a7011cc343cc94f99ba653da6451485a9fc17bbad2688b511ee68cd90288e4f5e83ab742a54be006b51fd75e9ea3ad09ef7112f793b61d5470aa16255db34a8abd5963b53a940c890ce89f27b8f7e535489e965f33a4b9798c301\n\n# tcId = 15\nmsg = 31333531353330333730\nresult = valid\nsig = 602883fa2f9a6ca35437d377fffa5cf5a5643898763960c7722d5a5b808fdfb4a09a0cd3bbc8c5d2fc8a603229a5de18866aa0c5d88c2272784784c883918fcbf47ac62f5e7523d65d6ab486c68ca245199e1acad7f087b4e822669105f4f45a50c1a43722fbac7a9b88ef7bcbe5796ac9601a09d3fd6201c77ee09f591a9d37f48b3e93fb6ee5d9683d3ef4d581fb2ad9e5cb2896bacbd078952f9dd04540fbeeecf6d8d9fa45e791ccf3027130d1f1ec551fb35ebba6ff329c7d31c5bedd65303d56b58f826f38917b3f79d82b442f4668ad479b7e108e2e59d88640c1da8ecdf719156ddcad93d568d9593dfc7bf0bda2519454cd2b1dafefd556091a2a13ff80c75bbe9ddb04b1e55f7edccb8a0832ef03079564cc367cf5b696be4e193001d8c3bc5124227359c7616381a473b07f31d6494c062b2a9151420b828b830f250e66ec570e38bc44e26bb83d45c7f794a9460b4b6d746c888d084a754ac7d75ab1bff232be49dd1fb73efd76fbda26e6411b3b1de8671518f937b8ce3ba8c0\n\n# tcId = 16\nmsg = 36353533323033313236\nresult = valid\nsig = b259676e6b9b49edc04cf3f6b06267a6af924d278c21f5994c2190d0cb667d641291361a8bfaee8236360a4dffbd5ec4f1f8d9f85b54c1bbe3c9dc35332443c2509f0ad7d5ec42571d755af814cc0ef48e514dc5342ca7653d535789c8c21fee5e547ac3c247c9be6b792199db48a17299b5f9d3bb9881ca95751132fac76d776ad02872279bd77dcb43b0cae7673e40907c1bc321e14637f224481f58b90f875cdc08c49515b4be482147fcf2e62126fe4c0310c0677eb7eccd9352a9cc0902b54e4b3454f3ffd69666d16469be958a54aad1d2a58eb561b4b222a4ca5edcb5612d03b8bd2f7f26302b51567b83fe1d59eeed36bd2ef128cf476ccbabe4eb55d8c4ec91a0bda8445972fb3d74a4bcee2ecf5e90f5bc19d4e9908e7aa284cdbc37d22ff4ea70479e8e2a9d2bf0a6f02b3a2d2643a34d7d4f93782df0607c806177f61963b60c08e4154a074e92b26c4f2c678c9da7cd9d16307c7309559a3935a8eff9593b5454a1cd60c388c995df971075c5397feb77f36ed8b9987b8ef3db\n\n# tcId = 17\nmsg = 31353634333436363033\nresult = valid\nsig = 57765fb30e12f08143d72d7a4232c91583d60afbd8dfe01c3b50d861140d3c5bd0a17c3a51dfad96d8ce0716348dc6f62c12c16bab5401a1fa90950e96801064dab2537a4cd0b5227708618ed2e34e2eab8a557a316a5a7c42b6b297cfa646cf8a90af59730fe5d34df9a2d4a9bb0d8bb1d8e5decffdda6f50863bde347c17ed88e232c4d3235b00ce5db088e514f3490f8d459eba993d31f99bb24a097c0e322454e6c6", + "8e6c9cb0042a8fe1a5897458d097ee68e5c79163f05ee0817499a98f2af038aaf02c488fad86ee0c157fbd1cfb91a17bc00971326d15e1c02ab440c46b07c807dad0822e2dce9505ea75dcea6ba134b58ee9eb79bb70c2045c1a4e6206ee9e12909b1c3a7a386cde5fb1965101159dd34c586170491b3b8cca3a9b4f1d0b7438aede0efb1cdc9e7712abe0675ea9ee87e2cd8200cb08bbb85a3f87695c3147092e153c292e5a32475bc4800fa2e3d037070bc6f130e5234f5cd74c9109d2cca14eb83bf61747712b4b9c90933d2c25d876ba1bf7a8e601b472c154c5\n\n# tcId = 18\nmsg = 34343239353339313137\nresult = valid\nsig = 27c677b2b0b546f23d5c3ceaed4007cfff9fc1e0843de43e7ddee8ba32274954d79d9fad43c10e890266123f247abd2ca351a15b196a340b7753d4cd3756a091271a25fbf7834b05ee9c5db4a8a355d5746ff9b0ff61061ac4670bfc9468a4101917ca61bf6da1b029872bc3fe14a306d4d43794deb2a1ae0a4aa5f432e9f33e536f39c249fc3ffc294a466e7bd7b3d35e7ce5f15a3564df9351770fe66b1312e69437a028d07fe31ab3644fa6d16d9e377fc3b8820f79d220b03012add369c630c7c01c123dfe1be97d8d71d491dc38e7781635139636213eda7655eb2ab9bf8c44af43d3c098667c6887be8e7f29cc72dbbbfd5c43ece1a0bdfbd01aaaad107700ed7d9468138638afe7c7ec64e66738e188400e8a71f89526f8170fb56a200f69dc9e4664fc24f40c80e117f3666f91ccbaf8dfae5fa145c9a94ad64219643a66c93a682a365bf082661a00bc8b0a663a6f2efbdae29744c735937c0f0d7f6faf7eacd068cd02c016cd16741d49170bc40e2fe3565cf3866db6fc1d528959\n\n# tcId = 19\nmsg = 3130393533323631333531\nresult = valid\nsig = 9849c3250c03095ecc9ad404f9ee412c4ee797ef0a0f0e806247225fe03b3ca5381157476b44bb8909d1cfb24504010873333dc969f035e08d552c2b9e2da82159619a75aaee04f20c5359450b6d85dbdc98e3174010395bba07cf3e64cd1ee44f81754a64cab4efe7c019e05ba8b3577333fa692858c3dadcb0f7047cdb1d2bf75b34493988ad84794517f18c934d95a7ed5ffe75aa5b3b5608462f18bf5c656e6f1e626d0e2ae4ab7c69da07a2616c515b88fe33feba7cab21eb9869ffa01cde1cf3b318e4b7c7089ec2d3748f93ce3ebcad0d75bc2e5f9bd20f10d6d946ee112be25dd97793f7295cf6862ec116f306d5328759c304329178a50a01ee76b5c5352ae160e0e7116f6e9640d7be77287c3910c929bc3a2a5ce1cbe08e48d5a27a11062d74442c5ec8a92be9bd8aa82db17bec86b2e141500fc5edaad589bcc0a0bc152a69857420bd5f6483aa3db9d1fa4ce7f6a1e20964b1620e8a3a13839311a61031e31bdbbd3e1350d1773ed132355eaa3adc8a292437293c26fc428844\n\n# tcId = 20\nmsg = 35393837333530303431\nresult = valid\nsig = 9d81ba9fff8a9e27c1af56efb4b48088785b9677397843f335f038b46e863045c5c48fc689ec046f87d7c2a1e22308558181a1dd95711088ba84db74ebe33398f77b760c693371a403d8988e3e90d025aede1e7b9d428ee4ce4502a307bd151cdec1ae148c6e0d36d50d3c19eb1266714b0111ace612dd8abdaef969c32cf3bae1bdd4b14cd53b3ffbe59ca75d279be3a933eb3496e0cc5d9b639a5899accc4c91f820cfcc4609630cd47f0f321a349f049cfeb5a74dd1dca0f898a36491cc3752c2a8c30d39c24f9cbfa21cfca15600e4ae161a9834f839878bbe66e201b8c8aa8a430913e157c3c7d74bcd901de43108d6049805bc85ac0b29869184fd587fe46d47eb740a86009940240480d3ba700a7130207637a438746084011f9039e52c1f6aa5c99d7093d14e3b4da4148f825a222fb8b1c35e5946d02ced55443cf0736f72011b129a40632caaefb78c44fcfc31fb2449f2d46c7aa53966b7966eba8d143b3220045991f66b1efe10f696d5d568ea87598ab5fd6655db506bee18be\n\n# tcId = 21\nmsg = 33343633303036383738\nresult = valid\nsig = 8f0c4086ce839242b6696e7e0fe63be07b1da1b77447520172fcccb41f341ba944927acc17cf1ca0686692130be5bfde236385628b0e99bd0b3ac5fcf2b64bb6fd0c8ca734febbd00dcc9b99887dbd4a8c5f7bc97031a7e18f6143d561b29ef3e25449559c5563a9169592efa534fb9b75cacb7ca67b3a8ff76f5642dfbffa93e4ba7e51e8a5919afdbb1c3ec91c9cba076902383614b2b1906e6192b451239870afb863e158f8ec61127f8a7a9442610c1ca47e5a9c8a0f460548320727ef1633cf9092cee65e373ef16322faddcdb4f671d91305ae8b3e4dc9ec65f5069667d462f429b025ee6f05cc38f8ea53f4cf0d81b4ea90f7e078e3b8c804ad2cc7525253fa81ebf50e8e62bd6841f28727214d183665a108bcf8e6f99b284a86b3f6adb5f5df71acda60cb6864970cc22769c1b1ec94abd1fbdd1c21edf2c375bb167ef66538dedde6b6b3c7f8634443ff163482250f1c8e97748cbe8ba0370662b1a10fb58b1ab595e228af813d3fbb852e9b8014a98afd6d96b2e27c0eb7688595\n\n# tcId = 22\nmsg = 39383137333230323837\nresult = valid\nsig = 2b1f093b09ddb27d5c25518781409db471c83e84e50332c47a183a657ce60fd44ad9a786b4d6ae9506e591a449dc0c46f65d9de5165079bf5bb776b70eeb826e3c58dd7a916e37d83b7ea6aef7a12f1aae1462844b0bab4acd4a5c9cffeec5c52b0a6d36ebb34facdef9c3dfc46d8a115d3835cea32775434e78dcdbc3e5444c82c0fa23f52fcaab3b8dec372ef7b19a0b391ffa8110e77fbfb6fea8a8def46a5f6ce20566af9e0918404df4446d6a69300eeadac1b0f5b81625f44cb9abb1876572815c2363e5d36691e070c19baf8c654e6440572739c468ab7589d262d3992fcdb2947d6f18e4be55572437e955d7f8b60ff4b1f1dc9d0c5e6bdedf913225fc65b0acbe8b6baede362cb615e86fa2335eb818878d3dd7bf689dd448205cdf14f69ca5925df66cf421da220035bebe9a78ec5fda4c0e4f49a456f9fefc791fa9109eaacb521e27aee95c120f4f9cde093b7a802dac80810b9d4d5793416672b58ca19273284a581ade84fd6d9bfa31a3b5254bece875a56fb3ad6451b1a661\n\n# tcId = 23\nmsg = 33323232303431303436\nresult = valid\nsig = 2b04d224788e2e94204486c111c0b07540b8e7324a8d57257841ecdb77d6ac906ac795dda72d51b054b5ce6c5232e061a18d67d64c7c1b1ef1b601cce28b84ed3645afc616eed7d1ed7c21fa348a418fc7417449bd997340e99c672a5b83dc43003fff82771a30b7b666fee40e078dfbc7af969d1aadec237ccde38959a0b5852ba0aeb15d8864ac41dacad460e9e69cea0374cb90fe2df0468011409cbbec5085f31684142100c13521742a47af6962e7a38d682f591c8b63fe3f629618afa3902590904f3c99bbd3f2681f42196714cb6e59a6422262b5d6c8220f6564cf35b3873e356015ae3dc6fbd243c29a8b4043a367a49a0dd44b921d98005a7bb0478371710c4a867a0022742449d594a321727776d906e636c4f1c798a65df8184d7c8261413b16a4544c37a8bfd4a3fcc4dd0cca3c3049c0446dc0e27e334c70f66787d8bfce5bd9dc2cc5811ad92518e679e8d219926321b0e7c77d4743db318ac1e47f6a5dbf3f6c53831a2ec8829a07125f5afca4f9f27a968fe5d269d5d427\n\n# tcId = 24\nmsg = 36363636333037313034\nresult = valid\nsig = 3ed79e7805fd64fffe1863e6e9233a502bdf1e35622799a3fd4da76a23a80e3e6fcab61e5c3f621474e91b90a43b36ede27a8627460d04a74677ae0994e949b7b93e01868c5413af61dcb5a9290f921fdc24073e5c7a85ce910016c2872ea410c239af0a33730ed89579f8d1f0743ebec1e55600fea2a3a98e49ac1c5ae12e3c27c32df9ea5fefeb5c4d004cedbcdd30cbfc00fc21b4aa5b172e87d34920c6dd31d9c80db40cadcac6341634ecf8c28fdb3cbae6c236a71322b81abb9137baaa83f65826f1d66e511f727935e01f16cc70c5ab78451f2fc199c02051789c3683bc573190adecfc041405c9a3aa8a6e36b5b4f016589d214da8bbb2e7456b50599ece0d8b61f106955cdd38eb737db4fd52783d60676af30c0d58bcb44655210d2d53f1d7001c925f74754041e94b9251d950784bbde135ef9108ffaf59170fe76d072011ad7fd1cf1ae2763140376be701a5210b29faef9e2501cb3e2769955230bceff7ca53afce8109b7cdd3812f412482f8157d55acdeadea7d9a3b314365\n\n# tcId = 25\nmsg = 31303335393531383938\nresult = valid\nsig = 072389935994033eb7a1bd07c3ddeb07f64589180bb5a0445f7c36412de2021cf7715254528c7ba95605045d2195499e095beea826d0f86da9386078b83a64c4e3dabd43415f68a1b4f08381ed290182727102e875bdc2854a28a725a8b9934dea06a8799c46463a21a9949f8bc19f87b5c0eabebd25200c1aea8eb8ae35be9b153ae54e11f348be421127b4bfa8982cb7db0a122a7b68c0f4496766c9250252c75ffc317e6c2a819edf70609a8a5935fc8e06554b84f31a5a2e1ca855f96c86acc12459cfe92b613573af365502365a3a3f7cd047ff3a227fc09c5494036d39c7887bf1f11dae79f83c0d4fe7cfa02c8e11561f351f86b691a14af945353284f9c7c0ea73d5389049ca0195cb103fa81f45ca01a17c7a857a142223f67c8551303478cf791f0f638e02e60c7f9452f848ebf0b6d6d8d0059bf8a2d513221c385ce075e8abe3ae0a7df9e65090ca2785286b245cf5ce734e4dd2a25774583a4aec4fc1ced402f25c2353bde80c2ef3eedcb5b761a7f2b87c201f3d5f9c08d3a5\n\n# tcId = 26\nmsg = 31383436353937313935\nresult = valid\nsig = 9c43688f7ccc4286e104c653c87979abfb36869a82ff4bc2c6cbeb4ddcd4c51b833367ac00098a84ceef062af0a0c0dec46b54d726f37df117762f83872611aa495a88e69fe0e31e58cee91e3b70987ff17f703a39a7af95ee4121b5bc092bb4a1306435d094a93153ee22dc50d4d4845c60aa065aa03ca6f327ddb3c870ac693b5679ab3390e6782dac49b76f71a0dd6354240184f8dd9400dd84bc2959234a3c9aea08b4ce781d38405eead754b8f3cf4c5bdd0cbf3a15017ef4bb5813bc9bd557fe288cbe32e6f6659ddcb01ee10a48a9f9d33cb5e57164fa77784c89b6e9a55ba65999f7cd61170d826f89e3cbae123ddebe1d2bcf2dac72a798ee9d2a47e80f1e73ad28c6516b271012733e3d8c3db695429d0d67302e5333f1afabe6c36cabac97c4f302e28b3a0821db915b10c1e5bedb64bc5b88d99b7fbd32d3af00b06201c64fa66f38fcf41903a7ef1df4265c0e120d1accb631c43b7b8fd49f8f77e228b550656ff7caeb79378dc3b868ba63d8e97b832ba18224d08cc87e67cf\n\n# tcId = 27\nmsg = 33313336303436313839\nresult = valid\nsig = 807f9a9f0fe0f04c59cdb1f87be60f510dfef3afbf5fc8d13aa735778a4c8823e82804650a837afac849e78c8d1fd81b364e98589da3f2092bae5f7c041ec0c399b994cfa89bc3c301ec3980f7bfc789a7838d212866a500763b5d29094f112ad572b2a825f19510869c5c6e67", + "5209c722be18cb9de4a95b902d46724d6413581cce113a53991d748ad8fd132643bca1e5fd305247044efea07f5b17145ef2f03faa8b13be02d49445f8864e1e0b0051f5b594d1f0b912148db82a6883301d532839f6250f0c34a1c17a7e0887f42e650e26eac3f9cc453b69c12bc6548e06a37dc905ded48026d08f32a17c7a76d546296540194e95ab3310a7bbaf0c6a2e9734d8522ab46ff457f5a50238eeaa4027325d2a48e2eb0c0ae7931296d16af25abd5e6c2ab00f7b07f5f21edb7034180cfa0b3fd3cfd34b804d3d125291274475e2d3ac97bdc2baa208892fb0417565fe9f7e987e1c2a1ea04c51347278ac2e3f850d355e3ac6adff007d158697372f42f30bef185cb1b9ba2f0458480f0ff6e1\n\n# tcId = 28\nmsg = 32363633373834323534\nresult = valid\nsig = 3091947d5fa8bdeb463a0a5c32804fd244203fde74759a3101a47518b68eb99948d625b4f9bbc384862e6b33c5b4c4fae240b782b0bcb298e5ea090542f9f0c1a0cf21a42ab111cb1c8072e625f60189092a7164339e5d1eb77aa07b4d8b9cbf850ef0907f289e2b8b2cd61fd184af7648404a9b15e596ddb58798ed438ae4a6325adf39c4745360955e6a6c060edaccd38142102038bd8f1d9d5a33f39fb12f0c935ec98a0c00efd93beedd16f340129977cca90999e773b0ca9309b8da7c33a4f7db346631bcdfb3b12c8183a4a3628d713a9667ed70c9f83acc2797086f5fd5685dad6127ede04e6036758ddfeba4da385fe722e249f88366fbab3f8f65a02512f286ce0fe21f77b262d5db7787ad0218b3b30f76c33f7560668364223b65a96a272e23da285346e087f67af331fda31c507c364802935407b455b67cd05cbb15aebfa3b7fe2e031d7547dfa8aa3608bdd4ee2f722b1b4ab851377bf10d42a1b2b33341a53a7ce1094ae33418f22c7bbe84ab8b8bbf7226584bb690592592\n\n# tcId = 29\nmsg = 31363532313030353234\nresult = valid\nsig = 7aac4ae776954df9e6c88289a08c1581052f81853ccaca029e6bdb564f91e529d8223c7685537181d1a75adbf7bcbae089a7d177ba6c83bb704dd427fc42093a1bf1ea66886d7946eac4b811a111b63b464da8ff910042a35fac714e8adf5dca827bb384cb3fb040312c04fe8d5263fb02a9d08276d53ee966b690ab2872d6c102a7f415fbb19420bfa5861567ee50158a4ee141dbab2eb640d7ad768fcb68d9a4b199329d13076090e9655c33bb791ea830401e2da57e110ef068a99d260a1fd48f104f5558264542e6fee26eff4ecba4f9df16330e2b000ed9d37855b0a14f1b7265fa0db6356bf260308410c899fd00d795bedc5e1daa2b3b8e58784a2e0de16a3bb0f64bf73a50bd3c2ebb462a2580cadbb6a1e611836a60b7c8b6c1083c9d29ead4bd0b627e538b8eaac398dd7218dacfb2905133fe7c31bef29bb1346d4e6163649854a6c7b325f2149ad91b8d8b827de278db00dd0dd9827af62fa229bdfbec0c71cbe961bfa7ed25966920753debdb70e3d61ca747ec55c4bb05bae2\n\n# tcId = 30\nmsg = 35373438303831363936\nresult = valid\nsig = aa165429af5269d35d74e8b033ff4db882282d22b60a241e6d0a546dc191d03c0f75248db4dc833c587db41b9c438f485a2152f8f81617756533cb15dbd0c7565a640327dc64da2badc23052de4b8dbeb9477056bacee1eb95e93af46d6d68cc795778b3506b14de8428fbe8782600e10df7cce98670494efbda15890f72cf089357d743e9ed681a14b84c159b92cd5c259e6da45edc3484a853ad74dfe99f1b39df3d3b20811c89c5047047a83b67afc944401a6e99d9dcbe55756faa16dd217ee3812d7b2db054048d5add496cc49f417d1b608f55ffcac574207c10667dab31ec80b13d301fd257b25cd8e35cd201f629627a5f23f25b1667bd05bf0195ead689813acded914a8e800f72e332605a50bc2fc56f2bc5d26ff8e8d7bfb290bd85ad3fce2e2f387c9bcf99dfceaa9b3fd0b7bf9aa751def1ba5804157916dd771518811ea92da72dd56baad486bf5ee74be5154448fce4f4cd99a53921c3d19cf210115d9072335bb82f5be48d0ae266c2254efb1641c2b062c67588cd621334\n\n# tcId = 31\nmsg = 36333433393133343638\nresult = valid\nsig = 27d888fc7c46d557a83e3c9cd507569e2974ade0b87cee080e75dff734047ebcd9d7d4fc589c32c714b810d65a39460fbb85ed5e57c749c18d41a8e5efd9cf8fb7ba6802ce9504a7cd38d45478dc1ecac6e71a7475f8f2046ab421bd92c0f02545e51976947e09787d969efce3e39e66eb5645f1b15d850d580fa1afb5af6beebd4114e4e62d8e94001c82f2b6cee03591de924c7faf75f1eef6047d3670c2797b210d4ffb88f424bf8c84e615327277000b91af82fbbfa5cc4612644f7cfb7185713e0a6408576bb671040496bd3f8d7875f75a6eb08e44e2a9e3b31274787be8ae665332864e2fde4b944d6443b99b3c6c3a712fc27147f98799351a5c84e3b9ce898a43fd85f8c296a2d82f813ad4f7a2adb157e9ac743846ee596c782b2138e6c1248c3728f5d1a46c9a75ce7bbaebe8b33d44a70bf8e35b000bdadbf3796a38ec4c27f6a216166dfc1621f8509f73cd253acf1aba9b687212917aa840fd5399acacfebeb2ceff5b22287bf5402f9c56b025bc337f22ae1c6ace24d016fe\n\n# tcId = 32\nmsg = 31353431313033353938\nresult = valid\nsig = 527dca1594929ac8f5b13a38b7300b0d692494526151b90d30334c06daf2ead87a8488b2547fbd3d9331562321da29077fa9801097ec1691ae0eaa6879300d4411874cdcf3aab848235d69cc7696af87f861a2029db0e83f5fc79720b824b3692f5b5ba0e8207efd2c3e66bd0e3ba79989d1d6f2784f69bb43a6bf5fa48dd9578b31bb7ab93b17978b0d17378639cb610b498d9897eeda4e302512e7aae0470cc43ac4b707728ae328344e908c0ad051c47751532bce56dffd05e8515d297798c58b8763843af7dfe481f40b2b7d7cbee868a506572d6a54cf008ce85ec0060bf82301953b23bdd5e47747a535d3ef8fdf5db0c65d701b167a531fcf36a48e63d8cc4496cd74cc5d11ab04b32b7e9c24840edda771fb0ad3c13f2aa3803a104e09cd3238de3f3c06c42224a9e66287aa53db9ed088b7d6964fb5823e0396813507281b6c4ce1d5ba0875c6eb3a2488af153552e302e4da440753e21fe085e770fa3c23a4bc0f056c464c52f3bbb12878ddbfa88761466e83728ddae9b6045b45\n\n# tcId = 33\nmsg = 3130343738353830313238\nresult = valid\nsig = c6fa78fe1091df4cb9d5f90213f52d43e8e2362a0ec8158783d590b8bff66366fa01c9723861c4f8fe32226efb1c88621d12a3ce9397b0e8f728f08792386603aa68e22a291fcf57ab7bcda3210c09fb7a48ea1967f6d0a22971e5d48fc439c3b1ed391293dd4f705289ba25b0d4f542816e592f910461b1f4c04ef9e73e5546dc8321f51d89245c9b5f68ec0eae43bf82c2a36949a94588277f829a017d60254b2c3185351a3a856f7aac7a23b8e3f87ff1f0716a4d1b907becbef5245ff0feafd1761429e7049055d20d967cc02fd40a1a25c3661efcf97b2dc611dbfb2caa0db2f00829e579040a33f7ec9f2bbc3d997049a7b12dd40a68f8d9b5264ed510cfad1b644c24f0e8c3354fe4885bf385f3bcfea73a13a0eef555a706f5244fd902b2062e94c1bfe88466ee9c632761605fa79b6d799d9e79897bf0e56efa34f055571604a409d5d899a8550ffd6f002cdff6dda4a5201b2f95a7601c846cf1d003c5b3fe93a9ba808b2086169e5bb2b895fb29100f141ebb3567bedeaecdf001\n\n# tcId = 34\nmsg = 3130353336323835353638\nresult = valid\nsig = c582187c93243b6e33d1536612de1cd350ce22a3520f3f9ebd59046a9f7d52200fded0aa32bf9e8249c189a59273f2cff5bb7da32bcd53c72b0aa730f82d9e5162932a7f42b65fb9e7a9ab25458caba2b6058922c21078aa7e31dbf24cee8dfe9367102dfa41cb73323fa0fd58d9f19a167587e19b5abeb075e8acdbe89cc5da766b9f87175c7bc7b7fcb7a68b44dd8824cd4a56165d5fa290bc332664ba885055bb7e3437d33501237fb6bab3be514b8ff4c2f15e849eb2d8bbe19bce1317982306fc29ffb921a76b688c75dabe44035b59830590b64c143d723e6114426186eb0d12a5ee5bbd5e73f538a8340aaa80e0c036ef0daa3e980fa69ca73f7e04d2ef8c9565c8c0c0154af2ee9e3c90d9660d9267e1847fc251d409df72e466fd6415761390347142cc8b6394a63e179ad401f4ef51fca0288c78a95958312febd894d1a36ff9a82e4abcd8a27d085cbcdc54910d4df2947ac22fb7274fa2282e39b246c58cfeef5962e35b772d2573b8650778b317de8e17be4ce056537d797209\n\n# tcId = 35\nmsg = 393533393034313035\nresult = valid\nsig = 5e43e4fa01f47b68cc7916afefa30e1067d5c97231dddef925424b7ca45a8f37362b1170d01594fac651891995507da14cbe02f5063046525b0dd185d6b4962d28f73e354bd9b78c9ab0fc35565571167af0d11ce0cff9847cd06779ce92c1bd2432116b216dd52f47c0f7274813e805e6c4f6cf037c0f346448558af381e76b7e161291fab055fab8daaf7a5fd9ae3ef43facde73d483711cff04acad39ac74fba5d8cdcb22c9981c48be6c313a944f25fac0037f6f681c44dd90f56d763e308b998feff115fed16e19b83ba8521d0a465905b04c77cba34fc6db055ce7aeae95197dc4e154f6875878a1a07b14bbc0e7870668346b92b322fa91bc11ac3806fc3dd39fabb0cf02762e004003805de8a48192970d859c9b543294d11fe9ebe524ae7c36682c786d99cc14bdccdbd648b0703122d9bf2667a2516865e709397d1050ed4a7e65500954ec0425d7a8d4c0c4ae4554cebfa7650a242aa891ec7da7033f384cafcfa2eb3aad090120fe63fa0776508882bd4fff340f8db1ebf70a1a\n\n# tcId = 36\nmsg = 393738383438303339\nresult = valid\nsig = 25d0cdc3c06b10672d7335b0be5fcf402b3ad07b4bc3a97f04ec4b375475172db481e23be199eabc2e56936b8f3e537f9a76fbe60f5d0365400f3640ffeed1d19f8e98f7957f533621362120df4d6f0c6902760f1074a122223d1b643bacb94c8ea33f7ca2c8cc6c1f12c3ef4916e4b873fbfe9632f2bc95dc8c64ec639187b078b9c4eb5d5164d377b267c4e2a61839898f2a423a2632ed19971132366abaf871a89bf28e765896072a77032d28d5ba55bcbd72530cefdc29131a217418ff9ac814368aa66f6db198e33c3817a8054b5604e796e0fd27d72fdc2df780d37369480a87e7b69aef0a5717139bb9aeb168300801549af195a7b3b17fa75f7d6fc92e38d2afd70a74ddde5316e7e7eef29abd1e9eb9d6dc1c38b876a2d5142a2377ab22b463c13084f4ff7d44b6e2916fcbceff378a65a10a0c5da94a7496a1a9985ca5190cc207b60d69b28c480b7d26cb5b740231d90d9de1c55d647fde75631b2b6d363a52f249cf6b643803c573e73be9286ccd17cfe20d3daf63ae5a18a497\n\n# tcId = 37\nmsg = 33363130363732343432\nresult = valid\nsig = 8101f356f3c6e0b21a1c075f7a3efaa5cdcbd9374a9df447f5be5b3b28a464984e6c6b819d61f1c7f07657e95ce63a4dad768b723f1e30", + "5170bc4d1016cef695d91a65864bd1ab2365b2bc596d252ee206f71cd44228fe127e7373efa6bd2e845129218b99097a074f7cc03ef9ded093f4be643042bef29fcf8819967a34a8db6a066b73c311dd2931c39b1aeaf55fcdc035df8bab8105cf0f07f5cbb30029da314993926c2e92b5098568ab1c533b179b8c2f8faf71699f7e6eff87daa4a5c715c7ac0e181b87b2d8d791b61130045fd35c34ea29710deb0c33c339cda01195d12a5e23ed545958f748e23d6b86e034186d9dc2e5b527a7375984ce505bba46b54b5834e1c952a7af468d9b9dc29f38458f74d3773fc5c35a8044a2faaab85759669225b0a981d8803dec5a5655511199ab43abb213c4a61b1c1b3931e29c25f948fcec49fcd99df1420e2d894f2c33a335082cba0644e5d1f14d49965db1c49b7d33c2dae8ec6b1941e8647128ee2b295ec5b74d27d6bb6ce0f1eb19a83bc2\n\n# tcId = 38\nmsg = 31303534323430373035\nresult = valid\nsig = 130b9beb5fa37118ed59eca2fa8d7c921de16a6833b93d98a3707228ca50b8ed6efc254784430512c4ed005769c8434c9e752ee47069c95cc1f476866dcdd62f2062de8392e5fbd8c19ba2a08c80ff6b66aff8411ae49ebab93cbaec141e8d9d079ba5a2a552b1845fc57ee718a45e941e925a5df2bb9fe11b4602a6399862c3185086627836043ea15e5a90a2a1ed074d7f75090fb72665356a68bba2f38610925f69326bb24d02c37af09cd05cdb4c1d10505d1c506b719306e4570b752fb28be3453046fa61e5509e4cdab16c4adf44fd3021202526479ccde6ff14190100d5266f6cae543e65e34fc9726d9bc49751466aa67d54a7efe7977e8e64dd4cb3ba0451df8db524fd09b1e196e2d26c46e229291f4df7ac83875554d0ca1f55786dbefb03d8fd9a018401537dabde193494399823e341860e4f1c24a4de0c86f4997eed0308b6ce27b3b926ca80284ddfbe74a62e97016e9aef9ca7182cfb3f1a16e1e5b5e3a2b1dde112639218054f0e9d477291f0d580c1ab7e840e37a50fcf\n\n# tcId = 39\nmsg = 35313734343438313937\nresult = valid\nsig = bc3def5a816a23d23fc8a7b8c4cc8789e4044a8c963cbe7ff9cbcb9e50be23ac92524c5a5338ab8b42e7db1aa83180ce3354aad430ffd2ae43ebaafa88990d100e27d788c779aee23846e4674af21b81ccedb8cdc65d6380566f649ed14c3e43dec94b3a527ca6cb53001b6d8f9210ede057fce83f0bd7da60033b96afc48a44cb4341382f134331a8e26f2ef0956701aa12151313754381ae2d5a99167222bc91565e83aea3f057b286794dd9805b6b533831c23984498a55985cc8465c3f35764d28715692e9a92490f2ec82122799576b808bc9d0fdaf87bb4d391f5bb25c506a6fb92e6fe746de506eb3748a6d036ef5d8804000dd0ecf738709ae6ddaeff44734513374a022c21ad528a42f6f0a15f0b5c47d3a64379191f161d5f96be33e7d61dfcce2a30ecb73e34b99d86162b66550841dd700a38dc1057838397513aebaa411e347c29fa9a2d1789378f044cdcb9417f8ec3703be8ce911bae96d44c5c3664c62df09f58a2709eb379c3921ca5b1a277bc7fdb7bc57737542316ed1\n\n# tcId = 40\nmsg = 31393637353631323531\nresult = valid\nsig = 0748441edc133ae26fa1300337716e0249d9c9096e9eeb773499b442dbd1641f3aeebb86ade983206301ade397b1089f43dec0802d87d23287f89f7180b2d92ce2f77041038005d1cfc27fbcab2bafd477a51cd4f754fb58311b80c7f481205b02c1102536e4ed18f9c26b1bdee67b72bacfa4d69bbe8eea7c67963c644c26933d27ebf984dfeeda416d45bfa183adfc10d8eef03e7b159462102e546f40bcf27e723ca2ae516e768488b2ce19303f4cfe54f27be9f67b239aa6b379487995671105a21923bfcd14d51b4b5d722cc7cd0a6f4b45a95bdfb268fc6dfd38cf73804c2029ec83d055d49995c4e1896bab3b7ab0835bd8ff1a2cf4ca185cb8b520c8d707d70429e667a5e2f40060494a022c17da52cc8111c40385164a34ee45dfb52bb34545dee9708fdf2ee221f7434d0a0f80b7bae2a7e9c01e2d74a889a25a43f39b3e75ce3c09320cad054d145247c7c99d5b31a53f9cd0527cee1c44ed8545750b633916bc016454a0e1d4c046e600a43029afa4335d74795ca51216bb2041\n\n# tcId = 41\nmsg = 33343437323533333433\nresult = valid\nsig = 03239cd5b45155f6c48ab1ca3347f784642e7aa70bb7dad5dd98d6542fc4ffa1fb4c1a4da2927e3c395386f2a6024963cd4f3ef48625b9e89e92ed53ea68b1ecf962eff8e6115f2eef77652c1b99d4d6128367971203cd84d134e1d3a2bbe0c9d15879518165ed03d4181e295d6e66c4619e61adca73a0dc27275ec35d426f6add92bb798df26b61bd3492b1d8fc6ca9ed6759c7c8ff6ea32753e11b4ca5cbae38f98ac7777aa52a5b7590f5d5d76135393ffe9a3f15379a4a262796aa9b5ae08672f2a3564534e2dc3f957a8716fe786b0021b6e1935355abf9b0b75ad3b80aec1c152542b813b85f5820a79d5f53e3a337b36d4d3a641c450f88528237b610f489886078a6a37a3a2d6d0bc49aed98f9306dbcfba330d00a0c45be89c85747310ae1bf8c92ca960a24beb76a4020fe0437fbb91ed5a56203185ee5035e1eb4c9a0cdb0cf6ed8fcab3956b543dfebc8ea1f275fa529bf33568a053d2041e340dff724edf6eb6d2dac135aca2173baee104442239c2266a7cc03cdefe5b928c8\n\n# tcId = 42\nmsg = 333638323634333138\nresult = valid\nsig = 64ed1bc0540b109447058fac11ad2a45dacae2b174abb4c111e868ab5d9a622145e59f598e73686b517071b3f7bee34d5514227b9348fe0b2a5b772b7ad4d9582ab2898e1883749e75947c647a4caa9d77d09386d9b4ecafc741ec274554299ba25f0515b7a1e58544fb5dcd8f99595c059f6b14aabf62c263bac6b295875c863e210bfad79772c64ba0a346116ce79513fb176f0e1f2129ec2db112848daffd20da01f8208b29f102cd813691adaccf98068c081168f2c1932055079f46e3ebf36e05bd4554ab2d1a75a3bce9db7c4d84a89873f5b6bc8747166cfa861092664d1ce95e28011ee9661f1412c8ec3ea196f996e3e9e93b5dd5f89d31d9f56708beb9b06b92f7c1e58df5efd5c63115a792ba4d7f69ddc782ae3645894dac86d47e2671b8f0e63ec7559fb997b25daefd1589a80f163f93ceaa397292ada973296c6b0f2660c6bf7b66b628b696a6109c9e516fadb25a3f475ee1f273a490a028396bab59ffb8e91abce0a246631c2c76ee08f8701704f0c4347edf03e3f2e521\n\n# tcId = 43\nmsg = 33323631313938363038\nresult = valid\nsig = 65492fcddd6529a4e1c19f7950c492021db03f4d74051396a94abbfc6c70ec10adc1c44cf77535e98da1a096ef5e93bc55f9a9ded5d59eb15ebec17dd51cbf7e26cf9a8291d7abd8294398193e981ab84f5385962e7cb7b26f43875b8a2a2e89eab011cd8a9d3d683407eefbc7efdd2a81618b5a7c0f6f07cf311fa426c86974a9da06c9a8981a048f8c7b3255eaeb3e10d3d8c0187dc5b3629bf5349996655bf5f372b50d82381cacb3d9248b313fc353645199824534cd4953b2aacb20110ae426ae59f84650bb3b85f58094056511362f9fe62601fc05ee75f5935b8526bab6968b96c0c65d40fece4b70037fc319ddb9f9d86a453d32de2818ef5e2693a6beec627d881a00805e553e15176e9faa6c91029e3b801bea69f427c2dc05f9db8ce7d5a31a6da5eb8f1125d3ba724997df48af34e40a6307c7ef1d205361bdc89817c4d1a2023874cb2a8dc903ab171fd14df0745d65f3204d99e0d920bc36f382dad09a4b174adbd8bc72027bfa1185838e2b20ca7a6ed226eb8b85df5fe26a\n\n# tcId = 44\nmsg = 39363738373831303934\nresult = valid\nsig = 37ec056388181d8538bc2efecd679986d8a0ef2ae31ddc67fc54aa915ab603a6a34d62fae586e4501bbc61085fd798b3ef753cfa2c0648b3ceaecdd393ee601a89d502ff9ac14711ba6a8d377afafdbf4017f6cb095b7bea1d99260e51af92bbe93490aa484fb38a91f8e4bb94af872bda587f2f7c5269ba7110c5f2182c810ff0ee356dfe7b084b3de5e15a1196baef0bc86409ef187297e01719ca1914beae4e52b7a494e0fe2578c4051b5be61135dd0345dd96ea780e7efbfa6342423fe4f67bb5c79dc55852b3be79fedd980897d68d61ea3e4d5336d82370f924acc139b6ac711ceae9cc60b9bea13c32074a475c62229d963a1527012146c53f97093f5b2e2039a4d52f4566bf3b8bf55d8d2efdca729505bf0d1b0b120aa835ef2cb7c3ba065f81386cadbc00c060c18f4ac989c757a63108be4ecf6da31838b17ee1c37b66a887f741f8bdebc3c0b959940461e208aee539cbd10994bcc6c0d2f55c41a17f8fde8aa5c0d3c4fbb35dd48b6ebd9f718d924bf16aa4d107471a9a3e71\n\n# tcId = 45\nmsg = 34393538383233383233\nresult = valid\nsig = 0b310ce960efe7d07c04ce0e3d365f157a48b171bcf2ddc75ef02e097711ecd1942ace2c414682dc2c4b2ca884b9fd7a49527319c9f444cb3e39a92d1d7c8236010432e731181514d0842eed1a3580ca551f81cf8a43014ad4d57f48a91207cac155dc40724078a4d220f3906b9c2289af6ea390222e3f6c17a62916965459387d4ef60c39eb909f6c2fbf5d5e67c65ec132f763cb43127281cb0148a06571f7ff84b11a551e4a2b7ce42792830a13ca5c1a63aa5044f1fa96085dcdf0d2c4d7f8ac3a957bbcd6f1409cdcc2ad59f8f62b7286309c8b77f85679bee92df4abdda67287d15e6145ebf4f7ffbb11139f17252c80ec7ef1a7f589ae44b26b00d11e228bb1a75339b47ca94e84ff797b8551a6344b72cb8373c26e360ceff4b43511a47f7e6e99fec828dd1e9bfe901fca7b95e88f7419a7e3fbeb14b1163e032d731876a7704418a27531d4f6a33652e5a419d21aeed1486be626d6a09bc3d3581eabf555545cc9d58005f74c94f70777450501df2a8d169a57d8c2ec70dd159fbf\n\n# tcId = 46\nmsg = 383234363337383337\nresult = valid\nsig = 0d5c19376a13376655c05270301774c7d08879d4fdc341e64411dfbea6c135c63ab50c20bac375da36811cb6cbc9ca6ace906c6acd5681ec4a6b545a54316ed1526a69fa6525b11c9b98f8f29a984950f77486b0a15ce855826102bd3ba3b1651c8dcaf4031ce28f51af0a361a23e293aadb727b181eeb50f4fcedfd5847f1d01421f12f3cd11b1a2b3b3ff2e6fb31f2c138a2f4f77d008a4639fc814aa6fbf8a47004c7bb72de41d0329580f9ddbd2d19e077fd9087144931895bea8b616354f7da1acf077d8cd34021a88fbb73ccb735c1bae6127c48d151db02d7671760b25d2400711152d5c27a318ddd474f84885c12e8fbfa553322482439f5c9d2832ace15aa336cc092a13024476b95ccfef9022a4e0f0bfbc55c40947d45570ea8f09800f85e0cfda4eb9999d859b9b3a1e9e9ee0807ab32e93f1e16ee36e4f4b656eb3c616ad797e17dfb5300c6553eece876dce978b8cb082a0e9bcccf4708a4f821189354f9e7310c358e864538ac374217e8379aa9f0e0e7daca3ab8d46a6ae6\n\n# tcId = 47\nmsg = 3131303230383333373736\nresult = valid\nsig = 4567", + "e5476346c06b1ba264f66cfd9e181059d44b0c37c4280a41e41d113c89834c0aa68d25e1ab8717cd85c8b4bdee482c3eed7d2eee16947bd68ca7e6381187b9f09a3468e2f67b0cbf404f0f5634f0ce62ad7eed6f557d7874290b8b3a9347e4f203e7d246096f4575127e860b13697b27fbdf4fe46541c48161676bf139cb8b75ce528079bd6f01e68663a7a7a3ca944eea312539d32ed11e0f3b1062ea9c251697468cb7cadd182f4e47602c14553395c691a4271f117a9db613e2e82a9a5705ab4ffc7dc7c0abd0371c5ca10880277ff83f86b4204f72005b6bd42ab03db0ab7ef82dbd48c7aa8e8f448bce64082fd935420b88fac01080cf544b18746346c0b1e80d82c4745ade0b0a53f226594c7e550df37f5856390fde9de9fe73b78efb4840b9e330803b92b1a192269e8537730ffb8207947724dd6d73c2f97b7c465dd47c0dec5d6b27378e53dfe91ab7c8fcf27efdb08fcec4503d02f231a52367ec85370eb1d959839a77634781587fdc9815603b8365d8da7f55f9a1439bfe\n\n# tcId = 48\nmsg = 313333383731363438\nresult = valid\nsig = 617db8fc96c122d6566a59a03f257336c7565117651751b4b76045e6a075aa3fd481b483d06f966c06852e0fabf2a997eede481ea707278283f80f8fd3d9d76b968063eb160a4f22b2d5c45715b046abb00a9996d9a4c318608b6de17f8287f769d801c7ecd1e65656de6855f77f3024fb57b3f5ba530fdbb5f34a1d5d34357bef984c29e36328c7b61a82d84a24bd811a945db051d3011f703865cf45ccc59a722e8802e7b744a1c1d5e19bae1ca9830c2ae22239a115c2e6bb5e05180826eb5a9848a5237e1c7b2f38690f43e912901f45a69cbbcfacd0f6e6287d63b231425626e876a8837a6eef686f9a27ee04dda25843ca1c713acd64dd26382f3f41590c66acba0e8fe5b610f3fda96cc50a2b12b4fefc59388020c078375eb5422b38641d6b7c5298c047ab7f48c99cfc3558fad3acc9226653a50b210b7e82b1b757c22462b066d81c80caa51dadd99228a7f21ac4538aa44ea034534f2bafb9d1a35f88ea870c975bcf1e2f200ae175712f01258073b1fdb80cc0b8d557e6e265ff\n\n# tcId = 49\nmsg = 333232313434313632\nresult = valid\nsig = 5fd3fabdd57d92ca506781f7010a675e303c2e794c1466f02b210509a8eac6487ce323e757d25cc8f7f37b041a6b910bef34c0480b6ec7a0b7e97a48167fa2eb19ca90e62bde2a8eab7c291be62af4cb458de6ae143a4a0dc71630728c0869de47b1d31e24bce26f395f49a1e329b5231491e40206a33232d67eb6a944c49b0c3c84439aff432fff3c97c6e3ef380e163832839a6fe7dcecc26659641b20e91f84b078c5e5ee5ba567c9bccfdeb45f298a8dd72881a587fc9e0c4f6da8d49dce0fbe01adec3cd87d4e58109ead90fd572f698c7d4945b75f5e1f1dff296f68f5d5ad8068fd59eafeee4ee29a2a9a9c06a3c501f0ab92fa99ee06342a8b178bd0019353b24fe118e8e12e92caba88b593dd6ee4619be013c3b59554c9a471da32155fd3992c5a81a6b1c57cc510216ef8de06679f08dd5cdb24168546f9d6f16f2352cf183b50477b0e8937a1eec27a022822be4bad086b9717d6eeff40d743ed6ae14b56fb140d0806f04e55c60fdc498716ec554d6b53161f260cfce2ea3ebb\n\n# tcId = 50\nmsg = 3130363836363535353436\nresult = valid\nsig = 4731821b071f69fe5079e2c655d96438d9b205f2334e495731b0f4f443fbd63025031ee5933d10cf02e6efc889c4ed6fe609977b95046e468f0e006054c56a5b3b4bcf39f126eff5cd7542f7e9ac1897fd295a00b5f10310761384f110cd9296e1484275d4d6553f3f705b62f70692700185bc9be3a0d37821e1537379d31a1ed06bda54b0a4e4a85cb293aa3cd2e3e728e096b63b0081ada8ef3db8d9eb069d268ffe1429c91266da750e7a7d3c5eaf43772763e4464a459248b31b5c08325617a0d9350d2296e3a380d2048be129905b6f6687022f9e5c1a2b70a5634a26f35b5618504ca41587ceb54cc99c9b11f415c7ac6aeb6158b9f17e44b4cc6a72e6e05df296faf06e70ded3852a82554b741011f8035bc11839b3fdffec38ee87b8d2a191035d73d45a6e04cd37bfc2fe2f1f759d64bd4b60fee54e71d0cc5716c6ea9b2118894bc42057ef6027e9e82d436112a0b6d6abf7b281b13d59c72d0537c6f9416e9932824b6f6f0352564c44eb9fd7c9eca99f1f61bde4be6b6890e6ee\n\n# tcId = 51\nmsg = 3632313535323436\nresult = valid\nsig = 2ac125ba1020ace4a4694a63d7f61b016743d8fecc594edc98d6ac28dfb8f41d91864485b3faec75a89c1ab43ab101388209734ffb6d29886ea1b2814bd6edad0d278da862f2b12ec18d60cfcf5a716d6a37e898a5b29235c6fc8bfccb95a562f2f20e5f7bf31abf28b82bbe5d31690b3eb3b1aa36a89af21ce247f8e079087fd371f0e176f72ef04686e756591e38ef77cd73af0787b01e02fdf16cc7eb94f6773dbd5a7f818819aabefe0c9bd47d79633b84cc9fcf7b335e3e6c7b48e8e5b86e3e85af249c361c43aef36c16f401da463a23194b0e6b1dfc669ef1ef4eb626e88c8e63edc823544e28dd701040976d082f38df50de1ae7be4f238594f8bcac3b51b2a79c5b70403a49a1b86ce32ebf3b70331a75fd25a54860842799e6b849f81648b5b288283a6cca8573e96bb5c090f323004a35c9b201621cf18ed1187db8ec02ce205ed2ef0d9a8cc72decb811629cbd864ede9f3d95e5609a3cb497f581c53740bf93b658d6d6df3077c485d51458b05803c4919616f4b012cfd966b5\n\n# tcId = 52\nmsg = 37303330383138373734\nresult = valid\nsig = b83b74425a7d0b75192094a32f8dce49f9c280e41da0a8c3c755b7f173110923e360528b2c7dc52457b3fcc353afbaa0c546002955658d904bd35835c6bc72fbf44840ae155802c573489d6c7d51ba6f4b27168c058826ff94db0c4564c178e475dede978a708a94ea7eb8a6ba43e47f8a72e05351b42fed7eea51b7fa3b63e14643797f58b7717e9792f8f5a433d6fbceec3899a597d65a33fafbad960b67d0539b82e88f74929232ca007d93804b269e554529e7310340d8a9d4a62165e27c3b5c21583744fa849df3a18fb3025e0f47be2bbb41574c5646f916f364d565b9fb044150b9e9095fee419620dd20554ffb9edfe1e72f49cfa4834585d25f693108557266529ca3a56f56f05cfe44b547ed359a562b94391dc3e9afe4414839522a6d34a907a9b3bbfc61f10815f275a62343d869e631fa776cfb08c9eb6f76fb249c639361e40b025439e4711553835b26b22423de4a64067f6df28c9368c46d933914ef659d584b703beb8675d6e4be7e2ed50ee6c3012d0bd38efd0784f6c5\n\n# tcId = 53\nmsg = 35393234353233373434\nresult = valid\nsig = 2ad243fba359fd7582b775ef93b1b33a1b7ddbaa13a67cb10208a1324526ad5aa7b72c98980a29c01611c00ba96db203a36a7a15d4ca00f30d3a760dcd9e596e2ccf992c11a061935e6990038e2815181200d9f1c22afcc989be0b9451936ddf1f726ca37b00dfd67fbb054e8cfa8fa3ca3feccdc033f26d4579e8bf4a7c2e8e4bd42c32a015e3c91d032e46717ec9eb1df817ba54936aea3e42645615626991bfe60e86e9262a61f956e10500691233c0ed4e534d05492d73720d33c0e6622c7c946074b859fe0957091a8a00ef55b872135ff432e255d8e6efe1a1eb3fccba437739af0b530b7cac723b3e61185cf06a6818725c88334d2aef25df07ccf4fb018aa2dd13d6be2a7ad8814f53834a72aacf68ff819489b2e5eddb0c9bf4cf350eba63f83ecb02713635a205eff1e97dac41477637ff8f25f0e451d0bb23a3615e0d138ab632aea60a05ae6fd1b97753ebf877ccf1983064a3710b3c12289d1b3350b382e8f37effcd532fa13434bfa9af1bee8eef60bc2ac63d8c1402dc6551\n\n# tcId = 54\nmsg = 31343935353836363231\nresult = valid\nsig = 0935bd0191fa4dbeb1da86c836f200990d4a2205d236cebb0c7487b754b8ef206e7f7072db5f1e3121e3600ce42597a96186db672111f0ba8728eaa96e361b7ac5fe43013f58ca17d10633f0f1fb3f164e151e10775c704d5cc537f71ac8a61ddef7d589cedff8954d1a483937044d1474139afa0cc73fbdad9e12fc12976f55ec81777f428e0dc186e3f3bf93b358bf9e1627fdfe51876d5f34959edc40eff10ba71c56ae8ec8f07fca2e1fc5263c2c22f1c8138499f824920a9a8396b31ae417c25a8f928faa665a9cb6b54752f98f17279098a54b68c58fc5879998e7f65130ed96155ec6ae0d92b35badffd05b19580be8386b7e8d2fdfe338f971780108f886a309196b6542dc4038a1ba456fac18e16c9975c9c60c47fa14ab953af372ebe4678dae70084eafc43245cf513142eabdf10319f433d7531f0d8b84b1b6dcaf8645644f0d52da661823b3de259ce2878eb20b5c2f76c348d9c06a2feaa216effd2e454530a037d8a43cd9641b55bf6e2d30777f29139941d81cba6664306a\n\n# tcId = 55\nmsg = 34303035333134343036\nresult = valid\nsig = 8122587ac547b17eeb670434c9a471b27ccf84207b20187763dc7eb19cbda4f5ab197972ee7d6930bd399e09e0cca27d0d5cc83222d6ab2a7c0e34ec7d4b95fd84b1f57a5344728e96ed08453ed31ba9c2fac3edb73ff9e937c1b1ba1a7dd0c927203333f7cb18c543d43bfa4c905abbb2d1385a764ef1023b3b822403b886b45c2b0ca23ad5c50009daf366c15b4a5bed78a3bddcd0c5abde0744a9fdfcde2dfbaa9c35d75f15f4b552d6e1fd4614481ab0a8b609fba2ceb207e32241a7a3ca8de02d36aea4d081514532e96345412fe78ed45a5007dce67fa1a88c29cd4c542b9d3ad44f84d21c0bc3081c54f7b9499e4c28e648f1db9732b7740100186b1f7fb111b5c179cb6e610dca7810547b181eaf4188348536069466c12980a92cb9f7471168f0a0c47e74d52fea5a22f70cb48de381e0419a625339cac99f4401399e28a1f10a2e02035e473c0d0317859f1010cd254a99aeb5a5d1b24c9af1da9cd5076208089762aef452c3981259d5196ae7cacaed7ff87cdc69a890a1b1614e\n\n# tcId = 56\nmsg = 33303936343537353132\nresult = valid\nsig = 7266f3390c4e83544de122f24f5c5df6e8e5d08d2caa08cdab672dc1d43dd0510855b15b1cbb90dc318dfd197e45b1262611ebe2204a7577deb5fbe93d36b587dcf79f9957b02daa33e27b19b623f55feb79fc5aebb21a55d61a2e397e528b5f68bdce0e8749f55f08dc4115354e5eb11add44d9e3dc4e43b89a0dfa8e0ca0a83aeee298c7baa0fd0a5f8afa4880c6fc16c1f543451dfdacfaea6e7587370793b6da0d6e9642156ad4ce85ff9e8fcb3e786b3f863a77b9e2e3fda7e9106a96003588ac0854094d4e2a6135342550c0cb134b1e8438ad95b80bae702bd62d7d07308092381650f00e712c96ea1e44eecfc27f9f0e79d038e905dbf4c21a5a536fc7dc8ae5bf219b7156f7ab685d9598fd165f9794b2c6d66ecce2a5451345f5b05dbea4b0087f384448955c530731e79cb987c1dc19e6ef0f64b728ebeccc8c77b817d7a8d2909601ed4fb1fc6042840c56758f11c991be89988bd4f07392510d804eb5cca1e38ca40482140e8534", + "d97c26240b291196efb36e37035acf6b7b3b\n\n# tcId = 57\nmsg = 32373834303235363230\nresult = valid\nsig = 63e54127ba8252243aaf8d07eaf76a53b52b8970072098db5295cda173164f6fbe8114b3d80ff9bab4ee9f9bc91ddaa572aa3c5b186fbbf5b0b4c5efd0396195f9b6d14a840016bb24d0eab6dfa48784f549055780f2645673b60c359a2a2c9adfca78383366a40909b8fc3349f7e425bbfc78598369955945591dc4c332fa8187ceba20c25cc1baedddcfc03d31cff2ac92e5aa7227cd5ee17669fbe6843b750058695bdb32d15f1c2c6541318a6a73bb8ba2c1d0459c8b0df04952e6e2592851f26290101f30afab2e310d1417955b9f742cc8999a1419a053061ebecf896400555b99932c892f7427b536d4ec2e12dd158766c9a894b94a0767745abcdf3cdf31d34391e2b6d7934601741af881bc2241bebbb0bb0e7ea1fe317c6a49bed76fbbd5b11372a7202c84de24d92180209a8acf9863fe8c5c32c6bf9c2e18cc04c078b0b1521b9992757f8c1ef9051d25da1e99aa884ee797a5077990dd937ce3da6183dce345cb6cad0511a0b5b5e443d614637a65c7e6b46ad31fac8dcfcb0c\n\n# tcId = 58\nmsg = 32363138373837343138\nresult = valid\nsig = a9f6dbcb6e1b58bed27576c89fd8c1b66794525e9aec2511f151cf78c5915b38739aa8300d6e9dba0d016310b6f35be62a44aedd8823d771ddcdfec3b8bc4d9f63c0bad975441b3341faa7a6c88b39a9148ddff3eec71c2f511c42288ee5e425f779cdcdacfe47748cbfe043f889b0ce03ec56062abadb2f692dccf9bba3b369bcca678df72eb5eed4eb830a7d61c0041135cdb096578bbcb1b842d4309be995f6947843b4f1c7919000d696bbcdb516688f69c09722404a6766f22170f0f07b958f9159fd2b8bcda115e7b79409e3fcaca71af9b75e05cdf62c8b9b904283134be56b58c54c307cf0e590e69f5f180329375eea2c2b04567c6ac99df6560fb0fc5d93304e9640cfd8eee0b2d5a5bb05d2ac7b1df1b0e4c64a278a0c6c694cc1b3555396a6bad33261c820b242a3a640aa7d17f2710ee127eef804699d7b1df6a31742e9d58cadfe42ae7e1b9f93bb83bce387b56d7e92cdbbd7da8da58334257ed837d115eb95fcd197cfa9daeeaf9141dda689c011344489a95ccabb014ece\n\n# tcId = 59\nmsg = 31363432363235323632\nresult = valid\nsig = 5a16c6eb90bd39e932224ba1ab24e3283d8d0ba55ed6b24b993bf085ebb1a28ccbab385b1e1b644a891894320dd067e2e838580243dadb383ca796ecf1242ad1a9cfdaef6e226bf303d9482dc2af1b3e5d8cbcc40aeb52deb60c0b092d0beea7904c3fa0c3b40e487d6d3ed80f10e1aa6a17728ff9c3bbc5518296499d30583189877851a91ff6b4cc7ec2e7b339989613437004ab6999db14ff55c0baacdbbd859824b900b24c571d2710ec22f5e45052307c1765d95f94b99cf57a907925588058c8f7f7fa86dd87e87e013c884d099f9ece5d3bceb16e42789357e65e9b75b81a89e30ad8f2a97c74a35b095e7c70835a0192b28501c8e88265cbffd6e4c5c578ad57d1f881115165191570a19df33a536b909d051ed98e2d9d9851e32989e62357f273aea38da08426193b7c1039fd5220b071cffce9690fe86c7648c3318fd4984b25f509dcb798cd1410225a40193259025c34ba22955e6565103a4d01c78de604dde9e34b838b496bd1733207137000d767f6e3ce639ce5f19707a9ad\n\n# tcId = 60\nmsg = 36383234313839343336\nresult = valid\nsig = 4b48edb460416b6e1dbeb87fd511aa579caaecef2bb7c7818e4d57ed2f1b1f656365d79545c7e392824212dc165d561af699376087a621c5b880fe3bd5084cd57ba6ea2cdf1f4821e2bf054511c9edbbcf2f46147aaf69b7d9d4c14bbcf51423e610761306c1caf1d46796165b22ef8dff2337314344fb5d80b38f1b38279ad65911cf5e19c13139f1f9c3e073e1a66f6656c29fa6ec91f84963cdf4718e1cfeb1a5d171a0cee5d90477df648c5618e3759201666c974f36639804c64c39402c2410f1e845cfdedb804b59a059ac1c29415eb14dc5707da5c2d190bea837ccddfbf998eda7deed2eadf3fe2cf39349cbab80461e0dc4548639686a4c475a3a432cd6216d43d83e62a2c7b44429ee42afe573d45f340304031837b98dd7be0326705dd7886d7eb26c5728c1e3433ce6bf2fd3877a48c06e34abecf9cab71813bb18a6c7fe6f4f4990da065ed10cfb05e9aef47848039b855ab0cd07c60c5fc56a6e1e5522a460afa946649474c9e66480d2a265ac1a29705571dc03310d50c11c\n\n# tcId = 61\nmsg = 343834323435343235\nresult = valid\nsig = 8bd972bf9fa52f2d1f2d564edb34310851c8c4b9f9136d8fe494cc79832ec497940b642e32466527cbd40af817e3ecb844bd62a49a53871acbaceb15c72a2deff8f7cbb8191985fbfd780adcb86a99c34c537f848b586b129e0a5e960f810b812c99d15b38e3657bc09f8ed4346a3dbcc16402e331a13839b7b23518786a67e2ac96a6ef7d9e931abc8fe188e3c349a27621b2da88c6fa45ddef436b420886cdb19fc031ee58201824ac06b5129c5137e10b6a701ad7b31d204e32c4a84e1b3766287985e721bdd89173626ae8c6b328dd26496b2726d5878b47590b38d0cdd7f31057dc066455d4ea8738c5dd251ea50815e96bd5a45eb6dba80dde52b63068196b0801b39f57b2d6c82e52e6bb66224046d1a2250fbe1dbad25e970bb0f43a325f23a40d9ee879909c300addf69295329c5cf1153cf4064917a734a2fe98f5b13a96d7c24e9469e763f84ed13dec5e5aab260663a1782c12a0b8286d96b2b0bb1a48df461726853ce60bf6ef8ca3820bfa5afb4ede207a8ba7825b7cff4cd8\n\n# tcId = 62\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 730a26b2c3fc2df474212c04fcb346b3b78a58c611351871ac1c5262867ce19a6f553880d68ba4c35827610b72bb044162b083fe9ffa7a82e2366090464821946f2ce1a8ea19b12c10c0e42a52ff805851c226748a9d65d7cb2057c9ee0beddd8ca02ae1bc36ced39925d2429d531c2e607bfbf0648708ef4f7d816c8839cc8c62036ac37e811f94a943198acf6e19c66cd829bde9dec9969eb4724e2d4ddc4f8c2bb2527007ddbaf2975937ece7f1779db28c610503e7ebbf0b03459a1f4794136842b57d04f14e22b98ef37939c64d08fb242cca548b7bb2c2d8b1df6bb8b0b7f6f38e47226e9fc0a4723c2a518ebdc5c4c8f15db74fe958bb567e55f092d3dc8af0128b353e2d273d574433c22cca579c479005b52c715eff1ef4eca8d82d2f6d7cc972fe0e75f19eeea3b77ea7fe26b1d29cedbfa7ef0737e4aa50a567b5fb417e356fa8034a72a53c5d1c0cd467808df6faeba89dddeaeb09c3ce7937450b41e7c1d4403b3033d3531adc24e9f5fe35d877a3e36fd3702289e69b460b97\n\n# tcId = 63\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 39e95e2dbbcf1817407146b19148aeccdc6b538729ae4f3bc240f4ed8cb9dc6a0e9cdf436bf5237e79e239a432a953ce3804a7a55bcc3f7a0d37d0123b1f046ecbf0eb33f52631e049b0692ba2e55db134f60e085c078b0cbbd66a74bd09c852fa9f029fdcc25679990dc482284de9fc74df343aa7197d84689011f61ec0d1d0fd3b811a918e80b9ede6c78c03f0ff6ec7e7ecba9cbd8a4124128034e425aacb004c042be805710e94ca4d36cc2f5d893036091950bb1663d3499f8ebe09ea2760e3939b835efa585834112a5515c8900db98a44914a6c3e5caead29b182e585092ee59126c9e6a7737d3b34b2fdaeb74ddb299cc3725687167d5c1f92d9186f3aefca61ad6c27283dbc821f6b5aacb238500a51f7439a8bf555ee26fba4c8613fc43ffcd254977f5f67095ef23e956721d5d71a8a73503106b2555c7433cabb304f30492c90b357127b09d45f171d7f4d4939c84516f96eb8f0693385e53a3cf8a6b4d0638b121e2e70b5451883ef368097c7a2010dfd889015eef0081513d7\n\n# tcId = 64\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 84f1e37e7d52955a8d076e83fabce6a7153d49e771146ad665ac95b67eea85ecf8c126887c0b0e4ff2f4f3ca11ccc510fc4a062b3157edf20ff2763ed0c44ca8d48c571119bf5a4ada5d87eaf5c389cd8ce3a9ce70bfa98d5536fc731a2607066bb2cd0915511404e69ae5ba69bc197ed995f51d835bde74c5dd1d4e69a54445f3723692c3b201c28370e4892ea56c3d2b8354489a728495e7d7d611e82c739d53ded82f1e72c4e7273ec63c8fc4cd13241219659d9c6c8620a455477587737ab97959a91efabc1e1de8218bb67466b8e890f47b5ae46266ac06e06247f3a169a31f9fafa268bd453c67b77f7ca9a53adee42b3a9acd4af467f7defbcfb96f087717137bcc0bfb41f5add94af4981c00d95f992995aa3ae406dd6df56a7070834d201eb1cd12c7ca87779de0eb38dbb92f4e7f6f78dd224d0dee4b12b20836155553b0a76e2cc071abb59a70ab393679ca458d18f9a5ec69d1d70b074d6cc8f9c3d5143de1c53dac156d36d28660953ac68670e34317a8864cf7c7214e5c9c33\n\n# tcId = 65\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 875c6f8f3395f75024b7ade4f6b3004c4607aa6cc99168d01ccd6cb481b51fb8a2bb44bd10a0e7768f282653ab6ca340b044ad03e09abd01bd0962a5e3724ff7a49ffee7818dd5acd0a6968c5c458c207d0f77eff3f8a2be4b559314b02e413865ecbfc0bf7ed7e66ae10b86efa9873eff30a17aedbf81cd98811ba228543ece8b14f64ca98dd26aa5ee83a1847d6fdabb8140e4dfe48db39f6a48a825b7af48c1e1bd124a2f6b76d0e37f76f4ba986ab3afeb55c7cf2f45021dc325322ae61b531f43242c65ba8b4a550801e966602730cc186bf4678d300d5783da4bb9d9ad54aceb656ec7e4598e3c209ac48e1b775b68896fe282bc2e3bf9cac99c601d64de18d31d1892b3098fae2933854f822c49faa09e079c4ffa9dd2c006471263f02e7e8eaf0345139482cd82ed8e6d3e080887ed13f2e65819a1dcdb6d3f5692f5ec7f3a0609f2f71ca4564d58f60a0311be5b597ddda9b07b52541ea924cc05146243d8b3899d3ab001184767f896f0e044224d96c975127c1c987a84d15cfa12\n\n# tcId = 66\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = bed5c44c1e2a041c2130caf34ce43e4efdde6f7846c30d5a1bbdd88c266485322b1fd6d6353e85ca4538d862394fd32180b36c10b314a8823a6c4a78cb62b5b9884a6ca480ad2993d4f209d1895f9a4182a14d47f09a13c9c9bbaf211d07653f8c610c16d156c931df9436bc7b9ef929dede2c1d59a2b0441290f51825ef44964564e3420dcf3c1622a8227a82b8d3806eb5d246a3b0527cde1be3f219a9015653f3f8a3956d055eff6a90f42b48f3fae5dc57d6be111956e6a9b6ef52dc35ef5ac363f1ce802c4c09555dd343ad0dda96b467166ac515830e9e2ee40d56e68558408b1fb71cbc4a964ebd832e315d8bee13529314a8ae346f4d1", + "2f5ef00686f4ec26f9479f57e69244264d81a0fa39ba7670cdf2db9684e0b70d2864c4f2514e498e87d474e65cb188835d5fd8c34e5432944cc0874eadcd0a3e62d9f533583d33f5a99af63d6cf429363f58f691deb4a95ff409e32c393f344c5e0347b2f12125f6e3944f563d59c6539c661129f300267dde299972f02dcc240bb8541acf2\n\n# tcId = 67\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 4e28f546283f9ac74cc99c6bca79bc208e47220cfb0717aabc521ac55119ec6bbcac880bed0007c04eef92a24b091d9a09ee5d3b5be790abdb2c98a07313d505fc876adcbb1089026940e03dfc10fb46a0c2a764ebe86e51ecc2ab489f56daf38764fc0a36a9cb4529367c9880bfd7631c340fb7fbac0edd2e1def00d65bd52e597e2eba1be1e41bd89a00f5c66fbc18b93e9cc1b5be962780f6d7a9c6d375a28556114f37a8a3606dcd68c8128bf7a7e5f1205778bcf3048bd4f7c10cbdb4ae759954c4e4db0a9fe4df270c41bb86885dbdd8cb7e72a33322238a2d29615a2f01e9fc59c230c2cce58ad096c2de5071e020f76c8c39874f1de677dd5d2f96ab4dc145098d25b740b5279f05713daff54ba695f950039882059cfc2f86c35a0501b8d0914aa59a806e8d1403fb2eef163ba1d6e3d1e18dc99c622f8c2d360bfab2c9e8fd9d74a027e466fbcf4fa56777ee0fea7e04ae1901e65b5361f97146d7f4a550adf77539fabb7135967dc16f8ca99e8283dd69627cf27cb9d2df20bbbb\n\n# tcId = 68\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 78d3509284dc06b54583e11ddf2507d9e50bdbf079fc319d107bc2527c1b742f4c759320fa22435d74e94253feb4a379128e7f33c5f3462fbfb92ff40c10b23f8bdc5890114757364207768014380fc16ebeaf22a7b1a9366f3fbbbb912347f1ef595d742a976b69377533e7b61d3237c3693cf43b34f92773497b8df7ac0660f67439aaa66fe179b34d9dd4d013e8fab958fbe2a27ce84b6d1c3c2998a50d41b6b38000191673c23792db2fe47e4ddd3b5396c65dc44812e55298b8b50b5a2a01d508b9d215986113b099717c3a4ee930f479308c20c26630aa5419c2589c8cbbafa7eaebd71fca9e751793629d767be8709fef9177d6631a48731f5e59fc7e98cd466375e8775ba935f12b45575819ecef4d78d85b6e984d90d41c93bb03c832fe415fb567a1d951f7dbdf407beef8caa3a741ca7c7729c8d8ba98896dbe52d9785feb49332e646771e7d84b75476aafa0a54512806339cb54ec1c70943beb508966741eba4d39c2fe535aa82a9cb92eec99d38540efa3e39fbc02d757ad74\n\n# tcId = 69\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 042bea79b22418311d75e86d0c05a9ab4905e59b3e0b12fa0b1e372bbf66690e1c23145b23b92735f2214ac1eac2cc4045e299f40f7e418c91ff328e68bf17466eb3e28de3139ec23b57ce5aafbc1e0e1521a292935a35c6d6189a42a81c573f8be9a0cf80b34457392faf031b632544fdd50285a7fa82a4ae6150b60dd9a32cfd131b246d6c89fc92e9a1df96857a6b56fd9c897aa4c8b4ee8e10dcd0ee80334d2261f02930a3a54a3477c8e155731878637256f70853484930d180a37c0b604aaaf649ce93f886a5f9aaf86e529286bf1ab5c8e189d44a28814d5e1c7e5c376d8e80ece5686d6ebab90a51773be4a919b22bde123ceed06c76d2c1af878540b5ec81ce067959ea8333e2340a9f9d7f2b22e1052e7478382ca937cbdad62a6d8fa409170ef2a03299126965d558978cad7d399a683d19b76bc598b94f6c94c33c6bb1652d44508c777de0da7b651e7c938e802bac8355d3503029cd1725e2dd70a90627df66c04989e541a56dc7df6a6a24175d921ecdcfdcd0e8b454de4a6e\n\n# tcId = 70\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 1d8bfdc0ddfb312f4b902bd241cb5750f80312688daf5e29ec6fb8cb085fc2978b25f101483e99d6c3a04e7a66e800257ecde1ef18c7ba17eeecd94d89245d15a6690be9d61faa9c94cefd06a24ad229f521688af44a2b26f726268607a3e4c63228261ac1bdfe714ff0414d6029772e53243770d735dbe211df1ce96056431405c2c612ce307957c5e7a7616bfe877148650de4ef0b4cb342aabc9315beab5e33f53986efa2b49de12b7dd1ae3676ba09a2aeec8c39c65dd44ce408a8c87d91e2225ee776cc1d924f354ba2e91c0d52b55fff4ccca2cf6ee76ee6b9588ba8f2d1610a7c7ec520602b37e206095e658fa144393de3fa47d048a017ed93ab89f835b63f8232c3f31eaeabe76a056c53d87f2349198c73cdbe9bc89085f610cbbe5f5ba65a0190d7339f2c26a7e3913aa98aca138bd87e6178c169d8a120eb5e74c51bf5040214efdccf7f9fc61624079081f9faf9c70b294bce55895eef3627cfec1cbd488940f7dc5f34b386fac86a569760bd490e856d364912ea354d4abd97\n\n# tcId = 71\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = b01d88bdc0b6086a22c3ddd9b04a4e4a95c3b2550dc7e6c06e7a36ab17ecabfc5606a06f7ae7a0fe4723743e403112c7fc08800ecb687a64de4be5ea2482600fbeb01b46fc799b4206bacffa8c38d27c99cadaa0af333a8002829398d1996d1e8f64688670e30f14e96d9977056f310ffaa9d10b83d1c0eec4d3d73f64adaa343fb8b206aeeb2990342013ff42c7242dcf30f1653488b4976dff36a79853cba1dd28c6447e626e14a92459366208b7cadc5442c1a0bf0d4d8be6e32d5306173112742a873e8c4db781cd362b4ef198f32c750b44effe3bcb0448426f090941ed4c151c9b75588ac0867a2f468dc2fa46f0be778a8d6f2ba01ff47534c6d71d62109dea6741c60142580a1f4e22b1761200f4f1599970e1c456496ff82525085c0a12eea8c412b929bb1873cd7dbb2ab35b9eef309d9f0617fd37fb3c56a5bc84d965098dd6b0c058908f9cbde6858f0d0734726c593f2bcec32236741e110acb9d536a7942f67f4c8a4b06478229bab09e8a3ec73930b75e82fd4ac8e466fa5b\n\n# tcId = 72\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 52c636d91f3a8c269ea2be767293a325a7addd7b1026251d45c1e99d818f6f8b1d52306768d163b9d0de3600e18b8e6fc3d9e874ccfcef45e4011ebacf3500e712f36863e53cb01db1749798941d557428ac017d22be753eb401df9a96261126b017bceadb8a58e2d85bd51797e59cf9b34b9a42ad90ea441da58fd986e023d5f617498be1304552cb6f3b27a44a6dc9289a29f10ba879c82ccfbaf7468f65ffd1d9b1f44f60480a8743e4110a454d6b88f8f6870a32336510a0e967b352b5f73bd6a8f39ca6f40b65c016149ab7449452a59ec87dfaaef33fed36f1759dc4485b63ee302d302441502c61b1d8427843080d968341873b272991a0ecf9c19d6f37170ca7cdb8a3068acc8d6a7aa4e8a33ef463097a7978dfeea14018732672df9a124f7b3164f3ccc527a8c0d7a2d75abc03efce9adba296558fbb1110b4c6e7c8f7952f67bc558219d2a836c673467a4995140d9d7cc377adca9898f8ace6446feb50e5b744f76a7f75f103b654096fd2902fd863452ab4bc0f89c457bf1aba\n\n# tcId = 73\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = bcf0f11694a2a707898454a81625b83e3fe9a96155efad7cacd049c348c23eb728fcb3eaf395015657059129328f19f6e44f050d10783adfa384f20c25ac545c38771a0c46c9724a000868043d60cb9c688595c134022a0b6e99d594581f94638d24cff674a1f2ebc77c0d13a8dbd61848bb0595c6e201608f00c75c5cec3d3091bdaaf5d9c7cc60337591edf4850e7b782d45292baa165d99a811d79fbdd75d8389a270507d3eb26d5c240ef00869d910883ccb5436b36907a82e4058b5a2c6a27e092ef4cdcd5c98bb410bf229d8fe9520559e8167c0b1fd3b94632209bfe0332892f879f25afbba6fb67cb1dfc225746df618ada74a2c085bdbaec3b4f6d675504af6221ddd35db01829df1fd386236df6ee476a3660178a7408dff69a86feb522cbedf7ff866d5878bcaf19e82f09bfe2e6d33b4fb70e1467caceeeae4e5e0d8c81b0a7d3e17ec594c9be9c9ec51c23aae99c81fe919d942de167eee370c605564b8dbf1fee860c6e052a280c7190fda3c2f8c1f401e82c4dc1d67c73e78\n\n# tcId = 74\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 58384fb43afccf19cdd00c2006d5a6bdd12a5ac149ba6b21d5dbfca1b394624007fa5a729a8d4e308daacece63654606e9be32ae8184ce9aa237cdeb44ce1c961a4598192a609d1edce2b9a9b8944cff2c9bfeec9e2fe6c7887f04e1911d7fdc994cdcc5c1282bbb2a519d4e6433bf087790c8833fc63e9236463121ade094e082d72a456ef9eaf928b2d38a7274b23a5136118e82b897414bb6cd0177298aac6970f179403d152553fc2d7e13e40c3b4875e6bc3fda904582ee49817f39e3c79b8ef70105de88387484595059453f9f57b52f1e79f5226ea2f8168e2e48de1d0d544daad205f6c32a6865f66acd4b318834741553cb1bce7a7c06e4c33cf51eabcbbe44626f53f7a2729cefda59ecba55ffb4bccb746dbd7689e7f3c1f29a6f26180fdfb143b16d10e58c72d4f8abb3dc3d35cabebe7928b5d61d5c1c9bed922bd44badf9db2f0e29f54d950a9978b1408a2935c6ab9e2491bb0624a888d306692fcf71e4c93bfd38ce6590e022c8e5bef0a9b5a3152edcc61c7ab8bdeef219\n\n# tcId = 75\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 4e71b92c27a22e5003c8ff639720b5b809b34f1f2797135bb4ce06a7d1f6569c5cc4910d7cd0bbb15ec6d0cbeb5612eb9645eab205130e3cf04a0011f56728eb447d26dc77a4ecaba396ae84ff1481422d83e4418f4858cf6639b831105d0f8c428fa9dc69e380dcd77d8d30c362b1ca067bbaf124aaaa0b0ce4bbe9afa7f2787b6b8c476b6139960e1b436f8b13a1b85ffad382e316223261d7e7a5f2300cfc04e51957ea4a0a65d19596c3034239b8bf8f0bea6f0d6d749e2d3df8241e4622204c334cd748c4d0254fac93db64fbbaf79ecad12ad19c74d944970779a6401135a5a8cbb32b6334988df3424c3993c157620988aee3bf276eca44daaa5370265a6ddbcee5d207670c0d46d555027c1854ba9221bb86dcc4df2fa8e99833e362147c8d2c4598f467d0ffb8ceb18c9187511b4135ea068d9961bd07ee0fe56b7dabb222ac542746daa4a45cfd77f0213f7e5bcdbfebb5a4ad18d79a599d0755dbaaa19fd03f4bd8cf9c7c8416c14d23b0ca54de5f0492d2d9ced1c8b5cb79ccb5\n\n# tcId = 76\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 1a9f21db6f3fe415a344b61db76ebf60a84ff0df70ecb5cd14a16aafdbfbf895303d9eb831d7a9bed89ee3ca737f49643b077a824dc3f433c00ef1b693f82d30449fcd323a48c84cc5af375d7bfa2d3ad882480225fe4a6adf05c0", + "341a7913ab931bd085134fe470003d3a612d88ff0da54af1bede6bfd58f19901de43ba61c72d5f96302b6428bf03847d54ec1d74921787ba1fedc480605fcb45b74d37dd0abb4067f97e28ccbb86bc0a1c05eeb6582984606be21574bbb7bc04edef528a8581eb135e971c6dbba21b1155e777da9f6c6ac182b4de0c9ebfbc59c71ee6688d9b054cf7772f596fc9f6e87bca4ee8df7d6267e29824b1a70840c69e1d162858ece7de3bf08072f5caaadd1b8c6617fa7888bd5e9d5367be064cc82ac4b59b240e0e7397060417e6386a623c96bc7f9bc1da4365e08c22cbdd2ef1a4a77dfef4bbb3e4cbeee7012c25ce52ceefa18bf5056583109030f91d92de8200f3b202efb9cf58d375df1dfee699586298b9eef0d1e99466bd47a0d128fb9089ec6c87e9\n\n# tcId = 77\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 70dab9aba45e87811d667c5e8324d1f0cc50071c306e6877acfb9a58e4b74798b193159021875e18dde242a51c3885cc51573a95eee4029f663222e0fefd68cd4fa71c6fca4ee8e2876e62bf8211e0986b4e1e7afb2c19ddd5e4e184a77cb11a045f77bd2622665732d1674111166924faf5b935eb2bf4ac8cd47b63ac0078c5ec05d4dedc91595c2b3f5c8dc399051ed0654401cae20128c3dab28e7668b05b4da624fbfab83e425031c8b8f4bb76b78e2e666eb854b0af342011a5e19bb252f90a94ef9c916a945e3e1fa926639425c2e2954533fdab1f6b944650249478792339d9b2f77b46b094c986720029e040c5c6b7c14b777fc9a164004a5b011b15ce6cab8d080f9a006546be010591c638d601d775637f2ed7ab94cc786b05e0ea7b0b0b4c7d1c730de93fec5380c1fa76501f7e3a8eeb26287b27fca17c30952893136a5c12c48163c9e7796154b0b2d6cc7a5d9491a9c777e6d38c60413c5dfe921962ebad11fc6771ee4f3cef2a2717a78bb6ae0895160818881798b58d0595\n\n# tcId = 78\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 9f8d0b7fc6934a3eb7ec6feb90bc8ed2c457eeac964f0fa9ce8924218c5dd38ce85083e657bbd19ce6d6ddb5422315c067ea8307381c7275e9757f11f94723bed3a174728555dea45c8deb3265879d95f005d6bbfb4c75ecc7452a20b923f78d681a010a2c5d1519841383cfa8b299ab60db09905ae9914c7ccf1d1bcb578eede63da12ab0b16231dd40f3e756a3ee84716c64db348b1bc3fd49dce7bee98a16a1f6d9190d57b940a265a31f8298beb1a1f759be17724c5f911ca1d8bc9f2233eddb09fe51d2d36ed1976f0431f06b8ffa848105bf019d30d7d8d05303daebb56980d1a696f1dc9224164932dfd119e8db7b87e44e0dcfa1b76aa2dfba2beba02f14d1410dfdedd27832c03840ff86844b41b73781195c820aae42f756959775f6038f9615bd319f2788756afd3f37d384a775c4d6484ad3dddd7cb9a45e2b750d73f4f802e60efebcc235630ace45f2c50a2d6fbfc10b951e36c363640ea762ce6ed57649be8b49a45c987a66b86c2d590056f7d4a178e1563bb07ed8cbb8b0\n\n# tcId = 79\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 312fe5046619324e6b32a385bccabb713d787ff7a7fc9527bf1b57627940365fc84cb858435f078322935d0384728dc77a56e6429adb6ab9c9e3b6a250363d3a529c7bead31fcc57590faec372f816148fc73c8e0eed5b6dc591a10ca6711eb121eea991afd5b8a820caa377071a04a11f3ea526d150ce9e6f7e51522fa7b86ea5e03a4a37c44cf77c35b4907febb1fbd6d6d9c9f117dc0c41b465dc2afbdd09b93237564a4814cb2831a095fe9862d1f607a31905d45d6946a3d5b6377d85b424b99fe36e1d0fc5c7e74bdc6588bba4af33b9742e5727b32c24b2937a3fae82df3734e86b79fe21d9810fef8d6be753fdfccbdf78d735c4223cc8e7781f111da2d83a63288995d9baf1868158ec3117042a4bc4125f7db1a2e95877fe1437701f31955a20fa05e687ca84b6a8a4dcbf34ef627528bdd22a3daeb69761c47b8799d1e24eccbaa0cfd3f5684d98c5c69a79942846c745bfab428eeadd4dc52cf3827c08547c7e8a8fb0dc149e8b043a49ebd2160e0372733d38000581e775d0c7\n\n# tcId = 80\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 69d4190ab2eb0b4a59fe3692c6b99dd3ec7a8498f3b81dbbc4709b77ad49ae344a68acc33ec05176a5c1f572dca5ca962d51bab6381d0dd050f539fb5f6532a3c811d2cbde95b043d854c50f479ccafa3cd7ddce182558693c701df66747e537e29adb9c7e2ec3f345fa5010ff3f8ca5cf4de31139dc3f9ed93b4f7ee77bf9bd29757f330e259e6ddd5e40f86152f26c76cf7a778b7565287406e431c440812420bb1c9e36614b51745cd35ad18a018acaf3a8871e904988b66e2a09662f88810bf5bfc17dd7465abb77d2f625ca83ccf2e2f187b217c28cc0818f04e259ecd59c0ce07f6732eb18c72fbd007a1f070c554424185ba45e9eb1b10b0555f8d4678fd7f7e91c92de9f2a11c45be7dc1366ffc3ab71f263eb892ecef25353bec9ca6ab78668cb9b66a9d0cd68b4df0b2ee17940fc1c66915cf30be060952cba3b4237bebf7ca4b59023a9293c6634912a90291528e48b96542a0560da0c457407bf454a9ce5919c70e62536b8e5e26f95940a2a6446a00e9ca64e710012d07c9904\n\n# tcId = 81\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 39d628b828f44dad501db99f8deb5c33363c043b4ba041c762a0ab6c7edc993a6ca165e15981f82ef30cf91e679ad3357514a6a88f45107ff7675587d2a78ff667d2cf66946a8be5b7dbd535c530a9af96d2ab04902b9ea2f790e10c109950180e61759de708ae8167e1b8ba43ef317d8a141e70618184df8fb054b891d6913649df603e3918b0b22a85c0e19551a6d56bad91cae1fd99dfc3abebb3fa5eba6be1c26b103dbfa36a89cd595e4ed881393b7296a50a237edc331e18b7d21983b66ff9ec5c321955ded14e179752b32117a552b513a1b8a94852c02ead9457d6c82c33ec95be7cf8eff606892d1aa345e0e3fe9b6ceb558976002c8baf26a494adf5a79628ede5c99c9afd706f262fd42272e2aad790b0d8d034e6fe056832986b0757053d25899bd78a5d773714d1e52d7121518e3931ac751250b6f868971648e2a1a1b424b80ec09c1fe153e6edc532d737efce26c025ffe0713327e5ff37f692792974a6873a290589a9b888d6d82ea856a523c9f3a6b2edaaf3d76da41fe0\n\n# tcId = 82\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 54a5a3186bbdf9a08df3b3bb343979c4e74e3e6d507b6b81e1aa34421fee0fc53f9dc5b0f80ad535e25caf47ff3e3abb729e271e2e3d945b61e56fb29e32e7d93e748474276252e3b3f05ba709a1909b95414da0ada0effd5ea3572560fd24d3bfe2798006c322acdfb7caeab12b82169b72771b07030370f301a31f0b919724a5594d9b48bb5c8945cebae01653766b7100103aaa38d4c0080641fb7d946c2ba66bebc4e6df76c127eedd9b83dd239357ecd3c7a4e0370b016d542203963e962aba5ad8305d2980b35b8e4f65e2387afa912c13ac7f725b91badedb1332b21e15692752d474fcfe1b408d5c2bc2e29f67b9ab76cdfd64bbeb809ce9e89ca21722b4e04f03bbcf070df8387485d7a2c3fa0b0b3cd7e17562510dad0ffb1c16d838b042ab85d58fbf4429eb91dc9fb499d54cb92300d331dc5609b270dbe639522d84378b529dd7b592c5eaebefd4e032401b073501a4fe1530851c2d845263b0c988d6f49e7dea2cb4925f9ecaf77365bf01894202783cb4c79f3370b74ea789\n\n# tcId = 83\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 4ed9724ed7882a0ea9d61cf2d1bfb1c042d94b2427d71079625d8d59f7e5632a578521973bd496cdabf1e9dd45bac456440930d221b95cc4d2080e96c963685b909000c45d62835b9e68ddc728e9c03a4831a90435abab57a99affcc7270b490b850721609f568fa4a404ff8b054345e1d8e4edb9234330f9dbe60e4ee2042a5bfb28d3a11a9fd03655687561938c45bafc64f59d0d5d72fd23bc40a521dda3e2b4a7b69b6047193cf8dc3fee3fd299fe88b58fa052bce5c4af62baf548bd5fa8c08bf6aa17eddb8fd175c40128d1efc64e40e08076f738a5da495b1e9e0a2f52f1acc1936c905fb69871de2159aa5b4accfeca00764ecbd03f0c9a2d8231f26ce5e7aef43f271d3623459930a0d99a5a41c726085113509c15abaecd8e78f25fb2e5c3983afda6eadd0e68d742613d085ea1db524f8d97e189136b6481e3e61b7f5290f2d10b15a9b93a5fb4a6891f5e4a341797e5fe27e3c202d267d76be409a3b72b15e406729a2e56c9b9d7cda30283d7dd352c88ea82350e4a12fa17b97\n\n# tcId = 84\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = a855da78c44be74dddee634157b685a227714cbb6a21288cdbf3a87aa48b1da98cd590a049d2ab715136d147142e5526bec5d1d08a24d99e9965242fed7c0e9e3a94c6cd76511083b7fc244db4b8efa094624564feb61992b02b3f7724fbe6f53f4f1220fe03f28a6defec4632cd074636fc129d75f7c12f2da83903b1b40e2415096f3bf3955d1bc231f643cd964463199da00df164f7ebdd967b2415ed460f9d26bdf6542ad355dc0547ddfc93c272902eb0698a53b0d06eac9acb9d54d335c4a460c97fd778dda40854abb7086beff78928b61604dd94f8e0bf8ed54185c3bf14cb8bbbd79c6f9da3888eee31692b30f370f8d6e2716daf73eb5f318ed4f99705f019eed29b2ba5fa6193eb0049fddecff02ed19300102e27be3c85d231bca8cd1c24e175e95fbc2a3bf8e23e2b8a622f48cd100672e058c2ca2f3b1855eddb06b6e707e1f05956a4683976749193faeccb5e25af7a99528da61c686269b49ea5b768768d7f624a1600e403db229a85e8644f4dd7147315cedbdc85703c89\n\n# tcId = 85\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 5b7d079d667b60b3508089031b604327bbcdaedc887c9530ba1554694dfaf081ac91fd339323793d862786c92696f1d9523cc8aac14dba90a6363bee9a93fcd7751973ecb70cd812725f1190d62f9d950a552336eeec2f2759c4d347d4b75717c46365c684acfaac48ffa5a3a74748bd13d4ce461df0095bc2fe74b565f629be5407985ca7ceaac43810e42951e7a7abd8c2f548deca74f34afa47c2d72b85eea9cd2434d4b5ba81f9eec865a2c4ae17d4fe00aced59bc20f0e8a4e9b5fe98da5b7859719fea29b643323f2fb05f4bba83804ba1ae3040e62331d4ee15ad82221f14abe7a9dc440851fb97708b120e4d32e37327d103b626a64845a76d24762d12e4210e166a87fa77f8e2f2c9feda8dfaaefa10774480b8e6f6bd912c4048b77ab3cd7684c348c3ca398ca0c06393e83defa0eea7034c97695e7556facef23cc8a0e9d395080fbd94b085380550deca1a2952554873be0936", + "714c5d78ca53d36728919a7c4e7069ce97bf215da1d02cf14068c16100f8f78baba2d19abd306e\n\n# tcId = 86\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 8574a80f36973bf6b986c7b81bc6d289b118caafffc31d2c99d2dccc1e6611d598dda3fd7c22cf10c7729fa84a87e3f19ff4bf11a96018694b7d829bc003009eb104e8955e8a8717f2fa89220281fed0878b9febf77e5b81e93515a8541d7a4b8a4c008a298d317e7b82c826b5d67bf04d459a5d5fd7f69389dfbb25146c4805cab1aadd009d7b00956ba93f6d02f5266d8b06e28b346b06f1c3501cef04a1c607d7f85ee037178e6f2b0dde307eb6f5f88229541cb3d37e495cb5997264a0c1342713e8548e318681a783381dec9d6524f5c80c437b997f2fb95c80ca7158d0ebd531b4c9bafb19ad9ea0542217c1ad965ee6f1afa5a48becbf65b380f1946dcc85fbcd82fb90011e650dd1e507dd19037ec1f2ac98a87c25a6f588aa6b6f93d35b83c1e8e09152470dae2af8afc1fb2146cd426fe8d3cae5a80c1a63c7fc42825226bec26d57fb62bd048fcd921b8be7aa8d024926fe3cf5c5e3e7f5b2f50b33dea547389e40fd67a8523cd5facb29e97583f26a34f1ed880869800a4b35d6\n\n# tcId = 87\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 7857b1fe06fcc417c07766a9892ae30eaca65df7474575a70d8e286fc22e3092dcd23446b101cf27951eeb2cf879d320b2bd12f45b79c10018178532d8fc4d708583adb4d7d7469cd5362c074c519106c761228557d4280dadd907b27675e318033ad32ea71e001c3e7f68f6dc07509396a61db29a9ad376f406ff35aeaebf8c6fd0bf7df4bb721c91dfdffa933f37db0bee5d4f7d34f3df2a3a0f383e443647838d7c02ca87d9d79814ee9d5b2860fdfea5577702dbc829610ee1eb13f6e6f0636f39c5ec537c0695bca4971dcab6907e907650b92b96d5d64c6de52c4d986d458f0195345b1e84fbeaa483e3c926167a0d1a977024aef2474c31752515b55021048d2fc23ecc5ec5126c57b18a1656ed49aa90e0cb51e77e56507d7fc60b1f761354423b110d44c67664781e5caecb5da5475b01ab2356993378491c2ce4fbc41badf110c33bd0b78cd19540d8aaf27bc9f3450ce7579c87ee40a454133093ad89b29b99b4b15c21f072bd2f5c991e6a98a23fefc06121ba81540cad7e2a34\n\n# tcId = 88\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 9393a9989ba865a8be0fee265ee6b5b3cb9380019e3c4377521a729a968dee0374b547e94e6b12d860bdfd5197787d35208ae3e8d6a689d031072f6b993b7a8900a278fbf1c07dadcba6b4074375c666e035c2f12d158f626277d7d4b781c8b6bd71a97f575f08c4520b2d66588756b9fc8603a346cec73eba4e8350d7570e923cf84c1b33ad7bdd507d87c3ddf01084703f47d423a5abacb7a6caf5bf7ac4c61cfc91ba9483e7b3cbf9a094aae25b17468fb3a3b6a42d23225bd4859d2279037de2ff446eb441de7060a675b61b3e591a4f854265ffe937bcf575ea85b84046af568a298902774ad9a888847f3d20496d8c570da907686e3441998857e3927feebbf5540d734fc7093263b0efdc33f32f93b936d8f81b920745c2c854266059c92120435b3f41d7a3a5a7d2c3571a15db2136362f736e099e893785876f0ff0b51d3006417235129ba4480c4164329f1f9c6aaf48c93411e388f00cd8b6b125f4f1d3fbf21ee7ad4355a416101cd857f6ae91958aa88b31134a7b6906aa184d\n\n# tcId = 89\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b77b9c5862c9fd0f4e4d72fb7bcb23b2a5d2124f13aa7001275451a10148993a3e846e0b29157aa3a1a8ae643e2ee84a459b033201692697eff53b3606e85c6649d76c8288899499f2751918879a034d616543c0b7cfb215744b8dd03e50ce4eeda2891ddb8ca9c568ccf98b3128be25e191a4462f6458c718b33e5f519e3de152b0ec691f2f5b8f3cc150ce37814095001cd60b3dc6e694a3df5aab7a0c1b2dc152c26901294b01cba43b74e4e28d14a9a614d0198c30fe578831c8d1b51b1db0dc34f6c47de0d38d20efd1afc8d385e6bffeae43280f62a5f2715af79af64f04d126e1dd36067bb44d01ebc78769766bd4332a43dba1b124a4cbed381ccb43952ee4cc19201f05558c11f51ab5e76b76b01fcd036a949ec9e4d7153fb25a1aafdc8e0f1754bb59ffecb9a6fd9cb05d527661bc013cb73cec4ad1ab046e1e94b6d518604c7ce7bae1dd1319b612cde529a6ae588c4c6a6a7669e82e141ba6352e4552fdf05d9d1e3fa217ac5b38629d81ed749629ec53f3b30f29df883fa68e\n\n# tcId = 90\n# bit 7 of masked_db not cleared\nmsg = 313233343030\nresult = invalid\nsig = 6ae7425610f6d9b6cf5a358bdff3bdd00802d55cdaba2201794738b900489dfeb11d921d87449ef9d1e5b0deae4bdb26cc13c9916a767cde8e0ef67de6f8042e1d5f600bf707f65380f971222d37088edaafa4909ed566694601e25bec8c3128dd61e664688b5ce2ed2f626a5b618bb10d12cc78ebbb0f3cd6883b6476fe4f89008d9e8feb7e835fa873f2d6d9973412abcf12d2646723b1a5ab4e3b206d49ab6f47789010cf902adf720a02c7677847925487634f81e163819f286da4d42437e66ead9278a088d9a2628aec137be60eac2eb30306e598b9459f0ee1c79dc132248f013f15fb80ba713703b66848612d8f4e5d6bc444e166998f3107b459efc73ebe1bdc0b98e4d57bb960d6db0540f68b96212da6ffb05bac7ace76db7b3bb69188715c091f14354fbb8a02cf2b2d77e7f2e8db505e93603bbfff2f33ba54be38630dba291befeca45c76c67f344b9daf7a7b0712b5a49e7b6af29734516570cac32d02074a74cc0e49797508e1aff2af9f20a7163440fd962bbcc5269d8f13\n\n# tcId = 91\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = b9bde8fc005ab0b6b0317aadbef7d6e8abb69391bd7ea43fba5a49ffec02979f89d0a9efeacfccabae271c998ad7fbff4442367c07e49a892b9632bf4f30de3e95583875f3069fd3299a30bc21e74526cc51cb10dafe22b06d3a412a6509daa83d337e18c5dee6591a11262e008c3b562a18a9ada3169267eaa849b16a377b195ca6f83df0d2c2945a3d3fc2b872bc2ba965ef4186ad1e7ea5b56fb689fada3f377e0897e5cf86906dd2d894848a6f3d64d96a5523fd74d2e8418809fcefe5b9bf12f5ae7189e2aad268e835b5a701073e26be131c9dac06203142d93c95af3d00acec603aae2a24bff3d5481c7e71be5f63a1c47eef680a00991008ca0047c7bef7812c9b823a64e6cb40d0fb4472b702bf4f1c9483f835812eb3f70808e3dec7ab2ce2d8cf1c0dede8521780513140f10d84727d4f14ae06f65276feba1857a7e879e9c4f59c80760b117e1c4083e342018da1c42adc6c5255404adaf8460d122d3c670aa29b58c087d118643eace86667e6bad6c07f078f9cdb8618b48e92\n\n# tcId = 92\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 872f410815926494669ff81dc7114e096f007790f6a4ae3a946b64984eb28bf28351616cc82ed34172f1d1d0a8918f87d64258328db63b72127fbd26320a21c114a7f0b6c88ef717d949f57a28e66244b1fbaaa942d3ab2245ac76f0cc4bafcc119a64f7d167e3e2a64dc9a004464b28bfdcac00a24ed7e3689ca1ed23480c1a0625601c4e7f1e374b54c1c1fbed91e0967b40a3920210b84619c23217c2a6a39734320607abee432c7ad2bb0a8b735400bf775256a61324d4c4ee743ffe99a7bcd13a27b0fa33c0dfbe0cf9663116997573a59204c62aa497e98a698b5dd19314de9ef95cb8bdad0e07b722eb6795f6ea8098b7b092f7bdf73aa459dd85843b310d71e0400470ac14db383940519c060d111f0b80896083b6fb305ee6d9d7879d177f7cfd85c913d226fd6c75f38519d7e8f6d32bce50e85901fe6bdfc74997862a3b809e5ed5793013cd19af9efca616a9ac3e346136142374f58ca823b6a6b2870bfec41207b0a8f58d72c119e319a3934cbd40451f0a1e26b447a5687b9a\n\n# tcId = 93\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 5e0a2f627d11c2f5c2a61cec6b9ab6ea6f2620085e52ab1d162365a2c7040178b3e6222503efdbc66eff0cb892be95abee6ae02af0a29436de4ecd2ff63eb7e082d51ab31d358309747ce61e30df4ab3382341b88eb2da84406ae20fb3bf9a968cf5ccc871be02f6cd9f2a89ffc6f3a69a589526e8a4f1a8c049286ffca8359e81cb3173a2d2e2cc76a4829edebdd3dbda327a92dd35202b597bdf077d7ac2924f8cfb29a85dc25dfd2ab6e770cc80120a7bd594e020392e58acca9d7356773e58aacfabd66c2d9a888379b73868d07e3d14af1dadc1843f2a6c8e14c93b3b29134169c5ae3b293ee6f6a475f20c7c159258a8cf1a1cede602afa9fe7c61a3218c34024a87bdf4a64ef12c78a11a50bc1521836bc4d84eba90ab1db1b17ef0e6e95d7c9de5d6b84e11dd5422a869ecc7f90f952794f6093df89fb664aae86669c63bd46de5972388d81908fe56c6bd029e393047c52924a97aa55c07d482f98b784e6d39cbc280330a34ac4a8a72733235e66234903a4505228a3fc8e1146034\n\n# tcId = 94\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 07f0772411cdb1e02802f8ca699bf55bebadd254c9aadc16e1d6d4af3e12670bfd2adc2dbe80195f065d75fa4a25ef757766fffa4d902b386a9c7f247206f60c744938f50d6f840170ae94c6792299c386a1d6d7aeb73fecd5b72a28249a2ad771a5518fb694f54924e15cecb2d755da44b54535dc6f8fce0e91ea160ea942c9e34eef5d7367c9065f5ac270ef11a35bcedf663183f74cd2d504410b97b4034a59d201333f235f59924aad30fa877a31e0c1573f62e7be41f961e9c31ec334153d83adb0ef38963f0f5e20c90b67ae5c5e2ef8520587587c22e869881abc6bfcecd62a1f878115e6cbca7259e8b9e116fdeed841f1d698e85f65c7ae07421cf3096f6b31a07e251944bd7e2cf50ccf69a18de7c17700b25786d29ed74fe8d5757d4dabe2d6fbffc2227448ee8d5559f992a3b635cd74a68c329f1785e743ce9d3bee57b997f9ae2deb531f8994ada98d9a3536b074814c2d5003d6a3d50a9e56287f3aee8ed87104c19656a6057515fe17bb2a72a53a7c19b7a814252c8bee61\n\n# tcId = 95\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 96\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 97\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\n\n# tcId = 98\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203\n\n# tcId = 99\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00008f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n# tcId = 100\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d5580000\n\n# tcId = 101\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1\n\n# tcId = 102\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 103\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n", +}; +static const size_t kLen145 = 115183; + +static const char *kData145[] = { + "# Imported from Wycheproof's rsa_pss_4096_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 492e60b828a9847501c7ff46a4a304ee7bf61ae87dd88cd5598c76289a70ab3afb7fa9efa3228a1e826241c13c2e120d22cd3a38a9b9ec5826a9711bdb119748e0f7080ccf917e8cb53f6f21ed19f4ffad9efd94c66e329226a811eef928816b5edb3b10d1f483b64bcad9b055dc78e99491560f59a598001e76a0bff0ddad4ebfd565495e2b523b02dc80050b64db4a200b5ca9efd8a1339d6cdff6a82dcbf769d3b0ed7ae53ea8f1788eb025e186a5eac02e3e1fb1f0aeec29b2929c7a718c32159609f973109d4a876bcecdeee6c6418df27fa46eb5cd238e274f94ab571c968b2c4a838cd812aa90e4657b95c0ccd68d60bd7d33b6e291a6a13f68e046cd41ecfc2bbe35fa9b4a0c17d89a708f89f975bf5a5eb9abc812b0c498d93d2d161f5c7969afbcf798029f3c14efc3f7c265b93fda572d265e9e116ffa9416e111aad32072f61943e9f0754f6e116ab5119ed09bbe245022b6e8bfe35dcee4a53ed375f5451c43f38f6eb55b48e386030cfb76c408c81f606886c81aacc76a999735682413069cc016f6e390ea2df7e8e74d088fb0643aebf4899ee8177a4a5faea3889181612ffdffcdb3fc699d578eba383e23e1beb68824c0bc7f920afbbea8ce7bf2b7c3bb40f33c6b7c8fb6cf73e6e2f3679669f235ddfebeeafa872918581d99c84d6dc37ff85949449d3994982d332cb9f9b8aca691651c4b63e58f6b38\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3731df2cf46de010d06775044db5ad8c98fcb8bf2be357fd39af55a864395bd24fe7cf104374159cfff1b537bb26ecd67a0488ba7a124d8273ee0b3cee00bf94c5d34900c4ccd6e200cac6e90d97d8b4197ea78ad36be7a4fea6e1b43b1ed954c737bd6ec6960945f24308b085e255c1142c61af876995bb5736ae19ca0e1cd9b319634ff7103a4dc89eaa41c00cd173236c275c463a1cbb67f65e45b1bcc4e10c7f3456911e4f9ac4cee8b43651980dc2e8c332e5452e35f256463b96bb21799e22f4349846e8a2583763226b3278134b9313757163ce6ce0628376001fca63c535d384a6aa7cfecc29ebbb5cf6be9d2b211464e02a09c089fa63cdd9571f3fc559bd2b92b7a5a724d3b88fb4e42079add87ae188a983c11fb769d3ce65fc5aa27dc17b6914283971278a749101e38d3b92ed2817ce2b37d4dbdec14f44f2b015433cd6e5a5de6d803e95b8b8196bcc4a77ff6a8419f5c78b4dcfdae0f9f98e8ab792cdc18645a14604a604a417abcee8051aff0eab887f235b1c6143327a0db2e00a63e4c6b8e002f21c86163de68e49c766fa91ad956c12d36856cf58324d417b4898aaa6db3eac372f06ef21d7a7e86b540972dd4e3f7afae7caec8a692f31386e7b3e8b934499a945cdf556eae3010cb1ece6a08d0dea9500157e78117d0f4cdff096fba973f7c04f79bf42a54e4a82e5456f065bbe9382605c444d21cf\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 2b981b661e1e244b67e1892bdab545edc9ef68b50b4572a536dd4a40f31195648b8180454faa8765ba19b7ac6a59176c1a2c621e6f4131af96beb4ea47252d7617b9d8b432b5cd900f7b328b0013364a520ce46ae66a63b7181ab60b514839ec8f6bb63ec2f83a2a142d8ce532f63ebdd3f29ce26797f46f68481818ff1e00c47df1e7e8d809737307a63902c94d9c2ee5c69f1fa0602eeedab4d7f6d0032de1a8294c117ad2aa34f1175544f2bc1d466c5965ae5796bae216cee8bf7b91f9746a97749cce0388f8f443d14317e825cba2ea278045826835dfab50091cc988fc12d4913920cd625ac321df4d89175ba3f49f89d372318bc222643ab888246f8e5ad64f227be043bec3828cea0bc0229be6e71a035dca97bfe0c2f34ce03c1ee9d084d19a6d6c301168129a6589cee1119cee84e35b561d1f658b2e4f16c2b4ac2ded8ed5757ebec2d5ed59c66f7bd932d64c58af7fc16af4d3f6bc42897114c9ec537f8b7ea86752a2a26133a7b8085f4d438ba643f7a389a1c6811c2ee4eda48060d27e6299b44c8d504d280ca56ca49c246b5c4c897d3e1d352e047f735cb7e30ce87061ef267bd9c50e7de77032a162ac9a026e684bb4d0e8131a90240494418fbe471c9900a6b322306e47915f83cdd8e525566e8a71dfc869ee5c7e74d33ac8646d7c170ff82f2f3e5d319dc61cad06235145c031d03cd420fc370adb3e\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f44\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 66381e10ca91edb043adc721883b8c005eaac4daf040379f4d69a2bd7ded69cc6e85d80a6f3ce8aad523a5d185cbb2fcebece5210feb0318065ced244ff73830cbc628d79572f7f0961c111883b9c40336d110cdd4dc4b9a04ae4a0380e8b17f0667b71b2c5bdd1c9b48c4e83694820d4cf4200051bf3101559625c0d06fd0996b759e9f4c689610e41655b262957457a4d8341c65bd89dd438025699dda37aa2d05", + "1cd3c974103aafb092e865b1397661be3eee3f95d7a75d9a2ebd74e6d2cfa54ff0d8753130eca1555eac4bea45e90a6a37d7d057ccde4c32e43c7499d5c38754ce950308fcff69d42aa4a4fa85e6d92bd20d605823e198e94af5ad65ca4c2fb919391f919aa5fe048ff51a506f63063cc5f777fa70b20cf759a0b812b2527265fc7f32a40cc275ef94ebb4a0410280ad658e67c34d581b5e7a17c5629be34ceb70ca68f40aedaa3c9b7dbcf34f30f12789909a3540512044bd812760c3f76dbc644b89760b54d9e090dd9cbab935597c55fdc6793f8ef007f732732e3d1fcc3e3ed253689aa29acfcf85847acb74a722533b0b5debfbcd0b5388f6b19e8b9ac47753f8a616ed9a7e4163ce8669437c62271bad3497edf3b655e4d1523cd8f3448c5d07c48dcfaf1e1f8310baf3d3707ea23288911fdf91d7379738ba8fee9ce525ca0b9c4c03bf1bbcd7d1369c0d2f5e0127ce2d1f95322c94d4c309f2e8\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 134d55894c80eefab7744abbc9fc5cbc087072da8243236fda9df5ddedd81d23f0998061ceec59d1bd4fa2f404547056f9616f77843330bc65a2d2386574ec9198b2abcadee4139074c3208e2f09eec1e527e26b78b8773121f852bb8480e22b34c0e1cafe9bb224ce6243c46c03cfbd0fdaf28041dba177ced1a2ad70ca2f1e7dddd6cd137732f4a774e47eb59d8225d4c6a507f8f273b600a5b6449d63924b3a0cefe987cb5998dffef835dfe3a675442c90d02067c9b3ff0e3f1d84ce8801bf366e040710ad2c08c9f379bd07797ed954d3e15ef1350ffef88e9bce7174466358effd2494d7e174ae88b04e17c5ffa7b63bb6cf194d007b3ac22113fe3a1dc0c97d3853aa67c892d7d6bc5b0be6681e18004640416587452c856644ae6c07d135afae80fb80132c1faf56c5b224923cef5abe9969b807023fb84146a62e19bb6d8e5af0475e07f48b469ba3178c99741af6e57aefcb766ead4ea6cb3d172532704818fd82e12132b6329dbdc62e4c9da1fee2cb19e4f60ebfebc681a5b892afb812e82029123a7414f56f57e09731fe107f682f10a5c31fdec1d60118cc3646b0284e1948b2bd37c280135ab587960fd0769629860d17c4349271267a89c26c5f5debfdf40d843428af1010f87ab73648ac1c698898717889c38be7a06b7dfe9f63a9c7a19a77d61e3235ceaccad99cce004d6a870b27cd13414383ef4aff\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 7a7848548b15bf23e4dc1908e5b3aa8989936c498e77d587e64ebc9b335ce6f400a3965c027c6c248afcda5c80efe8d1f1bd9e71a5c459aa428a4ae1d1cef91ae48788f361dd440fb3cf745c9935664e43b81e9f860985418b61c3afe63b85cbd07e7dd3601c8ef8b7467694e3221ba4ace737c3134a8bd7f7ecd84d1382a93e5c9a6b69c9a8f12cbd612e48e5145972a1ad4f92cb0a57f44e0fde4548d231a5ee0efa8698154c66ddfd8fdbdd41d1476bb5d8852663e4b7891755ef9fa7b5d508b190d59270d32a0a7f32b1a28570a7e52592324fc461a32bde7e2cd14b04129a400274e4183cbe44aa4bea3b4680061b119a97da65c6ed4bff5f2f59193ccdfa8d021816a2b5d32ac52414d1c51f8c198f4c03e0993f8e47c268598d665c2b624cb66ff02219a9100adb3ca9674ca1b63d77d6156307efe953a489529a1701ceac83ef1134e7cc7aaa578fa4909e9c4c0220a5c882433dd3f0af1d87bede7ad979ecc9999cccaec3c4d39265efad3c39809ad3f24fed3982dc74c57ff8cf1578d940f9c6d351aff9cdaa2481d0f355054389ab2a6edb6b5455677d828453cd6aa21000adda95644125cdc6b4a4f95cb69a1abd23b46603485e696dc419cbeba767b2fa7081e1641c4b2daa44f5fb2b9a6513dd12d6f12f0f1cf7da5a74223da8dc390468e46af16583faacb7fc0ef4c095c641af4d76be03e880d4f4e2c8a3\n\n# tcId = 8\nmsg = 343236343739373234\nresult = valid\nsig = 303afbfa17c9c8d18b64867e7293f22c8a139a6b106ac86e9a59b590f085d572a0b1bc177a35e3ba74d66e3c6d9f7b5daef34e03080d13951fc2e73cd1c7cef4a815071a089964c35afca9745ae54c1dc2443c79ddb9f111182c501177fd6351dfa8a980f1ba2c99b489b78c3e31002007b00850c52e5db7f6cfab31ac0a6c8f6d0516e19304e8376088aae408ba6f69b2f70ebecd64a53e3da851ec36cccdb7e317a4f4a337781a7e9b0c168af765431e7342f53164c50c12d1e33b5f026a6cf1925b76869252d290ed048ad6c88b0010ab293f6d15d05c884f5c830fd09d107bced6a0697215afd121bc137438ebffda18b1a6f607625813ca9a93b54d8ad6be5ad5aab808d5fb5293ccf6bd18dc920fd72c258572b660fc2072251488c8623e3d2bf988a72fb289be8046975828e210217fd04d82c5694031be9a9f2932aba449da9d21738705a513a5dda2f277ba9a017c6363da9042838aff0c9ae4b5655580e74a95459666108fd5d870486b7ce4187f057fca8fbb0c877e1fb3ffacc26732c26a50c581537adfd596baf30563d7d23af2d68395f774f52abc238738a2fd15d1ff2046e07c382d176d6fca5348c1a44b44bf89883ca569b7cb9d7b8550e65229c4fb21e3dedb80ed3ec51b378c77750617741976d5b2f764c7db5e103651782df4841789b6993c5b73840038cad16b03a368dd6684b7a90ede21a2ed2b\n\n# tcId = 9\nmsg = 37313338363834383931\nresult = valid\nsig = 245258fbe3957df086cf99d113f5297d5287f6809236e97e398a4a66d43236dc93c5ff7b089260ceeb8312ed7c7fc2a0faa6b5933adb453e0619ef06601d5b2e2ba8b43c76704c29f45416d0085d209911db798c0aaaee221d795fac94d66d9bc01eb43fd9caa23b5e34d33cecb735319133696aadaf316424a9bd445a6b8bd779791edb302f352b1460a69a25fd14432cf043fcc4f1ae1b7bcfe6955da3a89d6abbfa08e703372b977c57a84ba81f7cb51bd58a9929a8b8dff805aec99b03a46ce82a16d25f6f30e501a9bd0fb8a47105893c2b361f80f2ae872e5358290770198cd2b5139c234e70b80aa18cea9d9b94e2b3c46e9311b2fc513e28a5dc83a4b1603d59ba12f695656fc40bc6f890731e9d990242fb79f5fd2111ed7b7019c0f22c1b84e382fff744e9f0476e4eef7259730ace36cd7b1747856fde8d1c6883df62b20eaa58d18febd316091acbd323903a9351016d089ba51df67f5cd14114b8530049478883d53f0376ccdc8ec472af2907a5463c320c066ecd8aa6ee8cfac58f67bc051685f0d38bd2649442aadfd87749e22acabb6c396e018d623540edd2977842ebc518e3b2954a8555de5d4b675027488b52f8ce32ae864b9e965163b0780b53e8e227e914c139f91afb662b9c4fbf21bcb7b43040113155b97571806c112aae1e9da34743df2ceea812f3b931f33bb103d9c5239c92c701c0565fb0\n\n# tcId = 10\nmsg = 3130333539333331363638\nresult = valid\nsig = 3f4d6ad95e3b937372ffe704d32b54c879f04e85dda332b360b2106942c45c7bcd2c7ace3c7cd0b585182a83e89a34809fcd72687c007c9a2ae07359449ff983bb1b5c3a0fb44cc694eee28b87d961847fd9a3067697c3283d4e8b79fc086ce77eccbde90a7960d9112ac4e9f0ce5ba897bc564b3bb6fe023dc369c01724455eb40170d92071b3cb08de7cb55300b244992e80c2e181d854c9974fb76bcffd3b9389f37f39dc0c0df15584fb6ca4c29b1fe1dabb1570a235f5b17a283969958cc7eed4a1d15eacf84f8cd7214b063b79c976887039adb9a1456f022c11c4966c32dd4c7782a187eeff40865ac926cfe97a8640ecae28c5448e8dcbb50279232f0dc597b58dfc4ce53d9530584a808cc7a20dcdc90024931732b92ad17bee31b60e7e3d6667d809e4bb02caa28d3676a7eb5fccc841385a010597b02fdc728715fda89cfca37c72cec44b6befa8093b99a4cf0a81a23e484a671b589437b4e6a953e27e7339e00cf0762b9ba9aad64170b8f07c76f2729771b8d406936fb219d3decb9fa075f51ca804f7ea59dae8f663e49f6b007a0300a28bb54707cd891439207104463907bdb7f7ce2c7861888ced5527f91e6f52003fce1090d9231a07303a416138118be8c49fc919450247a9004164030bbc69534dc7f61867f494682884314dd0fd6573af2cdc3e86ce5c9dd6af71dee512c78f8cd5eb4cce3967e349\n\n# tcId = 11\nmsg = 33393439343031323135\nresult = valid\nsig = 8732ca98efa135da433f00d9f4f5d76ab711876cdcd965598e243a7e68565eba7d60a95a5838dab1a3e35051cdc1ad7be6a6a872ec631c8f23c84ff831a25a01f3f8a49547ed98ecd7672ff561c438aa86c5a8a7fbc07ca1f6437d6e30b695ed81111365f721fffc36979ca2d1a55818f5a0fcc922dde87ed5b76fc47d5f4ef219f05668feb398b77573f9b1232f090647a2632dbfa3ee02c585660d76f2e3504a682382606a766e214c51a2813b730a93013ddf4a7ef08028c8e444da2b8d1f583780bba7148a010314f2588310da17845a0ee37dd6308d1f8d9b87a88df57cb1d530441c6a2c7a18fd47b4b7f89353d3108e91bb584c2c98a74e413e8e3be7c8273d0822dbabf96970c61b104ceed8306038a215c61f15bb4743dcbd80de6ef1458923213f7b27abff0614b6e1c3b02c4011ba2a6590fc9577687a2bc5267762367d7b62b03110bfe5b8023ff6a7c46e46a5deb7a5fb5f7b50207760e449655bb7ad84638091119729758e11c30c7dac2f0bac200f0d62e0c603a9a6a4110dfc70ba838bc76aed762cc9a7c3830428f0c8c68f7972a3ed68f9895ed0fdb7a7d6f206e8cf44100bdceb126ff8a5bf21b1e6dce17c3bd3b8908a8f4aa1d7f16800185d96332be6d5c3c5dbe0324d1cc809ce72f1cb1696c5574b13430687b2ddf1970c5b45fa3c4df55b46c88603677f29fddc4eb302e2490fa09af3b14d8f9e\n\n# tcId = 12\nmsg = 31333434323933303739\nresult = valid\nsig = 4e3b548219cbdba85f3ca9e739a153e8fc69a4974648806eb92cf2484b00dc272b4ae4b88db9b38a5e4320332c2ea62448c08e44968fc1ea1390f66469ba52d4633ea98bd3b6204e813bfa3353dbbee7c0c659279d7bc78770290c444ad6105ea2634fcb66ae0535900ef9cc458ff9da86e40dfd4e51f6bdc7b221641f6783d14213b6507ffddcda844ae38b323c6f22415dced537575e175633997557af0990589f019ab5ae99e32557f82b1b9c1c54e9ce289cbc98fafacda9ebbddf5fb3d99fb73e4ccb3d2f2ba889bc47207887f646d529bd1cf78ec915efb3086d6d4d664e8b07d094bc88d8e9fbf6b2ef22e56dcc7ea634aa021efaa4b85aa517b748322a8e0ee3c53324865a8bbc545008a5b855e9813418db9f74b178c1aad20e52bd7679d2a651760c6c195de92bfc27fec2405bb4b267152cbde712ce658a58700eafd2b0d3f06ead2cca73ec56cf4e55b5cb112263bdd8636b51779fa27847b2b658b39cc023df2d67143922dbcbbd07796d7702aeb831bcac758fa50d578996b5da3ecdf9799bf27989e5895bc1d86e99cc8ee5629479e99f2c0a038d0531aa2fd6cffc52bafa4406df74e0f33ed33fde3b4f4caccd06b68febad7f59e7e9", + "51c95c24a588ce25d5e92b9b411d8b25af54e87553264faa6c5773d6d59a01252bcc05a40f3bbcb995615cb85dd1771cf05b75305b5dbc9ccc8571c0290905c22bf0\n\n# tcId = 13\nmsg = 33373036323131373132\nresult = valid\nsig = 456c58e80907cd7723f351425750bfbb8fbcd7a42794063f9c3093180a79c9b289b0c2e7db35cf0e90af75f3d830cf27ab4fd739e1db1e51d32baf5c2c219e2db5b856b5f0fc49fe33b32cb53f6201b47b320bac4f8e26d461ac6bb4c54a8cb3666717f9fdfcf148410ee6e2468394ebaa58a23fa3c7349ede819045d13a082d0304e5d0dfcef237c661884663dc956be112d47bbe627a1e66deaea251aac624ff45b15a6cd49c50445fc6f3e8a15caf4f9d082fac7b788695e3401b5b80fade651c1fc2404f5ad45ed632bddd1d02acaa6467f0da107202ab964844dbf00a48716e28d84176aa98ecb76ab52c631ddb9e1f06e6655cfb9fa1bccf05e9ea3aa773e540d0e7937f78e754a8ae4b57b0ea7d3e7cf42686f229e425f00cacf766d0c56de3151a151e12204c04d97a1470903e78cbaa74ab12955e1b2cb162acb07aca887507a661987e83fa9b0606f2b0d1303a709f407cb6866a560fad21f60a65bc4db2440b1a0b349cc29668a9f32a6d6e4ca7ff2bee3d670402fcfc05a51b988deaef45b6504689fbed8793f5061e50b803ba73843f3d8ba4ef097ff361a7cb58e95bc740d93a8420f81c13ea40f2f4ec44a0195d010577fdc42fdcc9b17a0c273dc79b48bd417c980258689026d292508c0c21346b6d9959f900cb3d7edc5acb5ef2e1f75eb3560c82a20e7bfe4c151792b3531c708744149faaea51a9e8bc\n\n# tcId = 14\nmsg = 333433363838373132\nresult = valid\nsig = 70aeb4087275eb488c13af70b3bd01ed728cbaa7e9d23227b4852d07bdbddbccd7e7e45cbf67a3609cc5d916f090bcc003ca86943a56b99482cba553f54a6c30f9cd09832caae0eebc61ac2824d1adaa448e3ceb6678da38629b2e3dbed14937881cd9887b23b0971b9ad2b30d63f553bd6d8235185b43f7a1db62952c4d0aaab7b598777a3c6406c5fdde2664f0112269f8a02dbaac936674f08330dd7ad49d7aa7a43926f9a40824a386ef0002963b2697e23db3bc227d12730271e2842ade151db6db670cf849ed14279b1378291d32fcc4b76d918ee5a0b64f6b5bd43d84fd5258f53d908f9bfee9b9de510f6e94ab4209ead7d48d4b1bdfc13afbded36d85de2adaae2e72beebd2b83208b7171d1618a66016e3c5f89364c9c4b8e5c33129f85fafe0e48080b6b78ac0f898f73f9635d8e72939a039d56e59b359f5f7e891f81c59369dc97da667b8e2a2d86f84ac9dbe98eed74c4f3d73809037ba17467825fa21aaffd18daf6bce69b8a7b88974565012f9ec01a51646884c1e64346012448940c4b3af1c9f86bcf656ba5efb0b1e65e8f9bafe42295bca712030ef6cef2d8dbb300ee57af3cc40e19dc1ee4138e78cfbf6f98bb8ef278dfda3b2464bb0bb6c9cdfd19e1b70004c994d4ea2962c4cb66e4fde4ce9c62b05cea744414da3cdf41e6285c1134ca53dc8581c6090f2f4b649455cab26912571dd03fc4ba4\n\n# tcId = 15\nmsg = 31333531353330333730\nresult = valid\nsig = 27b2c163e957b544022b487423bafdcd96b0d6b8b91f3df95e1b57679a5ab1c046de6dfa0f6a898a6aa1b5a81dc8eeb113fc992f4c64486e29b733fb4bf040afbf2a033eebf837d0823c46a70806de28a2a2ff3e39116e726afc7d400864bdefab2edde98662e1b6b036266fefcbc6040f95ed6c316c0969bdd3aa93db59d9e51a5172adf71f1af70daf873485523d9235c217407240938d5746dcee5b978aab3213b66fb75fb685d99f99160f23290baf90e9de690e1baefe716f119163653d35d7d638af70712fc97def6fe88ce8520e695f8a7b28a1ce73f0b9d6ce433ac0ed5446656a9b31dec1712d3c0fb6dab5f8cfb7fa3858bccb01033d9ec092a2f7f0caf68867f90a0318dbee1d40edc4c8ec0fea960ba04262dd7b2e48a3200285705ab150988f0b4fce4fd313d45f109d1f4a7c1c184d9123e896981b81afd280106917dec36f5b0ef5d3a71bb37a0e9c42491cc28bb82c70256775a5f2cc5bafcc15a8852b41ac59b1c7f654ca8d80375bc49e2e6b415458628d965d4ef4a751701abd20cc9f45e3cea908ad75e3bc258b36f584e60502e7cd02d2d4f8976bcc52695adf1bd6325e06ffe0ca161be992b4fce04d2440d6035164b09a8b955673e201f473c0f759b27e892c7fa61483743e25af670833f6fd49bd606aa04369295355a93163faaaec789400ce03067bae206dc58c8c7b4157251e63d683257c27\n\n# tcId = 16\nmsg = 36353533323033313236\nresult = valid\nsig = 675b9dfbd81c45913b46533153fa93161adc71cebdcd218b534c43f24b59df6fe8311da886898300e818ccfb8911d740cf619edb42643938185db0e2749e1bf4d6ae5a5c2d7c4139c339ca64e8dab0bbaf762c5a6cf9b6e04c86e476a6aec56c110a94c9ba0545f6f7fdfd08510f555cd67a9a8fe12f8d04bc00634bb3f84fc92587a3d4a9bb121762d8bd21c85462ab0f33de235498516ca63e0c4e157fd3031d78da7117f46256fd99cdd5cb18ac82d85c4ee1fa954e603dc09367a979d452450a63995eb83bae1d371b33cac539083eb52894f534d06d3e091e8e6a1dc8dfbafd4abd4df3fd5aaf8b93bbd1ff1d26ba7d1aae04e25a1fffb6aa7c02a4e75dc099d0e3d8381d7df70bd2558113c52ca8f839487ff5571c2a12c4c8596b023a0f9cf90958b69e513e59ebb5bb892b9b48c8e79887551e9df73f8f1357947f9cb43583c0b775ab9ec0d89a700cbbf935ab3ec00061b8d462b83c496a4b8abfb0dee0c11b4d5e3b6912a33599b014b7c381c2d8e82d06197cf2c40698730881de5df4e7202fcad15bce63c6d08573cd7712551404cf830967976e258f903aa518d7ee967d1c7c319bbca1a24420ed6beac83719c43214b9617144c1daf762b66f22bc34b8667dccb5b3bc980090ea22fa61c68e9119fd5f3d88c84e2ea9f83f0dd7dfc76b7535205fe0c4f7798e14f5559263dfc3666e9536e8c79445674dccf1\n\n# tcId = 17\nmsg = 31353634333436363033\nresult = valid\nsig = 1d1824029de39c7907288499362efe10d06179a8211e200f73889c1b9b68f7bf0ceb17ff58dfe494654e108864a2859075adf2ad2bb2e66a061ac9330ca9fddc525b3be8761f01a9c3eb7c9286215612962882b42ef74a2328e8e4511d3a589653bf0e46f299a52bd72a697fc6f09c4ee62c2d34d5487ad8c723faf42669583f2c7418c5c3f4897a193a19511c19840eb5c2c71b81023c0df8b1c6d3f27a880547dac9b12e094dc90904d47473dba66cf61207c709cc57791b0786148f62c591f72e46754e3d6e6f838c97397c5bc90e6079bed3dee5cfaf3520f50e127be6ba35cd9783b46424ad907a5c04edec02560c3d72179a6ee5cbbc9cc2331ef0fb157ed60ba4effbaa9a208ef03e1a4659d2d9a77f36fa783aa9e6dfa72015f6d6a586223a4640e04fe01b003aa395297c8d9579cd3b8e0134a06ac361819ea8499e010615478cf3d883b8f6a1ed2cd83cda71c7a595b3582ace4cab76a387f9f1f30aba9f5fc6ead0ad95343156a734645abf5b2771299dbe5daf2e2be5d4f1e6db93e92ee5202b7419b47ed5539d14d30d099d39f504a4162bf8a16a986c5cbec2a7d56ae06d815c4b91301d235a3d7e5536086699b44e5b92fd723804caf6acefa2fd58a9dde0c0524cb8d5a6288b05490b1153792bad9fd99ee696aa3b83d8f04f965242e98b1e6a96cc13f5de46a2fcbce6bdf33022f7860faaaf6d1ff0a5cb\n\n# tcId = 18\nmsg = 34343239353339313137\nresult = valid\nsig = 7eba46db8935bb9f29f3e5009b8ea19022f177fbdff7b5c11ac0fe7fc31ed63cd12685096956be4cea1ca37f738104144ae4a62591a467cfaa68b7e45c76bff4719026f4a5b1ad2e1a587bff308a27647c93cd869445d23043f87fb1bf0730e6f620864a61a097bc494eff10ae87fa270180ad0642ba638bcd53d753d2b8ecd1f70dee4eb0c90d1108677ef19a13c5bbfa2b1a4fecccdd54e15909fc73e2947677bbb4cfd097b3933facbb3d4b608e600d06d5ad53ce537efae69a5c6ac257c850eaf211aa58a3836368a21498bc63aa271ad5e8bf169ee149eb7f761393061ecf567856c64ef7575a9785d2c482cbd9a2999cc6499cd39103ec8d91ad3cb8cac0b4588ea1cbb8a61cf622bb638db4f0ad7ca8b1eaf9d7c60f9c7427e08cccc25057f497bd444aa11da061daaae0e5cea7e6aca793a51010be4b4c500af433abdb21dab5f79a84c302d290aa296f03fc1a4ede683762b72bfd2694beb537d06c750fddc312eb9ffcffd25558d88ddcd2509ff2f2615c5f9e29e6d1bab5145c6dadf490aa978530eb2358bca9759434f765c07130749d3b14ef7c2c5e45547d6a458fd3c1f80ae725a24b72f896f55d40da4a21b3612849d18119d52b962302eacc6620f3951e2d41f544801d4f1007479f89521e023989e9eb9865989fbc18234a0d07a89c9f9b8d051ff1eb5d41d394ea8045f94980020cd1c1992cdeaf5a27\n\n# tcId = 19\nmsg = 3130393533323631333531\nresult = valid\nsig = 90462930f56f9abaa7d7cd95bb07bcd9108fb5eb9c0595e5a370507c457e188d2b6d4fea1f6d6ab5e3b96c1fa140ef5ecb43cd48f942387fa155d2a73a19f759c681858150a1379cbeed487e39bc74a72d48d8a8ae1b40e894c6dff19f4e2e5116b3cdf078eb2e30393e3580bce971ba0187c4d90203de37a1c13c3ea40cddcada0b15ab8c963c95a8ee80ff1fe44fae72d18ad0f3af1567e5ce04b4722f93b581fa42731215b515f572cb98446a53614c93afd5f8d6742e0b1d7f449dd39ef1734cf8e04e61fdf0b7b2a4ad44615f88f7e1d4fe105fccf397f9531f3833f0ed49679b91b067b4f9ca35d53c4e6930b75bdd03f3cbfcdcabe7f688f69e88a76b31bcc3e200cb5ece2a90d77b97f4f1b192694d92904def232ce4d7775b94956c75ce8820dced0786c820c2324b400c951561970e769b616e605eb9b5f873a71c168e38285ddb572200903c24f8dcca7a6deca91c27d053d87d3405dc5f7169cd7b54c935f8c90b3cec4046077d1d84d8acdf05d7a0cdd92ef6ee59edfd067cf00e7bf4e911b877f60b957b88f0e71665727944ff95748c47ebcafe04009a3f356c3edbc423c7a31a9e8345dd9041926d388dc0436b6d514d10a3dd13bc0321f1e6f56297294d4e7e2d77ecbbed84dda2d03eb9a846b3ab9402711d72af55face368da74ecb263ea9522d9a7ebbad4063a3030c3bcd4b7c9eccd8eceb34af0047\n\n# tcId = 20\nmsg = 35393837333530303431\nresult = valid\nsig = 6a411380c1d5066a8555fddf5d4827fcfb0db89b1c60e071e24bb86773f951b5300fe423238ab7df1c109d854f6804aba4901ab6701ea545a8469500dcf95e7fc9e1bf9fa79b5031f130f583d91ead61ad11fa2c5a97d990909eb337fd48eb3bba09c761f0dcbd48cbb2bb6c778131c3c6e73403ac7c0006139fabaec0d91c4eb1adc39e6b0504a77140e685f60f5ceda237f47a5ee4ab5383f9d579ddde74886a0daf3c8efbdb7666532a44b7856d13a5f75d1656e5c6a9167d26a110c902e9b3c8274e01f0", + "557551dc56c0a21ae07ebc6f7635d45eb0d7bc489e1b2e1e472718cd55193380feabeddba9ab7dafe0c77a57640fe56226c73deec26cb88419e0047550bed95ad0ce8d97aff7be98f9a69b18fc14b1666e1a6162b9e23537e4843bfeba82b884ded15f30ba00273ac4fd03a562080119febe45cc267847439ab0ab18080f43b53f13114d7d854cc6a0641289a1a1d730e7f4d6dfcdb32ce4a3700475996c12f150006f0d320e68bfea09db46c4e39361305c5443bb7166c39b775af01bf9a68ef453c04acda04bdaefda50c31dc995f083b7fd5452d10d01b9c14ef432180dd20334ca82e8ea9ebd2c8489b02e3061bb7e619ec357861082535d6c7b3f53d03e912b11d22cae5f6d81cc771b8bb419bb30574c521f6a96f6b75748b8e6bb506ac1e23acdc3f679eab5d4a85228341b7974d2e3cb0db9b84fda6a\n\n# tcId = 21\nmsg = 33343633303036383738\nresult = valid\nsig = 8194007c4c78b587712d64a5df69812d750f12e7c57ebf456beb07746e355bd95a5053ed9d72fc3ef8324157d2d2773a604cdc4993b913f213c9f5c16c52132eda2c7ae23162080fdb3ba37d0b52055781a41a52fa697dde398f80d7651d62ae65439d1a7a31a01d69d90020bcf371c15aa893e30a7ecc74d1596ae94983c081c4b3307e2dfbfd71839bbda72714b0afb7ab5e2ebf45f1b303d9c5b9290c4374617efa01f76443643830b1c081c847e412e16e6d81cf0196a84d2cce5171968dad6181d896425933614919230c99db549281e5a4a8175447c81056dc2dac7e4f2c3f40d48f3cf6927f42686a6ae0edbeddb20af1850bfb25ac16cc251847cd60cd315f3ccaf963b03d0dbb44aec18279c338cf0f214b06fa6bae60ce81350b70d86399d161263b1df5c3a54096b23bb9bca7e83c8697f4a24fd6c0b77c2e8c1f0bb5f6daf8c57f4904dc197bc74ef42540cf7d0fb499612d5def3e707fcea05ce016f7e1bea0ee3ac8f1861ea46a091e540eef09bea510c626dd7b55ba4c88ca6606eb8d9023a3d0b23c0b3f9ede7ceadae7625100c95a23fd7f74532380d1ffb827620495ee53940a01dd2e3effdc91a660ac887723d7db1b2a412a7ce022b779957eb14adca87a87b4f5c30b7708b023a2198e04a6e0fe06a7fea4478be85cab8ba17163e8f013f38942eba371939a510b5fdc75dd9eb2b7a4d8410fcf4b58\n\n# tcId = 22\nmsg = 39383137333230323837\nresult = valid\nsig = 2bcba1b930217857b5a0ebcb5ad8503056cb07504ffc769d7f9c28c0fbd7c753c8f87d3d889b21db6f07d5d51e292c5afd106cc7118e3ff784ae083a33e5298e856a2577796e662be6839c09da8b7059a6017102bcae65ba1095ab3200d62a497db4f372cbd33aa056fcdcebd72ea8c6aa2456830f2e6a9be2f77a92db7475f5231dcaca4293754ed33ac008ccefe4da8111881542d1f150232ae8200046a3a22322a81896ef9ddf2652ccbfd0bd19fea2088966aa9e7a47dded3684c4a583d44cec00831f4e1fd3ad4f61716eed637b0337bb6b5e9b5e699e8319f7e748b766ec81cdc03a67f40ee050ef79b60f7937c7a36b347d84e76674216e870ad29a9687dd6d5b0a092579332eb6ce1e92d4d3ccd1e06dd18b3c0b7171c4e16cb18861c917581c317b6e7d3eb5330ebbc5fb8d2b6d9480b23e1293ddbd3770d60735c98ee058849b4ab72cdfb1be58a9dd090fbeda783cd70aea933aa0a7fc357c3873000b7dfaf031f03c9bfef07463fdf07e3077a37ec918b8bd30f6783cc0051ad023318990f4f158a72d207ab5505c98937eacd1dc04704c56d0c7147b8c35dc4c7bcb992d57584d096471648e8353a2a80c9ae709bf4ab20f44d060b3366385b8a4b69b0c0581247f2e859aa6114d57e1fe6211fa3be3f36a1bf3cc6af33b5e7e80b829dd960cef2fa249f2d53236d887ddf5f3f38925b8880620abe236df523d\n\n# tcId = 23\nmsg = 33323232303431303436\nresult = valid\nsig = 397c56d2901a34d833fc2563c39ea82ff392cdc2a34efb9c43b5d73076fc4975c8e4fbd499458a19b8f83c6a719a36cfcafe0fe003f5273ea0a935f072922590ead8404dc7b558e686c41eab65ae42b62fce11790a0eb7154b3edbae3833650d8e95de4d2807227c47c2675310731468b4f888adf41421dd2d22a13a937629fa3c4ce0755517917125d3c7b3d82be5d82b1e2df73671102dd5ee10f4b6355626c28e718f448bc2ee7eeb7ec82eb25eedbffeb4c0b6da1386a134e6db3e56563da0953f2342f5ccadac5ce5560a0e3237402734ce5c67b72c47baf7c287e2c396f7b8932f102738bb4fb86f7958722e9582eb38f678c0af1ab4f51beb8e3b91cc0659503f39ad526c8d4562dc30e29db940548cbb7a44069c3d31dedacf571097b62526e7b0a8d87959c9dfa5389a888fec4773107aa1a4e3c7d5201ae4942840e03b9042ae525a5e9058c70ab4aec851013ee41fac508da61ed6388bf9b920c22ebed852437d59ba3e38c5b3dceaa809bd2bd6386ba337601f35cd6a2d65370178572dc61931d8b1aa3d84b18cc75d9678e50d40886b48357ffcb158c454626ff0276c305414f71348b8091fc7010c8988a247d5903d291ad70776fa9790576f0bd0a8bed261ceca85ec83ec4f8cde1450225a7687eae70a57d379eee28298e10f671b086d35522e268e86d93aff44f8694561a65d7a48b25a8548ab526a4120\n\n# tcId = 24\nmsg = 36363636333037313034\nresult = valid\nsig = 16a45e41cdc78c9ee79d7c42ca47085b81725efc887fdf6962443d1be064208875df176e3bf837d021efd22fa78f7a3e6bbb2a011b25f12567869bc2235a81f1a4f03cb1051f842af5d4ea4a31332f033f03c0120263c8b28f07a046c6c2728ae65cd333f6d847589db64a7a7801c508f58f05b1a3443adb23634a56f3bf0670b9266e896cd8e6926cd2123f85779f814ef472547563d68ea407f75622ceed4acc9ccc989b5a1b1047cc3e2b8c06e638273f23c204314b3ec7cc6a2aa5305c774d4ed1c4762e8997a6422db0d3fe706da8506e33bba0607ab10d29a8e3ba788b45c588304d1b440120d0d625159113dd82e3d93b0ae2b6eb25c22e22bb9d50285d6341206cd56e600eac1aeacb358903a93b516460b404fa26df59910f9d053151e54bdd6cd155ca2141f07bdf3e9d38142b8faec360c3941a361eb86af7e6b13e5fbe716c3d0c85a35c60be70699c9f40402dba71e0b8d6ea56479393d3a9edcd6ffbe31066bc6359b6050e47251fd03ecc313f56a78d313890329b59c7f0915625fd0587e926fc62adb74e4529da1b9a2fa5dad441d413c3a2f5addb6cd922bebf72e031640f6c633254897a70fd4572d15dbe42464f7377fdac033e7a2fc134c56a9e0b9d3bbf121bb5bfde34df9677178c905c01305c773ab0f1bec22d943bd786a96e8d43a44bd69b98dae86a590370266f6dd072b7d7af9c0698ac852d\n\n# tcId = 25\nmsg = 31303335393531383938\nresult = valid\nsig = 87b00fd063a5e55b9dc60cad16c16dad3ffea0ad11a99c75e4d1e01add409ebe8749a1c6eff17eb06ac7bc6c98bcbd269c6d87289b1c13abe3bdb7262398390e22f5f109f49891067a35577ac6996edee71f6675c2665c9960d90790da3bfb982ff2f9194ecc5c26656242d7a8b9abed9e0e35dfc7f8577723dbf417d65d1c634de9e0c37ef063ef80d07c137998fb4869da6c7fa6d7013cc1de7bd34c25a0fbeb6469c79f7f8319ca541ae0c8c470395fdab59ebf78f589ef45cc8b7ef2999e544bfbb843d33191c89d721b29cb9b6c8edd161be943f181f7a4cfe75c4564c1f183064d9f3e9a3b996f61e5a6513bac16f99c428db753fd61c49d8e80e120fc46b6a7e4fb194f668db78fa55b393bb52774224f181376df0abcfebfc90ebecb4819135ecf101c34c02ab3dc1d6bcc79a5b065ff3ddca9a5c66c6b70154a7958adfd96209bc4ba05e181205cef7f3df2a1b0c5d095cf2de4b427cf847d67db367fa6b57f109ee8d1a3a8b9935a4f36b88685e891e9684982200a321aee1ae9c86d108f2cf8875762faf9a6059d871bd977232fe9d02a9dc23764b397ce647356acb3da356bf58f1b3f080f569f6e130948b0ab4e1328111bb8b7fb654ea28cd9d5063e29c45ca8ce286361a6651f0e5ab401ddb496f13cb56ea07c31edd3c6b49a5b9a5a9866896c0ca01f67b54eff8695ec75a62610f1e61e5bcc1698d1db98\n\n# tcId = 26\nmsg = 31383436353937313935\nresult = valid\nsig = 42b87dc0b6291705fb72c50b2a6b3091256d7e20f4970a2641262f1e2cdfa51088e2ed86018697a10bc8ec381f3708e0f60318bc46c5f8726ffe9f0f8aa10124fcd16cbe8af68bf135381da155a3eadfe99d07675e4942009ccf5e91b2cf6e0bb50c87b8b4f20511ee8fc16e489b30bc9fbc1918fd6079e0d1eee930b690dfc914d1d481b3f7d1e9532536a8e3bdd80aea0f8f4229c73d7a49fd3333bf2ee2e945ced2828c73c86ffb01f7a24869be8ce666670f848d1637de12c233774b35d71cd5ea4435c16bf8fc05da1351b9da24ffe88b8c12f4ad8eb7b080d49e1fa73fae1f9f6059b152407e028ed9f91e960c0189fa2992ae609ad3d37067061c779d37dbb469c03067d2497ed2038038001c6aff46340bda1d46c397be463fe40ecc24e16ca0e82a26029f7146a059b50d466d05a4bf45e7d5572e48d6f7eecf103a98309adab95f7bcc7b0f4b12e41bd56781172fc84a52557a29675a6509f2703e2503e4df3f99f36ef1f0517e54599d19b28c30076607e7be629520169f5eaef6dec6d6c4220ff81c72f45857e7cc157ef4c8f304aa38f375e5baf3983ee003fcf15e3c16224e9039a47f5f76a4ee7b31571353f7a78c5d21f72aefe3ba37882a15069654c15b03069ced15cbb17d93b154cb1d8a9a03d09371284afe12e85b02eb57a4f64cfcc165e635d789fd9a816a30e0bf9109ff31a93dcc7e735b6bee48\n\n# tcId = 27\nmsg = 33313336303436313839\nresult = valid\nsig = 59997be2c727458603feb7536807fb91010d2f07ce7ad3976888a71226f5a52d22ec389dbc9dae076076cac0030d63acffce3edcce0e5961cc0e15e7f4dad376c453f040ede19ade900cd9e4b8caf01d042b1bcf5b8c9c61731482b0d5867cba2b36777d6abd1058cc46c59d62158fea9ad31e672bbcf9cf7c5a2569328dbce889948b6f8bb52cfdfb4e1ba367200c2aa957bac9d41959ca2d1c0e678873a136a2297a6cce79051ef6260529b3bc1d8af23897da1aa715ca34b6e38142a778357e267a07e0dd440c38e9b710aa665f02e82d9880eb166deb2d4e1c185bc0cbf8fdb65a97e7b21999befcd5515b0fb0b666f4af68d9592b477d9d41fe410eb58f01d7b1f6b17965c10065fd925d28bc6b6dc26348bdeaf7bc014418361435f2095cea870730dae1f6c98ce7535ead1bc66cb9f69e094edbd6c9a7434c8fb6b57276924f77872b29f102e45ca2316fe0d6545d9c9fd6f56c07ddc8981be1ca952fc7de6bb49721f83df7b2aefde971f484d972ed2964121d1acd8db1dc2b6b35195d077d18c94282f66da5f01139f93ef9d281c8ac70659b93963e562fa4b2b74a5813be566a1a10666c016440598f7c529b1abb3e189b7b00b8f2e1b944d09a473fde4baf35c18cf4ecf1d759f1bedd8c3d244d258eb27d685a140465b7741c9c3ada7616152efd67bfa9190c59", + "1e297ae272e52dc0064d442daef375eddf89c6\n\n# tcId = 28\nmsg = 32363633373834323534\nresult = valid\nsig = 71d88b86e536052d0247f9e84bd7440c9951827ac2c5af27c60162d3a13d30cb85e71a795117bb9f81b0eb1537c2e4c7316631f7dc4f04e580bdbbbf882efdf9e7aa7655f16439cc098bd2c77c0a0b74e1eb179e911fe109a2443c22574e0b5dc07e721085fe68aaec83c0be7898e0dd3b4582c845e633b06690b284cc537082924cf8d09ec4e1633d05cfe89bfe1380f6ed48155e5e4fb178f66259df28751bf96cc6ead4f3c1d0d0a0618d4625fd0f5bc3cb8bcebc60e505a9dd72bd0223035fee6ff46435570066ecff5e6c9373377211b5111e24fb7656f65fb94aa7df71fd5ea34ff4bb1ae32d51468b228bb82095d4155dcbfa0ab9df12598da81e3334edc300bd1f9c4eb60a2a1f7b426248521d99a0664e9c973932d608371042225e4deb38c358c2c7f593f886c55397dac53f94e13f171ec06a0327f5f458514ace4618c2b4ae414b2927d98c52727f09a16c5f5f2d27936d37e3ba4cdcaa18688e2451ed19f67adc4732837e2c8fa8c5602f260e79fe0d9146458f941eb9c576c4e8d31e8c948b9274ac8f29be191bdb68adbc01a20cf2fc48e0291e0bd9969baad27ebcabb97958e9413043ea2873f56229b8601e7fde113a097063644835c28482a112085a7fdffdaf4e0dab20be8ff4adab5eb7393acce6575ea40966aca06b4e1dfba1002c7c5d055a89e11259ef061cb0a1f7c78ecd082d8a5ae2228117c0\n\n# tcId = 29\nmsg = 31363532313030353234\nresult = valid\nsig = 872dbd850628be3edd02a7d8618c81a5713395d6725f24a7c7a4a5fd2bc377c0b3285d2fa3b10864325e3f50492a107a31380a628490503a942b8ab80a71b9de49a7a169f45fbdb663a96ded6fb7345bba3560b95aa8873462ef1a3039d889911fdb3c9916056a76cfbaaa4a13328b96c3fefaa5403ec10325f3619b176f6042a68b496a23320905a589eaf532273e6d675f25c4da6da1d42bfa53a16c850e250f16b49277aae5cfeae17b65d61dfffee85cfdde1e0aade5c2c24ceb241c7a15ed5d529e7a680134c5ce3923e77dd3ef5da6a3194df0bcae4acb2ba766c5fffc3ba6e3f849ade94bb14f0b4aae88ba7d4d32127d74d319f847806ebb34ab112222888b3df62df97b603e763e40cbb2503f0f88c201b2ec0198306acac11da24eb983a01e93063b01e419ee6d39a819171bcef4bd70b1c1eec3fe267573611ffc2f51b863956f91a8341c6478b13473e1585ac6fa7e7ed804021f60b2764a727f0b0fb683b0b023c10f79f983fd5422dc638b9dc83b59eac97193031cc6112a26f601531ac273ad970427a26e970e886a6ae4cbebea850b5c86a5f27e4e39b3d17ef0f5173441ae242fa3dfcd36c2e8ff7a9a910b1b757dcd16acdd2cd09c517780b65d03f4c655a10919b7960be45ee1da723b370e293650902ec2d2407a9d05c191bdbecca3af3aa952f644505581f2c4313f124a154ba1041f8c4a1f5b1903\n\n# tcId = 30\nmsg = 35373438303831363936\nresult = valid\nsig = 1ca4f54ab74634f37dcae289b80a357bd0688ba1473a78398f4ee1b4aac47ca18c7e619bd95e62efacbd011260febcfbb4c39ef770ec10773e920aa0c2e773c57f6edf308f9af7df14f4d4b507204cd90128b6a2afc5e35d1f8a4c4b1dc94e1e0f83a8dd4f91a6b2a6e9527de6cfe3fa8cdea12004f1106c68ff661dcde9018ea2936d55bc5ee27f11aaa0f287f14498d086d620fdcee1a48aa2b1eea95f528934837f93f73cfb7134a858da3a49e11f7b5c4948cc56156c150b104f0c17a567496f5fac7d6d7a7eaebbc7c24e4fb80c40ae8c9abfd6faa774b438eefda7f27e25af393b0d8eb0532db8ea3e7d0d5de3983a06fc4a8e1590e42264a8c446982d141f9941ec98866ec3cd04ad1b29e163e2407b20ec116014a5ef70bae85d5702ab7d771bca15dd3db198bb26645ee1200786388b739e02d33244b6db27652412564583742bc700799f418153d9d30188361d772b1bb5fb2405cb1d1caab303400cd65399bb8dde393852373bbe3bd50ec46d516418afb8914026b27738e7a097390021136ccea75ed65af3c63dfbae938a9c52fad42435c21aaa943a89ff6653c3da52cfb2ac32819f09954a0e5dfbfa237f6e872f037c569fbc41886552fb7f6e22efebbb1b8197cb870b3e955def4e260333c59c98c6ba973bcdc5236ee0f450da196de4b18de9229a8291c741b9d175d9a1e9dacb1ce3305008ff19c93c62\n\n# tcId = 31\nmsg = 36333433393133343638\nresult = valid\nsig = 00e1e76be1276a4a11f176b16dd195491f28cd53f6e05cf24236fcd28881f0d33b25b9e236da7fa32cc40b128d007e0bc0640ffe42dbb2c5035f96516110913d037d7de017e264d1fd11862cf911547fe07333b5bf48c3c2ab469e733c51faf346f403c9555b7d273cce68ef59d7b8cb36faa91f916693d1f5e7f9210fd5cbfab72ccf931d04773c8f0460a1817cdbfe479c87e30d2e9fcb81a804383b0e5ac0d73f5e57229b7adc5f8c1e8ad19a1502083ba61629c1f4425273e881fc303448f32f0cad03aa3e7346d7bf3b9b27b09ba21df73f63ba1c420eb5ce21a1f777554f3877cfbc49d5c7268aac844e909f0031a32d62bfd0d87c26e1d386f34731712fb9e78ab58a083a45014678a49651f31bb3fd72cffb127961de04462f9e335df384217533d37602d3e8c19c93e09097e20c4cb76bc2359e86b389cd0d17520b6315b43f965f6d23e65f75f8be42649b2eaa1a7f11b033627cf0b926852dd8640e5a9acff47c7b3568508ce0df17ac2e72d6598bb8fff2aa61de42df997b1846be0aba4a41f9f06c6fef81e9e8b500cfe08fcb776baa6646024f391a2f69e45a060a6641be139aed935d9262cf8f4275b17f735c72e9c60a89bf5913ba4c93b9e426c9298bea999b83ff53b07eebe71c13155ee0fb027b0e8c46fb9aa641e9bbccf8df1ea8deadd2640e01662ddca3416a68f0c7690b79aba52b1fa657454e8e\n\n# tcId = 32\nmsg = 31353431313033353938\nresult = valid\nsig = 28fcdd6cf03b8d97f744c27b3eed915b93845c1fa1f878b7f22d795a1d5e6a5f1a18d1d6d8cdbeccabce9577bd2831eb9ec1db4af7a3ebe814e2b75ad489fe02bf8e36d361ec480421b82717eaa48ccf4e14285f5a12e44a396e723072b862134daeceadef8ac42555b82570fa70f83d8dedf22235fb7cda917ebf5644b32f8b92171b5241d648983b4308276b4d71b65e61926e7057d01d98ebb7db442bf9553f59bf8e2b66ceb86740c011fd43b979f25809e3ee72e91908dad7b660318bd1c099941f7b7fd87d0505d17298438d23f7ca328380d5d83c0a96ef33250ad05a23465b36b3305af30a981c7680eb10f57be48ae114114b5c29f6f75170bb4503d340c7a300670a727640a186c8e491c40c8337d049dac3f661ca8bc4cf0e7346b5153c3741307e6d2f0b6f57b247b3cfb958b3db7f71dd84ad57f67067e9fccb3ae89cc77d6a9720c1cf69578525b2cd0350e0ad480d459b0ef7a4ec6238c3f868bcf7d8f7693d9b06d193c12e40d17a270543db29c0437e14fe1ea5aa2fe19c6c32bfe70fb6072a8c12eee8b21f63716b056c76d38fcc7847f8b3c3b4f2a8884e1e01db981fb156eb1a915b82e38770387c2d4e82abce0ef570c3fd149c951e31390e305701880dd75e0d9aa5f2780ff221345761d7a005351cc03ec313821687b11904e7b769469875ea8c33b77ddd475c674cba981292b4abac1ac229dd81\n\n# tcId = 33\nmsg = 3130343738353830313238\nresult = valid\nsig = 23641d3cc88c0160ef8244b8d5fda3b296f49f925fd4d461baf6676984061ba8e563911df8533b2ece77fb111b2b36abb02611106ead001349c1f6fd0342e84ad18093a4f98d5ba48bbc4fcd950c2a7a7f27b12aa6f2ee3c5d7c59f2b3427bcf956a2ffd36803c7b784e55279111b3182170f614c52a942a33019ae9f44ef9837efe83ddea6f404f74f9529871c760a5f801332b821e78e6df0146906cb49ee652041d64190311e699ed401b3122d36aeb466181a50ccaf31d7cce253b731498120c4f1c89cd5a057f7157f072170486f7156a221f47dca341360b682eaca695f1ba2183ead1d6011fae67419e05cdf522cd9768b3209ab6199cfa5612927769ef0b93f576ccf2bdb90f11e7017dd406a0b3e32f57239049f2aad5d33ec1606e7346035528c93df5080ffcdcbdbaf80946023f3e836068365a891ea16e26dd9691aee67412d3c6ef68dfb0671ae542497bcc25656781b9660de00b562d0ff26f726f467bd6fe0ef780bf93027b848c08d2ccb597ce88fab53f0cd2f5914f4eb86af463277e96842389f5ddf63398f850bca973fd305cc7f27dc9880a560fd2bd1c66ad8481c3487ecdb17831ffd21e0229218687d2e2a1b3001bb12995b612e80a3a2ede515f7d0dbb079da425dbbce6eed057955bfecb3e5df1d95f78eb6b8dddc485720c4a90b30fc287328f6d883e1a29aa45d56c0eb98676615aa21b65d4\n\n# tcId = 34\nmsg = 3130353336323835353638\nresult = valid\nsig = 509537d3acd3fd84ced9891046c010f8071650dc5784db1f688b6bff391f1fcd6e1e4c36bb8e9cf9224aca9462f8c659f651471bdeb9599d9cc46e8b72227a63060ceda3f3dde4918bbd8fe3af7a09c825617bd7a85ed3ad7f2d9c4db7478d4e2b02fac3f8dc042a3a92c8fe9754912b7e416cd08e79daf36d41047d4893345ba0aa800f061a2abadc0010463a038673ab204b0589a427353015ada4dba98c02c07aeeaefeef299de8ac2221c29d8ffee3597f62f1539045ad77406afa13c35a990d7942e10fd9df962f1feaac38cec5d756e6a4764bf5348a0cd66cf37a0385e604e5049639b822bdbf97ebc45e5c02b058c33e09e6ff30513c7fcfe70756333b30bbfade73d5a7a407a0f1e9ede0885117c8012053043d62ba34f11c123eaa13d7dcce8fda5341788d386ea31fa23c0d55ddfa5011d319ce6ceb99a5be5054881690e4cf76174b507049cf75a15f8a27433bc6730f07e6e8d7cd38318a1d0a6e88bdb552d3856f68d3eca0445d9b6058556dc691105ced55d09cdd287dbfb2f01a8dc401c7f51bc889a233b837a19fd3231ae1680d3b5147312cffd3db576606a2c932d86dfda0b7bd822798efa4c71cb986813cd096671dfbfc948d08f2fa1228f93e2b7a43eb9371573493cd17ab2584260450f061288e85fe9b6684cf83a5609f549d6287932428736c080a3eb57e5e8cb342d7ed68ddcd7dac4caa4614\n\n# tcId = 35\nmsg = 393533393034313035\nresult = valid\nsig = 3bec4fa5856965f7312700e6dcc96ddd5bbad99e53c47fa3ab8d13254fc78ae5bd9815c9c9f3c843e93ed0427197cd9b395f7ef1991257b95c28b5b3ecfd6818acf5d73112a6b1f10313507d602cb5c62cd814e1f32a165a325bf07a086232b3850f41f20081133535a0d11e92a73dac1b23dfa3ae5d75852bc12f3b914e987876011a0cf0f5d57c5c865caf1741cd8889b55c6a5ce72285c76d1beafb1e56fbc26627163cbfcc5a2ff8bbc66d1750b533d003d2c0587ac795fed47994066e5928e14c6ae4ff4b202a8041d37e376099e67fcb080c300a0ad3c88d6f09e12bed474c40ef0d69c270e120c5361d036180ac673b44", + "e1abf1d5e0cba79ebcf94ae8a023b531a7d35be916cbc8aac8aae9e7b3fd89daa3dab7ab5a81a69540906a1a00e4d8f110b84217109c58055af4f23d5703321f8b22663e74a0539b783ea76c25f94ba4c7fa33f52796f6223719b6db916203eb156708a6dfe608109065bc0f452297f9be77badd71495f7dd3f93f31d251b28651a48b0d2465314c623f31f45229d64242581dcc261e72530b2104a32793e19bbf11145bab33529befac93ddc1956d3de933fa4d61c11095232d460b9feb2103b68f0a12993b9f3e9eccd631f030242403a39bbe5553a15a138b6d99a644cd2fc82b664fc42caebbf1d741e865a0b52e32b706864168f4d8b29903c71bb3c4465d644a547b5c6d51fe8dfa8a\n\n# tcId = 36\nmsg = 393738383438303339\nresult = valid\nsig = 7655912506999c9f509466f90088bc697e0eadfc014e146d3d8ab8050f4f407c25355112361e64ca8def90ee3c9f9f8e4697cc9a08febb705e15ab092d7e59dfdb255a2c89046b4ca33fd94943080f3764a99cc2601689511e6e9d89014ff2ff3363e3b4994691469fd40542ba91a63215230122da5d43eee9baced2767bdb6c5752b89c7c530d0bb7c18a3c0fcafceefbc2e5f3a330f7a9f8dc3c73873c44305f80ca498c96e15ecf536dd00ef7132c08e5f6cbe02d551656353d0c07a4981ab06130e07ff5d14597c42c8432d9655c7b793a46771107b202bad1ab8be4b3112afd57ebfc89635faf67a84f0a97fbf7d136b67cce9c17807fdb993fa33a56244fbe182b47efaab64cf28bc369553ae0e9584e69de7681f58262437fce9013c1c20a1d926d99636c6cbf2eb4a3396360e60808cc7330563c006cdad7decffb12966a19d8c51689716b17a4dd8d0adc4a8fda4d86cd60edb2b3d683086630aa91242abc601c608deedc6d542f613373ea10393991e9889cb73db9cc21556ab6796fdfa5c9c4eebd99daf4e9cd7d2e9f984e4eaf42c4f5a6103a48cc931757882a5d044be85350235bdfe8c478117cac02b78d609f20de8e80ecf6673d19afcd90639567934d28d0cc6cf3de5fd9e6db80866aa2d095ef9eb21a865ee14e0e30ebf60604a507ea81bc1d8a19d06d233536cac549e37319269db4a54e55cb0c73fc\n\n# tcId = 37\nmsg = 33363130363732343432\nresult = valid\nsig = 611707a6b390de22ef2eecc67496fcf2b16251283fbef26087e1989150c1248cd189e65c52b9ed2d0cb6fc1644b6c21edcceabd63be7f5bd524ef68ef627d4ed6e1eecc0e33ba3c1b9d5db703582a3ccd817d0873a756c42be882ec33b4b0c4f74b8d00be26e352f8b5def42914c39cf98b549ffe843295eaeea3dbc5efb96b26fb5748c63b3719524e9f16aae63da88a0ef10ccc0edce9192f8b33f418a6c7870d9a7245b23c88b2d1a870a621a0e93eeb23e51d90f23dc9cecc766a80f96c66286b2a41667eaa152c97cb79b7a15f3c6bef6cba8e98ea5f0c2c09c13017b7334d323baeae1c38287513bcb670c340729f0913a4e85761bd0fbb328d034a4791048aaed089d1f23c5e5a8f85427bffead66f7a16886a6d9056cd60ca761f4f08fae54d77a2790852bff8489207883175893f2d2c50d238ba281406318f24a43255a09d61919715feba83ebc991824071f3a6b98b7f518f38284fc36e719e909c952c2bad515a80b700ea2ae11cd1d6d78a599a592cfdc912cb41c514711a0193311807993c6d88b9c7884c9b614b2dea1b50bb2e7f871cc373b4e5e97d514c973cbc30b5c2fd6d29d850e18c20d0a68793a052f5b2ff830adf72dec1729651b69a167e4018a250d45cb4bdc35cee5e1643f00b23281be6546457e8b4dbe5b3b11e50110814a99bd9acc15889fe70aa39fe688ade3fc27921506a1b65ee6afcf\n\n# tcId = 38\nmsg = 31303534323430373035\nresult = valid\nsig = 92bd2f48815c4c4c0f05d445e27193a9e8f063f9e7976a24451767d3d8f5fa0ff7684eef61cf6cf035e5bbade10a662285a4f961fd34bcee1e9a12726ae4fddab6b0b3b569dfaa64b6f956127b8b548bb86230e97de3e1671fdebed2ed33d320b226c81a6b1a95938659920fc948f298c88a2173098f77a66024f794a8e5f17b33b4f20aaa920b27f90ff62fdd74f2f2cbfb6e42dada530b17e770f3e1204eeb47ecb50cfe30562d63b86c4e27d86aafe03075d92372586d950ab089bc9fbc0834cf2288b1330f8bcbb99d0e4ebc12a3ac9c97cdafe9c2d6fbd333900339e9a0e63285ef3a4497e227cefc338a4a4a96b1d9a851f2b0d305a7fd7b91553b72a2fbc255757f9f44496e8685a9a30d5de575576f816405f5f543086eb0cd0421fe674325a49dea1d700e4ccb664019adb55b0d7c1255c9d32ebd2a6ddde870ed7dde3174bcb35aa5bcd62222ab221070ba03947ff63b8b5d63517a4b2853942df059a30e45d240c32988e933c9255d1afa0668ab70b9475d19f1fa009c8961ba784c0161b2acbd62662746120a72b32771b3da0a0a69a42b589c60d3c36b94128d6b2052a880ba7c877d85b28d49011d27ede03937e9f6fe8cd804c6914e1d998bc3bd167afc91a653835add13be446101649469014476e86429818e86f601783e7af111adf4994336b19af662587dc330b97a6966209dd3e0f969f8c5dc53ad4a\n\n# tcId = 39\nmsg = 35313734343438313937\nresult = valid\nsig = 6cf40fb8fdbfd3a94a69b9cc9cd0116bc040454a7cd08cbf7b878b7c8683d259c8623ecf935d7d23560971ccdef3293b2eb33000371e005c2e3a1d2ea07035ab43adc657ffa243b1ef073f5f218c789e1e52abe553220a67d4abc258edf642e542616dfdc50124d332076a40379bbdc60838a439920564fa0fec9cc9ba59c75fdd6c6ceca2c290c7a756da0c6ac837ef4395d506f5c9d76867483ac2413013069e0160bd123339c0beab4fd5884a1c3544fb6267c8e53870b721bd56b863ac06b6c2de1791f6bff4593337548715d24176bf9fb8ae5a0bb9b36e56b09060e2a4658844ddcbee01f1b4c703532058adbf05162ca4b9abea5154fd569bedd519532d81ef1312e9df06e52df2732ca7527676704bd445932b240a9fc4858c4b44ed06fee30b50c5d89f5f1046b9eaa07ac1308514a35a19d4c8ace5b57fda573a122c474b74079d4b0c47b25f1d3802e01f6f4ce1f0a01281edb39485c48d6587cacf5efc2fe194843f72b4adefe05a8364f34de739d5a9c07e5d1272b1aa8b87bfbc4075030864580361591263f36036758cc9d54fe65ff1b3abcbded1cda0990c361ea312aa09632ec91f4b565c4bb7ace0b7079e520d41e2666f560592bc7ba80c4af01119bbee9f0aedad6bb323139fa20b9e568870c1e83bc5bcf42c90d477f7bcf2417199e3d20c123d44c7e846d104ebc36c6a4a6729adb87b28c8e1a1e1\n\n# tcId = 40\nmsg = 31393637353631323531\nresult = valid\nsig = 8f1e8b8ce7d7a651a5ccca41c4c2b3f7af80f1fb5de311d54e8e693d3fd53ac27a6b9efddc2d934efc81d8695abc6661e62e19554a4dab77c4893e735439c0ec05097636e1dbc7dd63a76ad0492b773ecd3853283574430c64b8813c352ebf13a761b769918317c644b4b0c2c9b9e04ee94069bd9ce2f1aa42e2bfca0e02e63abbf23a75ff06e76631f6ba4384750aedf2181c1c8f6b780c0960b29a56959b171ddcb14ebee30291a35e618874e51cfcca78dac432a4afe1b92ae0ccab06cf449b9175fe9e5d3edfd241a18546f6c4c8682ba379155e495a9c6ed0744a36c40a992a9391edbf1220baf11c163600c928202111a6bb5c5c7fad9bfdef2fdd2a05887bb02bba673842d8d1ac48888cf8396cb70e5cf0b51a717e8dc381d3dc5d3ddea59abe23191820ea6786a337eb67adf7c94910941c3dde3ba2e4788a533605d1fe15a8d309018926f29fed39990a073777f6fcdb6a10839925ec0c8ff3ea80e13844164478de928a3f28e3643d3c3ea701cee470559e5c71c9da344b35f624bd91d58112200f343b6a3a1e23a578323f390a03e0be72b5cce53f0c7cd2594d519d2d01f430a9ebf0cdc9f523e80b00577cb7f524c204fabb01633ff1f5a598f8e267c8fca23c72cc559505c19f6b1f9cb7a172d87cedb250123d97947ffc050f4abb4307bccc757d3a60d12f2926e2817af65a24742ee2edb5eda5774016e6\n\n# tcId = 41\nmsg = 33343437323533333433\nresult = valid\nsig = 38bec0ef412ac3c934aef5287fc4a9d55c450dea93a8aea15b5311e840a62d60558ccdec3edcb7427ac9b6fc89e5a094ea5f1166f6abc24305620f004d95b5545693579732c97a4593e58d3b5cbec63071de555a48f9fb1c8ec7f651fb0f8ac95ef9255e3c41f56f09910746597d62ba88629d50587f981987d4829df4b1e1380bae7be4603593a86ccf64f32af0c655a87a1ed127ed5b224bc3284875b9109a94ce76f2f86bf96c3062fe77cafc252ea62f862cb254ea739b6fc9bf44fb130057a777c8e45e368cb9e9bcba824597497b9dfc1857b494120807d91f181b9c7edb32f22c3fb47a7086ce4a0e275e0becc178fe9f5a3d77fa0247c71b9a7874e4fe0340bc258926fc6da84f9c06b5795893021cf9f97d83b405af71626ae6ef604a92a1bff52e672f7f2fac248f24ce0a78225ffbc19142994fa02ce9b1949e5b60f9e9129ea4281ee798a2555575b69d33170724c3a3f0f21275ae8c3bac9648f27eadbabf0618816e6864a9c7e0f090de9dec3cd920094d8c2693bf9470c2f0af5f66065db34ab26313091b3c7716db9f77b09e3965325ae03ef6933961efa8c857663918ba75a1fe0d2f4689ae8edf722dba2950c9c5bd1892886b16a17936f5978188ad7c7ff3881fb7c0aae98e495c1e1842513ad63db4c55cb615cd11bcec9a71df1c5e9e2c98d108e69bb2e0da1be314a3bf6c203fdb3884a2505b7130\n\n# tcId = 42\nmsg = 333638323634333138\nresult = valid\nsig = 934ec7da0f9887c3abfd01a81db793fe3ab2bd121445906d7c06b222bd52f35061cac1e7b5208741770534478fa8024aa6241679298830456a73da97df0d1283f7638805587977e875cf115c5e4edb7bcba908f838d0765adadbf4a26e3fff27798de0f2c1119bb56e015d5727c2626042b91dac8935da51a97b6963bb7a32cd894ee5d9ece32a258a61f8c81a753ffac15298f27204e6a123ae11021d03b81fcb2e9ab2fcc0f6c8abf9b7df4fc417cdfe3b630f467d8d28501e2dda1e41d92a9830f18d64630d1d483287a2ac01eadba8bb19564ddbf3645727d907e24afdb7d491d7c72e47b747a4aaf6478055a83f6ab63b266a74d3da07a8f601f8d18d75bb84b088a83976b5af2a96b5c8faa160fc6027e9c3661cbf536234d1e49eddfcfaa426ba0d0593bc012a9887e51e7bcb83f90080f535316eeafef3ad01586053efd070e7e2add6cd82b86b7a1a0e038972a3b7e8a13608b66d6e6c04af478de0842474838e1d9d06b001dc670f18346ec04ef63b09242bdfcde4d049a05d0ccaca61bf07a2cda5e0099bb8b1948a4bb7d819b5107b052e1f6ea88d9ff6bbb722eb779bb1a537a33b17cb5f44df77c12d32877fc95990fb56d88a6de48ab74799c6f4d6d209403814fbfac53de4176db71f44aa68d8af04bb5725416d927f6f97466686a40bc20187f843b3d0c21119fdf607268c33d6b5f0d8284e4c0705e87a\n\n# tcId = 43\nmsg = 33323631313938363038\nresult = valid\nsi", + "g = 072175f202038c0970767b29dc961f86c0a6b1b7b100bf326180c31b65b0d2ba095ec256c4e3d90d984f3de8e88f8f1b632dcda3982dcbf13a3705aba7b41be69b905221e626e9cc75925630a3686676c7b8e35e9d0e96d969085cd9f1d042d6647a072700ec134a7702ea0d5ed2364b8b7831955b27b1536e4e8cef1310e6717fcbbd41a787a805d1654c95678ac75909b623a045a49b620b11ac167959308c3125257f36f2f752d9bb42e1941f0d23dd5ea200529082eaa7400d24edeaa70225fd3604f9f2c367dab61be53218b2acfac3c2ead194c5080378378b2cffde5cadcd3a559cfcfc229ce1380ed0da35d34ae83920496182ac41ad29621efd4242699ee511ce4d1b383cbc3cdd6ecb67a7f1f0f3e84d57b120435b1257498c73d922aa27fb91fc0fd63447dbd6933320ad51c0c3739d3fa65cae206682c23727ad46cd5338c81d1e94ef71c2bec4bed6c75c5b9f4b43eb7702b945315a5c27dae2ed341eeb35468978c1bf237b2c24592d4c5357bb03a9f2e68b3422cffd9fdc0ceea99ad4871f5e3e9174438fccc3b03b0396e9c6cf2a1831b196f45a193a72b0f02c5b83072c87952c41a039e0fc42ead4eba7b155daac61129020d4b1e63a6378698ea5718b6db973343b94e9c6ecaa938b01cdab06d35aaada510554c424e39039304e1d357cca26a49129f400adb6cc0729ad6012bca1e3d676c9c68e765e\n\n# tcId = 44\nmsg = 39363738373831303934\nresult = valid\nsig = 40760ad79f382c7f671f00aea354252274fc1f0610b3d8d5082552a0370482385f3b67e70b7d144a67e9400e2a8307a08ba99064aa77374fc0456cdc4ef60a9baaf9b2ebe24713e20eeb9203387019d3c76a637712e7e8bec99b32b6add0ee54d362b888f8ed4d3915eb6d4aee085a330eaa412da99c82c6ff029eec54c6b1233d2bebb581b562ffc082cd805b6c9fd18e4d1a2a18e0ac769e782c2c1657ae1d3756e3d4b5f7976abfb6debc441d7e4c13444a99b750a57ca0bd90183c11a5d8728a984a8848e045832deb4c39bd4ddb58ef5650ac0d555711082f4b432579fb1fb8e39fe76f5a12a9d038413a4841d4280ab46947bf536d2c4ce465e54f3fe2948332158bbd15ba38c10174777f0174fdd9b918c285e1ea54f233d1fc8fcf8e4bc0d34d49b5bb96f85390ce1ccc755f5643533858177b769db891470ad0257121b28fe310c4651d476acc88409e082bfb233906347b521cf66061a0fb094568034a76864ec125f7bc2e4f0157c5e8d774d42010992cc11d0825dfb8f55e622aaacf05acac6fdaf8f69c5706e0bb5d0cab087359b0e963098b383bdd92bf19eddee8c3a921a8db3c3410abc8ca4b41b970fcc58113a3ac2439ecefaae1d415a0f404132f2f8ba9e846f82d7e04640a283f8845aa9cf59524be5cf55cea71a04bcd10c6ac2be43abccec34aff43d09201865d65f26f7233654104132fb451edcb\n\n# tcId = 45\nmsg = 34393538383233383233\nresult = valid\nsig = 32deb686e013aa3e7d79a1a6790223e7e06cd6ff177c18b89e8b21cc361b9af7a99c42fb8d3553704b198e5ddd6839f8d3fa9a5f08aea0e8e31591c0e73ed6b26ea461f3d60bbe54f5ef15618d80ab691ab176156ec2fdfb2b3a49c32481dd4edc91c0b25ad5206e88ad2dd2bfe63c6a9f803ee56aa6b934e195ecbef15d2a7811452e13c9bb6b4f2c5aaba5845f8949edd1e29b573d661817a50e1acdb6d56b1cdc15a40e714d275778883baac648bbf5e201956f8e9ebde2eef1d5460e7701a1ced7b53d20afb70fb765aa93b913d31b8f74d45333673e081644f5bfab367cb13918cb35ecae49a23c9f4a42ca49ed166d0eae9c97092a1b45552917a41e9fe7b9a06cd03ddb4f66822393ef59cfb0d0b3a848a15df3f47a6566e541d9b9b435cb6e890c2b89bf2989b59f08b6090aa6248bc11afd626679c0087c95962616a1e5d0afbabbe71f3783b087d763d8de4983d888b3aae037cddfc5a4752024b49a0827355ba187ec1a53e7cabaf39bbd6d0b0997f7c3c0f79b420a774cd3d7d74e2fcb78942bf04637bbc6499dbbfa61f7c6b377bceb87932c1ac60501b9def1ea6fae8d9544fe37ebd225c559b642d00ed5485253e23661436a2337f58e9f6a395f74094f60860e0dbb8aa460bba035486a19d9235631d95880b385fca04ad997e4062520fc43878628a59f51520da7846dcd27275c4cbd2873673c6492c201\n\n# tcId = 46\nmsg = 383234363337383337\nresult = valid\nsig = 1464791bc1e7298ee955700cecad59232c24c2a240bea9b3105bd70b0ca4bb3f764022e1275d4368a1b70ed8dc393dabf74d4fffd748db7215f085769e0fcbd13b335c30099ad01d98d052d0d546719a82d55ea8c63db5cd732333ececadd1977a976123a2f16005f1cf0c234322706f4588cf362722c76098533a63d348726eb3080f3a777e1f5bab680daa841b8dc63fe404fe5d33cb7eea62f3f17459a412eab45bd63f2e846872cbe5d835ff6f47ade492dbcc7b8e6d3755b7bb83dae7bbe82468ec011190f693785b8a1cc831a4ac695aad172909f25c910b75b460873b9a8e61e0f622b76d7fbc52541d49a70b77a947bbe5eadbdb594e05de710710057f42f3adc3804dc3c4201bdfd10c9933fb3c9e380ffb25ccb7b6c7648e5463247b95ec300a8d9f2352686b060a516a8b18f88485e64129c54a46a2e0b68787d27bcf8ad92a9dd0f7ecf6d43e9015cd2fadb6e4bd85825f1c7696d7363dd64fba85ffb20ee26487a8c95d6a1f4be5cdf21fb3567f50ec9ba1a2e5c87ab1dc0bacbb56377345af1a42156528fe5dd1f9f2ef50fbc64de4c4275f20f7104820cd3e3a8ac14e0aab82cb6cea9822e0c4bfb7c605093e41c494ca49e5b72dc25a72ae6dc44c33f942e71814525cf2c4338037c617b4c4b79a020a3471986d12b057c484d9cd5132ffee4526aec192d0dcdcb077368cc88cfc24d50c7a499c9f98f3d6\n\n# tcId = 47\nmsg = 3131303230383333373736\nresult = valid\nsig = 5214543874991618c693495214bc75af0941b9f81476c074921bed4f3f287c95a67906a782119e79033b6a9a25b52678720dfa5f359ec19977f40e01ab5b48531bdb1826caa266d28fa407026319e2f3ce00d04d716a71f98856cd48a60a7de7ce141d14bd1828eebf993a4d82abaf82619642c6cfb17f19489e6b25da17ef1ba1ae105e7342923c56a94cc1d002ae4e853f8f18215633b4a039dbde7417ce9b0569875990103431fa0dbaa31691e81c91dc2e20482b10dc7442d875bbd96297a44a3be721930a14434d58680bfbd46d317297a6b552d76ddabcfdb18e7f530b482bd8540dd9ee3061d213bfb2ff2eda3018c9d57fc1f24b77fd5fc61ae56aebf3a879d3042e097cf33fadc7f4c9899475fe55b9614d3ef190dd75547bfec4a311829de159bafbb52bbf9800e4aaefa1f4dbdf26dd228847eb35383ce366ec0843d9dd9b617d42afe2dab5faac4e036882724e84b188017e9bad9bdf801ecf348ba22e2420d4c89b43e0c65a49edc20f1c8f29ef113aba75abb7a261e5cd96585d17d4a4dc84930cc58e857416c195fbde08d5d3db25db63c5c2fa44fd71ed6c101f2b512dda449981481c6c1704dba05aab8443eb972710741087ff2d3f76a36550efc835e0cc0304b564a2d1692470230b384905bfe2fffbfcdc996c450fc276dc299a046cd145a7c6d74ebcfc414e81c32b26cc2d54ff1238dc4e4b90ea74\n\n# tcId = 48\nmsg = 313333383731363438\nresult = valid\nsig = 4d93419477c751cca75ba892535f1a52ad7e52a598cba14d8c08ebc660772d4b63722fb731bfb93e1734c3da1e80527653a363f9efa1060ec42c1b536eef907ea91d574398da4d95fb61f12c570dba4428ae7c56e0711669ea0913d64ee7cf4de664b6321729ae15f35f3916f1a72df2d9858a3dad3812db0445b6174f40f4ab0d81e030cf4668659ce53364cd580b77938df1a95a7de0493b052a5c9fdf947eaf5b72104f592ef391fe87f68ac5b4668692244ae2ae93b7fa544cce0a781ac4835fc1ac122c392f389af8086eb4b051a2d75c36a6db45c5cd7336a298ada80d97504b3c7c27aba5f2607e31046586ac1d80e3e8ecfd3c0a996fdafea4d97e30a29f55bc81c1f10653fb23608f63a0e91aefed0578682c8c3580e29c7a54e43265a5c4903aa5ac0174dc4c0bd21f55773017f0dd7330d9f0cfa7dac3013ca495644879cccf763d32379811c7ea11afca9f99fd5505f7766224e09d9fa046fcd7d0e3f0a4ee93b2c0dd7bb1b2d465fd325d8af89ccc1d97cc862c49aeab56688d4592a047ed4f0f19c3602294c10ca73ff7987b072f5431789dd95fb9d39cb4ce3753c80c9a3a663111ebed5cc48acba437f1d600a627f94545aee5d742755ef480d35fac15d3829861b2fe9cd5859172e70699b060e213bbeeaee61e9d8bd90abd4ed9e0dffadf737d2dc0d594beac16d039851c97d0e3d030463caa1b90f0ab\n\n# tcId = 49\nmsg = 333232313434313632\nresult = valid\nsig = 23dd57fe7ca4c3e937ad1b18a540bf3a425202ca237aa5c5e423868d0f23bdce63a69b5432095374993975749b68c1683bf656fc695f35869e16be84e59049817b652cb9115f31104d8d1f2795d0204d46ee862d8d6e1d250c9a2eb69e5caec4d93097f614294ed3794f178ab4121966deb1ddfacef5847d1278bc4d3835c97ed1e7476347e7ac1632e756928e2cf560468ce4a98057d264d1fc82189ebadd07b216b27b4c66c4d486ef0a9a578caa2b519716687c351c69e51a8f7dc6b34b8cbeb303ff682a767c9ab057ea8d52621e3f821da0d7603d4e8d77703474c2d8a0c5756c8f42e0f88b3e49056adc721c167e4c43a5ee54f2f1b5882c38e7de6c10faaa89e1491ebfc318a56b18abc97623c70a6a13205f24a15bb8f5f0b6c6e4017d50e5ac68c35285f1cf7ff8062f5f79e8b9a0c29fa54e4a36364c5db7f3391d56d5c11c4bad27e07ccc9c004571d338632c3e761505f1978185c4808f3ab8daba5dd6aff21fb09e8a6e585faca61a2305e2bb33b991d5b8835a3d10d0c99779efde6cb39492379cce1aa0362b1f25b6f88ee104f528727dfa6546c4b19b3f045131b96ab5a27a07da8d9bf4bce63261cf265e0e4753563db4da1a63738d8c930a51ad111a8dac6c6efa8529b83665d8e9c93a05f0471f811085ae3daef9ae4a8d9ef3907a5149659e83ec74e5f0aaed9e775d15585e4131f02c01a08e73db64\n\n# tcId = 50\nmsg = 3130363836363535353436\nresult = valid\nsig = 7badd3feb2912409086af492b43c5bb22369be5885713f478d831af1f07ca200f0c67c2d6462c555184184d34845b7cda60e5f278b38fa7c009ae9aafd5abf9fb1ea4634ce39ef8c29d341d8c6dd5380943b65506477dd4ad1153597d95329dbd5a7755d7a27b50497246bfa4457c3b8bd425973de847441e97db38393905ef6f9cbd862daae8973711ceda67ed26096d76d16175ae75672551907145a3ba7532e65c466c0bf2d994898d41a367719adab9f76a25a9811443f1a3fe2b55c2b4a30a4fb2e493d6dcd9ff96faf456e9962a42d715981aa206a5575556f9c8f6fec8a6fc991396b621ef85fce6d63fbea11b2a8bc3e5a1c8e09d446d4bb751910c7de9535cf1ce2a825a5cd52b28a2a4a132420483850388a80c193377474aee0a7771c93e2ebee", + "1fabea7c9d9f5cd88ff6c42cc84289fd2bd46f3cd2a3c1435b062c1e9a0b0bee7d0bd87e560c0ab51ae105644c50aada070af7f26db3c00698cf24ea96ecbfc7a365061f86970670a046959514ed41fd64bb7462ca63c1f171f0630cc511b105d66f60e3c5a761aa6daf60ba1e098ac05b509f7d44c75b168d1afdabf756d696c42b63cd157ba7dc840facf867e6079c098763be70b97f1e7eb573446cef5fb8917cf855451d92ab0c5b6e3e16d835ac85ae46b471408c24f32459e0cbf3ec3ec386df4c4858d38a1966ba074928aff53c9dbb9bee8833cfd3df\n\n# tcId = 51\nmsg = 3632313535323436\nresult = valid\nsig = 4aa9cbd6bc066ac61695e4911948101aad036866fea9a4f8307d05683ef9f361ed0a819f27e5da406666b1d0aeadd62de8d3540943c97d4aeb9e27faa08526f07fea9b388efa1830d557cfcb09741ab1ae15288841705aceb17c54b24089f61bf129f7ec82e5850b3880e0d174f334554db0f3d7438bcb13364625a4e1a692b86740637e335f765805f52f165d98ebc678a235312fbcf20564edf18dffcb1e0abe404819cb5807c9040f42b61b8b80b1f4be07239e4f3514d022684fe9572aa008df1c9afad00210af1a05bf6b2fd89a53d1268e509e56c587b5e1b72d18c623819c55b28e44c284cc5a730afdbc7d930eda16a9bb38e8f8180924b295744dcca65311a233380f379b9953ca6df77abc654084beb6ae9289c218f8db96c41bd5788c15dfd43e4025633a83537053343c19e83ebdd15248d459edba26f17ca9bc542954f94cc73ef8be311cd97f399c8f57d03a66c268a53b2eb850a6b39d2c7779e3e9952476a400e7745bceee26c11efd509ce4c7ca63b74b92d472b020cbf7a3c83774f7ad11bec93b9d65b1880ba4714f0c6236c15bf1731ed36ec473f67d8df600fcbe41b6f29d47624e6a80f015414b3b4dc07fcf8558dc29c3fa089f1329632663e4cef9e10dbc1322e5a8ea2f6cfd428f773c7ed56e268e77b9db742e0e5344ab6db88202a74aabc15122fa5c7a5e73dd430d25f8c01e260122772b18\n\n# tcId = 52\nmsg = 37303330383138373734\nresult = valid\nsig = 67d6c590e09452f1170c57016985ac4d7c065cb27100e84229a12904b7187373d74b1c525d4e5c8f13f4127f797568bb192157dc318f55f74589a14226ea09599488d3a81de3bc431c624f4c43855677f691a40541c8d6798fb75f498833c73ef40909d40f3719c46999ce8ef6e1dc2efad90fcb06084c3deaf0ec57f724a499af95a42bfbb0bb0524fd9859a50f7965c10cc23a0c42e698a495404ae9b5d136f8ee7be6d83eec858a6535672784f0e3865a43a932460c5060e5648804cf375d129af3b39ad2fd4be91c8d1fe3a0b1711c73531176abdbedf07a75d146132ada7929be08cbbf0addf32763fa1dc5691d563ae1bbd8e2bad3d993c6ff8bb12dcd6488a69a7fabd4af74c7a22b92a6f69aff108d99138c56c753692bdb4890cee153f8b2dff0f22d734eafb6266d1488cef3afae9ad722f9ce99b8814dbfdf913c4658cf1b5d06039f3e268decf05fab2154dfa16e6b25eb2e580b20058a1c5fc3d88db38b56214ed70978671702757b12f7e182ba44e02c0d02db990f65e8fc2dec207d86a22fd616a749e8bd3059ed2a9b9bb597d5dc59a64c182f1ad2daa9c9ab54c56084557b93b72fefeffb52f4e33d8a937840c990342e0cd9b6b72a204c1e06730a168907951cdd84d6bbc44d113153175eb402cc3d5e36d4740e7dba5a24cf94007c76f1c87be617e92beedb350135828799226c0877a2c7ca8b54b879\n\n# tcId = 53\nmsg = 35393234353233373434\nresult = valid\nsig = 4b8ad9a750889c2ae3cd3dfe7205c974ffc04f15ba9a05079a1fb24b093d2ae1605295f5f38c32c0b934e56f06f68dfaea3e52c22c2ab4ed8f225b211371d9e0eae0e1a2cd9c00ba72a5e0f4184da41e9dfed325ed7af87800e044c0ef4f913c510c3eb5fc8a0d0c36a98f60ddada081491fa1a4caab1cd6c64ff0e9c0c2a4a5714fd5d74659fdc960ea2ad80774ac02586b488ed4dd05901d49f5b6429eaace02f4aac5fb4eb7bf7899842a028ea80e9117e234a7e4ddbccf0a6de02d0f1fe6701920c4221c02645ed560289fb04e73a6d30ebb39dc74e1c087c8ee495ec602527543b3bbc5eef7b2991364ed3fc27b1a21215618c02a30582afa45fa4856439bf20daa0d16f99eb30437604f31192f23f2bf9c57e97e0c5283c02972b6a9571835321119662fc55a938b332355bea18b2ee12c4c0dc603cd28af343d34d3f0d4bc5010bc661711690a45fe830c0cf7814f8aa10a2cf8ae284fd080d73cba5af3eff2a4fd66fb0df825b8725ede4c5184a9806803a4d0c94cb1dc64ccf9ea71f0e98d5a941f60736af0731857cc793cc19654bf5634e4dcd8899a7f7147d6ac70da9c17146dea2725259a4f64eced2dc936c825426856b81c92383069908e8f4f54189af10a465355f0da514e2c334fc74f8ecb74e5b452012def3a9513f46a0a54ac749ba89609db9be60543b96440d32446780e969e49f7d05a9cb74115a8\n\n# tcId = 54\nmsg = 31343935353836363231\nresult = valid\nsig = 1932e0cf0ffd2ada47701e3f5b6d8f7012ec9a1ae8d75c53fa3c6ab7f7d7f1c2361de4cf1ee03394489338525df2f747b8defc569f8340d26c2dbc193bf107f0fb19c6e148255128f37bfb3a5955f30d7ea923e15f8bdabcd87aa299a6695fabdf6104a3457bd18b115303ce6d6c35c8dce4b2fed8b498de5010b01dd82fc321144b60196f45267c6c8ab8e9e3aeaf7911f7a73a3d5208a2642f8254ef00f1fed65f6c816f8a924399d6c6b71eced98fc6b22da2c3495d1ef3398bdefeac88553829990b2381fd1bd02b53eff4d68c2052e2802e71e2b5532c32f0bf8521a153276fd6b2d499a596743b82240942e6ed7a19037dbc1216fbc42170945a35346bf77ec5658c9f8fcf5ce6e75de299154d5c88142c922f4e04752ad2a6d8220d37ead668e3caa4ae9c2c0f3e44d430ee2c115a7c183e91b0ac45f884fa8d0d36c1b6a083b8f1145b0fe2aa00a522d0da064c92425e453af3c6746653202e0114ad8168a031df8138d24a655ef654a9907af69a5f9496111b1d97be6d4d544701c1853fc7f41579402840f15d974a61439f601c8ed5cd373c318283d6b4eac968d2ac1357a90bb272857fa501833b9ee2bc93924d3114979f2452714bc6b1bedbfbe6b1b4ed0a1465cff71bc8796bfc591000424a5fe97403ad7802a8c526696c519374c3159eca79f5e8e3b1edba8a8b101abd3573e80a3c494567724aac687d58\n\n# tcId = 55\nmsg = 34303035333134343036\nresult = valid\nsig = 7a7e2026a025f6a1989b14dbb30b04d03b12a96d847e56183cb73bfde34fa4a5ada232e5bd4e93696f17ccd1596b0bf1d3071dc5f0c186ea7d202f243ce959100892abb72e1c1bdf7da2e5882867782ffe4622ac0c8f867944352562f8445b10dbed73a09d7f992249a494c258abca4fe818c85fee10fafb090cee6db52e80e404e5b49992f321f7d842ede62881f14638317306079e87d3d713232d6b80b49a76a9c62654240c47cc8eb9d6690ff9dc19485a48587b392dcaa3b15e7f78cb6b034835f96e9cd115707db08020b23ef87b6dc31f4c54f0d17a9a714a975ddb8e8a03b627604fab80cbf52d7bc1a9d8678c3f58c73181dbcb55f0720ce8d281c3af9c67cf9117c44866e926a5819c23c482fb53c41dc44244ddb657f8e7760ed6795cd875813012ead3822f5ace25cc1e3d0fbc4b3972032c8f7ba0237e93f6e0029234059f7082ad695997c6184b4d5b22336cfa381cc2b0bcd1ef0019ab62d0f80a15c31fec09d8af1d139c2f249468a13bda15e49022b7b0ecd6dc9afaa15bbbd978e1bd71664f272296c2942f0488d5e72a615536bf8008b4471a94666d6a2fafc8eef8ad493fb0fad8c016921ccb2c3479f7efa44e8b2f109621d96ac4ed49d6c20f423cbf89a74bc3c528b45ba8ca341612940b21ab6ff1f12140200fa4d779ca76345e6239f99c6e9b627e3d03db05518940d23b59a9f41710afe33d91\n\n# tcId = 56\nmsg = 33303936343537353132\nresult = valid\nsig = 57f2f391111fbf44c2e685940e4fe576304a638b7783a3cd5e374def5c89cb81e24d68e37839ce8f39718aec3570791107715be3e004a907e477cc29ab3bf1a1c130b39f19623c747c62360be5c68e93f0fec81bab2ad1ee7313b5c9e2b6c3ff5668dcf873ab7beeb91e16a9239ad46d2441fe091db86553856a97f45607b749da6982feaf59f5b5f751a5191e0f45e0a7b4a309523bff24d53000aab65bee328f1e1979916a837362f82a32d3a4b72f1a106cbb807e92eaf316f74ef19778210234043a8a64b4fe7f7bfca912356af5bc765fb7f36900353a56fed653b31eb77c77c2bb448699ca84e0d20816e4186ec2d4f4c686d6d4f41a35c914f34415254b57dc3cc02ea9c1da2a6cde543e3b344d3b59ede5b18a44df0a1ae87caa003250034a6f00903dd691473c50d038ec749a360c9a35ffdd0db5c7cf0fac87a230227890d8f8750952f6d8e5b7719051110a3562cb96b1592ec85387fc7fee30fa57e9391a0fa71d1889d61ef5a27657522dcaf75695dbd5a3d0a80580fd0d77af4decc580483e91b17b2acbd0298d4ea40583375f13f561d4aa459e803275a2e365eed2f3464207e7751d27d3859f716a1d668fd0f618b0e850b52d7cc4c88d5ec59a7aabcccd5da96ae485726286f2c9e31877bee9dc5411b198b11854471b49f756040b19d884a57d79ea411e700faafa9d80b0796006c9d1d0ddc417c21165\n\n# tcId = 57\nmsg = 32373834303235363230\nresult = valid\nsig = 17df78ce7fe125d90ee5ccf0057fe37b4cb2caf4046ca8eb6ef3791231189a78f1c87305a9633b32f1313578df123d2a56683f66a945115add501d8ed91693f3a45abc947b24f87415f2dd137c3cd7835dfac4c301cf1d80b07dd0a48182e4d64b8257e6f19c668b737ba09b1cffc023155f2d683160aba73fd23848f687171d3f1841114470d176465c0c31dce07d5076e46cf6ba2a0adf8509319b6ae1454a359fd9116e746e21620dd7c71be826db8ce6b4e117883742a4d7758e71fcde995ff16f0d442d48756bebe0ceb43aad5b7e09024b30124757e93ee53302ffbc57e9083dc63e15d04f04f0d41f243a8b96897155e92a66116a028aa98b3b3c05aea992623ea2c764e7c3807c3c3a28453fed5038da31e8a38bec7110a27d0d1e352d20b88cd116ad930e1bc4731d9545ca21d8873cf8b86aa00af297b783ecd81c9eda28b2021fb0695937f191c39703465f9d4a90a8e8ae4025d63ccb941534a919a9181e145d365b1f9d1e46925bec75bf5e0ba45bf7bf68f744b90e7ab464db5d0ef971d46f3d4b44566853a92dae61a48aa73ea7bde8ee5839bb447d52953b0e5722a32b398233cf6957fc283af33d4c4728321f426133472657d5f656ddee4b7274e22359e16b486d5fa07f99b68893baf210d55117d45bf56054ef90a8b6645e8d1019e3aca49a5bfadef85afa6d003c687234309e3402a91d493352a5cb\n\n# tcId = 58\nmsg = 32363138373837343138\nresult = valid\nsig = 276e1744c1b7062e91589ba1d76b136b56efc48ceeeb84121877ab0c395ba6b09594c0620328057e9af0a460fdbc06c0", + "dca08d163ea9c50f3f22b71994d569a6c09e515deff62f88507ee230fd1511b176356f2500a1636bc3f8faa0a3eb0aba2e038f392d7df644b47b3bb9e23d3871ff96b41244d51f9abfb784a40d18b44a942528b4da7c1b9df5ce4c9ef5f3b014ffd7112922de8270f9e9821d3f494d33eb9b28b9e74a36355886355dc76c918b7e47ff6d24f008a53c87d9f7bcec623ebfdea1f699657e630eb8577a2c80b6725617f4b4c5561eb3cc7c362df8c0cced77e995e1b14f889855aabee25a2a63e9b74cd22093e2ccdf8466ee94321faf156ef1be5c8541fc7d432cf22bcc681e0c57035fba354124a42273a710a28d4ccecbae549fc60b4acf7ef056f7a2bffb464a883425c1fba88662a0d5ec5adc17844380767c483a869e1e4bef1153daf32745df4fbecc0a0684a03786b38c8830c47807632d1df72f5d7cb2c0b3cbda7d4a995c4fb2036cc6c2b896738b760bb61e5ad2366249dc26e71a3d4a377edc341318aaad6868ce47ad94b649f740dc264c4e885161e35e8a1d5e6952fffdfb6f6547eaf67abe4ea9c0f5ca8997339e3e7aa0b2de86e2d17be7c7ff6c372b985db29973656f686236d64d35b7f42b2edd4c81087ef999672a170176a6c34252a615a0f7d26c0696fbc8bfa177d5eed279a2\n\n# tcId = 59\nmsg = 31363432363235323632\nresult = valid\nsig = 3a0527f7b62b6f7a96db77a91b27f90050f51cfd03e5e09c44d02c2dfb03939e90bbc0cbc5c9d4a52ef86d2ba6cc7e043b081cb91242139aaf3ac457954ca4d17b41e5b2498533bca87e803dda644c54e16e92ab95b6100e2948b2088b171b3f25861ffd46876a01572dc1435cc8b54eef72b78df25df184a61b84161d80154c0794307a2e83db584e191b4025bea954f7b750b5850b9e225d5db15a55f1ad6b9c2fff59683c2d2968629f572b028c40a9d3cf9c73390cbc27fb3f76784e82622c2d3815e4bad8b54bb432be6a6b7e6d8d91d3d250fd4e2bc4848a9065805951188b139f77120722aef4494aaeaeaaa9e8ed2c983d2fedad9fe364d7972f01078057551087c11586d5ac0e2162739e4a421f00b31faee89f55476ed48e87158f94c7767fc0e540768846f44a6ed8f4a3a1bb4c236191742c13361a9c0da87e438a4e7d3f7094961893fc85c86fec8c676cbf92d74db90e69c035109c93069e1b83654653479770ec37ade5df570c3f7ec7519c0d83c8798e7c061287e57d6666b8c48ff7ae7328c6b653a1fc9bafda134234f6107f73de14c941a37ebf330316d7264bec901e2693fba76d3241e808c3a8fd476c4a5d2c9001382b03e2ea6fa295bf3491bf8bc3d26c5418baeb58ccbbd341c409a2b6240c61acf180c5469d147f271edb876802cfc3190073e828fcbc0299eca766907e9a0cde32342146ced3\n\n# tcId = 60\nmsg = 36383234313839343336\nresult = valid\nsig = 4a841f6dd18b6dad728f491a6c748f984909072c7c2c50373db2c548e5d118ccce772c5088b0077e759f3029cf116105ec4596e1788cff6ea18e8bff5ff9ce245c8ecbc62d143aee9cb7ed66e898d48de8013e9ff1fe137d0ba6a07d0d393034b1a765ae2f8559b0d5416e7bf3ab87757618c4e2694433f0c753c8588cb58ca3385b467bab150169bb1c81825582b6815150aba2cb6dd61050447c11a8e96fb588d1425f482dab9d75feb8379c8e0229a5f12186eacef5abdb90fc0995585be9257d1f0ea831c6ff21f357a9de755d32e85891ead90095063a922e2ff7979757d0b467d194337c96b282eedfd1f8cc52d3e02b01ca0acb6f99c26caf5f0e66eed8a4fa98b5321a32d15308f3bd0c15918f05af6d07e740a016838cb38c995f9ccc53ce4e88ef4293984ac78e51eefae9f9020847bbd0d9e6f340efcd137d0d6d3457d6dc9a018fca1c620e95a87d5577db77d9b56edede6aee4fce211927b3a6bc46b6e048036683f6fe40160e4f0942c02186a19e1eb316d33aa6304418d07f9be3a9050b2838f855eb4b3bb23b1ab0ff19edc287fa1557c393fa634970369994b06e3d943ef827c2897a025c17648182df355a5376678eacab1a1e2311a6e90977fa7d0ce97b01a4839901504d175c9068d728c8143440641c8e4bb8ada58e89bd895257002cbf2cc847547d43bf64442f4a9e1137f23643cfe69829be8d5b\n\n# tcId = 61\nmsg = 343834323435343235\nresult = valid\nsig = 1059836bf3084a871b0f11b03eea2ffc3a7fffc371797c9cefb571b407f94c8fdea066832efbc5a3c29ae0e1ef151eca1eb813e8b8e61fc3744ea837cdb786dce9c8ca5dd22daf8397d9654e828c12c7807fe656d572b39dad55d99aaa5569b1ab4958d2cbd260fbda641f403ff70f658bf25fbdd71cfd1e56c154e448449662aea41c7c6fec1813cd2861addc782cfc56e225ebd1106bd1c256af43ae1fd7b28f769c947e14d7a0509c393a2d8e93f2ae5bd1238a0d1d9dc9f4d2bc56ab5f5653b5ed8ee09a4b402d49dac80197371e6adc3cd8b67d1ec9b0779445ddc136a610d9f46b7d84f942028d8ac7726fafc08d6b5947cb5ac9f533310dacd40bdf0a64216db25f6c886ab794ba53d2bcb1f8ff9beefe90e73fcd29341d007d41547737b4d4feecd766d6440c9199b8b6f69b2e266c7609d17061b9565c2059f9d3a9348819c34815762910b6921fc1cd6b7d2ac8041169ad0b0ddb1e4397a2c6b381e3706dcce578a543c56a098a13a36f9578817d77b20536a715239df2c52abf248436344e71299b2df2ebf32a4fe0566d6232325d1b6571061b88f522ae64a36eb618b963283edfc00624ed9d7b466537fbd1533d932f1a3e58f4adb80887276e7a7660bb5bf7bbf2235124924002914419dd3e28faafe8621abfdfbbcfdbc1313ef72a3500a8942b7abeccbe843a576b947f122c9cfcaf75711b7367770aea99\n\n# tcId = 62\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 5629382f987048f03b158dfc15ba27891417674868a94a11b82b82fc412338086390517bc55e280e0c5b6a152c5e44eb25f9c014bf66514aea4f71f467e612b9242186276694fec3b754f30486eec2b67a81b3dd61c70e87fce5b12a75d5acb30ff35e4d94601deeabf2d5cd26d30dd9ffd4106a7247c9149fd440d2af4422b190dff1e891f842c3f5f688f10d07bc127f94c26ae506c38576a9ef93de3a9d47db28c0dc46d0e4d52093039dfbeaa7079d87623788d00c119749c9500bdfc7d980f7bb233c040990dde0800e19d428a3c239e2ebdaafd6f174212ad17a036d2ff31349e8964d5594802b924a33dab69d3d9ccb97edbbe4063bc1dfee3e9986716e2495743bbd4bcf814a45df69b18c46a40659aa6cc61522ca5e395f292e41836dbc66d15a803347b1cc098a7900ff319068acb326bd5bbdb865ca4f391c6554dc9b51ce52510531db7a70d0624869a2d2323eaa54e3b4c49becae203849108c00d6742a144b9ddd7a45132a2dc2b42ef495775c3cc9fe9312345b3f1fad6c13e0e7ba92fe8fd67924cd433739ad524561b7538863aeb16e139779036d32036487ab22e029649b89ebfb264ffde09c38a35258beb29ce46d8bd873614a1ee8e2b7d133da2a18ba14e2a72a9f83bef8332e6243f32dc25582d19fca6d88c1afa4f23837479832fc9834496bda34fefed066280e3fb73cddef8c72c5757e3417f5\n\n# tcId = 63\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 93cac00d29dcd13c59c08c017fb4d1a1fdbfdc110dd2e87386ce2357cb8623fd167c679707e89185005b185dba5458363d38435c9c49c4a1482a757c67e79c88bd715b601f10b0499423c77803180521f99fe2444d977f27e86f557612e9daced3ebe6e142ecf3ad74c32c395c3fb925493b8440aa6b3183b6283c56fa1625cfffe1b96b1f1f2a906c95e02195dde9cab260db36c31b9f5ac137c575272016d6fa33be2f0434b9462801748695a9256e4069a64104684ba9e098310ba4dc3cc2441fd8f250ca080c7d91ec08eccff15bbf7b4583fbd35d8535befce82a656a6c70a0583d30423712d557f8a1e9560977858a1e4acf0c196c2d92fcd4e9d51e9b811c38477b90928e8af3bb19bf5359003f7acbc1de019ed7b38400acd10eb766cdb3118cc374de28ec2408cf43618b970657cb3307f6081461d90bf9555ffc1df6bdc26a98d54f5bc212ae51db675e2775e997bea806139a7f4d32c75eefca768cd1eb707ac75942b4bc8faaa640555abde6907d34666b4e756bb1d7755f6af157579b82801ca06f56d2153f12000dda261661a2e1b7a1704906d629e116fd3cf1a779a7900144a75b400cd56b43f9676f54b92fd472673af88d249bc34b7b696f55eb08bfc653c428738ec08631480d0caa2eefaa865f85f14f6e61ac0078473e558fd826182bd0a3ce77dd54de5a9d78e3e4d3d46c136b2664bdb2e70d3a21\n\n# tcId = 64\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 1590f61a82e0a6f331352230a995032ada91580ee31af5c1683b3efff9ee2c48ad5c36a0a2c65bbf5c7d579685faace7dcbe706fe82003124b94a05a27558ea8983eab69fb226f8605450bf13dc0c8dae90f8abaabcaac27fa8ccc2e06cd37cb1543c138ab80b45d715b6c504cf1a7b82554110de9bb52c7054af4eff289d00c9d56b4a6c933bd6f3c4290ffe4255aad546e5e4e71e5d5b6d882bcac33831ea6069fc2e350fe3776952a5832116c971356af3f1618aec1c466fe50ef64ee9e936acbcbb61552be9d6e1362022186249f4e6ebd8c3169e11b599f6645b11b30150155b0bb03f3b2a4dc585f504b0fa3149210435d2fb9fdac4638661725211908ae1c0540688b71b70100fd12584b19ed054d25aaa1df407f27b9d338ee5b9fa7274a29d580d0acb81c1ea182b957c22139bda8a1c7fca529a6df2089b0c3d0f03d3d1799bc186b07aa22b7bc06f69a80e423e86a239afc819232851c1a18337882835144c8b3f01e632ebc22db346304d794ee1a76dadb5a6f5193bba3b982c5bbbb7585dd7e181633dd92fe01a0994ec08d1054eefb474f45561449be7dbdae57fb1490e533014c0438f57cdcc582034a94c07cc6490794ab2164013b5f2ad5920326e83d9b3c216d3d3d2aab60b177c65b8af1db955456c992e0009eb9270a4cefc04209ac032314142e1c55b518a7b439cfab324fc9962a2c916c14cee7dc\n\n# tcId = 65\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 70c6a2593c3ce4bb4cbfbc51b41570fb966d50bb48f8e9e6cd294e99bf3f60271c71965277d8f85e280a012c5cea3f3abf9370d983728bff790d93d00813012d286fe4bd7c36274ddc47b8ad6277712f43469811b7dfd77f65839952b5edecbdaaf590be732e45253e09cd98236b16d2157ec762e7c294dccfc4db19566b1f365e91f1169329a1c04e42a3f60c0b2705fbf01dcc933e991702f3c0ff52280014f6b8aab35468619cbdb554a0c6840f4cbfee9a9381c7157efe29f9ff6c7cf32118326e6754012c1d612a8e3fc65295c48d5366a2d649eaf3544fc6b8f43f637540832c5c56e0e7a56dbcd76e32ae7efb41fdc172b01bfb389e5c5df488813a1034dc5cdab30890599cde5b0da830ec2504ebc708e1a96a8571aaec42045d701b080c193472", + "a80886f3a68b2ab330fcac623ea99c3eefb01af168626857d6c458c0293d5d6c76e87cb7a91c3bf62901a0055634ac21688425d1601635ce0f372963e9065195e523d6657c1a10eda3a90e21817150751c7ea1682199e329e8d60b6129109378f45dca594b97d29364d1e5c9c335c7018b1eef7a65fa2741d5e6bf161376a47b0e670ac4f2edd43ad1b05e0d847c74aeda0affe496a2f554d8061242aa705c713ad2166bf81f71c03703e1d43af05455c53a5adae6714302b249b2a8fffe2f04ca1f5e39bb22afa94cf9429fe99f5359231bd93c5ed008beadcfe4\n\n# tcId = 66\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 3ed784b228ca4c6d8600fe7f18db69099881d3ac4ce0577d4e46e10adb3004f213796e9af8cd78ef116f373cd1a070569b49a4ab55f82259410269db674ea4993e7ec3ef834ce32318856142921ef33ba4bb6319ff6118dce780cac66d7a8315c12a92437f446c851c657dcc5b978d454250d3fe9513f787a9e5fe9765be6a92d2a970fab69933e56b692e2c579259105dfe3f0c54da11c21ae0f965c7f8bd15b3695171a2b838cea7085309118dba06cbf83856fcb927569760e341bc5c9dc7da5906b03f74c426b782c418f1ee50f614982f5188bf86894e30770a0b8fc7b02fca221abfbe64356e9bbcc0eb47c5700ed86474006d308ac4c1709b88774b101dfbe0d203c91edd140532878a186e6f972bd70fc7d0527b3a4337c9a715ef7f9256a1e5a06df5aa4fa6be6416143cebeb2d2bd039727325d8aab9b4fef2a31465bf8fac21d27df08db6ae22281a0615d252ce3eb8e539687ef125da304b6bbfe2518b57c95c1d81bf5574880874a49d46cd9a7fd535d9e7d04951b4c2e03ae15fc562016fd6f7b08ea5b427a78a2d8770ad98df16b94ac918edd0c4753055ba14f7d1b253bdc37f5df236d70b0e83b4bdaec9bd29c558dd708fed46daa5d4e3312c08523a0066369fefc7a2ac70ceab29a3b56928317127a558aaaded7bd6855660ea87d4defcc175255894bc9d94d5b420a24d06c4817bfc4ae92ae5ba4ce2\n\n# tcId = 67\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 924769b488c2f25bc1d2d2ac9b2934bf4a00122bc9e635e8b2dc3f5550579fd7fd9e072bd8dfeb7e8917045c7b2537b96f8fff9961115a8f8e866b35cc1444633877208bfd1410e1ac91fe62484adf7e8c0eb5885859c0757590e34f095f388320ce455e4df56cfedc7b15fb5c9d95e696207cbddfab63a71eeb9ebd4aba5c214267a6af1524716821a5a2693702e103c3f9b487235a3fd3ed9debcfa51b5c796fe2916746146c07147370ed15424fff4b07ec133a92037783626a0a48d2a3a440a611712ecc7f28d4ab146d898382a2b25df98e27e15e168ffd725c57077e86e2e88cc015217fe2ede8978e4d85acfb66cbd2fbd36936b0292fe63650ea2280f86a9d3ca427a77f4f9db69f117a0e41ff86e98caf36072322201c928c125c2f4a19358c62ef47df4a796d67d2feb9879e3a195895042a5a8028bf9e013f8b142363a1a192a2e3bc96847a515322de750fe346ef150a14e1adc7cbb6d480bc42dd06a8495c4e6ed4ea6441ad719f2edd6696da0530f54868715bb25e17d492b174b77a992e2fd997bee727a63e8cbaec87de36bb700eb4208e174e2ed437930990fc7f5e58e59706402565e52e9f207b4546514dcfd84d74348ee93e90e9bb0f4f288fca98d526ae8876779112236a5446cbaa615d8f6e45dc5c351ff45fcaa7f9e6891f09a620b2b12489d6ee3043c86c35b0992a086a271d78a37fa5ed6322\n\n# tcId = 68\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 1db0c28280679c7279d9f4ca1b3ad582da63a80e18ab2baaec5194aa6c2435cc5f7c3ad16e9b3e8eae8a9e33a7dceef69588aa5b0b16c184ff54b60c41c687b77d849eb36295a7aa3590e30f21f2768eeab26f13135ad5353c889540906da7021ad10751876587888c25247584dd4c7e35de68d6900676872d7aa84dca74cd41390c01eadc982359766fa6cff61bd424baa7cd46fdc40a17a97df468bc200849ed315f4f53d6f24a0af0a1b51112eeeee438f48ebab9c396f4b6a0dfe6e23beac92cda74d5a762bf7591da988341a796ad7e6cd72ffb6df68b081db763a48eacfbfca7132f27979af705089cafcb774e592f92ee06fef8c9f6635480a0f84c89c2ca4a131937a93307ea76326f2c1627989c0dd0eee1b34371d78ab794543124ccc2269f67152f409532e9c1d1231d79e5d6bcfe9a153223038a1fc2df9e5c50739edfcb6e7157e0d885105b11be6e5a55a950cf48e827961c00b556c3f52554ddc9ee9b1a0e3534b724de96b1009af28a3b2d2e4359e674b76ff7bf79d9d6e52db23471c9a3d430b05e85edb469dfe566441e5bd565621006e1d1605b8fc45b2570cb06779b28283834708485438b41b478216ecb9db8ec64158159bfdf84361bb1a2839a6733db28d46f99e2bcb704b55f25cab22c7436474c68fd259e86800ed657b4a2624a1a5de45dcac39c5c2d04f08792b9a5013bff0b6da1c1c288b5\n\n# tcId = 69\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 64a883f439b07c8b21b4150c73cdf50f72f6ca2ef90da34bbffe5c92d37821f7e6a7a1d36904ab5d9133cb82527a72759bfa44c8923c18551129e6a6e3851fb2d4641c62e43f7c7e4c740d414dfcabeb37d40a5ce73a77810a38bdaeb134e5049b29c1486ec401f5e01aab83568cccdf7fe4825d3f56a05875177ebbfb792e5cb2aae418fde5b1e0f63a3e83d45ccc1f8549ef6de0fdcda92de90236560a514dfc520920de4f57325750e52acbd3b0bcd02ecce288e2bcd5058d40c647d9fc9e55276948f19d7d67608e444b632ea1661df452cdf3ab9fe6270db4dea4013d38c857d26685fe31ebcc3a339aecf247bd2b1d7805ceaa22a021523da3522b58cd4f1933c117bc289f20e0aea55bf92e19e824681b2a9b93c9680da90204bb69887cdd774c213368608bbd9d3fd2f567ecad17b49f15a4d55564008f1c27d4526568e34fa231ec5c5ea0023be8730b0e6eda39b4bb96069dff483c8cf303647ff17420a3d022a304be72ec108924a4c84579b38c810988551a76043cd9aa54f763077e4d2a4473b3da44ba857786c6217fd200ad7c0bd5609ad6d6c85ef5fc04a0af27e2489f367ea7f612ab825a73a1fb7b4cd9a7d45bf4cd0a72c9bc54ac81193645b14e39cd46181a79371bfcfcb9359a6656105f79c11ea7053acd4497db651f98f593d8487a2e8f2d3419945410e580c35d40771022340c4c4d6f227f91a1\n\n# tcId = 70\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 8a5225fe5edbf9240c281f69cc26c89641e258b5f21f56a5f11c681c87f6f451fc07490fe6b1ed4febed4aa7c010bdc312e453a599be2b37fc2f1a079ce1868e2ee59b3e73c527819238393b8acae914ed42c9d2d7641e697ca8946d2b53879d33805fd91f56e608247f1c6744d8b8a12e02bcf7f15e2ba176995f15a6458a926b77e56c2f3557e716cb7a730812a1f6798159118d9d95b593dc45eb59ffc9cd4e636b9b8ac8d9718e0e89269291fd42cc2ba7b379cdbe8e443f283b7517ee5a915ba61cdfaecc9203450d70db365588043cf777fe92e0aaad484cac58ab1ea442a2ae62f5dafb2718112eab650d36743a9735621a18b7aa5dbd9d2d5122afdc3b8ff49d91ee79af3743a0010bb8e88b6fc766b98425e2660af1b38cef8b7ce5b9f3432a7358fbb07f20c9295a5eeed04a586bf04f5f9e8b3425a7d0307b496848da8738cbc267052d7a679c95e799205b4f7c00d9cc668c40cbd6368294402e26bbadb9690a99945d8fab81c5d178d72ce38b0b47b24043b27404690af103b7240595134faef4788a6106234f40e2cdf06089fb602198562b18ecd03ccc58d3e98173a9093eea3b315cd9349a010af282f3c485f92c0fabfb774d6127204a254809585c4890622d98659752276db7a890dd0cd4a6632004651bb194b056ca446c85cee7328e80da15c16c960f514dbe8fb9cc114330a160adee4cd449cc1524\n\n# tcId = 71\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2f50dbd395abc6fd0231b9bb6103018534b39c4d60d139615cf1c9271185c5d3988e99735c9fbbb649e3cfb629d73fa9e1249180606f8e8621f3f5033e5cf7f67f4abea48b53eeb5be67031cb6afce1b26538ca318650b87317f6129f9792f3cec4e98a56f2d7504999ac1fe46729fb390448e5353b999a52044d2baa92f2ff664ab5a4ed82911c5c9942a3741fced99b9437b102db72fa5d1fa87929887a2e61ab06dbb6b8a39659f41f3ae07061792ccf88802a6b17aec1da1c35bd85da150dbf11b3401109e43261a0ff2b22cce779b19b5f2925b55cf143743600ac4c7dcfae7a17970da3d52d74ebab46744e214d22da8d1aa8021c8b47d6e2c585535025c19335668e2d851d6881a594d03852b45aca4fb10f9e85f053a0ca532c40cc0537518baf7fa388c2c0743cfd6355dde1382cf2c9ce1f418be20aa0f3be147d0c9c8756e2c23797fe9f3365aef876e793f3636608b6221460cb76863590b3f5f56f6a5cc0b0ec4d56b40776d629eb32c7e1838aeff1d3c3761edeb91bf62682f7502dc685e29ff1f678e287efbfd364ff98088f42ef58ef2a50415531c1021a13c96c080f62842167239cda8209ee3641da51f3711f0b665cc88a278dbe2619200e50037577c9adf0d78be3879cc1a362f673ccc3e03bf9a39f4bdc10d7f044101a02a83ef7b63784f002565c06eecc819483433bdfeb20b5f91185be6adf22b\n\n# tcId = 72\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 0898add7b127d3f46c4eefd56fd293c166e7b601caa0584059c62211f3c063b9a479f7f9361a1ba96a6a640f9c3c12b18820e6da9c9bd01a6062ca722d0abdd5a9031ec328ca8729e84079ea4133b4b4cea8ccca9e1f9b6a53fa8486ca20390a92dd5945790c371eca5c0958247344334891b12b53baa4b7df2e15307cc58420958a4a8cc8bfb06180174ea8228ad46f98725981a2a338d54745ece14b65f38bdc5c6bd87c3b2d81648b47a89afadaafd51bd9250debb9351f654a47708332411234df725ecdd0ba3ab778560689932559f9fe94d937fbe12126025f3d1464f7e5081c9f8b7f7a422cfc3584ca98b5f0277e97ce9229aeb208892f5c564157267fe59d5cecdde948647dfe7dae62ce6f39419dfa80d4d9336f874395a7f4f2099bf54227ed933ce9705efd1704f9a9469c781fbdfe8df12b13a15f802d309abb0c6560635a22e49856ede3c2a5271a656a76a059fead975ea077c4e632b9f13b8b3950f2b00c3834d63750098e792b824e54d53d6dc102a4c7de5b449d083436b7714f99928969c3499104efe30110366abbf71c6f8e4f069be0d246c2ef417e84fbe075d48aa65d82590c3ce862c518de635f8c6ac009288aba112de47c117fc47be80fd79f39e9831239c34cfa9bb54a07ca67ef318fe6efd6bb6f0049fe255846a474cbe28bf73099e948c91b0de01a9f60b80f21ac8f5601ec36f12e06da\n\n# tcId = 73\n# all bytes ", + "in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2daac886b4fdbf32ed9f9e66f1abd5af7266025d168620b051dccea674662e1a347ffc519345ec8d40d0dbb4a5d60317632b5d504a2dd56e89aad4438d2b824ead94b87bfa918ece96c3639fb1edb6139bec5c4d3366588992f26ddb39f6d504eb24b90580e475da022c125b6ca3f34251211c40c3e2ce95f9dfe051f728eab654d95a7ea5aa37c84ce0c2c3abe551e469e1ea3fb94b33b5c3cae230aca4a13d09fa6925e7603e2db91a17ea0a8ec77372c4425542bee8b8a5de029715f62a1992c78ee2b06dce17dd57796d48e3789e7f511bf85c15366d504c8266bae2357630e5c70985622dd85bdb6d04131ecb639c34295c49b47c325018247a154afd1674189ae2708ad2ba5c13135cb27d0e5694e058c9d36977fbe36f39aa8ef0f99a7b59a9af3bf3ef737c36d6e8f137faa38bddc62fdb1f1c6ca292cf606a41cb32253804f14a12e66a9851697268b8e619556cd00f6abd55b61d7b4d4a9ec8a7fc3ade79f96e47a2b376c881b96f0279d0cecb634c4031910edaebe92201d144d65f450357313fad99bf10183cca7cc6fdf52382a280d71c0b54a846ad7fcb2e62f569371ca403e60d8611a77ff4392c1da2a0792bfc835b161f407e5c279cc705483fa94db072b9023407f1bb1de67cfd57b08f6c5094eb2754ae1581a8471766c1585c1afef365e492c380b7e64722b6beab3c1e367b9d615a33fa1c13733731\n\n# tcId = 74\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 707ba25d4bd3b92daeb91154e68d056f31857c57610f808429bc5f0c0e4b52e079ce2628f78c9b0ed061764cfb9c937164b70ab7274093598a7425d5e67a48c945ab8be4e7138d88eb5f0486c35986c805212366c2a9e775533e7ce71b1c35b4bde53e779ccf31d31fcf278744bc7507969532a8fb32c1073ee31e7277d9a6111450fc65c60afa0632f84fd2e8fad4d201c1dbf7b9ad97de8a8977415a70f3946a17dfd2e4895199775d6ff45d4785ec78bb5c54e26df4dff47b81d88fe70c2d2ee5e8bf83f507b6a4b8d747288e9073fdcdccc972534c1b51638b0f653a4f6a2e22b1393744e978a41856e6753f5460dacc485160d480d4d5bc5eec5ec3eee1e2575e2cfd10856701425c4de05966b0a6e86c9545455f6f62e9313022a60b4d34496db4f94fabf9e3a40be0cd77a15248fc2173a5ea65fe0b992528e0cd8a7ab2e911386c5b64d84c0cd0428fc2940d78e8f75c9e3ffee83b4328561760da96f7b015c2700ac6ffabcdd67a0d5e07db92cb8ecbe4842ad8aa0ebc3a1256ed03e0c3e8f67f51dc70cee8447adb7112ad7791dafe3d1319dba8c3e63a9837c15e3af11b0cf5942a8ef2750bd218ef7c266a756627b23b0861df5fc9cb240d49290aa9eedca74ea69cc8640ff746731fa916eaae176b492f5031105e38490aac5eb46df185f9d6e5f8603991158cc4c43744b03dc897fbbeeec00eeab8c7310051\n\n# tcId = 75\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 5acb1b66dbdc180df233c83a3b6291477a9d8b4fb7f0253d928545739b1c517defba99a546e291c23d1e925caf1aa51b462c689d070ae413fe1d88cb7978b01a28ce7ebf2f5f97df648a7d819dd028a53b1d604ac9edc62f62655a56642d087344e52083073ac02fe9b8ef7e61f7476d59c78a66d4ee07932652997bd756b24ce441f539e4c7bb3786f1e4676d7e4bb3ba8a83701cacb2663fee71448ff2124a8cc19e15924404bd0e5f56a7dcc5fdab8146d947010a44711c80409fe6b12297acac7b79943c8de00d15fc1f1ecdf9b0528b3004fbfde8fcb7f082378d97354107e47c48a1e3c0499ad6371480e88fd164deeaa3a014b18760074cc96013b86ec31bd967ddd41900cb9c2f3bf5704754a357124dc536af4305d58c8c88ae214ef3ddb53ef10a2c6211d55a3cbb277efd6be1b36d6a8ab997679399aa7f21444638902fd34d152f8ec2eda7467018c0546cb54233a62fa4b9184813b9d46a034b3d7a7f8f01bccb8a5b364badb94d688302598fa393ee8cf6e2179345b1e5d866e2bb5954bfd9d192ac73374ec4cbc6c1478cd042e4ef270fbfcaad8987b0e4e1c696bec8b1ebaed124a0b58c79fd9fae00e19feaa82d52dce97baecf82b5338a67fb536417ee2d0b8584a998486c770f26b8a58c8856439065b3a4b81627000a01e64daef83b146cdc7357833d447a4ff161d63200457c6721d6dbafc687887a\n\n# tcId = 76\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 8172c8d2dc7f58d3905698c0e814054a8d780d154d14b9d05d96fe0416e6ad01ef540a95920cbb3b3460e4b3bdefa26134a62e09432d0047e67c680cb7edfbdd65eae2f2a15a84d97886b0e3c46ab9fbbce611145b83aa313fd03ff001ec07b4a6f814f848cedcbf69669e03641210fd5636b889079343de0989031e37ee25057aa0bb2a793feff540f1d6532420a64ef3f620a0070d2c98e7182cf7265e8fe8909b8e2b4cdb2dd20fc0c1db0535d489d37f48d31b3727eec9e171b6467d63124d1663c99c019af340777e6f4b43bff7b50f3ff456bbe6a9938ce5e59f8497be33cf7e9306daa643b5bdb933318fc950f69d309989a262442584a877f114e31de926de13e1e18653deea56a0b5d4d825456e3bbb30debd83aca1c535aa8ac8553da85571ce4ab6e04d2eb292f8e5fea7649529e29c71420ba191c97c24fd9a8662331c7949a4669d2426e76a259b9ad5033109be2dbac49a5d13177162f06d5b6ffe55a98c27c859a43f918ae9b586b18c439f3c418cefcbac8f38af9f8be8fbec886899f754a50f319ea8d09ea8a3d12a658e05e62a43555e241314e246d9421022fd8c8fbfe76d3e26ef17fe84c79664f567edf8fcf6aa43769282d33a85e89832a4e81300c7f156d0030832c3f0cd5ba91c7b6f2e13d2a91a9732b69d32a58ef2773a9a74beb5fd53ad7b479443a6527022a367710428a1635592d90e11a2\n\n# tcId = 77\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7bf03228ed95a2af0101321c3db174eb1f597c999c22224812ded57643cc1fb9d9de3ce9085dc60d9f1d40696f0e4c1c721cb247ab1fd2d1804180e5f51b3f8de75c489971e7e7098765e4f991ca5212426e771037a301af1c7ecd95a5ccd8367e2f6e84b63799119c7d0d5dde55e6567fca990c11bffdb9517cbf6726dc36d19a97641dc3ee44e568ef4297c7f96f3fcf480a87312448105a6671778abf9ef6d8c9ab289368560e2373f54c3e313b2d1db35501389131d1947fd7dc49570bccba2167ae4610a0229629da730d8d8d8218c5a586c5095b61fb600563ef660cf48dbae491e91bc07ea96d1575fb26e9802888fedb07a68268d9d76fea5f3429c96fe17f2f0678703871835788ccb733d40009c8be0b3242ca11f7153a4d906f230d56374201902167872d6322470d53e660d5cb4b65a2ac69b6bf6095722540312980aa2adc3d8d3336a8f4205e2e016587772117de6a357c20dce834cd8aa7d31c4444a235683b782e473ab60404e6ef8400ace3b8d48b6a7801c99ff1f405e888257993848f71e81287292790e1b011cd410e3e3acf31f280ab36ddafb0a3e1772690d053f077ed980c596d81d2628e47abbc3019d5277c70db5f4838581db0e572a2bb0187d08b488f2dac22a0358cf77e0e36b17b17664a925eac940d15cd9424e92f489a4d28405ed76507625504fdf489702f089de36a4300373a833022\n\n# tcId = 78\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 83a5b64effb15f9f46303e81ca509581874881b71b8e1ca08205b22f383e722e89666c2043a5c77362ce6509816d8cc7df36040eced3b7b1a8df22a2efed801dc4dedcfddae40f20c79bc0f8d64c336099f1773a7b32fc484ef01ab770dca03e071815651998bdb4b8ea11255480e63be22de376359c37b3019d6e264e1f7121de2e7f67d2cf98af80c1c4042b8c05bc79877de903740ee6d1889f2814ba9bfbadd6a5ebbe09de94e16fdcde8ca8af9933080124fa2ffc1e4338d1d878fd4c55dbbdb273e617dcdaaa76aaa19542274ca74fdceb0cfcda21547674b2c0ee936e955e8dc4aa366fc9f3f6c202a0a3982220ea8384ef52f8081823679e60095fdb84d6d75a63a563f726f5ec833633ecf35d27a9e3b7ee4a94133b1c5a15a6dda4a3f1957c399045ca096b4be079523d9f558031529e9173e7cf612262e5c9599bbbc2d94ef12301e23f9b2cd173364cafd6a3e3afb7582f282eeb4b2a1c17698bde6b6a82e88624e3d1737071b8c1fc6b5d77ced9b78f0c9aaffd78fea3bd8822288e0bb761092244df57ca49e32ee8213ee0acda5bf8fb91bcc3409ebef6c310f17d9784689e7c79ff33c9bc317921b416c08030c4bd02629061dffff19844d867f9a06ed0a8c1631bf2a55ec418a6003a6b5fde0d0ff223c8e689e93146771a2cb74ca271116af99c68605d9690ceaf833ef898a234dc0b70c684ee1c638152\n\n# tcId = 79\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 73342b3c90d9fb6a7671295d7c258b80bf907ac32b1cca59db942b80671478c42aa2214a03e4d7d7b645ee333d642dd19acc5b4eba7b50c10688b8044b6c9b765a8124414610b97b84e0fde8876360a53396587eb973ae69e2ab1899ce030aa29d2e83d9206d4a26b384dc32ff02508169b65ebb6fa5f52eb4c24ce41b5e467178b94198fa399b82e2c75055c1417d001ee9d643f9f6cd1da5a566578f1a2af94f7e3901dff3f1f4af10acbe6aec703457b7ed27ff17a77955fbbd527cc7897fa2375cee83d89ec509130c644f8179df5e0537d8ea63b8b29b734227f74062b43334065d4092a30f609acf594d917994ae9e9b256325f47867beea84e036c4f8b117b366b016fbdf66352c5dc6f95750ceb121ea45d4802aacba9b7c7d79bf2604a866d7af58a2f13671eddb7539c2fba46e094e92c129006552ac376d216bd0c91ce45c365b811303dffd2082a1213487090ff3952adc4551a2787ab0d52180d0d016990f243720cbe55f2c0d68465e9be883bfe90ba55d28beae531a2b6924c47fa7ff4222b4f20a2403657f3df30e423875871398ac26fad9776cf8cbbc3cebd735185c1519cf9956c457b2b7a3b8199979f2a0cd0922b391fe3ba9892980bc3ac260d789c36de616fffd525097b358875bb02f27ba2e23c8fedf0aa5635d6179eaaafca58c68ef2438be5ff9a8b5fd91972389d2aac7a72ccb6fffbbe39f\n\n# tcId = 80\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 545e9cec19e99d88ffef7d4c655d2f9b43f3c1516d04c034c4ec8f1169bd29b4faac01073bf2c46a6225ccb2347be24d1d185a8036b1f6cfdd32529c7f1ebbab7e183dbc69b761f8ccbe4ace536807c656dba7fc2ad315e7ede291c870e9029d005f7576c34319c1f1cc5a229abf2a1dec3fee015d60c3a577b1f1408e03db21029cca296c0bfc2955caed97cc18c8faef4ecc03f4acbc8fb6790e7a8d0b919a268b242f58eeab9933e0bdbd6e18", + "6faf94a16445fb346a341a19c2242e2aa922480e3ab05b96577fe69cb6070c62605e9be171625f0fba269e72910914aabfe0e953d14415c65cb008528bd73bdffd1b7ed09ef613b905b981cc7e72ae48429ce545c5699440037b66cbf640ee711c67f3fa7b7f3061d7323cbf7ca8fd5391ec929c8f33d51cba12db45cabc2597db12d73f5394ab6a7f3bae6b828a07b4240f887b246926cd315cdbbe3af8e27722f02ec8a4468c5980819b5dc9ef9b3240ba4ad0a2f1421b4efc5b9960b89baa5427ef5855d0e4aad5ae99b864b4b7cf85be717de8a8fd602af962eedd1dbe123a3c6b638468448764c034b64c94da5b494551be3e3b7bbfe521bd28f422ae66c89099578c7e16abe414fe8aacc104b89c713aa55db5a27758c0f3b4a8513f89e0a0c2b777a21410a12249dd344fad4fef8db7acbf2f5ef7accde3cc6800cec47d376debbceda46c80605c0eaa41d70688d3\n\n# tcId = 81\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 5be11f7bd46a4472aa7d066d77c1ce4a88940eff4236717046bd55bd47cc48bca44fc48ff5c45faaefdb1e3dce253ea1bc87d3c44c83310d0191a282338bd6386df4020ddcf109f62944c7519cf4e8afcbf34d92540e25d503483a0999c92c76b3bb0748d02b31e40e6cd33e3956b5525cd672b265fdbde079e1a74a3506ce365331fa83047d2045404e2c0ce4b55bb11aefcb3f25a5d9b718e24225576e2485a68482e4bda5a623254cb9601fd8112f8fe78360b20945483e1e4ed707d20d4d994f60d04817bcc0f0bfd43e79cf68495132489d7ff5545ae24b4455d833630b191b658e0623916e68fefd9fc7b75ddd48ab79037ebc1c7a4eef9a701a48cebb5b3e98715ed3d6b17b197baa012de22fea181816db8741430cf030156948ed9c7a37cb98a60d459a0bf7364871bcd1642398f12c5beec00889a209d413d33ea7d3fcd3d9955a8b96cc803415382d1674d6d4266f5a78ca8e4315ed8c53065246426a6112a83298ab53b625271b5e44d3d55f378f6b64be82eba13d06d52a2792732e13f5d27376ecd64f56d45c8839ed7af7ed7b5260861b29746bcc415edc93e19295122171e71b1cbabbc6dea47c70d16c4f7da5ce61c6df8caf4d4c6d1e81f6ba0231f5a5974efb6d670748d1f881cd34ad64e2b7e352e124c7744a3aa9b25836f069ee59dbbc0558f69145b7d4415e03a8e9c651a13f98092b7ef3a23605\n\n# tcId = 82\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 0e7e3862a2fb354a36843c872c8175c7feba440f5af01cb2080edca8d8df6d66caae40771fe11d3ea7af1c5c3a0a0044818ac2bc1bb764a547f3c3ddde8503330f324adcf962755b8708275056f1a38828376c72c8cfcb115834203654838754747bb1e3d8fb9b542094267f26a37a4e9eac48d277d7cf03b06d8e5636fc75167573fc858fd095409c9bf8f1039d145e4a7dc03f0bd6560c515f06b2a15f14eaad2a39d6e1bc588b082d2da518735ca6843a0e974becaf8e21234d91ccd18aa9ab068bcf5eedda08c4d371ce23ea02ff86541527522e222d260ba481c3660bd5ee6e19cb9b86747463e0ed2a628393e0a321adb6d5ffae8612a5c53fec44ae4a432b01062370ebde52c0738342025ae7333bb710982702f6b4b5b9b22ddab02691000dd83816f3a5adca44fe6175cb24eaeea38d577450624300da57cbfe90366664391662a97906badf4a0bb67a7bca1bc8f4bdd133f969a89c21a9387a1243227f5d67e2486d4f0d1bba97c440c6d1cbdbfe73a23de51f857986e5fba7db761faecc98b9364687d56403c983689e59e5f1547fb4bc18045ceefdba22965edf816a8b7bd7a96b1290080875ce0f3964002b0f1c3453249e96e1239035bb8778a772c9289d9a645b81232831b507e23d34a0d1e2f35595de73d70e74f4c9f4e4213a1d19e9e73c4f22d211eaade00366e46b35ec004df6747a1e9eb6fe04e13e\n\n# tcId = 83\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 875ae0615590e5f07fe62b22bd19fa2b91a6fca64d786e1df778015e4642726eb6cd16a57e9a3baa814bde45f74ef5966fc8cec5e519ae52522e0d5467b5c3b1fc9840c1d39b1059efb52dc15dd90cbf8d602c663d30c84709b6cf87c5652305573654fe88f41e40f5918ffd097c3158f98a7dfbbda35904f3e0af6612c9a3564f7d6a2be617f737715913218dafd34339ac56bb5f3ec68dea257d3ed3bc19355d9c96e8045cb5399aac6ac0414e88ff0e1dc1114d226e0778d3679e123c52d6fc8a1e67bc212c03e57b3e0a9a5224687785a597d21c504ceffe7a8fb20fdfed9e229a36081e0699e42ec1bfee8d8fa3718f6a557877f789c51e0ecf38cc430c56d2ff28a4e94130289d7bdd49cbe1e01b9382631bcc8fe81434f14fc1b85f1d19e830d4aa733e7a9f3b7f5e95725cd4610d15d1b6838db89a0f3ec5418c687c2ae0c834729ec16c29b9929f48c15f9d7467413191e965eb15693b26f2a099d47749ee86f061d636f341cb64c8b102bb9ff21f0f1fba81ad86657a1c5228f56174714cbd4023bee481dbace94e2fb9fc59c79428395ec877fb7092af1c6d1b877c967758b6945e7b30c0205be731c755f7bd221f2e5eaaf729790c39281d9ed7e63b2d18d5ff62aa4081f5df5e084d901b4c0f0ed1aa1eba177f65689015f63d61d9aa777385dc85136216645c85f2c77b88e399eee1f298fcecbd3111085a5a\n\n# tcId = 84\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 94f9d111adc41e6dc4625bcded3f556a1cb7407456e252e6fc1d873afcb7ca79beb18a2d738dd105dd0a7e54fa969c99d450d112dd2569f1417e15d6f393d3e74b849797972e454fa3ad220f5546cf1f60180d6d70b751e28395348da109afc94e698eb51312abde98c409c751524a6be4862e3cd2dbaf126ec26c76381bc8e8e519944f04e645b904a8685b4cced79d158ab48545164c58ba1c8c662e75a0cbb9f5e360b6ea8b7acfa977efe49d634c10505fe355d57aeecae808977a3e80c8c1a295c293d696871083630c6f3280045e6eac582481ba74d0d637882aefd15e30fdaf2743b415cb74ea97eb92250adda2a514d41bcdebbf8302713f5d0d56b4b9b1b34222041bf5f4f5d64556523610a50652b52d89c8db18a2b567431c93fadcd72ef81b40e958c131d16f56d83d27c95f1041bd03b7e8771540e7c62373da66b761e46b2aeec8198dd38dd7074dd51f66c2398993da738a51b71fac106c1c7000791cecd96d168a5bbf8eb097dd0011d22a5b7e489f2350bf2d698466aee3b7570c3e6659d294c5e4fcbc2a4b46288d067f475a54c1132fb432154d89ee845e43bdd90869ec6a802320eb09dcc455a0c08ca72e0a79a82aadfa8ce79e3d21329f0f71a72b184c361390a7978f199e5acf55aa5a7b1bf13962882c7fb62f519eae6139b74ff5043ede0d65c6ac6af7f2680bfac13b0e27ef6fceb81e45928a\n\n# tcId = 85\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 50d81c073d09499d0b73a7511572cd485e2779e0b2309172a43847b9001c52582b75394ca438c4e358946232ef17596d4cff47dcfcf40661afa1d3c3d41a93ce9d2f681622acc2e4e4f273f9e1c5cc23b53c8c89ffe20e1827bea29fdc713ac1dc769df3578a14372d05e0d94ae44ebcd22d4ffa6c9276d22f8def3bd65bfff593ce2477685cc1a2d051656b91233933a9b107940abc716d12a5b3ec939ecbbab7a2785ca4be41e70a99f60a013d04a6b237799d8f1743ada6d5a97193d5b30ada75f57e540a64085d67b0b28d2d3618d52d2da4857d8aec6b05982d07ef918ee82db17182ebdac2d59de4452a2f43c769390c429dac2a34d65670e433c6e00afacd4664aa99b78dba1a1a39ae1a3ea6ddf067debec393046fe544ba9188904178c3b9358dd355fc2a788695b2dd2ab867f1452f9cabf2bd52031703b7e2a6d00daad2cc21bdebe9c3b45f9f164a1e3918998f044e18bbda1b7b01ba732395398db4d50e61085f42944d0b86c09b91e5470ff37e42f299a92d3a38b6b8e98a4dd1b1a8d979aa8a2754aeca22449e08647c09554739c1eb0c359157e87ec35be8fb44aaca5515ec5bda2bc861c08adca65c73a0f944a29db90081560789fa05a2f42a7c0dd8eb199e8efe3c9548cc4a269b0767a830b7fb181346876b3a8f0c9385885bf69b1ec388b93c4ba7aac60fde8bd4e4c9ea44c22fac2de7331df3d5fd\n\n# tcId = 86\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 7bd56fe8be48062f611a16d070328829b6e032650e54148551ebfae0c221dbdaa461fc0b837b41db093fd3e7eee34f6ea975b7e7c6a9c65c9da26b8b47a34d4f85cbb76f7f75f0010375c10301e6c656bb990919855bc3941f04817de84b225bc68a53310a2d12c522732c98a435ff2ed2deef13e6c22b92f1518c01d7a46fcdd650030017aa0d55b53256645d15b022bde6494dff48e348bf243b48acb6d5866b01c133c8d0fddbc5d50b1d41fb37d34b3ee76bdbee3be46e9893a64e3571590698444d9eee18308be2a61bf6e28191f052550c82fc600de6e01c8637d7e175399fb8b87aea136d002b589b7372d0476059c153525e63a90d0aedd48f2a59621ced9e6852c9644ecc1a60181b1cacf6adaf549a47b1825973c4d2926a911db41ba10eb244a45d582b9acf30861c284b72bc6ed4ddbfc4df7f96a2b6e4f962e4c8ebf27c35bac4cfd2ae63c1e335ab5049c3bc5e606a65b5155709b9bb30d5e10eeb895232bda1465443e19b356ac9187d5799e62e778710820ca4fd2802ba8c52cdad0bd12d8adda85ec480329e927a6ed41a8c31dd35b1444660f2f643204c4864590014c8fe35db260990fc731f1599bbe223a3d2f6613d393444eb6003cf53431db39691318a1435807b921be34e518bf2ceb99be38d607174a96e8cdef1f49a144c71584b45da1e5277f2ce4e0762c8f5bb8e48e4b01579de204cb80324\n\n# tcId = 87\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 1f20dc348e8b89ed3004b194c0bb635e27c643f70967d65b0f5d2d4ba55ec2e48d62074a49de2a73a34e5e4c0d172ab24bcb1025008c7d473c90b64f9d6991f3612deab90b0b535b11400c4a11261941ec9ff3738ec48cd6f0237757b26176ec2339e8bf2b4560abfe1a183683f9efc70876ac821d1874079d610a1f7c7ef80bf39f1ec1fa212136114438b422e4dfe65e8fb48f5cbe475715a67f8937ae7dc3ac913bde054cdd1636ee70d98233cf5f0645fd57a38da90428bf7511cd855431d2a2a5419d75c2199d338fdb60deb5617716f2ca73daaf02260deb1cda509ee0eaf457dae4c9f439ac00323c873bd6dd65cede625d3ae25568772823f402c5b354befe236edcbf956b700570c87eeb05568e0a50ee60d30cbb5b57c6c2dfd805126d1aaec535e01c81d62776e4b19c76dd412f622e8aadf9fcf3d78b34fb6016a550bcd72d1709b5b7308f74ad3c37fe0bbf4c707229c7f40282f09eee4be13ec48bf2f84b32d4886d0946dafbd0422fa49b1971b694b7dc55f7b4d059403df37155fefb9967b45db2bd801d9", + "012b1cf0e2fd9b7a073868756d64cddd630a43a9447853b4214b06bd6bb4ccaca1d6bc01e79e328ed68ee4a6b54fba5b47521a2dee8d6425306e339356f97f3b19d7bf822016940559c1685ae93f7be27eb3e9fb49d7b08b0d5960a68524e60cc7561c7e61ec6049362aa484fba37902ad026dc\n\n# tcId = 88\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 1e7a63b1ad5c1b708c49031647934fbbfa2edc1185b1096326c8430bf94b4ab4f0e9401a68f94cd6fbe2d23623210723e800ed878c9fb417ec64bd3f38f3f08bae77352a7d409485a83dacc9a79ee25526af32d93b3c702cef4f37bfdc7b295b7d243accb80c256c9ea350120ab7fa5ab047229e9776ef157b26212e748176be885752308720b16664323f65d83ce70de21d4e2e7d5a633784e9d18f58be6469970b52c009639ab9e2b024cedac4553f88e42d8012e8172be9fd4dbd3bea1887f065526e090c3a5e7f28b416785a0fd33c92937383f0570720aa6dab92ad7f006ba8b17c4890864313ed0312c717a2a5906a8f101b7c2775d9609d26e76e274728b03169d94723919e2ae5126caa2b6dd1a443d21d4e36512d06c8b5852dafbea73b042e1a999ff7147c49ef19eb7f41cd31794cfa5f65d9d0fe626d08b6257dd88bf0cc39113d0c0d7412ec7020bdd5dfa7e9f535f4f2799a06d4743c5769c5c85229ba5d0dc39b027df702c6fcbe728887b0fc0b606480d3c0e0f1326a46a7223e3124dd4d27cdcc48c7ecbf7440967c2e57319effe5e416de26e60b995ad9358ce8b863f35d56f69ebf6a6d6c0eec94c917a90316db70e7f105d171700a17c52c4a1f9e15a5274cd96ca4e872c577f43b54cff898af42720f0d3ad00d170f9c0bc35fdf297046f6c750b6d036905fdeca127e6f2da3f5add9ccf7ad819f2e\n\n# tcId = 89\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 62a746655abd3d4963eedbf1ccb42adfd9919f42797c65d833ffc5c5177483534b2b46b6773d7b6b9f6a1a03803a2c85718045caa8995d0eef3d55c66491ed65aca09dab89ae1541245c2edef535f8ceadf4f74f1ae12ba9e922508b7bb157b38247441863aad682200e4da61b4b3c7292cb824158275d042858d15fb7ec4eb5aeb33dcd40f58a670110fa939ddecbcc9c20216b6996a43a3267b501a2d6f05c35a63befad8f6534b71448027183e45abd98dae878379807eb97aad9014a268b2d042bfa20b3559565b22def87bb0beceefcaae1a01f068ced30414501767fef2373fd8d8ae7d44aeee885462dd1cd2136e114a9e63085eba22addc0ade5887776eea10b594da2abcb245a03039fa151aeda0364fc66a12a15dfe89ad7678230194600554679e0c02d3c35bb2af054e2bd68e73fdc66540257cc10a0c0145fd17793f0c88d76670cbc62e0a56b98d82fe1f5ec8a85c0075763e1d3d873deb0fa57f127052971af34122b9bedc760b2e441939c33bf18fd9d49e2def61dfb3aac87eaa480a348bf32bdee4e7303d513203fe23165f39231b64baa0bb1495a868e20a4dc3dcdb4c643646c23bb1ce0a4088907ebedb6fe13938156f9811affe8288e13db8f45705229a31fda7476ff07bf6069ef11c0e19b369f53e99ea901ac8d4a1ba8cf92d74009583e00783add48b6f7cd7d28429bc48c73b47539630b59bf\n\n# tcId = 90\n# bit 7 of masked_db not cleared\nmsg = 313233343030\nresult = invalid\nsig = 2f04e32e17a9a6991733913475f54cb18abe5cd6f7856a8cf12525f7a83127c20255149565983719e58b10c23fa70a27b40d723370bfdd14bad670b5a22b3446ed1473e8f012e5bfe70a1fdc1a7d826430e301405db72c815763e4c5486938de8f78b556648108eaeefb6d5a4520da365cf64ac69d2f0d2842b5650da2d06639032c4f90907a3164f67e0abc68a4bb86778d6f0c6f8c1585b76a73573deccb7010d21e959fc9189aee02458b8e353f12a3d98ccb6bac5e3a57ffe5b60af37b043fb58cc478ca9e249e94a30bfee4c509e150a3e28e56dc4222f9968ca8c62ccf57326a473b30055655654d3e700ea04756bc3f687707e0dafb9531706d06c30aa171e33550b66055adee33910aef573af9dd06b2611425d9d4820807c12f7b29a7fcd98c3948d5352e3fa8083205e13f075eed4e6442c0e3dcf68c765ed93748cfe33d758fee0e47a1977d0b79a755e731be22bb0c55cad80d54939b7a8dbd4c9c20b7369f907bbc2a540fae0189ab09fe62bb8defb479a913f3ebd167abbeb35104b2e3a75504b5eb58a1e34c991254e7b9115dc6fc0946e4d38e2c475199ba283be6b222cdd0a90ef0cf9ec98a3cf815e4d9ee23e3708b6ddaaadd146a802a53b57beee909528452d70170b8aaf40ca92fd5c3f5a7e87e93f30ee89881c7368c0cad47732e9b58f13e2d4873b596005e6344c6f030c9ed75bd65f273baa67d\n\n# tcId = 91\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 856a35de0779d33d013b7f7bf55de6612b8cb179058d490a4eed4acd8c213902d25b4eb5026c85b60e77773d3ae3570d037a087987267eb9432aa434ddf8b96379753d5d77b842b468af926b87a37b93ba313a6b0b0a5fc0028d68e569fb70c7bc5d29d4353c661fb1cb5e60340998d69ae7ff80ef5bc617207eb5648080265610b56d7b1037ae271e6e76f36b2ddf6d7ba35cb6430b21740ca0efd45d232600842acb225179af8765cddc356308ef617e130edee940e07c964517972ca94458e38f04375de2ca2c1de672f7885244ac95f883fa297d7e31f20b890a7d91758f57e9430c29a021ff5d94281ba0e7932ddcf031f0825881d3607cd3acc5ed14e517b61d2014c9d2ca6cb51e7da4ebe14341eea4c84d9b0b3fa11f9c9f6423bd414c8710cc82ec788f09c40634c3551ca6751af5e9fc966c687e170c5bd4358a4a34a8eac48f7357b2061d0610830bb7c8fdb59e5b9b55005a0cac3ecd3d6992971e64017a0d436406019d1d5fc3726c9c4cc811ed19d10114f61dceea8196b5b3c4015de1d761f4500b5182338a7ec0ba9369b44173ed699fd2ccdbd69f60b80b4c4e730f9793a2cb2c2b2d95a5156940162aff6fd8fe6dc0eeff643cec3fc5f75a9f516b0c422ec3938f4caf76fa09ec797b6088920e910d3d5d8df0abbc6bf78fff486c266540d74f9f55ba6aed8d21b71af65618fa15b94051b096b33a8066\n\n# tcId = 92\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 6df0234e29b09c68529dc6e379485376e89da42727fc88a547560ede5c518af124882f393e10fea33f680e1e5aabc51158c9b026a454c152fe4af301f40033693006ec509892850bb0b569b2907f7afa8864a9895752c47838615cf0f15e0b139bf83127bbce69f6abd6356b7bc52b30e9a58422ab4ad68fc2c812b6554f64e5c158027fecbaed30f48e90bf005cc6f0953ea845922d847f30dcae5a9b1e00f3ecdb139a0f38baa31a9404e816a9fb8f13686adbebfee71985ab41de8e0bc714bea3270205bcf16d5b7e8b42cd6332ebce2aa3d9501d30af6dc66c5ad19ed759567d16f0a391839e721e7d04c5c7d23df660fb18cd1e8982b2ed6860bb1700c3abdcfa8853ae187cf32695db4252f22503ea039996ed3877b93bbf413e27990deeefea7253a0ac23da6408923617f1263bce559ba3efa1bce8164ddd282ec5c115ccfef85493abb23c1490f134a63eb683ab16fb952854b40bce433d97d98f0348aa658ae3bdec9f0dfdcd25cecf11a1796726069132726e25b9a9c6278bc010f673b49cf89689cd2de943b94125e5a7b463bdcfb4b4ed7b52ae32f71cb0ae2f0ddcfa6637871fc64d254f1ab763b76cd7f93017759c9c73656a908cf0c687eaf6eedb0e510f3592be48a814ed7a9b387da754b8161f1cfcc2bd9f7bed8391484c98d542f5bab86af285a646965aaef05387153b51c7a915fd1213a6eb789859\n\n# tcId = 93\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 31e7df11d14b2fa289e45ca2cb36d568aa4470b5c6aa0d4bc0c10a1876146b876ff953e582b224adad6358998efc738631e44a34e2c1718f9d28f695d0e1b1f8318d2301bb3913dfd318707964e5a7e111e5a8765dbecdd90bf4e265a367216c6126869515c65d8788c9fd4842a6318d1323e50233cb92de965fc23f61cd8c91baee4013a1a928428ca6ed4db99eb2290c0d0683d7cc928d0cf252b389b64e67995249627cdd90cb4e5fefc8da61eb3e8104c6138e52f6710c136f7061e961c485eaaa586eed740eaa2c0ef879d2af5eca41a5aa1a2476e909c8325952a9d8ddb3b9f6bfa6495c4e2571e4c0ce727fe087ce484a038ecc27c7f0743fd93dbe0bc0386e4d025092d21f9c7d569ca0201d3347e71932e6efe64fa847655e4f1b01af20e0137160b5bc03a9450457162db68997a2df476175ffa040cb4818aa6be70cdee08e05724c8ce0174c6b25629c33e9aff85fdd6c438aeab60c3e939bd6deae3be1fc8beaef81b9334a1c4d59117863d7e73249f12a6a295bac6879a66a0935497040357bdb9ce0f2ebd7de693baabbf70ef76406bfe0e8a8a1edc183185a92b97547d50b10f24ed71a8a3d558ddc20f2b40801db842cc9a38021944d8b97e06e520f0ec22189ac11503a2d84b8291957299b8f1f45feb408e6c828ab97cce7c644b9fb84b8b5c3daafaa90e1c177799c1dd06fc6e48fd309d40b2888f4d3\n\n# tcId = 94\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1088ad6c2cb501f99bf0c545d84b526de3665f419af5e941d5940196470da54dd01f58f48ec6cc56e16b1e21573700e57341188921fbd96362ba5e377e051a1cb2025c0da7842409e8ffc5728b2df3fac115d79a11d7a13ff1906cb8734373e62af62dacd1e7412a89327759542577d720581d4b8a928ab01e023ee7caf33b9037fd96fc17ac43ed9d604b096c8b0a11854bacdc88a58ad8dc3105c748813b4d4109fec80a4385f74b8b102f02d59b36e6cf4a347d87daaaff974e0a1f09255fd49e584b3c88d4704258fa8c402ca67ef95d1f2757312a63f307302a31b021fe1bd2be6feb6c1d7895642e5556bbc96026a591431adbb2953efaf4b54f33c8c8b9cd06e23ca369e5bd81ddac3167a9eb280f060afad68295effd5687e131967437d4f9f97d7b46afe1271a4193407a1251c1075705d4c4cab5e523eb66b2e1f57789001075b500a3841b7ea7c130f37761c27097c9ff533832d201ccc243691f19ad4a822b7ab203cc477398bd32506b4952adbaca1bc5eeba7c565843e17e18257a7cfac8746218a2118b9813c655f6ff55577fe17ff6fbd6443ff307f20dbd36bec5835c6a41bfdc7b0afa12dee58b119ebfa8a3ba8d3e77e3841a4812bdbe163aaf5bfa05a305c158115227f569fa92850205abbd275f1f24f0dc5b14cdd405d27fad86f812d51254f1667724fbab80e6fc30a5f1ab60afd412fef8ac19c5\n\n# tcId = 95\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 96\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 97\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ec\n\n# tcId = 98\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed\n\n# tcId = 99\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 000075fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f44\n\n# tcId = 100\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f440000\n\n# tcId = 101\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de7010309093\n\n# tcId = 102\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 103\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f", + "7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247\n\n", +}; +static const size_t kLen146 = 189086; + +static const char *kData146[] = { + "# Imported from Wycheproof's rsa_pss_4096_sha512_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 8d4444ab233739c9d1441e99cb4f71581ed78fb996ba1257fffcd9e3c74ff60d6be352f002f959ff66bc6ed0c987a070097e5d57d8bd89b4452a9d2ca121eb6a283e8d0ef6f5f67875b6cbb8f04e6d242900d73d5bd7b59de4b9466ccbe53874ed422610e411fe3e026f47e47b8686b9c891c7226b4ca560a840e1734eb4f6fe877e559c9a9299dbbcaeebaf7eecfce6fe43ffbc483514fa3aabd6959e5aaa3977e23a9f97edf406d396e96c3c830164b10abc680bbaa6d99d19765d7c7e77946ef6ae240b5fef0249e7062792b15c8f9157da95971afb315c9c015c74a2e79ea2d0cc46992704872c340781f052b4b2cb5ded8f5cadd9b5e3edce128ef2354bd0411074d6515251f5231453bd530222f730ec736a86f721744267ba52652289ff6a207a5a7c45c20ec451948d6bd7b10f1af7282afed9f5df43e4a0d0f2e8fc6d3dd3130d4ff6fbc11f0ea460089856df29d1b7b111095754a7de9bc03029c6c397b6994674775fd29cd22ffb03dcd90c51096b18a6c174f2b48d50e94856f5a22adae64915d69c5528dac0345017c24e8aba401c6e9a0a268057a0fea237dbf0c88906796eea0d1bc3c2347cfcd812217e26015825e9f0fac404c22c26272443ccaf30b294c7c467497ee561a2a5f6d219973cffde9aed8e4486faa3de3d17405445e2f78a768dcac1efd01596486c2495f5bb1f830a4984041e03a7bcd77a\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3a58fc64a234dbd7be958d7c34abcba7d780ca636c4f2b2bb7fd3d4e4faaea0e17226c85debf8dc9b1a79e152a3bd83b13f43b1e92be81b37e908d04b717251e32a2d49e2cb5f2e7dc18e74cf9fcf0c0e246d473f76c79c3d50e878a2f89bc4eb6ecdda96c166d6a825a1df569d11384a78d7052782ace5878c41361f148c54528288088716f935d3e5b5d556a0fc9b62c0de31d9ddf4893f82365111043ad7fca010d1fe9187bde48f78cf465657e184857451d64564a16a166743870033e64125ca3f20ba80c065b259666871fcfcf71e711aa34cb70ad9a2ac6051fc02c96149d4e3c1741c4d44663ee0b49e1ba60a80b4c2d389ce3ba953d68bec835432bfe170429951f82ff51f408aff052c934d51526117b3d57ed1f2a912b37cacdb5a980d30d223d79faee7948c5f4986c1df5ed42923a3f4342da02a41872db49aa09d2d48c3b3e1cca7114a9a34e76b747ae6c99141c9f856e41d98456b3fde7d26bf842d6a421b3d4cceda4da1aa4d1298b624159a1c83b6fe5cb89982eba5e7d6005489d39233f156817c00c04511b98463696f8b6b3962ca3f4ef76b37300dda1d368c237250baa057e38658882f482d024c26163dc1fdac29904bc6424130837b8928f764bc939f006913ab1e968c85016dd812dba264520e6380872587265d827557eeac6498db8137dd2ae029fd83250ab7dcd764d018ca05ac9db8f95e2\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 7c838ba65f923660aa4ac47465eb1df4df51d6fa2be26389757de8c6dfc7746aa5164d909b69b7c04758d256e13e3520e77e75b4094d8b0d60da0030b9c991969f6e892ff03ffba9b9f95ca991a279e7cded611a2879e6e6602f411a122c8d11cd333de5d2f7f367e38ee0491380e8796e113487ec7bc05ec1b1261aff871ef82cdd12f4e3d8f239cd49b2f53d57255dfe6ef29038831cdebe9cb1a76dc9ed79578e129b063724ccb3c7b3269f5dd3d9669a405582255cb56b1efe6d61a376df3a141014c3d660b66f9d1b266b5fd3c5472534df778e6e022a8f5a6cab501dde611e07c0c8eb5718962692e8e3773bfd25f1d3b63a20a251ef0c296f01f4a17814e18dfc029f2ed0ce073e83777cff44471f9348434fcc12b0420bf2de1c9018f0282ee21f09302b178f8c772c8f8962f6a29291c63532e1ae9301e7ac55781876965f425619a92559f33737d5e11b282f9434e27d9b27eb2fb0fce4e3e90ca9eaafef170644b00e512537bd779fd2207ee73020aaec07e6cd44103a14940c9499b013c42440d2f27a3def34f3509cd8631db1cc8633ac15180272c824369e1d3c8a6cdca511748361cb60e022173f95ad06e7c79d59e03934854a9f9827f3593d87c34d3fc44beec58e107d454ce04b55c96effce612aef0e5d55c31e367c9fc0166f2c9d450e86d79323d4da8fb409f97adc7af2ec6772ab290f622fe1fa61\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 3d90ff4e36188b451116227e189a71734571b72cc6fe53dec4eec59e67e98111e96fcd906509fade9922f2de6a13a4faa23c7efaadde6dfd0acf150541eca973c7e38a49c597d741e99ef7575b6e2c8de0974bc868a5567f0890052c4df54d12198ea09a12bdb2b6ffc14a1d874e165ed12caab58b28aee171fa7f1839e36e23ecdee2633616791179084eaf98cc23d2f6ff479df0ba46ed933beedf07cc0cad4dea", + "0f0b48f4a063488ac67519e1fb83c7b7e86e3644b0846383ecbb1b1189743036b271fbf121e2199601a3ffa8e8cab00a6b9b5527d62dc2a398e4a42c1e5a62f8aae35b629755119c54cba5e860b421845f9b4422f20d896abfa962ece5d116f7d4170db8dd0784b7625ab2a384c7d424c69901f59d03b144241f8f6556da8e3bfe07c17eae91c50ef2c53e71072c3ff16e642cf126feab904e09a2febebd282a2540389bb60b145cb332658d6a69e03a0a8419eec0f204d6e592e04df01b92f58236989b6b92eb0344255914c25dcd0a611c9fb77e435e2ef9bbe3c74efe144171ca95d1bb7de814f76be54cdd8c11db8af8d20af4451a4dd3b62387bac37cb79755afe91d0d9a2163d299ff61ee4fc4d5267eb8c5252371b0a83dea738f6383e085e992b3567ae170780f3b83e15d895ad4ea668a6304f10f0914ca3b2900fab1364c8b352dfa8d5a3993d5628f4d2264c412210798c18aa2ed6aee516c\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 07440a61252a8906a9264ff58cebad6217ad710833105369b7a858216f1d5a5f5dedbe3eb8128b34dc0f0243faacb64034d21b656a278abb26ced174f76a22637b755b768564db6ed4e4fba0d5784a22be30d088fa965307430982f84476907d55435ca3d4abdbf689e76f2d4b78d99bcc742e0b757b897c4fdb13d15c5057e6816e32c3e294a947374c998550173cc657ce33f9fcc18b2d14e1b448acaaef683ff84b086f545a05414589b1c23210290ed5ebbc25af614129212d3853ff728ec01128d37c4268975ef870a1e4fa00c3c98b39c3110c2c11af10333e25db027448fa8f219a7dca7c8bfb490912bd5040f1f348b2fb437a8a9f407ab7e8af1c6e29594f557f2e03fe74e4fbfd2f935e68ed824a510fc39bb4be0a2e091feb265fd2d7a33d2f238e70b153700f5bd5046aad7a6fc02a5e23dc36f67278fdb904d05f2efd0cabe9e4baf4e16af0f7ba9edad706d67c67221ca0630238d6f688174d66c1b152f8f921e2c6c08a19e870eab76a77371b42458dff1c36b0ae97b811e900f6c09e792c89644448f1d0b97b53b9818d1d8f3d7a37bcb1bd3e3a5bc022039f00a0ef7de19657c4c9e06daa2ecec2de30db3b7b84107bb74e164956eb26edc9bcc57e5e1c4ed875b02f0545383602faf9525f094c72f682995d4e2d71d03e11134495f637a3b1b022153689751b63521b1a16b3c3e269a2499a4be1aff9b8\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2686029fb11cd033724e57dc1835da4f9321eef330747c3500a4893586429ebf02cb4424ee5a0b91a70eb35cb05ef60cf6b3635d4f2ef5eb647f398fd44f67fcd2969b629a7c54f1094f9827f9f27457509730f50c9ecd2dc83bd13f1268d93f0f61c29c5c27eb821c68edcdf1b01f79d1f261dd7f2f283db197ab56cae0ea3b3c1cfaf3fbd4c1ed1f6d313f0b919e5fddcb97b23f0bf64e36bdb6f7cce8ad9cf362953e66c644f8b8b64bddff1e850298f5531f121e6821a393f9658237280c2a53c7c658319bc7d38f93f2d7723ef6728008843f89f61f7ecf5949a2cce6a9fd9dbbc501ef25a53ca02486b61a5de0130149d9d246925f26e1a9a74287439592a4554a872ceca53e54d1c1f4c4e18a4977939a6c37eeaab5c8d0cb5686b44d84c86d736ee8e0d97421f4c8935e926419dd68fd4e5fe9999eef75d0d0f9494cbb0297fa066b3aaca55cc229a36659be310c1e328d0b52f7747c62b1102a2d0a4acbadf0acf621a45e5695ce1393b3eb05a69ca5318e6f6b7ae5c4ed3f6072f8ae99db9af66da6a98d675a35acfe0a7612e9d5f29690870d81114279010bf7bb3d458f630f10f81a785f671e6735d7bdddf4da375d2e6d48ceecaee741a33ec1e8f9e0ce0755bec28315c6f9df363c800ee147bd412c5ea7aeb89e7a354fcd3a2c8474aed04f9a2a5fd2983380f3c00a4558c46ca472a4c15887c07d4bc8a698\n\n# tcId = 8\nmsg = 33393439313934313732\nresult = valid\nsig = 69b292ceb8e8eb52e374140501389ae251d8451b64b9efbeeaa16ab24126f38f2a7d4e21981aee6b672df3afec1a9e167686b6238b2d3617c659ca1331470e95234e2c04c308cd6bdcef7631b74c36a752eb4187bee2dd33c59f3fed55bee29ebef7ea61d26e6c052a2b519702282de7652a500fc50956091b35f9ef03fc9bfcc72f02dd55b25f88b60bf22aa785f674791e4dc02f9f2f7f04a577f860ea1761d0d8d3a0082350551786c62789b48fb21e85ab6b05f56ba504f7f0ecf8625aedee4de0c95c4f97fda57929c399b6d4865b78eb2d1da433f2488b4134fa043aa26386b47f551d7778bba8b6f379cad3b4894e106fae90a2b391e859fe8bef5e545ca3d0d908133285273fec3616798b83a6f7136faed77ac31e13a3745de44bab641f559ef5487890261ea80cd9bc67c58c7e14e9821867ecfb473b47e95bdb0003cce856f9192e39b86f551b0e3b7342598cb34d8905e117cf85b828ce0aeeb55407785e27a9687b59b8c5fe011c95638c8f1549e95658de4ec73199e3bce9a14860a0ac64ebf20ce5f0083594f40d6c2a12a07a512a191072487d8741766af953365f240335db17d4fc57390ee0562e4f8dad03dabb113a665b5b9174c1c128190c335cb748469ba2bfcaee5bcd25c845bdec81508fbc519a8837c059427cb3e0d1ba0bbb6e79849fb6a2e7f29c7d778f957a7e26fb28534ddd85ae59498996\n\n# tcId = 9\nmsg = 35333637363431383737\nresult = valid\nsig = 28dea73d9efb0b7893b1493264c30a72708c1a28f10fa9b8c7af7e0f52fc5f533012c7b87c7005857f9c55386e81ec54a94f71364798a5d31297a13dfadab5b032052ed34124191d2a94023e27a7e6cd948e21ccd33bedd37769024e97ff90db92225b6b5c0643357d80ca155a69b3173755b88fa83a4367355f1921474f97fd2e1337ae93e2f535d81423177725404acb230144a9d86b74ba3c1a6e724a5420a12f2a19b4ad6984c043ff63eb14a0cd494c0072c40f54f4d931804fe63d9bfb97ee7de83e943e12693bdda14325de9d7ad605e7efa7f42b14657fdc2a2e8fa3de31bfe2560a034aaa6de4b4ba00b056ee9d060982ff77b5e2acabbee33f3df9e58b2782e2f99a6d8f1c6b827862b5b04a02641bd1331c73804e1322dd2edb621508aed4f997458a3f52380d2ef83e8c289a996dc2407f16f6c848074d12bcda0b5050140051301371b51e808f374685f728e24ae3e937ca9d5ef890e0727375e4832c8c07cfadc05b098fd50014d6be7a0aa2a35ac990026f5550427db3b2345866d72d3085594e2161871a4ece9c55bbfbccf854a7bae0631ff101d887681006388a37228dab83350e5a15c96f7d0397cc62c388e8ce6e13b6ac727df4b1dba0691b7b96574d0d024cdb0e329e94a128924772ebed4eedb41138e7dd99d347ba50b83d1547d80b85f98ea544aa63dd725f4ec61b1b3b522409a1369b5a9d4b\n\n# tcId = 10\nmsg = 35363731343831303935\nresult = valid\nsig = 19085093b94a6bbc8f27edfc375a736a9e086f98b1d6e4280e6a6f6e8dce1f878b4007ef9c55d3e4bbfce9a6fde2c6e07ba94c55bbe8053a3a3c08c5fb981960e82221fb66a95553448a4d2f8a1cc588bd1e9c4064e9b6346bf48b153262035db57ee6cc5453483501af3668a645a930332738782f55f4524b1de5787b4cf94c2042b43f47989295c8dc1e0bb9df8a28fa321c16637e20fb409f55a21ea3e29e515f833e18485b501442269ce5426a20b77bc3a797a8fe461b1e02ab4d2fdeccc84ab2b9a2f0f5fc68218dcaf140dfacc70a990b2157f71815049d86e43c094b956e6a1915ddcd3023e6805f9267e96318c466985fcc3eb84db972dca08c84a347aba687053871956edc2bee98207fa1e984b1bd05ff115e24bbfc706ca9fbc916565a3984533a281e665dfb6c8ef40852059993aa6d87d5d1faabab4e0143f1080a4ae9c8afd4886aa21ab3a487e316fa95dbcb0b67ad4dc8992c2beaa48cd274f3506b863b33d761d8369ee1e1ca85f5c86adc826d9adca6ac77fb586423eba20ccae5976f9feea127c720ecd881bdfec17ab1c6f539195838ea99d4b8e612933cbf8c7daf928e99c603e0f633e5d89bec797eb33d782769e03c75d04c6f64f90ae54a47f9fd3835a263ebe8c61df8987443ad8ad327aa2b9facf647409828fc9716da00f9ac1d932555c9138b6b9d23d9c6d1726d63c1e42527bfae0354bb\n\n# tcId = 11\nmsg = 3131323037313732393039\nresult = valid\nsig = 882a00befcdf655539171cfc51083a011e676653b03498c5f05a4894cc3ee7963997cb440e279acc5ba37f0f675b7de685d3f29aafa58fddd4feca007c1e96d0891f9e7407030fe288ea91d579d3d6e5062f9ce14aaf9b507b7405000a0a4ae6f207f756677276ab25352699fc3beb4892ee2c4fd416e59379732e1fc2af9e37bb6c49d4a9538f9cecbddb571a5e3f28d266a1a2eb3d477bb3f13ccf776101a5bb37ce0dab135f4a5976647ee50fb8c8fd829812c5f686012a48a6ef6af6a88c5e805cc95b5d0c90ce568b596b2ae2e5934d1c2dfd7b2966e52fa145ecc3d94cb7cfe3dfa4cd8b3b42b780a212678299a2ad2c920f386fee15085cfe225798f9ea233b5528915d8a4d530f80dfe6b20fd4fae2a80ad0ac3c3f45d99313801c1a06cfcd311fff3cc409ef375f0c2486cb5331a6f56f693f48596edaac25c10fd3f985b565e657570cac4ab291cc963ed196455f7285368f6877cf8c74ee7fb784ff192638415e4519abf74d82daf72cd6794b9e82258bc1b73f08c01941bf304385a3a80085898b0ef5ec929da0cb2f27fc75153c11d0699bad1fe8b1d357ee601d5de2489166447ece43d84212a88ee665c0890347e361f362f68a195184b224f3c2f0228350e326216b043a56efb4779aece7d5bb512e3113d611db9767639934778e442f838e9bcf2455f3aa66f5c038ba28a3a8838d2302384ffff1cb6131\n\n# tcId = 12\nmsg = 3131323938303334323336\nresult = valid\nsig = ba12cba0e650918ffed25cfa35075c29f2704a11d2698311965905bafa47ac53f0cd688647e298e3bd3cd380558b6d42e1ec16dc58f6175ad2341f93700703f9dc8617e321e5246c15d371845d4e67cf04f7e51b5328ed5a86464ab669330eb97749a10ed6ca4e052a21fda6ef70de6b49fccd8d6db530beb55588d85fa05f1643a79d5ad09003ae2e5413a06a189df2633b742bf43a8ab4a473bced22e6ff46a687b5a43d6d1e1d1b2d1fd96cc99e967b83c9841f4e2934a7e044606a73f8217455beef7926f0c65714cf50d2b5e06f59abbb95a489e8dd1725b9ba6d5b6092fd660091eb0c4f47e8a9844dec0e10cc1a61d50792e1f931071188af1e800784d202f99edf2b7fbe28a120b692ba476aa431765208cf493253d73763d36c795359c7146b2c82b635b4d6ca0c1a007cddc0385ede1c589cef90f02178e302bd731b37f66fde283777b7e02b77803edf808af7c1c71d0a321b7d090e299917aa21be4a9a82ece8bca006917fc0d126cea0e7e64f6073e10c589aaf3ea25211417f2c3d12d7066aefe4c2675d8022fac6506d12e8eb19af5a2c82829bf64abc4b52846191cd6dc555585c17aee1d50d82ab3a580d616d988de71bc7ed96", + "5a6cb90702ee4ea29af392e4dcabb97f7dd7148b811a93724b40bf40a40ecd3729b99af580484958e1884e4947cfeddd5b3df5b810f65dff9d460ce273987f58ca57a03a\n\n# tcId = 13\nmsg = 39383736303239363833\nresult = valid\nsig = 39de8c150be0071d220697d5ec83166e42d608d83841cd01eecb5b63ef1a6638befb87269077ac7ebbedd0e368e3e3a87c63163ff84ba38e51cd346a4d0617704c1ce5780e1e1ca4d2fbe72b82429ba00f9311d2ee26075e8c045ba3f4f4e11c5454819353b951e684c829756be54da216d8d0585d23573720516ae900a197ba2ddd95c76a660726780213060c0a527e4e1e70eb4a377f7766237925fff87ce798349b4ba0fd3a0c89a7403b9e8ad657078166aa427ca530afae4b66233b1c601bf043c1358a73bb85fb5b4b7f2fe24fe532400a99f778f27a81352ae27d2ca9f3af99da7c9156871b7b4f0f649a3bbec0156e638f270af6e2e3730fee4500be694b0eb4e3066d2b5fe29fd91f1bf55747e6ef9cf106eb3bbc3772a8b181d6a4878531586022415f6be2541cba38f7b950f805b4b8d673355797ef0b5e58cb9e3dcb97d6cfc182ab493c5e04f239caf2c925ec2391700d501e5d4a7a7ea08b6fc9ed56c27460e7d717aa9f8100d76b57b4fe485fddbf8e81dee4b1616e0e0ce2eae4134ac6a96c1853cd3975f770f05f077eb4781ca935e58f7dfb618d855010cfccb3a5f3243853ee413ab695753329948e772aab3c1799b8ade5f9f4b0d041815842f7745d71d6ead2c83bdd2e654f445b469e5fee1f091e708cc50e8441eb38e0a035d58aa4bb9310468b38a8342d9ba9a346d64b25b4fb6143bb72155ff3\n\n# tcId = 14\nmsg = 3230323034323936353139\nresult = valid\nsig = 67f05d7cfb5ebb3fa6f34a32e859395de916efc318bb58cee0d5dee9457e458cfbb97fbda6909ebf85394095732353b221a1bcf502b9b2cfabb4d67eac73a6720733d5d76224fc6835fcd8937c259d7ed7bb1ebcc7517c3b6b0fb67a4998838f529b8be2abcc8c2cf10b60a19b9fd4139756b766827bc3cae375709ebd821abcd97bb4d2e5f42f56888d67cc159b9d54910316042a4acdda5c507c66a055f55281f1eb4b0a1fced99560878109be3c04eb62633bf069d86f1a7496b5008e7009eeb225d1d4d0b377ccd4029717fc7e55a26575059e4b90fc735f8dcc45fce928ebd5c116afdb631f6c302a213a71aa75d427cc805ef5c9cfed95a1e3470dfc1897860e459f50f98958bc4ba630aa855dbf5799dd564c7dc8c67797dc1eaf51396e4984e345b847bde407541c68c13fd29af83eb6e15bfd092641c46da3dc7537d07d83c343cc8bc8c6064f8e4f61915c555bb86b37ba73dece8f9a0203da68ca9ce7c874c2c1fe516952acf953b61b70c5424b17123020fcc64bbfd7b5ed9c4740971fefc1743beab357e466a35a14bc5b928a625c607799206c76a0aec7df6d9988f2dd266d41cfcc654fa23343d39196b3a10f651d8f9cbbdb410a629fa10efd840b85da03839d96e5744a0ba785d5f90e0e797a053b8762dd7ecf805abc99d648e97d603fc4890119942d3b9b9ad4e9391fe453002ea2059dd01ad7edbb73\n\n# tcId = 15\nmsg = 31343531363639313830\nresult = valid\nsig = 5b382b1f8b912347b40629ee86f870ef85da6ba37f8fe661b6a6af3e4ce714e2be967f149e1bd52224315c87e184a62537ba262072879a4c8f13c8534aefd892c074bd214c7b915e87fdba67287bc0e3737a13f69ea9c18fb9329ae08fd35b692eb7721d2816568f5fbeed25da9df0ccc0ed69a9cf2e299245b4be49ef11c956f182587062c75cc87a3befb1882386ed503b658756300adce5268270959fb270add0a61421c066aa8ffaef45428885176a466792ccd4af9b4ac03381b4e368eebb4a75ba4507e61137dabe41aab8239cdd9759766db0ba6420c967f008dccfd4537528c51dd7b9e95135fce34664ca0556a30e9bbb531f39bae4f6e15ae266efb39dbd7d9894c3022e8e5cec3808d8f465115f85b411f0b6e276dc5c6f2b676d6ffe8427112b3af2cd99137d25b109839c7661d8376e3252e1f8bf9c5baa524c1bd82eabe0228b2c8f2b186898a151d25192fa6266bbaeece357117b46dbbcbf4818de758c5892ac548a47c8631d4754d4ff1d13cfa3a707edb5dd8fc405545a84f2a860f4f59d587658dd5ef20681fd590c91245740d575d127a1173ca8969c4f69ab10bc67cdc3ef5718fc317cc7915bda8e97a5d674ae63da735abf9e119869fd76e816b2d9eb868cbcdcecfb7d3a22db60e686033227483de816fb80dbc3d0abeda3d3169f298aa72fc20e305d2c6df1092c8b406e48143a3a6211020bc6\n\n# tcId = 16\nmsg = 31303933363835393531\nresult = valid\nsig = 3d85ed8630bf31cdadca8fa4ec06e69ca8e9edca84ef2b5a9d689fc77ac3819fe5f1ce370a060e294425ac97c4ee2abd4c45e8566d5467ad19c2eae4ec85f3e25d0888ca4f739ab93cfe16c034295e075083702baa6f283428deca6d24c8083935c80c08e68a1c622697ac1989a6bdb26bf88403ec06685eee11976108c3abfa602b64e6dc62d53241600b71c85c0c9d5f30a1379b312c2cdd6051febe6e343ca99fccfdb53f0852730d2bb5585d3c344d9091cbffdc529f780ee7aa8d807e54c0a49fdfce3b2cf659c6cc214e2f3a8329bcc4156408db4a49071bc36a4e018872c6d8f138da58e0877307fde9650a94b98882e5686fcea8524ea07d9d67ccc6f17d914da6ce80f0ca32757cd5cb4357f419a1726006a2b8e5a3a5a2d93e3af8a8af38d12e409ed8cc118ddbf7028a4baaca589a5b937997097189160f36b9e38bc29723d2f8f3844963de7f0742dc6c7f3a183d0729efc785d280cde8c1879eb75a53556f2c064eb114a24bd36e498216e43f60f16dc231130f5a393ee13048c1e7830e2c9453381c238b730db88b186447174bccd5f297bd2b3343309df6ad047e6734980aac77ee15122e887d4109735a932401a9be4b02423171f26cc3c0c59ae1870a5d3561df937e344dce45ff2c03bd8ed634e61cb0a6655d8e5945d77e119f955103c7b121105e993389f44ae306d901ad9a568a90eaf0b6eb503fc8\n\n# tcId = 17\nmsg = 36323139353630323031\nresult = valid\nsig = 3ebc127c8ce530268e26be059e0db2f580109f0179c7694d384ad01f257effa13dd90dd760e011546e8f8185fa754d7f8f89718675c818d8b22d94f4410ba577778ff90207602e19dd66f7296548600ed4fd03ca80e706624b715c52dda105df29661759c39c3844a469f52cb187a4f51640c2feedeb9411d96bc9f79700fa5ffbdcb87183d5652718a7dc63f0fa5885f2b2a95e0a79294289caf3b998a747590bfd2f0054e844f79c57807cad58bc664d6c4daa96a6262f4d110e3bc456948ac157f067f7a999d789e1462af0c59bff7e6fd128ad3b04d3bc0863e7343ecd43c01b16e549a4d684f1ae5c069f5f48eb63d64b8c4e53decf1caeb545a7e3f7b62de1ea5cde0c77bfd03ed690c15b9ea122255d34252b5a59a3464d5c4e4187caa9143506088b62778d614a01cfeb6ae07cbb91ac1ce5e63769afd6d3746ca90bf387d86780e1bf86c6653112a0dd193ec8bfe26a2824694f28dab211e28262a45c54ba8e1e94e21e61cc282a3b9131709e0fe5132e27f3d8bb20e69ea99c972bc780da5c58448844635090da5aecef1683a663a7d8c3f65ed98568dcb3c5199c5a10ab41ae60a5ae31968f5ffddbdc30a475b02f18d97b0d0ea03ece8c9f06be97b3b76418cb57427b988cbc2f8c13607c8fb97f30f209683c2b25b1582b7fa99619fd62f36481147f4b1296b1e19c4e867d2f240671475d730c7c6e19b5b5a9\n\n# tcId = 18\nmsg = 35363832343734333033\nresult = valid\nsig = 2484f823b830036277b6c888a551a134afc4456e0f11c90c7de87443f115615a2c3b5cadfab075aeb8d5b044420b8b2a98a58b1601d4a179bdd2c28299386bfa8bfa23db3c0a32214a8f99d2d2bbd202ebd5d6a7ef645fb823ea7e07f1f0f8123099386a011d78b8f7d74391cc4c1e82d5f5e448e44b62d091d0c923aeaeb3dc0ebfacfab71956d6d05ebfb6b384a5ca850b4efbed24bc02410b68f72218bb57ef7d3831c777cf48e5ae455bd0fbff0533399708c02a3813413e877bd0d1f0ffc21489800bfc70f6d3f8e77dd2f3bed5d298a1677e75bcd2886e84b5eb2884642a560826269e0445c80d695ff1ff72496dbb5853f72affad202a780978d5bc18f87bf2562021016f6d6a6b94dc7161ba220088f1e9a6000b2424716ca33d3e0e68e332778e19297934634803cfd5ec4aec3de2f6c8606b217717cfc296bea23fdd61827508643cb5fe505ea14c2e6a61544362d4d541fc41912ba7dce58ddd928ce8b8ce465cfffb97904a3e961711a24a019d25f2bba8d65413b3de82cbb04f2975b87a95502c76921b550f545e6a659afc83c1731dd8bda533b154129883d9aea6af532adf3625712aa44ded67ffe6d90bc95357d446a673cb32487195ad20ae184250abdc7d3a08d3051044fd9eb1049272b89a2e98f1a35b2e0505793a8fcb7448c03c8f46aeec03d1cbc3eca5a27880c8b43a2d255132703c40413b2446\n\n# tcId = 19\nmsg = 33373336353331373836\nresult = valid\nsig = 76d929733914162395018b1641129388337fe075f1ef22857bf1fca62902ded0a7f6ea25a0b33196b1a51145dcafd1545c09daf6d4d453660c79b61993df7b3c3207b828920ee1fd030a29233e35fda6d8f96990acf3cb5715b769b4f8d1bcbe3d686527fed6ad66343012e8c9ca8217c7c3dd8a8efdd052652f7c9a89090e598a6a60753b2c8d9ab67eedb3b3ccf8fd755d116eb1b089b108f85ce2b3be6ce8b11340e57dbd8c9b3acdceddfb53e6ec145f7622e184dbfb35ae46d75ff43a197703b183196d8778bd06d5d245e79f6c2e0afaf9771babb9a88ff06d0300be38a6f4dd00a627df186147c91be1d2ee4dd1096985e37cd2754002c776223ec0aadb08a3279b0839c67e9e2053344bd45d487f65ddc1a526900e909cf1ab63908375a5e0811a084e481c1f149e58078a3fe8abc9ca195587bad6bfbda20beea9c87b122b55cac6f6f65635e655cc0187d63aff5a026915232490b43f35ae2b96d7a73747d958aead23b60784eacc6a7e6bc471f850adecf8e2b53f5f93c4b8a40a27420466abbcf5e554a35d40a2f0ce4447c23580193df8aba421fdafbea91a92f74f2f9d8a565251dccbf07133225b40ae28c33ecf8cf6ebd2703a135cc6420628304d13e5b65bfbf7aacec056664694126dbcfb2ec2334f04bf4e4d9227444b07737a4d7d7ef4762b53973b900320e589a08d0e6563086534b6fc6d939e0dfa\n\n# tcId = 20\nmsg = 34373935393033373932\nresult = valid\nsig = 757959f7d8edcc8d2b843027b0e7be51ef30769b79e7393a550ce13ff36088c49e062c19646b68a82fbff82d8f54efdef5e4a412faa075936fe83bab9d5ba4c16be9b50a45a8196769c899a4fda1351e0bfbc0d3778ba2f3cad6853e9b59fe1d5c2b6ccd3ea320300e55337991ecea2623f2fd2088c1a152acc9930b57aded1bcbc7d615e43b3f03f2568248b11fd0a7c8706acda54ed825a8a26dc5b745f26dcf0f6c6f6185170c7bcc94e0917160346a54b6f16596bc5b53d19824b77440ffeff031", + "14ed36fb50fc7539781924364995c9efbe5c18550f2259c07b913e40df859c3bd81eb9c0ba9429bec118f2ad0dbb45ce430084d2b394edefb230a192e4f6700b294e8debb3b26a66ea5a4c02d2f1682e4229f8b3bae2f0d02faf45c8a9ba7b34f8635d9c0b02315856d61a977150de765081f3fdffdb446fb5246c5d678496acbb4062aea2674e5867679e194c13ef1987b4ee11019c27c6b15d23202d699cd57a2476aa25126011b336bbdac882b901cbe748ddd58681d75b2d25242b75266f013a681a88614fa6dd3d42d507f621d77948e32eac5dc71f0138e0175f75be9d75656a1a04aa035fd85c44e899b4e10c3ae954af578603e6c0bae9f52d2af1d283c848f0c5f7a7c41105c8cfa83be5d611ce309c7d7697e23fe4be041107b3fc96ea29d2e50e25873fe1025187f534e89e56b3ac7008ae1716e97764fb\n\n# tcId = 21\nmsg = 39333939363131303037\nresult = valid\nsig = aced2477dc9a544a6380c5904bafd0c3ec8a98956c74a7f5550200b989ed8d6983e2117faf75ab0e7df1bdc3eb162930c0de770f3ed9faeab701425982cbb5a32cd515887f5c24de6e093b4f03f49902fa9c5ce7d4f3cace1d6da9125a1441ef78e15052ae753de4ad63cc05cdb8d75053d3f9fb74ae99b80bc4f754f0efdbf2959021cf80eb1a74ce9b1f3268818ac382c88fe6b542c3befafdb921ebe7e7a80def249b27fec84d5f2a8d7ad99e1319f39be3472e4915638a3c4b79c7328134c3d88a29041519729c66348b35f4dc07011c644abb6f49d093cb289dbb31fe94dbf22ba9743743902319f4ba119de877ef70606ef09c142e0e119850f0d5e6fa085d2ea1743e02d2c88d423840c5da409a1e686a986b08efbd422f8b0f3c1414a1db0f2f8cede003dbf3207ba7ba63f5e5d736d6be66b3df096048debf5d36de53adc916d6b90636c4a93e6064eaad5868bd4f1193fc1978963b07a7e6d07fdd4e0c65e4ad755cd6a81d069f31db15e89d6b5927d917695b2a9bab9c274d6bf21ab7a6e08b99d4055de8fea592b5190732633eaa719fbfd6e8dafa022cc89c408e57885031a9203baadc4665f3bba12cb120948c73f8cf8dca4bab83dd085b2f60b914c8646f4199121e453a4863813fb06574cb8637deed5e951dff9ae3b6c23c4133428db9f9a2dfbc5ae6ffafb89195164a8edeb2ef7c8c39d16ef337360a\n\n# tcId = 22\nmsg = 31303837343931313835\nresult = valid\nsig = 3215a7229e9aa9674d10ce9fa2a604976b737f6128a9c9ea76de8ec44f283641142c44432416ef7dff5b30afd778964d320972071a67c80d20262c6b1988efed0a82d82dc085e8d45a5a53e07771a014a116467c3c24e61e37499f8cb917d3f73e4f69857327966c577de6ae117a2d48d0a225b29374d3f6cfb5a2a69860a9b428fdd453e5003286e2727b8404adb2ee897bd2b10c7cba9071be535566b65637a055ea73481fada4f3d1279d8636695c5eb3f300e2b8d13b054f6ccc542c4b627f694329fb79613e28cd982a12514f1b5120d8cc2ed39d918a98b279f86248a02aaabec7eff9f84746df8b960c27c18d96c57a79d368de98f5d800a9b45d07fba6ef3562f4cf92870f41dd3b2d24171075dabd3b743373043892fe6533d3305a23bb84c4972d450e54d7068e1762ae1a445397d81defecca71a8637b88011bd3632301a41416fbae53bc2bdaeed34431dcf2b321a22cba5ca40ce8caae5e3e65661df75b21976c7bf3a4e59331cd22a1fb9d6ac5b1f7a15d4f9c3b4a061dba9b401c4e2f113757602635ee52142565f99814ae0322c402014fc9f06657da3b946c6d9a46f8c16073d5ec878d7e4478f6cbb01f3f8e3a0465d0cf5f1c0eaea00feaafae050b58b8ce2400af131357c7a2bc1b01aaa749907bed5ff4f43de8f9353b09b4edcc09f6733e901b678ee8d229d1df64e53544e9ed85bb85cabfbaf8ed\n\n# tcId = 23\nmsg = 33323336363738353030\nresult = valid\nsig = 333d93bd98848eb0a6bf8702996022ce3adb8afcc5f00812a0ef9693a44362f92e3a6d6e3526bbe3042ac11f42f0d64c0e40543c8f29b771923fde7d7af07b5fffd537742c57cbcc313231acd123f95a6407749335b7e0f6487bc00cada59b3b4265d79bcb7e830d33c1849106c01de1db87b00bdd68ce9ef55e3bb00e3ccb79ca900975f4d57d9dbdc105755e8d0e9ba1d953c6de3651eb1c2f0da3a9a2012039fed133b04103cbd1fb2baf08139e9bc0b486e43a2a159e4f2847379f6df72ef0697f7b801c774546e262a3e787065b564d81dd403e2784d350d322e3bcab396e4202964345b7d247620a9d10cf5ccc14bc2d092e715ee354438591edebfb75f1e2e503a2b46a7660b1a9b94bb6c2786257f3af0d254333ebdb7aa979e1bd56882a896ccc5c876e48cadf117b5c2889be5d9c76f31fc07ee410e1bbff8294e86c98db68a4f7a9da8d9959bb1e03180e609e553b11855634b7f2c8732f5da03027b958e7e6341054d4dc8899d588823ad31c5357d1dfa5784f3cac8783eb7a41c9a9655745cfba09893eb6280e479893abda38af66e72290439f1309642f955ad73b9a053c46dce15a85d96820b574be79aa2cace5d9b8cc74bdcb6df69af1e803549a2fd61c9087c594c4e1413fc8a9ca227e85d409ec595efff6be9b9f258ed38704cfa36f3a8523fdf2a512219deecb0db5110283eb126d2157f5056b48ae\n\n# tcId = 24\nmsg = 31343438393937373033\nresult = valid\nsig = 27fdf556c2cf943d81e8fb9eaa7954a530e639f3fad8937759ef1ebf4a0fa8538f184badb3c707542c2c677b4deeeeeb74d0d8b2284d26208bebaa2cf3c6ab89ac6adbfe30ab21f2c4a22efeb08bc025b5b8aaa009a4fe10a18a8bf3cb3f64f071b5940a8424690b2f86f9fa0a2ec34b3189a4e64de24dcea69511ec7b42c261ddf80c2d3931644a70c0a25870ad12e72c3bc9f0ebb89a81b8bc64300fe4f57b82bd90990dc33dad3f026bb3350ddc86661d1dae27a1811331b6ea363601d8665077070076d710af3599c838d4c5b90787c1ab61fdb20ee9f9a9a5242575677ea4e12189156aa32f7a474be1a361f49ae1542d80226406264ab4ecb5e58277166cccaaa2029c14ca8ba4b48b96d4bb75017d8de050f2bd2a9230adfa263a17c93d00e6539b884374ba8ef4479a59a510692efb9a3a3861ee2f7c23951bf60be04cf309c23f220581a8041321f73ce14c4c88a123312f603b17a6794be50287495849b6e4513fca78222f7890931fc91363a2d61919383920226fc8d7a6e35c6be94da6cf98ab3a8610e6d332c8b7c8f33f7d88a51afb91b94f1ec91d6f91b889d160e568410577faa0fdd5cc06370fe0d599a5b80e626cebeeb21a2d43e5b983217adfc2374209dba27f1edfec6a898d7583cfdbbfb0919ac3683a644261d4b4ffa67d1e4b0bfc9ca618dc884fdc3dfcae04d6cb0fdca523637c731dbc0b77bf\n\n# tcId = 25\nmsg = 35373134363332383037\nresult = valid\nsig = 84044d4d09140944e3fe1e5aec8146478182e2f13df2f27aab9fb4a8323dc3e25ddb80847bbbed2357713f8f11ee4167681814b7241c066e76332a0a87ab2e644277d7b3c9e247785ccc0e199c918aa90904f826fec797ee985e9dc86f1785f5973adfd3b2dd891894496b5d48bda3150224cbe8ad0e812b704612b864d3c9c1b0355b6d411e113769180af4a6a06b5c3886cac06dcb14be1cbbba68b5ab2ad85f830b19ed059581ac18a06d6c68608a0d95c679624f02966ee21a16f045ad6dddecfe52458e94c3e841640bcfae3738305666ab128ceb9651725a2725c275ef3e1dc2fe95b291aca73b843cc9024deac370eb4b1de1f5300a8353cf5e56b4cf23369f08d82bb099ebc588a0612c0b855270888a3edd2fd73081e54600c9a7a85d51bc9f6236620886fca318a632cbd7df6d1a677727b0db2713529d7e49c2c6c528b615e11188e9b0078e20d7f4edeeeb466c1baf6853696c57947f98cdcf2e96d7de82cb920008000f67eb112e3b662eab4ee5b5b528abf3604cbd5161e5aaf618356315e1e828425e6f053c3b0791d4cc9e09b9f3ec5fb6117a5e59ccddbfbc959b1fc504915b571bf625187831d5e1e31b6d547cda5a9bdf794120bb7e2aaa10f0a7d6ab3430784718321b8a3904e556da6de418561f4ce4197db67220cdec2d62271b404b9f8b235f93a104707331eff0e08feae6ebe36c6bdc02fbe6da\n\n# tcId = 26\nmsg = 323236343837343932\nresult = valid\nsig = 124928ff9607318486e427cfc88c6077f2b078c9e96abc1a6320fd44c166abb404d44de0953e550dbb83f696cfdd7263d3e7dbb9f0858213ef6ef884253729d38666398866c114bdcffade0540fa5c4a5d23ee78f3f26d275da487ec6053f869533640a023807559d1ebb6d7c860758567e40477585a761b2d0a29bb60badfccef9261aca3e8ade198ca3c661faba96d9a0d8c294de861e088c3329635e81af685f53f76de07236e2bf3645d42728bf5c64a1acfc00d0169fe6a5e68e06c579a7e801ca6cd97799f6b640512616069b074c7a9bd747473f236c071101c5c7026d4f2efbb50d2d869660c8b144bc8fb0861f38f06415ad7a2dbb24d942e13f7ec8382225c9de487fd3e14c0a2639e480965241b40b2eb9cde50abb3ccb4eb2ffa95299423ee9ef56332425464c5eefde29eff02c14878f8810329dde78c2dcfea52bc58cbf27358528b5d0957b1e7dd10efc31859b1f9d2b12e1a471f11702814f614d145eda9f2b49dbf67529b1f16acc3e511deabb5812e83a6b379342c17a391bcae1e80315904ece5a1790875c024f0dd139d0bcb23b05a6eed70cfd0c02e9ce96f2adccc7272d97289c838e52c3dc4ebdc3a7b6d2b12392fa12e23d0978c9763f3b0be72c436ce14fbf1caa5898c0e674036a677eed11cffdd425c52c61c37758c62a4e1ac6f59255f61a11515f0afaaf7a4e36e0052002a941b1d2e07de\n\n# tcId = 27\nmsg = 35333533343439343739\nresult = valid\nsig = a30ece337ac8a19be31d065ef3127ce6e996e8bdf57d752d11246b41cd911698198b05552a0b74370b9f5a001a56017fb79620405feedc40c817ef5b78b9b225002ce17b30f3668fb431928665bdf7f741137aadbd7f342643c58a1583e4d5db94887dbd693aa6d0c6b9caf5d17e0f673a52b75eab455ed273f93f32708cd3fb40df9866ae3c4a9c6d7fd8e0f0ac65da2019a4374b39ff9508d692eb3b7783d82dae287b1098489956b85ba5fc52f4c28d88ce6e8a899a9ee0ddf0aeede50ed0d8fa022ed97d34db3f98c949f6447c780142e47e3bc5c7c5716a22dab37275cab5fe3139ab822fc567d2958018e13e08b30cfa4194baebcc49ca707699f407861ffd8e0d12096a8e3c1318ea28501229093902ddba5ef7fc5d872396d0bc1062f088cc0901dd2c8893d80174826a13be0966c61b51bc2c3503d6e9d856511d34ddfe8b6bb4f47263617107f6cea82a95cb018845c6b4e7ce3a289db8d3421060a08fee5d9b821b19b01b7de26f0f2b0b5c437c54da03bae5774c08e14d9800da9f2b6d96c2b1ddaa2cbc95dcef3431e9a0f0b048812635062389c717badea01b05ceaa20069d3e2467da799aacb9c3001db84d6028e3ef513c2085dd14053673270abb139c4a2021a1a0e6349b4cdea13d63dfb2ceef45a18082c7cf3caa837b839056a28a911f98b5c2fd", + "9f700647ad1d0a9b3879d40ed0ab0ef8a437e8abdf\n\n# tcId = 28\nmsg = 34373837333033383830\nresult = valid\nsig = b8795f4caeeeb583357b81fefc816d41212e240bea508ff8dc3b7f668d016a82dc6e47766d0f0cf858f321284d27b2e04053623d71bf81e0dc2a2234367bcda3f4f3d337dbf0f29dcb459575884b57828bb0b268a3503edac4dc158ffb8c6ab47349d0b9eb491499e848d891aaae659397948bc54c09bf9522169915393cbe84cb8488e81236405c9d88911652b899fe8d9a84c4e12277fa752c6ec8652d536ed48cb726032409afa48150e819a9d2583e80c70fc380c5608f5617abd76fb50a967c86a7e8b965bfd9bdcc0657ca9fee1cf99b185b284e1cf996e8b1c2e312aa9ee732960bb9f56f882fcb89a1269cd89a6606c3a0907e9ee4672075ed53ae0adc7d95e0420c04a37b07721aeadf42d2536a23f99cd1bd4b64aed6b86b9c6767d12d845c04b5a24ae85f63f8e85ff15a03442fca308d854dfa1ea621d6259e39e49238b3a92bcb5a2223fd3d949e0c6333a80f16200a58521d66a9aef1a9843cd4e514e45b2e33072307e6a66560294cad1d61a103cbe4242b5877d4d5726498397043188a2b8043bd7d3dfab57bd598923a3f1dfdf42f74235bfc64cc3c8b813a2fd93bac3456a5d599ef7df1c53ead4d45245c92a1c26e9230109fbbfaffcb618f7ee758bb1d50275b58dd52c53b0469910095a803cf88ad8129c511aea159b2b7e0641e1be32c4eccd1ed17f76e88751fc2962d3b33946542976b1758eab8\n\n# tcId = 29\nmsg = 32323332313935383233\nresult = valid\nsig = bc9778eb784cbd743ed12e8fb75b84f7e3bfc1ed385ea432582429d85988686e462574959ae4279fbc950f1f3e90086f6997eba6eed80768195a94ee7bbcda5d07aa52ca456c0942e3651ed6465e39466184c348c2f66f12fd60d470ee706434eeb619119f7ac373e73614bd13956afcfb2bcbc7713850985f975cca0a422f26d05280934307ed1af6bc6544caa502b2f4cb489e818b6ae692f7f8419211a5a4c389b6e12ffa140390ab991ba045d2cc5203a18cb032180e5bac282ba40bd46cf0afd3304dfc881b96c7231cf9fba8066a9eefcb8fc1df383c8b9a6fd53ed75b9cc1b3f95b175617ddb81429636570599eeeefecbcf1e1d5ac87d40ff36bd6ce3929883c54970347e4c63e37b90d3492f31de90f085acfe77c26daf59ced624468b6da78cf74e06df42f5ea75f2508a790fe6ff19764c724a68a2f41eca820b8f5c3f991b101443429a1859fede52e418a4990e5a26b0cf9a0fd72bdc26555b026812e34ca880aa4c6a7efb10dfbcb906a16e9fc45b42d80bfeb87d46293ea01f4c190975d31378f810a53bcdca25f26f7ac3c1ca5347e39d58775b409099e4b4676ecc9f639f696e8e408cb0d98d9c9f28e12e1d257716fddfef42b41d7b16ffdac7b097c4bda1f1005b6732c00d1a70167ef2e8e5fca31715e3ffebe81e48fd74d62e7b857b523b093f7b742cd03cfc3a256df6e12cf1eb3e40365b21ab433\n\n# tcId = 30\nmsg = 3130373339333931393137\nresult = valid\nsig = 41e786bab9130ad3d4b39b783ba231ad3744be0ea0ea7813080ffb328922a8fc36fa9de54e63a5c852a5269cb72d00fb6e8c73a29b4c5cee801f5e033c300bfe9739f961e6e2f39a1974d7d6a31cc49651ffc837584077b612f9c5e3a2bb948eb467c7fa5ed0259a47d3f9c2047485beb178dcb49c429c1bd40665d4aa19a9b968550af7965ffe517b9fb62ffe03dda88971d0a6e7603420c0bd33a979f725ab91b3df1d6dbb5ca0585800190a1c1526023863666414567c4f3557776c940bc2fe9c1a82257c81179b20f356a02adf7004d2ee20f7968de988d3991d0db4d751edaced0748cb14e5a63e7907698fb11fe1a851ea8c1d8ebca09aedad67251093dbedba1db2aa38d7f6fec7d70e4db66fc87e05c6bce596d11a6d93f03f6b3d3fd23d6eaa7fea0a98fc87bd1f6a835a760148b2128c0ddbe181dedf21df24d22e9543269a2d990b249445ef7b59574e127ba8410289ca8e54d84c6bf2adbe2229ed980e9e7d67f600b34feef90f81296f6e42c4c1e0ae8649553545a5b857196ce7fc9b6c8d623890b133bfc921e3be2ff7b05364bc378f5c4b76fdc32c4bb95af2bca343ad4ecf16c8369dbe8771d7571fc1aa3090a2ef25783401239401bc260159b85fe1bb895a62f7a4774192f9c21aadf501e43db1eb1aab59d4814bc071d910bc171fa27466b6f85b44d218154ae9825f6ce3bdeccc3d00a427f40530b4\n\n# tcId = 31\nmsg = 31383831303237333135\nresult = valid\nsig = 357a46fa9ced5c078abfdc7c3df2450f869f52e78cbc3eedb1aac8200c6e88a7f40a3c125c5145b71c2454b800684bb0badd1aaa7fa88603fe6f0c0049072128f1f64b12dce27c535c010f62896ef16c7bc942d51b58aef102279c0fc13c2cf873d5f7324c8b66343f42e0099530d0137741925468221d5cc67ce7fa088be8ff91180039a751faf6ac2b7d1b077c61d894f5fdaaa229a3b6cc0bdb665ad53779468519b02e9bcaadf7cd6dfa9f851260603d5ac2cd83d7751cf0e0f3a548b17c8128d5d2341af8da4a1d0434112a011825d031607522b88ad1c68e5f2c3faa466d3ccdfa0b42a34882abc5e3b365200c8fa5fe5b567438b438554c5edd052774729b497e3153a1e0626081f09da04e553f44ee723e79b07552edff4d5e0219226a47e710fc185ec664536964eadc2b315c44511e00586384316c07434e6732b9a58930428dd25beb134554adb2526687080451ef3bd526a4f8ef4ea5b03416e15b522cecf411ef301db756f6421881d2eb178a916f2a519aec536568e58acc618be791e90dc7eefa8b7dc5ecd9f5f1b9d6c0395b5405c0dec6f18e5a1405ddfb17eb7dfe98ddfc88076ebf6a213a27f92c4eed913ac4bca710edcba06c12a1a12ce2a95b4591c89faee02c01445d3233f68ce52c6c37492930f03fb701082f2c3bc999a4f70be3b77e45c097779d62caa54b405d7b92728f0ed1724e4657e417\n\n# tcId = 32\nmsg = 36303631363933393037\nresult = valid\nsig = 2625de9bd8a16394d1cb210d7b8a6da3c0a4ae0ce93c9d806070b51e37dd10efb2026b38bc8114c1f9641e1e7048d41dedc298d20b46cf58f9b078d4fb2101081c4747c39d8277b5012256cd91794c1fdbd1b4c712f861613c9b5f1ed16bdaa5812cd386738669bc19de21935bd2633916ade87a0c030940767d7b40c9d604958e93efbfb6e926c925870785221320a4fc7d7cbdeecc4a68f2ee65b4256b9bcbf41ae409c3dfb1facc57fac69e7eaaf5a05a0d6f4d03b47fd6a743f54cde2f1e897a6906f474185068ef558673bfffb0c854dff1557272a4f445a0ef00aaec400da03cc63caa4d8e6ed8ecc0d13855ae0a4d27a7a6711bf8aa5d270077f7a6c4227a7ea5b6a85f99bf370538f6b42d8d50a2182704e813acfe984fb6328be30ecd7a0f9c41b93b1c3b2ed60ccff9d3e26fbabc06d526c40cd2f9afef43430424309d66704f25f780152c82851171caeff6bde11c0f6c95ab22c49364505649031e3104f1431b6f460d5346b9ab2f7d027f7a79a07871359e1141b7a1f4707033a99422528d76267c35891222c4ed239dde2235231a33771ae9c776492946f4ddf61c4729b840e2dcb69e6ba61cf1f418cd2420d68c4f59350438468e79bc8e64e16410b3559d661efe55f2144ab70d242964b69830332f284157ad178e2f6c13d8cfb17333b172820b4fdc59dc6012799ab84609f6ae3546f30b75572cbe9b94\n\n# tcId = 33\nmsg = 38383935323237303934\nresult = valid\nsig = 480b74783aebb8bdaaaca7a38de15dcec5399b1cde57e17738284be15f78c4e43cc88fc47d03b36c4d5679455293eb7b4d460d7972dcc8f0910a18393b1921fe21db99656a5268b373f06ebd17701fb56e59ca4ecccdd3541d4e3ddbcc9900cab7f5dcdae2db330bf22daf88c14fb6c1163ded71915c98c0bd62854474ab4fd4d8eddfbed4e1b9839b72b604b2d92d50192e92c194d6217fac1335905423fb67c69a9783f10e328c8bed496460af84900f5a4a09b2353506f5d3b8541eac68070f2f689b61ff37b639681cde00223bcb18ee684728c1711241b66ce0c82c0cc31b930b8bb38b4c77d1487e7607694b50732dbe5274b79669126fbd2b36c8a45acbfab7859bc85f1b015331e5a2530bb97d834eaa6425906246a0e431f607d726eaba2f60e1b02546c74390179a1ff90051feec8a1bb480971219c798e4a3fd3331aac9f872ac1132e553c0fbe0386d8af74959494f40b8cbe0aa43d38cfdc3e4c395d281b994de9f817a67ebac6f823c7fd100f95916143956b8c914533f0085d9da4870bda3fd2674e4e77ad21fae38d66b457d822b8a298d6dae06747f4bc22e0a64e5f6d7042dffb495be06a467fdf1516bbde2da1644b55eb8a830e3d1ea6b944426b30533415d0cca18d553d9a9cfd6aa010fd2cf02b90c794616bdf88aeea69d6eba50feff4f59418092b1c2a5a5cad600e5ecc18d2d50cd72105ee6e4\n\n# tcId = 34\nmsg = 31353830323334303934\nresult = valid\nsig = 3230da5932377b776053fbaa963aa0e3b697539bb8dc58e30c43ab8c949d69771faa15efdc5fdc33f2b521b03d4ddd33eda1f6674c7b53daa1a0e58f1c280a406e65201ecc9cb79d0af18fd1e99519d4b6cd627b925c1d7fadc23c1f87478642892fc1ed76716193b42b4d4f5119d8b46a9e6e1770f8ac8498e87f1fc9229b6f0f3c78394bc569adbfeb4ce1351029806ba1d0d09732e339ff0846cb4e7585e41e7c68232f0129a8ae8032d3915050a70ac2ee89e4b16d51efbcd9b7e79dd49ada2496a2a6fa6e7f3c62974531469036739f37f5c21647eb398e83f2be9fe5151ae23e9fc59745336d85b9b36cbbbba664a8ac743cc6d9f382acd4642cb9c62e8a313418bc3fa39d4568c040d14362556b66b04899c2106ee68ffd6f745121f5e59529a6a427f2b493d64c6953285c45912c2ab4dcffa55974605bd58f5b586502322fb4def479ff3dd62029bd2d87c120ef05b5d2f0bbca39fe9ed5fdc621149fc3146f8e10c6b8323f1847ebf0ccdfa6af44b20e2e775e7508dd9cfabc3edd5526848ccff9eb3a42f2cae2782f4037f712ed7d2d929b1d3e7824975463e0e16169f4e9d121235ae126615f22ca0444c7ff5eda1725efa3e19f1e587c3200cffeef61b36877f806942ee488b5e297900618abacd9ac6e13d8e4f3054242f1a0caba211c437db7836f016270d2eebf84a393c0a8839abc3322af0b95434c5300\n\n# tcId = 35\nmsg = 33393635393931353132\nresult = valid\nsig = 5341acc50c3e51e660fb0d7e7557f9d4ae6ba9fd3f4d924d1bf8e31b3d86fc5e9b7923a7a7d13fa965c99aeb6393cd4b51010fc8f87e91b647e15e5fdd3d04ebf537145537ee3a749cd9314d38ccac0597ae394b8eb7ae2d8dedc626410f61b68ed893171d234bb739daf06650d6aab569ea43ae15049cfc0bb4cb0edeef0a74393801a3ef4c84ee11631adde15f19584297e63ce8368b1465151d392f2e541db4da52b34541a2a1f56176d5128ac16fa86fe28dc54dc0468e2baa6b60105aa08f72ff18833cb2f62a00d8f168c8f8ceaf453d2a519c69751c449482845ffe7666fb07e9a14ba1136da78ce353f5a487b4a4", + "a2d14b2cbc3e85131950871846a17fabe16538f61b560faf5889dfa5b6c357c83bc95abc559824e4842a3e1adc208121d1f2723fb9e19cd22f7ee67d82a6766ccd6ef71046e2e5813f16046091d542e908d839df3ba318af995d8fbfca0969956557a50c4b2918e34ae651741c2fd2093fd935701a4e4bd55884043f88a711a86596812064f636fc5b19aed055da9588f13b73f5ef87038a20ba96783b36921ea108eff766fad83fffae99bd420c2ff54fb1220e2f8a93cb800475ea8cdb68e956cfb986f4c109ff7f90365c02d9db65a5f3f925c3a5dcffbc83e65eef0d6cffa0934b08465e9bfb47c55372de4d5255adb4fd66d3d349615e55267e8698dfc1cefbf14908d737b56ea96e3a95e2\n\n# tcId = 36\nmsg = 32323838373332313938\nresult = valid\nsig = 37a64cc1a6add0bec1b0f8ddd09a18cd97ef622e90d3146abd8f22fb2aeba3ec8f310a71509be78b63e20e4e90d604207b3c1fe8c666f0c655061bba49220755c08d43354c19d81c21c344f0d91150bca3c737d75f3bf74cadf80561fb30b2b07ba70530aad6586e4ad305db2682af5462cd3e0a1fd0f24913a70c275a42f858e8f6e3a4d5226a8ea7ca456a9902ae7855243432d1ec69118f6b806cf59d171356c638ab19f840d0069d34870fac0c15ab04312232b6d1f6921a1346d56b49cf57b1640cdd3aaf9853f5c90a80363f8dc561d4408bbafda390c8f101c3348ae62353c0631e02eeeeb64f57f544b929290658b8c41eb282c12f89c4c0f9985f7b1860234fda19d8e89e99afea57665ccee286dccd45725aa720389bad1be364717e6e3c6786a68600cd89b0feb59746c9121558c7dc852480b24aab1fd9df39f4fa523e0928c6e37445d06428ae403118078237125f8ae37104bf906357dadfa1ca8bdbd8c97584ca8ffd24975392bf63738ecf94500ef0a45793469bf71b22f7b4f85054fd349bf1ddaa9b3f074f8aae07805e225dff34b51653c0f15ad1ec25d4c8056d6798c651d59c74090c204dec1127a3bfc0447ed9d62d74d42e145e6ec8157fdb35282f1c9e0b76e46849db528c0bdedb37c8b9179e0d0743b2619e5cf192cb7b107e17545589f750e6dd7843f94625ce29f45e1519ef8225bad19033\n\n# tcId = 37\nmsg = 32323330383837333139\nresult = valid\nsig = 9144b6b031bcc2e5f3dd39370addf3bee26f9280b0c10ee13f022953b230be29dbfe562dd83d9e770c0670d074139bfe57f46b7c21d2d1b6e8087fcffdee8886546729d77bde5bfe6180f61f2c64b2d4923c5f18dd0fb839a6313020a7a885a75af0722c680a30b5e3d9cf19375bbf71b46db989afddb9e7a69fa5936d80250448ea1aeb369e33f1bbbb23bfccb25ef8f77ed87f76090eca682e2b7d32db813556f245fe6c23ac7dfe3cb370eee8b6bf1c02efbd98847ba8da6b175e6c2e8f7dc17a0cc21d776bb24c4150a439a2d9eda4466f23329b3abba8d892b18faacc85c8721d825aee636083ded2d5246b57fe4fa902923e38ecca5671a3c6aa26d316b195d9e1722c419d8c6d8c0f8dea9bf5317ef53293aaaba09bf22dafbea463dc527d80f483bb06652ee5eb160d5f51d6eb48444982725205eb96cdf9deb3e5e96e7c338237f83a794b0cab81a46afcaf986311c34bf7f5a8e9b43b97061aeda0ca2b13c5b3554e6f93cbf5843812d98c6b1972e2afa436ff3ef0ba36a469b7c586b1d5ecc52f6fdce79acb8c39ef673254b9b565819cde45569a60603e8c9f583f9e9790c6700188a6b3db41776729038ca8d8f1a8318832a91c964b74465cf3595c7c9972d2bb4b530e21da75882cf01e55f0fca4954ce1b7ca5d73f1da6d2b2dadb26a280ea201bc1e9a40da15f9d9ad78a5fbc50a5016741789d624fb3887\n\n# tcId = 38\nmsg = 313239303536393337\nresult = valid\nsig = 100622187bcc898e87f6f272932a6b46756a0984294ac6acabbe7dcbc91b5a917c8e66bb1b215923887b2f2a5a4ed73aae181b9bd93bb7044e1a4b4ad7f83c14614b9eb1bb33d372fc7af70867868c973dc937060e7ec6464141a0ede77d25d602aabc2a7498b20c6e8866f88f01baa39d22047d21f403b79dd325e08deadedac1d0663a6997e61ebd34bc0facc1ab6be2e885b53a76b34081d9f816542afdcfbbce026fa8621e15e88c3829789f0aaef787bed709ae709dc8e950b2a7c6246532d7c80d5213f0f3963fc6e4576c0be0111e491fb6e07a3d7726ce78b8016c4cb84b043f672291574605dc3cd06f65195cdcfeff14851437a04a25e77cdfea8249a8025c90e3ec56ca54973e96870c444850989ef28a20227d459d9de8c76000cc0d5bc1cf8bce85730d3a01a68f4c5392fca2b2180781d27f6a23e5e571307a4ff3747af226c1da1e9594c68049cd888cfad31d854ee695cec86fa234856ef129236f9ec7525aba54b353b4e1b6bb8632e4ed786d63c9ba3e8de333ddfce5fd97758692c0079482c0fc6b52951af966f38554732a1aafdfa04a77a7b76419fa9ea60dc108d5de7895d562e78d9115c498f0ecd8bb68861a22f8cd8b47cac1210d4362c404210763df395e159db96897279664d84770382c2014dbe19726664ed36f61d2e8e4e1e7e0621bb5215302fadca96db6f0d79e908050805990b77101\n\n# tcId = 39\nmsg = 32373438363536343338\nresult = valid\nsig = 2bbc4d767cc945bf2c29d98091370cc283b6c0a0385f2308fa22b6c87be478574a82397fedd9f12a68e57d8a8694c46762d989f3ea4148da77e220ce007ef53415755149030f175edad2ad35dc1c16c163c79aeb5e5406bd9262c286e27bc723106c8c2ff48acf0194b11308b700493d0e3d3caefe743e6b23d9a9150680b962ddd1a98e308c4b6ebc21af02a37fb451831ae8e22173ec8b78b9d6d8a85a4ed13b9546faf1fafae08888202e01c737cf8d50b2f8e197db72262bb0fd7a5677ff8934dc20e6f8778bf78c29c0381ab8ccea24f98dbc32ae4255185e817f27d235c1d954b8da4fe6c04ea6530ee543b60e1db17bf43ccd3abfd70f0ba183ae065f6464bb590d6f2c459455e91a90b23c46f30231a00546d236c9a8d0a495c322a73dbc59aca82895993bcb21167ed5ef11c36c6f8a7db09d80f827e36d5d31f71feec8c862d3caf837a940ee3cd98a29887959b02b62111ccd6cd13d7d569077fcde4f6a48ca07d0efe80473508c1b2b10aa98eb00b409126fcb8b8c172c0ffe4465211e31d8af6ebec91a6a2f720bc17f064dd3782b0ee6f0a64e711a7c7f3a20ec5c8a1658d75f48c36a6a158fa7400171de91e3149e5c09d0bdb86f34b98bec418f31d982da52cb995c2e3c7c6d15fe14487e033074069f7d4e9728ba85558efb48017e4d4f8353055d6a4612655c5171dbbb1839acdaaad7988c1a9aa2e967\n\n# tcId = 40\nmsg = 37353833353032363034\nresult = valid\nsig = b9f142c4d82978b6d25446a8d7633fbdc1cf4fe41de210de3784c9f0030e07858d992ddd8e21b289a4094e6f612cfedcdd1ef2cc9c10ddf78230f0ed2dfeee1987d47b45811c2a44a0a1a1155d8e2877100797e6710b222d1402e7e4cdeb09b09953ca4f5a9e49eeabb79cc4175c33f667665fa2713bb589fa54d284f544fad0dc09a3decfcae813c1e48d0ae5c63889d00905f8183bba916bfdb9de548ae807593319c866b28d19c5f09c32f50cdf782439a1781f9c1dd26074c48bfb44b4b42d7dde4997cdbebd74533aa2bed5649d0176a1d56286fd492048e44b180d8374a9f5e0291edcff5ca6f4b6ee7648f7720320b4bec6c08ba6eafa55da7a4d176cf4c1764328d7a4dd33a5130687ac9a00395cd3c5f6bc6ef1dd14301252752a37414f98d476018654e280657e14d9d9db6785497b1d666bc22062c274da2cd0858e29c6d1ded2d59ff8a1f71404e117050f19f07bd58e98e082d2eab41d3313db4a7aa04e4cf572c8cfa1b41826eb2965d8bf8994715974f80d810deb67288edbc5d9c8ffc5e43d500681324300c55cc056a89d5303abefca46933570267b25583c676ea2d05c5768cdc47f1f45e2b4ce5ad06a1f59d1a13d07e44a38ccfeecc4e86ab76b3f12227efd81bedb5a4899c2541313912a91e907c09122be5a41c54cd4d2e51f32c2a333ea66bb3e91f7a30c2bdfc6282fcb3593176e818586d28e1a\n\n# tcId = 41\nmsg = 32333237373534323739\nresult = valid\nsig = 4e4d0945b118bdbc1f7e01904a5e99dfe7b83489a07ba0a626032e5b86ad6fd3516b1455fbb67869d2b4ed1e85a5387bd2a430432b4e6c5073b81c241352cc1baed970d05f68459d9b3899b9e171455b19d9fb83828644f913ecfc403172c2f615be8751ac083d906d2b7f62b8894ec786afa3594df67ac4f3ae9647fe712a20a13ea5e980e0cc1d57bfbfee2c54cb8ee7f5c73424760e1c7819ae47e1527d0eb326f6f00ae38a16a19f1b2abb4c6e0b107c1bb0b4252f4bcf6d354975af40e5eddc537ffb6a64570edbaffc3694b6c92d8e82148dfe9a54ecb101b130a5f9fc6d10f20d402aa9964308416a2cc35d45676ed8279af31b0cf720245378d7608830340a1c2704ae2168358bbd748cf0b4b4a474cae2c88af8d7b709f668c3dcb42868aa44d69efa33b5b9e313086a65facbb60699918f2fba7c333a10082497f563084e8b5247837f46ddfca0489788a813749ac96455b849f8f46682fbc43a995d66b61f089027a4dfd758aa7bb35569379151736097488315871a665910b90c67a46c4b3a7c9f9e6822d8727418952037bc8299397b62f3464b14005f966ff7e562b967adb4ce685bed3ae3fe9cf21de851e1463214446c1e7d2dca710354533ad03c99478f3e199412b45e18cf0e8ccf75d5cb3ee2e8df5eb7c9989fde7942df9ab44db43795e5b969a31724d0ba80dea62adc63c190448435699e2106ba99\n\n# tcId = 42\nmsg = 373735353038353834\nresult = valid\nsig = a31aa9ee1f5a0304ad55384b6d2dc8f36e834b191d11af3161b94a030b13d854c67d775ba612c6aaf8d2be1390ea278babc8409a4ffaa8ba2a921a39344b7868ec9edb1e7f5f268a4ac487a76f3fb72e48d17116d69ba5146988056c864843d84202879c2bad3b7d4692e42a82b631c19f26e6ed7c8d893ba18dfb92438e02be12a4ff40e57c174686c6739c7f8444b9c5313fa9686ca3a189ca70f9920ced387a97d7eedd6e4236ebc259b0681bf2b7d72d7cc22e3d8e93dbc8a6a28485f2777563f92755cdd9be8508c8a79115f7a3d3b6ff68120981830b409fc61d23a347ec14ecf157e34bea26d11a4c1d9236c6ecbbda28271d1051720db1b794b050cfe94c047ee5bed34dbabf1d13ec9918f20413da37adcb66384f6f553137742bdd3f8037c7b7f50083242616f94513aedd9f8f7d4437aefb684c5ef02121548f7522017588818a819abe5dce74dee7910ccc80cb99efc2c99ddc6b07f7aa17524b8a1f3b51712d0ef8faff38371b13e24aa4a93abc44996c29557c4c0f9316d5a61653d6917ba3fe8c3ecb87d900357e3bcae5c67b93e5441e8fffab1f4065e8e31ee3b7f5f5c137db32789913cdb4a716282909bf71ff4664c1cf893784832ba0881616f6a2d9ddc462ea630774774a4e2ea624404a71c5bfb727309504c970ac60b1ac551943cdcdd2af2e439f7720a37ca106e693ea7a18ecaf481194d15fda\n\n# tcId = 43\nmsg = 3137393832363438333832\nresult = va", + "lid\nsig = b243ae322497a9009b709fd8b4db0945cf655958d3201a4989279bcd06f0b9e879ff7545c9019752200856750ada1bfb023d492eb3b13aa9d4fa4de753e7cb3c261f742ccb79a23076068b53ff91c4f1a5cec0fe26adb4df0d28b2c9c700eb6a8b1410ae14b12030a7fea4bfded54f2fb10769e29596485f14fa0b58e440d4b03a3da9cc390d51da7f23ff05159a1378b81bf0816884b47ddd98608763b1554d15a05c535b4e2d862d236e58c47369337285fec82ddecd5040f3d4423050b08c6eb1250ea7dceef1d0f76934adefaf85e9e403777c5a3c1dc7d25b61c78e6e9dc7fe28fe3231156d058ee4d77248d31f061b87ff63c958e34c3a7db880a9e7f7f8607f5e18f9aa7420a36aed27e341f6202aa308e625db2c66a354433f8c0d50df1bec0147481780e0c19c2192ab6547c3bfaf237994621ca2e2a5def1813e9f5a31db8eda86a6b78ac298d6a468126a372939de76679fccfd7e70e4815f4cafaa4292fae6be941c9c6fe114d3256fcbf27359b8230c07767416c9920a39893d6f39b9523d87a963cbaa5424907a9cd2a6d2f2a8a0cce52eaec6ff4ddd2abe1df1ca7ebdf77407964fe113106e23e65d2fa8203f4fcebe291677a9262480a7a2f9ac24fee57813ca0a4cb6e76cec07c54115769ad3db2a2acf0697e1c00c431528d26ffe9a4af263b5b7c0505d2e3c014ad2483caa61592b98f3d616a665b8a8\n\n# tcId = 44\nmsg = 32333936373737333635\nresult = valid\nsig = c29ab02b78baac0eff29c99492b90af4401377140b9ef11e7b5f8f260835619c52b2d8ddbf532133f6051b1dd7768a3c46f4608ebb216d39437a94992db3d689f32ab82d225f5ce8d5c8cb9d55dfaf9ae17635335bed9cc8e315010796fb6b824cbd54d0441d9209fb5aa07a294a068cc7876a7caee05344436c0ddb49e75882f10239ea75a73122f7799eed71c8d13dc9fe72942d152c9226d66dcda67342d7740d342dc82b6e56f1c291822c06bd4803d27bfb56f453f8e3ab06c816f6238b1ab9494d00bb62785b709b7619c8e601e56a38db74e868ab0f3106cc8f529f12393742ea02eb8db7314a98fcfec71ce630a77841c4e6110015d5dc373e3498b9594ad0ff92e0e54e5dcd3c3070ea56c13a096618dfa1f1cc2015029d45b67049f6d13eaa4caf45521c4b43a2f54b552a8ba9488bfbf6df72b94dc5298ead25ef281f3fca75d2d7af966d41fec178870a9fba1c82919919b8323b405c1d5c8c57a659aa516f76f0764f68c8d38a19c4991890da00679cc306bd93c37c56593ddcf205a97e03f8721e393e0410196a96734f791dd3ede165c51bfbf6213fab3d0e7e3df377f271b1f75539d9eab4e05d1ee01a8b976b821564760d6342ae9524b4d7130f901756ee14f43c0f04f334f12c74375c9ce4f71d6de8cdd1d8fa5bf5c8786219dc043728f03dee4379ed4d53ea42cb8eca8cf9cc8c3fad34bb1a009da9\n\n# tcId = 45\nmsg = 35393938313035383031\nresult = valid\nsig = 679e642c924ed01bd07e7edd845994703b3fc010271ccdec98af34e982d34349cb0694332a679c27c26319b72c47aad6042756fbc80126c56a61642d4b2b3e517d2a2f11887c519b154687b0258e38c9517b7cc8753653b917de00d1c24b49e379aaaa8d3fcc22a34c61ea943c2cc89d5d8f4f26723e0c6bc9f6a4fffee8235b27404705b4a3b2a05fdd7dea72bed71221d258b54ead589b1a4c817412537eae62da565f256c2887845b2a5e8a0b5cb262a5ee75b912ed92db592d6793bdfcaeb6f13a6eff91c34d4532d5a82ab4a1612500450ae86db3d779b39ca62754f8ebb6006cbdac9509300c1e08c37063a00f74bd3072c5e40245bb3504c838b5c5850796125dd6bf80f5c6c31a44a8ff0f752591dc380c2d64f45c0f6b1743ec2a5bb11b73c2d44a407f640251d205144506c475060d7a38d27cb59a15f117a85acea81c24604bf1b52fe5cf59af11ac190ded3cd5ca872e498e3b2cb79cfadc0353852c0a990b2b8f9bbe5ed889947893f98fc11ca7e0108a8da721cc824b148bdb9d389552f8f877e64e5fd3c002cf63f1daf4494fe296dce6c0f92d8851bf5624e9c5eb3d3c00a9b15a7f6f7044462e2c9e49d282e506819f611d531883d3e2b450433ce253c1ec62af3eb47bcbe810598dfce8186a6e3eb1e9abf982a7f688b7241abed0d772bf435f79b77cd07eba9bb17d85a76a5db0be4f8b97e508639cb6\n\n# tcId = 46\nmsg = 3136363737383237303537\nresult = valid\nsig = afd9f21fdfdb2d13cc4c0d15892295645f14fcf7cb079f3ea2f5f5a6429fbea3fb218c2b173fa1b565258733b7c8ec5315afdce931b6a7b7411811847bf4b8031a6e780a25bbc568a491700f19d6980efdd44cbd6b421cd696117e150fed70de59c145a3091a835e8dcf086f9c8ce38f43e30149917fc4564ebe408a933323cbfb911dc06e9b489a79451355b7a4016c4327eaac7f4099c3ca502152dce7c807dbdbcf4d988df3bb722d8fa6babde785f6a45fd05ae72240d4f674a3cec4dac1c8c7faedb88ed10a2776769f217572fe06e258a4cfa208706deecdc86b1ea62a823bf9ceb0a65f5ebcbbeb92b273259969175f375d4377dfbf92668acf72c10bb3f2f2220d253147f4ed0f25c4a6eab394c07f5831796522c44c3457427c47c40219ccd6bc0492a694af6b520e41c6d4832c9ce9e4efdfbae33daa4c1f2c7f3a78019143b2f01f5ca343304930981bcadd2d526e79b5623901033bbdc58f6ba5937a8d7eeabe47b889b5b0d10a85b3789ee1f1716c3f6a59552d9c0760100ff598c3709dda142443908509716205fd97c7e417636ee522de791b4ad39ff58bf6dc2e7212c93790034ed6494f1e6f293cf60dec30d9b13fc331912a7a1765cfb74cad7c67f21197a274a8f75ab817857b8cbdf4b5d0ed9c0938ea0c539f81dcc3d7315fe415b562d0afdbbdce1e1eb8ee6a01c8042d8eff1aa4bb3b0d319ca8f7\n\n# tcId = 47\nmsg = 323036323134333632\nresult = valid\nsig = 75687fdc305d3dd6278c0cef3bdf1d62d7b5b047557170547d3021d546c86fa682e86def5d5ae432586704bd3652b2394563ae2a1bda25f3d490ecd4fe56117e963741a8cffb6bb81b99a3aea3924c05fb957bbd19fc76a076ab78fd6819c981d2ad2ca8c19b5a2a2bb2acbd864cf072f5d7929e6a02a14538c76442302cdd7c91e9fea5b650bf9eda222820471cf35a1af32415151996bca17802249b3a0884eecf58289695f1ed11a7e83e84641f1a218002ee292262a5fa48bca7e64c692d614590f76b4d08e7751d3ffa1b57bfd8708decb244e63b0f99abbb2c8c47ecfaaadb2a52c760add96d84332d0b995b7771775a926e4f4ebb2c7fd0676eacdcb261c5e47add0ab63c0eecd5cf9e24ca6d0264b131492da76f583e77dfabe06d87e2dcb97f6a089f1c41b594063af185dd3e8d07ec8c1ed03b4c91393cabd425cb1c220efb5d500ada045185b585189b2f33e7821ab9fa338f00c57c0963d0a7821554ad0c7d425e636c163f98cf329c1a458508e5174008e1db2095e9ac5f24d18ef1455ec40e8554bcc37289e55d98710e4ed764142c86e0a9e18666f39ad9afef55c623b7eb25c2599ffa25529a83f33808bff9ecfd2eb2b73a4941101b5bd61db7a48ddeb1e3dc77b8860234c0d14ff6109bb50b21baca14e3fa29ba2df7c9677192e833f71bc389e936d6de09caa718c9fd5d66fbc49000ace60000c1f2b9\n\n# tcId = 48\nmsg = 36383432343936303435\nresult = valid\nsig = 146174ae8e45facdd9de77c544fdfd8762f027a3bfbf551d1262e20e253ca2a2023d541a306bd077f1b0f261bc4333edd14154c6b13f80e1ba5a348b681e93f43f49d3910849777d244f941a060f218348e1f546afaf88bfcf5c9a2eaeaa3c459321c95e93cb461a043ab3f842c3fc5b0a94a057a053ff8da132aad03ed317d89632daf6890be864abb01a26ceddc1491e50041d274518719c6337c643c1a8403a0dcd785c8fb3f0487fa3736bcf7930a725ea01d99bcef4bb1eb606ccbbd847ce3e757417a64998478e22171293c684ea4b697dd9c0ef148c0fefeeb43adeb4b853c8ed9980157f6a688c7c43e0afebf189b3e28df1d23808f566a49eef5a40a5e34e6583f136a66a86028cc58ec2078aad28845c095305547a4f96fa3fd3836723d2d3b9e01cb224ccb3556e5a1b79ff1794bce2e23c921bf7fe40781f213e8359ffb3be12fe05f1d238d3283fb9b8f9997e2f1baf6acbc5102c193557eff82f27e46b4b7a11fc865148587fff8def4dd6d3a1643a1929175b0c9bcd9300f6fdc65c3546d36365cadd0733a9463b98d6dc2b1c2dccaac42b9136eef10c2e863a36337fa107c5533d07d46c6870a3e0cfe398df26f0c42f9c7b49567316dd04c811232b4345d5f069872a09a5abf5d8bc69a0a2cee79973abbed56ba05bd7d741b57bb521184e32efc10fa0549abb2dd7b731b38e2839212ae6e7fa9d0c9ca2\n\n# tcId = 49\nmsg = 33323639383937333231\nresult = valid\nsig = 5a466d26dc77549bab3eef2f1b8a8a35ca7701c346555f8724cc8a3f878178328b5760be49fb386f74c9adc32ce591249fd49f4bff33020f607b1dfd9d928538c886d546a7fa21f3813589079512813a9e3453ccce1e7a11e153dcbdfb5048dc946a1ada3e6ac0c196e029563fdd953cf8b70e241cf884ac2a84e2044c0aea5acacab6aeb884ad8494232366bf2060d21848f3f94bf8273af10632ccfd3694c2486719f0dc25f7c561ec8a0fe32d74b5f914ce3b90662adb057561400f625cac5e8277aa691b6f43e696c044ef2890877e89725686ffd4122698673341c8afcc9ef0402ac9c5702de6ae205a16c6b13486a4958ed202a6ffa855c2394b1759b3266d5abe9e87c5c4a2e2a9fe7f000e2d95b0d6e7bbbbd70a27a8f7b10c8b90f07cb5e56ab65d4741308e76bfa1d3e5e2f87e6de199cce249138609b4b839151bbe32876c0d32c777e173613be161f5f9aecdfca9877cff6a4b067a253bd4a71435d6413fc5b8f9913beba7b90d140ef54babd942eb89ad5224413b7f4c3fac78a8c20d4c430deee9124467287f77b4634bb745902b352b7d3488044fa1cba59cdb0e68c44aaa3a07d5ae846f6880bc65194a7df3aef0bfdaa92313a23ba7f28c78ac68212dad80beb562a70bf8aae3a0efa51c653dd5031c40554dc96276be9e0ad8ff0a4cfdec5a0e4211bd161dab69df483427980f3ca1a3e12d56ece7a5ef\n\n# tcId = 50\nmsg = 31333837333234363932\nresult = valid\nsig = 3b08c38ba55aeb6803801c01f89df79d7aa3efb698ca66b5a9f55b9e52ef7258c23959924e2798c07bd3f0fd6fbf5e1ca3e9f6f9d792179c35f1f7108912ebfa23548668948a196f5a02201aa1e02099ccaad7a14b7f4c0988dd5592f9a2e8cf60471eaaff689b25399819a59ae2df374fc8e448d59bb494717b3f95bbc9b23021e0a34b77d3b9050059999a079911935a5c6706d55c3432cb6f709e4eb68b6d40caac07e1b2daea7a206e5b7a5c81656013c1212ba1eb319edf48bbb49c2377559fea90d9548e64c0bec9aeaa217f2a3296e68ef11bd5de9a4c3fcad76a77ebbfaa286ba64a7d547cedb032d35156b4f642263084c74e6429b6afbaba99d5a3e5c950b434390efe4c6b5f207413a3136dcb76c11d35bc403cebb0c163ba623cadc2", + "a8616ab7e64d315138e8d6f2baee4722cd42022ab35d178bc589d8757409b3cb87291d69f2efdeb9ebf033a06390a8c94131b55dcf83266610b417d9d6f3dffd6670f5a1162f93fa42c644968c57ec53505c7f1f04054db9b4c7079f6a62b75180502b344d3e961c9679e9c4cd5b99e890f5de3a3da56e522fcc9fe5384430871fe8425cacd0bb5f2ab2a4ad12c734bc104dad03086dcdd7531e83a41da218d04f4d2e1bd690edb6d8aad35f0bf935edfa9aba16f17a0b0155fbd1170d2b1aad6b7333657dd77406c0fc7448726e1a3ec6a1f9c1992766ae64fb0c59f9a7\n\n# tcId = 51\nmsg = 34313138383837353336\nresult = valid\nsig = 32dbfb19fac38e2401a0f86fae82b3a2ce6393aa7ef84559ccbd9fe9577ff2b505a238d267207b6746544a0a455328d34f0128c51e347abee033cd5830b8e8d8587f43c99ba3145a7b24d60295e2f481fadb03c13a9055a8ee0aa207cbe183a4116c087fd0cce2680a5629b82e1168ee0ebc1ff3f2f32d22063458db9e72f0307ad7a4cf6570f400e5af4c8296db10642439fa224fe739d454c3d7e1f14149c20752bfd6ea6e4a1aaaf8814397c17458bc9d592bf8e31562640c8a687cba5258b5c28517bc84659f6f7712874d933f5d72bd0cc48244e45f60c217562a22688ac3324d4b3f3d06812b3779c7d5107fd841a0bd397d6316918232b30be3fe605f459463e7c4a4d3ee58a164d9e8b3b2182bef5310a3a9adf6355cb7c089e9e0e3067691f340b4fbe99bf43d88cdadaada66f908b5032030d7a2dd8c62cde7378b57f77250e051398b96bae267c039d09c9a64a1a1aa86f47244e5c50bcef9ce9f280b6564cb12eedd6e25cb14a17c5ab2fece54bfb7a8e279553819796b9f54db9d856df8e2a63903eb4b2afc56118e9ca08d2fcbb51e48cfa2c13c0d3dd3f9aa88eb44d5f234e85bede5ee4ec0f00b390937afb846adacf6413a39b69cd178429a900a889ae9d6baa9954acc39e07eb50043b0d2da2afc476c563fbb341993d2709a3f0b4f4730256be509966a2eb388be5e19c3ac002369065c5dafb0215ef9\n\n# tcId = 52\nmsg = 393838363036353435\nresult = valid\nsig = 3be0f335507b49da7afd6dcbe2b06624c120d9a0bc932f0005c2120cf7e8679046769bda85afea28a2ac9c3f2f84c44536e1b2548920e4cd9cdb649c0667887e9d2c22f89ad31ea98595e7007670bd07230552c9ece060b6e81ca9ec1b658acc9e4e67bc4529d236166f8db1b04975a979ea03dce8f8b27cbc7488ba29f7c721ad2591652bd61f8ee79756f7b224a7e6d3715ccf03b1ceebae35f86122a2d29e9562bce3acf2251071bc85427cbc194be3ab003264dca3ac125d42336e1788695c30163369e76a062b1132a83953239a7eafaf6ac878ec664c3c880c5826184cafad97f2e56e37fd99148e7f49979079ab66881ca4a4de81c93ce478920c18fa4d8a13f8f4476728f654ae64d1e47aca5312f16f3c21a8713cc7edf0574fb31faf924e6437d7711e856761bb63cad0378f492326216509f89911d1417bb229eb1b80295405d823369313c7db586ee093b73102306f274fd30dfe0f43dbd10ff4d6e56249b1b4e94030b341126499c6bdc4c8d9ce576f4b67a8d63309eae7bd610abaed353431b99cb01369cac1ab65cc225ece172797c15e4f8c196513feb06411a69da6390f5085411f3d7698faa6f27d9b42fd3cca1325f60581997f59a595bba4838951dfd4c914922a1cd4d4dcd790329898d98320167493227bdc5f99283c1578b0b3759602ec756082087db4cd80168e86596b9e79c352398e315511e3\n\n# tcId = 53\nmsg = 32343739313135383435\nresult = valid\nsig = 73b8803ad08e4c6a3cd9dac9258f5605e401257226e742aa2a99cf037f6f709bec97035ff2f05068dec614386d748711d14d5d197116e6740db4fd2a683f44060b75170db4a4feec7722dd58e2b1de7f6463993db74fb3443d4f8a95637cd03cd440892b0786aad6e990e27931e241ad0133aea2c3c3627962f1de5e84f51073db29b3a7b0a78543a5d516de42190d2976359d545640bda31a7c7edbc4306a981a82c82408263401f0d3150739b477575e39292869ec3095c6fb19361f9e595548165004c172f29cbd2c64b9766c60c50d37ca10272a5464d2e5bc5cfe4aa00e3a7096ab13f1f4c9a3617739d084733aa721b8b4671fb05292a58bc04cad75594a9bace87b7c39adc4ed41d45047561d4d3ed4768dc5cea98b163c0901cb33ed38ccdc3057a220feab057bb838f632f571a859af40e50289f48927c71999c1ebfe523f354f282cf52d5c4d9822409405ba83f1a043f61655b310fad872a529b95af93beb44f6184c1a4e5a03ae0965cff663d0f86fd2a80aaa73ffaaa14fe0e9a9333f4035e19984bc8f70f2eb55dd1f9047786792847213326c63403164b98ba6699aa78ca2a8bc01a8f61f72df508244093989e7f42dbf798cfd39615193f53979180adbef6f9c9b3021bbc930f2cfdbd2ec9693b58c48fe1bcae2eee85c217d356396aaaabaf623da6ec9e571cdc1ea303ea46f92ff6a1506373f06d4c966\n\n# tcId = 54\nmsg = 35303736383837333637\nresult = valid\nsig = 878c929a51f3b16991dfcbe548023dd6f04071f12af272ba218dee01e7a9ef03954b96944844b74cfce6efd117eccae30a08616ed3e861c8008a62e657d7fc742aa501193f5422fa72a191d0d0c35d291135b2b4d5ef3b7c48ca24aeb1bb5ae5af7ffdfeea547b665360f0b8454a8b6176e7472b6f5bc83751bd2026a7b2389974df5f1fa6ac6b723125cddb2c20877b20d7811131b6a55d3897c6fe6f51184ce4fc81a7e1a27cf68ea7d09165756133b816661df4e0cf0d75725ba43e8cc1217c0c9f36dfcc48b3170c0cdd9b501f9a0d56028a97fd64e046422c0ffbec7418bc862319c97e3fbd76982c883ff51fdcb1989f6b1142602469da7b233d43f4bd4ec6469f31cd9dc4e88ab5b79ab2859127d56f3056dd4c8f874fafa22c3384fcfe4917cb025234eaa045aa04f71cd8822510e7c9aac87fcd5eefe96692c340719a943e7800da9b110efad869ddeab00049114dda9234322530253a51c8158aa33b3cbb4f627fbf22e51defd2ae5b0fd1cd3b381ef34666b2143f95539b643adf0d4d80fc0102c2eefee7f32afae7b56b1055ddb4d4d107a6772c7fbba366a0ed279b86c446123e93e59dd0a28b9f577dfdac73ffa3a15620519aade4e820a9f96f139925bc2d28b2fb4626e20a3740d14be4204af99b7c96f9b58e7420b23596035614b328cc24906fdbec7920b3a5ec970dc8967151d66d74cf086687f08cf8\n\n# tcId = 55\nmsg = 393838353036393637\nresult = valid\nsig = 56027ac715f84d90625b9328686db3cc420b10895abdfc268a79c28419e04cdad32c43d2b03eef1c668184a5f86cd3e2d19ec2eab6a9a7c939bb196ee561b78424aad717aefc088ccad4c16dcfe5ba3b077cc975842d25ce978da5b928f150612b48ecea8c3c6d2e9b66764fe546d8679b9457a612fd54866f01162d55c24f17dcaac2deb33d574b845367cdec01cf5493c413ed9fe39b57337ba66552089fa29d89ece7459c95ec78f867a05ba630948338e0f62766772e2c33d833b6cfd2bfc745f633f4090df27af41e0fc7104f50c0273459e192af9bab5ee32421508ee52d951ed93676df9a0fb5078d79ca8093b432216a2ed1e72e28bc9c8bf0e797dbe39563808add3e976ef8dc0060a25db2e812e89a857092d62908aa9a6754c4451a86e522749512cb6d022bc9507acc6a1a31651f84396ef912eb7d33093df401ce8d78aa4c4cb69dd31665f3204fe3b271a678d39555864036d268f2f5cd50d1d313a2488a7b191d702e2c38cc53ae01ca644922631ce517445f3b6089e7bc94a6c5a901ccc47cd61ef992cbdd97db1b01c0080db2d2f0349afe357ac85dc8e2adfd5aaa65135e5e3da45292c5f2cf8fbb290a0cb4ceafa552dab048c30f10711538b961ce3a0a6fe9df52703e9ea1774d39aab0e1456d8d7e61b8012d88f6e93ff5628a4b5ee47900d3a0bc634a0848b1691c544956f73ae060529dc80a3740\n\n# tcId = 56\nmsg = 32373231333036313331\nresult = valid\nsig = 61f6c2fc861a3fa3ed57f70c7757b93557c8c5ddebee568d776efbd6ee929473bb3a497b26bc401f7a95cddf419cb315b8ea4c0186dc1931be231e5ac93909c984a37be5a490a5aaf024de3a3a1823dc8ab25c63986f0b1fa9e8d32b34145fd06ba84f58d4ce4278a52cf2b6e5e141398122a0a1856f37e1c52a6c12e4045af214bc761a3d1b03d6387cf5c3fea781790956d70a60fe23355c02585e75df56876d0235753590afd93d0807d088bcf0d7c006c2ac8b0a9e69abc3b53ebdca6adf9bfee6103ae75d7f745d926646477461cbe18a5debe311a2eb03815ccefe6f9c2ef1922839201e8b89eb11829823557916e8c1072a4f8018f18ffb4172d76250943c5f39a3c1829b3a75c9c19fdf266732dfb5402a7ac125a45ccc90cdd3bcaf4b1fd1e93e8745e571b4721807bcdfb9cd95a79f0177fdce0ab84a24761ea59c7993fb48795b28dca8031226f2cac62e9d90f76040cdab04ed48ceb64e24da7deb5e16b255fcb5e464b1241de5f3b0c294373e8b57c32cd12015987c6df7ff2189614db810bab871e455fe935cd8cd2b282c686131b1b0ee4331a4d28fab974287198af800ca065eed9382f071630c0df89924864fe84ebbd1a990c51a2e217689c3a9dcab990455345ac785459348b5a1d9f6269cbf03ea1c00a474c81d48eaad11a5c12bd1252d9ab50d31f723727381f063f68c9d9158db3f112114d3f04f\n\n# tcId = 57\nmsg = 33323034313031363535\nresult = valid\nsig = c24f1342517ce4f4827846d7c372d284baa9e3caa72f9eb3fc0f938eb111779982dd37cbe90dfb3164d782839d1623be04f03026536279c1ba0cb2da868c8fbe52ae5d775e4a1b66a78d83aa228593df11651bf22e95ba9bc1e2a15916ef6df3a6a3387f9577200d46d585bd69176afc63e8861b612c232420a03f1276c589e7ef56c5627352988963643e7fb8094890b6b5678a741cb10716848abb4fa3624750f61cd2f1d5a072d471b93a3d243cc0a4cab1079aa5c68ed1c8767fbe8669bf513b953e421ccebd17341f8689f649db6f47b411e8390c7158d5dfffe034c5d6e95f01afdd524305bf1295ddec2f367677b0a842120c4c9a1428ffcd21e6d313c3ad876545547ec53cb84a63d628b68cde87965daf0fe55f0973bdf270d4144f5bbf29ae0187742d5f0c83fe22ba9972fa7806d235204ba099f5a3ddc8c14478fbaf794c098edf02f06960375c5c11b177933bf20527bb9ecf307cc058c07999893a9de62dad1b97dc342df7a6d236b8df152c17e356a29f21f14e62735849ceafb16466b488b04aef85b27250498c45da327798aa12fe42077b6b29d9de566fc18e2917bad20b28240526f53665f2aa56ca49228641bed4d6e6c55ecc0794d50fae088a2a44383b1e7a151d85bc31406b43896f72f66921d925ef3e0abdaaa7e76196f384954a257c1c2a71a1068e6e40e5b3ea23a6a5c66ebf304c73aa14ec\n\n# tcId = 58\nmsg = 33313530363830393530\nresult = valid\nsig = 546262fd614b171c287d1228ee8f502010ddb5e44fba513c40a6bb246d9ceb12b4446d989b7d33c80135ae01", + "50e9c02338112529d4e50abe2b9f7cbebb4dfbe48226cfcb4383d6baaeb3d85bf517c5f65892a2676d266c1f94aa8e8fc3a73b049d2d9b5281d3d5df7673e466c21f8adb85e765ddabbd28b8e853a9f12cfedddf2de8c2e3354a3b657aadb840156fb99f33392fe249e48bea33239005e44d6557d0211530c52b783edf96a46e1d4b0dcc9a49c0229601a3e4e77d61d393a0c4074011a324e614c407bb913ad20cd8622b120045a4233514076f01b89d3dd83f0e3650b95c53c99c8d09fa05a6dd8ca169b7ca05109421f088274d9f51fbf41a23074423c8a2f842c1fe816d34c11c407f3c7517bb80f5a791d6d1cee09cd28ae5b0ef93fe0493557a80ef3c325fd740903c42bccd4647623bf207f0070059e342432d45bf304875743363803d480821e19567f748bd7dd34f7a90c4173d31d9f520c2e5c3a207478ab88332fffb0214d930035ae51458e8368fc3bd5de531742f4192bcf1abf861be81e4fd6c24169917fc691369b18159ffcf8455c7d2ff1cb2f891d26d016e26a8b1211803533a58fba27604a0661a4c296fb511d2307fad366be047d46508b193699369c742d0a1c9ad5a8f46dbe758604fe36df86628b41ada0ed102f2e1517584ee4d3b946c6c6d821749372a196f63733ec9126c8b29dc\n\n# tcId = 59\nmsg = 31373237343630313033\nresult = valid\nsig = 4c8a28cf3e3b7a64df8edada86372b445756f109bce23280869e8bb206446553a75ec99f774a02d2d316d6d19b7338921fa983c6da3bf7942995ec36d86728b400e3b5c8b6a80952bea599be2367b155baee9d99500692febc3da9eb83426797eb99673cb36ea4c39debdede3f699b55e6e5700d4b86d2ef49145c311e61925e625f8d2d415d9ae8a188a097757c6b91b5c224a940e811176db36fd6d4fa7713bd12cff54fd90328e142105e7804e45f533679ea8cbe4d62fa460719469dbcfea282ecb2bb90ff69170d7cc7f7e5d4ade10f6aaa0b6f960aaf573b68cd0d14141231642ce11639cdf33320c2f93b7c0dba677f10d11accc12f5f4117da89cb5f7eec2ff644fcedb69bdbf10875ccbb90ad374a53527ff23928a20c048c670e28884e7ed5f68e4e170a7adcc7ef085a3648bd3861b6abeabd115a1c08d4b88dd9cb7ba85250321fd5f700325f88968d64353674919eebdd9b96303fa2abd1009e14154c362912b5b866f345d727a6e16b3a74661f0ce3b603dd9d86f46e8e095dc9675d9284cd6373a432e730c392d726f68c4a9ef1e4f1da45c9223f54cb1ca795020c0ceb1f995b3c15ddb221bceae5ec4cebccac147514d60153055a7046df63fc4f1b7a23ca6eb0c68f2f1be865f403ac491ec230856fc9afef556c79422000bbf39bc95cba10ba1973d0c3890a43b9202521951d9f7005aa2354e3cc88a8\n\n# tcId = 60\nmsg = 3134353731343631323235\nresult = valid\nsig = 4eafe90c9fdf472f002015535a5846345ece6d2c5990b0873669e5dfc4712f20a2a8583493dc12f0f1f922aa77ca414a6f739491fce3e886ce78febabfaf7b0fb143bf480409cea53de810070b95ef6f06c2e51fdb611ca99d16ecac3a6489de8dc8dbe603daaa12a8c528a40852f3b37d7daa86c7cfe2a51101c677daaab41dc2476c0caaef7f911bbe6d2251d3c3410279daf6a9d26844b22096f68b1c6baea9fd8513a4b81f74333c77e1a6f39056831d053df081a15cfdc8077ff6e4c4966174e88eee40d6762db816f497ac86fdbcd5e05f230b547ca06b657baf7ada083fe8cda5040ee7024cd87a38d418dd6138c2ac7c07c224f236c4cb8cc0b0754d22ddcbc9e7b1ad448dcd99931f5f5070fec57379cf83dfe6a9974f294ee06bfb5f7d5e1d345446c55b86c574ec5e6c87a84e1cde3826027a807a1351d674f0ae93407a23fc1f472bbf0dbc9a91781265d866d93c54be194d6daf3a748a40ee5cddc99f31d3bf7f198a529dc8918ec52e2c49516ca478683abff92d7c37462008e9051f8933b7278ba4e592cf9ecdd0e3f15cec8c4a76612180a22014e40c5e67b22c244183a714d879b4e5dd621bceb6f72fb7a2c9a70fb5c8aab42c9ae529018cba12e8214ba229c25de3d20e4ad03d67b531064f73da9c7956a714f4e01b7ec5b7bf400fbab6084c6f6e1956016f3cb322ce079dd2550f2d009f96e2a87c5a\n\n# tcId = 61\nmsg = 34313739353136303930\nresult = valid\nsig = 5deb38abec0f77f86d8e685082f334affae9bed923fd2ef6fbcad26c569f9f0dc9acd9a91a454202ac2160f3a48036460448dd2ce487149b52eb1f7a6ce4466894568dd18a40ab135f304f0a1ecef475d04d8623fa2a54466813e899d92e6dbd93025672b94382db4ae46e31be85b0310e00c38c7d59a798ac9a26b3499b88bd19d22aa00b2d4d1b33c9d6e1f9aaa5863087d9ff0d52c5a1a094e0da0af5a3a0e5a3b9d81d71a7020141580a63d8c95f2705fde7081820531577cc48dcea1a4db2a76c409f9783f37cfbe5e69f63ec9535de1982e07eadf0191faed3fb6c389bc263838cdc006be48299abef7a760e4c1b5f200a92282eecba8a0b2c1765435f9d5b098f93d3da779816c86f15d6d0af8037646c2825e90df0e95100f2b8f03b2717372d224d3cb5037564acfb56f8d3d9f3f79aecac877947818fae068196369592418cd3cd04fe80d69035a04050f3cecb57266475256020281f8dfbab0670cc60f03ae585fecd86e881cdf957970ebdcfd384bdf224d299b4de2f4373e2269be156ec6db947606496523b4dbe7d7520609f82cff421b99318742b3cab24179c563a84e631ead75d79b5eed30617c8fef57563d2170c612baeda07ae87734f12f43585b28306900c5ac461aabf9d32bc5ba8a4f517cd4f698a6b1899bfa0751a798c56b485748e0e53e27fbdda39b5c57b7a15060b025eb1e36664b48c1968\n\n# tcId = 62\nmsg = 35383932373133303534\nresult = valid\nsig = 89bd513aef05a92a16771282e95d28f3f2df41bf3e0eb85f052205fb68ad813f1e52f26db9e133e0915d6e6cfe088f759895966e4ffc603f08a1385ace354de81fa1b65f7d4fcbdee4e7a2e783e8be44d283060537930194b5f3afe7e8705ba07e8ed1e6cf3c8d3cf9433c3a450e9fc6a8ca8e0979f0db12e4a1a64d2c5565f96e8e328ac1125263ee441cebf493e7cd8d74746cee96498870b06c920887a7ed1bd4e6bf0102dc2a027024bb5e13dbd8c136667f30a78371bda03feefe109bd933716d1c26e6f04dc1558492735aeb0a4e556e985641f889185351ae326d9312ccedbac133da0e9b68c5e86cebb706d15ff9fbbe0b7f1cb8d60a2e47c59c313a5b3e1755546bbe08160d18be779d62a0d0e5f16dd260e42fcd62747c7129873b08ef58f816587e775f0c8d766e9b9cc02422bc6ab67c013dac244bc8969b17c12edf59453ac3da8d0e8d45d9c62dc27fe1ea6ef961bda589199baf3cb8908e464050e5b6f419ba216ef557758b357a2c8cb04810f9b478d44b00ce058d07f88a123eaef9368769ea92cceb52cab03fbb4dbdd4b7b8bc0c02058491d997aee22c5c04a57a079fc184f7769ec790b13d8db444fd0a29a07f2ca2144cd239d532c4d747eb1aab83e1451572c01bc828895fbddddbe59b42975f77cc766269b32b23ed1075c91357ac5d82fbe5c2781f48056849b41335dcd60427c02ae66552797b\n\n# tcId = 63\nmsg = 33383936313832323937\nresult = valid\nsig = b7c445e132cfd2f4bcc008c38a390230d95c141753588b85361b3b3d44c55fb07c248abd17212332e90e2dfed056ca72fa97769a503d074fab3bd81778e0115c30f799f1ae22e62903b3e9d528459441f128e0b9b7c57112abb2989a9e0441e8c328e12b2d6b7304e618eba1bb61ca84cbe8658f84798f3d5f54fa6a6ac0b389d12a14a2dcbdb54142aa8b571d5718f1523c05e12a46c065c74315eee0727a9be3833e13b03f637528cbd4b97b93eda3532fa461ed04ae542900e41e595996f45c9f083e1755a1ba56b5e48e4eb18f02d0e77083bccad8f37d432ce1e6cffcb3ce3254a128e8d2724fee750129875d3355529f8bfdd212efe10d804de30ad3d47f655eaaec3209b33bc87cfd13a2b81b81210b7b3442ca1a1a25963e9389979a5a75ba5468a2e077806df89d2305e1ac923ccb09e2491a24014e3ba22d7c141dd0a5642f9c7d1925d9d993270aed328c22d29936b0522330f3cf7c470e0d29e552618a5a9471410b3200bf967d9f27572ed52cb00d6a7cebaff85c939608d570d03f03f886d1c0c5a3c0a449add38cddd9e7492baa0d5207dc9d8a21a549be4c642e3573396f334c7680e5ad6c2b25d78e68730a61565874952a106e697be6eb832766d0672045979dd0633bbfb40c63034c845d47d9f20afab0a0ab5f6e0062a842d4dc84e9722aeae2e28656074187028b0463bea2b57f3bd9e11c4ebd1c26\n\n# tcId = 64\nmsg = 38323833333436373332\nresult = valid\nsig = c66f4a3475e8085140018aa928b82f998379e1f560bebd179132537cda3d94d033ebd1bbbee040c0f8729032c68c3c89e9061ee08f81cc1782738e55090af4a930d3305f7d94b54ea202360dbe2b222c488d066a063367ec0518ce4f107cc4ee227e1c4a033768be7914470128442aba0d628da691de2ee304ce40624d07a1343bb24caf641b1a44568c7e1b432a6ad393fd28be0458a65459f278a9561441104ddcde38155c14e684f7cf3c7f1a6b23724bd005192f4d1191029377902f385664c5e515624e694a2070d83893aafb88dbf55eddca32d9ad8de6213c977a1e69711dc67d384a9cb9145d177670894c353b8e24b8e3b0f152c2b0c1232045734ef61c24f4fe994a2e99876335e3c700b322e63b86b6a347e2dea67818d3d623e34bb458f2e92872224b4181eb91dd7bb3ef1fa4c8f58e682c8c148aa902655a7cc74bc525c2bad13530c95dfad47c3b04c5262c4cab47c37d7a011bde04b380c91e2876cf052cf294c39a9368aaeb7fe006ab6db8930ffb4f347b6f8d668606ba1542a010b4e7680291f423511c2cd56070f9df21dfd1428cec2083fa2c87ebd112156e47c758abf4aa5f1d2ff80d9f0959d4bba4955d793445cafcc32719e1c07f134696d9e176f8a5e8ea7230b733e4bf8d92beeff9c16e2a938240ca83aaccbd38a7beb6668eeba6d38afa6ed892825af57b15c03d936d8715bca54823b091\n\n# tcId = 65\nmsg = 33333636393734383931\nresult = valid\nsig = 4eb8a9a99f29927e600ff325421379cbbe06016552e6444d8b232327d2674feae72a9744b9bf461b237405c98a512faed8dafb29454e5011e9d7429401cb94a2c96bf3c464cf386ab971d7f0be6f62c59071a6384f1681f5a036d3e5af60a634ef3917ffd9595e77ae6084cd26799d93557a8dae375fad0b28417321e1143eace66500d045fede420a9144da6ba040050940d9809d8ce5aee62d52e08b9a1fd24c081a405491285289fae5c1bc9c89e9f700224e27f2564560e511ce1488cd6b7f124ac55f2fe54563d1d2e9c8ba3cff29bd8c91dfa9c000ce709414874da1f4640cddda3df74ae9367f6e2680be16a7aff5b1e1229c4195f9db88030b28c16cc6acc9a75ceea46fab7bb9687b2e95f9414092a9be0599ec1660fd7b2dc16ec2f0f460ce6579970d1a04c1a7fc2181b893b76367f18bc11aafc6aac1c40abd4f87cd8b6a7fc3516f71edcdb794accda2d2f4", + "e8b5b41f8bc80a34aa5ae3acc52e64aa1f1e8faa67a3d0676e67f904de98cb68ef9364920f2ea6e50fd918ee0a8dfc0c22f0a70034ec5620488212df59fb93e133198cb5e49c2a0c4c472ae4a7a9266290deabf8bf338eef0ece757f4864509e6c0f21f445c650d2f763d1ac47ff07da2630c01cad83eb09cf8aafcbc238f155bf511d60a3af710bc02b14640524986b00f0347ed17fd0dd0b05535580af9e0bb41fde72a907c042a09a0c310bf0\n\n# tcId = 66\nmsg = 32313939313533323239\nresult = valid\nsig = 707a88ab82f22de019e4843235bc3c5915483066040f11fa7dc7386d7e63c438eb82bba17d17d9b057a5a1438a84e181181e7266547774e9c5acd3845653e7e17847859c7c19f92c3feb8beb295e5af0bc300c1ef068aa1f9539bddf60bce8c42bc2e9cf261d074d6ffb444caf8f647d4fdd7bff2dab6144670bdc43fa7a02da09b800ed71dce9a931f1c47d9ca7a05896111fa4fbe99e96cd90b5432d686741fc63cf0e3b792f6370ff2572290673cb3afe10bf0cab5b9a6c971705236668927ac75087af78711bdac541b51497015aa482fecf5b111f1172c5922939efdd243fef2fe50f2340d56ce64a8131eac3d34149e4b09f10e1276394fa14228a16641a598f24f56327b04f33f47ff46715fefd02e6ff226ff0d6153019a1d337ebf5647d24614918513ec3b5dce5c19b9f1edb20abd38de41a6946bc96df81a4e1ceda56797b6f57b2e8abad8d938624a1d7bfd0c2b923603d85b71a59d041bbd7cdf03b02442822a8cc102268adf66cab432cd9a9838ccc3d9f0f39b71524045d8304a0af701426c5f911e6ec93657a9112a2d820e46807b43d7e6f12123d3ed9e12b273eb8da06149fb56460a2bffa1c1dc549c1e16eac373d9db0b35a965556acc1fe107a79825001ca189c7a171f9211fbb23be36c8c4eff4e3d972b7bcf682554fa5b54ec03187c008f31e51452410eb1dd28610414d7c06c41df1415e3ff2c\n\n# tcId = 67\nmsg = 35363030333136383232\nresult = valid\nsig = 0f19053e699b1db95d91a30c53aff8a73acff1f08556ae2584655d006f44047ef8f609f26fada69446e133a972a2d66533532a025a4432e0bab8fd35cd82d47a3843e972e8575908c8c795b11c809087d18b39fcc70458bb61264833b16e2594e37a979d8af83632d6c276b2ef74ca57e451f1388fb9584def70ebee7fe7c06613241608af0c050182a2d21be699536f7d848ec75b37931bf5658054e40782fe5d371c66cd0b6fc23ef4f875700dba54a5b6b46842a4d9f10e35c0a7c7de671e7231f3171b1053c2f4b0a126b95a16be815d6b1a7944505d0ff8f99a310d6ad81e8d4b34e0af7f49a0247c654a1a05f85e91585bccc42e9a76d3742d0c1fd228fce9cdb83a086cbc2178e9df246179710d8519bcdd2679cbb4309a3ad2651f11af7a601d8f4636eb21aa405557405c0d8afd82c59c8b04a1863ff2e2a715cbeb36ff386e3cc372a15c1a2ae3c8c37b5bfc6a87fdc5f3092c0847fda8eb7962e5245288479f8a4f4c207d9410dfc0649d0a3d19d7ee9684e005c3f442b6be54496d721f860195939ddfc48a960c65e803d30b827581ffb714c1c0e69d065ad5ee649d7b081ea1c44b8c332cc85a9c8d06ff45076e4490454162c6eaf8950cbda55de43f09253756a53fabde5638b23353bbe5dfb30bfafd7a638a1f28c6f3d950562329849303faee555dfc585ecb7c25e738e28480ae628a9f201d5fcc6b0ac0\n\n# tcId = 68\nmsg = 383639363531363935\nresult = valid\nsig = 2dd04c48f29bf2a05e6cce6c30f63cefbbcac6237c3c834d63e6a5b420a35dfa38a73a7c1c1bfd409d18d0723753f6b52d92d1d9bc0af73bd64b8f2e18095bd21324fe56b7732c767983390af0e1a530c9901f0fb9cbb8795ddd3ecfee57fe6df362ad953731cca8f67f155ff3d4f472f6e7d9baf8cbd753a1d2d608e97e727b0255461546caad684eb7efcb3b905e54f9a44bb29a1326a284885e78e1903e08202edb7b85ced6858fc65af6fcdcc660e0813f0cf6e2e0df30e92f5665032124c83338e4a45acf380cbe67fc02cea48e8581bb085e5f3e4b859161a21250ca678e8d4f0f948bd29656ed44a99b930b7c58a1423307ea653927572c197d0e953b568e340b04eefdc050a0d6a21007bc3155b38555897713fa39aeda9c1ce4145faf33698ef43325caf93ea0aa4581f02a317540ea66be2d3aa085e0777bca863f435673d7189ba73fee305625496e724c491d538df5356c09015dface1e971ad70e3ed35724a54c4fa0e615e67552d214cd97f5ef99611f0cec06263ec56ac45373ea28a01b831aa34dde5174422db8a70ea2c16a63212182ec5a85460cf1b23c58049a99fca24796bd9ef269476a20de0b91417743b0210882cf671d514214110ba341e47b91d55ca7a5a5f0452b10f38f33327c8943cfe3ec4c6f49a4da6ac0493f3c95d73c6a7d16848d009f0090034c50ef5f57843bc766228c5666e25f32\n\n# tcId = 69\nmsg = 36353833393236333732\nresult = valid\nsig = a32ce1738badd84ba6c3dbcf44dd182a7dd3e6e6dabf8e7057e50483da7c89791304093693f9fda47a6ff3bfcd42adaa727e7b8e74a4cf488f8111beb6187afd65665debf6b01bd90f3833112a7ad09a3916763994d182c1e1acc5a221b5aa0d3da01ac1b2ff8db99710d48dfdc1421f19e5f333b70d6dda638a35142582b485cb1f9cd60747953fa9bd7785302c16eba26d67f958281b5c91e33b53e7a506d30e1e06353c96ba71375ff7b628c03413692bce1433889202814ffc429c8179ddaf07fb9e1e70810e64ce91005f83f79142a8074894ea49f313bbbe25435e6814d472ff531bff2e00ac4b64097bc2bcad0f360674aaa2ce9882ab2fe29e5e7f5692864df11b4cd422e36cb9028f5feee93edd580d6dee12f09a8de6fb6ef9ead2b586f40b435643c770fdcc54d1eaaa4bd37f76ec8a65c7e49bccc5ac3dc9b17f470a7a5e9886fa669e9b8e5ba042b867789d0f448553c2f46f8b8c40eedc10d9d11110be68071befe123f254346433cee23fbc82c9b6c120e70970e596731fd459bdaab0113d9361207af5a4bdfac6fb839abf3b8cbae27330297e257bf124e11153b70a9b038dea270c99cf427acba886667edf4b8c2b97d0fd34b81749c02de9f049e414f12ac744184d45793e18d5bf318b159634dfd0dd7f94c226fd819745ae8bfa9bf50902bd0628c76344b84e99b5850832b309dce569c7f37d1645eb\n\n# tcId = 70\nmsg = 3133323035303135373235\nresult = valid\nsig = 7bd33b4d073dce391cb89a818f1c950e3954d3dca71e6b616eb35737beba12d945e066edda0694d54f8b2f39e4743f73466ba960029398c5a348d1f58222a74760d559c7e5f631fd0b895af5838783721829fbc235d7abfd36b8a92e520cb6cafc1a17ba8c6486aa046b9b63de8ed1dfcd99cd776e2fc8613b7e0c7c50b077f748b1e7bd2a992663a2d01dca15d4d967da12b0bac5596fd89112e4363db1d492573eba1349aa8445a5dfc3148929d5edc3b642241e8412de04ee83239c07022a632f2a86c036909a64c2a62a78225e6ac169d3cb43a51e1af9da892b7b7488b25c821741f08536072b97f193642f59801132a54139c5bcc73b17db7f67bb7ffec3da1bbd92a48fa742b1131404f8ccb035b69d195ec509a282fd9c421b5577e881e6eac717e22b14b1c599130fe1698aaa324b82790b633dbf1d4c30fca3bf1333da9ab65a94aed87b48bf6cca3d24ef453bd2e4abdb7e323961bfdcd8c30d442536280cbf93165993cc829ac58ce8f052bc70980d0ba906b3f57ed83bab45ac6615e839428bc2e8af9b444019f60a3029470ce1db83085b98aae6010998dc5622221691bb1779cb69d31230df4291759494e8afc2a038cc820bfe57b3ea548ee21e15830e26c2852161f21411cd3b6b9d48e65a4eeb174d353692f29e6194491653019cd662fcfeabcb291360e9c7444d96527f0bd666c9547fcdd0a7422dc7\n\n# tcId = 71\nmsg = 35303835333330373931\nresult = valid\nsig = 0f4c980c365422d74abf4a1b171986c575e7662e5822a0807986948322d33378b85dc7865e563c627ba4dddac9c65613329150c096938848feac13543943f58a9c1c0f46a0c40a041d37f300b83dd90bfad373e13bc70f74a7e4d18dd6be8c8cce0b5aac1844287e6aeb1c465ca75e2c7712707c2d371b0deda5171648b2d718b078be21cf10dc8d428e39001f5b30753d9ed40add27e98fa817c2fc3534c618d6755297d1918c2ae78271bbaab738c08c49ffede617c000820419dec9853430f5332e57f80ad71113bb492d7d24d32111949c8690741ea46172a568dfadf545b760d56279d4c47152b0c6c9db506efa762d2be29e224b87c805e65f2402a92c8a5d521bbb49540da40a2aaeaf4c6dfeb8c2080cf9602e320b0ed922f6847b5334144a3536257f56266f46d38695f7e46f254991c3d2af3827b0d790aa74fb08a5bc0a9d798ae09d33da65f8cf3a599e32454fa16a6508efc421e19f5b66a29ea60f10722040726db820180670211337e2d5b4f4bdf16e7d158f39c2aae75dc800b495531d8166e046b0458e84b409b5b4b193c824bca186719dfb0c886ee7970924178e0e53a75ba59b7e72718015918e8f015dd3d10ab3bc74f2447ab23e8e0606b8cdde9b5e70df77f8da313dd14fd95cf320a48a2828f870c39fb1dbed3e5c6136b893d68fab2665b560d6c15962f76666e0554be0b9ec7f0c151a3ccaee\n\n# tcId = 72\nmsg = 37383636383133313139\nresult = valid\nsig = 92b1d5d367f8b615fcf87cab3f88ed66b30837ddacdf47b7dc9bc405ccfa16546c11292447c68e0f26bc41a0c8f003fba59f96f3975d2ac7a63fa34d7dd1d8f4bae839060070330a5c911c0ddd9674d843960ff056b3fb2d6721a8fbb9fbb0b1ea8213b0293389bf611730b48f672945f5ff3ff356c9e5d254cef47f2c5662f4887536b30e2b54ae36428d13b551cf9258cd0c03702e8faeb8fe5b5fbf120b10552887ffa6384f84df39e94cee859b038bd6eeb2b0e0718065e1d3f526b33d4765cd5e7cc67bf6f97505337b62f1102ad113b722337e245db4e8e6e43529a6c4719a23b9d42b788abf3105285cceedda43847129ae39737094644f7d82e74f1271dcd430e1122ad127b99c7b95a16c46442a6c306248a3a6bf839acf6452a96eb3d28aba37ff342c0314fc0c34e38adcc8597a4c2606cb31939f628275cf6edc4886c75e42d8a4c32bdcd63c534f8c4d21b8d308e58d5843aebae8b3c35eaefd3836fc6a80bfd16441aaccfadf45bbdf993e46fd831443339cf5840cedef60519d3c7d92c39d7609f9a4841e3e5f682e71b8fdc3d7d9c7e622e73b754e870d76b111ba761508609fa41ee82ac02f4519ee3c46c9c3d8402f1cd0efdbc4417765cba31bf791988f2c9e7241d157796c6f7b679be52ed6c6164354f041ba09b20f7b0372bfc7a7159724dd02a74d20f82810b623055920094292d17aa411a3208f\n\n# tcId = 73\nmsg = 32303832353339343239\nresult = valid\nsig = 86fef6519b92d28a49a39235cc8454e416c42349aba7bd9a67a84b0012458b8b9af93349879f676787d5dd7bdf0323c02ca35533924b35978c8ea315d4d3a7436bb4f11a02d6fa8d9d32192f6f11ae969d8edd4f9bc12bef787e", + "834db6e4cfd9fd93fb9c9cd51b0813c3aedca7f432034c15638af52acd222b875676245d104c8d5e87bfa64e86e528d1e88e4ebe885d53d8b99a50609a59b2be30754169f3d0db72a054108d57d79c08c28765594b4738443125f4a68f64eb90e1d8d2ff6baeec6d3f12bf8c76d1c817713626bd58081f6bb03093d6729b3ed4006820a89224ed58d733432b06f5e6e42f74891251b9ad590c78b5da4278e789e7775d18b2fd0d3b9fdd303df7cd949fb20874d8ab219d8be8ca961e83b814c59a813bd284b01400e8d98795d2f7c9a7eca02120ebd7b2b8d53f945ae84bec14ebe2816501a2be3c9c81b2e8b0027dff16390d0686a7654b39271ec2c0ceeb2b57871c38f94ed43d50a764ebce272ca3a8fe45d59db2dcebc78f6e0ba97f3fc5c3eeec3fbf71e7ba91c0e2274110d1da924008d414a54270e2b3ff700eb255065459d00e8f6e1a7613d30db749215774df6d19873c06a2f6f5f8baa95891ded9c91201784da571a394e59ab309f23a3c745a8f73e370a58a5ebd34731d865c414f55810a08c36b5b35a5fa23ae3142db21c24783145269b035f1764b79d26ab76df32e99a1ff\n\n# tcId = 74\nmsg = 3130303635393536363937\nresult = valid\nsig = 86683bd48599e9708f70d81be57ee072e158360bab02205e15443c010792cdb4ee7087bb2d099f630cbf9a5d9672fbba62f9495449e6c9f5ce1d6e975c7bcf505faac0d73b9fffe90dccbf3b55e278f58dd541c235c920b385466aaa064c7bfabe8b9c467ade9a06ccfa7bdbb74d1f1ed6865f41b4d3a8045520251c5efbb8149ee7aef4d701d0937621202fa5a81487dd262a6aa98270ce385ecafe73a72356741251ddfab8db00920f31c30c47517804e6411dd78d496ed5554b337d335102961612f2affe9e41fa2b5c63c58cf12b20d79d6da28dd3648f6881856fae1c17620e2bbfb15e5077934f8f55757d9d84172839812581fc41a337ca65e115d216f32ae63f833a91b67e5eca5ad72d65339b30442a313a47ebae22f18bec47191ea8054bf7a6f22db95e82f0759d35effd1ac4b375885daddf77befd1da13e3331702323e11f75c68fea368647439bf7e8f99f4b676c1917b445c7da14b259e054129c9051515040571832466c182da562139d0703c15e17f9c22d8393a5cfa1c9c2cbe35bda59bf17693f24128633a3e223ea551b5ba1a7947761e939e7bbe9e80c0d3def2da56df1e1639af2048c9ffafa69fb60b5a4dd54708936673c431abc12dc69d248f7f87730269c2bca079c13c68665004af0d8e44dc0c6f10fe604700e0cd7473dd8e57b1b72bcf684cabe434167b346b29ffd521488de977776fc57\n\n# tcId = 75\nmsg = 33303234313831363034\nresult = valid\nsig = 31869b48fcb2506c54902cd80e2f1221266ec977226893a91ce6a3cf2bea43680de52c9c2fc455c44e98ef3735d9578e3a98abe63872b9a723780917520ddebe1d02e0f00be09ad77e210ab5518ee93a3a967c0a47f05b8b2c2aefd7215f8d8e7f203388e7b7b145da98b6c829b26439c9be1dc8c3f98125419ea2f816aa749fed0a914ad46bfe27219bc088d1c1a05c50efc7d7d0392d8d4fa6ca82f5784fb27111b137ebf4cbdee3b40243490461c8c7f18b226370ae10689787adadbf563b1fe25a7b361dfafaafe13cb7511c0c5c2beeded1f0c2ba51252c42dc293fba13cac292f50670b45b06c71ce55fc8b457174c784d788d38b0d2dac185f9f175938d6f305b028d70b694f02cf927fb5c42740988607d79206df03923f22fca671333ea89b72f41316088c53af5f3c7f118fc7aff190d17f5a8bd087dbb60fcc82a8f99208c481dee4e437b4e9f73eb51fa6036e230844ae950331526d0228600cb5b158e705db7ad0c7e713e639e219877b08a14964758ff7faae16510eba2c3f087ebc94702d0facd22416a4e36499bbabb06631eb92e6bb513c67fd12a44f5c1975a47f708b8470c2e5d9c3aeaddc9c809d334cd7771b3ad68f2c4bafa0480395ae9d30ad32a909d7e7f138ecc3dc102bad80451c17e91a1a8ac49c95b8e9606e994ff1cea2b6353499fb52b015ac1df859a358c2d6dc7d2bad22bf6c6ac6028\n\n# tcId = 76\nmsg = 37373637383532383734\nresult = valid\nsig = 12a3dd69efdc002c419e4a6cadc5c1d336fdfffc17981fad74c3625e5d0b7113b3ba52afbe03b53cd028c1166fab3d3e71911284e015a8abc67ae434f22fc59afadbf785923060110bb14b73f17b1905ae3255e7925d9be121a4f677071c1318ca13a221b20127da64dd0ce65b384107302cab9dfd3643b1845fcc08b91014c85ab595615c2f2a32a74430926055b09923bd2eb9cc059dced7535ad82c7a4937989330870990b6767312147c77e5a858ef0f8dfe60bac462a5cc4ec172f9743773cc91496aa310505bcf5694989a6b5d518126bfde43d16a69dfb8352f93e6c9c002fd2dc12dd86ba59f7c071942c44420577705135f13e5bd28ca79c220b7f4e88f4179b2da6b06fbce4f3b33f5fe3d026be18bb49e992dd84d4df11addbabb61b126c1ffdc8b538c8bd0b0ca6d0fe972cc3535097e49259e11910843fdfde151dcddc2497786e76ef5306dd475ecef667affe0fbbf2b1b6705f0c49dd9f242aa1c2662acf7215081aa0a1f31257665c28a94cea59bbf1dd57777fba987b452319c1df22af92065600754db7994d3f02ce6717e74d19c74ea4f6afdc093c6fb349602886acc867b909a8fa63ee4281ffb1764e6599bb0d40ee45bdb67387103962168fc593f74f5b8a94e77a92fe4d2076098415d95912c4f647eccb532fe7ae7ea62c8e98036112c01285c51256d7afb8930d6d6482c3a57f1bb26388784ef\n\n# tcId = 77\nmsg = 353434313939393734\nresult = valid\nsig = 0c02aa5c01eb5623a2b794b6f3cd3a01ddeceac03e85bba8f67f4a915de6671405dc98a4e7edb5832738b29d6539814197ca38a47bbc92e83724937192724e15eddb1243829991bc50457833d182998a6aa413bf1341ae55e8f82993f47199011028196196a87c232c23db06fcd7e00de8666686528e8eb44abaea96cc7ea556d5e488a043adeb7ac63b485b100107bcc77abbea5801aa58b633eb529b612592874a3b2620dbf9490f399108ef50ae042225758619030853b9df315af34245bff846eccbd9de2784ed85e8437187084755af7e541c27549eb7eb9ef4a620a44c67695441cb7c827a4b3a03913497092e277e3983dd8fa366962608075ebaf2b28f0e8bbdd54c226f91702546b7f015dc0ffb30f72b436e74db11338d3c8140f9d9c70f77e4b69564cf2ac68ee81df2d4bc0217c01c7ab5a5ff6d8f0aa08a5e27a1430936a2ca88827da86e75158381ec51b455f302d446ccfa1642238f281c576325bfddf3cd5c08fadc303a390cf10d98638f40d4792a591e4895dacc7f4cf7875c77d0e63514178dddc5a45ca0fa43dc6606e61ef4afa029214f6b7e2633259da1e9ae8733741f1a8fd8c1398c98dd0c0483aad6604b7e42b6dffd3ba30f8b05bb63e73a17659a7ba24d37d300e9196d831aef7549c6b2627b4c11a84b574f25b3d94a274ac17d8c959b613b86cfc0b7a210fc3bc7ae9e0106bd646fe5d720\n\n# tcId = 78\nmsg = 35383433343830333931\nresult = valid\nsig = 10389345200066e0b6e90c80be8dca0e9b91adc4f8fc7a7e4efe26b9a3c768875ddfa11ab6cd8ce9fefa8dda884753cc87d4b2d94493d1c5924ef6a817c153cc5bb1df29d7ebc47d622d4b313670d073cb7c70c75e32477c69488770213779c3d60da678d00a6fba7e5f2108bae0d64dd0157f5450fe787fbdf6598f1902b6ad1b529749c6065b8d4711f014d8e07c8b87e0a7cc78d0c4385eef5c1690f204bc5438b029398c9e0cffc3aab497e2c61e09a7cdbd9911f590ce8d820e88212602f754f56054e08d57721bb8020c7654c4df5ac63fb90121ec2cc2fbd55166eacd9dc04fcf880a16e05719a40f3e1de6c5b917f5d59ff1c71a0d1f63c01107e5a17d8972fe29e6290b27c843a7a1436b07c3bdd16f589772b7a66938a8cd059960bf08a801b28ecdfde56b18cd22ae0ecb7cbcbbe682b0cf264b13a29eab77f393bfba597b9425d84b2517eb53a34747cfcf51830b8275ae26559ef6ffd8a519f383ee5e2a55897d4e897db08fb2a8ff6e52d53326c41e45c9e57db34c43fc9412fa7dc8e154c9126a03aaa3ca50e897899637c30ebbfcb19b9331b0731cbe073a37a5a5957466d09494b0435715722c0ccce2ad2d04a66932c8e80608943c1ebd8bc1405ec193490bbbc3fb68cefe8783f9091eff7295720f05713e08415433fff0d0a6c1e01a7ce5d136320c0707d3a8828a463df807dfb08fe2c8c7fe71febb\n\n# tcId = 79\nmsg = 373138383932363239\nresult = valid\nsig = 70a554c5d1b9dc8fed39dc0ea4ef3e288c6f3ceb6aaa9a5295849957b0b46c0f1d74c548a78d882fe7c729bc63d4eedcb164a74b3c253e89751f204e3f3b24e93df00fa8a82694449f4c94b67c239275a07254d34a5974af9d0551fe9e13016a5787ab9b36233377c6d4f69e945ae2c6211681dc3e9a895c6151b4acdd9dcbff01623c71dd0981af667b341da79cb9e7f7ccdc1633872c70fe9adac7df4b1ad748671a24aacf42678e8d384c55fafc85f405dc7be424519f0602c4f535993ee88d17dff6650a7e1a93808339e90d662c37ba014ae76afd6193de7fb617131288b52e7924ad3df10e0738801b5be4ae94be3971e68715152826c02297718b29ff543a6ff8bd61ccd3c551b8f983878d66c6bacf8d50c0b4b3eb7de10fcc4c3a56a97d0e7918f260f95eee130d8aef132019fa44ac571375369052c62fd816ecb99a7ef7e53b201e5a43ca403fe403e9d12bac179e885d44a7e167eb3685dab4232d92c67c67751435ba7ddc0d4ef48397f1c80372e25e95c9f6599b3c1a1d1641676559eaf50f5cd4d3c9e7d56c54ec232e4f4a1722b0f940c3d72014c9465fa9a13587c95039ead91d231f7c3db8699f6320dda84d4e46298bd450337e553c163b17e4c1ff00701e2e97e0fb195661c7109f87646d116f4a571386a274b2557f587fd3221a100d6ddbd2daf04747254602e65ec860a5df38e0d35c21ca5b94fd\n\n# tcId = 80\nmsg = 31373433323233343433\nresult = valid\nsig = 7cc77f32ae5028bd8b53edc2f667a027499331fe42d2fb1750a22320d55213899a3139f4d498d5f6981a8d467f1448d6506c71977001f8a3b38f98748550f592453b99b0bdc5003cbb8854f858725b619bc151816046303ebbc11b40de50bc1a316afaff18fb940d0a15324fe6fc506d1def66955aade2402b8d2d006ebc5fec9d32e044322e2128f2f03badc92524f5ccb3c31f1e358396ab9a3688e7788aebbe995e003cc5cf586f88fb4005889778dcfef2a74427b294119dcacf857460333df2e1c4095fac8ac458627f7f0e98150db66def13015741ba1a7d916d9c05b2227b5cd6c66b06ced61272166e4e1b7d0f22aef180622059b4878c50773f0385426e096014e4467b646692df1e374a6732e91561342c769c9ab8fc8597088c7d84b8bc812cd96fa43f54c782f7ada22109359e312537addcbdb63f4840d41db450988708f364cdb78b612b5f06f765ca6ffd6daeb2a462a9a27450dafac35e41140c08fe122de8d97d92467ab7a76503ff9c79d02d0eb9c089e352da101cb3e53890", + "80830a8909e5a1547489e4764a66aa1b20e19a5e0a111688b799321d71c6178834f99f595b55a404eb44ec0ad9a95e2ada052950473ed5e0c29da9d1e198656a8543a901eceadea8afbe38f57a640c0df7dae7b969540615c8f2a432a8d8240bc4d166994755776fd95fe048f43de33c4bd6a18c9c383f68b9c3782ab45d\n\n# tcId = 81\nmsg = 32343036303035393336\nresult = valid\nsig = 6bcdf417bf2366c3847747dfa84b6e54f064c737dff1288e703db76c8e1f97760af50c5f4d3caf2a7387c920572b7bf7bfe5f1eec0c36edf00e1ffbca6fecec1013200fd4ec227ed15fd30a680131d837f6ebeb9f5840ba056d462a786f8ad327137d1be8f9bc376f61f7b00759ced58478eb2a7806c24eb0205ff7f8ef714d242922c404c1a84bb0cffc47a4c90f7c921ed9f1890de4122ad5b5b8ad83cf9a953e5f69c31392ee79e87eea174054c4a776ff3c8abb4d28790cfc5a8ba7a9e2a2c4e8552f823b676e24e24fd93549c1b994444ad6252d55a6edd1acff7d948d369b563bdcdd8590738abb508227c88ba4eb3f40deb70f94ae64715af4af9f57d714dd7513d4b0f74f99df341802d106f3b056136d56a8b4b8964d29acc3cba3448e804cf76ec32f30057d375d36e2b66eae61166a1daf8a044702dfb0fc5b0d8933fca2cd692a18d4f7d985b459a96746a5529e753cdd0dc8e1e71062b6b4f0c31cba6bf790a030b738a45b618ac37d7780ff7149a0c7c1818e610dca25fba39002e1b88b020a18ad33e20ed826e1ec34d20e8e7ee628156335e18345fcf2c17c6fde7fb0c61d09d7132f61eff5e1d3a78ff2768f379969ccab3eaa6d541fea8a9baadd27eb2b560276e0dd4093fb34a716def844af797e7cea0eb6347e7fd3703835040829b34c980c92915ccba3215a71bfb74f023da059241e6db516a1569\n\n# tcId = 82\nmsg = 31363134303336393838\nresult = valid\nsig = 9860ef00957ec620ae34e71078f3a70e2ca669ff30e378d33f5e26eeaae717b4d46e6a1b290f1123145e178e3e3100fea3fa3d58c3bd2fcc0a6f25a283af88fe6575c42774633d0f5e485a5a9260c85171438bec68b660384577b3671c5dd60e70530b5928aa68ec21c67fd2ef8b24805d672a90d92796bf1ed6d28385469bdda0531eec555881e7870b0b74f74f0743082ecb1bdc7d57ff69c8b233981a774f3461f134c610134c51c0882509e4157b78b3e5f45a8834428dd6582a5408679279cd3d02fa5a58c51e21839098c1b1c3d2be73950d60e239150bd4cdc9a22545fdb79d0467f9a92f6e8fae836483876ddc1454f7aeed71eceaa8d9a14f7d4a0728c1f256fbab4ec6154f4ff49800a184d7ed5351151d79e66d3579592f994f02ef43b7f04c34597271a2b1cb9a2d600b75ae5fd2a63fa26c0570c9dcffa0dcf27e9d06d30488f95e4f5683eacfdac0a52ee3edab4c663030ad837337f61e47ad84beab6801f04fbcc346ffc0b7a73249fcbcca81e60e575666dac7c8949d831f57043c3d68a839fea2b4478e0dc7ac2811acb301e1c0c4b890236fd7097d9f88b9c3a7ba13e492b935944d713ded44e82344e0e1e87a59d87bdfef71814fe50e5f95011f45bea6c88dd3cc33a8c8671f455b1ed9df2beae279f89e2ed2a7488ae93b668228ee2c3e29e3b672da9445dc080001854bf9a5fc032d5cea31b7f8d3\n\n# tcId = 83\nmsg = 32303935343235363835\nresult = valid\nsig = 2adf561bfd2a97fdc7dcf891883c4b8cbbb378677857b069b17f38099a5baad12550f77efdb240ad13ed7f620bc61f417b8215affff9ba248296c36ed087a12390b6e22e84e4603ba7b0624abc940eb720215cc64ea766acb1798aa369d2fa215b1086c2e74710d207873e362d8dc104f6159ee261ded7df09f0dc9d9121606f1e339a4434aadce76ee114a2946647340856a0ba664a699c239f2536c85c3e5b05e18abc9c993035c0b0f52eb7abaaa5edfbb9aeba4d804a9580146f3ccfb1df96ffd13a854398c4d485fafead4c591644cabe40c724885b3105ae7c524108f6523c8081ac512afb8eec7e9b070e9d66042a9edc504d0b4131b3967ce1b1e70034b193ae6ca4cea0d533cee724a49aa23887bf3186962f4aa5ad4190d99b026e95d53bff8dbf60fbb73baa763c2b0f558cb0d552637def253571b34dbe64bd974142c5af4273942b7ab5da6dc42c0f1890984c31539aca67c39fb3ff2161da5594cacc6199dfc9fc09acab2eddc4e30da3bde28329984d8afcec915b8868a60a9f5bb72fb82a04092ff43a954d84afbeb760c1ede208732185f8014f737363ef181c0db4d1cf8b3ec4f45f3f7f6baa1ae587b9ec3e218c0474cb38c338a1c4f8863ea24cf1f14a46d1ec76ff07257808fb3859277a4385b73a7a66f6b024ae9896e36f449603d5ac68fbc5db5120cb59837a6e61eaec24f9784856b8a92f1695\n\n# tcId = 84\nmsg = 31303038303938393833\nresult = valid\nsig = 4e7ff3036442ad1ae790ffa6451f14650c035ac1d8becef32cc592543052ae338165f4aa5e7022bd221457d71de81ca59386c3bbe78211784f13efc4ac571f56f090fe05d833f45d8de6af081c00e9e1628f34c394a857c5d098454680fbe3b30e8d8d83d29525a1d7fc6107eb90e81f840154d8f2677119cfb6fde8d77df676356422cdfff18ad1b64620403ebddc665b6c34bcca9f86d1aa7ee4844208d4cbdf634d8ea95ef425564f388a2f2deb0b0592c04d1bf3938d89b063bc679153200b27a935d7db9dbb8f4d94c4e7b5784a44b0b6239eeb82bdb4a615a7c3cd4f12cedb0931cb1ea588171a4fbaf0bbd97fb46d6070dce77bf3990ae6f5deb3752fadc87a85ee7740c4f47a3c738bc87af9df729782dd925541300e9b19bca6e202b4d48240374b2742592528c519caf5872bb066c7f896804882ab471ab4f68aa31a8a03a040875d668e8fb69e732acae745d568c08b1a14ac1e80eceed4de3103c59b582b255899734649b8de89a6e247f2d9313dea59f6f870e42e6cd859fa4a2ca6a76e7545297bdb2cff5aa419d9867e02e4a414f469ea3d55fc0c5f98618f6001ed87c5be0def6a9ff7950a14104d9d75f06ca9d8fbe3a43f4e29205022daff387829e49c8302d2629f15892f8c92aa265247702c07d090d70f6c5d6ebf654a6f0ad08fba0dc727f5e9123b2b5c25b12ac71d52edf7644c715b38b7d8c11e\n\n# tcId = 85\nmsg = 31353734313437393237\nresult = valid\nsig = 1253a3896ee6cb61e6b7400aee5ffd767bca705c0236e1cbb3d7712fcad7b504e739371ceff0774458a5dd27b342a8a496affb76c1c5bee23c0b76dfc37e959bfd81bedc226218aeb9d160f41c1e568180b36500f41c9642588c18d7b92a8132df4fec831cb89f399711cb28520cd974736f9dc460e06769bf71d9cb388a06f86e16bcda1903797d7bfc0262d298fca5fb888d2f7cd6deb07f994326288519df647e9da70c69f4967ade38195ff4e3916eb9ff22c28d691898c7d61e7ce8d587d9b7b4c3eed7d5367f3d11f9ca9a44cb760b9956abefa8495021339ca89bbeed56fb896b717ad4a2523f34f6c23528878c62782bbded8d17d75741d0ed235ae515bc704bb2b520cef951019b382d8e949f96bda73cafd2fbc1f52c182aa6455617a78ff88bb60aa0ee583551753e8edf8b3dcecbee77668b55131cfd5087ec3814d9874ca142ebb139461b43a96a9269f0d3e80bdaf70024417b862fec325f2f303f6e8819e05d39e8ea8ceff9e25d312c305bc2f1dd60ec69b6354f56167db73a96fe31bdbfe65fb4777c2846201fbc295907668a3cb36aff8d19fa035abc2a1131eed540ba28c0ddf74c1f0781fe1049e4c86db5bc907ddd7130f81827990d0c0e6beaa81a9886199666bf11fdb1ff3603ac04c1bb5d74556ec20e8f3ee9a7d81bd3aafb7b00fa645cd8f4f858b997bb4d727c24b9fbf305ec698b11ed37aa\n\n# tcId = 86\nmsg = 32383636373731353232\nresult = valid\nsig = 19f604db890b3b7abba8d6487ced0b7dca67817d457cda87f8bbdd24191f8ac02dfe215849b607e8877768f3b1feb7d0736051569660ecfc42563a7ca2da82edc83f7971ffe1cbb1e195f21cff262db58401c41112acf214bcb5612b8d28f57eeaf9cffdcc99dd68a5bc4fcef57ad875c9f0d9bb4835702a43ab9f81ce06dc832a7b016dd33e9cabcfe701542546956ba013465cb72c952371055da1e4d6f51c0946962c6be3844c60b5a59e0e84bbb144ae038b33a7ed73db3254386001a63882e958e460b558e173729cb8da60ae37676d4b6309ad89e8431043667bdb98701070ffbc20f21d2e0d7bec6cfb4f928d8b482fbfb3d7c8fb0b757c71cddf9cf180f40bc115536011b0f7ba401f1f20a53bea096b71c62d238a31dcc7067124f04e1115e17175d870ac6873650bbb778149ba0a5518d60032fa18b0340907668754816740f958ec162d3e632723a09f18c238e0e58b13fc188f43539087c198c122e9f33fdb0991ef6ac58e244e76a849acb0d0023f94a51d138a56b696dbf068741e6468d00f8f5f4dc01b350d93e9ccf605b5805a2a3a4bdef6b60d8b54b374ed0b6eefd292d773cad2caed827ea2b0cc41abafafbacc4fea63ec0087abf666445db08d0ccc5a1060e1e02d323fcb76f826a636e81d3b5cdb10443fbac9d41e00d236e7edec11daf382dc1776171a9d31333989f2752ddb60af0b5e1b8b844f\n\n# tcId = 87\nmsg = 31363934323830373837\nresult = valid\nsig = b6fee9ca84912c78f5c2acab8ed83917055012cee80ff3ff36c72c6ee84e36c606a1d1c2f649cc5bcb62c87b6e75ec027d51d998f28ba15a701f66ef092774318a83c14111fb489202a481bce14eb3b8b78ae16aa283edbe63ad243e3ed7747bcac9d343ad77a246ac1a1b03040ac6be71c1bd1a707714bfc2b0a7495ea212b6ffa70d1c8f4af9ae24db6b4619598853b721a24481197bd386f6f6c16e8eff5eff55644f36c61e96af061351e405e023be00cf23c6d31b298557291a1646922a1ce52929a8994d4e1307f4a05adb1fdd43c20672edeaaf388b5d5f32b6b3b7dc3869ab56551c01cd8c641cc22632ec16f84533389c0c5bb1c17064396473c9aa50d38f0cc619f51ca41efd7c1a8a8b6c9258f360ba97845c87ff8b7b30dfbb5982ab6f643c0f1dd7c4957bb1347a14e61798e526e57ef4ff7269d784361943e59a681d09b786f24d1776bc1fa20c3f6f56b75860da67667a9a7c2aa80bf098bcf342694d46fdaeab6cf426a4dbef89a9c9bc1d78839f5a04e411423ec6b41113068ae47c5d5d82c2d2f81b0fe8b1ab21beba616deaef41b55a8b09a256d8a94d105bcf7a131d7cc630a80b23af1c4a863d30e7bf19bd4a592f6c8c6f31dbb7c1075985e61d34cb0a91697c645ee2448f47270d3e912f0e65c263880fc738e5d966c43dff728d5a7e434bf7966f02dca3d0a0ed0bcbc79daca929e19732e746b7\n\n# tcId = 88\nmsg = 39393231363932353638\nresult = valid\nsig = 7be81373fda33342ec2f1a0ea8f9cc7a2c0c69ee5cd86e01c29dcedc165e9dfedc87dea23ad871337add303da73b184821f2613bed6e3042e5ed2b7f65b54d6596bdc2307feab05a87b35eb499cd92e9644873586aff5831f7e2e7ccdbbfb31324d4940e95d462fc1e0e0a4ff7a36709b64c2abfebce497ade1976e1c9a571628c8f08e950278f39a429", + "f24c124f5d447dc0d2685395fa7d7fabea7a855fd92d8e479fd7fbbca318ae055ba0f88e3b1c4ac6fa51cc8d58d34f268f8643a76f49f76525169cbdceffe817fd749bea12421829b1782e5b11ad176b90040e61b7b0339de282f3661bd0946b3179e79dc455069b0359fe270df03be8c8e79396e81e2a4ec090cb62a73d99994c560ae209edc6647997647c415bf537360ed4fb2b051387b58a8ba8b82642f7e65e405e63c8696f7fc949a5329431c51a41bd1d8af94a00e4e3af16c0d1c60783e170e3a3f6e50995736f0fabd8f3c449b2cb382bbe4f98691e327e479347cfce2ec1ac08d50a87e2a43b56eb9afab446bd49e27ea18211056bac8a4004cdf06993578de929b04e70af941dad8b9f5da8549dc5bf67e67bb452559b9b7171780e90399652e8223afa6a7b6ff6554eeb681cf5bf50249ff5462d6876539ddc4b07dfcfd0b3b6cdae959fec46f5c5a36f976afbe23c11cb5d7dd1c0712fb2988c1c31bab4b1929e83c79fb2258adf8f92a8e0529f7ff1\n\n# tcId = 89\nmsg = 3131363039343339373938\nresult = valid\nsig = 7f6812a65af684a3400a5e828520b9b078ac39b7b3d2016f5757216da4c581be2acfd36c99f2d927a8b9f5ea071f517f197df54eda08c9798aae5816b66d821bf569d7d6df174eeae62287bc824a3da2c539b4ac35245ba44992218283f0cc51ebb2e8053dd216f0b031424aee2d0f1a064a912bf7e7d04185b794f8fddca2a0c87f5efebc34af850b5c50089ffed87dd1b719d962f694e97e9d9bec5443e031554534e00675743ced13871ea891ae89cb18920c65c3aa36b0a2eabe8c13afe7f08a299be54b07d05405021c3eba10137266b7edc83415798d856590ff1a063cd3141fb1dacf08bb757e75f1f73c4696fb2f02453cac0dbc7f3a75e1b6d80b7f1817d6b0914ee79e8c3ddabbc7ce80d21c0d71aaa9715e2d963393763b60ce28d2f5f7dd13fdd79a30e7b38aa2f3ccb08be80ac67ef762a7da1a20ac02c28b5bb4e0609de320cf1234fd493258929319ed2a11f68f221c17bae806191d6f6167a5a75391643beda9b21fed620c012af963f81fdf670eb6d0ff54fef8b233e7e422154b8b0ed56aa3511987aaf714fc8ca203991321ae3875020d3a6109c8c9234df4010c58aa70228d262d3f120b82c0491348c66dfeac1baaab2d9f4affb034a5cb3adfea8d40c46844f0897c86a799d719617cd5ad3b21b97944c6398ab8d8b4a23eb1836a0675daf7a37db327b5e8ad15feb4dc74ec16afd4edd7e723273f\n\n# tcId = 90\nmsg = 37313836313632313030\nresult = valid\nsig = 876ecd8c4569d57b46d06f02af46c52c1f01f30798fb78aea5b894d9bb63c02d7c5cc5ea665b05ac1a7149cd55a40dbd60081c59c4d7a3b3ae2ed317a27597119337ed5a4ec092e41bfcc23de055bae01818beb126463c07297a08b3579b35a386dde533ee33d9b6e06a16df6b4258f012aed53377e409506d61e2721a18eba10c6d0166b86475c82eeb10791ef2cced9ee15a6530a55262aaca105fdc9b3012df1af7c798bf5da5982223bdafe1b0fbfa080ac68957fac4ad75eb2ae754057cfd64068f395e9aacf2c9b2f6f28306f779cad7d62af86c20b5f9feb5763c6ea00a6c6ec7ca1fa74d814f878c587edfe20d8e9db78d9b7c5ad7c9cadbb4b176b40c0421566da81fb3cd05e397423f80e4a89f3098cf82c68eefed48a3945cbc7f3625e8806899501d320695ed3e36ba18103434246caf542eb807f7516bc2773dbec092d3e7370e3556b041e9a59ab3569c2d0418b2cd6a87958ad58158bf9d2168632866c4b926b0333e30e2f1f8f36caaf27316d3eba7684b34fc76680490b1a8a7e7ba312f2f3ee38d82e8e8caa535f2464e2c1b6ea3047542fa29decb975f5fcdee17ad47aac690d78b2860e7d2cd34b4cdfcd75f8bf2e2a8f15ee9ad150029bd7a9da6f237474deb25702be8720df2edc4a2bc271bdefe19a2fe5828ee6d806d06923cc239f53644fd75dd362464a0baa9e9fcc2af96e6341d01d48d2d69\n\n# tcId = 91\nmsg = 33323934333437313737\nresult = valid\nsig = 3b5fca402733714b12031ef7054e160b00f7a0f6c00fcc40a2cee4b790fdd69e9a47ab4212ab220afee5d2d045effc16ed1d3e0c7a5e4ce4770e16cc407658154325dd4e9c5ed3b91bc89366c15b72270a20b8cf0e10b3a58bb9c9becfc881f3d4a620227c2c5ea1a7ad85dd8b9d3cfaed0a199e369e8add4d3732687c5268ec4dadebd20995d15351b083d874603462ce9d19c507ab5aa0561f794622597eead040fa11547e833addf39fd7062c2f3bbe5795463386beefe519ebcea039e6611dd0424b34156e522cc014158853465f337f47acf55bcb91437622935f318e5a03c47113e12ef1b85df46a4c6a5bcd478969d1998cb599435979b513d062c01f5b37bddbf77b106cec3a221ee959c481d42a0247f97e7e67ecbb8978ca5de63491ff05834f59e6f5000e4f59fa2fbca217cf6a1d68e0998c83c1495ceb3cfa61d0b834c99deedf767240d8229e6e6ddc4ffa0acf9c2c45c3b06767e38e4a4dbc2d1061ee41435469d785edda24f71ee3440243b122f388a1d89b3714d46fe75512a43834dc5453d77b7e44b23144606d3b81d86acde3827992722df5829c002889be8596b3e13c895d71d73fb359f917138637bd48f5d6b958726685b83dca672f848769fcd77da2e63251736b82cb740cc0e137c176dd29d155a4c9fc2803139c070e19d6e66b3e68f7f870628a389c5fb847e61f4e8d9fffdc34202d9c8979\n\n# tcId = 92\nmsg = 3138353134343535313230\nresult = valid\nsig = 172fb6c2df3b8b411813e913f633e98c3316d983654d13e3eb108b6af6629a954a2a0990bcb2041bebaf3a6584d1e2ea6cf2e3242778ac5566d943b5fc0ecc2c1bf97a60fd1132b4c1655fc3642ac2f9cddc0406abc272333612176c27c560ae2bbad3119d6ec1472611989a06f508ae9df23b7a807bb2319cea0a81e2458df2116b14d985bf0440440c02e98c2ea654c8bc03b12c5f03d8a5537955f2d7baefdf6e00c8d6c9adbe52742ffc3cb2c60d8d9dfc7a8fd758ec7ac002d78f25b4f58e9234c0a622db9c416998186c72de2a8449e552d52bfed674187cc512736bfcb8bfeaf392b44dae2beb432dbc4916cf03e2e4f2e1376d994c4dd79e0d8dbd9f337082188dcff0f803a658bd904efcc380376a68753abf158cb466ca01863dde78c983cd239d128569e495acaed2fdd09dc3385e927cc45e815f33026c62eeac4adc9bd9261db0eb34c67481d8dce3b7ea783a72d7d4b2325c26ce99310e0ab309e9bb3b680e815a2d979dd42b7f9b94bedd2ea5607ad78b786037cf3cd37db20201a6a7a598b1ab379a24d07eb9b53c600d9fcaff40e4767f87ebdd8bddf2284a1fc98a17339812ec63624b2d5a414e03e4397546a44ddd6e70939815e42781ab9db8d2cdecabb5fbfadf8258b20ce5b47624bab002c64d6a6c1c9750c14e42fb7a513631d65f4cc2215732f09024e6fbd1188197518630b2156306e81a1feb\n\n# tcId = 93\nmsg = 343736303433393330\nresult = valid\nsig = 6014e0ce22b92e4015ada297ececdfb61a5337eecfbd0c83aa738e556ab0b408de54f5fad6e0d53d41d7faa24255374a63859e973bad13f1eca3fed5b2a95b54a57c880e8432fef66c9b64609d922dd66e4d1679cfa6cc29739c3bede05bbddddb3e43acf59b42ef4fb1b19f1c08d88ca74f2657aa88a38ec403bc0c5c37cc7e7d15608fe3f9a4a4775c5cf1c51de01010d3ddf256d7567ffeebef5a513ca175e659f7aa87b53f4462883a8daef1c667f1c99e55c3ad9178ddd7089c3ddfbba8a4a398d575e3fcae5e910db4f0372b2fac13aac7b3e13bcdae76842c63b226308b5dd6ac16667b627207a34ada42eed4206142274f36eaaca309631a1f9a6de30e450d156eb956daa3d303434def0a9216efa83b64def5e42e5a418eca2fe1a3df99ea5becfd978fb9ce75f0d601e72b755ba24967e51b500b2fe57077ba61ad4030c8e1ec965ed85176559cf8808a53d0438f43bba060933cd87e1f7ecfe4de028e68f5eed9c36cf2b8dbcc92ab86f143b11eccb0948957e496b6c4779e332edbc3c3663497591e44903256d90d0824654d2270800959ed43e2a137a5c14a8c1baa9b58c1dda4a6511eec06a6959d3e9f6459dec78ae0091dc82fa8232b08ee07f975edcbdab88dbc278cd74766a1688a6841c99147fd5a64de755318095f84313cadea7f047fc4a90682b21a088bfd357d18b2f83fbb5cf5f7c0f16e4c3548\n\n# tcId = 94\nmsg = 32353637333738373431\nresult = valid\nsig = 5499b7ad83cba2dfab7485b6a116d92b17206226ed20e21736c497afc55ffb136a3bc5793e588f430ce4548297b2f1d8ba7deda9a070fd5aeada9a87450cc0bda52170d174bf14e14f980a79e44e331656762e6c8fd4fce2a7ca3a168d6a7cf8b36aa86e67baf2fd641a51899f3e90a6e2c13a978dea643364af6ddd9d2d1bc6ecbf1283e01f253198ff908759e669d45920691f297f2ea3a9c40928db1f225afaf8f33b4af5ed38a18ad7d7b040c4af580f49d7199552f684e5db2c308d697ae01fdb2bd0092fd4bc3a0b88c68f6afa57ff1069e5e79a1717982b22b200439ea1f6ba04a7d42e9571a1811f190872d8a01f916aa914492301121efadba8915669b44d2a5efbe4209388b2d5b5ea4b0a3a92d0088c1c55ef50ed6435bc7e6cf35c2c7dfc9d3e92734afc8100ec7cdfeeaa5703818338702939312a59a48f4c441c36c67efe1f4b2cc95cc9a8d6c8a61a43e9823819fdba526a69cdcb2a2e840d71f4a9f735fe8fcae86e485efcc653600a175ad75bb956d8cf875f05428c583011b8f21d34e8f9dd4fd706297b92ebcea342102415ee4d14d0c472c0f952834e021b31f70a85f72119946d39051b1302a26d2df0cd5b1d5e0e1180a136932181171de3a656f650ade2c480da199bd3e2297d8ab2f2d0345d60063fd6f09b6ce9f12a81feaebe74c906739d3ed0ff0f0bc37d527c1f4dba695f8d9a09e3764646\n\n# tcId = 95\nmsg = 35373339393334393935\nresult = valid\nsig = 7ccfb9cd2560754d74c8d6271d30ae72a8c8552bdb575cb13b9dcedfd2c46fa6fd1d2f6dd7162878077f07382d4707eb925f9c25fbbcbaeb3c368d855b25efc033939b70beb83340460334838f6644df7f6efa40e69a231e7ed33ad10b26c684e5f2fc495b62333557859c374e54d10853f8c96da26c0213d3ed08ae3b7abe8727aaa0e1c7eb86c0958a383c703dc6671a0a9990d0e48e65ff83d6339a84d0502ab3cb28cc080e158ebb6bcd99584b8bf237877dd90936bf5c79003dbb820f5b36fcb9b704cc4d1f37bf212035d7f3244ee26b3230ed810d23bbd889de0434c02e4522002ab548899e8ae3957311666ee6c9a8da6cccc2550888859e84a9d419f8cf4f312a8ff23b2fe27c5f5df89b013c13292bf91ac84d85d646fbe5d9e793da20f32f1f54b4687985d6776b86983e2d181b16e927941823409fd4ceec8a945e10bb05100f05a602b7f7d7ad150ce3ca2bdb035fa3d983da3c98015282022436a146346ebcac6d23279338c4812c7660a53ea60fec8b4db4fc4bae47a42de679589e4a3a44d2f3d65c8d73e7eb75d411db2a15e14cb5f209d5d4fe0f6da9615a0745558f1930f7ddede0b0bfeda753", + "0aedc8a025cc84aa7068abfb106cd57e21c5aa5e5fe314b3051e6adf6ba67a46e4a25efd49fe65f515ea70a5dcf354a41f0208b3e7e71119ee0b429a15a50e1c77a794ccccb84a2e22072ed2849b8ef4\n\n# tcId = 96\nmsg = 33343738333636313339\nresult = valid\nsig = 4bcb1f8cee9da35275f0c66f20a65bfa92482c8c000111179b4d0fbc080f237d217ce357767759bfe36998158248e342ef17ea6161202ff038617ac33992b40cf054a65181983a84844bddf6e6338ba8700f580f3f248fc4c9aa0dfdcdfb344ef9689e02d526b2565c99911a37f336aaa294641f5a62c1a83adc46959ab45d02c180f4f602a7cf3c7011b1b94a1355708313f75e5dfed9ac9e9e740334fba7404d3b46f42315f0c369ef0b96e9c65ff17ffe5da6b543295048a27fdba75daeeafa466ab22039887114bc68b603bfc1e11599dda99bb048468e717fd05fffc681f8506d34a97dd876e0fe8ddf9be3a33e6718ccddc7fc71661d7008d9a7ae8266af3745c28f35d3ca300b4768dc3b71702f2bf810d34d907abca3f3edf751d941fd552371ac2802649a3bd93e8e21dd7a0bb96466737ec3df0495bd95a4a830b717b128c08e71ea2c0e2b20ad1853bf8eaa33ff814724b1d2103c63d629cbd38d5389e93d2c29fc17051fa332d86959923ef4c3df53d24ff2f0fadac33785291078044c1de7dce3102a8d0d4cda5d560db06d81a502fb25e3541b0dd1b410eae3a5c3f5e265e709d3b9a7452e7ae9e7a290d31d3e51e3f8807b25f92969ec3d57a171b65e3949b12a7aac1d61bb96eba198149fa8a71397823a316f37f539bb3b6f663ac8a8443b65f0eb930546683f31f6fab6ae954ee0926835b750a99c63ee\n\n# tcId = 97\nmsg = 363439303532363032\nresult = valid\nsig = 62a30b6890e6a50bd8d50ee952cf46af4f3f6771cb70e82cc0c37c4e67caf929abd23d1ea4f6aaddcda1b888baaac23fce87a3fd691ff61f27f01a1ef56d62bca712353f2cb3ee4066390e4cef5f1e4a0710de4dda0c7719205a7de1402bb3d865363e32b2db3333cea9f54b6388a8d6e5f69d244a42eef7a2fc68344aa94243ce74e059241c5f63382b2ddc11325bd696e6a93b40a02ac8b951706100058cebd07e53002aaf70ea658e44b369e07fa9189659308719486c8004f00fa1b720b88153246e3dbf973f7be69c9cb80c1101c77ce7645d9a787de260dda80a6bf18e504f5b93191bb1024b7c5223e4840a3e9cb56832db722c3ba80df79ca619f3fee613152ccf847b35a508b0b515cb0696af0144b3fca9e621c2c5f2b64de3372994da70ecb82afe95fd5de28f3aa3a1df1a910816b9e69954d7599765066a34a7c3ca95ee6a90069bbb5fcee2248e90eded32e717b062564b717bad68650467fbeb174b2a688e526e8414e2defc7879e07b927d7bbb5f09d1b28215e05d15a8ad9281edb50f3a246ee08d2787eb3b8ec242c3d2d33abc26fcf27d4cf6bde79635db8cfd7e0235d280a735b2fba72f24bc265c493d9f0c3d5eec3599be4a90d9b56281a7962cb68817597747c3115a4610ca5bd65acc6763d3c4b337ff5db78e87c267a92feb9652c0eb131908214ee01c49590293ab34b3485edc94aaca4c7491\n\n# tcId = 98\nmsg = 34373633383837343936\nresult = valid\nsig = c7049f15d0ca1724e66c5efc64b782b418cc153a57cf5327d9be95d0f639c732113a0c806ffdc7baf14787393a9cc635cd2ea5f166e48885c55f39ad6c60f817b4ee013198d986b307f333b5950429dad0d3582a78ef3619d46d5f944a442edfecd0bc1dcd74429e59c98fa0b532fa7e3439e67fad54bb1013adcd92dd1aa7d2b1ed66f2582c6b1c83cbfcf7d168a8522a1ef63508d07b647c4ab0b867abf9da2e1a20c69428bdd932af73a34ac7897675a8b030c11e4de9febc426a7731cf2077cd2435d943c6452dd11e0ab25157b922bd78ffa9fa1f36a3116ed3906e6696cbf66a5719593e54e7159a6c732fe079c2d270586f0509c90fa034ceaa3098016c6ff82242e20a69c6e6ee318c24501bb74968fcb47cbf58a7f97081ec71f7a94ea062f6e3fa7d930d065ddee3ee3f8310a81da9a1ce310d6bfb46cc01561b98508326f9cda672d8c35c0b9ce29fceb3fd4af9723f1883cff3f9ee7ce3fee2f0d376481843bd906578f6603e8dbcb5b195390bb7d429915360e1546a65a9bed0dae431b59b72c8932779ea46c1e2fe320614ff0060511d75ed1c556953b1f5d86d4ad97ba45a3f75b2c557b1f5b084a3aef4edff0d6a20fc3eebc9afec028902814d12e1a103d997c4e978fc8f3818c789b663aad989728258645c3536c38e085e25d6a8c37eeeece54c6848b284441176c2e9ef57a65dd1b8fc3da2db693e77\n\n# tcId = 99\nmsg = 353739303230303830\nresult = valid\nsig = 2cdc8ecfb86bbc04919dd77370f863b23ce1602ec660fe45b599d81f12ad66cd357ac90ec638bc9bbecf7ea21a85e01b18be148f00ed98c91339f03212171a157b721f9a22295fb7128b053f7ea1924ef5418b13859049c1732126c734dba42b2048aba6162d7ea612fc0d7fc9061382766b804957731709a6dad989b69445879ca594d9e9b8faf222ceb9ab52ef9d068ccc6228a31e0e042c7b27593b6ca00336cdb24a618938da2b8a187308de5ee1ac5c74e0f3b2e34dd2665616055f6696f685a5cd133b62d813366bc4460290254b8229679aa7e0cbb868b19c4313fb22d23106754d44f6edbdc983801a6270e29905ee8d6ddccadc4654d29b464a474ef5d6eb821c26c1703ee13ed9475c70e0a49b44f4fba9278ea591d45d34f07448a6ab755d23422d8009b57328ad7b389aaad305f2af0891ca197c2bed87ac950a3254b037b1b13b2e14ce09e543f3b96265b081ddd07557d1315561d69090ff6db42fdee6ae64cd71d42fda5357757e7a1bfbb518df017ae3ad018d3ad5f853d4007edd0a72d3bf560111fe95372599fa92fe90844d7e0cc3fa469393e0a0bbdcb35ec4133f1e2a538ffe77e59cd71dbd0557a711dc3e0e40460038cb0bccbc596bf466221f45f60c8535a9c968384c248b9ea555552e0072a5e5a334089f46ecdd5295b35c1e00579627bf63815b84379ca4a87978806be1fc067c043968bcc9\n\n# tcId = 100\nmsg = 35333434373837383438\nresult = valid\nsig = 4e2cca534e403b3165d9cb4ccfb3c60a725872564f22e5cb2823efa3f881053260e54a5423a2bc481b02aa9f42292dc3aa6d3b493196fc0c7e1684cd598cfa7f1fba1b3a34f88db964d104c92304dd2501bcf4ee2837bc2c831f1796ea494977ef5f90eacadf5854c64e34c43c8c5841a0425c7642e55c5a05cf01c6504574ef32e6a66e90481575aeafb66f1fc15d791c0b0148540e6f5aeca5a455020edf049a946f5ca25193d43b69144ba0d8ce4c68a0ba70a0eb8ca695bedb599e8d6e07272d0f585f85b5bfddd7f8bee4a683359873f4ae43b15d632b9456e9c586d4472f9ba623a2f26d63f01a89c25b12652f97ca6a9eda2d6800abceafa8719649ff284cdc26ec64d9db59f0e7b814d04c6cfb64c82c243d290f9b3ed52e4b7d7cb1203e7245e36337033d250d3a568afebbb544a9724bb0dbea80e225777ad4b1fcd895d931775ef929a0f7205c34b381722f0c4c6e38d347ac9158ec5afeb20265397c4a38212c4a97f1227b5e039ae029ff9e71d3e87219a16097e41ec68e83f9db0826c507e9e39d329fef5e918a113754695e1087d59f817088e1726e3c95f1bceff8c721576e3abcd1b4cf6bbf23eb7d80e85431eb0c711c65f33922855293d1ab9d48216436e22832f379aa2daa216333fbde75249c93d73587063b4e7581ad114b9de83737df4816548d95dfd2de6c4741c334fc7577c6a9c658b4b51451\n\n# tcId = 101\nmsg = 3139323636343130393230\nresult = valid\nsig = aea92af7c6c66127d15e871ca199643932c50e97718864c5344952664aa4927b76be66e4ded635dc1ca324c4e3845fe664f4bda1565464b1e7d34eea3693d87f6fa456eba509d51a9742a72b39b731d09fca3bbd442c8da77d762a11dbe85c476ac1423d8cc12cb563b431b120c0f6aa7cf21cd9cae0783a9b2625e7f0d84810e2936602a56ff5945f85d1ad242cea95045017efee2c6859c00c5821d93118c1a6c45922878e84289f8d5902aa5fca52d526145c6d89d8d61145959e3e53f61f5c2cd0a0fecdcbbff789b2d00ec1b902343664fb5aed7dbbaa6cd065ee41f03f61bbbb72f60312085551ed1a2389ffbb5a008a4febac81ac505a63164c84dc3dd9df7add84d9b0a0b230b973b36a1ee27936e38f887cf1caf9661e087b7c41956004503ecd4492ece4601681f4998bdb5cbe6c94d6ae107f41a8b127f572ab3a5bb30aa6fd59b75f1eca9218ace61d832b9184c3fdacb1cc7e7477733972a6d08dad800ded3b0fd784ab90d071dd7a089e896d3390c2bd3306039175e70b4a0a02f29059cb168aa37d0c34005656481658cc5eb36776d33dcfd3ad6bb0b182b409d4013d4fd1a11577dc75a23d08da904f3aa0a9382b6bc1f504350d50ce0de78b0e9e0ddf0cfcfd0d0af941a3e303502036311927f832c19a9ec0e6d748a1a8be1c1d9ef4d3f110f4742452107b2cb56dde7a9a32c3c9b2c864076e64d16a58\n\n# tcId = 102\nmsg = 33373033393135373035\nresult = valid\nsig = 86b7a675432634c266615b5491599f0f77fe0b0dc9ef8dc46d791de8dac6f4af90f56d0af7f717a9f88c1c7288e6d97f791828d0f66218d29cfa12260fba406ec22dd0d5be5ff579b5ff2682011f10a24b0c4062d89c851cee27458d5e79cf6a2b8d8399d9efa15d78514aa92c80415d1671060585ff2526a3e9aca3d9c99d37f9d3e1b42e91cb8b90cb0ae465ebb44beb7360950036f976f24f4d5fb577b75198c29081ae573c4e44bf136c18e9b71e3ccc1a54d118ec43de423c14457982e35f725cac9d75956df0b5f397516a0d560c19f18a2beb3be5ea9fb1259c03cf825d47ad80e610a097ce35bde8e649ab5d2c9388b525d73a47c473107206ed255d37329bf9bf0a4f96179f5f6085559c0a2c0475fdf725addca0ef24056b2a2c9573bc8f7ba13b5574c1c590c47b7accaeb26cb35f426b7fa8050854ebdd58fd051d650f7ea8ff246d69f6db2fafb5300eea601a3b0925b54292f29724f11717d830e943b114369343c2eba7435ad4048f23fde0d38d9882787e69de116bc1f9cc9ce71b8301b1e539e7fab269dde8a882b999a1e9bcca0ff37f99172ea82e8166227ed7227e73e8df5cbb434034d09f236162e893ad0cab4c0e4268c0f9ab58a3e4c8c72031175c5ebc70df900c294d278750c45234d98506eee70b827f2b9d13af09197e6ebb9666f85f9f91ef0bd306dfd677255936e768549927b635616bf8\n\n# tcId = 103\nmsg = 3831353435373730\nresult = valid\nsig = 91527ce9c6d98c091a7a8203c20d43486391f7fdf76dc39f1959c7578fc38aa779e1d10d3953b073fec8afaf352588357c771527e89bc40b1fd1f2da3a9b2b4809793f0fc8a6324aa81f00d834143717dc41e38fe3da1a0ba359d146625ca23e7df6ccb20041422d6d44f4ceac397bb6a149b1e17c2c43eec5b21c6ae5163c910b3984ecb6537aaa81b525669f5b2feda8cd6a6a0a580ef5fbad677a650644afbe7622fac366e52d08233ec2a6c9c5e76a64fe450c5c656731", + "45b65f680529fb3664befeb57f946b40f780278293620350229416321479419421120d7ace900834bda75e8bf1a99f9d189b9aa14fb99d64042c96d7edb091896bfa536e7194900d806bc0763f4d87946c9b6f11bc85d78f63785e5b19678eaa63279937e08bac06b9a69a1baad68546918324d7e1b5f6eeb4d6d1bd8e1cc0ad851119fd8051a0b303c87f91d7a13b3fd6cb0cdc5c7d0df73a082470389fc8e024584da5e6ef61fb36c1ed10fc4eb721c81abcce51a0c285e77e59f38266f600f054c786779296ac16dd3bbbb58e90da3800ecb50ac893df2d05005a64778bf79c064474b9d9ac8533fd4f0565637cbff6a505e2b4b3ebe3d5469fffbb36a075ef91ad849871ddeb78fae761cdaf454ac2fa43af60dab5f614adbe74997354858a98660529912c1db7175374c053270f8e3ccab4b712fbe0d84269becc04ebbd95985b5429ff0e\n\n# tcId = 104\nmsg = 313935353330333737\nresult = valid\nsig = 53f4dbd17a75ebf198206f2c459b6a064da0a0bcb5d8e4e35212fb90b9315dd8eb86326b8e3701f51dd02cd0630e452763dd53ed018cce9292b2eadd6b21593f8e3e2d5a271b391b97058966df504463f073906a46edeb88b20d4e34f74fa9f1ee4ce25c251033588dbeee7a75447028fb99a72da3725d5d87b9d09fd37359656d259e78871af9f426a62468a0ed17cf83251ae06289f9ebf00bfa61e7f72bba8972f4fc6a57c666048ec3b2c2cbbf96fa892d026848089f62f8abf1e2c1c6d4149356c6b61af710fa7d8ed69b3bdeb222c9daf3eff495a7aaf28d4c8e7992ef6c2ff19c497978f739405eb395753981578cfda2fdf59965166d25f0a3bd6e411cd14588ae4f26d7582fd68f8c0a5001d6a6f559f2c84801ab7e5f1008829d81f475ffa9a24cec4e5864645c6828bd638ba88bc6d04cd9f9ef41e9f4c7f3ac01bfb5f88a0828833cbca8d5d8f840f4ac6a5515bb551f69c3f6a8d3ebda5a93233aeefcea320e63a5c2448f56458f613fe182161a319ef9ba6fd2ef28f5c16df844ea4a6ecb15ed38635d148b33ed331540073d19ed672f87231bc220197c7d3ace87f9b362378e90642d3a349e27290d1f32e004e18b8cad7ff9eb92a3d980a7ea8d2e274e86d3d3ba8f64f94f893c5fe8e8de4fddcac3b3d50b02814b30174ee7439f44421f6c6b6a7b3ee0d7dafc9e9aeb405c5498e83c69f45a8da96ad94c\n\n# tcId = 105\nmsg = 31323637383130393033\nresult = valid\nsig = 9f8703178debff5b6b29e524907057688874d51276546f18ce440bf97b410af7694fcd41922b5630ef3017f4fd654a07da29cbf8b73515be0ba254fea595d97b57d1c69208955b536bf6caeac9e20a983e644fa3a883c9003927274f7de0decc291ce40cb847e1ad9196842a2504cf066b8d53c7a70fb23295877bca466ef79a5aca5a92ab391ec0ce4c6f2cbc323d9e4ce6ef235f81343e2299e2526a444d19c7d54e64bd7c8cc81764ad3eab924a26c4bce31eb384aa7cfd2cc9e0532a2e7862ed5b44afb1c90b8fdc2b8e27f41dab3eed9f48af050c36ac2774bb354ae1fa1f69bc74946c39a43192dab67d2490ab1db2c2ca2f8a9abf3fc1b80588f40264e8d286425fd2693cea3c1280db21be051b9198f5e6bf580e7ce2600f4ecd72c3132424f35add136120d5fcb1307ec150a218c26e35abdfba4c36ceace0b91b80049569ca4a3f32523756893d41df2f0294037855d1e43973eec61dcbb1843c8325069ffdace065b2ae138706723f2be7c669f967829cc5e1df07be0033a6e65e9e6b777005879f78905162ed2576205315fc755c958a74f73bdc5ca041e9da74c3a40e2cdd4be9c3b3cf4a4144b33874bbfd1249b43865358be607b30e5ef0ce3fc98c4553b184651e7ecee13c9603f330c83d21ec91127de3f5226d42af696607bc0a43faeb84db77032336aff7cb27f19232dc69a692dca704e6e2d2cbb54f\n\n# tcId = 106\nmsg = 3131313830373230383135\nresult = valid\nsig = b64da0cd7cae92cd20fe78f19dab400786c120a77733b1a6e2c16033de50c19fee526d3dc3d2df18ea24c3b0fba088d2876f116187125169e22c33386e8e44113c7971349e534df32d20f6069035c7fb70ed55db3731b3e968885754f1019127ae0db74e8abdaf173c6ca94017dd612d4738161eb9ac09aca3f990c5ef56de50c0501164c0bde47361323ac86ecee299d9aa2325ae160790ae53421ac16c1e812e8b7ef25fc2ed08849e2c8889abf15a485c210105273677d502cb1ba549ebe73ab91e0aa2a148a966258f574786b93fb256370c3ecff5714a3e1371bd3ab2211fae69350a83dd9fbc14e1086c4dbb8523c4e0a3685082198ba9d7c92503deb57a78c981f69bf80b38cb948850aaa9c4ce3440eec6eaec5d071ad583ac881a9647dd56d62b1b2cb5099c274b2c66e54215a392f0eecfe7b6cf832aa6a2eba41f6b0ec3b9dfcacaa8f1d82ae17485670499587d0cd3345dac6e95479fea7f644c04850cae7c32454318ad29b5319a20c4d704161df62c41267512bcbeb269b0ed816eb4f27bdedf0c30f87a58c89cf619f9cfd5c8e00e25973a7475bedcd5c1fd06f1086b238c145e8a4185c4fb93527c9a6520ca58ac0c09019a3199ea0cec468da463f88b96c5c9c0f5750f48e5313a008a4d5a0cefa9dcc2a477b02cbb9e27d958d0badc24e2ba3182d336578191d70bfb6e0886135e9fc7a63f1fc840f2a8\n\n# tcId = 107\nmsg = 38333831383639323930\nresult = valid\nsig = aba69e866abb3da412a1b5f0284b8bb940dbc7ebb24cb458a325e6399904080212b8612dad9616fb0b92ab057edbe5e6f5d68263cdefbb7209bef4fc507e440c52667b6ebc34f9ff29bbc7c0359d78a8f0df6b3071e871d623536c882b287c17f5f280f77f134f97e6701d3344864e76b70c0b208a2ce74afeafd9bde901ece504e1bde17570b1d0d2d114f7112e0334c8a5ac691962c6ab31f8a238bc65cdb8f01ee526471085807c95b02db797304bd33f5c4c300dd119e200f00200b463be612bb4b88406d03a89821d66257031ec9a57f5f33e3d62b3d18c25aaffd43b5e88e6fdc201fd9602b6f8b7354db3c9bf5466980c331dd6af695cdf00dbba0afac38af5bb78d37994c0d12e9acf1d76b7b4ca3214c5d703789a63301f2f480825de03e272bf791e497a8b122d846540ff1f369d8855a6e5942e5e2095d97ea923dbf22af1b3a14d9ea955b925c791c88f74df0b90d578e24b894738e16d70d1108405d2ebd2401520945208624e760c65f6833a73ffb4bc32224ca3bc78d83ca3b2021e349e051450caceb4caf5e4cc9fd906f91d575c6796eeb69955a634c324c9ec830cefd0c83063f3876e135991500acf8ddb8fefc55b839253ea2a18c40473b02842b36c2e40cfa9740ce5e0818e891be8fb484c9121128d454b41aefd4d4e5ac4fa93236ff05ab02b9feb9fe43bda2dfc3e63bfe9d9d8dc9d804d9fa312\n\n# tcId = 108\nmsg = 33313331323837323737\nresult = valid\nsig = 4d5d13eca863400fa4c0d6da1351b5dc47aaded17042b40f5f4018d87a77429b382f1691429c434530be31c338b262bee9ceb43d74045398c97b8573de9bf2df5a84c2cf8ae05b1210f17afeba8a076e91743cbcdaee74369228b7a0969e1af16a0bbb6c93ff09a425495a6b67415b015a5a362f852646185e0bd44552cc8602c3cad2d41f688696d37d11ef76f4f5180264d81906e7366793cb87915f4a58d024998d11ca0206d73220078036e100f267a9608384d574096c811d2bea5c724251c7e48e2eda2e35792edd97c886428d2e8e2d24436397783c7c56e508e558a331b1257026ad459a0a10a0c566be9e4090fc99b7e62ae91af626fd2c7518230b9b0e97896f059b5a216010bde5c17e7dd9585ffd241e7a3290d3a5d0d480ce9a17a2cc775e237651ff7817b669a9e4b2dccb214b4dad622b269994f28e04e538c7b087a3339a7326988eb80df70023d71a813ea53422ac995f99a5c2cd96e8a3efb78fd1532d382f4b9b4fdaa1c4863f5ee80716a6a088fadac29f97103590d74f5854f98b963bcb59028fd2dc924b012c3744dc9a28b1e8f0dba159e3151989dbf3e7ad09c7d9a8971890ca7658f126761992b7ac9a548201c8d72db7063605d7c8d49e6c58eb790b651115d11927b869f8ec1812f8248d937b55911a2198624a373ef20848253a104722f5a717081949590e5da904832ef926cdab7e29d64c\n\n# tcId = 109\nmsg = 3134333331393236353338\nresult = valid\nsig = 314ea243b2bea8afe0c6c66279426f82e7a7bc8614f2729b002bf5775576e51efdc5a1f69e6ae5fc15b06771e45aefb21b650366a0369ab495b0a9492a4e5b5fae2af3f398253aaf829e815a6025454f337a0a530f753d3323fe9b90f36f60e127f9c7d968503cae117a098c3f04dc9fe9f8ec32e8dc1c1b00a4b627016b831387a0458ab707641a5a4ed2e7630edd85b567a856f5eb35984199aa90ff13ca7f7b856bf35379c59919e76d630840c547e5cb726dedfadb22d323d508e1aaa73cc0b1640158be6dbe72f16d7134a9eda78ad55e859b7d320a5005ff15b4dcbfaf372d72ecea1656bd50d18fb4f0ca79bdab376637f0a2dc3820b7b72a33436d0bfc4b34ea7e816fce69dd81409284325cd404864de6fdadbdfac4d74949b39080c01d0b723359c4884e356a875f1ee7a07582ed7d2426e554818fa89ad1c73f2465dc429db9d70a3b9191d1166f938ea0218fbb881d89852397edef4db544942dc8dc14752a49b8f8db93f36d39f4debf1ce3c454113dab80afb348544e964eb747181ff3884a703787e5032d0f80c3710849ab38886b958fbeae8963c209b0a076f9238ed9d467af5c9a6434eb55782b6abc0436ce177a493afb146299f61bf1784b26bb2c49bc7b3fe88e1fe44c8b04d9f24ef6acb89985ef11116e0b518502289ba29cdbd9620783022d30e186649199523760169f28f0c6969c8172ffb4ae\n\n# tcId = 110\nmsg = 333434393038323336\nresult = valid\nsig = 130818f75641ab704b30830a81e3d991e0ba571cb9a86a2e0abcb13fd013e8f550f4c7fe7b3a90a0ab6e4e5b478c496338dc6e0fbc09a80c8d39d7105a353c8f9b5fcf47c889d40e3a824e7b938b7d61a8374563dc57f7ced417d67f8d3bbdbd6980bb093042d6fabed95fbead272fd256ce88f0d11c076c03300d3fa318242c4a66f1c96141f7a030d4d1ed195a386c0cc379e84ec4cc965269c9d944cce6fee92bfac0005100d9461dbb204dbc94340287677c0493b2d6fe3a15bfa282711b9ca5773084c9dd83f2ca96748a3ccb6e8a080b6f26535a38cc9e816c5b0b2109b830145b3b54296a395638f459459a546fc0deddba9e092e004e765f5b67192e148d2e04e48efea90a5a6aabd7eefe592fa49989f6c1e80cf9e122bcbeb78c5dd34ecdebfed4bd9d84decc94b421b16b5458198e6e554fb647f28eea3a0031f45a36233dc4895e03324296939aaff35e0ecb541025fffe1b90ea1f4d7149e34ff849326356dcb118f4b43026fad0a3b1796ad7bc9c4bb27dabd35f858be584721ce053038378943b4d8f9b70984944ffea1f63cf85ccd1b33e92d7af9b0c868daf606332f75d4287200cb035eb574ea843c075b3cd66a581acb6da950d07615efec26e0819f96250c7e85ffd443f570787c609faf5cca0d3ea5d8ded6", + "d656fcba70d9fd02ea2b7dd282fbbd08185aafbed0b52139552d5d420b8200d36c3e95b\n\n# tcId = 111\nmsg = 36383239383335393239\nresult = valid\nsig = 24294dc6e8bd6ddb2a5248f77cb57d515a34ac41332ed20098921ce0fd939853a102b928e67b1619666149719511abc255111375754f5e6bf4188c585693cdb1148a11f187b454d9180baf16384b3522074ffd7f511e08a526facc0a9b8ffb19c530e01c8f4f71b6a60151c474349c6e2b958800cb83a1494e4f6ba0a1586a00e85a8a7974f8cfafb28d090fef9483298fc72266c6083112082c136a3fec28c629714f8b4267a6194a196e803b53e20496cf45e81c3055086eab1f6c4929e726c158ae39cc73985cfb8c584d149ce9d265d26d58a955b4c2abd291ada7b7f9ce4fb35f684abfc569a757e4676c388b3b6417a780528d0b04e5f1497b37206549d469b0a774997baac4309d00a467d895b06781f2adf0b2d3969c8c77692ff6c241737cfcb87357549e91b680e97fad60ec2e3998f14e4d18a601336d3147ed6a948b63e8ff7cd41cda81229d525b69a6cfa44fbddea1d10cd70c0a8596c79f796ca193341771d14b35708c2eb3e23692816bd92c8009034c25c617ba422b60c5d9b3d3302a9e2bf63b8dd1e683ffe4d0942c5941caa1220f00a6f41c3eaf6443c36547fcfdba62e42de84da1062d8a24af1e5cfa1bfea69eb62517195044aeb350a9e3b6c92401f5d97611371b920b47199fc67f3fdeb731c22a335b5ad427397cf634f97b7a29430c2f063f1f018a8b1e46e3e67330b05aaa8d371a705b4cae\n\n# tcId = 112\nmsg = 33343435313538303233\nresult = valid\nsig = 53412f1014e986c56b334e266ef55a6a60f12d30c05a2cbecf2b5bccb3791baf04e888bd32b0898cfc63d598f5e3297366fe2ab25b343fe204cf3dac1f568747594c71a246d42ba68fe9736bef05b1d4861844126af1f911e105efe198c6227550067571d611fd709238d707503906577313e6789e7ab1c8a4aac8d83a628aa19f4a136c5844cc1cc3c4e41faa6f2434eb871a7c9b9f2e52d666ea9043cdc1afd442627ba661a449e4e0e4c16f9b84130c50ae536b698d4c4facf6642d91f23d2eae36f0e4083997478dc7aa9772d8226f0904aa8120c686baaf864449d5bfdae22fed5d034605311cc0af9513889e57eed6b24561546969d1df1a110d2815ef8005baa21af1615fb6cb45d8256dda3e6a15fc764c8246d0df238302f69f36473153c841f1c5363c51724ac82d582f04b29245200f34d3be1a3c653cf9a3e0072ba592c098019f10aae25804d16ff23ea9539e6288ba4196e557b838a2074d33b6849778b5bbb04ac677690d67d7c491c928a16f69b0a2e8feb41e5c620c6e206498d0ef27df23a327b3006c822dd41f16f8ee2a3c6a905d97381270bc4ea0f4457006a31f142a1ef5fc9bf1bca535c2f7d6a1630dd20a9de675be86d1c45e93456bf06fbb8fc55343f40ab4a044092abbac0832cb1ad8d35b480e7092446fe3b5c5699977fc53f01255ea60b86948a7a71c95100ff73b266a103f0b2ed46f04\n\n# tcId = 113\nmsg = 3132363937393837363434\nresult = valid\nsig = 116caf06ba69683664a2002ff12b6ca45e82f41e9da874ee12bcb5b670db0f6228dfc5ce4d5c05f44515c4d572974b0538fa0ba7539e99cde314be5d1d9edece531930f8cf2d5745a119601082c30edba59c2943c1675334645c53c958c951213834d1d2d54c119b454e6af03e7845eaf6444665e1c838866579d1d7b167ccfe9af44ecc89cb89817df2bf3defa1dd75fac7187b68b4d9f9750001ed5f6d766f7a3fb4c4a5b01c738b514f0393dd5bffd8363c952533d933eb8234b65973bffe4d12a6e76346bdcb4d1dd061a690c853f6acf144ff68c31789d3e7dc1d2c54bc5f949323ec77ff3e1ab2e64c006e67e6703e6adcdf2ac14c4008a876421b6052d2dc9c275f592a460acb9465ac2c0aedc31a846f8f3ba6d32be20d3d3aff1eb83dbd3cf2bc0487fd1d3a6522c5accb8a1c386095a52ab42a445d41efd1202b9b61a7f1d801215ba334a88381bb13d556255d344a561ede748e63b3e701b24ca95db4eb7ea3e9662eaf75cc949aa576ae25be5b6c4e9fdffed557ce1f4abd11745a9ad1085d2c4ea900153574b560415b2ab473ef2c9676d15d315944d4a9d2f56c3ef95532b065c490b7b09c1d4c7704f8e0812623f32d87c3b1513164851cde8c25c9f42f9b6e325c20996213c199fd6943dee8d6d064fc04e88096ac8f5ea7dfd92ba0be045745910cb5f93c91c8b01940a8276b8bab766231166239cce7ce\n\n# tcId = 114\nmsg = 333939323432353533\nresult = valid\nsig = 04c799ab9a7e3676be869e977af0f6d266eee7e4f8104126be32c26e20c5ed855082bd4216edbbe1d9b55dfed7d93a0d490a425b34eb023fa6ea0058268d7ffeb25c5372c35cda0853c8529dc1634bdfddb0ee40b436af9d77954b513ef315e147b86a5ba58400a877247e2d72dd7217538233a46e368824d28b55819cbee39b1eadbedf0ee7d5f38add5810f34898344d40904beefe6d7824bda9990370bc74800175c15bbc63b9d650e2ab7820cc09d8a281e3d962dc13ffd18685446633229d474aada724ff004f0d3269a45dd3d29902a0fbcb02cdfa7001f3b4857c33c9ee691481368bc1e9435772648e31df5fb8039cdf77614cc0d14f39b988e7f989f2d8c4b36c506761d237da1d829e6e92dc41f5fb2e7d067839fb7d46a6f3c06c1f3090a3695f4c8e4f7b4419b076ed3b09b1db9e741e07ac9ca609a7b45299c34f3555a158aec1ddbbe7747782efa6b0b944a73e876db823bb5802d747bad412ec7794bc73c0c2854db87fffb27a470f7944bf559a20fd24eee589f6c4b627bd30874eae2a7397b1b4d6d9e54dac16e191d6e405cae45f43aee6a09e1baf0b3eca2a3829efe82fe13c1c969c64b0f2a03540ff43a3b0118afc84ddb1993e97a3b324f4d39af3889db9edfcf8755255aa9303891f67446bce6b7029056d7b367d2ff49607144a435cd647c0d317e3577f03f223f81bdb2426f12e73311f4e1928\n\n# tcId = 115\nmsg = 31363031393737393737\nresult = valid\nsig = 2941cae270952b08ec58d60af84fee4b1d82c21d48356bb8aad78011bac54580919ecead7a20914adee8d385ccd75307ae2f86f0e901116c59901967806bf76b284b46cb84c9bfaa3ceeea211365d5c9b713f714c4e360b1d128101850157b44c2986478f97605b70d92afbacee2dd0040c204dfa1816fe8b39306a4281668a88e276d96279b96381ef32c672a7f4b9cdaf165d7489f9424b8ee82998aec7f561f490d07b4aab4c2b2607a2efe2f89de9bb8133966dd0d3087259ceb0d7cf8296c302208439f21ebc252c532b18f36ce9f292eb8a4f423607cd03a09412557d622f38eec9fb3cfef4e317da96541ecaa82108c88f8fbccaf5449650f2ea6aef18de8fdf98b47a940f16ac0ee4d8c2980ad0ea353cb6a2d0ba96549144856667316f036c3a40ea1fbe14b9906c8149eacf8ec23df1c563c4460c70544918fde2bfa1d76dab1b8103645fcbab882f544c53077a2f940c2240c0d97f0e5b29dab4be96bd44aabeefdd0bcd431975059585740b751aff012839ef3a331f506716b822d5b9dc0339de7e0dc7d554784fca7bebab2d7f714709f11cbc5f40700ee184f95fe0c7f91953c31a0c580b8bed69dd15f45e7825552a75d875bf8bc87b145d83b9f70e8b74b07397d83907c6e8e0be888cf2e6ea5dddde1f3327144a869cab0680d4e90e92e85f661d5bdc0f29c0a6f710bb485c3af3fba73cca9b719476b1e\n\n# tcId = 116\nmsg = 3130383738373535313435\nresult = valid\nsig = c711f7b56aa4df24a29458f2e0bc31ef6e2c424d71ad243effaae03322bed2c075e49c0f1f49dd5596481613813fce93b838932bdb499a5e1626852c8d3b56b26996b21abdeb0041da3f8b2b9581455ea7abdeb643ccbc774139964e1bab443ed33f0b18f4b09965ed1598988c9aa8e9b0b44e2a13eb57aa46a7dde4262aa0ce6e62a1ae3f352ee59c3cfa53400a96051a5b7e9aafd0899a9d5d362cd8850f3b28f690726c6b931aebedc0f98ce596f2f922308f57575dcfd3e7eff33e4876c6254638637cef68804f06efb2add925e44b17813b790970bd54667d7216c7375432c652e4d4c0bd996394e357eae12a654a8058848b8bc1ca6cf1ca41ba32f01be0fe6d52e463889dae1c7cd44ff5517058ffbd2f812e5ba411bc45417141b02c10491355716f51502ea57dcb9c39aee4636dfabb0bbd9e3a9fc71c2dde9b9464b0bcc7fc94c03acd98c256cb2131c503be1aae2ac7b3b68bda68865bd785727d1500e7075a9f39766567f8985f29cdfaecca04cb27932273a5f2fad2579b0c8cb7c780e147a3d47d6785fc8d28a0e7b1b3ea9cf02f691d7b4e1b6255c0ae1c059a62b5348d2b0a8f2c4673492cfad87a31b57b325e97b8a6a40814753539d80408ee15fa077863762c9678ff3c407ed9875e61021cb1cd4e2709477fb788f96288450bc7da2c425549a9724004bc2d62ceba27835071971b04b35397f8787e51\n\n# tcId = 117\nmsg = 37303034323532393939\nresult = valid\nsig = c135093dc0ebcd24faebc840005cd04f71faf9d5d78c30e1c5a094dcf60316092f3458956c1e2bdd44d784ef65d8082a3e2da0c0a61acc81cb123b9605d5e0f75b9e943892c4b22877def8c9a7e44a461ab93aa317c772c66b643d017a2de1e0e5a4a355b0d800b7564a12c29ac1c82d12bfc0d4ddee202c6f040692976da4469459d2c4a0776789d089323d980f9d54e58fbcd391486d35609fa56269364b212cf1e240469a70c65d3920b28751e551f5e5b87b57650848b389846e6702aad12a39946cfb1c654710b1b6b0ce1abde5bcb2817e93f88f0fd18f2db0a776d09764bd806efca57bf66bafa315e02a7296c31794ec38526fa0daa1b88508d0356103dfe7cc51c073e01be33ab7f75ec84dcbb57de5a907ecf91e8e8d7b37193690cbea186e7e7851a0e6ca37334cf029c7c4ab9f2870ba1e4e02dfa380d9b8350519b9e38c0c5b6c0843edf7193828dd9d07f0145b11ad7386d429b1c139197a7cd1e8e98f99db185e9b78784854c8219e0b5c67d56704f7b5aa48463ee7f86965b9894ec4d89dcb6614ec60e658b684eb1c2c5a89a25e7c681f7a3815c176f909dc4e80feb3ddf5054c7f4f5f9b4dc626ad5462e0d5bda10cb4a900e6326e2ed5ee00f027c54992ff863d61e28adab795e2be6abb960840d7db65a3d0cdc7cfcd708666abc6041d847dd737990dbcdb9c5faaf6d704a39b18fc011a151896b5e3\n\n# tcId = 118\nmsg = 31353635333235323833\nresult = valid\nsig = 5e9ca7f867190be1e78669db4885c089e50d5b999cb459ef6645a7b52ccc71fc75018f8fa931edacce6299b1fdcdf89936dd3bb4222d7c9db69bbb911c5e1548066d0221749f88c29bd85d29ac833764f56d6190a3ab2f6e3253ad7cd35402bd8fec117f669785cd36e6afc8accc66022ff577a401c7a48a38d18e77d8a38ae7f2e74b8390b874653721ad8d2d1ee7bd82a33d62c5bfcd58db90798dea5de494586f73dc942828d90574cf5bfdacdee7adb227ec74f5c6a0644264ad114b7cc9c9856d81f94ece42fc64f93a2159c621cf86cb49049eb853fd37697c1381017", + "9efc40c58f601b6ccf4ea755bb142daa62afe151bf48aecc8350926368215504edabc5c1229e77c2b041fdd2295370325c3566361a2be54c411b94e78c928aeb4733b0205d8de21db5674f646e26d220987ed543331b4d4a46c9cf5163e972bba6f20ffc2f119899b06ca79c187e36e0dc921fefc5380420feee972982b01fb2ab7d51110ae0644ea411a5fd69b45fe0afdad222b4ec55346e2e56b900c74e7396241f86395b58bd1a6993e029a936b15b2f63e53997c224bd7e56239e6b248b7037cf48d7fdc6b85510cdbfe48afd4a62341806777015a87b503f8ebce55811664b4ff0db608a16474334505ef5ce9c67327c1bf1542e8970352a3589311cc48b317af87fa85fcbb3bea930a0cd2bef7062d83ac3a3c1547d48476fdbdd0c2d4\n\n# tcId = 119\nmsg = 3233383236333432333530\nresult = valid\nsig = 499ae8311f47244b6018a653264ca8bbbd1ca51a9bb49b8b46ec0e6903cd4b3582baca0fe3579b1d5143fa1c826897a4b48227e85926fe330011dfefc948984b17e8674a4756edd773e00575a51955bcf31a9a87c676a703155a00be004c02e6068377d11fd9942bf2060bb6c171373b043ff1d3ea46ebb14c5ecfddab08330e87dba194c7059e3519d5efeb32b212c89a70d5defb0e0b52b21ed04aaf643f7cdb738c33aacc0be843514782a3d5933f2a0ea2085e3bd9d1a5c8fe0389bffbbac5d8f5a3f05e2b202849f2a9e4ec37ffc2a3f08684b13e1e9d312a0b968aa49c43a6c65c0a2fe3b5d3a8ada64bcb3ee09b34942165eece5bd0d0b73cad7e87fb214699d27a705759aab1c8a000d3ae58c390f7d801fdcaef2d328daff7bb6f7b60010cc8dbcc648fa6865a0dcdbc9efbe6b5ff474d84bcd339005253caea87e62d2912f4e8d00a693c5227723231b05ddf6fdd6b3c61870d67fb6d231726aad59ab4d9bc13f0bb3c451c29c47d1ce56487afa173259d37792d481a8c23ef0cb437e46ce46c2bdb898ebf416fc9cebd1e7f0fdf5bcacc0b57f369474cac2218c1785ad4949397d2026e88ab1949c48d3a02806f2e4ae3059e3bdbd104ba33c907700eb585e2de830a5cc25de164e65d52ea5ac4bf78a73da733b86723fe82c3f6eeaff5d7c634a48dce217e82fa31357c937a0521e05a7a3b21597c4ee1ac93e9\n\n# tcId = 120\nmsg = 31343437383437303635\nresult = valid\nsig = 38321114c70b1f98560b78bdd0618c27110d256053bb11cc03b655b9ccf158fa512bf7b3552788366643525cef8732b6db74da92598c5a134c27d4ee46920134ca478b04335bfd952960666f6d4e758fe3cf8b0766e94c6b27ca42d4b7b5df4c3c33a17d2a4db7e476bdf8a5c220fcb1f6bf799c3961df5dd5ef86372e3caaaee42f15f9c70be9dd2961f0ae935858851297b86dcbac9888045b51521cee7053af2764eace38274b68b443439c91011a668f4082811b6841d46322ab4b3a9aa97e9be04fa01208a7ec431e00937d52073b5a98f6600188d5635b010deb199923189ac0072ef08f1b2eb788f09e776080fad9ff4d8032d9eaddc6bb2317bd16e87af522647375b3b891985b662c2f47193dba28c864118b0f80945c4afd9b9662707e86d28dfde942bfb4e45de9717247b4740db3948c5cabc5b6ff3facb277524aab1416815224209dad8b693ddbe05f1daa24e31ba254adc03bcc964caba08142b6d3d8c06751358a216d111b069e0a6215399535e5580e8f4a2bfb3fd5d89d0a66c36ce970b464973b2dacc14c8a978a944b83485f9faccae78473b244ea94a27ffad3e5624a8c7913467a85e2f419a7c51be3d616186d85de2bd28d1aee156e3b5034dc69753b9abfa8b439d86d68e40e3558f8fa6158ad0e17b6cd0b899fe22b98ed5b2b94fd31620e7e315eab3492f88c53f95f501b63b8a0367f38e8a1\n\n# tcId = 121\nmsg = 3134323630323035353434\nresult = valid\nsig = 56d7404eb298793a2e78db00408ad9b7a8ee1baf7c009cf1ce95ed7daa558d31464ade5a4175aaa3ff4f7f3919bf668ef5dda59991f9ad77c0bb85e3f4bf3dbcc7250a462510e5a5ddd0917512c6c116a6f730796a14790951ceda3f744e290048e9d394df827420454880dd756a483803d816d4883231b7651125ca2f950c4c248b3c508d50b36c0a105e0188da888acee4a3b40ba935939b78f11b8d00011b6206869c7fc459d62c10d649ca05aa2aaf9a30f9adc5b4fb648cc0565a24c87fc27eeaae0b7728c5d2ac66fc554dc16148c8f8d976207d4a973c32b3aad2cfaa3a2cf758abb1b86c5dfb83a847e65428da2e8b59c3c0789731683b1b60d5ff01e93d58e04ef6b67a526bf067f2fa6bc97951f53b91c6aff3c45f027b90e72da5fc86aed0606ec43d8b0d789d774734e5b3384f04a8f99e01e4585fa0bf3e444200991bb7a3fe96587ba39e05aa5d527a63785f7db70fce6725cbd4b6f5c7f4f095976f298f72e106f797197df2ef03ec84501e5b292ef27c13c822bad32bf217829febf1bb2da00dbbb6f3a955044e5c381c210285a889c2aabd09adbce1a52b67b0c27f6077cc155c1d78f8f94b621f14fd4225ba71c16d548572930ef1249de5b88bac8a89bd4fad55a8bfb0c34a9a2637ad771dec76edf992dee5be30048a44726dc0ee9a8d152ee3ac80e202a5a0627409751bf6440eaa95ded99b9ec097\n\n# tcId = 122\nmsg = 31393933383335323835\nresult = valid\nsig = 5382860479fc7283b786c208c6895fa30cc878867b0d0c08036cb4d1c77b60c33b4b384697161046308d07d6ebb0f914291eb7bf206e773793ff338d400d9b6a74ec390b7c5f9d9a59c5d8b10e7097e6a3a9e03f50aa660053a7ad8b32fb5c86bb56346647479869433acbcbac4cf0c5b6237d0e318a2a6af73017fb2c722b7872256e382f27cb637d15938aca0e90fc73e2f481fce70c7ee265a843df3abb17288e0841c28d9b3e93d0c0a9342999e767cd48c740f4be7297db5dfbb19f14ecca19c76f019dc37648a6369a3e7ebd3f75911521c3c667bc67e829e580a6361d5f246d8fc4ef35d66ec9322f8a9ff8ff9961aba614941c033f92ea7fadccba129d607dac5363e408fa272cefe3e1738b5152b395f77f869053e60c0e60d8a16d65c1b78dbf273fc9a3e312584138fb622895bf44a8073d25d4ab7cec1c92ae2dcafaeed22668ae3bef2b7474ce147f5dc4434b928270761ac94eb3f751a5ca69dd008cf7df0ee845b567c027aece0a8335b412101aa22901973d166b67e1e01224d5ccbc6506840cafc6bbbe339e50b7dc920acc045f19b9df3dc936abe9dd9b49e5c332c2521d77cffcb47b57de8acb5ec3b77ba05cc6cff7d47d086f12e90744a084c216d30f663519e69bd84e4ad716d8e9fde4eb47e85ace5854d88d4f33ac5db9f4658dad283286c1ec6cd4c0fe15c232cdfe6f5b92b12264bd0988b3a3\n\n# tcId = 123\nmsg = 34323932313533353233\nresult = valid\nsig = 2d3c115bcc6341e879de32a9b07966b2a124dbf9805a9c1c84d56cd952dfba4e11503c08b2f5dffc42be3fdb92e52144de775f2e8d8be3e547da427830d3cbbdb1a6afef4e21e845186c0ea990c859b6005410404029e2907ad6913af4c93c168be96a4857efc729ae4a323fa052a8ff432a0521ddd2ed31d7b8d917aa592ec7d9082b85783a27870aa30361d8c7d5e20a2b97fea2d42c328676a9e79d0c25e3ce1df4c561adf63436fce1b2f1c6b2a0362709f86f6f5214b7c0666d99e010a384ea2aa8de2fc0fb94f88f769c083605c531eeee4cc877917c6e7bd400c9b3d4dae27a0527262ce3b19f4fbd56213634ed4ef8bbbfa19d226646c7106fd869f9a1b4fd567b6f4c584a4fd30658722132e16d2dfe8f455421effc59fb5df6d7806c9a3e06811e4307bea0b2e1dd48e514761642b4e0ec045afba3082eb967755f74186a232d067ad227860385d2274f557f4577b4c25077c0bf189f3b0142d5f3a975f8808dad8035f5a6f7462f97b65c7355685f0419e9e0112d4c00735f7f2b5ff84617f2417d5ddb530f885aa82ede90cde871b7ee04774907af4bf6086cb2c0adaf0383755d01f58fe8923204fa204baebecce83f65e625a598fab75c13cc00bfe0210e2683516421531b40e6292a12b1a5d16c9efcfc97d8b2fbacbce3dadedb3dba59a0fdf3fd119ad6b23d6bd12541f611dc1c3750a483a1acb5e8a710\n\n# tcId = 124\nmsg = 34343539393031343936\nresult = valid\nsig = 582b2358aef4ca3976f61d4e3b3336757baa2360fc037caa9f45234997c5ca59f4cfdbc3828170f4084c94aaaa4dee12df987c936b5db6c6765c70d6f5261cc1713e100e3592d052685f20a26abaf96534301570fe2e3e3ded1659af624a4c3b0ed460661e198a35544c6a7241036093ecab414248bc799dc9d3e6146b76e821165571d9802bc6314e2f6b2ad81a94e7aae429b8183c60c5c1963e847acf11321da8ed07c7e013320c49a62a1d62474735d6dc4ef4a2083f2769e2867acae904ad2d0f5fa65ec517045fb8d25efa9aa8ca46f581ec4a7c11b1e4b6831332bc119d86229ae14b4ac0b29f41b78d4d7359e9cb063cbd066a955449d11e936e5073612e3e04cbf0e4432b79dda9e3e14dd06c38721f2e6ce128af51ba6141939ce6a35c2b4b0ade9ef0138ddac979f9a24afb69f9d1d8be664abd24c382647d3045f584ddfacc55889e8994358936c8377f97f626ecc188ba2c97291b074004a363128bf85c5949ed72c7687d8b9865487d8051b07cf0546cdaf5774b70e0ccbccbbfea3a9061651d00ea6bbf45961c848b21945213ca52670da488434be2efd0a5af6367767540011b350251c4f4ea4dfe480d1c0bcba80b14e35566460e57ccd7c762e2ce04991989961aa498fd0f12a3b392c45e129720c4e67dd57ca865bb7c3c7395c1e2a78aa03cfc04d1933b3ab57fb2e74c3bd45dba43ef688fac5c1167\n\n# tcId = 125\nmsg = 31333933393731313731\nresult = valid\nsig = 63e32b219ae9da909f1db41d569fe3790e906e47067491f0c4b43caca58aa9d956eb127c3ab50e4b72694aefe29113e9506ecabed0bc52f9012d9456dcc2f229a3739e6e7b5bfa9ee8af0d303abd928d1429ca52fd0a49c5eb166c968e33f39af16a4c522155f470aeed6a93408dbb0f278a22b0f65822c8cc9bc718318d3b48c1da839b897f69efcb94539db53d49fcc06e98deb7fc1dadce1221dd4840fb8f2e280ac326e211a1f158d87ab1d473b0cf1c8692a56f8da0db28653701b2b12f18d765c59008d461fc63a92e812db87d4b7f0101d7df8174feb32cb30cf98342687ca71ce7724cbcbeb9178a57de6f07024b3d00d47c50a962e4f71b31075a576757dcb6bd2dc7c8b441c7371bf5f34f878ee5d031ba412a379e4e649fa674213a018552144f1b01a2440d2145e3752c7825c209e625920480428b2623e1616ebce39ee9d4353b1f3be1e9c86b1d5b7f8aa5d65c3260031971c1117d0aeec7bd4eeaed1d456d1ad5b99d84dc6e42835c6ce3322b71f30668ce6ceb7f6fcd8760e67c88a8bb6a810bb442a0aee6d4f42accdf2f7c18c3ea0e1a8e5ac0d2a70c31e1bf421bcf53238acb24ace9e68cc9eea3dd7813116814b06058270a1055fb2820cc3b206b39346fc76bce7e284fbd29df84f9fc4320f5afacaa6c97efb33b01f3faf73d69fce443f6ada2f1981664778dd58a1d9b7e631502ef5cc9b350e649\n\n", + "# tcId = 126\nmsg = 32333930363936343935\nresult = valid\nsig = 43b42fd492f25deabc9f653464f86affe4ab5fb9ac8c9038730a69d13311c7c36dd97c14721102d33c15c38e3671e2c233d14edd4551bf369a80e89cd7b42d91d631501332415844d71452dbddfa2f4bcc4406f8864b260dfbfaef89f782ce5f014a6c406adcc4028b31dcc67590ed04bbdbb601b28c2e674e48ffddaf1b4c95cccdd2c2293b7b728b0475fe7b2cebb154367d2ebc7d5fe61c7dac606b509a193089c311ffe30cd04e438c826ee2e56b95c43754ed89b06ba000ba0d25b34ff20350ae4672c76d003748301bde42871c08fbc81017caf76b20c6c98ce5ccaae81818a6429cb8cf04ab3f26244098480210a9dd956b99c6aa9f4dcf45b755b306724b28743b03d699efd13b9008b33c3e2e5367551147b25439b87718996f03b2ec16e1cd7007a9a711b03ec1454a769021feb9c05f327502ffb2189d6c2a0ab4e74bfb01994a3f084f9658068057b9f635300e855350fcb2b569a526c739e76a6d0939854481332dd98fcaf60e154daef7af7d4379be774be82c247eb0d52e3bdc4a79c9be154035835d402cc5953799567499644188902f2c4dda86d04598ca2e9c4cdad781baa2b7bb3cee2e44c512fed31e024ba314197d8e864f067bf12f24e029c3a8dfd6e3bd7dfd222cabe9aa9e06b0c1a4293d10360803e5732a610e9c26e190b7493c055f1695a44ce8c4f8982578708a3ee2979734765d6196273b\n\n# tcId = 127\nmsg = 3131343436303536323634\nresult = valid\nsig = a70928e1809c7057b458a1ec4e4b3834bb6d24ae874ba3d19ad52a4d839a9ecae8f41df5e539fc4453841e470a4a751dda5e7bb3e9e2f3c19d3ede54f231ff34c499cb0c2b907003ecb1bdde486444d6c8467523ffdb2d54c7a51992ffd8cc7c5cf86b1255b2f96b3887ce9454a2a9b601e1ba18e1a06deebc566fd8229db2297c46a3e8122a413e5d3a203645ded323a59a5be8e4d1d59d425e3975e13f644e382955e497ee34d17e9f886d2b5ed849812ea325fcd65fd3743ca99dbeb8bbc5e91d82e72e94a82127baa8c385cc3af73d39a7d40ff2c403df50fd69c777b92039a7cc1ecc3af13521565b17f169077998a1667d9cc1e36c60a69b38458e1bb472a41bc796e1833fc7eb38a4156e6628d5c72b5807c5c7e040917c4232b3e9a3fb7a74eee6cfb48f9850e8b61eed38a2e6149f6d5036446f71aec83d84d1164205e1465f4f1e818ce24a92c194eb3dd8a87e3369769b16417c3c1d2cb41bf3f9c08e2aaa8ed941dcc35ccc550e7fddaa2de43a7d0e02db74b398047e02c23786ab7b3b9d8e3c2a0ebcbda5a2eaeca41b74e7c69b1a48a809fbb56b353640bf46dd13268682eed38424ec36e7392c5b4efb17d75ed23235c00c1f3ac7cdc2935f8c2b8d9b466b1f8a2e393af64f54e3ba00227e7600a5800d8c3fbec9c276f9e9b89dc18161fe440ef6b235adefdd62f22682a4fec3e1b117e4db1325263fd80c\n\n# tcId = 128\nmsg = 363835303034373530\nresult = valid\nsig = 2ecb207c24e560bf8c27bbc98004114f7cb9d5814f52c43ba2dcdddb82043063ef6f45b97fb26d8602f304857fdecf66876267833a452dd4d89327b95ba4162add93d697368bd17aaf982506be95ab2ed6f0b46019fcc9dbc15dad63c156c31db2340418f39da0d2c644a88853cfbe26c6f059bab4cd0b031a880da36d298c352ff1cdcb146a8425abbcf2d0e651d1870734686b57d306e91694955b7cb10e856556054322f93a9d45d86c9e905dae977916417e5ec86d0a0b2f7cd8ab8ce18a35b02bbaa977a02646e8c6d870db4a816ddd484a1b9314c7be412bf131f9df5c3cd529da82d584d85485a44013fecd7e820339b67b2fe9634974da873bb4284fdcb7a671df530c529c2d151be9247e77fc30e36f9e14250b76b68ae931914239fa8dd5b8c293a325d043cb300f20326eb563af224572b345bc4e069c3db920f7d222ba9d268a52c6fd5680481fc6f2e1c93dde845c821e158d971b09583ee10187c44fc9e4ca5b0c9a312ae5240534c03c4eb8ec375614f0e9ecc2ca89d99b375d6812a3a58dfb354875dc5c2eca6883beaa26af80c2c40cda9efc4edf4f63fd1d4a34140c7b37df98144a0cbe4dd5e2ae25b8cfbd072bfac0a4faf62915bfa851351c73215cf5823044be6551b1ad48a71c0b354c472d9175ea5f7819c3268d18452fe12f1d0e895caea537b3da3c035929d290e64dc38038fd0657cdb514b2\n\n# tcId = 129\nmsg = 3232323035333630363139\nresult = valid\nsig = b49a149864b4ada746da07d3dc55b95b46bc2dde52263b5ece4a68ac521615e9de66d35260a0f1569b6826f387d79c68c1930a8a7cd41b98d060689fa21fd85776d970a55e3606238b4c42a2f5552cffc1a95f0cab6fc6b87f40eabeb83cd9a7271be57589aa9603d535e5d8b6b101a7ee20f3e1810a5a96e57341722904c7f8af6f01180cebec2ca12259d409c1c8ed15f4df40948fe47e296d82c2aa3f60f4f4aec2edfc3109c148f8bf5c55f8c22b6bec51485dcf10e323ad99ae09c85e749824de11f150cabe54f2ec9e95750281c399bfcce82cd5ee3a7848fd18dfb42065ae134acae6ca6c08cefc954c54690a197f0d9ef61594d2c1fd4dfb6cf99262ad749f83b0b143e4ec1ec35aa12b6b0d279692c4e0332a6de12ff1f88d716a1f54a182927d184c22da277c0be29eafb313446bf45c76b08f13a583cf445ffe75c852e51293bb6a64432b6a75ec933726150a8e4b3f52514b3dda2ae8bca409b4193cd741e16773200cd1ed526cebbcfe24613476684ed66963a699ac90ab84274664f807e4918f24908b42758e2399bcaa5ab4f3363f0c72563dfa10a15c16fb708e06acdcb88d35ee79b468e64cd383b8c8133e16e0618a2a1e56180bc92ac4c766e13ac357dcb0e2003bf3960b72ce0cb7c5482ac0f9fc7e629068bbcc92e46e849bdd39be373ecbf737a82941e11917cf70c1a9e1afd6602e285cd6fef1db\n\n# tcId = 130\nmsg = 36323135363635313234\nresult = valid\nsig = 643670133c6c1e953ff28a10ff3833c6c0933916d4c0fc368d9bc4e6cc35bb1901b1acd067e4436470dbbcea8e2e8912d85d49ee99fa140ae1a3ee6663c8980a852c96af8686f4ef5409d98e0d0b68bebf7673752a6bf61e0476597bef490f65dcf9703f49774c42421f74280be8259c9b192b06a0b52751526aaafb0a276cbc588ff5ff80dec98816e169327d57a581817accf2ec4f2d056f1bd4fb7252543bb95b436a665eb1badc87d05dede7f91f03d0b66cdb6264671254c2aa82392a73e55cae710350f69908615902128f1d96dce93031e6a532edf534831284d94a4f2e1fdb319dcfc62e4637c101f21a0d784ec7d6a1ccb743bf5c9994e5ddd34e7e76a0fb2f7f7eca216e69c3a1e068fe391262a97fa009977318284f162c4fa3fb2a6cd154ffa8cd4306e65babd405bdf8d879d14c0c0503b66078bf8c84c947389ef71fbe53dac758151bf415e6d82575319464cb9ab221d2fe36600d8c2dcdb7f5ea1848d49f7cbab8620e2ec2a220a74d332464d95414d11605791f25f304893553ac99577690851b36f89708f74d5802ae6e0cdb69b651e9ef66a6e1a66cc2aab10ae05b58149e4ae2962b7afc0c1df8f8d51267d1cbe8b0ff225a693546daa46f2a7e65cc7099d1aafdb1e794f0f0a9b40571d184085ae873e1ae799aff76d901e798d484bc0aaf9f3f498731b60a6553a74c32656345f687c529abcb849b\n\n# tcId = 131\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 9d1925a05f0e28592ed69d6951ff5417b240bc327ded41b460de2fc3a0101bb89d6badc5bd50e2d1432a57b7bd620646e923405253e93c7f2550c0740ab9657752863739fcf89d492ab1cd8ab2088f4ccd8848c4eaf95cd5e7240872472f35cb702341c6965c0fb7b113bc45d991cf9616b7e200f2cfe79201babba3455a60cd628678725c49958282a2c751e0861f20d49a4294d59c3cd33c6ab0b6d02121f6f2c9322b6f9505694de40f9a98f628edddf18b9dcad1cf586ef22e7000cf09582f80f0c377955e110c93dbf9d7938c59a0b7fa283c2f3b186c21e070da5bb800ec622036906306229f8f965133df82521f454d900a01bbee1aefce262b1d8d9219ca809c699e523c5c7204ce45c91fab1cbfcbc1930c661b8a3da04e29d63794a65b1a656a7870c7974bb785fe49dde68118feff1dc6374032e9225325c3e3d312850d0ebba0a5aecea061b5d61c8f13f9f82e6cecf6667278da4ac38ec4424bcc0fa6181ba1d63966e473157c76c7d007f2a0f01eb4efb54cfbcdd1254a871775339354695618d791ffa8d57fedffbbe568a5b848b7fe037f8002d96c478a21313ccf42e5819478aed99f6ba834520ac2460a5aed186a96dd9c90754f9d21bdfcd2635bbd11e956341d0284b51e352c79a7adf1748f2deb2921dfe6ce8d36aafa35cdcfe5917113d0c29cf29478f9000a0c78396cd891dea0056042711c0e54\n\n# tcId = 132\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 2f19362834eb20e169132d1ba73bfe32b50faaf9c413d0b2ad578e263cad266a3144835b129648471fbbbd4bedd9668d6e96d4c0d0b95504a8beefcda6b9bae162c2c1bf53ba91d9e1771f46e60c0c1d356fa166a331d51ea85bf270e7cec459908f1fc29bb6b5f216eb9f5f453d29fbd486a03355cdfffd6d131f4a027c9b179ef91257272d5a383898b864732edcde78e5cdf2a9ec9640e9500ac7bb06a7b1f1e947ebd468815a56a86a6f747e806cdbfb81d3fec3ff66af0fe5a472f559ac05b2613ada9e40587d75d98c1368776c696ded9c0b34100eaaa80f2016a2797ff0c0090e4e3b042943436336c8fe72fb5ba9c4b5264d97421582e0e859b8a46a083aa75d7b8f1137fc7d1703812f681f615804385d8f533f0f4f8c21ef3921f42be0f2ee863480d72dd8a4d78256cd4f44ffd62526abd67d2b4393328d41e45f569235f091bed9e2c72b559dff4af790401c18b4af71613ab53f1d362f3ff2e6b0d4c181ca051f88087ecfcecfe8a4844f7f99f624aa43a070bf023d28eac88368e7e8f7c2357ce63728820422a48ec0970566ac96ea714422d5f67a28f5b67ea9008dc95bef728c51c8b5d83d59f92c4169dfaf232b4926c9b59c5385fab598bc6df7ef58b88a60462f2692a8abb9f8699169094b1971c9dd6e90517582721f6e49f5af1e94d9bb0efd5a0313968322d86a2e2aa2e91ddc9d4fde0a6b612740\n\n# tcId = 133\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 88a4b39c219e6d7a7155a5e38eb2bf76715c540c817f5f7c3ac827fa34ac202c7d904aef8d59bf449154fdec535b45e1d0a5e9d31d4ea75ce4e6a07e2b7b5ad61181a2172f220e4a0679857eb2152a3e2aee3c5c0fbe8e518f6ae410cab5ce861c66ccc7f72494b9b0f0a06cb8122f16776ba7098139884006a08a6f752948b677f1bec1e867afab783f03507c5a4a528ba2a2e0a118630bd93ebaaa96ce378bac92a9f02eaf0838636685cdb7be2da6bc6438cc84b907b4c927eb1df22a3242e4886bd74ef7133e37708d3d2528ebe39e9c051a217c6c7deb2e6a87b90", + "5abf4ad4326d6a830ccbf2c3044befbb9100a364ab897a684b472104a1f1484e39c2f9ff3f5b8ead0fb813e3d54673713f1909af085359c881bdc7b82ca9f2f3c1ddf3b17f796496d29b62e1bdc7eeff0c65b78b4ae81fe7b397d02fd0e74463b3cb68064aac87dd0aeb36248c50974b066b7864924f36084e7bcf462f08fdfb387c803afffeebc9f0c317c9882713a50800e1250776720d1dba53e5c1dd3e8b176c6abd051bcdc9851e7107417f06c5cd9e8853f75718dc6386a7f4747ffaa87994462fbd9ceac6b5da79f9dc5c5363116a308b4c20e673acc5a4aad3fe7f427ee1c08ade6eeb048cbaa0120eaa3a74ee39e5f9e39dac10d5019f1d115dfbe051090037503a63229c216a6cd4b6b4723340debcd812c13edd4e77e66380bac99dfb0\n\n# tcId = 134\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 39a5d241a8c6648f4f3ffc5224dc31585e22a58d343cf227b405466ff8f8d5bf553affe12198e6f8515b05d4f6bda0fd645874676d7bff6dd67345f4a1aeb21adb43abab63c3cd53f186b62a1d44d2cd9425cdf163bd2f90cd190329718c18e7faccd7c0f5f8547d74bb9df9890cc8c5a84c6f8fde84f4c8e3409703196a7d7466afa6c0edc728f1e513fabb7df97172545ae8c865ce95dfa81ff35870e71b1067762836a8dcaf186c9fc7e0a633f98f7d32ae10b2a6d962f720d6784e64c04e08f8dfd688746daa69bc70f652d1d6f806b0df297f655162809fbed4cf0e07d5ceb66fc5b2fb89abc4c2abafe325eb4617a2d244783f70002056961b26f0c2dc5a7df3e883bfe36310ac3ec92b71687d6b6bb3d11378f0ff85d98c6584bf2d2c317bf287e95537d0314519bc6b01798c26b3d942d08194dc34a884d62160919db67df95fb9bd4d917d4cee73f88914572db84ddb3804984c2da20eaac9bed684a0bbc224dd623e527255fd27ebcf6435292997fec51b55b73dd83decd002c348b2025776f2031672a15fc62ff857938e0cfe4da61f5f9e0442d4452a1f7c2687c632bfcb143a544120017e26854ff6a3e8d597ba4fca595984fe1d38a9199327d12fcdd38663dcc7d1fc7ac6d7845022de5336f9e570a6700f0c5eba0ee68c4e75295f69b76de1455406cc6b285ef5b86729230ef8781fbe63e0bd9c82a1064d\n\n# tcId = 135\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 3ba629ef8d7cb5798b51fef0959cc00b4ed788f6f37b70cfb16d68b864ed1a33ebccf4890c78970695825e78b3f219811e928d27af0d389e4b75624a06c7cf2174e2a9de6e87394f617b8fa0361a490dd45b9cfaff13b8b807e5ecb0c1b6464228f1fd968b9af8f7a63fad9a7fa53bcbc633331d33b4d7c2bac330354324365c0616bbf22bb9de6a5df5570150186f517ed1b75433ac186ce41ea4f330ccb6fdac5f8db5f63e37fd3340631f7e4c0365b75a0b2a9d790bdc6a0ebf828c84a426fa9a7154cfea1bb9450a8261e0cdfacafc10ce08b64f941c3bc23732a4c3c43c6126736d84033365bb57b3587ed98c031a85325a15ec6642a99cdb186156993ccae8e36640419c15287e7b7c0518376589b93106c434d67b5a5c1fd34fbc569a4e4edfe06b621fe3bb86efb0fb15475db5477f6f9a85d385dd49f0cf3c5d4f853d0574991d1a508d5767df9219f8f15e4760f049c84938d4dca1445df3d15f9f42191e34bdeb15742050812b30a509d4a2444dce219f05d0faf11342bae72dc3f5ab1fd2f25b507d7d7e30a9d4c619ff587ea03d471c8d0306ce89ff3a8c1b2d650eee83308a9236dec87e0af54c74f402f9cb84379aa6c9586db66aefc94fbde391330fc108569a0b9d0b63c974f333c34e881494e02047b19102772a61f89f19622e0b8d92dba4acb19d395d6170dd5d22220b5e678d2c9c9cc7c843a195be\n\n# tcId = 136\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 9e591980e9ec3d62e2edc3163ac8206fc09fe026a2f7e622dc5a6d02976d30ecf141295335008d91a223ee98a143541494ccf7cb06a1aa61de524fb5bb4b379a67ed2ced447c7b395c57a625f835dec6844c3b67a85aaae10e273d3902f5f30539711f98d73f86beccd798b98541a84a03ccb3379e8eff88c19c88aac7b7ea99758194ffa6660153d4f22c1252dd1b7b574e19b3492f28cc097d3ee3f30f6b88576bc6299512f9f8749e0b297295bc275ca59f8056decfca9f3980e6f8d6e07b73e1a8ae8b3847556cd67ab77b96618979ed37744be2d6bc9f2b671615f1d4c4c1b419f05036148182ad4c6375f9e3c7cb37bb75d16c4486e97c0ac5685995cd8e5d76452934b26105be9074b2f8daeb1add13c9b127dca2858e5c80e686791a6f98cd98e540bdf27d21b2dc9fc84e09561df968d73c190b3081293d666be7d991761f4722450ac249a6eb4bcdf190c214630c85243a6c5970184e257c00c5a2a18bcd20195fd041887f001e06d4a6049e210cce62356f99853f3da2522d3d63739fbb2ff315e68ab4a05ba1e29e5b93808df51aeaced52539d7b956db2f229999ac09a6d4c2ef8714ef9d4783f538559f29af9d850bf71b001f231270874fb8dc60f1d1554f60fa69cd657112530e22563fcde26c3c86137e476a2fc1d8ba4a15dda42d4d8a20fbbad7586f472b716d6ea2ee30f1c111bdbb3db8e5e2d933a8\n\n# tcId = 137\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 23e198d582d048874ce4e6e69f5a81234ca08be1fc9cf0f7be05454997fad87da8f05c2faf7285a7a9ca7aa50f772b8175479b7bec85919162b8a7eb7cd4c1b8f0aaa64a8f371e23ec2c3428d7d83411f24bbd4b80762a75fa0e5de468a71dbe9bac382b4072241e3c7085ed2b9e72ec3779c1f70bbd0f246834f3e81ebffee13312d133e1ddaeb58b84d1ac1b441f311ee1e2c9693e300862cdf5b4a5d820dfde870da22746be0b12dfb943780c0ba928c657c54bea0d84db37fe50f0965ceab905f2ec3ff177421b11c30e846ad93212485e7f6e52d7d51af1c96f31fef174ab38cfb1b1fb5961cfadac518a6a4991ff2d561a7d8dadc5ad430c94b40c04a297012f81e6e84ca02879fd82b73744c4372ec02f141ae6c4ce75595559f3f4cc9e4b7a7a6d93636487e34938082b3fd5f09366a062484d1820586a720a9618ec18d980c969a28d74c81fe4fe7bb61986769a89716c965a7f056aff60e9175527778210eae23e53e244b973b2452f40ab375222621a89e1f5f2abfe5039708f2a659553582f760f0d264f854840d069e8c4db0246738af1697b05980c1f53a1ba4eef8e08583781c13a93d03eb19db75e71bdd0602b91908a885b41f0b8d9588d6e05796c8a6f8d220922ef9bcdb026af9bb328ac7d96d4078205ba1abf00eea45b9c260e3b55da036864bf5bc0cc2d3944fdbcc7e64539a45238bb2061210514\n\n# tcId = 138\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 0147dc7e2712616f76c84caaa47f17f267954a0924bcd846fb3389202c059062f30b786dafab71fd7464caaec5a968f75b20fda1a4c074c89b2732baee615c6e88d1e2e2fad16bda01db395df1103e0d1796da2fdf9d9c8c1c776578e8acde7d97808deb83d0c4e5115de538b3f5a48ead7ac6b5076b12baf7db4aa68a091174020e5e4adf275702020e6eeb9d8c4500170dc5e2171ac370763f7b1000f805d924bbd80cec120446e9be5669181a8e4eb033ceac5278e7b80ddf97d1a58737f072957a221fc27cdd18aa0514b0811e967d5f0eca4f2553dea4760299c4db6347c9070759809247c48d035cfa06caeba20db6122cc70f81647e93f5fe63c4861f637c3623354f9c2f8bd2f9906b0860d0c81c05a0033d966323c8319c5633f537b9180166a2f15502b5e06dee09616f2589606e7229a0e6fc770261abd737c02cfeb833379d0d5b850a39d4587566dab90ca7a8331654532b589ab7aa20376f355aecc03c2b06149f2f9b4290d0ed304eea6947d235341455ccc04e91e3c56db5d1b74928c3451b5a9d3ab246ffaf7773b0d86f35400ad2ae02ec761ae675ba70d1a8dfceef2a8a70caa3e4aee8c98578bb8ef5a8e2570646d1e62ec2fcbef115ceed2c16cf944b4f175ab0899dca124683f3bf00dd0dee74c25dc4cc82e80d10e9a941845d9e174dbc9844941738eb22076a9f6253cf604d62346c14663bdbaf\n\n# tcId = 139\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 315a9a4ed7b0ea4db96b233c62a0e7bdd725da924ba2ab8e2f20ccadb2b5256bca0308cddcf739d1e6b33a859f03c550d65c78958f0eeabff625bce6c8ffe38b60afff13cf33866c35ebbfa85b70a3c592f74e47fd97b07f3a7c4f14e26e7be666ff64cfbd873cc06dff82da222dc135ff47f875ccd695ca8c64572a97b76ee7c772d9d07e4476fd4e945ab0146ace3f0c2fb98c34a066f053d93480d1c7725f858e459b0cba699093e8c315bbd6d1347b608b51906d44d49f106ed866e230785afb2a2002b82305bcdb9927ca266ae641a570d0b58f344b5e077501d6ec2fd69b3ebc80d7dce55590f4504fa809178d92b45aa69ec1b28fb69197991ef33dc9f4cd661fd6ae74eb99dfdd1ef122f12d04f7c7e624659fbcb2b987fd5fd25a104d735acf50f3ad070333e9cd4e659aaeb5dd28c86ef0680d0a6b526523e3e5a04cde0fa997c2a4a4744cd87170971ae3d903e0c085b6e62f8b715df76c7779a729c5d92382419804eb32b23fe4fcbaafc58ffe9475710e789a09cd9c3b8737032222d92d0a4cdbe53902d167d49f41e60c94ba8ba119499a5bcdd3eab544cc6226389c732d782c69c97b56c4b701a6bc032079150ae1af8a7ce5e0ac540781e84723e076911f4cc238e95689ac12d05676cc6da9219c491e2efa2af317407b5846fa852261181ccad659911c19931fae0f7e70e44d2b056a2f63d2f6983c9502\n\n# tcId = 140\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 07c9a0c4ec1ec530aff99c7add866e0d065ad0d4b8c04b1937fbd821a204d11f47f61d934105028abd2f4630c5460d68ce33a02a95866f6b58bf6b3cd06a82e543620cef0e4261083c672f2289f3779bd085368d75a0ca002427b0997e1b13f0ae4e2a32d475c0ab3c7088219708c1b774577db73ddae7dd22d32741cc3815029596c0f654c45d6795d47b4c1007d25e026536124c121b5c1ad7ba59b8cc5ac7c288ebee89df9a7385676f4c928da96b2216505c164f527b0c85e4465809a2bb834d47e1f8221d62f4bcf86e92fe10b11dec6b0d8aa34cbe1a8fc43619f99971c85dc3eb4aa091a76055c41151964b5d65f593efa0dd6a82f076b60a71e11d88b40c5c5643e9fde6c05341d2e32bddba6050af72e8583f8ccc2605e7596f7206ef7b9b59829d911a9b5199d4438f642d2367d28b5d4be12cfc5280402d86712b6eed2ce2ebf37f62bcdeebf989256a1e19dde38f32e3980b8fac73ad9153ccc0f140c96413bf7899d8fda510d8315e7139e8f749f8ecea99afb63af081534cc9847d81e520b926b8f0bf1de4976c5f6de8b7cbbde644158bbd3807bb9fce36339a06d930c137230f52fbe546066bf6064ecdc76568d36ae706252dd4a9bddd3b2567ccd", + "eb3bab11bbab3560507b5557a9c66aabf9e2cf3e42e3691ef77a3b29889a1b7e7287b908f1c281cbe2212a3d980bc3d312819fab824504167ac01c418\n\n# tcId = 141\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 22e1bb23c2bef81ad373284aebaa714bd1a9aef8bc6730b66e73ff0f6649a17b2a57b3b14ee4dd0362f659b69c1528907ca7ac8a9e5017152073b06491b255a7d5b8f6909c18583d8d118ee32d3c31d7845c30c419b518575b47b6c632f2102c4fbc73c2ae5920d97587ddcb63eb922cdb68c00ad477e028049cac752e4101c364e11c61926bbbe731a7a09cd30c376ced8084bd1e9e7532793300f5d063faacd167f014e66f424a50e2329091a63861539327b664b019124fc3f3131c567426036b55ccd7a5e37c3cea52ed02ab9dfef0d4c08735d04aa32f11938c18c7ec8c126e90793f6f5462366c869c7178701e3ac87e68d7b8aab57e5750b798c89bd528edc2474627aa5f087682b9b652bd6d61455a2b7181e0c2eff78b89fbac1a63691a3c94c873d8ff6969c754d62e1d135e1a69276f978169ffb5495c6c26f77c9a9e9229d436abeb0f635ceb786e5ac52cb5b57bf6f0778b62021c5ebe358099a995197712ce187cfcf60da15c04382d2828b6422e1959445be219e9aad957e050bc5214e8b18e916eb5d1d6f7a7bcf64291f51922c5c41d053d50ae98ff3c3942fbd55168bb2c439835f79d1fcacb3b8f1e40bcb2d3eb1db774b07822a4e6ffd021a49fd9eeed2060a79c3674c7ba5f7ef6c909325bf53739da9b58c775edd9ef54d625f00b99bcbc5b2ff2934769a497597862c818428eada5058e5e988f41\n\n# tcId = 142\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 960e2cc16879708c9ae7329f118b3d9c8c7512f54411c7912c18e1b52fc9b644e72ab9f467c78069e2fd0156241b82b6677e34b782b7fb0094c67adb4827e050b0b3fcd1a050a6fc4e7045b3766dbc9a3f59116226ce2a2e4135e21697bf4560a32b385eb438e78b9adea06a5bd2fe268a1cfe763be160d0c5628fa009c870deb70787d514a78da0b505897afbf0905c3d9c2d849f8bdedbac1ad26f6fc34f74fada027f49972b33d03e9d82b04834a6500599d12d524473b4e8a8d1bc8e4402cc1e5224f62911cb0cc922513aeedae57de13c037b527e36771d555c27ad4c92359dad0f4617b22fe672f01f8967ee1d602f22fd40b6328ecd7698fa1bd8fd5358b5f430ff37904d607ddb45ceec4e66f8a4a12fe24221db24624457589b81159869c26088d426fad0a853cdbac650f4d1fafa913f98069a669e2f0c79ec84ee727dcbcaf233c7908955b98d6b5aeefbe8158b8e8e9ba60afdec7556f4278a78a84c6af3ff4c4bdc7ee06bea762db57e996e81d05ae3ec62e8d99a419c1ede6934ad1b6829d580643e16392d53d268ebb1f225c8011fabd908ce7e0c7b865f1e75290935b27a236a51f32ab43c827e249321cab4b202e02c09a747fd06468dd97906dababc0ce4e05863110945233e2138f5f8a3e4b994ac57424d9a3c1c7075836103ede5b63e2645be30c640c66cfc4ed4b26e76efd8e02f4de24699161c01\n\n# tcId = 143\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 492af926baf970e1cafe0062596f226f8b8c38bc1903a3754f83745cb321b86671411b9a96ff88ef68119ca39c8fe4599b703f6776151ef7844a9afa23ca63afa99b64721c1904329eed182a3b61f6e267b6d80f7af5b8a9a40e32e5ba6c029133c73e24c07e64a9343ea8f9b7f6658ace44645ae2a0c18ead4969f73f6b3acafe5b64d285d8fd38269c14c266c1a67f9ab1fb83793352a29ec39d847f02e1903595c88d8c64965507516309b77185a31971dd47ac47f9d7cd04ca1a33e5f61a0302c1dca998723310e0bf8af8bbb42128d3c2d0c4f90139a78bdf3ed4250c2092cf927ca137ecfce6994a6b6c12f840e69ab6855383ef93c33b93b984f5455eca3060b22712c6e82e05eb204bfb77932d7f1f7f0e9954268d801523b1649839cd6b4e04c5c9ed37b56d843aa4f9d546bebe4f2b56093987c715e784c15e6be25e8af454755e4fda56b2b8bc006946dd55469bdd9e5d5843094f78a9d74b192be98dc072da23ffab3e8fe603f7e467792948b158e84c98e8b600c97f0310241310955ce99c65f4910107f4ac96f354fb6005eab9c9f1bceaff68167bb6f39004d37df3b5de71ca13d0bbe1a2420843ece44bd3f5fca845563834eacff00fe6a16972ba647323d637fe8da1e2cd3eb1db2158efd395ec65ed315aa229a7733dd70b741c6e2857334af80f392460c1a5563086f0190e15238cf41e74b76eeee525\n\n# tcId = 144\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 94987f1aa4dc1f0a782ff78af1da6495309e247f184b683ecb3ac5f2319ac6cb324f6e081c69ae33d2e8bec90862739187336d1133856d6ff47fd00296e96d9be845a4d606b9974edca34e36cdd19fb0e61ffd526521228f38c2874e99ca8e03f59269337b761c822df212425b38fc853d998a0d411d05a675f7d6aabf64c8068177ba8fb8b36e18df86e7f6e91368f364d7eb91c4b5878a1e4b610d089bb4fe2c4308a3a0610cc3070656b5d2b2fd636fb2ccf7731fc7c850b4cd196ca68992c5b6f2fd87d94d3c7e212fb914362657011ea8aa90baca2fbdc62e51245b88fd59a4f708da72c19202fde546a5f994fda930b9625324846e05bedf4a68d97209dec7e6c4cce36aaaa738876bab824c6a6b7d3bc80befd646fb6e08234cc60d038c510776962ffe26d4edb8ec8e047331ad7c3c9d2d0c8844169ae715a04cc53cb75c2bad8e6163ac43ce4be7c57411eed9b2c986b729af33285a8e487e26ca3254570202bb3bf4f19133ed4ce076c06af6867489c983cd579a705af7ab6818f7667ee0abcf222db7e2e956e26bb6865e7ecb2b25894ee4d27ce782c98a3dcb896ab27aa5d939f5dfc72441d45d384387bc2a162d6240eeb6d0d58eb039f439992d782c7743dfcd3a2427c24197656931b772cdfa9479e72b542b56ee393e3fd63d3552c798e49c67a6777e62fa2bf7bc41440b560f9bae3dde2f3df1da81b9a8\n\n# tcId = 145\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 445e1dc7a54c43c7aa5de88c92e5ad7dd0895513c042c3a76f4cb12231e35ed524ac846373c7ba5075518577c07063f0634734c8d5fe0ca3a870d1eaac6c8762796d310c5cc9f95aaefd1ee1f1d9adfa511ae4b3ff022eb7224f2d0b4a70915c8ae5fa3510fcfcf05290c9bf5218c39985df21a35f2f971f57f52e493a17817b2a683f82448db330c179fec67640607b4e4d8baae3a86c33a33b8f9f3fd558ac20f841a4d0b58f07c52fc25b98d5713b90bba6db7ba1aab130c7fd988ed81e56280ac4cc48ac165779a5d51ee976a28df0b29b9d5ae9a8fe790b779b9cf7cf4c8060f07e3fdafd120814788bc83952394f6a71ce3b280f065cf219aace434c345541486f05c4744b31fe747b85fe46484171ad66d81ff228dda873c49677c5785a2eeb4534d90113b2d4442af909577420de6a732905636972a334f3670109aac0d26aec70351312930258e688b8b191d2dbb9969494d1004f6747ccf63e8534abbffb0aa643dc50ae60eae61c701c89034ab3125929011420f1d95eff52189908c2ab1e9de77ce15444f5f1cdf9b6a70b5d4adac1a371ad2398f2781a0a5bb6d1c8bec564960050796ebe0ed50faa1d353e6ec959aec8fdae8b3ddd428c93c86d431af7ff53afa539a87e0c07db906692784feaff4a3c20c0f71486b25ef22a16fbe4b3cdd9de5c6c72cd02d1f041787f5052efa621bd89cef96bf48b0023f8\n\n# tcId = 146\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7dc31d29d09e8a858c07924152b0f90f1b575fa9d77ee816acf6aa6c1bf3156bc25e0bae5ed6d9721604115c467f0bea762ddcfa0fbb45a1a9c97c58ce54963aeb35e63a9a26898ae3b08c56f24cc9d9fe2b3f80092cb18581867e4941eb1d1d5899c896327806bcc45ce51a6d5c117917f8ac50445140d48cfc1bd4d37e129607b3949f93463a72ff3dd085559913b73d734c406cb4d8ec5befec27cd8b43a5cacc5afdcddf48b0c3f99a761a74a249e23884aa5092bf201089abfc2b4e705a992a106254b94afa6946f6e43ac533209ccec7bcb2097f242ed4fe8448b6729aac6209b88ada4885e3131782401ccea29b45f35729c5eb810b35239d65696b761785ffd712118c2d1d2d858f7b1cb13fa9f0575b6156f330d8de9dc9431b1a48472e62cfddff6e3dc992a0d2cc4c25671f7e72b3b31d9c4a79187d0336933a6750d8a6d6d4e63332f6158d645b6b94b32f5e3eb23446e62fad0aec1a12b6e1e3e3a735beb31629305dca8ab9ef72b462ad5a04b13a3aa0737273b21fd94ac322dd2b01321f860dc0bb4daec423e3b824f76ba0955e1bf3c2b17bf4275bb91f3204c476a4dbeea928181f5038bb6e78d8b2d5bd1179726bb622694b162fd36e337eff3d41cc4d231869b3f4a49afbf1318732e5644bc32f9ee0f3990cad875d7c09b3b2661a902bca01169943728f0a3a3dfaf5f4aab9a8c9459bd19a6427a8fa\n\n# tcId = 147\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = c30b3f70a397dd8657bfc7dd49bfa7606a0c91fedc39f8b2b2bdf07dcbf8e236edba3df876d58ad90734e045ec3bb10eb6f4f0d04a6ea2b6a29c446d4be3dd5b9c7caf51cd8a591d5238ae252fc0eeeab8543572a7ed61ea77f5d619f696740b1315f2ec6a4ae9efb5a44e4028f6ec977a7439f1847b6a5341aa44b3a495b411fd9883b0f3c782bd4f416ddecc89c6ccb4faae810b961045d7dbd1d605a17ef5378928b1f4d2fdcde8bffdf6dd56bbc2bc9fe26d3f95794a6dc94f2b06521541f8d9e63c81eac921b90f171ac2a178924c45d9005c62b1134d3af85b11b961457c29878fb2442c1b48f71968a83d8630b14c32e9cb5a35c27e8ad6f075d42429721dd3ca7ef4b6daba6e1927aef2e3b8cea49c34020cf9769268e83cf098562fb7f70b158828d94fe4aa84ca5deebc7ffc8c8c8a4af42c556f50e3752740ec955b7020c3b9a6b406fd18689b62719340c68a7b63924af27044aef6879b725c97b4be9bfa794eb3572bbb48cfbc8bf6695f50f5a18b0f35968a0849bfff7b230595338e3c1f69bdb08dd5c05e8d15cc0aa1311fd726185b659cdafb4ba9b904532fa38c77cec9719de9b98f73524b4e9aa282a855f6932f547bec21c691cc2cba9e96da35b6d808b7f5fed29747fb1570fbe0c02674b1722a38434e47d7e4aa48267775e9a3e076b7575bc55b6dfcbf721a2a3e7a7905b0b486468150295e1269\n\n# tcId = 148\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 8d91bcb5e22a56e39266ad5dd457fadb75626a69454d8606f52d11dbf016ab2d1a1758f0fc3bc95e9e6df808dd0a26f62ba25bcc90c756857adf66e9ab3d8e6af77c86921f63c7da72614ecb521e382126ea8a226c1eb33384d134561e83", + "5024eaaa54cdf7f5f4d751871fb2c61e4386120e688650be35c871dad4b7d055c12ef534aab68bb562afbaed8c47ac823792db900a5546c957571504cc4165648f586457623334c3b357b688cf82242373c5a7e48bbf92426e4d33c035a6de4e1d806577c54ad6874d04c5f48994875f41f7cc3f266cc896ae2ef5e875ff08da0b411a66be3e7a3cfc740b9855de42b3913101be2e18284997afb36832d62c8a4b6898b36150bdd24124adc8bd47ae722c2c2d479e13982c9c225616100305019a3d609887222e01c815108988507fbba1cf288703d47b36fe1e54c9f15838e765d95d46155061a10b055b47352670df7b0fcd7b7f89c5d98b5f2ba99f4ca11bbe1194998136c942905db13290e265a594fddb5f4ec3f7734f384bcbaffb70bd78c21faa0e439aa0b3d3ab70893a447337061243de88e13cafd02b53143330900bc009c3d173476081d7948829407502480c905254f8fa36a87eaa8f1265f5c49e6a57c9ea50f1888e64781f4ee821dcff7650636d6bf41772382ca9672f10c599cf90293e39bc80ff4910cd2712cc3ce4c7833cad1a671e9ada9898e9845997f59a\n\n# tcId = 149\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = a71ca7bb56501b24e9152f7c08e2002d2b0b59c0a00e20e5ae030820caef502e0069eff23bc65449e13603241b3e06ca71dc0fa46cd7b4fe128486267872315ce4230ef9c4dbb9131d83caaa5eb80c98dd1f4458e71d2d6cc450f43d4049cbbb97bdd97e7d7ec22a2146907469efae344e94eee8b56b44fe5f86e81074c0efee8296875c95c6a780ad7a301428df907901b03cf58a69b3f7404b4af276ec5bcbcdb345b587bbb7b84f9b7c6304b59e9dda1fb313e2810e7e514c80a702f2dceb6553ac0942ecc2a9c508333df5b2fb36cf50ca7df780bba3b1668730e5fe829758d5f22743bb6b110fbad6aeda879084d9f3a519db5e2e4af0dd6edbd779856bd0556b9cdc93e3d0849e76cccc7cfccaa42d925c04ab6c75b58bbd513189b3b61238eb7b412454966a46920d78c20d7a13841190ebcb2d778c5c59ddaedb6c7fdf2dbf0ef244ff96a73ebb4028c1a3d89f57e1a05983aab15f49543cacb7424bd3f48f117db2ad0f27a1f07a65d4cbc43edeca39b88ff35d910bfd87f295f0234bbb1f8efd5b0b3aacb251b7bbb628bdf43cf8276d26e0b0e21bea693c778aeb1c9a2a9b9f7c82c6b0600685a70f881b4354176971e872507d916806a410fe43d9612cc258afd639a59c89ff7f62d5e795b1a3c8817e0859d497806433c2b8e00a20ea05a68af90967a11074ab0866f253f79de4dddb4e721ead959f1f74e385\n\n# tcId = 150\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 97c75e05bfb1cf41d40d9459475c4ddeeb2d83dc91942fdfd50f3bc3e61fecec0a7333caf6788f5ee93e9eb71df0edf5e181fa2c7276c9123ce13b7d7fcfedac4d10e351f20fc2bf06e340c1fc58b5330793f9e79ab60d550b4cd692dbb1247bede9299f506eba27bb87567f68b3e6b9934e4f1b94dfe33c834b6b6847278e285d92c0a1c507796218bfd6ad072a1af33154f70094da064bb9cfae5cdabcbca727e1ca9d9cc2c6895270aca78842740042475d5f3af07233aed83c93ef2519fa293341bb3643f7206c0b64b6bb69dbbffb8330c122a236e572381f91980b4542449671b199926cac2f1851bcd0fdd6d1235ee1428e6032945a953ba101fd62a14a4d55596b8af8f8c16266f94863ed3a466e20c36e66cb59529eac17b738dcc7be76de25c8ad8933f19cc02d9a459ac3edc29503a8f46d4e27b2fb2d397be467f32e028b722dc7bc0908a366a6786f9c287aa8819c3caad01118551bdcfd072505b659db197d6191d441d9eeaad0d78403d8c1cb2945e6ce911c69d9f2d59fb86717a83b535c4b714365a055963c7a04a6a5edd711b0e01e6ffb082fb77933550b72adcdcdbeef8d26cf30ed6227a6396b3c2c8d3675d15bb7c03b5c84c3b8184a2b7eb8ed4e43057a299062452ece02ff8a91240245c2dd67041a214b06bf5457812cd91e1cbff12c9d92df3f2f4621271e356b7a630387317e2f2d517b2035\n\n# tcId = 151\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = a658b821e9f496bfc4d0773bca57118363c0cf6e520d4d1c0e5e4cd92f41f3e68bf29fc2605b98adcc37ddf1460d53a3ccc714c8dd29c5c5f30f234dfd0c2ff4cb88f998adc6801d87f2d3bbcdcde263058d38612d2c476d899297ff5b04448e4b36be9869fdf301f2aba98004eb6456ce5a277ee6408908cccc9fd10948903d6724a32211341bb4f17ef82b58d58d2519304eef3d7df172a317657285fdc3ea170951e5e0d672d50cde0f9502d6ee2d28684deecddfdcb65a3c6bfd4a213ffff97f291d707b2fd214ff207d538b40c4b07dafe059e96690578a86daa08878addd8e4cb422d7cc1ade303d3f3f43b3faf54d6a9316fa862a209d5f324763cd4c9aa4e1766ce52b688e7f32e3680bda51fa1f93404fb77f1e1ff14ffcbc6111f085501dc7d53c7b106d651b562f6357ebe217dc3d6040b57b2df4d811c9f82f2665c18b17497827a1789d9c8b26178ece684c9954a1d5880a0da8b338f111ded5a34f3d4854e39c8a49ba28a89b057a69911110854f247fc1f6b77fae7c454e2f6990e194bd43241724331669d41e6a2b5a9de2d29efbcccd9ae9fd912de728a3a8bf86b79f991b024648c6309feb0641134bb60724ccc59b02b3d629b2ff0b54964d4932bc8953a2da75f8b2fc74c046db96b03738d57d99f061301fa9d2549f9bbe990c8cd7e0b6a0a94e00f30cac6400120abbad679c761c7ba07f54098223\n\n# tcId = 152\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = aaeb65102cbed1c602e4544cf08a44fd282abc4cf6981d8d43cf33004bddf16cfc5488a200ef3935bc42dc6b46a60975a9f1d2e2e41824e1199ccf371b79c91b8fddd43084d1d1a8e8915d5efbf1fa1cdb4759aaad092efbf21f8bef084da1d654f801f8f80051c8d2d8b79fa9ea1578bb54f1d9397597fb164a0316d0d3c7be4be714d0fd1bfaad27325ecef7573b77609c6430c8b1cd648ae574c58b232078da0b5521f376f13b34635a573bfc298cb010f663db67756a9d109b0cf42caf35345ca8cf1ccd15b98a66574c8c6d119ec26d08eecd92fa61c609c302c902a2cf9d78f644e9db3d99d5ebfb4561fb72c33e47bc1f5385362bba51972c1fd9c94c839a6c4a3c6169a711afeb4d020ac6029445a5275a72ffbc3dde7e1f93f5f4eb00492ace4f45feb7b15a882f26e36146a2f55e18a51e8ab329403d19cf8466bae7baf449b84b842e3d2e355ad81fead994b711a3565c9f416c8523c0b26300a53e2add01f4bdaad160bca5bacce95d7b69f1086fca551bb2616818d267a2f3351d17e6f64a896d53265314548c8ceb5f29829e7e2314c5ffacf3caabbb4067441f2cce5693c4c996d887326267cee4e7545535feb7e7cc8e3f36f202ae3210999d2b5df472e0cd5e811336c19db898b6217cbb3f102169fdab8629174cbf04a53690ee4d395f064c03acd7bfd054381198031885b99f51117108f8c04f2eef57\n\n# tcId = 153\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 184964ce5d2c22bd587ef648cc499b007badea08387a646ab544ba57562444667d8d0dc09baf2ea98fd096eaff5dfefdf16e0fe09c88fd895804ed977fce48cf9cc963434dd29d0c612f7dc0cdab2b992ea298393dd3dccf5498100d149bb3b29f7be67397513d532bc30dd964f661726672f6064b657e42f49f6d5e9b9170a8bfd8c2b89a6a0cd1a1691b38efb719f955b478f468092425077d490ea067d72a975df78cbd91708394bf6c703e92995bc79a071023960e0c29de8dc115890b3b250c69242fcfb76bea21b1a72acfde90adb34ca92068a2fa2dbc5431f48b5864a20a6227d521f9ae0be92c4be7cbde99157c3d5d767993176997baba3c2a3254230b8947178640f87372184df010227c3a04e85a4a4c012fb3ddcf335f18a131a864b84dabd75fadea39236e81b15241b8bb220383c6c134de6bf5824240c7b884bf41b1819aa04df77c02fa920bef52c7083eaad216bf628b0f0f08e5b995a9a4b49d9b28b1c3636c9c1ef9cbd7f537d4e3026e869941edd77759bf254945bb095884fee365b34eb9f7fac3c496df866dfed6b07a35721c8248000147677e0960ba2ad077d5022382d9f8415368d79b4ccc28882bd8dfae86bfc73274448cbd0a96ee70650a48931cc16354ad69d3b68d821abc548e3d3c0a7e8808c88d7ac0dc792ba2236e092b994b9d5a7501f347716c3e1e17cbbf8bb9a3ab15c39b2428\n\n# tcId = 154\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 36f38c26e0a23f6cd5c816bd3d3e57688c4f58126b4dc24d5ec659e76c1f97a7369317ddea841a3d90a00b69ddbc6fcca2768c85250cb64c5e10452c2569126c9cf5fbb66c6a98849eddd51c6fe6f87737554f1ebc99cfd161f727bdf9da0738af5dc076c27baef7b4b2af498137475c5100bbea7cd6ad83de7c6916a9cdd3609199de4e2f65d655adfd603b4ddc507d7364fd67940c293d84ac969bbd64e63a57f62a87f5fb3c100b0b3286a1c9d2dcd263c3009534ae05272815c6d9ff82d0fa59fdd91f6a06fdacbeb6806ab71556b4bcb72fce2bc74aa0e12f0a831e103fb248bf1dda7b6eae1d9f2197dcbda37c343bd679d66433d14eff97905d2220c2672d01f69c07600428d47284b1b1d0305ebbb78bd29180d5f54344877e741401fe9cbfb671b62a254811d21f7595f841c2be876104abbf10c2a06949500f7cd883268a1b46207de28ac102b58ec99e0fbc57c99449015ff2dabd9479b3ac796946d602d4cddd9569e38e406b3b3d47027ace498dbd47bfcff785976d4ce4fb0d74b3f780fbe8c6d8a6baa50ebf53111869128ec354ed4dc0719f3cca55f610c5f82b97a1fa443ba73066236610bb6bca882d46dcd613b0f29d4272773456fb35fcdb056ca053a838abf65ceba0ac0d0742bd633351c3909a9289de1f0539fa19c1823aac286e88bc8041edcdbd4b62612b1f1610a0d519e161b2a305cd33eec1\n\n# tcId = 155\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = c8ef89f800577cdcfa788084cbd57f070d634ed7ea5aa8c1286b22e9ab33f44519d6776de6b3eeb6d7663194b3097f428e8c52462549b64d3adc26beddf3283fe9af81c46f54fa5513b8df69ca951cfaf2eede4df6eefd39b68d2e5d40867a517567dcb0a4b954c99a194ac448d38cb792782bf07072baee13928a708521d35d97babb3c59095d3026e8371a8067e62bace0a6b42405a4f0e1b242a7ceb8b193d9e0584e4e231def3c1c727a999ab03ad6cc7a33d6cb147c7eab81e73948f58d550750f4d5de507f9a95c5f1a99cdb38215f4b2f22aba9a313b33edfe66473c20d3b3a109ae1ac618418fb655da69c78c56d0d8ee95ae8d569d49ba395473af9e76402a9f4b071b14ede2c28fe5666c7d6302b0914334c420274a77629d835149cd1ad045dce4aec198810ce4167df8123a2b124c7f", + "5fb6d5bd653ca55eb88a8ca2d51f9c42df365cfd8287fcc1dce58f6051e33fb0f1219f02518cbd01d86b51132b32ac0c1a6ef7ae0edcaaeb4fb190817c3c7b6b865bd85995499aaa7d87652fc1b44d9dd49a545a5de0f5f58a4798cf022e97fc8ab28319ed713c3a11d42bab6e2af1280139e03b27926812e5c67e5526c2b9e0ca318fbd48fe951717b7a5e901b782a81253d859820383a1cdf1fb20841fad390e53841b236df9cc7bb665207689e51b7d3948cf924f92d05d2af4c04a8173f46407b1f4d1b1706d27ec5\n\n# tcId = 156\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 83706cf470ac7e2ff571ae2f2fd618b5eca1a794be64eab576aa63e0195ddf9e6e5c44381e3a811387ec948eb2e9006d991a66dc80471f1b4875e014187e0eb1a7a497f06402f390f44b8a5beb2521ec90da193169eb86e44bef92d2bc11150cbfefe31fd9f7c6fe09f6cabde4797bcb861fc6686a0dfb38a51b80631fb25d7bd84c30d2779cb5cc6223b2e0ee8a7343db8c03015a3885b6f66057d9e9281826eb026824f0cc9059c1b21a1b7cc48b80a41713a3d07f85584cfa0cca6f65018713cdaf3ba6acf5102e0c22b2b839c8875f12db8d22c73a153923033e61a4e7c4031006194f3dbe8661428c810f5d1e93e815dce86200a3fe45525c308c5659e0d022dc0640df0591ccc5e704c8ba261fcc53d2c53eddb47f139dfc8f19b5fbbd4b498ca7b22b5ff6016b4c8f6b98e4fd4ec3bd3b4d90592a72d57968a21e912f597440ec068c7c27e7f57347d16644d78e7733634f4ef71635a1c2ad55a2448b85f1eab0feb92bfd3139b66726c77b78d5778fab114eab3d72d3c924112dfb0eb5d19958b1a60cb8f7379d53a6719b3d3a4c9ee2c2acd76cc1e5f3adde590c3e157229b9051b6d62ae4469ca3e55c184060862488160ad35c12d86e8d379c4524cead0d7b0268c5088e31717536f99cfaa7459fecc0247233d6fc890dc2f98b21f4e6008b8f89fcb119cc94a6eb96f87f057305549d18d05af0964f5285088f8\n\n# tcId = 157\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 99d2525d1b4ca3ea27d97237c9edd75d44e8cff850e8f3fc8643c95609db33aab1e39bbc94b00e21cba5e9b1d19b5554ff4df42d7bf1a0dd979c9699e9183bfed23c958ea7799aec3585de698d08147acc84366cff33dc45a94feb6f42de9f75927fc74ad3992aecdc100ca6c04a83753930175a85c49821420919bcc392d50e4e290d5a466e92fce5a189b9c87cb10b764c9e476427bc2719f34c1266c446c2bceb10907f730734c0706ca9de348aa5cf7f67cf00a73aad4ab2a1a8b7ccf4af5e326a0aa6df096410855271069991728f367f3569a00b9f7a97151e0c1a5898aad3ae2c9cc20e06f01013b5e4221c65d8fece68e4bd72e57a5762733d3481a721f53041e843ba06e3dbe0407c99d1897bc3b20301e469091c2fa1ec464caa650953e78007dc60750a7a72f61b2c370af195906c831b9f648e633a5c129fd70608cb132f25d51261b62bd3a56ce9c9565422653300355c7d6550b05c7c579b6378a46f57fb2fe57f2a56943640166945530cfe2410bd6cad823c73dc0ab4ad3c3ceae4e2e15225134e47f375641346d36d94e87ef6e5fd31dc88455bf70107fe8bdf9a4009c2d7782f0668739afd9d090b44f599fc1d4da05483cfdd17a9ac55b959d3af20e55a421c7a5d7e6d4200202267219b62db2f92e59bd260383b944e89a1c1beb6d5d28a9d48f235f3bbc4f172a7497c3ca8cbd5bb3418edeef02896\n\n# tcId = 158\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 121fc93905d9fb187962eb95f6f6c5871720195c624f11a552b6ff644d1eb11bdca770228afa766033cfce705effa5b081d125212bb93956b0d42cc67898be4b617405874f86847c793a4a8019eb1a1193d518f59fe85a7f1a491e68ef7b1c0845cd10419db3fc9a5cccb045e31137ed0fb2180239057f207329b1b60f04bd1111b8a9f7f5179ebf98d991fb1eef76753011eafe090583a32be5010898f24b7154eb10d8dc3fda6828782268a0495e3c0c1ffe8eae51d1106c316dac5a0f07a9748f8be0c639ff12f00af0f0fbf4f651f26298822e08d65b34db6d15fea7ee280f1262ef47338716f3ddd64ec7d7109e97f54a299f07e3e71e229c4bc0f587bfc6c9d3a9e67c16aa79359cbda18f70b21bff5d6f112cfb3a188786c26f54435063c86ff1f867ff8e9e74fc9ff849c657edd17153e71d78c175fbed9d69865faedcd5b1a5392beb932dfca613c54edc8e2be963eb0e7ff47e1bf972a403fb2e257be4bb2d1dfffc84179be8061f37477829155168b25d907c3bbebe2e7492d3950730e227d1faaf7cdbe0fec3f2f19e9f98842bb29cfa60b87d3dd02e51b43468715ec388583656eb50b93ce501daaab974eb191840044a204ab039c09c092ae02dc54330fb65048e7ae8aa8117593ababf695b9fd2704f31d12071d76f8c2bcd2aa14bde65a7ac1c785843c2391462ebae10812a6bb735bfb1f2ac3d74ea5da9\n\n# tcId = 159\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 290567b67c0a8c1c756f6f0c4b5157e1ab1c921af2d02d0ced12472404694c6a56549bb0cd3227c7f04e769c75b46569640f2504e2892ea270ad8bb102a001f7af1d1011d92e01c9bcbf284236151fda13a6072bf4da11f9263773967fdf3122a401e11511a04b633251516e8aed8de669a20223e0dd39a6b841bff40ba6af6934e9c9ca3fa2a3d277801e3483879640e16fbc5b8a5240e54d50b07c081f84d63b9ff9b24d703327a997f1a74098ae3e5a5a0c380d68b4a3437c7d5f33da1187e7b6ed5d9eadd1e1c2d60d6df0a0910e9f93e17f01bb2e643f451f36178a13193d057c0c8648a55002df72d1166771e1d9ae36dda2c6058bd9d2ab0a350be60b15a021a016f06dd6e6b9fc8834db10190b89bb880aa38e5dfb03bd122ea9b68ac13057c9f1aec75e90cef05602dbf4bc70d94ce7231265b3e846a2e2d00b53e8d6c04470125d07e782cf559c41d82f1e10113131d48f4ae091204ee81388af98722b17114a396764ea8a3852c1ad727de9742220cb3d111e0fe4de9a27c636e57f8343fc287d74cfa9e811762b4f9ff3715aea0a258baf4cedb89a22e1593eac18f34e83f9a34ed139158b6ad8d4b292a7e4d933b58bd6cd9277d93f67bda8f67be72fe32d1805fb33ac89ae2aa2864aa402ecbca8430bcd6d42b17fda76d13ee659a23a629bf4d0e49d5ff5e327ffd55584b254c90140269b226fe561516fbe\n\n# tcId = 160\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = c7a3f33ebacd1b82e186709375be80d2eb75086bebffab34dce599b3e97f59903f04443b1062a6884a4360d92dd8646e1455e95b33dad16854f744c4acf3e9e36f85f830d3a8b75e583a828e253c2d62df5c5ad4374110d6dd85426d86894f35833f37a7433f234ef966f830249dbdbabde11602976c1afeb321dbc46e6c481290108e97cc7cec2f9d62a9a1d0f00a26afbc74d45f6f137880909fb5167da8b842894dd4c933eb1f7db3402179bf130595679e260f38c4a33e0b3e9f73191756f4463b6cd159ccb0b41c75f9f405244de0aa6592563b6f0d3e519582acb1edcca9cf89b91589911e9be178cc29d429721ae373a49addc23d72057c6709eb0eee81a60de406444ce5f00783884caaceb1e07a91de1fc6e2b88a0c9e28d6eeb6c965d4e7964b24b09130b1a2536e117ba1ad3e4eab1bfb84918382739d3a0ad75f271ac343b37224c8b1b86ad1a62250072f68212e0bf1c9a3715e1449d44ae471db4696310d9fc7a4148bdbc29d264ce4c4696f758d4df5543f71ca182b0f4ca36ce1c2df8b574ae3a08e59d0c014fdb44c24d7bbd9d59b39ea7fc269c2d2b2163188d6339209726471fe297548b27cd3b6e3c58ac7bdbe3a792d858268275c12029c28148c2e0563c52061ae83749819e61dddebbe5dbf07e9e2e07503799cbac3c879d8508cefc172bb997d1a3b109d737fbc1c52975704b6f1edb2ba044fab\n\n# tcId = 161\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 29d54fda4344d689e54fd3a4625660b994352159a0c045d2b7345e0a6fe4bac788d54d0cd63a13f2374b6f064ccbb379fcbc771126a6d6cf51ad1aa80584046f6b33e9f0eba434d08531f091e314fe8e4075f184b156a267abc3909ba90d5c3e96ea7b3f191e38c631251176334319479a275439a633b61d7197aa45f07837fde18f5e2c639863c1a7689e6f56fa0131ab50c8021ef24ae6d936fb3da4b7c4993de4de3d0da0da8a19f1787f3c2ffecb11e505a60e2716090f2081831ac778a11a4b26db77f7659ed66f00f0c57e478dfe34663496eec5434d8872d16a65f5efe12107ce39225773488dbb8847bfc144672615f8ba18daaf9b4ff0bb36d731e1306e1bc7644ed3aa5820642f7a15fc253ec9fad79ce7d811fbb1959cbe124ebcfbb9d30127f0761585a49c772e9181d47ef4488e6288d17d49e759d39adff61debaaac8bf8e1c5149e9160a40078eb8f8ce47bcc0aa5517db7bcdfa4e8e2fc9825e18824839a2c30fd1cdcef0779b0f7a5da9af8cd315deaa40187a5c4b5a6fa009e1d9e288552be9f6cce448fcca2f011557ea101d41267c5df8331f585315cf6e83f3081ce149ea4813dfd11b217f3924324f34975b275bad2c8b8cfc670e2a8345e28fe3c1f955d88f83422ffe6ce28d5273adc1b30f26b7c558ae7688cba8ab24971baa979de2480f31812b990e14d8859bcce323437c8290bb9b89aeb8c\n\n# tcId = 162\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 5905112430194b195a3698730332de7ee44cad62157ffb95f99aaa4ca39d972712ff27302a960d5dd5fcbfc3eb48d196697fd57aa83123d62030d27dcb7f481914aa20dcee0bde8dd070e4b5939c359f3b01e40a42b6c4c4f02ad64fb15da070e68f63cda98db297cd535b2ebd0404d02df3036ddc8add1f545a6b09c1dc1d9519854f258a478ae034d3416997ce939bc72206fdcf5d18bb46be8a3dd5f55dad95e1067dedfd7ebb4c05fd57bce7148bf374cad3af3af327878d27782659695459987838dfafc00d898743bba43db494894246366fae5d377c2e5d150c2cb061678147f3d2bd24641cb078f074f503f2bee7231283709dee766609b76fabc0d3d14c5db3543c12cc481972d9d01950c60d4de5f7c01e7b4b81763467f1b6a1bed4f06311defc24453053ade5a50c3dea0117456eb6adef4bbe8afd49d2c1f5152f80f7f76e72b2e2269d3080c1545cd8c7afb7981b60d63ad0c6b1f4deb6cfaa4e0db62684470ed4013581e497c3441c4e9b481d148c89b1872b7d8631b37520bdd900ffc13348c647a71cf52933e46184c5278e6752d9c2e97aadf29d57820eb99de2b050698932b5dfd50a581b3f80a2d39df9290cad87baab094e17c9ec340255ab855b15ce69aeda9080195be03d00a827b6f5f863c16558a407a49862c535bd24a911c4dbbaf2996b680b42ee562dd2f519123fefccbac1d2a343f254e8\n\n# tcId = 163\n# signature is 0\nmsg = 31323", + "3343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 164\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 165\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\n\n# tcId = 166\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3\n\n# tcId = 167\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00004a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 168\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea1441430000\n\n# tcId = 169\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea14\n\n# tcId = 170\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 171\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0e", + "e914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee\n\n", +}; +static const size_t kLen147 = 350237; + +static const char *kData147[] = { + "# Imported from Wycheproof's rsa_pss_misc_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = 313233343030\nresult = acceptable\nsig = 88f4676b502e365dfd82805ac1db27d1107d1516431ab4f71107b62625b6275af4a5dbfd8314fae255820c0cb577ee2457f510851d2678e4ed3e6839848aca8b67c9ce52c5bf57a01b6683828d03470034b136e6ab1914adbb1d918fdc31f7cef6f44b0b0ba0dbd6c1d3c8d7699ce374dc86c28beb3bee8f81f41162344e688af0d91297da0dd5e8104a5440add89bdc6c05d20a164c0f079b78654f038d443743f94bc45762501034a32b5d05bb86e75dd9a171c81dbe43edf50b2e1fc24297375331d78a8f0399d4aebbeeed911f6d964049e67d89eec0e95443af2ceb37125ea8431cbad2d8416fc15fb9cbed9142fb8cb06dc7ceafac056cc1f6696e3d93\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 2\nmsg = 313233343030\nresult = acceptable\nsig = a85f06875b529ca61b60df404652e79a499f81a0591bafa3377b80d8e300cbae679a941832eb5569fb88c9f8629e3c2ebf5f32ffe43767d1eaf59016f5904de3f7d39cb470dfc5fb5678fcd7b55d1a30f716b7f04c2568f3c1a2bc780e974a363adc622e679902e966af183d874b35396423d1a263bb1c6e7330179671644c6953cd795a19e2fe4208e7da5244e4760dde142313a781a55b0baf866dc158812a723d74911c8717a512d722669193f8883b1cffac98de8473b7a77198e20560c0c21207e00fc7dd14385fabdd530d568d143ddbee8d1b502f7b194b9827eee9472f2be8b2a541124405582bff393412f6aba9c42e5824d7c24bdd4d82d925d066\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 3\nmsg = 313233343030\nresult = acceptable\nsig = 8189776015db3a51805f6bf71aa1214ee07f7e385510ea95a0d4c3d53bc0d59f07ca39af40fe8c3138cf6f4ba0f72a3397df6ffda9cf49e467a34d92ec772f6b6d51d52cef86d16f74bea798a85aac873cd4d5d3a0fbbb618998f4b2b691bc14fe1f235601c51a76c4eacd1a33975d9c3cdf1daf579fb943556f0febd948d1b1e15cc85edf486b00499fa9032b6b801b5ae4454c94d7f89dc1fa6dd6a927969b14a4bdf51caf7cc8a87ae05d41e1933849acc5fcb0f478f1e23a0f476372837ade82f8ed1809e2245062009b8e683f563029ddb9892a398dbc2df594c12fb4a0f0c551abdf2fee4cb325fe9800ea741f7b2f2b4db370939bc7e3ea95ab539b10\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b95489", + "1cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 49e060ccb577eb614274db1ad34249490d1cab2b8d3ae2b708b93c8a8ead302e6efb8d26644d5caa5f62b89f3949942d07470c37d8878eb5cc9c154701feea36ac66d0a9723fb316f7ad6226f634346c17ef47b3e19c7b9979d60118959a5b35cc188200c8f9b2723046f480d95a9a0af07e648225dc35114d8199a431ccf4f44fe8e8c9c0130aa819aeecb09f95eea8f6d89981c05cc82716fe7ea499c55460c95e99871aba1ad3ac3bdbc96850863b23e3e6659ca346ee0e186ad717a8ec9c7a548d8fed0e7b79f896722659ec7e1335de12f361d5e6c65c791441c3c0020de48e60f200c3ab79fe0179513b2c1592e2f0064ba4799f6a0eea199da77d174a\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 5\nmsg = 313233343030\nresult = acceptable\nsig = 2d4216f277e50736d41cda2191faa97fa99d9e325b34926a363f8dd73c901153f087ac206cf3cb25001dffbb6200b7b35565b466f46f23aafb872e5c39d26156d36d1bab19382e5f15873022e64b58c129d38eee8126130f6210fa5ffb697bb3dcddbd99a9b60b53b25d094f9ec9b7a1cdcd0cc74a3ac478c7a34cc22c7e30e952bfac85638678b8aa2341fb1f108114d43dc849d91a3b174b0dd62f6dfb96459d4c76ab5fb6479d68d690d4a5c120c42a4bf82a8a7e9e7aba127fd5fda3f4c6ffbf2e4eeb72ee695cfeb286ec99e7cee8cf300e4e149cf17e70cf9f2bdb6421087916e945bca42a70a88b1a87e7ca3ac0a1bf2ab1a65ebab7726994a6c9597e\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 6\nmsg = 313233343030\nresult = acceptable\nsig = b66294f7b1e1a673e566c59f9abf264860200763860cbd666e476dbbd61fc39136353ab74299cbfb64bff88ed51cf9a20694e832fd97235d31ec6aef386ad44487d3753cc1224dbd59a34babc3eb8b538c10705775a27fa88ae35c0f618e0b3c6b91d999fdec5b86f15d1e462feea3af6fa12a5234d526e82039e1df013ef1cc6056221b81d755a13b70c618cefc6dedcc3361b5a910fcd4a812ae48382fddd75d5b51ca3d243dac021aeeaf6e2bd4aed75d7ff6d81c9aaee2356e3d12192b5e75d006b124275b0daec06b5af29b0d3e85f057db59db4b887fdd2bd0a33865eb87e8f3e37b4d8621e2e41c760a973f1ba03722d42bf5b921380b71fea949cf0b\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 7\nmsg = 313233343030\nresult = acceptable\nsig = 513db066bc72893653d1f7fa3f19546281b6239bc8390c4984999121a1dd75aa94004c3874beb6327205f2ecf8f6eb93eab018de3a6c71ea8b2d3a628188d4aa2b1cd6bab169f3e78229e4383ab68aea4635935e0eabbe9dc1d671416945f1867782900da53451369ccbd548c8f756e7221ee7e1ff28dba099b8f28d1f3aad2ef8bd816a53dfa9bc88e4e3983b0de955e647caf71a607ffea2", + "0a9677e687cdda29219c7daa839276de3fe436b96b2c68db64c170ab9e300ced00e72a9c0fdc321a517aa113cdec8e2713f8b54ee2d78820f6f86b2f6e6222493d15cbe8ee9815ef2e7ca9a6ceb55955049db35b1af188b99f2c4bce38f130a75780f41b852917\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 8\nmsg = 313233343030\nresult = acceptable\nsig = b3e943f3982a29d0c1e241890ebdd9e734baf85bd32de80c6240e34dd1f7f0ca4f37fff2c373f9718e7e900df224d155c4463c66badc8fc3563f36309568436bcbef1d83c63e393d9e1432d50541d45e54b7af1b18cc819d9eaaa65a4b1e4f37ae16ec75e9f44a07262cf3e2dab85a066d92b750ba1cd2a1d42493868123f18017bd9faf1de1a4f87a3f9cf744da1eafc761b7e24c9929d3dfd15d1b08db1e3fc64932816095cea495e0dbb82842b5f3ca90dc7b78895c1f12ba991f3bef6f16451a84880fa31cdfda6b9624a77a3a0489fcfdf6e07b89c0689b5b7b7052372a2b1e06a3457b027285c3b160c0de1dba4910c0162ae8e737a3d7dd1e05c77ace\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 9\nmsg = 313233343030\nresult = acceptable\nsig = a9b9eef8197c973d6a73bdc165f40f0f53b05848c93957aec2785fa92a9cc6397418a71870f1bbc21a39b244526b4a39a538d149cde62bf8f21f3eabca932751da83120136c48073792c55e2eff4e29e6973cd3f1090c5bf3ced02a1ba4c145addc674d33b0a285d73d14bcd6f374f60c95c4184e2d57388e9c73f697ac0af5116ddbf5081a8f99ace11027835cb3df8ae785491f42850de04b3e01b9317bd04ed488ad72e787c728b4516c7d839d388a2fd7b21994ff3f5b7f264413bedd3d8a5258d2b39e60411de1ee69fe05f4e76b23a9f50b49f7043f9812aeb81cd54cc1dd9ffdc6e73580e2cae821579ba3642ff7793a3995b136e057d2d2ca7aefae4\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 10\nmsg = 313233343030\nresult = acceptable\nsig = 899a49ab1511bef8727d1ed7093bf7e6a77fa8750d047b203740324d18fc45b587d3392bb7abbe7e6bed7bf2be2fa5e355f8ac5452e675027dbec1835555d059a4ec44120f499e4951cc3fab33d3e8154a4340d29c69fb50728c60eaa58d61b75cfe7efadbff55fc0edffb4af9719cd1a3b2a240936eb6c2ad70b10b72aab7e64d9fb17ba8fadb6f4f0036bc22d5779705b02d261b8c9be700b65c066c27be02db353f4ebcab1ccb41c4bbcfef39abfa8999196951209558463aab1c6d4917ae97006199daaf963666d85c133817035f36ea321714a6b20dadb355a226257fc0abff10c9afac551bb7c3ba9e44737f45ad4f9b7f2db002afb7ad61cda0d96538\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afa", + "c10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 11\nmsg = 313233343030\nresult = acceptable\nsig = a9cadc9cf41400ea2a91e86ef6e0715fe5669dd6a8fa3aa50036e521e0c939ad9530d15e52b10404cedcc5405e7178a0444d0c5d20cfe4af10f3c07c10ef0915d05e02c62e5d0874c2ef37d4176655f63f9a9dbc2da1561c09c995581cc811b5d7621e84bedd7546d346a7a0b0a65d7f38f101b24303da0b0236a7c78f4026cc20bb32dcf79cec7f9a88661dcd52d5b209bca191f5c607e8d8e1957d779e5dfdedfec49bc2defc0ff921d5f7e875e5df46f0687a05f03b5ba5ee6bc0fcaf8d67592a96c0abb2f9a99616955222dd1e87ec9aeb4b160ab5ae96afc87a65b522c6bf4d8133901dc3a9fa63acf749ca06d00e0a8fab39a939396cdc70f52b9863a2\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 12\nmsg = 313233343030\nresult = acceptable\nsig = 807285dc6aeab0a5aa0a7667856993288b9bac9544136a5757c63b23715944df3b9b77953ef1db296ff26d87ff3dfe514e415d9f118fd09e7ac518f982736bcc08b558038c771dd1c1d3b43df922ddda57906cb5e6f5a3ed677061787ffae8eb1ee2de41b5e58f5a012b49937af8d7d44ab5f4c935b73764fb46daaa346c54109c224e16f9c53d3bc4cff2120fc3e0907984052f9e33dc1dd24a171b202a52cdefe13e93cab145416569b5a6a7f29f9b7b36bfbac41959903d765bc91c3c10b645fce9e9893ba1e3325df764bf4ef0f8eb3b3a20701d8e417a86d9b859f2a318a66ab923a49fc25a511900a149e89123b488e44d8f77abe9e7fee56286d7b223\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 13\nmsg = 313233343030\nresult = acceptable\nsig = 9031c063103542817542fefce9e30a72e9f14be94ef2b7a1df2ba721a9a4efe31476684a491e4849ee8720c1f49cdf9755d549b63fcc0e78af8353bcb42575abf92de06a308142f212ac987d42d5f622b8781c6c215d3760aa4ca8441bb3f4587da6a7463ea9425a45876b0470202315ec1881dbd4f1bfa40801dfb8898561a6ce6f88698dab497442f1ef83b1d3540cc3b0af139d5e125a88646f0dcbae053f6a8fc29a2f083e81d61082812121c3e59c3072a76d4ba830d4331105355693f561adda1ad8278ce0e10ec3f7a5ca24e31d839e4823c683e14d75f764872c2267623faacca1707f4038494557df84cdc3fd4f93e4a134e9b53e7e80ec1d60556a\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 14\nmsg = 313233343030\nresult = acceptable\nsig = 9dd8855b0abfe98598937629db4455c561b074d270146d6af837c709df76d42ff3e0d50f04f7e9b3c43244e4a893f0d22d54c58b121b78dd604d1903c96109f372ac9162bd0e4188992d9b8957fa08ad9723758299ef70125f916da07cd4a696a16340d7575e4fe6d57365c2e4aec1a5465a2ebc7a4a7b3d83d", + "8395fcc36a11e8337878477312a7fb4ab81b70cab24ff98565559846706a42f2c07a555e92f86be89d7704a5329fb8637b7621112109f42e49cf5f9a059a7225e2587ac41b699a0b27fd477e0b1dcaf8ee88291d62f41692929b87513a5d8e69352cf6e3031f42543cbd9d8442be3c28dca1ef8a9b7e51ba089eb691f6054cec55a8e770158df\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 15\nmsg = 313233343030\nresult = acceptable\nsig = a61ee300ba0ee8bcad3554a5494a0ddacaeeb8f2e0d4c71383a2684f21a260df6b48d712d7145f62468cd20e3dc70950d89a7d8e962961196e53ddc7f1da53766732e193a7e18b08ab3c71c3547ac5a640cdb9dd3a2dcd866d8b37d57549b17a85b1a97271deb8515324ae30782faca29dae55d50030b4d5eecdaa65b035c048a32f01018a865a9ab1392b477346554ddb403dbc03fd834b72956087b623cdb6d4ad886985576ef75d186d78d50788eeeb70a0c65259f22d5dfb5d08a9c86d6055874b4e38671fc64a36083b34e0f5cc51c26ad876484c47ad7f8e7a524e967f587fb0ada6aa1c06eadb0a149923912565f25031f9c5e721ecb68ff2653e23e8\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 16\nmsg = 313233343030\nresult = acceptable\nsig = 30389051e99e04c06b5e92773ebe85fe1432ddc868153337a7df1f429b941c779049219a25db26c7ee2f189c4a9b71e690317fad22174b45857a7dee66663ccd608d4ee3da1c26f0f0ce1e87797bdecefd1d794c782a7cac322ad38179aafe3df4cb815885c391b6265244b45a7c870d1836bf361eedaff8995ca882709fe9b32bc08cd6246d74441699bb30462b9df9f74fb597b4d953ae3a4a7f060d464587ccbda79096df38ddf9b10a68cce11d5304d648ba3c5e8e111097a54f2afe1f64eeeec0db303b5f9f8863c300c33a4960a0664b59f18016d48265ec24c6f0bb2e6441262e6ea7afc80ba5399e850fcb37cde3175f63383da272f1f692cd732ca2\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 17\nmsg = 313233343030\nresult = acceptable\nsig = 2dff26d07bd2e3de20c8b6fa527e9fa16aee9cbfa0d01cd71a0664727bcb505d0518314856c43c602de0fc4647be7f496abaefc1c766fc44f6572ee2b6ae3fa7d4f23c82703d15ccf97e2e8dfa0a15a3f3f639a2f033910ec04494fb2470ec1a6cd7fbb348153f62766e2f84c1542c7e32d4d60d24eda5b26d513f49bf517aa56e43d05c8b12f2de93c36f56bc87f786dbea42fb960cb4423752fb4a811eca396d0552c4f36dd692e2ef551778a9de7843fcf37f767e3d3f63b139a5aa40d8713dfc382a5329b4f90ce43078cccb6a03f18816ef3b053006603cec694bd6e8352c0b545c436213ac5e4cf42b2a3abb5536b68ec05b3cdae133c7105df461f4dc\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b", + "00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 18\nmsg = 313233343030\nresult = acceptable\nsig = 545a45b222868ac1bfec75f48c52b2addc0f564a7ed54ea7c2805a4640cb54edc58e0b6dad1aaa6b629e2eb4c1c56d53cee00e61ba5596a429e469df55e5964fbf8ce6e1f36ac6adc4aab6663f152fca09729c314449431e96370b51a76261ed37ff264ef4dc9891a41f866e53f98617e496e92bbee75cd2651953afd65ce6d2609f49cb201872ccc6b8d9b853e442bf6e207c394dae3d180bd7126455fe8bc08a9c8d79a97a300884b88e1e2979ad17d15968e80c7b6eaebfcbef488fd4604f24685fc8658560da381ea827d96c78bb17d9e5d09c2d37d61275fbcc333daae6cc3c35a45f7f8d1b869586075ef5f90f60a6e9563f31be4ee6f54c1bfcf85079\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 19\nmsg = 313233343030\nresult = acceptable\nsig = 40af2e3149996f2bb055dcd6ea3e3fba2d57be6424e206c213abe5b6b3ac7ceff049018abc864118d90c5028857d73db67b94e60208c4304f61412bc856ee76e398e211d5c4927145c3ee61ae101ec071e43be9bf17e2de03cad861f461193efed7950794eaceeeeb34f4944e0bedf1853123557deac03457811270c7925d0c50eab2b6dbe000542fcd3dde5cc8563ecab6ace85bf1c535eed7bd67db0584bd4e911fcd3ff5c4059fe53dea7b382f953a4905d481af39beae68e418d2a4c0d75ed5949dac1327eec5bd9d0fdc4bd9ec67f38f2a74a4d38f0760d3e19eb9dc67c96fbd43f1aa8317aac62781738504a3c0dfa5c2288cbf9a412bbf50025cb4630\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 20\nmsg = 313233343030\nresult = acceptable\nsig = a7ae22473e8faca5602b9f8dd4e9a235af3c734cbcd2674f19d9234eee077068b2f65b3ed884e1fabef786a559e458e1fb62990c543f987e09ed482bab699cc2fdbb19397452ae3c080c315b65c61ba0d2088c776ac4533d3f877e9d9bd58dabdc9b557b5a2ce2e90e6a8476fdcc0e84bc2d861ec2e09b078e4ae4f32a0c7032f86f9a0e064a711999fa4dde25ed2841d874b172f6fd621c328413d4bffb3f6d8de7f1a329c816702d1ce6343f28cd024d0d81544854a455f337e10049e9b6366dcf96e7c47c1bf3ae0b9f041017530d319cff6a83c7b4b073f6b2a0034698631b3b103bc296773602c198f17b9233b6b8360863a716ae1b5ba54efc7835301d\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 21\nmsg = 313233343030\nresult = acceptable\nsig = 432ec7a685060666df6bac3f47d8cb960a70b1f8fd4f161da5b3cfb8fd44f83442a1ba43ca8e748a59c6c7ed7924dc0012bbefb69c97750d8d9144b4cbde2394f4b90502c1d8d047355a51265913838ee974f2386ad4653195", + "5dee655b72d470456c8cd67467c905cb06b7d46ef14fc8c9cdb70a4d90820cd80cfde02eb164542e8329dc927e199d0f2ca12cf4feb2414eb49329ba397bd2880510329718c558881891d6085211b6fab614847fbef728e961c8cb710d2e0f4d1f0b292cd372f86831c783755d149a511ce619e3ba09f41aa45a47699f266dfb8c15f90e795db4f78d97c29358a037e330ce7b59d4e34ab2e0bb84a3e8898bfce5d585b9b74f6c\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 22\nmsg = 313233343030\nresult = acceptable\nsig = 3cbc0634c9ec2732ab369624ae58c3a5c18ac10dca48732a4428a042e8b35668b119d24a5e10b5562ffcc6a5b6892a562c36828658b92037a9d48801f0694cf46535825fe450d26b55866979fe4ea2238550e64b2ae639b533a9b4c7c7c9211c8adb41e8e5d0c3c001f50d025b06af353ca11d7277129b6c3d0c3592aa1dd3e6a3371585b0cc97487a8310cc1403dd0dafb21ddf1f4983512c91f9eca9f2c83c376963a1340d4efc61f3ce23bcfed6fa01223b369f99e13003b9b9b78e54ec305569191b3dd2f7c6b53151b5e446d72b5409b18fe4ac749185feedf30e5db3096df982b76168eea32e4298b75e38caef733228a604adeffa8a878468722d36b0\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 23\nmsg = 313233343030\nresult = acceptable\nsig = 02d5a96749111200cbf977effa208876f80276dc90804910a4142399c24f46060ab148fe7817558657c459be7a59d01b1c6bed2a9d797e76d3eecf3a9099437c73de1ef1b14fa24304fb35782824e72db1adad75e0dc56e503c5a0ae29cdd55a8a6c29594153be4f69ba6dedba71dabbcfb5ac8de3b70cf82aecd6b03db4f9a0d3e7bbfb90b5b3c750e4f33cd3ecc713f8cfc15eacdb5c6e6db41dab5aed521fcc7188afdf059a7c3ebfcd2f1561baadd648cd6bdfff00b6c80130c5a3ecc3a254f8ea8f484520a0522f3aefa0fa79496b8d82117252a566fb9e191c0482398f16be513551e7a6afd9f7f2f1e89adb2627dedd96ead836a8f88e0b361ebeebfe\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 24\nmsg = 313233343030\nresult = acceptable\nsig = 97c683214a380bdc8701717ce1c4c0bd6b871fd65eb495d449ced17568b7593714f49ca8110281a1fa8b91ddbb40f85c3f0dda165bbac3ea055c8b06a0f4fb887c597b3e9082607c5c9c837d0034dc6d3a0fd4d472976b81a0792f1e31891691498c07dfab88ec72e1ae0f25467f9a4f532493d9657a0fde2f88ef648769419e269abc830e9d6b6d70b0e398cbbd05064935ff71d586f5c363640da6dcd330cf19016aaae85817311fac58f8bddb304c74e0392f2d61ef940124d6a337a3ad6be2bdaf83955474e7f0b2ca63629ef446c9355ce8f52c3c802ef3e160002ffb3824bcd25535bc2b639a4e609e3377e121b3e170e423d3f827132da216e21292ea\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc", + "6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 25\nmsg = 313233343030\nresult = acceptable\nsig = 0d9595559acb85a317dd798b6a904ec80a2f9afe5870d05e017371408b101710026e149084dd0399a23faeed59b18082dcd3ab62bd67effe619874bebfcb2d4fbfa44e754a4f1853396fdb79d712f1d3a1dd3ff6b0707b9489694dbd30d2fa92e002258d461023f1564c4964c859ed56f93ed42cc7c022d05eca29fd2b0fc2ea252b7e2a68529fe27da9a7a900f18e61fbb2dad4da8816d52746046a6515c29f63406c13634695ad07aa6d2be0abfe0b8e10788f2a3a31e68129bba1bd51cff5c980f6c45fb36041c07b4c863dfb5ee832cb5f3cd870205b23c8176777f4078b2655a0cb447ff34ced584f0e0eb4abdf2f35fc4523a52a9576c9d15b80a6d54f\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 26\nmsg = 313233343030\nresult = acceptable\nsig = 98bbf3028617ae1a57a689217ddaebf56191c686f8be8e6da7bce27fdf49af2b9d826c64a43f79fc7c603c5885b0c46ac2d175a7662d9ba3d82072069363cd93f7d3a0d61375e16b5a5ea1f18eaf7307e3cf8b27528aeab9d0a3d1900e5599d9ead68ede88e609c213be0a97642cc2dd6e6d2d6cea5b159ae35c42630fa9d8ddfd5155c3c070e12ec914273ce5304f8057eb0fcb0c595d895aabef7abaf6fa12eba65059bf2ed86b7064e9a279bf9adf94b894082760c5e9c15a29feca66e687df5b68e54f3bc0609aa778204fef7f8ea957c0ce1a883d1c8ece6b6b968b5d2c50b726c43f2882cc76f083647ca259e3cb33bdf1fe38d7bf8cf70da5dd9248fa\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 27\nmsg = 313233343030\nresult = acceptable\nsig = 740edeef36d73719e813faef24d66f1785b278106db66548d311115ef8203669d2eeccbfa7609d9f40e8bf4180612835d6cb07b7a6c70038936334e007b32d3b84fbf2d78dcfbae22dc5c6d4849e1e073392b02badb521247bff1c277cbabf1421ee9690a236efd5067aa3ee0cd7a3ec67cc80166bd928ba14b1105781a74df09928a816e4f2e66e9c5e45ded285a597bdd65159d87f54c8849291cf50d9aca1b57e612f7d4284f24eeed1277c43a8b1a7cb0a3ea988696afd0f14a0bc1d172bc19d4abbeb9339b5a7b8637a88142f04ff9b8d011f7b8fe1d37f75fe3ffcf13bca3c481d806839a520cb6e760bf21d28da20f58742f52ff5459293a70161bb73\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 28\nmsg = 313233343030\nresult = acceptable\nsig = 71065afdea905874489d3029ffe3979564b3690e980301717f29c2333aa029dc93dec41c26cebb4e28bd0b4beb5843f6b14ecd803d5e49b32", + "23174f2adeb87a69a20977d3bfd486fee88d829e07957648da5fe6c8cd72d0dd492b2242afb3e9578a415b65c9160a37501e22890a25b4638c9cf9685f49c840a04e8bd99f9029be57523e05a3e35de01c7454a06493b5249b4d5be2419a4ec166f6a50f7dfd7a5852d05a89d197dd37efaa3ecd6c27e0786532fe977d35cd65a4ec2d79db053d667e61793d0719a1432b0c0ab66fc3e5dc6eeb415774c1acd448ef95a3be4fc34083891159cf6d630bcd6d9c78eb596caebf963210684ef43a6a64d4a832251cc\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 29\nmsg = 313233343030\nresult = acceptable\nsig = 2d01cf0fd2d3f2561b34b7eac9f34564a33267a98b2ed4ec00f07197cb3332a7d0cd416e221acbe3b40e9599eca87cb54f1eed51e5cd70ebbebde573215820417bf55ce998f4121da2851fe01477c988553edd2d85f58d7a24ace99ed1bb440206cb30067dd931cabcc3e3bebde0eea9ad1825690de0c5b2022191b978484379c7aa30531d296e6351c61d6be37b04fdb6eb2f11afc47b9437b5cfbb6a6f059c9f6b23fbd64105adfc72662325b5abb446529216dbe772a3a363eeed2de26647652bba01721a5b875036a75a76665031bc26a97d416fe564ec2a9b808553929e48817b6679abe7feedd41aa9c6ed79676c772f0d8acbce65137b66f45242f31a\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 30\nmsg = 313233343030\nresult = acceptable\nsig = 552c5ea88b09b51b8653fd164ccd3ea62ab84abfe22d01092449620dcbaa86deacaaa7e40e22b16cc30113cee21b5e491c8afa3806ad39da88d2cd116b25851b57c26c6c6c8580261a90150a88928e22524e731dbf979d7ec7bf70f853fbd3f77fba86d5fd325eb41f12c28416c2125e2bcc68297bba44b41dcc9239d93e5ce9f067f93e0f817d439cd17837503bc82eb342fefa658d064b21d14c6f7ee9e0be061364b3b73e441a6b610d63e1de6627276580861b085648748bd575a33b0e75bb9bf2ef699556bcc09f1262d4bce29b8b508aae8278d9e663818f2745186c33733d9255c5a54aeee8f4180816d8fd2aa0a9b9cf22cd0ae3124eee81c477a6b6\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 31\nmsg = 313233343030\nresult = valid\nsig = 52ac571ad2a54ec76a1efc430f87a914dea50dd18bcf82892c93ef233c2b9eeb1970229f3e79086b51d9f1e61eae5b589ca3dcb140189c79e339d56e07b92e24fe61da02c395c651e6f22e9cc618592829ac07883f1edf120897b0737adfa129442404e4bcf23eafbef3439a7ddd1396f1a7ab4979e2c3baaffee936a47a4d74034f6977b9703ffa71de427c621ad5ba6d912aa2dc5e581f2999566ae0abe5a65a7a819de45cfd701c8e1bba727bd777d2102d484caf3f6ad72f400d1cf078e97759eabec691a529a3548f55779b5b9fe7c586590bd44abe003b71dec960c2cfd9098dafa329c2a75c8d94aa0cee0b91680fe3910e5239043276279c701b8aef\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464", + "ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 32\nmsg = 313233343030\nresult = valid\nsig = 58952e6e15ec300c02758a59518f619179778fde614a3e3ef742a6b9039275cc8416c26ab5fd24649ed22def7f9215994cd3ded23459ae4b31c3a24304401a8ae700a22bc270c89f4300506baf4f813396ae017a5ddb2b0477a5786d425a96e967fa350adad596f1ae0f8148311ea14836c36b39d331dffd7453c6f7e79092c13938d90b801d41569bc4d14a8497cdb4292c959663474d3c6b391e5e7ff301647afb4fdaf8bcfd39b4e6e7632dcd5de6ca12f0c22c4b2dd16a74a1e814fb334ee4647cfea98acc691e0fc18f0e4dcd9354d3a8f5a1082000dcb3ac81749bdf2184375091ab31e133216ec0cede22adead906f8595e85fce5f28a67f7d6f11249\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 33\nmsg = 313233343030\nresult = valid\nsig = 5c2ec7ab93afb7a9fe2d0e006597a075f8ee01ff04bab318a3e3c489878bcf321f681d123a7acd0e5eb01f8261a82fc3d34fce1a36560d0859d39ad9c2b8fadaa2673b7faf0c0b74eaef13f8a71f4b9729da1e3d444cbf261db415b59374842789dc60b1fbfad43daff40ebb4dbbdea400cb506ff0b75568a5e48705d75abd9b7444178da7ae901642835cabf86b22e55a5e090664a90d6a78f3e3ade7a72754fff56f2445a014928131ada477420b38951389e84bf3cfeab57e864513ca7247323af03667cd9ca926dab7eb51d24c25918f4980065ef1846cbda3a39b1020380148f70a0ce26ff43658374870b51854b99be2d3315b317efb1390c7c13e871d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 34\nmsg = 313233343030\nresult = valid\nsig = bad4437432699d9cd3799c29bcd959683b879287eac2b52c5c263f46e2488ab5e0be517ff7a5bc59a5fb217db5602107a28045f08ee9286afd3d61970fbc12feac76b12f75f17993779c8c3aed862dd681665f386610c59a4b6b0e639de5fb55e36b52baf3d9e0ac150d3ee30be85ee95580b34e47022c517a96b14b93a64c4a129def11c56b34f60353f40c813f60a924ea0391ddb2770cb00915bdf33e3cbe6f2e87840e6335b5d8dc3d1a25daa309c5644b035c46416c75460f8ed68a0081df5140cef9533b33296f6271781c2ede182002165be862a2f4d8f5c31d26dfb6dad56cdcf269b4e3143c152dcff6ec80754e22ce2edfe7879a1eb1b83077de98\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 35\nmsg = 313233343030\nresult = valid\nsig = 3b45f1326d3b0bc5101565b022541f836adb79c9e10e20478b1be6a32a54dbb62a5c56c92844f46996289f85501e1a681a29773667f42e3f0c1e79f14963213ceaa59282cb0d2", + "961139ea912faa94d3762aa928a03c88dd5678373e39d182d8690d9c9b8287622fd354bd5d288cb4bfefc7fb5a3187781339441b358b7f0be6c884868b7ec47352712297ef191ed4e55e1c8e438eed1dec2b57907933c14ed5fffb101cde6007c7823e804f79c34db429a55c2861c2c8a4606509f7be774d1adbb66f640adf16aacd61730f8095905ee9978f379dea4d233b3bb0d7a0feaf07fa85a2864014329d9d31f29cf22aa76c5c061ec41e4211fbb5fb42c8d087bb917\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 36\nmsg = 313233343030\nresult = valid\nsig = 84d30ebddeb64f5fcbe17632cbb692c1222c5fffb54e37f25bb87c9219930f5cbda0f762889a8989b8b23fc79eee17d8e590206d55b4006ee3cf4d79aac93ac5a3fc68fefa280b53368e16e95fb8629653d76991609e42ea04f19e19a5bd411b2ecf9a18de945c695407f608c05169e2e200259a6cf43014485b86d3ac10b22783fec39188d39b5960a97a414001df8381cb0c17b1ad05a3a58175202e2cd8aa6ca3131d3bc0efbc2f0d5f09925080da539b93980497816bfd042949acf31fa2705a63d7442cbe1c281328bf58a1e31ac69f96d67cc31856e22b7fafbcae2b6223e55e2c81a5fd67d74cdc8ccc5c3b6fe2d8319ba36ab2da9a8dd9720384662c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 37\nmsg = 313233343030\nresult = valid\nsig = 080c7363b801b6bc22b04978e72ba6ac9c55932431594a2f80e7aca117c51bde990f02defddeca373394829f41a9d49d62fc1593f99b169bf6f8dd4daa149eb2acf6f470932af5615e440f7b648354f081d9b82eade009f52328194eba383593b60bc50689449eb7d478679dee267ce199b3c99d4b004fe308102dccc09fe041c125d4d6c287dfba9c6c40a4a1421d5f3734f6ea09c85e994b1407ac8c7c95b0f78925b9604027a28ab2f921cf1c9feabf5300e826b383b6eb11b00b9a378cf360e760c4777cc8f4467301417ae07556483e4e47ece4e7487b188e2a2ac95d85a77586aa12537436ab2e50bf7a4fd7cd577421fa12ce6f4b69b97bf248d85866\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 38\nmsg = 313233343030\nresult = valid\nsig = 676865e033ad3a73bcecd236a125a8305413e2cc99db2225ac87f7f0bfca644d87bc6489295730b98874201f0889e688872b4c30a68a699e883ec0adc5c38eed5b90ef1ba12a930de42a9bbefdcbf3bf9cc157ca950b9e927841df138f89f874207c2595e6f7fd4039b6f094ac0a5f59ca5707da5c3230fc740a195b8db741d602d5b12dd0042869facc1e05c03905b7be9ccf0cde94426243093e1622373301542c96667f163b067b1b53db10ae401195deb9d1746748e5f491ffc7051c946a245c4c1d1c3f880fe99f09c8a90d9138dbe994785f576d79bb3eb3f4be15de46ad4a8073ccb946e284dc2ed7572d90d8a841ca0dbff4bcae1fc307fe17e87d87\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0", + "afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 39\nmsg = 313233343030\nresult = valid\nsig = 603bf778b29561fcaa54f5ff628c5d257e0212c6327e9112cab8cf2853146fb8e960601e9613f57baff8e64223cd7e0026f66188878bd35d9236e9de5f0950bba51be06eee37304081a36ef7f4f7c9404956c40d30b3a4266a3b25898f546f0f6994c54ec9497474ed04dfb3a24a4938172d877fef56c3e6e11586a5b920c1538e2f22dd4c971d933d69f5a4742e3b23e2bb56b1253b67bcce761722b9a026674398e7711f9ec0415c75c80e3bf38f6991b3963bc4b89bf3f041eb8c894ad12790db35d24c54a4d2123fb91d9bc4e9c116ace06e7b59b093d6c1cdccc067540b2c599f8f5985ff6e14da691169bce203ae8c127770f3833b0b19847cbc4f6a56\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 40\nmsg = 313233343030\nresult = valid\nsig = 8272e0864261c5bfa05f4e40a98aadee43968e9f5a7ebfd7cf39087a2b61b34f4592f00c3c18681e941fb958b446c9d98bae87944f0d41f13b3d1662bf9db1d011c926e69311e296d0dcc59e9e09e4f6c7b0a7e5f232533e02097e52fc0755ea756ba0c0ede3ae4c75f7f8966b42118d1683fb9f1e127c1e6a6a63126a0d50b1b5a59f4adbf5cb822f7b863c0f8d8fc01dc698bd70943a6231d7aa77d517be3f1fccab61c99b8fbe5e4f745029ce81c9595ec930abf7eeee6235ab2a84002471b971eb91838e13ee4b014cd91059b3975092bdb26bb435eca40ec8ae887470f1c11e32d2fca111dc254c029a2f824a8dc2824ae32a1168de2c23fb69c77647c9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 41\nmsg = 313233343030\nresult = valid\nsig = 77c77d25c39754755541409749a94fcf10b28edef92a06792feee1a5381c06aa1ed6fd46dc76bf12541120922473912bd63bb2ac17295110615e8c96039eb800a0a2504a47630852c354da0b9c44c9cc6b30fc2c5715e02425c9d573868f0eac1e97415408d4d7850230d0e02b61d237b4145c99f822c39270fed2d0c236f0128568d7ef5dd5b26d0aac7f752dd45e891e7f3289974168a6fde1c8de368d1e3f546ec4eed21200f217c9de87400d846c26ee70f459c0f87f5ae64273999b0f1bfc1b60bba4db271b3d63db27cc24b9d225c83d2043f3e3a20c088b36adc50c15a5df894a4a4875918c8dd34f91c7fc8bec50872217778992523409cd21f8b88c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 42\nmsg = 313233343030\nresult = valid\nsig = 64a9c0e6fbcea96d62da56213f2a11d922418fa1b56ae4afde7d3442c9f4013ce11ea203ca23a351609a41d5b7696bbe2f3cca01149a1a7b9c0ebf052e51167ff18bead5f2d3c2df375a2fad08a91b8c36baaed7aa58469a8f428e37e83ab04feffe49997c640bb63aef23ef40", + "8fb299aff97fce0486ca36abc6441fd52cfdccdff17857ccba6f448cb3d39b729287a6113b67946c004720b4f0bce42678e0702b0ca6096def9e4c67244b68d89a5ac8986ef6f4acb0b50065fa75410c43874844af511d6332c7db8f11988e70a7a02415261101d9e36dece79c211e26d580825a7e5358b1ac64e9fc43f381b6cff477b58d2861c73135d044432cfe34cce883\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 43\nmsg = 313233343030\nresult = valid\nsig = 26dea68e27018d3247e2a1c70796f5e025692ce3d31a6cf9eae6e0ad0941fd36f66a0ff542596ea15149708df7b88b63d77031b1a1e8e60b2221b58560141e2a3cbedf09aed29aabed1c35eb0ffb312bddd04f66acddf42a0d7130e1268d909d988bf06d465b02241096e8744b5541e15ed274e54ceb9bcd796b3c361ad7cc59d5ecee3f1131bdf9ea681e9be09d18394a64711a040fe421b8678da330c38ae6f057a5b690ba7164252938fda0c5396d49f265f7a38754edfe5294c1f092721ba263bcc334439088a0c7169d9badce5b220f2c80c44421ecef605f46c6ed9affdf3c730b266eb031f1f265003dff13066d3b1cbb12d898e6c15f34f7516dec75\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 44\nmsg = 313233343030\nresult = valid\nsig = 91ff01e79f9c9e50aea0efdbc8b2c370f3a40ad8e489601f8217ecf9d047bd8e10bda664ea986f5734ed38aaf67cd7b227e5b68dddae13cd81f9ee1b7d8248bb3042a3ca670f32c316e81e4076788420a18150cb1d4725f7a239b49ef25f458716679cb1971d39b0678c1ffe3f45d272923f3551a337871b59f4762c6e11c9665b200c5bb7fc572e0ad930a63542a1c77c0df7acb8bc3c3b0ef59ce6c2da74ee6ef4210b409e2245873e6fa24739d36c0b12e5e328ca669316fa6a4df7481a547f6e671b7028e2ea3c15ac98e742d5a8995776bd586fcc23922eca59b1497871f744b357078e8e90188a2b7224c19ba9ca4769f91e665a9cbe7de8ebf84f12c1\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 45\nmsg = 313233343030\nresult = valid\nsig = 71ab62e163e31ede946e41909ccd87186086c7d99a3459813db6e380a046cbd75e8cfcd2086f2b1db021bd54e72b88193bd38f9664af1b7f100a89c2ac851cd13d3dfe4907d26769a46a4b03256d18db21424636b671189619840737fef2d8d31f4864a7064716000c44e7ebedb6b0a3bc06e5baf01fbed82933abbc43dfbe87fa1cbf68fd30e48ed595a998fbd0ebf1cfdc35dfd8026fad023412e82322efe6182a849857a66b1cb41de7c8a4f22ca251db2714eb8aad67f8738a59602e900c5cd1604e6e12d7b05de329d3bace06e7785cd4d68ba60a2f5b976a4fd112c924e4e15cfea43cda7ce14d741fa8a0e777fb3a77c2cb7ce2680a20a6ff5f817a43\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca", + "4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 46\nmsg = 313233343030\nresult = valid\nsig = 325cacdba224071c1736adb4815a0a13dc199bac13206967894ca897402c2820fe303d2c2160ba6317fe342e8db0a2ab51b5edab4eb9035d3ccc73521db011a0f231d02429480a4398bc68bfd0e248f6f7724d2db791a0366ae25aaeab2f8ab377405f95af2dba8db349236dbe9507b17f52fdf1aad4991894e857054666e770c86ed8e62fc9bc2b6ea6d5e121ea43337277c61eee8d64f550be0aaaeeb29a18c3c9dc543ed0cc41cf0732d394fe008e5d8874f3073046189f0b6679bfe4ac65cf13de43c36073f60f110f1f397ceb1f7cb40346fefdfb0c817d32531713a04099ac6b6594181c11dd8f2c0f0b43f1d687e5b846b69283dca85a9a596bf5c112\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 47\nmsg = 313233343030\nresult = valid\nsig = 6ce19d6c6ed9218bdb0564fd490a088a3d3be80a45bff0f19c7d431bbc240fa300f562d00d25a58456ff092304e51047f5d8956cd0015ebb0eb6509156640f2ded9c003d6db49ed1d95bf74741281990f09cfed582ad7e2d6b896713e28f7d3f4fa41c798dd88ad06a8716063f0d42c55c414fb6c49205fee53a710fbbb98e7291aa07cd6f7160e1fdb5f3dc2dffe014bd91bdd450a1f0da83cb380158b9d16aa27f9c078e444e23146701bd1b42179feda1998258d45a204fce614be395413b259b5898a06379c7eb69e6fb58ea82ca72b8f231f11ed0f180d795087cdbe26aeeb2ff6d7d3eb7feaf4c2c74783c96674ad959bd5cfbb979cc450b9c0510a364\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 48\nmsg = 313233343030\nresult = valid\nsig = 2d3fc532304570b6cdd5b58b0fa7287ba336c29eec633cc5f215f4e96b2ec44c67e3b1de1386ab616975af3ce3ba93887e1b705d5e55b054e1782d50bfc0094c8b7b0f067fa250cf474ac3b42776b1c76509ca821225989c13faeb15b187231f6dbb5cdf2e1ea52cee05fc2c1f8033341caa0772017fe3a720212a7169d46467a05b4cb91ac9886f940ddc8f280d055d54a51100babd9631b2571140cb15c2e53fb3026bac02aefa46065d9c965f71adbc5d3f11f3a0500fd833a05021c95d5e7e5f3fa500f367c99595514ec221d8fb51db4c776d86bbdbd2fd82a395076bd1e12c3d0c94ed098b84d858a733e0c9a153558be90213db2b405d54df94d6c989\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 49\nmsg = 313233343030\nresult = valid\nsig = 391ac1b5a466b886378fdd220d5871292412bbd62005bc8b1f13b02c7c4f98f3578c31a30c0495294cf68dfcca12c2ea09388fe0752487aa060f93a0bffb7d7075428f193f673c43d60fba94bcf2a8b6297d2207fb5db7abb23885fb8b4f858c7a395c5e9731840d17d7ab749dd0f5511ff8529b9461989dccd126bd442e8cf5c56e20c27a8869a6b576ef771520912347099b", + "566ee588eac583a595a333102783c0f993e0eca3f55af1adab66790e5dff1cbcb2f549c5e085317afc8afa181424f2ff252eccf643af509cfe8778872107b4825968acd5271a36d4b83050f11afb34afc4a0cf073204187c1b7e81832500c2b5cc32f123644d9d97f24769c8d7\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 50\nmsg = 313233343030\nresult = valid\nsig = 2a6cfd3112b2dcd37aa4fa4ef9ddb13ed713960cb062653656937b807c5ccf80c5bcd205ba314a5307bdcf58279afb16be1b9b038c93ab4d5d5b96de1c042b66e44bedf4f5c72d7564e3f190f4654211eb7471315b512f896dd315f00b4d1952c0c0b70e489cec2cabeaa58123cf000d4653228c7246952e02400bda062d16c37d5790e4aeb9e78f75d0740dc48c7dd6b671e648de13e036a0265ef6c9458f72602bf5d295f468f554caea563b56d3b988615d12366d4ddb4f7ecf39fda9913dec271c9ea5f9286fa11eeafe2088a41f16cee7ed19c7330ee99a54d981b183c3da730394c8f5b90b17fd0fdd47c0260f08490b52483ebb32bb6640a890c94d85\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 51\nmsg = 313233343030\nresult = valid\nsig = 0495075a7ef7da665a8802a3dcab56cda8675e38d6378a9b5f5fbc53f9249bcf7746b2e120db4ced134124d54e62bf7aa187edc28a3384bf2516eb616c0958acb38c68f85ab671ce9f2e3e7f92a247cc4cb71d2aa536ecb24c6e3bb3fcbd8636ede677f91bc59988b01bdbbc2b986ba99082f7d2dc6e13b962f7e6e1c7208ba9b1c55dd96779f89b40178be648bbf906a68ffdfeaa0720dab84b290914667eb423a7cd70fddd4e947cea0773383c048e5e4a250ed20d31ed1730d0d1b10f7ed3401da476cf9c2d8e1bb86dc5aa1c79a5158763c5d6cf0addad25406e4632e1a85617f177f2545f7f0f60b5c297fac40a304767acffc5c098a8ed85da2ab5c766\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 52\nmsg = 313233343030\nresult = valid\nsig = ad2b4ab917b942d7172df9c51756c21fc23b3bf467f4dc9e024e89b7d6df71f099a0e0c627f12257b6b05f190ddc269206556ac5d34eb4d63f09f07b8ebcc38c3dee48acf056aff46e23f170a47acf16621a65fa3f9319e5e21c65426f9acf9ca6576efeb4e593f0ef01e6577c85be73acede78c3f43157e686a564e0a542dba8080f539556387c199089c89c9866bdfece7bbe0cb713008bf9adffa378d76e4915d1b445080977d353f2f34e9c063d67f0ef50f755f94dcf4ec4122495835024d075aabd7d65adccb1987e1e654dc2a4df0de3252b4646dd7b86a068e7d952410f1341fa49d80d6f1d09825bb2e6741d9e8b43ddebce0f81ac6df635fca3d92\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf", + "1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 53\nmsg = 313233343030\nresult = valid\nsig = 9e5a42ba80c6b91801ce6f914dc48f03bec695463313afe8306f726d1e1e0690ad33425b1f5a043f8bb1c3b474b009eba1ca67d7d9998b56b5eeef09e94358e3e3133b85a4652493253aadfb4df892d1bf73b42e2e857302bdcfc37905e37fafdc8accc26a30d0cbc1ed98d0e971170e1953b91c1de35b363c00ab4a9bb2fef45b753312717920141287a1b8264522131a522df46d5545c760c3a05ff4487542f2b351a74a7dcd8dac6e7b342a987ed65d5e1803362eea8340eb67f014d47f63e720d96738924b1529beadd86e62e20b6479eb9623f29065c8242d753080cc4de962b934e10f8eed23be8bb32ed1abb23e75949e30f58b9667e9c25cfd7972b6\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 54\nmsg = 313233343030\nresult = valid\nsig = 1c57dd4fc93dcf4fb62e082d0e861d554563203578c317cd751f017c4779a36ec6e6dae4621ac07eb506d4cd4d627e63c55534bcf2b168649add19628b0a87d455c6f74329fff663a2a9016ed3d5837c2b843b83015d203bbe25dc64075b27c0e708875eabd9aca4ea6468a2117139ad85794b9629a3b06e22a3d945123b41d1ca3b656195ee3b0d7b046dd1f28ed3b46ccad9a174da581d33997541c0d3ec589285587e340dc65c3901c40d3353de448896634698ccb1ce55e22fc3b808cba5082958492fa1997b26442f09615f869db65efef28d50a75075c76fe6f2e96fd38a7429e0746f3b20a0eb31027ee8325756b42b2286e0069e92461ba5e5a731a2\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 55\nmsg = 313233343030\nresult = valid\nsig = aaf95747bafcd968dbc2f7a719315467b1f438e3c71ea01b5b6035b9271e16a27791ec23ba7f7aa637892c9a0110cde9f3df8fab65a4b2dcfbcb827628d0988c488b9def01caa916116538d535fc955aed97830a4b6796cec61fde848d149a3612e4a815a2dfd45131a435559f48e72337c42cc104f1797262ee69709882d57809b19b927410af979c479fb1b3f65c713c8f3aac3907d2a10eec945e302bb5eb5e194363fc4ce15d25961bdd31c51339cb1037b4c86236160a0bd1bd574c52abd88265798013f1e7ace7ff4eb710d0b7726754ce14a0962d7eedbd08353574ca9bcff955ed02166cff430c34dbd44bbc927d8ffcc85fcdc685e0ad8ee82c27d9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 56\nmsg = 313233343030\nresult = valid\nsig = 48486ef632d298186388f80506bf6a12de03781adef4b778d5f616484ab5cefbb5a0a004ae15def2d82134b96c555ebb3ba9e8f7dcf2c473d6198b0a455cb027b33020ac7c7c2d10b8904c94d5ac45ba9fff42c892dc0d845cf42d4d162ea8b9a544084b6565770f3c188e8e2dbaf6861574c94e1295b51c5e13fb7d29d65d9121008870de99b4cf2160718989c9f288d90b50069de579027a624805f1356eedb6bc34ad3f4fc9519fd90e626bb0622bb701e69669724b454", + "4c584573f054dfcb79a2bf4b3b8760fc95da9096d8f56a91433081e8462c92e45b0383811581e37bf4629567c2b19f0135e341a637d866686312626b99c0885002655fc5027aff0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 57\nmsg = 313233343030\nresult = valid\nsig = 9be08bed6aec129b28159d23d0c9d3171372b44ec3385be93c5070ad0714112e88e774522a6c61874ca071dbbba2a41ae03698395943de1c0489a2902c5fbcf7790d3f6df0500b3f04b989863f6ff742954dd32469b96ffdc94086b6dd39024a1db62357ffd59e1a2687d4266581e5af3371b1c45189346b374426a8fe87363e71254a6f1e566c911f467a089dfb19cb527bb0c75e442a42ac356eeb0a60ee1fb16efb5a36076a28e36d6fcbb1ffe5b1662f6ce1be09f30c9949b8056686ab3c1d3894350ea0b12f97f350ef7c2a232dbde200d4ac74b6145a0eeaf40cc3e0b8937d4377bdb04e14730cd4830ff787110452c79f965ec4ec8b080a5bea0d0b2d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 58\nmsg = 313233343030\nresult = valid\nsig = 265f70be75fd2ca926327fc0ad87f20a9ff1a9bf9e45545b6d59cda7abbf32a5b2fb0f78a4acf772749ff038f03699f90e23e6a27df6c324b34a5a995046c72c3123f894a9014a17654337ab455a9a2942af4a31a4e5144ab708c653a9a75b949bf800f817b856a6f139b1ce02e4af27180901121ae1df5196d4c96b013f98874d9305a04bfbdad91ae365b9d39a28ca669ea20c4800af18176ea83f46e094a87998df6e14e8d6e26ffecad9127f6f8c5b96f2f192a7345617f5c563e8fbc3d870c165b87449af77186a813909716747fa0f2a487d6ead2ab67a8b81a0a4dd681298ac8b3ce607cc50d2b9fb3a4a6d4cdd92fa3d9ee3aa0d46fc5715df133d1d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 59\nmsg = 313233343030\nresult = valid\nsig = af120d2204a6680c75fbc88dc52fa817b4876f2598fb7d6673e7f423d0959656471192c034d02b8f96f82c63d44b22776ed02813dd74fdd383c70838e5139bbb328e068f31ef09c420e54e6857c77b4f2438e6778bd7e6a3b6a2163be5fdbbbbce32823a26d1c85298e7f14ccd9992a510f13e66b5c5c7170f4639b39b2e322b7b25251978801b5fda78a73d1c35c93f29766434b278c7f49acf147cb3bbb906f0ebf3c624e7b0f24cdfacd852ed594d90bbe222c17edf91ced1f6adc36ae7d4a5a2d5b81944ba5401d8285b0a95b04937ded001eae93f470600e7d9b0f74e4d39962a039cf57b6c955c1724ea8bb304faa0cefc097eec4bc5570737656a8a84\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e01", + "13d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 60\nmsg = 313233343030\nresult = valid\nsig = 285f6b301bd5d54927e3404e5e1ef8dfe90d58dec37e267478b10d2f787573025c2657665d34415932e81ece24af57329c2f54a651cbc7b791bffb0ee20343e2c341cf9ba5a0aa67184c03345d36e561f4ae18ae344414c0478c7bdba9d7fd542fdf8d5e5758295cdba159203494021e6ca674190ece2769a0c0b97c143da517ebebca3aad1933c4d89432bab197e779995e49bcb0e945fbb7dcf257c5af509f19abfa6fcbf29f4704d25aeef57ea3d4c63f0f378e5c5b8f653c5311640df57bd5cb2322d84aebf304b649e337539d47fb1491ba1b0d936cc008d06970e0c0a10d75ba0f2e0c5efc1db92830cb022056952105da83b07e25c375803b3ff536e5\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 61\nmsg = 313233343030\nresult = valid\nsig = 55d88872d2dddabe8874f8999fe1a6efdc0ee4ce38bb1057f11c8fcec2da27d238d23a8010ca9c0510c3df12a638fae0c0d64ab83a8b43cae24b154f1b8632dbef8726db103bfde6d33f8253512388557ac502dc90cc173c9ac82a501ed534d4c57fef7ef68d320897fa882ef90ae32b29d379c39b4a8971c46ab9366e39db2c2ff180cc6259cac703330dc2f80ba398e4eb7bd70175aa4847d0e643a8d97ef6abddd239155cfb780ca228985235d0c91188572902c491aa011d9348517c370b5bd60dd9a9598997a5fc763267d2000e2728edefe4509d98f7197c487d0e42951fa92acd621fbffdcb595b20f8cb53c6f1935f535d7f0282837e4d03e188b823\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 62\nmsg = 313233343030\nresult = valid\nsig = 977049eb468411cb4b4745d1804dce61aad8038be0bfdda3d6e6e7f235503100505b6f86ab432cb2ed28bb57358c95042f71b8f9e5221166dafdb9281eeeb79f790f8f9e2b0a19e50b8459eb54f85695b1929ba66520d46203814c74900ec3cc546dd681e35afe3b55e3ec1ab719513dee7e9a9b5568e9bb8e342aa3de2d4ae883e9f0c4dce2c9fccb68ac09d5a260a0f4b948bfe5a03043aced68af31f854dfdd5d42047dee19b71d114bdf823bf4b03c5513b5ed2bf333e323048ddf332ec284c7d31ec032cade848d0d4e8a0121264ecb2325a29b56ce5c168cb9652d31305547dfa281457b16640f3e5d283b3fde108b67cdbd6b2005af93d008be4ec46e\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 63\nmsg = 313233343030\nresult = valid\nsig = 4ca8cf2d7817643e14484d757f0853625613984728c9e483efdc16eeec616d3c551212107a9cab91796185bd7e60f661a5f2f17e82b9f34c0c55197eb5e2b7d74b8cff00caee33083bc69aa66027a3e68180817fc065dd5a5eb2e11626bf97c0ca44b70c18b0a0a70ffa628d86aa8b45e718702cc5d15854d51baf34fd637be3e201c39ac3db412bef0137951bdf74a43c7dbf5956207693c40c9578f5edf408b43bb1d078003082592fab58860a3d9a38d6d5aee051e5be85bbea791f57d68a7c4127b7d7f5dce2ea211cc35f367d7b0a561f8ae63c37101748fdfd890d616426", + "690c5b6cea817c219b9165ba6784f9edaf8aba7082f912940254d7b7921212\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 64\nmsg = 313233343030\nresult = valid\nsig = 6ba6eaed9a00575e0ad5cf4ade39dbf0bc6b8f50e7d2a892d626ee6751b6a360a703904d3a11596b10473a8030ab5992dcca8932dea1eae7e3c88829702530301fd85f5be515216f23c39e70b46b256a06d392f13edb5431fd6bbe4b77445db03fb4706adb22105a7ce3c6bd1a537aa3d3bd3e264e15bb68daa88c0db01c2707a2aa7af4b055097b68e7c0e6749214478ec91f1104ef2b513a22316476de696b14090f6a3e36a562fdab5e3c682708c88017a077154fef4fb84611b9df8e3b5db55f9dcb0dd5d2d797d8117a4db392c62f432ae24facf99eddc78c41081de9ceed9f651769e44cba098babf7a78f1992a53fe318879417ff3cd8a5f04e66945c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 65\nmsg = 313233343030\nresult = valid\nsig = 5bbbdc57a45e5fd5a0dcf03b76c06edb2066f9205eda2facdf5120dc6bf93c8e969d714a9ce71104f2b9455d6c6c3b6489a41e578fff9247de07ccf307961b34f454df5fb40ca98a4a0ceba8f705e60afa02c945f8ced0b6daca87acb6ad081098deb1419cc7bacb407bf52559440a69c0ca2af1738b266e2c14fb26bbeb9ae1f415b27b31e36e59026066b2674d60516b8c06b70fc8194d86bc8a5514e9e73dfb29ee959f2c857f33dd0f672e35f13b60185c8cfbb3af23badb9271e40dc1d4374562d88277ce0600b18e634b127d3bb2f5e1264dd9a3c188be38089617344a01efe47e1fb442d747bf5862c409c14327b2e3b8ee065a03764b026d08983ac0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 66\nmsg = 313233343030\nresult = valid\nsig = 4d34e818a3cae7ea179c057aca683ba99e347f661e5a931e702a75e9b8593c888461f8057fd719b4cc57dd674da0daae36972c5418205c87840470cc090d99714aa2d886d246ee6b5751f683070254ce0e12303c9fe252d5ef435f558006d3bfc9d173be2fce9c580c3c6b6efd003c84de74aa6d9e31fd7b04b0fa2f0d6bad247a3c28f157276f525eae16b058936cd91f665ae1858b2c00b778aa42b97aafb5bcb38e577da899c0390a7619339e2eb487265b6e660be420be199586f4124671c682a67e0ac1d31be4b458ba5ea64249e988bbbb67a59bc62d3d827b355f3b0e4ed32ab2078389653bac1861586e2ce2b49e423fe5832c49f7e04a53c6a72997\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961", + "dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 67\nmsg = 313233343030\nresult = valid\nsig = a4b028e9ce76e68732edd1534e6c50df0fb88de211686858b815f93f899955d91cacb434ead4755f6b2ba64a305e656c31f52581e6910f1b3c3e941baa76ebfb5b08b8544da46f5d557b6baea4b206aa4b03b47f0fb3c4dbb38a6dee18b6e621d26a108b107cf24c00b6f5e9ba2aa98f7afe7ae96e45d073f36d57d8d38e4ec8ebaf00374f9b2a4a2a53dd7a4e5fb0879498240abdf366ffc731ec56cc89cc9657ef0f6eda0cf39c0846be2b8b1dbb681ebe31b20f851e962891d55fc62050a5fa012949ce584af8c9ef5b795f0a4c0a426450d71161638d80a49a842fe76dd320716910a81dd9edbc10717eec8afcb22a590541daadf0bfcd117deebfb2d409\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 68\nmsg = 313233343030\nresult = valid\nsig = 8e835e05ce0b0a5d4b00b8ae5ca60ca6a6f654274d0d1db9f32ebdd91f526cb69bf2508006db1e559489efea6b3b202a70ae72757aa13603fbef69083efdc39a1b762e355f22603860a2b12e69ea5086583eb61d754e5f70812eb3589217bfc41fe4fcacedff8fc146e3ec10f5e06c127f41ebaea7c4e82b3ef6e786886a80ec51189ac5c4d9319ccf50d9ab4b93661768fa2730f8d91a7892d5b72872d69de29c39771e8174ef0a60faa4491eaebdd651c9f2048d800fd6ee5e0b897e7cd962639911943f5401dfb44354a435f353648ebead13dcabd62657074b448c0db9c9a47d8b863b93812e18738c490992e6b16f957cf769fd301a2d609243de926e9b\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 69\nmsg = 313233343030\nresult = valid\nsig = 9a0006356a9971ac48b80da03247b0ac9d4eb99bfb7a59c730b707d16a823d31d8c64622f27c0184aee75235c0abd91625a18d0d17f7dda988232257b64727cfecaee137a9a2e033942139ec4c076d16476bb406be43805efd6398e0de37f1b974de2824c39bf61b35af0f4936a00d0f2c078ba815ded518b073cd4a36c8c1c16791bc78a222fcd877504935faedc3da6378b401247c6cbadeebc823fb2f516392d3706f92fde0d519c48a3ca2842007257adffa1fa8927e90e93cbb8d2ea175a6c083f4ee3640f7f7138bf63ccceddab07b2aed7639c2e1a2bba5122e4588a7e695020a3b521e1be3f299ca9996cea0a1ac8f7abf29a13d36732b934404f3be\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 70\nmsg = 313233343030\nresult = valid\nsig = 515eea496a899f1b6f84d8ae1a31390ff4e4c889e0ee2525b2e9d656b51ce60889ec9745a25d908e3e93b10d1775f60f638557e6bae1a9dda1491b26aa038dec60bc0030be3e23b45fb1f55e800f4eefcea448fa8978f144a4264a3b79dddfbcc033fbb987b6f849a91b2a28ff193db1ba715a157026fa442b851369e7e4c086aad5df0e2c9a4b598c4505e5703cb9e2ab0ab8b9c5e7266f84a8e998fbc799ea2f4e0de0db5b97161c7215c246b006c4f3ac9aa973df2aea96661a367d7b09b109d6912cfa84185947298f65274dfe9ada215b172693cd75bd9e0008f07dee6ed159933fdc6940f5a31e5d31f27b84f04d6241ccf440e1ce534c8f16f6f287d9\n\n[e = 010001]\n[key", + "Asn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 71\nmsg = 313233343030\nresult = valid\nsig = 85391950b1f67e9bec6620913bab3792b34285ca2850c2d6767452330c5dd76312483a50d3948a1d721f6de83ef915c67213e0bfe8dcb307905e68103b71f16bb96328e44f4bc61f7fd6d994abea65b774559dfdd3dbcfff7608855fb74d91b3c8397b42f5fec313abd9dc599f0091b419845944a49149ec41ec526e9f5291904ea68aa6d974dc0f771b7aa78bec702601e83d3f24bb3ef48a7712f48dc6e2fb0ec718d7dd0c035f9535b86eafe1c87270f5782f68197ec90dd256ad79efb0f52c1fd376e8a980b681985dfbe995406c17cf919f49ee3122d79eb94586942cdd2cb9fdafc870081e6bc93d90cc5755812c818f1605d652552f9eeefbb8d46819\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 72\nmsg = 313233343030\nresult = valid\nsig = 058cf56a97bc8c274af169b3918df40c88df6f1514903eb467a14ea7d264ca79f56a76b236f60f3eb30fd349c08dd8066aba5983f8a9c2086dcc3e66839f33805e11ca2a39d929508b296fa477293cd6d3314cad77f4757f4c2a59b8946d0a12efe19ee0b534cf6f709ddfd302a9109b5d1caa95b02f903dad6052be22d46f84ece5d3d683fb9689a7e2d1161833d98116de414c8350e48c8ec41902785641c190bf1a14bc5980a5f650bdb1c401ae1be6aca24d5ce8d911d76617c260a5d744ea9ffb50829c3da1c4dec0de3a68dd37e0bc6e8bfb30c2d91201afff113e78a739f074f1725137cb39a62bb130bb5c7c9921cdd5431c078f09d30b2060fbb900\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 73\nmsg = 313233343030\nresult = valid\nsig = 03f634b2c133e157c7955445082102a69228131ec6fdb9840af28ab45c62e20cf832c055418b665a4958c02ead8ce77d62852dc77b8e427bf0326653df718ef84117af503868cc7aff3c4bcbbbe6e69c3e5b14de31095e3b3b43701329a574c7e2c64ecbe08f3cffb0429ba429e83c206625b9be1185bc5df34ba5a58fb20e655972faf6c0f55a94db6cfe975e4506c6ce4572ae5bd196e2b108ca9622b9bbc315193697858094bb8007d8c007674034375cb1d4092e28262216aa44d12edadd1262291cd085eb8d892ae461ae6c227ee91b7be1521f53b332e1c6bf7a3797c92cc86b738d306553bef975ee7fc6f0a968186de390046ce1f51fab68bdaf4ea0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0", + "0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 74\nmsg = 313233343030\nresult = valid\nsig = 46dd15af9e3e221e85d682f4942a8c7e4d31a3bbaa909f48e041b3f582a9e799e9125e6b5c6fc35716e73da6a707f8a2c59c49ac0f4f140715b9c51a6e07172c5c9675f3abcc60a46dc671e866de78c238dba6f34e24c15578ce9d9869a915056c550bd632e49ee78067a7d20c597797c5628048d8286218d1291e759b49e6fdbd617e78d00d8953741c261bc5ee0f27cc61719057c5494234e453aea6c086fc6b63cd21d1da0d160db4a1b80e94f19f14f5d3e8c5291926bc815a378e8cf8b2b3036b02549854bcc0ab0634d0b9e70570a8fc732ce0f12ad927e67356f9454ef5f1e5f89766bc8867693beb4e852e6f2c19ad88e33a435548bd8e840dcf84e9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 75\nmsg = 313233343030\nresult = valid\nsig = a1f187aaa6f2c383b5b88fcd59d80a58475bffeb05049e71096b0e396ad6168b4f98d2be393753469dd48107e119eda73bc7ddd7830a7772d19cb7d799201b534361ed52ae91909c2efb355ede49f16ca7648b21a0c4a1746ec5bb48cce5b11adca074d79f1252e906331eee3abafa6f985205f9c64dce2a954ade4e600f30d154494be677141e4efa12e5fa86e79cf939149bc30e73627407455622515064b5b3a7e3f2816d67ef59eb499c9cf92b0f9f78a4b21ef7c32dde4cb89461f6c7280dd9d90c403c0dad486c22f039a16524a31644b635f05bdb615ffab67df491783c5c85ca19d935294c6d458a65ffb065229f408596b0be0327d5af052845bd6b\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 76\nmsg = 313233343030\nresult = valid\nsig = 3eb30e9c91fe7f0c0da8041f7441bb3ffd542e63a8519705a9941883aa13cc5ff4d5c14263605687778edbb8c9dddd4828524342879a6c8bfa6203d85e338de351608ddc987bcb510590276ea691728d5c94028e10fd47f209c4e4be369ffdad3a0483cf6c8704af3288e1b4b7f4ff9deae00f54bcd068347ddfef7c3bd1e2d05be8e87b52c8f348806898f0cef7f494e2c2ad3fffc73a39d5531c629efc0a63604c4173af03ad73cd71cf8ffa79a5cb8cc10efa66004237a342899bfa81f5a47e76776c9a626d49c6bcb051b168357d5ab4b7e51c1142c86ab4e52a6b3bdf85cae768841396da036a733fc15857078ea563635ccf5b366499c550c63dbc449d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 77\nmsg = 313233343030\nresult = valid\nsig = b261dbd4e96d7508686709dec566282ca192a0bdd1f37aea4d0530e07734cdd664d933906ea5bbb8616d1ca5b8e893ea85c613e6ec6fc94f4fb500bae6b356af8419f55ccc006781f6916190e50f411bd0c0bcfb729d2b271a4b1b30a80f53dcd9393950e595a2116e27be9b2ca1465e0eb5dff2d8f9d524c70d06127d9bd160eade8328452967739cd5e372e56ea098a662e8f5868614e0834cd380e7481952428cffb9e15daa66406c025acac8a73d63863fe3192c1eb9806d42f4add9a2c9c608c763efb64561c2178f90f46b34dd967fe6b0907bb13d2a13450128c43c8b4569778a1016495ec317dc21475705d6f95843bfb5f8f1029d2f257905ad82b8\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb", + "69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 78\nmsg = 313233343030\nresult = valid\nsig = af289127c72413c318120f8a55752cee713e81786ad2002fe51db89e18fa0ae98afbab320853da32aff8efd5d07c9e9edc8211c53d6cab61e4e02827cc80b0ccdb8ce3a5984bc7810b284384eb6afbbfbdae51ef15537893737a46a750b71a248a257d4e15080201837a69cffb5a1eaa2ba31549ab2737fcfbf8833db9692db50cac6d22d01379aebb00ee43505bcc4c151a84cd5b1da9d58122385d1aca9cbc3cbd6e4568b8efb51f862d170315ab3172c40dc36e871a10f6cd88bfce13b384653738875acc2ad47e5110fcd7702a1737ef459cb49d70d3df4e6f29d2bd6c8020c4c77c3124fd5d53be435b0dbe8eab6a70fe120c5de89717290cb8052aa405\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 79\nmsg = 313233343030\nresult = valid\nsig = 5e6d645c45e43e756bd8299a63110e9afd6e8055b1759f29058208787222d04942da32b858cc355c089cae77751826d13fd6edd8b73d3d93e10558aea863af16c739980ce381fb092eda4ec6b0fa0f40d91ef98b3b855e557e6fbcc15ee46059b75014565fcb826f4f51662fe37f42bae43a628d70f0d8b49fa2e00fea84a22091669b9601964f7dd9eecdc1b539437ca1ec1915499c5cd5f6ffb38e9585c8baf39a283231691658d5a1cfb1befeff4a005804d050c339a681ba27175d4037a8eec6cb882972cc0a408a0081958d2ef13de4f2cd0402a1c6282eab0a8ce418e83f7f5e3880e88d115202c4c481a09d15c79d7388c2561cc724d9ca94e1f33b47\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 80\nmsg = 313233343030\nresult = valid\nsig = 47b07a933329375d1003bb984be0e9a0c3b6c736768f5bc36bd314b9365b525f5f55185e49f4383125bd01f2eafdbda9d1e8b51e0cf5735e5ae36bbcdff9f7e8f6e2449b4d58477a4c9e57f83778be2c7be22b7ef0d5ae540a87b9b7ea123372f09f8ea111ef1816472af9b391122745accf09e0f652aa58a6e79d4081eb3fade4f4ffbb3506c4aa9b8d00f793c4173636ace4f727e7adfa59a40940bfa652ee6faa6dc6b6cc16d9ab34782951a099f33636e810776f212924c9a4b4788a20f2106b8a61529aecca14701738eee59a1d0c46c82b902f5e4957772b9918db556c0bb200321b5d7516d5b0a7b67f9427db0d7da1deacde2ce7008adb8bd4f12542\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34", + "fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 81\nmsg = 313233343030\nresult = valid\nsig = 8b9b86bc3d9f34d2514b54928a542be358c22574ea01e254526cb569841b55d429f4fc190e7a4aa526781e439671acd1189d263a8d7cc8dac7f0978a091ee4455c030ab325ba55adde20ff5b4bdf9c32b9d48ffd5c05e6b643cf7c2827befcbb745cbd305b6efe6d38a69a9e44faa81a1b8481cb141a72d52fb7bd01bfc3db962ac79093931c2fdde0156db7ffa0da461ac9474419ddd27b79ceb55dbbc5cec9d957c4967d3dd2fb9d43f2aea8b254a7428c0e0aa93835bdb82634d125e3041ca999bce5eac7f0b28f87eaae8dc19ea312085c75c72d743e8a6f9c20fd659b0534ea76be885758560abf0de446f975f5689ac83fdbce309afce89f68d551383a\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 82\nmsg = 313233343030\nresult = valid\nsig = 67b898d0a5794d80c30fb977e4ec96933fd088df58b2094c9e5dda132bd23fea5820da6dc0eca9cb9f7af7cfdec61b94c05e004a7d1ef18310e716b70ef15fb2e33c856ac0b18580a735eba59b5183491912ee386f7b498370decba37ace8c50608b5dcea22678b5e5db20d06fe25c554ca2d29b25d13c3cbc981a8c9afbe73cd260c9dffb9f3561af8a9b459955072f31621a20941990b04f27e1f88e86c3dc8915fea08aacb41c24284e0ea5bbfa1a7cc09ee786dd0eb2de28392ff15604b10d55f0959a11ad2a895b910cee367764c61daaafa49d60fe951d8e143a1d1453843cae84808bdcb52919a4954573506cb69ee93167c16a0d8dfe89527cc5108c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 83\nmsg = 313233343030\nresult = valid\nsig = 5fd7bd964b097ccf7daf5dcda4946d8969d6140ec7f4208b2593d36f0ccdd94e191b85d3c63dc56b4979b3193122ba3e122b6cd687ff535ae6b78635641173ae76e32ba6cb50384a2560600103cb9f2c1e540c5f73d1434535c8ada6f62ad830838d096df9afcc8ee129f2b3dca499aae25965cc068c2be9b19d3cd4e8c5c7aa69b6c8a6dad86678edb82e906617794baaa0577876ca26ca7b637d6d4133a371eb7a32c42ac0431bf6611ab66d5621c5ad4a94f2ce680b4a8c21f7a2c1a66cfee9a802362041329fd6e1fd66e7175569550bb865f38e6c1803829c537e2ae0049dbb5509cd4e0537b7e1a03eca9b5825f90c091f81c480dd19f086632b0cb338\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 84\nmsg = 313233343030\nresult = valid\nsig = ad477628385ba60a8c098232fc75e7d4631b5bbfff1c90eeb9f7a9628ea33a808c3b46d86af5c10d6c15cb8827e9404db420aaa18669d3110c3af01375dc9179e6ed900fc0493ce1a470822e23a2935d6240f6ac0e965d8d1d3aefb73e34572db3e807ca0732f4088fea9fb001b17f5c2e575f502f17d056c72c139ba1b9b44403684e25f60ce9427933d9c044757f7dd1f533f7239a7e0c8ad90a4b564cf304a928b5f0a30253d3a4c9f38a872dfbd3af0bba3a4893ce4fb9cbb082f25c2d700cc1b1bd57537abb01cd9dc4ed472ee3d6e5dd1e4604ac118d6d1210d5d35c583e4dbc93ea9f804204d81f509e4feabddee9cce6877d4d9b79de13e08ac01080\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc", + "20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 85\nmsg = 313233343030\nresult = valid\nsig = 3bb2c2b51524d29a8d6a11ec47faee62599f2a310ce42d578725d19d050c1051a1bdd65ecd7e4f1c6e4bfa0434626f933bfcc1532bbbee1ad9b83aa888d51f92f35795a46d06c81970a6f6f8cb0f72a57e62b33e64517c1b2625b11458213919f4b96ea4956143d8d658bdc7f5600dd0f301bc7a85a5f785c91cb345413fc1b1ae9499c68739ab963388db47f7cc816bb53f8169cc8f8ae27f7cec4b4366ff2ac14a5273eab9215a2815fb71c45a274bd4c11d0a7a721501e41f30193130e7fcc150b5c54df4728bf72f667de4f3a8cf6fd62faebf1c2fcf33dfcd694120532c7a638a6f1da9846c36b2c2cfbfcb8782655c743d9d324b4fa88bcd16997f3c2b\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 86\nmsg = 313233343030\nresult = valid\nsig = 275e2235dba328642b7e5a789203119e49012c0006858d0143dd571c67ef8757c3d90f640bc0c73532889dd7739cb023505bbb6f64fff8872aa2274fdbdf1a698ce03aa24e0f985c8e503d093bb138388ae98dd16e9e3f1dbe65a9f313b26dc8d35c527929dc1fc6c387be538a13c97de30a8460ecdb87891e233c826be75cc7f598fec0301dfbe3234b2940d61e93b2e4e6091c19671b7f07033c9f1c6ee90eb99abedc9d6a39aee952329f34d617fb106cfcf6e95fc867f2d991ca30168d08259b12dc974fc74eb5b03f9209d208896b88d0191dab425b7e9ed0c0b6e598e7284b51bb276c46c1b4b60f6c92b1177832ab26b69fc579e7312cb0114576d11c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 87\nmsg = 313233343030\nresult = valid\nsig = 28b91acc263bfa8e50742e54f6a7cf9ead9cc0ed81ef2a063caea8c8055f00d1d1cb897f84f3f832300031d7293c98616a994b2944a4e2bf4765c573ef8aa26db4b9555b55194d2a50985332c0b3e449253454a2b17adaf293bc5ec52d6fe95b6b7bd997741729bc5ed68c2b53e426f4f27b533b765cc58657133566793356e6c4ef8f4a8a0192f2501116baea02a11c7facb9c602eca510e4cd2066bdafc2789f13ed959e44cb3f34f7476e746c6f3d78eadc7d0152fb37428d0d97b52a9f90e47f74b65c3c0ee0f353968c703972262c175f89536e8ab3c26906525d430aaa82d2aeb34ffa70d39cc777bb03e87cd5e5c8f93d37e291192a4f333bc857e714\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6", + "edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 88\nmsg = 313233343030\nresult = valid\nsig = 05d62a19dd4bc8fcd622cd55d6762f7f46f9928b1b1806c92591d432c4fcba91ef9c834c7d99fc0583634d77f7d2a6cf8ca525fbb3ac037b0df8c3fb7da46044c7a54780f9f83aa897d51717c44de91c7f2605a40b3165da8fd92eec6d8bb6612226cf7fcd4c918b7cad68858eb0bddf70d5823986cb580bcb3d274097911acc1dcbb61c9c77daec84251f0233749b6bb03ba5905ac29c6f8485ef9e67c6290c862490bf49dcf4153961abcbcbb30e17169f9465cb71f84873675d9b71f5c04b44dca8bd2501b753869e04328c0095fd4bcfb059324c4e8a08900d2012e25bdf56853fff41e333a552bd1eacbe384909da86845f960d31e8ce570770f174d714\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 89\nmsg = 313233343030\nresult = valid\nsig = 03b0cd1b267805404dad5ddae2cd341ad2d4d4ec35c764ef7205e1a6f0e437ad41990baf569b9b072a2e4d41a8c969c688a586bed3da319ee471f4abb6d4a0ab452eec6e5ed67e6c138befa3b8784af91f158185b11c1ba141bb5d2bb9ab8a759139d19fedb2af16b230a4ca00da9f6f9908194f9202746fa51a1c3372d4f3ef58f61889b67380ade4bbd53a0273d27a37764d5aeeb06d2bd96398d5d2c6f5c7b9718313598aaf881d98262e67d709aac76b6d397727df2c607f7b682adb76cf9b8e58ef64de1cd815a36bafc79b270acc30aa8a184f299ef217cdd630d2026a865821f29d82b8ee8e4055ad45e7388d03a5f319158895ed803e57c3c3b11049\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 90\nmsg = 313233343030\nresult = valid\nsig = 7c9132adaaa0592b7bd0f8b4de70b28c5f3a04cd777e90e82758b95f368d6f7bda039e134ec383c5cd15e67eb75df41c03bab87d60937d5088272392e11e26dab51afcd73c00c0e167fbb5d4bd6939691788603386b8cc90458679111faf4af273b3b32f4ac3790cb4f4d88b362d11b8f7897472ba3c8a6963fb7f708bf6c44a5467646c3972719345ceeb42000603a1b9fc0063719ae44c66c6e8ca989422add2ad533465b954789181e403049411585549a44f0da9abd6af3f53d50238ebbd5f4a4e41e426255c261322d415f3e82e1bc0b889fe80a518b19079565ac7c44d79707354d15872e95e99262cd9d8185804fc923299b2baf8d40814ad9282164e\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 91\nmsg = 313233343030\nresult = valid\nsig = 83a3c6df7f928a467000185413d80212bc568ff3bb42aa5d6276c2e52bf2dbb4e44d27c7845f05791deaaa62cd1d3876473454a3a18538ab0552236ccabd63c4b7d98a2d38228c66cdfe9bc8f5d7c60ccf66321da62d2f0cdc168f95846c4bd5f70a918146bce9da84d07e2392d2e0cf5d3d9bc58e2f0f64ae92d90a6c5ba37e074f0328c4c52195c546bcc7d46c0dfdf9bce167848bdc93d34a01a4325d5c1da84492ecad974ed1d047cdd69cdabff0379f2f17a63e33b732a2648d5469c6260eb96aecd7e38892f595e3d1940830605260d2107bfd37d7db3ccf31e39404a0f646673580e0fe7cbe151d6bc522b8d532b2bdfc2418546d802c77ba88ff59c2\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a6", + "3d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 92\nmsg = 313233343030\nresult = valid\nsig = b1accf7eadc4dc201a87e535242e9d929d83d7621ee97ca27802dfbccfc5f8b968139562fb0df9ccb49178e294c5a78bf0a8c3f3239e762bc7077a9c0befa69d8904b70763cb2cca86e973924240820165aab285a313897eb034d2dd7b9c4e8e1781a8ececf01c610737443ea98628e94e8d94db6ab32687322ceb3d0cc5ae7316f7736c3fc86e8a911b30c6bb80c1bbfa33d5fa8b5d4fed13ba433f66c1c3235e4fdb2aa915141b34323e64bb39d47d3582ad2751f876d22e348e5c4eff9eb38d80dfa0a66f9df9e1f96adaba1d513903c3fbaa8e1379680015ff7fa659f265e8265c5817e742901d9e9c8c9b31e04c50e60fe4904fe9a9bacd3e133870a388\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 93\nmsg = 313233343030\nresult = valid\nsig = 393ec2b5fd66fbeac6cdfb62f43f832483c895f7a99df1d44b74155c9ec7a4174ea80f0011933d9a2988f2ecd2b140120709239ca412d2cf93da30f7626e4d2e41051a29846c4762a7971ebf015786ba720e929deb0f3ebdfcdd4dd9e08dd9dec59f31697a6e41aa20567b31aa0acce622508321a1f0ccfd6ef85c99bb371ce0298e5d501d2597b0508be6838985cb95051c1271b4c7edfbe8976e656488ff61f8ddc291c873034e32fc7ea65dc59503bb49ee279d6aa5a698da77f6ac20d63603308efc20067e903dd3414599edcfc488dc1b93e3ec4de2fca1be8772413d10ab65058f9f1da4c5abbc3e79965ead7cb06b4f0752d8725350cb84c3ace51a22\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 94\nmsg = 313233343030\nresult = valid\nsig = 59ee9757c6d77e1a29bda4c2d0c69afd89a8da8cfae62bec1f87068de3c855421d20172c080d8d5ca24f68009048ea1ba4a72c397a6178867f21f500cfd8b352e4cf02d99c5b084d6bb5001e20e0845b62d3baff8e86c5a9a8d6b5cbd90a215012bff297dedde49978c8eef69d7745c586717fcf3615f83da251af76a77b2035a3bf94f705fca89d3dfc1feaefc21a1990c9acc83ce5320112514e4f9a4bae264f0d6a100be4a44f900450afc99679f07ea0fbe8ec494131830602d571352eb8f7c51812d06b53023413ac436f27e8d9893438efa00ddbbfab975f18a25c9f189eefd90dd751ff7f36ac0ac22e1514c8fa1882af05514bd6c328028de28db79e\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948", + "973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 95\nmsg = 313233343030\nresult = valid\nsig = 3a44e84f982a227dd65ca85621eb786d89f86f698251f0e297d607e94c59ec246aab8df5601bd1dc5959768dd13320ed6a9fc5d8e2424d251dae9514bbffa8094ae48b226f87a1e62b0f50aac3de7ab50dac7434b1c72fc6b6c820e0c653d8477837ca12bd53a2435a56201667d0241dc1f5c2c3a73e4c37fb8f10cfbff239cdda5eeaead887a5055c8a2f156fbdb7b5ecd458cbb8baa3b564046147af1cfa7369ceb602e9ecf5d37af5e0a8b7936410d2dac61883e8e8613519e2c6a88286099c7a7611704052f4c1c04f9b40e64bd0cbbdb909bba13fb47cff47594b3e1451992ec0ebbd4d14eb72cd4d3684244190bf93faa3cba93edd3677fff20188d8a2\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 96\nmsg = 313233343030\nresult = valid\nsig = 4800faf5338b7795a8666a28bf8a73f33193ad207bbca13dc3f3baf6397f3762e814c237f5512c99dd1e5124892f7da09c8d2ccae562c4fdfdad929f1de8fc3c434e7a99a0e56cdceff69c00f104ffb2907a064da0e5bc625767fe23104831d545c1ef1f8267a0ffd61755bd8f520ccf797355879faa752ed8d59814aeac713f34f07d8ea803c90ed0581d753646d559a13c4a82cbe04655f5d404b26818447074f0e68012f95acfc59e341e6be59901d00b2f7f41bd034213624c4f33b3a002aca2b8447df255278700edd31d2ee272c248eb2844721444d4a38344fff28e0787c2f138ee84f7cbcc1d4ac96e354ba8baf67793f2466c4b48f39f37253e8396\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 97\nmsg = 313233343030\nresult = valid\nsig = 4068088a052a019bd405635272ed21a3bb7699ef4bd220f5da1951aa419fadf417d3f8187d49ee1fcf17f358bf4642706df684f1eacb8424ae94dc87ae4eb1073969e8f874d4972b671db37f3f59f210d50a75b6f8dcc20a2749253e799b3259f9a95ed5da971d093ce2b3f388b14778dad85b14eb404a3cb16a183cc732df393421d48fe0094395b90270bd760ff7a9fbad19d52a24aa09255d1ec098c878d18498fe9929a52f699cf7a24ad63727ba88bdb3db6ea7682a06b7004559d1f5346d10b709e5c93a8a24fb1487c532b7e7a87b143d22a2213f591e7b3959b420593e603f5beeb4454fc8dccf0bd4d3ea49c8f6ad67f3ac90aab3fc73db8ffbda2d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 98\nmsg = 313233343030\nresult = valid\nsig = b7e5e12ca4ed531ee805973691e1d971b79aea502a7416a56d14e49c301482668323ff8bdc02ab49c98ec0b2c67f6190cdc3ec548ca6fa05f94a68eaa2111f01d6e3aabd8513d3ee0a52538831ec2c58766b6e28cf7d0b561a8a2d3a54cf30a98e777469e1b2f171f8457afce2e0b61ec147dd7eee64d9535465d626092038b848b556c2d488fd6169cc1115e10dd05a4b77a0560fcef4cf3ba608dee6a33e09f00e014acc3a2e3dfeeb3128db53b1075c6922f9d90e70d0c7de60c57420668b850be0c127d2683b38ce13a6dbb7c9cb9d2beeb7e00613a1385df1088b38288081f2120e947d522a5a145b899eaedc21b9072b201d92efb8e1964858e37574cf\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a", + "5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 99\nmsg = 313233343030\nresult = valid\nsig = ab24379ba46e86c915374d26ba25217282454b255bc8a675d7b491b7d7ab763d7ca6ad735297bfce4334b72b2c74fe68cccee1b04317023ee3271ba6b674b87237f141e94c2d446fb46344bfd8823741ec931ca8105089c48eb199315dfb615e17a4aed74f9654a1cf5917050ac6a2065e2f8886f4b3fb8ac092891ba462ead334cb64c4ae1a29537ba4fb53aa6bacf521a984c7c9e0fd0eafe5fd354c75ecffb5ec356fb34f2af67593916151f219635ad7afec1ce8a779083219d7fdd1e28c9e78fa6e312ef5507b77711e2f58934b6fb43379c607f99e6b4f449a0b6c4b5c723171d63fd74a34332ec54a2d0f4d1c31090b8bd5002c981d2986fb2dd7f5f0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 100\nmsg = 313233343030\nresult = valid\nsig = 6cb2d2b7235816f9ec77704b9a92e10f6fd545222a029ebde456fe0a7f47711d26ef4012e6445fa455fdcc90525ce4b218a0cb7c0002f3331acf7155ced2b278d46bfa676661d0cb8dfda8048bd1066e46cfdcc3878b845ab0dbd9668bf10fedab8e971b6ac7b42e84ce0c7d51ade27dc317306a8e623df8ac56e15f3cf00992408f5644e17b736550af04361bc7b5dcb10da9f1f7df4415f2243baccf32b500d69dc3802060f66cd5ece6e0bbcdb9d8c1b2152d4e747e8e017889a7a9c0e71abe1dc6c8f4593cc913cfa1c68c5c85fb20db5dc27297605fcd77d81fbb9d114f5a343c0753eeabba92d3a6157925598a5c84022de9ea913a2dd2b86610456202\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 101\nmsg = 313233343030\nresult = valid\nsig = 9c6221f623e091e133f137f82c3b700c907e794ffc567e00b1515f5b7dcd6233043e804d85692c1e9cb9c4a634fd3d798b75205e599a149681fe8c8b766d3b9dfb1e50ace02f587fa903a92766182e55c82afb10893bf29ca64915477abf164d63e3c860c5330169ad4a771649ff2c38aeb36a754aa98377fe8903243dd9342c4c8d0753f5b14f05bbec3e2149f74a5863f8b29733cea10086aeff8726a0d3c5fddd037a279843e5e99130172a19d8fa8b5d8ad2815f6f06a55e413d574d4805572c6256b63e8b8eb338cf54645e5e6e853da7250450c2488acf1e7b63ddd8976b0873d01937b5bcce8cf035d41b4fa14012355c354e6ba1e3c67446325fe224\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b", + "323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 102\nmsg = 313233343030\nresult = valid\nsig = 4657d03e8657ce1d5a60d755765dc8ca3ac956cf8f9025cca0261de70c60dc3ffd3205db3cdaaa15500b652bbf82321296037e2efbfcaa903def52d1d4519df9fa9fc5d4c36912533cdd3d8c78a72c07d16b6240b86a65bde7af5bab617ed35e3b7ab46c93d9857a64cf83109afe83955ee9485184640ea7bd2d7a20345f0933856e2dfbd2ba8905c377ff832da56b9d7bcc27de96125f5c22de218ddede298c95ee20d9bd96bee608daf37adb51e7c8d221c822bf2b030dec29478c208b966b2f6968594d6918e7a8ff705938978ff56f25d008e3f7ed3c90200c5cfac5ba7009c0adda69df94621b0faaa79a23dda0af878d519769e72de127daf69fa3d62d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 103\nmsg = 313233343030\nresult = valid\nsig = 27c8b29e6cbd79a0a564b7ad856b360f8621fa91623813e671536fccb69720cd7596eb023caaa4408a480a14b1b17573d2a190530d00912c5a8430ae29be99148e3ce0a83fa5a7895fae8f2a0ea0e56911e69efc5668018b4fdcd7ac6c147713780b35950ceca07062640fa8b2c946c7dfdb09f69c28e6054dbd25de807f4ed750985d5c21059328a0da9ed8ccb277d473c6a78f873d83a5dab3675f6883a73103d998bcec6e91150338c9b09b847e65c430a64337306f9af9ccc65576224d405764c239e2b1faa375d92cacd09bb6a0ec2ce61615e4319ae1e49183cb0f9647b450497ae900fbbe22de24b31e0f2cb0c5b26de13699225534c218b08e4d425d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 104\nmsg = 313233343030\nresult = valid\nsig = 3e4ae7fe4888ff711a348489a4770abfca50ed0b60ba39c6101972c96dca5428fcd6e2f43ffd493f1de41c22cdfcb327a7a3d43ff3c2218cb6c48a287b885373e8fb4cdc1c799ca256341eb577edf238821e9310f0cdbc98ca2e48f7b1dca5c1b861a6b80f246f7948c29db4b26c648f66573b4acb058c36a462f2d67fea2d23bf449b863c016f3a622320dcb3760d0da34f98a51075b15076e03523fdf370a2800255bbeebe0c0920a695c6ca7758e81ece1e199505df880b365f3b4ee897ef7d04c303322c27ded183ec0d432784b6efcdab558e214b839ca8b0cc4daaf80099f69b9791f5584f0d21ca4ff66f3acc3e5e003a6defa681ffda0a58f8db8861\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 105\nmsg = 313233343030\nresult = valid\nsig = 89e34621c15e6638469bc4e4d95243f1f0ad698e3f374dcf8bb74778f1d7edb5481b22ff1cf1f0bb30ac2f0e842816862e55c9e47b87dda5d05f0b88e02662a4e0fd456529b535893411baddfd965771857b7ca1504f0b0952f2b60f24139db821a45020911e94e8353841756fff109795914a46b126d8e39dc9c0d2ce4882f80ee843bac9060da62f01cf56a3596981120228acbb1da8f5b89415dd652b1458c21ec51cd2fdd89c391f07c15737d7485852b37bba45f27d95fd48d3062ea22019dc9088e27b25acbc486250485a7aeaa08532a5a9e07a7a7675d32a178675ce51a3a0a756180596742c8446b0383b37e86fa910e76034a2648e93a80db970f5\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c5", + "7f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 106\nmsg = 313233343030\nresult = valid\nsig = 3733f507187912655231dcf642ad9f7eddcbb6db32467a492ae3c30b61fffa2ed141fc2501d11dfe3b36ee1b10754368ef9a04c75aa2c1bfce20e0eda4e46a6d112e29827c03ddfb430f386c9b24a7fed4e8e26c7049ed09ddf231dac183d5046fc1413e86b697c1fc2eb30f13306ea049467b4ec3ac37f56ce824e6f4797640c7ec46a2d28f292824e02e5bde9dfcf9e099df06ceb4911cdc5fdba459bdb19afce8fa8cebd0c64a880655264f35201ee5b5e4ceddb64e583c1c849d6ce8d977f3e8424d37af6f5b810bdc8bdf0ac384bb0dc75856317acc12b66b0a9081ae6d2afb6eb38684df0a8708e7ca45809b98b3ed8092abd77caf38529977b9a52b8c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 107\nmsg = 313233343030\nresult = valid\nsig = 73c0eea34bccc2165128ea9141fa6f39c26fd88c5282cbc26e36b89016a6371ddacdbbabf278875000ab550949a5a26d2672e2219bd8df0ca7fd4d4257d9af6ae20ef7bce5f1b5ceb83ccab2c2e4a47a248493ae85603220a9bd3ee546013bf55cf1bd25255603e54df67e551b6078b442d188f0b25dc5ea8c33004f126320691220f515e74d3548e3a08a194786f1d42e781b0d42efeb461e2afc9304254f2c0dd85e4d80b16ba0d6f356126155bb99820f00c17d307bc7ca677c93c393ef9b2fb4bfe75e58763463909b1a3957f775f01f12ee8aba704a63014f83941c3490da4515be2d4ad1dd43934abe1535def1b3bfe58a43bb0edf296424e2e432003c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 108\nmsg = 313233343030\nresult = valid\nsig = 1768cef965b3e5ea372db44e211de05ae4b69c2ed4465084e9e55e602b4067d1058dccb02a717022f896d2fa2f6f56bf54cfaa73ec21646dddace99e3c4cd6dc2a3c9ec1a68cb91cdde9d56671ee866a3c681b867d126036811e306cc7320bb17d6a025818b468c1052661ac2475865fdeb11ffebd9521d2678fed02b9b3db221b3bf514d8d7a7798ab6bb077b94cb1bc22c541cc15a8385557e85d3c88f622e93e11193b631a331f993138368992015fd70f8cb8716822b6bf418d2438279948fc3b0641c9685f1bb853e5cea0568f7e1c040c13303cd907837b952c1e1f3eb6513888c5cad439e7206bc3f9b9355c5d91263df9f284e5f014cb2f052e4ecf6\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbb", + "c216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 109\nmsg = 313233343030\nresult = valid\nsig = 55e2a51a5399a3ec9ea0b4bec415f1c53fcfcc9e0b74cc27c80ba07463be541d21e06b4b40b6bcc3e042bfe586ec9f036862be075d84956b0d326d92ad21a150148c9def31a9004c19d888ca4b46a48532497793d9e2d61f305a14f95be6e4fa99c1b9b1feea9cef980353006d71c2cc3105fa0f430e86dfa41743b118aaff6d133d95c52f6795adb53fc0f18161f6740a240e73f8c85fc64d2e74e2338ace4d13e11e02b0f3848038fcff8392a166c581e9dd1f7b8263dfabd5e20ca7dbf01cebd551a26d85199979a8b97c171951d604e9e009ac8d19965c079aa4f09c2eeb6f1aed989260761965c4f9aa135f0ed728c684ff555b3dda4f136369d3fcb565\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 110\nmsg = 313233343030\nresult = valid\nsig = a9169a0553a8f0f904b0a4a00dcf5247f87bb8e930f180aa2a543cfcd17b07fc1d627fdb061fc6b6fbdc2baf89d3bd8b2344f3c7c5469f88484517243d168a90a963408b63a848ce9fbc8c12f358e553ed624b5ccdde8a941a4f64d29364f83bbf7ebf10b60a85d73c346c7e462e7859e4b7728930472a0b2e67eb836b4d65b20c1cda68f54c9b7cc30840b1fe634176cb8e8be03ecd2b9f32ee3cbc981f8529d5a205d0bb6d8aca576b69e6478f1c033b1bb16ef1522a7ca5ea1f7cb71230681556e3cd1ef488b42004236f9e7c0b421e04bf746670f9c1d515c23875bb980267fe66b17050304db258672b35bd552da1e4860af4f564df3056b543794cfecf\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 111\nmsg = 313233343030\nresult = valid\nsig = 0bad39cd8a9987eb8c5af65c8491f5d975ec833311d1ae98d89a4ede949b93cfcd7f45c2191f5a5def8371a2e7eb26e966374d21bd21e13c52ffa8ac4c45eccabefd0bd372389ea6f857e2d44f7ce548f2b18a6993a3ca81ea14df494e4c1646268b6e7dc3945a0618a5f4447a8309a5ccd45a8dc59bd3cac9348707355911ed09f4e2d5472da0f343be1ed908bb4462c86446bb5fd227761391c367227645ca51c4c4893735093fa508705a7157eab776a515a2e40360b50cdb273994b4e99ea5fa203aafc35490651c6e5869ad9879f17bd6e5c8b6336d0f34db6af8fa0a62bb01ab27b1d5eb5a7d18afa80b8ef3269f0849a99e0483757f3b8c93a27100b8\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 112\nmsg = 313233343030\nresult = valid\nsig = 97618c022f53f7e687c6f2e631cdccd07be804873fc70e76ba77ea7131ea25f68d41e2adc6d8d4226a07ad915341a4c05cba2ec1707b14f5edb5b92a25dc39a6418740fb47852add908f40ccc8baecc343fdfe54d222cb2f9fda5d8a64333393707bd1cd2c4a88f13ddd7595aa4db6481115aaa5a5dbb41623c45d0a4d3e4638a4bf05b86803ae607dd8f97260fc3cd9e6fe58e3dc24729cf2a797543742205b93a0f92b32305eb3e52fc762f3333c26de543befc954051c79fe2f0dc2e2b1bb855827b6c11b34141a7a9275083bd246b6174af1b758afee37216961b40e6f504a7525e99eec6c9e1012b5c4b73cf73ca10f993c6a0fcd9b07eb9053f69c1462\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c7", + "7ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 113\nmsg = 313233343030\nresult = valid\nsig = 915bf230ab9b210ab7a6c648162badd5e56024dcc783ba9993d6d2e02afd2ee48e6624e8c536545c297468fe3e4e76c05c98753310a5df84c2f478ce53783f9b61008b41c260c2b484c7daea7f67cc5f715d81b07bffaead0022419f2c085eeb69807ca189b442300be8dd3b3a71e3ec7069156d214477074965a7d6f747c5188f10ad7c26614fa48474ede7f7a8957eea89e5af57c59a615d52e0c16837cde7ac198607c35726af9d9a8e4e91725d31f47a052dc9f4114dad4101d3b21d919ec4e06fc8df0faf91eea595403927eaba5fbf3f9b6aeef4721aa9a2c899ebd6f3821770863d1dd2de4e8dcfb09978f5c920382f0a843c0607f66a780d53436822\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 114\nmsg = 313233343030\nresult = valid\nsig = 03487a274dccab65c76356abbaf1166a6b8e40bf41fc19362e609103d68b0da623ffa655cd222921deabcc783e32cd922d534c930b2012f03555698c9548b7588094b578c20c1a740a54adfb86780366ed951d01b162d059832e251b38a103394dec291bc72c982c2309918629dc656d96a89b71f57520dbe8baa25b97e68be0bbe8483c1a41cb59f027808ba22b82413c412594191c2293af570f02cc24cf3c79962a46d063bc12d9da5c1b1f562141957d049536d491b50398d2cd8d968add3fbfa8637afe36cfc0b1b4d953aaabc3f73e94fdf72ba8c06d405e224ee80c995ed7b32553dec80590f2787684e8dcd10962e3ed8280dbc2217d819b9de79aeb\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 115\nmsg = 313233343030\nresult = valid\nsig = aab6c1c447d5b10d9219633293a369348984c8614698fd7c46e636e902f4c7fe89e31ef4d4064fda55dd9cfe8461713fcdf0f6a45c88d6efeb10ce02f8d36ade589551988f49158d3d546e747be0f9e65fa1b4c202aff09b5d12feabef52e921b719cf45147ab67e6f0aa9dcbba99c1c3746cb0cd0e3509ac1eed05a2ed91afa424c6a33276245a94a9bdd183fbeac9e7d93051643784f121e13e89b95190af7c51176cf71eb832b3eb73866e897816fa9fbf703b31f1952af5dd8c68400374bece4f1baed06f19c5c5d68a1df8e328af1c8f0779bb8f805f0adb65bad6bce1c2527d4cdb89571c833f09d4375d75dae5bbe17d47608833d1041288d658e136c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4", + "825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 116\nmsg = 313233343030\nresult = valid\nsig = 1364a0181c685d561d44a5d3a735a2630035849de6eccb06bc52431c2ea69907fb08f2fd73c78ea3a849bcd48d2f62b89e370e3bb74ad3b1f9d663dd05d3c829cbd2d97cd4284bde84c293ef45bc0ff98eb47dac24f8b09dc39395da587fceec7a2f10bdef2eb0fc2fa4f01f652e6ab08986d95bfb15125ae5c26f84f11682e9ee4a6f19fb73b66cb2795127a9e98c623d8ce132310471ff6f50d1a7addb2d844c3cde7d1c7bfcfacf64b2880b50dee6a687123d313d74ff83bda1fe09b4c63115ac9c09ae8c936327b700268a3c83a56724a6a086a34afd5c8ccae9a5bc3225be35ac5d6b00f5a4c87466a2c5fa3e660126957d4cb4ebd064106c0456864ba9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 117\nmsg = 313233343030\nresult = valid\nsig = 5210d4bac85e2ba4abf39b41c891237bd36447683b9ad80e738c1933828c6428085c0d4378b544ce6bd633640c058fa3dbd1d309920140ff4768c90710cfe1031ed471bd4ce30344c5eb1acef0713b02841b612c720d24276df366f3c57e5654585f11a48fe47d19f6296dfe2f845dbd91807f2eb6d9491f2ff26ccfec4f53c9a1d48aa7d0bd7adaf94cbac583f9c18d7d6fc99b85555ebc1dcb28e8193ae25fd1b625375235e609e8e9e97bd339747231dbb28b0b16d7a285171a791130a792627d890889a582aaf6aea853a7fc214e3a6cbbfa99a7083b86b4a8e0c69e7762c72e425b7370ae5eb444df3d539c8dfcc9011eaea130f5422a5be263b5bc66ae\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 118\nmsg = 313233343030\nresult = valid\nsig = 1bb37da5ce67bdbd545d59f368b339fdf5e5eb8d2178dd36279955c9b2a97616f380983f89b958c5c845ae061f71ac54422ff3408b9219c1e4328890a6757e635dc2d4b3ff2d9dd683e48c14649c85b2329f1b4ea416459566b63fe50cff6de769cb1a68b372bd1966cbc55919f979b7293bcfd59e299c18d0cd3198ef7e6f828ccc7e06dcaac9ef109e8232ff053e9accc95d12832941e5900dc312c552b5b7bf5c005220722fbadded0d7d4e74ef00e8d531c8bfc4700b4b1880312aaabea147defedeab15114a797333221e7171394a5e73c475be06396b861fa2baf7e47e59c2b77f31d3b753669492e6ae691ece8fcb9bef2162fd86dfd89d051716ee03\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 119\nmsg = 313233343030\nresult = valid\nsig = 103f71ce6260900e6d53721819ed2df38f8e2d7a873a5efc730c16c85619b1ca180acd097d6d550fbe6452fbf0fe70c0a2299e3db88656bc347d28cd21e53c494e3c4ff28a8ce783ee842658863582b3b4473ebd435fd0b836bed51de16ccbb51308cdc953d8bfd97ab0f0c656b34c5d8c417a9206aeeaeb3b9cd2fce653ced21a140b156091754c93119fbeae5a8f868afdc7076cf65e9f1a14a6274bb49f6cb8c4f47b87055da28172176f18cac7feb463d22d841caba412f418e34a88a566d3c40ede21551a520d4bf8118840692d509fbfb18f1d005c2f54356bd51ac8202a85a163a60d885e3754c47cfca3518e7ec27b97df8242388bec5f6a41e1f0d7\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74", + "845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 120\nmsg = 313233343030\nresult = valid\nsig = 586439d37bf0268490b2c7d654b5b04418f6f62242bfb0a813a107440898bf63219518f32150e5743d7c55a1a0bdc9083aafc01729576a07f4ee4d1a12f1000a8490fa0d4dd035289a210eb587bb2e83fda1f9995712e1ee0aad7f787083b86af4913b2c5e4c54aa085d29b6b965b86e2caf70433c87ca864f94d68602fda1b547f5fcf132e6c5a341c276208485cfcc5768bf5ae467d06fd231a6b2ad1a0c7ca25d32df891f611093e9939a949e13154597025a2d9f5bae1f19bf11f6f67c37fe441627060ebc3a8b39752df16b6ae0a76f95af16cdb0e6957ef25cbf4ab89aca08ea9121d909c5b7c1b3c46757273cb44a99b026b7f939fec4f00b63e281ce\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 121\nmsg = 313233343030\nresult = valid\nsig = 65b14197a23ee775882c840a5dd631bcfebf6ec45d060d632f8ac00c3faa68d0e958dacd710674f9ebc9532dd0b2d1fa5394e69db283706929df8c206f7a8b311e14eb129bf153363a5f30b65e851535e71b9a1c46801f7591f3c16848042cc9e554e0f0ecd415252e9e61d7244bec0a8c808e35a22caf2dcd899806c0649932a0aba64d61b92a5c8be887aeb5bc50781e8969072ecdb6da96baf59d667b95c7f0d51c4e23636be837ed2c0175c5d42f931b152ecf94e8c6b06499e900c392c0f3bce47176e8507f6d239a26e45005a8d873c76de1283ef852769e13af0bbea460d81c8534bfdcc6e8699070d44837cbffaa1aeb3b72eadcfdd2923e506d30cc\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 122\nmsg = 313233343030\nresult = valid\nsig = 90ea824d128bd7c3b7719dbe79e0fe4e34660badb908a3b36836c8873e07a62086c3d163ee7b9a0b0f6baffc7df54c97dfa7c456c6b40b72cb8d040178f1e29d076febda7dcf5a652930ead66990241ec1afe5640b7297ba52e919b7a7f9e5b718c66095669f8660781da7b8183006a6a67d2dd0676711b4f96f5f71fa6d1d06c1c7abd52a932ea0580d14e1919e5acf2ac90fb55354070b43a1a42831ba288182c52060d31715f2c3febafe8e8080bc31093f7e688caa3f8d355448d95e4321c097ad27c69e8d7882261ea815b81443e8f24b371976df43a8cd7fc42d839df6645f7e5981ce16a6ba56c4270a8da6e09078de26fb4339d60ed0e376e0aaa69f\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen ", + "= 28]\n[sha = SHA-512]\n\n# tcId = 123\nmsg = 313233343030\nresult = valid\nsig = 2cbb507fa7ac718bc67365071673c813cb83d4f3bff46661051a43836a7fe52b42bcc998a8b92a5c279c133e521bde2da0ee8ac12dcb791aaddc6a28dd7b798ce7c26262d5bab10f240170349ea2a27a9eda6cc7976365e4e2502bb2682fd00db43e0ddd83db8aef14c00a272d72fb691a04da1623ef2da7d137d264025cf17f6a4198c0917b394c6f010b1b42927f40647dc2fe4cc3eea57b77249ad4b0112e328467c75454f55bd769759980f62247babc332d263086e27142926719d86379d3c1225e6561f4982148268099469015aa5aeb7a355e3d4f625b4c9f7be1fbb6acbc2c77083f3130c59adcd62b2d1ebdac296f8c31221d2601a92d220ec03d54\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 124\nmsg = 313233343030\nresult = valid\nsig = 68b59c29001b704995ea8b55ff590832ccea1187172e52aaa5b04b4bb27304097b0ea2c08f8796a3da792011185ba13c7aba58139013086dfd818b7b8a465273b7e927eae6eb4c5d057119b695a048a19047f45bacfecffc230138153afe7a0f0983a0e6676ccf0bfc8beffc7cc15781f7270e9b6a98c278699d0e1f7800fdb2e5a30902773ee1cf73ca05938c582392badd982e0b02f23afdc60a4f6a5f8d3b22435eb814d1fa3d0eb063aff7cb1f5556713c82ebe17c9b4de6a43adee9cf9bddc10979791c01cc03dd07e4554e7a2c314ddc97aff8bee5c1ce1bab287362afd44c1e300da8c1cca49b4b462b0fb83db1473ff852fd4f9d289844101dae4646\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 125\nmsg = 313233343030\nresult = valid\nsig = 1dd0ea7e25ebc9c5df19d58bdc4c9eed06c626061c42ee5b97e7d1e188d60752983f58987cc52bd87b7578c1c25a32fe78ac95186c6af64d6221c57626784953cd4989de13a84964e4064ecb1f7fa4ed7d812d41e60c901080f2cb405b73ef8dc8aa7144e8d2fe5457ed54b9aba0a1d77bc280f9324b035d0d2072ac0b630fb4dd596c92b6cce3e4b6e2be46c63f60d62f2f87626d52d34c846ffca8589776dcca43c670fe8fa816e51c45c9a7cbfd3e4fb9055b05a24d9ac22dffaeca4d8037fd453a8f35c9a118ab2d7ccc4ccd3f26c5e882b3fa93c0774067d11be315447e9daec6b65dbc830891c1a7e71e2aaad14a68d5730015ded60923b79e3023d036\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 126\nmsg = 313233343030\nresult = valid\nsig = 905f3a6f6450d1f7f202eaa68909cedd73e70422e27c6b66f3f6f057b42f0458e10afc61a537cd06b919103a89967da973ea559dc040ec18aa412de1c4fdd848fd287ff8f8743220f2ccc6d9e30898c982e445fbb986268726f4278d7952f901dedd7e586c729a4c434fc023c96e04ac9a86fc5e97b49e50e97079006cf42c54696d37282a86db2a3c02e496a4717001d3019a54b7ada3775dd3e7b690fd79f5388808449566aded7b0bddcfae9aa4f1344b940a681189f2e5403a5cbd811e308a6c0f65784ebff1fe9ee6908bde5e6f9c6392e8aa54eff69fb5521d57d7d3fe6aed5337ac73d31414c7e3a294dacd9a149eb0e42558e9a8bef9800a06d8d1ce\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d010101050003", + "82010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 127\nmsg = 313233343030\nresult = valid\nsig = 66964c2f2a3194e60ce2aa1f6fcd6f0eadcf525c6b95e2e401d7ac2f88afd0ac1fe52010d830f6a2a3859105fb98713fa188c9b68df7ce5e4d45e49c347d83cf7a1a3ede360e357bb47fb3cc31e0429c25bf5e936bc368391184fb88d6adfdc28aff2bb7fca9cae9c7e4b4ef37c61a7a5fc5d68cb12e5c56a0017b31948b4f0e0267754dc70ee92c5f8dbc3b2e7ebcdec638407e0c08c83e76eecc65f592e9a239aa303581b980f75c2630e3af8d93e8fa33f62cc461099cd9dc1f133ea1f499de3902ed3cc6732be6286168cd3f6b7b0fed005a8645fc4a5855f021302322485d9d694803c4a4275533acf2b1d5ec62ff8c98170c737f800335f84f3e9388a0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 128\nmsg = 313233343030\nresult = valid\nsig = 63e7ef511358d2a28a71bcf1e143d27623637beedecee3638b3a513dcb0f72fc56c372ce5125e46ba442d6e5e9290a6580ed3fdaaf3f51e3daa34eb32cd9ef3c8c30722f9095f6908fc6dafc22f3bd37d998baa92825cbe36ead00b5014fd50d2371d1245abfd605c6a8fd6db6362b18723c797e0ea39c2cdb3aded821a51f8f05821bfa1b6d72ff661415cca11a5dbdb611d9a74d905298f853fa2cd2b1eeb74ffcc4e2c2955fe8db6a1c2a8014918fc0e1e0c9549d74e45287742ff4bfc8a56856d0d4cf89815da4f223d3f8b243cd7a2cca428206b82e28617d9cfcd35cd029deeacac03f8ff7ef72f5010dcdd93ed07388b2482db0ab260e1022a33eaac8\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 129\nmsg = 313233343030\nresult = valid\nsig = 0b1423677cf21905e2cc0dda60e27f749c56049bb03e61794a43f37b84b2e5f247ba9bd79050c5a601a7efc2afb42a7936d543b916e24de1ca1e666add1bd51337caf4cf2f88a4c202e53cb5071d638cb41473d4c8db4126e312c711405cab1d6e05414c43b9566b3cd0b72da3d0753796a81fbc1c950c2aab48b34d5def3140e93e0a8d1023374b9687451c847cdad5544b05b09804fc9727bd46bc9a86f0aa23f4a7715a0fe9a9065782ce58a3a53c022f4fabf67146c3c919cd1069a08bd96e44746e1a49315926ee06af8d76c4339f23540b36cd8b07e14d7ff63d38461af49927b53e7496ed6beb855cd740628ec0021768293e7ba86c03cf88b2ee7926\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 130\nmsg = 313233343030\nresult = valid\nsig ", + "= 9cd79fcf9b87e3a30f538cb7cbe94d28f76b69335f6d49dfd440210a40dc811a930b76533f789f4e23905e688ec010689e27415c5600eed4da4815db1e6e70f0adc9ce47697947e0dbb23d320fc277d473d3de7abb75837e24cd9829f5993ac35a427c172f47046e485e47003bb8447f1406b14aa495ba4b4a3cf8e2caa1b44f0718a04650dbbe749bd27c0b69ee3c7fb5ee956d0d901b5e42f710d4a3e59b3e72d70604c6d7a7a4d1a3a2763648a891107d3b14988581523356295f42cf77b7cdfe3a38e55463a39557d5ec543710b9c28e27203e23bf8cd81a2e018927a623b84cf010e40d8859b304c97e0c06c67ea017d70852ba28eddbff22712738b120\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 131\nmsg = 313233343030\nresult = valid\nsig = 90cf8affc567778bb47d0b50147e51a10324639cc17b5d5958c4e318c49a22f2bc3421129a24702e1605b3f8fffefe7847f679c91a64e56ef874dec27b4540b2471e79609067c7871cc76d717945bcb558605b3eb4b33034bfd7148d591b837ac988c0cc3bb2372c9594e573a5d5c9ba5c23de5257ce8274f60fc5ecf35e8889659ecd77c2d6ac74898fdedd3c542472a6e113acac5c8aa35faa52ac0deb3ceda9f83d2441a8f441dd997426848e461c00f64ddf6d5659dbeed8681d18102c94b3be137ef926840cb47027006f5699dcfced1aaeccca848fae72b405f4e34c5ef9fe8d15fe6b565216c102aa8e9319289f2dfeac735c8a5b95f991a0fd49be04\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 132\nmsg = 313233343030\nresult = valid\nsig = 4b88759bb96d67cda87617a09d625f5bb3b7672dffe031c3b88c3d8e67dedffc7c84f0f1f754cfeb4181d0573f2a88ee4c98a10dea1a048712472c724ba81bc28984fc48169a535538c13566f3ab3d2a51b270c4b2d55e4a82292c084b4f4e6a58e473fe7f39015fbba7d34083b7bd2134ca63330f0dd1997d0453aad7dbded4b3175f9a69607a8799e7d3969280c8f5ee010bb2ec7c151ca3c8a6bf49c2ae8eaa470998f390d12a4a7c0a39371a6c63d232bc09a647750aee655a721f066560e40a6f899909e72e2c3bf52e70fbcd26a37402b1e37c2c7bd88783fafba07265985d3a7955a5bc14cd0d0d10f1e9c67f6d98785c9c1b3914a7972cc2b1eb10ff\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 133\nmsg = 313233343030\nresult = valid\nsig = 1c8818df1fd23ec704eeb6868ed1bb8419597f4128b5ffa52166458312f42cf45e710783eab39de511cae689f1d731cb4bcc825829a4773697855e7dc84c617f459dacd58272e75fd2eeb4db20d6f956033e939952614318c3bb82276bb426b55a0deac14b831e75500134298dcc05749426322ccecf10ddf3c4eb49f2ae746d44e5f3f229f9e2298312c0b9168fbdd2104216a27cc1e720cb8e28d9992d841e52f31b2a016d896529fa1cfd7755d363bea1bae565e579663e5b7e8c2b9e0b85e77d7f740232db1978a920c8358274bde475f38794864b08c0eec5bd176de52c27b10f29f3ce0c41b2ae23b091b7393997a436c158cdef76beffd200a4e443cf\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf", + "69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 134\nmsg = 313233343030\nresult = valid\nsig = 0399ea1e6bede457e1046f2363e1db44f8450cc452845c47639f300f192906b7d39acd60ab03df06d1b27d15ca473b9b0a339eb8d63ad6ef2a148b5cddcce79175015241176bac81e6b8cbf87fe256167fba8d3cf2dfd145cba2a8d118f980cf279989d3c491b73fc123d91cc99a4618d21e5ad6789818f3a99a337959adda18fb571867d3a9eb50956dabe7e6b3e64d40bfdd5d5ecf1ba2af4741d3dc2a9ae2e2222c1881da0ebec621636851c46990f24ddbff9c3cef15533a5fc1794f365415e5d948b64877053a93953490c8f250488c9933f2547a89d1cb599ee5e7f7dbea2626ed343c63eb290b1e9098269e1115a2f5995b71aa2617235fdb0666946d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 135\nmsg = 313233343030\nresult = valid\nsig = 12f0c2161b8f7b4bba16d19c4c6acecd554bd091c6148e92a24f1d73ee6fe7066fe28fc5b066dcf7391967f23786feb935002a0e6308427c613ccaccc74b9aa24e1425785cdfbd8720db37d867d35d09973cf4c9bb549b7d4ef8c85474252b1f760b1a81f79ccb540c0990e6a20d9a0eb5b6c101d558f8aa4333375dc795ee1563657a803c9a63a2fb957554d4b4bd6ba33f2a6b537c08965de4421fd83de78fa5ccdc1d9fd4597568e44f16b60afe961668a0a821b8aee5834b0d527c115abb649c73c994fc6ee641d44773192574d9f330b8664ee07261858d7b5dccbf27dc9452db31fb0e59870217c4751c5247565d2dc94568431f3451dcf6874787633e\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 136\nmsg = 313233343030\nresult = valid\nsig = 09c14c750fbf2c5536b8440173357de03ecc9018679af1ddb1a36dc5b38582c44ae5d42d7e0031f738191171baa6e72562c2915ae7046489a4863d7b86afd634c6ff44b2a9af0751fa84d5054f0a93971cd7c36b634d15489d75386edd1b15e6f9325eec84a2a7879e7c80812cfa387e5b620533e03e4504768f2a8a0816938959b1e70e8f8ca14d1f8809a398d98c155101363e32ab353d10c5e0a3fbffd692665f5b9d34a09d9082fcd1cf733e0f37aaad82a8512b66debc119899471d61b33c7f4f3d4a22a45fccfb8640bc2564e679ba4b6e06cdc05be7cc511e1205b25c4903b7641bd6ed38df4a8008636e5a716c014906d5a0caae3f3d5650ce3408d9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 137\nmsg = 313233343030\nresult = valid\nsig = 47510e3b9785b68cf1524fa9eaaceff81225dd951103507749bb49b23a4c2c5503", + "727c716719feec97b79d3e6051c34982d07ccc361842bc0c92213732c908e8639b1d98a0f7bfc34cf801f96fed23c4d5e25c0837f222ce764fe9d521e4499de93307df29ac4e5c2dc92e0ea65e97f55df7493d96265b048f24260baf8e8c3ae55f44eaffa3198bd0e6e731be13cd43f13d40e354d35c132bc8514bdeccdbb1bd6a3babd73ddb8d51db8598bac7badf1180ec2aaae8494c06c43e5d2bc988b50f2bbb72c0bf8a5529e4618bbfff5356dbb47387d0893cdd601647f46deddfbff81b60961d4c293c3139d046a526398a9cd8cf605cef5358945ff0330f113e3a\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 138\nmsg = 313233343030\nresult = valid\nsig = 14bc1a7955b30cb603f617bcdcc12405a873b1afbdfcf7792a587f1aa085ef9411cb088c34b898234704286d7f09ae1586dfa3a81d4c9662ba26674c0d5ea966184e3578c5c4a926df87d75b149ea9493f5d5600deeca05f76bc445421c25220202c154bca83a216a1d6efb0b9233eb0cb3e787be2f373de8e99996483f39c92e1ac9f18367717cc9468f6e745e25abad55743fd2b59c92f840cef0e5df47ffeb83c5800e5fd486b7516a55c7b05709eb21c8a8575e41bc567739d5f1dbe95be8d43f27769bff55fe1a4dc855cc76bccb3ccf27c68d27e3a65829b1b177015945452254f5f96a96c363ca56969201fdab187c9a6c991afc932e2991837451922\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 139\nmsg = 313233343030\nresult = valid\nsig = 49ad57af4c93b5e714a83e1af3410a9020c47dc9baf25f52c19652970bf70e918780f48c3dd59a6b816899f01d9b47b7af2821ee4ab76953a2b706118eec13f5a0f442278cba1c6b72000891e0b832dfb97c7a4e5b09971c133324213820f1c7711accaf8ed1d099221e8ff6e0042ba1b0b38257a94bb621508c584f5e39c8d4fbd512800f9483dc84f99eb2a9ba9bfbe5aaa8cfe1691cab0ad87dbc354ea49b331b26158274d348620ca01d872d929e8e01d6b9815d573b83bda1623136c55e81db7392b5daba5187a09a883d58cf0687a24d019172b843e327ae507db2dd2fd84dfd25ab04b11cd4b02215fab23bbca886279091e21ffab8d7d5ad49e16ba7\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 140\nmsg = 313233343030\nresult = valid\nsig = 8afbe33b98f8c30b36acaafb3d61bd83175499bd5961ff3ebd340bffce9a4169b59768e1e3e5913c2bb411b5bd495cc92d7c04d65816b3c13b2e3ef1fe6076dc910e75f477677e106e3d5d94a784c378ec13b66dfc1e81c2d0c8c9a9156af52a12757884be4cb9d0afc6f32c39c427766db7e3d07c6780bd5fa62c05ca32b85966ee6291e3ced00d00eff0cc51d3c19c7e1bf103db0c85ba5e9e2d130e5136f209d6cf8a7fc18670264b7f392a68c6d6e6a5d3eb370bd5a194f3a17436ff2495f373c4dbb45de9a0575aaa4a2c9da84d5f1adbe15dce341a8b3ac4e3722b0aff0b942e522d8bcf54fb0d942997568bee3324587d0afdbbe578c5b3f50d5f47f1\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8", + "980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 141\nmsg = 313233343030\nresult = valid\nsig = a91b9cb0025546f2c6696630ad22530d2b41419073541a5d13ac9b739ebd9aff8f8e87f405d5151a930df8311240d6131336a3e55d33166019be5bc97e5209551df0d5b69be224af9a15eab57ab748c081e25b9e6aa68e4db0937eb4bf190ca46689bbbfc4ea5fd4745ef3938a80404ed9dbffbdc423238404768fc513604732b9c30f97fedadd6b8e3fae4e54c574d2da6ba93eeb700541df688011c59688afd11accd6c7c2c0f0d8e5b06380588a5bd6558fafd764446920b21f43af7f9590c4c20b8b90e0acdff1ecdef4456d1c6e898b2e61e6f9ce743063c6c08d1a1182b5d58edb902af0a78e9df5ad6d84da4b5109807a2e6345698c9c879679dd6c7c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 142\nmsg = 313233343030\nresult = valid\nsig = 9a2ab2bb0264c95145d3a0970b8e66315f93ecf679e92f5fbcec1a4fb5a3f2ca0dddff5d42aeaf6cfd34e3c2a0edba2415920478be0fb23cec4f541c3ef51d4663a85d1b00f84ca069bd8405bf68902910090e3db749b5e46995b05ac28254120d8a95b6d8cb96d1bbef9e796f2cf44e6e539494d07677fadeda723704025edb0e1e48d5c26d584ac61ae3e5e363e99aaa1daed11e2cf9b637d4fd69b1177727a3205c077c1d368eaf3de56e57022629dc93b2f7bea2914036ce5f5c154fd6e216d2ead20b65efbff9ff0197432ecc01ce04993f7874853a80a8c98bc66022bfd5c40cbd8726ab3b51c84d34ac67018e6069f06c2f7b2d9c700404e9e0a23b16\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 143\nmsg = 313233343030\nresult = valid\nsig = 60683e995f60e1cf7d944eac2f0c6dc02a002e89a87b4a0a36378b6247a04456166ca2d85bb24260da59b7ae84e4191f95d15851afb8ceda6765039ef769d13efa89bf081e6cca52753e28de225015e2ff81c9b39d9bc759003a9292c892b5d9c6584cd779180048a40c75378cccec47a84b4097da02878c42423beea50fcd29a5eb7b67ed3a06eee2e05cd4236d86052bff1145a8cd5367cb15e2ccc792636f0305d90aca07d1e3c011a617f0961b938c6ce943c560c42724237ce4965ef50e7c98e52e0d18797aa65150042690dc8604f463104e114a1fbdd7e9ab2646e9c759502f2fd0e2fbd331c92bfb4168b638f4d8873e0e048cf429d8a9977e313029\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 144\nmsg = 313233343030\nresult = valid\nsig = 7dc5457f6f8aa74bc2314156e2efca717c2360d57a8c5ee396dddd6151c0cc89f356e3f14bea1478c7bb4a54620a73d558be246fa884c41314472bb9c9866fbddb5727", + "b0976593ab6c6635d8258a7dae326dbe65d203951209f8ece46a4132efcb640bcbd7990a6f0c138b456688d268150396eed52b5553f091f4888642b18580977d80680bb9c1194968bed4b0198cf72d1ed4631a6c16f6ea562c6cf344b3f8d1c2fddbcede647c91d01312b3609345d3e32df899fb981f070ed1c0740d79eb19f6d54725c006c0cfd961a2943391baa2a32e4da6dff7ed0a2a61fded39a85ee642c1e219d9ccf93faf80e2c2135b0de494f8cbcec5bb77f75148e83ba408\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 145\nmsg = 313233343030\nresult = valid\nsig = a289625f9fe684d186604fa08140f7d522dbec8ae6266ce83fba2b6bc6305e2e27bbfb346165b4e110e1b3e9445ffa8933e5417dbd87e3084835b8677ae439609616f7b755bbbad33ed0257a170a3964b85b3cdfbce43ea3c550354a92ec8e75642b039e2b4d9bc77b84c6bc7f2f2a43a0a403a1992e008786b5e9e43fbe71bee787ecd99501f1204921f61ec0ca83f1a8fb7862efe69b104d822ff5170802d510fd55cba7dcc2b695db905bce4c07a702cdecf24381f49a9b95d4805f1eb51704ea198653f43c3f124a4347ea1becd138cc3fd43e813ed823c373a35eb9060bcbb8fefb1c453c72f1f6198747577aef14ad3fe144b7d8de1bd6a123bd9f3f96\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 146\nmsg = 313233343030\nresult = valid\nsig = 740cc94a43653655eabe5a2c9f883a3784cbc5b13161e05ac0849cee39b2e8a42a0f53d14b47ff61d143584797ad0889b26de17b0c27c79a69a356e2e3eaee2b8675b0aaf68dfe682df23463b9b780f5b4d6681c00b27277e4e7839a333b022a16e7b75418fae9d5f5b3b996427d518eb1a696ac83ce6c5107efae577859b814100f19c52708481ed03d038a4cf6039f91bf72f4788dba51179e3c95c750a9432af1044f7cc758572ff11c537add14a6618d0fc1064f762485a0ffebfb0cfaceff4602367a231cee6ea2c8407bcc88267f42189c02e3438e62e3825d8667d1ae221494d4e29626caea3a7f5d2284f18862512cdd4cd9cfe1d8d57cedc9960299\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 147\nmsg = 313233343030\nresult = valid\nsig = 9a8092d3e759eac9374356b3bda80d87c6cd1f1188dc894f48bfcc2d15e99c65ffb6353510998a360f28bd636c61edda93ebb903029feae9b2c3935b2870f9a3f29e044f3ccba9a08357226d48f760158cbe5bfc0d7c0a2eaca0b1b167745bf26ea1e008e7377a085f4bd685fd5ada6602758e27541e6f270adf6d5b1a2b6c65a3757c5b3c4c29284e7cadbd39f4cfcb4253e959945651c60eab57ac0170da7ccb0c8d72e760e603c755a1b1e1356e968989cec1b9e1273ec2c572ed7dd0d0d29c0ad1e77692b0d79ec60657fc21b746168dcdf0d05a3ef1f37a4ebfb199cc167d94cc2c9b75dddf113048326797a6cfd6c9a764a6c71131e5f5654a93fc83a7\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba78", + "65dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 148\nmsg = 313233343030\nresult = valid\nsig = 3522943f158039aa68354e3c51eb6d9a496f5c7e7c33bfe9a20cf98caa710b88b18ecb6d73177787479d5064ce3deddc13f98998a7207118de77029e8fd5f012a9e056b972a974cb5b087b6564821af89ce3b64348095accdea8ad7d05cf3d21d6208365a1d2fcce7cd964295c963e5fd495448c0926de0950d12c42e056595295c4376484fd7d0dc6feef3dcb41ec5a0dd21eef375e65523bcf5af70a92331beb0c6b5ac445d6a06cbebeed0083b746b3d667aa366c647313389a2d9b61d41eaed8cf2db8b4938115700967432dcc4f383278b4a397afac04bdb7c2f5f6051854174d85fb96525c2ab7bb58c0ffb481efc29d08e4ad1a86ccfcbdcd98974862\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 149\nmsg = 313233343030\nresult = valid\nsig = 45d8ed4982ba484e0bcfca14537d607fb6c3f8f444425bca05cf29bd5f92945f0ac211ccbc78d934f6fd24131ae88483547aef01b4e70acd6f84eef74d4a2de40b4d15d38a0807087a54ece36f268a60b70c500b72fe0ff49920c63c0cbde6e0d9100f4e50ea3b5e11a595f3755878bb1e03c295d3e73f1ec32d24d629f2fb469cea48346c057abd64f6bae4cbd0fb89076a1e42bd5260cc5691fee46762136f936aed35cdb6e1579d586fc4e166fe252778a379c134562175e17eecf758c11eca66ad259aa9e51e504d0d317b1715bd224706d65418a4601612e482bf95c1e9e9278e5401bdf1ed24118b908a8e42c562a76896563fe4c04d62b8abdb61e4cb\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 150\nmsg = 313233343030\nresult = valid\nsig = 63942e89a56b634787dbf074e75b0525e8bd3b7b8172f2c27499272b939a812ce2f501eb95a64603f9bc7c2120ef2f7133c3b2a4bf6445e2257b59e57022c879f8d60667ab8e28dc972846670858fc0d5bdbfa71dff870aac96492214533383d8740d84ddf61d46f852c6bf0bfb2d10c2e4d41ce7eeaee028333dfe77650b53e66cd2c2991b80c32faa33aae27b1c30c0ae2abd759c59eb22e0d0597b6dd63491e0c95048c074b1d64d8f356e637669d90974f4eb29ca184468bc1e2d24cfcd36e395c41cf3703cdb1a5c206fbdd4763154e5569d04d75998e6f425bd42f80e0dcd8deeebc3322aa6f50aa873345d7c9a0522154b6de2387664ae33764ffb2a9\n\n", +}; +static const size_t kLen148 = 236014; + +static const char *kData148[] = { + "# Imported from Wycheproof's rsa_sig_gen_misc_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keyAsn = 30818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keysize = 1024]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = \nresult = acceptable\nsig = 03e64d148e05201b021fb5d3d72ab6abd4294be6c1673277ba5822ad2fe7ce4bb29ac547b2fdf09c2894ea0e31e76f1b3e1937db91c389467e9a8ac7be0a4f674456f01c5b4fa4277a26028b49b16e25689827d0a4b9f1c25a63350dc15131da908a05c7cfa8c08a67ac9efe3b0cd04aba7db12064cbc36729eaaec540c4bc12\nflags = SmallModulus,WeakHash\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 1d19763e80121e228ac4dbb3be8448560aac613ec74b168efe1d8a8335b77e6d8c3cc0f641de8c8e26a2aff9d32a4ab77340912fec0e60e89257b5b6b19c8deb866c2d2349fe63a06ac6b72397b478cdd4198ead64f8d36b9df29651e95ac7b886978cffbb5f7498f136b1ded7580cbcbb31620415eb71cdb5bd615b47eff813\nflags = SmallModulus,WeakHash\n\n# tcId = 3\nmsg = 54657374\nresult = acceptable\nsig = 0891ef2061c4d3377744cd7243ccc444619df533f4eadee216f7ffb9244e86d3e0162fc82c0b9502dc7aeebaf7884067e5f18f21b395c43bbfce5559ae84157ffde2aa457b7f44675e706af443acd9e38070428dfc6471a24cdc0d44f9283ac158704ad114375f10c24e3adbd12c55dabb78b8c41d3938124acc74126c82bb0b\nflags = SmallModulus,WeakHash\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 8277e8984d536f81667feeee7e24068ca5bb8b815210b3e9fa82294e11cae92c45164c9dd5683be4650e4b7709eb8879f793ae804620750b26032894e53333158f6afa6b52318e6c730a4a55d5a0fca6d029744f2ecaa2e00d3d6dffa0716acefd5c91afeda74b7f1a1bd7e635283bfa2142ace513da24eb8f25f3578a401ba7\nflags = SmallModulus,WeakHash\n\n# tcId = 5\nmsg = 4d657373616765\nresult = acceptable\nsig = b41191a7a1d11e973600e9a28c8d6e6d1513f7d970cb05ad50c686bd6fc42b7848559b2b3073a8cc9839f464d82f8a7d864cbc9698cc1a4b5b8c8103d07e9d79e5d24e1b3ab69053461bd76ac3b62935c31ef9f0c44120bf5c0a012eeedbd2a39d347cf6676ee8c81a88eb87eef2708edd793ebb79d6fced626e6475681fe73d\nflags = SmallModulus,WeakHash\n\n# tcId = 6\nmsg = 61\nresult = acceptable\nsig = 29f69d320ea3221cd0704300f456295becf54e877c2b9b2704dc47ef992588c7dcc1648d17172d8c76362c488aadb3437be488fe667a192c5db1440f70d102361d7e85ffab370c7bdaceba0d15b1f32ba0801ccddc9fbaed1323834a60d19ff13ecd46a27f06e79cb0d3aefdefc0c69d8e85fbe8761d83f35e362355ba675933\nflags = SmallModulus,WeakHash\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 9aa3040e7df724bf506881f6a92a133ff76f6a168f0f3ced70b3363835ed6b655fae6f39416555af4071c16262da7556412d9905279d666f9e15fb8a813b313d00007cef3ed2be306b9e29e6b69c2c5bebe36aa057feba44ccb6c8619076a5b23f39729ef78bd6478249f34ee99f3abeef37c504410910d1ad3f1a712c8d697e\nflags = SmallModulus,WeakHash\n\n# tcId = 8\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 1fd0610221104c3f1e7f49d4c77c48bc169e630d5471e41100ba58dbf0ee0d4731a3d5b3c8cf9b07ad116e6cf65787650fb90bc85a9c4fe9940f4754316772c4946022178a3becbaa3d9b6252ed1353f7de834e0ac6d95d5a1f81453e89650f5690dc078df80dfe8ab614ca4881e7b001f9a11a4464b1004bb537f2b99624deb\nflags = SmallModulus,WeakHash\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keyAsn = 30818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keysize = 1024]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f", + "9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 9\nmsg = \nresult = acceptable\nsig = 507e6233a3c80971daa07c13f34a532d53441e196d642fd6564b347fdceb865c55dd47330587622a30f8d4ee66bf8f163c626f8dd26b313bb4095ea1ae9d6a96a24365f4c20056998eb9d1e3f2e1c78257361e5c21e5ba76320997e8cb30021e8f11a580000891bca3537d7a2c0972e06844f1a01a1dbc9a3f8b8a2955f7005f\nflags = SmallModulus\n\n# tcId = 10\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 414de39059daab523a725efe437d688824a43689766b33136aa3e6da0a2fcf1c2aeff952605c2f1a12a29e36f282e59631f442af96c7659e0717bb24807835aa06f034906670b042f8db1cdcbf3c54e25472383b6b9097a09bfbd73b2e7c10e18731c6bad47af591bdb2d376680f6cb62048a97c19f23a70e98ddedf02786efc\nflags = SmallModulus\n\n# tcId = 11\nmsg = 54657374\nresult = acceptable\nsig = aa5d174e95f9a1ff88c1ce60b3aed1d39e256e28b0512cc4b52be1d41b8ccfa2a739945aefb5b697886f4f08cef365d18bdd8151acc588fd4ebf2aede9bdd904aa3481822206f3fedc5889c9f9889a8dd4d160d65e587ee228f9ef155108cb283c4e2a697a1e739827cb4a9790f96023e6ad24cabe51741a7c7cea8c52f08cdc\nflags = SmallModulus\n\n# tcId = 12\nmsg = 313233343030\nresult = acceptable\nsig = 54a81c62bed2f716feb2939f504db144c1c3b70485a1f35b2871ede567ffcdeb8d2ed0c57c56f21b70388d631be05b4c738e67f160f34ec42f236cef92b03d3dc8e50145b33e634a6fad8e87f84624e96feefeeaa91ddbb003c3969017dd2d102da2e7d5de8ed298139d5e503e0aaab136fb583b99ece2e6b1681699a04b977e\nflags = SmallModulus\n\n# tcId = 13\nmsg = 4d657373616765\nresult = acceptable\nsig = 11890613a8ae298c21bda95fbe4059c37426f41ceccb7bd79598c72ab4662e012f08b7009c15155b5ae9d132b4ede565963e6014241305279d60662f57df7119e5d4088d32bfc7e0847036f41ca71f9a92660f90ec13ee9e19717d0b567ec5a6b5978a11337d5ee4e9147352fb954817be04fb767ef35c07babb03fd04a31338\nflags = SmallModulus\n\n# tcId = 14\nmsg = 61\nresult = acceptable\nsig = 0fd461012145fe0ae9362eef22ee35dac0d4751a037ce4cf0792012bb179d101f9a9752e5ebc5454b18684fa1b557f3136ae68edc087dbfa4bbfaa59be42d0daa84b574a9f23238d4d538ae3e6c32f8dbd98b1138b545badcc10b184428fe2707aec73206367f147196f7b83f358377562e8c7d9f1d396a1cd9aa74f8a78cb1d\nflags = SmallModulus\n\n# tcId = 15\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 307e421e06bdec1fc1750d53529f5f007eddcc991af8351477e1d67169409e3acc93367fadc412a4554854004c4a29c8af4af09793e55967ed439645034cc9e9ae565edfc861e04c763d058ff3aa29bef3942277b4c971d830be1259aa30c125a6ede65971b0120758c2a6eb21f238ff18228f344155ff9109a0f9656cae2351\nflags = SmallModulus\n\n# tcId = 16\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 019682b9c934a37ec166efae16b5ec75671fbc6322cdc91bf56a6f557001b8914050852ed7f13e96cb47fc5932a311ee677ffc05c1cf6589201b1a806f2ead9ff3c7cf327c391044fee073527a791a451a0571e50bb1e4b4f7e40847dba751f2d73f2ab2f5ab11724be81c9fcfded5a2535b593287e120870138e5534292104a\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keyAsn = 30818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keysize = 1024]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 17\nmsg = \nresult = acceptable\nsig = a0abd165a5ef8733ba111fa0fa092630222d809d8ae811f24f8bead4968b7533af31019663713ba134e7dd345c38e7166a037025eb34adcd6891c9ec941d2e3eb1e4bded1d269272b602cb9b53568b992ddb5103914e6424c75505701a37996c8318b0b6f8640cb6b6e770ac44314b866a7c683a6903f7bba07b6f197ec554fc\nflags = SmallModulus\n\n# tcId = 18\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 41339884a9b3940e8488d666bb158063c6a2a2717cae7f564834a876fcbf7098ecf3acbfabf37d38a8e6127b1e313744f1f896e165efdaea0b2e7673867842b9e94db0868ed9a92bcdcb370a4e20ff275c82595e4400a8b9e9f12482f014846b48216f321266ae6ae6338dbcdc41b711e483e6e3e728772e7f9f5ef95c30196b\nflags = SmallModulus\n\n# tcId = 19\nmsg = 54657374\nresult = acceptable\nsig = 8883676becdc27878ccdff53dda011e5e2f886e31e1e88d520bb161cd63aa001fded9f0656109c1507bd1ba5d3bb3e725029a236b4c3c0420a1fcfffe348c5277d6aa51bf75d9af26fdc15fc49d637b078a8b0478b5b0a9c428756d260068e5e622f193b9f9a2c1d979e3322d7f3edc32053541c6efa2485e42e99a804f94388\nflags = SmallModulus\n\n# tcId = 20\nmsg = 313233343030\nresult = acceptable\nsig = 9f2e01b92bc9dd32dcf24aee91467797396649a3255bac943dd0e03c9ef416f349c0cbb728704730f3c7a7c244066a94b229a6e86bde7753c8940129626307b542cc7f596583932b4fe6ea9384d5353e08654e966a64b63bd6745503f7e4383dcef74ad4516ac25c8790db6702ac5b8b057a8fae75669b6a9e689e9211a337b9\nflags = SmallModulus\n\n# tcId = 21\nmsg = 4d657373616765\nresult = acceptable\nsig = 3cb9557d9fe49b889319e0d41efc00cba34277caeed2b2c54fc89772c669200dd63f02f340cb6ed579a379a3fd6a568ca9d4bce206655ae4586850638ee6bffaae2bed7c7afe7353d22418d7e4f6b15e198c85b649d3e5a67f00702dd9fefed7dc72136bb4440fac58e64453e4ee63a81de4270446571b192f414116e165efc0\nflags = SmallModulus\n\n# tcId = 22\nmsg = 61\nresult = acceptable\nsig = 06e6fb568e366fa20d48704be40e991a291d47a464296a49c37718c1153b0fea17ac18a01ff97b32a92d07635dfb9143d011d003c9153020f5ef7fd3ef258cfe92a7a2120718fcc85c73acd34cbd50670c2e044dc3b82fca29b1017912b65d8a844515655308367d8797ae5b7fb91042df573f32de69c1842a128ac88937c0e9\nflags = SmallModulus\n\n# tcId = 23\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0", + "f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 327238fd701dc4a829827550aad98f9bcd75e9f3831c3679998c869c1dd8381bc6b74b721e9d3377034e059d6637690ba3a184ffd98af951d43a22105a51838f72cf592d658af01adeedf721cf2eb2bb2c90c68311cb267f0cfacca903c1a2a73f7228badb5d86976f5d3371fe9b00cca048a7a0b0fc4b03da11c5a098045e07\nflags = SmallModulus\n\n# tcId = 24\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 65fd6547b4c27c06da21cfd067accbdede11ab8ddf16899d3acfd61134bbc4ed3269198733093062476906f36598a565ab32cb4b4f90e8c2acdab870bfd7f97726771050c4c67768d98514e51c28739067ca1a7890a846f6fb142d720df3c98ceb833a8cd8cc6129d22d0c5de9120c127e69e8d7b1548a474acf505897fd9f8d\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keyAsn = 30818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keysize = 1024]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 25\nmsg = \nresult = acceptable\nsig = 8bda47e85848bb1d98eab90bd5f1880540204c8753a17b2552ee4778405e4c42cc3d25a4d869eb38f1e6fd122a2f52fa8685c3ef40400ade2017555ae88fa892a1ad2793f7c23762f0e54db0852cfdb2e52ebd02c8acf81b9a1e78accb5fbb57a29391cf4fa9aa298111c7b94fe240f0f576b1b52853853fce13da155f16e81d\nflags = SmallModulus\n\n# tcId = 26\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 74b9a7b9548a281c5a258520c879e0e64d8a28812a7b6461c6e418e0502b61008a8e535a5b55fb64529a6a6df2f60ef33c1844b27f81532be2bc2992d0eb5e524112da90bf40adefcf206469639ff3895a9826674ee1acbdd623842ab0a9a36d48da13ba17c4ee069254da2ea418d5a8f135e2a414c0654a266d538621917545\nflags = SmallModulus\n\n# tcId = 27\nmsg = 54657374\nresult = acceptable\nsig = 10d9c8b0bf55586e985799be60a17979eb0461daca00ea6defcc62fe720ea502e7e486c02a48f5ca41ecd96c67b5c762a067c465c35a8e416748897ede3ee2cd3c3e1b1199da5c7f0dd0f036774a1730e63ba781d6ee43d78b067608e831a16dbec6075c8ec90e81a4d8e2ac2587b0ae43f7445478b03ab7eba2e63d4043c2e1\nflags = SmallModulus\n\n# tcId = 28\nmsg = 313233343030\nresult = acceptable\nsig = 2cb15eb09030fade89eabc41794d288275c456f12cb0d414311e5edb551a51c3e1354f134b27aecae50536379a871a4ce6ab2e1b999c0308f5fed2ec48d97d68885b37a1e3e26b841db103b64f720f9aef265632f4f4a207ddffe19092e8b16144b0a3443d779c0b648077d3b04b72dd4f4051ac232261ac9df65974764b97a9\nflags = SmallModulus\n\n# tcId = 29\nmsg = 4d657373616765\nresult = acceptable\nsig = 9c80154e3087b443fe6d9bc24faa7ea009330a210f2f1063ea1b61261507a5e3853079a0287d5b27983bd751ac782b1a5c31130978d3f2a8a95101c4ed87eacee964953ad32cd2cd4caeb7c37330d1650d7ca19dfa6e8f1c184d3dd9a3a759d6badc700b7063d2c579b336c5e141c200614ba613d9bb6493e87d26978b438573\nflags = SmallModulus\n\n# tcId = 30\nmsg = 61\nresult = acceptable\nsig = 99fc12c90f67dff9600c30c9f81bbf335492151345c809c05771d59ef73d438f88c5c43ba507a3cad6633641d70ec3f3c38f67cf7f2566489f59422a2dad1f647e790bbd28acc290ab392d48ce7a140184bb71023f8c9c5dcd9469ebe848063d96bad26fbd390974b38459d51727eb8c0a5b8a8ef1d3394b6f852dd2b22cd22c\nflags = SmallModulus\n\n# tcId = 31\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 869b42bb93624a139bb98c043cba8fe12d612aef040e3085994824a480274c0cca24d08d178321acb048055b777d897e267cd50809bc7e9f86c276beeb8a8d59d82aa2091c66c71e41ca59738b0e18f055f9c75a01e87aaad446e64ac0183c002ea2080415ebb4f85a590622bfa4e701a6e37d0b33bd78d5ff874d8d28fda263\nflags = SmallModulus\n\n# tcId = 32\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 1d1d3424bfc646c0e3668ab4e9eddbf993c5efe63ee6ccc966dd467c466225bf587b9d7508a7dab8079c50cb3086b9f0fa3c6e77236744618fd651d39bed94bdf47a2a77897341f16da3db9557b2377f151375a74d9af8204e155abbb62dc7e2f6effee3ffe936b360e45ab750ce69e29f29e915baf8578017f66d85192ded04\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keyAsn = 3081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7", + "327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keysize = 1536]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 33\nmsg = \nresult = acceptable\nsig = 9cbe6b808679d666332a97049be279327c7e00e3c17354fd1d5f611969f487d9e397456b90549a77582a6e8b51fe212399ff68b979fe293efcd11ab79cbfda818cc4039c62d32b58717fe0abf2b4eeea0304baa5afe23ff6614dc6cec45b518d6d58a157ae211e0a67c36a0ef6468d0dd68f6155a818bece4f8d35884f4f90aa6ac6250bb3459604d4598ca7c7e57489d484351aa936be4fc9051e28e229f4bb60fa97a3f018ef37fdfe78ca8cfc0caae758c53d0f68edb8b9df2b826c80272f\nflags = SmallModulus\n\n# tcId = 34\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 570c9a8a85a988b5e254b74af7611f0a1e4843e4727c9117a5e2bbbec29b0a6e84c5ccc2cec9b100410b37d1e0eef9a2a21a2894e1a5b581e6567d1043a980166ed7449e557fd7f1fb19fff60f3cfc85c79c9793c553314060b95f0a2199f4de16792e35888b78f7bbd4520eb09efc7aede5d24a51d8c123669ee2452357dfd089986005506df4431c50432509302e7c7e9aa8e9f383ef8b856fda1ba8db44f36b7aae91c597bd6aa0b4f12573a664f328b23b7a7e8738d5bfe772b39d5017d7\nflags = SmallModulus\n\n# tcId = 35\nmsg = 54657374\nresult = acceptable\nsig = 74cd13a7cad1ba8c0254967f1cf7d594a084995b5778b113a42f35654151556e36ff796f609146bcc519a8f983d0093a1fe7d2789d0c2688d8444ff4c3c8f6759eb71d6fb7f47a2eff42e62ecdd14fb3cf2e6df4b0717094863bf19a84457a656d3fd64aa5c086e09a8097e3576ba1d91fa17b7a1222b9064e2c6b06aba5b692a7078117838c64cd6598bea415a231daf4e62d4bffcbc0986c3cf86ae6a3bbb7ffbe85ee002ce9af3177b1f2c0ae14b8b1cd41b1bf1b2ccc688794f092c91873\nflags = SmallModulus\n\n# tcId = 36\nmsg = 313233343030\nresult = acceptable\nsig = 1ecad2c46d9d37b3bdecb7f9002cc48f8345a2aec090f5d599350c855c4eb58f8a503d8dfe042525a66e771bd8dd8a70fb4822aea1a0cf33577ea658288e6f2fd886888cb9225f1ea0d03bf5b5e63afd3bf59c0c1d3f2cf4f4ba2a8dcf23182feec72f76a60d252a8cb0b770b7d0dd6c72c072098f81b852f7271007273eccbc55a9099e426e566a52e11be82e78bc8ce8c6bb721f858816c43aa253a950da5810e5690c193b820d9ed4f02046a548503c72755abf1450c09dda9c84dd2a079a\nflags = SmallModulus\n\n# tcId = 37\nmsg = 4d657373616765\nresult = acceptable\nsig = 402c91c41a3e1782ae406b04ff52cbbf9f71cc5f3473b9af43a2ef96245e79b62551d9b23a85e6e80a2041b616dce2647312258b29bc6b549eb38afb083d823b3c2619caee52cb1583a7c20cba7da2159ac8154b98a9683388bcc523c10b6e560fe0c8a0cce9237ab1991b207e708b601b13c5d1d86825d89fc5aaffa0e89ddcc11d2b516de64e34783d86c6d05ded6024274498b6f3dd5593feb03147cfca3890f92487b64e67ccb676b85144899e6d257b28edff14130eaf0cc45b60ddec80\nflags = SmallModulus\n\n# tcId = 38\nmsg = 61\nresult = acceptable\nsig = 4d93f0d689c59942d9e7c26cfc5af040cff4b3a114c7e191851baa888133ea52583899520f8e063d7ea1ac7773ccca280b92840082d960b0d1e20bc8549c83f989b6991613c1711a0a2586de7fc2bd10750023e2866fce48329621e9203c2818373abd69bc1807fc1158639d3837b5391077a39f829f04472c74bab0a15757083a34ec2701abb6839ade2674f1220af9d109678d209bf5f16eceaa8227ab028d0017530900f52b8be12c33f007dd21774a5bdae2ee12d7e47e98e5cc7d301d9e\nflags = SmallModulus\n\n# tcId = 39\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 44a571c4bbf737001fd5602e8d096123de21b47c36eea780f3e0e19fd2243605066ea949c88b6abb8353ee8b88e394a485031e9e980936e09bbd17fb6dfe340f07bcca5cc51edcbd5bf98c223f44976b6ba3b4b2157f1a14a7b2a20728f92a31120f968138a33164c78b7fe9146ba6d641d6c7b7cc9b1b4062e96002054eb9cd2e738fd82564dc0fd87f08b5006f52db13a7efd4602dd6736cc9667701fcb9ad48c5b3625a11e44e034d0cecb38cea4766b03416c94f01418b411e2f4739ccba\nflags = SmallModulus\n\n# tcId = 40\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 641b7edf71fecd3c54286459d1c34ce67655d829afd2e4f09aa28e673b51d437113b5a7ad8e245f131da0b6e8a6aa3621aea4211a573ba6a9cbc8e5c4676970b8032c53993e97b2fd93bb6b54c627786abbcad21dbdb584a33e1723a40e0a9919920708e03001019f715335024fca23a29b948c4eb4c5176689ceecf034ca0c29466b4026313d8238d499cf6af4ff93792d734ef0c453bdafd0e5dbe20dfacc5c92ee9cae029ed045f9ab23b03c6a4d1e6d286053cac71ba10bee4a8bb4df86a\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keyAsn = 3081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keysize = 1536]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544a", + "ab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 41\nmsg = \nresult = acceptable\nsig = e4f7f0076b4bddb632c470881bbffe95a148573a75c014689eda7acf5e57a546327d4bead01da0b093b2c4eb5b048fd707d27a4baf85d610e4ff8861feca57e1ea88ff0c4b803c4b0d62ae0cb89012b0ff041b438e49a79680f2cb30722a5a2a3aa9b516ff2a02947ebe27186aa9ffdb35e15328c0f49f172af51f764258e909651469ebc6a59cd98c996fa3417008252e3386b9a2d059d3c67983ce62ae2d052733c55732320679eae156d0e4b89da1022bd052340819cfcdd7366c34b65a01\nflags = SmallModulus\n\n# tcId = 42\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 8d2611d4c79f6b2087ae8bc76610905c361b9fe0a6629388197b4293f9e14ecbeb377206e4c1db35cdc0ab163dc5c51e8a7370a059e9ee8014d18ef0937f7936879d7825c792180a4f10a0d46e0a954f093d703b82bd076dcec0b8a66fc3be9bdf79ce4550c453015dc1c7397ec1bfceed040a4d777915546b9cbcf1eeb13eb71ac49c235e69cb07c315d529442f4863d61b7d5caa5ce07820edf649a9342211a26f8280dab9c5dd11af0752168326f8e8d5e834ddba3bce063f011eccc8f46d\nflags = SmallModulus\n\n# tcId = 43\nmsg = 54657374\nresult = acceptable\nsig = e12e3540e7f20fb5533772e91b708151c12d8440ba9bc994791f5916d521726b53969063f9e13114ab89de0b0adf119cfaf19dd74a65b5eee32f39e69ab6776dba721adb2a8dea1495c51d5984b6aa2b5d216eb48459103907442f725410f53ddd5d006762dd3167c2da3bdb19f07d27e3fda712f444c093f4c8126d40ca7c381ab1d3875294df84055239ebac5039490b597366b58c2806e52f1f259c9ed16f829f41851b6ce7e390ea73251395bf940997d47bc323657160ede973f2342b91\nflags = SmallModulus\n\n# tcId = 44\nmsg = 313233343030\nresult = acceptable\nsig = 90ea80b14758fa12319e54c446e70bf5bede38f5d8d8e978531e6c54c567b63a0fb7b870ab963f979c4015c27714dc9292a48123c0a1f13896055f6628687040459488bca149f410cdae4249ef918f10329e902f1344a666fdf96085b7bbfb086ee2f4e5891904f945d867a50289da018c245be31b684bebb8dc367d43d53448865dc005ffd58e2f76f1ae8ac51fa7ad723db9bf3b78b82bc5b0e209ed216575009c27a6d46bfd1d9ba35fd50eaf4a39afd7b3dfdbd2f437d0d97b5b08e1870b\nflags = SmallModulus\n\n# tcId = 45\nmsg = 4d657373616765\nresult = acceptable\nsig = 3ebfdd69af2a561bdf4315d015d397b8af75f6c17a3e6e1c6b52bd6e812bd9112e1920f6cabd82b996b1b48be3aa40e447d29689be7dc64b8548ce5414318c4288a6ccee97f55c523661e629d3cb124b97a042c1e77a9b039a8631815c535c8216912ea47684a7220a63c198ef2b80568882e153be8fe92ae4c786a5fd56a1e64fdb235663f3a242c121e59df3a19c29282e647a5123583378577925f399560f6ad3b2a4c2b18ca2547aab5e3ed4030c6585fd2abd1d65fc720bb30354c966d9\nflags = SmallModulus\n\n# tcId = 46\nmsg = 61\nresult = acceptable\nsig = 7fbb42d2bc1c3e5a0f66fedd581e5ce3e555f6f1c736db24b6e963d2ba72118cc989e2969c21bede87ff3f4209f2b009263b7ca3716a9d3e7115dfe65bad1ea2a1013304696248dd2b1d70764dae248bd1e9d49623826f2c6640247cbe8bcda47d882e298f30bcf3db1f496c26b738848e9876e4b70f0ca8259760e919e5c5c0a2ce3d05b5804a94b67f4c719fdeb3ce23657a26635f867af0271736ba20abb7fff18bda006c48d9c3ed774365d00aa0340a04906fc07f00b18a572c96f986f5\nflags = SmallModulus\n\n# tcId = 47\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = b9b478f6ddabce2b1ffb306e2135132df09585be16eaa5182b8476796c10b0eecaff9b91100882f5872e00e3d1df2df40969ca4d00596b6d6c9c13d3a956dd8d91decbd3a48728aea05b8f7707414a8a5de3bf0becbc20ae0ba852ee7c4f2c177f3d95a4a8375ac50e11fd2be4da1f94608786fc84747117604138d06956387924e5d7baa2c97e25d1b0125122c0a13981559db80ac2d6848f4db163027c4484a51ac5095f5653b12059440dac69970b5680e017a7eb2861c857a607446b9420\nflags = SmallModulus\n\n# tcId = 48\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 49c191f27f7ee50303b6ae8ada646d0e96fa369f16d8f66e64e6ee123164d781c698931bec1097c9b2b2cce017e65560d8ef3601bbe297b3992c0d89024b73d43877c9f9f3f1194c7e0a36ef1938d634394e4075330e6a2665c853377a1e2d962eebc7c8d8b50a32af26e287aa62e1bf26dcf27f9d561a59a771d86e66bfbcaa38c13748077d3ff0f9355e3fba6a36ed45b39dbb058cc66ae063df89e3a620b8b820de05fe80d6b848c9a7984e5962702b522561b4232ac9c6cf0c93a2c48a0b\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keyAsn = 3081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keysize = 1536]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b020100028", + "1c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 49\nmsg = \nresult = acceptable\nsig = 6428e8d022f52b4a9307fe0f93e650e9665680d3c4a66194c6d50cf08726a3de45dbd8f24c9b5d4ad3fb6fad8bf3744d166742c6bb8cd690325e8eeb8d33e1303234d2a9ef9f12f8adb29a423279405dfa25d5bbbfb4255f6d739dafad66e4024fd413b16a167ea4cd66a75258c476e9f23cdf99346cecd6a51d44176346e6704e1f25fd953123716dca1eb8e2ba0288a38723f76c7b873299e34373fc2b18027500c26aa32c903389eed545b87061988f9e06effab524655e52103be7551fdb\nflags = SmallModulus\n\n# tcId = 50\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 58c4c42da5eee1b757b31e3362a95d75180c0fee472c431527ff5500fe0b5c1d59968d79e6e41650f013a6b3e37c5a1d79233b818ef76c4ed469a09607becdc58987e6a548610de14ff06899ef284778dd5329a27b85072e8ffd46b63a5e8f7602ddb9fc5a07224c49818fc8057581ea36da033f2b936f0761186c7fd82b474e87d47aa1b7ec610642d3bcb16c59bb70ac68b1f081a9c9248f069474d6ed9b29c669fc40a979cdfc2053e1a3c0cf40efa29c01785323995f1d8f3850c32bdf92\nflags = SmallModulus\n\n# tcId = 51\nmsg = 54657374\nresult = acceptable\nsig = 62a81171990b2066d9c8a12d75b719b1d81513e9ab0a38ceed12c19835e8291db53045c6be238fb8a0a7daa974f8d0e10495c197c8d94b617a5e84982b849a121377a4deaff1c61f07365a4429b3aa90a0a475d3475e93b27254e1e0a75f49864287f2027f7b4c8c0f54ad69649c042e2445a5f131dc5d7878d7a040ac8499ef4208f3cf7b63863feb6fc3ae7d9e299ef5777b1d872cb19799f5097d456473760e5953a650a207f50f5dec349e71b848640930608208dd0745bc185d78284482\nflags = SmallModulus\n\n# tcId = 52\nmsg = 313233343030\nresult = acceptable\nsig = af896fc432e8f0d10c082153fcfd95b9ad7c90fd1f757d3be4e57556553b982af328b2f3d96fdffa3d26a9fb58e011206f88bfb7dc453f8ecc1b8a86910f993e91a1f70e2d75311015d676ed9245f1a9379f4f29ef26ab403eb1e76184855b10696f5254f2b51e536df54c84189d1a1f97bfb56a3b7cd13a82d8c0262229795a3d2bd46f28c3e71d5ae18c2ab32b295477e3f0fb428c5278eea15622ec47efd731b78d747568757f82a943fda22d37d883d8daff25dbb168032b5b36e081ce2d\nflags = SmallModulus\n\n# tcId = 53\nmsg = 4d657373616765\nresult = acceptable\nsig = a3c4eb3756805db479ee0aa802a9cccec9c9e146e736ed48b8739f2c8f108c579f1a16a71b7d222fd146f82292e78d254ec030b47267490927843c13005b88e2956550bdaab0e5748dafbbaa825425e9d83283a9a5fb086603ce00c8dac8f73dae249082378fcbdef763ef2f207047e9a9eaa35ce466e9569470f612c87292df4babe1d1446c55be5ab0109895afd337843eed2ca777f3ea1c08898fcb36e02674772d6dc3c71fbc49c897d05c81cf2aaef212dab088d9722db4033bb8f2ba56\nflags = SmallModulus\n\n# tcId = 54\nmsg = 61\nresult = acceptable\nsig = d0deb372624d4e1f64b9f3d7517fe2bc9407b1cb99ca0e6f641d5557935b4ce3e0e7fc88a75a8a6b39a7d03b9c9b43d6f5da250bc2c672ecad4f559a02f45bd6319d7377d305493264b17beca8ad93656a88767221113a30c8402794a920da9edc530a6649b881abfee5b92dc857332970973366ba05954d70a99f378e8f65e3c1586ec71f79fec02657bf6dc5ed82c835735af15ab1f305bad5c49ae4dbab4f6bb4a5c70d35ba779e01b85ef208d7def3d0358fbe9202923fd035d58ff36a06\nflags = SmallModulus\n\n# tcId = 55\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 4e47d4cbe778a471ec643bb235fe9ef8d10398bfb2edfeeb9c9bc12caafe4031e33144be385e3adcd1609652f4c9dfe15f5cd6ba3ff38b34dd67c47c659473cb12f9b3905306d92405d38bb763474ad65e96b7f68104c1dfdd217ee56c912f42b054f16efe23fa8821093d8169826a64a77b86ef33061210280e3b4793fe540a09cb910f5a1f12a410b588c2793726999021f8880b7d9b83792ae9ed282871921a63976131b8aef855078787bf32df696458e507b1dba70d7422d4d37edbbdfc\nflags = SmallModulus\n\n# tcId = 56\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 3ad151db74873688bc47e123822db75e4bb7cc30ae99babf03333da27515283e7b1229b3b47c1929166fad0164add9d65b88b03b92c4c9d71329a8997305ab02cc8c2cbbcf156819f4d487e889bc229e310766cb33843815d64049b14904d32a6de668e21de2a9f948ded86f3fc33acda46c0fd97b2a3ea71c211b8cf63cf1654671677b2e8379d27ea9150cc4cc8972950a73e0053985f7d7f65601c8dd9ecc7d220f5efa537e58974730cc5961a62c7fd89df1f7a0b1e574ab82bd431c1906\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keyAsn = 3081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keysize = 1536]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc", + "5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 57\nmsg = \nresult = acceptable\nsig = 190497b9c697bc8571dea0e67a6594d1ad0c401904a6a8f6e44837452949b1fb2044482ada64df89978f1168d5caf866afd928817afcdb589ce3dc6ffc5d58cb76fb9edc59b7d9188ead57981e1acba36e21d76a668660fb7bbf6f0c946ccc86dc251855c2cc19de83d11aba1d2c465db713725c2014e48865778b762dcbefd40de78f624436c6a3d316594dbfb3b05af97cb1d19229b3cc29c9cc6df414ab963bf1d6fb4e50c82dbb1add6d091d5930de580a988e3268cc5716d86c90dc12bc\nflags = SmallModulus\n\n# tcId = 58\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 5259fe9566e1bd81952a805384b1657374f33550ee0895b57b7a0869a831270d3b3b2db8e295a4eb98d8eb036183b3d228ad22b8e493c7eb0f9ab00eeab2e086f10f8018a8daaff4858ae745a4d70881a166963c64403216422e18974aa456d8229ef2e43002e0390166630c7fabd14efaa974a9521a72a69e0b446971db077ce80f6dd95cf797b6ed276873bbf6b1ba6a79df8c917c2a3fbbc0e5347b0bb99eec6ad0b6bdb7bc9d3e0a7f6b7b623f2aa9dba1e940676ec5629d39778286f261\nflags = SmallModulus\n\n# tcId = 59\nmsg = 54657374\nresult = acceptable\nsig = 288226f169838f352ffe409368cf03d840e0c0ac5e2c8d24471a924bab05ccbef26f202aabed9fbdaa33ae4a95de90e4196d92a72926971230f90a08fa68e51b326c9b5dde4b7bfe76766b0362695315846c2270a67e7c3f623367c87ce13670c8c778ba379b7de015a1b3fddce8d54825ddd22a8f88d89a43a0c5be784c1c1a1b920aa0dd31102a23d50e3874c411051f724a9b6181299d63db58dec0dbe667f7455f97f5abddc87cdd9d85e7e8139fa5e4ebd167aa8af8439934f34eb7f1e5\nflags = SmallModulus\n\n# tcId = 60\nmsg = 313233343030\nresult = acceptable\nsig = 15eec15039b374bab3d0eafff08146e4ace24e67a2dc14dc6cd19826cff0ffef52f62210d5d1299ee482c6d39be0fc4544b2911af75a8c5fc1b57b658febdf094d4f648f82ac88717c14204e3a570b2c796ac3a2e3cab052c3ca8f5d39c5e5a4ce883b5aeb6a9e6f0b72d6ef7b8caaf75c4914df6a8a0e7ba6180ac639296d9e29f21b7b6ddc09ebd9559ce95d3fa27d7325a2c3e8c4dbe52f18036a9261a2f35c48e34bb5a137fd92549746b0095008e63d351acc66033f3c9b6623d2db976d\nflags = SmallModulus\n\n# tcId = 61\nmsg = 4d657373616765\nresult = acceptable\nsig = 17f4a3294054ba76deb171fa60d4d224604082432b5119253bb28766aeccfdeee20fcd450fb2b1c76496d28f871b7d3b3b768a81ccb5313ffc37a25760c30d282c309fc929108ae743507edca29b594360c924c8f00f472bdb15fe207fc76c83d4160ec3ef502349f4baff23cf2c954029db4c68eac992447dc63abb3126c1b82af57472aa205c40dbd445f008e01dcb3ddf770fc0d778c3f4913a9c4615dc6291e29e0debbc3b02a82f0a52ed59f0ea19cced519cf037b4d6159cab53c23c67\nflags = SmallModulus\n\n# tcId = 62\nmsg = 61\nresult = acceptable\nsig = 505ffc20f64d17502d9697458c58153b34bcf607a01dfa4fc77c89df2ec41e63f9b396056b76140c46b2b47d6535fea8dca0ba19395df2f7e7f2ba53d05c9cb4eb2e04d2a123747f15899c65cee85e794626e35c0f1dbd3e592904c0f0324e417d122a0adf401a0a5d5e7516d263fc8f6909c7ea7c984a4e3f1c9535e6a6e66d8d35689ced12049b4ded2cc93a5e6148773dffdfd1734ab55822a6e38a654a7bb82fecf83d5816228962e17bb8bf6f3108f0c89bc4430d67c38d648d7a17a29b\nflags = SmallModulus\n\n# tcId = 63\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 75627812c1b05dea5a309394dd74d9fad11a6776cbe6d8ad0936b343bdbd0b6a770ed1075676bf55cabaded9c6f74913e97f512dbda5b9ab0578b1f1dcfde313fd88c4c876252f4334c2d4752abb22c484e76237f59878b42d4d75843c93761ab3532295b6a26dec558fa6a65321d0f6f3fc88c8c21ffb8b0739de2459f1a3fe1fb9b71a92de934d86a8efdd0447885cfee91ed8b559df65d5b57276b5ae2068ec30f3dfe48371ea59fe487419c9fb3c4b58449c46553b497a2ddf7b30aa7a78\nflags = SmallModulus\n\n# tcId = 64\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 8f545e7acb30c05fd8de82f2f180aa34f7f14af62c39c70c9d262c51836379d4315374ae04673062256505ec2452f1aad3a15ac5d73d30ee2e0f60b10f905704a883b7ec712bdc9aac2a2ed6439caf20cf7b22f146ff85972f44cbe8df7a4e7735a8b3d40d0f265ff8a36131b8307a422194daaf7554823c972673b93c3e1fe3ea9502e55345ce91fc5dd94a06302641c0fd22d86e076448573a7fab81913adcf190e36e93792d161545cbcc98c4a0d1d70fc03edb2ab6bf92cf159c462c9be7\nflags = SmallModulus\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keyAsn = 3082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keysize = 2048]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf", + "96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 65\nmsg = \nresult = acceptable\nsig = 0d7e029e2119e60e585409b4b27bda676a1ad736008f4b1febfc36b64c6920024376f8b9d8f13590c281dbb1bef7bba3212fd0259cd6aac4ecc955e305be645cfaf7b03e8c871b4076d05fde7cd15cc5aeea187f3c4c1774983baaf46ca638f2a6e95dfcc20c9b6e1dffa7739f138422a36d92ea83eecd9955c7046ae86506ca7a892a1f61ed3a7ee472ccc31fbd20fff87d3ef35f5a10b6dab475a3230a78b0a919738741807b6c482750154f62b3c59039aa4a0e359b43ba4c3b2185176b80db5ce99efdcca1e3e03d08b660822b71d85614b79e55fabea1a79f23da031230d6c27e2ffbc59d57e9c6da1f7e4579c3a98facd772236f787633dab9738d48bd\nflags = WeakHash\n\n# tcId = 66\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 32f17d854cd2a5ff46b805ac0966458573acb138de56a9d55673ed260b6a2e965fb0455853b4a94d05ffdfdc7dd7ab6c1d787fc8bf26f47b9682252b7a201821c62bf2237f7b95523a868b0bd9e7ff4b3f008f15f19655122a72764ba2ff58f8bee0f1223c1914ab4d309b74ffc97931842dcc99ed88e1dbade98a3ab4bae03f323111a5a1360340fa60fead3c0d9df1fb625b4559c690adef10714c10ed7a4dc7e5f2fb84e83db7229768f5dd51c60c48dbf7d7c865c38d2a5213fe00b2c4d7a0821d8f337513a3abcfab7e6822f96ebfad79c84526eb0ae4a05048c4f5a62cb5f9d49cc6b94055cc8dd2f9b3e249d45cdaa85bbc41e6f0613596e71c07efb4\nflags = WeakHash\n\n# tcId = 67\nmsg = 54657374\nresult = acceptable\nsig = a0e86ac8060a42bdb3e46e1e3243b87f831483cf73ed6cbb6b30f442e80abd04ef351de45b9952c807497381f3d4c802d7985c73895243e79887211b1c1bf23c1510bea2f038e03cbdf368844ec4513f5541079cfec0e6e0c2136524bbb90e670cc554919b6ce40f668ddf603e9188ce4c2d83e29df3880b9ba5473a676a6bc39e39e6d560587db7b9a5bae659df1c65184d20b0237404d86da670bf24cad739686946a55e2e6e6651e8ca79f7459b1b00a5847400b9675c403ef1f547b0f27ddbd44f91c16c5e4ccf3d271973271752e67e17955ab3a3aba53f27dca6676de79e1bf69a177d1a38d1038572407f620c2a66692d9208c10a7d7e520d5e2597c2\nflags = WeakHash\n\n# tcId = 68\nmsg = 313233343030\nresult = acceptable\nsig = 3598f87916b45e657df63a839c7e544953c0039477b396a276d8df752b0a98192a10fdf431033353f8565c6de1b268f4ccb44c00ce760c67e97409271c55055b3ea885d742def2c6cd32f5fed077193d12bd48d78130353ad4aca34d9148bfe80d8ea455c3ce4b24f70131908e1947feae311e29e0ae9d1074ba73124568468e34c8b073283d16359c530ea613adb4de2ba94ebc470a57055571ef9f575c068e00de09b6d1af2051b93079ddc683090d4427847b4b9ed63a34a01d9aeeef00524278ff54b7d2955ccae5ca1001ee7588f5a21166dde7b2941a6136b38d374aac73752bcfd3e700066b2972c66cef76a48d81811e26fc7646974a149708ae2d21\nflags = WeakHash\n\n# tcId = 69\nmsg = 4d657373616765\nresult = acceptable\nsig = 138ca9545ec6d2bd203b51906680aca4f286477abcaa5602e7163c7905e03acc2ce203edb0587a849ebf25ccf5417e326acab708c26adb6ce4e9d48a145ea649255ee7acd88f1a3f378629e7f07733dd37b715929c09c4d25090bc99ee529341754096bd812b5835a687758a1995c4dfcabe7ab9573ab77332a063d978fa89b0f591640ca0c2eaedfa1711571d24de1bf04ca2ec4459d8c5daa3e9c11f876dab17407505574aa65d4a92be714b227007dc3175b1541baad6233b59f7fb816c9df6d896b36499d7075fa47e00fec9225b4c6049d507cbe9d0556fa10739f94ed8841ca54929c16c53e03fb04f552333dd270c704e611e4f734cd0a94a41ef7486\nflags = WeakHash\n\n# tcId = 70\nmsg = 61\nresult = acceptable\nsig = 60c54adc744cbe9079c5bde94afd7a233b76c4b4d3f7b6948e35948a60d76dba4b939a949903100080f532e6d21a3c788d4bbe08678d5d5b24c0515286e025a7eb220490f1e94b8fb1891d32b423c9889446b6acc17da1e127ca0865602ac309d85cf27fdd594d84603c790ceef7e967f49c1cdd23989dd01abd84a2c33380fd8a723654592f0702fdddd4c129fcbe0827f91bd1fb1eeea8f9aa42853e4cffaaec9930d98dee7469bf59f225421c0c0c50142c81968e270f7044ee95a1d86999216b20bc77280237d9df87781c9138fd030f1edf1ff7069fbbc55b1232beaae640a110ec708a559fb360d54a64aafe7c990d7a6dff88f0018cf3f77beed9e28c\nflags = WeakHash\n\n# tcId = 71\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 736df32badf9f57455b0ea7129da61ecead04a709678997f0aae6a47d0dd877bf6fa0b4fbad91d9e5b4a15675e5201506a5b7a9de7d110350bf1862be7d867025f237c0f44555905ebc22c7e88fdf61c6a8be636c919b630079a0aaf1020e3e53c03a0f830d9335ce668fcb52e54c62408a4c7fbfbbe4243e843cd10461f2bcc4939869ca273fc745ab6ff3f4528b05a5131d124f0076cd2f644590d5d9257d3e6a5ccf3415fc6622f62d76c3c533a761ccc80d01886345d3c306a27a8d52fde6c39fd50c8c98051160bae41d5aa43b23ec0d01a04175bc3bac4cd81a29f4922b7aacc89b36e89a3c6b02a9056d134345b96bd67ae33e219cb0835aa93fa7cfa\nflags = WeakHash\n\n# tcId = 72\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = b7c3e881581a1f8b551ea95b9c69009e3de1dfd751dda5dd2dc6e4083a643cd7dce19686b99c6d3af7020b91e732dc5e56184036b3d6a2de19883befbb37623c7162a5900aa36f45a8935c65c2294013092c5e17f4a29c0ffbb91ae383a066a19b15b790673511b9b1eba51bd5f98dd126b2ea633604918cbfcf2ab76e88867949cd4abb4757d4371f0821dcd3ac9eff07635a9d679d03a919a009f7dbd505c884d09168f2bc333fc15449af8d3458af8d149ec211c68d8c72a85fd9b69cb027776d96888e874b308f323b1313e05ffa7a469c940e99405c90503116cbe93f8c7c006c07d0ef9cc693bd06685f12b090de59f57399963c54f7e556772165d00d\nflags = WeakHash\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keyAsn = 3082010a0282010100c32cd0e1441f", + "de8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keysize = 2048]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 73\nmsg = \nresult = valid\nsig = 19c576f191c273306ec6ee9e26c673bdcf3f821adaf13a0759df7787511ddb096e964f5dc199ccc5cf131f855065d6ff0a6c720651477d9026bed82d201f6e84a23b37725fd24f5b75aedc2afa24524e7222c0dd7c6d2742430bab3ec46d12204a94a533e2a9147723d087d619e07873a4261c420226ec1869abd70117c787d4b1827fe98779287451086354292bbb90617ceb391122efe70887710c5cb4549d163d37e79b33c1b336826cb53b648689e6da54241d20df822cf7770d7beaef4bb00068252786580a88cd00e93f5ef42b69efa7c364b98749fe734ee7bd13d0aca585d84e4fe4b29478697170280a5921278997ef9856f7372b6995d7eb43ce0c\n\n# tcId = 74\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = ab2e758c8de97282a7ede3401680ead187cc08658be0041f108851149a9b9d2588d5ca544039533eebd0305c07f394504d91a578f5764267149d4ef70b88a2a3f8cf0b1061d06882af53a88bef195aac87294dc833d80f42d942f3a59bb242b187e23bb89a068bb4c8a215247d04aec57f81f75c14e711b5878b04863e715d0f359ad13f008b79342b7a4ca095fd021f639e8f48860c1eafe6fa19162c2632a2d3a05330d149f3ea6c9aed9f89fa3f7bcb2cf2a3d1af0484178710c21c046a812f3b8d68027173ff5aeb1ad19ea6639e2d886eabf8149a8fb491d2c36ccfc4da2a9785a992046f24a93d2dd7765a171cd8ecb68b94ee70b0e5bf791967267251\n\n# tcId = 75\nmsg = 54657374\nresult = valid\nsig = 61c702c72b0177ac857e52707c1a40b84a1859bf1d7d1cdbda643f924e8bab7c3d3eb2065aff837e92f93836fd54ea52e085e19cb0cb59fa58afad48480c2dac579315340883886e78456ce750fc55b6c188b716bda7957ff547222f0cc1462344de4bf078ec19f1ba5901a0e5f40d93dbae4aac407834b272a2be82c8da085a3e1e9e0a57d3f43d26462566f0aeade04ee8981fec8d7e34c916fe78c0c5c43781bab2fecab654fa55ac99182545d0ddf070d41f67efe0737d8ecab3411720c84862606c8e4b53e60faa1c9a98386e92b03d676b53e3fdbca3bdf0187ddc50086cf82ca6052be55fbb7f3bdb6c6c0432defa5634797c23b494c3880846169b67\n\n# tcId = 76\nmsg = 313233343030\nresult = valid\nsig = 965f82f0649a338ef14387a7f3335b9e2d5d3b4009eecfd26c0110344a30117bde6bad668cf083beb28242460fbb96adf9754b9a4d4505f6412e677bf3349868fd5b5268786308a5293f2cb2f7ffda76104351f10381e504e72d27435d5bea0517d20ebec0afa531e520e5fe484475a330a40ba1109c204fabc44ec099878a5e31342a650047c299a5f2322f057b9586cd9eebeed1f3d2d94aac24f9d7b2f05c6f28bc49cb2b00f5e56870fa099cfb2c3e276381adf5a030ab6ffd9cb96fe309061d44c2ca5ccdd76a69458be561e3f0ef603ebe9ecd533333584236970dc7414124ace98357c496369bf94123bf0d4e57b03aee567c2f83a9e6378e62a42fed\n\n# tcId = 77\nmsg = 4d657373616765\nresult = valid\nsig = 105c68d221aa579ab6206d23be01d0c91f98fb67ed8d2044b6278916223758aa346bd6d5c7282d23a2bf702e0facdfb884e0b389202a5073a715fa80158e31d1e3588af30d2fd8b61233499ab7952f0761c84912b700fec807937d00a021eaa84d96f59760cc7733236138cb4ff1fb04c7d4621331b5c729f9694555b6f9c324e74db4a7a8b72f2853dfd0b9fe63759b3468bc66017bd6c1aada2070dc8643b5e581f12cad170d9fe754c65dfd0a5925cfe846a8413d729103e9d7e8825affc20f477d5bd3860947c2665ca4170fc44f2670bc33b51d42e5df78134919bf4660cfbc092c1cdcc09c8fda1ec9383512abe253cd1a470271832e0c7de5a6d9a7c2\n\n# tcId = 78\nmsg = 61\nresult = valid\nsig = 3662fc9bc91b00d457bce2fbc667dbb31ce7fa451acdbad95b4b418782b8af67d2fbaf1424be2c99e95e2637d8d39e751d757f89711ae165fe5bf142fd88b284df696e948ee714e3f2062c5d01d04bb6c0387aa5ff1511552dd066bda861e1c5cbfe73dd8c6bc3039b729c700c8f297f48ba2a36aecbb626b5c9f9b3c04102f55ee65ef5477d8d1d14d9b7b048cdac54d7239177e702d0629d3617de2a9fa556a6d4ec37fe38a46b768e39f1d8a380484ffe0cef59abb7e20ffdb7c11b14a42ee3cedda99ef9f71eae7cf760fd81172e03a3f2a9f7e42a813db3b089c11528350e93b131641b8d023d47447f58aeb9f3f38760df8a9b1ad4b8d43ba0c9018e02\n\n# tcId = 79\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 8392c4d888e7c63ae2a3d53d560ccbc226dbb1d9f69100fd86a19ef30a83981371169deb4ef87aafcfb4186c5ebf8d83764470acc8c9cbe36a9b15037e25b1dfc63e929b0bb3891be2d1804b8c6a0bf65891943e4c0fd21e7df55c134dde69682244d22510dac2b304c10a2e31adc134ab27ed186568fa9091df16f1c9f4e7044ddef6675269de710774ed124b52fbac9bed285b4be5ef9f2fd50e1d95383e145553762fb87a1da173b8b89a7eb9e947d08b5303ef0992bf4e3783c30253a43b373d90a75bd52fc53ee4fb86bfa1bad035a8177f8c0a9f53a6214ec950c2a07cea7f908c55c24dc31799867f819af18fa30f304ea001ce9cc87eb703ab578f5b\n\n# tcId = 80\nmsg = 0102030405060708090a0b0c0d0e0f10", + "1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 6e753cd7072ff5692087ca21639b6b11046db222f85b8e9a3a17b080fbf491f72e03c2552796ca09b63237b8d9c8d66502ade07cedd4c8e1813378b942eb6043da59e496737a6837881366c91031ccf08bf81f61985e0792696c6b2d37a0329c94b5f3c50c6db8a732a3815b6707c4a9cded0157a5c8fd83da91efddcf4622ce3f4f961ecbb21dd79f79b424118e24d388d59f99c524837ece4aebc11ad77f108cc196f61f55ae67db69a8f16533ecf746eef1f9ce05cc2b2317427b3d0cead00103e8d756078ecc11a2e31fe0261288dcff752abf389748f14e0995cb50fbe725e9dbc0b301a456e203196ed359e9c7f1b9110c994005d675568026f4811474\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 81\nmsg = \nresult = valid\nsig = 840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486\n\n# tcId = 82\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102\n\n# tcId = 83\nmsg = 54657374\nresult = valid\nsig = 264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c\n\n# tcId = 84\nmsg = 313233343030\nresult = valid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n# tcId = 85\nmsg = 4d657373616765\nresult = valid\nsig = 513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1", + "cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8\n\n# tcId = 86\nmsg = 61\nresult = valid\nsig = 38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907\n\n# tcId = 87\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852\n\n# tcId = 88\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 7aad44a36610ac147835efc623e3aeec0d5d8acbd7f469f92142592c7b843c9326e2015c4bf3843678d2e183ec9ed568e5dd8d535ea77a6d7fe804222e6208d0160bd6cf2744cdb56bce0ed7269cc5f2bcc25d3474c0fb5bc7d20ebf3664bad858dc6e86dabfa5f39a70e23344ab4f8d5edc6397d9d1b54fda4216e0b93d37b906384f82d36666d526939e0f917344208aadf05416c656a11a307ce2101912763728cfc0bd237017d36b8566c6c366b13f142c93edde181146ec63e49a57335b5d9295b85aa4c00d49cae7930653a5651c21371a4b3ec8a6e0f371d005e8b4f1631f7466b767b4789e75e1d2bc63ce4c46e5e7baf0b801ef785fd07ae79bbeef\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keyAsn = 3082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keysize = 2048]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 89\nmsg = \nresult = valid\nsig = c5b6f5fd8ea320880e9e27b0026b1d63bcd1152c72855853294b7683a759dee042be8bb0c350b0c31aea76e1ba2c6d79920c3e21b6e97b6cf46fabf92a701a7555540dd7c325e7c657fd9a079bc5a58923d2ccaef51014acd6fc6e5296960362a94688f2cb2675d5062c5101c3875399b95143511e6ea156ebbdd32c9ef8b061dc66e2c912bf2ae37e3ddcfd5f32a72412db8ba7a1ce3b44ea4c6e2a858b3f3cb198cf41914e4970b03edb1bf81f8abea6371b469d2e80883d7760c0707dac808fb55e588b285153b8ee5c32ffe90197991a567499d5ed62a6b810581901cf8abf086ddf84c10b03ad6845c977ec72d02028308cbd19daea2668865f00a23ab5\n\n# tcId = 90\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0e8742af2a1d82e99038a99a09bc182e21317b690004fcf8fac5a4b39c6c4c6f32ee0395a42b8aee31a7af7cc0b0205087b4cbe18e791c1d5454faa5dc220d3b21e44822d39beefa5e90654fae46205631c4691d3e", + "78221f48edc14e342ad42dbeccfede07420b9352af9e0a009c49cac2b4564732d94495457dcbd2f67fb60fd77080631cf38b784a3373b66cc2d1ae971a7422562c2df5f2476983263f6559a8fed69c2c76806f8553b5f1f2239677f1a4a3f5f55a00f8391174fabd2852503c9dc130ba219d145709a4f045bf62b2278d1c9c5c2e7a81f47769b2a11b18bb8648a32eb984ff7aeed9c0ee1023886e6a402812ae6552b03419b4da25cbf3bb\n\n# tcId = 91\nmsg = 54657374\nresult = valid\nsig = 943aaab06755ab012b4e062210ac3e2c1a455ca30f1c65beee0f7d54384e4e0d4e390208332690fef5ba0cfceffbfe28e6b05a1ecd8bca3a50f9542f17c39d28195a50203c7885195c7e84da26436bc9fe7fa98a5070e0a1b6f51d8ac7d2734fdb5e0b32da0df6c6c98311bc4d458b4e970412c67732effe67e083123bfc69ed164090be3d41a37bde52119da16a4fc7fba5d8d3ab905bca7b1bccf4699a8abea19d0ba0659fb6c94b4ec6d06fd086958f443a74a783b7440f6060f01cb9dee89f32c2f6fee61e3d61548fb6b3a0f6b649cd8bd5d5a5bbc016f4c737889c79d45c41b5406129066e259dfa06fa2ec05cf9330dec66ed4cf89b80b0f5dcd22c4f\n\n# tcId = 92\nmsg = 313233343030\nresult = valid\nsig = 682272b36ee1a6c7d4d73f0f3f153d8e84e2fa4ac812581fdda214a7b45d6ff7b7b3db0c89da96ce2e651fcfe25596761982799289b9fd2d69cf122e08404c9db0bdf6f8240b1545e76302a5a401ad56522e0a6158157dc1f9445f8cafc161b25423d35671d9ef714c5d33f7fc155424ab2ac34e0cc93bf2ce385721dacdc6251c7e3a5618bdffc8ef3f278477083a96de83303b9d286e64d8297ef0948b996616d34036bdee5538ca0c06fa08c72f03739fbc578814b402671f5d625dc9050d61b389d1f0a32011ac0dbb53b9c2980d315bc16e2272206a1a955ee870df725e78a7c6e9f793f5428af92c670df8e3bb0d567699714b04fede399f49fe19d0e7\n\n# tcId = 93\nmsg = 4d657373616765\nresult = valid\nsig = c86aa0513ca2e6bb14892ae983212cb21cfaf702eafa5adcf17dfcb7ff53c1fc87d65001c639a20167ec97448463ada9b20d40d3e13db23d8048e38e5c05aa42ecb10d1683e3f64d42837274e1e021b3523cf763d32ee69f92180a9e3e6c6ff891b4c0f9f30a7840fe2524bdc0e82b0e19acd041554f4050f6d917a4677155c6e7841639cf86b8439a4a1edcb24ea272775dd9287291cbdaa79e97ecdbd97522e250db7c8d32658891a0dfe7fd079ca5a5284097ad505c83bbcfa82c0ba6cd91abfa0e21178981cd5c635433cffce413a3e03c7afcfc2fca37c7bd7a5287c13813afe3aa5d051d386e4250ef1617c0a58a24caa33e5855c32b457b1436d11d94\n\n# tcId = 94\nmsg = 61\nresult = valid\nsig = 801ec289191d6f6e2ed3d7ba7d8cd78db3add3022c8387f592080705eaec1dca415a04e09d55aa6a8c90f11730e9eace7f0ef892f44377085fa8e72236b160382fb3bca71b71d775e4acd75c0ac133645c64517909530e0175a8f06236839de7f7704f39afdc4720a2d94c258188cf9f0794c279c777e5ef604a31412262cf871e3cff8a0fd7efec06eb1db05b50910733dc8d8783a24c07871908e711b27d0d1ebde4e418ce1216a5bc1c8c85d82fdd2b8bb9f0b047e8b38fcfb80771b019d154a510f2231c6c5becbff35f2c5b1f1a5d5280d0d8b0309db5294fd99b1afe576bbb85e980c4e9ea49327343084a6c29743d3e48316df0623776e98acbc84382\n\n# tcId = 95\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 6ec812ff1115eb60ad2cc1f641479aca46c41da5d8f7b9e59b2dbdb8956f5c3ada3fe162c54bd5835f5e043ed3906a10a982e177f5f68c94ba367e4541b75117dbe18b7acabce6bf7bad0bddc4a1f98382272a655e0222ce4a87dac7f6a2099ad9996603479cf8454102e7ff703d11623cd59e3eb2df8a303732851a119d6c75f7503acc10c57f2cc418863e1b2a5305688c03fc9971334ba06541cb8b3cd192bbebfd5e9252517b17d2b8a3ddfa1533784d6f672e14737c4b6bfc38162ecfee2e97f0a29c98bc6709c922f42ed959bc3cf43764627a9beb32e53d2b35da63942006787476ce89abb7a82ee02e6c9c80ab777af86c1a99c65423ed75fe82acb1\n\n# tcId = 96\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 3ddbf59aae59bfd68742f75b5d3d54e0df117d8975420570c22e6ef86a4244fffa0c377b07d456e746bebbe0ab30aab731dd02a280a9f2e8419487ea53064044e5980a32beebb46dfda8193ac2f7cfbf5a3513e69fc2fae1df454181f45329cce475504c797d9871bacdb7e4c22d62bed569b3775ea0f3561c4b5af82bfc1525dfbb6ac1e68b45086f7f0c3c622f865a40a24e5ac9cb032810073163455a2d4afab738d3174448c233f38ae385667322f2c990853fc3e2297c8ab0c7baa5949cb304d4429ae74b8d970c0409cb3e7a91d279f1b551b366bd405c97daf88888940d3a333e8b23955951fda6b2d185eb02d22afcf158611b3e6488e451c4f2f4ed\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keyAsn = 3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keysize = 2048]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba", + "1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 97\nmsg = \nresult = valid\nsig = b03dd72dc84b305ea811267a489aba10a1dc54b59f92e58546a2f0b6883f543512d621951352ef12abafe4bd6e10c2e5b0eabbbbf1d081b66e535fc9b8ad379040c3c71ec8f2b4f5d319f5d2a0240a767ddb4de1fbc878b2c5e8e1e260217bbd70971789fedb8c677fc8193f67e4637239607c7b9d3511868ccc0df372374abc685c9b4b74b2c5f11758f809b19bb3b5c464db870fea61ddfa5e18be2c4106f3e165fe85a7f8241db2806d0fc3c45d8a7f1eb4ca411a46ac411b81c04fd8c4ced5eff497da6bcb8e2fbe1f95cf4c3e761fc3037c82276f7ebfb7e6cc8534cb4fd34192074f580c6e31008df4f1404ae8dbcb111503d4bdfe6e7107a1ab5cd8c6\n\n# tcId = 98\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 4de4dbf82607b36a5c6778ae6351d83b7ef5b4af64c3788889eb10ef1838822847ceb531914392360b92dee055796f73e3cdb8b3d50910a537dd2244fd7f922780356ea3f01e99e5bebcb1b6ef398d2399bd02472a871417daec3bbe6f89f45f1af0bf819a446dcbbb75c56958d34ba27c8120cee6ff97242921ccf58de9216995fa0c49cb3e6d60e46411b2df3b01b78fa81ca145ce8be594ee009031eda672eb097ba5ed6687a703b154ef616757f94237f4275f54738cb59d36b20a9c84ae133bd715747952f0222573a91faf740e4b7eb4e88abaa91004e72a1709b401616b2edb2784e491f671fcf5ebe326b669facaa5d8a0f6f8469ea995c4db772f06\n\n# tcId = 99\nmsg = 54657374\nresult = valid\nsig = a0f46582cde6be215351bb7b29e8ff24398816fad9e7e2ed6ccf1d0b5296bad827316c18b1565253291fa1c0baea9a735357cff8920e1024ae5707dd2f0cfcc9e6cc81402217d9b4f51e10def2bc2f4924e7d22c022fc87d6c3e772f4952050d027b003ab4267ff227a15cc7c884cdb46bbc7eb38852d0e6d8a12f485ccb0312157097687debb6feaf2b6dac998224c6047c1d5727195bb8ce05a59669034e88de0e4815af00c65def5b9748d017455056cc1ac6d3a77e31fcea4e726eda6be7bd33e509696e54d1d1858a1165fa9ece5d62e493c1a33ab3c94d294838a19f367fb799d6b69161bd9532a6ef317deb919923d78e33309f14a97b68023d600b4d\n\n# tcId = 100\nmsg = 313233343030\nresult = valid\nsig = 9922f7bd01d7ba6b2de255b91209631af92e5537a4554b3b7a50e39f2fe9b6085a7e418084213d445794ebc19be43782d9f80df1daa7498a1c67d935ec00dac6b7a194033a14431320acd1d7f3d4c2b7b5b1649dd93931c49f538c94e34f44fdcb8dac9d31539f87e6720dc887c6605284a6a0408e244325e35917b1e1ccdf5959ca87091827c8157bdaa31239e2103ca8a112cc76a8e7e90f352fb8cb3a3381e52cedf4d4188bf881054b80387605e7041ab149cccea1ac2bb6560b45000601c33ebc31cebdd499c0b8fdafa7c1691d6dcc48edc98519d55d126a757b2a753eda4f2bf35cb191face371c9c34b2ab57242053b9ecddc91e4b621e650432adc8\n\n# tcId = 101\nmsg = 4d657373616765\nresult = valid\nsig = 99996fc01a53bca03382b96e9ad83a3139bfacc5d37b180a099fb5d515a7b78a5c21a339ae6bd2bee8e0f503ba2bf892c1885ad5f4940a99d8d49df6f4623da16c337a011fb895c006100286aed82977be3fda054d1e935a872939b704750c3e2871c33768946e65a737184efa50060c6898247a6472854884fdbfc2533c936fe9c922d881bd5f093851b46693cf633e25f27efd6db65da3ad96f2e8154ac39f2a9859f15c919a92c8cd22285c1f9e87444e61769f6833bd0d56106f87825e472e59caaca1fedd8d4065fad9dbbc252a84c196bf5d6c40bd8660600bc6c825bc7470aaf4ad118c6c139a5c6fefd5223ef490d4afa6c06269ea8c0054aa1f368d\n\n# tcId = 102\nmsg = 61\nresult = valid\nsig = 7930ceed4b191365ccac54cc8a5bd38498c0d0c1fa5a862b6c0744edf9bf1969ec4f3c7c42aec737438acc797b8301aa8b30be2a4a4c1323be0427411dc8be84881036e9062a55fa2334176049305a44b97f90ed0b3becf56f8c9f164ef0bb45729f9fab1d459f690c58f07ef5ef89f21b15da14a235f3012e6f83a7f226e118d3b7fdc9356c39667e1cea5c667b54ec5ca6a0d58ad933484f447c670e5bd3647361c81831dc710360a90692eb7e4a57ad225b2516d9c3bcc77323a9354d1b92d0b3f5ade911f5faac4e4bdbead32f3349840ee66f4010789a84f0934182c2b0cb7d6e72e2b2a6839d03d7c9f681bb7148449161ed50b4466d60002cdb7492fa\n\n# tcId = 103\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 16b5ecefcd0167682fbb3601a016bfa8bce9dd5855bf305ff00b45d97e50fecd27716997c37ebf8efd8b269558385b3ecaf2b6e38313508a7a14546107b75afb450b1a0e39cd0760151b666451bab43d7fdbd93771e9d98152ac889bf1abbe1c3f62049c4735602ebd6a90a0361dfa08417ba03c55fc6b7bfabb136851ab01eacf528abb1129bef47f2b04e2aa24c0341720f728bc9fe12cfa5d4248976aaf7035d19c18302fb9ae2443286a71198b500034d48113b705c83e64561762c583dc013cc099c7e5bfecbfaa7b971c8f1a4d3868fe0a4ad518372ca68c65bdefbb726b1fd92ad92ab739d2bd1af97724dc076ba011a9f32db3979ca4cf94c5370b77\n\n# tcId = 104\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 1fff6827cf12dab1e9f7b152638643a71577021177681eb4f85a57d98f0aa4131a680f9446f4eecc49bac1e5232c9e577fee389d6632dfd32c76e3942e9e89f45789e5c7969dcc4a8943a902197431c7f720aa502f36bf29f4216f63ed1dae10fb0b1d4667f422611a5f64c69d993312b65232d3225a0781d7c83bbc60281f92aa654aa0263481455099920bff07c6ca29f7704e218b818ae323854db3cf3c824192f13807890ef1b18f4c9cdcac1c7c7ef7d7015d4d924d4ae31cc1a4c432c3fbcc2f43f155e90560834fd406d89792db0292ce2c19e0dbbb1339a6c537432881661954b36ebc398a65b76f32d5b968592f54479259f94b967b3cda34ee86f0\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a", + "20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 105\nmsg = \nresult = valid\nsig = 157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade\n\n# tcId = 106\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772\n\n# tcId = 107\nmsg = 54657374\nresult = valid\nsig = 5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1\n\n# tcId = 108\nmsg = 313233343030\nresult = valid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n# tcId = 109\nmsg = 4d657373616765\nresult = valid\nsig = 08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e", + "541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349facd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e\n\n# tcId = 110\nmsg = 61\nresult = valid\nsig = 9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b\n\n# tcId = 111\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c172cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11\n\n# tcId = 112\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 6533f9ec83cda0ca8e3c06c440cbfcd4e5d98b07ecc2419714513b454ec710c04d1ed50808db5131c69f091a5a088a6d9c93310ba7a9616a0b45fadfcba655290624bb529a86ac215f6c76c89030c82ebb8b0eebebcd2a398978185f47284cfe119b2b6a5ecf4ec1a63663c351e422599004481207bc7c15aeb1ef30248b3c2935c7ad0b2205a2f62b7baac72f33ac0b8e9f5d146a269791d901310f64318cc66dd4283008214b6012ddcb1e7450763b9bf236a4d282a62f91cd011af439278c2812e4de55f6480bf6b31e60fa57d7f40d9fd56cb9339f2664d95fc372e204a0271014d041d2856bc29a536cb8ea5d33fad437b7dd4bc1e8244e10c08e1887646ef322b57d77c4be94031811169cde14376e91f17bd71903ccbfe320921732e69260756718b54d1aa047e189437a1d0bf9edf8019b8ed4b173aba3448e7309a443443bdae326a9c98d9a66c271e53b8353d0340b4cdeaa319b0aa45dc21f0e8df6117b80d7d6a5cabbce40f72edeec42ccb5106c1afbed518f3d8b7117acfde4\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keyAsn = 3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keysize = 3072]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca809", + "51c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 113\nmsg = \nresult = valid\nsig = 473432cf11b6f96b1dd41e1742ace21cd10e8dad89a3e00ec68f3b45411059d0bbc6c8a3f077bfb4b12da60aca86dd856934061aa8e4c3221a019b7ed3d4e70ed8bf53fa140d3c31877a135a6ae140e021bea9408ee61fe7f32e60cd18932282b1aef1019f9a39789cb48991e535568b55eb26cf96e9bab35d03121f6be9f0d65079b064cff923edb5639cf08f48ecaec0670ab37b03e4cc2e604582e1cccef79f262c8b3d146887303c542ae7c455b0f68e882c5e2259ecd9f76cd3706e9894766089b267ed3bdec29df5b57e6a6f8deff21e093ce611724ba1012cf63aa2c62e7267af4b1df5ef030e6cba7b217d46fe43fab255f41ce086bec5e4f604718c95acdbd5c56bf8b68541ac0dde0a5e0f2336ea608864abdc5324b29b9f7bd35c514373efde38bb593b8d4b249535984662bf4b397b2a584ca15624416537320fdef81133d6038edd99ee19af9567c9fa536474effa925555c9c2fcea525fe2da935b791ec1d7d3bde33a58f80dd1e587e1c433239c65332e94d66d3c79bfd190\n\n# tcId = 114\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 69d89aee9a1b9827228c40c3f3bdb9479ed36bedd2c77b3f5dca19917a5cde9636b9f6ede29718a391224ab58f464c9052b5e6786178194a90ec04d2d2b7513b19df2799b0e7a2d6d1ef2c49ec6870fb8cae45ee1103692da8d211bf61f656d304f69adf68c0227c7af5ceb8c2db4a3668bb6a1b8cc3a437b9df79bc0dd650d6e3a42295b4a6e23d40b3a9b7548f3760e0faf69200df230d2c143807b2f35fa449cfa73792844dff5d2ae50adc272c0dbacacd60eb0b7964012a5c1981cb2f358ff53509f90b0ec41259fef321e9a306a08363ed194e51ab6dbc00ceee576c048c02704a19f8f357250adc70cdd2819157d71af04ab0cc63ac9c6fa4b5799eae521e275f26ce53302017510826f96c4a2889deaef19fdedacc70a6598aa89e2bcf373239bed98d1f2267fa7c2436add13df68d9ea296fab52fed0f5ee46874f48735fe32c61ed2b1c977ff1862ccce093bdf7d84a6b03c3007c4c926d1e52d81dcc0bc2a553a12be363b764f6a322e41a8318ea7408c18e33c260aa05d039625\n\n# tcId = 115\nmsg = 54657374\nresult = valid\nsig = 259332bd5a274bc347ffa3e8a31c8b27f216cc865d32c917a5d7e4c06abd44b6c024f44eba997862c812d8ebaf7caccbb234293178e44b2532478e8bebf6af5f83318ebe398e0850e929a89cda860cd18ec94554e4e0d45a9ec2d9acd83fbef2b5d31dd7b2f3c12e791afd3e39a9437fda7724c9426194bcfdc6bd52036f62aeea7853db2c8c498103eb60180281170aa0fae8139417974d917090dba8f9061665e92d953827dff4d450f5566d2c5b753b65c9b522a0c4da868629569a666b7c292b22060e92acf4ed65e51245403a4f162c8b504b85a810906ecaca2956d395c163a7f6f23573156968ecf62ef46b72b9ce39303681e354e91c5d7944cd3288b2a84a1ea28e7e6f260bc5f8d92be419ad649a8f55a2195ca46130922d82759f9bc030c8b122211d952c3ee7851f09f30c2fecd1070656c69c2598584b55cbe6567dd2719305dc52dfda03ea289a5db920fc2c777e7081cfd92864316d3fca9aaf8e2218ed8a5235e746e5cd9bcc856b0c615b901dc610f0193171869202e845\n\n# tcId = 116\nmsg = 313233343030\nresult = valid\nsig = 1f32b36eb43f87b18e569fcfe7021763bea0ca576cd273c0b20352906ed8484428d250241709c825704518ff9e97103bb70cd26f437f87754bd40407034a9653d00e868a759a190f3067ce5efce9ab17c8b46000d88e2d9e68b8dae0a0eaa4a31d3bb51c8c8d0fc839b0b273c83dad57016b1b5c1d8eccff1c753e5c6d189ed07b801f0a54a1144c142011fd3226451faea43d52597b003f9256cedb0d7d7f56d86dfeef50179a794f0b0de97da1926e9491f025bb3c3e8e031661e0ead860c8914f0b294bf8cfea2d5ccc726ad0743e192510732dc84301eee15eca3c6a5213ba66d0871789315f8537a44b727bd8a10d6e54636b345715fc0b6f5b5116f22557b0af9f948558b0ff4a3b0faf1de7da1965b977aaaf039c5b7b09b4f03efeeab3189d2a09fddc3983e4815df35ddd1c2198b695cffc35aa6662839f82468cb676b677d53ee4857ab9be7bd99e1749c811e2d6584427cbce14d2ca15df061165e85502420602666993463733b43c1c1ebae8d37780470b8cf5cae31cd7427799\n\n# tcId = 117\nmsg = 4d657373616765\nresult = valid\nsig = 7e3165358b5d09ab1ad1599935bbdab27abc32486910382a0ae630f725b5dca5ffaa9e606e2e555122c1e0f3409d7d915ea00d8784b814a6721d0dd117297c951c8d225a484a549e488fb80f996ad65490a09defb0b46f9cfca2e952b04dfd5418da920dfb2968e48dba8f0729b16fa32a832fd8b789bfebc63f01a1190813cfd55ace949d802afffbe9a1ec1e6a5df196e5ffb241c918d712e466f30c66c0bddd48b57ba4d0baa0c2ba9bcf519c3a26140df6aa5efbdd5ac9beff48613f92d247b35efbd6014f3d714705933e47d582f4a5da05b15a79bcacba1aa15a5fd6ddb228bbe4c5236f9ac607f41a492e6b1c92bd68ce30659eb5b27a5b2f76a5867dafbf85a9dfddfdd476c383fd03e38e81f2e1434553643e652cc006e5df7313272335f122a7fd9cae6f2f5a7da65865698d6d08d688000a730c90919e1826bfa1db85d5607ff9d76cb100ea1649442cefc4251a8cc1d823215e0ad1abfb2976bc4a6b2bbd793ebf9c7770957dba1e2a8583d9a82a072386d0957789b450993c77\n\n# tcId = 118\nmsg = 61\nresult = valid\nsig = 8bc948c5c16603ab63e75e18bc7f062ea4c675ebf98dcacc1a9826b0eeab0004e2592b07525fca53bd288bb56b5961aea93b548771068f5b0cef467c387e2d62c91e045872922b516dd6c5b8ac3615c986a9c8b5211a05f63e82387175e8749709951273cd9d8b2eccf678284761c72285be5c189c4400629c26f87bf18ebfe5e56f2057fd91fc9209ec48a872d6d23bc330f1c81ede7fc5a0e2b09c3a4735eff9c8adf73152b3406a62656897c1eef075c4fb02244ecd93912dd36fbe0d358a71e02d2b302dbebd28ba50860e4a963071f0a890a2e400c18f530cf9440a897eb2781ceb17bbc58f61828a6456b93c86df972c42d082b913c4d8807b7563aafb7b330ec39dc988674a5c3b36f6bbdd096201f1c7c25ca9ea8f28e923ba46dbe93910268d6e35cfb605b92ecf98699ae9b09dd4634d1280586c5e6bb0b1a4b5e5e22b225453f5c66f9a7ed7fff83ecb201eb157c76c9beff95227b495c8516bbc7118f011cf9237b6e794bd7a9ba19e35d0a650dbf7c06a0c9ddc95f108a78246\n\n# tcId = 119\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 09ee821221ce7bbeb4d66ea3ec88387bb5c5bfb055b8beb36ccba4c2ce9666b1a09935689db1cc2312d797ac8b6f62643de736f38269a81f969308eb616cf41960341fa8edd3501f4edf73736806b6fc1387df4ef3e1e26c03249f3db6471ed580699e8ac77d0fd9a78972347e8657b6cdfe172fda324eea00d60d38b47e066c4a6fc0e33f75d1d4ecdf46efd966ca9aef80d22e43dfc2cd0af37fa70d6df7c637c3c18a219bf58dc1e7bfc941a235bfe81ee7101530a2c264527608d7148dd91325b7895817ae50d774e8dcd2def8a476a9592d55be743c62c1192f0ad69981fdc8651c1db828097ff8088b720c637c60c771b5091f9d9e174bc823115a1f7dbf086f9ad36a403c2d710c47af4753fe6e43c675c30219abc2b8560bd18c25aac719546ce7a74080fcf22bd4e6cffc270e57baedcf2739c5cf4fc5fac18f5dd023301caac1b1faf4dcc65327255ccf54f5fbd3cf82801a8685c2eef3c5e7f608cf6f747b8307f617fce148347b76facf0e1f7895aeeb11e3225e3a6066a244ca\n\n# tcId = 120\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161", + "718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 337c89d91b74d44f3eb0ee5d3ded458f41bf3919c02db91041d1e648ee845641a70dd189878feea4343c3852272e6e5d2063263d546257f0642678a07f9a8badb42177f67aaa75a76c61f3a432be808862477fa3f9c49874fecd5f377ee5aa301058b03eaa0b7f04e6a152343a6d1fbe8abf910154c22ad3200f8b9a200e6bddec116e07c3ab66951c106c599f21c3946f2e23bf2fdc34bca5d54602714d6b02f2de95abc37d63272665f0bc190343cf1cce73db0516829679aea385822100866ba8a60521e9befbe9cd8e2c11964bebe3e3d1c99063bec91d21da8dff32adf39de3059278fb672872a60cd2cbe94d4ce235e69225df72c27e1349f8319851445a9aeb2d7a7aeeeeadaeb70ff6be4186ac6ae46c21a066baa76973e2940c9331496f562cdaccb98b0d6a39570b026739e00132c6f1a0395ef9ff0ddd901cc511bf595fc23a0666783098c2916eb3e3d50b7bbe75f5f111585c5d9d4bccdb9f685f76f84776dee5c154ab580a49b8568009a20143a3e0c0071cb0c599a16dbf1a\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keyAsn = 3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keysize = 3072]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 12", + "1\nmsg = \nresult = valid\nsig = ebf3c64e4c19fcb0fd920e65554a552cc1e652312c2e0e51cdb3b92c94b2b41ee201f61f434a6aa4703e87416388f4661c04fdc2e459e199af3ea208c61b99d746f4b00d82105caf4f0196f1305e806bc13b4c6e6bf581962862dcb0eb15a0ffcb0fe6b36502320011b540799e1432baf2a56a428fad64811afb57d210d859a1201ec057dd8d2a68784b48dd07357162f21e4c82f8d5e385b1f72834dd4c0d85ffd333410f08ff28fdb7365e408a60af177c80298726940bf4c40efcddceee3945b1d921b9d04080dfb12d3ae61863ad2e3e302370f5a8858a1213dfcd500269ebef76f4ebf0982a751d8ade1aeed95f41d4560084711362774b11b6240c0ba6ee4ca634ba8298f6e63ef560a39047481b9eaa546178e69e4daf5651c66c6235ba97c231241c63ad16efe59b7b5505d9c3f1818368b9462cda71849e431648be9757620c15f99ca78f4e250afc41ffdcdc52693a1fd43506274c431caf34a4d37321f5ccf04971a25c5010b9ada07596bf9a20bf307db9d5e86146226081b25f\n\n# tcId = 122\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = b9bb1751f2336ef5126508541b949d40f1719bd23c2f0fed64a7b73ebe1819377e6e4262f8440a3a3cd456f5eec0b1c0956bf6989add2c3d1c7ba4acf7a617d198179dd974051fa7a14ecd8093ad572d7e233daa2a9a46fe59bcf7e01c6ad8d68c0afa89a58247ce257566edcedd799173e2babadac15405e2812ad12ad900ad997035966a05a02988e11133c21e111a8e06d7ce509de1e0c11de55379482cfa072348fb41c05083529c2db86aebee92095e7450a75d97fce7b3103ef1f8598459651dcb9b6e90f299c9efc95d7ced2f6e91526ab3788238e2b5e109d3ea984189ea13939d58fd4ab896c76bca4f6a92fd3bc124dddfabef1f286583a1415d1fdb8c80de8e7583fd6d52836a22c3926f69723301904532b9fac2a37d0cedccd4b3d0ddf3550377191f813d4f92a5c126ae91e03fbffbcf59637ebbf1f30acba1dfcb0f93285381cec6da60bbcc62074075c71300f8424e0f964422dfac19d205251f227614bc13568f408284b6b53bebd7dc4adfb7e242953564763292d9c01a\n\n# tcId = 123\nmsg = 54657374\nresult = valid\nsig = 1cc02717a3321a83da62deb3ed0b9706cf7ca9fdf3674617fcdc3364a697825b910d54b891b5f8eba197049047cf0048ffba6425d47374ec24a84f1f7f04716b7ec54daccd04aff858e2e7c8830e4420b5f99df756018083abe46d3fbce2da6e8ce6c893fc11ce5967a5f367159f9ad38d957078dbfbd32e818a26b49ae00151350044d22b58a4a61a35fadef67e3f8247f407f026eb17b8dd4ab29d388bfb271a1ec606e141cef3fe57e2e55ae8b40fb076a06f5898362b695545124e9c185c50647cc5b83f09f406e780f626ec60462fb50caf8560aa72fbe174111142029b19f2d681f771a774afedfe2500fd8b1bdd437fc41709253ffdedc302f47afa774f5ad23777a57fe44067182f4b35a28923edc82255cce11d2fbe91acbce29289b4e0e8f5e99e906e6607637b05eab4028d85e91d060fc1fee052a09baeea759917b34855e09b8e5b67ad60f45851e991cf01dd528b100327961eefd0c29f1d1d8771bbf3bb1e7f048d9c2e1dc5e652e6ac4f6a2aef86245b83f611700bedd07a\n\n# tcId = 124\nmsg = 313233343030\nresult = valid\nsig = a0de9c2df76523499c6c344173d944b8e02ee1520f90759fa3c27ce284091f80215a9a26c9fcebc125171da556bb732a0645cd64b05c7cbcd8c187d3995e3c86cd59468118e9278ecdb8e791badca8785e56f33478ba03eca721591930db01bc1a5da5e193b2dc9022e98948644a406138a4c7971ad8ade585a3d72e6c9de50320b9fca1ac0e054835005cd39c96400c491e1b706eca22ae2e9f1b844284226fdcdab1f2cc942a8280f7786e0f2cd069b9ae99f04aae424a6d24eb023e064513931b2e4f7629151af6bf83f4c5c58616960f080c6f96eeab07a87b6d7cef3fe6b071e49ed340b48867a5bea30dee332cb89e1a54d9e3a9a8bbb87179c6ad206fd48dab07104b1f887a02160b59f9ddac6d1f8801c1a8df507ec199e970e02058c749475b7636ba2def322160b11b21773fdf904cc665eb5eda887ecb6d9be245d3dbd85cde107d082cc6d8492a087166e23835a379ac69f5a996ad9032cc41e205078c5ec9c50f85c396822c057b25595a35471a2fc3bdd3f75eb8ecf2d1189d\n\n# tcId = 125\nmsg = 4d657373616765\nresult = valid\nsig = ddad8eeace34f1eb1b0dd28db89ba710ee68aabb54b0a826c2d69355f63acf0f2f2e0dcb96f388d44d0940774d7d55fe81ba6a8a880aeee8ce842101c7e8837fbf2704971341d38bf3289dfc61a6b3b557588db93eef2789d3735000c8e2d830a32070626d079e710c943082a8bd1c0cfb64b2dd911eea76001f8e08cdc01cb072f027fbd9c72331b857d07c1c2f3090eca53accef8b3b015438942e8d2fd3406cbc54c7ec3797a163b13878881f7b4ef5ca45056e16e0c2a76c3d5108c6f0f48803d27eb4b0d55e90b19b6fe372dceaa61270b9efe2800bb259dbead955635ca44ff979bb054b5cdf86d4914ee553d7d5b1a49fb8e49f3f761224802858458f702aa4428964a32a45bed5738224517489f2be075f9ec7234a019005be922b8265bd78abdeb1d1633fe7e5aeb37b61d36b1a03a06847a812e50ed551853d3cdebffaba8b056b788a1bc452ebdb5a3f043a116e5a3d262c745fc15897ad4ad955595292a79eb85373d552d6079ad77e469f7d3a60330702125127b1ee770225cd\n\n# tcId = 126\nmsg = 61\nresult = valid\nsig = 2ecc537edc397ae5c3c789638204ba3393bff5cd9c1f0552db515a8258a311b6bdc88325f9072d2ae67bcf132a92c0b4d01ef0f2916349adc6d8f1b415c86bce6b5afcf4cf2d3137897d0f8a33063a0ff69965a5d2ef00dc3e010094ec8214c95c064313c8e90bd84e34c86b2e19b056539bdb3c83eec23722b3e380a53826bbb31cc97ebb8ca77cfd96d3e6a2da59baaace3883c652a92e79653941c5615bd30c77aa38ad74c49d36ceb9f76544835d57f0cd14999c2c0cf3debbee17a8aba6d777ebd9ffd44b09e093f1a894a8aee80301c3a5a59626a79e445254cb1df1174450bee22a7518afeeb15495d663af289dbb09216543bccd136abf2646bac573551cfd04e6a35b5cdf9729c8b14d34c06660a42b3ab365a42ffe470b69062d0f305c733c43844565b0b94d49d2019933de9686088d219d57b256170c137a21475d03f2a7e0783af11426fc6e64895fb92da117702e4487558e8bd21db82f263c4bdc64065c4f66d87c87889ec5aa9cee02c95d001b08636dc3420f817c228dc7\n\n# tcId = 127\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = b9b492d4796fa2cb7066069a00e36aab8b8755f9dc8294401137efb3e2681c9b57930c0ba87b45c9d70e214979cca91a06562f710a2427660547006ead7b3e619cf4652131fd84999c5ff1c9a1cf057363b8ac62501bbfb1fae840cc963a95169c658add96c6c969d415c10bec5e2457a5c3fa4fe81e7de1afdec6f4e59e3fea185c7cd1bee4b8a42d2f22c7bad7d4933621a0cfacf0136abffc3ac54ea37c63af719425084cade944999aca3f43c7625d22af10149f39acef32ed7c92f781809aaa945b2f446a03e66150a524c7d88b7bec587ba7d6fe2db4ebb7a8c3bd46e7fa1cae291ff502acf33f003dfd1417fc60674501728e52490476d813f0079f56a9456909ccee3b76b30aca26fd4487527f4ee6283bdb2e72393d661ec0c35b2d1675f679f823fd28e044fed090721ba4c6be46da3eab26e5eb356d17d04fc3ac31425a6f6a50474e2725bd4dc30da74fd3767a122ced21671e47b1fb33bb7018349f7cbc916c6c7f4ca7334735a0e0ec18e01735107bd2ff02cd9508fa5832dd\n\n# tcId = 128\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 7efbd7ac1c16b211d9157cf3ab796873196b248d69d5428b2f143404b93d73192eb111b3c4139d0291850d8067dc9b250004298f9690dcf52bdfe024697c21ca2d0cf84b9215ba22ae16c787d84346e6a5e4b494cd651abca905b3fbddcad41b6020eba357498166063e39886731d5eb93434ad026e70c2b06c0ec468e2f4784203771729e6b6542eca06a3718c4c66612818b687de480d379a180f81da405d32b8022aaf7ff55669c9487ae2fb4521f83e37aaf666e95858de1f1b03bdad2c409a5e0c4256b05461ddb17b61d7e885bdb1e98c70a102713a4e69ed0a54c385f0eb4c46a3f41c25b28867b6dd1a7ef9d2c5ea40c64dadad9f705f5107ef8dc91659c0790ecfea83cc637fe5d7540ef21bf608b7830cfa03166526b5b2ce771582dcc534705ab4b8427b55b891ef0a41669e4a2c4170bfdd85ed506bed68ce20e359679e1ab85150e8b4d723b03455fd80f319e5e61397e644a98b9e43b73564a2da455f7bf6e8b81a2825e0fdc95a96a986bc8a5b8daff8d6e2c94bf84f20a2f\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102", + "b6c788e0f049]\n[e = 010001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 129\nmsg = \nresult = valid\nsig = 368105195f0dc82c2cd37e8edc6ddc0c983dc13ddcf6f9db9a24b52921e5280319a1bcf797f774066d643e5c99b811f0ad9df2a3f430f484", + "8a03ddb97e06daa4d01ddd50bf2b638935cd26b19d6ffccba884a4e7cba35830c6cc5ccce38bc0fcc4ea421347e241711a551c67923b3daaf2e9c51635d416cc2393a9a4f108f84f26990c11dbaacea75e39dc6082b539cd2c0c8dda6c78cbad12e14a352b9dd5c92a3702d8538fcce0e92e26489ea83d75c174ab671210fbc6c397be2167864b519b5136d23a4363ef773ebc140e1da4b0a788d7b1f15a300375ee42b27261675fdfc60c29bab7022dc2e624c7d1f31e278ac089c5880e701bec41f63c8f897c0cecc5eff0a801dbc58d7d4df6e860c20e61f31d9ab2d50e8fbec7471070d8ed06c4c9c725cb63afde0cc4475d3dcb7dcad7eabd874ddf7294cd9d2a66b13b6367a14dfe3827da0c6c8b9e734deece80fd79609ce5ce0a16de6610fd04a09b0b2411bae2bc3222ab4c02867838d0c8346c60589e6204b226efb401841fb95da05ff32989ef935425b943d1b5d2f8af5113491a36c60a98c90b6453144f5fe00a0df3de8d02f0f59c7b94ddc7c8895b1dff8d88f69a9a2cfbb55eda0837800950601fc9e230a5514c9674fb576df8391c51ba0febc29c267462ed5337326b6f40d243ad7d81459ecabbd00126b2142e6ba10d9f903a9918d2280c63ee84b47062e1\n\n# tcId = 130\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 46a6c9cd78e38d5567795dbea71872ac16da06725975cee7d8839d2de665ec3b8411277f3e026fd2f9b836d788b48539755858bc8be0804147b59c09354b372713145e5a000ac15744ccd2db5795727e2f4d5f67bcab5e7cb1290824963ae88528aba0e6785989c8adb86084d26dd1faea3ae2a6175739fe978b576eff673832e513419806d206e0984d1ef0e1c8d8981084ee2ee569806b003fb7f08e775998eba1771f1efa070c00a769363c6101d5c5fc6140f102469574cd09746130ed80d14eabcd0a0418a752d5595b5f40ee0fb05f5f9860e600d75fbdd53461f5ea18be5bd807281f9e8fd6cf7eb31985206c9a5033cdea631512bffdd977fee5e692b3153a2ce9c7708a9c7d665d84762740cc9ea374bd32c18c2d76320e4893a2fac374ca7122e01e08011c351bd33725a6adad96becd44e4ec1032fbfb0c8dcf13cae9556eaf419211d0149c574b8d12ffe5bc59468c7c549283be541697258af847e52a9aa8063557dfa40404adbaa95e38ad28eba053aec3c123e98ab1b947bb774841e9040dd5409068a2c8a84c530fc4273897ed845d76dbafbf45af1a8fd2767234fac1e852453d8b7eede02af228d8b5821238a50a321490dab74d687a3400c34f215b85823424c9d966b516cccac38fc7f08769f47d66c57b9b75ea67be82508a513946bcbc809436efc4ee85f139b143c5bc15ff69ad1f3667c3f69bcf\n\n# tcId = 131\nmsg = 54657374\nresult = valid\nsig = 43929c2fb0986fc4570a3ee7f6701b96a78ec9297a997415a142ae539031c0e196add5e4c6ec572de0a2b109cf23a42567ebe98f42cf312d07538e4a32b0f20403b662c652ba9e3d6e38a625d6b5e91cce5c810d7a02262338e144a57db4ac4debfc536e8eaca7fe08022a2f64741d66d25e3010f2fd259d4c6b00582584bbbdcde4266d86eddfd0443ff24b06cf7ade6d733c637a48a398dbb28355ffb9bd21a49de6b345ef635b68d917b5bfcb9016f7c64c444dc0036ecab8f59b0d29098facca02335df44db87d30d02f08553ffd0379b33d13d09a385cae7d63b6db52e9b1eb8fd549e0e1e18210de1d3e9527547e5c72f816eb36288b09d96db772f955ca46fc8cbdb6eea93c841e1075c00c3c45e9442d28095136cc5ce8212ed8c60c9668898ab5d64734d4d0f2311f104cf8a732e6d88fb2064cb57bd54d3cdef7c11c840ecb238466c747289233a317b73785778ff4349949da47c9b4b2dc9f89bd1fe7e98b582500dfc05dba3fa410cca66acd854669940543c22ed1038eac7f0212b9ce4aedba0eb15ea1e75a73c45c1ae03fd241662e9cb89b051939c468db3a0adab822617b5bc669d1e0226cf6b475445d9d5e77ef54ed646cd81f0952b949b7f4f37381ba6427e060966467a76e1d9261a5fe8c68398a89eb5025cc39339885b6c33dde898a159f0af4acc81461fae37f5f4c61de4a888dc4f6b1e2b7336f\n\n# tcId = 132\nmsg = 313233343030\nresult = valid\nsig = 0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247\n\n# tcId = 133\nmsg = 4d657373616765\nresult = valid\nsig = 0a882c367ff495646c21ef0489ce268d6c4e6cd0176bf9488d4b8edf04e1706f23d121b500b427eb8652099689429a08e73294cfd29694f9b4f33ebc8a7f9d0f9d11f114d0f848114d116ebcab828c7ed4c64d5ddce9958bd0883ae82ee2be0a185d54ae64690accd816971ea5ef80d7d601e72a814b9b61e8d00727a843ac90639f2c83cc7e2a9065ebea3e7aad3b12dd9ed8a1ee03a43e669598571490fd92b699d2941fda3af7271f8864c844f8efcbac20066c7bee682c644da2329db721ff33a7a81869a7bfb7a910fde6008e1bdb4e9ff989ff78fc0a9f43b38399083808fb3f38f0e96d4020bf8a4b329bbf81d59dffb03f5d1ea34276ddcccc2a4319393e1777488c843f9b0aef1fcab7a97e00d50f7f83bbfd30272c8ea4a5b0d7b74e7f7b70a9295d0e942e5b6e627ff8457d0f60c1aac8fe10b7d7ab1b8cd18d3904bfde2a316a83ee2b7633c3dee3141fbd61c8115f88ee7ca4b2b677d1803a1a35361c956c1adcfa8c8e10f0422eb3347b4983eff3c1c79e7da80a2e7c6d55e61f5af74254bd91db0d4bc10c3812513d832bd6a603a6bafd29cd5c062d9e3b74631f873fb3ab47e59791446e5f795d6ef5bbfa267a541d4405dc09e82c8b03f51db4798cc96dda7a7bce7ba9c679d851d5dd2e6b3735aaa2fcff0d558d68959c6af8b283fd383315762767cd0e4ef6e027020148cd3b14833cad4d92c2c9ce15\n\n# tcId = 134\nmsg = 61\nresult = valid\nsig = 374603f5d4728526e6cc7c7bfb6f456bd33bdabf37d942dfa8132a9479f6e4a9c2dfee515d883ace45cf1d660190e442a9ea7590d67aac9bde6951314af90baac21bed537c774148afb7927337d626525e13fa15664cdd78dfa5e3886ee1fe7137ad5f69aadcb098a0d49475b0f76ed1bb86cbd08a0cae9a6ec120eabd55b7e5c4456bfac2b2acc3892110b7f62c0dbe7ec7e491474c5c641453743fd70b15f7a726a0ca44a78bfaf3445a979bd4df362b7f29d4ed9189bfcdee01476cf1b48c2edaf02d226b41f587a8db161bd36e6ea20d64c8773fbe8c0296b9e016ccde333b380161a641d822bc65d3b60417534072263cd461a4f77826cbd0508ea11720081c34b12d80ef0963857624d48c53748f279bf6ad338ba564e35d37d1dea27d19ad5dcb76d6f4aac62e49eededb1121e06b9f78eb285f7d7ee2cd475e791cc04c029cb76e5b33743aca3ac3adf5e317d95aa79a2f0ac3c328e69ea4692661b8107d89eeaaf3be01122544fd9d0c61511e87c6a5507c5701655d35f71586badd55b26363b51f019896c03326c72332de5be8a0f146d630a6e747a906684c7dc59d3bda667c8a92432e879f6a4d91d3cdca89b9840285bd8a22e5e5bebc32011725f64cb5fcbade8a5f5f9ba372a9be7f0a4907e40b4d06feffee3a558fd023514b504308a1d821c41955c305f550ffdf005b9bd5dfce2d16d3d09bf17c156c4a\n\n# tcId = 135\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 401bf4e63be4259b54c5909797b2b01fca18a6f74d76fecf75535f2876079ad9ee56c653dafc3513eb02114f5c96efb4025cf58c2cd576d003f688b11458fe3df1657657ed52b2756a99b48c6722708ef11765c8da2f3b061c779f26a64fe13e4be4602d0ca2553793d36c23f3194705e34a75b9b91ff7f4e554c5907b85ecb561a8d22262aa3669cc7be2fc5c21b9170869ff52dcba46b2b1c688e4c04e7a8f099e3a4196863bd1e828fb5ea5443b64b190327622055d44ff4c9999601338e56c175c716abf8d6c2ce6b9ef17930e846745e751f882ffb3f0b1a20e68ce9083d1466295caacdce85bd4a34615d09f2051839ff83650708888db818aca9229c38ddef86848a2c0c88b86a2f5a1079dcf0e888be62e116850b7e8d06785627fca1899f6d7c02eb60c3bae0d538cde8a05ef7281bba7f35757360ffa79fdd08642b6af5aaf8c71a32aecd0e9f3d9a2ef164da1740a5c2dd7943603bafde05e38f2ba78c15c3eef13a5059f3f242f07af2e6044896d1d6d9810ed3fb8203ca4efc116e95d2f53be8c55fc1ce653f02597c0df7d4a7dd88b41c2a65e40bf5dafbef2a97e4dc3bb49445774cac283ae131c08492c9715712f998241e16eb776915f15b7e9544ccf1dc220a9e139defd63cb2951090808395ce56555a7cdab4564d82151ddc0ba00db24454f2174bf0fe7ffe6e2d9d82a92437890bcae1601dbcea29a\n\n# tcId = 136\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 3b24aa8966f2e4b1e3b08b60479b69d415d679ad786e527c41c5059ef17b4df55951f3e7fa55f46c3b88888437747c9a90c26581461958fded191cd881adabb7afb8f9f19", + "5181408dc3332c916bdb1f4655eb17e9e481a2c647e56df365605908402739056f0df65e09b6d9594e0a57172c91be078f306f59d3d861a1abd9374a5ece07f86659ac9e40d5d4d8f73105464b3b86f45ccff1a4b30e7a7fe829e22bbe4e9e3d2b53c5969a3fe364a4caa0e69c5b0135cb5ba73a87d804f6a475b95f255a0a8c7f0c81c98ada1c72403b691b8853dee397337cffb707eb962ecc9e8af2f21cc014167fd56854b61f82bf32097182f4d36cf34c28b2303d9715046618c9dc2adf759ec8ac5829a8ca162c98e0fcc18bafb98965f655950e66d9e0083a1e1c452a4ee89d6b34b3fdb54bc8da0be3210d888640fa1ee86cbb04158b6b6100f41ac8ec671566779cb99f26dd1992a5a7dbdae7e61d85abe48a52d32b4c4acd452cd58c842c71de44ef94b3d19c53e1db1a0041f199409bf11b27a6ad0830aa18097e8c5d25d42fc2e4826649ce7603ca8321ef56cdd7aa64e5938b18eeb2f468aefc73b33ec333ec8c889b8378b83fc717ad28702ff5116c23f7e7bf18d1e4781a4f7b7fe803f382b50ea02b8c60321318abdb48d04432c924ba852e269f61eda1fd39baca88bc3c89621b60e03d82f41647ef4a78c9fe1976cfeee8ec3\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keyAsn = 3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keysize = 4096]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c", + "123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 137\nmsg = \nresult = valid\nsig = a454390b04bfdd69c4be2ad1bad96ec901639f0bb60df268415b4a93b4cd53510fe64f394b319e66ca8605d7d5f7a05dae5eff827060013503d857a977c09ef742525e43b7e69d3802a58206e696848a87ee17b2b9de6829044349036554c659c8f8866c401fe85869c0a5ea90739c4983a1561a84e4f0bceb00015a671f5283f41f0bb8599774829b6a2de24f14d83351c96e35ae1475c8b4bcd2cf66889237a206d147b0e949f2b2028ead379c74203017904ac09a5561a8ec343be22cf46c3bc2a87b12cf9cf6e8fb22de884bdd9677626b757a005d3745f387d296347d3852ddc2c4258cf572dc40df3ff6a8a5f9d8b1b410c54739b9ae182611ec01805c80b445d058ce2afc4bd58d87c03fc9500fba237bcbedb0960a1a02efef52b97cddac63b5eb0481c0c0991375735338ac84c0505415ad2bf8e7a819ad269460668ba8f8c879f521ec9dc709e406de023fc0f9129a3a94eb1f3af08d33eed6273e5166f31110097f5558d8d9028ff558e627c9c0db2454b134a82a9dacca5b4032bc0e27c4d41cf55e9d89cf51528bb4f08c6ee5ce651af3772f008a44863c851933a57cac8e29a84756c9fa7f80435b3b78486f9908512902d5461964918239c76b6790b780e09d2f1d3db1c59b275d20bb24fa4f518b25af3254b61d34ed8b444d3ca736ceffdddaf767bdc92b4543f68b25421cb8c1328f2f253e446be46d10\n\n# tcId = 138\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 909c1f13b544933ccf3bc73ff5053a8a65a8f01b447d4b40f109cbde29d866368aaebf46c19051092063993862b32fd166006bdd4d988794d4e9a77821fc9e684fab1366a2d988eaca60e4fa8ea947dbc4b8438a9fc036691107d3d0be52c46c61342ef8fb7e08032921c1b455c55de28d58c77c1eaea03f13c26c4cea73d14acfa8ac2907f6a775273e7686ecf4b882b88a42cba11cd1efa5b985cf5a227654e54cdc9e2d283b80d250cce553fda636279336ba13f7f3659d70b5b2995a2ac7b60f329c62790d8eed1c3dacccd0df468a91e767c190be41a028d4efc1c5ed5e6f3a77930f50217fde9ce9ccb66b75731957959834839fa3bdc1a769fabebab03d3f0e605a12aa9fccb2a9421591a7427d82068623582de592935904b59a42e59b50419cd12d71da871862149a6500ec6870d989423346879551e506fada7c0c01b328244ac5f2e2c5bcbf4b5b09a4512a0edc90fee4d4dd9eb88582bfe37b49b8d8189051b32cccbc4d300284f9e523674a601b1a725722695d5ef438b770b575b6d0955edc761250bcc6a30e8d5c7287093236f223c2da8d9ab7d6b58e5d0e9167f2e8c58255ed16b63789ea16046bd0f987b156e9898076d444cc7a4aadc76699a2e3a442d63ca4c3f92da9f3b2c4ae13edf9d4e28ad206ed0cbd2df2a46920e298abd1904877b75c1a9ff80c5bf05bc5d1ab94d379d064fad894918ce326\n\n# tcId = 139\nmsg = 54657374\nresult = valid\nsig = 65956121a818b842d861d0dbcbdef22aa05c7e94ce5d748308663e142881feadb85dc4421d9d01833b8b4c2713842c77949cee8b853286107c655de7778a5acca11afbf1d9dad429eb6a281c1e8ae1cfd37cdf530fd4f2b765c352bcea26ce44e2165c36553318d89b1e06ffd8a210cb988cbfc916a9401fbdaa56a1a2a4cb66ef00a3176182d33dec5f3625b760c37c82cf618cd2875079a36015af21d060dffeb5c9e1f4255d7fea64386d8d860c6868cd79ef6d7a87927753a78bdb63c4845306de1d73c5d7dccbb6cca9b65aef19a7b9e53d9c02a4a2bd6910e076959f9f40c30eaa0a6ef783c0b73f05566e4492e16b832729e03fc939e54bf0336d376a3b4cda534bee446dad3fe51d20bb8a135103e7e12220484bbe02e99c5803282ab90d11063e5243297f80d3f24ab08fe8f2fb62702b0543f0203972d35287ba64facbc635cb438a888c83c7028a325555f07521c3095bc4e38bd0f60eb90828319777fea2276e0bc76f2c13ebf92f802a08844209ccddd2aac1f2700e8a5107e86426e6ab76288fa01de18b8a63551fbe8705824d16e5190c559c7bbe8a17031e7d352a681b0418cb36423632ec48a8d3861136b250ad2fc72388e771b41849893cdbffe04aac4037209944ff3174f86f7a88414b1666727c960b1e54a2cdb82e39cf9f2661f4ad6e22f330b350eae7f588a623524617b1846486fe9f04abbf5e\n\n# tcId = 140\nmsg = 313233343030\nresult = valid\nsig = 3b35a042a4791dc1ac1561ad1038750bb9a575a7ff72db2ee60ba027f8994bcbabe41fed36417bd139a286ed0aa6c3ef2868a7251442d060c1cc67d4470c3ab7c307acb0c0641218a45b9cdde05546653850c2168a59f1788cd55dacd40afe38eb941ff08ffa8bbe609f2aa795c73c0368f482d53d691980891ba43b69f5791c2e6f70e17a996a299e60ce1c9d44ebb9f29e700e9ae216df749149f6c222d1e1733953553a792745c382d44f52ff404ed5ee04c41ac8acc97c250f9a5e3cc6d70902d51e8ac000d05e36279d83491dfe6a40f222bc1dfcfa7fa5e0197cf47528f77719e007b65ca39dae17bd0f323b00ee63b66401e2ec5f8917ef600a41c3a61571a4d922c0b0ad0a290ee054ad15e63f1a0cafb749f80cae6cbeb06be62e1608b502182d247bc6a37abe5fd750ead8b7216a35e74b969005309b14be36a31c5e6c2266701d5afdb5ca2314e2f32ae17387d8284ad2c7225fa63ed47e7245a65b74f53a5bd22654b3878ed09b1e5e070bc20eefac6c95b006b8f3e613b19f518c48ee6781a12bd08ad36ba384d03d3ea3c4e0b1facc39741f9ec73d0335d2ee735355955ed12cf8b999d155d389b1a3caebdfbba32c883ef7d0e112d86e6149a3328b63b9385c68fe8a7b679e8436aef7466067a8e8bb49e31675729b3f448e7dd3c048973d2a5f8f7173c4428f3982a99361fa691d1588e39cd4485c450158\n\n# tcId = 141\nmsg = 4d657373616765\nresult = valid\nsig = 09d8512c4667994623530a2317bbda738eb8917bc80c84b64793351463da171bccc88b95049a57ccd917a4687da3be63db21b0ad0972ed9ed182f4ecc8e06647675340192a57e6591eacbf15d2f5fbdcab568b16ed86e668144d9e676e55ec4df1dce61f672de9f53d1743b72993a5d21ffeb7ab58e0f83e297cccbf25ed68c70dd8441c119afb6c07fb1d83edd9bc1ac34046733c8b827d002c3b6072d74a6c2cf7f1d968e9f7b0873de8ee5adf902dc68fbc93171f763c425964ea6e3af6691f1a303ff7837adb07a09f728de3377fff74adb34c959d363db650fa5c3035febfe8c62a0cde3d006a9d34d51c5b2c4a1dd4f2423c532c6b5fddf03e0a05fdf8d857f98787d6f55f0ce1d0ca95a37177657035ee48bd4f39f7d520ccc48ee999777868b4c3876e2242f59b725798bca28ae66c267c507cd65fde612c1fdc9362994ee31134d5561ad7c3f523858f43611c249cca3c134d00ed966a82b800da11add213731b58caf232fb2094e9dd42ceaffc7002f1592e79b85eb6e39ed5de8484f5509e0f54166426095e8522f88363fd0dd7bf64414011a710c7834958c0aa308189819cd4488588b84729dafe163e79856b913ef55afed55e83ee5b812579b87cdb80d5bc9ffa02ec32a0d97b0a56bfaead58a438cee53d40dd197fa2eeef4aff98eb5590163e68b5f3de443909769080c8a6bf87e3808bf265a41a3b79f8\n\n# tcId = 142\nmsg = 61\nresult = valid\nsig = 798f597e9ad4ba8b3d00a9527f4e785af5c55994e2953046a1b9062945e8dfa35eedb1e31af3daf1955d7b0afe74fbc53739b1aa02fa2dba629c31b211cd513e2248ed847dd579406ab603d3369de3bb07143a581734fd8b1ca0358c4fda639045be1f192b233efb8848bb2c544e4e188e0c7ce311bb4841077d15051c6f6b31998ddd8a7bd30d75b7b3c824358bccb35f8ffa8c0fc5ac37ed71cdd48ed3c0269a638317756bdc9287043be1b4f3c6ef6423f1d0d38857c195e7be81c3778648ab889474109ff3c7be0fec790d3f5f50b966e3df40c566f572f8f252d09e97d4c90442badf820c7db74d6fbb004bd7eb53c0b1a871bb9f480821bbb48b363c85c9866bf8a86de9c6732a3136f2c80e88a29540a9036b72fb8f4c898e7b487c41d0f693c91309bb3bc06f1e3b2fa9918c31ba2a4b82a37a927784a7c7d2aadc3301524ce2708774c3e2189ca188b3d85a33348d28ed6f080a06452bf8316d483e6a5e28b831797f85a8ca5ca922bcd94b9045f588ea9e15f2a20dd26817eeb80b3421c5de72db98843dc719cfb1aff1f927ee1df1bb718732159bec70d5b6d0f98a3fd5d42c31ecf4124cb1759f183838d676eca2cadb4d57f2d6a52cd0115ffec0fd79c99aa78df8c6b54797a590bfefd4c34e4c3f39750ba47f4d8002a131b870ff8e65c6c37b75e5c", + "54c8a2bc2fdacedb41f30ed8bc9029819b7064b6514a1\n\n# tcId = 143\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 41fa907da9f78e107b58ff6c4ac0e92a9bbc7f5b510260572fce4ef047c73cab3fb0d00b353b4cb9256dddad432c5815652bd83c78e657075781140de56189ecfbe1601f24bdce05c63f511a3d04673d24c4e943695d7812aad66f374a74a906177dc729090070cb5d6d518e7045f4cdece06ce2ae42e1177c46856a8425e60bb06040400c8ba0efb8d4f395a4377d4c2c128c68e6b30e358a73d9904d7aa1e517ef396526cb64d39b3b36ed7204b3bab1d91b23ca95b2ca1da3eee91c7d27b4e4e658fbf5060a79cce69be1d95252b0d7d7220797a53982dc371372969d4e06556507e7e7870a9efd9e03766702f217be1c8f7f80006c08d13e175040cf28b215deac6a1ebf3520a3ad9e91f9072dfe50c69d1aa5a0df73ad63f72831b055f2367ea35cfe676a4f7970bc85e2b58917d1bd449ed3d274ac40f7a515e261df3d067a277ae610e4ee4cf68b3a947ae8c8339c818ed10e73b6480577b2a13722023cbb09d3b378cfb71f6c86bd481ee09a1fcbb807338e968aa5af993697eab562aa4975562eea6b1169e86c75ef13e877cfcd4608994eadedea3eba55af19a7a55b19e92b974450a593cde717bf0d7ddbf0bbe8fef90816fecf86ec522a2d06a04ebbc50a1eafd67aa461a8a9cd705ece0bbb46cf773689cc19cd69607594fd2ebde06aaa1e34ebec001edf318fa22245876461fc46126172db41ae9ecd74700e\n\n# tcId = 144\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 385984faee8f784463a2afb790e000860c181993b90919cd22b429d6f1e46d1ddb7eef75c81016274dc46f15a92aa8251366a6de1a26f3e73c89d81bac6569a554204cac547b65402e019adbd0db9c03664d3b15b8ed008f81a7be06c3736575490b1ec8b9d2f8aafab76142d1f6320c3450f65d32599c5805794705d546b0f5a19cde112097910a95e54b636a2459f52e6e01d96263467297e2d7683a797216059ad537aae8975d205fad6aabc8430f86d2e76154f12553a41eb6c59cf60fd50fc3fca5bbddaa6910b1a0cc6b4eb6aff583ba8533a2e5c39b0b9280353a0a4fa72cabffebb3bbe52c9bc87c86062bdf577d4cc03419b73fe42ebd72ce0d4b5fdb40fcadcec32c92e63325d3593fff1004b2d015dd99a53abb6e29544230313dccfd8a777c454fcd88da7d8c72258c85a7e9a2b556f07054774cc85c5b381d92fefa842134e2c1b0a3fe06cbc7ac9d777a2eec27c9799ed98a971bc5ac904cc6bab9cc51515911ec3a6f3320bc5990e37e9087b1778f7c23a5598b3a280686479b3337dd399925e2ce0e7b81412623a16d1fce014bf194b78073b640c1cf008446ae7c618563b4c9b327641975c93da1e1001a0abdb73d05489cd3051e2e1c04382e1f93bc17689e5b6802421223e00f4ca98f9140dab27738d9d7148cec0200e876f867263d06c690487c85cfc70710b9a01d06ffdbcb4c9b16bbbf719952fe\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3", + "0203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 145\nmsg = \nresult = valid\nsig = 9cd28bf41b99fa4df2852d86536257fe111f63f01815146c057dc3bda9b6633e49495d38822392b6b901e6ac69c4f09623a524e49246c3710c85a1957943d89c8399b0c2a649938bb07340f14c6981a0da0fd35163bc7eedac80ad1cbf06a4c32a4a08523554256eb221395c76e1f79a5e3c5b9636673db3ba27eebf8315468888671f8441324e092124df31d396ad8367eb7c9d0afa44dae85d56208ba21ec7c1f0ed6a3678f5d97ba7089422c662d86cd514fe853f38481632197c1ba07e4d92735eef3b75afc25ffa900769c74ba34f2d157e74bbab64cf413bc858cf6c393e8afe24f9e71168e97db96717d0081d88a27257d8c692dd0e001f3fdc2090512550ad38725c10a201fc50f8dc89ecf363b4d21a7d815eb78557d42e657cb44bfc785203e8de00f9e18af1c8e12953a33b0717af215d9b04b71fc320bdf4d558faf55d03d30844237551e35ed6606bc706ca43a47e6c493e14719049065eb8e00760283ee72c1ae3ce019ce3263a90b8340d1a47b49b78d5cae9602539b379186e5c1e847b69c75152036c8d9ef3c77ecd151bdae7ff36a459d0bbc1dfa33ce3dcd94ee2cf6ee08a77485746306ed987eebaae2baa544b543b5afe143e4122ade5adfa4fd463a246f29482dce7a51573aa18fce87f7edde842e7f21ff9e40c4101b922616ee4c14ea1af3c4d417fe8876af381027d837fc40dc684e81b9eecd4\n\n# tcId = 146\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 659ffcbf6b22f5d201fa4114077aa7df32b513a1fa5948ee01f6e21c1862a2b91863f7aa53d1aadcab9347955210a91829a5f7c86b3e2850bd1f76b3c4f4333615ceb22830a7a9d7a13436683a48995bfd62f528ef4959d30b6ddcc8ed2a431c06c337250f8274417f6369b7a08b927885df52bd7370d3675094bf1bd32a7f5b0ca9a399a59f868cfb78f87b8647ab37d0d7a58d6f4a58f3e3df7ae88ddfa6470050229754f4ccfa265cec0635f0360c485d8f81974c6b8a11adce3775dd01936b82db37641ecf5f43cb8538055a053d4085c38a8a1c4e0c8af961448a779288c5efaab1eb4401c8f388c0b729e42243d935df1ad3705c1c5a7ffb6ea8ce77a69481a3b930f95ff118cd0fdb17393a37139b3b5a9c275c6bbbc819e18f49c369153bf1f7807b450e54fc28065a6ab6d5b0ee91d0a9302ebc0bccd35c2fb2fefc341a954b67e91f6d8f3f7b62c5fbe504508594f357b1ed951fcac7043a082b9bbf41ccf609881861e2de15ee99d373c0e99027ff240c0b6fa52be2e199967860baffbe25b3254fcd375da7152bb94ce8dd01465290fbcdea0838a69576e97e63cb636db79c2799a26f94a9fb044e3bf66c520895b4683bd799e6b04ab62f621dc00f20a4adb131606f127b84025269466c760181d7dd9ffd0aa5381180b541e5e933e1841d6386ec55a63bd9d8674a775526d30dbe34e4db87067a9326c6dba0\n\n# tcId = 147\nmsg = 54657374\nresult = valid\nsig = 46eaa4624a4d2c1f1043eb3d17b48d977819a8796f48f20174c50da624c657e64d3154dcfa2a5b1d8c6d2ed07cf1f1c19aaa611d6466f7e7ec73df5ee786573adc5a9e3c1d0a25559dad282db26e889807764115a05a23959acf48d23b3b33a93d8b6c7de3ee446f113eef96055d285fdfd27888e569c50f022d5e8abafc874dd5a61df6258e85268bff66cc5643107f7d9097496caedc185b37311ab6979f273e5670f143146b68e44b49389554772c1ca7bb7a12fcf67d67a1fd0c245bb4cbb924276ae756098599392cde076a1c0edc8096d9125e5a5d30c2a93d00fe2e0362e98592c8fd31ab5b4c3b34e65d38ca0c25874eb394e04969982b70932616b75ee2912c6a07f20ec70e52be630ebe024c0622aed125e00bc84980416b80cba7752eb90af2b8215c4b559880d2e1c577b7374531038083725d23d02d4fa5d8b5a4c68e9ea5e11fe2d9e03c1b8a4db0b053097b5a175b1131e8beef5d559bcc3f17ed2e6f6304c0e4650a2bb675aa8de44af8a2e301734584eea145c4b389f6180e6395412ae70e57f488ed15d45895be580bd87cd916b8f20e46ad2fff0367dda54266778bb444c6e4fdd45fa62cae3aeb54b6a7a6b4d8068e3a4d0730f0260340a6c32c3c5d33f514612c941bb63d730df5584933e12546500495b5ed3ba3631a3db871d17353d4c16676a0332ba4c4c4c68cdb6ff21ff737ee249be153c1d9\n\n# tcId = 148\nmsg = 313233343030\nresult = valid\nsig = 12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0ee914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee\n\n# tcId = 149\nmsg = 4d657373616765\nresult = valid\nsig = 27a042625f50673fe9edab9aa2fb4c60dcae0be2e8b75662bdddec7b1d698065510a193e17981bb0b1c32e46d237e15915afe2e2d4890c09907e1866095c19763524b6c8d2db", + "b7814ac5047f0a082f7fed4109741f4719e12ebb91f27a3cda71e80ec8a7f6c882ea5b3de3c9f156cff033a0d3cf787f9a8a833a29d0c96f0b68ccf55ffc62098e21f0df1832b70878dc94ef1a3260ec2fa56dd3c4fece5d855644d26012f56d2af85a0771d61367b7e266577e44c444347970908ab6cfae42069e2ceedf63679c2bd03697957e287d156b2717a416f0e4ad96868e1c7b80eb84e99778f670ca39c15e1f901def1efd824ea5f7bbe127dce8c8f53d849fe1172a1254caec13b10b0612e72d3f8e7206eee2620e8e3c0ea176deb4b1fdf5d8d37b57af553cf7628ead74443f98655b5166cdc08190d7e3b134d71c21bfacde3e4673529e6d8a9c7a8b419451e7ecc6c16a44b8e1b3f2c9d1c822df8f2b51d8fd027074ab2d1c52d16aab0a266c7d9ec03df7e631052e67a28963bf8560e89326168bb7c8f5a152f7ac54a46e88190c62a938628950df881a4be4136a55bad4f608d39ff37907a6f99bdee065e5ccd2921f8f1a2ebafcb336fc6ca96a207a5a0a7873420a2ea383a5f1c604c93b6c0ac69244f05d54cab184c6592e9bc4069df60d3cbcbf16729dc2f3f3540474890abef29e1b21dee8af0386ab61784d7af8d79c\n\n# tcId = 150\nmsg = 61\nresult = valid\nsig = 2e642b8a5208890b52187729c43a1a308cf6b846ba1c2fff152ff4a1b051753f14ab035c2f3f732d5a9df7c2cb732d09f8147509bf02df8ad26924eeb04dded8467b66c5e3eae384568f624e55c81cfd8e3204422677ab62d919a176471b1fa8bae44bcc8d4d116a6afe5ea2773ac52a24186d6a4374171ce0516bba8733c59f38d622b7b6b7ca7ed2123f7f46b6c06b02f4c7506c46327d7cd908ddd503fd42be3cc896008eb9202bbd7af08b9908121a8b27fa44747217ef72a8c549444232e9209ca1345ee017010409527faf0722e3f13641ede5730639bf560c8a655e2f96cbba7b2811da8a1fc3e5125c92754ea7b823f394998b8890602b1713c2a4d352066e01f55ea86fe3da71f9119300d84874b667a6538a90ab24aec2bdfd9ba9a5f0c3072d549653b16f4a4319ca398147e6753f9a048b5b250c64d599115bb717ce85c8370df62c93da7e10fe705a12482e6f25e6ef1f4851a305aa4dc21b08791885867fc10c5503a769a6d6794ab5a9cc5da68cfc3546b0e848ed8629ecded620ee3fa6dc1236b59874916c45f9c409c9889bb85d7b289ee5f45f6d33262dea83b32c071417d3759cf650b9d43468ff0c2e922632e8d73feb4c55fe4233dc1f0cc6f6e522fbc9e9362f1d69441d56ee5f3252dc0559339335901f539ba274cc3640ec776a12c5c7e5c1cfeddedccce36884ea01071c2bcfae7ebfb5b874e6\n\n# tcId = 151\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 811dec041124d3ed9d5eaa9c760ca5756e42525687d4af701231671e8f7f4448ea9b9eaacbd9c99659ee3c175277d30cdede73e1b332ffe41b8b737150ce1f1c67aa6b22ff801077c4241a6ff4af8f4db9462c70c13e1da86edec4042a70be9d08384d932681dae48fdb83149170472564a5bc68cbe952c76e476b99c8a5a1ecaae809690a014b28224ddb9c9dce0d4f6a77fa2888a71f3aa9b5deda0af40ad0464d9adbd26fde242523c096106124048bafe824f733b0af480056de2314f5e27db5aa3fd15705777e14efd2ac43beb12f8f496d09103ab377971cdd45e9afee8baa874c23d3942ee3a505bbc3901dd4cf55ea8a30fac0cb754793fb2d8f4edc29afd51b99140a8d03aa0614169428205fcd66c1047d3366fb32f1c2b1bcfed8ae23580ed254c3dcb127daf16aec1892714ee05a1ceb4e561a1e9c8fd4118ef8cc9e063bd86c55d28b8acc9d5b4c589583e7c6b78fd518d8ca85b88517f10c27aca2f0bcfa54ba5bb94ed5b005e3d871b68b86e96adf12588037adc97cbef59c05f0d2162db2e4cce41227df11eab5449d612be56ef6fc522452573340d4d68af0178d4f19db6a0ded521f1a982bc5567dbde2036f74d6d67b806ccc7c7f70d3092c22c9c1acf307b751d994fa5259a5046668a047afe4c3302e908bf70bc6b55c39726bf24ceca809357c623b89fbf0eaf8b5d18823337e7e0245d865574cb9\n\n# tcId = 152\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = a359fd38305208e99a3c506ef3993582185c97171721b3bb2c4632de1a18ea3f1f5e2a8208d60379c3c35016f8f6fa21c80d99c9460abedc3d158c841c5250cc592e511bff21bae85490ecb27997b5502b6c2ad83f4925aec7e7c0066ff0788ab68570e3a7c34c89fb270ae48a81918c8170cb0d3556d5bbbe54409e7e97d0ab897f83c12fbcbbbf8023e175dc353bb42ae87cad8932c5678ca8c89a064e9f6ad3bc06fb738d249316843c6e49c98babf5348b665b78ed3cd78991bb6e9997d3b9671b24a0d2e7f0fdbf9273e6071c4c39ef8b5a2ff6a543b67b5df4b138cf9ca7d7d8ab3084d514fb8838e062fd8538a8464cb2aa913bbe972d871faccfeab3a12ff5d239d6d72bea9b0a44551e406dacb320d6c324ca8fa837fa9d4324874fc75ec96d66c23f9a0ab2dd47c32035edd9e27393a459607136095c64d24d43663918d2ef7c86b47886db08dd784cf80a18b552487979b6350041b34713edc78fb2fb6f2d5f9c4b6fe158e7ff2912a7bf93bab9c3cee65ab1e77b2cc9d07137f87b7d2ef9842320229c82366baaa397c52c1d9815411e6bac4d2106a149976b8787266e3d1f852863dfe6b52b15e2033589def99aa2a6d3c2e7d367ff991b48ead647f8d693159f06ba52f59f0d30d45aad0f852511f56e37d078f409b6a182a789858dca55c1083860939d6c00486ee07811be5027f45d58c002bd05b550ab7f\n\n[d = 5baed4f10cba539943f679e2bebad47e96a9b2b4c2a708665b7d156ef80f24de627df5887a54fd283563f774b6120b98d8b6d8ecd6656f9031cb90546b3125f54662b5860d5837f85e47cfd63f5520ae10c714c07a473af59647201c19d7590d6d5db84075738ac081be09d02fa3c82a7b170cbd33b860927a8efbf2e157357b]\n[e = 03]\n[keyAsn = 3081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keyDer = 30819d300d06092a864886f70d010101050003818b003081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keysize = 1024]\n[n = 0089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf]\n[privateKeyPkcs8 = 30820289020100300d06092a864886f70d0101010500048202733082026f0201000281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf0201030281805baed4f10cba539943f679e2bebad47e96a9b2b4c2a708665b7d156ef80f24de627df5887a54fd283563f774b6120b98d8b6d8ecd6656f9031cb90546b3125f54662b5860d5837f85e47cfd63f5520ae10c714c07a473af59647201c19d7590d6d5db84075738ac081be09d02fa3c82a7b170cbd33b860927a8efbf2e157357b025601d2aee6ed1ca9c37dd6bb10af280177f9b7c80bc242f8717ad72267f9723875b08a335c26c2002f1b2a4a7403ff45ef68d0d7628fcf09abc0c8250ae70fe04eebf5cc362c667718f959474c73239719e8878b45212d022b4b7074f8f26554f31a0ed0ca5cfe70c9a1b00d2408e620b2042bac09602b322e14b53371b48a5ba2d92f6b025601371f449e131bd7a939d20b1f7000faa67a855d2c2ca5a0fc8f6c4550f6d04e75b17792c4815574bcc6dc4d57ff83f4f08b3a41b534b11d2b3018b1ef5feadf47f932cec8444f65fb90da32f76d0f669b0507836b73022b324af8a5f6ee38a2115f35dc3dfef5dbc12008c2b0996b21581d1d5b957221740dce224bcdb1926c90ca4702560107fb364902bc8bce103cbb445281e4dcd428f63952be322321d4d4a4d5cda41fabbace7c3a21831615d49f82bda110770117842471d3a2ab256e59665e34d6cdcaa57fbdaaf47a95450865f39b8004c860c68d9ad6]\n[sha = SHA-256]\n\n# tcId = 153\n# short signature\nmsg = 3831\nresult = acceptable\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c68149efc8a4a913a26c9170590a1ed9064323c12b6ebde15ae8c05a0e5205c91f57f5753815ff39c918\nflags = SmallModulus,SmallPublicKey\n\n[d = 606e8fc7c1db3dac5eeb9fd6a82e852e162085906932970b7e6baf8f74f2c216525bc3659cf50b32958d1d5205ae70bf62be7eb59def1e202603190d694c489e0ada5dce46fd39df620d2db99e68a52d8b13be84239086852f24c979a99d874c48d0811c669eac06ddcdd44c80f42a7555f0d435246647d2e2c8cce1b05ea3a1e3db39733feea95f0719c4836f66f8ddf24c2eb90a3b9afcad3fade8a8d0b93e81a54c42e84112b943c316480aff80d56c9143e8d9859b0fbf7a1e46ce02585721d629662f1d594738895addc28a89a74d2d34cc7bf13a5bdcebf3b8053fb3a30c6638504311c1a4c1cd1e16fca63baeb74ac2f7292b84cfe79f56ab347e08e3]\n[e = 03]\n[keyAsn = 30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe", + "2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keysize = 2048]\n[n = 0090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1]\n[privateKeyPkcs8 = 308204e3020100300d06092a864886f70d0101010500048204cd308204c9020100028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c102010302820100606e8fc7c1db3dac5eeb9fd6a82e852e162085906932970b7e6baf8f74f2c216525bc3659cf50b32958d1d5205ae70bf62be7eb59def1e202603190d694c489e0ada5dce46fd39df620d2db99e68a52d8b13be84239086852f24c979a99d874c48d0811c669eac06ddcdd44c80f42a7555f0d435246647d2e2c8cce1b05ea3a1e3db39733feea95f0719c4836f66f8ddf24c2eb90a3b9afcad3fade8a8d0b93e81a54c42e84112b943c316480aff80d56c9143e8d9859b0fbf7a1e46ce02585721d629662f1d594738895addc28a89a74d2d34cc7bf13a5bdcebf3b8053fb3a30c6638504311c1a4c1cd1e16fca63baeb74ac2f7292b84cfe79f56ab347e08e30281ab0de06a7759dcbb9b86ee9997aeda09ecf084f92c7fb4a0adee50a1ae3b7edc4b6f7e5fa504e6ec0696b98dd5013be9a448ad1602b22881855df6fd11ca623fef41eb1e366c123bd08cae96fca50bf464193d6546b61fa4f4e3988d18ca7444d4077ca7cc865f168d9764ab0ef0a5bcb616eca34c3d14a89e9d9f579df97c0708ceb83d84dc9425637c8594cd69416e00d5ccba98a003d9aa6a29ff6d2b15e64bf9fb5fc9080edbaeb5abf302560a6c8149f2428c1a77259363023c1ada4b808df997e9af999c99faacaaf9f37267f3f71a49522d8b2508dbcd17e064d604ee222e75e8088ccafbb063cdd466ca7a9d15f88f20879cd444f7670493851d4e9a37e47e7b0281ab094046fa3be87d1259f466651f3c069df5adfb72ffcdc073f435c11ed25492dcf4feea6e03449d59b9d10938ab7d466d85c8b95721705658e94f53613196d54a2bf21424480c27e05dc9b9fdc35d4d9810d398d9cebfc34ded105e1086f82de2afa86fddaeea0f090f987209f5c3d3240f486cdd7e0dc5bf13bf8fbea652af5b347ad3ade862c397a8590dde462b9eab393327106aad3bc6f17154f3720e9987fbfcea86055f3d1f23c7f7025606f300dbf6d70811a4c3b79756d2bc9187ab09510ff11fbbbdbbfc731ca6a24c454d4f66db8c1e5cc35b3d3365404339589ec1744e9ab05ddca7caed33e2ef31a71363fb0a15afbde2d8a4ef586258be3466cfeda9a70281ab052c428cb7bcb4dd32f6a7485f854bcf9a4455dd882a6946ef6b593521c045e6a964477dcf247f99f93db6b836bad6c1a8b62b72bcc4f7d55f27d70fc624d5762014269b3eb71c46dcbbc2c5cf883b06d3dc0c137d8ddc42daf8dec9fcb81964e4a397ee02045612ff7037e6f8785acd8a3b2a88c37cee30f6eaa3322596ff07ae58abfd622f0217fb0b15b0394afa8e32ec7bf4e6179760c3ed8bd67b975162719904795c4843b2be35ca]\n[sha = SHA-256]\n\n# tcId = 154\n# short signature\nmsg = 33363730\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c\nflags = SmallPublicKey\n\n[d = 00a1f35f0cc1b4cfd73412c0e955ddedf4ab41d5b15586d12d64b3da2995291261452e3ee643a69dbd95d128cd69acac6766234430d47955bbcf3527baade2ba686575bbebb601d26dbf1c1b518ae9fc883c68e24d865b969cc3a539b9c42b6ae9d9cecc86b7fa53b8fd907ef03b6ad73efe29f77804227fde0a502f52f9711fdfc948042fbd8e2d510ea894340406d8e3e8bca184b7a6d91bed16256fefc2506b289cb8fe349157e1311005e5a8c5cdf1b77ae9c96c444e0298dea4cf8139a53124e2c46eb2baa0794ad5b4858d9f3362d39269eccfa455d58a151ca1c34314eb08e62f1ce62a0d37f866d15b3c8f2bba0475ad231d20f0e50b029eef26b165db]\n[e = 03]\n[keyAsn = 308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keysize = 2048]\n[n = 00f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f]\n[privateKeyPkcs8 = 308204e4020100300d06092a864886f70d0101010500048204ce308204ca0201000282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f0201030282010100a1f35f0cc1b4cfd73412c0e955ddedf4ab41d5b15586d12d64b3da2995291261452e3ee643a69dbd95d128cd69acac6766234430d47955bbcf3527baade2ba686575bbebb601d26dbf1c1b518ae9fc883c68e24d865b969cc3a539b9c42b6ae9d9cecc86b7fa53b8fd907ef03b6ad73efe29f77804227fde0a502f52f9711fdfc948042fbd8e2d510ea894340406d8e3e8bca184b7a6d91bed16256fefc2506b289cb8fe349157e1311005e5a8c5cdf1b77ae9c96c444e0298dea4cf8139a53124e2c46eb2baa0794ad5b4858d9f3362d39269eccfa455d58a151ca1c34314eb08e62f1ce62a0d37f866d15b3c8f2bba0475ad231d20f0e50b029eef26b165db0281ab12aa6c4fffac8146f5ed82cae905e5de35dd59103235022daff32421372bf037cb7c534a9", + "9a2c073826d9c0195e15337bf271804be3542397b1d9316cbb6d1e107dd9c7828053695b7459c4b652946dabefa36b0877d80e465b346b26d7f388ddeb1fdf440eb9cb378da0f78b39191f1282b69bf7063335c094378aead687659cd5cf4fa7a6bb92235224563d21b81f848265b3f07f5fb3e33d24f5c9a2f36fd1a115d010136030210cd4502560d03b9f80b93504a27f8f70016adbdef3334b3732500fa45181e810ad8b1dd0914020e64cde75d33c363ff1ce4c7ec06188a0046ef845cbf7f084ddd64f80c01d85e56acf5e2b2f897788487148d4a016b8f7f64a2930281ab0c719d8aaa7300d9f94901dc9b5943e9793e3b602178ac1e754cc2c0cf72a0253252e231bbc1d5a256f3bd5663eb8ccfd4c4baadd423817ba7690cb9dd248beb5a93bda5700379b924d912dcee1b8491d4a6cf205a53ab42ee778476f3aa25b3e9cbfea2d5f26877a5e6b4fb22610bf61ac79bd4f5977792b0d7a5c9c8f04ee688e8a351a6f27b6c236c2e428c1256a5856ee77f5aa3fcd4228c34e866ca24a8bc0b935600ceacac0b3383025608ad26a55d0ce0316ffb4f556473d3f4cccdccf76e00a6d8babf00b1e5cbe8b0b8015eedde9a3e228242aa13432ff2aebb06aad9f502e87faa05893e435008013ae98f1df941cca5ba50585a0db386ab9d0a54edc1b70281ab057973d6bdff122c8aa4bd273792b4f4b7737c7ce8093654407abe0e1289b048fd8c13bfa9a0179a60d1be228e4890c064f9608f078cb34008be48e4008fc96e8fd08ac8b4e004faae7827a4fe38830b2328ab3f93bf0d8fd45c1acd91d49fcf45698d4d8570fd3e1cdf295828626d36e0c788f65341b57dab237c9aa230c2363d465144211ceeac2cfcadfefa93107b73d20cf781fd81fd1a142c1bee319cb93d0c2769675acd586a7c3b]\n[sha = SHA-512]\n\n# tcId = 155\n# short signature\nmsg = 38343432\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932\nflags = SmallPublicKey\n\n[d = 72386df6e407bf9951c1fad28a4fe2baad2b0098992d472237816065727c5c3e543627c35d169decce392e2e52d67c3b4d4eae6ad79b805f904819ea918432fccab156a0eb9b0cc432f959e71e3348b89511b0dc14cd904100c62c654289d0e55cb2fae8039e3d8eed9aa4a16ff75adb65e1336548b8f455153342f8fd8fb8a5d721e2b75a76990bc7c14e53f0fdbe96826349dc659d9e9be077a05b4aa572eb05a5fe1d620f0d10d49303d73e583b95587c591e559760b790720ff94d57f4700c5dfe4d44ce4039b79597b02fb04eca9c8ffd8a50aa69b0bab0c83257eca90a490e68add66c5b57a4fa06a28bcd35aa28851f43f5aa77de1a3bdc9b71927a341bfd550ec4035cc5ef273c3016521c4d485271e862b18c706129eba043d9d7c953b06e5618f491edbc2d79bfd8d50f50f3d61de9582e6f39a4027f4949812506dd6014a149d01a607739e82f69dcba197a5137eca7a9a6c40744a3adc4a58e26c7a31a0e21a231163d15d45d17ba7782b221eccfd5d89ab1703932019a212a0b]\n[e = 03]\n[keyAsn = 308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keysize = 3072]\n[n = 00ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83]\n[privateKeyPkcs8 = 3082073d020100300d06092a864886f70d010101050004820727308207230201000282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a830201030282018072386df6e407bf9951c1fad28a4fe2baad2b0098992d472237816065727c5c3e543627c35d169decce392e2e52d67c3b4d4eae6ad79b805f904819ea918432fccab156a0eb9b0cc432f959e71e3348b89511b0dc14cd904100c62c654289d0e55cb2fae8039e3d8eed9aa4a16ff75adb65e1336548b8f455153342f8fd8fb8a5d721e2b75a76990bc7c14e53f0fdbe96826349dc659d9e9be077a05b4aa572eb05a5fe1d620f0d10d49303d73e583b95587c591e559760b790720ff94d57f4700c5dfe4d44ce4039b79597b02fb04eca9c8ffd8a50aa69b0bab0c83257eca90a490e68add66c5b57a4fa06a28bcd35aa28851f43f5aa77de1a3bdc9b71927a341bfd550ec4035cc5ef273c3016521c4d485271e862b18c706129eba043d9d7c953b06e5618f491edbc2d79bfd8d50f50f3d61de9582e6f39a4027f4949812506dd6014a149d01a607739e82f69dcba197a5137eca7a9a6c40744a3adc4a58e26c7a31a0e21a231163d15d45d17ba7782b221eccfd5d89ab1703932019a212a0b0282010064bda30b9e1d4b701e62304a5cfac174cff72e5214d7940b0e7bed844a42fb1071253ef0a1c340f02da022cfaa2ffed11cd083ed5ce8ce0a52c317bf6923869a80f9caea17fd6023da79ecc24e9edc6ded5497e5dbab53b34256409f184d1dbbb170ce81fa4ca5483726bbc2167a4f20ff6250a60305a2a573dba27279c180508c9f2e47810f1649ec2d7b729d8ad86872322afe9510228011bff3fb4a8b734b31828915e9fbd7472b09c9322008eb641b96ef41b7d2164f595595c761be0479ef4186eccc566b40c0b4eeffecbd12f099c96639d657c5f6c15e083d612ea90757cbbe99df81b2e78a9d180d9a44c773e0298e794d96460dfe41346f2ad049e902818101b3619b1e7c984fe8ebb7f65eb39cd22ff91e2b7e7b50e3f157e83a46f4b09eb237e57c02d5a5648c74f26971e9535cad3061cd269b329e0cff3c84c578b23fb053ba520505c624ce99874e1fc4816f6345272c140d0e672f47d7e03f0c8343f1ce717a2e269eabce162554d452ff4ce49f053848d4bbd4a2436422b6cee4018b028201004329175d141387a014417586e8a72ba3354f7436b88fb8075efd4902dc2ca7604b6e29f5c12cd5f573c017351c1fff361335ad48e89b3406e1d7652a4617af11ab5131f16553956d3c51488189bf3d9e9e386543e7c78d222c39806a10336927cba089abfc3318dacf6f27d6b9a6df6b54ec35c40203c1c3a2926c4c512baae05dbf742fab5f6431481e524c69073af04c2171ff0e0ac1aab67ff7fcdc5cf7877657060e9bfd3a2f720686216ab09ced67b9f4d67a8c0edf90e3b92f967eada69f81049ddd8ef22b2b2349fff328b74b1130eed1398fd94f2b94057e40c9c604e5327f113fabcc9a5c68bab3bc2dda4d401bb450de642eb3fed622f4c735869b028181012241121453103545f27aa43f22688c1ffb6972545235ed4b8ff026d9", + "f875bf217a98fd573918edb2f8a19ba14637931e2041336f1221beb354d3032e5076d52037d18c03592ec334665a34152dab9f97836f72b808b444ca2fe5402a085782a1344ba6c96f1472896418e3383754ddedbf58d0308dd28dc18242c1cf34980107028201002cfe71b7d15c072e0ac71c7aef80e8e40823a92ffdcdba8977450a5e58b154b019c9d9e7a602015c41b7909389afe686a101e223da9e752638c244b31e298aa451e24857c97fc984998f276b6f4c69575f306376cd2870124488f518ede6ab3f43f0c68b133c5c278028d3d824163e22cc5a7f3fff478d502af055ecb5ab5039a94c9eea95db34ad163f1b0c4e5b66aa4fe75a4503df915c1431d6965e70c931fcd6e768b06e57653e7261f4b95ebe428ffd2bcf904f91fabe16c974b4f5ab10ebb66ee3e2a95b369946b2dc0a30f0e9653eaeb681fea81bc47adbe1f50d1e30c0bd85fd0a98fc4869dbd00f2d61571203411fa7f008c0e43cef14f6ed1ecc70]\n[sha = SHA-256]\n\n# tcId = 156\n# short signature\nmsg = 34333630\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667\nflags = SmallPublicKey\n\n[d = 5a227bd7284e2c0f51db10b911d24bd931add424b8cf6aad5f77f70bf94faebd2b6c8753ecb0bce16128569ead41ab428481b5748311fd02cc821a2379f3def60eadae0d46777eca8a98f50e653012867f0116768d9f04286b6921d77c812947fa838c22159a9743b030fefe695a25dc6e51a293700e545b52c01ccbd297d110a03719ee437ac4b220d7dbb058adef86b949ca4de07276101deb7b61b2e5e8fad8bc6bf2dacf8f90060aabf2696c7f1cafa101ec562ae5572fd592dd7cb1f5fec11473dd398f7effc7981ff96fea4269561f21fa87bb5c2ebbecb441a13098b6ff7b8aec3fb7f483f48f80bd8b531f4a99bb27cbdec584cd7c0114ec972380f333f1fe4849ba118e5c3895f9865b806733cb764b66e99703e35dd49bdc4372d8520f069237dfa06c72fe78ee267184cb3b14fbdeb1ebdadf31ba6bb57b469e6242bc0d1fa391e0e8edc94d01b5fdbb2010f7d8e4c5cdeab865b1a2f08643dd0ac0f7bc151b6ccb0c835202f07a9ee5b73db9c4ece4fe4cc2069379414ed6552b]\n[e = 03]\n[keyAsn = 3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keysize = 3072]\n[n = 008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01]\n[privateKeyPkcs8 = 3082073d020100300d06092a864886f70d0101010500048207273082072302010002820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103028201805a227bd7284e2c0f51db10b911d24bd931add424b8cf6aad5f77f70bf94faebd2b6c8753ecb0bce16128569ead41ab428481b5748311fd02cc821a2379f3def60eadae0d46777eca8a98f50e653012867f0116768d9f04286b6921d77c812947fa838c22159a9743b030fefe695a25dc6e51a293700e545b52c01ccbd297d110a03719ee437ac4b220d7dbb058adef86b949ca4de07276101deb7b61b2e5e8fad8bc6bf2dacf8f90060aabf2696c7f1cafa101ec562ae5572fd592dd7cb1f5fec11473dd398f7effc7981ff96fea4269561f21fa87bb5c2ebbecb441a13098b6ff7b8aec3fb7f483f48f80bd8b531f4a99bb27cbdec584cd7c0114ec972380f333f1fe4849ba118e5c3895f9865b806733cb764b66e99703e35dd49bdc4372d8520f069237dfa06c72fe78ee267184cb3b14fbdeb1ebdadf31ba6bb57b469e6242bc0d1fa391e0e8edc94d01b5fdbb2010f7d8e4c5cdeab865b1a2f08643dd0ac0f7bc151b6ccb0c835202f07a9ee5b73db9c4ece4fe4cc2069379414ed6552b0282010044f592b4a5d5d2abfcbb235ed9c890ed4c393a58511d213477c92be7c44cc170a2476f6c9f836aea06b0d584c6b0d6eff344e20a58cd94b601b98ef3ec8ac8a7415430653450bde8b8e26ad2608814ee56bfe3ff1099d195c9c76edd82b1ffa50ed7b67f5cec464534ac99c8f043f57078a8752617abb04d4861031993efdcdda9df505b500c9dfda99f422ca3be309985b4a3ebe48cc37227e802298f9dfc937f3c419c156df8492b52cc24a1daeb355829836689fd0dd8c3057fc1d473942de38480e8ab6f16268cde71af49badce2cfd07524e8f90c301a6152129ad4d578f4cff93a042db9ffae0be5136c1ae5d8e49813d9dfc1703d14fc507846a8b45902818101f5ea5d7dd210be18585cc8f9118dcdd91e0587209ede4b419552064988741c3c76ff276ff952d104db1f6c0fec6c4a745e7340c2d000dde533258c29e5594566e240fe9a7981c5e7f6d6f42202590e759f34146e61de89f7370a15c0403ffd9469ca8e5b527b2d86cb52350e2e79dab865b9cb35fa88487d8190885a567d86e9028201002df90c786e8e8c72a87cc23f3bdb0b48dd7b7c3ae0be1622fa861d452d8880f5c184f4f315024746af208e588475e49ff783415c3b33b879567bb4a29db1db1a2b8d7598cd8b2945d096f1e195b00df439d542aa0b113663dbda49e901cbffc35f3a79aa3df2d98378731130a02d4e4afb1af8c40fc7cade3040acbbb7f53de91bea3592355dbea91bbf817317d42066592317f2985dd7a16ff001710a69530cff7d8112b8f3fadb723732c31691f223901bacef06a8b3e5d758ffd68da262c9425855f0724a0ec45de9a11f867c9341dfe04e189b50b2cabc40e161bc8de3a5f88aa626ad73d1551eb298b79d6743e5edbab7e6952ba028b8a835a58470783b028181014e9c3e53e1607ebae59330a60bb3de90beae5a15bf3edcd6638c043105a2bd7da4aa1a4aa63736033cbf9d5ff2f2dc4d944cd5d73555e943776e5d714390d8ef4180a9bc51012e9aa48f4d6c0190b44e6a22b84996945bfa24b163d5802aa90d9bdc5ee78c521e59dce178b41efbe7259926877951b03053abb5b03c39a9049b028201000a481e3baffb3d30fa9e49395e7fd986d58e804befc9bad0799b2e86389792a2e6e47449b23b9e15c9139dce384aae4f08bcffa353bea9ef2fe2639a35a1bc3f9ac38", + "963f1b605d785bda5b7c5b17e66560d336cdec31b70709b43ce064d7e521df466c8015a1593453fb90f3d43713b5d5066f5c7a4abb817b874065a7a117be1df350320a5555fb39d78d178d17e37a288da8761853c40ee99590d87f21c133fe06d09f40f9c1765eddfa7e865b6a4b369470163aa681d85223f37a868e97e264f371dbcbd9cef8a17601f7b29b4e76f2ff77b538722695dd1fbf92e940b6e24c1f33b490b1aada82875596aacf074c36e1e8cac178e8690be9f54956bc1ac]\n[sha = SHA-512]\n\n# tcId = 157\n# short signature\nmsg = 36313237\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef\nflags = SmallPublicKey\n\n[d = 61d4ba892aa781fc663a897a56f278364b09a89485a37255bdabc5e0f543fede724713cf3613d20c059983e7a38442c776c9accbe8ff714aa45d4d5cc35005adf8b8c76a91bd14fc975341a1689495fd85fae6f45ee5f010764c45a01d7fe521b0463c5838ced4fdf17f2df3056cc3f1d1f76753b563848ad5eac21b40e286e5e847932fdbe9a7a569c0542ca2e072763516ff44f67817739a3ee721dbc88f5d3d4ea704e53798eb8c0e7195070f313b800d65827a4057f62ceff11b160a8419054f99fe6b7cbdfa62a9f07ff7313b8cbc2b338bdf9517b1150de81212f9d6bde36a5b16eb82aabcd0157d2caaea6e0b02c784bbf9a00c7cd12e708723909f93]\n[e = 03]\n[keyAsn = 30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keysize = 2048]\n[n = 0092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d]\n[privateKeyPkcs8 = 308204e3020100300d06092a864886f70d0101010500048204cd308204c9020100028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d0201030282010061d4ba892aa781fc663a897a56f278364b09a89485a37255bdabc5e0f543fede724713cf3613d20c059983e7a38442c776c9accbe8ff714aa45d4d5cc35005adf8b8c76a91bd14fc975341a1689495fd85fae6f45ee5f010764c45a01d7fe521b0463c5838ced4fdf17f2df3056cc3f1d1f76753b563848ad5eac21b40e286e5e847932fdbe9a7a569c0542ca2e072763516ff44f67817739a3ee721dbc88f5d3d4ea704e53798eb8c0e7195070f313b800d65827a4057f62ceff11b160a8419054f99fe6b7cbdfa62a9f07ff7313b8cbc2b338bdf9517b1150de81212f9d6bde36a5b16eb82aabcd0157d2caaea6e0b02c784bbf9a00c7cd12e708723909f930281ab0c0f4f3c24bf8d0185bfe3f5be0fd9d94045abc59ed9082ebab4615c4fe5e74a26d2d3824276b90631aedbe4e2795873adaaf909fb454f7cc4eb6403c226a8d4fe96c429018c6500d227af70236f30ac3e299e502b0a9423ddccffb7e2987aa6889611896f3ca767a5d536f9815cd21fefa7f8f177ddb32b9a8c3599c3f37ef910e37e9048e61d0cf79dc14f14c242d0f0e350045ad6b54f278abca959b59c771e68c312aed3e33a71a73302560c2b1123368fcab3690929caa41f19b4e7e973c9696a6e1fd13e66b61ca9bb63cc30cbac1a8735206aa639fc8dbaca40f273e6b6320752fe2f0b4b5089d932ca0422ba3830eb74e462a7dad66f31491c321ad7f861df0281ab080a34d2c32a5e0103d542a3d40a913b802e7283bf3b5ac9d1cd963d8a9944dc19e1e256d6f9d0aecbc9e7edec50e5a273c750b1522e34fdd89ced57d6c4708dff0f2d70abb2ee008c1a74f56cf4cb1d7ec6698ac75c62c293ddffcfec65a719b0640bb0f4d31a451938cf5100e88c154a6ffb4ba53e7772670823bbd7f7a9fb6097a9b585eebe08a513d634b88181e0a0978aad91e478df6fb1d31b9123bda4bef0820c748d4226f66f770256081cb61779b531ccf0b0c6871814bbcdeff0f7db9b9c496a8b7eef24131bd242882087c811af78c047197bfdb3d1dc2b4c4d447976af8ca974b23235b13b7731581726d0209cf89841c53c8ef4cb8612cc11e550413f0281ab094cdf234ade11daf48b0df60628ad6846140b65d68783caf13171f4c2772e7a2f7576fc8ba0d5689074568ebfae719a4f2faee5159f17bbec294029f4b0d7ef85f5e7980a872ee5db8f6a39cf6871373abe90c894fc8cd96399a3a28f643752ea6bff28a919e88d85fe720ca359aa5d4c828f2530665ad9810d7dcecc0888bdce4d71e05c3a8579845fbe985ff6d0608fb2dfa1121c7b7e4ebd7209ce7fe2593ecfa2a061fb4e7b2773cf]\n[sha = SHA-256]\n\n# tcId = 158\n# signature is close to n\nmsg = 32353934\nresult = acceptable\nsig = 92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen149 = 145457; + +static const char *kData149[] = { + "# Imported from Wycheproof's rsa_signature_2048_sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keysize = 2048]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[sha = SHA-224]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 19c576f191c273306ec6ee9e26c673bdcf3f821adaf13a0759df7787511ddb096e964f5dc199ccc5cf131f855065d6ff0a6c720651477d9026bed82d201f6e84a23b37725fd24f5b75aedc2afa24524e7222c0dd7c6d2742430bab3ec46d12204a94a533e2a9147723d087d619e07873a4261c420226ec1869abd70117c787d4b1827fe98779287451086354292bbb90617ceb391122efe70887710c5cb4549d163d37e79b33c1b336826cb53b648689e6da54241d20df822cf7770d7beaef4bb00068252786580a88cd00e93f5ef42b69efa7c364b98749fe734ee7bd13d0aca585d84e4fe4b29478697170280a5921278997ef9856f7372b6995d7eb43ce0c\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = ab2e758c8de97282a7ede3401680ead187cc08658be0041f108851149a9b9d2588d5ca544039533eebd0305c07f394504d91a578f5764267149d4ef70b88a2a3f8cf0b1061d06882af53a88bef195aac87294dc833d80f42d942f3a59bb242b187e23bb89a068bb4c8a215247d04aec57f81f75c14e711b5878b04863e715d0f359ad13f008b79342b7a4ca095fd021f639e8f48860c1eafe6fa19162c2632a2d3a05330d149f3ea6c9aed9f89fa3f7bcb2cf2a3d1af0484178710c21c046a812f3b8d68027173ff5aeb1ad19ea6639e2d886eabf8149a8fb491d2c36ccfc4da2a9785a992046f24a93d2dd7765a171cd8ecb68b94ee70b0e5bf791967267251\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 61c702c72b0177ac857e52707c1a40b84a1859bf1d7d1cdbda643f924e8bab7c3d3eb2065aff837e92f93836fd54ea52e085e19cb0cb59fa58afad48480c2dac579315340883886e78456ce750fc55b6c188b716bda7957ff547222f0cc1462344de4bf078ec19f1ba5901a0e5f40d93dbae4aac407834b272a2be82c8da085a3e1e9e0a57d3f43d26462566f0aeade04ee8981fec8d7e34c916fe78c0c5c43781bab2fecab654fa55ac99182545d0ddf070d41f67efe0737d8ecab3411720c84862606c8e4b53e60faa1c9a98386e92b03d676b53e3fdbca3bdf0187ddc50086cf82ca6052be55fbb7f3bdb6c6c0432defa5634797c23b494c3880846169b67\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 965f82f0649a338ef14387a7f3335b9e2d5d3b4009eecfd26c0110344a30117bde6bad668cf083beb28242460fbb96adf9754b9a4d4505f6412e677bf3349868fd5b5268786308a5293f2cb2f7ffda76104351f10381e504e72d27435d5bea0517d20ebec0afa531e520e5fe484475a330a40ba1109c204fabc44ec099878a5e31342a650047c299a5f2322f057b9586cd9eebeed1f3d2d94aac24f9d7b2f05c6f28bc49cb2b00f5e56870fa099cfb2c3e276381adf5a030ab6ffd9cb96fe309061d44c2ca5ccdd76a69458be561e3f0ef603ebe9ecd533333584236970dc7414124ace98357c496369bf94123bf0d4e57b03aee567c2f83a9e6378e62a42fed\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 105c68d221aa579ab6206d23be01d0c91f98fb67ed8d2044b6278916223758aa346bd6d5c7282d23a2bf702e0facdfb884e0b389202a5073a715fa80158e31d1e3588af30d2fd8b61233499ab7952f0761c84912b700fec807937d00a021eaa84d96f59760cc7733236138cb4ff1fb04c7d4621331b5c729f9694555b6f9c324e74db4a7a8b72f2853dfd0b9fe63759b3468bc66017bd6c1aada2070dc8643b5e581f12cad170d9fe754c65dfd0a5925cfe846a8413d729103e9d7e8825affc20f477d5bd3860947c2665ca4170fc44f2670bc33b51d42e5df78134919bf4660cfbc092c1cdcc09c8fda1ec9383512abe253cd1a470271832e0c7de5a6d9a7c2\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 3662fc9bc91b00d457bce2fbc667dbb31ce7fa451acdbad95b4b418782b8af67d2fbaf1424be2c99e95e2637d8d39e751d757f89711ae165fe5bf142fd88b284df696e948ee714e3f2062c5d01d04bb6c0387aa5ff1511552dd066bda861e1c5cbfe73dd8c6bc3039b729c700c8f297f48ba2a36aecbb626b5c9f9b3c04102f55ee65ef5477d8d1d14d9b7b048cdac54d7239177e702d0629d3617de2a9fa556a6d4ec37fe38a46b768e39f1d8a380484ffe0cef59abb7e20ffdb7c11b14a42ee3cedda99ef9f71eae7cf760fd81172e03a3f2a9f7e42a813db3b089c11528350e93b131641b8d023d47447f58aeb9f3f38760df8a9b1ad4b8d43ba0c9018e02\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 8392c4d888e7c63ae2a3d53d560ccbc226dbb1d9f69100fd86a19ef30a83981371169deb4ef87aafcfb4186c5ebf8d83764470acc8c9cbe36a9b15037e25b1dfc63e929b0bb3891be2d1804b8c6a0bf65891943e4c0fd21e7df55c134dde69682244d22510dac2b304c10a2e31adc134ab27ed186568fa9091df16f1c9f4e7044ddef6675269de710774ed124b52fbac9bed285b4be5ef9f2fd50e1d95383e145553762fb87a1da173b8b89a7eb9e947d08b5303ef0992bf4e3783c30253a43b373d90a75bd52fc53ee4fb86bfa1bad035a8177f8c0a9f53a6214ec950c2a07cea7f908c55c24dc31799867f819af18fa30f304ea001ce9cc87eb703ab578f5b\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 00a3e40c77eae1f17fbf23c0218bb5baabb4adc424ec585b499a0e28ac21e664a0a8030026a161b1c3eb96cb5d0e498023561f11cb4ecdbca633f5d6087784106683a804301a16911bd7f8fd44c66a1c890c70fdaebb68267253329280f60fd617594194c96714126ad30547a813ce57f4fd14b1907172986c8a525abd130977a8e0a4af8007bb1e9b7cd83865b6f1b0e40b1709663a25bf118aeabb0af179cf61f034fe23d505c86f9f2be08b4dbd9e9c465c71edc0ee7f6236c1b52ec2e01904c14a3da0a426f39a8a5c462bcbf6edc04febbacde1dfe30495fc5c9726fb103f19d30d9d49d69ffe9190f5d448ac2d063ec4bdb8e07aceddb17202dbc25823\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1da09f538311c3b591f0c28ff1ba3d0888fd583f78c1bbdb93cd44c17640ea658a62e41adcc74bf8d7509e7d46764b33fa02f74cab9db364101857870003caf2f6df6f4c366997d1d00e891a30275554db7690b267c56eda3a279a1c2d9271cace128f8f3449f2590e4f30befa9f374009c7d4d75dc9101e63c7a102fd7ef19c9d8cc8214c7d8960332be27270e913e2906e55d3e55085c792f2e34cfbc6e017fa7211d3d2aa0dbf9f664d7cd0252247f8d9859eb7d738985e2785d1ddc21a156824dc323b272c04ac36015061888de8cf026afd575257f4fb482d5807d5ca41ee8128b2c9bfb22900a6e60f03b3fa99621f2b7990421a070d89d0eb981de5c2\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 22b094143d7c0e14529739d6e712202114a04053f0ab81f2b9ff357e6866fc58ec238d225ad4dc6ec877db71152395ca3747f72c20de76aa4bc04b1a61babb5d3a08017978de1144c3810ab5e371e0236fe14fce95d79fedc74b3108c0713940d4be0da190a7e7b7b90440e91fa1770b56754b4e7a8024ca5918aba59afbc2fda4d60745665abbc2ce2d9ef7aa9a4894e14c150c98b7855f9c015b90a245b491f5c4f74900737692adb05900d590e617ba6ac8e951166f5c6ca69b1e627ac7cf09d73d84eac332cdb3b6372575a2db2531a4e1342f68b91bf6ab49523d5b29f99515fa6af1e2f5d02ed7a7ecf8aa3884a656dd026b29864762bb85e55e4a8e39\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 1addb77d2c6e825936e498fd1210c2b6fca811a99896ad40375567647012f3601f9657617876c62d1314731ea4609d03dc3681e6b53a93ec3ff0d49af491ed906692ac9278dcd0e0d051eacedaab7a038a6a8ec4d2de08103025a726568271ef9561db94f44ce4bda7210057f6d9d70ab71bef8599226349a88161de5e8035b671505b6b476f2cf39589030148c1bebffddff6d025870a4859866d63e8945a10c2cb2fe575f667", + "6051c9f38140969c0162d87edcd0abd564e92e7389b223895ee92e35add16fb745ad493d269bb1c691cd1dfeebbde8e343da7051dd6d5afaf7aa4ee78200916ea2497043d07dfa25ffad324549902dbda79f4d9f02817a88ae\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = be516056260537514e69b25f482b4c22c1ff3ee12ca49b7f40e676a48cb424af3ca4bcb4d81b806c9c666ce066063efb1ba00f5b4dabae471e23e3eee7bbfb6ab5d505a725aadb6822a34d12ae00cb8e1a900a25cf236f3b1fe3b576162fcc8f33efd9bc6bc1c44d3c09e5e68c8aad9288a5a94cf86942231a413ced5bd61b4c6ebd83ccdbf52ab886f89d570d78c91d4b2afc3862569570e2d1b5469efb0be9b2c126c32dddac5c34d8f340b52cbcb38b1134c6b22109e7124411522b843c2bc3e575e60b35e7a440156770b85181c95488d82c0a725e02e90ca3dc4d41c8639d110d4bec80827140ffd1fe6e8d0c945de1e1b326a26e2998a2b03d86fbd7a2\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a9698fed4f4dd3d10ce7b039bd40b4a81bbd6a5eb82a71ba710094469479c14c1cb0cc13699fc8ccaf0c10382e1b03771a6d05670e22949c28965318acafde1331600f7337be8c19209b532958c5869c89b8384923a065df377de37b9e5cc7e5c8f6d0fd8664691dd9c97739194e5b2dd6d4330cef0aa0d873dce1405e7a435993fd84b339fb3574c78ed93fdc6fe604a3d9cf15c114e5fccbbbded2ae606fb9943a9a45461069e8b2dfdf882e9898a0eb59c4fadc3d86bf92b8dc537b1792be81b662b9c60db2938d513a7bb4878899df96a59334432d07a42b5de4a6d7c4b6449e3f469cd5f60857875bd1a617a2a8de8f9c0777fcf2e3e43499d90f3772a2\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 89d42ba026f51a31c27e079279cdded5cefe75069ce04bead266af39e266dfd8e9df16a3b9972e03f4afd3f561c931e815c66c2e81dafa56a8e6ff148f37e1ef4e98370c0a2b2e10ba47f7bdd4f433e8af206c107efdde39de9d8816bba196d52ace92335c34b15496c15f89bc087a16799059a556da9e96dafdb835b5553c5dc2c1b007a6ec1176e31a021da8c5106947e7a2316d3874a66b8a4ce2b237775365ec6f0842ade6f2a1b1e7d349189f6d2799c9dd40bd9d32056bfba10d14cd7d25fd260b1790f6ac6ff77631d4a5466c7c976c251f2d4b3fe943a344e75cfab3b8e30aff2ecb34014b906e1f1eb3f55dc8e4233a40cdd5364070ecb1f2b15682\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 712651f84c12fcbe98958b629326bb8aa9cf8e96cd8d06ebc68713e0241d2499b181b9216bb777e48d1191cae390d14dc63f0a09b5236fe6cb73f47d6043063ec1960e1fa5abb3631294e3c7fe3fa155864963a69ae9ad7f1b233a00e4b3b256fa0e28a431ff898155cbec008ec8367757b9290fc847bcad3a71d2026cd583b59401b7e66d552d9b59a010235785e6075cfa5f8a6588c957b66ce339882244311d9d0e33cf277134c0bf72c21683183ef12cff0ca9d3f517ee56acc4d89c74b0e81a7e1a26f14649766b0194b933649ec1fb72ebc78dd9645827e78843d31f503eebc40748a290b5fa5c1545d0801b63d753f0c0fb89e11e387d03c5dc465b2e\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b23e98890d5806f743eed29a2f972bf2ef5e53bcd20e4e7f8beae79a4e7074ccc4ee9c38bd2122fc1ff4a94a22f25092024dd3aa598c70278c93d70e932402cc0bc7153d87c59c5fe15c50f13eaf4d0c468caba84e43c925c634a5c4518610e836da434a4743824139610d6ebacc07ef9438dbd860be879fa84f3cbc5ef4aaa140b581f7085cfbb343ea32dfd30546f559759df095853ab2d5dc9026f4f51f86a3621bd22b161215088a58233a42f64b1688244ce2a170b8c6656e33b697abf6a72d57662c5ba8e14cca9ac502392f4942f734670bd9addbc1033a33c1e7af3ec7dac7565a8fa50ddb8e220bc2426746bc0b05a9988aaf3b83103ef3a3902a74\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 98053fe9f2dfa6624379b11904fefed76adc19b8446cea727737fa452851deb44ea5a864300736b1c9a3ce27caed3fea4511e9bb9401d3a98b0892fb086a5dc04ae9e1d8ff6407914d0bb730507ceda69efb840219084c8ea2528b4146fc3420eaedaf45c0d8450192c7af36c3d6dc38f1604ea69fa9b2c38baf7e7cd4e0f5c151cc9db3590d505fd73e9c6363ac77aea87c7558582ff3a7b7ea08c4b4ef655984224c2bd9709d34d9b8662e48a2df5bbab3e9df9e5fb8db8411721c73ab50ac3d5a8b31bc64131415cc08daf6c34faae6abbf1b340dd4f3b1b0ab0d64cfa33b501bca552c950ddb7bb5f59562f73c51fd97f2d6d750b30ff19502516f5210f3\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a25aa3f523066ded870d269c7d26ef45ba35f386097015e0ef59a9de4710e88bffc62a16f8fb02eb18704c562bfb0ab9230d525e23b596a804707d98dce426d3e3a1278c29f342b9dc310b5c7da5aaa5584b84e922a385fedbe78ba432adee58f51b2570b7889fe854de8ba2654d52390217fc1f5f6f35f4a75cae85f388640db87e96908fe2a7b78c91f0fad3c118e75965ff2edc0cc9228cc81700069c6e71d4c7b527869e7a3dc63cf74c7f4aab9ecf0b2498d30765ed719ac0987cd5fa1058c81e57cacb3d489866f96d5962b1fba9f48ff298f89f8261e8fc4dacae06576c550421b419e5c5159a64b6b67eb7c709f145fd4ffbe4bf9d46b0b7d70d2e11\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3f0770de907f40310ecfa536486f77d721aa07371f7e3c77849fb84166389876f4bd2c1730ec69ea95951582f9f7fb9b7ca388689062f50ebf2202893842891edff2bf0449f9fd9d9b5b26a6c96033700230d740dc585e64e0365079df974d12fd96cacddf2f114caa5ded4181f63380f30a696b13000554fb963b6b073891ccedde00ca3701baae4818f5e74838f6824b7590263228e7b31d614432bf06e78247cc82f88c63ad0514868cde210e2625fe5b9162781b4ac32a53d52bd673a257863b0c137bccb2f86e481430d4ae570bca908f62c27746a1e8e1bd051fa2de935bc40278c00901e5974756f94b3824b40e695296dfa730c2493ce257fcd7f00a\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5e4895d00312302559c490c304dcd4fc4a10398cb8d545976d6b700edadac5605c44cb0c0c7c7738fcd77dd5830d0601d65f4b1211b365705f3d5fc36fd713ce5b75e18232557046efb632da5186399a1de3dfd0236e2a4244d72637ccfc39132a642e4d467b15140a32550ce67d602d06e40c4a39085f63b4e382d4ab9bd55e070eb498cf3dce7f315c28b7d83ed704dabcabe0159a7254295755c7cc0ef757614e4d04be52ac43f4586535373780cecc58d07511b310fdb3e858489269968751e25c0641519547127bd99233e0dbb82b0c1b984a7856fd28ade5eddb5df6ece6c252283d66c3477c2a5a631f0e032e5330ed8e097426426502bfdfe1434b29\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 1feb9e7455e16c9b7c572b6b0e095fae2a86e99fa92a8d65ed37f00450a20c3582dcb34c049d82c22200988da67eb45c2fe9d390161d50c3269250dd7e0f6f20a175fc4edaa6fc149a2fca18b3693b7779b686073e3c64f430c7578181389b813700da244d3725df2d63e0bff0b59d3894b646f94587e9431da3f508f23832b0eb69c825685bd1b9381d8127431d7efe2000bcfa5c507bba21b538780aabfe5aa9cbd8a075c91b487b29da70e18c48a9baa411f4f1d14ade15b09aafd0a3984013b376b2355ac9aac22b2695cd608cd9b9983821f1d570f523d3acbf119633af972fd5b311233fd0c7444c10d8b964b8372989640571ad80bf3f67dd1882d98f\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 43de19d59bba7bc49d2971d66a98e6eb34324705a3a860f74bff5edc1b41bb7b168cb7fe3639d7dd7766cfda9c8cb725c79c66cdf7b1fcfbf97e24ef45134b23e1028bdd8a3f6a50564970d9c8cdfa2e52defdc919a4c915104ec63b122323c9f37878017b5c2005af3249018417efdec9ac2cfe176a0f54b5b1b5cd949be1bf64e7e2b1d22e485bd215c61dc3b50af335e52ac5a9be0d5e3fdf6ead6e25146c429d7d4e0153a52e91504edf9e48ae8ebcbcbd753f06ebe111b72d7e24b80d5225daf8eec2bcc7d484a2fbb9d59c17cd5ab718557a452b848fc605b7f07a6a053049bc1221214932ac0892621b95dcabf0f9b2321a6af61fb4f47fa499d9f085\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 81d561d769770756f1120220a1b8abc6054560f2797778bd433e53e256419f4f58b0ad1356c2cfade14a7a081d1b93b37b5edf2cca3f51ca82c683781e25f2df36f20af9a67491b302cb12f8b96c49ded82557999ea30638fc5b3aaf546e7e81675c79299c1994ab1b3ebbe6adf6f91a4b5fe15af92f05c4f9a63339dd53675e843f50d5e74c47ef3a9f471a7b5966c7995e1dc9bbb3f14187636c8aa1e1d3bf70d24642396765333b72a2d450d839a6582c7a285db440734e2488baa416ddfdebd7b6dbab4b21146c9adde2a14f69cc69aca5bd0a80f285a4aba56b2f5abe0122edfea4b75404ff0eb6304e10886adaabee2b778e36527f38335ae0932f9d11\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3b8ef79b1e78c674f827a66f305d67324d31847c0855cbc993fe9159f7a5e310ac2b30621646dacf58e57bc7b44a139c0834b3252f9c06ba6de582bd90de6e94211431820de2e00b9b0ab100239a5a75bbbcbb1761d85a3570dda4889bf37c8d3cc0faad74baa8c83124394cd10131351defb1673cbac952c4d968a4af71a28fc776f6f070b087f69a4d924dea561722f1029dd0c78bea40575b7faa5e8f96d3ac66acaa75aa5f74d11fed5070eaeb9f05892b7faabc4709ebc8b1748fc4d97e1452dc4dec40ab4789df166f68a4c8de218abbffba4b7b1733f81c47b3bf371a35114fff099b7db6fbbcaf37f7fe5d25a0399723a273e2c94f78cd21b4e534a7\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 89721e40d6e14639991bdefaab28735bdf50739f2583cb9ab34f4298ecf8070b5badd7d818fba03bace4d54fa050117cae3f5", + "75a97cb31859473040360b994866918ff6b83356ccf53ef6ea900a1a8ee77f31cd5cf25245c9c543463d09c4ecdcd9886513f630c9bee91ae0fd054cce64199a3e43ec3ecccf68a155f2bf1086c59ca0a3be47cec1d8638b9120b67d7ba03ebdd066493092297a6bf597ba63062dfbbd428bcd9725afd10586f1d6320738362e551ccb8631d802541ae74348dfb02f8662ff237daa10ca4efbe33cefdacfae2e6d86d96d7d06503c06375ca1abd2196bfae5c2ba9a2f4b1cc2cdcd59ac24451742edb3152852a89e5386c16bf37\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 10264b9667483464d2bff8d643de5bbc3482da0563fe1e77f11977c6c0c0b9c8699ab5b0ea87d123f8a73f4aefaade654f550a0e5197468246e5f8fe96704172ab6e50da24f48793f1de62bebf8fc54a2ddbd11304678f75831da77f3177b458f3ef73852fceb0c25fb91c1b99e865dac0deb6bfec1d924ceab739da876e7641cc3e3faf530d4a47b283b7a6954e943d0ab1435e217687ce7c0d0664c08b307401f7473e732a5edb1e5b76960283a29df5e39abae0a4ac89247c82a828273415189858f280a98ac509303e2a94c01f5e28aa4f04468744c9279858de3d3e81e534816eadd8d2188624f83135529544205e03f9aa256ef31c00cb5bb4cb69607b\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6cc03e058bdf3761fa04a89069f97bb0654b41d00d825152cd00db635d7844d75596d33685fd02f4a1bf36040ad71d5c448d1e2a95d23dc150463d85394709f95d7e37aa44fe300e3cb6c59967cceb81e5741bdecfd1d877e5e02a543e4acac44c4563df5d5d2bcb20e68c26ba032928c5019b3030457f4a828b19d37c3bc5f341f00e15f14ac1184239ddfc66ad568682620ef099c08d088d5bd0a95935401fc1091bfa2a120e94d25a54cde34c455cadf6b5f784392e3d8a687a9c56f5348fe9e5082432b29f64ddcc292e445f51ee0af42a595e860b88eca2aa486e8c3998c00a3475ba04d740cb1cd3f8f436531271df58bd2f84c8dd20cf45ba4db256ab\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 177e1f3535ebf19016eefcc188271b53387292eed25eab416ef324d58b7c26bccd05e5843e49b5ea573ec7557fa3662159318994595a878bf162f5206729bb960c502e248a1bc85bb60025ef41d9aaccc040d99d3b178b609a40c1581251cce8e6f410b082d5635f94dfbd06885f2935fcfbde23ae0ae509af1f39d77c2d94c0454cb173ea29381ebdedc4983e34efef635f954f6d911968c4f79b6487b28ef427805f4c3d14d2b8ab72f5d736cd48fae65ab3565d8d3b7af61b56f691c064146e424bd6db124ac9e5fb82e9a84e2d7da8ca953fb8db2a845640e6d48532adc426c4761315bbc2639bcde29f420cb553d6ebff0a496ede669b413c80aa63553b\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2a0d24c903c732f2ad18dc96c7e58289a1ed5887006f1ff7eedcbeb28b517171a25e48bd161b33f8c620fc42f23cc0a4b3ec0c03e42748355650baafe1e03cb1e6dca25bed0afaf5a56f016372dae8b3d92e21e9a5dd7b56b26c9ada092805bdd6933cf2a9017bb258cc19cdb04b2ae507894527d93a1bc85ef0b8f3c2e6fb9671c75cba20986ecccae16470d2a0fd8534fd879d65e62233d0e6450e503912569db3ec382210f8173753b32c8302137f0b3a60faadbd5a2a5c7d117f248797ed44345ed43284adf7655e7f70a0d94c4b05f484553761ec8b7be2ab5bd66d3110b4fed00d83dde2f5e0c6e0dfad1f084a851b07fb097481517805affc7e5abb72\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 28d582ef90052ede462304fb54653941f2b45d26998ae7af80f058646d2dd472d7ae738fe4ec226e2937366e759d2cf741b72cdc85f49004a143a68dd4c820985a5656b583e95dfdf48afe5895f6e02d8ad5131a522d8bb005303005ffe99fce9374cc538cc78d4f383dfe8b95cdee1938a91c847ad0c29345c99efb03424a4a04e52e5f955eac56fe5ddbb9c103223e0b3883ef4b1b787ccac10d9de11b85cfb8d3f675d18144ad64ebc59823653d54b85696bb6989c54dd368f0a130d8cdba7945216b7dc1da1f0a85e73f1458e009884d02106a2ed5b66d9871b5d1143d0ab5cf09b76e98d4f03675ff3e74af40e4fba4f9c0b87653455da30e4dd0897cb0\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 2ea2f54a8bb688cfc16d6566f6b94d3170cdd93451316e89bef148e70cd85e185e5e19f23f4a8e7a5e65d938a43002ad4be43b3be2e409aca1b69292928d98830945784abd1ceb0cec45984a5496d0ccf9958efeac39842ba50a1cad7130ef5b227fe93040ab7f4226d5005647cc1b0259373e08ffcd242b77f9037797cfafc0254a96edfae31c4f7ee08833c0490082bd33ea25a2138593cc88fcfd7668a82f0cd26f4e1dc65c4e010c113bb2678c91254de5eeb689b582601b79ad08198072c51987602fc78bee6bb4754361bf5be123aa9c1f8c0d8b2a804102962c8da772529947bf2dd36456f6ff6132a0c6ee7347afc5680e705ad3b8e81c9a04f6a807\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 0bc548744c7474e5d904c1a21dcf938ef8abc3fd1a0e20d94564432dae05550449d4b6ade94503073f6269bb71afd2b3207b809d39a2828a6f14774bfc04624255c1a2f28a722925e28115c98b20e98016fca0f8c4b3e2947e555113d7bc88d5586bd5a0c361d290b4dccbd1cce03a6df3dacc1baa516b1664608e6b9b097e64eaed352c8dc9b8864b0111581b97bd62a0f1b9396a385de650690e36818fc38d042574401c9dafb28b81ecd14d1b9e64ba867b4bf29f8e78fd919ba2b00f0896ab7d7df12fe4a8f525cb5b9a5b1c13ea609cc7d09b6ee57db3858e62270602662e8b160d7d4b76f2d128c901ecd74a0e2188aeea9c40325c18937e0ab67ea4ed\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = bf13c64caf9726506b5cf9605c68252c38c9151064fc85666c7572145a72fa04dfe0fa5aa12f020f4581f1b199025e44aee682d65b1d6f78d52b03466fb52c6c8bc2adf65a0e20cf39f4e9d62cbb6746de236279dedb71e4c3b27fa7b4263911ef7ee2164384ea9b47ab8efe33c7c41a785b3b8c3aeb329248a3ad4fe443828b73b7da87475b1ac102b582ef16d45678000dc625fbcff5fc6509f3b42e0b097617af91c63bdb661a6b92f72cb1ea33a6ef2b6d23782bb87d069f9726c8c91a7b412461d59433a85f04f01a94b7db2e6b493505f6ab51dd2cf37c22cb5b3b9cff2316fc4a7433af2f6ad4946bd3faffaf03fafc1921ba7dc135f3d06f76ab31d1\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 4789ffe0c9ae08e5b4a13e8e94fc0609c0485dd09c3d10621187aca1a503b0ad3e74ca519bc90f171f2de9246967b16ff69730a4fe9073685d35105633300f8af20b543f281fc7c2580a7d90e5977b13e20e3598daed7d1164f99999c49a90d50350e5e5e134c3692bdabb75fde51fe7f09bda5af6d98eadd4396bd90782579b02a0d60bcfab72ba3ff4414cd500360b21f9cfab420ccb67465967bf5a77efc2baf38b97759c28aa1df3443713c2967223e014182699c82169375388fb204b8bd609df94f5c14de98c4c4a97ef52bc4a26907e5610e249aeca9c951b5559ab1a63235cdd50ad991efeeb5cc87c2f270f3ef916c76beb90dd0fe380ef1d7f54ac\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3316b766710c2c54ce3c42fe05188c41bfd22cd91282464930c763ff3325bdf4cefe9328e6a6a9eaa0392422cc000a78903552649146773612a9becb4d7b4cdf2c6e468bf11b2ced75dcfb3f5811b596894c8dc7948d88093face5963356ef5dfe93a0839c0a3bde0ee33319fbf28949e9bf8710b988c6300beb0b04cbc841a9018a6a2fd6cad033fbb8e22c8cddf713fcbd096d5c498310a11863c276ba69d81a2327a0972bef0db5303e3d55dc4ccfdbac75885f337867e81994ce7e890dd52a0174639167b53718ad2dc59f75bb111461b713bedbb1fe00c790fed6984b630ead97647648bb09b65db20d2bdbf63b1101068d82a1ec3b2891f932ffa918cf\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 4f3eb885b1033c3f5cdbf48b6fdcbd092972a466af821ebbd6f8b8a2508240ef14957e9cca82bcc1b3124828f9e2154353292ba3339f19e5e35bc6f6a678bb0296b2b5f54dcf9fb4b19fad1451c61539f5b2a3c0e94a738f25309ef87b273cfc3495c79a3937ea0cf56d3bce104b9b1ce30561dfa64867ff722c37973afefea4b5a79073f8ea6b0af36c9f49e61998381d0dbbdf9243838a987c7c446bfee0f18fd90ca023c03576c1ee24d8e2706d337f126775f6bd3ac3c5985592209b2d15f5ddb8dda0a432a5992d784dccb4d84f91e8edca9eabc4376411cde969c703eb1b61f0a8b82cce96dbf4bd97d574efb97e60c4a2b50808963c36c20baffb0ea5\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 2d481e02fd9cb19356afe5a88342998ef96ef107f5b365c55e24073b815907f3ef9a628146f13101dc8305089ed0487576fa5b149ec6d80a0d1e6e8d874d1aa15f0261605105a63e41c05ba80aebb417a7fad72cbae383a26470e3ed867943a2a697b0e89ae5f2a9fa46edac74bbafec445a5d3f7ff8b010b6e0e0dd815f5a915d867c1345f39a3ff33e49e02c10dc0c87c1fbe3adfe8c21024573fe22e8f6700e9b577ba0c494eb96b55ac1fd6cc041f17f834c6b8b6ddc1c4087b6313012532365bf3771ef37bebc694fff80ae7682452d732da71a30cdee5af3f437451aae30d6b240752d87bfebf1141130d24a470fd991bd06bdc7fc1bc428380311dd86\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 421326a7fb2b1c3ccef84998301905f4f7ea1c3b9a0edee378edf33a555bc379399ba64c970fd8c41a72f6d7f6149908d22700f3836fc0baa11f88a15ef9aba5337c3d5ba081715749b04c3a05d026f17ff8c781af9526add7d138e3899651e28544f21dac75fedb70d1a38f48eb711afb66dbd275ff82fa2cba43d265f07b2087821d63a5467c9ec363bef9a55b65537e15fa0b2015d8e3cebcf096c63733cb418336e8f04a86ef9f430d28b78352043151deacf135b27805fccd9ae4bd6e62b10c11173b22ab155555a88960f3d1cb8ec761c56d6d5aa63bad6b0cbb47a981e283f3c494411a4c3f27d26013e3d09bdb7efb", + "f3073443951c83697f9336fad2\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 7a722b22c2327408ee6035df9006171f719469bd5b48ee865978b0224eab4f0c3ace1287c3d95cff5c266cfa54a52c64a9b88d15610f6b496d30e9381c6bd83cb94ad574ae7fff00723d6996771e7395705f97c8e7677a3132dff741e38a5284e7fab7a68b042c5df40ea5adbfa650f6cb3eda0790d5be4d16ee07c07d8728bae2cec1d128647cbb2df8606a99804a1a00f9dbba76d4a9cbf013be2c541df73041e7cceb9a187c0241eb213e64ce29219f9acf064eb63a534006277ba02fe5a8c5fe0f040f4323acf78864d3b8a6f6ccd108131dbf92c42f42159a6f5a86651c1cfe56750a79a2a842f8204436800e51eefb7344f733b50e525a06d8dafc3807\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 047d4caee2c97c7feaa65b9b4c183f54e7cfc8e94c9cd0c0b4c4dd204728c357b959c38376b74e65fdfe3a4b21411e22d3f6495cbb905171322132b879a95fe75f62bb7e648e03b923d6d1e56c810b9b71fa3b68ef01070814e56843a9b943cc83eb6f0091d4c11f0608697a859c3265a5554befef16557435072e251d70053fe6ec28b1399f8ebaf7956868412bc1dd7b6b2632098e3516a133fb13e690e36605f23a588eb1142a55aacd434e7ad8fce310ea6ca6ecd6214bab17ce772c99059ec9fef69fe2d3b1580d53d2ffde3c5930d203d7cd3abd345c56bbdf01804bd146468ed5ea193eb1b329ee33b57bf955704be426768b22654b988365271435b8\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = b0bba3124e4e8d991fefe71464559da12c7228646a5901a7475b1c71e352d6fad3dd37b16601deb4df3896535810dd9060223c0466035c4a2a481a19be2f85de7f0bf0d511e73681717877fbb6cf404727cc52a966b0acb3788967ce1aa5ea887a419f96454e583553ac07b15b3206c984dc32f555612534677bac5565f63d43729a3d2b5af5303d4af92027593313df17f46671caa4ec8deb10b870f4114abea7c11a32f1e66b1ca92fd21bb3678cfb039c5260ad33deb7c2ae1e847d86fb9eba1f212a707276810b91294773d469b484a9c9b2c655ebeaa9f0f77b96e2074c2441495351f605201ce8917d4d8755a74322f88157189dd9eef4b9166967189d\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2103686c13ca1ec2567a0364cc5c7fbd2d3912d48e8eb79ac078ba92f780ce084c9e2684a7f162808499aa3c7dc17afa25173f6893a382c8a934f1bf9c43b0b3ce7d40f6532fcf6c225286362242a89b9efcc3ce8575099662a51d5ccb1a7dee56c25b475638de68901b855e6ca4f18286aa358fa92a4389fbb0eefc6afa547c68e2790980c41889217b5914bbae5527e7193df70562f4d44b0ace7be822470429c4798c39f33a36870cd3acc0006c356f6a3abff12ace4960f9a03ad1acd44598edf191789a5f8d83f33e4109ecb8a55e66bd950a7f0e91c369fbc97f221347c64dd49ca997451678de3f60d8dccfbf29f92f82c1843500b41a6aab49a2a146\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 081375d1eca4a5d33238f9bf1f7354b2d680752617a0caacecda023045cd5bd28771e38f24fdaabba884c87a70030ababa6a4a1d8e3d72b19dc7474250ce2d048a8ced039c8ef4fea770df5fba7ff5353d2beb06571503835a690dfbc43a40b2b9cb10d244c91a50b76f0e0524dd123a8a304378d1bfe6c10d7c281a77c18db64d844ef62802e93dcfe1df5ec9efb8e08c3bcb7d579e1acd4b0a0c33695a15c458ccb507f1715cc79d5c30d90da1de5d3d371ee17baaf51dbdde3f282fd266521940d3d1b5967f830881bf235e4b896b78aaae61e2105ce61fc7bec6274639c05a9ecf59e27a4b70e14a8b13579cd69b5760859243d04d2bc0b35097c551c748\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3f04e9d3eeca27f5558685349f50f5dec7cf3d25801b977d0d07028fdafd462c7da1433157637cf2e32fc5b83dca9b3e293889a31e3c8d2e31eba924baebac2ceb7e3aecbdbf023f4e1db0e3b49884ac42ac7b79c31dc19796fd08bc95b08829703dd4ab6ca804a8f5c601be801632d17e08c217b5ff9d4680ea36fd553e51d7477b4e5360b2c076e7da5a9894579e33bc35f797b93d2661efe2bb87f557aca9b1e65b9b6d8646ae1771219cbfb0ed82b18009a8c0ab729b2e3815c6a0bd7d4eb0bb0dd209c417ff310678cc6b5813b2acd4d1223f5afe0ec1e08493860dfaea196c86c35f4506fd88dd78011d2accbadfa38323fc3a9625ed68cf649d1aca94\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 0411baa04f289c095a5bf21c481c848caadf6786ae0d9ed6f91a785d81510a3517edd3ac1d6ed4746110a109c8a99bc549a1409eb72a3681fc858249135cb5a24b3aed3ba8b3a33f472b15807c223473bcac0e301a846f6a293b28ae456987b65ec0b1dac7ad30eeb0f3e5d7dcd73978e79dd4b0c80efed470f5c90c8cb75e88c89e49a2c2a3e5c38fe34f57c6b15b835b4cc086721d55b8704299b6cde3b9bb983a9f2403ff68d3f9a55fd40245f421f586cdf8307d73cd77d42e0ba886ae5d191c578c3f4cabed531a0e32899b711f33611a5f89398d903dba08c93084d08e705b1fa5fca28b4e3bd031f5a7a0acefaa001545b432d6665d5ad80ca4cc72d0\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 8e3dde30848a0ec2780b18b8d5cc10875a090dbe69b6ab4e808e723372eeb7752142a3c9be04834d18fc4193e64a1436b7c9d6b62204b03afc122014a6ec2b2037baa3134344b612938a0dffa465cc4f5ce76642dd266afc5375f50927974c3fa458a5cfef69df6316ffff6019f00d40e7951613fd20ba9f5d575fe1d81bcbb1f51bffea42cb5624b3ec5c4f471e3f9fe6f0dfa162bfb6508711150d0727260b63cae72fb429b1153661fb6c6b7d3bfca05bc6ac9e96876c9986a05f62dd85693a9fd8748f9cbcc30ccdc393f9a9249af15610a2ae277f26a05b99dada16354ad93853dfbba23f817ac098ae5007d7e9bd023d7a4d803d5473087f3ddc0a9e71\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 573553d7dc7ae88321d688df3ae7f6a4a621452c55b8caa6c79c678d30f73413f4010a4673971dba59f2a31dde45fbccc00a24c316e186ee0769eadaf6d6fc11193f389fe3d874afe4ed226908acb2de226151d81f00cc8aea420cc2d8a04b24fad5f23353932109ab57c0ac3566b868692a8d7f50e975056e4b462debffe9d8a7ba7b8a2623970ae17ad5472e5fd1a54a4592d4755cee2a4c48391850a7dd732ffc9fb1387d63aad77d767c5ffedd557bfb7c733d8405355c9eeadf376b1ab3a83de9a2711f78903509f030c096cd1b26c867954c6c2c2785c19b438990f4f9e2748da577acd2985301065f5883325eb154294b37398dbc402e805fb637e742\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 8f65cbc7da6bbcaddabc96881f19fc7fcc12f7c37995965904a130c83f94294848ee51ac7e0d631f1c8f5de531297b458850179b41bcad718bff75cd7ec3538bfd4c24a3a66a1923ff803595ff297077a7c46c86e58dbaf8532c79c10c630b9282f36bf1cd10bf944c10d7031da6e70efb61850dfc152dec6f5e046990a1880c6d2f3b737fce1066adb6ac7e83f4f54a8364406c85a3eba4d9d5d3653c2e18fee613dd6d6c3aed29db13eacc0ca6f4c153c7ae623061bcc91f9909592c909b78e3da2a030b885969089957ed8e5d547f613d0f75dfb3a6192d49d5e35482841457bb97153ea1692fea6498bf1530546014eefb1041404b04034184ce1a93f1b1\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0ef30aa40666dc896d83d48f76736806caec90d3e75fc02f61f3d6b2286cc695cf91a4fd58d39cb970c1c1c507431f9401330836d6e98e7d1795ea2afde9adc53da7299325c1b982169f96b11219f1cd987796522148f38a4539420782fa2d7bcb28e836188054420308ab512014c85dbf21acbdc2baa2a2f044de110701c0c42f842d6bd25460067787707b52e1ad14d46a0d815c754cf7939ed10467bdc0de1cec481bc2848dca5a385ba2baebd6b23086ff70eaa6ac2cddfc821f1c989573c749a86ff029faf42a1193a3a23571a9e1321f0b8c24f76c4b6828dd18e0c2bde1a3dfc5d0aa59c676a11c623d06e3d2fc652dab6a980bc4957f3ccbc462ca6e\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b0e67666c17cecdd0ab49ed69aa23b34da30fa6607f0f1be12bb6d5fe480ffc3cc253e97159c4e789019b78d7ad85f197eb91852b03d88610ecf3d63d9e3d69ee2dbdbf8715f0ddf2a0c238dbd83382488acda3cfa51a5f52d060b089354cddcbf76f0bfc74c619988dce3566310c884cf03a4eadd422c8f821865a04a991c64af3c220de643da0bad6a71aaccd87727ef62230c595312e40b1ef12d1b89da7f2c729a94a3c576b750061f150d074ac0518e1c0fa83a015545d56dff6dd5f549a5a471f6b029d2c0aa638e4c797d1dd6aaad0c8e58dccb184b56fe4fbcd7bd43a97e6c1abbe1f44ef0fb0ac79d573e286ef13446b697d2351c00bfe8eb4aeeef\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1d02530bce0236b2b3de8b12d0b6725f703f679b39d28dac0764df224d2bfa712e22bff1b56b9ce565dff215e762c5b2d3e7e5230566ad5eb77a5b1eb10c21be29e525df1e7001a9797340e589d078617937eb24ac0001eb4990cb23e8f7ad00850ab8eb2f289cdce45812ab38b902386327a6480a76429bcea479da842ae8d632ff6a5477a520369e7e40e2b1cd8417c27d6e313621339229033ab24b516fd10c4bdcb39fdcb9556567592d79019954be9622aea1751d73f9745402e945b3d9aef077296722865e2f9dc88d1c1e6ff82e6196f690531474165d8a2546b1a40992b7235bd6706a41d414310e014c091e10a8e6cad578b9e23126166ba2cb2156\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5783c140eec08b80c4b6ab121a106a5eb8b98d10316aaacccdc0a128d6abcd9b69c94256990fa05d747473d39dcb7b7a105c355fa59b88c022900cc2ec0cc0b6d86c498c50f21de8366e497410820f16d21f49ef6c54ce7c83cdb7f6705a65be1c9dcc1ca784933184bdfd2cfdbc0e6849e7db44a14fc02bcda843ef3061a125deadf2ad5e7c64301ecbc8a0bc307c4a92985b3723fceee8343622207a0dcbcf82b3130b6922156c09cbd846a59795", + "a7756ae6c71752f73e740a1199d4428f5bb98b03454944af3553a98890ba5c8ecf63ceae9d2bac536752acd2752e5dd84780974aaa8a1ec2560a04d43a69c480df1c76a64e734b7eab7c148d22b198ff8c\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = ac353b1cab78df8b9eec61d5de41f878f246914ab28d983f1b9c837e2d5b85df9bd27f07821e01d149c1e2e6a95d49553d23ee075ed98a75cb5903d7ed474e2102ead177ff584862877cea040714c3cdbe7dc0a7dab28492d7a6d14e1405b8d3f21ce35bf68a1afa46fb0de0c5f9568e3342b30417cd245492869d2264e1c450b0eb22d03aaad0e9eb8f6664e2006dfc044b5c147bbc31c09452d00e154ff8a5c15de66d26cad5efb656b4512f73df85a577fe83efca291c10603ebe79cb3782a79db4456305f259e793300899ec565621aa3700e9d1f328d161aa7d2d511545c3d2f9e3d5dcabd9f45fecc2fe43d6dbf5088362cc1f5193f8d785bd5230c6f4\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b97bbe22841dba4b6d115e4d297de6e2a7eb18b69651b15933d8131f5184566129d84e7e3cd9f9670c1b082afe403e8b2082a66db6178c8511a6a1e944a257ad28b163653455b9c416ab2914378d2bbac4edc5692bbbb5877b98ae7f7aa17f6db1a1a8c110e6addfde8d083a37462b461b842690443d3ca2e14a420fd8e663a2423477b0ba979b4f99be3589527d82158d05f437961e29852efe2bb7c3ea1c60993a70170599858f951249405b596cfae321ae71e29e2380455931c17387820d3cbccb91b6c55c53734af6dd94bfbbfb5faffbb6fba6dee37274bfa0c4e486d143b6a820f4568d67c8917cc05c97235984e1716a856071743efb4b00b461195a\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0d6a1193dcd1fc7e17c72993cbc0d1fa3668496d131cf6e4cd70f9445edb45d228190c0bc05afffa4dc57a8d2abfc68beecc62bbbf0df0bca13101eb0e1a82e62d1f942e718f5849a8b47c9699914bcf6c69807c3288a39cd25429420892d20f9a65be77135921633f21d8f62481bbad628cbce6a5df56ff009ca635dc21c3d64df38382f5aff0397ff7f289b49da3ed1b31c4a25b39f806d8ff18298cffa65e312b663673c7d2a155ab7ecbc70710be28c597a291a2ee0ad695589044be2edcb7f91d08145925fcf3ab354f96717a801ce2d293c6edd89c1df4c9beaebd2ff8e360b1cf95b422729722ee8600939ddfdad24966b867f53be1ebff94e0733d10\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 864714bb1336f8b13d8e6cb9c5c9b8523a136f48cb2e284c56f5d2e9f13139deebfe55e9cb132f07d5437bddff75083ee9a912c913372e343d0d4f5b23a19bbc3c4f35fc1408bd2ecbbaefea399c1c217aee2a0a34b9d37af538f01a304689f5b8770b9f30cf7e525179efb333793a2ee89811159e2d16c40f507de9341acdc841d9341a79d1408a6301521b8941e1e71c1d9126144de7e9b6beeec39982bb8d57c62fa8b5274cf3ab0a90fbff7245a30b79e407553fd56c068ca7cece808bd78f866412ea67ee515a4a6469be5bbe96928bae763055b1f327000387240cffb6a9934c9b7289b2101f9c121d456120bdc268b3f490a543246d21194dd3aa8f6c\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9979b2682f0f00ea94c2e937924ea179cee83631f72c72bfedb182495301a15695e6f3046cca149e939284d729870500e639924422b693a1930f296b210b565f2ceb61254fd57e96158044a1c913621f5af9d3a8d593a9899ab5153442140650227817c5737353648ed9dcd137e8b2a8d66ba62b0256082f7d0d7f9c2cd8d457d01edde6be4021ed7cd6334c0d95633042c7da5cb9eee77ca1288e3b698ed435f21bfe1d4a6b62428b4f8f9612fe19bbb6dfb53b4e387c57de60228f46b3c1d951bc1df5ba6d169de2f420c9e2fbc06b4384eb3f3f3f8778696e862d8ed290a2105802a4a2376557406c7a390cfcdcae7ac71c5c8b4036bfe6718f7e258bb636\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c30cdd24a0f73bae9ab20a2ed7dc92b7cd18c7603d05dd14498a6c9a7f3b5e332b6cba1aefce53ba9977c452317a8c5115eeaeb4da93c67d323381935eeba09f1ba8755e935cf6f0ecf0ecb7c54165f2dbb221a0a953795c38694c32e715e87673549f9bd1bda907b7f2b0f9430336b98e621e4fdf5c569ed9c5f1a146db2b1ecb0da9bc53caca8fecaa20a59ccd7a97a5323a90140a248e6ec764b9ab573278b4cdc818f202801678192fa83a01320753848b64d6515746ff99edf5384c8fa5317d3e9a043dfa613403b99e4a05a88310157d02601b940db9ded7121701e27cadbe494fdc855e583c1da47bea02520ecfa8242ea18fc61c922ec29d9d9fe209\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0a3d16f6a90c75c52870a3fd75ad9c7ea68aab871686c058659863c84c732ca8d41a0e890e717502a5abfec94a9190ccc1246157f79079091e5f5b5408e5df84550fd302d1a223e9a227c8957fbe926ff8cc83b4fa4bf3a93826724bc9ce4b81343ee1130bf9b6b04871a394dda363bfe493190f0e0bb8cd63efa6558b5636dfceb98013abdaf77d0bcbb139b5270d16e4c75c1890c3e31a1b665c59117d560782fa4dede708168ad08acc4ac4a72e379f8111b06af6e70d4029eeed637cdcc4804bfb20776942675c85b6ac7f2c9386075940b5aaa03b0df227332288a78ec7e9bb086fae1657a87a456ce78ee1a197222eb52b67c6ae33defb7d1cfcb39fba\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 79b10605bb396e0fb0ff055e705957f77a8c178b49e6998665d7a07d25eac2e6450477ec5ad54ec5aac9d2802d14a0fe290b0f577721c595c14770fa9680e623d8e724ee97ee0e486d8219e5e4a5ad6d9d12e35af7ac149685fd30a598a561220d497612193c5262d7df3f1d0b76acb3896d22c29d50f5c51fb9ee279d8deb770124ea9e60635ebeaa2c187831b75d6d73d26c3bb01bb958b6a5b1a8fbb5291e1674ae985d4b5f0e1258a803160ef06469e6ff92d3c67de254680ba245c8c4ef3305e55a498076aa9833fabab887258c757778f7dc85258f75efc588392b74f2aee52f04e975d5815eb6350cbdfe18824231a6a5202d67f2423c4769631dc6cb\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 23ff1fbcd4bf817c966cbc4fc9f4c62c948664441fc4259b6693519a95e266a7fb3fc51754905126d74c8c7de562d3526932b85fb81e2bdafea221152b995a904a1f980d6e88f276444ca4dffa1e35ba6942478f31732cc4dc2802eeece0beffa4a637b59b96b6ec0c9bd236d438605a177dd4d3bb2aa195d283e379e365645a172ac6712effd84ddd5b8c6736012b417101f6a5f7f2d5daa9fc58ffca9bc9565ad65821e8154b85e28cc8064f11c646d795efe9ba986420b28d8aea0afe5a11e038b03af78ab14b95e050cbb228cb505b708e56ef73b6a715b37d42af08a10dfd573c4fea47a1ed582901de7c0d71e1d016714f03f59106a9d10b15ede1892b\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 42c18c5f195b1993fec4857593728cf00793bb0961f0a924b20f5cd94978acec7c4cb6d4c56dbb07028a8454d1f3b586ba17c2c9f4c6f993d12d315e49f921dc1e81344741273193b89cea722ead9716362069b5fda2dd45f00f646a25d17ead262c9c856cdf8be4b7fa54053ea5647868cc853e0843fd4577086b55502cdcaf7388ea92fe1250f2333cb744f7108251745cfb272e157f346cb2d1463a6c119ae0d6477232b321075bbcc69d5e76c8485d621bc17cea315c53e49036708c7b33d7f65dd851ddd96182b873e9efb2979678e78116d4d85063e3b314649996bc3908d409158221b563a119f4c857fc97d280e7500f0f4f6ce9761d2260189572ed\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 8022366a2ecc0f3bedcdfed040048a7b951708d3bd22049be9e7ffeb46da3e2ad1277207b2f84b60bb24d00defbd2b895f3242fe1870a1291ef048a6c164486445729302378b411637073e386b0004321852e448f07620554dce1f75f1965773e20c01d0fa0ce9f51cfb938fb8d356ce3e281675d5e2c5aab46b3b7219d9660fffadf3ebc1f4618d46f54cb03e428e74cae7ff915213194abb0dc016f83b9740a438f6952c6f3e6bf3fc7f124196c34ef4e36cb54baed6a6707078dbf5db2c2941a235cfaf86df2862946e36f4f513160e50dcad2e31106f48619a41ba3a94d2012a87bf21a81dc23002a2c14f216e0f16e57b3cf26419c3cd2d61503936971e\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3c967b1b7453b98ef67694d96e8fc81c91475a6090395d32150f0df1f9492bcaad385cbeee2143f049aa7a7d59c0876859cb9c5197dab9a0ea886cdc58470e252a4c555fd48546db5c8bc425430ae08923b6cadbc48cca2a68167aad493a7070c27c9fece033567a1bc4969c4e6424660c88e1ecd657409d61f881411d29c1de427be1528af02db4defc6be5df7db0c85f8c890d50223ceacbf715b938d9ff2ee8dcbc57f65583bea6e21684cc5bb629408a80a68cbf901d6d05f1814353a458f6ffcac1c49b7f3cef66f52601f65ad4289707d44278694267fc5c43f4f9df765af887f4ce1753ec189553c77ead37d4dbf963f7b73f360db65b417299384dff\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 238cbda5396565558992dd9f4e51db93629242f2e8dfb7fec1b1bac8bdafe212b21125b09e782beddcc0122ddfd8463b4d330f2d69875dc560723e58b64f154bfbbad8f8ad3053f0e08108610298396cae35e96e9134d64c4b016a45abaaa10e8d24759727e0f85840f49a99d1ffe9d92561c6d152d1d033fa237f9d23b44ca3eb9c2c353595c4b3bb540a3c7030d64029d97f146a4d5c107cbf1a6a111b8bfeb148882753e3ccddc897cb3231b14650261c9daffe94f4594c43d45533692f0c4445646bc1ab30af8a6c548e2ad3d1fa64c50bfb96542a4c1b04f8a507fe352a3ea1152a3e47f52b520d4064b878d8281a7b3a5528f8bb7353d9c4972323db91\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3f40a7d901d1f36a2052be75191d05e0141e1411ed61ac4556f411ab83be2c0fbd4c537a537944130c0b62993c1a1ac9b1f93684d7d39112652b0d5594ad9abcadd28ecb85e7683959beb069bd22a4252d2cc1ef3ba181567615255873bce46b0b27ab06d881b1917453c8d944c8ca76b3bd2ebac261b9b9585ea7cdd6cd189c4db872f5cfa41c2a48b1f06f9a", + "5ac70edad5edc199766f7113e60b4da1df4486971ee371fe69ba655578eda765cd89436ee74f46a63a65fe2f373aad63e28e1a5c58db169f598a1dc9f638585da41eee8e971a8429becbb4d0bb03788ec6cf1af7102af35ee1cd7b91e3e68763e34e56532e13d133e8cf3f4b647ad697cd4ca3\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2974ef65a46c44f98e9e42db4a90e9896704ae8ed8083e2c8cb3b815b53ecebf381ce8ab71dae4f6a17ed3cd2190655e0f7944d70f61dc602744d0762998661f6e3414caaf5be9e219ce861b9e6cfffdf0453eb586c2ed7245ebca69f145beb5d98b9b41336f25193733e0e36c3982a182e63c3c0bb6beb8b10246f494b01e23ef8b5c2d2307fd5186e9177c8ceeb34b366393ed6b3556ba474d3b07ba137cd3f5c4bb3b614289fc94a4dbe7838d00213d828f505feb1f8163b949002b08da26d4bb0b2ec44a40cb059938bca94029804942bbdd08b975ba8461f4f929179fce2a6e2c15cfd4ff1cfd55a9d03d7bbccd4942bd2141ce3b899c48b8c0f7d3b38d\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 53d232f8030be51ed89087fd1adc816d1ee52ee9bf91a7cc43ae1ca4ec613ab3ba4dfe02c4e492167a0de06a2d546022aa288ca4a4ec6db4455d93343d80c57742f598493657a57c62ebe14fff7f7e3218f8296c2b9952bc58652ae81aee9e26450fa8c9f065081f00e3afc50d17b67f85dca8eda25fe3301f9696d2ca7f0fc4f418a479a2202d83a44bb5f7253d941ef9fd2fc1e6c4c42953d7315fe7916fad820e61bc3f1236e72e9b3ce5167027c791fb9179aabcbb08c307b70d69339acecb55840d0b24a8f596dbcf35e474b71c66188adc2e871436feb12b671261235842accadae54d6893dffa5c02a337fbc58ea4d0862f94f4d18bb0df3073a6ea9c\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2688c25cd6d46dec0c961aaa9f80b38320130c0570f7d028a6cfe1dc0646152cdccb77e0171bc13b14a38e152922b780b73e63ada04cb0831904bf952ad15d82922e11cae73624b8be30a8636162288f4fbfc7ad0bff12628a9355ae7e3b329de67c7ea978ee12e2e8b9b98c8ed5967bcdc1b61a979ca746b6a4b2f61b964f8a8253a443c16a960e94e99f6ea07c9388820f95aa3d4f5e7ede3bc7beb385935c96a54e11e94a1928a6e0dfe68af8475b6903cc9191d2ea3fc43eef8dd0a74af3e8f0761d981ebf905c3361eeaee129263e3d587a46adf60747b6ee0da148a4183ae82f569b1098637a55565a17dc7d93d30b232a60fd3fa7534ef1c995395092\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 7c4a0234962f20fc3c3402d73a5f01293b6d4066fabf90f2d3221c11d22a415a4c469558833c9573bca8689eb6088ba3ea9e499d6d4deb5106fc9b6e0e0da5d8a39c00cbf455dd81a24cc15ce0cf217385bdbc7603a02967dc1388eeecf15a22431ef7da1cd5d208df946f90a0f1d609e2372b148079bfc3b7c9fbc94819d7847fa73a7aef0c502b3ee0a5d0103aa673add25af6f4ec0dfbca97e720cec8a5af70af732093cc726d72434f7f2ae685c02c4c607fa2f025c7614e164099a27f8aa214c6cd58c524d6402299352f2a83ccc63ff4a2190dc5ecdf407012f2c5c018c4be31382f06ee3aea6a4685cb395680cfebd6576dd07428cff98f6a5389a2ec\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 88a2ac7e968f22bc28eef7ec6a825559216e71a51e2b0ce0e66935b33ee0bf3a0f72af9d35b30d6afc9117b8ebb36a1deab61d5e3a1977d32f246918d2d43717b1489059114d3bdfceea25477dec7785b4ebdd230c83e1a7db863b09836be01d005f4cb6e4629bec41d517155410634502d06e5f992ef377cbfc5800f71786a549fae04df96ecd12d0b94857d10f3f631ac2d32a2d18400d12b0039959e725bbaac36245599f71a6f38fb2545d69ff1712e712e3be7ef65df9cac6252c2ab2963d733b503e9f5133ea539ae09c5efb8a1371bf96d617c9ad488be05991ba6e021ba20b900553608c08c67a70e88ba0e2219fd8ca977e8b756dfd5c370a6024a7\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 532ce064cb7186e8b373861f34435d417f4073d1a3ae6850e0ac3909faa275b388ddc7ea7682dd2197ae74dececaa1e21bded0510dfe5a73f8bf2e050aa69b8e592487f39624820d7bfacadd92320bf5f8bcf3b170efbd5e78f36a81cf75262de0ecc6f4ba033abe155e563e83cb82f39c4677df3c8c47af2b1db91e36735a5a1483a91ef98ba0d20abc93bbbb1b79fb9cf553e278d2c5542150f1668074eb1ba7e59eeff74d8fd5fd35ec168323d4b886dcf3961e3eeb05d7bc730c01bc139f27683ee8c1356ce05265d18508e2689fbb34a5d6fc26a40094f64b4ac1cadcc3ce9c3c08aeb181f73701325fb77d84b0ff9b0008aa8f68dee76a37c696c4f8ba\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 19082cac9c77c7837df434d9df18fbc9da0d3efb02316a2be47099aebf0afaaffb08dadc234653b22f16ee1aaffd67afaea5b8467674e1a359802bcf8fcea32f22b21bb258c4d9c802a8bdbb64b256107bb61c2970a6de9612f781cb6ac8852d6298b3f816904cf444203bd6165ed113ed04b5c6568d37ccbc581246e3138669d463f1c1f837a3ce6e99af0084f360ffc0e73d94e633ff1bc69abe0884b2a548066d9ed5674639d4fd1c5f98252b800c43676850ca3885fa644c69b6fcacdfd7c44dccbc0b2395d65c838a4f4e297926ffeb2ab7beedd912e2ef3e8bf685d7783aee5493ba871aa8d1199f88e8cb039b4f529110cf8f256ad89c7062414df91f\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b7a46c2c323fda6047c0efe5819333617dac68c61b047d40b86881aa4c8dbdbc195e981e644ae50ab734657206a97d9c525ed3591c8dbde6c617cb150cce08afd867599df818db9c43a1c85ca89fbef7948bd7e089baa7d030546ef749ba5bd5a414302b1dcfc88a7a0054630f48600e7926d99f8b87460eb214df16dc077236d1239c70db04880e6d6044788f2deb20a4efaa3d8e43d73e63792b55aae9d61a3ac50f6452368cbdc7481dee9a419608ea401523868c8a9a825f858f7918c9ce0e138554ba55551e295323d13c30a01ec160c856efa17711698e4aa8e7457b2bf89a158ed4a0e11ba5972c996a1a9719628f0b5ceb81d415e89f34b916c64647\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 743ac2e50adef925fe5d9c1ef79a650b92b156feeb8f2f5b47f3cc46ae90ff97bbae177679e69fc62f8993b45f5c813d4adc853f469a88b487a04920d490b786b1f511fe27c3cac8b6c631101575154bd6faae13a1798bb66a7df0a6344b2ab08bb7edd741c53078bf5cdc2b77806b103b98904db2bd0038d6cd974675b7aad4af88b767c90b709b35dca4865aca0f55e0467f37367f4cf2ef52eb97060bbc80f08d56632276f2049c51f3a6ad95ccd7cc7d2f8f9320a8dc15acd653c29a4eb6e33094cc957bf8b762ab0b6b128ae3c9306b73c59585864149de30ebc0692bd602735a7f0c29a422549346cc06e44c11149b92c31466c3dd4516a725cdee4a75\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 247c1089d3c148263fa548007f4416273a6dd21eea760cd6d8422dfa54f607ffb90e825182c4ce897e96de0bc869fe1f96cbabcd9321d5f379215b44c71fbcbd67635babde3061c940e09fafb73d7da345cc01af91edf4a311ef250ce4fdd172657e0c3eb046fcac5f49b0ba149ad8a06dc67c85107bdc064a308330fe5259d50f286dcec2f4ecd6518fa7fc43555dfc8a1692e5392c669d8903fdbb257f7c8f435f872bf4064b35e101a25c6ae7bd7d79ba31519310768272a2153b11d55b4f9cf6ce42584a4204c846cc40ecf9e96fdb428b850607f92f7638270bb93a33ebaf7765c48de75eb11948876d113eb5e265e36745b267f4fd5804519487cdf4f6\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 5f739b137b57ec0378976ed71d00279a53a17069df1c6e05eb087d20450bb88097381c8fb50b12cf2e2924c2a863711eb416af40ddffd244f0657e2181061efee132e008c82ce7e8fbcb73b376f334b25ea8a842285e62ac6d1f73a70a6621452dd8d3333d44f89fb63cecd9b229e7b3e289eec8eda9309153da264c48296dcbc3afee796458701494cb6f8d4639bab7726aa5c5258de29d4a1b19a079b6f02fb1f8e38f13ae9def64473264cfac91158a6d003544e5b273a2e229c72ac566f33e0b2843dba1297d33416b93e69f4bef4e887388a44c37d310c14a36f88b2bb73351492fd4a8497aae14f5b8664b0fa9427faf2f7c1b990e1460d01a2cc80adc\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = a6b75fd7cf6188859a2afc987d28a42e81ccd095c15197fe71f42f37b60dc7d8dd5f7c1687e7be87156d24eeba8f468f66eec94e7167718f5535d556052fc6ddf61cfa4ae50cd7420670611e6010e4bfc945740240e63f0f6ad18de889e33ec269c56ce541a9f2359257cc313c46d76d1c4e9247927f0f7d4dc96174305980df30ce5026585db1f02e019f793ad590482303ae52b39f821650f0eb66b9d79543e5d9f81d3f1c8a64395065d978d1945b47c9110b54b58eb671b56a7a2502db9fba6ace43953f14480e00ae67ad1e16b1a3889528e3e438078764514322cd3a1723a08ae34b2186e3d38dd54d7e53f1a7be25b680fe15e9f813a47001013da5b1\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 667db4f818f537d8b36a441eb01eac4893841c91c6b44be684e7eb6858fd938c350a1450d195384e556e04387e8db2d69f0c9658aee5ea58646e964c4b01b96d08284333d18feecadb613f66ed69b6bdce9150d25a20a5abf4e8212a1099787eedf70292909a3e766a3bccd68567331f7ef6ac798834e2f806595060be19b1908f4c41d7c07bb17840da8a7223feec0e001f36704e87b5b703d9005c6338c1e2baa221ece6037af2653023f022b6a253942cee075899030805b7023fcbebdea43203bf7378f12472e109c7425e5806f586fc9521f7db66bec29a9308008c75868e5afed351691a1a7c607cca6bb711282a9166fa2ca743fbb8a42ff2d72bc83b\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 98484856664b3cae4bb563a23f6da8fcef1a168408e58442", + "17af959ddb3f36045655c71f2569abb4b4a104dff68351e7bc9839117a7d4b666a21201e587823b2578d689b249150b82f3ccb2b36d31a4119de66cae8260c86dc553e3cbb8c2f68f8a7ed72a8526174c2f6df4403482d99fc58a52a95988ee3bc61505b14bcdd3e41cff71f29caec8a59d3181625e1e323967120dbb27f566987b66ca0f1b45429e3b363da5e1634ac48d5a7697a06eee3f96f3c1b84f156a1ce7e6898e07647ce62cec7ae30a6370411ccf9425ca28ba68024f8d21ef59e5c44bbbb5a1bbcb86af45b708d4eac46ca5e500b2ca913a5b49b48c7262f8f50576e7147755be488d0\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = c1803ea21a43fb4b140650b7d2cda104f0d5a80a385e9b7055c509065d9d671c3f9fb2781ff5ebe5b22ba213ef62d54a43e2250ca4b62cd30b692052e2a7484b26aab40a27ec3c714c733093246f3614792c52b487279df6a693a481033022731fbdcb52c6d6a74b3f2b020df806837a84c2c0cce9d7c6e39f24101069241b7fb432d00015631018a94930ac3ec8c609bc5da81689b20c93435c8dd2edfbb86179c310b83b08747948fe35ba3d06b96d8029ce7609d53795f6e931d5d326ab02a837e839f0f20378a5ccf083f01b39464fa165c8221388391664765dddceb5fd4da58d088be7632f00a889a654d82962d68e078d1379eaa055120dd00b7c9dec\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3894b11225d3ba5f37298149e2f31b7722a69f3d948ff6a1e39cf651f2ceb2bb4557945f90a6353dd9b217c8fe5d07b9383b5a8ab269b488b6d73030dbd4d2699e079a1d29d34088d9e9db18ca3e95895fb89041c2c5efb1df6d4ce270a577d829216a7c085e71546b20c947aa258f8c6dde4f4c92d7d31f39a447dd96858817928d2d73eae1c99618a664ba48aa7b0e757b6cf259eedda2f070ff0ac8604ae9d9fdc347be3f6fc2844f473a5ee849c01d20f8b9d6f346d2bf87f812c901f935fed89f3a0248484a9f21816e10a44f35731bc84f87c4d4d0723fa917b3f87e4f77155af986ca2c3f8a2022fe88db007a07c806c60cfcd75d787799f8b3aae924\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 31cb40aa860da5f103541cffdf14388cd82b683183d0bd4f813d6180ab24537b78f048bcc2fb6a27d79a0d641cb78e904d993d119b0bff260f16af03e70a45d3288980593b1ccc39c105790e0759cd0d9350e87c1d12b448fccfa9eb0b84b745480651caea97bead57d1a6a8fc98c97c00b3daed4662dc074665bb724290603c1b668e5aeb401404a6103412088285a436ac96b8860c576b1c5ebb6ea3d0037ea0d0f4e016046a9cf4bb41cc880556d5dcd87c2857da1b62adc97dc424055027d219f4866e673597309989f17f5bebe89e715c14dc8673c07c5f324f4d30b3bc424b908fb7cb3ed4d499b716575a10905c197cfaa5a8f2ad0b7300f2350abb51\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 9236f2a93872e266cecea65731a4c8942b2f8397f1a844ad667d178566c92b823c191595fa94220105d53c64fa1b60dee3ae982ba3eb507b99011d402c227853a24f3470133caafbb9d3d09fb45e7ad3060b95f53655e55f3264838df3ab258ce5cdf22170f0bd763092be876fa2728639c9a71382c4e04cd142d468596c91e86fc1608cb37af190c3e5ae63eb5ffa8f73fff11ef4b33770bb57491ef850492caff49d40f51e36f55b1e23489663a4bcc22a5e3f3cdaa2806c649adc288fe5031f2b047efcd777345c7803fd5b7957f8bbd6c3370d074fd7ec06b8298b4fab6a49d565e07daeba504871c853aa9d6393a1d83c2393bcbf7cf65fa0d2bf50c204\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 996476326e01ee4b1cc50cf43aeeb6cd5b6ee7d4d9a0ac4fd6177ad1cb7e946f05b1dc4ab363c3160238755f24dfa7b44f5fb5cceb3d7086a8ffcfaeaba0ad6c50a2bf018de4cca5d01d1db2f818c8c5aad4ebfba39c9a2bf72bd734d1a5c9a51a7d5a29cf8a1a7424121704751c23a40f2e7989b24d3e4ba3c55ebc8fc9df13be98ba653cd18f095edcbad10fee9c3d5cb524413c0b30d4eae9b7c3f677d53bd1268f9786e2f03e6f10bef39c9102cefb0d89b51564d109a6506f2d43604b9c57cb2f9f83add3e0bf3eb80a676f5f6171afe9956be3bd3ba1f7c3d10ea1fcee11dd3d67ad6efa62463d6e418219b03854bd38e1193f43b3b0e4a4de46162c97\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 2cbe8ec045e8cedae1543a7f3b2f0604a2a94ba7a6fa268c16ec1d84a3980e76f71465d0d214caa0dd8f0148fda5df1e4dcda71c0de219447a7d562f60558418b66f4fe12a5b57a2d0c88251f5a4ddc3349b9b1ae40b41b695bf1ff69fe190c60970d65ca51e3de57cddfb9400eeeaa0f46b5df794b18f0b17959275ac800f57d3c3b7bcac259e6bba5dbfaa68204a15835c72a7c3602347c5fa16c402a37b08bb978395ed03aea43a05f16f2d501d786b7a6d4652ff6446fe16272d59f473333c0aad54787e32bd8a160517404f16aa7817eb6329131c2b2242eb5ffa621a467fa5189c574e63ac3eaff10d27cffcddc2f8fd185ea6ae5e3e64388ad1038443\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 54b4355a6ba1d1f036c86c12a495abfb1d005084a55624660ddc919242382249467ab28d6e975a99a6314ba0bd9c0c533999b85d6df9517d95f18dfd47e878aa8d0495ca5a1fe5bee9009468f3b58272511a6d3503c757bfffcdc1a00e0d0ee2ba385e3aab44e91c2830eb232994b304de062da2751ee4d0d3ba9d8fd9a58660800be4e3cac831850816a183d0a7bf5ef07fe15416987d2a9dcc66dea01f620250eeb8adf5ebd4f3e59eb5c9d15701643d8d00b169fbefcd99df2f237f9f2e7a6b464fdb27a808341aaea2167861e442c69f2fc2c8dce3016e7d58e5463fb9b73180839860d7e498e83f2dfc9f593521ee5135f4a24a853b409c942b55be8477\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b2c9d522eab8e949726340434fe91a1934de81f97f8085289c508c99a111b84b1dd0aa2210d29a50f19ca77c2ed1a5adb426682ce9afdb18269a8ccf98b52bda2bfb0a62f7497832521aee1a22d22aab83abeb19ee3d9ec924728d237a88cf18748fa26d53af27935438fb4d6f6a4c43e5ec9462ebeef792df7871e64560dd0fedd94b0ab97f7bfe2816ab208e5cd020a1f5ee490de36087e69c89fc9867fd06610381cfb01184c6b835cc1222ab5a5961fa0dd0a9d7b8d6b7735dd92ed6a15b7694376b62e2cdcbe37cef6268f120d018433329a396a6738260c8e2f34da8bbe19580f1ddb0007198aa2d2d95fb43d96f25b3c46c196d5d26672c30ae830924\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0f9a528468ebd469bc9db21a0edd8dbc568bf0492e18edd1a4a7f28666b839a9e3d3ca2a38b8ef41422c0b40de173e2566e32285461030f0cddca6c73f5f03f67b14c146d52b4d03a83dca365cd603dc5668b5dc2bdfd704e23ced38c1d20ee6189efc2f4749c36009afca5362cfb00e5699d559b1e82a4455bd3bef96ed38df75a9dd1d5786d224657658f048b80232bd17f8e690108d7036349ca26a8b369d3c9355e643d4b6e88b27ab7fdaad0115824fc333185a3102fc39e20355e9845c9684813dad7e2b0be33802aa4b94bfaed0938ab0ab1a7cbe28df74a359d7f301e65bba1a8dda1d8874911f9e81348e92db4f6f3780361da79369c6dc773cf6c3\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b408a5f0124d71e810205f8c8618eaeff99cf5029d2c9c7be90a956467a8f3f6df2298dc784d228911342cd5a1dc52f62a9f8e838c3a60a1426f33892e98f7249f2945723a374901c8e4b21d1de9585ddb0aa55992b1d88e685a088e81d460daf72b04c23e3b2ba24c9155aadad7c737a1b556352621dd7e7b5197e966d8ea7c0c50586faf4182aa94f9051f3dcddb5f67e8751eb8dffa258a52981119670c85eb3b371a5c66d635aacdd810aed9a28b8e3d7a5eda1a4db8a857ef65a9b6e1190328ec09044ac41a38837243b6a380647cdf469d16ab0c7a2612200764b8241b0e984510dbde762f5b0a1efdb56efce24c45d9b778bc3b0bb4efe993c6e5b0cf\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 11102d3fbbbcad9b9592df2e16f9ace9d47621a9a3ed195b3231f44ceffabc2285842d125507f2ed86035a06ca7172051c10592275feaedc25e6917fd1a2c176596d6219ae303286bdc4a337a88354e3d75031aa586279b5fcc08f74c7de335cc9261c9d3ddff38e7922471096daa5185a396e4d4b4c2010f4f06912e21fbd26e86b78905e10a3d2577e4ffb82d664fbd8293b28578813177a4bb169ad1fa1a1cf092ed87e8eab86f493e65ea7921fbc7f154642aa05bd14a0ca245892841f2a84c411dc4533a9a4795ef210fb97473e6223b6272ba8d26425471470df33b76ad84dc029281a1c3ca2e666e8901dcec12e78a2a2a5b04dddaa2cf475f5365a30\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1f56d2c5fe55eb054497a5a9d9c58f4c6f814d3bfe1b4fa5020aadabc9d77256f8ff14c2ece6f2434e703fb16adbf48f91bd5e6df505f2d9bde65496a82d6a5d0d7a2b1a1a5725f7cb58d1c2e7bc101a095fe3f59219112bc4c89970197bb7d48d5afd9a08f3b70963a0a766f1d4aa8eca7893c4e7f7f432649faaf740d36dd20210f32f195b2d085c7e294912cc36d35e01dcfce2c12083f5e473cb75f663de533a8b94ff55ef781d06b1d8120894144fc3e4afd3a8de523d902e59137937d53c6c535550b23ae3dd50da50c2cdcb73dd19899333be21c95d6ccefbacadce30c48f31e982bebf55025241c7cb509a02cb4c8572a1f39abcfd9828f57a6c3800\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3f4d732558fcf6434d2f80c7debd057da8e47f87b8fb9fe62b3229b5cfa656d5003c3d6c6b3b5db6dc2d348fbfc6df1bc483e9f5ed8a415e1045f17644842b96439c5127155ac226097dbd29c8769da7e485db333ebbb3ee22464c928f42f0a1ee972cff3fad879c542c066d8717bc9159302c4b6c2f5cb944d9b21d8502e9e3de6f6bd20b3febdcf8348e86db72d1a8ea451a4af54ec4e0a854225eb7006cbf7b02b3ed5bc5ec81e511d6eb0513617c1b5b9ac330f408960c68e3a2c04d6c9b953da2c50715d191a10739008056c2412c4ea2d", + "46d6dfb68bc7df711a4d543bea6903c8f67f88a553154b64559beb8adad42fe6686525a2a4c8c15d1f669d394\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 615c556ace09f24b725489b29274422524f6e372d385fcacfc44bd82d75ad6f27a9f9378007016617634502691226dcd72aecfec6b839de344d1c53d5bbbf54f93f1d510d0ab9cd1c0d5363e265ed0b7fd9b6de200d4422ede2c65cb225855045f28ea14290435f35cd6e2a4fe59516babd10577c3d690c6f6431a56c1aad768f83098b19b3756a732382089516d3424f23cfe142a199db129c9ce2e61dce822bda75c0dce6f59f7a8e71d43bb0319c373f860f69c5aaa9243e9a52f221430e5315440a6f6a7539c058281309d9e435a31b9fd34f78020f1874c66c7de0f670a31c98bab40415d1a4a4e5ad6249e12f9bad78afd17054576c740673100e71006\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 73dc8c7ea062d454b15f18d07539a13d08f29bf7791c3fa626f579f7ec701fdcd89a1facdda4b15d808847c419c184b39b6a4fa54a30f9f5d52878a47453fcc7d0cb504d1cc297b69f62a21db59aded5baaa6c100fd31eb32e02450433dd2c3c6dd7b343653c6d171949f52fc963416700dd83d31f259c5fedf9b1cc1385dfcdbdba2538c20a8aab641a7d5bc96223e038c6f84fc8302afd2c9ffd298d313dad50a5a943256549526e35fe61488acba25568826209048856e65acf3c9e2eabf239f20bb68f2538e0c81059603e1b8c94913365adfbd959d9353d8f653aebd086d123d1bf3687c3f644fe1247ae441b235243c4ba87dbc33f337b1e63b119656c\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3d9ed722a84f0fa9dea4187d8f0d51b70dcc754b7f7f951782643da2b7b06769429cb6d9fd0950eba58b0dace0e73dcbaa2c1b8981fc5971bad5f0c858761877b0c0967be0fad4eacf850b296447ee30519aa598159a179299e603cdba8f7de6cef9f9953144f34ef5f8663cd4bae2828bbe085b35e8a099cebbff34d6ca858eb35aad31e1f38bd2724c817ff32bcdb7658955537ce4ba83de10de7f6cf9d4d26a0e06b522e8e47c3a7ef1b7807792f43461975e0304e65c40afe40de7308989024d9958aa7b04657e9dbffe35d9ac69ab46a7e1796bda54af5cc6295535865b6d53235c8779ccec52108cfeeb3752b1a57eb3e81761731339a0af080d128b2d\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b32a87df98eb19ba1326fa42c78998fea218b9c50bd5858f474a14b324b34cf42c4116a8eb121e79379defd04c8faa876482d9492a8beb951bac9ca56c4610aceccbd803896437d5b104ee06dc41848ce5f6e79dc0ac71bda6ff2ab411b26cc070a17ef3760e6a415929b23323c488e710761e8cef9031ffea40e518c491c32185730a2af20778681c74f030ba9e3947bd8fd2331c7b4e73387945739645bfd767d7a912fba46bed4355ca211f6eb438c4cd3202021deee48cb88f83eee84a5d4763e18f3ff9607b8fcf11e42186505c9cd731e7f6a7a0dd30df61b8ecbfca1fe0a6d3a1908e6f8aab5bbdc3b02be78fc2636cb5d39614c44060fef9d8c5cc70\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b720bfc084fdd3352e066e0597edf19f1faa271cecf4b3d21bd32964862465b66e0291d6f5f87342b9fba6a77cb9262fefffad07889f3ef2d49dceb6779ba8025b05b5aaedbc46a011c819411ac4c4c596f88cd421febafd9549f404b3ed8458303dfe88fe8724a9419965945df23d810c3a2db45f27643eac386570a63d6dd6660802208e9bcb900168802b3d1014ec39416608ecd2e304aed4f1d93ddc6fa1a51d3014ef604c8ee9740ef2bbe546f1b5c307f529f1ac4fb8206bd283e9409af446a4b34937447ff259ac3b9a7702a56c8e8a571fadcfe1b6d55fb7d1e572e6ab641af87565a05eb55fcade48780fb99c6da263ab076149a5d2d4c40a15644a\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = af7d984e678893167aab922ba9f1dea3e67a98bf1ee442c56388ce6455a8cbd69f0cf0a30e21ec67d4bee411577b0700887ca5ce5f2a2b63a026956a6e56676d385b720ad708c9d87fd72a12d2921628f4ea931f3b594ebeb6c26030d7945ff347e7f1b30a0fa9177fe7382dc6247d271015f61f1fb2d15b7477abd4642f64eb5f5bd7adf92ebaa5dabc6714e873a8f93ad13b6ddc61fd92e7167b801410e338ac7ec85838e2f8571be2562d1b56377bf13a8852e15df0ef5f5626d1891988a0210ff2f5436ee9ff526f0dc7cce525d9ca8dbf35e37e17248567b792b1d8d233a2ce4efe589132e58f87e7db6cf86a7614559d90bbb9b10cc4e22b9905ac191f\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 2deaf754332fee96a5c4954df9cf4df736deded05cb333d4654563c73d3de5629ad8e4ef290ee992874f2757a1e0520cb233201552c4eaa3b81968c3a315235d70e013cf3c2dfa1fad31336d4adb1b4bfb027fe5bfeb6d4a40274920180caf5d4676ca1bf16e0fe3ec48d72f61b7b37f3c5ee04c2dc095ba650e98eeffa7aa78023351087d4ed55d286ef8506ca09a1ac472d44a7b540dc63818298379a0c86a44751ad3f51e511627cadd54cc9a1a5ac8ff4deb552378d94ec22878239109f769eee07cfc70c96f2a601f722e5634356bcb24fdff5db7a1318213491bf2cc37dbaf36afd1436f976612dacac6e15b72f980099b53b89f220474041a16b9a0fe\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 574444942db4e74b6ffdef52694dce12f41a4473c8fd68aaf974816102fcbb0ce4153a05b9e11eed421230d313586602beef2d1ec6c74f91fd70eaeedde7ef827d1409649a3a5dfacff49c5bd6aba7236a90cd4371d3f029029a4691b1f2b4ec037c1704c9470f99220ab35bb5b9f9209b05cb90e7e09047c3e2df1c5e020f2ed228f135f49ba8425f4ab40215e05927ef3be0a502642fcd9f2483bcc8a474b46b5211960d0af0cfb591af6d91b906bb13ac5e8e7baf582e086afa9c1df050321ecf473b56f490a25d158c5a7fc9dc515d5c9dec911cb83a4c05b5501e0cdfa444e3cf5f9b632b1492a1a1766f23132829834fafa8c81abcf9e4fe760be7dbc9\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 41775fde269f4a630110839a8af5dedd25bca44c7268ae8fc0d5aff838cbc1bae9bfa0948f03c79309b9c0e0c92fc59f4260f57f8483c0a1a014a58542b04e37b235337325c6f5021a4e04b1759a72f6f43434d1f4392c5316d8e69274a1ffcbf18440b4c92b9efc7fa238deae751a6b58c0c4efd5305c3bb63c20f0d782e4ee75e33ef3c7f7df1048eb3b0412bf71915bd372e7792692ecf5c3ee47d71c728cfbbb58f46fadfab99259290f03f9c6b18169e5602afeafb50751f2367af1053b41ac8b1e68107ad466a384c701b5cef71abcf2814bbb5e9088e14205fccd13e1240244c182885df9d32d804af5c34657dfc76f0a27a04d1fda612afd605343da\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0d5a499955e174e55cc4129d72cadd7bb43e416f232502d89113e15b557be64484b7a9414fa854205ffd9c33792f02b13070c5411ed2e808fd0c1d70f4a971f0b9aa34e983cfadcb3f027b76a6c35dfb537d87572cb67e7dd7e246219c62313fab5fca5f021f91b64b3ed75e1c371f101c09cc95afae07c2d257b2bd8b946caf839e88078c98fc21583ba5b205e2fa538d0c7de3f6ab17b352938941f6e65fe5455ecf77bdbde6df263d067004d508a2e32b2dd08d4457bea716bff025b5f32c5e8108b045ceda87fe710fb816c81a00ba26cf6f395da75a4ffdce9f47e712b9197898a6aa53fd8dfb3457cf9e1992c7371d370b6cc8125cc05e738a5dfa35f6\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 37066964e4c35b0540c14716c52798189318c20c73d61078281d3a0213a003e60f1b9867f1b9a0b9725d866677f80deefcaa38a3bd795a0bfd00d5853ac1714147fb2d284e1e8b3213acb96f587b16b9fbee57d4aa333929ea3d95d706c0e7dd8a29acefbf70ca2b77f0340a51c5a44b8ab4a8ad9e125ebb3747ec975d0cbc4d093516255195323106d94703347fdab58d3fb8ec879b783ae01be7c778b2773ab4fb71b4922a13d5638407465bf2bb388fa17c5fb8218077904ca3f532c3a692ada8ef261a8fa5fc91119d5b69b8bd737505eb9256399d6eb415d3b9e7b07f46f67d976e38a6ec9f9de5cdcd240640437d20f5ec76dd4c8817e98b6735a2e253\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 65f9966b68519da57e9aa0e6e024704df5307a40502ffca09d99826d9317c34781f81afe459f767ce11dde953affecaee68f444ccc7d8751b25129e54a33d6703f69789e76133f818965d6c97257e0e64b8edf88a8275d58637ed00dc6e606a95a0e7b0062f70d1d52bd8e08b790eda4258a16a418cdeee2064f7273dadef468f19a06c3cc3d25dcb47acadafcc3aa4b61705b44eda5b7deed0bc7e42bb0746bbbad0ace8537682b79cc2e8c6f4ec73b1b1ffbe6b5d07e0a4eaddb3759bc4c3d33756614f54159f3751f38828828a1d06adaf4d9fc270c941ab37d3380c16aac4da352cb152b4dcce0a63eee0a84a0eb07f243597c6759aaf91aa623b5b5c266\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 24882eaa767b6fc594388da59d578bd83ea15e7c2a239c78ae07098f2ad45737b155a7933b98e02de018da380229b2f4649143a82bf86eb4c8b00dcf6418e00ccd9059fcd5665dbf4c065a90efc9305862913871a7ceac586e25634993f4ddb2af2e95992f95166e0ee610bf0b22397ae5db506db3113838afc59efdf7a30a5f5b42ae339f379b8862ae27067718fef95982408de7cf64ca35c5ff195e39a390e62d4465b4977a7c2f7545026f647007e9483dbc3e5f030ce7883e8e4379defedd5f53616a2cb2daf932a053c087cc559fbc477073db8e9aeaf3708c7605dccbd3b2df68f3c957419ae8354ee01f3671fc27aa17a80795d0b65604af0f477b7a\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 97fd91d2e281945e46bef3852562724a0fba617ad2282063c182d6979c3dc72989432ab0c3344af047dd81d41fb2abf6a00bc1a63baf1af320bbbf47a00deb2538a3e353cdf0943a6f362da1458729cc24ca55dc20497a9e30c7895c24c7a36c1e8b42786ce17458134a10abb81de6e14e6a349315142238a22b56ec2165b90d73bbccc", + "249b0e1a1db9c05fa190be7228a5ff8ea105a1e1a40dfb27be77188ad83f77d399cd20976ee20e424a324046394c9c837c6912f3d23512376fdf846134398f0b9d6a1a65894fe9e9522248e399d6e787a889ac5431fe3a2ff5c6855f121b37815be35f65a9c724008ce744d3431b761f87cf84e3320e201b6364885ff\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 5b20dff0b9a6110c8a3b833c72b38d20cc86fab63d9f12a1a46641fa05f45df7cd728e221cc7ef4c59a76bf643918a680afe78253eb840cf563639bde8778fa287717e72f45d3e39d21d07664d8d33c75267d24b6bbfb40ec847aa9f9f45468f014e3d48de25dd735e3c9998dbb0b482b219dac5da971f424d69b98d86f22a35dc65df85f2dcd08c41dbdf65ad53c8210b56c65cd005ba038d33edecebc952ab07582c5e6a4769cf845f254774a7eeeea59aca728029c0f3d07aa44b30a6ddcb17c203f85c732fc24c8d3797d3827d48c40803314b8a9878973335fd827f040d2f716d9d30ca66df6e7b19043dc53a80f05c12e692aa6b3c4d79022788b7e5c5\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 36415113cacc680ea4cae62df22e52e420be4f48219f45a90a66e3f1f023a7f004d828bd0ae923ca927a45cc8e840e635b06019a146ffe81e1bd777f79a5bd23a0953d68f520315f905026c530ddeea6a8b7b62f559e208189ad47e5ad797df5fc019de29667b9ba8ad53661b5ed93d73ab3fa3c13eee7c5e75ea40c9d87c0a45ae065776d781a3d94ef9f5878bda1abe940d23563b84be00efdb5f68671668f44e10d560b412e17280f5be9448d8ff057cc077153625fe5243d5cbd4ee358a56f52bb07f47cc6f4d768543446b4cab1ed1f489263477917178f84670a8f1cfbcea97b94ed951d29209dd70ae905c8d795595c723753c9f6028007c3744fb959\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 883205afeaa96f27231b485c53ead58a9949a375a677a28c13c5e4163d9a9bf40589f198dbac53a58c6f70ed087bcb75780d5160d567d6b77d73747ff7687f6ce708b04197be7fa7c4cd87dbf16d2acb2693fbe75b3b5633cdc0079762129ac6eb7cdf292838648fa2fcbdc4363548f4059f6e96792b98a9a8a0411622dd185c0f65a423fc06d70c931cb288d2f3273d120c8000adebf277b95cbb42d125432ff84be24ff8fbd8992fee51757e9578cfe83ff0b37d4c4fc2856606a820d22d367a1fe47cb3e16954656778df08d1ab8f868639fea43596b45671d06510f5c53ed79ea6c918d015ecedede1f898d626f95fc6bfc5b6d6c81e9ef01faa5b56bffb\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3fc36fc628b18cf13fa4c6693ee98105590b96da05c58de44cb14d6ee4f038c76a0b0557c6bb9c4a289e3442154caeb427e9d77abdd2bd3dea4f43db5d9e40d2facdbb61b2348291040b4ca18a4106d3c061a7b3f514602901e3d8680c81ebb52b4d4ada68d43a3a0d4f9d79f34449380254e265ebe0524ec60fc9f760fc4b90bdce7f2a7e74a8ee97ea8f0b5799f17300ae6d4a30cebbbd6edd2a41d8862288b37cac2a7b9e4f5fa3f78ebd761715c36e1e226156c05eb6dd6f9d67284523620bb938d912ca388ba3d9cd24fa354cba42be0c932b00f52e345c8c8e491cce4da3e1e07b9e9f14d84353ce93b27ddea1565d8381aadc051579277624cb3fe7f2\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 5b2731749c715c394b718a51cfbbca731e651ddaed84471177169fa7afef0fad68b0cf35416a94d912ce1e555b31218a28dcaa1c22f64577c7999bc15ae99b0bb722a84ade8096c49db9965c2a11dd2294809fc7a3437431708e88b7776a2d17df8dcdca1239d11ebec354b80a4f787d1a15aaeb504d9cfb73dcda2b70233a73acd14579c26d8b166e0dc3f4bdd1d6bdebe81f40cc998fb035c1081d80eaa3dec7ccbe3e5b703cf85a038a9327bfbd3c1f260af148b7980c8d5e7a026d3e5bb36789ef554eb245d05a40aad1d0cbaa9e43ba46c1122a1160cc79d44018982b69e09aa34271b42babe3546d1deea236527b49e9895efac1be13117a8719419bda\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 4aecbf74bb2ebd634e398370983c147d012c4bcc697caa4a5485750135263c004acd2218a1610cb17a328d560a6c692bd0ade10a6aba6f348dde36e8a96efb3cbe9d0fd58cebfac5ace26698ab21b6b45fdc1ffb28347f29069907819987d4333af24736f05bf2953f42c8e79bcd4695584807fdba2e184065ccc51b345d064b26bacde9ee2482ca2cc81c47cb3c30a138c8be31af2645bee217310d81516bc64036a109f19307aae3487dd145d1175efea73d03c1d32bed7adc6c740a64e4f4c78e95f3511cdcb9007d212798fd09dbc90e0728381ae885076e4c3c545ebc5b67a939e55588e9ef5e3640daa28517ded7ae0c068e0fef9940b21d871728b31a\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = b61d251dfe5c1851ef8739293b0d9af8ab2a482565cdc3b43bba70db7a03a7d8878c372d93943f42674a7678b41ffc9089d9a93c7a8009b57b2fe15fe1d944eec7c307e2f79ca2b3cfe07878cad8b4d1f38baf181583e30d7b1c7189488b7bc82e0e63c2efab91fc8fc40733306ce6b12e0db3c8245324e4250a9a015c221561178e54b615396892415fb0a9783538cd4bdbb37ee19f10f527165cd5452cb1bd2cf81b672451da9540e36d9d32416bac5b9cd8b1af67ac4c12dc0f39cd3b99648a4fe7d9e23b75df6838408225bdcbaccd80964c13c91ba8c25f5a0f822c5d03ae9e0bffd3324028d4688b2625542ef8ff54cbef0cdd1f52f3ffa88326d1659f\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 326febb57eb76b58ea5a0c873383cd14947f0c39be3338690c6e3d1fed1439278b8ce352b9dae697727037affff53350fb57d4e83347e7aca5a86b0bf4dd2eef88e0f08e0b6800021e310a3abb6d85cb504c7114e5987cd3ce39905b1258a3fb0c7ca1c4fa6f540406a1890866a635dd848919ec55eebfe1917afe3ad47d2ae27177c2a1cff84a7519f17245a462c28ca42fe4980070d6f72b52be443c125db095344b89269c8166468b08ddd52896c0b590ce6f3b4184cbe53496cfe38532b18df4c5ff021339e9425e0608e832b67dba265449de2d052adc077f25831baef3f7cb8ce618aa8eb89fe081a2f57d9d0f3d8a9c2010ae32484955bbc28c452970\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = ae2e46a32caa85e7e75931aeb5f69ef37a0e6e684a59ec058a48a23bdcb1a0c2186570469d7c6369dc8874e14a25f9b68d6e779ff1a1674499fc8602bac5848bd9f0cccbc7e5b2cd138ba6a02770c87ac82c3fcf60e2b124e48d77c04dda8a05053632e25f2dd95a8f7c79f152a746346462275a8c779d515dba6f8563acf7ae08b10efb95ed85be29281291857944fd74bbf85f782701d7e73abe9424756b1281c9ae3cedc38de4906061b983752d481b3fabbe513cc01539c33fec9f3d5e79b20e050dedc5f975c696607ba64d8e623b717d8fffd41b9d28af51aafb2efe268840d886fad2419df9f32b4d493378dd87bbc1199f86438cf74e0a0f7b9885b4\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 4dd4bf9a57fc71a32ecb68063a6fcef1aa8ca1209124d87ab0ff1a8eac2fb89270de10f484fc6b385ddcd5c84049df9c85fba998b33d777a6171f87c5e60948fec10ec6eddabefebd69bca0d0dcdfaa2a3ea65e9ccf55f3c5a3c2f3c794522681a9a3283aa1d03c5b23841984b68e9435dc79e1f32e9dc392a0a4657be8832c9de063eefdfb24fffb2ad11ec16c17607f4fe9e526cccd22d5aa72b11bd2d78b7e3606c95e6a5c2edf8648ca7f27fb6a370be52f3487a7e5db564907f7bead76b0abf8f036f3ebb8a1163b277f66f50f253fc0a98a0eb6d16e76ffda6ac67f637c6d56e0fb64ca53fc036e398a6b6b265ae59546e6b987949ad6cb3430f7502dc\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 96225b7241ededebd722a0c68a46ca99eb081bd0f55eef0cc4595a0737a59009b7ac19288692be4d594fe166ee35dbc7c34b5c4f8cbbb3ce3b3a10b553b7671932d401bc2b7158266eac9e5e0f0e7ca6bc2d0ec0d6bae86104de02e11dbbbc652acb8f88f3122b3a1054d7dd37c94cee5ea82db3b145ae41c5bb065fb1b8eb6d3a706438a03905c8088bc8b8e5ef3cca9001c833e4883ad7e35fdbe654f4c23580d22d533d7a3938b16f0e3d457c629118b3294e4686ed4c6b703bdec946dabe75a0411a8cfe4877f0d7b71c6662d855bf8bd19c61b57ff4e61d756aec4f1a54dba26c0717f83b87056c7b982766b8c1cb407022d6b6c02762aa2ce02cd3bc9f\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 26a73b76551879a9188213c39fd69f8887e00f5280aebb87f2e6ac6049d938b41ae616971419a7abb81297a250df76d101c111ae581b1104c2c670c865d32081788d9934cab185ef3f82a2b63e4189cd445750c6f0782dbfd7e9cdb37d781be06cc72a14673e1f244fa3095028404090d2954e13e692b0e624d2c5cb663ce468076c08829a3e51e8b0a12632e71193f5c67780db620a2fab9a36f77916b8639bc82a24ad8cee73d15c17fca3443f37fe6f4a84fcf8bb91f0dd9d371b0f390a4dcad4538cb54919da6b1b584b233599f174827fc541811ece4c5860b81d7c75c859cc836cf28bdd66097537f7e847efdc1dcf03bd4cb2284a02aa172beb52a95a\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = aaccb6d6e7916330ffe535afe9afe3fa39b37a20008f62168cf34efb4329a31fac1a47f0708846224cd3ab7df38daa71a8441c0b1d133f620258cf00c91858353cb9ad6e6892e241968d9e1005c87ce4811c73059906711a38618ea1a0806893788c6c486fbe46f4e2011fd7c61691d68a18b01f969eefd78498076a458b7679cdd76069d3b17777cecfaf89dcddb3bc7e78631d5be60d90b12138bef2011bce1f6c033750fdbc1366ba1e1283b9513f38445978793889a8621960cf4389235d46831294a5b6e82c6805f373b4b9eb4f0edeb777d2bae6d89de6e7b820b69554e941899b48195ac8bcb37af1aa4e39f0e1ea5b6e62201e0ffc53fc2e1829fcf5\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invali", + "d\nsig = 6ae270ba3e32ab2bdf1c8fb47028612c5e6436de1bf716ef56dcc4cf4667ef1141797ddb756a829b390f42300541ba5d276ac7e2337a592e9302d02177a797c6ab40b43e8db9657d278bfe83fd8ef06d1cbe9b90eb7cf70e1901b05c59a24c0ae725612fa9878d0c3061812f2e207fd68a2de9a97b571c67c332da5581d5104e3f8e6a2c88d069ff4674e18120bf37879fdb37f702b8e6fff5ff44402187e9e1e11311d8d2f27fbcb8cfdd7ae230c0ce319898c6e33cb9105c47db2698f35f05c2405a8a69e57d581851c69911272554433f735b5742f0dafbeec0151a804e39fbe4c8851fa73efab753914a228ad7e235d95f403d2db4322ed5de3a6bc8fc07\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 288b092c259d269eb8c5e29ab1eaabae77926cd9ae2e700b637673697020b97d5e70d2e45e47c17ee83a194388f01c44a8c5e4606636772784d73553d42dd7e8686c75199ecbe3f3f309cc28072e72b6eca2d3ade1f006f1743f4e88967252b046ff813665be450cbd45c3c996b563ca8f9ccd530d1d61b62b562c8f18976d0e02e33eeddfa8203f7d83001477f4ed1910efb2a26855f5d13a919f3c53c0e4ab97e5f3f67d599df8131afbe974e96d313f7c55e2bdc3dbeb8a97f5090eb7082a25b75deff12f18f7ff486731deb3c43ac847421083cdbeaea633e0e53ec79c95393b9f300a7a721b29792c59f7ad069892e627016f5a73377a012d66336ba8a3\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9c95c7d4b8e9bd1719460e08d3ad1842fe43e8397c1605e2e3df9badeb228eba514cd2c5f6a11cba924ec287ab164d41a525de11c8f459829697517d271444b5d1a9735fe0a9cd46c82123caf063a7a2c7eba7ea2ae0e93df04c7f4cab38904ce394d1f12968796c6a744535e2efc6529ab18e747992db7a35c27e556ff0d897f8b1950bd50f333f9f8add8ef1fad5ebdf38cb9aff563b0fe7fbdfed5fc5d63c68060b380f5c792ade7d6c5295c1f25fc75f7207bc3624595669ffb20282d7fcbc3b24b8755740e41bcaf86b974a7aae3cf1a7ed1e7312449240dd80ac1715949b7565ba11c2adf30501bfb0d386b5dc91581fa1df31f5b26c175c7c60fc538c\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = b5609442da89be47095a0d9f5721b3c57382025d020b8fdafc0cd96df60f9e90d8499ea2a2a5c715f3d30f99af925a006634a84ff0ecfef26d959ba774ac9b26180dd3e2dcaed03ebf2922fcc33fbabda261534e5558a403cf0844fe0e715afe7059adf9888668aa9c34bb535d72322db8cad93a0f8607e258bbed3bd711f8188c380fba8367780b06f60874437e4249c869535c2668012684a27b29aa1cc6fc15b5268903227ce9838a437efe5073224fce926e2c8e6334aa1fa057526b566c06f685338692e72ac7613884eed1526928892a849caa3ab798361ae2bde4348b5d09d13c4f5a479a94e4e4f3bc84be2fe0184fdf4fc55494312a4f891e69738c\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 6068cbb745926f80b192d4f5cb2b009b74d4337200ceea82e26bb21a3285de6733123c4dd4e4f47f34a0bd05c310b4d50ec5f54cb9fd13d0cdeac8a31073c01e1fe119474c97b08164c62396fc7e1284e8fe97fd570bab065de8ecbcfb88210d44fdafaea7af0bd26c0017a96ba9152db828c42f895f688d92db2d7a51d966c5ab7810062a913c447f75d4e5052da973588fa49e990bbd88ec2ffc6b571674193b584f50093b424a173c253e7e711d647a190a5a5a7dfc2c3110f11dd83608b0fb7cfcc638ea97727c9b185e28c9f0bcda32a8ec43abba401c519e050b7819c09fe03204aec7216bfd41e389877a33bfd18fc6a08cfa815fedd5f10f4b87f833\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 92e22a0b52c4b83d9a0ea055979fe3e19984aec5762a639a51d07de1c298ec855b349ed5e8b28e0f3c583a5893c4243653652f544659ba251a017934c98696879784ddf04b9c3bccf4a06b0715dd6e53f762e9b6dc8022178600d88bdad727d8b3d7e72d967d4e44b5bf3095db626ae06e784c49f24849041dac411a42e20a8ac96ce77c31d82ea17e105530d522978ac1c86c652e90481af20ae5449f934eb00dea92bd1665e47e914391cd32a01ac499277b18975aca6e6cdc0e8773c524d8375ded14a85eed50b957f152079297472f41889a2acb5c510cf9030250d1d4799ff165ecd4f6974f8d5094d272fdf1445c84cf27199b7cd33179a4ad14b73398\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 10319c5491e381dd49b2aca0627aaea12030206508112a84699894de3b85c78df4c1a10bad009d2b56a4089082e53571c954e83d9eef8067b5aa1da948c6fc91baf7eb9b3b53ba00cb1cc7bd96bcf80fd523f3870f86e8bf1726d27325633eac380b9bf36a4d292229f8c2b6ff86476d95e454d91d92e2d850a90ce372d7ba8633a554c05eea5e6d1d6365129cc7a4c4f41d80e770458d0f4ae43d6833544b1c7e5212d5475cc78f326720a480d7dd22d550cb5145c985df82f4ca6d92915326b344f898f1caad6a7bb125fa371f26ca1a91a69173803a808bc2a79d65ab355d3159185660e4b0193a6dd44ff18548d0da0ef9a3da6a4bdcfca64fb617dbbb63\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 9a8cbf559ab2651631b39b94dde87261d9b4923fac4d4ab7254fbc7c4abd709a07c4cf29ec75b24728e851bc47f99181ca707e42d41677aa4e52e722db548f3b4302bed7cbc7c006643f2562a4d8af7d93e75867b54d263d29aad85f2b282213d8e12e3d52a8e5342f42ee762a310fd18a24886f07827dcc599c2fd85dbb126a91c340ddd4c43aa276d50606fa9850eda9dd13b009da84905dc2f4251ccf387a492f5ad0ec2167c04e8127e9970064008cc10b18dd0105b8bd30fffa700749cb1ada7f9a80f782b8a2153168747a6e86d4bb9179fd9b5ca7767bef629e6bd969ced193f60a1f09efc54023ddc60561c2a8986479b75086cd2d5cbf829bcd1c85\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 81188dcd73390585f94e326b28c78bff4cfa08820167e63ef40802e2b6561bc73bdd740ea98f9e7196890ef6fa626b836b5d8dd33d93407ad285191881f4b378f2481ccd2e0ab4fc065e0941c4023fef608a7f2c975e39b0f0c48a833cb3defb5015830707c7050c3348a08a3829728736a6b1d0e4d5827461724b985acb9750cdbbbd451b97e660746238c4aff99b4184098fb5ac9cd4d0b398ead157329abee8feba75171e35c04a317c8d41d8b998e0a7ca5403ecba9ba66210c925864a20893f9a06bf9556ced71e1eed0178a7c36cb94d17b170e08e3e72b8fcd0941c4a41521e98e587a0fbefa2700b90bf12c019724a7d20528fb57ddb458eba8a7c1c\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 0c5a755b16d0391221bae10e19594d3640a6a77cebfa79f478f55933f551b897714578fa5e459339e33405ea4290ed250bad9a4af1e49556ce5e76f7d3cf53d24159bcdfb11785a72a79e839a9e86dd394cdd42a3dd57792217d8075724b7460d311459e475ef93ab9a0000617dcfcd20b6982255c346932e1ca0452cb53df17de7d78876136e661341ab971788ee178ee9b8742f7affa11e63c8802d4b816fe3f52dcdc97343600d3703eb79a3706f888645f43bdc8333853e8b5869dca22a4db046f0decd66b8096776433bcdbdc3499a9609ece7f783d0e317ffcb3d764e8545cf6a12168e6f5560d0e7a7e31540d4ec0c3c9dc26dcfe8cc071be87568441\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 38294610b70d2d81675ee28b6a2a2283dedc976e95ba516b9efa0ccc017e8005056680d389ad287666a383238e9bcbe56ccc2d2acae5310a8accaf85d1048bcbf1ab74b4cbd3a9fd13056bc8e3c429af1b95330799bb9fcaad25b35545696a43f6ccdc3bf60550bd90e9e7592b9997dcdcf7b274dbdf4eb7c0a59b7a2d0b3d50bac5c394b0b60c580eedc6286dce16cf618a2e79d2e504b797914209cc896dd4f1a79354c1dae9c2b260934a2fa22320136fd1070ee272fab398d28c2c7521e4bc741da78a4acbb981383f03f9dc8f7bff26a110ddab72ba03b2cbd1e8e58888b0fc288f1f691cb5c3e5decd4fb656f71eb4f6b389b1f522ad4346927e31b185\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 310abbc3a50d55f557be9a7c8b64130908abb19b82daac9e9ffc00db5f5c701eff529d6cd9c006178f842bbc48c63938e0f6f0a39462f01866e80b6d8c350cbdc6327f7685a392cfa79f14f695278653caa7a2b7ebc7079c4132be18fe45e020bba5e846109ce2f5bc92e1ca70b1ec21f6b1813bea96f0af2c4409c54c2005684b30e8bb5a787e7585caab3a221b918936f74fb74733a8032a8ae471695e776a188ecf9832e1a26442eb8052b1e5ebfe8eda19019c8e727d73a3afe1304c3d6b0b033395286359b478e60dfeeb8481bfd3baf64cb1a2647f6fa55b67c2975868a030084ff60145e2d7b585582d2d3656e24f5809067baa42c0336660c46269ff\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 70cedd06d21f7082d54c91ea46575e484c32473e9d4ad39d14a32239d56da1a8a1b5c61783c0a6d4d0843860b3800dd3958c93c15c15c454284b7c6e12446efccb5b2615a250e5f8f083c9546336e80a47bf0ddf427488a4937b57c269b2ed9828bd71c75ced34f80a3c7e5083462fb197ef2080a013f99bebde6bbf888b0e0c8ee9c68b3460ac68c82ecf1c31fd94f5fa8c6d931a75206921b694b793b0d63a24a569bafc4809d89a633e14671044464352e34eddb2d08ceb29584139065714754912dec831f9d3df34b8d7d3c57879cfebae1a987002d0705a25430bafcb6fafe8b1e5f113098236868f194457ba3e879e087e2999e6f74e2ca7771cdbc66e\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 423b43af069c6cc9ea47d73957dfde488371394e409d4f23ae4d3acfc5397dc328a1df5bdeb2f6bffd46b4da310e29d7a1edd998b76781f31f59705cd76d57236730b9f12366274bb532940d56ff847b38cc8785727b56349554791016bb559b6975551e41cf86b9ef83ff911c1968dbb9417e3d48d0a7605b6b6fbd09625e2d77c083ff5b8752e6a9a181cbdd12fdb636bba0ba9bac3b4b61113c982aaecbf64567009c97fdbca719ea01b2acce11a4711294fd0343a4ef1f50a0ed033303", + "052a0f047e3feb19b0a691958a9392c97aba7fa8411f904e9e873f21224df5e6ae15a29327bf0948fd091b2aa611b40a5394fd29475c6327672d46a1f024809a93\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7f9b5c22b357cf95f0e3159b06bf2be50ab22f94217538f626f805828d8f154366ca2539e9b8e3355cb289bbef43531ef48b680bec72416e52f850d0c0e72112e6f1811d12a10d50251d8d526e5a11274ebaed0944ff3345903916e19f22a7f25b06005bc78c8713e30d0881cf9e6b510283116ebc44d61341b3fbb4d2bd5849636ac0ea47cb56bee1f6db9c6fb6766304fcb8bae7d58f82560a110c9d1c4d4d8a9eb3a74c9fd535caa86d6b890b2829da5f708388e19d2abbc85987b26e152c7b42ef48d8f79d5ef4337a6f5e19824905bae4b2afd4465d1dabe967a7193e6733056c5c809eb8084126644302ec9f9e672d6cb40f677b0373714fcde4009d05\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 473595c69d05d4776a0cb1186d8b898421123b863ea62b9274a46d488814a7b56e1d94ea2708f34b4deb705bd5df15ba0951a5915d27507bf145bf0a0e40cd2dee33e8c3171463d3db8c0f0efd77238ef463bbd959caf87b283927a304ccbfdc5ecee3e923ed7442afbfebdfd4af8e5d257015f21ea3b5d27fbcac0155238bd86e442e93e91659ead077893a02c32583c48e25784e0e3837bec334337b873b6b6660bdc138d3ea2f41b624116af4cd0ef70eabec4cedf7a3fbd83fa82b2761f1d352fd0770ac3bc00631afc7f5bcc149e7f13de23828cbb804218c000ab31f8cedd59cca89576c7234ff02e3a3ed3102abe1bb8c8e4de1a48192c703e24bcd64\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 296c0c4dc1182111feb1f9483872c861de9ef9dc5a0eea97a233379d71b07be1f7f7cc0447b069d871a98d14302c9e54b451f1a060dee8a190d20349eb9e316fb271c8fff3f0125751d3598a14b47c80e49fd772bcdfe08139cde367ad978a642d57142607a1ff367da8993555be75f7e4998030f2c90f7d24979976e5edb547500aa6f350d31b50834c476ca7d679180cf82f32d83489e5246352d39766ce357b83f21bf9233884c178bdacd1b59c084a287208418a5b09f6418720a4253b47d56b041b727b104f4b913156daf797946ce69f6c565aa679a210f300987b12354d2ddfa1d55ee133db4fea872824d40b28d10670a6dd781988cf620c1dc26022\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 6cce3b4cf07ba332c27e6efec7c1efc60eaf3e021165377a15dcfb6bdf76ab88da2ef3cad44a695d8afabb55e81df29281f85924d265fe18a4ce9b083dc76e070d795378ea95e50ae458d825b824e51fe264b6203e1a17981c69035a3a32eb0d24872a7a9264cf5fe068c1b3b24bd95f2404abe2487683f742a9196187ccf9eb606f5e951f73d614fb99151801794d2f69495cf1350a5369aea41da51de919dad4aefcefd98524b580e63510d6d75b46d4073a3a7d762117489b7e228bcd65dc49082171d54c8e921912f3caf724542a0ee6c0e6602d5c9c9ce5e5ec2797dd77ae8d76a27242a4a349c2f2b87f94584d3f9c470f9a485ffe9aeadeccf6fda97e\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 085a664ebc3ca8149ab63ff2a46777a05e1b7162cfad4a300f5dd847ee73c33c1142cf485ca957b3c1b3361734a740ab9c4f050e1eec64be03a5d11993de4989a38e7fb9f9c899d8a929981aa1b32c0cbd75299285fcc758d95294687f93f1978e843be1cc5caa76a57603bb3a57fedf4d4066c532cf45f16c57ce0e4a628c3ecf33c0fedc77b670a33b9f71afd59cb725b1b1f0ff894c8c6383788e7604e531b6a02b917f83bf5645626dc8bbbdafb9bd70b7412a440cbe8848c336e0cdc3f94fc9b07a8ea34d50f6ac4a182cdd61bf20e32af5f23a4dbc0ec705670172be1a9a8352facb1a7ff4cc5e021173bf7f5964749f90a234a5589bea721811af8c8f\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 7d14a4c74fb25ea6fb4db19b08d8cfc03b9a20bb2cf9f8bbf7441a7c492854b5190688548438913ff506697f46cbc1ae6abee8dbc94a0a6b8e4d905cb98ac717da0fe81a8a8b12781f26e6e2509a6f4fbc283a2c2b938c267e601f4304726d43960ba571c5b8ae4ac1f8d3968ac61620632b72691d0bafada5fcecbdb5aba56bbe524a56187c4dd9655520bc145b8922a0edf4cb10a0285c65ac96bf22da5bf95e4be37860456417f5cbadfecb4730cbe9844b617b1ce1865db20f622b4550632a0d470703c74922967a84e311634f4936c0f6981de8be71ed7eee90bb6008be2fb5f88b5dc10d9f5721f81b1f7515099a8dedec08d61e84a145bbdfc6e5d418\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 8b77e3df0c4988e78be57be796bbec888b40afb6bca4011b396f1fdfb87106a62373fdbdd038bd32fc50f375ee4b97a2f03fc9d866986141e7059a6c9757271db785999051dc71b84a10f15edc8d3b7085ead49c492937192af11dbe80a443407e068354e57ef7bcd436febe436c61140a724387a6e3d67101878aa703394e9054c1c14e01d2fb4fef803871c7e3d4a16787294c76cc5f1721675107f9f15700350fb0df77470832d146e52191abedf817d8165e982c117a40c6acfedd3d3ae075f3840ef07b9c0f281c97c1e41a590356f8ca3434c33c97df9af8fe155da43085e31c0f2c6542a778319b970e416da39fffb3b0c7d8462b219eec0548ace4c6\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 4748745f6c5bde511685fd4b1c50d41e78da3b3c189f66b48390c7be0e166eec074771bead431b40f4634378f82e1f2f858c77a8292a7cc3d7cdbd5a0ab17ff07bd9abadc7c5fd269d329f1b0ccf4b3e1d16c9df7374502c3b1dba57d45ee9e58bd725d5a62c8c2d62b5332718c2d3d73384f73a89423d56247b518b6515780d3415c0d2c31ae1e7f7300401209a8f837be839b8cadf0d104b1c218a0de3fd16ca74174527bdc37b735861fccdf3b7c2601ebbfd47a6bb8b970cbb53d4af55df8ed99d19605c4db379c80500419692c3e6091354c9b3ba4beff13e7c946ffd128cb5d71172562ea734916e6059d5b9eba540ecfca9495401e6579e0eae3d00f4\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 53e3142909e9a9c048b7f0f95a0e56424b896db0c7135bfcc23c49e6db250de1884312ce2b144977dde680c20b6652fd1e54eaaa84c673e039c673ea30e0f148b0c73da19f8a75b94e7411cd02a994e7b184e53426763e7c0483fa7be78eac0d4456109081dfe843e07084ba5f96c28c69a21e1468657f15be08e234230251b92ddcb70ef76a163237b85483046450bb9d831fb053cc48af052960120100d3e2bdc02bab4f9e099185a8cd060f8677f3b26617696b9ecb53f84065a21fa41e6695107b13382879fa323c0a9f35594fd40cbb9ff9a3984a78e9a643e88245c57c5372f3d9c300e35785ffd920d7cc9dae26b9cedad6975e492f484b23cbf1de94\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 602943b9d26af2a741f6bdbe8553a3975830ef5f055391dd8169b061567a3edee3dcab00b2c274f233e0542c040cf01e50326619942048453f04081de1d19394a2db310ca8088d75f2b559ed663734eaa3bc6fa26fb8ca1a08d0739d0a426b29fc25023a9f110f22c04f80cf9a243aa37ca594c539091a2d3460fbd5e91f101f1773129bc489a780cd1049e7c55399bfc996a8e9005d191bfc8a605fc23db5106670b95342c1e4827e1c02b8d92db79960fc23f650366747be30a082f2c7b90cf15574e52633c0605ca459ea864841069f75833a6cfd1be6260c0fc1e4f78fd9420cbde31c4c7f7e76be5ca8bcee000ed44591b160c553ab88e2cf4179ecdf70\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 456f7c00d31ad1ec7cb488711a9a4224c5d66b15c9b9a521ea316b94f2341561aa5d4955db7feac3bcbe4347ccfec2ae34ba7779c68e502d4ca9963311b48d3839510c16b5581b69eaf3c83b2430adf6ed6cb2cc5860a7cbfc063879b9913c94d08418cb3d9215090feae09aee52bb0fc24a515f2c7c6c380acf9d027f615ec48704f616bf0ebd7230c0b7d31231a919cf27e1fc7a4f36abd93dc133ab75e9ffd7a655eba1d0bd07a4f5308e047eb421a14908a693394c8eca91e93528f992816bf44b318e821eba1e4bae64c02ac588528b366bf1ee1e9c93d3341a3946f49e98e14b55ba8a5d120708c712b983319cfd8793e19c5608c9a8c511246b376cd8\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1d3b8c10515753856261581ef9035a9799fc1adec7296dee7be49a3cd08ee9fe2db6addc5e3c5fc5dea8771f54b1e334a5364f1d3560f2dfd7d88b9ad4670e498282c8fd10f9ebf6ffdf7e3d01e467128c4da0536729169e4583ac6aa472cb4171d3448140299ad69bb8b7276a1f10e85f3ecd66f0cd94b850ac77445d75efeca7bb7e341623e447c3bf86da2f81afacb561b2c0939db30b313a302c52f8bea43b8a85c038d3343e7cf58751dfe19bad35cccf6263bb8f94ba81cd21885ccac5908f65d4b8eda969faeedeecc54c71698f3063738d7b107573876b1a25eee270cd10b44ada6471996dc2c09e95cd39cd2934a3d72f18da461e8a1d0b1773b419\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 2680b2a4052b86c8ccddad39e73b127b13456dcd53e7794dd42f15c5764084f0d95ecd4aed1495df89988e0de4420413a9ac9da93c9bfe4992c88c480b91d3c4e5d560dca5ea9460cffdc4f89e6e27c44e760ab7893a38392197b762340a16d8b14a96536b1115656161a77c528bae274bd3a40786895be5bee47fcc2bc284e8813c40b3ab250ccc6f85cc1625cdebf1e7854b448843f7e878489c8965c7f3ff4f44110cae9eb124b4544b1cb64dafab668d0473734bca208ccde0aa94befb5ae7ca50ebd42e66bee587435912b439ee75264f60c5082c2060022be69db6d3c0fa6d4d10097d1cd6a4029e5c927e023fac65631091e6d9443afcb79b85474c9d\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 46333e5ce80dac1d8b3ea04eca470613f7411581c712693852de4b8f2879a9d99777a6c2bbfdd04be775e4ea89c181c94fed707d99350c967d0834350ced2ca3783e975672ae7ac395f39b9f8f3060a9ad88c25b81ce182d9ca1b095e34992612a38aebfb43d94a8f308a2c228c5edf1bb1b7c99a242064240826968b53", + "e357dc46f46780a7c770047f905e82b22c0a626da2631a08367905243ab7eb506f915e8351483575132c059b43c079b05f0a24ccd81547801b5e7a9c377fa34343c509be5b7a243e9b47c4ec824bdb9481407a8d251c79e1f046a2f5356bbe08d4c1bb87dc92361d5a81cfd7a914f0d472bfc3ca1763e89d0be797338c09d6563d556\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 7f99343e2ab569fab355972825a87080b57746e6b810b07e564f15aa2981c91932bf39108cff2538bcd869e33854ee3479f3fa654b2b93140fe69df27ac661970df9661c6ba3ffdedb3597ddaaef59fa2d1dcb41651fbcdfcc3bc9928fe0648640722e134200aeb04521ed6128d7790844331afea369b532834216a9a1a6e4750b24390f39e091ccec7e17cd8ebcff83ce9175df2538107ce86db0ae5b44163e3ca4d7520e7e5a0af5fdb3c43c2977dd6a09d2523d72f61f4184ead70d6578f0dada65f28c5f04a4b16148d6b2a6c0c06ae9372bbd68ae011923e6835ecd5c9195cea1eb5ba30020f11d80202f9fe6f615caee33b18c0ebfbc98d6143f8f2d34\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 40f5ccce4f70ba22ee1471ad394e351c4dc0095dca9ce9242215aac8784adb6e7cc353846487a9260eb1d01912ec858a1319f085ee48617573f1477e3dc9e1ebfbb7f8369f17da625d2c291bfa5f4d5e595cc5f0b51d835cbb295e22730e76459326de7be7fc8914558092d7a91de466e2f31a77b16ce00bcfde4d8d9d160b5f8c9987fe792da98e356587d574472dcb15fbe6286b1813caf5258d98739387bbb3ae59272d59f997588e693865c3109c1b43de8fa52e43a44087692fc263d0ed4d6e72f3c1febb529ece3897153bd8f67a9ad2a8bfec0de6db4d3e7f294a3dc8de22b78b4c5e82e36e9d641951de5c1c83b86368f92e5429afe3f2478ae7171c\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 203b76f479e7f4910b519e1a6b8cc4c113ce838fc09fcbd9e03266e1e3e69264c622af09562ca6c985819ece0df48fe6faa580dae52fff36c052cfeeda7d7d0cfeb2eaaff7fe6b015b82e605ca2f75fc13327db5a99e89a96a7c09e79f73dd3a0f1a14a19ce248698f12d48162c4008c253dd6932e9d95ef9fc0de06ac3cdebdfb71301097578afa68a783ee902c7673d72cf4163a13c665a7d73160db15ea239d645150ae8dcedb7b0f1e4566639eede7e3953fb3fb23568cbbff07f0958ebcc5417a04f6c35cf853ba0079820d22fcb14c33ec5a59fc48430b1e92d4cbd948b17675621a092a9e01e05006d6ed74f1bce336f705a02b804a4a7811e2d0bdac\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 010cab7807bcaf7a5e9e0d82184c24af79c838663a8a6c5547e5ee77e9b433c2b4b4124a863ec745fc46612b54a30653063142ee1bd5849a558d518389a0bc0e920e16482a15d2c2eb2f531f8b3708ede3f4a582674d45050c1b2f65ace1692f346cf38d3ad1a2db602509d0127fe52a2a9fd2fba7af62ec69d57dca87da17f70cb4af4671d8b4605acfddd95bb49b23e379f3581d848280d1b4c363842d1875e80a9aded043b66e636e0d45e58a7a3c4d3d046c13d2db0158d52fec634c5483f3e864988f80200818f80916d787983851ad3de9f0d2fcd063263e3ff2970e6fac058ed5e91fa99bb81edf1dd1e9dd704cf8f394989337b748c5adc304614904\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 5af633ac970bcabc50e4202dd2fd0fed1099fe9d0d0fb3517ed92703bcf6527c827f7e2ff71f0804cbd369788562b7ec3c00450e86c95e03519f3489730091257670c3a785ff4729e40412f9cc7c4f2e42a5deed3f5bae02c929491e4df1e1996b56d8a67f2c29af70ac56c87801eb9ba4bf43d353bf4b41b3bdf9ea9e0e08eab61cea2deb9c9bdb3750afe1ab303393569249a024f1fa2c60e7913ab124dbc9dec67b900ab1035091c75fceb6d45e498144b2441b96fd0db1c84cc1d155517c5bc7cab8ef4e4d76369ccf7c2ea7e686df05039611fa6856760c56457f3ff7c7a6d218ce6b18938ad2d2cd9b48e82e7fbfb3fc9718b00f22617a8090850de678\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 3844c68a3e1721d699de35121c738cd857f1fb64e94594f4e96991a3697b261fbac9977c17385502b7ac536a34031eb77d7035cb5849c501e92c9b3f24350b7089b0df15e8daaa4bf48343ce5fb66bdbb0b1ba5489ee8b04edc996293f258a130c516b00f4cc8d0c4d96794b48d7782cc4579b2502ab1a692a5db2129efd382f2aabb26b7bc845303b9a6898dca5f78b2b981d8f01fe4fe8401f672682b1bb7edb80b8c4e3ef9bb645777bbf3aaf75f4e868f88d66aabb4a0f4fb3d6abca7378689dc6b2fce7832f77a27400a56050d2d84b38d866db2c34264236190455cc6e6b6fddad1afc7515f0f5d501af63732c34fdc8ecb921db54f01a248fce06acc6\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 09ee17a7a33ec5483b434de0ab4ad614648c1de9527a436ce118d052697698ff21f096c4d87fb96f579eb099ed52df93de4e6a0f077c8d027d89c51412d56986253cbfdea175fd656f19d345bf0507e825b91b81536e51e73a569d6174a5e2409f213d0dabc090593572ceea2b98ff53d4be9f3f8e560960a60e166da56af88a24f62913699ea8fa68947d51cf543fc86df81454ced19bb72044106f51515d9b3e8972bef606fe17dd2afbdb198ef147b29f2ba332135b373d55bdc08fe78946c4e9b587c99d45ca54020942f79cb7b3f0fc794d66af07a72961ae3ba3b56b982da0ffea0db4028fc21baf50464b37630885d621a8ae17d9e6f44b3ebda04b73\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 068b437649eaef8cce780c2c6295598b1a55f0eb903a2069aae7c5697eb1a643cda83e2691970f69b7ee9fa1d129eb82097d9d01d7ff7bad9580559f18811d9b9ea0dcc62d16757c73e1d3219b58c276c5d1a887adf6f3826c333c5e42887551f49d08f6bc95681f835ce520d2fcb3e043c1810eeb721706e46fb57e50da5c15bc03bd6ef40b2651c1bc5a55554be3945f485f699c3c27cfb953d3288256d663d9b1075cb473fa9c70862f35f78e19e1799ab19e4098e460d31cb51f87e32ecf5419ea4cb2677123130d8497dc7c03c8a5033b19d5c9b7b5608088a700cea65dad9955e97559a7e55809ee6acd22d7c291bc823920ee1aedaebf02d72845decf\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 8730b927f2540ef947089c056ef194b7b119779e4f7b03fbb85e3830de65827da21d01591659c62e79b998b680ab33dcb64c366a8e0744f097fcb72289173cab08ce7410c025615352dcbfaf36c9f97fb7b372a73c6a93131d7b6a570a17214a691888ffadd5dc71659417a56722291b28b47a6ad418a3501eb3566f632b48728fad399a8dd2547eadb6d271a148e3691b2e8ec3122400f8bd40b0ecb4bff496aeb782bfce28d779f6b4f05d2355189c4e02de3a8b55e6180343888c45cd2afadfa882519f13019677e489294592f5c555a2f9de1510c08a1ad9727a1182ed5e1e8c1aa2903f6ad3f638f94fe1a26d2085aeb11e9f246dd2eb5702cdeca3c20e\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 29faf94760d009cd2a16a2ff1d13f415ac85ae4d41af4e13201312c93871c9668c00bd4c5d07841952725897efaec6783a188637d71e8ac8e762d12811c5dc108e8b7c10e4319331b855b041523783353435656e009e60f81a4ebfc900454b4a4d3e21fb4b4c82effa12133e58962a2a4320b6ffc9ece361c0bd4c49990209902633ecc271185127fe765c9c41b4b569220ad5de85b547c762cea9fbf24f92ff44002cefb25fd08bc0425192f332b568711c73f6fe9e87c577792ada529454a044a89783446fd007e18256e289756c60b781250b71a8876ca78404eeed93cd1dd36bf1c61a796195a8be395d59d05e2b2da685022760f6b46f11a9b86baa0490\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = a5f8a56a3a951bdfa388a92b70967c1c25aa7c2118e947a422c910f1f48f074f6202f8646020ab6cb3f06f336b0f70919d6253350f57d5d42f364bae61325c3f829ab0c9f99a649662cbf499ae5aabff354fc0eee24f2ed5f1e848075989ee3b348295fff034cb5b6de442dad151d4f06987ae37bccb59c15fd8e37624bf42322bbfcb9ad404960891a6aef5fbe64f66ccdff912be804b4c48e1c8ef92dd1082cb135741935fc71e73f3b8eb27750e1dbfa4b150dbd9d67ced4f0e0a5a49f12d0015ab85e1045119b3487c5969127c7d08a29d68dfe42ce8ab9d778befb9a97542eca9ec683f18f51357c29aed99450f7a53874ed81ad9af278289271ed9a388\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 139fde943a7adf892972c167bea8bc037428b6bf38f52455004c3ba4de05b9c8a96b3d5015e91a9a1fe7b3a16714b4b0529772266c3ad8c12064ffc9376b571b4cd509cf9d4137eef35153e0fea58e4d5bccfb0b6da8c8c821094e2c0a16547925225470aba64d7cb08172fb090749415f24ec4f95870343944908eca76b7c516c7b3ded202c617d1ef5aad06e97b7f46dafa3dc8b117770d56a0259bd2b7384373cbc2c2ce6d85d16022e93148096021e209deb88b288a7c6302561e4d3e94b42f6dfa888f30de3e977822b586b0a04e804360f271a5d12de773fddac5361d77a22566ce271851a9dd726bc917a38d8fe754f24d275df0054445af197be7f78\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = afb195571256e9e37c1d876e232cb1b4b3130d84c1803d4e01bef844352049fd166f5ae9b561d5dbb2b26c76f0e2744f6a6c41d04ca3937860f0552cea49c5f34f6463894ec206bc52be3e402361e12673ff37dde42527a6d3b62f47a09cf8cc9ba1075309cf748e263ac2c18eb0f78e3310625d3891ac8bb45d95378c9960bc92e20d0ab8a600707f70507d2566a200638e09616bc35b4e20f9c0bd93ec686bb9c0020223f4e3d1cc11a117cd311ec341d2c40b81680b52cf9f62b7721e0d0a2b1e0c54477146d0f6d1b0091a9ed1d60ca33dd6318adc9104cbb7b507a573d76661a95ead875caca5e4ab4781f4e18d3b5a10e02cdb62a1752db4e6870690e4\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 86561c6b04582ea648efea4ddb8da8f973a78852083bf28d1955e88bba763377aec7816f757b6fe749ce5faead5220d98e50e8e716e65e9b89a3ec79bed65385c3664dd029af77bb9a24675a08d7a402646705781983e1", + "11ecf81251941e5627c6bcdd58b8a921f546b4fe6eb8bcf1ae8475a39320027ad96789e92f64a860dedf808bad796304fe6a75cddd9a2b63778fea536cb6d25cddad790514a989a04acfa6e0fcaccf146b40a5b424f29e8448bade4d83fb838f68c85be78a75dbe800eda6d689aafba209504ce4f46044371e4780269d276d54f5dad4d8d64681c22ca36097b36ad0ddef6706ce6707f435bedd3ce2a07d4c3a154febe7577ac298b9\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 6ff8a2c2834f021df94565bfc7b3c7847550b3af7488abf85f0cb09c56e0454cc62f3f2254bec19257fbcb833966e652eaa55750f963bf1e8f3fa53643956447773a9024392b5ac8a744ded9543d334e4c35a402fee22e38853bcf79542d750860454a8b865f8da470b7c000da5fcaee580f1f0919fabfdfbf852850631ea7d5d7077612f4037834e337b5e2ce875a2a0b51d42bec41632c1d992801683ae5cc75a2eec632d56d0b3d3e2147c1b0909e5d6b78a2e0bec0f8bb5542158e6fb0bc183a99284a2bfb61777519911b77e65f80be62e55feea2d59e2ea04a934b10c6f74228a75c7d0c951c37bc073e9045a32220f68731f023672ba5fc907800b197\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 1fba2604adaf2f7cf9c0d4739b3677b1d8a00d4d7cd02519714e9c12881719853427c79e6f10f385c041d442a30897a917826d0a6b9004d559f6ebd119ae6c77ca17f710b963b7aadbf4e0db885de2cca48de8297a64541961ce1fcc0429fe213a0e9e6c59a39837e41dcd7b4ffffebee4736360947ae22eef06abba920791fe64e0b1eb7339946e6ac2aaae405efa0ac8146afefdc398f45319f332fefa03266de3256b6b50c3e6af4d89bcbdaa89b556905931f9bb3315893c4a6ad8548cbd6cf92c633b15c07871a2d8b48352eb1fc6637dbbd19164ef9f2b144a1ea3b53044e9d3d5c9534af7831c141443e32adb9e3db4468546437b5984bcbeb8fef671\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 94ef725bc9d4374eae7758aee84e38ef98540d807dffc5de49aa12003f851e18fe3ac23405fd594212687be5ac3e515160ca540cccc3ad7cbdf7cb7e0e8f32466e572e99c46395383ea5588a8bbba46b5fdfa29e2badf8ef536f43c2e72cbf54c779f22ba880e41acdab922a19fb429a1520fa0f4f3c22b911bf7263c424a08aaca49571592b364814fbb5087dc03f52897217b6914609846942bf2566a86cab01b53512b05bff59e74eba5cba66ab47f1d1405b5688e9fd138ab8121804dff9a3f4677493bb9da31e545f69c51d17d1fd447ae2efdd73609d712d80a2a7d26dac168066d6d6f0255cb87589d2240f2ece3787bd122cf2e29999ad35fd6bdabd\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 1e4874b647c48c3328ff47f4e3fd939a105dfd1913236958acfa88e63e4f9bf7e67a171b3c4b67f192092b29443650185281a5dcbdbc6f08530e7ad39a5de2920b9e089a969678841cdf311e2e90f1ce5aeded74ddab79961ea35072016f977b278372cb60d79c0cb84b3c255ac0b9e9dd14c49449067785fed408fca8bc98be54fb3c95e898f3c47b752dd20b067415d055bc175a173eb13b2c513adaf139903c71b13f1b56d381aabbdb6f985eb19bf670124d7f8ddcde05219648f55e203ec1528e2edb7b35022fdaef522001afb9312ae8dec3334b2160b761507f24ca044e79fbcedd5fd7903e2a168c4ac85bfed5f3e6877da3a6b4a604cf389729eedd\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 2840188f2742520ddbdd97a24eea63070050d3c9ee536eaee95233b66f5efe55ef4d8a318e460c4614310f00cd25fe2f154f67734556495ec15d2e2ea285aa22d9cd0711033c6db7aa84a24650674ec018cef326fcfc0f632012c4bd6d4930352712162dcd143754e7012c458ae29dde4fdc8f25486833a1a97991883f6f4cb94909768c0b80c2c705dedc6dfb244c465ee90dbfbc821592973b978f723200074ae4691f8f06c3add26e630a1b793f98e27a2f7edc48d043e1962de29b648067872da627967b0327d386f76af93d9c0d84ca89b9d567a845dea4de00accbaa11ddd4668a4f912a1b15666ef0f7604fb0b995a2a78660d8e52da06125335dfdc2\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 18610e0b455000de3a8c413af0dacfa8928be8844ba29f84235c0668c35b109f1b415b2e3c5ffac1195a9beef33a24821361741ef9669d626a8b76422e26380787af06cc36bcc7a39fd3ab5e8524f310c6530eba3c888eba5a3efa7e519e849cbfb2ce04b5a052f2b7b25784db1b84cea4a0871f58e766b3c93f122613a5486969c88fc20f5e70f55aca0f926cef4a2156cfa1192ce8d025347eb2d48658c7b6ed1f6c6faacc6be630f2f9f73e0258d63cfa489d81648915c20b1d45a8971a3d8a8888f95d7e745b207af923570a9a98e40aa97e1ddd8ece69c22c177b5c67e20b942a6e100142d539ebba5ebb814a376b0de24636cfe6ee19bfc95d1bacf6ea\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 8f63e0cba1bfb93d25bab5873bfbca0f33a78cd5291a7634745e1a9260748b8daf0273225c0549dac01dfcc0a4937d360ec408901a54cc0a2c83bacdc18dd900a24994aa43c208b2067157ee3b04d089a76ba51afb829053b4d63d0b48bd1a96d0a705f8d9c3161a18581e53ad2c534d16723892230bee71cd5e6e05466c4a32bfdd3d62519d54e318b0d99946f04155ff172c2f066b54fb2965a90e129b615af617590c9d418697ac989f1f64468af5e5138df34f6e0190c549edf38f2383aeb08ee2ec697428a0ced1f5299c3e64eaefc507a72d7e32011c4ef56a3157f4d2ee72eb870ba77ce6d688443e0577ca8b9e768e8d7bd965ce894e506617935c3a\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b7875711a6985e2dbab6e3cc7df4629c99abdda3182a4c7f4b86867a71c929401ee9946e158a1ceeea97882acfe445fa90bdbb1bcdeb28eaa94791297b72e7640009299842e50015fe5cdc1cbb291e54c4aec98de74a012df737192985a89f3d3c8054a4bf5898fe9af8ce3d3b1afd21058929113358dee5908d598e0b531925dd8ccd03d1e0d885c3aa34e357a85abdfcde58893ed59b862dc6c98a35537c040ec6bf7d7af0654c50a3280af8bd48a49ab6ab7ce3000830508017576bd999adbcfce47d46fe6d2702528b73adfea2d7741b082af7b8bc4238a87fb263537d0cccf0cf93401915d7c570cb29394fe98878c07e983d5281a54bd27a097e065c39\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5374a6b65ae6b7903d5c0d06ccbecc1e4cafc0fc854ab3d58e0a897ff7c65c859e808c17e154f1a8fe19ee7ecf19be910d6baff0d0a2dee05e049a07efa2dcab6cd429bb896655f36566073d576c2ee0829e5134cfda43e836d085c40f51690cc843c32831d37d3388aefd78a1cc2cb86853cb3ae4a92d86cc2acff509410d90a193d74630fc690156dcd4395a26047ee9c3f53b49ec5419d52911f2f89a53582b91618de91c23fdc665e3d5df7bea5c0ac4a84cc07aada130bf13c0be73552f9c9e40383e5d03d35f27e90cd3c615b55aeb0ad0ea3b230e336bf06cc785e11138b3d24e3ea40153c56734bd2fc8aa4236ac3f2e4b166b45280222bf444fa9a3\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 57c8ca1d0e8daba503da489edc7ec8b331e1088090142947cf10039da674933c33fbd7531f9998a67f4e6bc9d1a87e07a1a86ba821242d3a01f4755bff8130c4ffcb44e285cb72d38f729a1fc71e1df6aee5ceb9ce83cd1f635c201ccd0e7f975d4a4b0154fb2badb7b170832fafc9023ac74497fbd0e70009b55f79482a174573a811bf46a774d63ff3fd9ba22d82ad6e46761e9ee3b87f2bba58d76a26f03b4d5ab6884dbe5b51475fcbc2dd160f6f9b86d54b6f5322445ff8022c3d5a78dbc97a364842faf3e3be6b02faacaf22ee98e0aabdb1fc1e9c546d0978bd59f9062101b0d86c93e095b2b080067ca1cb2940a2271a6e738af88a2b9c92553512ac\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5969bfdee65abe62a8cfc7f57efb08aa243fa3c4c4a35b62fa4bbcc3ab9aa45021ede863929644635bfa45ac7e73470bbac2a51b00f496f42bce087193503358eb285f4f45953b903858f1867870156f99b83c5b4a77a799dbbecc8eac25a5fcc26e559594c903cbfd086e72bfdb28b0be91d9f02f8cd94979937e105d2dbf9d134d0451a39f87019c1c13b22a6fd8d4d3603786489810be8078d407f614e4c6e80981f9c3ce32180c1069799063c6d759ce6973322043b611eb957f97d96b106231b52b051371ba5b36002b64b0f88557f0178bcfc040236d675fbcffc0c2ab9e5edaccf00db475e3a99396fb15af3b7ec93e2de668eeb91e6d4d4b78881308\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 11bd148f30f52678e48cc8ddb9bf60ec1d09aa9b80714728c222e249cae2baa098adb29250ec9132947abf8a28d287d5b0401ec86fb91e0995afa30b14c3f7d7fddec5a9e9dc9bf7eb43d218bccd469ae7972807bcdea685226995b3858d5a422409dc4952f661ee8a106642cacd264e645d88ce915caad8355cccbd56018e166fa7605caa05092149407a5cd469326301e4177f613b4ed967d9361bd703ffe26d9c149b583316c0d769cc2dbe5c4e45b0843066173a9dd5874f4498951d22f621be210135a4dfc91a72dd4d2423b3e8baf3d5ba08afa79cdc2bb63d0fa9bca508ec8e13c2dfa2c2aaaf2922bcf8623d8c4c20c3d927c726c57eb26dac95f49d\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 3d15e68ede26431e35c9a90b60fef58b0e4272399d3985fdee920c789995eb8bd99d01c4db80f90fa7e3105de75cea6ae24e677b8b1060a6a9f151a49fb4173397e59f79f46cd70a69ea44b183f6dde2245b4cf7d6c168483f276feaa2460eee644796979f20c6875d2ff9d7b26ecb9568a39db999b2b81c74f644573ccd7816239ac7e36c3cfa3ea458d192ac0eb40b5ecb56201b2826872df27403b98d1c5ca22e5ffa287b5ccd1c1a3f55841dff414d1edc4328c6c8c4b11877c954d0dd7a8d3f776c85810c842a4e14c87a9f9550a687561ff1875a86d4fb63191a7daeddbdc38f556c16ca97309935f13f5e2b2143f3725ec8ebab88f6a6a851a9083e93\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult ", + "= invalid\nsig = 7cee1b5e0354fafa1579370b760ea9b7254ad7341baeb097ba395480d108b1650165bf82e3fb0c7abfcb6e6a26803efd2890f1fd138f57e1bd1dffa438bd28325c20b80d015aa670b27484a3fdac73a298d97356d26abc0f5330b1999ea37fb75d65aeb73fa4bef29d0a788bd1c5d50338c6cf4723071d1390f5911f05daee8307e9090f3509f47d235ea53feb88f82c89125501ec89e737ed31889cecf71c0ca14ca0e50631060069451c7c8d73cc943ab3226d82fbfb9374600b96304f74b2ae4c50c024340aa1ff7c884f010c4449d7fae341a8f048a1d072146ffcac6d13a84b995fa72563ae02f74df72f5e78e93fb7ef5811201fef2c5123e5725855ed\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 99bcdd4917e12a459c8ec9d7ae7c5f59a74cc3850297c9b47b1ae62c2be91e84fde9bdd07bedab7ff50b721cf3c9f6bb448985b1f0bf1c54d9740b431793ba53c1963c31509a27f21868559d935ed6b3ccd0e52891b2371c8e77d8fd6478c16250b8920620b6dc6e73eddf059d483595e2bc5bb5161a08f1a430766507a68abffcdeb6a472f17f488420f8feed8587219ab1c432988ede2729ea8875cd501d2caf9bf1ea53c4e475c6e97410289f6ddaba3bd96b0b0005cab3b3bdad74c8d0c1185a099ffadfd3440e82a24265125a9ed641174f361c9bf944130939fd0daef02105c5ec01d2b5b3158aa46100d66b48e834d6edf050b88e83a3cca4212f995f\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 4c5df8bcbed902183e3e90fb167a75c8e528eeac4b71557738f6472cc9755230f9d9e661306e7d99d9225cc4d392c094817d406c28df99da1241e26d05fa37a87d151d56ec19a0f7ba0c0852ee6f889fc623d67bb2fca1e8c93aa9d5f37fcfebeea2ff61ce6e7ba4b4e608b89901e17a4ab03db6eba7fa5f3768fb232d58a953456ff31e2fae2aa005ff896a1d6514b6206b7ac4a92946c0ac3485d255a9b7348fdee8bee8e1c4ab36f8a46c4b7c8200f14afefa7acfa8e45a9d0b7b207919f163afa90c36e8dd3da836ee1c5be69c72bed446081a80f6fc8c7fb8f532142d3eb2c56e6ac33bf277cf1bcfe8eed9fe637f24d4bf515c573d02f0868a25e88632\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 5e0352e6010a615ed47d9aae0bff7f23593b2835966ebd2378bedc3459e3d5813093c46ca3ba496486975fab640bc05d4f0f789c730e5fec8692dceaec65062b2f0ad849a2fdba3b9749a8ca7307b71df156a57900fdbe688b98874219bd2b86f5fc2d2fcbde64ca55bd8c5862e68b7883afe0f2a6c5e4cf158349477dc99fc43878d5af3c75a10831a2e7a95710a06f15958e71e32f230c22e8e7c1b08c7dd2a7614e25ddc8c54f819b8ef314881e32e35beac0e70078b11c9307cf20280f8899630a0d02ff4dcc48a6ed74ddb18189c747428dc4657f6fe2f28ff772651b04402cc9cd667d44fb1dc9cb10061fea13c78dc82da9fb7c4a91cbf5d1f99c5449\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 9175dbff955e941f857a3a6ffedbad1228ae8b7eecabd519012deff34ef33a941a079c7b4e541313b314005db463b80111af13e2bf975aff6d26dd97b6ccc3b0cb45d7b8a01126bc80ec48ea2821f3f2ac899a5c0c2b7307d928b24a379332e5a7ee287f3cd736c701be439bef6e83a23b2b93dd551c7cc1d5c14d6a1e9ba0ccd33ac9a2e9ab4158c271d728acafe36c61f68ebbdfd0c8834f5f87f83f296ce2d3880219e6fd8a24f38a685604e9ffdf1ae59ef4a301c7a56861987aaa8cac63e48272911b294c99e8fe5bae8eb32686bcabebf316574d53ba07a5cc07b327c056eb3020b6e9e4064a0b7714ae33375251d2d634e541a37405de3ee31bba78f1\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 5e4816fc498d2e3f0a33263983b81d563bca7be0760b5d54c5f49f08fc6d10cf8ba95188428de68b4864fec29a64adea0119932d2c4e6af69108b1e397b1021528c679e21fbe7dc4dcf7dee27c2654561656d7b3bf08187f74cf8a0d24ac3fbef8bacf82d50981ac18912aa785263212bd71c9c6e209caeefe5d978e67bf34d3a1f6da724d7337c7f197642413d219d24653845ef35fbbe1d7c733d8bb32fc25457d36f20fff3f6c718a27ecc05ef36c143a5a580383e9d47c39c842598d0ea329aacd4eed20dc99e641101628def125b860520797f8434fb96c3bd90d9fc29562a34b4a784f847ff50c7322424d656e401c1b9beb39e2623e1ee7afddd0dbab\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3af357a109ee6de3edfb8b0ab82121c9e6ba5c78beab6393e776065f08184428100450038d40cac13d7d271c68da1c0d05e6d20065fed3dc1b02bbc9fb8c1de0b0dafff73f0bb88f36020a78590dd96b80189eb5740d2b84f66ff64240fa91ac8a73ba72ff56c6bb82dc424904e65bd1fd969c5d21a81f44b458ac52ed66cedc403d01f2139af14e6e38b722addeb3a2f6e4755e3d2337de4504216acbb596ef39deab19e5244d52fe462f4ab75aaa510552034706e00f33b8dc1b16d7e8cc5b4066a921ba5a70995ccb9d7f6a891cecfcdc78a092a8bea6408f5883fc866462abfe35cb28aaa6ebf1b283351a7505e6a80d8c64867c2d275e2c5d7500617975\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 8a38e8a54857755b4922f9d248d9dfda77d284d2a678aa8bd55f351acf4aa40902f8704479827223c1c6aed95bb33d2c4048cd578f0b24b0ba88a96b881fa8b86f241ed49e4f0bc1a27f2e55289c53c44248ac1268f74123d8d055b72e7440dff28d05cbb174780e2f0636ac596849c8d6b20fc37afa9d160d8cb370651374919464dc618d491fd17754d9379ccdb689b004c7d4d4fd04dba6a9f721d4da77ae9f3abc094350355295ccc773ded661145aead73d5485e49af3d9c112f463503ca5be0549e186f334e95e8aa52c2a33c259306bd12279613f9969ab33075d76222cd6218f2efa9e0213664db951ef956814f29374fbfd0e563a5a77cbd851a9d0\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 4890cbdee665ace86b225086c7b2c04d5e6cf7ddc5efab39973ef9f9d32a40b7d540f30b9aeb8472b304652768b1347318c8d763815796c607bdfca9cd7270a4767989c6f67ee989e110e36bc443aeb4df7ee56c399390a5794b0254f38e27b47ac9a87b013f17d460bee3b3ef64d7d13503ca9b0973707c03148ecdc7c947ea0e94cb6d99a4c1bc1d8e6eaebc662cccbd85b0671a53470f74bb2850f7f67ab42fbe15b266ef687c5f72e3899903225bbaa595c63c3e302e031b63e1328b567b7fdc6dd4baf36ff104922e6aab4a848bda4c6512f841730b073135ee491feeb82cd2bf99241980d900a7e215762611c48829aded1cec31db92903c037fdd82a1\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = bc4cb8d9113b6fda304a0e8c8419fbb18d6d9412d0922c727e36aba5a9d8c0ff0cdf62b544fad91af23f6b0ed985f88fba1d64357b7e92df0b4e196b4edeefa2b6b1d04927570ef07d5e5efc6e84bbcbe9f57ad2e0b93fd742e0fdcd37e730ff25fbc038a3a808cc9f40062983d3839977cf2a22539045986be087dfdd30a5611e13427e70c2f486542db4c71fb53273f8653bff224e7e2c1a778163b5b93c06976b111f3cc9fe55ba644bf8233c0752dbc0f130d6bfe85424f1d10b21fa64d074caff5c820cc3f416e1c48bcd17bb4ffe187ec924cfed89638882f190f4eaf45cb2105b208db449b8b9f66a71f0ce4ec9e55dab3ccc19f487080d7efc256f64\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 4278e146dac5ef75ac6b9b3c9082e8401aa47be4fc0043eb5823eea077373f1ca319258b6842d77bed8177aa9e5c61107620d2f07627f869d32c9cd3fcec52cb9becc869f2ef4e567dfea371b021dc49f296acb7413241dff218310df1da4478bc99b24a4b03e7c80e03b5d85bac39eca10888884443ddad80647dbf658d11e0f4963136e030c4f8b687fa4637a11659614e158025fa5ec1a122d38d7097470e3fc8b9922a4909f5127edbeef081cec7c89c4a37157a0e27973c9ad62130e31ca6df22cc97ecde6296e502529475a6d92618e4bda715d1cf0426e92898fcd55b6c962d94aefbee3dd256daf1ed1458ac313f3ba778c29dda8d80e3e3d4d23ba5\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 23d74c2777033454f93db22d2080593c9cee14edbdc62dfcc9f4aa5dd5b32ec7e7c99f48f3225541f1048754ee9904b6f9b9c76819af8595c78762f420048d66907563802e8136560be3397eac0072573789695bbfd1ad4874277b047ef5ae2bbafddaba8ca0280e475f103adacdca558ef346d69036c13c72f388dc42340d76a8915ceb8b81e47122f0cbba0ea8e39d006e783796299309698dce133f1925530f12b3a5a9c8872a5dd3f822968f67b23e891929b9ea726488fbeda66237bd4d9b2618a114cfc62194c2be6ebf4122bd95671f94d88c1cc7eeb2575c3e6d7aa25de63b5a52fc5284a429c6c520f3acd9acd888f52410bd86832f45d1b32cc59a\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = bd3d6bef4d7dd8f13d84a23eb5d8d7513e1eee3391dca46d02c7a673c1e468f2f0fd341805138c8950c1501b494f78d481cd5642149821f6f0439dbcf815169ded6856135eeefd469f42714b12b5ed5334f3ee2e535b0cbbc1cb7cfa8addbaccc65c7e02df84c926ecfbc5b5646dc9a17a0893d21106613707ae3cec2e13ea3f289b219d871b3bd67e8579c4473695ac761743f9fc5efcd572923e4f5d3d04c6e61585c9797d865d19d820b95e9c38402df6ab1084c7438dfa3fb12bc8f80c6d6a582f9bc9034f3e247058a985b571d0ceae1b3087814dcf70402fe774bc384e026d00fbeae4032ecef45eaaeb531835ad33a8c80fdbbeb7fdeca1d466108470\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 49ec58072a4c00be0416cb0887462bf350dc06c603958494b81af3680bba1d89fd193e23ad18910daacb63b8df2013923620a2e81cc7b57056b1634d381dabbf37e0748c41889a9c1c57259e743b3da94e2e9b430b8dd21aa06b28f45596fe2ec35c9a4c17d11480c8e771bde791b6dfb1161b84227430f6473395692ceb75fa48f4aea0a5540213899a4f015cb50d1f47cff07dd84156bb127e20e33544c4d2ce0e90c46e06435236ae5648f99a080b6aa20cbb8e9723e7a3c0931f5ad82c806303257128f48900691cbb7", + "959313dfb2ea2a3712ccf3776f6be617305002b5a3daef3ed2e9cba126bcc6a840b09c34c6ff113d25132bab3fc074aba7a74b363\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 60dc41d5618fb2a8dcc94dd2e2d5d4122b4417ee6026f5e3e5e6528a2d59bce72911aeb2fc935b02262290b7c9e7648fe8b7725642796e8e06df60f94071d900169b2ac498cb13002d8fe2fa38321f89c593cab41223aa6997a356d184acdebed45ebfec4fcfdfcbcd0a8b5a74dadac80e372fe51725ff449bd6ff7e4e39be2288879a6342e7293a9fbb3b7faa56991b4ec13f48f27235e7bf348610254fcfe4b517bd010580f9ff1879c8c16973d6e0cd15a69b3ad6b9964f088ea1e90d548487c093a8afa3c3604cc2c6b928969d66605baba1810c2d483b9db183523b3161323ebeee3aab79cbd698126e893ed7412be3505a20eb09831e0d65023e62c522\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8abaeeb60987b9a8722ab291049fb5c64c813a1bd6a147fdff93aec3b127f2dbb2af213cc920c7717c000d4985e0c833dadeee99437876d3d493550bfecafed0b3503436ff552c773e4d0c60ac9196efa9fb6be10378128c98a96480ad9e2c0242d1a7a9e66fbd7084f0c5e0a8979f2940bec7b6ceb2ae0bb221ec23983d6e3344a0bcda92263f1d768c1a5b9df555aee8de837060052a194851b732d373633ad441bdc761ffb9ea6134cd2982071f780b4fe92bf9253d4f8e8f07df417d1c2bb49e9268bd5cc0e4e652c38a44daf668095507ae05cc5879816b9c6a146330223c98a096847cde6a3e724afd9896aa45234c05c4a259dbc9ac8c8f93fa18181d\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3a3184a997e3cbdfe9fec8d260c7e8b09bb7180f65a83dd7d926a0355f1d04366994b0363c92de8730fe85f2f81d15725a6e9f7c06d01a7313d71af795a4abe11fb4c545411fea4cddbc128c8b8b0e713de1d0e78e457551e57a9f55f3c79b126ebcb586d5321ee78ba50034dea7a315f7c571922898230cc0c781383da9d3c2ebd936929bfb1a20bad72389903ee558a904ba39ae931c1ae9798b5951eafad58b1dc96159b1c7df12c2f47e81584099e33ec98ac9b08c192d676cb3eb2ef1a4959e8c29ada3f9f3738d0eac8442ac0e00fff98ce770f629a4a5a5effb465bfe4f7b4ef18432621cfe1d14a99102ab2ff3cab1ee37553b28bec3d04b2cb1e161\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2edc01b091fd7a5896b25ba0b960548a9c799f1ed7208bdc320c44ea15d46483c8dd8775fa3c689739defabdaa927f88c954befdda8452152757448c1207cc694af555021f5756982210f44780baf6f50ffb888e763ac87bf048611f9340c0ba78227f980b81c059925e3c5c42775e45d400a057c1846a314f5eeca92ed4febba7b4a91e1b1c2902471481e132d40681aa9e2bdd4dd481102d2c8259153c76d41d49106cdd3cd30fc0a0b06266f3cb4b6cc34c60b528cf7e7ef9f7d42e5e305dda9e46d070548c14705685de7bad5970b165e13cd46159f957cd2908b8eebba955d2c6760c16b3a2d3e9e1fca3cd8f184b30b1d6e188ece497e9e01c8e2a5267\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = bc0716ac3f37a44d86b8225bb4834ad3d4bd10b171f36fee3885ce424e958e80bcdcf644ac3c3ec868c0c60739d7059f0e264dcfe73fdd708f13cc931255fa2576915b6e40b99cac7b40d259862316ce8f140435d44c973d6bfc48a26027cb1f6044aade27e387f950693e5a2787d6cbb9a38bf64303503c63c02f7649df3ccda47a380af779991b1f7356d81240d99a924c0c389c5fbe2719f7dee3f84283cdf41fed95341a4b249c92df9a93b5e8d031a8d693c9ffd5a91fdf2efdad0feb11fbe5e5eb5ac51ae85c65a4f0f0b3f67a0fef3f4c5ccb340cca0b43bc59015f0192bdf24dbb1e92ce66b534ffd38dc44f08746d0429271ccefe0bfda3c8e5187d\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 4019e011da7e59b601fe76db0333bf9fc0d2fe1fa33cf0569632e39940affad58dbe255f0e250b5dc5f5f4da0dae5c8a7599e1c6852c9cc052b4d7218acfc1cb6d2899b7e5d06eb0a666903e69383ba4d8bc6d2146a4a54cb0c7ecbf2e60fb09f4611f0d5692c653b31eb5795c838303ace417992185e138ea279f2081ae0c65c0431d9aa3027726674690ceaa3f0cc838bdf1eb2048f1117e896fcfe71513357ad636cff8d3b0c0ea2948d6c4a055cb61b0dbc56b346a6d9d3b8bc18a038d98d8a20ab63ab8798884ded8d9a11e94cd83d6d9a935abf11d079059d3fe6b21db0508ad9abf8603acf8d52d50926043033e054a81e4276fc16687234d4029370a\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 9f360dbd80e1a28bc2b1759707e4ae5c5e432d4d4b9fa6b67f37e8c576178b820f5fe3c8c44fc3de442b900c73eea6f3040f9b58ce38611f74ce6353793b7ec1b9ad21ec8dea913011e0d76ea2caf5c1ca7899453789d9e868a1317dd707481c213056add922177145e7cb077b9aec2123d8e854dfbab7c2a96a58c51cde0c7c77dccbf58d781cd0cf5f1251e5cf263088af9c374e8781b9f7d0fb0965a765727682f97b3f1ed593082709ca699570c7480c2fb3669bfed128c3063cccd79d1161c781589e733671956cf4d1a6d90a4680f4c38c04cf0b3b05289860a809ec99068fe853176f7e6354b4b2c15e3b535f301a00fe240ca43ea401f954e2e9d170\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 05ce3264ea04f7f7ce5a073bf70154b120bab5026887f675c9ec97fdaa0c66effeb7952e5b11999ff343bbd176978a6ec6eefa8f4be2671c700382f7d8d221266ecfd2bfec8a7d2fe36de408104df0152ece088b73c1c0a821b9a7ffff8d83059fc7250c5d54ad9e7099cfcd82e887b5ae551732c37a1bac432dcc5504bb5013dfe46764a03e24daf62e180a62491e75cbf560958ade809f8698e8465b99332807ecbacf1b29719c7d582240a3f19ad6799c852b958c7fce3ea5e19b6c098afbafc5bdec765d0b90da1b6df7540435f291cf2a19e9b31176b04579ab18cb3e9b5f4a86c7b4f17f131b7a5a9c03a93542990220709f8a68ad1d691e8c13345cd6\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 0a7bf438897d08deeebb38dcdd687714d69b0f0ccd23c8daf75e3ac8588e1ba0e5cde9bd30cf6d61edac581c8f3d2b8fb7d92102faaa142f75dd78152bceb9a9cdce3ac1b6d3121cd7c65c5508deb1f671a83b3ba45d0d079ae294f56086ee92e109e94639494093b2fd9efb0bfbde8b459c7aee258b23b389871d4bedeef7b8bceace4b870098f42376cd0a2d4631f0e606390b34d86259b983c2c16939fae962a4da25c7874f5f59fe0b3e6a25fa8c0132375cca9f21cc23f4638a6efd3af2aa9010082e340394e33913f7331305e6544c87d34bb3a668a1c8473ff47d59fdff11172dd156aa94e4262c9374b001afde4fe551fb599242dc3584587fadcb3f\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 6db16a706014bdc6d673d5a1e15904915bd1fe1934cc20a6ac6a01f1e3fe54750eb01ddd2afc1cab644bddd3805c57b0c45ec2951b2595cf41ca2a006e6bb4b4f1529516c48e007a2173a5aba22081a529d3d970c0ccd41a43b739e38063fec026f4e9c157670faa2a2d0288991737ccf7833f41dfc4c8d829bf1f4cd35af15b247a9ca676c52e5c3b07c08f1322b31f0d0fc0a9f0698c74248fc54e505431827b2b0e8814d806f12ae85c2e8f49207c21c6abe348e058a17ccaed6a75bcd07a677b5f1312fbc4a1dacb05b64272c178d8c57ce2f3556529d9ca1733cc386e39d661ba1c7bb1badf11488f84e533101a5568b9ef0604a8b2e131f671b1989999\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 518a1e1c38f30eec3947d32d92d04e57a8a82923ef9f13f67c985a4d2ed90ecc39441372897888906014a98b38c079c9c53d9dedcec059518a1d8066b38b6fb6a6b10cc2b6ec04ba7c2ed60f6d5f17cda6db6db3f24d5e8a46a833594ae3817311a6664ef5a5db0eb988923e6cf5d21cbb1fcd27a4646ab5670780a86cb492bf17359f346b426bc634fe4a89797b9d71e6b80577d7b7cc3179903511bd7475d85596e8371b80684e031c9d676d665e9778be8ec6347a6622e2ea0232755f7fb07a53fc6361e58a76b87cc54678152c4b8febf1d942be3a000b6820cb86c9f25f332dee768dbdbe25c374af05a085e910d1effb97c914cf1cb0578b1f0858557b\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 4fb00ed61d60c0496a690006f40ea8a5df2e3e3dd80f8f6a3e39902e0447a37f4ab2e3737898cc0bdd7617236e637f0fbb9799f17873ad71bfeb32eb74cdd927bb830943bd0c6ae3a11705dcd8b272fa356d34445b46e3067caf45e0b4f37bb8c6dd43600184b25c2651932d07e6c9aedcf94796223bc90eaa329633756ddab77ed3b70de36f585918a7309d502c88aa922465ce213fb347d3aa70e840dbbd3ce920ea2b04a99c3845ef7ac87b68a54bf359a6540001f0602cc458b91032418da97bdc472774cdf65f58cba9b30b6f51777beb83cd6bdcba1fc1bee1ca35eaec7a29c8784e33b7a5b335058df1e2903538ded311330336a88256168a5759a7c2\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 08f67b8e90bb0959c276ed23d45d3752f2594353d868ecb2f213a980d8204d530c7b06ede81453a8ebe58ad685c7c9b8743fb0e940877592b87ceb457857543f060101e0757e02dd8f48c3bc348adc31d57513f5231e7cd32822b9844a41f00b394c20a6abc67d51a141738657247b4898b0c4422d900be64f673177f6a4437a125ce0a85ddefd952acba2c2809d4bdb4a9c05bfb9a1b09bbfb6cb675b51ae23f3857350b208632761ad04267caaf969d43f699d5908dfa7ae634447abebc05e372f194387e29db9adc9360d07b0d48c02f15eff31a0bb2ece9e97797fd18dd3ae2afee6b12576055913ecbb6cd8f58163736c2e45fee2bde79b7da293597c28\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 386dd157db54f471b88f6f4cd01b25ea4788cb1f8256ce996fa3a12bec90803e92b907d1e9e8c23bf20d8226b9d7df699d5d59daed206d4a5da51d0aa6566a47bb363c9375ea5404539054924b102c1e0ed40cce6c9b6811f79159a971c4a879f7568489d5c0ee7d6d", + "20f48f0255bbe556de271c8291c1e4198f765e3d5cc7fe2f5ddc366d28ff08d57ee5efedb170a18cd27a4d15fa8d315b695d47f1006814731524cf3922aa5a42b2cef314a0cd43578a224cee8d0140c53ec80e8605e1a4f5e1e23f4600d18eeadba902a398c4d874d03ba098956749df963cefd387553b4da2a90550d516451b4430d7ce2601d148d6c83f3275b669bfce35b9a5c7c336\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 0511a80f4b37cd13711adacaf85270137064579acf30e3c928ed6419507b9a807f9f5e4aaf853d96083420949d4176a4bca9bffcafc149ac57e3138ef4ed6e7aac5b024725654ce7ced2e20ba2c43070ab5a9aac1382f101cd5020bb8ea6bb3e21ebae04de3c65cbb746863232b129e19fa2bf97bd79f7e7975e093da71332fb10d7f70285237017d7251a118ef3fde78dacfde73e4e28921dddcd21fe2fcbedd45121552a10461681fcb90bdd1d1877b4fe34b9deed004ce41581dc1fd38cb767b1ffffa69bc1ae1dfdaaf942f7b50cc0737adaaed0273c929ce60b0e2627c2c1d5153f001c55096120849682f8a9774b6f3ebbee71b5922080076a2d5544e7\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 4884cc2d614aa4f4f90973c0490a796927a2def10606cac4b00039f6b5e21742e1f75384585b423ea87efc022d8e7d2190b5eead35292677fb843ab81c476fd2c4861695cdf9d3ce3f49e2c6f90671193ef13d6726547f89888bfc16128c7e7ee48d61aec79b5e1e551abff8ee27ed83ee661e42fd614c2e88958d4364460cb9402027a10822c16e17c083e5792b77ce3f07a4698c7e25245c651858d96c1258a0e0d0ddb3badf5f7b9713c2b89ebde7266f5a88c19b794e6cc2a8d96789f0bdcbec49e128473e2efd7ff80387fff30a5dfee3f2ff18e4bef5baa2131937e7d71bab5e5f521570165a8a8fa27d6288a2d524a2be7a28a3dab05712210c8c1f76\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 101232b1f7090316ac2c1f1e56014df258065a04e8bc08740ce46d54356018ce1567fa2610743b7c496d414506e8d439bda52e3680ef660d4e7ba645825c0e82509be7f9adf0272b212381f5039fd354e693d77931e2d59b0bfb431d903b16cf3e84187a55f709e6bdc46e377ee965de7fa43783004081e9f681f794a922409434cac493d29c9d1ab0f2e033ff4e54af9cf00d6c8cffd0b67f0ea27c5776e2eaf039946e8d287c2c419ff9f1fefffc968ad7475bb95aacfb9cb1d623c2d1b6531bdcb2493f0e93ac4be36c7a05af062e6ce9af1b8e063c808af52f735bc0c64ad141347a19466f650eb660a6e7773900e6a0801083be2934a178403f5ec29e25\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 23dbd5d795fd3f97f7a2bc5df227e14e39416976c2c616e1e8a19a85b0648eedcbd2ed91780c043dbcb124de6be7ddb7eee16851a97eed4848589786095cff7c4395fb4bbc606f892b0b3a01b285c9aa4c86a060d4ed5f59e1d1d72180382531f6ef539d4ad5cfe82c9f02e5b6fc81ae0b952a6409d2109710c26280d1fa0be306a37f956ca50803b6eae1d11d4fb3a3d71bff2ba2773dccf3849bfbe42f5085f07334dd5bdd6708325d67d98598ffc5c52a0689449729665c3fa86d542e2f2da752339ded4dae90b36b0dc8a0cb3e350f62eb05ddd710ca6821f32f840eeb98961cc5823e1c827ac67ba8388a4046b8c856dadbd1323c919fea5d0f61e61f95\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = bffc9f6d012a4e94763983a47e9f37698e6810c3de75df01f408fcafb3d3099896d07017670867794d5820ec163b1fd2bce080aac8a6cb90f8856d5443d2abbaff0e18d6d3201b5d24745ce001ef8e07f8258a60067c83f42aad79f922ddfbf6199ca7935fba59eb2e639c8aed66845beef5bf01f2ce1b06106ac87a2c27f447d6038ead7cb1fbacf7bdfb7811097fe0b4b1f14012c3cc0025750f9cf67e838ff715f59b5bb75676c93f71ae5cfa96f0375e3e704583d41f499017a5e62a5ee321209041921f5a64e212d3eefa8b42a4a7c240f4da15d903682780ed8c005d4b5fc13e7a95e106644eed0ae9a93133df9dc7ae8555f18579f020651e53ea9340\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 8ccdf190e17969f0e4c496dd400da98607ecca78795348eaf308d11e29950f0bda64cb6de73604f855a36326b4f18cfe433b67eded578feb4f923879e087af1b3c42f6f29d5f688924508586fd5cbe5ab90a1a04aafbe1d548f5945f7699db7264685405b558afdbe34adb976efc9f6ea2776cc41eeaef56c5cc13e8eff817a0b8b2d8978a8e445ce0ef586414550cd79030fc83d4aa4c2867570fe3242f6b9e659500f6d6072b8aab72d16454067d6c97d5f26ad9cb5e2dbacd9b332cef70578db5eeccb36d0d8f815e2125915764134943f03023e991428cb66076119dabf088632b22455f3e4965cb0ff86d67f8d5dc99763f831add9cd23c911e0a11bdbe\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 442fa58b964fcb7b87eb5b901fafb15c38e31db676c2df0cda01514d3bb6559130973b20478585e8429ba873ac0f6baab8c9ebc46805093abf57355f36860921edeb93024d812611669501928cc869b97d4eba755501c9f1a420317527e5694c6b67af946e6ea9fdf4dbd01f8f677d9a5ad69e8878562531c91362145f923c0083d404f1c6c2cfcefc8954e6efb63a10d3cd832958fae01ebb932e76eda84929f5c5032db5db9a9bf49b9f43e3359aa88cbc888fc6b10b4d908de28085af20b4287e30640bd3d67888a24fa7a216658af1add6c721de36a35e00d09dd54e55c2debec12eb475a3adcc2452ac5e68d1e94548734540cc1448949a5eb39945954f\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = a39bf00d81fb83c0c86b5ae8a70aa45079b84ae55c521f4363787f569836703fef97f5ed4f70fa9693ab365bdd8a0a6bb5020d01b0381c5cd17631edc8257a6fc271f05279d64568fa3208a632fe2b34c324fa0e93c259e80fa99fc2adbe43693d16399fca84c934a5f2948e6dd73d4c9f1f17bae710ff68ee63b39b70a09bccb891f2f849632efba4d001418f719b03a298e6f94459aa0786e6436986f637c813149b7ac5941792e7af84f8ba78bd6633811e6ab8c11c90a1a4d8f00795c8aff086c18a69f23cb75d615e298fd0d93f5ddb88b6b198af04247a2741728cbe51f571fd820c4182199df335d7b1480a1686331e8a04e15a4c14ddfa5724b785a9\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 6cc74b8e2ed218ccfdb1d0a448c5a4b519ce9ea56ddc96dbb8a894b1d97405b3d3d728274ffb49913f578dfcfab9bf6581ea90c4b854ed701cb4dcb11b16fc68b7b1396d32eb24f7eac9bc121230450c41b54a6afa82a857c4f0c36dc698a2241d2f628e3f728933fb646cd9e6b97e69d8d059a3d9f08a481ec8e0c0d0b51f15df7a33a88a1e11dd46517a2c3a538f2fc581a65d1787f81594b740283df9aa01c28a64b203d6b43da281481bc4e05cb1e6c55031162afd482fdb7dafe520f4e79431cc956ffd512c68400a705bd4598534328a90e74ed4980a5bbf25efb1b02d32dbceb4b7593c1fe386d58e955a522802072c4ea02bee12ff5b76d5a0714867\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 9e97021c1c5dbc77cb54d1e88b29a02102b7f48e1f94c6f04a8dcdf19f54a72aca26700ed01912bf589e4dea8f385eca79a45e421b16d2d84527428537f4ba4b064773175aff9c9eaa6a6ea1949c5e698fe40de3d04dff9dccd4ed9e06a68bd2e71c6a4ff42d53294b45fcde7517ed378ed8c34c2273bb01c0773af8bdfb7b13e8e38f3cb49965c757f7718104786dd86c10b8696796db7f05dc2fe2474c0a57a897411aa7846919cd4fbf094c5207503dc8a4ef8966aee6561a43784b0ce06e7427429fbdb6c6e283a6a7af3af7a78124ae1ae6c57438d69b050f80b36d6cde6d84fec0bcff2196ea3232db115a3afaacb227417f0470f505ab849f1513058e\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 7e5c93217161007a38889a0a43234def7026eb0a1259be8c7c5b2c94074c73c8a9b2e809bb635786a31e23cb9737c3ed87b113f9d1709b30240d0cde14e706d02e26f5dad1da07b7a47c21f45223e2946ce675bea3b4f1ccebf3d8219bea475897c5484cdd2558fd6a89a37880a3e32fae45e752bef2cc05c64f45b6bb30da8af951896bdd0ecaa6bff1963a90034f5ed4e45d3e89812826813ff067eef323c9e09943b25da94f138dfcb40457a1357c54ecc0fdd82fea5eddfcfaa86060feb1530d8623625c9de8bb506b13ee55cd29365e424240d8dfce15f09f98bb6d2930697841c81b35a284958ba6478b1cd75760a26a6d56212e83f38c1bfdb1240bac\n\n# tcId = 215\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = b51fbcdc6eccb38cce3fa3cd271b9fa5930c6055a58c07e8b14fe29d0deb12ee2edb938bce4738ed5b28509188c907f4db14d380350de48333c7c2da1a9e284f533eca457dc6cbfb62796883a03c0e4bcd7bc60099b719a39d6b8b2609cc831661da6d84d02b19bc35b00084093225cbe336c34af9a818804ac9440179e19942db0af899e1045a035fdb24414c2a64a33a8887c903d4ba7028598a2c120a7e3da30e4cfbc4585babf11caed778b0e7cbc5198d281d5f82e9978bd8f620b48315a7e6abfc13bd83d0398d31fb89a0c8a51321575ab9a72781ba420ecbbee690604153b38bc76d00b615f901075be5305a2e78713194a36c443c0515166d7718bb\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 40f3c15a900e707287238618a78f3c1df4f751792bcfed49e583366a67413267b7022ff5668f583184ff8656fe1c89beb4ed5387fd92372d674b433f9bf0d2132c59db6c5974b8514eaa4e1b28a735c60282329f0d47052178ac07935702c7808285872cc498896f61cb887aee1a3fbc700bec4de4894274a6ad8f1842d6b87b31814dfee5688d573dc0ac5531921fd7266e4b07b26e56a10616d0027980cfc781c6bd1c84a7b104fbe9fa22377fe9f50b3caa1f7ffd4524f96a35e5e5e00f1e0248d36fe2fca1e1f21b0bebe1d4d9b16c8811a8b8207e954bb173cb4a17e8110d3966da35a491cb15f08130222067fd6bb6caef8d5e77ba7b4da52c302a6145\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 090d7a188074116255cbdc8a8c1eb66d5224b045d3420451dab67b2d2111bf7d", + "d145d522428c2e9e71be74af29f8e04d88ef46ac6b6dcddf2cb91156278f8b9151d7d5fec55224acc9b4a015762c9cc7327a16ed21a060b1f17b47d23ad66a2e5276524af9acc652e48d350409a119abdc73235d9de02a26964dff902aa1bcaefcb2b3e1a8394a50acf4c6fb503da872e9a65a220b7c1d31496ef10c2e27c00b7694648c60dfc5f238c7ca3063cd91d96d6617d76b0fed8da990838cb7a33561a7b61507deeebb95cb6a455b441305629ffde7979ac76c44601081f8cc425b346b08171752d4b3f711bf979a657e075e4924b73f011a0ba10d034934f8199c3c\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = bac5e1663853e0a4088543eaf4cdf36e8b1ec7b52fef42081d31e3f294dffb31276834807c4719a1cfb8c7ff8db7020b72058d4dc481da66ab60f40db119cb57b66726329194f8a8e2a22499bb53c1346778b9a02f92e015b82b4ef432a13c51f93999fd3bba3723698bb0724b2cc5f91dcda79e29c5eddad80b7d4a08e3c549170952eeb03188dac1c81bf37dde0378f66fb81102aef841a9a69743f4c78a8e31556fadf5af56d81afa825d37d2f6d8516795abb7d5804ebeab2fe2fbafd5ae355dfb9864c996b147bb5f1d8c1b4ccc3040b42876a27c83df2068f1ae264ba557a6f1c5e0436c04fae398ad4200f5d1d5a872f771934d4a22a1c7785d4bf347\n\n# tcId = 219\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 83a66a917fd062478353636c8a55eef1bbd99fe82af9305ef6e9049d8e96758d856191bc2fa3226166670502552d6a9e2a62a26d449b31f5905a34c1199b2de9fa37ba9970d1a00baf6b070b92a59054b12d83517d3fe5ea4b07f7e234b3cce16b2783771d9d6cca2b7c6477d695fbc2566e55feae9c6dfc183f99b7e27a964a6169e6a27b16c6e51e1e4e1becb49f48d3f225214db85f5b8f729f3811ff4497b517c4bc0111396692e4f438c9a8437e62ccc5fc44ba85d6315a63dce77d13e54832835281982e722d3eee4f4ccc4c4112e881df0900433ef46cc6134dfa75ce7da8c6f96729760172cc613cfcc89ae90edf1e8126f39ca5db76f45eab8c20c9\n\n# tcId = 220\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 60ed20bd7d6f5a7e30cfce9c7cb5686507fcadec04b8c8aaae94353f83a5a857b305aa837eb818e11a350d1c1f1d3b40581118771f57e987f1b9fbfe5335a5dec435982fa37a7921af79cf52d638a79fa13fd6007deaaf9cfb5425b7bb99269d464e4a342abef1be23f5c6383750c6563caafa863e82ceb3aac7d66e38eba4811944dcaf6bc75e56bffaa2d1070202c898b381cdec53dce38601c196b40e1dcaa5ad76d7936be573fd2bedaa6ab98dd5cdb1428d36ff98e1784adaa39d3019ba7685c4ccecb18dcd7d120579b8c7dbfa3334a65d4fa7620c6d57ed256a6ef49dd5a317675c6fdf27d6e58000195c65f5b41ad81f866859e2c6adfe7a8b444865\n\n# tcId = 221\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 5c206e08becf1abf756f632e5a19959a8f91a57bcf02a9f826555d924cc084efa07cb56d0ac67921f8d7c40155137685cdaf3fd92938866210ab9674cd451ab7ffe6c6e6c4c079cfb14df12a169540f3561a410a83f31eeccf0b2ffa5ad426c8218de9c11685a4352aaf076c815a8cb750e7dc3906eabac30e7179657054cb11f04a70e9c07ed8ec499a274001c9790ed86a3ee1060bafde5c2ecb6545d2e19dcb2eba4cb16e0ac45723849cc5ac4d5fbe9dafd47db853964b90b4f20ba2cd1786ece2e8a34da5d5d63cd5e535672b34158ba66adc480c5b78e70cfa9b05b506abb83e03c7f3efb25013aaa0c35beed9a020dac6e8bf79ca43adaa4eb482f0a1\n\n# tcId = 222\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 6e838ff1c850eee3039e4ea545d9197b3f4bb810463d20759b7d5bf82bca07f8f82066aed8370c848ee55474fe61b8e0d83594d97a499123b468277c6b8eff5b9f124f43766e2314172a9c6864580fd24f4cac27d254c0638b15c0984008066340105d339418aba4c25e604992b70da5930533e830ba1a0cb9cb95505b25d4dce8b7e62975cb9f5a3a6bdebbe01a868048665ddf64262d55d21de69c6cff62aa7b316993876609eb1842f56279e88c238836ab6360520f1a81ac2642950293aafc945b2b9d967aa6e0ae09a0f9859a773b0f7ac0d74adcce5aff16b450317b2441a8b6cdc3c0c2c527ccca0f2a1e7870ec6e582f0b068e60a105f4c54f014433\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 5f4e316d08081fb15f407f929883188cd7ed34b98fa2fcf2cd79ca01d83c86af4b122c300f4e4075cbe94c8b10b573e8f32f8dd24b5ba74f7ceb9583c562bd966d3071a56d4b815c285e16d15572f26ad3656bd86465cc2d1adcb4ffb0b323c1c77b3d4957523d76d82b25be35aa6a4c18e53ce056166aebc8ce5538f4e3ef33be60373f797fab945368e946fe6ac51516ce38ca46d86077c594e38f5a80e2475f3b929ed320ec43c12c12c297a6f15d90aa9d82321ca9a4ea7d147328ec2ab031ed9486dd889460f800a94a99ed2ee7a09c88f4dbafa1b462cdf42840db943b0b952f574a92c972af4ba04eb59540a2a02c538007f147769e238356a218ea09\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 7cce1a56772b4dcaf1b2fc68dc8300b8ba9cab26f96841934b207590f868a2d5b0ab94d9e31e2edb1fa2b8785c5255d175f7c5eb3ad81d20bdf20bc6f8cc622529ab26688c74015d74257c76fbb3faf101db3823f6cd164bcf6ad60c3a80ab95dc400d275348d7d6a1f946c37b8b8f38c44ab05198c5e5ac32cee8b8e9b4efe4692ccbde4acfce1ab26cd1d8d10c31929d8ae3b0d24b91e2094ae967a42393ab198259230b07651476208350a0a83de06c588f77e4a6b401bed5339749ec26231e7fbbeb690d3d29b3aaea38214b3ebc3707dc1742fa373da53d98a47f3199d0e948f285edaa9d79fe819f8c37d51aa8a60a8059fce71e80f3b95364a0365823\n\n# tcId = 225\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 654fe698ff8d93bd6ef88c6aabe684521c451e4dafac0a762b4dcff7c159c410ce7f1ad7748b40ee4a97a72368edc33d94f024d83a2eb1188e48fd355dcb77dee4255c28a04e2b3c355e0032380336dc7e2de43ef670e578d1bf75cc25a3bbc169fe70b3d92d187d8eea1ad894ed1caef719353236e9a0813fdebef43f39fef0961d606106fcd476f0f51be3c202555bf96c4d32bdbf019e96b4935c03d0ccca0e62830bfa344339ebc679d90f9bad3eba617b60877acfd9563b413e4b7764ce9c746134c57cb40b7d4160fa26a5c8fa44f2f12d8a1c934ee6bd140bfcd61c560a3f8186da83d26f0d733028c6e4abcd8f223faf6ee371b97d765cb799e0c1ef\n\n# tcId = 226\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 61250794cd149921ecc1e182bac8a1c378462f8054be355d6bbd7159eee35718da038516172d30ea1806a674358a0474bfad792d1b99e014871f5d3ea1b818a1f42750aeac438b37e265119f9ec2ee6c6d26fdc17e080b2d7ad1ac5c0da61bc55ec89a2c78897ebfad49dbe9d6a0d6eea9acfc083551675b0468f78e5fe302298e97280995317a9ccfcd60fce9f6afd9e465b7934a2fbae4fc63cfcfce903e02f40b52978ed8ed01511576c54d9fa33efb708aae9854ef793a0abdf39a68f330423f79448de62ddba7bc8480186a2afea384d66b58c71b1c1b1aa905af314db3ac9f20b1449d2e5099c4a17ea0f131d3fb93fbfd79757025ed7c96d14ddbce12\n\n# tcId = 227\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 1927a8ca62884d8515e9df565abc521a1c40ee409a7aaf19368bdc2c24f9e0cbd1f6a144109273acd712cb0e34d367d76800dc5f0ca9145feda1c518cdf7d07dbef73c189db35220e78c46339fbfdd63070d47e2bc1fd8dfa8b5bb08db1266960951da2ddd16a345c3d34f8bc59622e940a8317685a98f5883ce155471d6c96605b285b754032f998f2e6cd62139f75cd66b1822dce1a10b5af8c22d0931bab50ea1a47230a2dcdf77b720411bcc64c88efc0dacbe8610c359575a1dad37f923a6ff44b493a3b5ea1ddf22c205484cbe07ee665b04e26f9bd7ed62a66286b32a209fda6b5df0d7df048c400f27c493a2504bb1b10a20fc7a5566d2c0bbb3783b\n\n# tcId = 228\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 89c981b36b3a8db41f0282f14fd9cad08d7c088b56aa16eeac5f643e83ff68d165ec6790a5c195bd37ca3e6d23f8da5187e866ef44c401b338337bd4f9312e8e87b019e89814fd5e24d322630555cdf628b56f93ef81c435be13cba6cf91db2c32eb6927c9db7f856a4f86dd127e9cac8159a990cc816edee7e8c39f06eff4c72c8128d2be37d2eb2247a9d709797af04bcd744d54741b14ec0a5b7b1583f9e12063521d1e7143690fbfda7cea18451599e76e7c2bea000ba9ffd5b8c547c4c23e8975bc6ae22eec79937929487e0d1166dc7ea9f6a1e71cef41e704e89f2d01b7a81baaeda1738756265573528a3a495919dc65abc36c9aa246691fe0aede70\n\n# tcId = 229\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5\n\n# tcId = 230\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb0", + "0b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50000\n\n# tcId = 231\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 232\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 233\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 234\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 235\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f4\n\n# tcId = 236\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f6\n\n# tcId = 237\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 32f5b016f20c499f3cbe5d57253f464bed824eb521d191f3dc668eb9da87c8725a012e7969756a5ed530266f109a4666997fcc27419c208ab0b40cf42d5ae972f2dcb10fc3c8cb60f10ceb8f44394d8e66633f7846f1abb11c581a4827d5606558bbd7fcb6263b4c877e1682773fa94f1a1dba167befc444b89975daa7f8d30c6dfdfc397c21db569f887a9caf74bd8810c6bf8a80f38d2267295c3e05afc3699abe11cfa69dd385de7da73871e4c16abfd1ba60abedeb54eec3763cdaa533abe970f75d63d2e936e75bca2d1b467e42490065644843a509d2dd58d178e28a435ef4c48f2017c5f7244b4d8a74fe024b513cfb36dd2d2dada6fd5e8975da1595\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 3fa351c977a5fee02f875bb284a25bbde9175cddb79e53ad79b76b6e376a8967ac81e6ffe8b5091b4d4ffc3bb4394850eb912d2c98f60ab4fbd24e0b5b28b47e456d36aec7c11fedfb52ad0307ec24380ba1a2323e7f5786f655a6f6f6048a0bbf6e4257c22decd00d55556d06bcc138eecf2d51f2353df2c82c29227890f235cf84495febac0b074c35a072cd97ff206e3fb534de0315afcb4c36918ed8e39e84c6a1bed4941ea9ade58d45ea215174b0d45700918e9a3b44c1cb91bfa52d663ffd04dbd70889b126f030ce53e613d47f7cd3324856f1c41286d6ee16217b0fbbfc3ffa4ad4f2d323ab36fff4129cda11e42560791141ea22000ead1e2538cf\n\n# tcId = 240\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 199e5b886bbbac2fca6542b31726326be09fa9b865fdff482ef32ca5e91ab9b8a594ad1fca636c08d5ba242ee503d0500574fc07dfeaa2ccd6b0ce2cec51f3d97512e89494d6a33084095e1e3afcfd013f95952e3910b74f467d8d574917d5e0086973dacdd005d96e0cef0f6f518994335391238cadadb5871095cb399e2b5af51e06c00d2b78ac3b10d16e2a39628435e523f54873265b97874ea8f3c44c0bb331167b66ad055cbb6e236eed72a80081ace11bae8aaf39297587e5be4338f3baaa2a6623a9624162ab581371fe58f0ea58efd68465451502ae27596cd58fe40a841be295a81df636bfaee16afdafb01dcc717cd02b6065c1e99bc918f90786\n\n# tcId = 241\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 7e6af5ca287a5546bc76afcf42b1d5a8e4b3c3e276f6a56bb643cf3d84995437e830bca498c651b873b48c39493e71c6fd23eb76bd0d7523e092ea4c8f106a505f52605930b8ec244ac9b02dc14a089882462cd947d6e851d6c5999ab7b5325afb1e7c3a75f72064f6a66307dcfd98f86d8e705ac5d44d5a62023d97ebf9a759c6c657ea29039ee63370344610a2a072aa459b5309fa1ed4e1569ec40c57578166ad80a5da0f3b6d4f48a9c5cde4435d8edd5d909fa76228d8d7ae71ec5709ad08c24dd49280308e41339611df6f2e339215a70b901f189aa747be01867b8fdc08ba7fb0a867f3ff0e0aadb123747000db8d171b9864bb95885e912f76b3b21d\n\n", +}; +static const size_t kLen150 = 148331; + +static const char *kData150[] = { + "# Imported from Wycheproof's rsa_signature_2048_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 095dad1fd82bcd36652a381b7f4dd656bd89b40aa58b56da4f6aa8247874b935e65d2b86752d537df7103884d39dd9ad3d65f87404526b09094c5615c6249979b0dc58d2199ae8696a5b76b4bb03eaf08c2ab6aec686c6b1b289c9b44f648bd30cb1ac6a64a73d68e59cd05e7aa1b780f4bfd7b83dfe3b884ec11821a93dc5bbb47a00eea4557b6b96b5656276001f1f295ddbbbc511a99b9a665b9c2674c8af0d812286d0be3ce74817ba2cad283757de35dfb149f2835f60cb03ff155524a57f78b148feceb84cd20b0ae22e3e48f433fbd9bfd60be8afec93165ee0310be961d3695f309d031320c830aa6ba08b5a51d943797097c57630be391bd23736cc\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8a0e82d4f334aca72a718b6f8f643f69c6048d619d5eba71263a5d2d3ac7a7af133b780c7595ca2c982c006e861948f543cd0210c758691f9626842c25de2843ea314ca8eff285d47e0cffa54180af416004017034962a80a5959c3d3f1bfc154a4824462a93c014f6dfe920824f414a6e30e0e5944d480b99949ec7bf64c4a7461575933b17d7d6b0178b5192392ace3ed8469e8ac1dacae51ad5d3ad73dcb213e056d04596e64d8c0703def3110c7cecc93ba8ac8059f0f3d66b89d8712c62b41d407e4b4a104f4569558b0290c213cad6d0653898b9df8f4a453ab07d13bfb7598d505abbd0c4987e4f1ac66e1a523e113e370ab7cf990f0cc63f50f4f0a4\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3a380c29ce2f304f33a08aed4bd92cc6e8cf56596928fbde6b640cfdbe1dca564cb01421789c7fbb49856bbafb34da6e1c8351fb12f79a4614c33e50197939e237e0b987efdbc042bdd09073f02624c520f1e9524ec1cd10e917b9237166e3689afb710e6c4ef644e08ce866da6dc8849e0b2b4c6615b0aa803bf112e9a4883c8e60660935c43fbae9d939fdce49af603dceea05246b220a5cf99044f0c09dc98f3640eb23fa218d1421adea7898563144085f2c2d1c113e7046f80ff359b2f65742c58551ad62eb6dc6e7465553f7080fe100fcf1aad89fb079bfed32c8c4c15c84d2193de22385df91e9825717feb5209f1dbb47962df24f3b43c114417ae2\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 8d9c25235cdcdcc7ca2558c0be14f83afeb303f00c13106ac5affc952af527a0585cf4801104a7d019fa2e63fd0b923c061a24b8be7c3105443c8eedf4a033d3de802adfd80f872d3c505f41e3feb116f5d5f31f04df3e448bc7e7cbc2343f7dd4f4c3d2670ed3d3c66f91d626bb12a2001160a123d03b77d2a6ec53445db517147171e3ba3cd7dde902c486c74e8d8d33d4f7699791179d1df4fac78cda67da9138c18f2cc886", + "3018e1739fb309408c62051b715096512602c5c4c7e7c394282593ec087832fd48b4f353d8046600e4152c2092632a79bf05497a13840e171047d79c23a76896235e9d5f0f56a78d3fe472fded2899e228f714690b40b66ee7\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 884b4b6838fb629fe42914cf15257111b502385d71dae543d03597a46cb10a6122f6d539ab411161ee278f16cd3b5f4bb7dfea0f907256d96cbdad1f1fb40093e9f5c97880814d86091bfa080bfaa5a955af9d15e9460610d4c859332c5beafc24fc9e02848e951eee2797246bef20dfb89e8e949ed52af39663f5f088690f1a24abf8a8e221582282127344bf740308d146d6d16b127d1639071037fdcfd630342ac134ec24791cb8905b77dccf45eb3ed7e9b2e72e60b5e19367fbb5d1c41853d79965530b3181e4cc7c24b198a61bcc2e63806cb6b3c76757737e35066b7f1bf0dd709216fcdab4f35d550b31ccfbda9eb8165aa78ba4b4e66e316ee07282\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9947c137ebf7013ea9e41f1ce93fd29022e340e6ade56c1119cd826430acf9833bbc1ed05c1899757a79d3104c9b4133ff0aef7e1cbeaafc2ada2422bdf9e29926626527f947124d5549d9f4fddb809f84923aa335d331c392a5ae5e29cb0f503e230ce7bff114206d5dfd51b812f9ed5448d9100125a8cc2324e560c69f4a492988045c97ab90a2806df900c3b95ab95bd634dd0a50edc5312eeef6463bc4b62e54261cc67e9cb9caa9a0a7550183c9e03f26bd5c8718dd77f54290b3a27a054d7d3e39e8cb45529d585ac0e507b8688219d2b8032268020b68d2284f9f743debab5cd47fb3fbd77fdfe3a9d7984b11a37cce190ac89a472578a3332b150f5d\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 259cc7e43882850415f4d7f2321fde08212490f6e9929c37c6a60cf686eec1dee385fc513f5e4105f19f2d63565b2d3762080634306b4ca87f857912bc062f31de6cccae9b48213c1b661ec9874d426d74e4c23c0ca53abc8f7bfdfb9d32dc6b5559f6aec33a5b9445ec4490302af6893890f57969de00287203d8df9a511b678caee2a7d666d9fca912826216ae3c62a37f12dac1412100c966ec7c8ff347eb79566784ef86943e999d0d1aa46fc9e5b90e9b91f4d16bfc2d5b9ffd4515f1d23cd0ce9612d19c28079702e1bc96b98cd86a5708b9000a5d61777a92d7d033557492f9ab1a4aee6719dbb14e6c3b4998480a8d49013898a5418bc8c63c41c5f1\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8965489287b5c6732e9269f3ea349830169f9ab644076423519bd18d744e9547dfa82d9bba9a8cf4e1ff5bcd79ce2c4168a8b6b1c7931bf4eff64dd18a1728715274a735b9f529a2fe7b02cdc2a8740c2f16bed7e0ef2ef003089a30937f04c2d0617f70db8d67ae9f6200b8279200a21a7862b7cdb406d4855d8fc950a10d5430424e4872714cbe07ea03f36689f756ae0bc09b08cf1f3343cac1e1ae6f943b5d0b2a3df116b0bbf2d433a8c03fe27c6cf2de2c0603b2fbe174a6a4d0009248c0a04ee4b6f393195955ba0818d5e3abea276d9eac469b5eccf6b37d42e38d840513d7130009bb93fc3d208b89429d053ec1fb5b635e6240b3f0021c7a243640\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2503d3586cf23777bcf02ac28f32daa1664ffd2e2bc3c34377d80718cd02195de3de6d10cbb057db69ca2bac07881497189bcd66b181972aa8def94a879dfcc1175aca14781a2abb39cd71569b721e69e9d9504b4ed54a58a4d8baa5f17bcaa8ca9524ed86cde37a86139bd62502afa770f4eef4293a0ba157968e42e77dd690a3920311d24013522295cb726e006a2e7f26dc287fd2754087f784151ac30188937c99cb20ae8d26db527d5dd3020742e8964f518bf13bf2cd36d99eacb1c81a6a9a46155894153d3c1a98e7671233febbf4f30bfad312e0dc4a9520a97098c634966c204aeffe7e55543a436ed003ce0772d9f57c8b0d3164ddb785639314a4\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 129990973396b70468d380897ccbe6930a485460bfc199c7c8efeedf81c7fc6a98f47c0afc29546c92d3ac2d93d8b1c6909642757fa52de1375867a197dac0ee58c5b62f12182a5b4e703ca981ad344411e2dc3aa6c456dc69651cde35bfe136ca323753137b4a28571eccf8d1f0cc4cb4977238dc33827f1bf670d938f5b902e6389c10b564608b396feb0cdca57f5bc3ad6bbb2cd324d531b0c5538de37482a09ce103ef6399cdfb404021c836151c81adf6f852f9a96919e4e78ce76aec77a48bc5eb224a3fc404373e28f07a1488ce2fb3181075b852a87941bd11735b3cd6f5bc0b660031fbf7671d3bb4f8c9f653b8c36e89320f7532ac0fab23dfadb0\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2a004204ec4ec1515b855f1dd802299780835fbf7430f8f5861a4c6d86adaf38159858810d8645a3076fad16d6daac69b942890d6cadfbd12affcc3d3fad8f07e90c2b1e5aecfd9716ac9a12349e4a4b29eedd9bf59d875cbf028bc9a1a0cb4f5ea77b7ad026f09a208d3d39477a1ab59329cb64e9edb6e7e552b8875a73490551df742ab300f254b7805b4a9ad72b650ca944289a9c7c5223d760baad3dea1fc36d2b5961684840939fab0ffaf7fbb7e181ce3b92d9f7eb833235d97431b76891ef910827d110ca9fc88f7e4f98e84d00a98a1b5c6c70d86d89f56bb4f33cc88936db2b7f8127d11cf94d91f56a07aa7880f6a7c3c25b0df691d8657c330a5e\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 002faa1b204fd30ee0d3d6d79274f3b498f736bf6e6b34c0ec6eb418b7a4c105c1a75669c092f52fb1d39b2247a8d5692aaa44d4a4d70b8f9e636dfef370db9315fc1b35434af3ca21afd366c3295424bc1230a898186105a07788b92bd42c56d5b66a336fca64fbe58a843f391fcb58588466e0ba484502aa26c50ae35585eb95fe0ebf248b7a57782373cbac21a00928a091455347127910eb0b9ac35c1bac4a99eee0b718550ad282b4210eabe0602823209902b2bfac9283baac38940800515877366117a2d383e8f0cd09de7c946cff1eada4f1f97c44cbb3bf3562ce21af7f499af8ff40e13b907e5f4d1696dd52e3726570228095b89d4ed958e618a4\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6d8de4a2cc01e33812da2d364cf3cb4fea7c6f37b4314c123eccbb2e4e9ec5d593934c60dadd5fef2a273d01447519573f701d398cfbb72b0c19937e9f7805fc4d354e292c5d0fc18bb872f6843a9211802f5980538ec6b100e3b2b744693a9b8d07654d2655414550a1645f047c865291ea8043137758a13dfb1652ef7dd42182603ba597eace857f39a0b7ea0c9a987326f55358910cb51e4141653e9f3c3d73f09686463433520ef0786163efc39bba3c62cd5c3599678a28b90470bb6f19fa1a56cf60e8c3465f8d7082728c20730227a2a3d2a6a4cc50fe0217f35a45459809de1f921ac5b6aa833a85bda15e288abe640829bc4a0af1aa9b3692a414a0\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4c698321f4342f64a87fe6b199d5800af12d39725e449c79706e9af98b51a2d0d724663ab87618b06c49d3c1b98d97db35fbd8746c1d9a61f31ead8893ecc072057ad4004a53009703f66bc2b4fa7fa6826f54e8b873c79bc19ef71fe61a182a8be6cdb6dd35d87d1f46746022f98360f3870f49aceac4bb1a839977af2096539a2d182dfc4bd97af34ea075ba96c39c4a85b3ca83002f97e992c110d40cb6c668eb9fd022a4ef89988095e8c513153f99e37d9cce75a7ffa0a55af6b7d8314de4690934d55895b99cb0882adb346feb8af0480a4fc46251649d6cb2e4358dbadecf27ac713dfda9b8f40cfecb642b39bc1cca681d5628f4fd30e8788635e937\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 43fe92f5ab6b2583fbba40b493ce45f9eb5f9e0254c6e2547ed4b9543a2c3a927d5b9c1c12525f4f94fcddcc4c586f4e16626ef48fb0688e07eccf77dc65a26c28f374aa4bcca05c72555e7f54d896065f3d44a728bd2ef9c8adfa698b963c16b13c1d5346457beb6a66c964330e0945dafc5bf75f4ff26e84c0a8bbc854c6c877ffad409b11627ba951181939ba9a2e28764de34704a5575f43f70c3f4bc5d74f4d651e25f32fe238f193d4ca55c04463dafcc2bfe50e017fe9d3bd319311bd2d972f5e04d8324a4b26842fd66115ebd139440fe89bdd55d10e14aea5d9e3f6a5c5fac4acada9d9e2006e6a0c36f4b94956493c9a582eab35c69c9add972d40\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 64401a452e3b56bebb1d5f3cdcac3dbb0a6f6e81bf2fe938143b9df7e8f6380687249a0c30a2bc5ba0fdb1e4d0fdecfdfc74064d365fb8dbca0cefeec0ba6fb4f775b4650839f03dc681c1f78d298f6c789ef4734d0a3ceed09ba8850671911e5e68af41ba2f37f3e56f7864fe4775ccc6af928876290ffcd20b988540c0146db97e333da0eadd4772cf15cb494e366f1f3bae740dbc69cd339a5d1f8a5e608cd61eafed4e85886796520ec5ad7240d11f1ce25463b57d0723509fc368f8f81a6c63ed2c61a216629dcdb9fd226215f8b248e2dbab5cd4f62600fbf921f4fb666384333d92251578dbdc5dcecfacc2c4435a211cc984346bf254b7cd52aa2bf5\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8998ed832b496be462a431b1b32c3696374d816bbdd2e348d98795a5ad27b02766aca9b161d8e8c94370fa38c56ab0ea9aeaa0bb37fee33a7bc27024024d321b25504874343cbd50dc31ef1429b16e2ecf53deeef15b4a8e5a447cc3f1b212179ccc5ae4a62e5af2127c02e53e8a23cec5f1863ed53e62f472ea65d599272a5e4c0a0802553f31dd22103b7fb7155fc8ef4a3a7061f78f6e72c265e561436159722da4b8850204a7d85f7d45c18f5ed4e452cb146c47963e38cd29f2dd3652720fd4206bf96ba2c7601895c8771d1b73f03fa88ecf81b8a8f2f290094d85521048ae0c097460cf8340ab32262115b5332abd75950d46ae77ff03cb618dd69e52\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 09634aaa108980fb190dbaa425d9908a4237a2531c6471ad47dced90ff65e217baa0d9a8b5167d1c07fb414c88214e6caeeb6", + "a1809cbf28f9c6083bd54cb2fea79296ad2dc1e27de2e96c056842ad7694391b40c6b6a6693c64fc1e3dab13185f8c1406ad4d2c39a04c3f6437519489b3d6185d9415d97e9cc405dcafcd488cc4b93a9df5100c1fa8dd31c60575dc64067f2fcd26d1f5c44919a4e28ae00688487c279130d087161137d6fd480111d45b03057bfb7f79ae75362439775f28e84839156b9f1fd1aac698f1b1874ca19964d30a725e92d4ab784b8da18258291f86e0116c9d3d4be6931568c109068ec52af3a26aed5ec136abadab1688f06488a\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4e63d527dd005236fbe35e838f51ffb09afd2669b684d9bf7488ba49730154be9147a63dd33473ebf547272cb6105b114f72f544e4568d45dc814a3c5250acbcbcab008dcaed3458e02159bf5be9e4b20420f9e4c075d27bb980748528327a1bbbc93f63db57ab03e7fd86c61db3ff8c39bf7d818a26d573fe57f5010718021e45299624e25a2f5acabcb3a1ca608fbde28d13cf74a3f58d283fa5a41e875854cc480c5948d2c0d57f2b857988a28e34a7dc5159c86ae1f970f3e318e9dc9d29641a521eabc66353ff0dbea4f237bce4ae546b8d05f6ad19a4ad8d4cd086b22458b311eb970ca33c484f0b9dc544ed4ddd88e7f70edc32702d66ba570b749428\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 467e9fdad9a1f83ffaf7622a156384920eae46b89f63c3fa61c5066786c34108ff73213ffc7ee9102f367726854aebdd9eaed49b32c88517e136778dcdd7e231716bd618261615d029241a77f148c1e5e39777a9f85fc3d4e9320f2455cdfd3280184ae17e35bd9be0a0a0d1c2a2d321a3bc86588fce12d929de1a2f473026e0920b1cb8b6dbadbe3810af22a3e95dabc9553733afa026e0c7847493182aa1f3057a3b227775a3d7ba139c1724b3196f6300ca4ef457c2bb3f09bb2be6fb4e7caee6d4502c962291da0e499213209a28cbf2c4adf5d559e44075631c3035990aceca49bf6161203390509a80bcec1d274f1e9a1bf26c9f59244a695adb2c5fb0\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 063b7dddb7483a77af978f1f09180b98557643574b40522da25e8636d5e5a71888c79ebc5de9ba6ac0e4c30c8dbcc4399661b117e4252d980822cee7cbd4d2aed3a10f91011d11ff92228d02393cadac68030123f52529d76ca2d41546cbfbfd28a43c5d52026ff582a6bcdd10a3dd944fd7232bb950ed162f8827a5625ff322bf98e079dedc770e4d586a7f28b4e19452a353eef2defdf56e0d07dc2fe5625d91651629c5b7bf6e180dd27a1cb51787ff264f0138b46bbbd32c5e1ea63722b4baa8e235f27e283ba6c46f1af28bd744e2db92e326ee7139b9e5370fa5b5e2c2bb79b60c9f9e305a8acaf29340edabf7531d17fffca6f43ff07ef5cccb50eb32\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5afcf0d327a427f6d51b87aec24789fd7ebaca9c4eebcc307664aa6e92b6acc22b112faa3918ea3ef24552665965842639a532a09b914bcb3b953a0726d5f88eeac1bf65bbdec56d55bbdac534da0f83e182dc8cfd6e9a59095bc82b5f0f5f56a1163f716ce722d80394a712bf0d5d24cc13961079082e4598c8df5510e20febb3d1a778fc5876c65a3e1d3700ea537c8d67f7534780fa8d1cb0ef9c39e439dcb8a4c8b76a723ff8309e3f3cf39e6cdd6e52edca5308aa6be2628608d5206e82251f9f7cd711183f3604d83e1c23ba71041b92d33a695225b1a3f61fc742f969726d79504b224be259e9115f1988bca3c1e2b61541527227c3d629b22a95791a\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 543ffa8db719767c9eaeacdee487311bd4c1d3b6bca2a07c6a3989eaad5f39042dae40b45a9b5aff326a2994f36f0a2a59ff3d46a3d4abc705d26afa3cd35a35bb662292c6ae3a47cea9b32de37cdadf797cf72c7c62f7c9b61024ad8c7c82f5efa27c8dfac28840677116183f1f0721fa36ccfc13ee5863589b0433b20b6e1c954cca97b3796232a3b0b2b6205382de80db8487bd00b620a4b423acfcaad649a683b915de7caa65a4efa6b0a1249a6d90348171b816deb0cf8c99013ffd84b8ebdc660866b56545de6dc4aa23156cd86c5bf3d5765ab48d8d601f43dc898ea6e05fc0460a28bfa2a776e8917c59f02f1c8e1cc454558658768acfd717718c6b\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 5f912ddc495c20f1975219b0b5cdf0629585a98d5565e8ef2c98fd945cd851d703be32da38e6a376c1269734de5e72734cc685cded8a31d430f526dc3788dc2b54de838ce6514ef970afecb8bcc0b2cfe0c5e8de29d2a6c009813050114374e1db8d7f4cb714ab291a6095b7e2713a28b5dffdbe3ef127307e10155e0386e3af886cbc8e1b9b66086dc9c48d07e460fa4cf66197414a4e1a72f6bf09ca94964d668666ec1daeffc52a3384cb61abe1a4ee0c26674df776c7769fd0c89667a421855de0b060b169eeab02ce0005a1e7d7a126c8583da8a4900f14fbce7ec1b4120994ebebd3e97e0d9465bfb53f2ebef725a10fccd0359a2724a9ca18b2b7f715\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 5dec8ec2a5ccc79cec9d4455a2479f562c049430d572b98e5bd44b83ccf6a08d94cffe4699dd29568dbecddbd28c92c771e37e2ce716ab7455e4a92ad87f9e5b76aa1ef1a08e3a77633bc71b3756e3ac956eb8d5974cb50b88a6f49f36d5d0e84bfc4d379621fde3bdfebfd9cd916e1294c854330218d50aef788aaff97e68f7cdb2e7a12e8350dedad00a0ede2d72fe294effd152ec33f95d66fdc648904c657eaf6fb0c322f5881bdc1f16305c3ef90c3df597a0e75222b82d79f5d6dfd913b2f9620092f418a3e67c48823b85e96b1fe85d306f3653a799811a1ed3dc612461383a6c1eeac737dbd2c6c20fbb56567bf544d199a474bdc38621c8b9bc7920\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = a2ada8ff1c1821fadf49dfc156293dd59ac8f51367633f73d2200bbb65bd960f7b888d1a843920044ce98528773f3d3df57de92f129c03e1f6d425d39ac83978c7c8ed7cdcc8d47a778350f99f8fde4f6028d5ea77d46091f98f72279c59fb39ff8f73b35ab1c6748970d325c65ff49fdf833e8c2f40621bb770f2dcbdfc34fb22422f0105f5f582c90be73e664c215cc6d89419a8909f0d13f6535182aa567d4e16a2f7ce1e562a6cda4582304a5cef821c538de46c68509f3936166c109da8ef13f2000117644024ee1ec10e8ee4056879c07a6604956e1d03828dae5ae0eb60c322dbc6ff183a57b258c06a2b837021d4df94baab66be636b505a5a5b2697\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 743209d44a3c907ca08c0b236b9cbabcaf210bf522de862005c977bf7099cb7a38eb9fb15b765a044703c9410082b6a35a7866821f33bc2e2a58ca8bde08b78ff6b3c53e771f8d7fb43503d8060a884ff6012101278564edd6d64fabb6add5f4d4c62707c2ffc45f904acb43ca2ab5609a23daf9cdc58aaaa638f6325a54a5e272b253bd57246d0935bcd19c7aa31f878c474c8298ec567b6a7e165c2e7eedcc80748953c90d20699ab8303062580d4693c058ac761678df6c875bd91d465430afc93cf0bce027ed00a35842ad560d79bb640cf3ea55d8ade362c258fa707397663fec6787d44ec075d857a6fc55c50f8df898da77252d8903220641005177e5\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 098464aad869fbb37c36f56d750ba97ba6bbcf96c9e25d92fbd5778fcf214f6a24d1fa276a14b5945320eeb37dc9ce4cfdae21ba57185246052ae26718b549a59a81cf26387356b3d3fe39a45cf303741587e664244233fa2263cfc6f209f796112d61ca5e9f16e362765b0651e8e197920137a3842483772428b1088e7c1a7aec2152b62688c5655410ebc4907680753079706931359e893ac76ebce92a3572c7eb32c58b386d7ab0f3af24acc5047258b5b7c0db4c1ea4a4b64203d65aaf6c879ed89bf046ce5ffb1c647e95630ca485acc9fcd6beb6a5d17bd54fb518cbfa226d9738beb55325f1883ceebed860d54f5db3f1670ca910762d877f78af80d7\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 498209f59a0679a1f926eccf3056da2cba553d7ab3064e7c41ad1d739f038249f02f5ad12ee246073d101bc3cdb563e8b6be61562056422b7e6c16ad53deb12af5de744197753a35859833f41bb59c6597f3980132b7478fd0b95fd27dfad64a20fd5c25312bbd41a85286cd2a83c8df5efa0779158d01b0747ff165b055eb2880ea27095700a295593196d8c5922cf6aa9d7e29b5056db5ded5eb20aeb31b8942e26b15a5188a4934cd7e39cfe379a197f49a204343a493452deebca436ee614f4daf989e355544489f7e69ffa8ccc6a1e81cf0ab33c3e6d7591091485a6a31bda3b33946490057b9a3003d3fd9daf7c4778b43fd46144d945d815f12628ff4\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 4da37914ee4ecf0c0973cc89f9476e2d872eeb2fdb3eddf6fcbcad9b21b8eeff2dde26be6a26d5d5aae6300b4caf4f77f2ab7907af2434026c3369d76268c88b1a4c555c9d54723b17ac48ca1118d94e147a4c63c2c4baefd244235cde4f9c254bce8c8c21b45b7a2fd9d5971b21abad1bef74b9d5583d352ef67483ee611ff3f97198c023cfc56c667c81ef03bda4729b2eff85c24e75aafdaaa4c0f47419d8a63fb2ff72c074ffe985ec7f88bb0e93cfd375c656137722fc6aa45069771c6c66d4b109a5dfd8500331d8d840edf9a5c8024b2520daa56641ead240033b0aa300ff3f951009ac46a97ab9311f8af9467b8ecbde36c9744e44168314f092529d\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 1aff9b9ad34e142421069661c71e35b98108a8f976191b45a97cf12e8ae8ebccd64c0fc6a795f4ed798fa4a2f79746c57a86f894110c1a5402dd72577c2bd9817a9e7a1b0b7e389527428140d53f4918b305e154f7c143011dc27ddb874c52b57758a3f4ee4395108897f0cf7b4fd7136ebf991dd9758bd2cb85cdc6f9d96a40f8e6a0c12970c18325d5742b80ae499da45655f972f33a80373a93572fe302dca03cf7e004690618c5b725e3b9be6e05dfd0ab8f28b8b994ea202875268837d3876681a63e88a410a0bf4a4c41f7336be2799c6e62514a5ee0422cb6d5c57c2e45e9f96d667f8629e0987421f01a9391a3334d", + "c1e8a35425501bef6641f9e6de\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 7a1eca54a78ee1e92b8c29d667bc89e9ffbb404c5bf13a87a864e99c7d3089c458865a8e3ab714fd76ea4f01edf15e1f80fc9109cdc53184de1443efa533939f498bac27b0f127beb07e4f788ac5d9390da29dc156aa156d342158df68b825732a8d8e852644afd1bf230bf01c15ebced9f710f062b5aba0ba0edb2c1bf9f4fb453d6ba7cc9808d763930b6d8dabe8224db6004aab4a9ed4495fba8ddf371592b05bc057aadeeb3d4b800dc849eefca86f7414b2ca3af53e04b524ec566f646974c17acc6c76e66f7689b9824cf4f98f75de9b3997233cdadc1a79679c47dafcfcc107351f7e64084d67bb986dc2cf693f9e9af2d46c5f8a560b1c7ba2d3a202\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 0e6eb88e130cf0d79056bdcb87f016f99edd9f35519c44bb509a38cd346d996e3d9b7b21a40fc976a935f2904a6423dc0f251d8a89c4e1424d3312b1e7e0c14f057fa3a45841dcda2bfcf107c2103c0475cbb34d4c769e98b08cbd35964aefc3a8dc4178725c16ed7da6b438107da2488af8fd5cb2c15a8849a531e1a955c40cd6c147956fc3e8a15a1082e9e9a7878efab929c50d52fd6c14cad0987f667221a0c8ab29a682de04e437b20c82e9a759291dabd22fb38e86121b71b3ab473ea0977441db6b137d01b63e328412996ccb8dc27e57c8cd6cbeb31e321160df29ea3151f34ba36846495b6e4bb766f0bcdba00062265ad7d01847e22c06a463dfeb\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 755f090081189878ea1ad03070944d3466c773ffb2632b045ea28655c8527488aca42357718436f6c9222a16ac61ae8d752ea18dcd9f0c5370e76730c31eeb772755e3a763509a9126b64007341c5fa48bf95bbf3e3a9ddc36096625b0f6bb27108dc1c4bfa191d66a403e11df2838fd401215cd2dcfb5806ad0955edc2feda4a19e0d84968a6e1756036bf0aac8990d7b8bdbe45a6c0edd8f55720f105d70be7e42aac114a528f1b3beb81ae796d455beb05b4936ea3b0893e8c2fceb8a6b8e1bb6de37c40e4b3da2a1ebe9a52244a5f4bbd1ee201d218d3a120d6add7171ab56da3062de4952495b602dcfb4404d0c900144bef9d46cbce6d7ef936160342c\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 8083dde7cef1b018fab0e9aa58744a665c24dad0791dfa6e8fe3e95b320a94038926f6cbaaf19562fc53f3a69e0aca0d9780af9eb9267f19a081343294356fba81518fdb961574a7ef38625c201036ae954238b889c8eeb3677f7f9df07badd5f27ceb0ccbeaebedc41b977609f8b964f028454b4406e22e0034c3655ab499d01d1b6be0c19bfc9e4ee2e209dc033ba1a66b50ffececa532c2c806cd2ed2586325d5bbc57f42840d8df88636b488ea363bb7f3ec35d65a635befe9d96ce2cb8c4b7b0f90ae3eea677debde8c6b2f63a0bd6b694922ffcdbf8e54864f4a90202eff266678490e53923dc48d70e9fbb756536fe6196553c8492fb5ecbd0a5e66d1\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 85a965f4cfddb17eb81195bdcb081d307fd7f218de37c6daf043d1be8c9bdfa85b3a7a0951569e670cfcc695365dc45e3b9e44a7d79fdc3b8ba92912a642ecbcea85d56654161b777b280b46be78abf7f0ee220dda1ae3eb4e39fa7ae4d2511d4111b31fe17dfeb897bad9ffb1fb367076ab336b1f48530f7d39f106cba2fb8961e59ed3b060c64f5b2873ee51ae59526e782afd794905923c8753be18ec9cd3791e96eb00433548f2f2da478053c7bc222281e7342a0510224c9f9e53c082a11331f0923c44da8533b56563adb781c76f4bc303ac5754bd6d7448df0e23e41063992ce6abb3d31378be040aa815fcbfb333559fb402124c53f1a5b4e6fab559\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 51e52edd65ff6f2fb812d2fd4f3f9852eedd745630c9bf12e6f63347c2c80402ab0da654155046e4831ea02fec6dafffe94e6c450a96cf56831a0bf8e48b99456da7e17b9f642e9d6e033153f740095a67c86f5fa4fb37eec9cffacd7dbc368bf07ee00050606748dc887fe0778871ff64953c249244e78ceb4b62efffd2e9cae6803c25504a67fd94941eff1a320b1e0618eb9cc350d8241892adfc42790f24745be12ecdc63f891bb6c0066ee28895c78a9f1773ca527e976eb29abf4f649f83f0fdd7a7f72b7dd3343149b4c1b699588948e5508a58bbc481fbda5115cb5822cb10834cc01989264c79794ba032967271a7d2af9c12a493d1bf3c070b7207\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 84a55f8bd78994a9e204bf57292e1c29d663a8963c01225686cd646ff8b23f7ce6be18817bfd284d2649b075fbfe233a2f8cd59ae465af14602108da6bdad31fc97500f791ae1bf4459a4b3be350362b46f84697742c6fb6671533cbe73dd15304e7c569c673c799227a6523a54eaa4e4abba2e451c3f75cff2ffa6cbd9b04cf4a73a35e6bbccb4445a99a1380fbfc2cdd5fda03bde573b4bb88a205fbb38344648ab03829f4e3687117ef7c12522ade2ef736b24633ddefd0ce6da208e860ca6f3a79492bf4db6b466500371e40de78d5d2708c2a97999239e38852de7a02981203c8402274cb1aa24fdb3e2cd27a4305b15797a498145848e74d5dedab41f8\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 19ba81c3e688c41625d6714da91efb9bfc95a634409325f1cfab3dba44b807fe063740fae7604a839efce051d254af50efe044bec96280a831ae8e4e93a0d0611e0a43de6aeafeb3eebbe0d6ec74e84fdfbae3ac8cadf657fa342921274be801d05e553f589e8f48d2af38b79404d965e0a4def7c0975d6d9b5351ea82451b6bc26db3fc64729325b059f45089c90f5c8792933487d4c5317b62a02b9367a99e8d5c4148faa1781ae21200f1c39be49353d0976502ff19e08f374ee685d58f14dacf613fbb3a56ae3f1bff1afc060ba36aac11e2d038272c01c430bd463fcf55b311024cd7ce10bf59c32ba3d9943f75f8f76870bf0a8dc3e786e0718df3c01b\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f84141b773914947f72db6981d6d0815aa77fa8ffb0444c13b7612d6d89038b02eb60a7641dec20079d6d87961502330f228b936aba65ff8c59a651656bc3ad7a3131e55312d334da0f600f3538f3b65ed61a5d298e32f74453385d09ae45eb93a4d35ed2dd7a7497085d5d3a36e65f1a0bd8683480397dad3b304e49cee02201a9a1ca5b778e91e68ea35ff72827f968426465845698ac0999f7311e5c532438e8fb494d8d92efb520293c503cedac0036fb42907e78377f897bd7b94328f6a1a594ea2ce3770a49bff8702e534798e1eff6324310c6ecc71e5363a0b23f5604a2aa245808b72c9f6eee364bcbb22e8f144460c5300d3f89f3b8b6fd26c15f\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5e97f3122d202fc0c7688f28a0eba5f5ae8795438b09f6532a2bc3e75a164075146f72e0b3397bf086ec8e7299b67f5c54e4263aa0111f4ff3c16de9aa06682d63be4d8e82b5e2b3c15d913093e29ad844c70f9ff9b3a084d41648e322a2212463ec758823591117e03d90997d6264e5bfcc15b834ce7ae785bf22399a85fc454f6fe9cacae568e0d9bfead7ba998cfa1f25a1b7392edda3115801eb31c9bd0eaf6b5c070224fed09fdb071f87266a6247cc4e3c72c591c5a88a6b41241c491215512a810efa993b0c77e9d3ea4fd78fe9ed4baae8cd8d41196efa3d5f2fa2b4fa6c027f4c385f98c88a296cbc5c6459f91dee01bbdfa059c50b42639641b29f\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 8f32f73f3387f371465e3a75a0d1c7df7c52c11abecdb69ba83602c9f8980177e7df76438f2e95ccbb031e0ab972c30279dd2641e5cb43a24ece04d7477879bf989e504887513eaa197c0b5e6365ba62134eb51fcd3a713c69acce9332ca50ec1796d88ac9921631a1fa182e6fddbeecaeb9ec468773cada71f908915259967fd7932f41a3734f09d230b1dd487f3ba1df1ad1be8306096f3dcca684548bd458b0211738c79a8104a17689bef8bb9050cf59df1b0efd3aa3f203b10cfdbd3deafa36d79802126de196c9bffa362b797ccf253af546c4751b68f7a0b819a5b634a9baa6b981b1bc325ecf2b0c48c0463f85b02031589dd793eb682023cfdc7058\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2f02de916b44a1aa31811b48ae20efdc26319f2569fffe23d0734dc4f4085352945135b209d4609bace95f8b850146b35f703854d4435536d00c3fbd9e9fd93812b4741f64c33271c01ded56a6c103121dba041b6fa1ca7f9f8e26fb98c6741ffb9e2c7abb10d3581e8f0a8ebcefd386957daf36d0aed4861a2b480467eef8fe5109012b765c6219dfb260a2aa016432dfe74ff2e71c2a748d9c99e1a6a9a98659ad6b5934d7e538c7aceca9534e6a48d27469a6ad582ddd838f135a5fef309e0efdf815485756e7d8046e0db84cf136a725f5defdd78935047dbba4dcca1ba153c68cca59844e1691dcfce73a4fb11cc915a4ee9549c26d08a86ec51a69e104\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1c6cc57e11fa138c36bdb069b0787fb67a46c70f39124ab2aa2326386e0b055b8195897e024a7e43b7840df0c0d94459830cac7e33ec3f127cb1e9563167b61b3767964122a243e95b15ba9c8e1a992e20d4e70ce14134f932cb5453e795d84fe5856dc5ce39da38af6ea4b6029fafa7f804977ed075c30412ffefeef27277e541e3877f439e49154bf25383c9517162b1d6e469f5e861c385f2e8c45fecbd26504747ce9378f3f25a77ada8ba8343f50cb040f2f8c224d16834c6a4d97b4b8af5d1a08598e9b7c0fb1026ee19feb2a7063f73d78bb9cec8f499c4f66c1fe55049d4fa183b1a5779240b9a7c908c84ef1405e8ed3c53cafb92956d1ba2445ac8\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 077b81fdd849f2ef237cf278e10e506dde35069cc046c4d491cf74ce419f11e4cadd66ab1acb99a33f23654a65c860c9901ca1f8ebca29f0cd78e8eda1f69eca20eb12a6c1448eb679fe5255fdf634f3fe2e716c590b5345515c02636a4f2ba30a2b62efcf5cdc13a6c09757b2d1ebe5943a7804249f5ce9901d95b3030eaa0a2065d9fb5eac8006a176bce1f4ac537941c6d74c9dc73e85264ab058cf5043633535b09abafff891ca6a83c45a7e99", + "8de6c8b9b275ae9fd0e7e0ada7ce1434146ab6bd86a6eb790d724b8d3ff921231f92d5fd86f0634ec45b911b07cdd6f0fe275f22ae2219f9497db982e55033dd9867357e6a09a9f4dc281c6aa36d8d984f\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 048d13daae417db317d655fd73b112cfeb8cb8be13cb34bf3235cea1e81c4248a7657a005ce89d81fe85f4706a478dd9739fe438373edf453db22fc3480edcaad7acfbee27424173ab89dc37aa50c722a9404bf697f333c5cce65c0394c3a86845029bab0f3e2be57bd98b707e3caeb270d5c0ca72f7fb11d8d6e4717cd0dd6dec4ec5b0829c66d44ecfbcf0b9b46aad8f192c66f1da67c2520fbbb8cf847278ffc665b7d97760ed0581cfa4ebba4333f03f3f7d30b366ee313a8dc3eaa68f1c596b87a848ecfcffeceb961f0e970da56aecad945dd78660446bcf7d5890d0f66ec012c8f2a84a38ac528050a9dc883fbe95b7bc9f289f7762292ee51133ecd2\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 20c0e1476060b1ed708c5f7e15d973eb79f23c14d6746cf1f1c0fdc0fa9c3b2acf6593f6d67a541ee279751b384df714a3ae13c1919947638504f0caa2c84291ea00f5b323b38e720035e8ba409b0ad77ca1ccfe909582c4de83e32661be7da06950d959ee812471d878563c75469ed82ddf806a06a4859166d7e7a65953779f9f1a3b72a2063b5c5e6b546beb42bd7a41cca54ff06abfd093a9470202856da9b8709bf1615d7a4520f6842ed29c8911c701e312669d8f7927ea16e4519cb573ac1915061407e957d0ad1e2e732c4f7c75f4c5ee71f25d0aa6c55d2ef7af05deb50656dfce222cdb049a77e6c30d6d8cd1a88938be1cc04ddb1a542409e6a881\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 210413ed83069efa72a4215cae4e59f23edbd5d1385294cfca4a8408e69200d3bb73748ca484a5af10b5e665e23942c9e9672ace86228484a8ab0d76f8f5ba63d66c1c6b8d1c032f82c531e4a96856d19dae24b7e090955e9c5716643a81e6a4af6e67d4225f6c3ed2293b8e536c333aa82fc80386249590af1a60307d8787b50419772fa738a753a8d592cdcbd8eab403b744ab87fcf8d42b03040b74a6479acdb21b7b8262aa3d393d34a8f5a5cbc7966bfeaa771641d25611f1e9ecd8acd8532d0c79d3eb80b41c2c6ba03600dde2b555a5b2b7e5970921b6a7f2c341ed1ce44d70dbbf9f038acbed1a4d16004d48fe697ee38a6261c107a6c488f1330a57\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 19c1b847f37fe29638684cd2aaf0a8b09af6812685d503713d357d4c97cfa552703d3690f9f3c87d6c95ee417cd47f1ffcbdae96b01e31c59dd4519d5c0d8ac706b6a365394df9c7a49078b489fd612a07d147b98a4b58ce9a0f812f35dfb725e2b53ba807b891e87cb735deb40bae7bb1842c52b924a9413bc893450da1b36edf0a02f8835330a54a2b1ef7bda97f3cb9f3bf354a0c119eb54ef38aaacdcd60aa3e92272754de6d51a54994be7ab44c8dcb11dbd61a593a3ea71f4d616bf055749438f53225b1c0746c6c491c726664ef80e20391e510e6ac99ee8f7453848be2562c173b87742ba48b0596e3080a48e7091cedb9c23fb7d9208990381e815e\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5f6143cc96b7343e57cc83612c6e85d46352b1eaa4b6bfdabee0af42609a9ebde9dd07db4c10d130f58318f7210cff30f122d9dbc1d0f88a3a0b7c04442c6f23794411dfea767609dc5c767ded7662e5996051052f98ce4eb0e6bcb72fb0109370b86fb0d4ea99d0f02a4e0101cc88d01ec56168510d77b0e7890015bb3b22a032957d8f1ade702aa70a360bab6bb77f08e9340c1c53b72b992187cd4f7c879ed83d462fc69062746e7f0041801709b05a58ca4b034060ad14d25257ce4aa93573db71779072c5c5b21168cda09ac775b37b2975f2d5ed8ad4bd07872e74e6fae98e6d9e8e46f7a2623b940ccb662e897ed6df058c8081ad78c9cbc5468b2afc\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 324d4aa12baa7237b487b756f251b41bcc3cc8c516e582187035127e1cb3dcc789d5306370ab39f243ed45b8834e844fec49c0a190eeb5b4428a9925057a9f26ed57bf34592bd5676b7db1cbd95378c397a6818b75a65da03767038e5d111f5fee2a6d81663f1c8317ea6c4e64498253bc55f07659d14e0efb0de842af6b823884e7dc2eca3ac56c53f618c10362671c575a1cae42416b1e39962bb06fba2369afb336ce44f3fa3868c835d831746c30c3a609ae5e44d528f7f6c7d306d3839bb46b0da1edefb5eaf59b03dcf9c5116ce49b03cf03c1fed3f3ba474ee078ce37970173408660120b342c4b547e9c400c81be8a6d3852a07ab299556ecb868730\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 90a3025f33b6508e08d407443f139b1c03e1fdf203334763e4f010c69d7b1728d37ed146ae7a3667a655ab8ba20c93b5dc432d9d546dcbc41f9a2c4b9411785efd530543f78f5d98e2490a9eaae9164e085a3e50a8aa56ee11f9c27c471a433c6c48da518b890630185ea711a5b3bb0a966af679506ffad0c1f1d2937a6c39ce7e908cab5597c5cd5267f5e724460b12938c70e5b8b589f16a845534702706980b3781ed12bf2a76f9d3a19ee771dc561a84a8b7f4587d4f0763357bd512a1193f07830e64813b6abacb922bf31af6a23d7e2c6d44cd8283b301060b6f6fce58bba01623306bdb761e40fb298a300bc7148c379a4f778f2af934bec60db7c586\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3c1543d5cadefa71b2b00aa9bf5ed02fcba33eaa8237adcf6eea90f100e3133c944f434961a115e8bc8c757ce82734328dc2b442887ea984ab74c5fd415941b0876e45b3a338868aa07dde0463459a358ffe8e625ee2c2f94dad9aecc0d011dca6ba841357d308e0d3d2928f85c42ebeb5613918063c4cf398f9d9c6e57337d4a3c50e900c6035ca0833d4bcb705a0ef8565cc591fb67159bfa1e58c9c9e4985c0860126bb4853d700b13cf0c34ead0f691ae046778e8cd8596fe9189136541429887ccef244b71fd494770c6819ad3ee62a89f8cfbb6a9d7d7b01af6482cedf328ba7b3d7c30c179409b6a6a659978dd26c3e3bffb93cc985a747811b45f69d\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 8897b2a9b6d6eb401b297f006e7b1a81b26bdcc6ec530968c4bf9558c3648beab5e706954ac50b18e20f3bb2f1061215e5013111e651c456516ae34e63f1d4e15d380abe36baddb7c3d0ad38c0f3f59621024c8cc37bf35871dadfb49c1795a87136d5b04a827a4f8fea6a7f6a2612f6866965cbd6635fdc2dee4e582d602c230ccfc29450810be09390125da052823766729a1c005506b975cf22c49c6854dedd737da6de60632e583bcfb4fed6f5a5c8593e999db7db53642f091e9792843d142411b16bc3683fe6a748de93c49a712b405227f1536ffe257c00b3eb525cbd91274ff8472f113c50621e3221173a058c923bd40e28ecf0faf42c9fb7b01f9c\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6c1eced47b60318495f7cce7800139d09229c4804482063413e96868ce3074fd99f8880dd01937dc0b956470494afd577d35d5c76ace00bf484c2eb2b9ccb48bee3e85697bef79d7d2b6f541ce5a83d3a71c09d5b8d80943030e6e54c5dc29c5d6e4837078c763cc018cff3c4b214de76d0ebf5bf2d7dcda39fdcb936d1a26c25ecf79342e8a3703cd929aaba16ce0340e5b8134894e6b3b2145969826cc5f1c2f72c1c8035a920c7c00b108ca796dc077e1d19692b92f5d9f12a7cfa3506ef449e13c41530044c1195cc7658b3d0a295877bae7d2fd74044c318d34889004a4f1e14a727c66807e5be4124f5a6819064065c0b14d7545cf0395cea881734f8b\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3e7d8ce9db20f4b8f3ce10a548544cadbd05f23a7d7c21233bd12641692a4cc153f17e890385b7047b0997f5368b3162078e4fb7fc12b250423ac365f0651c5ba2d0e92f74886ef2f5624e6677679a64acac595c30d8bc3b0d1e838e18705373124adb1f6f01aa816f871eaed99240d6e6d4a18088944ffb11da666b6fe5dbd1ecda75dcb8b5ccee024b0ff9a4f1788fcef403af316d5b1d1611a1ad3f36f9a7bafe1b209a7dfb091f7e63858a119dbcb793bdee7e68234acf06979c0dd5b869dc4c92921422907f01bd3dcf2517b2ead3d1ccacc68da587531d773e1934d766f9ff40566ab3757df02e20a5147e39c92d65534160cbd33d32036e4f7beab5ef\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 507bc632e1a5a2f787b0befa375b322f1989d6dbf4254df8d6e37208c9bc6ce1991a8600abfbb36b9b8fb954b4e5fa134e66bb528d63cdd6c6b05be5844e80d63ebb1503580997c817eecfe7fec54392614f79e2a3c27878e7261b78b433cff39c9a4805502aba917955da4c7bb816a5e636300d75d47b93ca0676ca35ddd15e6d562f8d376f3b60ab5e88290a2a2e0d884392921416d3405e3a3ce3e7e4e6e549c1361be042d060b0a6d5b418369509cd63dfc538fa648083574937ac49ae02246c2a0aabbd6a710f7826bf06dc16e47572e0ed990f3d2392cefb5c6e7eb4b6cdcfa39b08496f172481e20b4cd0c1d529d98e411e0025fa6aa3caa9446a6c9f\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 84b76f221b3b7d29be54cfaefd1d16d0ebcdd06f30fc49d9c432b7112039d99bc8fd5bbd8e1e8b2ffc0d6adc9df34a7319ec33f86c39819b4ffbdb5de30e94ac6b725690a4a3fae09aa91c0001f9e526b2315ea1e766c5685754101fcc1eeba20cc078f12f166191a5bac18045894d673cc6159738c6901f5edeec291243b42f2390f13006d4f3a29e020744a7889139b7d4b1d8378a80da405e2ec7428ca751ffc17e2186daf177b8762244e059abf697563728ea8fd6a1df30b4b390fb7b0bcc1fa11503777ab66c589ac097e0be98f39a8a2e21ecdf5404ff9b17d092bee119e32001e10cdb11493498094423257291a0d835a1c1b90b87c521fb1c559e36\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 67bc94022123f356e465b4f42ea02200cc8b526ea393a0c35da34e612b8f7d85853ea31a0b869515ee783ef903f86186b97eb7269420cc1a3c55295119ecbd51ca47c7b3caf4ac6a53433d3aa23d953606ce3692a248c9e43ea5eb067533f4f03369417c8c5d469e9c56b2dd1a60b7a0c520de2ed2d16cdbc323ca43dcb0d0886be11ccf1dd4ec687e205d33eb", + "771531a9bb46d7847aee7017690bd1748b1d39b6c669342a83eb93a070718970c161e8c4c3cfcd83e562d9e4fc87abc1882b16f1c63dfde2d34e230ebc9959e0936fb48aabe716ee751fc4abc62007e4cb875dabe9f7a5533d99514b5296d481df6481ad3bdfeea5a85fc6cfb928ffaad6584b\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 7ecc2550cfd058167ab406f7f4b3af4180b4b84526ce4fa1d0751a8f3947e027f4b93991409dcf5b4abcc902ad136cde8f65ec2566df0076d46ae2a34b971bf792e5032f026dd03c6f6a1e9bfc535cb15d8c52374bcf09eb2777d38a7767fd1a6baaf65335fc679b8289ee22a32745731ec7c8bd2319b1898286062cbe9302853d42ae61ff0a97cadbce838826c604c042fc6a0579078bfd9dff2bb2d9af7e29f12943fc0dbeeb81b65e3cd6dbb53724bbc3df590fdf9660b634443d485cdb05e18d57e7f9c06f4696c55930b83d70b17e15f49971783133041f6bede672c59df0486b914f61efe622dadec842e85c1da50567decc57dcc842ba946c4cc77e07\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 71f92fa1a1d60a965e0fc90f260a322a561ae3d4017409566ff113b0d8f03022d96eb0129755de4d62d8b031c20c93b8c476c3dabfe00f15975029797f593a63a971d465940657a3f147a359fa8dc6f22d0e0b43cca953bed63117670e345ee6c12d2fec365a2b6b49433f1c1b2fd656c8604ce2d83112f457486b8bc5ad376568468487f3539a981ad9c8ebb196f49c797e7a4542e95d7ff77135f533be20222db369f59df8a4e9d081510698409828d0567e0d28a0c1cca2cf674027b18b51122800fc97cb45193592d264cf5e74f707287df9deb77a26f2323b3ec1c1c17be5e11cffcf4ced2508525026deed6b8cf84c5cf7a9ed19e322043a81c0f7f519\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30e738086ddf782ba014fa326769c14b9e23818f48dedf3a3d09252dce42c160dbd7fbac9a72b8d3b6c3d6fb0e4f726c20b8c4ed31d8eb2f92a8b6d239fb78668f3687703515fbd9adcf64d272443a457735cce9eb102f881596c416739b316be58cfcf0e4d1fce32a25c2483253b3d7571a9c72479f86123d830a721ccde80e4c243e6bbcd1a895cc17dfbd0e2f8d7bbbabbced4973d578e4da5299ff15ba170d15d87ca2652e724d533288012fdba420e8427a2d1009e3ace74c03d80ac5d0b5949bd1ff42c6a728f28511264fa4152ad77e09ff60caf1cd5ee13a78d67a838294717a23f3940ed7356473dd07ff58c360fa0cffb3dcfcc2a2b673d9d574ad\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 9e1300bf1ac3f95d20bed0c450beada85fb878c4e280f3ceaef1ddf6c1723be2023aae1c5adc0c8565c76615e6d8dbc491506a4b086bcafcd211327a01ced188fe1e1802f7bafd3f79a434486d07b417e3fb8139de422ae29d921ec2e8e5b6843719ce8af35349e69623f2d39eef26970c80f67f23409a8b4e4c4b8ca3e5db512eaff96499302f7828a44eee7e277e58e578de56118a7d5e647f8aada1c03eed1beda3e7c57ccce9cc7585b2bf75427747b0e09310c4f9f9e0d2f48cc62e3f413e445ae2a6eb706269a0a1941021222be8663508657557c49433bdbbc7bc4727a405bc12bb0ba3ab7fd46b7458b9112ad010076bb96c596b9682de58ae074863\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 45e4acfe9e0f98d8841778018db1d3280a75a08231bc511bfb2392a6120b629df7bc59b2cb2f3f327ba07cbfb4e48b62aa7f871e44e614a824bf7b7852cc020b17147a35dc0bb8baee6479b8a1cdc032514fa412bf4bba8ab531615839f1c4e5730994131f8c01103c8ca84417a84e95d3fc35c94a2cde9437518ba74ac91e9c2e48432a16277310f867764b72ed1c656a627b2f4cd3991708536369e4dad049d45c5ced889c5dc61dfd36ed30060c7bc0bed22d06ec212b68dd7385aeaa25813424653831f7515c4de611a664e1e43205d016e622c632ab297abe51673b447d3a3e067cba4bfd21af1c25ac6cd24e26567e654f12f0cce613edea5c4f14eb56\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 79da043a98e24a49eb5c250a5cdd0ca01c744b411774e1e660e7dcb41c12fcde79c90270e750f2758ff1d6d3d73621a13e27424f93c57f777277666964304655a0bedf717daf19915acfa00313ad4f4dc33d69a048741f04c601a009bd27eb9586c41080c56bf8e0b7abaabd76a2d5e9e57a8b8b9d91f30daae3342dd292692915231354db1a665d9c231310b9805d616920a51c66bad7094d6836697161542e09041c12220ca26a3fb6d22cc62420bc3f07ae349b91d3826ace394b0210d710e240468ce7fb821b3a01b8c38287382ec64b093392a82884df2fd0bb530adbd49ae71528f268fd51fc10b43cbb8f383dfa3874b7cfb4722e047e7f0b941ada31\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 274dabbe063aba2a29f31badac85f874657725510e1f194ff51b43aa4034d86de9b6542720792d2bc07e95e8106b6072e9337ef0c721a07e3ebbb23edb76ec2b93e97a3f0b777d3e28d18cdf4167efff6fe548a1344834f7c92c6fa379070da86240096a030f6362301a601c2da026d72590f0ef30d94acf676c603809f619f432571666b57015a1e41de41a0140b6b79ac5d6613ac3f9fe1eb1345b198f495c27eb8d5ce83e1126a90559a62befa469e7e6ff41d81627b4da0b67891e09b9db22c76f653eddfe83b5b1626c6dc3c13024b27a66e04c070792a6345953a7832aa6ebb963a745914516e1e8a3887ef953934cbda4419b5e6e1080fe379b1eaca0\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6970f7dfb793edd1ad41c0d6f57137a9ebff66e04efbfb82c882df25d24f0913b9c906f4214b2b776e6cd6c158f701af8e17487fa77dcc9d66732c568356104ae5450e1e2559d3475cb27858ff8bae188cfb778a587eb243ff6adec6117eae055ffa5de62cf50ee16e0924b0afeb927bad811316a1c2abf01b6a72de25ac30e466d0051d1fea51ca2cf160cddfc9a373d4c796a19885237afac7aac698cbfdc2d10de86c58de9f6597cf5a701d2281f7343176cbea53f088bd7c5c755219066f4b35ccda85c7c8e67ca08cb70a02439a49238e5309f6bd647e1076d67b0b339bf4d5323ddc1e406b13c29010bc325cc17c0c338c38102fb523bf0f4f341c22c4\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 21d55371d842235e234aeaba3f33e6d7f5fea10b7940939250a07d8938e70f073d1514f54bf9e5bca902190f1149955e3e6251c98e297576f726e2c982969317ec7416c7df93b9340c879dd167431153bd64d3010456d40dee836d71d405bd3127f90a6cb61d837b4355d30ddd1ddaafa5e4204815221f562d10684a6881d7bca66b1e462b8a1b3c889e916c848c4f88b179bfb76debb18208946d40f464f9e5e385cefa1c9065118b104f216f4ac22abbf0bda8583870bfbcc339ccd6a0da7bc46338e90dbb90964100c47dc3af08ead7978e39dd7369084f5f9f941a3a2d7d1fad0dd4b60658b5931296d6357e28fca5fc8d84fee546e1f06e07efcf8f1e4e\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 84567b5a2cd8993fa4297e61067d1d0b34a4d7015c46438bf4e02cdc934c3c586f9f80316307928cb20fd4637852674d99a560352c931559e26e414d67eae6661a34a52809d4a8e1e9b94c72e5afdccc78bcd99f444cbf4617c18f481b36fa36d4dcef140986f2fe6fecdf8864a99d32cf2ca43e7b30d9a5faa61237177ece4fae0f03debc9dc07d1b9de0eeccb76a8b84852bd534cbad9b0845d7f9e9af5d55ff49832ef725e74fd91c45a6bf9d2a519d0c0b0c4e42b42eaaf5b1cc5aeaf18228695838cfab32a47b1b048ff6cd7833ba54d8b83afc3a45fe546b68cc26434b1021217c1a5ee8254ed50508cf79521abbccf81e9d3ade87f236b13b2aef8151\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 211b7ced5b5d0732453757fd3b828aad6d5fe12752d17e79577f7604f282037ce5df075908b53bee8eb9df54098c8c44f8da32fdf95b778a51f333ddcae7069a6e8afad390dce5640ae25597823f0bad036e50dcffc224f86c3ebf09e3ec0679019cf7637ab0b2ab77377266dc5762314bfcbd3a90cb7a3d7cdeb72585ca9a11e1965f029a29c769e003f6abe8bfc1214e4e0cd044d16d0eda0c7357f5a94a71af57d076baf455f56d0c27a437bb649aff9100d55d2988995eed9980999da0271c5c533ae9055a07302d65cf16bb26846ca04c87a72c2efb3355bf6c125524a445250535d984675ff99be9abc0c544fe3fe8d33a9442d2a57b98f159129b23e6\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1271847c6516bb1deb1487be33819ea16e72cc739f4752b75c8e899fdfa28ef0b40de5112734f6b4a0e2921ea34966da45998834e8429e7a7c8dce6bd432fe90febaefc201e421a93d21aee907210c97efc2890d0c094ae82a5e734958d4e5509b85cd0c17267e1fe1cbee894cb0838508acf9a3e31402352cf4134eabf882f69afa24a7fa490f22d60c180ccdbb14b41ea53aa549044e940f5e5e519b04824f9c97099e83593fd48c36d71dd7151c1e212fd772abdb72429b3931a67cd7527fd45aca652536ef3476955747ef98759c1e561bfda80733d6dfa927e1e32ba070941bcadcfcc21c3bae98e362586b82fb4ad48d347915ed5c89c15b2a13950704\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 7d4c142eabfb72a880070621ef9fcd351129f31664ed11a744cfa209a4199b9293f8b603f1d0672b7a2160b4c620982ee7d2553e46f5056ee8ec2711946566f08d23adbf904ce1ab8d744e6df61c6788b22154ac9a516682e26ec31846b6a5fe8a9a519931ab61a9fd424b2babd883c3410c772b89328df17296b464c8914b31b3ad63d6984d46c772b6b9d791c21d3e3ce0984ccbf7f2902deb0961898e8ef835c658db4aa14387857b6b7ab8b38dd06a4885622abdc3669d37bd953584a3f3d19d2d77115d9bea244a65b7b26faf747aec73e8dfc0bed10a85e4ea6398dbf8d9a10154ed3f1ee51e6b3ead792ed2da838c0a25d0b2ea3190fc33bc9902e579\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 8c76ad15a8de757cfe122ab8759991a1374236f7bedc1249", + "5201053b9adf0042ee64665abc4b9485a52818ebb2f5e0dba6d667cc1aae89163fbe0db066b80011f6342ebc22bb3decf96a3901e0fbc44ba79cb17adc811c15bef290026bd9e33ef69bc5717f2c774b208cbfbe88f0e2097595e6cef35745a512690593ac1f0799655a73318e8bf1e1403e42c29622b09d0000f9756ba9a0fc44692e7f86e6be28467cefb8f95aff478965226205ea082848dc503fa0f16b4cb636b916de0e9b0e91216a72950a65855692d1595b5fc9bb55a48cf584048317aa10b63acd505a45537c751c4e898aaff55f0e4e75570b36babc13ca158dc7b009fc4901ed407015\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3a8c6928a87795c3025ec336cbf4aaa80e1ca6e758c41c7df1b63e223cc140e7703815300ea7ca9c169a972a3049bcfa9452fafa34e0491c99a1867d6f0e1ff45be4feb071c9c1f2e72c12f8aaa2a9542e0a3a037305e57fdc8f2584036b619ca5a30bae66e8c212c8e2e2013209f502bd6478d112bfba869427870e84023ca06229969818ed557e5617c6ccc23f908423c87bbdb03d011d328c81f0c24057d8245bb8d4f861dc76d3a9eed3e31a16af114147d7b17b4753b8294290a3c8fd3d135d7ec144f2eed11e4dbd4dc1e89d96a06d7860e5b1f806e5d15badbe05a310b9da804abb41297b179cf4e8d077258b2f7df549092ec6c8e7274f25aaf257fb\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 64b01c13163085cab7ace03109a35f5aaef67670699dff14720a7d9ca0afafe396746a997ff3efc0eaea70a658bf0eba2d0a146fe93dd5a8b45d8693054e52f4969cf021b6395c8b57abaeba260a4b2e6ffc328069ed30e992191bd17f7be889bfac716d24dfb47667a40eb72f7514ae2feae5ba11bc24793b3e324909fbff67f5000fe7e6e71986e2b79c7825aca40cf6c426def806d59415d6f477d321ef69ecc8eed7d061f242b088df548427ba6188cbedeaccc6dd4d75311658e4dde6d838a8049699893997b6e268d54d5ab13f7d1e38729d1e0f55ff607b74d6f869a5ef50980118047ac859d8cc57c79e0f3cf1f0562dd705689bb471c459c3cdcf4d\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 82240214858bcce755f761d3b6416c15322aa97b4e130a01263cefc1cb11fbb10ac28c5c22207b609f86cd63759a689d6e7f825ed84e6042b66d06362441998c715db426157554e8384898cd63177a1ea538bc589bf7441ff9d3256b851f9ba519e3213da248645e22314b34a53739f035157e222006112c1f6ba8e7add0326d618afbefe456e530532bb29769db477089330c0f0dffdd4302666b128069d8ddcb764f154c8700c45e5a8cdea403f4e4231b6260f18e6039bf497fbf09420163f1dd976af573068e0f87047d338c6446d480c585e6a6b82eb387a8549b7a28c909d88d3361a80baa25eb606e4e5f9eb61be9bb8bab17eaa7a98d5f5e406cb0b9\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3b243a065df77eaf4fc8665e8439377181c422acd42da5642ef55ba548555795ee700b156d690d9fd29cc31d7ccc59d6b29472feba8fa644cc49c4f5d46722516820554e3f98e1dc03e44bad5040ce4f0748c82a5a44bec4c4b5d1b0312e74cad9e87c022385dfa034e91f507e72d7c1f7fe99c6933801eb202c8314c5b60fbd67427fc14efa9e7569d401c6af268e9e3d864fd108f78ea5ed1a2ecfd1c41da2e9353aba41d4df48d3f2535d5ec60cdebf7497eb25db4415875f7ccc15a49ebb493a7eb9476dbc11815eb414577ff76953a63991938fb6ea73e0b77a8cbb77eabf3b893c22aacfcab7108dcb9a3bbe3ec048c17b416b146d4251c7c36fbf0445\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 8322390ab9d742c87b5b105f63940d9e4ecc613c12a921798c2b2a00c1e5c6f6fa38b33339c3fa762487629bd589cda879977e257de58a0d3ad4eb9bee9e3d41c57ababe557d0f3f8bef808dd7d5666b8a635b1a1d08a94bd24ddf10db4d6a366c3ed7a6891b7878328ae5d928a6a14bb425c4c1e917044a08ae0cc679b646be53177962bf04f19a345428f7a0c877f5749264edbf0835cec2f5aa66b7a1ae9b5e8db22748bb8b8f37636de4d02c9edc5dd182fe1f3c227d7fff6111005326ca3fd693248759fcd56a356068d3be8f78ab03d484a363fba9a13491ff5752bb263db2d905a90c556c8e5b12315b577786e038c989d13ded424adef4932c87a5ea\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0279b5b3e03f864b05e41a6e964c5cea2b777be5e670bbc43d2550c9c443bdf68069a0eb91e4ef95dc9918eb1786a123acb034fbdef2690e5f2f4f5aa0dd10627342b90f2c3ec1e3b6ec77c01a92b0c24e7760cb49f845a168afc256686dc428f48667d1971d56ad81153e7a54a59f10a4b00986d9752f1ba11774923374a990996388bc26dae6be26cdbb4c1eb76cd0d98532720e94caa2904fed7b937cd94481e4212037c628df3e213d5d856776a337ecdb52a4d256b3267fb66f0cef10e39a5330a9899e103817ebe6c32c741dd4eff16f37fb6ac91facfbce7f467397739b1557f0ea4234cbd8d393abb1f842a2a182e8ad9047c7ed643bcfc02156b106\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 24c8587350927113af79616a76bc5aee56e9b580452eec608dc4b25e8ae4101244bc456368e14b1cb595aee9c1d05bfd169981d2f5819023c43fcbb857b5feb7f11e2e3469cb1d53bfe66313cf662057b84b8f9fc1743547d848d24d1678d14bf44fd29b2c10b24da5f42b93534dd535505415c32f05e4078a8d31461bf42f2e465ab90d33c24f2ffc4cf430253f50478fff57dc1eb91debf89e0fac9c382f8acefd9f1dd2f2fa2203dddfa56fb275309bed0671f623f24927abd562b8a4cadec561a530f04dd58863458b802e8fe5fa57cb22708b700be9b250a6163b6e54bc9921944c9a8d468d02981b7fc41b9c6ef92fd705b24da3cce58a90b6b112dcfa\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 58b5bdce097aa778d5232055b695fe11a01fd06dd2c76f6c4ddbd89b28d823a6dde045d541bf3baa04651fede28dd5bff79719e0310b285c4b5ef39f426ca9eb9d20b759b6455c8ca94b08f14e8b237429cc93e6cfdc8d5f9590ab9eb1a05243a6205cf26323dc5b4c1ea1f815c3d26e9a4d5f58e99b06e213117f6ef7fce8ecd63e661381aafcf2134c0cefe49b9432ee68e9e366d7ef85ac82befedc5c7476befcefcd7a6ca7f0267585576680c6ac901cb4ef12c3abd319f74183c4b5d852e898a955628775b941f91594cc00d281b3e69b034765077e967f9282a1bc16043a162ef1fd193921a3da4e4974cb63bdaa7745278175ac3183976b4bf1534f7a\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5498ddd6aa8ec6434d4d772df218db7724d4df79dbaac872d187a9cf58bfc62b194c263660e663b2d50583dfb1e232a6a855c3be31a7297ca1c801b065a13871686f1e379f50935f754243dabea67176fc4d92351e9bf1e3c9655b5de16d725f0e925d554d215bccd55020e749afb612420d30ac95c5723855e2414c9d7bc8d2a9ddf33787c521888852e1946bf866411f72ebaad3ae730ffd13648fd8e5464036e800064472806ba78a0ef8a10c1739fd512cb2913d91325cad3fae38a922c3f0e5482781bfaee6e097e09bdcc6eb67772ff79d358079e522f9c8f32fe5f8b227f126803f0e78554c513bc0316ea267b51aaaf17f1dca423f1e0996dbcdc6bd\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3b2299256cea4f270aa108ace666ff3a44b693c27fe72e21e3f0443956dc277b1f24ce72a48d512d7545825db729983bdfe4ff9fb0ecc6f0893a9d326d39a46e7040f8891ced1174d2abd7acc27f79781501c3a972d562f0b5c57a3ff2ec703100b7fad948c7e46494cabc1955dea0e8734ceb47239b915476b969f317a9953653e0e5d4820bb28a5c81b9a4f1d0f18479096a60b53d0808acdd4efcf16cdc4ed82b69b33d6e5e5261347e821c2e366f2826fd81e8f282840495f6f2613be6b9f1efa989d912b86257d5449c88f7b3cdb39c7bee6d411187a0f2cb83115e5cf3a187d9cbbbbffd9da0a62780b265c2a5a33465abf90e41550f8b7f62747f5252\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6224ef796a605bb30a142e4671549288d3ce9a7ca6ce58ef79d08b25e95a81143b99c84efc7a0b92885029752b8bc1bab7fc56048c19d50ca21e8c009024dc9dac2746a9b961db242a1454f0df944bbbbe28a9598878f9392746798aa1db8c69c6d36af64726704f9252ad71e655a02adb6f3e8453ad59a0a45ecd1ea512eedab7867fc50b508c49caa7399f343097f76b2361fb7ac2544f6ab1b745965a8d7e83bb9a1d39a21fa6b4c14e9a800983f5c76fd8de81fcce99f4926e48bdaaaabbe09528a203f5e76dc19982021618f231e37758e8e729968c267390fdd759e0ba88c9492e4ae0ae7512ea389bfc6b64d90eee12c012fe278da80a915da794f6e0\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 81297d38465c4346e408293d770242ca6e9ba2f2ea9a66dd932eb3bf42e72bad344ff31bf058e38bdc716e5a747963e6eb96ea1a48813f39200596d6d589f2164bab35c15f545f80d10276eb6d3b7d13bc7bfebfd0f6949fd7547c45266fe6573389c2343e3adf9fd64ba627baed14e0e753a8fb75a3d1821e2fd03f5422bab3e71dede7470b43449e7e49dec566464fde545a1ca53a567ae460a1d994d295355eb301048413cc92aa34963fc59e054e88bbf2af2ebb0ac0df18b06d1c5d9ddc4f5c3046c5b609a9965a646db2a1c70b0c851e7aac01a5df8e2c822300d3732ec182e3d868adb99d6c0186cc5dd17dd8c89658c0ae021475fae278e7ff464501\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 73b38e74ba14249c5fb4d2b3923e2a848898a2a5b1b9e6c17848177e6b0053fbf768d5b393088c3b7c5e12d41d24cbbf214a5bebbea6661229ca55f79b76b1d1118a2f7a6a96f36f88e1388283d446b8f8fa4b10b3a6d8c54ca207ceeed96e06147475a3d47d68cb2790dd0ada7d816fc1edac6e10f4f8e6bcd807cb70d995d7d6029dc774b1ab86de3b31c4fe1033517a64163b4867861d6ca0bacb3e32ffe4761de071a03fb79f8bae8515973a4eda2d7676cdf5ff05974654f97d6dadc6bde754f7b297264945b3bb69b950000a4d597c071", + "fc1b9198fc1ade0047bcc7e79dca09e8f01bf4ab46183cd48c8b243865eb6267f0974e29072e38f65957594b9\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 56502d3cc755778ce731048dfff628943f94a966763917f8a9244be934208ca6fff2100faeddea5693273b965e62e08672a2ae4037b2a6681e1037ec8d4f00b7ca75b792d596e01f6312733929751dcb629ab54a6f910a57dc01895cc92d2338b4ddb1271be183f906e128ecdcb5cafe1096beac38e3e49eac7ebca6c91bd3900e83d96910feb192496aae8f55ceac814e6829d9c068f2619b048f1e30e2cc0b7d64e7e335ebc1b566f12b545a5e610fbf5317a2efcfd5d18adebe17b3b71bd788bbd581afda953dead19a0241c6beb851581249d780e780be43c995f23e90ea4190fca6b9e81885031beebe6a65a53db274bede417c35e7e1e597c6610a1ce5\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c49a57abc1b7cdd2699b2d64c9ed240c4ea19ce2dce960f611b5264acd37fc4e1efb3ebb5699a4e2292d9d63dde3b80f30c34118614c617444d7e2b770d6434c58b176db042b74810b40fac6006bfd84a51e32aee8900ff40bc8de3fc77277f9c34c174769afe2bf9c8674712c645db823741a4425043b6152940bce8eadfce213dc4de62fddb626fd12b56efbdd3fbf0b570dfce0ef3ee7b3f7c7ac383fca18e04a4b347fd589e30f283ce56fa60b9761e9d5f584b493062f490680ddb7a2a6a23ba0145ab184cd8e3c5a2f2b297b85db51438233db7d3c72739b7074f6d7a524ad83aea2465f6c1bb236d5ee34e5f66297d549679574a9847ec45180a8aab\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 41abeab011f029748cd5651c173ffb01f3a5ffb4e198549bacbf8f98523b404791704f52c8ce631d77b31066b1891728e761047a0464e8160fc6093c9ece6f359860da1ce8b229327cd683a2854047aee8afd36540d35c424a19f0db5ea444cf91cdc548dbb9a196f3aac9dc9c4365522618c354c0d99e7a0efe40a2b69b9b99d18f3b941044ab37e0e564543a51cc919870c38a4843d3ff4c6a7d503dd38126b5b76ae7736c9e1790f64f5f6e2faac7fadca3a8f75e6998270004f1836624b580e1430a31c386506b9def2adbcb01c716b74f6a4e1e85e55623d8d3dc4fe8553e1e1feb75eaa4c71829315f67b46c2e018caed17c9dc2a31642ce574a599ffd\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 95ddc932d45b05c0a1f4c2bbf30ec6aba93ee9ae560b4a9c124c6be307cf930b754b6b7b1c8fff23c43c2354b847d37073214ca3c95d27e0551aa45ca36e873122c109c0067df39797563168e5e6cd8d20e972ad364a6c3f162415595ae273574b7b35807072b71a8b17afd06bc26d3ab8374df32ece1da2ceb9daa582ac11fdd9246d162fe4830846d08fcec90234ffd9622e4db5576d86fc4b913882da7bc5b1779b2acc0261cf434cace117090546d86dbf5056d0453fc003ce9c3918a015086583d266602403353f0c62eaff4ef4f5697f6e682163277818af6f487600ac326c76f34cdf49654d3eebc7913c0f12a669fb6bcdc809b2621d7ff5050da3d6\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 51c0e29286c44d53354c2e11b057c373690cc8a6979ac1e184bd4bdf560c0a3fa76e80aabd7041b0b1cb40e703966312b8037dc40a36acd170ec8fc70e35c1edb41d9fcc8ddafa54bc1e96199b842c72f2421803f8e95c734f19ac169e581fb3ce0da042108b21218f28faacf7141baa0e2b72fc3bd38930f4ab139c1347a9806115b25d3cad3e00fc29296b2d90e403e5ad0dbb9901dd2855fb49f4b7c9500e9428e4037abd6aa767b604edf426cc68e39bacd9862dd61612f0f5c5666e1593bdcc6ba38682f19c5512b1217f05d1905bc47eff2625ea5d6581f3657caa3d84ea9b948aadce632b3bd4ff33699f384f618350b93a223e037d6790bdf7be128b\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 1a9f00a0a13bb63a9a2b98a93a53cead0f0d0f0befcf19404e838996ea86c67919611edf2962f621480741ae34eec18e6c87b5f40b2115f81e73bd1ba59dd32ad41534d143bd82f982f4ed60d84dea28d77ec78dd6301145c63a0778e465e973e963502cf1c9a21ff5a84f5f4a673d81a9f74906fa0f28b81fd4c1be7eba5974266802149a616d5b7b9bfdbf51aaa9ab3051082a0483b33e7b43b52f86bbcb33f07783e3dcc3ade6c70acde471613b6d7863c4dd091017ca9f0d9fbf7405fcc7e7a012f38404fb0c3ce03b2e601611fcbffa985535c238b5a1d529ba092a3c41c8c255da68eab9e84a7b3f6f29eca3b52bb4b977b6c5e1375b691f6ea413b557\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 8270bd31d9183e02c4423798ea8f1092bdabc33e144cb9e79187586cf92a2239cf52ff324848461bcc89d0409574655b8374bca84c38df11facf035a6f54f25a7c2e691adaa074d5ebc08b0d20b45346679d94da1fc67f57444a9663704bcce7a6964a7e7d6a98bc89b674bd3037b15639ec5bea57c313331dfdb0bc0d2017f1381cf5f29245af5bace9b7a690b573bc7abd9c36fce49307f0524b37b29776fed6722bcef049e566c8a5a0db44ca6932bf11e2e7447b82318c71eacd164093eaf40b7b122f306cbae65098b68b5b920e96f2143637db6d70070036c2cfd64db05ac87d77806d53096bc63d6fbbf2efc29d8514c8b909ab79495a04639f27b882\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0f7e36a02137a094719570754763ccf4cbfe21a05b95634fffe0cf0cb46210d379b5e7dda7ad815081d12dc43452e35a89b1fb715e4a507b364da2b73b3fdf91ecf1b04a6aa3ab9b90718660291478e6ac0cbd29c18d4beda2b0bfeb53979facf2e5d8ef1bed5a36686cb034082feff665686c41572441a673e7426a89866f65529de9fecfa32a2cd1c7098e7e7bcf2a720d46cebf23988c259dc880a3acf8e1b17f1ba8de6e8e9cfb8af2b6398f7541d45162438c3f14c308dc6d778bc91106c7d48332d8968fb083bdadf1edcba30638853e5bf1398d61bb8eb6b61363cdd859ce4f6160f7e819758afa067c612be054b4c0e2567fe39a81550001cfa081d3\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0571ed711f75daa6e7c7b65645cc10ad040b37fcc3230d4e8655b9b40cbac0e1c5e7d9ddf18f7995bb2a630235f7959791b1bc21c72ccd88ee50b5136472fe63c13a4a391452782b673b90fd6e768385e9f09023ed975c9fd5187b86d0d147418396a971faba4c5d968b29df04a28f90f0a2eb89a0777dedb38e4f41cb1c373f88906da1218a80b47334ed4e5cc0bfd1a93d2ddc5141b243bb002dcc513d98e68d512728204bd0d0d9ea5046ca21bd6d32169b69ba8b1f829fdbc4b4c931d0d29ca72e4fc2d92a74d2b5e1569a222f4b8c93c6cac09c67c08ab08fa08b1fe9ba78fd016aec186cf2f9443b8a3af242019a4888839f8c6021f26476e32300af4c\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 690df1372a35a30d9c76a4bf91cb951cff5291bccf26a1043bf84805d75d27a28c0567d353a95685d3411acde938df718f2c845d72c4676044f692e8ceda2b22da5fdf32bf493462fc83c59cd8e5ed0f62f607bfc6d04fa38a6b01a5b3cb6b58d55d9fc2c0a36fc4ab80fa3a0dff60d55a0ca946c568451616441fc9f14685077388a069c3892f1b208c5431b69bcd5e6ca8f789e210f63af6b4ead0a8f3380e818f0463b2287599f5c4cc08bffc460ae8404069cbc01e2b1fef6fdaa810478abcabad6b7405d01e5d3f44884ed0c3d69b614b2c794721066887e5389d72fc634d14716f0cec8fbea5a12c70cf6b4471df4f46058c0db75ad3783b2dfe3ce2d0\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 13ed9422722bfb8b6172cb5656b9951610f509bfff5d10e2b91ddcb4c2e8ca58879a7db943375343fdb794302c28e3db0e1b850e8428653c09208dfd46f065e3996927d85979927930b89ae12590753ff03889b8eab41acee725b7092472ed00ad66d00a96370c909c2f39fb6300175d510b368d3ec06ebeb0f62f179e191fc1ac9f7abc36d19d0180f50f7a33337daaf73a76f9b38361e91ed7c0af2c9a3519b4f538c532f3bccab27258d711856b29c41f215ac87f6c7f3ea52c3bf30db5e7930f44e489205396e94c0bf11700499b5a72b26c9f3641c45bb248a235b42c410a908e5ddefcb481ae619b23f8a5ed7afc1a9cd782020aa119af745abecbfc57\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 054582c86eb3bac23c330ebe275884ec6c740b477ff69795681bbd88d9da5369ee5d15fa2dd64910947cc4b3a713520716ac747834058f50852233fff1465b4c582ddfa2411ee43d26abe6a26aedd5bb79384b44a45d24b1a374cc9d193c3686fcf7290569173b07b5a698ca75653eb83ce3feecc40767680f6253fbd0d7151b42c82ed7126e6a2d73cd1c64378294932eb790f5997746af7cf87dc5292058c2ae575f5929426fefe7d78867b725fdf6cf2e40c052b69fd8104fec8c017561737e02651aee89c11327f866875dba4cc6a6e69a5f2ab612b4e72671c8206d22c2a9d69dbf1dd29eaf06745bf2267ec2cd89552338136a8981da13b4223d79abe1\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 67ba3a10105822c5f34c661cf7765419ebe52142b5ee9358674a174abf5981fb845d4877315a6a5f856c6a30992f520bf3e979a7169adf0e1666457905d49b91481b641158817cf2ee2b8725bee0d7a659777a128fc7509d3f0fad7a53b04a77339074401cc306328d7fca7876b06a54a2fb46edb4d763598e5fe21b9818c1d61ece98a4fdbc0376fa2f9b3c50217f576124f292d6032234a0a6e34835a8480b25a5254b9718c665911aec227c0f432d2dfdf0a6aae40030a05d3c03a02e54507ce0652cab324a2b29814451c985be5f4dfa2546e5b310e670f9fa510c24352e534d3c46beb8767224d90ca8dfe1ac534a5a8b80fffd5704caed8d5180adcd3b\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 8eccc4b661d66f3c8b4e26791927ac035e2a633b872c60fc006324886d45a88ab29b9bff8075701e61cdfb7d85b3f6d41bb78ae12d2d40b046f1f7bc6ba11cda5eafacf3002457aa6951dd7e574b6ccc7e0621f6e4110336003ac2f368b50969dc45370ed7a673f9b8cfaef3c40a6814afc2ab4ae6eeb8749e8d0230b38658c17fd44aa", + "a9ff65773d001430d0963167fbd08fc72343b1ff40920741423439ee3795c036c912e53f9e75b2d255160e67cac99ccc2db7faa8b488e7f1f56ae3bd0fa6a277b9de387651debe4e16ef29215054d9565ac23a3830ce37b326a4eb5c6cb5db7a8cd961f6d7d7497ac14aa459b3b64f2300da1f95b42687d2126e60d8b\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 574192671e303ee2fa10bb741b24c8632d520a54dbc24184dd70ddae468e71971ead18932c8b74cd6e27b13014a2ea96f2074a9fbdaf432153f408118306922d111e861ff91f549e8e669fbda98c4975a60d36019b2c4bd25ee2fee0e319c56be4554f5334edf152f911a2317123aac2ff0d11359e43189223673e4b4b613cf070841364470b08f5390951e8d9c6f8c3422f79e3bf4863b2e4ae694d63d57f77620511eb308c3fb454270a4d2190c83828bec4c0fe2283e0d9fe945f6aefe7b806151caf38bbc963a40a97d92b8f71428fe89e8f468509f34b2cb35542fa717e5feaa6cf4cd6c8ad87d8921d5b62d97fdd58642a5d8d782c87f8f6a53a9aaefc\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 90bc6a2164881905a53cf42cd42753f61a47cf4703d4658343dbcc30b46f97d8656ff1ac6c395e1a36f27562d7c23ae859239c1086b1a6473eb4f57d9e0d47f626f8de059084f681032e6fdea27590a08d5e57f06adc0b8960b640d156b31047d26180f1a9c510dcdb316948ebddade72ae3c8d9d6fe49642394f30951a614d03d37c5ea640f0f72435b49a0d382b93121603a424fc84307bea44e0ab83f25389c639eaa2614819d6039c721bd622b86822ceaba916ce302d2be47f38d4ef37e5ce40c3771cea37bbb200cc64f4180199a7e6aa2863e0fa8355b1b456f748fd1cebee88972fc17d9fd77fe9bf8bb7f2ca4299843434b3ed24910c5e2abff7c42\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 7b590ff6d404fec472f9231d39a4ecf4ce6b5e9438b8597c082e01bfdf0909c7aeed2268a3e568c49d9959352378840454f9119beccccc07b46ef2c1f143da08818c578c6b2f7acca6a85109c8acb719fe9f06282c25728d466b4f138a4b129de607de9ca3bc6180f4a2a45941416f8f5c60ea19c921f76047e0dd0738853c0b24c25476025ed4291beeec5db8e2c744795de8367530cd5f5d0876c3b99ed248cef9f83c54a9faa6565eb0662d6a126c15a5a4a55ae3433cdf37c6e8854563d2b9c06363a86f4a648951226a34c612c3e6b6b883c974d4d2a8e07d99f88fc4eba0a9ed28799c95fbb1404b3599578a164721121ee387b0509ed5e00b3df84033\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 8dd4b03ddf0c4f8c044fcfe70a0b97ec8d8f31b519d11d7e00702296ac731dac508e074024305a285fd32d93aa80b26e6c1d9bca4dcdf07dd141557f685c473f8a323492e9674ed28fc0f78f141418da63e24ff1d82a9e280d2b63819107190cf0018941a440291ef291fbca9616074efb977c2debe71b4609a6510138754d126d203ffd9c234ab334506bc2607eeb9a64e0600ae45e45b2ec398316f4ffbf405d985be94b23566f71b77679eb34dfd560bcf81d790dd1a30dbbef3b928d13534890d4640d47237b11c56a22401e8354b3327101cfe07be6da690d1b43df4486eb185728d7abdd8e4139b506821640a432a219b1787569cac4a870cf17a3dc28\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3c6f82cff4559f83ea73f58e5303b37ac576572fb8f94041640e6bfc0d1e527f77af011e5b62f8e854ad052500439a9a6386ec01504a899860eba9f67d78badddf2e72fc92e0ecf25895a807431cb8381cf0bc5eb2fdb28f96340efbf7e54af7d1bf132b53dd9af5b8d8ae37fccddb32f4469b880bb01a84892cc43b394e94f82b22c454e4d308fdfd7e893369498aab4d42ff7048578a5e2d85893c16f8f12e2f8e7be48490fbc8f82c405d1ec3fe8bdc0243898c58dd4306796c40890fd467d024b033ba724c67a1119fb98da9d8c0c9d3673f9d45e3f40811fd223265c8e75fba57dffddd9ef6f94ba03552d18773d009ff142cf09e62cba6330916453f5b\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 0f8deaf286c4e55b6e1a936abf3467b99ccda07cbabadec1798d81db7c720d6d8c278c14c494faa48a4def3bd4877b5054ae0dc7cfb6842b69ea1626b667ecb22dd8864a55b7d39205141c5068559874495738c6b9b756c0e46b69ef21ace864740e300c57d3dbbd356d992d08afd4f78d4b0813ba6ff629fc837e04032e6831f931823cc43076a69a91c3da38f76ae4ce127d11ee0aa6c436e68e3b4c496ef04f00778bad4b51807791e901000f6c75f81568b86fa1c606acd36661b1487a45cf36c2991a7bb87e7fc9da54c1f8a98b1ee0ecf26336c4a4088bdfdd7ee463ef3944100785ac16fdf77cbf8d6f6f578418495efecad9dd1c279be63fe5fe9319\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 7b600cb582f01b2093b8c6836b1ea72a27bb54d167c3cd067de1b9f285e824f46b5712f0024cf4115e69bad8c6caec74742076dbe365acda52fd50368edb854d63020e9d698a4f1f753b4817b282acd37a625e88997c6d067f5f80e43c2f000008a57514989c8ddb6ac36e6ae15858f16a6436588e79391b7fe142be5b66cae553f4b998ea9ec2dc8712af14b9a2a7086631889501f77bb81ce8899dd57f75fb3cedf82394627a72fcf7e1fb5670edb260f71e5a67c502501e1531111978048cd181cd28ba37f20e3c24f9895af9b9067d1c59f69794e43bb64eb8f5b1519255623fdc64bb85e1b85b7c793b0ec42de4d850bd542160791d6e543c633ee21171\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 16378bb4a3a00a1916e10733b6db3b960c20c82929d1d50f6ce694f691b8b1a2be1377d6860b6d678fd27e797d7dec9850d99aec1079ab45e08a70a54b6c6b13ef7c335d48a7119fc855ba69130e08af62540a0327dee39ead88e5dd923edb41f0e0c840737eb35704cf5a3f2320a1b4eaacac70846d05eaafd743046200a5cd25d37ca312d1800fde082652a8e802f15ed775e055b781aaa7375de845378d57ecc516e23d445844edc1442cdf7eacfa60a995c7a9b062765dfda8aac031287b72044af30d5b0ed4e815aaa55b068212b187845e829adbdb2902dfbe2023870d006b8bf77779b8ba205dcbb3225e3c854d853587b08482264c5083576cca1107\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 64316a2c63e71413bcf87cd2d8efa6e88a527483bf4329a27520217903dd7b4a74ce427cc388786fad14061d50755ae6514e8161dc596a5eac1260a24716523e5016dd55174b25f826a7e806e4204949e8d23a4a7a0a244df064c57432f39d4ff3c90c282fd4f49712d6a922b9b3ce8297f35611ae846bafb060bcaff0fb5c484f9766b0b36b2727c11cd7f6e95410b8398ac5ae1f1473ce16df25b2b4edd80ac083a3796863e2b55428a900ecde671f84c21fd8fe224c03878c62b8d988f487d063e2c972ee46f72a8d859e9659483a860938613c9f4b4c26313d27e828dfdb4fdad98d4edc31e07b050962cdca2f2980cd2034a5a4eb82bedde65f837a04c3\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 49cd3a96260855d9a0ba3005b8ab18f077e18dc88923a4acbffa7ce91a948601db5317c6e6d7e55a7686f735d378ea12bd17ecb26638dc1ef5f613c527c52dd91ec1fab9d3823ccd51d7ad1af5383f4920478116e20fe43996a8ee7b61116cba0f69f42d5661c97c71e62a0ca792d592e6e0ef28e67e27b1ff7260ac427f35f7788ac81dcc69ed4f4ac4eea07a69303cfe083a7cde808e75abf62283424a8727cf0a85df2e26060de2dc04dd12fa6a0471a00f003b30eb4d14b65438d7090c2bdc953588207c0951f39d0aee482dabb782cf593d631900eebb3dca524f9d1607440ada91e20bdb7117486ae90d77fc44cf5e4aacf4c850093ca883ddb7b3a040\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 9dfe688124026010b835f972719361baf84e104ead160ece75d8778200f1dfac867d262f6e8dd12cf25a8018c16f176d032b28150079c35a6d831f9825c80e986a9768131fc6e221e897e221a14be3355921369d5accc9fba6ab8649bb444913603db70cf09188c1f2f34eebd06907dea1b7a970add4c01aa4858d78dd2910c251dc832157e0f373e4d6bc532e1fdc85b8f6d3bda13585e789607e823ea8808e71c1bb61fa40dd219c2980f5a84b502363be708ed3a115c5711c69d16427d60a7a605a9c282c5659d6cd203e0dd181e41aaff5dea6233985882978172f03ff34b651f3592155adc34b26ba7a32df6cf5ccfdf15a7ab95d2f217a0565f4564fda\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 7b17d3b2cde9c95d954e3d795eb7fadec93e788101d337ff0366a3d2fd7de8294761b0d11daa19dbe5fefea7bbba4986853bcb065a0d5fc34d4386bd0d9ca9f1dfab415377a8ca0c8e879aa2ceee9adb3aa57287adc2b2ce1b4ab07c09212b3d443d29297fc206968dd22ee2160716bece2ac0cd9bc9550cf0bcc71319e97818cf1658f0384d991b2eff0001da8329d50935b3d3efb4a045cf1f88c98a8c91f316a320b90c73487a6b132304c547437c5581c2c66cc1b23f2361e65d888872cad4c16de7138c1ac2cb13a6d84cacc93019e7fd84ea99409d8d8184cbe40bbd75792aaa283183eb290d517d46c7da3b1ecd6a2ce086fad43c565b696ed3fc8250\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 5ba48570aea8cea4f6f76ce4d92a9588a6478e6a6dfb82d26eeeb6319420419eb8553dff3fc9843d01c9c708947a413bef9c5e7beee54a57d3ea9a01a81c7fcac04c4a3f0c7ce17bc8fa7c3e47b03d3be004a2f4340fb8c119d6134981d9933b9510e7b89fbae037809b8e49c429fa9e01ba6af5899f0c2f60666d42a62f4ec1f8e2182e9bca160116bd447e9aba05c9ffe8cbd6f9abf3061679a50d567221c2b808a48f1694188820f7ad07e9883fd67ef7f9f2d78ccd13fd8017d8836101de319d17f05beea9d7b1a2c8b1f7dcdca212d332befce5c0c2a89bd29dfe2bcd6be1dc9600baa0ff970393469ac32996c2710bc3d07763b481b6a713abb9880604\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invali", + "d\nsig = 45aadbe78b131670705fff8a10c088e832a6917cfad4b985d20d6c3173b2cc26bb95670dfcfcd927873410d2d3e87850d1c64bccbd2e3246f81ce2b6be32a5a7acd9b2df660e279740b4b916ede28fe1488cbff230bfd359a77269023daf8f897a4adcc6929d9a2414ad2d2ea151953fad387ab963f8da7608b1253cf88800848b68dbbf4f8cfd42bac58e37599de5390e6e0dd9b3c763d963589945fefb33c33d9b0597434a2ac2e36db4e4f52812ad24a76bb91bac54a6843e0b20d5fabb5aabc2f07c857bea2446085bcaa27ef51ca194f9b1b3a16a7be01a4cebb5b641c12c78cfc2dee0c0c7480efbfd4fcf6c8d1379dc026a11109bf3d0d359ff7e6ab3\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 52dbc8c5468f1417f3b9a57c3cab9bf8338e6096590418fe057f4c4313b8462ca42b25b9af14ba65cfa64326d5ffa512d603fbacabd46bb3d381427173e3a91af99e6faa7da7507f1bcbe794dc236086c5d3cc30bf0e1cefaa3dd0e24d759a7ca00ef7cf2ef335ea192f597bd954f2531e19c68e492afe2b4e1c12d5bded1ab9d1c7b494ba52ec017c5ef02ed4797ee0a27d44de9a9a365da76bf5fefb549058ff1ffa21c2b77c7e365267e14d6ed209ec0739619d8ff2ea3174619e82abde0732b1ed9ef3dfb04c9fe4fab5125e1b5de4bf8f4d183ba04fd13130982196e8d603be1c2a69c3919179e8c3b9f189b54e4e268402db11a50724809919de67ea5b\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 25918876ee17947c7ea13c95b6f5e693cfee2ab988a68b72765853a4f47b0075d105952afd7d271e3aa39a88bb35549b18d0aab49a48a0ff25c64ec8d052cdadc92418e84436f3e930f6ffafd0614b5e0af4f87e0c6e646be9e7dfd996139cb73838de8699916317c79fb16df1272efeedf3044fcdff7255fd45ecf26677f8e3cf7e86b40f48e7aad2f4185433b5f04e06bd105c1081e5452d4292346e07f91f9b29cf2e4dd9ea335c065cab8daaff554fdfa1990130dc1650124fd7af5be1eca9c38a4bf2813af9f50e51d293b4b8fe4fc6b40f8da779ea595ec0b43c4db3abf7751c74e92e28481ca919857d9a92c8db1387be5f4ae4b8cd3372d350e57cb3\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3dd518a77a43fd87d8923314e8a78d4dac476188c113377fa71ed7d2fda4be726b17e10bd7870ed018368a3c36be143d4c3d59ce35a18cb46e457ed2afabd69bff77fe94ad6fb95b360249944fa6228faa4159531e67490c8ea44dd64b471d96c48bae5d1da7c6fb144604ca8e8abfde84f681b9b700d62649009c135fdfec200c92096bdf9a699eb1b8936e8769044ca0127070b40e2cb8289a9f98b91be61ec77861013cd9ce5b33fd2837ba8a93caa480632aeddbe283fef6ccb953f2e4af9ff6fe5bd01beb0d1a0b3f08e9d22f26749b5c9f5f302002f89af05c7f9a09fd416691abfa0ced5eee4aeba83113bda1ffd418ac4030443b9072cd6602fcf797\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 56e666f4c8b916f556ae1139f9626a6862de59780f148165f924965aeeb35ca681b7fe2a603bfb1098ecd06e3e185564e031699ba6f5b7c4192e60f1c7e06131eea6a6e772f9b7e9be4ec4e94d89eddc0351347c5cd7dfc58e2c9795099144428563b77bc3e3d5dad50cbd19374ff5c7915c8987f046df62907b7ded38deceb2f04f18a868abbbf3f095ac660774be8274d0788b88001c17b7c3a59f792e81e18fd01bf8d67289012f60a887202968c17f2ac684e5a4a05673a0b2189206ca3358ddbef03b54488d5a794d3a5767de1e4e9032e35bbf1c8fbfb9b9be9a8bc5ddd98f12d3853485cb6a38cbc7044e10a61b704c6987e4b76331aef926a843f85a\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 759f6957706866606f2ebec1d6400b87afa134067897d332edd191036f318e1e21a71dbcc88e0e3b7599123cc8fbe19a15273b481a795303eb7941139e7d48afc490b61e3fd38078ef756ffa8de344f2e930b56452c619089062c27a47b594c5fff1fd7f5870cb5dc7c30f83b245cc838724639785c2ac7d8295e9e1a99004284ce1a5a5f4c90f1edf87be994e2176ced8b0339bca21068db978864e75e84bf9b65b5b28c3bc9fdfa451b39125a271dc280b9c6cffcdda1d883f5be07cf8c14aa4aef6f7993e86dd9dac620ca24c027b83be7cae015d2a55b85cca9ef1e6d080c298e58c4f0730de7820951df305d85eaaea46f087c74f3ffefeee09aabd5827\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 24faf2f1b73eeca67814b066b8099b41a973b1c55f319d5e3f7a9943efb958e8f5a7ad9c9a7dfd64e2be0231d341a822a8ce31cf3e008e65e9e7ff7d7076c3ec62632a4c5cc4bc867c54c9789cb248bcd5afd0f8a2fa8b1884f630a0663758a6d472e4e7a085fdcdddcb1917630dc5e19857569208108123c0e87089f2f247b6dcd5940bc35c25dc10718649effbb56048bc03991851b0d50cb82eba64e6726c41567b5c708a8311c22e477a4614a2bb476e5fdb8cd7f14f461118bec1b6defc26a56df14ec3f64707d3d462378f6de72499639c01b6a745402fa46fb09578f52ac50f9db82c83e3041745300029b665701c595476e3e8651f86e1ffa6e0a045\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 73cb10d068ce0168ddabc2dc7ccaef8026edd5517c0de9b4c8becf660ba62c3df0fc47710a9628ea478cc75adcae248bdcd3c555cebbc4f1d99ec1f6c0674e092548e20c747f84959cbd0a5589b8db3e464889d537c6977f13668fd02ceebad3d74d7ade6deb16c6c8c5d30fb0778c3db5d7cc9df986596a0768a0d30c199fb8ffe5511d99c8592679febb5f8851a388f291e194fcd19b9423ad4b47f492dd720b9f38c3b0b20bcb816d463ab9680bfde66132a54a8675be19944a5e648e0bf942427f404d9f810f2a9d4626df659f54b6a5d3a6878e113c48b733066b3a83f5b26ac75f20dfbb8efc1ffbdc2cb6b9f198545f95ca0c3f54dec2f8307fb1b6dd\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 3aa737bfa89b66e9ce0508aa68da6c9760d5de6c50e1dc472073d4f5f280794b8e5f2ed5446cd73bbfe29d54c7f7f5ba69880158809b447a39e0363a59f46f83ade8032c7dfd090784c582141a5e4a9114082a2d91538bf55d7370525f31c0209342d78d327c53e21a64d9c81330003dc63b84d1ff3dc7a63528153e3d3028b66ec2c58182fa818d3c333f69b6dc9935cb670fdeeb226bfec9f3f7d04f5aad6947444e72dff3c46858ff89ab9a642b697f8c37fc6d58abd30d7e07061cbd366a566c22784e84d836a8b4d550a0617c4ea1ae7af61e2c78c9c67bb50c0982098faa9e14bbe0bd007e81c6c556bb3ac19b05057d7b4efc0d3d4238943ed1a552b3\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 1be82c7d86945e9d8bbbcbbf58216b20f2b44f68af6be2b538c52b0fa7809345aa227017a0854d462b74e287b20783cfd871fd85496dc39e8258b22e6befcefec67c69432ec269af2b4b348ec85ccc03a64523f038bf3dcd2de8cf6b6c6343b374419802d055902569d9188c9f7f795aa2ad22c8551392fedb3c5dadeeed4c1ea0ccf9ad237dbd73fc590f0920ba1ce11a130304bb3c4b923484a4922cdb87c032b16ba940885569e4a8a81fedf839f86e0d264e5c773b2530cfef13614de349779c08b9c18ca8e53348b62d9324c13e7222a99ef4b085cd8bb91d90b37e7bc6a5014a4906d7c3e5c59b56df9322a06434142bec6b066759658aa822c86bb5af\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 1730655b946726d5db32d09c48c6b06937597b5766f4bea6d2a851faa90d83877887f3250ab9b8b4fef104a2fc0c22d603b28023087536c11da54fca390f4a3bd038e63ad1abf12c5bccf7f80519e941862dd673624ab04390a68fae6e1fc5874ca2dff234172cacf54c565fb999598b372523f4e3730acf43e3a747bc067215bb4f235133a7bc20a9dcf3916d619bfbf6abf0d565bb3e922fa93116725017bb7055e75b455de9b10f00716f448410f6ee84a5612d2646809050eb8b27bb8707b6026c168958b068c5406384e031768defd754d94bc497079982012edf7f966fa81a954e9c9be118001977773def1f29aed719e51e73fa618fb9d61fcbc4b34f\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 264fa8d38bb793a078fe9d9f39a484a8d42f4aae23c9486e2d987c7fd18a3e38111c78d4e90a4b0152ef18bcddfc346b901e3029b11ad5c95f92f0c53b62cc7b1f8e489392b323b81f5502e69920e7bddcfd212e32233f569d42ac9c511779de6618ec5411a95475126455e9d3d83d35620eab93f18f7b9080be87298079c5aa2e31f612727d979c7571b7736a8cccf6f3f053cd9e25ec502c8d61ee4a2ac94a879452c4a9aa88c094f73dfe3dc31a5fa3d2802fe2400ee8885f5527100fc82222d4470c979eea045db6e068e9a1b09591754eade5dd48f401da26c44dcdc13ed482b2202b10212d99378cb0f848d19f67e3f3d5351c5698c72f38b2d7f71c0e\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8908cf495fae96c593c04e0bc329ed29cb7fc151c8d66546057554b7f59e2da70b164dc6bc26aa19370903eaf5fb60a0c33ba9f8d39cc015a8a5e10e24d9d292227e1a52bd6640b8de82202c2effc973341e0dbf0bf7a47ffe500309699a9787fa74ced281ce129019df96930d66d1f95619abfd5127a85d9e0aa6757e7c8ea29fa339214074580b8181804bd224dd6d4be45c1681158ffac6ebf5399737b5538ead3fbbfa68b9407fe717d255c7e1f3cd02c6c2793095999d0e35493c67766ce320d4bc4c984bd4af0c1a6744357508c2bc23c2eac58b72a181963d7838e8f8d5f979ab3b9c505f177ac3350657cb84c52a4be3976141ca5727190a2f570c08\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9175f30fa7863284e06e3a81a23f56b639d0ae37a4f42779c71a6765e6a2e94aaf76fa32e7c29a8d936b9936bd02181c2de75a41a703e99d35ffd4dd3074803e77fddac42fb4ccdb5793b7e6a530297efc326559253d493a8677cebace5ce7b5f5b61c253b4512c3fd58ddc94a5e7c241bb4046ee1b3d955a80d02eacf0b231b3093cc17f18e84ad6d2631d225aff74f66f3e0afb1ed290e8ad10ba44ebb9e3ac198a17044c3abb4e41c4351a7d6d86847f654d3839870a78641aedcded01d", + "e60665d8edbbd9d7ff46953d2fcb6127c3e4864a7a64cd4872a2f7074e4ada781e25f18ab3b60d712775b45cac1230e403adcba7af3aad81e532490fda65c5f044\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 36f243ff8df76718fcb54fb3ee26a497df468d14cb2e9463797349c85de2fd05ccd1d3c8b969414add075a55c9c4eee7c1b046aa5a9b65c47db59c236ee44b165c38b224379d39b131b63b6df44d6119c947c01eaa14980df1a5e8d7d6e6c5e8306151b16dfd001773331a408b7442dd83a63adb705cdc171d4b43591817a7abec70ac6f85a73db930b651ade05c9d119b63937109ea17aaf72582427e174ce84a1b82b51cba8483d41d06dba51f0355db3e4f48aeeebc3df5942eaecac74ca56a588da107df4be3edd56c4510f12b85760da6676b778024fecaa217cd0f359834cf2fc94985136001d50cc7b38d6f7c7383d3ab58df97a464968aa651d6ddb0\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7757a37d09443fcd3836e17cd254d3d03dc705d23f1d656112bf3aba485ee6220c7844912405d41978a94a2be8a16d8afb098b87f2b641e0f9a7d3845b02f10a7d63c2d871cd1d832679209e4a8c66095757b723557a7fcc9a7b6f6f9bc9a167364412905e38a843883fa7b9761e7fa664cd2bfb0a5f0043cf2a6eb7804ea07f79a6ca6633664b3813d8c6e95ab7f376182f315b7c6b043913e19759485d583fa92a4464d76140a9be4305fab54219dfe69590d6841f024bc29d48b39563b6053456dadcb8c7903c7bacbb3a80e3d0a8acfd222758b2647592ca4c4f2bb2a26a04ef15ed65e90c14272d15fb4e0464ed31e0a3203c6242c102f480aac6bcbc6a\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 1b7e55659dcbd51e3c3de5eb5cc2c4224009489948385cdc8d5e564a49402ae38c1e51f2fa9affe9575b2f768e21565c39b5c0ad107cc1e5e466cc77328b8919321ffefe5431cafcac48bd7d45fb2830a548cb1424e3c94ffbd85e9bc4e6392f56c2b6931a301230b37135e93e460a30026da53bb55e3c6adb68800b694172174615bd2e749e8678023cd7c07fa3021e3bbf75a7ce81ba849efecc3a7d8a0af088a5c437b114bf45be2d10d2280da8a6208049143620134c76933278d54c236065b795b005ffd7be8dcdbbbc7ad822f3ce7a0426dc4eb0194768470b0e7317466899f60c40ee3d49d7902b9c355f6cad7dc26386227c1fe8a264d3b7c0b830e8\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 4e856814cca0d9c39a2ad4efe2b425ca0ddf90634278255edb4b7f643a868ea468f8d1afeb72b1bb60455139f44c046ecc121354f1a9507accf5865aa1268448935790cd1b02604cd800f6f2f0aee5adda9bddb6b5b32e0504e2fe2012896ff9b8f670364ffe6e563e1a9a19b491ba3414f779863bc8bf411ee0e8a0e6ddf1b4d4a70bdf6a9a743818be75628773558bad898e4842fa9727770a15a6aabde3b503709d1e9f602f6fb23115aa46706cc78e48bfe57cc1fc4409c4f1b5f440a3281f955b73eaa662adb9fffaa40b4a8495659625c6b7b51218df928d51cd66f59c25d7b94b798c9fb6e97b43ade5f4d17f59111deeb03d442edfd144f26d3df606\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 7dab5f7f0430ba2ed6dc53d9db80579ad10343b72a9d8a37ce0bb38403224a4abab252c3a0b5a950170d2f663ff4a8d03217e289d715b27c069432c5fc9591972f1b4ac468ab8e933c1fd4831978c0381ff9b8ec85baaed76d1351a8abc38a53329e9c8bb3c1f77a8bd15c29e509b198d46bb28c8d98f03c01f9ced381d24ed9d28ffd1d2eab5416ed5754ccbfc1214b5ebc3339f5a6d667581fee46d60eaec42074de8200d71e1773a9c83061f2ba4b9a2475f552f9ba99fec5028a020f4ac2208196f55c9fa8901c31ac31fbf671be577c9cf64f7fbf3ef7ed60132f2a204f6589d23bbcac7a87dcd46607871988b5f9afa5299f35562d58e93478f1d973ab\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 7b677618a244ccf2d2b9ad60413580b07be0460cbcb449e663f1d3504772c369684eb6fa5a3a18e2bde19f8f2584a3a3204bc9026c492137738058ae433d68836889e72aecdbe0385c9fd56c4df102d979f7ed6b59c1be1627575be24401bbaa88ec2346f6633e8b01afff790a4ec4bc1900214d8b9d34f29e0a548e3acef57c197425afac9e4dc2b9d8b9da30e771e34740e5780a52d028ff2016399f78a802f032b92e9f1c4c9b9d8ba9be494f8e652c43cc0a0b4952b5d03795359a130e4cbb0708dde79db136f256f1dd885f340e7a870fb4c3e8efe2bd20deb63fc63a01a8e1161eee493e4bda9879c814d9f16123071dce45209341c54476539a9b1a2f\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 2a69e572a00d5d2fab1f91c04c151ab21e1cda5a7675b9e6f67277b120781494f5ace1ad3cdf78e6b6022eece7db55301f5749966c89df5dbf2852bdb182a75baa295697fb1e78122400d013e579cecf3789396102aa494623b5a4145c9bba954e80473fe613513cb9fcaa6792ba67660a9a754d6ed6e3568079a7966396794c1ab9016cf980dd3963179c8f3f0c010f3f136c4b611170fc11c133836cce42fd43952c00d3a7dd868b1715da5ef403e93a64673b15ed114e671caac4109bd2392b43062434c19a68dfbb71938aa8d45b96711950380de2a1c259d770cc5e98ae79fab1a7fda2f53e3098aba41b6fc486b521eb330bb226d0f95fd14aa83e2b14\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 36536ad1227a5d13acae18d8233a00d21e8064b14964a6d0fdb43ce46a76b9ee1749d77d82227d5bbb031ecbcb2030586360460ce3bf14c7a4d1a0202be3a46913913498b3390cdf96ee89914e7e78548f902a175a7f5f35b48838add2418b25cb7f919c1a0ca558f9ba77dfb6e4df85432071ba78fb6fd0edcd343f8c735f061ca9033e5b3441756188ed588564902602e18745a5ce8b57e3af413173801ddf0cc914d1b4d29e3377110a7b844be6c19773f9db22d5b266b12e8e3d4833b721b1497fe7194c0fb4e3d83ea9193e0a12053680a1396ca5fbf69a717758c5bff5b794ea18e56c0e82af3a1b97f6420f4d268f298f75d7c3a7b820d5557b44d035\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 325957b2999e0ee32b5ef7302fde0299c7c3647ee225d51ff330f7cc67b6b406cc4dbfd6a33ab2c831c78fc01685c4c3bea94f2194cdde48b6ed1e87f5984de990b5a8525470dd23153e329660bf31e433159addf094b6edac8f118d9fe59c34b83db1dfd26df7154d13e874830e42cad61cb3186fa80b54b7d7ec9da3274d2544dfb42bd8f29a3bcf976752589ece5b731f63f3b072b7bf95b930fef428c121560e1daae7d8636a5f40312786dadb81c07577d4a04ac94dbaf9b161a7f8987fae51077a7caa74da3c84e46c3e1000f2590ac2b0c04d17a7a3cbddd639e762e80d30608289bc6b7211d69af76602d2ef33c5750cb3c183c11450a3423d6dcf4a\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 5da303d9c88ba80e7df9c1bb650e8317c601676af8fbadd86550d15da9aa9f3d465d2719096e738e922b8bbd1b2e032f7cdebb111266814641fc45857af8b10ebf328c9a434170101a04be7cb2559394debb8a5efac20c6ed858b13d185536270f056913790a4cd269c424075183620c6a312aca860f7d3d694bf5e969fd0fb9333f7e42e8955ace71d957f8eb9fe1965117684c2e73eb2dbdd97c1b2f7802dc68fb9824254b128055932399c796dd3ab14d62b917b7520760e678f7c5eafd82f6510906d959faad867c92a5bd8bbe8c1e64a34025621b20dfa166e37251bda6e76c296dc823acd8ddc73aaa29a5572fac2344f8d213c21e5fcfa1e50b8b2eba\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 73ae94e6749a14bf9e157305231ca7941d8cc42892410520060f916e1de657e11b50e42a4766c5e7b55494c605ad3324e78d80f8c4b31b1055a599a3b31843c900980ce057cb8bcf09906c8832a97536fba159723e7ef271a8017545bea5bc0f3cfe19f967f9ecfe0bc9f786daf5367be00456f97d4f3b69d932fc5d119779de21f7a4e0a9e80b65bbee18494c4c48c4be3a62a19b483bd56d194ff1c88cf146c2eac3fa2a05afaf3a813d5efe29342f6b0fba81c1241d565306d0936699dd20248689c5b6b4ec2f31a12c0d5909013ed97799c47ef089b9d98ee7e79c8d89d7a27563c529917977ff12a0753bdf8b4f62b660d33f7f6da7860ed4b021f51d01\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 468c5f910fbcd2e2e412de22199a9ec2e46d084e2450e3752e58170fc7a7cd9870c24859ca131b967e0a734d555a78795ada986a1b13b81ac3bc5b7e858fb3075708d2cb03e4cada94455970fa7d849479ec8e5484270196147ac77c20c0a14628b8d3a69388973e17d571005ae218fef67c70f62436ba32e5a53566ff6310944417c7dd0f7e1e5aafbbb9d4d0853d84624f9d6e3c8078c17c34aa16f0bc8971580f456c2dc49f13af44cad2e3dd7120b70d3bd2c0a0957d5a739a95932b24ffc564bb94d748242cb95875814fbedf58e8c036a516b540ab62a7afdd6e3f304242173fc69ceeb95871bdcd530d53b7145459ccf41afe2c8ca9ccbffa28d405e0\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 9e7e0c0d929bc15ef8ad6b64f9dfac6a7f0b55942eca76df1ada99e443fc3925a5dd9e2b25befc7a9e1c09c9d9c19a3bb842c0f35e8ecd4229807012de47130335175d6f558b79aae6fd7bf2bee86ea2902fcd9067927f485b007723af826511d1a01042ed6a7a2b2c558c929a580cabbd83c5676e1af860c596ef784b043d5c5ed963c859761499111337cfcf9d4cdf8a305d6da83ac6239a4b2c16281d1f4f30a06310bf4237ba6594b93de279e8fda3406bd5c7be52a0d3cb2c7362a6ba028e74572c8f21e3ebb608ce284b4b378b211ccc8f42471ee86923f57fd7c2b8926c9fe0a915e160171cd595b37924ebda6ee187f4a5e7e4a63161e246f27eb829\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 92617dc932c110bf61e88895560638df4f8d05172f435af4457231ad08a5650f1f505604029f423028247d4231c86af51db339c180177bade39076dc67f9691fb7234d9b8c097e650ab3f2822414757f3633a047c5d5082eb469c35757678be46db32c4cb628f30121fd8f5894eeef27707c8689ada5fab7ab0c2e2290a", + "76a1327828f41869eec62c2c03ff50d95a678bd95bbf56f533eabc5474df2f23ce2f8c0bb71b8bd79e2dcc28a682ea34eb20e670018becd44200115ae5116664cdd0429fe227fd0d599b60c6bd3911082a7428ae1f57bcff5b9377fb30994129e2bec9429d6e613c1b527e9f51c6e9921f59be1763dcc210cb2e4ce86297b774b1a0f\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 144d33ca3e767af7d1cf7de00481c6dd6541189cd4899cbbe3125463469e8d317018d0feeb5f3c875a4b7217bf1128f448068af845886de43a4bf4bfccbe7f4d02ec30569760119ea1446ad2937a0ce28ebe3cf65b8212cfac09d19988c3ebceac6ee62d7ed3d716e12517f2c9aee98561ccdc8e7430c6f9f48e13e1061e18c02d037d22fd4b40ca203b7eecea229d155182fa8c4d70905ef9b42885fae0b99bdb945283be021a521a57de94958785bb9fd8b9ff5f7a334a0062892ec1967db6db2f9d9af726432162857996faa863ead0f7ed761643961e80192b72c7bc2210d80600bdc5d9d766fd4c1e82053f42c54e79f2605705181a4d7039377dc36c02\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8cac0ec2416e1ffcb37acb5b86227e5a6b88b7e4f50981aa54a1ead401e9b968f68b1e0278e55300070f3f05963cd74124ed58fa3969c41c5106a145490174001338c504fc01d2574384223eca0a755142697631e59556669e686b6ac89561c283c855e6ac27e4c9e4c6989c97d86f7f9ce042a65f20ea442bff4f6e3025854a2db562f4a25e2e9d0cbbdca056c09bbf2308c3d34a0c0e39b932cb6c6ffa47f471f6276439b320044c8d9d00dffd9f01442326a209fc01cf034ab84b0d9fa8f63c2c342deaa9baf32b904b66451590febe4c1821fd6b6e88a5c1307b053cd0fe9040abc3257766a82e4d9c6f9a059fbb41bb7116bb6d71e6fa778085930895bc\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8cf2a2d4f7e3bce319cbf1f2611c9209edb696e61ba984512067db8a91e7faf6bd1bc399cfc9e7e744662d07437f677b1fd04fab3de3f9c89499d4a15a90c194048b7723ff22572acf54187852381c3453ae11da318b92513d3544e671f742bbc3bd69c8552f1d4c58b43a6f7e6bfcc9eaf78f9b94cf59b7be21ceb2de33e50e50fb8a4592441e0919c621477a49f87d5190fcefcf4164ff7d2d5803f03a8dbdbe74258342e50c33fe307294ca1ee3b2dc6f400a12cba00002871bbd852e105b350dc11e4b551182ecf2088cc46af1a899e606bef793897f538792a09901150cf40efdae87e838d6c2a5ac84771599daa0e5ed9db1cd35468ab3b5e2c12a6d1d\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 2dd458297ce1a8845a767f0a1e40bc30d3b9b54b4a82f6240a3b993cde0f70695435de7973ab17352699e8e383391f17f35caff60e64587e2714fc6807b00e98344acb71195e20673d7ae0360e2aeb66a5831e1165432534f873c0f625eb3aba9307ecfb7a460ba4e28610a7242cf0f76a73e33d6b15c489e2755f91cc4dc47acd6e9261a2e34641fafe52da98a10e4a8306c843ccc8f1bc3c98f1b4d7e3ebde5607243e4a4bc442f87d2a2d09a83c9acad25e558dbb72277512b284a0f93be155172b9f8463e27a701b3616c3021801f893b72abf7919f9963a20d151a5a8d0bf2dbe528d199084a2d7d4f3d1c0ed5893117620cc6800ad3d7d246ca074c54b\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 09b1fcf9a76a1cc0819fbfcc70d54d52ec5c5007c13581415b742cfed2185c2a26784aa85a208dd4ed140654df11436c5487c170bb213e9898650019848b26413f8dd6f0aae6edb41ac017c079b63de311fab7dcce522b9361feeb941e9371bc20936689d0a7e464c869ff8db1f85890d604e814a3fa9c39d101bf7a4b40ae89e122d314462606f8a5e5039f86bbd3da35f8d213b64fa82aff067817936da0c009d9f724abb2060588f8ce3bdc13ac587d51a197acff533d0e4e03083589d1d7363827c34f2616162b085715417d3b8cb1782c04cd0a37dc91780dbfb5218d674a2d2c1096c2f05b28aaa575b60e38123a8ed8d343ef95f777081eee898ea455\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 889bcf54a28525d32db03e8452c6e0f0aef9941716dbff0497014ea9b0b181be70d319574c24fbbd752dbb9ffce4b198ab43b950b05c2a1288542b6052c557c87450168e4cdd399ed8d9b7aa7c841a39b28c7bef5bab0f1716e8e9de9a15c1132bc12cfbb77f237409608fb8baaa2e851742655e272e03f28866723b202d639f28e29372f18579c4482570b3816e037f8f256d7a95116988b676e0599885cea80d3c24b6984ec8080a80af020e7d5631ce8646c9d270d4a521122c009ff626d2c428b1b8334569a7e79aa64a5dcecc7c7e4881746bc3754a87fe51018cb401bdcd6982c4fb4b3782008b951847d64d3eafe4e974bf61d215e63b750313163c47\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 14dbd0f32a7fd64ca18913ef840e113d7bdaf22aea671414c9c44de02218b474d6d4867a9a4b6144bc6274deae6f615ddfc54a9e74b4c657187c818781e399798db8e62987a128105086fbcff4d5a06bb43823b1f754e485dc24d9f952d1d4ede9504c92a2511cf51e68eb67db959152ba1700af0e0aed533246d7ce9e0c012eda62d66ab5be82b0ee5fe4863d3c16b59ed6d463c382b25a9c8ace7dbb26b125afaf44bf93edf6a63942b38f40deef43ae354934056917c9af6655872b010b0840403c1cd5c053355fabaa23ba39dd381f4867a2264c476ba67d46767c546ed3ea59488c5500c79cf5e0670ce744c2603e01e7c53f452c22ba15a8c5930c61e1\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 4bad954b43b0fb966ac33ed7c8ccf2fa8246279677172b39854268b3c2a3fa670840aab9e0f53a754bbd105f2e52a29b132991ed814cfee0a102e293451420deac214bdb5a574f9cb4b3661b10f6804f5c27d1239556413db01cf123132882972d04b9a0b8d046b8993eedae811f67d9acb9e28b3ab4b6c4d0e42f85879623f1901ac082c93ef0fbc12f3ffcaf252c8953bbf8abd6fc01b2f272e27448f4f77fb369f2c5215c7eb68b2fcfe2e584fea33e505e22a2aad0844d1c8689160a19ef377e7513e96dfd4efb1aaf180b8d5dd8e6168cea4b34156f2ee20a97deea0fda18c6438485fdca6c705806d7d48ff93f3b8dcb847eacd2235ce1db391bab325b\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 0043058ff1d0e41ca8034e843d17284e41a93df84ec80c927a2443e954025f74630f118b683d6fc4e3c6b7ee4538cc6b4bbe3505f70ae40a336948f7da8d83b1d7fd4ae3541b885537e92e86570c2b7f622d2c4f63b0e0380e3d13be8ac930d06ac9cb1f3d33882cc235f93702a4118038a343b6da20914c40e52a2842009bf9c8312090bc2abbc4e48541a6b2dffbed3c1d51e989479d017c60e6cd2d76ec292e75ba550c1c195c6ce06c017e5349e10a90adecbcc43f71f3d24493796d464dc89737264dc102d1fdb9fa1262ca696528d87dbf45996b7087e755ee07075c8fbcb2036050c8946866bd972b0fa59a2995fce09e12250341a2e43d5e2c8df8c2\n\n# tcId = 158\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 6afc343f91b6e24958dd3da7ed8261a127ca3a5641d38f17ef5da8bde5581d87cbea823241b0c7990c31972e53288cb253fa1477405b020de6dad1f0d48b30ef11547a84f2edad859f6f9f11c1cf3a22033050d04ae41b19c43d6a6c079e46df4c38ddfa7c0482a47b5aa00ba4b244d423328c09fa1589d412775f260e55a8d10b9930ec6988ffc138ede59c32e995bcd85ea83d935eec5c870b49b88b0a7826683f614812449a00a9a67e11cf55f5d16f9763934d20c7a206b0cc86227d33498f492ddb98db5fe7312e25654309f848b271563c5c75d246ffa0ab2aa04ce3573468902212e938b8b6927b5baf3620f75c20e3b5d878707837110027c6165c24\n\n# tcId = 159\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 539a9b1ffcb0880d93d7676fbfad02b11efbd713f273caa558755cedbfc0bc838d10823ce56c2d506c7979d96433d6777fbb749c52ba263c77d4e33790f78bc54d696e1124650681d260af084be5ff47ce9a69eee44d54ea31b9e401b7f558413d66790bb69e938f45e545318c8b7886cf8c0a3c84c331f4c334ea59ce3076fd163ee17c6786e7908c3356f1c81916f7ba36d65fd31c9350dcabf3623b6f2bc3fe5c247a32c8313da0e67e8375f8163f63e84feac04dce2ce2950a56b6fe285ed06039df5b9329677b2619639af36137bfbb75ef07cd3ba5db5104aa015b0da57f70f773edc6bf01d5c68390073749bf253ef999d7d1dd964fac0cd3e39526de\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 757a75f982883fd9dbefaf8ad051ab35c965607fcd55f656dae97ce949a17b5829efb8cc34179242c2d442000da7ee7bdda0a5c114a86c7d0f8ad79bfa76c4774edbcb79827029179c9b7cd7925de898d09fae39516ea1da61aeba1f31f53380ab9edd6cc7170cf70a35b169cc9390b20823ef0d5e7e3a078b31f877a1f6f9c447dd979915b0716fed43236ade3086cc794e8bd210140f0c65c79d2e57f387f22e2d7dc12454f9ea384b928779fac27bb2e614e947e3307cfaf0f0899dc320d4e5bf47b9e92cc3649e35854d709df56f55dbabeb61bb5dd0e77fa8c499eb9654c277b34218b7c0a92088a0909da3070f5c2736c8edf91fa7ef038e091629aa7c\n\n# tcId = 161\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 0d146c7968ef5f1e85feddf8d27847de4b28e5ebab16f8af3b6b6e58396aaca752052764b8db3b1140a0a0cbf529dee7f1cde601bd42ab916e0f183b0d37c843a7568d24b07d7e1f26ad7ab6a96129f447ccb28849f83b92cf9d002a93b904e63c80d8e58a57fe586736d129663ffc6c6fcf58cc6de1955fc7bca9ef16aa6789d61016212307ea1e059c43c5350e485cf6158a25cd1e8f726a1473a4f598cd53bd7b6862735ad8e66491e6ddd0ead13bce9c14fae69dee16ff6dde8f0fc33e85684e3745cfb3cae708dc8b599142821c49e5d5d93e26e251924da8d711a731ab9caeebeee7d764b87d633374125dc14d8f8b944f2cea2450d89bab9ea1ec7370\n\n# tcId = 162\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 2fb7010afce511f6c6563db8fe3e623313fa82e37f81a1da359f9cd27ca423788cb0c65a6ae7c01ca82410929fe57ccb8f4f3158a3d9016712876f7accd970d30dbf6bd90c1b0393f11279b3febe760ad1", + "786d593a8e0a3944b4cc7c5e8ca41ed5e698ba367975b2ab7c7c0a6be919f36ed1771b1648f22ad899af51ea469b1ee47206e8174fa148a9670a4e45a3d36fcdb948ee994888f07252a37d636ce541c70da9d6c0f3ae2a860bd660ce553d5e94b1bf2687e036e77da61586b18189558906cf12a63c2850e28cb595c46a85a59d84be6c28151f81b10ef8ddaf6297e5ccb5c009bd0d51463fb48dbe48e9dbcf7b325dfa258322cf6acf30ab8d566874\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 3f52510fde9cc0425aa29ab11dd95bb0063c94b9e835dc4ad839b409e1cd8994c87ef018e0dbc1571d3e3e321d35d88e2694bbdb9422c31cd64331945a8f6133fb8079dd5cd8a55ca761a88f280725f6e13c178ea94bd7b7395b4327d572e2615cc60366acffff56d3f555397b2cc348844c42dce283c948c28fc8d077d07c390b8c78193dae608056c93950cee202d68f02b3d8fd58026a690cbd8a95f4d1f1fd15a19e119b3340d02710faaf1ddb66af60fdd5dbe8f0cac69a370cea0a4297a8a2ba728141886f6aea3aaa113a42b6f9acb2fbdc9f7a0eb295066a1862b75acbeee9eefa0adf208867cbf173aebcd4a9151a657a041577cc4265c0c1ff9e47\n\n# tcId = 164\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 78695d7dc94b3ad16254631482570bc97bbe1e5601c5d437660c9ffbf3d7864321e0a5fa4ea6136084ea004e71bd0ce76432f9b68e3c5e8995bc6e33bde9a93bdabdc6bfe5f8ffa30f22d4a13d453e26f975a7ef6fa21acf7903818df3a008b818e829d00e93f0fbde717f7c9de12e65581cd430993ac5d8ac840d5ab0dfed1834913c66e2689364e30f595c673a3c6c8191e80118e8cb2b36b1b613cbdb40d89444694b2609694ad877df3e42173b8f07f8d0089c34d8d6a539ae508105ee91a3d0cef2208ca74c57b57ac193412a713ad9ddfd10f63a6a9adcafb8c3eaffab0d0aa38fae362de560665022ac755fcea073aa905be19177debd5b00e9434f20\n\n# tcId = 165\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 320d404e25a77d4ed6108433e85c9e8212b3614796c96105421acce95b48abd9683e00fbd57333b4483cda1d69d77189e7ca795ddf23355d0a40b67f9c97bf5843487b7550fc0d3577ba3a0cf7c7e083d18902fb4bb231c6ddb7942f512896af12d344a35cc6f1d3a6ceca567a15484ef95580b831e0c4d62bed425deff9175b68da5b6cf8daedcccaad83110b42ad03c5e8d4bceeb8e1ce2a9b15c2a61f0ec65248698b691a86d61eb593a359366254b8259b396f5ca3aaff4d0d3d1341afc019e6f7a2d43fff46a48aab2f33721d906299305dd97a9aca7aefa772f153371831653b607725fbe60c952bb04f3b02194fd0f0790b6560ee5a8f55ad1e8779b7\n\n# tcId = 166\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 3501fae15b0d575cbae58228a1debcbb44575dbfe77fe1aa9dbb45ffeb821031933ca8f2b0e38900b84c86b4825bd587b28b94f27cf83cc8f36ce1e4f565124b2fc3426de04b3951800e54276ec31534a987536ef0e3d081dded8252bec64b432958df9ae045b29c1a85b9d4207fe4941356149dd0ced33fc5de142458a856151fc246c6626e9f1e00c326a00959f9080f5dbdb7e82fa79e100b03b6fe42e2d5c03cbb07b8d0ef8db22d323d9e8acdfc1dc30c765f7db9c9a14d9f41c451c3e037db9468148d8564b63fab33d5637183db20d27cb6a231491d6ac08d70d9a82e6e8ab04da8bc60659a3f9e31f793c2f0f090b6811f1dd634da057b3c4aea5e84\n\n# tcId = 167\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 989c7cce6a8018a5a2b05310bccc3dc0aa8f58fb3752111eaac000a2daed122d44293203ea9eea41eab79d0cae1bfb526a131e8a8bd021e5b98907de2b066a33165c30c7705c7cc684c21fac98d03e3c5e9dffb78d87fd57018cbca50e4cf1bd44e1799c03b0b44bb7a9971c314f2fcb1345269d27dc0375ef89d1062f1ab8220fe57ccf46a04e32b815f2c10a4045fd3b814113c679106f70d9ba9c746be24354e99b54e3dc1aafe2e9d83a668aa440194be87e914eb986c3d21447516efa0051f6a30d89acf520d697776b9b854d49230c6a221c5f67b3d66793b97741200b9f73d9ea7558df17e44de5480d99a4399e72a380c30b314d8b504fe160427df5\n\n# tcId = 168\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 98ebc21ca822ccf9c7e82166aef286277d2335a8f68d48c1f4cee180bd6003a89e6137885113c2af09e805020ef5c0e13f913d6add5316396654325d04b40c268c3eaf3a0cfcbc5963e5d7e14e8bbe95a8b15f9dc0244b202537cbc561c91e22e933f4ffc96499e6a3b0b33a33d9329f8178f35f5b1a15940f34ff47aa1a6381d8216343cd40a02b4472b5a4ab2f3116803740b947258ec85e3404c375d97ce73e00f9fbace9a53844b8ae669b9743e8f7bf59b3623c0fa1d7c60fbeabe35ad5796a9d8a6d32eaba6c045a6aa2530b6cf1cc045326db85b4f2f567a8a38f58c8d978f3f2fff2098eb6dae5ad4bde60d9d3913eb23f378ce41ba198ac273778fd\n\n# tcId = 169\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 94ed6235a870a8ac919051f7204f809e6bc1da3c22eaf7df3f238f7b183a7fac66adc90b51688e3e00764a45990845d542b04181d618c383f632a5f5193e77b48e423c0db3e266c5b87b7f38d95cdeacdaeb29e419619ccea4899cc2d1489e10034560aa52f6b17ff5f650659ccbd403c6e89b2812211894fba188748786b2babaf913a03c432f22da99c44cad95272e6cc16dbc44ac6d0a9afe23946d93299ca8840108dfdf25cb25846a8fa9234bbd92ab5712ae6d7f7f162fc76baabf30e0efeb42cf0a68d8c02dd45a7f4fbbee275dc14a96b6d010823d604f46e09dd1b99939a625f9a419be178bf6244929897d1387928e5013a0c76db37e7c048f60bb\n\n# tcId = 170\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 12c8a3d061fad3c4cc7b6cacb83a8abcee495ff2255464495c9d6a600c6e64a57fa9dcb18cd648ef5133dcab0f1a9c57361e4b2b9b0b996a673615f292601fea09dad776659b014dcf62c35ac063dcfb7186fadcae0b506e7b95c2b8794d771856d0ecf907025675d980746c5dbeeb71482ba4141e50f67dbea79f78b40875a98ec80fe1d7fe2eba043a966543a79317c28a824c3c6b382c0c57068a3036687fa53149788990dacd547723b3f0051f57829b10aa97a15cb4f9fce9617158e77a8399a22629e9d4a708114a1497d0465e3b5a4e1bbbd0096dafdba7b12cb10dbaa54834025043055e5fc6cec45c6ce9c0946e055ef77ed49522892a267ea2c123\n\n# tcId = 171\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 789094730a65d2a48085a67c9018839b2187bde7a2898c13b17fe25e509a437c152f9376ad710423e8a08e6c98fc43f9039b630e77cee3629791bfeefe37eb168a46053c80805221fec513e796db2d58f119ab33b6d0a1a62e1fe2824f2d5145de791d651ce86ea84c8740ed423938339d786964139b6e62680c991ab404cfeb166069d8c27a560780722d8b6b9299086904308458b47b9d85ea48fa78f861b396c630b3bdc1111edff7441b37afd526a4066e0a130b0953d51e5c3812dbb054f188440e5d0cc8e134a17e770d5a93d8b1cb500c72ef1f49b7e760828f92ad65050ebe4131ef295c7f8afe19a0d0c5be318353641d02262d557cead9a6052f6f\n\n# tcId = 172\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8b2e3c17fe8adaa8e7c8eaa0e3d98369131c8e9b76f36bc97fc95888c4a0f6ae4bb85fdb2435bc85d6763dd07dd923e29a8eb046512279ff6947b12bb2e2a6b6a3ccd64c7de88ef6b53676b25472997163fd7da09815af219120d6cf58f3a0fb3f408ebedf235e5e0d7bf6231cd87d95cd26c2ed506a0749abf45884c22d795bbee01b01884eedccdc7ec04d6394e4200233b8da3dbf148555e4168123749267f0ace21e1b468ab0d4f99a59ad10bd3bb35f517836d0034e53efa6f4a042434a69d6987b59110cfc99267835d7ebd2ddd0a621116e0fbfeb1b60ae85b9e80bdcc52fa3341f82da73bbb841a0e665b084c6cafaef5bef5de609f4f94005488f68\n\n# tcId = 173\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 4706e77141ec16f6936a2bfc200f9c5ec3e147be7e2e6b71790750ec513ca2ff2ac2a84b76fb96ad5f9af0c766af1b7fe8927af940c2487631fef6f7fdbed533df4f5da4f1aeb89c8f8a34c3a6ed7e5e10e28fa1c64f33985ada66a92e9c3b8b5f5366f075b2e9ecc0a41a061712ccbaf2add75254f62e1b66a820924b18239559791dab3dad8f60500fbaa3d76dc754df7a848912aca54e6cf627c5e9f9db9bb22c2cd3ce0fa13838125d88e80b3ae6baf8b65f0530885d307d47f1e3eb4bf6126dd631a4b6de235ab136886ef70d2f483cfc962cdb52e291ca899d108b9980b91eb47087b3132d154c317622077a28a904de3daf415a5634d79625f926fee6\n\n# tcId = 174\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 78e59ab23d412938f10996b4332f5a412d85b8bb8b3d55c9d017337357823b3cc83d2d1f2b9fe0025fd3f898d2661ac2e7d7a834465f096a0d29315fce69ecd15241750df027eb082d799e4d56497bff65a115e69c2cc57cf1b5e1c62edb25d8646fcc89a74082b9ba36c6aa92ddbccae8858ecc06391f6b39ff5a740be97f012b39f2d48134701cf27b5172297d217e8eb679732253591f45bdf97957f29b596f27ec29f7c471a966818c50296ced411e5010fe6da1c26b9e3489316cb16e55f8b65fc5a1b1bad4077dc34c7c9730402205f12e4e61983e6f5ad163324345a59381fbc3cadcb460aebfedf15323cf1be78c45198afcc803719bf13e42ac560a\n\n# tcId = 175\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 46412b003a67d7cac1dc7992d31259013069a1aad4292368ebe0e597f41883e8291aaea88c2a8115b47fb87265ebb9eba6fe9006bc1e34795a1c2bd8a39c46a28ad075d5cad833beddcb116221411efcb8e86863063b5f6b5885082c8fdb6501e708d734df29c87a723e103b3cb487138cccae90c7431a16189ea8971ae152cca07678491c5b3b68d88c4de18ad771fc252a9bef889b963b353621a0d52ddcd043ebccd4bdcfc5fd4f878aa2fecedb11236de9f44cae8559668f9d035f7adf90e03a707d5e0f97ae84c2da6866f85d49a8dd09106616519df0f5d94a59b1199ab50884cf6d912a061c7488fb5491df32c58d1af741a164a21c5a271feab9a2d5\n\n# tcId = 176\n# truncated length of null\nmsg = 31323", + "3343030\nresult = invalid\nsig = 951b3c537c26d27fe06f602bd224906b1c1d26e41d22c7a22479f11f913978c9a0f7791eac42601122e6a812730cfccd410aec252b203cb0020d3998fd6bd469e335cd664230fb6dd59e0c141dbca861346ff2af394d86b8fdd2e6d5f0cb3d942c3393d917d62cd0148ba82666adfe4c1d999e1a254cc466ce268cc0f14d352e7b0bea8548a5b6fd3745a81f15a72b00d278f881a55677fe37044394ea83630dc15f794b4f6192b7546e841fae0cdf9c00cd3a455596fe9c5fa37d3f3973c58f189db8d39e8ae149f57bdc0b16f9853b798c87e08ae5ca75e89d4b4f3baf87c8c0b699e8c216509e51ea60b52d569491b186abd2365ef5cab983f71abb233b67\n\n# tcId = 177\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 4b75061a5487fe328a32c9f454bcd7e40f234cb1acf55f7d3bb8a50ee75edb8b4ad16c46b8da533792983de2dc2d6371d7eb08762e2bcefc45467c82130d483819ba06735985b26a19c391f94f854e31e56cc09ca20d542e62e4474d40d5000910a9a24b1443c66451878656d3a5f00a19f476f1c9be86379036555de05b3198f749e40c51e87772a5ecc59abaa9e9a8d0a1681a3964c9f022215a71be814c8859a63b2a62caca2b6e98f5b10a872bab1ee1c00bf0d640926b867a87640f64402596df229d7bdb74f1e39973aeaea0661787a3878b7fec9d31274e227b59d14b1ce2f707da4521e430f17d09fd6e3d61c97d08bea35631611737780f2ac40bbc\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 490cbd8f51a6f8aa64af8eae7f76ba045aefefa5bd072a3de5590d7ed120f21aa4f91decd13ae7e9f414bada7916ce26854cb8cb0dc63731c58c94a9a9e621163546f19152c6666648ba9291f5e477ee86ee735cf326958afc468ef7dd9a5b2131505c7fffd17dbb7b35b14cb81058d533c7e9f6ede933825dfa689457af1e1b6ded479e1508f167199be1d8c640d7373283b3fc76d7c3c1354ba725eeab08a24b5529553dd38cef48b9d45f2b90f9aba0663839de4de17e2a838e243b898cf040cf6053a3be2a4bb346b1199a93bb8295c9c4e1ed40d0a5d5628a1be1ba21f45c1c28b936452c3e163810f0a20fa717dd484e46ef92477853592ed3fbe71da5\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 7f23aa1e2965383e38563ab246870c43817dbfef46b008de4b1744e3610b1adfb89c96ca9a9e575edb97c471861bf613cc67428234dca7bd72c422f0c75877da341bae476ff43487b087f1bec13d31fb777e94bff6830527bde2bbe83578ae2173fed5a03f142c2a41b8ee8873492c21b623cb8143134f9de25872b39644fafdb1fc96ac072935efcbdcd0fa5a97cf036248388946223399053770197b886b39673a438f67b0ea789b9d206257f9a3be5a13017cba89d28ea493ffbfe596f9f5d040ac3098a9d968198e3d004d79d6d704aa42801ad6de597cedb3676125e9a23f971083b2bff18e42aabeba6ec760ae8b8c19fbffd18947061d44060f754600\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 13db6c6f0fae5be1caaec197b79dcf6784582e508c7e0ed3e56c2674e8a74c0b542beab6b7dffb0773a87f00e4648332d4e9771ba85df0ac1f9ca2874dd7792480799209155773e39f1bdfaa561b2d8133f67d47c96275e6b1098d1b56a8b8ab5525c14555f4c9b1f241be6dba874e5d794d0fecbbd82a624b7d31b12bd60ce27451125594c744f7f32029c6c7cd0663627b99f7c5636a836e115d0c55a44f62775eb19444020506b6988e11b2726b2330471536066e1f0d194ff9e6e457442b9154261eae83a178ee2f1eed06ef36e417a04cd007060ab83c53e28056fcf49a26e022ec2baf2badba859490243a0d71e5de61c75d259b53cd3baf7675a1db0c\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 6a0b7c4e2b7efa7002c444307bd3848306d2ffc70c8e767a9d5b17dfb3df076c06ac0374a1c23a011d466c095184616abc028b74bc58b91df76aaecf8070d509d7c7b9f6403bbac80040ae854d139af21bf7a0909cd8e059b5a9b444b11fea701bb1e052d77c7863b557647c7d468fd8ac2f6540eaf18896284f56ee01aa66ad89fda43cb38cdf1ba553e63d4301869bf9ddf076cbf68fde5706787470cbfe78174a516c53ffb6d5d1a91ed78b4e297971f30afbb5bdd02dfbd1097128837541e2974be63541f8df256c8a77a3800fc340093355b5690326242b0d90b3dfe63160382fb3bbbdf9bcbd5b0309ca9d748a343f4a5f8a54b3a2736199e27386a4fe\n\n# tcId = 182\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 4f611ad1c6ae7158bfdc5ade114098ab879a79e7c70184884f97dd875bbd6b1b869bfcd82ae7f3ee6fe88de98d813103df76f4001fd430de68b0e18c5bf4c8e0805f46d1f98e44112cce945943f682e1af1444e20a4f5e5ce05f12c00e4af3d871730d5e18609a7abe3b7142fc2042077d03e6184ce935e668570271ceaea52c36e553fe791bdca3d966c31299138a2690a671a76dda745cf2aac5e5153a06d89aa4396aca684938c0ad142d5e75e6615364c921c8d18d2841e9a4722fa1ef136adb3aec7be74a018ebd97d48f62358623a7c8d13a76fecfb0ef73c9477aa59ba225416582faad0d7d466d6de53749c3b51f1c55c92fa9a2a08b83b6dd42848c\n\n# tcId = 183\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 5ca68695f420c181c082921645f30d562c1e004bb469277664fa7fe20eb317faf0664d266c3d5cc76aaf90ac74c6a4650ba2fe6e143809c4629c33f0a267015f16f82cb1243f786cbab518ef8a1dbb3abc4e58b1c85f4d04dfe795696927cc20bc26d9889a2fdc74634cc0e697426388609e30b6195da66e114fb2505ecd15ab8c5982769e7675cf76181a0e791e0e211367d736d6dbd90bf27eb7985fb3b33ced721c46c2a25b4dc849f0946de01b94b463be005fede931fb41a3231403c800db10c7783d442cba0b58dae9cdd02d4ec144513ce74732936b31be61e11715d91bde3998399bafb18b690e5972fd0d579470a98391c475f91f5f90fcb9d41ccc\n\n# tcId = 184\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 9b35b207ca21297aac4b6b7d64614d610e43af5d21cf3c024aebdda0947fab0be7c397491eeef644cc31c73b7a51bdec1dfa4b6c34f831ce7044a1ba0ab50882886393c5b714fd3efc762d6d1c9cd51b8972171d998ab884658a8887607ac9b57f730238849806920f2a5da51f1b4247ad8ccb4f6cfd44ce76b9a8ebc57a3593574f8640d553c74a3fb4d36fab9d6cff6241f6d9c48488799b384fe3d8a3b88ec0aca5f8978b2194e7d9ea6d6a0cfd5b4601bedc90cb63b4ce02e03b736bd5249fef55a5259d0001d4a78ec392e3889a6863fc0c9acf9cc2761739e75ba7f940e424992aa9e63609df63a6c2cdc5a15e02e11dc4248d940275bca51142c6602c\n\n# tcId = 185\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 15e12377d3c5d50865371a69fd5e9f41ba3eb5ab2f9882aaa1729198dbf16299572898e6897b615d7c70d57719591184170321df750358f6b6ab9e7aa5a2e150a77fc4532b6d23fadbc1bb810c8498ee5ed2f8708faac2c80eb704ea65244f731e85e82aeee3c195eb01de1dda86bd80634b586118c1f2c144809f527a4b522d20b241c8e50d679506e7ce8f016cbbb8dcb57fe6cdffb860f0afb090b5007f81c61c87dac85fc0136477823da4011dd65bcd6eb67977091197ef02a1670993113199392b8d8173c971a03de1e1e15872188ab951e21da015a17959527be12fed5fe4cc3019741ede5706c472fc7befce0d9dae71083d61eec4679f3bbf222d75\n\n# tcId = 186\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1365fd05a76a548057742f631e0d957c020f670c74a339c4fe0d78aab13b4a960953201e12d75a8b221c0f30be8a9364f8925c6e1d8717222946f7410014b85eecd0ce632147798eaab5ffbc43df3db7207ad776bfba6d5d356307f9c8c17bacf6aed2a35979dd304e5400541e999aebeb35049c695fb5f6ea15b2f5a5734e14a90ba5126b34b296c5981e13f23fe560ca11bfd934082fe3223e381b24fa17677ff85da1709135e150af32c42415eb954746c0183ec648b7aa2f25ed94bf92afbc3398869f6fcfeca70977a6c6f2505b350e8a647affcb203dd836c80f178007dfc3b4e4ca6d50ada50dc73d3971cb055496f7af889ddb31d73f71501f4309a1\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1fc4b5129a8b50e734dc531aa0b503c61fae5ae5202aaaddcee197270ec30d8d8e9e06ea5a4b83d113cb430a5b275d8273314c094fbee06047f8d9a090baf8f3f57c52247516b1ac84c1674a4788952dbcffc8c4b50bc3ed0ea16f95887cbe8121fce8c425fb0409494d5a511bcdf9a25fb4590dab75c2ebbaca4f66f6c11229f9367c9ede1214e726c8e3df12c764fd5b3b41121fbf240e92873739dfabdee2a634b142810b04d024b48a8f105682b5999bcec61bbb6fbed1d947922ae808cbc5b7c96eac9a7a94a184ddbf789a816202a19ad9c5a16d10a05e86a870eada53fad5d5cda3ece11b304c2da1c6ba743322ed24417803b1959f2a12c92b9939fd\n\n# tcId = 188\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 5c0038ea42c3adc50e88f90780e9b0dab64b67c5507f5de0119c0fd2bc7d7a66d6baf1a47c7994fd39e33bd77b31d85db7f7eb1c3e5a5513a507b8c531be20303987382515d84a403ea3f9f3ed7c1b2fb5e5ca7d94458a7fd6fa6a522e92717510a167dd0cd2d27cccae6f29b3dcbd189448834e3ef5c029f6753826ed166f4148269fbb1785bb52a00ca635485c10abc64dcbe1fd7fc39dc9e6499bc72cc0099d6d2c8abdec7beeec586667af53683412ec0491534af62431d650752aa7da5cea0ceb298e24a5166f9df4cd1a05762dca43c5a2ee4687cd230b35d50d811d6cf33c8cfd49f222d5ce2ff0403f95c21f9e6d6d3c38eff74b35a392bbc50f0ea0\n\n# tcId = 189\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 188571e345ba738adb4d1c4867474faf486c7a4813bb0dbcaf3f051b4fb5205412cabd2f8279930d1038976d5a23e0b064ca804cdd3a5b82b7e8e45c70381386ee84e2b9198206749f79b343677408731853bdeab4b5849abd3e603e612b857e2f63f59ebd66ca977d60e8d66f115394ad06c1c42ca0eafa8f32133ce8737ea606fa17db0f81898de3c3d8f4bbaaf7f6e48aa01424f870a8ecbbc97a6d71f828e91ba3a90c13540c1a3c3c7de2d4708edeb22987574fc9c9be0917cd40b8c", + "75225d71a9b0dc9164d3c194043add6f6cd636a3bf42e0f6dc2f856085ce23e5a9c62f81e120b619551cbeda6e3eb0fbe693b19f2047245281dd6591af89fba425d\n\n# tcId = 190\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6c5623ed04e763ad3bd1f370b1bb67ff8e9029e0c34d81e160c580fe548aed6964d9187a45e8fa87f79dd3d8a94d521f2bb8a52cfc34f76385a924c88e63722a7ca365127c0c56e0125ed29ac2f8c960ddf1c99700a19d42cde3e5e46b96bf319fbeb93c2b54076628e81c2ee998f4257afa27a681e8dbb49fa149acdcce9d55222960d307b2e18b33729a61ecfbb01461e3b159c2c958fa1111ad7b4ea80d8897bfeacaee2afe4b17b9b0c7b19f9c2e394429649aea3eeeab3503fe9966c8f3e6b7f0d5e482d6a07d93dfa1eea617a99e55bba32f957c1472d7605a4ba93669d15365f989be09187a9eb58beb942948b9fc7b658a1c06289bbe0d2e6a1e0084\n\n# tcId = 191\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 27e64c5bc5ad2b95b745e868c21585b53a912249344faa36cc0a963bff4783ee128fa6a8251991c76cedca73b70f7fb27210dc89a93574c2e3a61a8ced2986a1578179c969135656b07502a622fa7c4d208442a8318509f0a736fed1b0dd33dc8a30a5c3249aed7a0aef71ab8858d9f1f9cad06d9802ca9bc125a7fc0354bbb55069d73434b98aa9c7be61fab59fd5c96cd0e64bf704c1b213bed2cfe97e66fc6f6b061cd0a9b01421784c32e71775bed2bb2890c8135c42372f208602ad9c4e3e18ff2cfe24871598803845618308d7956c8314a58eb188e083fed8a11533c933970c2bc313137726273f09e36e827c9e1af36b7ac450e0b544a03eee9a074f\n\n# tcId = 192\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6cb9ed3d4ae69ca29c8d865135a86758317510bb3576086999f6985c9f605376f778e9c5f3b80ec6730be4bae0cd4d5d2361a3441ff41118cd4ae3a3bf875c7725f97fcf32805fca3a1e686d408fcb4695db384a179d3c59e3260b17031f971b1c5088ff1849022dedf2d1ba55259c407e57bc01203a2397c7a9ceaa1053a1a75df95ba6a9878e1e40237642c7a4fed84162f4124a1ad45e6f4b98b7e607d730b872467ccd0079d2037e2d4850ac59cddaf4ecc0d2070983f44155eaf26ed4b57308a44d52a36f8093ed35561130e34708c9a3a33285ebf11cef99a4a06fe9318c6bbeb1e770cb71e1645fe343652ec8174aceb462745d4721c8af3e3d2f4b54\n\n# tcId = 193\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 58f32013534e2feaf9a78986204ba3912715c4ab8f1e04ad4edff544a3c29d80959a0d5a169af564a4bdd5a9ba3b6e485cb76438c3fceaed89bd7d3aca0096627cf2b6135914c7ace9df9a9c8b5b1c97ba2db844c5e1b73d105fc033571ef8e652e4d95bc8605b28a0cbf92f373e2f31a6fc254c2eb9ad944ea376c150b88bb1887848c290d42314f1c512759d25ef7a79d18c8e5f81318d28f9794f1d6cb30be36bb30c6dcae2cbaf489678f87a008042c02e6eeb067f99ede27043b2b4166d46e1ef02cdd26e9189dc2794bac12334e34e8f93bff071961b52e693f01fd875af73784e8d142a22ec9c477890d47edce8251026aa4e4b001d0d046bda8519eb\n\n# tcId = 194\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1a6de4aae4ad4de60bf01b8557e47a805fb435ee7e8214b2152bf22655e7f3d6c7e090a79674acdb67126a7c01568f5592ff68d4210104ab92eac884887122b3d489055a55a4d7407862356d192a9d7f15edf8a2eb4ae9ce615c594c0f6918a427e5e27e725b292d2109d94de5afd37d1228ffb293c73ea7ca1c6add14e8f420780d2006109a47d04b70eef26741b846a47387d5fefaecb391063ae1af3e77f493111493bfc5554e164dbc5584f74b3fd833e6d1f3d346d17a3bbc8c171d997d06780d9ba149b688ec575740313181de87f371aac306cdb79b2d256deab35b1806f63aaf2eec73099c937a94ddbf706189ee046fb060d0e586bbb7f951e17861\n\n# tcId = 195\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 7d36a779f2d88b6e0b55fd0cacda1295fea91d1fba45a992befd742c19f3d955ef16b6d2f5e8a98be0cb72f0aa71356c14919d67e546d69d8ff47aa393b8da04a3b73188b0980bb3a638c962940829a6903dfb28f3d68bae1334d2b63b11cfd22baafb231b5b93cdcb405b43a0c6e7a2cbac3c70054bd8e48f458893ae7a4ff62764bd17254aa4db52d67e7a7d1b44a277580786dfd9fb702efd9727d2808f4f859bab9b3da9d6a18fae30742857892d04a3bd001ac10d04842dfa4be2c6209a87defd735000d5704b1f754bdc254fc131765e573510abb5b7307eba62299ed9c3696e88c3a54cbd56305f2a3010b67ce54cf9e77b86ac50d69b8400017e7052\n\n# tcId = 196\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 0b7312cc652255319e75a857440a77c01a73de1cc26fe95aa0d6296cb037c79839584b67684f57d3b2959df2bed426eafb6b364ea283674b5bc8ff6f400298781134e56e080b227d47cfa088774ec73f478602c9e4a571ae383a572fa951e8b9ac66e86a532512ceb862339a5050adfe723f1c1e016a3cb944d29ff6d55f9056e6ddce98ee4a80e998f6fa4d535d3f42ebbb2382dcfd5bd4ed179240c2178019e184b957bceec26283575c00a9bc22f8a6ac8dfb99e85657f33a7f52c44e9feaf89ca7fbabfb947032d112dbc99f05badcc995dc012955a7b3169d9956cc091b69051c5f18b1aacaf30653599068d0ab6d380923fcd7b7c8435b88a7344ede84\n\n# tcId = 197\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 24599a537c2958d7ffd18b4d935ccb1d045c8d10afd74452ddc10f8811023584950c546b9920f92cbfd0c08dbc85cacf6a16c76f6cb52bba27ec14837d4b3861b59b9645bba8ad588c07cdaf73d873004d0c4a51aedacfdce1bf3dd63c68e0f2c4b7c9d4f2027b7f35d60e9e2e9c913ab58a21f054f2a2257f46afa9cd300e16a37a4ee116b43f3fc4ca2c58dcf41a99f10835bb788d27f061fa790ad503a9be81ffc01599edb722aa5787a94c99904993676fde027c3395a3260ef9fc9195c85af4db3f15dfdf03178caaaeffa3e33e5b9c454047b2016a82d09ba7521e273b022688f7af5d885b2942a296f2d1bb666b4c2cb2cca98c7462de5ae85749119c\n\n# tcId = 198\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 0a16c4a930b1abf1dcb5e65a48096dea21c0631fdf403c382de73326642d693159ea82831ee14be40cb8a15709e359d6838fad5cc26aebee85e50320cfd2c4f74da82d243b6d9b4212d2977259f36c5c08d31a75fdd920b40543c36b73c8c244ed1766164f99e2aaca92346705583f0b5df277270951a39aa22dc456417b21586b618043da2ba6835eb46f58590f4c21512db1e1965ec8e39bd0aac87c4473af7e1cfc3eaaf3fbdcf30055fd9a47058ce214aa02c0f96b2492c489c5b563954da1651eb7d4bc6d07d49346fcdf7afef5d9b649e67243f900ccb867452f54f73fed48e671fb65dd4f5508d495df8f54228a707e339fc590a1ab9527ce4f328657\n\n# tcId = 199\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 9ef084bc6824070ddb5af82344467ac985d82e6de8b5e988f92ec1ab41ba5f41ede314b6e64b0ceec5c9e6800a72d79c1d64ed1caf2179f82764a52fc491e5cd20796f040812e38a15c40a4a4509367de92b22af477b2286cd5ef3587480be05b63c513df02c728c30051ba1770de61e4826282d82ca8d80125186870b17256f9fee25f81ff55a8a0a92b1648c09e9f58ac66711087126c1e773a881a10c06168664899bbf1d0e68f256620689f85f1f8254c59a30803966e55012e28ff90a07359d66a73b80945e016ba1381aa66c490662441ab6d6c19d330b4fe39838780be91c07f74bbdb189354557e2f9524856a466c948d350f57aa87e8e97f5bfe616\n\n# tcId = 200\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 15739f4caf4284e47e7b53dcc8167964f8772bba88a2692da445edfa2eb0f96d2a0a9f25be5f22e8658eda0f9e29881b47229c103bdc0f19f24560da6ed9f8f2c768bac88c19bde510ee301e188f8d86b3ea5d4ad9bc410ded0015213b4044d0b2ad4f0c88a4ea987f5829521a3283214ec3d7e6779f98c29873f302bfc58307e11dccd964fe0f7745bf2e4e92acc1d120342a8e6aab8abc57aec2bcf932efc971532057844758508e00e1abe74c6b6fccc083aaf862b939ed4771c04e2e5f8b7eac4ea4517e3b87084de8eecc6a3ad06ef87f5e4cafd4a1d313fd8e4b19c69493d227f09b72e1b65e08b40837b8c1d275743b699c4a49f3f59bf43e47c1125c\n\n# tcId = 201\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 0f9b7c0622ce7129ec1d6108b3664fcc7c5fb9e38163897ffc30eee20b5e502f64b2211d903ceb7e14a26ec8720a38cb2801dbaf4d86b42aa87347de85a21e3f648706afa774eb50d10db3afcfb1943d3cdf20240b9322403487baef167571acb0a035cfaa6aa1c0be9450c5a36c02373a6a71c19ed3e4f4941c35b4be82014c915e839f31c27c4338bd5ea954ba2433c4003bd2898ae197c8a276b10afac3538049630f0af67767aed14f646e0303c372ff4f97683f543d7be01960f1d772890e290b44abe59f4e218fdd7b324720dccaa33d380e99ca5d5dd53ab5950dd3aef373643e53f184e36b7f2b399bcb5c6a30780fdc2ee9387e6c13c537913910a4\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 3f070db7471e7d6c9d32dc5dd19bcb518fdcf2ef2d48a1724d6e3dd6299cdde3b5ed771a0f1a872d872e401373cdb53fbd7bb92a4a13442059f55bf0522d48539db5b52f67b444046a923c7dae3f07230d602bee9f29afcf4880f123d0363de4efc18f6e4fa08610d4203dca4705d26ded912498f653a5ac8a811068c1f3ba547aec31cac73825540e208438e22ee61f20e0506ccb0d6be3459cede4edb91916afd453eed5088df58e023c6040d794e3cf7f531fbb8b0200939ef7c035320356c491c0851a598dc6984c8d98533172ecce1622b7010e49083b5d10ad71c7bfd089ee5695b42eb263b005827928c3f93aba26fe7b6382df948ba761de80dfc187\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 96a45e04e0fc9a701e680882fdffbd56f5ca0067b93e59f06fb9be63720781790ddaf2d6a981d669e8eca75d5975203c77bbe7cc0e4254cbe40d5d59145f746e3d14f1e393600a150471c4f3f288ac40b8d53de28dca2537dfd1265803bfce7", + "c423179e3483ac86e72865707b0e9b05a8f6f932044b90dff67c444286e8c9cab31df8f70f0658a4497e596526572645b282baab02462e5f34656b0d22d94370339cf52408f71105b668f6b7c37020b12e807c05848b627246d94789e2543a9f69db7ebb1172203c00495ebd64f380ebdd1a1180ea08a323ec88972263e7ee2ba644ce3bfadf46634fae4a2e149bc275fc798f021541145cb2783474bc4060e6d\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 038c6f8d890722a43126f4d9a053e45f2e10447a62cb931bfdd8b14b342bf651482fc194165853fee8491263e7a7170d13d56eb45449fa09c3c2b2df0dcf51e823d24f7533a348ca00acf910fd10fe2dd9b1ba5b46876763db3a83dcf6311cd9abd02e28331b433961c55c2fe1ad51ed4a4066ed83a0f03b619c411dc8b4542297555d468f6f083331c55b85c89a44e0aaf58c7c953d92f0797b137253061c0f218d48d5cd30d7bd47c7449673304980979d79adb93b91c1eed4f046b45d05f1b3b27eb9e62eca141fa6ac866ad947ff3210987c7d75275362ccbad1792d68d3b8060c5f089aa2a07f06a164641ff5288ac2408bf4c3a9a934f264f962fb9a43\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 682f3723b4d560faaf6f6b52fa4b387d9b94bf4c436dbee647efd892d661b601a4df467e192b489ba4f3d7a2712da2b09cad25cc3aab2af21ab3ba0d51503c02a577236822e31ca2cf382063d60229003128645ed54ba9813c1de735506a1a63ddda51c3320f60151eb383e56bf6fcea8f6def400305a55ff2103d3697922833eaef804d65f9c1ade60fa5b69eca886b6d472626d444efb74397d37d2182df0db192d382566a6cca3acec93495a61a0802c1197a062b0231f3aca1d1a9e1482dccab4198a0a9df40aa1b354a4e884174d1f4f517776e1054286347623e3b123528b68598dad94cfc79e7a418493eef4db4af8237950018881ec12629f9cfdf79\n\n# tcId = 206\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 321fabda209fa9eb11a555f2d5642274ac93f47dc6b09dc98d870117945e0ec326da4cdd92c9262885387c9660bd5101feeb536bca7de135d517e4c9163672c86e9d47c7ca05e8f6b4d1a472a2a91565029909bc7b007eb39e8d6e6a28c1b80f7c289431b144c99da8264420b8a22ecac431daae7e9627665c64e93c9fd38917d27aefcb74015bf2b4aac0abbf3aa2b1be74e4ea28b4bab05c5181097e50b56e2f3c2143914780ce7b4861dd142b0432f05d23ba926c51a91cd875e7cbea9e65ec7a5d2ef9128eb9857b290314be39b7b9e102f3d3884179ef16fe98fd9ad72e9dfb62a8a5ae81a9f7831159fdc601101d20293ba20042a7736dee9448077c0e\n\n# tcId = 207\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 656c5b616e74f4337340a6ed4db988edaaf677dda18e9871806abde19f26231ccadb30ead180ab3cfa27c74a7ad40eef610d5c99dbc321b049417cb9a36b27026d63940dc05149d030d0e9e34e291416ec857f9b4736f9100a691f8f10a6023258d62e0e1483bd03166fe7640b21de04a533f0d5e9c726f4eda195db54409792889712eee58d56d0b4b2e70f90cb8edc2f55792add333ce591425a0f2a748e97331109e677b72ffd372a88d3518fb7cd716fcd096e3b5393fecd86206947168dd91559ad915874df3bad476e4ec8dd97884190bf6356542878c19e3ca7c7748fe7a639f863482ab230e5ac01ae85e4ed26036ec281017f7cb2f41cf02e6877f4\n\n# tcId = 208\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 22f31138d107f7f74ce012c46e9ac322874648bd1e3388d588098e952d7273ab97d1d17f265485eeb2ab0521b91ce47cdcb74342571e5ae103d228dfc1b967aacb0d4afdee4bbcba330abc3ad445e0e7d94ef39e05b4db732240af7ef1538859866750a039697abb79ce91d377a9907271ba865a64d57c4db4ff886e4e9b157d3e9ada5eca127478483fc7548abc1aa27f8ed088dd437ffa9d3959dbd8768b1d1c35c7bfa390d9aa6e8554bb990ac89da7e49b4bc086438be7670a5f9b1871491e2ae8a23f06ca3e7b87a7fb87ed0bb5e6fd64ad6f1af7b8514115af4e9ae53e35ebe90a5912c45d6dc3aa4b9c7c46a3b4d20ec48a7fae3a5ef8981e965dfcef\n\n# tcId = 209\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 4142f9fb5e58eb4ed8c1dab74515c643b9bc4a013373e79c0280547fab695e88729600167ceba6460d7fe8bb2885d6488f0d929be7be7528910828106f16cc5e39685450c8a859fd4b65a383dec054af0756e67b2ee0b2ea756b17e602c9f5ae20b062c5845596c5cce1b13572f54f251e2976c5d137168a6ade05a14227f719bab6c40da8e8015687099fe78f79eae35a00bcbaa56729f60b8ce6b965ad03cef2c33c3519f07c1dd63e6d199cc56be298d027231d0b6e8471038da9f26474adbf28d52c6a582617046cc678f2cb19abe5491cfe9c8e396477fdd878adf244fbc19d78e9419035f3249ce52dbf281622df55fd8b3cb2c5131591e1d565f4f0bd\n\n# tcId = 210\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 66d88b8adc0caf4ee0524546be91a69aa3a7c8bb4f68e3a199b8d4b0a0cb52158f785f9ca26fa30bf5827524facff27b9f0b1ed06870c35033bd55ff386c4946facacd0bf3be3393777d3043e6050e5750cf6da7a7f4fd495262158dd4f6b0fbe01b601451fc4f090d03eddba5cb140fb01a65ee6912a8bb594f9e25a9b73608c058705a0a41b17ecea9e0016fa7128ddbc561285e3238aeeef72f8133ea6fdd755e3a910e2e2f2c4c5c7e1c7f608f5796b943f2e860f37bb311628153bc7baaf11d4f33e8aedde79f4fd080636739129dbe2a951725fdee5f32e471c9d267999d9a11bb13ad40b315647b3f7e91c373c53f845ba8db9b30b31d6740da10964d\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 9f24ecb03b77a906c8a865182b5cf5921a98f8002d1c59f7c398c469444776fb38d7221b386c5bee4f72ca5dc36ca1b08c2a21947832c4e6e7e755faa4ad61fb1362cc084d0adbed10ac8165f5e13eaa1f6c77bb2e058050b5f902abbf0041c1a3a93497a95608d9dcb5f7d4cfbb4c037453d5558f0f9bd2b1d3a769e2b651252e9054071dd34f065c0350524a39cfea3bb0dd10620288f9e5ca0c92cdbde4277f9961be882ae2f07b1b75f279fb48062945139cb28ea464b4e00b2a5259aae4397f0ce063321df7ef6045d4dad8ac0649c992bf2d22e728827f4c992045f376cabebe75e58e97edb43991bcb38c66009872a5d5c235c483d8d5bea083c6231d\n\n# tcId = 212\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 16b5347808defc31a231c28edac36a3f1789d4c549e8f5c71e2fcf5d5304ba437b4c7c0eb7ffbd80f5c5b2277bf24412b39ee3e74c368517717c438bb88b80b12ad14f7295ecf8841947e5e7457e66d2f869c30d28e9ac2019d7e5eca6229812b649c8b6b4ccd4e17b254e7ab496aa5325525e7974be348dcd53c652e6315e670236bbbef2f501e246631b735c50e388ea3af8bb0030fb7fba9743eb70fc6687cfdb92d46a4537ce88dba96ef52744e22fb7257af1538e3ffc4e2d9ac9101d6f71bc2f5aab71ddcc73a6c635500fa0a9174d25ebcc85dcd7dd85a7d2e8d3138effd171176bbdf23296ba3df630ee42185720ec141ceeaed1681a6ad0c156e099\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 57d9d9356676927b5b073de32f930db717a920d484b220ed784cbe2805abed86a27ce84f3c9b5c00b5c9bd146249ed776b02c1494faf4dbb2e435d0b914bab59f3e716121fd212a6967f17b82bf1f96911e126d8251279ae28749e24ce8958d54b126e623b880c1c80d15b0c1f5bcddffbca8b957276fe73a076dcf5627f54f36f35195ae5a777479f945abfed5298531c581ae5f71d2ab6fc34aa08a84d53a03829e756f21cb4482649ada260daea8befdaabd2addedcc5515dc439059739f13ac77d1049fedbf38dc00b11fcf2a1432debdd694118e3cfa7ba1cc6ff716255af532c80784fe570fd5b48cda8c50878377ce4503a8ddfb88e7e3dfcb466b8ea\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 628db8142e4a89ace83835d484ff84f40e70a0983fc97ad5874c2bf78361ae02f925b41e6af645c0c5d99c3e59929146b3e6de62070cd03be2eaaf760874ca6879b6cd695050bdb8a6c0aff0785918d3b83d214bc1ae73e3207f9dc7ac550cda509dbceb5309658fc52cd1873d747df01ba52a28b09ab4c0eddeab6108e3b75740a80369c0a3296d3514af9a966c5edc9127b88797279291f1dcd3da2a512601880d2ca98cb20d512c0426140f30c11dcf49e769529a72270542501961a5fd3fbde56af7d85bce7521160a95e5388d941fec7a0f312ef9efc8382676735a6ece2d31716e1cde8bcc86063741457644e0a47474f5aac76c618fc960dd9c6d3f29\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 9492ac64c45a6ee14fa5996c865c18a0310bad275a26be5f4df7eed2f49bb3fb76b222c9f7e92d413d00fcc9cd6dbe590a48c1250ec6807ef5d231585c202934182266f9bf931be91bafa1ea47d0d6dfbd39b5516585142cb52daee704a6c36f5a216b5e42a20b8deaa3e6d8b26e97cee7ff4cbe4b72980edf50283a48034b1b0deb36730439509424d7a5229a5dbe08005f372057b7bc6c45d7633d509d833b90be33e706b023027165e2be40a165240f28f7708cea38ee9fb87aeb8ffbe53637d6f652755f312038f6dfaf5db3b89df86a7031f4d92d1a1b1886fc9594b8e2c29135aab5e6a66ba428552559ab9cda9d915de834505297471145e0a64fed3d\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 3ec58a94c9495ecec016babf77fa114d78097e484840d82c3cfe7de98d2ee21b499992bfe3a778161e781f89d20745bfd1ea6037c2e7fd67c3f95479315dda5b87fb53badf0b813f28410de6e79a11b351b1668586500917feb44aae0fc18ba6de2bdfb6444d89b9b8b67490c1f2b81e3081e5c5c7c39f4f8f9bca2ae2a9246465610a9e6a5a67162a3a40857fea59e128f21903afa9143bff67df9679918a0f5c7288af9154f096c03a13601db5724356131051ce39037c6b870bfca5198cb9385137b7cf5383630b459cc6132b7ac611d13712f91b2911b9f8526e02a8c61acb7d184a7c6d86d6246cdc6bd13174b6969e5033bb90c4abaa907968edeec362\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 73225d8f91bef922f7fa479aa9cf384df5cf30ca893ebf8be1", + "9f09250b35df80cb8fccc5e13e550b926a852d40c6ba0edcf9645d0965e469d38b1212637b1e4041e47ab1af8fe8b738901bb916270061c1032907f6240f33abceb57dcc93da9cadbaf1c26f42922b3a3e0b407bcc4927658d4a465cdae48a138ba7859c303d23b135a3413751f25b108b0058a313271343ad6f0b81458ae7b050bfeebaca51891d94ec9fc07a698471ee3a0a52fe61dd7c028a70fb4c22314ce3f251a21db5e13c8514809ddd0e8e4ed76a01efd1ccd10f73e29fcdb8d8d4f4c60341e166e376d8a60d05816fe1abcb30152bbfbadc9172ae15e58fdf41e4bc53f39f5b0f477b\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 3d1e67d3b6f474f7e23ee14223cf10d3d28beb454dc7f7ba972bb3eabf6b66eddf245f34c2b9a2486c693fb193891a084bde18576b50b17dec8f9390a8d10dd80a4498cd718f7134ade41538559ab1140e28aa5753bba7a60a515cfc6aa245d3104a598ae06cadf881be563b42dc138af99de76b080eec50f59c0620136525a8b4a3bfd861a24fe5a2467dc23da5b0a7c298435172e3f280fcf14a2ecac790dbf1907ab0670974433861a2ea6e097feb99827c9626b7464d1fbecd7d2d939db1474c30d9be20b77b1adb92094fe1ddd55c1f66d8cc37bceb1460a120fff35dfc24a7e1e3a0b7f7ff4442b36d147ccb635513f415cfe6305b8b713f813497e6ea\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 891f1354e36c2b7faca0981c64f249f73940ae03da86f0a413a971031b00c2bed14489345225fea317d9d551cced9c6c6f6f7134cb6bdca1b0319d931a1d7a1e24a744eb98fcb0d3254660066f688531fde00822917d07deb9d78aa337bdc2ca3a4a050d8debb6c1283cb90e6991429887311f72b95bf3b18d1c5cd68f65f8ed934d9e516e2a8503613fc4dc2e786c36d77ea2d5dff75c26dced572298f27de39459c55c6bec73295f20cf1c6e876b345c6fbb2ff23adf52d9d4ece53877a2bd6e7cf3a4eae08b1b3ce8dc0468614e119ffb7547f1a765d9d9b5d9d8624ecf3b836dce490c8a36a6a60e689c0bdcbdf774eb60fc552bc3e27fc9abeb2c905ddb\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = a0bdd0081c1e7680839c646417b69a6fee16c94cf7746ac21ab410ef83a78a53f5b0a51afaa2e4a1ee9b44970dc3e8229712aadcd4cb2b92684e2592379b581b2aadfb3c4781f543d8b80625a07507c2ddf47937a27e05044c36c70ef091cfa1fa9f2fc552a9ee1eec07dfec597de11ca1a67ba4829a0f620828cdd424a079258dcdb39986157dd48d2ca214f10333c6c2b73593c3c72c0b22a4d374899e949313523ab9f2218a03d5f06ff0dde49e8778a076e3f9938be7179ae90b4b068b04fa507a842c7966d739def7a22ed70901d5e8c79b8df7498fb684fdfcee8c49627a38608434eabc03eed78d935d34830fc3248c90d62d743fcb1f633914f7ccb5\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 46bbab5068ebec737454655b811dc71877f4b5cfbfd90b340dfe549942d2493114873470f91f1bb342a39c0bf614268e7bc9f5a68543d57d8ee14fac4b3abffc27bb8d3dbde46ee6cd171b5ea32881f1d037e67caf954769e416c8dea94b7b4d71af3aa2ba321afb997f2120c1ca4ca53583d85a4ffa13552120ae24dd41c71984becf4aa9234ba0a5d9b918c6bd12a85be40d0e390b88150c1635357e891bed185482420bcb2c4f88f21927f4f8e81fc96cdefe82e735c9a34708d5f225e462340a4c71dff89da993e821972b8ac963aa8a73271e602c6f23ecf1f696bbfb3a2bea774b1c058cd8a3fbd8a4a73ddc31a607c9fed0052e3f78766f71dce75773\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 01ccdf739b6385b875254ee9a25872ba1bda2b87cdf57ac741604ee962632e17fdd32effadbaae5ba52904a731925debc87509623d95b0ecd8e97ce7af10f1f9650698d22eeac705a7fff23710c0909d4e8a736a991daa074e32bf8564430ee6f5740df310cfcd3b7bdd98c4c6a1ec24f08a90a015d64ff43dfc00f142838e0cbc2253d8d4a99dc344e6826c79cbc0983147152b0777682e85fb18a9cc0a73d98566aa856f43356eb611ed5b5ae2f551671731967e04aecf96b751e68efa11a3c2174ae0bd2a14271268437c6f60c49a2c1dacf413b2a4f1623502be024488006abcb6680034efccd3104e8c685e0da25f35c703fe91716565241bbaccfb3225\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 2d1c606370259b0305745860332edd9caea333c221c2d16a2e547892b8e4b1aa47263f4cee9e7da39d0cd793d019ea529224977b04f7173e9bbd0de05745788dafb67d2933bcd462fe018c960c67808abd296eeeff4da2b17dd12501402701b4f44bf95fe46297b7fa3c722b24c74b89db2da74f9094fb558183cde9f74394f26f7e0cd51f373d259646bfa9cd75fdb169997ea982624254db25723017c9247f86490519350f9ed8af39da7fb181d7864b05eab70b9b9d0a965c9122b38fb1617fc56e38d53a8eaa97ae0baf59c5a48d0721b36323b18ef8cd1aaebeb5fad6dd09a0df75fa5eaf28bcff54c044933e070e220c1152762b4d81cdf85220e38f9f\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 2522f982c80fd9e16f2cc67c11093131335a170beb7708105fbac3c73221cac832670450922364b80577bf5982921887adb4999a891c74164ad9ac62620d0f944500ca44f15f1e4db806b6306ecdbd9836370daee023c2d99107142046dc94417027e717b34c49af2ebe038dbd3058ebd6645248a8f80d70e87f5e247c1c07c2518015e40414fdbe4b50065d1720b9ab8100c369aa49a57eeb4939806eb4ea87fbfa3fd58255113baf74fd5e76615c0d0fe5bd6a0907c4ed3ca9dde622822f8dc41cb46eef3598ffbb0f70bbde313260c787ffee2fa2bf354c15e12ce9fb5e8c356aeedc2cd6cea61862d2bfbdc3922da1fce1947e76972595d7bc96e6cb0931\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 4b140acb262c451b0761236b926afa2829e8a095828f7dcf196eaf7fa46fdcf7fbcaf194aa3000ae8d3dc7dacc26952502b1558a67fb692da5fcc7dbf48cbc5260e2b2a7041fdf7bf46f531d4ef48998dfcb65e182065535aaf182ae6abf6e819e7d96ec86178137a3c14383f89438ab35f0dc7698e1811c415e163f8bac5435dddba5db55aa6b393d538d31b34332fcc34ef8e6eb059d4cc453297d6895ba480593a5536a4e553a55417295b6f6798734df67e739e54d3092de4f476cc0f65aac6950631081df1116097a7f6a9d00a1afbe0ce6b2bd32ef22acc95219f05df9fb7e9a8b391e6277cffeda298bf094730f5663172183dc5842056de36137ee90\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 7c408d5f2efcbcc3f1c6c2a7f14eab73124910f21e4a4b90a782ec8ee5c72d6e84c43bf76fab6a4953e80e712d755489446130b46dcf8649a316868aca5334afeb7c957db77940e93b4241cdbbfe2a0a31a2594c93afa016ea3b95c6c4af1d076f7d7c1e6d66e3267eb05aa4b52014bd8d9e83f0183a9934963b4e4778176f0ab8fb18c327da3ca10c03797faebb4a0b862746bf19ce76ef214507db80b3497e6b2bebd98087029c458389166364c1a81254e8684b37209579c8d32c3cb02ae6e319e12c30c84422df2e82f99fbe37864f6badd947b4785011a93562de2a55c562335afa67b0853e725f2c91f0f49b2a28bb32bd179d928ec37428c41bf631cd\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d6\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1edaf87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n[e = 03]\n[keyAsn = 30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keysize = 2048]\n[n = 0090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1]\n[sha = SHA-256]\n\n# tcId = 239\n# short signature\nmsg = 33363730\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keysize = 2048]\n[n = 0092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c26712", + "89bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d]\n[sha = SHA-256]\n\n# tcId = 240\n# signature is close to n\nmsg = 32353934\nresult = acceptable\nsig = 92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen151 = 152041; + +static const char *kData151[] = { + "# Imported from Wycheproof's rsa_signature_2048_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8rc16\n\n[e = 010001]\n[keyAsn = 3082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keysize = 2048]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[sha = SHA-384]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = c5b6f5fd8ea320880e9e27b0026b1d63bcd1152c72855853294b7683a759dee042be8bb0c350b0c31aea76e1ba2c6d79920c3e21b6e97b6cf46fabf92a701a7555540dd7c325e7c657fd9a079bc5a58923d2ccaef51014acd6fc6e5296960362a94688f2cb2675d5062c5101c3875399b95143511e6ea156ebbdd32c9ef8b061dc66e2c912bf2ae37e3ddcfd5f32a72412db8ba7a1ce3b44ea4c6e2a858b3f3cb198cf41914e4970b03edb1bf81f8abea6371b469d2e80883d7760c0707dac808fb55e588b285153b8ee5c32ffe90197991a567499d5ed62a6b810581901cf8abf086ddf84c10b03ad6845c977ec72d02028308cbd19daea2668865f00a23ab5\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0e8742af2a1d82e99038a99a09bc182e21317b690004fcf8fac5a4b39c6c4c6f32ee0395a42b8aee31a7af7cc0b0205087b4cbe18e791c1d5454faa5dc220d3b21e44822d39beefa5e90654fae46205631c4691d3e78221f48edc14e342ad42dbeccfede07420b9352af9e0a009c49cac2b4564732d94495457dcbd2f67fb60fd77080631cf38b784a3373b66cc2d1ae971a7422562c2df5f2476983263f6559a8fed69c2c76806f8553b5f1f2239677f1a4a3f5f55a00f8391174fabd2852503c9dc130ba219d145709a4f045bf62b2278d1c9c5c2e7a81f47769b2a11b18bb8648a32eb984ff7aeed9c0ee1023886e6a402812ae6552b03419b4da25cbf3bb\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 943aaab06755ab012b4e062210ac3e2c1a455ca30f1c65beee0f7d54384e4e0d4e390208332690fef5ba0cfceffbfe28e6b05a1ecd8bca3a50f9542f17c39d28195a50203c7885195c7e84da26436bc9fe7fa98a5070e0a1b6f51d8ac7d2734fdb5e0b32da0df6c6c98311bc4d458b4e970412c67732effe67e083123bfc69ed164090be3d41a37bde52119da16a4fc7fba5d8d3ab905bca7b1bccf4699a8abea19d0ba0659fb6c94b4ec6d06fd086958f443a74a783b7440f6060f01cb9dee89f32c2f6fee61e3d61548fb6b3a0f6b649cd8bd5d5a5bbc016f4c737889c79d45c41b5406129066e259dfa06fa2ec05cf9330dec66ed4cf89b80b0f5dcd22c4f\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 682272b36ee1a6c7d4d73f0f3f153d8e84e2fa4ac812581fdda214a7b45d6ff7b7b3db0c89da96ce2e651fcfe25596761982799289b9fd2d69cf122e08404c9db0bdf6f8240b1545e76302a5a401ad56522e0a6158157dc1f9445f8cafc161b25423d35671d9ef714c5d33f7fc155424ab2ac34e0cc93bf2ce385721dacdc6251c7e3a5618bdffc8ef3f278477083a96de83303b9d286e64d8297ef0948b996616d34036bdee5538ca0c06fa08c72f03739fbc578814b402671f5d625dc9050d61b389d1f0a32011ac0dbb53b9c2980d315bc16e2272206a1a955ee870df725e78a7c6e9f793f5428af92c670df8e3bb0d567699714b04fede399f49fe19d0e7\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = c86aa0513ca2e6bb14892ae983212cb21cfaf702eafa5adcf17dfcb7ff53c1fc87d65001c639a20167ec97448463ada9b20d40d3e13db23d8048e38e5c05aa42ecb10d1683e3f64d42837274e1e021b3523cf763d32ee69f92180a9e3e6c6ff891b4c0f9f30a7840fe2524bdc0e82b0e19acd041554f4050f6d917a4677155c6e7841639cf86b8439a4a1edcb24ea272775dd9287291cbdaa79e97ecdbd97522e250db7c8d32658891a0dfe7fd079ca5a5284097ad505c83bbcfa82c0ba6cd91abfa0e21178981cd5c635433cffce413a3e03c7afcfc2fca37c7bd7a5287c13813afe3aa5d051d386e4250ef1617c0a58a24caa33e5855c32b457b1436d11d94\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 801ec289191d6f6e2ed3d7ba7d8cd78db3add3022c8387f592080705eaec1dca415a04e09d55aa6a8c90f11730e9eace7f0ef892f44377085fa8e72236b160382fb3bca71b71d775e4acd75c0ac133645c64517909530e0175a8f06236839de7f7704f39afdc4720a2d94c258188cf9f0794c279c777e5ef604a31412262cf871e3cff8a0fd7efec06eb1db05b50910733dc8d8783a24c07871908e711b27d0d1ebde4e418ce1216a5bc1c8c85d82fdd2b8bb9f0b047e8b38fcfb80771b019d154a510f2231c6c5becbff35f2c5b1f1a5d5280d0d8b0309db5294fd99b1afe576bbb85e980c4e9ea49327343084a6c29743d3e48316df0623776e98acbc84382\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 6ec812ff1115eb60ad2cc1f641479aca46c41da5d8f7b9e59b2dbdb8956f5c3ada3fe162c54bd5835f5e043ed3906a10a982e177f5f68c94ba367e4541b75117dbe18b7acabce6bf7bad0bddc4a1f98382272a655e0222ce4a87dac7f6a2099ad9996603479cf8454102e7ff703d11623cd59e3eb2df8a303732851a119d6c75f7503acc10c57f2cc418863e1b2a5305688c03fc9971334ba06541cb8b3cd192bbebfd5e9252517b17d2b8a3ddfa1533784d6f672e14737c4b6bfc38162ecfee2e97f0a29c98bc6709c922f42ed959bc3cf43764627a9beb32e53d2b35da63942006787476ce89abb7a82ee02e6c9c80ab777af86c1a99c65423ed75fe82acb1\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 127eca0852f26d216ffd2779159e3e3b742a830e3d4f29e9aebf4d8bbd45eda195002aac8ae5d10cebbf849b026caa37e988a7d5c6e3c0bf4f6da974b31a8139a85cbe62e0aed71b9c50a5e3bbfee50cc465d9a5173a33cc2952893e89815b3d68a2269c78dd91d3b8a9d9fb74bed451481267b797b28460358adaa90b82304a6182a5d79e113808adf31100d0bd943608a3a58c2561468aa379127cf8891ba61c2de46e66a9e4d86da3c007cebbc2ca0b8bb66f29b2205a3a45ca7303c0db32efc1e0e254e0735953a91f4927901cd78ab0ed2d047c822dafd5bdaf34cbbcc227e7711267785b68c2f9ba47ba108ff7633d6de61d453acf48fad092b28cb70e\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3c1d887865eccd6eb7d794756f93819c8126fb018d483b6cea67e10364d2455505e228c95106d493538c60d1203ca317aef7926e09e088a39e198915fcaaf316346db4ce62908464838efb7bca14041ce4477fd55422b94396dd79883f9024d46b8f9838ca7b5851e2d935329365c917ca03e1c44443a9602ae1cfb95ef89d9c7315f7e0b287a39d8133243c75ec0303339d88e937504b118ecedef756f746c6a8b244d86ad9e02d02b24ee5e616455deea86beb334af9e294289cee20a7a135448739dcd48400da80f15e060c312d4b981d63dba827ddb2751a89bc421ca600dbd5cc8915a1da43baa34d09e668d2cf5847cd55b705d5e7fb7d355c42c88d4a\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 47eb6558bc35fae214cf871eb167e0760a9b51309c805d7439bebca18ba163972f2fdecf5d1593933341553971b3f529e82850f519cd60597dad8a5920e567263995f7e7f348414920442fd9e4b0ec3b95fab248261913e773b05206e832ce35e5035d6f023a3d768e85b9588d9c5ac4c7beeb56ee14cea7744daa600064e9be391999bebc1786d3d2fd0a7d4ab0bb47ffcb0f3802503a0b3124797866c5d9c446025e21622f4d1cedfce4ad930aceff37e2e1f95dbeb1d4f162e542d1e6e47486766b8d6e0db3e336b8eba57a22f4e44a646ed6ff8bef24394c23059c8c6bd9ccc28a355d87d9a39270ca88834a8f0baa50af19a44aae9d5fe3961e25a9a070\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 4b09bdf2e03a21c695d457aaff214b4736034dca0fb9cf76763d623d16f49f2735fe831f9990f9b84171ebc39f5d533130a9b8b04adf332078b48a7aef60355683bafff862da9e30852e1e3a323bc09838679b687a6615df4b9a71dce533aec693345c1ceefdba7246eeb49b64848359b060fd08be04d4446241573d3445abd6bfdea24d490a14690e50920948998cfff43ba080dc20691841a739f6f134285eeb6c87f4e1b67", + "0f2556b83b99ff76d873033fcc3953cdc9857a7352d3766217d987b03fa8fe6f90a4b7cf8bd55ab44d800a0c245ab25e91b54c0dcde0b3adf40e3f2bc8776f501fd419713a5445ddc0cd0e9c414ff30f8987071857050a12837\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 756305930024f3b1e17696ca04fdf72445291c2c4737277f9cbbd6c8e2036c3705e1630d47a6a4b5fe2cb1fd071303e4c70ec49378530cd811ee2dfb5f1da6aa66cb57d62e9a96d88c6628e23e1daf8ce536da9acca8d1068e1e430e43b469a55e311fe794767131f53e250ea99e5eb6a5f09e37a0d886ec92e0dd635ae4eb1bdecfc9a4b45b8fcc16245fbc5fee4e876944cf663a56bcc68f3e6cb79d96571eec6057922dd0841aaa126c6db7daf00c373ffe23d8dc7f14c2a294ff0704e5d7636c9108b05ebee13574b63362b547e4173ad37328241fa5cebb7ddb6a99dc52a4be44d3f2e0cbb823f02352fbbe31a3646e0b3988ef0f77445f4e5cea12434e\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8f9c83a3a017383a5cab106589fe076c15802729be880120b956dd69d36b822022f58f6486cbc9009fceadb83b92883b281e3bd998115e522a1a3199b5773845aeb54331bed863baca87d6de45f387629bf6f328e8f3b0698fe2e96e4faa95d61d7afe105c15f6c3d11ab561bdefdeca453f87e75945ab1746fcc559fedad0be2a494b7b9b9c0089e131f86eb6a0a422da225390ada5559bc64d1990f94ffbe77d00aa19cf1a1676a2362596b32187229180e5e8944173606f54a627ae4457e748c481c3cbfa7416f381157684eabf87490ea96a8a032b1c0c316f99eb18b9c30192094fc8606bb86bf5445c10fc5e9025737fd52b779a008ae60e504b92c3c2\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3adba4b8e5c7ab81ff38544b299ee14cdbdc7d44aa4592fd32295a0e20ebf23d20cde4d26e752e3fc02a67bbd3b7fe927d2388d27f8d9d399ebdbceca97df4b5f1a4d5cc27fa5af84a8e39a32511f36707e8b23b6e38cec3526a15e557719aba13237620222b205992907f1e0b7a52cefcdd63d7f9d951ba528e707d179be671728708c1730096743494fb0bfe319fea4b8f02595c70dd831690c3e692c7b4f18f77e20e063d9d634b966cf14f4d110af8d7db642ad1f952c498d78f27838b84bfe0a9f89fea32cc243ac65e0cef7be743330a19c51a13a747e81d341d17a9204d167cb4006210cd8c7d6cb43d347cf80351041f98efe1379cfba9654d4a3e54\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bdca4de4dd3bba08516ed45291cac24222f7978f0cad43c92cc3e11b3812ec5ccc196a59af3eea5217d66527776f630cc648d01803767bf1d97e341d6e89f2a4c0bb4ddf4bbec6e68b0e608119d3b41a2fd41da75e157bc3d7f76fbd29d9a6e60e1c383995dedecca3e5095d20978e7be11789137f940ddc8d3bf06eaa2013334530ed945cc3970e83d66f0f181e18c5bbe2440e0f04f472d1b259ad7af78ce7d670292a2894591d5055d5a0339e3321471f48043d92990fb6c3fbe41a3fe92597202e0ec85d0ecf6bfd88db54711cddee648540dc7f2cf1bfa9e0d96773c6c03884285d28fcba88e93e9238bbea7d07dcd36d251e39345c28bddfe365e04f12\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 648eed9f390fe7fc14589904bd72247c3a81dfbb0e84ca13796fbf4d248dd45763b2dbc687ae99a8594101260fd0b3a398ff2b6ec9bbd82099b5b44201a5bbbe8421a686bab7423663d45cea77321e16a155612af9443b94c7c287f73c6c5d3e0139823c081b91f4302da9a75f0e79633fca4175c2fe9f6d4657467ba38eefa1700b94f4f7882892e60954fada4483c99ae0b05d0ba46f774832a7e9fc8b35c81ef4a7fa073ad62fa2ea25143367c4d4df39090d34b40d48ec28f58073339b8677455bec559fc011320a53303c7484bdb3f7f2858262a6420412396f68c3a9f826d5e889d2c8599acbfa6705a7d22f1aef07560932e742a831a23f53d93d20bc\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 28a0905a6461f258c617cbd3cfa963ab3b137fc270296a7b5541c0e01aaa856a348383617dc987011ea42b58e19c49268b1f527ca54acce5e928ff5f122d0366f2e6f656765a73aa7ded1f2d0053015fc6e2d68155c6cd8819e7a6e51c485fc0a620f1c2c2973b21ad463603dee7954fb8fe83ad4ec7d4d860309d498e8d8c3f429df3defa7ec5ded39fee1d5a9aa75ae8ec9dd4b66e52f711e2bed712c43b5fd06e0fdbfbcfac5878d989102dae62307dabd0214f184fe768583e06311d8e8b30738703e11d52919fc72625e418749043df757d01b405cbb01eb2458c09d21b2c472015aec4fba7f88146cd72a2d0a3d80ae1adcb5c29416f538ead8249fb87\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0167ceab6b14960f1160f13ecbdc8efa965049c1db8acfc8b487b363b7ae7a95b34c51bb54c69ff8a08f7b98fcf63eb200d2dceb5834487b843e9312e75940317d4b507501e46cb23000a12f7042548b8934315b247d4cb443485b39f208487110cf08a1f95a90869c63cc8c52fda64f86a37cd9c562be1e8a813906da82a5dfd72c96c8770b08959d5a7ce72bed149c2d74db3f57c3d67c1e2fc31cd2f2eba59348bca4111176ae050d8ba565a71ccc131d92f9ebe95a32a4f37512bc43edc02a9d65d45a59ae431163a5e4e2b237c0023ebf6aca27af938d3fe855543cf61c5e17e0bfff32c2da92b54a3ab8b196479a66a2962fba50cbb8365879b8618662\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4b0a379baccf3147b547ffbb3c6023332620a2722e373b8261abbfa31165224fc85c1e41fc495e197f921a8db2d51282325bda21acd2b2fae56b4dd48da9dfe85b7c2f83e75972c22275f8af6c2c8edc544983cf5a783e74793978cb9717c39271613937505814f1862c4dbe2fb7ec577e4bd41e3fa6740319f15042eb4655aacf1b4a45473090910c179fa942e1a0876162f162f44b17bf554e65b291e7ef1eecc0377004c871f74628e2c069ef85d942da5cbe319a2489a5f6d16c421765451615c987f6d84acbd919013ded88bdf1408ed2c0ac1fd701fcc1df6da43a6a802368c11965c62aaa798efcdb699dc715e5f10bee9355d14afb732f270559fab5\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6dbe87fa8707ec43fb4a4c51f6ca422ddd0051726dac648e1985b5146f54cffc78a2b0335b5d621f3a4f3eb5add994e1e68a4223e9e79616eb06eb421183729f4fedeab5fa291aaab3e83af7fa021b56aa02384752bfdb73ebcd540953695127d8adad2914426f5e9ac30ab4f5feb36e4ec9d7c7cf0a9f50c33979cdca2f7952ac8fccc4180c8beda3772250d6c5a5ef2ca99b9eeeb90a81e2346b465d24a8a8c47dad4a67d4e6a28a46a3ffe432af8c7ffc85c1eaaaa26f1ebf495474d96ec04b5fcdf09a25d8cdf45d8f348805b9558abe525f2c95d3cd97900e62aca25b744b779b14195f53d555808d3c15c0c3aabfdd50801356310deb29346a445d5a93\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 49b6dde9c7ccceaf49528a6f74c41d83fc3473ada4896eb0bc239c62efca50b33bea31e500b48ebabab16a35182651c38f72803654e1440e30215b0c54738772dad70b8883ebe60680103fb328d1a990547269cc470e9b06e208268220ab46c39411b7f2b5d3eb20ad723978d13d0970ea57a96237242e9892381c02674f349b0211b03bef1ab568abdb1fa28cd913fbda24d94af8ef79efb7d76bede1b43db2f45b9a522368cb9027a6d1f2c40581647b85a99334f05400e95e2ad4a414e032a560dd2321387f3f2deca9d3a4a34d40be2dad57650ae12390f28d2e4cb0ee8bad7ddcb9d7f8850c75c99c6cc4e154d4c8b741e972cedb373b9ca64eadc0e5db\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = befa74da01ad7d06b1464c2684576dffc25bdeaaa766683710934a8ac4aa2282320fcecb5f512e94dfc84289b2da3fc73afbe9239540f1066bec52bc8baafaa5830e85a5c8f31cf89a8e548604169d7e43d94fafb67b3d031b994af3f3741fb0aa02db1aa12e674e1e7fd0662fe06c8ee641029bf9fea3e997c15a7308fd65661a10be4ee1c8a4510b27794a3f5870bc83c6db63cefd008ccdf4206ad7ab6686c8047a52cf913adfe5d17b4d3b38a7e1e4f21bab174f2afa9268dfec1e6c9a611bba07273b4f65a33db419b18304f3ca920a4b1c655a76b5a5eb920b9123a1160b4855ce807a62c8bea9a9b8c38f592284afcfbb550d79ef085f1fc9edfacca1\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 814446f1d99803bae8290074bfa3b562eeb7fc2bdb5ae95524a8f31694e166163f89d2a22d37636b320867abb881467f0426fe948a774e349b72564a3215e117e7c14e54a7da4eaf67363723afa19886ba47998389f8069b3a752a2cb9e7e688ca273b260312562ffc124fb6529906dd397028762ca34a8313c99b648c25822191ca6ee3e956d98ab813ded5bc298ea65a9bf949f0a229fbe0000eadd2429ea40ff66238201a2f54e93b560e36e8a207a7f4624c782359437e5139d8ccd2a366a9d948780148daec600de8a0c516f0f93303067d12dcd8d5ba0b484d7c87cae1e63e4868c0c829cb4efa8650fba081c649014b3ada38dcc1c1471f93def8f7b4\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = c68048e66a376c5ac3c6a5eca4f1a73fef1cc0a1db91fa078d5334b80db31f339dd74ea3e975893c4dc26290bce8053a928321280ae60ffed3437072a562dd30442e5d3a5b046d1f4f3bce820604999b087d3d02130ec4bcf6cdc19df28ca9c61d44b9bf11b8d7d48b6d535dcdb52316da25dab87f747082a83118d7d1cb515641177f2453e2391345b893367f6bd8063a24d78d041e9eafd6543c9d4acc3f4e7ccd45bdada5b7b046a86b1bb0954397afd12650dc1d6bde119d7bc681c3c6cb1122cd2c523bf27f017faaaa1f5aee8f010f4c562f81d67a04e817d4fdd32bc032b8978864a9a6cde55958c0c6863690f2f3507aa53fcf7e3f932e460b09668b\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = bb7545df9dd8b0c768d7989248106c242e0e441dc1de681b22fd50b576a3afe9c6c19d52c77976343a529cd6bd95783a7c24", + "4ff0d3fc701eb18297b52a3c0a6f7fdc3f991c1c2d47a413263ff67f83e042bc98991620ee16f08b9f9fbe47ce37a90062848a0d0ad96a54d4f8077e41d03953a10fbbe15a8366a88fc12f82f2cc1ed63fb5c295c4b0b3f7c87e95a2b76d649fe839979b1352fea3b0dc112d46c7fa72623932f1d3197b0da93d0b87f40a8ff1575dbf53dcc69c800d2f616cc7b80e942c6b3501858a6ebca6972fa3d4f3c16bbc165ac91f61b679fa33f2b2f909b63fa88bca231297145968bbf1c74814fd691249705140dd89dd32a49116aa9d\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = c5514a3811c53e0f8372a945ef0e3641acbb60f6321f67d9dbddb04e1287f1b42d97eaaeb7957e22de05abcd9f85d829b43ac766c9907271a1157c811d429d5c7c8cc36d19ac2dd24a036a16be2b6368da44cdc80bf21ffac73c0224b6f176218f70f0cb70e864224df7aea9724b61943dac5a0d0def579c342ff1fe0810b6edde9be8f9bf3d36cd75edad327d60c5dcdaa0f410ad7e74760bf56b93e0d5b9caac25ba319aefc510d26d44e57cd8e89a7355eb3c6d5ded4be863ab4c60e6c754fbcbd086fcb3ec64a1d4f40d3c1d00b65e93f2d09ed45eaa295a5c8b09268aa292096a5c41b86618e493d2f683682b10b25ac9032448e9e0b76bcb6f6664042c\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6acd858e30ee15fc5c1e8d73f0ef784690e047b0152938993e3e0db02c61f04f21ecbb7cd154b98aaccece5d4948e26260e0b19f759a5107cd4c365bb2ff6e5be93274ff6fafa1df4f26ca73d995f5604e847d635de7d6631e23397d95246310d884c7082893baacb46b6426f08884b0eb4b0bddcd01ee97b8182c55ab80b67f73ee0507206a5563f79167e9045a7ba9a8c9d6a1ebb85f53922d4a5514f4bb13a5f69154a2db4287e8aa95612fd7cb7addefc7516609c1b93844f254d630a2924cbd7b7ce0b623812fe4edc7edacaaa449ea949aefebb2e4b924b5ab893d5bcca76fd20dcfbdd04ebc6bdbb1d7407f710bcb2f23c7d50a4fd49eb6acc7d4ab97\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4df3f6eb5fb1049fd74877577a1ef69216df191af5858a661ff8edf68c8ffb5554d2c0e3b7adbc7d10da656c1c788e381d43e9eba5b0a84a92431df56eb81d7b19fe0e87404d16608f387e4b961dc13d336fab669195f357291e1287f9bff838f4b2c79b75536e6af0b5adbd750135ec166377c6c8ef6a9f80c575b1ae95da834a2d129313c096faafb641b46bd093cd1464c20821f4ced6b4dbf5922c44297fab04dcc286b68ab98bdf03de215c4b8ee1b46ea93d8f910e1c8976f3f040972f62901fa1fb24c59bebe201d3e5ac0615da8106c6b28310382fcb6c6acac7ca3255eb3d529863d939cd876d88741944ef06fd8ff9939184bc417200d361d1f1ee\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 55e7afb895f743e418302ce73e8fd49aadbd0a4c27a9469406e0a801753d5a4cb96fffa47ce3af3a3f2dc0d816e6ec61a764455f2427cfcefbfb9452ed8401671607c8cea3bf105fda04abfbba07ebcccd141306c129b36f9014b4970f4e8ad6cf3f7b66c21ba1b56ec96ffc6b6500f8f38c00b7c4aaa0a0515272fdd0fffb43a4c4e8eecff7922b0891457df27029eba35c86191cd7d9775cc7223354d89118ce1b92490558b2f3a151fa1b8f9371db8f8fa0f156134f5d78d7897849d60414a7d0565535f271fc9172ed6c3eef2ff62e638da46ed4f507ae3c63a6d308a20ecad814232e39eeb7bdab898b18e37b57c10b19905c0d3d01fd8e7c390be1b218\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 89c7b4912157be3be42558074cf23b8693d38dca6205289c9fd347369dd92534d2d2ec8e9d6fdb0a2ccb7e398c90deb5566763e4802e747e9dc593237d5a5e1d52bc3c43d89ac484445e3798a16a00bfd498f42d88a4110cb7e4745c5f1e6359ee8b6e81b42e85dea2e00e80f1c17dba13d586c6f6f9d3e24f5523bf9a0f21d82f150a227a718123c5f7c934c2040628e2660c6392fb4db3f7ce09e1c403d479e4858adaa6d798c34c4af771994129386594f0b9aa687706bd463a92d47ece2d4dea43192f8971ed7786ca2b6dbda7c449c2c2d428178d8de5c3a10bbc7533296ddf9fcae3019e85a22d9fe9fa23942912187bdb11365bd37114fafc9e88d4e1\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 2f64360a55c3d64c3a5391d6c3ded718786ee654c97b6910f4741315fd7d9ab021999638b88b4751736a13faefa6a18339371e2f892f68913dbd426415cd34f499b755b10376fe11896694f1ed703d840a5e6faae1e6f75c7d6dbbfcd3dfd8e818499ad7d03878f8148d85e325e7d2aadd6f9ca675d7f0b8813112e83d3235bf5f9a33b14bccc774aef67517529593439397413e322d02ab7259b98ae549fee758b02adb6116e563d2fc8347dc5b5bb07d573d51024de583baaf8e982b3a8c742f03d7d739ae804e8de6198c75a556318fb372e2d1e6187bece98a5f39640ad28fe014e823a380c83fef85cee7bd788941bd04284d32961bf3582c4c3ae488cb\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 325cb004062247e5f293ceede0066fdaa89f37f2b73464a14fdddc045f5395e7ab3710a9ad3eab03e9c2fb15818b551b1d8755f454dfb5fb6ddac75dad79563d9824a213ffd5865bcdb9e82a1bde2b94756a7877b91be30d58d48700dcdab15210fb17613bb9dc4f7cd95e1b33f4de328b4d166f78c992121e7e409acc1fc893771265ce9b01b5e21aba04278bab10be21dddf8a9375bf4ea0dd4a608a186f0889b9c0d132b022de4e903786789d0a5a960edd05b63ac4c08ffe57f6c5afab772bbc7e77f82ecb119022f96a6f42c5a5b958b88d0d6b17d3314adb050bf863a88782aa78a8efc50434c21e1077ccdca9b9c7676369bb8972f290bd5a7d85a635\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 4b043dfcb768599364cd876ee5f6456b8a270dcafa679ae2199793578b26c42b30ef14fd8cc4ab045dabb55b938bb8c8af337386de8ea009a3a19ff74b6ab8ff038d6685b17e7dc5089ebd1c8565f48dc699770b48a6ab5d9353e26472b3a57dc74634435bb7b04681bb69dd3e7396adb569d6cc8ad07aae13387a17ff862b40af23be43bd74c9fa24f07d3c0afa47a063412eaa2016647b84a95b67f0d18efe75c2c9be7240d748c2bea9f25921233010079028e608a85362cccf7fe1bef5a71a5142f1dbc72224f5d983d7fb3b0d1a6303f017d9ab77b5d6ec4281a5df521d3528c6caf9508d65f07a6676d8d4cc9fc796efc6c5dc2aef6ff516ae55212671\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 2f7659bd4b043c5e74d9e3a6bb3841351335881091ccc4d0e2de1efa168ba11ec04ccc71a0cdbf84d88a54a9b5e8e5e0ddac7fdc7c221e87bdf70969f98857ff91bd6d4c9f8afe28f5394660c959ebc8e4a09ec3e0d9ee0d6c9831dc0f31807bb8ebac2c9e74fbbd38d0dcdcdddca714b771aa73abf3d2c3174553ae3b30597604e4b33f8a6adcbc42c4e49e04a6bb0e6d5dd36b519d5de172c5513f8317c16cf39c89ceeb5cb698ff18cb8e149b8350815cd8c619aaff2ae5302cc683863e3c5e5588607237fac82a01c028e572fa77b30e60bb5a2874715065a2596af49cbad2926bdef2c81b5d031a46113a178a92f4d69c97f9ef311ecc7a2f058ec7be42\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 241cebed86cc3a251f62e6dac6a4cdc7ade20ed6f879942e18185c85729f6874d4b0c0d8eabaaf1ba722891d35ebabf4b549278d14815db39f9e3c3dc7856ad29f60292318c808675079e2ec94984bdf0966a33590f47ed05058fdb91b6fe11456e592c9df76e4ff56df480a83fd2890b088e14dd59e7d6bd0fa1f009affdbc07161f091947b9b9b8342684a0bcc746d853cc52164740f08c364c2855455b82aaccbb80488143f59614be4b6a1c4f70cd1e006c775498df75cb0d700b8fdf164d0cf97e860bc8e153c85fdb6f5834b79efdd0902e02ddbde4b515afa360aa25632c19fe7349247bb528e617d34333120014eca9b549fcb1b541d3ef6fb5e1010\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 8e694aaee29d01d26ca0fecbb8cb2bb49cc8ac8e1a01e327ca9dad1ed741032dad845602b2752f8637ca9152d36f120e81f37b6f4d6e5b5468158be2ca3acd469e3f532d9731eb6e7247f97d28366a652d747b21b732c875fe22867adeb88e42729eac1077fe7e6255cd643fd33050ed087b01e07df5efa7c182d266ae8b33a667fe88e5dc95e1751787de699be68857470cd4b0ab989ba7483f9ae375c693aca41ffa9faedbc669a9f4a0856a809d7406207f4ba4ecdf882993a2d774ae4f35a12d5f24c79aff5c00e89b7fe99a8d93fce6b1305e91a3d553ff0433f1bb989fe8923e1296f775118b17bbb3ac22d4744815e647547cfa03a515c20a33b431ce\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 4abd84f5455855d18a88df8808a009b6a470964a82604d5e562200b4ee22a6537b31ed57bfc60151922715eac7804f1aa4501721e242bf553509eefd5e34fbb1f4b6fb6d6e3caad4c1b7d12db028e42f4a52efefc88bcda58c567c24fbafd2b3165d768947ed7fe69f0bc55b9add57638bdf7b44c0aef8bd104fdc80f32084466ff0dc97d37cde2499a498b77cedd01d389a5a4063d9efcf6a2ea6b4ec3d28768297865220dfdf379ecb3546949ccf7687beec862c72c3faf80a944d71f888821f079bde045fbf1f11e4e813bbf81b102cc5417af8dc93f24a7c3200395c824b9c4a2b643fbce4af95cf22afe146f8b66ce38d76bd8821a3aed81ed05039a097\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = c9dc8b821879fbad44e3b5827c1d0f096dadd16908d3d7f3b6a63052f897e2728a855ebbc04d2af9c2cc1cf87f0d67f2599f134358626f52f2fe0dfca954c4e7445e604f347e3f5442e0ecff1e81f4593d2ce920c94bda5a3c75022c303df0930be672a7648f68294dd62d4299bf750eda9af0322a17f66de12ce87876e51b4c6141c2e09f7369b76c51ae9a200bcf110ccb938d789f3265f8766ec8c40f1fde02e64937724156d367b1a7761eff40f301d1b610f4f1720b38191ec71c8753064291cf3446723b8a7a9c0a188a7cc9e09538b8ac54a04b9082a299131e49ba733eea7f86eba7ca0ccdcd8edeb6575181b78fe", + "a6b08d97b756d65481b65e89074\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 5edcdfe5b80c46f8a5dd42d09cc513436d16281b0ddd6ba1527a335d2edbc1ce7eaa3fadf2301c0af5a507d0fd148125299256687febf81bb31cdcd609a3961844d4f569de6f720876a2780f5abf5bb9f8a63a3cfb0d2198528bc7b12e7b7f6575c331c13c2dcd27cc481ff8b58200be43fc2470697eab33a9ea1dbcdb6603a33e877fea578d50fd5624adcfc2237d0f7171c378f1fc06c93233f56055d72099f5c69a85c248c8c5316cd679188382ed476ca7a4d6474d7bc033bd3a8c09e75793fe94e72fda8ab864092bb263ad1a9cc24bd3b5615c36c560d2ca438e3d113307935b0f89b466c92ec3d9a654aa99481840496cc88ea22ac9955a07477a9702\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 1d37a4d8669859074eb9ab3a3a9040745e78fd131d024f80d2e4fc2ee894a4be034ce39a3ad6999b4e980a7fc34dbacbd8b1ad980dcf2b7286aff77fc420d875156adaba3929fcf316b7957d18b99eaa1427ce7b5c31b59430f253ceaaa806cce501bbf6ead832eec64dd97c13313fda9815a77335d394d7474714b7365e1020e1534a3468b6d611bbb67046c265f96d57cfed5bd4cb4302462474986352063a6437fd9581ee000f936cd0a706e0c9de243ee2bcbbbb033ea3cbf5a54613a741d0977d4e81d6faaf4342e8591c61b218856e631377b1cec9b3e7dbce72a812ba55294f32ff65ffad2b0407643ed6eca28fdc2c4e6da9bc5d4793bafebc5b666c\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = bc8046bc0e23da370c9a4c8ad737f6fd84f0cde3b0d2cbc376bf1d8b590879aad48337b5f2aa36e4f4e6276fb996623f9f4b5f2e427d3a482716d274192661d448d3c3174bcdfef5bc049d5d1b28024535984d99c9186bd357e48fdda54022c76ef0ccaf6d1671537fdb825a7c28f0cc55cb621083ee0d7f3335c095482cb3abbdfc4ca37f303b8c13a46d9f8bc5ee309796146ae4a07314041e8a2c52f36579151598e354e1ce5def6a2d99eb50bad9ea1152f8ed7055969d5c2b80949cd4811cb5dd0312f97b2cc8f851be73de6db1b02a755b1e3e33ff529d29357ebfa04d4f1e7b80dc4d7f18784b538a18ba9e732d31e4b3f494f8ac7ac0a9e16a6f81f1\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 56888249daacbc6a72ae53fc99d3fc1dafb2d011ea1132aa60078556bcde81c31d1f3af3c5f500280c910547453f6486bd11c1a4b5ca0504e6bfec394070eb4c2cef1c847ab3ca3c9f79f3861ee1f54519e9b25a3512ce3d545a418785e98b8610ff0611b8dca271ebff0ad91010d4d34edb2aa824d6703d0701159845b30f369a8097d9fb0f904870573c87dc5e84a6b575c751565852c3d95d3b6caf751bad936829e02a19ec359070b3caa82004af31eb7f7ab10ab99b2c6207ed6fafe5dc790809bdb40ef02239e70c5881e2a0827ac5c2064a6e0ef1b794e2a252ffbb6ad9edbdc87254dab94509f4c0e7690099f206ba530ff6bb8206b7a7462e633ec0\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 4b1ab0878c518109ee48c7aa6f5b71e2562c094f348060a202c07646bd4de3ec5561ded7f38beafa8ae990b40a0dbcbe3bdbe3c33395f9a1002297129c4c2dc746ff54e882f5a630365f5d212da58e1521edabd51b76603ec7e0c69a79c59807ba073bd19241d7b4d3fd4a84429fe8aaa8a7ff897307a66219492e9b6abb41af5c8efcdd5f73fb3325ed5ad7fff49c185d31fe79fe3238bcb20f6255a22edd06e610029d6c8b49b81e8f364a34574145a0bcd8c81f4d8f3d91342db4237d0c183d718048ed528e71b252928f75d0c067bb9f10bb72f2b87515d53e44f77370d4b8abbd187340b1ac8e96fd9b7b40a6519a00ca496c263713fb74ee011c1ca91d\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 7bda24a481d2c6d5aec6ca0311b77e857fe8dc0029b2954f65ac08f13975b89faeb5935f0db40d03b5cb307a8ccd34a3308cf042b271c8f97092418934e00852d437b5578170ba0851ed761c2b99516a232abf2248bc2319385295e53dadd6f98daa346a2531962fcd8f6b45b3135876556df04c9bc64d435106d4b9138663542984a2ce8f9157f2e79b171e3dd9eb3a7fff8d3198dbd8d94f430d7f07d291a4137a1631f5fc89b4f2dcbcca7e1c83c9835f41f9a553fc6b41a07cfbfb4fb24c620e718a74e6f0a0059848309afce2c8c4f2ff6d58853f73f7b16ea9ff0499bfd3faaf58f3872fe2f26500873559ef3c1506038f8170d303701f9d72764c2024\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2242c90d1db4c749500e81b191160c08c4e477c5fa91a6a9017b32e233d34ff5141b53185c65f00dd054bf17dd8908e69b3604decce4bc30ae968a1ed374ceb15ccbaf350fc9006a0789fa42eca7ffffac814cfa53cab7b73a9631b5a1db808da2d20603aa058621a8d8ab8f1b9790a8efa4b733a12e3d1cca3af91f64670aa289fffa13c48f8e01c20dd66c5714ef48ab69623490a3186670cbfde414e93d0a69f15264679ed013c767511da02255d8eab937e59dc929bd3b9cb70fb2cc157d01d6b42c0c298acf95e1d1415aab37dc0f0620e175e341f184ebc6e5780c46942aa8d033839fa5632fc699a5d772bd204a37bd241ff17663bdef1998f685ca3c\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 6c5d69cbf6b8b72811a52d3d81e8727106cbe69527f19819c183a5988bf054cdf4093f8f09ba3494bfdb014b835026a86fbe5334699ac38d92595766e0007e94a51b2bbcdeca8f4ba0b07fc336b9e67c55ed9660d764ea90cdda765640d1ad7a267859f617b17f813edbf29e78f3eb1cecab99032c76f465fc72333066c1ca265a36f142f956702739fd5b4c5ef27057b6d0ed624282a3690dde409160235834f6ff0f71e17728e74cea66ce41fa60cf990f46444947849f20530ccf6daaa0f50304453b59860133994d8bd835e76deef7743ffeaa61775c0cbe462dfc533ebaed072c99d116f55f473fcfe34506f4700f512ccf29b582b6c71809ced31349eb\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5a0c01bd1248217d51d3826aaf58969c9558527f942e798af77ec9c89ae07d3afac0de80db442011ce38020f2381b26322d4eb4beefa9f2898cc3453c9501e957151098a4a26c5d9a0efa1a4db7edd9946201c58605b9fcc586e4f988440667e8da1f68e2cdc473472e1fc9001922dd3c3c5eaff1d1e1576e5c12365597c9a78b7834b6bd29e0512bda68c29ea0ac45e1c38cb6d6371791a7172cf0b1a7a14de16334ffe66e2f037d53d866511799a47fcaf2bca3bea985b1376fd6d66505a4dd86ba03d45293016ce4c698d72252788c78e1d18c256b42b9ced956aa205becdac7372539dff32c26544284d6725703c8095642ee43b5736bac42880e0494d4f\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 924175981a53ebc96d53ca5cd6bb9645e267aca81c4aa800e65751a0fe2088e89d39697b062e525726997adb78ab554c07981c240cb779ac9d7d4f73b47c4428df6f3b7b118e39a0ee83b43334cbeb8b29e0d8264db01ae731625543a75d6a90634b0b4927bf3126fe0693b55061e5125c7b964f97412af7ee730a1b758a3e31ff5e1d7ebc0d681516f50a8c18b8399a96ae01406db49b390f6e3f6bb0286100b6c282a06d428fa090827451d671053be5c6e91e328fdc0260eafaf5f9a8408b033595dc259db296a47fe683f4277fd5cafccc8eb0705898860dfad589f90d750eca6a1cf157dc1a708cd9d63d23beb6bb556d200a63d625558d328fbbf2a2c7\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2a8f73ad97454d8c5fadd199e89efccff7e48f3c525724d53e1d9a088f40184f8f2798f2065fb2fbe8c90a7238ab3952875d0ef27c24ea400d1afaf62f2d71e9efa85ee9f3830cbdb07f4ecb90a5e27c234facc29c4a85164f22e354aab5c6d421fefc2e16ef2de1919316f011e41baeac7333b6d147b1594117b5dc3fa3d29bd5d38f4a8ae3d2ead32f197bcb6231bd890ba017f434fa38740f458bf0ac72e5495eadd6d521ed27cdc4bc3815123757edf72013e5728bbee8a6497772d91e1720480c635671f087e0cfa2b8b75cd7db3fdf0d15a41cb0cacb8e9d5709ce035f55568268de8fa316f8617f6f4acfffbfeb7f737c62622f24481f56a5f72d824a\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0837fa28973142a87e540db789ce0d53b9dbc39cbbc6bd5a0ae75963289bea751edd6403bdbfbad2aa79df84b835e16289ac833595108ccee7a3730deb7491ca0a061a8c87fbf003c3ae78a955fa1e42ae09818a385f842e17ae19087e31009a0f204cea5d7d89ba4f12c36f336d8d020c33334840ae9a408a667f52125783d1c299f673cfecc69a026e01736e809e7bec2e53f022a82f946cb3b893a4cab359f8fa0dd7882f4037803df05e058745c454e5235bc43b8f0a3d7ea53df07f1c100fb2ea2c74c5bc1ea79707f11ea2a5bb7c3c1fa41ddce95f60e81646a233cb3edd45484d32504086e87fc3bafd0fed328cd2cb542e9292675927dea0a22ae691\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 7e2886c37e1c0ff6e53fb6769e6c3fb7efead34e2ea3d9ec94e130ff418e70302cf947219c4c8f3f128a75fa2928c78a06e7b73c17f5753e24596d485eaf0d178f909b95a958fde1219afa53ab428454afa65cc7fe6de247e3d2c9830a123b93e9673eb6b0b847c676a4156e562ddfcb3714c63a5489c08f605ac8692d61586981396b6c061742f9356c82b4c84389d91d0607b148e237573882caf89cbbd024606829ba2e57298e868a752669f17a4d6b01a02dba9274c5ab2b54ccc439419a3b28e249c3b1cbd1f9429b10b15ab972e47dacb29f739fafbb12c8f1786629863f3015c672dbb7fd0622b926bb04fa61e0c924d6a377e89f1e1079bffe4b018a\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c959fc87c48efa6c66f7e823d317a37bc6b2c6001738e638f75c5cec510887ad651edb8e4bd91d069a67e932216a012cebc75ffc538f0ade2fa214d76ad046f7025dcdbdfb54a6d18e2393005824759e70eebda48d3ed11224d3b20dcc185400ad01970b05091627cfb0db0f9fb156705b5605e76330ef9c8ab7162dd5741e62c9d87b8b635efa2ed3059c0394487abcda18b2fd22fa2cec9b722d1f4620d815b9b5b7d946b42e9018d0b99f02080", + "28e63443224390a4a1326009cd54c13e96eb0884742f6a4fa58146e0600e673f950501013048abcda6c5d4bb4fb027ef32ae8966f3764f0def64ad883d3d3d3affd9437c386640ed4917da3822a0a18471a\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9586a20b0369fd231800686b923dda8f1b1f04ca4d3fe5f3298347c542c7f043dea35d54511b3995fb2c44ace8fb2b93b39a859f5b4ae09d1cc7e4daa7b4a057a22986e6b3f5f4a5e95b6c346c491f2dd162e3bafafbde6c4835556ed6fc29d0d99c0b345efa19f87fdebdf008c8b4670d5eb844f8cba58efe1af41bb1007644484eb857e9b78b7021751e51ec7b3d4701cd56e870a47f5fa06856560e112fe951762612f674e5ef0e1d80025e5401fa7ac8d558338d26c811f40f3227e068ec8364ed9cf846659b4fe3569e5e1dcfbfa8c4139404a73c8ec41fa9388df28af8634143560544511f6fa417e43a26ed40d0057f5b316d75c533fa1d9729dd4a60\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 272f638a88e8035ae72ab2574220bf41e1ce3e9f6131386b7e8e042c62fb1a6ae545051948d0708e8b33085da1992d0122f7309a6a4b3d64b82ced0263d2fbf0d4c4625dfa697372776bee389142adc1297d32f227f903e476fbb4c6487c0500277d0225a0261a0d50f7987ba93cbb044626f403124da8d9c9689f644a5ee368bdbd8390cb75806bd6e38e4aefc2301d9b33f39d90088665d1b12cc0d5ce5514a24fd6049d70a1a977f05043e955dfa799bcbdb3a970c81288801761fbf2f40b34899d1072c3c34237116c46aedeb67147962901c7c7926ba566953d5f597cb94cb1f64e4987e84a8ea59bac61a16b04c66962985c59bdde1aa42448222f2f39\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0184d649a1416dfb0f81f5a4b6bf88b44af0f7d9e74955295ed80f94b81187004f7f359deeaf9cf80a6e9791af9481f1c162ff859eec2aa610afa47eb9aeb3c98165da7f089baee35e75827005cfe10f550aca6c7bdbc6af67b2cadc09d94390e9abbac5f81429edf2d920150997022f7c859852cfa0f4b91c6825961da518577e48232629ff5438a30df87636673164f8fa3a3aa5191118206b16b9aae6a5a498ce918e7f384f8409b584f5668ba41fdc4941f60c3b6c33544416d964bf600cd88b914d7fbb8f2069ecbbacb31f5891a28717060d2b5fef7385de6e0a2510ec7ee22e4d1915ceaf57240aced94de0fffec14790ddeb0f5244f69c746891b176\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6802121a0611871cace7d5ccee1d5c400347d96fbf8b24e0e34ebbcda4fd52fd69ae768ae1f646bbb4b9a749502ebf67d004c34d297a3e3ce5625d631bcbd5de91638550c1255f0e2278aa84b68437bf90921c3bc4ba34e755cea66ba653fe6bc5d93b77becc8448405483b3503bb44e183ea0b2d092130100ff4189d885fc26f23cd070ac7c611fa7e57ab0cfa26efa1a32e1244d35d0e18091a0d82ea4317375223408e071105b7c9d54810c50a08ea98f113bfacc3437d1b8ccc3ea4e080cab5474921669b226a97b6234ac7195fa76bd1bc8fe8363af664b40fd402a8ea150cbcf0bebc3f279f51bea7688e6389689f92461174636b91facaaa0d86b26f2\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 53472879d38cc459f5d6dc018b3c032c39e597d264efeb0863d7736577694a6f98c61a36495489e3a6f078248bece5dfc5ea3ea9e5d97c69eefb4f7e498de5b89d33a46aa871406036b1d8490aad465e92e40cb78788281091ad7eeba14047dc08441353beb732a07295aa3baca1401f3725686ecce5117c43c425cbfca2c4d283a0e7d3cd8f5fa46fbe374e0b6f4357fa3f09eac4344604fb120cb4f24cb044d68026a5f4a67ba1eb97e07b355145f7ea4ce41efc1254a93ca17eb62d50f793269095d8e803ed16abe0abc1d5279202978ce9212692c50bb426b4e8eb5b35d1505c58d006608776e63c8f7c4bcf5cb078ecffa90c57dce7b37ebd6382d947dc\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a6939ed78db66031197cebca770294883c50031a5f7f3c43700976bc4332e9a5c6542c651a52aa55176b7dd9cbb235545d6091ea79831783f25d5c044bc7a78ddefdb86b3c8272895a1ae7995baed96bbee63bdc8795469ea2004ddb7e79e237d5eaa2910f0816812db93a9a84e1b2019b650e5c7ef54504a54c40017ffd0b2edaf7f1dda8efd6d7bdee3dc840962d1bed9a4580cf19127b9e6c62483e32141aa7965a4321fdba5298202e92bfc922861d7ffb2f50af93103a58ea78076042225b3645f76346316c801cb3f6c80ac2dd1d2f613d515a8d1ca08c27d2c6dd8c191781adcd0c259526bb7509291914aec1a94d045b1f101a7cfa6780e05e4786b6\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 4caa90066560af60f3927e11e366e1dcdc5a70c65a342590908a34e38012677ac8bd5931c7a43cf3c2c537b985a58407eff426f314cdfd056de9c2c856c1a46f705bb6c493fef4568bafb1e797f489f3b7c3167b6ace3f70ed69357afa0bfbc527b7d50e26ae00ed24973c1218caab5d6d777a401133e6d58cb8f87d7d4f11a6c9fff2473dd5efc59b4411aec6c69129a0b815bedfe28aa4b95c4d6ef5bba7e853c6385c87c6beddc1d5924cac7a0281190e740a9fca8612887dd7c3bb68fdcf6c90658343bd28139f1dd96a2865a4b695eca31c3ffaa28c585b4fc608ce55fdd4539a1c45e779fc4b7c7b1a7a0c289dbacdee12ac1ce5625bcfe2a490dd5b45\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2bf02b2c6d3976b5bbecad1fa0a0c7280642b06c5e1ae1c7b213859914189cbf4f0d882e83377369cd692a2aa48760446a3efc31b35b28ba21b8aab13c4502d496158f4a932273a46cd8a07e464412a2fee064d3bd74ab1fb966179d3649e8dc10e341d445d06d6893a74bf75447c2bce2f9e39915ea656a41d2df5ccb3384bdf414300d3f05fbf2f18261c129d84df7dbe1eaa26b49fd70013988ab8d9b8b75dd883e773b2929d3782484f67400c03aeb51715270badfc8c19c0bd9f21a401e7bc4f4d05771bd8d98c2b4321d6807da92871d8aa67744c72acf7b9c57fb2211994cce0cab04bc262592cd5c71a0f01d8ba90614bc776dd936e7e96787468aa2\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 81de03b054e9e9cc6d4429ac83c56328f67dcfd501d4de90b610063135ff65f01490c80103be0ca82dc25d05e2b3d3ca16863e32d0e7390ef8b3a5c564940d488ee1abdee73c89a0bdbaa2c70fa99a74c41247991a85e17fc43ce3d3eacdc5fafe948d1b3d1f479494d40bcc29fda605b619034f9e75077494c3756ab6afc2971c24212777146ddd2a758449b176ee595c86f223a52c770eba2ef8bd3c795d167292e47c24351c3e4380cb80dd94dae76ee353bdc77de87af436c883a09a9e7151d54d117cc928f24cfde16559d85b649b5e5538632d5c45ab83cad762f1047a877420a8ffc6a937d56afad203a136fa78b54b988b9e9502f0ba61f94c5f72c6\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 223616d7571dc53da3e22f301d052e014eab29e12de34996e376844f63c851fa67c81d65e172824b68dfcfb8e5d6b1f1f0bbbf09da1e9892c9d0737b652729d5a57b51cab6e8144c4ca8d1df598468fa0a02189450262d9331b146d847e1d463bd53ac6735251bbfb42b28579cf228acaad700162d2e2e834e8df46b6a59e1f5c087016225e1347a574e92fc9a4bae8268258c94f255e4e4f679e972e059eea9bf9f48783a15e93373604f075c5784245d79d39ab135f35effb80ea535b6e589cd944959e7b287ea34b93f7163ef092738a4d27e91461b86761546950ea475a93b4558242a932fa9d7726940d886ad3e06854e64d9e7ad5cd4e3e921ec7f223d\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 79bd74ec9fd2ec407f0014a183e0cd0d82312a4d3c6c710ae8c7c83f600361cab4bd974da6d20a24f19a42a38e3246c76a8e58a764a65f8163d0b39134b9a3e3f5f5ac9ad95265efedd6097443c58ddcfb0682e35878db6cd96dc8cb4aa1c5a4a00196ef88ece2532944b9432eded311c2140c01ad889d526717f9b6df04bec233122ef44ebd0ee948e7178d6f12b798a1d08f4be92b9d084f7fbed4ffc0a510c085f4ce62ddbdfbfeb1c4297615a01d8ced0e1f5d9e5612218332def85c2f50fe8e00a75f630e73df363607d8419cf9f7e512eaae76beed22097e9ef51928402958c7c7566bd7391ca7140c3a75a159ac14b30dd7c861440de36961ceb84be2\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3c616f2f36d444158706919f76b715e54a55a8d840f14da84f7c69967be7724b71df330f3db697ab15ac4113173bc15d419ed1fb657bed48b660881eb97b7215f837760ef3d979955456ca79be5a8024fc6e17fe9d17795e28fdef0c6f439bf65c66a14e1b501ac51080cc31880e6c40daec5d199e778937b10fcc37bb553ea42fd24991f75072064e88d029195d8246e4e5398762c2f2bcb4a584db08b8d5a665e983438090b42a8b039d07eed40b5e6ba1b416d684026ca7dbcfaf4d1d3bae7e1a62d5ebf5e8376f49fd9efa53474312d7c72154227220cd37e4f4fc9f82b24e5ed6ebd0b87510e860cfc8c516c67f57b7b82428b553a4f23aed4cdedafc4a\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 5b07c09462163b655e7d8ce49c69b9bd0a8dcd6865b74530537060ff8d3b5de012435ade02b7cb078109b10f27f83eb6fa3d61ce0f28199219e7dea7db64405bf451e1fb0dcc59cb014f41e95ec3f7b25b41c6cf88ade3cf7488acfff381bc4dfce527a7f7c69544b7e7d9ff8e3538e3499a453ad64482e5cf3ad5c6aa57eb27ceef1d5233bf7fbc21ce3998ce85552b37e6a8a1508835de1816b877d1a03e6f727ee74ec9a7e04503f706d1f39d1b97e0d89567401d796a710c3cdcede6939f9e810f41fcb143bd6f5a8fbcf5743620d754f4ae780c9f76b8a6b719b36dd68747ecf027889017fdadad899d84a30561b1ca03c7900adbb673f9ed1562877938\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c45b1e66738887caf46645520a550934e2bac206a32878a866858be4c4f1377371863c92dabd7326cdf937cfad5d74ece76d70468c85e4f14d25e036e207b199c7b56e6957ab7751bcc39dbf87d3bb164273dff004ea8a4ffacdca7b026afd4cae3929e60a70785109678bdde2a6eb605beee71cd88ca445df5750190594183ae6a8d49eebbdd643948e55ebf", + "56b5a29bfab211f9d4a2b1d18169a336141cc7d5c5a1d71f08f4437340ca692862a82912cea2a0e613af52a7a4af77d114af74adee9e2465c3d5fe02ac8fb638a6c50b4878237642dd090a6f8c9982cb61b876e43b08f91ae34e15ff472fbbc4e24676a9d5f5321bfa1ab74cb1439d7c6f6cc08\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = b3dcb29f68dfd06f808fc589549deda516164cbd2b0d610574e2d5eb5ba2633b2e65a1da22e6b311d5762be2425a7cc6f7b63913a0681b96da1ec341011c2554aea7be4fe589ebbc46717b9c6b9f2776da5aeb52e4bb071f9c0e9937c6ce2bac7682086f2d9e234b43dd9fae240266e788f7fc591e0c0aa73b5d30208b41f84b49cda5ece81c3de00cc9e5d7d21793933f9977a7567d1a9515768a8ac16fd2d4d11eb898ea33030491c127504504d2e15d86976c74b891bbe87e569f240eff9f3fbc49ba183a36d80623dea8a3b5d396df3f81691643bb1fcda5a8cb7fc2e369dd116be9909bc21c67759a898324992b56b3abdd0ad668f10e39c74216b9c8ad\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 9b7ace146c4d6f18616e5d08f02e163bb9c9601eb5f0538da1ed460c2378522afbaf74ba1fbab2f38b363df5d37f672700814a1c117fc355ad0641547dbcf79bfd40f7f650fa225fe12328d236d1b5fa31594d0d42cfacbdf4a17b4c0c99ff595abbe4eb8187444fed074e6ad1042eb250190873388a1ab7260627931cc584f44aa19374ef39df3f90ea9ee11df87afe539547650367e2fa21f7c29d5c55324ce2d4d8f964527d8373cca90e64ef23d0d0ae792a562aa48a0e0b5fdb6125f9fdade491496a5c63405880456d979a88107738fe021c16c11dff70436f07d780a15f49464c831cdb3cbcd8f9455ff867b1e5d54d00bb599b81dc744c6406fd8125\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 98139e8a125fec0ce94483344a06c457bb3b90ec7855ac9c15b98790edc2b2ea1c7b30a17bae8b39cd46b342c97339edeb440fd2f86325c3a9244d9999c938d31415365f5a78c5c265e18f0a4bfcf1d4db655c25c8dc112b980d3c3d16d2d38c079f9c5e4371e8966ba3c71972c0f820c18604aeecffe626d8c0721bfae0fbd979476b7efb739efec51f3d4b98ea15553ee44cd209e0cf394374ba52cdffe21b0d36bb0d23665fad56c37df375266fe32488add3ec3b3978773e3232a39aa9d5481eab3343db2a5c5570f03e432a9db709f6d42ae214df25014ae02b54b957e5e0939c0f97c2fe0c85feca538130019ec9af83cf53ad29d81da26068ff199748\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 41912916238ce7571313483bbba8ba916a0665fcaa4fd8809b583a8a672d3aa22e75425892ed2fa86ea4a85bcd833af391febc3f6fda508e092a970f314faf3c71e9426fb0a818b70962ee0d3cf53048dc02457a3efadc0b6e750f56ad910841885efe7f6944cc1befa46497911dfb9ae25dde319d740d645c53ced9eeaf70cf0bc8daccedaa79e4a3b3de0f17681877fd69c45806bbacdaa01191a194ed84e54a9abbb0a38c2a06a798248151242816b38980f6a741f100eb911feb57f355567140940c5cb363210331c9cb4116cc9db3bab4773e0a82bc29c5cb3a72153083970b8835942411e89772c8713d2cebc9f5e9c15622bbaaaea6865710565f3099\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = be11e3c61158a256711d0cdf54982d7c76c025918e29fbda4fe4f65363bafc494e57eef24c4571ddd277664c48838e88add3ef9daca684033981f3be31ee492b73a7841109c1061f19a500b284984ff82cc4510e4337b068af676782a44daf7e450e4eb60550c1b568ab3003ce65d3785c0bbb654ea66a7e1da20a7fcac054484f22336c7e88827d5e2d7d6f7acb7fb28801a19da4701da89a5ae37554a89fd6c47c08a37a86a8487c3a38ea30d829535c929c35af32c33a57a4faf4665c1595302b807e48a2025a6c7ce2e62cce29eb589b02afdd1c57db155a7227462e8a0ea56be1f1b54d5dfe0e91f54a2ade3ff42136176d5499b2dc26245a12719c1d99\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 36870d60e29723c287ebeff349a70995c12da19fd4743cabe3672a093d67ea3c842a4539344848d572a295806cd0e94191deecf58078bc08c7262a57c6735103c27e2af9bba24d317b318fb22563a34543faa65a0e066e6900166ada0e296ce7ec10441cf4bdfcc158ad35bd9d33ab251aa0e71fd1194a62fb92bd879cbe7e893ab1454dbc96336aa6307d8f18a68648e83b6537c66b85d1d9db7d184ecafc85f80eb790f8b22ddb94f31b960b44f0d9741439a7a1208c3cc3ba3a3abe57c8a591cb0c7e43addff0121b213c8158def18c386f8d3f550dca07854233a69704d300fe32a7f5b49cb31837c1a567940ec6784e73675b6dfc67e128fd05a7415d9a\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6955b0357367868764cbfc9bfa4a199669e7cae1d50623fb7b5051745f4b7314f49b155ea1257631b613afef2aacc310407777a4f634e0c83816735fb25486b90eccd4112be94287d88548b0b557e63afa05b3fdc087f0bd78247ebea1d39efde119bd32bf6bfb9a0b8d23c46f4c05c2a7725b48f89e57cfb42ee24fda6d96d2702a20bb4535ac39448dfea082272325879c6048064f89d607e28536d7c91ec7b6c5fb2eab17b90abf5e90231795b34ebae04beb2e55e2cd95650020be20ab86fe181e6895248e5be081f1cf56c5e9d8f3d09343942d45167651b27d892399f1b2fa2953b2dfcd7ffeb8c22f1b94a1e1179719fa2273569698a7979af6d42bea\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0a322d5fabcc7db50a69bb20124f79c7cd177c04ba2c788d694b95af2d7ab2fce5ea22171fb8d7c8a4041608eb3ac69472e52f1cd43ea15d911daceda8ac03f6d28a9569a17b1608f46f576fca04738b4b0cb0a9eba921d70fe3a952673840d0a7eb366cf44cc2f4bbb1e251a27208a64fcb23394358c90276ddaf83a1a861bb624035273e5effeb30f193bb7ebd916eb6b878e7538c0bd03a273df3f404ef519fdaa3fd09e93aac0f67d4b2a3a999e29400037ec42fed904a83adb3f4464ccde14dc0b9b9e28fe15d1a43cdddabfcb356c0f46fc05bc06e35797449cbd9e4018959557cf3d285297cb0e6c454f20cc2b72698ef52a8da77fc576d9995544d4f\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 515e66684a467276772add2a9dc4ec8ee8ea0107e3443cfdd62d04eb8a4788bc48c8ebb9c0399f72ad280b6f370085c4461dffcb6656b407f2f9e050d84ec6830c961ae9973733c446fd17c89f0500e07ab8a94d7cf9ce2bb2f2d965c68b7ec9278ab7155b21ff96cdf6a9524057e00e57e3f4e8c7cc1a2b21428cbb48b2eb54896d6352438204e768c81ecfa1f435f779ce0369b5dcd817fe232ec288d87bd9d0344484fb25737686e44a408ac71aba41731657b24d940f5e3b921d9324f83878242be3701ad88a55d74dd78034da63c1e0b91be43dc83f7442c0d290b5c08dee9ddf0c00150e041f71423a927c376062d88654211cf374256ea72e1a4e5a27\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 8666aab5c3b817e15f3df3ae71c28179d4b5e29b891a82b031ac30503962c6b177815cb5c2150f4b79ad1f094d29599de873f92aae777865d39306aa67864b793199084b2a83f922133a78f7531c5fe5a55055b0f7422a3b304130b0d661bff1e7aa0ad38bc9d8f17249971cc9b2d1452fc63cd6b071d98f1576448f1b3db6801a415df971a2ee4462508e57fb3d83a2109b1694df05152de9ebdb699a0e18d095010901c832aa4c1fc19fc95ca555e1ad55631a3b1c8ad265e2a240321bb156aa57b73a66a95dd5fe68543c4b0fe2558367c2a5930997a1fb0d3bf71250e529dc17aefd5de8353ecdddfda06fc80f76268b734294a60c95c853961636fbfce4\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 019ef45cc6563077eb21b53e276697f0eb074ba5d6f150f6a8844a7933724aaff94c0830ead33a47a4e66cefb1d26ad38f1be5ea42db9bc2d0db280224ef7fd76beadd2c297645cdcad42d045677c60d79a2b23eb257396e33c7ff198df2f55f2d3235bd7bb2c9cd6fe0f82f041ba5bf0efed42d637f5f71780fdd17de5c89c81974dfad4b80128954cda09f3217eec9eb7773ac9bf508ddeeeafb36e7fe27d6d8674a4b5ce4fe3b2bbca9f514d8dc24e697f4a429a363c87f88098afd652f906e42f35281f778a282fd7d3b15d7b244f50495944f47ffd5204e299ed8113f725b4a117b4ae9da5e27ffcc1f4b464747ab6351232ae5f18cc66552f333760f06\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1d8be49c0b9764bec221f490b748de4347ee8e7f55e046261bea4401084e16c113e951094e2480ca8459640e9f35f3f60d0328294287437bee3aaa70608000617017b9933431c8edeac3602aaaaedcb080d6ffe4540afb4c93e00f760e68a1fb0f767e5901d01e6768c8e2812fd3612fad0a9409e14cca7b28353edcb116355166dd83ec264cd1ac5c1e602fac637efc36bfe7f28b86bbb65c85afa67d3ccc6a15099afae5e42690a6131ff58d8e83d201b9841bcbcc6e52778bd41b1430fc91076ee85cd4f6d3b2c1740449c4248850164217d4c631d1ceae8c970a52bc66cd0d15534e36c461b29136fd05726f569ec0532925da25bcfadc60d4dd558ba028\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 06cf945a6ff49d0e0cf62480645b66e1c948ee305c68d785bfa7bf42b13d7e0afcf16cad0e7bf9230dfd18260fb3b4f3cfbd0d41915d05d1971664d40412c7a673db6edee00fa54db584b3a569a33afc46461226fca210c6123e6553de2cf7346fda791db011908a852c31b5231f2a9cb4d64a5fd26d55a67f2b46acc3853eb2958e9d46cad3c8c5ae4ebdbc22ade2076c5b1fdd939122a16f84c03f3688015e697cc37556a76565d99b81a46f799cd2ebf504353271f15c5c99963dee0004da53dfa62aa2ad09794d8e2201df4c311fe88d1e09f56fe8dbb31d212fc559d84c1fc8d7a1b9287d8b86e93319bcfd1e584615553b06ad1436dc9c44e0dbf4fe29\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3d5767163395135c06d3c13fa30c6c7e72e57d2b7162f64", + "19d2fe3a779ec76383dbe8dff52550d17f6072d98caf7bc52d64260ce526922624223d1fb4745eb287faa3bb495bfe3af605acf2a1d285f251cfb1f12edc6fa27a3a2f0dfd50bba0d535b192be4bf61de4c46e738ee26e29ae8594af9b2ac8efcc6fe2094411c6f241a286fac72abc971d358757ae41071ed0d97f1c151aa967b484a10e5ffd7d64215709e51a386dc9a0068024e5a6686aba0eddc00cbd31cefcf4fc909e82b6bb6445baf0f1c7903cacac5f380677564f0e75bafddc7fe0e6943551b6eaba903cdd7287edffe727ae9c3d2f01f9f0d624b04b70bdd7df81216d4297bd8fcacb2bd\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 14d59221398d46999f85f2dfa13357d961d3aa543519ca0b5633541d451977c222c07f6e86f67c48eb0d318c8553b2b5335b43a1e66cabb6e32a4644a5870d15ad588eddf92d7ce01c924453425af6acdffbd2b1a6eaf40bd5e820d1e0f12ba64511deec04430cff2fecc09925c3f21ff7c6ff8bfd3048ebc13f4ef9ac3ede05b9627ebfdc15f871537484b6970dcbd801be42b5b6190e21295b839371216b1b725cbc45d9cd922bd028069546a425b219496b3ee9529c4450a4c69bed7dd9cec20cc672f1583267fe266d84966090760b04348573f51b3cd5023539e3e52b95e0a70912d75151e027751f70876c602db33d3dfdb9fc128d1086400d8cad89f4\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 86b785bcdb48f290fe8ab85c6edc25ed429f7b1f89d9202b828687468870e2f1e7774a35937ea128f615928779e30acae33336f7ec3e3d098dd3c6a81177449e347ff991b37502f34aa9dec89bde524a79c6db7b1e72c412a88904e2b2796173f5529220bbdd96615a5088087e21dc32429785cee19a6eea0a2203829b00d3b2feaecbd5e9c01be264e8170e4db10060654dce2b60e080048e45244b4a8d35204fa09c40bbd788eba9a6cc14ddff3fdc5c5dbf3f4a113cb399db8e094ba126acd56ddd2ddf1d7b2d7b7fb17eacf1938459eebb3cd68082cd56e827acf9848d003c9e610fd688659d85e5481e35b9ada0818b23b926229da3d915e8f43c5ac502\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 32439a388e0b4c6896ebb7e82edd928283479e9c18e2401d7b6c8a0cd83d3cbecc226832f804c84a87226db49ff3722a215e6f496e4db097ee465b363eadc4b0f4280bc00710ab393f3b9560c0e4f5d5774e1aad7f4ad4e12e323d73d5174457fc831964a13eb533ab3916f866291929bc35e8a8847f334847d13925040b759f73c037f3387a3c3e042a617a9b1364187023dd291ab5133aca58c68d4e0a89da58165338f6b1ff72a8ab045cb6bdc7d3660954e78473498fc5fa0e15d61797958596fc12b8667ba96ccb7beaac8640d05fdf3d2218817abc8c49875d540b698ccb12baffa1bec899131d2a901c912ed898fe61e3222714f837558eeddafdc04e\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = b97efcb9fd44880345ee6d3da1ec769ef30cae441a66e265942dc06dcc4c7f83240a69bb8f71d8b46e741b9e5c4e04f544d6acaa8bbfcf2b7a1c0885a2bae953be9f8c65c0adca369d38d38c55186578450c327cabc2b7cdafc6ac81b684e4be0b551f4f28ed64fe168d7dd9f093d61f6ba0425023db543f423bec57c19fd23f1a06e466da0f37dd2bc0e40f956146dc413b2f70be0869a46e98880e9ca35fee6f217c0e8baaeedaa72a4b6e56b418b68653c8d5d7c4343561a92f9d10209848c027a68057f2b95d782867dafb5976a246e05665bb24bd0fd80d8163d3b21b85057995e841278167c0119fcc2a573c7429b03b41b9123a24cc14e985e3252fff\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 25982671d48a929364dbfeb05687bb49294c09750169d2488b12800e3472c66ff6add20b39e78191b463ceabb0a99f5c7c7d50686aab34cee4d89691bd199eaf0b5fa44e05a000dcff189308be16598387e703849f9b3abdfe76db86a9d585e53e0aa2098260c5904ecfbbe2247ad2d3db10ca7d2fb89b6aa13ef1b0788bdd5d7acb3e8f04b9ba1f5830d7321ade28297ac6dab8dd93a5d31c8c97055bbd3b2501ce14aabd5641f5a24cfbdf8f0aeb0bb647048f5b6d50eee76e4c69a33252fcd7bb5ceb259edd16e05c7df3839c94d9e847985721d54e70ecf8ccc478e8b752b2d4732cb5f3826ddda48656ab1acda9241ff7e086c1dd05df22893e751080d5\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = b3293b16efea3754fd133e9f0306f25a57d038043752d988dd7c64ba892cbed5ed0eebf613388cd5ab76e4bc6d1e4ae8df39de88f7b390a1aa4e005182111eafd6900f36e6e9fbe52787874190de9761196305c37462175fa119f134adcb875eacf53b368e9b359b445846fb969938fbbbfc1cd44f616738cd75bca4d400a400febaa4cc806b846a127cf771fa2a1c430dc3d7d41bb916c4ee703797338f1f097788f1112a90a35c13b2f6c90cdcdfbf9eac9861511ed65df92bb219caaf22b51e020ba55f38ed2fd99264fe6e7fb3dfba8ad546c726ae24f55886ddd008bec82fda0fceb277c214290163666da0154a8655ff2dfed63e9df5f4b42731286fd3\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3034216d6b5111f1f5c265b7cb92ee9f677f7b19c612da92e6fc971f99643b692e540198275d798030854cf47ab6921403a1ab84c55760f46aad6d143a5537d2f2bfa7ee0c5dc63477f3ee663c29118729195faa6f99235183454fac13d68b78e9f41c576acb6897c56f0a5dfde4ec6219b059eec46904974532ea1eda9c12e4e8b4da740b528ed0ec95271af740a576e49155551c87b5091859ba4cfdf70d2b339b4edf909f9ea575878b8846ab4be3964ede928f366aeb6f08a6eb44177150ced1e6c28ce3d82fd2b5237af2b0f4fb155000f0127e1eb997c073079d97b0fbecd74d81e1975cb06ba4f931788f991e39d04da6502bc93fc3412b8163743f3b\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6d3796e0e3832cbda1e0366bb1326556cca7fa8096a2ea856f6960e3eb9e3a1acb4e4b75ab69c999fc8d03ab242d6cd9f1e15ea5fc7ee1cf15d9ee259c2c78b387d9aae6d3d6c1f73f4e539af8f7500ee740cf7b29d89569defcd49ec6f784e81b0bc4b12c0e3c8dc5ef48e4d3e42962b55396ac9f0eba18026eb9aa812273070093d0093b60c8527b9223159190a0b8aea9f8d478540ca9cc2e5590e0608574f58fca25269793dbe42094af262a010861deefbf984fa9a93cba3b031c6acb1134aee074151e29941266de21f24deac9d34b42f77de53efc67e926ecfe03f5220f299d9e00b715ac5798a8039f53b431f1cd3955f5a3fac9d07840223bde7d43\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 37eb891d215b391350327939bd9c922f11cb40fcc9a68ea933c4b86e3a2ca0ac94d80015f73ecfa1acd6d7969579eeb154deade07125b2bf42adf9bcbda556b2fa105caaeb645800731a1f04152d481965da98fcea4c42b19cab22507797c602c4a8903179a614d2cfe81c3c49afa87492546912ac286fac82284619b396b1f406a0859bbd3fa2cb5744e1087b057087974c97af5d7df8043bc883d18ede94a099a34b428ac934c91e14e73e328f0fe4d016dcc95ae751d270ff817f72ffadb4ec41c3b8e696e8e4fb3096847a68667e9047d96d03b980f7723767a24d79299cbaa6e4c1ff2756d988f36208e80aed3186f3ad87fd921e0b5ddc4a029bf07b40\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = cade4d820ed0b583b06140ad8ebda6e3ba802b005d62b00321b147d2a5e0291090234d8c023a937acdf269b073d8295e6252773497f89b7490a9e0f5a76c0552f4d4c283d6b35d58411810fe6fc1da959486571c7a40d44dc37f27c9896f53160716291757f14a2b5cb601ff65cfd2a478b3d8fa20333dbd1c067ea910ce99eeadaee1a3424d5877b3840afd59b7bd1e063a9a92e89ccea7c7f913874f635d22ca8f4545a2bef2420fb006d3d387a5ac6288138f1589443472a1d59ffa08c9494f2bc7e9e1ae9678979f910b0990271d0d45d5deb61ca3f4aebc9f9045bc354b65bb1c1440d2b5db491fc78a5417e90cd3629acb6f22fde793c8b772d34d6ae0\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1a2e92ea0bf379ec2d3931015bb547c408229b235b43411aae19b53f8f622326bd262dfc49f76adc486950acb19590d6d1a7be16f97ab6c37dca120e6c2df141fdb985faccb249330e415861521f909a8402298052c176454a37dc6e2f3116e254d522c152cce91bcbc8e47e6ba230255505c0aa2222b708efbea0a15164df17f9d3b23a89abee1a67ded1114e7d2cc00d937773d8416971974b7266a7334cba41ed4238cb6b41dcc7160accd5214a6cd0b34f9d885ed00d8d1939a06148f0e1b47703607fe916b96520a2776c27067de2deb24440f005c7dcfc03399da62fe3d6b00fca9cf0002e00e76d4c8de72d78b62f43c5e4ed142a01676c723ddf9c6b\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5714fcd88ac9f0369bd6d0d9478f2a94cd76a53f8a8aba492b467ba824476f3f66d91023fed8f34743ab4ed0e66f8004227081d4660942bcf1fea86756d2a8f97b38583b06241474a1f253976cd13c6482224e77978b14f3b708260445f8e51dfc0f46c31d15a9e37bc69d095d8e0afbde7cbed7ae0bb294cf3998a71e4ba8dac4f73b6030be531d2dd1fdd41e10ff03250012e80eacc439cf8db4f8ecea50b22cab2587650224bf35eadbe213ec3553113c7215e6280065df3b5efed6895abe4f6e7a8ee602c79a1c5eae0cc2a18a9d18c9718f90faab9aeb22f8b585105a8760c8e036b812332934f9f7e53f9aa2bb992cc6efed3857d63a901369126da197\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = c8a017f13ffaabc7c7bdfca95ba2035f59d9300ab228b23ff1b4804b02bf0de71b0f4f830fbc6f76fe471e1c49cd794f1278b131773ca2861b4a3520e7e303de781cd96552e74ae1308f2fa1b39155ce86064b61c21acbc81e2ac5c980b7be90302f70e1c18b9604a493b56291025191449d77e4f15f7debf5fc710d84625800cfccb9350d722088cc7a2d9db148842c3480b28ecc2a683391525c395886d03bc4859867201547c930a344667ab201c3ef995f1abdd110110cb5be9b0b15721b53f88372cc15d763c44ca9654513ff802f661f", + "11d97df65e74030a78707c3067875d5c3a00ff96dd94b46e5cf51e0b6568936a2f4986defa345514789b37e02b\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = cb359c59eb113f6bcb7dfdddd1152c4292c7d1fc25341b473100846729abba798fb09819687294f173cabbbc6fe9db252375a8b1202d826cb89a5bb937577d70e4eaac761fc95651d17afeb1eb07bd7b948d41d3dc4dc1bd0646e61cc036502e0606d9abf64e4ded36f2e1e52f5fe7f7342b5b3589b9a66b60cc6421d498d9236b6ff187cf494740c507b552cc836494f53820f3d87e0265f52583c02354c171d619cab1d34e27d528d0abf13b05497c5907fb0c111e805649b221ab50963c00f652488c7e9bbdc6c1cd1cfa06a7c7d021e3b55e00d6f7ef2b686e79703137cd1291932d592e6069201fb1cc6e35af21fb8135e3c1790e8445e250e6d0ca6d75\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 05ada827a4a19d8215494f01efab4061580775395f21db84b8e2b64b0681fe0025b53e9cd6fdc7742055ad4d307e513163bebec155f8cc20b020a875c64e9ab8895da3ae5d971d8b7e4570b75299509c70e28de4d15bfac44cfc4417888605a0c7cfd62be3e69bb5dd5c410e1dacd78d198f13793cec80bb7a9c85018a470734c2d837e537771e3bae6552a27ca8c707859118b8ac7a1bc09530b3ecd5c5bfcec96c48173d41f8a22bb54d44d63dd386e43039e71de623fed5af9332426cf1bb40e556e1e197938ebecedfdd47a0dcf377fb9d7e841ef4b9d9b8184ed80dd67baac8799ad859e81db28e944cd1f1c709bf993c8726dc1a190143516b37b59d29\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 75fa983332db76bbe79b6823e580677cc03347f703d4a1cadb49d2245cc0d21c130c6945e1df1487002e4737d89fa022197927bc7db86f3e6080d2e26ddaf0f37adb4500c4a91d4d6d5b9c46b834a2f877c204cbea225ade81c628285c788dd9181aa695c47703200c5c267eda59319f5a54fb72b24f99199313e47156b0509f47a06b3fd39e57f0c810bc53bfc8f44f0785674c8dfc47d6698abe852958252c9e3f189302f686e580ec17623e34137ebba67319f2808f043b1f65901caf5a752683086d96785afa202b3c64dbd06867092f50246d5474354f83804071690981396f6ae724c39ccf735b4dd7434379ceb8ff668e42a07835462bf14d4960aa64\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 57bd5678dc5adbee761fd843b8c96ef7bf5eb0c4719ab1cfa3f68d282eb20f87b5f840527451aa6ddeefdc430a4b4ec39448cfc228f967b1677269dda16ad39a6c4dbf4e29158a0443b70bcd50b9dd343842ccffb4535c9bfc0f91fefdd6be0ff7329c88b0318903c43b69471891af657c4ad05d94ea2aab5941fe18c2ba4affaeff14a2415b5224d97e9e6a928b26be6be0b166db1f5d238684d771011abd91c919b2f4057c2e6984a72c348c53d14457664e586e440d50d67547340235709cd4c61ad2a47b838832f56e0c4da4121dfccb24d0be397010a1a33be0a1fef8289ba04240aa38ccc92be6a1bca24c0972e89a5a7ab9b5ae57e5f82ce4ebfb0ca0\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3451be4229f5b37b25aa33555aef36d67c692fad8810fae0f0763058a6c23f6ef659a322b36ae0162ced9855ac56e1a216a0e4806c48000c4c01fd75e73852a157c58348939df553de427b02a0a907f629d41f1c2d63bca132b9abc39edf4e313cec60e8b51c5a5ce44056b49f5372498f6a25cfd1bd36356609fd93d388a184fa4ad483592f27bfb36ea1f1c50943c08313927fac2ecb4db5e512d9c14f419373461e1097164a329f2f7d9febfcfd38392ea4b15a0580570c9cb974f347a6e7f28d5d9e420308fc90966d9e8bccd657d5f854415d2282ca4056d9674d405b5f4626e43d24ab8041f06f8a1784db8518c5d509fc3ea63fc1da095b4b9a2f7bba\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 2167425cab3ee4536d87ee3d4ec59624a0f8201bc2e80dd626aa4971e34e001b9a511ff8069c302695aed83d82805c915964861f142fc629654b4f864464314cab4f669c60dafebcda0a5de40bf7316b6ddb80dc450497d12be8ef4c03cadaba0785517a1bc5fe8cd426137e55387da8eed05953e7c237f2d22cbcd8cc96c4f985b7815aa6f96f766edd73b8a8475df50cf702739d1921cbceccff437d833510c54f067d773f4e796c36a4cb07c4b8ac0736438d465922dbd4ede8ae66b0a7e1a97ba971fddbfbe698585f302637bebeb82ed3576d3e2e102c1aa5363fca6854c0e980ac1c1511eee034d6484aa3aac575aa9355233108aa2820ead95518fd6d\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = be3a05f0cfc1fa572a6b54997a7d827b66848a28f11323391c90ca81067a73d99c958cc01eb373c7afea800ccdbfefc1269dffe16a3d88640a33d7fbdba7961eb1c61ae50b70a9c885fc0e127171cd0405fc2eaffa199f71511bf4db1e9fe665dec1edab0f4ec95f03c4387e5830a1d0f9da5a8db55ba609b70ddf1ec18ff54ec5f885305858890a96e1056749c1d97db37951362ee1cb64537a742017045946dbe70cc21d7fa424ede6959581d4e927253defaf901588bac92accf04b898ecef2fbe350c8220c115ddeb6cfd9695e9e868fe790c8a8c803099b9b0b980d2fb5312ad1fcf7972f403f62a3a76d00941823deea35e22f11dfdf5d2d45682c6cc3\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = a81eeb92109e7cecf7b53571c8c2713328df15c7770556cc39257a081fa1d4ca7676a61f34bf53c178265aadfa1731bcedbe495d95c74ca18e681b3590848e92f244872e59b3a2a729a2dd01628fe1e3e71ccca730a35c50d691d6c220755f13942dd6c73774d06b0121b8edfc178c62b8c02b6c6fbba7a4741badbd7a4c2393a8ba7173ee6d48e8e8890f633f2bc5d95dca0bf266424f6088e12ff9497d9adea31d2ff92ab18fc8570379baea386e42596a211d5a1c644b61f1fdabfd7867f9632baf2ce83953ef8dfb6a834aadea8e16c122040a011eda52e79b0f4813e061ec40f39b0f437234fd99431d0a7a983e097b5a7a39859b35bbd97639e8c9e28a\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0a29a84bea46462c60784fd78c3d48fc86c582abae789e838032af05d6db8d2e8c4a17aec7cde389ce716c7a28c6367a6851912a69188e83d094a63e88cf99c4550b890e0b0b2781c3e0f859cc3e066427002dc4628eb754dd75f9ec842d57cb1cb4f67aad3bbf6227f50fcaebe6c89991e2137539ff75990d278c22c933438d5cbf81f24984e491607b81901cc89d4b2268d734060e7512a89e107c534bd430cc7ca867a0c57a103428f8b66f7690927ae5c2715b3210fdf1659f6775b49cb2fddd14c999ed2b35795615945456a9945ce70e80649393b278430bb027302029fd5323b7c99bd690b70579ce76977bc692a4ad5babb360b8c8fc614330889b4e\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 9bf509a9472d5e3d1004d55496699ace2d00ba5a8f73e9a13741efb47e1b6595beb4fb733bd48f48904f9831bcc51595aecba451798331f6062b1857d5038d30f73b203f0bb90e30444fb0087492ef41e5924eacbdbb3f2b3be9cd9d1b795a1c7c8893223e6bdd7876c175fb608bb88b51fd34e438d7d4d81fdb83b5129b8e5312cb3cb65fa1d36d94d5b7476d0716ba8fe6c24280082763a687feeab79feed1f1b1325a715a168f70d636260725a54b9335d973475b9048a7c8e80e44d3c02742f3457a36f79fe0f6d3c5f8d127657bb80426980e531b41f81ba4abbeab671e2f4141078cf4913f3771af9a2d65596de96e0d902b21530dedfa19ab3421648f\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 5b2ba41ef7f8b67a78d06b95692c3dddc1ec72de45490218e4fbb752a384c0e6edec0ff17cbe705a4d8a88edc9492e30ff333ab2c42b2cddd11eb891c445b5c92bde01b8f04f0285ef6875234e888d5ab89fb82e87d4e15b48462edf22f6b4456dd96ce95ecd7cb4e7111f06380ab525dd7e8394204d2998568b2145dd5b69947854c5a571be5c728cb7ef3cafd9ada62ac6e8d492f20f82b571f5713953f52eb1fa14d703529b15e83697d8fb4f4e01438ca3c8a443111fe16167c34eb87ad635ec056558e7690660fd5eb39ee884c8f30143d90aed4193af09d25abc0c57af603f13fcc3547d1dc5a8303300c2b413862127494df8f24e4f75f12effc1ad2f\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 5407f8d7fdbad61526ee472638d55f324f991314cbbcbc9050ad1421c8c86aaa40e597ad11fc8e70af0a62a8218bacfce4818929184fd16dbf9023425fdba9c3c3ee85f46a59b2b7c7757b4fc565519c091b81f3c79ba113c6d76faabf28bef3216cfab8d1187c6fb097acae283119aa57c35fc3d771db3482e52e6c58fda3475082a414d8d332808e089f1ec5aa516ee80795c9ea2235341543f802687394afe89f34467d3cd1dc14204c293734beca19fb4008d1d44983ce039752a0625687fde6d68c30a94d12e2ff2f7b26261044cd1c2a3b5d5fd3bdf53dc2a0ff2377a9d3122a9434713e18303844fb5dd7989ce034c0e2ba69cb758b371fb4404c0e42\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 022187aee485090ae701c8de7847b65b217eb269a754ac57d34737a4d934bdb2b8f8974dc13241a23f3c910ae5cbd693c3da38cdf0a4e628d6f3da2521dd1a376182bd11b1404645b91a0c908e2dcb8daee6d361da2e847d64605744de19238495fd8add47b509f2bac0883f711032b549103665c6d7c67a3b7a0506706960fc9c1a104d9a7a3c8cc8532a3cdef1ea0510a6b39bb1f6179e3ed1a0b13617082704302f07cd839a96c27fc55ff8d78d14c865af15fbb6c6494f79a0d248675b7ed33e70442182745dbab1b8090eac72e498e3aa9c3df7e593a975a53ba900659c67eadda2f94a979376b2bf145feb2046136fad77a0c5f79f08df8055552f010e\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = ada586824cb7f29d820319c18f6de5b3e7fcd363b030e36f077bb6fc4580e5b225bcc87ee0d69bf5d55ddc85e01d7044b4e64e9fa678676b87df06c0b995248bb713665d308032220e327a372b2785d561d9df922863392057ec947131c820a993c302976e86a8a1155e18449a52a50796369f178656b2ce1ace9e267d6f58475ab2f3", + "519892bdf354ecc74c8185aca0fe53f7c5fbd1c69d61f50f80d9c4d37dcb801195c3fc226282efdfc1102686b93f06394205ae9d9f203a6a6ba4d5443cb760304ad7869b48417ec224d5d039d5ec1430b8e1064d83f2abb7a052e8256c281daf7d230e475b7a1508e05761abeb03c367ef86e8ed6ff89fe0619c2c8aba\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 18550383f0fcbaa1133739219314695665aef19ea2e77554e961d88b1a4716391d56c75a5e904b9d793756777a9704c6d9cf5ca90f93b5ea673ea3e69d493cbc2c2d2b0f90c7a07f2b3d1897220e3e9a1d169127859630dfbaf2e67ec56f170bffde383cf0967b927c0453d36e31575757dd3a779ba5509fdce73a32e72162917d7c7b301fc5092befa92ccfebfb9787b05591caa008eedbfa4da84c2ef8035e90efa01fbba43c9f1abcf39abd8beb06dbfb4bfa1a8aab8c55dd0d4c1c88cb151f5178ca96f0391875f3c8d1efbae9daa47658da28f30209fedfe12707263b5c62c7321423fc1fd6f835d8ede374a6236e6306bb3d2afc9b38dfe445dfa80058\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 9228fa494de3c8e376bde392e9afffddb85402d73885e0b32a9c98b8426aa4fc3ae7a1fde93650c1ef47f3c82651e63bf02cf11983900efa569dc78d8344f7da3c3c170733436fc9830c3d185aa47782bf3c4f3e01008672f29220668d97ec664cf5a591279783e248987f01186bf3c6bdc21a9f76a85dae40267418bb912281de09bd342aaef886593287d2b6d5bd1184d5beed3968ec370dba5d80f251a1278246b374248e30db98bc60bf5bd90328d46c70bd3046dca70aec994a3b5ec05e8058e581dc9aa3750503c991228c2c35dcb08bf1b8d447bc5ce2ea970a4a35581c6ed0f0801ed8692f01171764ec858c86a79e15848747ac715f892412aaf935\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 36c4dcaf9327cdcbebacc2d46a54483255d6a3833ae0524cfcc85a8f5418c1de595a66eb6e71eca1bd5c72628433b11f04d6d68949f5cc693771b5aaf01798305dd1e123fffbeb7d0254a1c6b37441b8a8eb29829b97ec99fde20f62858b7cc990c1c61322efc8a2e1217eeea6c85705dd59e1e80eb76d31ad9f9f4490dae284b039adb117dcccdf5da86751de5f79203f2b2a25ca4e82cb5ed9aee813909db9875dc2c0f8391d34dfd475e8cb69687be798a3b041796f91bf85f7a8de673fb05b96476b0b501d75417bd66eb53cc4c829e619bd0444935d22a5ed5dd9e7bbffda856bb81c8566e58939dc65a1ac4a07c75fd80747acbd08465ec98afdf96ad9\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 33ace84b69defcd8b54d67a6317b955534f47b6e993d531e056080498562772dc482bd19fd1a259aa38ce96d89680ed03e1c90907a48df1d6325fe63ea012e92059e29348d717b0812a46ea3597372db8fe031882d734536fb65d97d375a3ab3251740374958cd0e79ff35d17f6dc50c8001b2a6f2c3f3ceae9a6c81dc4f4eeb2e29be67b151511424fb22253388c12dcb2040380afdd10b45f4660a479942f3e8514a2243397f959119b92a6d3359aff3731610896ed157f9e02ae5b0e37737c92d0e07509dfa38e1d6cc752dc903f92e81108641113b9b085766becdc05ebdb0d1bac35e4f9ce2f1078b1c94d53aff1f31dee828ce246df8bb88b25b459fcf\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 0cf79af9d40badad2cadcc2a310a67d01c5def46f2cda6f38dd03bce0ae6aa272213f7dcc1a522aa317cdd61736ac80000b1547715d52a9ee1b5475f6fba95e4eaf8cda1a77d33700e40b0c78eb108d75861c3cda19f4dbdb0e0ecd95d1956b1ac0a259f2296b8d76c744c1fd0c32b0c8673fd2a558297a212be00952c014a79915675cb2807ce309000eb6df7811869c45d99b6a2cbb05dcd73f3080f39352bb2492721453f3a957dfd2c397c82974c279698808b9a536c7addc4e2921f4490306e4f7f563b983c77fd377263a5fd1f65465bcc505e2ff31adbe9d365cc21df340eedadf25be258cdbad99dcdb6ed335216c03f2cd4d6f1e22edad45f154543\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = b0a01591483e3ee4d5918ee5c7d9308fa03a4228bb395e36801d009c15562a9e8169fcc5e57612666156819be8081e23335ec83f9f40195c9b164088a391dc7c2dbe96731dcf049dfc1c422fed5033516733a8511bc8694cbf68758d0ae897e2ec2dfa202ef3cfb5931399683c4d70d2a3e624837f72d92fc7d3f40f59c4356e304b770ab3773874c817c0f3326f11ee8f0bc70d1c9aa8e7212e07d236c320239ed31310979b333a13fe63fb0fe8ceaed517a83baf03c76702d1a11036d16fa9ef4968db2a728f630793c312ce76db3f8315f6e147a37c83a94ad76b0a657bfe76e75fab00519c7f0058948609f28816a5511ad09893cbf3f8b7ab439e57404f\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 1c582fbf5ce5d5592b17a3f7c0cd981d8f254b55cbe4874f1f6e15e9b9024f1160e588af4e32b787a66984cd20d21da22e490e0e72cc309906a3634fdc7a32c5be07258fd2da1fb3f416185ab1aca3e41fa9faf5e2252df6c70c11d75db96b4cf5f7386f02b3a1c20ea54b56c9fcf3bfdc5c6e187c2cd064378e4d05ba2d1c92d4cd463d274a05bbc681f6f1e24aa268a25d997e78bff642d6ab0109f709827b6bc3e1d12ce8ccddebd22d722be1b77a5099e0d4a66f56e4e1bf11040cc50db0a4600cbc869d9392ff71a8a280353523663c2f93544a4f7f032cd8b3d3e783d1591225fe7f402234ae8a444aee3de34472c49ce06d29e09900ee3579fc990816\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 4a42d8803a2aac418038951d24505add471ecdad24baa193f09b386e1f494de4f36d502f68a5c6da7834619e41c294d406117ed1f117be68dc81c7dbd52151dcae56c2e676030ea371d88fdf2f1ab54ea63d89697c248dd3c2fef0b4b2717b119e47f1b3c695f082ab2f765e8af9f08f25f25bbf7827fddd0cf01c5e201260f87483c19ce4d59d6faab6c4fe06b9d98e2b7c6f48c85fb3aebef1f8cbc01ccccada7543514e2c9509ce192d61ce90c898e50d8dde11d6fcd4387a7e5f66b439af13a137420a94bcbdd259c02f8c74c6b5eb1a6aeb23e2c07fef1884424dc4fae793938cd1cd440edc2260005c65125930599d2bf8313d449c7af7d691ccd48fbe\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 731899116bb6aaa41c9869b6374c44874bedff493de631c222f8be42e8c71b30e308093e113cd3d9f208ccbda38de8c803eeb30b99e43535117ad655a9067d4d4cef98cacdb555222f3fa3fd6dacfa22555876ec5380ef8699b8ec4e489954a57412c37aa0ba41eff64b73b7b553257fd3648e9bc6dfa5a60156e3f87d9d44330144a58c1ce85a1e441a1fc675f80d3930026cedd0a78ab0bbf5169a7f71b2bc242868595e2b737c34f4c70cd8dfb8650a30a4c1c108d1c0e8a6a2de9d0ebf6ff712599739f33efcc675f91488e0a9e006ab1f51d0ed89c74f1b6001e925ed51e46dc4e23566b30105c36b5fa976c80fa0973d79c5185f58233b5949b22d6697\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = bd23a5fa2e2f62538900629449f30ada4a1751021df9611fb528d424dab32560bcc33c4214a4a27804b62bae2182ba7eacca55700e88568d5b686a39562abf7f24a620cf32a70c8b1dc0d89b54824d7678ff7d1e94581b38e9f531d9fa6d18854e1b01d9fee81c0c046fd7394c3a87fe63e75788b70215063d75307be8b308cb655713ccb8e1416ac36150514ebb6d15b1617e84e7aa9ebd8a81890aeabfb2636446af8e4138b49cc85ff3019e40aee01afe6650870cdc633de081225731ea7ba0b446655d9bdac6bc0ef8991c0bac7d6fc9916ff89b2808e3ec1e266419c11ed5004c96cb27f992d58f32e38a765c1243c4be20942e1e1674d4b5dd5b8a0ea3\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 389e8eceef337c7f1c956871f87c6ca0d8882fc2004ea5b487104a11af47dc0642f827eb893d95db66a4b9d7ad319c10bacf2d3cc853e301df6dd047044f6fb5ecc4d20b892c384d88e5c6e4a98305fd8c635bdbb245366853683642b37922dddf12fdbd9d6da582533a4ef5525090c7e6a1e1078b3004ca054608516c88685ef6ce16c034415cf861057b1d2d773c6624a769e9c129d0ebc3d1ca905a16ca3603d00afa4a85776b62a40e34e3798173b4f6a6ee40283e0403be7203433072f37570cab0d824254fd3fa0fef00f28f89087664db6f5153a12a7251157333b3523fc21f7361eee6b6c30ee4b88ca211c3fc867548ef112fcd9e352abb5248e4bf\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 29ca8ec17d25a457668fff26917a33c7698c4d85e76fb2372d9d0b76142a8725b774e65fd68ce261784cd8317b6967ab787ffc5eee6fc64f7784b8ee1c20796aa8c5f6caaccd410829274c4f50e0ce318cb47180ec4044ad1f5549d2543bb3f9bdd9b5a5677e81d6b58daa0ff1ad9d03e7c7e68fbde0f2984b15fad6056ac96ef1faeb8f3cc77b406b51f57e2a6120ef733b244ae2ffd5d8f644cdf1595edc644ef678e81a27fafa278314b9903b5b61d5bc64bf4a3d19941a10f452efadc34be8305118ad3d699fab185e3c064d3a2d1faf7ad0c5713910df199e1e3b39597809daabea1ad8853cb412f51642935562b09378ec82bebd34191f0516b73ad1a0\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 848cfbcdbc5441eee9c26d755b80d63134a9b85c5c0379edfe19879c17fe9d85620b06ef41191b5496968be05e5a3ea7e85bc1d463096b0e3305948bebc79b9f298fb1b6e68f8ce1503d297ae73760f5969de48840961b65881d21513ba2537f63bc9fcd4817471ba6bbb2cde3bc4991507da727a19af05a1c15548f79c74e1f35f15724cf0244f23ecde7af3a225e174e8d510de8f6d79ecbdc05bc1173cbb5c85c6ffebcdd27787ad9cb571c130d83ebbab558fd5bde3a406b8ebb2087717eda605c8afcb2e6477867311a065e859b094b92d9dc4f1db0aada764750b2c7d9811846fbd2cbf94e9349ed67130fc8999694c5fe57970e8597b87351896ee52a\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = inval", + "id\nsig = 03a6e768923ea2eebd5498845d970b29a7c4457088fb3b8a6c787478274514e48fdb18370c4b89b2ea67eb00f31604c18e2b3e75d792f64a15fa001ba9224eb36673547b9008a2fb3f07646814e776a7ff4dd5a955429d683be0702c934061d52491d8e02b12a7fecb11c7dc3e11aaa0ff9beecfef3281371d3301db400cf7882188d847d5e60fff86d9b8461ee896507b8fb3de601cc31bbe0fe7b529937dce5c07edde203d9f7e75816d5149e5dd7503d6966a40a4311c5f5358a90ddc0b81f14a8fa0933f60c96965dad9741195677e1f0c7192834745f961f2ed5d7955f8dc50c84ae30a2d32da9f61d10ebcb4bbf53357965065128ea33ed353c423619a\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 2d36f4b2c603adf665b949bf8d1fac4ce42a78b06899950d17b7a44bc4e8b3be7395ba1bf7a7e1f11bee63e07dc6cb2eec5d30f471dc3d193383179c189935bbc54b3cf0e50b39f31e588949e1c8a2beaeacbe4003dc0ec454bc94b042fbde20c5087ca9fe0031b6296814b9389afea985cf76992c33b76b213aeb8d57777e88b4a43b822fc7ad5a768f395f0c166662717f3dfc25593ef7f8d14b5ec25956554949ee2dee3d699f067c2146e47d3c10c05d9d023c74d5f2d4b91d98ab63088e3f049cb978462b635f5771e316a88c5577a9af6cb0f887668dff729fbf0201cd8bd26f8165bc3072958ebbb24fa78e1d385d1ba9f62467f5a1a510d66108ed69\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067abe38926665352858a03b40f4855f4a7a02246e5743ed8a940ccb46987370cfe5994293feb16dd1fb67b60fd20398b7e807cdb5cd3cb617db93d40fb15c648a536c9e5f067ef31f453cba781e5b21cb0978cbd1e8a7d4a448c008a709863038085aa3d07bb9ad0c1fcfd018275169bc7f61b2ec885985243fc0832e892a67c6bffc2327521f03ca52db160ab6ee749090efec9d4f32c37337b6abc6bfc7c372d11715f2768b154ce53148ab5e303e2f7d1e096d981a3d9bfc38e4f6819293850b0ceb3e8f846e123209a0e62d27414045acde134440cf8fa9d8567a6468dce3591b9ea9464d3067ca093b916397a193bfe99fc477d0de046f4e27eb0adee\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 772147f2242c1b2e1dc0c0237a976d8f872c4244eae1fea3c711bdf21d5e3a1a62a2b0caa65b22920c50d77ad5d9a0d052a9cb096549d8516c81ea2e5b20b6fd61582d31c08bb67213c5810726dd5ab8b6ee858045fe59a706f793e6c49c2b25d1ee4b7ce353dd0caa8fe87c162cf0b06faa2298d745161ff1cd950398c1b36305dd03a8d52f65ba95f1b64e6edb9a5042ba1d0f74d725c937c3f8136b35ff8de06499a2e0fdb4ee4826f886dc65bb876a59069d8aa7db3600a1cf064f5484cb7ac9997f597cb3a49c8f2aabfca953ab070255aa013071ecdd722944633e1ef218af418ad9fd06b861212880097463e66ce0f37e28d712690db43f88c5e90130\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 4d669d1d6545081c5ce5972f539b6ab71bf7aac14f5c8d852b71339c76d2579c5ca9f6200b0bbc0287cdda61cd1ee20298227fa7076bcefe927dc9ff570ac41a69faa5af2812bf199f56f81e43390ac95370fed20f1aa67c286c3752b24842ea27affc6aa826c9e59bfa790498062f242c4ec07c77854ccb1e500845b2b654c4c59b60d1be598f016df41fdc9a20f4fccabcfcde28a08fc87b0b52875184a2d6267bde1e3a2d6a045755102fa994f57f2de147337bcb044258fbc04860a3c7bc8c1f49bc7773e368d4c4ddf677caf23107480538eb3d71ce80055f62afce25143a52dd822efa8b1a1bb1a14eed9e150f32a9e9a550defeae331ec31b35c99f56\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 90d4fa1a743289741d363634ca6b0ada064d3a5430271053a0f5ab8ebf7423d790da1c7fbfdf0d088d70707780f7d7a1038d5491a71243382ae77083270210703e0d9cb7ec8e94306be784ab81b63747e28036286079b052549ba5e30b3a38046aa7f1afc27dac3986fa53aede72cf226c96e120c52d1031a082355aa71a1b582fe0f8530e41e5d7684c781a142e4661efb3607fb2784983f054ddf3445fa10ded1a2898e065d732c73de5eef0c4a8a742d437136cfd269e82c7c17473b4adde9fd5877c8f2bd571e6597fe1424569922346c626c6cce8b16eec052fc13f93c3007a45b76927a0fb7b7b47089cd707c600d68b97be5c4208a531d62538264691\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 825de069a685ee2342da6864b49e06ad4491133c13a3afc046128442e76f96baaccaeeb9f03503b3665883342cff5cc6d1f770776f94834dea58260442a4f3d6d2f9c2866228c724df937a27b275d5058c3dfa87a97a19c852c322b0f89fb4d909837e81761d2a969e0491ffd9f8a2b583cd0b94e8a7754534e7e4a6ee55dfce992920749644a369184325d2285ba0d542cdcac255a10b6f439672821b937ea199114555edab6a0faa55460bcb8485fbcd955ee87325f235cd609f9d42dc9f2c810cf418d5ee89b76b078e0def2edef994162fd7a3abc0de9f09d537b5f0c332d714d53b7da12a212194b8abf5e55dcc5ac01e19ce5c58edafe367ab74b89bf1\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 25b34c2e795257536b7064ec7564f71e25b230a80c82e49303a5db49af56277638b569c4a0fa72ecb38de137275fbe1c07375a4d044dd6d27a05166ff4e12f6a851f35b65f10c37017fc18eeee7d62d6a2b56dc2aff034682dadeaaa0b98773e7e3feb6f46fbebc5da59754860839f01580ffd86c6f600a2ae206cf1fc59520d7e4f048fa31157244c78fe022d8a9a57273240e0d5b6aa1cb77c410f3ac0a57e4ecc7f20f228081fdebae3eca917e16ab1ec5940ab5b10791a1094e46d0c244cd1fc2650ca1efbf0c5309080bd488e433ba0423451ba68c27223df02b3056f9d64f9310a8c2a71136ba0c0de6e151f0f84b933a7bcbebc0170d88d2c380c284d\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 9aaa857bc84ee4ead6ec3921e00838e5b6e42c6cce5e57721fb87d0702730f4d4646407afaec4091f8a0d178601e227fda7f3870f1f08c10910f8a8374e22c1997392c8e807be0e1682f04fd3dde9c9277689306d9553a9f77d3076e75c11a3656da3275ff2c73bfafbb51d00fda238f370eef25b037dc299129578953f03e4ad9098d99d6e5b839f742eb8695dd10892da363adc2df295114bfa21990385b0724d2d8c03a872dd781c97336f630fd8eab784354340986c9ad0b85c94876acf3a4684c8ad31517461f6a2404e990b001be94e7b4f2eddf621ba3b38fb9207dd341f4ba64cc26d87eb5fa795fdf8ca0dbc2d90089ddeda90cf3aeb6d5c50ad9a6\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 3214a13f2906f11141de81f0aa4df0af15598d6ba369d22d538a060a86d4a9b5b304dc146ebc8f5484601a71e2774bdb28213c3c2369994096346e64a8294e4a9147bd8494efacd6071b9ea2976dc4378a963192b8478446cf292586ec2f1e9693be2e136cb71ca00e1e358ab94e6335384b8dcc307bd4b06a304a27ab7e3d2fb4c62e903cc0673f720715ef389032150d341788e895922e78b835813c534a7c798d5d3411ceed6cb030e6f26cf074e39604ba51f4ef2c570424b4e3b64cf1b2bd96a4f50300094487f16c589f68ac2fb8a454f6ac14a75067b53537b290919304a7251601d8399c5106e528548e8d290e7a8b93ee9b711d6e75bac4505fc613\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 9040b3d077756b975a4152cd3cffbba8a607287390b7442f5be9a1962688cc8d59fae56886a713ad692766767deaf42d56dc9e5b82d04de243a9667db08b853bd83c69dcb6634ed3a3b41cb445d268f017375951ff14d962ab0d5fe0ab21561e009212222b66ef2f41ed74da72ffac275899a7c53ffcfdba65a7e153078a083bce6520885441349425b7b5d8e36a14b59153e56a701dffaecc05fc24f6b26899665e8bcd21e54b537eb738160c4674f589a319ebf16185e7beaa94ffa5727bd2239d8e97c9c5a700b463bd3da646c7615651a3469d1bcccce7cbdc5d6fd9fc08fb4465e94a81e60d6080c75c2514cf25c6ace920f9343697732139430ba4e79a\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 473f078276387fd47e73094ccdf297a08ee76192a9037ee222b21705748e4a43b275c318429dd49bb4287966f7e6f25d54383ab92e6fe2f524359486f5e5fe992633d496f245acce20ca913c81ff773bb82b104d85767b0318269aee9e8638dac6b6ef38cfd47c14993558e49cf1ceecc4cb4e290eab489f523bd9d3b317b9d8c7abe94db5b294840beb4e00fd5b5de9d469394441a41874cc2418eb5c7374554bae9bdf7043205cb2856aea9728db60994458e5a638cff09e4826f894d09a408f47c0b5a40c9fa2f9355c8d63c38ccb82f10c11aa37157583e2323ad46b8955510a0393bdd0586f27dec9ad1f4c0b66674235f22ed76144acdea78c62dfa0fd\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 86df04c72c84618f98459543662f343149a83741ac29f529e2e9f3cd770a647904b892df7b8c8ee183e893ec6e50a4107d958c3ecebedce2cc64b5761c415d75c658e185bffe27fc4608f76370fb30e91909b1429ae439f335e222f4e0d1bb9336dd37a43d151ef8735aad876c5a7a0ea2b952d8d90ae57d54cecd4aa2d94a953aeb0b9e2e26e4d856d3f9c664c07ff10356c4f071774f9e038980a04191289e323675f8436d49f989e91985e9c7f542835f8d9bf3b54273e886599ecc276d21b20362da10d486152972fdc086e89255846d263f9001d0de4215b694b35d9a30b7e7d6aebd171ba6f29575b10dfedfa746a998871dfbdf044453eda30088ca6e\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 43d36330d40291f18232c83119c692b92b70feaf4ad8739ed41c151259b53b76861af2cdd326383f31d51a6128e2196ce86bf6ba46c590f413c752e1e7249ef0d46ea00493c9dad0d02c65b780cd36f80abd0c3506dabbb07fdd321170c9ad345b3a522623d4a163207192eb0449c3f5776fbc4925cbdd041dbd5a32734e2d294cab33d66d7241c7870da2ed442c1b869c643f2783851d08877bedc5622bb4a1ed5ad7fc76e918790204ccc9b8fb5752d48aaba50ef8966c8ab7866967a58", + "cba44b9fefd0e3108103f6789a27df37e36b4f166f8ccb184b3d9fb379f449025bf5aff87466be512e89f2691f618e23470bcb7ebf487e0cbb10a8afbe0e33012c8\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 72791849c8d418b40b3355a76d99da6a6c19ad63b4e4580905876435fe896d511fc017cb515a14aed320eaecc169403431c663d2c2d1e82d8cad304c796a87be085b7f539604f0e35ff0c9e8e992d624bf29eee9b13f77063a67b2ad90a4e7495da4f43e1a3264f5433c404d3feac8efa6548cc2e747d9aaeb17efb8b3db0fb2243402d9fd07804990e64a15581493798a905feb1d6de2a7925f5c65658817888114d74299ac53a4364d947ae2f51c4292e5c9f9c53ded12aeb2b4f28a547579c1d5bd71bed3189108ca4d04e6836104a668a474b07f84c0ef6a165e32d64af083365127683c8a4dabcf94e69eda0aef0428afcd3a1e46db77151db747836289\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4d758418e4b714e083924c625c09ed9855a6744ae56f7238f4c582a5e6568359ce4327de12a2a531186174d4385aa8772c3953d48a9e15f421397f073261f1d5d3e0ca8100a0d5110a004099d82fd691ed0a8aeb0d38f5d0f47d7867965b46ad3b6074eea0795603baeb71de81a64d6f744183b2707efdf959e1eff56b416f94b16340c70db18b5947ee5b382fcc6534fc55d3fd11881786c4af20f2bbb464e67c790fc3442d23d5bcf6bfd9f19ba07affad8d4bb6a0b1140bb387cdf78f06919147aaab149cf5493a18966d809b8a10bcb2590135aeda04617d4bf107f9322e5aed821ae412f5cb6085e549f967da0fb8f04980e5b0844f481ed1c4ad1e6274\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = be284a4580761d30c6ff98ae37fde3d2296b1d43ed5edc698684fb57b9fbc558a4ff1fdd102c457cf7ef1c63b535c318b751c0833cd4e2ea712b46e0f8d4c174ac47c876918da8eafc2a117e0457733a994e2b51aae9641292df7a7a834710c196b55a4ef61287e350be24b8b80548090abdd904b94ccb4ef0ab5a1e50a665f8633f11eb9a7dfa112ae6a2e4cb0ab2d6235ce9abbd9d8ec2497ab4f2e48ef3b3f599b89a925c09ae83cf556b4f88e3a1387fc3cdc5dd2b51707edb07092524381acaa536f03dd0b84f3e81cca0b2615062b1b4c7b9d771e8ae6825d90e4b8ff59aa712029fcce72c71c6da889bda3b1b296fd6dfc0af61be421db66a3ee56969\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = a8f6d6515174225491d4046a511493c1158fdb4590f5e8cff5a35a20aaedba28a7ad4f9cf7f5e5cfa8523e3eb7280984232937fa4e0e9e5e020c2080470cf86092f65a9fa47fbe4ba369917c6b9280d63ea0aa88cdb1b301182f3c69c501065e9537f071b5b3395867948c85b6f630863654742f701ec0a01dbe15f3855e1b112187af2aa6e28202dd4da53c404160ce82df5d74ad6948a8f76049b0f5933cc7c99c5ad40721af70275a2bb3b0442e6a438c78a28e611aedc1b3778d25d36c4772e1499231098ae3cc9e34e83fbcfb5f1db56acd2091aa13e0fc61b55e553347b79a479fa1499d35b1db37f52ba5c0ebdeffc4af547b21131cff55b8eb7faefa\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 1553f0c13ef8ebea5eb02471f270d826d327fbbe639d97476faeb3033e00aa95ea222ace93081a6403a10ad39da25cb72620624427d16c42cfdc53ffbcf2c8268493dcb72b9ab20447998677ac6bbcd4c487cb0810810292bdd5dfeccfe10331b37d6183841815286660ef6c392ec12a25e26348786c6ccdf297dcd832327141038a8d705cf82851033ea65b16782ae911e8b876186ed93eefbab77e6d4958a903b6594d0f35cb5f7467272294e62c2b6b4cd22f91c1188513391884fa720b309d76687dcebe8c36fcc1a7788f26fb31e2ab3286ede0ae5bdfdae25883be3fca05289151d3977f8c3526625df5f785ffde1e31c5a7390e6e24d60e35948319b1\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = b36916d94322d69a5fedddfa1929a5648a64591d95926d2c85278c87b36d15e99f457cc872d1363467cc46e23cd1adbbf09762d7bff2ec5a9b0ab5c95a4997749d0978332b8e5ab757025146c214c6cb98ca28b8a97a037046504a6b0ee78a74d516bccb40c4e988206b91e767a9684104a28b717bed58eff819d3743954abf18d4450a610219e84b78c05a0d7bbcea9f23fcb8cd3b604adb632122254d28f0bdb299c08f85048fdd12aa10045d5c8462d38b06f3dc89cc6f2e414ca4036deea5c59ec4a4999bb13fc951ae68344ebae5212ea6520f89e52399f7c50c2386707ad0b04d6fe136b441d25df7afe3d0d22cfe55a8ba87448c387616ad935f29690\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = c2c5d3a468d2a26d5e6385d450f91edb195d66f4a3a78608312af4d7080cc1007db9d43a7bc3d3322cd3e07db8b9f1cc541f30739d6101cd6c9f4bb19315f68d970f80ba6008b23d6153377f88213ca26924bc277f7cb676136451dda0ec7cb9c44172a12f496a0f435402e3fb913d9d750116acd38cb222d3f1421dd68cddea192150204d01f9471203d6d14b4c6bcd044368a4bfbcd80ee25013af07255f0f207e242524de386b32fc88dd17458527016320a55509245e7a779169396d09408875bfdabdc71d6dbb85ac66416eed4a213d02bdca1be3ed1c1731c24325baf64781ed6910048105dd86b0d7d954496c4d7a117c616e1f7478b3f4bdbac723a8\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 736505743e80d60bf7bd7b80a24336fafb539ccd6a8f0ff201c7a62d17f692da0e1bb72b1765f4f5df75e9e25b158cbf0ff5b3eabec042dfe66a72e32eb43e474ac12d34a5a5eea4b5d1bd26723c77ec381ed59cf6248aa4e60c2520606c7e9855e5d534a3b650a6727477a37a928943e4145b7a14e0c65741f2cf2a237f9490add06be54b4c449e6b41a1d9d9cff6295dfac4489259baae1707e9ca3979430a693c0e57098a1e3413f75973534b04eff018ee04ca58a3ec65f8b6b4603f40a4e616ff0835f3f4efb65dd38a4b4a53d7f2a6934402342341d38fc29884cd59cbdef1528d2e4a26cb39711fdbb218fdfe5e7aa0f3b913e9d4841475abde3060e6\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 9add0858ed06740d16b87b5099b3beb48fa900e5541a1072bff69812d89665eccb0498a58730edffab8db6e505607fd457a58cff056db9c045030fd21dd52425ba00014c8fad2ae3f6174931419381ae5c438f92068a31e06c0d6b6417eab9478a666203acba89e2a7071a8bce08b354a17802a440a6db408e732c3514ea08a10505fe7429c953613f38223a560cea74c2be65768cbcdb385bf93d55bd0f3cbf1767ea44f7da233157e01b3d10cb7b65615fb8248e9ab55f397ea5318dec6e793de450e83cce3fa00ae2137ae6245dd518f21d77d2e229137be861f6187d36dcf6d339f07a555cc752e5c8caf0576bd3568853f6865df5b7c02cf06a48594474\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 64148b25121e13cc247d6567c4e7f37ac4981fbbc3b3f3fff167268b462ba0c54e85c828b011b8ccadf4fb37c317fb3c12d1fe7a53f358ccb60f59ed02882606b61d34f0199531c693da5a22cf3987106308ee39df81946b246a49e00dda8fafa019b1e9f3bcfcaa248d7ce4273f994603e88d641a30b2cbee835af6d5e4744fc994285efc7f46ed3d70d501960f71a927f6358e7b662ff644c10f4d57c3cd624db6d23a6caa0157ff4ef8c3bebce167d0a3418f5d73bf395c202679ba8d3373c072a8a07b5dc4050f566174c3bc5a786cb86c67103436cbff9e248a3117532746a1bc1adb90ed571473a9fac310b903cb4b2f9f6fc5ca968244bbafd7bae997\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 093015430d2f6c4320f1630319524c7fcb3bd22a1d2964cac97e61362ff455e2d99abd4ee4b466b8a613d292f2c17e97d2690291d41a3e3e8f0cde315487c4101c1192bd6fb6ca7fa2265c4d0b80443738f332c3d0aa6f189b368799cc47e8d04de4429bb6e46ebc47a7ecde586441f055b36db5e7f15260403c61f1310d421ffc44a28a2548f9a625e94424eba9520ac31d406b8a144e93441a08795e5e6ff64f0619085df187a6fea65861a251167e7f79f5c1d0566825b8f7b320a929dadf4958b541fc27b5b5f421d0b8a4e1ef75fcd2991d7aecb19f89da0e175b046d47d7f7b797a447363c3c3cb61902935a2fa48bfec3e30720a990273d794fcec4ef\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1fb3f000ff48405238ec0f4641a9e468d94d4363c2a35c27599119336ea7b7c6d8ddb037458e80cccce7f402db03985a4faf0eae6d9eb7577b6fafe7978a883172170a44c2b35d3a7cf0851cd2ef6df774a590f23a4c19404f5662d310603376a089e98f5ee659454b3db92cc528aa2d3461a7aa9fde64ad2e3023850b5406a5769e7e7cfd799ef4e4ebfca4f5ddf56bb35140f406aa7820195b002fc48424f0f330641051a5d67f15f854466d216b2623e23bb96ad5c86ac4b135b91a24df28584d94b64b471a0e970ae37e4297c73244b425a03f58a3c26fb3d3e51e33d516e7af7da8d9b386a353afe9ac1b6391690fa14981d30eb9859dad45b9fb4d7da8\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = a65b77dab3ffd2f8c4de17bdf03edbed663cbdc75f2d1896d48bd331e7efa43a71f3f64669b0529ae3e033258f0b518bf967081db14bc5607b640bcc409bd50b2ca548ea4ddcb24d3a220967e9cd5f5e86e167c8e793cc9b7b5b505c27dbb1e63dd151c8a5112d2e8af5453463ab7b141c33b75bee6e5cb8d8bef9402f47402c6a0a86d64ff98a3fdd24f401dee22fb6bf35412fe5255dc23955304e86deafab0df002d2a27b45000c6f85ab9439182219652bd4b305362e3135e271b6cf31e0f2c6cca8ecd717880ffdb28cf1f2b2672f7a7bd51e2ded1fa19522c5ecacd8a0e0fa2f82da56e321a595a4e5f6a24fe55a2e0527a847455f9b568d9f0acbb042\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8d30ea13beb88de3f3b0683cfbe2ab295d159f8cfd5f5619fe00c0ead3c5f31e2f3e34fadb993ed2e001bb780257edbe26c9eecf8f11fcd6c40923ed98b6b65b43fecfbe14d65e678bc62edaf01b14fed4ec1674cfbdf7aee91d6dc5bf371e45f7392515c98fcf6b73bea54e627bd8effc69be2fa6552b6183d9df1441", + "af1881046184715211c3f10b8d5704609f70a2e80b0c681baa48db2ce8757a4daa962b1a99360b4c2c7c9129ade112f007cd25e856b2f502ff3aeeb1bd2e64c1f7b61c067f5760a509688b87fb9529f305d1d857a78d70bdb0d48ab067f4119dd2c4726b68ce55c27aa090e7b022b7dd007143632746a757515ec47ef168a35cbaf17a\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 24941990c451972477c48a1e01ce29a70674cff6a6f7e1b9e5969c9edf6fd5abc29f01553e3001f0db24d219347b85326ba1b145dc38d63c8d05438cef2843823d7d6b519572c881719e9fe4aa2da7b89d07fced3833afc11cad6e4557c9cb7845afd032beeee940c2d8db10419fdde7463ed0656d213945ef8ba53602c3ff057230180cee9623ae0a1d641b49efbd38f1be0dce4c0eff7de3e80466260c10da6e8edd0ef91cc7b80d8fad43088bfb0b84f1bdb69939a5c237e78c67f474d87a19e8c5e4d517923a5e471fa9f60c954d4a8264f38f069117537f7a1afb7408951a8a26fca667b3ae60d33a2c4057c653ab74bc204aa96f0ee0ef3e48f9948012\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 66ca05bf14b498f2784e9416a0bd86bd34642ab138ac4ba1e3a39a773b88356043805cd4fef374c66d947ea32651e14d308123f6bb51c3415fecd9d36722d01e0eeaa996526b44f07e5cf844e543dc6f52dd8944f34fdc6c150f00c64cecd0352330f918ea219493149bbcf8c2a0586cc8779ed0efa32bdc33447f0cb0635fde4b14be2e54a2685b6dbfd485dced0b9725e134f06f89b44984290f5b98e8733efde30c9e9c3b2658769384dae324aea46cc8cd841d97a371e896642414d4a976fda185fa28b8c7ada8af3dd515632b89f13e3153518016f758908997341fe172ed6970697145858ed2df10b4e807f8548e907954dd8bb8c7c80da48a3418d94d\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 6e2ae3b01ee8db55d4062495a28bc39e5eb30c68b1e80621d8ce3893ff548ac9bfa0c48d756739413c496e9dec0ccdc17f5d33b8f076fc62a4291a9ac3e2a6e69400a856bcdcb20fff75eeb29f61966fa4a5be190e1b1152ee9cc6e5884b1fce01b1d6a9a4c0d9b70f1e457d565bfca01e86cf4c96f0748e14114b1b80b646446b7d926f96b3c09663abde0ff12551a97df3250808e9ae2a20b02a2e22ab9715f7ceaaf7e652fa1b39f433e0f9bad58c62f7270e8b48f44301fa2f99222ec2d8c553f1bfce4e457f412b833045a3e68e2d4abe2ae79f6356ee12bde7e403d4c2cb5aec74adbf692b13b23e035da0c5648a26f1219ae6b25855e375d683d7d17e\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 21d85de13122c0c1914f774fa4110c9cc825cb726098736e7786e0a2e9ab5fbf92a196a3e5aa5ee61774ee43e74ec542513cd94c535b96e69c81e2ad671af17a84b9a4bfe8c1cdea2aac5e46848ad7f179c305783668a3a3def11c4aeddbf32def93ca743a7a2bc2621c6bac454f6c452db55e2f146d424fd64feb7ded950f4bf9d8a784468ad7ed59082cfcbd6c41d797943ec8b54791ac53eb82b82a7045e4be5a6317a0cda8e91acb734f4e14b3192737f04a0a1b9069c5a0c128491a2e4489d19aee8eba7e8e12b2a51948fc3f600a19e372931cfdc1b3162a45de86e36e35e42ad909ef27242cb264ab0df3da6d327da447add6f567745995d2638a3c6a\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 8c9cbb00a9882a86ad2b6cff14c07e9bfa055b44a5256ba46f88dcd1ef295de245f5c6116bfc23f2c9227fd0843fae7a66256057be74f95b7c388b09a4fb44bfb2f92002241ad29558913a30c06299346d22d8e81cc9520f9f675c55c21cf1ca9735982e359b43cc053f63d66e435f1a117eab2ee3060a3ef0c5d5a3b7fa3d329e86299498a565e6aae728eca14cb55b9df92effccdf99869ff62b149ac807b288d252347175df66560fd2afc2384606973130058ef2b33b8a1c6fdb0e1d6e59978d3d16ba835c9dd684e4d901526bb3eecfc57a9b463e4e5ec77472ed8b869ef81400e4936ea5181763c5a30c525e84d2822d652a1560640c868233aa3a7fb3\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 889440aee2637bfb10978f2031538732d32e30aa41608245cf81da1fa64ac6c36a2f8d7ae39126ce0c672f9e39f09f6938a136b89bc057b5f32c9d2af28bdb16e8431d93e9b485e1f42a600ca31ab6809dd61cdd42ff37bb161da6685b557ccfb409d0030dcd2ae25a77654d8eae6cd4018d925b5f78785339e05b14a5d2825a11c9627486407ddcefbeca4c8d0bc036ec05e1a04fa503cf1ab175dc74e6af031b2f4e138b1ad55792f942a9c49a9964def61c51c3054f4a4cc2ccdc203f15b4a196731588ad0f6259570e6b01a07e62068e874ab3e6aa661b7e04e0dd4b8f9092883508146193b44d52a76540119fbcb577341e3af284c14f2528e9525f8b7a\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 147f6e9c4a52afe867ff9f4c2f0f03e5f4f8fb68a9b5b420bb3bd62125df8fb1285db08edcd43b78ea7ddbe4ec9eeba101d0c85c66cca2897766afb8e1ea4f0c90667056a0acf08ed0b3ee197c380e469bfc3328348b4ba7c19c4d729a893db6b73b2eb0288b4a2f2cbf3aa47d1723bde5bb7bdc7d156ae1217647577635c8426963a5e32eabd0bb7ef583a0577e5d5df0407f1b4159d97c4f564c8f9879c84d77a26463e8e4e277f8c3334cbde725536721e5fa6b11ab39e1070da3f67e0c42fe92e4683b249311c034ae04f0d227da46d6c0022c7dbb501a6ef2da96131e220b5c99bb7b0f19873dfaa3b19579beb7fd4fd6a59bc23d563cc39bcdc224117c\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 6c0868af8ec94913809f0c7cb10c27c639ad35ca7c6438213e96eb5cf90eb20a35fe2fb96c690903708f638b9b02d2e37ae9a3a6b0a9bb8d015828c8adc30f225b0e290b8e6f2361224b86639650aa34e4b8d41c72dd73443c80a04394bdde558e859c635f0591cda750d5c4827cea9e0562701a43296d99ca727676f2b41197fe6568308e9f96b355499ff6aad6355da1095f2bbc12b050969f0b2e8c91243133355c3f07f4465aa3f0927ec7980631fce30dc36dd3d742806b6b17ce82dc1abbcbd6344aaa9b1d93ac0223396facb913a2a26824faef50319e7223fe6f4fbdfacd9034b3e5bbcebfe548240dde63de3916ea8fcdb5326ea3320e833cf816e8\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 919c27ae9c2c52861aa8defbb67ce33f9f1fc8e684b5166e4ff43db6e3fa1c9a817101d11a79ebab67509dac1b59fa28c0198d1d181080626e1f24345ad4dc1b58c89dfb3dacb119114ae7f8563db2f0d03118582b94400dea1cdcfbf331341a802c47e4343b3776d23e4f3602f6a1f6a8709f8f5ff33e4d6e5cdbef812ff6108c194a7e269dd510d7f6a4f1993a315caf64db2e34dc6c47b3c37358a80db891f3fd10f459d1f34eca0ae12689de3485e7508f66dc1941a17d8f917d22e9356a157494ad36b6034404d2cbda779fa7038a565daccde7e849578327a8d246cb08e943710d9d8c001211296a5b7a9f706b40c5096ebd3500126ccfbb418799368f\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 3eaaad835bf220eaed0b232b2e99e4498f166a97fa1f4ecc9403a89cdea28ea3598bab4c2fcf343462440bee6b406dcf56eec6933279784d65472c10ccfe98a97c1b87cfabeb24f53044a699e31144f6bea5954fceffbd5f78c3d662f8c68d47b5dd412206daad756a3b6e5376f4e2def40550fc3c1c75afa428c2fc8721048cf6aa157f993054edad9fa607e1275aeb2a954884e43b713898d485463d15e13682c7f72908fe84a7ad17357380b8009dbdf6ce6283f7896336f5fe59e5a1662e3f36226099b47604606da81cbec13549fa7b30782c50c09a488d735fc0a96d3d05b71d963bc398037f422947bd572e3acbed2e4ea84a8d2ca6b809477ecd16c3\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = bea2841e394815379fcd8b1c8522c4f7ff23aa4a9ab2f9e8680b8ca41a8a719e532e9fed82b7f4867555d4faddd1b25594b7f3c0d4e69a1a2f0d0fef080df98a1a5a7dfe8c0c8865324177f5b0ae85c5e10da64c5cf9890887f73b0a853ee934ca5815e9c89e99c1c500c58dd7fd90803672333702d891324215390a25ac08e2aa4a93d0cc814f9c81d216c546aaa1e6e5334d9110aad233b60d7efbd7276ee6a8968f7b5f1c22499e925f90557dce6cf8beb1304b40428fba8084fdc2cc8557c0840263a288fc686dcfdd7cf02c39b5f2be5e5914e0bec6b9004fbbd687602fcb93958ca38cc2d2ed14d490f0e7f3b459846e034d73b517f5c43c1c9b2bdd7b\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 26ccff0fcc5016d566864a01f55a157552eb4c354e89adffb0250c7094e8627efc3b771217d65fefcd720cfcf567a266260dcf621fb4bfa3c82ef58a1195d69ecc87aa17933eb8758124712e163e613cb0d0f64a11689016facfb9a4aee48e1ef4c65655400503de4e06917d62265d4799378562d1c70d8fbf8eac4838b95469457ce6a70d534e0f801a313d305ea49a8cfa45258ff989aa33e2504cd02e5f1ff7a35174a0f5717028f9da0e71706d111afb2ee013167ed06d6b915572a4e9083e57a891c2226dc0034a52c2cd2d04f0c0293a398e10cae4ca985a424a3f868a96ff9b540960460605dca90d76045507a99c89eef5e2ec7618f9b6cbc796b1e0\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = b8dca88b5fe5c82210822f56f267084de6f797a8a3608107b685751f6bbed48ade470bdc2c9db4c363b15e7ac25066c5a92f571415c8f1737872ac845f37fef93617339e9113e12b4e0a569383afb0abb8c397177d617d0309f6112f2bb9989088a2a60837b299a510c1156d8404d30c37ca3078d9b28e188be6bd029ceadf62c246837169b6c9f900878a5b6d14302855a4eb343c87437c686b156fbdd1eca2ff54d872251591d0bba7fb444c5c5202280fa6141cbd8d8351f5a95a17b7e7fbfa015e730029eba5bde41260bc02928740f4003fced727c6eee551cf6a95c65a9c1e11b91ae509ac961876af433bc17513077d1133efc1f71763a89f34e56b1a\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 22cd30820e1de6be04fc0be7352814fc7f0f27ca4f14bce7f15dd5b73d543137cb99b9b2fcd26b750a7cd63c31d05486b081b93394df486d93d8709ed3739bcb44f1731970d1a41c3d2794a1ee973002b60abdd03bd8a", + "2ea0bb1a265975d7f194b9629b56ba2afffd0a717ea0cc9ac24d136b2ceed4e8cac6c142764b103952f1858c7c8a294d44ea2d3d9378b56c2590ca902acd846391f0aedd4c65ca0e1cfe126f72eeac044fbef69fe04a6fc2babb5be884c4fa57e0f622b5e2847c5bafcb462573edd46a4cac95c02d0441e9c8c2479831e4dd9c49c1535d499fb030795da70f51639e9adc5fbcc6504de889350f5521a64e63636428793ecc1b9195a58\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 799fe49c5eb9d2efa4b71a13f5aefa24bf87db843095510cb8e08274a583b03eaca85f62303a36d15eefc3106067ae86d414b52905ae43aa2c0332b75ccb4473d540d50c067819e913b3bf636c653df0bfd9b3223a0dd55f38f1025ad7ea8f68c716bfc307516a4d60eed1adab40ef47cee1dadfacfe41b107d7924d2a549339d39482f5c046757ca90381782a1db1fe3cc919c1ff49c88b40ebabeb8827bf19f92a05519289b21e1f7be101a33a87a5cc5b6a0851febc0768d31439d59cf6fe0f75c5ec060c7569ecc131a3fd16806bf53939d36a860a4eaeda718008c1b762e8628e0744ddb3bbc700aaec43be43af1a060cb4bf562ab6a32cb624e8b971b1\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 9de3caf47329431d39d853f831aa161e131c8b8e98022909f715689ebc570703a8695dac67c459b93d1d96f44916df1e3c8686c21f926568133ec765dc7b02787ba9a0b4316576e0174cd6eb5da5af5ac1c8f90783ae2a1c1b0955669cecd0e8322faf932b6512e22b6c6e33ab91c367403e2d429cf593130266440f088e70e2e595ad7550f0b006414bdc2dcf0142292bcd0f284d840445be73b46288c643caadbc15d31e64e6e97ffae1a6f996ac2fdc4d4ea654292319397396efbd5d6015195ebc0a531db4720390a8743fb5fb639eaa03a8020e095c309b4a1b03723a10811f4cd83fedfc9610091cec32da0d2aa276e08fca42ae232143df9fb5a13157\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 6b1d032cae6cf4f2900131eb383731a2844a8c22670e11986273e7439a82be7073e2240006f77534bb88a5061734244f22a045b6a56ce5125a1a975332ec92d09638cad1d04791c76344145fd4bd2ef85fb65be532645270853c1d7aa385150b28a31a882e5a7588ffc15c4510e7e19d50bdc6f236f55f7200a8cfe8e06771d4315e0d56035ca3f1b619d321a59f1e36e87dd0247e4ebeaf53853567a0f6786e5b67472ada13e51a2be103b72be934c6bf5edea9d2b61c96467bcce225f93d78c50635c47a7b396be01349ccdff41cee2e0d96f5b004453204998f017392a87902256821b5b534eedaff75c532a4371ee3d1539893c4e7fd1cfcdc2233c03f23\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 62a1aa76c9f78c76a655893d344b676ef54f49068ae7883010efa0635345c9c9352b7b27ba717a7d4a2334fe71a90a98068858d7bcddf5c30f60bde7d9582d88cca5b4f2d62e5346ecc551a078bbf0defa0457ffb4fe69f5cf1fdc4360e6f83004b8bf397dfa60bfbef693f4038419d3c55b29e7c8c01ed6beb5db3ed3fdcc494e3a6952ea582a10bd3170ad187a2d31ef15c39c2b4ce49ef6e339bb3c3619b571ef10e60484ebd0cc8195332c86213e5248d5627ca2723415cfa6775adb4648c580b29443993f169e1e07b2c1478fe465785065e0b38749079be7f4e0d7522551746410676d194539f85299c54bdf16e8f9541f17af40dd9c696cf1b0533e6c\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 275377f7bc1bdec250bc4490b2863baac3d346362c02c83bec4b1d8859411c86d44b0c105f67e2474a2a4165d6d0d677c09b9fa54b1ff185d254bd629aebe701468cc366c9cd204cd3694e91ee9e1d4aadafb5da57e3611adf26597eb50b57d7452defb03b4c693dbe3f2dd45cbca4e9efb5b963c290cfd95eaf51cb2f03ad97fa0a387d96dbff1da45921c1545f027a01259db8342d73001d1b96c3903e99b25d174f9b726b7cfa7d12daffe3e56fd9089244fa60571eaed4901e5a3cd52868c0c421295ea521acfb7bad17c127640016dd3c8e3cf9f5c506a876c7007539f796b91726fa4a69bc830d63a96d1efd92bfdf03dd5a3e2cacb06c1a65f4700b31\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 5e7916eee9b35665d2c769de1997a77e2e2405dcb0e2986d31205958e3c0b4b41afe1173fe0575a7568a631fc9e07cc85f2c454a34b86159d9d68ff6bf4fd2105862498e27c9067b276568ce71ec915987afdaee52ef8d332975cfed5d5a60b62046118fcd94cc8670cde844674fb7a22e9ebdf73a3336c5efff10f457a528217e816ac1600dfd180c71c693d0d089c0526fec6546df971b7479f5f74254eefc0b5d435e7010026d48117165e0233e6ac83ac5aa25ab7f4c87555a820acc2ffe64fc4c10ca417035e7d673a384babdaa374da2c51d50c70c89af184ed678fb8ba3a768ca916fd70050d77850ab8e64cfdb0ace0532f9508480c51e39d39a126c\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 428fbdd8a24e18b30ca15216fbc71b1fabfc876a3e9faad7952e6f5687507a468c26505ffea1b3b554ca00e2ca3b2749a65b2e1547c9598ce971596108f89dfba6ac07d414434aafb7c9128f76022c8aed82d627b6798a0e1f2cf9b6e79923c4ffe2e77edf667a7f03a8f4bf158375f38b08350e0f443b85a8215af8b88e8434b357285ec05e1a061737cc4f8173702ece950c499e36f3ff9825aa600903fa44550c0df7356ef9390e222942cb272df87190c3452279c0e4cd85cc3bd27310515173322cbb31ed841ebe7542bf0c746f6c8895bc028f767856ee3c6900fb38d40ebaac8a5aaf8d60d147872e69da9b2e94085f4e4ee8f80eb46fd5a15884340f\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9d188843a069b61299d5a59c582d9047e134d0e52a7a324ff160082fce0888bdf141dd15c75031cc8d761116329c20476cb23220d21434a88834c39a20014611c4e18cc5102a1f9de3744bab79d5c040e8dea55ff88c726be0ef34dd88646b23a26b84d061439a390c806ae0dcf31eae74dc077e472b15d257fe57c4636474c2fdc84c22f26e7837df411e0c3ab4882de435497d10bb46d2823e37b8d56d53b50dacd77097e30c2981021efe9f7538924cd59ba525fd90994acfedc364a9d9927e9b4ac9b74e8d7b1520f3abceb6603f7dd49d07900af3c0d6ad2e7fc0b8279a30db4f7f7611e9479907817ffddea650ea108a424727d0cce30593e1435bea2f\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 524c8237993df005f97afa6a830de97521a079cc2fd10adfa7942bff9a66449ea36d1ff686e0dd112622c543063e896e5599db7c7b5b09298d7351d4bfe58b62d141e3dbd49deafb6f9244c45d3e6f591e4de04c934a05246a4da67af4b61e2d3a05b0b84d958e6afe5f2634d8f86da479231916955da9136a350b70a36e697bc76f3db6853691d3b489a43d7ce52a7ca82461e03bef0fc23442a58da0a5f5c8d7c1613620a9af5cce674ff7c5cd4a17f358aadc18eb42bf84a3cf8e556f44081dfe0274229ff313aee0021f481c7a5f6ac57ed1395baf8e62fbea83b905686f5f53bb853c2cb97cc7ebbfa7267670d25ab5265cff6a97540a846562d6a988b1\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4aba43ca040afe65df9dff1f856b187e920e53b9e7355a452c8c33114976dc828d097060fb6d1aad461a8ddcfc84fed67410762450b73299984e5b2703e3d0eb9359122589d533e87ae72f6be80dd59fbb14685580281ed2608f6825b28e4d3a1936eb908031c5a57d147b50ed1f115a998043bc15e6353a49a37ece48df5fd5e49440752d18102b2a8f936c7054a7198cfaa1ca4ecf6229c9dc84b12ea560367469a39c3138ca6deea0b9a91d238004b75e1751042f0cdac004b0eba0d4dad3f893960dd368a7e9250aae66719dbf808aad6f30eb81c76cccfa1c58370b6c612c574e8c59d2b38a74191796a17d95555b4dbc8dfa7dbcf6fac5c7dd10b2e2fa\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 21b8375a400fa4141162646bd88bc64526085f590a7ef9e1d25e3dc491148cac463f63190c777237f5751d46713f5c58ee70641fc2ab2c8c9f696c8d9190ba0bc3670e3fed063c53a7d10c42dca053970fb56dadf34d81aa1c53923003dca035c35afbefef104d7040392b2bb933229871d82e6ca83eaae8e71f27129158098f6d68a0d63dd906ca41e7993480d0884d5f0661fef3f5a5c1220a7566292ee66521ca8d401ef8581b8d7500248915ab986314bc257c2fe99ea4c6a02db4fa343ce83b4e9ec979ca36bbcf81766a4d86b730cc7f8c4a9e7904a2b5874b63aecaa3c730cddc57561a3755791f27c3d75c54396b260a8e73bc7cd4d6f1b06111d309\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 06bb3755bbcdabdf65e7801470229b467828dd20a8fd96381670acfbe4e5321844b681d6af6073a6f043f653479bf8522a11a34f0bb1464377201f7da0ec69578fe121b89eff58ccd879e776463858d9a48f7e1a821f6e3030b7ebf20b9c7403f6c91474e500c9b779cbe8fb6efaff22317e9f3437db1d7c26959c6acb3181f3f628e8aa00f9b7daaa5712eaf2f8eea47c25506810b7da2ee795157eac985f5948bf943c4b0598ca404a2e67391e0acaf4e5b461845789d99c57cd2139c6f8df8750926b2ed0f820ad656432c7417e8ee51b4176cb24b195e4a5c261c091be1c2dce4b9ff1e4272f8a4bcb6fc01f8071f6fc39dd7ea27ffac923e333c0044408\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 895791f81541f21d18315e6e1b10aab06ffc2494f1f6dc6b8e5cddcf4ddea807b2a13c1f22841c725f2dcd6bf14401dd56777187b8012f65c2122ffd3ae77f4e2cb5bab8b074777511dd7405d84634c4bf9b5122f59a4ba890f5c477a370e807aca35842f30f7c81de8ba45407181e13f3af8eafed1c21ba55fb37929cbbe1db0f25f0b34da680985f6495fb49108343e8b1e66e441a644590feddfd6aa51862b34adbaf283117d116ddcd845323c5589fa5c29edfd116909cca708d5dcc49b32559fe27e8104aa2d73f7b35250b36edd5213a2cb1b51b7e2e6268e6ff94f8d3112331b507a82d8a167d08264a1da6883ebed5f41ba988f9ed64f9f76b461403\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult", + " = invalid\nsig = ab3c0febd45a9143d8aa7bdc77571d8ff5da9d9451fe86ba4a0249f2a23f3cdc45f407a6a8400c0f6f40e6963204c8064917f19aa3e9e9cd653d4fcc63361ba3590a68219a213cb1615cebd2564f7f396b52aa58b100974873546c82bc647002af5ed7e2404222b98a995a23a0075115ee916d0607ac7a172b05d8818f5d73ed1d9ca0b3b435e6676fefccc448654c88823843fc1a22730f561027d457904a65507eb5f5cc81e35b9b682d434ea0e8128d1adb04fb9d1dee89dc73b1f1f7b571ccba17230c61f55642365142e920d5b45724a9b0fbf5769a4430b1845626337762b40719e2a7b49bc722df7266a1640c204bbce848a8fd6219418e1cc02eb37c\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 1ac5ca0d90b308fa1bd99dad5567455377a79ff6e99af3da419784ba48708d5dd4416873871277fa5ba447252dbbcaaba7376155659f521f4813814f6ab9fc9e824ef512dcbe6f6cf04be52036bfb5e3e93af2d000344542e42061b25d617832416ae2487907ffd8d05ecd33d826faff8e4cacd33efa3e5f4c15902c8a4cf3e210a182e347389bb5e83cf9ff6a41f4551efc44078940a80075bd7e7ce434df72756ae3c93c98bb453eee879017e7a2d566545ddb5158557171439eae4af018e82c383c153a1d818735cfc066cff5badd14ee2c60591f670540aaf469d8adc97774943ad8c8fa69f74e00ac1d11d13dbfe80024735c4beb5b2d472389a3d00d48\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 24e70d3f6f9c59957c923e6dd276058b8ffc3fc9083126aa57abdb2ca842a263b86494dfe9ce93647d5da4eaa4f14fcbc5a01243f9f7ba4dd3688a8f4b300208295a40575d64eb05d116cb26f56c77de03fd1888e2b5d72e6b1aaab3c5268832f128119c0588cda847642ecd552f7a71209021a11bf969452be75647cc08a3e5d27a9f2b1d739893437fcdf27c3e5c6d54730dc7dc6efcaa242138085db04ac7a0666c05042fdd817476bae00d7845cc513860cd59bb7feb84cf5e5f60002e364af4e10e5ea4719120be270dee9733caeea1d812cc2675d6d4c59194b5ff1be0bca0614a06b35e345070aaf76a8f8ce43ff2a6bf0717133a4089c9d0b64eb735\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 1c211c0bde357de65dd732972f012a69fbfdb6bed9eb0986e6949e053a50165a384e4cb80194899ebcdfe7f1560fee1cfedad14c55061a6add078e337d533121ff8c057bdcc7cdfe4dbe9a4f3a2add04bbb0a9071085437460dac46358c627b87eb68cf1dcf0a68b4e386bc9e168a22a98d0c45e4b81f1a171192eef41e3b7678770dd1aeca9fbfd3b525a1cbe0ab63404ee569a197e4c8e4b0f956e496011c5c849cba84c679581383a0f573fcb0c8bde4469653c2279b136fe4a27ac54eabbc2195f8b0948328c147aaa5461afb52ee5b451c76295b869b36b8af5c6666333a1966969c9967dbac02fd01cc8f65ba685d062dfb3e96901b30f0ca0da9ce066\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 8acef922676a3715668f60042b9956f225cfde7d1ff03d7f820df3943f614526a70b3831ac30d8b0ad92f9f6742b41f19d2da13abaf8e8c8ca1285c4e13193a244c12fd93100b81af9e82e8bfe17ddedec53b078ca790a2bad5a69da6654a7189bef1c1c90024daf05d977e98244e772095018cf7ecbc085a37af3c6b83c6a3d02507b9a48acd539911a01113005f8b4d3c97bbf797cffbed3fd3a0508df129a4d8e8da4b82df7145069a3438bc1cc156063fe16bdc35e21cccc12ad02b22018e2e2ff021b2a28e8e1d71d3b1825fb28dfc8e54b42fdb17fd2eb43a82e26a3a566343b8b7fda70fa051363313e7a7536ae2f7fe1f0432e081c5a41986b56972c\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 853417424b03c7545069de2632460aead059268385a40ecc270c68a2550453856f4bde29fb5cf47e8fe83fb917954f8bde4b1f0a1cb1ccdf717ab5302fa01a335749e9239f23f9a25b2dc48e77e6c45f9a8f715dd6e085b07b293172232df5b08f46b9f0b50901fb6b5af1642f70013bd24f73d5f1598c44a0b536e94990ac2280b4f4e485c02fe7404d7c397e684236982b72fbc4b215ed038f90eea3854edb7ac92af7db44b5bdbb6b538b1cd5cc48e49a34d5fd8d488e84f731f7c1aaa9e79059bde1e0412e5649914402cddf16798a765eb89099ae000403d31c1dc904c82299bbbd808f173c8c1f5ff9b5985349cb8c5bd829937dabbaa8b51fe7e92835\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = a2db9c788d5bd6d374dd3e18c576f537d765c6810141b3f3bcb0a425229f0f54a4671dcd7c1a8e7f85166eb0d5aa904bda479da5a6bb8aef63fad9f3e71e0eed5c1f9a32f9ea2a9125e635649c8d935fdf6cad23a10253028e57b199c16b95d52de316beeb8b478193ce6162dfbdea2b0fb8744bad88314d87fc4887ecb121841ea799a535b9ddfc1490500709f2f0b750af525cb54d2bb07eec95b9968b0f3b46285001c1d1eeeef96dbe1b31c346e49d139aa31f6b5108178ecc91217886f1f1567a0ebcd0861e222948673a1114d2e8208ced1b6ec146b1af8706edfff71edb11317fe1a35147614c68150246a49bd9c2d024393c44e0c6b19406d6d0aea2\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 4b05160ca328008c61781e2f419e3bc2cfe79d4a3d4a37d5251645b1999ee3b10aa5dda1fd687ae24896de91132f285fd0ca7dab0a01531827200b22d47419b109282059d261b96c4ae4d70b82e8f6f9220c5d513a120af590a4706ba3574b0ed83e98758d7ca03a5a3192f8f6aaa48f02d270711e80697309b57344289caf861df868fd77fb3e3f4e492b9823c7b6a6a8db559a0811634a1d3e3a2238024b550b65d9b03a5f6badfab07ed9558c1f736c6204807fc9c4ae8d26a6c3d722263395faeeb75947d388f7946e173ae84fe9b51ae297870e39c81f663b1beafe500b9aa56266da86127f20ba7ab2da9731cede2cde3dd1be68d20ea020633dff3a69\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 18b8213f8c51236673e657114a23234bc98cdef86b80633a2446b69d411f1cbd6b7c33616a4002918aeb94455e8d8722cc8e6e84cba23cb42586dbf8fb1d0fbf62a8542c519bd6e0df8bc79abad2425f5ab20be4dd46ef7c70da6a0a22ffeaeb2e243ba26083381ae49b70acf506de5b36d0d00617e969b422b878a0a83d185b69bc07e7f7745eb50894ee041ec56d76be00236f4c3693e9e6ea8bf4abee3adc1ceab57626a2001400d5f14273a20494cc2067ca03ba10975bc1c4ea30099d97175076aa59cac375eff55211f6807af092b47d2183feb3efd4eb9d2edd006c7a33b1d321ba070f7cbd83984dace44f6c98c59d655d5d6b33c5d11236c5df9435\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 4ff429218c127e704a7349def6c9619ddecdd30853fd0b4a00ec9d080525fe9ee72683cfb7cd92b41a19b62dc4af73b8312e355d802a2a1f806d31c3cadc6655fca225de48fc73c9f97ce2083d59c2e636908023becfbbb1b88c44ee8585fae11ae136df2850422451b38493a5f8c2ba4b9b35b789d6670bd9a528a94597dc556b8e7ec26055480e3f5c0dc68f4772562a3b2ccc31dbea6b387f78b1da790f3074dc06721af2f365cadf1ebb80b0a1308c272fa29341a8bab40b89c41e0b88806f6bacc36f03cddcaeba9a2e5d38b9a510efa1bb3fccf971a480b93e2f650c6606c1745b362f67e12e46969f115070942d919ed80106f02a28dfe3fec59a8f45\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 7e4b2c079793bbb6e35b2d0bbe99bd46cdf32a059291824c2ccbb74ca8b4cfe398c6fd88780495e5df58236b9ab22f3112dde293bf7f18909dc3a0b2a8b6dceaffaa93c5f543faa6cfeb4537e647c0258cafc26c11cf8f5f978ffa4e8e3919d7c585d0239272bcf60d61ceb3078d8718972d42005fad8d8018f0d13c59eaea4bd000dfa97b787d3fc4a8c6c353dc4b8e1eedb3e4f19063e49f8c2385573c1f5cd197be520b39a6606dba37e87db0b0d9dde0197d523bc841a8359901b36d462891098c4d51425a5482bde71a1d4b1f1091c9820337e1ab1d8a7bb2bf2450cc11cb6850f115dcc7625cef16fb7d967e5ee9060747f20ae1285595dbaedd725c17\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 3e7b2b0f8c923ba2e4addc3c648557cc07af085b06b57059d6a4901f6c08ff4934c6ce9bf94b9f28aae9e13f067f49885ca529f28546c4f7381ccbb450a3269d2d58dba6ad64440ee7702daf0c278b9b016e3a3a83a13f12e48973d9dd3cfc148356337f064afade9da643a9f46a3200a206ce88969a7c177dcd1e404f768a729c7b6548acec14d4ea358365683441f1d8bbd1b77c560f63a95af08220184da7cb58c85cfaa92fad64a67f2db7ff42256a6b210efb3a1cb4e523dd3642f087563e4c3e63b92553187ec71a3faaa37afa1dfcd445f5dc8d1ba56319f39e6d3ec09ce34639ca88c9ef9610df08a68351cd8acd23700f999dd233c41829d15e0d7d\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = c9114c522381d994ab42120d2e577d7e106c9055436bbac6ca7c2cd7235f974b39715b320abfc9d716c3d5422130a75a14fec089d3c07c86579e5b139b46a30fb063cee71676b29532dd7db968d46edc30ff19b14428355a504e5b514564966a336a9ce7aa824c306f5f3bbaedb6eb2ce46914c20b2cdfd404d715c81e48bc7cee68da08e00d7719a2a0ed98e91bacb56af63d9b875eb411b4aae1221e988f69b02afc5f79683db5dd3c60235c2c4f0eec1e5ae6d32de970c218e55c0439b5aab5e020c03ec2a223b82527996a63a4f4adae8105d8b030c8d3bd26d71d9920199cfeed0afaeb607c8f8fdd69fd9c5052eb73ffebce1887f32075b08933912b03\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 4ad0a3ebfdfafc97e631811d5d6f13f4c4f28a32cfa18a0598af9188241752a77f2125ea36e48080f3d61e4a147f0359ea625d066b22a6a9b655ef13e7bd3e382c3e72aa18516a9174137fecd771206e68100abd1dd7d4aaea497d80b45e56b3e3b8862bf65d82e3b2175be1e83ca5be773aa6a3339295d40f9bb3d860ac3b0e88639590f309b2e8fa13142274946126eb4c3edb663a05c6b80fe3c2a65545bc9d0026311d0b472e231201df5d841522f4e3b6434dcf7ad2e3d2830275a07733d79c348150d80890c9438f", + "135bb9c6556e0a8fc4374258d2e3319912895e44a56016cc8d7656643136f1648d128d8b1e87bf5b7969959776478d21de3961b1f2\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 00e698b0a7ffdc4c3751f3301e747ce32863ef3e0788b4c05c1f33671e40eafab23b4726cc71de0ee1e79afaaa64b31ae0a8ea363e83c41bb0f134b23c008faeeda18a151932af60e3e4135b34b8e445de3ccb18dbdd4d2d0b1db8709a4edb6fe7d36483c6530727c77b2ee957b1e001c3f03298085f90461b4e4aeadb25a65721d63bc501b5d77246a2e73a71a0db2dc054ea01edc588a849e6cd88a66e6618e3dd0d5e62f0e4a0971ea7956c73008035bc034a2175bbc2942539ce4cddd3d0134dd3d7c4bb10d600c53e39be1e0b8fbc82e4526696bc366db755d0c1e9a6bfdedb2ffb8c8e41e885c3eb769bed9e004bf67cb0c8e359813e8eaa5e9c56ef3e\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 56cd9fbe50fbebd5bea806cabf8c7889890e93bd746fd984f668043a256d0967831b3b097863a6da88e76e55b3363179b483e90f15a0af6921f4a5cdc4b78ce5657b801da09166553273f894dd17677a9089c302bf516fa1b5feb6e8400c370a95de211fe07cea01daf051405806f73f53891594db9a576c5c700b3b082a858cde398c0daabe42c8c264317fbbb31d3e3da77d9c9b3e83c5e81cca51959c40571d6951678b9adff6c805310fc7d801fe5634b2ac0db4c695bcf86411a81ba0e64523e734cf610c6b6c9dd46bb601f3a10717a5b92201d40ba523f9f66e3535a5482127fb7550f62aa4b4dde3cb039533b57aa8c332c255ab68eb1b9dd94673b0\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 311161af14ab4a8947952e2b6a9d9a95b32a4bdf3575ea0d6bbdeb015760b191c6d2e7c5ac516db821e36639c8413d89863a34bfac44d4c76d2f2b3cafe5787cede0b61e0e27e5242333925dca99d9408ed039454823859b896a252287f30f727d43ab44e7e2fd9d65408332b197d490b2cd7be7feb6130b7192d0afd16200fb17fa5c430cb12968306d7650196db72f694818e34ab19f96d6102d0441365d42ed7ca8d39b563db1dba57307e258d9577c95e7e46784116d20488e73de790783da32d7cd9259dfe1ce0ee2a5f67f27003488a6b9c9d661771ca74c538d7c36ebec5714095daf7b15db103d2903ed79b767f51e48169c4cb0874fe8f670f7f874\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9cc40aef38d6098eab578f4d9adadb97db9b03e0b102ce86191a81d1ec27a2f9136878729520cba5a816a3563cccffa7b814ee24a3b72f5b677d5957442779ccc120a686fba13e1cb4b9bd9b695e70c3dd6ba3182f4300be45e0e4f6782fe3927fc1ceb741b65636e85e0e7c8e9f3169920a2947b530c25dc98d5790bff7755205b8aca51ab4c817b97d7b28d8f0ed7a5cd227878a0cb6738b9982428e1d278ca95f7813cd308d5e18effbe6ea7f1f79576b20539a1992e8353144f6f4f95864a14b00b00649e35661656e64f0dc7072a3dcf287aa837a42fa8eaf5be23f0164410a5a9da33773a2839eba2418e0454c4b0353bef213950501e80eca20f3b33a\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 68bb4025b24da5cc31f626ffc067ffc6b9c990bce417a037394cf508db061221931d212abc165c42dcee671a0807e93e225f5afae6d9b5bbda8f4410e944c3045c45d85d0fb25676b2e9bc09943d1a4f9fed5e379d704237a8a4355b7f57e714b8ac78422efd88c20214afa65d74f81028e16bafeb33b9fe990e2d1e94d3b06de1bfc7ab729a1349979cb90b3f962438acf88c73a47df80b66026a617900dc6e512b9dff32f63eb5fd2199b1b04a2bf9e2de20d4434e69511784b26be0be2d01d864836b6397bc1e496b59b91b5d9de8be0377fb3b7e91997abdd59635622397ddf8a2894348d015405b32f681be0743d1866cf02e8e75973f784ce2b5eb45cc\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 5694e5ff4aa0ee436c5562c4c4250fee88d075f639007b7e96102eeec8bf26a71a67967403524ef7947ca648e85d0259cafb797fe197be368c1522067f4e74a1c7211e9d5d51bc9922f231ee6f5f3d0a64eb5d909347744a62a5531fec7ffe839705a70096c8137b7bbbbf4e1f97a5fecfaf7f14f84f2e78d38e4d3dea05bd0f0a968bb6efae8384142267e00e656a9b2e0354c85c04723bdba7d46e8ab9d5b231a6b27f860ef0289de3f19fdf299ba7d8fe5ff374826d835475758da1146a988e738a9645620a4eb61979e72037477f3ae1109c1a0271afd6462d39bec5bd0018217eb19cb80540461171540bc1bb43e3494a5715e8eecfdffe382f0ce226c7\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = a58c06106828793e4b06429a1a9a731ba65f3d2d6a2438310a00e6168db367a8addad439c29b5c214e95b4d8c68f7e5410082471ac15285c2bff2a61e7e79ec3e2536e6632442fc813aea3ea684422a68f0819074612aa1c91e88634c8365dd553a714d724472bb24060b3066ae07033358c1b7155e284f9f509f7a35b74699511dfda48194673e425b6def1949f5862b04647c2dffcc3313abbd135e34dede206265d939f812f07375cfa2718d6ae3605803db16a832bca51de2dc786adeb6ddb3dfd9e3dffac3173966665f687908efe2ccba0586830bc99958f2bbfd4e2ec9bfd763e7c2ee0cbcaf950f81bd20c481e1d5ee66c6ffbca902f742f02a7554a\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 90652f9b56a91cf16207d37783a06e98a8b07d2f105afbbb77259b0e5d1cb8a8d5b4df4ba34a4208b7e55362c7434d21971867355b6c1b747c9c9c5585e93c500a7071b6160965844b9c94499fe53e20e2b85a30588963e4c9394a5d9c6ccec8d8fb02d243a63616c55c50d608ff8319a2c019719c5a2fddc59bad37baeb9ba65ce3ec4c805ee77777f9c20a09cf399eacb1c138bf394000232c3f7eacd85028a0a4ebd9db73287934e38da3e1134ef597dd599d9232377f803b4485cb89b3d59d080a2528aad2e1125750e7f4b401e0ae6c139ee3b62a583874c0634b28507be3bb73f21de3feaf31876b4f8f0bd6e3992c946ef9da18ca6a8b72827128bdc6\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 85f3863770c3ba8142f67230bfbf14e5a1c5644bca57bcfed9ff0c3b5c55b850d7b4b743eed5723c25213b6e67b3bfe20bf1e644cbbff172d870e621765590f98668a94d53bb967c48c5b00bc56409690299ab36cbe7e216e9768353a329b5f1730372c6fc9b5a9f5e61cdf1c6d44921e9afcfc505bea1752fa0f84de20860c2c5cf530ed9c35e58fa8a172e54725cd735b19b42a29afb1860510d955705de7f3fcc61e68017229615f40a2bdcd02efa2d5970b34c52501d92f36f138dda54a7dc8aa3dd58deec460853141d19cbf39af3a6911e67c68f791666537128dead190af54fb1e82c8fa8232745277fca794db499e3c20a56745c63108cd1188a55d7\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 911e85f3ff244d87f563e7db570be41664a3cb10f10fe23c3f32fabef06a1d58812d849e46341769b0fd45ed6f53c0add4088f4e97997dee6edd7562c09745b79a69193a263efc83acb68c797174279220b8c6c19f9344ce9874095ed335e80c053c5d15b8cf82dad580616c7ec2b54a04d7db990be316305c783156ca4dd9d28dbb901d4c62e4d8cecd4867a2643e21501d18a310d67f1d0c5c3feacc73282e27834e8b5c6e2e0628c7171a8a66aa4d71208e10b1833d72c672b84c162dfdc54f92c5593bb7f316a6147741a9e517bc9ab82b9646a6d8f637b7b3abaa1c4f8b9169c20a43bf42bca891606d43ad03f00febcd50d4e65b896397d549e84cab5d\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = b822d06360e6588b79ae00929703ce051320f743ed3957a64a25599232b109d147c525f6934814b9fc7c940e2048b1f4901b93e52ef797e954726f0c25f92a5a93504503461d2883c343934fdc3ba4b229e8f89a18add85f8ee741b65dc836375e4f59c568df322be875765bbb28ffd74ead83b9b4a7217227c2b02531b4424b0b2915b6cee999736d599e3ee9fa01d22002d0be15796a8f0efa254930ad4884a9f41c8b73e1a5f9c32de11ed8ff46e8957b59bcbc37a3a1cfa1c12bca8fe2454c02fcc0b74848f19a4e69d80feea8c8a217d978f601dae193cdb08cfe06b7676a2ccc380d17d7e083e893574cac8b66c9f52d557b731d067e348611fb05709c\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 84550f7e87c20bc055ee532eba23d897df92001b3755a06d505fab174d58b33dc7e677ad2259a27ffb77dc1d913d5b240f8bec372d6bf156f12736df36b170ff26f9441b8e299fb481a065ec3f11b1c474131a7ad52d5b3a3378f28a73812c9115b26c3007dc1ffb59a0aeb6a754e30a6b0ea5f33a23f7c92b8b89cb258546def8f59559ded13d1ce64f6840d47cf4ebc9a81ff9b339fc2a5edd6b6d798ea1a9b861c8711a64c0459c31cd2facfa73ca47eff6972eaedc65e099f84cc756dd11747cf101148f3f549001046cf86e539592b2acbab994d44d1b0708e7daee96a4a46b250f8b1e17b120168736340c43e74ee3894177e43aad55631a3532105c65\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 0c41d7989a2cf877d897f6443b8c908f77b5ff4aead7959a8997f63203baee230942e2f8fd60e847290937185f5e64089ed9beebeea1adb6e4290ba6dce5835df03a4bdf14ce7fe2ed10f09733ceb323961ab61508003356ed16df4b4f2cd76257f3c7d42670af3110db3e4b2eb180a0617c50b0f3175a0d375652a356e65946fa957cb9925feaa82aaee55d8ad6133c780fe5ee1632e9a97da869261f9d3df249c438ea04c224b48ba40c446b435cf5cb62ee35bf734f38d099178f171d010ba2a42fa0344a3414740092f05cc3d2fe48ca79fc52d581fedcc384b8e43c3962c13e7c4f7858ed21fada6d4c3b8ab171d2b2b244292a51e470016155788dad10\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 9bc68e023f39b492a2a6eb1a8199b4878a5cf73bacd944f408a2fde913c98975afac1face2b9246b3d25f8abdee2b7d2e9c0dde0ee8f21810f42289432e37296c5ab11a073508137b202a521eed83aee7069f2cdd056219a43bf98d49b5941480f79af70b4222f405", + "7cefd84bf05d9a37a842d693fc528af6b091410e90c3ddaae9970d9b555d1b89b05c1d3ff73f8446d289a3b8508689b8929dad719a1ae54e18372a697cb5573b262a6bff1906dc240746efa4cac2486acb4f7ca1dd401577c70c39fdf4d92c01f63ae6d00ea225f87bcd618ea3ebf5e642c9dae5276579f828537ba6cf9697f3254cf5bcd7788c247d0cfe1b1e4f3e5b83e0b78d3f26116\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 99adbcd29bbb267c7ed5725e6bde25ab2ace3d75376fccbc06303bb7320b8b3974500055a14d22febed880d8315daada0fa8a42302a4cfddbf1c9e8b56cefdada345a662b9e61d1b23375f93d00c96b8366ca0493883db29fd106b6ff4d5e8ded8ae550dfcee36987cfa26fb8ed2e68f9b0f278fce3130b07f6c0a73eb9f81b93fa1cf2e5eb4f41911dce50631208d21a7dd2d2ebce2a07197db5f5ff2221a041eb8449a0fa7c0eea251f2fe1598c6c7765cd88d970a948842e3af9744d0c3f8793254f3016fcc1ec1f30e7509ed6431ca15cc5d1a50dfe8306ce5be3999be5db80d0b23342c373bc8dd7833c79693f9b0066e84572a4c3f138990c28b727e21\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 3c0a2696f07af388db25630bb5818970c6e1f3a35d3a9524ca8b683fb1eea8c2e419de25287465fa930cb5bb2200ce1ef895323aa05c5c1b03721783eca4a34858da5da818f911293945a617b6d799357dcbcb31b1b878aa6ef5012a549cf7d48b888ea29014ce0e636833f32bc4e6cc762c252b048c86edd3aa3bb32366bb02bf86e1babe3a526a652e0feaf45b36727b37244fe02a41f61adde5a81fd53635e3495c3c1ff8cceeff90e2ef3ca1eb50a607760ebeade37b9ff03df720e912d2f9f3c5b0624bc468398b82692fedc5279fbff0b69c86a6bccd0e360c9cbd8cd05357c3a0ada43ca25823a122ca3d181bd7e9d3cf6c56b6030d4c3555cef5fb8e\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = ac2fda61a9cab54e5dd010e4434bd1914ac955fce49c20a81f70fc4ae81ef4d5b09a95ccdebefb01c1459d17da869cb60336661445d708369df691394b0f65280a886aa7c08ff6c2e264e7b3b79f94061b0ba21547125069532403b065adde771dcf2c623f3bae29e10cdc2f6bbfb1aa9805c17d7726ffbcbf0809468d53189352c10ec4922342ce5c446c63cd511cd073dd709c0cb43e49999bd2baea003877cce903255d6604e903d079475ca32506459e73e66f23743272465bec3decf48c404c0050256b05fff216f8c5ac0ed87dabbb94ac4c032bc767c3a53eebd1d2e2ad98120c1be02fc712b5d9ef3d899fe7f16ef76d95e5b28839318724a08de25d\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 46949e87f59d539fa055c5379ecc71c6b9cc488489c2bbb595209e9965dea9253053c3b086fdb4642e1ef28a49b9761b870f9b7cc6a7b991e59aaf686a62dff1e6f2654eccc42a47507cc977eb89ef05c1674f0cf18c3dd918958e2986c963ca90cc18d0728437a8f8ee67d9736c7f6fc2b61000fc865996f3c918d25dd8ca86c6d3c8f26f4d6a6ea8d426078ad2de8dc17afc2910355228cc03b88c15565a5a107500ec6d87ccbd4fe45a149799dffa8b24f088a23ebcaf4721b6caf2ab96d3a6f181b89f6a70c9a8962e4aa20f83e7084bb015ff3da5ce1cf853f8d2de2a549fdb5977368ed25204117deda378a185b780e5d6cb29f9ec6c8d80094b0242e2\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 2f97a06d605630820aeb8412c75a6bac2e01752e30d69f30fd59ca967748b608c9f05f17f95a6ee2410c9db151c98b09bf11fd1bf178d8de15110fffd468940d344f89d503afc6e69992f8c0ebb889314f5e9e78d78371022c9213084c1f666d1882e48e8ed33caaabb50e06bdb1ca39e7938b2a18524222c7bd91d5bc7df8faa63db5e48526ebf1333d496c18ed6f162c411e73655d90292637aff4afc165dd014ec5bdccee60aab2c01e4864fd0859700bed5f3b5c803980835f0f166fdda5dd2c82c8cf2b5851643428d6d229dd0e76821de73b7055cf579b3dcdd79def8dac9b8afc356111363856703a9dbce3668a547cd2f75b9b24f209c4109acef6ff\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 78d23ac2e2d666d264f9fbafca531a4a7730d0cb469e6453459c1e272f7f847888d3d12ee561bdb07a9bbc39b3e3166212e4cca386c30e40130cb5b4e26156695b5482fc5dcb2f3b4f18f30304d1761b48d407943bc9342178b1f2ebf213801682e03ffce08f9a26eaec3f764d1b09c20e6788a62bdc449172c896c507a00e31a24d1ded0090fbcc54f18765a083f1ba3e49d56aaf8a244efa9b11cb154d6656a8f8534cf455239db9503a78d06b0dd814be867f1673e16cbb7e2e25694f251ae5242915aa6e7d7193fd32677a1a1af62a66f3378dc5b0966297df2b394c5556cf7c816e07ca1675dba3e7f7dbc3d1e5971cd9b489db6ee97664f9f679a76d33\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = bb08fbc402f355d23793b120118c38239def4c6ab901bcee7de18f55d8410780fee421fcbd81a43f847ff6d3bdc9f129e882abbfefa7c72fd81270389bf4602b5a850337df6542a5d5bd0809aff5a2eb6a7d7fdf50e14b9d0a28776b6c910894d24e9eb06a2f2d5f3c0bfdc3841852037dd71fb1253fea81da7b0ab1df43de76d948c7a7984922e560420b3b531e7e34cd0a39ea5f1744826fd93e5557d546832c2f27e253dff2547e44d06f1d8cf0fce735a1c3327da791d100f52ca87ab40de5abb8edb997ae215700c67abebe94d62e717d803bc064a5773f0b17f7396c074cc1673d3540253afb661ab3bd76f31ade9e4940e11138ec5e6c6e39a06938da\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 47593c15e618f6e366caa1c6ce9d9428819eda907a15029d10b3a74948a5a8ed138c4f53f2422db0fc57b3231c7fcac4f32013328d07a8a8ea01e3e104e1cb1bae67d308bf2d7ecf74225e195c2c22d5271f3667d140f2f328d01bc91c1660f84c6d4e779590cf445e620402c2fc6a452f7442ed53da44461da862b15de7ac1f263144a4ca7f758d499e938585cdc5d2c6a81cdccef408d3a02c2da0478f34b1bd3c7aa3c074d2b3fdb68cc1c7ec9fcdaa08c07a992796a5453664eeae4a25fff0c3dd6eec745cd9c49de6fa507c305c3c098245b169c7b4ba742682789b72c5d5590cd84c9af1da2e9db86ac060dad02d669dd823e5c49d1469971a925889fd\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 8bf28fc789ca5af86177bbeb771fc544300dc23c3be737a12cd9feb74760efbc51b0f8ac30966d7165d61bcc73a7643fb9f0a7fcc4bd6f0b062e9306dd768412cf5fd0700d0d201045156926d20d64f37d35a52138df70ca3601e9d7159935fbe64ad922b935f677645b177798df4b1940c9c157e17e702045c8217b7e52a94987b8e54c5dde1ea215b3d2c4a9212d59dfe84b8f730604f0e7d396b490b9bce7fdebce76a26ea57d021a4f131b668b12c66677c92445cf7f204d6210c7d1a25a4713b75e1faa99f971f9814e284b5961d2508ba3ca33a5a2ddc2ba20d9332110ba9abbe202a6c7ccd35d41d7a6bfcdb0b0cc9fe0ed8941916a538064d4fd3e51\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 6f3ddf150253e805519b99c3e41ebafbcc81d39b328ba9dd388107ef1e7136c6242cccf61d3ecc213345fd8b216c3cbc1ae77cd8747d75c60cc648622d25a35538558296f3ad3df183ef41c3c80c4d5659186f9a34830ca2b4db950051a99b7d23018ae6492ed396eb85b665456b482e81b3f60ff565b3b01f51268c0b4eb8c455627e618ee559a74678d0338cb25411fa0f1123fa9ab38f666068c092c168b33a971664a6ed4359c1e1e2d8c777217d510fca6367cc06b8677e02bb6574a218ee48aeacea51405531d81758df68d2eb7ab640fdced07029437a611c1a05ee3d2defe2bc2d35e06226c16141fdba4810b14733e8c7aca430bca49257f86c9f54\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 5a791de95e163c86912d6ee662ca82a3e93e2a82aaa94f75def7aff0dcfb6d990618b8688caf7360a08fd513df5b4414e5e604a2bac126fbc1e93fa0fef726e2ae74ba63bb7b4f3adb453912c01ec5f906dc14c9dba75f3e0f6ef8e648fbfd0b5c4f166b806514293430c72712d389ce8cdabff1826d9cde88cfa0863d01b1b8176a8bf30e077fce691ca5d1b34f0e1052c9112c2252c445494176ac5a6d277f9b7c8dd3a912d8eb42ca7d76304028c3e51f475065b8a3db1fec6314f6eb78115030d237b91bfe70f5b84d1cf9a879145528ae3ecc6d8c180a2e70740df10fc0671dbf9606598a2c88e43af588f74f890e8f9d3bfab157854bfdc1784d1b29d4\n\n# tcId = 215\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 86ae51d56a520d4cbabac1a460ba543ce3eff99c2eeccd54f823821f894eacb30c2f1dcdd6db6e6db4b265ea54c4310f0e599256516843323e2c39df9f0001f2ae6f5ce2659c1b6a41ab5fef8ab823258923be1dbe3c0db4705094c669db4960da4ab9aae2ac8ee860c069acda23f8c8cf864c9c37582126c6f918e04a869b8aed52c8d0394c591ea16de6506c265e482e2b19e1f9ad529bbefb099a24c8d53a8991730fa35b76f60796ccdf0a8b7d027ea1a50e89b7bcbeab8be4bd52bb3b701b42dba4ad1b0056f8d9f499a305780f742831b0bcf2377dd986f143118ac531e880be5e59a3a022e2d50a4c4043a04de9d2208117f34beba0bdd3338e6d0899\n\n# tcId = 216\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 75e3e0b1df032c53890bf0d394201638a779d335d0e359f6e88fa547ea30080a90d34b9605c57f798a8d8cf76655b1f5d023f0f7cdbab9e40ba01480d5c60b74394509baa6e2f38453a0e9ee62c6fbe8dc03360af4d3dd11e6e5b964ea2c59b3b4bcb0fccb4f40777f4a998e738ab2720a74c5e7f2b9d8f28ae20bd26447cc4bb6ec9164b07bbddd314706c79ff9c0ee7158b30d46751151eb29e84c13674026301c4f61aeb3d956606af22bc2680c4adda348813f25e171a699339614f0935d4046cb88cfaf3952b765b3baaca5a62217b922a81b3823ff588cb18494c01a32bcd1a669e87cc9fc8036b4d0130acc57e97546be7b8af622bbbc50b5ac157099\n\n# tcId = 217\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 19a82c1a8baad64a96feeebd38e0f1d401a289c0b5087b3da57a3a996ffd0b748a4", + "526e481184d3003a973e5de86bc1c3b9d1d003afd229b8cb4e94ff69c4ff75bf8220c69343cda68972a0ba4ec88804fb42c9048faaa9a84d9ced011f7de491d0a00771e393239ffb8734121cb56ef1d905ddfdf34aa3f746914351f005688bad24b8f37c64269e1049d7a6d2aefc370849bf891faca398fb4a367e4e0ca8449e7d40da55788ad2a1eb4bc2403a1f37195fd816ceaa303522c6f57fe704b0be40f3693d0172382c420676f8e7ff28909d67145c98f5a224c2511d9e1996de58786ec87142795706578396f8da212870694bbe3214e2c506d2161b4c5ea65be\n\n# tcId = 218\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 3acb0bb95b7fbcb9ded94b8f6a3aa1b8c4780a0e62f0dcff0befeb17ef17a41228921cfb610c58140870f26f87dd0899b20dd15ef90aa1d1bfac714a86e874959afa6ac288713d0439c0999063f1c52c823e89183e62b92bb48372cc09266c2657daad449bc937ae8e427fe588080205629a4b0116497214dbd818f51ef2c86a28df626a6d11ebef52ce40bef9a05c78f4f5104acf0cc1724a899d372292a21c7021a4fd7d25b390b8f3d18dd5592802705ac47e561218330de96530cf08e81a705bae7f4a44927ed073ed48ad751a26ffde9b3026c07795970c77734bf7ac7795f8ff440e8d122fa2a3d7ef9861ace40a0608adc2d675aed6b5cf9d1149667f\n\n# tcId = 219\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 90be5311188e6796fd1d6ac1b437c6b8ff950d18cbede72832d602f23983a67cfa8f74a632d93d9f05e146bed503c4c336c32f83fe2f510282078a2946ec4433e2fb0b6ee9033db3dcbfdd84ef6c9e45aeefa5102a73e27cdb9b31d16de42cbb3fa392e4d947e38a1143ffcbd0ed5b99711c5652e8ba85cdd68c385e1d00aab42a8e3b7c6bd9f13a3c553686c00dee411a022ad19bf8bf79e7da4d40ce731d07e75b1b8dda2a4af34c3635a7a784240db61e19a56e287997379da9f845ceafd08d2fd06281c943eefd30912e0d8c70d8ca36caaa2a529d6d5fa3c2aa8f30609996513417f0e274dec8e92821bfc25801a17789cd9f570ef2d08c447c8b28dce6\n\n# tcId = 220\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = cacbd8b8da45addc759e8f0742aba0aaedcd8effcbdb44f7a6bba1722c93ec460924d4b3d1c6e068f248c5a85d4e2aeb4be097d793bcf2ebf421abe9d7a80c95b29434641c0d1bfe67348973f48503cc658ff40e6fe6fa8651237cb5b1f630f47e0e2af1a5623977808f0f9db52445de82ec3115cc29337b6e3af60e9213ae71cdff695b61322cd5a40014794b98cde97cb883c6fc9d8dcf36936b9042ca217c5fda65c667cb146928523f2c5c66eb74b2ba235f631deb440e94405642a4173abe41ba7ddfb40f2154fcd0098cf38f1ed3059cfdcd90180d7eeb68f072b7bff8d2c264296073b66aa751ac8d676935872506bba9d78d59d8e9c2330afcae146b\n\n# tcId = 221\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 0492235b90728c9c26efde341123d4dfa06af0a6649799eeb96b3e021d83e629a6dc48372f51b7ba4b4c671ac8bbc1b04edf82bfd34f671888581584a9e874c68cf0588dc60aa4dc2a6530505799c3924c81817c458d4fd213a34c9c3c7237face791df8f41cfb7604655f58920e5f72c17cae980d4e0a44bc694177cb957fa492cdd370cfa5939240240a271e44698849581b308d554f1ab33055b11d94850b11a9f082310ff40d871381a314443d11dc07aa4d9445fe7d34e140efd93b8cc897770e3d250987b5e9feb7968b35c82c9be7d1f9b7fca70d44d23d4e5060faae1fa6ba7f8a13a3d519d38be5c34b4f79acaf54fa20a7de00883bf91f1f42d5ef\n\n# tcId = 222\n# wrong hash in signature: MD5\nmsg = 313233343030\nresult = invalid\nsig = ad4148c33d3e46dbe71be2268485d23c763e5943aad735c421100db1311e0836234f1f19619a17aaa1122ff94769e5f7e93453c183d97f4f3e5ea35dc180061ced95bf6b9818d427886ff1c1743ba6c73d61b967f99d54b566e8f56bf5437184a15d62549c0cdde5dc903c200027299049deab8fe68510ced79915f3ecce5da54571f2ffc2d24ce44c679394cc0810b7858fbabf75416c6495460b9fe331cdd0bf007ca138c78589664350d18e58e3460d015cb2202cb4f2f342ea1ca81b534e0084a94918a62e058d2d195285c34b269be0705338ef98696ad53d4751efefb6937c99da703cbd2c097428a0e2d0c9cc5d1cb897aa817fde9af8b72295ad0625\n\n# tcId = 223\n# wrong hash in signature: SHA-1\nmsg = 313233343030\nresult = invalid\nsig = a0c87a80a092bff005fcd88ac0ecc25ec92ecfda79e6562b3a76d484ff4ea8bb36a842f214448fe5c8b72dc5190e1d609cb1ae1a951599d55d52ecd8e05a5cd05bc4b5c0af4a521f0955e6b7b2b83a86c4e48f65921eb7568f5198ec25bcec50954b1ab5437b2738d8486641cdadb606d418100d99e0f06b65ce24720eee65cf4776197b718a8da721692f2fb6114ba2fca8080005bc9848ea0cfc3ad18648abd013fdc67edaf941933697993e377f9493affac7204e0515d8ad1511df09f43d239c2036fa626ef7c15a44b6c693ea86c2b71e28d3dec6abe30bd8bc40fa641c81a6d60447b18544cab2cb7eb154097cb0113e33b91cfe94560bb0ef03baeca4\n\n# tcId = 224\n# wrong hash in signature: SHA-224\nmsg = 313233343030\nresult = invalid\nsig = 497b13c7784277438d22769de54721438b5a1f17d9d980d1f55e96380eacd01f1a1ff8b016a70dee9a98398e2a7106b4ab6b1ecd7afeb2e2fc9a2ec6506494ecaa40fa2437c3ab0cc4a26bfb952849c947608bb6316375b239dc3e164957b5d40442f58fbfa141c3fc4cfb4a6d9e1988d6c5f10f1170e911171018cf63a7c97c85c2220cc407620bb168bb412e6d12e8e51eb5d81c64cbc075072c0d9de99dea0eced0a43c7f2d82eb31bf96795fca88e9b6fa4e6286511da86cff635f71acb78e5276851e70e3dfa9b6685160c82add5e53a9963fc147a5c7b0da71cfc7aafe37b01a35d7f12760eb3d6aea9621676674b5bc3f5d5aa9c0f71fbe0da82fd3b3\n\n# tcId = 225\n# wrong hash in signature: SHA-256\nmsg = 313233343030\nresult = invalid\nsig = 521e5af2451d73b61b7af2d81eb427bba3911a3f2e61105bf38e15c74196c8e66d52239936aa1a7823606fdb4d243b32dca2c4a95cb3b302fd34a9c0879711095b4d1e75c59d005836c2b9a05ec1daa63148841b285c10bb70f4683994fb0a598b927415ab2004dbdd6405d57804ea142f21600d5bf5487f3f7419ee2c2790a122199cff03be53847cbda28161f37810f046df1c54ffa9e3070ebd1f8b08b3293c6a160ef6593ab497415c2a086cd5242f3509b375f70e12435b01c21bfee65f2156448831050eec3da4df7ddb04acdfd89a5cbd5f9afa75a8e3871378933c1483c28c1bf405c42625b673bd0de4737ca144285af3981fcaa7302534e8c36e9e\n\n# tcId = 226\n# wrong hash in signature: SHA-512\nmsg = 313233343030\nresult = invalid\nsig = 99886332731f9c4045ed269a8c9dd46ca0d4423199040a2840a7ee7eae4b5d70aa80a8aeb0e8fb1c1097f740e8c702006293bdb2fe24ad9f7b10664d2a06cc3d6b1da9c44a51443f2890ca880bd1879e208195a69cfddd317ab5ad2610dc36026156dbb10841d03c91b87e2179a04228f461fc7af38452621cf874e3cfdb8e42230b0c746a8084d6def1e2092ae2d34556f9352f5aaf39bc4d620a7305190d0438345f54e1a34aebc24b2335977a0c8560d3e9cb0165ab919877af989abac6f0b5ecd110df1e5db3371b9755fdf3be6c0307254b445259b2d4fc193e31143d9367f4c03ae132e033ba91b0b1fea496b1d726207df6fa965fd63a32f7aaa31263\n\n# tcId = 227\n# wrong hash in signature: SHA3-224\nmsg = 313233343030\nresult = invalid\nsig = 02094295d59fe72514e4d0a0621d13385c3aff737e2ce7874fff518dfc14a0745d0ce214e4413a7f055a3136f592e36aad1ae110f31766af0ce505d4546406fbeb189d7a0e6eba9769dd80aeeeadee774355f3b67a85cad0b582b27092a35d35a07355390b5e38ca377e91e06199a009dc3c39d8c8875b3688b40c506c950421fdcc1e5f900d4e0b9fde2d8cfde24427e2292e106107b975b57612a989de5db90044919e926830e3a4714ad3ea39fd5d030725776fa93110aee8fcaab761ee54754b6cff58f8e569df981bf161d6580ecfe3d78e3b87d67cd64b23ab6498a341561e2e4600c053fdf5d03a73e58f3581509a483911010c2652197077d78dab4d\n\n# tcId = 228\n# wrong hash in signature: SHA3-256\nmsg = 313233343030\nresult = invalid\nsig = 204ac3fea095bc0b1ebe86150909295afc4b9a63465d0419862cfc985d803822207c498d306232121126da46cd03348c41ad8907b61858d3aacc37cfc481d5eca120a23de03c7863103b5c572c4e2b1fab70fbc0760fad8c1e3cc710aa71c8d0a6571859bf9d2a622747108e741050ea7c011fcfa6ad6432f4b8df0af2824946264de79f5782c215d8903f1497f69f58e586f284b5db98d04d2df14d8bb01ed6f3189c74f9b5f742fa4bf886adbd3e5f2efa23730da4bde05e87e15bf440f37f989ad8dff3fdc4389f77b03dde21d5be131817d498690036537ae789a59f48c8d3d798ad7daa16669ee2d7935d1b384f7617e12ec302007c7ff53a0b1f6a71d0\n\n# tcId = 229\n# wrong hash in signature: SHA3-384\nmsg = 313233343030\nresult = invalid\nsig = b539fc190c1d5e3bbbf9302eeaa7e36140afc6cc42658748109af599e14544b29e0b7cb488636091a48e34ac785d0accdddf761da9abbbead603a6d3a53744fea294fcf105858960f2139e87f09f82dbff7491791c0e79e66aa966a1e0e177a23653d46c36f5176171a44f02091ca4021b3040faa0d4e9119a1bdd3cf42ef3919d8d494b5393d5014b21c5f7223a3374e1de34c9286de91335acfbde51ce833b54a4804c47a2fe805c182fece58a2bd3574269388c7028dcd2d69bf4e10864ad0ce0776b5b0e1e2f5be90c75ae5d46df0ae005e4981124492e33127c278e67d05e38ac17e364dd78ce3e7faef8029f12c9bbc4102d6f5c752b60c637ae1979d5\n\n# tcId = 230\n# wrong hash in signature: SHA3-512\nmsg = 313233343030\nresult = invalid\nsig = 875a4d6b69fe203b43376daf732492751e01cb93a66be6ac272fe21c272bdeb74ba333f3f11989ab5c92fadf704f30b2edfc779e6c9462b3f25ac4b9fd23f4a30bd5cab6d009eac89bb5a4d8d0ecf27e531355dde3363645708c9cc8ea4d2cd6335d50fb768de53845b12d86333481dd2dc447156821c7dbf0e258938681bba2e95514bb762141d9ac3f02badff825990c4e3a07c15901d5c05c3fd433dc500aa24d16add9356e422ef03c9f8b7b478a43fb967a8ad16eaff0bc7b0223c7e1ddbb2aa7fab4c81df742b143450aaf06ae48c3e2d7f4d7cb0a0d2fd1362acc8d9653f84", + "88df0548430ff4f0a8dcfbe466508fd93a138ddb9dee83b9cdafb794ded\n\n# tcId = 231\n# wrong hash in signature: SHA-512/224\nmsg = 313233343030\nresult = invalid\nsig = 1c153e1a94bd76b0c5d51d1c91d38afee4db20a10ccc44bd46bbc4a40974c02180ca0b3a53377d694de9c34d168a7466b0bf5954952a98031104934fb319936185dd8e795bed92ec7f8d1487dd9393ffe476c377e406fcbf65011c96a34ec627b7093cf6c0ad4576506d559c74cffdd73700c83ae8c4b6b8189b4b5d4119bc4b720bfb2a6acbd8a560c2642e25f6e8a4ab5ac6ff0ab19226fdfeb02e6f97943227df82b251e6826028460f33b7c6aad633d663fa06aa048b5e3c7226af2feac31d00bbde8965ceaa0d3ba2d268cb2d6c3fea67ab672c7f16f8775b3b41d573b8b99a71fe60331c6243dcee7438a30a8161099a7dcbd9933562eb40bd7d587383\n\n# tcId = 232\n# wrong hash in signature: SHA-512/256\nmsg = 313233343030\nresult = invalid\nsig = 34e2223e4f00809c5128c2dd2611956e8b3177859bd30ba86765df75b2aac2241c6e6fd836970fe68ed723f1399cf1c7a8f04560d776c572d2e53b2d0edb65fa5dd813915236b278c058f4fca84c6dc75de97fa7d32b30d6f54d6aa8318105e58391508dcdc1d15cf235d238a70b085c8007a65e0df54962dc31b098a9a7d06108f07ece64a70426d5d749c3e329d1779125a7c60207a1c99b892022703229cfe852b426a2a46d9407806f911cbacfd98168e8e4f1322b4572bd1f0634c8337b5160c2150dfc37d30f671bfdb2c3acd89646ac37a0ebfee5e1d2a078fa1b4c980a87f83a6b098bd09c865305bee5bbacd3865e38b4414daf5fcc3bbbb1655157\n\n# tcId = 233\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 4a2bd5ed1e053d5421808f7d2636779c7c1e6e1d94c47ae2520332113333f0c3f229554db384561cc4be4615d2f9b36d7a1cfebb85333c0a070a8379293d5e46af0d5c34d71b4cecfee2a190a9bad3baac34aaa8881d048cd2e9b8a74c67a5be02fc27368e5417b4fb6d928254d645bdc95577fb1ba79bc169a9e24466427db64406a98a8589e3e164a5889d205ab861acd9ea5551cdc06515813e4455d202b08b829463dda47a55729961dfd2130ee03c4ca92a8579b30478c2b479646c242a7e9ff0547c7e774a29469eaa49157d53425e0afe0dca68c88cc71aad8a8a00bbfe8f39c36fa3ecc168f605d7333626b0afeaa7465d78862d4d44ad64a4f7a0cb\n\n# tcId = 234\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 5e47e74f1eaa0c542173139c91fc3684c52a3e0624ebffab2ed2bc007a3c7fea826b4400a9145c7893573d73340789f32c3f6770e1b646e814846690a941846578afd0455e9f016631475149bab5a150469acadc1d0486da5fd766a75f2b6be6e7ee56bd350913acdc08e06806a3db60ecb9c1caf58db36b92f13b3ebad4c67f7be7f16156520691dcc37b10c9c3d0215f3e2c0558cfb8d4944e936816d38ea6e3829b736b68cc6156e86f505236f366b5928572826be1bf0b42885f1ea822ebcf79b7008d14b23a1f76a2730848c077fddc5b8982ceee4768ba7733864a4cc0525640f1fda07c6cfd92c7f32715a6edbfc4366e2b62673fea9116a18e600458\n\n# tcId = 235\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = c1d45424fc88ebc3de2cb0f6fef91042822f857835b014e6362b986496d1d0dbf3ef50d71ee2dff5567027dd00fad1e826216bb34c95954ba3a9ee3fe646f9f690484c2586b96946efff54d6591024d251cfed885d6e8d36baa14757d7621e75ad521adea55a217ba7e6ea0a8294651d688ed395920975d52f607d542126db2283f00d9ebf48e395bb83901350843cd7812072b67472d16cbdc2cef414ed57e33bc725d53c5d78bb3282116bd3ee672842191e9a5794d78d4f2bb9cf600d6ef8f3d538881c9efb80c7f4318f62c091b0a3d13f485923bd0561bacfd7e08f75c26a60c8116b37524f4e4b40cf488035a796bd19d3ae5cba8bcee923e021a78183\n\n# tcId = 236\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 20835e06ad227e3e7868ba812b0361062e5e7204e2a0febf12eb0efcc5cec87328a0c0c39539c177f3f81e50f8f731c6651c03d865cb1ae667c2083132841ea3bd9749a54fed4a9d04b9f4a36ecc11c31202b79f5c7e2bbe0499eadbbc7781e22c6b182d5eedca6591af8e4a7665883666e30a927959ce67a149a7d03c7a863c16eaa980e7ffacf844daf83b5958c50c502d742e638f97067be25eb0c0c1f26ae9da1e65924bbc3a963dfcaae959300bae2240881d9f528d14a9f025a7feeadde1301096479d8ef77bf722dda463ff63dbdb4d7e5fefb4a0428544e2a8e9b1622b9971f71671cf32b0c066a26372c46294a66796d80a498282f6da546ab095e6\n\n# tcId = 237\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = b386c91fe71bfe594a2de2b2a0db0eb097178076afca8fec5913337edee509eb6b470eab1e4553b3b346d85c8f2fb31b6afc301d4a545cd3fa2b7c4157d501207518728819579b51d15d59318e8eeac0b903cf3e770660dd7350336ea6431057ff68e47c9cd471d616f25043d099c8a1aa11a9588e5b9275e3b1b93c71746307c277b74dc429d9ca2ec87145636778a95707296d980cd8c430e5cf1faea6b62a66b2362c9aa74d6391ba7bfca88aac9747cb4b29df1ea6bb22e5cff500c746e26a95ba0b442b468d1663bbcbd9d0162aabe84c02d002e760e77f766938880776e903ab5e09844829296515d89bc68f8c3ccc748c35dd285676c13877f44f2ece\n\n# tcId = 238\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = bbde1e1373cb938add41e6ceeee683908f3c575c6a15e38481ce6e83a5d95fa3d2a4b0b6e95e1abf165cdfd5ba308497640f58cc4642298100e9ff639951446951e67aec55ab8e7b9f05abd8870ed3bba86ab875e03d935803d13236fd66887069a72d14375a4f17e9fc274cbeedfdfa7c8b77c0b62fc570dc5bd30dd6f9f23f309ca58e004495472f2c4e5095202c47f24ee8a10474144e1d101ae173c387dc92647a93618d779ff040ae424d75b22262146f457e704240cdad3bff67d086d82b4dba7f8308e1e392691065b28be33e52dcc20787997817104d2d23bb67469d21d5e3cb84c035a1d75e6b699cfe363db10d52b9c0b4c82573cb1de5a5cd6cfe\n\n# tcId = 239\n# empty padding: 000001ff...ff\nmsg = 313233343030\nresult = invalid\nsig = 27e5a5c4d9f86f7de7d7220a783c26afc2a6614bbe8e2685171481f928b230abcff5b37f3ef2e384db521187566c70b09d75399385bf2358204fd38c1dfa1fb84fa78c1d5d5e5a869063d544ea812a3f1db8a1f0224fe7e21c5ee25e75a0cf2ae5d6db16172455bad2418c81235bcfe2319def91de16a7e3de8dffd74122bed90dc53e7fef8f77e832f30b2a33efbb35522fb620ea326455339fe22a81fed5b58d9a5b103188bd530439c4855e2db8cd9f98a8129c76a335cd45923ab67100dc2b02f31e0e5282fe526f9cba163715026071b61a2aeb93a5a58b4a8499b3c078cfa303ef0a107bca6d2922ac8220fff175e2b4e87a7a9669a1560aafe3ae99b5\n\n# tcId = 240\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f\n\n# tcId = 241\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0000\n\n# tcId = 242\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 243\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 244\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 245\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 246\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7e\n\n# tcId = 247\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b80\n\n# tcId = 248\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 249\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 69a1af712699465ff84ed85dbb35323df339f7627310b2b3cf2b8b9fd4fa5cb0f536680d7bf905347a642c1960c3e17495770bf939b7b3d426ed2209b5e47a6029af076a8e95f9a7fc959041d2e221d433f3836e37b6075a8388a2a6aed1785528cc79348d4dead276988f7f49d827c0ebbbfe7aae9d946f16c7a3598da587710a8d9fc72ca537534959c76a35c91ea90989dd0fce6bbb0d0f8c439188e51e0c82debfab4ac1dd7df3c3e48627039a9d3829a7f08432da36b6ca6d9ba0f9a15f6a61afa09c1ad305c3182e0a88e128192d8d064af7037950574cfd21b1ddb5f562ceecefed4e62c6d12f82135aab2c0a6dba9a181945f56943b4a81faa42fff0\n\n# tcId = 250\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 8c8001352b612c2a8ce94e15aabcf7e077a4135a6cb9f128870ce3f7ed11b74df002a93e9c7929b504f9c33d6bb1c8193dfaab4a808057380c3a142cdad876290bd68472ab37133d50d3805b6037c855d145d75151c42b6fe5121ccb44c7a624e897b298694566698f49289ae0ea09795450ab9d17dd30170b27fa65d54ca4a07835b3d772dc27ca21e8049dc5751522530169aed63009013091fa7621583d6487029c45eaffcf0c9e7e9fea1cee27da0f623b3e4cb8f73db62ef1a818244a4d00165e4328cb2b1af117eb8daa5cd808fe06e6e2058b7db69569e7db51b072381fa6acb7683e4ad9164b2e29bb3c72e99e0f585787a77c69f8a58084eec664e9\n\n# tcId = 251\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 5bec85b7d892bd8bf5452d477c53eab4c930828493ee9092e4abf42f905580413a6ad458f82e78a839a47016b2c6131899abffa563f54d49b07c3f56ba5e4975d216be7a591c6466e472ae46edf2a15c72b649f7089f4f1147cdfbdd1334b07303320a95c6bf8426cb9e6452d3f8695b4e376058db6805a7ad304462ede8d89543a5360749e83ff7cdaa6379941d28a44a60bc36353cf8ed7cf1e3db091d136372d489602ebb1c4a41a6a15663a809e2fd3905a6e62f49a4df64594e0b13737de6c7e38bc16b349c9a71fa9d8c519b6aed9cbad2984e13a0d75a6d24854823e6c8d64d891cbd64cfbbbab9157f4a015bcf9b6bd1465e5badfc462e51fdaaf698\n\n# tcId = 252\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 9bc2fc58e6db83a04d327571189b835a63df65aa3a41918aebd7f97c069cd499978370e4a4e46b1c27165b51f703beb3beb1c0a3a83ed6613dc840b58612a996dee3a10e1907bbceb5960e4f7a0fa9cce69a3ac34cbbf10b404b685763ae3fbafb42f125a060626e1136742d4ccdb469b3a6b58fbb4cacd3f5fe88da8838e2d2645d11618067edc8eb6bf6f96e1055122cff85c423d113cb4e9e1303c268dd5ceca5a201bc17d582a84ffc14f7f5e654a25a89486d54991f85bd24a6112849f38ccff768d1ca3c44e3e6e6a23e177426d26bb1173cba60a7938bde64b02432db83fab73c3fd4f10578f826ac3cea04172aaf43d60455c2632ae06c7665ef4537\n\n", +}; +static const size_t kLen152 = 146586; + +static const char *kData152[] = { + "# Imported from Wycheproof's rsa_signature_2048_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keysize = 2048]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = b03dd72dc84b305ea811267a489aba10a1dc54b59f92e58546a2f0b6883f543512d621951352ef12abafe4bd6e10c2e5b0eabbbbf1d081b66e535fc9b8ad379040c3c71ec8f2b4f5d319f5d2a0240a767ddb4de1fbc878b2c5e8e1e260217bbd70971789fedb8c677fc8193f67e4637239607c7b9d3511868ccc0df372374abc685c9b4b74b2c5f11758f809b19bb3b5c464db870fea61ddfa5e18be2c4106f3e165fe85a7f8241db2806d0fc3c45d8a7f1eb4ca411a46ac411b81c04fd8c4ced5eff497da6bcb8e2fbe1f95cf4c3e761fc3037c82276f7ebfb7e6cc8534cb4fd34192074f580c6e31008df4f1404ae8dbcb111503d4bdfe6e7107a1ab5cd8c6\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 4de4dbf82607b36a5c6778ae6351d83b7ef5b4af64c3788889eb10ef1838822847ceb531914392360b92dee055796f73e3cdb8b3d50910a537dd2244fd7f922780356ea3f01e99e5bebcb1b6ef398d2399bd02472a871417daec3bbe6f89f45f1af0bf819a446dcbbb75c56958d34ba27c8120cee6ff97242921ccf58de9216995fa0c49cb3e6d60e46411b2df3b01b78fa81ca145ce8be594ee009031eda672eb097ba5ed6687a703b154ef616757f94237f4275f54738cb59d36b20a9c84ae133bd715747952f0222573a91faf740e4b7eb4e88abaa91004e72a1709b401616b2edb2784e491f671fcf5ebe326b669facaa5d8a0f6f8469ea995c4db772f06\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = a0f46582cde6be215351bb7b29e8ff24398816fad9e7e2ed6ccf1d0b5296bad827316c18b1565253291fa1c0baea9a735357cff8920e1024ae5707dd2f0cfcc9e6cc81402217d9b4f51e10def2bc2f4924e7d22c022fc87d6c3e772f4952050d027b003ab4267ff227a15cc7c884cdb46bbc7eb38852d0e6d8a12f485ccb0312157097687debb6feaf2b6dac998224c6047c1d5727195bb8ce05a59669034e88de0e4815af00c65def5b9748d017455056cc1ac6d3a77e31fcea4e726eda6be7bd33e509696e54d1d1858a1165fa9ece5d62e493c1a33ab3c94d294838a19f367fb799d6b69161bd9532a6ef317deb919923d78e33309f14a97b68023d600b4d\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 9922f7bd01d7ba6b2de255b91209631af92e5537a4554b3b7a50e39f2fe9b6085a7e418084213d445794ebc19be43782d9f80df1daa7498a1c67d935ec00dac6b7a194033a14431320acd1d7f3d4c2b7b5b1649dd93931c49f538c94e34f44fdcb8dac9d31539f87e6720dc887c6605284a6a0408e244325e35917b1e1ccdf5959ca87091827c8157bdaa31239e2103ca8a112cc76a8e7e90f352fb8cb3a3381e52cedf4d4188bf881054b80387605e7041ab149cccea1ac2bb6560b45000601c33ebc31cebdd499c0b8fdafa7c1691d6dcc48edc98519d55d126a757b2a753eda4f2bf35cb191face371c9c34b2ab57242053b9ecddc91e4b621e650432adc8\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 99996fc01a53bca03382b96e9ad83a3139bfacc5d37b180a099fb5d515a7b78a5c21a339ae6bd2bee8e0f503ba2bf892c1885ad5f4940a99d8d49df6f4623da16c337a011fb895c006100286aed82977be3fda054d1e935a872939b704750c3e2871c33768946e65a737184efa50060c6898247a6472854884fdbfc2533c936fe9c922d881bd5f093851b46693cf633e25f27efd6db65da3ad96f2e8154ac39f2a9859f15c919a92c8cd22285c1f9e87444e61769f6833bd0d56106f87825e472e59caaca1fedd8d4065fad9dbbc252a84c196bf5d6c40bd8660600bc6c825bc7470aaf4ad118c6c139a5c6fefd5223ef490d4afa6c06269ea8c0054aa1f368d\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 7930ceed4b191365ccac54cc8a5bd38498c0d0c1fa5a862b6c0744edf9bf1969ec4f3c7c42aec737438acc797b8301aa8b30be2a4a4c1323be0427411dc8be84881036e9062a55fa2334176049305a44b97f90ed0b3becf56f8c9f164ef0bb45729f9fab1d459f690c58f07ef5ef89f21b15da14a235f3012e6f83a7f226e118d3b7fdc9356c39667e1cea5c667b54ec5ca6a0d58ad933484f447c670e5bd3647361c81831dc710360a90692eb7e4a57ad225b2516d9c3bcc77323a9354d1b92d0b3f5ade911f5faac4e4bdbead32f3349840ee66f4010789a84f0934182c2b0cb7d6e72e2b2a6839d03d7c9f681bb7148449161ed50b4466d60002cdb7492fa\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 16b5ecefcd0167682fbb3601a016bfa8bce9dd5855bf305ff00b45d97e50fecd27716997c37ebf8efd8b269558385b3ecaf2b6e38313508a7a14546107b75afb450b1a0e39cd0760151b666451bab43d7fdbd93771e9d98152ac889bf1abbe1c3f62049c4735602ebd6a90a0361dfa08417ba03c55fc6b7bfabb136851ab01eacf528abb1129bef47f2b04e2aa24c0341720f728bc9fe12cfa5d4248976aaf7035d19c18302fb9ae2443286a71198b500034d48113b705c83e64561762c583dc013cc099c7e5bfecbfaa7b971c8f1a4d3868fe0a4ad518372ca68c65bdefbb726b1fd92ad92ab739d2bd1af97724dc076ba011a9f32db3979ca4cf94c5370b77\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = b73d6d97834d8d14bb4536b050dbe47db349dcf6847586f80624425065e10360f9ce491c38ae5e48f6640bd3a314eb097f08c859625d3b7e8198b0b9dda03920ce5fc4937adf8c16af3dea2cc3137c2c200cb8538baba5bf36c9913784e079d8cde826f615313cad093d53110ed616591e5c38f32e2873225634ab10fbc7393dcabe742ebae9ea3802031ffdd6356a30aee51d126064584db555657f11cf742b8ee1ee41119b5c2e65c740219bfc36e6f65fe8db8d16684ba4cd7a12b5bf22551192fa75362b142b95a0b0d786eb26c07547e73ee3f3a3f0b2f2f37ba562f61e86c4bb25e7e059ea504f0ea8f5883382d7b17c95c5297a934479b4d40b632e99\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 93611a697f527bb2d6e4193ea34e079e0b8ec8e4a516962a74cc91c157528bcf4654beb487f5eac5ed445f858fcf8461e63fc657a57bd8226d980b212fb5e61111e0c654e0a6aa0c959f20001f6345a60ab14b8ef5631a81cdc552a04ad3f17eef287b011ce401be17900e79b4b045c12a90412a852131a1b9ae7c31051e8fe6f066b4f7e1d8e9997aef10a8c516fa3d782c9aed73dcbaa1d9794de7300c607c17607740f091c2dde354b58c0ed9d4b8fdc43e249847b494821bc9560fbc3c57f363e5d2bfcc488c041f123fc379c7bc80a9ea6ae98b7fb76058f9260c0f5fa1000a7f865e5a63d1d279fc7f452775186608cae1f3b640594d4b3fd8af4a5a4c\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a98a9744f1f1893343ba5b702d7d431e40900a3e3948d3e6630fdc0a8f391eabe2f4b5521a2bb03a16053e87a15015d5bfbfb0e7ea4877a05f491bb8df5893c867070256e8bc348f896ca2c8ce4e0ab6a9adf10ab98412e4ab6a4fb8440243fd34749596855cc14745d7096842c48db0647fbd71361ebba7fc263a2d191d719d23e727b1ce36e543cccd521b540cc42e01120994a06a95f43cb83ea51f73dcdb9d5a90683f627a070ba8afe67f9e29b003800479b6b8ecaeb6f2e68bf19f1eb568b170e56d70a8ae41d2524a0e76bfd0f4d27ac8cde9b00900b49577c55384e948c6c6dce081d277c3623b1e749748488e648d9349b9f17cbf072d7083c377ed\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 1075928172057bdc681a626808436b13f556883057c93b452326c7f51316939cef89fe3072c6f1365120eceabaa0c12ce4ce05762843a09debccfa01ccb9a85f8b0f1f7f030ed2a0c1514ef1c25cce22557d30627cecbac23f9f1fb645776883fbdf502894cc373e18ac6bf47d655894b528369a341ec1e56c2801a30f4c93e5219a24f727b5d41c0789d01b868742dc9225f5bf3b588e5836aed54bb009e44b9598a96bb36df4", + "bf3521cdfd792c2bf9647b01f77e80f8063299ee26a9a36aae9594536b7b3d3ab2fa8df3dfd7e4380eabec23ea09b046d9bd07a11f084107bb6caeaf32559685611791912513f50b0fca6bbc37f93b4c0048a41758228539e0\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 7a21f13f8af98f47bd62b03985a2e91ffb3c7c3a5af6ec75c2269e3ab11d859cd45a214b48310c7fd7983c8577d839cf63d3c3815302ea649a17f813d6cdc75803a6caf2195fe17a5e84d8a59eac0651232dc793d9b7554eb1123e3594e1f6a57a72e2bfa6b1ed9f1f9a6168aaa83ba2d8b408f3c709354a278b991751207075e7e5548f0c0f764d58775db3143191a210e702b69dfa8d8946b1a65d67b3da6f3451f70a65d29314ce5b7ff13b95cf7ae68854f586140d97a0e9de4ede07be81fe20a5b6330bd9c63f15a3d4904b3a4596951ef5c591007ee2f6ff94fa90abd1093d4dec45a9904eb656713a110faaeec429fea9d1b8c47133787ff6aad3f938\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a7db33f68fd972b3e122e2dc8c749561d14e513e7df9b03f285422015879de35021689bccca37b31aa7d156f39399063a06fc9590c58cee25d83e1debe90037a8713eb0c58194e7b54ddaa86baa0e9f83b604afb5585aa1e1a45fe24f38576e644eedbbb86f57031cb43f3ef1428a33998c1decf44011b63763e47d2b2fbdaa90deae270455607b928645b3f5ac39553feab8f5115c9e2f26497155076c13d76d95af3ef342bd1828e382949a63c54cd0d4c4c53cb00ff4b8e285034e78ee0f7dccf9017839c189ccb3bb8b92f515beb63345c9973e77dfb388b373b8076578e41aa3bf3e86bbd4e1875996ad19c8d618c8d69f4eb06b4103cceb2b8ccbd8a58\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 72eeb72c3c87040a35b98244d6d93cd309b65bcc793bf9b10d5f7501bcc4dd8030eea73c4670de7ed9605b3210dee4e53e758fe7741c6410dcdda4769df6351ee82380b5b2387c1cc8935a60d58408fa1a51b485949e0a4d4a82a27e8b2265ee634815b8fbe3778a00fcdef0201179bc4999ae16e1849027ecf92d53f53ae3e04c9d7a39e71f9be774036d40d38777fd6e115d0bb7d8b538e57cbf16bb4d5748ffac01e1b20347bd688b0b45448fb5028fdeaa190e3c288df6dae55ad078b50cd64adc36d471f0c31b574fe86680afac6a61ea7c2fa5942687e1a4027833655f88a123b50e7ccafb7cbb73c8ebcee7f915258b8ebc47a792832242176e2713ca\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = c280a6067d62ed84b0f9f44bfb322bad0ed92fd26f5c8ec7e91d9a115eec2dd6f5a589c124b50b732bc5f4e382ad344a3498ba280d70a8e7beb9759972fe31da8ba57b29a13c17004e4336207109385a5e27d53f12abd5bb6059fa917afbd45ca8a4322928cccc776cfbdefd7559eaa86326c21cdd6ae4c40c40b1659016520e5d34b1b63b7cf744a37bb795ffb86d853dec82a7c2c57ec5b14f68535c12279841fccacb94b35049a5feed59496db1ed372f968a4de1d70dd98c64e3e17e541d0fcc971a735cc610b9504680cb615301440cb211a73b6bb9355a677be77de6330dbdebcf6abf3ca83d457dbb951f3189d017022c354d08fd7a5d0f8f63aac308\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bb7d11eff4ebfc47082969640c3883ae3b2a95efc08f0a4c4cd59c61fa5f15e1235a3e53a9653186f09c21e11757a016a671db51ab597959a437f26dd1f864ab7c67306fbc578dcf614c304f8ebf6b745967c71b8093485f74348f81865bcbadb39075497e1ed9de3f9e21209d21ce609d2d11c3fe837dc7381ef8aebf4680e680276cfcca5506d3c1eb5fce1655b566ed63cfa69e4e186140580ec9c7a51aab286a54fb674cbc1b527ef6d778ad228109a93ec4a7dd39c30c5879e2517a540ce7c0f4989b7a930899c1ff51143e7d2d3802c2328000331b9c6e9c887fe8242d2dfbff5f828f604050268c450d74779f8a512dd0632b90c9b5870c541b45d163\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4988c316c1057404e4b0b1aa3d0aa039e0b4dee3917449c0cb816c7d738db50c5e62275770f2ac0372fa84e88a20a23b9c36970c6065c599ab4c23b5b28d260e95b7f020d760e7b7e00f0e7f7bba51ba104ef62205fafc6226c95c0f483486980eb163497d7c33aa1b856ff77bc1dcf94c57442edd91923417afa48fe718285f358a24bc7bba48707155e41145d16d9e37a12b8821ff29c581dbb2f3fb64172633c6d7c1ff6b78debd5fa8faa4623fa3fa93352834c7948f7b68311fd8f2189e54420d73dd5190ab34dc3a8efc9bb7787603f6030f0ea2eca2aa7e87c4373c9b0b3c8d9fe16afa3922639501b62459c34012313c160c8707f740330870ac2273\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8f9a07ec03306424540f913dfd03eff0567cd419dbc5be4a28b3dfae5de126a01d1fe4c6147aa4f1a2f57fd50be2566ef8ef52ad8ff816abb114060d6efcfa64abb0864e613907ee142a4f96d965b3aeacc6c870bdfc316c72d43a5c9172fd2a5ba0de6c521fd82023c511c40700f7b7651e8e98a0a20d84f7be365ee540a403c9afc6087dd5ae8473006fe4203a790db4723520be38fa3b9247075c93e6b5499fe8ab997c7267e495d1a99d5865333acda265c02569040787d5aed0bd4e492e3f76605120bd41840473da0e4fe1a388cadca7b4d543f5beec4be9c3fbccd0442dd0b11f9d79c6e910177aa1c997028d675980c439e61571011ff9b26818a69c\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 22f3151da8a6c4d0b32ed9d6fc8fe090e218f18289b5a7d780b9cd78618f57415b49ed7a2ad1064cbeb8a20dcca021cff65e5d51a6d662f947dd2286e4734ea6923ff40acd41cbe4e6b33e4661966a8de0673e59958f71fdc191b24a9ca7b08a78bc318de1330ec7025f526cc6704faa7923c042e561f83719a7edcae9a3cc6ecd91d86a94416d2ef60ab3e74e1f587c0b5c26fbc4e2f67983d4845f907e58866936c80b3159d352383d1deffbb9bbd67a2eabdcc43450ebfda73495618c6b5b8093d49e1c0c32445f5e945227de1e8ce1cec611cbee43cd6956944d6554b5e120ff63899755836df131feba79d7fb06fc3a3b0feda121243ee00cf8965d4acf\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = ae0ea39ab7ce7af3075d67f8edd5862508eff6170b43c02e4f592c9101a7da1dd7ef2e4be53ba3449dd6c2a6c1837884f12fa29dbe8e9d40c677d1edb6122f61205b203ab0f342f21ef8cd45839b9fe9f61738e7ed0915ff398a679a983124009fd37fd5bc9891d33f4830aa6f89cf30b59dc3d84cf955ef960a0980f524c686cc8123dcff7bb9dc7e7e1bfb3585bec3aafacd5a0c7ba63f6af332dcd1b5215f95f06d2307cd75dbafff2ac5cdcf4587a68eab0d3d277ac6e999ede44a551a0d266f9358074715931a7787f4ca26a94ece1c963a96f6558a6c8611fef31a5d459635bc2781ecb35e75837829864001074dd585d70b7e5fa6abe2a6e28b67d48a\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = ae177278bf000f22063be4bbe62c28840bf0d293096cdbda95eb2794930c96544817c7af9e92f22dc81ef2b64f43fc50243ac91a99ff41d05a5e38005a32c519473de62f05a5250643412d6339b44fcc3ff2eb671da073ef72832cd9a4e892fa67c59f8dbdb1b5564f1c8b93ec9e9a1080670e649450b006afac18937a62142e2041cc5394f87325e723fee67bea8385eb8847058fc56bad33419314e4097852994286c2094e4d0360870aee0a6fa2a3823d27eb3650e727845df9dc1af0e475a8325cb9a39f0a9ebb2104a3b66214a7cc02b2ad3be12f91fa434553927dac42aec55b8fe2b5230b0951d738b42b73063b97eb6cf1fbebf76f5f7f5619c730c1\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 1037912266d26bbb66bc872403272075ebc3c0352ee5201b189db701f64ef193dc2facec45af460a38b8d2a71d1ccb17dd0f8532bd87e5d7f6b8e1414367b5128e3f6035b26054d3331ece1f926c2685f5c286ad0befce4be76df6c26bae8a6df520ad073a058eedaff3d5fc6906e8e1c864d5b989ce9319e87fb121623a27432e2c06e936d151b7657d6500a08e8a3c71a0b491cd3908811b18d00add825f848d6a0290f4c0ee2e289274cbac8c8ee00168631d43e7e637609444c18aa4cc0a887bc104d6ec9f699119840a99a9e6b7ee3dec0d0b4a1f6a1e022a44721066b0fbd6a7c6b4f51401036e755924845bc94de315f494c5c19901b23e62e9db6aef\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 47fc62936a9113548699f3133f7252e4d2b060969d2a992e4e83e2cc6330f4d3c9e5cc2005ab49f26cebe2834b7febf478cd01d0338a56f262955f61c70bf662a55ecb8848374f38bbb16b0b25bc012197e2b92d62b5c38bc7b2b570b376f6aaab95a134cf6d0805f3e5823bfbc5f57b69cd84fc103d7f3fd7f87186a08dade4522cd32a7cca292d25c02c90ea0a44f6c38c13eb58b71a54b58e42f17245f1881087d32df31be3e83a2716ff9487e3b389e2398d79ed80c0cb355322358bd908d397b7365185ec4f55a50a5879bfa87e248d31a6ff51617b282dd2c07e228510790babe57b466e5d7e7ea6491dd720e98c77124354b3e544d064895ac845c35f\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 389f60a3f7e33801cc6067cae353b16263aa75279d0cfed16c122b4ed81350538039fe7f43859a1f76bff62b613bc8abbac257ee6eb3e5088e6ec33815281d6f6702f05ff75f2c6260c8791e43dc168f69eedf1d33d42fa5da0ddc9d2f071ab3f9dc0654ff1a3db8c855cdd9941e6c6609aa29d69f6b1b1254c3437196fa871f443fed2b2beb113257da4bde8aa7bf232fd9c0ae7e7419bf977f14c4f2c4d128e5f79f6f5c63939e7fcec231ba64145f8fcf6f43b821b41776811a848d613b5da4cb8418a1a95402c3ee5bd7195666e8d5b13f12b08cbd730938c7ddea9d65ca45683e9de28d618af1b618aa0bc88e3d1db4521dd069be105b3145e54004eccc\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7528546f84b9a056e49a848644d876452449b0e228681cf1a83c82aed6d1d68da0da6b880e31d71eeadd4ff2f59cd55340d63", + "0c6c548b4b9c600de0cc4b18d0e6144a5a294216e4c9901250ec8a6897eb39517212fcb0ba823ed763427e477308194927c7ceef49c440c690f5ed33375cf29d697da0fec04e4bcb0d2bd0f52a3bcd209218605eec678ad665e8adc2ba55caf883d14fc6cedb87634a36b0fb6019849693fe47b0e5ab62bfee78b415397887cc3ab293b170b5cb4217f912e13ffaa27f8ae6bdd4210dffa0179d723a53ecf6d4996992ea0ac9ed6b10064bc793256bfb4ac5aab69858d9ec4cf9bcf13c1bca969831639fe8bc372ca67b7603fd4\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = a736d77611787cfc46ef5e49ca0d39f9a1249326fa77b50e024c657c791da09ea1d363657fb7b9d5978dd9b75a2b7593528e3c19e6e41abbe0e71273cda50382921ec6b366b07f0edc0aedb048484d51b603d062aaa18c404d6bdbd61a7bdbcb32e917a79bd95799cdf43a992ee3d93193f9a20fd113cbe168df7f884067825b79fa73c72b9168f7b83002096fdaf613919ecc40422317fd14b5ef8d2561639a3bcab462c3ef8e0f59929c43e23cf21911be969afe3548c1b449baeab90a8f6b52be5f6cfe47b941a625d4020785e8180eed315b7a6840986b33b6ad6d519c53179a2c3cb180583808dbd3ab5acd90e4ee01687d0946578ed9d7558ab8de8a8c\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = bea793e3475943e123a0f811de9b3066d85d6cf394e1e8494741d8449ec11eed7b3d796ac69a5a3ee4279362f4a69decdcb1dbf397c7e0e46b9b855feb3b125f3ee8c735f79282a9efd6fb25bef533a9f3641f47d1ee3bd647e4b8e0c1bcb48ca35468302cbb32ece10135a63b4d4e14300d0a30b3eed9412b24139134c84cc2231dcaf505a15ebbb8cdffb96ba06b24f8e85e4274588f20454175752d94b0c71aa8d50a776ad13662c8badce5ba74f4d086aab60f12cfed831ee562d3b9d9bbf4cab8b53071dae0ce35644b425202595f155eed25a8d651349a2dc734130e0bff2f09b12750977fec65c79449b95957e3602104b4b0936d8e41d5fdfd1e2c72\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9740ab49e35c355c40c6eb4839c47c85a27231b2b96133015267e10a7b0f786130308be8255c68584aa3f6d4c1ac2c304130b5bced81ce26cf6a0a0bac293f23b31e2f04f5f91d98ff17750b299dc521cfc946134cfc76ab629f9abf5275739befee3fcc9c217e6e7c81a71dae3cf3407e5362ca0c0db20386ea943466d59ffb9e512022df97d666cb15c35b0d1a0cc532e408727e8f76cf9955587bfc1e327dd5f58d1f7edab6fbc7232d1d2afb9616fb5a5de1795cf6e93896a55285f793edec78ded83560b34b4102f505c4f2ab8f15f603a7fc73b75cbbad2bff29c374fbbd9e1d1a6a1dc10a09140bf0cd5aad2ba8a0926b29b3d830959e6c45e8d8fe32\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b5f76f1fd7a6e786981f7a4fa8430dddd9a27ac86f683d4c7abc383932e57e5b15a30d6efc79cd266acac752fa73ff06e3f2169807133d3f9813932cdb7c83de7e57ee196f1785c12341142cc3af2048ea81b4b265ad16408a764b412b7ad96dd29fbf899d8343b01e74b63faba19c36ec825102941acfdb55f8388e7d429a89a5d10e96e2e612e231f8cd857127f6b19c7766e6d0f79d54e9ef54bcf5bcdb457509154eb5cb0640de286e2d4fcdc6941aa4d97f67fa99a1213deda89c78e5373e40a0fce38e71e57da2030575271012c4fe96eae29f65462ce293943952db34a93abb2719226592cd3c651d3d4ee6a36f8082a3f325290869bc3ca5f02de629\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1c41cc918d7f45458e0bcf5a8e4ba5eecf39beffac05fc670adfca933f8e997061fb546a2faacf4cbc92f7b6da6b7ec97bc142b41f38476458836df716b9b7597072f11848bffaf7ade3871435f2b06fa0baeb08d3be31466d6c10409e3871c92df4a6a5346b5d7c3e82b90539033d170e4950320169c7d9db5159201bb5457e9b3c02c9aa6fbf2b5359f4b657702d37f34bb0ea2841e46c73f6d30ac546c1cc8a83c72319bcabf4ac741a542f2c45fbdbde6f4d8be88906a24efa7f62cd5e7697ef02a76c3fc827c1d2969d8c4ef05658ac4de9ea06dac8c6c0a65bc3d05ae3517428883a0c219084486c8793e2d546be6c8cffe00e07eb7b82a07449c726c4\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 1b80690c323802241d2b9fd1b024571fce1ba770566018753d6434d0927336d9d4441a845d629ca275502d14bf818ae7a58ff7af427c3b8ec88997473537cc564267270bb2be0030e0cd934c417f814091831fcf776331daa9e73b7e426f73f0ca9c1733d015f37cce5893723f1ce9fb2fa0bfc3df6fe7ac28549983fed2f05b70eae4648011da36855f892dc65c06c909ffa179a8950501f4e650fc6a1b05ab988edd59aef685d5b05224445d9603d5b816f1ea3b3743fde547de72f15ca60c305c6f493310d22e84523b036bd71b1fc3e38164ef7b954b0bec028fba60c4720710356d080917c1c5abce6d27d3ff35d63baaf685db37dc76568e3b35147d54\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 596d8e9730030342f72f0a850fa5ef746f63b89a1e0c48b67a817f775ac937454936cd8400653f4d1f82e315597b9e5146ff3fe4f9412f81cf6f8516d9d440c9c01c6a8e0a56838e2a206216b2f3e419e5fcfeaacc7c9be4fffc7586ec21d8bca6b49a2efe44d66266f298a3b70c4310eb22e64366bbd5f324a1c9c667cf0d970ecb37190bf7c98977f180100d3d6c63e3dbfe382e406128eadcbb99e45407a858dc6a443bdfef2c9531bd2461186ce21ed34cf5715b764c5bb4d4cca9fb59c7f90d9f71f43eafbb256906095edc27679b8c752b6232ad374c668d4ef2c55bc6fad362f8538b553ecea8658adf73fbee8c6c47289d9ac5c4471f74847697ed26\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 766027246bf7d6eb5d4a137dfc5d537fe2446156834428d928f6c2c927f8e911fd57db474d55b4e8007a0cc65d40e7f3b13c16ab4c106550e5a89059862a86d95b2de4dae32d29f7fa0ab67bccdb74f90708153e5c726614ac33d61b3ff90c90a2c8b7277dc33e677647cfdd303462ed192c145264f253cfc403bd55a48855ea683b3e0d39b866c9408f149f76beee227a9b22720cb5eafe4ccab94dcda783ce5a15c29905c2d932b57eaf359e1e066ee4e41f97ee2338bd61f01bc0516463a6189cbddbd083e61f82e6ed918942242ca178de8ec45d9c3abbe0d6a621fd395114ec2f53683cfce25c5d5c5758f81bda5f2323c4f5897e7bdb5e0b1c9a2691cd\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 7465093e55ef94f127a95582587d4096c69391e5fd935f9679cd2423d5e4e2edb53e1c6106f12e57fb372f0ad6f0795fc9619651568834be5f78d4614498b79615f894058d5e9be91138895fc5f38f4dea435ee9d8f9a43cf3bd98778b1c6d17ad4285338b26ac1288b97c4b2fd1ad27d02c152f38e2cab73677de734e56e6d48f1cb5c8bb5cdce8597952fb63ab5801d60acde502e5583825173646d4ad4a7f47dfe060eb7eaf34e44a45f621a57c6afe57a4fa2bf785b09f0ccaa2d6179f4169b65bd8d71b1ddb3ec92807708354cb10d10a4f198dcd1eaf8210079b12ec50a0b759e0f32103f46d256156e8635c99c973a03f70f31e32ed7c441dd4d7e36d\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 7925db05fc296b0d369a6695038c4196ef66d47f0a389ea05f0904eb9c048eeb464516de247437b2c8aba8fa6f95b563c982d21f5141505d2676b7691454a5f0c9c9d07d19b81c901b01f9c1cf5bd9b0d5e0b2e244b8475a1931efd5676bc18f84a8bf97031e2fadea1160ed8437c2dfd9a8f7fa918e93dc8803de821a067b0eeda6a6ba7c0a74f403b3fde78b182c7a22b6ca779513e0955a8fcc69d9a6d7d1e7960c032539f17322cc40e8698c146df8448ec2a430203dbe53421f2cf19158bfaba36840a5336a775200395dd1feb4363a4df2d115b6508fb2a52a7e1896a85fc778af2e014d485bd270de8727640d7e878fee0ca41b552241a83c1531fcff\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 7255b2ff2dcd7241daf5c0973f37f460e2ac85bd20d4310c2797f2e263f4f8df1a70eed714bf5fb19ccecd66391abf0d3d6266313cf28b828694ceeb9846e9adaace75f691f9af5818e05fdccb2e2dc0c9cbef64aee2e058a0954ec3ac9d5146073796fee6f1fbaca676a5cb70b00bd0023b7d171e4f79d22d16fa3d6886f7695ebf19ef51d0d6e193ca73939c620c632881a26d61a354184e00e805e20326173fc14f1e0ad0e85c74272138f58345c365e4e46623c624995bda7eb6be14be0d276d6b6ab770b1d1e424aeba562e80bec509fe3c3646f455ad9f3ce1db8f8b923aed9ac89a72505e608f3ec9e58be7bd130e81c1e7d3b0bcfd20bdcda9e0945f\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 9cfcb1b8abbfd5ca02379491ae39e3982ac9fe8bdf9577957ae39cc3b7c82815063a179822657aee3670e4b37436d47d7c24b79f5ac06d14a9ef51d5d48be524d09d1b8068b1af518ec4c80e2da596d9cc5f0fcd261a366ddfb191d0767e02371184ebe7b5999879ca805a79c428315ebc350ebe3d832fa0bca87248be57b1c1ce72df271cd7826888c43dbc4f187640ee5cde3ee3f004b530bfcddfc0eec7884998255351c7cfb7ae5d8356fbce910df9ec471ecfd15c3666b7943ddbbf3c688289ce3375bfa8a0fbf3f6078376c5f310690872c7e608b87b680be66d91630c8f3a71e44906c75560855ef3f341bd8cfcc1e49cbf77b58222ee1288b6979ad5\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 67c3f8293b514637ca21417422cad5f3c5f39fa97cffafd617ac72649a9026047e6d8ad968e48a9523d0883666dcf1d7745e2bca246f01dc285c34b87c10bae061e8e9e9b27c673e43c311bd23531443960f132d78e667ea8d22e118ada4efeb34a84d147b9206a5c462f89c49c34785416575e7ec1d61c0cddcb4aaca309b44cd5a5d0a0266e7dd71171e160b761dc3f12024b2508196caaba0102ae74c7dd1cf1c1f45127cf532f274489e9af63c02b2d5664375faaf1b7ba2b556d46b145c28a8d123b5c88c0151698f7771b790c00c17e75bd63d48406b4b245827364fcafd4fadf605bc5f68a78323d362189ce601a791", + "9e7927e3c62c2149c99025d5b3\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 584ff1c5a6668279b29b0e4a49fd2eb654c7b6466e76501a79cf204540da66e98d74abb67a990140e2c580cc17cb0eb9a0eca5d92f05c742eff0a037e841f22baa1144e2908df2c2dfffd0574eddf71eefa0a6d9eab16d29acba2af2ea9c6b28f9e577cf24e8fd68b160047d01601a407c048a62af4380b2bd300277f3f95531e0c4648567cd043207e8c80fe93a763214ded5c6706fa2617d8e0e6cb27cb2727b966122ee5031197c1c6f3f84ad1139d867f8c770c3dc0de731ed67e3fbed068ff86e39cba44201a309fc75b2f7c7f99e4282f8e1c7376a70198fc8d3564f7d015c7930658456a94f594abfb6eb6c87f41ab340029c57c761f415f5e5faf6b0\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 19ab49725adeffce9e1be9623d1188d5449e62403909441891a6179d5803dc61e3c647858d8db24ab61aa8f1160db289e7ea0787565d28b097ac975e5602f4052b703de1211f112380aa9264180ca1ac117fd21db9c2fe6b32dfa4b9e6fc42a94e5be8700577401b0958888adc4ce5d2720ea79b1e869b42b22e885224fff14de367bd9765e1e426bea325c7ee7982d7d234209e9f07115363fceb459572fb14c9b2c1477d36d687dfb2413fbff70a7edebf86a7bbdb99b1b6de454544597d499b240867d2fb2b5efaeeaa1107ef4fd62f5684c44d1aee075e52b467187c3312e46889edcc39f3e0bd9b57490c98022c89e5f61a2dd5931685e5d5e8fa1cfcce\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 7bac3340b1498d463629f91de4401adc8794d07610b10b81ef8b936e4a1dd4e7753ff7befb08394ec3d2213a969adb00492ef61247fcd77e1bdcc4f5bff41aaf904ac021b194b1b53e8763be5331e71f7d0f30a70b12c5e1f11678767704f925827e90097d8116e3268a67b77ba40b2ce3f29a8027e06d3072accb1638a08d119819350135d7e3713f7366becbba4797b294e7745476b57504a9464cff1d43bd6ac7b9eb17c9017e951684d1d851737a4e0785be8f50e9981af883baef33dd4bfb293d6e86a8ec34582a5508dbf1860ec5906ec9b18b2dd05ec3df360a5a756cd0328d2001e752674cfdb5080371a9bc62a56b3247f900eff0c98b426cd5aab1\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2fdcf46433528f55e55c59db36b48325fb1450446cdf238c5af6edf60d96eab9e0b7e0dd7df8978e61afbbbf98eea261eb18d05c008eb994ad3a4b819d3cdc530bc26cb7e20ae25784fe3b1ec655370bfa5ae8fe9e9a52d4e0d1ea59f579f774df7fcdbb1bb0a46ca9f793bf4955aef584d361c412f488cc4cef9306574dc9c6ab9fd39846b823b4baefa37ed955c882755656c415a4d9c30ffca9da196563154c0935ce0b4445328bd814b2df982312a688faab1b6db92fd6b37d5a55e0af70db5d5cf3e35e5dd626341f53fb3c28514c9c6812f725d5671d9221dce918c397d7484f0a87d884bdb623003bde8eecdcb87aad7227df07b6e738c3db1e46c932\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 671db30f2d644b954f940763486a3153300b841d03f3879e18d4b146c850a998e8bf284ad997b5c1bc91b053be869a93ddc439c1360ac22e54247c770fdead309dc2b8ee1fc192528751ca97c5cba6cd833e65047e1b136b9e16c89d339d1c4611deed08d78a24573506729df3a67ab6273d653341875cb15c4aab9e32685cccd6d73461605f2d397cc7d8249cb374ef065aed42378c939b3875f64f16fd5b59db0158569e6075aadd5206ce7650a0095d3c11312c3e5f21dab98917b59aa5218b69339853e29fd50949fa24302c6475ff232929562f03980606412ba6b58bfe4baacaeeabd8f6cbe807006c5a527f368cc7719788bba8f5e3de908f40d2fb4e\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 02889387aedced02dda2786e1b3229958823fe9784b81f0c19bc61920ba00e34aa392409c582fc9f18dd2db125bd47e25820665a91b4832373588a0d2fecc4dc2921da9860e148896efd00c7525c64fc8defcf53551ef8970662b43cdaf14710055d490c031df27206adbed6b4d2cc5e65200eb3e37eb7b3fe5c8897a2d8f1f1546459f1888752cbab6657bb9931c5dd6cd106c114e9f15aad0898c72eee9209db93e8a3f4ff595778fd0f70e205c1e21cc37f64e741dcc5240d9709115781a17ce1b9474bd96e6bf30e320f95d9cd4f234bbcc7d23f493acb5d0a58dd84e1fb1622c08940fea7f6d1c842a948ebb5f4f478b02e8282dc55e69cf014509fd770\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2b9fe93da30f53e330a798d543fb4e7fa92130388c55091d28e80ca9ef40061026a0138264c8063187e1fa37baf41ae159d1d3899ec9f22a6a37325e807ac8df2486dbee7f287a896e9124df0872a941fa85138333fad7619f010533e817c23dca7e86c7e99c191e3aba443d80e4c80fc45fc0fe53a6e01df3ae620bc6a7121c533091344c52fe496c349eaeadfa63ba22c58a9070f8d4e705dfff90acb355b789115e3c79e8b146587b06b2167a852be4622354152d24a625bd0a176ea2d3a98fecd4f455fc9f2ad3b4b20ed21bfdeeb498d18fded0d4383a9731b9ed2613dfd13aa2e603e9680dcddc3fb5727fd63dc34da27d3a355079adf6ae74f37767a8\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 6461025c5ec1eedde863cae192d8a34596d7d620ac1e14abf94d68ceeab229af5c0b966e70e54cb0257a8e26d60cbfb4f40d3ea675e7aba2ce18f2754a8130a0f38018b6e0349afcf63ad02b7bf75cb370b63f2905f2b5326be8bf74707b69487293fb206d4dff1ee0be775c259bee1d862e821c10afa60c3f6e9c610af5c84cded299daa97652a1614f649a90c188622b501dbcdb3ca4d13e19221899e49579a6c6f36238cb3f3d67d87d2df3b824e64724f8c3b8c2755e7384ba0b7cf31bd1e5ff16cbde4e00e5c5b866702467502ab5c1f226f7e2caca913d993755eeb6289af7b75c9548a28f9d51941c5d62ba37b1c76dceabb705fe0254d1d603f40015\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047b4b63cd0273a80b6162fe1d13a5b92c1f93ea91bae6a3573975e98016c13299e73d8f996f86573e389a8554de79a9dc873bbef1c849b9643f6f75537fdac9e76f07e94f3777f97c2872b351096a67d0ccfb3dd6b415480d55caad089fabfd3a3de04aafb83948734eb9b56ee5aedb66bd539619d9b5e5ab4fd6c94f74ac3d1980ed1e126a7452b4dad5e0caebfbd7d107dd0c3c0ac654fa5808c2e33aa50598334ea2e1743f45ec1f8a037c869d69b8d6aa86d27720ff214b0a6ec8cf5c775fc2ba8148489700db930de18e0fe5d9e7fd8786d604cb7c85cbffe32ea16a749eb31a6ddd24aaef9ae0edda02b0e8f6bbd1124e3befd7ce56351c4f5632e82\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b45aa577e7ee5a6e0b230fb3a2676e47c064c14007ff5d3a56db38ae488e66f260e9c1e9a49d771cdf507ce9cccaf1d5e864f761134444cff79b78ecebb91f60884828df831c38090e718276fb7a57189c978bea9df2e8bf1e9c20dd402ad88e1e08dcd2036821cf47efb29ae10a7507c9d4d6c6bb902230ff99619e9ee4058bc360143db9da02c08a6fcc9e4fa2e068ae4184a166a64f817e1c5e6ef786ce0eee5712dec4c604588d6f907b4fe8a43a7c0a01257566f93b461c8fc5ffa4d55913185979e93fbea0263cbf99d6af7e4873a57da09803fc435cb233aad7b2b1491fc9a123be89378b4fbeed3f55071f96fd9aea7286625769b18a982c8c3a3887\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 090dad9560cbeaaef4a311285473f5cfaa4a264bb685d583f50c4b2c13025ac22959e81fb3b253a0e20199e8ec0c50a554675df9846ee579de3e40e72fc4dacff0f847d26155e2c0c42dac136c2ff5f427c63228342c56cc4f56e588dc4d676fbda7d15f59b30197e21feceea75b205d01c29e691a840e884a2a6b6d2042367932c2f71b42ac28f685bfe80868956fba265bdb96a6c8bd101886f7bc6b92111e2d5942b25f3660cdcd0254f09920ea4fae54e40862d7a71be42a2922f8dfc708c1ad4734e6d3452c902da9ff7c9b653ff5ee152fbe0b039f3b1f1a4b125f4a1162d12ae067d614f6b6cb46504dfaa78535c1f5705b4094176a1f968b4f4726be\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3327d0e8a13c15a84b8e77bb0b6aaa8c437a7b52bb793d00a992612fdbf9dd30721884fa7d96d614266d5667cd4f04e665b2d9fdc07c74aa239d523c01397043176ee4fd4fe542198c4ca9575922a629f6ee6f5d23fe57a7dbc060ef98425e2d0c7a368d2dc3126410233a77f2e9aeb8e0ecd99149bb55b4fbba4b49d968d266aae48d88539cbf64ed738c834b682b1960a13640afda6b760076dc84f059f4f4416aeb62b5311dfb900ff945d7f4b597657d6fd0ff16741031bb36c892e403831d99c250c66f54ac34db3f548029ef2443469209e9f36d7fe6f79af249cbd56b30b767ce09dee699cc5903bce7905878db7e62cf9cb0a0e889152e8589e24d3e\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 54cacd037a775ea0004e41ccbe0779d22926403ac988d1490dee91bcccfa442d509eeaa6f620e09bf9088f42a3d32b7b726be3b4d5e8e9562314ba96a95564ba1684ea4d132f81c14ee67d4383eac8d6ee984ac539030919f81806be095831db118b6821cdf61591517b38e45daba68fe2d1403bbc79ba77d721a9cb45192e28c4292f7ddb61fa3860ed3bbfc53cf5acf6bf9dc01238bee8083a25d93f7959ad931d1f47390d26c3a417eac4b73c48e6536662f41aa8986a65015532d094d85879051611337474abc9e3eaf1c97850e204d298c8c38296d6a5a0058e6114023af7e28ca7fc94eb70a42d37c1ee69775501642bedacb5dde8f7b75ef096fba3e0\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 87493eb1ca944ed8d38710e5231adbc2d21664a963aee4df2fc2573b3839a6daa9269dad4d1eff34ab00931d2e4cc939004ddc429b0c780ba2eaa3e937641468fc3455490906c5c0ecb3c488d3f69a5e2ddb29076a2e2abe36a9542e9b9920db662dea73c1818a71b9299f8e26504a8e2e81e87e713100feb5c75c3b222090987fbe851d53595648fff3490cf6e1b978753ed6250dcb3aabb5498708c2555db98ea4adce3b2a0cff130f38839669eb", + "acc6bf86a177804bbd93155c71f6a754e41e731bc67142488cff417aa2d4d5232eec0e55590e6fb4dd9b22d23803941b922e31b70f2d9a29a1dea5e356719b9fe15adb9bcea46cd935133e2bacdc635e4f\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6dbbb9ae8b55d0dd42bfd45c8086bb09950143d0c0c10b26d1d3d9005fb48830fcd0d720054638b501a2cd7311db9cf664e6c587688193e0fb62f897b295b051c95dae9054770c5d165e2f37ffe4d2cb7e7763381a69ce7d3e0cf8a1ef95d26da58d03341d7ec73c4f843c4b225531996463986f275f9fa7fc18036f69e4e3c3ae3d122c6f035f9a36b7e36e5a6ec811d4791fe7bb603fea4cfcc13044c484431954fcc61c2d103b302698c6470d6a8ae181060d02ee36c7104b6984288718eabceb2c52c36992503fa035c7bf4e37c468fc5783b33d1bcfadfdfd2b04d4db985a4159f7bf08d3a50fe23c1bd4bccecc79ecabd3e0271574531e93f11ae38ef2\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 4aeb1e493470a207c0ba34de3a752639557db9d7e86424a3852c927d5ec5f384591c0440b55ae33db33b1c3380c96f72d94a93760155a259abc7ac068d86c44285cf3280f75087c5bab487539c002b933638a7851fa491366e89e8c33d27a6ba8c3bd2af0269bafe24abad6d57c86c5c70f61ed0b3a35594a73322997c49ac194eae12e00e7f5a332146786992c431203f836b3ffb1cbd02cea793fb6a133354436d78503e41055714c7cb74351c4d2e51839f42bbfa391ecef0b252e9040454452aafe63b57d4f8c6620cfff49005718454830976fd6dee6cdac55212a4f91082b64f5968f05d405398881e1c27b1d9fab81e63b21725369f1ab7bf29cd3dc9\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5e005e27f9c909819bca7e39bcb9b83725426ee28521807cdd06c42265a4d0eb4a71f8173edf095969e3aaddfb8c431120fb50d5c5edb9c0b136957245593aa255f06ee0119f301f9ebddad5a826c74c6faa8b2807cce226aefa07d0df0e0ebc92f34d42cb2a0e5c44f150bc78c822b2cb3715f9f2f59e3104e199597abd4c54f473e5a5260da3b826e769b2b0ea0f086c397fab96c727a22bd2758ac1e180e1ce18d0be398e640994b144504f4910f2f437eeb52e597abd1106ebd80cccda505066f884bfe991200b88b6816a80d8a5dd1feced5622c73e1f3964b0148a17bf0e326719d71c8f15189ff676ac154b5c41f787a11443de0e2a953e0a0cc1e937\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 7e9e9ae62b8e55e530a179b44e1dc4b2c8ecf08c8f7461bacf03fd78aaccf5ec7168220785969614bb84b44fe5464bccd6ed1073785c8a51d3bb61fe0161d335119ee807298ed0eafe9e248adfdd90ed3e5b5b107db429765da0246c669f65f283c81ca959caee80624deaf312702f407dbc7b4c856b6b28e64f9cd385c5150ceab551f1f17b245915d25795592c2b2486ef2e0095b71413ad195c10c76cb816cd96fd091327821dc40c9ad0b4190c7ba912514d51b8c1191b8b81b7a318d435bd97e50c9c0e459a874230e99c66ec5fd5d9f4af360c744463ca2925df12a47fd76592927d55eaf60014d652527649749509ed6ae24d554cf31b0c3fec8f944a\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 45ac5b2611957ad7f3949c0f86abe649e3b6b08aebf3ead9df022741b87c09ab969bff2827fc96ab1f569463e889e2c42e37718b9ccef9670ed736d90a6b07915070f60bba52c53a1c8e4b56940ffcf628184d410da6e413ff905dba8f38813dda5de7d7aaac84794edd80bb597106f239d1f976203c704abc66bcfe04518bc759c8d40a6866c41f56d17a29c81871968ed7e591f0b0deab4570d2c8c12d6bf815acc3f4e281280e2251195b85d2e8713ab632018b1991e381dbd9c750f6938062460f79bb88793e7ac132219c426d39dd6cc691f5c081d705f13e66df9a4b51862d83e1a5add751dd85ef883db58fe7ddf8a501b4449fd5cbc9c6c1b14b102c\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 22fa9a0051d15ecc5bece4d6ebed89856e69d8142ffe9a5f033dbb1ad51be298d41706fcf15cae260262f41c847e8685126d300a7da7346c6a27f96f4a72f55fd49d71291ebdf56b3bd6c89ee3cc2583f6e437edea19858eb9c086e248c6ccd5f2ad5eeefd907900047152ed760a5a6f4427cb7c3348c62a4aff532836545a9f98eca5862afe03e1bc4ba9ee7134c8cbe30471331f90da43955b3d25db691268afdf18bbe76030e276128b94e6937e1a14b8af87f4e9de84fd0a38a19d86fda4bb952b7b8b11421c2fe700fc58902a8938d6918f5fb5936889891ffc88a8e6996d39af02c21c4ba9b75c8c0ed1b38596c0a8c271d1b598248c15cb27a31f9402\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 97628cf0b4a0b2d52849a51742d35739731c3572082681d8f4a6a5e3db87a9c5af93fac70109aba06f9befed48f069e1db2bf39e5b5645860875ac5c1c09e4beab0793f40c3072634a1f0ebf121d957e4ebeb92b5cb2b42c387b6d2a31612570c902fccd03c47d7ea38062905c2f8ec457d989833d6fc506785a3d86f6b077ef9ea454fa1dc2f8f6ebab997aeeb5c5a275fad733e28fd5f43c44c46658a7193bba88d1e2bc515740c1c9804524296be7321768fdb0879c6564885b628cf3b7288caffb1d038d446b6e8384b94f6fc14e5d7d51f07468d4356a9ed16c7f7fa1ee899ba579f09d65ad7c5e77311287912d9069ff93eb05297f8d24d7a7e37194c5\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6e31f57bd445e460399878f65fd7ded779319a738c1577248bd2a35e3c6e527a51cf920fc367beda727bd540beab689f0d1f82982f6d5c22a44bedcd1fdd0bd8980a09e4673110dc4ccb696973110a428c978f9f73a96ae984d8a3546e0acdf68bf6cbba4d8436717c5c4f136f8640a2ebc5b0596d2ffd677bd80df4fae538ba27c838b76e4eebd2449bbaed35bc66e2dbbd9dc591086af4ec86d66cc2185ec871e9964ecdbfcc4dcac7ac23642f688dc67ce1391174e7158b06afb5f4b86e0b86ba9dea277840b1076e9a71ed9385af6edfa71cdf8c24a960d5d3e0938b75f15a68bc5110b2c6d2785c1eef49e1308d47d70daf8df22838fc4adec798a322b8\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a6038ff3fc350ac0c54bf0a0724734565afa24e28f119245df0fd0d64780d9a814461629f41c8df83bbd3d1a2af15ea3a6a80999a10482478ec77f141a97a6fae9c58b0984683e7695a6a0353a5ffa8cd1ed4c6f5a0ba56d1351f9b26c943f63043ee71323124de90d2cccfa39d14dc269fbfce545188489c4a15bede668855a81caf4e2ec544f27862633d1e5275e012ce91d80289988d6fa7792011a20e1081d994f21986d8aa72d2514f5c9baa1b8fec3b543e4e2b32d95203f274740e7ef56c3721884897af0b41116dc06ae3d7bcfe7656b333995158797091e20453eaf8da37f20fa52e234ebac3567b736053b211cbc73c8f4e753f000c823c84742ef\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1c2a1a28043403ab356f34272b37838011442562695e66e8af127ee75b71ac0f3dd40d60f0a62331e8454f3a422090c24209201a954227cd06eabc05d605f7d6e44a97044e61b9aa40aade2e37611dbe470a043f0df3ebf6c54f715b89dcd88c63adb710386a839308fa1f71abfafa56a9fe678c7d2652e4aac60884cf54b14376d3be85aeb8212888f372d5800f5f25c1bd894aa460905b5151cc712bb3792a0d1b1b85519234b169354f2ed16b3e1beaa7a9da7dd574e1b28a993b4f9d3bf32854ca4881bb1379b11473268bab5919ea3323ed95104049197d9095947433e9356ab2d4800e20fd54999185ae51cb25a50dfd799b9ec575e73d411f373d96e2\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 6efa13c513d0ad3fd5e633e565837e59ae8355453697efbf04256bc76010a09fd257488df9d8cef8d78b2e5819182119092fd483e601a8c4d984cb5e8817b798bc70031bd7325be8a7e0b44508a9350ee179a4792b351d370259724e565e60df9b72186ce2800c4e79511767f66aa84cdcf70e646065c942c9fa2dffb16b0d819dc861cb16a52ef1d5f36833a8a9312189898b142426bace8bc631b1b74c96d03669eb92f1ae83fde6bd1f7db7e94a93d117e21f1368539c3348165a0126fe08a60b8f170455d67cae0c1c5e651a635392ad1818d51412a6b6f958a5a80553f8cdb4be940f78a3366e360cb3edef88419571f0b5ec1f1b5829e5584c2c3d6195\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 647d39715b34361190bd842b775e7b53052b72f9e85a0de8be0436a2a61ab402237cbb85de1466e702562ed04084366d662db011aac0dbace307078ffbba1b3a37495fe6e604fb5bde54ee9afb15f45308a9a3af51f6c8e79ba69935635360cafec26986d339ab8641a1bff1f1af0c1196919ad4d0c9bfc7ae3e43296c04fd5e353ea5f754149cd618172558263d3f17cb6182befe4c40816be06045e5428da0ec1c3aeb71460802485b390b350b37b8ae1264ceaba74b21c052c295e36068e685cf9601673baa2d935ad3e323000b3397bddf91e64ace3669dce6c704e65142773a27c5a07eaf74e850bd72b9cc464dfc5daa8b6c396d0add2937bce611beb0\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 7f8f298c1628a3d42d4a60d93d269d2bdd2aec2b894aff12cb2cc2edef41b4b814622e0afb0f893327e157bca9ac0edfd1b76eedeeda70c0a0c2e8eb85f2098bf9808a0a4e9ae4c738c8f721ce33452c68d0d06ab22184af90bbca42000a90dcf5e3228722db3a206bf2cc6e31c90f1ef233898acc957433760f380137586415056467d43900a7c21d25fa20253b37d7288eb88a9348343b985409843d6491a9e12ee6907233cd83cf8b5b6b45fd22f4b5bbbbbeb152b44e22c3e03c8c18dc608cb5ec6643c17f9165eec5b8135d14bc16a0e70edb5daa70a2d50991040de1f0cf4382ecbded2e6adf8ea5acea034ab00c33b1eaf0f6ab10f62dd30406d83667\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = b0b831b5ee661f4eb43b906a2f9ee652f7f0a4346a9e4049555d8bda185e195d8af881f2e36304c8b66abf5f8f030cc0b7ffcfcfd67fefd5e7efdfcd8caeb1daf441f834004a610f091ca2f8c974d51a0b7ca76563927f19d0e120a90393ddd6f999dddd766d2435ca3e526247cb2b649d4ca13d43d898369730c6fa7fba937a274721d21e2e0578f4af4824d0", + "cdb377e292c6d142c26494cc0474a9da3f57c60eb2bc8900347b4e619bae96eee6489dae5e2b94cef512c9f2e8a17d277e02ed744c71215e21e6d95896a5e10a982b0f35621036308ce9f556726d9a83fbdd3ba6df047e56b4793ecbcfd57db1f08e6323b3d9ffe3111f7bbcebb46eb33694fe\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c16723c96cb88b871f9ec6edf3b008e2d003a8e90b93cb0a1927adbe736a8109cc7bc70f9bc3dfbd656db4fe779167306d97782981d0639252d3b498408357d4ff5828dadf89f4f602462330d4c6fd61d02ba17c39d072a87ab23e926abaae6528c2817faea5c8c02befe96d93bfeb86c5fc0b5ce1c24e3a4986a512f9b935625107165179b53a137b013b0717fd203df902631ebe4331fba1631214f1eac855f50c6a5a59eb8aea944b138dc6c1e92da8cfa514b254aab63395880ec4cb8117779c6a46faf28917fe77c399863598284dc3a5d8671c0d2856dba7791c84b207a2ba18be5d685dfa1b3f9b5582afe9904b2d273113e015b1f4194d3ab070e095\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 4f0248aea56b71437bfcc7bb572c198a4f9f120a8ceb9a0b2fc2e61af786bc447b49b99bab96d009cc6bb8ece7d66f08765439e5fdb4ecb771193bb8b99e20af4435446844252d29e054c0c75fb0baa20760929885575998045dc6840554212ea6d240af67eda477923499f7f5e7d9c3d95d9fc35e40c17e7d5fe22824ec3bcaddfd71744865f775cd7eca63bd615d718518b0ca6c127ed6288b7768445ef8ab6eebf0a3bd0fb5a18e94d28f09e45031c3e3e8c4bc0bd230140de3882959115af01bc6b9efc05554318f733da51f6f9b66c899324eb2a3f21cbfe64e4772889dc5f52dac755d640182a1ead5e0203dfcf1746b64d6d4f4337228698ec757e0f9\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 43a674e2a0fe1adbc05065c7a098244c05581303352a797e003c39309b09d4f4303d1757aae29cb2ef361992c28d955af3e293b98c0c977744971c6996c1dd93f2da8bd46c771885a4634952d0538789406723048454ba3e88d78ff44126eebb0a7d850223a02a64285f678d961b4ea77142bbdb1b708db912425c6f4049de3b75b046463638a6abfc463265494ded66db720adca38aea8f5f03a930ddb784a3731124209ece721904fc66d4983a36f6a4d5adbc109a4d66c7b861ba92fa57f846a811a9a4f56187b507488bd49265cd017ef1721e4decb3b2c66666977b2af010ab1985bb6b8b8322ba564b60052ddde7f106777da138cf0013dae91887d71d\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 91c7ca442c95b09a08ffceccaec1ad24609a1593c2a89dbba9f30de5650ee6d534a9c476251c7a601482ff44531350e87bd070bf8d8d3f716c3dfbd635a0719c5bc2a5f042baa13646266d640b414349f008256aa70a8c4ae0fdb34be64684547548a6794d4cc1677fbaa50eaad7cd5ded53c07a601c65358060423498801ac9d2ea1d227f5467f15accd6efd3662e344a724a5728e651b199fc20cd62c4144e60781b458c06bb1521161527179d8fddf3a2087757a0920dcd2e75f88d831e95b246784c765cd21c6ad698bd059d96aac722a70669a13fd3681da3acc784c79924b9b0e6ef4bce2d9d2dcb994c41443b932bf8e5d15797f846b39924ee6c0658\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2447976e684d4f5d35e1c33ec207f921ff9767732e8864cfbac5da51db7533b11d27c07e96f278979da3a6d3bce53807bbc2449390f5ed40bbb81c7517bebfbdfc3f1c15a3b22a8b2c08cd7efccc90e39c2e001bcf2a58a4e29d38426baf2ee533f1cae67c8c1f4ce24d6505ed9a118cbfb192fc4e378a9b5187615e69296e1bcddab1cf88127f05c29f43606d00ebe259868668708de9f5a9bc51ef0dca83e8d73f0a762015100553a440688feacca6364c4c68226582028eabd275692e133054d2f70d8c4b3cbd2ee69e17a571d6a3473cbb2c3fd8450262981180cd1c81194f09bc7cb3a2f7a949d8c56cf69e13af7d981f170073f2ba8ca55c9d1c9a9343\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 10b900848ec8daf64fc40c57765d01462225893d6e5d46c21a1b7de405fd6fb505b678427a274d1e8954f866f3abc6c7d5ebe78af88de6ad8ae31f42827dc7792b160b70dc4d177e7e4925ba24b75fb19c131d443b0d4f0ef73daba868ac342b79209e313b439d5a18e07e9858fc6ca913fbcd1256397456b47db9d987227d84eccd0df2fc2f4ae8ede958382200dc867731a426c80e83f3eae20134f8ae7254c815b1ed75ef2807938b57993f5597f42a0b6542efaba2f5d3ae6c5035ffdfc9adcac7384e53ec601e8624e3471aa6066796bde6241f9d9fc40af340f6bc6a82e15c338706ac25ea7fcddedbfc0a77a852d1becce0ac8fd7a7ac3f376d2e0b56\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bf524f0f24998c53749025f33201b8270e4800b6798ef21d84f363597299657c49dd6ac74e0500c343b5f5f14d31a422ff44342001f79067ab9d0b0d69b461c687bd4deac90e4300c1bf1f2a809b55fb870d0f52b751c32f0d824e73b82f8186b604af5d5847fb95a4bf4563c65e460ca61913081398d57ad37fd81e652dc13083e9debf8389cdfd564b00398c965ed85cb4f5dc8fd4661215b3a8f7ccfed76eff03085884f08faf20c971032e13483df6ddf78e1bc0c50e77ca69dd678f5e69ef376f206410d9f8336b3789091679e302353362964650593cd1049cd0186dc3ff30cf62f66e3b37f2768e0e5b66d5c7b858e4aac6b53fa727cf42779e0d4ddd\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5d0891ba0fa3e7dd890ca0ba77fdf832819d40b84cc8c90940605893e44aa22aa7780aaa3c7f7696bc3f5a7286c270a6b0cf1b0e370b6ee868cc1139ff412ab28877991d541d227092465e034bec6e3fbce0d763de2e0eb045dff2e52c6bd42b4920f13fccee1cfb25e2f54a8221bd733db7e2577e88477973ebf8d3e3e23b0fa4ca2ee182cf65e2bfd3826d2ac3f34ce5142f949d400ea9f3989f54bc852ac2c37ac4e4bfe934c552ef428925b92d5ea23ee5be3cedf0145735203d4aa28d6fec3889f83482e57d16c15e100f35e9697af561dca27c435ab99c99407eaadf200fb7e8172a85b5ca9e080f290408ff81d79f318540d1ee4138adbe3079fc5c1f\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 7097201c4ea62b8711bb9c5fc1f2f360faa2c1e975622570225cee8df555b46645c4f23de2f6a0a8b018123beb401b0baacdd4f1aaaf8736054ea781ecaabb237d7ed6f0bbbb2da8b8df63f8009440f4829312bb167e035bfbeb39cba467edc1c1bff6d390849046bf89636a87201fab64d04092e13db975bba25736ad560ea297752ed97f67f760acad3e01e5902ed1c768578dcb57c61a17ec1582493ecc6f41c97a439e3fc46ed0954b9b799b88d4f58219f4a1b6515b08c7b5584a0f304f2aab4292dd06f1f616c5a5cd132be50f4519d7d51f0b87e0e0fee39e3ef0e984e9fe489816286108315fd0c19e9fcf2334e00da5334bb7afded2892ff43c04ae\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 2e58069359c7e48521bc0bda40aa98647b81840e82cbe107ef66f1ff6daa1ed22d15c01bd80a39f3bf9f191f5698e1f1dfa43f8c71a4913db2c5186dfa76c405ba83bdfe5011736b6478f598f0f0620987f323b52ff9ea56ca6953a039f44ee0f61c8bbea923978ef1fe2e81ff8066f4dde848035d377f192b5e856539ea875c76df009e1b4c9c3c78ce31b997fe842aa34ff2105ffd54266092f1e8a6c33e4087071072c3f3a19156e1fffb2295fbc741a958559439bf84085bf8641936573576804626734ddd89c889e9ca373c498d84de52bb7a830b4f1c6ba54e66f0869bda2449eba214df065738e823249c0fca1a88236cbcb4381f1cb1930c04f59187\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 7fc58ab285b6bff2af7f3ff1036f4d2fe8483d4c36b89e78b0a39f76719eac94c1a7cd1c44447dd408e201726fc7300459122cbb5ccef288b57d42d6efda841945892bec222a10da5d92854b1a7d86fd1ea6fd25f097a9810e3237d8cd615a3acb7a800876f473f6ff570c41a62bfea8d24b7fd4e2c46c0d4904496e536b0cefa340eafc1828d2a0c872788a1046fbc6150ed9e2d15fac878730d9c5666bdef5d1799d43985e711dae99e19996a199e33766ff4469d6cee3687b6703a4f9a3e70515c0761822efb22bb45292b84e8908103cad9c6bb83437088a137db76ddbec9b5c8c80d68024cdd22f16d3deedefb9da927c478f0755d042b662bb34ffb5a4\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 648115f0266f9c2e9e891088aa19d63b52d0834c367d525b1f904c675e2c20c84c687465119fe51493a0059377239edd310bcdd2265834025ddd7b9299d733dd071b682c301ad304743c2c18fe4b94708917ab131a4900939218715f4d3db8fc9dcb4c7c0af77310cc296502a7682a050d6a8285fcafbc62a8cc28f7f6d404eabe263f9732a4a01060a2c669a3e0b7e17e6da44ab7df25876852de52e43daa09d9438988cf3c5b410dd24f1b72e557f01cd4ff15af5b3ede5d6be6de21b19a945b563ad0b6f169e02ca11a4ca96a80e7d49222f0e4103d19c1862c27a79593e54f97011e67205c5c6b9bf5119b9031d4003be3c17bcd4ad9eaa499f053d92e20\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 0f4df0a0623c2513a39adae1d5719ce01052d7b72cce3f70373d8bfdd0bbd37ad89e512f78a3fe5ed907b77c14db1bf7ce65d5ebd04d48fcb5a3b475d3343bd7b56cb61a7e437d1532bf4b904b874369459327bd0e9150c709421e7bd54fad085324bed49b3da6fd5bafdfccceaa39ddda0c737b5c3e284c2fb2dd31ebc770b257aee15e926280132e698acc60aa2352bb2d27424707c05ec66905a6294cdf70487aab1798179c125381274850a40c118d65acef6fe7f6d561b2a1723d7ee3c20970948452f308a07cf9a7fae33badafc576387fc993cf37e17726b05dc619e35a6a587a81613dd0aac82d9ea503688f9df225253158a629d674f90412285ee9\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 37b22230608119fa91a6c8b10d573e0e9719570cd0e209ab", + "cce67a3b23751617b28518a681ce66ac24f6ef1fcf1f66f3d0e477b85302b0b19852ed3459333511bfe3e589bd567d77e58e411769bbb2ff52c56969cbcddec971520d7461746d1ef920786e099477c33d7584d23334ed21186cc9bcef7edee82790ea1a20f91bc1dd531a9de124437f9f20e6660994b8d0c1b6d60bb7b261dd3d23da6c38115b95af518d12fb24bb930cf2a0378e89bb620c02364f6dd3c0db53526cdc401fcf28975fb4327bd36b1b985d1d8444b7cb63146b907f74a19c96cd3bde356bfee145f25eae40e1b07dadc5b03b3ef7bac252e1197fe64a378de32158bf1abb1b52e0\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 325aa2dfab66503c6bfd45e770465b03ef7492c3f43f4d5169d907fb85b5e6e00947b11c6ba28d1e45ccbd74fdea67552f2e0362035aab025cf583d274377dd837293178c69c97c9f31b61c128fb19f333f72bbe13643cc389d239c393c91bba05dfa0bec8ea8e13deeea943d5fc91e06da014ea5a7b76ff62f9b53d62e6041b0a53c0ae7796dd42666dbe65c12b1b4143b33004cafe7d69ae76a73943c5d41604f0e9185f758021ec71495034711d37d9bcb5cb3aa302b03d36d79e9fe9a8785df1524c2ecbecda6fb7221c8cc89e896db301d572e6cee253beb7311b0b1fcddc33b2bd84d7ce77af9c702b8ea1ab2d405213f08af17f53a95571e95d14b1c0\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = bad07932d5e267ceeabaf78b85715044b99e7a85afaebaf15d2a60c6082c22b1080c663be9544f44f3d70ebb32780465b7a35a3537267f09c65072c1046784c93d90ecba33ddd0399024bc93837e4aa214fa11d258d35c7ac30ce0ec6802554ccaf52b86e20efa055f4c1010ebc3a6cb0b8fc3ad5bda2558554031a7ea9f549b53545b36b658bb3367e93ee619bdfe88e9299fb4f7c6eef5d822c48a227b839f05d23061b2d49481a4a9f164ad3fbbfe2b20806fdaa9e16a465b3e721001002cebb9b9939c605841c831ce785c9c65e866e6c00606518ec08e5598c8b789923c3fdf4ce05524588d3b0b5d9eb56c5de1f20333cfbc7d8e7d43e46f9eef13d6c5\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 66ff77a8056aba526746d6fc1d6962795512f6cecbaaac2197374426b0983eaf78e00dc9a895f202ffe467f9705564acba03d8a5c2722a2d9cb27a59e0ede7f71614b3a03f32bcb4f10ed094d258e7e2c49dbd0aae647c0578bb4071017acd187a684392297dd8b422b5c0e66ca9c6cfc4c3fb52b9a66efee32c1e2c0a217bec3eb030bbe97297f01389ed3b884d7623dbea779d5570327630f4d863071e3d2dc50b5dfd192bffe5b866c3ed7d3442ba282b8d3040654c97d0f89b436576288599845b3801be28b19d27f2052c0cb792104d58f79eb87c43b626ba46ccc9b288bd8a0e09ed974b2eaa6ac148cc97e5154feacb03937db217a1c3e3e8117b5d92\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = b55443ab3d8eeaed33a73c1b2f7874782dba51df091d3a6879b050493c43ef8feaada78c06fb4842c690456f5aae3a81871b6961a097dbbe04f63fda2c5581902a1671fdd82ab35efc35d07af64f9791f99cd31239f070c96b34efdc68bb311ae5398271378d12892d40a54c15d7286dd5ea618567f24bec646afa89dc04a1ea5ee770cea923dbff457d7f2f93f602a287ed7180c0ce6e70cb7f02d1c11fc8f9266980a97e00454f9b93c6a06b8132ed7f6d2255214678f22fa2c0a3719a8ca8e685b4b0bdbe59a890c2e11e5608bd049041834a450f4b6eafc1411536f12adbac2712c048ec11ea556a3bb5c98c1ff72c540fe9a9160b4bb0dbba8c50a38523\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0e063ec0ba113694f86e107a61b79867edb6e40ba1053fb5132fae6a665c042f371b76a24cc37437bedb0835b44ed8f7e910303a565ab6985c3233dfdb59bd29fcd514577243ba437add9a584a22b704086857b92da088ff72f13e4ae29a94ec9c6276967075a8dd7a51cfbca1a70c3d7d624a6f1f9703092740b3d552cca1e3c69850e88b25d0a830cf5ddeab64e8f856daf921ba8692e3e34c362208c4661d171ee9456fd8be4bdf7354cd6ed703366ce369a81a8c445a62641a1e57fc1de6d3cfe2184eeef69473ddfaa556de0270583a84a60ebdff77cd31f73cfdee04362fbabb3320b7e18ac00e298fa9c502236040423a31ede48601df77f26c7f0090\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 8b00079190ec5ddfecf3394edcee7c2c7fcf394ecd185c29509d6818bb7c401040c7ebbbe806c20f2c414b72026dd058a12aaa1a90c6d4254ce2e26f98747778786057086663e3a50397d02887af11694718091b0aaaae6ab79740c8285513f92fab0ae112cc25e739fbf7438e2e48a37a1cc86c4443e5ff53c49258878c2d9f08f322651bbf9030a8563a2993d3e2e663b0d7d8ac2cf871fb67a7a5d9ebafb35dff6329c1929e14a66ec62ef92c3490c1daec8fff67c763b1686fae7c4c79993f9c51659436e989338430f4f772aeeade41f4711802f7b5110379b3f0104ad2c897f182cc148d403955d3212b226e99cb6b4bb9cdf89f43198898b5453a4a91\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 02b469c37056f5f17eef3cd2f3e2bf0c37f0c917f3fd0f5341f610cfc5ebbf425a4950dbc42fa3d2d6499f44c31012b8c8f4d26b6aa20905fc198c9ab2642d8208861a3f363470ee499328521749ac7556c3c9b1604fc17f37f72a732b26c9a7fdd5984ed38065a93954b57238a3a6c3e0fcf8c75f6010c1929a8de5e1fcf4729b9ca804251c0a04f364f4f47a042146d13b1e016b43fbf7bc1193307a864df078dbb60449acc1e9621d14057f579141905c323ee6198e3b63f40d75a78e7adecc4b14e0ba346061bda490258298606bc28e8ef33fa041ee2b0f69080651ec7717ad1ff14f1cdd8435d70abe5363d5e4f320339285916bd84a2ce88f890ad8b9\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0de9009bcfadfba4e031565e32ba542c22d890329905cfd7dc4c46d86d87b992bfe4c91962c96354c5369ae60e1960a9925671d2c41e5da0fee8fac65ae4c72b1d2d3dc8b33aabb5dd656c1652c04faa17af753e9ba332f74e0996666dbf8a0a4e2634f640c9f2b7da64941f6c81aaf9b6fee9434ebdefa89694b378278a5ed71524c20f85e33ba37c15984d5663f0a5733e65be9fab5655bf80d7b92b231dcb4743dde798cbce8a3ff059f70abaed958719f06ea8f55f18f71bbac78447f3e4e775a7ae02676a3cd11b1493ca8715bce0687959b0cd1a9ca8b6a3792f9f6377ed1f488ec8e3ed95f87aa932f79a6412e2cf5a241b24107590a1f1cf3e7c8545\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6a505dc2ab0dd4292cfc68fbff91c28f49d079d02c842db9e9c2078092bbbddac03e8c32efe8b239a5c8570268b86ca1de0dc96c8b550c14f2326c779ab44906c1dae63c3b1c9fc0fbcb03afd7360ea6297b10cdd098131b35ad271aa3b2e39c828ebbdafe97b3dcf12b0c41bfc577fdaa37dad459ffea653dd5bea70abc624fddd856ca9f023116af3eedc18f2747b2e96032253dc194e2e40a4a3257e5c6e210441d31bb826dd70423d12acbac290849ff45dc4ecdcdb07fa9e7f9c3ffacef0800e63979fe70daf04566250860a974eb2297c46d7478108f419055c0223915e8a4d95aa58440e2af3a6ec6d44c157579ad851a53413351c4b8bd5d9201395a\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 60f2f9b066a7329fa2c0e01bfc7d0ce06a77f08fda918703fc56c43e8a4ab058a81a13225af87d7469380fedc9ca5966a29d6631b88b3c1d0b9802f13c4a8c5e3049ec3b3ef4b79b7e03846f96536638a82997d2e55f1c5c3cf5b93685dede69aab95c3ad10ef59f878a69b96ba71421598157048705826c96f6edd6231b4165767d94dd85e68beee6502f0f91a3803e247c22030945ffa665fcc5946d022f938e8973e231be9c81bce34fab30edc9167288bb2bac0fc13f46e3f03d0d76a501b7f4adbee6300c66a13d1918d4fca30e62ebcc16ce97bffa3470929ab65889aabd4b18daece2ede653b85fc070f309cc381365486a36db4b2e85f27c74471507\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 25a236f8161ea633d5e093cddd5fcd0905bc8714e1fd26ac00ba021a8af1612b0f678a9a5e985b32abd3fd7dd711f4eb49dca5421cb728736d074fcda041608ba79efa9fed40ed6d4c0dd0ef4ae6eda4334e374966f079453c755149c7099ede7c54f595c53a83fca7e4f74a546c7259a7f0c62c82005d60cb49a4c0b43f119070aff6429e1f6cb5a7ad9ac34a0863340f8eab186bf4b923d2481c1e830c18933ce28b8b2a847b1d5f515e412bc3e71030d1beb5cb12879c0f7ced790234a3059e3e964b9b17d7129a6c83398f4fbd8c04db7c33879f1475e3d5dfe1d891f1f7134108375c0ade5627c53fc9fafd8a66d2e204fd3ddfdcdcebb6a6d5d6191db4\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7e0fcc77e2df20a7c6d81aa9a8368d017203dcbe8c66169c10db0548f0f0fb3d17889cd4fca9952347dfd9bf9ddac6627dcf4c47856a47f4aa1593e4a4483abed71449ab1cb0475b1d039ce7aacdc803a6f271e89c47adf14a1b14250b4552176ba2d6fb18332ec320725bde4df6c347f3e41a81ac581fe519ee95dee3680a0c638694eab145ac5d463f48876996e4e650c0b677fd926cc093a274506fbefd3fa70423f7e5c970437588c228cf9f0906ed05d707596244d8b85424eda776018dff56ab788c8fce1c1ef1f4507805cf6cb37be6da10904cd24ef8fd658c1b98840ab4d24d6e8cc3c282fb9245b76557a6d5258d8c9f1d973b10e350577a675a3b\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7fced2a61a55dfbcd398dd25ec813c30f176fee22fa5aa0cf832afcb8547c4a73dbb40eb723cc3e8248d3f0d9e395d79dbd82af8be5d7dfea1110394528ab9fe031677bf914225de7b325ea136921eb48c206f681942a5f15287658146b5ec959bf86a4244ce34df1436f900a36ebbf4bd0abc28b1b20d5d560e34b634812f54360316a066c4a4e284bf615e6280251a194eecab697e2d0eb8decaebe574a3e222576d394c0fbaa7f4dd97e1016a3c0ea05efaa50c768310d7e2a375b28d526dfabf2ac989e4693bd5a61ac7bfd53704b8538b1", + "d85fed950ee46adbacf820163e03f71329f4285f74ea05777c53c51a91e1c69f1d3e6f0b34b64df73b1b46005\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 89e1130ad970c6e236c2dc4152c7879aef47c1bfc3ae6401342900cc53f2e1854734194509bf92e5a533724b27d076049d701300e5fd2747d4c7b90b55cfc7110bea516e380f37d9aba8007d942fa504365181a4c9cbbc6ff7fa0c9f7423414b5454e57c225cd4a15f93f1259a8de85d9deba1c722eda75192a080214e1a039d272eb0ae0be72d45b35ff5d61b316a62606a58490d86ab5c1bce3a27a10a5a0fb6d74f169fd0a21d1f841dd564ec0bee3ff6b8be891b91adf4622aaa926a60de08c002d71312a5d2d4d1a7ef45ac892bf0a6fe496fcf3b223bca3de0cdfe52b0885ebe288fe5bbad0c84542cd0ce0446615b604d47ea3b2506030f986d057035\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3a8075727fce3bc85d1b454a9f53f0e6353bc206b8ea30ef8e1354c4420abebb103ad6999184937c412a037c24c84267b198238fd25d55b5a3c27ac7ca221736786b2c4c18139bef13f9ae28792d5f439e9bba6f710e074d16f589f0e2cad2e319a6054fd91de2cbaa657a7c22a34db8561e7d4919e2263f18fb3d176178d711f7f1ed5e0945b5d36456400b7ae43ea4c379916e549221e43a1746424d1dedb0303fdf074c3209d172167a7af1b0a4ec6305decaba57fdb9aedfece4328ae51c2691f578d7e9d2a1c8f4f0fc4626d37a4a1d507766b82f7688f997b991ee4e27dea8631e36d9bdfb24eb5b326b73b793c82e9a0c7f974eeb34843304f000f02d\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 247f0836500c49f74256360eadfa3c00b7220ea7e306a7fc1f5d0fc5a214d47d5c0a03e72a510847516e7c32a72a899b7a0a840094aa557bf0671c6607cb0793d15586004ef95a90f076c27b4c5d9eed04ea3c4a833e05529311189387df81b2d9a17ef5387ec87d6acfaf8c2d2bce866fe324d6cdd9905eda3d63d1083ef75f29d72b005cb073aaf68fee0c9cf1d8c5b639658c49f65d5cf6f9d0b8c485d641ecb4374449bc823d3bea8c3509eb7884ecc275a3e95c72f3ef5dda3b47438a554878c96048d0278c5c44d8fcae61cf69630645aa595636fed3015fa8617dd22a5d36c37f9605c5a4f386cd194942391ce99177e42afc52350656501e8fd08133\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2874dc4e08a70a652af91e419c2379bd874a74ac75e6488653c99f332825dd111d3cb498a34054ea1cfb5588df892a3c34dd04f29665a0c939526591493d536c6f5ab9e72518f3965c6d595cab132060faa67c031c3c5dc16765ccd2e7fbfe5aed4a019500c7d3c06c31b6605e658e6f88b126d2866d78db75917d168836222f7402097bf2349b5c11ee4b7338e97041b168cd2b0a30e7ded7980b7dfc95e55cac2be1f2371d2c69ea025e59d21292903501caf243b30aa30b13e3c65f8f439d63676e5486e1d9c4827bcbadb73bb40810ff8eb6fe8ff5635cf5038a52fb84112806708746041c52f7d27a6bc7ab5f6ec54ce042ed7e6c258df7fce2d00bf3f6\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7ad94d2bb7b43fc3312c4932adb8ac70870be57207411e39174d5b1a8618e94d3369802c8e24ee87e5f0e340bff584f05a4b622835cc75e0ca7a02caaffaa3a7bfc2e6bbf7be33d55807d01c00ce0b3998a1fefa86814651b97399564a862216c57fddda297bfea87aa609dc878e527ba84ef82784f07b37eb7c16b2abb6ed3e7784def03f1623d553697f24b049cb1edbabdf67347983eea902ab3d2cae2d88cdaa98f35dd179d2a6f2617bac5b9694f889cb9a2ac0891db284fe346b5f845adcfd69b76ae7c69d2ff26fedb982815bcbae92a65a5db9dbec68c6ded7dcebea20acb0ade92ad148a66bb2a568bdfb299726f1392345c7138a5629d52a0aced2\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = b46f1ad5f9c3ee1d131cbf92373916b4c45201c02d631be04444bb6892d25371e6c78ff82286e340d1844c0db3ac2bf32f1cddba51096fb6e515eb466fdcfe47ae84b6d5a080e992f1b3149c23bf875b694e9ab0bab8e3c855825c55f8986e58f8d856a0b153145a1b378482b008af81b30ebd73d20cef495f97e548b5367e25d4ae335233b98c051a4531a65dbb2d18241e702643053113810a1a56b9c7e4c7b8e10fde8aa95c0f1bd5088b39b5c45e3393c2cac01365b78a8b455b436805290f1e43ed94873b5e1aed3e6a38dc7459e82a9de9e0095b67af779b5473fdb12dd95491ea7912b5d7271c88ff6fd5a887efb8fff685900d8dcddc031fad7c15ac\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 10791ebd2e8a04cf4d99da2cc43d296e7d2276787d8c0b1cd2628abc74e54c2b88543dc9f1885f2c232be41d8182867a2011e8f28a2d2ebcfb053a31b94eda6974eabb6e8bcb8c273394978a3771bddc8cd21fefe814d32459848ba06672f46c83bba26ce69101c865989d85e5b04d8ca180e1a67ea816594eb71d6536bc57eee88b9ba17b7c3f7b85f905ee1f1dccdd57b1ee6424da71b7e466181befc1e3763d1a367d99a7f2c59939d30a552110f7395750a591b1237e1bfa1845a685aaff44ea7bee45bfbfdfdee6d2e6277a77793e3ef9c5874b5e13ffa9e1725560d5538211fa7bd658f359f085466cd6720093bfa3faecdd137ea0cd0155bf73741044\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = b2a06b54e578326e41c2c7f7071dd8458b5fe9bbc42be12b068fc10ae51dc9daa35ac85239e11c30c5a714c5951d09dcb99cf7b400f7a81274ab4409262b3c9362e735cc1dbaf3f4e7afe32b73894cd3191936339e5cdd78b56eb84d48c78a714af0e710d60ea72199955c5f8e9ee9acbc1492e3c1bc2187ca9f77cebff25444622c28c900f213e97100a0653cf8f6307729ff8ecdca410f30aa8928533a7c6190dfae16f63df83a0461bd72aea5f4200c9a831ceb5b0333f1e5c42805155abbc387b271fc4df2dcd4e0e597f616cdee14d364d9a6dbaf5d145581171367b1db517b9aeda83dd731d36a83b1444ab412d8f0c871f72d01f941c7c68b32006307\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 086b546296bb96a5254a28190b345df408924354f6ebc521e1fbc82cc113e6f2b9a03c1cecda71988665220c65cd269b40a36d452ff08ea2c5f31914a45c038810c0e47171682e53b93996ee958c091eabc84c95530a8707765c1a5a783b3c022648879bd8caa4392139bd7975a2dccf6445c8a2c2ab084e72e87bde250091677522cbe71f9121b80dfb365962f97e6108c4c8449fed8cb87561c9f6178a0b96fc7bbeb105122ffb75ce2fb234919d86bff858abf1ba37c9a3ec886cd0cd228afa01b83857116eab734c46031dc485e503abc1a9f9bfd126c887c528379205aa1c8910c94c0c3a1e4f1fb4a637184aa5d36c474791d37e01981678cc63ec8ab3\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = a4b495fdd1120556d60b01459a7935c6eba0642474447fc76cf0bd691a1cc0170c409a969e3d69907d39c9a67e27acb13fe875136a1f466ea10b6b1d2d5d1b97916359851156d085e785128b0d5bf1484c3a44c0c18cc0799e5e22e1f87f33ef78b89d7a21064dbe26974dce5451e60c5d885806c8126d539b1bfe668600394efdff7b840f07a2c3ef8d15dd2c0624bb6919f1862ad606399c8b94b9a19a5404c9857e029a4c76dc1c02655c037c004885c2c16fc727954d8811ccd726a1a4d9f14b2f5d11feb2169aefb7c32af559fd62220fc652f1fad3c5dfcd0679adfcac20ca484d9847b4f9413b0664b19151e6cb42a1cd7ca54c1e5d8a8ba024a3ae91\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 7ea7ac9d5851bd2e33a6f39ffa512c37eb07944de484f5e000db07e609ff86eb759573949440cdaf4846ed2787137977ba05a17b06761ca658b931089afeacfef78e4e2607a9043253d0c6e9b5a8ea2b176fd3aa835927d4eca9dd2b470296499b8194908c505459d988d492d1290de9a9125d5b73962aa9c139fd18696fc5695d5d852d8afc03ea536f3f77988afa16b44ef9d679bc27e1da7e0673d5d7365a46a3e87bfac629069f820100a13d22aaa88ec010a0b931c9221cbb329b1bf14103ab6623ff7e198d7287c0b11eafdf3bc0aedac23e37f4d97830a0ee3d47cc19c21f13b55d7928ca3baf0c66520069db293f569ff0722fffc9032d4be928bb24\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1342c8de4e6534e10fd55b7a7dbd447d55c79c6318bca69d9f2b30b7bbcee67ba796bd4c38199835c9e0ce6afc0c649c1523a2a14ed9d50f512c4b64eddafd9ecc73b96ad03672feb599b879c4cdc4da4b53606405177aace48dec044f32aa18d23ab3277ee0a99bb87879115832e45eff8d6a653542f879a1c6a79e96eab719b7fcdc19669395ca95df933242ef299942965e2b943c8c5754c6f136535ef76f4b679a693554e8e3bc45af26a4f5ee9f6682734ffb5ef822b62a5e448803b97b7563a0893ec098c0501691b7fe6a9f367cd6cfa9cc8494fe6647f7eefa941f56d14470e5315c9081f3d7a2f5e688ef43d14d1ffc0c189045754d1ec4913a462f\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 5bb15e1401b13223187ec4b9069edc1b7c822f300e09b2c49c8b3a76d6520a0361689e2d5535311beb55fcedd905fa834474dac5d4f8ac7f64ed76e864100dc262abf43c47912f6e1233e8d0a327467ee31c580b42e36c81e6dcde10a5acad83ddc4c72e95bc8ff5d6b3ddfcb06e43cb673c00d855da419d97dc72ac9dc5ba84e59c566925649380c98dc03bdfd94b2178aa5088e4f3a87ab9a9cdd3f6e880329b66940a13336b83746ecc122f711eeb816b460927381bf72367bc4c07529802e083c589ee2d53f84163847cc3da94cbe807b1fc12105f9f1d3e7ade0fbfb86b6e68bb1f67d124aa9c93c76fa6fb95438464173fc154db866e35437f6668f8ec\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = ad644f64d1d3da05772de46bf9e93aa88ba29b1caea1805f4c74335ac9cb8113dfa53fa4e254e6932a3bdee5024f3e4522d0d6354a84b11d8a7dc2d1263009a3ce0b1631229c62c3ec537cf819b052feb88f5aa3cd4901488e1ee51db8332a15eeec5797d450afd5f49bd625e425678c95eccdbf91c24d9824f28258d8edfb4d7af2f3b", + "71d4dd9cc14374069e5d28168c985e1a5485ec7720992fa5cd6c1b8e370ce6c583bd4475304bc2a70e8ffeef40a445cbe9f0d506c3d73814075c9156ae44ef62f2e40a319f5e09e9b39c754325ad59bd81e00bca12efea07c6ce5dda532b9b5c0390db56ff096b73547935f00ac056166f19743a24239b6bd4dc5d38e\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 5666334ec38779802e7c1c18e9b7be98daa86bdbb44b12bcbda7348469fd8a38b18ce25fc6a2e12f84274c23d7d7a4cb9f7b75e17afc5d3221c4224a49e6e32e2079a95e36302ffda163c3eada3aceea77bd75bf57e5cf87071d2b5568204ace66aa58e12bb127b11e9e78fa2a79c7ec738483df8d102db54e9d16ca6de170a5b5adeb9340c5dac1c9c846bb173e056fd5f224619eb043f4916ca1667a11be65811da6c0be2ca2722e858b2ae14c79616e2a558416e1b6de240f8f5dafac00d28f94aac8bbb8661f0f648c5dc001e10488afc6b5cd8604b028faabefbb26fb3813a5f2dcb7adcf01d946bbb17adbebec64ded62962e98fc3931f61ffffbb8258\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3d24d14d20e9adbcac72a678f082bb084fdc4bcd099d8bf85ec7b2cd90ba8d89a056fcfbcfd9e1fd8f4123fd44b8d4074e52ee5ebf3f8b9a016b68743cce84606c09e63ae5106e9e246b54f4e02d0aa3215ba37dbb7e72784215919d24a74d8f057a4d5bcb1df671c898933f32e9cc475401179ea2231c12582ea13a6acca83bce09815ba8f783c80d49d75d610e3584058e67c581cc8c9d268f3b331fc150a436965f5cb4bb9808de727473131aa442c08fa98594441aa3409ef0df3e108a02dfc70f06b9cc89578a0ba0e5cf4bfc65f5778a95bec0d60864c92b8716eeb308077922f7f659b706beb27a0f3b82395c5d4ba8335d67dfca8a186c0563dc37b3\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 202277c26e39060d39753e47c8e93266d73b7af28a7b527c4140258164ccc368de4ed91c5e6dc2a84811da2b9fc76f353bc508740d93f9d81987e3e54d4a42c4389b15a0365dd907f07cd44df04d51fe14d60320cebddd3f68b3eb4b2618b222f6c9afe51646a9992247d74fa5313b5e332802ebe3544ba551af2b89c6860718d97a0d36c9fe132410d6215ee90d28b8ec272fdb332c188eae4ca666090dae19d97784601a4ed1f7390864762693f2e3c68465125340921e6f64319c2aa54d0565b6b34ee935f10e69b77c439ca70b087f8f91d6fc656c8a43f05d9319132a67d26d3dc9db37e78cbb4b92bd6165cf83b94a876b6711aa9e430848b257ad192e\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 38600d6c91ceae4c31e08d7bd27e99f5da851a023eb838266841c2d173eaee4e7f59f1729d11491397bac90137631c14fa8da9f7bbb84e6ee70823b6746dee0eba41e80c25860b62201e1f58bfd4a941f26c8997a1237ad12fb7e3d5f21b65a739f3955a04c76be2352458e3a7b7bb622b135238bb09305e75a068dcc4f5cbbd15690e484176cb07a74333cb401b0975fefe772bb80332025861aff08aae24fe6f58d1f59e02e6af68b0532c7f471ba0e4b5e25ec4b35a38e09dd0202d19512e7e56628377d8fdb45f23694d6846b1d5594c1b8ae858683f3641e4eace65b3996b893b324e8b73ac16f4a9c518ff833848d19aef8d3819835a222112e051436e\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 4416f75cc33c479c6115de4fb437ed353bdfdb231aacd1f4f13b229d7b25f904aa0ead240dca564d9674c6a979ad28244fbf274abc8998461b572901f21e8ab60a6c61ae6d0ea0d5de35a1859a123e8485548aef1833863ca8228aa40ceb202cfee1cb67152a31e4ec8be5d8a24b83846e6f2c05c819d0bc37bffec2933fab9601d072eda2d6f704d80b235ae5b91bb3f4a7173c92e53e144df171e021c4b13889ae0d7d99ae80809c5a6ad173137b21aa545a902f9e5b08e5c09c9bff264c32ea0151eb8a5498a8f582215217c7cfbcaba9ec0f8a3ab1821e0b6cae644d7b487947f33a72d4f050da5f31cd9ee6d18aab50a9abc8a34cc2a6b45e5c23fbd9da\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 911dbd150f8ebe9eed71419dc8f6bf2a09590efebacae72f7e6bfd912280b1dfaa2fa7461502368de5f4c609bc992ab8421c86bed775befea591ddfd9701f6bf46b03c2472a2b802e609bc02707d33105d7a00f3f079c4b3b542b06b6d5cbbef6521fa56119a39e1b0e1b3dd86c0050092275dfdaf13fb3a453332888afeda4c376722d45b71e2dc8ad12610dc1a11cea80cb95855dbe120fde8bfc9d1c13b38684db78d62019a9536932c61f441d9d292f5277f00f7e97fc0a37cc4cc8050318475b0ed5ffddbfcdafbc951da39f317d39284c338be3586e352ca1e382b527e21b08f5ed9ae812af902ff0037f9709c5c792f5f0be243aa89b0fe467a04d72a\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 5d2788622abed2c9d557aa4b66cb8cdb7289f3dadbd6dac50317c9a6103447cc0c333ea9f950a9ace342d82e05f4c88d7eea7dfce425160ec95fe95befedfd8d24b274a887073909272482bd9426ff10805a9d54792dce629f48e1c7f7446b1c1d542180df758dcc2668fe9ba94fe9d347c897725142083f44efe8f41c210ec809e5c96e00848c12e16a1bd792360624028185e597a62f4685e53d831063e4bd6cf50b2600870ee835d9d6067a5d81205cc88d02ebafdb014a80a06d517295b238c13bb0ae31f2fa5f68d14c4bca9015aa122f81d82b9aaccb0cbccca3751ddc8f4cf971190b765ae246bbc10bab538cea8123e81b68d417bb04233eb2b66668\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 1779b32fdaf19771df92f2e365fff5f5c2f432af48f660014ef09b9c01913e5902bc0be92938019502178ca736b46fba68a513a884961ad19ebaee84a977ce11ee4f2fd13d72b611be3e30fa9926d1bab6fdda62aa031d79f18a09b9b3a3bb26a8a368ee42846edc1f85f9023c2190d844042a6cc9e5a1b274fcd075d58ad132fad05fd5e2713d0255625ba0e56ec0d64fa66d5e78fb242af25f12d41180cf2d651ab9c812f683262274426b4a539fc36602860e4b7543878c582ebd641ae31dc2e8ff5de9576e24d878350243120ccf800e608d9bbae41d10b8a1a6c3957529b263c6e80d7c8b54c32b15e3ffcfe85fdfc0df5698fe9d6afc677bafc1e55bd0\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 1a2fe05ff3073be36aeb55e736b7489447f42482f91c7539b9d8ffb27f7dd6d58d1e6274861490f30773b6be750acfbec31e5cab7be070630feaaae2ea35b0cca36c67b544d709fa17de1145489236bbc69fcf3637b1c4c50399e34a5866ccfcc7c572143cad581184eb78fb1e84b9af4075da358ecded93288a609b2d5bf9c159a542fae376e438bb947c8139def481eb308f568345e1a902b433a5766c266b89749bfc4dccafd6b53a8b6c5df1af7eceedcaccd9809d94bacfd82c82a0de376971b6454dcf0dd70a2d94364c73f579b78242967b28bb6e4e08bb1efc47281ced3d0b2d771820336bacbba1388bf73edaf9b140c4eafc18cc16856b78599b63\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 551797652916d3e62a0cd534f4a0e6bd1552d7aa38e94ff522e8b4fb39b6dff8e1698ecef6100b4a2e3d7063ef5abd42ccc0e5c49d26e353a903cd06f8ad3297bcd60a8597afb2d7aaf8b70896f1f3bb1d2953fa76ba3059559cac7e5378fd129ba8bfce5851600abe78aecbbcad2516747c7706bba3c835319b1761e237ff593d8165b5a1f58bfe2d437f1b8230f5bbfe61b3c9eb56c60a19f70816dd3c86e28805823106b3f1798feb36b903e6e52340d559721679bb95700d9969367c50997d6786aa10e7614eee58bd98dad66f81c7084068946b391f08fcf3ed67ff4208080d8b093be71d023fd0d66d7e2af5895f5369ff76493f51ba67712ddb085d42\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 6a9a4de61a2a54615656280ec94cef9204224fc0b4d0ffe5a25177030d7ed597cbe199c18b18667d54830872fa0b2ae363ddd44dd07941268d5760b8808ff87c942287a4e719f7034d223d1baa21f6d88b2fa52fde4cb7abbb84e1e07417792206f70c208bb1c1d767b13b9d675c5756455bc27852c76c1ce924d7e981f2af4e770969ab86e5f01aa3820ffecad848c7be52e85ee19769acf17e0b5117a8a14885a85eebfb63d4294e87a24fc710e8e560d998da812c7de3fa0f531f2af7553f153cfc2780db420c7a17312266eeebb7ec04c0fcaca815f092156cc3bb65bb7d7e1db3b5db955851b3b3415f60ceb487bf74696cca2eba09f2ec9636ca59e390\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3ec47c244218719cd70bcad5ba1deef15fed2dcbcf4073ac3f05cc32750842bb74d6ffd506224b8543d562b2584e944cf4ab855da0e4f3336c97cc4636bddc2eacd66b3398ef48f5fa74054035475526733ed14bfcaedf421c3165e3a40a5abc098136e687bd7c7ea7e935f5940868cbde5efe0b51c99d15d4a64c7e4ae65c16dbeee1322f7cb3bacb4bf2c7c8a2f5bb03e264824de55eb3510338494dcb1513557120adc5150afac38bef002bdddda43b5c14891d4aab66ba50c20e229c2c3e1a10d5f194900abd3c217a7f5e82b9e77d0571589a51e9f56384d67b4865a7031f57a250d765cf19018dcbb335b856e2376c15c1a78f5ab9bb8836b820ec2e4e\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 68f20b149aa70ca60748e1c95b10147093aa384a28148b31799839fd0d087121b236503057fcaf6d1f390cb8ac6fa92a18768c6fd04844db995f073e893f08a86a86d003d508262bf01fca7de1e082ffce53308e6ed5b462211013f151c16a375a342b0c1d2fa607a720242558fa82a403b8443360fc0f1b64e4b7bbbe74b10ebaa715087d71fb4539cd1f5b3a72edeb89235c56018a57e04c5ffa5291cd1346cd7cc0feee2b99a3770031aa4319af0a365ba77978c486ac174009a2d3d97d3a113952eea3a8691dcb4b716460365341256b2dd5c846184656135162f38acdbaf70a4c527ee751f384d91d09ca7b618231edb72cc725a942211b00c58d4ea7e0\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invali", + "d\nsig = 33eb8006069a2d3d63afe5a1eff9118fac6e3556d34bf97431db5518176ffa1d35d61c6010c25980c6df9d9cb0be5a9878c4e79503367bed31ae8a4244562a46f49e6ba7fd780c69b33f776d130f19b609116aab8c917c798024fbe5ffabb33b2048a16a6a72bf189f7dc6a94edc66c82931e02907113fc4e254fe6009ae9a716ae2e5f7d60b1eb2bc8107efada0f3b2a325a6574603f30c2a87b5661e007f07298f0ee74d4f4eb85a0d421fbcd0ad1a33bc5589dd72730df896fc3c3fa8f55353c9e88d58cb258404c28b350acbd17a569418e350436a83cca0a2597aaf6592d5169ba927ba1d687ac70cd225f0c652e10c75ee4cfcb3a03b9d4b205f7c7b4e\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = a1c66b956d58196cfbbf706b8c9df9d9ee4d36a7df18017dc132943ef52dece5d48f83ec06ff011a6917434893c6c112a1ca203eab0b64bc027a390921e1ca8f553352847437b26e3be6dc8a0b9febcb93dc4185c687a2fde4302012b6da58163ed67a842118d6eaf85661702729f3aebdb9641b5f913bc687d0d7f5b1291e137673e88ce5280fc04b993d45cb731e88400f8e5cb1a40e25285881a7b877f75feb17d68218aa5ca4ffdb2318d5e01e3fe8606982fc40fce771f034578bc67972c5ad392e7d3c046d28273696f737320038fb33a7417e6744f17a153b4ec8112838fac3c18ed4fd14159a408befa2a0a39ede900a4952bc2bb163ad90ed961f84\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 13b9208bef3ecc8a4d327a3b6da582c2ca2326f84d233cc41e962333612edd7d2973305619186247279bad6d849d7dc7426477dbb35635b0b843e977cd8540b078dae1dd156644c4b24bb75fa8a8d247f95842483d9ad0274d5d9f7aa29002f93313bbc277b01f1cd0cdbcc9462f8b984ccad2c05e95b50e1dadf8e6c9c26574151e720abb9747e899812bcbc6e43b40a233804a91a6f50420b309d4291e2c2e1250094625d59079fd264fc1930f72fffae6fb2e3378bdf30543985690e61dc4f1262c762881061e59024b2069f53391ca16b215371e6cfaeaff1815fdc6bc1a8b7b53be114e157b6edd2930e0a7bfdb242c8f7a83013ecbb6c583f0a041723a\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4eee2b16048f104753e25236a051720c2d73ef183d70c084e792ad6ed52b0a2535a99c0adee80c59577f2d25d257f790830221711fde591ef71beccd654431a2de33887cb2e2dd4aaf3958806740691448351e5fa44fe869af58bbf15d2f489994c5c3d6b8916c5725b4457a2c7e4764a9043d9455325de8118f9dd60f7988abb3e52c48b40b94d2752f79e203bb75178fad51a0220563d98e798825fdae83f698b8504634c380081179b64042a44f146712203843c7291bce264b64fb3b8ec44854e046c8c4cf5ed786701e2be6bfe8d015826ccc430e79b63e718c8c0ba6ec1cbcdbaa014d5bcb51fe9d74e01890dcf827780a337f495537385311262e9a71\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 459cdcf7a5a6ceb515027f05f54d2457c862d780cb64e502da7a2c4b9eaee3f19391494771811b1d1c60b7aa3343474d16648b85cf30af69203b6ec09f9dbec5942559c8fecfcb08624438415772dc439c62ab785ed2b246644b8f5050a3629a1280de7e5cab55a0b1c22d79cd1a851bff929d393ef521a3bad2f76a8d12435c6c5b83a0bd977d4fcfe3afac7f359cc2e45472adb0fee40aaabc6ffd060963453d96f3f34afd24e95c17cbd222865eec529518746c2815ce6126ec6bd3730e43dc701a26e0c903c51fb5166db09aeb812288ab932cd1ddf42ec17ca2364561267ea4b136198564d768e4da6b19d51f3ca3936451c25e6da102f8c4f10c6ed283\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308be7470d0c265794934b0f211ce54f7d67936b6a1760154d585a1ec6b05da313d942847fd3a1133acb8fb9c5eac471e342755268bfb7f2c762b7d25c4b53855e9bffde4f68460683d2dde2723b0aa5e9705c4cb25bad26bdcea726c9315c2c9341515daa6e12e714c6011eb152a050c903d024ae8e06742c3c8c86612d207f5288093830a83761ee40729ebb2c5dbb0e6e98b785040b1cb3bae9d1463f43e39d752b212aaee52753fdccd6de71eecb17dfe486b296d6c455a17e5718fffaad9e82f999723c8a66d0fd2457c3cf3f1b3df127bd73662651fefdce95f91f1a6ebd370fb2163bca19c9759e7f5901bf177464ffecb8dcd911a4d5ed5d5e7402fb\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 13e9948a6ff7595299ccf4fee8f9bc52ca20d8899844c1fcfffebb64052063bef5d4c03460495a475144a252fbf30f00cf58723dc1d4ea48f6d961bdd20d0fb20ded4c90fa9b0384c0de08a2fd4b7f94c6f66a8f3123fffb296cc430ac962001d0bc7d211a80dda72be7e73b84c8b40dcbb8e84722f19ec21aae93924bd2f5dae584d0082ae6c4c52994a7431ad2ab3c80710b089cb79a884d8b40f7452a1874c9fd2f22cf46fbdaeaf5894efd3b0d96bef147b9d600cd0400412b2b8a5fd939e14516e9c2574e02c6f7e4e8f2a5cb0194a34d64a4c5160c55ff1750c5912107805d2c5767a260be1223bdfdb509f59782570c7ec093d7f19f5cbbaa64cf88ff\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 608ee7dbc573b80a6fe241bfe38854451a25de5ec32bc17b067f9cc9679382c8ebaa5607bd4b9f540046129ff555cc203728551001fd45487edde84a80f6c4b035051553b683881c17ed34bbd1e071f28e73cafb9e679489e5c73b02be7698c733d5a6316735c57a4c38a820987d934c463556183ad25f0d2a69e882acd7ac32cc3fc229e0ff80a1c5002095c417a559f84278dd75098b75370e89ae1c6ba708c453322f9be79e74530b062a098956dc6727a515a5e06c3d528f1a8f46318c561ad68060aa459dbaad3b8d8502fcf8109400dc3f1ab6e2bcd0e03c11d6c659f28953d70a9403c12ab154b054d860e534ac5c322f38685239cd20b367ea6b5c77\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 423e0dd97d9ce8afc746250cdc9d4cae42ec240e53f08a32bdf9028bc5be2d6848ce48e13655f009e719d19a150923c145891fd2ceb63d2ba5540b658c18514f660831cd9fac648a487cf74075116ef2daf99e8c65c5b3acaeac974769dcf693b535377d69e55162b3c77c8bd92e21d874174e44f6e129d217c0aed09894f4cd75c7d370516cff3a588d4c89da64e60ee89abb4cf28ece616335ed3efe4c9d6f1fe5ade4dc1bab24410f48a9eac864699f4d3dd80bdb34c600cb53a4505613245df1e0edddc9a09a4d7dd540c661a5cde0a32ae22ae5dd63bbffd6fdb91f4bda8443cb8f8dc5ddc40d62859e5cf5911c2f843dd62b82f0c1f39e0bf3e8edf094\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 16526d1cb139aedad31a0e397aa3fab0232b3d6432dc7fe1bf223246ea35ca6576c224afdabc95571a57108bcad87faf73136bc694f16f44bac788982382d6c46ab751683a13575f917acfc9830585c9961a61de138bab17171b6c8466fc35065e08a9bc6dcef84e46c37507306d60d855e661db7c41dbe59f3737547063796c618b5c9983726dad445edd1a89a5960758b99058e3fd0159b739649e40e9bf57f39e66f7bf23ef72252079d1527e9099b0f2be56b36c350468202562e33489d1531bc5188640c2d3f4f2745cdd190dd96e3e9e0a578da8132cfaa12ac736c4b5f9a4d6398195a88626f5c38b16016c9e97c2246175f8a1ae5660629e109cf60c\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = c1cd6bdf82c00f4d1ac1bd38ee4ff5929c7651095587293d97f4afe324dfad1c3aa111abafd30cbd4d9d61b68430e9a88e016a85866ae40ac542c2803e0b0959d3a3f1e66b8e79dfc73f69ddfac4c86892c2da5fa2c991ff20cb2630cdd0a8a38d1c4dd3fa623c219ef50430798faad662bc15caed462513ccee3a1aa358d6e55790357fb34221a32796e0c6988dfe18320b3dea14f3423aefe12bc4bf1f78fbcc70a1cc15e8653d6a591bbd662859d81df47bca498e5649c07cebf9cb26d4bffc1ed0aea7059767a6b47dcad293dcd24855afecfdce49e8bc885511e61e754fbb8a6278582bdeca1c04fac5465f15a14d28cae2241a0be7cd662ea87680525d\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 7be6a7fbe11828cbdde67e5e0f2580b09adfe1b81a564875bb522eb59ffef9c3541208e520b4e73b597a30a526dd954272cf936033cf88891b551d1eb9bfa033a1cdcfd0ab8f51cb8503995d18a0acfb644d5ac892f828166ff25b48dc4ebef7acb8aaac10baa402c8db37698f048cf407df57bf27383db2663ae3e208b320f9634af208c23cc23aed64b7a6f3078f4b873113e75457e3f6baf23d3f49ac6cd64a11c90469a6b6fc9837634c72763f0cf35505b88fae96e149a0b87a0c71820c5696fc7a6100138f07e65c40b2384dacb0c8557837d0a5082773a09fb0ea369e7c296cd75a5e8a4dda61de1f923d31e4d8e48783c39d5eced7c7e82a6e36a1e0\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 70a231ac8da499eca0f1f4abf682accffd04f7a611dd850cf5241f13759592877b8d43682a1f84fd01c86247f5fd9fcec98cda26d9845026f15923a16fc6ae438e718159ffe1180df97fd66babacc4b97b156ec6ec500030b0fcb62c52a208cf1ab803a2d8c52be242075cf4f6c84abae285ce2259acd437e7764da25588bc6dd254456158e2ccb9c5f0e89bd899d97621e9c2a6049a60c978428fdbfd7869e3b12aede869d7daf7e3fcff841ad88b6c2be36b7765e3fc24d996e83c592c32fd1c45bfad63acf0bedefd30529dc6f57877ca0c72424474dc7eed3d4f502a45299f14d64f79f3394e00d160c4dc0a05f57664d2cef729b93d37654df8f1cc010c\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2dbcfbd059d95582e3c0bc4b91163fedf41dc471aa1fdaee288eb6aea12cfdc6445ad75dc1906397516180884219116bb4415cbc1a45d08ec53b06f3c823cab4f633ad62d3035a66155a706f36f5899c9ec33ce22cc18028311c121000ccb23f34c4a071a8d296466452453787e7a955c5f83dcb3e0c8adcd58806e4d0fc5c90a18f6b570d007c7b5f6200cc96ee8b78c457fb3be09146ebbf7812a747d7d2aaee76085f6f6a14aa7aa7757b17e1eaac0885b0cb4532f46a4b0d5278966db8", + "4f5d7513cee0e269d32254e9c041bdf77bc4c2a08020f015f19fc4ecc74ddeb0e58c2693e42c554a7aa9c83a97e8851aa408a39725f123b10f47c4a30cddce2fe9\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2675d35e89ae0383be3c9c622c1dff2963444bb319ab7ac8dbda22abb32296c6a5d09419e054a2c8740f79728ed0b1fad7d6213bb7fda21ca739996d97a3d5a21205f13692c4985e360a8297a011432e09c7c4b39816158337319b1704f503b96f3b9b3e270f41a840deda4c869036e456849b8185e03c2d88b6795a397559af36f479d6a5f95b93cf3a87a21307e8bd08b3bab11d0a3fc8342589b0c55093d366af08a3cbc6c0b7d324f09c21670dc50cf1ec1222e41fb114ab4312ec2cd74662a96bd79fba6d6cc9c677f19dca6fdd22d8ea7009fb330844496138f0d119211d9c4dd54f416c6ea0db267ad5077fa1b5aa4fbac15f7f4584922494365b2df9\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3008e12d14734a49882eacf2cf0b9dd3b4c9d3f40ce7e2fa02ec0577e473171b2a54bdcb8b2ce3569bf95034cd27487d8d90f0ec428876dbcc1bc858a97f521a61149bb8009d5a4eddf55c67e268a53fbd381e0b918455ce7b71a0a8663bc16d8fe2812a3951389db9a114339b16a13d54c88fed79a8c83042e3a436bb4488ad1ab501cb878dddf09a2b5a76a5d065b6f2353bd264c12692aa1dcc463afabf760e55f499110352f527fa98c30feea6d5b0591f4c6639716c0134855df6ada769fbbdba68354d364c2c19bad500c00dd53d5950d0344df58f5dae54ac532b5cdbc78cd5b25243378a903b7b5c9c2f03a7aa9e7b3cf5df2a5a0040d0ad993a0e9e\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = c098a958a53b531cf766bcd77119b565fd9e943eceda96bbd5e9a3178bd8b01f71169660ccdaa440d0523c03a455af18b27ec331756281618f9e23c29b088d2d2ffe0854d665279d3cf305d7b1bb5e5d50341460c483831f1712801496371d1b406a14b6317d495a4042c326e21d578bcbad406589a2bdc3fc0b4fd02dcc41c3379513b370b7c3ddf84614ecc4c3bd9e623153447f1b0dfad67f783f30a2e8c0dded1b085530412cb33b785de9b919f7d7971463bc89dd390aa46970df198d2a25d718c8af793cbb28dc0468190e04f0958145a76ab170400fc2ea35f05b20d2f96fe0f4c68031516fad5d850daa1d2dd2ac89a0eababc037619884e87379904\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 64a7a262c21daacd9a5650b5d86e0bdc07ed09fc4a89e4d3fb260cf5f6e2e4ad529982a0e677b37d8d945c0c98a802f10770f6148ec47bda1b59f63229bc81424e3c53ebda28adbeff58b0c59c9f96721c187be69a6c38ae4bbe664c185c297c150ca49a51812720429438e293a646895e4d30bd152097fae13f05a3b63fae91ea15fb556cece63dd9616e9550af7c2f9e9732ac288fd42258c34a48cd22ae389b9f38a9e16528c7d8deca2b11b609af2259393fb28b353f082ee9346a5aa55111c3362cc245bc671704746955f496f58b574fc193be8581a5aa0a7ee333b6d9f049011b306afe9f99d2ad01545f278aa0fe20502077529849c0eac95ad99fb3\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = b5ee078736ce4de46ba4afed67454a5d3133044607ce2a5efc69a20cda031e4418b15de0765c6bdfec1e27577624a8d188d3c6a2942a6e9c77afc4d851ef1c489fd400f19b1da93bccd00c43753638944436b0598efe8aea545bd11391062599e4733ec4fd99cb59b16a57b07d7c63e245b9eaee1aa637195a04c51d8b40b33d00a08419365a69b2611e60430352c4f81eb423670b76c556bf3fafa602a4cf97caa580f646bfe6d795d35c547509705fef5c5198b878c467eddb9552051d9c9eb0e86a28d2e5896adc3048a97c0681048c5654081160b0ce2118570a76c648344dc1948a644b7fb745ee47df6344b22c8969d08442885e101efd5e66a9de17a6\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 7ee548d37ad707c16067c91cd1b3f2d9c212d13c5b228c04b904446aa5d5ec13718c8fb36a698a644437dc0ddf1fa2519deec3316b3703edf450df964242b467b01f4162f555de37b10748dbb26f1424ad671b7aec5821b5a9e14a1c7e321924157beefed43d2effd1128416e93f9a4c676e7c564169ce161cccb4a6bfd000d40ca317beb66905fe2a5d0ceb9b65918070c18cb338dfd2718ffedb160d2dd3f321c025ac8bd8b31fb87408ee0c1100b7ae72c731cf3625601e13d23e6ecac8bd5bd475a37b32fd4e8548a268d7d0df133a4e2c417d124572f6b9e741c4df1dc2c2cd6f660663495d93e1c506310af8dd3cee5c0116702c5d2484ad281c78e7ef\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 00369a147162e880067ff3543d2c4b2572ea1e79629851141e1e1ea5a023bebf1032177cbf07df027b655d617b752075f12276bb40ce958c43c5ff61ad88d6f057b1f38b0a5692b4c8711d886e4608ca76a7e4e30492c37a2590ce8b23a9c78fda60d8254fb4d5dc3356a0c6385fb045e78467c6caa333af9c683504a1c5c40ac7affc005bfa3cf75c4cf9f6dc281e701d18554ec757cd62b5afc3a260ccf19d9047f09044c63bac9d3e90164208b3d69d1862c555fe8bbc916b3410584131ea5f575bb9ce15f17dbeb243764f62288d3f92fb3213d94218c84bef34c97ae2eed3a454a4fec5a69852ab12beee94acf0979a1549d2e975bf176f7bb07494f4a1\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 1e31c9be7dd863bcf2c486c18f350c7caf4a46fd87fec097c492aa0630760a3f8c9aa729cf2d16d1f234090f194f03009bfaf5294006a840f9e6ffb33f3c7c8bd5397dfd1ebdc8d0b755a0699c8cca65fe6127bc0176cb64f658d9ef653c245da12b83669625a585a0afca004bc8450c4e8be8cadc0f7cff7b7a793a4eea7d9334778b6326d404cfe6437dcad120e2a801cb408032e0b617f95cd7af90df1641285b082547c6a55c77b8006c6f575c555ba9445246fd5d9b1fe351deb9be539ee221bfe8a0e1813186f19e420766251cf73028cb70bab2965ccfd67c9a9d8b137045230bd976b666df73489f2af2b5bd1d5e39b1f063a8a93f39ffce0fe69113\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = b6ca1d31f2ebf35e1410304bfb2841bb600d24f234f163cbf2dc907088f43cacdbeabd0ceb585432286947e02edb6b5d04af456b214023c79d22ab7056e674bf6f124653e1adf12be8805158bcbb4aeeaaeac13ca909d89121e278931ab590d7279e1c720809db409bc484b6bd388f759e9581dca851a97767fe4b017534c1986d8066386c8cd49dca14ad0f00a01db076c79414261a97a353f824a7e07a8eea966bfd87b58dfb93ceecc02d159659b9fc035a29391292571ce4defe1e54f4cb37257401b54f560a4601a5fe39c6898a193547eea558bc6e4cc1d675d46b86b38fdf2f629df7d40bf36eb7e4a46e025c298fc582252b2c17ed7300e0ff4b1673\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 6522df9e982d2032265bf683bd586618b9b392d81fde606d9b5f629c170279967455c46e4024b0afe305f245a62cd0460871a6d470bdfbcf0f5296e59ceda6a5444606d7c38491d1ae76ef0f2c26398bbb1850138c8830d1e2baebcb8ae05b81302f490ab08252f2dcb13466437f2b196b4570ea78f34bcf9cb464e5f43dc2e28c3819ef744e5a541254be84f9fda3bf688c7b2181fc5943be1e484f01ce80ec01474e09f55fe6ba54fe92b57613fef41d5d67d4e740229842449e5314125328b6bda2eb3baafb623951ea12b1c4827b2d395b5c470ae83da4af41840dbcf2d0b3eca0403995d0f5644f0f6d9ce5e18338fd097bd0793d60d749dcc431ee429b\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 258f8575c6a1fb31f6979bcbef23df0d12da874a5f12c6d59225dc388582571f30e0585abe7970b0c57b7c4bbf5e41141f9a484a8c01eafcb1b87d612fce7be6a45d7c126e186fcdd108e9b2a55a6f00684c561d486644eaa9653b0f580f05a9876b9d7e7727d82a3e89f9b5bc790939d5546f1404bc34756caca7ca873a9f64fb8ea553dc6c31a61e302bbaa731982b6faf0f44e5fcc1a7aa81a302597901d772bc3b012b2e10eaa3c6f1668d7dc67ac2d0035155c3e32e4db79af54db3ff78683facb523054dc8274f01c0e52f658f62c62a42ee7c05b9426b5a0255689c579aa10875eea16cb14a529bc0e37a17314c37ee81eb99c11f2497e270a9e187fb\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 0e5a02eefe35f7cc3b99aaafe148aa6e904a832f61debe61ab99961df933ba6bfae5010db70671fadf05d7596fbc3a42ba443aca4c046e9dcd46680b16eadb024e822b1c973bffa4a6147c6907e7e5cb5108ed9b710f3a27ad57cd2c69f8c246786d0255159207ea83ec93bd84cdfec3b9d7ad6bbdf3fd35ce4c59f040df0b9f549c03c37e8c9a4a77fa63dc8f0fecae5a4482e766e3e8e7b4509ed700ff3248ed7e2db11c04c8423cbbe86008a194dfd6703c4e172b4eadaf7d179b266e33378809ed389d9cb879d22d9b881442051cbaa5bbb264a3746a15889649af13d3fda9f59ba28aa569bf2a8e79b69881a6abe310d49967edc12207a98431a9c14ab3\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 7d3451b9055c5922fb6956a1296b243f2ab1c3b689fb1619ed07a812414bafe3e41c2b71ccf90ec30a7b7c6cd6499611c3517e0d91cfd832cdeaaf016056fac2b3f458046fb8af03d521d07fc8649ba62331e6ad894d760c78b95c7369c84f68bb573660de2a08500faa131261a81f123de87abc839a8a6720b0ef0edd98113592818e0f027a0e0e5f1d9b6d924949073d5d061296504f4480029cb2422e6505aa119a5006b6b37e68ce866b758366e4ee8b00231f61030e5d221fe26f5ef30084e04c62a7a965cc1903ed0945dffd830607ad579446bb3292d9a84a1c0172486b4554677b64e21bb9a00bb33df7664dedf10b06d7f691ed5b0e9683ec6fe899\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 4a3c11a32aec24532f92b8a4cfa5390ccf67caca60d6d1a5512225b80aa811bc4fba8f323c5d71dc1941a2fe02e97bcee6c7a936ac1f95e7817378eb78a257a25dc9ec3a446503a046fa008df571c53301e8bfca9dd4bb9ccad909a1f1899e4e012246824859306011c9a48d678ebef2398712df229988826cbe91a4580", + "77f6e4f7b9af84d2ae5901d73e7ca778f8e9635b37f57386f146202be3e95f42909840a4348757085c8de8431e4e1c91aa667466d899b1e41e691745d73d1e2fb9968ab197ef1aa97b70dc49c25bcf62bc0746bbd5a97921fe851d96dee01753fdf6272cdd86ae5b7c4b3f9817994f898e2ef39738b52e62e788bc878fb446f1f0f80\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1753bd81f2bccdd8ee330df96e0c03345951b813c551e72dc7d101f16245723df7105b3e815f0e23fd08254158f60a9bff84c8cf5be766d7c150639ed017264d30e568f182c74a7e0d6f6c7d32ebc41d4cff8c09265fe60e8d52f204e6128a57e54a18fb90a587897ed16c50c0b901072f175ebfb20ba3670a5422908043f4e416b5622e02fdcf8d1e632d769d2d1764a537803088921175cc1a7337df11eb006d946576cd08934caab187d71c2184f0502e3827db97976f7485bc34760bee949346d3b3de8ff48642a4ee0ae7f9dd97084ea6f70118e0dc3148a428cdb662b03941f6a505da8a77e00be2013ce2762703c72105885ef2507f9146df1ae15341\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1ef6f0daf2eada9eb09ae8b7aadf70dd9c511eb427d5edf04c62b6584f851e47228f0e7ed71cb7a0a1729b62885380f132f63d54782b4c5981593bb4a270b43b2a93e7cb727e11acb1eb649d8f77d9615751d1de6f9b596071b61c19cea2d3941bbe66ec7bfb2718a16110f90f9b852d0d69ddc67923a9861e51fcd22d9faa859b94feaea5b3339817c9e6c7a6d8b4a907787279e0f82174947db7d110690e0bec1ebd7d4d36dd0c8c67dbd54e95e78d150ef635e7c7b6ebdb443aba2eaed29c1b6cce426dbd86dcca2ad0c217fd4d22b2806176f45bf7873839d4051bb15cf0a3bd29d4e80ab39b3b92a1b2e058cbf3d3bed89a8c688f37812497d37aefbd23\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 3ca8aca6df10b57108c39833e880401c593d24594f3f0b176df9bc948171b84b3d1b80fe11770cc3340cd9d77cf61836f5f3e4ff05b4da313e41fc2dae072adb596d43da649280a85933c7f4044954222f06ef58979e2ad172b8bf4a77729dfa7780adc59a52a255e664a85b1f0412246b0e85721275524197c77e03f7beac12b9a43f3ff633d4458baedc4e6f37ed566ce67cfb4fe392411e086746122e8680e3be330c9ccb2acff91ed8eabec3fc84008d8d3e9a3f8a379f1e5d1923a39ce3ecd69231dda661bad8779ab04dd93872bc3a706408fb5e23a4d375af4637da1dd0437ed9398367e3418972f711021db80ca9eef88823c35ec31cdc1509f8d222\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 0230849ceb04f40b8a6e42546816fbf497fdef532670ca9828fa9f12b127d7a97c5c2c56f95048c11b0c4c0ffdb1bc5af25dabbb09379b707c7b9902f0a730013437e8c5b20690c58a131f77a57320a8258b3df073c63ba75576a552f65f3834bdb7dcc802b4a92dcc81b1e6091cf0f1403fd376cd53ddf62737af6ea847978cd8edf36650ac25cd741c02cc0d1bd503af90ce0b8da6708e8e83ba5cefb28a033b04602999d38acbf03ba0ce675e3ea4833e67ddbed6eea332b6bad6e92973a359e2228cd3020ab4fbfe9056d18470e15a52de034f7b441cbaa5484a6a5882d706ca49a4621a9c159cad90d2b3adabd71df4bc9c63ebc631ad5cf6e5e2e1729a\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 61bdae14771e75b523505ed9d9f4f276f72769b723ef6de8f0be6bd482b89a55af6cbb6448474c58ab53f25e0680d8a37a0cd6e6d7c1cf87e6d94e88e405c9044aeeda7380504ace1fe5fd1b8241e74708d513f3396fbfdde9a81a814e82413aae10920610a7e4ed2b00d51b54886a811b63b18e6ffff58549111d7fb5dd0331831ed3be62dd4ae704e140014dc83b57298323af840b53fad3ade4d19086243b433fa39375d32536f42747700914c688bd74244d8393fcbaa6a321abbdefc711485dc17bcdf73fa259fcfac4a5a37111145cd2934ca80cd786117073ac7d42b2b8d9761c6130aab683bf5549f79f95a342717679e67700221ab4b021e5855644\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 6598c1239a83d0c0723b68fe38250516ab689a11a2f61c027f8c0d23877cfac192b03d3beb50c4d6525195383f01ab4a696885bf0f7221f2a4481654019db4a8c463033a8ce16a7e05fd9c93f931e1430be94d8e9d05a62d2d0c3aaf6c4d559b1811b82aa9d37f82d194b86e593c94bac6450ccebb8a6929217b534c00e3e287cd30eafdba3279c97a614153e187be4c2da60167da375c736bfa51239f34690071e0f1f8a73b631553799d1174f36e0c7b7785cc768812f597a69ae74b8f6973084bb272b5fbb6ca56a21a7e0370f08489dc306b0854fc9f9e5aab570d4100d90404f4d9b5c7781fc791759fda49815782b38ec9f58adcd18cb70b2a651a18eb\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 0ac9696f7b0b311a6814d3e5d63c48a445d03c89df77884af972961f49812506ec8456747ec53e288937286f14c2e41a8f74fa421f4e14996de675d9751200f42604dec63a68c45430a575da116d77bbd38d60577206c743208fcd843578b575908e569514cf93f597075ab0afae8a09200a1743bfe3610736b70b259becdc38b67bf73721814c0134da8e484ff272cb9326bbf2bb769740132f0b2e44812fb54fbfc5ab96123c0d13eb62bbe115cdfe33222591e0286a09a963e20bb0afc0cd7bd2de7aa36251ba7cac6997a52186cf28dbf31ae3f571f9c86bf26a05412cf1e1a4114db0d5c8ea4e6b07ee215e3189afbc0b430d9fd8a5d2d138ffc0ecd984\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = b29d1a63166fc63e249b9375636e95d9c054dddadd20e0ae1a3da348feefcca44a27bb23164136a8ca5964afaca45fd0543657801b1ba129c7afb554172abd19ee9edd058018e4dae4968372dea904afc553414f45bfbc26a92172437a699d3040389f0f507ffc9399f5c36956a11aab1e97aba595fb424abcca14ce28928bbac4c4e275fbc96854189509eadde522457e12b22c4fea0aa6a5cc751c87ba30ba3270bb0b6aa1ab580b663e46090104d55c5e9bafbe5d347ec7116676d1fc9100a2eb7c0710f5225885a1796965c923dcb7be7c25ca95458dcf3e48f42373fc3fc55353a029f9dc40050288ee419054203e840ea14fae81fd81ec55797993f076\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = ba75b94a31f9d4cd88ef2cd76ffd0778bee027436f66e9daae2859c331fc57f0ebf6d8843e5897dcd8c94cc775a1546b84ab6e1847584f418539356e50e59863ab15e56a7ccc96bd96400e0b6a6453bebb6d7f9db6e23c59048cee4cb6ca099cb4a67d0df948822195379d01c7b5e3349c4affc78c402a02572ae152904ccb1997b96f030f68362de99a381c6079e4e3b6b0707d17227e3e2b4baa1ee2b35c434295deed6f30501e5a068400684416e5bb0966b4ab74c1bd139cf8b7fe09c2572639c5b87794a89cabf9cc47f35ddc6ed5a86933c564eee6e6fb4590ea20fa012133ea6178780a2f009af14b9e5fd6c298f986f61430b279e933d6d234d3f41a\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 61a425423adecb5f5f407ab11b80b32f8ad08ac6a1a16cde833f2d8ddbe6bb311ac30fc71935337a54af6d1509ef70a01b7fac6db659c8de7c5839a700e98e0f6ff4a2fa9b60fe3ae1b09dab7e8f56ea96e326d2116bbf65016b7ed600339bc43c4cdbd05dcd20d8d46dd324833f2c3b39c85aa7cad40313c8523a5926e6bd7dd2335136f518c44e745a178e92b71199fd6c7395462bd9328313d7ab45b3fc45a91ebe4f000b3c84394713a52ad986496bb2714232d6edb11c8cc43257553526b908838ac81f2b566bf5bb193d7ce7b77109c9bc71f70b04e52d0e6d106dc148b61b6c758b79c7259099b09615d43532c8845cc136e1ffdadcce785bd406b785\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 334c93438cf92f60e2f92cdbfb57dfdbcf2a7e1369c0dbca628b9f8ebad0f679a82a43809d61602784fbde2af8b8a203eeddb543f32f7891d1a1293465da2ecf88b3cb6c4025b3661101e2c621d06835f63b7d007aeeebf0265c6221c296278bf32039707613950702b49208b734d9835f283ca349630595ce39a283baadb9cbc7e950b258a527c72bc62508a3be68988f0749051b6bf7f3d303a5350f6bb28edd4359afd34ef1bec01af29b199c36f0c3cbbe1dbedaea37a8324082dc084b7c532c0912fb681b371680829e504d4fbf03001a2e674762edad44f99f15f69378c373a430a8fc23177536e2b6ac38cb962276e885375d7b3351c8c98453b9c222\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 25f9f878dff4b8a2632f808cca5cf03836b85446b99a0377c3f462eb512d7e338f4fe3645b2b075a5616c24f46917617bcade97f8863a59cebe7554316bb6b7eb46f2bee9c4a986c1e58d1189ad3075e5c1fe30d6f760b0037ad5c71148095155db297b11026a0064c11545469acc7b607dac606e8d1b9d83c059b0982065f30619b72c64af721b424328df3e18da905e2dd61a5f60c5876c9ce617b05be80827c2d27c21d2a55c751ecae400e4a45b52dfba39ab6986a1475f87f217b30837bcf10f4c564615b9e9e77fbfb45be9788eff010ea6dde7bde2668c6b5f0dea060b85588be2e00d26fc807d2c8c83f965f58d3ad3a8ac55a069853834d992edf79\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 2ef2f37b36dd7d580ee5bd4e5fda40edb669ac2c994a0d3bc593fed96d30f08214c83fb5df338f34816c004b1fd1a977e3802bb6834ebd1e4238e9038e467a63dd4ca53bafb8bce7f1ac85107516ac4b0c350d2871efaff0cfcf6e8102e8ca8217ab414ca4059a4eab19bf2080cea23f305da8df8b0435120b98c7c1c68136ed477b6c9506b570fe7cdb7f49657e426fd0b0bd9908a1b05fb87aec53fa2a2cda540e99593a91c5f3205271d6b4b4f1eca1d5653535d21c2795422f757ea1a483c0aa9749f74dd78d5fe0cc9fe04e5adb35ddcaad79f9ef49de4b818b2c1705dfa295384bf17585968d19d8f8d96f5a367a2f493f4a72b6c93c33b90535d968cf\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 5ceb75f65f2b9f4b326ad50291182de132776b4a4e0fc6f583377940727dfc33cddeca6b045d12486a3bfaff336f9b0746b3e9adc1a03651c4632e343f9988bf9db8098afb6e17a1e000e925f6fdaf6b5bd96d7cc1c7ca", + "491105794b0ac064dbf9d78eb9627b3c2cf8fb5f1847d1fcb98ebe759d18f9d11f4b014240b3b1d88aeacd2c2ed6d23ffcd1927a0bb6dfc144d791dd447c2801c4f01b6f4e5b0124cb76732dcff0c582a8158896ec059dd041a06962102fe6bbaee1f1288910a7adbe8c3a2dcdb48a7c255b70fab8d015decef2a3990a0be9b94ecd2a1056b28fe3f96ac29f14ca26bc5de7a5b251e332d17aa00b1ac5f8eb3bc30bbe85d46b37ee3e\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 2e029166647b30902b520354746d37fac3c2a5f9d20e693305220609c3ae8ea0c2e52caa1fceec761b17ffc6c8bd28f41bff155fe3c7256e3315a66b93da4c97240f67b1687b259c0e227806c2466dc720a57aae407cefc34dde814260ba824433d1c65025b57dd866e2fe5abacada1a4bd0e0c71835cf798910cfdc1997eed34dae12b3812b1e7c97aa07432d4fd728b8935ff8ca523ad209531ecd8aabb2ae741f8c27bfeecca7aacf940356c025412d9cf969ce1dbc75af6796b9b2b1b5a20a8b9e363c310ba1707adcd4172c5973a9c758af292300b9458a8c0278a7e95053a3b9c2ab8dc206f6c8b68a47c24b2b9b09184df993c931655d1d9c232bb81f\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = aa0665f8b14da337f7212640e270e75a75436ada44375e45e6e976b1549bcb6d5a1d4042f160d5b4a3e7ae6cc8c5485450f94cda3c8c52fc071b4b5db3289cd68a4c48045375b7896cb6e8456c33b5bc4238f92ee242628baba30bce1a8856bcaeab25076414d4468d72d26914b9216bd23ccb77e1e5863481acd26bd2d1706c5f9c65ee84c536bf674eaa9d480d631de47bb6c422232e544f977af1eba39741561b2932f286a22681fad7faf5bff4d3f2d9fb22e9fafda6a677ab7eaa005dda5a67228dbda74b043f80d2fccfb0955124db86112cbffeb1db382218151f4baa2837c0f1692ef9a08529f09792ed0b2324157dd39daf63fe972748810c97ce0e\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 81752aca9fd0847f603186aad9e57149bc9971f24d1e11b7d12361f989c9ae6e221ff02ad4f907c8cc31b55278ff51d900de8b1635ef5b7bee09b41ce099709e63078d7c0ef58a2dc5c2b5aeb7fe27a283087b9e148c97b29cfdb3a4ff4debd22e60989cecca3fb85c6b5da660bf7d00b4d88d65c0c74ff879edc8ae2848d1e2055856832d05b3f4effdb1c057bd1788e67dfff3d96cd1a4a8b04fe3c82c4fdfef4f91b352b6afc47d5f843b898908c361511ac3980ad1b83994b69400b7702c1bace5e344dd0c5eba651466c2a76c5a8bbefca2fd2bc258dbf424a5465f33bf0a410c606fa3de882cfa5c8038495e3f1ed5e919e18cb107505771a346bef3f9\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = b06f06dd6e71e4cfd3191fff49312e1e89c9ff09b502f8d81c6710bc25480e34519b70f1282f56c70ff540b507f729702dd6b25a33a3b96848ca94974ffabbe7ef753ed5a6b08459a1229e163777313f7208e7d4bc30eb8221e832efee50fe22ee7f915e6000aa8d38a96bdd1bc87e432fa10da0a1cb70116c62d894d05130aa2994796a4b514531b749405f56aa84874da4c25b4743814e0de174401d28d822f0485b267fd77511eb936011bce790fe8742677622c97f6ee8f749c57b254291deb8cdc759bafd8b8e0e95eb26d2e25097beb24e7b752090549a5f12c276ca182f911b095afcd87942504a026bb2ba3511bf4d32ac7fbaa8e44dafa39a47cb03\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 27e34f147a216612af33b2d780da400926ebabd939b41b6d6acf64765087231c6ee9c32398921641dc586048fb2e5a6750bea7d99b1c5d0ebce67fdbe7474fcdb67d9154971556b7dcdd304a28181123b05fac0b738d8ae21dc84c0c7fc6c152c06628579e708d4d7531eade2baf0539ec0b3985cc03f9e5325c093a46f2f53a4a0cd9a4209ab4d7100a06cb446444715c746c4619d3f32a7516c8c13638ecba66242222d3b636a3c609fe2618e080484ca741bcb755d217b50fe2e560d6983b8f708597adf4bcd0b948766f4390d0c1409cbfd87f8e1e1208561a849d79826cc60f380255dc4949af3c4857ae626e2e0dbf4dd5fa4de585a9c0ddff5decc465\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = b8291b35c54446e9295655967a687ae59a795e96885dfbaa83cf52095d2ee55646cd939ccd8473a5f1fdbc8c10a77e87e65b6741ef2f854229f0cc7f8771ba6ce56391061aafebdc7b4d65d798b4492cb5d58b106c2e9fa5705016e22067b9cbdb6820159e390b8ec4bf41661a224581b774b61bee9238d5a8663217f6bd57e7e3405447126fa0dc3cae2734da94b2d848b9602b4a313c5283a5a5306ada0387589d1a5e6ba004c949dfc1c07350ded30494829d46578251c8a777867486483c0af6f6fb96a137573a72b81872162d051603362e873e5923ede5f418626f917a53ff66cf0d5e35a8fa2b800b8fd2fe68e07492da3bbbea36dfc282f05f243271\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 8c03145d0ab288cb35d62df31d4d9d3f7e8f3bea809f5fd2b02722a1783ec778bd38b861bdb5b5d1d3d283493a7f75a7e458b165df40bc6b370ff901e12b5193187d85860f391594f75276596155b802e497a7b7c0bfae298f8a7627f70924e5008a0c5b2da24eb33346f80d85c7c5851b67e1aeab3124ce64f0c3298c2cc8d3c7ad46ddb945be4b2cb9ee37d08b252372731b0321b617ee2873d187898e9079cad56a9953f38def6f318e6e9f30eb79060dcb82f3013b16444cb10fd84051b9c9c954d9af65ce4f6607063a02e179dbd67cc0a98cfa50a78c75d7e7ab53f5bfef34e0a0afcb782ff74f8846faabf24f3073110e4b1f72b050644adb386c0c84\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6ac40fedc37ad7d9529d4327f81b3d223adcc7050ed1a6cf060a48035f01fbb19f8f90f17b1a5474ba1b362d7d826d2a62bb6cf0a6c41987cd624f887cb259e3a5d7606b479842b4a3dd69421355111df9d1230c2ac9e082cad89619a34d6eca3f317992fc3933b3cc29bb36787102b077d8b87911bc8376e68ee1e5b405adbf62e5ca46d8f500223a386553c45d5d085cfda0b68428eeec08ab0fecac33da41c30062fa4e7c89da57224522343df9c42d55b5b806d02e6ba11b8b434f8f4a638a3d78f4e7a295f17063e6bd8fefe1e452b6a7ebdefd82aa399637b804722849e6a3950df8abcac54e7faa656e52678ebffc9b69e2e8d3b77590ae592bad00e2\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0f6a1d4ba914e27eb6df8dabb7d9e042ceec17d40b54171bfcd150278c64d64d4fda06ed0895920a141696a1fbdfcbb4df8ba357b81a8053de2ed74d423ad46220f6af244815b02d44fbd45b31cc2dd26145de9100063e3b1f24cb0e001837c0ec82fe739fa46ac8e75deae417e4ea7b2cf63a1c6d013b2a17bcdcce9a740149e70dd890acbbeabaeed4fb85b2c2c4037593c68769ee060e270d086755f16a2c4efdb84aa690c2dc105d47d0661f794f9a5c2d8bfa01228eb97ed79105dfe80b3bf8c06cf0c54749e9dd94ea26463d3155a268676123cb4562473a7cb6b3292d57fbf65c1e77537f43ea13d4429c76e0efb922b6954aaf481a85cb12d242beff\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = a8872892622d1126133c7de0a0a87f9f31ec8dc37969b81f93f9e43434d305d2bb1d1d990fd3f8ec7068cde599634b42b67529c5ec3585ad9897b45d6f791413d160de78171506cb7f2edcd530ec217b62bf47bbcc4a56cf11ee5f8f736a3a14198784534882b85f2e5533d80add216c9e5d0bb7696f318761f2c0ad788f2894d5aa70f2161b1f9a26cfed2922ee04d05a4bf11ef7800c5fbdf880fc1083ea7482e50133bfd3f514a44ff1d34cebc78c4a3db2d2a244585a23a587b38deac25fd15299deaf9b0e1d8df689876867687f98e60c250b5a0a35ea60763b0d842ebc5c8e3e572f72c8b9c678d17cd65322e1a9288c6b41190b2c39bea774dd02060b\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = bbecd925ad43825c692249dfaf8d329e195611162f5f92a9041aad022b32d3f557c5492ac4b3909a61d4cb140d66290c5237c19989dbb97f38ca1c3db2cbbe557c23ac33768ffdd28edae33452c84d555aec763752322d285de31ecb8da49d8308aeb978d0e64614411a28b21a848b864ed36665f7490a277f885ac3adef86cba6e09161947f7555d875ed8c09c1d0d2b7abb8305b30211b7cbb5a948ba7f4b4f1b8a3d95112b13738aa7a8d76a65c35af1f4ecf908bc2cff1201e165be270b029ba6e47b9420cbab4bf354cd2e5e617b031c53c4d3d9b4e47084e25007e6dffcd23a4e3372bb52ad7ccae4dd5dc856fe0b1f6540048644290468132e3466c9f\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = a347a01df709ed197c3b2d2cb37ba7b47b77c04ac8f2c8b210536635ca7204ee94715a8eaccf53ec5d0ec2de0491f9ed35f5b8f380e0d4fc97f380381312dabf7bbbe2b8916ede4b6172b084a46ed834ac7c6fe891eb165d606dff803ac345595e2c7123b827d16a3f0aa3ba10a33a8d92b30840a53a4bbdff30f093b2cb0d77fb4905458cf56313d4e13efa8c4322f75eb0247ca91a3c440c367de13808624c6accb006aef61812217aa2821ec82503f93d22b56029ea0c995982c82aa5036fe63663591165c6be4d5aa357a98cc8f70fd2d7a68aec6c5e2273933f954d7198f073c2cc3263a38d6b4af0079b5f3a5475152feb2d90c1bfa2c859ce909f452c\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 54bb859f5b913bff81a26bd83526899cfa36ab1f5d0d3f582aa414ad08629d279d694e4d585646dd59ad3fa116e1b7e6ca7548bb8dc81c69b76058b57a4cea6f8db185a02a4fea5a173768faa26c8537a68558cdf8b4fa82b4384a04fe598b1612a7ec357be733546c618466da5175162ca99d9323dc89e9b7fc0c99dacc3c7779fcc1222c23f7375d4926d2f1970f4359cb3083321216169cae055686364c77ee32c339d89ce1884d815cb61702b738436b3f0f9ac3e774c6f74993bf1c7bfd54741476ccf111791e353a991d707f77cd5a52d470a187d6550a17bfa13c33c7dee5da8a07a201ad5a1afdc33e863c7bd80382989fe9a14f6b6314af53cfb71e\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult ", + "= invalid\nsig = 450f42cab5828ed1719c100259528c39c2ea655b86f1c45fb8491914f48ea1dfd82b368b09a6b53793b7cd65e1c363a886dd0482360c366a04ac626c6e24717df9ebe0fede2e50b2b2fb5cf715942670ce7ca417f213f6500429ce3953cbea17d1adf4422d56d1598fb194026c40b71499462f240bd778de1162946f3af9c6f72b9daac8562c897d32339e40ac858fda5e5dc9abd6caf4af1b01ab5bf4d99cc86d9d39d12e5d85cd4892bc149da4eea5aea46d37641f3b1c4c15e9bbc9498649e5ff00f329514b890e14bfbea31ea811330b3a3587a556ae2ae53c46e3ebe915d3f3885e6c75f3285c539b95a9dca59513adc89369dda1ef18b064bd74aaa2dc\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 816256d2f65d1e78a763c2eaf69a6923d2c6bebc46278ac9f4f005b40fecad7f9f0d2a06ec69b08195b76b6651d4873f5acaea9a122b99d381b35fc08a790c8d88ea63c102e4fddf6f923fd5d0b048598fc19bd35e62ff0b41ab729d167e2bb33ad8dee0b3e33ad8e7ef647f51b4e255f677b99e491460f26ac488cd35fc73147d6a18199839b747c53f15a25f14ea56ed0a5e381a774ef69c69d976a0a2847a6ed865a6f402c9eabdab4a8c03956213c19a9783aa8bc153301aca3acb538eece52c43bd7c208452681b877e05c66c914a8811eef729185db3630ae24f0d2a7b46da2b2ee12a0de676df07bf3a84195d5ec354f6bdc5287d8b2349eed31487ec\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 840b053b40a9778db629e725103848e7bc13aa540929c6df42a55c186e2f0330d8894d5247c203c0659301f6fe8784e165ed253a7bbebd35723917c329fefdb439e784ae7aa13411b9de20cd1695ff3a084824b39c25fc6e3187dec94f28f9335b6e03458bf9e0b7099314dee2ed29228c4bc78d1ba0ee0eb9bb340242b083416afd193a93632a9bd761faf1b78444fab6c8a43f159f486605808ff35af1fa0dbe17a093d1d5f47fd8c1eb2e6789f66d7a4dc74145c8ef43b8cb3715d3c7d6f745273b0b1a7c92a6134ba9bf6d0b6670465fef1c176476d53f26613987b5f363c38fd3972e802d5114904fa6c8614fc789b5a40bbfa5cf5d4fb37e2f8049a136\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = b889dd445907633a178a31b9784e0fc57598a6062bdff35cf0fabcec275138fae388cdafe2ce748b89334b54f0dea56f6bfadc1b35f1d81e19c7b633ba0065d3d04855eeae5c175d984d1da2182589e09dd1228a7bcfc118d884346fa9d2f95692f7e10b8848d90ce20f6401a092bb10145ff817b7be159506246267886becd34cdf14aea0af2da54de8f888a5ca1d71ed8a2c213a2c2f963f368a3bbf0cec495f161925418ac5eb5cea816160da64e992670bb900b9bcc1f9fc57a3506410e7e53554f3a8f06701693fe0c3df9fb4a45c1f567cf787d478c409ec97c55f0aa8c9b5b688fb2786bc0a3a20bfe5a57632cdecd75e5eb350f4ae2fc28c9c287268\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 538f60dbb84589f86b608a0457fb1f0019d9058b58c6c9578f7d49ad4c9f312c58b868ab5832e6c0f6ecf1e52582dafcfd6ff46f3fceff1a56ebae05adc421a52b33f8f93893ec760a1b52ce9b5b04570be56fe92eec59ce950441a06ed3d7ce83a17f8cad57f8eedc380e771878e8d8191b14ca783242ce005717acf9c9e05bbec4d9fc0d1007bc0aa2975ceeef98e97750e7f6ed9e91200062ddfb7fa7bb070f7b6539e4590d2c5d92b7ace0367608b9b7b879d592c9f2d0152d3f0184c2ca9e50f14f9f3edffcae85f1122cf579787cd0bd2ed2d98826250654e96fa5aff5d00bae6705fe3d95cbda5cb0dceeee98c17eb2a434a18184cd15b08804a9e5aa\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 1229188a8f890df59c2f8b9a7ea411329f0f2c968d7efd14e7534a9b2c902300a48ae6d5a32b16fe7056bc697cb3a32b1bebb9a459922b37723740f0169def4228787b3817af52d441e59a548995955cb09938d83230be08cb2ee8ea0ac97d8bc354021589a20f7f5a483d29f72646e0d2cb344f915152c18c99ec04512fc5caea03220a48fe91dca9a53004b118af8b940f62a40b6d9f1876149c65ef2e8cc9a8eaeaced66e415f8de62df25d8e5e94e1ca1e52ea71c926df99e97e967cdcf5e1bcb48aed57bf66a34baabc9e773d5048cb436d9ea196829ff0d8b9f843a6eeed72f393aef10a45b5fb9d9ca99acec4744f6edc2d926d665cdd5fa97b29c003\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 19ef5e467b218a8f5dda1f5d3ab6c5c6c275d73292f3da402d41359fb61212309877fac2effb0734dddf6fe6772942d046f89eefac510a5ea511fe8ee690cdff7df4c6590ca9393bd53484630f744ec48c310379994f381608ab1ab356ed5ea1f3077e44107b5967c4a4794cf26b389d92d01b40071f023ba0051e4cb210e31972d12a3a678fb43975a8107d1bb5b883774723fa019a2197e48edc35bcb42781dbfff8cb368e27f6f0d82457ac25713e38340ac5a31cbd4a560d6a762251605badb9f818162e338393ae9fbdf19824de991f459e96b167194c50b223849f9def538507f61daa21c457a4560d7880b6996668024211639ed9fbc4fafe7aaf4b38\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = bac08a201a27e4c05af0ab67c097a77dfab297546f2283c6d8179fffe4116d26c3d9068315594640046ced0248c157ac27e8d2afa2819817e1854f7f8b712bfe9da5eeac951477340b1fb59c85eef525d46e8cf20a0b9e1cf8b799ba18d9ec8cae60d6663c5a921b97d195d1dae5967b288b4a1268a66c5bd22606416bec803c426c406c25d96bb2aa7f58c3041341031368286af25bf96fbac021036321dc4418aa33a49194faefc68dafd7d2239a1d1800451d4906de61eaaf29a61f860f82fd6ed8b5bf4461e8821e91e67fd8a73513014b7625869bc5572a98c048e6d7fba0a22f4eb4a92532aec16c7b6eb762188bb40619f7ef28b77906dafe01852b00\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 92b1eb5b26c69592b669ecf0f64d7bb2cb12343e687a6a8b8acc1440b8028272d49837a5d5be49dab02f92ce28679c22409e2fe6c39440787412a70d12336c1376b8d6303b9dd877442ca9dcbfe753a3582c277184bc32a9ae9f3906c1adae1724a6a479be5f56b438424d59a620369ad649b4ddaaaf53343e3c1a9bfdb222e9fb66520326633fde1b43f461bec60f6456b02f417d6075d553c4157d5712f06e68690db5f5a07a85590911f06be76ea0b7af608e8792c7c53075ed8f4b11eb0d4be557623d5d68172bdab3b64908b7b4203cd6429d2d783347f8044f37bdb5fad865a490ebc9c4e7a3587fc472adcdc3c5d4ce5685a9cdac5a43eb86b36fff6f\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 73c5fb16bf8b5da488f290b61eed03b17bac3cdc98b0951e610580392a74f6300961dd15670f8e388ee9659aafccf9dcc1fb97596b9bd39dbb60fe5cc62efb463dfd29f491751b3204e10dfe9845e5c111d335a201c7515e33ce30c4bcc72a6618a9bfb79322b00b675191d763c4299f2a771c9e7e26c0bf0d6fab1f96d0ab60170cb88a101616dbad060ab079dc4ac6f91bb49776642d7b47c3b898fc2cd2d68ff477adcbfb1de10b782c554f1f963fdeead16c2fe5b4e584c6ed8c81725169f27ff371282305d4b1428b89a7a25f057763c417f73ad013e62df8afce855a38dc6f20ed68f4e37a9a4bc7395b9f3a4aa8c54252505de3f9b3e0301316bb376a\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 7520c52e90e539f8d2014f1bc44b0c328df96d9f93e6d12fc56c895945993b73ef01834db08369da066eda44e585c56e675b2b96801442e6978d041d0e263a706ff384abc1e9b7b0c0ac4a3602db96694608a83c799a2bb679fdaf6771f2d170827fa284acf4d8ea77b5837794ba74540f52c2db801ed02f040e38043d6447c1aa6db5a76d8cf425d7e6b85bbba2515d9de7063b8acb3bf0d44d364d69fb4a20e0b6ead6fab8c8b17e7c0fbeaf352e5cbd34b2a58decd81dcf452acddc6875b079cde93b10661b254fd04262918a705a1b28926388b069e0184ae4f7349afb33aebd1dc37296e04f116c691b14e5728cdaea04462610bc64b300e8b5b903f912\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 8de2a7328634e513526db5c50c132c3e955c22a6022a904b4fb66d72a2d2aadcb250a6cfb838c9780ea047048b8a6d1650062ba0348a251f61247c0f1babbf1fc6fa5a4da9e01cdd7a80a6e3d8a566f56599eec09903e6b4b14d3b16153bc43fbdb1261bb5328056c9f95cbbe7f7072c93011f6ab837d6f3a38129ffd14c65e1f666f64c6455654748cac6d18c08b1d45481720a7834580452d1f62aec30245aa84ed8a7aeb686d46c2c512fa4e0f3f423c62f5db51a3e74a6e1c6f1450d61bd43c172dfcc355f56bf283421d3d60b2676c39122a99a6e397250c319419bc1c8febcefd04eb40ab336554c870b6dc719c4fae74929ce79807eb712828c85b482\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 71d7a71edbc49fe622c9fe146967b2e4dc3ce1e3b49e022216b7c64eec7ac9294185a9309f0e2b78c1a828893f0ec1c09a4d7eddcaa60010807cc9878094fd18b179b41cbe73b4ecc03a7a9900eaebe560bdc7b92c22fe7a20fbceeb388d0bc1d440b265166524c7183f577bfcdf2d183257bb9699b529794568756b388f34a987bfadd2344f331092ac1199d7d8688dede96b1ecf279b1f2b027105439224133b43a95d2a31196edb0ba7bb5f72df9d986f0d55466fc37cebef4eb9f5b942e274eddc8f7d51beb95afc8210d88fd1578b28ed31947ce64cbea9c4e7c6a9fa2bfc3ff07f90f0b0e10a1010cac8c6768ca3ba9321c3da03640eb4909f5dc75bf6\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 207d9fc28178464713a14c9076366375fee88f884707b3e30d1542be03db648007de08890e60e1a0226927853e13f48908dca2201221deee23c1ec02b8b62da8f5fe6d603ecc8e4fa50b45f65953b418a81ba9783ecc53c45d3c027d7e891c5c9ddfd4e71809370e353904d5a65d31dc083b37c3316a7e59fdcbcd9fccf65132a6736d2143e55c786d73e3c10971d1783ff46fb9d782e8849d2edcda14d9b1587117ddc0defdc612f532bee3bfe12eacab5ad7f7f4961d5a7cafe691409495517c3579b5e9afb1286f8e877", + "b6c92180d892345569f694a779dc45ae91c7181142bc18352f7bf21e62f3c25b486690baae34759fe0d7b5bd5f85c2f6bdead0fa0\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 3ee1be0f2f1033fc034979a6de92c97f9cf26737f8143859b49341bfdd8263f1bfc65e246bd2bb655984b8e98add8bfd43632964a36fa47be4b567bfdb51f10817a34085c4f391717bfc7132736d05ca587bb090b9d2db16b90ae951524f30bcca9aec60f8cde84a373b06050b231ab7a1fbea4c7d1dd8102c2235437d1ccb89571678ff1cab3659061829f867787e6f70b8aee07a0f63345723bef4d26915401862449918e00f9de0594c77fb2ca13259404be5f787bb7bdc49005f2da4a6a2e5beae1623340e7af7fcdeeb7df228d3f7f5cafea8bd8d06bcffc80708e4703f64d874f702533c5642878f408db3ec7f1bf573e92080fe532dd7f68c96679ef9\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7f6acb039833635053f8746feb3a6df4e3e98d9c253dbed7dcb01b3fa729aa93f7656048d094ecff6b7f283daef8af14bd328422a90c838754c92f79fbdd923c6975ea16ac4b02b9a4e9b67ba729228a35dd94e0272c759ef7d48f75f9e329a0a14e29f925675f9deb1885c1de7f61b9b95dd2067b1305149928093c3c99776c00d4facdbde91b5f975b2a4931ec369efc7f50252d58219a3c7ecefa70410e78b6cdccb96b14384809c257462434e146501cc042eb014eb3c7e0b712c88facaeb8d8bcd7274a0fed55c01d9bf6c7b9262166ab0d52c320a15c1dab52ae3199ba043c50843eb6ffa66fe147b2f1cf33f836017c3652b79f8384b34f68c7daeb8a\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 099e3cefadbac010305b80308665c50dc8513e75ab7a19a64ef0c25f1d5336c73b7d50a0798b2b44cc7bfa00eda29077c52b303f1402a90ef4a6bd8c68a6304c30e94a082335d73f064e67e61a95b0ce9507b3b5c04b51380da72d15e22c4bda161b28c9cf73af37737c1d6eb155cb2325160f006aa9920f11253b03fe3a9b1dbf601d29ee89ba7bfea43d7258c91e706c0650091c7169692d1713b6cfb0a4533a8195d67ef679ddbfffd13148c22035583eaac176704179dcf899c86524611ba58640fc7c91b8f477ff0ad39d897aece17bc4248337dc1547fe8eaed37d16cf829a7a77e3d7f3b6438a37ae15c16ab1debabf6117151ba19e5be7bca1477a62\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2c2bc9f2b9b0ab9a5f4a02b2b02fc0ebbde33c53fde074a0899597d9a4a93e64c008584e89b281828fadc8cf6c7a6a99870a881bfc854cfe02ae508be21e63fab8c6cf6d910e0515532d695789b2faffa1209596bfd37828ca2b4c687f8affbe13e3ca76fc421f0d76283e6ee2fb60e5460449be80bdd740a14a0cbf98845e373a0e3b0cadacff00d3803d8228d96f75d025071d71056724fa9b2c77af66656a4f71de0c38cbd382a883a92ece692c54f255c2c8552f573605d25486fcbb06aa5da4cac4acbc5831b7f68756fddd48d7fbafae05990e2bba2539a37e534e4f57fdff95ed5ce3e11baddfb4415fbae94db41647b9801fe62c9d8a1585ddf25dce\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = b3fc99e3edc4f81ae19855341b8625b2367e92e5c4b989cd28fa3a78d2f9b6254f314c6e31f6f5cf2ce2c6d835518b7e9a180127e3ce31dd31f896f5f910ff347a98dafc4b441d6046f433c694d300ade547ac6a509cc8a089141f32b1b58e8f87653d382bd58a258a7495d0e0b3737e20e6edff09b314ac7a44f33e83cc524d81b95ed0a2b9969d73b3cb256a0ad207c8c622c557db0c9871eccc36752433aae2393f06bceef3be7ad0d5f9875e24b3d7db00a905aa7066da5317aede4a0964dac144f556dd16f3e626cdaeb78262bd526101ad98e064f42aa9497c37eaafd4a0a2b0252de2556e20f201df34fd1bb52829cf544959f13fd380c435fbe39e8e\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 376929ad5fc3c2b1692d36a18402752ee5c18aecbfabe02f09e604b5f6203222eee92f58bc3eb387744b07c55c5e8da5db88501dba16f0c2d75bfc49d0e8ddacc31de46b478916dd4ac26c98302761bada412621287a4d2a72881e97b955cbdfd4ab5093835f6247c5132a5310b5482044704fba3128f3ae14b8b4fb14a347d9f96836a7ce51346d9405f65ddb674f99c4325eafb9044c8e3e1c817cd47c3ea8ff0807a4c863398f4d9658ef729391ad36831ebe616f6fd9505741a93009748f24e849a737aeb4872f267ca94ffb2c6663d0006f22637c27eaa44dc597dfefc2235766f5f001bcfa8db334d88348ef0894732c8b8dede9b8e6801a0b28071f6a\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 535f91dbcb5b924f6979f1bdb9dcd1d59fdcdaf2fba34db7ec68c0d5e334149931ab4dde9b5e711ba06adcba7b529d7dbda571cf53d7988bd31f6f9804799c8ab3e193b712bef52bbe4c2561bc27ae4a0f267cf7636eaf7afb11000e6cfd311ad5a3cbf746bba29cec9a83f73ca3db339a7d570c025e20e4416d2a4c1ac0eaf23812444f1ac0fb7cd96f62da9cdbb8febe3e77a04c09c3e64e48c0ae2868e93d42c2cfc97f1aadde8fae28bf942074cdb55e9a04d23090de87913e36407d98a93fa0785e2eff28d7fdc9f80a457bad3a780cc128439b36cf2ed021e357cfab5ab08da906e1b2337c42f18c01cab7754bb085f5857f2ccb19b055756ae7dac41d\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 21d0dc541ca6f3766392be26516c1ff06add55fb6341641c884814511af5ad230d036ed7a547da9ea054cd509006f7fd11c39e97364b265d3606a06e44971cf80a1426ad76e699f68937be16cd256ccafb94ff31053d9e01fead1f71c838e05eec5c98fa91607bbb3fd17766dd56daabd826c7aec83ae56f1d60c74b06885aa8cd94ae1e105dc96d13b7927dd08f07daf784155fdaf54a42851c7873ad77b4b2508180cebbf75e0c30aeb82988a20301071f338846e8fd6981c11baa11626aefb15c2e83ea87f0b5353ed2a3fae1cd8a5c9e61a5d387aaa989093e1c58960c759d6699de374cef8ff56e42deb6517f552459a1fe84ea1a8e4da9562d3f567c69\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 5a6b7dacbc1dc464698f2406e9991dcca63bae465a872f62bd9c0626e98386c3ecf7935cb1a6598fe167b61c1c0a8c0b3cbc3c1c911ed56b82bb443838174babb6f7ecead6afb94b371de70328143f367402a55e15e0f390964933e0553ba892bd03f0d42f88e1a67d47b7d9e218aaaa0caac46ad88e76a2f887439406feb886800788469a27c2b911fafec28a23a9a4781018fe491b1876fb514e6c73cbb166ea4c1f1d878b56d2029f277b3471557ca546db6ddfce9f367583c28d14491f82f31e50c11f078801317bc29f6bdd5ad6986e7c0a33d2944f2d4469243fae4d7e3bdbcf6a8b5a01bd5c094b1cc27d772d6f7e5bfd67b83269a60df11cef3b6b10\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 842978d43a61145541fd3421315fcef1e95ca32896bebd6dbaa0a0e856eb0c47d1ff7fb2eb981c26fb8f7d6f1964cdc05f856ec994517f1eee6165786eb12c44ddc60083eaaf02778400acba6702e54f891c7b5865bc0c735e5443043b4d6dd43f8c9554a524b808be58893e18762b68d893a970638d2de3e677ecf3b6c0889bb1816e910f243dd1c4978ae2cb1aac745d06b2a8add4b6f18b71e016ffdd930c4d5490257f9d0e9969900e1b49796f3e3fb3a110b0fe1a00236191d34dcb5b7c2c75a042f9a50449dc403403af09cda51926d8f32875c8c0e5903700e41c7f93a585f6a6336fe48174d1939e029f6bc30800c269fbf85997424bd2624e5c76ca\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 5b85cd70c97ddf46244456e8d4f303239b7e401674fd96f96bfb8e28271abeff96f07776090731acddba70fb758571e6d3b015bb20d5e88981a9b9940dcf1d77a4a61954b56a86c22870c8ed4de7d6d991d3421c08179c03cb4d2625f2255491223c66fcf14635a97b8734c4f823adf99d7e04fe44c2206bad08c82868a25685cba38e275559fc1a8fb9f81673210ff766131e05bb727cdf45a39e1e4352f29dfd9f49ef21528a202da5f2c9ca4abf5a2041dfba41843109c22d89d6295229aeb9cd0a4352c5cd8694389e8d43dd6eee8258e57f085e9f0d39c0ba17a35b0bc036c3d568aa901f1b6a3597c43f00d330a92a39cbc4eadcb73e5e9f39b3762496\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 17116ceb9e397e3070704a060eac2b5dba73e325e5841e13209d2c3e836a081839a153d3afa6b336f9c077d9c6f4ce7e1ba77a91241e41a836d12783239d6bdbc12b1c6cc3a0959fad86d1528ecd4f18ac95b2aa0bca0bd1d7473694ce57e72a30b93088541002b92592165d516cb2797f34f686276a80880f18a24fe18204dbac867c646ab6c8b59e007da8ca119b8a0a7fffb127e7b017dafe6d21aeb112219920ca14ff16bf5a88550a7261e20cce9626191c817991d99b671f60ca8e9466868d58e3588be2254f2a1a69b810987eb27231ff5a0046ed4215433c9d8631375d02db3774f3429de73480a16af9819bf8403cd5794292aaa2fa4ae0a28c8092\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 53394fe68d3b43c6037d8bc922be22587d2ef728300b3ec7bd0da9fcb8e7f6a3b68e849a18a7720a9ecb2d93b84f913955ee7be59bfbb9f5981844ce107052a1348533ac30cd421c548f2479b978404b984867f48436256db3de8cc7f76912a796418745d42cfa6aecf5e137431eac95c956f543ac092ee53d439a249fb439b2e1e629d86ceb8139b1229355e203ed3d887a340a97748ab9b7884cca8e7a2ca99ebc7bf0d365456e2203d0b983674ebb87a8d9adde73595790e7aca88100b13fe3355d43322d84e5c41cc50824878c8418562a4bed7a0cb65f9e3c6751fb3b7fc79807c78bf57b0ed12a9341be7f5f39823d02f7a3bef0f86fb1a57569760dc9\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = c0dbf6f41b307c2eb228f72ab5f763323cc30ac5c3a5f027172e735160627afbe1b5e05dddef7f1cb0bd145d16d128d1a35c03803a01bb2e12f05ee21d05089b9b7070fcfe107194088ce841725433d1b59f3501796930ae4cfa3c20c9176927ce3223dd434f8dc2be", + "9bf706020583f58e73c25d7008783bb30a26fb273efce258e802c509dd319938fef1e5f6a951649a3f461b99488dd3acf45c254eef2ce742d176a58179f720a6578f5101d89f74026bfe2710d150275cbc3b5087e63dbf37c0e7692d18fb53f5b62ab67f51eddff22bbc62dfb864a58047b0d5b83a94c44b1c0aec94f8c0e32b00f3367e505a5390a3d3dd40237ff6f148c6974bba31a6\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 8300a625836213ab8267dd9b2d5a785bdcfc56c56af0d97d648c2ac1e40855581daf13af70ad1f37111e72faf7bdedd1083cbf05de550ee7f43aba0869d254a0c3a6a2ce2d2a801a9170aaaf452b7e5ededbd685f6cf2c52f3f5842a737d56fc9ee99c4ee9d0c3199957ab9a7a584792c9fc22173744b3eb7076a556505751d6e08414b5e7f4b8779ce8d5a2a30d58960cd94c051c0ef6716d0697fff2d9fc79e362b9c03a2f6c07d27024a2a61424a80c331da1fc321b42834759b5de5dc280248f02d80e85704e754fe29ddf0b680672ee27a65accb8233db3775a81eb1a6126d9ee657d74c878be876f6983521a13310ed3035d8069186c2824dfd8b7623d\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = be0398b3e6d268582b4de2a05342d5c72131beae600bdab1f3f13d1e21b42d0b4b60d89589bed32dc00b230102f553df95b2960e451f1a240206330d0eaa69c11d50363bfaf360312aad5d3e9356733201ebc3a69a5ae731e20426263591fad1cfe31e0e87d2fb4027de3c57fe32b15c275b9c8f7ec166ae688d625674dd4efc8b5931a41bbb922e2ef1bf7dd9bbea8e98f1556f8aeb99baf2fb848e5e1fefdbbf73d61013171f46ec4f09849d7e7a2388f7ec05491556eba3a3df18edcc9a8db46e10b13593fe37beaf1646138da87e61a98b02b33297cc0f4d7a91d6ecbac28a159d410af25a8b8e653a093a45c3ed19e617cda1709e8b1854cc1028cf886e\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 6bab815040a7ba6cc82af2d5449931628126eaacedbafbd28673003fe9f5bfb2b53de6700081477f769d9e5456b109250c9409ef998e334e44e132a88efd33d41c8395fa0ebe58c871b289bbf20391db3919f2b51189b2d51f900829df95f5543bdc62be8f94272ccb620a841a4ee4373212b853cdf1d079ee5256c188d3fa17f91d651ebd522b60b5f3eaeb97b302a70ed9cdd05bf1212f9ceafaae5309303e16f18c4477badc580383c13a2333910f6665fd08dca1597f216096614b2b7956142735fa800f5d74a422cb4f568ad9182e0b96e49614e129679d46b387825820017faa81087568e87ef13c89474420c613bb071b5c295ffb9487805d147c7cea\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 87007220bbef1a21ab37ea2b757caa112233a61688a0c0ef1d454b86843c434a98f43f451d6eba7da2e8a82e52a93d44dc82d2a0734c69a1e9a77265fe9315984ea2971e729abafe4f7adf4b0bbc750fa4f59fdefa59339bc838d5f6cb9556aa4498f8e596c2d50516fb540bb4ba98b2d04ad3803eddf55767ac7b121b909c9d435d49dc6ed03a9ea0a16d251e63459be47056e2341c239ad4f532fbf4cff50ad3029da8962ff09b4c5e47ae29c28692a53d492361af254ff86e99468e53887708ff9f805894896ede5f7d04530c0eaf6a2159d390a63ee154062789215c160895cc9b8c4a6afcd31b1d474b51bbf157f95e9f2be6675844cd3ac9c4acfd40e1\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 185d46fd6c9c3728852a39c11a39b1e8117da5d2be36ee12d7f87c262983690189775eba623251e1d28304bdd7e94d7e9bac6114e4969ad2ccc3fc45b94cdc5904bf3f1aa62cfd8685b2a7b49aeeab673ca2de7b73dce357fa38e1d6c7bfe79329ba7f579d205b4f3c29559baac344adb2db1d5f90ceb542943740901193997c31dc1c5101fdc354b47d8ad37540bc1058ce57a8afb76cac731e03903ebe880ebff1c299d61ca2d3d48204e4c37cce0d80b7458fcf552ceb225e2bdc55c58b3497339ce1662e7064fc59c342d0ca6e6798cfc7b6457e7284ecb5684ef9b68ebc257532a8da54cc830aca53d091fa60d9e1af166aac5da8bc56b79eb9f8433020\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 1e28082a4d00e25231308b793dbdec873d93340a3e85bf0b1af485c4be16514322761d6e80bd848a97d394e76b647b79bf25b23c44cc208650b7877435498cb4e7494145fcb43506e58f15b83fd2a25b3b93232c1f9cfb748b8f83cc961de3fb3dd2856a36d63af7ea488272ebc0174982a7e1f1873ff86bb219dd87e25509f11e47b1cfebb895d9c6745354dbaeb8c5842377b1e9326c28a489285fadac25912f9fd971a8ab4b4bbeb07364dfd998f774633269b516f889633d49351f05008766dd0556aeac57987f3b18db2ca056042068f1ea4fa87bd90fb06c6331ede38ed6ac3c77c3431e30f4c3b977c0e3ef635fe59b0d884495c95d2342eedb3d2266\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 1dc7a0aa238280e0fc150a9177a3e4ea9579d6383991210c524db4c07871edc5b89d3c8aa45a27351581366d887bf1060393a1fe62870938805e97bf4aa055199fcccab3523131469ddfc4e7436844fdfe3c2421f1c2e4853d891edeafdcdec7b3e27b71b41e1b055893fa40624dee585898b194942ada5a143bdf2a8d04fe06c449e21093c8be5986e3409c9730b0630c4f8d2b759f50f92be0a13876f0be20e8132f2134e221b9abc03cbca36b3a47cc865bb24806fcbf9b3c862f35610e240634bf97c28b459978f7da007d29e0159fc1f3435a8c4c5c232d4382c9d2d16e168eaf10e1cf0db41fff58807c979f5102925aa50dd27567272303bb4cc8e70a\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 04784d6cfdd749438e88a2e61defac5f50002bb0607ec2b696e94c2d9a012e12a8a6de60a08fba0bf4e372416cea84a8e93fee36276eced5fff257747e3a535608b446cc716887d6ab64859ada40222b86dbac347e5528e65b70a2287319c57addee766427ecb491113014389409214e87029cf5a219108dda4f1cec11637c7290d3096267ef7a5c433f93cfae6b54d4af4da4568f4d88775da1bd94f93ffbddf19e0cfaaf2e200b71c68df04188678ec392fa718d89497feda1342a2100cc8dc7c9a616981e2447b0235241bcb48c0d384dd6e6c4f24f3a1e2754e7ef8348160ae27ae207c72c74866023c35685e1566a4df12d92fd5e7b44188f56e3c00f9f\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 65acbb86ca80e6a03047a2ced4c4a461835bdeb42b27845fcef96711bc0e7d3d3b8ee95a87dffa2287132e01d9ad7e07c230fd6d2c1871aa7f113c42174dcfc2a78f2442355f0f10e68749b0ea097a6158795ca0b236f9c73b0b1af7de9be110b244bf8552105f35c761dad993323bb33a03b89ff26c312042073f1eff9807791449ec52a50a8799d0604fd35ea1d10f316843c1ca780cfd4af1b695daa0282d6dc743331d239a087f725fa67980c7ba1515326cb82faa07711df1675c9deb9960955bdde07c8e1f57884cf71ab4bed2b1080be4f4558c3f5484c578530695bbb2ac3405804aa7b5df4a301713c18d4db2c1f9378d32bd5a94a0cca2ceb4518a\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 735758c0d252c3d7eb0d5f7d9b1fce3f3bfaac9c27ab9c64d9dbe53d5a20354a1bab7d7b1da1818852f9d8f3fd24afbd7fd94709672106d7b389c1c07f7347b025e49ed058406bc4e0cbdaca5f550e57f4ea07cf924c371ad89dd72a4b5bbfe95e172436b5ddf10b564662a36c1762a88cf94cc164ec65b538ff8c8d527dbb09aa2ab60972856f1b4fbba5fbe4d82ba53cc8450feac18a276938a3d175095cb7bb923589f54e721b836cec671f7672548392196e1b907afa5fa22f8817d628c922cc1de6c9ff2dbaf691bcc7a53b30d5b39ca8acdbebe6992aff3c28ebc00bb6a91d3714e6cacd42d99653cb9eb3f148a44fd2cbaab35336776e73657b756955\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 409aa4fae8fe1e807391b23ac3a34f9b83554a4765526b3e508bd0d51c054ea3542e6f7853c74ca5ba675833b7b7ac1611e3f4b6d5a88c8b045d45690eb7713d491bb1961be5f7a788c602fcaa558aae928a3afeec262d54cabcafb77ff9cbd7ebda3e0d8af1bfd2ea6a441b99306601a7f456f50a693e0c2489470277572051c0d443b34126cd8fb46e53fceed29101a82b5c0de4efb4dd48cc45bd383c6c208903ab4640de5e6ae7d2c7ec80590d979150775c167e7f2399c9df892c929d8c71c8f084338fac7798742cde063c51926dacd683c2435e3d6c75967b732d2040d89ec3903da1ca5a057bc2987a0cfabdea681a6cbb564b96f320170d9885220e\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 697ba35bc32c2ed66e4231a7c98a947b99b67484bbc3eccdbdbdfe8c926b38c484a216bf12250a425004ddb4cbbc1e47112dbec6393bf5d19ee6a9d46cdd618cec2ac8ef12518c6147e524910e8b0c53026b44359f003aaafef681b0ac4137618c3e571ff247b67daf347058fd7d3c145c8e70f7bb5018ace902923dfb002b08922f0584f120f39d94e7f132ca30787b5663c40fcfc93fc1920496f80a4f47b37f0e668cc7a6ddf39ce502badfbebdf5db6dafff8c8abddfdb272eeef478c09a70f4c286c127832d98044e549e20901c968e3f327cef80ce581487438e76ed86d384985137f081ba7995fab6ae8bf9a8efdc8a08f0fc19dba8882ae716472a03\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 5d71198021ef4a0c0ed77cda6f1e7989f023f62fefd5ba81c70d31e1a6a1c0301e4004c2ced7acd9e98938b7faa1d20cdb12b9cf6ac59c9501d8f733b3bc543669440e74cf63be3d41d8b377c2a222cf1ba40cae4c24fec5033bf2ab6860d9d0312413ea8a3446e6040c6166c06ff5bd1070b5cc5f8693cbcf90c1e7ffe562240885ca18c181c86cad85971c743b1f70a4882e0cfef08ecf8a3dee55273bb06bec7dc19263d13a3ac887cbb27510d4e45cc4f183ceec9117f4b0c7ad4af6a89fd9e85bae9da3474d0be8fc42dc9fc1e7a6b98ca1864037d76adde226ff72a609495ab76c2242aa2391b21a3e8e3164e98ab6f1adaa5fb3848eeb687472699508\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = aec1eca91968d08b4bf15b9c5fddd9e7a6a20be74486502380faade04d84d9", + "a5916a6c0ef2dccfd5ac7397e76a301096732584e8442f20ae80627588961cdf97e344e131d79e6894be6fd51b72122bc2654d00f943683a8db630d35c6874ea56f908eea64902f18c0a548905b3c13114e3526f3d6ed39061724c8e9df498545ac7f455c37d2e05beecd47c15181161873925049bfb4a671e4d1901a75099c7edd6499268229353073a598174fc937f856fe85f950e9059496348d0a1d9f98aa94208d66ff3f58792ab0afe27075b241a636f1b5835f4a4b330c6f9e032a736119a1d8feb99f6c22f3490a82a65710abc3767e81ad70a230ac4b1db9a327ede40\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 60899366735cff786b22572d67c50af5f644bcdfd50c559d989018efb91cc888398ce3b556d8ed134627827e7af0ffd5106795ddf96f988e581d8498ac2c2ac9ac5195d7c15bca548ccaa070924c6bc8de828fc08f5e74b8eb7cf94477310436b9d139e54e97a9764d0750182867e00f0f9e5b4b6122137bbb65271bda16add4bfb9bddb3d8ebc063296d9ca073c377e56993cd5f3f1bf229e0f40ad3efee00fde0a9ef1604f01a24c20d67fee04fe8848cd245a5b0e69d619dffea08fe1afb6cf075c2594d00cc6a21353656b1aed51af47159ef88b61891842a6eed6c3d294c1d226009d457e4c54108f8ebf4305d0dcacb07e60b51976c35d9dd5aa10b9a1\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = bfa56d1f9db006144a2714fd66a633ac3d27e7033ad9d59967f816ee45277095689203f3b257c8fb64b3b1d16b6e424f1347076b6009ae56ae193075b82d5ece6e643f0e645b1675fa0b7998c6f5414511d2acedfcecd0324543f92a462b9f9f79223931e7ead2c2915a1dcccafaccbd374669caf1e2f50d45aa986e4511674fa9a5bebeac29760bb055acff67026ba83a977aee4d6bcc7b247a76bb77a345ceb97996750b77fcf979adcffb71e734c461adf3e23b708591f4987d59ca8983e0d10ff5a78199a02f02ee171c26b373160efbb51a23451bd326a7a6dcb66e4d9bd02ad30acb4719478b0908831d5cdf4012efe94aa8d87290f9e94d430e9095f0\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 7859342f4b0977d970fd2c30ca94e898545f8dc398e37949a58146a203d191a6124cc2e0de5d3311587b4a54a83e5855486aeebe867584d7fe2d6b559f5bf2bdcf990062c2f04db9705f06fec4a3aa3db300cf080d1493a60c63df1ffb98e1c82440b8143b816244403c7d806bec0481264219fa263c62852ad9315db8f03b255e7e329caa6288beaf7a34ce3273ff39e8c8ba449a979253b60e48b66124cce678112cdb13d28d805c6b3a5fe55cab2df194287fc060442fade432473aaf96fa331fd16544c0fb801c30f63b0864ccf559432f98d1fe42215c050bc71616145b1fbb33a4842bd3222bad53bfba487101147c3119071513a49ba753c8b2307fd4\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = a5521057430948701805207688507441e3ee85b3e8ef9334922c8ae9a9a8485f95f5747778b2f7db8ed3df6655e57b03022bc1244d04961d6ee57e62c762040b581bacefe7e5beee3fd1613a142baa6ad106e720206cb119c1884f41b90e3acca402b18deb5593c3f2d9d841e23b2f9443c13d450463b4e272a08fded7f00d26029f7c0478af557d41e7285c48d9a0ae3719a95a14bf8b9e25351c7513a5ddd86a2e6c124a54be07f29660bb09da8fa8e484c0c930833fd727b429ddd2b8a6e1626d05f6265bd88eb88e9783123a7720068f590d566d16bf19b474d58ab5ca9f718eb5d432d11f6c65e9325a2378c6588c5c6ee89edf7ac708c93bb9b04a1f80\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 9c0eb700b26efe50ee6aafb76f0a996890ea71533c374286ded0c21a567afc5bb212e81cf80cfd6f2d26a3b27fd7f17a4c976f093b240fac274a2a22969d119ebcb26f81ae0bf5641dcef96510757de9b0e7b02db74efc1ae55c55e8135320156ee9152dd05c922066aa895319708bda1c7a9db1890ef7cdfe7de3925f4c9852a8679f4d71714cabf8fe834ff442794ba96c2f1df73641eef076b172ea846d7649e9a42bded0a7da4647e07ed4ad8c1f2d7858f416fdba4d63b7ad80241d8fd60012b3a77e7e0a759091274d350f688c8a73334a6c0f2cece789042cbc16585cc84150278bc3465b3df701533674d272c33d06ac852cc4ce6648e35cfe60da60\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 4ca9a8f3f2a187234daaa149e463d1e27d78edb054e999ed19e63024e41e267a51bafc7c863b4f2802b09f1aa0dd3d6a42fb0306ac38fedfa3cc642eebb6f4748e55ab41d86e3fdc392b1a9f9b01c55215543b39e96d8603d80e223700521bf4b3030fe4f2a53dbace1d668d99cc4e57098732a05b99dfdd3326a218a11c195af7f09b829ef806ef71f3b139d1c2ab00d488cdc75576e7ccf75fad3ce9724495aca667dc41df1efa59974cb52b040fe7d578c7a4f2e71384ae347fd7dbc6f6076a86797198e989fc87878ce926fa39d23175de35b1d09862a62512fb58eacc669e11fee9aa0c08f351f4da30170a6e3bb47929edcb81ac0132bc6ca77b3f09f8\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 89c5da365d5d2c22a961187ac62c26bd5b88cccebe46285c654dfc31f44b7268f38d9e2902424b09f35b7094a39ee937ab6140895acd30e63bb927f3a0e017e68a2fde529af3e1a2359ad2ca5df7c94e9e91843160922ecac8ba64d38ba0fbeed8e8fc7f2ff86888e0657805fdab834a6cef5920ff70929d66676eba288233427ab5ce9e44462e03f71225d9ba2e1b4898e56fb7949e6f788fc0b76c0b738366ebd32c58731e8d551f8f52b433bf45d6fd668548e59c41943684203697bfc0cf2c53274836aff5f346eb7ca753b3856ab4d9128efb0db77ca05274b393579ba78624fb356cb3360ea05bd5f9f9d642b74211f258fed6bb940577dddb2d807eee\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 084fc83861c80ca0f3c7d5f063916b2de3a1b3f93d11a5289ceb608ed3246bdf1fd79b7bbe22bf40ca7462d6689f1f50a53c0fff60b4899cbf86825f8e834171aad934a06687787c7c833cb4c6a2172002445389583edee72ba4d31a6c5cd09b1bcc18c3358faf548369af125a915d47affcfcd30f934b739a62ce37ee0060e568211ac255ed9481f6a3a871812ca2e86417b807e6d352b0aa0ca078c75319a64bdf4323a34f379dc2699201b1d6ab1599ad02c2e103499dd7cdfe0545716e73e400ea298005481288d384b76f1bff69dab1486921622fcabf0733c0bb392c3a9876d168e0a0ed453d0e020bcdc0432aa00ebcdab36538d616d93cd01ab3a63e\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 471eccd41ca3c301cc79447afec99925611ea09e5701fbba0ea0458be7d77b35e798452fd19865903b33e2121d4f21cbd0a2df7e2d10e8d20ddad3b9f0194cdac071a3c4f4f879ccd88fd03d761d4cf0770abeecc946a3dcac65e1f4152b833d4a43b65777bb146099800ae324479d98f623c5321cf9d0aca42ea93cd9df23f5bf27cc128f20ff41d9a5f4048357397ea45463f04ee665bf4e10630a006f57833ddae1b3704a6f50f5e2766b3f0c700c21160b24e0666c54eb3661f13cad3fac33b0d63860262e6759632204f0f87a3e1e039e38c15359c99cf89942cea589d78fd3710a83b5e9ab09f1630fd7f9d7a8857efd763d361e158bed5cc85b3776e6\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba748\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba74a\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = b6e6752a6f99a6dbc43817850a139bf61d3b983821b022758da22187af9cc02a33cc4e7b59586fa829582374031a34d8d7f3ead4d9f7e42d3e50ffa74ea085b4cd884bf637039152d05de1fb6611c66b26bb4f4543eb4680dba24249aa0e31ba17b6fb4a26994b85bb1b79bd77c59ed18bcd4d4da04e45655c0d981af616a8ef5c193135a58c9a61857e1fd4c6afa60b23d214f58a968d31486c57d483dfcf7a59d49039bca4d0a7b3469eb47cb2db77dd9fcaec9d906bd206fad6533efe9b06a39e61dc1e901fe552fa086fde96f03e58cf3d6b65bf1c4eb9a8b48b218189ff4b0008c99aed899a787cc0d4ad447093db347161ce79d1de880d653b1380b4ff\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 58c3e57605deefef20c57f260b790664b8b215b3dc82d33177b8054e5a990df72fb27c3e7554f76ca5e42ee8b2eee410a6a6c8eea3634a527232d6c8098056bdbdf90feab1d123e22f8fea82f42f9b4c8d65f5febd38fb8357b295586d63c3fe689f89695638679ec3807c76e097a76be05720320a525c3911602704382854c0222e2a51384a08b98df7eed637a5dfcbb8c49156848cfa4b8b36f00562f4ceb5d7e7c6237d9d0c1dcffe3847605d1607c1665e956666b4a28df99fd7342336ba119556c6c7b162208f160ce950e7ff41c6452bedcfd5eede9bd34da77749b8df8c6925e24ebb04175611f0027253e7ceb028c6fcc82d87fbee1e2017ea43b6a3\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 8ddfa621e73504de33ee75ca1498cd7daa0fa625b7dea0756392f2421cc84ce10f0032632bd7d2b74c60d55fd2278bb86185af3c187953ebf6415f643974e53d34d8cfafecafd20dc4767001fccbd197a38222dcb1dba53ac8fea54427bbfc25a858e52b1b2f8a778b1034318c5f76d0f81b91267a4e37ee7014e50753956740c33796f8161fa72899c00643c010314440f026bed963bc3b5362124f2e31221151dd6273a28b21c3955ef6bfbe48eeca51f454173d01f7d4dded623fd2ee69442affbad43a648c82c99e8bd05affcd805814dc1e1f96f301421ed9ef6a3ec2c6bd6af61d5cdbae31acd48218badc1da7d14c07f018edaec3537d4462999550ef\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 53385d184121d3b7cb41d86ae31d9945bf8057e126c847b69d2799eaffc133877a51cf8196ed85e3d22e37c1f7df932f796753798abe3d3b08b03b5574ea201eb6caab2dd1a6e112fc75c92285243bc3ffc7bb20e8b1bd872c55c6f1e4935582b2653cfb7e1cd343429d693589b516c8381b324e27d16ea1569930295fbcd94c8a75f2d0d380006f0ba9702b2089394d678065540de715c7219dc16897201d61cc0ddeb2148ae691e92348c91e9c45118ce9a3d5d10edbc2081918e879c7234be129b480d5c46b5490eaef51d3e38403a36baa961d4d0e4dc9a045342488abaad93666a41bbf90039ab189b6b9cdabdd00e11fe0bdc9d52cfff469aba22080a7\n\n[e = 03]\n[keyAsn = 308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keysize = 2048]\n[n = 00f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f]\n[sha = SHA-512]\n\n# tcId = 240\n# short signature\nmsg = 38343432\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen153 = 208470; + +static const char *kData153[] = { + "# Imported from Wycheproof's rsa_signature_3072_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349facd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c1", + "72cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 8b889902d581f3be759dab7e53cf3419d5dcfc825d203c736a374f37ac5570da2b87239c938bd299691a46387fb47ca656bb9ab639f6736207e19680ad1a0c7a7818f2498ec98e4693c51bfe414fcecff4bae7afc6db0d72cb9dc447e2ce4ce9ff435b9daa98cb125d77b7c7d2fe2e39ba15122da11bf19d341b9878de33d3cc134bcb77b9963d19a3037a67458b17eec462eb0d7eb7ce69b71f41287d3b104b45757c76440f370dedb720a0c721c08c055c5b815650737fa478898246d36f7722e913c0913612e753908400bf6b456f269538102b778257af0c7c14339d0ae1ddcbaa357369a065c0b3627cade311a627e1e3179514cd3761463eab7f9485f6651793cdff282daba9b16c2f79adbd24ba54ce4890a9685ca78d73e8785d722825c9fd22ff327b97f38d5e0b95f449928114ee9756aef5213eb95cc40774fa1733fd02bf37cf5243e7ca76f88e7e3fa8d28a754b5adaedf31a91e6911688a6149ecb52eab8024e72e1bc3a98579d9eb242e08fc42bd491e3b0924b03fb95bd1d\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 46da0267738cab66df530dbea6fbbebbe904ad3d6ea7e7a06e39a3b5f3e38bf5856624185080fc756941b226a52c8e6126d07714deb781f6f7944f47147c680aeb0dce310c7d6f429429ac73e562510678c23042b635116174a2c2f4e8e8becfee1e4ba3cfbf4e2ee541c7f7c27b1916a2aa165cdeeaafb9f81c84e9754d196c3a9bdc777fc55d86b6bbd16270bc4d3cc75c2960f2a7a661105184b436a31de2cefad722a14abc1cd2f2c75738b2c81580fecff78d7d385b20d1a03d4aa2c21a168e13da18fd628e34be16d821b48136b6dcf7594ab3e1243c0a2a9e785fe40436cc6fc460879b673b068cd35a9114b59c2dc61fb875310e103610b74aa5e3620c51a257dcc3b9b0adbe774426ede0f779ea9d370f18a19d8844ed9f5d90ebfc4e0607a467645711da2b500840d4851e3de63723283bda8d08acc51a012699df0e8f5aabe269206f93ba4ca6597e17cdc01d2ead46b5dd2433b82237da01518ee3168b133b6a42e9a73194fcf9162b71d08528254c34b20d692e141c657c969d\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 39c1fd7fd0bc4578c3370787ea5a133e8a34ec9702dc1456c1ca7f8c3cda7bdcb8beed72e4098de5ab3e467f325141a324ff55af1390ff6f3d0cdf680f4319378f099604c9044025e04ed1af1ba5c74805265d8963684c7555cb835e8b1bfc162812698679e47b96744809002c805b75bcc5233f378fdfdf3e56593bfd6b0228f416f58b4c32ec0c2d32fe113cf7f3c347425b69e8bda1a2c5bbc3cfd0c1bbc609086d91175fab0adf050a8b3e904fc4a700d747500433fb72c55cdc25bd283d1bfa1db93604f18b8960127e9b7080227235e6ce234880de8e3c49d5edfa205140b8ea383e546e0bbd4c5dc59d0c058670ed91a02a3bee241ccceac20d434a442bf35ec6d5922196d78b080b1c14aca63b827434679d7b6e666db10dd9a85b2da60c6b47fc97979974f11b6051fe9378d96c78328ccf4e5cf5c120c2641b3f6b7abdfd0832fbcf59fd3787100032ae65aef2b076631788e7be1019feed9b863f39759525be659f3ec50dd7e9724bf6d09d8b771bc60e8a8e788ced8d945c89ab\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 530bfb86fd2a4b31587767d5809e5ec2002cbdd9121e135391392c242354844a9b4c8993ae61bd85810a0ed240203cc4be48ded5997832570875a7b775206460067b30df7c3b7f7af9d98e436f0007ce0d6360de0c1a4e75912b885d1154ebc25df90465ecb5f07a6cc477e44d3579f3a629bb49b7a19a619f44e6b630b684f3ac4daee5eb386dea0386593be825a696656e130ec0e4a4bd5411c45ade6ddb4a6284f343b0a746bbaeaf03cef31120f19f2845dd9a7fb818406b0cba91598ece880836e0b17e6f375b8941381d0b301d0ed1bf746c992649b40899d2ed2b39d488981970cea6da2453b5fc85f23c8d671a3c7544f4a7133fb500f5448da44d4c405bb70e85aa3aa399204148c01d1a79de3f784dc5a9141dcb41872461e62deca48dc567b984ee80097a099290e413e575411faa54f7f3387cd7759f71b8013ddcf9ff2079503ef802c54fb731e3131316c93182dead523f41551bdd3a96a4261bf6c3dc72a952ed4b7cc95d116741c653494b5ba8ed9aa565ee57ad22a4dc83\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 94e0075930de07ea37f0eca5023be15c472a674513654d837befcf17765225c73d17e93ac4c69d855027747c7ab81c6bfb3080ccd5b6dbdd41e2ea4871fe30131bf2dbc143ddad0292dd4156c60cfe5172fd9703729daf99b2067334af23a2aaffd0f74d574955c406ef8ccb1796189c140d1a45701c993737b9de11e44112c4df9a5b2c7ac827c9329c5f63f4bd740f3f1baf69a8fb6b69ddf500272beccfc2f24902c592b91de99783242fbe9767f3809b38368f04b02d973c761fd999b0c69eab43a2187d6de4fe5455e070e20bec5bcb8ffa5e439b04e3883804a5dbeeae652260a405ef5e2e6b9b7bf7e8018065a900cd831b05674a093650644c42341c3f5429d59fa3aa93737a6b525a80e0748518cfe19e6a4de792d3bf842e2a864f04da31a8ecd0b191ea656f1c2987a1973ba1b10e16b09524a3cd07c96814b395b29ae1a434e76bde8e0b6e4e29ea3c6871ca447fddf077f53a4c2c3499c7e96dc6de112cf28ba83d8d274ec03fcd1d570b74e22ddddece554b7645380a2a7483\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3e65342b3d9322ee9b0473f54f0c3be5a17f56f2cfa5a8168bcf3001ca1256be867d3a575b07c3d7d020037590aa10d75dd764a1d57a123976116286ced29b68e3b625c3ce0c235a629e27e4f8011afe4b383117a8bfc927a7718bd81ec4a156ef6ec5cb206c2f23941b595ab3e8e4a3eed825c8e2af444cc7b0ae0e303c8f109cc149fed6e8a2679c55a2f483dc64642170d0f62f0f20a5387a80c5ee3e72d275a8c3e18c65de6f9af8a7ce886b83d84cd0270bddbca64db5d6de42619ab0f37ec18594a09a80c0183d44dd3ec6b46ca4846daab73effe1d5e2d8ce302db26708ae9223369ba5c488bd11ad27751abbf994e2bd18cc999dfff0f65e8c6d6d04e229252a5d6704483458d7d094dfdc96cd5a7b0573a2e0b50fc14a8d291fc856e63d82343534b75b25298c6ab7af401ce1215cebedf87635ec80d0cc228831d26c40efa5997105fe4b3786d0a44c17be443a67181d35a5ee56da18b7e97db573879686a406c3bf340851d12d8ed57c0530433d655aea85eb3211bb7f128c91c0\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a7ecbb2fac0916fc1bc793f4503d496cf2683d1529632eaeeee4fc89bb8174e7797a8d78faa95a52da0c4c887585d61c680fc4d1224e02d3a0dd2b33031120a14be8ad16e267656c683c179d261f6aa6089a14122168748a4bfccb59ecb086c0b7edd342bc61d2a9a2f5aab2f4558d458971ca04672e513d3db5784db83fdb93816bf8f1b443470973d96ed20a7d85adf93bcb497ae07022db0f939028b9387a1d448b3fab2408c2754478621640cae0ee6af76fb6e653e4d418e83d431f7967e435b748e8c7a26384addf77115e0dbbf7cb5be6ec0d11b183edd6def81d0554a2e7fffe692e3cdaa6c138cd73bff960f047c0226ff0ce1abf9d16ecca4c3b998ae8ab1fd1e35f80b04979ecf0338497d1df5cea3108bdcb1d0bbb6636ae234cd81e6f2df123d263ae38924783a2a11c85b7605808e84433dfd72d9ae5b9d82fc6a8cf385b0994d32afabf3ba62e8578ffac2073d81d69c808a2c9f46b1115ce7f26885d1be3052ca23e2cfd05e92469795bbb274c4cca1b992612d0610c27f0\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c2c6b135814accef0caafe8a22b8cbdb832a30c997edfd33e01a9578e309988322f08c64704080dbec0469274fcbfb131b4388cc1181ae2004a63cfec1080087dbd3b9e7409fc0f960ca721d456755f1bce99bc91ba36c65e747e4cb693ec4253f0ca37d8b9d64d5f7d0526ab809a4f476e6537263adc00f20d4261d78e5b6f22896706c665e885d5283716dd959400d2a7cb35974a3a3adb1a4bf3bf36e9773ca539787c0f6a05d17b75837452e247f065803513eb8c6c995e989a52a5d48bec77930a91cdfc1f373c58b344cb1700b7707a1801a758246267c8ce932035f8a93241f57e9ea8c4d2dab3ff4c5fe06caf37e5c996e60e7bcc4f3a6176a69e61df24f8cc080b7489bfd8395d30b6a4cde92ede49a26a0a03c766cef25ca6bf982fc3126ed7b1b1b2bf4a7ad9ddbe1a3a456a6720953460cebe6e1bd5c333b9ab2812f9b47452b2759436137424832753d8a97fd456603c5585620342fa1dd056be6247297d5758529c152d24fa2644e613244dbb66815278385be78cfa4224b5\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 27b9f6f0a34cfa0a71fe15c15c910b7c8f2096225213e7021649aa3689ccccd5e2041578ab5be9d110a05456fdc516c5675561dc82a23fca94cd66df6dbd4b0805ab85b57734f5dd2d6efcb1a0bd8c3da6f8ae7a68f54e015a324212b916a0eae4095975f76f509ea383edc4fd888217abb893693f821f4a3c72dff39dfb0fa7abace8c16151d01bb81be374122f0e479748df2c82ec87b443325ba908bd00b2cab985e64c7f6a1edc62787c64b84410d93ffaf6d9a33bf3164e4348d7e1afeb6cc7d3e8a51d723ba6ff27ff5ef1358001ffb8eaf651cf48ca5534bf5d86650e73b540226fc2a2c1a7c52e6003d89a108a65e1c9df183b47d1753ea697f05e77b3a13cbeba8daf25683a6bd423b2b7acefa66eb5e6d08ac1984007aedb7df5d4fa1da1aa3c6ea5f383571aebfa42ae1d42060d996cd9dcbcbfa605f002dd7ae653e7c295eb3c3d03c9f6c479068456a8b0087f0c61492ff7c125e3bffe30cc45a136d72c75b047b246dba18ebb41f3fb9ad0216a09d888885b4402200291e6f1\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 39c7a8c06ac4835655fa719be214556e0adc5a00ab466d88d33e694c30882e7c41", + "d7fdefde724fb8255a44ec4bdbbd03d1ed528b4ea980bde20717349c0f2eb78141ed6f4490173e62cb2c48b76357c7816d1b0eb5f85391143d04cf6a100ed6917c46ec661a35860b3210ebf71bd7e6b8e4b8909914226ebe925c99a7a5a66f1d02c876f25d80ad4482899193d9a444a8a1d0ad8d5afa912b53995dc36ea89599f4f181241a6f4fbe698de8c7c794a82f1f576c255e701751d3815f5b6fe93efe9a678d2422ec9a4a5d090beef2e552db07a4d146f90bb4cdf1ea6fb844ffa1948542bdaaece102fa3359d2bd23c6447ddd64dfd7e4c94c801c2b6ae17b07b07a4dc79bd69ce5ec46aca637845a0185a372feb8adb7d60996133b9c37c32a9ad869ff5534f39aad8701e3487e1e6c8fb9ddaf71a1c34374a09ffb85fe44790ddea79439bae8eb51ce12e5abed6af335ad1ddbda07a8507b6df0d0f3ce80dec487968d29d92a139eb1d5ede5c28240320c5ad9cd0edefb69fd156f0626f6d45d\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4c8a79462d5c62f418c83b35e67899db78b04883afddd506855ba23e7ef8c5336c1492faeaf1d57444d1049bd008c317fe7249d5decc09fb4f39d7858edd097c3949c53bca1a439674a61b355ff5a9388a60b7d5c7255961af7079e72c07fade552d0b77c36ea3d2f0c7c9985b8ce478df8658de208dbf4690299db7f1d32660585b918af94bbedbbde7ae9444972abcca2f6b3c4004e3c87940793f1a625d932ba14e715dc1b5f9231e0f34956b2920eaced888b3a320ec8376b059fd48ff369beb1ebfd32b9e9c9623d28b54856919b3af12239df425a055cf43e448541af94b88a223a90580977a72782b831ba0a88877cad65f8fb49c68d5e3b2f6224637e61f4b356fda8b8ab916cc31b18e6f92d33e0e27971a480491fde857715cc55388b281e7d313ebb0abe3337f7d4544ef9d144e402f49c2b71eed30f8ffe8e600c31de5960947bb07fcc4e15ac0d7bf00bee0920c9f092c8bed16ad9ab7d752433a96dbe49ac2cf33445257a51dd347dd77dd5ae0d08b223c457db3b57d727f52\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 93391857ce1fae6df31b1ad972189803a1fc3ae91b89a264ff86246d6efbdc599003bb7c35814a4215dfdd3932834d4064b497f464fa93054363f1fa5e365825d1b87881e125a50deaf22d75aae32fc0fe1e8f3115f7cab6af0c2aca54d6f21f5a72fa77a0731c9f8ea82ac2e31155fe56a7950f61fc1b22c274203ea91b28a4bba0a925ecaaa017b9258e1d0f492c24336334e328054a12df916e1e4108d0b7e5d8b2bdb3d4a10282cc1653b9df2a24a7ecbd753cc7677c88c2acb7f741e3d56d670c226a827fd6b19aefa445bd277eed60dd13619427a048616dd26770ce76a3031bf5856b50f0ceacc7bbef257d86f6e9fae62aa6af550c9d526a6076d1de77a9097acc15728cbab9fedd1428c33a89e07c0a49dc89822558da1da6db6f8f738ae309fec8f033ceda8773ed3eb5bf6203fed189c3b7a774cc5f44073dd0db9e4a614bf7c8005d5c6e022fda36b82dcfe66f4679eea23269ff39213851798e63e42c1ec5be20b3cb5e20787597b43248d4fadd1c10cc94d066639736b7781e\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1d9a1575ce2cd06e5f160063d03199cac5e912cea51439f738d98ede05aaf7b821d8b26082ecaf4d12fd01d0f64be9ea2e1831388cdb5e7c7564b73146de8f9b5314ad6738d98e1053ad0d7d594425043ece575c75128888d0d7b090ba5d5e008be46abadbea23c9b7741a023151ef281d99fdfd684408992a8aa9f2c85376a40e53d9d223ef4ced563fca832ef03bef29a47bf381eb6728830ba37c69a99568494efc85370e8e9c3fcaace1a59d6c98afd03a0e8bd5da2f5c909df5710e385ceac35ab0fab92a6cd918ca8d32cd5d4bfee5dd644e0adb3d188a5d0e7a20a305bda34ec10bb65c922a0c074e8427cec78a590c095a0c670cea6d34bc7a88b2f1f06b00b368b8009cbfe6a14b18bdf2b01caab7041d46e6b76fbb1f63e9b309f60fdb4f1a6033a11dd7dc1eb15d7faf922b3fdde28796c44e226633813a969ae1fc54388525d0a125414060862718bd0ee1337de2133fc773d06bf83987a22e4d2e883765e3affe55ff8d92771da79ea0898258f0d7e858fa3937ff24f122669d\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = c0177318feee842e802480dbe0dcfc6215d75431a30bb8492cfb1cb84f7ebc73dc37f56cd0dbca1f6a6516c6eee3de3addbcbd569bbc79d533a4f5955d95babc717cd4c8f5039ce49ce7dd20aa44bdb96a394f8499172079f8ed20c4ed780ffbe11cb00d04aeab80c882eac517c153993892549f2d4203d8e3fdc719fd745b06103b49f54ad51b6dfd0f4c94b08b7059875073ac11701e16af0b73d7b305d9a420fcb560b490d01c4afcc52b9b21a467e95bce62da8f559527066116c602bbcc29a434ca04ea3227a25a07d733f1b867040ad1c85b001904c749505166635c217d8858e637cbd74ebd1b86a400961f2713cd00e64947c2b5d2b97a4ef795822eae56328bc4bf8e8c9c8bb8d759a3743cbe9d368d985299d8338796ad6e24df7eb7db18147450d2db91000c8667681b47aa9f0f2e08b48aebadaeeca32976dd03ba94ae72950803a07f566e091670c83c8ad01cf1a2a921467010c20975e1b9653a7b56d2137799eee863a576a2275c33320445307670bc62fa039c7cdc8094c1\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5675e16b96e961dd428de891451ed0d23706165d65392d277eaf846e24f0c4388536b2b52e519c07d0e10686a164bed5a05314249a77f77d140dd16d42fba947bbed204ef4c8a958e49f3aa4e62438ee333812d6a9719ff166839e467080d8762a4268fb575a33070209013741ae8ea0c757bb44d12450579ac8e22870569c6892edf1fdd0bc12a7823b695c4c90e93c3cea57c2fa004eb3306d13ba60cfa7aa3f1465a232c3f4cbb765a82bd59551d0f130137829871bd35cea7c59cfa12f188c91dfc214d8102810a7deccce40f204562993633ba4669f4d7d02418d5a66db59af8ad001884969b8e00951492bd846ad7db619d623b3466cfa062ae9282a1cddf150e761c90a3413e92f2f1fb2b5b62d410cdaf6bd8885d635f05f20331416fc3808fccd342764b7c244c1aaf78fa7a1166b1b204058a16ab750ac3fafbafdb2610f52164f75e7cff8a4c3cb899ebd5fbe1834682ee94e6cd810a4015ed7f0fea7f1494c5a477b572d172056629320307e8ece3f72de5dc0652e688d79d154\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 562cb29e3b27d68a9f8741a57006296a943bee15c1e0cff97e8748ad822a321234a15fb3b89f4e07c1756d693507461172981189e9191e0175c71accbc258d3e79bbc627365c95f19fa416aaabf223bf22fbfd46cb8022a88600fdaf84aee70e9c8939e24de4e8a5fb2536c4fda5e3e3d71adc377708c1f4d7982c0c2267265d4f85d9e27f689de2c216a21239d6d4f95dd30ce102da43ec1b3e72ee5696db8c63cf06d94b8ccba75e197b2d26350d35336475f66de615daf8c1900ba37d7699ea881c0f7af84e936c402c08e15d3923733aad0894b4e78216225911ceae7f4c770a17d90fd7178a196050bef7218d7e0fe7fd22eb5c3854c806a5cd179e3a82b59d9b4e9e2dd1d4cd998ed32ffbf19a91cb19149c948b74861fd0e92174c2f35c82c9232a8413adeee723fe489dffc8aded50c7716403c02549802e083f16584b05e3f67a4e726dd8ec6d4adcfedc0695a47ab75e6d0b0486e946b6485f89162349eeeb88f20dc3095ec5f45bae1c2b7af4352138e864e6fec18b9bbe98fbf4\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2302f69cbfe30dbdfb830918913fb556f2634e268210efcd0afff8bc527fe30ea1dc36833b01fc1b7b1d8781913a5004a24c2412b9e0713b84f228b6b08349eaec2ac6908861157576c89bcf472572be53c0075e48534d335b954f46aa456c90653912e07137a418f8eb59329996e86fbcab8e585d80b7a8f97e7aacad3d08d24dbe30a76ef8f47788d36926e74c0f24df942f73fbdfd649ffe9a952acddf3fd8ed9aad055c3a950e749dfce25d0c45114f40dae0a449f23d7915dea8ee1f6f163849affa4b7b8105badbbffc5690190fce192f4a647b81b14101b4fd9b1f0379b08379901f0908ccb48d5c88e8a3d0b6563bf01117ebcecbd84dd61e6bf05b77dd2a3c63d9c36a394843df28b8184de81cde4f381eea84822002008938d3549550cdeafe31606fcc282ef2c2a4ab90b437d0975a6d576fb705e26131bd07add5bcd34887496b653f3e9c2a7760eb367935cc8052ea896c6f2023f0d2a5bf3267835cb4adb079019b8974426953ef1447069a79cdb51fe8c32fff14a9bb8f78e\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 92218f94fc3552f215e98d21758992429cb17fc3313f780feea3f482d0e32cf97fc8832205e74286e69a1fa35062b984635687692d15e6050376afd8e8501b4a07e8c61006a2fa6eb27e2a4c310f54b907808027eaf9cb0530f8ade781c4fa9095a41bb6630c1e0973783eab65cb0849f9c8e89f3c997ea3ab930b4fc629028dda3d5e0e7dcd99b2951282c31b8e3739b6724a414dbc254802e63a1a6a268e7fc6a91934cbb27d9cf0ec994fd02334a7451c3658e7ab13aa5dd27e81736c9cb316679eb9a3d3f87c3739ca07a7be08a0402ab2883d860867a4eccd2476c8d9e37e2ec214d6895664bdda7ce7344c95622791cdfaca32508c8b7388391846b720659de2aea7bbb84520fae9edea66638270e735677f175f115c582f8d76185e8edb3d105e3d6c0f490ec486f7ba41f750add6d50997ec85ed351a2b14a4c328a41faf70ff3e50fd4ddfae6f9c74fd72a7c1bc0df045e31fd72f04b6a797e0cced07bf2fce788d75ef6d783cd6e4eff98c49e99487c76ccd4e08ea26d36c29aae1\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 55a36002b43d9b5a2f99ba0acf767cb04b54b7849fc2443d123bae5b6c6b6fb666d7ffb96e09580462df5fc560cbe9744c166f8f43be98b7b61ab71b86323d771eb6aed87ca4261b4e4d76af84813173c01cd82a87fda653c47f3700fc2110a852def8c785da96dbc779615335ec871a31ac3590562e8f50972b5e217d45089a217e8b0b1905693e7dcd121542d11c0083b967b04a8927211ce89262329ba2f7875412b8785ebe47693b8f3b76f98192bdadd3f4359999d48d751290e87264a5f2e53ef5814225931b253b451a3246f22ee3fc7295806ead7992bee92e74b19dba84b1228a8fcec6fc0729f4840d2b467956f86a916129c57025c7465fbfd760e0ddfb480f74", + "8c422c08a98fd0f73a5ef04b28fac58355e6d9bbeafe84d0b24e6ba19ed317bba9dd6b9f0008d5d150b3a27b839ec2bd72205c345211c99c8bd92db11c1bc16415b082f0e6f23bfdf9fb00b80a6921a023cd2d8565d2c98c60b5d44b2593126f6ebea96c6529e54d3f2a503262bff664c955d6435185247b32b9\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 79ae98a76ace727161e1ce51f127445bad0f3aa45443a099d246b3e04057097bdf2c99e744fee3a55a6feb7f386e89b3b4efca1cd4bda07c0fb4a06c3130c9d23550f56899480f4dac7b74af496e74271eb23f96236d61e12d5fb616b3bab8c53845816efde0d33a8f041fd0b8b01391e99811bc4723941a0b5cef0974eeeb2d4726b51e9a8687709788abc5376374af650724ba6aaca36b854afd09fe978de357de3ff1cbaba28b8afc24887742656fbf6007f61715e9102aee9c1544d8e7300196f5ed3d86d3e665db7b8f98d16d249f92f34b0faf3025387c31b5aa572404b8d3338ead9d7e4a9891f0796cd6866ae0b34ac57592ead287b984794d6ce7da2c89ab5b352b79ea94f8c0a47e03eb11fcb7cb55d2d00a88a09e22b9b8d5040003e4a8b9b5d411b21673ecaa59424bbc59a2e564d7d7fd8a3730c09eeed6b6f3f1a6af60b9e96b2021e27df6893a8c9c7bfd394c7aa02bcf2af96a392497ef1587cc271755b84db15957d30064fa1be2bfd8bb46de4285640e551bb8cbb843ed\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3894bf87b1af9047d10bbf45a65671c8f96c5603ec84ac2edb97684354cc7e1ce2050afdce800626c238b3de0b7d94e59f03c1926fee2ff49b52b11fe64c8825eedfb9fedc4b58fb53b9bed5d5f0447514e6e5af4dba869632bf92051e268835883d16f08ed8ebbc9ce5decfba43acafb72f8776a2cfcfea0d2b43e17d4185782cefbbc27a3a249275cf47456c1486fdb57396d5ac0321c6676432d25ffd946ccc781d521c67995493ca3e6fb05e46a1b906cb0e48096611383a072d5a2b0fa58c003e5c58311267922bdb4217a19f9405b79d0fec5a177de5247f1f939d5b9201378d09328aa98d1e5a7e1efb63ac9bcee721208cabee3e488a4551e444d47236f89a6846d1459abdbbc2096cd7dc1fe69bc3cad5ec7ddd02359c6b96398b455a39022129ca179e1da702fe7019f9d73b8a8bc25fdec727bb70dc1e69e57faae10c8fe6a71fc903b1c2272901a94fc2721fdd8642a61666211f8557bf5f184e524ce64978596e8477ec4ef9abfd9ebd170ccb632b76da9d015d3d7f3306a0aa\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4bce06246b965920ba5768f11973b7773576c8ca811031d091fbf88f0aeeef793859aeee2220a543df5dcb0a6932ab7eda80ca2d9a45687d00c570c0494deb6960424d936a21664108047a4b4f0a3f120d337c7e010e56098e9b707319b1e306a499843d53ae351db6eac5538a4cef9d49660345bcb5bb18900381850b371ad17a47ac57860d1ade90b839402c6bdd8479c79e27fc9cc3fbbb8ded4348da6d70ceb8b6c95d9c8efdc6fc0a51f952ba0e7dcd21f28dfbd39362f2a817c4045b1a3cd6da4c2bfce76516bc918a11dafb9f0c4776bf3f23802b38be8d03cfdc6b3551998842a028ee1585a6c232409469a869b3b144d5d02debfefe09a8e14d0e915dfcc722fccdb87e055929140257428de416d6caeb2437857d585ee6c3a4eb64a5d8f51df2050f28286e3e1987c6e3e3b22131597ed1c83410a2569c8d7cb04a80ef8f37bd043230502987013f560d7ba865759a01f588611d9a9783753093d87e3da0827c7903851ae9601d1d0e7766ba645a0a386d49ae2c5eccac6667f449\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7af993a700d939dc8e6b16384c311e092883680d4825c26cea5c25d4b738365473b0dbd01e944d84af0f658993b35c1dbf8a657cbedcb1e4b003694aa401c8e568b4e65c9646cc861d689c02f4f1b176acb79aa8eb9006f0f68da78f41eecd4869ecc576f849e9a20e6c1132f9af34eb92da154a459b5a3034abc8ab4c5b26d8721b89ae1099f88c971a9cd58c28369a9274bc7e2df4eb2dec049fea944ba505f61f3d6c4d65e643fa15ed99e915471d2631840ba05e7e05c714b84f102c8fcd94fae291ab216f0845bbee06a5452ed71d9e429bdbd50d11710890673c28de3cd07448a68c92ae052256837429590176c160e7eb42371753e778a6728a40dcec33d58d46ae03ba97fe2f337288a7ef67d71a42ff3944c1a0ff29b8d59820e5b3429342ac74f2978bcb4b56d455ed7b0f035237863f0dbb249f570c591d46a67ef2ec54bc9fca010d9b6c018c415fb4eaa81bb6fad502c273e72bae7acf4b4e3497c9d42bcdbf731c0bcd04604d85171fedc4b750b63d31fdcca389b6ff7e6dcb\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 1123e2e0acbc7c8816b6dbe2af9359a2e0b6c10dd522bb3fdfae93855ba73a95961290ed808b3ff8eee8a9f58f3a77f05d03ea1c09d849080c415b3d4214a706692fc72692a75c07b6bc21b9ba4e79f842519b1a5c67259f028995d34c993d0ee0d71262892e3e76d677e838a308a2b4bac5fe20a6ec073148b1a420d5eb5bc4f2c9a45b10ca993d51be5146ca9ad4597ac6ef522e0441e2977fa6470545b086d434d69871561033419e8540299d92f5425e91f82ec902a2d2f5ae8f9017131644107d120786802f30746a116cc67f85ee9676d1738dbca0b360ef257588879f2f6a441d66d5aaa20a98ed3f57a73c3b96e4ced07b8129b50865efe1b8e20f0b81ea5cea294dc99f67cb515a25c646b749b2cc3cf18a41f1e3e66d77710b1854c3af1938a74c991a7e7a93971acc3fc3de3dbab92a84b498d711718106c98c3fb39d3c6eaf5c3621af25d3872e0de8d7588f742183918267458e5975bf5cf0f6c43846ccba256f76529580ff9913776600d1538002690dce5bfb8cc3356d96d7\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 194494470fb927c96faff5627eaba83b85cfec16ad38d166a5d7858d6c77580a4a8bb94c16eabf9b22e7653b7957aaed312695df9bade2b4722dab393a286fc2b734cf6f7876083d42f238d0af3082eaeb85e61158e9dc352bf151de4f1329e7c379b40aeb312fe331df8c460c423ce08bcb6290d7e772a75ba6679eaf4be77227c296246eaadc05fe3451203479eebc0fa86ae86ba9d3b42160f0f58ec0652805000ee8e520fd58f80421ee5e78436ce64a58a8273d512bffd3794b04b37a3f83e7b5805d19595f61d07f7a4790bbffb57565b27e8edba4273339ca62fa711c22ef459e78429e9c1f06f6cf8c6c8d5e0aec1bb88bd29a516f6bc1789fc790188c26c484231a78696bbcb181f608b08084426e49daef7d7cd080ff0a82f9c70605748bcba1fd4ec4976319de01a44b76097f86e627c37c37e92ba35bdd51027651b47f9e87e8490f7ce2d2ef8e1566da7f3bfa880e98564bbe2f80c642d30949391081801af2bd79e4a9de3116658216b9bd7949752661d7ccb7ca3ed5918288\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 9f6c7acabb5676d40357d7f58dc188aa11da3b032e0fec24d1d377e9dc4aa71d52945873bd82a6b1540b07f6bfa3158a11beb46513446cfd8af28118e693a4f700ce677988221f2cb0f308e29b42feb8c5ce768e34a9ce889fe5429b6b1d9dd5cce537c311228bc524a983ec83d5326cf1141cceabec8170a8ef00d3e003a86962ac760d6de2f906499e60ddf6cdaa394ff2880c4cbd7d658e02c3babdc8c39707e4ab59ece61eebe3e6266d635e0d594e1cb114b699022149b2105157d20c0d4e289c8558348820250a03931033b2cafd400cf62c21a617b16e83cf9c4a79a1df59101eaa180d8b61e5ac2c387f190bc5d01c0766641c8e796afdddaea9a8f625a7eccef21cf8c9bbb391f13fcab5f253f598b880e0391c2e34a64d1aeb028fcd84a3158f692466cd953334db71f4512030534f31a21eb65b459969a00307e9b2ab828f6e4966fbcadec694a394a8b89f94ce1eedd3d2731fc01395d30794ac2abdb0b60dfd14a46b533727d137168fd5b42183cbcb79d38b9259b725fd2485\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 315f909380797c58724f05150a19becb372342fc5fb8f0073633808be07fa49be3cccd3892417c925674707c1e36e7188d5f1313eadf99a9907d6b0ba2093ddaa28c3e030d64448d935e2a56b7d989475a7a7e577f2329c6e8e2b2ece2a553679ec90a15089b494028c914d883c460eacaee1eac472f000076a4642136ffd2558c5b7033d71cee3a592899fcdaa05ec41de962f19060a32ec686b34f85b105a413f3baa819bc6cdea0f00fdd07900a8b041fde463d7e44cc6c45c48f7a1974e76e0fd67eb495b6448d739fe091a99eaa79f8436839daf485085253ced9ae1d5ea2dd5135fb5caa44d51d728c4e70479c6f0c239fa585fa557e08062edd07141754543c5af6e554afe5b54e7be52d886c83c7ce6ca9f3fcb3e8329816cc6c0d046bb1daeafb271ad6ed3da795a1b8fbaa3a056d407aedafb457045b6e067582be605a7abcd4643bdc2fa492df1e0fd43cc3e8cbac05ae240392ea02db489e6a5561895dfd14f47cb5ec6ac594427642eac91cafec05182f3415dbdfd12a348c3d\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 2bff6effa697277d05bb0a7c6a7f714a0c2f23f9870f51c6b2a678d3b06f5c892d75f377f24fbb14c3c9aba52ae06d3741ebe3e116c0d49dc4e651251367fc63720c8553646bd7465298ccb7b4bf765607dd05052fe5a660c84e0e516aa67540af1ca35befb2250602742a53d4cd97cbd98b9136049336e553c3e7dc64eb39f3d96be6fb1146c16f2180992d0f16fdb9a4c9012753901fb7b293e6af23187c76d9ef55a6956b299bf9e9c9c27c9a4fd524360a4a6988ca1168f35f8bd2038869d77f117ce6d20e710a78b363973a08a5eb091a5ae7332e83617deca9911a2b241aca731624905b91ae63a87045bb2c356c934c70a6cc22bcecd7eb26adb6f98b1c1d727582d7329235a438e1161dcc01f82f760833bfd8d54f8d856ec475ef342072c3d6066425cd0309c4bed7a0861afd7e64b92cdf969ca4d2655a2ee47679134fc2ed39b41cd1cf2665eaaf1e21e8bb9fe6f19b16a057d8277d68ea7a240c95978deedff766e84ef46490720a3809e3ce2a9994af4a04de2059c5a393cf3a\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 6e8ac44ae4bfe2af008414861bcdba58127d547d3b4ba6516ab18875ca3dd015dfe303d54b50b2fa8c001951d16e64aa9c2b14da674b4547317f14d2921f1f22", + "ff72f1529dc8074725872720f3799bb9364e27add3c4eed2da587a6a8fa45387a80a68b879b309447874b8d81b74c69486c53aee543ec53c02433c9d405b86d0bca97b34f38db3e7536b838a87c2e007cdb675b7c93be81d1b102ef60672b740f3a9c8124885b6228bb3aae713b69224c5278cf9d4b23028d8fe0890f9897b215929e110265d93b66b98357bbdcd7efd51598012c313b120233911001a8519a9d98b742650296f8c5a67ff0fd0446b3006ac254cf8085036bf6074da96230fb0ccd02fcd95fe4b1e8dc7cdadfa2677da92a80efe36081333c557a4704422c3780a00beb6670a7ca95a30c9ecd78d46c88e30a081d0445142761ffa4e8c8682610395d2de0602043e6567a6d62a77cd6c697fcd362b13aee3fa92946036086ca3b002f1eef8dd5550a4aec137a6f60f7d943c9522f55cdc14dfe58639b17350a3\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 83dc093ac399d896efeaf13a4e5b9f5404592c7740af42186b01f2147e3de7f3f46ba323dfa3dec885e10d92c4f5871f50861dad583794b25e3ca2b68eb1458ac3640c7d13711d3338dc509f10df2c52620e0b7c2e2a72608fb52b981b6191765ffe4e675c6a7896c0f026598a3b156f1777b781b6ee688ccced77b95b61ff54b1bf492cf732b9c7a8212b18b5c899929acadc622069c6b4b905add8de54a2332436b5e6f6e16d572ffe46fbb76067e1c67c7bf58d449d2cecfebba5cd7f8246d6511cac17b106e7421c6c65e704a2496773fe86b937265cf27e81a37a3f4f5b21e47fe214e84a9163cc89781468b3e5868ac3414dc112f0fe159d909fd312382a8b76fe194c32bab360d9d694fae4a1c9639103556a7d283252bc922d889c0d5eb6cc657373bbb02119cc8527e6aff051d555ed12806f7b22a5df8bf13c5fd35d5095ac6af7e106b02d4b18dc4400d2404a3221e1f1c8027e722ebcea1d6271cb878d0e6b825f4e3a692fe7eca65c4287a63a3586810c3865cbd7fddf450f99\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 6823574bd9fdd7e59ced33e5660e9b5cdc90417fc350cb4535d78dda72c07ce81ac1aee37b90a85ae15f8f59be9461e846a45bdaf3e5f5868b83d1c9465b080d5bffeb933aa9341b6d508b059cfd2e62dad31f35d7fe9058bbe65024d0f73d43a3450eaa707957fc452a69ab9a8ecbb8ba002c870950ebefb06fbd9399bd08d64f72dfb4b2d3dbf662daf7c2c1dd8c3c445e1402e2009b47fd92c3a23864a495037b7f2fbc3adf19355f171e2a9f65f5a3a2c45b131e5398c434ac6daff018e5b5e44b9cf1564cdbab39f407a334fe1f05ecf84f49cfee88836d1068012b4fac6b50f85f8b1a8c37a333028e38f719ee6445a9fcdf7bc0fabaeff32dea7e45d6e1c12003cec8dc5680be584ef2cb478b9988fd7484e8d374d825a95efa5163309eebaf962d0b8ead00b4b9e4791dd5c6bd26c085c96462f2e4d19cfef3a0a97cfdbceb8c6ac2b45aac1df4be4e6c775021c6730e88f86babd96bddeb0e36d0fc573c9ea9346d6a93bd096c8fce248b93dbb0ad00596788cfa6fc0635fc0d0778\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 90954e5cdd1888a510092205c3f66fa1cc9ebe82b14e80e0353ffd417876c69701801153402aaba503e98fe9020f54f717b0af8968fc2524a3081e709974ca8001dd93e52fe0d1782e3eba03a51d260582e4222937252e454ae7d5ac8ede7a4888ff826547350c594186126efac622a44e9731620a57cb73de7e29bbfd727c2dabb6a5f6cf3eb0dbe072990a8b8ead67b8a719e5734d7f4d96fd674c404491becb4b3ecddab7f872afa3326b7e18d47d3332f654793323e13b4d9d2f77871c7ab50ac4d76f57fce635da6656b1e09b3571b8e841835023b2226a4ba8cd0b95588b0827bdd4b6f45fd183100d327777c2bdc0a0d55f0e4e1760cdfa7a2b701f06c0c5800fb49bd48d57a077ac90f1726ce2ead834fa1bdf735b13fc234a07685537a5eb01ec44ff8dcf086d2de02007981bd2338bb2b455a1379d72ca8a552bab119692b9ae1f2851ae5e838c33d1d2255114cb3223edc18512cd41057b71c4185022c4765049089836d62020905faf3eb92ba80dd91db64e51a75dd4f206c140\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 058742fca1521993d7e3bf04b3369a8cbdd505da63f7684ba9279dc8db6841342664a5d780dab0b87cde7b2dea6a0fe77ec1b723a47592ea932f895faf2d1e8dd8ab16228942a217db65d51c5cd29c05590ce9ddbf6f19111c9092e60e48ac5ff720e0f76cce93c6de41023033a902be28cd5c0203d06f589e7b63431dd741a3e227709e73793d0e2bbe0fd22dfbbbc1bfd8343dbdb8ec3614d771f1c58e107b567b81105546a3b2b54d3b56f8c5785d50f3cac892e03f7f879f22c80c4cef3faceb1038234e6bcdf2382d8565d3ef3ed668b05c64e08e0c7bec759ad77c6178161652b95142ff1bb1b3ef0d1738e444082f113a448e4aa7d3bd182ef8caaf6e2d07448ef5ca7cf7933690040d6d41b5d19378f41bb9cc7e659251bb63444c3983377bb01a176828dae9b255885bc0d872d33a0a257940f3b30b352986f201646efeec10796c6bc43031813f33634b6450a2d9a9d3d96ea95a6660caba876a0f311e4b083b25e2fa9f69e405e59fe81d337ef0b27996e76c816bfa84929b8a73\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = bcf07d322c37a507d2288f6a079b037a6cfb1b5bbbe07de90c9a13b00d400f94a03c8101a2f9a4ea258e3d8ce167fd40e48e5ac42be2095302071f23596474e22d2b9fc20800c2cfceb3b92ba847717eeeb030e4304a5e1138976166ffd83467ae7790bcc4d0e1d093ff09b41b62cd389a612ff3b9204af9a24efee6ced39de96bffb1ad3636d7aba49f8deda056735afc848381546d9c2aeb0a72ed2602b4a619ab9a534186f8bbf5924618b49cbc35bb021e575c68ce5ccd886ad2d0c968292f2dcdd411826470b34717fc2853f52e10307136add9b68f7c79c56d992a08b461418781ce66311f8bc37abbb1dbd3551f924be3b1edfa7340267303cb48de616e7cfde59111dd1f91592f268b20581fd1936d8b3ace85cdf3e0d4cf55e170ac99de5bf5df69b851024858f8f3bcebf3f45d7831ccf72016877ac59ef49ed5d81112a2fbd9f97e40ff1e6f4cb42511dc246a75af9fff33bcde3ba9dfa3249a8df3c8429e700c1b3d701914802b5edebe909ef86b8f57b556da3b1f4e675711d9\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c6c491e6fe9fd16192b3baf32127f4f9f7dc21b1d2950e67006453f472cf4ba3fd7bcd7cf6f4fbff726b4d757bba414e1a848df8759a0ed67ac8275962c5e812a0e5ee123fc87a0bfbd9428e9f5fb0b484bc0e28b507606a71a5df14a02e968bef67e1a55f66bf54260e5563f8cb14d98ee2567a7653ab93050bc443f6cd857ad4e26e129350cf283ff7c6141ed0a5c5f9034c5e3a4a740ec1e80017c9f2806e87eb946fe7c2e322091632746788d9763a2c11563f871cdf0917ffbcaefa858e03503ea4ac73c6491ae12e9e32f67f217f903f6cff2b3f1beaea6d2fe4aa82dba43d07fc1cadf48f4891acdaf8e622edb0c8d7e0eb745e02f39e69efd6803105fc8413f16e891113272b1c3800b336867a1a303cf8b80527611fa2328c444d293287b226ca32172af6aa79f191811dcce404f5cfda1084e8b8cc8f26c875213ee3ff2d758f58db2e7eac571ab62d4095283083e5287e61623ea9b01be7b2ad31e887146f73ef3a1d70e86428b33db66de0a0e12d9b6960c00d9048b266958ac\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 43d99d627869bb5cb798be4db332583afc162875ef4200b10b0f019cb186a44894b511fb674ee02f4adb6e2d529ed86812e559797a7d60512747cc6a135dd708bc12f1acc01aaa6f6584a8f9c02351e23b77bdd2999b79660ee956e9bac5b98647068c0c6e1c5c5907f712b6993050abc872a217699ad5468cb420b90f5d74812e9d9af4e5a200212c01469799de9669f28d7b6e9726518a2c4fbe5fd1ec5ad66a1d472e8710fc5559b9e75d3aa625825886e9045c2c8019be254d2f11d3a55b9a3fb87f083a009a7a6634198fb9f4e6521d2706e3192e3e669fe201e60bd80574b5e8f66e8ea08740f3b0f0f3cb78ad90ddc95843e42bf4baac25adb2b57f667618ba7bd1c10b00c5ec14dfc3ff1f8f5c036ca7aa149f71e7560f1b1490baefb2b7d656fd6ed6e9115b9b59167a304ab7383e091c57f57e3bcf1ff57e3a4b99192b91f4297abbe9a5d94b6bac7fbc9a5bdb64657949ff0040ad276e2d9de21df2c02d68929a6c366ba3d0514b8b50ebb3224ca32ff88511d35e5ac6e51a28ca\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 544f8bc68d5fe49ca8188815dabf1c434ac7379a3796c5c78fea5fd2a9e36a71d50a194724f65cdd9c9562fbebd44f5ae3a690946fb6e528554f51353ccdc899c0c3f635bd83afd3429ea7cccef96f69cd6de7ff58ba4d22ba032bd0a113dbebaa780f149a47203a65973c27f0bf00c168382f2311de1e900253418c77d521d5c5838d4fedf6c3255d8c05051c396f0f6705cd511a94b19a96b043e3c4f95422cdce64c34767ff6373199ae1d3168b62ebc353b8c7e044f4a1ac36b1f692183729f8865d24966101ef047422c284cd9dae44f968b209cb1dc11c60cbe2880c3745862bc1c64899480ffd3229a551fa6e765f4c01731a978a1e2722f1fa0d7f235ef114523756848816cba51a561744355d5d484119faffb953f5ee9b32be692a09ae40bdd8860687197544c39535b196766e69ac8a05dc40c733a0d906d0f7735014810621a6d83a9e6234e6d2d9dc7b1417f8ff782c8f7c44c713dc9fe30757ff95cbcbd159f80fdfb86eae00bb8565d497aedbf3c4233c616ea852b60b199e\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 866c67760ebdc192e302d47ddb40a927392833cf3a3a3b9c33923600fa08443da118b47db980ea74bb73518382723e375fcd9baa773f3b022d37a4b0fdfc817edf2a4d9e71987e034cb5cd80caeb97881abc45e8e6b965941dab478d17039d98c989178daa541507b84df445655f1171431da75bbac810729f973cf8f3606529c89b036e046ad7265e4e15c7f18b319a3c870cbfb7953e069794978aeabd9c20d3b8a3b9a44b68b620196eb1817d70162b22078fc4a63921a7f35c5500de7ec0aefa27d93282ce80d2ccd42c2d3ef1212c10a833582b42be78c6e866e887b8ee329b883cb08f3e374ec5064f7d1b760b717976761a44eed64d12021e2fd58c9640398e616ad96ab2e56ac95e32421f7c577e00c35b1fc95f1825a0214cb49047ede981a0db76c18e7ef8a9628702ddb4e9d5dcfe55da36857c497b44d182761a7c185fff68f13684", + "6c698b5dc0753956209c2c0e0d247b815d711d49683e9386387e82f6b4ca232b653c365485efafa988e799ce681f3c7c37275391e56a3233\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 0767adfd75befa190f623ce2a00fd6c0dd2a8f1e53456489f8329a2ff6dfae00ec4dbd3156cb278c41c197bc80b260c9b8332d5f0d39fdeed33c772c45c17d3594bc37349a31a9ae58b4426860036680546c66d10d3d539ab377c2fd3ae25de99476f94187b895ef9384c7515aaf9b8d580eed7ed9273354eaba4ab57e4bc9b7b48529072dc691fd7e1a51a4164a795e2a3ccb2520cab25b8e78fa7ecfb057b05e8c056fbd407895e83cad14b6840ca773d6e6c8f2c3e7e34d77e3f746351562829a81e04450076c144176bf52c42189336313a71924964bdd34b207c9e69c424030e15e9f2daa50b4f162d2c872828606b12d71cc845e38149d76ce72cd11c33c46e837094b73905534cbe6ea9d9f84f74e9125a07c23dc32ff7535177eed47f979e7d98f62864ced2545a5e994eccce3c9ebab7c746f9a79eca3fa8523cafbe69b5fcadeafe8ccd00d91c1b0f12fc2868aeb19ba57863bea62391235eb35fa7924ba74b73bbd0929aa33862419982fae0389352840833e4c8442449a392105\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 1baf2ccfd98c3c37b60101bc5c8f3ef871937f3e4cd7a21fd765023f03437c3179e6fc9715d6ae00425c7838e5a5eaaf1effe9f7b591f588667a596c539326e8b7d8765d78bec33e057a25067209dd26e7a9d149b0e0a3ba13d7af57c436ab9bebd871a2cf4f88b26da4ac30d6aeed5e67b871eca23c2dc34d0685a7bb9ece53ec9e99228c0561578f39c269cdf19e8c98cbaa2731ba1faa1008fce7df30a1e5f26beabf6cf0716faafb81d1de203a1aae8f6ebab2b123697838b3c0896786fee11e2953667900a7ebd359bb81b340c0b9e4353af1091b008b5d5f8ecb64d75c574193aaf772be64ed106b374cb842ad62adf9c98461327f254f866bc28290b425a3ec9d8e17e126fe930d58fab0a5985d7844d85ada69803bc29026e5be9c9a9bfba5e4ae00c91afcd2901bfa399e459ba87bdef0577366b6a546b91a8bd858e33a3ead31ee07405199b9638f09848af52b21092a5690719c75b28f12b983712b2c79035eb727e928e81df39fec2d939510927e749c4833c02c12139f19447e\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c5dba54644047fe0d229d54710c0ed4f226380e4d1ac8aa865f3e8060ff6c5b3decff0836898d75b59d6e7a6bff092ced3782a8d46af8f3861eee72045a297b25edb181d1ef69c3ae0e69da6c04fc9286e2f919a531c44af2b2cab59a815f3c02f67a1a2d0b5ac5dc1d8a1fc7f6fd07ef6e3e5415987523d06a9a6a46a6e71f8892756fb18ad6307c22cf97075f6e3abe18992b55925d26dd2fd8227f34f992358736f22ec94ddf9b1401e901931e035fabe04abde7fc3e1b3aae5ea51d5e8c1e4cd6ae0adae1f0840a2c990109bd1fd39d6ad66cdf56b9759067c10d743f39ddf608c8fc7792c753cbadcf5ae6088bcb485c851025c5d7d0f28b099977d619b5b78c3ac9ae15c1fec85ce2ade0743c11bf7709e6e48823a9371e380a9fd0c06f2f7abf6177ebe017ae8d9c1008f04b93a8588848dc963cdcdc26ff6275a7680dc0e5039414d746decb067d058f767291cd1a0ea62850496460f75540ddda51171db09e45098833e2d67e53bb6f3ff7da92b48191c0d7b4b3161bec990359001\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1a9716b7cd0e7d9b2c348076459a9384544de7d52a597fda1d6227247028e21b910472a11e6f3924118a364936c895eb4c3ff4cc4064c43175a78f0b4de4464fa32c14c3593af96f262ddf302abcf7e6756b2a79b821dbb195640e8d30ce57d216b178a4a34415dad08f4cca150e39a901aa478d3f5fe4d4ab351d41a66df0e0677780f84becb4ba59655e211ee6f421685cd42616fbba2c7cc8cef92508b022e525195476fcff4357b79f292ef7e4fc754de490400364ff0969946c9c76366f17cc985aabe0fe6011e734d9dbfe6501a13dbb60daa4c78673a25d84565a1e13b7e981157576b8bd3e33ba750c9bb7b5eccc8f8fffc4ed817e2444425bb5b5d42a5d702d8b0cc093a57336d4becafcee90a65a35ef4800e0e0a5fab2018b1bb5ea153ca23ec59ba40d05b8a3df4cf807d934483fb0d8a2e7c174eb8c3f2efa7f82ac8a047d0b700134eac76a469d6f40e87d2ca2408642218f47e4359e697c62355813e7df722ef622659784406eb5ea26c1fe3c5b3e917b13a12363b20c5d17\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 191593fff20301e6587a3e57b9228b77260edae7e376416eb8fd4d80b31a4e7326d0e59f3ad3e178e84936c66501a8fafe8f2f4c9e4ba138cd63991342eb5be66c4b6231e995d6dab798efe105f7133db0cfdebe8862b21c447a2acfa9626e4307a0c7ae0fc7f4de3c78f9ec480dc3756c4d2b8c2d748bce4a7865fcdfa5753d72f2b84b609af4c0039425a0b80ee4ebac04bece2e11725f9f766f93917f3822c94c8a186f4ff7855ed54da3a959ccbab54b7ec2a3f41073d5254a06ddd8a240a997e391b06b083dc4d9b3fe7feef65453f356c84492d3842e957ab113897ed874ae9c5ce061be8fac4da3228c0fddb7cabc89c8a2edbb3a1b3f78a8cb41810863f9b1ab8e0e2a6a2782045002d4bd07cbf0c6ce589dddac5878599be97cec0c04dc42594e2366493919c6306d1b2abb1c1279daaf85c90be4904b93064acc73a7d59eff8191e3d4d9e3a763dfdcbaea492741e2e17707285a9ab8d9aaf8d2d95cb4ee0bf1402297917ab025cbae8a201099c4c06ea7eaf0c6808d142057797b\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 105aa4e5e08da8705bd94fda6efaecf22363716f59ec83d0d4fe1a40160276a6cbbaf1fbf3501ae445be06c9c04b541caf22b58357404eeed16093e3d295391732dbbc3eec7589f80c02a5f01dd2b371197b46ec2e45723f086d6e4a72efa11a609c7e528b04a519afee2d01453d8504fe4e039dea8f5fc1035918829b59940eb97f428910186d6569af61371736f3c3aa65913b4b0a585494d386cf83bf6eef442f9e763fa1f205e49a80c35c7906264d5d07012147b557d0f8f5728d1d533b578d0a8294defe7174c3838289ff2505dda63ca7a1d261b754555572fae41db05ea1f3994d4469d490fd9d251d4b53df0a7ee9f091657a717368c4275e3c3e1a2cfb05cb64cf22d1e7d9bcabd4c91da37aa73a05a2f2092b218c081217456aa69962d5660cda5393408cdf1d2c7fd1968bd1d3232bc5fb90041dbe707b63f082c8ee743cf3102792d4b1cc9650d5d9f6004a31b3b32e9613d3fabd94395b1a01026a33fe3a42db19100d3c0eda29b849ce420e4ac0c71fb9a610c730f27bb026\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 396b9f59618e6b824e1ebc57b8f18a133b49d96bd3fa39c66bc4a206e79ee7984013a324dc41d00bc469285e8d255dacd178f106c9a37f11344e21a24275417ac29f2dbe14377d0feac8061fc24d5b178762700c60d6cb0a9d3896961daadddd11712c2c006eecf154b5b0a9fa5786106e8c12cea3e3968c42a165f640fa0bcd5bbb3734c55f57d14506169d7f805a4ec4e055f5ab2f1c0b0968b396119e2d64d8eb81cd0ab78e09790e33ae752e21b1b64dd5aca05259aba1c2014b390e84ff25f2dae3cc198a7ba5d9e4b104ac6a5466e1270a1631e6ffe777860eb63120f1fe8b3422a467a083463a133ba9db8bd18978ec559676f969e5e466ff2a8f0998bab5bde97bd4b759eb3b14b8171f0f5c19a2d590a344284b69d0b08729ed67824665701c360fabc9a48cca7591e8bc3b2300f1c76e4c6c13002f53b2fd5d45da382a63c1073cc6f4c43fd06bfd4d70104c4d5e2c74ae18a5dea531f5a6c2e9e23c381b1fb0fa1fab4fc94d662db842ff202d55f8cb0732628c6f15f824aab121\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 82d26da118ac4ce272ad266f402323cfc25d45c885d8a8880e04a6ef52d7de7971b00ea0adb51768b31348f590bda5e41a8fff36939b59cd0012eccf474552ccbe2308db3b3910ea4856a290babe54fbdb1f482f524d3fe81d1037cccb5dfb6a570c898680f19af007abec62fa233f9396279d0c6f9e8f9bf87f7a7e088f9193febca5316f0f10e139fd010de1a37173ee90d2b35467b768625dc59ac028505b885934e55c2bda0a97f3def80a2e26f14a4f2f9ea4fffab807eb2670aedfc85c2f95f9898f7a07dc2295c4f91ce2b96134e92aa9e053dfc2cc012513e39788a6f0af4e14ca6eded4e8e7befa85d69e9c45b98ef9bf0a067e9fe8ba29314b2be334f4a5438ae4bae6ee85b6b9086bd3bc13838ad27f033208c834ddd3f48fcd9c556bd6a6ebd6ca625372ef84f6bd44dd0c24c0184b3815e893952bbc42fb790b472e89beb93338dfc23198551ac7257ccf7ad1ddd776c7eb620dd6e6d341dd0693dcd91cef175f1b3165cd7d99a2623c7607dec9d0eacc0b6c487ee1f90e4236\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 02cfa2d1774246a4fa94a7f9142ac84270792fba20b09a47f0ddf702a41e671dda6690451937b0063ce2797c2146eb68d2e84c87211cd3f9e8d169579e88e522c98469ba814c5a0ee2f0f42386d44e07c8d447b77b04fe3799db3f2d7d20843027408a4f1f08a0eebdfec3c3ef81e8d9b4fec722a5782b2e2e920cb60b0cb8a28e7ab9b8c82ebf6dc25d439bdce586f4dbf41b01a2f777ddefb13fcd0e268aed975d5aa986cfff0403b0bc260bdbba4db2b51bf1f0dd88c54b0a7a6bcbf3ebc8840e751c6dbe405d6cbf94f12820c536700ba940a70a4ca8aea4c7690e33ab09c0d1fab7a962167e5a8fc51e4b07c82312b0c97e07d42bb2e2abdbb57442e9a8520b0085af7f3168077a842195a4e19c7fca15f2e7471caebfa80f949528d81b619632fb3345bb7bbccc825ae8bd20fe34474b70b7420fdc17317f711495040cbaf5ae21d7cb70b47a2997b794de3d9bf805d1dcb8104b50ea69429f3861e61b1a0dbeff7a03432f98a8d537a03b37ac38d9838a7c6a7ed0977f29f96b858ad0\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5efc66fac14f6c109e9a2e219bd3852b28cfaca26f3c26fc8777959dfea55c738c5c086e819377f8f4baceb66b4980de412c63fd5a1e329d13a14ffcfeaed1d89047dab579e243b3fd6b85f87069997aa7d07f71ef40250ae307b280f0db1c30a4a7c2411ef723746eab7045f973277a174068bb8bbbe69c0773ae9977a7f20e971d405bfa5f0f975b5acc17237e7341f0ead535ba863c61c155377c47d4bca280c6312c0fdcd76f52eabbca08b442e0eb629a44a0169c6c63e5e1c52c", + "f7e2c61dd29abb9142fa7c83439306c2c1f6cdc3257ad63d0a57ee0d5f41341acc7f452519353aed51d739ea9153bea1f6f029bc4eca33ae0511db90df1bcc780b3ceb6edf3213b0b2e20530d26bb6ba112aa6e1363da049d669266a956fa36e890464399fbc43baf7c8fd3d47ec6db5e1029bf6e603b8e1cf5ed9ddf6536bd8d6a7648af7fde533bd51cd8f9a6cc28779163947dbfecbd6f50917839b900e3fa37274d97a2049daede1525c145bfd1660d4577caad7888f5c84867c6fff30ee8356de\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a4e7378d2aba9bc6cebe5c8e5603fac9bce6e3c193c1675df95ab30904a149ac3f3d7a1312429cd63eec085f7392051a2bb883c0e078af0bdf29464bac2268a8139074ec53330722e1482b935fb57956214c7445d8a778686b624944bbeee7a608dd15ed277ba378f4e2dea04b33103e437f94404a09517f4327c80530a1f183e046756c166e526aeef53565cfe34122ec23312bfaed429369ccf08f52c2351e102f439751f26ebbd5423f9efb3da3d3da0edfcfee3b9607fd77dbbcd7546ca4df84905fdfafb469bcbd78d6cfe6e420993740b64e0846b5c0026990224cf3b5e1c325326376c5d6f3d1971365ff31498089482c7df06dd92f7952e0472bfd81a52b0fcb2058f5abdc70bd7d55e2d843821083bf6e8d13b3c11cb4fa420fc90721f226526ee677a8eff890b664e2a5aa5735db7e752b6c06218a1fac315d6f1cd6120a30fc46e8ac220a1bf2e6e4cea5f352ceca4ed4c5675ebfe68ab15da158a22fd044459a4aa9673a5fc078e7851170faf652c9791b665ebf62e16891b54a\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 616a47c86dc9e2423c5678dc0ddb74cd9555f63c219caaf182f82cc0b47fc5505afb0405a693c4b45ed670e009908b6316d22692d89798521b477d45c913cd31042b8a0a52626e1727bc36878d1303c52ead0cd69c0e9711e8c5693ca3fcadd48e2641cd73e40eaa26fb7de1aa89f54228fe67cef381f52a571c054ec1b815e37d071054b08280e940735569f452dfea10d86e742ee8db6c52c696699b99b730bcae337f093418598bc4b648276b6a7f65130bf8bfa1b2b2c7893e408a6eadee77bab6c28aecaa0e3a200da9fd4a7d06ab00c38e7c0cd7e41f64dc43526fa28e5d9779730b41e90b6366fa7fd10055d76c95cb694d07c3dda1776fcc774c2b42eced3c82c9327d6865ce3c76b6666770b625eb49d6b7df9fb1eaa4867a8b13ec1d15af66bb5c37ad8ffcb7b059ebd9f198fa9388d706efbb20d7bd6f1a2d6a192e55c5adbca41fbf1f27c9afe7f94775c123cfb7f1b13a980e86b812f5a8a848b9bc76472c52f31f556c02eeb4b71e388c7cdde33b22bf4a5ebe1e9e10a08afe\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a158c783c6141376270cf0ab8f4c08e5a4534b576786e0249fee264afee8d92558a2cc1224422a5b33f1d0661fbd2891f72edf381f9b52aad268dfe82effc96bbca66f4eecc7abf2449aa3fb858ef5606299af5d477242cf91e54edbe042a766cf108731ad6b7b038f28a3534360906272027d2a83ae32cc0ef53c1a89e1372c50edf86b2f9f09f06e49e1072a5260cba1528e8607b8336286fee545e325f34568bb2867f3344a7fd53729da935589671d6ce956462b4729f8a1c97aad3380852760f1c16dc0f9fe9b9f64e7e0317e242cd777ecba0bcda61c19d6e21ce54f007da49e2ef35c10a0bf42ed8c522e6bebab94eeb5557df840c23739751e7cd05f02c52306827c71e14b6f8771e2d3af07670a7956eef491cc26a512a32c3a21a547925406184fe55882303c17c8bc2392cd44a77f3723dfb4c24936dc66b66da9c72a3ed5346ac14d31f5efd227b87faee10e5cd88a1ac73f67e5e6527752d55a12490afee5f500c4b12a28e2ab4ecb8928aa5c889f8aa9696e9d5116f748da8f\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0f442a9b1d7aaebd50a48a9f81623bed9a6e57a9aafb22f8cb6e56f28086ab3609a8c13f9f676451271325d453f9e3b31c0310a38e71f91ae90899ff610bbf474138a9e610cbdeaa52985446d873695e35d1de1c777efe02eab419d8f0fd5184c850112bfc8a271307f2a9997155383a85b80ac99f6031d94639a6603fa842f731c4920c7841228441136cc0b07ae11c4a07c28b3305ad2cf6a8594ddb6fa357f17a9fd7a72635323265a9a5eab8029215d21f2b3d2ea41350d031c93bf8d3ecc314d6ed13ed0517e12df45ade2f7a3cbdf0b17b220e83031ee06f4a670b47c7d5bda77c0da7f3df5278882049582faa073667a6270467d8b4c28b5930856ff55400aa1c7f7fb52d838d5e9508b8fd4211e130dced03a6996b9afb860c066a56a6d3e1f1f7fde8179adebaeffb2b8bb91b83b7c1c56a6dada297497b8d8de0069e31ea452c0fc4f820d769c12a744d22ed110fd99476a4524caeba7f766e1fd0e0ee01e91825bb5913c0e2f87497427d2687d776e2ca91055e38fcb6be3f843b\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6e317cb8fc092da3e09b63590743ba17426826083697bdd526f85d1ebf0270afc0fd89ad67762836567f36d2bfb52252a2a54ef9f753a4afbfe520e857a503385ab6c16df6d4e3494954912ecb31c514f6427b676a1c61c83ed38009693ebc39add66a1af1ac1834381df1144fe5f0444fc955334a2cff4aee6f3cdd3abe5dc54cc4ec25c5c66286e91d29a5c498872e7edbf3f4235bebb402dec4b91e629123e841dea66643f224c472f75caf31fbaf18943e7bbd09fdfa8dd908ae92631129b404f7414037d42b5914b532e7ff5a618876a550fdfb80289c5d635adbbc60e41ab577c59bb6895e2c4f02140b95a47dc327d5f414293b3577acb277427285f82dbfca53a4acbbe4497141efd0afea149a7c12b6c702fb9e48dc7dcb0d4ff1f96cb238d34e35fece1436b14592d3eee800641800dd9df1b9541435cb2ce933a0150498f9416446c95172a2116ffb58cf5f397f0d0af2e025e2951444d204291b1c04281c9242058b937b5d01f74b6cfa2d55d975c6622198c6cb271f289110d2\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 41a99f4e616d19dbfec0e1e5ab8ab605ebd218c107176b2d90c58e41e01cd6f6950fe4a71c3b0ce81dcfd6f88b57e7345dcd466e43e3b5dce645ead38d0f5df81d307dc89ae059b3738b7900eda146f0ad965e67e760231ba58fe7e33d3f14fba66978e3eb7bc5dd6960b24ba2d59332760492961b5b81af6e37fc3065105915a4505fd239c79e6fa6cd8ba4bb585fe937d5d87955f659cbebd6bd9f0d0030e8a52341591fbd1624cd2236352e9e6bd91d7c121357a4af1184efd102fa911a7eb8d7dce098fbc02e34ec92d14ae333e502ab8bad7ffc275dc770913eee42a316b1fac871863e0f10899d72d0802bea9c07bf21b91050850547d6c8ff99ef52b1bddbd655352ef0fc4748c44d4bc4a4dc4ad3110b367e63620cf76139fff563a7c76a9b3a24cab86bede3568ef1524d476f8e39b9df374d1d2161167af5a00c61e0aea1bee56ae05ff1759e0826c4bb0b2058b5dc92a5c4dc865110bfa05506121ae58583179bd981100f42d1d89fd604db4f13db7ee6c49ecd381a546813b284\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9e64f806c7528a1cd1c8dd5b67ab67335b8f9a1ef1fba99afe67e9fb2cb11263c79dc422d51a68728464422307a0a445ac823d10021ab7789e6f701182f632786f77c23806b81324b5cd78e462c35e495532c2330a08e0e9ab7b44bc6dc5d99c70e052752a4718fff47d00c9b82c4dca22fe3302cec11026564288eda51b692f36fc23ab6b3a9091c332378be3582aa551c8471a9df5f9451291a1da952019788f461fc5262e822bf5d5e11f80b91fd8748bcd2d856e0bf7ee29333b627d6c44ec0ead86c0ab18f93ae9f29dc3a91562387a703b42a17cc4b7b310b6b6fc7d9bd7bdd907520dec948d2048d556dd6db3b0e5e95788d88d0d643c6336604d0b81fc996bb85d2b4993036635a15acab8dc486e061c8e2eab891daee57bf08563bc018401087ba854f300a97b9c5fd6c5a3915ffb240a577e7ed23c76fda89407be57aa7869db4c6e72fb69ae2af877f189992d99dc17a071894a2c6293ebc9e205ee3792c4da94de734b77c47b21c7a6572759126bdda03f4984bfeec0afd744d3\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 71555a4df579d3970cc515fab9cd2775782e87a7eeb0cdf0fb9614db00ae74a78d495110577e29ba7d7ed8c2f71b8f476a87bc569aba9926c75811241b2a3525e6dbf3c339363b9d85511a89726ade496fb45fb476e0fbbd7bed7ac1fdc9e8948f622b2f2532cdc139fbd500f2807022739cc396023e09833f513caae70374296f6324e31f27b1f00978ad68a65a87f63e868f66589becdd34dcf732f7fb85a79a28975fad578cec2ff9f2b89fa7c03b03fcb14a0cf2cdc4d989b6131fd3ee11907f9405ded3963c2efb6c1bf79cd42335cfa143e108b8b9c2aa8f7d1e417c0fc7891456fd7ef72fc1d0d50affe882d0a31139df99a6366e7b5ca2cf5c11e7f50e2c52f91a36543c554e2e467185e0bb4fe29dda115c214c306dd450bd9c261aaa2844091796c2e8bec02b40c7876495b7b4d327c6ab19e1a0a90dce923ce8f8cd7cff7b6ddf59a011d821f2c86207b356d0badac5c1028b3b3727933f4fdad43c923495af16a23e913ccb998ba0975863dea15a42ddffff3f0b4f04a153372a\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = a9ffef059db6395dcf691eff9ab53fdb762000fefdc58b964af85ddddbed15049cc8bb2eaed4aef8974bd3c9e65386f3a11effadc26a9f85f648bae5334d08ce23db566fcc8a6ddafb127dc95d4c3ba0d7b71546e1c010085d0e5c9e7f6d1f396b50c9fe712ca30e78dca2ffb58ac5fa5816702caea67b932f4b8669f2cd3a61a412c685d15678b2fcd982f3b8853ffc2efd841d59136501ba65707e9488fc0078bc03c318356968e7478ee3eba9aa0b186660f08b055cf025866db2d7162cf152c6caf4a3d68b5010ad9e9fb346e47cee9c95ca4dd5455211d0897ce239ab92a495cf2db2df2e1a3d8cd1039351984277ace1888b0194dde50d53cb9b05b28bd51939d95683160a9d7d36df412632ce7cd693fa89bace61a6a36347339d6e068f8a7d99f76b470f381553a1f901e5de43bdc8ebe32807670abed2d1d7cbfb212ce10fd5bd3769eea5c175f006aff33677b20383e61433f5b63da31404ae940675d3fc1c3cd39f56aa2cbb30efa646427614c2d61ee19e7d5b8ec5686a071b8b\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c3ee2d5e72370734429ea8efb80d949ad0f0281909af720183edc0f10c83699f8549fa7820631d084c812d37e17e37d656f2749721b90", + "db083ac0334b56a413399a92977b73fe292822433c1c97b2a176722259e9d19e28618dc7a42aa8585e9665b55f3ce00dfd28c7861eea80583fa99d68c8dbd5accddbfd8dc2f74b9205059637a5a09952b03ea2ec0bc2bdf8ad211e8cd6bd410337eae3331715f92391b631b5f1e2c339dba0cd6ccf9cbaf17c30346987236366ae14882046dacc32b676d84f4378c3f605eb81529c398882450f833969c8849c489934e0225cdb54ad6539f81e276f16004761361ac114581ab1fcb94bd05854687c8117c590683d7a49f7b5d2b80287cf47e001a7c11c74583ef2dcdd096bca5a38326f87e67d4ca1b5e36f88f0f0914ef5405d49349febbfea2ffd44932b7e5b12c7eb0b78c4de0accd9aac30612f6de12e710ca0d5c1db70cadd03e88198c07731995e4b5627dab808d82e2fb47a538323a65327f236c1fb192967fcea14f88c03beea4c31319fc2\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c67ba5369bf9eab5141829d0ba753245c885cf33ec6e9ce6751f2abfa172beb3db01ed0513f3b936b48619c64d6cf58cf8fb1a6b85e0771dd9450e3b4535740e7078a06c7a9afa4cc28ed0ffc695a0f9bc532594f0410987d5a308cd2a8607f231186247a89e8babbc6a2adcb71827535d11a95228c38790236ad2fc4de9fbee03c2b2d1ea809f60ac8ee770209e39b3260796bcd63187ded4e70efdbfd89606e9e85b13c26396261b3c907954bb0d7d8cfe2dfaf9a94ba6d54d98c082fba79d254592bbdc3e190c8dffd24d84e03da96eb0d291f5cedc2a9aec051be76dcc9841e6a2201323f79d9f18ddc42fd45bb64d62151a30d1111782a9ac4b8b5893145285eddc0eeda0768e1218a693a863ae2ee5a959e4249ed995f85f1a9f8692e19ab609fccb0a93e986786bd548f0bd70022b61bff520d19aeb97597f98034a5b78d6454e55e8f4caf4eb019d6aa00ff736f9a3105f9e75ced7a5e30882bb5945f71a7c8a401cfed0c07f0347d46cbdce7bc1e931c6b0d5c1488206e39dca2512\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 004c3e2c6d82ddb5af78bbced9b7d3543f69deef0d7b0acc29652b13fbc2b0a256a733f8201b334918dc8354b3817d2cff4a2ca7d00b329ca88217f28087020528c6c30a75a1f82e0c3ef3e49d8335c1c354c31b31562dcc2f98e6b960e52452d0a37cef4ac21c41110070eed657f2ff30839976c98f38151fa55aae5780ab72fe2f5a254b4f83c8493001a598f2b57197fb3d5eaf439671b4d4a596f7c4a4537d5ba3937c9baa57623aeacf54cfdb708dff8aaf09a23d285ee0ae6aad50ada1f51c1ff5c5a6468f791cdd7619138c06855675da115043795517395716cc8c0d282f5aa5c46b92a2d1cf20c50ff7f69749277611a36f18271d2ad91ca371ab2e87aba74f83c37523b50419e5debd36e56452b39059a32823e3ac57929452052ceebbcf517a8733300ef3500ef4b08e4d2f6533ff3193e866dbfcfb2e841dfc133163ad3d7b605efb3a8c7715f0dcf1aaf848c4721f9c5de2c49e31e92cca767b0fd34d34c1bd1db1dde2edb1eedb119079a4cd25b0862a4b2447dba751e3f3cf\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 80fc40a92375cf58a2730a709f08395c7f7a7577ef00c7c4730781b806afd5f69cc0c990012c62ac76cd4f860ecbd8b6f96c4e9a7828595bcb56861cac5a0a1d39040d96637a8628431641115a1f298c144e3e2bdb3b43f8edbf943ca9b1378f256da835a560b35fabb3d0bdfed894643daca246a6e22cd6089bcfe033329a3d18f5a27194cb8c915ba5763b44e51e5380ec4096f7cf5296db6c7ed57ef8b8812edaa10d9f12adca6dd83bec5bab1561e174226896a46d104c134b3c17c876856d54eed489d64c2121d68e48cb1da6357d9ab3128e25f16b1809288c35ae38c901ed6bd1b80961853c1d4e9a60273cc39656078abb4ca9e8afa057df58a5fa851a4dfaacac3631e2065fa8e2e423b4692dfc96a73faa7c2af3d89cf1e98dcf3e69c35dcf38847fad526eb56706ff4f9edc068be609417e60d169ede36e4a9301cdb58a408bd12eb37457f05af1f96e431241354e181f92f1199d2bb45681caf56ddd13542994fab6bdc2027775564b782cfa2cc31d305e7e70692a96182a71aa\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 756428ea39f0895138538845d40ff1a8957b5c3e913e7b475198268e40efc604cfdfa189619f60f9dde5694932fe5419b666b10abd4adf096d6af10360e1c6937f3c0ef1e37e2af4faf064831ec44d1f581398121c29c1a4b3a056b20cad0fdcc99ad6f68a51e12717f72d2981038ba2b860f7347a435a69ff01cbacf8d4c66ef98959049bf90f6c78d2215e66b8453fd7de0c2d6ffef90fb003192d053046872fbef084fb1b104a37980c2604d61db8340254b37c8f4df3d5c1ddf6745a00274e7b826398e756d5ebaf19aca16a137a6a38e51612b580ca3fcfbc4d7eef58a743c8c7862135eed1926b4592071ceebb6133eadfd8ae270e1367f705f19b44e0232db2173a261dadb3c61aeeb9ab05dded16d95b6b0ac7815e9aef31314003949e19cd76ed5d7e57509057e6031cda36d17b1988479c2bf217e21a4865743452695415b70e905f836561f08e8df78c593e5a64efbb19b42929c4fc9d875a8769895f21b887b1780dc38937d0dc2efd10a14030e43ed63554b1ffac50b801de08\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 579bb79622238ac1cbc0af03c3c0d1ccbaadbb29ad974f67b76d752b960df0928d364e33eb04fae281992aaa01fafcc0669eaf87791cb8a7142b597050afa58571f9fe78a93c647307ea0db9017e0c41a0ba712dc8871063bac01da6a3dae7d0c5bb5a40f633b45cd35213fdfccd296221a0275f3b552e56ef8c856f5bd96722ee3cd9799abf956dbcc0bde6bf65b1b2641658f04e063298cdab2029c8c0af0566878822737fa9d6cc48c175fccaf7e866d80e1e478d7568a3e67d39c3a14508711fadd84c3e7be8cc226a23368e9982138128628bbe97a3c572ee68606bf6427ee5b9862bebeaa4f6b08325241da15c9f223bd18b797e1d6e88b2b08a4cf95baadf4d684c8fcb7cd44711aaf203862ec79bd5f071247636623b88709f6686d6ef3178fcee04e2de0d661d92444f5cbf3216b07a5f6cdde0657b2d4596ed148255957b0a23e8f262b1ff628cbd7ec7e88267d100809ab5eea908aa05e11d823e794a0d1e4cfb82c76b0cf9affce1fa0fe370503accaaedcaec65d1ef3a696df0\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 9a32e4a06f502fc0991ba84079044501b140af892bc3a3c46f9c41fa75c47745292de23fa60443adbd2e705ff47ebd1338771b157741c019c2187a2c8a08e06583a5e4d83aefb3146a6eae37ff79c499646116f2e457b9baff4543d2cb0c266fe0a6f75218a0f565c78904777fd63e1958320f084c9abd89056d118a269c11e00f199782353950c005316cd87058ed794235fb0997fccd6c17c7cf9d5784cf8cdbbbafb96d6111824e658c3bf574d123f6dfaa1ddf77f093ded9e636f5b921ba9b205667e3914932407aac17813457ba75e9f4380ba08eebb8abf5ebd281fcf5b2e5d138585651f25c1ca7194edead3507d6e69467013512b679dcd9ce400c66c1f3c0a600c9d0f6c33a56c366e56c1e413433f904eab089075ee9396650849d70faa450c1695400b2f88d42818ac212a13fd9bc2f6926e2ce92d7394f8627b4ebd27b8d45e179ad927099e3bb5e71cfe6ce275b65db98ec4fcdea0b43e2dcde6601f0a1c54de549ebb03d98d1b361be9239fe8dba8dae94cf9d1bae5c51007b\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = b5efca28b066937c2cab27c339106a0f40139a1e1a5b6d66ec3a76abb62824c06a3e4dff6bc0dd204610fdf386e1ce13c87159f4aa0e88f1c29d07b1320217347c52e58c57ccff23c01c2039c2a385625072f974b690aed9cc5f6341c33dcd2aaca6c260d5945d49c5963c4fec651423c765c973e457ea2ef33eb57b4b4eb88f0ffb66789303c725e3db8b76e4eecec73c5a466b25745ebc00dc347d33a71f787e7723358270d0e258719093736f72182ef5cf2c4f513fe648531d755d6e945b3c44843978ab009b0b6809bb0db6794a4bb2311991b1493fc15226c15739e2b3d621cbbeeb891286d747dbc71a7c9cf06b51442c8086d839f52d73a072647832309b59edb37522dc61a97a31b7bf3c63980060304fc647c5743687c15389f4d996e38c83bd9e631c3bae53c1ac35486e9348b730f066069bce7e840f1b83d5215a52284972f2258576e608c35c4521d87e9e52cc1f4f284674f1269730bafd4f5727ac61d9d179302c99ccdd4d9e024578803ae6e9fb76ab5f74c23d234313c5\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0e5130e5c5145ff0822edeead396c87963494102b8a4a0e38d9f55c1e698d677e5fca1375cf5e027024966ee4fa8e2d8b4f25cc2ae8cbe49050bd675f39be5931ddcce426e1977576f60c6b79174a763f57395890026d762df6c8db0f79f02227196606256ef9af7f6a211b38cb1aa0c2af9be830e8bfa9d30169381a22b74f138939081a5261f3b277f01aabffc2dd3af713b3cf11bf772d69d157d7ed34c2ee7682745129cc7c45881e00a235c5103c09ab3719bf56f22cf29c4e962cf7bf4f633e01dd3e49fbdbb019cf2b56475fca8007fca63202e02dda6866bad778538e459e7df0bcd234abf919b5e6713a68a9981227f8d3ad204d077bf2d70117ac606e03caaeab26d8ff04c3583967a77c63a3a7cbf3d820d650d56c76d31c71173e9577d238f1ec9bff8faa48f3ca49f531b38eea21b192435e0b0138f83b54635e07c12ad6d7f06b5ef51bf5c21083e9170e86189a47f9907a9622201cf3c689b62373f94c540206c8600ba48a049210f1ecf93757d22a70c88402a17ca6a94ea\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 00eff78b2945917f92e9ba0847516157ed33cc85c64bd1f5bcdcbd62c3906c5b77b247c892536b115e6bb03ae3e692bfe94c9d6b58ae0627bb96bcc53a85975d2929bc930cda5308f8dc797d0b0d6a5f4ab5a36e096fa4e934a7854355c1562553738099640c3ba675399a9d386b6a9c61854d00f7b6fa5998bcd05191a9001987f9621d1469c9b094d72590d76dfdfaf9b9f52f4f8d28315ee6fc22550e5feeba3a41f223dc9284d26955247fbebede5a3d643b4308843165f658ea0887a9661b26a707d22f5a827f33b2a60eecac67e9c730983810952247fb903e62317d835d9cf6140559941c3cc5ee7333ebc4bf43d036983d0cd3a3dc2330062f22933c295b05e6680ad053e8f64898151c72680f4ce8af1583fbd2f730f7d63e6d00a3e6991f809909b6cc8843ffb25016701fafbd6393e65289106cca59f73b", + "ba012b0bfe29aefb4a2f458b52d4736add4c2732c7ab1264a33b9074153b5699dc5e9566882a29efad79309fab974fc32b96750f411e62ef0acde9f9bdfbc8ae78ceb8\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 8d636450d02664f8fd18ca58d208b87ae5efab968fee42eb399f09ef0f3e6dc0ffa4217fa262d1c2cb488ef9625895018abb27feabca718268ff274a84358336375949bfadb21584dd59410c48968ed76b0f5b60e01adb37048416f1360f997d99477f0a18b367f91d68117aa9a0fc229cbf0198ee2f69493330dde8156a265e660f9169d874df428bbce40f00a366a5d6df2bfba9fd6f78da60155af0a5f72bb971fbcd64e144146e037bfeab5692b740bd61c28ccb5fb330bf5f10e595692608881ec857bfef1fdb94a1c4ba63e50ae0dcaf2de94bf50c7fc5d8efe099a51785aa42638d07cc0c23f796bf55d6032fa3027afa5b8d6072aebbb56546f15addebd36495830d7c08ce99533343e182e7d08031b95e50f729f5dde2d276a1be47e93d66ae45547fcd6e90c9a5141439c5a5d3b4000ce58e38ba4809657a622d9d659de3eaac858b6e8e34d16997a2fceaf43a9a733dc67f272f3bcbe560a75542784b7a16cebde20bbd90218466b5501b1f7299de1d9874f682fa0bfd41d6d54f\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 633e28886ac6e7c2c36a69e3c1d6d46caec4d115e852c8030ece2c5ae1489fbd795affa8478b23f484b22baac6d1571f6f2f33f36fd28c66cf9b2c963f051cbbbcf5c33764bf54867a757f6c74bf6574e3b7778eae92b55495bde44a9def4d1a31fc8dc783d60cc23d1e6ca973ec0832d6979e56a42269d6fecb6bffc3eefa36e2c340f89311a89902b40d2179e25df9c841993f245fd644b0bb65e5394beb84b1544fe878b165f2f6bf49b77f8ca4337c60be4a89bf7840dc642da1937f9a933276320d0488bb6cf4535e68cc4a558c95fddf04c65400500fa580b476dc53d60fc33ebd06191ce23ac289c7850a9f6c96caeb68732bbb028f10c496364e673236e55d54eb6b187d6905c9b894b7222b68d90b82da7bf29d1c0ff5a2aa552ca13dd49a9f50d7e69ad40cee65ec7ad140642002e75c3c6cd55d5892528d2503b33debd4be946a3c48d7ba46abc96ce2e79396116c329ce4e967ca28ebd56712fd6a9de4ce1a5ed00df621d18713d508f6f1fb959e2ce8ca9f8eec2e3a5a80c771\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 4f7025ce36f71e0b1c0a4659ddd25396a83e4911287700bf27f72ee19f8990235af6d6f33f3b3d3f7d400370a914de2ff23af964e4eef9c8a1b15a63d38935698ff70b7c2d2d2d34cb8bc82133d70fc1fc3c19d9f47f0fe463393b60a61fc19d49f84385836278bffd710a7ae72005821718d42b2f195b6a3bb5b1b6862443a84d6a4ae04449b6bb6b4347fa14fbb4ed802cfba5dd00aba3e5e1fff2143db0acd4e50bb9951460b1e6ae5608ab642780706522e971aa350b13390df5aec8585c3b4c2bff9b64c5950357fa6c91f88e981882c52a8d93f156718af5c91c7009b3f57ffaf98d9e280ed51148d5b2d0b57495276fdd8a5fe0885ce37426760789e671b4cbf64e2e21b6fe4a1fd3f538675fbbffe51d8cce7b74c9bb9c25e9caa84b88161630a8afa49265d172e68ad42836f6b9b619fe32a1b84734ae58f09a0d8c8a5f3181a5130a503306bcc2535b0cb325c060afe57e29c7346a5489f9dee3206d8eea75e07514ca3ec547c816d88a4e5ce4b7e4a61b3488d2c13eaf62204766\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 90db572ad2c25dd02aee6f8e0ddd5d42f5434b9b59f0bc7057abda8924c2a061404f345b9ed3e2fd0486fe34e2be725bd9446f031071c4ec13772fe468ab4961623d16469a5b9577683f20035caf524d557291b700a6903dd6c472b50cd09455779289b990e86ed6f7135af290b320957c93db1a34bd66289b5304828a71d2928fdbbc3a90af3884fa2f710455d2e909422e66aaa1c01565fb67367223f2bf30661ac72b9c6a84fbf977927a86611514c0c387371cd94bb703f2325e3a11cf83cbc6727b5bd49f6fb31b7238c1a464b22ef6c5db0dd2d5039ab3d5a4a7b1ea01cae494c5dafa48b73a411c982389abe5fb2de35d6abd5d9dc33e7703f67d58feda3a17fb6e9ce3200f44fc614638f7931099f13bc175164d9d68e2a4d38f2c12224fe136fba4e7fca1fbfe3344afd2f52d8812624a1af39c4f128e1c9c1eeccc0ada519f27b694fd982ffb6467f791461a2b803cbd298a4467cecaf274f855583ddcf470092f642edc79b23eecdf4067169a2ee72ae95c93e3ee5d23ec407185\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = a2f7d989b2b509b4d774f5de9acf12e5eaab05684edeae1eb42dc090356e58b8e15a32d8fa313252633a8356476327d32915c52449aac56fefc012929988fa5cfbda0d04d81392eb35ea340dfe449511f5fdab774f7e659ca0a8c91911a255d828e00d93d64638f805d63cc926c17804cf1d857c40be5d10318fe06bc311a66329128bd1102756da5da819afaed6ec6864287c44952244e4a8fbf98a90ada98bc1b5519cb81173b64357ce82f29ff16e5d76a929d4b7db51d9f3a7f4c91491dbc6a0550bcaf5fd37646bd8f71ef459540ae8eba668723a81b941939540d92c4a7f9cb0543dba1cb7969c4d644c8f15bfc13aae4a778a81b27b82903dd223ba4d5d5c157a35371ea1443788d973d953318b204f232cd5c53a9a2517d571cafb62d3378655dcde55f46597295c89bf882041ba6f4352a88dd7c1748761728a2d8dd628433855364024d42a0097346443459b840415b5a56934ea476c5f9de84419d564e493c594a9049352ea82700b1767d75244ef84ae2c8a3d5b1853a0ad08a4\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 5c662670149791048df0ad6c95a119bfae057011d7155851087c0085b901dcd6e95252391f9661159f909def924cc165b140f02db3863ebaeca40b57ad68cd77459ad258b892c090de55b93cb48bed9a96b5ef294e9c73325e4aa595431e780058a392c0b9d512e3731509fd537df0378caba38c3e20d17e3f8c4047181becf3a505acfca94a961cc6d952b387175e8e4274b81acb168f63df180210752fcc72dce93ee2e23333e547f4561ffaac06597757712ba8ce776f0a2c714c40be54b562ad693d631aa1c3a840c8749c833401e73dd05a9592a477dc43e52d140af0b2841a14b945a10bbc5e4d4f47dfda159646ef1d49d39054550dfd188203585d0201c33a42afae62aebccb463e3d2dd8748b8db65a3f5aa3ce7a1b227139041bc805b7a71144510abadff548318f9a76d8a7f64eb9d269f7739319e9a3da728d001e29628ee1366f53b752f7354055ae2e511a6d9fff4c9b1caacba36be1bde8fbfd0a4274145ef6f122cc203fcad66d8f51e97b0f8f25a08ea8c9860849940fe4\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30596e00b2ad31f266f2b47b598029146aba9d0cf372b4eccdc5fc9f475c36567e6a159a454b417c77b7bc576721c52f64a31204279d524409434b73de9ae4d819390c3124ccffa5b4aafa135fa753e71c1b3b3f05ead6e6899277d0e994ce6111f61f2464155f539b8871ad0167a30c234e0541b1f39def8deb531ed476d81418218c682dbbbc0f4c3cdfd674c5e7a7bd057eee05a9f1b8b796260380e38631303d227cd9df7e76fe9cc161f8db2d9db7306834b67ecc33ff91b3c59f35f789a65b6f1433f1cffd69545a146fcddbd047a847f55acf4adc9be2f2595faeadcfe39127edeaa9a1144a5a726edeb7b1a48fa900881b157f7f3516f47dc0c108630cfc9304a2acf821a93a867b063217db60c0514143eb53557ec8f86eb8a83a83219f8c3310baa122b79d49d48bff90492acd83de8c3b9d5f07cb2d061b243d813cb1be42c658e2ed52a9b31ef07360df5945406e7c81a80337169fedf5ea76b25a69a1900a673b648831745f3b04815df9ed7d71acde44fe36aec0a85a7d6ec5\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 23bbc7627ae0069673b6de161c79fc721fa169d7719400aaf7d60d53773649bbe5cbeb4ec3b553dbab1b0cfe63142d21ad3a46ee475b7b50ee617e6f58aeb6942b0793b94ea0dee9347ba233b05895b457d478449787cab04fd0c4b01e025088884272bf060a82405172d8da5e0b4e070c61af641d311885519215b0fbc4947097c765e87ee46a4a642bc44b7212bb8b64a2cffaec496ae139c248f6b00f203de256adb345be3f46c11bed0811bab43961e9d78646cf14be18b891552998782a413b6adf9829bc47926178ca118ae0722af0aaf6694d5aa64bf970d530f71e309319dc43f2077fc66afa48365d90061c0e1696ecd2ec29a15007bbb47278641b27e10a28b60e4e7405fbe5a05e5ffb8c0a52472ed51330f169440dd10d828f1830a23dade9fef0c4a2373eae849977e1cd15054e4ff004b9daf6ce8fe8010f9102d09bb4b18ed4e30cc9c3dae2629650e00f139eb433138fb49e2a896dea8a13253282d8e42c1dc42d490b719373b3c723b8c991566474257e96fcd0027808a5\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 37a98cbe608f10cdefb4d787a23681902d7a3a02837438ffcc778091a12dc473aa6cd38d7abe75c362a877456e4b29db13659b4f3d9bb1ef73e0cab33ec2b11d06782ae4ca0a13d15f8856223abe0131f5ec5437b2b001e4f5903a78afd4c46d6a47af171271f3a4cf267b0afec0a1f368a789f4c03193e2f365fe6c0b8dcce1b2f1e6f1e0cbd7c6f1a98a8ab747bbd27485aa61ac84e837a95a178efba0b23725c53f00c94b3cee6831f4d000ecfe84af2a63f341e7bfc2cef7f5654d253654139245c4205c0b2418e8de35da690a8884507134a0b2f0bb9d20eb8f39fb134adbf171f1a8edb4e1489671005f8474708708d1a627d22c76b8ed0993a9c16a6b635fc090e3b38b96f37b28ec44089b17173647eae6ac4439bac2019ae8b928d094665aed8ba0ff89c308097b1e7ba74fd2579f1c21f63296712cf4f5405cf0f3eb60ae1600a5b8d717a09ed23034368c9739ef2f880c659bbfe855f809adbe231ef20d0eb6300f2b6ff02e9f3666876971a9d41f8f0f8fe954f00bf52c0ce013\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 2c269aac4605a5e25a660071fba9f97d4b9e4c0f0d2e567459e5620884f889cbfb33ea6094feb6d2817747859f8c203c548d5bda97821c3b6744711ed3f0bf02954ef75ad6b9afcb6872273f1c164ba168db9a8bd72d715bef221420491ab6b67d5f", + "4847743770ed4136280bda363c1fcc2f35ddadd1be3093eede6922cb95e3e206d02d98e91194a7fd39c304c848c1731e1f90e8a9433db71d94e7d76d7b5f2fdabfe20e8e1ac7deb56f81331fedd7a7e9ace76887dba2fcd72ebd2017f5bb85de1cd309b3b7f7fbb9d8901f61bf8992fd9a63f861e8054c9d4fc1472786d6efec3cf4bd1543116e2bf36698de85a6a3c17c200c73001b3218e72b8bd515f9f96d9ced500a1c6da4c0173f35ba24ee746e51cfc3ef00ce60441031bdcc2742d981833006bc05a513f1cf67d6a9e59ad4acc029995608fd05b744d48be829148552e13c7c76450f30b5acd4fab819a71c158c82d587fa7e839c3959a8150395f567387024f7b786006ec0b1f6960d3b5de347742eda16bc76e3359becd2e184\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = a2009e307ff24560348c7d796e1d69c5726c8389eb26423ce21cdb701623343a25d2a4841f994f3933fa82242f9d525464e3b6c770584567dd8bff3ae75f22f94139a9ba2612063e8117a23adbf72fb8c425aec994219c16d42299682eeffce61f4a0663d173980066009d542f09fe1186a28698109e0d5ec28ee2848e0a91185b492e53f67123c3f6d81826a943c60cd888e7d332310838f306913e3321c5ca89794f27a0ed36c697abcf665be1253637cf2226d7591884a9e7636b8f49972df71dabb14b6a4cfc4b4689e3c37869043bc0d802fb906a902a24b4445ada3b51f7661cff461c4b7b5a59c1974a8fda528039006f1a860eef799f15f606ec8fc23a20d4b80c01a639d34b9de0eaaef84855082e443f9a85964766473326d6ab6bf49f198c62269356e28eb920f858f3695cdcd77f3fb513121470c64c25f305a00977d0d61ab75143bac7eb57d9c99c8d51ddeefc41e3929f35da3dd544f55d878a9abdc0ead983a08d3d35d54b2afd653f61ddecfbbd936dc6d9721a959aac0c\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 8431b3c74190f8c0086d779639fed56544ad0fc422dabb1b5dbb600a7021a2e25fd9e69ef305d0a3da9af97e24ecefc11f515412edcc6a6685b3c4e8c251386a7728e3add07ccee395a851e5c1330fdd05c033269fe7a52df15a1e81764facb46718ddf598a83943d35716e3fe1f216b2e17075fde3751148290040a56535eba7e5d05ce7738d2fc7f6e8450bec68a0a35a5cbe8aa3ca0adca3886bcde8649fe491c4629be8a1b8eca64cdb226eb6a0e32397a7e0dffca2fe7b27b99754a428ba300cd62d0ee228e925d96418e75138f56d7219198d04dd7713c8e8d606d7a9bfa9f1b9d731ab9e0ec8553d1515a32994ef29f2d2e9c1ce8a32ebf8d970121655810b1afcb96fbfa0495c39b759921624498acdfc8d9abe95a0693e04ff6eaf8939e4961c32b86f3a5af479d294d6dbd01f90437cf6f830db644ad9466262333829fc2243ed32ca9fb08b9b56633bacc450d86af6b4733034ab987db01a118c5c41b9b792a83be1b4e068216cb642b11075a43efe7e3a81f0872c4481ad696eb\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 421b2b4795661bf967bf5e679f69d06c0fb9a02192d839a440d364533de5c3f620f8531a68603119ec4045391c8f3ed297ba295bc1215d4c4f0f315a73b338f31547c110d4fa1e3deb385eeccc2d57e03c0f6309f6c3c28e4d837d22787bc0b6d626201da55b605f4e8522ef75b92dd1d6dfa0a177b0e666f04fd211b713fce8b2fdd96bfd4c07e64e4b8253289e400da12fd99c2c0620395208b7f2d04a2eb696f9992b0b0485e3147c5b18aba35c8a90d10b0429f3fec71e59d019f270a5e0cb0fe0b5eef004461b5c6286f33ccda3ef358d99784500084cfb5c9d3ed8e1c5327c4ce81eb1ca34390ff613807f5a24e0428eb48c97900fe9c3dd68d201a1d2a55a20174adbed47e53a0d0f032acd4d65978c8afb55487af30439bb2f151e343a47b2ca3b5e082ea741e375885377a2e3769c712f4d4144d80c2a6f2b1f0fe41e9fdf9bb43d7370332ca51bb2f1325f4d1aefcb5dbc42614f9cf11a4ac72eaa350a9c2222a6e2d82f6aa29df12b33979fff1ea265fc2a5055600b9f96c8688f\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 365aaed072b2d0e5135c82f25944292872f60ed39152eb19045b209140a4a74fb2074037dce30d674e0fbc8e98011ac681204429d9a5ebb8fc3bf20ec70e6b53cfa45b259d4f1312354dd5a00bc2ecf4e99b4434212f92bff2b99c94a08a1327fb45dd3367779a12d8dba9ca846b85c6216add315fe0b17240fb021bf61970446339dc93ed53cf1c57242eb4aaf798a1b8010e9471f78b6f0cfd7a628ace627bc64a4c6d853af0d7ff00500b8c682238eb37f59972ff87a9be9eccf69115475ff45ed6daf9d462e09ccba899315b5dd59a3cd5c3ebface31f99854e0475fd76cc7c191ec3f13ed7933663b3902b0cf7ce7696cc9ec28c13df6b9cbe9182980f7dbf7ebb603274a56871de960a52bb5835f4db71558876202b8d9c4edaa35df599f1c6dd105dffcb077a7ad8f7748c58d6131546694bfdf97a645ecbe3829dbd2da1263556a3d29e92a810337c8c1050686ae880314b3e808abad278c48655708bcd2d711cd93f446911a2b323881c98ac389582fe0a9601096911a8ab0dd8669\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 24a95969a4ff4982bfa2021ee1ee009d2e4ce995e6938fb48ce35041842bb516ce21f5630264f3f7140e3135ea5d01eb0ea6aa6c3b85ea5f64f1de1de246bd6dbafac9cb0a8a0003c02e5eb68714d569c8036bd604aa7bc604999a85cd3caa209ccb12dee3b89dde2c9bb74f0dac1458399cacc7e4ce538dc3a5b54c5bf7d3132430110089d5b4731dc91c2711dbe0b46b97ad7ecc948cf5881c1473f5b6540ac62963357680f1b12a09a21a957b512126c7457b0635c185d36090696c313e8cdbdb92ddea8b8621d1a640bb2636be15180595e6373c04ec38f981f05c6e255a327d9abc3b3bc04680e277e593b04d8d89963bbf83574a5fb63b4aa1d06de63e4077e8f9242e886014109c3360be74dbdff64af766224aabbec9c0c0a2ca79ce12765cc8334bebdd1355164ff636e24432c042443371f9d7a4ac66658dcbcb001934ea8b896c0bfcd7e5ce140ae265d253180c72fc9fd05b4dce2b6b664b1c9852bf84eac06ce5d237f242fd2cc6d61a870691df8e9b5b0cbde491edf3c8861e\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2bde28ddbc4e84009a9c98c71f5e2b7ef6622d0283889c94a31b25074e8fc2068aa26e4ff0057de239b4588d0421b8351f8473eb2e66c4a2ea28a4ef81613b5216059b35c2aa990c7cd398f1edb7c93723a3ab489f7a91242977969c19a2e9bd421ce79eff960a06c52f05c251d1e8a1d4e3c799ed70948a6ea35f396f6d83dcf8e1c59604730e0d90c2704a9aaa2dbcad25c9c3c559a73b7092a016e6761a65d41b878a5c717ba63344cb1adc247a92d377345cdfc24b652516de0123232d3b0092cd3f5d540b66bcdc024a728d781536ceb7e41fd80622441feebe4fcaa6931c54d67dd28dc664df83e3ea2eed769e24ef7b7ee9f95f36b31984924318d506635f31efd096aebc8a3c04d6d09aecec36484012b5a5793a2405458a250897d246a5829ed7d99bf1638fb5225cea2d0a351fe08aaaa8ee724a824f2b6ddcd69221f4a992ea5edaab8969369f869810b4973cf65adf4529f68d1c0fbab24fd1e80a03b71ddf702418d3452a27b95752a0f86053d29b63b1880911f657e4fab978\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 88258637f7eb07cce4e8cd05cf23340e796bc7e067ec5e74bd031a7b870e87a40597be7ffa8eb135297f6c4e4e19dbfbccc49a23b5a7903d1c8cf979a4e0b181cef1c48a7ecc5adb8fb614415f9cc727d2985b0eccd51f72b714f2ee8a1632b36791a29e68b88a8f482b24e0596ee8c9d4c504aef0820cce5f5a71ee3c236931aea720ed6917ea7b41d13b50f909fa21f07e9cd9f79454a3a1996cd5a35bb92b4a1b1537afa65c9bb67091f340b47f3726407b95e68ebe8d4aae735c7802b559179c64da8385e72628f29aa4e4634777e6b7138f6206c79765dfcc066c034977118255f8c82c66425b5cbec3cf65f952f0f4daedfc2acc204df23a707a77e479d33da4db067608f075e29e4fcc3600819881463f071c0b879251c0b83ea5938761d7d63688006e2597eea88997aef9aaad009ab9cf54b4390eb808b09047a759224835e7c282b301b09007a15ed23e93a33e25079b5079089428607453ed25ec639a513311320dcdfbcbda5fd0f47f6035f0c995a7ce980ea7b2e74a4ea3b9d4\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7bcd19e6ea965e860485b4a886d032b2d79971241ca2c512b781822dba95d8db8ad9ff4586e9f238c885e464d8e67f291263ab6481e93544904da7abe00cf7d312077447c7b0e5026114bb732191a06beeaff6a05986a02919264396b8f0ed1eb9bdff5f2888d63d3d66515f30665c9963e13e914feabd50923f674c31091d71b2d01328c07af2d9c4da3d41942020e179420f3d6d8265ca1555db51aaaf281ea92b0b5b9f8deb982723825cae17a877e6f0544d4fe48f8fe3db3a7018691bdc39ea7021ce4d2c052265b33a1a0cefe72392a52086f673a10dfa7240d88001a4053bf376bef41881c27510edb203ca07d8fde2955eff7bec85e9a44794c0fa757e385c376e6be063eb90c23a526f4fe4b5a3caff01ec148bd725ac6ccd8cbacd0b336185c3d98804bbf06626bed831afbaf3c106a847fb72a60e39b192940c898020137a291c656219c322cadfee3100cc988b98da6d203be161945e4d95d455cf73b28eccf5d6f9c36516b1b8a1dd57531d8bb943f3b50d04970b0c114a2a86\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 43f62292e9039df3d1160af93dbfbb2963efa6dc905aa967bc765415a74fe4a95612b53866c56c6ba42eeb76aec0a5afaefb24ac7a4eae23cf439918750b2496579c33806d9f60bdec575473371c96ac56de3b1df2d00036ea9166341720d4e164a9bbad13eac4f9364882772a20630e2b067f7d12ae3b02385a638ee562570d4b4913cf6d1f9ec6c36f724c545ffe7e0964d57531925a9de4a58511674f6ce271cbae8fe4d2502bcf5feeebe44aa6a6a6757eb3709b139569b40c019dbf0667d0e23d7a4f93075ea68a303df9aa58b02302d753089fcf6628c318a80815dd3034e5c67cfb88cf678ba1134e7aa722452c0da20328aedf3520939afe9dec999691dc3411f75815f568e3b03b8f8e3c08d99b958fc6e463fc512c44e583f869c9154d630ededfc507dccd68401ed8b37dc3f8c529936d5ce94e6e6ee06115c3d39ccd85e86ec0c27087a82774f05a031677bd5f8", + "d5440dde337b860f00deb788bc9e81531bf7a9492ec4af8ce04f3c94c6746f8fabaf9b7be9e089ba956779d9d\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 73d4d40da6efbc72e01d95c3504c95737fc2e401ea73dcbc56b2f1f784b54d0c4587877137abdc84d67383ab0453f69381df09fde92edbb90fdac2b54451d76f00b5c553949ce6e39b86cd5a5fb555f231a1dabf895ef9b7c905ed9b92e333c0af57437662ede62093dbf6c43a8482706853c0025fc724ee13d17d6f052564550140c52cd5f52d98622e02da82ebca62423270dfe18333a9f202b9f6aeaa84bce014c8ff323be51327ba1a7897911df7172b819307bcf09069a3fc1559335e7fdf06f082dffbac70a973d70e5f4210c91744083d5113b510fe721650b3be52bd003b30372d56fd3268bf6aa0461af41c05cbec350f771eae198ef315c60c08dae19b0f31d3ddeaa144cf9940265660c34cc579b4b825616aa3d234d600248645d778a789d7275166cae5cbccc14c3d81c26596e5b236838ce6cf701b106e584d96b1bf40a75398763128d0a748e8f0548ad1d810a00e961a88db49898baeff2ccce4d56d3b0f059ec5727d03ae56499f811705bbf6ab41a1a3683e3debc5a6f7\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = bf8c782edff2de8dbc7f480a9b29f1292a5f1ac96ebc92670aadfd369ec83ad35987bfc0ab3915dd388a504ca34ef43f0ff55d52e891aef35c47c81493fe6ef53a4cf5de1e415278e63339110722c444c6c2eb26becfd6589f18f2925dba814d5e63a098bfe8882a3bc73a9a184e8eec0c8b7db26b4524a7b3eb3975f63fd16bb461b42e0aef58b7953fa3ae09f5c8c38c4528fc48199fb652b27bffa9c85ebb162a0943af6c1e2ca954e44594157e053f35be8d40ee161dd30929576a2cbabc7dd0cb6bc3305f41dfb77644f32c67d8f04e7d68822def40d341f3963a12a1acc16338d3d8229ff500fbf6849b2507b4dcb68ac7c8e06a076450b3da320ed8673d86e7bf7c91f8379007ba05303489eb9537bf33c275845c923d3881b4a80998e7aad5b6a9f113bf157b3aa96b45791937d9038f94569f1fa753ec9ad612f75bc89fc79fa5d26711d39aacac5c05b06baa5efc40d9081fa39c2ab8de2bab3ee5023a0b668e17d21e470cd1efaf5e7087d440cbdd7b447f5fcd9046fd9197acfa\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 18c76a48b8a07eb2d64933e6d369bd7c03cdcdf1fb3bb15367ace58ab1539c3798c1afba510f46b1f621c5374343d55e11cf82fa1da003409702635c013481fd785b32e495dbc0400502ac60b82269bb6e3b9a405f6794c34fb801f920413d7e243ab31c1e7e2bb25619e66a016c948a24d3fcd24a63d45f30f0cc41f7c963ced75755a11222095b3451726708b3d255d60c47746633b822ae2ca83ee50d7dbb5bedb2ca666a80a24766ff121b6495a26cb9ac14e0f11b5a17367fa2ee7a3063717e4511a7588c2325e5c9a479db77fc799b42a9cf0962d9fad45ed2cc750bd30e34a088049ca942ee1a83807151986df4b2e70afa7533691171dabfc861baa5ddabdae2db6a3f07086fd539fcefd4694fd9764af7d5d38a75c3a47ebce1820d1a15cf9791da6c194a4d1e3d9484773c256d48989cf800a83c2aa82fd88fe5fbf945856abbaf0a8b843422bf30f933de51739d583ab7870e0402c1c0d8fb95668a35027bc40a2164ea3938e7891fa052b353d87939724bc6e78c3950cd25c3d8\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 89f4d0a739849f213436c9575620dec5f5c2d6a7e4f83cbab2a57b3876663af38a0456a1106efe9937f5ad6d8a8952ac24883918e91a9d19c07b5fb67ee7dbd1716c86ef7f45c651e74a41233eb01d0ec29c7739bc93877fa5a880f5e27dd28e3e58f2c034c6bd512b9034625cfa60fa1b1b966ddef324eaba49f07fde57dd751b22a132cfb50a2f37c69f773feb8637be2296680a1b1511e76f5f31154e6227f748dd101fb7ce4dc4d78aea619ac06a4419c23e2c7a6025f3084c65ee4e2d898f3b8da4b180f592a3e85a3fcd04d788fbd55e7543789c177076918fbbfd0b9bbd69106ecfaf980154b008f86418285623bef88173d6e21de37fc433163f719d1a5b59a69a7b3af6e2c5e8425135c9cb402db577bc0d57bf9e4a2ea6792e59f22149be5280f19f087f99a5a645e7058ced09552f7e324d1d786c939490177c6c882e53332fc64c24b95866131c0e78daf801a8d94e59e1b339529e59fdef88bd1440b9f4928b1c68b57ee8ba22191dd423c32fed56bdc01ad0c14850061d080b\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 75fa1d30a796ea7e6f6225bfc9001a3d48ee2b66985772624f51f74a4eac8fbf0e126a8a21e7904a4668c37257a2566f6d5398703e160c76fee8cf4510ec4b4fa38af5139a117a40cccdf5b2376da59ccc1030ffb37ecb65e7cea239eab5369c4b20ddaded7b4eb5ed79b3d878844217f4094a536d824b2d1b9960b8f9aae9dc42fc5c9266e0e15a503702096fb725fff3bfe4eefa8bbb232ba28542bcd23f434dc3b3c8b827ebea88bd1e5058763260c45ce83915d7f998b3b557a94a41f2d6e10d5c6c0881c5080f51a20c8def82ecdf795ca5682a4a4b451f627e26f1a0f4c01b0c4215d335c753908ec16f55290fdbccf0855047280c1f0e226199897300e456ecb74ee14bb1b68ed54408c5a3932eb0bea33ffb2f495577f37bfa6daabb8971bc227cbe817efbcc618f7365f5ae49b51280cce5d90a085fcb2568c7381943a93caede03f492869a768c7178abd6d8c051501a81eac5bd87da6bb0424655356d5cc86f0b04a598d83df52680cb20a49aec6f9966e03feed8de78c1e06b2d\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = afa99ed41a02fdc5677826e51db78440e7336159a829d315401f799bcda6eb283c2c442706e8ede5c9641a50f735247795fa823d257cb8342315603904fcb7f3fb94c1d885917b938bb57dd8114effb76f0ffe53474b3b6ac909b8ed94a1ef4886b8101727038f2d3ae6daf82a3e985ba5e005998c31f888c3c53aed0246b99dbf17d12c59c02befbaf580ae4b54bf6cf4098840d86ebb406df68b871ce3c6a6452fb936c975efa9b6b40b2414017eeb8cbcc58fe3547ebb16f95efc24cceedc374744cb102ba6c2de6b6e53d561c5a6be9525df8faa7756a2e7af39950013289d08ea48dfea7e6fb0e7f228a8ed0c19e229f1929fbac0e183aeb196c46a5c0130233d78568736e6cf377e26e3155576982e3d65e08aa4def25b1a1a5a225cf884145c187818e71a989e0745eb6fbf1768d6aa5f0ee20d8d534e1f4f17cfbc78181858d1e887848f359a92b44a8344abbf720e9a0a195003e6bd881d248a80982201f97d524ccc159d0d0a371cb5d913429cd43d4416d9d572d49dd140c00a80\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = b5eb805ad3344e51dfc3b5aaf0aee47a8114587e54079d1717ca04e3e0786681fb9a77aba6a915369573714638b408c4574f8951bf38ce7ae055bc95a078dd6c68af56f33d6c8e39e61c386b8d5d148e94fcb64b2ee4826004509f6c033978b75f403b8710b16d4e0029321e340c03dc4ee0cb2e4dc112c1199a9de821a0d73fe5ea361a453175596e0c945ff0812b5b4c92bdf3cb628637b4fca898b09be06188183f37a59dd33398b786c8ed44a0f36a3a99a597071a17b432c76420d5a68d683351d85c6860572e5213f45bb7440febcc4ba6908b3920079021d03c0befbfc0169d987d5e19cd81267aba56684be25b8b94e3f1229c5757966938b63c66ffdf0f07684214d415d73bed838212612d3cd4071a53ec43cbbc5d71bbbb60f51fe310c26054318876a5862033fc21eac0c1ad91f7d7eea9318398b2344dbf3c2f04574a5c3db3121971273244ec876a63363054aee10ee276e8cca376e60189645e3f67517ef820b35c930485479403d697b2a72689fc238f09f60e3b598ba562\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0f058dadf6bd5ccdb3c9a70a4223439936ac81daa5928d09c182995503d72b8077dc01ee268658e8ec4da9097cba57c19d005243ccbd98454ec42bae8f7b7ff9fff4af6b2382a271931e7ecc15cedbf52d1426cef27e033d58d8e153341265552edbebc46bca1d8e88bbb9c0f82600d29c02283fb295caf4a743fd66f096b3ac12d8f301a1a1464a511f1e5da7e46f722919836ed985bdefe7587391443b7e9f6dc7193e51f0de9e0be451ee335a39b875be4fb6e54ec38d59aedd2000f6149dc1e07bcbc6f674baa3d9170759a2db41d6a1691086da82baba102cd85d97476beec17ba3c10e82c213ec0d09afb4fa70775097df3e9c911a2b8a8e3d70f55e4236447c0a539e499bb4f442d218096ad35b104270205d6677f37f7d96266bc180936c1fcd7a34f13976efa47110b86cc4f5b0e94af73887d31d37fc38f84db3ff7b06bf151f16c0077921179fdb52ee89414dce82c0248a97b88eb2aece5227078877148879f96777fbe7fdb1aba00d9c7340f7a66812a080ad1da514fb1d7855\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 93f7909a8a46597be65fe76b5c724bad99e5b2692e4a6a8e9a7adcb38a39bdd7f4048a00edab88fe9316f532b13be7283bde8f7c4ffc4a822575e992cb8ae46848015c0ee56817aabe22ffc2f25c80e04a0664a7e9a82dad7b001e21b5c33f08965d80a1c4bfff52efbaffacb74b0a9c10acc384cc707b5c5295fdd3fad5fb3b89271f8cfe0059c0317836b2a42640e4c0b3969aac4050bcbc756b5350dcb61cac15d045151e412b6aa94d082266e7f4c7dbc83b2adbe817476eb6bf5a07cc7f76fe80b4135e0ec5bc05b57cc823a0b993b7b3e4f3a6803879754220d7a6ddef0f5c6944b352ac5064b9d836a2565eb0e2049c9208b797de75b141a5f6d89bd6dbae167f8b1c7fa9a316d10d33d96fad6e2692b98d42fb6fb3d79a32a7a5eea23f421c5e1dcf09047b77b253217c3674b97b85afa0162d818e569d6c6438235f404e8fe9e3b3b7e38878b5bd296f88758b917b7d7cb650e6ddfcee085e52fa5143429b678a3fbed73b588b6b4cebc72d3e23266f8478d52629cdf1a80ba37550\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 2c40ce5377f098678cb1a3f6177c8e290b691cbafb4195a6244d148ec48be99792f6cebd4c40614d9250bb3d6f6287171ffb713a0814a6746e2c4126c82f7bde8b40518ac506cc73ee8e0516a0d0257ef153fa2464e17cd17dd6ae5343d43eadf67c4bc629082b484985dbfce3cd941c1b69dd4a52b0f177f641945ae0037c79fd0b975ba955b2c1901883f2c5320fa7b43df6c673eba7c76c0dbfc03a470bbaa2a6083892af527d0f592", + "1d2e20080804db8db936d02f53cae19d010a113f080e0f7baca77c70fab4819c2481f6f505b5459b59a2a482c6b8803a26610cf54418a931d48b8b3a2f0a5e82cae0ff81bec4ee9cc93e8fba9350b5cafc6c020b484847d1e590eb1484caa4afbb7d3cbcff85789ff47401d69de6554ae7ea679b69e115ebc0fb3f89ce9d104e4a27a3ce5098da2c4a840f496e1b2395a8725dee67259bbc71e89aa18c35a9c0db3d092e02bccdd93fd6d4fe51eebf17f5cff0e990215537cc0cefcd69eae4a596d8a95a9ec40ef651ea7da397630fafd26494da0be\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 28d3351a970732d5ac3bb69fdd6d85f8923a20f7f7d72985d6df68e41f972dcabb638534d163eb8cf8baada3e1debb7249da4efab8e1ee782dfbd3b1add9e77253ce048c8d0a350936806ad473304f1dd0a0318ad10a11085f2cafc20114ab1f724ae5ffeadaad0bb17bf66277c499876d5ce17026d6d30964dc43e9f68e271d5b6c81b9953090f70bd9b9c05e3219942bae623faf06c6f21952427a5a1a40f05c0c5159ff6e9b94fe4aeb8310b0de9e69ac5f0f4787b6d489d1040ad63ffb1cf0fb924239d5417cbbd7afce71ac0841a0fe2b6d6a5742649fa60433c55fa2cd99e1e173b67528784dd0f55488f7a9939b46137f9aa33bd62e477a77d5fbcf0820a10a499aba3ca383210778e7d84dece64f121acd8d74a761219c6359d2dcf9aeab782c58dea8bfdbdedd4490bbef8fd514f90cc5a33992c4d3609e300797fe0d5dd203fa71f4ef0a47624e5e51455b74ef87e49b9d122264ebdec7fee7bc0249f02ba60159aa0aa8585ce19633cbce48e6e4765b0fe7b4f1da4a8417092873\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = c4a4057d4d2eb4e64dc163add62d9ad01b24bff92fe0607c0cd39e3dd05e5661aa1a2c9dcdc7ae8a034b93e502a4eebc0384519a2589afa113a0dfd45b122fe16bb655b6a034b668d7d400dc250b25d7dd4511298c1185c3d02b82ec63f3f406da0c72d204881ef5ef43e63cc64b799044a6cbabb533d862efa9c3f483eea43b26859b134a2f321ba5ad09ac8dd3f740c0ebabbf35ad3736b093097769a635283c20c1b88ea0a115d59a692552ad8f70050d586532cd3b65bd9e281781d09712b1f1287350a20e40f11af5df580a98b258fd7431daf19f92546d5b997df560a3237e8a2e83e925e45effd4cbf2c1cc439d0d3e658d836d6b93513c41c87bfefc85579257cb8273dd0bd4b7ca21c9e2675ab60de22289b31f5f96f708b76ec72b0209c8846ac6e32f1d28996829ebeb949b2358cd2332178bdce80804e4650b84a46ba4f3bdf2aca0edcb7d4138e97dc14d30ba34352d62f547caf117856a745e1e99eec18cc2fbf223f4548755fa3ef8d9d7c0274a9a7411dfbde3bf53d9d84c\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 9a86cbb68e9a4449be3ea6d69e5cb21af81647a8a0105db03c54176fc83991c2b9ea548fa8eb3b248c72c391cd23dd675e865ffa561cda1abbbd58a85fe4fd108bafb213a8c79eeaad5bb3410c7d6e85a237d1e2f9c8e0b8b8fdb472732bd4bbfaf58f57600996a49a742a6ecfaf55319bf939eece50d1b93df931a144b07e075f8486b5dd65071bf43812a27351402b849872c849878634cb01483df78690ce0dbdc5d45d225ca87614ed1afcd084223c86fc9bc9c891996c096f9296b9d91a564465197857fd6769977c8acdf0acf2ffb1b24d311a8d0a46109594f1fc4dd5b139c180c6f02b88e72e155626a748ae9da4eb6a1195126f084b012f72405f027bd22baea81d765f435efd2b97fed2df6e38ea603ddf8f3ae969f9690ac22d8072211d1337125a3e88388fbeff1b0c7cc7677998ee5f7ac31d8e268ca900b72c98889721e18e8dd74f4b43b083998b28eda3895cbaaa607b9a05f90e36d1e172a95617e9b102bc0717dd2a1e807b11d72a8a15288ca4643c791694dce30808aa\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 71399eff1c82b67a7d5da71df51de813631f51679ba441b0532997ada04711a2c874e56ffe4d9289ebdfda910988e1c210507a450031592268385fb9c08102c1961d33bb789522d97fcd86b7e27b59d3c369280c7367286f46c1e815851349fc16e1bb2fa76af8ab168acb634a22a8d60d7c6d2a81f4db77e65c621bbb4d0e5628ee2320b042bb4c83e55e2137ddea75c3547f3a6b93f1b0a0bd29c729835edcbf5129b33112ad000458f4a8db1149d514db7ee70e4b58c11b37809dc32020dd81fd1e3b0bf1354154e7dc0da0403ec944fc5a855026473112c88f072a8fc39b984db2c97d085783d4f8d96c87f4b826f39414ba05f72c7a22e25ded75eff8f00e53401aafd0ec08b255b5d03b2f2cbb9603a2def9e5a754b33953d3c03ab8cc7f8db33ddf6184150f5680f7401dad6b6c38ef848c00b08a70ecead088f895acf5f25c9e21c87089fab3e3edb7ee3bf3570145041808ca738a46c8de389b5c2f84f98f76941fbe2a9a159525994781137cdc00951d4229f8df099b44930a7a72\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 661c8fc20646446cdf579d0a78003666c8fd9fdbe9845c02823b8e3b780f532d2891fec3a554c743e87fe898300ee17639077fcd0936c13eae51a40d98c329c3ff525f65568bf74fc84fa112b3036610d49faf17f3426309805636b9502c3dd81994465594333e2263969da1509168f1228ded2ab8ce0ca53c8d638db26899558ccbcf52af7b7017d68ba5d7bc79657d72f87a14ad8224f40d1eeb1925b51f8330b221ceddd530a73bb814216fd6afda33983a74f7da5cd733729df22ff78e027eff2cfde27a76ab1abc97e08375f670eed1beed74a9b9205ba2497faa1c46f0038f098ff5950be17d4dd8a3ef2bb0811a8945188d635a977de685435dc128184948c53f43abb70c053b9c6298b7dabf1df91116cfcf8945e78c7e3de5bfbdf19b6893e733cbe65cd33950c77132b7816dd47d9ecfef2f15b4290cc1a4cc5d327800215a49e679b640b0ad1aa1593a730eca633ae17bca48e9efafa0471a6591535c94c4d123cb2ffe33014302f3109712c279834871d9b18982ca413d131126\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 2b0d588982c68cc0b39c00ad80c19ac645e038d3bcaa384909d94cf6c8ecfc886a83084d19843f2878879e60f5a46af4ed8d62f533cda8ed04ad8aeede3e3c823913d62b28bcc20d9836f6ddd9ebc3eab3fa52e37638ecf897d7cc027bb05facd153090a78220c10ab177f1bf19b2c6ef6ce94611d466ef758eda71f4d496c420dd88e712c6dff77149f4bdb50d1585db27fde0f2fe37e04edf63e56eb9cb72106a9a821a670110d69683f32acf5972efcdc34ed5f8ea4a40f4f6329479499d584c4db4df7122a2c7f34e866564e68552ce12fc30c2a6f24ba7c7d9dddd7fc166ba8ab0b8b7c1cdcc8af880d6f1f2b621286ed722edae310891e3b2b81addfda316225965ddfcf0568486921b125cec003a7b48af9dfc95b0a9b94c53535bd4dd977f2a4aecafe2fb08b5bfeb997d22f6fa5fc946481838a32273b6c7a89817dbca3d2730bdffe63e096d3e88a7b9785e7ecc30cc5c847f193268ed761e05231e3009cf3ee58d2a4f03ab73f5053b0bc1e57960ed3ab43ab5b1493d5a73f6faf\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = a60239ae28daef9b18bc56ca81d0c6161762a66e8bcba6f387f71433464361450a6a08912bdbd86da34ea4954ad0c6548131d6a4de7f60615560524ac5644d69e14f4bd11a29b8ad20753e2c74db5529ae90a6c733032e2e365f9f57cdcd5adf5c66979870d8eb9c5eaef244973376f4872c323bc8ec32e5e92713527b6545aa85bfb7c31325000e6ac6dafd5b48db8286bacd05bb4a9de30d81a0eb8e4a2a888a71152e68c0ac99c74adc697ef9f34c9f61dd00514a8285eec30364e96652c49a32afb7b88f60e98a4f0d2382d795d026d8428818633cd5d62d97074839362fdd2508633da09ba491ba0ba0136056e7cc0c25a0367f637e90ccad93c60c5f735fc198810a01e2f1394f5bbeab64cb0eb87c83f0487b353c7fac6434805476f65292a72aad28b1bd7cfc5764a3a6457d05434814e7f669fee063e9a171a7e0dc627221b540bd360fb64ea870a03239eddb4cb582a0fddd6ce73e272c12901af1c9865d30f11a461fa1d7280eddcf12b8531fc1e5b6d6a771b9917fc3cce20188\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 1acfcdc7d861cd9b8e26fd8dfbf13517caabeff310a2f5df45941cb6c4ff23fdd500fd1ea35a8ed95060496aab0273091dd9725ec98b14a71f214e7e9f9d8bf77e62c2f1b844d9ffdbcda7c11cae4a463f9e525acb924336a5c93a5331c2f7e167bae20464cdc68fd08f515f21bc897efb732c61219f8a741e867c3faee19dcd9443a8b1f192fa00df56a1de690e0670cbb0149bfe8bb5b95ebe64accf43a80f5d262666da65cba48937ff81b78b489482aa6a59951b1f56817d288d3942cd79ab7eed0b934f6ce092fe775eb0cb7ea9858e6810d3720751361b903706b50f17de49f10616f9d7d8053775b00f6a3d6e77a868045a85ad43c15dead74f5f86e46e2a455961b7f6092317e87d93b50a247c11b8c27087e3ecb3a680551e3bc3874a34cfba1f19f69a708762d1ede6bd560095f31b56863efe7913947132caf74e50c64b94ec8ce28a0ac1b4044f23b89e9fe5c706647ac8ef0305a0402a84d21a3c546cf7a7ab63aaa6577aeec89c8c260124cef46f587bb4ce940e0f963141b9\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 478e30fd62bc07a0ea6fcb4fd9875241139b012c921c448821356f29bfa331a1d44a03870a9c79482bed3ac275e0c2a15f731044133b5f6e1491af217180c7a5133ed781665265bd6fd9cbf3d65111d39c6c4314231f745291c70b6aa3d6ed696157612967a283003f982135520f959d24df7247d0aca3a81f7af80062d4d2b2c4fba1d1982bbfa37d5f9175747f6010391c78bf6445f553a5a77251f4607cac9eb17904680536c2965b5db4431619363245960dc8643c83b914479ef0162c70713b985241d2b271facab79253369b37fae70888db2003cf87677e915888d1f580e1d9fc7360ffc8a36c15fdc1f27eac143081612c004b81d4ed63bade76f04b0c9acdd5a79457c5be90ab26ba7c11ccb3945c05196b7ff9e29c713f6de873cadf6efac0879139d2bf25171474eb4b754762352bc77efcb50d4328e940ab4aabb8907043a4e24fc2eb0fd7da3f31bba14e1b91624212eee638ec4051f1cccab861b8aa6948326bcbcdddcaab5f2d0b38737ca7722d8cbb310585f01787007a9f\n\n# tcId = 113\n", + "# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 1e035257b6ec35b3ceab42c5ce7a5fc87fe655a55802b7f8dad54bb048d92ac7b22982bf1910a810d0a3c5aa26c5eb9fe3e2692a272ea063a31607b0765bc3cd4365f75db38ac761651f9dce99c3400099fe37a76c9201fdc4f97b83094734dbb64d6ab62e5ac6b581412943285083e2f8ce252596f8bc0e0894d4685de91e248c62d68bf7665028d06b9a28a231243f9022c66c02ca8c47c711bcaae628baddd685f0a4001a23a11e4a898de0c0247373e0a5282e2214f7eda51513a903c810a70dce11a95c808dab26129af2555679d8ba048585a3134c0197ade27eafe7f4a777ae835f509301bae94e9c6d40ffe5ce60a43b96a55efc5abac62f747d5fb3a1c0b3dae4b9bcd8148eefcf7de3bf1731aab7bd21946d58beb2203da98397bf4c1479b1072a01782f8f08367754a1e25a93a096baab9e88475108b4032e473d005a9c91eb3043ed1774cfd36aad18446485f138da61dd9872364d35aa7e10e116c70773547ec1625c9861f0e6c92a9243379604271ba88904fa0d247459a6f0\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 6a245aa2bff7783e93fdf6f5014a01934272c88d6ca19ce53708237bd15ba9431d0ed81a6e81ccf78eb2d6e1d9ed5c46d39f818e1a1dbc7634fa1e2a1ec207335bc838932efd7eb85bc62fbfac07b0710740a9f0b0621bb212762c891f04e0846ec594922e917f5cc0509787603c9dac04d98407b967e463a0d912bfca979b92b12e756051e7bf023c9f0fe061c0d67a87b79d8ebde7f60ef4d2399964b8071e6a1a9c63a8f316a174e33edb1023fa0a0bf272800a9620db648d061eadb9d180c576817c759483f85ce359685598f15c9b8f00d75f4a8a1cb260f666fbff559da3a4f075e7915b284febf8bf21eb668012dcf31692123b94b4e44e3ef17c942644437d59c49b437398bcdc68b5110523fcb48241c60a8f4fdbc0ec45e80acf259e61cf8414f4dc9e9adefdebf94427b2794009b1377d64059977307059828342d605545e0b776cca88dd0db753b5d8aff63051f9ea49da13821ccd4cd11c2174f5cd179eb95c6998eac5b66a19b8f6a3b4c6b00d744ea14ef64599ebdf94f859\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = bc870ef5ce9468f85274cabad18feb0c0cdf2053f0becab52a3668d7ddf0239197eb2365f29e60edc36e673dc7b0f89f605ed6f3e9670b7bbdea42770957ccb11f8421a9982f38f2764f75f31fecfb1267a9b1e85cbef52c2d3e54aaf304d54edca0e2464a71946442970ee0ccc545946ad7cfe08363c87dd89cddd1d7d579c22ec49525fd9d83760909209c1e79a24f14750f0d0501d517909dbe852ba777415075a797a0f410289fce04c31db77a97f1eb1e8f978713d2b6bf9595c03f6376bfe9b9a5a8943408170d69272d3a5ad2b98b73d1213bfe97fdbed1b29b7b5a01bfff20122974b023251a2825512a2e99031777491fab2c1f41517953c10145b0b606171c22e06fcd78d6f51c02a25bb93edd7bba6fc3d606ca802f8ec4f82c56d1aeafbf6b7617c604ea53c736ba6cdd755df7b03bf3d00266645e68763a2bc53c7692bac8f57d14675d6131bca1319f251eb589c9cd71062d3792a3a359476038dd1f55784754bdd59b91fb7a9fbf9f2274705abf67b26a227e7ad1eba201a4\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 92780052295fc37894ca6c4ff5f6d68e21f8b907a5ef5411edc4fae49b615503e6b2beeb1501c0cbb0005c4c29bb918eced60c62fb21154d11d02659ec1cc2a41786c813fe80e8fef35594255b11a6f6903b93411b1db9697d69f2ce115954b095d5e56cb7d202c1d4f6fbc795d4966980255098f4929ef28cf80a2dbd5fe2701ca358c6acdd55cc801a0f8fdbee2be57c6b6bd168e90c39cc20adbaf6bf083e3b53332482a411da3983f054557ce976149d82e6ac3613cd95b876c450a474823d03ca31c1be5c7049a5b554fc2b658705f16e24eb9fa4bed22847eefa71ee4a253c52675fa82cd22c924e33467803faec7e4ff7fc81c40e3c8d102cc4d54ac8b5c06b8416041a50cbbc53723373bf13a7f5b2a062552ac843cbe18b3d5238a8bacc5592dd3af26bea3d8cf6db91d9b54f8e61d62f46b39bb9d918ce5d77370341e5c3ea5ce4f46a44bdab383ff1a5afc5ea96dde6094273606e4ce4ae545bce61549e1248011d6e2bea5dd6d219d9d8edc621db13631d17067765827c50aa96\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = abfa120284e8ecbc3ef8eb997e304c657bf2b7e78dbbc7b5d910e10f02a1be9ba1305c1ba831da12e5bf7ceb70a6bbe94cf2c422b2e56ddce696b0ae637f910a7032fa26c8b0489cd57b3af8b3eb09ceb24853e95315db7b6e468c2feb5287f4338d5b301efeb79815a981c8fb5112d16fa5ca1a6f243af9bb57c09e3c0c68a1cea5ce25cae53609295eff951bf030db144d3871580f1b9285f6e58b7d7a0b23dcaf5dbd2d96b81674bc9e4b748073aafcbe476808e7dae536971015891efe25ef14b00e37a63300ae82b6413d31d2453e55b3808670ed8e76fa733d24e346922d93c7d340a820151686f00c4781c08419caa56c950b9674406cce2c1f2658eff3413ed6be5ead69b6a46939120e1b03889c6045805a1f302339c544f32bf0ca56c7b49b2a24078093d2747c4eccb77b2db148df83e4e2094683716abff5599dc5ae6d4b132c2202aaafd8a5770827ea93a15a361a13eaac22edd47e0154164ae88022f6e5da9dd158a3a25f5fa02638b1522180293dc0e06aa0150b98e7903b\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 6874b0d4afa491d22ea00d77f521010641dc45ab6081c939770c8a74553ae414fbdd1a2686f346eb5e50eec2b75be6b4d6e3c1574d36fe32968a5683dcec662480ec526136fb119ce78b7983875fed59989b24a2082b7dee49b00cbf3e18d6677ac640f723719362ea64fafcca71c4e5925159bfb36b7634acac6cdfd6eae269ad7a3c2880eaa5be35efb72d42ba30bc5fdcdc0a642e8d4aa2a6c1c7faf4464ee49284142cadb7851e9ee832a367558b1f3f06d4d55f50c8814ec6c2aa4a3284cdf3d471bc07506c4a5f061a441e44b87912612f1e4c576f4207348b40db8bc173002ff3437555b724684bc01e8490e34af10aaef0aa9d509840e5ff8a6cc92b2877d1ca108590d7a382d6a45ed0eea4c0e0abd5ff7675476b253f06a25f21c6e658634878ba318a3858737ad875d3bd1c1cd1128a094d778791e6163970e78909d4bc1f5b62d912bc643afe9218ac9dc29df522909d394a5178b285df3669fb321f0d7b6c7b50791b6ebedcb3740fd7f382410394f5853724970dfe75bf6ad9\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 7fafe1dca84d820316780965987a135054f498e3a9f70341dcd4cdc992789dc412b68440806faabde11f00c0b6499d84d5962ad1dc9586fbcb57ff05d57c907d74bded8fc8d990c71336d814f5b732d0fc3f441d44b29e1187102664fa71e047f0bcecbd57d9d6e36d9085c37add3a9c110be47b3ad2b34c5b8e94c6065a56a638fc073199b16e17efec87cc482a192f56f8d0fc0c84e211d1dc658fb222582be550439615803be1384ff8d2ade2ce1aa46bd6544141246ca74b86efefc8c7cb169484c122f2269fda56cd87cb257f7b31ced8516d01423c1ba7edc1ffb5de565979cb45326274f160a67f90a4fc6e66306cb833b914fb31b2070b3f60316aa1b2ad5cb5580be9aa47c3e2223fd9427dbd6f35d83e7a890a8054f71dd4d1b11d2597c47385d3a6123cab406dc61c562ef40d626e7561fb81fd3eb1ab72af94122a40a4f0649022e0ed52fcad209ae22613c5956215f0e3b4bf3d2ca6b45c5bd5c71138ebebecba05d0ff12ef257d5e8706a628876c958e238a3e4a8b3806bd4a\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 5015c5a03cba54943ebdb80e79fba8a8bd61085c0febd1a675aa2d0712cca98b1f0f43cd3e239c890af58dfcb40baef28692e81163bd87b5121d67c588cfe972ee8d560621ca1e9325161bd13014625ec02e433cc97f7025544a935e0f8cdd728f7fedf90a8a8e57d5e12d9c22306fbae77c092e13a3bbc9d98bcdb18714d62f3f24e65e74768c0a9e9b8600e87443eae345919ed7fe4c8581dc00f1bc0c2764cde2108e21d34cbb8f0ae4293a4f7d4ef938e8765bc862302379d979207d4f7e294f6bafaa309aa4013877588192ec5c669eda7f41427f81d75176480c85e3d122072d96174a57d77bd1e637254282c840db3d2a1f7f05de9f47422c32f0854a9703c668515b5b4030a5d26611e452306d8d239589458b8bf17f56f3447969c783496ceebe16a163a06f17bed06d4505b8e0d809e351e59883cc3ed15faa22683beb684e04323f146dfabd03e836f08382f5d00dd2d1e9ca17946446c306a2b97875faa042e3a4002fead6d15a07b7b4cc9a2a6b5b436fd03e231cb100a43fd1\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 872518041aaac17a061bac385b6e03b44e0e7ac1d1d269e166cf4e4518bff2e3f70656e7741555941032359b110530518955870acde003ceb4a528b9abf2a18c375083af2554e57c5614e82bcc012b4677def5ff7cc63d4faed4166097160891a0d0869cb1117427712861fb57b2c545db08427f121533bf1f3df1d04c20fa2150c18d4e966951801c8fcc7ba6f02801365906373d239942be633d392376d1cfea3857da770ed5c3dc4bd35b7c5abdb036e829c50ebcfd31a55c4baa2cd63d5b54cf92402c00f3e18097affe9be39294c4eb04f033ebc926ccc040f37fc1a81c132d971fc1724c1c00377d1157fe08385b3b12c6a7d44314803b1a2c72f7a8836c72346bbf428b67b86bbdf37638949d81ff4153c81d5fa1b8fe3f8a94701945d225e598876f2457adc2c58424908d70e3a61e7bcdc909993c75ae0c24a111c204ac28aedcd7a0cef5adb278de2fd395c97ba15c9208e32d709a314f17504ab83f583e811845e6f7143e9f6b9437ccfd699d663e1749d71b5639009d3e5cce02\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 745f043935ef3cd29118668cb2115b671af0e3ea44e9fd20b18dfe1667c926f9d4ab7e281345f47a2b06e7141cb69ee1328822cd04c8835c42bec9c19e30e6401bb6e27c20c53b69429e2bf5641c7398338f080fca064fde6eaf77451cc57d8449046becee9b87d6f797711d20fedee58d0f162f71fc8e736229753101eda5121f332afce03b334a3b4baee7c97e0b6991b5a1da18a7499a99f8b6983cea9046ac22b52f7319d0d1588c2105c35773c3937f256b40ed8f4127832385c9575295941572909fee56fd9a457835f", + "049afea39a22792f012ea2d38d0da75fb22e3f0ce7f628a1488e6d30f58bcdce40dde4146b472227a666d3d4902374c283f9aadd499604b45511cd120abace789075c8bd232cce717824c551f8d8d03ceca6009e6db55c6bf5d0c9615ad738681ac94681ac2aed6501278eb882436cd134c9398ebad449cc2c430ab9b8513b557dc4c345ba90b5dcdcabb01992cb9cd851266d1520762213d2c2676b4c2b80301d59887bebcf8a09b012f8907f04f7521175238\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5a29dc4f6d3138febf9978266c319c1bc69cb33dc63eee578ae1bd2a4736d28dd9d99a24926a2a6a5a2404f4b5a15112a7d0c00a24a427a0af817df199a4aebd77e6b2ecbc958d30179e00d8ecf9cb1500a91d5f7f4380e2469cbbe61d91b26573b2f7726e5af49af963e22578c08ff74644cf93c547c64965d708574b4e5496e3923d1d0414499220a6a9349a0116ff8d843c8a563865eacec1c284cab41c3d6aa813b0c5cca1add5e7d2edf36d8845499586b5118618e1a616d91ebc3349f5ee3ee1088d9323e79967929a7273910b389fe94882c28044b8978f5137a4b2d8537eeef53600e5c93734de279717141ac470b8b7c40eb0a3b0ac6cfe4e66fa2e50b44e8fb6ffb9db12c7ceefafc75a89c21d767f8d704aecc416f5771daad4310aef485f0b9c150a4a7fe6c38d81e352fcf0e49cb036aa02ea10c2e6222c4f0cc27bbffb7e89d1556457d73cd6333bec31f9acc6b7d927895e96f1e2c87aae21f8b1bf35d173b57820739c7f170c1be4b67a4db347bdbdee1baf477d7de4b9fb\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = b16e24d20ff575be4f5b0322b0fe67f02b7f2734a7e350f078c401a4f1170111b00e68524b566c7d191e48731d03e3f8e4b2ef90f8c9f798c57ceaa26411836f7969e234ef5e4da1ddbe2f6993efb4c4abd566115727831cee57a7511022c33e47716fd796f2263907c54dcfa7ebffb1912da68bb5572080274a664372822ad2b4516cb54dec43185fdaa0022c84856a178f69483bb743976f3d1f1ea4e2eb77d1c55800b7b405cc4967d3ef72ca6310ea6719617255c95a2e31231e6c8b6603aa82fab5d95009e908986d105296fc1f81eb3709ba27a68edb771e3e887903913e72c6386e3194dfba12defcb6e9764e07dba19a06504faeaf9a2313e345797cc4543c6f38a656c4c1032120ad6e83d65fe51275099c9c6d3619a491c5cd8995c42726f8f7f72644957e87b51b698ee443f81a24ba0564260fc2a776316f3f470ff3e1a3e3d071521351b11c6f4aad061c6ee81da1bfb2f40ed306ebf42f4779432bb79d7f0d20372c55aed8bc9df38bfb64fb016675ed3ac83520900113e1c4\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 3531e3180f6385e8235d402ef40db775cf88d115fe8c3426adba5a4b36d05063130bc2e711d5e71f4fef4cd2d7c21a7e2fe76a4dc02b961a6edd3658a96c78e3f7971649fc913ce8c9c4ec9ebd8be9209cb90073702b97ff94e96471c42dce887732d93f89f7376a1ee0190d7c646d56393f42c60a6db3724a734ef986380e934fc8cb92428851a6ff74f1a3feb94f7f6d3a331d4d61846026477b7d7b77077a8213555d4a7339ceec0c71d65492d2eadb9dc3fcc7b3c0f08ce2d09c97c14351dbe8d2745aeae9882b252ddfcfec719c312b789ba36430d81db2d1e88c29f0ccbe410789e0cc27eddb2b4b6d5d0b980f67700c05cf9e64ba96e5e50ec4e59067cebb580a6983acba34ec260f5ebc6abec53a899483d266b53a0cb24f81c9ca144772ecd622ca3cd0f502c5cfe6efec13574d51acc023f277c3a7efe128fac202e41033ccc4bc78b550a1663fd0d836bfa31c435badd977f38cce70a5fc353449a3357bec99a87b19f92f81c99e1a6d23ba23b5940355b078d05b2554e5885fd8\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 885adf1a5e86d463e8f6750b49a3c3a91a2e8bf90e4c19873e19dde041bdfcd08494a9d25ffaa679c3c4c6d5addf99256f75498f3cc6c09c45bc056daae88a509aed0c4b46df5c1a6a1b5b4f2c5d5d008bdabe5f22a0ba1f34e604fa0fc8c647709e82eddf9889241571a07e9dc91b4eca9af390f63ac20a7e526d945df9541fa43caae141ea3feba0d0fcac7c50f7b03d4172daecca84515448f3d8bdecd2513aea8565227c2da298a4e2cc8f5fe5603c30c220c2e96c3a4d802b87815b1d94e06f717030bb2d173339ec3ba700828bc7a02495a1042b644fcaa02fd9e67a26600718d056a050800eb546eea65fe9fda8258cf629cd48dba7393b5569112f156032d5d4e7a989605423d27945401ae7db0a9469375ecc8ccfcc3f2573570056027303a556115b0f98958fef8917e1861de6a59843842d269c8412da05cd2a12b9e2ae75d177ecefdd5af79cf4499488037fd2d592bcb2828b9ddf9cf7fbe309822a9f0f54368ec2a6e67550da715307eed5e1d80bc9baced4fef132b2f59cfa\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = c0fc6e5e9e1398d0cf6575806d6ce8c10f63d414d3ffb7d9945b986362d9da16d61e9e662ce133ad6672964adb4bac861abc4693286f826e4e77cfd72825a4d6dd03c8befc8a9712c12b0a4c2e0f3128878bd9fea55b629abf7029cb7e9cc381fe6b0eebfc05e8a8666c661641fd247ffb6e3c25bf435283a21b2b785b9d4b0b552ab3538e310bae7f36af1d2c6697df7821bd469a10dc53f007c7a240910f9f137c6d59060390c41a32edaa8f49a5b28484f0f69d2f8ac99bc04ef06d7d8cc6e850376c9e66875d00282805df54398bbc5bd8e8216943f845c89e59fd6bbd6a8e2cdbf148c656982440bf2ae364becac976cd8e40a6159b366d8d0522617f422531bfb83ac8bbac33f6b5c8c75bfc107fdd17d3cc4d54c66cf5bfca36cb1e3ccf4383080f18883b890af744b05279111095d6aa0238a86a6f3433185c3ef37203c9bf46ef7bbf3cdad39072e970a1e6dad6983e8bafa6e50a10a6ab7a316a6104e1361bab2837d51735fec2b81cc79ae415051bef115231f6e526201d0cc6ed\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 92f154acb89d20388e78100191d964c992a2360f2d205a5f008091439f454f865d3d5ae276adfe4b552afae3859a71acaf151eb04696b6222a07e1274d6ac314a60090bc928164596e2de56e77e2cee607080a293b71cc8403bb2466519f0f14d26009ae7f09fd9a41447cf8d26fccf9a564cf3849be92d9e4bd2b3d7095087d43e462873ba0534ae512fa8edb2884d9e1613a1ad3522ad9d449f78cdb8331c35502851e8354829a78c56df4fc9ebebbc7bbc468f2219e93e4c524b3b8a55d7c997bf3151848ce10bfefa6f21207f2ccb2fe9526a0bfc417c239a8362282af93124a0ed209534dd540bdc8a1a08613587a1d62baf3530ba0297aebe6e03c2889942658d50f80f33c6ba0d021f9703933b2ba4a24665bb23103f0498e68a0f5094a9b9a7ac146bcd5842039dfe55191f06a70f103bed094f7adc3c3f3b4a12f2cd76db1e9ca7ad3c9d8ff41811da6adf3a9450cab6170e74270755021fa6f4dbe3b1226de09a334ee82617ab44ce93c6420168f6a75224456910b907ec2de68bc\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 9094c58ae7096b725fc29065eb17648925b972e5fd176a546cdf03b50d3df72e84650e99960c783c54558a44166cc67b0e6a9c8cbb0095b984440995e17e6e7b5c3f561f3a8a0fac06b973076c16c31e11cde1ed0716c41074afbd94695953a7d075acfa529f89e98f406ad028dd48602884b7f1c04d60a2317ce10a4c3574800f05b83eb8f170ee6c6d084fc68d2db32d0a430184719dd0c0141798fe608ba150f5336079c4a712d62a2f58a88d6f6bf334bac46d1be0e6341695995aff0b05e152a4d75898d713cb2cc6a01ba4df3e4b45914a2fe7f2380f94b71facdc6c50b1c61485e3acfabb986cff365df2436e50c44afb7711a53655b250c3336bcc12c251e1f0e7788c71c5f80dd02fe4cc03b1103691b45820038cc094553f8fb2a5b829a230eae9a97ef4b6c7850fb7e1bc99852dd0b7027fe8ffc5e2c1a50bf5b4e42c249e55c7955ffa4f4336a60ce0d8423f349abe3434e3eb9f3425661e0686fec79ac14e435c1f6c3df4982c7392ddb8ed77f3f65a5c9210ab81e40ef3eb76\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 59e8c182b8d7c58cba812204a8132fa02af9bb2af8ea16dc10907a14ea29a224a80e0eb6c1e12e16a3144bf01b539133f53a4c2007f15787cf61560c6bf8fb6eaee9ae65b924c5f852f622d8e9bd0b67a46dc8fcf551d577a916c9a0af9ddb50c05dd27e716c4c9e75f3ddc3585cf739986de48d9add7d39bb113234459637f159e7b95245e59546aba7f07f4a40a1d6ca1c6d1cd946e8a2afda98cf663e0ff6e9bf1a05fcb0c46486976e2d9a2a35e43f4b79dba5087fa4af8ca4cff44340b3a60d153b5dd3c9bed8b5dfc684454adada547c1f428dcbb70566b86ad87310aaddd9e935dc5a6c68456b3c2ff98d3484e471e586271c06259cb754cedbd0913981bd5afb5e49dac1e8cd86cc8bb53863f87d11e6feaf489670ba07ffd133ea14a7c60f9263f986b1d13e1e67eb0a72f67db108852f97e424d455633336f3c4388898efcfe500bd45cccadd505c481b5c89729bd1451bd790bad68d2572ff09f8c19bcba18a1b6c9ff260562d1f1ac35373449da2467082b288a4edb76c475795\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = b7f073c6413f4f710af62ab1b9f023215fa39db9f47e3156df5d0dffbfe4afe1aa9dd72dd7c681b3ec542ef926bedf01608bf7bf0874fc68fd90d12e0b26b2a049ed75968b77c8a24c626a5c706fedd36336c58b8158a9f1fda4bc3f6e01f2fc19544378756c48a3283e4c8c3dcedac07b71b6610e3a10aa19996efd006b970ce00afd9256fafac4e831cf598ed29d27e6d3238b7e799e1d0d96bf78cc9f50584d6702661ca93a887010d16c711ff138f8b07dc2c4616c5204344f402067527e2eddc0fa70a48fe929e6a195e27159b35121612eb116ce2bac85e9230895044755a4c56f83b45fb3ad795728579719a68bb739bad1e3b1f0f79985a65c43758b29497f99785dfbf985cc6524d9a97739fedff3b1d6af5a7c23957807a5cc2de62110b59a0a5e47aaf33247644beeeda8b1a4bf2ec3c1260701b4c1c052276eae49994b6f8b2f8008cd5e637a9025d364ebb27c908b7f7d803dde6591a543524aac3ea330445b9e7a3090ac3c9c63c964ed6e1e6698d5481704a495f8e9ffb1a8\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 43bcfef9e1c31f739cf7273b1a83fc38c319d4ef", + "394b28147e99566d60d58459482054f2b8ec88db88fa4033132c03eda101406873c76703be2bf0d0703083e9420a917233fc1baf2ccfb8b725efc7d302b474195d54d4d3c7cbcc0573c5fa0f2b07a6ecede1b445ee59d8fe101e8b0b97f9b521963b0933efe4d10bcad18219bd2d33bd2dbc81431bc6a3ae6a827c7be7d3b0a1d1718225670cf25a405ba12e9c7550612a866efc6edf994c155f24f069574d3f73bd09c74eb44326af7846f22687b84b8caf54b4052364f107ce5295bafb2d91ce6f4efd667e6ca40db672385163d1b7a27ad1d57723dbbf00571cfe56a1ee02d6b6503da2ef3f78003d3fc07f778926f16ebcb05762fb72fa50b75f78c2d97f174bae392065db2699b00ea80649ffa470ca92e57631db263aefa225bc1bdaf14093ea1323071f7fd614b475f5fd6ca0ab5df4f03624fafbf5cb3a49a92651d9a6aad2e405a7f76d9eb76644dc6b77d5f3846942ae662fd5a11707feb5dc67912c1285913ae2f54527ef39ff\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0ec454d968f05e44953e179199eeacffe08757e89401d89f0c34875f81363aa99334615de41513ff604ec742730911b75138d3dc489094fea7ee75de8dd72f70af216817b5fabc521e391d5a0a870f2c089cd76105f96730ac1e33a2ad07896efe98b4237e8a937635f8d1dffd7fc77dd23b3e6959fa450e48b70611878727874df80d4f7949e14133a3135e422fb6fc7dffa6d6cae3ff75df25458c53f859a8ff34e1756b8da403aacf3b7b12980eb8e69f786c4433d92a5971d615251381185ae436d9d8fb04c6bd7264ca6b65b4d6dfdde13668f27fa81cc78115a07cc88f68462a15763041b3f44fe9d6fad4afeb2cd99258df774995b03a567d85553210111d7f0eeecac6a065f3cefef4ecbc607d49972aeb8be6042cddd844149275696cadf5778629c36d524f8b99b2445a8358afbad1c0d549312d6f5d0928fdd563e286ebdfa2e7db8acc4fbab128557ff6dbd03d123bbe525d0cf37cf9624f06821e422bf0f0ca8e27baab590a50d1e563098c920be15c0e8e965a2994d5916af1\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 69a1305c5eed4c40a1799a68e0bcd73f2fddf4cdc750d24c1035eb256eadc6e59c13a7784b22b09f4ef0c34b772ebe608f9306bf5fd7a463ce0f96ad0e3a2df6e1dfa8ac846ddf54b1b10dd9583724a96a0500d5aa6184052d553266d6b69b14bc76e82e15386d3b961323b326d75886fa61efe31244f5b79f83eb4ba8eb5d19d066e1844c11ba8ef225ad6817d6b560c0ef551fab8589366ecd74b93a944aa53becaf4c8e77b13e2da12fe5543c2680ad76291f08a146ed42e0273592bedd08e493121843f1f544c766017aaf581bd1645614edada2f90d4dfa5f80c1ce9e21efe901b8ab5687fad0c022b52e154abf2bb1d0c02e7cf934519c0d934ec995c79c244eb3e5462fa86dc7b13feb69abbba73610a70f69dac24e6e5ee98cc7376102f5f3b58240f13e0eef2ad0cbf1b33e828345d17d7940732886a20e05c00f2f400d2f45ab68778f3ec85246e0a2851e44fa77cb6079addf354a37512035643ec785bdc9a011e6d0788208c1e14c02aae32c3ff764f6455c8f8ac4e5017a5d5c\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8475c42278f3ecfb53a8b19904c4cb40ab5eac50077bf85b8cc71f6faff06321110aa240f9a7e8d3e99b813f29c4bf35acc8caecff0873511c9bb9f87e0228a5ccb82601dcec8b8b99acf08683e70981af9f7f2ab570023156471d77d9e944f221bdff3e666f87dffabd079606a4fc139af85031e1de8664590340e39e2c117054c8b48b20763b7b5fca7b5fffa645f93d4a9d6f3336e229f9ddbaa4e1490235c0e7f516b2e995d5abf602803c9e7286fae0fdc7cbed07a69f5b1b11cec32062330fac3b85cc4b549450ee358b859a10b2e8a33d988e52ac6921d5503f95f47d4ca26d04b4d850235f78aef513258b627d27d47edd8374828a1dfc26e4f1c2009372110c729c01dd9a65464bb1ad4be056318a0c0beee9458962e727852374dcc27f437c6c550be2333d014767d1ba0aabaed99297a544ecdb27098cd2acec886ef4aaca14a030d07ee42dc0194c1f867b77aa8b7187358a5d185ebecb24097b00a136d39553cc508ca82dc088f359cd836497b3e87276437e132096b03db97e\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = ab5bdea7d6018c803966227c8bf584a231fec444b6bc1e53fd3f240b30c7a3d84ff099899902ab9a11f1f2876dbebe6514f190838af546a249f3ce4353831a20effbe944b97b523c3857eec96785dd117ac188ffa41b7c8374ac37b03bd14afb828641b0c0bb2b47c1913ccaa5c1428258461ea57a72678e1ee41fb2ce9b5a1c3bcf3d44b8fed062de9a3600e940949b7478b452af12c97412cbf8f0bf1d95cb2bd4c3581d1ada8a0efdc2055e52a16ed7c2adc36e5f26d5367582b475a61bafd28d92c589cddcf99d3b94c64254a9ec0ea409fb5f480cd3a6e18728b68637b563467c48370286457012f92106278375b018a2cce2a4b274a4971725254049065198ff18e0c6a2f216a3df4accceb0077ba4b8d5492d7078d093e442b24588bdf9076d727b3a17f17172c8240294938b45ce0d695d637f11c8b9a4d71eefa0237828a6ff62d9b0c88fcd4d8a97f71b09df62274f51daad2036ae7765a03036ed637f3de571f4f8af7522e41acbe84d305f43d74f878365ba3fc0f2dd3fce2335\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 32329315f2d1bde7c6d3ff918ff3101084385adfc2216c0bbbb22b1e3dde65dafcf76864189d3ace3695e51a40ae844ac6e9fc72f1fbb04a047c58b0b6a86df0f2f73726eeb8ea2a428f1588a222bc95bd550083da397add4a6d37a14358f105e85d270b14fc3ed99c35e75ecb818889a065e9afba8918a8f0590d292b507fe36cc4f416e9168cda8ec687ae7cbe2018a585f4c9d76323656ff4d554744c516128eeca1eb6c77c5f566b1ad66665cfc81632cf47f76c2d366f3b5fa0818ccc39e1a95ae9a5a018e8b9defb060482a5e38b4037cf50d23bfbaae13f096491a811a633ce2aad8317376a087bc46f12154e2fd14b2a008698b0acd3485d326dfbafb1c36a1dbf5d7da8119f3f456a4c0db555aacd48905646ad6d65b64deda1b248e133f251ab7db6bc8449cdec4ccb5f45b1a3452e25c3a04f5881ad19c0c241e10f18ea4aa41e1856123e2694dd701edb7310e651b3d7d295bd193f800000931eaed32e4c4c52e339e939de6612ec6bd10d384ee228d2d14498fd1ee4ad3b46bb\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 6f4c5d8e23801e4dd6617c4670d2434af72844a997379dd7f877179bd7405bf407247e77a9b0e76956b0b3d61ac2592c7005fa85bf3cb53a231603070a83880c0202e6a2f5e4149ae05d5333f5daf142a8ee7b649cbc97d465b2354e68a192b1c63c51a1166feb428afb215d89e51bbb076eb0fb7f02a0bf512ef352561da2ea1a2265eae0dec4c7f2eeb232208965427c81c596cfc7f18ca9510bd34e83e5a51473e6e138b75368191d6b1b2b605430d9989e9ca4dcd2daa8f11e0ad05b20f3b0eae07795ef85385cb29df224769038f89599990d0ed75eb122e2cf6c0aa80f185c535bc328ae21e53376095ab9ef9f15ec663df2339fde30c480944026304d553b0a2f270f4ff999a0f39391a80a73c22644d53e1e6bb1820826f4aae6f126831b195c2d137b919b5d20d918b3fd3d85a83cca759850b27ca101460d1be3cd417dc16fff5912331118a4d514fa3634f67f72b31056cc65d8f6a11d1fe10618b88fc2754830eae79e12f4f302776137a772489e3488f37cbe0a1139848fd288\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 70f10afb809a64ab2407f0c3ddaa0f2f38f981b19536f3f5ac44a6fc85e5535e04795a16bb6c435528ad255402200b02f203bf3f539df42f0ce3cace96456728814df95772560057648867897603ddb96a92f3c7652ec24ba86af4fb7c1a8ddad03409e1bf982d01b63190661dddb932018cadba66a43cb5c4694233541c56d9d03e659e074fd6aaa18976856b8ca27342cdd3a516d587d5d46c9c845be535ad1a923c2242137d0f3dcc112190a807ca112c069fade7af53f17f2f74e2f11fda2b75f9a48250a4e9e8b34920fd20783b179399425b19e7ea99f395cd3bd7d37729a287d423623a33542100d13eb61d7f77439f4e3aed7265d7a08a7d9eb0477aaca23261e4d06d25ecf1219b87610e89af4c1b427f7a9432624dcc6f78454376d215a6fd8f6e5f1211a18334395ffa710c8730abd64de0daf686a45e979547c46f684fc130f8cd9c4ec6252408a87e29e38a8552a4a908ed86f3f83d42a9d7dba1574a2453dbf2613f8c9aa5b7fffd61f222c122e39d86bb01fce55acac1901c\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 36343b89eabc3dcaa053b5be3ed7faa79c143ec18800be18ddd3747ecd557f09998203325f89d3badb3eed7fbc20823680d38eb44dc368abbe180474f494431c04d936d7b5886ab3aa2306c0b03750df05c4e7fcc2dbab79736e2ec9b0e27e277d130060abb4ade70cb924ab950e95ab1c2335578c5cc40dc429e397691542edfaa8f4d408918beb9b0cc0668b6f1cfd9692b32f63c9fa4d482beac2745d5777b6da28ed7665bbaca9999f65309ee46841a8e3998fcc6670edebabc4515a438375ba820380138aa7f2e32b8f74d29db86cb85dc2b556f4a307c02237f18fdc5634811653ec2a440a53f8647c495b76221c058268713191a9bdcebc148a60d2159f28d92f79dc5f3b5f0c09e62bcb68f7003bf71bea00d25c4d7777a28103ea43e92951d10be77ed7c73cbea573f7e46f924e4d12cf9df8faa53560153c8fea87365b90ad3f0e6a50b41612fd191c8abc3a5d8f98bf4006e1ae31907afda4b20d7632829bcac43c100ff3f10f0032e1bffd3b207eea2d6a87027577e5458ab81e\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 750133d796053811558b21dbcae35e267b2fa467a9dee49755d45599a6774682e40e00cc46cbdd412e6233070dda3a59814d6238f474d04d9102301bc281816bdef246f80bd3ad06646cca4c9a662527385d3c473d03ec4d021db74c7a1ba6ecd1cac005d58163644b993aea62060a25470083006a6515ed45b1e54601b9e5914b8d5e3a630f29bd88036f5b708d2036e4ce7832a239699b2879b6089048e33c05d3672c0e5c573699264de531a0f6c2c703335fa32cab0003d25f9bb8e0fac2fed05a82c45fdcffdfa0c2be8e5501212007eecfcad720310a8ff44ab7dd52e69900344996ff0dbb7c39d2398769987402a7e1d9a6378721f5aad9faffecfc4fee8c4092207e849715c56ffdd5c42875d170467799e0f8a08ad5edbec4b939cda099d30293bb76", + "086c5315de60e967267f3ec113f7fac4bfa9af68c4288c69d5b0073848aa722124a9f53654544923b5556eab31bc22ecb6cfd8b18e665fb345e8b5e48cb63ae37c7ab8125a1f3e5d6c4bdbdb9778d8e27f91883aac99a69a26\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 4e9272dced0bf87a8a3b6ce118532d1ffba529ee783857ea0ca7510f4dead7406f10c48725092eb41561d067c1ddbe0c111ff24aebe1655edec615adc123839cd77c1a3de8baef7217911adece72b3a6b617c69e8c31464e2bc021ddd2dbdb99ad28042133a6a02df2be394d5004c6ca2d7520af46227171a5ec22870fc8a7dd8d6f4e137393261db00c57fae4fede6ddc7078f7c9fbc2235147da239979fff0dac3c5f0ad10fb3de6ad70e12ca6c3de49b8a36383649da69b62de49c967301cd36d439a6c1729bff6ea0e664a6fcc95898b190cee2492fc6535b7552b5f04d71b4be2dc0471dbeda5ddac313c9cd4e90109f04bb09515e54f6463450bcb6fe06a5cf80e7644f422cb83b123b94184c9d81fd0bd4357b60aa92bbf35a9a7251c515bdbd6016b81ed361837eb6021393daebe302c4c204ad3fe724b4f5b8e52f9590ea33e02ae1ec2863df83c33fb6b21ee051f489668adbccf04883d6aa972b77dcd42c03de0be2ec9e63a717d3713a2c7d31163da70bf53dd3ec342183e9696\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = bee3e72ab46b5bb4cc6138dbef0aa19effb5067358d98252ff739aba22d21d7ada25aa395aedc0c29224ca5b88169072fa6d5da902130ce97f42072b86103e1b93313452fa6285c3f963689cf15c0aea60ebefa1058603b5c9f905d5849e496ab4036ee73e5ac612b364c84b34887cd0141ebc114e240eb8885b0ee82f31a9548fbcdb6faedc1c27e0fb1fb4037124133088d5edb6d34476e1bb93e6da177197b6463a0e1042581b965e9d0e7797c13cc841263b991af9af21f8ccd44f4ff161b6545296346ef54792dd5392d26b8bc2c5a9dcca41ccc6adaa1971cbbc5e676f0c6633ece739b57a24a6bc54fa75bd6c4f2d1e554d7d7e78a57e012f5a86121e6b11daef66a0004fd514e3b688770566f4f98db5d368f1e4ca9ae583c245e30e485d4b71cd3a624eb1157716d6532c866ccdb6c5ddf3e9a6e05952f7c2c6f37c50871b21258a2e9cb152bb877971aec6827fdfb4fcee828324ed2decada3692e3c4483dff53bbfa12b633544f04866b3c7c15f713786feec165502eb895382c6\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 2cb338f3b3e9ca09f101b5ff3169edc180c1ed936f2e4a5f6ee7befe1e005eaa450c1ef3e78739d142dde992cf73b2349a617208f6979220c85f7c5286c3126816e47cf0946a17de1fdd80657ce79254881079da225d3b10898b1e5eadd04489f486a14ad530fa6a444c19d875c0be51875303abf214bcc6fedb1e7e43a257a3375f0ff7ef64e5369b1ac071ef8a64336f5660ff9c5e8fb389a6029a8ff853d4a8e565ba17b0f7302d4eeb5416598421858ae2ab65c2411ac92db844bb430a745470f402b13c9575b171fe9e64f71d6ac40e6ac65c5ee08160864c89df2d9567c13dbd6ab1cc6a767892f0fbcbf2d734424875e9775c2020deb25ad8e93472e1ea1235bcd06301ac181bb20a700050e08548a5cc00234a44e42134591ed70dd4933f4d6c6dac7abad2e6da8417fe42945ced787495fbeb99f2d4648b9382d253e0806d988b1f3a64edbb28904092941c834b63243d583303f6081067d1fabc5afcb818ba8a2edc31890ec28c204eb767e749950c18be17950bbe9df4ffd2bb97\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 85825bd4521c433e916152fc89c06d11ca2de44afe406108ba3cf299ca02d0c7165e41ffdac6279d0fe5b915f0aab62de6277e381fb8eda73a89e880fe546fa425f6698b89e47d457a349ac8cf0c38f255981b902f6e22ab9d90ecba5682da95b72ea32b243082d564466abb5e9abe6a66c5cb9f7977eb3b827a1b98af236340991db4b6fb957c4b055c23e13766061aae849a2a8edcd3ba1521f1201cec81c6ad2cc7c20123f8e1c13d1431e6dfcd3481b085e32ee4d935311f5341e3a0c594c709523bfbe9b4a0374967ba42390e9b9a1cda573fa6008b9a0a96250e9ccea74e5bbb019f1b870268a48df9d39b422a9064d923cbed7063d8423b020f07c57e4e33122705b523c845bbbf764e5d505d42940194699143188c7e694059416070f4da019eed7663af0f007d79433a091fab6cef6bd0f3d7021ae7e82ff956b37f9c88c2c82e57fd834abadd012286f1af916819bc9e91085eedcbda6b5cc44feb83018688da4b97c9dcdc1700d015b71597e96c0d6951f04873852a0dc3397f88\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8204c6b2d4027f7d93ff89c36eadeda03a5b5464deb495e5bd4fe066c0d9778042b8fa130396c1652949f0fd577ca23f988dadc525a820cf82756992ff81c4a7562ac1017ea01f8f9cd0cfc787dca972f27103a4d92bf215eab991e6970e409d431e6bc2be4f0586f5b98b4ba708d9761905aab265aacb9d495469b1863f5938549175f30b30561c998e081c41b039918a6fab4eb2519e6cac910cc4d931c6c81e899655f06c8a26f7b9433992ff923f27d982c1bfd0dcf62e5ca4c3e035961aacb99f831bc0e42a668c01256cb830b7aba0f22314b548c0b85d84c61c9b4a8ef331bd7c98010c9a65bdb7bc4f0f09b87d0c8b8a1bd96b6bc2035b43348dea48f1f4a4ed6e393040500a12d7a2ce1e08ee8934218630ecedbf2fc7fb5c6748ee3118421967e8685488fba058f312ae41f7d386905646ee334e294662a97ce70486b450a64dbf8ad7c1ba50f0c56295cb2dbaad3833d3922566802c80175526e24b188e18574292e225bb958305dc2749ddd4b46685925c0ae9deab2671e1e799\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 6593928f8e0a2a486c9af0b6af6ad78865c215f64ba3b72bf3a103788a352d216fe5a2a3382220f037fc2d8a2d25b42f48cda3337cc831e4746266121181bce964abbc7eb6378b8c59b9ff59de336989d58003534458a47cf18fcb0d0397333045f0f0d826445b62487217df62131ac0d84a38a02ab39eb7fb1451c7ab10f47d7e62c06d0d1b8ad35268ce58573432b1f4a9515bbc9bca4428bba426a3ae8ef8695bae7a2a3629177fe00edafad675811c90959ccd7800e4ca1e22b16910170b9d697b25af45b9d2febbec6b57d550b7854b425fece239155f068c6873e314ed3c97a46f7a61c8b82af22191feda559b7e93483350652354f005a78dc62bea279a888b4a6eff708eeb4d93ffa0f5c6381a9f6570746387f0e116376e4625a01ba34d68d39b6b793565dddd357493e8d45c8e676026e93b26abcec1b4ebf467f3f069dbddd63f30b6be3b93525618ce903463ae5cd091c39263327b40b76e4be0403f6686b0ae74213a5208bfffc360d3de49253b85585b181133e55bb38aac6a\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = c138f33d241e4e88846f66b4c8f6d27c89c08297b8acb8e23f6026b4857f1bba758f5c15f4266b8d66aec30a5a46b32839f8863b3e2a909ff37c97322ca4a9eaafb2124171b52dfd63465e147b8e32c99cee9a60672b70163e747a238402477dce31497b2339f638d5907e43e3b794ed8f1521490957a57cb9bc82c0b066c20c826237c205bd47d1e6ba57eb5e37364bb5fdcfa8155c8015ca06562f7f0c9882cbfcbfefbd2f5ccfd2f78c684a9bd76c659bcef3de3622995ba63913120be5e0ab72d16d11cc1ddbf23d28abbb8a5831bd0f00a8286122a117d55578e58e0da5b7dbfb48aad8ebdac7e8615ccb9c21a1d877dc84f1d89aabb0976f59d038b9657c636b762801f214953b0d0cd55ba1bedb4701c5e2c3872f364585bd675927a56a3a0fa0b962a7170f925ee921c9fbb9d0d8a19057337ae74940cb86fd3103b232314385cbb59011506f94c14d18850f13556cd7f03cafdf9229030963f325b15c701c60668e6a167f9b3256bca99e05f4f5c2c3dbff30f3ecd36d79bd0db54f\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8c174bf6650026302423faa9b90c71e66c2e54e65ef77da93795f04dc8fe0cc05f992cf00c41486268252f52d17a4b5eeac356866162c031e55d3ba7d0ccce982fb42457aaa2a92aea50f9cede6c19fc0e1052a4dd85d8039bc3f96dc19d8f2faef835267b6d235c25feaef590c5035c2dcce1ceb6172b693a63d3ae5815f5972bba516a096bf45e006dcda300806eba09ebe7629a939800b7eba88e7f82467d4d65889ab65f8fd37ddb27e62bf4738748d9e429eeeb41bf2a4573baff6890cbec660fa0e1e0c38cfb8a1e086c432562fb14b28c74495689e356ebac1a701deb7328ea31d30227aa9ace477cf76ccc375519995788f90b41bc7f6fd4af812ddde49be65a2c7f9fa1108376701099ce79d640ca5ddf1d34634513a76eac0b3ae02d06a2195263d79e9dd6edfe9b5bc24819fd5ade71b1d1afc3f5302156b97bc3c4fd3386f0a9c00c449eb05b1d742c75f02ff4529ff1a0c0b34ce4cb91a5f8b700d9c38ce6402bbefbbbb3e158aae035074a6e0c91484ef8b65590e6870be30c\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 39681cfed3cb5ce9fe0bf719a1e92aa3af1302f6b6d0c93cb22795e0ac581317796a79ffe29b5f88fd38b572cffd06fbd2426372efc6f2ec01b2267f8c225cb6c6d911c87e7dd756ca3828383eb5bd9c56d74261e62550c88e39e7642604529ba45c81c6adbbd4104788df8e00f04239e8d4c0b43ad15b497ec04d7cad30dc0082d586b1d88d121e5e5ec1396b207410a3bebbc065ea25b97ecad9bcb9594b749a6fa8f33dc11a64c48494201ea0efb73a203cf10ec68dc052bcb68d336e31535bb0f667001dc2da63358e37bd421fc88a3009c698230c057983968d61c31462363bd93c200ce4f5add74f20d877564e88c20982713da42a1b279caa845b486b090d5fe6c154800feb14e67498cf6d3176a707b2b1c82fc6773cf65befd64c9446a7b62482777b1c77c8dfc644798a3b21533c63e0fbd39e07b127b051ea2cd85b42c0592c27bd988781ef3a405dad25e9659d9ba5cf1b3c3110b59117c322491d55a9c93c8a45635b5b0d378addd082453a6d190b8fa0a89a59867d85dd4d07\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 7206322956aec277538b8bf09edf980c88df3eb0dc0689f834581b94f801883b384ac4fc218bad411d44e49c03a6d0ab123a19a4f0c7a8e72092acaf5162b0e30a2927f53543b31fca0b0b3c1abe56268f442e6f856018622584205dd898e2f98766b0def32894a508cf7c824ecc26750082b80408cf7a3fb752172afd53afd6", + "ffb1f0b96b9d0c705574eb0f1dc1f291ad5af8c5d1f539757e19e19ad600013bfd2d1fc8b668d0e56a138381389a7fbeee5a7ac363fb4ad95006e3b3e16a3b9abd450aa3f16db19facca9f45cfea2fd52034e7a1835f6e10d40be16e44a0ce5d798a8bb9451488f78edcd203455fa6dc1253505fa83140d610eab8cac65fdb2c669667a75bded33bbd4ded3b0691de5e30c0eed12e01e9c78e56fdfa485481fe671fed3cf558730acb382f24c1810c674e5459ffe449eb82840bde95fd2f23b8438b844ca019882778edcb7d5b6f4d2ba16c5ab439556accadd3029173604e5ba40373d491779a049d0106dec560e084ca942eb6293bd3d88a6b4627332a615f\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 2130fc5f94a8a359b90ba546795e788328f09c45903823452fd44c5a0703033c7ceaa0bd956c20b12eccc052c2f535400e0f2d0e90aa0fd1066e400d6e81ee19fc2b7827b48537129b54938d324680966cb39850f755b71d967b50fd7d699ce3fe956a150c17088a4d29740905d4d1a6b5e013c4450302bb3c125e90748c3eca09e39d7c6e1da6d65ad02328865e2c0efc0eda5de61153ae757b33965a95da80e23f531286a3288fd61694298e68dd21dac3816aa0b80c08aa57f16cc24c641164c67bd98b2c5a895926e1025d3d699ab7cb9e4f0b43e31f68bbe2fbd3655a705b28d4266807e236c4fecac9ea470dc9aa55690e428a1b353696314e5c62d9e5895ede07b7c584f65d63935865211fbdd78cd7b0090bfc169dd000342d14b068c6adb65068cf708c4e3c3be72302bbff056087fed642480b9bf2064fb3f0f0356b7875025a4641fe5af22b98432dd708872412144cc9706dea53d9d8f96ee55ed821715124bc824b408092e5eec66eb574f069be3b5d88a8f152ab73fd160b4d\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 575ef9ef6335f748555a176d35ef3edd9428abcc6c00850723b926fd84c0937361b662320866f555f6e1062e1844aed72754da4f50b1c960b8522ac932cb263c40d301d232dcda65ced16d0e8272c2a23d2130db57cc2d39b0b1fa03ba4c7fbf03c6dcce9b474583538f48075793c26df725bb88113738e674f7fb4490ca61e56b350650e8039beb39a97b6b55b5693cb7f4106a26ceba9322ff889b0fccb2e35b8309a25bd91bf0b8f5c2459cf81bd9e8c2ded35a9e87ef701e26d82207348624aa596e4e1847b111c518d881da598e1ab6e635af91c802ab35f5cda75833217517e84159bbed67bba55f51d62dac8d14c2f9e1a8d1b1649e367ebe7611af0331424ed6784a5497f80ba4617a580270a69cb2ce8b0f63a73d5ab34c8d7e3fa966f465788efe41f57a99914ebd708922d570d1334a81bd6812882f0a3b3f41f88a25bd48de158c4da84c784235593c00280cce586b5d388e4ccf92ffcbbf69dccc8171a7b4bbc8d68d1f00d8628b725f08c194fa18f064ecd2f3c1bfea173cd1\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = a947601ade4bdd5adbb13779e2d0893eef5de17b6f217deaa8e005fcb9a5863e1e84d1258889dbda768ec247848e7c4c8bccd8fa10a322d05fad461ead9b51180070e5b263c5ca4bf471fe2711ca4d34312cc3741148ce2a0ae9ee7735984533606aee498481281cfc398f852ed82020e0c9f5036b38b31f9812f9bfee954411d7db1653c19194710b42d726ea0844022a2e0b5eda0bc205dd94e271883bf91458bcacd093fc40546bb71ab2ef72073e278d46baad57f744b4b31b100288ad6e25fe8a582263428f83b92646579d18438eadd89e59baa4de8da0d91fae6c3667be486fb7bd5891808930ed3c0f6b4d7a6b5e8898215ab479769f040380ed6636751dd19ba27c8284bc8661d7ab86c5242f6b012c48491966925c3f780b35a0286e1b389bfc134a60969d3345b4ce1d0bc23885fbb3883da50d1b470e1bca3e7df62e5872d7855072be216faa971684d632135858303c6de156dc89be01548ed69967b3265d208a62f5887c46e3b395847f8177debf3c572ef212dbabb8573799\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 4c2912d0f4de569d7db9cc1a407a01874ab8e0bba81f38c370ba55920f64b41c21e6a3b67e5e0271f8d9400374f11396388966e2434aa0ebd4723042c92a876b635b8cfdab85dd25fba5f88236fff2f7caf23602c479c95b5ea6cd3e4f653cb3639e75ac1cb39d268a035e744453ce706caf3f53eafd89ec676baf74f2e6c9cf8ea4c288ddb1198f15a77ce07e7335671168eb1cbd8c607087dbb17b263c9ef83e650ce9a48ef2fb5fd37a13aab9e8239bae823c048cff16a7e1897f5f7e06cd685a829a85859695fe6956179cacdce7181d045419e69903f987b35acdad97a7dd2e7713060c67b8f447a02afc218484cb1948071eb64e77cc4e48d0bfc635340cedda460a1201b3eddec7ae5a008aada21bed3060fb17c8028eb2bb767d1d4c948bb5ff9e9a2192256e59ce48241f5dce29dde5ab2de0ba8240a992239b7a2a546ec66ef7ae549c8a15fca6a70cc1474c90945795e876d609d5bbed72b8f001673fd53b9540be4d187a484ed33506464f402160bb1f18a3dcdd47582cc74488\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 357ed432befdd0d673605a705dad0d8d2f100da229e979b1ffac404596d777269d9469dc1b9a4a389015faeb44639d2962a635c3aba4ecd7f38870980e87b2af9c7afcddf2fd379160cd415f261215a5d46ce5c0c9512f543a8b1ed961d2a75415c9f32db7892f1188bba23c6d5f2fb40aaf4fbb003ae6edb74cd0844f7461b3ee029029595b6b8d299e392d4763d3f6b31b222bac5777f87bf9e0beba302ee87da8be3dc5a0434b8482c165087d60532c52c811fe6389c7c2728cba5912d26d8089635fb01cb8d78aa5cb41cd274309d97cc10dc2a43461cf951647b110a65bf47b8c137a8363455155332287867e4c0765ce691cbb750e5e141aa6fe61fcf4e4b707420238e05d955e5dce215168b4d1742dff70ee87d4e24bc0fd9b73835d8cb359a28040935b4c64907a7623d11118e2997fb2282cfc73b2fa27d6e58ba9f5b317f35a14363c78f82466d7c9cfb8b07210289817cef53ad672f10892b0458f0004b68e74796bcd98e51f2e2635d494c615f6f087a293ea4d225b3cf4b0d6\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 5c87e321dbed16d59c49867ca35cbeed697be4f279027879604f1686dfe246dead0694eec5b2f516702b36702d7b11297075b489d9087bcbc0eb1fe5e756b5824a13d06bcf90d298592ddb6e13ef362ae9eecf0c36380159ec511abf3d071ca89b05a56d709c3350de5be1926007ab5830098cf61e677bb4c9d2b79ddf11d9115905bd862b4cd708a069c79cd276b73aefa05f920ffd6a8fb778131ffe4c8a5ca2d81256d43f60e123564bebf9bf14d04cb6d3109865f6f44b21a8896c294c50f62ece38798ebed8276ea7e40e1d1fac611cb511295c03199491af3e0c3d8baccd4d30b2c9d4d47067073f074f29c079f239871dd62e16f53352914d89cd4c126d0e38370f42a902f007fca4c1557b2d6b420936d1beb484c28e392b4502bac5cc5441cbb59daa3bbde3644836682a45ebf4d683f11bd12082b4e46610847cbc42eda82b80a20c4d847963fbddf016232a6c7bf12409108eb395f66c6335fcb6d1b15f54f825f15c7b2cdd2afcb797c129140626e32c8031caaa007acdbec381\n\n# tcId = 158\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 5e5a6bc0a9b6f5beb342a99156da240d4ada680d83939e62a8f9d5fc19649e9c381ced323c26e642d034b67c9b01f2378ba0c17a853d9c2d73d087ff3b011959f02c2fdfc880d5c82179da86277fbc23a84ebd397fe22f775214ffb8d38359fa141758ff4b84836541dfc5c4e19337147935cdbc7dcf52c91f647ff6e7ceb82f1601e4eef9b2f799b57d0c1e3bffb63bdd6467b9e385db30f56b46ac06f03cfec3cf6805a0539029080b3b95f7efbbb3728d2cac0b98bc61bee10b4a890b818fb0989083ad828f87fb79813199c9de7af666291d153406b8d09bba99ec7675cb93ccbdc2a62b3e89a6b01ff66fd69ed667515f46388dc57da04c022f12ceb2093f755e32281ec105011ce7179243f5c399c219192be4667826d009fb38c7cb2f212d8ca046c00deab4dd9c3c48d4935a7736a835c2a4aec58a240cc66b50df20f21f4987641d5c6ba78799eb792c7973cb01e963c2865a76c1121bbc34c9ae40e55694f56b196429fbe0b89628b3a08ac7289a55b365e1402fb61ab96410fed2\n\n# tcId = 159\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = b69fe03530859d30589af21cb06ef78702dd9778aeae7062204740b36b79257951bd30e4aff739dc8118a5a97961b68304ab277fbb0e0abdd7bd53b7782812ed2bcd26fd60521bfc17e543ecbd485f9b7da6da75fa558ced68cb49d819561339ddd271d2f484694d83ffbb707e731fc9972ff1c132ff648451ecf6fa2525c3ab696a635c3df648de67344f8e6eafda31d94dc32aff88537374b0562d887f437f59da19e18464bd06659785cb99f4f979be6e59b0a3a0a336019af8d324fb3889c40aff31810fe8c6f5f3d61b79238ecf5a62505cab45c18f8e0f52f18a67085b8dadfb1076de0c48631f3d200abf42c07581b3e6c670d71da5f407c7e3e31a7d46209f95a2f14aa8c595bce7e6a371405ab886874ce8740259dcff6377b73634eab9f50e83ce6629faf96c470bcac6cedbf991ca7eaf15c95167cf086303b43a88c56da11983584fdff05f6fafb3343ad4e32c534a9ca4b59f79e80f2ad191855703454f1353989efd6c075627408b61cd7c4b804c8815911c3a6d2976cf35c0\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 589f370ab31921a95b6bf0220d0bda22ded0719e0979e42f205b2ef3480bca5f09a75123350edb164d1144136cf15c0ced65f2be5356b7f74b8c0595a4b14338c83e501aaaf9192fd80b987d5cf6a0920a96ec8c535edf5c114daacc7275cb6e6d1a224a43aef54978c78a5c91374ab5f60e089d8e80e540134c4e7ca936bdacc5a67e21c91af79ff05fecea9c07e8926f8d1a82478f4da3facf8f7f83e27f0907abb4ab1b82ba451a39837d508b2c1402c64e0455c4fb8b4f97905f2e168bf5eb0f1ac62d205db2f0739130908b05c6f2fbe853df8ff40aedce176114fc1787bdc45cc2426f7db44716b604623a856e1907fcd788d17073abfd3b7d68f80747785d896328158e5c597b03e312f0890968d482fa8cba3ba0dffdf05a71f872410db469d43c9d7bb9e4429e57e56efd9ce3263eb0d86e032480c3101be930f1d313eb605a694b6744395d1b9fc21cb5e7dda9ce05a87dac83d7b8ac5291ac987dcfba1b1b5d237cbdfb65b573db9cb4281469b1cd267c40c867750a1cd5c74ec6\n\n# tcId = 161\n# large integer in oid\nmsg = 313233343030\nresult = i", + "nvalid\nsig = 9398d3106cb77d329abf72abdea2bc68e64a35faaef9e32ba9612e43322f6252bbca89915cd5e529e8eb976ce97e0f3e620cf3e8ee84d92fea7882d90ce02e24bd7f3997ca7bc2d2d615a183a5ef4777376668068f6cee91e72d6a5d714188c1e02196fe6cdc65681c07e1c92c55c2bc56caa074953612db3d6a401d5754e32e79c6b773e0404105dc19a125f41d819623854467e5192c537f9c6bbefa0b7fad645955ab95ce487f1337095647ab728fbe1ba21cc6164dd41c7707def39713a09e945cb67882d0f60231d190e6b872d81b80caa1b36fccab7bf8bf4e7c88a05c5b41933dafcf3d44e60bebaaf8fc7f63f88b970c2a66454bdafe41760f1395eea1e9c43012f1ba6dced5695e2229c2e1a8e77fb8339920029a8b9b389ab32028acba61a4763421bc705a0e4e674e6ecae2f92f65d14144731badcccf6dfd2b545ada88721f2357e3c224ba12e420b82eb9e455c833031938135fa71d2607e204e3fa78e6bbbfcb3f633bedbf076509e1bab749c6853faea658e39652b8cecaf8\n\n# tcId = 162\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = b089a7ba334bec3cd96ec5c28cc8179dc54933a443ceb64b087a55363d0553da24b37647820f3ce8b530c3b1601f7b1976c2cfbf5b4ec2797896c52264474feb1711c3efdd883fbaf35e5f3f22ec02ae5aea2625fcee030bbb3eb08cd423457b8f92125224a7ca0fe4fa10748769ea6060b5085722efd14399c55b3197668b1b2282476b845f4c1dad4dc94c265e40cba7ff2fe8bce5c5b4e51b274d49654bb087e3abef3f45879b28765e666b7be4136d0cee5b3d2c859056e55b1846fb3199bf7dc209e603fc2c5c5420756f5298490a7e2747f283b44564d7dd1b0829ff74b894517aec399ae18e20a0f13ac96578477513a61611e25a024f8344ff83626f68c62a16a15dbfeddc060c2db00a024bc3c02d62bbc614ecce1118d88853feeee755f9e28c2c943daf7e237e524bef4f86ac761a5d9eeea47f05a9a16cdae78a59acca4729e7720db6396563cf3ab9456058fac2aa05e7c5ae484a6a1e8d9b5461046d944d8d34b42b9bf35f068994cef3b477de9685b9365cbc7b4facccf55a\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 4a8db880aec3d9cf1e3b778b4f1616e1b16ab80ad3410eb847f4319d35b5ed5b63ea0f96260434e5281f6242807f1e776a9a5f6dffbd65c8de10b8ba7addd44289e30b46ff327f7db6c34b09250c22a1ff96044942bb029dcb2ad0022117aeec3c0fe89421e9a873d049e3f1f5884f3f1056974f2df6351960fa5090aedf544bcef4d59dedd3ea170c6bddf6bd5558d8d2ba5212fae3138406a112d0261128284c05178dbed5a25b589d3f1bf90e28ba9ce363f53605016248a7cce838f7ca2f20fe43298637de5327a9c67eb0aa10e6e92c0fe3f55fb299caf302ba1e87c1a3c50142a27947028f60b9baa272f662f443d78ae446f1aadbba4099496c8ed49d9b097d67ba2babe41b62f0feb8a11261f5c4bc86cd9a55baf5b83154116c1f344cb71f9d2d7ff6a8072ff5a9ba0d6e1817a798693be738f9c9b0563e40d7c8737f0f38c73229d00b57be895a75e2c1e5708d39d4a9447de6412be8d5983f5c1bec5a67f941e844c2ab8da51628edd6a03a8d2d9f5bce86a441b5981f7e6c0946\n\n# tcId = 164\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 33e76286146ec82e95494f798a413f2569722f1dfdbba39e7daca5d654fd9bed5b25272fd3083d493ccb228b9429f672f5f6aecaccc3b6b66e6cfe2748c55c772c7becd12844369fa7283a95aaefc7b7e6b444ef9ea0151655bbd358ba6a42a4b2b9f9c8ee8dd805724bd8fa4d29e322d56e997ee1dced90e10b80a4e2d007985214be77a1807935b75a2df81b9c87b177515bce12722b1ed2ba8295df7342a707fc02f4ac1b17b9413a1f61015c4ba998ae75fda119f20aac84e921bc5d2232f7bc9c6eb29d8de3c57f4bd62cf73fc20fb6759db4f9c47988155bf73d4102bd78b09cb88905dd0be0b8e613f076cab8cf89711670a1ccac6c1b9fd775b05ea6bbe25ff038bda5fe828b561d7be73d68d881fa7b2c3c3cc513da9e19105cc99a02fb3791becf89e7419d2f430713de41ba3c439e6fbd4531aa0949e1fe8f3e910183e75b706083ad11cf3aca16bcf8dfc606ce28c2466dcc111312f3578bd41af4e190436f5c382cc14728c7b7e3f836662acbf7286e621dc5e121d5f5bf8af7\n\n# tcId = 165\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 2f2fe9ae01a02e6d91f4fd785c4cebe581cb323898e110062c1808801f822cb2e255f9b2bcaf2691e931df9e15c7f876082e569b3448cdb88f44b2a1e0665fce0ddf27c84ce4d9586da28d401e76a54e9e65f7270b0c34e64a7eaf720bfaceb063f984359f38816876d3253770512c5beb06326a62c86b7f05f394b28d09d389cef7644f03acefbbace66c7b1e3de93d39d831b2d27d3998190063adad46335dee71194793739780678056d7a7dce03e2352cb9b22fdd4922cedd5430a3f56d96f9b2cf22669bccb70aea9108fb81d7266d838bafdf7b707da06eaca841996abbc3637a9c246ea52776455b80fad6810eb01916242b3069d333e541b78778bb0e92faa4fbe4ef7feaffce181be52eeb5b6807610f060a93ed663028bea60de1de63b6f69a106d61a93929b6da73f41de02c58572083dacd98e0b11f57c16bc5f0e3ba1a95faebac48c42912a791488fd96322e52bd022d686582eb88fe85a48348bed36d95947f39fcb17ed2512974804c467c9a4ee5e3fe586bc54a22d65c85\n\n# tcId = 166\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 4c7d25a7c86329b2dee76f6972d27481bd4eadfe1c901371d27406bcdda5c447d35b5b4cde6eff94fd5bf2e83ef8f1bab37bbf04307dad6d38b96a2ff6464970673b0c05c04c1c07e0e28d1fa228510d9b2bc9f5b4461330e348ff61a1eb533df887c6b3719c85d3ed4d75f36b85ee8540048600f4b4b70fef885e90c4e3c8d924cc0a53c44047cba805d15bf88366a50d8b60d5dfaae09e20e5efb186ed49f005011bdaaecfd97074a8cbcf87e3c810d9e698eb2a6f8b77e3868377af16ce42496a8f19b9ef8809dc35364d35d614f1309a3765e3da35b06ebefd522b688b86337a9f578e69a2640cea2ebb5634665ed7fcc7faf124ae7ac70c298e0b3493abd22ecddfe23e595355d5deb305ca5040246bc3aa450faa3a5bb2cd2eafa2433e4a40d1d602422c8d41f02d5a3a7d4908190e065fa5b18f0160298a52d7eaa828440bec7eb234b2c506172e46068823f6084058e511a8fb59fb722577005552346c04f85c841487285b6b2a469e68a374005d8404aaedb57d3c962c186ee7c27a\n\n# tcId = 167\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 4ef8d630c4ba8a424ae7dbc197dc7cab463ff00f93fb6db064d9987f224f2a589fdbc40e7d3c9043f1cbaafb47475cc9dcffd85a41a0b50614a206c5720d1151229d1d988dd6b8f56cc538b8cf0d55d1dc7003f51b87dffc178b3a63160b759c88e829afa2dfcda4b4cdc9e228a7a81f301e2edbb10da5bbd8ae9dc93ae8eb98d47e760012d990ef53ffbfbddcb8a7633b3cdd8695a75ca6b196f9e2709ae9b30b4f7b606eaba508bfe8f46de14dee5c0d663d01718ddd053dbe204475d5c1dac048f6d628019c8b4126003e4364e90121aa0d9472149590537e35858e9bcecadb9a1f2504ec78ea8d09772c992a7a12e31a8850510ca726ea3c1231f778b51d8818b8694be37f4656bd6f3896f6c19f5e9aef74f55d6b44071bdf1ed9dbe9b26e0b124f28db5d32dc877fbdc63d1b51f62997b83877e46785051df7cf4230c82b1007251cd4f3ccdf204103f99b27c5cd48b3ed529702d89e78cdca05cf52d0d99b99c9e9f479c537a578e47194c9912e7df890f15ec671f7ebb6d304d3e834\n\n# tcId = 168\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 8c1a2b91e9d9fbe87865fc4e6b478290d1e4b189866912508402aa311b953f7d4340fdcafe8f78d76c4a3d6fdd7a387fb38cc507ba6bf383743c8f6aa404d97007d60911622a8b96971cb3956a1be3f3c5e49501048cff335130c9184b78e3913d47ba8a69ce8b457910c69369a1b4ee05ccbb0bb17070efdccb94ea8ffa4f683356b1656485f73b19f7b6d1669b55bc28bbc37b7b0eaf88cacc8c019aad99778c032858ce1da532ce2b039294c8ed0660d20b6bf2019bb864e43623d600b83a1fe09ec5d7a6c434ff42fb3f2c08eda52c1ea033dd757db02159188f1b6383f93e1ccddc027bcaf77ed85303fa86644b2164bf99ebb394e0d25298b28e98da79303621d0b188bb2dc65aa19cd14ddbe0edc1b288fb46daac7db10d49bbafe28acb9e1188331978562fba048badc2f72b942d54c23cddb895250dd590df62f4cd184df7ed6ee88ee82b01eceadc939d822c176cd16f21b9cee6efe6cc4cd7b3b62fcefc83cf4a546c69a81668622e51a11a5b728b7689f4e16692e5d2c7e5b70d\n\n# tcId = 169\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b42bcbbd1403e77665fd47c2199d5d962ec7b224c00a30367d482f3f5beda989f72ba20822a46f5c28e9b5524de1ed6f3efb390a4c0fc222047f3a238a1b53ce6c4f2debf4fb4d92a8e1ede0895c39545c7a3fe07148c8c5944ba76a57315fc814f0c2a08d8627af126c467f281643d648128183379e90f99e97bbdb0acf2ed03f4ed38c61df3ced83a195b92ae786f2a81ed2bd6d1f33a7b1233c5ab13380621950fb27fbcaf63ecdc703bed0b1a58b1d36f84914be476e857a861bad98d35b248fba6afe10e410b93435e5854530f07d5d0c375fa6ee5cb8b306c2e40ce5eeadc16ba8fe40d7bbf31ff9ae2f70b458a8db46f4faf6373ee3cb0e5398b5db53b65bc8b0e4b336dd22de54c7e8e3b09eda2d33bbe53daf8626e63d16808427359cfc8076f07259772f00cfed32a6c1466b1fa1847bd9e7bbcd68b6ca9e8ea8b577985bd107bf1752353390656784f92003d43fb585ef2a4137c7f83cdad4bf3fe1eeed2cf76c79c0bf2cc322950f6ff0a98a3c68f83d7a9dff5d87420295c18c\n\n# tcId = 170\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8a8634d606e5c507f60bc6f932db58af00b8b057132eb1148b278ad00be6e595893982b2f248a3b098dc58dc751bf42094ac236874bcb4b40f95e56f07f1267e559d2bdcf316af97dbb6c9b2356fd7eccf47698190dbe3a116a24ed7a09eb2d51314c8272127f9a5960158ad8c771489aac374b9ed43cc4d85737b808f49fbfaba2fcfe044a526fa067401bf6c4e8b3d89a527dd2340983ec0fe0301a00857726ba5144b8fe1bb6d995c82455b04ddb6dca1c02e1e3cf0086f95e6d51420891231f5422bd16cc84f41705451d5dac7725029e9a4e4a1d1a7d0dec7126e1bdba68dc32fcf5a2ba9d2893d2732847b42", + "659c68da741c3eba87bfc6f127edfaa1ec5c05ffab1ea2d9f412600f0016540f07387b4146c1774a9a0230c23b1ecc8c14ddff0ac8b12bf47b64fe9c7c3c2bc0ae59d1c22d1e1790d88edb1c6d31d90c7996dccca9b91e3da10cf185cd36a35267acd92e13909cae9ae19440f142fb270496396b983c79963a07013a3bf089fad02334c1f76bea4a8dd8578db9174b22d0\n\n# tcId = 171\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4efcc5b2b023e2347dd71bd948cb661534e1bfd77fa55e768b9ec3edf20709786ce113b6c9026448e97808d098d33590488028c098b0d7f5719dc39c2cca636d9cf888230a803c75c1a9a4a2c884ebf19d7bbbe21e62f0b3ea8dba5706c98027b3fdc0a6429578fc2ed02625f9bb9c9d3f193ba98b78c510fe7e7beb42513e76d84b72b49abce43d33e23aa25d8038bdadbc3b115dae29d4b4e4616108c9c1727f14bbaee73ca32f8bf4511cf45959c2ad217bceb544f9ad7fc69344a6305680723dc1f18de7d81f2fe49c2d058f9de6b76dd8ae7d94dbb0fa0a54d253d51ad4b7ceb939a239eedd455e9c6645988530ba59fa7311b3ab26eba68d5cca744f57a5cad7fea64a6fd323e93e92cfcf4504b4174f3fe7fa93d68abd98b1128ca909a03fbe82bfbec0dc4017675d3fb54a39ded1e00f93fff69b9374c280bf124ae1a0928ec39bc2a650c345a9192221c172f2a3d22301db276e32e78dcf75dbb3569f9ca45b9c5db35d766910bb8d644a1a3ef02609e42a586e2c9096fdf3fa9d73\n\n# tcId = 172\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 70e063e00143ae6836b44a35a084218baea5bcc469be89df6a63cd58de6b40f4718d6b7517afba52a459ce12dddd06cf9e3ff41533e7df2300119af7fb5fe943b133d548695860c4598fb418b278899e4e0e5084d785f468b6cfd9945af926ad6509e7b6cc0482dc0d2b8d1201cbabb619fa8aef07d9700ed0e97062604574aae8bdd9ae2eaead2a22be6aca035f56b25f419ea378dc4bf6cdce24906c62facbe2617804b54c83d35c651d14d5f93e4416a4ad9ffb0784e292f7813af00dffc5971c1f6ef6725754ca06aa116a92cde6088f95ccc8c5ae19a821fce9c316b2c74f07baf29511f3f608e3e8a2c276043e2631a1fc651d622754384ffc10045883b93675c7e4aa8453692b0e984b12c213f31a225c77d28fdac426aefc523f8c5e55512c3a44f4e75b9bc04da2befdae590f09463a0d0fc417a4ae8eb31aaa5820324450b0dddcf8a9b06bb066ccb333a4bf445dbd10c025333154752ac0e919f714deb58ec58f38742fd3379754336ce9944674573cafa81bfcbd71e49beb5ecd\n\n# tcId = 173\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 889989d3df5ae514b1bc95c5231248b30e38d08e48b88ee8270db52c2cf65427b3f7c59ffb718965849e774e40370587dc37fe4de5eafe74865e8c84ecc7a64fd3ffd657c309db28516100f7b57e70c557302e49f612f185f11540d1cee57f643ed976fcef5c71e0c1db38d12c621b8c80e7cb2a02406ffd728cb3029c23d402343f3040d4fbc0cd2439392a93d0492fd90a89176cd72e6b8a434cef5ac4511ca14d4b7d2dee0937bbf5daadee6a1bafecfad41c000f06f72f73c6426fd540d59b0153934fd059e2dec7a6dcb29f64133b856c3b18ee5531998870f3cec2c375c44060778adc1b159e9411bf43f391f0eb82c20e8ea6c6ffc60c4a0bf27fa82e5f79857ac58de7107472670292c66337781070e562da9bbe023d2396d5f75b852551d721f8aa1a737918db641520809e0be68f5aae43994d6666d31805431b9fa146251424600fa08466622e970f520b4bf5a903e329f21c1c74945cd6898f2f8464eb6b48da5af543bf1937395adb0e4e6b4ec0f11c9ffaf0071a453db37d6e\n\n# tcId = 174\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = b81df2a5f0d8b8d3c5cd1c644f3e110597fd1d1abfc186f4c8012a6247c8102cae07155a7ad2edccf8e6c505e7a4ff0d29e34c8a5ff25aa25e7be34306844f49bb6d90e0d8a7ae3191dac814f00a2c41f6e2eb8122c199d38189770721b4dd0737286ca4456cc771709f23b198c936802c40f8061e6c971963878bde111f3c1f3e1a6503c5e58ddebd395966eb100e6882e71aee84b589e23278f838251092da897ba9ca862cf9c4d20cb20bd0094273f9cdb28164ba3229bb121b3965a02597919b7c75a93ca7e54c2a1a436a7172be4197d6819ecb4b71eab5b37d58600280951d6bb813f7cc5df3929d5b02860f024995311097e42554bb7083e613ba519517abb87ffdc39a0e5f4e4d4dc2d89e3c1b37f98166e80bff7be83f9477211b4ec8f45d8fa99b0dc836101c5cfb385072793698394310ba85772827c4c0774ad917b40fed0418864bff70be1b63fe4f401c411de9e4b57be72baeba53cffb807a7a9eb9c2b4f91049114823ad1abb83787b5d160787cf5d57d97dcfe95c44189f\n\n# tcId = 175\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 0d6eb76e1cc70a4a16d760c0a518defa2bb0987e2d43d8d294a55c9d60507a62236be3a6ae0098a0b28bf7030b373242ccccb88e4f5d4ce3567d8c6ebbf726ebcecb4ef0b26a696b68e59596e104864e5c7c985342e93bb40faa0bb1cde596556951431af93258664c1c1a0dd44e620b2ce0bed8a37014c460c829e0ca104e66cc5a5566394b3a43e21661e5d5fc0497f52d0d8a1c6ae3a57cb689d75e6d94be30c756e9b4d6b7f497a60a897b83c289f6abccd133b63837cee0c2ddba2b2092c29d96831fb14175dc84dd1c5dd1cf42338225d3be6379dc2f0b51b140f5407baac7177bad2de991ca6ed246b53c94381aaca8a299569fd664234d4fe928086383fd50c2af8b91909bf74a5fcf2e2ef30959b7fc0ccfa5d41953e2f1d3886f77ea6f145550b99b0efa3212d2a927db2b3f133a9c45ff5038cf5321fba0dfdbcb8a6abfbc65a2484692c1a89f49a39d00844fc2b4c6d488dc78da5045be8b560228c1e9c93f8f3613555d15e7e39bb5f4160d6e8463ad6b2cedb4174c4813c8d0\n\n# tcId = 176\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 3bf6856f73f6ef422be2e247ca197d3d7ea3c8aac7c12af4e26ab047eb7f8997a97a3b6afbea78dce4ad26aef24568640643293f338dc2a0b867ffd71b9e9a30e9286aaf10281df870d2413b20737eb8673ebe3479685459ebac4c30c123291d9eda00cfd580eea9e77c88087185b72fe6b3b0ea201d9b770f74e24595fc02d40db9356ae20d226f9fc09e59e3f7f760cc3aa855da72d510fbb8ce1e6586588f3e79a64bbfb2ce1983d813fa1ffb5890a5e59c8066842f1bde986b7f1af334cdc1db4d97b793d631d1dc67fd13207198106f58bf80dc1188fe571507b80cf4ca18ba4cf7b7953e937884344d4d8f525db151cd5f2bbd856bd3543fd5cf71bc7e5a45e10553dd1ae47d0cf5947e8dfdc8fa174f6642dfd5e3f4ed300d7571ea31c28f14bcb37dfc6e98ee6b1162d72ee1eab9ad21f4e976510178b6ded5d637b1245fdc48458f6928088d4fd792532144f737a9d9fb157fd22225a98e0a38e8197d4c7af95e2eadad8235ee0800a5ce584257035a6759ee0d70e7216c06b6ad51\n\n# tcId = 177\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3428832b0a12ef303ea4510428a001d6c54d3c3cb4008cd07f57a3b73acd1fcbcef9d29f84a4ca1b70701bbd193598aad70e7d64d187da76bac023ff909b338ca75cc5fa7de2eadff33e377814de682aaff232975a1fb1c36e401fc40c4ea61941d7e6d36af36ae0bf30127f2d05fdbf95c8f0e80a27300373c055e3f5aeddb48b57936dedfa58a3712a2041580abfed8d214ee35e08a5c2d06e9bd9487112ea9862c56eb2eed3f5ef166bfb67bb76ddbb1ab56fa60e7e16a34f8d2dae992a255ba12a154130eb07c8cfa6c2d23331c043332c287528239b7b138f7787db620c3c908ba150dfbbf712a51d5e56bd139824ce046c598ba323ed3669021308b76d70925fdc7461059eaabb4c6776280bf985c34f1bc035e65024629f47c2026ec2c9242d840b037aa4c634659bbef8283c39785ccb596185689abec72e7ed527fce49264487cb40423fea92fec60bb547695abba011b862db538684fff0c77823b0df95ef1396dd93a5189c158c7a845682848455b73b8822a9c27b8a3e789c98c\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 264ab320b777d6c33b56c4a61d1beec9d4191024268a32d3ec83c247bd34bf55aa60660adf5d7480d1082237ee5515692e6002051900b87ed499ed879d7970028d308aab51496864f2d87d3ce95559b24646be209921dd147546203bbc38fb13f38120c4fa5cbdf5b9e39cebe2034588329dd0e2e393caf14d17135ce467397ff71db128316a7220561c6714e0abaa088dac39f98cfec71f14f6b3bb11848a4809240839eafb0b9695967ed8e9ea0b7b2fea9ad6a60c38005e3ce36aa38a4d2fb974e57a6482ea47a22b31cbf9ecd73ea7d63a4d5321dabdb1d9a1b66baa754805322040807982cc4a0fcaa1b30b13e3b8b1675e190c76e7613db3e57f199964d85ef6b8a169b0d70304355fa1633097407eb30e5c5ec6bb2e356b79d74e8d7a516e1cfa1e105c4e9409dc87ca041840b639668ba9819f3150929d2114ab54fed418fc940edd030c481292c90070542cacb0a7efce531f69ba818447fbced8c622524b2e6fe57c466345c2b74e7c6effe9d9a092e0c5a6b1b7f36b11bd2afb58\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = b6921141cacd717d45fba03ff01be38cccfab166c66121177ba660551efc193ab187baa767d12936d1b07fa736240b24e8c7f6bc02b10d82eda0c20b80c591ded6d27abc97f0640147e7c7bf8dca3bb250c993efd3de1f1f58b3e6d5baeb0652472af89d3a08dd8ff39bb4550eb2bf370d6c4f79d0f093c8e3d99953414a5f92593e00448130bf6b2466212d108cc0cd01621658c401cc55700a4e51da8d02ca634cc2560dec5210f28bfae4bcbcc62ffa10569491ad79e9a1b383b55291b8e9b431c51b0afad99eb5cddf015c7d91930c99dd7c47708f1e254ea1c8c09c10c796514478634a9a5c8ad87f6244903c59ca5cc374fb52b244c002dcf39f675caef15bd1329f6180006106111a1e91d4d9c7ae56d065d36fb9843d74b7f4fa8a789cebae586c072359002fb0c3698bfb74439d561f093587fcbc09759b60964578c3150fbfc1823c76804d6e643d2d67c0ec6fd1408d3a7e0ff92527d8c857a92f3ae4400b4312db163ac889b0634f424ee4fa55781e46219ea25b1bc08ddfd959\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 6467d159f5a3bcf671e1c4442e5f1455533866ec8053a788b7e15a0fdaa7d62dc93e66a5d9d9c85c11bd6bcef389174caa3aa9d54ad3978963bf69b5ab503e6243ebb515a", + "dc2bc45bdd6126446095d0c0bfd7632bcd8168147b141007592b1f1fdc8e6fb826094858685f627bf321457a8cd9df9c7290baaee6480841a5f2c6092a084a52f0abb5edc8a4cf750494b8d494f69b3efa970378ebe6846fb83ec22ce56ae8c2146ece552925d2f3eecea726d02f56ffc23c6010b52b5240119ea326349bbbfca1c799dbc5c24125f2c41fa21718dc5549906c6bccb748e10189d6ce73bf89158b47e6e44f20f95d3684cc710859e61d878e540a53de45388e98fa1a1acc92283ba3790d7b52b22e9ed671c5b661ae33ffcc924825efb90962b430e91f468b9ffae07e0bca510441b73db302296a170d64e8e024170bfd0f5396a369080c4ae8e7a3d23a91b021e100e33a2a1c1f303252e63c62b59aa797f5e61b453c45dcbd69ea14f9e8eea4346d7c4957740d868860d7ca554ab88bc47b0058b\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 16669d358f0681b0f7f54c5840192dbfc462bbda4e2e13ebcb23cfd554f1454f616d156a28fe5a2ad2690897a1d6f44b4579407eb7486fd19b5f643a599eaade6bb6197627f38b7fc18eb6e42fdedf030cd4cfa30587e3100302aa37e6840196e1d48be48da0f51e9f92ead2cfa8693b38cb2a732a3fcbb27d2aac903a594c567c2ec8249c97ebc89747047a5315f8b5493c732859e5793672548eaf0161156ff0e96fa7a6d4085aec19c4a218958686746eb0a40d9a6336809ea435e6b45c4ea97b771db37b514415b86d57900c59ceaf4541e0b53f786332ec055bfecc1e14ffe67dcf41e9350802416f31b3ec0654b87db474bd4c3143418de724eaeb74b95312cfc6bb64659a2e537c544673f9ede21dd5e343c15ca7a74478d06951d010acf69a6befbb224262c95c4ae70760d396958fc3ececf8a8c3c42944575e4f4cea5d94dfc1c93abf18aa8a9ff50b96615e8aa8c8649efbfb69e0d1401c0fad73376a589790aca696ee8f92cdf8680a9a5b9a1fdea7260392d9c7c85262af7fd2\n\n# tcId = 182\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 33eeef2f8424d783c321bf75d1b30a57454cf54d5a9c43256db187a70bd58d0a807d807c48ef1f15bbb06d7e908f2160cf36f14411360de927b86bbfa9c726fb859ba05fbcf1614f3f26039815b8663fa715c842ea5613e1322164b37a9e7dd521b1dc3b4cdcdf2787b4aed9853bd1425e951bb16cef49d34fac2c792184255eab68e8c23118baa26a7084ac59b0ca699cf2476689e0bf28dc7b5c7fee4538c0926cc394579e8d20caa0de2548ce9f909abbe6a99cdf4e2ddd7ba91becb620b16262609b07cc2dd9dc7e9594ada4c899de7808633955a40eb3cbe7cebfc503e0a4aa9e89a738ab86033724f5cac153d4fb851b73b6857bfb569cee78c849bf5905cbe09e3bbbeaa5db4b2f13b911706aa350403b6288b53b570ea1223e875343f3f1e4ad2da3755007dcb7cea413dd7d3f8b5a995039152ebaf5617d6e40d01424834c6cbc352b2f76a6b763d8be63013f87741232f6b4c4c67f23fdfef08a4362bb16531dbefd3c7ca514e78ef0b8b7837e5614558c28dfd6fa8c4ad6f11a2b\n\n# tcId = 183\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 671cd766a3875e4734591173bfde1e2865b532f48ceb2d8af037335cf1808c53259b3302c883083c52a28d35126969f71f3fa354c1228627046323664a5cce06d58b7b9a947dfd0cc0c44f4f0e26ccace7fa1b7c3b219101a022c6cc4b6b7579cfb7b187d1d56c7d6060c39b248205403b8f64f67a8521934ffd53fe80fd92be28b87ec4bfb602edf08534eb69c77c0dcef1a9912a684e685e610e58d58b03b000bc7f82253ec251edf239b88bbd43884192607f947c66cfbc3b43b10f0e6d1586998b86834f39522ca9fb30232ce9a7715045cb02bb2bf232d5615afd8af0fc5e3c4253f912a7015428246dcf73f1e416860570c3484c561730c852db31f9dd3f3515c315cfee97026e80115cd238b11208772077f3c8e45d49f0d19765268e12d0b17c077a937a3606dada3077f4789a85b29000cc45c6591e44e73174d4ef47bd417fc67ab658f9ae179d2403495cd50e488d679cb062cf5b193093bc6dd101bc31334fc5abd8ad3fe8383f5ed14f9b148e6c4f7d390ae38920da2e10f070\n\n# tcId = 184\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 0679679d5be320641d3f545816d0b04741dcecbe8a6c0d1af3ed2faf80449ed184edc4d1b58c54173a5b26f27ce50d8e6562d9dfa425cd732fc08f47eab900060dfa975b2b4a7b30403557950cbbad3414e61cd7fc004ab1ad7658840d9eb5d001d82fa8ab862ccac8eb2a96fea79fb58cdb05a0e8d601e95fdaaed3c4362d1d6a4e8a396668f9a5d119ca32e4a1c926563231e39bb8d3966f2d986d8ecec22f361c7430636bba2031c60a8eab06ae56d3c491a301a3a5be0e0e0a1daca0f0c90945c2b81d0c873e4eae4b1790c61720f0f7df2d56b9c3a21216d604ce550c547e75bc59c401ef1ea588aaf43b7a17bccbceaa47cc62090df5a7d5a0e908c25d589d54be59b2800a5f6ad29599a01a51b82426528f311824e801babe52f2ca2fb058006f61c7e50b621fd44d4d0fe5e4cf92b48afbf6c37254b82100685c6f57b0ff32ad9a17240788366586a5c3a9458bb5169026cde4f703373c7895b3c86173ea9f24ac89e7a218bea90c1092aebf4cfe7387fcd61fd1f13f3230193a009d\n\n# tcId = 185\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 5af6ce6cd7d8cba3c9be3478cb3ffb94b16c6e6880a2667790cfb8818ac081edd53d49cae910f9e3461b18087504525fe0a97f8d6536829eeb16b0311bc0a07b8ffb061b8d749894b0ac1628a9d8bbe62f69fd1b19222483980145ef76be38f6b497fc1749387f99da7fb5cd0ab7e1a6a186a199ca9f86902c08fb495b5458198bbfa57637cf86fb4b12f7b8e59e0af3336e2fbb2f82cf36193a7c06601b010387e86ef6eeaa5aaf7be0a1b9bcb4a23cfff0fec5f3ab645cf9ae47569cd15b55811fb65be2fb83f4c2f376419fbc6d8a2e4c7901a97c660a05cc9beb925a7dacd91bc97eaab1a13f3728187779635c6b9f706e59a1589ca2974fd1195cc07528a024aa07624aec1b0fa39851e77fa67d36cc11552f4c3c91dad62aba44b989baa54a4dab606559b637b6fae9eab10af9ab5aa156b2bbb169a3a8df4bf546aebcbfb87b620e3aa4530e29b9a4a2e18d859db2c6ac8378ea9b36c3c83d292dd6db85a3e7a5f2580d2615027db3731d80c43c917c2771667f2f8fc2a105223fdcbb\n\n# tcId = 186\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 369197d34d2131d501babcfb49f789ef8ead12e732279f06d99e87336d840294a40ba22f7f303a4dd2738744e22779ef753ae9eb7bb996c1a10f5e70702d4688334319ed10f9d5159db9f4f58b3a7ad43ec531cfa9238e3e68b63551f4809f6619bded70a38d70b7fe62e892172d1994be13dde2b2c4ac86fe2ef5897412cd665ebb9e26d7d450b05bffa1d201c460fe38ec76b80c7a3671be4847535226ac9b8d8cbd3ff0df537eadde670444cc61c88724178cb4513df04e10c5f0e5ae6d123bf8f966d7cf777eb4140a3d10146ee687d460414f6c883184292a9e3bf052526433d9053957818188a2ee0a6ed8a0f2a4db321123a367d2424960ac462bcf109f65861cb62451066b7aefb5283a6ae50bef219d151d9f23df8f66fc0a8128219770fbaad551b4c7b02c6b3e20380f1e65182c2db933fc5152da8f22b3372dd97f454230b3fabe4edda79562147df5403824d6f44ba5ba00f8649db460fdd29c9b67d32b0d88d56af66f06272a401bf872ec639d5c79acbc020e930095d52f4c\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 935c94aff85633cf56d8e3dc3f58edf03cc95c14e721d2f311f944999b8b5c413f37a5ab1f3ef809683a436d3efe95a679828b8bf6f2d40b17b553cbfa7f32d3d9cbb6a99f8f41efa09a4bd2d17111277be2121c2d85da600bc7ea8f26572bd70d9b66c02a89748f0d8e14520c0696b7f0d18521a632dc9620c19d411278b6a13eaeab0aa84275aea8f548a8ca25b8d59775e61ea2cd4eacaab836337cd3656629c6d896ed289a14c109a4019b8897c9b6996ff7b20a2a1db2a58ce5728a49806d2630b8b64d985be2c2ef14c8b791269bc387355f646ddc19db25cf64d2b2b6eba30bb007959cfed2cac0292dbd207126adc90b8758a65094068fdbec21ff2db53aaf969692e7d0ae22ac850f853b2892290ba6f198aa6754e713f549172d154220fcd6996deefdbb14c9329b015448060aa0152a08b4d1a5e32d6fc5bb60a411ba8b206fecbedafa9883a3bd5d9fa905119656563df1d2d08c24cca881a6ab2222440b64bc12a859a9d20c7f9ea02322c436003c55723cf8678dbc8303f97c\n\n# tcId = 188\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 71601b43bc8ce6f6ea74985843de5a2c9f71ffa37bde9aac20c59abb025b0dbec4cd8d3623b515f0d098803cfa01564a2d319c93d3acbb5e3603f53e019ce2cd2975905f9faed64ea4756254bd064985e5245d051ba7756d4b1eedf928f9552e9854b0626639702d3ec0c40c2346af7572e86c128d1aea0ca218e63c3bdeccf290ea995bc2a0bc7eb1229395ebc6b9f8f9b14f3d5c1191bb6738ca1d250965cc80c73b3fbcef29d08767038c5c9ab006b100bbfac35e15f35698f6f8c6a1ff3c9039bf4ac984e2429540818632bd02015552e9757f363e8317fcf8998a55154f6161b67e00910cbc736daf7fe738443a3ace0763fd6505cfcaf11368dbe5d585206ca41d76e39feb68519d309dd92a54dfec5791311f5c00bd0bdc7fc5f2f47d558f51a5f3cc2c86c33958d118dfeefb8b531fd4142892e28ccbb2c574b6c115169981af4c3ce6e019fa27c2efe4aa34c0ef104e16c7f02a3b7bd46390039c7d4ccc6b27deb5f6796714d67af88456a8da6395e670b513f45b62ba0aac65579f\n\n# tcId = 189\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 241332a0e34ec700cdf2297c8994ee0cfb848e6f5d6f31216524bd3d40b1539ee5d4955d405497fbf19f9b3681306408a4ef5eba87e75799dae8e86ab050b7e78ebbe9a2be1e02f9cec519a51e7880a7f653a8327275bf9a2a298678493df013d3c3a191372f5f84aeed7abf72697ade3e02d521655d2d79003932b92e26ec22a9260606954ed32c536015a8d5306de8354fec6d51b48a0f258e5742eeff0d2c76b86bdec0b42a6606ae043e86b2de8f4242be7ef65b9ce60fe4f798a8aa19f947aea9ef40fb4a467d7c5413d526aa9491ac9a98f9e6342a154a99264ef601293cd2d4a979ffb5dbb5fcf79ee727f87f9cf7cc6570dd88d60816232eaa57dd75a7f0ffc8160f65715fc12508fbf00134964968d33dd30742e93107eb74c3721cf6615fff5ba1566844ad6859e028ce769823f037a6205edadce32f3d38bf7", + "78d47c36eaa67a36cb53f572b1beb90622e5217b0833de3e6f8000adea76d4543c803aa707932105724706ca4db008c644336a89b3ae8f196b7f2b3ae306e18176c\n\n# tcId = 190\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 60aa59b8254b47199db7b29de45c02247610f3cf9cadc3f46c969aaf36ea1ecfd7aa2c6cf626a5ca11c275485818b2a433e9648c3dd8f6e100d530b215e107bda795ea13bdd3aed87b5edda40a5bb0105ef3731b44341b6a3300409db7b1bf2dea3b84507bd5fa0d7a11709ddb106df8fddf1a9625c64552b875ea96d5ab33820b9acc94a30f37e8817ba1d757c1555795cc82a26c6adea36676eac2934dd3d54e1bb0fca770f6051c108de1e8cc04c15306d94b088a0ebfafeb93bce91e283ef6b4ef88ee8abbfe549eaf2491f23e3ae13d3319c73330237e06d2d00989cbd9d9c8a095e82534e14845caaa66599d996df6b583c22c3e73f747c5e597b6263efd3d484fa75e227873f50c993eff26e14bca16e2df14098854167f0de73a157df996d0beb2aeb6750b5743b0a9f4d685ee8cfa5df01a4b924a679d14919d2753f8935b82ba4e2e4670097cf11bcd59a613b5f34a2963dc56f59f25f2b8b91e9a00a2cecee8b488d860044dc7e10f82037030d62d48e028022e7c3774bf3c25ca\n\n# tcId = 191\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0d814684d79c28bc169da20859fef117d2d6c98a9c7d52b788d972fc098db62d46f52ba2b5083cc7de5cff0658d4266c113a8b35cb3bf04061d4c6ba6b7b4cd67eeb48d56101555e4fb556a6e90d513ebe468eed8ef0202118998b2a1c0d9879b14367f21d9b4889b9f2b41cd260d95f540dd8489b78ddec27999ba507da902f60fe1dca5f7fef00a85829166a1839162b8e61436bf6723a136d765581963b812b0005b4cbda844cd76c1054c87f69641d5268abe4991afa2fd98dead30ba26d747aedebf45a96bd1002aa3b8c86cbbadd86124817595f123a39f9cf3fd26543afe54c6fcfe170060af7aa096ee2aa16e206303f8579554b7bb1f412062eecd486219c94798737e9ff75ca2c1f34cd03182c9431382f0e12cc7efa13b1c5ad367f34ae84af42b4614a7eac8ac7f1ca10695b88bf6ef17006f06975dfb4fd02731d5cd8a6e429515c4730d0aec054b3533d5d429150fc9714665e3881c25f5850fcfb3e8dae79c364d58aeaf2bcb0ee5d899af92adc93d632eacfe529ff57a0f2\n\n# tcId = 192\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 550ce3e78b5e1301a0b375e5c6bb6ceff056689221188d00c6116eba6920eb8c6aafab5bcc11e52984e05f68920d44be9dc2356617d3e7ada79d51865885262defae63a4d34b8c003ef5ff324b59ed6657dba99765ae425ed2c9bdcf11f41ae0164a44c1c41d98cafc66ff4e916390c42c82244196887d18121eae27b6e21c57354b0d37e160f324b95e790956a5093a9283dfe9a72922cdfde37d15bc317bd05909ed8d1c8dbcbf600fda9d26c810da486a865887191e1bfbb21a68c17c217fc3f8aa2efde650fc8ccd3fe5f6d7270231ab0a97e3d5f3b63981e09d0b8201ceb649505346ab22f664b9b6a63ab088bf4ea01fa26142ea3795161f933164bfc4e2412a2961bc09ae13257df7171cedfd2fb48e5a61034a2494b3bf70dc51a3577de4a948bc0bf35036b0496cf79c9b4d1bae0e9184068260189a6b5531715dd47b9e4f011622306ae7cccd7743eb42b4748fdf46bc5e3285373b385b5e38185d9990dec73133a9b88bd3d7ef0cda141f2c6704ae967af791056ff249c3ddb7ae\n\n# tcId = 193\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3b2eb94128068de15497d0fb6d8612fa6b900a7c8d38512eea2c579b9f62c45d1bd198ecbc5b2facd875bc0291b6df8de78fc3367529d2e36996f14017f3ef71883d3b95f2525f62ae32d294a170f664d3ce1cf5a5cfed4df8b5c658e45ed65a606b238349cf1cd53d6f74278dd8e0d898c1375f007b8d2777889a104735ab7306df6751d9539447e86bc106e83ce6ed856505e5ca3d9eb58d8f4caafe13a07e2d3670b3934f5a08d1c76f723bf2b2130fb8a99393338912bfb06fc6974bb0493a43e14549927215c4cd0aa76ca99754fcaab897f2cc7a149caf0d2692a82e91c5ff0bc9d33e2f6620544b7fb0734b304df20a1e4389f1da4d8b1f40f019060708a5a05582606970a30ef75606a1cc46609615404b7689520db0dd22434052d6348c01cf8d7a2bf80e19b1799e70d049cdca517f262f754e71f000bc0f83bf9fc59fe3865a4e75f275d514cced20cacf10bdba843b824bbc1c9c9c22e4a8e234be197cf90575f132e1c53cac7d87979a84c612b6ea0c2f0f1cd1da0559661e73\n\n# tcId = 194\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 6496f96674d13a493992dcf6193b557680962c4152826f35b82befb713a5e86b09ac350b36a4b27a730112b91faffd84eef3e032628e5a06e98600e49665c9755b2f48161edafbc9ce527e3403ca919e1614708a7ab697a20a398233fa23f32ca77a9c81e16bddcc4058015518258bd48b955fa81cafa34282bb5e6d42bbd1c82fc30ad3a7aeb1d4381cb2ef951da28941c4b9617be518dd3616a0472669c25ed43acfb5f55e58a87fa6181337efc97256635e7c678f099c2d62f78aff5b54663061c0cb3c6c330c43e8a4c4a50a8229839ef6ca0c5943e87e9216da644aedc80c698f9eaafdf81046548bdfd119cfaf95667bebec6ce029ca0a4c96c9a17c8ef735d43af9c81bc82a9317046eb8444a765cd4cd848e61370b3014af893ef92faba5a14b4217f076872d187d8de12381ddb7e30e40abc6caffb5b267067c411f9d104dcfd1e395e2b73c67b1d884690a6a4ab58aba1e7c720c187604864440b6dd87d85188e94b0c6fd99038f299d44e161de8ca7fdbae62c3a8b6ee003afed3\n\n# tcId = 195\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 04b2a5ace2b1f16c675b02da8a8532511a25d59b2f37031baac48b4b83bb434df89ec93799ca6e3a9125049c051a0f9ba89dec99931cab9786c2bac52b2a06a6250ddec383e3290f423ba899869b4eaab192793d15156b13cee7f7d618ba7a6acf49c992d381b59be6f020812d5a0f90d12814ebffed3a02994a91eb3f2c079f03145576869878f641ccdadfa2eb946c84c122bc198e3d343f0bbd6b041701e7a20db8460a2ca79d35923497028b6abb3d72a5a6fc4b3e9092c2118e248140ed2526ea7b5ea56a2ef04bd40ff27436c7ceb1b3b29a887988d009167dbf2b0ef5ed2191d14ad2eb2d763a7f03e0d733c1f2c27e4634063c39bbb0234189d72bc7b08695e4b0f5b88d5a16f02914c74dcdbe55e7f8a773c9a7b9c9780a2d2ff0b0ba4f9adb0bf263afdddcf2fef8046c605d9e0ceb8b3ee793c41b4b320d7c71f9835dd6a604d5216f55c9a83f67b8f5bd28de1c7b499b7ccf8640c78538c88e00edc66b2d6bcb24bc4018d1d731c05d250d4f3c7b722b38c74bae05c1bae4976a\n\n# tcId = 196\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 050789f05b63424da4d9bfb1bb9a6e816f2b77eadd4e127b2e0b2b5d16e0a85b9af3a7e42ec2b862f477261787e4b65d849254839d88165033edf953e954deb1ad3bc6a0b8e45b97ed267f8104e69ef0db1c740e5e587a4cc17f48e10fe240dee9666a4e71d7c58e54518a5b1d04cfcb9b67e76374e7974c44c88b9b4bcd7f8e5a10132745f398e3588b6dba5a4d680ea8af0311f9a3c78ecfae00217706a7d7acb187caa7883b73058015a2b9c3a663488e1a42ef143337acd5a2563feb38faba0c1c0be567481107402715ed56707d7d0015f9cdc38a9098d4aa9806f790ef826dce67bb766c3ea6547d987a00d5ea252e52d9f536ed2b7fcd39abdf93b43bb5110d3c472cc5df4da021e82ea132cee2646a302f6e5c9952c56eca12bf31d29e32bf810c9ff5c0535a9ea3264223874e1406ccd372e05c0cfd95b97cfc991a13c63178bb5ec5223e3b25e055188c77bf05d1c337617b83da328804ede26b599a76bada43cca9c3b271db2dccd7be1259cf3edbb020a4cda776084508081a24\n\n# tcId = 197\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 9bdb19ee8de8003f29924535f141da242c069d7d5efec9c46044071834d2d7858e794591e277b87e1fdfa6b3108ec8b615fe76f3d374381562ce3624e35802730a4bfc2c54385da6eaba8903aaa8475dcadd67ace389724b59a10e7ba3bab6f332f44357c95e2e84a2741337a253bf85efb10cd9e69cc656cde704aa20681f993f2324ff323582c1feaca59ddfa26d696ae43b09832d2d34d126c40be89959dd2a353a2f3722e2e0c1cc070cc1dd0cc5e3dba9e9a7cae5a7e7bb20a58b37366c624180b2b1d77344351508a47ac5cb46277892f0a88db74daaea7a03ad8ac60a0e212ac5e18d01cc81af472d7bd905474c7596c374b6521579ecf115575eb90721c78c741bb48d4081d914b2cc9eaf9e7ff6c898b5c6d70117b2c8870713b4298bb88d7cecc3446dd4e10208c09cbe89738078f573ebac694d6da770b56900ac7e4dca41b7dafd8e3c96a63e79a28d9727a831b05169bb1debd17fab657d8b52d8f915590b3a67963ce5c5896fe6569ce4c90859cef89c79d1c9b8e48a46ee4e\n\n# tcId = 198\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = b252d9c77e84f1274ac8019d0993427574d63a80a26c6e93b786fcc8ec699bb64306a9e425fc7fad43acf8a4fb40cc7c54bb29312430a67c0c23c79d34f2ccbbd3d196363901316bcb1fb1a7b6edbe4e457be1f9e92e272bdfd7b35310048212b8e8059d4dfcee86bedb0d7bb7bb0383d0187ae56b56851cee1f6740cad320af9fc25517d729c09ce30dfcf477a0f5fcc71c7342e99b17d831707150be963057a203b133e30adbe10c73df9079cc0d0b5b535c7a2f1e545352ac80473545143251bcc77ea46ab72f3c4be6ab4d5770020b765e900f33512ebcab8de4b9bae9ad68002abebae75773efcd84748ffe4be93ddbb736bc3cc3e5a81b5221ad4405adf4dd3f5fa9ffd5975116b56a0150fb715d22abe24e81af90455cf617d290873d14cc1b368f0fd969ad622b9bd299efb40f640507dac6bd6d4c8cc144014db6f74f71e751e7349176e549d694f68d4007ca6c51f6f58fc5a6822a3005478d5d890e1919990118ab5eb61535383c6aeebe1f514a793adae3c1a91f90dc3261279b\n\n# tcId = 199\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 73c5e90d38f0fda07b0dd538fddff64534db7e4e7f0be09b62ed828c49c616663bcf565b2cca9ea19a77a5135d3dabd86bfc831c2b03d81817aae22f4991422e228e315934e993fb134905e1aa03b3539100d9293b8f68177f4326867bd71de9fa47c8e9f37ef46e1b9f3adcc2711892ce1f1dd9f238ee8e1cf2ee0c30408179cc290dc895cd46e2d717552f0a4db", + "c890fb85dea92554553c50f7f93b34f52625060b290860734cee378783b32453eea66b5bdb3de41839ea69d873346c710a114848eb0e53b26715bd143fe3ea67c3303d1d238be8032242f622a030571bf4726162788004541d642de9ebf1d4ad7ae7dd84fac1c3bd5215a18d65e982bca38342df82463cf606d7c30ea3a5bca3971f78328d0e55cb0bd99594dec125e73547aa6bf4fe22edb30fbe4ac4298752673b2a4bfd592a75db98a5a6d73e26ad1de4b63ac83ba1e29215125e74908bcc888ce8590925cab290711732e4638443a6dc60e705f3c54706b5cf23a654001de4e0f0c40a0078bd6b071cffc2f9f728351\n\n# tcId = 200\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 6495b6ed3efb642c89767686ca55fc7f0296bda99a2c04cf03f269f7823de1f8da9f67d0ea773c03a9aeb41d8c56e4f0919c4f228f60d1be84dcc68f0448d95e3028c230ab5b7cd807ad8c939ac83ec77ab5ff44203a6b7ccb6e69a6ef0c902f1e70f31d480737e418b3a73b9b0bb5ab551e86ff80c3e4e9dbff385a49718d7f00b5063c4f7deabc566494314fb5297968538771e0b3a5b27a56f11f6c9f0b9f6ec644a3ebd9b6e7acf668a1e64dbd3ff84b860f91c3d4965e657804e6c5c92bf5921e10bb405f0d11740aa4f7b46a82224e0305e312cd4e17a30757eee88667f2372cb4ac971b774ef78edf1bd299cb172867352c574cfbf23a321faaef28774d65bb22b45647b9a526b7c4245b6c06f2225151401a77ecdde12e767066935c0f9cc94320d6afce02afc71d30a45344c79ea22c72a247a1be6989e27d59ae06295fc69898d5f3d2877e166b9227fc1a0172ac8e367828ba3f6db8ba29fb963a205e897fd2fe1273a6406551d9b2eb4aaf88a7178da423cdb4eda07b2e309892\n\n# tcId = 201\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 4cb5a50291ed1e9d2514f4b5c8d005d81608ec004b035336991259fa908d5977ba8c75ab7f0fe0b31dc7127f9e81441e11b1fb94ba034459622b301cfc6918d49648b74680c0dfe79e455fd7c0bbe2d9cd0cdf8d28c71b949feb817575e01e3fef84f463acbeec12f1a5eb6b5af59d021413fded81f12e792ef3b4e29d3787f561a20884dfc296fa4490c40a790db98bec78be02d6d83907385a6ae8c15f9ce8b30315e9c0d1593b0a5efe03d25745f00f507aad0e607e5c81ed05838c3b4cee63405ac6b6a6034051479cb9f40f2a6cbb0c82913277e32d5d1c9c55c63aea1110cf6ec03fd7d908083a9aeda83db8bbe72f787af3914408d82ddf9d38e80ebfc152b36ebca127f7d82cba622684d44c150d46149dd452ce322820316bfc207a3b44a614dcb0f9ceed843a8f95bc7cd540df590dcc9a451c39d8d0a9770dcd7950b339990ec5100723bf07da131bd384d6141e98e18600dd44156750db66826d65faa991180866c752858536992a16cc0c89e56dc6cbc7c0972827e586757476\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 82cc73f7a3bd65b0910b012bb8a90593f78230d0b9cc0e3ad3895271492acf1d520c231aee97e20084edde67572b4f3f4d6f42f2e9b9d262c15479a0bd176c0767b1c89fb8e7776f18ebb210d353c870e4fd2ba3c42ce8949ec0c8a5899a3b841bd4f8de8b549e6736b1f3242ddf959b637d1be3aafc4ba7c46f2cae3a16228180e33796ce759aebbcca47a64ff2cebae8bd1dee8e5cd46b602360386620fe6d4704c16e61cd4801abef4f6832c1400e99c14a7024a46ee43e3f729241ae677c128d9b5c548066a8d765afbb42fcd3b491b480e2496c5ca5cbfc1b93f4f85fc5eb3dd81d882b86376cb800398efc25389750704986e5b79d1f6a22793cfa3519e519e0cfed2ff9e4ed454f87367239cd24cce8fb5b1bb35f9ff286ed565ccb1bd41c2c98094cafec4960e59e5c75e4f03794b7ff913e848c1ff0fc5e19d61b0cecf65cd37c95658e371a8629b091ba05135ef05cf57e7ec508be6f978787d9fc7fbc109132c2fe0efb8c3fff622b600b3d3fcbe46b79db032052e2c082257a05\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 943d197f031094c5f4938c130e3b9778c44ac5708e2b1346a77a9fad73948505d9630ba4cf537e9c17bae76033c7c6687ff256967c51d4241489440041a2956efeaf7ece62c3baf68057cf72b576258c79793ba81a1f726158867ea20cf1fcb9632c7eaefa0fdfc728c193d08e57a29855f2c4577c566f48cc1e45a6b0af10c0d68dabe814574a131b8ba167e1c7495955edf33f90043c9fa5cfb312b8d55d08689ea68e2c27d1c65188bd35475053196e05cad0ce63b9432bd40770c1b1dfce8ca497a352030c1178c6865b6615103b3634562b7ab1ccb1a08204761574aed2da75478f432add1b2888e21ab9da9ce2c00259f6a4b541388bb19a48daf91135aa9b540bd362a8ce1c986bb609056f19d12e4c56b2031a3c149ceeaa767f57939cbbabf1221d486c66ab5209f29480f63b367c8619d90f5e7eb3116cb87930ffb1ad45717480f00a01c6e69541523b998835c5d81633be9b4b82d492b1d54b2e6b14da2cb33b3fae8210611fcf15009fd7ecda3e135113baac619e8b74d70b17\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 1301f1131b35def827e8d8560f56d7dffcacdaf65df2200e054ab7717ca7a9f7f19a3628d8774cfaaba6a377e8b854613a4ba7c6237ab989976b0d1398753b7b66a724c91abba885fb77e908a2c6a3ad8d837f75d872eea76d7fe0d75363098a4c7af8bd831de55da3254b85dd199173c2708b191670cc659cd491eea567d633fc256134c2b47e1d1d28db03a5e8294f20a536cd7280e4fe86f750d99d41cbe5687217a55ccf7bae966caaea313258333d07fbb0b00859e5d9e21d71f190e4079ccb0026f074e7e4a984e8f478b298680470ce6338a2b25ff1da6f0aca3247c743c384d82406e44701a46a4c2e50312c11088567788d5743cd3165e3536b693e54f4c6ccc4586e462cbe4796eca57baa70b6296013d9c1c6f4e2e02a75bc6265900bd382892f4135a13ab600c764c546fea14febd51bc378bd1145c2282c94228db5e97d6ce7f29a505e46e373779b50b3856556d8907f07b61c2745ee4051d0f274947fe06eac7d4b091fd5476d6b7c54924018ad7acbdd252f1024080dd681\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 742a5c3575b6379d7166188aa6c9fe5406b157db778ee0900429d6c427fc530c4c0144a189265dc78ca14715a5a0e69995ff914fe0316e504802be88d5325af9344cc54db76e1d75030b3c41a27c8e9eef0c82d05ca92488475a109c878624133db6154799b4c2820997207389c610204f17d8c2b8d7cf61e49cef4b2a44ea88bf9c3026e29934be4afb3cff846482c5e76d0b581ce2851e4ebecf04f537e89c42f9ff29e0d8c94fa6741ec0a81fe7d3394ebef89d0cbf2824a374283a4e142ac6d7338ca1d6467df4bd97f9f6471c4e772995fceb7e34df6c7b583c73a6502677f23760369472b89e0051d6813bdb16bdfbfd1b9a49f474b29257883d218381a674fe9c245f3c419d0e0aa796e0c37c146469dc23f655a287370727da3a42e99f05595fa3f76165c6e5dbd0f0349daa60086fa30299f5e811c5ed4e957d4f52ffdc902a15fa97d2709f95f680ada1df9ac17ae1703471d00d2958f6f5642635570ec77fa1cf70c17e12d3a1202ff4106bfb7d51819f381b3c8f0d40b3a2f345\n\n# tcId = 206\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 7c5f79bf21ab84e634160b5b201ef9fb0b2aa17713ce440c58e681c91ae777ad63d7ebdd1c77dbf90ce483160ed3451921df200e3eebff4a25a903e0db6c21a2e921a1423a2a23141a841444213524f36fe99386ef68ce319b9093162c475cda89a55487d975fac01318756ee64b70fc4bae1af18fc806acea41e74986716bc47a73293c5d3c55d267310744999e533904e73395f2c77fea30268f83318c6ecc657a4f4e87b239404c72798976258af3b444afa2049763e96072880f3d2a647e586ba284f0a50425a1deb8bbc0e52241d6ad589f5c20f09a2899fae574a4bd29e57b604a2214afd024a54951461af01d4f0a12f497136124bd3806244e8d8633336dd908c68ecf08435f0a97553d2943d060873411ca5ca62fe8337c526dc8146c60a0a1cbef0cf7b5818d6a2e96df207729276ced557b1fce70dde2be3a2012a6f6f20a9f94926504a593fe8dc6b04efbf559a362ec8a401772828d277d8f1abd9588441d575cf166752f57c1b50251cccb0282c75f0145df04e68da9f408b1\n\n# tcId = 207\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 3743ed858c007e5f535e567a2cb63ebd669283a40d369a06df23068afd1bf91ff4521455e45ab94b0751c4c1e648166c7ea571b415faa4311a1598c5ec0ea75472040040994ae32209ef33393f040e05646b0ab14ca0309e1bae24c0bb8ef467edd7ef74bcae2e8ac7e22f5bea0a8537a907f42ab3f6bbe61e24084642f3de68b73c979645a3d43956e7c738ae3621df707638f8b0ab0fdb854eed46e8e307c653b894393479dd1d0dc9f7317bfcc736d51af55aa036e83752a6d6433a6538c5b31900401944288fbe8209728ad1f5394ea66718161511beb70a20bb3e67a464204bd34da479617c8bea4e878c842519655dce03627d833f9b9add861d5ea89e85fc6a56e623719a163159302dc041c7c0c7c493131e09e631c297cfd00388f9bbbcd9a216a8aef364ecd579719bdd5ad40f2dfdcaa3756f574045eaf4f8b05b4b78a7294b77b420cd317f1b74e40afb649209c769d82e434842397749fc5f80b89a1cfba4d532045459179259e37d3506265fbb1b54b0e0d55a036746447dba\n\n# tcId = 208\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 7f63d99bd8bbd79dc7916069e234578e8966e7bfd0ed9b8dfa181fe5c340c7cbaa50251d4cf253346f4c4333567f754fb828e8e19399ea645e97a7006536d76198f42af8f57a03ddff688b83d481a222cd6e7f5bce75015783749a34fa5f20b2d0e17610e2c4526dfa780bca5c8d50d08b85e5377820ea657823599a32cc55d2966702e8b3f199f5dce42a2dcab5d372f6f30005e72aba34b149c89ddb14c7c7f5466902c0de4cfa2a6fcf2d297f76d9300e76ac7070091c9ff6a56bd80b9f09be64638db7c200dc455f0437009d3549f543364b03a2178bade56b1b33751752cf7cc744f2e69be572d56801e23e91e8a6f9d3260ad4d42c66cdbaa0b2252785f35500fbc7a61df87b09eaaaa4adf08cb42ed7414928f085baab1991fdbd73aa0afdf7623e14751ae28df8824711cd68c608bf6cf4829c2cc7db1159797ded24d017b9db6d284b5fa2ec7c4e22f56630b3b8779816ef0c77d6be4b3fe40cc0b286284a8773975327f535811278ebeea8530137385a8957964b33cb3489ac683b\n\n# tcId = 2", + "09\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 661b1580ea4a54570440ff74a751624926471469166304117da3cf7c9ef2784c547f29d9c18cc3f0de876b259110180e12570868ec164492b7df971eb6640a0b8d99dfa4e40d1c0b0e10e6945428b2e7e4ab3cac129f34165bfc1e5f370390c865ee44e2e1eb011ee448cd547c6c42ced8b776c9d3e4bcc32106cf112f5ae94e01d8a662e350bd76aeae070b9ef3fdd0b8a9ba01277fd9a5b512e4e3c1a0509b725581959abb340422a0953e79002efd49b72354ed8e75999b633d399c7b7f4e6726850f05d655a600b99f0cef7716ca11a8ca98c40322a1edd15c6e090748994e967f381265705971f9d397fce9a6cb7ce5d3669ddf6c08481a1322fea8c3f030d53514927b269a49cdef8fa287985c3d6f877cdfdc221fbec2bd1f38b4c3d01fddb4ff33e872cfaee30b588102f8ebd97ecca29b695e528ab0ac4c01afa1262dd4275d8de4712a2017dbb085b24b99bfa0b1f94b3d24abd8bc91eec4ed21958602d01c85eb34c2f09c0823dc523b01098c3167de5746fdf6f2661e3c2b541c\n\n# tcId = 210\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 3e124cdc65f1d8fa0ef490cb7c23f812f28175af02b82f168e59d25e80c27678db0a49a1c4884368856a71a4b1b2f82eb6e3141d20c1afeb2f1c3ed827041c7d4e37d6a2869192f9534158813b0acb938610624de4cd410b49dca8a99ba03cbdb5095bee0f6f9b7925e7fc75d3173e19632ffcf0a9800cf75c2676fa614c8218ee996c2914d2205809a7b5bc3cfa6f90613ed68691927aa46a026bd7b2eb59d6512092d87e613cc0f0e76225ac3496051cec1e2d0c390235f814bffab11f67bceb3fcffcd03804ee6da2adf173c1abcb6d1c55960b3d4caa45be02d668ff29a063831bed22985cf74a640420beca4c08d2ba803b847ff696c364aa9610b9eed9a39581f382e76cae1fbcdcd80372499292e302f662e19b36224cab65378dadb6859d9daa4fccc239a61df8e7e288d7f4f4d6332764ffd3790fef9eb64b8c0c14c781f65507570ad29d7afb4689919d3cd674a119bd703cb46e9c95617aac644d71827707f11ce9886ec67211a68869bbfe8ef7b5bfb6af446e75d87aa6d12dcf\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 67a7cf917c469d5b4e5c5a6ad0665feaddba9246cf577e4feb2cee49eb971cd41e50386520c3c22e351caeb8d23103f61af2a6abe15753ce14ffc8afa3a66618617b8c2397bb1b14d3c2c39037260e55b1f3f837b193bf39fa8036ff74f9a7adbe5e6d1cc39d368cadb823ac1f969ccfeae89808eb383c89d514ca122f96a7d56f578a3f10e4725b152ec06002eae7bc2acda9728a3fe455dc5f639c42c09bc6517f92dc223f1f08b3367840506c80894edc65d5163fd73d20048136f10f2583c6048c7ed8e82f44d0cdfed868197884dba5ccb4ca532907eed31d3678ce82a0163f10de20e4d5b581b67cc10f7d6030d2477d17e29baf828903b25cf2f77c17d028de6df352674b288aa60a3437834d70c57d40c853df98ef1e38e6456a7cba3d8082c5c212ce08216f604a997d632e7d0f21b1b462df01bea08dd484e0a9e150574ecbf31dae214a8013c2e640a3b01b0945cfb4d0deb5c83a24438156602058b1bd6c30aace6742264f8ff7682e18529010f25c93980a5214a90d0d32dcaf\n\n# tcId = 212\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = a7f03b3383a083af9fe06879d4200e5315d5ab86056dd87ed326fbf48589f95da6b5465158e1b33099c26a962b7b5eccb81fc2962188181a167c6552f1c33ec35ef6eed346ac46b4ce31be3a1726b87387a7e5e7780900f7c0a909e6fa3a8299f5629bd8d2da3e6339c181f45d794879ed812974e5203f1cb745a1da6b34bf886928d6fef9111cea3bf64bb57057c885d8dbba5951a23781993c1670b75404b990a01d4eba230b15a65623ff2b2556077fb91d846b098e16eacf85b541cc23039e9516b465b07e2b06783019dff98420fe15caa3546e823e423c5262af7f54b6d9ed3dd854e41bd1ac9aa4dd951784714e5365d76c096395d76a647090f2348dfaed99b4ded7152beb3798da4bcb533813b653efa5789b9ba863cfe1522e5ed0de68e53b0382aee6b2b888e33482463962a3f9d817a2dbc26a070212046d5e6b80e49767cd85bac25ce2aa0d02c5ebfd4c75ab733d87408c8ef5d21baff4dbd409a4e6d5fa7c55cd4b63796ab79fbdab7587bf234f0690d8e9cd45baf4857ab0\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 995096c669017cf835c7be99440523256d5e7c11c06af56032d785d521b68272771ccbd2b403d7ad18d73905a63758ae3a5a5edf49ecac57299ae74987f79417b9880e66a0d9893e29f31d609ab1622cb357a8d19d95d037f5d19c41dcb586111355e7fe91dd51959beca4dc689b36a7f39684753e9284102afb229d50b022427925c2bd4dfb15fde2d2a18f7df3069fb97605e02a341e325b0bf163fd6eef8f7013b4aba1e6f3a311631f5cae20bd48fdc3246e63215838136c402894bcdf1179c05e11a76adb92686e3afecea8ede7456d05f62b7a04983c46fae7d2718515e875a11a261d54d30ea4e8f4db75600a1af0c884635164aa72bc129c1ce543dcaedfe62f7ffd72804db58066613c2235fb4095869975196c1d5f423207c8de777673832aac6e129f7532e2fc16d7034a1255f378c504ab10d149e8d2e79232b01f6261fe8cd73f9f89c277aaf38ddb71ca92194fcd569802a65f4325a4f6aa5e56e0bc5cf2156c04ec0aa9dc63278ae48de9a1657dbb62153c1392e96d551630\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 4205aa36ca11b03b644339d978e1b02228e2ad387aabba21fc649a8c75fd9a1a4f29e91b4e607b4b5e3b86794cf9242dec5509bb30e456e4f5dcc57e83028c60b461f748b1d7e79c8fa4f934ab117114956da7a2693a4023d349a68a4cfa0257486d42a0b6c348a9f77b2eb5d8822569e3dea0cb95c66d68b7c955e98a9df4e921bb2731855f35f0327142029f8ef4306d42481406de9deba401b31481597653cca1234cd20d6cf0341292362a4402dad4ee4807b38728b265ed0d10d7707c8562f14b6eb890c5a1d427725d39f10802c7e865638772a9e0709641a22809633b9ae19bcf052b40fbed8a00531e869761a6312216d69fad97a7f58bb20be27cfe75a776a45e207b6cf1a10215da2c6ef89f540006a2177c840493c83fdf616ac8c9cd647a415532ada9cefe067a81393df8bb94a3449ef74bdaaae0b120165f4a64703d7daa14e8dd13fe779b794699ad57b593ffdec9202f9852c33a4336cbc0223e2117b37118bf9fc4fa6204a7e584db27cb009b800915b4618548d24b3b30\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 8100d8da45f6b2d77ee4c5c5b6fc8c617d85867eefcb861206a991f50638b0a582908846c8c10eab4b694850b6e440d85fc256fdde3fc4092c262041b28e1daf88a54f48c0bcb5c17d9e76ebf5f86c87e3b89478d679bfef8135cad5394a8e6211c64614f6ffc813707273b4d9496276dfe6d566582eead31eff06769b4c6ca3de97c0a622fb282c646cf3de6fcf8a12317255d724f099f1efb4a7379f47d4f13aa11d87e778cdc79784d6a6b5a2d68b9e4ea52bd507a7036c575485c8c377b8db9cf662e6eb973053b3630a94aea288191d9f26ee5fef5f10be3468c5a721421a07d9b25d5604a190d842fb3b92e70f247bb339295da253ecf1c9011d8d49d68552e192eabfa012fdacd63b9756ffd508c04e28039df08867e5d5298da5e72bfc1f0483129581b25ad3bc69204f2822fa5a34e3af4f9eedc0bb68b66a0268532cdcdf5365eb5162d05cb5619041a2f9dde7fe444fea5e9b3c524e3760ce1c633758ced22d5b98f0e1ccac9af15cf825cbe9464a5a5d45a8d1ea426f9499db8a\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 118bb4ed79ee68eba200bfaf9909e1af3216904d9dad25815b2052da7d6e057c1fd8afd0929e82ec945e9dc17740790f791a1eb546dfe8d382aff418b094244382b97b8b7dc67400c99aaa5c68ecacbcb429a151ad0a77d0ebfcea781cd3093c312758c7478d4b50682702ee37f69df129f0eb6f19d80e88982700cd9bc81786fadf5f7d9d37cb07aa4ec7c863ab706c42133dbb79e34a22cce78617d86806ace0b4fb28525a1b0e8dfb8da4de2b5792531709e1632e36d8b80c5bed87e559819b5aee7613f1841e9f4b1a3caa77736eb71c9c2b190a6c6ebfe97c922b7bf3c1ebff0accf555d447812a1677d576f3a41a8bb3e8062c49481222c8c53bc00ac821c1cea8b909031f23cd1647f685260d31641177b29096f426816337b70bec98cc0d911b0f926a5c2782466af2a8cc8e8ae78243c916986bddec9169eee2f7d84a9d070ef02878a3b15204aced6dbab3c0fb6f35d07bb2514755c318e92e48010cb4ea5e7b9c073fed05a2a5dfacc4a94b0d78ab89fbc5f8746ff440dbb229a2\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 1613ed80cdf3d91d6705bcb079fd15ccc29373b03f84510edb0d74b5651b91967e60738258a03ad3dafff8d83f3c18feadfb08e9a94f9f131d3038288976ef35b9c8dc41beac539dfb0fa1e9772524f512a2054e73467c8443abc599c8a58b46ec2340fc4b26f831af6e09b8d5b876596008aad2c4045fc09bdef06f445f54e36f591c73d798a6905a993177b094dfb345a55aacde1304b05cbe652a62e9f6654b24153a7cff6daae42a55272fc72a8250acdadc59f74dabefb9d321e80050ac1f211ff7946e56d14619355544058b714a000d8b4b096f56338201f22114c81370543b392725b735017a550c7f685b675263f8f9b43c1f8e8f8064764dcc34c0d581efea1647dbdff9a296f1501a1614fe9d53d52ed278a8b017215503c1e648a706c5e6c3a4eb26f5eeae804ff5ad0116fb9d2d246723eaf6533ec71d126bfe7d08273e587a025c97c4d2a55a1d850a730495af8998ed35558866bc580d7c51212e63841f33829156ca9a938aeebf3a38bf67495b686d484b02c4a151bb2661\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 906ed74270c0bdbdcf086ef69dccb51c524331e79d6186a8ad18f86c11657d77d752763141153dbbffe125f9e26c30f1d58808bb8628bd1e931262e872fb6503bc0c919b2586c4c5dc6dd53cb122086536a87541d61dc33ac6d437ea1b9a9e3f4476f7e7c3926e6985f3b8df8d7144f6a81568a04a6eae2977ecefe2664806fe144d9a174d53734be7deafc737d0a3e6e54891d85acd0fedfebb55d069cd3d3b2d6a1594ddf65cb433291ca4f2283c21a5aa4811bda25fa9a8b41ca9c5670cacf721bfd0dfbf388f683a7f87c39654d6a8c2f85196e23c915219e92189aa07f60dd6db16afa97cfbdc9413ec33f3bb9", + "8020ad58d4895f4959646727521ce4c2c0df3360fa3db123c455b65f4f0b0aa88caac6da5877b1da3c49a4fd587b3bcbf7fa0d107d69fc415842abc860c19f32dfefc8695b863468b112f0f886c8a249496c355740e07291493bb08ce9c941cd624b638b3466a4c2c51863410bd22488c5b7e00ff636f6dcde4ce7ae66614f8a283709b07f80a42739a0b2d7092031261\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = a761a8c3db6207c8385574f6ab3d42103e5c9dc941c02ffbe0dc1369900360155cb591b32ac8725b01a1d9686ab442af899751d9c4d3a8cec2cdc6725eaff56e8a13571506690cb2f26a0530dd49aa380fab93f4f0dfa7a1e6b1c8e392cb8bffcce1f5ffab5f82ba45d7dd922f082340acd1738a685abbfd598772fd4d0a03a44c9166d807364437464bc3b186733a4aca3d746ccf84a9cf512fa66f2cd73f029ea837ac15c71b2319d1adc9fe9b8e430a428c8f3f2c4b4ac525f94d56620e3c6aec7c87de0afefacd6fe8d817f25ab990ca16d4b3339f15d0fe2de6a0488901e4aa2844e42a8d63b46eced84ce33a346ace4ba03daa4f5f978df6bbd956d1d9bce89a5964da8eb72d9e3b10de99e9ba54f6d24d59d31ecccc213aaaf2d902fc8dfb2059eb2ecb3e17fcef97f8ff01aa59e4c615bcd4811afc10db1d1c04de71d0556ddca363b8a34f48d97d540b045fd0026655cf0c37c4c694fcf2423e0116165d4bbc7395d72f00f6650a787d6e36357077630974d375c2ce292ceeb568fc\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 7c3599d8539a560502121ff97bedb8a1c16d10818a49408f6152ba9d914b6a852710088e5c48826a099ecbfd5cb244ba16c04a71f96663930854a64fc5ae461677dba9744fffa624e64b9919814383ed0fd947e355bd1e651c0027697c8edf76d804394f30e6598a8c805e4bd80641c81f2c78e9a7255535451186c00e963edf2ca4fc7d57dcede17b18a1a22e2241da6b71bfaf24c9abddf9a4542feca1905dd9048491a5469da8fc22e46785e534a53623fb550072472b46d0c9e6f762bb80947573e269d785f6580180bc977efcb3b9af90a974433ff7aa56674af989eff32ed8963c7b202d3332cdc0285f67bdaacb0a41c5b59da507af942d9bf59c504aed323bc22d8e214546820fb32df77e52ae9d458b1d2994006c12f31701bc09b448198956618f89eec20a2e0c916d40c26406258becab6907bcc348b46e7195734d29ba4846ff63aee05e604bc2df75cd3cdb3005f9d2573838a792e68e3cc5f2e6d447cff1c2d0324ab8819031e9eae8923478c0908b0cd2e9b80bcec076c2a0\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 0b5d0e26ab8bef0ea2a577c3ba6fd712e5863c3008e85f46122809262efcd65658ee490c85c7945ae06b6fa342d7dfe01aa5faa9bae877e9bb0bc0cd608670b54bf4ab8593720304e2aa0d2bd62c568cfa6bb2eef302e15769e5054e95bf7a954e8d2997c06bebfb9bb25ac6f52b7b4e79c872b425be6b731a4fb9bea7c408703c768a30f9cb455994bc42a200ef17c64f4d4d6d7269f29bffed1ba755fe4ba3233a7ad464932abf831eef5245a18bc61dfb399c7b2da6455b6e023342833b5e5c7b255c8e06fafc78266856db13317af40b6df8990f8ff37344029e731a51c937a1ca4abd66e0fe90ece58be527dda10b3e34ac0bb661135eb04fac8b90b0756bb47d2453be8ff80d05a6596a1b27c0a33f24fc79260e9dc0a6e099f6a95a22a4e083a5acb201cc654d2fc6e21cfeece62eee3270e6c6211c2025d738953e4a8d1ec7e4cee254a8d2eb446429aac5d8ac480c4305b32e566b5a017348fbe2422246f0696c9895c2a72db471e058fe15207c40ae84a46cc7ecbdbbe9cb9100c0\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 37540f8ec9398571bbb6f153c1ff17055c96373b7e75e41f75d959c0b937d635baac3ab200f7907af63bab90b7d0128d603353d5628653bd067caf644cbd4b4319adc964869e2d7933a3c4b873bd2a4b3f8c0659943058293e42963906424a2cece6504fb8cdf76c21e772ab7a0359b191177d2c2231c4e4a5453a8af346db0e91e057fbd6b70dd486caf9516fa7d6f408d10b55fefb03a5795311b0722ee2a5d40a11e29316bd6fa5ab8eb34ef1a0375c87489a8821d0ae554c91bb051b03e8b3c3f301927d8478bbd62f3f37213c734099730c582bf19095e39ece2703ad09a7af236f175706714a80be282e262e7c903c59795754e589007648b550f93d4c7bfa17d116497b258014a86fb00403f05598ad588010eaaeebc2e81f936c5a9524446323a890c69ee99fbfc6917ffde3e04a591957279c334e76dc0dbd4e37a493de9ccd9fae9f3962e5342816901771890a22437f56bc201616359ba68c041ba1daca49e4c7bed3849f9c3758b47b7f90a9e2d03a2fb116b594e28bf74eb1a2\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 7e851fc3f8f1a61a6b0c121f6a59c098c88f71ea2797445ff1db5cf27b1594e14b795160d174bcadf3abdae48d901a39a177608892b4f421576064f2d07da9c5edeb90ba607062e950c2e2a89addbc46a55985d6c7aeb9be9e58a0dbe9b72e408162a87710008cbea6c28bbbf7efce153b2777b171c8fc06e293dd0d1b08cbd2bd09d7fd9d316fba544dde143955e90f22f2f65f1c81b99bee7efc8724ea97873d18bca62496c708e88d5b3cb0ce64b6308e568b5e03d80564b2b182b428e7e08b4a50ce12652027572110946c8804ffe5230c9a063eb74b7f64c792c3de430d0ec5abb89e6f1176eec2aae6f0740f1ac24db0ab779217c5bdf25f1509f21b50cc2ca1cf0895874e68e4564cc82cb270111d524e948ea627538f6d9db2e41c8cdfa7c2c505eab96085400437ffdbae4097e059b41d4a8c577a33e192c4a73f8ae51a9e7f5f8f1dc3c297b0abe204813a704b7eaf2ffcfba0d44055146c4beb9120d832e86a57a816d7c016d48dc69e6e5ef5dc55c43025967a6c6218788dda6a\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 481a84b65f97038ccbc2f835c37f207e72edf255c5c5e3d0d14c581568a1606422da5f51e73974a01ae95f13c1763699267b0842a2be727217e53cbb486cb524c04392e4eea943df6c92898c9631bb88ff52c2ddec1df6a1a4daf50b9cb0676ce16acd8f173eb0663192d2057d5360caef3e122d05414cd95f84be4fede970649f00a93567d36059c4fdd0eea32a22d18b96433f0cbde398b0de36c0ded21dab5eac71b6fb167dba28a79a191c3447cecf0944937bd6a58a511c058a681be19ec373ffb9f0cf7f47676253afd605c1e7be41a6b7428cd0510e9a7ea2249c5e0b643af6fff232e8fb99ff9ac728b32932889c8c96be9e6985ba6556a05fab4760ab0f3df599401a41e0d7f3bdc24a0188fc4ad5b7eadf65f32dd4d1c826b76b5f04a62e3f7722f10528771b1d6c78dfc559b4bce32257a4cd56754a167547f56bf985e328c02f4e65c3312d480fbf165c6b266ea1081db095a1df32d7d0a29f98ce5beb4dad78ae09774805ec58ca0eeaa9c17541dab93302c49d27bd4a1f6090\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 4c548eb5ab00b32b5cc200edb95a1f617fc9a2b82623da511a092c6cd7d428621016ec0e8be4ca66993a079125a4af990df598d5202f73822a5768de5c79af28487218d0f6a23960db9ea8f050b4da444a44bf116179c2d01c4e7b438ee298bb5769a8efca3bfd4492ef4f45494e1540ba279056354f5eb554193269627bca912f0e770e230d5e3671292059515d163cb52c181c160ae8b29de3e90c069cdd757d4adfd5014db2aaf8371a390d0ec6fdc19f37d78776b00b55db4d6e04e0f047ed08a3896cf69bd155e1a95f33fcff2918a58ed0b377cc46d1a09825d06799812309f6473b2a378ffdcb4e6a6d774009085f4cbeff43b542e2bee3aede395f3e0b5c878c303b6667c34c2ee6440657941638b8356318a9ab5d4a072ca83f7482ad764793add9f100377d750bce70b9d063d26ea3d8f29576de1a3795fe2be290623c119beedce6ecedc86804f73f3c210550bd582a98f6a7e86662b6461efbf0e518bf28d9100c09e44c8c78b5158197ed2ed1675291600a6442cf2c8c038fd7\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 7175635076412325c1aafb617fc38754d4a33800c55f307216233b6824fc26dae7bf8e4906c98ee4a22d527ba46e8161df8383e87018a12735d2036600b79217e61f6b76bf4cc6c50cdec487c28ca9fbd5cfddbd8f3021cbfda8d238c61d848eeb9fea97cb3e0cd6a56bd42f565a1b635f960d786dc229e5f58fd0c4465e32e39e5f10e21ead60641adb04d88f920d0458dd9cbe15214070dd74b1c288d8a1ad83e526bebd0ca0c35375b84ca1e05d9db0992c6453307b8c4d64e02fda6af6a56a8f53196e8bd8c1ac8fcfd699542d6f9ada11fde6a2c25ce3727118f05456ac7cce967726bf1beaa1093d8021b4dfef6cc765696de57d5abd4407ee2d96bc7439cd9385cb89a9a06b2f4cfa8715777b421d9c26e35d314a242c844157f61888b4a57c169407c180392e21ceee821a82d9ca8da77051d7efb1e1ad08c8824c7aad904ccdcc0884272d118bc7200fb112a709c4094884336304f6ac062eacec72ccf143c6dbe181e61c3efed13bb9cd0c7c2901589fad8fdfc880e24d9efe23e9\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = c6", + "fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1204\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 4e28f546283f9ac74cc99c6bca79bc208e47220cfb0717aabc521ac55119ec6bbcac880bed0007c04eef92a24b091d9a09ee5d3b5be790abdb2c98a07313d505fc876adcbb1089026940e03dfc10fb46a0c2a764ebe86e51ecc2ab489f56daf38764fc0a36a9cb4529367c9880bfd7631c340fb7fbac0edd2e1def00d65bd52e597e2eba1be1e41bd89a00f5c66fbc18b93e9cc1b5be962780f6d7a9c6d375a28556114f37a8a3606dcd68c8128bf7a7e5f1205778bcf3048bd4f7c10cbdb4ae759954c4e4db0a9fe4df270c41bb86885dbdd8cb7e72a33322238a2d29615a2f01e9fc59c230c2cce58ad096c2de5071e020f76c8c39874f1de677dd5d2f96ab4dc145098d25b740b5279f05713daff54ba695f950039882059cfc2f86c35a0501b8d0914aa59a806e8d1403fb2eef163ba1d6e3d1e18dc99c622f8c2d360bfab2c9e8fd9d74a027e466fbcf4fa56777ee0fea7e04ae1901e65b5361f97146d7f4a550adf77539fabb7135967dc16f8ca99e8283dd69627cf27cb9d2df20bbbb\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 78d3509284dc06b54583e11ddf2507d9e50bdbf079fc319d107bc2527c1b742f4c759320fa22435d74e94253feb4a379128e7f33c5f3462fbfb92ff40c10b23f8bdc5890114757364207768014380fc16ebeaf22a7b1a9366f3fbbbb912347f1ef595d742a976b69377533e7b61d3237c3693cf43b34f92773497b8df7ac0660f67439aaa66fe179b34d9dd4d013e8fab958fbe2a27ce84b6d1c3c2998a50d41b6b38000191673c23792db2fe47e4ddd3b5396c65dc44812e55298b8b50b5a2a01d508b9d215986113b099717c3a4ee930f479308c20c26630aa5419c2589c8cbbafa7eaebd71fca9e751793629d767be8709fef9177d6631a48731f5e59fc7e98cd466375e8775ba935f12b45575819ecef4d78d85b6e984d90d41c93bb03c832fe415fb567a1d951f7dbdf407beef8caa3a741ca7c7729c8d8ba98896dbe52d9785feb49332e646771e7d84b75476aafa0a54512806339cb54ec1c70943beb508966741eba4d39c2fe535aa82a9cb92eec99d38540efa3e39fbc02d757ad74\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720", + "074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n[e = 03]\n[keyAsn = 308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keysize = 3072]\n[n = 00ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83]\n[sha = SHA-256]\n\n# tcId = 239\n# short signature\nmsg = 34333630\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen154 = 205965; + +static const char *kData154[] = { + "# Imported from Wycheproof's rsa_signature_3072_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keysize = 3072]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[sha = SHA-384]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 473432cf11b6f96b1dd41e1742ace21cd10e8dad89a3e00ec68f3b45411059d0bbc6c8a3f077bfb4b12da60aca86dd856934061aa8e4c3221a019b7ed3d4e70ed8bf53fa140d3c31877a135a6ae140e021bea9408ee61fe7f32e60cd18932282b1aef1019f9a39789cb48991e535568b55eb26cf96e9bab35d03121f6be9f0d65079b064cff923edb5639cf08f48ecaec0670ab37b03e4cc2e604582e1cccef79f262c8b3d146887303c542ae7c455b0f68e882c5e2259ecd9f76cd3706e9894766089b267ed3bdec29df5b57e6a6f8deff21e093ce611724ba1012cf63aa2c62e7267af4b1df5ef030e6cba7b217d46fe43fab255f41ce086bec5e4f604718c95acdbd5c56bf8b68541ac0dde0a5e0f2336ea608864abdc5324b29b9f7bd35c514373efde38bb593b8d4b249535984662bf4b397b2a584ca15624416537320fdef81133d6038edd99ee19af9567c9fa536474effa925555c9c2fcea525fe2da935b791ec1d7d3bde33a58f80dd1e587e1c433239c65332e94d66d3c79bfd190\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 69d89aee9a1b9827228c40c3f3bdb9479ed36bedd2c77b3f5dca19917a5cde9636b9f6ede29718a391224ab58f464c9052b5e6786178194a90ec04d2d2b7513b19df2799b0e7a2d6d1ef2c49ec6870fb8cae45ee1103692da8d211bf61f656d304f69adf68c0227c7af5ceb8c2db4a3668bb6a1b8cc3a437b9df79bc0dd650d6e3a42295b4a6e23d40b3a9b7548f3760e0faf69200df230d2c143807b2f35fa449cfa73792844dff5d2ae50adc272c0dbacacd60eb0b7964012a5c1981cb2f358ff53509f90b0ec41259fef321e9a306a08363ed194e51ab6dbc00ceee576c048c02704a19f8f357250adc70cdd2819157d71af04ab0cc63ac9c6fa4b5799eae521e275f26ce53302017510826f96c4a2889deaef19fdedacc70a6598aa89e2bcf373239bed98d1f2267fa7c2436add13df68d9ea296fab52fed0f5ee46874f48735fe32c61ed2b1c977ff1862ccce093bdf7d84a6b03c3007c4c926d1e52d81dcc0bc2a553a12be363b764f6a322e41a8318ea7408c18e33c260aa05d039625\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 259332bd5a274bc347ffa3e8a31c8b27f216cc865d32c917a5d7e4c06abd44b6c024f44eba997862c812d8ebaf7caccbb234293178e44b2532478e8bebf6af5f83318ebe398e0850e929a89cda860cd18ec94554e4e0d45a9ec2d9acd83fbef2b5d31dd7b2f3c12e791afd3e39a9437fda7724c9426194bcfdc6bd52036f62aeea7853db2c8c498103eb60180281170aa0fae8139417974d917090dba8f9061665e92d953827dff4d450f5566d2c5b753b65c9b522a0c4da868629569a666b7c292b22060e92acf4ed65e51245403a4f162c8b504b85a810906ecaca2956d395c163a7f6f23573156968ecf62ef46b72b9ce39303681e354e91c5d7944cd3288b2a84a1ea28e7e6f260bc5f8d92be419ad649a8f55a2195ca46130922d82759f9bc030c8b122211d952c3ee7851f09f30c2fecd1070656c69c2598584b55cbe6567dd2719305dc52dfda03ea289a5db920fc2c777e7081cfd92864316d3fca9aaf8e2218ed8a5235e746e5cd9bcc856b0c615b901dc610f0193171869202e845\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 1f32b36eb43f87b18e569fcfe7021763bea0ca576cd273c0b20352906ed8484428d250241709c825704518ff9e97103bb70cd26f437f87754bd40407034a9653d00e868a759a190f3067ce5efce9ab17c8b46000d88e2d9e68b8dae0a0eaa4a31d3bb51c8c8d0fc839b0b273c83dad57016b1b5c1d8eccff1c753e5c6d189ed07b801f0a54a1144c142011fd3226451faea43d52597b003f9256cedb0d7d7f56d86dfeef50179a794f0b0de97da1926e9491f025bb3c3e8e031661e0ead860c8914f0b294bf8cfea2d5ccc726ad0743e192510732dc84301eee15eca3c6a5213ba66d0871789315f8537a44b727bd8a10d6e54636b345715fc0b6f5b5116f22557b0af9f948558b0ff4a3b0faf1de7da1965b977aaaf039c5b7b09b4f03efeeab3189d2a09fddc3983e4815df35ddd1c2198b695cffc35aa6662839f82468cb676b677d53ee4857ab9be7bd99e1749c811e2d6584427cbce14d2ca15df061165e85502420602666993463733b43c1c1ebae8d37780470b8cf5cae31cd7427799\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 7e3165358b5d09ab1ad1599935bbdab27abc32486910382a0ae630f725b5dca5ffaa9e606e2e555122c1e0f3409d7d915ea00d8784b814a6721d0dd117297c951c8d225a484a549e488fb80f996ad65490a09defb0b46f9cfca2e952b04dfd5418da920dfb2968e48dba8f0729b16fa32a832fd8b789bfebc63f01a1190813cfd55ace949d802afffbe9a1ec1e6a5df196e5ffb241c918d712e466f30c66c0bddd48b57ba4d0baa0c2ba9bcf519c3a26140df6aa5efbdd5ac9beff48613f92d247b35efbd6014f3d714705933e47d582f4a5da05b15a79bcacba1aa15a5fd6ddb228bbe4c5236f9ac607f41a492e6b1c92bd68ce30659eb5b27a5b2f76a5867dafbf85a9dfddfdd476c383fd03e38e81f2e1434553643e652cc006e5df7313272335f122a7fd9cae6f2f5a7da65865698d6d08d688000a730c90919e1826bfa1db85d5607ff9d76cb100ea1649442cefc4251a8cc1d823215e0ad1abfb2976bc4a6b2bbd793ebf9c7770957dba1e2a8583d9a82a072386d0957789b450993c77\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 8bc948c5c16603ab63e75e18bc7f062ea4c675ebf98dcacc1a9826b0eeab0004e2592b07525fca53bd288bb56b5961aea93b548771068f5b0cef467c387e2d62c91e045872922b516dd6c5b8ac3615c986a9c8b5211a05f63e82387175e8749709951273cd9d8b2eccf678284761c72285be5c189c4400629c26f87bf18ebfe5e56f2057fd91fc9209ec48a872d6d23bc330f1c81ede7fc5a0e2b09c3a4735eff9c8adf73152b3406a62656897c1eef075c4fb02244ecd93912dd36fbe0d358a71e02d2b302dbebd28ba50860e4a963071f0a890a2e400c18f530cf9440a897eb2781ceb17bbc58f61828a6456b93c86df972c42d082b913c4d8807b7563aafb7b330ec39dc988674a5c3b36f6bbdd096201f1c7c25ca9ea8f28e923ba46dbe93910268d6e35cfb605b92ecf98699ae9b09dd4634d1280586c5e6bb0b1a4b5e5e22b225453f5c66f9a7ed7fff83ecb201eb157c76c9beff95227b495c8516bbc7118f011cf9237b6e794bd7a9ba19e35d0a650dbf7c06a0c9ddc95f108a78246\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 09ee821221ce7bbeb4d66ea3ec88387bb5c5bfb055b8beb36ccba4c2ce9666b1a09935689db1cc2312d797ac8b6f62643de736f38269a81f969308eb616cf41960341fa8edd3501f4edf73736806b6fc1387df4ef3e1e26c03249f3db6471ed580699e8ac77d0fd9a78972347e8657b6cdfe172fda324eea00d60d38b47e066c4a6fc0e33f75d1d4ecdf46efd966ca9aef80d22e43dfc2cd0af37fa70d6df7c637c3c18a219bf58dc1e7bfc941a235bfe81ee7101530a2c264527608d7148dd91325b7895817ae50d774e8dcd2def8a476a9592d55be743c62c1192f0ad69981fdc8651c1db828097ff8088", + "b720c637c60c771b5091f9d9e174bc823115a1f7dbf086f9ad36a403c2d710c47af4753fe6e43c675c30219abc2b8560bd18c25aac719546ce7a74080fcf22bd4e6cffc270e57baedcf2739c5cf4fc5fac18f5dd023301caac1b1faf4dcc65327255ccf54f5fbd3cf82801a8685c2eef3c5e7f608cf6f747b8307f617fce148347b76facf0e1f7895aeeb11e3225e3a6066a244ca\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 3b1a01f69afa77d96c1b7bfdff94d58e346746f3712b2bf2705d771b6ee082c7dd9d2c8a87de6a684177edd8038ea1b9bfdd6722a1453d68204e4d6effa584a1b9520561982f0181f102de2d62108418778b4976b4933a79c6a981bd48f84711a3f7cc26ddbf06c59aa669d56d60a741407f86e6a645dbdb1f7927dbc0acf996736899dd9aa367ec7bb157ed121da15f25bb21807293ccf6d3a66e18713d80763cd153cdef58b1e6e31b348cc514b8f2d357d14af7cbaae39993d7871bbd0cb9c136936b292dd368ef1d826000d3ca13ab48b659d231c95c02163d2e11e33152e69f6f3f08694918d89f9a04ad6a01c0887309654a4ea8a848422dc924f990cb65ba2550ce166b6a001cce4767a3f1cce74649876624d2a1111436a9a6b06dfdbafeaf329886d5e7482ce3e81a33b69a9fa7d82981aabd81c2650c3c2b34778f99efa2d3843b386c24377fe17483c490a63c6896212f8beeeee04a3959eeef47a00fec8061845d84fe7d7afa206074b41ff001be315a7e32c2cfabdc861eec45\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7835e135188e97973f3cd0a05a102e888fa51ce232062c9856d134b30ff32b513093e07b7571b251f5b3618364b830b1af01169b0a19c203e079083c4ef85827f1a4095f0a6cfb9ea0c6ea4ad1bcbe27188f90b8c66a9ba0258d3baa49b97d0f8150370bbe9926e1471772f1f37dd85b37a5b9a4e15d32c02b427313407fa9ed693e0f444fc6f10dc1564072c360f9e5433fe985fa699860d6c9fc528aa82cd7b503854a975524b132eeed5f94015ed1b2d85d9dfc6b10b529e140bd611d316cb54f31f9d7d06b6deef9b63519c14ffe3d9694077bd0bbb3482b09a490b10ca2c6b510532f38dc2bfce51cfbf2ff8a43181fe2852e6876b760558129c3066a4f2f6e0f2f4e95c85f40ccdd81e795d5d2987c92013d542d99764bd0cac97024adacefc81ce89b36311ec4ee304b2307cf1e10d1f171f0ce7413cc03d5bd2c2233e0f80d98034e91d8b575e1ecab76d708c0899f27bfa1fee102e9a5f393ad18293d3ba93c7af3bb62e17311e79e02214dc9b62a85e6fe270be98a72391ba14e18\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0e0e316e9d6d1e5f7333789d42f3761598bbb76da7847d5b75c376ad884ac2b61a0394bb2f65e1dbb986c26fa3837f905bda324dc65545fcc6d949ca4b8bd49f9ef7cc5b1c0c593bc34e02a56a0b2fcde4ced168a504ebd4ef1565cfb400cec0d86275af35afb01a5ed32263bc264a2c8a45a84f348c2ab7c7f74711e4e295323e2b9b76a7ba7475d8f8d72943b10ba64eb084c832ac9b2a984e1a2ce1bfb50b97f64bb754bf5d5832499479a198baef88d9dd21240cc95568c64664a704a359eb56534e241b106cd8d301b047448c9e83d0e3d9632da4641581ce53c8829e49701ed297d815c46f85528d2fc531a7813eeae45c0d249eea00dc69da92550ddd9e04787a1cbb76d7c6f4bf35b7d8582ce2f2e4c1184f79d3d7473d7637f42215ad4b9bebf143f958f3d0295b529d3b3db192dcdf4419d42ae219bd81a716f7d6472a6a86328e2728c5ed4c08cfc6f9c3277e42df22d15d7d46c442af610a45668de66d735e09abcbb638ac39cda905dab0cd802f5a542951df3233aa8732111d\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 02e31b3b6f1200f93fbe8426cf433575cf01030fa1284ab8bf74428acef25759df587be26a5260789cde2aae7b133d249783b1cae14796658d4b6a4aa24321f5afe684788efaae848b693846a457737694d1a7af6985890ffa7384769864064eca91ece6c03298f5ebfa7a18bf731ec9a7cb23025b7072ad4c06bbbfe33655654422cd4b97a9be3aff016000a6c7303ccfc73cbd908e82c930dd410c3ab2ace258bcd05e91e94e4a616a6ded7a4c64b00dc5cf202689a0ef3583a31e066337b1971cdd909c20a1ffc7c006944b81a89a5c96cf43a6def4d745134056becdb9c9275b2f2a97cfe0163bea5ac8dc32d0fa7b24dda4ec0c88f61cae77fac4c19a67c46fd26a03b990c5737ebeebde402879a02cde56728688394d577e5fc7c347a8cf66702b3b255084eb224436ca5c861b6886db60590a783c2d32beacbcecdfacfe6b6e520586856596b25cd918d586642db9acda72986078511bceddbea5239f229f1aee80cfb9d851ef9e84056141d026ff50abe0c83d2eba6288722457f916\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 0ea7aa33781b897d17e849f3967ff8f99b2f027a2f3d46bb979e5d4e58398f2b6798b6c6ff4e83df0a320cc964dfbd6542c0441668156e108d2eb5c7cd4947b4c310456fbe342a00ad7ec2be365d0e6c71abeba20f701b0b55c833e52e30ea9cde21bb1d23372b9ebf920e1c163703a484960872c2b5ec4e4840843447d108cc76a37474a9b7f2ba09e406ae26722b424f3de7a0c9b68ecd71fb1cbf3e87163dc780fbb8f0a16f06e05cd31a0b6de0c79912df07296bd059ff327fb5f860ddde50c3a28ccef959e89808120cb1298ca5f6f7bcb7366564981bf90161453df0bd8268e8cb34209c969bb5c7028476eb212baa30990526fd57b36c66b71c59180ccd26b02990906e0de5fb386bce5ac1b3d2d23e1893220f698b5d075ec0bd871843f473555df877bed9bb22cbe69cd7004d9eae7feec60808ec74db9f257ccdde2d20ff5eea9a4a8c3b89bd281286864d62e4997db92df8ae0d2a1fc3dfd9aebce9f7093c129c426b5b74e5dabb7fa2bbf8a59fa2e4b1aef9d69ff7ad653c2546\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 556a31f90b1879a1374cc4f2922dd41cb2313a61fc526e889fc9a20868458ad5cd26d6b3d3a0106193d44be3a22d1384084a949e5d1388f1e671f638da0dd1ab90d9d316ce66a25840a332bc2ca312dd9fde87ba57ca718f99f1851b36be9e023e24b9984062828211a581127b0d81e4b1bf5977f23d1c70da7887c09830c0e3c5a4cb66bc8035da055596ee7cbc1ed4ea76d7712708330385e5a9359fa8e3a0f6e63a569e5d2db4e867812b40da15d3015dcf31ffa887fa7faf478a0cfad3125fad16d38a57fac2262e01217d6d7adc50a3af804d8881e61dedb535001d999b82e2d9250ebaac07c4e695e946b5f42c86b546ff18f1a16a946963c9234d56d44a78c4b0ba0adea30b17528ae91fc326f1f976891de26e9320bdbca32f3709f731009da45b0b09ed5ee788278f18baa5a97d039448785a4751b77a7b061489adb289eb85459e663d85f3bb300be43a185283bbb94336c41e08f50ef7ba378e525e48a844e3a165bd484b882db08284e5a51b392727d54f913d4bb9b7c153b884\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3e5d3c3c140ee9a1443428aa0612506da862e56b1add3a86b13f4a014b65ab0be390c5b6be0aa14caa77c0e0a9116c543f3ae0ecb927924833838993d02cde56819fb5293b84b9a00ee84233c42cf993ca79a9af5dc7fb1d0074b9a9f895bf48f8d9f79f5d8535748196734790ded7f5e1cff092ba949bb70756835d1ff2472c82069aecb50ef4eb2078e59877ee8ebe42d90d8629580813f3ee4b9fe08960615c7b4c59acd071df543fdeb7440499ad473621dfcae3c14a2971f85e233925215ab08f7f2ee3cf70427e94be6c895cc11e2a3ba569d7a530d36e33f00cf76bb7f60b4fe7349cad86f09225a5ce0092b8fa2162b3ed556a7eba89e48461d32a241c4fc7016ed77a097ffb289ed34b88bc471d35a931a75b0309021dcfde235169d8b3f18de671444cc5a86acaccdaf62945fd39f71c833a58521f591c5ba04af3287444d6975d128f090c1030ae4de3100094c24e262481de1ff346da67ea73c410b80758273dcbd83e127524eb93a703bb982930644297545ea36000df500e7d\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 79184f204ed24bea8e2e768a55ced92dbc0b5d59ff9013db7d8b6828d9c631f47e1fea91d383b7c00a64a3a3e553e7953288cfdaa78affed5e7acd78f48878b507b02e85479c9fc529879e9c8c252a0e559543d78f0cde0e3b797d87fdfdbf960a8ec3bd49adf6ea370a10ee8caba7f8edaa44d36430163f1be74bb06a6e6b689aac34ec48c3dad3f95d21d5a453ea55d472331d56e2272765747a06909d8cba8d1543488cba40015af45608cd11dee21c22e76670693498ed7943732fc3bd4c3f5b78821f1d3481a1ecb73c878b190094b5b5094c54f68a017918768d9162c15e1e15e2623019e7773e6815bd6cfdc37560336619980829a61e950d34e87fcca3b5143ca26d55d6b9c896a28eaafd1d77320e18c46ea1933f681d32828486d2703903079633a61d2a828fadff6c617bcec466570da7d9d0a447e50d49beacb46a4488b65743fe8200cf6a0b44bc675ef6c6acb7c96fbaffb7b8ab0ffb6bee5d3d5bf94b6aaee4346307bc65be6e96de1fc84c52e8ccf2b81f65785f097f9bb9\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 11ad49205eb560672ca173d10d16e9f196ae3ae43350069549b74ff6c8c4aa71b31e017ba2abb0d8b6e8154652fe186a83fc34844beff934852a9c278286bf60166b6f99a30081a344e11c655a0fb51e1fc7a3ad700676ebaeb0557a2c8140686d5a803bc8e5ccc80f688bd0550bee603ea5f59705cf3add97712642f0b65e517a183b4637da5c7ac78665cc5ec07515fc4cd84c885ca673c35f33b01b9727342ddf269f4be73686b05d8fdbf83a149232f5c7e674d4079b8021dc314afcf3c5561915e03fef780f51eb5acb78ae14e84c82a1efe444330ac4638e3f9918ddc97b89ccfff94538d0031807ea147e068e5df45e7fa3592fec60fbb15a88094d491bf94394e0201a865b40516e1669695bc32813a443aa868de58f60b60617230f871f9923c2aabb9106c39b88650f150ac935485a246f559437a9f687104785630a6b18d5544a1eadeb259228e0a047ef829d9fc5c9ce907a344a89c5afc51408f8f23438be6885ac746a334e797213fb6f854e58dfb58baabaf05a4f2070244a\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 135943bd12689bfe04cc1c0a8860d7c18f13b4bf0a82c334b44ada2c5e82fc32b0", + "ae99c048c94e3508f59855c53e6b42bcc041c219fd6465d21582f4f99cba4b88ec1844ae5a89f3215caf458547f0d147c0fa1db67453465e593ad2bfbac8ea9238d672368d32ccb681663fd8b023115c4f41345551d5f2bfd387117830323a4d061fcbb6aa13f2dc0c5a317e6b7339f6cce5c543291154ed7b118fb8c55e8942d0ee9acba4ec3c9106278c982a8cda67a2f3cf74eef8a37fef7a256e27ab43f5b6f6a5645544bc7d766e4aeb439d255d144330fea4c10438d2b801b477da861f6f13eeaf61bf5ad0b79669dd1c795e03bb826627fc3797846005aa975553343c91deac0c777ba9e253da8f3b925abf5cbb0c317fc2ea6f8d750bdce9cf149ebf623314de480daab1139f882af161750d3b74ca437df8bd7c9570c23d0d896d4a70aa4e464d0a836c7bbc22306aae10058d1dfd81303dfe07b9231c651fe30e0ceb328570802e30dfb5910cbb0739c6f74c6088b2ff20088b7b91fdbbe96068\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5513c16ec53402c0546785ed2febd651c1370352c121289d2a1fc9d4db74f99041af22d59c407d60769174e5976159ad64e84a3dd841c04a16b6f740067b50385cd31956d917372187d04bc169ac0d55555dda949bd422d39ca03e40817a3388a4ae03668af3148dd08e6faf1eaa170d4d8d9d1fd607ebc4f72c3eac163024dd2f86afdcd6b448c7c5d09f2594e95ef97b5fe6a38a265c06c12dda0665393ecbf64770be7cba42563293626c305eb840b54387d40fb371047014a058ed0082be31f59259971a27dc4de18a403bc26c7b4279e390844bfc13215365375fdec2f3c3873b1ff8f87f60506c55b7ccf03f3b3ca2534a4f686145536f65bd1f11bf7eca54f327c6bc120192fe4975657f54b962f0da0444c6650984213ea2b531b0b8432525a416e2de1790efb83a224d29d5d8153279d45f990e36c839ab7ef3cebab0dbae382b096a87075b5fe000a4369bae1335b22edccced1085f7c1fdc7f71c6ec16afc96df26df65bcab54321d91d59f7024ca5d65e4791f8a1589f094b797\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 62b1fd9511766e69a94d61d38e4b02f1c6b39a3c28e8e390175cd61df62001b189a0e44e7726cd8de44b0518dadd7aa360ebbffcf293c5ff749230066a63cc5e393ac443e73a345d79e4b54637ab3d1625a3d1e7d3d0c5bbcedb65be1c85317035cea9f73b282554f355350513a7f8564d5c2ebf93723f943d579878c89b63d25be92293538bb9d80793505b20c958da5ffde894c71c392453c506649b3891be55d69c607b6e4179d5a91a332f84a44ed32767bb189fdb7145bc13f128a0790b333be81288d4b52493cefb118d770aa5622a4318f5d37ba40cbea11d2433bf51d10d6f0d48f856ac1a87376c6a008ad9507d64103cf2e12d4f903f9dc7bd08c1c6e56a5710c01040a30575e755b8dabbdd83abbf53c9c0e53f184680a5d95526252f9ec04b03ba99731ff15e07d8566366ec78d3eea0f723c6df1cc32e0f906cf33b1967077f61ed045058f040746e4d414584d0c231cde7c28a108e15ccbf5e89744e3ba1f7bd3ec92934101be8af0bc0705690043261e98692ef737ed78e5b\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1b035a14cae3a8c4311b879f4ed000debbe72f9847fa91cffe371d2cc3e5e5853542eeec362006e7bb8fe2528d325071a8d8564ec9d60eea7655ff33bcb698d65cc30753084f773ddc3347e934942afcff23da35628dcb2751337afddf1fd900e2d83f528a96d4a5ebd4636aa7ce0f20b181176973c440b014d203b24b03a92531a79c7fc802cd10b7f633fc238e9ff3e184bbae1db31a8e70a69dbbebf925467e5684218e5651fdcb9ab2379b2cbb398363c410192c1ff0397e9e23eddd8e3cb473ed39dd9ad142a7806c2e753310efb1254edb928d781e70211d0483bcef6b7c43b52d04b96ed56de631343e29c99f4c115d11c0b74880c4d6a1235c55d0601b07b23530c9f619ce12289bc1b3efd4f0a5d1d2f7f46f9d58f0b93f659420cea287532e0f3b6c92d65084c5e188c998857989d5a2056bb973a7cec9f8a25b260963bcc2d4f74f8701aeb9ca92fe7551c006b21dbca74f481b8ca1640e251b98ffa768ef2ec7924cd708931b15752858d6f7dc0890fae266181b52ccedc87446\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0d6c8e033994b6ecedf22c5f544f2e3b688db8b2235a00dfc8f1b2bfd1391faf649be65815533d6ee94098a4382072beddc2a2f439837dc6df0c9826ec49c3c529b71e9cad2ce717fa047cebf81e0788ea71f8005a0c7ad1a8d59c27efc334c826b40c3f4ec0354633e7e6d71654509460e7d5eef7a44f4894f07e652d9d7860c78ba7facd161b65e5b8c47fd3df85816ee5af4ed35c03f9bf08c2d95d56bce82954f17da0195e95558dfc49d7d545ba004afc59e8f17236cb6f0d8d7d288f8bfc41122ac5e803ef855b3d02d11dd214a7f1e90617435b2840583acdee0feb145a37a8b8c9f5feef750d9a950a605b59841370a47f59a3aeaad2753f6b1ef1c4327133fd59895b627b7da0dcf5f9bb7660cb9002692ab94711db9c15d3bc5fb4cb0e62b36beff03bda7746a0161b4199366d3e2a3a9c7a762b6bf15ec1fa27585aa22d428e7c7ae7dfe8b8010a7df9f07a060d9115d235287ace863596e1e01fbf3551d9995e5442de650953cd2951c561317d331df010d1c6fcace9f8b05145\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7bbba09b554cdbeb72016995325649ab9c9d0a9bdecb5fc44ff0057bf619df2ca2bbd0c3b13dec3126a0545dc4936c043f200d7df11d87c390dfa1b0dd4e20c19877f283f62d6e20e0ff2f0d561589a683034bffb5fb2be9ce2be2a3f9f86667b53cb0901cdf40c23ee67746a49ba1ac576b2075bf1ff7f48941dd8bb9604d5369c9077d766776f265baa4db5dc3fe7a2643fc644a01f14c40a7a96d95713927b7cae6fd55faa5c802added32c5ff6f7026adef607a2f2abf59f2f0a8edd35547db4ace0b8d81961480412b02b5d51f1e7f0420086fb506b7d617605414a59db8d7f1374398efe6d38dfa39a0568a53fb58e1b71ced8e3c126db99b02c0a7b3e27a4d1493f2c077f51f5b9ae73bc89399b18c270e6e5766b69577283e084ce3b2522a77a994fe0e4a192eb997cb5b4bbd7592d24ec4fb1977809440c7e0dea07c384169e9cccb23c1fdca7773afee4ed804f63aa556492b7a4063a0699ddffe2b583230b826a320e1e26677adfc11d185a1992d38e4946631053330a542fe594\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7e13964d767f2f286807be50118481f2651e9da08d93d850bba4297890e79673480d7dc10f5435b5e0e318adc9af3dd5d99e0339f9bbfe21891f2bee35b9462b442ddd764fc278f77e7c17d017779888fd552537f8d7a9bee63dbddc10903c665e975cbb01cc1ddd0349afa100f325e3dad303b707f22ad2c120083e4e304eb1d12abdcee41f6d1cb276f58eb09cba643444697e43a899c5bd3b1d10ac939e618db4bc12ce6d822a29c205ad748d3f632b147a7232f799c14678ebaa0124a9ec16168e32df41d21fc31a2d87c3b6008b2cd90f51230e1dec00311faff09c2fc07acd78b57e39271a8912a0c5b76e3cdfd5915c6362f1559c28c95479750b72c4f0b79ef5f9a25d9022051eb1d9de1ac764fe683958ca8a6980098939b473d2ba58a4041ba3db8b5a6cd19b4a2212744e1e2179d6c94ddcfb770d55abe3e5d7a81032809767dda95683f1ea60054d19b61779f17346b7642a92b57da96c5d5421bd77b49c0cc75e6294354e307453718335f5c1d87f5179c9fc74f0b10de00f9e\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 31140fb3b755d517fa660fdc5b940ba6c8fcb667ea633605c730fa47a3b52c0641829f275d2f8d9b8ccfa16e546146561d53a4d16a88bfc7ebf5fc3f81882e9e563346e19944727ccdf53b2f71c30a108ef2a43dba5be533fb0f05ba0ff302cf18e77d2df46d903476a9f7fabfb0a4e8a23e040359326612fdd9411910899900c3987a4b59d2e8ada6d6db45ef7f420b8e8faac28c6b9b55806dcf44f0b2137084035be8475ac6e5c6bbac67069530a36892e1d6bff9c594dad9b7e9bb604200c9320abffedc8ed3a568acb8e83411e6d28e0561848776c18f8822a150c68aa8279b90422f39432b44a9f843a843d4b970ca608b15f54c42057e17b406f939db847113fc6949090b203b35bfe53e3f414837dc0e2dcd58d5f7b829adfbbc60e41a8c9ed4a9fd15f31a7795c4fb93d88f640b20842281e966098060eef25b2ea3df4d8da8b8dbd9454022bed7f33539761303b46bf810b33253ef1a5887a9e4175cff852772101b27d1bc266e8b2924fb37917aaba4a1ffcc9fc444ccad469260\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7b4bbdd6a446be7d5ff306171d91aad0f94e7996c01b12f2e402ef415b06ea2483a39fc4db755f3e7667f474bfa282dfb8af30c26a561f499b506a9ac15500d8b994e6ec5dd7c0b6963dea7f0bf1e5df5ede5740e41b8f71ba6ff56fea051e44b441df0264d730514e3cb74e8e0ac5d4e0be7e3621be53a41a12c12d0966ce64c524c16f4e1dd04dff3077b50ef54f2f4bb1da42fe79aa81d1604ef346e24321a7d9355c7e3e64d83aedfdcc02038ee483d6c46fc9a2290a8d75c87ac56e04da09e661df1f6adbb1ddc19087a3d7a96896cb803068c496ed93ab184d8377cb277032d627cb5f89aefc574d799445232292382d70e13234e4342825ce75dc08501878f4d3d219442cec45c5c6bcda2a70047d671aac7593c746850d8491a4fc9f17ff16fda341ed97ce8fc9d3d8cfd889dd752eef198914c4dbb78646674a5c88da0f6dbc3083dd5453a520a68ef79a97b580b87ddc7b7761277108eebab138b7eb73fb6d73e8827f0d7b7f4411136cae3ee2f172adad6b5f3fe3acb478cf7ec2\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 56edf756f30417735f334309157c56b1918947f55978e684fc98f2b1a528e45f162ea4dc2463bc3dea7e31e0ae19a8114689ac76464efb2ff7e3a2258ed9dc074d5bfc47d6d0f95b71efbe8dbdfbb0cf6a9f3f96978597b6e2ed5c5cfd365ab5607419c529dd315302a753939c920351e2d1501f63ac2b8e1e3064eb7571cc4fd2d6af08c6a6e54eac092f80304ace2d717d9cc75efcdb714d7c86460f73f962ff221a76a9345aa92a17afb7faf5ee30a9351259a304f8430dc6c063de9547774f1df890756e4a797bbd1faae7f2145940ad316dfdeee42bdc5ffea9bcb19dd329b4f84c48318d63476f09f8de7b88db07634289ed42c546b2998b583e19912092b1895a086a", + "7d050dfe693f3676e3fdf26000ff156827a6bc94ff483e531a52d84bd0f3ba9a8d3c52052c12fb7330b318da34da565f14b37144a0196000ad96629483e4371effed018452e69ffa4c73b0270b6a3bce0c76bb594200f992b035ea653d54ed65b2b4e70bb6d6f51ef37c3a2efb337694e3c54637858d828c57da\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9e374703a9e94e6d708fab0d94cba375bd294aee74b8b63ed6e0e8396c1908a0284bf0b79b87189dda35b1851578b8026caaaaeebf879e0142ad1574d31f3f9bde867f25f4b3cddb65a273242e08ec77698c8bd1d095f92a87f7777fb865703de7b11f92ddcf8d56a330e43e2bd575cce35aea05f7a17d6b2e7e420a7cb2f6f969076a6a96068b4611e1e2a04c17be333afa6216e7a68f9314307fe49a3faf890f64122c04df658af93e05261b537344baa336cbc0aab6ff1a73eb540eff4922cdf6e0114161efee8178b5875c77f0c87ab5894d71d579f52044e13383d4747829744f3d899fc2278f2ab1d946969790bf62f3d55f015a0e8c47a3ed27dce9a4fae0d8523dee7eaf1703d1f2b1b5daa2bdf13a74fe6cceddab1c7e639df7883b5787579af5429b358a8453a325a3ab5746190b7abeec6babc198d0c6121bc420bc4192ec3cd79faccbf02a2b188d71a5fff9fff899be8101861193d2fd41d9fa253ae243a6de65d25ff86de236ab674e13f5f5ebc795f95ca4415a30cd3a48e0\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7e1af37a290175e7191640d8c497c126714cc3d90e788a96c70fd2206485c783c3bcac949e09db18d4639ce1d26bb7acb76c3fd7922addfaa370c11d8c96138fff55936c62bef61bb5dc43660467f43039fb5d69a8964e023745ebce424b314df76ce9e5999a7fd8cd33c2d2ca7f62e2d1cb8ee0b349674fa5476949a002fb6be10e21f241b422e5b7a8ad8889d7e52451c261f9b83f9356ea4e37dca86dec14d371a23fc7c9a99e8f81542e5caa691873c57948a3b9b31c8a203ea46e353f4dad30f112ae545e985759b2272664266d8df7cddb889251c8fca0061a27d3682341a789b6626340b9c9a4bd7c063e96d08081b0ab1437283ad8e4d95c5ca48167d4a410565294b657cafc56e75acaf553d609fe02056a20374d3c06bb7484373adca95bdad39d5c5f204f56e9f4a689628a7f0364bcc0fc42f71a8769669764c0244c7956100fae4526c82bc62dcbe47bb6f37dffc59e9dbfdf50225eb8c583b8b161e8aa3c30f70e71181f412758ec9561feac3f51ea5d1960c541ba19795590\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9d86754511daeeef9ff6b5a1828200670a1a1a9f7c60889644a24cb0664cb01fef5318237a568781c26f49cf9d0c094ae79df3baa9ea53486bd9910a57b3ffe7165f9208bddfe0476a16eee73cd85fb41fd072708eb3484e295ae6dd1cfacf2d63ac269e1dc6afd34d022030a85861d24d8fc73ecc5d9d6f510c2488bf00b311d114f2c73f18d4244bb4ef868c2315734605f8ce5022d74200bf520cd040d899dfa193367f07151ba0de412dbdcecf5cca924ae675631818a68c2b92a8a58d53d168e12f84e5f1cbb087e974590689df361cb3f0243d5a3f325bdbf4456a4d5991d245ff5ccf8d15c346f1f15eb8e6ae7ce4e427553982ba38005711443b4acb99c595f7d3b7f465f4e3642a016b4fa5d1d4108f6fd7aeac9d12afffe7f90619f56162e289a2646760c803f4246bf57bdfebe39aa7c563b8c25e68e35996a8a068fcd3e32ac4d34995cf8623e6d016c0d2ad22460f7a0e3ee8f608b027623e926c36a5b3502f38af59484b71ce68143755e1f2bcfb5b6ce7fc060fe48013a4a9\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1be236c819d1e7078aa99ab03c5334ba84c4bb30ed75a05d4dcce54b0c3048720b20f69f703880f9f1ef38b65143f838478aff456fafcd7c7c56618f0a5f689e09d86abde3d4aaf248abe6c4632058cc519517a1cfd3d7c219aa4a53aa2cedb164e9387f789a4099b94fc23451f855e0eb759c522becb8d3b9ba9e73613e7c1a168c378eaed5ffda4e6062184d40b3409ff42dd7f1d1cb20a557122fa82292ef5513da40a16db1d45b0121656831b0f7213650478e835f43c5e103bf663bbce02ef5e34050ca38ffef5574d21dd212b57f65e59336142ecb64cc58a6c51bbf1acac55c8aa30a77c9b5d94416ac2d9c895760045f21901b19db9026aac3da725f90af498e108f3b0f3383ff197dd130ea425254d7a85b5d1d843609d925e09d9a0d0ca6fddd0d7af909134054480fd8f78ea8e106484dfabee2a7260205da8ce2a95ea2a42cdc9de07b0c94fd4682a574ff22ca14c033a18905f7155cfcca994c22c4321915afd0149843b3f2be74d28d3ae0b3017e8eeab4ffc531c382a1dabc\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 5ecbd91f09531622a73bb696711c450ab91af58c953139dc81fd527875be35b8ac7e377b5bdfc6f2cc502c0b6d3b1efbd5b74f2fcb49779a3c9ed716431aa0ecbf349b1dee3e7285cdd3774db949d27dbed08ed18ecf12ac24f04865b7e11719b9618bd77085106eb05cd994e769fe1f261f8b755d1d4702115638c060c1c5c430790250ca71bdcf10b3105dc3ed84be09ed12fe124495692b2ed841429dbe1382bb513416a488fb4aa7956734ace455695a641dd99719bc2530cffd6e02bdb4f8e0b391e70ab339b153653d9688f2beeb9046ea2ca41a11654978dd81552386827b8dc8e35d5d401f79c3ca2bf2e1188c35b27aaf78a36e2f3c0245a3b5dd1e0ab4bf60a3e5c18e883b4d8110914e08777e463932cdc5d01a4db721a27a99a3c2cfb7a497609243887eb244f6fa276a0a28d53a77d28bb818706e72f9bf91ebd99d3598761b3c38fb0ed0c4c5bb32831277574996fb1f46af34cf173c711fb81e0aec055dcf19a594a4cf5f667ff64166180ec8783d0e82716e57619a45f6ca\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 479f622eba6551b6f975f419bfd3fe5fc357d32199d85ae27d5c64a9a832f2f33dd93ff1fa0f3e9487d3f292b1a60ac1239ccc568998f5a5e2fdae7da0187ccfb7a91d754b23c98c34a810015b050f8fef78fe50f2c9a99e16bc936898a5355b0642ee15286f8a0851a7b91d3988875917e3905a0c265bcc7f5fff020c709fd11049e908eb42e4aa13bb6f7bcaab2a3256cdb2f58500717c7ba28464552901440bdf4ca6f4cb9c9faec372f557cb83d4258bf853808af35b81da76c937af62c926f7f963aa68735f6ea4ec1c487193cd4de17fd679a9fbd8ed18527cfb7bb8266635f4aa66c03f310b19aee57fd3977a76a858b7e7c405051fcbdce4ad4073d8993a1b5ee16b10f5bb3702ac8728c0f3c0c8b723e30287fdd5697fbf5f08c030f17e1ff988ab71e0ea8539fa68c30e2fa760f1998e5bde95a65013c686057a50105c9aa058b44a6982104deec31dd1f393a8223a25828130db01641660f07a5f9531babd71df640871806880f33a2b13db44ef9fb0d03b36ef58a2c554510515\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 76760f4face7373dcd66f3f89a1cf93344c0ad0ef083ef769a8e26013e0551641c5ef00397eda16e9100be6ce21259eada475b0ffcb2d70ffc561250503c59280c63f5ee5a58cb5c11d27ba88bf1c219e4975f3eb4e02eb88191b3f4081e308b0455ca3d729adf5e9177f837e5b6279e84ce247f6f95164109f5151ac4bab08f5e1a2875e4ef16c0ae9121cd4b1a2601fd52a4f1d742ab6420161904816e4368fb7e64bc8f240651da39c28ae81f20699f6dd71c4c2a3dbfd2109ee973bf4df6fbd48379485e2e7ef6602e6b480a7f894d3385c80d9453191737516034bdc8cd93b35017a2f97356d670f424bcf4e6643b4d29ece738851fb57eb8561fb7260ca1919ec5c9f90c6cd4a5d60796aecd2d28907412ef986cb08157e15e5ae5ea98ea8dfdecf0cf624e65c762a00a78fe1453a070b6df6e89d7b51285379cd8bf4f3ee69a1a233d0caa324ef72a1ef19e5b5376403487b8c6f0d54cd5c2351d082907b045333cb34b56f9bfb3142b889a5cfc3b9e667e8971129a21b4a2e5d1b39d\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 9893a1f80a5399db63def36a1801903e04c68a22974c37b4c77e610acba1067f8faa6f54f47da6ac680d2f94b6167c71b6f626679d4099294914c53f00fc77263c42ffa995d3777bfda44477ca1b790685fb27997ab80db50e1a99ad4b77dc0aa8b05479ff2ac1589440476b13fcdd5712aebfd188b6e6d11af31718411dd09e55275656467220be8e0ab93ff03796321d72e9ccd32cca553c2dafbd35280e8d2aabfa8aa3c111a7a34da57785de990e1ca0ee13f2118b2277683105ff09fe5800fb0be608729393f2ef495cbcc4ec30bf18e7f23b8e81cb3d5e4973ea3451fa64ed7d2d6bf99245775c6d8c33d62368d5c90d73b9ea292043efaf7564129355e69787e618a199ebdf75ea53bf7b19b3783276f068cf01e744e7c13f99afb3796b6c1f18c8a961f02ce2b1280c66b31d7c2c43c563782359c0dcf67f1c23cebc4caa9f3d129fdd0dac6f0a7917eac5187f01c708b3a6d539e133d6486596c16ad6a2d32730c8593ddcc30e66ce41345e67a92b95b7e876cc6c48930b817d5cc6\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 21db7c79c85f32090e2a0087d5558298c700c40f39a6f9e08f70860bbc042ddc1e98c290007f0d426b0cff6d6f32eaef0792f10ad12ab892858bb2ab510d9d5d8d2a2bd0a0c737602c9949d15e0c67d5c54dd85a4cce003582f892317869d34709696620fbcf0bb572d665316d11d14958a58e11ddfb75309c7bddb87fb851d8970ffc2ecef3d7f57cab94045158c01ea3a97843ebb542494b8f883686fbb83fbc89a2aeee590573bb41788824ca49da882f475f415d7bb64b113e046714dd67dbe0cec72416b9be30476d197ed0675deac614be24ed8b4511c41017dde5be0d09e1e4201e8ed9f43327da18ddf40fbce03c477f8a3831bc1d22b7ec72be3b4927c905d77066069962f6ac8a929f810044dc1cbfddafb763df8596d7a8197e8e70b4a818f4c2163a16907bead72940bf94f64f4ced5a5141dc2757d6b93a1c6e5034d47a5ee512f960f37fb269d1b0102b8801ac67eca3ec27a6938544415540f55b1c5919560778c6cfc8c6f9bb21d2438d2c65b95554420d038b1905e02d09\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 169a1d69376ce5e37f7ddb7996c66a6a0bcaefac6e41193cf6b1c15308ac9fcdbb68bce602aabb18d94b458302c7f96110eddad9c61844428513f10d5b82fa8a", + "685b756bd2ae1e2c7a94da573f4bbdbcc49c965748bebbbd94fb0ee74944cd272da81ee3af6f747095d92562c0cb37eeeaeb24ccaab9bac22302c46c7846891f5de1286a16a1bdf4dcf78b4f94795890ab84b5a232e5a21b74e72d5d8897858897201d3db3a7f5a0c3da6eb6465975da790a8271619ecf2f8b14fe5ed986441fc8c26e506f408699b8d100bb2d9dc7515c114d9845e6f29a306800307b50fb4931a249f47dae58756e132684ae1ed6198f88179c5c97d3edfcf76d87931cc9012b23d9efd4d2f330d549eb7b30ac7e00b67f39c8e35268df5f12f163e3f7c45941fdf746a653144a3dc2fab365d527b2b270c185e020545eea07efc6baf00049addcd83874787a3fc986a571c0c11a4c7232b54a438be0332589ecb598348d0a1dc13fc931122cbfd8eb4d286beda183291e713ca1b872d8b831909fbc033b77\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 3a975ff773526672d671380dab20add0000035d47c04ccceae78ffa2975a90647945b467c4e30365cff5f3a769b053b5ed05e0c87934893881d896da2c714023394a1fbc08a09538cfc89ad3481bb0383472aced4e7d1947c40e65a06d6adc0d1d47493199aa981a7bde828a9c45349ce85ceeb00b3978a12c73ead5a65f17df8aa85de1ea87ebb0beb5eb9d96d6aeb242917b777a739bf805ce49e2d0f2f4d5115d621bc7839640d7f5aec3a4546958f62b94841a1e8e53e53ea820eda668f643354b1bdd771fb228f20ec3e968a6dd53db38f0fe847c45dc68aeffb96dca441b85180d9ab348a8a428cfe2d74f238fdf727d02e4eb6f52e740da85ffef408eb500a27ac9fb1461b7daf684f56af3a58e803792cbe2bc7018a2525fd3e4313f42112558ac821cd1274c0656b65a2ee2e9ee7c21d47c211a3018caef798eda6814a9c0a14c039cfeb29e495ca272f0471cf32517bdfd6bc36fa47890ce49fc6a48afa13c84cf7652f8ee1b6d91b0348e90f3801cd19f3dff1ad24ea5fd8b62ef\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 5c102bb519d831ec8b3777861d8da6e59708411d6e278b264e97c0e4963b6e4471175671fe27c64b00511d00fa7c8594405cdd0e8fd5c6fdc997a3f7867d5d6df13376955aa2cbe93120cbbec3f3121ec340d0c52b0b9ccc110d194dcc0154d8ee0a3eb056633a1bb14593afae4c461928b2209013b7ff516c9f8b548490fc1695b57361fdbb806962342652df898f297676b0a0bddc98ee4d35f2ed855205ae00a3bae11bdc7dec322e69e629e7342008b6242199e5a90f550107957e2dd5e037776f3b679e479b8f3842efd6a35a32da5f20ea59ea209b3e4d9e52fef6c3721fdf7caf5c8a52737b573b8e7222842c6b97623e38378d61dc46442ddd056cef1e62528c7f586832a86b39f02c516b766ada35efd6a7a88567e618546ffb027ca826343a9020491572b1b96ddbcc6aa3c34309a254adbf1112774b6ca0ba480f4e9375185d2a12b428943c8d0aad7420857e7e9c8f364a7215b5f3f89c4b345ca24ed6a4535867c7b8b5eed03e4ef02c3ad949522529c7893d4ca2d5e5cd52b9\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 4c8832f10a7fb51141c4f802bda680a69220ced808e5037933911b97f017ad739191d5f15514e9f42ad7adbfb62da4eef5564ed39806522fc7c7e09429fbafb7f48c23bcfb6ace666fd764747e2b1bb8b3a408ad80983ca0b794a25a2ec4e967b4d1f5cda3c7e708f1f90efeb068df2ab53b1ae279ae3850d8882a38ec2c92772a7a27d7411d50f768b3b99b8329339c5fb375ad513d24cf2ac0b300c4a901b486ae6606293d622fc6e76083a296d0eca5c0863301659d67714c95b48b93631e7e6aa6561d8dd14c0195d382d7bb60e0511fd98b21040cac16f5788ce09671b49f7a0d9397d96969ef3edb12b957430a5325013aeb9fd73adfaf5ccf5d610e5fb31d78a272583523adc899b24dabf8cf15b5c042a59fd87307914e61729eb72c6c1611d4a99cb80cd43eb72fc4f5339be227d4afd682f9666468edcf8f6e7d2ba57979289bc91bf8e2a5e114c7df98ff36d0e3c557917bfd9365f661fa417fc6a75889f8ae639c8ca4f31d5f3d87e1f1711f7f3698f5107146cbcca4f58bd689\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 91cfec5f96441f0a05179b85502d8dfa2c41966cbf31694e258add869511d24f1846bee404179747dd17b6e6a9524ce397fdcd078bdc93e8b4c75f56699332b8ab06f3cbb868f1e6b2b410e4049cbd31c538e246c4f14f76e12bf230da74692ae55bc019d24eb8cf445eded9a14d5aa2aba24592072ff3b9c801961b0c7cbf8037290755879f2b5158fe133dc7023fd21ba4e21a39da7992b724ade2a52921385b6c359d9814b62b0494e5b1d436b17bf3d2fcc1e95b5f9556fcaee7d8088e808c3ba5d5a92cc1518f82ca24e9659e0435a362d4a1f1d033fecf855a3e6f05b6791b2322d81f1298af5ccb4588d9a6c6d4f1a425c72f9d034f7c35d8f8103ee2ca0ae7d4daee2d2929ce6f3f4ae04d8183427ea0b20f07870ac471503f5b94692ed809c5c6df9b95330baa3d13ae8a3ed21e7480f1f2a2bae1df9fec082ac154276f1f142627bdbaf1abb64703c67d9761a02f88f0e18e9bffbcb7d4bed3db5bae8e6421d9c04fbc88e43a822495cb49d2d6244508f3102a732bfa4cc0bb970f\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 4d13b9eb5da323a7e1877e36b830fe6a84ebfb35a618ca53e43378fa307c9990038520df453c951016ab4f918e94c1a1ce53327e0f9af6410d3e0fc20a22ede95cc21a8b81a55edcc8f64a497c579d5107ffaa0bff5fbe64be77f25d4763d546a3451633f5930dabfdcbc84c5c29f0937efc47fffb25930a7f737632e485176b78a575536cc7522efa7d90817ade8e6a2993e53796ae54f746c4d9e19f55f6cee53109d669d35f0711cb1eb0b835e8257bf4672aaeec2eaba4a0d5611d7573019ed66c3a5064210f187f64e5bd6f345737e76b12e3db4913a752dd7d1ca0a80276b38029f412079545c54997c1890f9f269040f7ce9b13660cb6c348caecaeff3dc9a3bd8f542deb50771a44a17564c992a163be49151654961fdd9975b77b47c2c4b5a731d78416936f0af467116c56dc5987b42ebec4e926184888eb053170b8808dbaf8b58e53b329ea24af08edb82c48f66d58c4b59117a711564b4a886d38e01dd83230d20c2d248594c28a4e16a6910d39ec05d4c46b549cdaba7c8ff1\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 79f7076614b968d30136234124eb002100185aa41603b85530a87e56723e363e866ec18b2bf7cd69750eac12aaed2f5d3cd8a174037d1b11e0fddbae8248b6958047f4fb0836eacc7f63af9fe05c772b7fd84b6580f4160ab78239468aa9b7638272eb3bd03135780cffe958085fe571cf872cd3e063faeac687d85c440fd8f9f1b0284a4749ce22406f3d779318b0cf9820a226c54dc2387601a7b0ac8c4c7579821fccb8e8caffb1c506ec3c3390b4308fa5f0d3ea4d0f596b258c4c414c47f6ed143272df118d0759f707b50f4df9ccfac60f72a1eebe484bce46de29ab8450f35852ff06ff860cac57caf20dc81b9f0e8c7cf31667e993c0c502a54f91287fc4d20dcd3cdae22c4fd73c957be77a065a8ff04098b6e7ae166bdb42594cdd9c902e2d031d4ad421da7c4a7d89ff85aec4a05759fa207446f55408386ac9c3c74a52bbd9bf73c094b7a5434dcfd3822ac554a852d3be1ceb966fa5923b917ee4235aaf4624928d568d80f2155c2443c2138b0bfa5c63b7314c2073a72e7d3c\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 823f727d76fa08e6124b857e24fa0e4d9308c18b5a750f26b8035d924ed56e2ff9226e0747ccdcee6b5df5812e432d952a93be3037ed9194f987bad87498810b4072f9874693b35690bf6a95759b0ad9613aba0b36ec8565d384c345669931366d19480376d79733edb09629791d9b3f7bd4ead3ff37966c3b9b78931e2933a0a9672904ef917c8098cecf30b0f7a11f41dc00c128e64fa52cb5681491fb0813519ee60add3b8750eff8a51faae4f96a5bbac731eedad4c11b81c9f116f2a8c9e7d727b84e90f9f89c37fed569ab6ca9e1bb80529a6361428a6f3e87b83a9122085ff0f9a81faa5e57070fca49daa38b1d590216ff1d38e1977a53fc89440a29e945e6182154aec7e43aa1f59070715be2dd0eef8e3772a2c7f2c44b57ee2a0491ae6fcb312838fddffbdf0e9bc21a52d9473ffaaf4fe9816a277c3c2200528e830ac2d7fa349e50550acb177a0a3621924b202fb44a542e551ec6cb7ba7b66db86ce0767094e89dca1eeea5ea2a732ec009958b7ac55c42001bb5de07d899f4\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 53785168755db72bcd3b7528e9ab4247f85c2425ee652334859ce25e1abdb26277150db9aa3641cdacb950d8cb430b638ad16f9249f2a0db6a58d0d832e6901becdf4e749bce08fece01d6c4ea7fe4293a66ae4ae39ceee5d0d12cc37b8481939735f7a55524250a0618d39afb3645e1af91fbea02145f1431ca225f6d1c4a562fb4bfc8c59e64887370e548fd973d4c0b7fc0d8d3281ebf3054fe3584dee13564a8818c6df1cd78838f4da2cbc2f447d673dead6a55b27bc8b028c8a9b212f9473f361cd38e8b24be043cfd2a18b42f5b4446a71d4c74dce7b7371658c5337126741eb70783512d2f91b9df8893e9f903183487353008495363e68a357108fc41634830c67d69989d25b5d3b24273542ce78ca72dfda0373598e103b54962dfd29a823fa5c0149e9f2c2f80eadd02b2436b7872cc5f3834437d22a26717964dda44cca259769bf852b378caa879a09718f36e352866f4e76346305319789d86263de746f87c8789f44be6493648789fd7864c30bb089f6bf66ec669da8ccfe9\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5fb58effb5d46a67b88b52ceb30ecf285e264eb8f179f633c7d3c87f0401574ed7365ae5a02fad1437e3c6ce1bfa03986f0f93024bdf3cf0e04f08741f5c8032091d58ca8ac92785a31af964d499eed535d5cd14aefb61508146321e45fa0ac74a4c3bb4cd1a5b921f3368a65eb8df5d887ae303fa7a4531a07e522a7065618d1da75cda66564dec3320280a769a673015870c3f04a52c01eb6e31d74250339613bb3b39e67bc33edd45130b5005918f31dca231cde2a7e5e27d84f189898b537d78becc983f1e00126b21f3f947daab9102623e32639c9e7c66c6099ca1c69b4a4d24a0c56798baf8616c8d4245cbf7b2d7b212b9fb7c7bfd4a49b5bc1cf03dda5f69c7490a8e80473288c7adae02789ab4966ae3b4cdfbfe3a0db1989d1e392d90dbddb52c619b54e3e2855a1507f2c314e5f269f3934308f3aef49ba61e16f0abff6d3d1817af", + "b82c097c9bef22cd439e717480bdf85d7de75e903b3a22060adc88dbdd9b854ed727b6d86f01e203c98d99a1a22dad91842a444f7f81a894\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 7a87067db25b9b113b66ebde982d6fb68cb5972a2354061a649fbfa6898ba6e39ed2a206ef0901a5fd2d04ac250e0b1182c0b4820a7d36cae82a17d849b6b483c563192be8e3be5cded937b4a8ed348cad8b1612176f166fd64c4f9ad337494e0602c6707bb9fb0d8bc98b12f4fc07dce28e1c9c3f797d1873f091d3244ff2d8019f04dc5826aae36b3f146916fa1b4adff2c342c285108df07a92b2539fdbc568fb01b3110c465774bf1e7db1420fea6c2c59d9e1142a9ce2a3f14e36f30376dd25ec55a66a16aa53e0410dca324de691728bd9a532e7a73d4466c45c5a3f2b4cc9e79ba5965478f0519050422737703a54252da1c90e6344dad1b1f1100756b421765cac73da14d84d857cf1130796bb97bacc57442ea2f25070b0bafce234b86a5bc69f2ec29bee767a8afdb6e596eb2560b141fe29ecd7a111248662cbffdef2500b9e9c10ed4226811d99648e3a3f8ab0c9f2ef6f79fbe61d9f23cb2fe81e79043344808872e50d81d1bd1de211d431326fbcbcf5a36145f626e2ab021d\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3710891c1bc609d7d31a58dd5094f70b434d5ff1d37d3aafa3ce31395cd0819d94d744eb0d79d942f0c65da6606be2a89a238954622f5e6d0e993a80ff623708b5186cecbe9a21ec4ab593a95fe46cf73547f25b0a2c8953c1dfef3a1e50c37a725216be9eec50895a62f536fbc9cf448112656cc775506b79a7e26dd6bf90e5f1e53e0d7c1a3f22e2c086bf916aa72f3455dec6c99b720d56b2f80cfe55b4a3e7944f56853910698e6cd974c19468df0fc0e1a4408a2c1ecfe239672a7e104a95b8f7a9dbfbfe4d538ae24b1c76cfbcdeeb31c27c49eb55d6d5d3247fd2411efa66d8e0a53d9d00b76541265a00b9ee0d71e89a38f63ff9b3169dca65158602efb4fa70419b3c7e1617a33df13adeecb46b114c8a96ff8e70eb2231ce8f50c785f0b3a3fb4fba97eeb25eab23115f71a65018a22c0eddc3bf7d31b7598574ffdf0d2baf9c23c660494243907b93eccb3f335bee80334f4572c3d5e57ec1753fd10c764cf4a6d1b5abd99c4ec844fb1ac16fb84501bb0f8cdb75296773523821\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 044d5b6a176c87f3b605e222bd9e2af0635396f73cd2db7560e842b28b5c956eb74dd2aa46cdd9476acf3ff6edd02e0d1801a3e97f89c0611a3bed7732217ed7c8fd890a8319be159dc1038b2df28997cc31edb08f64d9c5ff84e4cd63100859afa5d6c54ada3d39363864e53ed16ebaa0d95df1a8af19c11b236420775bfd0c1c63f25d71b08dd97a023469e84d265d17ce17caf143459f35e3d8f1801f64ba8c97cdab77556c1f34ac570f1947a375f62fc6c4c3ddb04363c6455ff50717f8cbdeff55087c836eca9edc79976d1f14c40b3c4c5dac0c579a64c40a26092d062e1a8c2b4fc63a03d21abcacae6a0faf274db6a1d82ffa55eb272354b7507e0028eeb0bef2fadaae03b82d488ab450e1a7389de4b1f73fbe321d8de48c9118689507ba3bdf6581907523222f7820b85f601cfbe6b6b29771146dae34dee3d7a7bd6c78461c544c81dc1e962c7d78fe50df998de3308a4c2cfe68e3bf78083291f044349bc1220a7b969e7a2e773a9bc57e359d0826d15ce8ec09ad22f03bf2c8\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 320e2b1791735625a7846cc56050ef8258ec4baef5e5ae8e69bebbeb4a777407780a9be356687aa13c9f5c04f67044c5a5b10ffb17c9574360c697b72fd2f647a33b0f55867fcbbed311bc5d76be998a92696f37e6b99f27ee448d10e0dd17ffe6f5f7f07262f12a84bb8f539f63a85fbf530cfe1cd9b1be1c98da296e77bbafad6cff34dd559e083a40ed12ff4839e7a118b8d3f1a2a884437272bd9472c56f07fa8cc29f3e14d906c03622b55b0e9ccd7cf8dcfab4dc5ab2bfb158fc1667bb82354c19883808dde6c72e995321413663dbd01b2fcce0f4ed1638aff672aeaf2c82d37eca0dc5a4ec70c324952b71d37d08c7ef30f884c364c1c85524647010aae11b6887e5f2c86aafc7a6c23432eb4c8f57e35f529eef806ad10c39a32f65019a25e04252be1f795d174878cc9afcc4dcaedd73f8080dc3b812516b49a76d7b6c5b2960ee44c6dd4e8ecdb0f15f999d9c457f6bca0083f38aad6a80a7af2f46d89cf125e7f55c75511e4cd9d462d6c4a8c8248a03bb14a5f53987c1c9335b\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 08a48199ef7c23be30287fa4c8b6c63ef19365b4529f2079ec10303f8baa719af016532593336401f93b922a17a760798b11364abb463a9273936b4a0005b9ecb9658630e8847c5e4ef785c44ff2ce0832c4ca25e1595a54eea621178c7dda27032ffebf3dc9ee27759a0a01400e36b87249b58c854395ea5bf831c08d42b69a57abbffbabea943c5d450dfaa05222f9a82062b103277ca751e99352c8561e7edf01654bf57ebefd8a5a4deeafa9e2aa0055d02d73c3ce43b1c8694513e98b490ece9181e83da0fa9ae2c32e71e27dc95f6df5f5cb78d1ae297bc044b7315d2b03d1df786ab0ac55022fae5c51bdefcd97efd4d5f0ccaa14c3f429d164077c23320da2c47d936a0841f401eee0aa18d3677abc1970905edaa6845de62d8b51166fea8c149634c64b7e552e4304392921492d83b624d917f6da7441ec650c76d8404a6851ba16cc691928b642354e91535ca5be6a636d524594abe1d53268652164a0752fb6bd855ff0e2f16f073f948dfe1d687150cefccd17df8065bf1264e9\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 498641a4096cd12ee4d68ab9f5c0b0bdec3588558fb12a4b4adabf30bd5ce8d757343078fe1f64f83f73d9039d75c8f37a1977cfc7bb8fdbcd94fda1edaa382b4a0e9b142e8ef9e4a101837dd96a9e3448be292d4b4ec59681076ae3f6de3bdbd55ddf2d80b54a9d82152ffeed01043c2a5c0e355ae368dcd0bc666eb46872a0a14a56e56345bdbcdc9592c84ed73ca6189e340a85c11f8e6eee064cd9e0e2a1cc4566e2d142f3f7beaac2f73b9a055c718d53ead553ec52372bc671254b00f6dd8b24cf6d25a965b742968e5013421b71434ec62fbbdcfd86f85db4a4fe1997379f21a89b7b1aa5cdbc13cc27be299d4e9488e938ce7d12a2b5c443047d3388748a3b955e31713ee3acf9a2767acadea54f1f7a728d0f3cf730be1e0a0ec7c6ae8a61fa4a8a3d1560f97ab882a23d20e6ea7beca62d91d00b825a2929bc036fc4b57bdfca3a6cbfc02ab7845a55128f27fe1c0ff385b5c03fd42aff8f8e88480c8c4f4c9123219abce84cce7c936b0016fa8116ba4e6268721e5dfd9118ccff\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 33b201d3b0f66d29e5fac85bcb1430c570a7563d39d591dc8bf7cba5566a6d7106d52a682cdb135e52080df174d476d0b733e9fd376e34581a8ff71e7de7a89c09e03f1294384f3920dd5281d139a5d939902c5d201e975e06173b06e0f02dbbc69db16963a67f6f4dae9a80fd5a4b0796f53fb6d65f39fc9cad68059783491e37928b477c0db578d10a159ab5b0156a49f301e023e85776362e1c3149cc9c5513adf9505259bf92273c8922994810bc2c247838b4672b872792c617109bf46bfc14768e0bb7db4ceefda9997b253e79472605c048cfeaa2bf743e4b10a121810c2a595f1b51780b31484c7e81b2324fc42082240e1f8869932baba91803f633b2afed7f8402fb758cdf928fb1c8f9a5421662e4e086838100ab3fabb8e833999ee40f61e9d8e7b8f02e3207930a131f4c6fa1b890b40c27e1814b5a606f3198902aeef55fd19f327841d1873c0666db2e33ba4653470215773d89ed6bdd5ac8a4889d730f3bcb7e5c57eeb0d48d3f5b620fd02f837ea32629c1b5d747f38b4c\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 588f82aab413ba5b03748fe9587d34b9364c41936c8511a02b6e31d72ce7b0f62844252a98b2ef2beab1806b01225c938fcd5a878778b348d45085aefa02335153bcaaebd59071d99098db83a0d603410b45e8f3b56b4900fd23e733367370be2b0adc3eaf3cb0b9a8dfd362fac10c80f059cf3fb471b908d05806ea512ee95ad61d90f0536699a70fe3016244d328ff3dacd5b773b18288648f85c6cb395736dae2b7a52c43589f9e43ccc76c61a6d1c03610249808094e0a45de1b90daa1c4c9f779bd109cf4300e4ca9263565be44e338daa9266f9366a19adab638060937b9da317170ec633b8f8f3a53e283f67ac35def4b18679e84e59f9d262743c72bc7469a10cf8b953f7c10fc62ae8e095a65964841b4f53a152e2511089c83a16960ad1f12f52cd5867775e2e80d1c30be0f7492ad98328c22c8cf5b6aa84985ea0c1e724d3a7ec551f3f5144323948bbaba8f1a360d279c5db5bf85b640ad76e731963bf9daab653af6be27e1fbde4144fc312350e521208e884dce18436bd2be\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 37130972f89d2c3ee87b9504938a624485bedabc3dba04dc37efb278b9c052c80bb8e601c189ba2b16ce016fec3e4b53bf57350df00f9b52894ef2d076b1b34e43aff4d7b2d09fef66bbf73b9ffbcd98659afd4eb7b96bea4ef99a1e303ce550e2842522f512aa2c3316747b1c4a13750a0c984675746278ec157bc3a4839b4d81584d9c03d77d907f4734492f0680eefb998bc917c38934105164abb65cdaab868b3b299b36bca62ca0e5e36c7a88171f6f8dea5de32e5d127331df9a06edaeff600a4780273b58e6eebcb9d5c391f62b908dcd1399264d2bf428df9d861d5bc4955a817d1762c9c70f4558a14a97897c71079c76e737723c3443e90f44b5b5e7b41ec0e8bed64edcce80c56aa3c0a1a5205f40cd4fea68707ebde9e961eefb0ed47a5ab1e21fd7954da403fe6e71369adb3ae2f2f8ab9c20a91b298209c1296af302091ceaba1373b142a22fc323f588757524884c5c3267e1c2f59ed4a01d0964298147f73b7cebdda37edf4643dce2f5b55f14e2c418621419fbe4c16320\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 503bbf0800d6a11442e561278589ea651334def227b19cd636292a6c627d692c52a36a1c526f5810e296831e4c04246cd9d5122e47940a6af708c2e36d7403c5c2b4aff9793daf4ddc6ca12239660477feed36a3cce855c37b46b1c18659cb0f39df01a32ab7f7c4b0a8a2d1f5d2c9bae738a5cf3e1c9399f4e4d9008e87cb143930cf229dfd0f6198787f9cdc80e02d68f34ef7e9e5936aea035f1c3ae67e11f941f70371670039b5a3da37df56ef87e25a3838ad29e9919f1efb2da4", + "34628e80c5f95d5c39e781c3bd4063834aa1ee99c13d09927459cab25cd5020a304d0b3364e9848ba5ce852a841029d42ff4d64208a8a3b65b81ce86f3ad60be21d66c75121d51471a4271e34637cbb2a25e13221a310c376465e6dadcce806429f36564d1b86d6c5cde5611e9257a9ee98c6ec54f09d11e16562cd3dd7316f4e13124e3757d45dafa902a01bf04f9303cb9cf86f23517ede1350832c3768bb94232fd93b5c8c38c4bc61c0ddaaa24c3568c352964a6545c6614d0ffcef6faf658fd0c\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 07585dd3e14468f327f3da7d401e5ad2fed4bc17d3abaed7a88194f3e9a8f3f95e49852baffe3e8f65192d4d946fced70ca2bfaec7e50469678251e08480f32856e60a46bc0bcc974ce01251c555a7553d9f83a3b19cf94bbd7d9ff39fae54bb4fe552adc92c47141aad66fcb0e65ea290022290f8d7944d54c63502c088a0c97acca122cde48305585f162478d44f42ab093f38280d62d29eddfda75c94d1ead34f240e1e2f3cbb747449518ef6d2338d2f65d95df4753652f1ee2cc55ae10cffd2646ab823cd583a7964e1bf5f9830a3b02abf00d314343154823e536d617774ec605db2cccaacde5fb9bbc3d68abef54c6a95a33fbdcd76b5b43638cb2e30cc2131d1fbd5d69461469d33697c034e1795e6eed75fde1b20f7265dccd4dc7ba90df3fed735660cf84142040ceb2887b662aa260e287fbc968d348858c23fa8908c6cb049906ac9065fcf3a755f905e91f2dd08d5af033084c73f705bd0e46fc864c16da6a8746c75e2a53d96830e8861a975458233dae0eaf43084b6da5205\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 31710db409943c4cdef364b0e8f51267d701170ec680130f959713b7d148656733e4276656ff870a9280b594f3ee50e45eef2a023b3ff2d75373000a4ac77daa789cfc438167d17d9007ed6c67ff3fa047f165a561982ef0924bdc2131a84995e9d039935ee53fe58fe226ca21f6f51e62d01e257165a647c475a069db568f8aebc164f87f97036e2d5925dc763a20e4cb3bde4e8af2cf411a9d4ef5d716c4ae2077c3038ac6d59bee603266b877fc7011d3a95535f0c2691687e62f0d82587d8abfda276294685a583bb98895ca62c59be501ab11c914361fc538ea24333d25a30e6e57d07dad4161a459e5fa1fd2c9b08d2d288b3dc5cc44f0eccb736d4e47766df8a124959fe2827457ec8777d8f98852db813c4612afd211ddf37e6e224abed61323718153b1b18f00a046ce99d4545a575461310cec3805edcfe8e72f916d4147a8f5b27115c2585dbba558ce0282feb8c6a5b051d9639b2f21fc061d205b28ee11016aae87e42f0672f85a0fb1acb3ecdec0c271ad4ed895a4f05599d5\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9fcc612583b8a8b1098cb09d1421c725907044804e7d05606b788abecf34e80ec77ea0eebdec6970a947fd56931812357d649dedca5111dd8e1c1ca21545c41cc8c969eab26158001957e7e7f848cb61882ff7182e30f1826600f7aa121ac139fdd4980772707fd912a008cc72c002378b22f72b38bea4fcc309bae438858c5a270a81d31633b3a149093510b0bb885407be1bfa128256faccef43b584390b8db4dadf8c3ee2332abc5c82f1a44aab8a632a13a3b047cc90f4cded328afabce21a61f9c74d3ae209e35fc8a5eacf59495ba4dcd599bc4f282e25527cc3515ca3c6925fbf3e83f8afe37b5f496cee762ff1d5ab58cb06c549a76c181a1c75b60330dac711403e40f5cb934c33d4e2a2ad1944041a2fc6bf9f06a4080f7a4d1b9aadd4579c89657bf4ec6f8cfd74a286b48675e574cc2acbf562312fc9db4561699e45741fa6227576b2fa79031a96a8e5651fdb5685878b715ba913f59abe22ece33a224794d7876b2898910e89d4ffbf2ff95385ad41db3cffcc60bce4019f62\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3bc6b4ddbc152df7fe32559a8327f5de5530046fbc14fee2ad4ff942ddd347719a830983ccdcb93f63e72849330a5cb4f1b0de74f56278ee78ba1fc1891a0f572c7694d3c30bf538deccc7c33c2dc863645927cc3dfcb3709cfedcd00454e26deab05d36a3b410df47f73c24c1e3271114b442f5497515b0b32739cf8fcff86c2ce01e0d79202ce6d36ded2047d007088e1500b1941ff72f00547e15ac52db8b03f4f90582c19fb17360a0355305507003abc367675983fbc522a1bd787b3e3cf3e44683099b7f04cfce3e5af53d87b6a9945ba970a0cd243ac4ae93edae84facab15fa3e3fe0e49a771305851c51f677002fec126ed7801c42bd4b32c4c410bf3be1ff439c6c0659a1faf8264b652f3418ac0dc6adfbf67b2c1725aa4ab3bd36f358a2249b4a1784fc965caf1f9743da75550108c1193c9b7e7650c1ba2ee0497ebc8a44283f1589bce15a5b85c87ff3eab980bbe18ed814d6ee8bb6126dc6eb4166637178836c6d2ec63aa332f6d4494855361b3d51f450452168e4b30808c\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 64cebd7488052ce28e0a3161ac93beb58e73b9f054019095d268681a42acc2c4579cc0bd628a786b052787485243a763c1f880fc19ae41ccfd70f5e7b1b107244e878c318b1142633bb4fe109996273163c093c34e33c9db45d61a9a38dcff55c4375544018f555b4d3b65ce764c449e1056b288c5979475a6ac48a21718385d1704275dc7bd95535c0b351e60b06b6949feaf7e615a41ca111fd390fcc3dd172cd1a3642f3929a61c228f8a35aef4bd9f4fdbadcd1e61aca7c0d2f0acf4003c504d979aa065be42f769810d9bbb515e9f5ed524d388ca22e80a30085a38bfcccc7348f786b04e8d12ddadd51c1a450b11a3a5345363ca789e061068436cdd0e9aa480d1f9fc143f6bfe22a594068399746c49440e958a434e33136a4a120a314f8f617c3d0c856dc442b3ca53809fec686652becfcb803ccea9a216d5109c208c834f31529d051b4c51559ebea0b5305321895789f3d9d0c80e46ea13e5d0979487a3b75ae6d3034c424ed94a609c8eeddbf11e91d8c012459badf75bbdb3fd\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9b38a8f73ceb8ba6700fc87f64ef24e6ab775695508988b773169039dfd35171e8e11619c460f431816a75b7f69fa6938919a773b489c53cad243185cd0e09b5e89caaef999c93d0767c05adc26034da9e45ef4390861ddfae45bc41ce54a6f51759079356db05352c7f217920026f0545e872710ca24c1f7167d9d660ba1188eb42648ba07b88b5a9e7983d49819de25817b0fc8b95c6e3dd639e80dd9f5ecf303b7d9d6f3dc751246c8d9719d537a072ecb581867a7b90c92f91e5b46405040eae38696e84495b1283756e769ee5884fa58bdb2325cb4099354a59e191144810a24f7f2f29bed9277b7a03fac6b22ab9d87bab62aa076ada1bdd762e00d1fa2535ffc3e29e8b15f07c56d7e70d65fd4b8b761cf7dac6850cd25c4e8fc8209dff390186257f0e522a7c4cce9fc2a80147f2af9a99eb860073087566a698d8e74b17a9a197dec5acdfdacde6265d6443adf53aad6774d233e08145f7c9821a0a869bfae87b2e39e392c31cb47351982c1f69d54166d550d251be7e368af8f5f9\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 640765ae60fcdc6e9b81d4846d0aa21779091e45c59e04d5627525926ed5b0a5ed16838903c23c4c53ccdd44f93ddb43ce1a82646c3014bdd5410c155fe72edad7dad7f6b172d4859ceb1774df11064fb60b6c37cadba8cd6744fd69f043fde4680521c82f78af1350ad9f2cb79d5bfd54d39e50e370d3ec2299226e4e86851dd19edd2a3ac1b6f90942219ea805fda80955923265f9abaf086a49a7a242d33fc43c3148eaace6276dc67b5ad428bd3dc5760d2fb2a33ad41fe568c09a89037ce48e91436963504b4fdf1092e3727c4eeb631d1096eec5cbe2ff502577d801e8c363b6c4c51e5c14e263e52ec937f66ca47a38e91ad2a8696cb2d4dddbb1512c6a262f80d95a3c7944a523bf66a5a0e06073b86c47f142a1f632122212b9451aba0e12c987bc5cb891b33719c1272d1c03db0294e09c0ac2cdaba018b7c36b033d96e6a95e9133341efefb4876cdb458f365fc2f8e7ff22b2ac8ee03c27232d405e65070fe0a03b2e1d6a040e78fb872c086a168b6099c26e2f32e88e2ce5875\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 47eed8ea933bc0b1d22529cef51b0fde6c44ca18073b83165a81e417a16fc6742e886ac977a37bc6dd26c8b9a45e86c424881096d34308f3d406260da35b178619cf327d920ffc891740f14882652f922d8501d9b0c0309aef765a769d98536458e0a0e64b4a7b85d4403b66ece5a9778724c12d3d5701a73fa75e61d54ee7f2d92595a626d7041342836b264a6ebcbdbcc30c4a74dd142d5d4b76609ca20e10feb8348880f3848d72a9beeb02cbf9cc11c443ebe2a7dd786f4866e246f0b8b8de911a5581637f11498e4b05b21195520ca1bfb3b08d1ac0a5bec68d4f63c2afde1e31753f038954452145b6d27103d2f3e3852d4b1895e1c567557ec679bff15530638188853d4f0e48794544028d053294999a2068a81e408606373a8c77296a9cc3606c9b8a6fb7b598310371465668d1dd8c1eed0ce5a1b40058ef9b11a40e269168b5b403417c1e1a550dcfb466dee395d00b1e4d8eedbac1a01ee1653cd60ef96e0b31d721a9d035d63708a5a88dd311a73c07fc03b5897c694297d9e1\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 586641b89ba4d44381eba31bd2031fb648175c94f47e7421df974b668875814978e764555f025481bc3df71b736842e13ed75667ab10eff46d60f9168fe4301b08132fbc847b9fa1b77a547b7e0740675b68e6a383b315ab11f6247f7b734be09addd1f209e80b6d98dc60d72f832a0b15a68aa05a03eab165069d6d477db4c2e752faac8c8e54a9d42bc81d22498fbf7b7b41e8c7eb24e9a64cecb444a37ba6b0bb1220220d201ebdcb2f146688d2f82dc9eef5d89cdc861d7bbaf56d296e91d8efa220484c0f54ed1818cf2b63911d5b2b21c5f9beb190c442d1737141bf2096554a289fca342513217a7219ab04b007aefdcc9a03064d01a57e2e955105aff31921fa6bcc02fae9f50fd88efc581917cc9bd7c8e90850dd2bce26ee7a2b60cf3995e71b3943f591d54b47e759ed5a452262a938b8f5b1f57b484f576b6b6c4b0777c7cd742e7561030f4e0c84ad700fcdf40543fcaa560935cf973eb26b54cda6b28e293c987349164adc847d3876a42e8b61bfd6e9fe5c22069de4a8c665\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 6b873d87039fe496cd375aa3aa3901632a1efc96c527948f6d3f083ec041af9183da0fb6d0934337be26fbf947d4fd986d2d0216f02bd", + "994a1b2b052ea00f3d762a1516efe2b0b8c171c647c12b1d0de86f249f94462bb96ac3363e3a791fe68eaf1f385e15260a391a8ba8764c411aac0f7d4f2f71a8856c04f10e5be31be758c0456a1dfa90c9f7bdb5fb03faa5bc128c81af05a56d25a2e8b0589b49823fafb775f8b846921f41f48d0cfaffc2ee5b039cb3f7f3c666bf1353ac34f77def48a33bb8eccb12b4d79bc5479836b17b47e251eb3d8f73eab0dc015d3d26bddd3f2bc1433ba3e136a98f4354dee37a11c47d14ee1c3bb45b2000d4f937282eb0d849c78ae16d5079472991791fefbe99d0aa47b2bcce6ed14d336acbd461dd39a3cd2733352cbf120547b9fdca8418c3ad8a309989c3fa506d486d2dd076251065fd54876268c851d41cd72f28b1446c11b34043d5fe1478a63884a0b013c51c53adfa4a274a162c50d33d33bd58bb99cc978f69e0476a51577fd69678ea209d5\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 7731633ff4bbbfbb7f02024abb12c43197d6992c1c1202ed39d755177524c529fde5d9512a49c150e024d1ec334587ef004caa06381ab7d1bd4015c477da5e07098162cc1f756d0b5fe65d6b80343bfb8d710afa69dfb136971b09a7ccee6443001b834bbd94cbe1c5dd94787fb385687e744b5dc99879d5ed75a8925dfdc0014a480c64d1bf3732fdb1495e1af335c1f8141d03f9dd859a455607ae691a0a9f3232191b7a369c1b5fe634dcda20296c0029931d865004eab1a39bd931a54c934dc4b6c3874362b00bbff2e6b30c5c513e8c20ed63b9e96606994f5219f46ca9af1ee30e9b5c2b4ed74b20b926ca84427fd910ffa0c5368b3bf9a4a4c278b9e335e8c43d1a181af5cd928aca703afc24cee23fd87dc787d73dfee0e80765ec6faa7958ff3b35e70f1fa1812d99c1f23ced1a8c2403eca1e960f317bcb7bbdf8752be3a758df32c403213bd70ed4998174439bcaae4766260f1bbff2af9617af8419a9598738599289b7ce2f5a27c57b5f6a40a29956aae95b5bb45ba08caffe0\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 73f9a2aca0b9fdcbf0a69a3e6c2e802e0fc6b0a32494989e7d1ebdbde6254317edb92a7c975da8e76a6cf4005de7f572eafd48eccfd8109b44ccc5899695517c274f982f1d41160b18caf2a6767ea9e3ccedf1373f37d2256f682ef8900a6df21cd5aab8de2f9fc9db9681246f34019c0a6b98292215156e685b0a65d2d1bc8555b8a27d31209a26236068bb29b7241b660e3f679daf6b25bf98c9746151e13339a20e5d1dbc11b7007971843fdbba12b9fb4c6423b0dd09265f6da03ad01197bb50937e709c21b4a751b60ce3bb5cdf4537b5127f8cf0ac7e6d3007b5f5a96e482f7d7000c83284998656bdb17b63b29f30676c7dbac14d47b507bc3fe7436f52a6f28f468e8c1ec1a751e7e9b9415fc8a2582da5d2c37294b59559860e69afb59ec0868d33f4632ba7cfd32b5bf66761b2abe326c87ac9543d5b63ac081ae92245a840c0f2e474cfb0c5bb6416b288f65ab5c50ec3a49ff1dcb66f68221c4101698757e7cd7e28c017e71896fc73b67a6e5656a2354ccb1f35fc99b8f6636b\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 4469822cdb3c1fe53433001d64fb72128c477e7376e1e6baaa324fe275fd7c8bbedd186b57cc4e8f48d7453086e911c284a69623100524ad3d2104a25fe226845a45e5b9a0c986e443d89cc2458cacd9de6598087e07cd2bce47d8aaf4ff656ba439d7a680da2fe3464300a6eeeca1b9a8dfb6ff55408690e06b5a148485f50ecc1b2eb629c22831e19ccb6c074d78cab3d073ef4823d9a2ac492ed05af14ec9466f58ebc4be5e43769a6118ed2922c45c17b92df13fe872f046061d0a841f8baff6186fb9500fb7663c1597e5345b857ca8e9218cc1fc6ef40ee2a0297c5dd757a9967bbf2ed97dad0611aa3f88006b4c26323730b258bcb5cc401ac8ae52c304d340d6e32944aa65a4714655d930c038a03ef94eda4aeed3d5485c4059c014ef90029d1674edb6805a20c8fb68e55aacea705d06d8d88aa747d8e3d14b9ce72c00e760fda4f5f34640a43f331d0366ad61364a98c1a897d32c087ae038aee593bc3ba74f474e06af53109b2ed750c9049782af970e77f0478174b6c8e7e259\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 04416f1cc2f441bdc8f3b4ac16e1ca9fd8d36776bca1d5c8981123e0e76d6a6bb3db4592935ad661755931c23f6330411d592c51054aa898862adcae51ed87499acec4ab1a98f3d37c456c8eb02f8847c25cf31b68b135c33d051440d405e76df02bfdf20539f29134ea09659eba51971fd3d5e0b602592c37e4250e0a7633ce07233f3e2dba369e1ca82d001c309b641d6307f696bdf685666581c1ca92f416471f029d46744c2ddccc3fc7585600cb819a7386fe23b6a18b77dd59c7c2335594c8b2b0d707766658573b3bb056777f6e06c1e8feae6b83345b03db9183de96d08f085c429cfe3ba2ff6a8eb0b025bb4e316ca3985686eb8e6295b3306a62eff35f29c0324e582592b8f29f9797f5d4a26342c103f9f61968cc283210efa221c7d590a4863a84d3befc1e4c991a19d00b2a4e49241af116ffe1ae3bf7401abf0e0321307d9c3b0fbacd28c22d8ff2fb51d5f526e982b975f0ba3b8c7944f13dff530533c09c66e66fda505d90d24b77c2d302eabce7e921a80ec3c3405331f5\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 1e7c69c23f692e22292cfb817c0a0bb60bd7550b6aff981e6aeb6ef7b2338646a3a1ab91917a590fbcd0cb142f724c638c5ba91dff9ae358823a749054f147b1045c53eff9190e2f945963b6783c729d7eb0fb9a9b06d18d04fc5695501a93627eabc5d04383456469aef45b634ec3694824d69816e6653a13a0503f6489dc42210396738e4c500c841fa08a7df20eeb18be5e05f18fe23a78813f190ebb921bdccdfda37477cbfe54f574f922ad7db9f566d0fb7cb3686e335b4d70f246dae458848a41a72f7aa702f54b54dd2612b21946d63c398e7024c3a23e8010b3c22dac1d610b1ec0a76f7d9cd87369b0ac768db470ae002835cf48040e659467e340c2363d345ef4153cfaa9d5ebdb5d60be138d34fd7a36aad4ca7da5b46f7821a47114031688fa3658e08c64cb670a58c0fae36b8a19a1a3e8dbc88b5532cbbb044ef90fe24b842eacb5ef1895c1a92cf1fbb5afaa63a62010e939f72b56c6006eb977627ef62542f5085d15c53b1a235b420ce4eaa85f7fc6656d5474ff87fe99\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 6ffa54da77609087fd60bb517346a1813954bfc9fa43d1d9543613d02eec6ea3b64bbde3fa067271e56d96a9699b00d9da06f0a71e678b54801be474c15f717fcb42c53eae17ecc84bdb07bc286c37549b06530a145aca253347d39b01953f483329ede5a309e41ae39ab881052944bce75fdaf1c54605a9bb2de43d323cf59f029dc95f2f931e8a86bac79979e5eac2b41279b06c697f81d9a56858a5999e97c228b37622ff0ff20a8a0a4ad83c0fda687ac3a88f71c1deb17bddf789e491f7ca0462693cee4a6ad0f5fe53cd51d257d10aeb66741fd5e4f306d0a886dc63a524bb4ceb1dc99b4e356dd7123c0100abd8382e659ce4bed568e122052b7c78ad4d3c7f2863b5d7fc91dd099b824df381090dd9b401494a939a1bb7a6c718a36916fa0f2f3d27a998a9324547f64e68688ba6d3b948fb1f310908eabb9385fdd7d3a9a0d57a5801863100a5a01a3cd6b09955f6fc67867a8eaec817c3ce7f892a5d6af0015abb4946d3880e9e14b550ae87e3716c9c01ceae5ec20ba252809e63\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3290aa822208aaf760449fa0c88ee9b6135d65ab391b97354f95682052df59a4c3f2187d6e15b563db2b8ad1c48c29945603d7a7b44fefefd642f51aab0034ce6f0ff1cbdd8ced3236bcc149b84132666982d83ddd23cfb5cd21891e927a523b21ab655b8b7d041482a16e7f722246a77542543a11e5b4abfffe8080e67a6f1b4e716ca8a9acdf67d499296d7d7c2193ee7003a9e563bce01f9e363dbe33a1a8dc45cfe37e0eb454809e52f84b682a736b8fc24bbe64f3828c88379a0ed639fb2b650d38321d3db534265b3cf32f8d8475296e0ab33a01c914f294af103be99a102c16c460fd79ad8abe689903f945325f1560b252693f52eb6f6f4a09685d9579b1dc99cbc2eaaf8b039176699337d6e2e4dc2ce1d34a29f71cf01744f74c7ffd0765663bb3e9dd95860618350376d3f39c805e577d01107f06b4efd2e399b261b555789507a7e4b11f26a19bac5d2d723dcf409f9f0c44be400d250235549ebf266fd02c699d45847614848ab73f4851f3c57181392212448c022f6e0303b8\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7aba2179e63901af10b592252fd681f0df0d83a6a09f727c0446a642a25c4920041395e49886c8c78ff324c3476c7cd052315b91a16d24fed9016f829ba00e0b075158edb164ee03cc691b21d18467776ce0b2353240676cbb72643801cd2c87b0d45b6516a795ac72f4dc93116a5433cc0a2dc5d08e4993eb67fb937d5febe9a7cdad58b9cb57627d9a2b038445a9c8e6f79bfaf35ee057e7c113003e9b54913e4152b1b7513feed12be9d84e87ed9a5ebc1a18e60f63241803856eaca8bf0b648d9c1732573fec56c0e9f11bf0650ab0b3773519f248150419e6184f049841cf736205cd44cb0b2bdaa0421c9287bf5b60b1a703b8519ffb408c25f3f2ff0f6665abfc5d1d5541895fe453f5c29245e7ba58bbe11bf440ec4ed7b7298a2ba12fdaaaa775c34562fb640a6a63b36c74d8fa69adce790e12c2ec4285dadd029bbabf1117b425eee862330a3d52d8a362186644b31bfba6d7d322a49014744e466911578a5cc602c0066419d418a8d057fa280e2798d5f651e4e982068105adcc\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 555fc83ce658ccdcfe3751aaca06e58ca3860e2bb9d9bf9e1a6a83da94c9a83103afe196d421acabc488a0a296747d73e492cebd68d719a7c56cec53fcd1a21737adcbfddc0447c553aa5d3998bd9f58155c4857036808a9144f12d1fae029d541ec44722eb7dcfd544eb71aec72309b9671606502c183d12c452f37c906419664d2f96ecabbcf389e1ff1ddf5bc9233426e20a42188a4ee8d6f86e9085bc6c36178ec958bcaaa0ba07281be4c9c450570794104848d5b5f529492cc663b7255018e6debf6e6f5962ba6498ac2f3eb5cf5bda84e36979ef079c2bbcdb614bfb5ca9ce86a2a0449f2abc4d4c30ce432382711e621b00e85da71987e04359a879bbc2731a20268d15aabf3537bad25a2e2f0614955b6a689f6fecc1ec846466e24f33b59d3eb9da06f4e90a20c798f11d53b19255cf749a92af0e6ea0783", + "48fd5ff795c04c3a1768f8f6f9f00877424ce0887eb8572dd992e6b57e00b144f59b46ab1b364e76ad69a6ba0b3fe4a22986a185fb7ea704e613763935c6958ffea4cc\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 44b0b41e209070c6f8a19505c7f5bd4c99d86d37de28a95edf8b430dd851eaf9d282f206d14a6a7fd29d3ca953e1a9b45a72ea871b02b2c055a1e6c845719c9530d3ff644065876340408de2aec8b0444c4f9c1115a1a8533f202f918322e01a180abd0d5f679b2b31622fb3972b480ba1aff7d01bd4ee6a44d4ae860c6f36710819f17b622c62c3557913900ea3d681c76e58ef7af7df34d498a4917ef66a6c04b4c0e09b6c70148c1dc083546969a8b4a62f8123f8ec83cb2f359e5ccc7dd4d5fff790d1940196c5495c9d3bba3bc320b14dcb7870b3b8972777eb96ef621f7c30e66225006eda4c5c438bcb996d0de3aef122a6130ed9257f3c7bdd2c048c8741f21583aa1ee0fe3f9338864a91a726988d6d0cff2b2923e8ea0d06fff6c813bb6d5202a90f287b5aa9cdccadf3135ceeb94c02146b6c6a852c67ef91dfe1c2fcb1ef08953bf911866185ff402604c976a0a8af052816a4c8570cfd3794bc273495b5b2bfa27c629084fa6bbab06ed87204a5bd22530ca947098e58738a01\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 93829d94d3153fae20e23e9c5543b64382c3b88fafefda8ecf55fa4dfa4003848bd543f49e7fbfc5ac9b76b347af44774c350776ef02ab3ad9e0f42849cd457b840e0c7b3e9ba419d3ef71961daf4bb637bf8393cd965588019e9ad73fa8c4d2478470c21e5a199196842c15891abfae4fe0296681f5ddca70838f01003ac380d5d8d6db2b5871b14bd20937bf7919dd7ff24a4e4ce14ceef989309de1c53b94ab89feaa567e140005bea8bc411bc24924c486a6819b45ca681e48148beb8997409049e3f1c09ba6fee22fdaadb25044a3bf360f0d29656ebbcddebc0f97129d02d7a155d27c077929dba148efbaec4f2cb776aa8daa14de00b3310922f668fa8881d28e6078299a40770a014157dbb74f242ff0a4dac31da3bffdf850eb7beaba2ec8116d978ffedc2330ba41e8c489e18e1702a3c3845f7a308f43033f1fc7549ddc30509f768be92540372b423a73793890d99b1eda8ca6e6cf4eba1229ed264368a7bbc4ac9412d9b07ce3ea6577e8e44fba010ac863d6d58927757badd9\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 226bb0ee3730072becec171cd12aef240c91ed58e9c2d23b325738575627d5296826403f1f789a7f9d9f285f4372ece003c3bc7e9c31c75e74192e95c1a71b1d67881a8c425b641fd510fd67e522e2588e6b7ded5a454234b8032291345199431f0c08c630e8bc524a352700f2a19d7e25f1229cf4c1e59f2a225e977497678d0594f693009ed970acef791be7181fc67a5b3817ac82448c064f2afd9654fcb8606b4a94099ef11ddbd9705622159f90d165accd894e753cfc134fdcc22004f3d6c271c44ae4958de5d3d0232c08acf03ff543368cb192326ded21b52ec0118e394921fdb335d37121d5c4a33c2370804f5795c26f7bcbb970bc4f5ec740c10f13247181d7ea339cd391318e548a73135979f07a7449acf5184126779a625540eb9220c4126a9561ca3389d5ac2378620674228c7587dc78e7aa6c9fa2ecd1e5eaa37e43a2d79073a20de7c0b21517350b4a1b459372d2fb6acb0504616da893c4a4cd8737c9c7881ed963b36e7e6e2318b9c5f18964308f8932dc7b1ac65436\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 37496eaba06154a08cecd1a768808dfa1516c02105a4317e1e941d967b7160cf9bbe7912b2046db71a0cabe8629f8ed197f17814418d62e616cb10705e662d81775208aa7c272ce40b598c9a846c698532ac967d9aeb610e0033c2ea9d3185b3a549260c1a4a0ed56b10bb7da328c68c70ea058c821e29532bfe3031258d7c61b3ead7ffe4e1c4265dd6ad337e68ec7954c329c3285c80921fe067d072bc8e821dfb6e6d1a7d4354abbaf006eff47d9ab1325a4594d077c9ff20134383c4399e9d99c71b6a00f604d0b2c116cac0fbef037dea83ecc0a3168213b8d6b50a140a55d9d2be409989f7bf29bffdfbb6ee659fe1435438d48978b83529212d706a923d4f194c52c6fe54866fbaf0e8063bc9cdcb283ba9a1269d26010d155085d3fe82734de844a8873212ddf2f5369838aaec95fc7903b788190091c45d90393d929fdfb2eb83cd7300d5f89dfc605aca329a616650760eff74cbf697f6333acff478177c8c38264b4ff0a7f335f9beac0b47d3ae42b2d8be49c0cbb75eb4e39cb3\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 27c9de67db99c0490f34b5af2a0494c4888c8b02963fcf931be580faf9a01253c0da3bad70560f7b08eb3ad52989792fc0dcbe0d07ed0849f8a4bb424343997ae049a7552c3719e2f64d2c708df63ee1556b5b8c47b4109f5d534668a2e77b0437c673dae230b3b96129aaba91980f56daf496b2c64b4c11e890af9874e70c497ff2bda8bd70066423536a1044dd84f5d7f842bed546c03ec38fe20eddec53796ee8826de6db5e10dec144ea04893433b7c5387a413709676288b2219befd64bde0539ac32dcace2fff8dd5545c99ec4be8ebbd1e7520020c4c22107c39a13db2b5f692482456250b061d8d82943e0f73ccdb7728c26142540aaebdac04df32c65e6a823de3700d959ea54c5204951b9ba8908c18977b7f15bc89c9596d2eb5265ae1df05cdeca220f5d1b3936f5c346291e37a0b3c68d9867190f7484beb04c2c4c121f53fafbc567e88e99509fe11352cda2569001c8af02bd68b801e745711a3d7dc132e331b24398dbb08e1103a1a7d8b970227434eca6adb5400aa58305\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 0fdc88f00e546f7cc63269cb15743bbfc025b9321c258df25e605a8a69a133a3a765bbeb6481de0bef05a39d071a425b0332fb06ffbc5724ffccdc3bb44e63e91752e96448f4eda2f3c5efb60a0d33602486aa34e6fb0fc92ea5d97b8840f93e688ab20f12f16b14071c0d87fbf83a5f10518ebb6da3b0a5041a6686f73a696ae6db2f1ac1321929497287aa281721f290d9d612e5d68b7ec5941f46802fa504bd810eeb3178081e0826b88177014a4f80df92a5b766d940c1ad9f3d0c79ed0587c0a97e59d0a3c2ee3cc573251c744f343638795c2181d9dce5b9c47fc1df0f784691d115639362aa49033b337aa2debc909f64dbf975a4a12f14ad52be2fdb4815b04cfbca6f47de56caca0ba3c4e7b211dfcece5a96570109b8a303786ae4b8d400a3fee11a05bc3de55256635d66cb314512331cd2c3d63a6ae7f9a0b1a9e5517265e8e536a6086c9270609afcb48459c75976063cadefe87e0bc02aa84473373ea4c369145631f510640f21c0a105e26216b06917820530100b59ca9c1f\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 213fe8704eb681efd4bcb42bbede075c4f60f65a48eef3740abe24ca170115c0d7a653bef8d1f9be11d32623825b77aaea42595d97355b31e8a993452a16b3873e8ca426a45968d637ceaea264f3ccc2baa93bfda5745aaa03da3e2fbaa99b2b9460a413bc55d18365ceb29b3b0457bf272587c561f1ceee33cc44a968bcbb7a0ef2ef88f843d6a9414c0555c44fb4fc035f59dfd65be5ce81f5d532f817bca2294fd750ce47b656694241146ed5d82f3cadccaaaa6b0dfedf761519234f7c80bd9197a8ed4b209343fcf7765ec922637c7de6fabcd92cb2a0b4f8563f75c83fa0f6097e4794e377def3166976212a8b49fc021c0a66358e7a0c1f4158dc74247bc81ed4edd048af0c44538a9efb548010f612263f716dd6e0405cc1d1e3b9b18db849f5fd2f1c1386e687daa5b091b595861d81694af3cd62343a32ade113c935aaa57041ed137d7c677ce8ed2954eb3c55812e3a2b1948e1a435c46e0233c77d80813f23649ac1d904ea3c050252c5c62deeb462c6571efd5f08e041004197\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 012ce6406d457b7b55c0f77d140d4318abb425d13f285cb5f50f43690dd6a8afbf4b876a751fab263d0935d78f2dc01d885562050239d9cb849b497dc95a576810f930af1bcaf92ca6020de27d8cf4faf1e54dfb6a5ec666ae542a1583526b2d58c59bbbe042f3397d97021ed8fad1df1dcf7f6f9978a3f0645a02fef83edb42a7ec85beca2217c323a001e13d845332a272a5e00eed1a9b0ac29b45c5734e57c016c34e52b8695d32289b993581e4aa4c4254c6340b8311dbfd85486745c62394d929c15e990ae334175de99480ebc6b9e395842df806699ed326aab550ca47af93fa9133f4c4aba0d605e6f8ebc271f672b23c8934c15ae54d8e74a02e0be90e221dff74a9c17b3f013f8c0980b62747f120c046d69b3a43660f2a5798423e02b047795b07ed44f5d71e3bdddc2a1e7d7fec3d745b6a14092276d2253f92c48433f8f628e2cba8c626f3a4d7d51e4ff049d5e4fc3b27b8dfcfe75d38b95e5a88c2d7a0daf192688e5c0d97f795ca446f81496d29317b4dc5968548a106effe\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 4f93bd8130c780bbc695c07e7c83c7131d4ad16cbb1efb1cfffff1c934dee9b2261ce189ee19bc0b94bd22ab01a21194512ca5ed4ad50f53fb6e577560889909fb5668bb70433466542b4509510d5f7c01b31f18e233aed157011643dadb205abcb5e82b79be7d66925c15b5a6fc0ea40145eebcb0a0fdb233a3f8d56a846cad59af29026aecb8dc7e36a5e7de648801921cb0b498fd76640494f396f07ef5d1ea8eaf3bc1ea6b92e5f92b931e7bd9fcbc9b46376f06f3bfa44fc12a5a1a62e23a2ef921638653074b8ce58845e18dbb5780e51a7eaaa14acf05e92f8c5b7b2e2a0f640db1662b0b4992171a5d69d0bc0dd9a2c8a317b268ec4672f2c6a46c4300be051b424fa904b3165cadeb5a443c54513f759a0530b04b955e81d6ddbc8a972e4e2d9092eed025a6d25226f0445e693ce9c5d21f9f53b411c07d68d6614cded03b8df580ec128fb600fc66760538c55a023b2f89f59d0f56c6e716a7289f268e2794527edadab8bf359e6c00bae5f8f0ff61712fa33afdb4bc0c964054c7\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 1a19d23e9e200924e751b01b520ba6321b3f2301647ea667d1adfca563334038136d2779120cdb2301df3165c508c4a64c8407cc6792e0f3332d0b4ff4b1f9c905fdee8b0c0ab6f5fb4f67d3cca6cd90a0fa0d54071efb45f6ef1f155e232a2aa67c", + "de2d7d392e05cc5d2fb49b6ce9d628722a16d2f5aed54e50ec01cbdb75cbf0c9923954ba1d3dfba1bcfe5428345321001ef0ca32d2cf70194a752c092c5d1095f90868ddc389c28938726e1a0000b4d1d8aba7b1ed78475c486f7e1e08cad2e5cda63f25ae05380902ed81ad172c01f01538b5e1e3aca49bf3abb7e3408736036ef14a2273edeba019c20fe5c6af066810debb8b76d98283e717b91caaa5db49917880518523e1ab7272afdcaa24ae4a03019bd4d9885fe1844079c7c55a44a2f06e40d87283a5677cec08f384c47e138edf434f1c52edde198230c3b64011de7482fa1f938ff6c4e1a66fbfbf13565e876ee1563a5862ffc13a1885e20bdc3ce6e34bf8331bfe17773f331b708dce7ed74d96fcf94dac411de53220951a\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 04f1bd2b132945662836f27a7236f15c357db02f39db46d902c1c9378a43f9a07c01e23304710d531aeb762070d80c64720801f86f5a2354d146d9b64927f95e541a530b5d20dcf94d6fea56a9646fc610741575cc87e68f43220566003baee8c6fe0ad8cb1bd1c3257d18c39ee05bce7f30750996486ec0069127e49f6aca963bab8892932607507059c444ad917e74ef7fb55c50d6e379b698bde71d116a5bb43f039edf944479122dd660d88187418db1c09c5ebd7e6e35ee78f32f863a19fdcd6245d6d3fbf9a13d9fca7593826715555030f67fbed499b400012852db9c1f4e12e0d88e781c114551d2261b016fd5c920c89ba83f76ae89f92f7693e2e25f625168ee4a153660373d2a29ce7d38139d1f6fb31a93aa4d887801fb44d4a2f586533844bb3abb5761e68f5922ba371d2d9c6db28d36dca63f549730ba90f19eabe8d4f57014af0b0063a340785ccbff6860d1794422ca6d83857f7f3c067d26b2d24a493bd3c13ef0970872941e6ae2c3ef79f4463087dd25a9baa57e3f03\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 279b3950ec796bfdd55acc8eb0d9c0ef9f209a61ac6c72a3adfc5c11264d84fdac10572e040cc7d694e50c73f8fa5e3ea6edd9b4d181fade7b5fcaf654947bf67ec5922e90f309597763a8901c3ac5ca4f474bf846d5f0887e4a069b6888f00b8ab10fd606c14d4e7f56e3184d171b8848d0c03f9cc0e33e05bbd1e0f40f15a750a802009192b9e3fdd72b1a242194e80110b5ad6f444c2022a5ca2afe8892a152c71cdecef6d33539913956c8ed85580b7bd077072bf0042f5a9ef6544781ad9d4ecdbe5c5d3220ae270826d355efcd13d4221dccb26bc458ccf8321fbc5b9997cd6dbe3b1d8712a262f9e8b15ecbcf1e2243ee3415a9eb7f6126bcf8f7c821b42f9e6a8dbcd7775fbe854b9bdc831f0b416ff0cdd9170774bf4b9b7c17002273fa72d9cae5144c348a86aec7583f81b222a1d8f17cd2e21f9aa4a29c7e8905330b63043594e62fa06f4c6708efa56ad5929eab8599505dc3daa2b55bc6a1b1ec25d6c5b01b277f98d6c7d65cd5450a68ae83ec79fcc519264eba6e69916103\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 960dda2c209de569a1740bd07a71e20476bf66eb192c6207f36a6188f4149da7d47624fb8ea0cc7eec4e9529a479f2822051551c9155670dcc3c8f889c2f3111373f562ac55131ad9e61dc4471ac96ec8f43184ada3112cb1f9e42cb734d85291b282b64c87bcdee549a3efbc79fbce13543b9b8da93883c4d997ec037ca10c5299225d8fc4e3d6e8f91015403d29ead6dab703635f7d82784f89ff5c55e873e5bc11c7579205c0ee6cd6b3cb644075c71738cb5ae2f19673c15f6d17163905df998d659492a40ebfc9b29583281705acf93eaec006f01feba6de073512af10428c2f0c53533129b37068004278503449dee77414d1c52f81f8c39b7100e86b51ca57d03566121885be87dea6b35c9dd5e165c3d10b59e3d5dce19b9c284df33a6431a87d844580b9c39d5c8c777f76ef36428ae34d019ad1b545b323c643e7c0f46529c241fb34ae7e116d62a194c18bd02c2a44229409a48cf8ef99da2bea86788d00360a3ddc3244995ef21cd7c32c6756a5d301f817c189dff3b9c47e351\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 592b9218b580bf8a8d697769c588567157e106d59a8309fcc6efa858733e38bc3f45d6b762022c5463da73366f2f6cc333b6de44e807c2acb3c69dc3d1c739adea3fefa81ebdaa8a276a0d03f55416eb69ab32642434b55ef1854c183889d4f17c952c507308be7a8bc27af3333736b28842538e55a2cba66369a80fe12a8072ee99e398f2c3b23a4a161977c56c4947cf36d2067572373f85f0de625978700d9eef1fbdb6c79889bc2d90a5a97432da51cac57d69b142e8566584e914f74b74237f06e0b94ac00d76120818b0898800c182720bdbc11ef55e753276fbeb10a7dcff7f2115ef204a2ce606f093b924996a245f939ee2c971e02559eaba64191e25a0ff74e7a96a787c9b60021b02de75ed1ed3adcc9ea24c4ecf9ae0010a7d91db406c48992be7c6bd694e75fca42c58ed76d084e4574cd03f87cce4c399bfc0516abf7443842e53900f828ae660a527045c81da0b067a3507f74d6ff4b140ee992340d3db3eb2020f5af3ccf0455a1c54188b4edf55a14e678e7e12adf054a6\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 82a8b93a19af90591e212559a93b99a591663f81c1d800d646db7b4a001bd569b06b05556057615629984b7f48009d955d84dfb9c0c4a7ae90c001310a0309b6f9d370add6ef038ef150cdfa6524043748d16d17866c9bd9b1eb58a70cebeb86a5a2ba7337dcbb88023becb7b526f82c5f6abfbc822c68ab0f049c54aee4c49fedcd03b10b4dc708b67ee70d476150c85f3af05f45170e9645cbbf3d5722612cb3424652a2f9ed1157ebae2ab627dc71dab539a5d3d4cfbbc7bcafbf71ac4535de96a47ea33553b76482f7bd7520f12dc9f5bc161759885a8ce244cdd01eddf328c518849c3cb5d8748dc4e9b9983b7c1fa4338c8097be273daae2b6fbd5c713930005bab58ab8c8527438ed21612f75e088bd97b5eadfaefc68a4f12a99165d7c6f61e4de6f3c22ddf84e50643ed41e99e5414c37a696c0a5fcefb3d8c03d9437402e5d6fb6b9631569dd2ced972a69e710b3b6e18419c9a4af401a242705f23d66cb61ea1e275eeaa2bf5700147142a0bf099d5ca426a7ea65399cd5bdf2a8\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1423b1ab0964b6dd977c227648fcfc29a9c2f3c06909319b0629c6234ab9aa5cad3500b24a71405e7d8c299fa0f6d55aa709e321c712ad1eb6e32e7991f29be7dd116b0054ab4ccc29bac302b24e904c9a13a64dd95edde18edecc7fe60445595424b765cacd8d8071a01d45b6d38d5bd8321b14bcb2e9a3243815a9e6b23d24bb78c3bedf88b93af23c5b70d5ffd9d4e92578018196dc6447b1fea1a6752eb2dbe0d5b42313b7f5a3695078eb2ab251367eccb4ab64181621cadf7c92f8630a5d62500c306e2f9d213926bf75343179e2faaaadbd18c6c3e7856cbe4644337ef412b190819b33c1ec01e7ea371c0dbb03884436a45077b9e05f6d5dc260b9aae341d96820073dce8d02924c2395e0bb977f3245aa019650744f1fb16dff1986d43f99a27411013da06b425da98184ca8dd86b5ac83b8b1aaf71c0769722f1a1e8e49ee664271317c840fc8068eb5ecbffeed99199ec89a1c459aa923170b0dc0a9102a991859100a4cd3b9b7c73cf86303516379ef5221af13f3f1651b4d9a6\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4c5409386930fa979633663e2e623dd687cfb608a3d2bd764df29540793ecc9362dbeedbf143bbdaea63ebb01ddedbba5c25c35bb55b74ce422a308f4ca7b76988eb781be4f9229bb4601800f99733098a1143e37de19fe0e4b6874c3c7e534ab1d62df42bd48bf6ce75c59400fc31c0d305c1217a3b225f0013bd46d34cba9982700fe7e1c1683c2177fa0f687b5f8d2a7283e122fb1aa0ee1bef057355a7aee117dda07ce79ea8604577473b64ad5e3ed093833fd0c7c496b67a2933edc5aaa550452bbee14d4f6c5c6e6f254faff6ab5bb96a06de99151936df691593c964d91ce1679fa3b55e26be7ea52993a25f67a4595c75c952174d1a6e79cf9f3e0625b7173481b840a8368a9bf45ea16a8f2320ae3b65dd6c654905cff5be15c390cdcad6c142e537f356ed6a5374a3e5b1d17f802f3dee2c1a9cd9230c72160ad5d9c376dfad8c5d39a52ebbbf5161b9cb1e70009a107fd214631c324148ec85ef6d438b98e3df7135ae1a7b052ab02c94a261af7155441751aef19bdd3c1c32ea\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2aba17783c5e5ac85a1ecf3a76d74435aa6a686c2ceb34517452aa4436c7e961da24aac9e45d8c45ec7edde6e6ab05f1b5496c81ec5c0c47de5d3e490317381cc3619af4b6361c74ecfe9bf8ccb0a717cff26abfa5ec032ae46e6b358761b48993a90c56216c5b6ee91399e29bc1f5b605576f7420505b3beeb7c519a0cf5cb1e198b5de6d737093e12a826707ac009fa4585e777509f11d677f7bf069bebf0f0e555f47a1cd0baf36263bc1fc7e28dda83cbbb640573ea4b0762765180eb861ec6505317025895a89f1e1e4511ef8bcc46bf34974e083b251e2716ec298026cbaba3a2f392bc35b17c8415592c1f496844b20bc505ccdd3d4cbe2fdbc3730f3e54cff67653dc4318790208d825dc45394267e4ffc01f0e071615caae13349889b35e1a8d7dcb83b6402f69f9f1577b8687c2d4bea97240cee41b0b90349d19466fcf752032d395cca317380c6fe665595c4073951f1b0b42d8b50c91269bede7787c30b79e80cbe1740321a6abd8c0480394511e57a619ee80c132b7da6ce9a\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 960143a34171a7d6d303878c23aac9d7ccd8b9218a5d84edf0c0956c22d1263debdb5a08cf890e341836f94760135cce793b0b8fcf7c062ddb8661befee62cd790294e345efdffde7c26ddd9dc6d3a3adb0c6efecbfddd9e382c1d788ea9b00c5d2d0f8964c241657bd1c9f82fdf3e4b15452df6e2f7e46faeb34272573936934703dd1583efb419e6c03ff4f5d6ea1d7f1827528604729f1de24721900f3d3ec07237f4cde6846c12ce1b54a06624a3fc90254e3cf72ad26e8223159177376688d1e1e79f800b2f1de811b29c90cacbcbbae8421a34c74c4b0de29ab1e3b6f76e1188d700d8a55a490386073ad1b57898775442e53a78b1e4c9faeb9c15cfd0b735d97d459b11fd11916f6840c86a9eb446c3f4f1f41f62370a7eb9a1bbbfbc0e6098eedeaabb8bea2791a4aeba2443bde74a2bd10de0bbdcda4ffd062c2cd346376d33e540d1667f90b378ef663b5a84c927e", + "3ee41b01aa2c133ca07cf43eccc33058cf4c0e2a66ae9129e14c57f01f254c40470dd6751304641730f9aa3d1\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 089a64c082a7db8c5768ca9daa426c446cb5015da417f98de000b4112e0b71a4641071759e96f1a0cf35d60d0c5e7a6190f288233acf9637c0dbf95da1b9a0fc9a6b7d602cb60e82fb03f67e8114d1d596ce637d78a33e176ddcd2a1376104b3dffe09abfd71acfdda66d590c1ef862f35afdb840efb79e8b976c5459a2d8b43cbed8262efd19d2e287a14bdfc5a28a221e94056eaf1b7e1ce382046723d08c4cb761f4ecab57ebe3e24ea1f8d099f67e5a3d57369520e2b1ba993ebe3bc0ec28e68b7d15694b5454953cb5aaf99c835a01a0c5307bb57fb95a2938c54fbc3e7f8ec687f049744fc5f9022e9a93f80f0be2eede75fb7a62d9440df8b5b803e94c9bda66d0a44d7c832fddfb41158128c001c37db31248d6dae5393599ac5297eb13f63ee10ca6e575294589f805c5eadfe16e5da1da78806016c11534ce510a8f7b76c0eb98bb87b90f5ad94e4a9b452e092d9491a0714fa02711fc7b6740d4d7fd49e51dfac1095d300736696d462bc0d796f6d0a837cd7e515e0c631781297\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 519a4136764dd2a4d09b18e665b233a48a2aa306abb87fb5df1c6020e3cfe8cd85782b9244bbcd436a05eb9f1652fca28b1c8838625b978b6b22e1b86119ce80dec263bada9bd56dd9b7d7227b88511ad83042ba30f1be7159b157ec95b01531bbefbc6c392406ca6b6ea79480072443d921d71dd5e1d583cb86763efeede98d4a46eab1418c64ef929e37b410003bcfae882d66a6e97db80844747bc632cbcb0d38d2a6970b6272db4141cb8c8ebe3236e947848b276530cd76a56ae44279311ae2c0fac018e2b2d930c563068ab154e90f438899510b98d17a256b0411aec17352b137437176c7331b0b315a7eb764fbb7ccf7614b4185907d24063d1fdce8936c1a1ac13101ff7144280784b361eabbcc37f69252010c5c6310f70cde6e3ea89bcb4d7fd0e79018414e5fd3aa00f2c8e6e9febbbc4c02a0c6d794ba6f15038a66771cae6dc876add5dd2338b806d82a18d9ac1f6ae57c5b748ec3111fb56d6cd992b4c80e128434f8b8fc9025b2a21d062dcefa75566c242118b2b0619fce\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 08e480b9d4324d10ea855e1a0b2a4446370a7a1f3d6565697f8c5b2a5ddb360deab67b0a5c75cf9dd491fb0ba6402b702afb22ff9c4f7daf26fa413323259e15f392393c24fbd2fb9f3008e64a775838d6ff66c68dbce260ee2d0b78b29a0da9d0d6d547193c88c6b04c6059223a68e35329e585911c5a2d7bd6fc4cd89945eede5e3be3f6fd54799e217e1708745634ad06cd103f24fb2cabd07a1d66545e0f641301d8503af94e4b176908254d1fac4cfbf6c227a518f13818e22ff7d5f12f03be7531ee3060f47377f2f0db528d69e6ba436d08a4c034fb23084cf71dd819ac199a4b159aba6a3f3f74733f5e9fdfa9f5af5b7746863ba70ff63a83dd4ad80573747b70173b32d67cfe3d6c44fd3b1071175c77c0353586760c8d6d7d0cd60cca68ca049ae1321d39735be3a71e7654841191bb8953ca6f6677a7a864520402e5ecadce5f0a20f615dfca01786b01e7e81a0a3987f4d1204a8b619867546b41069195f22a9fc0659543bc705ec08e011f5852852eb0a07c670b2b638c19a8\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c63c21d6e29a08a6f0edb1958f53b593a26124bcc2d57803bafd7a60404eed22efcda07a7bd8cba1946a488fd7078e807f68d2cf780b5c96ac7fe65c3e975b9274bb9bc1a79205d84d9cc96edad9641a58861efc058d425e07810b721c3106d055084f0711f2fdee8d1b18a8692d13583e502f74b65c909917b4684e4cc6a633e635b24c8be249716f8b86570b5ddeeb98e872c5403917b0ee18d27455ff0c5206bca624ca4b610294cbfdb438279929c4761df942f73dc1d544a7ed8bc2df10ca44d0c7802e3249127a086a209b2c5cc10bccf52a447feb24cb37c4bb332bb414e62e1acc0ba043e160bde9d8e3ad8167d89d1dceed4156fc0c0093f06f4c7f782a78f58328b2f86e8e04ffa94f9fcd90757fca13782bd08a6d3cde56476cd3ca431169534fd855fd9553455385abbd5559a47c1e4c86acf455ca21756a4a5310fef5e2cceff9fd637c0f03bf409788073285c8c0f56acd4f1635b0e21b84e32ba7abf95d3296d52bcbaee4ef4a43437227ebc694d462ca06eb886e7251893\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 03ed6a107120a2655098e12efaf80bbabb69ecb43632a42fbabe0bfc44d1f0f35b7058da628909fd2427781e470eb1b14c94355fda9bf5bfb47671706a41e5174c6547a266e7741f1ab9618035f3ca8f5e1af4abe191c0b62b47d09cbbfb25a1bfff54dc369096d3602cac21cf42fe206dddf762798621ce14c855b3b2f74f38b2e6801e20ed5b53ee90eadd6f9efc6a087265ce9065a6f525e4508a70322752409a0e5ddac1ccc105150b92e011b832f6c8de408ef1957c1d9621961dd01b4a425ae7244cfc6ed611966d10fff9d2598494bee39ac7020f45785a64be36094af7f26fc93d8ab3f79a83f1cf5ec0e3e9725d2c1059414af44917e19e33416e1d04a4934cb812530d2a0153b33ae02babe12f99599c52dc50801289469a5cd0b3467b988b39a7f43ee9c3ad5f903faae1ee387f7ea9482842780c61503ce50dc72e20300597d759b7c785cda11a45508b51e661efddd4b08af26854a293150085ebc954ce7f5e32e979fbb6ff9d18c38ff6d8287636e9b7268f7ae6bb36fe9514\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 09a748174eac93823247630e59fb5a50bfe1730cb49795ab6ea39b603332419b499f2b75415c45e70464213998ef403ffe533adc65f78aa37399fb81178e56653e973f4e317e2359e6c48c90c173bbdaee564268b45eb62554e8e4bf60bef2da4e261bc1948c7da9249cf97206ab23496b5857a8b0bb09896e16c7f8f5c3d620a2bc455fa5bf600ca5bf76241a512fc3b61148d62054fbdb897035e20aa320890b57dc852fcf8e31ce6e191851c7b11ed692215eb9ce8a508033ea2b7ce08be48e28c29dceb69fbb4a2a2320cbfb914c98edc3a2c1df94cb631ede7ef6ecce1173951e1b962d3f1dfd736cb7af994c7e7856439c9efee52f791b0a49058de7fbc67b630be2341030c88046802434e2a0fcb2e2ac70d5cdbe033eef49dcb872cb839a5696e60e438b718ddf2b79b1fbb4973c35595430567426aef7a641e876d08abf61b3b9535c9c0356492b4aa27adb21364071ebf8ec5cd0dd34e46a9283e997bab627b817e84bf52b09ac08eedf20383f238a573b39ca94b42d31b0a6222a\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 6e702dd62b88ab9265d4ddd71b091eea6a2825d9a64023676488c1e6f467ee9a8893063612cd38da889520941a59f3cd7133b7cb31cc410dbd109566995bbc5146f648f7a014b641d20629ae8d8c75ca4342fd12f374247cc46e154faadbd593d8f9e404adebf925b1c9b0e7f20c01a91908b835cdc2d455d82cde8bbc6cccb0ef311d76dee3c1e832d8a59efbe0367540fbf2fa21cbee2cf345fdf8b9782947436ef7d5285647b1c8c57909d3511cdfde07723eb666599cbda596b08b6164272c8ac4711238615edd19f9dea06a87467d3b8fe2f87f45e8a3a1e5d0d3e15fe0c1802754064debb772e539bb9528f4cdef77e75faebcc6938964cf45d32c7e24d9c9b699b9d927744b2e4324462c38c09ee70a587a8c26fa7fe287f2a8f552aeb5b71836c2e92b6f0cf1ae21178234b8a25ee23c65384eb332d6113a9d48fab1073162806c5671b9f2783f913bc85aad9b3a08ad960a4817e1b4c4e7c63c344b22f6db60e05c3f2c2c025561723be9f9ae007c3e8a1d6c22b0b3957af4c942ad\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 28d3b6aca52dac1cb97ac1893cc5940b8fad22ab50918c78500436546a1cdea65e9000aee44fddb0ac6925421de0209711a51c9c8802636f990adcd17cb1f0889a5cb09ceea430547e8a32679f97dc644874543bb45da2ce442eccdc7f73bff6b8f09d51906e2ec1eaa16c17383ca65f43a76d054f1ee65a1629b7f9d5fdc44c71671bf10ae75a22d7ba9a11acbeda960a47e5732ad838197100fb89e782940f0ebead4bf9b10b7a5d48811a3a8330363e863bc3b56f6e54b70f0fac33a88348c5c49c9359519622d6c79eb1a6433bd68a624b1757a9dca7c7be1bfacdef1f38936f2a35486cf7cee85d801089d6daffa572c25b4f5a70378970a8e4fb48840c74c1be3cbac84798bf9281e29b93a631f23742b93261c96913479598bafede637ff5f4a7761a28c70ef860a4b33abe7fdeb49e9efa9fa9dfb17702be1661789decb6e30a989e00bc6f42a901d1a4345c47ab87d8168e6cfcfb339739f7105de5f68bf011fee5c90f5fca7b2b163ac77e34995d309715e70bcd35ea557a843e27\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 07ea7ef7fb61a021c1b5c26a1ebeb8d8fc943b4a2e91d0cbd9b023e8a786e2d521ddd43dd4e75bbf9583213405db98bc3d7aa6b1f0baea1b13f18aaa769ca4234d35fedec6b4017db591f27b9e996c21d7d510d81e3331cb76b320a1338ed2d740e2802fd4a3159e1a47eb0f2e82c442c9f138a630b507f14c277d83df4818054ec8adcfaf170adbfd560d69bb88fb9f7de2a294efb61ae18bb8159ece5da31a4d9a6094cb956d1d9e85ab13755f4e95a9a8dbe9130fe5eafe0f5832cd82b972f2f0f65c60e72e5df412b3f9280cadfd11ecbc28bb1e6655f1c12decba70cd75d90cb1ae494b416c5ad6bc83d0f9eeccd7a0a9686c28e903883e7fd1bcbe4e9dbe3ce1a3226d71dd6df459f72e8415697cb16fc3d2ffff38376a8b1b07397d2e6e2ff65ed7b2b0009faa20a5b425157c847481de2593366d7b7bded304d133fc59a7887513cf5067c1e9713366a533b2ee72324589c46ef9a05d08ca8055c47f0c12c541a854e0dddea4171e6f1f08d091fd681cf90df86c7bdea044013f0485\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 22d60fa58e7b904fc1a8e3dd73855a727153e58a798c0b566c1b72d23a4ffa29363472557b01ebdca870189c024af76aa9560f538bb32e2e76909607e23bf9450912d0cae66cd4c2b168f28b479a5a4606710ee8067462c396773b18f0e1568341728120b718ec8677902b556c89b33690252684684aec96a12e5f9beba0f8fa10fd7809c6940ba7389f152ef6cb39160157fba99acbd5e80e48e54bb5e7b7134dbceec62d73d8d1b3dd0", + "c0a27555d49f622bbe157e3e731ff4628a988ec060271184cf8d4407f95dc5839a55297521694bfe8978cac511d4fabfb9072a79b205bfbaf3cbd1e18c1b877b2ee9dd89d126072bc1e63579d17780d8551dc463ed9ac655b849ed9630ad18cb40e54fc60e56417fa0a89ade99169571c9859dc801139b395b62fdf49ed4748c6b2e21e129c9a5bbf346fc46ff408dd7e10f7ad1abc7f374635e292994de9f3094167d34a1d104f4459b7f48cd05b7e150ad7e3bd69a7e619bb081763a4fb6f284c3d330c4df63d42e0dbf2856044ae1c17ad4e8112\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 48dc5549c7d0d689396d966a08e69dd6a9ae38b32f6c726ffad684953204b9f74eb843a7abd788ca7e95acabf44e0b00e1dcfd77919c3de38a77b8f2947461a29e7038290473a95913cdf57c7bf4de826289850281433aab7c8754eeea7e0ae6152b58792d02a8b762550d2c7433d2542e4356f5b8a8db524f9a044e0261c1d2c08387b6257daa1d9974bd7cdf46eabc6eb8168a535e590fa5df0998436c08d6574bf7611443dd9d4aa48c038ad1847e9e661fada41b6a52a95264ec82bd0e497b3ff28fb2e401e7a03cb1ec823cc3ee4efceb31c09ea2dca2d20518cb8af93524ee83a6ec4090685c974f61110eadfaf4943de93ed0eda4d513cfb91f3bad5bc54a4a15742b3b5c06da7a73d43dd9eef9d4df4c2022fc62b1d93b285efbc2a823d3e15ca90ff6b00540d878143ce06f51c996d628e7a5ec185de7c5d37a9ed30a5daa7bda64057174bd1a415aa9c6800b82ed5c0892f174422c51e8592bfdb2f3ba51056012345e92e6319604ded5488636dfcea8139ad8411b13ff5bb89580\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 9cc09df45e13b4d33ee31c545026be5f9a63d393a9b43da7f42722eabd1ca783cadc21e3bc1f7e9e8f70c3bb8ec4e2fefa82db9cfdc106eeb41f49207d6654ac374b07301604abfc28066fb524c97b24e64c2f62ec98307588e4de3b239130123d3f8d0a71582b123612b100be12393d878658e8e122161b1f4848ff2d3cad68edde6406fec0a60f5327120a6d9a4a13746542642d6f918a99892565b7c4ff10b2b7f2344a4506648b5ed8f0dd1ff31687ab535ea991e55f5321f376fb93925f8a0e155092427ad5eff03efb1a712e347f0afb7df9446409d443a839d5d28713cb4064c9c4ff527587d730be3f989c66084ab7270e46e38e4fd2f26686b0f9eb222391a25bb702022d3bb7d7452451efde5b8d1053662015ccbaf80afa51f075ed9fb3ad5ec4ad3ff19a976585e82d55dddf8b1989d44c21d73f1b19e6f259fcbe81807a115690bee1c6a50ae16521358d2ef8c1fbb9b9bc989ed64d9e19e7ac4de2124e3d8efaf09d70a6dfea102c7654924fb6ed944b447c65d81e4d8bbe45\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 60a14686f2e72eb198741efebb65831d2f3b7a51dffda9b39a9dcafbaf496a483e8136c20fb5cf3b9da4d71b256061cf3abf680a2e904bc40916edef0ecfc2bf6f50ab2fc9667cf307b9f236006f2983019c16c25711106ec766217745852f76b5178ea8d0c7c04550a97f38ec0feb9e43193a83c9ef3024d2b86a86142fa0f4c05449f24ce673bfc11d5e36d4d843bbaf0e36a322efadcea13a0081a8a4144ec9dcad0a90aa17cbb9c772957ab950176d1b320dd0651d3450bf3df68b6a39fa0c856109f9d42b058e0a222593e375669cabe963f1daed0fdb449d7b8bcbc2c4c70af474e6486a19ead5e8c3af3dffa613aece85d8e9ffc7e11146aef075ce0001a018f9e7859b3b9d0d5e8a77e229b892f008bba10ad0dddae63952845c0b6a4a1a296ca9e6d99605c923c5d96cd8f8976d2e3e340b637849f22013c99d5e866434189e9117031df332e853fb86174ea30380aecb8c6a11451273f19a352461393b9e941ccff8d4a080d068941984024e3f85c9656769b4d206bbd2f75dd325\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 78d137671fb0c788b1401f11e26055c2b5672891c513713e53d17d1633235437e6205c0a42c40f78d37d940119ab028d0a67e1e61b83c97d41514c943b12c4d9f09797949c3f910e49b4a47a2d0f08996ee581233b30041dd88e599267e4f0da21303a6d0593bf7552e0288974bb198fa84d93b5c38e4ea6450b8d070e3153808ab6aa750fd02c359df30f9cf413ea59246a7e79ac78d8f89ae831b635dad8601344892cf194e6251ef72ffc813646016c25ee0d510dbae75b6a84df12879495a78a29d910e81c59b57c66e055d44720e6adf0e40324c930297ccd6a09a3c05423342c23008370826e9f55b3df4aa2f0f2aa6205d7dfe69c6b6bb70235fabb82651fee69d6b47da6bfd5b47bd4ef8fa475fd8f2202f0a5399b9441eade3a01292754e5b1b2ee88ccdb5b4c735df37632d3cadd6aced32c9657d2c5af50a605a04d4315aba0f7f55b361ac82548b51dd1103e6f9eb423489dbea07ba46ebd27773ef32317e6df26ad95be3e200f4d55e1b7a1c78939b3936053a94f56368e606d\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 390a771c1be9f6d6f4a2682209f9dfe2f565cc191484ff3a178e32272db6863681311a7b406472bb476c1beb597c8f0e9921aa45cd4a8a01e2143ee86a32f71acc84cfc213a1757acd21d81862115400c5cd1408ba65a4f126734efa77be071404a611ed75f08ae28045e014c02c2c79c59c736fca3ec865943d46ec2a6148be8924e4942b79c68e408c60b57c0aaadb234d2bb6eae34f57257a426bdc5aa665230eec4c9aea2af275f0ba15f76655dfbe4e915191c8b804b392f5a9d04efb1a3f4c870850d65244dc9e431249aa906d206f1497b0a1d6deb4d691b61ab9a1e61f72a924cefcd0f6fb566f77a69067b1f6baaf23d1d7ec7c134b9959bf78ff79eb750be286a3f03b769c199ad49e769e913db72317f12f12aa340265060218f0cb28de4be5550dc56151a628061f50599094ea68177d5a9d5a97ccb3a69c53fe5ea36af5974c57dc95b6ef3b067c204eb98249e6a213300e3f28ff7eafa1a1a61ab95bca729d17f849d1fd2857ed00777f7cac3b05ff98e7e75fdcb3a13ace16\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 7fc48d42f239de51b276d1aca92ff54dfe57a3948992f676c2036df0aac90df4f25e47c713c552f104839452b5c38a0529fdc2b21dcacca0470c82c7a42c80837e293ce4afd3c1ec3e086b961db8209d073c7851eb1345d6f6f372dd358795f0c02761a26df1d0a84901a8ca63e1a705e841a81e849032f8fefb0e3943c45b08e4789841f9e39737f86b9ed88339864da9922e05202cc1f73fc321aa317ad027ad5533fe586b46f92b56e7a32daeed3bd5e56765750c7ff84459c0c0d5fb1d17f0a0b9782b203b5519aad78a872a80bd7b0aefbbcb8b8d1c5e93e7f28506caa8267a575f064f4e6d4df3965760829266d225e1343552fa657850871afef79d2fb25bbad1c84a47a62e2be3d5826a49ab476f386785642ad1186894cc542fb91308a64d1000678a9864578398f02b84ed1f0027c4ee28a5ca5fc97d5e2b27107f6d3a9a68e6d5eebaf6194d22edbbde652b496fc4fdcd65bbc10c292df7c3e8a1df8c6ccb2f70b4e679a820dd250692926adfbff5d127f29a0465bd8c8719a7ae\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 1950963873afaef51578241b79a6035b4b5b51d950c550aa00957e8eff6ec72e8e7c5c9439eb531f2f050c3e3638e946bc7231b10ea14e47bff11247bb83d984c56d9aee11ffb0772ca915cf80b9e6f5d7768fca787e5051c315007de4cf8c0b697a44a955de4f56999861a3d8a01c897d212ef32c7f79fd986f8ed09955617a3f5bdcc0ae016a414cee5a4df402965e9cd46884449237ddd304e90f7c6856d48ca7c7c9d1a0cf4d2f21ccddba6e7153ddf65de5230a0b21562a9569bd643fb926f14f0d26a8e14ac3df3a2051711307b7dd260e54d1f89c26b02f0f1cd378a09b2116d308979c997e42fbde1facbeb69f0c788e39d09b8f8797bb65f9f2a4c73dd95d028059bbb6807fe7f1a710b453ed16bfd9548fca623fe650da8a701c92579e4a82361b42ed3a22c60276547c7843813f99848dc60aa3178f4c01f8763b0b5d3dd6843213b5dcfaf73a64c5628a3553eaa1f955ee97b8e7a837d69413de9f61f89c2b8efe6b9b6c7fef421a249f4a8be71c2a9cf900e21219080b2651c5\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 7795eee4bdd138a4baeb5159c60b56caf396313af6a46ba5375b8dbb88e8bf37935185de5c8ea773b6ab2f6f7872538b6b0ddf35ddaa06afe519ca5c8110985c710b8e8ae876753bc9653764a810bebd29524c362844f106e3489722756af1164fd8cdd96069139a779aab6ae283a95a17da7c79aa43ac43e2512f9eeea845b99f4d284b46aea6596e43f3dc3d1581d9f9943eab06c2ad8aa506ba1c778a1128a1adfcb97372647bae1cf12357fe0e44c307e97374d2167bc864def4ec7a24d35fdb4542c6f3d330c2a630a6f300a1e571cdc4eb76b13e0c5de6b06e2099dadc5f5e8a23958492634cc1cdad8b52629415d779d60b76299e45223a40728f375382492ca0abf45ab23b5fd9f5a45c5e71e1380b47ba32a60b0ab7568c651e6e997e7e8ad401510d30bb32427f9a2a43ce9f58fd1687d86c171910aeab8be986999ab7391e854e2f6e8a815def90eec3bcd2d800deaa63c6dff88aa52c1da9698fd8f1b16a705f4b3de7dd0b228eff75c5f48d3408170d39626c7e9d3ebe437bc0\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 23887a22776bba317c2488243d77916cf706275e3b8ecbba526c0164a11e7b5369b491bbd8e4b413567289c386b922fc111f149c5c1168d49e1255e8d18f28b173acf1b0f0ade32801d0c95627ebf063626bfcbe3ec117c40331ed2757a2cb2b6cf99e0059260cb97627203b7e69dffcfad099ef43728f6311240aa1edd5d4055108098108a23d3c4ae74ae3b6bffc4f97aaa50a41a3d5b22ebe767fe0e1749a3cdbe3ff40e982d9d34878160102afc14a10a3921dea6b89dd813dfd6802f26eb76f223186fc3454b599b2f4528d676efd18b7b28e25b5d9040fb8ef0af2c36491478b10bca1a16741e6276fe2482e63e3b5df6a38a774cf0e2469a5f3d6c63f3a68b562bd63c791a711e1d9379cc919ddf8590310b04a99d8af9508f0a66738fe2d0519ce2a58bdce05e8691afb095c4c60bbe0ff18f2c732e91190b3dbcbd54c5337b12144d98aa918b463c3b3a961121218b70cd032272b0bbb1c545bf7a7b9feaa6eb77d179c13541860a9c78bb7d763227f5a14533fa8434c63e5e05caa\n\n# tcId = 113\n", + "# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 01d1a157da33355d97b6f363f2cea4f98b31ec1adfc2d4523b40d8fa293f2ed93ea5784a6d133a4d88584ee57d2510162fa16c069961ea904b32446fc1a46692657e0fdc2ee070195ac398359ffd9d338c40d727524176714f550d95f0e6e988a9bb8460d569eafa252ea35c398feb120cb068c9c8b9ce892110a1a4672bdfe4166bbafe667200f5de03493e74e8960b9afa800fe5b3b1a3b8ec857be750d7aac89ca95c03744d3e67ea599e08cae7facfff1eb316d0ed2664c1f15c3559f3a7000eaf89c9d12ab2c4cd212be64a86e80ccab6b23c4ecf2eff3efb84d84bc20bb371717bf1ba83bdd4346c332212f31e82c9f9d89b7b5d44f3628504614fa0b78ed4db11e3fac5041521e8e9e4da9f4a768843e1dafe6e4669f2f6539e947efe24de701c425e1a63f6aafdea19df24c37c23abb2089c0a499a9ddc2f16e4e92de19831db2988b1e53b711bcfbdb3519352a7bf3dd556735f83ef9f438c7d92fc2a561354b19cd028c9b9e92ae420372c4676b7d681a4a1ceadfc11444dbfbba0\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 0ff8a7a6f38dc29d0ab58605dc1172c32e052e26957b7d3532f7087352b21ae4917824218d79d7c2efefd18284d82b8ae18974949c627cd5d7f75870ff94ecc4b4746b23d8499807286d20fd53215fb33deaa2367d818514744c3aaa877365d23aaac52890a6a14b2737f906997d5bea4ad2c0e6ffe95f28494760dfbe0d21e392a357fac9ba126af9dc1b079757aeadad0631738ac38734064d22ef3f52126f666c10ed05d2b5db78f6725f5de1a7f357437f3208ef4f8426c2824309a6e0e7e82a264da5782151646e711e4968886c4662f87c357bb9311155dc2ccba00642c862120de0c79024a2855dfd97509b15159a2e4eec467b7ac2778fc35d2e941cf3c5d46a931c23752fa69344b6ecf183693806b85f48992e7d1f208be3119a37dc9eecf131fac71f9e55b6a5f5a21d62a7c2422e11b2c5002ef953a6f34e1c1391162e50099865fb24b6297ed528cfe1949999e48b28d0e927f03ac8c256f9711aadfd0d97e98acd12e9c7a2331ff060128a93508d13b019b1219df4f2cf5465\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 404a71bbc91ced5b6079d94ca7a0e4c601c3b12c7c1e89c0bce718ab0899cd25a1c3399858480cdd0774a1d24ab72141f5072f6fc85202ea6c45fdedb196133560ec9de18964e0e16cc49959c290b69e5b80f7d0cea34075ab24220f12a324fab92ede089f645cf4c30c18275c3d5224af53e3703ff7b6a8413aaeb41a1e39e29d41986698a7aa7793a40f3f7f389e33860c7d97fd1f158a8a0effc48d08ca9d8c54fd4ec80d4a210e2eb5d09c9afae6fb5788cab46c8251e42285879a872f1b48b847172234e79120047ead865abaf31682c1a2d104f40a2cbcb329404f9502ed7e9f9ba7e1eda6b94a36a8b28ffd4a2b8730b86f9013b5369063615671a58ec601bcc9703f3df6d0427522aff488e57d23a90daf79b894babee8a73e2c18b55a3d5c8bb16ae47eccedf1aef80dc1b84dd9c25c2af6bd39dabd0ddf396c44c22cb15641dd9cc409b1538d6728111b2101f99647e69b9228f522aad40e3f9812f9cc4f506beb5b666242466dda4e7e8e90a4c9d1394df23b93e74eca2393a42a\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 64f873578fbdfb0543e7412d585ec60f95919216529d93ce7a16afcdfa577bd2f1aa6eb660a5f2ab3b79827de197177a461e6afcc444909d955f30e6524e4fa5c9a5962c7a824a8938543c397c2556471f6c0a030fb79f0cf147ee29532aaad54c67aeeaa8e6db4bdaa869711fe9f02143f9b8532c99e58c3a6629c5e17b9ae02b18695fb1c4c9e61cfac678c75fa27a744a8126e86e0d1d420c3a125f3a705bfe6a7bff256747bcf047cab3842cda6efba927a687d7d9641b2e8cd53404b8510b273717dc3466476888337c37c427f977db09848b8d1faaaa7c163b8ff4608ff90e8d8676703ebba1cefca44c25c732654ea6d45ec0cc58bd00214a217c055aeac7f2dcef5dcadb314454a2e1e5724a1d7621f07c2a77b08d540b74e363244d879bcc1584d0b179ae1144c1e3d8f9769230b936bda8d38be450a223a19d780ec93f5fe678e8d9e6d1d81a4920320f8733b37cdd04766c1adab1feff63136578ac1053adbaa1aaeffd2559d0269e7dc01adff4eb8d8c9902bc42549ad7675f14\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 00f67052a70789e75039f18cc6aaaf9b1db8f77e5c2e1c496d2274b5c1d5ca097ff6bf9ec8d8ae5bba13bf2c12098afca25bcf2c26eb5716ece3286c6a7d64f56a473e3116c4e6885fef7ed2685760fc8864613b635fad956b65100bed60477575e5e7bba50bc26e623f4370068870843da5925f7f123403d38d4cb30457e14c3eed2a0268bb9b97d377fa2e47fd5238ac643cf22793b3fce62da501fc0c287e5ae960b78f7acae20ce81866b9b703f85d2c9ae2057cdd2077959356e51903a03fe2757eecf47acd33ac4992522ddda22c8de751ae373a5970a466d8c80c68d435856cac74d2a85c6c0f8474f6a1b89139e15ed9ec8689b1cbe4b97f7eb9ad978d4992bb38e2ba57fa4890166ab792cece41284f97cbd6e892b32d49ed63b0fbab25670c27399627911751427faa6e5a0a475adbc01192be2fe2eb2d323d25ea5210256247f8186db87314bd484dfaeced367256d0807f8e981caf86d42b3bb13639598001d0e57baebf222fccbc5ecebf35bba31238991ac68edeb4e70681f0\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 42bf86f17a82ea6cab7eb84215779691819019ed827c485faa11855947183a49f52fb0f6c591de616d2ec5de5480a8017fb1bc3f785ec5e5648c5db9101b087a31b3fd7d3155aad77b69ae3dcfcdd6e32031f670143436bff324566f727a9408bab195a0ab61e79e884dc2fa66b00da52c0c683f1e9fb16016439f6e90c7c3efed53dce7eee9dbf05287c92b23d3d970b745a34b801dfdf9e846da2b4afc086c58daf3eb1132833a9799216da6ce730b94ad7e01ebeeee17794e295f9ade0a7ed8b1b597023e95d67e238e978eff2940c0829e7cf0c1ea885b17803b3730c226b97ea1ab161e862c0183789a729c31232b596afcd9b192d69a429ed2371fddf2bcad11973bd27b2f6cf355f8beb3dca268852930e7c8b194bc999b92ec059e7122bf05b849c0647c399daedaf79998881da3b86a3a5ec08d7ec47ad37012d1a87e6aa4477009ef91176aa61f73dcc040e1063b2003fa2b84635e6b4a206ba4721d0b7882a1a3e360de362f1b01db6afec1cd01424013f66faf2c503eb84b3929\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 8bacaebd990eccd128ea06c8e135e50d3f9b00c4b31a58f960458c9256031c832c501cda67ae4f1aad98cb1103d145caad9121113a1a365ac19f4135341763155cb448bed3cbc3185fc8ca63d2bc8b6f0784b37a6df4486bed7978b490fe36aa4d72738e3337e4827806c5970ffc4313966e5246e05804951868fa45d4d417438fd8ea8cb57f4a75717a3012900b19f261d8aad8d48b1e4132604a3273e17fe3bfca080083509b90315013d677e2932e029ba89e9a8e2c3be96dde760f9d3ed422c11bf8d6c9f5c4aac79ca910c0f06a0b0d757f6233ea821c1e2c123c82d32e9638dc6c84cb85dc94ca83026af301d0390d1d3186422ed8a544b675b5267369e4a276743fb88d926b9ccade5ab4d31a7ecfa23fb271f47e14ffeb795fe65adbabd7bcb9fd606003bb8b0cc818162937b36eebe1da0685907cec64e6ea0cb71e01001bb99d19dd205bb264199ad87a07ec20912770c0b6107ee73b094607d31558c5b1c31a1a8c79d22e5c77ae34da98e2a14d3365b7eee4d7789781c8515797\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 62aa9127d8f3d53285814d9b3e66fe3f75644ad1ca071a6a895ecd148d7fb7df9605ad182fbbced4f9e078563f909398b4324d4d192d2f7abb828445aed783d4c9c76a82ead7fedf109310a6d65852aaeeff87e66303354478085474f60873f0c677b1ad9138dee0de2589235a121b6bbefd6b7d8ebd3d296c2ca091c3445b346ac39f52addf12489955fc4ff0ad218f5f5db5ab808587fc42bbb2052f9782001f828b8294ba1ebf4c6a67ebaaebeef386b56e23555df9231cc22b5a49ecdee35649714040715387f1313b7d8e2ce6e60d20b4aa394d180ea7dc1c70a71e738ce06048ed9f1f6ea1c262c3f77f613968bd86490bc91c43f7e9302a2c9c3f934de2f368d516d0693910b420a9f32689852cb6a3184fe815ed00048e2ca87cf9b4ee53c178cff7bf3398dcd444136a55b6753e0af951cc8e7c53712dd9814d67ed1ef1828b3d827eaf53da05529bdd2d0d24dc1ad64be7bd689f3aeaedfe31a8ef74c46453953b1f1f3466020dff6c690d3e06d5ed9f51c3f28fd3239d1634b93d\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 539826889a8aff731ae9e731083c7744872141c8ed3e4d04013152288ed1deeda0d42dc07a70aef3c053a4b55099edcfd92b5df8b73346a62bf3e5be2c326ed3b2579972b1830313ba51126998855c42786745f2b71e38cd522e4015f2f8928c8ace48161e1cb092858cacc061e7b99e3b44e85a50a7fafd184ca739e6ddf0e9f5cb04093f7f2b2307061fd99e1da6691ac694e4756ae46517af6d3a968109670e317a99e5197192cdf4ff083c7e044f46be530885cafedea06c657f1d6b902458e102811fa3cb59b02bb1f04f0240b5a1471520dc4ebaf70ea0cc31dfb1736144d615c7c77a4bf732e7775aaf03b5623278b96faa022d670e9a043575bfcdc277ba50f5932a05d4007761cc97e37e0a986ced116b3bbb68d77a0f6e32464c2773a965e414fdd9bf19a1cfb0451aabbd96b3b3e27320ce2391343d441aa404bcc7cc107550bdb3e19eb3a954a5054fdaca39a14ef4a1efa1459aaa72c8f68ba026400495a76bc8120600ab53eaa095cb2dfa3996de36298ac4ead407c5cb73ed\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 6ed76b0cf22de889ae6089d2fc739cbb2db9c348c035c1b1c2b400342c879c73a2b834737ac33863eabf61e452c332421ef4b1692643ce6ee5d08f2395fb3eb7b6d20e60c6fe2eee0ba64d9dda3bb95e7b6b5bee64dabf9f1c2c450c118b0f3b82bbb9d3851c6e9bb1aa138ef5d94cd8a9765f7aa2b0e76fc16d697a8c10ce6f9001c005064bb0740bf5eaea3f49f277b01bfa395376f1e33d3e2ae99424575ed5d1536dc7773acc94619692431be858fc941cd53f56a6841632215cdffda41de67cc102ab9115140b4f97a22", + "a6ce4f2aaefaa035166977f404cf956cf0a25d6945c8d8f5580e48d77ee2ada4963d139cb4478357114851e39abccfa77c7bb70b6d8f4ace53b9f6500d9d9c2c1b28489f88da9162b4cfea89a38795702dbce4775d5d5d7409bffa693422332275ef5f82ce8f7b88300eec2e40967f5d1724ec295ed8124ddf6828a94f8ba8b7c084d18687c96d1c639ff88da2b42af7db2fb8e2e504885233deaa713af829ec3f624e03dae24ab138931e70384ee76c9b35a01\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 772227d41321eda0b8e0625f87cb555befb7a6969df63d03924108c5bd89974bff3c69d8dc963f315f6911cc49d76b2f575bc15ccd6682929661b659b2436b3945d158f2a95721ec1eb8ea4038f5af4cf85266a987b77d318b6c1631999574bfcbc28280dc0b656b33467eeddf75c57129657ee5b77d671118d4b57a55c468bcd91a0f71799433beb7afb8558ac0e70ff91ed48564d93aa55ac79b35c468af57cb64ddd62a4ad56c29f74bbe829b586ccb9bf1b0ac56fb9761b278d1546d2d9d8c8c54822f71ca47929ef6d988895527f6a364bfbd0587f24b8bd1790fdca3eff36339979165a5948ef17125ac8e8d3f3e2aab868013569b57417a53303d5acffbd11e65e5638fc4f9d9b23c16779e82ab38c353ab282eb8035fd1712e15f9f441be8773251e53629fbe9a4d8eaba7607b0d4263df29e425b47345ddbab4da5cd6b66a616729c967c6f28a29e8a8057d7c2bec54d854c8935437ba2205c8a615501d0938a18d10f3ad9ae3f298840eaf87b41e42ad811eb8ba48d915962ff5ee\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2ceafd49de62fcfd29d10308a37e84e7b88d990ddfd5787d4d4d945c4309febac385a13c285555161bc14f83ff5ff326da0b6d6278bda7bda7bcb7acd7178f8d71e0c297eb3c98e80b97ec6eea564cf64933ea75d3458fcc4d8cd56254d91efed6152953beff778032ef384925b1e45c91ab30ab6adc979e9ad02c01b1eadfc96311b4ce98745b0576e90f5cf471cf9c75cf3473ddcb0a674d0b3d03787e8446ff1702c4fa588520738cdc48fbce72cd7867ad1ff5a35615b51dd5d42cea9f721cbb12d887f1ed58ae5d3269d781f764e51c1bcd93da5ab32369afad9f6b67218f9bf8dbc0fc1374e67ec360b183594740b63d29d86340d2187c2291d280d3509ef7ccd3b2cbfd45ff6a5f67bf1f92135be0f4b7cc29400cade412e1522d81a138d5e27619993865f8c3d73fc24bc2eb7147a7906b25d8965a4480c4bb46b4c7df348fd0d83119b599619a7c4fd985aaaa1040641679a8ae69aaa2a3a315557595806de350f33dc169ff2905c1b432de34443ccfc3809ff5ec7462ac0fb2a5f2\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 4fc3980f88d8da1814ded92a3f4a4bd66e524e2c6dd98d80b2ae56b59b0006a332c0ebef85b7632b63ec85528aeccee7cf09016ec2465c00cf012c324d21db80be0839b87f631c051d7d152e251f6203c5e937b8f756176f2356f13e947e47619548751c4ebb96b6532f22510ee1ebf946851cd20c098504429dd7ee7472d7ad9b93d9ba415e7547773608834848bf4f80fefdfa233a95fa9a535bde32dbee28a0ce38650bf022bbdcaba39c436d7f7e2d1bc74079fca8dfb9c3affb7f58faf90837aa8d770382f270e815764b52a2eb3f9c2c315e290007df5e881b041b4bee65b6ddc7c549948734ac8e1a8d27f205a30c68b0eb36b63aaee373e0e4fe303d37988cc179ae169552af975d69cc663d82e1159fdd8b1aa14efa3cf465421401d301fec71def2fa1b1c185bb6e9217267b34dc2e13b21a5ed68640e6981820f349b7d35816a2eeaeb5881d12300e0022a15477de159ac9015012bacefe4bc1749fd96d1fb1bd2273f86e6a733688632ccee551ec71cd68f7f204554ca48d345b\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 9e9547adfb919109a3a7291bb041f8a431ec229a922c0cf256c16a5c422c860292ffc626ed00f09ae1faa7230f5721807c0a99134091c6ab0b726762592cd61eaa4c58ef2046912c9881119c517c84315096fa0b729ec201a804ca4c4a4b34d4768e97ff099053f6a628eeeb6f3052efb26a61e45f65ea46b6a08f446f239ece38775eddf57eff5f2cd8ffb9d4fae4348c7a4e94a08ebb9aade57cdcab2d39285cdbcf964e5c5b175ef41b4fda46b63d8a810044d93a04d344e072ff348ef8c58f77dd0b46369904f174b144ffee62ad8b1d44a67025a527a7261b78a831b3f91f399ec3dfd5bb38e599a485e9b63cda14f8ab06c1df236b210bda7382df6b1ad8904ffe44f70b893d990d321246d541b4090debe02f2969e04244144a345e4e89f1ee5a51c6a3d83a8b1866152cba055866eea6417ae60cf72b688c5e7b1a1919cd4813afded685f3c78f8edafe6bd642af232daf2e12a4097008a8e7a1aa7d3d4e5583cc922246a4fd051bda5c1e76b5f89c28abe88d606f86b9c26512a6d5\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 409bac0f385c5d75fcc9ec8a63cef1b00b2aa0b49583ac56c9ea697d704ef5347236a351007dfd7420134dfb8c860bc47d0bd6e303265cc5db8bf2d462744cae06bfd9b92a082ef0911bc8287dc202b2e4893ac15217acb2c29859cfca05769e90e8bd1010b67da6a2b0bda4c310174a9780492b802927f458da53da9d69efe8ac436c5a0ebe06c4d0c62d4421f018f468759b36ce050c8b242e4070d5ae9534406871aea1a7d65736763a27bd97d90828f0f217a745fcf454640dde39030432e8b3cf92686c367fa6affae3bd5fddc57803898a880ea28978c5e7e76bde18f451ea3b2a89d688cd5dcd5f19d1600ff222875f84100ebe2e97c2d98abdfe9cbbb733a0f257bc187a171326268cfbdef12acaa28125062fdf3e9edd756ad8ed9e695b61cbc9adb94046480693e6acd5b415dca69551dbea6883f8611b994ab57d736557b6c2d7a861393a0c8e9daa4be0fb3ba13201f41a56701f1953c3fcf54e2615a20b15a2fb73622d1f5272a9c1150dc975887f032a0bcf1681041a21c527\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 506d8fa1f4dd3222ef4d1db80d747562ccda3abfc129426610901780241300ad2c52e8cd5ee44b499928d7d42dbd37d0a0ddc0ac2e583a68c763cc3fd8e71cb80288c4a5d0c4fb8ff91abf99cadeba3691982a2f31838096d0d9e1b9e65d8030718aa11924d22f49d6cfc0406ec6af05dbc9ec4d1e8ab13918343f6a973fd23d5ed7bd05603685c5930bdd93c313c290ce678ff25d815c2e469dd6cccf914bcad6e8bd5121baf589dacda9f04a22cbe8b1d041e3c8eb6f902aef22859066ea22feecc33c898a7fc254ca1f84d66cf141d7b1bd1199070749f8f584eb7ec0ab819373a4770916e65acc0be006c301af2c0ca72ccfbf40dae37e316193555bac56fa982c0034a2c7c9785f58cc40945fec7c0ad145c03babc16a9bab02562afa4dfeaeced32cc409d344ec143730c290791fe78a3d6f8ef2fbb163cec5ed548e631f43d3e117258ab8c15f6f62ead7aaf3d590f9fd5c73e947661781fa1f56c3efc9596756c6bdbe4b3e3c8a05bf66220ca234e6043c900e9939d689b7ef4aceff\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 8812df05afb4bdb86568cfdd2345a77baabfefa7fafd393c79044c3576fa7b4537e834676ea22501604835cc685030fa596bb5d6ec4e8f75d65d0c69949fcf28f1b6711155bcf19512188dfc8afcc3521b7d875cdbbaa7cc4d993c67e3ada4f554f22a4d6c2ac033e7e2eef68cf1ca89a3267b18911e82c0aa72f452bfca7b296173f4e25842624942345416906576587b97f59a11717bac58cce7337812b9f7c224ad04a6b3c2236ef12983975979fc40719cfec7aa3f4a169156b03ce7952e3bf7af7c3cdf9ab5643c2e43aa1501306cdbf20f7f2ca3af47a4be5d9d668c503ce4406d2a95a209a79e081507edd4609aa5673737f48b04342be20aa1b46969986aa66156fda91b00220bab2e4c9585c3a35a1606aae9e577612f34fe18ef0cec1877c49665c34b17c2e6bc2062798c1f1d38602c7420c414ea3deb098eccb858f22ad5877be24c1c44c7025f934f68b5015a3d9ee0d3991a96d4870f0e7b46926248872cc46a74d7c272faed56f90981a30ad55c8996f38429628afdfeb414\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 7131f9f2ef70ceef69d90adacc74dddf5b82c7f0ba6add6e4d53be487861fd8f5b13fd2d9bb4b862336cefbfd369ffec5b7b37d77f5e6d54d4efdcc55c75cfef5500ac39aae0597bfbf6b2c4523a9cb97e539e4f0383dcb3aea4c705015d1748a4e11dbed9979c05eb5f7579a60b625240ade316cefb9c056647927e174241491c87a0ed01128d089e50d878403a4a2946d315ca034003b0899f4bb95613509832c76cccbed4ce3f794aeba83e8f59244e8230bd9f7c5352d12d9bafbb45b11e6d59398d6849920b1876082ab058e682e7fec79c1e0ec7ba6a95b72b9650516d2a25d28470d31e9232002799353c1cc2c921372cb4e38840466501b58629ceb51b1dbd17643be4acb59fc3cdb44de24caa49faced215faccd8d52f437c8aa5e529436facbe9c1efd85c871b65fff075d6d6faec3a7e7bd25f5eafea62bea007c45cfdbb8bc189835088c0691488f4ca2b0d6a6250b5e1fc76eb40aa415d9eeefcf665a41ee0bb53d421a27c2580aa89c6e25ddbda69e963d92145591bef8b910\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 2c478e7fe2835ce5363122c379ecee4e7cad31173dc248134a942a724c336200d91013935fbf80a8f5a81f40971ccc491ba5650cc3725e2869b76e06a30feca80d09b48c89696954bb91a41744082ab3a69f3a5b8a122a927fd9e7f41e6e53a26582d6625be1e1b8cabf3ffa5af3500cf9d21319ad5fc6edd85ee7935562fa29cfb2cb3fbcac9aaba5f7e5d2e252f6d30efc20d2176236fa670d4b0134efa570a9bf5fae8bb88da4536f4776f5bfb5304830ab8cb9cf8df3f90665b082ee7ecc03e9f36706cad9d7fb293c2e467800442ab39c0150304b668cef6f84b2afde87728f429802858e6988f8b6ced894dbe24353e5e2e53310acbcc291b688e76c0627152ac92d9d5579bcc73b38b275807569e7ff375cb93c977e52b1f21eac9334b9e1a5e68ab5fb1930b810f5636cfb386448413ea80a8174a616b10b9cfa321dbc648f9d1f8b8ac8087cec959d8245f2bd0ec1bbacdb96afe60abb5c7db43d98790cc3c3f196a1bf23aa1616231ada13a55ff6b345b90198588e3d44eb742ece\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 6319debd263a0921f9d935f8b033a65f6e9fd9be", + "bfa7a383e6dc2c0aae9969a2d29b6f8ba9c9d467f311f9de3d0af75230bcd662b7681f4967ab1dd4afcea3abcf12a7c4b89b3e31e22d112aaee76e114b98b81093684e5172b26f18deb45d47772957d4f68cd5f39e0d7015d983edd534b0ba59afa0f1ecc0cfce748ba42ff9c3c6f54fc447a343c24a3b5e244d18d15cd43a37e3ccf4e0a34a0b6361b650f27cd90ce9241f307975ddee05945430262c68f0bf08afe60c87fa6f2aa8cf0b26e67226cd962e1ca0e3affce55182e26dc5f29e0ebc48a1d9ae837041cbba28461accb677ac793b3bdae610c7f5cfd3ad221317c81d6a2b18415d2d00c25d2759b509cbe5e1a99ee9cca1a1d15f8ec1fb642b2a8772e61861bafd8c67c93a835134e9acf03f7630e1e2c99a1fe9ac08bdfcc31a6c88845d9a0e552a3fac84fa1202bea4ad2868fbd8a08b0368b9a1da078d3576625eb72b7f676b9e67bdaf687e867a66d70147f09b009200bebd4a866202b9de7dc97298b916dd8fadf817ce2a\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 17a45efa88058bdfc012587998e163266a1b5e29f474b77fce1d699aeeffed91d2586c0fb65d20572bab41e678500e3e03fd7202f89f8bcc363d4feb40be4877ad51c2b31f23a4c9967e84e0310d35a831f1f4caab9cad13f7df6394a52375bcdda97c4c8df483eed1735ceacc9bb1270acd2f8e2b71dfedbd60b2c20bfa732053473ddf2e397a6a8c1edd01e1d37eec26a6d4eb858071cb95104368b9457096c0b4f1e8c51e7e51a2b9007f9f88b63aa83173ddf62e0c1e41472015220893f7c7947fdbc5759eb1b05f100440ee7ec166834a33388d0ac0d6b32d81c83853f46ef85e8db63b1eb8432f7f1d33d961426eaeba4156977436ae4e3539a687a02c08d6d6201f57244c83d11f5fe0031548e0267c9bec125cbe5ea2eb2da72986b477274698455d94a9a69267851682ece2da32aeec1aeb666cf969caed281dcd1d3cd9729cd5621883975776b5da8bf1a42c634bcf316c5f1466bdb89c78ef6f68336364cb9e2e29dadd72d19c9155039eb4b259914c0d21ce07145f833c638dbf\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3d092c08b138223b594da83fcffe06d090dff3087daa313d9f691ff91572694acd79618016a21128d5ec266ffe6ffd45a55d9e21cc2d32680d12d46b0cfa332d7eb676dabdc9271325ed26d9a9e46dd3d4a2348724661a50c51827ffcd1123e43b09ad646838aad5372ceaf7a5d8e9d0a9daf1c1144c087331c1dffc3a4afb6402285902c0c0a1cddcd39c17d59e26ba87574f9d19e3dea6a907409a8ce60a1a343f99c03fd3c8c2304c4da3f856d2983cea2e212998adefbb4a3c11e11df734b625265b49f580ad733666e420d640fff98967666b9f135d842906e54a20eb922503e0bf0b829237404c376b9fa766ef0a1f9211fd268eeec297833f1a2b6a5f8d058b3b7f4cf06546307dac9a8f8983b423c5e4e35bd6015ddf1a9a118087ca9e836260a449152163438a027c294948b4b72d85e8fd9a8296615d17e370864b8f0fc99c3c177d78889240b47dd6f429fb5517203e45eee832aca712dfbce12ee112dde8613b285ca9cc62aab75eb9ee23a2e9adf7a1cf8d36ef55bca263c18a\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 405cd9478ad54df415faee76b02ce44a8ea555e9feb13657fe0fd0eb7e99a7195ccf80aea8094df48fad59f4fd7e8b383d1ace0956709cd2cc4a6018e5e364dc0867fe81f19b18a770fc82519848cf338139ccdfed78c5b699652ee4aedd5d529d51ca41aaae623469848b033bba3bb898e9e73a4d6b709f9697ce3c889d2bf2b100fc79feee0e5bb4ca9895d67adfd313fce9bf58a3dea9b6139a7ef7133e07f357c1081747e6093fa10f725bffcefb3ea79e80e66c8870e5cc933c479a64e682f9bcc459459581e483eac41a27af198023aca806b7833b1737912796546dd936dfc1e4c7e3e7b5d584c078d75930c26b6d53d5bc086ed1b5916a02409b6254a296bb0fddeda31c3b26b5865f1655c34654b4b46afc61cabfbc439dc5f5a282107dfb73e16c40e96236101dd998ce8311355529c79822ca442eb1bf089b6f32befb4a430cd3b38c015c2b7c5e74b2e6716ea6d893f8830a20092db85510e721eb5810a3bc7a531cb5e263ea4b1c851ec78da530c694226d6c5cd018f1def21e\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 1309305b47cf2c6293581a498ec0d9c0baaf682822c1e93c1738519b3845c535afc95d098cc5130e513aea85889f382eedb92447046b762c2ba76eeb89f4c974cfb8c16b0e258178c8ab06b6aabc37669984c4db5ec2eec7cd7785e0fac258ce4ec0145dc4401ff46a33c8e84dd8347327799281ec475a998cc92ea60bb1430954f174f8628eb84f46383514837a33a4b29e46130ad9d181277c4fd2405c9a41f796cb57b7da262255da243e76b1315234c241363abf5877d1ebbcd453b17a3cd2577579ebc0e2b7457b965e33491afc42083cac8526d6f44446425b13da09217fb2cfb3ab5fb5a2d84b837195eea58d412a83726cb67def7bc5f349c4b25fec9c512bbb3b34ba06d33e6fce13b991b9ea76976b2c641641e9d46a1ed19444deb9f20f98ec1fd1f7cab025e2394c5e659abb9968470804212c2bc526a3ed3ae38c5341bbee3b236441c40566bf980efcd1b3319d536876403a9962f8d84d2bfb65bbcbc7f5e7448f2f81418811eda1b758031951c2c7ce7e0e375d7709446c11\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 1d7af7303b7480a2d492f87928ee58e4b30e5a47cde37cc368963d539661b503202a13db3d08ac507d9f98634f869acf6d7824f65fcecf03f7faff5d51732e23f03a20a784808a4f89f1c418a59a7ca7d1a5ddd726bed532bfa498942a6fb4dcb8a331641a261b94f60b43c0a857578fb3122b682d8a3bf9f97c5d98231e091d6a6f35d3b3aa3b2d2397c15138c4c91ce7d8f96b54a0befab5662442b4ff30db1a0d06970e9c1831798c65471e60a5f0e76cc5607fc12db3ec479044fa2ac9b0d36a2794931a644afe754b43716989b4db2a462a8be69b8c7cc2fbd78afb681816b21feb7ba71156eab4ad4dd196ace3908ebcca00d7487327e865769e9b877e4d1c172d4ae77a183bfbeca34e0b27f3d1f50f6739faf982e46340e66c89bced5046764d3dd9b02c6e18db151ceaf9d2789d5a923675e72e89c9e01aa2270f24a31386a7cc64897f4c79d58020634922c2926b72b0d00d1ea28099116465bb5120c64947c9821ba840c0fcb1906dfa88aed9431151f6071fd82e388330009e87\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 13931038753dc1a3f632966d301340bc8d6e63038ac4e9e5bfd3a899c3faa8bc37009313f116e038e55e82087cf593a978d4f56caeb9f8e686887ae351b8c70c06525e0850ae1534fd96887fab5661bcf9ac8ad51a209832e6076ff8a1514c1d229dd77e1e7b10c44769cd3626126cb6231f4a18d9bcbf20e613ebd2b08a855a88adb61f1fc66a134f5e37fe991a1d794ecce4d745c713ee65c293643f418d35ae2335f76dc2683364674c675d93a6e09eb850a703657c0b30faf2268bec61e8cf1294696da8bdc8a13905169c2dcfbe67e3e88e025cc1096a8d02910dda6074be914a2543506aa61af23cc2ebb36af18e4fd5fb13f891ab12a76f3c274143232a8b9ae989cb06db3678a189488fea9e1f5580d35542108cb127c056e923081867d39f3e00cd17dbe18ebea1f2370e1156880eea6a9d649f06250cf60e72bc05879c61a7953c5881966c01751944716bfdf196332478f883c8c1621f9698c975b6adf3d3642cb2cbfd83ca7c8a5eccd4596e19677f42be162dd19731a1e4d6a3\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 20089ce845c5a3c8a28e3901c74386f1f73babe62b639b636d6d307729dd5c92d8a73c970a880ad5ea79a4b68d0d8e9f672c5441be95f9db740101f99e5076e7572e248a93504167b0ef7c47a54ca159b13856d6648c049ff2cc132bea493ebbbfde6348706c4c2104a53e8c9098a90d59c97928cf5588c8237222470849dcdeb66ebfa6bee33733e16d50efa8f79ac4c5a6c6d1b9851782f0fe5145ba998edecf378e999e91d8d29007ac4431c62de576b953556f9bedbcc6b415b7b29fadf6524a41a4abcf01bd367793eeb841ba934c571c92c52cf76642f6f1e931a8d076540bed56ece9421dbf5f965a828db11627ec062590869d290c27020d5aaf3d626cab8700f20d672f6ca0941e059739744ed192d4dcf4e835b61c74e4537b3c3a80586c68b47dfea8ee429dc1cd4491659eaf7a87a9fde116dac9eb4254aeb265f4f0ddd33549a63ed9096d81f17792b3e4eea06db19cd87b00947ce2fa1584b89b26cc7eec9bc48b6b77c0e0d306a0bc5ac2f8823c464702d491da90fd48e7c0\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 4471378418fe3baf5389f910f1765862b44f4529f7fdeed9ade8f22506152e070f80ec9dc9a55547db688762874fe06be1c1145070b4e91805c23285eb5c1a2e2e0d53a3431516a051d6b880bae3dbcc6adec3934d323910eedcf1ebad0193e75ad17cc6fae778a92e5c6c3460235f1689a9d6af96471b6b4962c10db9a83e72e2614e2cbbd788735a9ed5955c5a0a8a609b5b0adc7d01e49f97bbc33a33c1a47d0fd522e1af333c7a79e4d3cb68a356afb812d44d4bd575791960e375a0ea44e65d0f5b207ecce201c6484ff06c2292bedab8d05e81fdfb14679e80ce22173e21f48aa626b7eb2b92b37df875a1431ce3b09ff97d6cdcf7558c5e745c2453dcd02b3cbdb78e8f4fd804dbdfd9cc9c24ef9334df3f965ba999e556745f717a325346f7a53e3a257972069da572d40b07528ecfb01271fa04d7ac1490ca4c6f2d4c70de47866d8d39e698fb90fab53c072928415a784f5efd2d9222494f089607dd1b61ca6edc86ad3c26b1cd831ebf0bf0c25d85d1f54ae0cff0aef177bebfe5\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 24619e4465d1f0ef48a66a18a6c76a11fc9383be6cb9d19ec4fc0928959c6d96f9e45665949a0bdcc9a2609329185851b3a35377b84831f7b4f8f6168d77d25169ffd1f747303c93de0d939c912efc5a16439d1512def8213694c79efe59d85351e466ca148b1ce43b74692f1661e95373bb5077c6591bd0a867d317ffd5b98f2283503e4ee9ce57913adb02def14f0302389317f163301a3f1bb177bc1e91bb5d88a7d2306f54362a1a5138a9bc1653da0bb0a9c0f13c1f3affce6bb0a28e0b4287f5cff033d8055a915e39ad29cdf9d08973d81df34d5a032e53466804859176eec8a52f12134c887282955566cf590385f22d4b9178c1fd11120e8800f19c10e5b3dd432da78b317d54305f76579fd38753961fb66c61f7e81d8a369da1b1ede47bc0ddee63", + "505c53570b2c79516319f2afa05467cc3a3939c9ed5e0ddc8290ca76be90d557553fb146d419e751a4c9631db00491bbcabedfca3605d569647f5543cb196687360927417387bc27b774b1486c7f7668c1665e76d1dbb03b19\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 0796e1ac938aa24c995a03fb2c35a39a5206140c7c2919978f7a84a1e2b5ec93efe70045e213912b6e1e77e65a62df6032925cfcf2f5cade306f4debad6c2e1c6a84a221acb86f8d10769f66cc3e1ad66bb52e9611c3d8eb50de8e21a850d394e2ec690494264269c75c65217e2df1fd4b88e13eb4747a04437434a536b96bd2dd251c49123e1341b7c7ebdf0ba3c7307270be47b0b10d6a52a834a7404ae7725cc0c7e0f7c8c10d525c642965df7b821fdc5d0f7945d94bbb2f8d4cf14f91eda9720b8f345d35a326866ea7040cc3dec32aea044646e9b52c36b8a30218d1c2f1b64ca9dd16d588b6f4a22634c551c22fde9e6c8c0e42e0a29640dd2bb85e734541a974c6f89b44b615e39741899ef9f1e4f3771830aea67de978f9386eea5520aea35dd3820bef1fc90a955edd30c8a299941c623158fed97f08f51d5354c512686778f7ccdfdc396f9de48aaf9ac894e65424e2e31ace4c5c1db28ac809ce6a3f7fff4ae55bf1b96dbc4b5da5beed795281bbd6a0ab75f6660deee3081e36\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 12dac1bca4777d2cb7e7f072e61e87f1a526afb4278d10f498f5a936e4386073b8e262442895c553c4453ccefda23a24a18601f765a3d7a39c5bfadadb80b631a708ba4571d19013be451832ca64952e9cd985059d55d37eab94e3c8fb1cf7565cc1be2ff6b45a7f1b1785d8a0775442b1b96ead3707f9bd712f75c8470f985773ada0433e720af3b8b7389919505fc626733fc90bdb1064cf6cc9ef41c2752c6fb6fbb44043dfc97bb3d31463ac0d8bae9e19658b723d9c74371da9dfd74cbbd7cc8041e2437aa6249651805f8cdf2af2b256142c53073e3c9ac6059b65a8ed25f00d9e31561af1bbf9d27023693803fda4f511af523416337b208430815f09b3aa78c35be8ee439343bc79186702351c9182ad1f5ecf4260e9929d0acfe883a6052397de9e49b51ba7044c751aa6e4eba622e1d9f7db431f3b7048137e17c5d6d28cf31a7995b46cdc5b454eb3593e622a54a96f2b10193ce41608dbaa7a16b7f1e96f627b0b1a2ed2f0714687214372127265d091834b55247e951ed83869\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 890d8b035cf1d2938593150aa00c3f4242098c6250aff9c3c33044e1b9247c81049be88addb57cc68a2cb98b30919c25bbe4931423771e5ae6fa9b15275d058fe931985d896ccb26dc495ca9003fce602d63161c4f00399d7aa46e6616181a06a0cc78906afbd80e65fd0165c7303551b9d0b1d4cb3efdbfc3138da4d1a6cccc43f8cd8613932d9d092cd2936f95b1775ca485f4c2e9a7c0d559a0112a60ed2f1fbaf49e3b514c598de80e0ddc072dc84ae8fdb565ea91c655e5c989d5b0a7bcb241fabf0705c6fcafbfe27abcafb25b26165c2822f9c2b681a86b97cfbce75150fc58a3f9ad92ce9a14c29bf087c2d9813c0e5fa59066dd260ba6e06668b0d305a8612d6d0224b7418c6308b8140f7735bdfde3f0f645eaf20bc0c5e6a4c8e6402e6d1c8016a0cb276e2001b63d2b7de52bed4e0f99b511f060773e5d2d67446e15a9ebf5ba4cdd995891301f08b2892e275a47a5a566d405507f6ec51225a02f8416758c4b35586863cdfc8fe57424b8e35fdc558fa5b3ad84743c5869e405\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 99bb35ff27e19ea04dd2ec367ac90d6043e8c205b50af1061f9ad89013aef6257edef5c865d04cf7a17406b910d3c493fd0cca41edf36ef2f7fc3eb1d4ea842ec044ee89f6d192c69564b2377952b450627af4066c5ff2ee53981797493150094362cabd68f8b52763086654606019c7c293d752ec65dc3d76dbfba6a3675e02041aeb86758d4a53e4d5c938219c101cbba5b5a61890c2ec16e569d8d11a2fe0a838aa0beb5a555145f23411c209124449dd9d19636403018b8e382d5956bcc81f47c5c29348730809b3f3eba2934a39bc954c7787c5a86e5cca144fa93abe1d8a34e65de29151e08f70951acd62b96cb1a8bd9566ea136ce75b83214f8132d5af2cbcf4d159065d22588b3a78d4eb9d86eaab23a35b451719f6ad16635b35bc01705f03a5d8ee71080e69e2a1de5ba2687f458f30b8a5af7596fe65f964645d871d4d7855a372e9c9d4ba6571516d8dde5d9b5c5704c4cc727f9022e2a4ffec77cc8668f320db0aa4211862da93a03e5348f1090e54df3ec9de50c093a79cf3\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 731e25011da87b990f38e7fcf08faae045402472756be9874d764933f7f1ef54edbb79e2b9660f40d7c9e05f34253fd3a7b8a12edbf9ae5218a203ba82bff1cbb5fa691020615ee59bf69deb02338f0ba879a7b5c6601798a3ae30352404ccd7f84e1c12d021e32871105e8ac34c2c1ec7fde8248e4913e07ce69b5ee9984f0a4e20c2f434dbc9b6fc466e49fbd1d13b7f15922184edc6a985c64b76675d46485263da1251b4ab0030df8cf0ae3a8c92c19ee9ebaf1e803288e209268b13e83127cc3a424fdece29afc03e2990026d710940018e61a2ad90ecc1f25f3e21f174697ad2bf3294888fe3902d240ab35f4dc68ce04401cac82b27ffecece9894c6e83cbb5f42bae62d5a62300afe225d68f54d2b57f70683b6ada55e70cc9802401c761832ab09b40af2a939564dc4ff7265ddac1feb099d22bd7fa4d2b776914be0305e1080f1b1c524b83c13b945f499c2ac043f4832371168853ebb17569eb6d53423447a2044471c36168f78b4145160a8842d4d5b9ce8868da533f6760db2a\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 07df55e096e6d4fcab3214546aec5cbb90fa6ec621ddbb3256692f8ee683e3e828aea4299c720bc4d2b8b63ea25d53afd91573a2ff9b88ce09176f7b8a73bb8b95cd35fadb4f68d916ab7448cd845b5f1af10809b9e7f359511afef75147b5f5681b346313846461b9133662ab0ec38175e1a9c767659d0dfd9c298d229550403991f74cff05cddb723e5c7edbe9d69bcc6053c1c15592a6be6297dcffac0b4d9d3a49e74a2042480ae831f4c62986635462b39e244a3758cd22dde75b023daa5856e0867892d57d8fd805cebd21fe0862278a63ff39a11e0450999d9d0b01c8f1a045c3474a059617ea21eefb46947a44625e4f017af73d20faa4bf0210c9663c18b203b02a2f0399552c31531cae621bb7717b5550a12fbb896f4c0e30e5fdf9c8e9a6763eb815bfaad226ca947f1da6ba84455986c33aae2ff741905bf1910eec450bb746cfda374cefd6489fa0854d4e4411f439f31ffd7cc0351af22eb0b3ad044636c241e3101265cd7b285d7b6faed192c8015d8a6090b175f1092797\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 353b37a0e4860de2b2142667988cb7dc30e29d86da33b4b27984aef1803db66edfe116f0ed7d13b98ca30f7e6cd0fb98b02bd86dcbd7988d2db68c611ffe67a11531d83c8216133aaf53f601631fe2f3c900788b568c9d4f6a72ea87ae99af32228638154319c5974ee1e804954dd1aea7a0d4cefbf4442bf69bc67ef002761ce7a5c67a3316f71b2317236866ec3c3e4ed0e902fc2153278cbdc0d2ad2c36a4ba2562f098e71f7fb6b06208bb64031bbe5f95c824c8da862324aec7fd436065986fb704ea44f4d543cc578da5f44ea0f3adcbafb28ea189ca16adfde1dc0f852954cd492289959707afa1423e3ceaf064f3dc3075ea81a51f85717fa7e8b38cf989a47c77a3b9649caaab04a2384befa92e4fd4d2de8b00699d6ffd87c6507cd3b9a81f162b94e60c30fc4a9e70d52406b4d75400457e4c9c8ad900e8fee456de975ff075c08ef378bdcba69e7b1719f5ad6d91434c74b1ee577f016da9229769ec9a3d3e91e7466663212b7bb51182fc245e914446c31810e444923196b972\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 98ff7ebb8489bcc3c8eafdd75225b744da3ac4bba8ccc6c0157e07294dd2687b50c9e24b206b4e1ba2f9326b8e30ac6561ad0a9642508b0b865dbd89d61930257ec26ffb7bb32ee6754edd09e610ce47a47db0ab0428c4c503daad78201a2006632a06e690d001f345dd4e9534bb64171c49fa2ea250f435475111b4a12460b40e74b14283af18fb4ba2af0c64a76455b2dc31c423817dcd50c0df0e55651bbfee48536f04f3d413ff1be6392dc9f3f3027ef20c58db18ef86bb4834705c1ca368afbf174575f480ec79b0df0efcf24a1651c1c9e260980dc5f6b0ab9bd98a248d9f8a6d2adf44fc501fdafb565ac47c227cd19f4a45618fad2686c765254f6f1fc92162460f7a9d32a91ce21257357988d86a25d6395be70c73c027b53edcb32e5ed58c36b9273495f027b7872c5a24ed39f5e6f07b1d0e21ec97ac3b17cafc4954c0184b01fd44c49fe3fa97698828df8b6f1e4ea27f3225b23263f1e72efaf9a6322e66826fe5b5d087119a5bfbda327cc7a610835230806c9233cbc966bb\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 103c3122f6ec082438b704ece029f2426e2667411cac998014bd2d8d1fee917ba75753b9907ff4fbc65bef274aa4f863834a0ce45f97458f77862c426ad786a418d8fa3358145bc46cb6cc4ae3de6879127efe9c6fb135edba0bf96f7f2c7cbf3cf8a23799fdfb22d46d18842d3e5eb9f17423a4edd39432323625ce5559a50a602cb80431abc162ad80a4e7323d59467a3b6c2dacf386c38cd82c22658c4f954f2bb5fb8d8c4fb5d3523639b7872ec4b2e431778b41ddc20fea06869f661e6aa2c1092af421f38f52555244e5585b42723179b85c222af2ccb35deb93e5a1fe065b862c857ca096dec9009a17608e421202c227fad739764b064583db1c71af9a018800ceaee556c9f7deff6522d14a4881430fa10273e43fdeb992adc825c1b4472e1f7c298f11dd9ad2c6ce4103509b6c7f591c10cddf306b36bfc63140fd65223cdfbb06af12577353467b6774be789b7c5dd59db10f38451e0582c159246ed9eb2d05285ef3db4980199f52a7893b40ded3e65275617037cf04d054c4bc\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 0f626f9cc1d12cd197864bdbe12c188613385960d9ff9aad3c5b8d835e4a3eab6087bae290883b45796f436755583f017b2d1293fde26e9493b484cc6634a928d2630b0d76f3b2d26d9d81e9039fd187a1f94963d871280e451938c7223e83f34784e4fa1ef83b20b41975ff514e7624ba82da566b9fa30ddb6ebfca7130b705", + "54720b120d094c731636fc5d938b8adde4c7a49e822d633313fffbdd4ea7d4797713896ea2c213f99399ce8c76e916361f883e1b76760a45de8a08971a2d3741e57079df4c93dc2801077f44395b59a816e55b5c5438b0372d7ccde0623f424442befd7b8db2c05bda177a5e6b6544762a5591989fd2dc3670e0174e12dca4c83f2b5c327b5f3db53897895594980ad4a99a4d3a41e586b27f2c44f30ced8d1779fbefd86e965e7642d4d74efb94b3751cd658ba80f3a6cf90d014582b51f39f41be6c53b5475a0bc1340f583f9491b8c91c9d673ca326af5cf66943a88aa04c04750a83fe8f429ee45c355d9bed7bdcdf886b5b9a8dcd57a99728f005bf7ac5\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 568437f4510335fb3cc818d177747da061ae597dcf21e84216f3223c28438d1157df0db8ed06d429c73366a76beddf207dc03b5f6fb3a911a042280e1943319a1cf8c0041611d1633f3e4c53387baa750d94a0c1ddac1e416590ac57a037d40076e276891e70508a1ee7886fbb5c838e34b620e288093b9bafbcd2bbacd4ad365cbe57f3487467de7804239dbfb837d65defa8ab1023b79492c4301419eff396e561224abce40a58d0025d7aec67c941c788b585d7f47913d8bfa8449a4854af5a3806bd3ccf6c2336993500297491304685277822e66e2e56f624c8ebe6a5a675123f488540ffb1c81771a222c3dcdebbebfe180259de8045ae2ef2b44a3e17e27e2a58590dc709b3990c1a1607514693c95f97dee5d1cb527c28e708560eec57b07a6718b2b2ee782ed7490172d08ab71c043434b302ebf297766e8213d8efa959b05cce5e29b85267c3ff8f1850b107b7358e5d1ceb51edc2906c26911bc2fcb3004ddf68ed35cbb5505c4f6ba8ef36cfe7a37e53781e29b57073cd01602f\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 0a4d3aa01f80aff978c8dd9fb0e0a8605c8882a5e9936371ff9906f7feceb4ce5c981f41834c9ef6ae34afe6567bd1ccd499135a844e6dc1695b6a1fa7ac58f4ba73714fd3d4681b10e86302d271e44eb685146202daad33d0e3a7b25902a915fcd5c10e45677672581a7e12d7f51a4cbf6197ad013fa83d2b473238963e727af3cb1fe2054d85813a70c8139b795db3e514c9051671f993c9e5096a235665df2a7c0c435171c5012413ef95b2384cf910730ab52a5029b7f328d74f24bd33d41f431dccdc775717cd28ce611af50564da46a17ab2c0e64f5259e67b895631879a831bbdd02f97fdbafa37f92633b9a5925b2930e4060192e2e74832e1ecb280ed8e0aa0d85a025f32a38f9f43ac7fd2203db7424d14263576fe4cd4246949f4b225a42b1a282ce364d0dbc9b0a1119baa2d310a17de8b8e969a93e8a08c1f8a0f6c5baaa50ab9b0368dd9350561e492cec6188f56b0f53795d5303bb0eb6cbee53b09eeb63591314e52f62ed135c772219a9303abaec273bd62b1383471b128\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 0da333e509d78d8eccbedd7f9c40eda31131033bf765e895666b71f7efe54177117f10397ae3173e486dc475b9a894301d2670612824575fad6220d55b391b25af6d8779367f85d4302d56669251a08cf0b1a34b3ca7ae7f4740b63156042c040a5e0762df8677007ed3019cb2871064f884ba00b7f20b7aaf2fccd38e8d8c47555c9164a32bbb40458902fd8e086037190e25d57f810ae4ebcc42de13664f4f5c27c7068657f637256faf28f664dde1588f3a649f7bd5b60b9dfaceb29d6dac857fcb3b4bcf2b2c6d448c0fc1c710986825e3550a98312bf3d571ea2cb68e082cb0732d75a665128e56b6b0beaccd476030679cef73b3d07eb56774be3001c5ad89fc77f82743696f0505a6ae454199941d56f6002054ef651e6fade757531afc2bcab05397db8f322dd09d90d4a9a058bee0a16f73b1da816f86864259bea012e58ea7dbe6ffe5ef1c82fcfb97eea91adff47a0c755eae9f25fd5fd732e5bddda3519a6933ed696f81391350b9f3022c549cb6986ea16ee87175d0ba422bd6\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 8ed8750078ff5a635d6ddf42dac288d6d0268d080ab53d2eb859b8f11352a3a148eec6c6bf888cda29bd80e2708cb5ebded4041f8b01b63cdad1d4342a6cc1bffdf81a3bfc2ec3d123f7d7ce5d6d8d455b1f823bee0c0acf6a9da03d053a0ba314b2dea1d4ae4dad8eb73a4d493d2ce9ed23c3b2678cf764b9b500838b9eea9b551600afbb3cc03b348b4ebba2f6a41ee3e5db39ef2a652994bb0534c8efe2962027609ef4a56203ade8bccb50c7554a22ecda3b80d02653f4e9d0398ca300e9f4d92ec3ba4a1b15565af56cb357f7373331ee795a19d2eef0060eeeae2dbeaea9e283245236b939bf4626581672ec7d0630068250072e86ec9ad1b51f264384a543a52f2ce42471a1505169ba30b608bdab23b9ccaa710bdc3cfcd47864710651873f2411ae7c1abf65d36ef2a2401b8d974d60ba951a023beb7689c099b0816b831a6f2a5364a92331d3fd0dc416d734e0581347108a4ebcfdc9dae2ed7a8b0cd93d2cf5605a9259bed2219478dec3bd38767fd5aa88643f61cbbb69a234b0\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 4723279e6ffac2a5184ff10943720498c2352ea2e155fc802263e10b17801a030622f5f684adaea8eafc5087e971efda34a69420ceb4fcf3d6aa0c1d8ab3e9f009b9085518921cb684deb50517b57356caa3915d3d12348152b40a8a8693213d9a19c4499cfd42d09d4accd879f1bc2987cfad5278505f90cbd6b981500dadfda23582d2dc159bb9899ef0aa9f1154a4606a95be18a347aa1a77716fec9f84fcdd1b23a8b1d832de858d2f5ae88a5c32cda762d9619796f52a9959aaa86fe527d04e4bf7b19b184657450ca611c24b0c55577ca32b1dc6f6863e2ca5c27058d6803c3b13564dd416d1e9e6f695b4c51e74f2dc280ae3eb89bfbc8cf92d608bf3b2220b26fb60ed78c2d579255820e23eb15c3b3149d76f0ecccdb2dc7f0bea9a346fcaed75f6078bb9d7bcf9e677a15ba92ede667d60c3ad0e5d9097d4423bef4929a79d8bb953ca4dcd85fa1f6a65b578d31d3787402cf7b1d515cfab71fbc489b1f121643a9c048ca55364ce1e770c839311e9c3b8892612c829513d4167ae\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 3b40bd88f99c9e37b01472b6efc413c20eb223ec850fe20ef5e9d3d81f266b11225eaf207f3b712d792ee681b1d9d8657af67c995559c602b8f772da2794daccc93f9d7aa8cc50060928b078a1d934dd32f10d62aa492fc2a909ea6ad3dc10593fcbe42009e67dc7c83d7b42c2ed085c5a0b622bd1eaaba07065d8753ee99e323a18e4c31aac3a559268d2dc5ed7460c50accc9a70be784aed2bd4794d18a9a6fece6fa252bd0b5f6e285fc9c9f9f0190b8492f2209077f7215d26c31ebcdfdedffb4bdd1e407d7d2713d6439214d3077549ea5aee7f69ef52f26381bd822294ea22189a87a0aeea85e9b9a85f102c37d81074784ffca6ace2e44f8432bc7e2ce1babec1ab0bb8a17339d2017d254a39a0719957bb2c73f4ea67aadf8fbfac3958e845996caa02934b7064b4646c6368733b73289d5c1bef743893b3a5f570fa900b3328e076a4222e5fd56a9032c305231204a83cd021366b7bf2f1b1c55eb1cce8c11d5bf0804e8f6a29f601a89c3e92849c45fb013296c6658a9e09e6b8e3\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 113568a33ad2fb84007606720847b90f48f852950d4b6b39eade1c7304bf701e37eb0944f767a67bdbdfacd9af781727de044509ad7d094fde06fea6d0c6990a834eddbb47c1bdcc8fe39545f0f660dbd50c7aa3ecfe72909fc32dc183309365bbe478175f1be144b1012ea3d849baaf4e6172dc747d220eea7a5ee63120ba8764ce75c8fc1104ed54813b945668da1e73a8c3a802be6ee7d91c3536a49e7c8a39c563bbe3753086a261d19ebe1d5124e815f0624aa16129776750e521928c6578d8ad24bb14f24fc3d94e335b9293b01a6a02d1b75b80d357bc93c1e69d6f8aa51aa781ebc0eef18b7437f7926af3cd86957050e9b759b681462fd2e49daae518a5fdb2c7ce38a6399593b44f4ef32f7bde907ecd7bdc68b761365856603ae781fc0000dfbac9ff956a71c94c32f902d470572feb513b8cce6afa1bcaef04ed4995fec70395976f33feb4a878d27996b422118681d8b51948ee497d8c3bf6ed53500913f985e2f3589fccccaadd81c6fc08423c5643f6ba3ec4bab2b51b82f6\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 6e94314f6bf2c893d1e8a847452457fbf88992840d7fdfb560d9867c1dc6cc49697681cf5f992d4f480105a0fe988b4ae3c2054321589efec66c2b00db7abe242c9864a8ab81d12bea0a72c8551055c354a2cc6613b40a223bf6c6130f705c2546856060cb7aaf893a155e1adc3a6031b11460865c682160d407d60af73f24b9173049a6cba4a00873e4d01b438426f05668b660cc2e7c5bda3029bfecf1c08b5f4142dc4bdb82eb3ba0dd87cd6f22812f60b81c7858420df8e8be6930d34df3543752a20e5b1327c5b31ade28e22f36e7dcdf353d343be41bd1a822af8db3346ea0994e7661f1df427a36984aa6194fb6cd2e0cfaf2b48d5f1f38c3d4caa191ea0147c84ed83e90c61659445873e3e8724827fc644f84a6d0b7aa8c3c8ccacb9536bd0763f8f13a25452c4499edcf1c1d83920ea7c537134847feefdfed0a035a712620b17d822a732dcbc307bc288f81a80b2563d5a64aecad38cc96c4fbf894aa5f8c186edba2844baac59362cba9e8a6a47b5b982f07afd4120cfee5423f\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 8235fd61e07cafed235d6bb2cf32a61c46cc64214c3713513156a143725c56389bbc055efce63391b9de9cf068ce8552aff3b10133df8b96a699e1c5f55532cbd8fd0b537f1701a5ca3cb8805b8b0fb4321645f9263eefc7f2e0f624adb5851b26d443fd9ea63a9777ead460d541794a3ed501785b7004617afc8f4a2fa25ef031c58accf42007d69f11d1ea5bc60a0ad7601ddfbd3886855965203d923f9fe55ba4659f619e93698d95ce6ba2381fb00b65b27afd9d78f7d2345e3de0288eda47426b3fb53274961431da5f276ef0b7b1e89bb892f608c1d868c9fff005349e1707d9a0b3db43c7cd6c58fe6010dbd2740e19bb516aaf6a7439552e76c9a4f47f70473c2ec46cb6984298f79732f1269886dc35aa9fdc24c53dfb85d86bd2f8d4014e08dbe20ed386251f1483c9731246572a5d7812d3187f3f9b035b9d435eaef7bc04b640f7de3bee24c0eaec19c83b62e77f27e07d747dd9d12b2c6c981d7c782fb946b4dc670c58aba775e691fc5c87029740d533ec8ef655f9dc07e062\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig ", + "= 327ba5921f996b8a88b73aaab9e1c84a0277f7ff6b321a1146b074f9b90bb4728e652dd676fcc11ccf7c1ef1eceba019f60bc18b2ed1a6a5baeebe9c570bcc9875692e9c72fcdaf4cc60e095cd09e2070fbe074d74ec30cfc9d07876994478583f8f4066e05bd6c022f5328315b114ffe50809b0add2169d12e97dd426be82f258f39b348aae9eb1dbc978ab192a0b66f6844249a1025d87872bdf0ce704f585ba31e129c405e12de222696b48848e08cbedbff7cb6b5f206b26c9d0222edfce7bf4d8feb90ae7e88c65f95fed9d21f4820bbffc2b7e872b65658a2698480741aa4cfe9d99f40d6c956cb8d8c984071d2acb5116e23f7e89c2b2a770262aef9c2b5d606729baaf9ea42175907f34e7017fa587c8bc86e0383eda2bf3029914f54f70b8464562a446d845bcdfbb027a08265ab9d2db601f4b8dce68379de6c9af6a795a4dc53306e51ceab07bf26f3955513a6211bb86dac338b17f40bfbcf5eae1530b856c729bb930bac2d669d59b23320f5d8a39f116aef427ed6c67d3f087\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 4a0c5ee82e9057632d20711f56fca5b845f70fa0b167fe7bcd5aa374d5ccca74a40d92c525f7abef1aa29e7c3bef696a2481c8aac22f46a9b733a85fcfb38c765fb56e8b45224ed3ca6ddd0e8d8c35281fbe42c9fc635eb6534d5d42ddbb2556628ee942bea2c0d0fce65c2f4d3a51b8c0e0e972c9f2dd84796616b1ef48f4c32177a0fdbfb9bb2b1a7c80d4d3a75052b767f794c4251a40fbaa14ef8a700fa0b0d3d974e80ddb31d03daef42cf3ba1329211f60f84025f87db6eb67f794d3a31a6cfc3ff7a5edad3ebb20fd13891d0446a44c60b6bb2aae96eb8c85c7406113ed7c13ec6dae94266d1581f8af06c511f0c0d27d174c0dadb7784cc290102106182ab28c041a47204aedcc15419ec9189126f4c27bf700a0e7827a1ebc13a379d5a31366f72379f544513b846fa7d6597e48a325a1b5cf853483ab51288735eb55e7ede668fde6a73ce3f47a6eb17de256a77f0f62ec3f5f339b0e3ac1e9000de07d92ca5e119987198c7a8b450bb0afcbd4ca3a711f2507d989abfd08dd18fe\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 7319ccf9d0cd1548f31726f12c5f42f5c934d4ca8f87073c05f0cd028f5c7683b2f36d446261858dea9bb137ab65f9b29ef29a9c161ad244b67fe481810cb59999513dd9e8199eb3e5d17a5c431e8f4a3b8dc45bc13c7afe5108e8cdeb4608ad14767b1a6c3c9b2e53c229d0f6adfe28b249c196ec8906c1b326b05524c18405d8c1e26d035631bf22630e242ebb6c19a979552f6a7ad6dce9836306a7439d8d5deb8c5abf3238bdddf4cca7b3710e7fabc23abb6eb39c6476798efc2d95a8720dc034390831c87a19daf8c3c7df0bc0b07e931226502699d109f4bc8d2e3b880a9849c730f30522e818fbd71d3f438becf1aa055eed37ec3bc102be32eff7ec2af6b60404ad3cea825a4c2a46fe94193009eb940984d830008c92587e8d36733e5aece691d4a003a15b0fdb9026e3cc3f4b69d071789fa7392d0bf640c10b68facffc8656c4662fcd894b22da6c4e685c01130539018ee19b72c7964a200a06a7714baab1068ae55fa310b77c3b7890bb828831da3dc93ac7753e0bea12c5f0\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 1ba3c4136fc31f48fea41a53aa08809c560738e63fe4c80a30b2976f4626d37e488048bc696276e8656ca071f7bd3aae45ce8911e3e49056d3ea54575aa93c58eeaf489039d7596f9e632a586aec5993de8939ed26b6363d5e888dd70c392b96d933b158570fd0917b76b46442964cd4e2692eb2d69b19e4c1c6e6b208a9a5ccfefada5e1ff54fe3fca74211ef01a6097dbae787a65062b00971eea93b8b3eed2a558ac75cfbde9698cca5d1484a2436fb7f54040ec0adf34299e66e3c5062179745618c2868092593dbc1e59236f7d55dd2ea1f5607cca607c00328d63d8e049beb97ee0f92a05927ed2639f68ec742774d6f69afc81e1d288c887f6c4eefb41529f846b49e0ac3c48871bfea4cc84cef08e08f2eb647146286bdca275621bffa048dc11012ed50ad9defc8107bf5344109548a02de126df0d694fb7be6a4db0f8444684e68eacad2af46658084fe9c4546b0df6917771bbfb05125ca4de8585c03584c916b458ad243692f7870b70e93c0cd031700451215df39cbbdf61aaa\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 91f445878bb1b9ff36555ea7342648119f303694c7ecac4e9aba585dc16b36fe7b3dbff9706e1e2c30e1daa8ffdf57214b05c795163d43f6368757ea73a30637a7a7e892499fe8e9510be9e6bcd790ba887e66c6e1132ec553d306d6aa2c4b5a743a1535bbaab8f3e6eff467ae7f403c566d99a598d877860b66f5afb5d468cb94b8ee89a0d67a1e163d2debf7d381c571d8c5c334ee34583856e0ab56dfde8682508eed44afcbeadd60022db7c1446adbcaf6d7fde9b31f028ddf4cf0455849d9d219bc04629989918577b7f460ca46464494479cb4b6bccfd9e1d1a2ee53f16210f5dcc7390cede73b04354bd5bdf6c2e7cd4d4c056c013c0383ca053b15d2412271c7a384901e791e3d5702a9929a540cfc11b80dcd980fa64916dad7aaa9d73048cbb864641398f33775fe50ca590ea490abc0419c78fe0309fc0334312835a0076f1cf34a47623d10704f22e3ef86f1a0989565da39d0d3a0859488e48f057230159787c9443ccc7e8ab93a53bae722613e6c55c1371403b9ca48761e90\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 804c6e1a8afee9f6201560676b65502a9fd4e17d390821a79c18dd7036f4d7a6f4efdc8a20b9c573b4f1bda1c3c281634bc1c1583ffea03e5dd84a5d3a0728935970c37380b97f81c89a3a2316a909da68946a35f77427e70767d6ccdfcd3ada7e503336b4d9dd1d269c7530994663a4d93f9e5e3d3208dd8f4f2622a2d3bfdc2bc79badb2541e6c04b40f98b5d3a7caca89fb793ef78b5aa0d71c1cff54a6a7548cecb7ae6ebff52aa3f79eccc0fa60dceda2fea8598ef135bd3b1703e072e6b07b9495ee8a48af86d7ee9d6f00fc11fd0cd5af343cfd69eff9c08299baa364de7b999714ab9b31b40efb7980563a6873480d1512dadc7495c105915f18eda472cf4a524a3bc3f7a163c11aec456226615221b321b7dffbf23d4e1e281aaa51203c966d440d4edf3d0c26eb03c0f36486f252680d2b48df239b5cdb7d4c77331fe8d771b999be67bf00a50a0fb806bf9bdcb91d74b6ac9e124f73d696ccd9766df1a8f2911dd27608c50b2a4a0706071a81d26d7e9fc6fbca395fb7f190330b\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 4544c2ea627bface1242eb30cd981b03220a44587112127ec34b3cec6625f785b89d5466154db2dd8ae2cfcd529508652d4b8d4c3738270411c3fec03dcaac18c363d8ac77778925bfdde9b079b53c1cfa5a952c95895843668fe8a9f34c60f62b1cca341b2cc2ecd7b1b74fa1b8165963cf94c3080f920ac969ff945236eb47062c1f616f1a70ed08439a0ce48f65b7238afce44f51ff22bd2f4954e6c9ca56406d8cbf3a463c41399d958633dd93ce4604d3cf99d7c46cb0b70a5c3abcc7fad329c6ede9a2e2f38accbd55bbbf0562a2539a6258e16a583961564229e21a1b125389b058778ba2ec5e2571c0bdc6ec2740ca4e2c961bac55963b3884132b9dad7c0b172ef8c5abf07ca6f4ee8101d49f9ff9b7c634a713c4f58e8c543e26134564ee6ca5f89e690a92b9c4c195182ebde4898e62ba3ed1471ea6497777658e0cf6e1c079e021695960bd946d04c5fdfba915b2798e79809459b6544f828ff3f7b841581082b8820832f15b39045611059e408424878ec882941195e1e05fc2\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 6fa51fe3afa18272aa61fc9eb46e730dc62e41e1305962bfd52ffb1008373fb74127743707dc8a44cac5767bdadf5f9db8130369b2051017d27c4af5e00192d708a74f915128ab7b58bbaca311456cebc65a0b3281c67c13594ed75c478a3b943ba9f6a13e6e5eba3b313e9b48c052e1158e0579a61251694b378aa50d3c3881291758ee38328c6af167be0e13267cfc285d0e155655ef25f73f0e9008cfce46dcd35df1f11731816cc54f62ef292063c74eb13306253e341cb1095c1c87c0759b8362eda2f3b81bbb4254c91d6487fccb247516f5b2eaf075b9c1c8ec64a32541edab4f1d6d828f69762798bf141ab0e6c0a193ff85331ad051f8266392de58b949d3481b9681b2e0313bdbf723e69e9bcb033bca68f6727281b0f827266544023dc4b35a14d418dae7b0ab718326aa9008bed6df1b28fc76efb24ce0fe85a0ce44607f3679621819afef73051d49248f55778844731eb532e6cf476a0818ddad1f12f4a1c2a5950ac7c128c9f492013ed82e11da4b5fa3a281e2f35058bdb3\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 35ac34aed37bedc84ba18695c867d9766905a967cf406b765801be0890c3d52aeb3070f053a407085209bcfb99f5f45860206fdffd3badec9a4e8f19ec2d3f8206e6a4e767c4b52cbd8e262e30c52529a4568692ab8738f03e5b1ee15b64b74c39a57de8882aa512c1eca1e6be516ffa67465aac6472ce80a69985a8f107546b0d9a6086976de8d8b30ca46a76a8620ab64e2504824568b4bd9a5ea8819b454aea310531bff8c0884c52c80543660f2b7dc78fa15d8fcbaa9204f6496df560d66996fe3f022f4cfa36b6d4e427282f840b23c4983819bfb19139512949928d1b1806759c94b6482e9d7e521c42b1775644b885e6e179c20fe78e02b97a01a91f38d61c17d5ca676cb38b3f4313f9fe8520844c1a965897df0f04542552b5a30f37a20fb149b1064007d91ae0ab1e74f1b29d9b612947c6a5b5a3ea7181d216c77bca94ee8aac070022a4cd3aca6b740eb520fdab50e07135f4d157eee0416283ffdeea746e5a625a0a67d321ff0e2ae3a5dd4adbb3f5639f0b412ab047a1b5e9\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 1157d82d3d7d64537c3d71d45c613730c35a2270b75664aa03745bd1145c61030825fc82cebb47b32b483dfd11188dcbeefc33a5a23cd394c8fb496bd46fc37c27f3b2a614f93b83216bb0dc5ed2ab4825e8cbd6146ad90023aee3a17b74567a6219f703d4d298b53adda7efa6e90e94597654eb9f0bdf605402b7e2970ef87d5c9cc361607d40e7dc57df65a021599fddfc33417d58a8747772a4bb2a50b02921de042acc8a7bb86659c29999159f5e528b167f3fc68fb0d6c62738e37a5108e14e80169c4a7aefdc4a6d7e5f8e04c46a99c55c8f3041e01ee25e0ea55e6fb61ab094628bdaf434ca2002abe822d83dcb6199198e28a59", + "6e31ca9a1d652279c1f583b0f4d8f62f6d3572cccd7972415fbf3320d53eb402545e5c680094e1d43fddfff9a7c6fc54d99d5bbd89b43b01f495312853897a9293341c66321dde1586afc9a87dc0ee6b96e9522c8e0d3c0d26efc8b8a1e72e920dde2cecf9abb0fc262fe6ed3cc433d1902e668b456da663977b1036666b1efd7609d2fba6c5ff809\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 13d10858e9dd83b88c6d06fda2b433637b55c611a9cffc566d10246e966eac2b404a7ebc5f1d382e1000bd07bcb3b47236eef93449cfce8902902dd1a963c69762420125ebd083dedadd93b6a4fe453492da1897f76f11cf161a8b7b54e70ea9fc5e4c8a3909a537eff2f1c693a86685f249be1e8b0a9db591a4d69502574fb161bc00746b1da9d0b697914a8f8032b45d61a3912b50228d6eacdbfaae960876c115034d8caebb4a6b426c3d8813a48eec5221feb6a11f9a4d426f5b142d099efdea1db072f7d776164080e2e42ea973c7b86215d980b1238f80fa0dd03187d1f42e4a6c1b5f99c57a83f0a7297e4f8df41a71637ddd82e6eec3750d226b43144b0595682fdfe29885f330f72ce3a4ac65cbf9abe8030776c224e1a77f818a625288a144ced77173f7d89686d5330831d0f49bb9121f8bd36476522011779a0dfb10dffdac7ef3a6ba5ca9a189a9d599c6dd9a0caa36ddf1a9260360f1d682f56b1bee11fe605dd46a22523d0cfeb6b410697a76aa1a96cbf9b397270eda3352\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 73d83c49b2f9f21266520b5fc02405ab30fc11097f3531e5ed891897b2111f6980ff87dc9e71037616af49dc7b95ffde6a409694ea5091287d5fb89890286cf018a0355066485ba92ecae9c6197003b8b42178352988cff33de298d6365e0b726a0b6050d2fee7967e79fc8da939a9e6d24930ca674906bd7a5c95a625ca320f28aafca85367f20f8bf4493543bb8a7c7534b28fda975c66d7b40e3997b0145900751b329658ce5d4f5246e96155207b8399ad9e920157b4149a2138915bbf5c8e4aab38c113e1375c6c9bcbd53c2280eec2885b1c9a826f2c938f6d42eb478fc32d27933ef3e0239f50989603366c98999dcbe73301f26a55e2028bd721f1e765225fee1ec13d42106127c826a810b3a0747ae5f70256d6dbefd92843797c708b4b6998c34e57c72d7bee5a1a720df1417a1e50ec274cc4579456c7f72c59803058c6ac5f9d6e97f3ac67b19388fbe2565e421347faf326ea2ab98795025408899cefad1db9f6e9c59fbb6b4ce50034aa26f52374d83e350f765c52e2571126\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3f9364cc60c899ec9941174efd85467eaa08d1a61a9013431d28dda61586470415f36218d43ece41d4226e5b2ad325d31bf1c94872a6d491e342fa44cdd6bb14b6a9e33a72374d43cf8c671f1ab01df01be49b07478cf05eb936e551eae53f5bb3ec778116325faee9aaff2861ef3e9eaee8260c85ee1bd53c402df08477537cdc4d15fc577ce7bfe9ef3877dc3b2e27533654e18d62c02322b2d2c9f1dc65a552dfe4ec4f3e5fbcd474bdd9cf4b0ebeeff8adef924c2224265a7e31beffce81bc5e78a4ecf0d116ce73de9844dc025fde2d83db233ee965b08616fefb229a9ab4688d726177082ee11f745a68bd9f73f68f0049b4fd1d6eb6409a465b11ffc9aa9282724a9501e21e00e5d8e182ef35e8d60cf775c852969ef01df5a00455826d6811b4d71f45ad09709ff21ecd7d0162dee3332b0ef5af75a89d50a04fb0637fa89795c883bb156635231b11387b6393940bcddf0dee2511656d019bfc7752ffac5cc7a715b41526418f031e29721d8defedd0df3c360aae5f0615cc2fbf71\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 5531e7e612176c77975c1af25bded7a9dd232fcd51f3a8a447d4716e91161bfb7997ae973d20a5e555c84950757ca7709d840f0954be1c42b19a7d34178136872828b41e57d3b33b98fa61aa31c90d6bae10bf0a9c74b41900cb6b90cf88158018043c7ab996399904c212ce2b15f096657a24f697f27acd04f3997880a4a021b500a64b6894493130db373904f736de03abe71bb675ddde97885f0c73a770ccfdb8b25b5bfea0fbf5c98d6bf19d3cd2247c11b02cd0bec4476b9da97fe1d4a684158ae235274a1a93a03780b4929b8549128d8cba3af070978688dca296d81facce004d0e15f787c617008ffe3dc145d11d985a264f3ba2caf7a7f5a3bf99eac806af06611e106f2daa06ec6da6b72d8047c454c83ae79bfc44b8053d4be351b46e73cef389a9ecfd82881ce691a87972b3f7eb01881ab5670d6190cfef9e034fba0adb4015835f480d6464a07aeadb0fac199e4524dc6ee850c8aa2799e24128d00b402963549620313b87518a9d003f2babe91ffce92897f3999677553d97\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 530df212c308fa97d4e8539a62894771f63de58fb1ef7ff423b42991964f147de2daefadd9414a40059bb3f7b683ba887ccd96db3b9e887b99132a21ef8fb6c2032fc31fcec6b5c9c1de10624438d86e7edaca6baf4a9daae468bc27d985d8cb9f554f05769ca74886a72a42c51cd45ec2b2b6002ee01e52572aa1b17660ecab8c04119f3e5fee56fb54b0367b135d39a905594e3a43e91f24fbd178323d69839bfa2cfffdb7982d6da2f01e60974d905ce75164cb355c43d0057eebccc4451de40b923aa69e0d8339d5ca56e95c0e2e3e7942bf1c53ad40686950a7a7d266a716edace18b30675aa0d531e9c380cc479601136b37e4c902e6cd63b77a29d7d2cee1c044dc347a21043f3b10efdf48b3af769c399993f9de432941fab419b0883a8c5b137d00c5fd827aa803970b207a9ad28c0ea283a2f7c08d273daedd3e73b2dcbd154341a1b0607dc9208a4e0780a4575a1ca541b647033d6947386032b4f2b1ef3dda52fda5460f9e145beedce6d0a030825de385b997b3a61b5a8c8b72\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 36bed7e07cc416a7d5ac19b50b56eccddcb530d6739a9fb7aa0ea151fccf65ce872fd48a1d90c816e2b9887276ba07e21d95a8904c300602d5450d6ee996e8ce930fc11015563f6e5e5d8b6066b2cdfc94e5964311d9c7aeb76520cc19c1ec5182f942f93f22e1d1f5eed5572f3f0f90bb7b33f91070d4afc23ee49b36060e46b29a1b7a536809c5578a13ebbc04ab52019a017f946521770fc23be1f3adb1e84ba9abcafd44892d396914f51fa4a7acc0cee3f5d064571a654cbfe1dfd17d2bf3c64875abb62468f2a9b56253e478693a11d0e4e884457090eb3d9c8cb79c83eb64adab19023a6f6e003a74142fabb5b984a92695ecf0df02538c6d5da9fc0753ec36d8a02fbfaee8de74b297b8ecf08a28ddef5531f21fa9cdfb0791f809db1b0cf6cde4a538eaae02a6a459c76cb118d0b6bc06f401e2acdbf3e6baf7ff7b5d34b9113ebed0156fd639d80e51c7b41615096e4f954a300ad7ac98f6d3f1a5d45fd567a33d086532c7e56b55a89785f0eea0c28511d76effabb56e2b96f5d1\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 94d4378d1c8c763f825fbb1d1a24fb4c62e923483a9728abd4e12519ad2602d3b676987e9ebd3989531f6306d963300f91a0c4498c16afc2dc82a8a97ec08e7c11861a6cd6f037ee90a967612996b78a738ca9ec51f853da12c53c78879afa15ec2e79944cdd036929ca7e6ed28ee9f2f556c1341f3002c9b621e3a5bd4f14965ebbac93979999934dcc7e4d30bbef77b80d7b4abbc0bfa027dfff28a8d16ccb9c47cd9298612a827d060de18c92a18fd92ba4ce86fa360df20b801c93c41e753bcbe3d00341a3cb602d94494bc44a86d6cd970492936d5cbe8c03689cefff2e91955489505ad98617ecd6b440b02167a98357fc4e4c3b5d70ad710fabfe91f244f36a488046097d339598da00c84e7cebf24a82f7bb85404d47b55b91eb1fcf4920aa93d43ca6050bfb2f8cee8625e523f3c620d1d3a85651ba5d0fcfa833dee73540f88b44c1eaddbbeb119ca4de7b163210f0a85591577e7488ff35a0dd52c752055a551d517b7afee521edf4ff60fb00b305fafb6ea47b0084abee01acbc\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 6570b72bc1a3047758f7aff566764bfe3d4a7ae9c6a9ce4778ac3fc05dbc2fa0e3b1713a6fb93dc4d3ff1a8c305652c3478403a995f90065bd48bf3cc82e79382d22e62cf328a92d5191e0bbed42f3f852c984889a908784bf172f46c7f40cee2970429db36229199d2bcc28796628896eb75d86069419c019638cf21defdccd00443232f3ea44edaaa55b044763302f52e92c23ed715f40f7f2ec049719b74670b8b59cb44387acf01bd406e9806f3460bec87e5cc55c5401a3410dfcb0d9dacba84f841239d3416e1234cfbf81f5e88212748c60f5759ab93430b17e92bc8e6d80b5e892c7694f119c285348e77855affa6e24f9bc16a8da2aa245069cc18a3901201c881eb8bd805b49e8720efb24fc0746239b0e4e4521db23ce597cf3b3d7372253214542bc4c40eb5fe1a90b2cf8c75ded44b172e79ea61abdcccd9f27829c91c29d574e828d416e5261cd2d7de42e50ca351597f72795a8bd4fc0eb721437fc848b363fa9d3bff447879f1ddd1c1927d679b0215794c9256b546e1685\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 1bbe8fb3a0c107374a27858866d3c9e18861908439f631d6aa55e1f7eb8a62945284efa9f0f8390f7dbb662672b7b447a0bd5abe5aa170686288045227e2d036cb9361b9847516181b1b84dfb59adfb318af3796f54bce608bf9063898dc9ef5c5b806aaf9d1f49d093c3c1ac3a1a8adeb3cbfdc2a88e9a8b657f7a0cd3668f94a68eb6d89c016793777af6d046e9e7a4c51a8401a0f0b043f1b9aa5bcf3b64b25388c0a41f99c0cc15028ba58d9f8c137db4280213e4d4d4126d71e9ca2da4d0c56d215bf1b12efd03e3063b30ebc994b7a47c0101bb5ace808a5a9f0e595abec4f2a5ec8040c35728e6730a3ae79737f495ea9aefa232cd86a2fb728987f11c97ff47d6e65a155e0754d57161a6d427e54e6823e72f368ef02e0af0b38b893035acc60cb9ad8da2da0aedb61d554298c2d7fa855746f6c85cec85e61a287f2fa1ae382e6ebdf5e9574fbbec9be671c96ced4d8547e9b4fa3999dcccb0985b18e9094225a713632883530611bc854a92877e4237233ac8466394bd65145f232\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3a98d7d9fab0680448b1386441fb373c0768bb59fd72484c0038e3e0448ee6d1ae727a1cea451e881f204d429e6bff49b52ea3e16a71c7265ead31d70c4282975c854f7a08f205aaf0cee4040a", + "13a2b4cae71caf16b1f9a307ae029bde33a4659cc92fa632f9fb724717d0a0c126ea256978255358b6c3bd975d0454b974cba17f6455dd240604866c0b45d06b1ec1ea8d590c481dbb9e2806e556d4fb5e40f4f37641570cc2a9de98b26f0346b6fd5dc39e076aa0d836b0a3fe2824ca44e959215468d5ae09ddc8f48b4f1bf8a4eec683ba9d45863b9a544cc0d535b62451822fac336462c67ed0bfef1619d516af66fb147f0061d18b9a8f6790ef30274ab7fefb9ed89d4f2ca6d30c6c1c7fb990149f16af8163d0eba3e59ce59fc1a822a38cb1802d2be4af05c7e452f0674cd1409bca1abd9636ce54b98f1fc4ad22a482cf1e50e9609ae09741d6fd0b1ffec9b8782cbfcb706c41dfd52fd6c600330dc1cc42a4b86e0a85f26e0a269ab8fa76e3bf2fa79f4fd02e5a471961f67c3a7a94\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 33538b31ce7c5e24d7dc087d73265c61c312399e8920b8fdf521d3dfc590657f00fdfcadca3fd53d21314e7cc35129cd6e170c06b8dcc25476a47892a689ed5c8afbddf4191b9cd557d4cd29f59333201def168fbbf00253a942eb6c5e543ce01fe3c4a1940edc138cb95e249a32ab7b90fd1d98343d3ddf6062ded626f8b049ffc73a9f69264baa0ebb0b7e8fea0470ed08c2d4140c2d492eeb12e4749a7581835cd81306294737351ea302c9069132d19b0f7eb280760941cb59ead82e665bb138faf7093f45090ebf6beb5754293a1e4f0feaecc7678d5fd56413bdfd7014938f3031a912cbc57fa3211b02ad34139fd9c11f6fc27a8b6ae0ba22f64d4c9e2dc1ad991e3d89f5978d9c87d1fb052a68dfbc0b090abd1b31915ee07a0a481a9437dfc8163f84586d0f3cc3879fb6b4a4203bb44d84f5f5859f5b294bbdadf34eb2343de2d16e7aa005bee959beaa38482b6c0d0f7817f4a556f377cb2b388f609c377921d5e20f08d0fbeadb1a3e63a11fea5b7b7531c94c152a083221d238\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 206a841a7c9c2b0af1149a40a5ea82658730ac50bcd20bdd0762afb9e4e5debb745e9943153c8cf4ee1fc0e22c730a66ddcd52204cbe83c05149ccbb6fc60b9d641168af9a78e6d741a0a405731acd459a45b942581632111f9f447a27f1787cba1b3fac01f66e3c6756f63ffc18d550313f579d47ba847e9b3bf5a1f4a138697b938c04e547d22d3343d9ed1b2143f85109ad5a08b835802732a796f1f15698e46b47658648554706521252d265eb353231695eef004b913ba0ce9887eaeaae752a3b7d7db70a97c610c3e212c5336e2e865895291a70a1efb2a593b76b60950727dca1330d1215775f41f5614a094daf94c9a6c5ff04f699cdccc48b6d7953fde80621c796285bfcc56d1cb7ce0d14e555083ffed66d3abef9a9c2ce76c22cc57ca08793c6080cf0b74c21443c5d7338b5be15204b45628844f68b1ec3629e53f55137ff9a0ec9827bf41ef935c6e6cf67b2d5074a8fec929ab4b1b3663e6e755e748988e9d4a5310d3055c3269ad74fbe78354ecf97bdd404db93e8a42d7f\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 72434ecd0f59044f64be219f197dd2ab79c91b2bf5d3ced002bcffdb28e3c59ae04f4d87bd9a439f406a21174fcc5b75f2565bee2f36a83e5b89e22ce6e6e26e68cef6c6e7973e27502c3091e57448015f148f0847a805a33be8322127383f0a869d21aed276e9863ce3128ea240b63b6caea2df217644fbee930add2d0145d21f2f799a317c123aaedb1d71f40ade4e76637c9112c4e8f327bb2f6eb050078c9b802d3a2e18defe0c32f436021a6a894b03de5f68d6a677ca57bca8845385d5bda6b0f320325043008fb8be25c97a8499e6545dc99f27d7e2ea222541ae91941dfe812a8ed73f848b692aaba2317dc2eb84900605e0b8328c9e47170c4bb6a90fcbc0ddfe3314677ed4255b6582048846d2a8a738c4e6e60f3619ae722619df0f940660e8988abbc3fd6852a8f6b6b947cccd1cdddbcc676b35eedc5619aba1bf8adb0a74f2fabb31f4affe1555be5ef478f6c5c3936000c575acbd3bf6bdc1faf69276b3753e76331ff6130eb50fa9552c87d7ae047a2fc28a3e211d308765\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 91fb96a01453a15bd07987b6a072a04c3a1f71de0949acdf89883a749fa967d5721d6962f4b313c5d6036dd2c9db051fb77d91d9e72996dc040b97f513eb256677c554ef56a847d5e3cd9943bfbf749b67166c52bfa2add4c399d662d38bb6ecb812bf3052f676edbfe084b62823a1631a0d22f992ae73b92b0e116ccc45cfe4bf2d913ca60fc2224480d32dfe75cb50ef14561ba2d425988dd504ccf632cff1276aa592ebcf725ea61b1af4b7f2fe53bbcbe014e19711dbbe7e42df0c73e93480e37d8d42d5e605370116b13012921f5f14cc1dfbb97e06f7eff77fbf4e5d127239d8b44cc907033cbaf3881cca67eb1a2299c6e586c51142001f475c3179ee1e009867bfe61614089a060d8f9d611e519eed0149d8376f65ce3f0b038ff338e6ccb247ce0cd2cd7dd24d3d5a48c3628523e1f7edfcf46102360aa00460dc828113f46e2399b2ef77f86d2601cb4eb4c2a6345422ae40e8fba2a14d00452517c6fee431682438962a02e424db0144987ae403eda88c5ab9e0654afdd13ab1e8\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 033c248bbc3ff5231e75cb44bff8b3225d20f0252ee528ff24be672328fe66f413a4ff0259b3a22b6ca788b6f4bcb4315ac99f59434e097ef066c0e5821cac2ce1f50e4510d3709bd030a613ef05a818414c9a5580d51fd4e6d5b4b7b146f808af2fed1ea5f23c12a370e526fb1133f06f3acc4d7f1ae5891eed82dcfce4dc46ad947858a228d6e47cbb658176032290ad7b4cc76d219c41a358d64e1989faa294cd6f11b5f9d94fafe133b725cbe482e82ec6594313e0ae9b6baab9733e4ee01a88093ed171bbb8384780d1c26930d409bc98c36989a9db93fdaed7852ffc003e981c6969e3a21f1c1ec80552f3ddfd76f16ef8b04533799a298690c6a76a2e034119faa92d458089df4df5cfc3e5a2ac5fb7496835a4dce6b8522ccf5049e4d294216cc24392ad0b6bc7250f7d319c1352f58123377fc7ff9bd34d2e2f4f504fc272c9ebc41d11f83abe60495daa36c0ce6c2a26b985cb1f30873f7b9d6566bfe6963dc2154c128eee636a815e69ef32d75105f91f1597ffce0fb34b2b89e7\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 6e64189255c0d7b2a93f30bf771d9c0850f57a173f93f5dafcd599b801b997eba3f76e4f1d78d478c79adfe14ca8191aeadd81848aa769d65b50bc96f3e18654c2096e16eeac3b0246c8d40ce09acbeffcd5edd87815dbac35ec555925f33766a40f330675fee4a68b8b8f54d3550dd0e6a60d3fc9f971685ad1dcff49b17bf7a933a13153dc4b154ff5f56e1e72c8775366b6435b175ba420e6fd09dddb6466f6e87ce2075b2fcd75c99e4df5f2a854d9afb60a38df49452a20f46bc604f92af5c9f155884e3ac1b2319ddd4525c118b32130b7dab2fc18967181a4d5879dbee8b9094ce02683f30d44e5756420137037df7dc4e21efe99721b013098fd895a3593ee8661855644bb8729c36aeb16f230c4e8fb0ac4587e2392a26be95ddc57b19705018771a6160206dce2e6feb02b298dea43e732167cbf7bc96a5bffaf27e3a3b04eb07a77ef482d77b87e028f6cd0be364d9cd606f73ccb0a6ee19d927ee221f3c724e7a3d80c8a715617aa06db021a4e1b956f17e29b462a6daa6bde9f\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 55b771a10f9d7f1dae6650f5a5898c7132e288e98e052732780be3a22bc5a06f00af59831aadebbe5dad715b1e2c80ca27160a126b372c6a02fbc597c9b132d147e5ac72b0ba81cfda442921bb65bc31b55f2cc9eb5ef9fa04553cf814155be4944138a79d053f0adcc8cc2fa0fe5a97ea6129593ffd1d3364cdc1da0d3a8ca2aeeeb96f4cd529919d155b09b35b6ef30790fd928dd623a3143091ae74b298d9e67135939194d6cdeca366f6f17b202ae5a9b291b810a165cfa6581aa42aa49138a8548267cd20bea61d90b208cd4549d9b1f4486ef933fa276fc71eadf7a0c332bd0ffb2c7a7a41239cdd2451b45a5f74db7177cc127edb752a8d38f543b0632bf8e92dc0aff15ce036ac68722e3013f219b6a3fb8b9f9d75e0ea71fd4178aafe16ba575e5fb7bef9d06f294658246b53314a0d05c5dfb36977a8d3f37a7095ad9cbf50bf4d45d7e8291faa72eeb83db4acbc12cf1c9abbe9108b4ab97f2313a9d0767786a13a0f8611c43627e23d0d180c10207db9d366165d5d6a6c183353\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 6551feb2b444f0fac650da3445c113ff927c26a1d4c8ef0f4b150b335635ec50ff1844f469ad6b3da8828705e0abb44270f86e92472b21170ee6e68dc49a46d1bd242c0e15974a863b3fa0f0489391e8791164347c56b87bf0258bd1fe04f6f11d14f7cafc1e50568b871a2bda206dde850f6edd46cfc484bb26e4bc8c9b7e5b5aa694ddf0dc217a8b85f8371e6e00cabda39b22fdef4fc6a7531c18bf03943b3af40f5d49ce4c45488f24a564eaabc4a54fabf3bc4848b309de0f5452415607c431805785d8d440a4d5b36f71d64c49c966001978159e60ad48199c45ab88333e329b65d5780be2650875ec0cca3f31463568e840e5420e387cb1788c614fb95e0392a97c0392d79594155ed58d45546d6ab7ed08be75f959d5232bcf08e77403185dbf5eb9398ce8b9a4fe3535ecb2e54b15965b9cabc427164ab23e284bb72d4f7d12b7b66335686ba988a26aa12617a267ede320e75c8b399a8dca3338613aac83f99bfed281523712fbe32a7046b85af27163e14193ece3bbef93361ed3\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 16c1b7c4625d3ab8b9a7595bda96e1bb7c70dd7b43bc143aab817524d3fcf281ae9cd5df2c1e1949d6a7d4fede269b6308614c1ecad6db2ee71250deb38a955c07e76f70272a261bfb2b31ba3155b38cd3705bfddd2148f2e3e0976760c4f0051a1f251aec74942dff3fe78bdc36e9c8d41457f42903bded23e05683045c131cdd4e343831a2a1d2e418355e2028d2b3ec94688d3acd7e3a5ef4c0e53f4d722acd328cb9c3ca3f0497f6f5c54711eec8693c67fe9c235e45ea9f27b93901f7ae98e77edc295a697d8a17a91b954ea910900069b43908024b35b7aba822e3ca57af412916f1a5df213e47608e65d2d903ef762755ae60c241b1c36bfeeac202b8a35086dd961b06534ccc5a2a4f23a39131a915ee1d1caf8c5b50834b224cfef8ba8b752b7e030b5e955361a463a6b908f8c8d0cc513af925696614624d12c4eba4ad72b2a7727b5a2928b83", + "35fe870bb17adf089d30116d7c9f0a6cbdfb53e5f5ab7f056af622ca5e77b797118f7add95a7115049e4ac31ef5d7858edf5186c4\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 440d17b009f689abd5301d2728eb6238342ae5b63134681b24d61c18443209a18d8a9ff32ecfd231e77783a00be559152fe28807c0c32c8ef1287be6bd0fc3e70d0fb8741bbe2d30bc39a898569b845b1acbeb1688c82a34732f278257fae502db21238a504dc1157cc3298c6bf6137d6700ca6ce03e5a1dc7293271d43f5863e024595e63e2b98eecf3ed14afc2bd08bcabe0fb882d9df837f274077e79d08e1a46326cf5f3b4806945405c84a7e7bea28b6e84305058832c189039038b5e2ad54df21139e47acabd93cc53e91a8e4988a633a63fb8a7db32cc6580acf8467934969cb64fffe3da2744e7518140cbfb1af3f3183be3fcc951d79173d40bec9b5987cf9ada82a48c7734073fdd15296ed07fcf50b270e3f38cf227300138f742c00e02e8d636d6bc46c15eeb631ae0b25f649a1ba9a19a8d35ef313c769aee5e996526bb6a1d205998d366ede6abea912dcf8f39349a0cd0e235aa24d9a4f71b9de18db66d89c8f7a53485343e8ddef174653a454a3c856a3436e2f9872aa25f\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 746e41c7844904f729d879917081761ea0020aea2372ee8568f6ccd91e5efc532f9cb12f08da3b98877f2b93851ad627db7411429367f9a7af703a16ba34f2689518f468581879bbcd311c171c781f0f75fe522d038ae5bedbba455ef8bf92d92f53f3d8bb06b6a9fd185d917d01a327224978ee898ab1c0af1105c65d27265b60912f84a3dab3720ed229869523abd565ceec086ddcd48a2404471e70f22e214b80c062f0d2a43c3d0f8c0fa12e449ca1b2174ed1d6f0e7940f1ec35cc74fd0545db764bcccac5483720d25acda5c3bcb9c99f4b60e7717836b8d3520c3a8e7db48fb68571dc9e304b3a3914eb2407c8cf3e8f17bb38495f3397ec850fef614117440aebfedfc40515abb112bccf09fa4b38301ddca73892f4f780c574bd52a913ddb74fb9f56dec6c54e0c8e910eaa95f2f1a9172cf673ffac01c2cc3572b80e93a325373c1770cf69c09fced6be76193c83c740f5e4cd468fc20ba9ba145939e052d2a58b3bcac19541e2f0bc408a2ed547117db7aa6ac3522c6409d8e06f\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4468ae2dafefe85b8a52539cc8c9847d94e01161e01d377f6ea384bb1799ffd763e4a4210a39e937993311b355850a895286b47b26c251997c9a9f18964e793eff80fc652fbfb7ce1f7f052b39323970c4cf427d32a07708f3859f9d101c4c75899a145da0590da8f07738043e4264e0d3d3e3a2987636018823647e4dd7ec3bc3cf7d65fbfafe365859e6a5fd907d37e0db2345e67ec00d7dc0b75defcf88f50603ab55b1e99e0f788cded4751bb49522dfb4f9eee8b2bea813ac50be538916ce07e3513b1fbbeb9b2f83c4c2e004d42a49d31fe63dc9da6b55e9dd60d705fa367d2cea478466a9257231a53940164d4dcba5dffc17dff7ff023e8a95da9e9ae126cb894a06e0341aa3c3c83a52d83065bd18c36a9edf3d4410f8dfd46cefca3db9b64d6020f9b964c6e4d9b5630b465396790525e55d33b6bdecdb7ff4a085516dda3e5c0fa3a7bb57252f4c79fd56ffb350669ecf1075112c5e90268bd773ab912e1dedf36a859c415f774aafab370883981d3e54ce780097b0797403d610\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 77d8cec49108b8a6ba4315c2947dac12d8143248447b443d3c189267727ead92e054f8dc591df862eda32e447fbebaf5354f67dac043fbb254331481afb6c4da45b233e4a5449da2ba07b993ecd07de6e5c21f8a2dc8c06a6222eec1cb82043e23ed72bbd9995379672a3a6d700870db6b7e33c459f073b92bbc052935fa967ab7caa04eeea6461db6ddd7cc061d38d8db9de581151d8b38c25e8dd79f8a4e2cd147412bbe90452bcad114a7cbe8d6b6130659aa38be2feed6c96efb1a3b8231d2f8b290356e77d3fcf9230cd75a87a84479a34ddde67a826f09b41340f1372a5dc07acaa0c7db898d49251a95c88731eb93cb35423c0715713e248ca2c7a850a2bbc7816d7bf3d82bab216189dc15d9413e23d77a9fdd11ce16d48f3ffb2643cd611ce15389966656251e5adb08033baca6e69b289f4a03cf88ff493e648785210b30484ff9125d25217348af874cb97b23c8d07258f95997e14f31f646f70d2f94f00db8e2958506cdd8403f110602e92ba7bb0ed0cf8be74ecdc85a131982\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4ab6b85a2c2b64135217709b6ef5d267dc8e9f61e65c539fc92993b84900f9f2e6a035592751f5ca54001174c12599466ffbcf7f86b4e7e39a94214a8b84bb2baabedce3f526103e3e951728b35312a4a617a031167acb20e28f2bb7c175076f8556dc5b37e8bdcdb0320ef434821ab5f4b2a312342c7a64cd0fef8981b52d99dc7af0f27e506c7e099eca75109204394d5b50d26ae3770a1416aa73003461a750fb189acb23e5a6802d098f8b33c1397c44d6a4f3c0e6ef4956dbd285868d3f2fcca8280ff7a9afbe4927f444a394e0d62c3bb8e255396f22d14a2148732d80b6fae6de4ee6e4747764dfeb4c60da9a7b2828ffcaa670a136bb22ffdf997e1c8ba1f5a372facfb467d7e7378a64c38f447d45edba202e233f8ee06ba56e7c8a151c4c4b8dafe541de59a7b530a35bbae4cf7a885cd6ec1f2ee6d14930ec20b53893eb4457ec36df22a5ad015300d4d1034286471f72a05e395598f3b09c390e0a0594b7d36b4d9c1758ce3d2832ab64db2a4ca65211dc4e5b4e69b72b21b5e9\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 131d9d72773f3a6b9026f55edb23b348ccb4e34f6735ccc204592a69ff19663551d73d340cdebe9f1d26ca192ac58764b02989cea4e8253863a6d9376a49a2dd6ab53dceb678c3ea74e7f0b4ff97563dc168e2020bde4a56c21c988f88e379fe647b3a39651c1c561ba444eeb677d7130f9b9d5a9a4cd9b09fc879c2539f2c423bd15458ef32bb1c71d5b518a20dd50f4a9acec57648bebfc4df7964fb6d60d0d37116d594864be9f826ca53533b77317090a3bd1024bb7a39ca67f43a96f5e52aa5d73d69288ca3f2de548641579f54e484aba2e4676d91ce01a50a90996acdd32c2124a3cea110cadfa46338374c87fb52460087a9caea824fb83673796e28e2d00d5785b1e820b8d35ca1ad0523b724a310b606a4bfa6515a2b7af231dc203308e9a9d0a39bc10c2be68651860344661a73cd1e81b61cc3b39b2035c15f6feaf4d6821a38898e3e920f0e707ba72a20213d86b2642873dbc30ada5b5cfc30895f1cab0393383f61a7aac1e442f3a5ebd01d16d5c4b745e56b87b19522f649\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 09cc7ed5357f2eb7449514215b7d4bc94c3d0e3b9403a138683444f12a24fb4f1bffda8037602b19053727c2f1422f540d5c6c2ee0c0205a3e8d19e4ee968640ba857c04cebcfdcf7538e3a11b32226f57714ef6ac47045e94026748fdf05ee975cf8b47d790121a0bef0e86a2fc9e7444f28ebf54e2cc06f7adb7c14c1077f99f434b4f4b23d0e308c3af0809393639f40435b190175fab570b6acda0b2b94dd331cf75edd594aa7d49836620a720cf715643a73704f1f5d7136b3072d6e9058cae72c0cd3fe15394b4438731c37e6fe78971d8280630679131657b64edd132910aa1263ea2bbca36eddb34de0b4d9a42258c6e2727b71a41c28bdc07c3e367f194f0418a4fc7b5ff7e531db5f0e4e5dcd9ba332c0fb6c4fa73e10ada4840f7aa2c310856e2a453ed595e9b7bb0e0c729375eb0607694c4d44ac2203f797f701a13c0a4be1fbf5a90c6c680a78d871e3637637200e4d38ef6cf2c2db5c2a5e55c1105637bd97831c9f39e9ded20be2f381b96157decfa0e648696e5241f3794\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 8889ba3a0556d7d65a08bedcf40c2862409cf65c5deb821b7d12e6d1961859b8ac91177b7d50ff8168cf80fe88266e574c6fd719980705bd7c488d768e15d2f871f13904ae2280e21c7fe65da19988f2f62d84c87a32ada15fa3a0591e8f7bac5da67e7339966c94c0d864e670cea00c810a01ed78c0552562b37c11a04427c100cda4c6511f2986e577814e48ff565d3f8370e79321e612c371fd4e1b9cf93d53636844fc6c392e547f5c309fa3b89cf62d1912f0774c82c567989bc14399d1fa0b1d87d67ef15ae9c4d577f78c913f58c48cd28dab95d6358b49410926816242edbbca97dfe9fa9f44649fe02fc8c620fe86767708a1619606ab6c873e970c9bba1bb8083a71e2888a7a4917ae8767b3051ce324c8babbca7efa4509f8186264976109c3b0b2b453e1bb1b7468567be2844de295098a8d849602c0261f6c3284613517f79e84008de8ebc151b98a9c19a3833a8c322cd021af09422e09938db0b09cddad47db0beeccba5ea56d2b033e2d90e327359f056d22692cb7aeb2c6\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 252594c934192b66a349e58332c9ff111026c512a439f886df1859f327d875836f529e9c462a95d5b0e8ee6b407ed6f7a7512b70e42612c1479e856388da8dcace91780be2f56da99c4a76251f86f2efe2e214404ccfbe26728b6766f9a28f8787ae318d3fed0fa585b68bd76ab238e28739ef19afab1247ed1bb119fa50f1fcce4bb946047510bc683ae499730cf316eab96f14d654ab311786121ff7f2ac09ce146b98ec0302775c0b9f06be0240b28695894f53ec1a92ed985d5c6cd55d9ca5d64891842673d2dbe8f4d6a678da4929eca8450887884229a3edab3305b691f242da7b7043f0d759d6c36361664e4566aa419e26944195ab8746a05d56385943d971a1ebad627c2a9e6c429253a1142abcab5ab71bcb35b7c6dc89ff5795aae1fa0d7d8ae5fe327b3959d3c7c373c7a98cf382819f21e6fc1d29ae15897887728033b6c05c293c28bd9670b7bd7fe70051f1d30bc3e9b4f20d6caac77d331c3c864c61733cecb5cf5756a9c3e485b58f936261487ef2b8054b5a1f95c4295b\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 0fe6555340685f83444fd844ae5e7d11a5ab36922f3c63803432ccb84b3643f060fa7abdc6865891a1672b66b921867ab08fc62a4dc48104b9eb8e4bd89c26b821c490e843c3517fcdc249be66680ca40f2c3b7500228cbdd0323cf6b6a7c18a1846c042676f50be45802ba4f1917a84058382b9f0a1401b1656b494a325a9f151edc49fe2cc919d84e3a027d8c83afbb8ed5a72f68155", + "86ada30fd7b6fb3c95b063ce9ee8fea2b134ae42ab8bf08110301a8838c42498f4d6b449e1dcc65454f81af0ad2f6c146f0b3ff0ebc761b53b7f855323cc4c16956607a89e238b376bd76415648a26c8a473709ef02b27a2cf626450c92ed1238ee95df90f4b9cb8ff1d6d092bfb79c0e0114efdb0ab989cef4280b8a8089b4d65460edc9f93d89aab6ad072afc903c74fcc889a1e06ac8bab8e61bceae5e325af68d1357cf0747bd10c103fa04f69d563fb270a06f3821305de3f02ac1617700f07ecaa6dd525ef9e54b9449e2974a94e7e7b8307659495d700181f09f8680064375ca19cafeb5b81\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1c0849644c72821f89775e8240949fd317e66ad216beb2876865daf067103d51fc428bc9e19dea39b16df3cf55fe9af9941ed456a9b398b373ec7de6ca9c176352d7d2b2e2635529c37715c1139b36a105f7def4aae688266feeccf22a076d19d519aca76b88b71364fda8b5fd52c0832ed2483d3a379316e370b7e10c8e6209debf2172446741aff676da31d7761b7497f2e55bf78954cb3352e51c8f8686cf9949c53d03d6af5258cd3ccf442a6e773a687ec95a07d2fd3c37ad0c7c729a832f0ae3689d1f3bb272a1f901a1b2f9e161432b57c37fa3abfb509e7dd91607895df45cf2b7720f5ca34a9b74cdbf82c9637adb391ad70f53e47131a22f82709fed31c99054a2aaed935e9791a1a6190b724a16e5df74ca14d1d15726ccf96edfea8bf5dfe9f48747f45153056ec068429ed080eb5ec57f0f7ac9c81ce6b1dccc1defd5528088661e0a050322e1a2f315fd65a4decee9ef9f3021a34af2b1f6c365d680f00c0ce9d19ba12b5dfb515c129b7a63c34c5033edf9d876c03e1f3594\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 5681ec35b49708b8f8962a579a33e9689947e9883246a8df999a35d8bc24271ec1460668999ec74192b4f5dcd0d49f22b31c77afda748e3bec58ed52e96dd45b23f66b7b2c2c703add64e6794867e9be72bd3a4f80431ad6d76b9a502b9b81f04d126f65c18e9fe3953af2023c5519fae6958bc7a392ab5413b2cbcd2136491b5f25c02958a844d700468c2bca431d2b998cc1ec6b31856234f67d50872aeb12e9d401f597180d396e74db862db073fd157ff4c2cf0b73c86cfe5266d99ef969d986236960d710853c5540f62f12df09f0a81a7b0acb657179abb0442ade44463ce729540f31b3c2df9687151f142b5df3913d036604636fdf51306c329738fecc711d57713e5f2630e769662bee450bb5fc8c87e0da8a2bfc25902e5c52a5c2fcd46bf027550ae7976f8ed008cdf4b6b53d32bda37dfef9c98a3cb68200c3e06b0a10dd73d02da9c43928e14c7455140e7d4afbc972c089977e0bd69524a721acf48a4fb45dee76b0473db4ac1907ffd586c54c643d6e0ddf04d3821439f3e4\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 349e9fb23a4eb3c943d840912a447870aaa91c3d494c05b1f801bc5384fc0b7e9b0b0d6899462bcd0b357eb7094ce09e817a091f10cc34ba793fb7952759ccfc8ebda5bdc4b7b8932db3cd18f5cb0d3ccc07e1cd5a6537a701f06c07ee01433d50a16c5331a2a913a82dd3c8ca95e66b481237bd38bc76e213af3d32489a325ae448358bd68509d3541a94ca89c898acf6f6bd67cd66c8522222a1ebafc5f47df1b0b10c08b84dbb81926e9e7104c02e7bd5a77a19ebbfac4fb423f5ef0956a9ca3ef49ddec1f7591d851f66834868908cc8a8f569921ec7a9a1248d0f2aa68c380f194e80580e3113427cf6ebb695db18ce345845bf22c75f62bf91cca1c3eb393814a38f4bea08c0f35f03b9b77cc65140a382b4376af27c653e1b7a7c0bf801fdd3d18c5aa3759eeb25c158c1ed8c9865f8c1cf0b6438e412680667a94e4c390ad3d916b3b9c47a50a6ba460b1ff05a3df1f7f0f58596005d28af75eb457aed85ab6475a73172e8eb987af41558028c8cdada1a754229db1c35699d717982\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 419ad0e31cde95cb53d3b3a86b8a8fb605a0dd08bb4904cffec0d129ab7b20cba91fddedd019897fb486856fd779947702efbe929a006860417354b4932582084b75e3076498259fdc783b34441529c25381cc57d1016e196768dbc01879d768d158c299325cbb0f84a3712a0c9178e57c592e7da5e95ddf35a1adb1c7d217ed13a2f1f53f76344236ea93bea71f113a61c2677e3ed5c406a4e70eddd76439804b6860337452da8cbcef80af7b144ce9dbd7cee010268c9dc68a4145adf2bdfd05f64fe495a3c4c6996358e1833e07f6a189ee3b41952042696d4b9888e6ccf0940b4443adb78b787b29f6c1982e6f86b099a3a6bd0661a4259d4b968cc83467433632d86ff18c2cfc920dba2bfabe852e283525a15fbf2fe7a965b328f8e34514b3430182d426a7e3b392024d8bfe20e1baadcb484eac0ea97812ccc92a4044f60d446d2003080a6f2cbba47afb74fe3d48fc9d599c50227b30df75a941c8f19d6fd6ed66b9d3ded89947ed19bcac7db4fab8097a2d6ee652da61163a7b5a31\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 9555d56a5edad3ca7f1c40700ee2a072673159193586b08713362995898ba384aacb76f7ef3cbce1e94fb79a77f72bac5be73aeafd9cd3b60546b63abf575741a5824f5b0a621905aff6c7085531936504da15110edf31887be9c90b96950babdfbd6f5b0ccfe99c4c300f730408bd07bd7b9d035d7b829cfd7045150b1c9e89b4600d6f09baffaa4dba48611c8c3f745fb954a52fab6944b6df7f8cc4266c3042bd0e6d7b31a40640f726567c44d456dda93eadb7e2016d4fa10a0376e8acc4e4ed01d0849da3c178a6c75c0d7a8b695a8cfc84d0d8cf29619b3eedfacac2165c31fcc3c3a6f062fd5542c305460cf55858d372267bf95f58817f37ac7b90c19c69f17d9cdeb4504ed7c278dc10c12a86273a919e03419eeb25313d976d927fcaddbe08e4357f7bbbad0f273f0bb0302847e04bc89c850a8605f1b8ff0afe9fe9a00fd05c8235ced766ccb0f2d8590d9fd6c20c4fe16c5a60e056414eca6fe888ed5fa338e7b7e27240bdbc6c708e13a316c113c3af024b4e7dc5360aea3483\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 8829061808ea7aef2b338ebbcfbea99dcfcde31958420193326e26fa5aadbc9eafba2f49b38bd629f5bf1c2d3e92000050d5d89360896a8a29d147aaa2add622e5913da439451a951c0286863cbfee3083585af883909ea498314f5874282944546de32a80a9309fa9465ebf324d482aa8283c8589ee90757ac52de8f6654ee708b44f588c578f0833a820c8a56bd575552360adfcb95c39616a488f2c95fd94e083c305d5dec38a158eb94c40c018e6b4002efed29e28f78980cc9eae7456c6b68b04f5a0dc0c2a33b71b0911e058bf1e629b8dfc8187319d78285953d53a38bff1a994a23b017a74b6d18b86d37e09271cff51e5d113d9d947abeb188c074182cf281fdc879930685023a5703594820a4cb1dc22c7007083aebe9ec8525a044cdf67d58e775e525ec2d954f2eea316cc12701ea8a32627b8db02152cca9dde87a6bf5dd5eb4bcda3b34d35171d9152560f94ac2dc43bed33f3e0f026f1a578bee46c311e3b14d444428482952184e5a9b05c9cca0cba37b6b4d30844aad78a\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 9f8ea25a407acb845c6be6e4cb263be64cc2fca7d573536b3076c75ae9d38cb70156873eb2fffa3587c3650a81ce19a254e2ede3410b0c10f8a2f4b8972c75dfc690ed29ed1b41a44c149dfc36d5f07213101cd4d2c6bd3a9b367279af08f8a02fc346437452bb40c46d705db078efd49c0ac0fa6be275e3b2db60ab17204d87e35201a426c4c1b30340ffdc6667c2e0ba82dcccd11340e1c7ccfcd18c6b34ac1545e18e3034e296c2cb482e5b8aa923b68597667abd02af54af7cea95cb2fd923dc90ace6ff906989cdb98d36acb40f5663cfd6c68976e502e79b845b592aba02b43ab16699dbcad74c0f00decd1e26af1963c49dbbc6baeb585c9cbc8230827267c0f6330269317af01ba0ee928b04e83ad94fd871cbbd3a1d4da58acdcc40327042762930995083c10cdbb2d9543cfc6b5478e61ae544f66bb65332a061d4f07fae41f3b25130849aa9ee4ae9497bafb0143def8d0a2fa0e19f87b153fe34f817a46cb00348d39ab1507708e2c2defc388486724e9371148761da04d995e8\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 6d675527594f79cc5e66c9f795573bb7374f66eb396f97c1feed0772c86dbd1a3b36167f557285eae066567118670a787d4ff113a7a7ef575de05875c3bceada7af2c86aba621352f0b1ec1aa3a5937bfa830e859e836b3a0a62841feeb7d2460a266fd6d9305cf18421a1744d93183aa68e17ce1d61bc55eebe21a23fa8bf1b94045b10580f57e393a0c72081aa1c83bf9020e3d4c3e761456a18a1fead5e00157029b656797dfc321c754fd1b09cb2111303d1bd603c2c3e650951516c34bfe9650e03446071cc19ff9529505e1c6f69e2fd3f61a71398ca8b55310843033ad0c75578a11db3e83ad802fd335dcb71e83ecb4edf47faafd0b1bccfb89f3172f957eadfe61d9b097185150ba582d23f75387caa248d11413d143c38627be244bdb442ef4756236cf321288264a892856ba0b5784f91326e58fefe80e32f583aeb56f6204a54062119e87758ccd4ef0996ab51579240384149e1f19bcf54e270937b3f915060b989c026b5fda38919bb9fba6bf983091c2c6f338fabbe971c96\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 28ac59fd8a65c69dbd4c66e3aab2d1bcbd93d54e4710b3c3003bd8e1a85ffe6e21ffe6ba6526f3ccdcb563295db756f7ef29daf5c3210a36c34fa42fa13c6a557b4f7fae965147420adccd0e1013cf2100963dff6ca27371a34fc7ce72f7de62a1b6992b6bfe287046f01611c0fb65872fa3f988075295b73731ebf149df9b30016f305e950c46bef57cc40cc0daececdc3ca1979da134102e47319b0500cb32b337182d053c0f17ba9b9a7866a3852855d1e5f914a21b83548093d4a6c4f8f635f8c9d7b6625aad390a202c6d3cfc24b2b8a9d195135bde6ced5f57368d2ecba166e7f17e05d29598627d8ce6b49d3e681827e6185272200416502a1b9e1afcb4f9bd454fa39622c3eb839bc55f021ad006a90c4b2d9f9a933a92df7b2d997868352cd011f8ec17aac6619af0be4ece5747b9265a41185ebc6519dc43b1ba9ae20cf8929f54df6e4ce02f87e649b975d1e69c8610cdfc9b6364a148b2176cf1bde486aa141da819f639f58789eba896e9946896fe1995609fdec089e75fd742\n\n# tcId = 209\n# modify first ", + "byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 6d05e2f726e9a367b65f841b01844e615280364465071c86b3f4a527debbd7cd46f5732d6203727b868889438d569b821957762c45145951ddb8ff76fda97f5f8a279eb840f9f1f521f804c8e65168233f85adb863824a748b5a5b1395979335a14fbdd160e555ba064b79fa3b6d0b31692753fdf2e088eff549f7f6fcc4256444778ad1ae5112a59ce4e9962214bf0d4e7b4e85c93ca9ccaf55b55302ee3ad0795ea4f4da90af896caf2615aba2d3fb21499c4ff813f696c54d0b955b0fb34b4eea874bf9342193226c6d6b2967543b9d381f33f7370f5d7ff5f89dd79f388b5841e64f1b785d9e29fe235c7d509fd23a08d473ef3b75fb8a7e8ba78274d5538fcedd23886ed916cf20c0054dc43438060da6b685607219410a08245f214779acd278619689ba7e621d0257f54a2583a3508b0d69a968516b5745be891ee0731989a16187216d47600bab7000ab9d34d41d515d909d97419dc4d63ff014e9db91e6f3d5ee83a22d1009327586f451fbada7577f6540954a760a414cef0fe42b\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 3b07c83eb71633cce02d709bfe927baab8139776565c90ef4f363b9dfe24b5197f4f457a4d5515b18b5833a9732a87ca0ca0f6572767efdc79e29a7429b8f95e5d91236ba88e03041f35188fcf305699a45a10f43d16991a9c4157f259d4c92a9f555468680cd17da5ec93bfb0f8f2fd1edb0646763466af4704ef46123c232ce230aadf0803e89cefa40e8bc00ff53bd6d46466b058b12ede7f6ddac04baf420b0373990cd3c69e277c1da421288ef85f7174793118ded6e65944c666bbc6ad80d2fc17e5fa0255812dd1f227cb9f62f1d8e8e727f77ee76110694f0217b3d1dfe5206c53a2d9908508bc902e0aadf318d8cce51a4dee027db4af891eb495fb69ee8f63e19bdbc7e79f636ecba4e73bc4cbc77cfc38f72349827cbe4ea7d416fd66bbfece0d8089e26917e6b3d16a466139974e5f5837938bdc7e5adb19abdf0c9601ae44895911d26ae0aed08dfdf0ed13a6070da51a7b346794fd4ffd1bb0e4b0eda4118dae388e738aa6d451fb8433b8a1ca4b04e5b36d8ff3dcd537498e\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 2ef1b57d4bae68d33603719c33a1d408f1edbf0262d7f11cf1fe1271206d3004ab581a11e870e7aedd9d48f4ced6d17920d46260331e3b6936be3976c0195d75f1ae0a31531885dafcbcfdab108f830ca811dc5465063b4b0be364e284cc759fac4a6e21aa156f6916654a9f46f850d714d245dd0c0542e61292101839c63c3598d58f56bb9b1efa44be5d6a2adc5548c4c672413d551ffdf239550140e91eb763c54256613c910d4e1c951a1a9b280049e368dfcd7a66448787ae0ac7638f4cc68bfddb0a837b124306b4e864d7a89eed62c20c6c650e1c24064c7c779726d5655e7c7c0f29b3298ee6518f44b316eb0e67fe1ff883acd0bf3e8f43d666db819f50ca3c765148d3552bfed9875ab76506c5ab8008ce19163264d5792caf479fd126f9ed8ccc234f3e696e62a8e6c5addfa0558d9a23bc09f4dee3bf03dc7f997111dd0f1fcc331c6c115ad299c0837cc4b52933d843faeb85ef80971ba4e6c358d29061a35632bf794ace4b85513db058e54f81fdb43a20d5e7c0bffc3f9cb8\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 2415c061a50da3a1ec6636857127378eeb1117194d9db2147ec4f11e5d6b4a9137e8159e51ef125bf397782fe3dcf15a110c1994f1ecd006c2030be5de0d94e0e09e55581cd830eafb14bfb473f29a2f11d7bb0b7ea7b7a7156147f7d6e13f3541f8dfd10a4d867b7f82e550bc7c553a43866b295b5430faaf7d5ff4220e8fe1b538837e92eac811fc713a83533241b31e1004627f583fe349ee5c7dfd334fd9b4494dae6809029c12b8dba865734ad7868288aa6d1bda45f37639d2d0feef3f3b1a742720faa0c628dfe016ea413a48032a1eccfc5c54f667c86d14e8c6ad5b9f7a44fc0a85e1aa768bf7fd778d71459a92cf07374d2cc9e6ed2660330f4e8b62e2c7117edca9d16d9b10d833b2c12309a7a2e9d96fb6eba760a4c3528e71ab3a8beb1b11039897443bbe8c85b708613c214a7ab7a7b81c86b493b75fc5b1196caa2b1138b239b0c455f17338ccb6caa35a420455d3ddcee6ddd01847632aad44ea88573cd50e6588e586f0ad6365e7aa3a8fa941e0b6089b9716e5832eb659\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 542afc8d3d3cce9687949f8c540f90232f008e8d2018fbef274870e99b6ce10ca6bd4eb9b47ffe547bcc1e7eadd9643f61be60f86f884dd8a66e1b152550b397d7bbac9cc4296c4af5e14bee66b04bc88a8ca1d35189ca4cd0fc7d0ae73c52086148ba26429709830c339c3dc89cb8dba0e182e3df9b95fb10e5150f18b81ee3023504a4b1daa8f85ca2236f62108fff221936203e9c5ab08d42bbb208bc318aed4869686e844c1b94d94cc3ba6dad5725b343dab9b01553ff5011e59496c8bd3173a1d2b2faba3793030433953ce1085c4b8a8b995cf5cfed340f24a2917af535a26d1c0c5f3a3bb106c300849fc8fe26203d14efcb3b1d9214a565493f5d07e084f3675c971ecc8fb6cbb1f7c4e07352b1b3ff9e4286d258e7b12e844c76ff9eb18e11304cadb7c781661c98bbeb8b8e28b760c66ed71890f3fca7bfdaa15c04fe7eb53622096a8666de2444095e03f016f094800848de29268982466ea0401eeb4c5b8a1853d4b6a33e7176fb3f6a31bdd6d573cbe857ba00c5d5371ee81c\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 31690fd711236dd6ca3acf585195ac53cbd636069684f40426ca86e1b2d7b033f6b9033fa75b36ed9a848e2c9f94e5b8dd05b9396c11514ddfae18e8de5a3d5116bf81aab21c2e564b19197fe5e83dbc87f4fc1afdc3a0a6617f3fdee4d63e89b07ccc30aafff4c192cc0164a81c032585cd92c997d852a0ab35a330030e59dd49fe113b889acef34d278eabc985b70b312e6bb62ba278d7d2cb557aa38c88b9a0a4f4ebb51b87306602619a9361d8daf8bc8289e232665f92a244ec0e8b041510c6c1015c01c05bfb0d36999de4a57fb3127258e1ab265365fe2b4c051633254b429131a330750422074803b6dece155bb3af508df4706fa6b465e3be280942e26d82830caab376db6a5c95caddca809a246f05fe1fb9336a433a49b1eb31b26fce820117914f6d7d489c3c79b8d67af29c815a2883470f5384f6516088ba1d999d0d4ad1c7a5d006df523ca69229d20ab6774ff7ad8d80c6f3912671475cfec977827bfee540c09c4be1e3fa1ae5516aeb54773b522621faff15024b20b447\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 12c17d7c5ae90aef671b6593279ed2c76219f9fa6b7a01e620b45906582d85611f95c8d5b4224fcadcad8d57e1d6ab7aef928c2a3608ac6d94442afec80945a8d2d25a04376e9a41ac77a76e572819cdafaa788a036a405d9eeb1ee3e3c956d53dbcea9e62adfc921ca0bbb651307818cfbf67000b8089416d09f04fab15382263fc9b2455a8a3472e8cd685be2d36bf6b9f073c0b37e76c3e74a09c968bffae2032b0708e8dcac6e5d539eb22c6e105031fc03a309e23f78fc7ad042196db84b877eda3a234368f982ad458442d998000f413b8a442c7188c9139284989d727d0effd09b6dae707758de61b8a1d6ee2b4873b9f38e87570842c150e7df520445e66565b7ced7bb610878884d08d6438f860c1911e2d07894dc706b14b1f83988c2968fcad0c0bd3f61aeb775a909c40bf4983175c690b910ce3dc402a2f8ab53a093a67f544d652703c82c55b49016d238953b0b31e0f9a9dc32c134032820c17a0275cf3e6bcad0b4adc864407482c9eb34406b7be6c16633fe9c2ed24de2e\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 0797dca79b5a166961da39e28bbec6ebf0d9c32d61881067f667423f584148fe8a22d432fc00d7b560930b9874dd66d731749015af00e518c7105d4d40d48bd824e69b77e92a2e302f14b00af7935fae839c7402ad58e24ced541dcc2e0a95188504e652a7f051781718f741f205a6b7d814b39fa066dc0b300cb2ea8c9c7fb90f0b1a057e64239a97f0bbac7995c60ab8099b272d2e0dffd34a82e6a443211e13daa5ffc5eb28f4e6890a7841e88234495138f6d2b497dc2165c65cc8177651375fbc0e6d0f0815b9e5f49b53f67850249bad66703e84c2291095ba66ec33ff078f40ae5cd66fe3950514820c87c42e5866997a35baf0f721793b08bc50403598058526c0111f91bc46b387cdb212d3f6d144f27d3eb6a32ced5b5022e1775a74e4e2c52638a0d8dc4410718a7330f8d15ed5e1b321fc0cf7e3b209b49f1a61cd71560434068d1759529898f1a6a280d7e31b7cf498bca168208d1335bd35312bb4cb307d7aba823a9ce8767d4c29d9636b85a0cd077e552e59c552c201e495\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 56709e7ac1d1b37f162bebb32a9cb9f86c8f9473e5ebeeff4ce5506642688f0256b5f1fb06108b0c3bd89bf7956e07ac22a4154ee4bb2cf5672592852f24d1eb46211f3a9dc55c515fa87db83d5a747aba9a0b8b3e07e1be26bdb462a3dabe7312350e6814cc857a1cac7ec6e1789f69df392d13fefc49acfb3463ca61dc59f619f34d75de7c7532a1c29228a57337a139a08bcb376ebeea36fe92d098107cc57c1ab328226195844a8cbc292dbe31523a842c5e222271d1ff98ca8ef5985bdd7f8c0c6f9f1a582e07ad46fa64306cafd2ee768baea1e2cb5aa42443920a6ec40e168e5de50dd2a94243f717dcebc9b4ee47a5128369b41fbee068f848b8a9069350dce0b83e6d5a9a9ec66521b11b735ce4ea3d8c7b4ecd8695cd87221d1d7484c9a893cddcbcb304fd203e7c2120ea5104c0d3e8fec59a6e0d1c44abec68d98f6409be5da8aa8800a93f457ad6b085cff25f7a51602691f8465391276e71d7068977130668aac2a533444bd6cdf93d8808aa44f3b79c9930e276bceb33dedf\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 26f1c4ba5c1a316e6fc50e47e080740e2ed6869adec3e427d3e85b41e706c92a263924aad99df90d5dd1a7f778486f2bbfa649668b8b8be51f69906ce866b11e3ad2fe85e36bca16ab3b19c3f9662f5e58fa2adb25d706c2a1abf94dfbbdb19d44ee2aca040585c8b83c01d60dc0d6c21914521d5b4d9edf1dfd6301fe24b4a1b27276e61348686b743d3c16cf5ad590667fa231c0e8ccf96b4c30cfff37061a33b01258a6b3133c5087f3d4f90238d0d7689b46444f15cdae75c9f52d934230d5a9c8274c7d78f7b56cf1575ab30976bf4057a4db00080449318395d3453ed40a851ae93d44f0637a743a52dfcefeef2aab70546a7", + "e23db718137c2476b29b9a96a6f144afa4780633562d14018806c5b1e156a0322eaf70aa574e2fecd1df95d22e91b45bf0c8e8a440542d1d70dbf2edc08c408bdb18d70d950286c20e6332cc4c715037e54388c8ca225618c94154241129e642c00fd7accaabdb63222d0e84820f861419b14e3e8cee4b814b1fefc626ba51c2f1097c6a4ebcb8c0ff9f1\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 87cb3f4338f3778724de29879c04dae6f26bdaef62bedbd3bd90c7beffadc29855a32763aef0a270f5144e39dbe71c9f965242e00e2683161814f82fd88035bcd4b088e4eaebff0e10ee66b1ad1958dc8df27793eee2b115bdc1756f82728967d54f09c6ca0c5aaad6e19a5fdf2de1e7fa92274ebd8bf42f66a63a066264b5c63ac6a96105ce01c820fe7c75c0570d9aca4ba7e16a57aeda4ff63e32d672ce47739fe6f599f2ac420ee4776e5849dfe3c0a1888b4f6efd76f34a5e91ff429b553a9929e73731e2619d512bbaabf3d188cf2478d026dfa0f3abae77906780db2e1d4ea81379f6b609fb0b244a44ead1936b406b4c9c60b1f1861d3c456214244760e77fdb3b5282220afa345fc9dda3e91aed17d6ce6c4920fddd2667f4e074cfea65a06291da9a7c447a7eb5a531dedfa675ef4893e615aa21a5487de867c5e353e94037ba5cf369f49f661f1d0b1dd06eb8e15d02a046bd627e21dbbc8429d49db65bc5f1407b54a609985005878a126e1506de27aff74ef59d077f16090ce8\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 57e351ad1911613910c6dc91b55738ba621e299aa13d29a85bbc5b1815b8befabfd5f01f50be542ffe12e75637be6cfcd53dd908986bf158129eac99d21da34f8febcac49eea9c0af87866739e82afcd91e8fba7aecbadc5463ea8a8d758f904c9c5c02dff1b265a7017918554b1e4af660971c2189b9d11b064cdae1a442a0627b0e9d01c57931dbbcd55ff2f130524f7502b234cf6fabd4da24ec8dc8b26189bd3b0edb5556f24d355739266fabf8b666726306f396cf679a95e2f976d25a6ae13501093eca990c35aac9ef4cc7a7b7022eaa8a1c241637c8d3caa8c87513544e955bb1cc9dfa58232a476bf92bcf9f7d01d0bc7a394d435574362f5067a616ca94f80def4325510c99fdbcde99bacd1f6ba1aa510c6dd0cc7ea6e540b1ef6ca03721f166e3a34ed794402dd81af0b6a7683acbfa83e60905f013e65037fc2a3e98cdd8d2a7882d96af02747c2e940bc049cf7d21f889767096f177f2bef6cbef65c5a11f5ed481352ab92888da8c081725b573c68745eed31581d649218ca\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 48e9fa9c8e311a1e30a12356c5edbee8a6f426e2afd213bc404618c4a050f00e9029006fb0f285759bd643b03dc4683fc76810b8fa2eed9f559383d9ff58d7f4f67fa6b3f81d702c798b499f300caf17b7d590df9db39b890b5b4d15e33cbefaf4601fffe0d0628aafd028e9252beb0799e2f8dab8245476d141f0f40716145a4f4b7000e66cb388ea037d678f0b867964468467850a7ad6ce57f0662821259b0b937cfe072a587e562f9ea0d04fd5f646727305b1e164578ffdbfcec538ab4b55977f49e9f4643ef5fc91482cd50941ee3389583bed58ee57fabba1755a2994317d903b4933dc5e1b950d2023a1ec8647e47aa718cb3387d2f57c428363c1b96bc21b636bbfe02d329d68d5f2b8a55184997f9f250fe744099a28808b487c2387825d9eef46b898b16a6786391e2bbf651e50d172e6f1581ec3979434cfa313a19006bddab314f5de431da84b377b0b51e01af31c22046e5a08cf01c853e742116ae20722d9d6be74b3659a3a3dc3f72bc4808f6cb205953d8c36381031fa08\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 40be445399dc0f5bbfc80b5114d463155ced7f80afdd048763f3f1c42f7ba0421c30b3f433d4ddc34592985529514eaee3725a6da772328746ca6d0e8e600f18c27c91e3ae86f084144384816fb13083870ef06fae11569c2bf22303331fcd0b4c905c5dbf3f1fb844bb003a96cc8ad2ff8d13d814f8304aef179dbe53141a1b92c28e05a2acff47b0113cec3bd16d0d1d2844c95daecd2103dd8e1801b78bef6ac2bb4e9584956247235d186eba8dbc5ae278a7992ce58f4bd9f0cf79bedcc8c90238bdff6f2c9671ccf355154773dcf425df02d1beaf04ba79b466f036837e26e35ce55a6071b54a92f4e0bad91b8e1e0e7e57277a16b2d66377866371222f8fc747bc2ce1a4baa6ce6eb1289c25b1834377d52c693d90d63cebf7fdad96b22796bdbeec6dea78ec6f2d886c3b7c27b850e4ab9750c9a71e28a29e93db8b980908ae8f485155bb434e4925305ee06f08ca8be63691cdb60d32d28ebd50ccbac1c48e8f91a06fabddd51fb6ca26421ffda5b6bf30e38aff88cc24715f97cf51\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 1665825cb4c077450250b5c3ec8bc34ec3fcbfe9681e3e2636d6487ee6edde37eb62ac5a715ab8135083ce2ecc89240d5c5c716dd3823d90e211f94d308d4c8815369f9a5e316782c71ade45e48ccb0c657a5d6174e7397d59ccf9455044ab87b97b61bd0844fbc9b5783e7333a190ee70dea29a8518b46f8052e06f956cd356cfeb1b5b7e701d8269c3d900a72d4b78af7fd046244a5e9b1abd300f6b37ea5a91d26c9cb0502e9485d607298cb62f2ca730d4cbc082f3bf7ad21cc250772b75c188ea6845e8a776aa6dd071731ca4dad85d0ba3ec2d9b027071ccc5761241191444f7bc98fed8989c0dcf10cf207412ca8484d3354b1669087da44e0e1c182dcd0755bf9f6439741a5781695cd90db51e42848997ddaca2b924b82ebf78b3c6769bca88389694e79ad6ee438c010ffb93a10bb839141f8dfdcf6acbb59a634dc6ace2b7dbd734ce1bbf5724cdefa0d25cf897379b037907fedded7d240c2649a99d813a850aef75b18d7fe6f1829caca136081a3502d7091eb90555017a53a3\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 3da7c427a128077200cd057541357cff5e95f1eb1ec4a370372ba4b62ee2c25c5e1559351cc4d4437c0de4f96ffed108d7455b1e76590de406513e143ac6de990673ac0c1b35e9ae3190b9651467058715ae20172968faf81c2f5984bdc6351146282c4492c6a7d9c8cf878aa86c29523b74a15dc18f0fd427f09a65458bd17acdabdbe90263d5b247c7b9cccb429be3d5467b6b919765bc31598dc684c01c00437096904ed3f9217774ac514ed9861fe0d402069489ae91ae26eb79a5a5f1d45927101fffe6b3c55b9cfc0f7bc4764019dfcffdd05d13da1ebfc0ba99f344b1e481a59476ab6d422c872abfa133095fff2683ffdeb0935a5c779bc97a59d929084d77325fa05fab2e40c50d140ebda7710678ca77df62762a7c3cb0a35546657e332f38e0fe51cb285cfa9b2ae838d23d6bb9f3e962d55c06f3298e96ec4f77a3f2a53016202dc2cd8b423ea2e7c96a7be55cfebf57537f6f8cac6e5c50d4ad9b533f50d399057a5bba03f87cedc2de59aea08079cfbe90b966be102a5fc4ba\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 98f649a766413ae1348a8e601a78000f7b284eb9077f2b4a202609c6540502d6b8e54a5ddde7634d4e0e8d5bda0a5673a042c659d5fd0366937f222582b0a41305cc382dedee14234f86015e9673defd1133d133b0daa87aa1e5eeebd3af545cd59effe44cc8a581791f874f491a10030837e619fc089c7671eb0551f17ffb8237c2085e0d5c90348b22317efc1ed53893e06242ec60a5d438195bf3c70b0a11b78a7f0edc6d4287129b412d9477b020937882a6bddb9cf7ae963e7bd44ea61fb671ce6fba1a2f085afbf781971359eeea082312f3618c199657653b37f07c46a43ddf6709ab3433d799158ff6671246aac560a7f7e26010d9937ee61537a6a06101163883b68b0e4dbdeabf22a0e9a5a0da15d33427440b48918d620c8947387f92377d3a236942758167aa459fffe96fb5ca7304742a3e4e049a2cca570da8f05c21bd7f797216f01f5f5cf844c05dd74d6a5fd10ea7396b2704c07d44d7d06ecaf18d2d3aeb716599c8013e78dd2812380e15d28272ac1a378fe4dcad9085\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 9f59ea3f9dee7d9336ed2f86adb180cd2872c032ad3324cdbbf68e26d579bc7580cf9cc28bca27ee4630c3cd69670840e1f8922018023c3ea0b2e85b86a518348b46e103237ada4b5d0edde8a0ff0a54656a156010b16d86dba3c2c1468318325710b8fab1479349739c02729472fd497a92a1a23f8e5b6717292596da69c3faea3e9cc836cd21043569ac64b3b88e394b8bd450538e63b0e1b507ec79969e6e4aaf9e893374103a01297422a6be9991882a48665cc955b6d55bff8c762637f82a181ea8ebbdf6ea25ffb793c09e69842a919881fd0a2f90636b88ea1a3dbf27305cafd0c7233fee01c4f4a4444bcbbc6585efa94a8c298966dd8cf2ea17981f6726c854560c1a908ef78bfa2ebce522072eb5f4b741b45c6365b8d5da492c067c25b4f467b6c34832032a0e2446f5aaad149b298b3b6711dbfeb360cf6149b0ca998a94afd9c835504c6ec97ef49a5b8427e577996bfc921d2da6be89957912f6183b289212279f6fefa768ce8ef4386abcf1dc8c7b6ada1dbde45b7e7624af\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = a07887f3733781", + "96b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1768\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d176a\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 627e76d9ab46ec144d942afcb5fe8f677eb9b1a51c047f7b8974f1a6697c5f4ed1c616ce304bef814ce307d4d6a8ad96a704e71c2bbe7fea47db502e59ec985a69405d9a606ca5ee7bc1e131783452cbd7afebebc6cc4ecdaf119ff16986f561ee4405a0bba05707da66de70f25c1b6e7bdde656eafb70d3ecbe2ff3bee66e3f0663a55feed8c501827a34f5916d0dff22fd7baccb87db47a472a21625c1af097264b5964d05368a19004ac9c5e11bd3129327f476b66abbe5b59e7df1cdad9660c52bd13c86b5a721de476f6662cbcc64db4c6e93c8ad7561326947192501050d4cf6e62adc42e5f3c0c605e3a1b1a1cb8486dbbb6fb070426013e9e1a5a2d1d8b0481ffcc9235a99d154e1991e8f15cd453e609be6bd008187b1f3066fb8d5348f08b2784f8fff31306dbfca2c59e1f48d40d70f7db16b89cc8506cf0137e2a617e27d529450f25ad8a7c502d197cf146e85fcbdf6e57e4703408754817a06fc8a60008560890d1e72a6751a43903c0f00a47ad383a28ec7bb469b178d5ecc\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 4b417241f14720559c1e8cfcadb9e0d6b7de849b16c80dfdbc867fc33e4b81d56915190fcaaecbb8f6481c177cc68e26813d8a93ff45ccc41b795714c7d486ff3b929800f88063cdac7b7100d917c2288094cecbe5d6f2ee20edf36dc646464958cb1cfcdabed57f329561ec6a8a00ea2011d2f9215f65ff6afa8ac692aba8328a04c9f9fc59c8d8f22e309d403fe04acf5a31de007a5f0f402efdb2c83c0c5aa57379163b14429146f9521ace54189c5445f80076b2d43214035c2b0e175ae0c463253796ec66477e1571bb6ac57722105b58fb507922974ed770eb898bd584d00a2267d8bcfc66055e7cd7eb7e7497149076e1d287b31671298076f1aa6d3f1ae1e3fd62eb8714f9fc38bc6413b2a15064da7b6b589ca5ca539d0d01a58f999935f1a8e6a0d89d440a510ba9cb71a87be0cb81cb1e05b73f8402d684c768ad86c98cd3bc904a59ec88c385835fb46b4ab46e3e026eae14e54a00f0e55b5cc26920682f9713d48c7946e1b0ab22a6fd6cd3e833666cdda12e31c05240a94c80\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 338c3b8b3ca15e0fd12433c5b18347d79d344871aeca17dc93389f3c5fc123ac9f9fe95c97dca7583e3fe3c2a319d0cb409367aa7573c7ad75b118ede506631f52aa861c2b0e31a9d8c435416e8e67059dfb4ceff533c214c4243f5451f449ba7b75667acdbeae22afe959287fd9f0ad3e4e7709de5c90a6e23996a7ad643ef0c3aae54934c31d79619c04b4cb85fa5069fc9b90231debe3e59da0ffa2873dcf9e53b8481e215b585b1115c02f63bfa6143e2b900a0ac71773a0439bb5d86a78b4ddaa5e2b9e44f7192d9451a6bb8e4635948212b17173b0695d4f518189714dc0b51", + "ace3b9068f5fedda3b4ba4e24baf901b313366f64cd54fc2fa3db8bb8f1e81e06effd580fc4974a3cdae688297b4ac423d81dbd342b3067e6b4d7558ac8f4fd1c1d8f5fc94854adfb0ef8a69ec43b375ea724932b391ca5c04e7e75fdb952d671c315a7f86a28ba954db126cda3a39ef213b5f9531a8a159dd9e5698ac7ec8fe7df2a2316798742b2fb5271fabad932542bc98af6e99d231a1b5fbb09eb\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 7bf4d4739c1ce0e13aabe610a110ffe79dc689db3f9fdcbe29b56212f7ec0b3cdb96ea7052a277327107a992d40c5c5d03ee11476f328a83d2c3a1bcad5c9d9ea2928fda571850a2a9988a0078429631f6097b2fa9a85aaa1ed9ac0934a5b9d00fe6fc106342e2b03d4123e09e2ac61c1343f88047daff5f511c8fa3d66f76406b79b8f4f0475ab14313968e56ca9d2e8672d3bec27a5d536cef54220cf44a4a698fb7cbb8035eb5516ae4b44aec19da40fc788f2546d5da54b7e1110d13d3e3ae97671cdba93a6f5946b2cee22c4318b7343a0c6b0a32000c6ecd08c6913901b79dc2bf38707fdf14261581b656af1fc4e1d5d6234f9a5578869cc8b920d7020fffeb95977bc3d154b1127f454bae63f7b1ca377c3ef42b0ceb75c96b3f54ab8a5831d59ee8ebf4457f540550a6113584ca4782a53d7b62bd5c5decf44e005d2c46cf3e0691963730708ccd6bdfb29e7c099f1e91494a14a938b3f5fb08ac40bf93a10cbcef007fb6a99b432472ce3bc883714eecc76e002bace4b0394041e7\n\n", +}; +static const size_t kLen155 = 209306; + +static const char *kData155[] = { + "# Imported from Wycheproof's rsa_signature_3072_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keysize = 3072]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = ebf3c64e4c19fcb0fd920e65554a552cc1e652312c2e0e51cdb3b92c94b2b41ee201f61f434a6aa4703e87416388f4661c04fdc2e459e199af3ea208c61b99d746f4b00d82105caf4f0196f1305e806bc13b4c6e6bf581962862dcb0eb15a0ffcb0fe6b36502320011b540799e1432baf2a56a428fad64811afb57d210d859a1201ec057dd8d2a68784b48dd07357162f21e4c82f8d5e385b1f72834dd4c0d85ffd333410f08ff28fdb7365e408a60af177c80298726940bf4c40efcddceee3945b1d921b9d04080dfb12d3ae61863ad2e3e302370f5a8858a1213dfcd500269ebef76f4ebf0982a751d8ade1aeed95f41d4560084711362774b11b6240c0ba6ee4ca634ba8298f6e63ef560a39047481b9eaa546178e69e4daf5651c66c6235ba97c231241c63ad16efe59b7b5505d9c3f1818368b9462cda71849e431648be9757620c15f99ca78f4e250afc41ffdcdc52693a1fd43506274c431caf34a4d37321f5ccf04971a25c5010b9ada07596bf9a20bf307db9d5e86146226081b25f\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = b9bb1751f2336ef5126508541b949d40f1719bd23c2f0fed64a7b73ebe1819377e6e4262f8440a3a3cd456f5eec0b1c0956bf6989add2c3d1c7ba4acf7a617d198179dd974051fa7a14ecd8093ad572d7e233daa2a9a46fe59bcf7e01c6ad8d68c0afa89a58247ce257566edcedd799173e2babadac15405e2812ad12ad900ad997035966a05a02988e11133c21e111a8e06d7ce509de1e0c11de55379482cfa072348fb41c05083529c2db86aebee92095e7450a75d97fce7b3103ef1f8598459651dcb9b6e90f299c9efc95d7ced2f6e91526ab3788238e2b5e109d3ea984189ea13939d58fd4ab896c76bca4f6a92fd3bc124dddfabef1f286583a1415d1fdb8c80de8e7583fd6d52836a22c3926f69723301904532b9fac2a37d0cedccd4b3d0ddf3550377191f813d4f92a5c126ae91e03fbffbcf59637ebbf1f30acba1dfcb0f93285381cec6da60bbcc62074075c71300f8424e0f964422dfac19d205251f227614bc13568f408284b6b53bebd7dc4adfb7e242953564763292d9c01a\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 1cc02717a3321a83da62deb3ed0b9706cf7ca9fdf3674617fcdc3364a697825b910d54b891b5f8eba197049047cf0048ffba6425d47374ec24a84f1f7f04716b7ec54daccd04aff858e2e7c8830e4420b5f99df756018083abe46d3fbce2da6e8ce6c893fc11ce5967a5f367159f9ad38d957078dbfbd32e818a26b49ae00151350044d22b58a4a61a35fadef67e3f8247f407f026eb17b8dd4ab29d388bfb271a1ec606e141cef3fe57e2e55ae8b40fb076a06f5898362b695545124e9c185c50647cc5b83f09f406e780f626ec60462fb50caf8560aa72fbe174111142029b19f2d681f771a774afedfe2500fd8b1bdd437fc41709253ffdedc302f47afa774f5ad23777a57fe44067182f4b35a28923edc82255cce11d2fbe91acbce29289b4e0e8f5e99e906e6607637b05eab4028d85e91d060fc1fee052a09baeea759917b34855e09b8e5b67ad60f45851e991cf01dd528b100327961eefd0c29f1d1d8771bbf3bb1e7f048d9c2e1dc5e652e6ac4f6a2aef86245b83f611700bedd07a\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = a0de9c2df76523499c6c344173d944b8e02ee1520f90759fa3c27ce284091f80215a9a26c9fcebc125171da556bb732a0645cd64b05c7cbcd8c187d3995e3c86cd59468118e9278ecdb8e791badca8785e56f33478ba03eca721591930db01bc1a5da5e193b2dc9022e98948644a406138a4c7971ad8ade585a3d72e6c9de50320b9fca1ac0e054835005cd39c96400c491e1b706eca22ae2e9f1b844284226fdcdab1f2cc942a8280f7786e0f2cd069b9ae99f04aae424a6d24eb023e064513931b2e4f7629151af6bf83f4c5c58616960f080c6f96eeab07a87b6d7cef3fe6b071e49ed340b48867a5bea30dee332cb89e1a54d9e3a9a8bbb87179c6ad206fd48dab07104b1f887a02160b59f9ddac6d1f8801c1a8df507ec199e970e02058c749475b7636ba2def322160b11b21773fdf904cc665eb5eda887ecb6d9be245d3dbd85cde107d082cc6d8492a087166e23835a379ac69f5a996ad9032cc41e205078c5ec9c50f85c396822c057b25595a35471a2fc3bdd3f75eb8ecf2d1189d\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = ddad8eeace34f1eb1b0dd28db89ba710ee68aabb54b0a826c2d69355f63acf0f2f2e0dcb96f388d44d0940774d7d55fe81ba6a8a880aeee8ce842101c7e8837fbf2704971341d38bf3289dfc61a6b3b557588db93eef2789d3735000c8e2d830a32070626d079e710c943082a8bd1c0cfb64b2dd911eea76001f8e08cdc01cb072f027fbd9c72331b857d07c1c2f3090eca53accef8b3b015438942e8d2fd3406cbc54c7ec3797a163b13878881f7b4ef5ca45056e16e0c2a76c3d5108c6f0f48803d27eb4b0d55e90b19b6fe372dceaa61270b9efe2800bb259dbead955635ca44ff979bb054b5cdf86d4914ee553d7d5b1a49fb8e49f3f761224802858458f702aa4428964a32a45bed5738224517489f2be075f9ec7234a019005be922b8265bd78abdeb1d1633fe7e5aeb37b61d36b1a03a06847a812e50ed551853d3cdebffaba8b056b788a1bc452ebdb5a3f043a116e5a3d262c745fc15897ad4ad955595292a79eb85373d552d6079ad77e469f7d3a60330702125127b1ee770225cd\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 2ecc537edc397ae5c3c789638204ba3393bff5cd9c1f0552db515a8258a311b6bdc88325f9072d2ae67bcf132a92c0b4d01ef0f2916349adc6d8f1b415c86bce6b5afcf4cf2d3137897d0f8a33063a0ff69965a5d2ef00dc3e010094ec8214c95c064313c8e90bd84e34c86b2e19b056539bdb3c83eec23722b3e380a53826bbb31cc97ebb8ca77cfd96d3e6a2da59baaace3883c652a92e79653941c5615bd30c77aa38ad74c49d36ceb9f76544835d57f0cd14999c2c0cf3debbee17a8aba6d777ebd9ffd44b09e093f1a894a8aee80301c3a5a59626a79e445254cb1df1174450bee22a7518afeeb15495d663af289dbb09216543bccd136abf2646bac573551cfd04e6a35b5cdf9729c8b14d34c06660a42b3ab365a42ffe470b69062d0f305c733c43844565b0b94d49d2019933de9686088d219d57b256170c137a21475d03f2a7e0783af11426fc6e64895fb92da117702e4487558e8bd21db82f263c4bdc64065c4f66d87c87889ec5aa9cee02c95d001b08636dc3420f817c228dc7\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = b9b492d4796fa2cb7066069a00e36aab8b8755f9dc8294401137efb3e2681c9b57930c0ba87b45c9d70e214979cca91a06562f710a2427660547006ead7b3e619cf4652131fd84999c5ff1c9a1cf057363b8ac62501bbfb1fae840cc963a95169c658add96c6c969d415c10bec5e2457a5c3fa4fe81e7de1afdec6f4e59e3fea185c7cd1bee4b8a42d2f22c7bad7d4933621a0cfacf0136abffc3ac54ea37c63af719425084cade944999aca3f43c7625d22af10149f39acef32ed7c92f781809aaa945b2f446a03e66150a524c7d88b7bec587ba7d6fe2db4ebb7a8c3bd46e7fa1cae291ff502acf33f003", + "dfd1417fc60674501728e52490476d813f0079f56a9456909ccee3b76b30aca26fd4487527f4ee6283bdb2e72393d661ec0c35b2d1675f679f823fd28e044fed090721ba4c6be46da3eab26e5eb356d17d04fc3ac31425a6f6a50474e2725bd4dc30da74fd3767a122ced21671e47b1fb33bb7018349f7cbc916c6c7f4ca7334735a0e0ec18e01735107bd2ff02cd9508fa5832dd\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 7d550b35998d60a62393379e47dc02b1a4530bf60c892c4e559acf9b9a61208dd9ec054c865018aa2fcd11a88493b54935039d0fdf5371436da96ccc342bc1440afdc46eb7bfb6595303b013037537e695787324cf9593dc156881bd0dffe8d2d22d4e90c1bcc801c9bcf12cba9efb7979a293dc2ed17ef787515e2bac8011286c939c418234df353ff9a5e0617615acfd7bccf9aa31c6681950947df67690e36369c3c3bf6c466e9748da0582acc76bf15760e8ceead43b5c2e98d87eb502d5a823ca69702b6936cbe36295b5714fed51b35fad66c819cf1191b3708f398fbe8274f1ce219e8cc77690f30bb7643f9ea472811e6216253c58fbba5d19ab738d6fecad309999a4d814c19620c4ae998a5f0061fa616ec0ab96e3760dc5d3450ec376a1a0292899212828768bbec07a0e1ffdaf4d6e5fd1ef5a2e0567341b2fc0a4944fe8bca36369fdc0177885d5169747103418e2af807c4715d94c2bef45f5eefabe8980f90a11acc01ffe0453e1fed8a7986b07d8f6daae2fdf0cd266c587\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a31ac04a54a8b6ff7e56a0fd57b356d1f854de8e0f9001cb216b859819279bd80d8584bf603999215ba8debd1e9e93fba985427be8e2169924a3954a43b58521e0c79e7a858a77081439beda623bb7b96ea46176fdd040682da77916fbeb77290e7c93b2e8a1d3722587a70ba56b8de3b2e9599bea708568ed88d2f09d7b9d0ebf9be2345b81d9b343c7392701d35d1f3400f343763af8d9233e40228aaff22ace45920af56956e07cd010af64e01e1f8f63a9dcc3b7b205de730199fad3e3b2f139c556748d704876af986b98785fa5686d5d2410cdd95f1c80a8ab8e24c23f06d5c40ea5f2be6f980db62b6d9b22cf7aed0ec00125e1900e50db95269148f6165f563b8ccc0d35c9867412c21f627ed436769842662c856392d3d0daef99bc47ba8f2738b4ea9d068b20c249d43dc01a067aaa8c249d43e110ce40de060c7c68866639bdd3c6d7b7b635b7ba71b44b71e7f68651b203ee07b914d65a2165791cf2f6d5dcbeddef7bdd7f786f812d9c5515f846eed933248b4f40a00b7735fb\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 693fb14d0d6089db3aae22e292e43627af0cbd67234983ddc1b077b4baaadc45bcf0ea0f36ffdaf970f99ec5ed8ae8a58b7e94db9028963e14c2f624bed16bf24bbc5aafd472915d643e690f6e981287ee7856fd0f14ace63a790676457ac09692bafca0014b2866c870227a976fff547812641a70993da32acb962a3ea050845dc533390175900c668a5f36ffd495ab7917b768c68407f4cfe1d20bedfaca38f9f609e74d9e432829da2487f957069dcc290da513d8a453cca27c8253bebba2653f82f676e663db0248af2a310b254b00219c5969f05d04fbdb9ea0cfbd746050ab25cd10de42a02a0ddf223d40e233c6a6597992576f2d105b72cfd77b2f319fe3525da8a8f084c305b14e090e3bea5c5eedac3360d366c47fe9cd60c6bdeba472d408a79031343bce42bb1ef5d6f4e0e63cb7ad0cd22e4270392ce711d7c8efbf0feb888c74793f2dd903e3ce894ec758d69644f654c5a75378b0e5c63a5f9ae05e0f4818e2aea7286416aff545c1048eb4d359ce1bcd0b26a28f55695b56\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 0783d81e403f352d1140b99d6cbdf63f413a55ef9a64fe1fe019adfe807b5fa59a18e63d455e0f8fd61edbeccd392a01e09dedfe28600d1c7507b1d81bc814d1e835a95219cefaf7525fc0d03bf211bc99397bc8fcce685445263a3db61184a8e44edfe7ee48e2a7a5e3c8c7f28158a308db3fc35d822ef6cc00e8df43ab1b0a7ec2c92e3fb7fccf8f8b35e68ff6d31657aafd756782996785bee97d3ca5c37d22b44f8a1a44ed6afe5b80b9659336f3a39870b5de2385630f3fe7ce3c91bb269ecef7b3fa999a79518aa3a06fb626a5a1e48db98199c1c4d7a139497ed8e9682cdcf343dd03b4a5a056edda9e7101d2da5ed8d5b953e765bd6585cab5a27030a8c909ef69e61c0ffe9cefd2ffbc6f7cb26f64de674ec5f4395f7627adc72203fd6362c17bb1f262c430e502a258edf86076336499fa89efe7e1298c7c932b0893088430a30d7309282cc4a58c5ff05fa3f1dd664b00139c309831b8084e9f3065816844fc3074d7e8bbaa638dfc2fc0aaa74380a1282e65c7934be1cb7cdffe\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 162e2eb2457e28016b961ece8cd8aa9d4d2f4b06a9ab069cb79238f5870075de2a9755fadc5c78c28c82441c474718ee905a8d7700ff2601d7c56d7eb5a9d7019e92db6897c823925cfa75b5608c7a79e24af37abc09c89008be7b2ceb70170c6d1404a892d0804cf9abde53f9aedd13815459c3c6a1b37f7dbfee6e4b9e25143d9c64a6a817550337d0c74bb5cb6c7b5db2bbb770c67037729341cf25aa880b14d39d71e66cba9b62e1ff89c348eaf4efc79c0de4734171406295e346e9ce7562be7a5462834f1a00da1d4d54d7fd7fb12430b4096610fc96ff1bdfb88609d6a961338bae78991b05f2c80d2a131de5eb3477946d0d6f5f500a0fd93d57e0be3518b60e5688d8ba5b25c2343e894326129173b86dc315fa183a0d96845464f24cc020dfbc341f4623d6732ef699b3af9274fb504422bdbcb491c8cfc63f6cf6adbafd4f2bb671b92b6f4316ea456d9d87b8f3b2228e37b0f34f2d1ff70cfb0ed16d14ad3ab5e89985d4e30e51e4eafe69c0cf6ee5cd1ddae25b5585622a8b45\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b17c7e6b49469e75e489f9647112354316bf3ce3a58aa9ae41544f73c8e1e56c284667381eda58b3466d3ef16962a2619d718f93edab9aa12e5be05f73cbfd4d8e546bc936ff9043d5c048f93794d68c9f8d99805f85665797a27b84a3e97883e74ea14c180aa2e5c0785af69275d484e14dffb50a4ccee742e809a03da229e70ce529d0166439cad74ec6457016b92df8e53f8ed68cc71229a1e1732b15175aff54ee34de4e908e9b6f9e720417d1a619ba9c1ed70a55e4f5d9bd940532b2f58700f404cee86c8ad9c72ad7731b8c2a063efbdb96c7b35d641d5027d55e8cf6c317613373dc303cf84a469b54df3c2ecf5cc8d1bb3882dda48e41b9e5a3dae95ded93f230959c547ef59131fed18c269a0d5c2be16891071299cf1bf77573fde1535836cec1daaf7cbcc50c563d08a79725d66d3720ecbbe1db7edf85ed3c4a9160350fe94326e3f0440619df346e33aab6333c1e38b9f34139a26778d0b0e64b8c4746e5879fc56eaa4c4641171f79f4f3fa711b9b0548cffdbc39929b4ae3\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 38f8952c63cb832a35b8808ca9255ab12fb5c27573f29d585cc30b94b050fc9e179f87821a2cf8d23f10d3ed6f2a8f461bd098eb5f6ab98923647f87594e2cec18a776af433cdf2b77dce0cd853651b50700c9812d2fec7a9760388f4c26da6bee3b768574644c4069775ce21e81446a9e7aa2c97865f4b953daf7acfaac13e75e079800bc5ffc94090ed6842960e03e95753be39e94dafbeea1745fa7a4fefe777ff5d278a8444c07e3c8526e80960f6e2146900ea86720fe35c881a61e3f23a32a6bbfbddf049084d9a6d1b32b9c2492161d1aec9479a8891c7b651d13e34e784e5a8d3cb2f5412d322689591a98b41ef9b010190e732a5ed0d28b695f6ab06870ebd23fee44845cc64d4ba39017047c7eadbc16a1e35788a9d2c2ff02b48badb7bc4605225b7b631913b19683b6f90e634582ed64c25bb6157f28102c4560945b6baa91dcc551b4a6bf2b5cd2adb8a0aa87e29c502b5b70bc4cce2e197479f9923c3ca35e5437c849d5264dc18cdd3f6bc7b88fd9182bed11f0cba3cc68b5\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b24733b208d83a92b4a7c6d64209fa2ac1dbf615954eb99704ba9b6eed2a545aad13253234d88e0afa81277321a8662a1c9c59a7ff932c6b2889e44ee47e25e730427665a98f02b8897b24ee3036febef294a8ba02ce60b9fcd6aeb592f32daa1a79afe2a48f5097971f3a72ed3680433d93da0e3f19aa7d37082880b0c3745b86be89d184162287bb6354158ced89bbef14faac68649d995a4ba8576266bf5464106a82cafc07e4ae4dfb4ff3f6f0e8c713d3fb73673e75deb3fd04098c7c939f91594e45323432f30029122afd4e812475f69ec05248d6e2deec18e7dd02c7e9cf89cfdfca8b3412410b1e271023725272ef0d9fc72f35a94a484bdb0c1167c282dfda53a86b72922506d51adfab81df9dd257787aa5fb6033bd7fe61a577a7abe5b48174a3b2f7bf276ad6a6735593440867739851c91bb30fb2f6d279f35aced179d231dd9c5267cffd6b184bcd710a365b29957eb98aa81f10db84deb3448e2bd8ab50dcab06fdb3a2b1290eac0e60dbc4114243540585ec78473fe9297\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a336c6c475b3ddb4f9e58bda547d867c25b155b19d14746f8fe9b22cafabc05aca001d019352e8e96cb0afbadb7bf16998e5052b834a0045e861f646fcfc07347079822e64dfd5e72c2f996f0d5ae5d31596b93c77fee310b046d9c461ae9637ca21020e48c6745feb9b7a8f7e98e47be68214405b55d81d190d0bcdce483b2915544108bc8daaac9563483399a69c19c644d4cc36be4333fa9e9221f17b0ebd2885e57e84d31bd615e438aaa7a1742f0d6f3779c55ea3dedce1940e819cc140cf887edde8506b4c919edf3fb6505293921889c3d6704ca6aef24e620d87d6073c0e9f8a8c43f98fbba9e84fc9c445bff081acf6f6559dc0a49c9acd49c1adeb11ac31e38fe8319389541144dabfff498addb55d974082988503adc422d78f3e6c1764baf174c451eccb13e0e2f9791512e9a949478109176671f56cb3b8b841fb55207bdb7dfee0b7d76ae95a76de6f6ba4e953ad0431bbd23311ef17da7f4272a7ec4a34c08501d01965c4ab325420f6464dfdf471fba6f59ee78bedc28524\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 84d3cf49f14eb7e6d625614743859b9c1ef5a79c23d3c16e25c492c85df8c3d8f5", + "ed0a6e548c042a71135bfac1d209cf434700e8a6247f8d9bd3f1527ae63a5b797880edd6b3112928b9878a890cb1d0aec6e84cd5da2d3191d590a57a82577c8db2cc51e8eff17c64a6f445ba202c9f13af6b20d5974c88f88bcac534ee80eae451d72bac360511ed77d9a09952937129790dbaebcc92014bde155de59c13ce95784ccec3b4e9ff0a08281fd30f5180f62667f3a2575e67550281c2f3ee42af8b9cd94721713cc95841311f81cfd5d50883d063425b8a307f8bab6bc19441eb5eb256b6cee8126586707eec75465bf8fed4bf010f00633f2d2a216af178f3439fe0857921a92a642b83c7edf45b8b7f0e280cb362fef1e6b77144465aa06968971861a03c8f6e6b0cc77f713a1417ee76934d441784fe9df0e65aa5f439a0cf9889c9366a213fa2f9302d8a70b4d9cf7707687cd2214d720eddf7a61eb0edbe679df5fdef79f2a8df50e90f26be5e156ccad330a3f81b998df0b610383fce24\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = f3d8e162aa3662eb0648048acd70eada84b12a7d15476e58e47f7720bca89a0f467f7bc2c6cfb17273d0ee66c82c2e82c7cb184d073af6a601cfa7c8df3c7eff348fd32973f8b3502d5257639016ebb24cb6011deb8ed816ffc44f262f03799b122a0c3bd7d69df064a34b166d7f138982fcb4bc2332384207117986d92bae3a5afafb0836a892a6c9403cf7054bf02a82851b35768ea77498b4d12a6e85018aa59623644e18fd9ebb4cf3490e8577994836a84ce6bca85ed3fce977e0fdac1eedc81e4aef60b9de47900b9dfd1b67a0c89b0be88ae67a5307576ff84a7f99f3f030e2133a51bf7af75142f59330e2492973373e64f34a05ba7f2262ebb91f144a89cd82906358e5a8bfdb5e7da91c2ca95d0e45cd2bca9912b27af36f45d4cc5535b0aa95e75d330cb01bcb01e23438d0bcc4207a2a7fbed4d762d6a81822993bdb42baab84a3b9cdec3dec31729c831cc28dec111605924ae0ce6d6c16ea9a605171a82cb11102bcab108229271e2167ba6ae715500038d1186204ae2fe685\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bbb3dba33bbc56a859bfe0cab3ef7ee4fd1b9b8196f5bf02f55c3fa70ab8eca32d5e2d95e3166d5137b7136d21ee17fe5d790b37f51b030521fba37b0e1aaaf5bffd62db0421bc82798e58f6b94046519adbe859675acdc9efd050792a3ececaccc3dbd774a9cf426c5e58527021cbe8212c9158baf67a8d3ca0361364d0fd486f0402e8b5a94894b3af023ecc6b9c0ec8c9b717736dab8ae1da1c1913df84b6a5b7e6019e3e53efba2bead981e49316f671816b7222deeb8f3f4875cca353351d810f271d3c2a6663e34a8ee083d80a861338e22ff97e542878760ec0fcb8dbb390834409754b95f902210be72d7104abbe1a87979c0460dcccd2cfa5a13470855ead59d0d7554eb6b5a12611c5c1ec9db3ec7d3dd795acce3a2c4c71bd55c15986562689e808683442ddbc8ccb048eb2b154a66e6e19af41c233d6196155912bb1a020fabd6e803f04fab88fc677162b0d98c42500977c002774341c3fa455b6092d8848958c94de4641a43a269cc6903e512ceea3512351a05c52bcc2ac18\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4ff317feb7f29b39f43c6dfe386347e057a97c5063007322c8ccea1761e5285a14a25cc84af041407130fde5e7e94d5196cefefc485d1c793432e62a8063557a0764305b40a7619b8e9aa9b395acd64a1c1321fed36e2187ade19b9a25e52373666cea888f5c699da92a59f2b2db76fa29b8e9d9b78e6fe42fe9d722c524a59a3ac8d7551ad5c5838c4ea92685ec6dbb23b6b69eb07e8a187ab78af4ea81c2d14977be336faf8169cc189eaac340c9578dc6d98148a14844c220ac1085a80c5e3e4c6f04a472cf1a4b893aad0f3370d56468ee1cef675b5fb77da481f128ce8aea30c67fdaad92f26db2df4c45000ef581e1a0f323ffb69e45981a6c1c8e45ffde22b4cfc0045fcb60e127820f4f1b2568797dc34ae29e916030ddc55d78629534f926a230c4144543d383aba05fd3fd1787bd70bb9fb8046d26c4d7034546452a682de60bac900337e5a27978e5b709475f4e01a1d57a00190b5e829d81e82f38450d3a21b5b6eb83ec0c491cd17cc91b6c0553d857a55fac7e8dbe378c95e5\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = c3d7c56f39e387328b551f8e33f1a8f6ebcd8375bf8a4ab92df72c732e73919778388f0a3aceec9f6753133626887c3a5793cfa2e8340466e8c0d602663cfc169643a46eccd913085dd1dd1efff1046dd441b1dd071a558c629573ba36631105ad76d89561f284c6321c9f35b1c4d5e588cc93be7c62b2db5b8c52526c8815c9dc5b755431de7abf8b2ae5750dea20823de561f92ec3630f80606a0638a18a7aa71d24a6e19f6ac3fa16eb77f769da4b27ca1b2bde187d10e297f6c8ae8c5aebd84e75948942bb64504ca0230a6801e58b23a7aeb2ae1458b5750a894cf6c5dbf3c60b86ee988bcef8e30f21afa7197e4103fa6f4f1a87680eec6173f480c94e11f8db980597e38c71f36e3c68215d810504ead6ff1b1291ffa5d178708ed3b0e5b9f5651fd1df9c18b21deaf20b1a8bc6de73de6e7337315bfd428156fac738542b38d03bcf1403ec210f67753e5b73db07d363ee85a595c205bf25827231df2bd576167e84c659e9276c7611a92fcc1e06af925543c4b11bac35df7ad14f34\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b2b73525c8a556fac8a98c717231601636d1ef1f6d52265bdf3da2236b35d6e673277bfa2b2b1222d6a90b50a30877447573210c87fd85a48469185198af8bfef4393e0b46b416ac0cb7fff2be11860209c340e470bd59d84dfa598b3635a5bdefebeb35feb4251157ec940a0c0fc6fd5ab97493c3e9c663dc943bfee7854f2da6f9b91a9dfacfb88bd21c15a488bf2b08bd00e311de4bb2aff850de3dbd9be9e73b9ae4af9a2dd0a7a3cea94f1badd56ae6679f5cb87cd3eb7ee6ddf7ff426686e551d846eb8399124e23d6b87897bcbbc0242cfaf48f8e08e9d5957b30bbb4dc942bced416ef50388b25208c5f4824ca875c4ee75eb1a705c1b5b693dac65e447e06f41251b295e05d4c5137bb7c0f451a19adb61bcf1282ce729b3ad581596d99c5876db7cd4a614112bc9d5557187b824a266434276c3ba8bd30c7f1541844a262ae8d4c09419c6e21881a3f4b0a8c3d958abd7ac0a9d0e7f1770d229177ad8afba36e324d254d36119d13cf1a47c93f0bedfb7d1776acca7c9f14cd56e3\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 32506bd08dd88da1d3a3172ed17a6d1393f40413bbf2a7fa4f9393314b7d158a905c1e528d4f0b0c47417d20234f55e58fb9fd87344773b311fe4a77137a829d3a80dc77dac5170e32be53c212404d2802e1cdf982cf57261ae64d402790a7ed8efa42d9d807698884d23187c3f239beb3007b014e324e9f5f070cc225ede15115d07da064665f8dcf5a439cd6ab2aaa86cb4b7bd0f8d97c1c9a1eb3b416702b534ffdad74f447428c04073335bfc96b6f0528b0ba541ddc7aca70e37ba0b9acdb8acc1410bf82d5e6a8effc291f5701565d468c1578025f529be0cc7a2ae473eba843dd72ea8a6f9b3022c79d05e52964287ec9c2156745d4a14b304ad7d52da8a45a854becb8095917a4c7196afb2d73d35a7ef65748138a46c69253f0f67970daa38e0d435fd8f8763e9eca8d3be5ac96618629e30d285db481f23906e8a145f70fc8eaa71e451421501c579446c9545a1d7d033bd9ddf62e587b97ad7925b60a5a69ef383405126e4e0061b0349f9cf292641bb2050a86fbb505a68d321e\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = c0eb720b105f53c191b4e62f76d6e49a1c2319c89f4223f1849b0ce95872363e782531d8a1a5a45e4422ce872327a49651df41705ea48087d797e68c1fefe0b25cfc01b457361ac2f98f2b6d675c04a62aa32f18aef7c488205cd1d82c6bbd14708125d86fba57f2c54a667a31a32af54d8df6906c07595d2dd3147fe4ed42da82377c88f44b7d29c8c1daec6230fed36b4e57191d950ac98c78fcbc6e9405645b3c5fdd69111f9e3badb199888d0dfeb69ebef4a4a39465cf9fbc784c59c2fcee8e367387554148ee6318b8a23d3526266206de788c7ec4d93e60e537bc3a13a99add8087f5a33e6c8904050a9b9e2ed7efac91db3e4672a192b6d11f38ffa57f5420043da23c4c1fcaf46adf4f7ee4efaa5f72ab4560953a1e9435f93b00a8dd4b5865d714ce5d026a0ebe9dd56ba7d4b35f33fd764c04850c5dfa91fd6cad03d71d41845eda65f9c36c7117497e82988aa49f553a510e812ac475a0c510eb03e0d5d531edcee01c475b7cfe94a77bf45a22e06307a9f6c6953d0117e3892d\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = a90662e02c0b8f5452f56d7343ba207ac0a8141977c46b74923a68f9dc155abd0230dadf771262b1c02db06de7bf78dc40904834e01b7b8bd07d48cb1f0dc9adc5dd140234b7ea8eb51ae64b84ce799b3948a8c7e3601328c3ff520b712fbe037d4ca78353d8b518660a0c0f61d3141f7b6a010e2f7b644665a2038a63174156d67f00fcddff3315d76dba6daee07d8315e518a376b3d4f695576670546656e538d7eb8851497c6e8428dfa0a5a10e3e7834a23968021c7cf17d2610254d411d2a9996fc8052c38c322004fb359bec00b4a781e4dfb66eb842054fa7ada84797010f1dff65a0729554266086e4767dbe7c174b8540f5da25578a3865caea12915e4cacf0284495c208dcc5096f861997d45ed89e534207c79737bf420dd5c9d6a6e81a5064c72c3cfcdd25d8a3dcaf2a9968aa97f8189a37db4a228ac26894f3218c1466343ad41d6b292621e795289bbcb5e80740ff91283012a7f747e0220ab94a8ce96fb54c417e0ff6fb1795f078ef6039939c24b9dd32d31c4b68069537\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = d8436c155e096de5d22e627bff7f42869fb228581273e9eadc0c3f35be02077b3d37c8c6e4fb39300a1093af1fe0cb42440caa0564f7a78295bd1f8946a218051f7257323aeb227d80f3430576da12a54687c96dda4c2ef7e359d5fd17b7d77a2fffb09480d17a60c80f30c4e06724783706b210212ec11cdaaf91cb1a7648b3d197a4c2f4b79380f356a06f026358a5381a4c975eefab6e9546619cf4df87ec106066448644a415820af3136deb86d34b61337b4b0e3a53ec136ce8b26f949a6741bf067ad69da068af1291451b0b882544ba72b74248f6f7df5186ac7da1946c4faf1e1e0f08ccafa7bae6c9224d1ccb6a5fdb778ac4e55ae414be393de1da87424b59de23", + "d245da78bd714ac7d91103c296d4407ec50b61f1173248e9aed1b19ae50d416d9d2cc0464261ca9caf17060a0190baf5e1e3acb9992da2258c8338813b2a14dfb1da5947e694a44e9aa5ad75eddaebed2f837a2b3cb5827ace240f754a9542e94f9734d8ebf895a3175e978731726c24922daebb40ddf75aa1d1\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 385dccec5af89ab079eb126efacaf253d560d2f0807fbdb510f7b1afd9bf99bbd2f37e1a35c6d60517774be91f5f182726ae5bb031dd5013addbce8601b17e36ef790c99221dcec94a5f78d4d04deb3cac59db4dc87b0fa48e6e1e846c8efa86af95f13f28b3eb32b0b5afc71e7a74a713bc9f675629c77325527212e3a033f11722314f16b6f5597910a26aa71042ff8ae271d6adf3a294eb2af5dabb0406ede91a9f14fbd8835f83e50ab2f47756e287fd4f0fe09c73ba13b84ef6510a40a0aaecbc3e2d3451024ce5e08617e8b88cda10d3ae277636c13b61c2f81dbb1ffbdcdc4b681f4cea0ae6f9d30858b9576e5c4659aa89a5a32410f07fc6fd4ffde8f7cfcfe04a9b8b9bbc70863360b71ebd1b0c9c04889a2c45c24c9fa259e51deea5c313a9e18e8e44ba8c892b7e3cc1c3877cd7531b4886dfd7eb0104ff2af8e5a886774ea7114c24cb6fd617398c4096355df008ec9a27b7bbf6220618ecd71edf86ab2eac7506de4bcb2151605f767e3d7663dab57df275136299af1e59a5fe\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 475af5abd6944b6985018ac37700f22f00ea36a9e1d6072450c5e8cc95ae37f13864b55ebbed41785a4222648e70841d3e5e702efb39cc58fbad00ef9629af8b9390b994ac91e366fc85518dce5a777553019604896d8b9130664cd5f40afcf455caa40d684ed09c3c968779b06a196b8a65966ddebd3bff289b6031bc1ef8ef64d69b9f98f47ebd8b28d5b761f7950942a714f487020a9fd23cafa893391712328a275a2656076e1ffac7ca816268e17e0ee5e71636c8757816d1f7cc199850c09cecef27db8b854023b174b8e266ff1694a05f78dfa84952399ed48102fe170929bb050f8d4b1fd2e5150a010b77e270c50c65585c36e9e6c860b20df609bbae4340070435f7a8c7acced87dec7f8bc4e2232098632794f2858f5ac5e13aad50c4c187bea9d4d7463530bfe565543079748d9f1fe794bbf7a7fd525a907d7d533e3cd2d6a8e40b26773084f0ab15aaff91c29a7c094b88d45ea39b37c14204682f9416226d11fd577dffc543066c5e954c1565c400fe07985cbcd982332e1e\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 201e55e5d00bed299bbf003fda2ff30383c34b8db32828a0737b499f7b19297fe05c4ee5f50f404d1fd347c4042754f327e0aa634a832d098dc8c4a2019114569a48087dccf8e30dbebcde638c8f1d1c7c61ef9f15c478c8bea4d9ae0d5629f2a420e9d1cab335d3237ee9675ed06790865b901cbf29de2b730b77d8319ff9273aab3e041656226c129048040784edf4d13ee1def8fe4d52beb55394b34817c9fc5b64bf6702df68211b637e3f4211afecf8884867f614cdb0eab49a70d5e1e61947f7a2d71416dd72b826968592bf88feada316812301b82694feedaf8cc6f3e2542ae0a3c4023d3e8a9aaf615b8947355da990855538f256927325d65d4f0799039e911cf1e0e9e940a88f771a0e4ffeeccf91588a321e26a48ff2da5d921a0666deba235f7decbe1a3f6b929202227724032af86872ed2e436aa11712173cc0a926b31bead6ad31ecfacdbf98ffe30e1505a42036ccbc76c60f216486ff7d7286324107e95e935a9eba9a4edfdf8f6d76d49a9a9db3aa86f7439609a1a0bd\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6419ec844dfdf0475c7db66d008c87e999d7ba56b4e567c344c2c6c06d8b07191f0ad831843db5cc931a96bfe30211447f639781c3563ff9d1991cc0e1ec9c7e4312440f801dda8ff5016ad5e1cd12cf69fb34f4b45118ea3baa18502fe291522b5c7f5016c4d770312d64f18401586904f1a96ae8f99c539026a3aa71967af53dfb88e68de1007b063a581d88720f7f5c7c52c32617b1f5f2cf3d4a2964456f6bc97ba97c11f7fd24f8a632a458d1cad6bf78389053c74eac14221a0adb1b813e957b3ff9a65d143b9ae9ebc8a5def0b0e8db934bc04eb7c91c62df274b50c955c374b5081af628af9f7b86486197688b7a72bb634d849be226cf8960b5cd9d1c5ddaef21c919e755ed17b4dc4aac8292d433ecd6b97826d338b785903e6d059d3a7d051d774183c4344c9119b93cdc5fa50ffeb644c09090fdf0083bfa9ef37d01081bb69e28f6d3e4cf2d8ccfe176d961e67f2ac58dd865d77bb52594aaa87be0b2979c3b569055f59ddcb5926303b3b9109c372d79850af1adf1538a5779\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 7c70ee1645524561876a1b311f389b53bbc5350bb4554e02b427224bb121ce8211b51ce67caece664fc45fad2df211c579e888ab20ad3b86e13b9adf5468bc161589778767486cc620822e1aaba416da06082f48b7331ab9b2c1dc32dc03fd9243b658c9d701f53fe46afaff90463ef6fab2e2467edeaeb01468f1b348d23106bee3637428482f2e8f65466dd9f9a79b892d45e17e7ebe1e0e4e0a227094aabdca782eea92fb78ca38d1e2f9eedded60f91388136f61c450ece1fa08f5fecf50c3e195ec6ab609cf5c20ef8fe342d90e21090a97eefdbd1a69432e2de36d8932b580a0e9fc7ccd027e73d8b5a580fa37a02cc0e304c895cc9f2527a864b48f531d64983e830cec0aaaa9895dd5ddc80a86529dcce89bbb69b6b8b03774e5c03f2412796dc07b5353c52420eab2664dd3ad216fb69c2a74f3bc2a1aeb8efe29602bbcfce10c077ee5768c6f26bfbe0d52ca169275fe87b26af1f2115d5ca592a1c8e63198c4c5d088f2b49aa6aa58c5c0bdf6e836c2cef0b34f7e3effde1ab9ed\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 71e837b50fbaebc31fd94343e5d6e5f8bc45c563e6d263fab9383256fd5ac1f2bac07f6c0d8d90474a1e985ecc5a62481d372ff8b37a867209db1f4389fe80895890607b01f0b44601206a06348813a7457b7a97c7fdcb1b21b2b4ab79731f351a515e2410f93646f889fd391d398a7fa5a0d21b1ce57f6d8c438262e81160dd0c8fd43325ebb6820cab91da203a988c2595268294388049df95b900cfad08fa4b8c5e7d2d4023d0c71d18604388a422af8e8307c6451cc2f206a70669ac7177fb8ef3532b0b3cd4231d350a315b340b9e6603b9b9c7831ef885a72f0f4ebe16ec9a7de4a90ad926b1a4843546f830d50b66d3652b9deeae9d9cc744d3d4f2152d3949b3e71fb0a9336fc8ece6fc733d63c0fa1141b63639048167e1d138a5e4b50ca77382996e7af183cbd330843d378371758be58a657a286c12cb6d555874f38981059a895b2c5f0e77ec0e53c97dd42d64060882bcf5d1239c007166376c0c12e9740b2ec3bb6416a23ff4794a525680d3ebb2c77fd697807044ad720554\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 376ac86131ed100ff9dcc808553ca9467e94b564faf47c37a9c383e5dde02516975884fcbcae65b294483f74a585c2d61977174f86df067f826f60c8820f6b99fc78eb830106ec1c9ff4e5706b0de93829ebda0d18924503e92dbe58f68be94fa8dbd16ee7b962c58a1eefafc0a2fcb63e086754ae66e5e3366f8c739b589cadab242649e737a983bdfe88bfe239002afdec11dce52597358d79cfaa72820a37cab83b03e23863108920f435340f450ee66bb97b000cd12347febda1b4e55bac1f4835be2a77fb164dca4c1800099bb42f20fcc0a9f36a7bbadfe979861dc1767dc3c58000fc4b4d25c6d4f929333256c5aca2f7bbed9c9499785fc623ca1686915e7f46d66a888f331dc6d1a2b34a09a526908e9b2c19fa2dfb66fa4adda319023ebae533dc57f3fe9895e523ab67125e0d296271587774642e44a9c034ddd876f67c2c1cf7599c31581b57ec97df1841b5716406fb88ee991abab2a34f5bd06017947a1b43cebe448daa1d98c47a56e813e74a42b3ad05c3172cfc394d5304\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 9f71ed0cb9f065dc961b8ce1a397f5c3eed98aacf7366be7a6c62ed2c770bbb675081565e57d0805547d36b8166acef4468a2e122f92504263a716342db40b86515a34ce3b99505af3668b1e94e6d9be2ac4cf8b565c4fdad32e575a84e0118113e74875ab59a627b18f01b3d85d91b679de5d18adbad1391233fdff71fd1b08a639ff8d86a28b75f161ca0c711a11ce506ddac3fa450de7f0225c801b1a1a4438137ffa669c2d51d8ebec054aec406f890ba4baf52ab45d7e32f1b32d828d3c6d5cdd673dad9d67d192ce1a66c0b0f46725cc4499b8ce302e693a388b69d10ea58fb87c76adb1ec8e7a998f430380a703160b55b62bfeb0b66ecd0190435c387f6dcc0297603b68b4059d88bd671ceb59d34534f7780292c25f0227a7ac84b471714b74be44104817591c981dc4f795f7162beb8c5af79b267552965aea4cc97ce44524f3f812d455bb7b25cbd24f432751c20557fc16a763430f7541b97c4249a12a7891b67c964e0afc6c205e4d6ea5c531b6cb542d64d655341c61af014d\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 938394f2a86941956721d808ccc01920c59f3d99370036e22c8a1d381a83feb1b4bf59de0dd2cbdd74c69f284a52e3c27196706c84ebd8dd7d08f4024609114d3fcbefe06ff94df832a37c8a8a756580b5fa5dd72e315bcae7fc0f94f5aa592f0b171c9771d5c4345edfb625967467b3534cfe958a76adc1337786c634db7074126570c080839f7cf8682f14cf8e62c8fcfe86d2c6fbb5cb32ba7982c924f2a0833db59495067cb20455e573d60af2ba687ccfa5ea0b0004b8ff7f49eddac928b61df4c865377438700faa2db63142cc64378fea33289478361ed704f9d419415c6b91d310bb41921b0b09789062be03ced9fbed5587414a6c0fbdf91c98001c8d479683cb3bc3c6cfe2ea222d3b58fe49bdb1520548d193333eb37ab695a99c9b98d2f8ad2de7e8ea12dd4740e11bf1a66fa33d3183790624dec2e25f20ac79ca1e605afb4c7feaa7c15fbc8bfce4835e4e2bb60b3d4691f9c792c954cac2a432254b8e293166e90d20e5ff6de6026cc696e5849f9b1b427212241b15791f9b\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = d7cac36637ee8e4851c5ea7d95d46092937c85e34d6a69c88a0beabe329013ae2ff61c4753a1670cb08d7b407b28161ac50f50f30865b563e684b90b652daff6", + "b6babd850bf208969466accc03f5a48375f7de56853dac4679f1cad8da476b306b7d007f61a1dc169d1450a9bd25959b1d2b0ba5d043e4ec05e897613a5aed53fdfb528057140202d90bcfbbb47de8dfa7e95f5696ad245f2a2061e90ce825366c1e9b90996bf24c73a5dac95751bb9520b4294a76217c6cc3e0ad4e3d37ce4ba67ba09d7fd597536d90d3e65b391d589d0d4092ca44113da696250a6981dd26f4197db7c2135c0206a0120b9b42c08a1ec6730694e95cf73723dad6d40fd1871bed3fcb86678934dfc459131c84f5418b76d1786b55513938eb069e2f788460fef763ceebff1191daaa8e7bd811fa6b44d6b7eec52bd2f62b8eff81fa3b5459ced8e8a8b02d2c6d67e20117eb6bc3cce5d77488f9fa11363e8bf99129a5de92b49e23066e5fb6da9d352cd9ff6e0050a340fed391cdcf23d416d443a86878a9\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = e7b23269693fae38ea2261ea5acb4fd147c47a71a67272d1b1e2ea49b6a82d6abfe840cb8f2f756922eb6d12dfb9a3c95f9b1acda189df076f6e127e5a88bf3c745813ed9d858ea25eceec8393c0dae2acbc6531df80cf591b2f0bb758c1404be3e5e61e26dd194406ac42ec7b925142b40888b4a8331ab04932a184a586260861aa7eb597d873e21a2a36066c7c7490379b01b6b378a013b965c0e0f77d7cc6ae56e5c143811fc6fcf1eaf16bdda1d110e27527bb49b98efcde70bc742b307478dab7c693c543615fccefffff2410453ebaf289a9440920d230e556766902f9f4feb6e950f88ed1b4a08320f6ba997171f56dce8789a462be0ea6ef38d0195ef98fd79d51d1943be9e1649b221f5d087f96a4dcbcdf086161f1de31e46e3f65e1b63a2176eba38fad5ab259bf375d73b6d7227da661181c3b4a13d7ed2dcab26b71c0e1554bfe57318809e32f5b09eb3dab4f5d385495a1be1899548bd4cf4d5d6ec5b88eb1b69d6c5bf20a539af5d6be5bebf29c2813f1db6830258b3eebb6\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 0d2c03a46e39606fd20a39650049b00f2c218a92a590d887e26f33953e9cf8174004c3bde1676d9b3c17ffb7097670fde1c99a378c49d1134c67b82867440a4b2857237ce10a947333503a63b571beef37a59b3511ac6709fa3ea5d814d457af1a864ad365bbdaa383c862c38af292068d839728bcfc1dd5cb7b310baadf1d70419159191b33c6124d2d9750b88eed87c71e811a7f65a5946ae5ab6ebc8375c6d7fdd1e425d4f48b149d2f48fae14e6b3b97f53639c17a68365cb5b270b52bae1c24042776144b9e5d54932524cc83af8eb4a710f2d301276c215477f7192f82502970d5a332f912c0a9ceb7c4104eb0c104da8fbdb3c624d7e87de20b770dcd568f097cba0dc9c1b2ceb9ed4a9d73f7f805e6aa6f0c59868fbd8a6251598617b157ee31bdc119b0444b60451af8fa90e4c0991d91d2d08189283bba14e6153ee671e83ac12d1c8474a08374e47f0687b6fcbd0b844bc435735645657fac76507a7113fb5f4140c01070ec5b27523effcb47eb426bc3231d4e4dc874c4a16ee4\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = e383e41e1322976da40c9e5ce64c7dbb0571ed9ade7262251f7ea21ff94c75002f39edb73f0a9f86a2070b5fb143d078b14d908045135fbc930fb79a59920a90bf0aba0d8d7abb46f619cc95654a6aa675ff822d43e22b63b06c3060fbff2873f3e9aa728d663b64f0b0b561da9c3e98b865ddecbabb990463bbac0810b5703f5196384f0c8c4ad6ad55297cca2267db1ed3830e064aa52422d614340af68a361db77de375b7bb1c63997ca85319738c4d0d7519e0a8ecd8cf098075b9bba602f31d06451f83691dfeba27503f969f70767885c4c659e5aa1957259ddfd8676f58dd5d3fcdf951bbcc9009d029d17b0eb650184bf9a2b2df5e7ec8caf3a52f1223611f1c44bc529019a1e38db9c309ce3dfa8d5658ca89eb071a7fdc13fe666a09c7b22650f07eaa5e3943568780a2ac282fdb387d917639b9327237e7d74bb88b19f53719845d0646bb548fa5cfb945550cf1fb5187c142924f11a7043493c53841da19ffe27521dd472108e75980ed1f1ea80325a8aafb272939226284b7c5\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 01892d88434a5f51ab9502d5f3c41c3dea7d6f8eff6a14aa90077e495a0289e9ade4e9b1a103c5436ee2778ffccccf2c99ca4b844609cd95dbc1aba6353929d8d5b0cce922c8afd3da22bafd6f067e2444cc060c22e207f593832604fd94ba6a0c91431cbc5dffc9a272876cfa4fa83ebf1de5e2d889212818a7283433963ec9a15b3ffe486b69c6c3748b03823485182739b5e1eac0b90e6ee62aadd808160dc1ca47e2b345ade0245f1e03983942fa480a38c53c2dfd3666e2f81198cb85424224394efc0d915d7b4819c92316c26219c46c85e3e29adbcd6102a82159dc5227f9392b28b657b08fccab9233ce668646826a0611855547be04eba7dd469ba2110aafa398ec6f61eda59b620f7f95caee46b8a598830d851aca7b7f15fe35fc8e4bca694a0ae9af7567724ba45633ea12a6736dda8c014a0a00b9789905a6c1b2a38b1b270619d79532e07c8ed940af69cd7c4553d6b5938f9b6b4201b495e44358a09ba92f2c487325f9bf3a1311a47e1b55aada4c994496970f80bc2c4558\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2cd3566990157944c036d72097a0a275da39b5aea4c5b091112cf8376cc1f1cee1b06eb2000b3a2f6d5f8f952e95ad92250227b1f790b23e394a97a9037762d5e1149ffcd952348932e56811caf717ace174c3ee096bb877eea046ae40478c14f81aba9d3c7e47a988204ae7d29f482923047c85b14ac51997b6a5166bca2c73d1b669d842fb16fae98c4dac5edb48fbc7cd38e120f8a70814592cc70dae5f8a7fa8c53bcdcdadf025f674e51abcc03bd9883f15eacdd0801afdc976e61c664a250b6fb211a4a69e0547906914247008beecdd3f513ca600ee3a466b8a78d86d0c5341035acc64c354f2b68830ff8d176272cf1ff541d1609ff3799f0c3a9e6e448e0b713ece48a14db4a58df585e2d13fa739d4314b98ec75c6cdc74d68481662c48988f48d1e8d98814395340e454085e1153f6bc9c20e4a411e2c610f424040b011f66a6c5579fae1b9fb53b673da0cb5a02ded3fb37e5dc117e4e71302b360a23bd300143f7efa1a5f2d0052d692c18bb4895d52c0bdebafa0b625e13134\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = d59ac64e907bfcf38d4bc3fa50b6f2799483d29879a006bc352620e31f395d8e8ee32f0689a1b145246316d27487fcf3f729eb644d9c44703aff5e57df0567035c18c3af96db6e86fab4aa0ccc0c6fb203a50941767dd17158fc4dfdc34151bae10269bd68e0777f23ea0ca8a332f7f9e77e5d95bb00cd6b8d3a0279da3078c1bdf4824c433f13117e4755eb3fde5f9bec4006a8ff9076ec5fe5247554a8e76ace12f27e819143819bdc6112af4be9b25b896b01608b0ffd11ddc87cb00f826458a5357a78e1308e5b5b961b53e8a19b33789c0f4984fb1e6d9315f9780f81e6196f908fd00da1d2fb6b61b67380bd2d2e579829edc44002111418f9ac624a6165cc538ed0ede4d7363b7f716c84e1e9213ed70f02b5de44ada49cd7c83ed819604433aaeca68d52de440183d878b0315388a884824371aaea41290221820cff49e405544cf3545e4eaa4e7697cfdee0a48eb87a73ff47f4d5d8dd3a4f8b09ed8cd2223ee83edf2d41b7ca572aba38b64e987e668bec1ce88d24fc499c92d0c7\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = f294d22fcc6f9cce7bec0e44a9d7eae443ad7b750a72be5dbb41e3694f48720dc2c1256e030ae1ae06ba65cbb59e8d180b222430a8fb10ed7abcd69c869ad1c8070f33d0f262085414f7985c47d33d0b398da9d272f996cb701bc6f84eaa0861deb5b7cd7226d2b8a969b48d6272a98ab9a9e3b761231e892f4d8e9100a7d1bbf820d9102a62d7d41d92b3d9d55ff386cdfa066afac04c50bb2e1da0e1b9af62de2a7475bf403dd2a4a50f80f6a0f0eb9eef38e00f19861aee8d78a13328469475cf42e0a675f2d6f086115a14243a59f3ecbb6a47d25cd1011d0bb6e1ffc152060465b354ef2c66305165426ec72625d6fcdfc3e830a6f352383e05556f4e14f5ab739f6ba331d3ae8ebffb49157ce3c597eb9718635493e8a0254410bc75755c5d854a316a40845e97da60412eb028cd97d206d05afce20a3221f13ffb7389c400da0047c6690116de9b987c02f09db67313b163b9df54d2437b1f857832fb982666c19b832f6928db60f8c695a4d95571825b7f87bb9601003f95db54a813\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3d8b8f962091c0abfb446c89b26af8dcf6b607ecfc052c4d240742f5bf9568a7f27cbd016ab734220e8c532412fd3608c8dd3b2437ac93071b2e523356194f3d19cef8ec8c6a477fd9c78a67b5e844af28afd7a7c0e4e995020e5a33db394d24dee4577c41d040cb9f78fe31027eff68090b9841a66a83c4af2cb5d076d853d9de73e2059234ad3d62d56b23d80bf9de926bc251a5530dfbd564db9ded9edd75db0c96dca8f7e704d1ecaf2cc66f12ccd9e537e0ba4d64ca3718c439ddd8bc305367da8d11037275fa2589451fdbe2bdc9951af42034521a58f8743d4dc1164dcf83e6ddbf2cfca80ad5e6346e52b805e27702e382da44602cfa4fa98e7c084492fbe4569bcffd7ef3885a05e5b091112c3e39a7e3ee6917d33367a12f087653317ffc156bec46768403e80a8bf59721249c7b909642751ddaf3a7851ae65146d6b44104215218a5f2bd8c4170bbc5dd69afabcd13a5742909a41965f80e191c8bf21f2be9973c8f656bfc46812c3d64e14b52480c31806dcc2fff05ed7b82e0\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 04dcf055ea6c80a04a302f8b6c7c66e3ac796c4c8c112edaf75531ffa903c5a4c749947b51bb4f74a95b05572cf7f99505c7882dc8c9fb836930a7b78c48e282c287cd64c1ea36c494c1fd7b1597a727c9c0bdbefdac06a752aa5527400f8cf5d881c4364b4ce0dace6c619de1b11ad1461cb9fbc2ce9ccd3e2be901c3204cd613d0e77d7c740bab1ef2634aaa4ffb6f1f25f9982adc8f6c3246267e33de63e7e346f1e22b45ef4438b1f0a8324da5db56e749dd3879fbb5a6fdfde802ed618b15d3abb8fa237bf4623b66a55365b6d771489d8c60f34f83f30092df049c667e86421807561f78bd7075569cc302e3ea72b0559f9f9267463205dee24963c7d56236e433d6d944d4f3708da6fd12173555201df31a52694f0266a4a417b6866e5e33943847020936bdf843fdca5894fb984b6784b1d506360556f1afae4419021c74c6d77f2838b6", + "e4b7d2d040bf6dac3ca591d60a3db50896162913665f7b8ed3ba1027fe246efe41c59c7b5e952aab011e2f8cf72ce3a1bc57c02e9bacbd73\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 97ba0c5448dd06846b1383a32d9e5fac291036802c4f2bb5499d09dda2215eeedb381dc755a8ba1eacf01d30d60f7850e0d86880cfb11f181933afcb6c9101c97db5fc943e89f0185eb7505b8b0d905690dc1d9d042ec098fecf5443b98c61fec2131b86357cd34efe4f65071bb1a645aa1596795cadf69e14df98b511297f17330c7dc5b9403070f3840d8fa3740e997b4671b7a1baadef2d289e66fb01c43755cbab218c57b871071529e203dc5e884d6f86b45f28e37d80c77d81b3d69347ba7e476d521e17159e875ef7f49ae685ab56e100ec475ab67d10d9337294a1bc1ced1413a1ebd8bef58364b1a1a5ec1482447649ee27c4548f70f12f5c32d8555047834f5841f30a1556e409489826c0d2a03334a63da4957e7ec9608b5ed18e1193af87cb75ae32432021c8094b80a71ac283fe93855033e2cca47d5d362a37607fca51291957efb05711a53ccf7184d8e2a6b79e2da051781582f3a37c28c7ad095f53680088308d8faeca5b75e2a27d3b62c40c6eaeab9ab8a2d6234eb8b6\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = be57eeddc0bea94257eb26456a6a4a6d9e9c8fee1ae2e0121ce8e64806cba6692643186eb10ebf43c0cb032c641736401ec189adc48ef6b222f19a43b09b6d81a1626d93a49055e50968e295b78f883cbe0df94251d1f0c8c067d2a5d5ef7eb33b01289f9d666e1f691762b7ecbac496d0ce3dd2e40307131152068307f28f8d2d38b427e03843a7097c7af5628991b8a752bc1eedccf8cb2e4a7507d4d03ef6f18ddc6e757acf87444ca67d7292b273893b41c1ff4a2070043d5ba76f4284e4f16d75721da32f2120ef666d677b0a6a04e4fc8ea5e5d64552cdc872bc860dd5dfd9939143c271c7886505d696be9d7e7864eb586e396c0270d923574dd2dee855ea3d7f6cf57f834a7942ff2f5ccf88d312d4edfd08fd6615407059604a359548af4d92794ffd1a610d82f04d6453bcf35bd8ab523b06a6875e05dbfbb9c2196e2730c324ac51e8c9ff36930b3025bb2a081ead30f887e4eff6464f784ffccad644b9d7354b071101478fd6ed7c64167b90e16d066ff599c5591a943a5f4533\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = ecc5b9067a93fb90cda4b45f1c21d2c5503bea7fe7ab592922cbf90b38892741ef75667da1f0435a25588e22645dbaed66ea912db9951fe9adeb357ebbc25b5f524de9c366d657948c2efcd008decbc69cbf085f094cacbf7bbdc9b863cd5d9174dd35176f587ff4f7878817f31c3a9a669bf53aa38ccc782e98f7232b267045252a8cf3ae1bbefbb2030573bdc7cc9222550f5fda9923dcb6412ca0b21e17d464bf334fdbc9ae61887f1a4a96eb4ffdc1dcf29d6c2d7aab07fe96db30289970d5d8200ac95ecef8efcdd60f8fe4991a22427fcad68de1d94c757a764990acf5a76ff33da928a46ee007367b4e90449cdaa4d7bb222babaf1e2ea5a46aa9ba1a1f3999c6a55c2a36d083dca472d30a46dd312cc123b830ee39283a6fb11de58bdff24df169e716d3f2487f05dafb73cf3815a616e59afc78c177a1bc85ff89b431e988f5f7a43359dc9ab7063baafbce30dc245b5ff3ecaeef5a1d518a09a6426a6edf9bf9dc0a5f79860003ec1704b5c756d522dbd93c183dfea819c9758e5c\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = e495b2c030b082cd0d58097aa1d1d5f4021215109048db0e4725d3018de3d71dad07d0fd5d94df5f79bebb7678bc85ffc09d39574e7e495d17621c59bff6bc9cab066d5aeafaca13e02a79b3c1a5bd5d8540c4f3937cd4413e9ce6f2e3b7f5f8c7b2d15465435df005304db81181de6d496cb45ff03cfe84e75c5b1d4c4bfa4f055c9da0582ce73dc0974ab5132221a61e7bcbe1e3804937bd007d293861f419bf8ea9a72a142db387b148041f34c5b9cc3e034a0d3cc93cf3bd1e1a5b1bc63233fe8bd1e1d73f16386a70533113b48029a251bbd99106ea7ac9313e93e362a9c6956dac668aa316ed8130376912926ba9e9d2a8a9e808a3833614ffe0e22d7e1ccb49adee5445b1526af4e596eb675e12eb89751ffe5b031a106dc282c6e4f06a233291ae7fffad2b1607ab7d0fc06082de63f7e48ddede5122e3186dee3f797888c804b2aa0322564f39f9041d71b238a816b751216aaf83bfe407f4cd28ca2d319e3dbf873f13329c1ea8064bad9d43f00837cca98080b65fae383c17f2a2\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9ac18b311711323d7962279e8c6d693744db2c8500878326bce11a9beda2084a6552b89ff425c21a22598c09b538a194d177c3aa647cf43648e2b17b9675616f81896949bf455edbd0b0f5713ac950b57397c66281a63b96f7af4bad5c697b293387570926ef7ef85056dd11890c8765223b2569b4115bd36f5e17ad7cc8953a9b6c9a45627cff4addd96dc397051f759635ba3de256fa461a2c56848c924d81dd2a9a59cb921ab4a1b9b4657eb6c1709114ebe99b0acb8c598847a650fd7216690cef68bda445a3710fdbf8540378323d32168af666fa0524150ab850e68e1dea1ec00d2e5e63b65ba6943fcb92217acc16955f2d06731e0684a490ca9721183b2cb72633997e3dceb6fadec188da2d7ecc0ddd82ae7d828c640a89696e66ba7d33a64034100a1299c26ed90fb59efa80a88ac8057adea1378eb7d156b2ed30874eca2a0a5917953c0f865034f53de703893419fc650a0f9dc211f0828343bfcd76f16699abd468e863fd8696a52705d3b49268e76514ab6999b98d8eb942f6\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 700ba7745d6c9c146b6026d854f958d4ac00816dfeed7ee9beb4580abdbd491156bfff67215a7cc23dc0dcdbcdcbc79009c86dcd4bbdb54745a8dd85f7c74b96394ae1cf9bc88cebe88eca84776f263434958617b9817339d756e5f301548a1ca4dae92ce9489c5573b9e5f3841358e339e056eb75b105292d9a1897091218a9a95be4a76d2f22a7797a3853bd156a91f0889898a63cfeb764e643e6f4a5987e6de15fa334502aa74dd99fdf9c074e45e463083d434ca0a31424423257d1aebb68375b27fa1a79d721bd3b1cedf744b7afe62ed03cc4b7e6765c50497bf685392d9e95dd1cc11e0e7be8731ebb689d321eb1c67621d87fb1144d56cec866a308a0b3ceb941559f7d157e87f0daf107e82dc18d3c90c67307664415838dfa2969ef1790c4e99017a1f25977b1f787d6504e10693fa1b79f23b42ea1c5318ae79e46ccef01174a752efcbbaebebf24577fa859b6ba87b540f2e46903c3aff0df72b4f8d10b34630bdb22282d7fc1c4f3d7db661865ab5089d221a1f7c24f30230d\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = f0edfb2e764945f6e6585bdc28b421dd735036a4d109d27bd1d79f8cab0ae46f5018e7290775f5a273459fc9992d217dee7051a9cc86670fc82f3377861193ae3cbf9ed4d9f51b9496233f8f01c9f88c43348f64dc64f2e5fe98f3208ece156aee90baf7c200fb8018d715185808e0efd0c570f5af1f0369ad01e18a3200a5e04319b779266b33d70604265c4c95ebf53cf43518988b7501bdec23c9abecc498d98b5195830b2883b261752b4afbe7dd7cdfa21bdf593dad93b106b91fcedddada864df066cb5f5727afe6ed1567ff21336e6b02abfe8ae391b3fad73a4de05728577d7cd4e0c639db381ea446e1b7c35e891bf7258b53fc356e714ea4bb2856ba037b50035b611f070d42445c9263e968e8c803aa040eda540c23d62a48b9884a9b9eb58bdc621a5369ddcb007e52be1da996f020d8c1a0cde9ce41749f33b9a65e5ad33386587b93723ac6eecf3adad996f5affa7a9772336db2ecb9607dae06cbc3a8d1a55cfcce20a43e9323c7fa7a11b83b0198dafb6f0ba860103a54af\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 350190cd72b31328cf1fac929b03c45900eb1dbdaae14c3553b40b53773324bc17b13fe11282d70b38771b5ceb0ff87f8517a787b0e06e97b83b71fc7b680cd5d61d616c15d6c1bc98cf93b058a5be99ce09f9936eb55c4f92751f00c4b403d9771994acc556d7e69f5682223807b2e7229e3bb5360125e4366052c9629cd1427f8dba9582348e10ea4f4d768d84dba73db5442eecfc90d38116b002dd4bb34ed8c346ffff883444248ec236c738959154decac717c041dcf3df5492f2c9a509c272d825a49149c84718a9835b40a38de6cfa7d6102042150039510ba401fbe53fdc7ed3b422848f75a9821c0cb0c7a0e4ae6219f305507ece7b84be1cc8c1ebda663fbce724ebe7a2f6793271e8098351991389546cbce7297c8a18c8d202227b7dd574b1c1778058947840ff0c601a7d65f035f7f66081dec7f3cfafd042aa15edbee6b37da61ccd4938e7517dc48ce272ed78cdb4f33cd000217ad142f01b967d7ec4e8fbb43db890ff4ec8fce37a00c88ad9407a6aabf4bfad3ccccba48d\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2a32d279cb8e0f44a196a1f83fa8dd5bda36f2f857664f4155b2859d9f940e8fecd466b3a7589254b3a04846721b8ba3fbda7a85a6a00ae24abb2098d3a1e8cc853dbf693d12a1f02ef490594606990dc8aa7916ff6911254039f4a0565068af5620a3caea7f76b775b96a8d8456ffa7bc6dc9fe98832acc512a709ed83e06c72166512e3243e9e30487dc6cf3d288ef5406858b6bd60177b01f466cb8d963a987bf7ac242da9fb78563c2a8c9891b213544855d3fa92c62a8d3219db0dbe7229eda4178a540f7b103c0886d1a1a4ef2c6bf5388228e64d6caf6e65424b0683d0c6f2ecad03355cc7f5efd8f3a18a991e391bc06b0a645586316ca61e101fc0c262b7f67d7979cb0aa1bffeebd3bbee757d257ef9f84418d2b4f9cfc6b09e5efdc2328f7edbd02b1d9e13ea7ae86d044622773c50a8f0c53908079939ca60a08e652c2a6856397814304def15aec6e636eb6679ecc8619b820a655070fdf7fe2f204bba57a92d894cbe2d7328cf6d73fcab07ba83b020c3b2f0951bcdfab8ec1\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1d95d2affd3c347ea5848aac974bf4c7ff675a876f0944d73785594e2c8d59a9671d8ce8ad1b7c6d0d51f818cce5ab1cbd7b6e3b69f1a1961c4446ae147d64b3794c6a8255386b96f062e022658e0898892b3e54493c7b6c1686d687ee72f5faeff077e6fdb9398b271b6c038d54c3cb0674717a7aa7e75ea3cadfe87b72aa1cf19c799ed2102264eeb646271a81eccf9dcafdab5aabd586fc03e279cb8500203b44fa7178a9d846a85f2cb6492e8175b2a7b04ce24f4df04e0cbac76b", + "d15907ecaa7c07683e20dbeb1cf9f6f03fdcb0e31b55d77c8180f27780df7b253a2422f0f319a081781ac295bc89de4da40708eba17217a6ef42114bb46695cda20b27590565592e4575098ac1ff27af296245005a0ff49d6a697ab4bd70c6758a1897b0a1c09f32293d7d1b2856730658d43853362569bbad81389e85b3a27b316786de7cd0798c628344954ccd1b90c58495fd112dfd246fc623118c7cbba762535038e10885d7d8b96edc600ee03b1430628df94ea65da17b1376719f3ffb739ba2\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c1bd919721819b72b389c27f0345d7506829b38a7973f7d4184184de56a0d78a800b99dbd8a0216f60bd2d423ce18a9fbd45f6e0d171e34689e06d9d155f3f3a0c9af594bcd4dc476dad915d17a4973af9a5d480f622bae2dbffa125e83d9995e81112d633daf225848c8e7ba17cb030a469748dbcbefea29e93f464fe16ec1b1456cc823efa3135d49d94e740146de75c44f380ae4e5a6260e64be7f0c3d29ce97c29c9a76e280f50d88557e52292ae9fd1e783643756f6b8fa867deac05c21793056992ddcad2ce5ad1698470cab4ea16d5e1784dd449bbaba725ec74c6480d0d39319bdfd24f55591ecf92e4352706483f96f75d63714fb1a288ef09ea8f6b7f5ace9c2dc659d95689786c5cf734972b5ef08f78eba8d7e18545dfbc1173a561e597b0412739ffa0fe4448d08f2d307baf85d9ecc5c2a57c008f490ba867f5fffbd21091f77eedf1c6cbc563613a443fcb987d776f05e8cd1307018439bd0ac729a7ca05a968d4f012200293a1740adff9ddb877b054c4d11ad42e1456bdd\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a6df51d80d2902569a0245422e5b5e8261903fcada8f01c2c2d4d9897be35c64b7286ac79fa73cf39db3d9e3135af2f00a888138df5d6ede7cac535767e17206f585c57149760ba379d8791126b699230b678bea9762e73a2f0abcbec943db9ac74ffbea3824ddf22c36fdbfe77960149d07da6d5acd80a7378675b3e65d4563d60b1937347a4db25d6a1592917e06bb1564542beae5330a8abf9ff854912efb0ec3d93f25c8c4e19fd8716f22ea63d8deafdbf9b9be61c9d98fa2fd4d2a9605de2fe2d0c1273f64b31675c440ee267f02a981c7efe142bf63a09af9693ce07f6807f389fbca151db87589b82a833daa3b104ad472f69b1a966f6b853c20c9a5a5c10657de941803588b1fa77398f18752c175fc3808441d9abdb5bd84c654706c20969c9f97e24806d64aeb9832540de12232838f257345b58dd4532830c531f7e0f42ce2a032bdaa3fce44cbf1bf2eb30277e2babfe3ad12937dcde9ca6d2bbb2093b7da5cd33446355ff0dcae75863f8da2c54872067a717aa07f1eda8853\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = f5e4ddb832cb5ae5314ed853498d9415027ede84e7280fbd802fa3a10a3a74f4b13303362f1c7dc1630d22712167dcc2869dda4c20b90a5f3b6e9b81f456be5a63691a2db758fd64e9adc4cb761e907cbc112353905858f6c1f0f95aa0526332245713ab02e374439446d8325898f169453933364739505ec6813ab53d6bca1362bf7448e9ef30780d2db73fd68d444490263ae2e3aa1d0f500a9f648e188795347f773d18076572d95d1971f02d781ed4d64b8b928777d9d2e59a1947b067c797596ca573dfb0ba69da0d3f0db71ad1e9b07b31c7fca0eeee3582c3c96a7ac4178e01756d5db8c458350527c9405f4c20b4fa1b30c9c7aefa2b7598bcdddf494ed1159ccf6fa3f36e1523cb6412d8d641c80122a6e2b21253a1268b11b8c80dd98b1011c54bfbaed8c7a9e67a96f0e6c8cd90481f1f7c18a98bfd665ddb512cb2a30ad417bb6186e5e3b3993310b3ae79c1064e353cca881478ad49c8c59696de17859e66b0b0877c711f433e38283092cb80c319b9e663a1ff99cf4e583b1f\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 452a4d8ecbf65423cee481918f6c9b7b4ba369fe652eb1346496553b58012fb7334f9a7c4797b3f3df594938181ccefd3984fc9a8fddbe740d7686e610af25b09a04336cf49458b724e92832e820ad5dbec08098e27431eaf02d81dcd319f585b99e75c311ddfd6cc157e17ae1b33c5fbb4bce28bd919771a27c48bc21b08d45cc4110061f4fe04dab8107b543569d58be18efa572df128c74fdf4193fd73c3bc4e71b772d58e094ba552b8a80c7ec5080d596ef50c7b0727857194f2e1b5ebe7900ede34121a115f4fdf716fc569ec4c6645f06dceda6972bfe2793bb1455b5bca72635aa8599bb67f601ca6485e6ab3b6dd304623ed5e8b3d7a2d07fb6b733fc32491795833f7bd97c313e0865c842c7ce6fac9a304c868e1af99fa686bf842f6c2118ff957b822aac3af68ff6451e1bbc23cb7b9a3234b63d227ce67d61763f9116860d31dccc7f984b1ec9d90377249e73af5dac9759dc82d46e07519f39c2bf21645c68ca6088cd8e28d1afa688cc9d9519e9a29812854f3304475371dd\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a55c1c5b119675dcf844f31e349edeac5d79f87909481eb394ff5c4aabaca507dd0770eb7c7e08d565adf49d236c1b9f05ec9994e1ed01a8cb2e6ac628adcf316614f70d7b2fb813d8862f0c912e7459b23794029ccafb11d74727e5813267b1e423058ab13fc76504466d87cc80bd0a3e00e77a3777ec5202101ef44840c61aeb27ec38bac175980046ea39a13169613166ca401ef40a107fe1c03a05dcfdd6252bbd6a35b1fa4a54523d0efce0d45d194612e1cd6a51cc6d0be11078ecfe5691a43e58f1bbfcce28e09f97d8dd1c6163df9fe1e89bd894fec88676801c5f6567a8250331a3982d90be9be7ee5deb682d44b97a0335c20a9aeb851dd7c02eb7eb47354a02c13c3ce678de820d0e7f67fb2340d79f94754d21e6b61d95d1f14d63f27e47d823117df4f4c84812693193efad890dff16b5119dd78ec95653bf167f740346db8fc3cba757f2a43f9f53bee8e61eeb513790f379ca9cb2d074506c9ecad8843e4c450b26d34153164bee5730e0b6f2a7210953f46cc9d5cacfe30a\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5d379e24ce1388e6ff8bd565b3455ab74f213581ba2e3422aa02d94596844b94c123f3289fe9edff9897cb913a957c4499bfae6d4fb2700187807dc9adb30f568ae5bdb978f1dc1761a465ec87000a4a7b24372d76699ecec070982f66d261788060f86bb0f087343fa9f25beae52436769714d572bdc4f4ab97ae7d47c8d314b53470dba0a3b340bd211d562687832e7d58e521600f69b8b60c10aa2948c1fe5342fd11bb3e218337bd77ced154146d527d493492ddb2e6cd2255be8967863ef0be88040e674a7b599f6388894c04e41d831b42dd9de2ca9c7314c4464801ad2c72e8c7637f320c2fe5c0dec3e4cf3f7eaff761a0a1760d1144b1186507224daf05067623513b045dda51872ff566dba379451e6aa53eb6af12132c4c4d77a90746b56a0a98147f1e98f2b16941b4cd5ff9936f9bbcb72d427a8b8ace967f5dffd6b5d6f345b4b99e86db01790cae49fac889a0f58387a795dc0bfea7f1c2ff3b8615debf9e7440e22de113ed0a76cc38d84386d2859b59460d7a8242f8d324\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0e5c7194c9e30a8e07631b3a6474041c85700a0d1dcd9701b3bec1d45bf2837312d2eebf25018229c86ed492d83a72c6fe2726ff15b44cbd5c3b6676b67e1e1360bf5725effcf5153d2b2e820b90848d36a5e00c2e0c2d8daa3f31cfe7aadddb4babf5b8bf2158611821df7435e2f73b1a130e8cc6151fef3ee51abde04c2bf0b0c1a6922638b115aee943a6153fc07f6dcc4c4bc132f3676d3de947bfc3f446323bda136055192e4f1550702d9f9716edff703570a5f736f0a8ce220a1de0746f557e2c81d1723cd484bc78e7fccc6d802bdb67b94d6be1d48450e4c719063ff07d6d2e01f4669f9739da38f62bfc01145739e291992052f17bcc59114cd5d2c12eea3324e7f9bfdfb1e0bda3e8b71a89dd351f9ac5e246d309a87092e06b7c32f67d5971b89482862ac89cbc168eed944106f647e33c33f27e52ed9b57173207ab0a2ff14e7cae22755025818090fa0b4e6827194c2561a7d43094eb6212b65395647349b4b7bac27a5c17c7903ca941fce3d7ee57b689b2bdc8b547aa5bf8\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 686131d0f3fb2b615ab435793456826776a9de40afd11e3a6c4e583beb7df00d6de5bba618ee35e25f9199e47f15c0f5807a10bfbd38bd0b9bfee3ca22b0f9ba07aad708cbdc5545d05448ad09d90742e1e61ceb6b7bb498ea77d3476fd283cc4d379b4cd2e29f1b468f733ee920d16a06f6689643fc611449e4375ac7f9275d553db3f5fe2a858dffe4c9126595e69366698d27efd6e304a92f43d0b43be5c05998e91ef6a73e34931914a3e29ad2f82a3cedc795a430dc877ab5a5bd0816cba7e8cc5cfd5ce8a3bad76bbf77dc66d92652a42eccd7452bc7104a1f208cb0e4252648c3036affbd527a7130edc3da5735229511228abd4cff1dacc1297155cd3a877be79e78020587d80ebe481af9036b83e4108b9f7a89da26ad50ae65d9008fe2374564e133cd6ae1e595a332d08bfbf3612ab7c8b96a735648173691eb124fcb36899df3a5c173dfc1f37fe6f43b7234cae9e373a212484d134f8fb45a34e02b6d9e59d3eeb7d07e4fc69209e30d2d6c1bb763b032ae342bdd6a4226b29a\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = edad8c2d141137677b864afb778cab75c44ee960390398b25bca129b61763fd6ad2e9d24fe3a66b8098982b40081b7520a99e622f80d1f456cf5ae5a000e943966460e83f22c80d32f74cd38111517db3711f78126c0cfed6e5b528615804908b3428367ae7a2d68e5e41ff3826e4882c6996c26b6e879d298bd4fe7d917eda57d56e03392b112e0f940ed408124a5bbbbe4bd1fe4e12392494b155e5acfeb7c0c02305ff8bb17f291dd9adab088275691b217f8f805baab6d5c8ec656dbc67f1921f12b1c3670171e81135f16846e831f57f67ae700f6bfcb4d619d3b9348740bfb3ed9e9bab3c718c4fa9ca34d9814b96fd3c775d83ea7729ce0a04b84014552174968fd4be92f281d764a8bbef9f1b6c04e843ef7fc5618a945cb435891e0ae9332af46af185a91747194cce9f3fefef1bd0e6f1c72096053546d72cdce8c764b27baaa01c3530eb115780f2a9eb1555949f6838be7b53f282606a82ad8c56374b3dbc4d50870bccd1b5e2c50f6d32c0abb92d784de41fe54368e9c8f4ef1\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 9702fab86b0f4cb3594c237ee0dbec79b169a6c9ba83ad6eb3d4af38825fd04a938080429c1409e48e764cbdb56112e217b56f7fc2ab0", + "cdc5b745e078b1cbecbac1dd0fa05f987bdd817c4289ca3418592a1ce84a6357e9943f49fa978a06f0c5cbca2e60a3f159719626e150c27b741481fb0f8e9987b93d72d40f709096fdab57bc3a0939e688136fa819d9729cb7417c18bb7aeead2ee533da70df0571c2798079f663a51aa94e89c8656a6e87171dc3707253b24fbc4342681b51be9418f34a5a443a8760d92bd36c6fafad5fba11ba24fa1a529b583f637d6b251d1f0eb9a650a020aee27f9e5dfe882c1da9caacde3671fb6be4b3af424f8312f1f92eac1cadc65fa1bb146e4d3df14534a320702e22addc9426344ccaeba51dc2d0d3d59a029328b059c7f76dd6a7bcd518530fba8ddc7cd83411b772fce1ed464d13a25385b5537a053e3431fbc958f04d1a539401f6660e5c7019f9617e6c4e5608c409e70d8b16c392e6b3b77860c3d45aa3824dff4b30372a061609f1ae1c88cd0\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 0eed6d489bde718f00aa338eb64e156e44ca165f4bd09e59ac893e02db61db21aa1a475731bf1ad7a907c94b1b080d33f6081e00dffe5025720b9d828523a4afd2fdf644dbba202d7ee2018ed999de038ea4fc5d96119ab65f0b2c9d889a47aaccd9c42dc5373c8b64f27d2a2521c7dcb8085b8a51c8a5bc08296b2ec2ae980c98bc8d00936b8c96805eff7c09d3835c1479f62a8b77057d8e8381a412c32cac8aaf295bf851a2711466113cedadc5e90c8d0fd1321e6a9015b798eaa66a41fb27a53b0dc80525c87663eb805e76a3853961c12a9fa6520c4902d4d69649b5543b48fb3bc8516f35d4029dc4a140886396f9a69529e8e1b7147e0bcf5819dad1a5340cba0ef530da999325572916bd4c1181cb90aae0be3e4124e08663ff26c8749032ed664115cd20d4f92d92adf2cbc704ce99e389aa0e3f0cd8c1ab905d1ea565701d1075863671618a94a47ae8bb2a2099ae390056beb9dfb1449e363cc86e5e662a176769d1434f249a21a8cf84a69e8a9d2df87b343352fba9260f88db\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = e764485606b1b477efa3ca4765d452e2b8fd97c8a1c54c51d0235bd1360280cf9c1f21c9a1c148c2a8e560ed6a75d5c324b36d0148aaf20fb2db59c5f461f3399b112cc4bb4766de8d9789b8241c7689a5d296f091658284ee8b429bd3c3c4164f9a67bea9901c2fe89853d6c616921f304a93cc3cb4b38ef80b147866e0f7777cef50f2dc63ad61adb3fd522ec0b9feb3fc9781e97a0a0f1f6b1baca125d9d006de6d3befd9f823bdb307563cfe63ff49d767d68079386c30a03c373fb3cec92c66846b6b87bca60235e0ed1993598947aabd1fb284b0ffd3a4b4a69c5c79483d507d790bde13a6a9019c918736d511cfc4793f75f201405b62b256528d377411217eaa2789b2e839a8cda14d1ea408a3a8bfad6f6acfb33f0d9ea4aed34715501c807541d8dd5da9160b11c7c0ac8ce49fed32fb60a54b1e031f203872a6d8e5b4536fb25ca2e577a8cdcf8843e3715b97983fe935db972e6a8cebfd42c7f348a02aab0fd873ba03d8829d88dc2d0058a9315c6fc5f035ebee4c97a1d5ada7\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = e220c5504ae996d68892965dbcf9d158739387c655c4c44b8695f3f5a00350044e6a3ced79ac812a78ded031c406ebba2d3df4223639747ece73d69e2a5788de752d58a581f2b02dfed499620248b48da2776fe349897d848b8121837714cf29e3a929c34113a05457e5914cd9c14bd683c9025e1491b9ab4865ec25b281ab9696a9bee80d2b32e9ed3e73c162420800c2997819eff42caefc5d193bc3107c567f7f364f3f1b8cc6c8e07b15d00eaa698fdcfeadda11149bbbf0d2ce84162b5f2fdb1763c0108e540c9536318b1eb67dca7cf603921333864a6eae20724ee53495bda6ef5e81a563584edd6a705a434948f0150f711be95d763627c0ba132b8592e9022b18542ff2c314acf0d597fdfc3f9ee3ed617b78cca7bef4cf259329a9ad95ef5dc636b86434e9e7f9f719a9f6022ae913c19737b81bcf1b4281f8561e981bcaf2c38f2265f44755cd9b2311b3ca157d317d98ee273b3a477dcd7954b5f0a6fcc629bbe3338d06773a92e07a8cfb32a96a28cd356acff3a6d060f20bff\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 48334ecde4d3717bde04a2257e8aaa94f5383fd49a8e7e6933f60958916d223bfb32c8324b50916e72d4ba62b715e1298946efb8c669e3331c4aba5b4b5d885e513bfe694de8594b0c268a44e1916e1d9460aa419d7e8fa8e5a69b96aa0078a3072f40ccf87685a0e4efd1f88822e2a1491dafb2bf34ac5c7d7c93ec0311e4531f65a8b35f763e9ead78d708e1cd3a45a70d84705e9684b00cdde81b265dc1222a608eb090a5ca0aa0803945a8e5fad9fd13bf9199119051d0fda7a0ce3a8cc186a6d9b4f880bd8d7191c9eb0ead9eee5ecf3160f9457aa9e0e1913a9a18cee98a5fc8c74825f916a002da58e47a85c98e2de0da9ab39d6ec326d5b795586251b8d42866ea5e40d9738d21132fe7163dd90814a7f0f308ba9883f24ec123c9711f1911160034c9d3404466c5f21941129127477baf8aa5e171d573b568a11175451f6fdbf081e976eba6c5f79af5ca99d73dfa2c468e0fbd7ac0f3acdc4755795e09c2363c0b145d23c33e2a0739c953d7bab1bb748062b2129e4eba15c5b6f2\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2b1fe31339301988be9b729b9a14ba96cf9a6a549ff66a9ba6948af2fb8b2651baadc2fe1fa5ec7d466687553cdd06349c6d76b702aa2ccb6b76658685c7e1c4abc6cc2902d79ff82d3d6da0525be5198d07388b62b1173f88695b03108129e2915822910f25007a6229db142c8923880427645437c9f180765464a317fc882b877ef66d913e6dbbc6701ae7e7e1cf0003d681135a76f59fc9a035b8b6396c66f2fc94a4bd524a816ec028cb43da0e611d3ef20572e0a6f2fd33659cc85f2a4256a4badcb8d519aa780a290867f1a0f671d7de122a3b7c2ee474837dab5a6309f3f90ea42eac6ff768cb82290eff6fe0229333c5c252a650f4bce41f3353799e093a2193f9d6da2e3127db550877c32192b1dcf144b7981259c3e3a5724c993b5077cfe4d5ce3c76de5230d116a556e6272cae5e1ac6a2fcd4478668fd1fc4ef71226dd1ee36516b8b6933236119d4ec7e85d67f2e2684089dd4843cfb4fa0436a1b0195d0f28c52c35236f6f563e3e937e1df08c33a40d2981ac9fba210a670\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = aae38ac4dd42a1a038aae4121f0bed8a401fb8861e06cb96c4be4ff803dfaad82084113998081fbabc649238655f2bac523d0109c344bcaf3c2a5613ff8151f94dc4178cc56ed45b31c9935a4d35be965619335b9db9d6ed312d29c4c38aeed6893031fc0f0c9d86b4155cec28541ae7b17eae83243140f8d0df248ed9f921a3184aa944c3c1462495524f25b0fa00124710b36bf03aa80cd7cc549f62578031c6f01cc3b182af18d5f29bcac956e6ba549afef1f5d65e1361f4bce878bfddd526110d6b683a64a522cf56b8f22c2d6c8d181ff4de2b40fb2345badd8335e09cfad9f1e9db86d319f0f510c73a706f8191f7e5022497633867fe9d0d850d39107bf63e6c42513501affd5e253e329ba1145a650101384e40a804944f9347fcc3fed072832a4f2688588340bb2f53475bcf16a8cdfcd4fcb8d2ce874d912459a631c1f00a8e7648382c9f485c6bd86fe02087cb899c334ef7b5fc485f30548d0924d8fa68fefef46b96433d2e806b58b13e0a4dc1ceb92e61120ad5c2734f227f\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = adbf4896d40ee3a9e30c01cd0392d508d3dffdfc36fa624e8040fbd578b1c40258e8e42ede92830cc9492e323166fe56cc93f440e57be3be96c6e6ed8d9d9540e5a68942d8df8adbabbd4962ce4238674e5d7702a7bb4dc83e0289a1b3d57019e278505fe66bd2b8901f832f9f563624cdb465b59e95f1fef1432b728f0af67b3d171b6c4a9b98a582a12c627405aba6e5a9f43a8abc90fa341b56c39afc84392756aaed1659b4c08b70588e65d9e4e245c598a14737bce01ae0c0c16c9da5cfa7c868c264ec46c7f297982f6e009093f93275e2da5e74cbb02cc73b6462a581534fa53cdae39ce37a1c66c27e162ca559aba518a8509bfc827fe4ffdeb2232bc01fb1c92ea8f23b1ec780933cfa0c8df707baa2a796e0190e93a9f90b05c3fe5e5128864b08cf0e27296ed862900e227bde557ff47eb9d7f97762baa59ff5d22b6461af29dd2f02b1e1e20e432b7dd362e8510998549a23857f083a44ac2036a925b92310d9749d8e85c59dcb5fb1aea5cf1cce6cb714dbd77510ee81015bd3\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 38981944b5a9536f7eec9ff78d3b7c1203e94f50313b30a654694397f597695141c3e86f0881923e0de58e0220428fe362c9feabd088d49c0ad93bf52e322b8ff4215b122ebed895a29ea72c8e7896d37f0fe49ad6c9433d4ff16258161ce21204a908869254f0fd1fffa383d8a23451b5c6dab2e9f5481f9cb1b427ea867c05abee1a76a130026908396f2b5facd6426b2a45e26ba6d623e6b56e4a0bcd6f88bf67c116853eac6f29355d3b68a074eecf7ce4daceb68892d078afd70d0f0fd906a592871356145e3227615d50302192dc498c61e79acbe2d2b9b1e61c2c18cae80155cdfe85aa110a6554871f7ee0e64ab3bf61a94c8c42369465d40679cd348928ffa582e678a618c6e8661b51c23368794e85ca699edbdb08d73b83bf66e945c18c7732b6ad85ea0c89ad880dae3de5d09f4ac32fd820360f197fa4ac548d73e44732d9984e46067d16a271469035f3084db2fac481d1f14b61d8273ac320e54e87c9627d3bd2428539c00366e4fdb8a367784e75460e35b50e111aa22b6d\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6c773036cb6a6e2cefe921c155dba50e1ca1aab3596aeadda218b05b5cdbe99174f5e6932df80b349f557481e51dd8c3b01777d85dce5ac2d88466646d0a6db82ed261c5a8fe0eacd8913dc941f39d54209410a2f4c4dd4903e1a334aa5adec17e21b274c327c1c8c577fae3572e1acf88cc0567f60930fe7d3582e06ba1cee542985766fd2a5bd324beec1a0d7bb09f6e29f548e936c1966d75607275428dfb33e293d49ca216caf2074f4c8c698f9a02dd3191abf0df2750e56808e89718897eacc64fb6a1186512342cb041b55858867bc42e81bf67e94390f6c628863a6f5d1ae6c28caf921eac0a9738e35799573b862ddb80698c313543e256c0b939152436b8c617f9c0a6db58a1be76d24741d3dcec36a1dec76ac23e31ecca745c93423816b6197671ef8e905a18356494881baeee6c37df47277c9c978b97", + "8251929d5dd23acef7e83306b41d9831750cc0af3d67ac10d741f7f78dbb48be0e55641af08bc6566d332aba39710ae2e9d080daf44444f4886bd8b493d6885ff6fe00\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 6620fea7f9ace7ac74c838dec6ad523e77af793103ba27faf2b6ee464984fe04cffc2e5cb822a10fbe3ab4abc82d96d7090d1fe468ab048bdd341550dbf19828f96654e3db78df2edc8cc09e2281829d70ef84d2f9d9ccbd860bdd61212eded03643cd68075c35ba391dc07dfa422b446bbc834f5382fdbb9c6b23ba8f7f501fc7b52c6e18ebbb42ed7d3e43d7e72911a2f24557b81b685644df9777308ba2a63d0baa7c4d744db45b4dbb756dbb5945ef978c3e140ff851c7128bc43ab48ef297f664ebc33a3490ff0f95899dfc7c06561e55ecfae73406e7b0bd9dee29a4bf9538d42c74ae0f9759ea2fe7ec65566d637e23fe645675e6ba8fd0ea50fe6b617e211bb79a471188030dbefd16c115c67c8ae6854487f68c5b8c196d046425d34e91da1937df0e48df892ee3291e2532fd2f7b0633fcfb8e9f59d03289653b36e93eac77f00c3ca751dc601f4ab7bb1581cd7f1785fa959d85b87d7fb44d83b6742728f8a6311096f6d73f282091745b56eec604fccc0dfaf019eb96abe37e17\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = aaff23fd935dba2da87b10702f80d722c19a81a05b675f7e0e19f6e006e37eeec3ce3b05f11b6a5e493712369a768346c948c657939b3f1aa9857a1d17775eb0c20c2c2b95514c5f158cda935de07e076a0b7e8e69b0a896e9e5757510f94c4cbb0952c804d882d36870497c0981ba9fe7419062852c3a3c3ddaeef9d5b59387474dd4717342d30981289d81689cc101a5bc60de467b19759b7cefe2ddd717ad13e65bfd0158e394721ef2c1ca0ba98af14e5c1d88ba05cbc012c1e944f7d06c4181940c46f64f70debdc474b3e46a37c25f8a6435aaae4081bf883eda779b48abd4abacf394fb5148f4b3f0b7e89ca8c0cdb3c1ab007f5b48f02628a48e67ac51c5dc74976705febdc1f32ab75fe8f683becb6de0f9b81fc76445d8ca68bfecea6e5ded79f92abbef664dad11e508d54c3a0508287c42b687b304687e609dd764f800855ddb1e6dab4b219938d0f890412f74742d6c1734c078ff1fae54bd43014611eba7e7c0c9dc399e638d160410e081c98694d82b747838514223980495\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = e880fa8476ba3b887d5eaedcbbc8c0147c9695d719e65242dea3364820908965088d9e89dfce9faaa94cd847282778e0629ab7ad20051656ffdd59020d5b3deb36dd680c5c77ed74e0f2c7bb364fc9b4affa04aa5a1f606ac0ea58928e0e88853acdb6a6883374c28833927386dceda7d5e99a97304c07a75977c859f5e5d8bf7a77130036c449c0a9781eb0909d9c791a1cd7e542a25d44cb11c53c065773392746f19678bfb93a0c5e1347b919c3199570884dc78d2c04924993fcffbdab41d3bc811e965f16742ba802b49946e1e9499db4014e1e9c5a22662ac5e437f0525fe124dd02e2e850e266478fe903325b1a0392662e7b0843391f93df870ef870b543aaf6a5a70d87474d8b013463a10924faee91750fd64e4d18310512756caaf970202401fb878de10eec97c4502581bf2c50d5d339392ee2e41375ee3d5cda64a291fd9ba853bdc7f8ca158d53d2d59c0d049dbc73179fc6252670ab2dd2ba1a30c9b96646bf5543fa2ca4e02d6e0547ff201c831262cf656e5a4c1ccdf693\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1b42ad089c3b4de1ad32dbd8f46fcc88abcd7f7099d3a95d1903e80f96e582fddfd94f56069385717fa3da22a281eb35d00ecf4392c00c1b518a1e54ca7d9971643d6c0a75b15518ecc46a73b1108026c2e89bf1fe153798e70420364e447f8dca5096a1b7bea16df4e38ebe6bdb7d758d839c3c61a7ed7dde193cbccf4f77ba555cf65c248313116a4d549c314b62fc5bcf1bbc649d336f46fab6a28dda4cb29dba704459a9a25160d05595a0be63d1fef5ecf3c1167c06868f3dfd3cadc5f61e1aaa2ef6cef1916ee215a2347fbc26078037e4c1c7fe9dc40a0e151daed6a5a30b6b09a29733599bff959885a1e88482da0e7ff8186f924ebc6aeb391c93883a682b6d66b3884ad51b8f1f7c664bd31fc01b966b68d26d6062bbc52f66f020edd561d38417a780f53ad9d8a1219df6be31913e7006f15648d96c3eca2b54c4258b78a27ede8a4a8f24eb4a04df289db6fdffac936437fdebff11f38cb1c958a2aaf68092564f5d9d995394869d9b45e8bffd28d60224a6c7f30f32792755ab\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = dbaea130782f159f2e7dbbc5d61d7404deab0c7e604a245a73a7cd1df1b48a32b7caea2180a2e3fc4d66f706aba4aec414662fda761c9b56d8c8ec100708d7fb3cb04a1e82385eb5645a4663d7b59d3fc2ef2de527e4c5998cf5ab064ae1833c8bbd714268034e7e269b2eeada1665298b468915342681e811d93ca0b21a847f49876b9a44b62c5e7be7ec16bd40676d31da7ca5cf3be55092b9dd5aefad9dd4711199ee6a806e4fb971f767277302bf5dd5a1b85208ec5a89faca3374854799baf8771e4fc3f98ffc0f71825e895a48c9be2f7697053a906a41fd9a4d853799029a7e4cb05d3d4764419dc3ea3077c9575f47929402090a0eac0b3a004a64f31bfefdf315f8080a0e532698bc704aa9530f7095aed9cddecdc4747ccdd2fdc9e3eb3a40eb7d3b432f00bfa237a082d8a0892f04bc11bacbb81c7c7729da186f6c9cf5d0840c3b79f89829fb061a6d0e1a983e7e99866564e8ae682a73c1e6e1e5a9b2b4d3e308ce8a7b7bf1987da5ddde05b34a92f25eb720c90335375c6742\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 8e22755f152bed807d5a31f9072dca0f388e761e24a0208475b07764e7da9fe76b1653cfedc0575889eae4adef5cde93e36538d2702808b4056ff59123797fce02442d08a4f4e4b957e7e597d732a51d81dcda3f5158a3dc7239b3e0d0598c923affd7f06e31608f950a96eda03222772ca14a3d02eb00c2b6bde5de36904bbf4b81a3401a5aca49a2c0fe0962d8443a3b3351309f8df1e83e64e3f4ed20c1a883cd61a32904208ad46eaeaf960c4e3c2c39af4c21be815f9ab2118af1574f3746e8d740784fa97a583133eff38c3e2b558d8d7c2e0276be9e01b6cb22e25defe0c52c0f68b929cbd62a034ee2c7a63ba81144207f6f804bf18543e8dd487977aa13835e359423db151a3c5347dfdc89ab7bbebcab001aaf78f39af10b923ec24cf795e86569cdd10a3a459e8cc30ecc496996b871d5c425387a986d3dc93e7cc6a5c058974af46be2b617ccddeb85ee101bac2dea07674943579896ddabc9533c560ca5f14da5ff031cac5b1ea587751710674e2f023211566a5536b9a7d8e5\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = ee8fe865ef88da82301e8724da2ebbf270a8be48d7e6e6d32bd57cc03841cdb6acf470ee716eadc23f155371c4b6b0183062ea44c6931922f2e26241cddbb6bd4c13cd7d74fd8bedc9d072c040508785042b218b55a42af61f0b52b17ebd694c12cf9fadb6854179b3ab8ac7cfd5b6167777f001554abae331b09f996afb5babf3292ff8fe9a380fa6d7bfede2f7b73aaf4684b3fb8a7753602096e17b05c0bfe531579a303eed596b6c7e583646e5746cb917ae3dfd1be2f2b04de3db7c32571c9d45c829df0fb59e9a0a3217498067fd121ec63b249566113aeb2a1733f0c47586144d35ebdceb79375fb86343e5034af795e6d197e09e21cfb9d3c2c3448dcc7e9eec34eb3f009575dacdcc25db9ed33974e279958229e46516efbb77e6274c20e6d86b712114c46da84b581e1a95428795563316b0f42667d2524098ba270f58e60c977136b89715419515d2d53be0fd22c54291d161521551006e3e413a006c8964b4734636e40c06c81171df51c534986d90665bd60d10f34b770ece5d\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 03e3a6d8ddaa0dc539796b84822e3e3f59ce2ee733246e891db71f1a3550b0fe17016382a429c7eeec8fbe2444c9bf4a8de7883ad7bba6a527e15cfbcab2f5bbd6dc6d8474bffe41688b6b73ebd8874b6db8a2d025ea9af4000059599660296f890d70d8cb61ca077e463e1fe3c3cb81d0378a603b2fe4405b28c92a5f70e06ca283f32d2650d7d04e252ce08152721b5c6852526b14828159bfc199467c901e658edeaaaa6272e8829cf1fd2f802f4aa565396310a19ff95b93e6291d2dcef36bd90eb3edda917f4fc1e999e335275748203ca0078ef37d0f7d4293c4f5fa3d90f02a92d8bb77922d5f7d02176a329fc1d587f80fa1c247cdc2bb654d2610b2a8a3c04abaa04ab2ee9533294290adc8a12b312449b2e5deb703b086c7ea4887cd8b197f1310aa32694516accf4701ace7a51b5264ae45d7d007294f141387b1761a0568b7ca36dc23694eddfbb7658f5836a353b1029898cea2e647f5e14b2adb01e8d1fa462daf26280ea94f14a252ef5607ce31d910ce1122b323e9a25273\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = aed52b6e5941a4d7225768a427189ec37a5640f8083827f922bbe563b4e96ddd039e2774e4e790a55bd0986936de6c64c08b1637a1c6bee932f24adf58613d378db73a947e5ad20afe1549ff6e02b6a7f089a97e42ffb2ad5fcd05c4d49a2d82b9437bc34043ec6213f0ac593e42a9c9d0faa96534dc30cff56c8692bd71d376d591b10c450daf3c31b60b5377b0b4639dfbdd6e2ebd5c4e0c344c02dac5ceee2b661b97ac670564604a0d2bf74db73923089fd3a1adf60799289cbe6dd63883818550233e45698d3e7e4a9b0cc2078373beec13e8523d0b118e15705abdc804b785a7c2e8a8ba7106260a5dc860d8a59b717c47817d40be37c392f5fe11662bbd16cb15584f6bf9b5bc577cebc08ec6230e0480483dff16a56ab2ababa26acce9566a10bbf0998b78e1b4ef2379d8a2bbb28da302e6f43d2ea509846c9d079f723966c969e5c1dc383de47fa2571d9e515aa343010b1f8f1ec1d588ad51bb6742f354a5547e5b80151a70d6320c93ee66951b6d44472ab3664f03a3cf309d88\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 6cf1b3bab7cba1717d2a31fbcf7a2218e4f0186fc7488c3054c2193a97d3824dd15d2e15a7268676a2740dd428fc55572748c8a0b65ceed42ff18ed42439f25664d7ccae0c2b72e2578cac39c69c55d5ab852a34570eaef54db1f91dcfb938fe7d82", + "2e581a3a5eeacb836358216ddc7d0d8e56d9aecf1698079f59c7faf4bec74fad37352a1c80c737712dfcdc8f0b8240d478ebee8fc626cdea531365279ecca43f45096f878b18eb71cb924d7454e41bf8c7fbf0d117e082a7310dbf883b439c315e366c98ae886158d276c05e2bd732ecb32e1c5ea05d2cc8d4585c7d3af5b7cf72a02c0d91eac7edaac95ca47efb9c0cb9f2a519c139bf9a6c9ac59de0cdd35f5b6a17cf7f66b822e62aa568ed3046c399e834fc741420200d942fcdc648fecdf186f46a920e87e1313458a312424da15417286ef53fd08a9e38d18a97a819100dbc7b8b43fea385d15f9227332dbe606d795127d95e5f5b9794b81be57d49e48abf11d35fe52edd54e8dd0300588a0ba62047f562a5abf47f0a645f0d10\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 5898c8ed989e4c4a3780a2868ff1b4801909ed8e0336b75cd32801f169cd81aa16c34dd21fdc78aff996da124f9edaf3542247e00a4cc5e47eb9a837d07984fc5d2f0814d22e274851643963d349a43167a0659549970c053b3cb4293769dc748c6f9d15ccf683714b5df003fd7601f9c62c2c31f5245ef0676585cdc008ad087b8237dd17cb8d5720c98256c9a46daea423fee19abc659b670574ea145d5057ac3837002166ebcc14ccd990388d533fd12cfe7e900c6e80334b9bdc89164dc4c255ca346775944337b6e9c4472a2b90abee876b3f743842ac46e3028815be18af5e405a8f8d4a5d9d890716c6bdb49d365edfed199b2d91aab958d839feeb62895dedcdb75447d741f1be266fb66f915af337716950a4078aacfbe3b744dc44b7d991330f92e2015de7a3ecc6024cdf4fb8106ace7d521f67973a7ec7cef27d66e359989009c68b08d1f0baaa8270ea0323602cda40c9721d7cf667c1f319542fc5eb74b85455b182539497672dc1e20a375f1ba75aa6297ec615d8ecd0ff6e\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = c353da6e54821c2bbca7bb85317ca50c0ea5486225dae8033c39385dcf3a2fc440ec6aa7dfdee90209cda40ae07d20f7a161df4d17020f620e3040c376f5bb952a7d250d9ed76c3c6fb53d99e2a7d606ee1893b8a62c403e2deba0db6fc27ed8f3300bb2a57618dd0665aad48a9a36ee0259f74b084fe9dc90a1c82d198ce0bef8f3ee44c83795f85e254027ba64487f546e475caf2e03fb563779e8ab3fa7e3f5740d2d3e97892d8d786f0a502f71e3e9e8d418cca8cf1d1ddedec0a5737a8c3e5d07388bccf27fe332b8a3c6965c777f3c6a7b8f6539942c791a78c9d78083dce7ee6b60bbc98dc36cc925d42cd2983176a9fc88d67f8ca1a325febd59086b10c3add5a6573f76154173763813f219e29fe466f0346a7dd9b6c952fb8ff6bd7a0b19baaeb9427fc554fab64d520c1b81a00887be9b50d34507d47dd347331e3948e633ec0738a83deb5c379bacd7623ef2b89c994db4825cdc1ec39113431166e4e240e73cd6635d9a9af25f72623fce4ae4167adf48d24ca19dca1dfc7993\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = aaaec870a8223d256457cb14183889938abb00b21366b90e36b3b51fed1e170c0b3a8944f5cba54b8d233879fda1076a2303309ebc04bf66ee4295030ffc6753f4eed4a138af850139defe1544d5eed4e7e8b75c6c39d66fc68e72921b98cba19f5dde1302e91336aa81e21654892dffb0032b82fee80bbfde4382f22e71281a808b81d58b4f335cfdd6b170fe0998e775181d0304e1195d6c2fb333bf9684b16b10a06dddf8c43032c8870739b39be55e87b0a66bc7d3d65751083ba92086a7750f965eb2952c745747d619ef4ccacc99ede9e2bdf25d62028da81afba377438222a053ee6945ecca2ba227c6da44397951c5b0e28e7362ac5c980295083dc0bb7c9783b0bada0f2ad61e232be626eab91b0c52f8774cc3331f6196b4c16d21e76a3eae64ac85c525c90c670fa422df1a23827a93563044c36af04c7b7c96ae7eb9833dac917e097a1f6a5951de61adc1f6fa3b6aed4edd4fe0d3bb796a88aee0588b8d15bbcfa572a6e697b7d23087d61f6db7740d307f5edca795188dce0f\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 41d3df075cb50c135e1d07a11d9239a9102dd3672169ccd072ff78e7e955f61c40d2971e10a4825205d067f37eed21f3487b9a512d0c80f09d58b6cac1689cb25133dc840c11a94372332aba692d5f6157a1559e28469ef8a57628b17204b2d81a8e21c0d91e0cd15633f7e612a127f98d64909b71bf3984b24aeb1ae3daa86ea44337e22a91e63b7e1273275e51dae473b0ce61a2e3ecf650d38fdea9e05bd0e83a564dc95869bf1fe1d19b5be985424f55581208b09f6e26397c0bbd51af1b22198f24d483a2e234f2f90ced3b780f7323f29b404dbfd517b4e53bf1fb40d29408812254177dbd7939347d0fd763d2f18fa7e83f0effa7e539a3061a3b7fe77d9b5df5d50600cf39055116f235a60f298512b783e22fd83935083185f565c9fafcd0f038e55ad23246ac5b1e9b6cd777dc36c889d4adce69494d45d5e15848f4ba57169df4a28599648f62e9919861f6d5d8c4e1de4e5601f9e41fde562fae0638c0988bb0c0ee63d24d002b67ba4986d1519694a41ce36cbf20c907d62d53\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7bcccc5b52d6a7360dbca47a47c6a360eb5f2f09bc402edc26e696fdc1eee72ed38b9bd3c9472e0e4336ce74dde05b4e94c6933c2763e95e64ab0a1d45256d129ec8cd5bc0a283f2ca0fabd18ef0ba2a6b66dbfac9feb7ff95fe76d443d0aa5caa7095a38619d44f07f5152c44df6acc766859134c5f9c9b8932c10931002e16564b074b28e2588faf7f127c02958a6ecbb04b3830ee05553c83ca8a6d5b1c6f31f2804276cd42e6489693975dfb1f17c09fb5ba41d9ffe597710a8f4d0b64907b2aca89d6d5beb26cc78125e4a4cb3565aee24da8c210dae2dbeefd2d468d006420127f49f5d8e45eb768f9af9eb54a130fe327bb0ea12771d4a6e36e89fe2367e1b373f7c46b34a67c42b165873bea2b763473ecaf60b3894f76bcbd78302bcb1bdbc9f8f42ab9f15c0a2175234074441aaa8da806a5a86880ddbedcae3be07e86fa1700c2437e63c5ac263d98833ed989249cd3e7db8f75323b828034fc4c7dbbf02eb8e3049010ceee24ffd64bbdc294fc1090c5998ccf40098c09650418\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 291f4b35a4dd89e9ed5278e18d322d473e435c7b9b611bd62bef17e6ba619c9e811a295b5da39dd291b7c29303f0cae07ece61b8f3849644f34e0e3dd291df0de5e7225aaafeafd3d07e8e1846b53e0ca61121f91b293a3786fe6a23fbdf15c5adbfb8dbc43540721367d7e9db32588d7651b329985ed3602fa70b3554ef00718155054cbc9f3985ee0c731b05f4552bb64759f398bd36b2984afe66b50c51aa4bfe8ea8a223b827d24904e8781bb1abd5667f731009d315f37bd8b3400573eb96d738be26b0a13c98b147e3f99941ee3608b1f38720c55ffaedd8fef9f815c3e1c48b40134de9553f38a8f8945707d9bd0ce4edf51d626b15c522fb29852ac5f45e8c8fda54bdc81be05088372b2934d7ba9b73c081ceab58505f9080dc3c3941cf3121f5705cd42d9122958148b60740aff97e3e55eaba7d093e1fab65caaa065537dbefc75a3067375694e3f8b7b585718de51829d13e6233613d199c1dfb3f5d16bc056f768253739282bfc248b1870b5c098664714e3219d3d3a433c5ed\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = d43971650646e5535fe0b97a8fc8dc2bbc93140b750641ac2f4302f5fcea941cde611894d856b7c19806bfc7c7708c100254b2e4caaa56f6a3a5ff4e105058679e07b291eac95d8bccfa91811d6c167205f49acffdf0fde91c15e6d3ed37dca02d28ef25c7f11a910c67a91e996fcf397b814cb1537da377955d651d6baccd662e9d5c5264516e4e0c6d396fd5aaecd9a093bfbe8d0e8f9b64a2c84f8a2874b1a788cd94d307658740dc0358535fa1fb545df3125b7ae19f8761a3ecb1ddfc24c1ef754d166239df5bbfc5f4666c588b6a07927e3152a2cf5008a2f718499440066c59dd23c7258bd762c8b06bb12a89dccba58eb8c9851455148296462a2afbb2d392cde73e38d2a1e01ed5b47a85ee3033ea02f1f4a4898c3ebdd5967b88811727fe5431c52c8ef4e58c2e001059e8fb6967d37f819a2586bfc8c715f842334054d70d26882026b410c251a17b89f052ea23dbb9407bec32e2e61994bffb04ba11674c15bade539faa05d84d73aac4966dc075ca968bba6e5dbd8e16a66082\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 75cc5277b4df2add60a44bc66ee8cd4b62e19f1fcbb7b502e139b26c9b7f16c59a82041a1668d530522131e0b602fea4f5206a59bf793657bc51d320594f504afd7f681627115f49e50e2f3fc4e745b0d7c412d1a37f8b8cf1fc53c25a65b0bb18ea45667caef3a8ed608896741b57d7bf305740e238cc71e930b99be530e866227e0ef26a82f5be083d4dd58b21a3c5f01f29c72d265afce64f56e66f85373939185d312aa83e58d82ab01ece9a4ba5e4295af10d2e563ff571f8a32e68ae78d667af19e17cc1f954620184ec228d8e8982f19c0e4f7a10cc1bac881967371be184b78af4116ed00c7d4d1fcc3b2aa66d28461eac5422716d0a7bfb5d31d79fb4d6b2fb5799d7c86295cd4bfbfa6bfd6c8c35463885fdadc5e5edc2f5135323253d717d7d1e091be6413cdb898800ad96b36e8d2b7c1ccfbbe6a97f516eaf9fe08ef3ec6c902ceb54a9593d65d0976c7015e3a7e6780f238738d3ee725a16a94041b09484acfa8d010d37b78febd3d7a8a4e95d90118dc1897609be0854274f\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9b13eeb9c2d90c05aea36362cf7c99df17dbee7174efa2c2ebbe097211def94cc16943636cfa0ce56fe72254ef79558e4edf20de56edd93501853d63b009b00d40778fe0a46f3a220d0681cf1dc54e3c3f9578f69e9c14055c73a6ca4e2a2cf00e33499879a3c4f6c4ad928535b40220e6cc49a55d2f809181ebdb6ae6c439a235cdd36aa223e56de9d53054bdddfd9514a038b4edc4cc8145a5e37037b3b4bff7e664d87ca6221d7e22b1acd8b54a9a5c6da5da7574d2470476cab1785afc7d7598d4ecc7201ad0aecc09a8615f50ce839c75d224a1771cc29e8a429516529105ea9f8331d1b0a2d1a52d11663295fcd24245eb9ea04fef04d5d17dc3a77602ba98491bef151276a0d6e37e31fdd3b0a463aceb0b03dce495c9fdd85449c305f933dbc1b3fa71ac2853ca04a67727acacb77c48217446854de289e704eeb4279cbdb1d4abfb3e06a2b7d66e0eea608aa5f5843", + "bb957c44902fd1a8d1121811ee891adb63a8fdf6538569a2564d7181c7aa4d4f02cf78f6ba928b00ad6544da9\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 577f6e42fd397449565db814762df3efc12973529b0b9f825bdceb5c9c569d8f57da7e97f0007c23d8f8a88f79ad079644dccb2a20bcc56675267cb8d6ebc18d74dc9ab58b1bb508f3b30557ab6a09842d0c02b58d0bc23b6225c551364ba6fe15154ac2c279a2cfeeb7dfe5e4226f24802df3571b72f71b52f99cd2488008eea573aee351508ef0af9d8849621e5603158601444732b6f62185adf4134621e519444e4844d551eaa0779df03f1feb2633f6fd293fc1d3fe2ac1ade85e6b0f6104bd537f67fc09a21ab6f32cd98ec916a0e5e60d385cd4a55644b42707f6e4ab1558209521beac521960c1b3960d4cfd132e5454b18efbbaff1485858a1258de95b871eafe07211601b7f116d3b970fe36cac65c445c62e8473c544dbe9dd03f51d20645fdcae8c918c28ee42d46b8370787ffde9d3820bde2e13cb48d555eceb1db30b1c686d2f01ee83c44a07bfbbad044b786d6d02530f6a101f7a1904cfb3d4e3cbd2bd07accf88bb35c104412f1fa0994ac8d57af6b70caee6186cc44b2\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = c2bda4a6569e430e701b1181abec2424faf9215a0a72790873f36a0fd935892b43b221596e840b062e7fd05b284b354e8d420efcb9027f1f4722a41c83813f6bc8917baf7046e4491a1291e606fbfdfdf8a18093d1a521d2ccc6a3444d9006c8d16721dce5fc82ff9da22b3eaa841e445ba58a40ea0e96cfa07d067a3a0e83f897fa941da57eff9ab5e0a9b6693dc36d471dd43bdc5b71fbc8d1fb8c22bfa91ea846b4d228e474ad999c2a5eff17ec85678b60a2de1430286f24bfa7ca744041c1c54bf08c9afad6d7387d318cc3980f2022dfe6abc6c15e1321dd835e684f61855546a4e6e74ebc40607e0878d61eed6c287b5ebc3c1b17b2b7b81bb91fcef3572bc8049dd7857614b97eb393bb432ead46679bb77b146a9b27b22e3961f47a8fa38f6370849630ad2caa216ce4645a13e518ff3d3e10bb6d390df6c280482f0d053e08292a9f4152b8bfc6e285ce0b4cce29430aed9956b6c43a40983c2140fa3a64b2d54ca29c52bc63bd67e22270f0bd76ead8e86c2b8fd6f42cf2628c54\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 121c2499b559e438e8e0ef2e2c1584967c83691610dbf91c9f7422c92a6010bed4d247aab8c20135811193b27239d65fefaf8da30baa8d9d366da8c264a34d61abdcf731b2d4af79abaec9ed4b5dada3c1e982d99b617d42a4f632dd8725e51c937f7c45650aff47a36641d245d0060207908bcc4bf5491954dcb9ac27d1662afe0718a2caf7d451a4a17d68f67190afd4395c4be53eaae6f096d89cd0af20364c1f6f921de4ff75e77aebeaf048b71c4acbd61e13ea90daf65946d2fd7e38c2f50c71e2b9a17ee81017f99925016b0af93100a1d8ba576b07f3479de16d561b83fffd8aebc5ba373d2b28dd5feacae9c0f3deae0a60f3af071dbb3fe07d4142ef2f1836c8944d250ad5f162e92827e64a8593b7df3c932d72b8bb3b416f825c495fd29ef3c3c67efe917e53ec9a71d0ccd29ce5717326aed80665df34c038d6d6faf52ec0e4201acd4dedf6b9774c97b4c806ffdf6f45fe4a2b62433c1de34ccbd14386db40a2d85956fa062b26d232ca83325c38cb5b006ff509c32e50981d\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0dadbb9332b072d1ad255e22a641abfbd36f4e1aeff311e8e2f81b4612769c285ce708e635549111c9d1b125de03da3adf921964d74299900ee85a379f63b2513e36f5e6eb8b57fe7c0b09244a4e592c6518bb498e5eecb43280d801ffba42bae65eae9bcd7067eeb3353d7914c2dada87e7035f4027b25e27ad6172d231fb27d661c3a7d1c99dc5b402d85ee471dbe0f85b9631a6f9314d99debd84f537cdb789249966265b0ef3269a876c2ff247566855a5570528be74cdef53c596cbb7f01beec17ce61b9f5032db0365673a5b48727617f8c4cb90afa4136e4ca511b80b4fae57afbd1834386014f2f352fb43d5d7119b5b61de629dae681f956bbea009ac2bb52f9ee4c33946ee84252dabe5ae3bcbd9e1a28c60f90a222b6fd97b499c024671f038a9aa7c8b7641dbe1443d3aec968d360ace3f9910984042d5256288260d754648f366574304437f2097e55c4a31787075f0b7af2a212969474848459ced0e3d2178c322b6d8edfc957350995145bea5e9ad81d4b3bef38af862f320\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = c2719fcf01676eb69173e5b862b3a2ff1f1e71ddfa0f393749deaec8a427ee39757d90dd21e9ff74d142ce9df67cc38e2feec46b74957b287d2767380b53b654507ebe96dc43dba78021d71ea7ce9d48c769d0bee0dee2ee99ecd9cdc9e7ce9f1ace832376316ae1d0755db466a521212747cc1aa94301bb99446a3d5c1e33dbbc60fb73bdb2a9e561ceb2d6ecd6d5c92ddcaf2b2eea8e12222a7050a8dedf44e55350a2c4d2cb0016fd95c2298d0ce805c140f75b4af6912fb3940dd610856671b9e354b767eb28a4f4dff3458f78c7add72617420a287ef3e5486b28307d88ef7bab3a737528cabce0d934fb722606c6fcc942c82ca993c9afa54b71b72056de2437ce393704da59413d419ea8439c3b1ac341e3121a03ad66dca6bc3caedf46cb7c43d33c5f79b40a25a922c640cd943fcaa1c2d8dd6c6dc645ec66c2a5e3873add5cddadb21ae51fa14115534fef8abdd153e2b944892a627cfda3faa71508fe489a28b5bd0d285117794239d4717bbd31b41803475e18b022eb458cb170\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 238a0867ac39812214e7293b9734b0cf70ddbd96c20f27b29abcd7fcb037534d8480fc9d9186227fd919ba35602573d55f1cedb9f307680ccdd850ef7b92a663b5907a83e9e786af8ffdd3181752f839e45649e346cbb0d539b1de62981620c12245079b46d2703e968fcd9d55816fcd3c48eba0a54d321c3d8c341004b45e90ac3013897d4816e007886799439525223607c5100f2d8d48d80b1fee6dd6b25664662460f64b9858f5809845010a6e962f2101606a6b52fa5e154e9e060fe8a4518943385a6cc9af1fb57e388544921d849e2dd72b65f8ec955093cb4c7f18783b347ea19b0325573d92ad4cc0518b6aefcaa156fd4ecada18fd68ca00ca70f8390adcd22aca5fbb5506e8719590d9b74c3a325cbe18b96c2e18d57be8d9907f76d156c8b3d265d12733025d568366879d233a9463e26509bd1a26f141c98946af0162fd5595c83821caeb253be2db73b3752d6dd2bf597064d6ccf6809d02ae0756df341e530697bea1deb37fb34840077cd3032ef1ca38cc302b19d26c3ec7\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = abf57269b9d9d1f2bd1b8df08ab37e56648ea96d30ec02804505fd303213f0313a789e62949281a30e171176b17132b41e3b2163d98fba58e878d48927ea2fafb830f1c4ee6de870289f3513b2afd005f6b0adda15b6b9abe616416deaa9f9e720d246b4d19907514417744d3180d119a93b9b353d7da0913ecb83d01dbbcb8b44571a00bc46c656fca80ad9df6b2e4fb2cd8cfa9a8fbf6883a9c2dd213cbcf0a3e104c27274276bff2be215229756a4a58052e0ae3132ce018f4406210713ea9391ffe1580d8c0c937fc63bc514ab69bb556010802c5a53eab522ac151fd22417b0101f6dd3e020f8f271b8eb2f6086275422d42fa896a8fc3df69c17ce9bad8893ca2b8578bb1866c7673a3e8775dd776e28709225be821f6fccbd7926d1e18605520b90aafdb6a81554d97216f97697cf52bbd9ef55807de827b94a1e54aa2bfe8c778299b1753738e475aad93392dcf99c607c89c43e90e4c524f0a4754281e442c78fb1264e70a43f1d97df8bcabcef359a232cd1eaa36f4761f459ab76\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 312fcaa24bb029f9178c3a2fd5ee46aaa41ba1270fd166a097679d632984e57e71e4b1eb7cbcbadb29cfff24b91ce2dfb7fb3020e889b3bfa81647c26a0d7b8f1555b947bf869d551e7a7aae3b38d3146e22c49dd358a62ce634028b42f45ada608c64e8dd548815a42f77ab3a2e52f99c034ad0337470b4ef68bdda89eac668cf12b54bdcbb95ac18d56ae75d530d44ad400571f8af25bf4c4656d862697143cc02b5b40b489e7279a52185dd88b54fb1af807ea2d1691638ab84360fca0e8ae40652c5f58b962fef9ccaa4c6a2dab76cc0c0a0b9096308807def0db94e472f1c97bd29f25ffdf5fae8bbd53053d304f4ec214f79514cfe34623c745e3bcf8eab336c41ce7e299da2868ac955f64c738de975fb970dbbe450e528fbe7d3dfdec8b6f174edf706d12c128d0e846c8bebb23b09c53b693b031395df1cfb8835ab7739f29eeb9758e904e93d10499ccf64fec6942305962b4a78023007fb9c7548017448c028dad3ed092c961b81a6b23f9e14de6f9f78c0f559955d1af00e34f4\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = d726ef3a63208fdda04a5fa68889a77a717ac64fa4a32e51906916ed7dcce303fb0f8a620cc9f49d481b9aa09745d4d2accab1f8ab2e2e60123ce73622709ba8585f6076742dc03071b52c17faee18f6675159c5a842c98a270923c212a1dca4137297f81c9775245afb4f08b8b201635ae7eb5466782a6717bb57f78254198c16326279744823cb381014e4fea28cd3a962d19a194e72fb067689c972a9d3b9af7a14fa63a8ad1b2aba076dc4f750396ef9ab952ab42a1f14d65d9390f75cb7d48a5ac4d0eafda58096924cd6acab19c2acbe1ab0a39a6a0231ca234b4c00beaabb78dfddeb81363594aba0a2a6cf238f2adbe898d5adefbfb74cf9e3e183df5d4bcdf59f87d43f55da0de74884392fc3ec335bf23568946afafe3e1fdb0d2444e878bc38a18a27d4695a2e98f80b001212dc309c3ff24a7faeb24800314761c0024049f7ef55bbf02ac49997bd4b623856553dc813eed9ad8453c83ef51cd7cd2799474559cea86a896607e5976515879760fb245a34e500800860280e5ec7\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 625b90b5decd25d50b44caaff4f911e53e2886383e13df40fa812ca6dcda7186ee306c87685d2992e2a5355e5be06d6174ab25ecdf299d0fb5a282874a19bd31bba308c7cfaa10896ff1f5ba679f20b76d7e59b28bebae065fec99ef94e0e3eb7261ce1493f66955f957cba49375def2de39bbe4402b5b673179a86872a5a41568c8d9e4212e7943084fe97d6409ace3e07aac64247e1132072f6512bf2608084f5f79af1120ea04de9c9", + "505877bb81553544fabadcd0278a4e4913ede9c0eb0530a11ad6e6d507debdd37e40bd6ef9252bf4130644abfdcaa59d29edb2a56e0664e36686f261c6c6bc6f09cef1b840de2e7c1ffb5eb202b1acdf40c0359742a267333c1cec0c4b931efd05d7c2c6500e8e2039622d66ccf0aaaed914b479b677dabd08ec13f14a0e6b2760a1997918a186b84e33efdabbb899f8e2bfafa15077bbb73d85a5df756636acf87dac49300ed0f0e6c6c0dd518874fc84bb097ea4a80ddd500a413e42440c2442b8fe42afe39c9fcfa6d1d2415da85a8ad903bb741\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = d78b84dbacffe53f9f7b058109251835cfbd56a206a677974a45b7616d66c33c0ddf8c5fab8f6da081339fb9132421933c0f0356354474ea2f440df9d2716583e3755c807a73d4eb383ca677043b30d9828d0392817b64168429787f2845bbb638af68d77590c82d6d7890333cc1a5e31fd140be91a1cf1678806b6eeb65cce02b88d5a69abbf31a16ed3108392467b476f7c2eee9b6fab75cf43358cf353bb2c626062bcf92a8819ac4b2f73d3b00e1e18b7dfb60c2189a79939a390c0815756613f13a7d13d9a79b2182152a29cd498b973b8b00b13ec11af697924fcf0f193aa316a9e4c02cf44cdbed2fbfefb7a01348d72099166945105ec08b3db71b1da6741fb20b5e7206db870bbbf422ac577340ece1d1a93ee439dec9da18c0edf6c89f16a0db8812f187473c8d1c27c65361f5145cc9fb0b3931c45669c0cf8ffbf1721baf92a2876fb9e681762c994dc04806b1103e06d72b852d168ac5b715f0c940e4adccd7a747f7c79b9978eab6c090f938e035d4edc80177b537989daeb0\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 654d3d6433b71add296e323b4bd6f1dbbdc60d5f7befb1c7509133e79d30e98ed9432d85a8d123a13ed78a1855d1c9d9c854c516d028e401bfea1d8e58be0e8031e8ce582f7d334421ab504c317263ef33bf743202b3e140654a7c9b1487f0d9454922a919efcf2142f2b9d0e3ab3ce803be110fa7613db80d1da8de04b808a7effd729b751c896c8affdb1172418ffc3bca52cbc1563a5c183f86497195410b57acb7ffe18c2e31dffcdb927a3544caedc5c4f640289317635e5e0ec56e62f68831a717f2810d43265718dbfbf6d2942a5d4245d0a86e3dc17462f42fbdcb9e5ae57b28279f0a394b1e188fe98f3f514642b22d1c26218b2b43aad98a0c8ea73480dcefc02fccad043af277c6dc2a39013a51a24918fc78388327198ca5689c346aeaa2556eeacc63f745dd94d6c8b9b54681cc057fa3abb725c8faea599b685cf30d948b58a228d77fbcc1b18e050c6dc810f7ecb5a0c3501fb8f9bf69689d997637612883752c8a29e51e7b92040f3686d2a3ca020a50ab04361c69fddae8\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = dc8b26af772ad6eba277bab5d97f4335c95f56a1ee5f1e248fc71b409a76883d29b2ebd65a1bd85e3a365284f632672be93bede2000ba6c3cf5e100b4bd9a699af2519f8917631d7563f4f1aaa2ddfb729118c96a01722ab5b74c93e36bb706c8edba0e43225ed825c41b8203e128c45827f43f98cad8e8ea862ca7538e19737dac5b54631cf68b65624845a25f5106a92a111af43bffde1f215395a1d9ea2c08296db9bf97e2c7bd0d6a37a21f97c7bba3ab7544400e2fdd2ca001115928086c177ba9387fc268770652213012b2bb917edae3416217fc4fe58a916d20c9507f11a9404d36e26e1e2f962168f06d5e3ec254dc8b554db9a33ef99775f246974c3d43461ec9229dab0cdfa876bc86a661f783ac2a313691f9e919363b2aa4d7691f59152e331c18c7f1b0f2d39408d937cbb1e669c78d509dc99d10521ad0e6c4a34dc30b792bcf56024aee4c8b9370aa73269ad7c7142886ecc7c29a6d79890922c2c81aa2f5f0ee316cfbdceae3ffa0010de32607efae35ca5f906b04205a8\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 6d19c9ab9e470c402578e0fa8f5d82fe57b3103b94ad551a9174e9e8a4533b9571188ebfb096aef7c1103ceb2a93f592c0f55279a2fa36a0ab77592b110ae7d61a5948f5c9b7bb941963a0acf4ceba0767c52bd62ea4e5d22251e2cb366e61940f11bccce40b35bf4137b9c6447a29dcf0f73ceb1954ce81f37043fda74d38dd7b45edfe3bdbbbd87b74aa71c7384cec2ccbac628271ffc4edd8e9578057aa130b683c25bd286fd652c12522fc7f85b4b55ba4d1cbcab096b19a04d81c2fe0599581237ed6cbd2a28b789dc3edc6f39746cc0375a35b86d09c02f4f996849f0333b76ffa77713787ca0845bfada29a27b66647b6e22cdaef29e8094cf11dde792ccb6f4ff3e33d2bab0215bc7438f34c96765216adce5b053240eb815ae2230173cc4601dbeee51bd3192d4af32c573b7698497dc8b9fc6fae53730e85ceea2cc3d9a15fd00eabfeb99f487367f971d4d0c27babb071df80bcf2398a3e0666a04c9d41c39f72235f125332f54d4ba27b48f0bd580fab9ba74be16594f17b241e\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = d58dfb5abaeb00f79173846f172df4da2b6fd056fb23ea48a4b1c04fbaacf74aac490f49f5bb437018e68260c5fea5ff4bd263f9093394e256a85e5ec8b783da1b296937a155a14cb2a027db233957013c00ea573744b4cfcf58cc51d6787cee3b4ed6f0b23511efb5cf8f553985999dbc54baef408bc5b3ce1eaaf7be828742c30870bd586a63d8c02cbb2517812101759eb290f70c45250f5a197da3cc6620611853ba6130d59cd70f3a4d519e5b49e7b7cb474223dd8a5bebe3f4edb9cc44840f829843c024a7a269673c84677729c4f6a24d40914d8feb182c5eafa02bb45d2d4afcc57751ca5f6b39b6c550876daa5fcc32ec9d4f5d9b6c49a3e6fab053104e344bc7041c2e6b7ead33116cb8ec7c5e59cd4349cf23bc96b1e7b2dbc9f160efab95d3d2ee495f8fb91ab4d53949c946419f36c62eb0363c46bec6d77dab0258eff8910a3df789ab28681a059a9785039529a292c55d431cb6f97525c5d181d113fc24ebee04376b2c22a5faaea5f9431fa48688d014d8a3e22819d4205b\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 9c7c0260a14cbc98d93b0db2c40028fcbc672b4a213f2e284bdf0078b3f9fca950aa43c870ad59a15d21fa0a16cfb292ab54a093ca93e51f32a325edddef0885d1efa35cfd019b4f5d34f8126a1a65e7e2586fcb5c3c5a4e70153477115830024a2400136ed195982e8c3aa76409c38cd63cd8315751d26af0183c2a6a7919939ab1a626b66106d2cc6e884b7f9cda3555ecc16f96a261b74aca59c28dd84ecc668f1e4dcbaacf394ee62d995f3357e387824086f1da4cd35931390f1542c35251ef713a965cc9a58d74a257a6b8d2f7cff0c6155b88f7d201d90acd9e4127dec43ea842f41647891779581feae92a67c184546737960654fe4d74783b13ddc02f4e5c964ed6e1ccef71621a8b75c47b6c7fb98ae24831e72800484b8c38cab8620b0a7a2719d846792f8a04cc338f462e81c52328f8f6a0e5031334803129ed6c96ef8a5e53ff7ee461daa44595c9da95bad9475ccef8fb0839b78b95ca3be577afc9e4b7b63d357b0613aa4d46a0239c7ddacffe6b43fed020c5e4c7fea9b9\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = edfa8852cbeeb5310de2778612b2f7c1dd18227aec6af8b28d267a6cd481f08c0e9ef807188a7b4db9fb2b315e5a6211a4a46cb4321ea9c9cbd5b61cd3a3011094b82d55d561e3fc1d8830ab99355a8c72266ea6070197f79f191931a13d560a5ffcec16f0fec99a0232851c63397b3cf0f561d9c13d6c54b0840387dd7be3ac7e365baeee631eea26c8ef8a09331acae63a49f8f52026447f403be950184cd5c3dc25acdc1c7468a33b672a71b474131853cbe020f33b7699dd5960a5a817c960de36eaa99805f5a2a56b30113b98bd30b38a12652815dd7b972545be39b1c6573781c6907e0d510f0dc876fa404bef9f36ae895d34008078cd49053b4e4e49483fe8198dacdb68b5e864a491c4435dc7a86deac9ed959a6ea6267d9e3120ac2a091cd5d63950f0c91b3be9954252872620dbdd11c7bae1729652061c2e12ba1b9306eb8822863f479970767f231954a863973916ff5f08e9adf1e486403da4b78b654dd5927481b28af50ecb846073a7e7f95b552935993a7d660452fe89b3\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = b66681b04e8b3faee9bac3c52d9c6b6e62c5454f744a19df0c91d94f30c8faaa5769437e02cf4ee4f5e3cfa78901213b54476f8ef2d6e619e6ba6e73205eae6a573eaf34abda20e45fa23d9fdc7d474b8a70809c0e9aa233da83e0eaee1abc14858f519076159eefb770c6c3479cd70dd3ce4aab574a15cabf8d9ed64854f52f928310715d7633f3210e5a3595157c1b39e8e9f939c406318d1af7138faf6cf2d755c213aafb0784ac126e71c4d2d0b1f054c28e80cff43af8fc41c51efcb2c620c4600907061e075efcf1cdfb25cb886b64451e07e20e16bd10b223453a7d32c116c2b34b6419534f64964c95ea3bbc08337526fdc66b5ff7f90ad29615c550f74869c03afb91c97934f89d4aee124f3b280b335605d733e395f2a1bcae5454701397f02896a647aa070db7d36112b427d3ffc344281917dd27592c530b6669c0bc3f191ca578486e036f99abdc5ad3e72ae325bfd6a7651de9b965ee56a6965bb3a0b1b6f1288b17a196f4d7d57a31fc9008e665058b299fb988b64be31a91\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 65b6b1cead06a1ef0d9b593e58429e3cecb4be8f3654fcf6f1cf5240c5e1f617520a79c69f1a759889a60a2739107d694e2a21ee8ccbfdda25fd30f46b441f1a524dd0b7f4180705aaa70533e56cd15b73f807fc6d0119eb7f7acfed7ef96a917469b9c74898de4f28f2f8b207221ef062c8c9722ce3480ae352e99d43982b784faf9cb3b98b037a0e6cd994a4cd68cef59277daa3dddf4a0c492eb2e2f354504b5cba4759cb7e1bad9cb73389aa07f48e8410ecf7d46e3617824ba279a96811ae89d15335606da6afc5d68f3dbb71141203646bff8408827a76e7264fe4d47399fe74112b9909f3322f726fe20fdacff5b78492db20198432e497b4a73d0c9bc9a5aba64529a6bf70c9de78741c588b97487d9b13ff552c95e0fb47ca0201d47eb609c712762e23ff39b89827b89ddadd9888a5464bdadf5c168d28d976d9c8d8885ea2495f7221f317dc3d6dc5462eb5af6bd2b02a2e540b3286196abbb9bc36b684e141e4fdca882890b3b79ad57e2584ed8ab361b4a4f5725a7cdad0c1d9\n\n# tcId = 113\n", + "# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = b5df4fdfaf1665d89a83242e493c8b2a44550228eeb00bf71688b664c1c133eea9f4c0a1adf9a784f7db87fc7bbabeeaab8ef424f9f12aac640be61aab8f5dc6dbf229cd685bab1981a27cb1c63c138f1476393faeda6710b2c6c1c9948f7815f4f488dc9b70ffdfa9c6ed8fea3de1f71c140a6d14ee5643ded186b9c2d94745e105dc0072b3653294e7ab3f89894d2eee9c09f01db2d36fbfcb58192d77b81f05c6a6e9d025b612f055369fb0b67e78ef476f88303f31a7d35917f00b5e4e6fd33af9e01c61e4eb1a2c1b79d126052313b9d9c2b2e257b3ca3294a46ede05727c8a0d1b55c95ab142cc385ee5e724107829371128f17280ac39b47e18215d775255c53b5e19b76507d5009bab76df1a413218b409273b7aefcd20ad38375c648fc85654d87509888b93714c18cb9394840e86fd71e704ff3eecb9a764a19cab975e7441015fd4a2da3299840df025944e69ac79b2e5eb51d894bff04c1787e5fb1841672ae799a3d27fe1c5661074eb2b321def70785b1422b34c7a428f8597\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 99436e45ec2e733ae7ed9b14664cc0d87b9d70d288cbfab5e903665a140365e6ab8aafe81be94b9707441c588d726c7be562efce80b0d1e6f74466d5520031707759ccef779e06e3a7ab6ae7288f348e111b219d53121ab60e4528455d42aeca72bac0c64632f402f6b8edf76ac7e13cb676fbe0082b32185d13b4acc61933f4707c43942ecd48e71160559d9eaef30342d3e3f362f4c028d0136acbce15897ccda53691ca89db559adf125ff0cb47027fdc7c6376c5b304e004e848f82c6a681235c02d3ca98fcbfce53000450cdd5a48378d7fffe86793520a0ed9bc9091de51cbfc6b88bfd2af75cfc558af37c41c969473a54051f741071e06a4bf42f78f21c4d7de13f6669e9203c77e09de584dbee7dbb5874f1330511a7666275cece3de7ab667cdc43b7a782a42b8e2be8bb983c7744c82fdd0454aba5e1725dd4cd39065bbb86c39239d4a7c56c1939fe37a94966e0433f6211e93e0d9fc9477258239df1292f4e74225547fd6ba68f8af30f5fdb6f2820423b8e8b17b614c91c41e\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = b49672bf48881d9397d81b4d962d23b6f4d0da5733c4b4488981de8d61e6aed4083fe15d3e788149f8cab9ea0bda6156db278b4c66887a5aca6e511f0e51319476d329eea509b4a1e3ffa915b3dd39cfc8401164185fece011a6d82d71cf9171612450e24a3d06df84b80298cbbdfaad02ad4d49a178b3e16b4d2b69020f9bafe6c58d577ba4a933531ac3d2d525222073c3dc883c6958b36e7954162031d9559a497187d497e0c1eb6ae55c7050f701df233c4d6b98e45d5eae45b36339d9c619b474c3daf9a5651b1bf9ea5776765148b8e439f8466414247f898f6cdb75f222636ee965dfd9acff0321c1da6f1c3b0b528c75f5f63c4894f746db01f7edb34b1005ea99fb9f82f82e1cd9943e8ba336334c9b2edba2343d09b082629869aa03fe50937d9aa30060dbb4cde14c3f1bc225042a556e0c64ce0df4b3d0486d611bec3c7efdd3b2be977124d0891915bd68e41980389762e01c631af2f70e904a0b7041ee1a2c32c0f59903dadd8ce5cc335b761108c1c176d243fe2140adf792\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 781a3d96f3bfe9b6f0aabc4f4b6a0c5dd942a76b099f67732f82b6e342016082e6a2c1f584070585c7f2b67c9ec6edbd94e9cdc8693d7d7f3e15084bb02ac7f8d079d2f8a5d4d998c90d242f0a0cf786f99da2104d8b035abc069c763f8abcaecb6194ad78fd433114e61742820cc77d8e0eace89ec7a19b861166967cf22a608175360ff947febf804436ef129c45e86fed9ece9cd16e9756369c638eb6a9f1848eea24e2b9710092e31fadbcc72c82dde582069c2fba3b021bfb8e81bff479687098fd9ac9c7abfede1f1a2811684f745b8e10710fe469ad8f3128694694bb4b333fa59bbacf00c3665402ad486d5609b57f957bf9c964231002bbf190121813f0bd159a6c879edc44200c7e30caa5921d2b0994257d78e0ecaf7c13e67c07bb16b419f48943a956f47f87c839898875a106319a8f860b3d2d140b0bfe6163e2ae5e2b11da259c0c4ffa6d25cb20822049c72d2a142e051b760bc9fd128563e5ba714c01514530f76d50657e4a3ecab74229d773e08347c35e39352db85d3c\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 04c8fad7b52391e832af68e62e8cec1cfc2256d560db597138f1aecacf4fe31ee1515fcb1400ca18c56a1e0aad984709b962223a3d7cdaa59bbbcde52ddf9ded9b8ba38e182cb090fc0fb421eedd787a6c987cc693db6cc645c51c41b91a41afbf007f6c3dc291d036688ee41193f49758cc1dbc3c4809f0ef528d00f3ea2da7e8c74016b20de55a6a481e6279978fc851c692eff78886269e45259ff8607a2efab66e7a18d247ebd2826d5c9f7b9f75862d5da206954488ae1cf1c4f28630b46d8f60232ba8bd3cbefcf8b7cbc06fa7e84c06fca1be837d521f1dbd67e7feea7034d6539ed126316ca4401ed1d1ab23623e2ff91ab762809147b9437b46239044a69ed1fa737c896af9d611c1e8062f4a3faf4220d0afb1d8851a4205d34c6a0ffda9d5b114ed46d66c2f20be4611c0f8b73d69918d2079a6da90bb27828e5605cbbe7e3983c2850334750da49361821cdcf0af965f383519f326fe32456615cd8c72bb6ce7106cbbb4cf3627438ec5de18a4f4ccd967b7259585f5e35f050c\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 6899934d13c7b6133be112f7f63e2a58de2503fdd0c9055921f94b4db0e1aa8475f5804213e79369f87007f70021382644239b4dbec4f8630c325a79a9c2f1e026a1792c1c43b64a57564fcbcbfc9702aa3a9f497f9f5b236495ed80347613170e5f18c81df504283a04f20381ff60cd11255fcd1fcd255ab4eca0b00c4aeb4d6b66a31d05c3b7d7cc329476a8d5e523af06b7542970bc174a6965bdfc42dc76f9efa2abbc61794eb208c48e33c293620f1b348e2048d82832cf293961844ccc6958ebace14ed3de52d57c0c166def97f602b486b75faa47ee8ff7fed50424ab5f2422d61a5c7bd2c64cd9e12a3750686f30ee965c4f672069796a75db2c106606ff7b9594741ac4ce3e9a29b43759b6c09601ad8fdc22c8ec8be269ab634064f6248cf5ce5c34d100a08ced73296055fbdbb8254cd50a799126970e07a5b42dd7939cc8342e82ea8d4f3037dc16abaeca4b8b97696d42ce51eb5241acfd21711d17e55f0cc31b8be6690bda116ffefd8837249a5efce51445740098148f5f31\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = b763fbc33cc69215b354605de6cc21eca3c8e6a8b3378f86107a09476694d31c4d5db179183b0d0923f86c4177149e6143089bded2274b4a7e328f3e45c540421cef31972556c9d81332bd32edee010bca4e77c2113bdf2971800c6b61766a95a2eadfef6901bb1d79237b3af3a817bceb69e564d1de2853f016395bba5a436634dcc1b37f4f1c2f2da979892802046505b20dc28294c3ec9d6517b144c43caa77a3f4f9469295f7d4e0f566b2b10394d8a4e8ef50d06078ed7e614dcc1db9dc3e6f7c9ea8413413fa93d54a0e30785dcdf1cfe5509bf0be80c5ab8ac74579d695cd3ec471def759727470191d057e6d5f32c2c8ead53310890c932de3e6dfd0f3d485a3efb6d733c21d454d032b4d1388fc8f5469de8669e9ee610b725ff46bc08cef304204471ab14fdc585ee02e07191e1e9bb2a2327fee3b23a714cc5d1ea59a13528d97cf75b24357e1e232942aa54db19a980b3e7f64c672743395a9d470d11c32597d1763e62fafcbea2f480c14bef7774f74e2619b1062b84786d5c4\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3dbbbfed1a149832c71a1293c20b81b1c8d35c4b75181f66c9f7e6aeaef04066cb6edf1241e9d87ddc842880b7978f18af9d2a33fdf7fd1a5e8c10dd547a5d334233ceeda2bab410d5dea9464f623961c98195b411bb187e981e107b6bf67be5865a059a6daaff8e2da602e91f4176f47c53c9f53b22605b748b68fe98ad9c5936957b074fe844567e7dd1b07d930929d3dcd46e84ba6f9121fe1f49dee955e1ad5a329cc0441d524a20215a9f7304e977df5097546a4d3ed5022765b5cda292f1819b55334e6b95119fb0825756d7fdc8dfe173a391b62e970e51729bf89eba61be3ac1f3a5835aa1f6676ef807395440e984b13e3711ad316b7fd61d0fdd9dd3fab9b75545882fc1a2fe1f0d9dc7c72385b0b445ec411877de83e38fb7111d5b935167f469cbd4f37fe1313b2beff0fd6ac4bcbd4e98e55e787a8e16967d8110b8c33ced213fd792e1741e4824e41be24dc6cdb947361cb9ad8c742b5ec01f5e71fa4eaa452801fdb6524b5c6d1cbe97b10d36bd53c9456977f662b6a1c85b\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = fa9bf918807d4a55847c191051e8faeaa3bc7b51ca1969477cef9fd13d310c2b75e7e72784465d2116df32925b772904ee9a185c15c5c740b98bcbe18342b6c8d513c89866bff83cd42f0124d9b47e289568f298c190a185671e6c32e7d4efc86a732c4250b5f9dbf5c084f5efb468766626c06bfb4263e0cda509b269ce9942614d580f700eeb1137e2abf520166485b841eb2a0f2d3deb17e67304ce500df3535a75ad5ae64e2658e5bca43e552a83ae94e81575fc8994c20222ee3dc49f5c8f25fd6a5c8523624dbf9fa035020845557020f5e3c4b988645faa436eeead00af9135d3dd84970545e7aabab9cb7239a42f1b7953055eca1ab75971b067d69d37f2a9d1485aef32230d97fec2ac2f82b3790fdb360495ad96fcb0659029a78358f344155e54cf52495c6409dd4066ec6d44a7a3f05ea3d87794d8dfcf79152895c35085db4cf14dfe44bdf79d313be0b6e75b62d003547f7a30075dae09ec28b8225e08ea374ed8f442e216fd0b9ea5021fc72c76d42163ef3049e2c0b3a059\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 106870b720b4fca4cb9c6cff814c6118b003f627a8675865f15b4b5e4488395e0dbfcbe127fa684a48c4446bc684054b97717d83396335631e59b1c7739cf647049e92ccb8405f4a6160b9c588560830bf3259abfac4c827194a7e19bea56fcd03a37e66b2e58d71d92dbd694c00316079fa2874d27b3f533d09185e4b11aca79b5225fba9b5b20f05ed38d24a202ca9744f40a7b81dc4e27fb56cafe2bbb4a80322f009adbf19697cd055ae8acf38f38e9f2f33c0d0683646778cd52dfde268cc81cc6708f090d04a16cac31", + "708e2a2418024e53a87f11589507fdf65656d3056a7fea52467c27b1f90e1bf1896a1092a575994bdfb1b2acdb3df59fee8248e74a0be80c2ab0c04aa4eb0c1aed69c1c1aaed052e25d46c391947d2b97c36b707f82e907ce991a5eee9bbac578b5ae83134771f9370f1d3b9154d898ef6504ade6e17d96262cc2d32bea12981219e52b9738cc097b18eb54de0856f1fb89c82b1634cef2e7acde0ed2a09280e2cfa534f3520ca1d9b1d7e5bc90205d2bf7332e\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = dda96df9b188652fae7ca14a1d3a44e26359ad9f2778f0dba63b5e4aba7c30b55439f74ede96c56d48df4254f4b0a6f308859904f2f69f47ebf438ea87232f84e61c3e376daa2da8c0ab2391a5c8d478e42cdb2b70ba430db5dc3aaaefc9c7c6ee39e2b1393f024a75c4b91843d52a49bb2ebc9aedebec09d2bc5c200bff6556e689e48a3442b216bd7c1927946a41733e8ecce2589d0973ef8dd2a3a88dd9d4ea2d1d0babfa60239632dd2c23124165ab11c625b95c3a0c2141301aa0bed4228a1b87964ae14691b4dd02b34e38d538ea1e02a7fb20eedcc90176e8c57833adecbcff87df4c04f19a77f223976c41723f36cfdcecdafbb72f2fb944d4ffda0eb0796c3c0f1e3d19046c3824137260094bc6eb3b735153e9bd683cd741fb394f75dc7510ac4f6f3dae980b56db7ec4bd15cb193f13df1f03ff8a1b62aa9587df8d6ada3e8cb849cf923575bc5bc4bae87c93393f7894a16da39989305a6ecc77a1a3739ae253679bcea0d7ac472cd5fffc62c64220347765eb4ce21549654f41\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 80403d3a020d83681ea576847d5d1367e0210401b81413f948ff106e1e341be57b4f39f2d8509586cc477b0b8934c0ba78a3a97ba425c9d123ca3bc64bc26538c1da92b24adc50095c209b522dcb4f0892815064580ea87c208d7477b50d7330bf8d463bbd4ec66003576ca520a1d04f836d1e2abcdad2b0ada71bdbacc9623da2276c718a36825020dd20d6747c9b7616488c7ce0df20ab150d649c4417df73718f3c363927884bfa6134c636402b6e6c231d04b3bdc4ed6b29f479c8c35e0e02af932e59f800e46a14c0647c2f0c31748d56995f346fc6bbbd90e55be49767a16a6934798be43fca5d8ab10853cd20556634df53b13a1bd4c047d7d52b1102796611b016517a28b277510c87d398b4fabad78d11b0a6a094efadb7c21464129636c75eaf06a5c1fcc1a9cef40b9488f24279c6fedf93b576f5314800709929c54cfee383140fa71bdad7552b0db467e39caba1adc70e1ef22f62e81c5d4a50884d5a359de3c7bfaab1c00c31de9fffbbd4f8a4e8e8ae7e39eb29abe0612554\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = e3f92ba88bdc4136cda2e5a248325c98972c8a42872fb5779c46c406dc8a7f117d5fcf3c2ece96f3c2c0f5061547ee233f20e17fab48c4316441367e445d7100a173bda80b9d6d4411188a942c3be703f0779829dbefffadfe6cd95625fe4c5c1bd3f22b8221b2b69d3c20ea407c6d5ebdb5f5c137d056899859cc5faf5bdc87c223508a662e5b56b08ba3c8d2d344b6df040193e36263c11123a39d7b222377a131fe3c36bea8467390ec53e46946c54bafff4bb61a0bafc09c838081e4e66231957752fb8a49cf1904d70b024dbf470f17ae3c50e7407ed5342dc8ff9e556564fe37a6d922d2fd867da8d92be27b20deb8c7597a1bef71edcb402b2bbb986fce5324f4c02af643f5e3daf623f370c9ab7d3a55e1ec92a5a37f2148979c9bdf8488a49d2f6a31a8e99f1da98ffb5c635173a43b94248a8c5037dd385d16ceca4b4e769a8a5762d4ab952ec99f3fc9ac6115666e0f5f94ad59f23c3ef1798093807cad7e08dc86f3b4b85ed6a34abe354d50c772152c9844b9a34e9097688368\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 8085ebfe55c20755b6f1375ad924b868867d5c878c41943e61a9eeacbc68c7ee9dfb61f54b8ad22dcbe04c506814711ca1d36c2226a7d906f095ee1e0f6bb61ab8eb6344d727b13a7252543c842bc7fab0fcda70ae328abdc8ca3542a805c6ad30cacb432ad05918a65862f7f2d59d0821eb1e73ef8b7b2c24ceb1232b7b3b5a3ce06e7e5f214722a4fa4675217e09daac6764fc20b3a87d21589b8d2220a56b94eb71acc6ee4c400d47f415507d01207777ca6f3b2baf3cf27e75a6cdbe1eb0089f6b5c3825edc6a223a61c9d256006d30a6f0fcb2c5624ee8b49814f1f560260dececd9d11f697ef417bdad561a9b63236dc2e62d8914382bb92e98a1c39393815cf0915308cbf212c04bfb4a8e9dabfb5ecf957d0b6a3e4f7b0b13233d27998a1c447cd845cf926144370f754494e2c1b845646028e4e26b87888e8866c89e35a00da8f3ff3ff519a813d9016b8c31b861f4a292f7b25180447aeafd03439c543b6e7c94c03eb837d013fcd2151c17155e24127134cfe6f5d88d9515e3590\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 618987b90f8071495d4276c5dbbf43c8a7a2b952d5f81a30feec15f3201243c92628b64da8c347a9877499c28e1bbdf63398485c1f88913f803789538d3011469cda13483841bf15dcee6b896aee07bc90e9f7245b016c41fa03944b1676a7fe392bef538ea1a97b71be9d50fae8c6783ad35470d45668634f91187ea61d2cfe959a869034d333bd6616c738f0a99bb4e7bc66040421c833d5e3e1c39fb9a92df063ba851b5cd149d1eb0ea903241297fab62cc15901e82d2eb105e9e037202655a6904f6c051bc79af16b2b9e043d32872ee85bf9592039822835bbb7dfe426a6200e0f0b56b0867ead9c1cd5b8e966ad72ae287da6e84c001d29a9982521d9fc193337f2ce4dec94a9eda41d17a45a60bdbcdc85e6ea034bd696396bcfc40614ae6ffab3e8d78d525163ea55be5d4f1f3bad866cf59089ff727f58e5fdfc5b77f43a3fc0e5507035c875577f247d4d00f5dd6f5a9a8ebd6fffb620e803060fd0e742d7cfcd3ff408ce53b1003a351516ea42a47fad8a62313b8ea03c889754\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 9547ae982686e6c57123cc12864b93c8e55488e90ef6c2b6779538036dee01392b62066077be8102cfd3d82f46920bfc29b6aec0f29bd56e71bc1dea1f287cf48b65707b5c950f60313efdc537a5ebf6d8fa51ab448c70e9e8726cd368c615c75218465f41446fb8e21beea8a0322f443f125b09ac9d4f4e1978fe93f9eb9ce2fa924a384a922e98a023f20c6fda672082d5f8904429a54d0bd60309d6059f76d66de8d02eb6bea880472f8e569ffa06c0ed88065f9b93f1c124ea881c0cba4d1d2b13564c5c1b221e6295b74840623d9d014e179343936bf583b8391e89ce5e913a6cc3db1e510f63a951bde0d83758a4670f0be237c80f9d5ca851ab835c5330463cabb8d31f4b8e188a3a226d2553668b773c8ded433df5de155c0653bde5d06223c31e39055273e485c78366bc84d013a277dc0ae44b48d3ced278506f2f07e81f74524b0a1353ed6b6c798a1f8e9a421dd8248b81eb25891916b2183580cb8cccbda2d5f45f69451575780d0bf3063f937931367f28d15d3b49ce1626ce\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = a2d71c57b8e78998da1d98c13757bfd9e0977c5f17ba07e47bfb3afbbeb3a377f8c4c78c8d82890b57a311035e2225942adba57859490e004f8c9c69b71ba818fd1ee4c396215d90580818ec2d5f71bb3006596724541eadc981dca096fa4540be86465274f19a6d47836692d7d0ce80e934ffadaa70f110b08974a32f145d2df260436b0524571b3710bb4c7726d093c90fe333a0fb73af084795e7800a036445ac90a1f3ae08803053cbd06b9dc19ad70d775bfc52c9f2cd7096b4405ef62eb5f330ac6110d5af0872182471f3d9c2ddd65888f902ed0bda98c8a3faef74e50e39841266be25698d28705a577ba3c2f14f59b14e91f70bab478995155ba08c7e5a819b0310121845e9669d45095ce1452f426285e2159230e0dc8c4098cf01ceb3db982a88aaf7940d9f3c59a4bf9cf42c06c11ce61c21bebb92169a04ac0b2f13972c63a7a42d64dd67a6b8eb2d707bf059d831485fc7a73784621b559058f5fadb945f4228e9e01876dcb903448eee5e560539af7354fe5a4e4cd0ee586b\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = dd00c9e4579457cf35a1de0cfa01a1b96eb3395deaa2ef1dcb8a1f1a0671a28794db39b0432f00ae28435e5a0055d89ed6d9a20cb1be6aebdfa1a78db7a1ff13bc35040019729f9cf0d344cf1978bcc224e5c184dfe1d7c64a38e9ab3af3703180f8045bb55498e3b797e2c7dd8f23a8341c8b49d8f8eb4d08d96f109ed96b42783251a10365bb6b8a6f0941e1063be9977512462e84b42371b31217945b12c9c9762fdafa7b450386339d0f25c6bb8c9251c09cd58a414e95150d84834657d06bc8d2bbe5b36a18ccd04719c598374299c33e795ababf0eb2a23a053b3635646ac57b88a13b519b8734b1ed17d570dd167b9f95a98d67f0e36b9400e8e6bd61208be53d335b24f14cfe07d32011db038ad0dfe99277fa970a208572f805bba501399d66c7751db984272c89d4d8633af03872f45ba89026aa45e3b63ea861c104e9827d1e233127a79796f1c9ae60d6196c3f299dad4741184121617f9d6ac7bdce2d480e783568955193b0cc2d2272f3e5ee468d4ba84a89519d25926112a7\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 2c425edd6db32c3a52db746211cd9394a47a93dddc932e3c563c9a6a556c5fb4655009fd1d9a2645999304eb0972edea50155e6e1db3ee990eebf35a5a078397c284ec71205c0fc2fd09e20716f82c8dea46ba80f86b837c63809c2df1e51a05a8c9300f2140796fc3f22a851d98e96cc7d70a868c47dbb6364dadcb6f92f1af23c42685fe28c0cf5935d1a0d22be4dba0719644caa84eef15660aed1a32ecfa5dd5bfeba5c84375e5b92735d48d017162660149f8577837297c52522217a2c1adfc42c6853003a75adc7c011d695f3cd17d4266d73bb07553e146d4a944dd072124d339785e7b03382e36e2ee72c844686abba9d273eebd06e202b583fcf74bef871e1f2e15bc99366cf290eb87519cdbf9328da495e392f2ba47d05465f0f555ee915c4a28ddd14ecc82a26e88a2b74e4eed0c0e78aa8465345067c2fbbbd3e53b2c9c7fe69e30bf1c6500f9cdb1c953193d5c334db68318b753d8477ae8cba456a60b1641fbb6343cd0511adf3b836401ca20f01ff2dbc332a91396495102\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 80a9e92817a9edbf2862f1ecbd3029cd1ba0dbc7", + "abae4ea0ddfe44f49c177319a37b646c41e7caa8153e7d88b174e720fd911e7bb09d595c2c46f59168ba2a6a8cbee8a5cb86e2440e4bd7579b6de5ecc56777ab3b0184f77d3d1757ee0e9c9d08d8296eabb488c4b91a14555178ae86f863756ed3a8beba4f59ef90dc75dc3f9d5faf6d4221dd13a6ab4e353a97b59d431042e72956cfacaf8fd95772c8c66ed91c8dc901436e508bae2db4ed99230ec54d0a13436baaac811b78d01050444bf488d507749e242086d11f147b385882d1046b855d335c3ee5e35ebbf7ff4e712e8bf76d4733e6e0f7b84c5e59fd792b89ab1cc456a89dc866bd6b0ac4b2aba3ac7218ecaccc96cc59ac357e1d9705fd848a94fea3d2034b657fc816466c376a55b98299790874988d078330cb19d8e354193066da3fb1aacce6ca61960d115aa3985f02a7948531102b1e473f73303925d8ef988ccd780c55eb0a3ffd35b71d098dd39d42841f19b0de234f18ce8303a4016fd09b73c911ee9609165382ae34\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4c8c062374efddac383db9c6c0fb53e6687c202caff3378e5499196496956785134abb5cf8c9b1ba586852e2fc5da928643fd375515930fa101371cb855611bebe46e374b8a5b4b2ff7b19e39fe09d8fd72be6183a564570f1fb7b488870d1941f9291d183f323bf9ec606c4388409205377d1a59723d67079689d4ffb138656e30ab4cfff33a0824ef98721f83498bdc7f98565ece6c627aa71844d9557ac6088f1ef2dfe81260c57b84b96d96afbf87e3c18c86a0f3b77bfd99f3680be9c022486c964c4c1de8d777486fe9dadf8d3c865f56069c947d634055304623ff789d5833c73ee381fc4c68ebda227593eef7ad9cad4ce4e165b82273d8bf8dc2c33004ec3c2be3419ec50ae20e8db48c2dcfc7ebd769ec0b04a4c3932707bd355e9d5980670408e9da32a5c90308f8ddfaf9c55b3b7be081a30c2d9cc155f2453a2004d3686041fe31f3473f2dcf04010469e2c3552c52d722e6d0e09947ff575edfb7b780ec77c6868e196229159fa197299008ceb4c8872877c692bc372ee5c4f\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = f6c8f078a23885c0028b37ffcd85c2bf29a853c4e07a65ff76299a9b9ff9dd4fec9553188fd352addd5e0d0a968b8c58b0b8d501cde7dff6efb40a08420e1ebbedd9d1afe0caf03392e8b1bc075e89f269867d5a04486c6fd64247c0cf2fcc5c6574013bc353264b0fd396380e563137a5c360f13e41a73c44fe6b5726a0787197bcc4048ba50c553e0e7ca2ebfc153e72c57f3a94d8e0ae1f48b5565883579ebb50e3cebbd289e378a284bf6b8c6ede76edb0285516a799b346bda815b860c913182ece4fc3afda940b9b027014bc08e0aa05be909204d624e0dd07d2a883271683936eb8bf2266f1f41073c77718fd675299f4c250222c031f24b0d1aa6d86c5aa54098324efa8704aba7d32e4b9242b3c440e82a4116c20bd1b055d64d9b4b2460764751f92c901706c6865e201da551e8213d979f6997853feed3bfa973e6948a20f7b3ad4d0c5f8e767b6071f0c095712c36ec226a36e030e8d5b9efabf2b626c3eb673ba8c14e099dd22f256b90321c74b4666eb6dd86037e1bb80dccd\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = beaf12b6741d14ca48fe9824bf8e47c9d08e0fdf9f5538151dd92c85a039bc8d402e942bd74de61f4c1b7bb3dca3e41afb93cbe35db66bf58d5770cdea919cbf0cfd61febb4ace8d7469ba67bf4f7882f0bb756bc766995c458c11406b31adabe63b33c6203c461579e4c79b406bd626156549b9b222122b1a2d22f6a8d58d0f79bf212a61ca58ed6ce036785f7ea78aceb5490044b05fca41561d4e42802770ba24bb1e7cdc299f9c3cdce99a4b22c80a6086484048132933f0b8c5f42d840ab1ff22d0e7d182571555fd503215685626f4806e07b811f560ecb0387a4f63c525c84c3b1640be6f8c4f7a7562ef232dc10723b7008ab6463f7f5019499499c17c19852d7c60d284889ddbe376e5a4df0505e6cc7dcb69f04685d8d0cbe6aaf127a49bc61278d35d7b9eda9533939cbcaf0f8f8f85f5972ae842920dfea6e14fd5b1416c9303388bd14c4092e6fa86c127e6e8d7859a590cf16a792c3b03f71a72a49e563b7e787aa2982e76031e63c9b81e07c6a2cfecfe3573bfec21a8e9c2\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = f50372a93313b5a19689d40356e10d2f6829b9e46d14e613ee1ec8fc44d488b875ba440508c8b20d40124163fc5d7e98c8cf85943909b2c224196c08abfc2cbbaf24f779c672ef8f9410a7e8fcc9a9e01427155194433ed9078aa46deb3e4a1dc8d68fbdd3ac1280210fa3ebc917947a5672d58568ff54e85ae740e4f53f1c00a664efcde4937fdf3f6fa3a0ad5aeacc68108810e6e436f6fe8b3ae31bcfcebd3b7b679cb74d57c7eb78d81ae9b78e2de3716bb971316f6e2c0d1b474f74370400109bbf297efda08602efb86feb7e047bbaf92eb73332419275d9175943ec0d1a70ed8ad3d63f9696981b83b0003c93dac1d2d8b9fde2978993b42939c9e30c3b3d2da67988a89b8e1cfc22847baf8b390a0d3befb92ce103264f9fd91d1a9577b300a9ae5f9f0a77c41cf799fcdb2e188f9afc8029a5a88e76ad3b4688af5b272100e522b294af1fd093ddbb3f82e5f617e0371faddfbb8dfc605e2b9b89ad65c2e5df4d315d5dd4a16c8ae6b96ea289a6774fbb06d666f6e5039003824674\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = df8d82d8bc8e14d29f72c862238c5c350ee2f08b70898fccf17d57fbf082d3e1a7b4755ba68d971190dac33dc1053be648ede6014a272ec7f7a1cde09315f90d931ba1df8d580542569dbe7e28772a7b11ecfb904d519a73efea0277209b596141a1a86f455e6036f869005d434fda24a0375eabaaf9b0e2a7c0ebce38a18336c411af96f31147b611132ba2b1ece8ad8996a4b604b4ddc3a87d85c8e58f0406b0f7fdc82bb6e1441030cc9ab2f610f084c2352b296444340a1d12b49e3cbbc065ef2e24e17516e181feb60789c45b181a3639c395471cbf9e013dfa56c6d5651fa0c1021fd8a2158764e2d8b4a0340e964360389aab5446e8617ed15ec3989881e2ebe086c0d992a7c56d5b38dcab7a6f92de59736d6547eac156ab76ff68a079b8ca062cfdcf1ca8c6f0b7ed1d70c3fe04a143a88870a7bfbf1a5cb7914db766bd91381f31b0dda66ae2c778cd751c676d725d3b8798d9793992bd4ebb0181af7c4b6533ece8251e524aac8466e025ef6d31397aeb15e4bd92a02e20d1e51c\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = e75d3f7a4fa5564a8ec1bfde667c1a2e9d55645c1ec35c81a427584c8b31c014297106d8b6741cdd11d6f27afd040ea5509d626b54fc601640297adeb3e04878fa5ec4f553d0eb2f49281c0db547933a50e18aa1bf3f5e6cdaa6e452d9bc8dd1d60e7e1c21ea00fed3f70481ce9cba7c2ddee00c1eb3641654e41b92ccfa278874907788f934c1807909f2c9ac7a25157b7b7551e4955fb52a2b7d9a9e30706a1f39704deccda7a156af9da41b874298e78291b31c28fc958170015170454d154759eaaafb9b0800d7c4a7c9351c6e25e1395105a95af889a80340110f132edd2830fa313ec7714100dbca65e427f850c65adbbc94e6208faf33f26098a3d61c17a0b6dc8902eadff5c19c6887eed60a63b9b09753b250fe586f5c34e204fb0e3e4bb431ff1a78c4849fd78e7e6ec1736914d3b1cc6a5503707dd96fd9bb5e8777bd233dd421a6ed0b5dde9f11ff0d1fa9ed8ade754aa1816465a23845727f585d63f1977becacd3a0923b310464432237d2662e61622a00c1d310ece4ce145c\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = d358d09d7362c351759cff1a38cf5ed30d46ef8cfa4891e1de3f51b0b03f318a00ded0e1fc646b9a98bbcfb1107cd1ea1cd9fd5654814d6a417e0564d28e0e7b35751bde792c55b9ec4e3dbde0b791a04d996450abb85e4d3d60ea2bc0e623f04438948cc7a03e0f11933cc857ff37cf47d3878e6bbfe26310a754ec51bc034785cfcd906dd7f0a97fd5ea3171f333444df812ef93249711b649b46e557f38dfa43e03358363a99610088ed415bd6bb5ff7db644670637a509e8ae3dea48828e178d4cd28049f3c6dab0f2c5a3bbda7d2663742f5b68195e1ea4b14c2c4d8f66e89c6ca1dd51b9f5af289893b57142325f1ac2126db44b10784f12ddf1aed5db309ebdbbe31c99a3191a22a044db2022ec611ffeb0ee3944cc51324240e4d54ee5aca8ca8d3016939e3d4215e9b87a20775f28e7d477b4b9d3526d0dd128d0b97d7530d18dab5ca1d1de165e5638bc236efa62f87ac1c90a0858b41c08f9cb0db85765cc7fdb968e7f6f50546ee914fb7784e94107bc7bb348096bccf3de13ba\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 446145c6c678d35f859a08fe02d4e58a1b8be1cfd2f85754ae1f1576ce7e8c63a8333cc90880b3845c969505d27d4d7de731fb5bc2eba43acefe986891813008d737e200ef1af95a4fd2979c01abd7b06cb52bcbe514da42c5a5fe1bd0de6ef28f078c94101bc65bb187476237d992bb80479ea9470a9a9350b93830fa97b726e858034bdb02f1237771b94c71db8d16bfdfb8eff439e44c9f4b950b9cdf31258d36e6c170aed157bbab1563317499276259c87bfe92f6a73c02bdec02885d8c6cb06be332e87d3f3eda0ea2fb24761333f014e1aac01b076ffbc39322462dc82427b8b6af01ef5bf5bce0ab4d222ee660f3fd661766fc2c402879910cc59d743ef0ed1432ed120754ac0ae1de6239989f013dc17ba66353e1a39878d45333422e53187721b8257848ae5edb451cb1c6967f248e15e92392e5b9553ebae45a9afa0df9c5deca3c9d527c373f83abbec734f2b469e22a391866299fad635766812a339c30cfbc51f22cd6f1139cd76e6798e3e24d40ccbe39b7ea4f7d22c6c87a\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 85af3a618063afd989a7e1747191e02e93c5fc39230acc8265c575558ea2f5b2dbdcebf00f7007be38c1e5182ccf643cb7e821a26b5824c2c3cdcca308ab157ff8038781d1e89de77ee4832e015fa490ccf6390e9111b7573188d9fe401bb1d32556de05b0cdfa27b5b9930c8d7e044a0470b4fcc03913c018932c700ab61d0a86c28ae4bdb0a9dbfd90eb8922fdf237f2a37a5e4e3ee50c784268048190e5da77588c5a351498113a60f29247f812c457c5183ee1bc6de62720b0383aba38461b6d0da451c55ea383527ed9c4844e5c86c41143f815a9c94eedf4f0ff8fb8b9b33ab1085d9c8103c7df6312cf00b1d094cf5bf2a3410b2c480a201d2db601fd3c906b96db716f7acd73cccec7b6189c9a0e0f11afac74c74d5e8f59ad403ed8cf63e220ddd026", + "4fe4e7d9e038a7bb371221e670cbabf5e99dfe344642c68307ec55bb0a9e61de7b1c8a9b19d317a3a024bac9e5f81d9078817cba296a7977c1f300b01878abd4991e3acd3895c463bcd7b3cfe98c8a5b2aa36579cf9c4d698f\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 32d2095dfac746fa0f63271819bc652ebc1f5a32f16c041fe8e7783e4696ad79e3d2736c1481d81cb5c3a992854de7824e55e62406a44a6576430c86e48e0245da194065a58ca28259bc6294dfb71c30171b4a9b97ec6d7343e8e7e2726d1be0f75295da4f7bfda68a44d8fa78427409c3cb4fa7164da212848e8406ed37f9fe87b1ccf155d46efe2a6391c58f78d8697c1b9965d7f1050c720f10519ab1b42cbb0ff05ee58eff40fb5d0bddbc6b36f42a321d60589b46acb83c07373bfb8636e091d744e3ea643cd28e5bd3bc8ed8262515f6d27a573d38d121c474e132be3a66c35f4fe35ff378883caa731e1cc5cbcd63e4b37ddbb3d20adda51dda12de2c12bc8de468969ed06476139ed99eaa3a21557cbf082768c829bc2d14c7a9c7fdc76eb2a1d7c037330eb3a4f11017a29b7ae47c92a4cb69f932dfdfa4d9d91e2424cc47bc6bc259ce03bfaa7cc43f991e8056df2a6ba27db209c73a27c4e6c2dc2b81d7fe6c7df701631fb9a62f76e74354b74ab2f188a456fca5f241c655e829\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 94cf74fa31189732accb5392f396fbafe4e0d99d4dd19fb9e91d85aef619e859aae3e27546e3ba5a70739c9d6972afe1383bc4ce501251b427a50f0a5327a55a0f3ffe847d454528e5eca7cfeb122be2bf48e537ee5f692d20f778f7dd9e332631ca7a869a760f6880c9af59e9a1cec96b268fd9bcd675636df91db986422fa04042090aef9b25a2285df8cb5e6c90e5f915679d9da3fed5b39702ab36911b03aeceb3be040e80bdfb4234675863249a5a49987f242282ca3a71197f9d412b71d1c08b70a9c396a832a62e57a56cd6dcf421605c326a95eedbfa85afc9e2e2dbd41e3c675ada6e3315202eb3d15c57e9c08b503093aaa51c2051c35578ce6cd34c40428fae9e9d13caca5877864fa9089979b385ce24c52a9fb807476a2b87856ed06483cd8d471ff3063830c1b6ad8328bf6ff01be02deb7ce5ccf8d38b650582173ba19cab73340e4d3b136d154bf98f5607a4738dfffd87381007701987f88f8fda3093e8b83c64a10d6d71e81cafe1cb33cada4bdab87ad6483e9af9cbd7\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 49fc18b547fa4c7d19cb46197707422c411d53a2ed9bc8e0f9351acb69c86e258043130c44b86a0d7dc0590d04422700a230d8b7f0cac824288381d0dd9b310975c5855b7192dfcb5675a2782db475f3fa2ded14894c036cbb343ccd5308316735776e4a8b9b75ed133de1389e0fef59643cf2918974b14f315cdfdbbd6f4e0cdaa46eba5e8de283bcc8b3b5250c8b4b9336e9ae5dd96c375fd16c2d30e50473478ec50803e9f278746c4e6b912b37ac9707b4961484546366fd800bd8cf8d7616cfdcc22a7cfd24237da437ceb0e8016c3016446abd2daf313c325e951da8c01fe964487d3b6e4549af9de5dbc9a30462ecfbb028fce3ee470cad39fff62610fa5526dcae39de93e6909620319b214c2e0ef984a543245c441a3732cc281cf18b63bf7546a659ae226825a0ca5025d73c4c1a1be069edc16e80cc66a7ac0309f5cf4dc3740fe6894e8da2ce75b93a43ae0942bfe0602dbc90315baff355d7574e31a9cafa7c367e2a68fe040f419fb6e71317c30eb7f472e0239790a18825e5\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = dd3ebe40edeec32720d32486b48ee2cf966c87602e5fa879917b9de79d1e4617e882336565dac061769085c9f4f53ca9392de1aad42656f23c4cc3637ec1e4efd2090d6f41d38aa587119451e15ccecd6b3dddf2bac8686776cd0207c0ddff44d10debfeb08cedfe56524a35e95d45ce733b9b86f62aee14c3202fa122dddb017e797f2714df68e72ead5b0a782e66dec732fc706f4c9308af889611128cece803c2efaf07c261a13486bf7d7a21aedd4449266ddcbfcdb5bd171ce4255de460a975badb19a5531dafc97e553058d21fc1643999f209719a0a17e3802ebdde28d261859d4858c30fa6c9defe34f7a7d7b0604363266e538e117a414a0a4af8b68a94d18f4ff8b731a4ee33ae8f2f81ae22d8758cce3c34d2f62786d45c8b0c69724c78984bea20b55c560dc831a674210158298a1e7c90984fcbd994febd83478e8121fdf7abe1f14f2f9764daa70615463ac1aa5e61e0bf457e1cc9ae83b44700ad2dc592943aaa948d9028e59e9999fce4c3374880c7f9b1aa2dbb9ed70eba\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = db0c7c8bceb36078e3ec67ccce2f56cd9de9dc4a8225554d13bfa5dbb2add120240c0ce7c369d4f4a9ac99614b9b44005bc18ea526fd1c00885a88c437debf5d557d8a19ca2e58f58852863d185ecd35a5e4c0fe5abfeb55a1febd9ca107646395f07c1543b9c19b02277368a45adb3c947919972ce4df484a64bf2ad5f16fd76b00b64c8ef9736c14afc99ca5e0160d5ecf33d623a47a053c6e0081a09a6b819eee701616aee79c4b8cb04c556117d738ec9064b92ad716c3ec11cbe6878b51716ebdc75d95cd463fb29f2630eb8ff61f7cf282e639caacec00359e971dd41853f39bced011b2db23c262f950004c2d6ae9476a8e66b4752b376bb549c63b36ae9e9f81c13d05f192c41676bce2823947dfb77d03978854187d3ca94c2dc98f10496a8f8b8bee690217648ef55af1721d73edf4f0a023a0b7e5a5b74f3caf81097a7def0a585ec3adf04df86bda63aca30b3b36d18584f103c8b310fc923f84bd4b9914869e8add86bb8f24af20e790beb984daca7956e85321ac772d1b034f\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = fa714130cb868439d5d3a57505d6300731c9ded56175570cd5b843b2c6289e70450070e5bf30691dad249ad3acdc0f5fab7fb16d72a5a8d38b4481eddd2b3f8a390e3833997dd01cc953b6b9184285254395c24a911e7b65643582eabeee2f048b366bb50782732d155b70c98e67a89a330257313fc2ed9822c088b55bb7d645f348581f0ef4b89d44c93cb00b7d750e9fa195b87e4d9cffef99be38922da21188481eeedea4a174b25be42b6aa44f9186ac9228b0354896d362a394c1049e31b6db064fceb3a8d4d381e334efa494d6f22fa4c35bb61cf2c9e84090cc8da3083358e7306f2d21727230c7e2741e6175056ffa9ea3c85157fa8dbc76dab85999960739f126bf020c8c38d1b96b2b9e1b850a4be1e861b6505af251ab38f5bfa12022634038ad2ac93f9acc334dcbdfa9c5de36b9dd502ab08435852adaaf7d0f73c7c7133c7aa9f5a057f96b9d370e02c4bc39ff6e3b6bd011a25ff002538d2f238f673514362a98878a518ca98ba3b9e9c2bb454a52a3bec4290544c887a7e5\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 218562beb53937237244c9185c62743e986519ea1fed36be7a6b6a44e5b88f9c5ea316d33ed5b9126148b5d6699114f804f4d3d698d24d85f0fe6691d5e804305c4b7d76fa7a238b4642035d2f2486dd575980aa2eb36c89e732c420c389d391de20eaaf1f8e23096d4ed73bdfa2feb710a444bfa6557c82c53cd15a2007f7a3f8159e01fd6c890dd9574226c39ede68bd57e3a1c5a70a77b586fb49703d52458a6b587244c39d5852cb2416a391a6bd0b58c99b32f1217209b4349caa0d7fa9397add65a9f494ec1d95deaa4e7257f03c3a08244889a6f682cfa4a6ceec13991b5f832cd7fb8f8349ecedb75ff2795ca33d73ecee7a42553966a1df438f65ddaf6000cf30011c064a3da0c87a66c212a5fd157c40dbe3d748477acd67ffa65ff7049e46da3da0f7bbc041f76173f4fc0acd6a1fa690e1d034aafae009912682f3800111a15a22709cde9ce00fde3b3f5f90cd55b4c5ce224f0c31b62315b5738461bc4606abb9805704312d2716455aac4fef649079ec2e62b901b289321dcc\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 3652f7be92a00c508d7b1185eb8ff9e15b586d21ea715bd1c85425d4cf9e6a753114d766318f3f1d457a4d71d7464687cecba92df12c5f14236b4a52b52f58e9e3a0ef3bf500d292bc9680f99f016a01ba8923cff14723274c609a83b2e3e9ff2b029998defafa05d2067f8aa4726057e73a4b46eb5cc996c44474f977b550890e557eb83b6df446e620b836a09ca15ce7ee961a30193bd7f1c3b31be510043a38104fc3fa97f93edc51dc26468cad87eebb6be074eaa881aa40fff2c2054a136d2acb58d04f775266aba1f23d5a45afdac8b0a2de37c97d8506ebdf2345a36649a3a243c572afb900627fa89ec84fcacc7a9275024b9ab55af240e1c6f99135b3c78a08da3f23d2e3e81f3bc9c84a03760c415b74c7d00a0e228621c21ecab749292a30e5defe6363b29c590abfd91c1f8d1a819b52ce4deabd219a320f2ed0c9b47bb40ab7e9261b3a4a4987fd5bfb0f18f1a0ed76b44157c2e9093a8767fadba09665b20653965b04e211119f2d78b8c24ddce9cad69827ba4b453330b4cc\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = f87286ceb7dab7a8faf1c8d68cacf38e576ad5e0999b9e136aca42dcec65dae729a9a94e0631bca93124804ced75e3d8e1ac0a7bc91e626d74a80ed3f20defa5d73283f6fe0b5f1655d49ad7b2c91e170e18ba90d4a0a701e4e7c0fb0178b3f58618a6cfc9cfb31ac94acac92072eb683d1bb5250926a57d6333b297264fa27f114db8e28fac4f65f5c899267b455b91267ab98e6b75c6c3b34efa76ac0c9d78079b037d7f151a7cfb70e52765f3a0d16012ad23b61b75a7cada0137d0a87fc7b82a69682593a77bd31d8b4d74c3d781016c04a1e2a5a1e1bc8afc9f039428555321c73c42a1dc7c60786f0c3d1941e65ad31e16c789be7672325bed8a5b9e779316ab8480dc0a8def681ab80d9902e25e6103844e848831f709ecfcd2403adf595d56a26b3562dcc2d0bc8a7970a5d0a4681686840a864f8e85185255a2ba1c43276353e36cc9b2c0d2d2d2cae1ce4b0d99b17774879192e4fcde186ce1b3d5ac8a33ad60ddacb15692ba4d5a49831a83deab5261bf303e30a0a0266790a204\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1f6bd67b020e7d210af1a4aa1bd4bf52cabfa3e2cdfcdd07150ca9b6d27f07f1fc1359da727c45e0cb26445a661f1e170312c77c97e03ee3f1c3ca89a633c95c0cc19a486ad09dc95e3b4b8b0dbc64e85ef05ef979ef0f3a7419dfceb1211197701c8dbd6adccd756cd06c98b755fc1cbc438a54d5ccb9c70e5378ef0ae11123", + "0865a06114d6e6b8b847417f627ec5b0189858573948147018afd58bf618f5cb2a06be8df46e433b6c42851cc323bca2ff8e286752f9c928efec8ab6212d2fb6ba85050615dd8a956472cc25fb45f7613b5caa1b5f262048ee646c9fd01692f029417fbec9429e5a697837b022d38bed59a5e892c6f9dcaa17d119b9428821d82be7ba0ebe3901078e1bcb98ee0c411911a2efab418e2288f5177e0c889319733a2fb9977b9855da4f6fded7c1684fd5900324075069804db29818c30f1a346446646a3b22dc0a19ae4fbfceb841226d754551597789493470d072d8d1af8f6631b4609521fca978faa56707ce5b18ffae93be4e1a7d27d1fb4cf6423401d50f\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 97491372bea1be6c54b767009bfa9e1b5d8fddaa2cbf04551584c15b61f30ee48ab25b6e14a2db402fcab453601ffe63cc5311484e9d39f6f0b3aac09875d31d98e8a30fbaed37c1bb68a6185e26d6e35e0daee8fd0cf9c3b8c46e5c97ccae80eff6cb18e6ac9ef15f61d9fa6b983d7f98eb38c8d862aaea96864a7cb2e500bd91ebb291fd852ca16b18897d70ca2d8a22f936b95e9fadda9a6e9595fa1942a942c3e690f5531e029aa5c38407391709dd0121f9820726767e1ab8501eb4641fd8ef3ab37a9918bfd5dca32bae1cf9c5e8f1129c2951804811a126ebf932009f4a30680d1ad9aac7f6c865398c8df5100fd963b91a5115c9cb84b31a1fa94f8ef4930be13f3157d0985a01c9562fb3aa7ae894f11bc54a1e46fec8f78d03c64dae8c8c4f2283175b9903771ab151fb482d64adc97bb371b8263eca46206d8ee8767f61815de44e0c034a433c383fa93d8fb278ffa345395f3399a3f178a3baefd2adf26a2aa998efd1fb7aa14a9fba4737f03b34893c1f2062ffbd4015555c12\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 2eaa7958a6efc137e84c5c719a95d613b1b34e334f172eb97a8cbbd3dc7f568100f3b606ccb4942979be06eb02ce2cf5d4450423bf0e21ca8cf3af401d1d4447dd85ac73eb052ef71ba998c843b96c39509e9b15782f6be475dc5491e2f63837e7136d2b8df7571f47c07e4653a6869a6832e1e6c0498994dd94e05a86ed999474b9556f458cec1406a224f61377e97dbbbf578f34160eecb5a04941cc4e8d2211b2ee804e1d351e70352a5f94f1c50ff5ac1cee8916201c26de237386d91d0263ec95039dec97c8b21643ec619bff0a320c21c283809b4e1b7ae82808df8dc1bc87b4144d4486da7f9b0d50495c44d9e858ad5fb5c071c20082b9a50db8bb6a5fd3d23ab112922af6fe6968a568d8da6efa814bea870593a9c46b0d18c00466c8fe31669708d5b2b397f7bcf136c51521feeacdd196af91743f0b79da90dbebcb61094942bca654be2e2230c2094abec7424b5618cac15a7cadacb8d6d05779335a18f3434e1686c54d5d25d8c58ce55f6ffd39b3716ddeb35d0eb6b186c9d9\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = e542315fc8ff4adb3c52637e051c40b8bb911602c21bf3c73072f9d3386fbcca97375f79f17f7f72f7009da6791a4e7d4dfe3c1374d4ff766c6204dd4dac88058c977baae7bd667392c7a3af0fee933caea4e463f2ad0c9c235bf31e526f3f4582b7836c8a0681949996d596b6ba0a5097193e984b7fc77e42fe99585ab21c18f1eb494226f354410805ab4ea02d79234bba5b958dc6bc1afe94810bc583b04e81f1c0ee71d60caa239d18cafe4299f0afddb71c3019f9569a7a4fbe1163cfd23b1b6f4e73d5b9771aa708e2a90e57d9e4875a4a110a960735dd114ecb112e691cbf622cb89d7776b0e98e6b9a5c5643795144f91ec73abb5d8877b80ae697035daeeafddb12993f3d0c8152dba01f074f13c545ff7c3c6f6fd1f1afac35bd3c8a6edfbc9d028e9788af2134cff12708cc65bf53b9120f52bcf5e780652dbc6bb841bcf63fb5106c6b3b3ec2fdde8df1e6bbc88d2e6e6a63e92fe9bb5335d48885d43f7070382f88aee394a714bb8657c120f38306cf9583f24fdf6a80fa6d08\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 6399a29b7292371f30ce9c2b61ff030ef5accc4503ec987194a53c9b5738ccfa4a9b3f3e0f59cedf8e55f6ab99bb27d21653b4dd12e277d98c32ce0b551234bae38226c32415f4bacfe80420185821f8a3c7441dd9cabe2bd334bcefcb96e117945f10fb9c2a3a9c3175299e6de82bb24ea3756d8db8a946cde1b5ae01f12d5ecdd114cd6279ca2237c26689580ef5fbd11ba4686b1e102c72d3152ce90d4a4c41835ff19afe2387b24af290bcd3ca9955b7d9a6f616d247f6ee2c52156b7953c9b13bd2840b962936f6cebd5be7549a4a33d16198b64c908224ba29dbdbed40f2c819511c10dc59b36be961a8b1301e5817455cb20fa328221cf04477bcfd244bd2951ff15a6fe9e7e41f1f704273e8d62ef51fc37e1bbc70f08339d0414687164fa6321e00c80115a4c6f1544d88305fe338b95767df72e3b33e7f334bfa50ff26f83e44ee92d63acfe6bdd17db240082b158bfae84ed0ac748c81699fe7a70d8797b5705533e6c6baa72cc5059fa9d856ae7068595113eff5e2625490560a\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = a3b266f266eb5f6dad2c4bbfbc4fd2db1e9514645efcd1e5465e9fd762d614db5c3d044c7c84c77143471c0d981359a974d6609319764d499823f356b1a0b6a3ebcce63dcd08be24c63a664338f64d1fd775139c0efa67cda0928309bf8815757b936fafdf85d27a17c059ff12ab185cce6fec640291f9089559b87d20bd9c1a0b890a9fc88280682594e97703adeebc0e6739df8388a2f4335e545e9597dd9fb57c2d1a7874b772a9493a3ea34d161a17d176bc2c197c561f0c7e80065a421f77f1f241178c9c70d392997cfedc94e4b1adcbe7a6bcfab7eb6a60cbda6000919973e9b1382e20da6032f86562115fe45ebe67e102e25d423bb6a99b47899da09dadb9f990c905c67559d4d78364eb6be40cff03cf60ceb023dad22082a7b73996640aa3c3e87c3ee8b4229b0ee70023ec7a39231202bd651dca6de076b683e894b845d8f3ad289c3b7c0da4e86eccb2f1b7b053ea4816ea376df01f001a978f9650d8124e3cf7c4d30a5e5369b1260e132b4b3ec838accc3a639580bf4ea4d0\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 002de47f8004371d52e2cea646c3d30c24c7067ccfe134c4195e79f3c1d5e1c515ae7f09b04184a0d2cf9c829388c11960824150ee619bfc8d55bfef47a58b2a662e62d692f531376cfc887d91f54223007ddd06a2205b4e35419897d0b332c10c3c9bd9cbfdabf44af4b3c9da04a76b2d4fb1e3aab5ae020116bf97623b71c6422656a3f4e9ac1eab2f7de9e0d048782dd312e0dfed774d87e454e5d593bc0f267093420e8047b4246f1561bdf500f1c70a7a96d0f037bbabfb2deece7618fd1453e88f26b6ccd24a8a0bf74450df11c9cfb5f6f9ccfa3ee2aaa8b254750987a14087418815bd7409f21a286bd5a2774e79fb5d6b36cf5259acaf04b8910bc2f6b072d0a4d02dcfbb0fc892043e3b73b1e76598bf95abe447cf995a638309ab1e21b987db52273d592267215b9af4de075821583b409607bd0e3618b2c0f93f5421ad53bbff8cb10be209c1f01a62b8f255f2ab51c1ad583386a6c34b7f60130f7a9112caa79e9e8f47da71be9626d4d68b2b8e3327673f8bbae6815107af7e\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = d6b8ec6312bde1ecbd8e3a0bec28319c6778eb1642c1f1d62777c259002cd90ee9f4fe1e84de43c399721f7a954bf59279f53345e9c03160f5797ac477db9fd84866d02ed8ce4433de49885618cf0cac5ad01970aa72922fe658cd0766fefff0dd99a6ce3c10ef2967cacef6cf5af8a662ea35313166a77142ea6bedb2fa730e584211f3703126b3f79b883dd8c1ba23627b51f06b760ce38f01e5d658775db23b83a31236d52e347050172bfdc36ba3234d7d6bd918a48176bcb64d9450dc777288c98d89330dfea1ffdfffbf8a0d16acf4fc1f0acc92d6eefe9b2f56af13516b39be2af12838508db11175c761d77fe647aaf4f06c0a3d5700d04420d74f34f95ee992991b54b579cde870cf5c6a79c60fa1a89740e271dfa80784a3ad722681dfb0ea7c30c85ca57b392cd8fa322a94d2efb5deabb67326900c20f3366cebaf97891696d24b708d81993261b55969f8ac8b808325357a0bdd51f5902cd228e71a71693d3feda96a239bf10fb51f32994dcc439f43cf11185d23652a9ee5b4\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 636e6fc0bd6201914ea8c43ef33e937e95e859e1ae3d4901aaa20e1965e66ae40b7b9df0bf27815a6226b48e0c5d87fdc6bd0b02ec1df5a871c3ed3087abdac427f2e4ffca3692fd6e6ef67701f5550fa32c9cd09f872116c9183b56a762a934a7475c13f9c7171d3fd93bbbbba105429d11a8661b8c41a69d53f0280c201f83a1730d4c77cbd50d4dfdf3a65c923658964aee0c8bcd6aff618ff84af2b12fca58d0a1fbbeedd5c7c5c17045684e27804089f05bc41a104f674d015c65ce677d9532f214e5a8a2e9584e4154aff80c19321345f24e961d0410f48e1d2360d562484dd2154e5d3d20404f51955095cb98f45cd0577724a7ff30e00e9c63a6b046442ab55877e94646826dd57a0fa2384715b08fa0f327c7bae7c95c3aaad23a3c4c0fd70bb2747fb9f834e62402a981f5edb7037fec2033e9884fca1f8b2ff022eb50b04da9341fde9e6132ff11335e62cb7cf4090f702a56ea04bd1572fe711c47d940c58d147f02d5ccb5876b7efd7939c3107ffa51bf4cb0397333cc0fdb8a\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 768d19af59bddb4a7071b66ab18e4e90a381fc928172c0ff280166f8dc9c7a95a6734f2b01f2c9d14679373a359315d3a7e0cd693433c1fc1841f58c33f4658c0e5400570cfeb86087f19deb1ada0bff7e926bf9b191c10d2c76236bfec95362659c0ef1154aa1075f421fb2bd6a1b115363496e9e83ea65eecb443859d2499fcc3d1337068feec26c8aefcfeadb6f559dde8cd14f1200752af3327a9222d0df0e5643bf51c0b6bb0a95555fc17e2cb4512b7d0d3a6ca824f70b3a33e9a8b3a8db8a7b5e3bed7b7126e56255c640f8eaa7a9533aeadaedd015958ad773865bcdb08c3db29c0be1371fa3e66f89d2e9e30e428f839293fdd43ba200b42c8618934cf47c38536c709115dfd17e09f140641341177a9a9e75e168b547f4a1975be5f3c2c00e8fd32a1b8639661350c9b114d3ac17c8106afef86afb8c61b29b29543a8151b3ad41a5d8eb13602cb91b7998e5d0b31415de1e7b6ba0cfc5a789eda8371b2e1b6e276d549b57527ef38a2221636ba9335b5174bf23ba2efe5d9929cb\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig ", + "= 0af8cc9feca0de495fa42286649599f71e6f079dcc53ec31b325955b75b79b9444dc693de48b26e98d57d5aaf78a808f000b7546ea755ce8afce86f15b44e684cb12bdd8731b501e59117e0ff575280c44ab9b0ea62bc4a156814f9dee5e70694f31239eed16bce55c0c12a150ca88390d1615c2efae6a9db448be3339b359e2ddba1842e8ded4059c5e4b0c2071d4821a59cb7654a005a3b397ce8979a2eb9e03473e481065ebd65d77ce66b116ad4d6a356833e437a4eb1ca8ce48565ac720a4830c2e31d42875ef35b6c779ab7020925ecabe831dc09e03b0993dedf76ab459af76f4122155f5a3c96cf4526d43af5b800a9dcd691195ba5746520a1f6baad2c77a802a0e44b4842b5460264146bf2f9b0dea5f7abad267c7ed0dce3c9c8cedd8deb8b98f51e30aeeacf539c3bdea00031553bf569af6dc50f70a0569e50e837d66782cef3dff29a849cac54d06e4715ee507bab8bbfdb8838c53b5d3f51b486c07160e26f2435b14fd30dfd1251ddf0e7874d2b47fc1da47efc4ed358795\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = d97ee70fdec656a7e68437c142e0f5ff1a49b441f068cc35dc42d35a6218bd98b54c77f79e625803459a187a8b37384bc4b4d93bb56434986f06f1d8ee401c88c9886e5988caac78cd85341f736011916be55db9710402d62e644bf2cc5e8887a12d9e8be72a2300e784d807a5922de477cf540f36bbe9a66142eab6f258ef71c2d47a299d9adba7ef285ecc80ca5ec262256666347184ad773c2142d1b4fe7581b9bfb8091ebffa8cea525f0c76a2b3104813ccec6d8ffe492cd0e7c74683b082d607fe04fb9d5132f0113f7dc3a9266e653d51d188ba1b4be8d4de089aabc01a20d66bbba74a218b0372365eedafac02349c7329d781848a3acc9dd89bb8afe9c7e729fbfbd9cb996b37687d3c9709b1d14404b8ed59d9a2d3b393f1c5c25a68276a2437e7bd690daf8559e7f3fbed16212fb1d94fa53509a067783359f5a7f5db56407c0418f9b61dabbb9f8973eb900709dd172beb258821f2282e76e02ccf39ebfd7a1f40b2bd07348620fff37f2788cc9fc7118a1141085ce330518d09\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = d119504d49b56b24caf3ca43bc873940aba210db68e6783ee300220df953a1a2cec7cb2e03a2837d0ae06c486e761f5f4d692b58f0651c5a6949a4d51a3b6c0c830a9930615b7820e0d21eef7edc87454748fa0e642a7a4b9c9c96b9f7b52b5f85ede8724cc07aeb4d253694ce2f5ec543bc13f9c06cd91f56997b6301af98edde34f2bf18854e512dbf068f700e54063f6ebf82a4303f403a2af7159276857152c7762655819f83b43e4c4c0140e5f4630f8314d7dd252b03cec48dcffbecde66f1928a307267c0a607572d80907408b8418e7198b993d40f5656af68d679b07ee702d5f4325c749d932261559d7220b869f4d5108f959edf71da62b8592616f92d6514441480d2219ca5339bbc8f83aa2748146b55e2346c77dd1bfe2e350072a52509e78edc7545acbc792cbd7339afcca77ca895e8d4ecce7c41115560253c4445552fac2ee56d2e6148176556166dac7a316c64aa72ba97836391b979fd50194f8629a810d965be0941228d2b4582af14c7055e6222a60a06904211e058\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 4345f8620ca6fc5f73a6f412c1cb6fea5c3be84044ac8a7a1ff72057db52ba841529e0796af2715389e83eade82dc9cb525591c44c100ae2bbcf0ded3a19252c486099d85bd7ab24b0fbc6c9e6ee7470ba1a2dd69c3f78c106e12de4842c42a1e0686d85e2ca3e30f015c76df87ad374c444774e4209369708d8eac9c02815f6d75989d993c31cc2ec1d963f4a149d9616b36d90783c3adc448977139ab34985a52f9b96c60c1a5933d8a9db99a23c91ccd41695cbf42638c44932a31a49874b1539d849b2735499680b5d04b1ec31034085be0bb59c651792667b21b2001fe1e4b26e3cc2c72a2037b551aebc304b51fc1deef2a5cc5eab705cc681e7a3d0b14435c9c3a73db06417e3dafe4188530719ccf5611e275e4ed690f657482bc90d87c3c27c95ee03e39eba957a4a7e27e9635c9e833366eb833927d96608f9f98bbd83be20a2be6ae6d7460310c6517d511dab2153eb5aa96e8d4980c2acdf25ccba234309343e85ba68ad6095fb139a30155ff6bbab46009db306f04c5781fe43\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = d7212634520ae65f540677f72d8f230d9b40c37c9307638b1a8321ff6e45924680a68b89ba73b2400db38719906448bec9c35d5c2da337a9e39c82adfbf658507a74799ad647248ab9f21d2725d565ba015327d3a9a4d0aec2c4d2a34425d3feda996851e7547271e5f14543008c556a69341338d7ba9ccb34f42a71fcde9e410395e5c69e6b2c082246075e519096c0745786cc275e2d3fe65c6cca95d97a1f22410f8a2e0d2bdb36a61431b67c6b98f5a34a4592bdbac008dacd7acf7b7a244d5b3edd63e631a4e21f9b9809d832b76dbe82b9acc4531798b1f4a0ad9d84ce23d39652cb5d0fa522e98d442ff39656ac129c5a2611268a534089fa7c58c665fd276790c067e0b799be17975b0388ca2f455b8ee54758a184d25738d97ab9bccb4fc884d59df610809ec7ff9a8e52c5c8e93fa53e69b502975dd595d30496d9ae18fa8daf48d66292998e5a9a815c224ac0a21f6920f08f9f70fa60363cb67f386ff02223ae48300871a84e6a9e2e76e715fbe9fc156078a79f0a5f369a7e34\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = e2d20b15707ec4522a15239977be889b2f72a23f6531c14a14da66c59d5cd647a90441c100985055cf46e4e3d48b00ab99f2f280e5678918af9a7299783b35a1ec63251228d369f61635a6f6c6b228b3a83ef26ea1f899ddc009eabd33d36c325bbcb193fbe1bec12ed756ed02dc21d56d3e7934f3672a3591c655102f766a371a34983d40ab34d8b9476e927c7e23f094af98c9c0ee30df46641f8abe5241d9790af6cc61a6de8248f2e7039510d1ab92b52dd17d8dcba345befd58da2fac4794ebe3e7a41a1e704f9b8fb900b505df8d46a0484d7197beff7c081505616b8a5ab8c6cd25b7dc3c0bcc500bd1a2577c1f499e83cd228c48a0f40164f4716c4ea7dd74b8971cb21a25ea17e3d07c77106cc18652f82d8abbb2ede781e0e85ab668ee1d8769829b8be77d457991287c8308258d9ea2a3ad327f9dcae03fb5f6a71c419fa37416fcebfa3422ddec93c451a7f93b0f970df21be18af1399abab90c7667c1e9174e193efac179239db64a44590c50e52278f460785c6a399102e0b1\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 985830e50116006b97961dbbfa9939ee492284b10771fe3d3910275072e1e2b3d1f4b00a3ccdcaf310e04f10d4ddc2deb544dab03236d3263ca743e8b40c1ae24d025b2524bcda651e7e128344a6c009a148d48504f2c8fc4bdd7dcfc6fb3c66755f35e4e775fa498c1197f0cc1d538afacc3d087a3638220d7ae845ec79e255ecdb8917440026e9f8686c18b1e8dff0d897112bc19b087089abac233b274827d4d4c88f99be595974de26c79917a94772485c94391465e19588836205138cce5d19f7f62ae8fabdccb724c8f84a2d60c03425346189f97613f79ae652dc6b16e0b889b7f310361e52d134633f8cc15da56aa6a560de0c895fedf6de4dcfdcbff3cca6f10d2631119d7d75e0223ae73ad6f79b2f9bc32e4d28776e9a5ce4f733d824c3c7aa0162ce77a438df92a1f53d1878bcc4848f41dd0b0e8c88775d98039a05b91ecd7465186f6dd067db053f3557bba24cf4cf6a372b26162b228a8183484cfffdc7da2f9cc15972746cdef2e07e6c203209ccb7b925373d9f36250120\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 809455aeb2529962f94c2a7a214c7c449df1186c7a568d808acd7f21a898ecc63e23e859243702a7279a873109727d67a915ba48df76694cfa2370e5243386cc7751e2b0b40ff511fcbc08b8fd523fc094648c42907d3c30d21b6a3ab74cbf6787001a1dee5366a37a524b831be807c3776fec00575d3d723d4d4edac2cb8875f59c03f843bb9b379e833383e42bb841308a78fa1200f727bfeb3c418a7cecb03814dceaa65d21f8fee9707c198e3ba77b66a9dcee4af4662ba97e3fa83ac7c92694dd3bbf6360016923f0e6bbfbe050bc1b1a073ba08d0d567aed49ab215bced50d2eff95159810de874e174f614751eea978690aa868219b12449ccf74c6ff79e018428d8d41b1ddda2c4abf7609ab48fabda5800a0b97c0d88f546a5674cb507b909bb2c380d1c7f34d65f05a42a872456feb2e2b97e9071d1f17152e2cfe9d208353bd887eb36659d9468d7ec809058523347472d5bff81c44102c9b1db841ab6376d4d16c251bbc9885eb11b7b3187687d15635fb51d9ee918efe40dfa0\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 5936466b943bb0b11015c946373444d97e2af61ba6e67e8a4004c77ac6818aa8bfb5bef619d1267fce4f49fd40e6bf85690ef69d821afb75d6660d0a023fb67b7139f7316f7fde0ddf9d75c3073f1f2683dd02fe0c7a2a2d8551cb88cf3a4c1f4f73ffbdcc29e0fa0f148c7e6649b6f8e7453b708d7f019473103465a24d3b8dcfa98e44883b3bb6a24ee0152a4263b8315ddf52acd3d2f3509fa5c6ca0428aeab323ab77f0612e5e74710b515ea8ce35266540ea31361b1bffd59fa9139ec39962bf5507c0eb77161945e71270dad21ec30d54d9e97f088b829950bb236c0874f4c2ed134b565e7b0e5b63555a57d82ce6973e11f5b737077e336905c87504a24b03846f38a9fea414d7c7a7b902fbf34be86a0087d78935fb0302011a51c778a766751c1f0b11d014f5c33b5a1816eb86430d163c5e3f75ec28ad8f315db53294b5f52ecae24fbf8b1714711ad60766b3952e459b7ec9fd589ce2605bb1c11595e4580434cff6f748c00bf176738b21d2dfef0c44338a1c05660edb59f24f1\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 98baea66be8166939f2fcf1cc35963c154776a65fd7e58405e1fce04e2f9d7c25bd8a56be3b0f937b8c521f7e2a9df4c98297fc2aa696864696194c7e742a9769fad227db26af96f0e50d613e02ab24ad142e1642c779ba4ad4d4bde46ac19deba7a694e21659048468bb4da16f8436bf9def4dd148c9b1ffb92a5ce9263a65ce6d729ae9976c59d5de757548b11899704c62a47703fed0451944a82b3e2d592785038edc11a5da29975a5432a2742233b9e9f76969cfd9ce031dd16d1120e2f8dd1965f99d3c5d4a2b6486cf952fdc01f227716b4311154bd8a25939ecefb416e0cfd169a89f3acaec236f3dddb13d417748216fca0e32", + "434ebe953cbbed454c263afa1ffa23ef047c9b06114f2a56109bb77ef58d92b9bc01bed5eeedd7f181628b90df2fab3a7d6615b01d41b9dd1a01d7c467fe1acb42cf7c7111341cbb0fe7f673230148b972ee2cfa781ce2ccbcdc467b8a6aa1c20196ca4479bc88ff06d8a2f0c19ee272997a0f43f2d0a02a0a6a8a1032ee8396574fbf79636970735\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = c2caaf308875c6fc7942adce507dc24fab21899905efdfebf24e4d189cb46734eef0547eb68b1fa0e9d3be5e8714f404c0ed1f98d31896f2149e34ec077d493849e369aca2047efb7b4e8accfed92678d41fe8551bdec8bc6073e467a26648b91b885df097c25dcfcd8477301eae038cd41c90d51496412be9ed858dfc111a3b45d9f1b3d84c0449b7f18af43064e703e3724cb73d49db2f92cf7b45ba16608ed332b7ee57c05edc283f7eb572d9fc18ae1d50de26655c06a55fbe09e3d68d61953fefd0b0d42fa470c6751282e190fa42eec5c2a0bfbc58df41198a7e52af01cf456fd5a50375b54edba81902aa21ea0b96919b95a4d605ed6022460e6e811ab23a6d2b889738aeccc2480519e8d3c07e10a9f79b6fe4c9feafd6d62b5ee68f8cf840059050ac40530a8b09f1767dcd6c6daa488fae26fd9daebfbedc42e851427b738129019ba4aaa0075710363c5f3f798865acf910d9be639468bb084c6293d218c1089440c3dbe3ecd4560af4ebfba79b680d944af3aba9205c73a2e7ce\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = b89b0c1f2bd605ee42adcb8ec138f8953395f21dbf983ae6f86296a561d8bad404de8999478d7bc39e9272366b37457a968e68a15d585ab00ce110c58345f290c53432f066c77a027cc8b5fc1509ab3c52e7b095d58e9d245fdba75d206274a01121521f6e6560300fd2331e9a5e8b03a139bc7a6b636e5e519cc7950205bfc03a0ba272ec010b96129407e8a6eade7a3520b56e1d68bd2edb4e0ac3d97e6cb5ebef9a0c9acc9df7fcaf0572935063b2e6912b1bebc4563ed36c295ea3ea27495a11e41ae83fd8d7fe0437947346950b87a44af579713ce590d4fac398aa961590c1fe013cc93b96ef404fd2203313d472a05d8f0fb20822d54a8c3d75939015749523897ac13f18d36c5641f5436eacf5dc02c659a4df5583a8e86b2d812d05da32d0ad9cd5a82e045fdcd558bb4e5106de858bef6b6b5f225f7512cb3d3cd7a23652deb7325328ed59e0fe922c94d5890ec582056eb7f282b48c9c1054dec9c3fd27f4c30609aea52e89e50a6b5408e910a18ba5111c545423fe23e043e0d3\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 22dda4b8c0af2d3038074ef87060d100822ccb58195fad6c084bc1fd81ca7bfaf3ad5bb766d265c48eccd4c3dc0f16e846e9ca36c5b49d716d64ad0710ad327d6478552267d5b5b9f6afb1e0cead454fc48f52b5e414626fc235d9097939f7e68f4df1076032eb024ea336ff34c2aa046252d42ec38b4001d0e1991fdb64b41cc69cf3385c9b32f0b45d56680e987df8f7616ff25f320f8ed22407ed24715ec190233dc4bd2fcc9ead1b91dc17fc807bbe8a7d47df0f9970c36d8a89d22ec623492fe028de0382b32d56b91af5954f515a76323cffe09052f68c35955ebc158b8d069e25b63e70933c2bf914d6d41e23cec30a50b2e35d0a80ed378cf9d43e7542fa656f4417c510abc6a62aa71916d0f010edd19403163d0e022ff41db48a7a1f343ae8589c86b7aa46ea554df5b5e9786ddf0ca3c2ee976e5314650f39c6cca280b09dd787257fac847d9051136b641d3f9d4c26856149540d6bc8d6cffc4c4446851a832c3c65854d341ff040921e9d282ad5790a27c46407e9c8bdac5e73\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = e070274d94d99f502616ae11eab00aeb6f676b5bdeaf3f6e1f5b9c406ec6f56b8ee90d077f26ac42c0886b24213d38eb102745787eadd5b99ae24b4a986c24f624702902c2f43ed8f6592504328d939800a336d3fb742263d7b907074070673b24f5c5e8a9b402529590895d06c823c3fb9d5c933942c5a18878820243ad8c210b2f98b9163146b75a85ae1127ec1b9f80bdda356eead3c79e5d03a4dba63e382be85786c8c2fc28a26d028a440bb8057f3ab64d13a25ebc772de177e3d755e9866fae37ffb69aaf686d48b4ff07632bdfb3dcb21f666f5458465601e5793744c8a3af675b31f777d4fe7d59787d880939b2ef17156e293da74d5024e3715b866f567423e9e0a307c88397001e1dafa88855c314e5a5ce4e635bc9d3308996b8a1d82a5fb3356c0c37e41e5752e679988521c04278ef37dc112d999bfa1ec29be16a20ff9b8585ce900c234bcd064b1d7993d273982a3c02b026a58501fc5241a9b64ce34f388777d6085594faa5ef3b7f0b992648f2e050397cc30edbf3a841\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = d466b8d8b4fcb2a566b4f2203d786b81e63afd5be21ce8228f40a183a9de52c992e27a85bc7f61cf69ed0aa559880c79016731b5fb667795fd1b37fa0cb2c86dd3bfdc20caaba24d3254bbdd063e6ce1aafca2ba04fb90f58f7d9fbb5be9679e30676b80f7c7cb1af50eab77e77bb01b166d23648c3d36a4fc228d6210e9d64bb3759c1979c014703b85c4aa7a5fe0f9f014819d96c4414920c6b57de2aca8ab12f7067895b13fdef4bdf39c5d863a671d66112d1f841b5610c9065fe14b1b98103c45247c2078f8cda5bec1cb99890dabacf08086bd0d73af4df0a9113e704ce0781ce631d4e39683ffb9c8d21b65d999fd687301ca1f0f9e7744474af65089d9a29c805c3257b32c95eda56426efcc856bdba116a08a5241792b1c282479fedbd8421d746718e859434d3e0b093f9d2de02adcf86697520f05023caaac8740df9ed28fff20e97aa45de9e68075a73b09b2ffe7fe5398e971d69d296dfde0541757248bf0c3876f292373418724fbba47bbf16a6eff8228a8d73da863d882ee\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 539d5ebdebf1057648e82a961ec142f82a979d34b37cd90a48624cc0cd63c15f835935c3fd7ce618f383a3997e841a0bf5476f4532dfc73e76f2cfe912d42a57c2f38b90a497aee58b280da0a8f2e9bd1776938540d630ac1681997e66e30cde7d5364f88465d43f0bf23b4b2a7476813be3a8b49535366441e126608a3e699023543ee7967b9c99bcada9325d87cf3c4a5ed333ae50d74554f863a05defbdab379d5a43367fddc240ae760fb257e51adf8ee4aa2451425b9e0f1aa6963f43da61714ccdcdb4986f0cb835eb064a112d5ce4ef5e9123f79f21d500b9b87e7ae11bc08af6082b5a284cc04aa9f58972af28ee70a4cb78913746f3184b76fa6e248f827e342338935c0301a18fbac9ac9a97fafb0f80e5c88c4eb9a1c850a118f32dbcf357a1ee8079c0efb912594617b44f1268ca7f256309f60250f7e0b0b7de5077d5c900f4581635e67e5b9f3d80dc8917b995e4ac1a3801a45a1b88ad0ff16f33141824a9769e9ea3359dd88668a9a64ff75201ac2b171d3c85a1dfd9f99b\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 094cd24b3a601b80b54a60040199c6c0f3ac766f4e7ad56354c9ac551af0cf22d6df1612f81b0a195e4e471eeda3efc95656b87645e05c3f224187c85b8e0fc01f118aec78c5d2533d22951261bdae5346d6d158ad56cb305fe0ff5ebd6b8d0e947f1262e56329479564c1d4a77e03f81ec7c520cfe10a3abaeb77ea602bbf8309a0726051e4313be579d50f2b9113b21e581c2225e5fe3ec435fd80d013ab24b6cae83c0047dd81328a4a3b9d7f5d342c34254ef3618d8cf822ebd738bc4aca8c3a2df349fb7421463e363ea77b78836f825bf023cc6ab9a6bb6528ea925789e577920d9cd1bb402e5cfe192a1cd6c2254e16080ff247f54e9a02c7cfee876583c276d736bda542be218cab897b50ee5d36c3673ca20e02c07e922bc49b054351c921b1d65c23a6d967619901f09ae048d4c09646567c3367ea86b86dc9e353c14f65e7dc6926ea5d70b36e23c66db53786444654d70d910764842689b96cb87ed85668d608d58b31c3632ed985b9051aa288f0005cab9ea1d4a278b3a68fc7\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 06a763017fdada141ed44353e39b0d6a3038c903f059cf8132d7bfb05d49db22f978b86ce942568fcdc9c50354356ba4a1e43bb91172e898abee5b5acb9b0505f3873fa6ddff9f08413074fadfd1c6b977ff1e5cf5f7176726d99204de1031213f7d6c3ce956a93b29b898c197043aeb27db5f914ebf86de7d26e17fc0cbccacc8bfb4dcc7729306cb5aa6f8bd9320ce501aefddd1ff0de105806dbaf06c9c70e10b2a6193903d6e387e7eae612f9ff280614f86da8766c966e70548d255c9fa0e9945d0dbac5a0f0405132bdadd8da67bcbde0f5963f1e0fe9fefc0e238f5abb0030a87793eb952be375501636d86f68c5093b147ec0999987d6e830e90fd3606f1486dbc909ba0e8c6cef23eb4995a9b1264c696bfdf0f4cd969edebf03c5ce8a07258be91566722f0ebe3c736123aee981d1c1fab2a115b0814f584f8c59936974fcfeba4fa7cfebde8e9410494ef3110b6b2d419c3128884799d7ffb2ef99af6c272ccac1d8022fbd110a6fc12d13192e4a9fde1e7a3d8bf3ae53f6d8e3f\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 7b0dbc9f51cbee3ed57cec73dabd268141d15afa82eb378d7c6bde7dcf0650554eae79a2489340b9eb81d54cd677c2d351e36642f1bc5699b5645ff9c4e8ef6c68bf5e337064f78f6eeb19dfd4e5e9e70b3600f4360938cb9336e12361f75f39ebf44994de531bebd230bfdaccc02e0f3452976f73055d24d673a55e58618dea96718d180e7bda5372df8f2adfe8f984de3c5711abfe75cdeb81771fa105f00be7de76e5b0a8838dbdd8d22226518fed7383e2a101f62ba3e79f59538ce3c9f368d6442063ef8591cdde03907fab38c79e5fa326bd67f6c0d017cdb01d39eab8fd3d7a901065986db241e30c80b977a7c5723ccf15c9494b08a39371afb9ea0e51f4cc35f515ed88a8e5b702b9108917061d2b75e9dd55a89a387aa2e4e0d5b9faead4ce10e8622553966c1324e92f8dece4b3d7cb981524ddcb65760aed7cbc32d47585afe5f48eacd24ed570334814121197c48505d790402b85a45a5937b0aa7cff371588e0a04030fe0ec1b8fec9516becac30911f689015b16a44f348a4\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 654e9bcb87ac0bddabb2a877a1127cf9c306c9ce5da052f8ec732b1a98ea14c335ed82ab6f62d174651349407f1d91189bda73182ef8073e2dcffb39c21c2204081b36fa6c5d66c3fc97eb2ef3", + "416ed16cd3e6a4e5e10c2decda13c3a08268893769b212f2932c954c121c01944c51dd5c2305cebd54ef65bb6ea48cb05a37acdffa34395e5e6f540fa87492adfb9ee1fed9d7b47841f75da0a890a0f2914b21aaa0a78781af9790dafa4dd23e511f9d9eb76adb25e85c6cdde568fa14145d821f8602e67569f869d6e73e396e247ace4b84d20522e45a066825450586e428e806a2672525b90d316a5b13dae5d215cca466e064e541f549b0b298b42ece5634c6cc48ce938611aa06ffb120c205955f537fb21cfa7c5db92908cc278f7e003ad2eef936343a70a2d6460a149eb930793fd45ee737776adcd04635aa87a3f7a12e4184689a88dbcf3e9d9f6d829e0fad1f08596768774fd149813fd9e03a42faae20f02ae026647d68f3c74651a7f469da2359758be1d697101135d6ca0da131\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 5be6f89e6f531c41e248f0d72c37cae7b2a466886bd4c1059d966b5c973d127be3c75c7dcbd57a767bb13be20d9402a780a5e58faabb571399d7dfdf3c8f649c825d99309f84140db70d4bed2e160b22e49958e7e35aa444d4fc49aa24a02b2c170859fa621d14c3692a2353249118c7b01e018ba5d82354173afe122a71368e4342d88fe2bebf6a0255f719b985d5b57f720b0d4767f67b13ecd815ce40fab2b610c4af1054734934eae5fc232891f29fba6d364e4c0f2b26bf600836fb1ec9530d5aa14b90103e675efcbc92f6e88afa351369c694892e949da6d90e74f2ae853f5d8aa70d5fc132d9b41e20520baa8aa74b77c60daccf4da758b9d22745e50cd7ea118dc14926b9dfe0fe26600cba5b447e9e2a14d1d8a5e7af01ca143b6af298e031d2560d99aa090ee2d7180ec695dd553847175ce66084fae7b30ce6b5a3b1164757043dfe053853c84bdc9fd66708b029fbd44a2c2fbd8e5ac7c009f8cbf53ec2e285f2c365d823d31772bbfa710e70eba58d71787763bf0dc09ec5c1\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3d7186aa38d431642aac2fa01101224d652e468ca9e420652606d050f109825b4c2943f57d943a48e8559898f9b6ee174eb0748a9c84e9cb874c50c760d2b1656374703bf82b2e4012d4a4b642a20c2e5e9edac54f6b152c7d79ca5591d50bf9194bf36c8604dd8f31d9c40250909172346331bb73cda23c6ae481ca91dee49a2298df8cd40e5b7f6d497a183499d2a0950f2e440614ab5b4279c887e2b228c27700013ce15841937e319deae2f7350a2f76c43c6e02e5937686f4004369e478f61aa7dcbd38d50d93ce74a9aa8a13cbb1a8f92cdd382fb2c35cf292a9d45e404cb1cdc14608f5ed3e2c490c22862cadf0c6c63116c81b7ca3e8ab6594e55f10bc78769c3e4cbb5b44e5a1c2ab3341714a1a40702926bd5e4facf3b55dc978a2768166a48285c06722d5436bda3add1a7adef76fd317ef06f7286b47566a38720232bb58954efc44f2207de71c2f3661a3140ce5a94145df9d4bc4cce0a16144fe0205a1da7f57409fc8da45a5062b2ee39119c639436ed128983e1c7fc4976c\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 9f32c9b659775417abb7219278e0ef2eb30ba487d42581fc22fbb18dc11f5ab081a40621b4b925fd40ee62ed792e853cc26f3589aa9bed4e04aaa7773a08b24cee1ca2b83331487f889d7d1770a55cfdf1654c4ce320542ceff8b0d62cd6c59c8bdbe923431d9308fce911b25dfd1206b9c97c0cbcc46b36faef1aee9f88e4e353a57fa48d44f88a76b3e67cfe276315305f71d0f3656f3b086d787031dd4c716cc906f9384b765a7d2a648ef497b7f89b8fb72d63351bfd0f019979d859407e30d7ac22f0eefdc92edd7ce8033b11d266d66eb19228f75d7ef300848927c9543e6e7f195bfc9448ed5cdf2963676e1644d09729115ba95878324573d4bfeb74c7713b405304155bf7abcf7f76bc3fbd96c6839e81624d96dc9f45f69af43c46e8720d1b488aa647c0a7f56dd36619c1c6dd5bc93b3fc00a00dfd49a19a2da23de40c3de197ec6cb55ed47062ef17ff15112a78728a8b5f3344d0a7168726b0d8d223037a52a2562dfe6c943cf09d82b9d777c3c2f1a2d2e2112388b324088de\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 409f9dc527da49214994cf1ffba569f2e3ccb12b626a685367c48185e06e972d3826df52b54aeb5426977c4fa91ad5e55cfbbb86dcdd8da68e83ba5f25779d87b2e9035f7591a20d8d6845215d3a4ffccd0a01cb4fdf0b835a05686f64a8f43153a461d78649e8a635ac52d6e001068f8c18163b40b3860691117cdb0bb15a35364d6b4ca264a24938a68982beb8c5e4c5b9c90480777005d4906f2007e337875201718acf464c44db8d2c0e7222583088577759384fbb7bb8bc409a790b987fedd1d09bf5aea2a0e444c0648f7adbf32145df8c2d21dbafc408f8f8ea05f26a99b182fae3d3c12f6e7d9e4404dbc20063a1a00127677d97c20a78dcc7572ef5b3693aba44a9ffb1d8c7322596658b0ee24ac61f8bf66f83ed32a953569a2f0037c634a9314905cbc8a37722eb5fabf3a5630463cc28f233953b57c0d5d2f6ef281cb3f843a7c640d6e566809cec0eda548cc1f9efe08b4b8d3604183469c34d1194bcf6a0126fc072c4c97aafac748bfd4e21b5f0347b1977e5baea1849e92d\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = d28388441dcd3adb103515a74be1afffeb250255ca7528e955b94e7b8ce826c97df3f371da7e7f399477c1bb033d50f4bdbfa982e3d5eddb6bf45e08dfa41d5bbd976fed018d1b8bbda013e79fd80c020ddf5379e96929cc70868f025dce41e6f3dbc220b3cc6fe70d7a4bd0659c60fba376d672016599a44f89b62aff469e7e91b24bfe645d63cb0cb03902e8ce8448b41b5886d55ebf054ddbc21c23d571a4e6a353a5f880ec2478d206a2a08d431714de562bf2aa6a5885e0bffab51bce4ed9e243eeaa5d1b2297dff1bd844b440e9cb270b6ce40b76fd79c7591d3f38a719190a5992664f24b8bce0f4d050e8072ae4a27c51b2e284304af4e2ee2dda546a8ff91affe20882c119ec1caebe406ae2b04eec9bed107cb3b66420a730ecc797c028bd97f9dff631512342355b6efb3fffa49d55a9a5d5ad45182e16f7c378ca36135a520732bdbff39d525c89c0a3118c68a779bf2f2f43cd560b4d11c606fbd089b046fae8f01447d661bc374d2b6a0e094e7b40abc240856404d2aa7364b\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 473f662190fa09abd247533dd2d4cbd1880ad6419cc3b3b1dee6059d5672b28e768560c604260a181c41b6c33d9fd902163bd956f67011de608b5a7a0059e2e0be3699119afc8771c44f7f681ded984d0674754b0813fa906ff8d9db40e1e48fa25af65ac49dfebaa30c957e7ed0e06d2bfd04ca564f881dd8cb075a6a708eda0b47174c66386a5fa1b4bd2f8f2d1661d2eae0065c95560da197ef5644c7f317da9a8dce7f42f84bfd099e9cb20bbf1fcad1c4307903e18c9c5595ca8a0bf2f4b2c3c562561df21de86329a7bc5059209d05699b888848723488b111c0e72a0d84978b50242d94ee47e2df4a0c953947d846e56c9c9aaca0543ea13671e6e8b9e3c3799cef6582bdec5579f2edb171fded9e04a900c61c429cbe09768b93a417f1c59b92381682bd66d0018e94cc75dbdc0d37acd85877fa229db0eaaccd9b1e4275a9dfc2bdc60ccd7ad5a597e85c443ac95f878378d88453074b83d152d9ce4f583b57be32cc13971504d713c3ccd719e79303b0c1a866e21426e1049ce3bb\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = c67de527c6b72c804a52df6e44b4fe2e408a9f048948ac16db55b664b5da6044ba9b2498a14f66a83ad76f1b2363f393d85b4470d318114247c6f33c4110e24801ca915800adc98e8b3f88da6fd84be3db00d09f027dedd60e68cb0b467c04d6bc4c629c168f6ca46988b6165347aa885cb954cb4a0d2ff2851b7dbe4cb55eb89ec48ce45064f34d6907ba62d0b5468b316753ed36b1ec8b8f36a05adbd59cc03f1aca50001bf59156b9065cdbbca855c54fc3dae251a0fd1c130f545b3e2d51a632f778999bb2a6693fbed677206b65d9ef04c4dde2e5fabab0ce9668135915389dc498d1641c2a504bcf62c94339d3111d64c5fbb476d7cbde4dc72dc2f1745d02e5da12fc92f9949aa672e9a567ee4dc760610fb3f280a9612b24fb0a367a6b041e5f9075d20cf27f33c34c7a005cb2024468f2ba51de56829cfe25182fe9c7ba95c6314276852b2739c4d7da4514c58a53db655d0a7cd442e3f5728e472b8d0bda4e275c3a3a7d9734a35409ac8b6bee2def19f1507e8b21e278cbad13a4\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = b41adc2e291efe76182d118257243abc0f8e46353ae3acc7f22b1474ed255be6fef75c620e362c04c875c27a6e93d0beada311c01143a249b160b92753687192fe4875cbabcb09ac137db95eeeb06d9b220da294968bbfba6c0ac2e3e0089fa8038b0a501d90ec64f5270ffaf0bd135980ea84d18f7ebfb7417397c35d4cc09f7099ec5f9c5877b01b95056196d726089689189bdbd828f82ba621ee6c51e14f46de40529fb75550cc92b51887c7746eacff279ace83426de329484e2b3e366366a9570019a8e87802c8bc8d1188e1839837c3e2d108448bd9b78cd9f4d4ef7d2e038ebccdca08365115b68d08e39babcf87919918ee6d84afa8f2acf89e4ebc0847833a18b28330f6228ce6e42a1dce0144772a306e8e6abddc9970769c96ebc0e4c4ebfac7d02e9e87516396ef8134f182b4fedead9ddd8e5a14ad15a395009d58b1839b3543c9c30c01255a56ff93075b7cae3f6cc0717d8b932ba4ccb186a9af42c0df16e4af298280dd6d19eb9b806c05a9d08f2dfb436a9a4d8eb6d60d\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 8dd51dc50f3f37d9c4f4ce243a23ead21eb389c27478e295d95abbce83bfa439b29433b550c4e04832f16f59ceb29a7c8c38546a8b5070d37033229cae1ba097b18c05bc590c483d9e4653ce0d8d10734cbf74f35346c6d09867d5e54453c701b9ac228225900272fc916f1207e791c9cda36965935ed16a51ac1f38f773194744eaf00d6d26999ab50256553be60f7679c7001d33415ae3bc4a1cef1dfa720a65e4da6fbb87dcbe1820518b2aefc544a27a627073d6dc5e1db59991f70fccddfa909d7c1a261c355993408229fd78ec8cd889e3f7c686f5db7d66f0aecc750ac49b3fd5e4cfd7702fd2c8181a2540cc7c6ba944e2928eb547b8cb77430b1aeab5d6d1d374515106084abcc8753d3e92370bf2af7685c1fd4dd93f4a04a1dacf15109617f8652758d1fc9ddd78cfbdc44db85a5e233afa29ed6d6c239deadc93a105f47da8a77b34a6bd4dd", + "fc302a3eba565184f3ebe4e086437edadcff4dbb0aa17fdc50401651de60ce7738d3fc0d5c51144be50b4d36b62a33dbe7a55fbc0\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 471a17bf9d8a875f1206e9c139877b50389e96d0fb6c15e2f5208ca8a35a6a11cab06ef4b2b8ecd7518f2a546b792897747f9ba849550aec6bcdc268cab059b63dd69e459e317ef3eae7b508bd9e33f4c58578b45a47364e7cac4629d43cfb9d6c4585bb2d8a2f8caf342c4004e933ed6baf652d178538b8a0cebbed2447906f83261df3edad17440e0eea7eca270cd7f2b5a404d6e72565764dcbf57888df3a0b8a6dcb52405b6819af81bcdf36d5c3e7ca8b73224929cafb9d1e98bb1be32f2cdcdaabede8255687d8228efc0713bc901855fb63757b9e755033cbbf09941824762bd0ad53c724d3c6fd01877424c2107e5ca9c1f7e84f1f9dea83a9f802e22d3c2f10833c475a3dbbb5b6544fe48bbcd25248da0357502e9c5f4c00914dc41171038e800082767c62a9c9ca6ff06561f7cd35d9626535fdcce5beae3c9505efbad478915936dfc3947f86776a25c5fbbdaae42922db2607809033ad2296d602fbf47f0fac1c0a281807c6c9fbd68f4d45be8b1d1a0818b0310558f7c81558\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = c8443c63bafb0f500af4dd195734765d5177e2b81016fbb647a64642f08701cf00cca3a15b76ae0f60ca9d1469d3e226d5fbcbd33ed9b249def58f54ef90000df2ef35394f454aa232e3629bd95d021b393c7c5d7fd32a5ea7cc1f5eeddc14ae8d80c7af0d781ce0609993c52943e71e01659b51cd4726f9c7d9f8c23ecd6f946dbe5991f4d064a7e7ad92278a00efd19c87a1ceb5ec1506b14860e12db6817556e279b65504a97ade4aedf84e2f44256d88b7db263be75013b3b4e19cdf4f43d1861936eba689cf9f33e1bd514f294fcf4a37c42c2b64d6d40d3acba6b437abd74ff30f2ef733829fa5c5fd00dd5b9aecfc39ba72191130944347360fb721a8d47085aaa33e35b6f5ea43cfe37d71da69ac628cb496bfec81d0ec6663436117b58d5923c09b345d399425d8176f072eac65d3fe6823473c5491c4cdaddf004243ccac1fbb5133e14d8aa59dc936cb9ca1db1716f2c8a631a751b494ad67d3c2cbf8cde2c609bdb4e847a4e318ec19ba5bc804fb92e8552eaa74e7d6a5abf16b\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 448f9991dcb8b062ab546671a097260dcaaf68163440840eb0232ff8a2bfc326d53dc49fe1e0aa84d190522b3020166adc2820fe7fb51529bb9b52caa6a50bea343e1e2169f44476bf3b38ed93206d7f3285df546b674a570fae67f1f55ec3cf3023827dad09b19efb3ad90fb462438a93e3c6f555c8c9fe235c35211aefde711a2b81a805b96c5b5a27f1fe1b16afcb95cd0cf4337d20ffc20b8f505a633972bae62274f15128ccb061822667a6a14c6011193df2d43d3366b79e8d5d9f49bfb8cde25771979fc3dc58b1d5ed9b2952b885340eacf1bdc88a9a83be6ccada327b967310c9653c08985975e15eb7852ef9b815b5530d60217c9b3e2acf38c2618fbb893fd03ab47011e7a17b2acefa5c5e7d09deb4bbe283f5c8a0193ee8273f826afd3ee5e035be329ab04a2acfa6e4f8ec6f90e4e9c8954e1cb4fd2b5846643be5ec81ebbde608deb60a9448e53f7b2d592dadd0734b99cf150dc7b1dc32b0b1dbd68074a2ead3c4d885b404e81162639a34d065626bbc98a46066f6887318\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = e447af5561678214e302bf3cc4f4023df4d5ac8b27ad8e1586290bf074858cde3dcf624f6ddc6733ebad8ce49bb87dc04e6c492aa0df5b2726260de41353507cc15428e257e8f1068b79972d1f55fcb4100686dcf2cdba809d4ec70bbb22a9c4bf89e338bc63ee180ee4d65cda949c25c2137ef92bc33063ef5580cdde56f72ca206e38db6ab8825e895f5cc3d02508ce7345b16375892f3fa16b11ffd6076cb12e54c9abeb095abf01b4da32ffc977be357a6fcb4c4ba7cab3e60bc5772a83903285fa0183ca87a7bdc31b5deccd55909fb0a6a4d82af45e42a0d47c57a7541344d864c8732ac3d1f1f23cccb3f196f20edc6e1412a3b15e645a5582a9489ed697f4f46bc9a487154fb609dfdee41c424cf09719aad6c85d3ea1c122e29a8e46e0af8e7052fbb100788007d98b4a325dfcc3c4bb1eebf4d0c3c0812b7937713e8702be35a725ca5a0891f78a854188cf46ec97bdc5b44bad949359dc59e9d3e55bdd891b9850402c5ee055197065ee05d702d54f3ef7ebd7a32d44602e73383\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 557241eaacf5e190018db935feecf28d81ba14e2f91ce295a12ac5f48a9d7c7933bc886856b0a4556243b418b1f7ca3d37e3ac730e869f1b9ba119ea6c1b7d1ee906ed1e7fc31be8276b18902cfe59333b891dd864367e268404875452162ef0246be23a46acdd17234569778c887430f17f16ed1a565e97cb7e1dc2f84b68a3821df2177d4c1967b631362fbb128cbb6706b6128960169c3db606fa1b6e31e5b21c7ec1d8ef29a0138c62f902bea7b64bef7971fcd036164d4416884a97e79f641d10d302533790405f248cb502080b666e75041a6164b0cafa293f4d6793e5c4a42cb4041233d7185898daed6aa0044f1ddcc9c3ff57cfada82142cb54cb06868ee9c13b305a92f6efc4af8b8e8a569c57b3ebccb8bdc19e76ab85adb59e7075afd878356269c63812443c84d13f70c22f1c98dfa05faf85904423bb476b325244de80f8cbc874a5311a106a5b977d2d7c1c053cb2c9220d8ee34fba15757175e7c3ef5a139df245a44d08ddb8fb4525f978073c034c9001bd6fbc11786cde\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 5693dd850f0170bac3e3530bffb8a9bb80b1717376b7736a9e13a343e3bb97211a4ddf47da7edfe019ae1f411bc29d5b70db962a8f36f85010c276b1141b14d42342485d81ebbc291238d1470687ae5f4d564c3f9e5d56eef63f6206c545a80cc59929d16b1916bf36de340552585db477cfe531c5621ced4ed2e450e9b995d8381294a0ae0188bbb7ae0e4501e590eaac173bed94ffc6c92cd7f95f759615b7f7152191aba74d62d10c22d7be5abc8490f659c337f612e21f26252c0da5455d5badf164b135164fc648053ab29fd73a5966af21f33c427ee121ceb563690254a33b764c6239021d83e25a0ae2d2f9b0b162907a548c28c34eead5b4226bac554789f95b7a7486c5160e345780c28912a7c5510bf661b00d7bf09d2a709b30e66fabc369a436cc1f24051e010d5e66115724d4e216cb2c2d5480a72ceeb694e7adafe963deb72e2d32f6a39b2bebd0bc9fcd9e32ec1d58d238b385fd967db3ee485ab5d6938f36e0cb475a61d2c93250e30172946157ffd67be345fb9d8a1930\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = d562cad64efe72291dffbc533a218789806229690495e470c0f1fa92ac7388d8c9cd28185c30d302c1c12dc0a8a275a3038e90a8e1b4c0dd2cbcb1122b25fefdf3a3b5bc95c51151c7ec4f2c6dd91a1fdb4f1c95394291ce477a9bc6c374010d073b6d2699a302e10eac34432bde58b2ea64ffa5a165bbe9361221314e46fe63cd668c33f91c995e0ce090525d86509a34b8edfe333c5fc2f15c0bb823d0ce5cf407b38663bc9dd20b9520f9912d8c792771220adc083478a08884423c6f13852e356adea36476f5b7a6da5e127788958fd42a746d854a8aa2834445fc7caf534fe6a07e45330eeeac8c042f1cc528d39a8ef016c5bb88d9bde9fd8502642ccb9d120756cc6eefb34fd379ed20d6f3fd391b54a31dc758a8780935d52881082f23f0b5c9460e83369b9fe030d30be208f8a4686b9f74dc6dda9f29957eb02bc8238ccc3444af8e160f6511633c96b683a5e4f94499a9a944374283e76891072b5cb6216594d87581c2b00c884b07785dd58b954f4f850417f8bfdf6fef77f99f\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 25b461d95013af14d316948ff8776927113814cb3acc23b7f241799838d9081481e7f27fe1c57a40cb6303f4bdabe3c732c350abec0330164da650eafcd62cc44fd545b8ed7b2247573e4b8c7fc0a0f07a4b4cd685fa64cc9c27dbf7bbf35be98de52249a80e9610f91c724e09e657e3b95d2ad71478f8dd379c73c193fe503245ac003c238045c6e799b3bfd805e55096f86ee9a46e27fc2353fb59439bb7a01bc58956f052543c6da133c5902a053ed5e0c5ec074f35757bddaecef424a7705437e217224b5265445e11110a8dee8cc8881ee03653e9f68ea9ec5dd77810b9eb9cd68ae153531426f208b9e669be6a5013438283f00a1f9e827522178b9730ab72b9ffff5af9bd5dfa87632794d17913467ff0aea511a8aba2774d638a6bf8bc5a5c6589dc9e72df8c6ce28762a2094746e708bccfb4ec975f3676e3729d452542996dfa9dc4263e743afebff649a0b12c214efae176fa22e5342c8f66b10d012f6852136a82ad8da72d2a174b510aa99184df188be760743704d42900d155\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 07de84b9faf2ae81955fb71df5e5e0b432f1ff72bab8b80a3305416d854e4bcc0c33db78d0ea4e51b63ff3c9ed9b7e428fa72a27f9124fe7f7810cf83b830c5993b8fdb85fd7738e8965d48807b087d58d322efa3cc1006abb273f32dc52d6e98ca411fac77617467297750d0413f0af18a39b7429045a0b6122c7cd601b4bb04611a38f6c82117389981f1270f81a4a6f81782ee8ade72559cc7008f86065d697ff5721f34cdca3f7ead956d25bc1387ede5b5e1bc84fc47a31dab45920817c6b86f15fadeab17c22123e6bd4162733ac5a97d58d2e2b9c1fac6cdf682436d719a7940210c546c74c7ed3d64d76d7af06d7eb1eb3d0a5b31dd2322fc8fa3147592ca4f35863c05c60431870c91cb537846dd9028e82f3e014dd8456603cbeba7e48ca89d75ddf053dad7c89fa6ee2d315d1e57841540004251372777e6feb350b6f8e04934b4e623d631a76b2ed78fe67d55ddee2750fc3fc56ddac7141640ccf2b4bbe4e23faf4c9de76b50980a1388afb4b342e6f94bcf6e37988ab523b71\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 4e3712c19853d5431f8211843b51a56f8f09e182c52c21c8ec8af0b4b01330d3d82618048240eb27b7595b99532676b45f338453cbeb5bf089a2fe6c5a9f2766696254546b2579efa6020324ef17516192b8897f6b5f8e9567bb05b449a0749e2aef992454aeec0a44a4a49b9b2ee6e231428166720c178226f29e48b0dee66c7089aeee7a60ac9001a3dc7873717a4c25e11c3b15a2e6", + "88a740d3463f3d4d22c66ae7b749a4a17beb8bdd15fb64a20538edeb2bb5eca7837f4bfeafd0858e910ae943b3073847f68c08186cbbaa1c35e33262077fca3be60e2a8bc051553eefd08d23eca5665837d0a604ecbdfbc16560079a0f7bd1f0659b7ac251a1fcbc18870164996a9601d9882685f359a0ceefd9b476a297ec4e482496da0fe41a081c43bf9e05b4657ee76cec9f50410e190a814cc5ad6125b2c1dae0d07c3aab98839f78a77a20ac238b106289082c695275d989e77eb45f0b63db84546f6c63ba2c0247f73a340bfc55fdefdf02e5de4cb9047a2fc41747a661eed538d980ceface\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1d0050b90e5eb30d6f772999383dbf06b89f5752b461b05dc62cf9daea0340a1f43424ffc567c54a9be58a688315618734f2098005552a07d6916221c0f24f539ea57454907d5648670e50a7907a5c7a7156d9576689a3b72e7c78c892a0eb2f4a241484bda80916899fc8ba6080431f47a78a17a0467722ce8b7e66c1502eeafa5963857a1791aa61c355d1d56f1f9c76b4e1c05b2a669fcc22a305baa6754245477aa6c02947cfa15930807884014d3a5d784ed291b5e3261d4e4079a7bf5f07ede12d6a9ea4e0f05909dbd46fdf7f504132963a7aba86f23b0691bd69161e81bebce5bd8b5d545bca66c430e6a05ee7f7d1d9c3b6498c534d1bea91b127d432d45976b29de017523547b936d163d8d8d75d4ad549a502ec441180ef6f06b41ab827a57530499fff99fa4a8c308ecd9bca6764a0846eea97e15cdd19a028fb3ccb1d33f407ed8bf04d8b73b7e004e17ac8e5fc44be897d46e1420b5c57566c114ddc25a05ae8e8525b92ae9b28b2e313658b4f941a6989b46db6ddd8c371f3\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 9a0d31e7f932b616c73ff612e42dd74c9d6f7566a40fae8e6677cf6d54fb6f2e579b28d0d2d8670a33b3fcb3ebc57d7ffc202b801aade2229540e9c45327ede92354bda2dab08190ef6985d824d03af59709f022ab33cd8559b48745f1dfa158e100a68e6acef782407fb0ef4b96b4bf2fd7e40695191845aa88738e66cffd7267d04536e4979508312fed2894db446220014c3cfa8db1fece66e484b56f105755e6d65706bca5b8b4e0b615d56986f1d0ed35b5357d17f54a32f4d5063ff61ea4c853f0fa99d77efbcfd21081589fe63441324a0fedcb6cb31c91f6579b2b8b8ccd288a0f0fb9f907b474686d41c4ed25bfd07acb864118825ce56814babdf6dc8ffaf5a5cd6a30941f7760d9276e00d91e9ac5ba4fd0b3900d54539be2879bc95c6c58e6b8443cd8d561919ac2431528bb8b5f67cde0d05f2e5b4e22aa902771596b5389b662ee847f077f9b8cc35f0c8192576af7aeec1d2c719bf7183f072bf3bab37897aecd785078a4bdb06d0bc2367df36ade0583449ab25e8d035ce2\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 3495cf0c5cbf064fdfa088be1d7e57982a798c17933513d404197aff77c0513cae184df56e0bbbfe6b8311a281d8e2cbb42157a156938381f4b0b1aebbe408d6b0365fc20e8f00c39020fe740332b14d69fb3ec734984e92bf406f1449603164adf2c3c77675b30d25cd5f403acc5f104aa754f755626f1e5bc9fc0c570ef3bb9e7dd2633ec9163f056cddf73debc548d52bec6214af9b4c6b5860d54c2a08b6f81af40f8fbba9902a65e388a121402ea276cd89e0076315d4e12e045497236473dbf6eff14ef21f7875daaab03a81b5070394c127bba13e9fc4480ad245cf4ca8bee343028db6a808a2876b7130bf1f0b4d1de1f1a7f841609db96b50a28ad4e263a76b78ac2fdf3996cc5b67b6fd71f16bbed1067c0f9e71f399990b9223bbd8628614a7fad5a45970c4ffe174120a538ace6969fe0cffc9508929606e4a30ea28d555124206063f2ba7856c6beb0367012176bc258a6688647b161ab2382f9b3c926d33dffc12ec15049c2df248a46f961ba92a94b9e36083d0c229c406ce\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 330ed439b3750e35bca2cbef5bc0470799c56b206256b543d026dc11a34d15d73c696e03340c8f0751b0dd204b53af0cebc32a1cf1f33b20b5755bc4f2b9f2c8bc91939f880e62a0d8f54fdba12e602ea37af779a2afb9258e19fdcd51d4e767733ff9827432adad2f0781a46991d3d1dd9a8e5a700860e7defb0fdd3b4097aa101f95814b848abc0cb5cbb260e61c42673e0e836eb31f97a0a50ae9aa1df72ef603f0e78c91459e690363042113335b2e1050eaee0b83ae5f6ceb50a4c88956d5b01451d56e72a7755c28768004b258d86c2d790ddbbd66cd0a7f5d017bb62b957fb0b6e6253a88eb94dd5d3cf90c92dc2563b728f46928b83b1a29ecd8100e7efe254c7e043f215933f7e9873fd0cea1221f03e31f43649cc2c1bb42d7f040bd5fb401a1f3381e5c4a4fc1f973b67460b5bd2c7c99d29dc14490922138b8a3b9a2a415f50206f50d254fdea8702cf2e4057ea77cea8f18c5da655416a1f7eea84667789f78faa98a871b0a6837babab974b60ed54cc7d287d538f140e7fd6a\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 6818ee1c57e9ef40da6b1aafb3d3cfc9376eff56c2913b8b2e0891dc7ffe4450fb25f2a8d1b379c13b6b8f45993219112adac050f43ac612e7957c9484a3bafef2e550d15a8dd88faf9525a2fbec8c702d0721a408b1261b3af2be9c817e0e1dfe8b6c58c569539d66f6346fe0813762caf0ea857895e1fe90d50e1e0bf1fcea7d2cae0d5bd2eae197b0eb6ea15eaac077dd81e10c07e71f948382db1c5dd6ee4d86b0144aa648c38eea0d8253eb988205a71af95e1afb33dd20fe8315c16ced59d6185acc43e8dddf968875c331c5ac31af14a9e55023ed03f503487229be4f772eef970f3f132d1fdf334737848994d939074c4ccd448e6d2b9065088003d76d9ef38e8c713a5d8a010c9ea6dbb0bc07d32a515ad1437029bad8eeaabbe92f1b173bc8c92af832e18fe0b60a006818ebf75622ffcea489cb3f165c905c18a52a04188bcf132db833d7416858d81bbaeb8a62f80c1b328133647b36db5e4b37ef16713a16223fb24e8ae93c9d687c62c77f4ecca256e30b3ff88cd8ca3c0c68\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 947f2927355398312e17781d59a713a6ecdccd4ee315049c041b788ca52c691a7037bb489f71ecac2776dd1171853483eb453d4b93f136d51318cf32469b3d56d04bbe6dfee2721abdda3f40551beacb3f2348dbf0a8056bc4bef013a4e9819e20e2b045c3bf77f79c116993c8064c46cef8895f874438c30e555a59258d1a01596fdaabb22fed93c51c2a4881c08bd09c3219e5fa2979a32775c00f61af935c839f7f0f54a74677b194749ea1831c44e61113474396e398e4d821d65e41b3cd55cbab2b703435073a3b0c2705622cf802f67f346babfde288ebd26bd909813d8bf51fa2b07946ac0e523c802173fe6a42f41568281944f4dee91077a12e41d37e53a4704d367c2b5b013c90f73b7f24d703cfb006c8d0b399f498ef2b62f08834835108dacf637959c5506a26bc3ef5e30e1100b093707fd3b5190b597d0a6f270b21eea9aeed5b1e77acbdc01c8875724744b37554791631cb60a96ed9d7b985c2d6a2c09a33a17475e2ba47b3f56f9a33072a0fa920eb88ca0d9bd195bdde\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = d054b2a5ae9bb9ded9a28528b59530dbd6ac220d761652fa44ace78743c5432a517024900c9b24574e096b6d1b295ee5251d2923a928e7852820c455c43b76e1d522ca82f98852d7cbdcfe0f85ff1f3de2cf383ed6172574b12af7fb03c58023644100effe836bfbf8e7362378541f0569606d1842fabfa288dae9ef271079023eaaafb6e6b4957e0ef96bb18b968d73de32707296e805691532925e18a709d036bd798a6ea0ee61c18aab41322a7063dc372bb1f0b9991d2314c94e370a8966a2187a8940d81b6db830931c101ecc47d13c0b9f91b3a07ad0268d0f3693684df91a8720463fd1442f01e5eaf6741d2c2391a8b4d55150728825dd9e922d89823051948c99921b7280675641e9a94c3a9d3de31332545cb6e88fe54d38a111a1f125241333ffc58bbbc4e759b3986d73a3a8f7f4fd81c1c634b65854d12dca87f1d40fa5624079426a53be23a1649252ef027605f3e82333861de641319b8418b963d2d043ff789406c3e34cdecccf111343632c1bad9deb525783676c36119e\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 28cad6c07a93289cdc0ffce1c1beb709c6d344883e0e175feee78cd6c9a9700cc89d51cbb214e7b8e6e84a3039ad2eb2be4aac0c968b9081af46ca68fa1155554b923eae4f4129cafe12c44891656b5433d4e048fcc1468710bd9a3447e917a35d6333d4b5c7118996f61e0730af44fe2c663e980b301d8c7c33279da81adbdf33c8e90b04011665c6263fecdc45716015e11b5d9ce3077d894f4168159f37f2ab3296e66f2669f766029f8772835d7b887aef0d597a537f1db4e84e1ee45bd8293b4bb6f302904021522cb9eec833fcec2ba008fad69a6372470cb67207f29bbddb4a22470d91cd58c09e37d54a0751613ae8e0f29007a409d31c4e61dd6ab8d181d14474b56eef68995f2ab50622c998fd49656c9f6507f583927209253886f60de38c294f1fb95cd0f5fe3bb8d9f1462730c599093aa9418429c3ed45d595fc43198094ce216acc729abc9d7d5c2a95014d8b02fd50a7bdf69a3c3bfbbdbf3e29de2217825fda34799f231fd7d3ff80d1fbf82f82ccc189598590a051c23a\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = d266da27670c18b97ccd0fe8beb45f2f83a0969258449fabbedc12d7bfe078ba741daca1c3fe504631b221eb1c899aa6c3a89d3a3904f48ebeeddbdca91b1bb9400eb1bb4d9f4ec903000ce239bb0a807de2c3b916336dc196ec87832774b701115796c4ffc66a6e344c9dd1ba9cd8517e93694f4d4502b20c72cb87426f250373113ab5b4f73c0b93de792ad714225eb70b9b44ee154719d89ad6c5c2c78917d3dcceddcdeea90bdaf0b35f2d77bd08f099a245cb39af8cf70d9dac0efeea156aaf83b5316b5f05c6fd9a3b6de3e82c9d02fdc5df5e25888c200219dc324c856d7a0b5687e3463a13accfb1b13b25f3b35ec84e551b2fd3738a1924dfb931b4d264e9515c508782c6ca04e2f66c30ec54873d39c0501459f0749aafc652531aca65d1fbf9b4d3f1272d8e87ed5dc680456d8e7771790a64b628ab05addd1078e99c0e197f9bd648db9caeca4e7160563496a18606e57bf5cd1c21bbfbca5a138852fc471eb09cd5a9e900409dcb2e0b733c54903a70d04e58cd64ee441d9ada\n\n# tcId = 209\n# modify first ", + "byte of digest\nmsg = 313233343030\nresult = invalid\nsig = bb94c13e6a00776c615fc879f33bde87218a3ba010138d8e239d6480db2431a67499a86d86558e3c16c8292ac5e5324981684894c8c7408f741de4bb4580ba6250f81ca6d0e8927f01de76b48f5e176634e0627342ec7d941fc25926d4b3efa0d94d9e53379c0f07f0d7a68f3fb26ec2073d257a6fed96393707e09e4f7eb247d106720e91911637bf43866d7ac90128159bd2381a5799a03b5658f2ec5956214383f3bf7b11837621dc4dd2a38fa4bf979bdbed9752ab6fb5c5af684304220faa3a5329bd106275900633488f25fcdb7bfb13db8435a53050f00866705c1a6c51507304a7c09c166e15bab7e808032da23405e8d2d25f64066c07a5acec27554782d2fee6d71a52f588268dc6fc928bffce6fc5eff2f53fb9d923f0e036df832c2e834b738646f1726c4016df56cef624d017a8755a9d9c8a885f53774af71ee69b34b7ab5eba4270a19f979909cf8331d64b32f759504ef35e6e1e839c66b000dfe24893a7a55a3d422c2be8c51417c266288fdd5cc98f8af150e579b42e96\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 4f66ac4021d9aa29b43caf068b45c62300884232650b1809cc5c1eb9feb5834c9177d5281d53af9b9a868471936fe7911d5a1455fe101a394182c1c21d5aa7cf203eecbd02507797c8f9d1a7d69c53f639f61ef112ad99e87e65d02a15dc48e90acba7b09be2366eafb45a1d2dd4b2caab7fe07b0e3ba94e160a58df743c15d286bf8966447d4305c1b2d27d23203e1eae1a7e2ed7da7b7962c4f6e95e9bdb30e02dc1206039e84aaf495ab6c04628a661f06e7592c4a9f5ad9019e2c4f090fe05282f00b43ca98a8ab1a0b38db98a7ec36c1d1afc61a9839796fcfbcb0560aca2d11a8bfa7dcc46e76b69678184b8ded0d49efc601ec69266164f8e5ad7f7ed416a92c6bf62fff7fea732add959723247c2b688f60a7aa1cea5ebf913caee52cc70f7a850fe1c8b006e4e244cf2d4f948f040e28e90a57a80f2e4fedf6650d59683af70678f52e79b9c60a93536814fc6d669be8092703bee6f2d842518fb7a031d6562c740ec018918aac1ba9192b4b552a3cc620251bdd62670a834627bdd\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = ed93465874a3d62afda94f71718914dff11e99e0793d9a4ba45440f475eff498951cdf6f435f163d78f610a0dd06393e99dd2e7f5139db0c4ddc43a932ecd1b498fd8bf5443c7d62e53230869e631e5ff8a85e379b34c152d662afde843f205b99d15c2258ddf6fe286ae58005d21d4c24d016e2e084d78e684b7344302409e050dd759a5f5168a587a8189c2781f7ce784780c0a6a0ac4978a4a7f95b457b4cf2757246d73e14a957ed061edb0d0c8f345cce741dd7a1c79af84a81fcac9c4badf490ca28c8b8a4b90d2214299f8a6a092012346f8fd0d679439a0dea2e196cdbe8a9a9434982a5fa20af9cc19df2deecbb86dd4772297db08e407d78bd6d0d95aeb4c987a21007ef00276eff17ff24db4f51f5dda13a75cb7b09375e99b6965ca73f423dcc1d5e9aeaf20fd09cdfca37082b92a9a582781da5eed90eaae7b0a6c7684abd0f0417c3c1e8225dfbbb432176304754d82c96dee504fd36d4c1ec0c750d4276180a52c2fc93580192084f270925ba138c52b52a95ab16be998cbd\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = eeab3ec4df4e69668f23a6de6d071be7ff5e01613dbfeccefc722997ded7114f680f0fea889a070ea1e1fccd513b1b23059d0eb99d41f4cb08f2b8a1af16584b34f29341722355eae5a8a223c391cb392193e9367b81cdb46b8d897916f5f054a7a02aae0af18fb553050c88ad94ad406e574a52dbb167997dba36d2e8707ae43df0ae089d663c93daca1c354ba9fad356ad788068c7a82a7fe82445f732908e2dfce7d16eea2212945a918d6eae80b8ae93f9fbc4babdddd4b09a040cc355200149ae4d82ae968db6d7693192adba439f33be49143266bbe157baf4291eb8f75328ef0c76fd5cafb554aa843fba336d4f9862f2a2223035fb9e37a43c7cbae811980bed620768d5690a9fb087d050b0f8a09867caaf23ddbeff490497f7d26cca6d69d0beaacbec5a7e4af606a1eef4c4316ac4084b9b51663b438f97e507b54b86e5579409e13de979d749f365e50dbff67b0ee7994ed38e96ac897135c6a249855dbfc10b4628025b7177c3cb0107b1eb66cef39bca2ae00afaae2bb236c1\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 2c5c3cc5f8cec4eac19265eb456fed4be0c582d3324407bdc6aab5002534fa32dccf93ef7f1ac30bdc5f5c2c4964a0483bdff24ea5694224edf98f808c847ceffba864c3cd8b2260626129bfc59ee0117b53bfab63f437c96af170c0caaa68d8d8ed84261cd472b1edf699483fe7b794d07eee92b637dc1c49aa7c1a6aa2dce34abffccb37db3647d3ab877fa11475d0ac2647b4d4e439185a11619cd956f9dbf9f73a33faa321f2f5c501114528817e932ee71be313b4507741ae81ce6b1ab3610f2a65ead30268cc1c5ce3189a37e8218459d717dab5c09f991fff3e07ee309b1bb607144dd0d477cd18b7147b065f9e09b8ecf282dcfa2745154a75cde6097329a9782968b118bb23f3d2b36aa3a023da114dc648fd740250e76cb952d7edc0ddcfe96573ce196cbb9ee3b309b88de6213d1b220a24a95d753cece91e12b211832968fa450cf8f752fd983e64baf9d0707dd708670d614105a574523d49e492d77647717d653c4ce6f997560c3c35e63342a903385d17a1e2174ac8ff4db4\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = d789585d72ef27eab443d409250ff15e4e188ed3bf497198167fee8c3476bfa2b7f3ed644fee7aeed40bf02df57ec28596fb0a5df4db780fdf78ec97e709c43ab7b805c381d32948f8e43ea2663a8e2fa6f817b99ae897a483bc37d4315f95e8fdd0735d742b9da61ffd7d468855f2aabb2c5d5d5f96c9f5458a4ec612b911a41618160e0a9bf0ac98f723e73a947e8826b1e05b7a293188f3ccec45aa8e8a225f386275287dfd5d6896a716532f876797749d3ac3a60b6dd016fc6fe11007419b605777d3e4d88a1d413bfdfd9698cc67e717e110c386e0c0fef2939648eaa0b0f83e1121a70c0c93dfdc3a92c6fa60f98355e8da8f368302defc9d5f3813de9de57dd493559460383413ac1adf3eccf8ba749e492c7d98da5356565a1eafccbfab2534e405ffb4c89a9548a162445d1027ed93ea6dcfbe4825af3b629dd8f0454cf54f54944986518be2f9bf6c68314c2e98bc10afede065d7c767f1c4ee11ec7121182722afd0f0e3ab65190fd35b227d86daf3f8f740d6164ea5310895a7\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 068b2f62d5a72b3d9c1cb75c55699e539c9a9f97c5eb4137aaa30da1c9c2e6438aafca227f6bb87c02194646aafbebfda1f43f361c0fb0ec53ef07f86c9ed3db7ed39fcf08fd3fd0212ec51eddf3059104516ddd1cb0bd9ea329c793772aaf7003e3b0387c03a79eea56695f415c3aa0029238d0baaf619ce5aee8fa73aac1e79949048c330e7b33f55fa4e8822d926394c958045ab6a97859eee5f39f614711a11d5057b5a467802651bff2645d897fb8b95207a968babec7b7604bbfeeafed44e3000dfd4241ebdd87e29103af5184399c65620c9075a91fd2ae5a40c614e4f07cf2c94bb868f0b99ff284a4f4bc1f14834d26ed45349c959c30e8cedbcead87fa7adfb898f998118332a06404ac36d7a897595b64adccf9169865b0d412c204c5f776bfce6959230e29574111e50189dbf0f967856643f135a2c51c8e90f467cd55fac3e8bfe4314d23f46e8f28f399e626f9d576997b21b4be2d9b7e50fc150661a25032d9f150c97a9b4031dd646e411d09054765068e73c1da7fa9f9af\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 1b9c7a5fdba8b0c84a6f98b1c419c6088a478346c75049822877b2402a5d28a0bd6759a1a579e6adb33a59c1bdbe1f829f2d3a4cce9f54ac7c1932a6d7e8c750e538e70a1a2e0af1481096687235d7b598c3ee9fdb3a6ea46b50fae66dfae54a1bb475ec742598dbce5febfce6de99f00176ac8cfde273a0eea6ebf0479f2dc676087873cd204bbf9cc49872571c4965b8d57c511328cd72811f89a6b216a28b9906c12b1dc38282b3cc7f2cbc52803123cb8cc0ac1a58397a7ce85656a17dc19e432fb124b607ac13879a4477dbc099d3826c3d92aa6af39f80fc4934816dde6b50a932cbf902f2f11125c8ec68b56aff6ac545601472380b1f3a19238ca8ee8e8f9e2ca3d3913c4a7f0d6e959590a739028a240d30813260e63e25132e572e7705acb241716aadbd0b9a051df5c5a7ac9a98304d13bdd518a84ddf589ae2d7f122aab5c1db9a7bcdd4688faf3209e80cd9aec91971121f1e5c799d55915b88dee9deb835ae74ad898293988e54662c29559535adea863ef606ceb559d9e236\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = a7ace057a106782b546816f8dcc81cf41216c18e587d8a5753ffa780fc51007196f37a816beac993023b41d192ac88cd30e2e9719309aedc367defd2893d767dae6c6148dbbe6fd4ce3636bed48b746982795dd206d11e603f77fb46fd56ac9e51a88f26c9c9512d3cf851afbfecb061bb6ffe7510bc4a8f4c17b8a6135f9b80557149834d18f4bb23822c1384a48a62ef3e3b723fdbd250d25d25177355ed361d54f372a78798cc111d6374d40062c5d4c5e43e8df75af841cab36bb15c5d4031afef9ae76670059a760e7aa610df8517deedcc6d616366473b8193fea07b3226bb67c3989778a868997371cc4f1242c77e85c2fab1c342ac49131937f16f4f0cb4342874374232ea1aabc7e3681aca47bdf358845f668a8844a7732a48075caaad959354592f5f3ec413cdddf337c64d0263b4096762a7eeb495bc7bf9868c9be5334697f7118c8c1274cdf300937955e36babc895745d02c22f1874159a33abe0cff3da62b76b3921b24573514dff80505c10c530a78b379da653dbc2947b\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 7beb0b9c393a8514932ce399ecbcc86d4725fc7c64840d24a45564548eb5c01774f89a75d3365e653fe39be83484b5243d3fd894191ff011f7a16195c1c6b4c9f474bb7abb45981077f49f696b5faae60e45755cc58e4f006a5fe1b02fbdba5e37f0d7a9d930bc2e68cca8f345713a9d0604ac8dd4c53e435631993f3b1aa9a2986dbd0aa9bda6e0789652387fb60aac6183b815743efdc4180917a30fe6f4fbc97cfd2c181855f4571408707fe61c5ead6bf36ebd4d13f4acae41b77160a4fa2ab8895ea7a36e6c8e48a4ab47be8addf9d1f1b9317b94889087a7c459fa89aa7bce959417674765b58554233e561bb03e7265afc15", + "d7078fb18053445e865f5ba637d282406f7634e2d1ecb022b98569203b56c55c2d493b1414684984db401464559b339e37c6c6a147d3d5c05b56fb0eeeddd917a121ee1338ccd33f80fd0cac3cd7d9ff92ab080ed5f9bf350b39580fae2ef3046d03e67fb7cf0ae32872ed0515d27899409b34f842c8eac6a8c7f840fca270725b354500d1b1a904d06c5\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 1a2ab1f73bcefdc551b574a99ef47e7d21aa4ed547f8428d219e6e3eb94a366d0979a43aa3b8579b600ae6d98fe5a61adcc06c04534a1e1409f46247e87111fe508fa38efb61e72d8b46bcd75aee82e601e025cc6a7fa90d807b9b1457d9f1b7253f3aef066bc2833140d215438f9eb288ea9bc4d18c3cddb2dc593732f08e34ba91174131a1d71e29468c46bd2a16020e1d8119394e77291427a22f2e8254b402073cb05c00776f849cce648bb0c38dd11f23efab69d5e68a689cde892fdda408146234021503b6aff7abda2539068b366f61f3115767104df1d423cbfa4fae159abfe1d2bbb10a4efc2aff19893bfab58b42c9dfb7faf3ee962b298bd600d2af0f7b87f354f4b2092ef45e18625942f1ff7aca0033789bafbf98b49c9f845e3d9cafc0e89c5fdfbfebcbc4714136308e80f575b96877c28bb4b3cdca7d6212f6b52217bc16203c7fc37f2ed48c61d5d5b2a957770abb1457792004d177dca34115bff7dc10789e44c8d491496f310c313b1265d57463a02b7acb6690569d86\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = bb7481d11b26b392b392fb12e7b2035f6053511e9c00bf926a556f04597a663c953c9315138ddf3ffdae4f97f3f296718348d6bc80b389b1a2a8672cb2e410f1a18d2a376c527f8361fb85e7d9fd3371c9ac5cb26c96679e28104dbb33d423df039706d4a058751a52bb138176e0d72d765ab99398aeb0e22707e97a61ac65fedf8e6fbd401a9122c73f4e15b2d9754661515a3a9033b4e9d8da4e9cdfc6f747bdf2d44b06c296db646b5f668d60f622c65b23f2713f4ebe47c154d74d5a1d5bbfef08606a8ebe3e8a4e3fd26fdcf1ea9969382363122148744364c7e0e1f98b3d5c3d09fac98f3b065d67efba87d709f4a4fa54a9b07974e5e8194926f219a9f9fb548a6afb363032255d06c84e43a8983a20227ce298ef9b3f677569291096444f19d01b629b90dc09dd80a550db66aca16552a521df07ffdb0cbb4ac14f5b2b990e84129cd15bf79e210560b3e9d9a57f11a8ba8752441b3cc98d65628fdf329a0e51a77c9c15f29e2c5cb3c76c9a00c36900eb97f1ac3f65bd0fc051c177\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = d4328711d786df1aa78d2bd8f93921d208862d596d92273d861ae5296c0909a6a3bef5a5a49728896a9430e6d8ef9903fecc910c66cf0a9366fb1be322b7760ea0b02768a339d177a392de3efc44216c0a80b68212dfa2d43f95d2b3e4730c770979d67db173ff0f29e00b1abcdfa78afe2f20673f84d75c4b4ebbc0c4499d69c7fb5253bea5c06ba37d6fcbc384e69dda6ad7ae18a220b3f7dd548ff2ae547502567a6cd34456576fdcdd813b491d7f77117288d10ab91de9bc8342407b53d70dd83f4b94b00eee3ef7cd13e9147870382efee58563007b96dd910a7a83cb1246ea39a492e596190511dd313aebcb3ff5f8dd9bd0d9e29b01f75dd9a6a0c62f008f1b24769c0cfb9f56d05f2a102976985e7bf84f75ab3611ca40068ad9c4b1a3db684cd816bc605b22192ed3e0beb5ea42d4242e0ae939e6fdc3acf35755249af5bc8d44b34836463627220d388ba9a356525f77bb636106d961d5ddc069e2301e454f486d478e06becb8574860dc24b617f5709c6f3d981817703a13fcc46\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 2b938542a768f5d8733e373f6b21cdde86bec1a6693d4cb150527491a3707588026527c8bd3b5ce9495068eff3b828844d80b65aa86e0376a487776f648e8bebf487bb02f8b2a6a9703223975f540e7447f14fcbc9dea14463fe42a998934fa8d4516afd7144f199b9b8cc3026217b981649ef89b19c508c6f6880585749787274a7d91e3cee34d69eb52930dd52ecb034ba6f3d482b36446fcbde1e96d45fe36ac1f17c43a2a7b7028113f063ff4cd61b82cb61f4cca8a407848333ffcef570e6e4c39ae0731445e8430f474a1bf48ef138f5188d0e16334139bc40fae60a3cb8cab659cfa992f913bf91541823e38db370d30fcccb260f1dba1e859d7097c4456beb16d5c7674b3dea4a892710b1afb98d43482376fc323abbde6e421d43bc9be112969c5924fc831c43870c2f5e2459fcaaae3038f75028e998251877284506c1a1a231b322572a93fc42c3d8fe23bf03c1ff060100bccc616d92865db402f03f5d7632857156b71322492bd5c9676d8444267d28eddf9023ae84a96eecb4\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 4069c3930a7eddeca877e379c2fd9216142086e8934a0dbba227707397cbb967607640834803f7da65e7722316e465dc43234ad802ff957b7d15b4dd196e7f5db9ab0b6a977cee1b70980e3d6731ba6250b5b44693d28105759a47050504f073bee6e50fccd4fca13d53424dd43c83770cb06a40df71c650450bbd44730c6af16fdf00fbb12b482730b4743e7a2babce66f2494d63ee89ba419d3d46000b58c70f7907ba16796db39c5802d70c85ad82706dc63e927d6acbfc7436df4135b8f9d4953d330321015c232e63c5c68554081b2b1adfdf70e5e7321f537a3f0659d8701739c86bd16c17ee4843da23109e716cb2437bf6a45dfde5fc1b76967625c725233aef7af252c81687113c754c7a533e8c6ccde6abe8044d9f3a15e9c0059dcd3ebf892638d27ee9e9246dee80b9674f2b1a5395ed0ec22df3e6497207f858282684f8def8c97a13631ec21d622d9ef6d4882d49659aa2d2bdf37708d380739a43c797616021cd47eeab66e5ec7532655e43cebc83e5c045fefd322c08c995\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 939e8efca0177e51ea7c3134efebd3d229f6eb6426ac33530c9db86024c166f50e13706ec423e8196c8fe21157b252c15ff692ed4cc6ca8cb0501c443c63bc0e9dd167f8db8b05e06f7655934a4b446b4435b6d1e00cb50028d83961d7f153c4942a87310ed2dea6fe626b8755a5f14fc5f6383ef3455819984d9dc4e6351db56a1a2f17da21ba3515f75032b62d5553b06a00d00de77920a94beeb1a48400865b7f97e7d9a9c518a2d8112b356291f1e60234cad3515f7fec3a3209b8b76c9fb59d0083844c2475c973fd223027d1c10562d129dd2afb904823bcbeb85bc45b62a42a8ad91ed3f0e62d722ce2dcadf1898588ba468510327ac59ee7333a6a137a0f3a061b5c5cafe2b5f57f1575184fd19491d95b8829f9845fc32fcc18cf2f1297de0b1d8426bbd313618edd5ae94fb982468847403e46061d38caf242285a9ad2ba55287748e14b67fc333e485b6ae29fe7dba582f56e208cbf5ac281fc853c57cd68e4e45d38a42bbeab4211e87168efdf337f8b44f14fa69e1a7f1e46a6\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 08317cd804400c88a2cf3055bdb9add4ff6c5844cf5d521e05a59dd32d30397688a1abe7212b385ba4eb82cbf091dde7bdcf16e706675b6687f2765447f2647cb9b626abb96173baaf4f9c24a0ae0a25f2d337312cb58cb7a3487489c91d12390213fb6cc32459369b410e8f87c7013bec907fa0980a31afc213842501498068d3207b48405e13c9cc2e24587aa5621b4c76898ec8219d05043aa2c347805fa2141ced11126850d62b6cf63f05c568cffa1d58c25ebf9771fe0fcac49d1c9b7c6f04d1730f8ccb25722741a64f13f7627d2ed7c89187bb704a6b461e315f36342ad6d7cb270940286af3be4083a5f1d5c1441528b21d0b02af7791a6ca5b72f962d3b7a6f8892dafb35f91425fd7b921179a1280c056f3cf283c8294bf29da404f80e62a9c0a76a0359d8dc6c01159e369ef2d2a29dbb655dfede14f6e3b4fc0d4dc9dbd52501bc6b3fe747bcf8753379791204e4138bae4daf1d6db65e0f9dfd053d90237e12a044e331a6b6bb451ed26405c8534760d00e7d46a0c47b09537\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 6e35d7e838f318735a6050fb3faea4beede2e0c3e5bd007b096f4d2bf855af1c29909ee6859e3012f3509372f8975be33ba4cf4111f25e7cf91ab9cd23df7bb27e7246f6d03449dae81f93e141044b95365777e1127ef2df2f33c0a43cf1cb28a9b3e877ecc0979983bab8d2da8be009706b5636ec753828aa51c01f48b57c9e2bdd7f23330c47a27d556638ca0d8f92b8d1d5273e7d936500ba5ac79470a669da9ae334256d34dac2d3b241baa61d8127735bd42f43bbc928ef9881996d72012f940e7b8c81ff6d37b5b0f6c3b116d53d816273f33112008ae256352401dcacc12d27f5c912456b5a72334437ee0d4a04ef5c6e77c29d190563c1c500a558b2dee8a432c9aebc53a1f07ffb597d25c832f4df2a4415fb4c142dcd2d8b03020340976f33d58cd8f27b757e6936200f297027a67beef36b50ea79a88c39b0eb5cdb3de55fd8650dd3f480104f418bf7a8e6ed2304db3168beb1d060a00069180f4d820894566bc9237b12b0d87dc5266c07928de63258e3ab532b700cd7cde84b\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = fae12363cc51e2", + "66de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5244\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5246\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 78caf448aa52e0fe470ef9082842a2f99079164744e63b4d3637e5ff0760088ff4f3f0e047475bfd023ad8b50f0f3d83d0fafbbb5db1e5edabbbd72253e2b696cb35705567079eadfb5ee3b442a7d13ffd92976c7bbc64e91d924c87e409e8dbe460e0808a5f31737c4a379b27b42c01e2b85fb703cb326e4b7a76d9446a17c406ecb2bffb48a501bc9e98646e94394edf7ac02a4c141c76bdef99cf52d4680e0c23296684ee7d0e935fbdfdac76299afb3f7a221fe45a07be79396631b8db97e358a0f4c4b29163d19f76c771d9fc7ebb68547e40f95f10f93ed199da7cc776f23c29b44a749bf6bcc8d4e3d50ac3aa6a9d13064caf8d81a526055faa2926324f46eb1ea5d1aca239f2d41523292bfeba89db64bb20e3681820f03b5b0f7c4ae5ebf7657c626debe58a8615b95a873c7bf306ad6e9ad18b6337f0f24d89384556eaf59c1eaab679c7299fcd80edb656cb3bbcee67e43e230f30f704f4a3e25aff07bb636865ab9fdfd830df834609d07719cff33ea0528497947ccf398b4a09\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = f2e40f94959e63e5cf5722139fc63dbac2712e0485718b153041e8c24af9ff96025b7da26810c78c4601fe6d3576ea33f3c041c911e8c7384ac86f062b0c77ddd03cf5cf91b35448326e04d65ab01102dff37c5a2158c5390febb0338c1c4ccdbd2510243f2f4ed3b762cc6f1430b7e0edf7da7b582bd963daf4d11416756309fba9ebca7eed8def4c538e081c966b11d1f2a3a7c52a9b134e92622397549e53a882f4e641071683633217cf7b0bbd4305559c40a3c5f3785c555705e6b67acbf7887d919c69b165b56e301367825e8394a54520a99c7742356ffb2fec914f968cf9c80af3beb72263f843aaeb5b32f476915ca6369984246ea453fa0d57c3dfffc76f8a072404b9aa5de9f8a5a60389f539d3de4c9e095f7fa97c1ba4253b7a3f0e61715774df20a73dd5acf30abccc2a05b3e418caf1b96baab1234a187c5c80ddd0ca0e35ae4f5afb7f9c56c7bbef028c79158d0d57c1dde1fd4c8e0252c372f684aa438a33669f4e18d087ac0fb36c780404ad22153d6de4f46f9081cecb\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 7acc8cc66f2c221df076ca4fa898f98c46bb0809a612920c0a7b9e2beee738e4403ffd34b35911ff20a9a23def8d0067b34177d1ebf02486dc699133e4fdd0a58b7bb29a971cda32617b4b234a10ffeb5e154adbcd83c478a00b9fa657b264dcc998d01abac58829c208120aa5f78beb0594ec507b9f7ac5657ca6596662b018cbb582277af76b9630b30e6fcffffb32ada6d256bba86077802db41f2424421b18bb906c18fc081ec6066dcbfc5805a729994d839601741e7ccb7a5b6564be1033824fdd5172aa4621c6cce3af870ab7ea9d538f5ec3f7f2adf54d1f56468be03689c", + "715cfcbd8457f3b477490a55733d582ac7df3f087461112bd91c859d327f0cbbda4ba399fc7fcba66fc99f58e01fc6fdc7e77f6b10b7a624155b24fe2e1d9679400217ec9092ff6a037b1de3aabf66d3c997e46eb062fe64ab88433bcc3b471df2fe600e48b3056bdcd61be1ec01385402b33ae9ac55d8108b4b9ee1b15eae4f9f6471079d34daa33c24fabc5dafd18b86ce365003dad36c043bb56d5a7\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = dcd190da293f545fb08432ae90fd77e4974e5817ba8e7e858d95df30f90296bcd3e4ba1ba7a8e5b2fda5613b22cbf03681753eddb9dc975971ebf211c46196630501c5ef582a0cdbb58b8091ef5c4af1df4df49942d1077dfba75c73f4920231507b1b55ec73d1f1cb87accb52e46a0842199234f66b6489f050bd5b0a4da862801446242697802f23a221f352908e4a1d400f7f066f4560c8201c8854bc0ddaee5b45a1f1165dc8053e2527623c9321a412dab7c9e2f35db2b7f3a8f59f7bd4818e03598625be2033ddc81835308005f64d240d7253c1eea264426e49d4170acfbbd95abc48174d6c13959e3d8fea723eaf0623e4785ef6cf7621a4c65865605f1cab622a1a1add8d7f11266a7084f24c9fa1073b5607b90df4b786a9279eae72e300d1eeeb72700de66765d81f997d3635cc031eb8a962355efdc3937fd7fe3349994c5ed289d3656d50dd3844b24c3787785bd06527bc0d958850aa86c2a3a16eb41bb7de9ac214fe351f9424e3aaab67f5fd680622e690bb25ba967b311d\n\n[e = 03]\n[keyAsn = 3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keysize = 3072]\n[n = 008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01]\n[sha = SHA-512]\n\n# tcId = 240\n# short signature\nmsg = 36313237\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen156 = 267661; + +static const char *kData156[] = { + "# Imported from Wycheproof's rsa_signature_4096_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keysize = 4096]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[sha = SHA-384]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = a454390b04bfdd69c4be2ad1bad96ec901639f0bb60df268415b4a93b4cd53510fe64f394b319e66ca8605d7d5f7a05dae5eff827060013503d857a977c09ef742525e43b7e69d3802a58206e696848a87ee17b2b9de6829044349036554c659c8f8866c401fe85869c0a5ea90739c4983a1561a84e4f0bceb00015a671f5283f41f0bb8599774829b6a2de24f14d83351c96e35ae1475c8b4bcd2cf66889237a206d147b0e949f2b2028ead379c74203017904ac09a5561a8ec343be22cf46c3bc2a87b12cf9cf6e8fb22de884bdd9677626b757a005d3745f387d296347d3852ddc2c4258cf572dc40df3ff6a8a5f9d8b1b410c54739b9ae182611ec01805c80b445d058ce2afc4bd58d87c03fc9500fba237bcbedb0960a1a02efef52b97cddac63b5eb0481c0c0991375735338ac84c0505415ad2bf8e7a819ad269460668ba8f8c879f521ec9dc709e406de023fc0f9129a3a94eb1f3af08d33eed6273e5166f31110097f5558d8d9028ff558e627c9c0db2454b134a82a9dacca5b4032bc0e27c4d41cf55e9d89cf51528bb4f08c6ee5ce651af3772f008a44863c851933a57cac8e29a84756c9fa7f80435b3b78486f9908512902d5461964918239c76b6790b780e09d2f1d3db1c59b275d20bb24fa4f518b25af3254b61d34ed8b444d3ca736ceffdddaf767bdc92b4543f68b25421cb8c1328f2f253e446be46d10\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 909c1f13b544933ccf3bc73ff5053a8a65a8f01b447d4b40f109cbde29d866368aaebf46c19051092063993862b32fd166006bdd4d988794d4e9a77821fc9e684fab1366a2d988eaca60e4fa8ea947dbc4b8438a9fc036691107d3d0be52c46c61342ef8fb7e08032921c1b455c55de28d58c77c1eaea03f13c26c4cea73d14acfa8ac2907f6a775273e7686ecf4b882b88a42cba11cd1efa5b985cf5a227654e54cdc9e2d283b80d250cce553fda636279336ba13f7f3659d70b5b2995a2ac7b60f329c62790d8eed1c3dacccd0df468a91e767c190be41a028d4efc1c5ed5e6f3a77930f50217fde9ce9ccb66b75731957959834839fa3bdc1a769fabebab03d3f0e605a12aa9fccb2a9421591a7427d82068623582de592935904b59a42e59b50419cd12d71da871862149a6500ec6870d989423346879551e506fada7c0c01b328244ac5f2e2c5bcbf4b5b09a4512a0edc90fee4d4dd9eb88582bfe37b49b8d8189051b32cccbc4d300284f9e523674a601b1a725722695d5ef438b770b575b6d0955edc761250bcc6a30e8d5c7287093236f223c2da8d9ab7d6b58e5d0e9167f2e8c58255ed16b63789ea16046bd0f987b156e9898076d444cc7a4aadc76699a2e3a442d63ca4c3f92da9f3b2c4ae13edf9d4e28ad206ed0cbd2df2a46920e298abd1904877b75c1a9ff80c5bf05bc5d1ab94d379d064fad894918ce326\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 65956121a818b842d861d0dbcbdef22aa05c7e94ce5d748308663e142881feadb85dc4421d9d01833b8b4c2713842c77949cee8b853286107c655de7778a5acca11afbf1d9dad429eb6a281c1e8ae1cfd37cdf530fd4f2b765c352bcea26ce44e2165c36553318d89b1e06ffd8a210cb988cbfc916a9401fbdaa56a1a2a4cb66ef00a3176182d33dec5f3625b760c37c82cf618cd2875079a36015af21d060dffeb5c9e1f4255d7fea64386d8d860c6868cd79ef6d7a87927753a78bdb63c4845306de1d73c5d7dccbb6cca9b65aef19a7b9e53d9c02a4a2bd6910e076959f9f40c30eaa0a6ef783c0b73f05566e4492e16b832729e03fc939e54bf0336d376a3b4cda534bee446dad3fe51d20bb8a135103e7e12220484bbe02e99c5803282ab90d11063e5243297f80d3f24ab08fe8f2fb62702b0543f0203972d35287ba64facbc635cb438a888c83c7028a325555f07521c3095bc4e38bd0f60eb90828319777fea2276e0bc76f2c13ebf92f802a08844209ccddd2aac1f2700e8a5107e86426e6ab76288fa01de18b8a63551fbe8705824d16e5190c559c7bbe8a17031e7d352a681b0418cb36423632ec48a8d3861136b250ad2fc72388e771b41849893cdbffe04aac4037209944ff3174f86f7a88414b1666727c960b1e54a2cdb82e39cf9f2661f4ad6e22f330b350eae7f588a623524617b1846486fe9f04abbf5e\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 3b35a042a4791dc1ac1561ad1038750bb9a575a7ff72db2ee60ba027f8994bcbabe41fed36417bd139a286ed0aa6c3ef2868a7251442d060c1cc67d4470c3ab7c307acb0c0641218a45b9cdde05546653850c2168a59f1788cd55dacd40afe38eb941ff08ffa8bbe609f2aa795c73c0368f482d53d691980891ba43b69f5791c2e6f70e17a996a299e60ce1c9d44ebb9f29e700e9ae216df749149f6c222d1e1733953553a792745c382d44f52ff404ed5ee04c41ac8acc97c250f9a5e3cc6d70902d51e8ac000d05e36279d83491dfe6a40f222bc1dfcfa7fa5e0197cf47528f77719e007b65ca39dae17bd0f323b00ee63b66401e2ec5f8917ef600a41c3a61571a4d922c0b0ad0a290ee054ad15e63f1a0cafb749f80cae6cbeb06be62e1608b502182d247bc6a37abe5fd750ead8b7216a35e74b969005309b14be36a31c5e6c2266701d5afdb5ca2314e2f32ae17387d8284ad2c7225fa63ed47e7245a65b74f53a5bd22654b3878ed09b1e5e070bc20eefac6c95b006b8f3e613b19f518c48ee6781a12bd08ad36ba384d03d3ea3c4e0b1facc39741f9ec73d0335d2ee735355955ed12cf8b999d155d389b1a3caebdfbba32c883ef7d0e112d86e6149a3328b63b9385c68fe8a7b679e8436aef7466067a8e8bb49e31675729b3f448e7dd3c048973d2a5f8f7173c4428f3982a99361fa691d1588e39cd4485c450158\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 09d8512c4667994623530a2317bbda738eb8917bc80c84b64793351463da171bccc88b95049a57ccd917a4687da3be63db21b0ad0972ed9ed182f4ecc8e06647675340192a57e6591eacbf15d2f5fbdcab568b16ed86e668144d9e676e55ec4df1dce61f672de9f53d1743b72993a5d21ffeb7ab58e0f83e297cccbf25ed68c70dd8441c119afb6c07fb1d83edd9bc1ac34046733c8b827d002c3b6072d74a6c2cf7f1d968e9f7b0873de8ee5adf902dc68fbc93171", + "f763c425964ea6e3af6691f1a303ff7837adb07a09f728de3377fff74adb34c959d363db650fa5c3035febfe8c62a0cde3d006a9d34d51c5b2c4a1dd4f2423c532c6b5fddf03e0a05fdf8d857f98787d6f55f0ce1d0ca95a37177657035ee48bd4f39f7d520ccc48ee999777868b4c3876e2242f59b725798bca28ae66c267c507cd65fde612c1fdc9362994ee31134d5561ad7c3f523858f43611c249cca3c134d00ed966a82b800da11add213731b58caf232fb2094e9dd42ceaffc7002f1592e79b85eb6e39ed5de8484f5509e0f54166426095e8522f88363fd0dd7bf64414011a710c7834958c0aa308189819cd4488588b84729dafe163e79856b913ef55afed55e83ee5b812579b87cdb80d5bc9ffa02ec32a0d97b0a56bfaead58a438cee53d40dd197fa2eeef4aff98eb5590163e68b5f3de443909769080c8a6bf87e3808bf265a41a3b79f8\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 798f597e9ad4ba8b3d00a9527f4e785af5c55994e2953046a1b9062945e8dfa35eedb1e31af3daf1955d7b0afe74fbc53739b1aa02fa2dba629c31b211cd513e2248ed847dd579406ab603d3369de3bb07143a581734fd8b1ca0358c4fda639045be1f192b233efb8848bb2c544e4e188e0c7ce311bb4841077d15051c6f6b31998ddd8a7bd30d75b7b3c824358bccb35f8ffa8c0fc5ac37ed71cdd48ed3c0269a638317756bdc9287043be1b4f3c6ef6423f1d0d38857c195e7be81c3778648ab889474109ff3c7be0fec790d3f5f50b966e3df40c566f572f8f252d09e97d4c90442badf820c7db74d6fbb004bd7eb53c0b1a871bb9f480821bbb48b363c85c9866bf8a86de9c6732a3136f2c80e88a29540a9036b72fb8f4c898e7b487c41d0f693c91309bb3bc06f1e3b2fa9918c31ba2a4b82a37a927784a7c7d2aadc3301524ce2708774c3e2189ca188b3d85a33348d28ed6f080a06452bf8316d483e6a5e28b831797f85a8ca5ca922bcd94b9045f588ea9e15f2a20dd26817eeb80b3421c5de72db98843dc719cfb1aff1f927ee1df1bb718732159bec70d5b6d0f98a3fd5d42c31ecf4124cb1759f183838d676eca2cadb4d57f2d6a52cd0115ffec0fd79c99aa78df8c6b54797a590bfefd4c34e4c3f39750ba47f4d8002a131b870ff8e65c6c37b75e5c54c8a2bc2fdacedb41f30ed8bc9029819b7064b6514a1\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 41fa907da9f78e107b58ff6c4ac0e92a9bbc7f5b510260572fce4ef047c73cab3fb0d00b353b4cb9256dddad432c5815652bd83c78e657075781140de56189ecfbe1601f24bdce05c63f511a3d04673d24c4e943695d7812aad66f374a74a906177dc729090070cb5d6d518e7045f4cdece06ce2ae42e1177c46856a8425e60bb06040400c8ba0efb8d4f395a4377d4c2c128c68e6b30e358a73d9904d7aa1e517ef396526cb64d39b3b36ed7204b3bab1d91b23ca95b2ca1da3eee91c7d27b4e4e658fbf5060a79cce69be1d95252b0d7d7220797a53982dc371372969d4e06556507e7e7870a9efd9e03766702f217be1c8f7f80006c08d13e175040cf28b215deac6a1ebf3520a3ad9e91f9072dfe50c69d1aa5a0df73ad63f72831b055f2367ea35cfe676a4f7970bc85e2b58917d1bd449ed3d274ac40f7a515e261df3d067a277ae610e4ee4cf68b3a947ae8c8339c818ed10e73b6480577b2a13722023cbb09d3b378cfb71f6c86bd481ee09a1fcbb807338e968aa5af993697eab562aa4975562eea6b1169e86c75ef13e877cfcd4608994eadedea3eba55af19a7a55b19e92b974450a593cde717bf0d7ddbf0bbe8fef90816fecf86ec522a2d06a04ebbc50a1eafd67aa461a8a9cd705ece0bbb46cf773689cc19cd69607594fd2ebde06aaa1e34ebec001edf318fa22245876461fc46126172db41ae9ecd74700e\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 174f3644f5380c9d804287d8b58435cf141283eebfeb4e376493b401b812b525dca70833fdf626b043e70a71a9a54974be4b77b8fac0c8cd8b5141eb4c8a906cb16584b385124f2d339035906572e446d230cb60a0604e53454d8d0cfc588c0491190e2c26f46234bce081aab2c2cf15cd1d764baf46fd8b154e75e8be85d54c0b9062ee266e2ec781f7dbbe8764eccd13da5c107b46829590f6f28f595ef4de3744050fa2f721c3fbe1afe8250069d815c63273cfceb77505fec5844c21ad8e60a73149e5d7c3018895967abe471d7cc0800030c70760bd0d3d48d61e7eb12a0a27a91677216d0095a2a95a37f3c86942c1981dde4f7897a4190a270e962e2ba427b4e630e3187ab42cbb3f9aacc9c0f2eac9a8c44f6d73f96eab34b74dbba066c9dd56d32ba7df087dba9e479582bf73d5941cc107cad55c6596d4e25e39a7ee3704228ef978307605f2872eae23d8f2fc5d8c088b482e15adeda22a7cab9d00578d143d53af27b04416a1c3841aa88de6dc4f16b8dd320897d1498e4effb58a6d87b8ddcdcfaeee75ecb9ef64e3db62c232965f556ee3f74d73d2b19993e9a9b8d6ba56cc87fbbe3b7fb7ddcb35184ee2b881d55e55a7803ab2dcddcd3572cb8921bedf958185ee7046b12ef4e6190a314012006f8003aca93f430d121df1ada316ffe0b1ef85706e36ad2164cd1e40389b2f36cf10735e68e15022097884\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 34e01ccf88b7b25ed56f5fafc89ddcb9b6fade81ed2446b0c133f6949e73a1d68134973f59a551582bb3c28651b34fff77f97e91d947a96f269baef355697e15f4999d3b8b173c66c86eaa546b44f1aa42251df45584a938b40c6f1b5e1f8c58ff74f96257a044b10a70bc5075f9769c3c949dcde889e3b9c6d32d4eee6e312dfa2c74318954770556677d1937265e896bf044b3c0a03ac6ef1d82888a5a010787dc4a65a855368532b092a5f6c985dd720966fcd407d465b33426cd6e56ac30feff073bd4c55115bdbaef71c14f180fb559fa4860d7bc94b52aac8d121d0c0ae4c2a64ee32d1a1086efdb4264f4f93f4e8db096724f52d608bc686eb55f3e2820abc4384af6e4e4a8f9eca4cb3e52c43a67e673f2610ded69df520fec76d3aa50b9a6556fcec204cb959a0ebfa6dfb868068f583338e57cdcc2d2603acedc48c59500453522bfa8165c8e2c63e4ac97b3d4d70075c857beffb5db8df58247ec4842fda08a093df5ddae1cad03e374a350a87961408bf4fa99e5511ba42a9059a0ed73c1c9618ae0a300399347ee194003fb81f6e905f0286e1467fc0eef2c5691c0d05a480e52ec578f77d2616503061530de1346d1a424facd2cbb9a7c8da38d870e5f4b8cd406d41421c959101c6eeee60e092b2a5dc717f2caf292c8622d903856a266e31c7c342bbf09f8bc37f67f576a3e8b963b88ebda9aa31d093fd9\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5da09302fd2e6eb0695f2d027893f42d71476bd0ad8e1783f3015fda3d1b5d4fac1b56fbf133144bf82f874160a3a248e2c6a4da691a7db2110e4bd095d536e72fbde3b47ce0bdcca2fc9050aaaf2395686f98b8da83a7ad152b2f517125843b8306828a0d5ef8d4b3abb874373644e81755e7a929a33e98069c4d4d0a732b65c5b836c2b7ffc6a914ce02c2ac0d4bd5e67f7a395da04d8f24031d1bdad73eed9d08982216aac5a067d90311bffc2b109f9dc3ab4ee2c051e23880a675fab15a3ceebf15f114d79523ea5780d62a0785caddd3d345697b8a1a785b1488eaecbb863f8ba22a307bc835f3c832ce37de47a416136b8c2e559b38fe8d2b94c4cd376fbe209130206b53271f69789bd0f2596b85d9ccb000a15e3f2e7c50e8820dabdb36b1dfac83cf0a307ee46eca142eb747dd72972f0e824e9107f318036e83274ade55d53fb47069cc49cc51460f982cb712074082559bef436c501c968e1b73fae4adae5f2d7111a1741d1299869b5f5d6c831c69c4ab323c4e04227e435cf3cbfba1a3a9e6e6a64368027d5c385acbab0012f385ffa331db5decd358d44afe4d7d047ca4ec9b8f888930c1c6ca1a01106c8f7482ed80cecf0e244ee76e28527d8464f41395e949eda74e233282f50b6fcceddd3478be8b7825ac05f0f1f09617f31f79eacf10d90be50711b8d2c0a4e1f2062a3d6d4ab9ed05c0f6678f94e7\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 10877ae7a63a66b8249e34557c24145c4a5bbce1b2d7191ed8a6b194b5a14c6f0c75e157772c90553632c4a58636aec356e50bb15035b7409084ba68e91d09cfa3d090e1b4e17c08c56a3d20fbebd483df984b5f800c7724c52c19339db62ff9b13b2cb38b1187c5927ffe5728b8c7a66d3f209db3e2a490b115e6e854bb8b5fb6e390aedb5ac7fc93921399824120a24c6dfe8b084845e4921c5bdc04f0d3f9dcd7896632252b69727996b325e99a07fddaf055328685035b629c001078c8182e4bc79155405aac2324790497ca082e0d9e6b2707a011a9530fed0fb0e2568a05ab26e3cd1e613d6cf4f10ee619f97bebff59df634427584e26fa81cf8efe07c40eb910a7cbe463eb568cbc0cb1992146fbd7280064a8189d22ee23283f661b9e980d2403e70753c1bca7505ec92c1d688200fe001d597874968d14a8f3d8edbe436a6f7328218b69957b1526d22eea70992ed14526a0415e12534af443a1d8100578be888bad5e2fa18638d77dc5eb177fbb12045d6bb2fc70bd4ac3d9f3a202503611ef6b55b005f6a39cf45e3a896c5a726f8eec1ad5b68624347be0b4561df68afcbbd665935b4b5219d75af0252849ae4bdc9ae89636f7d0bd9533b0a18f94fa2ec5b4c4fcb63a0880619a887b710cb92b3376a407fbc6fbc43d5794dd243c7d235a14e8cc3e4f786c3bd57f391393d05c283bd9c62104fe04cef29c75\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = bd9586f52f2e14b0694a447fc111086141f8864f0d2464ed83adeeb0b702cc0dc501b899f0c1ba5acb0c0163191dc8f46e26631fa236289902949c087ef4968585a9daddac00fdf4430561fd81605f7f3568222da3c4cdddb9047dd529527a5d370c343dd2058d3dd3885157e4594d7af160e2443297a3c87c4214ae3ae2fb3c13a8ff39e1e804fbb39f3097b097a7d2dd568d885a5abdc3d1bb012349758e96b608050285ad3c80132390ae5fc9eddac40ca98d6db6463b8f10f79e4c4a98d2aa91b7d8d6b9c2536d8131a3d447a9622467e7170c66c72495df3f8cec11951db3cc6407ce75ef398581677753773bceb6aece44f40292d8de15e020523644acf0afc79e1381875b6a67168bf566665c4a4aab1a8c6a2a384437f4cd2b242acc8d8385cb39764dab2c73e2476200c2136e4904f8ba0479e5a6ece38ac8b4e99b6be4a2f12310b265a8470628f9d198d897cace6efd9cc2b8bd299696654ae205e1470521ec7ec74d2cfffd058a1bd1f84d72a5e13d2bf4", + "4aa8306d78319569635d492c639397d886222d5de46f82dcc5bd9736d401ba2920577bc71e7cee77b9395732317b849d22ea98bd5c6ee461d8275df4fa8a9acaadc3db528d7c53e8b7e797e6647ddf9e2259af83b4c56d63bca901e1f0ce5414b5609fc1edcd2a6a7121b41a2f3082a7ba6fcc630fbc7fff4bc2535920d6e8345e0aa8d6240a5f04f1\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 23da245bc1defff09dc4a0adc58347ce419109e3002fd1300331a8dfbde68f4b17d7e65b8ecaaa69abc14134422b76036f4917b7d991e0f51d168074722a2f1ccd1b30bbd6f3139f147d29ef11a0da1204d4ad115df67a66d4d10509abeafd2502a6b671a40746861751e7e5912e23db05d0b3ebfa95f0f3fff8876b6f01af3dc3d5e94ccc7582536def9d40facb2c6d91e0eaef3ef7753fa8830c71e6e583fa21d423cdac47189337f8cca61044e492b073caee975cd3cd33ebd548eee68d7220fce78ba2db17ef8ae487d2ff06e94d3d4ae67e3ff9d3d78256403744dfc18c5649d529f3283b51edd7817cc3ee9a3d417d4e2e583f13a36bddc93f078cdfbdfba1c8cc486b50e8104f4dc862d4cfffc7c9209143d43fd7d55918d326f022db836d6d3ae155897aa4a12af78846c94e1bb42025a796d594920011945aa7d7f41eac8c0a42252286267433c0409371d20e312423062dea435283d3857a56d1b47248190b73b358ecbc998e7dfaa4f4b89acd10b05b58a172fa58fd37f07b707a978aa4e26d471726240edce522d4083477db37e4e230031cf06096d373d65e4e7fda47d421e4d000b722da6326d9e8fa5f09f2685f6af3a51f5649e99a67010bfb695f3f5bd8a6027ab1eb759ef0a022f5bd6775e5fe96aa22d9d76b375377e2b556199c940f0567f09899874e02e8b972940fc7d7fd632efa97a617c1d4767e\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bec4ecc1e9935d26a8a448266a6d450ef1926d3e0353bb61f7d84934d7c66d66b4441d21b54abaf9200257fca89ad352fb0247b5b65fc952f4d75fdfd2c04a8b440817cf351c4c09493191ede4d73ca55d4142f1c8abd1982278c60c2f9f5f2adf4a0d1e0ad8ea2e3aa1778a846a91bcf4ba4b9637e4a2ae49ed91379c2127dce0fe03048e78dc9c37b700089ab84b84cff7872fe08d0d773818e158b896bbd6075af6df1a751909dd1e5dad968ecc91bc6219c613a4ab902de6b0acc46748a30fef9fb33a335820d737fdb353f9e8e5378e9ceced5b8809906ddb710038c6f2c4e3c80158f5ea4ab1e2357bee7f01e2dd2dc81e9912d8b260ef4ad38e181d7f2d5b07287659e03351e4cee0f0cd4e4ca477415504a8e59168937958e3eadda0a9e366fc370c308ad78505a8faca416e94b7f27f60f40709959fe26c1c6ab985a1141537d1fa110cce115ae45a10a3498591800e81102097ff514551819abfab67d876df37e1d04557ca98ac6d9c14cde0bd2e0f9ccfd6e2571750b3a69519ff2630c5f1a08f22767e9500727433126a7da85d992cd14d4d946aafeb596f7aa8ea2239d1d5fc0556584669a8fe968c7d1ec9f35a601afc7d8c5e2620af5bb95fd922dfb3b8d013f5b87c3cb1da4b3349ab13135a13d45de49b4991eefe8c6f6b1bd409b2f827288986e986cf08c643420b160a642dc47afb7af321d9eee89af7\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6e5a44b4fe52c8104eb60e7d96e697c2fb0c7610fe17fe8c6d10fabc509cd3cb16bb4428935ec58fac84db83542ba166991f923a9889ee78088f0886deee107c1d0852ebcb295561c3977b2d69aa069e1c15e41d5ac47050b2221962413f9b5111a536a0a6c1762d04dd8ad96318964e34b8230564509e62d63b4bfd0dccafefc31bc44a0086daae5da89baf990e454f390343f1755f7db2bceaef0a310d07b7817a29371485d5abce1cb9b1e556b830e15b35de0b0aa977aeb1b6a54117bd787f7f9a64452123a3f29fc2e87256395102b6ac86bfde21c05a5aebd4862008be79eae34faaf324db09b5bc57e7e2650ba2d5a11851ef8c864dc5c04c58b132c208b7c579673b7419557d4bbdb47b2281129c72072d906e0e63f4e6dd55f3d3b2fc386a81a7b746a991a751d49d91a76fa4876b3c93c4b8e6bd9326957994354ce4d93dc93df5c5a8d115897d263857c702f2a95ff4a714d402c88b07caa43d4876ae5c37780a7a22a01e8f5a89ee1b50185a27318120a6d3dad156811ee818fa2d7b051d57c5a4f9b93a99dbe9630b3e301e94b04ff6bfd4361abcd95d86fc89046f66da80e29073365fcbbef0e7f29ea799e33302ee3a29792742f4a078f6cf86494c97e8b1dc2018d4a65ffaca21af43675a6461a4a8519e95f4320e2ce904f88ee8bfcc5d10a980684a2038b3dc8b34b5131995c684c89d01095b41b713be\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 856accc6420e940cb6ae49009afc46bc43ce4853098a25631d172c30b2d94b71268949c8ecb721a24f1d9b1dd0448f2825268c3f62c39a97d40bbb36cc93f36f9e78c1e87ae7e217a3f0f3b96c20b99c96d10d8a06b40dab75e7045f484bd6537610f423345df4b9235be70874c3754dc9131ad5041da7ce7c61ede789d87adac85dc9318b82985c83143ea1194c07386ecf2e3af4c1a72722c19649875378b43e85b8251e769e42405f70ae26d94e7b7492dc761accf9d793f5b9e3619a8192d8166ecc53679dc2bd1b8ff609d698bf92c75ac92895653c650ab205a9233237c5ef111d71cd13ae2cabe6c71f5164e896e9659afe547ed1321a6cf84734bccc19b9b93d796b54ee6f3f5355bf1a8f681854ada63ca8beaf9695c5da9adb1705ef06b3bfcf2d35be7793c48c8d8d32a1e2273714c314670447c51065619558c8ae80ef286048ced7e53d3c7b5293d1145b337a0ec34b21dbd3e2bac4897bc657737044c9ebf8c9d8ce82a33a56785a2f21c296b18435895005d1a5bef8c496a36c4608b9f7dff13bc7a741217b54b8293e8b754e1f1d98f9ad74bd3334f381726f405130509b815bcb09f34b3c34b3340870e7702b54dfab81fe68c20e1d6ec9f64ddbb73ef0768f3ed80babbfca7eafe69ccbe1bc8db50ed35614f1b883e702c04612af87fe3cf48063068abc42f3dfbe6499b8faa57ab75384bbc47c0a83bb\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7658eabf44cbf5777f121c459c87744aee55b520f3163f9753d7c21d6487dabccbdd6a54bd8186cc5cd68fde76e6eaba46443ec0a750a1824e7f8e7581f7b57949cc6c44b5a6bc08d61178617c4ee99ec700053562efee3d8c7d532082cea526f6e0949b686399f15658771949cf6ea8eb455587fd328de1315180df149bf764ce52536c82b2d1e924e7b7cdc09d11f7e8e8e1279cfebd39b8dd64902206e3fe437697b0cde2620da6f3252d09e2ceb52a6bb1a63b407d3ef1a0ec2d6dfe7a413dd8e899b8da238032241514b44add07e2a3cf37cee9cbd50bbdecd386226b08020652bb651e292fb4ddf6a0cf8c3acf9ba13ad90e74055418d6cf0ec2dee44fba207a2052474c6e397a7eb30a021d2e44b343624657d4753706df893b031395d0cfd831eae47775b2a4ee21bb36f294f26a1ba1011d16d5a889edfdf0f69e3bcc10d85dd89f54318aa6403ffa0dd3711516a0d13771f04a23c7679a2fead20c57f067e9feb5f43729bf6351ee3bda720d5f01d56688ec2bd5f760977beab14b22bb72885e2b7f43572c0bfda433eb65e8f8c7da81414f96454fde33ceb6775ae73ee119e25a8f54a9cf33922fb06def12c6c6e3cdf01134a62a81412acb67b7e63778d675d110d8fbeef33db054737c9c99b86041e96a13bf064264d3abbde65af598cd60aa827f4f7416d3f3b0c622c038c7fb63ea7c10691e4900f0505a05\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5bdf25b34b0452928d5616140daed62cb7916283165722a98f344e2fb86028f4a5a6459227502f558ab0e6d0591f28bbafc7fbab5a5411167acd7183936d072c3192d73aaf5f02ad4d31d0afec686a6c6c73cb0426c4320b57b73cf6dccc2a376d0cdaa2b0f86f9aac6bdc3700e5df7a75fe69881e3e0573167f3b8faba3d7be21635e7dd10ce82c7cb74e97611415f7e283bdac4b186f7b0c4e9e803a9f19220f686657300e4ec312229ff8cf69fb780964d14c3654df79903fae9969058533a7d0fc29f417f98c1c62aee7eb260a318404e64164699d18a16bdb934e5beaad513d6bb7bdf1f30c89eebc2cc02e623aa7f52532f2e89122f50ad8be9cd3d6476d815e721b789f148be254731e4d5236a678a5894b939de88067a8f70c3ff5355b7a10c2a624d09fadffe29c97e6c2b655b22cbc8f99a1912539d034537f29c343e94d762496ed93072940bc2d56bc419dc584e0f984bcdb4681920d650eac7bac0cf2ad14457566dcb2c4165813aee4d2891adf8979bf38e6d7a3b80073ba04c35b2d161575edba17520fa709e2f1ad8ee43ff5327fb8f40935b7563c0a1487701e964b282c3e5e294b5d5cb570d18108c2d8fb9f9e2419bc154e1f865b2512bcff2424a690afb6d0f582f4b84a41e4a211fe57ac406db5908ac95a5a26d7de6c3d7b4b27d4a7919c8362293e8c8dfe21675e800794d31cb96d9a400c15df4b\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 20dc09d6978139edbfb570a17a39704a662b77fe4047037275064346e761f2e198046a42ba19087fbf5f44977615a8c3d26950acb99ef1aabb32a99a5a069ba7008a0f8594c4fbd7010ddcdd71c2f5bd2ac972d4f2434cc662443e280f2e241f0c36ed47c276563763d09591c80d1c77fb1fd2ca278448f3d183fdc16f1d9acdbdf94c7a2408ebb7bd3883767ffd5f7a392ba1945c2ab9b03da850e745432f0a09c7c02e7065c8b55c3ff86b171b78b13c3ab933ea1a76c332a2690c852f4bc39e7e8cbff8d71f1d2e614c611e4ac5b9f6340fad1db3a3484fb7a295f9e7673bbaa8ed675da4915eaaf0b3cb882e9b9055ae4bb8ca513762c73a78f12f42bf3cc42c8e37eec06f7caf1da5cad92cda284d07de75aae9681cc4cc9974e2683d4a56a6af6c792f26a281e72df45ee3b2beeb7667e2b254405c3af92889e6add37aacd2e6f1ddb106d1e7de901f285ec7097b15898443d8f368a0756c2c937ef1ec177736e94043689d6ab04abcd7829d58e888335fc64d19783ef08544fae0ef5cda771e481217c09ebbc12e41981f56b68c4c9078172f575928c7003606f69c3d75ef2b397dddb856ad5625035c274b5bfdd6ee91045eb8aef15004160b98846c817cbbe8e608fb1426daff941e9f0d358abef9d8b52b59d3d25ff41a44cd1168e6ac32f09e86569adf3dd11c632ad14c43a4545575f4461bcc29122cbfaf5440\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 380c5334185962bef9ee8ad0672b4b997f", + "a0d1be3fad6300732dede2697e5900230c64f93ec093263e62aeea76754223acc93faaced53e558a7147b560bc19638642ddd82d1b240a7983bf2d7c70b986be5cf85abaf28b51599e8d3d50d49abaede889ad06644982aa010d86f3f9e9332443bcee685dd90d2b88a26b41a4bb3675b6242836a168917d22a5eebda2800d65c33da791c3befbb2bc72a17976c027686f967632ad94bddcac0559e82fce6918588f814dcf65cc3137344dd84ae82c00469308ec62e9dcbafa501fd6091e05888a28180b8401a5a2098702e5bc3c8a218f608586c1252cb5ef81bfec154198f0e2af6993e4ad57edd8f74f1212f70509b459b1058584463b96925723c1e9537086356887b450db8525d04f4e53a874b0919e663fc9bf8bd2848986054d56f3766fbeaac550565c8736b65c8b21cd68c3497852bfbc6f9c83f48e787fcf2be244017bef9de6c633d2906bc3a2907ebbc177aeb685e2ffb25be2933c39e426ed28046eb06dd9f02fbf133887fc930b44ceb52a7e45011d1cec76d4937399cf5f5310cc09f847c04efae92aa80543be893dab2b05c30c9b46dd8f075d4d03a8f5c6c07f059c740fd557a406f5147573a9d92c0a832ee25959239760ca0453ec1aea8a1c6a2b332d2a9700236b975b697640082c6974047cb2d3d39968761202701420486e1e271c5ee495eeb7967bfcd6\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b32024e88a28fefc022e4d54eb5e820b5ce205d4eaabc87d3c8dd1877cd163b1bbfb3d3d29c3da78b98d31f2478e8cf31e5238a1d2849b39d4f074ec3ca96bbce4c7364f9a14c83e363ac17a36e42ddbf61fb6638a0307f3feb468ef526b0b1e1d23030fc6eb323f405c3e34cf211e5967c8d84ac436d1ef722650117eb5f74d4ec6e168bbfda7e372c1ad828160937067cf0bed8939b8af2289583f459e6a2e43aa942a78ab811c5f720cdb92cf6357f995dc3c176be981ce4e86be3b63bcd5ca84382031f16440c8cdbaf4327d914166af22321ecdaa02da8faa12a5522de776f23ff9024b60446bca0da45e5e348ecfebb7c85ee4952cf6b543019b5cfc9108d9edabed761b8522e49354fecfddb24fe08154250b2524dae76128f3364f78008a414d0c01bce320b32e8fd8bc820d4598e5a818014cf8ceb119e991722c95e2e4380f66d3e7a2e96b49cfe06dba26b3c6eb4d67f2c61a9864c40230df50b784145be40ad067c0acbbfcfc0d706b87137020317d5d5cedc0bbaaec40c16b5900541eb2c2dee9227f69a006db0554b7eabbd6f5789bddbfbc0d729bc36759cb23c47cb9b0428246351d254735d92816f8f1cc1bb2e3030fb8dec028af473a643997d621b06aab75d8261e9d6e17a7f1c222ea7b4f5c4204a1ffbf60a7a1989fcd0e9accfe8f53ed03dc6ec04ee4ffdc1ab63b581137abac5995afc7c52b11b7\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0a95093021bc15ab7be12947e892fc72f12f5cb76600ee3adc0e536dccbdd235110658ff7d1d63b242b9e41ce4d6d8d20ffeacb59a86dab7f5729328d3f5d9d886e88d344788ccd8ac4daced3d4c7eefb5727037d5c073b3abd221c95207f2f7344ef4ff95ffd65a97f4c60a3a75901a616c9af07571bbbc25a9ea3f5caf40bc2790c824b6b31685fc92438b735226c1a2f730eb8596954be137182ee9bf0ba68606006c262d7b24360cb4c08dd5e0d144f8f0cae94d691aec91e0efc1c92d0128ed99ea7ddae3bbbcdbb1669485593a5313ac42f273525fd8dd6337037635571f05898baa6db86fb576054c2f62f9ee695f7bdb54e8224cdd914ce9ec073253917563f9353164b373a7e3d65f3d7860c9692ad5ecbd58ba4fb1c0db705aa2e707332df7573c704569ac92942fc8d7f0c49e973a71a7f7792ea8af8fef8055db774ec12579c9f32809101ab0ad92ffb5157f26a18343c3594a3183d2a92c293db280fc4e4dcfba02b4441048498e3ba8ec1cf92b2f54157349161c90f7259e2aee6572218587b99dccfed4bbcb6fcb2cb9fb2da566d5ce7075e5a8e2932ba467fd027b63cb7bdcad671c1c84b7647598506ff0a572c1762f5a3d9d84860bbae6022e4578d300c507219185446dcef47300dc156fff1b1806e2322b46390b4f38d65c8124baa8af2439ae0d04534cf0d53f8ca768e8c5341254885cce7410a06e\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = d5b62dafa940c5f752457503a90e75696688f04e3723f25ee50765f7061e44a4a02de87395f70f0f13c163fc6b458d3df6bc4ba862be1299858f065373d2bbb5d61c8e43c522cc92ac612c6d508593fc5bdd0e025458094689298a1e8acd76f2cc777d86a430c431c7b1b119c619399ae89a789d99a070e2abff83b93c2a79b8a066a9561021771be167777589612053b3810c12a58ae994ef56917cfac3fadbf9e0c5538301ccbeb566c3736717e32d358e705be486b19a66533d1898fc4771e87929fc25ed6e76f16cf4b9e8801a6846fcc1e63c700e809ac2e4347735a17abf9ac04f6a88fd12a14d36370dafe73e63c802b917b474c6b1bf9e39a052b4193027c4893757f92f6ea8a5bbb7abd4219d561dd0b765408833a84ef118d50340676f8e108024220968416c71372b74c5fd678183e632e814f286f329555a192d2d0d996d47a7de6ee27ba68540adc9b1318fdeb6e2eac326db64cbe4ec7b6e0b019c5171757600eddf9ce00a30591e0fba2fe9037e14d8db08be53de4c89b14849d09022e1b2e914045d9900c80db8af2985c19957c693430ce47f1492c1df5e43bf22800a56be0551dcac39c493db50fc4d47109c93b058c487689c41c5523eaf98e88b792740353ca54dad3f7fb0e143b85f90493716faf91a43ec5a640784e2ab58c5b268ee44ffff1a41b57373b2a6f605067e1323a6892a0f0fb73f4249\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7a4af45432969bd549b2425cfed92f2632f12a13d73f742dba27c886f2ed487ab7aff7acff1dfebb3f3c56b5ca804c3604c49fc328e680c3e1490e1abe753de6f798b7a4472dae1b7d992aef93aa1712fd2b016ddeab87557c5309056aad97a77a63c9668067560fe99973e78571c60e0c41f91dd9b6a6029cd911fa7f9d6145d34c4f49a46fdf0966b2994eec3707a84fc3a473d6d0279de1e8c02a50cdcc9a2784aa956d76a1aa11aceee7032a196cb03b1d374403700757c55363000553c18eed69a31658c77604792b2b9cef101d63c9a16db88d5572be93af8e1b683801bf058456dd033c12a7f4058bb9e55a8d318e4af0c3c62dc045b6c247c80a018485c27d107f6ff8d83bb234f902568085079a6c68042b724577ad18d82b470bec73af855d0b51cccc505fe3199bb7ebd332e7363f50743710a4812240114eeb1184a2bc79a33fcf69f29a61677ee15785d3b419f3d0a82fa32272b05b85495bf1ce2d2e4560aa0983a393b94b247350fac856b28799b84822567957a49fca2d4da6488c7216fff1d4895fcc8e62658643974b8c299bb05fcd46158f929446a536f8564a806e6b37b3058b2465881faa8157b7ec838998fec9fc251cb33630b1c5378d39960f3835b10aefa611bfc1ad0d11f736b9e56a434d2891bafafe8b42049626a8a39325b307c992ebd46f8e0a2a6a9f00f3d7e103fc18e7e6e624760735\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 591963c2164e2ef706cf711051010a9bb0e6f3bbe51e77b211431fb7b818873b0f4b62da58f970aa0f397dc65ab9c5a2cd3cb1cd1bb7b10a14d56af37814955db4e5bafaeb5e22956f2adb8b37d7db4753414a7551c287d618967bcd138c79ce2a8f590687285c14ceff93e7acd18005e64221cbe671f2dea1ece956227893031e2b4241a7f7bad418579bbd261913be9033102a03cdc1e3f509cc1597863c7a685921ca005011ec59c22382dede35f94acc06a19660f812e633d730b6ce73468508baf78a072a6b8428bb83f6c5d11df4fe14000fb0d8ecb12f8bf4fc811c1218d2522930972fbb33e0bf4927f51f5921d58ae4a63ed7499761937f482a22ad45efbe0d64e6304be819296a551f958454efe0685b921931a0e5742c94b8fa23ef472d0b718ef96476f27aa87a18562041ba1223ea3401df10ac43b433ebb8f434dbbfd1cdc509956df61c49bf6205a61b36b0df718ae108bd41e91724048c8b73fabdaecae53429ab2b57c7e13bae23a148b39639ef331e0c77ddb4068b1699dcfad43c7170e41c2446011e58ce1722b8276cd69365f798e0bfefafef766e41b3d0b59c8af8ef8f073ac6f540a2ddd6a1aa8628ae5100f0a2d9e2db9eb449e3d5a1c7f01e7cd52bc341b38cab3b26676103e19800391569f73d896fe4440bf3e97cec301fae4260fecbe9a0cc720f5b8c5cd1263456186d77e5c2052870db42\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8e09ddeb3998ab05c2e49d3b184db86d9d4a19680e38fc4ee1116ab488b2d51d7bc13c45af9611aaff2e2b2278439606cef737361c2a44f705f4797da447154ab72eddecbdf6c0120597728983736a90ffb0bdec5787de559a58b187422143fbe160dbc1ab03cceab3ad8053812a68e9dc87df1610bb68b3dfebd7ec7fed78d7dba4563e5b1a30bbadce6886fcefeecd3f6e3314087a315c1adb893362a32831097b099429efdd2815085b78814a73ed1a99e803f7d10b522f540a2b3d02c6c5ae70f29fc35ec1ff6ec8a0779b6bfcf91c509d423118efd7d9c91fd011e678f6d7adfce905555c06bbfc4bf7e2f5b8e8bad468bcd1f2b3db9a346f68063032c57d0715c7352c48f1171d32943840f5ada9142c50f202f7671b5b4a12b6b516bcccd488c1717dc49025f49c59879a6494c19e2e27445cbe9bb2b3743ac8dabe1139465b8b81939f9e2fcc90b6432b1021a377f8ce728c2bee156d3127163f96be29af1a149e69a9d3834c60e7ad12069933e11e7d6ccb1f36c442ff51250b6c10502b37071dece766b5ed55a068e2b7329ea29b7dfc8f841a7cece5319a14749967b42931e27eb832ec749b9ad8b3ae0802608eaa1fbe4223993471f72ddb90704fa645cd0d9a25da15f2e4d79f949d0e6ead887c309c8cdeff60c5d1990f358ab933077dcf5e6c04db4388da1e93bc3302ae6b7e6efba0f8d3eab4d735513630\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4dfe3bd4db47837f8c4903e0db204c2d14c0977691f66b21b0036bb849c4688f1472587fc7e1eb6752e41ac492fb40ff14914565998ec30ec3d9963c24167002e1934ad79e9f772622a5d74eecce81fc5e3c02790771c3e44b9ba3eb82f3dae44910a2a5ccb3b4bdfe05d7d0789bbf79412fc27df50b3e7ed7e3016c804705dd24e060a60b0599714dfa46c4e229fc3380129b9e540cbff28fd367f6f0fee13ff47dd2f77c04f18ff123d8f0b02dc8979c9b7035ab1533a890e49b2e19a6122e98ae4fb08978af7486e3e589cb9924cd79026a3262284f8c8fa", + "13c8f29bfb2869a3ce1daa6f2513f939e1e9dd5c2ec8a8c3fc47f0620b38af8bf37059c24d6fe922ec1c9141a8e4804389e328607ff918fbb5e3de846479e71be55ccb4793365b985e4a2ac8b78ec2a40bb1f09ad5bf08bcd6fbcc3fc1eae8dbbc3f6f819e7e4b8f592e8e212eba13fed31483631e0bfea788de85ccccb45307e3a873f5088a3d5e6781eb5223d0e49dde2379b413ba1fce0197734a2a4f12204b16988d576a3d2de4b8f570bcbf5c5e008a9697e89ed47e837428d413a5faa1e98a73d92dae13da9802f615a37415d74e0622f30fb5f637890b28876da30cca8f36f63b755a8aa3f9f5a0490c250258200937d0d8371cc9fcf0cf8e22206a7086fc1e9335d496265a3ff0376f87724f7ff763f24c63c630a8da0ec4d762da5c4db57c5bd4bbd\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 42b9b53d0b6a1013f99a911e61b527fdb2c617ca3df908c74c36ee5a8e856a4b803bd39823bf093e191712c7f6c6fd2e08b0ee793f681ea52205d0c28d8d9cc09d7eb42a5227de646665ffac349718bacb75db619f5b04e920ccb44d45d6386cd697024193e68f39ca2b66906fb5575e9f0ab9d30462a8ab6daa8da2af3403584faf6c5d90801a599f9f6ad6aa8e0b05f9dcbd5da4a816b0e2bf89999bf462f3da047c26c623f3f00c928a1599afd4b7b902716d81e37c82e37e85a6c2e2cd6945dadcd3b0b4ab038b2d4b864358615d4c2d131cd734581f4542dd9c66318828247bff3a5ac977bfa6b6e279a5f01c339ff3d77ab1e35ff268f0be286a0d8a613410be65079062dcf700e262f469295d3392c747226c2a696e4c1b84dff4c8b77149fb9ee79a5f423952df41613715c021354c7ae88f4637d5209f5bfc5d9079fa578425e6b29341c12f7776a6b6386900a2422f950acfebfe4750e60fbdd26f3a9be8db57948e40d340b9ff6834b0893a6f4cc5da6adad48096348cbba72204215cdeb1ad26f772c7bf78ff1bf6eacad8da89262a6a5df69e7532f80f665285cb93b9f69a2aa506d652eb08e6f2592113619e32e9463dcb76d2b21cc298a130379dc0b368596e3b039a5bad86a88b0054225d608aa3e3ba729d3fef1fb9720c9ec19fec34f8002651ed2467764617b0a25c368747853760c3b31096f65538b1\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = dce897567a75219cd59c02c7adef6038f5e937aecf7f1abb14163503e7a37a958b6fd815d088421610b669c47dfb96283c4e843dd6552598d5a10b16f4b638ee97005e13943efe09764f5eaa29227799477e4e10010d11dd09b9964d32d2c0dc5812c282c24d6fa3a2322f90a27d56f8d7d457b2c0965f17768a8c95c109bc73a0130c56fc1c8a2275e0216409b79dfb3c83055b1335006f76bf2eb629d6b2512d022c1683d0ef13af008df0db74cae1a415570ad0bef58bbf6f41ec3d69ef7f53f098b04c477a082bf27a3c4f913c88f5210618873f8deeb12ed59b758364ddfd3d1b19882f085a982feea5fb71594e78a61b0600ff8d460b29af6d155246c77de5e65866dd60b02de47722a898e1948d3e7f083968c9fc9ed995239525af099a51eb44fb95f0fd6f33045e38113ca5e8f38b7fbb2cb3002ee816fb88f4855c97ffc9170e5678d9693a246dad58e22ef4a28f98e235c80e26d1d5f8abd063535852f4c11b74b899a485dd262ce07ec03032179d14226a9b3ccc46bce3add8fb4df08c4678f252e55a972553514403e1804ce5f1e2fce2cc3fd2e7ff72b09d0a1fac8a51e8b4d7391936567ddeff3d1da45ae4c022a57318957f2a46ae8dba2b12623e8d681cfcef63829df00a50983666dbf4b7aa5bbd597579520f20aafa8ee0f7dc2383ca0717d22fb35ed75c9dd65535fdfe95684c9ad076a8dfa96f67b5\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7996321602d0a9b5aa742393e774cae9e747a4315dcfd17077cbde30abf1bbbef88d208ff462cfaddd092242f6d0eabeb30638f50157bd844b80e02fb00ebf79b3d67f83534be4f0a65f244bd21b947c379c71cd3d75e83f26ddaa7e643c5ba00ecf7bf18a8ba71a5d200c53d70beb1781e4ed3a1421b0a5aa52333763ba5c739287a1d8f0814258b292e3de344030fa099af0ef5986145da163bf7a85473704daa88116b3a079cb8e4685dddefcf3f8cb39987200a94bd82012a95f5b564cb958aaefdf6f0e84eac82b93004ddbf4ac434357605141e0d03566ed55596c0a4f5e2fee6ca57aa85d454cc11b3f002521b3f59c7e2ecdf0e55f5152625f7f829c3172d278d7a7ec2fbc31ac6b09d983f73bf8fd8413555d91a99ba1c95ddd8c614e7595efe71136f69dc6903f28914b1127e6d6eaf473d56870221abf63977669d215dd7681e8b95fe6cfbf6592a089e69dc9779187fb88536f7ce15fb820018a4b05b0843a18490c03ba611bb07f02d1150ce2d5a2c87bfcdf83b196564379413b899912baca97e1d19c5af7deb1eb3991ca2733604995a2e8c801a1d813b4a65569238b961655e19143610bfeda30f0a6c0526774a622a15bf6d91d5ff7a3bd87ad81a85c20183e9e7290d49f0a5c2e080453906a5f1e67952d6e0e5097c58720519cc5b8b52bc4f63aa9bdaad6d8052fc9e53d670df191d89c5dbc2d7359f1\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 7892f12ddbd48d20aba080f3b7c92cb5c918c416a2f71999c89e790e92802968f683602929f8c37acaf2e0a7337e85b5f0bcb9e2e9a1208921d578b24eadf3bc8e130571648dadc144e07f6decff4ffe18a944b8feb38474d9df08db28b65ec155d168f37371708af138316be70103e8f4a8b372ac0d3a9ddeb3144db05120899f8759a37ccc93d0c0907c83e401f0f3118a76ddb2ef14c62a304f618318e2fbee1d5459e48437ed45f5c5efcd8a85e420d350f3c24dcb5f0feb1491019438e4d8f49317f3ec670eedae0d22fa6be70ff190057bd7c9df6411e2ae7cc0f35bec1066bc23d7f2be90b779e017f3b9499b32ce12547a98cb50403620eaaec33757bfad20c55c680fc8e5b0a9d8d9958b1fc377fd34739369cb9118b8ed40db29864975f4451abc2f0c9513ba1d6821ce65c05a4f7d0af7feb9267c5c890aff779b39e6782c3918521ed4a51ff049b8fe9e5d8f5cd9efd9e3b37dc3a0c61769fe25a3e75402121329ae5077b6e71f39ed32d6c6c3c26bda4cfda757bc42e5da1c9f6a99359fc3b3c15bae37528f1df374347ddf4684a5acacdc8de4aa5d7273cd91e29e84c75e197ea168004bed8038ad5b42343e88cbdd073baeb3b1fb7c8df155fb73b1f722f4454d649f939dad2b7ec93b309cc10eeee6634bf96b63aa14434e96dd714a72ffe2d581bad37ba0c73dae1dd23ee6d6743f457232ceb309b25860\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = c0a94ed1c9b55121960dc8d128d4dd62753d5198120db43451504287097c746d74b6be35cab6db103c1ae88189d91ec2028b71b05ee1361eff41b3eb191c08488bbcdde888f91d296ffe68b5a881611a104db77b8d3f7dec932e542eea14de6b0946cb8450455e40623cc9869b92142beabe3bf1e50a6312dea264402e079c5bb78e2f01dcecefbe19958a13078492535600fb052860f673c4046178a7f14f4f316f476b595447ae6acd2ab098f6c9a468b5909a8ff758faed6f457831583e52be6577ac693f3b51984888d3977e5f1d70f46e49e72d0cf46cdfa99047a9b684a2317c9b45cfd450e7a470d147677ac0dfbc6447b6d1dd288ea5769b7a6d6d38b536d952d256a1f5055d058eb5d7d8da33c35e2af92814384ab67241422c2124b30c8289fe7c506ef960f6fd65248b80638060421d1f274d12b5537a2b99030eaa05571dae32857fdae6482a6c989e987aa874a2ce5286d16fea05ca099cce49538ee82e2bd3991ac9aef37cbd9f5498e86c742abfe6778aaba7514ad826a3f53772e9e740df5fa8c3e8f88e836f3f74f743023dc31a49897c6236b37101279aa77f605d6f3b0b4b4ada7d2116ef95ec2ea3d93115112f4542a5d1309df787a78295a0b2572fdcb3f0e1eff6c53537488ef7622d980d9a8a2e33a9d69232dba00a6496da1ceecf055b78f196d3f67c80cc6931fb7c83934d1d44a3749cb19e77\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = c46b6e7c4963cf7d9b40d58052d59a10d3a4636dc71164158099e3d3071b7dc4c706bf3b2d8763ce7f31e7829092aa74d2b800c0274e4d8f203d33953a4b7a5624ad8b8742a2835c030bdb022a96354f930b8ab6608e8c83c889ac5df6c27823e0050c3cead92db5f3d9624d7b4af915e4215bd25cc2e3138ffa07021e5460a036f6c249ca842e8ae704a7c252c7de2291ce101ea28665ee436e80b5678fc84bf12c4bc81f35d813fac8e71dbbab0320c0997170b07e5f06426e66ad7e09afee86c17224671455cfe893c2966b1fe4ff0ba3db1e4ccf541567d7966e29b132290da4705e9769e76e7be4d9caddca5d2c1aad3d0ff87fbc136468e0a32583949b92a395d36d856002f16c251693f147dee1dbf90f05838b25aa43712c2d85dad962362976423edf11631c4099b4b5c4421d9686480765c87e0bb046b2502dc85a71af6cf5264e7959d5beb6e797de18c3fabc79dd4d5b5e6d8f5dbd852463b7abe49c8602eee12b8b0d4a7bc329722c79d57504239f331d27a62e63ad1a9050d2dc3940badda9c55631dab5ad2bc9e6bbbc8d920274d54879220989ebb6d5db5ed6bd2fa36e1510a76a17447d7b1d8d2e9787c3a98e9684622152eb4f65c04cef55670556d747db203aa62562903d5f2293ce38c2920afb41a0cd94c87cd5c75ba84cd5b4ad841c97f32489562a8571cb282b9047d93ef285fcb867be3cf7a878\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 48821832360f4c8fc6a5bd036c58e36074e0404cbab3edf5f78e9a9a939b732bdbe5909d09d084fc47de1b6ea7bd1ee82d45167fa49934fa17fe2986bfd540b954990e8db0513872844da0b0b1aab4e7caac1ccbe6ca1a58d2364eb0fa52664082e92d7e05e9fb95b0f27f1a8c1202fd4d5a1b97eb61f4fc80afe72c38e5792f3376c32a01db7ade6704725c3697c65e4700e4b4c94017d2c169603b65388792de2ba38af6c758bf6456d61877ea3af8364e8634621e1fd8167c6af3255a44dc56e4915d4ee2fa77b0e1d3cdc3e1a0b2038095a6462b07c55fdaf5f75862d69dbec7db8d6e63b2df7d99f8b4a98093fdcdeeb680bd1631f89fd7fc667b2f7fa70d3794edd7dc70d3848fcbf47d29132fc344d52b058e99d9146ccdb0fa16b81abb1f1144659eb79bc0d3cdc159dfbe64658d78c0a591f50f88fdeefbfb89716d0c8b7ae983cf00cc0eb8c14ec18f5f7317393dfbefd81774f89171bc1b46e6eb0a9f575c8d31b3694184f8f121188f10560324a67c755ccf816632d143679661c0be62869b20c8b99d752255b67bf8d3f78185592185", + "52d34267e82f805c0a6381e7b82fa862b1af81f96e7fde3d59d1b1f883822131f35a3a7f8607a492066d4958a46a339640533f431951c84662604896f04be007578b8fa0be96ae61946ff4d3853c021eee29541aba68f08c8ec32146058745ef14fc1fbef93bf601afc1\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 130eccf66275d0518cbf167b6f922525de36f21d9d9ad74483a34acc65da996d1a98825e1b39281415e8724533b5ddfacacc7afeff1aa28e1cfa8d079483d35debe4ffbdd9cfcf06ea244266ce7444ad91e66fcb1d4fe7bab93d29e69726f6fe45df1aa684304e160c2db01b39628b4a69a1ca48305628d3e5a82d7890a0bc44354f3b640473c8d8f82a313ebe86b07935a94e6ca4ca06170227984ce2f8d20afc9858246048b96ba4d7b62f7247bac17c8d130046fe50e7abac7e8acee2e02cf68d6f8853ac58522751853e89eb36470d8255f43924138640d7566d0d2d66d07d49d2056d3b09bca497ec882c6b6010829f88ff48bb526d7215bcc5613c5b89d4cb12cd9d41761e16756b7164b237cddf0937797bff6020a5158bc3364afb634d0c292df068ed29f5e3501c1aa6961566c61d2641bd3f9012c2e3e346537502c50688ace379155910d98104205f1bded745f40ffb766a45dd90d085eda384fb3f112100ad27f437e56cbf4e47180ae2d6424172664c11136986ed53e5aefef07b927b5c46be8c5849843472bf07e6c49f2f68eb6d619460bf183f424e383b5c858e36c2f287f5c034c9e60ef9a92ed861abba9c057227fdf2daceeec04faf1680751285615cf03734a8b07aadd81f5762776a235258ad5962af2db8c206552e9ff77dafe457572e464a0dc324d597f35d89e0cefb8d0192a749c8ab8856754d\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 4afffe50d1173d25bbc0f2b430589925e1cc85a5370b32b3dd4cf051fa80185552ce457146372792abe9238bebf6727e8da06c652ecae75d1a33b254a9440b54cdc0c2f1fa5f82fda4826ed0e0bf230690a451f14e1c9fea3939a141d354e2240a7d49d57d40556a84ea0b1e27f1914f7acf67865c68e52f406228a0be9d5619dbbd0b090928ebfd87a357d43218a0d63fb5e87cd85f4673b0cfa45d578e608476d6e6e7fb632399e5ac7bb65aee1bc43e86919d5f283ac30ad1b21bff19c5176b24a3c5991f098decc122c35e2f809b6afbf9128395d126350e2a9ef50130064c74e30e34ba97d33192069a286214e4d723e1464a1eeb804d68dc5408252f1c420b98ae118fb50e290b919abbbc379aa5a1a2cec88982feec6029a7018e2b6353b7ff5961dd6e44dc72ca97318806e24dde46dc0f1434c506e070e31b76f4b731661141604047e93018ce7a2cbf3c38b8234a30498d81d0120fa70eadf890ced155ad5d486aa4f1790bf59bd9731cee686b5d4d115bdc1245079defa9092e839ab567a6e741c8760f342ff0f004d6f71dae463d04053b98d5019407f0a885778f7c38d1f6fe80b743354fd1d4c5f7234821a41f6fee658500242763e339a6ea362db1e9cdbc7177733f17331abd97ac4a148c8e2c6dc7e6776853d37308f3a3fc1a5f2724ed1e6793651da7b6fe9e8e8198e58d8f8137a36ec5275622f1018a\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = d90cc3b01cda923057562eb11c013ec3cf77da6c325655a8965eb426fad34786b9b47c3849906135d4a7e9116ce1aa3dbd489345686fb7983947c03ae82ad06faa44c95b7df8a8bad4628a95b8164f75f59f21ae26ac70a3c60009a8d7fbc7f59650d96f19232f8c101ba3ed1127e89f2f8d10c4a8550b0ee5a163b3968c9e252f13a835faddb090d357386a96a0354ab84b119d8eeecd973129edade6450a95f3b8bd4ee32f20eefa54275c5f522bbde6906664d5e612c15b5b7d55beb1a36880bceeb0ec63e62c8f007a836f28759247f606f7c03ac934d1285fd8886540054ac8212f9fb55c01b2aa7d3726c4de0fb9df4eb3e883fc479e51640602b0d306c117f0fc48d71efbcdb898a2b553b39333d31893ac9d7fc2ba13f4334baba4f9f4147aa072912c317f229f04571e56f771873bedbaf8c7641213b06509e1d38e5191573842690bd17d3d16faa0e4263cd3576ae8e25da20037e4701afebbb0e3c5ba8baf2eba91c7a63601577406f7fead119d4c3f0a216f4fda7fa6b869edaff2683b52122cc60edeb5b5536c8583c39df7d1e0c61f7a5ee19ce7c879440258a6b07483210e3b50827d118d0386cb511ceff59afe6d6914de84d7a5ed447288e046440264dbb48dc9249226c92786b5210feac2318e2db91661d96542a6192e3fcdbef679be33a8bff8d31e66ea41cdae65d0aa18c3c460ce9731b14d967abe\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 7b6a7e872b1845f321814af7b20fa9879ba28e1e1433b718a6fe0e521fc8725e57e4ab0cde1d53b0dbedc5a0cacf06237b2eb795e89b8d2fbd0aa22711ad30849b71fd57d67f6eb6a2a8893d8ed68552c163811722b405330040917affbe2a746b4d13428198111ac3e4d63368ea2ee2e3db0a22fa04552d847a0ed9b43efa3dbd0b71e297c4baf9e30f94b06b3f1ec0553713460af77cfc71e537ea1f794aecb1105b57620042e75b248189364c27980f0e4b382fc54cb4b7b2028ee73d04aafc71e77e19e751b1106b3afbff80876da433e13e4607a84bd4e2de85cccfa94337d818d2100d8ab3818f7a973d7164831e9e21f1c9510ccebb4d4cdfe93212757ef97b40b947a10dc846fe5e7d5d4f492acb3284a318a11c12aa9c2828013d08c68f854d0ad9278ae1e88ba8d6849fff026126c04f4dd633e6d35a74585cb4cab87848391fd3fcc77412676ea5c85fca75d5247c283ab168b48173b7753bcd6c20607645fb51e21f43ad1cf5c1968c73e4da07933ec68829d569c5cc270cafcc83015fcb6ae48e6ba4b4542ac802f398428d969e1b2ba5261e9d7ecec0f559b54a6bf1b12727dc640c8dc70d71f2876227f5f1b2b8bb068e94140eb1edddfd4cec54e9b93e0d60ef2d36cf4fba069a72599a7f856f9b12de77ceb658ea7ab615ff3606804805de196309015e4d4f3c73e091e8fe24d9f49d0f7107bc719e816e\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 5a6bb1b516d2406cbb398deafa93858bf9f4e3d0229bf1b36baf7534265b53aec5c039c371d1fdd6af2ee2a5d6e2af244415fd630443cea8ba4d796f48212ee3fca5815712be72ae6a68f36b5124bb0d5721fa04da44e3a49f02d14a468340000e0394a8f2c7ac78801cde387dda6ddfcd653fa50534e204cd44c679be66f2aee499fecd63946c5b4885baa597ba16ce2cfe9af382879d68ff06139fb5e7d1ea68ba5bf4f3570a1912fba89d6dc5271b588e1684c8f0b9f20e7cb24916e87be1c4600d2e434b22d924260c1b934d630df3adb64b79662925b09ac8c66f8e74a49868f8a7ff23280f5a4d75c9711e59cdb24b3021c02e3dc993161ecc3b3fdebf48581b2984e87ced238cc797e8a173ed0df1b9a8461bb56348f272a43b2c8a065b83ff9fd80e78ab7aa6efefe603a3c6f7d1558c4e5eeb3a89673250a9e15a3257abca309774728813ebab2ae0f4d4cc4d703310a8df68fb7e0fbf58dc280c139cdc14be97cd9bdd8cfa2cbf14ce7cf94f9191b1077909882ae4a181b0dce8aba69c69beb752c80c7fa19025e3d3908108431b10e270cdc7ac75ab040a8f0522e890f1a95b6c1746b9ef2200400821dc4d85ce9efddbd51b1580377b36326ac6b0d88e0a7263c3815605a517cee5cb89bb118fc783ad3ed56700ac82412255469c38c6352b354a0e8d7a0d0a3ebb98791c18aee99962c0d3fee3d49180128f1a\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = a6f508b757f7a2299a0f259e025b53eaadb72cb0132983fac955cdee1706bb1321463634f707ccadf80291a45663c1676b7e7a24fd7a195d3ae8b1f3aa42ec55b5bf8102c1691a9f6feb4d6462e66219a9aa1a9c85c33a3ed123a6c563de615027becf2722bfb00b9427a641b6acca929caf2201630636f000e252246d979d027c566de5815c19a06edfba163cf0f78e2a73b926ed59e1874848d91a03e579289cd9dcdae852cfc61db8fe0153ce966609cccfac151157643aba1677749e140a81c5d4883e68d8a582c7519c9a0fd3600b1f813afe06b3f5039ac608f5b189bc1c5b0fc2fd2b3d91e936298b312bcda6554a51cda97aa9f22f7118f565017f5690fd500ab90176cac20c0251c5f82d691c0695ca35c7a550e3dda3a20c7e1d34870d04a01e9ecd9f0391143021a1328c74bedf8394530d5868e0fea177c02074e1d732fae99e5ef67de614753889d00c11acc07bbe61c5081659e2d9994f81b1510098a7f2d59a73569c689c1881e0370e00eb9826cc95b74569a7bcacce467701e11424f5d800b910606c453c7e908d8357f0333b829b10d2621832b5067cef0780c8ef9a369ff32569ed2ea2054ed1e25f2afaf34b110dec648533f0cfb4ae8ef327d8341ac054501655235b7dd0e8aea8c93dd656d289e24bc80e90bec472e876a0f1d508c09f1c8444be6e1030848ed6a891bfdb97677d30b8f5f5fe2aa6\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = e26e48dace9b39bb74735c99152cbb6703468744f52c44b21be6e3e2f9633842ef01ae9c38974b4aec38890f7cd3bd865a791eb47553b939c71979f16fe3b9d60c68545839b6089bccfbecc16abc2b9abfede4618d6913ec2cd7848dcd3dfd4c85ddbceadfd2277997e25239f66a3271036912d5974328d439b8935a10f84b04e29dc56e8f6cd851a52c69d658c369a2b5cee465b997c31320f3d9f8d578a25d28a43cf383064eea022780a28f4ad9f0962b1352ba441aca836189d2b01ac3094a68c18cb49edea1dd348aa32374e5d5ca329184d0139ad64a433e8899d41a448bab67f0350460f3bc081e32b18be25643634f3f5769e8c8c79589ea49a471ef9239086a814d4d8bcf53f1b9c9f327305d0d4e5879bb7702cf351d31e436888c63ad64ea53894c5c260dc7bcba2fc138c01b9320656a5cc9e9fabad0cc0f1e68609edd51538babcb4855e90debe0e57077860c4d310891405aab95c51c87d48d2ef276e1edba36048935f1883b69e6b09e84ebca727e6392d94d2325ff943e2d83800127290a6aef55c2f04faa862c17448952c7a18e6d4998d128459fddd24aa8298561e8af09d94f7ac58db509d376132c1133570a211604701a52c233896f20783b86d581474dad71aeb2a560d325d55e74abe17432143f7bae58d7948b2c743910fe3557731d75486f38bdc942dd1aeed216476ebe9e3b8833ef2ba97bcf\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3e1148fa9bebf37e875a51c52dc509a08497b6adfbda1a63565fb63c0f2df6f463be90cdbebca587114bf1ab32cf3516049d3c6530ce8dc7b7dfc6a8c4a6dda8221bbf6fdddc8965820a36ceb33", + "fb98f37b0490caa2a9e5c3a1af0113d92ea9c6df0ea256ffcbf97dbac6316c6b5fc1969b5a3c390fcfdba370b4d802b2c3e53d9ddbddbc888bec7384322fdf550523e1492326434b77e26fa51e213c49606020e3547fe10b7949f6e734bb4ace65d1fc45b4a98b643cd0917aae9315833fc7114a154882bbaac999a86e9ca1e1f29ff2e4d3bf44aa91bee7ee18647a3ff9e033df28a9d34e1f3eea40c5848a39c29bd8b36fcf0264a58ee6586cb3e351eae22848e15a482e9288582c1505a917064db22909b81ea3718ff66c2551bf0bb72d210ae2c3568b71fa654993f75620a1e414fda3eba16406a6a74137752e0da1f9e264df5a025807547c72364682fdcca79dc040fd013b4b4ed3f83f5b2d729640f393a47ba0b4ecac45692ee7245809246b9f010896da355f4078ae0788a007d7fada58b9254e0b5eabe4e4749684c481b940a58a00db7d4e5296f4a5fcbf8a9c8f7ba51712ac64fb3f51fed9b866e86c5354b297796e66d54f3ada43948b5c0605b34ccd39f7c39112ea54d951c88b166c5d7190070e4022cf232161211dc13668f37f0b61602e51aaddbfa9c92f43ae42e057d89d94c41b0e93e27fd8dc8202a\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = b99fe6f7e3d7a622bc628c60f1a8772309c2ae74e906aa7e0d7c332f991629859edf934f7a38d65a586a646462fff53fb764c7eb9d74a599c7561834c7edbb186c95341d7f2832234537d8c7d16d3722da8de0c4ccbd7f68fa41e0cd0259ec3cd70f25993931690d467351b6d6e89eb59e36ee9a2c871b704800941f2dfca80e4ef46bbdaabbe3ab74ddaa413b6d8b0a9122112e925f193e0335071fd9fbb80486cb29683180a672bfef9e22bd992d46f996b5de54bdf8b3772282dc9adfe3b05b9365359223cf2673b701cf681bf97d9aea8f1425cbb8bb0474db547024220b3592294c2c08998061ab5f788ec9c1b6f9245e621bc68560446306d6579698350132a89dc650f77b334c2d720d5437b1e455627d2726d88aa683b93a17fc8884d0481d00765c7708105321d57f18d64c8268058c94787acecf693da8c7cde204feac0993af053f5a91e78ebee07072a4638eb27a660eed29c4b4183639c51b700eb11e7316750426da74c9bea545051959b122753be9c709ede76d5e0bbc21427f95f8ecdcaad7e9076d1230b363a492bd162441fe22210280982138bb1e9ada871ed719b7f9f7a36e4ff69a2ec2c07d7adb421dec61864e608613bbc539c1666bdd6c2daff21c170d692fe923651f2aee28a88a97b3ee0e707dab503337716cf1c447fbd181f71bb521c1cb10ff2c64d23f1d64c8e1cc8c0b963839dd1cc2ee\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = d9907f701a9e5696add73ff7055d62ade27bc2f945327aa20f2e36cb9e67666293eae511e11db7de1602493f321a8eb295ab9808c1eb2d0b10eaf78002bdd6a7e65c2d279280b0374feea4b9ec1772edd57b3d0bee6c2c43a9f6edb9c6cd4cf15781ea859eee86e1a354c277549960e05dad60b83348f43a2a8c16fa2735e8562a811bda1ac318102c2f349fda3827b6176918bb8d19aff195d9a7f15d3397bfc437869b322cadd8582945ddaa4ee0741614b62ee2d322015b32da2ae6f3bfb4a4bc63680eabdc8ecddcfa13d56932073f7f96aa5944831a0bee75dfba553e6bfae8cc67ca893116acf8e7a9920eae393fbc40eb34120ce135659d95ae285aa00f8a77431a9a8f83e48f0840bc9fdf891130bf71e2dcaf090b6a87d427816931c5a77ca04b8431c4c96e9b9240dd1b89335653de84615208b9980ce33588c8a145b373f4dae0bf1c722a90f4a21939f9d400f4adcee397a3fb49bfbd3c745936985400eb9125126c5c4d76dedb75c11b1c2a4388d45e1dceac5d467a8eed5cefddbc663ef3c8d853ab1e09022e89218b042752955ebfad1447bc113e21c0abe32fff54bcb2b68d8f18f7a7189d5267c662a7831512b5c419dc34d452b2120642c31c0ffec828251a464be1af84e18768697e88ebbad72fd3a656b1eab86efe5223f521867359aa9202ce7a3cd29e2e20763e660d3bf49d602fa15cb2411def61\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 8c1e88b818fe8bbd9d82efbe963b9057e1a9758a6d3c22c9724ef766c3dccdca775bed485ae98d8da9a1fea495b5146ab3106e41e6c73e79290be5dc0d2345af061a8c9143ab809ad84e42564e6484b9711317823af7cd16a88669881227ec2879d8db30f19ce2e8eabccf6d4274809c6ff9fa778db591937406e3221650c3f44e676e3a9df7a6e405bd55e756e3cf19c0b7b2796eca70d836327e10f490d26fd6cebb73c45048c9451c9490c3ff4966a2c48e5c41c35ff982d6bc6c97b5c99dd8fffcd8c3fcfacd65e9c4e7a3b3043134891457649770a622384e9f2c8414d40609f7c3644020492fb84ffc71819713867d45ce5611cb35925b5e1fce8274457ec3608cc7b0f13ba8dbb65d3ce6a3451b5f22d3a62340f0b16669c5d128ed1c93af2dc2c466267d7a09bf73961d14e597d221ef853f036878c3f3b66ecb34a519bee3ff8711207a0fb7816d2d9cf0d5c752c0fec89a08a6e724600f5401e0712296e8c6e4e7f585f72549cf54bbbd3e28d3499310390e644e89f509162e005187b9e52244acda342884dc7964a880d59e5174363bb3e84310fc78d7d2d2b6cd70dd6e01ffb9fea6567231a0f7114d5aaf8741500f834bb03e43e74a1e6515e64475bfe96b8ac855a107dff12d4b4f6f24fd7dc5d5fe254bce1d946522c50387be15c5d6660ffe3fb9ae1237538c5e8f3fadc3c7b984907dc0b7c3b902b5d570\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 568b017c1093af7eff04290be0619378435477999ece4008f8a4829fc668d0f75dc7c30a3822decc8df78da28ed12d1780c4dab154887609e2ecbed4e64b22970ec500567c6dcda59979d284f7944bcdbd511fb0e0f3850869e523c778ba53832e1c0806bf737340f7731c5126874f99ba0ddb38f3c2ae5ef879ee0728ef2a9bee6e08fc2d949de4b96ea8a6974b03804ea2574c210f06db4fff6e435c5b7400abe6baf9df97d56432d1082d46f98a302f2ad7ee19cf60d46103eaa1a303819233c62dd76fbcb0ebb1b48fcdbe462fe3dcc9d56b7ee57cbf07988bb6afd1a77f5795c16c261702fe6eadc228df8b4ac3dd371e10fef69f261b4b7460d174724fe9b676c91e24d62a996e7a877b7674d9b0cb01083077ebece7087004377a4450f3eb28abf73bfc3be41ca03691727b1a50409aa5321139826cd5ea3d830617bd1f8e40fe68b5f3e2c7d43dc5ef59482df795a7115a20dd58851c2bb42877507c099dd7a5cd29931ed4153970d4d1d29b36df95d1460f06396757657e3b4ee7b981c810f870702d48ed10cbc11f06595bf72386394c953da2e187a6db74b673967b1e71cc7f69d89747c3f7ccda9eb4f2e7df3b780bbd73ee75e873e5dc486991385c33b25a6ee5fb492bd51db6960e3c9452eb559413ba43140ee14d7fdd5fab8267320e255ef0d55e52680c5c518349d242c2ac2d7d0e3933addfac80e613f4\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 8770c11ccdf5fd9459f0361718db0e130720d2eaa098e8d8229c44d348b8c219c6af4515d33c86f620c81d8aa2bc8aeb4a6c40df8b8bc4a68dee303a0a1d67e6dfd8a69ec38ae7b09dcb4d513a2600e1107f55eccd5f5f1b95ab3c5d31bb56b3be465c3ae323b681d95be15ad1b048bbba2f5325a030098f2e0d54db13760f635acbcb1fa73dbfc695f62720a5ff534631108cb49b20ba3fbe339fdf1df7e14bc583b2166104dd053117a5b2b35b97a0f241cf4dcc6933d25bdad9f3bb5ae606d69dfc33b042f755c725296b942edcf87ebeb4aaecec9aaeee73c9bf04354d76130606f6e56729a459bc950e5cda8a147ce4f578796e3ce1b35d544d2536dddf97628e9acb3c2bca83acbd90bf6613d2bfc31c6895868c360de56b6087c1015be043a166fd67bf7f7865ad46184d68e500ce2d919ee4972c257c2f09ba1bfcf97a712488dee5db462e4fc964a7c7d7d99536f62c4b7ab2c18e8648deff7f2b21fd79a91b1d9eae5105d1dbc5cafba92ed803aa94fac2a7443787f2c22dd65bf1be7e40822dbc8897df8fd97668f997f716b460d0ca19360281886be8769da08cacf41deb7c497aba4e55ff2ab3e012a559420ad9e7730e9c218feec1ce64abe1f76702923eedc2b3b21c171af98e4540548102c586616e3ff5f97ae843e909d07b5b81a198b16d8a8b1b55ac21a35fc657e52bc6ea549eda09e53fd9e8c4f080\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0edea314cdcac3303b62b333b886360c775d9170e35dbb92d5b113e151828f8c244bf9ef45c607f3b84fdbe2d6775afc74cd8584dcb7b36c5c8deb47af8839c0cd4f1eb319bc88ab0a233f7ba897f96e60b506e83c42b8c35da4c1796bd33930c38490925b13d6ac1800e76a0ec011fea9a6b97cfc36628e519ca8e8422645f61bd26efb3e963f7a3eaa661487bebd9abf377ad9e9700adb2ea6fc60dc7186644afafa6abc6aac644d24efc726147a99d0a745c93ac5ac0d17a0c51308b3d4ad430339543cfc3728902268d024e35c14deb8454d39fffd638289862c7547653346a14760ca700350137cf900964ef4497cf10eda0035dac8d6cd9c1e8dd2410698b5fe3899c2d62bf8d7812c538512fb9ba593ec583643ee162174d7e2095575ea66df5dc6f970fe1add50a001a9c4f8b7f730ceae488d5d5b8fa8a08779a7ead3b49c6082790e35e229fc5532519ab6dfeaa190de89671ee7ff2cc2c06f0a1e056a86bf6c1aaeb02c3c50a534757cf3eeaf899a4866d67c31ff3c480cdafc2042bedc67d26de464032778e9db384df0664246d2514d72e1ba29b0003d051814c1c40c1ace9d4b2ab2d38415dfc6d2ce822de2fa3fa95b3f507130d7664d304f6b1d6efd67f817eff71163d9cc46c0b0069834b60e17948ee101d19311734ae77151c49f283417168518bca3d5ca2d94b4ed525276c363dc35fb45c06a0f14c1\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3adb1ea98e1c3eb5412c117762e5b5e98fdfd21e7b51e4eadb5a59704615c2b2d0290a14385bf3daa87c13d374628850a2ac4fd9a1980a015f1a2cc9743d6b6c0e8190e7d9620f7aa6dd7171823a3fe92733921ad95004eff8a3485535fc9ed6bf2e3ff99628d1fca044bdbdf9315e6fdff6d176165b2520b44dba7c17c4f833228ca442bc76f96c957e13c4cd1e3c3bf83d983e92654a55c56dfcee9ce354ee4064a1ad3aad03741825b7b8b155f4ee164890ccf470266468898f8822c964a3f00e3576a4d82e680e0bf9498b291cec1c55c963f2bf6354ea30d17f26c755bee0030b2f97b8c0d6e04f17295df8652a1df84639ef453fd9aab01f1659de48368c5761813ee64e9ad7acd06e5a1f47a26c8fa9adc6af2868dba525b01fc4173fb2", + "4e918a1982974cbe2b341ba4056d412cc9b24f06bd5055bbd2da558223c3b0cf7a6dfe97b10c96f669280d69d6ca0fd72d3730b9a9ca6451bbf10ccb6ea80a0ee9896d1102f5a6364e54b4c3f7539c5b185bf90debc8403e060fda58cbadc305ec6055b221651af2cb18b2d1eea8f34e6b5f7bf3a4eca8cc172eaa0498528083913bd42514c832daecc0ce11c5da1fd7665c741f232cdf01024c83b4140be2f34b2f550511b5d7676710941d5363a2bc837f55bb6df390e95929e2ba1f4f305823c9751aad2aa6307ebb9980794c0daa95362430290d6b1e50161c3445bb7a\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 86404f1a251b770891f3fbe1a6b57add1a0d6ab6137efebe6405cf37a00b26f0a5acbf61d0fd46524780d554cdc4d6c6f5dd100e3a2a90c3de522c5491fd433c559726e06da3a0ed73613099fb17c7b4d3234b152ce4e0e6d26220d49f5ebf9aa65d34a83ac664f47ad1e247c9a1f2916ee6e519c2b4a3eef4afb1049c5f9351e15e43ad8d66d0512edaae3dca0e43dce60cb523e22ec14597c6c1da3d571142b1369d2dcc7c829845f1c59d23d29389cff0f6ddedc4b18241d266de5658da7b49118623b212e69b891b3698dfd0f63112d7a63af1be9a8f8ba88d78e3eeb5d846f71c0d5f6ec192f70a686088953e6c4ee1e6463e6576fb18806209225da46eb55cd888812d563f8d0dd403cc8faa2ec984fb0000a8a847f9572f3a0447a2575feb220cb928abb019e8f624d3fa1a6aed2c46406dcd9b13857f08a69cb59a9ec936295f67632a04d68230da4452a4adda23c12af159f0b5fd5afa282b454365cb5e47c696a00e1102b1bd7d478d6dd35cc68a91680e6f7ebfe8b98086f1cfa0ba89391d95733888093878be7d83ed58a0d758c64077fc42089dddb2f4ab25b312ff2e4cd545a507b0ba5e98372c9f61c8f8e854cd455d03382f5d95a985a45e17b5cff6ad3e759e4c00fbbfcc73e1b2f695f9c103f879b05f0d2d7a8b89070ba578a56bbb4f072cf81db13bdb2cf4dfbc744677b1a175373d075533fc99078a\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b6f794713172695ae6a9b6c10489f3ad19fbd363329919ea81824c7e394c38f1498a9bed26e7edbe1974feb098d184af43cfe6e2ec6c3cf9b79451f96e0bd49a09a6779a351826461c17167f47370325599a30aa61365084ccd505e90128ea8f98dc54f08d0e2531fb03c109360c3fadb01d597ec51e98df1739737c6e477ba5f4de2d20025602fc5858900cb721da6818b12b6d9ec854dc5b0a4d472f20a7dc6a1ba15b55c4f5c6ec284c9cdc723e208a31c4a3a0ad5316af8a83839060dfdbe9e80e7048d4cf4c6c70ae1db30597d460ac727b41088e21a967e43974048482feac3b76d3fe25cc61626ad48929f83a3b17052d5ca36025095ee06e7a767ce2ebf40e0882191942ed7f1180cb0c449d8dd35306e3c3e6d03881568bbf4adac1274f354e345804e65bddfa54c0fc340fee750672f9a262ab2b54ea3d4c17b6f7a0853624507b320fa94af2a162f401a6898b2cdda7a2595057934656863945e8e3a11c4897fce95133fc4dfea279e94464889c58e7483116559909c405d4754dbca59c65082e9094d116bb7a6d457f9d6efd095882cf412f6aeb9c04fce6508ca47512fc9b802a57c8c9880f66c9092894217a681f636d284109f2ba1ecc6fc62103eed28c93832c9f5ec04cbe535ff9ac489667d48a1e78def8680c0cb81174bd51dae40df4106d65239935455863389026e123165348f46a1ec846c1043fa9\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = dc886629819f93db9aa51ff96f33a3ed76a83f8aef11178e596785c068195b1ca53a951896558786b2cb3933ac12cad77197a94adcc77542acf2f0d9bb733ec6464c14dde15f4b1dd281e6256a9886fdc8bbf4d07cbf314e84692fc3571e2f26a2b7fc44f51bedb668d109a7b7181b2be96663e9bcfca0e8b73e79381bfd95e9ed7a1622cf1934fd18d0f1bbb81b000218a6ecc7e26b20cc9a8ea96c9c34742cb7243fc8135c89a8b7e793bbc433ef09f9e3c8e3a813b0831717ac076a5e1cc58f5055745c96d25422b0f435844bec0504022931b3cff27a4673cd687d071b0442eaef44dc01ce9cc24e239da85963a5ff50d16d74ae9b45418c5306895bb597bf64e0cd0a06bcdb2f08bb35e672841a092ea9723ed665129aeeb40fdeee7d843895a575e2dd757165247652b76ee39dd379b8a3c39db7f7c8946503f8b1e498fd97dc12f847f2f4ef269eb37e1d602b2df249ddf3f5c4a99ce5d0d4c131d89053e8ae848a2a6f281f7555fa2a61782cdbfdb6367a5fec9c61f5c4e2ee32003529c33c8a4f70e30997cc4a74c69e107aa658122c32ab864e1b33f7bd9bb0c5329e0d3195bff711972fc11a10580e16c0f4049b22a955872172f8fd4cc406485af45c34beeba96a23e78183a400bdd3a9d3328d5d2b3b9eb2da2f6f6b95f04b6da502d0b4b1af9704644309ce39378951cc86a0c277fc2a76f1e2c39a8a95e447\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5a8c242268d4abca2915e7ac989fcc7e14cdff7982763487ead667bfcefab1022daae19f137a8921e24e1326db1618757c3210cd67c72a893c09e112915446587367f7a7469d0cfc1f95e40fd19fbf653ae1ad505a71d12dadede3a15721d3c917d7822a8365c5724acb43f45283511a3e8ff6e5958974eadd1a46296a7737802d04291f32bb7bffeafa8dd1325173faec9e3932b45496f0aa7fde91b1586d695684c23536068f1017b837ad2b21238d7ede902808f2e756db620bf145ae62fb9de07fa748d9f0d98599358eba3ac24571d015e44dbe3f4227c369e551005662ca42711877cee27c02a341005bfd393eb42a1384088ec42b4ca574ff548bdec9e1125c67b396da765944d35654776043baab5dc6af360d799cd70a6255a5691cd5d02f6cfacfd6d8747c735750b1b5a6746cafc8237d33ad1d13037884a21b7ba5c897405c34e4ddd4ddffafde442ebf0e34e88b101844bdb1542ebe432ed438ac7cf7f6a1798e8f81c0c296e266a710e83128c6de317df95a01fd60fe899bca898569c14e89edbad7b847675e511429bf22bb6da4f7f01f832916eb8c92e53913b433ada43e2ae909bbb13a05c174bd8827cc181984066ec687801c325e1b694b8fc2ac14066053c20ab52f9e34c3bc4b11584ce3e5350522f1eccc7846541b9f4857a20a13caaffa99b7c0c7c7575ce63143222fd9bf24ee8193d087823a1c\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3ae7c74e597df065e162d4c2a183a7dac48f6281c50f5e9ed4382e6ad0df3256a29c9423038c5642c17d2d28b733c0cc89eabe1889847f3e883889f4c37cf61a812573f983fdb0c8907c4ec15a46efbfc66a3174e0d7f718ad28cb86bcd3de32912321882f342b47bed73b243d9c01003ed17389b08101775ba979f7c15dc2e27fd7c67249b38b68211373592c59c541b324c88271c21144e924e78b37a40da423f9b61c59d1af0727ffa6e90719c73230feef6462571986185b47dac3dcc73818e84155c9c93075e454c3739c084d952edf1a6ce208cbbd60595fc18ac560c095522639646cb6787930ca76b09fe40a13a2987c997f45dfa9ee981af3437e4fe92cb1e909716335142cb98b73428d0f86630d08b5b48b9264a869cc68c0c25f30774d145c5067646a43d161313d0bdcd2e4602cfcc1ce8ebfc91873643542adcea5806c7c52895d77e365a2665ef6bd2a49ea86a96833786ba349f2ed6eeef4fc5ad45af3f12fbd57bccba0db235ac56594d9b9671f9b8e5a5e94ca19d84ebf68c3d588b16f14dc8806cdbbf7968f67cd25674ba28e051f35dab89690834111a1bd2fc8c20c12a0b517fe059e2318d22882e6942de196d52cd1a63b1594355fc1f4937798060472eed1c7919d304e6acb8ac022fb56a32a0b48da89e09ef8578a53f150ac4796124e101c531f5aed8bf2a010638c90eebaef8b9d4cd6871c95\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b489aef0ea7a3c7171468a91132d30bba759e3506289023b8d414e5b42829e81ec7257392fad82d2d54cbc2626df4f906ad3e899f202df6df5428ab992c4e2c33d3b4812c3f9eba9d210be1845b37363698d6bb3713003277abb0363b26989a30c151a65a0589bb25c053760219bd2e68c4b5e0a999b64cf7959e05dc427a799ea7f80835b44aef449c4ced5d708a9e12f82d3f4340f98eb9836d1471d76975188dae04bbcb34bbf5b65ece044397d3f05ca734ff978cf3aecd6ef8f2d7569e7d7828abee068445314b9ab143edd70c347863909393d217d7cc35a2e3c12285bea6d848bf0cac7530e306adf3f128044b83e3e2a0cfb2d22feb0af4c1e93ab79b706c903cc0a13cf6bf17a7e23ddbd0e92b68957dd1cf80bcb83a76a9001136712956ceec4523d9be19c71f4455f2c6aaf2f6dbe187b50cdf25855b3d86242404c5544919aed5129f07e2e24511c794aaa75112597a792fea352e1c8230e7ebdb6d48089efd8b85e09fda8d8f317d88792fc7ec2e9693edee4dff1d12acd568c91239b2fca4b6d5fb7bb8fea899976a33fb0e72162b1c9737bf84992d210f6374010187afc02fc27a97e07cf6604d8ee70277189ae97da0a865f93307c8029358ebe4ba1b04a5e06833ac0e468cf1ddf04490884c7fd5b776d578dcf73ffc813ef78d18361c0f4ddaa45afdbd02f5c4e7082ade911b2c69d0bc64d6238cbbbf9\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = cf90ee6813db19fd26a6fcde2185d2bfedf5dbe16a87f7b3e04379845855450091675187bb43cb4c8394a38577b88b750b3659da84c6de73c59c63baae39077123192fde07b630dbeb1df55462541a0286ad6029f93f61e954d9f3aabe15732d0130e530ebfc1dff8d846b37904ea72781ab7b8d88e31ca5b35940e738e6594f9c801ebacb2aa227f483f63d52d2200d42ca1261e21cae1424cde46b0f58973a3d73eba6f372637b3679aa31336321501f1c0b28e735829f841de63177c3772020cd446482a76c0700403859d9506e32c99afb0cf674a23c5275529467e65f0dd6e9b838493a94a0af4ee21719270ba83b19f93eeb7705dad959b837f2eb9a6c6aca8d6edeaabaa43175477d644fa4b2b3f5a8a243b19868ddbd4a199f0521f4f00b91399fedd7f7a45df6ef145d54e2019ed8dc56f207e1a4d116a2dec57aaf68b2b8b847524cc1fd208063e74d508bfe648dd8c3d909b3cee1b675ba8fc660cbd1010bb4cd7df3825c3b2279321a9015a1c88022c941db129684e1a7d2817e8b362e5d9aafac8e675923ab8e76aff8aac56e8a682a789487501076f664e16afb5ce76f550bcbcb0e4250791000585ce762594c2f48701654691b0d7b09770d7c9d4b24729d4138995654fed704c47bf1b3341552e1143788630be88d44e7833e3e76f68f3cc81695d1514daadc12349e5e4cac57453e262cccde41238396dd\n\n# tcId = 57\n# including garbage\nmsg = 313233", + "343030\nresult = invalid\nsig = 45c53db9a2345c4d808d6b309de82bb90b71431fb3cd7952a48d3aa90abcc9bb7801cdcc1ce324d9cc9314137219511dbd7d5f6195bfb78c85586ae9940ed29ed74ec036f94d440c9cb6750fa3e1389e3cf86acf77671e31c9b6876f80225d75bf18c2b52d96ba2274c91e1c6a0f18c952800f0a975a09e5b17aee54d6cc05438086bb71123bd403b4ae9e0523962cd1e0e5a36bb0411f429657ab0715269b6581c788cda17e806bfdcea6c244d156c01728446e12116e34d3739227817be078406660d8b84881150845aedc295cbf1e83bd3bd0bb7f2b397a3623ec49de587a4d2577e28d288931170a7a119a74ea9a1ad37e06f2913b5884cf563f4b367efa900edeb6948fd81a24877a429636dbb68d94d6a2a73514bdc4f198348f72acd57d022e295ba9829bedf756003818b722cde1e3e65595b28df3b95bc98a59dc3377d0bed0804221cacbb1f5a4f3f8d3eccd8837078447be684afffadcef59c240747172b30881cd960705d88c364cd022e438a1c200b98ad602246d5802ea71a0fbacbe62502ab0f1ed31da96ab5293c9ab6fa9b52674619d3525a4fc5a9d5ae32814f8f0e284a16d0b7917a578692b934bf3d62eabfb2f155328489f89f90dba95b2780419a410fc637b953a9d77549a877ee896977e166e3aa11123d9bd25ff54728453c4b42a5b493dfc88a3ea188d59bf48b8d75a608b8d97d198692483d4\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 87f22dd5dae36089e206d23ffa45fa5f0b05ceed7b35b24558d9fde749403d1a90929a5a34f25b6ddb44c5e40f2084b77393edd5ad8cdc3bc2853a1054524838bc1a4f70f2e043d4397c339aaa8a8bbf918ba192b225e758576e9f3a0b20a8d3ce79506223a4b926fa1bc302b98d37a53382b04d8e76e4739689b0094812d82e29148e297b217173790751036cc7c800b4a80614a18fee9b4885ca841a69ab44aeadcb81ced8612ec11596aa136a2ef0457b2e2c4924eb87dbcfe51ccfb4d229db275d8b9956c4cdd572b0255d08b8efd9368c056f8f147d28690f1831ecf26d70c66533c87616ad1dbc074cd0d3b058e93a0b6df107f8d713161fa38d916821bbc12bb654d7d23c59175a38694a040d1ab03592153d2ef7423bd4f8eca5741f91ac6ad4f25e7fd47d1f41ce63a886affffbcf71ec1bef39dc6ef09f1928c35a4d126a75332a31bc9ff8219f16c1226b872a95f89d03388084a7e2b55f9c04211ec1fb59966fae3446f9390a4a3607e6fb23c366401131296bdd961c76e5f1f19eb25ff8d887cf5f0e28b2a95bd8da627cf4673ac32b368cf62fd3e7bc9e5d1ca78ee406b71c5e965251d8567d9abb05b16dba5cead301c77a4771f08e3b290ee778ea4d7c43666a388efbe5b1a163e3d14417c4b318539344e86592e46374c1ca1b1423fabbe6bebe276067ecc25fc453180e0b1975d01bbc037342cebdeb5e\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 8d3e95a6d3e758dff6cf320702f6865ab1baba3c7bc01e5e6e1bf501e3766e9efc7a3e2c73d1ae06dbc4025219ea6275a92a4b361eab888d100536e620cce007ba3aa7a917f6e715e29cbeecb28308b873d5e3dd4b619c484b9a3d80567570e426b15942c30e9d39879099d2b6e483af3752397342b7d0fc4e556bc8348af4ad280a3d1b1ed25f18b866a8bfbed243cc5257e1b1e5b5a4527f26c99691f2be8bd6e6ef75928672458bc4cd4bd04220b81ee70bd0111041d612f66d57d8b33c251e2ef69d693777cc9fa8d5c9299d2643f7cf95f6992db44ac5524ac9f3193cd4d1bbd1bca5309a830d023c129bffab5441c406572fa40b22fedd76fd23b04f3c6871baee621cbd5dae7e6580a6930105f842f9b213580485b11a01b9788b0c27926f6094851345dfb47f5ef90abd14412173694b8a14609bcd35bb93f9c8d5abccf1697a1c81093afbd83b972d5424195ae6aee02a7c91dcb198440e305b265b1a6e11c1d2eab3bf7d2d4bf17a1da5694701501674838d4e5d79c3b005a4cf08a6bdf8cef2ae75b7e054ee6d15ab0ee04897560060dd514d073d9352d50141e2444c9eda715e68b8a6c24f1e717dd53852fcb5bcfd0d2957f83cc67a7c5f6ad9235ed8355363e02111925faabf8f78f33879b7205695217b780fbae9f69ecf48dd3cde100267a914a81ecd021ad0fdaf2a0d047df68a0a1bf73c18a8cee865de\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5d1c5c91033b1025d81faea8acd768139c112a3669ce1ebb101151ae257f299ba5138b7ea2ce123e927bfdcd8865dc09154fb2adf40ed7ba82d8e757ddf8363063259e8d30d24b169d4d5e98b911ced54d88353c7767922c502db33bd9b4f4dccfb6f5335a0e1839c31405f4c960b9d7a60d7827a405f3bab6296acfaca844392a2f3bb824029c209747e35961a9eea605b12a93134d0b24fd6778dc10699bfc160ab12e39455c027df447bb4d9c915ecfba78d6e66e904c5bae25a9fcd78b84690902dbadc14f636acae14effd84aa28112252e0706262106fc02ec191e891807be31046134ff7922f07e88737ffa9bd34732f87f3d459a53e5e061febc44daf18d0df04cf125ea93064acc3f257652ff1eb9aae4aea921dd89fc28fd7dcb2aafe5d9366e0f6a11a7bd0f67afb62d12efdb537298d787c328390951da3d778d107413b238ea66c766c1a1c3cc364679f8f99098a1cd2b7f9505e7626c6906c837deb1b1587e2c4b680c5a8133782b863fd4baa6b879a292312abe76492cfee03c20790e5ff7c768f206d0b4e3138d46cc515a25bae0d2cd9219f78b9b932a2671097ea651f709477c1649ab3c8c9875e76efac70bdc70671217aa15c6be247c367354443c7e527065fd1874d6edf1826600663eab61097bd007478396be2a2d837d44bba28766048aa02b3860b46cc71915798787ed59e06d836f46ec0c31c0\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2b5eecfb4064a56748b56fcef79277e05ec827298359df48c41c75a65355c23c678d616bf25f08f44761ae7dbc7d161543b4394c5687d762c85fadb0eaa6e098ade6bb80dfe922b88231fc296e269411bd40ad3f18c6afff66a4bb2599628aa6fac25e4eb996cdeabdf6700327f73f26905ba5923a98908ea13f326538e1423805b75d6637262029c345cb0fdc7c6acf0897f138eb3f7b7976fe129587d4485cbeacadc16fc31dcaffbaeb7bb51c49a4f8bdb15e14a3d0ba958f330ee3d7e805db7474c4a7bfdc7f26a47cf82ae35a589559ff7b39a60564a3fc3b9e4e759bfce76e1e2844368d6d92e0e8ccbe74045cb3caf0ffbc470fbac748f72b5455b9ee38a615bfc5009923890802042a4d273fbd51bb1b00d78904ba06b0d5c425333616af7de7fffc8942a3d42f79ea6b3c5c0696f810e6033b0504ae3db2c6df83982bea64c1d8043573ac3310ffc17e210ddce4b61abf164a5e447591e072b67d01537b525c5388afe87636011ca70a0f2e75f3afa289a1d9de2894e7f8377baddf252019f4770eb1d99d4a473e92f9792066c4ac9019c2e0915a74acbfa9cc8882a4ad243a07767e77246c58618169578ba6a24af4ef24fc0059124668ff988e58aa4f654afd81383ccf9c80e2efd7b7f65aac3369d4cab253d1725a414c169d5c25d08bdd809af264ddf0a0c0d95f1b3acc71a1db00bd3efff553ea78703e54f1\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 68c8e6796c0cab6fb142bd411354b642469102ae094ef94e1157b704ab4be36e1580adf1ceab32e1c94a2bac154b11c0d80a84284a87d5e5a48ed09f08639be9c7349e2c8b6d52190a241b0afa60a4993981b12a59a38f2ff89e14cd8c765ffe7a07fd6aab3e66aec6b15ba042dd6576ba9526d8a53816a8dec33a81b4fc8b5e6c4447f4db261842c12cd76a3f145269c6a488f6c1baf116624e697270f10f8eec462febc798bfbdf095593271cdf47db347da18f4c470472638b711da67654a6ff54147ed86aeab70f6d85ca62c4a374cf56d0aada38e75c8611343b3bbbb7a5a49bfa8ac327c70cf0a16bf8a700c95fc761a0caea994b9a51089dd90d4c3570717102f965cf78d2015bb6eb19711d51613220be1c9a964319eda9bd767d8d42c6390b19f053e759e027cef3f18431dca9ec303c175356a597bca8807e72e20c71f5d18285e96eaa66ff632a1378d1a38a76c1cd7120c5887a8b2583d64ceb3f5dbb9a0ea3151e8c9e86140b8bbbc5e00b8f1467b1f7dcee49204cc435ba129dfc3c714f144f9b6322bba7184961b496039fb5f015af34b55e2eb2f8eae26c63a99e7b4a04b43efd61b69b670afc39f5e7d5806320f9a6f8c85babefb617df537e2228f85696dfe2e2cca3c057995cb838eb0f39a390f257241de5f1afdbdfb33df3cc1098db7383bc9b47a3c3c68c3f66b8f2028d4176c00556479a9d32d96\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 523c906493b202dd0ce8893f31ad828c81f07140fdc071f030e6f44afea4fb067dfc44b80edad16a26a1a2ee1c048e1479924f114eebfef6976d595baa77cebce5f955eb34c9f0a6d4d2a0518deef00b8a3fd673508907b7c46e8326bb874f593ea3562489dc03315a5e29f58223a110be55c37bb88509369f84e218d538439f13d46ea315367696299f3966560d282a2c835a9479709242ca2f49d90a341192b32aea1ffe69a2d2444eacf3ab92c083e8593f6ba06cfcb7a0e843d6b830c7b2cb9e9bab1249348ec7b97accc6415c86353fdb158b2008a27baa12e08980f216a724bee7632c9c49595c47e61e565448645fb3b349699ea3a8023256f76e8df613f59364aef561cc970bbf94545518012d5898ec4106af592c5fee551861c7e96659e47f133b6c4e7b63631105367fdabeb3ce38c033d5a965a4dbbed1aff66104df32d237c0264e44cd938d4335fe5c67db6e8be9ca79373dec2631985854fa010cb5be92922a1695d6e47e013a0d7728f3a0dfd519b54e0cdabdc290f4b6eb2c4e3b102055aa1d9005520f00532a8ef3e76d6e6b2470f270aa2456c5bea1db924b863b9749e4b09dcd186a0e0fbca8b3b2f7b98cb64e3682659b3de80e3ad723344269e908c393e8f9b72db5776d51262e9a59f275e56e612c106182745d0e5e8d5299860e631f97b0a5356534a7724c5412ddcf52c85628ae591f40780149\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30b0c596ab84978dc1e37e88cc7af788047ce46c06f804c749322c0ad6bf2bc5608cf8a7aca3bf695a922e826eb5c3e64b46079d23457c9fb0b98aa6acb470de05fa612e9dfafcc492bead178ad8cac673420f5da5d609b518f1d0b9c0faac154b9310ed12652988fbcd7d5ce757d0704a5aa0b5144345f85cfcb5ee3138dc86cbc291713e50908718faa9badfeebcb73cef9a687db4b811d996ad92c1a9af7e44d875842cef14ee59d6a1f335d4cbb9e41b6155dbb694e15a1487d664e5c8e6c37956ad1292958502a1f4dd75e08efdb1ad4276fbc5c31804937cb175bce6e0", + "f734aaad59ef27c77ec6cc6267bd250455027581565cf91bcec27f62ca5e9a1e1b8b48fb47f91a086ed300c09bdf5e0a4cc36e7f4fa4f431cc5b00c7f7212dc321e9d483770397bdd8e1b22ded6d01ad2d12ea4253ae223c786b474f5751a046357d7caf4322e61ad55c2279ab06dadcff635fae5edd2dbb6d429759a173cfbbc8d3d537eb6cda911b290c0b0396b4b04bcc9a59a73b985b45f2a91612df57fc760a7eeba04ab1d8e728c7e2fc461553eafe21d2af3882b1cf95381c759714603e426748977294038ad528d82e8338f7403c78d78cd4d0fec8f6b0f8cbdc1fbc33f6d70f1cf792cb7066540768a44c4351319512ea70b20831b70682b96c1784316a1be737826e8f4022bd4fa84396f8dcd3ee4ba71542b6c6bf3b3ea9edf150\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 824ca998fad6a19067dec5785be1397c8e8b341c82b70c02960ce64284cda341bb38a5f1f86a428bcdd7085e939157ca627a18a823b8e3acf152391a8bc1f527cdbea011e44e8450749f0bd28b4568a30ed276d3866d2ed3bcf48e1e1cc8d9687e12736c0de3a1c0693913e39152d636210a3a50788fa9dcd5f747505f48f86b9a406927321a62e006b5a0eed073266efd9fe8d942bc64d1cf32e525e7dd9a036fc4e7229ec141ecd24e0ec67aa0e23f242c04212649b7fb8daaee515737c0d0a1b24a69ce324fc690d6ea0195ffe3f6f8969e19eb7505a56661243035edf27007b6e63bd5cb3abfd755726662a09199ef1a84b3a759cd86c469c5a7bc672cd4e9987154486614688fa3c7763d608f09ef07fda12b257f2550dcdf77617147d0c6ac25751aaa9b8e68210f94c7b2022a7a2659160e74d9bda4d6549a2bcd0930106879365ad7b807bff9971c6083147bb10b89bfd8611a2e363d0e0b77193ee746203faf89acdfd0e85e9efced46c0bf1f7d61c7778a7b8c091da878b5309ed503e9986984a56c857783501237326644b35bad0c50cab3f238b60d6fc63bf23176ae9a6d61e640e5b01aa20469fe5a75613e9da7131c97ca654377ff4f08d32048c99eea9414bf5e60f5d69d9f8c8787e12a4d526febc52b585764df437aa13b50f471fb9bd5cd6d265fde61fe159c4cc709bd27dcb3f18e333fb28265e9db86\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 844dadc18f1bd4b8bfcd206b0eb2163a3ac64e5fdabc81d17058fd97fb5c883af60bebb6f5a42e0dbf02cd66d3bc6c46787f581549bd22176d8e9b75eee0c10f64052af5ab3c02dd64fa87613b59293900fc5d2ed715d6a022ddd1572449233972a6b39b7c80ef408dd083e4f69ffe1ac2e7ec58153ddc52743c0a4caa9f58bdf44b4cf6890bfc99db817702bb44637a88f13ba92408d53145d693970ce81154124da6bd88cd96d731d0f248f76554ccdb34adf41fffb3c99c660ebe4ce501ab96ad52d184802ed4a66823d44b0374034841e4485909a7c7c888e01742d04f85bf9fabd39fdffacba9e97b3b6cfc3e27bb2530739275f3cd02ca0b4cc0a5b9485546bab8c101511b3d7f1ef335327b10b618cd7bf40a043ed02ee667d5e23277eff4b5d4fb51c92a82fdce10e412e03100c2667c084f54f3769b21dcf6fac728ef47fcb7f3fdf52b6243c155162fa63a832fdc4b48e650cdf17e887d0d37786061c5263a7f61e966a546584e454b61d2ae0b5365ba3fbdff4739ab388c082883ecc9385682c74c3057755ac90cbcac7dc296f795224a902bba9428fbac5cf197d36ada194a221cc6b36d9a93ec508dbeb9abc740cc736023c5298300f0dd3bf6edf0db417af44727807ee26020d33ceeec49efe751671bc06b5f4da2706bca7a0916445d11777725895f741a3e2d137349f43079a89f049f78b680c2e9cb5bdb\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c7ea4cf1dedb76167a8c96f7e42346822c6785c94be056d0aef3918c89c243d9a64adef8a7f42f736a19c3688c8ee5d013bc633fee0696408d28c38b9548d998677b3289c7cd8061751e0a7bed4c1ce74d85f66715eb31974f28640e82190bddc7048dc84f747bcb8f74f3567753da72e888e29c6dba6efbf4fd87940d3c707064fce7e600d38318dd1c742b154002a164eebe1e57418f30292f61ba4b2c4bde76699a0f0f069ab3949c2a97116636c6a21603d6e8a419099bcb19eaec3f8d6ac0c76c5b9512f7a0962297aa631e564aedce4d41f36485f3112e2ddc08145c0b02a87067ecdf6e256f70a34b483065c9d15dc294d1e7372c4bf45991a0ef9247d14c8de0acab93ea0b87892b103fb8c1823002c977a7d390b3a3d392c67b72ceec6af72b9f500dc92050327a286b8b9df09a68186c03a6fad8210184a551f6f2545cf86562d978e8a6f2aa697e059c1f37181769058ba7b199150f165edaae00f85a51670c2ef79e2bf4e8c4cc0cbfc5b430b763205e2f208b460b3b70ae504e08b5237c890bbc7312e61823aed4b6998abecf0835f6bab7c6fbd729143f833c1e5cbcebdaa7ead5b5a135b16eeca9255cce98983f3a9cedfa7a01d1c2fd179172a56cd661b642b52ef26a51e98f957c8cf4cd96bcab7b216a48267e661bb6acb328454d376cd3a2367bd47069b2daa01abc3e45dca349710dd174ca55ebe747\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 19728d28c3d3ab395d47846577799244469fe195b59730a81e7bc3e02416a86a496d634d704d0a59dbe865a92090b9e37e3a5a0a76a18216f5641eee2a1a8e58a25d3c96500db282fbe476758bcd0bae998732332e42efd1c06db3d3d0dcdc63fa8955c06c7bcbfa968272d4c9f618d2cf211a156b19656acfeffc8749838fbdbbb033d6560bb2df8a07f99db7f18f850fd28aa5d89d1bdebd60fdba1f8b6044c946ab0e53a239e449674c5b9836d5f5a3a9eb1ffac8cb5b0a8714a8fe2e15b6e988b371e434b82891e7896de752216426e0769b11eb59c826856df058992654db6cf4e8999ad4c57d67bcf505fdd3b843d2daf0fc11016d64c554b17713ff838ca03ec5896ee6f26f90fad63cd44f78bb717ebd2c839b655fc5adf0e78018c5ebfc9422bb7efc669e4dd7ab1c306d328cd18e69d16a86b63f0b832e08144980c2e1d7a8c96636d4f4907f365959af5b5604408192d11311199f468ddecdd71e80d0e86f31f36df3576dc0823ee82a0bcaab62afff548201f054f7fbc2272c3dc347363e5b0fd78658db5c91475acf7d02a425ac53cdefa130e2686769daf742d05e06f79d0320617433e0f48980cf09354425d96334a724c1a3628e5fe437b486113bc5ddf70ad93322057e7cfac773fff134591e5133c18fcd49d5ba053ce021ca13744ab764b30c0233546d67b43bc253efbfec35f97d881c3e4c38fc4528\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = ba6fe199b2287df8633e89b1a7f38d651092d2fbbdf6cdf6d852590557497bfe731ae99c71b145ea009b6cd17313ced406f0188f773a4e8bf0e351decac56c0ce582ba1924d2d305ca3eb1f10ad87c869bc232a83fd6aa4d9ca4ab22b83dc5964f9dc4a1510032bc409c037e2367ee5a7f6dadf02e54137fe04e84468c424a050e722848c594d3ec59325842ab1ffa0fa25c107251e6d86233e5d43e9d6cc2bb3006bc1b5cd53417a23e1a880045995abe2c6ce8e54bcacee477e6c99e04bc3740b1bbaa246217770b553eec19c61e3267f9db9e68ae8a2ef216c253a668905398e073ddff62075a7aa7ae9530e588f40c18ac294e1d5c1771997887e27d2f07d20ea76989cd12785015cee5194e2db5fb736c2582cfd0486316ff3d3f26f19a348af147b77cf6cdc6264a38761ac270c2ec5d857785abc53a3a5d6d8a05236366180eb7df08765297b384a8e267994b847751b25398671453aab2770e1dd2448d1285e078ae5a561bd233a0ecfa2a4a9264a132beb83eaab5de5c29d9b0d2aacd3b125279e81336700f2ba8e76e756f4411c4f76cfa7580622ea86fab035acda5dffa60dbfea9df2b03b9540a1b89076559cf5606aa96987a5b9c46039593726b6c19c70515db21760817fbf588cd159b7bc56803f1c275533fb59e4913ae2b7973a7dbf034d58b6948a4910b5dbe688b2a2e48354d19259edff55c49527412\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 82c99abbb7e54f234ff2f2645d4267ba80f4b4cc7e65a52702f1f735bbaad8861c3d57052d8da51c478e2863d2e806f9ebbaee76625d07be4c49a0fd6e3f8c56f186a43d994bad73eb09ccc7bc3ecd47d05defbe45b5615cfaa2630a1da049f7000f4fc398ca1a969c9debe2bc244f7eca92374a3d57794d5a1b7727b74a9ac3e0343724e6e23cc3645795bb464e505888ba01a87b089659724e52a4fd308ed0452254395eec76cc759b0b352bb5481f721fdc21d4cd31548d11c31541628ff58d6978cb0f8ca0659b53312229e79c17183b727a60f482dd8afe7b212254dfe425cf54c48aad515cedcd0e1184ed757f7d5df9fa7664f1dc2b950de557af0a7ac06782487e40e85b2864c9bce8134ea2ce6112173ccddee031bd53bdb63491d596d43b8b1767018fddb26703f0e5d84fad73c8f8f6fab38234ac60a96c0b6a12619b9570f54491cf86ff7c00fc0414e6bff2ba0c1d79ec42de7cbf5a3237c890dd6626ba6f0b94ece47d616da769b66670cf0e787606903eee99f74f30d453ee0f03a5d5fbe16b1f4954e37af07880e779a913aca04a084e234feca996362a6267304b2133619f91a1cd5dbc87320f46fb3d13637eaade44846fa6dceab8ae8cf591a9119fe50cff61ef789dc2b3fd7996e82d0846a5db6dcd0cfab96bff1dbe14047b213ad6da8229cd281f47abec5c1eb24238eef1006770e5730ff270d168\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = a735f661613e78684ccee436e49d78af41a89c325a5d2cc8fefd734c76938ada09ff8ebaa3bbb1f35546fba76e74782076d56cda9a43363c3ec58bdb12183abaa5c50f5ae337ea53af2dff1148ae87825461d294fe433711c9891011f64b2433a643ee850d2227e59a1322a318ea66e3516a8a5844ef87fc4ed961eb55c146b6f98a389455b97304158283ccf03df52471e25d35a9c4693eb51e326ca0a2ae719af93388119365dd06ce0d942a810895e1ed0427960148a6f9e9d65173933482d1babbbfc2f3053d6ead274529254a69a903d7f2d15fe3a347e9e737fcfaf724b7a7cc21d02048dac0e0607aa7f6a7a8e5de4edb2f81c25c7973f632bfd522dad78eb6c628775e12484fc72d97e6bc35b8daf68f48456537682797cb66d4252d01c798606e440142f25859c4dec2e916b3f006c14c329ad67e6fe4f13bb0522145ad1583aa49239cc596cf276ca2e5894e448275a474c9353d2e7e7095cdaa1cee50d967e459b0619d5e48e32c328e0148381ea3f4b5a8afbf3e33ab58b98209d5fe152cf43af042efd5dab4224380e6f209f151642290513affb63961864f35ac85eeaccb8804da6a10aba85eda5438f9aa184f96412a0e205b6b8baf5", + "52e0e89a338cacf85eabc390af745694c51e26c877cd0c9c0e38f83436219eabf9dd23be5604a06c2411a08dec7e15cc6eaa99899c56c8c9fc151b838b998e8aebe58\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 0d7d84cec3b897703850d770826b1ac6f74ed87d4c5139a1121aeeab20ba0ad83447d7e767f2394ef5b8b28cc431ca907ab64d57d9419028471cae8d6c6dd76ad031f06b462d44f3c82052825bfbc4924e31ef5a89166d90402e082a01ae289d5a92b66ab26a9dad5f279dd39694f291f6113abb9337efdfaccb8a94cb49bed18e2a79865882d24074bd096a3525a6606ed00a3378f867a2ac2e81c4303d59a83871e77d4098f8fafdbf2db9a0e00006e9305dddbf9774d4c55ff925127df721679a0d701aeb8e987b6e061874b5a48a315a3758d398ef265fd7a14d76cbc8a2681bbb3f3cc3ef7ded37f99bf9862205b333d644945dff50fc6b20288b27591a204a415d79c9c1e1a088f9234edc4ecbe49e7951e08350ca64163d27d838433183086f8f5492d7a4c7e018006e82610dd7fc9b744419d3bca768709533e70ad77189a7190f5d1de2e55e31e68efe3724239b61dc8114060b69a0ef2a720eee08162901b05a005036752844caa02b69537efbf24dc522010c7eb53af96ee8bdb033678ec96829f4fbc33c94112c87d945ebdc3334f5b0fcb399b3733fdec76ec4c1d87b5706eb8294ef3f06877a33f311d5533180addae563c57fc939cb791404eba064c8f0009828eb2315b46c266d7352c563a41d6ff038258c94b51a710985ae678fba0a4731d4303b553085162d35440c453eb223d2d8cdb58cd4c348655d\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 673e324d7cd249bddfd4cc0fecfbc59fc92528386045c2c8df3ab0673e631d675a321752134e30947ed7d5cd2124b2870f8777c32ef7e5e8c76b51d262acd2e0b30904140979ee18dc5d6e7e3d4e97bb75825ada5631a1036e8aedfb194de2aefefe38827c13d528752d5337a752d3938ccb492793c99e7a726683ab7dcd9fcbe3fdd2908fffac6d866b13c9617d272b16b35c73bafa10bbcb216f44a543a9c75e88ac85e06c45cdcdfc2b0cbb900dabc11de036fe22ea06d33bf844d1371681c2a511e1c8a475debd0701c67b6ddd907818c300f32fed341ac4fcd7a356d30542cf096bf369dc95e35b59aef2a7c0a3b91e7ed4267e059398e282caa40d4cfd407001af2e85c78199ce9065944d8effcb1a330ea5cf5ccaca9fc448d967ac3e7bfbe1f2499700aafd222fe743377cc91302235e6446cdcde822ab441d074adbd175135b0777588d5a08c6e4a752f46b7e1d24b5179efc3c0e12068567b5c187d327a44de9f8cf2d4346a309bf91995faad1fa7b62270665bfc9d7ab4e5e0a0bf8d86901e5c904170fbc818d2db67f7a341bcf44a13b063d53c81fd7f7c5b83ad2554e5e624b6edb708d0bf1a0b45b0c9a087bc711dab3018615b5f41d164330d5f95dafe67bc482dc4183e70d3e16a4e4d438a728825d30831eb95f59cc65649b4ee89c01db4c013d96265bc85a55ee62fb3360e4cbc08e9dd1986840e8acd3\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b01220c67ddd48e204e77994ffae3d6f96790f57837b141deece461202e89f15a4487990e4f5a703c1b24110aae87a8378b7bc5bc8896d51df2d10020ed3a3a3ec74d17db4024c2b23b7b7db958b4f8373cd3800f2acda5848c7d8ab163e54d49336fabc6c3b5d190a8fc78614b4b8ab12dda7846e4094b28decf8fe91f6f6133e2c10c6a8c27338f820416745d2be921d92b1ec557a40e2153bfb6f39e2ed4c462e8d6cea5108a715a857c3e0cbe905b6c9c71858a92aaad5dc8ee34123a8a58fed92edfc68053ad492d29197601994bf8edd7d1f1f86123f0ec55f8b8d15e1e0a9fdd78543f16a7b79a48dd9476466d57d2f0bf43ea4a153c093e2144e53e2fba6c41415c5f40b8a032e753995ba93082e66ab11e1e01321a66fcf65af2d270444f48f1e54f14bb271f4a5d206469ad1fcc6d2416d989c8a42c5f42abd525aec9736bab919ab5dd5bc6314e64d4c0770b963425dd021f90d9043192326974250ba86bf362c566a7012078087dad8c4a17b81466985baa51a306bf675e348c24d27d90a56aecbe7276d214f088313340dcfcf5e5f4400d6f3ffc1497c3eea09ebbd77ed8cfaea82764f2f9478715afa737b079aaa03cfb3dee6ee6fd219d1df49d4c8c7b57f24c8899804aea9f1c1a379616c04ab4b5810543c45f30ba1a660f1325cdd8592069b95196fbdc79c32da7976ed399ddc4948c0cb1994d2c8f109\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 0922a02d38b254cfc1b02965be4db3b6db137a3fcc7414737ee34b1a204c575ee12a6860e84d8f204dbc67c6613e75ade8450364c05cd7945641dc920f49f92e0aacb59d04d7e302da6f030009305674cfd724946ef5bf661763585addc7081876fc4efbdbbadfd5d77a65221bfe2960b3c7f43842544cc97f3710ef90ce508096921a2e2c32cd55983b2685b2f5fdd7c0da5a2293ab6e7d47a61301222c40f5d64bc66386febd37c375efd2ee8e43abe68afb34ff2ea1236e3f1d01959625aee0e05fa40f95583c455322f8ccf7dbff80d5212bd8cfbc54a12cb6a689f8f4eb4977fc5bdb287ce02f7c5a714abccdf50efd2e5302a89e5654993fa09ff5e45086dace58eabc0f078ce2fce724bbc96b6de36ad9d0e5c4993f2c2fc416ea196b93ac63619f5eab707777a376d8d0a51d79a5c586b4469a54beffa8fe56b0ebfaba579b47844859202e5ff8bcc8660e132c37e46c3fe801aa614d50c9953025b338dc4d8cc2ddebc1d07745a7cec01bd9414d82892a3f4818c634d51c486b7065288e57ae9d1520cf02c397cc0296c674aa05cf671760f2f018b6dcb8db73f79f6e95ea2111c0645be64927c9f802f8277922bdf94a6bdd7023531247baaac95ab10d7fcbfc8354bb44616a859a83fb080ff895528076a5c328f89516e62694b2803600305d10a8513cf705866f459f362f764eec706f77b325bd7cd40255fe08\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = cefdcf39902d003e18d802fe6069039ec65e16a3d14e8e81d5d7187db2eae04a36b3636a0e0ceb37439ba21b0dc127ae57c8d07557d16903ae33d1b3523bf3b93c65e079e5dd7d3d6f467f8c065edade7704b62c3a4d422cd14c0e17220038b1df0e039542758b42a60603411494adca0fe357a33d140c2e53a43b756c0a2444618044fbd2b1844bbe0bac59bf10e527e2b9694887135a29ddec1c68af681547f38fb203bcde4f8b0cadb1930fb63e344067ea1c104f71562c55c5a2fddb1babc7f0de0c3c28a32931d0970f6e42aae2105332e04a36c3b9618bca0a91999c426e32c26a1277fb1338df1b194478d2fa30dffda105007a461b954c1b8bbf843b36964abc21e6b43bed000e19753060f795b9bc1f238a59328a24e7cb3bac9f1a4fdddf01577d8b8ba92523fbcc26e3fabc9dd17ef950d10d61832a269a09a1cd5123eb76c4be680b633d0f6cd58d87833aaab542bcc380971561a5a8d82a49dbb24e48ce5f90f84afb2ac8a32b8e60604650247df0aa9c8e6aeddb84b55446fb8334baaba4b08884d7db20c4abc1fd819cc1a39b1fe63d7a74d272eb4ae5ae25a6d854fefe0d089535a4c3cce02d247dd81f1504c983d8765f3dfa1b1778d2c5d7d90dd1b3ab07dd1bb21841bffeeaf2beb323403a7cbfee9f4fc9e83d3f90af100ea4f892626355bb6c0a9b14c6937cd5974b951afd7221545f1d4ab6cf710e\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = c7bb6a8acdbb237c80d697ae06513c4cbfcc6d823440eb42519a29fb17a7a71a02a8f07f9077057ab2e9664933d0b1905971ed0d8746b11f7036ca7d6fc6328911342c65412716316e6124d074b6a59c2e5c43f4d3d1663bb53882940b34bb34fbb871e0d56bcb590069e6fbdef4601331ae13f6d3a4aeca9ad2143c68e46af7d4114d48a9b33452e072be7a88188f729525e9c72f804402fa6070b24d4c2cd87b498031aa87909ee73d53d3ecc07e9e4766f45dcf8f02ffb289ff6e1507e913e55a9d68bc8c35589b0665ec498237341597f85b1d3e8e7c764ba7da01901f90e9eef54ae72f319ed17a608c256d78a615c16cd430d94af5c0d89777166b048d52fd54f81b548358b1ba94d65d677599ddd7c3b74f1002b2d084334713a39eb5499f5d5163aa2f56cad7d7e18bc42ee1edcc76d921896f0ff7b3b06906b7d074aac730909504b10678a83ead711cdc4c984748228ecd6f92729abd000e38e1755ef159ab0001abbb8af20315ce10fae39d92d2b692e6fb7a2e2200722bf8715b6a3a0bf4a8312b01c20aa1affbbcd49ccf7d6312c5ee3fdd443dc2b7639c417488c63722cf02710432c623854504ee0b6e1183bc3c940876d58f3a507a306c0018982f1cb1630c97c649bb645ef3d1b875189437da270f25f0b5e5fcd1576ad4cf38710bdef5f09131bfe35c82aa0c841e09a14837a5db728a1f377283f95262\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = ab9dd3b3177b8f9fe49bf693b7d6eb8562fa2e0d04905de5bb2d8c27c9504af20cc90052e041880635f454045717779ebd2359a0d25c5d237f5279daf46d016fdba37d271622158b6b1f7defa08ecee01620b0b6e398feac0b3a14b84ebe004a2063d8248f9614b3a469c426f68df38e11c29d88563fa791604adec416b771ecfec6d4c7125b1a1a4c36a617bfb46ff11625914a09d6e72b411a35dfd7b805793ad7458892f7847d5f8d0185285aea27fa43020334e8b5c970f0ac306abcc33b179b2a1c22322543fff1b4031816b62f648490f96c8658752b96e12b222488e0e6bdb170c83d2697c0e97931c26895c9574998d67a2c9a2fe7309e498a22acc7977509e2a7c44764d10ac1f0f269812b0faf98273da99996e0d16816ab33c3c6a2dc8209ab39fe5fe0b121c4e07b3e3bcc5e2fdc46d01cac7dc1c9be8f4b1fb4434ea63d204313101b01aca2f6479d24ac2937c1f80a231de5a263f9faa5c36c1e0af380c550606a92b0b632bc486dc5d496c59c32665d13d8c19b2dcd2af6affc7cae03f7df5547fad63771023114fe8e68628b1bac81231a359b0a27ba86f5ee07e8a1f68c76a9862cbec38150c02c6cd01805d90d249ef0f6616ecca9e844fd9c9c10f4952534e95f0bd0abf66a24a6276dba332bc4dff19e17601da8007bbb2b0ed1e4517b2111e751506461a85271b7651d891d303eada229a311267311\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = c68d78d710aa7934f4ea6dbea0e50ea99fabd2ecf5bfbd51974aee80c574509f2bde952d4580b8fecca78a1034aa8b483dfc6a7a4413cc71c4f836f765fb86686ee68f46cf0", + "eb2191f9e887b930544d3fcf20d98a2ec29b652eb77ef6d994dbc9d2bdb0e901b5bb6aac49ccedac770ab1a7a3fb95e33f0b5f42285886c52a65196061f53a308cd43e089fa9d17d14a5ea0fcc39dd837aafc6f556c3b5afff72d76d8a707e6766841baa75640cdc0d9e8c0b01b8d1f0a3a67d91bc12fc500f3a0fcb1c3342e27a6ff48dea24f24cace5494afcf3382d950279a07d175bb10f942fa57d3a28d5bfea906f2311b6432012a42ec25997ff35396c76e48767d6f0d0063b07222de97f1619ab8f4471f092694ef7c3822ac88206b3f491bc0cb92a343bd2912ae54b74330ce8eeb1f2749c99df30667f8c7b39e7c623d0c12aae78feb8ed47578f347eb9e6d9e330de8c1f29745b23e657403367ffc5064d6b62833a3944f4f7e41ff82f8a49a3f08395e5a8101b83621bc479a208236a6c32731206c5363997d5b12efa54fc7946d1cc1c6eb4c955183d9ebc0e16dc4bfd1c11701fc987c5abb11a48fe5c786325a7396f88a155f95a04790590927846d16a62574d2c5f3c716fd4966d9dd4d9c90019b864b23c81794482940400501b224ba9f4e61f690eda2b3359b1a24c63816c3b65d5274e21be2c7482a19865168bc2cc1cc0b\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 894190558157e1924961175fb40c7d937b9087ebebf38f4456960ead945187ab3692a7990e51302577603487298ec75044aba599d46ff8dd7f97300f8797da644dd2f8299e3e4193e43c41197a9ac3bcc8ead4713a189c7ebac962b2e4a38c85ca94743998e6b078f936b9a53ec2f1afef70df7df96a6a40d03cd13218b884f4060bf2abe465db3e7ecabe9108fb4da987f1983bc0f79e2a2fdf86ee8272c5b8087bb595168c1ea59d32ea3a6538b9b13ace08ab09f75b4eb7c7aa6b23dc4bab318ac58b01758799e3459db3c19964c676d50d3b8196fbfacdc628d6e534061ed6e14a7b0d41c9856966df9c74f2ae82deac7148a9f786797ef4cebec6d431a2e1240727a793882dd3213edd4f22b1f94afea6fba4bcfdb4b41b4d3dc46400cb37bfe61d4236c518db4be052720e774351c7fb2cc7beed192e28a56d3353632ea4c807f688b368660db57b92afde5defa61c4cbc9b6ad1fb012b13b34d545065e448c614835b4bf88042039eb5ef3cfbe93361628635854c37487468e82f946e01da78c3648f04fa903704996a6b8feb98a6d1a393db42443bbeaf266d4fae1ab2c41cf9e974039e4aabe028e40acb4be89c6d7cd8be7b4f4ff743e12b9e3b29ec4b1508a059064c93020d2b8dca8a5488df4219d2e91db5542ca7483609ab8e881c202ed3a48aa6596c7f62cb73c9f0c433f563e49abcefed5c02e307954a7d\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 2be0a2ea43b8a3a0568411d79a73aa29e74f3e7ab88d8e47426bbe6b6c8730b465f017fb8977caf1cb898300cd86cc873d514253fcaf2398980d89851215dce7f61b3106faff71655b218e2528897a4516014337dcd40867ac81ecc0ab0497908396237f3265be06c005b110b6eeb69dea0c1458ede4fe8b9161427723f0603f8a19cb90a221c5ee9f868f4ad29fe64721e202ab3985f6d93aefc7975380260ad0af2e77fbb9ea4c4326e31307879850d016ee12b239d1fcfa42383dd3e5ac4c11e8aaf3fc8c7b50c650ebcbbcee41c82326830c473e718dbe58adb20b5ae9374ccf3ad9eefaa9e015829ece498f5827326286e2f4c07ea5dc7618d8e56e4f09f0bfa53cd6895f3d6a37871fceeaaae9ad8996007a83a8ff070718e9014fc61c4cb9a4d9cd762b4f1df1883de6efcadd6849a0bdbf3095f4281ffecc278b20e56a978d23e2d2b0f0ff929dd4e11f0f93479f9e09fbcfc50bc3ee345784ed9354ef1dc384316d5a901a87d141238dcc25e90f739bc2d0f61cb5829a6fb298d01527726ffd63030fcfaed120f17836d1c1177f6dc5f10b228d38a3bd3bbc997f33925079e421e2b1e904ff34337f087b609b62f6ce4cc484d2bcad953d7436b4bd0f22036150be04ee75bed7eec5c9f282dd686037178b6c517402431809d60db3eb69fcae0f949131183cb532364fe2a54deb5663070666a6913ba2ddf7ad7007\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = daed6d077ca0d4725797747d0bad8e617b24c4d6bc22d6d6743a01e0b8f9e689c92567b13e68139235e0f0759a7ad4ee967b482828f85cdaacd9070850cedafd2b2fd33f1c5affdc826109e0bf68a0f8b655599c578650326674ba2570abff0ecfec37bd133fb795cccc83162bb84aa93fa4c928a943db51f7ee30c5002e92b8efae476c55560572a2f47a7ba04c9f85018402a4ad8cf2b21388a5276d9a31afa6d3e0f85e45406c54dfcecd1e01e8ff6e0f12f23b95cde387c3ebf6a86a9ead7631d775a39880225107cdff549ca8aa5474885c21a3db2129036b474abfd0abcc134d0866c05e043d16d49eea0109b621c51fd441850013cb2d17a5302f62646efe2dd383f4464eccf727b28f83a2dbbf8febe8472eaa975f6dc34f82571a5e4e1f21d65d19664aec694c1f54dbeed9bd3d6855b19892b4a9d2dc4e54451d2866311770bb2d3da6e091ae83cc261fa14a710511c103eac2fa7bc06c6b1c048133d1479d323ec79adf85908a81f106a20470eed3d1d60b8750a508d8da17164a952a170a2f2aadbdf611ea312b25d93fa10e202ea30edf8f584c3ebd3d7113d5e4ae618a63755b7103e5f5887ed8d33bea287b17162e6497aeca3632076b81e17fa03597f9336f279492899b8f04255a9a8dbd3adfb6ec17adb305dd0fc7a214402963342b33bf1eae98f5bdbc0ff7ca3f6b94cab3e93cf8af64d39d294ec6c0\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 77d2bd2f55b37cd6812038cd8285b7e6dfb491c52b65a7f3465b35a198cdb694d44e8d6613f9061cf5ccbc6c8616317cab78c94a6560e1f64c25dbae259a47b753d9b1f95c62720462043ddc6a1390fda9e151848bfada7f74f523a9e729daf508f2053977f73fcf1a97dd5c227c5cfc03595ef82b36a99be50891aaa1d516eea29c094c4eee18d61e9a53e200b6fdaa4e48d6d954e9d6557f8b4154ece19c745ce348bc5886aa75f753086a1cc613b8b3bd8df209751aa6d7d7ad141eeb19463a44d836e36b1b88b22cbae08d87a713d8308c9af96679122986a2411cad90d4919be3284857a297c3fa4fa950ba0b74e9bf8570171bbd01672a5a0ad6e465090ab74fe6cf7d7d9ea6c5e2f621d52e86b69672e8bdda174f4f1efe745f040ab2745be06254dc94d92022ecd89feac48fe3eb181338bf679df7c06b8c6dd6e8badb7208c609e15ec6e38cbecccf2492b925d245cac1e50376801867d229f8fb92d49a9892645b6d7564647361ad047874f85c202e624128ebdea6e96794f4e941918015ded3b9b7566538f057bdd38866176f004b3639f680f63195a18e8020e042642fefac3edd45a2e746280bcd180e54ea4e8c9c7d196a919d0db1d30d3d5339747dba152bae5cb6eb7b53b85f00b8720f6d4de2109537804c1b1d65293b385c8d97660c1b9b84c46eddee1d2d97b810879ef95c1e83ee250574a9823639d8\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 141921b1c1b1dfd44caab5b9439bcf12f1a5c7fa273da49e7ba8b9aa6cffb8474817a7fd799022c762defa18bc64e704aa3defd44de0ac97833f1fcae8a52b58f9ccdb93bc3aa68132584301852534aab75bf2da3da07f4abc46d8591ebbb9fd1f826fd55a9a9bce55c897dedf40379ec289b83ce2842c5953365ddf43b09c9d59dc70e8552ba34d57c8a4ce108c28bb6282439be010211c637980aeb30bb8c01d9b0839cd85e1a3642f3ccda4040cb6037de2f59cbf0af15fac420ca0393589d2d77336dc08a86255a4b9999e2db9195ff3ed79cb80c9ecdae380d684dc07ee1fbafa977dd248e342c12c04808d2fc89dacde84b701364671f5a44952598d2c6fd0e45d53b0e518f1dabe34701b69279253d99b8dba6798ef23648a06c4bf08b8061a956ecbaaeafb6df6d320acb71b6ac0a6a104624f1f54664d688e1853316e000e28e27e5f248085b17265fbcac4311b27b90756eebb3a8001d920c086f517c2aebfcc6a70b89b9130d826b927aa119dd10a15de8c90156efc7df8f684597b62ca9c79869a5157ebeb74d66f6fa6c92dabebe18d652548ae951c8ba659956b263bc2b08ced50176e5a4b2cf265a81511529f961338078fdf0652194da4ae51cd28480c952ee7722d04c5d69383ae8d06fd67e19ec8e6df47d192a9cc605d400b5fbead890e3841005e150ef8d0e1d3fd4e1e8d64faa452c4ffd55cda557c\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 077e1d74012e8d54b2583056d0eb8895fdbc56e0a6612b8a38c985d402788c3f0d47cee7bfd3a138dc8f08670fa045de7f1949cd1621bd0963bbd6bbfe8cb35289e998f07f08e101a5de1748acfc0d65bebdf6162ad23ff706b759a0ddad1c10b7685d510cff228c098cefff1cc12f2f9b6c1cbc4ac76cfdf79b49230264dc6a515f58fbbe035016a240df9d7a223501c10bf740332aafff301072d572fa5c6791d45e8cc87f03101ccfefa358afb598e822da5268fdaad0682f7219e6f4bd4ea8b1a138bc9b28e42580fdff4de74b75a10feb9e78b122f8699f5383cac12e8d0efd3e88c5d6d0f4c4c9702303fdcdfe115d662abda6bae43473494051ee74d6289996c4d54beed7e5b2de6453b0cef1f4f42a1fd057362f935d466b48c6873c8737af9a5e62d8c832c1546087f459999658f3ff1a6f7cdb56c2b834eafeb992791316ff9d52b1918da4fb3d091861c7b66f7db4474b501ad83da0b4ff1c4e3be7931949a7bbee7c9a48f01f5f83459ebf93b0cd34b7e8b6bdd35cfdf6815d747fd6f6ce405b9264ce4ab26a458ecb0269d5a849b10393ca441f7e80d90977ac0276599188f8cca39f059185267cb7d60c7d6f2c643343d1161175e39aee85be4f3e87c464bff1088c20edbe4a543e8b54a05c4f1cdcbf1ee887d14c09496b306bfbe70654d0bd19d266952d3d9c9d0b17342f8aeb73aac7f827e53da2585c72\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 994dd64cdb6233b09ff4b2a5126f50c3dc01880d0d8ac3e9d5c2d34bbc02c674583ddb9a520de643ac81f1ad407855da715e807f200a9310fc1a134f0d6e3cda9ebf541e8437199961c96a5f617e075fdf3e37788ab62c393c2808061e6ed92f72c25916ec8ed846d76adb3114d15ff77a323bbb22463bca4d7d7d95a8c9cdabee3c1b236641a6166d083eb7f772cba93d0945197bf6b9a8a54a24c5f12e6ed520eac3ee9aa244e8374ec4cfe95fab470cc09ead7999f054cdd6b90ff95bc6df33d34d765547fcb6c120c042f1deef402f764d494aeffbd9f8b59d012671ebcf08409e90b40d19fbccb29e105fa087eb1a1cbe6dabfccf41b7e33fb0508116de4548609c1b57d24bc74404", + "1362cebd3fe201944c4e4455290f950ca68f5efca364c985a5531957edf5857645fdff619f5dd013b3f751a7a9feac4c971323b730f3ac4663a6b36b21749e6643ef43ebbb3b81c601f23d159c9df3acf6bb3fe63cc86e53b6a846960337afa595ae25694d7a67145c1227c8c693e133131e2c622926e9b363e4445e6dcd89bb65dd74a4f766fbc8570f954513dddc8b5b16e3c200afd47413ce9318a3c08f8b092e0c527be4a6bcf7557264593b803f652652e59712ed718954353197ffd6f19853d8be525e1dd999284fee98ea3ca49dd39a1329cdc1b10ff336bb1b34be9f2334529176792666ed4b924f884a49bbedf0f430ae\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = d292f30cf75b901051216a9579ab9108ca9cdda91d618c08ff9b8ceb455ba0a197ae8b6f60c1722b1d212cda0048144f0147e1b61ec2fb65573e76746be9b237031e95af76d6c726185855436cdfe4051fd56ff929cbcf4ca2e2dd8014d8957c1b821100dd186776dbf463a46a884969bc6e2153b76805a0ced2230b9233fe9a30445d8a5aade694241e6ddaf6a1765a1719c4187e6b8e9a9722fb8b18b3fefc746d32927dce857b2083ac43ece35968b616090157db2b09e2dfdf378f5b593b03c2569e941084eabb29dee9cf6a6706800b274bab9526fa57c1e1fd6ff4195ae377c64a01e8842463ebc41312ac8ba9e72126fc6e31439314145991085a7e876793885511318b2e435461890d588286e8c938d63534da7bb734df3962069b62d1c84acebc0b2d0ecd349126e44da37e04f1cdf42a30941b0622735ad6c13e4757a3d48b96d51d2720ff9b0d02f5df213b26e75facea01a5a2452d3a3a041c4ebea57364bc5f9fb4612998acce1f4f774f8479e488e6efff6c21f68e9a6af70bd7fbe7798b75bf76fc2dc1280d109a8c5fb1ce23c02b1398556d5355f0673e84378cc26ffb27418109c24d30ecf4c4957f30ced867b6cff4f71e832ab81e61573a5ddd4c4091e26ddd0f0d0a85cfc369f8685aee93a225ec7bb23225cdc47ab102d699636be2521694c5aae2be6d282b3222f2e3da965fd0cbd583aeff86b658\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7018fd12137bb5fac9fe8cbd2eb3e9d1d08de4546e8af48342160cc305d954b8f9460a12bf0bbcc47e6f93bfab80754fbe2ce64af899a71bd93ef5868e1ce15438843da5d1519d1833d75fc7b7beccdf159bdb175883f3cd71c7590526fd581bef307e21edac07d97c80a274418b7a5a1d5b5aa4de53f478c1d8dbe886d53ab82020869e4ea390d4ff87adea84a2949e2cd29c214ad0f15f041b8cdf427a3c26ec6f51af64142aa40892fe3692d2020eb4b9f3f2285a20ef0144e581e98a4844b4c495fb6213c00112ca114f9450b8abbb727dfee8d1a29b56b847ccef1dac8eca4dda740504a4ac172a8a422bf7f074dae49b5b8269375ffff4d150f07f605d97a3dac62625c25a81f3f5436d36f2386a541a5cbd3768f2fe97dbfcc9d30010401a4d6e679ee3aa7545aba2f0f096f81b579950724539e7538dd175011eb1e47b7e358db13e7785981ce36ed13f979d4bd720728f2d37bec72573aabcf8bf2990932c8e478598a72cdb34efb20f66b3b530a479c679620bf893b3ff0e33e85a3a6db1d72d7c87f9306977f18a8746179ba4948e51fa996d5dbcc27bb4f1c789feba3b1925b9c0af744d294de1375ef8f52ba8753444d798363a76a5f84a1fa542e431f8440df957cc731b7bec4e4ab6e52f092219374a525ec222029dae6448a41702a7cc8920058821a9790a3fa8c88ed06283b43c8ce15fec4138713cfbfd\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 491a44b18097d9d62e0d3eb41b3f0172f3647d65d9ffcbedc31ee68f03f52795fdc5fa753fc8bd77a21dccafac57924c4051eb89ffd17c0c703fb9d968c0d18b2762ac02faf72d8ab448a5d0161a15eb4ab923f28f82dd6e97ef61fe4eefdb63066a140ed5ac486da016071bde06b617889ebfec7c71ee3f66f35cfeee2ef49e5491021c26d73ed920c8e3913514f65ea49d5453876b85885d51bf0265983578ffd05dc8df8efc0d915e90a4cef181cd0898befeba7300855de21a42600a4fb2d2eb7fed5bb3f940af3d1cf7404f9f6bb3da863fbde246f4d3931278fb7485d59c4af8a6f5354ff4e05153280f6fd6015a13fa15439b9b4ea1c20ce681acf92aac4f60a86fad5f6a636a7e1581b3f8fc1c90ff058c40b5d0e64b7d82056a5bd1fa661610382c92967bedea57af5eaf52d7304e774e4f85daf09d9cc5c039d5bdab649703044047828ef2291777061de497de6d3abe1d2b7d0c5244a6cd7d317327f6e596b1aaa552b2d3048bbd26eee31757aadab0e439460f530fa90b92665856201e4675e99c6c2173fee1828954f2f9cfd324ff1f9b77d6eb0d48f1745dc01fb4761a00d1d29de9c034d502658b2926f6f3c283f82dacc85b8e306f9881a75a71c2bb03f36b5ddc44de525cc3af0c72b1af01c4445e305058af24fde5569594e656ce85192f9409c6bb7f5fa08622dc00102ba4f8fe7f7762ac3050aac0f0\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = c9667d958f9646740576ce18ce3085fbaf6f3392524423be838d71af5c576f2d12ece21c30da0e209921beae756b9ab6a8b04c3cc10c06dcd785a118f45b59cc50be3f3e62ec01e70d0e9d5859e098fb4eb172ce430e32a5ee1d11a94f749bbc0d444e9e03bb2632bc611a70a1e6a4cacfc9118247ecd374f628d3acc5cca79572e45bf4a94bc1da631a59e4b781b88368979f3a909a01cc7c4fc543fd165b67c82d8f82b7961989dfec8e9c4fa6077c89438a6667e42be64aa56944ac43c7eff8e4b9a9fa2b968da2a1f3f03bf7a80e884d22b6d3ff4564444fa5dbefbe62361bfd46c32ab42a27c3f819cd56016479a40ad138b3288560e6a1f3831bdac5c3e850c3f2ce500f766843549f5af32e002941b50cd88ce822a46183f4938d58c12cf17e1ab29da94c0df368d3910318582624cd66f1bf08c7ef9c29a7489ade8086b750f432e1699676a6483099e9ddcd3fa9771b0ed58dbfdb3f61f882799e20114de7c6e0384785a9ee6b22266b2816d485ae09ed2d71d4f8bb0013c932c477745eea36bffed3abf8eabad517118088fe7d6c22c018e0bbcff07ab814f541ff1e4a58042cbea1bf9d5d6f6950691bc61cb918296e05b9747d2303085a8e9057add2b109a661490e357ebd10a8888c7ffc7fe788ca3da7bbba52a8c6b056754d88cc2dc2aecc1a7dd770d19d0a9412860d1a3d7cdf905ab92fd37d559e4e5679\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0139a6c57398ec02a29cbd47a11129f51c07b61659d0d83fa68a16564795a669bb164e4162d19f852129ad135586a4227b91c54ccbb1e6a02e0a4b1d1e741291d508ac2e9f74bbd27a2d3d4a810ff016fbbd545a479fbe27a37ccd462a9cb22cbcd5d99ea7f99ce4a3e3ce3bba2db87d4343b22304436c60752f6baf33d3cf4d110f7b1b964110fdfa2e0058158325e78b5b4010801aa8ca59986f629912781cecebc33f7d9edb6f6ed529fee06f54ec2e62c6f4b72bddc8ab6ea30db83574bc931c0155db26d3a5bb830b1840c544b155788c66a42e6c8161f05a03e05b7271578d8380946c72b7d322bcc84b1be714cb97cc7851d06e1cb892ff39d88f821a5bebc043135326addaf480c4c99b21c26af904d41a014d5611f42481769228054729973b248ade31a4ea963a626770c5f9277782328ea0635e3a5f6013501e6275b419f145cb60ca2fbb3a7c4bcad7449c47a9336d658bc4a9a3c06b2f84ee9d8a8209ff7ed0505144311df3342d7fb25616c31566f29dd6139aac391e7832fcd0a6bb69cee74cc6a39a2cb29fead82bd23ec272e62bc87656eba34a5a44f443d69de2a572b3d7e9d5435ee69f6c281362c9fab99ef72c7e04bb8d4ff34497b2a80f5cb750462d131cac6da0907b8fc04cdc45a69c22c13c77606a6d6cbb7b27ec65fdbf496b123a3323b0370b031ce839d63e2e1ef59b0d95e646cae94bedc4\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1d6813c5fa766d4437e3fcf8c38e7cf829f02eba0cbcfb369b7b087bcefc6c5f65156d0e947d9f537cd885d4dc6050083aeb26f413ac082989b1df5efe7cfd7cca2a9acdea4b8f673ed943f6591ca2e603094fbe5dc4587ce41828b3ea08255ecca5ec6595f326d29616e9c47cd889d063ad8b90326163fff3010a5205883ae86c6cc95d90e449566d771873e5d3ca7584972f824015ec5bbe9330135a7ed18e58581b89d5a26ae0d13ac0b9272df6452d4d3c1761c2b6c5affbd7ac4a2f7d9b5ed2aba0edd11a068d58fcfeedbbd44011bc0b1e64435bf35c49a5411478239d7382d42c53c6fa972a20023da69daf44f091f1da06967809e4976fa851eab901c85514cf410f99c3686ae21c778b075fe73edac13173a13cb08f37ccbca2fab56329832dc0b7b8725bb8f95eb0fe811703dc2047eba3c23a1571c5c7312b38fdaf79e43dc00e82e63d8acef305c12d190b5abdcad1a82e2621b20c8484f56b1c84e55880c0ad9b03920c44a080d436181a7e742580be80602695ffbaa20c22c6b484adcc63cc2b417bd45ac6826764aaebc918a1fbe7ba4400cec0c9728c1c18f943069463a5747052d387f63890be573634f8f122efd0a75969b1aaefe14ae3d3fb3cedf5248df995415095a22dbb3c9d95cc4aa792c05116b727d60a7a9ce4086d00b963c177e3a661caacde70196f4541cbfd1b8909d1f7ff18da9f221b02\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7370d0c5dcd81ebe6544bcea2a73c187a5001c360c8a82c7cfa7b26eb703b73990e6f742c87008e0a2c676d2209d00f069dcfe8ec1dd7f21459236247061a6367bbc4dd02cd88d0bf6505b624c1530e6b730ef29c12da0a664c5e56bc0ed2928e1e2635c3bb82502d3f71d88e2108074664801fa4ee16d49e2de3cc638ba3f6f152b4b4289f715f48a26985c7ade2af50d8f0c1bfc92325863c64b864ee14dc8203be4ec8bf798bde95fc7da29d0a8d6ef2dc428e7e73df45f206646bd0242a49f673847b5d0cdc1da20a1ebc3f04c0e99b2aefb6a0dae2a9421fbc9f26f8f9601b9477145a0526db84440b0ea125182a9c1938c48fff51ea366e4bc2c499ea06d8056ed77e292f5a91a532c0ea68666687d2966249379f5476c35cb28b3242b546dce34c506b9a9991ebccd8fa9285b76b32a9c76d1afb431a040b4bbb5b7a3451ac80866075d776ef12cceecfd48f8202aa2444c44135cfe0b9f57de378326bc1eaae7b656b7dd8a5140c057b6cecb3e9941aeccb2ea87040aa980d06630ac8147282af6160fd36e003586d47b5ad5ba5df676c16c8abd90dfe2f5462d12498bbd2626cdb6fe419d4e98be24049b203288207298167a05e4f9d5c3f96ba3ac6dc14b3e1e6bce3b80ff46d5f370495dfac4636", + "b2c9006299c2056129836b32e0e4d4c79fc300f9c7c59f973b48929f56c299893828343a2875e70e33617f0b8\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e171b383d528aac51817ba667915906775f6ba446878617d1d4d659d41607ed671f78083488103c0fafa3bb445fb908d548f41314237d36df3840ad82394d23ff9be4a5e45ae6a3bad3e6555ad4362c46ce6f583109ba2a2c2463f98364e1e596db59be7fafa8fe9ee1876dc306a3780900c7cda8f90dd727480bfe707ad46a0321a3cd1e679bdb16f1570ec3b2335665b0c77548c905debe1894a29431f9ebd19222fbabb379521006bf0c490bdbb6e700c06c2ced743c5953b5756641d4105bdb0448ac0daff3fd2e75932ef6f0b4514d483b026d2a6ab9b617f52da83e062d80ca7fa80146023d5fb3f57be6752b8256622364d1c0b793ff070e1b30824bce0b6a1d8115cc13127700072d42b719c849404e7e9c49e71dc5987414aebfde54ebee2238c0568dc5e386f384043967740a231e6290fd42d6dc2b8e2c59fb373a30adaa57eaed796677b9b7b849256c6dff0ca6739206fd30fa6f43692a9d1d3e43c003e5a7f021f691b6f61dfef0f803def665303d95d2e51c7fa4d33ec4efe33de2f6f8ec8de4542500df75fb1b8c0936c992fea43a53a7e22b483a2743fb1fd1f7fc057b1712c8f61af638abbb14fd872ad3df465e81d3036eba7b52587344b9cb25960ebc68e62f9187c1b564136f599746233ab299be16be2d13960d3fe3217733026aa88e3be09510ca181bef04b17d5c198120e5b56ab3e13a2bee61\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6be3d15693608f669ebb88cbdde4159a52412b2cb4d839af0f4d2d0c000bb1f6b651be8ae44405276456abd5fe78951c8d24105e2218734a1fbaf7997d1aeadbbf7c5f92c5652b4d447538205d9cfa5c20094bc992358f4c08776b9807d4d32e9b40bf54b717f2f691be337d881f1187b32393522ecaeb30a14de104fa9e229f276f3416675b7b39e92e1987e3d82e2765e35354f4238879bcdbd31a54aee464188b8750d64d2dd5317806b0c32888e0c8cd78264ab0da873ff9e8c9d833c4b00fb51b63155a122f880471f9b163fb63636d94710de21caa3017ce31986ed4e7e46a6e8d5ed7a7ca8df681bfad29cd7566e9e9e2716d37494aa0bf97e412f8e7ffc0056fa0d2000ae151e6a746290e8ef0a2adb8bc9189b8dccbc9b7ca59ded3fb7b1135c261de2a863dae5673cf7934148daa94d1da8e576b9f561af962e2411c5d0f3db0c5410adb7dfd9c25366ed7289389d3859afc92d385fbdf00153164f5f16d9470002c669500988e4a0e413d5b5308a7a3006eafdbc7f3e6710f84d8e76d43f0cbc09a686d7b023aad028bb91a72a4af271ba741d5eb853bded8e82c11297ca0853861c18f89002f76928f5af4db3edb79f91b70e4c5e98203011150488adecdec2e20f4ec6e8dea8a411a45363df881d1ca32a8bee6f2711fdd75c5cc8b27a04509e0e3a832fb83090d32b520db60c7867cf2c4426def622c120d4a\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8f89981a56c9e66d4bcf301c57c57a0c2ee2ad2ba19f497f553b898c4ff883fefbd4cdb7da8464cef028cdf35397b440d9367915c47c493f61da7bfa2a33eb62a4a421aebb5183287392f122e28a4963e45566e25fef1816071341b28daa7f586bd6a90fe3f6b9d786d0e57dfc5e4b3e300d5dce337784ca5f967488fcab93c9664a4efff22a213d127ae3918513e4824b5b0471a02d188a1da97cf94e828b2badea31e81dc14ae197c108d822cce7eefb5f4fad27b2e0fbba8d8e25db7b26b6411a87cf01c631675ff3cd0651ba67a419c29a4b9fc01dcd273bda9714a1028f55f926a7b469e4dbf01bd8276a9c04df24f653955c9671f37f001b254334d535e1659fcd4de185f21515c8b0072f6a9b6e93fe0195cb5480d81571270cac23e05a32809f204930ca25f554b22980b0f0ecf99f414fb8fa72cd9530dbbc7dd5ce46490c7c910f9ea229ad88a476ff9cfecd83dc1e9c68ed0a7024e841a81484ab7103c6e6695ddf4ede558e9c48cfa3d7eeae2bebca78ed5b0e3f6879d0cb4c59059e1710eb3142771e63514307cf4151a89875ea5af2c5bb0873a0114c7c1b43f47aeda2aeec62b0c6234793ff1421a36a46f0805fe5fe5b8daf234d48a3664b5f387c92e1a4ca67cc3d4d1783456d4b1a918eb833d14a0cb6f26920e843ee5d648d1332624a21e91a7d23a62dfcd3fee72380d59d78041a52d7e314192fb3d8\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9ca87049dbcaef6dbbf981c211100fc02b92a79380e2fc0c4c59e320b1f559ad83ed653d77fa0b5ba3aa005182b4359158ffb0c072e6c7d02ae32d19567de28e4fb035be09471b07ff6e72a10f1ab173e46f770d94f78e21ab0ec4d4c11b568f394ad3bf3fef14610afa6a8c8347c99116cacc8833affe119d913a6596e8a2ae4d09bd9816e2c1cf8fc2519ec6319f8f219e36cdc5eace1a4dedd47b09519d64586282674571972eb578cf1e640e58463930fc0b08b1b297c5760303b799b7f24faa760c2442f0adc7d83cddc56a99692cada6ba8ea3fa5aba200719ae43d0770b178ad9cf574ba5b0ce847dde18df9cac32d0adaf7b3cfb460f14db0c542413d5f528b6046e9ba47ce986cb134011efb55064f9eb2163b0cdb264a6eb9793f12203ea5ce9d48896f2c448926615d2dab2dc51a0fbdc6f5c2dfd474f455d0b0d421e3711326ed522d1840c0d0e93bdbeb3781c066b7c050e299a2e450640ab46af4fc1bf4291953372134340d4ced304430efe82ab7c9f391f28c238806249258b7e8cba2db75f62ba910b815db2f889326f3fd724f93adc45b031e08bdbbefb8b2a48d0a861f07390a9f041a0255eb9016157c526e52edd7d714bff40473eb36d0d381e7ec2277dcc3f145d2efa02cd63e5acc5f05632723d5c5e016d5dd5ee267ebb2eb39909c0ce31db4ba0cce2f404f0c42c44d0826b24e0778880067b5e\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 29835fc87200783df0affe15fbf9e7850b21180cc9033c9918520e4fed3efbd8f41a5f8c558b377782d5c6b4cf038dbc7d084ccee88d3bbbf33a7d0addb95f0e149b39c4a4bcb4ee918c7196fad1d591a166b369effe1d6f3e42bb64597fb7a152d51d18d45f45f9a0593adafd36e522a1e1f777647b225104dbbac31f1e08ca476dd61526e18c4c6a8de4ce4374e139326377d11122fa685dee074ff5541c88d6652af1e5a1b8fb42e5f591c7101d12f5172b6bc5c0002889d5e74653d5e0a86e4fac756ce20eaf5a20cab51e5b6b5dc99e1c481144ea22745d2d7e6c98b7ea4edbfe0161169fea2400d326c53cc5bcd60bb2df345a91333e076ee31c003505c19df7bc96365014a413adc07edc86bbef255c26a46cbdfc381f23192de7c768976dc8e75155ae8d07beba0af122f8a5dd8edc4d425825710bf6845da8008dbf6ab6bb7a5bca8ee7037c9682f8b4e2a5954290d49bf2b0a9e7aee22d63136b7cc2fd7e6cc48b4c88e8c60520d4ddb793c69cb1c677d01770756e58e5846bbf868e0a5996c2ff7faeb2dba19440acba41fa514f84283e66547c5d9e4df8165df402033298759c906c9afa8dd15933573183d5269b4a9a2c63d5636f8b2e0839919897fbe6f87dd2a8cdeefa559cb7071ed2ec18d79fe068cf8f6bbc4dd0dad7f6f7cc869eabd1eba5775901cd248cb500d23110eac0ed206a1649453b81b583b6\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 4bb15135ffc32d2a7e59a5c536d0788ec37633b9b1e5c94adb9f5b01c845dbfab129194b8a5361f352682de8f5a92f0a691df77e06a147c2aa759eb5bb72ca96ebca33367360e22d19f0d4d90c25c3e2ca3785a5cf26fb80e1993ffc08dc9f3d4c1554e5e90a46a21f8f00a2cb376ac4efdbe72e0ab1308bbcfa83b9b484f43fbcb3311a6ee4927e07c568f977545e7d5b8179e6612c2311d5b10c72681c9655b2529017f245639195e416fe0c2800853ffa387bb0934aa977adaea2a13fb87d2f8903cb362c1ae1f4e84fe13d29bcffe4dd92f856db6c5f1e9622268da090a8cf85481036c15d6d9bc97687a09bcbd92e73ac9008d22988893bf78ec3ef87620ee27633faf1fbf3caa3b79323c999932a728b40294ace55c6c7c73ed0fc03151a56c7a87962dee757a29892811dd4ced9500b8bdc905946575ad9521758856780fb4b6192eb6b52a81e9a1ee9c6e563a5682b867511093a14f735f5f20bd6e2ca1d01e4c6598ea6347bbc61dac6a69d05914e716ff1d53ef0b8259e3dafc203c24166f32067201e11c241ad4c107179b93b3e254defb5c67f2d88b732abe96ea5ce09cb360298f1a34b87a8860c32079d5c80ce3f4629ae27f4731293294fc2ab7cd9f2fc101ad87dd489e7a2b0edcca37910d51b8aefe80874088ec53c0d56548ad4761ef14a988739a02ce08fcf81935da7f65c375787740b94d48d8168f1\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 9298b6ef7eec73665c848e50e2c221a013b951888a85d1f7465be1a306f9bc239b206fc3a85ccd438b8e45ac4892478c4945df6849e6148c62a81f8c58f8c78ca4be32806a3d8b16c1a258534f1a5d9694e364c27490ef31e8b45b96c88a10829d902aa48396fb1646fb5a50496780ea455a2f918a914c8408165d11651b2d490874d870b2c2d6c0c73cf654c3522007b8fbd4f1ac59906cf719228d1795cc479c9df3a7baa81f5cb71d8c73d154b90e4d33d208f311150e08f486e76fc1786bee3f287a8b07a768f91ae9d65c3529601568265780031e359273f93ff7df610f47c8d0b025d017e1dd088a676fcec39099f78b25192fcbda0a34c79fbaa6a5abb554e3babe386e7e2246d4f68f0bd60d6036133ea451a12e7c3ed1382e539a01fb3c21e1d21be7ed9372b943937ae4857adb7aff2721a5f5acec2580f2e7620d7fc8cc20fb315ddb42461abe93e8b8911613d06e0fc1947a6376c430837562f8ee8348c1f2086acbd60f8de959355ffd5cb4f58efd9291538f9574fd94e75c7a7710a119f7ee75c4ac0ed49e45b703b2f5e34db04fb71478cbef4292f59b2a76ed18b51992f164b88903da966a0ca3fdb98458979ef79ef83122a6bc2194ed0f737b75c02bd713c670e26aa19883327481597a980475405e8dc4f4eebcfb35e7cb73a05524c92c1599950f0226c11f2721e658673ba9abdf8bb39fe3be76e1a7\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 10b4e879f27b553ff426c209658d787219ebeec9bdba09afadf14362022bc1f6e35be08895bda1c67465c74f8c225de02d49878f460515831f1fb1dcd42b2547558ba805b85a97e17ced0a1f1bcb6aa5ac390129916fa79726452af274fe65a963074be70710c59463e3b90e69e1fe40dc8105f2fdc7f863c", + "c9d808c6878480431b847f372e9cf6418203e9c9a267bc6cb1a1377c394b0f2d69911d48650717644c79fd02b355c4790610ee930c2e9cf1fa1fed72b111f3f4183a2ced3d3aded6b8b5ff3b80b4ed00e97aa6a1e947e95fdad77d91e36472fc9326f745c7127b231eca5b2dca161d5429c0d4c4fb15f43e066d80dc84cfa50949f4dfe3f3a1c9af6aefacef20604fd4d884b4656931c0d3bc02a70e37c810fc7758639e4710a229348e134b5a67443dc36853fdddf632b7688e7622247be4d47b39d8f8dd639f9a32db3bdaf3e45441a8807017a9f078baf89eb46e44e2484e22586842658d1ae39bcb4b6be3e5518079fb10fac9cf6ea9d1e98a3986148ec834cf2d00e365ef8b45af8e7b4f8ef1c36fc675aa704269d5c1cc34e63f4362e527c3c42bcf38c2b1262bc350373941a50102b5f2f1175ba09d9d5235a6c90d3db2875545b7330cc64d44ab5543ede211e9736124ba88db37680574e225deb86e40b1c2943eea5b8351486c75cd7536d6da8dad82334cde6f3cc55033d09c387d6abda7d98398e47\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = a62486e6b5c6dbb918e6de18664bf6f2a8c8de6bc0b3b323fdb736faf48d9cca2792f842b3a5e80548a243ab59725c1dd6b2dce185b060008b623be218a9997131106b47eb2bda88fe9479ac8d539698b6f3b3e14eecb3c3a7f8c9e39d5398de8d1c5e9fcfd52bc8fb4e73319a8248f9c99592aaa9ba8c7f44142f63bd851f218a9a73845812f865b921faeed8bdfd8b61b98ea26fab09cc90f78e1e714b3ea6948f1647e1258f2fb965a407d1582f28663b76e187197b71e209bdcf3b7223c1596b9aa2df1e2736ceaf4fb830459415556aa52f47cb26e3e22e4ddbbab3904a7b1968e83661f5c8a02bb50b33200be928cdf1babd794e58e79890435f4e6f3af79b7015a7dd7d996f25d61d6b29bd0034445ab6d8b664667ca7bb4537f19edb9ab1f58ecaae3dd8c56a07b57d9cb60725bda9057e3d9c52cf17caa1d435f8022149901d27e3b152898e3865dcfb0580281838a72fef458328cc1130e59d4f69e58db5fd4552938c182128fe967a42c8413928008581bd41865e0c747b7d5be7df50435adcc707e00c7837a45da8a6e7a6c7ab5f5d3494f36d9f98bc2f422f3bf4c1ff0918529eeff3d4e8e5817ec22021f57a2c66078b8622ff4eedeab8bb61362488e215760dd82ff3a58ac5df2dd0d38073ec574084dce82aa9a056328fe5eab9e637aa71b9d6ba317fabb96944c65eaa00399d2793252a4a7140e1780d6b\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = b48e469d7a411e1521244f8817cf17566517969357f4a8e71297d48d736886793186dd648946bef8f9d74f87b0d0490e6eb58dcfcf7c3504adce0fb2886c174e04e5ee0544465607441a08a93a3d8ef41bde863c05a3825d083e48575175b897792ba547e79b38ab25b89c0067e28dc8014e51486c8cd5c17a190dff2375f3a920fa1c3879ecb7fe387edd215cac72f490cd7018ee17d46a0f4d5fad0b69a74b64ab3363415c6d5edb5b69aa9831984d24ba5f4d1cb192c19cdc4c095375dd5e5a562b17dad8dde34741c865772eb2451afcfb45aaa6023e5932a4d5fe0edbd4d1dd37276755938a47aa3392611013c491962b717744107d2f756f9808a2a2551079277483ab680b1289f2f42655ffe770c78b8f21cfbe461a9f2e8429837f7f15be891797dfc58ab59262e697a03b9ef351e08ab943fbacc7d8c0d23c7351e93a11b614dd8c9024a0a2fbfa91ec04be611b4c5a282278c33c5aa1500d31cf6b7daa8f27158bf28121684f24e8d79e706beb696452ffb71c4ec2c2b9904612e300f61fe9746eb370b3719fc7964e3459f8e61c98d5b1e9ece929381d6bd19ffad5a0ff36e6214d27a0259729a8358fe4ded419576d94de0a27e0828f95d60b0b25a567e397a6d2a45e92a161ad6bdaf503a1b6711d18a2f4aeda01b790f3187d6cb74ed23cea60716105ef65c9c01476c846a0e7f73c01ffe7e9774e74bdd0dd\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 414f44654349ab1ee5933470957247bfcbed3bda71bfaf9688523ff3b198500b5e37a62634cba22a0fe2f8b8be9498fc916c704e1070d3940005d889e1618374d0035bd9198dcef4a6b5b7bbdcc1714dce5e21658f107be2d90e10ec048d5f2734f04d58cbf384b4282c839e3c587fdd8657c8201309178dbdfae5a2e0f2f163474cd7dbaaedac90782ac187b493f4f36040b8a9321253335de7a84402ea2bb4a64664030080c69c058426c952bd483de6691760de0b8d13b94ac72c8fe57fbaeee54832b7511113bde450158ffc96821493e37cfb6d21156b3bc038ec64f4e4b3e1e5d01b40982f52041214c55800f9129c2b9c76060f9317285e79a666fe3452d4f13fe1bd1f0ca3254d7dbf0ca5d740ada8db916a1a8305d6969567f39a2ff2662f3642612deecf0a99149420947e7984172bb54efe8dd72f7cae439947c8ca79436209d6de5b65f42542f24c33728e5b3192a76bc9ea51dc1d248f41381d898cca441dcea3c515e9cf15729dcfdaad5c249110254fe2f6738632b5c2a4090b76cbfd4b23378138e21b25ace3635ef68f3d679447cc744ef6d880fd5329058b2ea9cca1eaaf8bb31c8e0bab1342975d268eb4e8fcefa1f702ce1636ac04dbfa772fd2e778ad89c4caa9accb6e3a6324be7e5213790d80b4e217f362b34ce1ede12677ef547e8dd7ba229fc808ce31491764bcf85593f932096556b7d404a1\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1332f011b204562cc83d5f2a84606cc9afe8a6a374041192e02d13f425e75f9b6db68bf4004158fa11bd591ec7b63b568e18f19191b5b9c67cb2defb5faec6140f240c0014396e9d6e8fd5a0f84dda87f4a46c3b933c34bff55883adaa70c5cd3d69b93326fdeec53e7d1c8897494855f6d83c21470f0bd2248b0f731d45003b7f5897be4bc3993865a6a530952a6505cf49ef6c6e319a581f73a61b20cc678af45d53fa33e8be9988aec097bbaa22bb9544985a23c55df8a2a9776eaaa682bb706003f93d16695646330c8a0475f84900305b40f9b2e54d522ec0372aacb5109079d9db19c03595ad70350aaeefdac12009a4b9898ab4259cc5a29524f2000772440d3d0526cfc7f2d780888832b7527a3fc7b5df763d4d4d774712c31441269aadbe75378be716bf0b4f5cf3164707c8a8d300957564c5c1258119d988b59cf222950de826246f4fb5de111e8b72d6a7b038c9d03ac3b2d061a07c7d6d3b574860cce8d958ccf676324599b33e8ff0d24e24f25e4341fdbd872725c84bb666e604cd6e7521cb478aa80ec831279aea590654a8480ad545df96d89728c0de9e46718a6dcd74758ac354b47c772f23cad609ef6357266c4d21787528c16be7e2b74e23db435e9281029b6b941bf87c9ef9ecc222c2bf7d9feb05fd82aad572d03fb392445517e93ab6231ae9ff9354ddab4d49afa0291563e283e6ec3a7bec33\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = bf2d6fc105da6e9b202864ec36961da33148c02b3ef01919b54252458c48d9c47e8e6c44f68df073be76057a4ce99f7f39a42685522a1d3cb9f4a1a16cdacb079fc3f5947726478d403cec4f6d8547f8113ff42ab2c2a048cebb7f8d989d6b8690b52c19494f7dbb4e9f54b03233f05cf068f715006b0ba22d027b2b026c50690de6bdefb68e36ce3774ba496b4fd6eb9b4dc75756f492e91a7eff34df34739ee4c9d4c70e28cf0d101ef7ae131c602d3ad17adfa6fa6b2d9e290bd3133545d8f86fd9719068bf6466916b1fee375506f4759360dc67394eb5f2eb8229b4f25cf257d5ac798494f936b458f45e97bbb0e555c7ff0a83eb4cabffaf0acb62a5baf3eb76a571aa5c6fee066d9dcf4ee8e114f9b1a67b89de311c2d4e6305330224c10aaa8050c30f7eb611b544c74c3e76f38ecc193bffd82a2fb5538763db40a58d86c5d308d3fc40f7e9d2fc760ab91ec17872907be2b5b59cf8b63c5cb677e0471005eabce70776361e2cc91e98bb925d5576d5e9307b91e30d63cfbd1b77bcbe30541dc2e6367b75bfde9cbecbdedc7b6e83e201716434fc159705ae334e74417e35d5e08540f59061855cdceb1bff124810d6b44c673803257b8fb0d1d381a370d55f3bf59d8364299b7fe2f3ce0e0c8573be935c930a7cf301d5cad10601b5cefbf060e75642c9f6110df8739346c26ab3e7d4eeb8573aba901cdd7f5bc4\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 5924a0a489677abc21003678c30202453cbdbceb80a0730c318745baf67b9ce438861e71076bb3981849310aedd78866d23b493ba42c37ece84044404f43664dd2648fd0e2ccec96acddb8d7ac1a73efd782d994c257b367dc9e84433b09ad4283b87cd6ef27c64b73a33fff9bc80314712adf54abdca29b61722cf38e509de1a7a86100605bd602f4ef5511105c50b1b49c51fb974e9efdde71e6b83858df47228e2e6de6eed91946f03c4b8429dc91d76f449fdc4caa251adb6b55840540b3ea379ba6220a6ea75fc1a716d91fab436bef8894501ec2fec9ca25b4013ca066e4a6f093bf3f2c0fef2965b14acd44c032f28af20d142feeb35eed9f3b7e3339d39a2d20069654df27f6b2577720b3291c7f65dc78601e6088e6c81d9ddfc207d47472b4fe0b4c633640f43c8fa0ed860e9624335d6c8c873b8a57c55c319975c96cb7e1c2c91ba4a4bec588d91837d7698de14ffd27ca6a1407e6cb58657b9a9ea050bede8d3e15d8a1ae9fd5bbe6f544ac0a56e95f5819025e392167db36abff9dc7e22fa1ed8f4034f77b89bcdd472855b918d241608f5d48a0ddf72b97fccb8d5cbbfbd43176d0949c48553ad6d56412244c763deaecf92ae8e09432c871eb2e62c1fe0f385e3590fe9c39264f00bc10d9280d385d88e28a522199a9108bd6d76f7d0d12585c8f6671074ea8405d2b396da5a86d11152d7ed86935e84adc\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 18ac3a1210812bcad60da4018b757ed3494d9f41e8458fec434aea32dd9497ebe4872c19643ad7692ceb186179c168f9e21a58f65531c494f18cdebf315cfc2ab7e423fa0e3872bd1c81dac4f85ff2192c9efaebd2a5f2162a72d13dac495557853cb10f0fc0f06155a808a21202f5743ed6df409f3e8e563feba4b0b11f3fbdd9646a2af4ae47f375dcaf2880ff199f56f1c528868f0bb4ce21434be80ab0e4b8d8f0ad76002542d2fb1d582dca46cdac63192a1b1a23b28807ef569da9a4dd9abf31f6a7b6bcd1cf19cbcd3df50abac097b33ef20dc1f9f372c070c9cf96b8adcde790e02bec4e26204460090fcf13b9cfbb71122c29bf22c2fc1500fb9bce140abf739f84822b4f7c8b8a115f5050993cca0589c5f762bb290643b13d39673238f43219af66b2fe0fa426cd05a774c29e3f6174b210f1eec5b12d879890dbc4b3cc3c43c17ce6d5d4964e3592475ca", + "2aad44b0528f83835c328788d3adc68050b20e399efb422879bab8e5bdec8744c2376fac385abf5f68cae5239a1662da8d56cc048d1b1f55646dced4d1b5d79365d29b330abe412217eccadef0f18e37a2a6b7693271c67143a65adb96dbb561dcfd4fdac0ff9d2ad3579f9d692716ca28008294724709756df98fc53af3a24505294b74d8b43f5ceff8556f021cda4bca401b21f2aa9af455da7f8ad45b1c0c31291ff00e55620480de1fc33f2c96f\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = ac914ad805a436102bc7f16f93f17600f5f37d53ca361b03273540f838e5b216cab3ae38652a1b23b25db59483f2fff00a369a80cf99d3d0b39d40a66cbc5491213c47f5ea013583653c68eeb5ccdc701a6ffd79f189dd6d6cbe0dee4ee7f537ca3d0399c7ed4171bbb27619c008745227ed2a45535a7f70684d2934cba5f35f60530a27ef9df9a122cda908c357c86ed656993eb8f700b375d050a7c5308cce03f86efdebaddd0ad10e14272047e504bc12145dbedc7fd0b4eae560a1db0688ff1000b4da2645c129b714ef72117505e458bced44cbeeb331399841296ff1ee9dc926edd04f95979653307a5c359b420face9f3b6d8504195bcef9911fb25db0bb3418e87370541a160c53c5db901dc397fe15f9b86f68dac53c9119a6a51ae60005756477fda826c4e0013b272fb2b029eaa8f87375c20ea9626e250927d9649f69ae9e554b6f993ad0976810c3c1b1db5275e1994e8f066c998190fe116bde212b6f11a7efa6c76695f324697cde80faabaa97a9e26bc4c0cfb2c42be2021406156971a74ec6b16ca9954c3ceec6f39c07e9b3c8d60a4c57311d5ea1e66bfcf3df18e3c0cef0e7a791db286e9fdddd143644fc6dde22854d3081fa0a5acbb4e50c14aaec6da1ef6698a20e1d2c1ea6a9f67e4d4658e63f7550e84769cf9d7a1f29ebf28b72ab2d35f7f079ead71abfcec576f862dbd32f6906334384660bf\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 94d625e64194e4ddf817475a9b0c6ba31804290ff703f39c0f806f54c200be4522cee5c0c37a350546115b28b3bd503f3b9ce17cb485e4c2875a48dbb5b664a280b971f5f7e3f33e09ff9818cb32f14e62eaad82bf7af60c84dde0be79b51c0764fca7b2eb6b3c193738cdc94a3177af0fc6e5fb2ad97e3777c423429e52b7fb937bb4d3b9e0851484501a1c77d0e0bc3b9766bdfcf58a7a909eecd6fd2984f5934e0616f56c1db1b4e72992796b00d7386890d6906170c8349e0a313599024ffb3ae5b7f7a857f9cf91b7b90460be3c975156ce3590ff8bef6eefa4d65e2966e5bd510467d864213367d3ac6db3607b4c6b773078620905d7cc19094e0407f4c92753971227e9888005d1cb12a855563552e610537385ce80ac1eb543ac67331394047c12f4c1f29578e62062b078bcafef26ac9c6a0a306b68cf0a717b99641ea7eaf5677d8effaacc6b6d71ad713c120426b225842accaf4921b9a96151bc9334c545e936462b5eaeac25ae02df0a2c4e76167a4091182d2159ea3d1b2dbfa45fe521fb25aaa56b8e7c5cb0746ef9c984d31dfbc95e40357051ee2182e3a949337e3eea4074ad2d9c0d578584f1a01923393ead31338f23dc48e6f9743f4ea9afa98354ea3c6f657305b4c35eebc391f1601a88e0022601de01a5caf66ed3fc7107c4cd37961cbb953547484efdc4807bbfc8574ee0d895f1bef46437b1ce\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 10158b081c00409582fa82d751e779cdb9501972d673a5702d7df6268c8b6c6d76ae8e98ebf558e93c4460f9be3bef7edcd4f78cb3a8bb5893cd055e884d72525b0f249e2418308c7e81b73cd72fdb5f0710b01878917677019fb21165fb819451b807c5b6caa23123e7ff0b889ffbc3484690ff2484acaf8030b6c8221a0f933b82e0b2f92f3b3d17105e4a52dde787ca4e37252ccc060bcb04d9ad752b03e85de89d2eb5d455a91363d189c4f8c0730cd165f4773089896b460584d4048837d9a18941aeb2ef5172ca71d44c72769f34272f612a89691702047ac079c0c52e77229a1baa744620d3b551a26a3b9ac18feb2cfe17abcfe3b9699b2474478ba586b7fa19f8f582f9f57a96a414d81dec30027e2784e031e52a3913de59fd5b5a6645fc71e162b73f0bf37dea30278a50bfff343f4c9f511f1880dab8c53871faa5683c219877d6cb29da4ce3d22ccdd3079f74953fc64262be53ae4dacdde65bac77dc39634e3955c00d817e8321427b6643dbf9f8bc83b85e61c959539e18af5efc22d4c22a18fafddd36b4f18d6285cdf37452d4f6fdbe4da2d478d11c8b5d1ef5435b3c9955a488e76b049dad19f2407871349093020f7879a950536a0a6c0f07c3e7eec951c8ab42dd150405fafc93abf43fbd895686ff662efacf9e3d13aec7ec8a8f318750715b45074c277d25a6ca71142dd15920d7047a4bb4363a10\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 5eb6e05dbd5ef027479a4685b3dbb29ab9be86fe8951a6d6908643a94d8a6ffda59fdeed42df9d400f8b89c1341024560ce5c48646981d6454d2301bf4f1df70be0af6c6dfa2b312eedad88d4a86af49e4c8d8a795b9433c42d77c84fe58035b4ceab914c1a9a19b37f18c85a47fc4449bb403eb1f2de3bc55a1cec6ff7de41bdbcc708b8af6b3776464e9eea900f910e807acd7ba886a7c2b76cc2ae5a6d372c39a6a89035da6934a09be6bf632392289cedcaa1785f6c008f332a887be0b148381f39b5d6da18b1be87920cb5b598eaf87dee65eef6b51f985d02cf5e2658d2847aa05776a81ff06f84bf9445b02cfa5bea1529e216f903b75216b794f3536ab3791eea6b38da91e732d784a870eab2fbf96ba60685db8d618a6dccee306bbbb3fa2c3c755d8a629099593faad78014c9f10ff9b949ee0aeba8bd3b16ad55bd19f18d14820c3a99ed87e1c21da8409786be4cb1b5c48e11fae272d8fa65f53f0bc2b79223f657d19a37931a73b4204573049b96d2e60d6e01e5ece0df14776121efceba7252dbb90c3d889fb7dcb7c43dfae6cdbc5c83416252d3304a82836b1e379046d73317598e6cbdc13bd7a2e89de3e92aa844f41a343e5e682692eb4ed102b3fc29e89567d789cf226811f08fc6d7ca3af31a363087c9cbed0201a2083225062710110395ffb2a2e446784b5c124f6597aa787acf303a0f20fa336f1\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = d42e9d65ad28358b663b241dcd920f1390247f086f8cb360e6eafbefc46d8cd3e58ec96f691d39981ffa2c6f1951f4466d71bba2cdfdaffd85646456146121295e672ec14b5ace16b2dbbfca9d8d2c9d9c37aea8598cccc56edec2aa30a592abf542e18febbb8e075b11661676e0099002251faeeae23557efef2d8ec21d713c2fd85f4d194318f9763b81521c270828db050e12248dd6cc60b36752d17d0d3355080370cbcebe4d7323d022b4cd463de54bef641027f4d1bdffcb23f6b0ca3bef588122e35989629c209337bcac8129054d1cf05c057c9ed266ef389791cefbe3b38697c87b8362a7f16bc2fefcd107a99ba1b776dcf83177e5034999cd56fd184ef93320a88f40c0eed889b3ba77a5378938f6c8f0b822e7f4afcef619823e789565de67a7a3daae4b4b9d561fd7361ed000fec8236b94cefe60095c0516f3ee3712b9d3dc8684843c0683881d0ff690bd82dd29e15349817fa12db6f8017374568e127db29115dd9217ffc11c2ea85a563065b3b21372a2173dc0d21a0f8008b73ecb36b605cc17f1603f0d7ba3b1ce95593b77b572ecccd6c4297c60bf260ce5fe07729b75005a9ccade5ee19a04e68549fd926ef629f8cf2f956436f47bed5636afef7cbabcb4fc9c94a190cbeea82c79512b5938f9a746b1d651bd6e1944b3f88289d9c377bdc463457e3e1fcddf8dce6637d88cafc53fa6a3e2078018\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 0ea22f253fe76780dad6680542ea0f0b559ba604c7f5e16f1f248c773092f6fce860792b7c0a691f3b854d8554f098519084df3cccfa3db83ce1a172edfc672aab5e8d13ea73b15457b0d497f268a5816f842d9d787485dcf1655f6b73378c8e85372485054ddf409a5ce8ed8e8e2769fbcf58648863f0463d4361aa7c32aeb1e2dd3742106a49c684f89cf9f0871c33991ea99f488b81b042721f346400382deaed4dca657ce8ac17a68af64cbf9326088b00913e41885cfab0a551f097b59e2e192101148634bc063a8b2301acc3e5e0088dd1d47a37880c28883f87164b4d667eb96733ab93198c854658a4380b28e5ace8decade9ac82da2d889ec0092d361e34ce2664cfd9c52a0b49a45aee3e65ad4b545fb8c2a9bf2478b7c3ad969f916ab44cfa26f90bc802400435488512c63c83a7a46a1482f89777b629f913ea11a9b7c723c672b7f3f0396239ed75b329b94e1aa33df30523fe904204983db25d80396937c439709e443ece935e51e2d018b6159dc33c064598db728f7199f53fd659df0f6e6cac74e97812920becfb20bfb71d31fb0624a14e521c7a88086830016bb22c43a4efc3fc2a7ceba4291301c5bbb4aa0858823b65b0d90f0baa680809546f0dca13b4dd62f76cad902b522106ac4468c601218896a73da1971d7364e0dd1b6bfbb6f372dcc3ebb4a3f75063b20d389f4ebc5a9938c66c278b5a710\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 22b60129d2653639fbe477cba3f07e1c8a6f05a5eeced1d0e1d534acee45949c41c0059a2c24dde635b3b4c11b5f2126eb67d9deeba2067b17546421c970b6f6c72b66fb0fc992d8ea1c871b1256a99cfbfcbf75b2fbe130e2e8ffb0dc1b57d19c2a8ad3f944e27cb3a14eb444c84b2227da621610d3569907fffe581708ac09dcc10d0d4893bf46f18de5be2a5dddfcab4edec6965ca6259c700edf114bdc86444dd2a891ed114c52471a7409f81da490509502ffde2af5ffaea6cbc9c6a37aa18918012a4ce9edec18adde61b8b4f7612e312f466aa00ddf0b27851420f61901d94efc0473cb1f5ce22090735ead3fe18e7e72234ef758fc0a6dadcab006ba54166724099aa8942d7f3ad90f7e0031d4d3ecd79817cee7a0808400deb50c1f0f30589dde23af0990683d5463fd2d3a661edbc9cc79681098c79d61291d1c225bfe2a1d53111d35164e23f3e1cf176f41d292cc08e36a70552ff0114cd8b8ea7a8fe0615b0df6113d2e300a142803132bf296630f331190a33f040d5e8d22ecd8b2aa044d280d72e59a98286e72583521d075be2c39d2d5c35c97b626d571cfe214eb4ddb9ae4353352f6634e0a80e31d1eed3adc698d9652041461e1dbe63ab3cbb992b8dc32ca0ab5e8e280b19585df23317924b888b18416f131adb1ffc30c7e43b330a5ddadcf930ee026a228c2faaebf5678ee5a78677dba739fd7", + "e799\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = c31a07c948030712faaa219622fb7c5d0b617ac39b9a2c64e944dad71fe7d4c5ac41ac5b03b4d2ef702f86a80da37124c396efb3cb49a699a290a2aad3d94042e51448fa160305403559814627d6f6b71f4869382da10d58e3f3d9b960f3bc6d96b2c228ea08eb37d65099b18ccadba626b79d3feacf1735999e35999dd0925d3384b621d97958533eaad9787159843a431e984e12d502314450336511cbf28a21c313a6308ac7769147caaf7bfe1acb28d819250ba87679a52692f9b1c2f833fbeb68986081fe36d8a9c91bbb939b999d6b4535e796368dad07ab86efaff9cf03dc56f91532e802433c7adff70b18a60c402ce53a3c7077884a3f405014c59fd2efc9fd1c2c008120bb97831b9ef1df8088e80fdfbebc7f0136c9f77e7ffd5123eda1e5d4e40fbec8149f227c5752b0c23035b0a5711b666db60a3ffb1a9e7e704f9704fc735b07d2347c6389c207c9aa17f414712bad469fea9fe6230825955c3bc54949aa3838131c3012cf9e0863cab77d95a96d37e021efd83dae21b9b16f75d3a97d72e8096cffd2f267992c27511b8e1db80c45efd0d95d55b6aff706aa37d7b142193d1ea74b7c359d4f6c8af3aa0bc439f35649d7161cd2ce79041eb268957cda759602d1e197adc6a2fd7421f0ea74a401bf5b947c4b39e6d39c19b18652eb04398e03c9f33d47acc6e3cd4744911bb8ebe5f3b9fa2ef62ad2eecf\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 0ef4e9c1a2dea678cfb6b58581e01ae001e67e8310244ccdd6b83dd34d3246fee465fe61853c2fe02fa9857becafa74fdbe59aa21166c210b11730c0699ed35e36a274d0952a88f52e5b60e948d6bc2684146c74cfb255f346a3fac2d7ba3435923877648803976112b19cd9fe347955d0100146d7b8279a3d48b4c55813a60411915388f40ddd87175fb09c0b4aca6b68dad94c811385680c0a54799cabe22d9f376eb73105749dc2408c033f20d21ce0082d6197b2e62ca2fad78f221d971c432445a9330fd06cab0cffbce8046ebe419bfb354a4c935be8d72e75f7f932fa45bc2fae7f6614d59936b669b6a81b15275d8ba7c9e181a99e7d82bae1e152c02b2d3f3406cc98fe85da5dbab2cd6f1f379c302dbfe80e82e0a368c43d4d45907dbbf3c58b2c5eced793e8863dccdfd4c503af9b69355069f1b5254a349ab7350a2584ec044af3ca4c2246bf4ab174bd0477b11d6bdbfed1a9d48f1693c761e340348583ee522d51c89f427dc5c74771f0dd33538b90249db9c67b879d65b65dc818c1b016c51e055be80e8ed68841001c396d19c3caae57bea782dfc1596dbc26a3642b5661dfac202210ab4c85d5a516c2479cbb546915fcc809c14e0db9e6b4c6ca0fbb3c1b5b1f00fb8036cebaa357e05c796b546fe31bb1bf461ab2b65885b48109fec7b215fec0df1459774c96bfa8624f0f4202cdc907ec63162dafbf\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = ac7d5e195ed9531de7ab8c86b4ae02c6e0c8d4845d2adfe0580ef3331db8d3267f83d0920cb5384735e1d70b053613e3cedfa84ec606fb2de2de471f40657e05493a05ccd0618a0a1edbbcbb997db604b122b50e12171888cd0af9c5e87614b7a4b91a714e45b1108340127442010b50f135f2e00119d25b32277923ef98c7863c678ae2eb44e8078f60bb2f43aacedd95af37d8d7e773e6405493093c20d358cca6206c4f76c7835bc8b62cbd98962587646ceccf57ffd3a29e1df1ed3e2fc7c69dc1a5c9bf13cedb130e685622807fc1f5ea48de9921f8e53979654b819114fbb475ec43467250dc3ce9fac210924d29d09e16594edfe9b5ecbeb90c14e56ade3bcb0f99fbcec5d0b44089ac0f006b3bc7e51c04420b6b2cbfdc850602c461672d4d1f19bc94e016fb756d59b0818356f07fa9396703adf698a0f29c6709ceb2789d698896ccbf8aadc965596d9072327e84418a733f3ada1b9fe3a7b50319f66a948fad2554644cae7347dc184137ad4fee0d63aa1766f935187d842d4c7a4f51d752c2c22916a2abe41bd1cabd1e155e1637915bec41a5e792ae8ce41917a8041d169b036f705daab59f48d7e4b8e7a4c63b992a4bdbf7fefb14cc76d14936ddd7682363a2b5e9782a0d2a0b3d1cb2d2e4974e4f7edf4e50ac02c1613c33018d1d85b35b7bb435ec957f37b693d736f89769adccf85872818943a67c93a8\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 6fcdaa3bdd2851153a88d3ee180d531ffdb082b548f0ad27b1dbeaab932401c62bc47a6cc41a551f6babae17fcf81e8b1d290350d6c827a6219819e9796f1cdec2bbc8a2c75b59953d9003bc0e5d1e9633563e4120ce608c758ba03a779bc54022303fd59bf1f0238fde26748ee60c2d87411bf0c93fb67adc1bec65833bf5d3e80b7a34c8c652b67f73a36e8dd3e450e16b8edbe9623fc895692018899437e14136b72633cccd14703ff9845166793773562f5df070496f5e0b721534b35a5305699cb5dbf56cfd62c1a8527f7d06604bcbd74d0a8f8fce4dc8733bd8ca3aa08fd85a05e2044933702d90897e407b274a6cda2397b58abf12f9cdd377368131e435096915b1031fe900d308196de742c12f156c26e49d7d95c44f4cebb16de3741ce6ce97a4c932a3baa286f4b0521afac0ff081976f028f8e6cf3c14bc16d905818f8c6c5fa8befbe4f753da2c335181e99c92ad106de82aa152fafd8507bc0032d68f22949ff03e3dbc829c513d5c6b4fd003f76516cb2b23859b07b77131fddb427886329db959e4e3553eb8d049ef6e33e42090611fea717ab3b42d56a1f678b0e70dffe70125f5c924d8d0154a3efb75a555b970bde79c1c6c64af6ce2b803e46b8bc94d7db826eab51d9fd441affd173031c0b28447aa6c2dd666ad32814c753fea22f3d816da523f3565e438d73175d508a1cb24bbd2a892d87df509\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = a5a73b52429e9596e8dc30c0960699a9a39cac3a14404c0e79db0a4e3c81aeb8391ced2ac1fb2808f6d45a8e84432053e9cbc8bd12a3bb862b067697c6d8e602db8c79524ab379fb68da90aa27fdc54617cd4e27433253dab56fa380fbac707a8626129e20a49b207cf0674633e29801eb034354a5252acff7ffeba3d64b29bfc69c54480fdee04d7686b392bdbd489da711de0656b7b86aa174dd78a80e6ddc424e0de16a01c25624f200a19178054835ceaac2c20b183199e62668f3c8141c0c7e4048ebe7623e8b511573dc12cb03ff1023d41484262a0f8f57a73a6ea1e00b3237404dad1ce60c0d7f40faefed4f97f56aae395c6b28f6d2038a769cbd4ee32507c17b4bd17075e855367053b5c2eabe33727c1f54e0a96d188da41220d57575efac1ef2ff9784e0dd5be65bca24e918570c52aff4419d7b0571466091a9f68e3d55a59216f8f69357faaafef2b0627e85ffb6f8cf2338d427952c49e7430a427a5099d22bbee55e8afaf266e10e4fac632769619501c35f48789373f155f3f12adc0047444413a9ebf490e6fb68f8f75a575971333a14ac669f6056f1ca0196761df6a19d237e1b60895386feec829fc7ee1d74c4830f9435562568f858a75dbfa512782d9a3f817cb40d6a496a7e6161e066c8529f1d925eb215ed88b2984a0f98dd8e28886865945ff1be0789677012ec93b88c9593c4cca14d5a4a09\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = bef5816fa3b15f171af504f2ea184e57d3f99474ea62911aaa3255a3335293e1fd2006f814c81130a763c9c65cfe3bd040e831f350ec7b4c513f4499899c052638d15baabc13c9e8fc3e7b312f869ad557ee4367c38072a2c9886250c1433c44c4ce88fe65f56622ad336729d1627af94119a81f50f0449d025f8401ee17cc1eebb697c65a97caec4fd3e6e1b5af854f1763a8afe5ab1893541c1f3105ca5f1e36124ae1a9a2b21a252f3d7f4de6fbe07707746b303ed98418d5694c9e67d2f546ba7e6fe71620ce3793edacd477948ad09aa8d640ef91c87e81b43c1d581a1ed662ab5345143ee572462d4b88293748964f49943385faab3bd2d067c7368522ea9daa137016fe060e7c5b561a6e4e0e6e63396c44bfb93ba917d873bd2ce382470763935afbeb086071268669c82edd9048aa96d8f4f9f329d8a27fa247716e60d122536f3b9455897c0694950a9f60e53f88380ca5cca2339faa3398a766621132671f7c9693cd2f02d21e7abd33244d63622fdc156321ab6c7fc7ca7efc56e28ec52148470d8addeed698fcf0ff8bd01bd64b5b5bcff96e82dbd84161d4ef4c3339cbe7b82c36b529078ccd6fe42918029ec5d7b6a69f5c82a50364e040dff69ee5a7b015e604ab43aa46691ddad543dbfbac3785fecb209817d0348482d5671198fa124d5a45a29ecae1670a11c6c7da496cb10dec64cfe80761f76b74a4\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 7b74df1019573cce85ac1fb8b57e46c725c06c4f44f515a653b26f50e677600b5cad055508d54c7f73c50d7df2822916716221df94bb6a87b0abe955ebf1216949a8827e380fd05b4e59c86c4d821e244a26ebb0d5221dd461d9287d0cb2e9c27f9fe5c53c3c243b45b816902b5d2ff3a5650ecd749cee7d69e3fd517e56986739f66d82fa54412ffbdce94cda4b9523fa177a09a275634a014d594efc16eb52c52376e9a1c7a52a6b01f4ec609dd276eb40bb3149d8d2e1d7ab7c1e7e391770e0f821495dc9d574ab859567b0a1d32c255b398d38a6d75d8798f8c1edb9ef2fa47b0f27b9f6ab5cd3599d5786ba01616a41a385158f92f551bffadf72a68d53748d67f909b85a653e04f39722ebb2f628447e7eb83f75657ea547af3b722bac597fc2efe61e540e4ecd5de24d3e739c6fd219220a37a230834d8d0238a09c4b16fcc1efd85e074f5acd71daaa4ee42a144c9bc5a117a9854f07b62a0aeda7887c13f56f98f73d555f0b9ac5bf933887639ae6bdad38d3c0222ab54bdfdbf5bcb407d27b8c20f8f45713905c1d6d9bd98160db03f7fab8186dcface315c27e361456b7fe8c47e25a7a1044b6def6c6a88ec91af7a841d18e5efa9d301a35817e1c43465c273ad19df89ed7d5ebf8f0a6ad808459084dd6124726491abafff6f95e0c1fdc8640d5e6a7db52916493792514ea858679ed9d660cb73d7d84f6c09b\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = db24a033b6f1f1fb4e43ff98b0612b93c5d19957914cb21ca78c4cc6b3ad5242c13f575302ca531697c1b73cb06f1b7d29d017224a1f2e3fef14c97aee8290d86c00922af0b2e82f7d8010ed993fa983ca77c5dba14d491b32d7db94c56bdc1159e743f4812d73b1103badb4739f2f8a1d4b65d4b6c43fc7b83f35c0f30f0d9177219c133b9be10873c2bb0909c6a3658e5e1b3eff12b0a98c39b7a6b0121b24068511374", + "6834eabe950d61e0080ccca319dfe0d7fe33b28ac7d7628691be5211f2e1ae02b394aa9c88b1ad93ed64af0eb8af3898daa98d384e6751767b61687a5a54f6adb4c2fa76319565a5236253faf0497a625a62df92734799e192464f792ddfbb8f64ae65fa1fea3e3d0c4da249c28711db543a588493c5d20f42baf8812b3b41b059c7bba828700e0c032e55ef1c60a1a4d59dfdc2d9f10f9e72e24477256dc956ecc69af456409c700805ae0f04e9fd42c840382708e59214ddcd888e03cb96f2d22d594ec199c54162eabb5b65cec08473590f9c2ac034302391e1b2e9ddb78263bea393992a43ea1bdb3571075d56e2b77f874fffca00e291efbea0efdcb813a5083e4b74b1066ccff5e7a77fa4168dbd14ddec94d523816ac0289f5285b63ece4e5aa48854705a03dfcc6e41982139fac18f7e4fc0893954841be37c18c4f9b1f891c2b8811a60b12ee62b3085509754d9f33c30ba808581168f8\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3ec8c8209450d96ed0cb462e1908c450926e7092378c8afec5f70636b8574e85c67635697b95b3fa3ecc024e5629c68435736d1412ca8665b77670afe1a48bd79d636855e2f85ad049385846d275f75b6e77bb69251112352f2d438a5b0db1b71f9f3c8e2d46744a4176ac3a7880a36e0afb157de03e5d59e01fc929c672c144a448c77bde4dda5d5a9dd74ea5e53e07d07e5db63d845fd1a18114548a5098665aa644601d6e696bd5d2f81f1f71d9f2e55e456042d7ff36d813b19ca420d608c8704efa0519e2e147f155c5f85b6430275b5c1fa913f94d78911e0f081f8749f5bf7dfbf21a21fe50312ec40b8f8c9d1c1d955d0a49e668b51fec3a52d268dcc826bd77fd5e0af4f2c447a51dee40fc15faad7f797e0db9072faeb1fecf7cf312814c7d854ff3ce000fb0680028c110e608ca25b8902709faf64d0ea53201abbaac6025b87992d961a455a2778ff556015becb6ca41b477733c22d991cff0416b842ec3d86c5404b2d9ed3f47efddb6fa1f0725385d1733a44bf75b51a6a6fbe25af3ce0840a95f86da227e7f93f30ad47c033660c45013be292820f33d9c9e5d4f68b5e05755e18a1bce10003b7d2ee97932af123f636295bd8a13e07577ee3f3bc46ae6e471fbfee565a3b461bab9af67f18e244bbef312c8a59cf1eac8e88d4ee1b7e085260c0507945dd907ed6797041a594b88bfb1f338669f06984a70\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 4d54e56f587d6fcaf2e43ee1a8eff33e833f83d91ca092d0b536d0fff80ad67bbd9926e7fae8b2b2215babc678e6abb916dd19b35c8bacf99b397c8ef364b9d75b595a4dc9f07d3d4a59c52fa4fbfea7815a2196b7971867c8bf931705be8f106d150e71bd7f7d652686ede684addb0a29987a224627cfad213064c1d1d6cfac92f88fd9fd0703a74741a71d43c8029804fcac4d14f5d8591b15eeb3dff5ba654b521c31cecf2ed7a70014c748f9beca3f1b69baa4fbef8400888c5b354a8f6c80587675435927699f0894e109b21aed4ea54ff60fb2c8298425b2f017db44fce14f6eb4fb95759d79d805f113493f7d40722fa37cf797e03b6937179db4438a7895e74263a93ba212e7410e17251d5fb49fabf05c142c9f4649d44617652a5869496345cd48245a3fbb6dead2ace71b7fc3965de6e70be503b2fa953bd9fc76f5be70c0f7d987a323f8a221b875c805282b6eb58a6e4343eb3caab62b902c9310e56ad50fb4adfdc68f11e9bf94d76410bdcf4ebf05dd90d341f025ab182bb8ea0e36579288f6274d47c6c25ea8650424c2e12682ae58078f6bf5b0772d932aa77d837c2ccbb0856efcc564a28a03fe57e9c674889bda54b452388ba8373cbcc26c74e7e93edb9cdf6b91d22fedd014f1151f8a5935ac64e28bf90bf71d92d8415af15127dbfdeb98ef80e841254015641596f331cf5214edb7d8b3dec1f8b0\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3393a6451aa65fb86560a8d01c75c99485be4cf363e43f829a74ccadf02aaaaa85553853ed1cf0115ed5358580eed986a3de779a1feb8e4e1e312cded0824a0e1b5669422d00ade2d77da369cf2280a99b9cf42b6c2a7f3038aff49599555cd9549064d806625c077a85468c5d36fc8ea42078a16181ffa5f75db72f0eb19d2bbefb5ed86aa80a821078dc42bcaa0f206bf9712ced9f18853a6b24e80b418a0dfafc6f3d25f7ac4f20b305fd959c8972eac20fc1dd962c0e504ed23d2231425ffa5a8ce0a43216f07a3cce90cb503ace3a4dc6e43f4eb9a93a68a0eccacfc5300ce94a48f96cedd1179b294918bf6b1c6989ef4804bd62d820a8e9ffc04025b7657290f74fe6f02f2f6c6e0a5638d2b806aeb27110629ab78f1d4bfb22224e8ca09e47b118c972bbd3038024214e0d2a8d939ce06e0f13ad60d753fd62b26a83f9b2c28a10ab6b8e5112d3e52b03258edf0fb204ddbbe1270e41eae54c7f92c2f65cd287aad76e6dc7724711ec03b338e3f6ccb9c8c859f878c281dc0bc61a990d244154b39cacfe47b92d7f8752334e859b5796951ab3b3a09bb269de282b8530a018e5d4f15481400c0f3fa5e60d0d14ff4546598ced7f73a28468639cda085efd5099c12378b12fa4067c1678c16d0954f4b5954a48c2deabb4f694c171d69e7efdccfd18887e79207fdfd0e879824ab991aace5dbfcab0826ee8f44efb54\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = d7084e9d50f340dd41618f6236c0dd09f86ee1858c77e29fcf82cf88431111edd025d3ccfb90039f5b6315e1eaf2adad3f591f3cd4a0ee492061a73da45668485dffbec020947e3f4a07f82b3a5b4797623867ff4d928bd58c19096f604656f60d8e3eca9e218fab21d3470453634838bb52444ae1e2bbbc553b112ec3a3c0785bb3051183fa28ff255584d75b445102521c9376ed9114e84f7a22de4021c334e7da873aef6db293903a8d03cdeec3150bc1890d493b418ed23ee4df2631347247d418f201c04ffadbabfea441684621e78425b9f5e6dfe89977e7d5da88720595850b5e4586337c22c1a4eaf35d5a40b47791925d8ddb9471de7c8756b5bfbe1a440685d3c99fc91f73a334aa2d2b7071f5b5cffa643a40b9a8544b725a1e9f2c2bc62a4ed42dd4db24cdf80f1cfb8e9e5b5b86d200b5b950de96dbae50266f5ee7ec6e4e2cb2a635f4930e0b38d1028f878bfea22b56acc9526af21296a08849bc1c3a9b9f90686d4a0426dd8904fb44e3401fcd6fa3a625a8523184d2e03fd6d341e3bc365bb549c5307dd928cf1e409e7d60a1f3bfec1a95501d32eb79b38cb50cd5202f12de07d466531d85e0c668a70cee060cc3c46983cb488b8f79ca5311c91f2b90c8446fcd2a58d5617709b79ebcfd5234c7103489c4d2fc3d7b3387904e03bfa9f8c5ccb9d5b3f78eb05943273dc8a940ec0f74c5910dc93da81c\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = c08f38df11975c781af71a9a75b80f89ca790240533b40de0363b19584977b411adbb2a69921f53d0aafe040ce96d6356b879e0e4f24eb0dc04eb8b3a19ef578033514c63ce08a01e5b3cade4d25ae36e7c105450c7c1e2f2b4077b492a3b23961c9c40616617eb081b8a5616a741c30ddef99e6fcd0934c4af56b99cb48d4419dcb5c0d0db5cabb1a3dd11eb8ebed9a6303efe4b9ba9d00014b72a03b0589cbf604a9a13f224d6540a2881c180370ab9e2c90c93e5c9bb5e58a0926b6ab75cc18c12431c4a173e8c3388170a8cb7100193a8c644ff27495d98fca0a5f0d49cafe618c769cd5831707c8baeadaf32df0713063820173803c58dba9ce292b8e318b93fea3b40d75ba0a0570512e148d9e84b5535ea70eca59e450aa053782ff8e5ffcca140dea1dbfcd37ad8ba3ba24e6087275e947c17a64cbdd8488bd6f98f9388549b00b3389d256ed0c6043785de6932f25c18bed5c0527ba46652f56df24d3ee969e109d9bf23ccc9359603648d8e7b064043c9973931ef78fd107a9df7128362b0ad4cfa449c86fc613c47d99222f9500a95584c746b91dd729a987bc5de7c6bb926d52081945a9b42ae061347c16e71d91a6553109018d159fa7fc13a8d0ac9a57b132bcf7947f19e0444148173728397afcde410416b1360ad1e37cba2762f7e15ff2fffeee2e09d03b83ace24e9395e3aa6a0fe97d035e213164d1c8\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 21aedb00191da333a649ecba6a9d715d4b5d379a854f27c6d27c2ce892d6d664664ecb53351ec7f1bf7573336b3bcccf7fb25ffdc3a6feb3b95483717c08eabdb8d9e3a9f91937f495a965028a1c89dbcea8390032d737289298d6124197090f10611e418d7f6d2b36542549de777fb8d0a257f7ede55a9b63a9b0d7bebdc21b4b8c845e43faa271d55d87781ab76bab9b57a2e2237c466bfcdd8e2b23f8f65582c2105aa37aef7687ffb514df3629a367bc2d3fd183199699cf93c687611fc8f190efdcb02dd6b9e228361c7a72c2ebdd5077e09ef866e304dfce2b4b80fe99b42a0ce9f47b8ded420fc0e7e462a46a82307d42e5f139198556c3bd74f7b0215d8d1552c079c895efca2f9de22bdabc46efcadc355d13cb8ad6262f7468b85eb1b1d5c13a9aec97884421914b474d9c5031f8963b5d635cfb8dabde4ba9550978d0bda9c6ea0e28a7f78b1a6ca82185acf4412770cef4189b491c16f77357df7b6b848f4722c098e20cb7c249f3883c029e76ff184f657ac4b38995b428d7acf40239b101787e5c798c683afee7fe19fcada3ce41d45e63d06afcc6baacdf4287e70f03d38ece2b523f57c3a74f89d23c9490f0771cc4259b1d6382f1f0d6ce95e7aa6002104c2571d08f201f57cc8058628677dfc7c9dd631f648327c9478671291acac13cdb02d54c0e7a7ba5899b8757796d976e97ca64b18af462047226\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 372a2b118adb8ad8f08f5a1d9ad3688c8507591aef9122fb295c7aced53d3ccd26854a348624757e008de36dcdd1367cff7bfbc94776e762a5c1fe61d1dd2ef8d25e714cc68c2651456bfe310b2c61d170bce07d2d6a574eb6a4fcf0606956d6c18a25406ff80c0e153fd8d78dec66d319a31080906150a8fbd3a6b5a42fc8345be0bd28335baffcdeb458150327591770697bf785cdc1774a34ec740b9ed76f386d941a81e0bf8902f403526797ec5bd5058700131bd42c9c1a42a7f883a85592679f1e81647f7a60981fb5d0975ce03366d4bc5a3cda125e6dde4173b4b99f674e5feb0b94ac15e4226f1817a43761b7871a82a8d0b5a22b30c3969eef469127bb01c3f8be5e35de49c41b3713ca204d750e191a5a303f03ccd67a3d3fc1162b197cdda6cf604b5d7b36c25930f5ca5029f071438fde1f940a27055cdb0a902f3da6f57f28ae670ea2d3d5554c99c967024386835b604b0fd3f148ab081c8e79da6ea467ca16f14c938691eeb83157", + "4dd35eee97a8ace57afacd1f5c564db178ca057f596f5f667fe7a6b938075c9ce3b110bd12ec2ba3b82c5eae0d12b6bf1962496bc7e13e4ce04de5a1639c261f9562aecf8f87211821010b0a32b28a4cd6b8c1818b3ea248b5f11ac9ea9372121f30bdde55f28013c9713761a2c85fe563c58c418c08081fecfc178fd6b64c6ba93a9cbd2e7d81bb971132156b03105d\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 6c6f4014c6ea5c64e868215a495fb2e805065458db2bf01987d4457589d5735582c61ae5648d93ec37e3423f721311b9514ba7d59cad19fe731740af194225523889c451eddb5ee1af9b6f3e8da6a439f49052ea041010d0143f2abec804b0d6b1bd1a0336e8e1bf3aa74b817c212712f649862c68667abf57e0aac47b6d03de3b7099c7384669afd0b5dacbae4bc5c4d6b3bf52dfdc23c465d5904d6b6333ff685edbef1f9cdbe5912b4fcdec6c6be4ea77f3d913f47b09123a9d3afa48c231453063ec9c800130efaafe7beb7f7cce2ca5e3ea43529e68d85f93b11392e9912c9ee4b6df257c76d01a18aa6e6cd9d021d7d0d0309cb18b9f1e5a2f30972e57c5c3e12a4f5c37680bc1d1bf68911dbfa79553d993d7a9b197360ea9ea9ef6e7667b23b6eb1067d8bdba19a87d302c7cc627a4beb504860f17b89ff4e3fa7600d9ab651bf71bfabd89166033cfb5585cb6b2356391bdb06cfd034a9fbf467355ee91e19f25a9cd66b45456b50c8133e495e22075374374fcab1d373dbc52d57c1f38224b1aee50c8f0ffb34a7182220d1adfb780548289d7690ca5c2f0414c80e318ce0c62a3b74b793c34b708f1dfa1f87fed6d0ee5ae1813a7e881ef99b0f3c0df8616bde1aaad8571e106497b56c8515ac53bd24879489d7017f7f9dd182b5acb49bd3b76bac12ba7920b1c2e4f0b705a99e29c93963ca897d152329fa097\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = df88a9d6ac58442587b86def97fc8b0bd5934b841c15f3f1bb78d684060ad8d58991bacdd86880be01e1921d2a0701834dec7b5eab1ce4d6f11c314d4cd28fc7ea6fb63d4bf49c78deea16ec7ad3d807e57dcce387f21b643c7efbbcb36ca23d22ffbfcc27ae5c019a9974fe1543ca1bc894abf08aef39e25f4634eb04f4573862a73aff683ba42a8bf344f8840070dfed0bae179a314d235a6930079c62b22ed6a0d945d237832afe911ebab772ba0ab6f8ce703e28adf589edb836b120f370eb2c78c34a9f5d6258b133f350d211d2ee2955a64d0c7bdf53e957ab1ca4499684ff828aa51b844015bf527f89daf8e54f315144d0ca426fb67ba965a92fe77aaf42290609eb6ee7d9c098b4c396337a4e667baa50ecfc21d53d43270efae88206f4afbb58e94f43ba42ff3bf43ff665e84e7b2c6707d51b71155a734a8cee902d55927e1bc020e72154c06bfae645177142b0d331b480221c5c33555b9ed83057543219528d118b7e66365d9df9eb381d2e31da9b0f6d8dfcf30edaa7da7c3dd2150d9f5c52735c05723995d348c7bfd9f6b38000848ce4ecd8e91b445300a3744e453bf36247df120e5df0f9686d99fb9a5847fbea8b09c2b64003daf243c46e017190ba5a7f7cc8a3c8d3af7f348a757e814f673a8680311769b39288582c9d33de02b2f20cef728cbc9de9629b6002dd71f8e6516eb1f000e17158e9d407\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6f6718083ec44daacefd671314a9b2740e6fe164384d24642bdd71f6233d5de5bdbb6045ff38a86974822016f221d7b3d1c0035ebd7bcbc3f1d4e82bea0346f979242e5d279b41d05e30040d4994d8bfba56724a734298dcc01e7104814253f12ef0f1f677365a27173bb95aaf805e31a305e81d382142447d8c63a424a8cd5b130266659969cbf65f7ddf6b547d4e1bb752a96c6186bf29ffd52a9d8cebd61ceeebce3353b3d9797c6d1f15ab1db5d83b56b7c0b5dcfb10d68c963a7b819e2090645cb3b2be0c85919b114aafc7e08db4c5f05662a74beec2ce7f33a020987743e9fd7f580c6b17399178aa77c230bf1b0afde4ca9b8d5cb18442441f4ea54e5923adb44284cb0478965b5f7f50bf0f3d36eaf9210a5fbaac8deebebcf842d70f2386bde916c04120376c876e671f8df173bb12cc11746cb1b3a7bffac5576fd2fd670b95750b803c8edbf761f1f321251110994027bdfc300a0920ce03a18884d28b4878a1dc6ffe6a4710b37b9ec252b40f69902b737267f0cafceb3c8587c5e484f79abc607bd28135f88ceea3adf84153013afe1b415fea01a6e95793eda64b9f6f701e9b6a51d0f96a04f74a5fae2b19db2ad72d8cc358367cd8b6391e12a852f8963b559f863ae850777b2cbb602bd6a9da58b25464aa24315ecc78c104947b608c41d3589798dcf910fe5279c128c99d6c5467d7ddcfbe35e766c9ac\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0c7b971b62c6a539a0f1c217fdf2796fe862e091e98390e752972fee87adf3a541d3c656962aa30f641a28972bd01f2074133f2077477e474f413b5694b872622a1798c776d001d76a2268b7b00020236e95b47f6dcc83e46074643d69545d4f80978c4b127be5eeec5dc87d3e5820432a23b717d276e86ab42eb9c87bea82f602b5036d6b28cba431460bdf475f2c74104d1155cf8004f083dd257aed7048428085a7c345f6e8359bf19a0e6e7d6ee100bbf706e3c7819d427d76920f0ded8d8d1a24c35f182198eb7f3d53bd4f85a011175d2bbe62918e3e021a1273a808bbd3639bebf3792ca0f6c4b541244775976815d5a1f989ffd93e5deb1cceb61dfd10a13eb2ad6b22ae6eaa8ba8c25bf64525dfb440813c5b7486c33651add322f833483e34e16527c5cf5cd881a5dc8f75e369610a301c6565605dcf0c631994bff502872ce62ed85a86412fe40af2289064a551ff8f5e22a79049398933a6d5dfbd4d525ac67781fdc680c9c22e40c0b92a8d25842c076570a983b852957dff31361fcfee297548bbff92be123361d6253adbdd0c0d8bb9d38546c79d59c1f9a09d711bc1728e68ebce398d94fb8244f1c959d54f071c321ec9a69a255e10a69c521d9a1a7128f61169a9621845cf4bfa700729e31edfb9cb9a01cec36882a1d31f8448b63be4d98affc9e5132f171b93604c83f8a688dfdbbae596d563211c36\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = df87b7a14a7127daff816395b61a9d9b8f6055460f79962c9561a94ee33f766f8fcf52879859f11df95018eb83abf3fd08331fc0bdb902104c7a931946a638aed114b0e1141c669d31516497945e2ccdbe386e1cc48fa19d9a3b4fea902f8fc62b8977bfd468fdf0e6b7cc2ae4219ee8b42b1ff5b22d72a0c60aea95cae3f7fc542469b3a4811925ce493bd9763a4cea8b87e3e4372d855ca61779a88a51832f72d8f96a31b5b0ce2c312c94cc477febc69d1afbf9c32258e88291d745442b153b4ad31ac376287e9fc20ee27442736d187e396f089f6ec80ec38461bd28af88165bcc5676fc0a09be3c0a322b07ebadc1e90152a50131719ff676efe3624056c03a2484e1745754c58d78a38802969eabbb9a750de6684543086c3b42a1d58c04ab222a465578af09c644e1c7a25bca4f3b5110ec89b5b8c6bc055706f0b4af09e772bd05c5f5dfd8b4e2241778d8d5b6ae3275208a016e53891618d6f6145cf5a6ca613bdacec5b75e183864c61c8354c9ec6939795c818353b8b99b043a2afad1e7b6bd2e91cdc5230169fb551754bfd2dca793124c3c863e7be8a7387ddea9409b745d952b53fca4a20cc29b6bed8bcdf5b2f51ed34721c59e0c630d08d19abbd7d95f6d12892aef338f0c57fdae3b67194c9906d09ffafb5588fb6925ce4a2580e7af10831efbe8f56e24c3e7171239af5e6be3303331c59574cc910edb\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9c5700b7d722a8f1f83fd11359fde32aad1606d20834a7b7b84b22bf34b18f5c383a34f229b65c56f70e1347632ab59a75821ea623d0ebc09c4005c0f32a86e1bc873689ace2b73c7c84b91fe270f457fea200051e041eff72af27e7b773769d37d5569c02de5a101467bbb014b065bdfec7780823e83199a32064cb2149c8ea388162f7a2e3604c7c33e14e5cbfb54e3597704026ded5670f5efd979dcb80a0b5beca42e5f49ee80aee7a81348de4616e3b3d723dd4fa5e73c1f56bd9b3276f85ad8ace654fcd46d7b6160d8ecd640e823432a074d4bef0ab0b58a0dd14943e710b7f6d7d23abff0cc855b7e932a14c9a6a0d550dd28a7dcce4605391b0ad128bf78ef8b550187c4042ae89570670587b8f1f422b12b3cb20d095788a8b31a388efafe616dd1841cb458de9d45829fd1597e55ee0c24e5f6cc71d194fe02930dc371f1243ffa4260a03129f00281e8000069cbdc8701f4693f94d6679807e28944b40317ce760b8ac170390233ab0d00f4e42f1e514950c7699215e2e2cb0a70075a22e554b0821083ad45d63eb8adb54cd0063665c4cb10f679ea3caa647fd5488bb3af879a2f2facc56efb97880a168a3c656c4d100826936934253c47f87a26490e51843845722862b55daeeacf70b7da98e76b497627de060ab3ba712dd8bf9e1a9e15dab3d4674dc32d2ff4caf9b30f81c82e4c302f7288b762b205ce0\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 84dc441ed215a1b7afa0815ea15f403da0b53709b327a8ad26677bdd79910bc931e84f6e0a9a0617af72c5bf284ee1c05aa0029d4bd5f7204404d58378b5150746097d2f650456bcea0eff70ee1d1371a8b3d14564252bcf655d539a666343883941b3023b095001cd1b05ab45aeb3057bb40f8fc1100108d9c1ba4fccbb776965ba45a5a9cc6eb0ecfd230b0a2c4da0d8ded54f12f290f681878ccfb02ce97c8055f29032497b87efec10e225c204315adc30921de222e4f2fe2a92f995152693f9048700aa127ad651e4fa8f6aace224953a436fdba27470f239c7f9a59bee180e2c114b7e435a634f9cb4ddf49717ec10e95db84fbeec6bc6fb09a10f613c6d8ae9ec315db947fdf8f116256235b02687f0bea2c706637ebfc309895be00264bb462348d524903cc8b134ce52f407aa8c871a829ba7cc568a03b80336603af5ef3d55e54f4bb1aad3353df4645ea9229b3a84c83092df72b0ad5a6ca0972c54f9c1dd7b05f3b8d45e2f5161bc5c32fce2cf9a35bb55e818ca267c0aac225a2e3b63587d9391094596365b3132eed6ce24299f365495cc6029480c2b9e3562d8b7be8ff01ab487c39df67f09ed69fe586eb1875ac71a7a2b696db2362037b8ec4f5f71872119fc975bcebe0247a8bc15cb61bfba478a6f178c1ee9b2936dfbdc0b408ab056d04e9848a7c95c8bd9b00013eb8a045f32a9ae4017557a23400c\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 747cbc58a4e2564523c46358d210af9490c1dd2679ce66d26704351d1", + "9fa8ccbb3f66e32a066deb11de7dc910a37f46e250e0f9256dfc8df5c72cbde63a2b2ab561b1d79ea94d51e84d0a022552a7ed8e457822e8c17c30c723ad5c4e333e087211566cfaae130e79bb0103bbe093b30f1819f908c5691f4b4f0ace3d8cbca25654ebbb506560683fad45d8a4914b242b72b99a223a2c0a3ab20486d2cd1b0ac60b438d8cca5ec2f7bb8384690ec4ee9fbb005b3d2ea21749ab86ce9d64414e9a87827fc9177f1a5af6cd97fb823874ba82e9ff53093fa2c05566c63e4c7f5dbbad75d8263594cba2949113341fac7c83fa13350ca06d73177241b3793f78027d61a20c37c56e9f34fffda7258004b0202a12969f718c278854b136a110dfd65fddea97486786bd5785fa2596bfd6e78e353b4d28ee6434df0844af14de10efe2d6f088b2b3ec0a7cf6f9e4a5830d7b0123caed7857d0b71fe9c56e72c29a908bba3cb99482178d64a4e27972179e4da6058c97e648c830e0cb96ba71eddc1cdf41d38f852a16554f3d9821aec57ec8506f0bc1df2a630b58fb082c84dee5e7bf3b645c9887e650098508ea288370f9f2cd32fc3f74784c82fc42bc2a09aef3b8c5fcaf538c50e12adc672200739cb2dbb343b1559bf70b00b2f83ed3139b106ce717f906b6de178c0d9da66966782cad3f7727da3e32950af437f33cf14e868\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = e168ece53793eaa84954f43707e9db53e1541394540472d502a676f12c5b4c1f1844d1e4a4fbbc3117c1cc503aa49a63138565aa366288fae712542b11b35026a027d3679c5a35f1957cb6c5942b5d86464e3b9dd6463ab9cfb9931136da744370f6b3307ff01e1180a5e79569e73e5ef9de4ea5c9f0d5a3b124714c1b645c8f0c1cc2ab4e1845969654ae9b0c565f4d17a844ed066366c17dca17f22ce69aa56e48937aa1c9f39fc85435770fbcb4d9f05048215664184ee40a4ff77ad44ae9b1d9dbcd9f9f013080b751ac9e2f05aa8f546575562194730f6cf1ea52f0d365d0dfc3fcef820c51d9a5263a2d1dc4ca97be6ef69bb2ebcddc3f8f4ea2f4e12c187949d95c3667f4c2dcbd65e06937fc788b5585b742eb5b99ccad8252be7dd0b4d38460340cccf82c5d2d58c29f87f0fd6f78a90ac7a113d0e5427aa56a42438c3c6fd98fdaaebb3dff5d8d3025cb408da8a6764988bef9d171c7c3a51d187aa1bab3f2a58425dfb82730488e83d97fc54070e2240c2f9083e6f6a4f49c50077067a4fc7d27e40bbf30f8fa90624d7be0e6f8c43ac1ce42760512aadd27f2cabdce2c6fbf7adeae0221e2e82cf22d2941ac56a3e10cf0f0c22242b4d7fcae009081eff5d23b6dbcb7387eb59922e5bf757c02143e1140b2831478a2a5785d056978e07dae02aa804141805acb7a5343acc17206c949d8b9f8fd5df0a36e7755\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 5a23159bb4948c16c9c31f7b3be4e2fd147717b755d13f5f86933302f7356f31003bce391de69f54ff602dacb1522b908fa1fb7156fa555f3f38bddccef9f85f22a53e4f53757f81d6455998169743a4a2306906a375235e548aece0715f94d83377e06faf758a36fc8758a586cadd368b1db26ee3861b79d6b69c0f3639c9ed0a24bf530625319125c301f5c10d12084b2f9917ab404a65a5bfd2bbc78fdd6bd1e583cfe87c0cbb4d41c710c137a7b330247b881af9aac5b2c5075c66ea33910a3b07d55c461940a54cb7579aaadc9e8f567d60d0548d6c2d3628e7bde8b631335f2ed00122e07f942f7005afbb0d2f0340c5c9270b27be30d10333b9ed5edb90ad6216b95594f6ad595abed26576a7b1d807530e7c5556a8698de56b481e5717683404f6b9ecc35bfb6ccc48a381a51537143abff51a717581f2c44df1a1f058c1b793be004b1a837f7acfd764644921b3472906e90a5bd265a0f0fda5e16be4db391e07f8daa84349fdf7a134aa138767441759b74a4913a4790f0e599691df06acd4f80cf5b64767052ff470617c93ab420d90b1838c0bc891bbd2581769bf203dbc8df0073bb826114e71fadea586d7cf6f06cf4d04bfedda455e043439937d330ce0a03ff97d420fc623163afbcc3e7de7025d0689f9441580308d1280e9235d8f5988ef12447067df3ec846c3e3319eee29c2b8cc713c979156d3e3f8\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 819926a1c7a0e283aa3ef42cea08dc3893fc71d7295924d7e8909f46ced6724bf38d137541224982f072e39a80cb277dab8dd848ca85fe1ce6a102e8adaaa55f2e9169d8094f10280829c3332d24507a54452a026a541446fb388a7663eec512a0ddf7402efde859fa1662108c704afeac80daf6f8279e5ab5bd552dbb5a0a5d0f35fa5431e8ac36daf25a5e36e09699ba25f00fa69ed7fb527a49fb25908ef400ab9c080b73c5f4d41d965ab1faa1472f76c63d9cc359f7964d854d8f8db382c304572ea6498a6f7e39f6f6064aea336949eb157a2346975f1a71e1c18a77abcd0c7bc2f1ab6a0e9297d121bf13f42cca5662667947d70fbc026fd2a03c1353e34cec608dc2fba202163201cadb6341cf80f49048f55333db9754c5fe95b01219eeb608ca3e8b890df71501dbc579332c7ca6479c6fc3c34f31561c15d500ca81f25204e2f848f87c472cf030b5b40e499e3f034be87041dd5756173f1f2795d1f62bd74aa817f72ca8a131b0a5b7fea3fded32baf493871f0be8251970fb2b3031122c328e7809139d044d8f49e6bd31fa938b732a5ddc0039a723eb7e40491d7533092f1b7b7d8ae68add6001178ed1624fd3b660f0af184fb70c709c78e83b1dbf156b2c8848cb986160db4de954c12a29d88496283a3cf37acd0e7a63d86135376d43bde517c40e9b5e538999a86e55319eebd9a87149a81aea225a8128\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = dbbc34b6ead6c85534784953c2f6ffa36b018f95e15e0c28b214ca2f80bd9694e2f091d8bc3e25aad3c4c9e11edcd73b6785384693e4ccb183553eeee251c5587150bac7bb2d7c717fd6453a72803443c8372260a096596da4a0b7c32750fb264ed58acdc736c86c83396b705fd3acc0f3d7d3135dd4b576729d68664cb1e11966438f08d417c0db8bc37b0201cc9ac0daf9ef60b9b600cefb79c25104d2fd5480c2e2ac100e9500729a4676ab97e09078736696dd2f51cf90ff963a6ee99b765e4e0f7cf52094507294de601c0d46b87e8072e37b88621f9dcaad28cec7d4544ae2d1b5828bc1ac9e5258058209944ab8e924fd228a047dca03ffe2f28e88f49def895401ba3f05c305beaa10928b7a390eca9b61b73e864c93559a3295703c9bd82664b226bca0ecc90d2b27dff22dbe635f3f0a347c49239104080c5b8195eb4d750055889d5853be4cc984f215bb491e2a8c7b0017016dcbea3b9951ee935e967d1515e659ba295f76be48feac1c3aee2e35d309ac71877ae59f024dc9aaa9e2053e4d4223e482ec3fb1d7f9cae98c18db9dcfe307ea6916f137dece096398a0a62a594dce4048588f87e1741cceddec314d5960fbecaae8cf48afb09d3eeadbf5a77ea1c27905f7ae47dcf066207e621e892e7d780bcc9bae3ab62cbe2a4cb43b6621c47f904dcdcbe7036461ee2563de1f6061c22f33a5e4997adf9e63\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = ae10acef7e1ff0d50705a425f623225fecd0ef91890696ff1636123023a6009b971a0fc20c50144ba4c42a6d45fbb9f48dce8a52514574cb41b71bf6c7cb255903aa9dae232c1c1ba567ef505cd040a910c2809be37a0f1d3aa8e6345ff77d0f95502fd6cb88d894d961b987c4c2ff6a11c279eab2c0759024e90ff7332e028391eaa1a9e5d50bf3e7d2a223b52619143afe8066faf3841c28e8b057f4326c0a5eda878226583d1d06e491ed2bccc20dc8ca7340f3582a7e9f313c90759f1fd076054ed464a10971c1f1e837d0dd7539bcc29ae9923691169f6f1b6a3f40eb09605fd987b75f4d035605f9fbb33a4d58f912b76089cdbed34f14d1c26cad0d400fc4f7d048990ab37749dd00b22f1b3b9bb31ec35a51cc336d3a7bfdace0ce5c916784a40c7cc76a8a2ec396939487b62516182b19830aafbfa6bb9c7947e7b1302f1e344100975c1d1ae523bcbdbb9a5a0dccf800447a7917b2a7c40e7b983e98ce15ca2516ed660975f1db031116196d4a52f8bd3ed40e904509506f8fa63daf1dbfce32b817dafd452c03e5502a36b8cf7391a3a7d9d303a9d5c5684dcd17634a80a73eb8a46855318239bc585eb2b1341bbd842baf93373e4b8e611dbd6c24767f1a8d620f5f4b97c8e00c67e77b13315abf9e5a98a08e56630b3d3049ea354ab3e69d5a5ba6c09d1ded3cc61d0006949a140b66b80ac31755c856be989b\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = d9acf55c9c01cb10d9acf6dc61e7c7be67340ac52414cab198b8feab214a561b1e20ee5f6c5f169f0339836efbe99044ea672d41aba73cc40ee7eb47f9262eea426cb560232bce5dd11aff64d9af3bcca961207f8ae559fce24b3335789c8ec32e6f4732ef0136f59ca560f91aaa1fe6d53902822fe559d2dea8d3a318a94ce4d6fbd2fc399c7a78c0f14d70e44de3bac04f3668237f7d45d2cdf53782879a6dce950a33314122654fdce0158c46de33d991b9097b24fd11a2718f60156affb27ace6a880f04689ccde83eb365543406fb7e7826986f2529f0678441ada0b0be5870ce5d1c22d0c6684b5f897ebeeb9ff5833505ce2fd352b5286a3dc9209a490483f3607dd907006e1895b3cf887fd657058d9918e8170f4031f6dea28b73b83f59a94efeac01716a0128807a767860ea417ae681f5f2bc627c3c9de61584f30496d28fcb8f9a18276eb488144f9adc33df6727871d3570ad5f69085073a3622dd8bf4634881d7defaaac0ea73b3a40e98b0ef1214e895c1d449c05137b0440f581641c7f9be0c7c718a08c3c8a6537fca80ab3c5f026644435b873af6b098a792dd4dad914f60e3f0de666df582b0c2279c786a82d44f2bf2328b9dca6a92da5b8a5bbfccc6b9cdbdc741560e9918ca6228629437ce593080b2952af34d28f72fbee2af5347fbcea9c51798ada5e09a8d8b3db7096175b5a44e7005689b49d\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 5e82a192a85eb098c1413968d3a0e58d0084210b641355a74a1b59e8651914017920e905a2909c89cf7b3b097ffebc34c06457bb9647ac394b8a0db5dc33af5f4e95248c45cf22c53ab1906bf5516dd3344c0cb02073e99ebe267e5b36586f3b20cf090f3c9512bf1bff2e3aeebabb3b9c328c971039aef1da8608f0d05ef9128038c35002889af2f463df56d028eb0ffb5309474e7f7e6101ac9aaa854d56f1a120588201f4fa8362515a26201d6249b02f554e7c2a885b520b4ec352387b40a7baef56c3828432feed464c1265225c8183e781869455f36159259297006cdf368c2dc82a93a286941c136c6293b5aa753a053757a8cbdb59ddff5c8b", + "2d7122327d89802b711ec638c6b7c4f8830f160b2aabc128d9f4104b5d794ecc35d5d7773baa976e0efc795e5272fe0b6dedebf3137e9d04085b19912d011cb7e746b10cad9eaf5063cf9e1c1e37c6957a72bacc261fb1c777795d16badee7dc0bdf3bc12672f4d8819eb111bbd2b3ac7b4658d97901ef0c44ecaae7b21d9b04ceced25e50044c69600573c24541608f1ed52c6b2f5feb0684d0b1bda858467f2de0b7c405490bc985817d1bb53d55f99ccc85e6f4dfe3729b43dc6e39ddb6f470e52221447dfc336fad0abce1ef06a4c0741ff70e52fe94af1088fbe6f7ca22bcb0a097e32f3dc6407f757d80fe345bca163f0def954e0b58211b2509a647bd238d08\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 15f0e55d2c991f709600d78d4e4a2ad19496adb55b99c5f6bd92f460112957c54474afde1f3e75908a5694883b9ce7dc956c28f89aa692b6ebbbd2873836b8ae596c914c11cab73e6333f2aac5d92778d95361110f9f4a23f09a37350c20a8850db12b522a8493cd085714b79906254c14ee5760c7bd41d605ccc106a94794988b2faa823e39b49c828a2a03bae06c57ddb675f0fad16f085a0d720ae8971395e8a317770b5da937b73ffb2a1d86dc6000f0d39be03c1dc0198f5f3121321c1ba0fc480c4280852cb315198ee86a3b295e37160aa2c5e8705b22ad9631a51a76789ffcb753c3cb4802fd7563da76b8ae740bd7546d8dc6b12c318dfdfed2d3f353bc94b0ab8a1c9111531a21c1af6d8422eb61d6fcfc77f983aa87ef8577a737bc095fc766a7a37025d1743969768c3f4389219f4660f9930f4cc45d62d181cd35d118b75ab3b013433b529234204f52bd0dade8609786ae30b97c0152e05ab1b119c3f8862c1eb1756dffccd5f1ad89c93cd946384e615e2c712fdbb0bf16ceb5c233b88e2ebc2b461e27bfe44b35ae09ecf6b726236f45e8b1a8f56fa23f0dd889a5d132448c04ce225d7c83695a891b93639f3214b7ab76418b0a252a595ae3f4e6dbd4e0d729bab70ffd3a31e6e8d8142df6f76a7d5ec60fccc8f04d3f790bd373bdce92e0f92af5bc90b5b7da24a18a38c8fee8f3a20dd303b540dd64a4\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = d156c8f72fd7bb5413c822f35cb58dc39bf8960f0171b2bf045a46db932d402e63c24e954a466fdaba36689fedd624a0c44c02225866921414909b99aed97925736028ae48bf2ddc5cdc6f57257afaa46b6224a5e9675849493c097542bd778c5da2bc3406bbea398180549027d6602906e25233c078b7ea06b4af69cfa5860ca69eb0070ecc5273db8cc0445eb4caf565af68467a4a24d8a5c31f714ef82c7efaba313ab44f4cd4f6dddc78f604e2dd42802ab9f6d828e43da3dcdf67dc2e5e139bb5aa5c944589f6f57b1e0841c86fce76158b1d3683bdc0c8f85c361f0312dc4b0ed456ff9c670072520f1a139c49d70d21932a50783064d7775adbbb638f36c25b2c5d75af8fa67ab53440508860d1de242a815d0eb87f2692f5c8ecba455380b61dc8653130e2a85110532df6aa39bbe134da1f3a14adcc48a8e7f282e142ed34b1feb119c0189079e81ee35a86472245789d193bf6f5717b5fda552e4eb547b3518b292925f50d51afdc352469796e2c9d28791a7428a68925afd1eea528aa5e85b00edeb34daa09f7da65c49f31d8e12052fa22be651918a797edef66fc5946d5926f21318d8abf21dc15163bf7f630037ca055e83d31cb4cd47d6d44ce81491f318252c8b2d80aea4f5f060643812be02196df31e73c354f91f0dd2cacbfc73501b1d8d5cfd81d6574cc5be05dcbf7603819b81f6fd1b11dd0d3198c\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 2ebdece5ba8e494f3810c98f49cc05c16369ba336ae0351123ab6f1f80f3fde76b98bcd9f79643993bcf0bee4e05ad6d9350729c4ef61597b454bbd716a85022aa9c9a0ee2471bfdc22e87c327086cbf76e36ae4f55fbf7fe3ddbabf50e744facaeed389aad2f58e8d11d355b2639f382404936d88db825b6de87aeaa3789eec51746db3cf7db9998ff8961a3f499079112c4f59535b8896a30b4deddf1ff6a52e370dcf3dff8b7f3b3164ce78b579469d823292304886cd596c512a1ee5f189e40eb9629095653d45f05683b53404ab2cb5ae55f64bbea4cdcd003ef80c3cec9f24e8842f83a992f8010cb996955a91a5362c6fd2c6e57a81f5dda1fdb931ca43997e51ffedb235d843b590a253d5bf395f6db9ff233af68a1a54349dd7cb37351a1cb3e5ee25cc79f19403ecb41e41eddc02d4eeaab64202b8696ca7149456ff00a563e8a2fc9f90a5d25ad754722763d8a04bd7336dd7884b5b577d88017b2cc66214b9d0d569267b43b0d3b7446f31cffe4b37161ba027e24353d2d63a339c8fb5bd495ac341e0eb864bc8ec25874f65fb627553031a58c932de9e99330a28e65a4066ceaf4120d1036f46b5cff421061796f245ca59a89715e86343a8b52f94eace323ee7578f0cd7ac8b2b6c9d53f1a979cfc863538c1d8a87bf21d07d7104975ec7a62afa2a551b5206d2729cdabf3f7c39396bba123a207a03c6686a\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 5d02decff78b7129151a66d93a53d501ff3cac82d92694dac78b6833b088a3889daaadc9f1021b02b6d2ee77a2095745a84048f606810b980f715d18f15027ebe9f59279895d668b86d14cd1c056d3de0e1e7da6472349de57b10cbcfa2c71cec7bdcf966ae6407bcc90b3aaa3df2802dd70be459da4e7612be94598dbb67026d61bf3f88fdd014fd6f180b32b785037a396970279fc26c0e689cf47f2b006908251dc1448caf42e71e19bfa0668d7bc4436d11e694add08d86cc10316f07bf64c54508ff058ffd70c24074abe83797157e057465a1129b0712ebc2d3311a7d6bc8226411a824c28d8ce81b21a26eee3cf5de86bae79f8206abdc93698850d141fc54b22d7f8165aeedfefa8a34f78bda9baee9c2ffbe249c33ea2040fe31651a4ab3977a71f36d13f912fac5cda4c1ed36750a6f16bb2e097535de4f019489a18634c4036ec73a3a944fa45bd1ebe073e0d3c36c536340538ca349ffa780e408a4f10da0aa6c01c3bfdc41d4001dabd379d50184c1a78d27944a1bcd25dc17b36ecc89babd03665029bdacc3aaa8c86709e91f656ce7176a25a67622642a5013a7e4d6906f8c3c49f998e9d566b62409b016d7befb6a87ac983b1784e9a1963d7500159912ba514f82966bda58e2aa5ca13c8244c464508c3eb11e9469497a06f1f96b3c459055f6d2e56a73609b5adf94d0587a31e3d85f643b9bc6ce2df28\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 39ea92860d76b373c6eaee74fb97f8439067c02e26e0da5a1a85e466aa9df4bbc1f2b644cabe5452b2692b4aa396d298e7a9e563d03ce3bb65a64272f903968e5ddba1d0e3322c90c80827beec9935094fe07681f41241bcafade0a2a7fa69f15f852ec457763427075ad4a3e129c229d75fc288b462a1713c8dee10d2a271168e109cacbb2b7f14e625007409aba3436d1ecc074c914b93fbcea73c5132591cf5037814ed9bf7100b48d0caa41f415ed7317072091d72036871a2d32107d02480bbc1f3c2cfaf407d0eb218d003dbd3a53c0a4ceacaf9466eecc741ba7763c912a594ceeebaeb3491ad7603cb74f5772567ff5c978c9dd1a3f5317d957492618b824a445155d1f7fdc25dc93b5d17c696796b21070af78c6bb4ef055b0e44f319af4235daa79b864fda2cf40030c04c1230e721565043e6ff907f17d7b1fe34961e9c8603461dc15c9969d62f17ea9e9ea8783459b135bd8943a8e1825bfcf7eae8437567280f6303abf5a9158bae430b1585c21b2be5ae189ecb5ec59ea66b97dc1d8247641e200c1b5b8ce905d6b095c0a0022efa707017378573eb309fb204c1d85baa39ccf3ac6841673e1aa8caa1954a3a3fd2d8d8bbef94541bcb593172a87b8e5a27f94272a053ba5fc940d905731977c20e050fc5864d2dabdc9b07c9a1512982b6fcfb1bd9ae4a4bf8be086e6c9f8904e1d0da3fe81f756852e982\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = a3d32a7d13de642496d925d37624c62ccefc1019fb614d289e74e71a71c98381f39dd0a041a364243687ec4d235bf07909fc862a1f9bcf122e73e53ca83433e0588988ae9e3cfd743f2d68404b3fb3b7ddddbf38f202094752f868caf1a234d984c2f80b26a69e39282b3e5dcd7c0a425e16788c1980497aa77aff1d545c95e1ba03b3a22933cbe79f047abdeaa29f9529c871702d59aad3e206579bcf9c1bd05f0986333031b0262734b3ce2c1e11f22408c751917832be4d9fa83e255249775bc9611e5966d08bd2813cd41cb2224d952e6f3d465ba97af6db4d957d72cd82505b6d814ffe92ffdaf742a1e0852b9899a512b02197ba58788513cb5eab15c87e45154dd11095758b7954f2bd10a363557d92e07071b2176230df060a2a6e026eec784bf65664d903a4bda0a6ca37c2463a5347e404cc49d48c1c006f43259441535d53ced7ef3451c705f90f33bcd7e770065c2bdf5af1b407548c79564ea766dea5a4c59a1c07a64b72a9421eb42a9b59107700aa94f9a674c3e948f476da18abc459f8cab734d2742d6557c4c6003d08f8bcb217e7a5aae2dac2c25a5b547d842271203862bf2b351a9848ca7e5b86de87fd1c58d05d801bf648a0b9233560f9704f4eafc35735dfc975d701492d453cc02fba018ff51874185c2d64898e3cf26138aade6e5d99e7d6fb3d1ad8eee11b366d000f1552acf5a4d261ade6f8\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 8675ddacec059c224f46442ca3f2c506800fe11dd2444a6a341689fad88cb74047890df144bd1f4589fdd732b92b39a1c654dd33031f4541aa888295887362ac0db4eb7bcde0b2028e8674ed15eff004fda1e7ad4071d4b7eadb9e4a0106b90c92ce3621d9e12ead9917c5ee72b373cf4657dfe69da410fe30fd8ed72ca220c9e471195bae3face29e184c0f33a05b48b2737ba1ce2960a0ccb0ddc4760b5f88c463bb4a349446cf1c56ef332e50f1d6a6369cb3ecd7e2af504de42c075670438e7c58c5ef52e23804167b6db30022e1272f8b698ae457981a18d239c228f78e128a01c7c0c4fe62ab91dcfecf7b6a4e89e9be784d043b4b35fdaf8e81ef0ae534ad448a6650f496b15899abc5f61df6793c97cbed05cc1eadb227ac204bad3edfff32150c73c369a74ec0d84093fac2af59f53ca0d7d8723ea6d5c84a8349ee4936df5b71a3f162c2dbf6f5704a7465702acc00c91c247337d2ffd54f51194530be506660f21916c24305d1d4bded04e39a249a584178fcd2235f5e4997989febb486009e52f9da43b705732895b42c3c4428612aaf8bb966d8274d0b75afe0d0139d55e987211651c4d82cae3ee493c4cdbc7322489bd5d4ff12cf38e31241a817618a18cb5dceced2a5bbf2d32889912a6652cc8", + "d4a4b6e05d9d7bfff47008eda7a0f9e292c360a2cf5d2dd5af567b703718bd4c4c040db4847e30124a29a\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 3636498fdb54663dde2c0d06599bcc1ef3a10ef4ed2519c6da19893f3ed970c7f64ac516e14506243846d84e26d53f903e74acfab638a2c62c6aca740a83927561fa27d05296b6459088aa8d21ffaeaeb4e62330c49238b217146c60a777aa25ac96b701a561dfbdde859041d2fa0a116d14e5653a117e5988b2e7bf2bb5835a92e316903113fce30d23e1f55179b2049bb65241acad621d315187c1f0656efe345c7fbae6cc7c4de1e8f060f78acf2022fe6e7373966f5f10e525f0eba8b08a5a167108d3f5323a752577ee05529a5303262edaa6adbec6b7729e282f1f7d9722caa9eb21e856275979785e178b1c19b9b3a60ba678ed34994563b7caef22f13c6f6aedefb827a1afce0c899f72bdf27bdf9bd035ac37c071bc9f131c665e2adae13a14bb9b6d22ae96efa383b783c4d2fc8f5fd8c70688fb70173688f298208429465a7eb7b2e2a9a7531aed6a26d35c856bc099cc212460c0cddddde87440e552386e85ccccddd86aaff940ebf7cea462bda33579515ce1643323ef2d0c37290f3387355240404fc7b4ea610474b026616a4b4a837d78e4c9bda61320892e7cc1124357c08ebc5aad0ef5459ad0036884139ae05f3fd7fb23faaac48995474fa2d9c12f5dda1e3d68de42bf0578e4959bddd26d1ee79479cdf543605407c4ea2c24d84156210a278a8abb93969b519ae9978f8692fa16fd4921d8ae3dabc0\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 1d8f7364a550c1e7d07ea18b511aa9314f5bdb758301473b4f2ce4360e0489a8afeb09064f2071c1939b154799160d8cd205866624baac546edd3d8edaba18aa42c0cc9e8316fb8fc69f35d965ef5b7fe18f32d8f12b8180756c9322723b2c97546a2ae62f25b6f3ff7fa2c060f40e6ddb04d18b32fd6c51cf14ea7c2df2b0f2ffab5f0a9f6d1db361fb6d216847d5edb91bee9827eae208ddf18122c9c296020b82c7521c5ed6e30c6ff0b3f0a587f45ff6e993b855cfed925734b5ce86459d3fcbefc0458a6697e933e4d311d09b9bf896c1e2e7be6f739bfb2d5923ac0e69465becbd2e8b90ef3e73c06da041eead456fb5075daf8dfe3e48ab5e23b669fe4958f2b08e518df7eebf9cd8e0653400159c095667e204e1e122e889d87dd1898b27bcb1a40956f9a451cff052dd1c252e384d61e1c7f7015c79714d70a766fb14d2936b01f1d84af1a10f40a53897e6a938caf4c736289a4362fc4cc454f71650a78c1335b4199ff318de908bc098f685d0560abd8168aa0da4022a50b5b5249ceb4a9e52097bc60c254798deca930a5ea160950535a4583fcefe6a61b7d847302408eaf52dfc93478fa99e031d0623a9f5d353cdd735a0a4ca347e81f8d75c1939f5acccdb34f5a0624354b701f74a793d550e33b58b972ae1e7761f03b7a1db88c3dcc451441b89845fd6af4d9328092597f0541253c3bb695a0261dacd08\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = b0bcd77729a5eb38cb5327a725f93c4d5aac39e8fb1ef6325b8625a37c01a00fbce9cb5f150005a147ab5ccff9c0f347257746d05085e14bea6c016fd56e798517ee93cf9911af32d87b92df6122cb4f21b75d898e5c57255344f8759380c44a06af52d91794044f1cbe022c59fcea76f9d4f692895a8aaed98e7834aa00f0496594b056b1b800271b653d1fc07bd81885f8ad2b4aa60300d30fb29b416020fdc890af547090d307c2034283fedef2edc4ff450457ceb7a3d14442c4c1640a5cb1b67a7db7d6e227258409b36ae1fd52d126f59b0599da776cc1cc960387beb5b0f57cece021f8402ac56d87eba3c2867e4046a8acd9769b9d8164c0d0f5b628d9ffd3c495381f34bd81b73c38bc94441bb62e5716091fe09d40a3ca9a71897f610a501ab173714ba801b22069d20e4edcbb980024a5862e19a600f9bb0657fa3b10be05710817e5bb8388517d8d7597ef5053af84a856c1f3ff403d8e2f028f7dbe110f1ef406b2a78e8afa220a8ff444481eccd1e79fa4c9c38e45d9942fca714fba026d9da0fa3c047abfef6e090e39b973e97990cb8527460edb5c49ce61d3669f27d90cc411b16c8eaddcadecd586d55d237661823bc4eba7078631ddc49960cceb6f6ade3cbdea8e43661d28fff86eed6999f6fed8b76a614f9f5e0a1df9d3bb4ce5b6838d7fbecc3778025cf50698abb0c4249e9aef98720f8ba3c54a\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 052f44e3f7c5fb805564627c973b591454211db2446e10486a68c3c49847e6bdef7a0530f2db906a93f8e37c8f77bc1be341a96570a4807cc74e72e222bd8cdcbd406ff198df61ea9787d9fad51901a6931bcf67195509055e01b7095527f45e9cffdd4aa2f75fbcb039d011f5c2dcd87233cd74d496c53f95a8d90d1ce1063d9a9384d4bcd0013682974de3deaae49c44a08daf8a8ba770dba97b6fb1ca270535fd777c7b732a5852f48c1f52bf343a3215017af69bd6eb55ca379d556816859ea79f35a2d8e272fa0d8672da61aa10c100f2273772cc459349c015234ce17fd41d6a8cdb516f5e26aeaef9d98e4b41fdf748aef9e40ee2063761e32b919d1051285b3df90063fec355601f0e65e8e4b23579252adbbc3592c1d5479a9f5b8eeaaca95aad9c887540a950c9f83a03a44336672026d911fe40b137fdbfcb28e312a3f1aff09e2140055e89c8d3db97cd69e4f3512c211fab4b2997882d5e4a16b699c64ff73418126a10f63c83b922f1bd145739275aaa7e5d6446e8cf295e7e65244fea145a8d87d3f305a0d6b9dcc912cba677028a21cd1892737c4bcdaf925f2f56a6fdc9e0721fa8eaa1bfc4ef8f678dccd65bcd5726ddccb395eab8a82221d59190514ff08d6ca2043a73484b93fe5b5f6b5519d0973d4ca62e715d61f64d823825bb08161157477686f44ebd157f231d187e8907ddbaf77db58c90a390\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 6dd73d8eb7f7af0e6f0bfdcd84a107a4cd6edaee3cbc50b137426e21e2608ff446a2ff5badb2dfd517cfb47c60d832c00f86e14292c79872633c26f92008f2664672a24e8f9347c3b37940ce86f64ac698a5038afd97d6545969a7a5c03e81a29cff5dfcd1c0915df288766c6483bf32b980e60b07208479be18046acc3050fe0f25def3cd63cd5c77f86d2bd0f41925dc7881e19b74bab0323b2bfef61da8948d77dac968eca8f66a10d384735d57badeb0cf738d90652f48512d05bf39bfb0c239de3c0573519c1067f08feccf48d928e8e36633e48025dbfea49efe70dae118f0cfdd2cf5978cb8f63df6ab89f39e13ce05e6d27eb1091d803b5a621ed95758fe45d1fb249811735e7e1a5f2fb6d4e413dffd6c4b95cf106f7f7629b0525a77c70dc78822cfdadda44681652e4d1baf883114bc558b4eac1d43c2701365d5863429f1ac71684e08bf3e5bbafedc5b419b148b2d5161e763a96b634f29b32f2b43dabc68b3a51136576df5e2bbc40f319332971c8fdf673e2b65c6a09fb981182701eaf5afd6bbbc17073c49d6a6de3a539c5429f48eccfe9359db691b06f122ee22864176bfa5dbf6fc6b4d6bb1ccb2f10d58ffb941474bf5d5be955f4b2d45edf7c4c5bcb0605186ad3776a2308852144ce69df2ad216eb5db72b904e50c7b9e25a8c3e7c14243e3fa9a91069561c77d0c51d3f84008f512032949926433\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 4ed5e27ff4a7733f60af2f99d2515c155f29854768664dc309f14b8040496645fe6a3e2c7d868f8c4aa8ff6152f38f3646b0b00e9fc8b60f9c893c2941ea6ea031d9d2fe212ed3f6c0b50e6c09b23bf1016d5f2ddb1d72f96a4a67a2c425795c96e4b9ccd22d3c1cba00a1b1c6e6f07acf1ecd730827c5a7ac0718a8f0617e7612e85c56b4359bab844753e2c8f7d15c853bc1a60fc58096036641ef7cd3d6ff8d3865b730194867022ed6a9a8c3955d95860dcfec490d6639c264a42807ff4978247498ede2dcd993c7d70fdfad848093f76710b8528ff8cdc6850eec48f0e59c278cab5da3fb35c26852f52c0672b87112332980a1910927561aad6fde18edc05f0eb607a976da88cd78e9c19e356ed79591736839a78ade95e098c04135e87b4062a6064913d079cf682a6799dfd41cc35a44cf8b04c5666e74b6cf4c1ef76dfb777eb8b071a42a1032450ff4dd198d0d429659948685854b4a4f97f4a281279d364760442475ea124f0f5f0d6c4a48ec7f8224e068dd640331138e8fbab4da96f757c09d96ade27c6a3f4c85192ab63c3c61ffbe21643c0e261d60791f59628fe128245f49b64227ddf357c0ea1b63ffeb48c1bacf088b63bcf6d3958cba85bfb081d3208eef0562f2df3d9d0b939d2aee3bc841e337d69243ed1ff627ece41fbb9fcebdbaaa9687f2a18fc43e571c8a1af885907d1a751d0253e918d04f\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = ad5cde7fbdeaf524f09092d828341d2c5a7a7b715993a79df40f4c2dd5a53a06f906cdde4657b8097f6772fcc368503519cbaf2477f727ce7a12de5e6eb9f1ddb771e4857db185650acf11da2e92c393b26dc26e6230358c0f165206dc6547d444fbeb135c3f2d73e78ce4edb564d67556cfe82d6e10c18b69d9beb3332ea4f775d4356425ae59b225b793cfe91662e6ca62687f6734b2f53d5c8944d7d921203041bc96cd4a897a85c845c1e11f43810d14b2f19e75af5faed56664298d034d38552acaf1228c5b317b16dea8dbe138942f95adb517ecbc947348a460e322a6ed5f64bdb9614b060eb5f676c7151e89d10d2af6453dd0563160c1418f1f0a833fc54e85be8e1a689b5da312089a4dd4b2ee575edcd8ccb2d5ea69c549bebf836e8f069727a579207594cee3c2c20bf8b11297f7ed9d5b04d845cfcda01c01002a827666fd88da3ba4d9677aa547efdce532780aa2b672cd05f233d4ab0e38ad9733596b2e638de75e95ff52899d73a26b225d129a7209125219f34ba5c55f239f2e8df97760a17873870e711538727be4ed0e1c24b89c640689e1ea6d741a6c72b843c7a06131aea6c095e03c2cc434372d533bcb48e805ddfce858d1925081b1355bce6dae7a682c4451ba8d2b5db814a7a8e8846a1d5cda686417a94e3a3f82a583c9686db6df6ed086a25cd5efecbfc7899b75798086aaa75be71cb038de\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 98cbc5bd47668e1af5ff51e5c810cddca50aa42caa602f0000cef1b8952f8aa145a2232faa528f9625ee8eed12a5d1b373b0f6b42834c45d21d77f824b46042079ad384b98bc6a8e303052a3ab4af757b45747297b02347130dfdee575bc9ee37796c82b877ca0d617b861d0fbae1fd075cb7250cccb12aa2d2d881f185a8fe9b0c914fe1ec55d7ca897efc582cf12c6b624e684aa12de2ad411e5fd4b2f95cfc66650db95d921e6", + "6bdc9106086c064ccf7164d8bae42a7c3a0481980f4172c38824c2381a457a78ae0d85622d6dd623165c881fa2f29376d584c87179509373a87a38b782f2ef95142ac641b9f4675f8e32b0204d0bfcfda43d2a04e4db4676e104b6545ed8fb7c93292beb6158ae998081ea8dade67a26f8ba454f1604c30f9d904e8653530262d47739ff615ddf8080f3a7c52beca6c1b0c81708de9e587a523dd15e2af8e58d691794513f82206bd8a382163c992bdf0c5cedc62aae520836b149d4f1a41c911447ae921ea55ee06a970d0fcda1db4b7343f7c2a0d0d5e34eaac0857c75a308ab881593183b598e0efff36e9cbc5953aafc83c7d205623169d12dc6ade35be76cc4b8f3c16a392b9a375f5d0c152de93a858f253692bc2c6a2c0cd9dfc14d6ca750df5afdd9877c1e8596689743f26bb0f293173b978828a3f528719515b663c2636dc4dae3c657e4afc2a1065b53c97a985dc96abc8b6e\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 097b1032f9a51a68af7fe8d75308784844f6b4391ee1b166ebd7333a60eaf923391b3e6a5c453dd0a5c6db19df38cc1c65e1e2bf183492f71b2b47e7b6442c780553104132c7bdba8067158265b773735310640fa9efd6eae33241937a92772e9e0cf3c0ac9f1bef801d57da950ea35c83bb9b412881eda9c80ac51bd089ba6c3b9ec33ec71ad17bf5ccd1434528a48b624d0c0a88ca9d531975489bce7008909ef295eaafdc239d482539d2a4c7801ced4bd773013412b67f97b43cf855a9705c442b35a4bf7728fb08a76fc8d20b60cfba5447ad50c16a79bdf5a03091be50415a79294ea5d372fe2cf033fa046e63ec3609831626dd21f9492f968f79786aa7f4a7f56df4edc0a355e488db1b348f6decf73f467c106ef0a1d693e59843de66651a59e714fe59fb41ff93dd3c54d188596887bcfe914096230030261d258f0348dea3af6469927c3532c4e00c15b9a3c0795eb8bd5611c8701c318b716a3bed53092107d792e9537dca6d7cf5a00b297a6ab61822d5149f4e8a95e78b0a97d1b808110e08a06918385062ec3a8944492ca3ce1f5686e776223a3e9878a4e53eb52668dc7740278aeee9794c718f3ff5efcc69cba7eec07fcb5143303abcb30c05f9c7ab5ceeb00bb848a5a6a6d41750fc49f695c6ed346e5c7f79a06e50fd2531c2bf8bdc92b82bb3105bb985e0a1eea524f7a045c4a91475661c0b8b578d\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 402ba3eeb6fe3e781e285b0cf4f659c240adc5f87c2d84e6d1043abde97a690df747aecb5fab8809a62bf86ef8400faba680b5511a193bc963e01dab7ab087b1ca0651c0fae04bb4928067981155d8450082b2d04ff7f1c6ac7ca1eb2c044aa7af472c511f3cb061de3766865258e363ffa2dd5e6d96c5fe32254c6c08b4e075643ec3bbdcafcb67455466bd005ed9874d8d439a37ab3ffb4694cfa58cca05058445ae70d02b30a67fd0d378c9ae9eed9b02c60f9ab54a8649b6201682685ea2ac8aa244da31066b1ff41f92a255840158fd8e5a4f17b6e55395331c823183d252dcec7833ebac21c4a716606815a5af641400e17f90644f5c6cde79edf34730ed6b3d58795d02f1dedc6be721ecbae2e5938cd8ba745c58230bfe1b60ec655e4d7f86667ea057be02c54a12f0feda686112caf921f67afe3744155d28db55f2e340d66c82b3cfa6266b19accf889624c0e8eac6fba05d97b1ede3472c2d4e90698a7d12cb0cf025922f4afb511b9dd69f335c79a4c6266ce0c8f5e003452f6abd178fabc1e027e22eb36afd610582c1904581af8b165e1bbecb48a85cfec8bb96550bb6874b1a4aa8d2433b309a8fa68074a941de7980a1ed4800d1d3ce5ac7d41152f6c99439f48796cea0b1597adefbfd034b6fc94787982fe960e074e74ecdf7c919d3c1309ec539e5a63529a042fd50b86049e44931a4bef4984acf5137\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 5dcc4f5a91b4b4b2bd189cbc3e865d035b34a0f413d4dbf3a3bfad18250f50d0bc7460a715821eac2af824f3161fb3d197a8e9dd5c0ee462e1e04ce1d0f3a8101aba2acc64e120f247c269aa3cb110f28b5ac9ef4ceb8669b7141e2226f73d0c274b238da7ad59b5d86ba731b02ce34b095c936891354507cf02ca2b8c64a7a1ba742a813752863254438f7193e852fd192e493f2f910a95de6af02aeab7e623d7ca86b8914d40fc95632997dc8b4155026afcc94f19370fa0ab1ab0f87c8fe0681cdeee71faac3f6eb37f7ed15e795d21d38062669e2b2be8ee9a1212645d3c0dab97ea6682ead7d2255f6d23a79d0e895102de75d07927b44d1408c085f2738af994f82ad9b7810b10aa161ddc90cd22ad6f60d3a61db98ded42e20a3e1787c65d9d9804b4aa0d5d73cd8e09800000575171b4e57b3d0e92830dddca0cc268a547e9a0fa0488c12d82f9379ad4b26f2472e489dc8062ee4439b4c0c5ec63b10a466a0ed2e591828377a44b87efb412c776170f9f66f374993316f24c2a0264aa87008912e082729a7b723ddaef1d6abdf10a23d55ead4c27d68e64933f8739931f48861d5c5c55b62c7b7d7c925fba2b88e23409b914c9b38bd42fbe559752b4a08ec2aaf374b81fecda420330e0ed832fe4579959f66bfbfe3cfebcbe3155058c34e4a709f389110fe874cf262dbffef835e17ffba41d700c4f36f6f721cd\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = a8008cf08682a5bda70df5f1cb05178be6f1f073095cd92e609f8babf0c45938a2cb8f025755b173af0181e87ee79f8a73e60133f4183ee172dc60d6ea0f6d30ab60bc816bd239b0bc70cd2f95e2d6d280bc7401d27cc536dac23cebedb38202a7f4a1709728b3d32dcb67b2e4081153c652ec0f53c13c856ddfc0c57088c4a6acaa4fef18aaea1abb902f8bca7147c54bb13d430f792c48e4d3050a705922d73b2a19f3074857841338521fb996810602683ab0c8299bbab9c598754a34947a2983dd63c76cf74b06f81c02a78d448d228eca205a88cac0877723835afb46869cf38a28b46962269f8fab5695423ac3b37f88d5dd95127c280a1a4018e47755b9bf5c54ba7c470c1ef5ce78dc49d9a175a07352edb26fa36b65c53163c261cdff35e9e2955c5e3a793a00a14cf7c90cb4c43a2009d8e3c896101e5226e65f096804f26f644ae1311f4247a972a60dc6b22062edb565540ce4f3f4cccfeb57ea2a2cc9205a592e7f522a8867fce5681f292c5f2035859fb40790572b319e748fae1b7cd8fcf87421e0ddf8a20b3ae9c02244c6523eeb350f70a19542587eaa9e9798f104136c8ab673c7f3bcf199532d14f17ab532f957cd6afc5b5e57f15064d8b39ef444ff513d7de02ccae382b14aeb2cac0028e5fdb8c1fc33615ae4d93534f3044c97126816a1732d814ced6bd043045b918a4f5b97c8e652b16130f205\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 47e7664b1dfd6e4711f4de90fd311c1db87659ea992382d5e18aa9fe5a2429eec9cb7abc063e3fe3371e175ec9a51fe4a629d851355c38072743c37352674f6a113dbd79286994c5c6ad37f621283443e30cae094f834585e7ab2580f6d4d8a09310eb56be9105e0f44ce7ea9cf0da7766c2b9bedbf732113a4db1bc0bc7f2569cb71093eb50c0cb88668a78c040860cb54e19a3ceafd7dca8860c4920db6376dc37149e5b18d434853d36eb5977e4012c744faa739832d5f11e33151da54403746678456e3e70a7ac2b3802c719b0892207f2babaca7a3c763fe3399fe109846273e010bb69d15e09d7d9193b2ef00ff0dfb65c983a2c88becf232fc5bd246f441e9dc61a23d0e4c25cfbb527ebd64ec503ac7b4d501cd397e372bdb104aa2004b255a4e11424aac978c32c9e2b61978b1b2818caf2795542ae1a7808f47ff8af16e458f0771bdea370d31b1cfae0f0d73e14d99dd3872c4d9bedb3caf630ddc6ff49d98df360c9c6c4a61e0c94d5af3e5239ac443aa8ef1caecb1d22b148874669c263c325e6b7008a404e5374a9dc10214d412d5d00da814a6f9af0c83c40794e3fea7331f3d3e5736b176c8d6ee13a28efe25239addd4ce4d4ccbf9d79ede0f2cd53f575a4c47a46c14924178f2d4afc2d93d0722d85cb7d3e609d4cf270950e5300c1a75dd2fc10be6421a0c016db3d2d6863f644fb68a5ddf1354c6075\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 4cf36bf17238f5fb54ca2c60abf1f66db89d674ba3598a19ae16b59c69b818bdebcd1c07848eb8d9bf1ac76d40c7f8277289f8399add2462993f41fe6b5e0cc93d82b691e38c2ff7dc7e0a2ad2676c6ce15b69e322a76cb05ddc6a6cd547b2d126549d6e7a62b37dc9121b68b52a156c0134c8679d553803ad2668551d62bda3d16fd3a12489c7e0edc87fa4da8965627e55256d441e005335cc212a7bdb42e62c7d23139344041b8eb0113bd0f5c64027ff6c5c0bd08a042a287b2ac5d45a002a92a69a7e8325a5456334219f79c174b959afe78c794df1a8aeff180e94ec3d2c1d25b8ad5d1c083c372b2cf3ceb569a5768518877d21105167eb89cf3793362fdc591066e26fbbb028e6f21da34a3ab13f26d8c3d0a3e8bdce05a301924837989cfef516ff4c18cf5e74b0ceb59c375f585bc5b9f99bb1c02968bebb18f7e16f632c33c79f341974f0f8f9d6243d59932e21b278760883f89724e996d5ed7d179afa967ceb37d0a4a4abdd694a386b6c36f7214dd339fd87e2771a36517fd049c04090827db6a0759178464bd013258fcc4f23335ec1398c285697b2f410777c8a9aa2c7c8995ffa16bf71da60fe56e0782a1fc6a58522e1bc000e5e9839e5b812ff220fc884fe35ff2769b4debe516ead552efc4f956a5ef9fa31d0f13523d6c4818d64d4b157c6a2f044dc68c85371a0f23dde353fa086de804cf1f8f916\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 5ac94a9a7fad561012e21c69abeefd2e31e79c2978f2512eb8a3d59c50430c0ba3ba47ebf001b7cd0f6b38455255c3bf241beeb1b4ffe47c8a32919ff9e7aefab02352d4a95f2508d35409dbf0883f2b9d6ba8963c13d8a403096cac6be6a61e52c6a62e416b98036104f4375666a9566e78d3be53708a41f0407d4912a7da03c28d0edf69e6dac1653f8edf05d081a637e3e179d30d595f35f7e75ff418e84991deafec863e100e758de855ce51c1d047fd2c52242ea4f36b0d5a7690b784bcc99eb09eb3a0d434e12aedc829cd9b43fa6d4d2dd6566e12295b25c9a204b0c50a65f3aa69ca20f8f1f2036067891a4927bf3fe00ba892ec904a6e64d01eda8c224765fd3ce14103cf4d4b6261e4dc4d0dd3ab112707f2ba113baf69a56324370689302a956f9d1b1042a9e2baae8d7ae38582f597ab86bfec08f99e8970df218772bda2076ae24f2265fa1a2d197d78143c3daced75e66604098d0587258eed61509cce845410a18a81ff44fe8b46de83909eb0ff18f7c99abb1e3763bc09d", + "e54d07500626bd5f11f21f0ca62d1b8cda6297d7ba833934c5a94c60f6a3cb8868a8f7cadd01a154f028d42c00097161253f223b14d7b3656405728804519fd6b903658eb0a56ada5c08348c2263d30b3b476bdbee5810f0dfc131527a5669a4194cfef11c045336c4d60a9966e9117b1b5c0331f9eb9b1669752b0b259bf2972\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 8808740c5b391010d78d9daf18b3108f4c94a0efedd9294f73c977a25d6fb372535d5cb7a4a72455f1c540097f8763dc93748307c3cd75852a572d07030c1727dafc70674470e7aef12df09fee2eb53ba1f526de8e15599010a5bebf18d7711a82400b757186e55972ffc4f6493c1a984df0cce9aa53419d4caea1c4f4947081ef3ec9e7888b5b40e4ee943b2b2047ece7b7c63be08660408d8cb061fffd6b43b36d01d0617232c3a6770ce2a6ba1e5e0aba86c77af3e60c74677ea7e458719aaac0b26bc57c3e115db330603f2ff5aa523bd6530b6afc32e014b69a4a929cd83384aaba6ff6220d43bfbde5cab82f572b8d8fd9e1a57b8ec184f48fa174974ae43d5e7d1034301e1f656554929891d61929b43f77023c389bd651dcf5f2278bd9c99ef7ef61a46c1a1ea589beed36e80efc821e8865412a9c22aefe14940ab17e68055d79f328eb5ebff9d43bab4e829c51e9dddc5e8900c1b82381c9e5a3fc56f922a95e3b56c5d2e9cf2797bd394c0fb62a47a5c54f19c76428ecf0bd2e5e3b845a1a14f14660932a446c9617f1b7418a642212bd3465cd812592c0cbcda5c88c8820c514f0702a20c59380ae782190f0e2e4f5f6dbbd296729d7f81ff365f7d8f273f49d27e0e1224930b48f86085a702a45cadb1aefbc07eb0dfb56c2628313953befb3988b20f9bdfbc6481f1816a05344c5a776ce20404897571df934\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 62b367fd98766786960949acd2db1e084830ecad8dd52370500e54357ad5cd1f250274fd3108540bb54101981e326949b5a671f582ac3d05a4aa959be04754f1fcc20f3fc43ac910455a217579cb05f50abbc9091fa8cd76fd7cda030c899cad2eb7cd76ea3a3749d524cf08ad4898382e48faf9d34113628280b306e0180a1f9b8122bf8a69bb53ed19200c45fef52c8a41db390839696c4de65d287f0b90afb92d830b7b96a84f122c70df93db43a52876aa58d16c1ada28fffad42995075b41f0117d661f145f11b8bb18982708ef779e27d0d2303930752badd2b73f5720812c5626b38a1cf9b6a759c474d8256b668d50050e00f99ffdaa111cb3f4d96f8f6890ac908dfc56acd0076a6aea13de904acdcae17dcc8d3aabfc90f8f7a51e9f430e56ca8fb0ee3bdec82d2709f514ed037255ec7fafc22e7a396014ff7c479e9333455ab1707e0b65870ccbfd0a3f17b8a33c2fa3e06d9d2b47a77c3ea25dfc95519f2f28e54ed7308157965caa26caff01f64db282a7ac0f51fdeb3d6913939f1c8686f4434a2f4aabb0692ac2b09e269d74a83d8b5c917d1275481dda53a9b040f533b7307e2eba6d6fe582f5a594945182df5b1a7d855f36bd4fa9a47be0912c1be5aea36ca346c6f092157111c89fe825ffbd7bc9d9a5bd778b8c257c90c6677caf72c176efe2645f413acf5616fffc9dc9fff34d4d312a0647ccc296\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = ad84f260175f9a0153420722e2d76c6de0d2bb38edccf510041f35818a1802b679b8b1ba3688ea486da1c58a0a22177c500d92e5eb880e6ea0edb543c30f11733e55167ef90bb3d91e0ae27ca2617f3ddf5cf2257335458ad65959eb6552df443de1dd3128475ba5db130524093007b5d4b7c6ff85186107152523b37aa1981e4fc995c1045a018e3559be52ab580eab73424f0d344612be29197b4bd571fc34287c987f090c639099db693f9b85368b61b6a506a283116df3cf651880959d0c98cf0e0372f4467f30b57eef683ebd057d6dc8a9b363bc9589c10edce9c522f2f6df7408e9453eb9439050c9a01eeb95f9a54a64c12bc8cbc883f23a4885c81b0d2fd01459cab54060721ac7245ab1b4cdc6b4c1c9bb4414a3d4a92d273b5edce9f947b9c5c238c10fc383461e3eaf11da8677e65236e70ff18db3966aa07cf596814ead0dca523081b47798dfcc07415720705a888b21d62316c675a8a3abf97deee7641ef7418da715ffdd00de54706de1bb458763142eca28aad1ffa928a06b5bfcb28a1629f1a606cdb6d9af8c0f93425e57cc1dd6b00b0bfbedb8f2bbf7f462cf677dd4483e3178558a0d6ef3cb4ad55f5a302b8d3b4d83ebed4accec1dee8a97c308f86197c4a9a2149531739ac00d3a832cc7f9cead2e8c3fc7c8563040503923090afad5b37266c297452b527211526230bca293bcafda4423983799\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 24e1fadf0da791af63242170a1ed87c2dd8c9f66dc7c5584b953fa27cdacb3e2eb0175086b34b402bbf7da96f9e5cf6726a06d6472b818701b963530b9fdc8538cc229f0c05d883664de6dc58e0ef822c984bc83db6266f62f6ef6b661e360a1feace84ac3070ca90ee424e19afbbb6123e4ea1094078fafcdadd6a0e7c5b3a10ac38fa6456927021e5e201d5dbb32779e962252950bd3262f5951bf6a2d092e61e3610fd9f8f888a091fe95d0e29a6b519eb1808906458780afc51e476dc9c94d4d15385a0048304beee75ac739d698abd2372f59b107bf31c9af2d6a3476081c7a9a2b1faa1b7b414090f971491205d887dee30ed56e5cf43bf5ba160d6f4909d8cc35015533de2dc7948f51947e268ea29694fc44bc20582ac31184975ef043345b3296c7776999d2b65a5ed429826f658c79db5da04d511b01c2dde23cd0af17fbb95a99bfd0cebc94598adfc0c6aa58f3c6f24a2535849e094d8e87a860e232acbd4bbec060daccafa3fa1fa8b7dd68fa0374ae4feb71f7afd9e9911183db449ec67c89202d9ca3eb6319286b7377733abe0c8b215acb640352267530ab307f94f0a70fc86431e7f1920e97a2f67ec663418350a820ed5bc2df6dfcb05601d24128720eadc5068ccfe7d1df0391cf0427c5555b611f4c9a5f3748e525bb7d1de2bdfa37b8787917fc6f72877e2b9e970068982db3accdded9b533402a0a\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4e29d514bab9cdc8821f688fd7c846daab154661b0fc6404b45a0e2b487b6ea8a66eb6bb7822e10e3ee4ce601207e64237b29f1e7080fa059c4caa7531ada59cd7d8d9355f382737ac4629273138912392120d5da6ab617e810cce32c67c0cd459ef2a95f8a153167a285f21b67a312a01c150ca94cd9cb6c204b1f98a45705ea48566bceb45a7200f162d30abfff33c97b7ecdf3abec66407d69c0d9bc8964aa8d5cc183b0ee0873bd3bd62d0d29838b1ae51655d2f0af2ff818730f5b26dba1570d569d271c874395e8bfcecc34035c0a216881f7c5ff6bbf715397c2d64119252598357fa9dbe2fcbd3bf76d34a35b9abb7ce42e336b00f7cd1e0369f296d0425fa40102120f76684def5c4d2cb1f82a9cbb35e0b0c62901c676959aeb8a469c07c21cf672c9878efeedea12fe48a10a938253730d2aa5df7277e401bcba1d83a6da09f06769d9d15d4c744ec39ea01135a645b89419197af49d0c7c71f8d40f578282d81f6f3001a8ee6c3b9353b458b2b3db4e66a2969940d3a2404b4c4cdeeba15648cb98989f9eed34dfdadfaa107b9d089d38153099fbb8447a7825ef41511af710eef6c227b1ce034c10a62945f40ecd388cbacf547fb44b8d533acfbbdbf13e078979aa2189aa533decb86f23b7fdae67c48075917b32457b4f67ba84b00e657bea303e23dce601f74a0aca78f6c5ef039d766678770111ff90ec8\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9e61a779b2a12e128f87cbc3097c4c4f76fc0d0276cf1e7a1cb4eced9fcc0fd4f545e247c6cd6bdfb93835582f153161403efac0ff2b604420855c668691b067a12e1088faa1b0570b6b33821b454b405ccccfa60a9d240beda3ea295c750f45a80e316b4c416a901594b7406decb58ce6aa412a9040807fcd50a100b7fcd882246d1d6924e587a6a625a0fd6789def10a77379ffb653c96eca0ebbb72a5b300c5477ea534e6f853f1a2865f5713a2379835b348ef0e6e79c23812d6231214237c9b19dcf92ed8b474bd5dda450aba3f998854f123710d282878681b92134b851458b071e92863f0305d959bcd7689e597d03ef48ecadceeb74f7ddb5546b8e21a9d3e49505d16520bf67ad8a02b1ed660e6fd9288da454e43d4d45d32ad2f4f087c24a899bf74f0163af4f7d058d14e733a2078001bd619875e0d603614a95b76d4650b338f6cd244b1fe2cf70230f453f84db1abeabb1e8f70cf2650bb3762e3119a156fbb8c5c1dadba6fcf94bd607192bfab2dcea15a6184e71b31d038baf93998e72135af1ee22c5701019f4ae4244b39242a603e983b919efa61c221ab85254d43235ee337b064131a52ddfbcb298d50079c1a9e84700c688f14cfb1c673f347becb6dd337c310f57b800d12a476c2e014efa85245cb5c587d69c3fec4f59bf2bd9482233f9d7a8fa3290dc075df31339447d44577a27682111a9c41c0\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 034db01968cfcc19d6a59c9a15214fa3a7f57ea39a17de71a1b92e4210b48c9299964ec353a6a64bb185e545aa039b7967bab630ac4773fce449ab1a6eaaae89842589d6c92e0047fce4e7adc71190f554ad592c4975cdf6c5b0ce78b3738040d35fa0515479a0967482052ec9a0bf7d00ad2398eb5fcc07ea88682e158da47df3bfb0d895749b1d613160542b1ab30493344a279bd1e9fd4222951adea977cef7ea3458e16360f00ac44bfd8e6fc09e3f4ba5929e1bfb0a33909c180346385461d4b619e0cd2d2b7c30f94cf3192f72ca397901a0d385754b7f80393bcdd5bfb00931ae15194d0c83a8e6d4a3ce682c9f34e2d8f0df0941aecc2aa2d632e6b5a6053171fe54ee84318f305aa2e06280feb10dbcb98b0070b0db8b06209558b6404960f809d51085035b0d032cda67256d747925688f17f98d3f30895a435314c76f6f6936fc6f93b53d117fa0a99fa3953ffd614899ae2dda61bf695935c5fc408a1322ff8678c1a239d8733ac9b65173d4b04a24fdc3236901431fa195b2adb767990f6a9e1bc515e6971b5e34ab9f426b501df7c6fad19db554121a7d955e7fc3e9c3d33abe0198b2c8ff870decc2e3eb31af4d43d895147961278de29e9c11a67a5abf83b0ce89aeeca6e7085ea8ae30595e0f11e0eb65d0252e0cf682c813054b8f05fdb9d77cbf85207e4eeb3c48b9ca07df13d771218fbded402b7121\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 4985a583b2e7cc653a5343d6bffa4f349e115441d35f594332b753ae0069b66ed24e65a9", + "3bbeab94b25d992ca871b64f18974fc65ea52dcef1dd95e46b2b758a847a7c66082cabbc1d08df1e3b4d69dd5e351af6e1dc1edf2db8851ee9ebf24135ad62ca44547bcb954ae58602f7d8eb35a55e8835926726fc31360fe822fb12dc3e08a03ca6e3c19299682feb785ddadce89486ee1175763b52ea96267e5e90cca8b49724c77c27102a2502f1b898353220a0894bee75278539eec5d19431f81ed9b2fa3ddf17955d41ba0b86cf5dc1e78828a8561187d87140ae1a8dfc22646b23df51ba756f0af64a806be81a652cfece86a47e5077f560b89e11758eaf8b01559be0376ea02f40cbeddc9735681b83450f10696f2306d06f98bf2879b3d35b05b75cdf316d62ed6cdcd7a64455c0642f44b1c603d35c1042aad35262db291383400797ab4a0875addda08cbff48811c925df7482e468a3076bc8cc89e8b4b76f7c9202acd554fbeaee95be3ee8d59207ffe2a5461fc3019607ec8da4c267be29ae4646aed386aea72b47e2abf1be5ea4c2ca0107aecf9813da0ba6b3db42c3d48816e35c3432a0db42f433b121b80b461e4b93bfbe26479eac726d5e70643aa2a0cb2c2e4dea03a57ab8e8158c6aa96fa0a70d050969e4ec40ba064bd9abe59d5f35cb7cca552a745d9306f05eb1a16945d5f20477f203f2a4cc69a06a52\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 8f4b449309fbf4b460d841593ba66bf21a11565e948d155c9989410e0a112bd38c950e245cbf3010b34218d48c47318116a5f6161c5ac19c9b7d65c6c51ffffe852ee655d33e9dc5b1b92b83efccc1e68376c8e29665a8acbf56837c3fd12ade872b248021e701a64ad8f99ee2d26367b3463bda23654fd736c64dcf737f12b372e146ef652c1d468cdbb669aeb50ddb966da6907d2cf7456d29c3e2b1334147327cf6fcd254c536dd4607f3a2a8b197d5c5f44570d88ebe5fe821f656a6b254fd0fa034f7a56cd1e51724b6bfbbf5fe301223512c6b30a08eb4f8d37f1000ceca973ff43d409a1b7c37586524aaba49d86cf5187dfecc24d8e8fdc2386dc18d519d3125f753b672fa2baf48c8f8fc883f01de016b9d264b31862870340721c8fe35e254689b1ef3beaeb8b9d0dcd6a28bea69ede8f2997206ac30e9999ebeeb15936e24b0964a2198f97f9efbdf45377b064c62aaa68f67d68b181859e2f9022cb2253eebab8c39090fc8828ed6b2a44a9465d4e3068f15bd41c7fa7160e0cf5565180ad3053499628e4d91c27bbf7416429d7e2763ef30719fe639f72e851c305f0ea4c6de7ecb7a010357c17e0a3a4ce3ae784a78b3eabdb524133ecb59b94c3afc1fff696d7d89b03928d0ff480ed32f8610dc36d941665a2880c4af94fd8aed67e70542ce3caeef19bb34517e62aa566c81f1b0f232c9adcfa07c8291ca\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 1a23f908899cfd37778dc29a4944afea6494b2c3356480113316ed761fbec243ed42fd6f0e7a1bd51c6c432013cb8feb8c4e5203065a8bc5866d2159869d9e4b47f0b8749e606e371f9204dc6b8d1315b9e356cf4d361da1a9054a30620e48f668387b1d825f53752fde9f15fc187f64409df1da8fa8409f09951f445abaaa15c5f370975cd38a0051168779ac77a798a9956fc678acd6c43df3381558ca7b3bb30d3d2a77bf391cc55f057e25e2203c719bfeab7dd434a7bebc8427f70b239497bf1267e053901e161e8be2d461ab0006f151392c598ab08c189ab5797a349b3c06f87b82c894f7b1d6301338e10a960353a6306cd0f3997de6d4a9f31de9cf2da9517935ce7eb91900d517e45a664cefe494ab8c247e0ec7c76f201b6a3b619c286bd84759b5f1055d4a353d7e4feb71185b8e2b00ba3a06f180109941017fa849c10bd9cd187cba1154e64c4a9856f563c6af807d6fb914fbb2a843193c234c3f933e442fd6de4e2f2fba5b228dc0dc53ffc413f5b8eced36d9f19b890ad0aaf77b8e08fef44bcc53d2e7b277578632cb30180e642297d24e9975476236f46cd0fafcd93dccb47097fe91aed1a05dfe855b62768ab2bd65574e6974777d54a1e6620f31e3fe757a4f24e43817ae45538aed83c22ebe904b453bc89796998b3c43661d5b638670a9d46beed06e2208ebe9892da5bdac7127029e1a621731ef\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3cfa2d610f8884246aad5616c1ce4c5212b2cde20d26b7fb8809e988d6fff65ac322dd443df32ff4008d0f6a9f30a990da3b4c9b3830a9b6f9616e1be9194dcb6f05e634bcf8b8f1241991ec8e922f5b3db8c5f81cd1b4b92f5248b9ae87f00117375c9bb02ff436ee6d078c9f86f1d5635b1100c5c41daa43c9781b414fa2a065b906630259976891e1ba4b97848f10c3425bbddc1e94d7f3e88f8c5e35851cdb1f070fca63a0e49114afede07cb02f2688c2337e632849cef8b5266f1e1e752f4f038bb15c7c08de3bbffe8671280c50e389e2ada8dc33ef777f3b4bc62594061cae12c21a0997e1be807dc9a78de7a8b39d35458a385beaa10cce743cc5cbe105ea2b2f36fda69f7314edfcf14c906ba89fc7bd118a3fa2c874cf72fd50bdbb5519e9fa054b24a86117b1b6cff2674d62d744dcefaadde620970f626a69d9d1db151134f3dae14a02878001e0e4a7eff328255e9e06cd1cf1817fac0cf9e7644177a3b46f417d9845060a8c62e2002dbc6702af1f3eb78822edd87fdc9ed01eeb8d6fa3bbd434ce5b089dc3922c0f0a7d56ffcf874421ffcc843c2675f882de1ce707b9797e73e4144a1ec5324b6b367c2b1c2ab7a3ebec71ce88825192e1959fc1d4e45c7c8c6cc117420c8ac15143c7a4e129b99c61c07db1f01951c3936f5307566df63ae81208ab3bcd7a6a67990d36bfd18b4af41c64d8ee36500d22\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = a85de4a779b4d0a339959eba0f9517f408ed878472054e215d066760722aa54f18977e8a58c7b5fd36a5f06220d75b2e6bd6e46a471e6b58df82205b25458c13a7a36f7789bd52e960244403f1a495dfb4feb44e0b0d745b9908de3a7832f5941335a59bf9f4ce32d5b8fab88db64a6fbb043f084bfae5b3d388d38c3e22c893491db8d7995a9206fc89ae29806093e1c0056a80534d20f41ac99473eb3c50695ab5c98deeae78458a00366e620efb890bde973201d0bd2dc5e8c23a5a4d49f94d09e89667f029c68c7a64f46831a718da5f160edf9c85e7e990c6557a3dc6fd3f1f4ee05b6d135abb1c1b338e101061d9197ed6f291900cde627e3bf34757e65d670f3834c2e991c27cee515d36f306369f32b1136553245242d8ce4dda06d6cc1f6f59bf784cf6aae50d2345bab804a934bac9d3bda14ce8f0e658464e42f0fade2d6b464fce88496f7a876aa519f334f2084d83323a4310ca2db6ba79ed24efe8e1349963d3fc7dfbb56adf0752427dc057e88fb250780962df439a6fba2ce35ebb4a6668278555500d32759697ba383b2b6ac70b9307d9497065a4f940196b384a371fc90195de37080c7129f584e57c893b1d45ea1a9b87b1c22dc8e3ba79e2a91765cea094932fb6544c0365960ec87ae9d1ce42c7612c3e66be8595e5c48ec96c2cbd3db29f0ba770836a1ee01069fade93625b4222dd22f4690d21e1\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 90cf98fdad0342a96065e493823ccade9b64ba7d55854ea54d5427b5982193727e12382e5626e1c2129551d389b613c4ccf7d29ef7c1b7af895b1081760eab34d354180c22e64a6c4e9e5daa00a13a7d8046478503d3121a02c9ffe35c3bd2b881815f388497d66ea3985bac4eb92f783b53b4e8f9b51e54c7a115aa3412688e3b8a5261d20035945b91cee01839cdb8abe51d96a850bf506466bdca087dbafda1d7eff29170c4c977b18bf218d29212e2dfc170918cee6cdfb6fce32991b71a1103e7df86ee31900509e519e59ecbcc74c99800a241db9fe9f7900cc48f54a3b29366696b65f15a057b2b5299ce92b975c0c0438a2b785d933b131f6ed2ae8506cbfafc0057afb142857d90264c07dedd9707a866ba150a1c54fa76fa3ca46627ba438cf261991e1efa73204f8f6ca7ae1ef041dd52888667bce336641b955161c7c718756c4a4cee7fab6cb9d5b98a96e5417902b30f518328e6f8c405615e5ef53b1ee685081c3d4758da7872395fa7b7010727b873d38f2d9164f254ee8382261f8ca4e7221261082ce9d913362933a2e5f1b3ff1736147782b0a18e17e913353f10d9a8cbf643a73743a37b085b608f2d9579be7a985c1dee58172c5b50bc4315fb2cc32bd62f9876ae4826ad75548573d4b7ce1c0aaf816b91a9b71e4e7e134e4042b219b6ea185814b5a265383f70b9311ee33965f16020d259d34aba\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 26bc51a5ca916c06954c53f78cf9cb9828bebffcf0a8a665e3f57b21b1d5448d44d2013cd44df286080125c4996395384de92a32e301369f22c36d554b7fafef65aabde06577edcef85f432691064a07fd71244bd642973d5267e07b6d224b1af31f0f7922c35192f3011e32fd64cf57f9eee9af506136b50d0a8957e9a701b1a0ae2e3115c6a95ff437fe17db195f85db8cea850a6eeae99cfaf496ac1ce023b909127ec2f3d79817348790fb88d36d5777384e0c2ff36f5616a6f805b74078e501a1e8d61b29fb92e95f14624ff9fb56de3a24d28fbe10a111589ff33b28455980410b36c636bf159f94ef30b9f18ca3e6ed69a0d593e06a79bb1a0b066d718064956ea884c7fe13f7bc80f9960efee39ccdd45d36686be74c43ca4106e94dc1be24d799610efbd2fb5002e2549183362ca0eff49bd9971855c29fc4ac31a759a57b2de8db0b1e226d924b4aa0e04f035a3cf7c0ccdd118e577a0eebae4d984f0230287c666d989d4ace41e02da8c704c3b5a2aa95dfa1d18f47dc1532a9fcce3cec6a49ca16e47288857d7553d3526916a976f0eaa238a9e3a2d37714ddacce0b40e260f56e1ccd9073466230b7d328fa69caaf79030a84a1aaca741cc196ee2ac9a44d9ad4788856e9fb510c34b9ccd61aab89a725870171b8a8ebbca35ea0968efb441346c2f04e4fffc19428e54ef96b3cf96593c579a33336e6cc1cd2\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = ac0c2beed1984df4bc57b6ac738f12723f8bdba28d7c9a6b4494cd26ca118bf50490d366a1029443bd7754cc507ea785ae55e726762b11bf5ad687342f64b1e48ee2ed52a53f1dff4d5a939c585f2ddd1ce4cb15c460f5b48ac9fb8ee6f0f8e308237319cf7445c6d4c4fe7eecd5edb127eae01496b470aaab8a06488e9bb6473366ab21448855237f1f622a3c419093236cb2b6fdb672ede809f23afb675f15e7723facbe7d542950856e4b104109d6e647d80e29876c698f80dba9fccb279c2bcfbb289252e78477b776bf30b98c2405b9fbaa5ef53d5d846edf70215a99ed6bfa578a613a9cd0cdc5827269311efdc8cb9e907ffcf0", + "e66161fab2c4eb4e3aae73a21a159b341a38d92755a3094854588b1e5e8a427fd310f24a0d5422fd8967d36fa0c54efdf471dd230cc2d0bb837989fc197d193786fc84158649c914e69322c1d831ef10fbd8d26a6cf5a78e86b6ff5958b492201abdd3c3c00f3508eed16c2d243d15b4a41becf2692b45ad351b388550c04520361349df518001e5b0a5df31afd63e67440ce02d72880df09b6a3556200f68dee0eb665e287d197975c998f13272cd02e0a6b41b6d3d4994360abb26b35579d2dfc256b99d110e8328cec738062b1b04aff46aa43f7ff3db2cb6f702a45c23a18949f4e63427c9a6aaf4e44bb6917ec578653eac975b80d9bd8e4f04a2dd518ac74c626022b9214e22\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 5e315a5a02fbce14aaec84d260b755cdafc00a9c0108766839d1b0a412eb9825f684118b78d8361fa3e51ce358654f6d179ae660aaab17f75f7f787f9447e7771e559593b0621bb7d169ae936e4e8c85e1a46a2e74364a3b3c965b263259fbd836ebf944eb2d81cacb367562323588745358511512aeb969e6ad5865c6065353daf9d14da626166228f0e9b16381d2717b686d37a3ab02c02ee673042df9ad204c260f35d5ef14fa74d903e6b759d0c558c698470267bfbbbc3181c7be95f9098d21a084bc3210828bfb32618f3c3345f7d54dc97ae69d256ad1e8ee4c7338290cdfaf90d35364ed3e2e9e212345f119571e59bb0fa867a93a2573145c9e943e6ece0e0b88c011ce15c69f143d4054b06897a5681503ca8882154044b003395195f25d32918b380339d13ed673fb434e3a94e104314a79589d53079179552d43de2a18d1e849696d4702d8c905f9cf29f0f805bf28a79ee8ba6557aa96d01a5ee4c8f3d7583a2daf1c5338490fff7dc276669aabe88d851026b3bf6818b7c17299e23412f4bd084a52a1604c00389b629d2310c932cb8606c6dafa16f357565b96d8af78bbeb6b2e10fa2f57cbdde3cec2b3e78d3f853bedaf58fb33d455387ce6aaf6e9d9681d74a88b767acf5f99cb83afe65e167c61b6fedae893b19bd9ebba8c9d1f791ec162aec15eb7301c881bf3bbdcacd1ab4d9bcf032a2472cd98fc\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 52187afc616f1372de47c41592fd7d19bf2989accac116b8fb4e5c6b19452f733bd89001169f13cda52f0c38c7d842b0217326145b02a02a7bf41f3229cffa9fd696a152072fe2fdeac9c2829528dee6168f08712b9f4879f4da627fc1ba176a6049f68e00ea00e8f2dcb70f36bdca4dfdc7a33d43f4500f4dc774efb5f228690a87e78553ad97c2d402ee92648391310ece59ceecbd25b5ce630abc5e063d0b1946bc44639f22af8d3a5b6b5e9f322cbbeafa0d8ce850b933eb67534c7a240e272b1f117b63a59d122a16c2d45c7a891b62ab2e49ecf0f71e702ac02212d01187a201239c8f54a6f114574a78e663c948166942bd05ff8ddc2a62615dcb30a9c58086027ba2c39cea67f4440c41c7145337832dcad97d91af4f3fa7540e184e5c30c35e2458b6e4cf713d5152094d567217ac032b5aa7418c598511ae46152338b525f30ca9bacdd80e6e4eb242d61217afecdb5f7988ba5a6440cdb821f6c2bdc46b731f66fac51152427b7269a91c1ea2b35de0b9f690a5cfe29abe7e125bb1ae45ed78b1ef7ea961055154f52fbeb638cf72b8fed371211b774f712da5ebacf0b7311461fdfd86e16015e0b85af0d38079a8070d83043c437e3270658c023ebe1319536eada54a815191ab769e41ef3795247e4670ccb7a347878e373f4541893aee9745761eb8d1c582ac305e899e8bdae24bf2eeec7e4a18c5fd22ea06\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 913842cc62a41a3e105873bac488ab6e5e5971f24f38fb6d99fecb1b99d47519704bce498791e29ebabdefa89b02a516e92afbdea73d39c801a05ebc7b9988b732103d09064fb8137d96383b1c261b52614c8e531684ea0f1a29c043419ab9eb8610e2b5cda1ab9515b5ee19bae627bf622c8c802d6e97565e50a7fd6715ef3e921bdb3e0c82ba1e369541ac3037c056f911d5d434b3ff1185d33e2095a3627134bd6e0bf7e10d2a7a46712c9de87120daeb6b13eaec78d4c577a5f7d33f5a17e5fbe48ca4de7990df00e403cf2871050fe49d49e7b3121f48482d35600f5cf9a836554ee0f80abae1d6379b16833a64b8c354f80be5794fb6d6bac6e1b567917fb903237c79900146bd6120dc49cd1cd48cae7b84de5588d0c4a76fc4cb5b0f6bb3b1a13e7e6bc395d8f6f0723470d300d4529eac1ad6e1b2ed62d6903bd6f92475d585508d242c2b720fa694b09a7b66ec83317596ee62122324b0169cba1564d6c12345ff106472af605f732fb635646c9b608d6e8dce4951b8e72e56ef25eda9b8e81a4a6b40294fd8754340d9ca752274ad72ae3e4cbb5dcc85bdff3903016fdfdf1823134e1c10398d1ede0fa0dff7ab631db5a1bcd943bf6a2a73a03f97a4f504e5e8832df7f58c9ba99c54e843a4420b977a6602d555fdb4ed29e5237347be3707621a43cf809e3ec3b6b1c0e0c8ce7768ef96c7f4735c0632956e83\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = b188bf6d0ef7001eda21409538960de8ce6765f52a39a886d5fe4e5d7854f56888ef04b8f005439ce3db47572166b13717de4c58ad31683e380bf23ac98d5c541aa558fec78b27c0e315fccc960f6b6445f8d732a144dac80980eccb6b6efb7dac2aa3c44c70ffad0d38f50c92acb71d799fa31b7efce919e9a7e7593c864e1eb19e1873a4359b4cee15f941fb70e4ed1c180fceee643c55f35e0a0ea45eda985ed5e104b696f6db37a21df74693c75311ac31b2213babfa473fab2c5eaff5b003264d8a1fae68b701879d8bf7d18af7f2380e513744b7eebe1ee83f6490cac6fb47962d59b2d304a920d7dac88b05260229a178f6196bc0977305a6f9de8aa58f6275df14ea42d3aa74d06760a712a257b2e1e7a83e0f41bd9c1da4f76d7634f8a9c2ea66ca1f16d82d27b55d55586399838c3cbc523c2f588e1de72b0f08ad782c5aa6f28f5eaf5eb04dcbe5b74fb5b3fecc99877330cea7c8bc9f2d99006c0f44f8908716ec8eb3c3273104418dc5b0d90593ddf8d73bfdc883dfa5f3abfa977861147fdeded55d4ce67a27bc8f68fe407cb86f5565879888b207576e05534dd0c6e5ef30a9f7d49dfb2d5023e318c6512a1c91d6a38961ae9681fe98aacb81802ab2415ff7889763329eac8a630245f0acbd2d29d18a5f5b7261e0379bf335e750c6a497d0725f2def9e4f0250e40dd11c62a4f4bee3cad2eaa361afcf06\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 88ea7c7ebd2b87ad0909f3c32cd4a460d33a96fb7e5c2fa353245e2f26ab1a6240c895ce28c94af7289d359836ff59dc634556bbac9689d33bb9515cecd733487a3e3b5440187bdbd524853d5102c500975db75252b96806350d875ef933f64ccab351143128ad81e3a02571e5b4048ec58b5a8f774ea5663f13f3e80f9452d67804c142b05ff2bc11de1d2ba0ec0b2e5e0f330006febe1fb470c93a424a05e14029834787d85f3b9d2a0a508a90d00c93ae76ec0a9009344f37c433ee15ec4831a0f14c5222928c2f4af0e6f581a77b3c8caccf5f61e46fc564fd2ef8c29f6ce07257499d70c2861247e3fe037cb986a782536b4bf05ca186e02fa5a5467b11a16f81e6d5eb9502e5d74fb207306c1bca443480b7fb69222152543892f8d4521e18a63690d392dec80db59f9e391f1b1eb733062268f9e5d9df7271b29ffaeb58563bf1eaede746788198afdacfd5443dec21e638e1eaf32341c2dee6a2a46b1a22d20b1c2ec698fefb5bbbeb3950e1f16e75578fbefcf5ce2a65a248d7dbaebf6c5ac23207ef7bf1ab0f52cf0daed998022efc6dd3132439e69b9208abb16dfe4d75a0b87edcd433a62b2be284a68d91ce0e987d5b79bec6924fd24cc030b2720a87fbff09baf20690dcedce53ba70a24fccaf89fe7bd6e70a94c957a910044d434b8326c4cd3cf85d2ac2cc41a4a86f336975ddb73229ea1c46c1637a3279\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 35f9b145c1ebe1e46ade2d5c23d421f944fc093ebd2de01e4a394954b55331c916101ce35eeeb6894e1aa41de098e076b18e258f24a9614581176ba9a5520993d9f4ceefa40943b192be0b39e27b6cb6dc972434d99150ef0737a8f2ceda8353013f0e74455dece6e0364168661b1f394c33f5543d77005feeebf72dbd5e553dc24af1d6f22042adb7ff5aec1ca4d808b490ded1fa867d15909b723cc0d82c45e0d4dbac745901d6f98c73b0fc64bd012d4ec94bb3537b4099655f3e37ba3fd9afa0f27951f57c88dac0658e73e9622fac5826fbf9386bda7ac59c36ca1350a5639215c6c5dd9c22221a8f47f413583a08b6e7d348db552db19dfb245276566df9698fa3685549ed93b95788c918dc4d3b37eb6c79a3020bb61cdc770242325d18b21081507968ae90298986903a55d7f3e4fd79b21bb1e669662a9c3e53f8d43aa201e65aa2dde0778744b2496ea2d9cef2099b68b4090b8dd73171ef95aaed07c4094ba842ebd4155e2d016ee872593bda7f020c59f3911a91d9f4b52dba9a47583bbe57fbf6603c7275de7f49a416440579ca93fedd626d52ce9faa51edc5502a9f28bae780e75cb92fc2a9453e7299d7783745d7bed7b3d1e54224f22f26668ff129ee7b64f4f065ac95b4caaeddb428035be9578ab51202bce32163a5f2b14802698f689216d9cc018ff1f33311f0758d99223a0fcfb3d5e6b451ef782c\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = c03269d89ef851b1471facf40576a4e6eac16ac9d530f70b1b8af39a3d885b263c893536c943a1449396c38389ffcbeaa8bae8622fb327a2191eac27c1dd682c40ecfbbd977f7988509255a57879940b1e70f8f0252335e128f092b50157aaec86b46b0cb15dc1da05a593124a19a96889df23b6f5c6e2925057e0438aa79acd8fe8f02fe9bf6042668e9e8db2b2eaa67892e61852533e556ab5680db3db94a098c65e5b45526bea26c2809c406871bc32db868630890206c3ad3ac83ede31d8911724af0cd645a7cf99701c44f25d4e717de38e8a6972c9956ca14d17f66484a6e09c294911e5ca70fd29cc3099639f37e832e9baae0031b7f0e2825514683b6a0b38060354c6edef6d990f22ca88154b2a1faad0ff249a7b6e6ffa5d5a1b76534f4c8bfc305bb22872cb762d081485832ce74e9954fb4f6991e3b9adea0d728893d5511ea80a74562d126cb91e1d059621df2e61f59ef08b8f1dbf61ef5a983b168148b3cff5bd8fcc73630055fb50ec800de1a1b758daa39d79f17aae7790ff92c760d4286af58a8eef669e582d44d772bff4fa36d998b1a70f3a57c530d3b1416c1457903ed760f83a2b211c69cfd99d2a19cb604bc6831ef52338985fbf6f0ed657034bdc5cb528f57", + "6aeac77500717ff7cae5aebd6e8e5b6e7707babc79e0ff101f72727424bba8a9b50304dbf3843c63d4a4700d544d55e1b8634d75a\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = ce821022807ab70f29ff8ad554934d4ee6dbbc97073bafd17b16a72d43ee3691788048afd16a781fc8c48e6c4fe164a50ffed9acabc313531b77a4e3fbdb2bfe73016b3f58da588a98b8670b94db5f21f29ac475c4246c1b7bb06d136250f5e70cd3efd0ade5a107eff64d6c0269949935e4779161e0e0047c5ff6191bb3a7ae9c0188a1928807d694e0e5d60e6e04ab6ec025d958f97e9fd2ff9bc1068600dcd227bf02ec37811e48c2c6963276a157c0ba580b5347d44726626f59db6db03d2470b402325c1173939a96dccb438c81278a7a9ecec51637d2003ea74d66262a389b0937d5586dc4d8d86175625bcee7211ba6b2a037a156f45eb450073f813d4cd5bd7ed02e55cbaf112cc1221da9a0e133733561884ea82e295f8778603e9c438159eefeeaa7e6176c1287a887d97ed394cd37832db837c336bde154d525ea5190d0803fe2b89f12ac8d0744dc02b688915064fa260931fc0d46c2c630b4eec48df59e8eed49aa81f903a8fa9a35b83dc70ab658e8cf9c9b5dd0b12ec4b4187ff7168dd5f5878d1ace1c5d101f9cad3012600b3193c2968cc29a6fb123c640a556c568867f8a18b367a45cfa339615c93a170ddbe5978af9c35a20ed7329de82cac130442813c404c2165bd32437fdbcf6eacf2b07df7cdd637f63cb0ca0fd427ef66292559cb5aae38e4f33400b89d1adeb7a0f40f4dd0f2ae79702c0fdb8\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 056b0422a3c52fed3b4245e6d75557810d0605df9630c1c82c2b2e2bfdd3321a5e5d27a5c09e5babca9c489f104c17d1b185d6e2e471940869c65312c8c5fc3bccdf97b83a0307847c81bc775a2086327c825f063cc5ae421cecafd00651eb9b4404e8714ff87d753e264d91ef350c41f9d78bf48082fe70de64b29da11b139bb4fc3057d7d956c0863a1ef4e73dfdef88c7746175298a27ad247d6433f3328d4dcd81674cc58005b2383d175700798a55b08d4036066f8a42e021a455a753911a26a0d289f7fe0e2e47bff5e9ea690a5db22e78945fd08337314278b39c0c793cfb1756724f29a730355c969ceae1b2f5f128375f2557bb9f77c4d4a0dd5b375435afb0ba57e9a8535e8b18639ad594c38ed77f53e441cdc6b09827ed9cfd2eee3d8bea950f36d707eed98f4dcedab58ef866e61fbfa5fa12a42e776cec9319e578a3ec6878bfcecb073140b0c1cd3a3b57b7341f743a38cb203136a49cb037eeae34dddbd0fe2b495a508567514f9ed2f663325aa751dc689db7e4fbf94a4a42ece4b7fec7ba1b32c384cb5b083e3d3dadadf1ed303a4f3b6536f648b64915eba1287823834ce0fe9e7726e8714adfca53493ed5828449f1737e3d0b33427e4a1b34341272a8a9ebce78402abe4416292d7aa7e342402f92ca5284369fc8850bcad65e38af3848a5dceeb8b3c2337355e104a6f8892079fc4d140b165aece0\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = db414598d4c4387f225934fd5e4c72084ff10722cc898dc51c2c1d45294b29ce712a53a09b710108811a46b33898e0fcbab281e029152fce0b5c29a83665252c7f205993e1f13d9f66e81e6e9394b82f107871cbbd72a44f04bcd433ed44e05c33029b0b5ad1e1d0e0c9e318c2c9b67078b14b75222c162193635f6dfa120429b1e0a4903d9edc3b503909403f2087f3f1eee09628ee7b74489a99abe3b7c7f6d76dcea609035f594194ee3c370e91d6f23d5d397235b07478a61bf983617b999a39baf9b008f34b615ecc2a6bf1936546dedab2b6082066ebf3713f6ba3bfd13733964a8daca273fb2cc11f09658ed20de09095655eac231c5141553d5ff7cf1fb90b4af73e12635b190270db4612a0e3e728d2f3e9495beecb5f05b2d3b235dfb823e1c4dbd5b6944d05f10987a6eeaa1471307483fa0f089b1af4f162eed20567c71eae78f4a409442f05e8465fe796fce7b2ba6ff729d5688d04d4af0f6730836abc1516c3cbc60c29e9883ef270591e98588da2b164afa4540e7707bf162163b5656254136b02bf1343f75b03a28e57d1cdabd20d0a3b0043d80671235e8f617748d4c5e2e574376f6b4af3d4d9222b0f660b0fa24ec53d5532daf334b9da6e5da51b07249579346b987d19481ba501237d82b0da87bb8f69615478bc9faf40f26d190b5dd160ca75226842db370080c0e861a944f97fcaee673db1dff2\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 11283dbc06396d4c41d44796ffa79ef35040703def2dd15b591abca401e0929ea0eed828b8c495e63c13ea6eb39b646c91a57368d93f6d3546e875b573d05d538fe9bc1cf568488aa150913ac5d0434989e7bdcd86363ea056d7d95f41d8de4926861c9252b345de78986fdcf62940fc53badde36ac81618336e345cc27117533a2e6d92a31b8fdebd5d3d439f09f868d4a0dbc0946516bd833806f722698b1d6b3e7357605d2d1754f4b88371c84fc45ac9dbaa83c1f490f1c5a86ea4154665adbf9dae438984f1c7b2357d6dc51bb7da5f4962f7bdb11f3cd1eb502dae227c61123d9d62fe8ee90346601a0cdff03743576fabb6e93ffb5882d40e4acd41d8dd40819021432d035ad981de1e816a528e31c6f0670d59cee80c0f51687c27e600bddff43f4e15577745d34685c636ebf17c1917c02716bab26596800a43b80e6a46bfde3346945baf12283ac9c03fd0a8b693ad8da48576169132b730f608ed60390efc1af09e6759d9bac49a9b5baa262f071f21f701ff0cebb032b2a755c6ab5495e96c5bd28c8c3956b93eb353eea6fc832cb6d9a3da3b19abb6bdfdf8430de973dfa02006c110a8bacd705b2cf0293783728fcef3faf3bf691975ace772ad4f39c6372d8fee7760bc8867e6b2cecf2e80667ad52ff1d51dc8ef361204e66c1737b1a2ed42883b01ac665177dedc96d436b8780a14bd69b1398c2c27bbc6\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = df34b1f8f45bf7f30425d81e8bf759ab02605330d5ca334ed2358b7098320c8cd2cb393b8fcdcf3e34b5979e8da7a39b9319f75d8ccb7fca4e67e92a8d19d4597bcceff395a9f27b9b97074e45ba7f041d464e543017a608b6abcefb4d4573eb864278dfcefa71d609ba6f806c95172bb7262f6f3fe586d819b6d6474909b8c03866c43d4fc06a028f30d574aba042cfd53f33a6c5f17ceb642018d4f65f429c4f1993c43c052a796297a5374a77485de537a3d3f94a84913367a90a1b25e9918aae8a1af92fcc6a166e90fba579934b04cc3f77b9f00a85f7c9ec0bfdce253a73599107567e73dd0f7eaceefa468f6444be09e8f598b197de5d81db3c54ed18bf6378145b31842473389c9c818ac5732af3085f44f2d273bcc4e9fe39dac188658f94f02af5f80a19233b5f210fea84d6864709ffd726d9e6d75ce653b2b2c628a355d0abede74a39a2fffcc9738a37bab90d4fd0a5b625e695fc36d289385e2125b55a4d3776eb42f38c18e9eb2231ddcdcca400b366d712aa140a1d9ca6af3744fab95cef9079c9b7b9abe8b93d64b0ad7da07ac6198a497fc4f827e300a98d6b572c89e397b3fc6c443168b23feda2986915d27fc857924cc5ae39ff3ddd357178cc1fe4e57ddc1bbf1548912a0d64e970ee4169b04e24c21fdd8b9046a6c07fdcf191d16691aa091d8547717c40374de170686076275d9231e90743604d\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 27c4e3f4b1afadcf0fcf455f2973f0c261934f3e4876020d91106a1b2909e5e7765ae76909f33a3fb40788b50330ec983764d2692d09f63cfb0fb109a32c799cad3c1f6cef40959a47eb988c364c85a70f6debc4adbfc9cf5e322b4466a6cf3272f897f072626c61e9d80b5e8f605c71db0a5df837949b023d9cd084b74f09a047c97822f2d9ca140b4a1f7636d49e0ab72d3e06935d67baaeba7eaa7e2c04216020ce84b3b8f424a46f615f1547051af2d9c0eb37a5967b77bd3455f32b029c1377bdb8bc24b9715a4ed04901d117ac3c2e243ad01074eff35c72f23b158b04e0eb5143417e611a5933f085161e9f99eace1c06eb0a12f0aa0e18222c3f9faa53651b587d48c1b455ee41b57b6fb592744b331c0b61962fe2f8e011dc891486bc1f93cab761d48b28635585217ed652cc22b7edd433226a62685405e086df7cba2942b728ee21cd3defa180865fc1da04edaafd86546f84e4569f763ccd70f560f838dcad56868967da89a6271d8e5daecc9b81d2848f8da7223628d016f6a8c8b7debc6fc7f457f31fd8d7e8dc81a9aa826b15569e9e28f9b2d807288f18f08f24ecab89e5d829c64a7a2f304a4b44e1e84966934b86e6d81b2489efa05a72fc8706460b305406e7340130132a7e16d5830dea332c78b8d8da73557052b22e59389a17f9ba3677a78d685ed435e96eed10c073f450a0c720ad3375946e19d3\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = bade6f04bccb08b16c76f8905a7b8487705e1c1298d0b9b3883014015457e65638e4ac31d5c2c88895c3435a5add7e2f107551f035fc823f1f9492e7f62629357cf03d899c90f09ce6f055a703c0a65dcbab879058975d9cf7c9036e1558278a085c9acd7a0e37ddf5f2395d51cc6312205717b981806add1ca8da8bfa3ab963245f534711b1a5223013270427a7f4282c42008a1d68280a2a9dcc2b61742013aeb6bba22406deb2b01894e4117e90093f2456bb5909320d579b2bcd35b48e5256d91f6c2f45eb0ec97d5238b427bb1995c5d396f1c1f6fcc5b51d80ed61961b1e031d4677415e9a1f7c3b11864426d967f7ffe89d58d6de00cea2933dd2efd018d7f42c8325921c09bb4c7639379cbb22d82ccd6e8b6ce8f309d7ac3b4ce836b7a3c2e10a22235b4b6af855069bfc2be8c509a05c501cbdd5bb76781f6a21bbe54124dd45e9419a7f6ecca95559340b111d7879b55b20a9b66ccb0efb0ac280a0af5a5087548b6dd57513d475f99d2309e1d813303b0317f509b270e016cf598eda54018c04dd9b5931c66ed751a38096bb7d0d37989a9c329a3e614c1feb2a45ed99c2cd32258351b98a3283a489c06bb5a7658dc09d7d50c9eb9a9779f43472c46a48071aad0c93bc08fbc422a4b2130f31099a7a8b6aa53915c448c6e1062008a6b3db1396ed9721fea2232c29b77668f590ff91a6a9171b45fc498a80d0\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = e0fe1aaa2e1f3a9fad69dfc47b59fc4b7a62fe809d601b7e1898eb1d4757af2272064446583468db4c0579c2312ae2dbcb8f53e3e775e00b6c422f17aead765cfc7bac9bd9a1ac95ce174716631f1436f418f87d4a0c22a239ddfd6fca4100a7ff5dac5a0aca2d445bdf8a0e0367", + "612d8ca4b666bfd8ec11cc1a5974bc39cceb3023e26ed582089ff4c9e121104fe5e54a15013643eee10fdd063f7ec8a0617d69b880a50c4c53759b75bb7364e8505a630e0ec85855453f0669051d95c14636005f5884dfffedc042b68171b335ca8c1a0d9138bc48b3fbdc72b22a79f05acba1d1a95a4c7508cf2a0e7291575da7f0ed3bcdbf85ac0e5c9f717811a367045f13f6c46401184738d138e310b7b62180ed71d4df05181c6636374667d4c08a954845fe8fd7fb1cfc04eb673e5f76c9a15991986d3cbb0afee88124a705bbdc0875d5fd037eeeb16e84296da65db616fbf53ff57b0379be4902b26e8ad9f6d8e49a88987ba658673bf24bda358554842a6172b1656fed2dcb7d37ced7f25db9eb6f1e07ee6a313143c7acfcaf466034cbf7d2e6598dea6a4ddadb5ff6b3c595e9924df35942c53afb4894669de7af0a4d0ba2bb045f0969016596590a3233c13afe8af5a4f03e47a3e4b1310257ab6d42bb78527e7f36314d0bf37e6d35234ff8be9791694a4e018672678483859f4fe484718e324e1d753d90e95dbcf0273855\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = d2fc4f1a9c2d8ec2900a5f3fd171e869bd10a9e1be8b0ceae5581ad77b2e3ed42c0e1c1f64e2c813d0aa650cab443039fc9096b36ac2014d8ba3a4ca0f16f64c1b61b14b7d0247836228b3c4c9520666b6971e969096dd431d8467414d1afdcb9df197a8e1985693de6c8933049644dcbf2ad818600b16d77203648cd3be96393f8fbdc2cf885df2cbeefe27b8cb487eeaf75a2c05a18f0e8067c60dcbed330dd08c3e37708db2e2f0647de8f9370db07b4725b594aa23e4c5d991a99d5a889798e5974e783c87df5cc025b0e66d718c76b2977c7fb734b31628b102d280854046923cc31277e01a5567df6811ffedc36b5131c14d49ecb6b07bb10262dc24cc830ba47ff8037d95dd0db3e75b7c0bcace8012c12132889d5bfc68728ab7573fcfc7c0dca0a49f6e3603f911fb0c3865afe52a2e1f45ad880b8bd7d86dc549fc4c697462d0e4e017a307732351accd9f36b4e151554c6ffc300b0cc1a9ae9b517bcba3f2183fbc257fef21de1aac5d88c7cad1145bd20d09e12d757bd3c9f9666ff9f458ce7ea06272d898b8e8689105f699d2f63444ce1e10e901134b200f81424a3b01aec402632118fa103b36ba67a6a42cac9769db9f0013511a436d64ca2bb4f77db3c74ee45d1a745ca9b6080badbf6fe2c37fb8161405fbc7904a348ccd388afb23601099c59bc819231eae98c1c9a393780ea89a5381a65ec61ea3c6\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 89ddcabd561a4f806194b8946c8ee5763c45805019564cf69c69884f5139e7be9abb0a6c2bbf57f6ddb5dd4caca478bcbba0e47afa0d811a91a0948f96901fe6343c59769718c517f971c954d9b0a81026b6391839da3cf7deda8425454ca099f4f772de94306b75e92f97070a16d5cfff1446617ac6331de218c2bce80e4146ee109a4344bcf9e0f3a4b487954681d2f55a3a1f6fa6cc4a8cc535a62aa14f8cdb6649dc1323ed62871191bff0c29b2e17593a4ffcd3f453fde02cfa252926d800d4a5c76198f9d178bb5b0ea1142a89eafd52070b4a073667aa5c9bc2cd0b13ed22e3f5eebed02893828feb90db44d0fbd9cd0b7eeed1b46f465b131073b1a2f1e7fbbbcb3fb681b1d22acaeddc6783407dd349a593cba891f5caa2328e5812abe370a017436e25f28db1617bbc66cac26f5722f0b9d78ebf59aa416f41f44da46035ae02e2817ff53d4b9f53e34d81795e4d2fd1cbdf3993942938a323f2a8c05760d9c3eae60698a1a38852bcd8206d5a47c3bb62fe027ff0b699c33b031ebcf275dc31f90b780633db0aceafcf28b25e618c3b3993794f4dd2a6407295d80e9fefea100af06b00815662855a9d5b1bba952417f1787480b4e22dd3f9fbec04fd8b83e9ef6590f6d7387f3e991ab3b98cc88e9b3c625c78c806752a7cec21aa06334bacae39392d009f54e4f5d3a12b6e8a934506273c2059632bbd57dd17\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = afdb8b4cfb240b4ef8bc1b202c038ca85119be1c48ff7ae6039ff1a6d46e26286708ec8bfc3a9726304f944bd82b67201d7becce9a147441ba8eb9ceea369e004f702c29b59faeb1e5efc72d5ba3f989672b170cc1afdf77511a9a2178b6e14a008a2b347b5c8c47efe68c6b44d86c65b9dbd997bf42d143fcbcb90048c92860448e6ae8939add23fbe5ccae562a02df9f9681be016d2d90a96c77fb241c838b1f54526a1adcaff0a6fe50254c9b5c6b3dfd00906849ded5fb6ab06c22473f471288c745b591195568a5ca52f25f7893eb95b17a081763ce66e8490ddbb588fe23b8c9d339348df81b7699631fdb20756b8d915e7cfa3a20bb5a643c90a2dbbc97142a4ca091589a0222c459b8738efde499dfa10e729f863aa42b10a199f4395bf0d131c13891050147db51c8333fa6f2d021a263df37dd10e4b264df144657e9c8bf23175079ef4c9a24b561806d9304a0f342ae4ffa69925b629bf65948e53056ba8891def8b1b827f86a1da69945907bdb365b627bb47f3432616318164a751ee85691ef0a20fd7a3e61c1acc4c2d08bda5b9a23a7119b8b1933af56497d06af4627eb63ed4fa8cabacd70c42e9a2e638863de1138f332d1ddc8a24b4369d4605dacd4df96b1075235d10ddec93e13a20488ba9b649bea15d69a30c716f962119f31927bf4ad5741a739cbb794b68e4103bc05fe30877d5404976c5de0b9\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = e34288ff196d90eed5925c81a8a0127abfd0f0de550948f63be0f60896ed6ed7c474b544a62a96c0f82197e67a34bd53de8cbca4cbbc28b6d65593a154521ffe4331bc7f8459a4326413e838828c0709aa794e62f7518b028d811ab400ee7c875671992ab6553dab38e94a897be099ca7633e790ddd330b50325ae29d8b9f57c498156ba0b74c310e40dd10c1cf8d3ebd1dd40dddecebad7a3f2cb9551e7d384eac9d23bdff84726ea3e14d785994f3ebe7cc1c0cd336f95ccb8b0d6d8ad787ffc2ef008a1112b0315457c631df1641929675f2aa126f66dc88c5ae1b887e417619a1fb853cdc27182d35d1c2db526830540e2e96e9f16f15a0156d6ca4a418c911c2635338e366847b2bf0c48625f3b7c56ab5b19ddc5e1e1fa638a76f562b9d7d26bb4017895b84399317f110159f5710a00b3d9993b1a4d5fd3ab1d79b3aa75597e7ec07db221c84ed88ee9996f510c88ee0bcdc79e13dba8c503e1ae2bf2ea9c0fb7afd67eb2ec7d73823cba3e3bfa84d151b7720c235b13907e2dc5c2c90be719bfceb230448e7ac52b8e0da096182871e2485b96c90c56c9ec69ae4106803af433b50c787c24ad04836d959f9a624c1ef04de3b0f0261fd05720b462c3d6c946b11d337edffb2d44d806ed25f3a9038cb94bc5706e54a81a16fdea228be8356ec86305e7cae97200e8593b47caf69c81b673fc334f7bdcb637872340f2\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 4ff661f10890ed75355d79a70ed18965ceb4a7114154ff3ecde025523853d4efe1d0b80047b5017f4c929aed05d28bc71271ef2dad01142aa2d45a8b82fad9536034799519d51532ed4f1821490fefe3b4e8b305e1c852e0bb1a0231a969236e9abaec94bd62a4b9a7e2e4da50c43a6d284d5a6d596a8b7855a4ca8aef9a1f6b16386f29d161d2f5a7fca600da02fdae9d15f61b1336019e0f280065877f7ba130fd7fa4fa0e97d22ef3d36fba4595bb0f944a6c8da0c5c9be5359067c191ccd486f6475af452f808cffe772dca4726fee3e86bba959633ee16c507c06c35e8c8942a20c1fc6ca323f843414d7fc5022bb24271bed6843244dcea15f5374095d66b4b48fb2ef94684a82826461907705dffee887be660578cca4eb06a6aa53a73a3608bc4206e585b6003d1c67b9964c82611067930612f60a8432486cf11a0b210bf45561f0a97addbd2d6a83d7173c109bdec2ff97e94bf1333b5b09950cf53144ff8b7ae2dc0afe647234f47471655b4c8b0e95ae4ddaa5487c2edfcecc5bb604e2dce7ced405ace964f49d3e3bddd7a18d9d6196df422b6c31c475aa4a055855cadc2d76a644f747823b79f7a10814473ac020f5f776181aa8c202ff00333dbde525a8c312fa2f1b8b739ffc6093dd3f40d604f10c6aac5caab4bbacbcbbd171e44664a4506f6f877f0f043dc25a21ccf6a366974423942187a90b6e915c\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 1d2ea8aef61828d7421eb7a118de2a98a2cd0d629657d1a3ce68dd6d101347ada185feafb8b90ba2184d90c232636a25a450cda95a9fb0ac7d4aebecbed14f672a3acf8d9fc3f942ad993446bb6955c5dc821eba7a333970a00d8d50bf8b95ce31da018bd9ae5739acff8e06498247e6b3f2a86658f4b5aba6d2a4594b17429b160f6a57510b89eb0e9960aae2b41f516ad10d9caf4c0f2ba014d365620933aef5de42ac831ba096b7ae17ddf6c9ab72507302a8c32d132752c19b173df21efaba1c875548fd2e3f7400e410c7921db0929a1614de61725b26e84d2919d53ffee6579e99d4630b2fe6414f329f1998a771a85ee265a1686d5f89943a48bf817fbf0750255d4648f835e12ca37a990aaa8d676a8f085269a2943fc244477cbcda6c57226fab8de4ab60f6ee6f87aad20f675521624bce16d3f172190d86fbbb0d71ef72ea0f05b45baef86e5a482d613248e07fd2eb6eaf61d0def5e0fc3ac457d2e232a1eabf31908d22f1539002c115a7d9a5eac4aa63e3b1fd7bd2dae0abd001f7caa0c5b20bb45f269a7eb117621f82b508960f2a0cbbff2b52935b93f213a8cfdb1822989fa9605c8b828296e3d3a5ca31b27ad87f10d92c13e783e7e0c1edafa0904f3cbacd4e0841498653dbca0983a3b7d173a51f4de2cc23cda295a96efd310fd119cbcd163bf7bb66e9aea8116ade1a9348cfc703e51fd98eb1b0e1\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = d3290f4a3b1c0505d4c9b5152ef833339e71aaa0cd14bd0b2d03a521036f28e650619432759d127c2f20fda5abb7e88fbcb907892df94d67e6dd2d4a92a6a047e7e953596741cfd29b53f663527acec8d0504cc88c8e1f156e1ee45b51f98a4c8bbbc466af0722622140ee525aa03e11c3d62f4110eed8678b503a0cae1c65b89a4e97a1770aec47a0a6bac5ef72dc3377796c043c04ec25f697fdcce652e63fabaae912750342cd57231316539e28e99eae207fb457271f01ddf51790761c647cb8f7491105444f26b5cd2c1a03effc43689cd9b71a92965f250adcc1222ab43b0d3b1c1c3934247b50f96e847aaa0f0acb93124bc9bdc7beb4b9a3254df7a53eab2440228fc7c2c2dbdf3c629b7c8645d31ad4a0d229a5fc872230d35c058ad05b6d285eadb405f29913cc139b9e308de6360e07ac50811fc91edde0", + "a74a6b7f2ce95854401faf3eb8befc1e1cc55022ef6d347997787c30c302d82137a634a74d9318c34788233731bf071a2ea9babc4e44006401222ea35fb82a7bb4d53daa757b7429a992b88d817488a785506feafd638af45b66b52198f53f9d6ca41650bcce8bcb8139f246342b964552ab4672dffba1c9d1272ae2c2619a4b58eece51e1a00fdae1df59fc32528a7e77f6095792e84c62b00be673c1772023a8890fa8d6032d4c145e5a48854b78784583a191e851e4698454e2b047ee1723c2e721\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = a4fb0c8c9ac70f9ef42b996437e16e4b5c7d17b821a5b38b5b0c648cf67967193b09e2fcb3ecfd6a9cc8b758bbbdc105b69a1384ebeef13bcdecafa1a6bf90a45100ad0689e71664f4244f814c8996bba8e11ba864938c256dbfba387b946d6ee631accb6b3758cf7db7255916b0e58862aa9d8a193479dcd2f72402d2f77e5f9084c013eac518820295177d46e99b5407da65eef2785fab0391f294678dde09781a5047666c6a49312498d888fcba2c7e614222dbb0065703535993946cd86f13f98b36411a6cd02c9071a0d5a3d45a96b73f728e8158ee16525bd3efb0f3f99a622f77e07dd54a9cbf158d20084e8a426c5f55f2d34714ba0057dbe37992292236dde94bd9dfaa686ae06a4519a5760f8e7eaae57eef705b4f508321f759362340216b0f8d652212c7688f39b3559807054af2b318125214b30c22f5f0f1526bfeb14feb388c441611130ce8923115f199d111de1710a81c578ab551b59c1cacc7b642fae437ded45d04dfbd2a18a8d79ee2fd7a4056e74aa2d15fe9c2d1abaa6c16ad412b96b8026c662b3f23abd8b7f15469684cae9b6fa2c720f3a79ffec8df5790a57454b70580f70eeeb2f34267c33ba0d5d9ea23bb807ceac9dcc3e028409c938a558daf691b63b426026308d3d9083c8093e6e78c35a3e281eb0745520deb51b68d4b1952d69b426f4a0204571fe96439083b0c5d0059d7447a1821\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 58422b206a09e3565c35b4f267dfd0ce1adfdc43ec9a055794338ef4416126e8e19f2cc560e2181a0bb06123b67eb5f4064fab203e21b53b3c9c947951a8c847ef8b93e737e8af6ce491cc6bb9c551eb396190cebccce7d5e4a635317ee177a703c558d5747a67c44d11a6bb4975f7ea5638f6250bef9a54afc6cce0845644e12f0eef92cd5d6257eaf866154c23b29e40963d9377450942e730f613c8514d2907a5ba5923c2c0aa953f78fbf735b7f92d5803384deb562d108b12e37509538d95f98a8fc19b4d3ebeea086b6798c6bd10eae7b3c2dd49da6f20a9f4f5d2a10d12cf42b7b00b5e1abe973df0d87efba3fd9ab3e1e8679dd8bf9ff242fce530806190b48d2bb0fc45190894402213420b170fac5485eeebfafa1067211853f7b90b627e52e40b50b7a1ffcba5cf658bd77812170cc0ab620d3989f5da77474d5026fe48776bb3868baab780fb67ea8ee8c91d414a82904b37b59cde4b9f07e7099ad493cc32933e5c809a00fe5f7455b1e086681e7b15c3dd3fb8ad56fe2b3d78751231cc5b8a006b3ca2c6b3485a7974a85d80ef23824d25588ab7298a3425806620ed51ebdfb58e36c7b8bce12ce956734c6c4776b4c62ffad9083c59648b56efd64d9646763fd49d67302fcc6ea850c7f0a8c95c2e507a73f4818c8683261bb6c5f53b82aec1d969b396d93517113482902903adc8751fac1b6f788ab21f68\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 42efdb22fe5240c1d2865936d0f9c6d1bf192c9f8cf4c4784876af753b45bb619b2417ca65d9cb24d1d1302c7ed5262c8b78baa6e167e96a4d612fec50bb7fb3a25dd1007ca0da4c83451515462594f38a1092a480a0e5a267ad312a556bff53f2fe02f9b011a97c48c8748d57340bc77ba12a1d6ac1f63a1751b945c7c1ca5521d6e66ac524ac6d5d8a8e02a7688384d39598034c76a1571a65f6f2246aa24773a032353ccfc764515fe1f2466ff95b2d49889b511f6518fcdd83843777968b2fc8317ae488daf8c66153da7339774180444f9498646f9533e7b7dedb87037891941001e92490cef687949087f1de9f96e0f5fc53aba7b4054aeb58c0b53e3357e1a201dc588470cb93b8ec631ea3590c1edd06de087725e9d11d474a730c3558303f9b3f333527acdc77db186883e821db8ee8517535c5bd17b20ba5025b92996237c7eb57d15e87c8bfd5f705646b3f9138f24d85a955a78d757939454d4715309d31c267e4f2914d2f4ea22a0b8c3acedc88812d4341fe0af38a84d3dbccd5b46326f8dd05d54d310449165bcb33e701600f5b65a543c96dc50e4035a5ebc11391db62ffe56d8359f64544edfe08f7426605d5d2c13f77c09330c6a400daf9aa9f406c3a4d25f589b37ca298a2bd5a53320ede5ce4af3d66737173840e875705d77a6835d0ae1896a696683cdfc2d57a07227bcf56d52faa9c7c7f3e3e7a\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 6f7a76a5951ecbab674440063d1e84141cb042487a12d45d262fd84731b2c17be86ff70cb498838d27ac9a9578ce66eeed034afc5f7701bdc94d7ae2232add9959dd810ad38ef28b49b5b86ccc48f4635c05a5f79a0915efed17cabee46c7bb4f01a73995e076f1b603005ac8337c616e933ff925db88ac61a674dca81c4adbc9c5c7b998cc2d517243da348212cd335c63b789777b1c10a3b0c37004ef7020d0738dfa6c16f4f8d8653f90d166468ca5b9afccc19a62e53b9c8a8e5aacec116996c253b801bdafd66894850d89e0af4a82af11aa8a2fbfa9ecefd8e91265eb3d10b745a018b7bbe7598682dd48aa9221d135c2b8151e611e09deeb145d600583f7158ec5f5cb79d626286b3e9c371339d52eec29a4ab31685f4363d6b14da452c0e1c07744dc831982792f417536186d8aa200f916ab14a462296f78461b104af201499682ef3c2e9500de916d18ec7bc6d4405a0fa54614e637e8847de309bead8750601876b2e0fb0fb86b59aa2176aa07b46e5d4e9c06faf6fc8aea873ce81e78d7dba87e6064e61c2ed382e940fa6804661f34dea0030d518c9b927da7043d13e1ca5c5d2e398c5c11c91930d262ed604a3f43f192e447beef0c6a3ce0c484704ae2cc36f16c88da090f856b802e93ac47b9d5c8a1ad6dba286ec1e2dcdfc8db758f0690d40a02cc02b552f4c9fc337943a2b32f75932a6b88797faebad\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 90500ce4cddabd94c38fc4428e7a4d024ff698e05bd46c654e0f8e0d56c1816e9842124e30f8dc4307c67956759339248ffab63bc8a89b440d071d8dd513cf144fd8bdfbd9329a895945acca6515d2775458690baa1f91636b29057f322654c15d8d777e6e065892d2e2880b23ba740f3206b04f2be0ded63bd9797f314f6dcd127bd39322f08c12099f7bb6553f71696101244f34ad21d246e125c8e9581099888cb5b71becf9813e500cf54d6d07db780695d92cce8353bb4e8d78dd46512450508ec7da0192e8967675b572960e9bbcacea5958d56db1c8b3ac3ce5dc36da6e200c388194a51dc7f6edd86ceb9c4907d3150f9392298ff2e4058077ec9e61e13ebb45abf8eb51137bca51a8193e5e153894aa3beb7f6b5846da01acf0936858784598750b1c0494625bb6aff4af8b08e4198378677eb230282ccf57cf3dc82315107191fcd19b695bc3b7289b3c2f03d64fdcf62f06aa2eebeb09583659d3ee473f61381809c9ca3c268fc75ace4d69675fe50db2b8381935bda99b69f777fb9b26feee35aedd39725ea93ae945a9403478cb708a4054e3efd4e57eae8122b4b7632e0947452d5f417f08ded0ba479be8e05389b37d0b8e6875b0d4820cb5ea874dd7fe872c2e031ca2717f04bd592e7b8c2edd54b284cf8a713f13a46c4b7a501e1545ecdedfaab179d08aa6af51352f1510a61458b71dd18f46dd255140\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 990e1338bb87618092594f64a8b924b5891fc8300b3544c6a35e56f9d526576ba80ad84479ee270364d7a56ce6d1ad3babe976c85866971ea1e4a579e178c457a2862c62d48d38fd6e019895b44a9945ec481291e1a8b4da0e14ac656db4932ad54f31493b7888881a70b263b1494fb842b3d7b28b2782c95902e3dc41979cab7019331437b4d1bb30fbc1e1d36bf282fbe7d3f63804ab61ba14f3d4249401694ea5263334010d22ac8466d4748916e5463a3e3ea330dee97363bbef5146f2f1b0a29767fa674ce724744ff67bfb583699dbecc3c12795b3d5b4e39d6318d4efd0610b1bf9cddc06feb587b7c67978968558173ab5e96c8518b694cec5806c21446b9acd975cde187dd30242afc3eaed7b841749b1df8372c3d5701b6bf9ae0d81d8cbf19a45089fb71843a6b8e933482fc862c80b5eb3193ecfff870f9fb58f5fd5d2463691193dd71b13553adbc54486c24557299b48436a75068baa9220d9537a52dcc20429f7356f1daac52a6077760aedfd82093996793cd506b3a08d50ca7e9972da658dfff8df88e635b6fd8ad576096ad274ce36313f662dd46b52a2d5e822eaded67fa51f74c4bc7ae66ea44dbc3c6f3b5dde792cc0176d780e34efd7174ab64a3249e530f5f75b0e3723deca0b1447d0256a2d3638b4b0d0f26afc1887c4dbbd73cff676e7bc67fb114fbbf791e9483a27cdbb6f24177ebe7d8d08\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 7e6e6f4d815794ba19f8a3d48d051c33d2a46e34d4239ebec18df040695d1712bf978993a142d7ef283f020d75dfc7ec1bf3576f1af6d844b091a2cf9533f3cbe0b408c079327b67bbcc161689cd3754108378c4d88995245069df43ce3328c91b0e7ef50454ce344147761e600d3f4ea33f18da72d0c4f5c2cf6f16d4935fbccbf57369f81d057341eb38023bc14a72f7b6284bd68281a1f43a3e10c00dfa09215e12cb5f091884bbb1c09dcc05f400a41f3a38090716ac1166374d42ca4b90cebfe78e886128b58a3d123d4a31102c0e9e7b3219201fed4fd1a690bcefe17aa37f534ea37391595da40e381f58a4323666d64691d4506721568e96a82376bf7b058e224d8dc977065895e1adecc31e68c469ec0199377fc59e3c9f65b8702fd7da1bc6f6e4840b902eee1fe4b77b847b407402c68295274b748b3ff93c505127a64ca61ef8a2c9e2615b60d559d1d03e06bec92bd54f671f115b2f17f81aa68b55535f3624d3ca940939578f54cd9e570db55e07c4a192d5086c534c4b499ca7d5ab240ddc1c6ce63364f39d2cb9e6489f2fce8941a20556da30f419ce039920bb266a38ad00fe8cecbdfe430066f9656b5a85d8984e9950e78f5cd1918adcc0c8dca978616e17734ec911985e08223a6175492d1aa8fe98db769fdd0c2ea375e085889a7c366ca471717f676ab2873c0f31bf9e9ae9a820f5985f37295259\n\n# tcId = 212\n# truncated digest\nmsg", + " = 313233343030\nresult = invalid\nsig = 79e0a3e4c04ca817128b73f11c4286e6c39a25b6a979deea45f0ee0a6cc0b5b9bc67b206da977f628c8db3b242b451fc0faa8ba3e522f0ec09776801cd78129230e121d2e2c9d302a1ffc5489052eae15ba9152738d1e0fae879a324bde029546082da97f88f67bc40e3431425b9599d6d097c452059fac41839a6e8194e0e539a5ac1a94af4708fe29dee4df1e21f0085016aec68f3c4fcbf7e64b7820885bef35ed4cd6b5d8775d691d2553b61afb596eee499666b7dbcd043d928ccd8d0be5754c73bbf36226017bb62b27cdf64bcb900ded9452eee442fc0341211f58cf15fb6164cfbd0a187c3ac90c05c4620394ef3e4b93841191a299c763e24f5695a230d1c03b1edff006d774cf400d2ec2fa2d4c397a5aeed9394699553c7102839267ae8379a3d7311d8d7bcc2547773e8acbb5a7fa2a9d2724597304f865bd8ff38e975afead121e2456f669b54a442fd6312aaa3c9bf1320eaac7a9fddd82abf70c2c0d252bf9d74432f9595e9d19ceb1b89a416c1c10bc62e031215f579fd5049f6e2ef5c34717f192c28f34aed00bfd8314adad692bcf2e5af5e68bbf31ed2923949df8c28bd77be6f4ecc00f5c1ce725da9fca12b884ff5a8576db58b174fbb11822202a8b015dc6d1b3ccdd5d306b64dcf4e4df138e44e8ddb264326fa35e969dad71eae521697a1ee02b101ccf76e794eb252acc5472ea00d8366d4e2ad\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 388f02de647e67bc729a241dca57c75fc55d876559d697587b302bddef18222d1d0f53a9c5f6d9459d457c2f8b22db872078fa3ee73407be9be6ec15785f9721400d414fbe908aced1af9453092e241a41d9506944ee4c7f0ba79ca3d05195408cbed131a6cf4ee28167959ad35cffcaef2b88903213a7a9f7270278cfecc9c61077517e3b7c9fb72bee572bea2817e8c0a774040b5eb508bfb280e3bbc878ecaf8cacb91fbec22d130a1a123b8dd6451c3744de779dddfc7516e483fc01554f16ada990016ed6e4ee81470688b0d91b36199a8e7e0b8aa3f3e12161f53ca859b2accf0667a1a306bc10cf9e66e5562410c183c5322b1024f0eac7cfa4a5e633ff99412d769d52a0dc2c585b7b6a5706c7351b7d04b26d7b9061d4455a97f89b0824023ceabfde9837d743a06a36ec974ed0c1a626fca20c95e5dd1e1a3a59e15632bc6b556c8394ccf4733c85a9b9008c8dcef89693ca34f8cd32847816eb75f303c96b627ecc8801c3a25b612983f0d8b098c0833316b427f5dfd66834afbd9222110c31e81c61eb2eaacfa39b5082d2207b547eccc25c03a825648cde875a09a03d2205080b4352c5cd6b47c32a5257f9b77b6b4d25b606f87e353ca096ea5b63fb0ae5e51e0ade201ac4452d3cc457a49be9aac9068e584ca9f056fd5908aba626b5fb12fad165fdb1687a358a010adf42020d6aa17152676a11a6a060df\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 365c5a432cd3eec15aa93df76917c577a947c5442ffa98373c70f19199dea96ffd8faae8233f46963ca70052348123d394796f596102506e4e09e6717493aeb257d9dda41316afc0499678ad11df91104afffc1e20beefd94f0d57500fac2dd7b71b3ca0366f3187452f3c202bd4441862ea4ff715c12af53b68f01001e5054ef851aceef138b094461abb7796a5dc84bf53f7c4e7006effbd9ff91e1edc498e867e754854c59213c0116a8dde9ea694210731eb366c53729cb2b6a9d9038b153ba2879b0de5b5c9088b79a84a9552f3f6f2021213010dc915b041713eb9350f7a1858e338fee7063cee43aa0f195fc70639479b5fa9e6539e69033c8d3f12acd78eff73c3ac110025f6f7c7dce6d472a240f5e6aea2beec9b7d8bc413e27df4a0cc5be5e73e887ac265fb258ddf5c94ec90c0a4909c73a58bfd4beebcfd9f23602ee10f78a8a8b395aa17ccff5e737a0de2a061394355b1bc5e3c688ed06ba65e8b57967a429a2c352a2437a448fdbf8fe52ec1da0934b8eaa2b7c230e507341efa2625bc4e015c21a7f9aa4e050b26d3aac6e474ac7f2dcd709984643700a0521b0d840cf93c29a276c12e6ff32978d92adbf36690d2fe8bcc9e12a42f42c26119f1f432a7304b1350c3d584a04b14cc6f31e4566f72786ec1e24d5ae1fcb8b66ed7d8e28619a02cbb8f217b1d8a3ab2938aa0b92e5b3cd8d3d0fbfb77f5c5\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 64d797c9a480a0af29bc1d0fab877feb031e12d211621d1780f0e6c7d1e121fff78490dacb450c84ca886124336160b381c49e2985f90148b86015e32adb5d090f3a5b09e3cc46fddeb0905f92c3efb94e2ee887d160008d5a6221a637411ffecd725df8e92baaa8249f07c452439750c40b0afb88654585bd287bafe4a61de4509721eb4bd71d992f62d1f49ef96695c155055138fef906cf2846a2abf8c51d70a333206bd7a19ec8b0c9ea182a7b4d76c33c21196aa72d158a0ca7fb3dd44a39e4191fa47d061e2fe283dbb98dbb0914859a73d5fc199c297080f71a1c91547730b219a365646b5fdbbc0b397ed2b4eeb3055ea7ac38fa2e27ac236ef055965456bc2ea396acc1ea2802e367ed1b465d4706ff7e1ed810620247378abcf6545cfb3793a695a0abaf924333b291a6ba8e1714db4986a5b485f7a0618b731b9ad4b03b3d07ea3f8d7be90114f9d66211ff8b30febb2def245e6a561108264c237f8fc8c35e52b20953b9c49e620146beab9c3912f9a012cc5d421ef8ba5fdbbec3a142098ce9861c6750498cf7ad05d9d5e5cb557a2bc386960274d9d0bd091478bbe20c086d3321cf44c8f8466755dcece0078a0a5ec83d206d0c3f70744f234bbfe0130c3f6bb455f175a038db19ed336306ba77d1c4646a578d229fc94ad2dbabdaf773c49452bfa06ad01b8fc8aa6b63a4d4d8144c3270018bbc122f87c2\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 26864e54d84f29b53367ac7073df84ce5d885c7b67320e09f3bd3a8468de72f8ee21253f1157e74680190a14c895897535e04d8861a7460039970e10bd1f1c7f4690a2b7e2422f33c4eb2c18fbefaf72a85b552a26dac27bcf5e66aa97a4763a1a32a8681b2627409c8a71c4a6e35b5d845e35a3ef67b976ef02940fe0a4e479535a0b6239e4d1eec727e4a214cc7bd7f3029b3c36aca191ce5bec40f0927cf16a38542a46453764ba94ecf0651946978df3396f6bf12dec23c3f33c78376df770842f28aff8d752f25308c2ecc74e588bf16cef324cc0f9aa156b0f52c93b1590056f3f5e01248c589f55e415ec387bdee72f96790b1cdf01f07a48f57f058d1eae9730dfffe05eefc8882952f88a4a193e76ea79c03a32941e051f750c49b39e5f42083664f8e56a1a09854ec7f11931f9b59b880dd19ec698e4fd299b155427e209614bad115f277812b1dfcbe81375342d8336096012ff6d5b819c0a3d3592ff31994c2e6734c11fe3aa9767f2e07ca61e5fcc1b38fb0284bcccb80eb4763aaaea78ae33483d0aa73e5109182913347ede34ecea4cd1571efba8086cf7a4532a85c872e27f39375f736aed8cd56348aef209544efb5c433b013b912a71e25e832bf7d8f657b8885062dfbdf092085e34eba9b60cd4523a118405985e85370ba59735ca3c8805616158eee9b2431fb135e061d2c9b7af6f1a1e100a77da79\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 05efbba03b90bda7ba280c6aa2bc8af655c884de2401c9ff9dd59e0d82c8502dca3d90879694692ea2b3e77c6dd3fb0e1f180777b237e462bae0a8b35cc21497c36818a1dc89dfa64bca89cb07babc10ddb98538aee10a4e59b4040c366c8413326e79bc015ca2ebe0a53ee6a4c49f5d9a87bac550e4b6a8173fb49188aeefd28457b594420cf2d77bbc044f6f4f6a7d7ba52d657f5dc6b631ad914bb05bcbf2901293e5eb5a17a88dad2326b508624b698b31d1fa08d00a001db8cba4a9f42bebb0eaba07e87235a883bc719513aa217a36ee016832b12cc4ca0d628598212d5da416af6342855da7d77ba153e5435ed7ea5d04b2459d68c721adeba8c071e979bf89c04a3c8219d67eb514a79b3a2f6926650c55e724b62f800b4f9060110479442e4f8b82ead56330e2374cde8b335552dcfdc3d0f940186192fa9fa6daa8156b1e55005896fe74a3b7164520823e7b7f21611421c281242b37da0ded476903f4b44be8ea35b594a2d97cb0c98a7d2a50123be606c3e3c11b4984c5a55ed01b1848fc54b83f681ceec448dbc4d35d15c389283b26de66c713f05a0d31993ad3e6e1b3aaff06b6f046ab075d93a8ca75c3e5558f8f2a445cf10d5eb813bd6f2754c502c93e81b904d845fb55c9e0810ca7259a012840cb0c85056b0a7e141e8d3a7fa5849da50e157c46164c9c02ffc099f42cffb71368f0ac3dac77b2ceb6\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 182a3c3009c88b744220bb4740f2e7a3fbaff9f691ad27dd572ef3678c908fc22897accadbd6900c8b754b47a5f680784303978971fd9ccc90364a19a13e2b681c980bd71be1b45280d57febc33da4d1cb6201bdb2f7efb61b2c48dee4b395738e6814fb228d41203a6cb99c5b6affd6e11a0327fb0a920db90319b0b8578399ed7461f0575acd25157153bf483793f047d02cc02466201fbf6383478b05e61c49683bdc610ad3b0e77e95d9adc991e7214f26db5e685d0ca7ccdd3ea77c5069085d421633c1d7b894c8253da0cf5905bb16e412ff92c5dd91bf0a88e9ebfd34cb65b2f0347e4f2148741e8f660c39e3a156700548a8f5e847903011af1c1821fc5b4139bf306449d77f0acb5a8703687063a16bbed3fde1c5ea05bb8c7ccf9201f44634fcf08af88540a005f590eb5f91421a14d96431be124655dc3dc11bd7dc9922c35699c8b5c9244bd3286dc2514df3b034c973db50a4289e49eb179b7424ecaff6c3ddb7c3f7038e63474a270adde2d5a347e6138dd9f1c5deb7b5bd3a0c5a3720d960314c6f6e47b1508c38fbabb63466e0029157c34f3b67517e9044b5c0c4473c0b88a845e314a4b0193e0057d460384c62cfbd7ec5ba725114635baf28fd44f35ab0f9023d59019c2bd3bf48a9d8b223931e1587057633749590c19c8e96175c8384c3a525d35575429d9b4e89d01585ea15caea456a6d947964df\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 4c620417c3aad58d966f762754b64e22c3e37d9d504f4b96edd44944120918782e604c7bc62db1c5f69ff862e51ba876f562de42b75376249286020a14120fb5a9c6223063f992eee6badb230bb2f0e3ad8a9a59dc7247e211f6aa97515050d5ccb8142f2501b9440b9a782cd8e9d392bb584a5a27ecda09f2ef1dc3ebb6e01cc433cb59f788ff823abed3845393812c846167229d92934e0f74d1471ce270f5286106b25422a358715a7b558fc791c26e803cfce57116362634b511cebff74468f2bd30532f6cb78a355f454b6f3", + "a23e208150850fa5f6f487da771fb261d84f2c7ef0f669f9338e18d92797d3dbd8aff0f7d5a8f96c3e46e3d7744b10e9d3eccf93a74ed5b21bc1c1c7e866c6ac2b5b3daf764a4bf3bd4e62e60af84b2a47c6ec2b2b8d7ad2e1efb8dd94eb986aa2ebc26df9c45c845e5c098012958a7f51183aaf3462088f2d626db468e1a02a3e0a0eb2d6e0c4dbe8f7828a2391f0ef7872e2eeb653c98670bd0d9334b115df7b32896cec3a7fbb5331942951fd95d4d1a4bd2946d73e42bf59f2c6b847876761ade9fa866ca3c494b805d6618c4e7815129465f9b91dc5cc81d27690728f48058cc7786bbf7fc11855b1a0c0b169bc7eaf023e2ad9393da18d543829cb41aa7f5d693e665576d1915b5fc4c78c7ca35d4346c57f018ac85d8ec58c8637ac7189a83540d32706a2df8f0e9b5a9e64e36ef\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 91417ceb9001aa48641c92d1eeb3df7459f91eb93e379f3eadcb1b33164c02f619cf5d626d9cc594701a87d5c3d51f8bce6f00da86a07bcd1853984def2ac42fe273c3ad4d63c50064c532c9cdbdb1cd507035be54f5e0e34406676d1f7d9a5ec8d11abe9552ddde103e31a2fa23d8f9009372748b9d485bc77e17bfd70389d3c74231b3650ec6fe74acc8be6651e019af2f299b6e2d8183cf9ce2012d1a722e3aa91f9b8a9bcc05ec52537923c791bd43b2c7ef34567209a54d200adcbc61fc4d32498abc58add9b75842f5ef244117a658159351b44b29b8b57854e5e4052228dfaadb925ad3d33cd1559ac1134675369c17748744728b71d823f8d55fd8f57c4617e22a942622deb926e40ae90699d98d754941b34d2771680e51278314b382aa496abd01d2438e7cd047280be29600df056e23cc2e2667cdeff32464a8a834881180847b28d949bda9f9d7df75ff4365e009f114d5bf46b2f7f67df85d00068f347f201cf86821b9becd752c4ff0ef24ab3725c173eee2d9971bc5fb84559f9731d9f10ae84ae950e20d52ddf3338818b2ddd8c687e051ea8d21c935d58debde2e7325796756ca4c83a7271ed91b14040646cf7e6fc01174874bb1144f8506b5bb464ef71cf748de2c9069409836d9458e8f0e8105e19ec4a93d63782057de994f337850cd605e07b022a73d3e2e1487eedc35b2abc547f1c099ae0db128\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 86ebb86cc898d04b302d9dad510e9fc5e0018d685eb334c9fab116ae9187b9593b5e2b9690c9f32cb8219bbfc3317a9c2906a811415c7ff339531b554031248d668e29ce59e4f641cb1bfdc36bf12be43e86dc91ef095b18e8f60d671b20f06f1b0021e4e6e723abcd55ed4ddef563f837d8da6af8d078bf22492d4b00b0a4ebee2dcaddc918c585dedabfc69a9a98d553056e37f2888f2357d7e1292d4513db3cf8090af30b2c22057ffceefe98b9437f2ec751f8003f012aa4647b34bf230ba7e8128dd5b5628defc43a40d9107e4f36a4fdbe319d6dd210f0fc8c608db79956537deace1483ff2987327839fede77b1aca4ae0bdee7376e01df2f7ec6ee4735e9e573606dcf46038226273184b8dd1752d3c7fa989c32000fab98127ece022df538de31c65ed5b59d94bfaf1313618714c7d92c08137a35b3724dae445a088d209920a5867dce2e67338daf329d9516bc7fbc0a883fa96a9886a2d0c5a4671a1189013e07abd5dcd114929e5c3e7aa42d151696a467f58e4da1ae7ed623fa311eb16f67c3fac14bc9431f66146b3d015caf46205f2e70fe5d922c18be1f655e43a6f660752e388481ff2f8099c077ab7f816ea7dfe18f9fe2056af94a5dafc0565286e6fc2a7fde0d0beab06781c00b2253a30eba3407e2b6469aa3ea896e70780cfa00afaf73f441e1b726c1cc5be9fc69c0e62759893379c39f81be64e6\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 12053524fc1eabdd9eb1f39912999cb88339b12f53eb2817e50acaaf6ec0ba9b28a554e4037fdfdfafb6533fdff27be0e74dbbd53e95b66746ce22fd5c155d4f7f6898b3d82b3a917c300fa95a3471819be51199fde252ec77c4747d7feae66108197f7fefb8f5a2a78bb9f6adaf927839ef696cb5d5b0524cd3482313827821d56537a1af7c72ba4b68463d033b5af9c4aa9dbc7c69008a19793e60053259385947ec3672780704a772ac4b2481ea5252f5229d8aac50143c7049d2ae9e90a0205f1da466fb8d3fce4111bef81e856b8b362aa98826142f98b5d08fd36bda2b3d2b79f277beb942a6f28da26db50910646bbc78d06a0db015a8371bc75d29a75bdf91bf29adc2aa6e0f255093ab1e27ba31a9659fa7b4f5fd6d997f23150e3eca7e0abed2faa0d9069b37a95f4803fbd76dd3f4e4a657b8d7fa8e1cfc1c0f1734baf1559f49173da13b7783fdd0df41f9e73bd19bd6a93f3a43291faa740e95f7452c53c6ed05b4c1d25729842d461e2907aacd6a5e2aa84d9226d809d4b3bae8f8729fa08bbc93e10072d7920515479baf691a34b2ba7f71ec6d3b3a1630b4de74865b9c7ad4f1c3d3d73205caa67b18149b87f913701fe9c6fb9644bfc9efbe715223f3d0f75f5fbe1b6988c1d623cd4c3e2afa419cc950dd48b09dc8a4048163f899165b990eea24e9b1b43b946f5800c614e37c813aa9490e3d74fbaa35\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 3d5a97db9a79e12e3752b1da642f25aed193d95c9a347e044eb824850cd4ec2357e5e45dc7437ce328d225d9b90893d170275ddf4f4045e57edbcc596883fe71587b65e9012ec7148f74f7219eaf6ed8d2b3abe6967e3fb1b8a588cf95bbbfb89497c65210b34db653258a34b04c48365f7485f686e7c3950e5aecd41786e18cd316ce73609c4a07da70c022798836aab39f562d39967586554d2a53636b8eac532496b883da2cabc8b34b796a3606e56f7cab66476c76112d7c96af7e2b72fd400b33010edcd4ad7635b6cdcb0c5aecbdef9deac2df1fb416750b06be3d6f3bb88ffc331b19540cb101cd6b27cafe8482b71b8104629d5f8d2f513730ca5d0f01e9880dd8654c65fa79ca007784daed25f7e51bdadabf64cde053a7549c4c7f64d3c0c9fef50a1eb401ba72d33accc12e4a3c99c8b0ef8a606597e90edb36166fa38eed51f89990c8b52dca73caf77bfacb75d05ea52286ec27f0010f4834d21747a833611e3fc5ba9274e103c8acc36c6eb41ba9cba83c493c4503ed81d4c65b00e8a0188508fa35141d6594da2b2c64dbab5c16a9b5c06d16e030a11ddd958a1fd9348ea4bc4389e22cd82904a195ac04402aba46e03a8cc94eb16b9622313a6a258f6f35ef751fa44ce8dc2961c94a525800fe6bfcbdc1a7bba17b3ebce54b57c440913b8ac367b3c3f78ad066ef2da86bb75958340cfa1b5d38b56ab89b\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 58656a4fcf2a67dc8141c00a0a311627be548f804f5223ddbdb223fe213b111b0e67d4b128225e114d836bed2addcdd45938559fb8c03a884c6cfa2a85f162f0dcc0242e51a917dafcf76248d0c4c31ebbdfdb89e856c189ab030c74cd984c59e5c786abbf0d9a3c3fc638d8dcaa3438dd996582aa54e8dc52ab0b4bb5229734b7282038ac089dbddaedb1022aa27c7d3aed4facaad1ac2bdeb5ecf952cd7aa7fff61e13c5041ddc8ea0516eddabeea1ac5353372976e80b81dcb4769f07bac84e878bcb71f42c8a414f4e1a07bdd0c1f042807cf521dd1bc8aba6055e89c76c4dec3e41845d556b3d0b9194a39441ea70ced40f4896fbcd057358e04e2179ea844414049c577cc80bc6395afdc4ff7634c31a14f161ad32027a03aabf0d8d3ca08a882df363bb4cabef6cf9c76e213114eb242ea331d05ba14a49edea73ab3137ab3449c94e3754adab289949c4d346978ebb2af046c8ad7a9aa87be5def8617553a1d062d0ff21beb3c51305911dec33f0d4ece2f985dfe8dca9b98163d4f3d2c4336650639374eb1e7480d4b30f955be3d1a90cf82aa5fefede08be815e230f779fc754b45a5e64fc0b1d07665cc6fa4b5c83181745f0efc97f1f0554d88e4acdc605e065ca1733eb296038667130a0fb424bf13349897cf3de9d16314ca1e43e0f641ad5059e86877dca746d814fb9a3e8b4d3a9f330954b5befac7aa700\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 78fbe68519b106475e9407f0ec83652a9ee79bc60c3eddacc3419860190237ae947b21ccbfdee04db09e7ee4383f2b5b1019aed8c7ce14d4832d48153316499f21f4348bb87126ede5f8976e0d31a712200ca85cc484b114bdb7c32990e067a15ece647d637405ce8cca20db1a0b5918a8b7e51c29c9e323582c78de565de12b828bad378a3e13c85d7771790f6bd89186c991560d8d83c405c212ca195d765d6a8e3eddbc77471a077ab4e239f75a147919d817cb8da78fc35c907624900aef916dc0a81c394e9f8124103a5096b8d737e395c1d5a8ea70f79f416e6e7277c28c041e02c7bd4b1b4b07841cf35701da7184abf8943430fb443e81f7844f2f85fb9fdc349620c8bcff4d7c8d1bf0f38e4b2476c27afd74977ebfeeb301f58e6982ff78b1442376fb5a60cbf26d9df59dee940ae42fc2071ceb4ca78aeed44214546aadd6b34774a1e487c0b383d02d458bb7d76b799244ed1bcde685d8d913a785803166440a9147af47de0500a65b8166568f5a1d9bd0b8a5a805ed3c665dd95d6b8241ab9c81bfdc0ca1da068839c46babe1b344ccf2a9b8abe3d4421ab7debad0be0102ccbabbed438a384f5fd131d2e3b85d3a733f9a625e55be79010c44d386a2df6d7d96e896b2db0d06e3fe9c2eca9970c3abe79e1d413db294515eb54e479fb3c718cdef7b47c6a89287e48f246177207b8e75b75f47a2a348062b5a\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 8fad4280452da19d7cb9c1ebc9098733b6d337ee8dab0ee913163d8632620a15e7f27aa9ae1539907916993e0cfcb6577747fdf5934897ccb36ade1b495286fc66d78226df5d8ebcf1552dc2d7ce495444241b7f4e53f0e53572df653678ca5a102857943ffd446ae261850026b2ccf8689df7a72f3fb024483527251ba84c2c334d0395f47365bfab6ebde0791a8c9c3e9dec028e2d5af58525a43181f91c69a5acc78b3672b67e09803c6343cef3aa0869613a74ba59ce4f1967ac2d87e56227ae9f7e24cf4e25b32a82753bd50fde846fbd3618a6985fb05326b91e6003e614466bde4713766551fe6838b3789302ec084e0700c37e9c62ee98fbf711d31b7b1173e77a104dee21b393dfb3fd2e4ba506db1d9c2d99bda0c3744d04e11a1374cce40e1bb0c1c3e4e1680c1199c5e9a71119cc4cb4e4d7482c365f6a4b950e0ef06092b330e94bcd310ee9c12dc08c62ac1166474101944165d26c7a9aaa9328", + "935914f2a6d79090a79465c69239eef14adf66a32117709528fec892619c26f59e234b5755530d1c10c59973b40a55c289b85f5e5f34c5e147af44c84460e2ee834f0a4798f49aa61a16148c8a36fad5fc255bd02621b5f51212908d73089b10936d778b6882c031eda9e26c7fc8bdbbc4eb808e318090e89cd6daabb75c1d55d638d603b60d51d3f3a82ac56663a0e4df5d9cbf323e1ee7b1531e97a2129f\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed0\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed2\n\n# tcId = ", + "235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 556bb026d73b4d8949c94db2740b6cfbb17137b69cf269ba5f1be736ab6eb0746cb7ffbc5d7d11995b2053227013d5102b9484c59f521853d99f961e46611974f47f3932a8e1f82a3f5eb047cf7c7bfc63b5dcf86effae34ba216287fa23d5d79e7ea2439aad07fd751e190111308d9b49a524db7c3b0c939d9012f9c2f3edd9534176ab2096d4e3d1195566d072e3deef214539bd70223f712ec45f8a28060604e29ccf6e5031432c9623190dd194a79bea16a1b51745f2fc33f2d4229cd543a1d197813525c655b34def9990fcf75deabf65b325815f80d544528a0639383cbad12d18d4103abfb634a7b9dd68d416600aa4bee19bbedff26f81ed91e119bdcde3ca52792e2a5eb20a4c927f96b238bb478ab31230901eb99f856d0c92915fba339393d1acd7f29270b728d3f26614c6c894c11693d2d52a89da376530f3356cda798f1ff98277e8f469895e66fdcd8e685d663e9a4b9b25874626ccec38e1acdf1762e20852727854cdfda4682951000c6b412a1d0344aa4f7a13ac1a6af8d34bd7881c8449e645940df870292dc70493149f609db2624ad3ec293d8666bd8e6d8deb62b16fb88e662ca32f99ab3a7a99247f9baf9ebaa3cb2dd05b110d5288550042ddacf603388efca1493da1c9bb92cac856f5eacb8c7fb5650e9288635b6c44a47b5d6fd36c41637a6de1eceb135871e747318c27fd341fd5d3ebab70\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = af875eda2f4243accd942bf9abf7eb89260c365d64e610997961b3278914c330e607ca8342847b02c9ca916b1f51c2afdd95229c9c3e1d33dcdba370f472060a3f7ee1d74c8667bb8945b6f10bdecec96a9699895f2fc58f21e235d54f2988cf78d27b65037b7b46552412d30ea2b4e1d96167b9f720f4704bff09e3bf6e2ba899445debdb09cc9e06078f4dbf1794813662d522c25c0e3346132c53e31b02723cd0252ac0932e0171ecf11cef73ecf8eee9ce23f3ce66fa6301050c8e8ea96ad136968926753fbd09a4da0176e8e3d9f572d4857962d04aaf33145fd4613329fc4b3b50c28f4d43d54317752f983dea5432ca88efd035ce839d09867e0d84ed57e331eb7ed2de74ddcd625d13f3bb586bb4dbdbfba34eb0d72130a62ac10079807cdafb40c6383f08af4109472d2ee6430c3c301bd6bc1a983ddced8618b08db2fd4ddca07c9f48b668c9d6f2cb2755a29e19ca0c8d037d3db7919450900d217fe426f054443aaad6be22285faa923cf719350cdaedc8733ece6d62264bf4a0dc1bb88646f157686a4053111aafdefd412d3d7f59a2544829ed429038f1452ff36d4e8b297d0b43148090a995944b4225bdf519a6315d62df555d2337f7ef07975f0fddecef82ef0ca5bb41444d89860405fc06a8dc6c93bd23663a977c68ff8890bcd20988efc44df6891b9daea3af083137a21f3776f2e85443b359ed13e7\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = cfbad304e05807af505f5590a49eca630fc43df9950e5f43b2128a45d7271f2ddc86d8374af08bb478bc2ee3873f883ca0dd41f5aa853bc442dcf5b6fb1fed395d8d7d71f19a47e27cdc790e63f4bb6d17faad0f58efff1a36044448db8883325b290308caf5272255be1d15276fba4039206762ffa3b63cfd07c82ecbe0f8b68345f748c42729ef05ee87d7d5d83bf6f708658d7c45a7f457c3187f76e2e2e69bc74e60bb729acbd1bfac5b79ecd895ada4b2c9ba433ee513b651168fc23709bc75f27ac8f79336543d44af3910ccf66fff78113b103de9d3d0665157ebc14355e9048e04cba51882db9d70f41505e5343dd82894ff277417fc6b9524904b32655ff0dbd8899671b64b8f4e6b3878553d21da3ab842c12c0cc4cd88bc131bee41896d0337ea887dc729874922f4cf5b242296787db9709b237cf0b9a7712ca722ecc6842c11612dd79dba6b3fda11597baacd44a00519bf864fbdd3b4eebb923b7eee29aaa968d074cb45efb3304cb923b247867f819bb6145186cbf779b5c4d8b95add1b649b38ce306479e8684beda55cf68b2aa23359a9034c6b37e54262bf54e6cc3c959f3c7b8906ea15864c488e33bbec8b5d465054602798359eedb80c9dff2463fb16d153b0200aa01222fb3b2dd844f915efb05612a8f1f0371b2d668a68768a168d507af7765ae805ba3edc1f81e0dfc495d824212d1cb00012a7\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 92528f459c1bd0775d8c4655fb2fd5e8040f3265bb57fe1ee553c48f34738f3d5ad2ae40d6037f02a23989669e0ee9835f3fc7444213558f2eda9bb9485c3b81d99fe1ae4e26b22cd5ea7268d489d291d4f5e47f5cac8fad31027cc56138d5b55b3e45b05cc858afd6ed92bec181e1176b84ec33f134801aba8620b294b2238165b8182dd30c1831307ec35944e1611469a458ed3eeec14805562f88eba7e952beb9c19a8ec9c6a0c7e2418d0ade519c1675ee3b029bfad20c434ecf2b1105e76592bfb0341380adc413d566e62c9308f59d6ee717d25c5a2887af1c8341127b690156186a7d265fecb99a08421c89c8da829c6e242f561876919b229e73cea2f0694d8bff282231ad9b010e4d1c65483c2acfe70e0d840ab25e5d181ed7ff884f45d48c45934a60ffa6cbeefcff85d4bb3b6187a7d1454a2c08c5fa222715bbfbf707a492ac8fa2a709686acf466966823473d82a7d7366e253a41372fa2200cd4f3cc4d78a4bc2c425a53d1580f0e3ecc17b48bc55a8185688f3362a5ef7cb547ef4524606ad3e317f0d1027059bea88a0ed7fdf44515838e3a03fe059a804534b482801e5b1cc35ee6bbdcd4c6af53899cc97457224b8470cb72c4c41cb180ca639e18d45a9cdb38d27d9a82c04157c70d5ac18b623e79eeb9ff747289b8580257356e7a2488f0811509190aff1c7dfe3e28019f5f861543af0004f897ee7\n\n", +}; +static const size_t kLen157 = 267661; + +static const char *kData157[] = { + "# Imported from Wycheproof's rsa_signature_4096_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 9cd28bf41b99fa4df2852d86536257fe111f63f01815146c057dc3bda9b6633e49495d38822392b6b901e6ac69c4f09623a524e49246c3710c85a1957943d89c8399b0c2a649938bb07340f14c6981a0da0fd35163bc7eedac80ad1cbf06a4c32a4a08523554256eb221395c76e1f79a5e3c5b9636673db3ba27eebf8315468888671f8441324e092124df31d396ad8367eb7c9d0afa44dae85d56208ba21ec7c1f0ed6a3678f5d97ba7089422c662d86cd514fe853f38481632197c1ba07e4d92735eef3b75afc25ffa900769c74ba34f2d157e74bbab64cf413bc858cf6c393e8afe24f9e71168e97db96717d0081d88a27257d8c692dd0e001f3fdc2090512550ad38725c10a201fc50f8dc89ecf363b4d21a7d815eb78557d42e657cb44bfc785203e8de00f9e18af1c8e12953a33b0717af215d9b04b71fc320bdf4d558faf55d03d30844237551e35ed6606bc706ca43a47e6c493e14719049065eb8e00760283ee72c1ae3ce019ce3263a90b8340d1a47b49b78d5cae9602539b379186e5c1e847b69c75152036c8d9ef3c77ecd151bdae7ff36a459d0bbc1dfa33ce3dcd94ee2cf6ee08a77485746306ed987eebaae2baa544b543b5afe143e4122ade5adfa4fd463a246f29482dce7a51573aa18fce87f7edde842e7f21ff9e40c4101b922616ee4c14ea1af3c4d417fe8876af381027d837fc40dc684e81b9eecd4\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 659ffcbf6b22f5d201fa4114077aa7df32b513a1fa5948ee01f6e21c1862a2b91863f7aa53d1aadcab9347955210a91829a5f7c86b3e2850bd1f76b3c4f4333615ceb22830a7a9d7a13436683a48995bfd62f528ef4959d30b6ddcc8ed2a431c06c337250f8274417f6369b7a08b927885df52bd7370d3675094bf1bd32a7f5b0ca9a399a59f868cfb78f87b8647ab37d0d7a58d6f4a58f3e3df7ae88ddfa6470050229754f4ccfa265cec0635f0360c485d8f81974c6b8a11adce3775dd01936b82db37641ecf5f43cb8538055a053d4085c38a8a1c4e0c8af961448a779288c5efaab1eb4401c8f388c0b729e42243d935df1ad3705c1c5a7ffb6ea8ce77a69481a3b930f95ff118cd0fdb17393a37139b3b5a9c275c6bbbc819e18f49c369153bf1f7807b450e54fc28065a6ab6d5b0ee91d0a9302ebc0bccd35c2fb2fefc341a954b67e91f6d8f3f7b62c5fbe504508594f357b1ed951fcac7043a082b9bbf41ccf609881861e2de15ee99d373c0e99027ff240c0b6fa52be2e199967860baffbe25b3254fcd375da7152bb94ce8dd01465290fbcdea0838a69576e97e63cb636db79c2799a26f94a9fb044e3bf66c520895b4683bd799e6b04ab62f621dc00f20a4adb131606f127b84025269466c760181d7dd9ffd0aa5381180b541e5e933e1841d6386ec55a63bd9d8674a775526d30dbe34e4db87067a9326c6dba0\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 46eaa4624a4d2c1f1043eb3d17b48d977819a8796f48f20174c50da624c657e64d3154dcfa2a5b1d8c6d2ed07cf1f1c19aaa611d6466f7e7ec73df5ee786573adc5a9e3c1d0a25559dad282db26e889807764115a05a23959acf48d23b3b33a93d8b6c7de3ee446f113eef96055d285fdfd27888e569c50f022d5e8abafc874dd5a61df6258e85268bff66cc5643107f7d9097496caedc185b37311ab6979f273e5670f143146b68e44b49389554772c1ca7bb7a12fcf67d67a1fd0c245bb4cbb924276ae756098599392cde076a1c0edc8096d9125e5a5d30c2a93d00fe2e0362e98592c8fd31ab5b4c3b34e65d38ca0c25874eb394e04969982b70932616b75ee2912c6a07f20ec70e52be630ebe024c0622aed125e00bc84980416b80cba7752eb90af2b8215c4b559880d2e1c577b7374531038083725d23d02d4fa5d8b5a4c68e9ea5e11fe2d9e03c1b8a4db0b053097b5a175b1131e8beef5d559bcc3f17ed2e6f6304c0e4650a2bb675aa8de44af8a2e301734584eea145c4b389f6180e6395412ae70e57f488ed15d45895be580bd87cd916b8f20e46ad2fff0367dda54266778bb444c6e4fdd45fa62cae3aeb54b6a7a6b4d8068e3a4d0730f0260340a6c32c3c5d33f514612c941bb63d730df5584933e12546500495b5ed3ba3631a3db871d17353d4c16676a0332ba4c4c4c68cdb6ff21ff737ee249be153c1d9\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0ee914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 27a042625f50673fe9edab9aa2fb4c60dcae0be2e8b75662bdddec7b1d698065510a193e17981bb0b1c32e46d237e15915afe2e2d4890c09907e1866095c19763524b6c8d2dbb7814ac5047f0a082f7fed4109741f4719e12ebb91f27a3cda71e80ec8a7f6c882ea5b3de3c9f156cff033a0d3cf787f9a8a833a29d0c96f0b68ccf55ffc62098e21f0df1832b70878dc94ef1a3260ec2fa56dd3c4fece5d855644d26012f56d2af85a0771d61367b7e266577e44c44", + "4347970908ab6cfae42069e2ceedf63679c2bd03697957e287d156b2717a416f0e4ad96868e1c7b80eb84e99778f670ca39c15e1f901def1efd824ea5f7bbe127dce8c8f53d849fe1172a1254caec13b10b0612e72d3f8e7206eee2620e8e3c0ea176deb4b1fdf5d8d37b57af553cf7628ead74443f98655b5166cdc08190d7e3b134d71c21bfacde3e4673529e6d8a9c7a8b419451e7ecc6c16a44b8e1b3f2c9d1c822df8f2b51d8fd027074ab2d1c52d16aab0a266c7d9ec03df7e631052e67a28963bf8560e89326168bb7c8f5a152f7ac54a46e88190c62a938628950df881a4be4136a55bad4f608d39ff37907a6f99bdee065e5ccd2921f8f1a2ebafcb336fc6ca96a207a5a0a7873420a2ea383a5f1c604c93b6c0ac69244f05d54cab184c6592e9bc4069df60d3cbcbf16729dc2f3f3540474890abef29e1b21dee8af0386ab61784d7af8d79c\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 2e642b8a5208890b52187729c43a1a308cf6b846ba1c2fff152ff4a1b051753f14ab035c2f3f732d5a9df7c2cb732d09f8147509bf02df8ad26924eeb04dded8467b66c5e3eae384568f624e55c81cfd8e3204422677ab62d919a176471b1fa8bae44bcc8d4d116a6afe5ea2773ac52a24186d6a4374171ce0516bba8733c59f38d622b7b6b7ca7ed2123f7f46b6c06b02f4c7506c46327d7cd908ddd503fd42be3cc896008eb9202bbd7af08b9908121a8b27fa44747217ef72a8c549444232e9209ca1345ee017010409527faf0722e3f13641ede5730639bf560c8a655e2f96cbba7b2811da8a1fc3e5125c92754ea7b823f394998b8890602b1713c2a4d352066e01f55ea86fe3da71f9119300d84874b667a6538a90ab24aec2bdfd9ba9a5f0c3072d549653b16f4a4319ca398147e6753f9a048b5b250c64d599115bb717ce85c8370df62c93da7e10fe705a12482e6f25e6ef1f4851a305aa4dc21b08791885867fc10c5503a769a6d6794ab5a9cc5da68cfc3546b0e848ed8629ecded620ee3fa6dc1236b59874916c45f9c409c9889bb85d7b289ee5f45f6d33262dea83b32c071417d3759cf650b9d43468ff0c2e922632e8d73feb4c55fe4233dc1f0cc6f6e522fbc9e9362f1d69441d56ee5f3252dc0559339335901f539ba274cc3640ec776a12c5c7e5c1cfeddedccce36884ea01071c2bcfae7ebfb5b874e6\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 811dec041124d3ed9d5eaa9c760ca5756e42525687d4af701231671e8f7f4448ea9b9eaacbd9c99659ee3c175277d30cdede73e1b332ffe41b8b737150ce1f1c67aa6b22ff801077c4241a6ff4af8f4db9462c70c13e1da86edec4042a70be9d08384d932681dae48fdb83149170472564a5bc68cbe952c76e476b99c8a5a1ecaae809690a014b28224ddb9c9dce0d4f6a77fa2888a71f3aa9b5deda0af40ad0464d9adbd26fde242523c096106124048bafe824f733b0af480056de2314f5e27db5aa3fd15705777e14efd2ac43beb12f8f496d09103ab377971cdd45e9afee8baa874c23d3942ee3a505bbc3901dd4cf55ea8a30fac0cb754793fb2d8f4edc29afd51b99140a8d03aa0614169428205fcd66c1047d3366fb32f1c2b1bcfed8ae23580ed254c3dcb127daf16aec1892714ee05a1ceb4e561a1e9c8fd4118ef8cc9e063bd86c55d28b8acc9d5b4c589583e7c6b78fd518d8ca85b88517f10c27aca2f0bcfa54ba5bb94ed5b005e3d871b68b86e96adf12588037adc97cbef59c05f0d2162db2e4cce41227df11eab5449d612be56ef6fc522452573340d4d68af0178d4f19db6a0ded521f1a982bc5567dbde2036f74d6d67b806ccc7c7f70d3092c22c9c1acf307b751d994fa5259a5046668a047afe4c3302e908bf70bc6b55c39726bf24ceca809357c623b89fbf0eaf8b5d18823337e7e0245d865574cb9\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 47dd8953f9fef033d428958a32a4b30983d7eb9950c3d9acd167d50d9445cafe2bd02f44db5f7c5f6f999d3e1cae5b7458cd3220034132a3195481fbe5ba6b878d85c6f8ec53769f28245dacf66b562bec12399919265b3ce99c5f2217c3f5b33228a7300a0e87174675b379ffcd8a048467f04df2b5b7a7b8e3b8ffeb2dcd408a9363891518988a2a09453e98f7cd73aee8be03acb0bc8d67f7f944b62a717a7a5dc9869ac3d30e7fdf68cef439eabb8220c6923016f00b353ce5209ace5d387a7f50dbe09a7d2e521f1ce57251c48883229dfcea220e31810aff68da93744715f0720d49d8a5f3df2ce56d8fa42c02300729e8099df6e8d39bcfed502a5ef910b024e09031e141266e5493e64202a77c661da8c363f713b78247d8962b271e6ce968810775b6e76b577f01c24daeb7f765e9aa0118168103a51870dacbb4144389cb0e221e6529f9692005a2828e68936c339c96f7bcb4ae61494d03a3ff46adde34aec671b5aaff2fb61dc6011f53f9dd9a19bb6f0180ed90a4ed44ec0ecf97fc50c15607d1c6e42d35e36526f3a39278a7afa2601ba7610292bd6f04bff85f8c4f32f32b42379085b461eaee65de85ef2fbdce1d0dc39120f5670ee2ba5b12902878d2eae39290909dc55d64d1d6b03cfb4b144dab9e7bd8cbfe8500576e1a9f300818abce002ffedb4e8f2f0f58eab36f5c81929b50578d4ca3626b87fe\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 17ac14ac21d38aaa857542a9d871f7d81a829c39aa26cbe7db722f68e4397a7c758b11a0154edd42e1cc6b64047238ce4177558a0caac2a6c66136c8347ba058d6aadfa3630b4c44fa7205e0b8a9582eb5d904cdc7d25e5b9fc83bb4fc5723b3171834c07d59876f9ac771ee66ee17dae152dcfd86095fcd908697008ec1776536724d9e4322b6f7cfa59949a0b9be7990ada56722e6536b8e1442e0f0d8799ebb36e7881ccd52ddcd8a8033cfaf6d3e2a5f2d5aaa04291ab11e48e745c4de3fcad3120261d01eca03f502b69ea1d5d6f5556e9a198d663b05b7d631dc975cb7368b8f34fac47c621e60163914144b2e98e2f993606f1961d2f176a1b1eb17e119d48fd2249889a89be68ac78a415a8752f0425f1baa1cc5de9a4e0b51bed081ebdb538a70be96cf7519eeda55bccfa7ec5fc82acf88036af913cd8b30f182646d9f7f02daa27306f0ea2fdf436a40bace578ec2166a4080c7cef4a862804820020d9bdccfb2289c99ae61ee3fb3b3a9d3f6df672c4690e8c943f2fe23b5718a199439c5b2dc65b63d37e00440fbba51660242550484c94c8b6f504b0bb4e2579f1f560042b721db7d2ec2ea175401c14899062f9022fc0d8e4775c8d10c63cef61e9c649f771351b94620a3305f2d4b681c11089b5fddfbbdd291ccf9e1a997c1b2e6ab3cb1e1bdb428590ced534cd4da5a9548f3d8a6edc20139115d459853\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 15850012d1a5af88b5d1105aa0aacf404c2417de3dec04484cac687f6bec531cd569074e5c44ba15b27ebd131d018c2a4b463ae029bef8295e89c594c23ac9878e6d7a03276cb7c0b5231e887fa7e0fc3529c11e2580e329e65c669c346998d687fbf7e76b3539605753c3cd708dc19a072331d77290d810311b23a76137ddb50737436fa31f078852bc0d546364a28456c4048bae337ccc0fd8713c02713a987f89f9868cb64658ab1b8298846bd36b8efbbca088b6489d69a674aef11191c3409ea5b6428c2d847833db1563c77727706d2657ae8f249a75e23a1782024f23383330d11f1b91ca7b0ebfbe3f4a5fc6b2d37210b16049a2aa61030ed1c15b5d2ebd1a0ece36de2f53b36323a0eb25d4f77ea3582591e13f00e836a87a1fd2fd432f074fdca1a27e97dfb62f1666277bef1404958601d4e6b8b24125b4a86c9dfb260c3eb84750ba00930a1f7772510fdc0b265efeafb5de8c2525f5706fdf52a6e813bdd18cf683dbe94a6df2464366707bec34cfebb097b2f025011a0c4b5f263d30fc0c67c6e5a65f2281b463988ceb9b072718802a0a80a52f90af1aeadc8fb290bcdfea333a90b55c1a73839665df30f5b42f3e795ff1f57cdd7edfdee1dcbc81155bc3be1e264084ee3d7af4fe8d9a5be9cb2692674f1f608139b9707dc4c4b5b6968d4081236946f4c6ed2c8836769a03f9e87efd1c555f4ac1013882\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = b053f20b91837472425746c5cb3c26f4aa24bb58482556b418aad3aa6df71b9f67fb66855b83ee57e7a62aba93167d9a0aadb514c7d9f4c6e0000fea8525aee39ebcd59017fe5e58ba751c89daa976c158d9de60192230c0ce85f832882fb3db671ae091c886559dce66ad1d6ac0a5d1b2ebf2e1c30d88c46d43f9ffce192ad1cef57a7f0c437f6d25db071b74b49faee3b9732e9e0c7fef58e5b9971277411fff636aa2393ddc82202319f2aa5b2d14024609310f9c4fb6b8641504151f07ec1db8f729ecbbadd5a1d21969cdca6d4c9e7995de673ef79e95384f83900303c157ac79bcb681d2601e9b2f97a9438cef3a8ccb72a740750a2cdecd1b1b0df4a313e912701e82d76d4af9c8e18ad175345ef59968ea8c5dc62a8afb39f52515d6e8527902a03dab09419208636a3b0eeda8148d2ddce169ad3389776e10ac3a88b1e57f0f5da8e12bb1339f1cbfd367b221fc2754c185fd52897deacfadfa401eba9d55521592311ca3441c4228896a09c080443f78144e3e5d8068a946fa0d30b2187cea28085913ac86051e77f84873ff2b150455fc2486edad521ccd0b58a9055b049664d1156f4eb4ed393bf73a5d3d09cf7d163b4ef5df618dc6a57d2983024b779eb6a3331cbca72094052a8621d24d76db741a9f57dc42f41712b474cd8ad90fb348a2646f456c6ffd8a30657e344e57bcf890bd0a2d199bec9e2d5be5\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 4d8feae269696ba5aa750a49b64e7346de9e11ce331a3c7bf917c5467bb077099150b760541fce35521073fc68a5c638a5884fff577e97f0d78faab8161ca4c766ee4cd89e26d8b747671d84bba1865fd133e51a7e81e8986f0c95400ecb58c8b0af8aabc9ab352a675041e7bccd972c2be01080ad175c76e431ff670780e4b63d34aa69e3227696d8736a6d6fc2e20015180a680117a6f04f8f56836d907fd9efe10a7fb5a0f57f6461fb527494e9678568e168a83ad61b8c5cc9872f27a80e159f8547849186ebc43a54c41bd49c0dbc48fa2ce3781cec1d6623017035cf7425d7fd8a8562d3ab36c9e605738f82b5a77fc65afd217963e710a1e3a4e30862c8a8f18c97b095f68ae0878ce3cf1d062dd440764e19868c5b98f08575d65e0b944ce83b35028da466051d082ba66c2650eaca9ea9d83804f41437a3ea43932ddc217fee2c59765b5e862e85bed19e9ba0de41d64e518dd1c7c2f2f0b4bf44b40b26eeae0911d0c63b1b2cbbf3cb8e24a1ec6ddd70b9d4", + "42313e47fd36d1f1624d071de53d76384aeeedde697c206dd27cb1d54e513621351444a4d139cee2fd04ff760d08d6aa949fe9f2c2ebcecda4f8478900503eaf172a63d4d6deeac67b3b880cf20f8472394451caad83af1e8de2e29c0bf904f288d74b73fb330fb3a50b63ecafee8ad9701361db09a1026146bbd0ffc4f0375488e5a178af304b6301\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5113288772030fec77b5bcea9a599a9502d8dc6b2b13832ae23c34e4be89eeefc4cdce3311fc6520ef8164ac409e9c2a8f6b3f7ae54788bd652f73cb8902be3f0f95c64b7135a231d8b0ac9dbb82441408eae432106aecd8167e0d3ff56fedfdd0facdaf1478183fc35a522e34933ec07844f21dcf76ed0eef71559769ee6b5a6bfb14f654528e6e24cd3f331634e88862f2b37e25cd61549a7ce207aabf6550292c21b187a30707eb0a463be2bc8ca7532f1b00f7bf3e7b561f685c91f6492c5b728ff2fa26865e6f1bc85ad84d44728fb549fc9d1ef6cc0fce603c3fd94ba8bf795fdf1b347a9f5ac58f1d922bc7cc3754cf427287a8458d075a148f6a336a0fde617f771789cdaf7223a2dab71448cfe2c2ffabd43eb839c5eca84538785e3c6f1cb0a19e532b5efebbdab5b98260f26190a359c378983548497cd746d4ee0021f148a6c7b5ae97e96d72565521b9d9ea066a3bbfba1427d40099ca367e378b227616d3d679ab5832b2dc93d2eb4993ade501059cfa8b916158aa8238bd5e1cd83e4a2ee676dfcb85051906f94a8861f5e2679912df5b48ba309b90fb383e213a70ebba0964b00f7df451c6d60ec38350e260861f5b5e86af8fadfd09d66d8d1c4955fc8dabba82b937ddea4003f9c39d4e7b152c4d13fd2e54fc95cd3c3e1bf20a065fb6a78d161e80bc4bc00c5bd93acfac027c94d21accbc423c2932db\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 78e1817f4671f8c737dd45ca7d069a572d73010927e5957dd6f05ecede34487e8b4168e666305a80ead3f6f5701d350397ee730ffb6a320161c9743db09cdfa272683383271287908eb5a61b0e72cb783b4b0f341f042973247e525330201eed0b0ad881582de9ca70aa66e5171fc08ae22a89a6d5bf61f056ec02fb5207a82ca0270da42d44afb79f299782da7fc8156320e837269c9170dec5a767451edf0543361c5e5ef4f6a165cde8b0f6c6b6c62ceddd73bbab815d08340046579482e39a216d2dc8069fea722937ba5333cd47905497e512b904db8731a88006aa6b650841f636cb75c1b6d0be32b955389eb1f6ab5df19bdeb9ec19f090d7a46b1d45063126037b9f8f025816bc79d33b983cb576392ae135bcef786665522b65a6afcae3e345c06d551d5a122b305b413144cda4a58012d539bc7f9326f1a80ff70b5cde353622577dd23d10f75d206839274c771f2c6e4da1eb7b93c3c0640ebf7d3d8010e22a2d58281b8f811cf8f99725542fc9059228fd7e01113b9c3c8956badeb798d89606f481e99c222ea1918a26aca49a9ce98bd4fd658ded3c5a2c946643ff312d418b7b0da0e8d96ce91da8cc037c16280632083ee0032ef65532ecdc45589dddac1fab52f8ed55e35c261425701d9778ae53caf595d7b32510f7dfa8a7c86af4e358fe08b8efc19835e0e9c40dda2f1ac05613a26520f0ca5a126e95\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 246873df5e978483ab6bde2bf90219bfce3d2b6dd6db3a32d5f3da3808e5ad945f1dcdf1186f066ef8860c8854cc80ea794758a84dcf399c9ecfc54f184de1397d48b2a15432422c60d50ae42ca8203be687f4a51fb27f46ae5c8ffe354b708d9e7007af22b42a2662a61ce1001761f3935cd6649efcf5049e4ecc0dadf8424dc3be83a299902ec387e42a79207170bea5db24c729d811b6ae9480065809aa0956760d40fe0759024af27620c12a9ce2f842b429d005848857a904ed62cca6752cb5be1935c6562c3319d42efddd490705eaff46c822f81a28c6dc44dc9e08893ffda5e044217a6e01fcb0f6e55ef1a6393ced7049657d4c37b3dca55f5ed8ca383a4a72c3a6ea6f096d1cdb63c767d0c5f4900006ced15e0d39a1a6c2d36f69af25b2a324fe6568e4665b4ca9730f50aea9ac98bb2a8aca25132e614a70c20533cc0b78c1092988482dd42cd13e4a3adabf45f811d638915214b184692ea09b83975a5e0c3384c9b37db667cf321f3d297c0f4fea1c80ed2fdc218c0b7db9cf8da370cec25549f2a0e5be001df317f0d1f6f36b4dbbe4a499e5e5c004a51bc88435872e4c4e34115619659b94bacada61e7d3283bf5a23e6c548bd089a6553524e430285e2ee278768242952b041732fc7091260537b0801d50e01891cdadab05c671a39dd46db4d9988e03593f7b4002b3ed4b0ce1b0e6d5253c423f59bf6e\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0d93eb247bbcf1003b3360fd8ab063378baf9ca43df1ed46aac03429ad1d817071522cc56dfe61e96db6ee747a5ebfcbe2ae6ca7571b17b9e8e2a3f5fd8879f167d3f9c20fed72058c00801a4058446122ef04d8685a16804ff91c0073efa697ba4d6639fd789a3fef6a53fa5eb062c82c974bf8206dcd5617ed1851f537643ae16b58e368456636b56f4fcda9c81041def1cfc854203af0a5ad581ea126bee84a4452c58602a2eed0ee082ef19f4ac75f8a7ba52d927f35a3bdcfc64183238adf1174dddc29c49ae4e1e3388fb08d28d9cbb379dd6c83903f096f395ad3bef4fa245e6aa7af5533ab6bedff2775649e5cbe89513a18b00ba726954ef0ed94865a7d9aad1e845415cbc19e039b3f7a7e4fb8a0b47edffd9c6eb2834331f0b636fb5eca42925b5dab4ba08078a71a6e44896abd06276f6f2e41f122848b94e2a22baf2d262a06498e0084f700ed1d23faa7b2ba9f7a71673f4f8c2a9a00e611f53c2095c43d9e78c1a9dd73cdcf0b74aadb47127a990ce7dc335ee26f4c13fee45a1eb44b99b2325fdc30e33fd675fb991d487efd478ac79c8d7a57dd210c5cb9c6fcc7be1a7e4a86f2ddde1ec8e4ac687b61231646d9457b4bac5dd5eba2eecfadcc5852dd2f1f7b9a14a0d346c6effce2549c9fe552bf1f21b99e5a013d41b5693059fb905bc30eb40b075ea8da092fab2024e6c03c4630f53e31b8e78be253\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3fe3db1dfbb41a675e4768562c60dc2c2ed3c43022b54f4c9fa8e99de6a93ce650984c6c27b7bc5524c0b032c9115fae2cd23ac7b03e496c6f4785e7045b24d226b2ac535b7eb605cf8b56906ab95ab0e2e6cb3e2b3df71b714c66685a2433244ed153a8f526bad60a530c97ea9a238fca6fc5aac295a257b32fa6fdc68f9216d8118907f282df1fb2085644cd8c51d1be9f6dfa9f3eaaa57acc75d1bd29c3a59f167215c90603e790c5658b2d7887254ff80630122ab5578083556351edf1cffb7e42775a5ef79b2ff6cad7a1b8f32a7704bdaad7d63844b7cb7a295155fd8643044c3a83f867d427511e352079f578f00fa55575445e4af5c6e42500d0e4ffeb718e13076d9531195bcc36333960060830496256702c20df4759c74cba389ad73001f166a3b6c2d9e69d2b3bf86a5f929c79d17483164d76cb43f8723cda7648cd37e5d9d3aaa5cf9d077a6f3a1135e3e62feac9d0a0d8c15d6cade7ed6d2b568f89f74d6892d645c89bbf1429cce33e525c4d151a0a4e9192fb6737f151d5b460c4915ba57e3fec3b537aed97ca425f58a81beb3144b5898e27905ae56539c97b9994cffdb9e4bd91a600dd02c2ab3c9d8c668ee077a2f1f58c8ab7d0db0333190c59d37ad615dc3029faed93f31a4334a1ea29bf7b53f3d9415b8b760891a4a649a92781eb0568d5442b65e574193f040af56e5d33d2e6a47da09b7bb8c2\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 34e1788aadfc237f7896f530426725bf06a553fad96003cf7f6dc90dc6ecf745ea1c6ed5facf0fed6a0b88f9eaea6895b6bdd4a6e79f114a75a01be620eb5eb782431bb58feef95956cfea2b5fbfcbca452f65ea049663639e996e35ef37c27987015ed3af600598543f1faef183199ceaecf01ef86b026e974721a94a549aff6545f42197df772729797f4b6c6dc7f500106a793993216d5a356104a72c880f8e55343bc4593f13f988834c03c45101a4c1b27ef8ade0b56c4df4592654c32289a706d7afd7095e7f8a7846d2607d12a409c67fff8a3997e4d6963abb979d51dba6c5be5e58b105738744acbffb6ebf7428ae4599318948767b40c831ea810f5d11cd3de09a066093205e852ebc663b0b970497c64081d1ac6a418289f7ac2eb755cad07390c553bdd82ff5dacd2937bedec7d84f820e054a3ec16ba447a8c25325c0f1cf1b8df93443c56947f5c9c8ba2eed73d379583fd6c57ecf4f70e1b899cdbff6c6d80834e8e88440cc8bb2596cb26df266544326c5a15b4e6fcd6f3296994ff3887898d95a0d32f92d179c3d1dedac8e2eab8e097770a0b35e886c2fe65fbf9766e397b746a2819d1e1d4f8eec4f7354e504310241bf6becf0b84d21a2b41ac6fa5ada51cde86b8151c409d642bde0307fc732de16476995628f79bf02295929e220e2a16dc17c6b271be629cbdd43823e0ac5a25c4596400b0b2f2a\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a79151876e4e870920cd837bdf756398cf9929bc47dd5d082916cb622c05b52f2d02406960c2eccbd387b722303d5de1edb4f0a2ec2ac82fe2842dc6b321bb1ac772270997594460bb14d9ac27c3fa7c17ffc987035a30784e0817b4a90fdbcbecddfcbdda814b2296b2fa976199c2cfe8e2567a56b100aeadc571b8172f05eabfe8e10b302fb3dca6079c387914430e64f32c5267dd41782fda4e134e691eb4455656f740048640e3bb1226d47f04c973236a2c0a864cb1bf0dd354f47df45486c60ee8fd931328d8298aa77dc561c394dc337b418d4c41040fc3f15fe72d3b6ef9d3c582c939b6a33692b8032ef32e025683b015c276161e526c19c3e4223e71460918c03c31496e8eae68fa97850b051208e2a989a8e53beff882484992fe9b5c47a4f72849aa8d7896adf4592736e31940c714f8198101d123b72c2715a18e8d58d2c3d7d0d3a36c303f62ffa1abb5f8ca057aa5c4030af66b931fc6bf80389d84dfc1af44dd69e73bfe22f76ae6c0da7f936f06f652a9432697a94bdc2f869f8ce2338cc938cbc2c7809a4000666002bc351ffbce64a860d7e00bfb1083c47a2cde7ba67ba5829769b0bd63d0f2277f000faec93e225234e3cdf1a3c41c8a327f67d41eacea3a7ba3dac55072429f47226d95c235857739027b85a9462e7a9906d8908e5c7f25f0efe596ee4c05a22b611a33580054686f6dc17e930a41\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 18318a9ed077357126cea3c22f6dddd974", + "374e2615a3b964804e3169121d24d7b3ad9aee6a697e6de7e85c76e40a0c4cec8c00b679530706408ca48ec12eec40291480e42638bd948fd55c0540eacdca1bb95dbd596455d48782a291ec35c2dbad742b46f84ac5a4bf6cc2ee23a8ca421477292a64598089a96739f905581f77d1ffac1288ebdc9daa41cdcafb517ab8b44d22799706903d9ef4d9e43756a7e0b146fee94fd6a899ebb6f46039c52c95ee5fbe3aaaca76f604f013749baa2d25127df4f358f0f8b8a0b90706925ff62deb6c30fd871bda0e40121f59ae0a683062dcf3afd85af83ee06a059f3c74c62c13e250f9ac7fbee4efd083d897db98b2f69a3241d10331c00eebf1c6bddcde26b45407f925fbb499bb52be2659cf2b6df5921f96f5d6d97a1ff80b4360135cd5e0660f08c3f4391d84cbadb483415a3e60730ebe52936a66edb549430de1549941d9442f0cb465081328a80bac3b4b68ed504e41af0ee6b2ceb087db8e6e497ddda5b0692b1d527b3ab9f5906098e62bbcbf39cf897b06df78c059b766f2fb17ff0434af9aa3d9a3b3b9ce8c0a2bcce33fc8ffd0bf06e4209050ebd175e292d2e9e4a36c702d6e7712d951cbbc516c2421b65b1cd9359629b7f772e410f1cab7a2c675d7c7e5082b09f9ed92f1d417523281a61d37d19b0f1e77d58a6956148ac20b5dbe28d8afec6ecc4e789ac08c52\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 15948a4c114544bcb6ede3a68bf71cc062eb718dd9ba2818136084e79852026a4241918ed4ff81739356e960493f83da7cb4ea536c2a77ca574b94b44cc9fcfe3a35d442a2d43e91fb74c426e94d9b5381ae2853a1f1f06f9c9fb23ce3974d7184b3a3981e0e30a88f8614c305fb6d98b6af1175f39457c02a8c61364238382cb5a4cd861b9a406526c0308fded92dde543e1b26ca3fa2ecc6ddb6a5641760ec774b6f43c40880d57c504ceac48d550288617012f54d803b21aabaeccd041f6eae3beede1ee7146e91ca544721ad3de98e7118e1787f8b3fbce518b2c238f9ab8c10c1c1f391388759015c25365ea57fe6cf01188cd262ab3795b9f00aea6b333a64e505afc9fab75fb7df290668a5d60b5c2d3c18228b9ffbc5a56ee04edb24cbfd4a0a1ba42928342c25b9415e37f564672e7c83ba1824066c21ff578a081381b62f7fc8d2776fd6bdaa7cc68bb6e9ccccce8296334ee42dc33cfb6f2e56e01c9df06fd5dc43e868eed33635a291cc509c707638cd2f09cc595561d3007ff0bb49cdf9fc7c2d61d464878cb0abce6afea05f2806e65c7914ef33f8bbda8a2e7766750b79d60c00803dfa636339093f72ee4fd062508cfddaac7a1e3e0c1a0601000e69eb09ca3445893109adb13312b9e4f604d85aee88378993420f6d88da3763dac4844d01ad76c9030a60178444652d3e0f0c1fbe43ec2d558e0871f640\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = bd94dbe35a23ac704c874dff24aab7514d82b17cb8eaa8a3654539d2a658307b4a4457259d985db4601beedd8e48036efb05a7f7131f18380a21117fe644c6363de327b73f424f45a98022315a02cd61988e359f1728984bd06545f04bdceae8bf8bda39cd67331ba88a88e9f24e6924e51deb29db461fe9c3bc6ad0d3d3093c2fb873ef9749b93fcad251f20d851e111f61c835c99b259130f4d08669d636506d1049081e4ebba38cf616628929c6c16bf0a5714eb91270aa3e28b9884de986075e308d84ddcdd4f44d47ee9cdcc95bf77ca9d2a862c5866d57b14b0a4e4adba7a520f0257340ce255abc2237810e5005e2194bbbb116f6c4d078f4fb2240f4daa732d5bc22347d897e517beccdda073b35ca8aa6f822a5a6b4acd20cebc2eb34b97e6c298e4264634017fda05db8efb65bf7cdf11ecd774124834f9edf6291a885e456f075b681e892ce86397e95b3a7c39edd39b8424b42f1d40210840d5768b39dbbb96ef0e5debf2c4bb8ad0c9a6e4b23799d5aee4115ee6a393a362d790c6b18eac3c32e37a0aa33b37cf986aa1c23f0ad49f44c303cfe304d799cd7448517d4ddc6b4605ce92ec5e15d76fcd2a50ba005e52925218dcfb22bca9cd988c3c703fd1f5de578d2d3b003a8c5b42506ac72ff19c553aac8e73183dbddecb88b75c78b2b56cd86b5de592b88279bd4608b38124bcbbca35fcdce44f8743e26\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5fed965c75ed7cb7051779c004ea0cac049734ad8579394d660565337bc0f248057b24f89a7e52d3bae2a3defa4a4c8359c074cfe96bb29c63d7f183c2d5959cd7a5f5728611fed9d511ad078b7fd6c6661aa269fced9216bd094664602f537c77871d8cba65f149c600007d5e57804d2540d4a5b0fb109c1811fc86775a19f716174c5331e693ad53bb893a950afa1b5821c97dd70f7a2ced3cc2e9b1b5f40a7dec2d44b17c8df9f9f2d956d5bed00c2718e7d3b724af758ee6e1577a2f4bae9c4d47053418b49c4fdf3f94e5835774a432598e456e1e9a474d9c39434d741450b02143d365bc28699cb470cef886e5a92a60c66b1a11934127aab6b36e93c7635fa42d8ec014ee26e679ea7e3470e7836f3948bfee3505e0434504884508ba66aaa79b32be94e2545881f47da2132bfa380aaf5380b7d45e76893b628deaee0336cadf927e64c3acddaedc182b92280bbb505ef6e70eb53717feb00c9c29b035f2e4e1431409ff809678188b400d70227c540fbce9b17eb5532645e762a26e00d532fc326f589a831f5fae74addc916942cc1e5025f55b8500fe55f44199a625514e017551ee8b4ab0cedea5fd1c7f6f66bb03f031ddcb572a4178f3feedd1174d91fa2a43b82972a14cf5a207c021595176bad8b6fa4b76544d42457410a140dc871ceb0617b36b9ba8cf4ad10111f5206279dafc6685bd7f56c6b19b1a77\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = b14d10f659dd8ee3065e57bca4e4c0ea28531de697385355944e72a7e877ecef2760764e1451d88276b6223f5a973d3b706443ae1645b0ecdb019063d176589aeacb7886893bb0ac1289a5e99496892e5010fc5e3625de66c3f0c3394e9485a405e6b2b448a3c07ecf6d27e784c5b271bba20af97e86fe909d84e4b9ebc8e80ddf8f4f55df28aac9d332dcdf547849167767ca496883bb6c546447753e7f35aa0f9daa9a4a293ad172b8b5c383189478301574d8d2f0033a982013bf39d8f041c510df0fab7dbca86d092409af5c75d43b39a83e52962c576e891b00fe1bf9a26dfc75299e61aedf4ee27b35d024e6d5f00f9ee58a5aae97b65b98a900b489800c59a94ad91b2e99a5dda868c46be99154b874e85621f683543f70c5433c06e76b0921abcb5431e1e7094e4fa4c9bfcfdc6a29eba44a28fbe44c082d510dee9db21b002521754b47f072fd9e074025a2cb928abadefc045a925926cf53cb9702c059ed8cc48e37f5a4a639cb7aa1152e6099e183a63baab5252129897f92e388d819a1067c3c870e3630ba599f2445b92c04830b24c3067cb8ec39eba5a06de0cb9da04f1914d817b5fd56d2ff1e2e37aa588272a665afb3474a0709293412bfb6a94c185d8bd66a7de0720e9a66ea8f6652cbe172c0f3af0b48c6d349c73f654477460acc5cd10d757cbba8a8d9bf7bf8627ce7f76a99b9223fd5de3f59f3e3\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 183f3c9853c987fe83123605574c6317a7b6779047cba4e661a0b8b48a8d8b94a1a1fa9f3fd2b6c2d7d133d778d34bc2d9234c122e81019756f8ce88fb07a4ae0af3b532facfed257532e6f148b85111a5b8a005000e63f44e31113748ca045db35b85af307d5c5b6928c88395801d2983c198952985811ea64258ef4087c604b71570a54f9881c2c7139323d682e6e4c137cf391d9b91b1dd5370ae0d0cdbb24a8c0c376d6528381d1a63599e46e145ddf81ad18086ea2146969f16b21075cd89fb18f695ec6461e4d572be485838aca6d0e76ab0ea3c33484defa48522fe5069d2040260f55cb7ad9750a4ba94375b660ac25a7d71443ff8d3ef54d58e2a05709e3b679dbd4b9104763d386edaf807996ab84fe8006b33313c16958885f2fc22aefdbb28c34d6835225f03a7b18324a99a2175b83f198547e210d56b68a1d85315779df7957bf19c62aec044236a4bbe63a7d8e982b4572b386d3c85b18357f44d807ac218a8b8f75697db20800650a543f57a151c23288d0f5c9df00b780857f43596da4cbadd531f47017476cbedcc551fb1beb70f9f922d72a3cae9a467cd02258cf4cfb673c0cdcae118ae56c2d3b3892f1cdcf5087fa421588c09c9031056d297ba9e0bf443072fca124e53023e1d8db5b60d7aeba0bb1958002a72f54cbcefb740340c8f4fefb82b4e5dd57d6ac7bcf85f9f9d57ca4c1a60bfac4b25\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = bdeb05d5e66c9bf5f9771a973872e05adb613d2bcbb6748193a8d21105cfeb4e8ab5242e9f2a1bb2bc2e48ecd8669ee7d66f1a1a93ca824b1daf21b52b416bbba48c667facc86a10d0d54c9c08f2bb002b22499b5537351f5490b397bbf0533a34b3b7d058a50dafa7765b1ccd5afb89e4b354d538b89f42a5b5fb5eef7b4e5d8ca9ae40d46fb3c83e36fdae9dd08d282f1ecf5664d319f07f430ace3e321d215af9ac8cbec02275f7b26d89505e3a0d2668c8c06f30d57cbc09733d45bec55f2e877cfef31db7782b5de2f1d8d2a7f03b1f3e6c5fd517dab5c0145a8e36578a86eea7ecf9f3dfd6081042023f3025d6124ee9b2ac7b40a6dec3b5c2d29d46d834d2c47b9837d377c0a2e965ac248a84dddc9fcfd11ad448788b2b9a2aac2eb8cb25932eaf1d7c36529c6f6892980b4cef6759dcdfcfdc2aab28b10df46f39a1724824918669f0df2a9e7af87c3ef0602a56d09bad330f1cbf71b146fbdd3a5e45f16b701744e28c8821adc2397171554e0c6713355155065591e0b6fed94c17ecd47a9beba3da0c7a6d17bd5145f0fb438cc4fb4b53b08b16d239bf839b33a321fb030df77c7534c0cc0664cc0f485fb54745111891e92ea2bc1c3596bcbc3ad40034d6e511b7e9a3a7eba426bfde56926d05af2f98ba15cc3ddc26686d5ed5a3611ddd0ee774094111bfab88dbf5ad99c1b3f6edba85285e7478465d351755\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4df5e7aadd429163a756b8b9d9035bcf3d61151fb765688dbb4c238a2b0199ee7d520bf3d593ec42660f28ecb6825f72e5a124d6858a33514fd43e1485cc06b7813c7659c68273e05a615d1f7f51873e1e2c7582882faa2564c0ecebd364fc7d6a63c0f2abb4dcd15a2688ea5450d9b5ad445abe6035758aed19604e46ed2cf7b3627278c86c218a5d3dbf9446d94a53f59e46d540db4a0f714defd10b310042a63f07132d36fb13ea731d1124ce3c6138d3423b44f7b7680ac8c78f4d89ae98a6c226d5c4e3a1f5d69513199c629dd008cd4a2d272b429060f", + "136931c41b58384f5297e88f6a72d7b10d982c93c4757e4f86cb888e8472417091e9fc5f3bfdcb673063c15d108a01b04819c53962ced6bc98894de71ffcb211a4d5032731b98cce5854efae284e247d224b71de20cb680ab64f32e18a2165986ef45717b710f3b23b3265c547980044455f9bff029de7b9a750645975f04ac7992d66393645aef61896e372d4df1c40685e5abb8db4a788d65e0ead96d6c13713eb2c5197f0c561a4889a0052380166936ef096637717ac8650b1b821164e2ebfa6efb6a0443079c2c8b04f2dfd2410cde6049c511a46ccbd4001fca328160f2f499380f03b17ec2d98ac3c9fbb38ae18309328a3a3230d0d85d55e9159b710d357100b4673f7c1b73ca66e08359dbb260bd0c72d6e95e293f1c6b7b754729c90f5a5102ed99\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 737fa672e21c243bad70363eb698965a67083b4abcc3576c66353ee8204e36d260b00e5efc8bcc2bf5d9667468f99c6353b06c4eafbf49414f4bc80213907ba5a455e65fad522a00e08ddf44137e417f8d4fcf61ac7f1b826bb38322a403e8f6d2eb4e76ddb4badec8c4d50944615930d86194d7954c686caf822dbe253e72a184ade53fd494873d38344ed2f41c09b3941813d5e3cc4827626d02d420ba50c46619914fd0e3b8ba5639b1bccfc12bc2017fb9aa679e5ba5f3f7fa898a977d2660a06339df5341ac63bd4595d327fd9f651e478f701d58312c5ef36cacbe9fd3b8f8c726a580639267c6d2f3aec161a6dab89169c50e68e116549da431b50c1b18d157f48c3a28d9f5c8bbe6e5ed535356843cb12fa06680d117d9c663c84e512c9500ea876a547f5b60286388bd13bafe446aad7420d67cd2a7925a0b46720ff5aaf5e9c2e7f8cbb8141892d2d27c7e0976913db329213f277a08d9a9c99317a14e92bf48f01443298901e57c287488dc4d4126aaf560c9423239e21052f1a0485d80f86b74f2748c0f192f416ce236a79e7c0e6d77d08a2869f49c3a5e73210745699cb677372e3afb14d64767c1f7f31932720c3ad0b08348233d757cd02a39025a9460c83e8daf8be59b6d9240263bf9cafce0f3656fd4f4b0f9f8ebfaea86ccef25b93a8c893789e6eea2d588815639c09abee232812b8b379b3248f39b\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 52fa2c3025e2673fb95953747fc989615f634d32362d365dcabe6dd1c37370e0c582fe0cd54245fb2b7a892f9b45fdd6ce6bfa5e630eae4163f83c4ea2ca9a43a3f21e8a8b803d50d0345ba48155d1af3f419d8b0f2e8da897f7a36f88f0420bf53d89f3c2618852a858be2ab5d49d5a79b1d7866dff1421deea7143f75c27d9caee5372b1fe36c8ac8f3b5b06f4f71525c88be369b7743a7f5e84abad148492c23f6dc57f4218289a0be3ba1db5cc4468173b5fffe7455f94f5c2ca6c8acae8701dc393b9e5c2c5ab8633a67e4094ffbe2ced9700af85c8b3c0a31878696b53510a991b35f00e1f7c8d17106615b32e8649aaee855e25305c6864bdcea7ff583687ace773a9d56c67df5b462995444bf414b17ad7d5801c60340bec5bbffd49bb69ef97eb10156a490fdee3c3695fc8055cccf2cbf217587f5570efa8baaa384fe2053530791434610e4da67d075f6b8c5613e862e743bd42dbc1766dea5e67f2dc6117791ba42c737e56b108d6e8845b08a33f905416726b02354c6c2c17b296fb58d90fb2d87902e87a80ebe83f72380c9d8c7c5c74dbba510d658dc84976b2122b3216eb3b1cf7bbf868b844fd5559a4ea0c8a8a67219634fc9e4ceb637e6afaba347f7cbcaa562d21fa7e9364251aa9600a50b22694e4b532638d56ff3cce3a232d76b756bb2b7b21e8102841731f923ed410b04b4efb414454aaeb8120\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1a79e14f144c0b349987f2d2bf07b860848a6cb5abb07b3229796960a81adce08c7eebc1b935c58db8ac1b9a0998236cb726f704005b128e9da87cda8b47e43881a67d9fefaf081cd1597a8095c935e5eb3625940b1ad60d071a5085bafd3b662a2e7dd23205fd4d5af060c52ce23a9e8566977f696cd1d941508db5af70d6b065c3ec1ea08ecdd5c1d2591bbec6d48aef425d91b65761e1cbc38ef4c0792ca3a52c62b6a812db9d6c4ceebabbdb2e1c125e419912b12ba64ac1c89563eb5e10e55798513f8b6068235fffe66ea13815021f2e4cff34d0501aa4a8023a6c1e2aad933f69be3229b161da5902979bf0e71fbde0fedd73b2674eec7f478628d45e2ed59b5b1321b9c68d8c0ec79fb7422f3ef9cda93e97212412c1210c2d1c02a2e5ee1b653b923fd5b350ca17196c821095e5e71fbf32577e2720593b5f8a7786907b2d460489bf25ae961fdffb3aff6cbad48b067811f192e20971204085b2c297f8c4a1f64e0847d267ba11486f2304b03cf72880c78d92dc33ae458f436b266749f0b472ed0371c5a7ddd0701dd2a70578064986ffae40fb6bcd9d9c268821c0eeba083405318c43b9ffdd1053e717c938ae7ca2df8bfb4a69fad029c6de8993fff2f4be3fa051fcf4404362341e831e37be5f48081a9a439f07382c1706956f3088da20806b5cb56daed9247a9c414e08748f44681f84bea5d835af6e2f3e\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 0a8e2386caa1122470b2b1c28bc9ff5e752726b52ec4a2205a45e8bdf28081cc12527d06ea5ea752de377078e2d0419b8e8da0ca5379b7d798c198e3bddfbc847fcf97baa52b2e8f03a03ca394d6e551b441d48a9a6cd005ec3c306c86b72feaa859dbc3076960cb5e43ec88092f2d0c69d2c6d55b0b8e955c514a420bd8c3d3cba6168f2c3ce212c8a04b534c8f2cf1b4cf5d5032ff5d23f74b332064a70e4fb9ca814269e0dd93d7bf7164361726d48fcb20820e3fddcbb480010b7589adcf19722d60097c2aa40ddeec5f02997e496c07b094f66f21288b1b6c634efc647301b76333c6bfe1934a038a5e83f0135d49156fa50bea7db362fe67bdf081f32de8418216717f63bb8ceca3664953aad3c0fc0629798635cbc193830551988fb7aee0b78dce22addfa3f4a830947a29fbe19464d0d0a74fb76237ed128e42b192fbd428e8d72c4b9ed37b07f800cc368e9c6aded9f1b1d45cb10978432990197ef5982290cb64e422a844e69a5fa9d96b854be009d3d9c223dfa4fadfb13a6e4c060308619c2d3682ce48c9b7ce29d2f0e56e5c95129f12f97b8857e0fc1d85480de20fea1db5f66a9a3eee6c085e1288c8a12fd0cda67ce1637d307a3852207184bca56b478fbfc07fa83b427f61320c6723bd877e1a34a38773f71df65b07619b94028001be0ddaaf43bb1f738c6cf728617bbb466161450a4ea79ac83d353b\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 78fa766502eccb06f5d328dd19237803a09beab4470437f46eecb745950c6bbb6e8c28213c1a108f472098f9b955449d29d33444103ec65861116dfacbb0d52e2fbb5fd3ecfa4658d34622e88d11fd1d1d2be67ca63e26e022de9cd14a0a1b20598b1cc0d0733015ea386fe92645e15d23360f9a654c1fec8da3982bc16d2848a62494fe24fe8c3aaffbbb0e017e42de8a886617d6716aca701a706344bb00ed486dd6c4976ce5e95edfe2616154975259ff539081f8b71dae6333b1bdd181cfc93bb15fe656a5a4eb964df55d1519a66fc8023dfabf02a59af4554e77fc2e391e9645909a70684f0beae65fc39b260ea86f63da19482a8286e8c7ee3bfc93fb7e0a09fda6f8a2ac59f7642e5e88373f93e242bfb2c1665186cc1223101df4843752cd9ceaf73157eee67a93d14ad939dcbc88d9c4e13a7328d9df5b6529c9db604770764355081f703030279a9f997dc9cb9af61e0c4d53e89005d664be47d07eb6bb4c4b5e79453f7afa2192bdc5491d34d9b5b34cd9c08c18a3cf9cd9cf3f9d13e229c8611a2fc583d22b0f3737f4f1a74ceb6944c0198c88c4b693a43cdfe353778a5f5fd792c4d165811b388fcc3e65dca3565131c522cf19e848fb2a38f1be44ae4f9b3c2840ed539d8add6f11a549d30255544e3e25a8b7db849ac3de562f8d7477f0fc58e26c89b6dca486b5bbef305ea1dfe91bf790124102e14dc5\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 481b7bdecb34d4cfc817f217c883dea3248f2cfe0e004d830b0a5e6002af4d94a52a7ef208df247747bc26f958aa82dde17152612005bf5924c79557b3039105238a66b1754e0dddeff2b399182827a5f24fbab5dcef1d8134193db2b7358269fd02bc11ad83ca74114e7d0f36e700eaefbce93509ebfc6483b177b58292646d16e1c66a31deed0c041884456f3577757917b045b9db6ca5a93c54258255716e022916fe656883e350d90bc59e11d0f3687ad073e3a4f9430dbdf7209fedf051b7b2b6ef4decc1c8bd56e3b6f38e0343567909282908449ceac2fd162bf019175eaaeb9c74eff24180e04747537a8e6464acedf96e557ed956104453c03a191830ee9fa23d5d8eed138d1e498a9fdfb0603456df099b1650d78ff836d13cf1bf068c8d6c9ca828b234b9076439f6ab2b4b778a1ab529d8a6d6011becb7cdddf11ac5cf2f24af50425d26db425815d7913e6f76b804890b13e5c01faca314a8d79cbfff018b4f8c69005b4db1f4dd5a2706f17d5f7558e52368aedd61117b8f3b3e8f08615396c6427deb4a53d3b0237946a4d25bc47e3f5ea0aaa5c569e37f755a9e0cf172212920cbeb31eb00a1fbf2fd55d400fd5785c5d15a52865ce512ade691bcbc27459465bc4e65a9cfb07ae397c80e0df579635ee74d0cd38fdb58bb9bd506269023d3dc8c8c5f58a3d1151171ba92b35cc7cddde54e383dfed063ac\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 27ab14c45501ca20e57d171479b224267f159104fdc8a76db33244e25be46d2555280c20e6adda573133dbfa5a3be591483f2dfefe52fba5e524106c7565642ba5c035723f00202b278e3c0c4c0ac4c2f71271ca3d55a41ffa111b9b16b38bfdf64a7fbd3e4b747c44802775168358110ad9df1b50608a1576078c13f71ddb9ef1654d433ead4dad38de9ef07bbc0ecc9f157a73414eaee1ce395141c9595aa51781dbd81fbf024ac7a0fac3efe0086d22e1372179532660ea51a593f24ef7cab63f2493f994e8836c47a340d45b04acc0efefad4eb839e537b0f9b30589adb7923a06464714dcdba351553926e78846e3662b0f8326c02efbb93b11b739e1993f4302695850b1d09b558ff35392fb6006c6cec3382c192da7ba5cbf5e233520b13b56c2dc231a607aaaddb3449c0673428bb5e43fd27b5ffa6c6b2e073d7192962d81289f3b6727095e5e7b3527c8c27dc1b5958a87f3d073880c25e022ac4e4986f2fb5f176f964722f62115e15406464270d6f3aa15dffd1203ad732c42d91b3979fb182bb4a5f0a8d1142847cadbadeedf2a8365", + "981137b87237f3699c0f0b114fcb41f83855b2af879bbca68001147af3f226fe82a2329ff7db263972730521e405c9bf408f36a1017950ed2f609a41164985634330615811b5005261fa3774166eb5a79bdda9b3e6c5528f54589ac294dbc6cc2cb0c8a76822a1deddeb\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = b01aebed848724596b962d0d628a4420f25d12814e4d5ae253b3a67ea1c9638b540c678a8ae83622c0d755206fe423c29bb3f46cc52ab963ad9e8078240cb96c36becfd2e69b60644b1e4f2183ec24e53938fe2720c4c78252b2919e178b9a53db4168a5a65534cc149e56b3e93153bcb7bb96be3429583da9b5ab2ae7bd2546cd5ef2def209872ce619a2c1d1f98bd4d720d90cbf9396441db92e41a045b874061a6d2d196d3dbe19e871c60cad31460cabb88b0c35873939ce29e70e8c11cb35ddf80b5c82a47a399890cc20eb32181f732755d4f3e761c070e88b6b1d3dc38224349d26a7c77945073bf70037cb184ddb893f29f06b6864323f0963def7652692957d2ae6dfa25979f516763ce7cea66f21e2a774a8cd1e077af88c3927f181ee599239c76ca063631a53f419497efeabc48d4b31124fc986586760224621f46826e3e7acf1e83c33a09e4a6ec9d36ed286c37c27629725bb318525ba2f0332743227aef14b42c86696a44400c496ada4270cdee164a67eacdf5a1252e3066c0775d7d1bdce5bd42dcb429bf355428acfc7e3d9d0e88878054da4b5b0dfde7f31454488ac214f0b484b2eb95419395d7936d0ff3c6f2cd2e0ec1485a7c741a766656b3275533abeec8d598648d3527feefb378749e622f97b9e5c068e222fcbca164bd1a5cae13e0a5e9d0b32e8b64bad7ad7cd17967b06d18b8b5e6e8706\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = bb673cbe9c34aa4e50653b50f151d67ed2c1297ecd20ae73a53df4fbb4987d51c3c229b0cc6063b220a0b3afcf5afaeb1881f1307da10a41af9588276b4649b0d023621ad0ee4df1fca2b4e7d1f605c587c52b8bdc566097a72f99c29cb8d29d6167731441429ce6f8931a331b44d33b691d044a7efbe97a31cfa22129ad3df7633a78f3859ee5d4a970f404be87b5f486e8006562d3312f3b13a934dcc48894dea5985505a917dc6976151f17a9818f6ca4ffcd2b020fe9cedf53945ba1b5b840a7291f449f1b42c56da6d229e9d48b0e51764cdcd1e1709ef7a9e2def7306e32b6e8355140220b4a5c53f38aba8d505fce60541a47eea7c7e3d8f2dfae74e1cd1725b4ed477a8771f55f51a50be57bb97f40329fde3a2acc3ec8d13f51428320a8d184240bb0af9ea0b67eb7d441ab63782f7e75e11aab72a7ac87e3fa6143c969b4ac80877bbb21e0b0c66be69db1eb46fe475cf6a1d5d46786cdd11ab88a99957f451cfc743a0928dfc5ba41764ab9154a8783edccad25f8336599ca5659758bb55f77d0b2ec2ef6f627047b7a15a82065dff9fb436fcfce4e747c2a0c52d30fdd3507835b49ef4158d77ad86cdc51293399aa7424369d2fc11bc93ca0c66d3d7a75f82cd2b0002b28c28cf3c91ca89b5115bfaca6d04a0daa82fc3d4dbeec6e87db394b67026b6a595b5965db12cdd8ab2ca1519fc19d326056fec39ad5\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 94b660539810d7595c69b95cc2a59e20ad68292d1f381f639bb38f2f24f3ffeb81cebdabe27a56e33e7cbdf954bc00930de4afbebc7dc798a911efd3f62b2f6b8a3fbb71b94aab913d50a5f48250ec509a8a2fa3cc22cce006aec45697ef50672d44b574262422071424fa1e7a33b81df9a74ded09018072c9941d261e2751e173c6f32ffaa184fb51ad3b020b812a890fd650987d5fd374531535dd1c89dc52215c1660f71833060945a5e1a0b530a87b34a542549c1730989b9d25b0cda122e590f0304bcd3d08bd65b4f19df84d3755e993ac5a80f169797e16760d1bb4f714a762103895283b403b55271b4fdf0a8e486651a4a955cdc8e23f7287aa6f75f8c01e365d38fc4e783de00f05081399294b1be143af43904afd6d211d49ade9b78307281ffac4eef7a5624b9f867e113c30a686472f1af4663085eb8f65394f623dc029a0b5adf0140147900ecb0320bac5fe856baccd42eec8b5c9a5e69d2d6a42b00f0e60a6b9619b111ddfca6f94e845a1b8bfbcb4f6b13e52259852ea8475fb168bd8deba00a6424b6e54e1225542493a535e7a6cf01479da324f98c34403ee944a8e37f36596779b895d829b9f35f063723ec8ff2a423c1e78328de60a03bc61095d037e8a3e246e34e2e3df1b07f243daa208240edc73ff3d9b89a1db8086b1cc7fd0adbca26510723791afb390877222434982b8b19d566cb2f300d9\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 3f529f9eecfc1e50f2407c70f82ab4c0a62d7ac9401e6c239063d575b0e198449dfd14b8fd732a9dc562b7ba83d9bf6df2295927dc8293c8502f1db4049ad46fcf9996b9b3746a0264517b909e7415a9f7d97d0754b83de36d16e85e201666321df84177a862634f3667fa8f780c404178e744cf73a923f470e02411d452991822d6b509a786b48a89480eb559c5ca7a351c9a383c76f2895ff80bfad92b57c80aa621bf67963dc1924a3014982ed5f30dfdaa4429e65767bca3521b450c4f9c8a1c36b91a9652598ce31b3cd531cefe675299d171112d2e591357c12fee6be0c52b192baa95e951fd563c4471de85bb6cdfdcc2fe7e7219b8d0963a4d6d4d72a3e94f724756c198ca340c1e09bc418b72ce9954c625c1547589e45563ee79cde1211e0169e94514f9f27c3eb3f19ef78ec78d50638150b41b59d369ff44c1f5e54dc00961a05600c5491f558e698d316eb0b21074422cccc11f80ca7c6f6ea8942e198ffbe9375f1fa55103717b765ab0fde89c58cedd0933785565bbfb0ced42133ff4726b5d42afff53686da3348572eb3a24f6e7b119906d30f24b5d007900d7095e4be80097f509e89d630a931582e112eabfaed2f562e4cce3c121167c454f9043ffabd95cd8dfc1ceb2c10a5e58faca8a23f32c86aed077fef810c32cd7266080a8b0238607a107cd036414a2185ef4b0328c6b1023c178d4fab5de38\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 2cae83310a2b413f44e68ca488b6d13ecaca8289e797786076bc63b00b583e373c48128d8500924bcf95b1d67fcd6961f2429aaad0e07a3a8273d164b8c9031d7b90bbda134ada626562d45c693c92847fa180af4f67dd87b31485b4a3e11aa188a69cec24f7603548fdb523c064cbaaee173cf45c82824c0bf5398b6339f55e07b66d0377ddc4282e3bf0bea5e987c556ed138bb66e3976288e0255701223cf93d11f415066d405aac2c330eeeabd84e7c7d022d6805dc854ab29f1ea6528762e40abcb4710503b44801b23473bc8f15a58f5f3cb69a0589acd129aebd2480cbd1c90018ecf36c4e2ecf82ef8076d8c8747db8cff0e0799840305d11ea2ebb36e4874d689622c223e3744356aff9e9817b9a8c0af82956bb11546382747d7cf8a9eb861b1ec6cfba56678b5a1581213898c63454db21714e2da0fc3eaf897f8f21ef84e8ee207b6c90a9821d4689f603e27827c0859a497abd9d0af6e7c070671c407bc3f864e600c43107a0270bc06585a6a14fcc7547978296f7b51dd8ecd43303ec204b6c83dfd4e731e3486014987ae821d69446b3578fc9862f13384f66afd807ce69037c5d6a388ebfa3e5ea5b9602f5e48abf21472838682e23826179b9c60ed6c5724db772c087e4f4a5109cb8eb90a70ee95779e89909ff47b7ca553b8f35ddb2e6d57049ede2879408fee0cd28a3444790544f5d9688e54199a97\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 40dbf72ca7d7f8067728e9c31e118d8899d71bb6a5e57253462a107521babbf81943428ffaaf03bab926e41a12da79961fec9233150d0af2d2a384d75f0c83ba607bfa485f6614d2d08879906fdb8ac9ceaf98bb2015af14e36fbbf3b381dff6c033dcb157f46da42fd89aa3d95208b917ebc387313013b3c550a906c0ffc27ca7b6fb8dba26b7696b36886800148d7cbc2ef6cedcd938a97a4792ee150cfcddb7d405d5c7670852b1e40b8d3bf3b4b74e208210378c5caa2071149d5a0ed6f2f8b69ebd8922e5f6232369fa2774dafb6b69254083517465aabad8657e550d7c36c2e2ae7788f1f2fe475c17e910e796a0e84f36eed6dfb8a3650d80b91d77f0442075c8009bc76f84a289b45768307f00f583bc3d98bb92e2cafa4703d52d6164ba44940c393e06e9b5d7bc91a11bc9396c910763aeec359d1a98259605edb643b0bee6ccd8f830daf123bf802fa0424cff97218ca54e5be6fa49f1c1e4a021d4e8981fede024c87b7f1ca2f3edbd3b9510bd8ccc90178449689eb261521f88d3a6a4e9cfd5b3a74d139297eaa0fb5b0fe39b0034881a11b2da1679e266cc636c8066fb7891863d885bf0ab06403066e2e00692148c9980a143517a1044e04709d38efea7fc7825fea19379356055ee0831d2dc0ced31070514fdb2c0bfe4a1ac1c5001166bd9b3939cb213d43b28e0825a503abfd138db3ea9d170e02f0236\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 4d8f1f1511d2c2f4ba2572e057ee0f73377ac09fca0eba99e32a346ef406c504ac40ccc3b8f89fc566b9ad43e62d1d389aebb2ec4ac35edf65b71a4d05d8b712176ffd3d0025636785a01f7710105d13155bffe7f2c128ee9580248655aebcb98bbf1410ad652e73089fb570b33038e91b1b898451cf8cd4e65eef5ff25e94e19acf1593ec99240bf3d839c1c01538705dc62f93709dc1e59d00c4f9ee1879d3454e68a205a83165a7726d13a8e47a84fc88ae0a9a74389bf1d73b89fc2fcfcfc2780c1e2773b38d3688b82e03c2298c3f584968afd0181b5dd6221ef2b0d2813c6dfb95b763bbaa68771029b1b19c77c75acd36dcef0b5754dd85109d4c86f593df46d2adc57238abfd2ac3a9ad14bc443a0c4ec6f3d2aa4133b1598e77a5990d456309245268ec6b48f876b1fbad84d3c20c928fc2695197bb5893023582e0403e06954c03a3748b1d96df7abcfe77d59b97451499aa8fb02a181ab68fe5a5d6380fb7a7bfc16e186f119b6ecd18c4a4007b72be18efa2ebb005430a405ea0cc1f2740c1b07ac0775f3b1bb25637a2142416588e043747a4303b7f7265a8ae34aefb7ec0cc912a81ac7b975b16651426fc0392b8850d78af728503a9ccb687249388d05045733cc2abb27929287cbb8963e5cc4a18fd64d167922decf900f39d1a9d745d995568bbc56a80ac21940a991e6211beb5fbb4a7857a4fb151ee92\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 6918ed68ef3e63fb6a020a6af0504fa7caf68d21bd87306ae1161bb6b6658c2e6d42277c9eeec6676d6273fbe9c215d9dab12e3aec042d663ec40c2a6ba3a1847d4f81e6631f40e1f1de474b793", + "18a6ee72e39943ebfe8217c4f6be9fedf801ea50d7532319f82f0c43d0bb80031f589364b0cf93553dbbcbada10ca0983f03a35801af10e373459673b1bff8d1154069828762778ac146efb4f2653ac1d42243a76036d0faf8040945b41cdd1cfa4994d4e9120b8dea24cc862ff4c6fc7b3da4f6a1867368165a5e4e7d786f85ad850193baf614cecd9dd1035105ede78d16daeb015f1c7ea44bcd2a75318652bc91895b40d9538568cf033a590106d370c778c0566c0881609cf0f6235296bba81fa78c59eaf76ecc275904947aa74ec1692e6d35e715cd09c4a57bf8ef2fea478a30c9ca8b773f2aa7ba49af33260f9d37d72eca27f67abc14d51cd8f644a163d2996b9e92ba424ef1cc7f657dc7591d4947fb5a19ac5cf8372c0b6ea64616873a2b8bc2cbeb6eb0d58e106984a3691a588dca0e0d6fbfc071cd3c5e4c00c3b0b3c245c685cd1932c58770cef8bc916ac11781994a9fb61f490fc707ede0e90ef1f700800c59d113ca7a347a61791100c60f3eb5aacb168bce7a7535d57f29ce61be9ed75f2f02cae48e3637eab25e1e26c432ae7d94e40a5ac8b6c9117f12fc1ca3df21aee1160df775e201c9d32c33393\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5c3930a672c7bb3370704c2118883d71eec08d0373c386eafaae8ad29f6e34cd9052f2c532bdc2dde0d33dcbc4e00b54984f80844462bd222a886abb303fd4e78735c34eed7d9e72039c01d8a6ab7b8ad0d5c161d6d6a50e67a72b1bbb58fa03656f6860bacc01d1e79d99818e26793100573a3a86441100dffe2b1bec0028c320e271801d9e29427c7e48277568775fcdb84199451ea0cabf17b44474dfb632552f03118338100118495dc62df9fbb2d623bf8f09de14a03a18c0d5895844bd08c7c982fa966af224bea611bf7fa7a38e7d0bb788827ed66413ec962a8c49a30c2b01697b0246f812d484afee38fc3f49e34770be2e7ae6dfb0a92c70ed84bb516b1f5e26a04ef51a00f22c894507fbde0c35563e2c1ffb33e2847d16fa1c713cfd7f25245df18062c8c8a6d30c4244b01dd243481a65ab0685ba3cc6be4aabcebd7c8af3e5bcc7ea0c75e2f7955bc834d4f4280c31dd3ccf30dc0ae5ffb2862c8e42fbd86919e4f449f0513587a346a714699c4d1c99a28d17f4b1cfddc3a6c032113608e36cf0dcba19d743189f40a4374b66499b737d7f53bfc86cf334ab9ef9dc9e178098751e32471e9edbc00251988cc18fbd9e786290e523ca54907d3e3c6ed78c8217708f06a5bcda4e048d698453d1e0deb0d79b3200c1a7380289ab047bbc99e05dd897f48526d7fbff7cd0cfc244c991c1f962b6570c83e409b7\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5179f20c7125d575420c85b0954d96a0fa73100b265113f301d91457cc901e04876f86603f7b5edfd2578fa64c1ca58ea48bdb7de0f7831f4f331f25548b35915167cbbfafa56ece7fae60f814c3faabd5101d82f04c80f53e3d1ae1a3ebc6e764e26676ea8ac34c64cc3f1d81a6343ce1622dde7b80f7d01f5906b1b05e6bb013f1c9ec9f60fd9a0b6220ad1ed6daf7b4a81371f3d80ee3a5f80bab868a70462b6414d700f60df20185bace77576a106594d2d5ce4b1eed154b85d779329d92b9187e181b321619e7fbe9aa711d98594b434f3e013eb64ee56cfeb7a70e0ca586e177540460512e61698035ed1e1537a635857c09e01c762809a8fc348278060b7b751c3009ffb9181703671546797a604b435625f21196b49d3cab7a4450c8bd339e2aee3a1ad8ef61e6643ec1037b593f66f9632a6fdd92cfc7edf472e62e386a3b5434a45f742461372ceb097d23b7b4f5d153d4cb4e7b692a736925e5110ad1a8ee42f992b96d4fc39ab47e14854913b7e9aa41536dba61de7f084e25609a08cda63f1b8677396778a0016445333ae370a3f26de61c607da3b1bc52dc3ef8c2b96b9a9d7261c4081449da088c6f02cd6f97222191a828dceb8d3c257ad60aed903d689123982b6d3af0b03ff17613a4b77d0bbe6f671c6cc04978714899714106892cb91fa91d912b1fd570665264508dfc1117b5d60e066ecdc494d7b3\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2b822c97ee5998744c50488a0c2b47422c2ca0e13c8a07aeec7e42e0ef813077212ad5046b522898fd5d5f4a4662f25ebaa6403260ab5966599159c45e66e21e62b94f8dbd41cb760424cb8dedea67405e14bdf327065b2ee3844da82f7ae8a2ff4641b9a83ed6abe51cfdeb0c84022ef42570ca51f1f4a59956e43e3a59f132afaa4e872b1534fadd8568cfae195f6faf0fd4a405d5b2e8840df0db18ed8dbc2030ba57d2d49d364544dddac038628296b9937ff4eb97123bbba35fe7a32c676bc0292901b16fec329536eff1922a565b91b2b8ffc0985563a6ea245a20ac0fd096b227b0f3fc610f627a9e306336e42012ec55797a67a5c411c647e7d4f3422b3914ad8be283f33d654debafc3bedbd84bcac4fc16f70467c34461355396d59afdd13420a5cd5b290adb9c5d05e5ef3c9360c3ccebff652221dfe6076104e9acd92715344cbbec2b174c024ac06f7dadd34ca1d24750cb248bafae221e7d88750d3daf842717d567a7add339ef54b1b218d634caaca3a729b15561ac75f1f38a00ed34bc322e854f9bd5fb69b3e82062696e40602203f9e534295ce2ba8245afdd0c6028d1b02719962ff054d2e575cf33aa5076c75244d07fac155c3515a4ea9eafd6af33ad2d7536322f0e9ef91a28bf82e98feef675b50b223da27331425029a6c30d9ced424992b75d10c1657c0ec5c133f168304e34dedb4cda80128c\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5294afb7d060306ba815a17ba743aa671114bb97487289a092183bd41373e5e3a0df7244688781af07d118e9f18818468a837e83f2c58252da523f8b25e61c96fa6ac97434ee553ce58fded689ee82ceab47b38f845e725504b2ddd61753bb9e334a607fc45616ef66b347aec5cd44b8a78968abc6bcc0a2a19c36324937fd1eb11554516806dede4075c86b86835a35c60f4bb482204d0b0855bbaf67228d6936dd1886335e85a59ea445084735368f76be5b7fa3aeaebdbe87591451d9499cdad26f82ec680a46587d5b1008b78bd99575650af8975797bdea912932ac9398ba35ac95a615ef6b51b141f18eea88a1aac53dc13542eecab714285f5bf2ea75d9385425784fcffb33128bbe3646e5be152b2000020bdd0d00e008e674d5012170b2ded848ae57bdaf25877e333fa1c112acee9fa1498cef6b353e5b3c6da68bf49f302372bab5946065fe20b68ffda400f57f82f9e0bb024e06da7370d8ff47c8cc0098cb365ae97bba0608d14565f83a73008a454f028eb818dc8f5ff2897ffc964530990dceebcbe3acf46151b1f1111d79f99d988e89481144c39ae4902effebba8799ca9ff6d51994d94c70eacf33fd5e8a5c38c72d2f1e282688d2699a76a99f123dbca741d83aa222cbb11c85ca1019da80950c0e00a31922aabd37f6685150df7ef26587feb3cd825d5b4801a46b056b2d9dc491790249fff549bae0\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 15347a7617d234e8c94d0fecb9960972c2c99ccb33d384967fb821d9138debad76fa5dbaa4af3672c773cd95c9f0349251a90e813acced8b37d99255cb6190b5beb3083c176a6e30a5371fb32e8e1b8345dc60bb4b642aee31179e81107bfe71389bb4c821357f01c2fa352368f4d03f88e4b6ffbb82228681b1d8bbc40bad39ee532f35e747c7962a2a2b8b862939c017fd16f1f9e1cb68ffa78b491af152559376397f59ea0d13fa47a101c57fec26152ef46809244a7a1518d9a921a2f07b76e5b0269a504bd7add87de023a323eb4fb32a2d36b05d3edc840be4b93300cfce30db29d3b7e2ccdac422423e6027a8de9cdf5d998bd04feb953cd455d1b87e7cace1d5ef40cf41857e2611cb046bdcf6670d548e76015f2ffc48f482ee68aa9c963d81196ac8e99bde7e0959107e5646de07a1c44e99fd5ee6e2633b541c40579779baa2dd0448ef4e1169dbc7f328e59f618e8084212f07869d323510e88d19e0eee65784fe6b4eeaa584db42db2587740a6a89e746bac566fbe8ede6aa3e494db5143c5834454c70a1da8a66cc7382292f04102713132cf74f992e4690efea72dce8cc0345c0ce368671deb564515a43925d858f4e04d99c681195ca77e0731dc73ab14c1994a32703f7f30859a542e949cc5b07398246a2e428fb04cff95d4fe48a525384c9f03dec4d4a3220e17d55e6a2b2c241e83c76363a327d8483\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 81d45dd2ed7bdeb122eded3c9d8e2a9c0aed1857483764f86e8d9453ca398e159886710558cfd82594b82726c95806e364c857aac2309f249c3f9272e2842f19f381ba9f062ba12163cec808a9d2f75f01d3760937e3c795d3028223b29ebc6b23898205ce286fc2c7345e67644db5b5fafc539a4a07f8da447815204827e53421431e978e86f61c07e413ccdad6bd8353cb0b6929cab0b309f88891ad9306046835eb04e6295536bc39f95d4023d326b93896217f4f5966d7c297dc58940652c46af565871fa0af03d9445357cc1e62ee9019a3cf0709b395db776d69063a028c04ca1a1430cc85dcced8d05b42698304f674238394febf532e3aa281ea66248b5539a33c7320e6c080bde47ee1107b107761170ee18c094a45385dde9def358360114c7ff9b561901646f2872825d63547ea3dcefa9a07be2b96ac269e4065cdddea77b8462478c981d0ef19c0bc856e00680e728e9189674fee43e2ab98b8b43f822b0d3194ca8e7df40ca9b8c795848c9f4a7e7a7ad8011e07a1ad88322c84af0cc1b979efb2c53bda8877c0bf7620128dabb993c4df1f6a6b254aab3425b9ccef47eb04c20112d04d6089ab2bf67b1fa9e4beabca33f882a9075dab810dbcde8dca885c897983159aa6074e022a2e2e4e3b679452ffc04bcef7f267111df2e7ea57c7bb593454924c3640c37487b0d3a967e56748400c856c6530df8ca4\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 63bfae421bea1bc841c4c55761d3b902663c575777e3a4ef2231406600c6055f138a97d8e52a67b1edf7d47384e32c56ca0e9addb1f33e425613a4449ab1d511ec58f9b03cf8ddde8113b943148ae6456590a81746382d4622f260adeaf217434315e1ed44f52ee89e705b292a641a72e25d6393599af2d77524f720996c233540751d9d300ffd467acf58eeb1b3af0ea9805d5ebc8e6f70ed6bab6c5350088ab1d279b4ecbccb41a34a3d7f366df89f1c477981876ae70f019b9716e8c45519fed27f1599d469c93ac32ab0aeaedd37a067b6d460eb7de710e7a25c7c2e02f2d2a79a2299c6d4745af60e44cd30d804fb958e9c8851c191575b9cba358200f413e97dc435a8de7b996a935b87192a1fb9c892be426786c2a26e38ce1b61ed0600", + "aa73b142498952ec8bafe3e261c5a51d70cfcd8f179216386f71956b017fae883697fd626798dc3ffea15fd689e59fd5c9143cae2f150e54243839fb48dced3c70c4061a88fb77d971420b858ffc221f3ad6577848117970d062af3f255e197ed358a5eb7efb063b54fb6c21073ae1187659099682fb1583a0242947bb804665912471e4121381e4a7ac9b33d9a1d82b48a12c8b98e434e97eed912a41363bb66b78d92fc52dfb7c153449a06a095f29798101577fafa4d9125775621853644e2fac9b2de281c0dcd8665cef3d1d6bbef61c2c091dfa931cc6ef40ee9d5b80\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 921897122fe95da7b369055a24438e31977ae5ecebec0e6a969efc589fddf69237fe8ae0761a4ea886fcf52cf3c40a8432cc462815fe34480488b094d5e156df992564afcb2808939dee01a8d9398b7dac996a76a207f7538b382e4da8eaf403d470e8ec98b9ce939ec7c9d97a8a9eadc2b7ed4d01b088b57483b9840570ef35d404f5bc47be1ee7db3a19d9359f5433b7ba5d5770a1c2c319c0e4574e7068dc0481c6446a47291f8a658ccdc974842d85658106d75a3d2979baad2c90b597b036814535b3d437fdfdcd0977f72a66c51c27ddb846ad7181930ece42056be4c1b7f4d62f081f60befadfd4493b1400c749c9d343b15356a0c4b863b9dfe92baae0a6784e4cd25ee1d352c55d257c16c7ecda76954fbfdaf79c3ae8ba81a940264bc75203a1ce4090f1e09ac54eada3b84a06a13fa5253f38f61dd5bf8fccc8b4645756f08e66f44499c4cf3a235acf0aa156a24f6070e9496ac4ee0211068fecbc5e6c7ee19455351c1037561deb2e86ad855dfc8c02d73b109a4e775a9a104c0f389dfaced039127b93c8a6edd943f8aad35c7e074a918b599a9d305b31f32c52e1a5a735f71635abb0d7833e449d16247e4d1bc1dbffceeed7c92c4b1805460aec4e2442513ad391671ac87b9b089b8482eebc80efb9eb389c4e87a85f5f53f7882bd66b42bd09b0275e60e76b4208384e6fd864ff99a4d72b39f401962e72\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 37aa38b4532bc3cbba962bdd106979b4bd0d06963490f0a7c4bb0b1bbee5772fd976902c077799e6d24d21613e1aaf364687521ec8c75c763e27b94734c25a5595a1359e9f2a72641e473e70aff36ba14cd79495fdc0055c2f22cde8a0dc36bd0c4eb8d12f67ea9fbc05c282b57834b94f8704e8c229207b82bc379d959ca4284da7ea2bf6cf08c189439d765db056144f4e0f65db91128f506664fb1c136c7649c92b38bce90a4f8ab6e08290cbcc4d924c01b1178ad2993c971d055969b5253cbf98cdeab6a87cfa9983c7201ba7ff3522a292eac3a08c7f463fff16ffef3271175ea4eba206a634844fbd4b130a683a93785b7893e9ef8bd3ae73c513cee3bb1ed8da9be1a9c39b20ff0c6aad6f1f178ba75d3ebb71140f6d75f7aa71d258069a14e1d42934bdb8ddc3ddfff75b78c1cd8e1fedf0bb0fe66e2e817db92f98f7f73417ce821415a0c1b06a7ac5d1e4586545129d02a6fb171209446c7adceff80198dfd010f84241f3e18b0b99458092319f967b7064f3915d171875a2b63a30b45ae60dd1ed8af936bb48d8254e823f167a40e89bbfa2ff40ae2d48dae05989552cf8ab5bf7f571e5ffa7f9a1808723fc27555ee7595b09dbbdb3f35181da4b794995b5a07b96cfadf38d60204a8e0172fd92e0d3c8902fdb0c161f3ea3053bae2e21a9c478aea7bea42f8ab082e6e3777ee58ad797b0bfb7e7c79e0e371c\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 15796dfe18c6eedb2488e75f4501f350c1c35b6af637f09460d94f3c61d4e119039c4779b88994006c3f62cb7f34f39e8ed8757f28dfafb55ca2ba207147960a71c29d1089550778b7b187a4953610e856adadcec93e166bb718cbb2e5e7fd09a2c0d978652eb89b698f2f629d71da55c2b2caa24d4069b82f4074dfad02d78ded1e1058f67117def7ceaeeab37bd48da1ba887bee751bef68ef4028c7cf4577f883f463eb56a5fe9145be0b2cc5455a9b3096d41af9f0f500da9489d00b6082689706fa01f40ecd0dc554c8e8bf6021139978bdcc25b73e11c3fdf6a74d3e1ec6260eaadf40c0cd86db81de9287b25e5cfbcb754a713eedba9e8253f65a7f02eab00851e2c189b3cf47f1d60a1c3f058f93aa644def56afa071677eff0d9f60eae8f3bfecccfb63724c618558e51d3455b7ed103ed1bab225dac9a675d56c960757cfe3609f178a13ba299ebca3468d7ed0ae53a5854134bcb3d875642224d330e4af4680fc951801392cf2c43bb8b299ba348cb91c890886f7db8ad8113b5e84215ca1be49199396be27553f8d3c1c4e281d4f911e39048229e4761197d2147276fb9d88565135d1a2767f8c8817ccb76b835dcd2b598c5567efdadde869d4ed4a3446f01f271f324c7cc943a194a4e6e1a9d56658419eaec73b0557f823a946c2f6f4dfb8505cb2620192df8f110fbbcdc4fd6b2298f124cd53041b0913e6\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c699a76b8f2743d7fbe4c47d6052887a8cb6cec90f7eb95f39256fa677093c71f604645c9d01b6cf177e6b30f825f63a0ff805337e1eb4f64d5d894de4d2bb3d0aa3c39cf309580a3fbd5415710b4d9aa015edbe4e3189ace28cad4477f2a73af8cfeaac7637cb18bb5aca78fdd2914281d6c0cda03ea136ceec5920fb258da99e6816074dff6fe625873d3bfde7818c756329f84f398a52e7a7ac886169f77acd790dbffe66f01c3820d93dd487eb3c0e222c4f0c246b99b13b5038a81120d8035c5d023e1296fc25d09a64a1782ea557df44219748c0572df48cf8eb285f7c2231e1aa8706f58e5dfd6723c779f71d87b8af852895564f869031c6696838f9a00164e78069ea87c9106d439c43d7c050ff1dcccc17a83b05cfd2b59c7c267ad5c32ac6e467496650d6fdba12ede1cda8e15e03091e628149e6c43183fd95d4bcabe8d179096879551e1259c59d6fbf9f19838c6283936b6402039928c8a428ccbe97ab523f79e70adc17e324315a740b00be8ae82c2adfdc0aeb60a840beeab03c6e690f54d4103858bca95dc507333892c15536d62b1f6b32e3f50f6faac5cf29833186fada7deba7604b1229a8c832d1685323f0a45e67d32a447db8ebe1c1d5083fd84510a5c92e839573dabbb97c240cb1d53909e1d304807c79a859228a3dc5756eba16b9545940c077133e876c6c280f08c5dde9eff0498bd5187a7a\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c4c8233dcbfc7d176ff4d31081ed91fe02a64cd00f66e830a97dfdc3ce1a7952fcac2696da6a95a54b76c14115ff9337ddf7c74bd36932e0d0abf5535b1d030ad6848f8f0184d62784d0d378d150fa8be447f00570492b6f540f88eba62917796cf9a76e7338f27779144ce3ec7196bba1f6cfb2b47541741ec454a97fc465cfbf1aeb681618837c481fb76074ecbcecf18f9ced503b5203fd3bb4c18a6a2d6858020c39d641063d28dd5d4903fe7437e914114e2fd8898b5170d3d50dfe856bd72ec1c676015a5335832892d015e39ac498e90c8d179967d425fd59663b8270fdbcff3b433fc2468f88f3126a4f3a5636ca92af919d6ab566598498130d777ebf8ca73705cc4e4dd6507f28baabebd462ca47ca24e2ad4a1a0ab930eea27053aeebeea63d32d6096fc0469adce1649132081acf55b80eeab28743bf7da9deea58d3ca0a96e4784397f459f6cbb040dfb9a6f813be0d55b1dbc1c3a0ed32e2e11ee01b4c6854cb4b3332027cbca24d0af9c2f9eaf61ea809831d44c4e194a0b142b49897496f56f933aee0e2fdbf4e542e0a05dbfc077d4cf1e4c41f8464f6ca18a9f958d859a6a6326230800e88eb6163d8056e0103b68987aaf0a601bbe5b9c50f6dda156315e84913cef48007933d4b52f100c763b7e1b78daeb2cfe7d6c92d32307039db8ab24889dadb7657ce0d36377f9e646da539747b266d849bb92f\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 42d49b58398a0600e337a94146eb805b9419d7424189ced4a3cbdb49fdb82f47aceafcada6b120f6ab678496ba35be664598cc35e230491f474475d5ac55638d02c5a1ff93287a684ade443b5ef6a4715ee19680d9466db8a85d152251a54afd2d102eeb546d61ad80552353ffbf93ce5c38850c60a627df67d57fec100cd70a51558dac111972df1a1f6923644cc53d0b32c8236f0d30fabe027767c81e429e77cf2f0c21c979939133eb3063b447f12c6df48d82aaf3294d6b2fd1ed44a9ee123c7a6ba68b278c412b673787f6f6161553604d7bccaa4178bca05eb4b650dd94d73f55c7b2a2859310d406f6ea36f1400230113b3c4c6a9cf2b5b79b7906a184d9bdf2445330e5d869693537897ff45dc8e9dff48a78626e7da181ae439068f80f2bf460e9274a42d9be27115a456f28593bbcee4f2b1e8c33da85cbb0d4a25f551340b2a6dc6cbc26802457a720b053ff39d70b164a019643ba9e61172b5792cf4f90a277637ffdd9eec290d1ca9717cfae6285ae504120db2a081368e06bee71dbf5ee70b63037044b1b3f20e5dbe1749832566bf2c5788826df2983c38049b806e06e568d18637a4209cfca714626a433dfd4f4954a6e348fc373f95c59d2aa29b9d3dd435630f500d50ab424cb8c7b795de92d14c7fed75f0e2181b7ea901286dc9fc61cd887c6289a357d633c7c0ddcec38461784cb59be0fc7430e03\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 28abe06eabb02be52b20e50de761f97fa5f454f4ce892484ca7df812c4dbcbab2d7163a20c0544ee454e43d1c96fbdfafcfee7d9c5114a5c6b324157e77bc283c3b0202e7067e252289f6feffd3bc287d6670f85175bac90d4d842cd902ecbc489c881abd113273cf3802ab3c4e347572394a8517763d7a2985214add76e757ade4994bdf23f7b9fe3d936eac96ebf11f13b3f09deb71e13705fb2a2c52311162eef035523902874989cd63e688ad53fb35bd5f0ead9dab6112db19c2ee186009c83455a57f6eceb4e6e5c2f46435d21d3d9f7d6e53583c35d859f42da569d0113322d7d0f91468d9c7c05b4a648b45b15ec638e210436ccc59acd2b223fd98255dce7cf75dea03cce9e8f80ebbb09b13fd2c0adc7c039ef0c5b369031600c29636a7ed8dbab4eac60a9940547e3591b48d97c329c47d86eff1b0a3f28f3b6cb213fc35bf35098e394c7f9f84277859fda51ac25a3e75dad7fdec12c29ea441612213c56d24b4cbb8529b8ea80d1c95690d540819ec36332d05ad922d71782fa48a2268fe149b6a77ea4b4f941b537c170607ad1a453550cb62e81ec6cfe8c0eac8fff6fef5e5b148c7ac5bdb5317a44c17bd9ece2a41305845ed3693911b3243b94f8a5f8cbd06cd1fbee782fff542f3dbb8367263eb1f79474d1419c6351923d861a347c53f298f2a959f6ea29015a99bf76034ba9ff91cd79a43402172080\n\n# tcId = 57\n# including garbage\nmsg = 313233", + "343030\nresult = invalid\nsig = 606368a102b687b3f77b23add45ce84f5ba81f69c55f327ab98c8a2af52a89d332e202bb3531a31394d683c691cfe3dd1087dc7001bbd58aa6eed9b22933c4e84ae303b449f38017dce2fe034a2cedc6ed4b2d29c8ba95dbabbd7337dd797429ddb2defa3410479bdf13b120f1ab1663f01fe13cebde75545ff950f374bee071a35d0078e0d11e56f4a73738a205431b10bc54e935f097c10559c7f8cd0fae3f60dced2ae9cfb90f641ef79c627a0eefeaf04f1c5d03c1a3e2dea991c7e18be5db6bd821b07297b630e33b58cd8e1d964935cc330921f89d97b3b14960d59d8a228fd1c7ded2728e7159a5121cac987c8afe63b58616b8b8db82942558f997be8853b3b152bebc39f251223fde61e05b6da00e273e54b29cfdebc54b2faf84280b09881def19f25ef3d36a13ee4a30dd30f517f9e738123f090e69a87f98b51b9a3100802e4be126b36f02dc999b1a1d83481a8903e6e87bec9c85182a6573747dd00d61c9daa35954cfa76196a1cbedb50b9491e41c28b2fd3cf69c262fc52307f97870fad0b16ad013ac7ad6f9ce9155d9c67d0f5e197aed564fee6a12b0c8c7fe3adc5e354397d80d7ce9afc2516b101f67b061cf0ca4842be2dc535fe51bd073103fd57b3872ccebed778cc2901abb454fbc77594e85c5d02e4d0d388e1e3ce0e3ab5b99a321de242f6631b70b44bb32a004d167ec248e6e0a9c55bc01b6\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 578e32b1a21efd13040da60f84b4b23177693f91f0655042a485aa72bbd8ab5c9404ddbfd679586e11ed1115784c1d0a052345106b8beab6073258d01758fbfe4dc6c6990c0eaabf24fccb77ca7bf85e7b18ad25817adeb6ddad6d85b7d7cb3214281676ebc2adf0a4e6bbc9a64e1301c31d0c0c55dccc050a798568525bc01e99fac22fb44dd636ea08f388f3ac0c515f92242cde081077e88ac47b13920206834ba3e27ff6fb4ecb7c364d8c70f66cd6df9f0e3a4742f72a8ece5a4578d7f6d54eb7ef24f6a693ff684d0358802d0d842f7ae8b29d934ab657265cc8af115da8b8049ebd8767192db1a876f9412d021ffc7b8e91e2495090d556a35ca16cd850c521b65a28468cd130f0f23fabad041385b3232583d70a904cb3d7b6d7f1781b4267bbe27e40d91b2cb2c18a8da23aa3dd6f82b3fd6e9325dfde9958a284845958f5cebb0bba2ca1f34e96c010251286fe440e6e395117b6e2c7d9b007f13dbfc4d5d512fe66464264e6f5c502bd6af825bd502f8bcf21d1f213ae69cfa68f16449634505a6e965bd68e959d5dd247e0944ec26e4f1bc857f1b46f55ffc4cfb85df6130cdefb147a65025fa6b12f313e0b893815876ab575c0f9647bf69f45f538bf0ecb8593dd6a39aa12ad3420187d291cab553cf3a4c801e282a5db349b54ba15fbfb1054e9aafec5b45ee83634dadb7d7a50af029291428f6556280b09\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9759ffc461e0e342fc0ccab8bf5f71a528e12e368d45c371dbfd709e7a16d146c3b847b2a9a00d54b2eb91ffa080b072a630c0645f2c8c6de2f4f815702a754971651914ba24a9c35d895e747745dabaaf21ac9b908116e56a8043702b151555a9f90b33356cb46b6989a4a900b8b7911c2704440173321293ca6382b2289f859bedc8ba6d160355b029a4b3f30d4205b33416b41e97c2cb5848acfac5d52006ef8d93638d48a2e0fab5dd6d6009e1945463e7ab53809ef6aa7ebb297b5b72ed9f55c43df18d85596bada1b014a5576a195a99c9e6c729ccba224fd46da6f0ad1ce90422318b0a2edeb135b12fd61d0ed2b56be2cda4b4d9819d537bb10079cba8d44eb401498c194d1e9eed31604cf79ffed10f8675ee31d57dd2443afd43d07d55b7971ae50c38b2b00dda28f7b99d14d3f885b70762ed54eeaa899aa62c738035a972d0b6ad1574bfbaf0e8d2fbaefda5dfd7c64e44e5a81f1feaa3c9305013ccbb10af2268c6001d0c2b3d0edbf558c2eaa22d3a840e1cf678de90c341d310de3d7a3eeff1f275fc92119c7e13e9c7f8230da11c9acfc1ce44d1dbf3766cb83e1a335d9b2a51dd2d7c5e9316db24a8d1f9fece9b3e19abee6a54694a0b622120840629710eec4da9b1a1125f0a8d68a3a4e95e8d5de298a308857563add33499e50aa09dfed1ec34c103dbcbe400daeacd8d0d1a526b922afefd2e421c54\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 55c9f8533f91e175b2faef772dfc8452afdd8af6558e62d854688457772785a37fb25c9bdd54c94374ce39f25d08ae61d32e42389a01c7ebfe19ad81f85b2680b157ba885f77bc651da4744f06fa06219f791c19e6c65a443d6f8ee989e0112a9b2c7a50f7180474861ccff6bef6f4d625e06d072b987ab6d5f4e49397a1d6ab5de81fa17790af6c20d6cc173b7afd8a986e885db4596d784196a1aa6aa16566e4fd95ea1acca6abf75e76d23bb5bcb9ff77703924c6cf0841bfe20a9210c6b039837765fd88621ac40966a7fff636d8c08d6e01aae0e6cbbe6d939273b41fded42cef520723689533b9c9ef880cec7165b51d2b2661abbaeec93655075e8ba0966387770ee4bf6dc0b5c64f700a1627ddb6444331d3d84a5f049e4313ed3408b3235f906cf1f71cb8a659cbb9d2d21bdb570a890a84b4eda357f5798e491306a146f9e48548567c21ed146082cc827c298cc03c7e9948ce0aade3c663ac1ba599a0aa4794f80507c5948f68c72ec45815b714cbd5efc5cc44b9b8143a00dab66bbf96d8caa34d89508b05de17282fcf4cbc16232123634efda9dd797f38d54cba71f4d0c4d610368f7687dc0d042dc85088f8f8da3ef01583613b2a3093b9f0f67c29120a6de03c92de3fa40078d5145d9331c69ca03e4978bee78418ecfc85410a19092d2eadcea18edb79849b838dd991026fe3bfaac57ffb0fa4992e41af\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 622bc03c975ecbcf270d4fd0a81e245d2d2bb967211995550d2599b1ff72b0106fb155b2683ff4b3a61aeefaa4b9933a5177d45374eda2994c3b5394106a021ba370247559fa1217fb401b6a57c0c7f7af1dbfbb73ea8c1a8f60b23a65c1bbaaef01f35c0c950e70f430ebbce87ca13c2429b8e7a99bfc2fd9d563e60c68b0852da2db0acf752a1fe73f577fbd62a6c06f479e8bcbe0f6eece671644d0f650254b0131381b3b5e55529dda85fbb96ca8e7668d55acd5dc08dfbcba9962ebcf9e82469a11e38377d47aa6ac47e9a8985d35f0a23296da33457e3c95dbfeb57378dede44d8be3df8c88eb953ee82aebabd5ad5e632f5f89aef6aa7519a07fc52ed7314703cd8778672968ab6b31e5b371859fcac5267fc568c1339234eef70b22590dcfbb3678f8e91483fb2fda6c62b2dc38c7db4538d3c4673b7ab32806f8251b41be88226def56d05e031b1ae47b7375dd348081bfc34b655ad5181f83f4c7866510e947580c9f79d7cec9a2284ad169dc5c12a135df8f8aceb2bbb853246f9bed7ba175dec9c5f4aadac16c9b3ce74383260c9c71e88ad54161edbda05cda6922d906be8567d1dd5a78191a96c164976c0f6078d36468acc911f4c5782841273f7181be5781ad330d4b371e2b1888f53c26824ac4321efabe3a63a70775ba2a6b123d82365aa08aa01434fb973feee939ddba69d1d9ea0a4cf5c8750ecfb98\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 48ebe9de8e53729f8eda91b65096655ced00e42b9e60135730e26f454fa2ccfb75ca69fe5d199b049200d5eb092052df1e49c7788f0dae5b1e1fd0b90ce71be65c3078adc9f2ca1690dea7c8c742070449f5f2e381711f64960a3c8af07492a7211c6c4c130b51cc02eb4705cfcc5de189e59a4ff1f118bcd05a99ba5bda03d789f573aa859df0f6fe2e09acb2b48f3f2205d9a1b1a576d10a3506344c82dcf636013ae464dd694c299f6bf3035a230ddc08b9bab222ac4ab8eedfd75cd00ff7574fd351d3908f9c625188916a44a57c3da0233043fc4c20d2cb2d2a02f134764982a9a0004324ac2e8cc68ce7d22cc50fa792923c5582321ec980231bf00be12fe58c942584689d2174260558c2ba96366185de989149b4bea1b45811ca835f98293f6da83325f9f7fc24a67652e2629e8b429ffcfdfb1f5f8835d4e5fedb6f37b0646c3593fc2085d6166202535d16da6eb67bf63c5de8972224356424e230e54710c25d0077927564c35f7898766a6f9c4aace37037c438a6d795e575bed7df883e8ec673dd7b40e801ca1fa943ca8794f3edb528acae6f083985f5fd05b2d8eaecb3db23304d6ca405507b0aa3ea0ce5dc3db24e1d4ed5567659a51aa2f0c32d5653a78a9a3664109b47c2ca8667a190dd5879377e2a9749f45b115dd6a89bd98befe252178f4a202479e6bf1ec5efa3ca4381e66cb2e69d56d68a5f9039\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 584e9969bb4b1cafaa2378ffd159216abc171a48487e7ff85533efbb00c31b133eaf6b61d1bc392c0eac00711c2c0a5815319b8e12f0a50c3f357d9fa419df1f1c81e1746ca5f4fb0d304f269f07d4041ebb0906de301a6ab99f8a792ffdcb26ed2fe000f8a719a4987425628e49559cccdaa74f56b3029b23ee6be01da127bb6c7c47067b281ad8dd47ab02ad93c87941a01e3369c7d21086279d45f2cde90faf493933539ed526eaebd254b03a5c5b69af634f81dbf30ec8b9cd2ee5d5638e7b9bb9051e9dbaed1895afd992db9cec16b30a440c640660bffe55621ade0ac1ee1f61823389577de5b76a0b52319a42b80c31f457aa9bf483a9d61820d418d90ab9a578560cf4b8d27ef68c338b2c5a6c7b92efa493ebf792b24218911b5acabf2d4101a62b90bc0d860c66dd871a9a748a4adcf8307f676bb49da703cbc24ca190a2641ddcf7e590f8b93b12ebcedbada2020ffcd25492f1683909e8f63a2139acbae12b9b077f2e327a990503b7ec079d288b23dc1ec70df44f821869e106d1717d384e8d8e55e29143042f91d98fd14f403740d0885f353519f2be192b172d4a0ae3399324ae7620514029bf60d1f80d4d228f3378b6d093729aab9af1defc2731929037b6f36495f764ad7b023517edbba0f9deb31e82456c98f7d1b7aa0a308af1350c17295208515b6055a6d2bf41e9a98f193a5568e9719523b6dc7e\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2eebba04c692db87e21982dab4776e0ea15be89e1ea2b7096225bb3d4c7ff8eb5a35c0ede28f57b052eeee4718a1215d4767b8d31931d52e9afb52e48b493a451f32e1a90564db40bc81ab8a1885b049609abe7d0f2e4ed8afce0f7b7d6fff141dd76a3004c2bd9dc8cd903a2bafb77e8b9524f38a4aee393a07b787c9527cc7f39d2254f10f1c834416ae9cc689dc71dad489051bec16469552714601fd5c059fd076c2f011a37b1ab0acf7fd4729e232e68dfd79ec0b6ee87413ba94ab4b53b1619d760c8473fad0d5d6b6921cc0838810c911e891d3492c2eeb008a1124c2", + "5a2a68c48c72064f4171c114a16effb23e351614cf6bf87e63df60bb59a77acf769924ecc1a7a6cbaa9cb29d69a7ee5721f1e3dfe8820120265195b8650a4c3f5c3fff2c66658a79c3f9e1e9b83985e09b42b0907791f65ff0c46bb10dceb0c16d0aa49c8d1b9b5f094eae440e62b938c842bdbfb0d52340e8b77da5c728574f0a090dd3e5eaa97a2c3fa7c1402768a693c7635ca722d81f101ebf1ad853ed6a3a2fda270c49e9afedeba199cc6dac0a329eaf47a35ca0a304286c5e9269d6d82cf9bc3aa49feb6b775e82a1e474d6bf5b40ddcf8f976f5017018ad1471ad50fa1237d1af971c153339cbdf9b6ac5bd4f348838c94c5d68183bbf81c87f3a362a795a714396c0e2c458bdd86c3ada3b8049b175d540d36b5ff48ea6f51cfd0b0\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 72e0dbe8885928b6f14fbb06089957a13e57a87fb1e1de0edcf859b35bcae036a4986c939cd93a67525e960a3863ef32a4eeecd5544f151e6838305cb7cfac7ff9a5040c078fa09b5b6b3e1297fdccf34ee22c69079e912a67acdff40ed543def23bf6185fe12c91b29f73f68baf91144d4298c6200941f7fa381cb70f02d951f261bf1e42543eb82a93e94c50c955e90d4fa70317b1d0d6d6ab771a6a4663a08a6b22248f855eb064364fb7f96d755ea62debc5f6b6f08e6024c221eb599465ffae9ddbb0db1f9a81f6e140b24a36bf16d4c02908af25478d1d5e8f35c2fb088343cb51a9280dfa5d0795957cf62ca1d4c51289e64c7b14ce178ca6ce0baab676c629f363d4a6ff8fb8395a1fbfe85d3de190252d058e2be5f1dc3f8a9929d5cee2320cf0945a82be5e649b83e8ede3a3b01a18259a5b5afc377c36a2b038e5fe5904651619e470a083da069efbd2dca6725c92f34f574d7f5d467453f1802b970211f041caf78139a41f671d7500b1e6659894b4cd7d1af04e6d7a3fc6359430d4680260cdbfcfc49d46d8ff1801eb6f28b32c1cc4278750529328d10adedd792e6397209bd0ce6db0c965df029eb835bcd3b5661b083a4b46b9616525da7f5783793ac5e22c0a58f343aa7b11c05c4ed039e19a072549e31bcbc6bb5f6889d3c28ece7f091b6abe7fa5a2d952d9ac2408127bc46b773b4dedeb78e76bdcfd\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 1bd88eaedfb86d2f11d9db39d011b4c001a20a726545cca555df9b3ba46f032dff5a259fab7ccab203a50faade4db09302a5dd3bb1f0d854d96baa47e74e59d42e54b94409a2cb63aac19aa2c601d49821c7a0cfe5f612fc00b5ac3963b19298bd4a00eb3eb8169d06b2c4ab7cef1e3e3504ab4750da995019cfe760ed976f7c996df4a353fb1177121a7b3d6165d08f6fdfe75716c031f49572c2b2981a770180723a62bd337d6a8916447cc25718c19e61122b32ada40a3948d1dc12b8a2940cb16245330e721e251955f3d48c7ffb8d0dba29c552270f5d5971fbc304729b7b0ce405ecef1e38d42a3823ea27cb177e85e8da196d8a07ca9a105f4e6ffc4a857d9a3a03cacfa097d3de68b2948dc29b19cffb847d0f1ebed4752d4f31697fa3adacef16eca901fa058efdc7a70338bd1541e851009916cf49b79b593010986e4042f7855b0c5a4a3fa331209e46aa2c7e6f1f180ec4e1ea6a81fcec25bb2c7f212ac4a7ab23ccdacaf81ac854d7826ab51cc991a1cb602f13e0039abacdce2e565c8709f4ee23ea3b3b23186af7560050676e905590fa9f6b40f0b874fbeaff6a467163a50cc1339e16f79bdcbf0b1670feb1dffc3cf867312861053a2908ed92be30edbd1ac1b3376c5fe7f05e27f56d72b08e7813c597d58ce3681cfbf943ce086db930f82cf0cb6b131169cdb8c57bee130d30eca2deec14dc0cf3b174\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 57b03e4921cdc73982de748d94eb594090e998ce4ae520cb801b881a5b6ff9830a28b4419e7b3059e919bc0b27a5d020506f2db02c504b7029aa21a8be8a225ca9acc9472912d00348313fe856ed032dfa2814d88d7925c1f9e955e8ff4fd175b96e8fac7a5c6d749bb68073df1db6dd4b54b9cf87958379e327ea95c2b68a3fa8bd3aea08c34d82d82ac4e425fac275620d29704d3d636a5f6153b4b10695af831e694dd11bb17f72dcf6e72d807d7b876bcba57e49040297a417183f92827c449fc1ab162fc76520a74f03c979516f2ce46e2e25d07744ed93848a2bdebe55edcd978ac7249d0a61cebff1af4611a163b810c29140c93f05781b613fb046d87302ab6bb9ec68612c6e61481984f09eb3b57a80866e7085deb66130d24aa74bc9d9b44d7bd93e979c50265baa9a2528e98cd42668084f0c6d94d3740aaf55b66183d2b899808d418eb18e1490c7fa1224c870d9236e68ee071191dffc084a6590ebfaf7d54bcd2c7f14660f73fdd57e8339af64cacf159081bb4ba2a158b0c2e4795ea140383e4a0edaf6126721670919bba3fb41b4eff070608d364c0fcdf17c983938624d2eb7244a438a605a87a45374ddc6a5886a5550e5e2430a29b956aa24f2a217937ac96caf55488d9bff9956f41dfc00f017b9b53ff2ac77e69447ff53d0211745f0e9f91951e6f0b148f0488f88f70906c4606b47a6e6490be868\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = b67f4a92151f8959f87b8c02ef7dfcab2a34f0d185432b277587e06fd14d00f580f66453ff4bf9e82cfa4fd399fef899f868d573b4dfc75b1b537a3d899e8064811417b5df57e02f8909b6fa45aaf40793a7b3ea3bc7941e785cd47e38c941d3b5976fcae196e6448646eb7d3110bdde27193dce9a199137b33374390bb6619096d219713981cbc199eb427de73a715f1e63e59c512c74d386b60ca716bb96646526445364205dbd102e05ef53d552ff293603554de2199e470e9c5db18aa885efc16771be1b4af38ef6a1d08282554afd5fca4f7282dbb07174843778aef52c70503a97b8f29acc72ca9becda1bf35ef6888c50905cc49d9747cc244eb3f023d822e977eef43e4cbea91993a0f9c9698ab45b21f2cc6408a55aa370662cc0e6238a2c18f77cb3db699828bce9b7a782b5448fdd0c1f9cd18544386f863ad07531385b9a2b5619672f706f22ee3dc9a20658178347135e9d22f141c0b759c3926ad8dcd9283a19c77791324a94f9200d53e0e7de40fff54494803559b0d72f5bb8f8a7903c8586c8e179a1787c8653bc54a3d1fef1dfbcc8e6f7efd460e5b255e759551b21dd72d4c68a73be8f7e5e7eb94cf3790d0aa5a2406e53e67b4cd32bca5d57b463821441b7d4feffa4894a2b1a1db26567256051d2f195b5f8e7ac676706788093b222e5617455a4ab45f291ed2382f12918a4044a502598d23b166d\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c69503be9745fead30b4fc7dce08d8c6a0178754a15f805dae455ffe8f33262105017502235f8ab25c13d63b42703d9fdc272beaf4f9553f62832203dc1d45915d64032496749eed244b798580e3c2594c0cf3d100e9c600912dad5d777708b0a883490b28e5922c6061458f57730eea9c6b61c6c6325a7c46435b3626cc9d7d33142ef75551a12e644b50115c4feca83d69406482b0d7d4e5ade8cc8345575d61cd7cb4e9bdd2efa07d2c998e2a1c205b54445ccda6d54a885eeae9fea3fe6fdeab8c9ad58412cbdd2a3ae4b8290bc792bf64a7f36f8574f22ac8839a7c4fa68c23d7bec8638c08cc7b501ff0652b272442b89692a5ab724050add8cbf9b229f50e75ffb88b07c29f3193d1c90bf4973ba336f70b06830202ea0dc69fa965f4bb05bfcf9c1e896dc832c8d4fdc98242ef26ec72df311d011a7aebf850efe276fafc7ebe3b7de020863e9ca1a3bce423302f47487b17e24ce9305d98bd2222d27404ea8a2d25c688c85d0640d96c05a1c2b49ce27abbb7ff0895b3fa75a3d649a2e14872a2919004f6a1a833b8a15ca91db08d5a6261f63fc3c0cd8e95aaf78c328d60409bdbcad741c9858924a844ae55a80e1ece9e9505ab8f301d9b8ab6a5d49f90fc46c09eea0d3b0ef7586536712dc695b2b1053880bf6282344098d6658a94f9d2c81d931cd1d35441e57f1c24d85150ac37b2280033f16bcda1c4f86c\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 727998d4a172ced0ec2cb6d2d49f766837c1dfceff9fbd35dfe9e357a4b9b143c4d53a8214a39000467bc8c88bb3582633d471fdecc58c033bf3f66a29b893cf4f6777f58841e467b84c15c2c5007e0c322b0a51779490bad134e905e83bb90c13a2f0425331b97197d6485f2c4c534e3262f78dbda5a5adae63901504fae86d25ab579aa8b1a3f2451d1b8a02c2d81f425689c34cc9abb8d035c0acad50f2d166c58d1fcb75c251615e48741a38831da8124d821b2a369ebbf7c06cc5fa2c78950640274675d1ac38530814c4b0642fbc895f966bd7bc1648f526a611a979df403672b29d37786281311d9d537a9faf74020b8af03df4bea590463f31aa9b5aad6c602642d012b65eb70122a40e93ac059d25c6f7ade43ca1257bbfd17b29b1cac1ab46aca85213c9399e9f3c2bce25b9709ca52d9be29890a409090e8d4356aeb85751c3a8d85a6f49e498aa63e48f6fa08754711ae2e849dda0a784b29ed39fbc92cc54c2027b2912572da0242d480c2df0a347ca68f4435405c14fde7e07ab61860924fc9e2f0b123a7d1dc9505cf9219ee2e5fc0e3a40240cb9398fd5583b48971842e57227adf50927c7b2ce06fc52007920582a7fecf2a5848e8aaf44be1fdf01b39e833fe2e6874109154d321a00218c37e368c2cdaf2bf743fbc724b2d4ddf772b7dcb5c0f50aeaecca9e0351b93be126ff4f8653df60a21765c71c\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 0a0cf5f50cbdfd0571c75579da50bbe83c0f92f154534ad5682a5e4b5ea7da1f0b6967ccc0e228d03a0232901493954451713c76daf5b7a550c42ad6e9dcaedd42c6212c20065b09b2be9bbb6d8479bac00393ae00c82313efc6fd3de3e3e48355e232be62c89ac74077cac1fb83dc7315723d879c9282056ef53b2ebd2570b517c498f587eb23b7c1d84cfa7aaffe4839d8ca39acaf2156425ea49134b41d4824347bbcdf7798f7d56009e8def5450f9519e3520e956357f11abf364077c287ec249e54810757300bd9b5c4b525a998b19247d41301bfe3f01ef89356a7322d0b3effa08c7b6c996194ae6b154ab33a97b9b35523314e5f5c8bc130fe2504fe08316449f46dec845395edd389ee5672b5e8e3360bc54a6c45d02b04150e86f695afb6537e6d1000f8e7c65cc0a2fa1fdcd8f823e5d8d972a99fad864b9a7423d06e8d4f5421e439d54e3d250e807fdddecdb65705d98e0200026e1d46ae9461534361ca41f6c68e126992b177d9692ecc7c77a68df09fc74159d382e9943ba85a62825f700ea3c8010c385e1fb2f4c2d1755c54cafba826055c0a4d2a2bdb2093e0b8f6fd009d448b09806ba4a3714937c39a23370e99f96bd293af486", + "674d746faaae76bddf56e43f1a0218ca64891d0cb1ad8130ea80156a32c0873bda12f372ae58cdc2766bed53dc27d81e7f16487ebea46893818b434c7c9ad4e1a60dd\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 5aa65a18332c2b515bb70c97059bde6c6cfef26b9c7d874575dc2fdabbd1176199b208c3ccec06bf52324a0cf13222add3b65011bf54338e139b91602fafde29d01df109540c057786a20a211283bd87b051cd0c226cc6d5539048a9622105379db015326cbbc1353da1ee4575b5635784c67dd9fe2e464a949f84f9926f7102f92b2a3109a77785a05416ac162179ab3ea4425755c61c5fe04cfbf735318415cb17f45c90f86b3ac7112698a0efe9e903fc816ff08817e62d645437359781098efa9b34c0246b3bf43e10233d55b334ced1d9a590fddd1190b9eaa56855f464d8152a71eea9dc4e9a82f021472b84f34b48fb418a941995ded70529149acc84d50880a8370e00f7c9817b86ca8d58991fd517e3d1123cd46e459c13fa1b07d42c64e32e1855225739b4a29d28e0c550db2080d1e41451fb1eaa55cb69c7d7ee0677201bff841ce0d59277b09daa91aaae042ca730d2e835371d6e1551c72fdde0466188278a651178c769769c4c5e83f7b492bc01c94dea2906dcefe48473da6e00b47823ee1440af77f058b0b3c53787f26ac1879ca0ea0fd5fb4dde72cc47f22fa0897b8ebb0d594163201b6d1e565c6a9070abb42567f65f5d252b1ba537c496b2688e1dc864cffb8863727e5311daaa0ec54397d725b6fd88c5f10c76dd4878a8981d864358d16764d82915064c1df1d14edfc0217ff13a367d8c9634ef\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8901dfd3f87f0a88bd64a6dca03f9b9143c12558838d7c4e8e8e7683f0a5fe4d89a6e92898ae653d7d54ff54f388f1fe6b3d7199619993fffbbf239a46bbd76573752a20fe645abd67856980c541ac70cab0f61bf08d35230d1c3dac05d2a109ca3695bac4525fda535baf36263856fd5060f95c9fdbd84c23f37fc8f00d9c545d491e33c056b1844b68cafb3d380563a9d24bfb85cfb871c81522cf70afe2d872d5cf98fd857abb68e14144651afcb52d3aed6cafbcf8473d63aa37732c3d6ac04439e0bdeb8708758dbbaef40726733c65a0714583ae97e9d61c7d59fc03cd5a8ee0201bf1e20c75c4d3a55f7c959b6e6b37168a5ed527d50d7ab4312ab3b4b20a57e8d4e1393abb77bd898bfe43385477850580a461a663f5ff587c67b33f2c7510833de38c2cf6188e52e6414884d10131fe66c0576cd0f786a07ec47590d777a9ccca9b542aedb4995da75878c7e56605396538972abf182148acc26f7b2f7b9812c09efcc7150f31e661aad6136a6148757a2a06661821848b2ee0bbdcc158fe0d7063a7cd7e65a519a0e97950c9cfe2a2550aa1a568b0cea62e16a9f96d75d49e4b0db0a9e6041de753dcebb1152f51b8140bc3e567c1fac0a5b37fd9ba91ccde9bb8c9d6da2b82f22d10137e78de24fd2ebb7a720d55cdf5e8375e3cf903aee907ba530d953c52f236b55411c082fc956b16a31a321d714a67e82a19\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 977e0e6d0d2153c34a30178af3fb99efb9edb76799ff0b1669bd0eea5b5e87150e84e5313a921e074108cc2ae6cbccc6ef0e0219af4f226a3e9e57f0a162ed209feffd5a89e65716486bcf5d6a79bf926edfacda0bf4091746345fdfa7d688aff90d9b3570185f664d94e5216bbe0de6143480d7051a36306ed99599631efb6a916e61cf49a03d10aae2317f758f1c4d1c46097e161a4ccf7d1029b4778645d5cf5e8d022681db62ff15c3854349727d7f65df9cd24f5cace6fc0fb131571144d24866be5509332fc77c3823779340c95637a003a549b3a8e1e90d8a3502e42cc355391371b09946a2274861a558d90dcfa12e1021cc1b98e96796264f7bbae5f6a3080ddc498a8e810e112ce6b6bacfafc8326e92956618886e2d3d4081a54339c895805d9242b7146f635af6c1f17ae1955f7fe49f45b148b65fa7c616cf48b5627de9f08c609575ec4581f0062f1476076b359145857325d19c0c22c30ceccf055dbdde9b562a1adcbaceef8429a44f62fb8f24a512d6ee70499bc3921f70831b57a15d7a3c023b18b6febde581d7ed5d3f2d587a4af0a3ed1f87be027a1cb7cc171756b170a65ae7a1fa4da832dffcf7efbd37cbd4d98750d437377cae209c51c049fbc166e381d4f879cc50a5dc3b31bf7d693c0d613171eeaf9e2572267236b08b655e4a068826300d7d92d370bc348124e63f8b871fbab0b2d85303b3\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = a91c56df4ca300b638c505771bf7b9ac3ef866ef9b16979ea0e5f691f5c91b886bb4e3540be2eb3c5dfa7a6ec11c513a62036766dccf50a36c058a9d06dbee640c0830bef3e50747ad7de9dda9810309856bcb634043b0907b7dd70f50f49b8fa35e2181c4a7d386742639f049a758b05e8a66b5f41756909d8d7afc31f63eb4b03a346e3a79d3ec22ffcea5c01632641e469c441951765eaf41c09f5c7dec10f7aa0eea85cb991428c496b67880b3ebaf13397878af0264a4276b08d85eae131553c6eacda05c5cce34ede7e5248427e390af8434e567a8941aaec4ed57049df79996de2cf3355b7b16531e0bef7ab3a3d715eaef6fb19d5e03c755cbf9dcd1a1d8ea756c6c75df8080963a9bfbdcdb551a53a7f4ae14d9469d93f92a8a509a687e96ec567176bf2c0766f03a9947545302b750d8901beb87acc83b6eb358fc1b82138741b5d33aaa7b6186a96f78f28d1e83aab719b6f383fa2e56062dcc50aafdbac7877ce8c2cd794e72d07e6b10555e06ecdeb03ad3de8f45a65b4a654ea3dda0c8bedab17ff55768ea45b17cf66ed9c00c8156ba86c5ce0228d4e5996b0268f3e19c75f14c34a3327808015e46cb347e892e88429fffea65b295eefd007ee77b533fa2be245af0bee8f175b6170c3b9d85cab02c40d15c6aeb7651c325caeba8fb17bf177b38d0a06abbda7030fff4969c11bae68d0027a79bdae1f340\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 563ccc0f74bc3c6bd12af3bfa0a290244bc017a3b6c452eb9531906f5ab092222dc5eedfb06b129ccf1eeff16d5f3a241be62b671098393661ddf88d1ef751e5cc46d90118334961eb989b8c6f1c38f806fe636c1f8c1961604b9cb3f4275d520b7f037b4c6c78cc3162d6cf3caa589af31f77a8edae1489ba86a2b36652a84a861e34f480783ff10bb3c9d1bd0794abcb77b785a9d214eae906a51e2d65fd30ef722bbc687fe8eb43df347f9ede204ceca53f7ee9525b5498d04233df06631706acf65338a88cdcb9201607ae6f71f830653d6e3d320a362248617ebab100c6450dd88cbb01c6e3bdc183b8851e2cd2780ebdace96eb88d2c5672b28d9e77ddf9146b6ca17caeeacb472840d0e965a038e08e437b0f8a1402356bd6305aaaa9cfb8fea1282feb103cf3e2014259513f1f43316a5610d767398eca18cf3bcffbb1ae179df35ad4342d89bad741db6cf2f0fbcb08ad857a738d306c651e6f7eda3f9d0eeed6e6d11df2c0398b2d3e0cba596fa1891872021c7fbe6c99e0ed545f147b093397b2727756f1a0260a50fccab5ac17cba2926ceb3495a11db8f1537ba3530d0d428644ae8721c67baf87bd2788fbde87c7c907860c277030d3141a65c57df025551ecf385c12da746ec7b594305bed042104922751eede193dfc9e1c9fb4785bfc622328bdfc5607dd21a6817abe4c941f2ffb63657f8797e3c84973\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 2a7439f30d8d4600ba553f9100b26a2c5861d5d5106410b369b94801c262d124a262fb17b448bc14114f1dd5c24c36e0d5528c4d617093df934e0523f4adaa4e262c2fa1cfe59db2f51336c627bc2e2a11b3022bdffc649de8690aa22fb6b96f90f7573d0fe23ff65d95c81274543a01ea654728c57b64c717f0767b800734aa84af805fdaf2d04946303c80286a487b48638b8972e49d412d351b9101bc435dac70f28c78dc1d79986e9a8dd64bcb11c8fb3e90d2c036c5b74d22157be15ee1ba291b97606057a5926b84eee13fffb3c8ba245f153d47b48d836828d71a5bcc02ffb12fa7ca66b576d2d76f38643502c4e529605f833b1d0af3bc7a58f20b5fabe63de399693b728b3b35db26ddd52f62bf6268c502cdffe883e8485f4a7c60e438e1bb84070c7adbe021a6380989a76b72faba576d20c4333879700e5142522589dd2c49e539b7d49f1293634b18f594d3f8106687049cd4093f442d34654e82f20bb8c4b252287cda4d9e69223e22e95a717aa5008bfd232ec5e2b85c92ec093c6ec16a7b043aa5a86c136a38dc9d1c7fabaee3af9f1b77fa4f4517c596b129d8fea402c856f041af5f98d235ecf2e6894798a857fa3e295a4a63c4d5d7d5a5d3fd6452775cf512ab4bbe7355f71be5c07449e0a8345bd6c3960a999c3c3ce6681071f5078f331619a9f5283e01d184782b7e1393c8291d0c409094d45b84\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 5276a6fab88bd401b451eff5d1a669c405225e90450584c5d6d2e4c05f715249900d10679fd58d736deaec1cc26b1000d6d0e60afe374981790dc850af0ce22d1e51946605783e37e8a2e899a607fa2551fa76ea9b20780b92e9b263be76e8b1da9a725e58b20a34e5013ede41c8601b466a7d693ea2b903295f0768fadef5c0ec3f0c83f659fa2db43fba1986bf3c6c7bb8bbb851905e62c4bf9b0b8f9029edf9f737ac3060f252cfe8c46b4bc4dd58f2ad8bb55a89a0989d9f2d684ee4934c1bb6859d17f8077275ec229e8bea6ce9e2d9383c2b89109380ac6335a46017bcfc57d500e5833cc404fb81b25f0b3ba28d71996a345ac8c9869167521daf8af6c89e130bbc27d55869717e5b7e3eb67f1c6912c6e9cf262544ac8d7b76ffa24bbd078c12c09f0b26e4f87aa227820aeaf17102180d272291d7c65dc40914f42c026cfdd5bc330b8d0d5c948e0c93f4beff299872f65da8790a9ad33e7a3232220b684cb8ea87d6855aa4c053c98fd20830dc89f66dbd1046f816405490884f97b9dc0ba5b5c2e9c8c0cd5dc13a156edb25ac384ab16bd5921008e823050b166b3f727efbd7f65d3e4fe741dec24d7e95f6ba707d5315c71749fdbaccd16b6e98a0cfdc456257878a2138ac754ecd96b76b9b63644c3c40a31f5553a0dfb5ce7c02ac8b9875a0a24b0f9b655502af4d5c5a8d714fe708f0e1dc188369a07f927a\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 8e96d28c66d90a67a5f09894c5b2db57b24cc18480fac7132ccff9b0b0da5f3cde652a919a7d20270083bf5da9635cb1c1e4927b8a2238e00c7e828c9fc251c8a5d326fd8e4", + "6f08ff6c36ce4b0a8b368806612e3172bff7534b2a28b365e4f74fced400efc93c1d4adc7483cc270b9d1f30afc7d25430b36e2abe82e3220f040e221483447f6d5b153eeaf137d4b2f5102a07e4cfa336e53e71a624236e3def136b479190072a55ed97d15be64bd92006623009b34cbd5197a3d57318c9754b90b105b3fef38db1acc0b8c3325581a1521371500bea1c1f5212d95f3def741d96e3d5387c4aab64b0a0f584b33fc00039e58c526280cf1aabb380c66d3b191ba11ce20b73944d76a50e8547fdad2d3486918a104c4622a78493eb1cec2ae748701ea5329d67814f581c8576149034e655c9d230dc72d93df0d37a0a4b23178220ec2a22dfa95f99ffa650d55d73c09ffd95fbed23407cfb5042e93a2baf9074ff85cb0efd306e5ec0813df08677dcb75e0c067559760d310a17c7ac0249c5193ed1823821b210e100b130909c2296b2cb1feff4e58f58065e8321515f99295d93400c133e528e44e659530e17b8b92156f151e49574774ff3e05038a31d6ba247efec4feb0a1efec266d5a90d0643fac6e390b37b26ff6e83c5f5aee67bb9c229b8362b50f4a10bf37d47df247841a28dd20d6d10934f6204c8681df0cfb1816\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 685f47587011d1f43cf865c9ef73b28f633f3a93aabc67ec69b6f3556b78c86e6b64409652b936d327bb1dd2bf96ece912d27b08899d11aa7dc9a27988d8dfa61f6ccb87084e22425a35dd57a43be80d508c04bc8fd18bd0348c790b1b33b6b84d9ddbec598ef50b739e4ecf1127457410ab2410e3164f313fc185f1d07dfecebc543eb5a9ac30cffbdd56d183c63efb7e288677492aebf212241a492ee1a736dc2d9e31c0200630d00a42b808d812c660ae2b4700958bc7f2f8223dc5ab0d32c788be311170608dff9378336dd152f4705ec687e75d4beec24c9495d801c3dce72fd604c3ebd50f0b7b6095f54cbd6c9b7a167a76649fdf98d627ed94d1307463430e4ddd99d4f79221fd0af76f42d94f5f472daf0faf63d9bd8649cb998f7be39388b85b5e0af9a3cf71fc8e72360f7efcd3e96af14601fcbc2d019bf4cb62fc9d892b070e191d7d68553a01fe04a3a46fce2ac45220e40f4033c07ba794bcdf31d90ebfeaf2da93f2bb7f51e58e884ac453e2274da963c60db990fed394f181f9578f7165b852ae2a9bf51415c89787b440f358e7774e6c8f2ae0a52588f13334cafa9f71c4262016e6995a76c98d5afe3e62bc8d23bbf62d3f2a3ed019165004a05a16c074a021b1064909c591e84c4a547c90de53e2bdfff68ef170660526708fe788e4b1b98d136295113112ec13f87ee3ec3f2590bcea4c34dbfa6561\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 1b68c793bbbc11aaaebe1b09036cdbb4b754b5d18858127699a1091714e6d07687b5d9ea9ceb4d937c8c09db1f919f33a319bbbf62efb506aeb085387632b9a1a016061f0ab9aa2b717c4602c5996b42e312f04854ee21852ad9fc9bcba137f59c981864b608d82fcd26964df05832983991cbe6bf74d09d851f95d13650994f56e8fa3204bc8685f16a0e7006918230a30f025547834145774758cec92d25c1b75fd143e4166c255aecf9af8189b90bacb4d08655d861b0ce2d58894f00b6eae3395a1d692cf7091f43885ce8220c5a4ea8d312625b650377238dac43da5b8ffac7420991d00b70453fcf633b844fe630e798b8ded1f27bc170ba0e7565a85299158bfd9249bc5d006f3ae97969f18334290b00c284c8a61ebdb1bc8c78f913f724f308c6f34d1b36ffef06f09a2ff5efe4e0f1cc6b16db8690ef0dd07cef88cd2b56c25cbc76d6ef2a0c1c7bbb5145eeec4ead730faea578f98c6fb30a4751fa15dca5a09d353c7afce7d572b8c725a8cf82386a3fe49c4ae31227c165a93fb821a93b47636170a2e1379ff57bd4ec495293eff1e0162ab6926c787005723fc58fbf3f4b23f466eebc1916c3d2a7e99a1416a06a3753284f02f4066cafdb9f6cd739fe8f34e49737b2989b37c4a01ee133fb41fefea2d437f4814f5a3ff433396800221428e420692c8d70271755234bfca374c43b331c20e3d8c77d11863b\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 530e5a01bd59e922ae4ac02a57974759da8bd978d6331bf58a522460a4cea7cd3e78c76987ed9bf39f5e6e0a0127d950c3de95e3603fd9dfa9d2f8daecc8f84ede2dbf99f29fae1a73da64c6ea602a90a529d9da1d8b1c2c1575667a7ffdffb8347dba3d13174f63c387966b3661429fcfe8da1f3e3287769b5826be0ebc0f6bf04b47cf5f0e6d9f494f6073ff7533131d17d7ce859febda32f8c639b9e2a7aabf0e82a3da62aac20864738d215a862c984343a639d4caf91fde8e4289bc23c65321dc387d8dac38765e4a3bfb1b7feb6360fabb62b97efe71c9fe789347187562ae4a6bc35c6f842f7e8f1bda9ea31b39f58340b352ed31745306c4cb5dd24fe308bafbf1e654bb8898333ab6b2fc96ccee80a50c44bf8af4f77f2c146ad5f552b893c2a036e3e7e64b1e6f8ed152ed1ac66390b1b828ea9c43645d7f36723c111cc56a4f7c973c0ff99c460e3f82169fe2cb3d30e518a38f1c1e2bf4bd113b85a30d26d9ab03a803ed4cdc59fc7f16f095a84d663eae4a3b1c3aaafad19c2458528cbf37ffc46d5b1595422210c9378bad7ecfdd222260f12a304baf3113e0a20d40a1202de6a2f5b8d23a8bb2fa12aecfab4d8c6c402ac417f6ddbd27e17f4fc3f5349b97f5363c9f74b5200d8e96e1d38e08dbba1a68b8d09f115d0bd277c39bc02ecb13ec6ee590d0ba1ca3effb97021a4802e2d1ea47d58cc494a68f8c\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 26bc4df6a3ac430e14349156fa87159cfe3be489c4f4a3bb3ab1e9fb6a24224bc08c8fc68d31c2dfa7bb1eee34486c189cde443569fcb046837278b85c2a3dd5d79a32ab234d962d9c3397901dc2cb9a9f2a4efa607b2d664974fc0ed8b21d83b6fc26fbec342aa000e798b398da25aec7f3036b4bf5b996268ca306497d49f94c29612fda4013e51bbd5f8ebd7ed6d3cb9651810f1953a0a0d91f21d23d2193d9124eb7b993b92c3f39b4b2ed75b9a6998899a0e627685244d692c9bbfbf57a32d2075066e26693b66c2d6abcaa06349610a30b9e365bcb40563232f5a618975d70b9ef3d2e370ebcf371e840400bc59cdb8ed8816e21295378668349f9b6872ed38cceed565b37d67f7cc53ef3048b4dae2ff6e6ef05c54f08da2b25af6ff8971b1e9b56eaf59312a82e074fd03ff310d2d063fd604807c2e1c9d8d10f1f63ade7df27f0894daef9cf713bc1900b8e9697bbd19c8ccbb6f7e608cd751f6befce4d1672190beac40e81feaea5987e8be14ef53f95af53a766c864e1e20922d745ad3db7fbc03b0889525a00ae2e748a9675628439b5967ee7dc3f3babc24f4497744940448806af9143b552a304a25f9112aefaf7dd32ba9cac33bc8c3e77f7133ad325cc83a10a2890c5ebe73cab87e756e16d7f17721af90c927ddc53d448adec90932dfbfd28c031e497953f1b75d16fc59f44f232eda3c6d9a05d601b05\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 62f48629c7a24179701c9c7dd3ad6573b147a46ad95364fe9b061f1a7a53f22ca9c94b628fb114ae94219eb443ce43847a948c04b9c9e865d06a508eaa53ea6e95bd06c0d678a99c68eb5d637e1348669853ed27aaf9eac212e10e63db88ee4ae572d71bcbaa9559ee698af1464e8c7e06a6089fac21e0f44673b59ad886870556b6aad683457ec4c8000a7213544de10d493f70a67bf768472c06a4d8d013d246cb6301c05d251d06e396297510bbd802adfb16c44d5667d49784f390cdd51a989227db8a0547b70139cee85fb98405157566f48df9bd99fc93f05164a3806a7a73225b0369b66b1a5b297184ebea4bf6e6d003458da70655aa78f936236dcf096d1bf2afae7552b42cbfa127343ef081a8a63cc65f2075b33f01ebde0c4c80306b36a70657becca450f3d720f5c0855a827e4d43fc2a12512f5f19301ba404ec46814e1bbfdf81e41dc03154283df7a10e6c38a89d2e1d1c43a71cf19edd6e4fad846ede85d42faaaa84c1b5380be55933200ec463f149915d65321cbd21ffd57c3afcfb84832c9b81e654f9a402d9c5b305fd3bd042e99a33dfbb4e3d6f441ad9646bbfb8473c9c01707ac4cff91e7ba9d5996ed795a1d562a174cf117b22ecce7e679e474e1f7e2e305818058aa85a80f87efa5c2877db870e4d784a3446802339b9f8e1f09e6eda2aea8c447794ca16a814bdcb1877c29a5a0e99243f70\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 1f40a467924354f3025b37a3c5569518bfcc634350ce3f82ba8ba961d2dc9ba4206cf8b99ac3838e24c1ad80a8a967a7224ac47d3b3b141bae6b6ac34e2d5e1c65305038ac88f83e63e1d59cfd3db23ebdd8e3d32ac2a8c57b16c367540e2eadf9ae41a9fe284e3b0a9514557d468d17883cd55f741fa03f4ad166cc9b40b96eae4ce3546264582281562357d66942d09aad87d739dcfe6510295d08189562276a0cb11b38a32acd0b4372fbcb8ab19ada423416a99173205aecda49447d0d000cfbccaa8ed870416a1ba8401ad61cd94d4e99a98c4789f7af5afb24685fca9ba12bd7052f69517b3024c3b1fbeac62ac04a4746731cfe00948acb95aee3ea746776a90c7a4a54411432adbecd6bc239e7f629f02faa24e55f42bc15ca566d7214494577611d173746ffb3d59adc68fb3dce801993f779a2b6cdc0c10cdbfe5af0c99a2edaa23dca3152585221cc17ddded8474dc77954a6c96c5f903d179bc00603c6e0c9b809ff31bf31bc4d91c1973d29a0931c8dbdbb70ed09730f6c8274cc43adb64004bba369b1f6a9c7be6a49ce36a50121c342b1ac60ee51e89b73afa1afbe52bc86667a89536eba90d5cf036849bc2c26e7c45cbb7f919d3c7d139a3c7c249c0b8943ddb1da3bd875e5aeb917a9730cd20c58994e965f7dc35f26d35642e08210a82024343289a724709c9eca3a468b5825f6a13eb2e22da584634e\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = c3f770ae10c10780d0ba92c89a1fcfabc248c0c4f8cccc3c6fe3e2887b543661e946c0ddb982d5b7cd89ae430058cba9fd40a321641646e590df3a2cf86b9645e347fb368c6ef5695ca8d2e9a9a327fdc75ae0d54010f594a050c9be6c5c0f60a4ee41f29191f7570f6dfb2d17d6b0933a22bf7822f520b3cba26419de1a91e39fbb12a84bab08ce9b1deb10b56e576e7be5dd9b746118ca8c8d991255bbcc34f9c7ba317f5e1190637c585f5a4f10dd037a498176b7d84d33a0370da7f834d443dbcfe1e5f502f09a0ca946eb4e6373dce383c9ae8714a5ae45ff555ba407405057d60dbbedb0b9782608a92f0710547330e842ff95533537e01272898f7a4dad71d4099b372a504a0e02", + "770efc85190e0987fa7bc49a3ae482905f47d23260a698842c1d94123c79320d042c8f39f5ab91c241bc7ca834aae345548660617d0d886d89cc91780e070ac36d67dd28bd48109dfd69f7229077dbf490467ff14b6b57dcc05c3e46fd8a2688f248011b539d2fd5dc2b217a0b41d57fe667b936158be8c91c0044c688e752566a383db0525b9a72d9059b9d2793cda58dc9980ba8f4c3557304d991d190c935e76a9eccf50953d04d561b5fef7e62b1368fbcff1797c6cd6768885c9bb98e6876d556b29a54e7e535df63be53a4f509f5454d492bc92be81d1bb68516e35dac89aad54fb10e286b012a0d41a04f75860c7e03113b\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 339ef221a9520ce055fc25955bcca1c6565b3f889fa1c2b2f078923905e9b6e950af0977e5d81bba0d8e39a5efc6a21ab6e6c942ea872d2311fab297d550d8444848ab12f920affb56ff2f70d750c3fcc4d5e0e8653b9f8cd1bc1a44985cd6c62b43d2b59e1f08e6a807e376295fde08fa32fc6ab25e8668a8bbe72c8e0332f83ba64e635f1cbecb0e06d548f24821a673a8b4600d45506a2e84fcbb57bacb0c47204a4006b0a5ac3d5e2677b01ec4b1461e4e862232010559dcbd177ca1c327cc2179b8c62f4b84c2bd77b8115b221ca83a1664daa100c060caf945dbce345b1f16c4c95f3fd8fdda21c1fd274b548862e751641d0152fe2be7f14e168c911c0400c589a6ba879995d017a31535a0dea22d29d6df8ad7d3f7e98c5f3c9a6c1a29f4dfa50002e59d39c9a46e03350dd2eada66f087e517dade0f72fe33ebd6af0859fb16d945aba9571d8e263127f633d14c68a61da09cec82dd75226388ba86c3b9499e6e5ab1fd34797a1f9f4a054d9636665e7e54442b24edf93c3b9e59119e15e0bc9e6d390aa42f3fba32b3c2dee6e66499ef065c0a0001b489e56ccf082264f9ebdb9ce1fc0c2de37c9fe81ca2c8071ea4e79d0cf70bbaa64e4b07af3a57a54ed85bcbc21cac3ab32ff623f38cbca65df1afc17ab5f6c7e7e54d67f8fb768a8c4f32d1a69b7b0ffd2ebf811a72219a9b0d26778ffce5da7cfa53655d57\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1ac7cb7cc3dace7b4cb1f0900ad3e3d0b246d19095bb39c2afa0965995d5ebd42a4dfb6bf8931f8f641adc2eb34dd714b1da21c3c64bece5d77b3e2e5a7757fdf885ae0a92afc7da4965cc4cbd83cb5ae15d7d104d92eec701fe676a61347f11d0afc1bd4ff3cccec0ba5bcf47615ec6f4ff6dc5d036ea64aef6dabe6d47c2252095f45f9f9165ee591498328131a379cea3548f0e403d4f859dc083124b67171256cb54d6d328c206056bd00e3168b1184a8c21704ee9a4b990221c37a524579d0ce74703be382858d921a8d8afa1915d6cdad89c753d828bb8afebd22eaa0298470221260fb7ad9d3267fdf6840e4efe266a26e591b55bdc742a8605debe986ef689f5bc9a0c131317f06daa631712c5c33a604f5af4f6e023bae233a74dded177d6cfe42bcbad3a82468fdb7f60da8f4e11b61fe1c635e0a9ea0eeaa8265344a75e34d66d42ec85c817d86686d0d0c19d8419ecbb119d023b603ff48f22e39bbfdfbab66314f8f0e3f22e750b873336c37a1612c075fe7959b28dd39362749062afa4f57e08ec8dd8781f878fd5ca8707b07417adb72cfbf8fab72b21faddb8a1be9356227f4738f56f03212f4198c2e5ad0888d6cff60796be3e77d85425f666c7ad8a2c684257b922aaa6f1574d469a6a7f9840f4851454f5772161c8509877c6f3b6ac748a56a63b0e4d8e07942efeae3fd88d239cc5341261defbd83d\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 272f90a1f74f89ecd56326849a40d81bcb2ceb3cbbc7f961dd3c2a86fa187137b913b034012546e518e8cf9c5b07ce126435675f1f9f543e49f470a9d75f129d089c6c8aff33d19e51101502ea903f7b271817a58abe086dd8a2f41ad3aea277f17e26d3932c0fc0bfc506cdd19cd86cb41670d202bff6d55f413036c94520a197c12b58c3cbea1e9599e2ee80e361dad7ca71439a5e000720d8b0c979aa7f37e5637800f23fcfc736f8a9f687e2cdeca40936caadaac563a1a66c61b6e65ea3a251446ff0c38050516396aecef1762eb1d821b5c3d1a8dffefb29a77a8f680d240dfa98daea7d514216fb9dd5a9aa4e47795e6885c876b446df905a690044a85e30bd19aac5a32aab889e12663e5d68c2af656c12815c27ca62d28cadd5a08ef7c745a8dc0271799362da62dadc289243cfd8cdb422a348d23cbc5f3de64d2183d3d7e30677a665c656f60a40c0bfeab92442291ad1d15d9ee46e437df9391600af277bb2bd4000547dc4fedea3b0dcec337dc6db5bf2a18ff8561bf1952eda654fbdb865b7c06ec316a9244708c3466ca5b67356cdc702e1713d8a1591a4407e0f8eb6185437c2eb3b599c4b530aef6ec5a700f49ac3720f0761e69b97b71921212a75bf9c29ecd97ccbffa7f636860e12f54899ce4608cb774f2fb99b23c43e7f12dc262e593ee941a1b987936c16ade689e43d56ae9ca02fbaa0d4d7e9d3\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 90fceda255c8612798fe325acdca9c8dff227bb9564768155bae0187bf834cc4c03bf14ccc9a58516389da715e70376272dd4112150d678983878b5a3af8784d1302a04f7f3dd7dbc47e2deda258051fbcd018be39605f34aa0af4bdfc3015de49afa72e966d1667630992c31aea0747ddc925ced69407c64352bfc65c6aa48b0236cb0f9e7869f4a408ad90f2ee7ffe5ffceaaa9db1c778b568a3c6a1844d1af2051c81c618d3327c6085b18beea8ced2168921f63bdeb67dfee4ddc481f247237cd3a6e7ed0e4b6b0f2a332899ec6726cf90eb317b54375122d975868d785d2a99e42a3914798a0378ee293f6b12ea6de0370ba30dc8bd33d4f0c81459a21a729556fb02456a2abed752b3e0c666704b1b3195d269ee43a9de6dc224b69b2def19fe10d247d0554182eb998b49833fa874c6ce3a2148c9addba17db473c09cee1b910316be921cbb19b18b1c2aab1ce08ec1753080aeb17af2b4aa88a2b76474481bfe347c744dced8e7c627b4c99c490d6f8a24d049b7fab93a134a485127cb58b817ffa2123497bd4961722a1e23c5f9a275d9de6fcb0d0e94992e7903d4856a92c85696fdac207d4716896afabe0cb9e500650632088f1d1a13414aaae61ea0a13b756b71e88711c5a810b2729b7320cd58698cf08bf9d6d1304154a06f9d8c6f2e8362fc4ccfb9e261ebc3a600450f30d09cabd456eba321f21e2e9a60\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = af7c386df1cba24f753c589d9756266b6473ca3513b51cc50c888103636e9cc1e0f2ae4f74220004ab02c9f734ffa96b6db34556fdd27a0a6ced6bd0f695f4550d941064f509185e4b3dc2e71de6512725fbe167083650e7deba3035a5d7bab68050d2a0bb1f3ac6e13dffb43db0f6355cff1809e0450f629a99975e9368213853a1bc49538ece8aa64aeb1dfd837ea7e7ef54845bccbb8c9a409f262004f55c5e0a807ba3cbd6f3c43cf498852765f740c2c3e8ca8b3fc4c43bd7d28f6ec2d29bcb0ffa8e484b4d9f6f26c75add460a3b98c0e911a3ace448a66d8a313afc2c1abff8e4f7cbb30bd7660659da17b4c7e7c42764363899881d43c3fb306cc0cfb17c7b4d2c1de8aba3a43a5bc16431d8630bdc1338421c12d65b2909a87b7f82b9e8a3af44a28cc762f5b62b58737e07ed34ef550d553b0447f994405287a2542befed0b2eefdc552a6fb94e42e354928eec6c8e93e0b24ae6719da20dfc2d6a4a79086379fdbe5dfbd3c35e4ab219481f8a64d33ab84a94f4b8b57a174788dfaf9e558798a98c4fdb52ebaefc0f1f5617652de0aec1724e015381ef7145a15245917de42cdde83188dd12afba47cef5b1fcb064a3a6945fa4d7c6ef37ea582d4036d6cfb6621335747fb6473306b27fec80afffc4deb77578644637c9c3f2cee11a0eb641b491c84e9201fb2829d80e7fb0418ee0b44b76b7c2940edf29a4a7\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b986dd481be76a98b5a23ee494a8264f9cf2b37e2ce40caf5a7ceaa1b2a5cced5827a652c998e1c26d03b48b77c440733d1be048a651ea93ee60695c34b4642a88d848897d89bc4f285081345f54516fb9705c9a90589115ddd0587544ec6a1984a4a72c1b6d36f2a57218b647b57315177834169b29d0b57326b3f4cd1df7914b088f48573b6b32efdaa678118e85aa6aa319ffd85cdfc4ca054a0f04822d934af73a7aa4d5f51d93b443e4d8473831b31bcd9aee22fcf4a6234f0fd6e27125905bc0bed0d7274f0734bb1f51414a5151fe60e4510e158e98004f9203c7a711bb2057d0e6aa7066469f900bfad93c7f9b1eb87459900b915da4d1a59aed8393088d5f23ea4614551607d8cd0c0dd0aea75734ae23a75e93e50c09bfeb7303fb704f3c976ae573f363553e89391d6f65035c613831abbb5f266cf40ad5ec1ef2a4871d798575216606ad76a1634d78abe9f16d6b2cc4ae3e99d1d43ec25e93b52c547be4a30a98e5d6c180e44a7c2db4eb0247b2b42993552e691cd9eb22547ff3bc4ee6cb2033549b883a58d3f50e121a70d51070b0d37647cfb6227764ad2703e0fe5ea61108f4e7e3d3318fc87a9ff59b005e7a6d232243ae16d4420e9e024d3904a6e54b30815a5bc1f1619b4416c2baa464a61cefd7a6fe1442d4552238414d5b2ecfe531bec9045e811fea37f8cd2e7a8345bb309cf17654cee8884c1b\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5b3aac4ec4a0db836f2686221ab82071979fc1f09facbdaec056ad60e952c91ac77efef520fcd6627f5510b04b8651fe73c364e5fed835b412c37e5dbd81db1bb86838bf1cd865132fbffda55ecb18b2c7801be854a06aad0e1c2f0b4cafc8612ce40cba4865c3ddee40aa43782833f5ce775f2fc1be9a4097b1dd0fd5c7ea1afbeae7577fd70cd2c019642b74e2c94a259b26c34bcdebcd68982fd745127d0974a6397b92e9a3bd56ef74fbcf89a84546daf1b97b85be46106e6a6c91488694e25f9ed88ed136629ef0409a0686745c94322787dbb0df7f78d9e3424f5f47b24c6bd455d7bc1d89ce95e0229041bc985a6dc49695719878c28f821cd1aaf3cff0e23855890452bb92de37f04e9bb756fe62e9e4529e5f01b7b6a4374cd504cf7882c7377a82dbff7b4b87184709166e52238792368392c25d9b28218bf8730e6549cc9087e28fdc7bbcb0b6fc4c752b0482ab3b1c7c62d64b53fce9cfd558fcbba96c39c6a3d50708c0c5947dfc62a764f30feb857688e004d2e4e2c21523231dfa4cfaabb982b449ef516f93c81b53ff1a8dec51a441c50cc8a20ee5e2a19fa120b992e58e3cd5ca57a30f17c7ae47c6e579a572a1d667128e4285390f2906b69923fba414c6c92fadc58b87dae9378d2be30", + "ad3240a27226530cb8afc70292eed5af4037ae6c0c28684fe964d049ddad06305ea30ddae64d0a86094339a6f\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4c53c7b94b6eaacda889c647202d90dfecaa05e75a1b78041a08526869cf299a48b306577c1a1d1efebc7dd694e45155dc434e11627a7e7246aa0703a1592b00898ce4cb40e672d35ffe4aee140a6bc1df6d40c560da214aaa637d94b665763a7cb34e1db10d0f6772debc15d05bd0e1af359b53a521fd359c7e67e28d87c903254bba1f0c48f95a8e4dfdf09ac7afa2fd37a836e85b10c2cc6e0e0986a526dff679d3bd9da38e24e1a8a91adbe57f40ec7fc713792294da7682008be9cda6652254f0af7128c5c5ada8f7d5530ca4659b19b3a2b4b900776a9e06fd7fbf96a80320f9cf52d16936038e151e1b4928a0232c7d0d69d7c16839cc975ccba76bf435f50521e1905548e68302e35ba6642cabd84facdb0e9e5964ea683e1f09a12939abf306564bd97bf95f2fd266ca17326c6bf4e2a3f52a32fee4acb963872893f502e7a12ed4e97080816d34a112f3b5d184f7e0c7f4fa06e716fefa909ddb8d04a07c13f23b9ac919e10231e8bccd43a91d71ef02dce87ba6728e32e6dd92b1cfd96e9f3997e56aeb57ebed6b5f9b33ef1b6e4fec0410053339a5e7eaf956f262bb0ee6e828204627755a4c7bfd29e0485cf9d38f459b36f4783a6888639e0117b5fb72505184a727e2f3c7d7117d0cd4ccf621c670b33b709d165b68374dbd1eae9ac58da2826336fa01fea00f2a09ddd7a32ec83ba4ce0cdf4108241a7ac5\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c757f1a1ca4ddc9e1b4cac3b2166c6b8185de0b1214c48cf1cbafecb58147d5649e741af62736cb3945afc90e720b3d0d4dae820fe84169b2857e0bed0119593520f6f6d0103490526b9952e62ab19544509c174de8d2683722f83a332b4b2ec736eb85dc08faa8c76ce48b0ce51521a967a559fac7f39767ec4544f5a4901fc4b3c7fec298a843eda287a152d48ef75d1ed2464de565da4b82fcdb872633509b67c6b15be1ae709539261595fda30b6f46423aa74b4e12f505c2f160082b4cde448f59a70137aefa4fa4ff3f146a25a91a657c639e4855fc97c98d2f21b52376a881554d39a23acb938ba15f7f63f849b20465e1583c27bdb32952635e497d8f7321a2d45678cb8d5d3317f8c8a593c84aa0b767ec5472a0cfa6f7f4b6c32cb48dd11eaeafa25b1e195545a602f3b3cd18ac318a48743e9adc8ee1ee4134787d9de88b796340c46862d7c7ca97f142a28e915985308e3f703df70d88d72bc22404aba08d6bde21e2540a3d58d49517bf48cc0b3138d1ac08aa427876630199e11460cd6bb04bb9bb29210d9880bdd05b95ac9d769f00da72cc2f7ee20d3cc10fbb20490957022837656a69fefa83c5f0873aac068481921fe82482c05943a6607ae92c38806f5396387617c26b9f330c52384bc0e818c66465ff3650c1d3414d95bb528a768c82a7c076fa4050b353fa614a830bfb0c603a5d44a01d4d0e72\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ba1157f9b6c0d31a4c928e0c3dae7df2e13853eba781fd40605da2d2e71edbe65adac0f982bd940f52cd816f791232ae056d2553f5c82027616a65501a2ad1239d5c7b2b7511aae7c385d72f63944d1f1fcd9613ce5ccd192e674d22280a79817ab3308c3dff66c0fadbe9c0434f5318fcb9e1da396f11b4ba9e961de9f18e5b2ba3716d917e38de29027de43cda232f50d6ad948368a0faaf96f28fc4bea690d347f80e3ce21aa0aa49f445d3a4a1ebe5640f9f16e0b3d8b24405b1afae7d7eae6339ceabfa538a7ebdb66a4da5716dd3aafe0305c928c12175c648384ccc85e425b202e4cb34410f602a6bea3be79038ccf90af5357ae8ae842fd46359225d56371b05146798f04e92869c33c4166acef5bdf5b433c191a31eb4d4ef8827cd9bfe40345789d07f685f5d6fea483ace17fc8bddd120b245e7362a4516cfe4c192f3922bb9638cedd5e6958a6d2cb5da85fbae98ed6db16208336baa6950265adcba00b0203b669b62494bb56dcf3a417fe0f7d568c1e0ad1c11137d5b5736d344d0e5b3451721653c4bc9278284d9881ddf0e0fee8fcbb3f54db82747a0d8ea828229e09ce7d5459dfa590e4ad6ea2ac31dc72e68768a702546f0a98687a3dd45f2783e1fca8617d391598a6f9aaba7c829dc8f6e824cc5f9a7df39e209d12264205609d49c9958da2a3a59e4706ff9b119bfde600cb3a1127a75c77c77e586\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4614ec70586ef4c0e772106102b65652fd9e90aea637b0c808e6d28ed8aeab18ab750d5b7b5d34f918ce863eee94fae4cb67d8d30951db4bfadf62070436630a495e108f22c383c08107fbf7e363d5e7f7b610c134617c527027490aa2582ed0d8769853f9447afb7444aca2034a7e0258585c49aab54e6124ecb9f95daa507e86d7dde366c9fb2eb0430b7a990f1f055df4b3b6c2cb7e353b394723a1672301a43579028a34a92235cc26d2a15d5c7b9935c5b98a99c752badd0836e7902cde06abfad9ee917052814fb9d8a775516b948450c06d3e33b612e848c0f7dd7322e8b264d17bb67ef21177a93b13e9fd54b70cf5737a6aa870caa9a082595e70e6df68fab028e9cbb7f72e9d48c2f2106a98a8298dfddf575afb3fe266729c3346f567dbd3cf2fbafb82ae5851ca031c6e8259d822ea8623a3b63dd1de7c266c89278b3bbe2d3384ebd94c7557c63d08d290508cb77ed80ad97663540b7209ac3f7e9608be2db31b837154f1accfed92e0124fcd1c626d0d24db9e9c5a316d3e9fedf2c62fa55483ceea4c9c1c9a540d3eb8116422ac4229f3be8ddf8dbca64151590b3eef0411aaeb2b25ca03ccdb5309b28153515e9d343d5def471d5c67ac2ce59b62db6291b8753b0ec15038b8ba5ed0fd17050cbafebde18d78cda92f21e162ed72758f68fd50ad4b84b4a2318dd06279937db705d535d516fdb0757241a2\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 904acef8f764eda821c39c4c75443f43cc00e0ab0cdcc6ac9a3ecbf21c38999d04c15a9b11d7ca9de9c221b2ad3a233f988423868f5aff0ace189a48c4452c41d3cfd0bdfa29d6652cca3685062fd6d59122a37cded790122d1f4ddecdacfa50605658f23c2013c31814c23230ca2adef7ca10239fa9d56a141cfd6c4f48eb87b08d7fbf12e9e62d27a86f82f229cdad78ec31d1146d339aa6fe06261823f899f418d19a3bdf817f086077d7dfc8fa1b9f96586f0854279795e9b72596f25872f88a0e00e91ed18545823f8e427b2b4dde5dcc110381b77d4e5c397ad9cda2052062123b32293a1d73f7b32dd98761b9eac5cca2d397489469216eed8e4f359471c7025f66e7affd79c8b34c611233a197a96642ed5d7ae4d4a8155679f174386c5a90c8265f7c73faf1d9c510173dd52a00877bd7afc995f6399145816a764e68838afcc54dcebe67181290505d3a274be28c9b2a4db3924a98c3c13121239fe46b76685bedf1b89fa2c055f01d4a44679231dd9b9a2c24fcd0b7c95254c36de5251e496db67372c1f76422a687267186b3ebbb6b4fdb7a93ab5ca9eb0e0e45cab2b2b9ca8d5c8e19aad48776e45b92e1baa1b4275d7a8355911693e5f791793bd6cc01fba821d4b4e6150cbb4958cd1abf7e3c9e11e19254e74d441903791c8db111fc40b9cbe780ed3175596c98546073e918daffba9f87a92e397b61b8a3\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = b6b03138199eb4e399d472be6d3504666820c52260150bd3ed24fac67d346de3dfc5b94f8683704de5dce5e5e4fc2fc3dcd77a3f60ec393d4b7b183e3d609d2ada0e6b2107cc84089acf9209183607b22dfb9739f40557192292f51723b8a261bbf1f1184cbbea65f6da8118634abca9b8c23fccecd74f14c49fc0c83bf2e6c8a6ce20d8c50bdac4c52cc0053480626b01b3b468160fc47147ebf8edf75860a5a500455347630983ada520e7317e91824fdec6a0d17a9001b9d2322c39c8eafe67ec484efeceecae83c875589d6625b20f494e390fc79816cb80f8f305018143a68b46572252ce0ae5240fd55e40ad76d36993cdeec6bd6733ddfe71ea6be95998ce53a601dfe87e35ca08f6aef11a247cea520ee7f3a8c703053ecc85f9b041af3e68254b4c3cc28d10714cd9e1b6cb08b0f9a9e0a6f902a0bbaacc98db90caade714a1ede7f132593794e25a469243d7cbac76f852d822fc823515419e6f0ac8a85abae42abadf274abc5a9c4127a375cfaefe6cad2be69d14dd29829b62c9f748a2f64c632bfeedba192d7b0d686bcedb29be3ff0589866dae5ac16058e0227fc98eae32da566851c023ae67f5de3d2eea56a15effdb615d4aa217681216fd42d50b255ddcb9ddec8a81b2e7e881bacd3cc0f1a5212dd3f66dc52994555a67ac5df0607cdfd279adb3cb0983c05a0117daa86b2da84b5ce146c1dd58115a4\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = a6cbc4959b1df49d751233e534513fba0efb1d4670e72f76ceb2b0aa90c1caad8430ba7067e4e9f4d0a274762a78c6a4c24c4039ea668e6e51ed4df98be132804078ffff469d00acad620fae3be3a9b46d89824a4f8a4a34d0c837dd6e612c05477c39623429fc34504524d6cdfee03104c6cd05ab2e01f2e4cccab8b08e905cae05d7f858a67a149e8eefbee4e7c01c851215a1c303666ec39272b5ba9870c0d3824546b3d314bf0407e33bbd8e7c04ac77c935f90b4679e8b14f724601a25bbd3c61e304028eb9ed0f974daacd5fc9f6feaf36237bbd413e16aaf188c65def2ab73353c9f17a5fa0d490598f27f3c7ec41bc2399436e7ba6a10b8f2cd6639c932c5f1f8512e3e25bd40d6e2776633828c2556f0661bb80ae7a5fd22eb50d8b617916b64df8e4927d07d61685a0c31b168bbd3f89dca636864735b3d6851ab6d4cefe983d7e765a251d26ab98c530d19de0213c7625a7904604acd68633d0284d83e6a559cdeee27f1dc308dbf23521a22a42739d5db8119dbc5d34220d1f30e62bcdd97808f00920f990edea9c3cd73ab659cc443e6c38a7209669176f8530699dc22ec02bf01feb4b2f58674c4838663fdb37c8aed415bfd2b79b7779384ad4555c62670d271c553cc00e46537e4d25fec955ca504351b7c7786993ad92335e19bfbcbb8f4441714523f28755b8cfba031c719d1521ac05e399092ad4d51c\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 95313651a554ffad8c251bddb24dac0c4fab3544e82d62f7445cc6be99be3a5eb2b7f6b7db3f26b91795210a56907af9ae5306b73d6b8993eda74c44184385c4c0368b9d4314e05ba0f519dfb3959376554989f4e850d5e25cc0c091ffaf3388cfdbe94688d54e5ed4954e00f74d1f719d8f9615d4406882b", + "f37f0c1cf8c1c0f2a6c7a82aab3a820f9fb241971cf51d15bd26f8df90cd3597d9ee31e258c53372c1949b2728559e174ae34726ff176d38055ec1bda06cfa96d07c4934f4fcebeb9d4a4c03080cee9d611cdf6af64f051c5cbcdb97d91fa2de5b92bbb9b01bd874e1e9ed2964982bdf4dc9140ea84b2700693f804e4ab9c6bccfe251964fca579879e2c015e6537c4889743da609fa78b155fc02548f353db6f470358b9c6e72b1c40cc41a5c3da88581663e721f02d443f22c9d8db056925d805f505c77c270f37c448b15c0ecdb2396cd790c434c1b9cf8cb889c272c0524c44351abb64b3b65194eb7b76241d971d2505c21af85588aa98b4c020e3da106275d6ad92ac77b383b463f712c70ad7085c49f4515402264cfe1fdd70a220b3a0552d71be2c8f1caa3f6f7e53b9147b42d4971d7b0314da97a20dac44795849a155a48f40dd10d2025189d5a2a6a176e44aed266e79a52713d8820a52893efd32b3d2f22509c813245a6df5fb9076a9340352167f2aba0e5d9af38569feb6edf485cb106dde284b\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = a057eeff7fb0d83799344e85b08e98410e2a85f6bd08bcb9c15a1662b0d4ccc9d7cbbadd7494b8ad390b58e5c48c9fead61091df7b3b59c721b82438265b7ba6e3cfaf3912bd3eee3a8f0ea64cb8696a393dbaf55959d7e516e16785d184847daac958445a79013a4884e434ee756de7533853cd219b0f5a4faa1133ff09d43c00c49fe37dffe0e3fac850c2d9c8e0264e64955eb3f78fa17795dd595c38324742ed77b85560e3dee3867ba4a793dcaf8f08faa612530355bd377c8009a08687999a76b5e4c74b36385a074e7316392457486a8679b226a1ecfa53f3666977af37e860e2c074e817b11b9dd4965d660074ae3c5016029a3fc210823f3f849a1c8fbeace5688a7ae7fd3358bdd6ee47d96c0ae6090360ba5601fa21cd60e71594438fb4d99b3276d49e506575d86fca9749d2db9639df69e15c89c3d555f1bb0c74e4f1ba3297b8affe1fa70d8fe5a19649a1f0d7f06804b0e021598c881b696d8a0b9396cecb61abe0e14ec200cde80fbf23cf521e110934ee7f33abd6355dca78f543d71a2b05327e0dbd88c9becb1817feb07f18df694e9312c3b4e24bbccedafef4d0bd99a268dfaba389f6462471eb9133a3bb49379bba80389105c5200b899b53b4f504d4dcaac174f99dd742ef574be0350d8c4f2db3a896e162e3058af5b919f40249349c0c3e780f685b113d01a1f4405cdf8ed4bd865adb2d1c3140\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 04050d0ef42a4d145e63322e2b20da48aec3bd58dc95a4658e69be740b655bc94ba3af9c5f9af76f023eb6051d9e2956ec963fdf64cfef1862bf15b4e896d37e884a0a23b60754140aac87d15583b0cb84d8f9083555ca64530c64984e3d322b4233b0a318ce33c57857829986dcfd1d23dfed79d3c59ffc6ba44052fe9f74232348b9e4e2d704070449b4852d6985609b3d4f5b1ee55d99612d23db06f5d2fdcabc0b1f5cb2f47187aec2fad8f385a438a5ad5d6212574c5b61f500a0d192d253968282c393c42855fbe46fd1e85627c154e4df999ed95d905e89278c23eeb79c581c9bd2f9252c265e3368951fa3270b6582c99d80f7e2b58a6ea278d98b295273abda89f0dda0caeb3fc7819673d5116ad16991563f08db0c5639e1fadcf0ca122a2d1286a2f994f646fe98efd35a83999915df0170094add1271f2e3bb193d5605d8e410d0fd0bb3e73f64295dec54093626f92a227498b6af7aaabd88ae1f057d30b61d5da0778d67cf45c65a3bee3a172039efe97e25f3b3145c47cb824b02b393d15f7b67e2167da3f2c740eb591f6a4a6afdee0eaf602fc963af1792cadc6fcf805432cfe005e2d4484df25c999eb484ffe618b03ee9bfd373418ef12af89b73ba49021b2721d18f5f9a024497dfadf201b7f6fb7415f255fd8534b62b2e2cf1e337a2270d6c286ffbadd063fc09f0f8e9880820a6dc7d03d2bcdf5b\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 25f364b8aed878c58caf9b40fabf09d3a9517f297dbe4e101eb1fd840a82e57ebe9ec185206756fc76a53d9f045eca0a4d819e87e81fb0569804c3b9f62a54ace4163c9695849878ade09dfae4f50fca5c68dd201e6a1bc2cb0cf970cdeab3630915556b79a9aed7903a526288b66b00a30f565e53875f448ce0b3b5b05e3b6cf71df9fbdf248fc1843eeb11955570136bcb4f8214c39e8c12ce59aba1f96062d7ba5e63ee178a9210f8cc53965b62fc4b0dfbcec2cb35933c7cc1bf5d5e26aa63aafe3c53e2b8d06bde785db99dd8ccc981435cc9a5c3d69a75de2c6ad22a87fb9262099563a6a149ed96012f25e0c87ea90885734332d21a66381b5c7c6a306ee571905a21d95a2e6374a3bb84aed9af3cecb5724a5afe5126541ceebae4cecf2a91802f18ab4c6f421c9ac31fec7fb6b883a576e1d26b1671663df442810ea405bb3d311b795dd8292b093e5650196189f83ae963623196ce850130f018eecf9a933c442f4f0f3b8067e24a50d363e4d10e2f254571b3acd5c318209c93f002436fdc0484373ba47b18b6ea50e9a9726dad987ff09b2bcd00bccd56e7572a75e321d1da85f0da1be719b893a06a40c3813ece6623dc70d0115946297ee0bc62d733aac3f1065e6f7b79d7b2a6f2be33e3264828e911b09e38582b56f0c1bb46c014506aa9c8293926401e0c6b4c1aabc2d70e739498f723605b7dce4eabf7\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 6dc8ab655d1a764a219c97ef4053addff2957e3d350b50f85d8c51c26e34d923a080ebb7a7ebf2feffa328b6d39109b821c241741ede029a55c83ed08c861f677470b8455ca048a0e329e67ec921943c1a6b5121ad714c3f7207a8b2ea1e7b100c3f95a8033afa5c0abf37f7f6120454466c019581bbf2fa26eb456f7f773cd5a60a6b1db90d9a26c652df8ef63e2de5b55b2fc14689e1a88df9cb95e11e5ce4944e1b9ad036d02cd25fa46ae08fddae96f5aa78539b062ba705af779a566209805190b57abf5698c129f149200ecd1260dd14dd59cb27160ead13c2f6d0494356a556295f6cbf5d237318e16b3ef9b0485c13a193e59f0adefba176d1f27ca5dbceed9ca6cbe8e112de56084ff3bd80d27a2d5e9306d6f56764feb4be5871930ad278c09bb444e213a7ec5f1fa6665a1f39c6fb4f4fc5aa8bec99141c4c559fdf9760ab4074780e191a9d3d1581ed411d502846748fa2956f75f779a2d0172c8011611da0a2e77e2fdf94aff98dfb549ca04227283d63224fe97d01bc3b80e08efab42b381013afdd1de26fe343acfe0d9981f0a432888c7e93afda0b4618d513663658556902c2396156ccfc4a8ea7bd650627a8228e51c4252b7df0ffd0f5b25df547c2691d6c4cae45081bd66e3e18ffe8eb37d378abef362024b4b73340cef4cceb36b38d78d816a2489be479244bf5fd25416a277535b350a90eb799c7\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 6f1c83e54cd4810755b1ab483607f44f5437b82d8fefd1428e4831a825ec7d2182fe4e0910a596413d425aea53665a58622f66bf3b2fd42b04d4fc0212a5bf06c6093c8fc87c3fdcd59ddfb4672e3e78a289e74f7715865035cb1d66dc82d70b4565594e368e02afce093f12106407f47c2a21fca84259fccda46fcd1de83b697d48123946b1cfcdd58415d3e8bb5603981b0ae3367f7a65fb80b8545104fbf8a7a1df79d2b9c5c2775c9e25d5675c8dea5beec01ddc6e404e1b13dba3cd00ee19f59e5fc69bb82aa31a26f7e5ebbc8884783ea3fbfb8a56558a487d12f2b54f6a79758f2f9c803475979c0ae53ef9f808a0ad08abc836cd87134cd956e76a440454e4b9632d38f67afc1fed63d142e58fe5b61fee453ad4fc180498f91d47ef3481622e390c81bb4ad16e641d2c6223aea9b99ac4a8c39aaa8048e2fe34fe938c0b2fd5f097df6f15280c6a8af7517e4f94b0d081582892937efd56aeae6dfd8e410c08527395fe58b7520c7557e3166a863c4c29c79172f164c4c99f084b7bcf661a2612851ae04656bfe640413b45e0597c05c221def5109be11c28038323d5fc183f0b8c487551696d800bc157303e06dcbb8ec86a7423bab242cf24fde4d08fc640735a0158865dfb338c23ce90a9f4976836860fb737d504e5ca6d3d733a4865d9aa9e97e9cc8d923d31b8088da0e575cbe4bf9c78410452704cf5a2e0\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 92b2c003636f38616d66d59c6288063f36e8c81b57a64fbb4225fa0bce3d058dc3821098d60d44efe8c925c34d3c607bc79eb6a8b667bc99800843bcded44846a974dd0eccae8db6a5a6bf66bf8df83306ccd785e3d16b21bbebc9be03ee86f107dd9a99fb227d7c95aceafaaf2945b653df862269d16aa9eead9449d77c55dd998316f9f9f6f8de1b2fdbd9eac1791541e3b725902284e6ea5e29ab66bb00bde4b0f702891205363328f0a185527826a1cf3db16d016b34fa511234d672830606747f4b06c251cb153707207c22e76f1b85841db5a282554e6d35bdb540709fa1ff4a22d429ba582049766aa5b9a9767a37adef399ca976f086e7b8e0cdd61d8ec24258056921b487d2eb51ebeeb612d26d5678f51cf187be515a4dc642674c9c797ef0696ad4b6bffb3d958aa95b76b2320cc2383155e6ba45ec6546d57925c8ee96f212c46af7a3ad6f8bc833f3e3b416f5be85a1ff7cf77d112e7836ec085ae65c183b1fcc598e9f3af8bd032b0aaf83cdef8109bdf4c3c4a418c966fa459e1bbeb8ef48be950543a784016e84cb67d26f5755e499bf93e8047d16e954796d5522b28df0a20ba9f27b2141c9f20ee1a2421d13822fc35d50e1d6cc9ad4bb197b19b6b9613cf7f4d56501fe9188bd87a17f6ca070c95ec64c76f8637fd952188737895a327d3c90513f47cc9a76d7dbf74b554367882b934545ae2d030f3a\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 4e04d028ddc31ef77e19b3638cce03719a814aa2749b04c73be1d5d2235799185625bc17f1116b386bc70bff5caba577cfdd09270a7d1ba05de0770dd727f94c5a7a73a5beb611c68a765bfce90983e6f1948168b3921ee8fe338ae19d4af386b8c17dec3edf4ab7aa9cd98a3c8c6740b760de0b07bc7e5855c5c2ff196930d0af0674712f4b4b6c8043de8284d3175daef39756d8afe3bf5ae868045553ed7bd8233e087ddd4ff276246f16aa9676d8e8bd2d2499459c927c164c9faa9e9a0f12879c13fe204c422a4256fda1f67eeedfee97fd67c726ae522d2a67e56932588439aa6fa190b3cced40daca91f7f27e22c36dd17e4260e4e85cd1d005356863eee5fb09653054192003fce49dc211102513107f01cf0a86ff85ad0e9808a195f721ddc38405bd13b26603293b0edbe508f3df5da640270b33a7f4bd40558467ef1945087e57e387fc3864bcdff5de224", + "6c86b11e1a5ec56161d11dc10cb116f099e9700060a0daa45c96930aaf58b440a5c78c58057cd93508558dc363c332bc9a825f0c0650e49053e69c6d3798e127236bb0397a4bbe0d7fada7b5caa28fd7ce9c86fe57c00eee1a7c0cf2e218519dc529455cf650ea19c6a446edddd04733376cd9423f3f64fd3dd9cd2ef9e79f1c905be8e1e2f1c95e6e0289cd57c281f715a283258e3887d853db97677e8f3f3a7fae06cd9eb29012ffec0ee3347b3ba\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 968d675e64da18df5f5a42aeff479ecfc8cca4c2e95d3f75df51328496dadb3b33b9a0c0606fcc8c709e9bba0327f8caaa1f5bbe11fdfe89b9e34e5e3411cd3a64e08b268689386b2a83b0e05a997083befc86a74fd3db92c0445f9f253466807cbcacc80592c5befa2441aad8b3ca3c561522eb0571556d6a71e1cbbef325183fe70e92af1bb2d0011b0f56ac2688d7d24364e324bd76a8f86a3274647197c4ae625c44f24891365e62bdfd0e50d13b3a883ce21c1a563620a4023f228078e56a75ec884e376b09a6f03729b28e515b3ebf7179e21017d0c129832a19f9762cba6af38a2ee230f2c2d3e07258ea3f50a92f39f13050578ee0b5523f05a5be71ab0f84d13b0b63eef3632ebd7139de37b37056982d202141582b086ff099aa4f919ce2a346e43f252289bb21d0005c97175764cb9ce717aec0e8ee1b81de516014ee5885d442b2bfbdd6e40c69ac74e149612b21a017e6d0dec38513e4c4049f47fd01c23b56274eb074292a1c40bf5c0725ff83ca0fa1e32c7ed454ab6cbe57507a1929530462531560f8b075d363948dc3ef4c3f48f44853d395999aae8d8efb4aee9e83e490d6a3e76a91aa2569551e8b82b760029c5f38713af907bdaeb0c36079ab3e16dd678762e67c7bf3239deee05de9b11d5ac35dbba0affa55b0682f20bdd42f5f37a6022d962720dbdaf9c7e0f751070489c850349fbd9f9ff486\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 99c99292436a3f1b088154826d134aa10426f2a1d3a359a316eecaba5537f4f655e99e268d66e146250da025b82a3265d8ba2994f7eec9c9dd87c1232225cd985a40def354a42c4ed35c428743def6871d2c3381bf8586634558c28f5eec0e5020993359037fac4d1ecffc2468e75c88ed996c7bec2fb9c7893a6114381662be9e476653973f9e93d12ba4c738a51e67f813ad34d625c75f99acf5acb3cbf9997c86c52da8b41aa2012f2d492e30e898ae5f79af10db51bb492ea3b25f4bff2f4bc00b35af3aea5666289cb2685917d3c67b32c3eabeabfc79b1fa2722157b8e1d36e503314017d022f6d188a62c6f9aa05ab53ee7851e911dce4ee74c555c3534660271e3fbad5d398e5d0472651079ac2d79d5ce759ef71e0b38f2d2f023c4d9e7126a02773c41c996940b84193fededb07651ccd5b411e5f44d0e14614978842fa7a38c127d781a59b9c1a9f76b50ada3c4835c3ba2691556ec3b90ca5ffc93890ed1a6fdff6b2e40dcb747d1c2f7112e4ae75e79e4061823f330c6931663c4540d4898ed2004209fdda0f65eb06436bc562546d0d49f8181f7aadb15995d2e3468e41bdbe96fb42079dff14133f05175ffc5c6547e76ee232de0887713d9aed4daf1f72b6e131002821b5ad30a0afae478de9b3e4a559bdc8db9fa523b1aa402cb00a55320bc3d1e7bb2bc7cd1a3fe9f367203926a5da28a745d3741b368\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = a79dac666f7dd5d498b2e84b9b5eb5a88138bdb68e3d2377d85dd1608ccf2eb73cfbacab4f0ecc390c773e8676b88512fa3831093dc88264768a46a7914220b511f64155012df7927eac52a5367a8060e91259d169eedcc6be788dc39bee42b55e1c98f1c8597e5bc5ffe014cf2502dede3899e91ef7284689f726ee9ab4cb405d729452359e210d71219c236e1c66c694d69d36f85374d7f64d9ad4168a45e8e50309944b8bcec31f8131252ce42dcc840431a27a8b2d881bad3cafac25f653e65a182c8ed5afe75c82fb056ef7d6bc22e82c47f3bd0d389873c4decbc0b94313902331595c933bf445feeb6a9908fd2abe26f5744b963fcf6cb225d28612e609c1f443984f2ac84f1c49a8c814b21113d95dffd0307019b675f5b91e65c2d0756782ea1969e9afdba85d18ba0f7b4b5bc24bc06458cb3adb431af2be297387a28bac89f2266bd7dde35c9483183f8239bf7bb253df1305ca218d1d4ff7015f74df1ca7e1b29f7a66844f59e7ed96ed28b4bf53a3e6bc21b348fbcf144d26d4003d3e15ea5e51dfbb40bbf7eda7f5f0ed515532bdff3943f98fcebcf17c1d6cc73825f093a4fa261550417314ff9d53658c9f9aab00839394e91c1d07bce42a816f1a80f0192b76c482affa5c0e85d359e926d43bc595d0e74b44c3c6195bc5fcd3ac29734db6882e344bdb56c0dd367b9478880935bff82381f546d5182965\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 5a6d798ed5ea0d324429c38276b8f78bd3dd300f80b5700df516a4ef353587029bccac953861455cec0fd8cafc06dc18d1bf4883c76ba7c52a55213b7b57cae878e6ffa29890c4ee9b1f9f402f81168ca1f8fccdaaa1d3b712c6426e67690b868391d32e11e238c8edba7ac67e52ce364c9dd3302972a14405e43b93e212ed0063474b1227ce409d4e4b9b6c6d100d96670e464272b3db6e2688bf3d3214b766218d14cb2d33c53cfcb70cb955bc8ccac2fe2943e9209fdf046d03bd3d278898aafaf4ce87bcff6fc9ca1145e66fc35534cfe5e9323ac1ca62665e71912d50b3d0510c2f831c5829a33d5b86ed5d67270f21d514745e4a1b1413157c4c059bb43340fd30552a0b2443b3a005f824a3fb3ba930f836c3346553c50fdc4c344e8ba0ebed8c5a095c9fcf3f6725c49738740cbc450fc6a6e07accf91ebdc8d73fe70be3ead564823e4dc86a6cf2766b1d528ad04dd6578f4cd582b23faa2a2da787882012a8239d28ee4a072265eec50637b753c9f03ac890767df638c37834a266251f57a7283efa8ad9f9eab2f636608a7708d41d06c94382c1dd19c057f163e4d1363e93fec15c4739c41e1428ee3e013354739a6321d7149c51740c23e03a3e31ed1856c04fd35aa3f5e974e5900c29257c5033db7930e8e1c3b0c08de956cd89ffd1adde36f330584b533891505df523481c41945842b3136a13fc183b9d0d\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = c16831c84203186d55d5391ca48c31c4a7ea17f4c83a773041af8fdbf4f98511ce7122decf06b7ed3a0b3e3a3fd3aa9927984c3a5e59661ae35366b2330caea6c2a33f01134d30fc210529c599e9f4dd0b12142acefef6b218ed6723dd06fe88a55d3e9f3cee052b83044a46e84d39a80eb1ebdbb0db8a0a7caa5231ea82a9738b1393e77965092377723f9a6b8f2d6a35deea4023d87c6e6a46fe9cde5fcec17ce55960a784df02dbfaa300f8e939d9afdc509e7805e253bdd64da9dc3e17cda39a4fa1e183c4e81f6fda5a79df2a4b9cd388509e350c47d5cc039514a25a37ec758ffe196afdaa8174578ba0e91d435580f17270847731123f0a9fe98a7586e6c82da1b9b59b43b283c03ace8da8eb56a3c4b6231893622100b3e277cdc0eeb13897ce9c676c0c1413b6751b220cc6394494962b4fc09aff620eb82d59f823afe1be2341908b3972eb0d17280a67de0156ea3430b498201e5bc38301928983a61473ba28fb8984daf6d1a551489c26d69b9f8761f2d5537e514e453d5d06ba960d298f25a16aeeb2dda3be6072535c336c8c8e96d99105a7b3dd93a310073e520e7cca1b3ca34bbcfd247c981685e7a0b141de1895c555d2feb883bdada9f070edf8cbfe32bcbc9d00a64e636c776fe7dc4ffb271ab92b673b396c90cf3774beeb7fc568dff65b46e73764c3c291c92ee2910604d75d3d890a90ef57461a2b\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 8cfbbab87567c1c9444563c93fbbc9900e197b42e47db8e082aee99df5eb7457e50282b28479c59a49a939ae6819eaec9f6e20b3631e4d1a86a23ae7eb5f7d7daa28ee3b5ee22b6ec7baa6541795d5785fd432d9586ea69951c0e2ab370ecda5836ce161abd44d2bf811c9145c40aa0d79eb3b26d2969b9e80d408c8a15f468989b0cd65af62445321c901309a18791eb87bd114dbd7f9a67d9ce717d3ee72c6604813593e885d52a7d6214c286c8b1160a50c816140ceba231b9b16e05f73006b90f63916941916b987d732138c6e8bab399f2ff0ef3e48aba6cbda52eba31555a89dca745c8e20c1dc4711189c49d58f212ab314159294aef96d6f3c3fddbcab72355d8d3b4cf26334543fd9f4e1b7e78314db152de2824f5001c1ec25fdb1cc9ad7a7ad753f4da458e70517e152b17961f27fd33b16222e974add27e34ff67f31da5bcb05c489d7b0bb163e0043d63d2e064a4f626f8d9917a9ac0a6ae79d94630773dee440af99562a7a918d77cac2d3c82e43cbf02a4cc00e4e7dbd149151b78b1aff4de3959b857fb8cf73f8c0da2d683101d4d3bfce02d234c343116836cf47aec0f593ce76f0ad9ce206194b4d830be1008937f5dd6418adbcd58f36c772e3ac456bb7d675f7027b692d3e759cbeb5f6fc57fd1ec70d459dc6153be6f056fa5c0b660cd37c0d3c73a8fe6a368e81c4f50a43d6147ffc057e6642000e\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 06d7c10ab9db50ccadcab75474b8d9ac17dd43f24c5fb37ddac738e3e102150975e6b37c63bbcdd987b9675d6f96c1ffe35e74da3c13fcf689a5e0c33ad11db44e87fa3db110e19bb25a6c8abe573a52f0b35e718a2c3365dda52f566c62785e61a47f87f56d870f148ead3571a1569f2e58fc46a8f5f8b7bf03a6494d9bbba960da1ff465815dc697480c8c4d4ac08e960d9f17511aa2bb6347c0d95f33e7e9c444c302019100cba7aeb93eb4dab84d80764559ea3cd3e17ddc8606a279d7bd54f7f2d2e9eeee1ff28427cb8fc1d4d4c552b8c6a52940841a3409f0cdc28eefb5eccbb9e12f604bbc8ca24d02d706f633810810d9bdad9ee77cd4971c6c5c6aaf3718440c7a8191fd1e5b334435152552c34181aabad626384e68329b32b4abc53b157a255b8e077dbd950e9e6cba24cbdc59e54ef056139b5899ee90fcb0113909b0df2ca447ecc860c416c025f9d65f7f17afacb7075c3378660a9432f4e4582d5db2009c5180567522c5a58eb72efb1ab9b4799111f351fb5b0a8326559467ca4363094ce9de5ff622fe15ba857d5b24a091a39cf1bfc0a1f5ca167f3a61ef57bbecb827638abe183f8ff1bdd6231e262a98469a8dd2afa0b436d9c47e121ca9c9bf318ffa0020490e89684662eb540b4eca22282695f422aee1520f290e10c6a66cb7e2153bbd3bb90965784b46711cf93750907b632cd816fa9398", + "614a\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 8bdd32c9ebc98617e93f5c81c5f9b2e65183486cd249dc4efdbe1a91aa9e3aae668f8008db7f2a09c42435766ecf436dc73bcc496e6908a17697129ad1594ea8d169b89198d632907e050340583a7e9580328cadc4c6cce0686eca1cf7cc5445b84846a4042648120de621104f05fea2f5f12ca2a856bb90654dbbe1ab3a15337deb7ef4798fae6eb3b9664d7afdcac73e1972e5abf2f16c8d1672e54c97e321f41d5ace05eaeb9513e2d18cbc2d7a1ad856aaf18bc84cc6cd6d7273279191315970e55838922b3d10fc4d99eedb22bca24e20e586258928343620a8361239b919d03a2ab2a537f2224376576eaa4a67e0e06cf79e335aa39b928e1c4d7a2a7c87ca4401d188715a6063802408582fb486c8890dab132276665f5f173a587fb2c4d3b1e9d50fb62e7ac6c548ca6da19d1a0c22a79d4c190550e109fd3a85a0adde9f00b22a9331eb72bedb1b564a788a5df7b5516388f37f8fb7b534adbd8ab7eb7be5e66963c6fd00bea58fdf570ed9b5b0aa7cebfb17b477e28ecd78461ab8b0cc026d2bde97fe1d1643a971670081ac495396e61d234b591ed07c58081fe938d0ec534eae561cef1999bc5cdb1f20cafe4dc4223ed015a41ceacbeef2e886bb0d3e5e70925f02c8e9f59afb86c5937598fd69d61e69054d5670c484ddd5b2b54a2e39633e611dbef4e4c72a8be0b7fd163ab5686e09030abcf373fe86138f\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 9188914ee2bbab207120e12f280d6176cd8e12276eaa94f9c7b7dc66d886879b5641f12ab8b232982db86ad14145191f13ef8909f63108806c49ed9998824845730ab86db5fb3a4b4ab100f79da8af5c10d0372fbd2c9a2448ad5f3b10365fa316762c3031218b4a874b66d14be5ecada07c9e772283a9a678450b60d56fe71a6c2ebb4936c5c89b66dd2b68ba4a5cb1dc2866cc3792e710bf6548e24565ed2b15eb02fea87d239ec8802f802a31bb62591b72f59bfb4a63403d89663d9ab2aaf87d37400aee9c44de5f246571bb2fbf0557ae04a35cb515d42232b0a311fecd31319830ee6d2e505e6b315aedaeb68e7efff3015da5d390521782d32edc15386e102247f81d0607bda75cb15e06bc7bf25bf3063207c36c85a4d1cb3da5b96b638df3c80fa40579209834a1bd980e28da8f1916f62d9bf567e0afae734afc2bb2ca8288487164a3a7941b64af1a86efcd630aff21587ae9d2927faf1534d23765f7e88432a8e2fea53f385540fb992a8ce42e89176c07e66656e03fc875f81b897e002783bdea0eb92d1f1e6a95b676f616c6a03cd1c952477f3744c5473d4e2132e7945c290239428c6f140f79907ee082bfb7e6b96a3f314956acca345e8b832a8f97057a33c70416d2382c5e695173365261fd1f32039215db4bffa1a08a0991ff2bd09b31ee4642f090fb029a95bc1edb6e310cbd50cacff508ec1d2040\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = bb7c6dd59e12462ac9895137d99e3c8d96772e6cce695c0c75abada842cb602c1a2a74d048e1ab581b237cca9dc909e6012bec30f40742375af7a0f6a00e85176c22ad0abb49cabfe3b15c90376898357e6b1faf61428cff699046a2b3b534b4c0abca5c1c5494c6549475a468a33e139edaa09ce1f59d58e51b80cb7c7e268b90338735bc3019c289cc610a9dabb6dd8751d00f7a90148db42d812aa53aee5223b76a19cdd0f41697aecbc2860f52aeaad6ea9927bfb1e7eb5b66c44c717c4378150c8df156a8dc9f42b9859a7905d79af61e7ab5e9aa7dacf2177c12c6cbb43c70815cbef1b4d4d7421564b1e6587553b64577961ed23b2da0113ca0b6a86f78d98ad3c91569992b1e1efec5a7accddafa8d806543f0705b0808fc52923575b068cfb227ca0bb8ddd65c421456c1d7028ecaecf56e2f42dab6b02c6b6df257263d941e7540c67cd09db507d1b63c59047ac7859f0d7d311419ce3016af5c2b74f68c3cefc073d5740aff573696c5f6c3e0c5f099f9d25d9ece981961a0591077e2ff0e07e1849bb75874350b68e368c48a1d9648a91904c53dda47b0071577a2217db4ed9edfa33aa44a250664d0a7c7c8defd05cd0c56d029f3c3213d1115cb44a109367617ff6cda8409e8e3eaf7042e49a9391e972b70024877ebae686909bb339d3f7c225256e1735d3b11028bff3ec7ac928f8469c60bc84c58fe7f41\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = a292fadf0c5839f4b4c282a8871f366351d2f5889daf595e2d309f750fe7d05961004a614f398ad47138a63a9eb493f4232e8073b30f48245c12d700a7ca19a95af5f128a5203f80709e7ca612a8d3924dcfe28d626351553287de2bba75a6aeab85988566555b22e4b13f8bfa5a81e6e8b66f51758b2de5639bb7bfef99df264d0e0d5f4e475b73ad5533c9862fce2ac8c28463f9a2d9ad6ba7db7d94a387c309c92da156c46a7413bb6fbea0dcc14492f1b8fce4009daadefd6304e864559a1b27e473df7a8a7166054d9eef10511c90ea6c69cc19389529101f917c2562de3a1681fa1b41c789cae6ccdd82f93a9dbdc4775274783d37a8b975945ec05a0d7362941a041e4fe7ba87624a586586010444ac79ffea8d58057d808d3b8c1f2c705b8f77ed5e3907a16ed8685eba933d34f1dae99743a11a6cc6a47c6c168441ccdac81c0a9006ffe79473385d2c9f74ddd55d593af03b209df03eca844a26068c2da0967b7d0f2f4f2f2caca2decdb2ed3b33bab1250a0be60a2b0722cd481921518eb025f4aad96ac49e408b74ec6e372ef7c4921622b250a73de56b2a1721b5db919182eb3a5cad4e0f383d9ec82dd588e544741035be958e9bf14f7f029eec8828d98f8e2efc943efdac302e78e424779dda31d29ecdbfcb583e9573f0a3eb348d9f63d683d9e190f8f7a51c1fc7db924f70cbcdf8c70ac1ecd2176d38f6\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 22e0569ccd3187cbe2091997452e48c5a91308a4f9c944f58afc3ba1f9b4c155121b4ebbcbcb90a548bdf98c8e713ba6ca20c701363af4fff2b0784af10414077f5a0747eb60d0f1a38a03d90aa952f3da3d908eb8d0de98d4dadee03d4fd2ddc4ada4389d21da9d8a2cd4ba752ace8be606c0c088e10e7b411c90eaa342c5e8425f5733d0668c586ccbece1482d0ee5855b3a5d93c5105d631df7a1d13c0597d5530b32c13ad5bc7ef5c578e442322267a48b427bc201d30c2010fc6c3e27c40bd924e897e9e4d932467c1389c3465c71374e8a289720332da4a0ec29d7aafdc115515edab8064cfb35c653b99cf651c2fb004dc898a0c4b66af1eb370b1556b3d28814cdce5b7fff88981e6b7707d95eece4b9b75d624b3c6efffc10222e742090dc030542b7c2918bb2c73e20139aa9c383be690e8be74f3ea9eb8881c6c0ab27c16ddf10867a4a7dce3496b1a0a2295357d49b498ff1ea0a27bc7ea182a7a89a7cc53859fe2ac8d876e30d1e810bbefc5a48bee8be7b3e12e83c1dff218814bd6ea42228faa6b69195121f0d079cd887d1da9c1be4e3b3ffa9e4d23a1884d19845e6c76e74d9319884bd31622e09525ae8507c4d4b66e93ab55d57e1dee708542e1ec9ba7baa2fbab8c41c8be4101bb7c75ff7f3178169f93899c0c0b4550276cf166962194091c177179481c620a50290fb85feb83665a399f0afe6d961\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 1839350788eb5904ca9deb1c30ebfad0c8938522d127135e5dcf4f5cacf2f24e32f056ce74da93b68517acf3abf45b55bfd19f25adce4aed72e2fe8496376f8299f06e55c4e6fbcb516ba1c475751c2e8a848d6604d866c7a391505623265d7ac9b6397444f4d229f0b82cbfe673c1eb7e0f3f6528e2b662a5b50f94db86d53abf341bf927e70bfe6a25f6da50e1383c9e6892b3cc148aca796ec1d957c7933eb82ca92eddb7da4a488e0768e1bd980e61312cd614149a3420c6e5fc1e5f987d07ca223cf39319b03877de14e6766a191bd45d5905b1f92530e60c093e106b2575b254cc0965244c5fcdb788a82d3c54afdb41e009c401913109e068d5599c3fa599cd69034164ea03e4409a29c259410f460ce9743ed98ba3a9bfe9c513635610280b9505c331be4674613504bef0c45ea16030e1d917199c69ea701bae06cfcd6143981b1608c8662e7ea0d97aa0cd6a2c9a81cc5d5ef472c83c03d2b3649ec3b0a49aa32ced70f716af4f25b5d788b711dad4dbc3738651a29b080e7dd13f18292c5c31a18a769f6f1d7c5970a2693c1e38e9665673cb48ad316a3af9c4217d98fb69d7cc4fb0eefe950564d6666aac6804b4dd476568d86b1a0fef91cbbca49c4bdd7f845d8c7adc5bbf3eff13dc014cb29d8c7f1c6d033922d00eb4a14566af2850d76cec15a4e9ab5d5811577cd4dae6ec7e6792c23c4becb949e12212\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = af85d132381c07e90840669e177f93ed7c511b434145021a0be225287a5d97a9c1399ce025a73b3c3e15af034e8a568f5463d4f5c89fe39b28f0cba99191b8de71bee60621db19804b2401c6f6375b0adac5cd99b52927973f695660fe6b53eeecbf288cfa69cdc891c70be7c04a38453d9e81928f4799c9599b1e7f6f0f56319d30e98d16d7787075fc633bc3ac955ac6fd5b8c12f7e07272cba3d3af1506a77c5357e7c17b6883d1498d7465a675f015420da08f4029900dade8b94cad5e5ee3445c9b159b3acb81de430a39996e3d1abc7389e8ca34ef1a105437c543bb88995b02ebc01b97a86ee1520d15400dbc4c32a0b769ee2a9c71251e100634dea5c7771c7c7cc6ee8b9c5e2fad1c746f9be63394c1a36171828966ecc528f501e7a7f54f0a74d761c0a0fed6bd775047608350208c88a222b6b4e097285ff39a57620b579bd42d00f0adf09988c1e9ba8386806b79347d31460b8d1b96e0f26a9616ebdc8008a1ca46f60b294ba39e8c4080258d897a45a3c310cde1d71046f44f981c8de07b72c16dbacc53115555d19de38fa169414294caf0e90f7766d1e2cc3acddffb84d8b1770ec501fc32c22c7a2c5707f724590a73e96a30b243c8611c4342e2b5f1c94b67cd5fed0f10811ab82b28c16c38ef2aff795cf40babb92c19e62822bdb1b2d02333d14efeb3be8206165d3e75171d5666be0c92e96235ef2c\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 57f36d681dbd16ac7cc447a9bd77b3f71ec31ae19853de2d9899d8acf7a95002f8e838efe479f56995d56e9822e5928d261017e1ff0042d00c9aa8b2adc00ea72778279e9665a394cba187af5b9ea3c9772cf0721528ca14d1cb6bcf0b13a71e455202641838f6bc353563204147960a5cadd5e370929cbed21150c85df76dfc907d4aa372e66e891adec59aab2460a97f473f0bc1f6480d2bffc94d0662d5a35c6771aaa", + "cd07e096f9802116b9b2440bd2c4b85c57556f4fe2d0765fef9c77b2428c39a1117fc26ef7f15fec08da0be03c0fd4617b32038d692aa3999f81bff85d1783a48a6f0973bbb7df191da707b797419c856e589a5acdff0a934b0646bc3e42fcf6f0568f233096209466f0aabb90d9e1ee5945820f46fc4d7d63f12048a542d3d4df4aaf21f43fd7ed74183971b458da1162864fe8c85187868a3916ba95e80cb130cd89116ce3ffac1b9d3090b8d90be18f48d61ac56635fda18498b4bc9a6ac1d41e5cc7f73b67f28dd03572f1efc3a73438652c3e49a6be79c9325439005be0d2d87d9fef65129bd6c9186a01fbc3812738b006e8952c500f4b271694f3cbc7b9dc648be76592fde4fd757f68f79d659ea3edb6b3434a73a125303e1bbe6d24bcd8e0e4b36e70b3e386b181ce8291492eca83fe7633901423ba5d273e1ce2bbb8da9b6afa8ca6870ce99cec7e5d470eee11d1835012fb228ca1c50\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 342ec794c9b7ca5d17ac049f38b6528a847ca8b9a56cbcf05d106b4f3ed1459b3d99df85f2f5c55f1c78aff72007ec8a04a7d484865120907cc4afc8cca65bbab407f60d7548e189ae03bbe3084a5eddb27412d63e2475b2bdd6f7e432e3715222dd21ab3311b70d1199fcf3a1577f94ddfa9ce19029b7d7e9bab354fb471188f03956773b839d4c2e2527d912fc13daefef311e023657e17f2accf7f76056e3ebb24ba42881ea916d88ee494eac687ce75c6af7bc5206a25ccf3988a6c39aadbefacf496ae5864a1176a1f556f70fa9885b4e0fc263d70f11463d1409f6dca8a3fabd5898a8b93add7cad8d46f122173a0b764328e649251ea1184c4d13d7236fd420c8dcdfd821df19e1ffbb082dac30220d3fb7e16bf9711917707842aeab180c3ee05ff2529a3c5be2677768be4ce7aed70c64c8dcb8c7b22fee404fbd9651a7a02d514c62e7dcd8038deeeb8adede607209fa263bdae4a5ac37b8e7f3c6e8c3a9c63ebd250c5846c331638c147e39f3f8ecb6356e9238b779e75da7b94f4924d63211796e88ca11343455a5d1b1f6c3918c311ece01e5fd65f766046452c644319cf4e495e67ae1c108e5b7c50fe5e3fbe3fa75c25ed71c013f81ab53a77dfb8014f357afe68a42da2e41e5f689ecdda7445e3c5996ccf16eb2dbc2b5f4c4601aa4094929986a776def1da70a530bd21d71d3ef62d559eb2727216f0f30\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 770f83107ea496e0b6104c4d507008ad00b37608d30426b960d834c64614b5ed556771cb945f69af00cf2b055a08c1e2292dbfef0135e913164732348607873891269417b291fa737bdf689a11f48638e55a5242b55698b1c19080fd01fb4b3d2409ec9cc3b8a06c0c6c3244ccfd38ee9af027e84a2ab0cc1a90bc9af780579dbac88ef61a5aad1a8cf6e625eb8b18df7413d4363d68171430088897f02c5751a321d5c44a2de28c4739e974a881a46bb3c7d33021dc40c6baee2b85baa12bc9a54047834ce19f2ac97859b1e3818cb9179fa04f339d0c348f3681f40eb775b0d5ae6df0a653b2816d98f6a3554846f007c357f1f357d4cfecc4177097b0eb88dc4d132d70872f3f51f18617781e6a4f7a3ed74fb653c7946ee6600392a113d446d5a957fec8b797313ecff115eabe61cc7f01af93fa1af6dedb962f26f10d703d4b984e5bc33e74de3c04289bb9a96db7180823bf74245b4ca80262438cea1cf2b552289976b026301fc1570d94fb8767def547f086d91609f5b133755631611b81b3bdf1d63e163c3457b2ff144bd2a98805ebfc29b75ccc605e2a98b75f66ccd4182be191f8558c4b5aaf3446b86ccc1fe74758b85b555a268eba91acec4473bf96729a423f22d3222b042aca2d7838348bcca7563df0659ac6625f1678454e7eeb35ae0a63873f0e0c2632a4ce990826e66b943d70bba0bf562db8a289fe\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = bda7b5ffedb9d0072c3dd8fb9ca35213dfb68e61eb9e3ac88e2647e3a7dbfc28de193485f97561b7c72e899416bcb191798cdcff2f50630aea4b296943a970dfb983acd47ec990d55b1ec8c16329ad94320fb1c2c3b896a19619dc204523aca890324f022b41a20bff7ca4356314bc4e952313edf91cbebfe55a65d27ea92290b975adeaf952c5fbc4415e7d8d3bd6e6319b578de5a66fd0a2197736b88d06bbd0a58ca65e1ba649759c70ffc914ab4b88bb81a1c7e6a2d4327944c967019ee63e34adadd5c1c77c2c733d02f93503e532af0a5178be79777a75a30bc2b4a5a374ca61f35f9d166d9bd3eb0aec8cc31b4c7e89bb751d1e38a16df5860e393c7c7ce995a315fb7c9a3d5c7eb38ffdcd3a9888c5b80b19cf35885f2ca26ce78a00d05654ee97c5dca4624f5c763bdac9fa45e8a0f53c3a18859f544421f746d00021aecde92466e5be57731900e57711e49868f826286ccf44133411b566b5300d9205aaa3231d02caa8434043e30b891b4e47969db9cf85ae95617db31e9a9d8834f816552c239649dd0962414cc683a39089144f3c1ee8c622c41c7b9b740a840ccd7f24275618a3f1e68c50f37c8fa073bfce35629c5512de29e50e74cfd66600564469de2500572a3e1867f549590bdd99f20487276246742dd114eca02905ebaade0a3895ee0f3d5fc70249f28612550f1f7a9a0356d4fed33020125b21c7\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 4f7ebe74a37d53164e8aad17079b798dce589d4b27878e57789093081e1fd6333871fca7943ad1444010f8a181c2cc6fb35b0729830fbbe3313551d51dd443011fda09370cf7aff65c448e5270781e1483291efc6f6fedfec81ada2f141fd436f685d28acfd7e2a01ad2e87030e076d8a93c497bd986654409c427c4f58ff7bfb9937cc068230804fa78977fc7649f31202437db9475db9def4e9b8409438c0724b9c05f3ad9f5ed9908ae3211367d465442de238edc8c2ca8d0e109cabed865fe37f6a4994651bbcb4d0af61e466808be729cc6978d1c08a1332a21f04aef0ee77e62becf11590b096704ba67219147b0881a000fd06baecb87db7549a74e08c17f2c1b54d93cbd43adadcd94fd116f7aa45d6e595d9ceac28d5ea23847ae6424bebe2d856f1c5605f8c88ba0ede58b90382e3eacf64c1c153174732061f4c80d071bf985946fcbaa362049fa86e59a72a93781a26c0f52f93a80e42d4a01fa4d292911325fe2cd70fa48d7e02ae80ae50bd37a2b23010cb8805b26a6415c4c6d265b3e28196c54d65cb67736378b00551a44da7d2f9f345f697175e4d5628f61998429312045f2baa16579a8511d9b4656979bb89babdf101ca9b81d49dbe0e329c9104ff76e290f6182e96e729884cb8dc3c5d43818508a19f462f0b7e4c790ba7601ae40d41cc6678a8a6eeb694d7e2c374397dca9ebc6a49ff79ca5463d\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 8023460b5fd886c16f15c0a31d2ec5a0cf43fecfb5a5bf4c9ca5a13e4c076cd55483398a20920138d821f1ddea3706ce3ea84df82a1542e9905f89322462e818fbd22873176ef1112d5bc2d8be0363b84dafc4dfdd4f09a694469d0c60133e2f4563a8718f0666f3d137456c2a1b644e963100e43b038b0896bca1775567d9ea6f0dc112918c2a5049c00823652222109eb6de7ea784e1f620666d61ba1127b4b2efcbd184a2300365d04b4724fa89a915d59c62903e93e8aa2b5cd04f6e1713de76335ae34ab98e2ab7c8b2da8009da54124685b2ec2688c4cd324e0b550c521274c848799a24fc901cc8f4cdac2a83d702e8ae0dbd1cafb69cb5ef4980e39d6683ef62454b47d0234bcefd2a9d93a482492a1bf80da22c8f43c0315b81f845b9597f855288370dce9f3d4256573e867d9fab46e5fcbf419f7f87c8ead3beaf9ddb345970648a0ceb2a94b487aebfecf020ca6b2950619da60af583abecd0c3f35fd449f20de3c6ae3ced3d348019c60295d324d68ca6be1071d336658e98d6882468ea8086af6ec66777076425bd708a046c259a391d90c1c89fcd4a8012de03872630368419d5d71dc1d77d0624fc6c29202c60cfd4904a1455955874c8fea2ebd940215d8978c5d23cd40cac7e99575b9b536eceb3351dee111e7a724798039a9c0bf8b5e671060e1e497877788967fb482ca6569472b6a4fd195dd1f9a7\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 6e936a844e70aacab2a52b08c722035c1fece44e7da375047c8a0131072d4cd34598250ce2d953f1bcd3b9f010f6e73da16b5956b26017831e4937e3331c74f67de02623a0553e236e2f2c6c37b5ea6f9e88f2ccb33b6aa92823e23407998fca861bd2474c266070d32433b2d2d880dee2969b483b7b4701fc2eadaefb0954d17a2ab9ea94b050e84a71e32f319cb517f1c84a2df48cf8792fd4fe41ce53f71fcbef77a2aeb4b5f1214564e9bc238f92fddb7a231d154b65b1d02441e45a44c68fb775ecbad29b6b6afe0bcf37f7b28b9c2d0bf2aea540eb1a0035552147b25354f695070decab791e6a6f4524ed7d5991bb47b055fe4110a55dbff10c8d906c3b05bf012297cba96001c175130316a6080e9ef61f0afc653e9b0f82b7a5f07734865754753993c80b1aed172b2fc097d9cc1bb0eed9ecacab4f1954f454954db7bac959828a1b2e3e60f9a72280237d54653daf3561f65aacfb930774dabd34b52955d7f44cb81071bba7843ee327847e6f9190a6898f0907435595deb3ae9ea6bd6a11d1834f663fb9af3676f76a5e12762e893700eb9e65f4679dd2357b093285a96af7654cde9378919b5459c92f9d439b88cb3d9599204543a5ed89f24457c5f43f0afd36e774a23642c4359d1dda581cd27aec0fad4fb2554058d37cd5f517e3f0e9f71d9e80454f8c201144d966a626afeb31aa36126c115a33496461\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 89d47254637f19d578cbbf89ab9f8dd5d658411d763501e10dc13a73b1898421be0b28352e2c505c3957cb65d745aa6dec6227954e7d7f9b6be8ccb98ff67f5733efa8b10d2041b862d2123a055291bc3038f9abfd340eac2e2ce9e4a6ede56feaf504903e7e8a2b1534bbf774cf56db230ec03be0da2299cd316af26c3e2058d3551ea3319b38a2ed142c8d806a0fe308a752277e8061aed64fe252464d94d60e1ddba421ba48262073b114566b3c9837cf643b8d168342624282dc20272dd5d92fa3de55fb1edc0079f4c2f63f2bad399323c3d3697e48eb5497289bedfcde9303e1e8de42f45e6ae9bbe94ce1cdbc1e92755ede9dcec33f49e711d0120df200c0dd6747801ef42e08e6d32902876bfd9a946ce2167a6575d4f9ff6ead1c320c2234482aead7fa90720b8115932cf243f49d3545e16e70afbec4c27b12dbab36954899ec927833a81087abb75d9bd854a4fe4daa1c3c6d466ffaf15fc2371789d64abef79ba05036b671311944179b", + "ce2fd6e707e4987ef9201a2a20531ab0dd163501892696166c47fc00e1060f5eddc64d79dcaf85551afe31ba3d87aad9c302e7c22bff0d7a5aae109f9a1bd95e02ac5c41bb3177a0bbaf4a1efef0dd9efa6e09d4cc3900c5a0164f6d391fdab7720c577b7fa1f6e3699457c72bd7ffc0bc32198e7ecc87a26946090c0199252a340acaf9dc5ed063b0b2ead7350ce5ce\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 40a14c4df726ed0f62b294f62573994e821d855a28d990fe600b7efad50219b2b2fa584ac37aacaf50428a36194ae2674ca2d6775290eda47cd40bc7b15a43f1f14293ede4f90c29c3a5bdd4081328d03d19511663d1e83dae82a791fda6a97d70ce80a977e4cf6b68ec832c24e4cfab0b0bcc9730d95395630bf4ae205c54cd45a1b818c83b6f9e457644671370753036920d62c2d6f64ded5f8249c79badb8bd6c2a1664069979ec38a739a92fd81114abf1a143a51af4a8895912e83b5c08a5206931feaed126374e870bf73e36203c9ed70028bcfb8965f2fdd115538d3cd603e2b172555c11347ab15caf65cc535bc09429fd0e5ff2ee9ddea121b18caf4d6436c24c56c4d97de567d4dee96daeadd310c808358cb1fbbf7bacd2b87eadd063e9bd10d6969b9cfcbbb7287162eb2a5fc904d53408b64cfd346a507f39ba6d8bab3dc01a12ebd753a7113fe3bce02ddbb47e2d4ded5e342758cb9e9113f0f287da337594fa3da4ec03b167b606f1f5cb42aa205f275e5187d166d8769d0d210f88fd956580ffae30c6fc637bbf16204146309569fda24fd38ef7a7ca5bd0f74ca8197d2bb9b2ef82f58d5e541a54190d1198a1a3d88a4e0331f1900f8edf2d31d6d8c74f0662ad92ec598a7fa27ff41de4951fdc4c353cb90caee871e725bda215068e41ed1df37f6287157deaab3f6e30c68cdb71e3257165cdd4c1489b\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 80c01d6f05ac1f8cea15e6adb85916192c365af6860d9760082ee6c15bfe56139b7bbe81865e9bccd775c0e805df4d82449dac42b29dcb7d404d5cb0532842572677fdfc834cd5fcdb0eb4be798a50d583b8d4ba730712e3f2d7c18c430aa7622b8239851441021fb08a9f98d51213ce81d0fb8e07ef990090610be6bd930367d76cd06835fb32cdff607d27f55a84b8ad7b8cdbab417cbc3072adaac5694c55a2e63a59a67585b925a56a4d9f47f0e9012935979ac75af96f7a40306363fe3bfdb428e9998adb3f2695e68cde1310212439abfcb5f78b56c5bd3db7b48caf897537d29c9433221359d080af9f8139d946d87ad5561741508f4ef400da92cebac640572c62ebd1d047a0f575fea856eefa057fac1fa3fc641dc8c1db63aa9074afec472feaf0082497cb37fe86fd84303b501f3e0346148635caa1ae2dc76f9fd7fc606529d5ffdc7a74d0ad667386aba017d510b11ee624adbc397e01b24ac8511bb1f3d1f74953a28114b5f26f0bd175f13949bdacaf9e69afc712f711d51c54c04db4da3c598c055ed786381c449265433719c26ebe442880f0797a254b165d0142527aef085a025b53c422e5ed4c4f8ad66455360e1344070c9ed3276979bcd210db43598033e60bfa302a02f77c30bb18487482d2c9b26447527d6cec876139379cc6b2a5df9f3ed91ddfd19a9ee6952ad4ffdece266203bb77a136a6de\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b260371786cab481593ce95cd03a0ae66ed3a9b9e15f0a5a928a94a44f26e0c965c0035901ca12d09b5acfcd95ae770c7598f49e9f67eb7cf5d62722242cb0da595e2b5ac350140dac4eb36df1fdcf2298365527f876e1f798396b141f083b5de06f4a37741da6d8a6b227a8ffa1437d9afb73bc5eac196d846e3d7b209e61ef8122809fd21571e22876c8229e3a6ba49501784199ad8836838d2c28b90f86c570e25edc8aa8ebdc2bc2c08e8b24a0fa61b57fcfaf9427e6899b8fd10f2c263e3d2eb6981537bf461c3bc0f13748b937fe6ca7dad710c1706fbea0df183efb1efaa5ea2a73a61be57acea6dc6480db146a0798c2d50a310bf538da086305efdcde7735da2bd5e4efe5f1546602abbb378b1e8cca85507e6af865914b07f271305cacab66ebbcdaa4f9a21c66bae144b97e80aef5b75150613d46a2da399f3a51d4abe8d5959f96819820594ac4b8e37672552f58e3339b259cbefb000ab82c3c00839c265c032bacd25fd5c0c7816e65539eb4598d669834e2771f0fc416c4527e0c904e96ba50dd6786f6296b4d0de93ddfee864f8f8cd1a38c82ff4f46494aed49bf928721945b5e7c881549dd31b603391f1eab6d67ed5065d19d78159766a807fe05083d13986949b5fa004bae48252878c98aeddb884b079dc55b3771a67e294bc3aed666d25dfc865c7302bb012ffca4f146abeabc1eb1268d88a6faa2\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 84b69d46718915c6e9fb582d7209f64d7d05927985b47f60903584f73d1652d571ec61243051dafa5d440d9ba7ee59813c5ed847386952769b0c0ebb9633b302597a3eef713499129440a20e9f4c33d982261d68b87c5fec638475c41982e84229b6ce7e4d2fc957e66084dfe57702d94a7e8f31599c49e1baf6bcff00cf1a422e833c29233a71db631f125b1efd05c472d78f1244a2bdb1707d6c9f9b4fc7022b47a9a6de1530966e49a67e0b6346afb05bbf77e3fc415a696509b7ee4ca8e7b0a9b8cf7325f7f5d4cc37ebcdfa009d33d285e4064a554f0bf8010528db507d9dd12172236e02616a4e8693f064cc08e733eb1b975956d1db53b4d267fd0567e5a913f083df1dc3053e2377f0f2e063b69c4a741b51a2cc430a2539c13e831a7f35ce971587b08bd90ac0c3d801e22ece2a673ba1e224d4bed142f8a6fbdb6bc2a573bbd0674a05958868d994cc9c91165bddb67d6f2008a6b78896a77bbda1d14ca1f9c49dd34ae43f1e85585396b56223c2535b49df276e7e25bd6d75f137c9f3bc6411690c0dcf9b9d0882996df8ba5a36a5178e0975e8eea0007ca4b54bb7f6914172370226033f9780614236c21aa2864306da344876fce8f24a055caf66809648b608107ab0ce1881398ee5b14c2cdc6f49521317b9cb68fc877b3b52b4909be1d599a835903832bd243fd0dab75b43a02eabf7c7c61efdf59a2ce2ec\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7755314b6e33091c4217c503165e7465cf272fa856ade2cd36ff9a5db7b8e846f15a39418ab5e681d038fbe89ab6c7f7dc8ff7bc57040844b0ca6905a9019e592ac6a523b0edda7d3f11e224da2535338e371b05f736b7593c37ff156f73003b1ff335271649beccd87c02d5308b339ffd5b909b005274a2a09c8a0ac425e7d51599158407fe05de1d41e11008143dfca497f70c0e283faf9554025fc0ecdb1ff83b1cfafcb6ca8f0cc6e97e3a3a7b62b00d61cc4c1401dfeae2408622e19d5c06e69fe7fc1feb4570d58a7049de874751309af9ee0fc7ca3b50fa6493d03368405db1d483b61486bf06e640985c3adffe3540883716c3f78281347de09dc3de044a5c60c33caf0608fbb685d21fae3213fa280ba68aab5f822b9f1f5afcd51832b59466a1212c92063d657441b55fc39cdbf16801137cb531fd23de3fea0ff01d5cc68a6804fb7115a7deb35952d9a0dff4d3e31d52af4b68104f85654619908d08b16881c68a52b9b52b4807c3b44425b0987c08ab934c1342bb5469646ec0480798453d5c4d471f1c2b59fd4e4e363e1b01e1f05e19157e2508e57b615a1016269effd29890148867f5cc4159dc409a3320f9b2124997da6fce481be241ad7d4f780786eddd5ea0ee7a0b52fe419148059aadf0b90cf81825719abe73d6f9110b01b96fcd5640f945870404afda9550926db3611d89b22b73d05976adb679\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 51729b157cf61f9dc88245a3d0caed291c33d738c416ddc9f4aa73fc17a2a9b39500a361cd0db72243e02faf129acc8378f689842db2cff07ad43ee7cbf3948902d847ee2d43773e8a86fcc3016cc879d238ba4d7f19e097e331225146dfc915ae1c19184f81be47a3cace37327b134999c497425671a8f62e6678530114665f1861df49e8ef9a924e40424daf847b6ae1297d4c554ddf327f3b22b58488d83712fc5d736bb11e807bfb83297484902e100fa9abd4f36dae6195239d4ba9da11dd685574565df0b2cd9b4cd60dba42f646d76315d2eff56b24f7ad5744e109148d608a0a130b278974047992d7c508216a134cf0dc73931c85fa130ada08905d0046c2c5d05125db1fbac0af81c3c465bbec62fe0d93f7971639335013e7daebe749c1369764e9ca158bd27624fd1ed440046bdc49a6c4319ebc41a813f5859983fa023f781b0f99ffa62aa22d77363970f4e9085e2d5e928ce0dca2122df17dbcb3db72c73f68f7b507356ad1c7b3c47500408aaa4aa8b9070affa7c7fde7cbf29c3c93d29ac2283543e0912795d71e21e4c722d6db948ba8c30844879b151fa7e1543c0dddca62c34461ac3220a57e7efa9b01d48f8c41c13612c74e47feccae95fd8e1bf41b6e4c5946c32a5edaca3b6a89793ce34f3579fae2a765fc21c3521d5c3d5b3d80d7fc29f92bf94127ca0e509112aa579d66eb9a015c001be1d4\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = b39a0d5cfcdf3534ffd2b1f7f025b33dd949164a50acba28b30499c7c6a5ced79dc278df30aa2e1e8086377b9b958a79751f32c4804a435f237c74fcdcac84c6fc635723446196b46d44356771eb5e276f2c8a2e359b2cdf052c0ad7fb629fef23fc22c82c375ee52601f858cae79643646f77e4c84fcc31f50455a48095c1eb72a54b4c0dd36ea3199a762a885d20694e0875ea2d2237053086dd7d34982ae10971b6bb478a85193d1114aea5ceae7821cfca3f521d62c57e7c97b55dd5fc1369602f15874925745503ccdf131345815bfd16b386de391f32cffd30a529e9f210cb3b9efe865f07b50c26810fc7220089b193e51003c819197e0d4a4044c5eeac1e87288a091db026886e09ecc386cfc378b775f42d403d6cccab2e473f1936eccb4cd41d5b246870ebe32785d8f9abc503db5ac269554ac3b6286b3b63434de33aee9df97b817050b0b857906d6cd4cd4d07b11df2058bcf924405ce020c42d01ffe04bb3919deab04b190d1eb4906378288a6feb1a1ce01e8256cf5b5f8888d6ce18b093151ae18bacbe81c42058fd35d6fcd1f6385d9d7a01a164cbfeb6882c7d094d2f058a5686d64708c928967dc8c7115ea940f994416563115d847e1c3e15f63618d42af12b47ed76b2ec0a96634b409c80241abcf3a68b0e255b9da7985a966ffe8098f1af6c7fe9da64be053c7db9addeb142f97a3ee6a90fe2329\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 1747d4961c28d37c225f944ffbd967ae2fcb8f5dbd3ec217cfed16b1e", + "d602f3d00b16007f94369a754f240ccfbf089f13a086d7e5cb5c39b4205d24c1b1838ab13618c8e6607d9fa52d08243d09c2ada538ee032fbf4bde8fd0b80ad97a557f6d3deb365481e6895525db6664c10f909a87915091608764707a7afc42a64a5c8a8effd4855485de4457d74765aa82a744614d35c83a21ea8f6b5591eec74a31476f39fce293328f9d3865070942308d64599d704aebaa707e406f3ab55945b7f9165392c13d069527011d813d20638d80eca7fafbdb548161e7f6c8ed25c0e8ed1d0faa3179dd18e75f0132ae11bc1904f7b195a345ea2b78025f0de6d81e05c01bb1734c766eb23e4032febfd5a3617ed3641ba7e18a16cb46ba9cf89dd406f8ed55748e0e9e868578a6575470b1066e336b4bf8fa42fc687d0590c8055866c3bb33d272f435258fcc2208a161d300267e7014b2a6bc95a42638daccff3cdad1570bc3e92746108d56d5ecb4a5fbf7d43062b5906571f41e09a3f7d2c5858b80cc25f9fe54774874539ffeefb485e25f2330893a16a0754b681ef34672eb8b881adb6700f5e19251259a3d20f42fd8b9bf3d9bce3b7b53639564171ae6bf78943009583bb1eca73809b1703f1ddbefc678e3f435c356676803a6072bbd0711d367f28f70338414895bdead3c97688c1e070f77697eef691a8cc609660e4f6bd\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = bc565c386b1056d48bf0bdfeaba954dca19874a51159f3ed835f2ed3d9023e3752171e70cdaa1f8ad1bb47cc921daab303f371759a5eb35a20722119921f2b3b866d2a806c4ce9ec9ea458b26c3e4d1e1c146b4e5cc855fffe27e4409a4fbf1c847ee6894a74a25a28e1dbdc4c3cc58c645e3b81be590aef4ea038add13779c29dc7c25710750cf516551d53e8a50f42f5117b9c6e139b2e8f1ab64331886a959136f55a03614d230b2f2b076c5d76df5dfe1a3ecdd38718cc6cf9c4d92f63df73b6672591760e46ed7e99ad65a800f15df2b88baed34d70242ae8f1a966f1289fd7beda15105bcafffa314f899016ad723a3e8fe067a7fb7763e019845caf1259b8f82cbf4dfb8682c7ac98d9293be1f0e697dd1c2c5bedac5a8f4c84e7a27f5fa5122007991c34a415ca7c8ea7cb15b16b2d85783e703e6b95ee7e2920fb5ca35b1f0e06b7f3107255e8b3d6041c5c105d225fd3eebd2799fc6677454a8a72d9086f741e0d83b4bf4a4c8051e5f02194328089182de71ad70c083287150c42eb48c613ced2aa51c713fffacf451c7bb03bed05280d3b30c2fb702e9efd31b7e79a3c27e419243da148024186afb40213a5c9b9325987c3abcc40187971b8590f6f4c3f945a63044851390ebb6ea99fc56e682c2c0c1b969f1fd265a7d6d11a38ec96f9ca517ee9849634bdd0cdfee2ecf0af21303ddc97b93e9c12e0a136fb\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 3d8f557eb9f275a861327edb49e64aab8f27f15b0503ef64543cb50003c8e8198d1a21b220ae7fa8f2b9a82d150a6c07777d68ddb51e2ce4954f96936bf62f4f8b0417138a28cdce24f760368cf8a2d316dbe30597fe6060da1ee0a6a8a79774431d63c425a70eccc0ba2e6edd5e6708183f556689235736610049a2ca48e3ea3f4e15966eb95401581d159f89128614af8ba09cb380b814a0e0798ca89413a7ac4dd882b051c95599e6997ea029667103433c8f899b97807ea5e08bfc96e2cf7b1f76bfebd1ee3bdec90b6ecdfec135f97ccdae19d9c2a8f27fd63bd4ebd8f081df8db0e467a6f8ccffc09525edf345558446a919ef25acb69d419264af84cf45ac9756af252d8108cb10fc63fe8d0f15d8ce8c3ba4aaa9131bee157b99821e2fbc479092a9bfaae7b816046826e104b9f89eb2472b1d604ca09d4d530dfbb5ce8ed2cb4caaa0b0bb0c7694b37e64ad1f7bc26a976bf69467c671561270b38b224f0817e0380be488f2a86d1eb753c1470de56eb72a18380979e7d2f4b6a39778b4546f8b4782b19b5cfa41544171ff640a90a418a8f3fbee0e0c7a5e3a30c7fc2beb63a6bb51a071d6fdb3ca6ffbfe9d49890529a4c47452cf34f828e46c2d14437c47fa7a0ed16a1024752b5a9112692ebec7fd4f81d443d52c94849d3a1de7880ca30886f1b7497a18ecb3da314e66b6ac35996b609682307e1846d1efdf\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 7d26b01b6f272a51683167a0a345b132e2a259b1d2d255d839844bc1587837a366b9313c33a76a8e2c3b0dde023d4b4b45090fa8ee80ee3bc1ccbaa7a69aba4ca0dafaf412aa618b4ade92260a34b60792ab817a199d6a4efb8edbd1a6b1f9a2b9b100eca45f2566f29c9f3af891442804e7f9784ffe9cff2d8c78485640668ff7c0228acb147d66f8e42e72ac8961dd6f1102ed68d9812457c24e87708e4225ac098b4d604f1863fa90a45a6adbb67390d715a393e1229e1736bbc8a7a5cf7b7bf8a5d132122bc94f6056a47dd3f4ab0fb395adc96ea6f1ed3f96d0907e14b80d539abc99d5a5ecd1f7cfe310adf519a15c2cfa0447190c70982c07b35ca89c5717b8cc7bae01cdc7725af43fcd4ccea4175564b1a673c464d83f8c43dba42d0e2785245dffcc104f2e717782886dcddd29ca2a7ba5ee630ecd2ad185ae29647b728aed38924001ef055077ec01fb0333d5a687425a8385e7ec274635e780e0e4ed50dae9602b133111a08ffbd266945cb6e798b45820bfdece8b9ea7ac10253fa822e45071b8cfbe1387b0b7b70ca0a071cb20c5f0487c2ed022123606dd6a9228cbc892ff0c39e4816e8e1974942cc094cfa324e9074d55fc66acf160fb8577b04fa213a4010133211d59714fc1bc284a9d96d9a7351ac644d48e0ef6518142f06efdd702652638ac9725cb769b8c8faad1ac0c0edc344d17483f4f1dc073\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 19f9103e7ea9ba79c0e880bf8724136202b5ad3328108384813ebffa98e1c84c7f335c99473cb72207371222e86a6c6f601bbf017a1bc50a42749730a03bf6722c24a928156b86bccc97906be1ee6abde357a2ec4850719d8507a567cea7d1581c1bfd35b78aee7e44edcdecf768d636a257ad39f9def79e0459bc33aca63d97287e3bb37e41482bcdc0bc41071af3a01a33560db1a150ee744206dc5ea20da2bf75e5d2b7656d85e83d9bf63250d97998e3cbeee6eb3e112f590017c5d0883af97b7d3ed36ec7f8fce6bc84c7cccbcd7f69b205f9ffbe2aa940f929be01e25861efc0bc0701f366a5197e50da18f8d79cd277c48086d1373ed67b983dab817fe44fc1b85411c3205a46f4e209474a8b23c0da698f8c4130ec8e032714a05bb38dab60c79feacaac3907c4a353f21c40f00d3df123fa4327d686576606af1e380472712f65ff064f31ead17c79c87daaa0be792f8074099ce70bae1016a62f941aa124811b1316a6a584401ed8b3c5c58583cb43afb29140c90422c9557b8033413604cbf425a1f3d61e7d8aeb9f989a2b4d2549602f2db514b44b82e7850388cc396f5be16ac1a5d4e919724239c5c784e16d6439589e832031c1a133741ed373a1ea5a7ca08916b7a305ec97dd8f2ec080a051c60f4e7aee36ff5ec62ef81365806ce48a3eaf77ccdf4263b38207fe922ae4beb49621aa396376357b03dc88\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = a5c5c5ceb2d575014100aa459cee7136fa14894260c42d89da8b5d63e100ff5b504c25103319366e169a99516de7d0e14d37c590b586b5eec989a9cce06141f6e130e377285e4c64bdf57f2821f6aca81db1bb95539016956039d74f7c3f47fd689eed707f5e6defddf68f0d5185debd03d67bd84172481df01a83bfa45787585be655f7a064f8cd86d03fa2537f061edcbf8a141caec80c6a745a77c5fa8a00821582e7975e0f61a5ef0cc5ec2ce48fb793dd28dfd076b67424fd2498ee01a7e6721ce868474bcae0f29ede3a3afc7d6dae8bc35790ddf1e61f170d6609bb9634ed6bcf2482870c700dafa2af9769ddeb7bc98fef19fc04ce1663006d44f388c93cd6f4e4cc56825f341c09073a6252f142404b1521c83b42272899b19b7853d238e50784a9d5424290d1763a441a7709d02e49bec7c7837fffecf13ac1a8fc21764b5d88e333172a660c816ec8472a921dee5782d1037f32f9b938da205411c05f8ba0e869fed9efb7b898558d0a5480ae0092f836279bf4bea3f20d202bd8a2cde9cd118c84cad909be76a5aafccd602158052bf7d2ad765526e26648eab3526a5d5e8d198231e88f487641c8232a9e15e6acb1e72b550c6d60ff47f3247a558e94b2838032b2a43ebcea66e47e554ab8783308c75713d58e57bac17ffd472bbb8ace21cd8aa3dd60e712c76d81b7bec09b23d3db48549dbaa7dcb42e5e9e\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 959e078e58b4daeeb3cf822627f6603bf94ecc5bb5d06afe4755fb188b6d7f96223cbf39211a8a37929dfa8c429544723de33d8fc7082625ea483abd525551a0be89a2d3c80d810e7a66b86129675c87cbe54b3b5b636c057a3858a4151890fa45652b673399ccb0fbd66856c43452407adbf856deaa851b3e3fe39df38ce388bf8d368252d3ae1f6290328a3db8b924870eff43e61469aaf2f3a82a5afbd4ffcbff173bab81de4534bbda85f92571021975e06ceda4232b821e8c1fbc8fd897086ebd5a364a212ad0fae314767ff535632abae2e11d2012d40b4f7d4657fa6df28fd0105e6075414cbc05fa139adbd0f777d280ca6cb84c46b819293f165fb288a96a19fe58bb4ce835e0f2fc8827dac483bbd60c5d7398a9723646644c20edd068efa8ee85806a0db06f761bd325fefd07566a34d9f5e61897c39af9d7b953c3deb5817bf01084bfa3f8b1783e2f545abe8ac76f1d1e32ddc5ac66695d976f111e05dd921f4413063b014167e45228eb070a390dcb44443ea6ec44794c86804a64368a9ed51dab5d95b34de8719c602727dbe1952d7a6107a43a54877871ec9a82dca237eaf7ae007a3c35f33f3f39401fa4e134623ef69feee6c2ddca8e25cb8a07f8a696a0b344d046cf3f83d3580b1ae75af0a033a000ed490204ee19c0338e5eac9906dc3d66f5edd402baf5576c7df56eea17070dffe047997851e0a7\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 62f4be8408c6b8884e73392b37df67e92bc0efc3ac3f8d75a226d0d4955177b71d63d25b25353f34d4ecc9b9389958129d3467b57448e75820fc6630cd595c58263a582027dca51a7e84767c2e619fda7746f230e9f0679ba4407e1d2719774e8a4476afed55cd636df12391a55e4f94a37b81747abbbac5d95891e4971c705402e8a9e6d0d9c4a028f36ff2db53a12624086ed6d4deca25801d849d82d79e95d09eebea8d783b2461d1af6ef4ba880aadc1b25c7ab8dfe474f8eff200ee551fb261c620499b7cc36de32f20bdde7891eb0e7683893f3bd9aedf0af9cb06fb090628d0b83ce6cc3f7a22bf337a30e9b3c77e112ded280a391e5c66774d", + "a01b282ae7444247f90a4ef58eca6983fa271442b8706f881b3f1ca7c338bd5316f16bc8e7f5887e54f39f1858d2496f724ad49cbf9d1c53bcfa4ceebc9327d977d844ce25cc3ee109a54f33c7fb5ed72149f454b39da42aa64a96227965936e70c79b3d1e0aaa670179e5293e601e30cf18632b00480592403b915408a054cbe42c81a9812e9722fb19d96d9838ce9b5f83e953305278e34ed676f520c49814fe45ff07d85085fcc262f93b622fa26af2adcb5996b241d137aed2af656db1d00b55f16935b04bf6f56961f093632f3876cc1285cf48262b3d5431932d1ab7c509681b98714fe34c59ea8ff235118155d1ca81ec1f7467cbeec0baab014b84d26d62f4\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 93d462a876e26c401e4efed28a56ff2f4328d4b66d26ba4fe5679c334d7466d3b9907d4b4f78e933f91aa5fc18e36b751a6e40fb1221ba375dd55805fc0623834355d39985253dfcffa3802e8719db3a213fd3500506127fd9a3b856f06f1ba54c720458b1a40a7c349df52515615e61c7bb93ebf7871d7f781df46467e4cf37004fbbb87915fbea73368b5108de32ea25954d3ecc1777d1d6f818ed3ebc2b86b7c431df48974c5efccab71c44f8ee7882f9ef8057e87e1c48aeba10952b48f75ae296943988460bd489688a9179d27eca11e3878f7422177ab6f451ebc48d30ea79609b36c4fb16d35f43b0ac1bd2e765841f571413cd2474fef28d695a7daae3a42dbecfb4ccd3c3200b69bf39f725a15d749fca56eeee1b6c43bf59e490ae15237992561c8d7994592b4d911e8d26aa95b131ec228c5da95367e3a4a0ce74f73cf3a83d9ba31eac9673e73361ecc504ee52d943470db9668aaf8263bee6457338c19439cfc1d24a4f8fe20df2270fc32b145ef974d13e666124ddab7c5d879a2255cadcbcc78167e5a6afe692d2711450ed29f5459ca4a65168a090f17e82323b0ed5abd8558509071ec5b90acb7353a6bf5001bafd690c8c35cde3376e104a9c46b3c4d3302dbb00cfcf252d788a003c5cc50dd0e4cdb6a4038e4b7cf347ebaa49a9270c2b846d032b5dfced84571a1cf365c6a83a3f3eae71b97566a6c2\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1b1c3f45878014d91b5c757bdab09dc48b38af3068ea80e1c2d412b8518c6b3382d067bbb2308d3e5c109bee3e483c90717d7c6d71554812acbeae40566f205393c4873e63bfae5acfa95ee73559d152595b78f11ab33112fbaf0296b335e6efc4aff2dba640abc0cc76c69cdc0f4748aa1ab1c4ae9792e2801a852b63f297f0d6126fd57df87a628a12cd1b33f9fcfbacf140fd393282cb9c3c7d04a93d3c7e00ddd691095530643260973134504911d98aeffb49d04e8594a261b813995ba19ada639de090bccc10b87ed1f2304a16d2a4b5c0c868b376789d03f291ae8c0bb9ec336d89c5865536bb725fb94a73dcb830f03d49d4567a444b1ddcd1c575fbc27adcaea7b1d98949890acbb554b49bf92924ead8f616c83563ca93874317048a48d71ec0aada0a7b8d05daf073e8095bc9c6fc280c6e35ffe414d75b059efebcb67ce51c3f6efe0967bff90ff5b1ec7cf818d9485f1dc8baa5e8e30119e055448f0d12b0005a0581c4a296e8490ca032bd4ea05ee8d7bc3bcf290cebe11ea116609e13f5fb7b9f2caae9c5fd233c88b8f5ed90b5c8a167187c9510e6e902eb927aa7b315dac3ce141aaa61a3238f29c19a2af0d76c9ee5944257644d81a4e8a3a5ebd4aba0001c4fe6eea68d01a0b0fe715f591e07d7b39f560a91f3559542a8fe9be39424fd852f5dea99524cddecd1c7127be1f6524d5de2acd10c01da74\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 9de0c820290da7fede3b34f8936c27812fd7c039c23a49117215ee99e2c17ee43c48727b6cf75a404936d393c1c592ef014682d49144263cec28708c1909cd4aec3270ccdc81de872f30b62fc6379ccb5fcf7056c100b2db6e57f4d2dc217a0ec9a3d6e912776c401b11d75b193e4b5d0104a92b0110d8af03740860d1824c5569451183c0f9a8bbbb84b64d2acc0595ff5c68ee203e0a0b148fae4115298ae9efda89aed3c7a5185f8e26b9b846bfee61d98da9bf0bb6cd5e4029dbb10f96e9f30815316399807ab31aaca8b3127ad35e2de8c01f2f63082898ff7913e3b8cbbe9191ca94074c3c99ead0b363d35d64df211462f42a30b280f4933d17b0f9df9ecbf424c07c733fef868c1a42cc380421df8a6c2ad49059d0cf7aa585c2a3314e1a0930a340d30cb4d4dbcb0514a7e8fbbe93a6071352ca91e9bfbce906189b8a319a4f44fbd4aae52477f90b75f82578adbf1310c6c62011279f1bc8c71519428b8b9be578a5532125a47900e9167f33d18307ce54b140778b5502b5a22198d1300ce03d16ebb95c4a927a69b9dafafcebb4435cab780851ce586b746f1bb46186bcffc2e78c58211087948546eb9260742ae938b3f04f10d194a4c937f9affd573be9942945e0720c5d3b4740f6a498259195243e51127a581cd6728f0d8ef67261320737906816810324089d9e535b111355d4bc1b1a1d082fe44820774e\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1a14143280cfd555bd05a13d9d546a94f5fc0e7994eba32475ea07f73aaef2f5e914c6018db12835b3168fd8e39cd580918a52ae09df03b93afc2335f05caf5ed944f9210af9223108b50bc49a48627487f7131a12d35d338d840c74961a55b41c099b152d052371ed15a7849dfb37f65a980f628f4033803decab3db64c80cb39cfefd94a38e21c9c650d7734a40262200c1b9265c823b006a3c4d95e1ac3cdd493015e4616b70bf73ff0cdffe5c5c05de8e5007c8d58613fb4280e70e51ccf2680098fd89eec6aa1d860d03a8b2cb722208a68d721713ca6c2c5c514db6e296087a8aa4a65e0be3f721a9abf46aa4767677a0016e27e16fd12d00ea0b9bd30b8f44e698d659aedff34fee6f563ead88fd2d53f2c5260f23d299a4bea1829b85ae898b47d76fe64e6294c1a7629702e5807f9ae131a8ac34c694c8284065e986a4134401675ee4124fecbfb772ef057a5a2602b24e1842b7a4a160bf0ec6b599e9ec7ed6f4bb6be0c27c0c6505aff4b3ab889a3e8b9c24bd329d39a362b8446a9b01827330782323c455466855f5de197463fe4d9810d69490b12cb92023b4a02a01429d8e03f22dfe9f614aa326f0a7a0d153cc6f4f7c9b5d3916fbbf115839c7250657f03e17931269d043f16612be118f3d64b0a8a85fd57ac7fbc02ba7a5212c5e71813a3f711245c68a3b28db4723462af16e1a3db94e79c344b7614b4\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 76afacb11b73f2de01c01482b3b9c0e0be0a814bd0f9dbfe73e5acc49d4089d7702dcd9cc4bb3a4efb3036c8ff062fd816b41ce2b144c6f7fccc9c6edec44609d13d052011ba6994c74c30c5e17670ba07868aeeeff18a65a70408fa422428bba9131b8586c2a4ac2af0aac2c2a0a2a56f3126d1b76dd2608a3d9512b9396559491a98c761226ed435ac657172664b865fc5a038747f3ee225694de434838e0b87d14fed71a9046fb36434104051a17a658d76b129bffd25a11098137f561cc4f2e3a72cc66619658848dafc5fabce6707acf3c919ca2f88fd4117eb3b9805d2a00dc65da7ae9656e77d671872d73dcc43e72a0c94846061cd7ab361f0e3d33e03d72732e39545e6283da8b50726c6ccaec0ff96c5a3504da85b11e61e167a7965ed18b828bce7606f1aabaf66701c2d7c23a6c7dabbe8e087ce5302d16b2bdfc372be4f7002e7d3204b5d410edab015995dbc4258205a76d9ba1981dac70aaff4059c87255ba196140a0a2b8e484edbaf242dd3e14780c499c78c5c809cb11fa0329e17d47d890b4011838aee545b4312517527eb59fff5e52a125ce8dbb9dae5f72f3577344cd4f2330f09758e36b50dfd38006382767393c308c0acf9f4bb0c580bee3eb619b8d94a30568eb5a67b32e602370f7023c363c7b6d8ac38cc2666914ebfbe0b190a032405d73c7c2a8cfd1349e4fecb90d7e50575e3d3f5be4a\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = a08cc360ffd7fa1cdf82be1d2ee5a39b9dfa9d34eec9a7e5125444a080ce3ef49061d8f188facd751b06abf4ab4360ae343c245244bee8f6517c894491c2dbfd94cffca8344066009a4be1275dcbf3932d58566e8d71be2365d3ac081350726d429cc0a4edeec41713a3496ffcc476451862190142d895449851f07a79bdd3387697dc0b76a1476ecfe9cb05675b49a12f3552d0c3d90239899921fb41bd26774e00ab270296300c7dfc577f854d7868600f8ac69d7efa5cf331095ac1300d410c6f25ad48894474e9008c91cdfeb187feaf47c6f4cab4e4cf83b300b19a566abdd957677eb63d30c53c4feafd3bf37e2bd4680f2c4e473a1ceb44dd7ff18e99dca6c506feac0785255f91a03267a3268603e4d39ccf16880a436c2c87c79e075dd4e712577cb9dbe0dec4f42328cd1f369478ab43ed516bdb45d91fb237194149ee89dc656e0814f951ad30f75ea04a0ecdf8e3d4657d47290502d67bd1fe18b9530765e4db10211da2e1470849d7021a39cd4e7b954464296595064883374cd3ad5ac417fa48fb2816d5896bd7f0b588be9e483246c48afd9898b49889d13af851d064cdcbb4ce35747b15d1c7a050aaf494ba7e79687f59f326acae771742ac7f7b0f1a680321d0356f97164203260e187d661fe9387b9d20f8f26e3871eb0ae331b4962599490743e1ed509c50d55721be351ab7662f2d9e039699ebaa52\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = bb59b5832cc0b4cb649cf9bd8548cc025f6596fe73c3315684ccce1b79b453093328336edfd8562045a4ba413aec0ae63678fef9402cb0aadeceb20f9419a654d81c83ef0e4183797a054091dd8fb06d8614ab0d266cbef3b871bdb5643dbe7a93fb0a733166a556993a60809083ef5a4bc70b525c5c0de3ef220d725059561436ec2162c3beb9793f4e9849e7b89e0a26c44446e52c514e8000c9f206676fd6a034d54a77c31ca73c2396f58048d6c90148fd6d2924bf125e3b126edd1f17fdf31498ba04b7b86da5f1c4a6843a7bf6394d021b1692acc641d0956ff3bd6b7663a4759eafe920eb28a363ad12cfbbf654343aca9f670ce6757ee12f21446c23ea32ac46b79d10a3bb55683caa97450607b5473920cf10c7059b5719430102dc511b039f9a55b9e1824332c9b0e29608666c0f1ca37c8c299a9c1c5ecb25e2b9695903f8d406c98c0ca3d74052f09d16cd2f4a607d70732b8d877285c9089ae59dac80e031e563283270dffc024dbd8e70120d44b0fd36c643c135a811dc042fa376eaddf2e3c1fd5f2a23c0b7f481f5a053da7a4971d911db3acc6d4a3e60b63b291debff77fb55acc5b7081dc75c651706986e90e9f77edc2dcf721ead020f86bbb1ba439ffd165d127e51063b0916f36ca292eae", + "26962cf9a59f68ef8d200652d42d13c80ce7f0b5817fa9c701600a4ec3fe770a4b42aa8e6016cd16d8dab\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 557a0cbd9b8b16b5c9603b2d36e541313d22a1904f446dbd308308679a096c2fc3110d4e98a474e0f5a7e04628f066b4480697dd29d63df810ef7f1890d5b16c3a7172200dbf7eff2862bbe6eea017cb8c98097bec1f342a985ed7d9e462a55da249f9a523c80b1cb5def853ce94cf43d22243c028c84201a993d2eb48a876722f939aaa81a9e92e65b07e541894e5bc23d8cc901b121dcb6f543a12272a81c8274bcf996bb010188d99efbbe07403c708085e5e7b24ac09e96b2fbe561c2d4ad49ab3f9d45ed7c2bfecdd26f089b9bbb3361c848607fb50ebb00fdcd8bc9dea6cd311ea49be89b1fc59063ef2da7a9b03c5b8aff5478e7d8a7aab8b271215d4f26afb0d6b71b4520eedb4687c72e26680e79c20ac06f7a245b0257567d3f325c186f891289513848c7066acb96241b1efc2bf2a2908f39576c9976131d89e4d1f7c71f0a4b97238d05e7e46cd207c0c864df8b8df368160fd766efb98cccd879afe48cf448eea4f660b069be0b15a6bbd561671997c5d92d0e1c0d24a52b5ac82aeceebe419b6e092ecc02b8f151a33108150301bffaacd8de624e4c50ef1e392063b9249ac6d2b7e747e5899619df886e41f92571d3015a1eccf1d1de6bf469bc54442161ecaa56d447c99ee5224e1d049e626faa95cd1b099151fe6091660fdd2dc9aae83b4c2228447b36a440c639bde2cf65a14fe778aaedb21fda83a1d\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 857a7a9076c1d8345142a6f66d251882cd958629e8e4a101f22d75bf0080a964916c5224484f4ac8de771c2ae210567b09bf49e8842e08370c874bec3cb4472cbf597f4877571f9a89e01e2d7247229103a7d9086cdd86c488dd51065ad8dfed3b30c9505881f4daed5f86ee6e8ee2eebc995b8da2e8b3f44f768bad620192f5e798b31b6eae9abad0b6db18366958b5e6c04894af47deaa57dc443d03391adcd5fcaba34dafe33dc8bea6042fad8d5313cf8b5b7079bc3a3a7b68c36777ab2e6f6b72cdcd93ce0297509f3db4fbe69a628696b13f705622e679a0dcc64037aecdc5b3b379692c048162fb8290ac71f017e82a85a8e6550f53872ada3efad72da3632514e50e709f4ca60c1f079deb46e70724f7db31f1c47fbfafebe5be9e78168ee135a629b2daffecf3077b8456ff91dc520b344461bf2c8be7de3f9889a67d0811695efc5799853c23640cdf5f60d837019ea6a536e27ea9c16ab5a7014e1c4fb6005d74a74bf1921a6d7ec725e336d10e1d649f4731b4ec2be54ff6e61ccec57e07f6a90a80085897f584b371db73b27d0e8ca29dc7fc35a809f9c69d7a3bef3740c93b0aeb3938b59b018009a4580e35337599dd56b8d06c63025fd12952fa1f292e053adee0a8cfea8cc8b5ee5d01ed4f141356e294bf6056eb712248a0884508075f40d0facddeebba5d73e6a9dabddd829aead07c7e473859e479b3\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 3722ef91b2465c53451d59972adbbe6b7f65bf07c91677858924b5b5b4ec59422d6d57ec065fc652357963d616593862e74dda3b43d2f93fafb8366d4a7c708e3d0ec1098c6f92a53b7067bf73054662385957ed8efaa09675436154fe3b069614a0c61f58e78ee5e18dbf8daa2cc43a3bf46e4a71bc3db0a80c719cdcb7e009fe6f0757861a8d6e3c59a5596c428bb1767e5648cf682d03f5d0794061bebb57ef1b817956e697bc5ff3746510f29242eb7a4ccfdcab6b9a9daa343f4d86763f498fb71cfd842f9f8d1f7ddd766959099066a2adf21170288b2dec74ceff77728cb1f3a75c5897c0ff781564f628286e61f21b25dd5b36f8c8682f596b783a29d84d7b450c910c2b6b20434f377c304d08983af0b12e16a700f063b370882ad64ef9310f5716ec50402f33b336ee84a6cc96f115982ddd3d35a9494ed3d347d70f61cc699fdc7a7a1fe8808cad7f13e52dabf86ad417bb76614c0cee7e63a53f5f5e5b7e7bf04e94ed42d5db1d1e70455ffee317ee167f041b2619b6549dc6627c954f65b4b06171889429a21bf286cc6b80cc18db089fbc00ec827e3360fa1ce1f4224ada5f778c7e433863afe19350a248bb78b7c5aa6ecba8c2f8b9936980611c4260ac3cbf4d821a22a3d886f598085c3efc8818a95336ee6a748d0c811b7256f3ab8eee183597956f793a44e85be9f87e92b6b197baf7cf2f7a08c5f9c3\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 8d1a54e2472f14039f1a2e1019fc6ae4159ad89f6480d141b78ebd8cd4837246a94c5938a67f2d2e05b5d5d196ae055d26e1b4fda469d6b8068163bef5bed0be6d098deb84e7007c06b3b6eaf14a07130b44dd01c14d7cd0d3fc2579c220f2822628edb9adb9aa5509858c14d242bf1d77d56a10e379e370c892d1ff2becf19aebbef2302aba66763c853e575c29421ed66f842b859c222ac2c0636078057adc1a185511085111d279b520cb2fe43b011554e8e7e37baf2a9a51003630759a9b6f6d2f18074751327ed739f39ad69f5275f340bfa985a4adcf865478278430eaca43d99cfe865bfe279ce417c10cff0f8cdf4d73a5e5ce77c95a0e306f3500b19055aba5b389de3d7809498725469f4396f05c2eb89a09f55cbfa087202d7c9b1f25fcca58f3908199a9e733f57aabdd3ca42bf2ddcc5612c81cd8619bce0c3b339ba8e9010535513d2aae38953b573800a4924a3e26a5739af64fb0667370038ec0e2f09b053e1c32312c72583ae40b78846c7fc128fb17b5f5cf88b276eaab83c54ce2db2b8d6ffb6cb8f6d0dea42f6c4b8a01999285a55c2e48aab2a29ee15d6101b699bd7d361436a6547788b68d40b340af8e61ed6caa189e1d095fe735bf98dd4fa8730c204f67dce1faa021238a1dcd34b14869d8ecf8bc283f964cfb7c8f01e4d1ed92204316b5f3eb5355adfc8f04ba97a2b9f0f221ba103551458e\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 37a5fb4d5ba5c2177b7fe767e59ed949992e0bb6b0c9e5d1cd2b777bd1f57f60e79799b42cea9eef4b0415d6d1825199f44d703b80298c93f4cf5a46b33c891a93f9b54b9462f0286e6504f0877e32160d098fa7b8f593010c5a315399660567adcba7fcaeaf557feb6b0b743d09866cf92abb2586560c70897d2d1d5c7958cba4bd8fa33814091acf3e36260b44158faeed33510f1de9a6c8ca38f3182328576ca98ee18531b24c8699e4f975cdfadce528f87914aa1e9fedc573634534b2f080ff4458f64e1e02d71b2490a0db3595797b5ddcf213238d4b91d04c44bda997740e4d1a73b150f82e874cd6d062955f2993fbdf3523f2132d6cfd6ffb1e33ca1fca9dc53f2f767d604aea78a3f2751df2a21ef92b408d10549234490172c26168e293acc3b862e5537f9e6975476246e91a72e38b5554405e130caf094ffead06e397e885d79994dd3d7eefd7decce7e93621e93867d33c68ed87ed11ffa4ca700ee3c36cf06ad467f339fcbc35da52bad2c8e3cc65e9a89e6046ab0142095f0502f6ddab68f341f5b71c39d57629cd66bb7b0b4fdd507105cb12ec3810361430a78ccd1f0aedd96fac40f8f31823d6c3c11534ab3dc6978838ef91e2526362ae869fdfc52a6166bb5611a43f4783867649db78fda04954cb6a52f43d81048934519429de8de14a75a87f1802625c391138d79a96775b87ceff69d0f8d2b729\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 0139c2571d73ed85895ed7e78bc4fd1eb47b9883d5feb7b17cf7b571ab4d9731e3210c4d4c3eb6c6f1f833f59e01e9487afb35a0ac558f8c337a1261f2c6bbb21de0a54d2f8740d452477ddb8ca734ac9fdbc508e77f266b6ea3291bd26b1617c7f2737fea1b154c035ecd0ec7c796955a66d23a799f755c64e28b0996ce26c529a11d876423df3aabe0f2cb7d8b5a7688b4b1a0563ec3ec9265171bd766f226e855567348df48da3e7c5b12bb6cd6b3773eff51d82f0de2fcea359d88b664dfa9b33c5aa079a9e0d874553a9ecaf76c0e1358c7e1f4cf2d0b8943555740a827b98d141e760c27f7c673c54d562d28ef86770b3673dfd205222e6ff0b03f394e89ce5e04825b4696c4c88e92dc3242746872a8a409e5e01b07ff64ef1e9554c35cd1630a842125516c6f4073b455217640711d80d6352e263ea0439cb67dfe9d9e169c5a9f0a34d21de64d63e67b4474e1004af8a251200e21ff01acc9290e6afcd02da6bd5f18c2af4ac01414eed63211b14af38ce103d190061ee6eb54edb69b4e443708703125883647466784e45ecdb6ff15a9be7281491bbd1e557445c77ef7d5de6d50f8b03ae9bbf670edc8d87b7ce3d39fb57fa245ea98b54c4da97ff4928206368841257880198236b308ac230a18b20e5b89ffaaa58be66fb748a2971794a88f36c7c3b81e389ca5cd993a0fe6d911838ae07480925d4899e38e83\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 65f98b901b21fca824a5c3c0175f305a09c7d99aaf15df12801c7b4a8decd14e99bf1e2a378aa29ad3544a15f281347812a6d02f80711139effb6fb0a916b15e56f87a3ab7c099ed807738b644722b0df4f9676bb039c4417ab9668244abfe10b660481832b515c3e756cb7726165a50281bd4655fa41e5df37ab0c870a334ab4377fa9861b0a7ce70dd8ad88fd7cc8f8cdf970784501e3ee3e62fb10ffa3da02ec33b723a79fdfab282baae9af35cba5656b6a568ca41a60d0bbe24f4d3405ace896b6267abbaa84666361b969ad8f64423cda7301e931830363cae6b98cf11f73fb9002780518d71f2f222cccd07965bf315c85625aaa3a47e319ac26f35ecd011282f1085dc1d84266153718b2b87b7736d4c0e175ce2a0759b57a3b412039ec5150ba3c2d84f6dee05006978437b65dc68fcdab6371a0e84c5db21697436fb4a74fe24219f077dce31a1377117807375774d4533f28b8710369c14d569806ab6026e0dad1f39a0a30a766d5f435da01b072ce6dd0649b23d25f9d16dd80645c0ddf93e80ac8d7d6ff552656ec048ad7c31a52047cddc86daf9ec2904358930b0f082187b104cf7fb866915caac8522e060141c8b580d602ff7f4bc60deb6c29db8cde03705e9d3ae4a6e84e95728e1584f3d00c58afa45136c38e482fa7c7bdffa39da749e78ae7e2a5e3013422ae9f9576933ddaad4afe500ba1104ddb3\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 30a4511b14bd347031dbff60a60f69a111a19445c3369ee8d9fb20d3ba93114df68ceebfa1a1b28030a43dd8505518e9a4a04dfe14a828dd49005832e57fdf0890661eeb5717441b2e27a42624fecedaa2f3035d0de3ee48f1f86d1bfb4a57e17814940348e57fe704e44b7cc7ba5f7b8891ed9c11731f7744303439168e9ffbbd5c8705426cb33a6d52dc9127bfed861dd2e85edce5c0f848b99db2546ca10bd65f5b0c36f30367", + "ada3d400aa9cbee083dc2c3d99fd1dff71d779faada417cda34f1df080e2c8c0200f545131e385457a8a0236099c61a28ae737cfe6e200198dce46d1e3b1c97b09b359e86b9909187e42eff1abf90fa53e8caf1e17d32544bb78fbc0160586b0e615cf0980314d1e13bbe66a1ff97c0675d72b7853c441874ad4979e8c22f726961b077d3e99cf92f4e6ed28c8fb0d4f79fb2414f62a07e8f55cd79bc55d2662822aa17220c53888588d89229bc596d1e07883dc713c2595d026957f4fa61ad2a00ddf1d4dad8080a39fad12242793b18ae23ca6106daf717afde60705d59aae2fc10ddfe7231969fccdd91a347b6fc127eb52de6b92e4887736004abf2b62a3f23446ad8a0e73cf75ad7067bb2724e16e7219d7b294af79cac1961b15e4d1c647f6a107c6745fbfc322025fdb386c5553dd986bfd0647d8496a71f264b9c70343fff829016a94ed4acad561b59bff1e94bf6a0ac86bf748\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 1402744b6a6c94923bea2f48d4aca69150de1c4d4e04ed7e64e6cd2bc97bd7892ec94d70173cff6985c736b6bd5a698c41bc5987353109ee10c2df36a681b6c81e81dd0e391254100b9f219c49563dc7b871f797d025ed06906264906d2923ffa931a0309ff9e072ce756d0b4785328c12d630169cd34956ddd7a0e73078e7c738e8128c9d319686197e53b92cef17d8b10d5c8cebf5003d4d2c38c63c6cc230d3af7450766e7759ae4e854efc1945f855ef2e098d8199b6b024d43aa9f7793ad93dcd99ddda78e9f9be8da8e34d4796280d5a6816b6bb7565755659afcde89b5c12f9a90f5919c15ccc3de585d8543693ec44a63cadd1fa09a827880a406cae0b51568ff0e622efc2b7c65f4a17b1de728c68f3a9293d904ec1bd33e327ecf880efedcd0dab78e2e11fbac7da503bcb7ed989d0f8c534b1296587cb21dfb049b83bee34033a4a414b27dae3e7f6124622e90a58803d8e85a43a692b675f3bddb0fd2aa46687f41482e13edd65aaa6fa5b40c349c45db18039355612239b15bc13eabab538be3b56bff80d3e142f69109852c46420dc156e11babf02fb0a68246dfba0af8aea918e5e2ccfbe420ec162784ebf7520230680ba64d17fce66dcfad87affea0b5cd2c892e5f147a497dba031f4465d98d588dc925a93305425cda853d0eeafee04babcf0acf849ce36b511d90fa8a7510939b20ed11f7917ee37bb\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 2ec964d15d88d1bc2cefc93b2d5eb3f2c06f686bf4acd04ed7e27ec045597b571204092038d1b3c236cb18f1f4496bc48d1760f6276bb094b3fc8d3a1bccc51c3319597e8f4436cb3bf676751257ce3d33cad4e831b57f7979d7cdc3ba9d39b4fa4c7f599b5023de8c9e97fa4b263f6c715b2e6ce138eccd550c5741510c059cdbb6f16df84c47bc697384cc9c52e7a5cf35e9265fe4a7673817d5ee5d88ea643c155af4350d8503a4af044da8fa87b64f151b8c579deb09768a6f3a0862a3bdc8f23ea5c22f9862e24795bdbdf01e8446e93771b131beb46230440afa4aa5665083d373359b76c8b4d91e860b45699cc1c3714732889dac71319afca09a0b769c18810ab0a72b8c3aee35188e5758473230840972b1b55a0895894ea360c3be19d13f8ff89660971ee9c6c27da97dc3f09ba6291b19e2868a0c6e7132f5123b53152ba33caf41c7d941d3cd0908255a530cdabc356beea4169c996a6e9b317d28eee79ce021b714f54f398fb8554b24fac28993f8c40415241039a9176227735d4392ba15eae47d89c0281018df2edec17c5daf17ef4d2fb7cb0d849397d8cc5ed20b52fc4d222e3510c3d75c24ac4964053bff5d15476caa86218ed5988b92db01ff999e74846e5218595f9a67b604efa7e771ddfbc2367749ac8172d8504846ac64816e317e40c0c7ec59668981c7d91d39582d4e5ea1041136645a23ad37\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = b82c24a2768b4dd4852565218795876793aad9712b4343afe30ecbd03a9112d47378859a1445a0a13f47c306e453541228e8a9273829aad0653d54a2126ba0658a2c0b730eaa1f8d5353386f16019a258ee69058a30912cbdc5e50cb84ed47f6df681713603dbfb51fa46b3d31a9f5e9cf937b348022db4f6f512c1aa60974bebc6b125a049894c2bd4def0b55af5ddb6d8a228ea02b9eac2c46c835ad00e94ef5952997b7626c37d899bf2609a224e54c2dd27c09c178a681a5a810d594f2ddb93fbdf44eba21b0e092ba99b8a7e9aca3306372e552293b51b6b17646bbd06a3fbac254f7549e544a4d1e3822adafbc46c299f9f2450b0ae267ff4ed4717e3f4c2fef81633f9a1499f90dc436ab2f0a598e5390a6978f56ad0dfd6c8d9a9f8c7f4d5370699d1b8a86c779488b6b6a9170d1a82e6de47833774ad76f06a05f19105c9936146e98c8a3a6b5dad4f6e6e5daa01dc0b803fb4cfe455f20c677ff501eccccb1c5fffdb111645835183cc06c3763beba5d753a6ede04aca03f5f96155de6ad93b211b2eb2a70d72e3c257ae4f1a0cbae5642b9fd4881e36c69bc9e4655fa9008cfd7821fd72391209241f604bb2b00ea99d8f545c9bbad6258a11a0fc22618cb44e713adbe4176edd9c30685f0bf76e4de97862d47c0c1abb80b47b6323b69b77451d59bbf274619374cb3745725d5ad2c828fee88829286a352714e\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 43f736eaeec5b5ae03b1c68c460e115d20a6c1b456f5847599aed9af2900c6316bc090729d466a83b6879834108dda0325770913f14b248a71707a52fa2982db368f86b4eab52dcca31c07cc5e7ef1634c6a1b25e273fb35d3f802571278f79b8c27a6cf2a170205c493fc457248170ecbca4ebd0b42bc3d03198489680fcb5e58bb31c2b22d2aa1b99d8c8c3ccf42fb784c878f3c7632a656781ef638381c3604b0f4d84fc7086c0000664fb6bab33e55105dfd5dfbef634905dafbc12da2a25df3bd8530440fa636812da39c5faf26e76261a4ff947795156e9d159d6bd5b0c9c9b86ee1818d31dac3f541a4bb6b25a02df82057be4f9320c8be9764e989aaeab72d8559dd35bb1bfc221940624db06f46e467936bbeb1b97018b7e632d770447bdf7553d9f696b6ef56f2b737aa6171791d756c0809b3d50c5cde737492b87a9c5517c6607df77ca126e08e34139664137b6bd30ce2e6d97a9e2b8c4d4d4441c71697697bc3ff75fcd980d6e65e8ad8a0b3d29bc952e07c19a5bc0f5f09357cb664dc8b79ef7279f047ff1a7592b5ac8b1bc98b99a426da08a2178f76d96624ce84e1996e3b4af9e978e041c5e326f3c9e0db0fdd7787e2c138063db4415182e9af87c74cd36fef96761703e5843aca4c3963f484b90b1b800d189ff727debaa2773e08c8ca70c6f762bbc935687f4bb103b53805495cc0bd6caedee834eb\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = a9e80f11d11c6a1c07319788837939fcc55b76cae1c7338e5858e56aa250343b3a3b2c898e0e47623f4f3cc1fa6499ff7f12bdd8d43b4c811c067ba6739958dcba6c849a7f1dd924b12a6442a6bfe5ea60876452b86589a904d71b7b997a1dc4486bc1b4f2a9776948e0c3d1da887c20be126db414566425a409577eef6969836bb84afb715ff8e7f434505503193ba9e398bb7a15df0b132bcabe98d64e05aef8007b9acc87b1792283468ba77fa8173585411da87308f3715d0caf957f44b05f5fae579551a111288bfc8e3a2c2bd41db3dd741ae3c70bcd9f01504174d9117dae1bfae2f38b0391a377d230a6dc246c552b4fe41c7bc4e797daaf5dc5b421d1b5e7d88c69c5d5d7b4dcdad3a2a854935c01fc7e44fbcce85e6419511bd3191c973c6590e024dd21e46c0a5144e71b4f7166f4bb69455f59c6e617ee457d0fd1aabc9f77b56a05397cceae6c4a7dfda5758e52f6c94a8949d426e6f554b2aa86767d32ace6885f4c63767775ea2bc925325d9fdf665dbc941d6cebcc0385f590ba36100e6848e309d3d2e2cd0523fa7ab95fa871d78510a978a988c34e10204f1d669a4f78858fb49672c13e9f489fca236b913fdf075a7167d1e27e45a6b3614e55f7817f191cb2e09fa3c98a6a77ad0330385af0c875c471010e33a8c1633a23badc03f7046a6c2634054892d60d5b3da0aeb3f14282749e7e5e62c9760d\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = c0886e882249dcd81dd653f46d96e5db093c4216c375e4e7cf7317254f978c846c11d34220b4460ab2062309d059c6314563b5c128a68c46da172fc9f07f569d5043b328e48a18ef5a59ae15b8368820891fa36b883ca71ea14632985e61181491e71b607962f2574f95e9bf95eb22370babf73361b704cac83c814c5c0597bd45658fedeadd0d5d87671c7f67f6825d0d18618f337e4d5e55062f474b242a08fcb1831916d46648ba55c857c897f3cb8868b19c3b6179966fb79f0586020e3b6abe68621f48004df422c9e9a69534542ad1b5585ec2f052768a67471357c0350323f3ce372609621692c4714a672b42138f274cef4a6d47047218576e9fecc506f5bcaa2339383972aaaeadf7f1efa3e4ecf1ae300735d27cb919c1366eed82f2eda833154c96eba7a5f9eb7e45504dff0320c0a12181244f47303b774b925fc3887259003cf5db9adaeb956d3748aaeeaf18e0d67b000076210470af70074bc7633b20d06ed6d3b9f9cf5868fee480ec2f80fb5ad0d115515249b4a72e256ae6caea187a89db3691de3d63bf4c6eec37ef2a4df99b9da6c47cc4546ce39111eec9983b8d352f7d34e7a975893beafee92e0c5b50f40f91e15be4f8af8c4fea1cc8c176be238bde66e9cc0778ea0d8b55e4cabe379e002904e1b5ee757bfe632b4f0858f42e0789d57deacef432fa528045336437ea1752730c72c9345eb3f7\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 9a4fe22826f1c64e9c88e178efd07f4ef95991c6c3e9c1cb10bfcf0a0c9d028cf05207e93edf3ac302b72d2961073cd1113ea5c8b3ba05a0e3c913535839884eb595ab189ee81c5e67763268f47fa7e313951e65a84165fb096edc7f1a8318e66d740c61d8bd9031d78189120262d2b9e50bf639a7bd70881e9e598f8f7d83de56793cf960971b60dbb24f3b6e8209d87464776e55d4cd6291cf8fa578a2d943fe03251898aabd477b748dbf12712f30b4cc5732826318b76bd638788d2bab9b178e12d28433e52856b7f466a155e3fea2e45e7d3e570074eb6c2227b0fa3ce6a3372f448f7791f2c7471a0cfcb098060bdeb700729a53e5236b5e35eafe765d672627014c94450289a8f62b90c4f928768372ace3658bd158f02a7953863597f0f0774a463125e0b5eea643f2d1049514e5c6590cfe2c28ec9ddced3c6185d5cb2656cea16506a302b65070eba32f8a873a873164bda838744a0d5a315e37739ee4c66b511d036661114d4a0443b2fb8ebd433abbd045d219423ece0a2d6d7", + "f3f2e24b8a5dd88988eaa96fcf879eda5f01c26a19728f9ed917a6741448f9e3dd64b02c8eb059c13bebec0d6df85a44be3887b8b25797941d2252f8605dcc3f0e7d3aed45bd110b6c79acd65adc8d6d8551345ca8b277de67279f2315c0a19240bd57466bb6263ddfea47474420b1be82a37e2f65bec7f973c15c961d5dbbf55\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 2446322c0bcfed72abd95c57f8e7d815ada2a5a1d15f98c567f568cd033c0aec84af602fe7376a885166f611d4139dd9f78bb581b3f1ec373c474947c7751e67acd90c7c66bdb233811da04d5ddf9dbed9c6b560f144f6ced47c810142325103bbda47fcb5659688ae56e678c117f33fe01ec8b01de1faf0ff40a27c57f851e4ef399d8108c229471205a5d3a08a41069af72764842314887d3c141d1899926bdb6d825a0616a0d635c4ecabc4324c0f56418e7db0de1a7f94a9861ce9148f9da47e034157b522d60bec3387a659bba7d14a63d31fba5865d7a7b061d75f87be4bc830617c84445d7eefa53c5c4f77a730f7e06335b3fa4f5ae201834caa5bb73a14916dc4e6c577a0357039c8fcee155ac51f47b0c19ca692b73ec194d7db0134065e59bf784ddedb87233859e639fb675ea80ea4458b7f783b6c2de5bad3313844b4a7cbde66521597cf964e48ecd8f9ce97fe7e40dd2f3247192a382694f3d0ba5dc95d64028f8c0a11afa8708651cbf9d80438a0426424182f9b19f064ae7294d54baabe358255e258ea129cc81133032b73398942430657b796655a6d4a21e284425fca023f7d8609f80ff564e34d4919c1168b48322a32c6f3808eb977c7e696fe7f0709e5e1001ceb17233b5452fcf1f4b5939b4f0302ca90897073170f0a6efc3a5379905af1a813b384f3c850a69d700f0375fabc0e43680d847e53\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 7531710ce5187fb75a63038aeca4e24e4c64b6746320b231ecd1073fe8c8d002a2f8fa7debecb3a7a156cc9485dbb452d0c39922e6ec9fe0ddba0f068d8a3615a459c8c2787e5224034094ec18a744508590723523492be0c307f0a241549f5c12c8bf9ef2561c402fb2c4b1989c351c9746133e75bb3b0edefbd81d334c46dc9c18208f2ea55614edac9f01ffe02688e3f5831de580ae2e02b70e3925ae2f791af72e992abd82c5c79122d81e32db603b2ab19e484e5ba13e1c319cb14ad23e746e90fb2091165822a88289c45095d9f823196d9c62c4d0222c53aeb192b5f69aaff7997d88e76c923942e1ad889e80ae7aaf33a225acf23e14c41b649df7c94ceba04bb9eb53f19220835c998cc9c55be022f4037a027c0e25ed2ead758d8a305c35fc3e94f2c410a1e7d49d75e0c34cd01c7924cfe4f7dd76d44c22ff53e3f8433f8c18486c99ba7e25afe3dd2eb2484bf01af23c24e61d92cc0a31d1f3a60952020269e640e9b22788df23c28e8132fba1655bae5df03da2cbfa87a416d2dec19ec427a733f3284cf9aebe2b915113e0976caf6110577687e73d0882d6d6653844a22b82ccae942dfda37c669eb81aff068b724d2f21c7b0b1b44a6ffe1b7dcf0272b1fc3555956a5dd97f2ee460e500d011067cb2fa8f2b43e15f66ad48e63c1a26f00516f9914c05b45d0daa854ac7f5a3be7829f6cbceae7fbd558cfa\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6e737db7a2273a789f038e94bace3aedcf7ef5e889b6859e1cc75a4a8854773368f32a500e9bfabf732548a3b3f4feaf62d0c20a0b5f4f7731f2dfec63dd1561fccccf0d9c91af47eb064c15e7883a41c9b49cbff3ee59f612a1b639617be841ac2e0fbfc5ea482a4ed9a245f8ac8a0a2e624ab1a4482eeea3e5f1e13f120c23829ee33ae2b6e2d5b90dec3b6f68eac069ac50634ce52b7f4f8653f48e3e92d3874172eb7d721d57d782475e8915b44476415260bd69eed4f15c2d99e2cdcfc2b1ef5d9cef4b105d00efbadfabf26392b1bf7b4f0634ba970a87eab426025d71191ac78e28abacded9d2fb99cfdd3d2dbebd6807da96c540e704b1396188c0778c022b9d0ce92dd9f70bd2c96eab2b47dfcbaa2f2a6546764fafd16ade9dd9c6ac65fbbccb7906138ad28beeb4ad74d87d1e477ef60763eb312954f8c1b3eacf0353f39b0cfe7da589d672a7403fa5ecd0c83ccf8879087639cf704edb09459abad3322b0b6d5c01138f4b19adefe1a02ab86f49cd964ff463e839f2334a39b44bb3661e80a55cd15343adae57e0e8f958ce50ee1693b40c4a61c48e119d05da98016dc6f29d85940a64d7a5b605f51313a586fc1ef9930073ad616011ad6662ef43c85c99857ed8a5fd0f6f7df8b180fb1c07a41374ca7c0fbb8334159243f630b63e76f068da81c6ce07c8b9f6fa543e1047418c126451f528e5ce8f495039\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9fb8c68e27ac09ce37068c09d56d3a4c354d5710945253078aa47f31c1e709cd2dd6d53be85eb45535c2aa0ce139d0dcecb093749193bb55d08d8af62f142db9a07dd178022b303ed05d49eb61e1094798f33ecdac79ae6f5726306dec7f652c58be5fb196c2b9479f0806b19adea15448d359987e9377f3706290e1e75237657310555d5cdbbbcef83dcfc90cafb1c98aaffd0c277c6b73c6e0023ec66136e60a6be3375e1140d87ebcbc11a753aaa679b8e4b2ab8d686d4954b0b85365f070a35d600f18b34151460227ee3b49d2770e07bedcff1cb69ccfddfbdc6541f3273990b6f3c708c0eb40863fbb691cf5cf8e19b87746270cf7cb827cb64984cc3be7b9357c66b00d8a90063d2af51c34bc3da3857f07eef270989fca58b09435d4b15335722fb5b214965494edd8a9dd0ac0abe5523ec62367d8c119a5ed637a97a507286705d06520e7df4077de24dce5e087bff576eae20f9bcc4b651a8630eb025edc7ea28ad2df19305658e20db4abbeb18b38aceab9c611da6ccf127429ca4d0c448aff54342431b3d99fc69010945cefefb905a4dc63def5c2adabf71bc9f02691b35bf9367408f4408c315ca0f8a0f28466f8b5a7b069ed76cf9180c0125e56df8b515cf590c1bd6d61f443fcbe584e0695b68c9b097c21e12c1d06f1ad0177252822474bbbb2c29b6f4810e749f71b18b306812525c42e727f92f1b949\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = bf7d4aacb76f4174b6787a710da30bcbc9115857b5170f6f98d4aa4e9f74888fcd341824e5da12c26d05612b591d4aec64c008db58c2710f450eddb1fc71fcef26ca5f3cbac2bfe53f611f7f0b4f3909fd763481cf4aa76e25d755e33c3e7a2e3d7a2ab8cf9d49d2ebe952f02637cd901e8784556ee49407a5901d9a1b6cc777b5f036650de693440dbec5b466efb84053d73c7932aaf18350f9c6acba1cfee21f874ec779f0e5d756afe936644459edc592e217fad93d799c9bff84921a2159eaefb9a978021e8bc1673f8e1a809797d317bc8c3d4ce1c38ae1e995cdc37c50457a16d553cfcaa2cd58e36bb43557ef70e1588bc0f6a4fc59604f921abdde57a2b05375c4ddecf23c5ac0cfd3465a364a6387327844aae68e9732b776e04330744296429200be89136aced6bc329e4715de6be8db047d4810c62bc19c8c2ded5e34e6cf8ccf000563b342b6ac2df2833232d12be0bedf219dddc187ecf1a61f994225f04eadf96e330c2f8dd42fb7035d6785328f8f2a575513eff22390ecfb93bbf9a57b97a4458e95bfde6c676a9b8fca765ead93cdfe9927e2330cc17061da5f2860a0291513361dab4ee5bd7bfa91af6857d1afc47faab730066ac9777b69804f491f0e2106361161fdc83f1e89ad18e61a1cea4fb128dfa681d1126bb3fb11610a7071965c9f706347b2c521f63c6e59dde524cf107403205e905d0eba\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5b652650b3d26f1c5b3451483c4dd8072de76b639b34ed959f13328df20289042264a64d76d711a7b33dfc0b6e65a8d8a1ee8a747b7e4e1511c53200742b1b54bade56fea7895eca7557a45da92aca71daefde3e56cddc12667a06acaa609bef750ff1efda81490ecfec3838583c1a4d6453cfac3de7958dc0ee4fb650d50d36ed7724c53819a53de3e1498a8fd1cab183a567417c217a10f028edbfd4c35b339c4b5aafd0c8e04a474b7671681b80e95c3474702b2608478ae3ed0a8b0cef33d8265c98db5758a2c5c2166833cb560a0b88b9d2b5eb0f38392685cf8591eee3d38d66aab0a33b88e00dcca04f0a2a5b47d367d93390305e1fc0a49e70ec117836e6fad4d7cd5492379a612b2b0634f66195529a40293b1c08b87deb03ced33210721a63bc534e7e00761789d49a27cb348b2e89dfa1c238d733dbecec88d9e962bd32fbed47dbc134fc79990d0fac4dbeb7484b149a9b08169ee9ab46f1c9297fa19504f8f7060858bb57852386063c04d5e0a1c4e0545d57bda9d0f342574f02c7e3a2ef88842872461513bd524457856b24e4c25ab3f16527e9c90ff98ae9ec263358d6e8c192257c0269db714803cf2ef8a3e6c0d203c939adbdbdef1e7d37633c54873ba6b6ac5a26e8100f17f8b4be1e64ff884c40befef7c40e7e810cb03b1e738e6628ff424c20d2ca064df9b92a1f337b9905a918bb948fb9e03e52\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 8de0ebcefe961be81df5cfbf212c86481071c93b89c876272597e9a1e069deb3677a8cc273c2f29233ee063611cf7a9d42af04e9e1d4a8c148f0152e7b7b73e5b6feb87e964b6bd71d7666cc25f96947442844a915425af387a876623c40f9760edd28bf2f6a51251db8b8139266a04b13258a6294dbd08bd1e9eb5154265d691afeaafc4fd1a386d09fb71f8c2241163fb84b9ac18f6294c3d3ffd10515532ec501998c2f73790e8e15075645061e9ac3109cee0b3b23e49ee7db31512cd251aecbd536aefa435b54980d6d2668812fed9516ae8e3e0f7e235e338f40d4fb192d126e19d709eb892c2e54f55e15d43e08373f0358f7ffe874d23596b63ef34511f59b692a20e386f410c2238f46b7d5d546619329790c8dcdf825e9bcd7a5251c650f25f8cad5eb4ac50735a04dda2fd03ad759eb1c5e1cb61f4befbe96f3bd432a4ac7882fe3f7a8aaec56a0d9d0ed4ef29b1332ad3c0155d3069de4b6fc6dd299c319ba67d1156549f2ff6403a087f21559d084ad4a0e6e99c55a9fe1efbb6cb1eba926673d182ca112a2d42ae8c402f24d54c4f8ecf0c2d5140850b3dcd676754d7cfb423c5c4da1fba0c1ee257eb22864b6481bab3228d8e42e8068993a87af19e78bde89cf7afc0643121880177d817f04523dc9e792b987bfc96ee4d5aaf4d18465a0e6d28f50e9701dc84c347302b7cee5fe7d048d07be8ee620a34c\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 2fcc3280d48b7b6d5e9bcaa5d4dcbe70cad1bae22b1c4f407591021f4afab50c0a1f4543", + "29f8ba4cdfa69f4a7bb6fbec6744e32c78d9bdc6d585f30160e17117fa364638215531afbef6822ebdaa6ed89708343e14c843a24a6c152820b9e130b1a1a406270f50db5b0f2eb63204dfdc8e4230738ab9f43bb982a2435988e1e44ca08b77dade0c55e57b35db27e4cb9af9a35d634a69f6869110b219b2d8d231ce92aa5c1c2d8bfa78d67cac339e4af01a238e6cbf5dfbd58b92765d7818963f68e107db5388fd2b430b1541f2560c79a861288c17bd066d51672866ae8f9796ac5385ea4b4c165f2860dbb950435d830cf9d920f79a42507af93ee82876c02dc097b6c47c56a6bf3b1b165b98bd34c4335ab212b66c99c43894f67ae20e3e5730fb1fc1af38333f46f4aa8c745ed0f58b5d2f5b48a98fad75e922864eeb43e339b9ff8768f71f92a3bfc5806e34e02f2f3769c6d36f3a4d9bc13d939944bbbe1449735f9d848d2a4681e0dfd426115397bca1df86ea5739871722b0191dda8dbf93be29a8b8ecc154ef4810022500533425891991c3c8fd5540263a69a13fae3cdcc72c337d7e37571e9a3a590e82ce6a05daa260ea38f7fda25737716ac5a3b558bbcb5055e473f0d87cc8a171a4766432e66ab84177f924eec6e8504f658571ef737f466407717f30c7276306995831487ed1c6031bfa8929b68e51fb341f\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 6f76a4e433c0c2702e0bef87379cb827927b9350f9a6537aa67bc7812457c4406de7684ba9614e09e75ab4a54ae09717c7147c69ac0ce8b9b962f5842eed73aba82ba2db71c39337948fb4a2fa00ac018b5cf19e0dd9824f5b836ea9c04ac875abd8b8efdcffe7e6e17e75782b4c93ce0bc186a99e8567d9fe089dda051aa77b82f329dce58ff7228fde880d5e86342e3d049118f8e4c9034f2d586f3376851ead317eb691e9975f08f1767bdf8c5db321428fa7899e23ebbe11e2b5e7575805319a3b18a1e0fb7e763f6390434df2ec5062f4a4223b353bd12760d09636829a740cb3b6761536c1aa7f50f36711180ed2925d1aaa6bdd38d5d5c45b9b5f9c09de47751449ad6962cffccc6eb9a4939f7551a18f3cfb3dcfe13f1c160eef9de768b23faf85b480a2342216238ce93c59d202d861dabb693639695cbbd8009151ff64e5e3eab3bcb5e6a539bdd8d4bb5434f30a12a12ea92ae5d21dfacecbf559a2ce1dc9e5082e2217cea6c122b3468f01c737f0be0391723c8448f3372d88c9dc46cd40041e11a592606f6409c1fd831fd51fd6adc8cced49e62e9466cba70d177adb0a295019011d463b153c5e05a6c1177548c3dfac3ac1b2e8978e39ce1923244cf10dab652d250b2cd6abae03df960add94e9519dd801f4dcf2242cd5c22e287b34091fc42f6644e83006402dfce2b82bf8acebd4b65a9738642963bf82\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = b1cb3df9c5d8e04a90cbaf83a03e1e976535db1d66372c4efa3370948e546cc310d827fad9227a7e35923d8b2fc56dfa1039d25968f984e5f22614cb2dd0e5dec8e1719fc7bd7018843889e3fca0c9e9ffa6de47fdf67c266398de961c51e7831475b0b8021a0c587617d62eef417b93e675630ca26d8f41111b20d944c39f47adaff1b636d7fa1ee000fca852038b3ccbb05d99a2fd664a50129e5062b8e5ab04a65476aa60dfc872345be0139f4e30f107f7e1d40a7a01a7889592c5ab40c2bfb188f345d3086af7e725b5a209420798e30084561fd5ac1626e93ccbc42e9c1f283073bf91232cb48f571c32c71e4b47c2575295726340cfb69112877501618575748da81e7f8fc6f898003ab89a11a8d7e3647c72f4389d30b265020e99814ea8bf0406bd75292aa55e69c5a168f5915bb1e9df30be1bfc1f097bcfe78d6f7ea963f8f0482f2a122d1b3d3c66465b6d7d035ac5249d4a3a2c54fdae260a9d50f29c84cc39defd53b616c785da76a862fc60a619e25903bef207cf1c93e8c765a13f87027c9bd7736fc044ef4f6dd3cf3752beda24b3d2890f09ed85e5f45c02fdcc474ecbac108d63f4bb0266f5f08d4a4cc09e5217793ed16532d0796bc22f05607f6f265d967e424e47d73a3c486532efbc91d8f7bd970cc9412fbf1650cdaceb99635885b78abe2b8047d3e04b07573018a5c8b9518d26f25fc6b64ff6\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = b4fb9d923c57a13fd71e27c25cf0edf872de5a7345f04c2d5e002a9a42445f823e976f078fcd9b24014d74b31c2380f953007afd3da3ffa66e89f03425faed2befeb11cdc7725e9a031277be6e2c6216b0f2d0a53bb8242f055b80fc4709292b1c56a18101f2c2abaeb9bc5ddcc6ad3184e6ae8562c30216e22b43c889ce27cdf1469fd996ed90ac09050f31264cd93051507aae73eab22c64a63a28150de06b43b3b4099aeda795811cdd47e2b73515c2cad2609b9d8adfa543ed2ab122285a12bfb7df219151f0eddfdb4be45a5624621e1d45ec511e7b505c92516b70bc7981ad61ac6b8b1037b5e00aabe9851e3577d4e335244f32de627a7fcf9e937715bf31414bf432d339c65ab8ceea49bfac6f5ddaa4ed0a9d2bd7f5d2abb29819ffdd7ddea9c71c3bd575eb18c4d69f50d98c4955373408651ae19bd2ad839ab1fcb43f5881fd290ac2109df9c16fc6c14a86a614fc5509b7329e7dfd8197bbf659966701a1395a5f498988c485025a25822423efb7775c9b44ad3f3c7c79efb329735b21339611e7756a532dfe00d2c426b2b41942d65c48be63f9188f0b851348405dda0ce3de333fb82ea80e3dccb7f4f2453415ab86bf5a5cf8512c6f5bc1846961fdeba1955b96a5145cf447aa34d6fa22b226bc6696db29a50e3455474754db86155065dd596f9412cac880a0132b1e1fec5ed015b1c8dc8b682ba771021c\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 98a116f889aa8209366a0ff461bc3a2283c37f78b990622ee49e7046af1dfb8d5b56c2c669e71e4a0fa1f1cc5024d387d6f9f5d981e8fdf09142da58d760c1cf10ce4ce8f2b467f054a9c26eecf4abee45d3b582f9f881e77d626b3b30054507efcfa2d4444dca8a3075780d306f5780de76f70db07a57e0a49f80883bf0d9e838ca5770f07ced784ea09e4eee412d02e20411ee5ec48aa85330c5e2c7a93ade0ec3383ac0f821e086871c207144472a47ae36e15b5b6eb5c564031b1581afe321de00be20e5125cf4fa01d2cb7e510f85eb690c32bbcbf79de19d6f162805c4b630d2f0122176222799b9e5ec6729bc150e360ff7e5ad28741626577926efaf8541336a9bc1adb4d1205e0b2e7eee73740357ce21599ff5414082d228f089f2e218f413109fcc20bd61dac6218d84f90c2926a6dee012edf069adf4007465a8e3574033c4be54bedb51abda9bb2cec081d1ee2aa616178aa08cb0fe4836ec7536649cebd2a29b9056510b4a6fabc6b91c72fca3c46572f397749486e4b118df5237703be3de3b5efbbf31033905300c50efce2aaa7f0a819b819ace881984707bb1ec6680b9ab97186b0696e9cf1043ae43acb3fd9cac9fba305d756c4406418e5dd148034f6b3b87e207fb9d1ac3ac24bcbd5f681645773177d09c73e8c14874bca763c79f873a2853e742aeef70b4c74f88e2b2c8b094dead8ed088dca294\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = aa4cd5424b77ce7dbe0654a7609ce273d77cb2b2b0a2262a093f4ee53cd4fcc4bb01e16fb50a13b20023fe6f3003ac635d1fc7148318745b52e4df0a88a72a20ba60334fb5b445f9e67f31dcbc08b0933d10d320cc48b0ab426ccdbe5658d6dc66159d622a0b3550a970e4b90de79e76f1bb5e5f073f7802a627493dcdf5e8c22f3bd3cc6b48b1ee4077527b75fb38a23e0ab2ffb302f7c50a85215cbac99a49357ad13cbc12496c2495fb70608c242118e3bf01ebd0a63dc259e605c5421cb83e1003643a6ffa96e385bbff3f49a17de6846f54631c95d4534f3a9069069c578a40ca248be0e5915e6e499a42cf11f2652bd9b81719750f0e0a9707ba30753771af12726afe23a9c4e38b03e34c0bd18eb0cc93770a6f00543966d1709b659780a35af82b32c259d46f19efe26cb51f062d142f897cc99940bef767805c32ac8a1bda03d5e20c7f60385720e2d47544f8dd5999fdc766afd8c988751111521381422dfcc8816b862c422372e9b86a5d9859be32d8dfc02bd6f5e61f6bbba6cf7f4531ed7b12341c91533133d90402d0668552fc17470c21bb843cb36b8a4fa6a3db24b0d4254b3e16b92515d31baf6f76b988ccec2a420d0f0e9591962de92fdedd1b619711417af45702d7e1d5ce0daf2ef0154bfc46c6460492a8855d87e9a5046071a990d6e7fb0ca63c03b15b12c42c1ad5b0a20cc0472dc5e0028c642a\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 5f9515d56d86e65d565634ad95002b9595f25ecfbaf4dc44897a7d468d3c71278131444d48b1cbf19e6409b6756fe753eb6c3ac1c73fd6391d4cd6e1e7be9f0fc044cd124db1a3db575046698d140d477a4c6d95a5eb06de11d8bbbc8b2e6c04f8184008cb2388574fef51aecb8f188ab2206da09333cf536d004dfd33890cb24be2af682d02bbbac68fb1fcfa6a5cafd3266ef4b09a758c667ccbded9affc37c13ee29daa9d0db2c1afde3f6e7b070e2a9b5a9b3b7d75e0871e4e60d868d8ce38fee726c40a27fc4f54287fa7872e5f719198f20b7887ba524262feda06d751a670dc1827374cd2fd25330a180e21bca4cf8dffef445acdee58eaa8c6aea3cfe55ec6ed963c05b7d492e7984f976d6ee4831c4ea1e65b840a1d190f1c49b3cd7f8d289c3a2751c4885cd6368f17bfd0da533bb2ffdeeeef4281a1efa93667b9fb07042e0ce3d17c7c94d39fdf81c348bb3a9caa17b96b028fd04f89bbdaaba37ca3c867b5b06f913b6c3bd6f7c1dabc82be3cdbd4a184b1ee30dddd28b00b4f015765cc95db18c74847839ccd3ac02f3997ce47f63f26c9f20d02dc1aea57dbc768778534a8460f88554ded387a64fc65209c0413fcbfa81dc24a9b8a081e14509fd1c2cbc05aaa90e202acb0688da67cebcd3eb0eb867eaadba412cb6c88f0fe9c780b2f61b33f47ce2d70060b8146a6cc5ae825b1edc492a88b4e397f5c05\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 550fbcf50804c11a93debfbf269fbb6437b171fe00b9e93076ca7fc7db88e91765ee439bccc417d647d145943ed7994324b514a2d4a70527d8f857ff5933f4a47168b49f5920641c49ca5f287b0497ce878857f64c51afcf36f5f115b4a8e8491286e972f54deec16ffdc4b8b602b5eb76d8a729d35fa964fd685813bb7ef3ae6529d6610af6efcc825eb234e4561973956c0b0ce4f93c4bdbbc6787418a6a738b7771547deec774c404589efa676bc800019a9ec8a68f4f479d0c03b7cc7e7f04444fbcde9f8b1180db9a7e60a7fc82ef7f4e7ca2130833c5f5683ab06e244ca904e791dfd01be0a96cbd55b69cfb31d640f4bcdb72de", + "ac2cec6fcb045f3c259ff598e82c52b34b96a6e0f3e2558b6e84e8b90591ebec10c66f809c37738349cc6e2691f02d69e95a2db99510cc17e76993a5d860d7f19f21593f6be3907a3a56aee4e79eb2d5f61d9c8732796e3894002bc09a8550e682d9acc92fa3fbad21503b117c6a6382651d08eab777cc87dc06266709625d7f162739532ef1b8e25fa0254a71ac1dfb00c77ea5b593267b142fd60f565c6825985812e1a8c1e47353ecb743a2ea52f165c330a5f0a25a0a2edc515ccfda97dcaf40b774140e1306e68911932170e103aed2ffe108efd2197a05188f9f18b1f59bf59c6571f27ef20d12bd1f0b12d513243d0e117630b0f521e29e401cda904a0484eeed9ecf1d049c\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 78c6bcc6e22b2051f5dcba26edd20d680536ea15aa5d5ed438db92b3b2ecce0eb59dd46c2496dafeac3e49911dbc72f895ca0cf6679f36c770847646e99ea102648b8fcc3d6e41466c5fbfb0a343d985fc95f4582b671650d991768403e4f75d852856a450804ee29e0203c076736076ae79929a88d307c07efa0992e45fe49205f67061f7ae2adc2caa37cdd4ae3e4b9157983834055bd521124360e8e03021f703ab4b245ba30b4e421505cb3263d955c6d315fbcfd08dba056e2eb96daba28abfda149084b0052a9f0013593692a35d52f3843a76ed35ce3f0c8e8aa3418a53bceb9d5cef61b84c766648563bf00ff3def6a71d02a03acbe3458679ad8b710225544af5c4f7142bcf0289e54f76b4ab0d2273a651ddaf4f565ad76f231eed8c80b5d98481eb6dd507da55396c6fec6571d81c3008081c7cb4792c47025ef33f89332a4f28f03bced3111c895c5f48fdb64faba97dedd1c18d86335be0b66a334113a0149c67dcad53040d8ad2325fd6c11b40350a92f03fce0d991034e25272ef3665d2bcffc8f52b7c08a23d821fb824713d04196075b05e82d3138c06319759e859c7973ce15c3aaf1baa2bf90ebed260f87a413ef0a17fa654c35aedfccb4e496612b947235522eca5b10e195f7341951cabe3e0db663532a8fb6cd8eea06a3667e1fcc4002a0a0bbbcb4d7b7e20bb635a4934f58213775693ed2c64f8\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 1ecc71fd2e34fccc01158a46f68fe41ac963dd9f4a5279ea5ca87e81195b05241a8f4799a862fbbc3250ab7e86bc508f8fe32a1ee65007f90d0b319dae0e226b9f3ceadf362a5488afbd3a4c22d9a5917856f5f7edf02f61ddcaee6e25720406c3fada9af24eb2f9b1e7826890f621bc26837a82bff1532448fee49185c6535b3c1561f845aca7bd7d934c6511f1513428b928ee0465157a829284e89639b76f514ffa1cede07fc6d88cc9ca9f8dc09f17ec65b1fa6b08820b895f408194fdfc17b98d29b6acd5b36504ec8c616b0476143622e513f0a8ad331792499bb18271ec3ad794677cfabdb22d192924ee982f74bbd062acffdc8eb70bd2f3161dd8bd0e0b130d8e63f940620b89010f76e4e6ef039b7fc8f2fca7db563f5f5b80da69662735eb47eb2def9730eaddb164db61445bb254e22a8bf71942e5b2cfddcad5d8d1c119e7c8c2663db3b526dc8a265d03454fb35b18923af4c8da19faf08c6f770e3ddfc38c5c3988a4e302fd9c8c92ad5cbeb0d18b1de43cb8bbea6d76e1b0e57a49af3d3a2e242fd1f390f71bde968b6ce91230d10401d466fe7b6fd2fa1ae8ca58999b808670ffb76488882a880f4b9eafd414acbb8a2abc3e2dbc79362cdf67a28242e8ebc393f065dab6659c3006854f577e34d876bbe0afa97484af0ebe454e44bca989d7e38f8c42e009d4b9aa118f8e2c560d7320074a777fafb9a6\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 8abfb449d903f408a10718ce5c72d6160d662b03cfffabfe52cda027247d2af8ac9d870446a8b657b496fbf8d74d9d8e36d396f2e0d85d3948404788fdcc02f5462be06329efd901f711c77e83014ff3a02751ba8f3dd28cb2f30ccfe3a958ef2945c0f8a3c6d331e38a5c6534e71612c3f0b45dc81396410e4d55c7d31401ae7c7a1549104c718bbacbc9623637705a2342f261c37bbe35ed30c64d87be17ac10a263a2cdf82947b73144d145f8711693edbb51e707f1bc75a63ec875572f6f1913469bd9e8ce4f7dcb542ed3c5a61e82f671a39f69895f0c360233b0613c73ad683bb4d2b7771c7b7a24ffec537d8e9382c0b1a274d96eecc6a541e6a7a8115cb07767d7ff40bf1266df4b22bbaf49c8f1d103a3b9d3aab33bfb05dfced5b1e04a842add8f18a462c47363793d707f4fd5fce6fd1d2be48faf532523955adbd22d7294dd66e5c586e90a59be612777b3e66139a72fcb608329c297cb84134f20e55622d6f56e9653877042b1532c143a2d9c00004a5bb4355eb290695524c38a45f97a0d67eb4d1bb487d3967349e25fd4dd5b1823a545478dad20ee4dee931c6637ffca4f88549ead5f36d86e799ee757cc555f910835077f273f5c38c9508e8d1a932169618daf6269e2c85676c515f3a190dcdabb0bf1c748a385fef8bf108cd716ec09cf2251916ba42c20d67f178fd0853d40a90327053cabd5d8997f\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 33ebb328fe4a82206ee3db40d58d9e3081b53aa51ef33625afc2d778c8ef56c174bf40ad2a20d3524675269efc92579bccc332b1b1af5ae33092a3579d21ac756a232ca4c18f6a5e73ebb1fd0547e18b6bca99cd8dc715f715fc262461f587b2ebf4c2f7bf41c9a21cd45455d492d5dfbeba588cbdc2ad00183a3dfcdba9ebac02bed5425ba71d0890efa95d0caddd9c871cf414f2357ae97a28b48b656b27b3ce1efee9b29114ec551c2afb28c4057451d52c8ca1050444bccc8863c0b8ea65f45c985264022a767d245d3fb2d677b7bc56007d55ccc85dd572d2cf669855e38b41ea69b75f2a6f405a55c495daffd75ade0f086ecff34e3b89dd80627041165a91be8d92b58a44664c32bb7baeb5b3906a475e5efd680a85a0a3bc0aace9bcda1b5f83239d88f1d8f085149c3bf9b4dd972444d3885f266d4b30bb5ff239b05f2addf7e2e8b6588fe46ae137ab7fb9e795a37bea74766f79938b0d56d2df81bd3c7ff79c387909463dddfe36029275ba18c7fc7d2f50a042b4e2a65ecbee8b89f99cc2a5e45d34e1d4d42855f2d36a2a8e2459ad564ac9bd83b87a5d73e499cafff57c3742c652fa8651ceb10456b3673eaa564e4d72352e7f4f24e15a16ba94e7673f9c584cd9a12670cbf0f1fbd6764e15544a179e9e1cdada1c42ce8ea189d0d4bb9a275bc3102a180f440b09dfefb355a56f0c74ad80ab8954c6e35767\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 9f80040b3371cf9b2bcbacc068f03645a114b73c73313b3e146d2c20e8c6d4bcad24f0893bfd320febd6991379ec8ea796faefa3384b9289f3023eb4a188439c79ad5c501cdc0807630ee7f9617a4ffb0e00fda1674972eadbf57692f516f52b3ca7c4146694cad95d54257d76abd3a93b6e2a30114217d2439959d9df1d218b95eefe36e4a01456aae9311932bbbaa34aeb12ed21039d643524462c7e0bfdd647576a3ced6b2a28558230ce33dec63a5123666d1522f9b2e624574fee22827ecd7314bd2e2ba28cb5b0fffb0e78798da8a61b1b752753f6053b67def7b19936e35fd9a0671a12cc54d099a7db5c4429b39eb4df20ba325ebf478675e5532cf79b9e534a96129dc71225e9cd337207fc1a060734c132843317b05c8b0b2a253366dd340a7d65e61f825a8b96af263b351a13c312141c7f70794a048c704294b152a918e21c1546b0e50694c12fa1feb5e999b2076dde418f2b3a8d4c906824a9735f80f0914e94740366fdad81a02911cd40e1a590a587dbdc31d15196698b8f1d658262a5d88752a0c102208f4c24c0e61a66561175cb71b3dafcb599ac327ecdb72bfc4794568e3ca5696e1d0b64039caaf2d2808d9f528d9740243d781359f9b4b9b68244a381ea74023f8b5c7eb770ef189b1c2638fa1234ecf74037ad0f6f03d62bcaf10df7755846d8d1ff31223d20b0543f39092e40d5aac96e3c5f58\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 7216b71f801c5c4976a9db1cdba4262f4158e424644b9c9f9dadfb3de7648175ed1b4f57f2ffa25f6b5977153d059366e80bb07619ec5d9ba865cdb004bffee65b066fc285a4829891d17e502337991baac032138d85c6f0b3398e3029343010fb7ddfa6d9e444022cd4992918a55e5df7bf0604120d9adf25b30eba21725105077cbb6b142e00ae97f03a7ea943f6107e4e7ac8c639fce407f3a335cae69a960dd423a511802e8d1fb25f7e736a49d8ebfc4cdccdee4168726eba22246f9f21ce0483e6f07499d6375158a7761ffefe81948b59d47f0e9a45a8bf104b19536535d5b315fa325341c4c199b3dceed592b3b06d10f5b8223644e7e85287038f71cff7302ef5ea1cac02511e47aadff53010e8bf433ac804df5f0c80f71e580f1cfba783ba758b8fd1f62a6278eac81a798ccde4b15e3ce1909ddea724ce9ccc674320e3e023fa0c35bb5a705bf17875ba623e4c30feef0e6ffdd34f4c303e042d551f5a83ff18120f9f44c104cf8a604fa9cd0e300daec6298581cf6426b9f89f4b7fbeb7de681c638a2873c27e73528362c32332b9cf7bb03560f30558d1fa0c3b1ad8b3478911ae41bf1c939b59852570529eee9f7615109f1ca228a5ec78258e57276bfba2ff77f6ea715c2bd0113bf28e7bbc152dec211d14ccd8fb30e72149bd8c097ea8b6dd82d49481dc8794b120164ee0d9cbf9a2778216abaecbf4fa\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = c11a64adfcc6711c6b80549a729c311ecf30d66ca2c7d31eaa2e7f7e867b3c3b5101146f4161aa11f6e44756215ec09859602051c7cf6238dc49cf3afcfea22683c4cef0cdddab1ee87365d9999445c083c5fa28234597bdb19b90789a84393c72aef4b7767694b3e0c09e62b4a2a864525e43e858e1e9a1424d7ea29a44f24038bfa2cac74501156e3fdb7d7956cae230f5d3efe726d817988351e893b3727643a3a78a484d91103a5c50fb80efdb8fd5852e9d63019c8d80a1ecfa043783c918d45e356c552b0957ac92841f3acaf38e725fd2cff798e941ca9a63d53c94a578c9e936140c2c0ea7f261c8cfe6376fd20bc3171b30fb386d9cad48a24fbf17896781d0c56d7635d9e61348673defc7ff1ddcd2530dd3b7d6a8b09c0c94a44ae450652b0954671ee78c93a0c5213b0e97dcef53b738fee913215684e4858a6f3bd6533591ac8988b91f1b60dcda60f17ed3f0de1388656589ddd78c5d61e40ab2280e7c4ccf83a0a6c0c0845b3036d55b48be0100f0945a86a3bd539f4d2421cd93a722eea084a839f70b21790a503a5c5c5ee89dddaec3fbe4f35ceb6fde832f281b8e2eba35d9dcdb0fddab11a7c6fc6c365cbc0eb59607e3dcb37ee8e15cf473f5118ba8727ebd70561", + "3a7a2ce2df80f21af23522c585d499a2503f11614a0fb7f2949f8e7882cac49e0fa077b6d5435c9a49e3f0714dd118709f95a27e5\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 197247a515fb4a12e874a4d4c9be95cee53782ef475577df61e0e70e3c3bcd5bd4e9867c0e5c9ee5decdedc53603f5aaa5b783d756279f4f74cdeb36a93aa51bf6ae3db9d1647ee62f6a079286391c0f691d2aedc1378e83de154572db611b61b8f06a84e93b94a868b7e6f2d1346acfe7e154986e49afe19f906b69f3e8f420b57774deb244d26b515e88fc133eee717786da42a166de47d7ba2736bda6227ec63d089a37064130d95e1605c848407b38ae9d35850a3b4988a22b867078a01fa038281c5f7a5abd947a9ed12a2121a74e3da6b2b50a7d8c24009fecdd7018335a1de8d86677a2a2ce9c57241b4805310608fe7a5e7ed9d29d46f99f63f89f1c4a5012f41ca1696383d9b2b4d19bf92b7d0302639797b4dc5576a059278badf1da475fc4731bea6d6277117d03f4939ed50f989095286d5dfc484e535f7929cf0191c5e006f8876527169a49f3ccfb8b9b21a9fa48a371da5960ff7b399ac3cf89a1cc0dd0315b23207ebfff886cf03422a01405dd8c7098ca926f65db7bdc8f32ad9146ac2cd81f743568207ddd52b04420a6fdb861938790234b3ae923e2f483bc6905ddc5a084e6265b39a443178aba79079e33e7d18315a86a0ac42d6ec513e3a88c0619e09cb25195aea856355bb3df00820a856e1730a61196bae28b89fc1914cda5ce0f97447c5817798516b48c0dd437953ae7ca17a1c84502b31198\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 568e9fe5954b9d77643aff10e698d24ca734bb988a6591bcbd38659638e58e8ba7d5b03a9114c9dc8cd4c91613a5e90e21a83ecdb08844a6b42639e1c4a2929754eef740b7dd21626d2a3d0f93d1a78e6402361ea406652d98db84e235858c6c35aa4ae83133fdd08807fba77825668c0f6e36af5adbb5422db4b5bde2c9669fd6973e56dc12866d48e132be7393a95aee49613df83a042c6ec389d51fdf2e38ac4f9e816eb3fa5467f50d5939481ede71c94577095d2f94fa1f09fcb2529e86ee0e9548b455eeb7d435b14764fd9936b0b000b6157cdfb1940ebcc4f4ab2470913fa9af408042f4cd09a6e32bea3301a1ab093ea930413c230dcc72360391b95e9819e4e245529b0a1e75511cab8f2d4d3c10c37f2bd1c2548ca688f3db84c274d66ef934d6ae55a48ea68e8b9b37214cfda51036a526f33744bf2ba5a63b7d8be0a4e6f503949d38bcef9dfb8137984ad9c87c44e7e79c00a0a82d00c5757823d2c49f4ac73f05589a9ac3f97bddafa208a5e07171f9b2e5dbb692bec4aa4c7122a72084346ea665b87da227e31d8773f49e086c6ba1d2cfeadfb356419b3c695a3634693f2eb023eba301d6218685993c201eda426a377310f853afe4f5eb0171d772089c63faef2e7341145408d7a32ce5cf2d1212408446c8e04bb5a2ff58badae4019a56a99d64c95daff600d8ece037f98d7c763f9b699136106feab5\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9d5698c424b9c2d5980a5913afc9fa988a5115e0e689b9684ac6a1f894749561467804d11fda1fd2e6fb7b983727f42229be82938ecba0e9c446bcae9f213d722baef08fe2386e490712104d795fe939ee7cefa78bdac9e63d23bc9a27f5a93f3577517b7607b432cd0b045babaf241c9fb6f2bc4abb0f710b7b707aee58249837fac16d3a0b8745713611082d50327daad96b57e8f9b256e72e0a32c11e439abaa21d1693de7e03016bfce396b3591d27d069616a8e0bdc340df8340048b0073a4b24dffc83f0d662a58ecf549b1821cf71f4acac30c1566c95f14f02f7dc3e7ab75f91827284c5417b47e3a513bfba2a8a34e15c253c5c4ecd87a4d470cffd49cccb44f1b94e0e43738e526e2fbde7a75d7984d317d2f7d0e3dff24d5c0edda477ce1ecde8e1ba73b84575fbf77d9dbe50112b9e130581f8587dc7a2dead3e2e52cd9ae558bb74243aea20fbec26c9323e45b30dd9cc6c68f1d0febd890920d89aa0fa1eab29b8658c7331d65790da9e12c4a92945ee54b38cb9b12795d74b5cb9bce70633b007a6051516d48018d0157a946a1b8297d5417d8fd54084ac611bac2ef2df20600c3bd1b6056d2a29c9d4369890958ba030eb25cfd33ea00455c682bd2c36bfd24b02a8862060feb3da9f437ced7faff2afbe5a157fa0ade435e94116fa17f67424faf3d01c22763f95c9486e03ca0c46527769393d47ba2daa\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = a63a208ccc6becc02fc5c8b433d34b4e380e232e4a03a0b95b8df2ca86d6a5c402852d3a9e3ca48f65af6733ebadbf99226b3522db6a7c851873822f859ebe6c12014ee9d792bacaa7b917c0b8408ff1eb328bbe31a36832b0729344a38a60ee140f3ff708b64e1af538d888345b5afd7015163f5749d2d025bcc9fde2da10a3a193447ffbb6b9f110da2cfabefb9b4e00bd151ae7855c35d3da37f03a17490e02416ea7b8075431f3280afa904df88fb8c5e4d3bb0a7f2a52c67134d8c81756540921c9ec8273983079c4bbba69e11ae24240725c6a4ed90cd8ce1311b7531908b2cb2a58ad8b49eaa208a5bbc67c4293d97d34f507b120971aba0f1bc9c539aaeec3dbe1f9a252e203e48b05eef955e0a2aec652d330a4766705a73f6c4edacd9da5b4fb5cbc20d39e9ed1954e2c80ac15f59abfbe6d8f5fffa95862f4c151132a2b11c4d1a7b615cd6f5c1b2658593c43124ad3d5da14c3d3923fc11dd0e797decae73ce25b58966c5d00e48fad63afc4204c52b27985f4b15012ababd9c901dc81d7f63797fdd350e748862e56228f7fc0516a93f3e95ad15c1d2401eccabe185a533d42630e94b7cbec2a200a59405350a5a9399d83c58dcc3a64429c6d9fea31cb1917aa6b312416bd19b9c6c6113b9f44d812d7e83690d5a9120d4bcf3caec2c7d1e629a840a50143da2c242b2a761193fdfa3d33707dcac7d09563da\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = b6302a6dc2c5c9e13b4b3931769ba271d97f0df7e54b7b636e3275ef69f06b521563bc5f5ca1cc3170705fb1800500e67c97dfce5d4986514f4e8dcc67c8318fde5794e1ed138f9f50f748a66ffdefc9eb0c227cb8bdb6b003fe63558c6698cbfcb12cd53b5f986ce977eda7be54e62ac9ea523fc38ca255998b744c8ff907a99dd8bfdb0305e0b1d8e79c8313ea0c78d47d6b76a25ded0da248502800ccb44b1665d1793de207e20fecd09152eef0dadc99d24fc013e55c983e9a4b3097895d41c38cc6e9c7034b225de5a03fe11bfaf4aa2f2cc290ba0765732adcb24796ac9a7c3e2ad159856750cc9417427ca013e26fe911d2a31ba8746da30ae717dfe866446b6b6ada2fe9a5b9137ab9e65e2ab8fd79d8ea8f55d5f7215e234fd5ead6c334ef3405c567999e0b3a540e9467ad17ad20dba6ac7de39c11545e86e2d973c39f0a83e15a62d22b628b4b88903015ccc5c2ed12818c9f22fc97a9ebe1d32f426acbae9723f71b86f7ac7b6fdaf7075b9fb14620486a218da4ed75578aabe4600f2a394cc6865ab2f5c35913cdcb7d7580285ec08389ed9d8eca93a7490098c89c720bf1af7e1f37889fb85ca6b4bec4d552784fff6fce0be5c62a79e6ccf05f048bbcd033e6c7210c1311c48876d3e739827ced4e8344b7477ce5cbe5f561ca32a61b1927d0af1419e75f383a5ea01b117bf4ea4c9e0c64052f2367af8b4a\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 56c674dd1819d11b4546be728e25e19c23ff0529c927013e81d637a082b2d0ae13e2f6f9f48727f3b9e318d6f15d4e737eee63a7e0104ae6c115539cd26c4133ba386bf5265d2d9fc91997d3f262b53c311f2b54e75ffc716844d806ee30a5ab463d1bbd635f882e188b67b06210c2afca567bc47af50c76d1bcf703397512d30b67c198af319c2afabe343fd0366ca8099b4e8bf925bb01f39ddfda97c1f0f3bb7f62b8285ad6dbd427889bb4d29bee788ff4b46b29dd8ff4c5e5af919e61e5cbd4242a0e46a1af6a26ad99d8de39a1864501f3724e348b62445673a9d71b997afe2348bf8cc6f9ca262e81b955e5109b0258502ad9ac8a24c5e220536b99be690851169c3ea56a125eee7b2b374daf9f6b95eeedaf97f8151f618f1499256656afcedb8fefd1a524128068ce65c98162f9b5467fe3e41f73b2039d056745544d927ed63f8a588c820a8b45ad7bbf4cde144fdea2f241560199eb8ce45b1868498385677a13ba3f3db9f2ecaf8b55985a398a8c95ec2e02dae95d4e4c0cf864aff3fac920c1f12d7685961bb6e681b31e944d58ca22d64d38322d66d28e2d7db1bbe640df42a108daa275ddf2050ca93cadee433f3a65e88e7e52733d4a352dab1449baf69c9efa736427443c26b587bb0e359de5ddb75253615654b33246f1a035a23eeedb2f150704589e986a52cb8354697f33ea874079cb828be00d56ca\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 876d9d2c9fe40b3d3c9b3589ac75cd8876b5e3b65fd15d39cf61daa157dabfb659ac0d411e5da5a4fc69edbd33f3f2dc2bdd12b5e2a497c7a0d6486cdccef0ca8ee1f654aafae800ed764670a34d2f2d6491a97724e6d8c933a318726bf91765baf06bac71788178e565ad8caf12c4c1003ed4f724d7fb83ab09cf05cebf660daa44fe8918b6bc6525e7361ce4190625c52442bc99ac3657f25a0ace3890b90eb947d8229adccf191f7b7362ebda5f62794de03589b7437d85991c91fd55f0123b6c489e18514c0a977a798ba90453f4bf4521f438b6c096f2cf76352e2d48737a28cbc26fcf1515ee54e6bda99524b9c2fb454abbcaa9835f36f73509ed7fdf1b367be380283f0d391a1ff6a9819bffe629e7144ae5fbe03fd5fa9bb9acb9bfc0c2906aba09f8d797c38046c996f458a2e55f1451dcac20e082257d6ebb13f6966b0c2cbee4b8df9e75d31b457205a8b534efecdbbfd8706aa8258b2a85669641fe9ee8132e6fb356ddfca16344329f9245b856aefd263fa4a74fec495e28eacc50eebb822792c400b2b3c0741013da880d5f739bfc5ed23b0f523c719588f3a1f4c45b8f3058794013ee49cd604888a1477b3227c9de0230210479dbeddb1fdd6b94573141200db3da79a6caae2b0118fa8ef28b924b7116b304d2f2b469db8757fb463a05c495baac6d63a76119ed4a8c4910048eb7813fdc86eb9b9db1de\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = b0f76eeff1462f8ee6e73c524c8fc6792547774d17c00f38df8533546d802c0d8ebe192d23a5f1472eaf562423c423d3646c12574f69f7c85fed1aed0083532d1e52050053a8a111e3cf4e24a24b0944f0f14afbd70fe53615764524a9715e3336bfabad476c12faaeca1df21c01", + "62b7ed9a5c91ea64b2b8ddfbe5d7d1b50149b31523d396e6c96ea7c5f9c2fd20fbbdcb699a6d75fa00adc390ff6ab95de2b405c314a1ae7398087f4d54f37b6805318fc8088a49ba46b2b1f7dcd6dd16881a641d922aae80e3cd0baa82cf1bc1da9b0d3af24d4b04bbfb1d1570b2385c848cad1902083f9e7823fd8f6afe84051ba54c76db9d7313238959791fe2b0947cef28b2954234a56ea3823433ff5fcfbeb37dd8d18f6a04d202c7757d2f0c0e91d6384a9037104041dabd72ca429a3b649315c5e700c51d35c16a585b0e9b6b9e019ab36c9168a17170fcc38b4c8dbfaf413b148b3217efee713e0a44540498f92cb33e8439ec585d03fb9c5ddb443253914b0ac90ff97c6c9093003bf10cb05652ac59cc2a4fb54e92ff6438f3985e7cedcc0fc7ff18e2e2683d5bc41eafb8bd267b3bb50b6370b164fd84f053acacd8dd38a26c08a3ca1ae85284249b5b9419080a6dea945191421504a1eaf3230ef8d1a8b353fa68452aff1423f5021e3b9b6c7d290c9eeb03101909f96a3b02d87a1239663e3460c6ca0453f5b2c17bc2f08a\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 9ab76d318d79a840c7d81a15fb67baf380901dda026d6ad392eee9cad2520a7d87a659a49b65d5dee773b30c0d319dc57f31818902247868a55874f210b1e0b8629f4d565626837ee063deee65d95c8b569f3c38673172c48ad68cbacaee2d8c69fc3e22523f95ab75f587af15d5be529d95835f72c163b54af9d92831ae8f3fff0cf7920d57c28a88a23084649cb20a68216458ae67b6d99d54387fc00d845174e2f3e930c1a0e089cda56273ea4f673af196b56b55924b57aa0b91adee03b69e98438b12ef9d3c3a65f7ba06d7c58e5fc10eaec8253cb6fcdaeed5c31f177291945bf0c69e7bfa273d30504cc6e94f7b7d60754135117411ad5b25b6003ea86b808ad80efed199a559f9c84f473fa1f554eea985e7111dcb2df4c4bee1aae22e58fe0216c4a0c937aa08d62b9222833fde32d991e4f8eca619d0353c2770e61ba3abe08e9b71de29fbb71c10ee6d8220f0ac6289c9c425f4981fc290f9faffe65ef6d207572055a5cd5a33caf6a61f4eeb6205c76887accff381591c51499a32a310a50ac479b45ec1a3f05c1bffe4d38d1f083926a208d9ef6e8b9e852a6261cb4a9224d35b0eab8bced1a3e0946736e6d49edb2885325a01bc0e7f89a58ceb57f88cd7047c5b002104fb180415094251e49bed59112eeccb7ddf99977d1a25544cdba5b10516d7f6f95c9e9275b484fad64b7e2e25d995a541d28448329d\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 1d21743f51fa1fe1038b8126f6ed9e62f99a0fccc2a8b645fd90b996de8ee8d76e0752c83ec965e342a87c02c248b96665413de03aa7cd413ca67b17f74bf9886c9fd8223cd94dd71c98f874476667ee96c311fb40e17f8e7446624a41c02791726e62c0489accdcebffcbde06bbe3ccae1d669667f0f6157b463eefe4474ee89f2e9c6ef07b6d63c1582c4570f8473e07b2d7d0be72ee7446633b7ca5f7838e92b977558444580f0d305dba8ac74e3542b0277c6c21d51491c1a5fc6abf3ece671675e48a41c254f78e1d2a58c2d5a0294ed4720e511985e03502458108200fb47ba00ce379da0f429877b62d6d60133f231debae91a29b940c8e8dd278f7551bb5df882a833a3205d2058958a0f11685b3bc0df0dfd5b8b2badb8e02c4449f1144fd744ebdc2452522ab32de4bba59a3abee73c9baa120a74474d79a5b414645ed827ed3b19842a78e9bb83f03ce2a985cd5ecebf6e773594af60e285638a7ab6fa5db555015460f03fe3fe2e4e815792108d5a39f2fc5fe620145e7899001cb722b1c1524c0c409d8207e48e7341ad209ffc2552e4fa4eb09c749c320f9568cf9fe1f4c0f1a04c20ebb522fa77a1d2016305a75dab806ff3f5dfa49a191bed0468fc5bcd680e0f5f4c730123571408d6e3c3d466fb5adb838e9be035d8588f1fc9055473200cfa569454bdc5a31531d9af5e7861f035119b1584356c7f505\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 807554d5b4af18450ab5584c0d81a98da3c2cd417048399c060fdc8d45d8fe3f621a06f7ebf08953c091157014bb9c555673aa6bafdfcff69bf27b62992af6694b1426236cff69fdad373f11044d2352259144ad73f37025bd23b2a9fb9b9d310eedef1c875c269194584c9672f229af762274bbff201e9cc0faf3a8ea4b0ac0605666aa358b87c63ad12c4fd644113fc049f98daf2b076abe82670f85853ca2ba8058480b124461057be13f690057a9cf68cff0cab120de21c6d18b7b6a099a0a3cd60c9bb40fc683c19a4def659ad9d806dfa876a2860c6f63bc48c96bb75d0e3bebc1fe6da96251703264b9657d4a3c355f692b27608ef72d5cc88b0415273c3717f5a3809fd1bab1be928881efe8ac5968050494030fbb332bca315a6b2b31ddb433cfeb1dcfd4a8aabb50d3db62f33822cc6d68d96f1e600fc83edb4b8784930c0b9c9b7ebb22b12218840fc65c6467703ce961b19d7a64aef4cd4c2acd350779df4ddb1050429a0858570ab155b174c928e168b818dfcd311e0d2d2135c7d2d639ef5e66c2b806ffba10edc6e789f3816b7de76bcf84e0db5e7509babe5c2cc057d835428aea81f13a5de5e38d5a4a34dd657c72874c21065c02b4f0bd841bcf58e1c35ae3f1214d719f8790f1c873ba3f0d7a70d18622382d94d0468c2f5b1834b57abcd33d1ecd71ff9cc18ff398a0c14a88a2ef0738d866c767d8b1\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 7bc68409ccab429900777ef7996b067cf577eb5c5005f8244e0aebc2d09f35dae9f555c6b3c103fc01df943d90d6d57ff6594d47f080dc486607df002fcbf308cdf2a0291f702c23127d7856e9e442ab0cadfaa393dd6a0cba3c07c66e864f8fd488ec6b309267a18bd3099be8f38c31eb016a7ba00d2a74103a78e7877365da66f3c16a7fb2165a9de1e8b81d7e2ba33f3d687298545af611ca205912b79a5c63425f8c9659ff27d0041ade0ef02a1cb204588000a37733de3b2099d6eb7addb0baf2cbd6c9c92ea36b39c38943d6550d13adccd447aac93c664efc2100f48a0a6f9cd490e2668de46299347d04090f39b01de69032cd527e2b961cfe90f888053cc177fe98eaadb3ebb1b8eb44a1b232aa0e286d6f7ffebb7ac0a4aaea6711c1f0b95db88ec6dd10e2b84e83c672e4015edca760899d69f0f7801eb95a50d6673220968db8d7459ea74982ef3e907caf08ed42343a48d60f529fa64011ea457f69d2fcf693013ed6da6eaea5e80965d4d218fdf3b3d46445ed081d47e9b148ac2aa7669b3f1ada4f5b110ccb4bab9c869f849bd1947aad30cadab36b69ee0de614765315b7926055d3704aa0ada17b9d109111e538ebe431ddb745c6a4910dfe276eda05629126422d70dc3d9490cb79cd25625cbb96b300e11c0ed68a2ac10f87322129494468999ac29a7b2f1871a6d06fa4029903bdc441c7bc6af879fa\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 3fd9709bd5e962443646b263ec4869daa6faeec59433cce2f237fdd1a1c6c4373bb770bc4172cb2374d937abadcd12abde5287705ba3b7c76aaa36e92c73e44b0dc629514ba6c24ce82daf867c21300d573970877b588c1292e2dfa8e9eb6dda466bd64c1f484e0a40fa25885f8cd3685de748df58e2fe3203451421b3aa0cedd45559e2c723747fb4d63c42ff078479b52ef98db0ad558def856f23ed9093ff8e7a36b475c66993ee13ca6ec2ab8d27d9021b5195cfe57c0d48fc51bf9237a7876d693bbb27cfd1668306bf5aaac676aa6a4095c8691d77b75a3e98725d2cf80a3136f64d2b7d11c26735f98b3f49000a67cbb37ed39a985cc3cb3af3ffe4ef43820b4bc9db22d2c5d7ec74b52b7b2ac1dcedca614265dddf30066fccc217043dcb37c1d40a370e6039a1490f41830be87766415dc6f0423e3b979e90f4ec0cc738ec11c03cec9bfe7cb1bca84c9086e0824cdcb55fcde0df40ba1fa4acaa51d2c548a58cffa69b14fc71f34f36c457989da718f9ab2ed5f428337bcd7211ea982879593724b8ad8a347bf1a8b260bf56dfe0994e2104c00d5cc1f6fadcff927b4e12ce53a2b784430a5b55ad52a1927c6a6c949fad1fa121b0061fc838e6923ec22734c94758b3d1ed033ca1f5c3235fbf79fddb61618b620b76bacd320ffc20e0110c8e106ef1fc8ba46f4cd42786a689c1ed80df66dde2c8f76716c5cbf7\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 0e698f7add604508b556c6f9a02cb65d3c8b494e68d440fdce02375781c264e4b0120bb5a417c1f1b47e355dc68821a5d2a72bd3bd5424e1f9671a1267c7672a411e1e6412998a1ef45f80d96a11e50a6585696389250f8f84dfcd8c9e357fc35edc022084ba99eae2af55885fb145db13636a81a5f7ea52eef79c9268cf98cdf43f1a47674daee33cb1df5f7a09f875c65f7f9978442827bbc156ced42e564070ab44d551bebc7d218617a9d1ec4a5f48619e5987629060700bc188ef8b90a48137f5b31eef4710d5ee7561691832a0af77df933bbaff392be3b2b598b57acb38240a5b204ff9b28b0a52972f278919a8c14d01deb6447fc78e9659c32ac9e68706c1b16f8db3303290ee0c94b5c33db127e741f6980d1868a91571ac2d72e3a174dd3eb417f3739ad61c68110b0ce8ec78cae6b20cc59a6e7a07a8ca7cb37214105f1cd04447127144882dc3cc7b86fbce2827b9b756deac3f911e11a35599db509cca6f41e2b718a850befb7401772a5b3453dfdcf99b1781f9f41411e1f67d22dccf2ac2e0db7b524feac72ea2029cc8ae2ff834ae17031d4e052652ad957593ca6a042501dab1a8b000d6499d7a79741b0b73ebbf497023e6854753cce30a43fd01cb3db662c9e06da25e17122733987cc156cebeae44d67f3c0c5abe680fe105d2b8b501960f75bfb2397130f1d3ac0c5c13aee841f3e5c0aca621300e\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 06956b9875fd5b4f7e0bc252a1fb560303d1d5eab0b676b6aa555b0bfa9be63100357c74a05624f9babbbe980a94b5e68b37202082d6ae713b4dfd0a7689ad5ed3ff70e9aafba45f7e905ac6b9aa9e4717969065d51c003d23bad8f2c821e709746ef58a9fffee3a99dc782811b8af30501d28d6865d0f52899df3c08b2254b199faa6402ff9cbab16b168c801bda906e537f01d9a541bebd77f112947480f1d7d470add94411e0598e7f0895b1ede3ba2f1b907ed04b10ed415fc3880043871677624ca0b74ade7f18f6e01bedc0d1931986e29e7eb0e7e2514742f828879cc8668d110f4bb940d1f7573835a504ba6021d6075cecbb5a1e4e908a418f56b1cc7edc77957305521534fe00e919d6cd03ff0a3b9416e44fdf31cedbe02b47932a6d95b702418ec6fe6e3e69ce5cbab745bec15a6122b5e74dc32bf7ad2", + "b984f25bf4018d4b62fe92b1010558024b28009a72cc4f72412a559d84559b97d12c549cc569f2ce4ec25a31567930cf85caa4cdd34117e775f48750b6b5c70d819b9e6e5579009179eb8fdf779bb8b898686f03617501d9293ecaa5df479b046819706d73a9b3afa0ed6292aa30504b65ab73aba5c1acf8485472bceea7256540a00e6c4624623286c9e4847172881b091f40e520e0a6d1280cba14abd774eb0db338f76a0d86ceaa5df7ce4fed554b890fec7f32874798265d1838a590be8634c217\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 7afebee544075bd481ae14685a0fd2c391eca22ac5dc5379a2dfcf9cfaa21ff2cbc334c7ee489572c9cf30f34fef16457dd60f391f85c304779482bfe2ddfe8573345fb16860f60e3489f4314f971d169e8a4ebb910e05013965384830750e6d82e4dda7b366ee11372e638de2dbbab1c1cbb3439f45e57a8863bd7abe7c53d61f050c0a52b63bacf5e92fe47e3e7448f16ddf73d2576bd222ec6466572a134e54921ba1a7c29b6c6e7049ca08172e1d55cda0bcaabc7f6a38e17033d92b5d81e5c6c45fe117230fbdcb11541f019afca47ee5132d9368903ac946e5522b636fbd302c9013f0e5cd2acae07cf7e806fe7e96ed3390f214769ffe7a78fb76879820990ccf7799991695286944b5416aaa09e85fce29ac1360f055e7ff698a11c40de0be6c5d5d39b8e969552da090274fb2f996a0b7baf57d75e63669efd5113667f732a91aefe57c9fc18022ec83d1865f858c74a397806588c3849a30235749bdd7dbdd3f3d8debaa92d4c91cbde08fbd929073bc9d9d5855614415eb54ca518dc2b91ed1b90c0d2ec27a149d18f6ea006abca2cbccf1fdd9c03d46dab827e9cf420ffdc9109dd8505a0db745312d19bc3bb6896f99cd9ca124bc4ed4edfcfb972abd98b1fe606662ccd77471a35b8ae3f405d688cc8c6b2e27399fdc89d189b8aeb67031138c7168afdef50b9b2bf9c23191fd19203ba4e9d0b4629e5a0dd4\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 806cbf33b9b7c058714403ea504babd8ac78416b0a3e77b4f821e6fe2161f86104703f2ecf9e747be60512aae660fe8f7c1dbacdde77b421172b5e68aec78d7646ae8e849fdc878b8dee55947e58deb80235f1d79999dedfb2967e52b2554350ed7954b21710c96537d58ee2ffb4f3310e77d8663fd6b1ff92efb0fbd5658d757c887b92c84f8d79c17bcc498543a38e97219029343f59eb0d67b0f16e80bf74d50361798999b7783f92575d3ae4fe8ad6efb51346fea20e6c0beaeea2f56af5d073dc45878e6e975bbab9632d38f84da8296165320652c4fdeaaeb8cf17e5a3ba72aea4e46d91008de112144d770ad7ce78ee230b296cb2df5b4a1585c6346566ba8963648750c3744a17de3dad45fad71702bc0f0396969cd6ffe6368b6274418d23b56de452f14894db50720f657bf2e3700635cd1e1fd80fc61de45297fb7f180d02d4563edd24e757c461987a06ec07638bda0f362a5b3ca2ca1d7272d6039d4cf161e2cadbbc755ba3d19157d4fbf320845e9c7242265807add4b18f5952229e4dad0d1eaa5d225d4d1aea144e83254e6c9690272e3312995ab337d673a285707fee499e72701a5283e0cf5802c49d07a113383d65e3496de37b3dbbfdec2b90df48490bd9e9dc21ae294144759434a7183c9c8767e0d8efcae2a6bd1bc794781f8df000431664256b0d1e3413824317eac6db977937e47f2e401a7c70\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 4c9e5d015a27bbbdffff3fefa717015004f1daa497060fa5d67660621ae82c148dd128cf2c3b6a2212ee74303ede9736327d56b79bd967dbe4593ec445d551582f0094e4d6573f1425325778b1a9720949d4a67ad98019839314daac19044472fbb463e576f5164ea0815b013773ab8abaf57d895316e6b7baa4fea6168b2d5f622f88ea37612b75417016ed92defab4de906951df472ad10700b11ea13f8f43ebe8bc27a944572ac4435e8f03772ac427bb794bffc52cb26bd7f058750a991d2bfcb5eaa205a1ed321487e7a2d80157f6d394ea1fb4f51ae546b8f8189c41415cd6a983fc363422ee0cd1bc9c6b0e3f5171fac51406af6b93f47a9449c0ba274584c8332d6253aa967690e59671591f9cc783d045f8cd2e53ae695d2b43c6dbef08398f17cb53faffa1ee45475879bd6b1763c361af445175723c6fc55f1dd2f108d51f9e2249e6b1c0b11e8a1134dc4aa348942ca2818df11a84be7ef9056b57d0701e41373909b0b7f2acbbec997c20f9c4c5b6fb373396608f8e2cbf4d246b5ab7bef83eac4061caef51895ad856839c8b776522ad217f8cdf54311720c28da64ab5d9a339ca82d43ba98eac57b8532c5606dc6d1a9c7fcb20dab617ec74984246b326ddf2596326267dd90cddd41586ec2279a25c2798fafb68684df90036f3bbab85ccef8d50209fb317af04825ea69c844b613d0f8388db9c2cef819c\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 1b4fa86e9437a740396f01dfc719b300bc30013ef20702a886018f73ff6009e20b0aea169d6c8d3f8e5b39938edb137e2118fadf6c6b66a352880d08fd59d0db8e5682214fd2344a67ce6dce96e4e7d0bca67211498b3cb2688dc312c97b051bfdcb6e950c19edad779d41df34888a89ab67e9ed352890a8e29a9c9009d0c22facf3f18351faa3ebbbc617be26ed26787208e8c6028534155fe983e8a856addecde394e7eb182177e32179582f3eefa06f8db14915f65053e7e5a17575551774be4848c00c8d781984e6e421df5d2e2cf6a59fd7049c2a2a299bf1fbbe1aec676ecc30e2e20656410d98eacabaa9de1c216f16363097e81b49bb0783a611ab32dd19eaf4dea1f97c4ba1204cef5f6dc1f1b20ec8ae246c3ebcce57d61d0dcd13ac4765ff8f0f36c0f2e7249b85b9178ccb454a4aaef2c9a5d05bee8e1464404036f4e17fa1c6dc31aa622f4e130ee6c447ee85d78852b424bbfe55330265d2f013915edf736da1a3871d3c62df5a1b0007306706286fa6c3897eea636fb2de3f4cb6a0f3c23294a4831d388b4ddd0fdff21461a8cd27b84da0a12d1e35405e2726071c7a0ac8523d19254a15296737a8a08630a767aabe2ea6eeac27271479e1fca1ca2b13ebfe8341c52411abd3056d00947f68b2434d94129a0f604b3fc76734d32e5ea65078af02330543d4e7f728988506095925a9c215f1b8ee0e734ec4\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 5b2d1405cd372618413fccf1492dda7ddd2aba5e48f1f0396cd56e4f51a8728c67d3e127839b8fd44871165e2b0ef25f31e612fee9614f5ad6a1112f20e9283ca7906eb93cbe75290d015bc90957e570324689e466ff8822863178fccd491e5aaf34b0e16bf00986abd15e2117523643761f45eecbd7beed4d59fc8be32473872f2cbc91b17410a35d55badc3bfb746cea5f725863dcbc6aedd0228f56e94f5021ccfbd522c5d25f6b8ec86ba5c15f784b4d819e91ac622edc774cb4863844ae120c35e5fe78ec777bd815b07df996ceb679d74141684358aa50f96c47940157aed461e465d6aafd16b1e22c85e93336f93cbecfa9cd113e72af41012374a8bc143f95004705925b35f1724369000ccc3c07ec572dbcfe36a0d29cfe99b9fb5d6fc620864a717b8556c931e05d32ee93674c092025cf01f37e36ec21d34b9631b3ce3fa40893376abfdaa2f7aad26a60817106651660948b8ca568128348534c82778af0c91bc6204ce6b6bcba682146244903d0c6ec12130005c97d390977f71ed0a3acb9fe5c69b62db6ecc0baa94d608a4c95a62f98ca67f9d4583cc96c98cedff1f563ce9254d4e4cc88d127d74b7f9e6e59bd83a03ad3c720cc687e102cde5bdff8bfa0b4969bf037126b2eabeaf4d67bbd8f19449ac1af10442c5976f0d99e57070d6fafd0c64a25ec8fbc380cb71ef952f120530f3940227d0de6c8c1\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 0ecfdc9e8f66eb0091fd4ba2c702c3be35664feb4a8f2cb6612b3aa6585180c8dd1cb81956b0ff84dd7463a00d007bd26bd4132f29fc540b8f6fd2a29806fcebb167ce31cfe9d307558deb60db8e68f6c22fc153ad979686e0bc82bc199500a1a71ceae7b3cced4141c95dfd54fe0d8af15c0fa93e416525892d30ea6890ea451c0425db2ad2437f6dd77d0487fafb966f2d82f6752456f8604a66ea9367c7fd5e7dae8e4a8237da2cbadc97814fe05be3fb8da7a8263151451300e8f6ac051d1f2757920d59d5138181c41649b786f8957246a3459a299177f5e895d47d1156bdb2dde021b20a1e6153aff898fbdbb17824036cb0c0965ab508f1a323044fcaa8bb7955ca9188aa42ba3807c595ad27632b7b381a219cf162d0a80d56f58c7b5089a167dd0766e6cd77f5a1af2945a1930752b46a3c729233f6d849a6aea1dd13ed3a2e7a91ee0b8bd00bcf4c5888542fea02792367d42a9a675d3b3c973c8f1497811d6fe27a8bd82bbe5b8b4abfb39cac4c2265da619a01fb5847e5a4fd423674b2d3949d262095805555597e4930a2895bac40b8e18c711223ae7b2ce23dd556ac179c0124a6f1ac327807e8540b1497e1c72499757468b1ea8c39e8e9b9a5058db4340846c410ccb4dd6c477484ef3c96b183b6586fa79054b06ff22475dd6fa7aa08bb6bc3451dff8de4457523a4c0fd832007396ecff76b16ad19017b\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 97b76bef18ef7d36234435eb59cb4e7c93d3820b825122b19c2e0824f255cca6486aff6ed6f2cba7603e81e17c5839678b6e498e41c0959ec95415ecc8795a091655790cdd335ac12fc7be271587433ae2b8cec08d2375c16a02afca54b4a68fdb63e3645678977ecb5f05696fa668ee06a2e390e48057999f018e98ef9fad938b124d86bd4a4739282f5273d198339faadf0d6488e4b6a968ac25d7a0ca88ea7cf8aff0de54509970fee9bf9914773bf247b622f7471d0df722ee5e7fdafd18c33ad92c6673d464c9e1f0de460c106d4a54be1c7538248f65004eb7ca94aabffc4f37cce9f4e628fde81a3d8300e0ee486b52555c94d4182e5e7cd1eb6328f872f9b1528d0e1337d20bc96cae3b5744ae88db90bd9f3a5cb3ba6d64e949e9b64d84c47ec5f5b7af02b08fd06a820b4df22b808203d0f9e327ab64a54282a30ad12abddd03b9beb83b8647897c52a889e7039632fc63b40c3cd5a8554f0dc96e3727fa24948d97cf0ea2644f888129cc6a450840cc526b9bc9446430393d571e4081a10e6fae856e15ea97b5852ccb253517bd8db2ceedf23e50e51c1b3500919e0e4c915a3ef3b75c862290bc0b6dfd88129195ef4fb4b16837a0064c60513246f1d4ac068754aca0f59aa847ab5c7086ef65d371075ed4caf0345bb22a69163089d683465d48d27cff4d5a200a1cc93e54bea0033b6082d52cdec5726c9bb9\n\n# tcId = 212\n# truncated digest\nmsg", + " = 313233343030\nresult = invalid\nsig = 50bd7b6ee4aea6da1a7e92a2439817dd3e521030d55ffb99889681a9e938f9ff0fc50c4a329ce439f862b8c12744fd565f0f18063bc27357faee33bcaf24887a72f15851de6c014664501954ad7e27cadfa2a1c852bbdf212928807be0185ef51d11175195e8621dabf5d29a58cfa28d96a1aac79a60bf83dbf6508fe891177f521388e13ffef6e870614a35c60253c5717020d6e91f860c3f447f038d65891cd783d06095b615bf1016b0d73183bf417521bb05d007f6fc23ee5c46e9e43307b0e2ef35bab3d7c86601c54cdd7cf9d495a4a514a0e804e084f53235ba8b7050fcea6c858eb67c17f45f1baa9f4afb7d7cc0c0df4fff8301ff4cc3a5754ac6a9c2956e78ec3ed3faba10994621b8474982809418124f8392a123abf92d8bdb717b94e8dbe87fa620c1c8f597401ee7f3087cd1765d9bc008db8bc017fa151860c9280984db887cc74c9429b503413b6c2d29765a3bb04c70dad254d598104becffc37173c892048c490df48addf5970193f748eb51c5536692e61c21f6f33f5a4728455ca916e3d707053b6d781535ac3c75bd33a1f6048d3632b092fced4f4214a6e060aaf0e6fcb5153f1f65cd3e62d65842e8587b378c0310d9fa6197f1981adcefb5b33936763945704df6b871d7026a3a2d011e43aec8651020b01902168c216ccfe367edb111184ac012abff7dc1a188fdfe5d8e865db27fd9ce4a4af5\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 8aa39e382cd8607c148606cb9693ec37591bf4f663b0ac40892656050e57dd9442cbfbf34d1b45d6e6b2ba24fb5910c6521627c45a580af8b26bc2c4dc411794a0115d11588fe7c24324661ad04023e8700f0958bd700e7319685e5e349497037a9dff809d5d8a2b89b62bb1e7530f35f5024ea927a4ad4c40ae09736fccdd967d0e59dba17af33d803061e4349e19066d92ecfc327cd660fd7dbf2863a1fb6685b5a7b9386c232fb7df96fee7244f37a5df24e4a039931a41cee3763919544bb1bb6d14e2adfb88607ab80fc0e434553a5e4c2186064a9c0d844571644977da31d6e5bb70d1ea319a6cd270983d22d73e226f65a5a5bc0c804272ebbc4553cf9666bd0985a97ddf676788d09889b2d323241c6fac07e13b7440554734d2c0aee1f3b882085f3a266b452ed2fb69d518304c5289b2c2a6484ab93f8a540e6d1f423aef15a8441485e5768cd0e9f47cbebdb85d7dcf045a5d2714f0d422fa2ff6a77325d5fddfe194eff9f03fb02a3914096a9078d0d954e981e7542c975fcf43503d2aa806bce49b2c6cdc971b290b3b2fe45b3e0b6c106cd6fe0e7003103fd2324665f800068f0a8ce635b6aa3de021ae52b2cf33cefd54b9e874a0665ef31fb8584ef80df6eeca5e1c323feeb36d804266cf2193c9a660efc6c791d9f571c22de39296deed36f10f59acb93b1558a15d5da024574a1a5c190ea80de8d9cc97\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = bde28951ec3257efc054f48bb34c43fa230009131244f0a909bbbb387527e8251d9594d22e435db30fa55c01c43421dd51ab38dcbc23cee280180d74b6a9c1c30fdcbca02070ce3e0868419d9f28b04dcb1013734bfe9678f7c16f156f382596d9561fc32fa8b9de8b7b1bbc0047a4a2deac7add9a0736f0b0546956291d231d39b53d19e533d99924c8237df0ff91bd74a5131f4f361d7e541083dd4f3d711ce4ec9aa869a082e4d93ac9cec840cd00690629d7aa30454991a18d8d342fd582d8054eb66c6bc41df3e7c98b47b50ef7d1955215d5ca27f80d2b919a75c25f6c18bf427caaf3431d64e27969b6002cf125758316378fe05a26e3b2cd0da2f86016a5a9a8587577463592ae0c02f95c0b099f2bb0ac2143a13b9131ba86af8b32414d33c63d4cc281d5b1b442a68033dbdb445591ab88d33d184b4d87e84ea09fc047261f6cdef18462ea8392ef9f8593b71acbcea15f81fa68c9418ef37720c8077d7384f9544f85a519614a6e900f178f57535761cb388f60fd15eff8ab321f49bc152626c2749bc3033f46bdc20e853e2b5d98297c4f74d9b0b632d0bd1b6b64346cb6704afcb8afe94979caba4f56713c4c966ceee9bc0d7d1f248bb55dca1c58b55fd04422c8f2c390238c1fa4778d6f31b54a3ffe7654fadd8bcb14540333ca3aee93184ea1022b355a902373d7de9b60f3785465668bb0ab7a2542bd86\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = c996f9bc755208b9231ff74c7eb386572fae494aa1ef14d906947d8e392a8c9729df0875788716010cc0b65c2e7fc445425a3e0f3f268a981886ea82fa6638eeb399b13e382c699c9c2120190315dfbcabd96c64cc65251cadc8eaa344fd48bfb139a7f3b84d0b9ba2e8ba730807e8f39035672f4fcc6e16959e77b33457881af75f658ad3493dc8cc10e8ebeee25f6ab0c435b6608fa1754ce3610a729a8f620ab5007fe95866feeab912deaca144b8dcfc682bafd0d766372d37ca4f78ce57bdb180079f577ba2a8b38754d7849179df6fb76c26fb6e744d2ae5bc1ec622eadc77dc58789e691160f369e02c1490316a3236dd8938bb17627e9a2e0a6450ba6617b65d068ca22c3e2fd32c94a1edf25d05231dfa1848a79959f327ca2eb2a5945f3c6520f6fbee14f4271e22b47c53879f1e968979f08232619aaa82e5477692edf1df76ce5c7588bfcecd32986360ee77ff918d34b7fa81df9d9630cfbbe9e789382679ab360c9623a414cb8472ea1bb85184099a66e53074d35d8c6bfd8a7e2ab60fde351d253a69f5f75c103a43457024f2500c0175f09af86694e278f6d7c967445195c1094d93b5bc1d3871a673ba4038e59ab4e4a3e034b1ce2385ede252e6ca5d8b40785fe3c0f9fc02071db80e97deff27dff9d9b96679ef5c25e8e68d1ad5c17b1e35ee054d7a3e7e9bc8fb97b68918979741f8d73bf75ba910f0\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = b5fdeed7f0f69e4c0c2aeb07d36e868c827d2e7eccf409a77ee8bdb810d2dedf337dfbbf723bcf9411c5357650f8e92ca9189ed821dd2baddab466084d348b0580b19acb9dc7346739a314846aaa59d5c28e3120621b961b5d0b0c1d4de49739cd95eed627738cc1e4512881568e41ee94a77b9b0ae19c7c4f07bda6900c010a5e10ac9f8d110f2edf368669002d2585b1394aff0687e98ebb7e88a8fb1d950bd563e77c8c9852faaf941e17405c1d7f12a51e8ac338f5c0d6a605ed2445814c14ee949a781c65d318cf2e46064ed0eb8cfe68fbb0970115aace71722b6c5649017125685a79ea175c30d1d0ada039d453a56c59f4d01333948e769580db290c271c15e5800706db6b5ab775822b293be7c62c647f42feb2effc270d50accf866dc1b19616e7b2d7c5c91e298df86044df61f00ac48ebe2957258ad7d9f4d69266627a0aa7acce8350bcdd2d139a0e8a641d38b85070ee7a909ea71d3d10f9108324a5ba8288137b322367d973e5a6a8a8a12c2442eb93879bb4b3b3495960a4b704f7dab9690c44528d2bd442cf2d597c1ed9681f9352077bfe6177b3ecb157177cc572db7081113e45750d8850314a49e7fc38c31b4cd79709161b87d1f31280f496f07d39804d8b638819d250a5755b00440c91be15114e1244bdd8e5a783a61da98688af5781cff347fea61445580103bcd75422d43bcd77177c7ea0b554\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 8682d5bac51bb32bf283b8cab1172d6e8054dbfc672de6f35f33a9f7b3f0662fe19ec01a74d5cbe6d90351843e2b129d0ce30884fdbdcfc962d2721fec5b3b7f6a9db4a95b13def111c737cfae72d13aef4d0ea9c29181891505a0d28c5c8853ce5c37476654703ea2e7c68ed52591c182bc051b5d837ef3be064901be454967be52f9c7d406b7409e93308b74a826d3d1e6aedd8aba3f5f971824784167df53d042781b7c2d3cac29428c7da1fbc451680cc211517f9175ff1b2c00f819916d6d25581542c8f05479aacfc245e5894763db8e79849d3e2dd8d7178a38cd4cb7b03436c150c467540dfcdd001d6c8994b2f8b332705b2b5ae0c841708c83dadc7d647ae15e547403d689a00a6bd4de8602633443e0b7edf060bb7b529e0afeb1b4171f70a943a14f69c59720b4b5ae59313325685c102d992645fd23af12f3b8f8de79399cc6c80f9a0c006c316ff7a6963a1f8ef58a67d107e5b49fd8d7079bd45f23ef67f6a83127da157f54fef9dc01415a6cf7a957f5ffa15457a1a8bf831273f48f927ba8bde79da623a8a2784e7d8950c5fcbeef5868311acbb793cdfa54c702209073ad8599c4c74b31ce3b662399789febb36d922d77cddf63c1de3a6aba21d6d8ed54a1b48f48955602d0f6a4f5eb5546131561809236f0c71b8374290106b893ab70f6fec1fbc3bb6ef5e6c0263a7c8cd90c289968671744e853d7\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 088bef646bbe07ef0c2d8b191ba0b36420a35ca1a85f222bd9622af778497ec8e489fe00f0b7b236e7a594ac83963d8f07079e97397b8b973402225215d2fab8ddfbc11ab3de487fbf9fb704a5e0cd1191acfdd61031e72ab931407029a9fdf519de6fd39e61f89c6f8773b588b1645ba193de9c44cf9e237c4aab05767ac6b13b125b39b9e303d175f38952d536cd1f0a4aa92872fe6bbf630414bee94a824f063dac6238f846ff829ea4dac1ac46037ab115aad3fe76c58c28bfd15a0f43b445e0d2ca02f7a886ca123fb19ee6b9685b4a704796e35c2e05c3bdd7106efde0a2fc3f478fb734b39e1f6fe6507d8804d8067dc57a02f6687a5efa85168131db331b1b426a0f86a6c2581cb3101b1baa35e24c2fc5d8127ad8c749cfcb62e94f0bd1c68341cc9c680aa2a067d242b1085cc6724d5411e1e71fd0747b2a17408371740b2c95f6956385936ab4322c977d95d03dc320629bd8ac9326169c073c2c1a87f4e36bda5546766c2d8a1f6599e20aac010d447458b84f5160e186861096f035f28c44cfa6e6a4565ee25b8f1a2868fdc079e1e93beeaa0c2da15adbea1af2f4de54b4015218420e309c330476bca71e303bb2910edec339ffe7f9048d16d98c0e3e6f4c582c50fdcc85c54e11b72542ca7b1fe4507095b0fba9cabfe5ff9596ade9efddafe266d7a542ea8549bba6c52910a76ccdf5ce296271380ef6b3\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = b363ab557c443634934971ec7a90537c3243f1c40aa765b76f02883c4bff89d32bd27565e4a34ad1fcc36ad6d657df085c19f3ea0c428dbbbb0def2762312e4e3917d658d7a7e0fc7ed4b073df80ac671fd4106bce4ddd34939b2c23c205e9838123c95a0fc6d3ed72918c09d15b93aa856b3d1a736fab56ce548f947d99634834049e6f9594e705ba037efcb6dfa46f738f49ef631678f8366897b261edbecd29feb13ebdb27dbeb95d432218dadaea3c313547fc5f938c3ddcd6216d6250441e0d89d1a58a0d736ea9ea33b63bb", + "70ae6745a33f8923e6c7c4c665f324030ace94af922e1eaada9b641091799e04cb3b9a3a7f235ea915a955ca0be2679a00cc539580ff76fd66272e8d2fe4f9bf2f32fced7538edf0c703a0ac09c8ca909c5bb2585130326a44a172dae07e21cf10b2358f1cef04bc4a7aff332493fbe409e634a9b370423368eb2de662258d1f74ea79c7962e450377236c3f5a4031c0a8856b533608dc23fdfa65ead64a90c1e0e00c2900bcb4df00b0305a8ef7f244e4a1a8e6283225b26cd6a537de85d0b634937926b4ee5cd4b41ef67f3c6a91e60a7eb319c163c6d48cae6c32ad6015eebc85dfac2e34748b184d930d6dca11058eecb01c64f741d53e1955c1e4d8eaf8671f88b0b2b52c1b6b9571be73c8d8e42e38e5c665cc832ff9b321ccf63db49e6026db0837789e355a4aebecd473df6344b\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 7af72677251061769f1084ad9ae01faaf771b1287ac350f1f11fa2ad41a416e464cbc415825852aad2717f92481b2027ffd72a8c5de6e0fbb682d386d19f74305ff18ea65c8b46f46d4a1ec0df6dac7b73896072efd7b9ccf83d54d367dc27379e058aafa16bc42b734b0257cef0b2443f5820743d855130cb62a0fb81955cd477354ad5093bf370e22c083c28c4dee5ec0001d83f05ebe069e1de81703c8837dc34638ebfbc9111c60716f83b9603f60a9041782b360cbcbfdeaeeda3459072ec76206305fcc8182c30c76a1dd2376be109d3e95c0a37db6fe76c4f777f3e674e8fafdef17685832db568728cc1cb16acebe584d19d86317706144f92bd9a3557dbcc020c0582916d4d26d5464f4bbbb14e2cbd828700249d9439ce634bc3e73f483027a37d26fd01aff3e5a7eaa7f109be43cf008f74f7517b96620c1a2e490bb950485af2f9f215c05ec3c3dd8f8b40646a5e47691cca0185f3923f1e836a8db77155164a335a8cb4bd9cfdbac013b895e7de340419c4ca884e6c39eecc2fc420babfdddb06669f511559ef64ad9a1f54198b82810a9e35c30bc3e9b7ea1594e372d1c29584cb6af71444b07d4099d027bfeb42dda594790dade61f47b00019f78f6fe1408088018c5ff3a6d3334173379dc918f3939330de53de5272e6db98f15eb5d78d33c2ddf485c27e34279732ff82ed2230be48de068046fc25d56b\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 6364ba6ae98bc935690023d9df5f4bcda28e09e344719597ee429ae66f4271dc0420c366c2ee339a1964d9794cf5f5c8f1b823639088a0a7a1bc553edb8db695ac74e8498de5cd34a1d95248b05de56da0878d23f646072ebc37075a4c625f721149104578213dea116b26bf726ed2550b451fb893fb90bfd6963f3298f6c10629d42584dff7c8dc7d5060b52f93492c8dffb71cd3b55756b93ac27569acb2602dbff71a95ce74cafe6ef5759dcb85949c142384b4f15b059070dbc0511734ed977ad70bbe1dc2a45dc724e8d709559c975a731b619e5ff9737db0c7fa1c77fde76a63334e8fda761531d35d292428b199a5f2e08cd4ea2a37d5b2bf47b68fc18f0ea0c6b5f903f10e597f4c768124668ed832f9d6a8fd17c8bbfd352685196cf7b7a8f6b6c55aa4b1fb0fc516bf9b618ba23661d49fb70a4e0827b9439f7786fc29132752e258261ed8f6e2a06a869d85e2e48489114b636558edefeb1ad6de98a21125e1f2401cb20e76496037d801d7cdaff0fb5cd3c817efc7a67a30fab316593e9a6d487115a82ff32ca64eb79483ca337dac18e8b17f6f998bcc5bfafef937fb1233fcc06a2f151982a27ac27b3005569251ea6d1995dafe4f82f592dcce808882621ba245619b0a7ff4fb1a445b598a3ccd7acc072864729c5572d8a4c8c207dd7eafc9385a44e6a6e07b5a744795c74a1a789e1a3520e43eaf06640e\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 7104011b21345d72d2c8b9264b8841db3db436ed2b1d4943596a756144626de1663a5ff4f294c3bdadff4998a127c29522c63c44d8ae7af49a0e6715551a2a7da73bf69866ffe55bd20a9b2620b813b21d404be5d2a8ec857a95d160adca91f15bb8d95f5d53aca7a2a32611b113ebfa69a3ea903fdaf5d33488394dd574ac6d1359dbc584b00218c2bf3415baec27c2286054770ac75de56936d6a0429d1b46fd9ac35dfba0ff2d23e935b970874c128970876ae0e60326d2f7f117a72e2f205bbb63d9f33bf624aedef361b5d60d295cba044a43cffc079451158812a794b516aac6f4f086059e1a1adb94504cad7b3e4f6296c14a162655e54fd68f95576782700afa51357144485cd4959cf2cbb9c2be718f39210261d90b963f8e6cc9bd94442a13f98d2bc7178ae460e749d72cb648dbb7d9966b9700efbb908f039487abc607bf88fd4e7df9a4f045f998810972e68811c1c3961556e0ec85808d3ea4093ff0e0b10bd1d066f5adb9deb852a726690bc6294fa10f83d9281edc380c0cfe5e70e6ea344ddfdc2d071c37247821ea5a290f72b2ce509406968853d6fa4b2ceb635a612486cc903c01bb76d34c19d4bc75b39150de67fbc125e7022b3774d01260c0d62e6bc6eaaa189ebb70a00b1bb9a8ba25564afe00498d541010dbcdef82a597ad313871357115f8af3de78f366c3f0d9439acdc79556c8a3be6604b\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 705f11c3f722c49b395a58285d37c52a902ec2bc72cdc0b9e62204ec960792e3948b177a869b22c7cb78c9d3cad1ff44f6dc36e6838579ec83d1af74e64fa2ac19c169860782b698845fbc670aa5af00d0fac6a9026b16c908d8c8315267f273d629551dd83327f1502036cc06767bf9a8b58ab59e88e6e3fe0ba333b3fa0125d1f6ad98b7ac9c4a3743d79382384c6e3635be841e0edf973d45d1b5431d6d71dca1a7e190e0420a423525da056872842ef724d6b33d638274c7955f4c7d873fd95e5f8d4592d70e8df33774eff3da79d70e75e1e7a72d421d2f4cc487f62bddc4679e2b55cfadf269dd04ec021bbe4ff23620c89be3083975d8879e178a375ca564aee4868a22ff1eecbe1d91d2604ed0e3bcafba52402f07799d08452edb13af44d3109c2c3f85751ea38316755adf3b2f185c6d1ae9042009fcd4de3f14db8f867ee8614c652496cbc39c309dd4fca06ee6958dba3b95ffb9381634efbcff3beb66e61cc2327e56d39cbfe158cda5039563cc263ace1c684521b2d19efa3007a3bf26e6e92f175e521165ea5eee4fbef3809d649a9959fbaa7a5a1f7ee14bef47385f45aae72a44b5282d8c993cc6a7c07cbaff3712e87b23fa0157fb40dc067f9340b1be8ca26225ec74bd5b1b224dd0662ecf70369f807b2169c6022a34e0ac09190bcb31faebd4a586ddee007e7f7a1ec41736707c1a25069068ead480\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 89bd9b3797499c01328b4c3fa56e8690d2ed46c15333ed54ddf78ce11ea1864cd68c1b6443bb299bd9f33f9ae05807c55065d09c31c79c8757772bc3febc2c6ea61521a5bbb8c7311407240461f28bffbf9bf1a7c8bf0f60df94885c92160363a8d0846f93af95790ae8f20074d1af828ee638bffdc7570ba85bfe9592d82dcfff270d233dd8478437a78546884841aa46407f97e811fefc3a097469abc3ec1185dbb4ffd7f49005ce9ba89c127de5dfc41931078696f6763f208de4db2d28fec3e0d006aa2ae1d4ab92b09d2757a4f32c966609125bd423636c4d4c547d8ef6da446fa48e108ff881dcb78a06b3868ac544df71622c5e2810f2c0b63e866c1bdbb740da83846c1c82e2126d3e5354d589837a369fd547d954925af390981c6fd54083c6e4161147884e948516b777e9c3a5656f17252c104230a54bfa58e33333f16c829d1ba73a8c3df2e6920036f1f834dc0f65846a411cb2997e8f2cbc3c2efb9e03258c52539dbc4b678742465290b271ca321c9d7198cd6269ffbfea5dcfbc7c604a377415ec29ab57b5abdc5fd3050e056d3909f935bee8c8706eb7dd362401acfb3597f20542e462257d6cd9bd76d8c87fb8e5fd1607e0fc96e8f97703e5a175ef7e7813db24d3d866b5c844cb020ee39e291993627f8a7edf1325d7f033f527c937bf3d22e28afc861b75bd94bd8b769ce96236090c0b8d5666eb76\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 6048d8149c4c3744c35b315117e983d47ac0719c8417b41e7d001af0b9dcf465db93631d7ecfd4994086409d39cfbb2b2cb08a30c69bd45ad74d63007e0853f763dd5006d1f1f9b457d5fde60fb86904b669e0f3d5379eef168dd74f0d33989c308a80fcb26b61002a81a1ddd619d5c9bbb4f9fbd7c4f99eb2d4df27e37d0d4984ec2853475cfb533b5cacce9c31d65f06d7fb06613530d942696ff427150e112be4fd06517d643e50c59ee0e5f8fc28ad2f8a220399bdaa66569492dbc1a817bf76dfd07d9d99fcd2c290a6a289e4f5030508ef4d07c77fa1f61084cd14bc3041b20d1672b3948a4de3005e3709e126c46eb1ec1f63dff00785cdb4c16cd02645a7acc1bab969625977d2037a7ad910185c4c8109dd72294d553ef8b73998c12a118c4feeb40c27fa8ff4fac98da8ecb7b5883f22e09487db871351b89d484d113d58dab0dfabe42c06fd46547588c53f5cf11088025d54f61f724623275b18d4c361ec021379f2fa50df7d2bea9efaf028d13aa5f6a024dcd93454b278790844bc42cd39af896c23a46c37f5dbbd7fb791bd8e5378d5df68ef053264710c224fe80a197c9a9338a4433f174be73c37e25af31158c5bffd71fc480514560db478553adedde31fbb65ed5d28201e3bf15750f328834e5a963d0fc2daa4949df041f54a6a196ebcb789f023084e48433820815ed7e5c5359d3a0fffdaae8b34f4\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 81fd5d22e36e8bce36644c47467559bf83c2aae87a22032922f6e0aef582e4c799b2a12ec8534183c982ff1cd97ec7410e7203c3ad426ed6a97efa158261c7d9486effed3640c469a6444a5b1e43ebf7c359b04aa37135bc51de5750519231f682c0ed6fc715d78c34bf52df4e3ccd28edd0cce4828042d3894381fb99429aa306b326bf59f030b752535914d324284ebb5073c14ce3cc1000e0d65ca90f068ddde05e2d7b22ba575b409aefbe37d110f92aeb4afb58d4d03d140f74fe04b6772b52c960bb1120d359b270f0bc926bbc21d0a42d7d8bc56c5756dbddd0b32af7fde1e8930e195874f590001fcf63968caa75bf9acf3067f22a64370ea68302bb36fcfe35b1c39f7e69bc69328ab6af1b5b67fe3f86c06dc823e34f8652a0f5e38f6965f930e3ec4abaea3e9ab3b81132a14b61357aae48bba795f585a4f87a81bcaa612ca564fffe043e663dd8469ccaa4a8f388fbf5dc498bccb23f72cbfda7a8", + "53c9c132c0ff27435a6baf40d77b7a52ad8e8ee7ed6f0d6524cdf060e3e843b538e586facd8a5f5f3dd97712ef426f229d803ac6d6ee6567ebd0ccc467b2301f567c92e1c4731a4134c18edc00c55779d7a34a6c155823320914157fe9d7226907a7750bb78f7b6b61b134c18133de7dd4357a7763f88fd3886d95d47449a6385243cde3bfb975738e96078cf8759d516b31268c0052045635ce50f8805ff0\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d4\n\n# tcId = ", + "235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 9e591980e9ec3d62e2edc3163ac8206fc09fe026a2f7e622dc5a6d02976d30ecf141295335008d91a223ee98a143541494ccf7cb06a1aa61de524fb5bb4b379a67ed2ced447c7b395c57a625f835dec6844c3b67a85aaae10e273d3902f5f30539711f98d73f86beccd798b98541a84a03ccb3379e8eff88c19c88aac7b7ea99758194ffa6660153d4f22c1252dd1b7b574e19b3492f28cc097d3ee3f30f6b88576bc6299512f9f8749e0b297295bc275ca59f8056decfca9f3980e6f8d6e07b73e1a8ae8b3847556cd67ab77b96618979ed37744be2d6bc9f2b671615f1d4c4c1b419f05036148182ad4c6375f9e3c7cb37bb75d16c4486e97c0ac5685995cd8e5d76452934b26105be9074b2f8daeb1add13c9b127dca2858e5c80e686791a6f98cd98e540bdf27d21b2dc9fc84e09561df968d73c190b3081293d666be7d991761f4722450ac249a6eb4bcdf190c214630c85243a6c5970184e257c00c5a2a18bcd20195fd041887f001e06d4a6049e210cce62356f99853f3da2522d3d63739fbb2ff315e68ab4a05ba1e29e5b93808df51aeaced52539d7b956db2f229999ac09a6d4c2ef8714ef9d4783f538559f29af9d850bf71b001f231270874fb8dc60f1d1554f60fa69cd657112530e22563fcde26c3c86137e476a2fc1d8ba4a15dda42d4d8a20fbbad7586f472b716d6ea2ee30f1c111bdbb3db8e5e2d933a8\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 23e198d582d048874ce4e6e69f5a81234ca08be1fc9cf0f7be05454997fad87da8f05c2faf7285a7a9ca7aa50f772b8175479b7bec85919162b8a7eb7cd4c1b8f0aaa64a8f371e23ec2c3428d7d83411f24bbd4b80762a75fa0e5de468a71dbe9bac382b4072241e3c7085ed2b9e72ec3779c1f70bbd0f246834f3e81ebffee13312d133e1ddaeb58b84d1ac1b441f311ee1e2c9693e300862cdf5b4a5d820dfde870da22746be0b12dfb943780c0ba928c657c54bea0d84db37fe50f0965ceab905f2ec3ff177421b11c30e846ad93212485e7f6e52d7d51af1c96f31fef174ab38cfb1b1fb5961cfadac518a6a4991ff2d561a7d8dadc5ad430c94b40c04a297012f81e6e84ca02879fd82b73744c4372ec02f141ae6c4ce75595559f3f4cc9e4b7a7a6d93636487e34938082b3fd5f09366a062484d1820586a720a9618ec18d980c969a28d74c81fe4fe7bb61986769a89716c965a7f056aff60e9175527778210eae23e53e244b973b2452f40ab375222621a89e1f5f2abfe5039708f2a659553582f760f0d264f854840d069e8c4db0246738af1697b05980c1f53a1ba4eef8e08583781c13a93d03eb19db75e71bdd0602b91908a885b41f0b8d9588d6e05796c8a6f8d220922ef9bcdb026af9bb328ac7d96d4078205ba1abf00eea45b9c260e3b55da036864bf5bc0cc2d3944fdbcc7e64539a45238bb2061210514\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 727f107d20a02c2a2e530a78fdcc8ee88816badea1204d4c6a3b116776217f86f6fce6612cacb44aa288991146675cc0907094b5f90a06f0e940c886c07b5157605102c670aa9927fd0f2222b737890d1cb905f0fe4b47e67d254e6fef0f2004be64c94ba630839199b3656abe2c6eb59e84584bb652a181a64895d52d46aaebcb46bdd5eca4655eee4c340649a49a5eed60a2d3c95762bf825f622bc48d05fd6813393d39021c0db5b2104186f5cd00b203b43ca839c192755b40a8d946d1db6b0d2d7df6ec6929e5655396d935ce9d45bd7364b1e8e2bbc316918d33caf6a08ff1c8404fb66cc679f03f9ed6c5997f72e52da5df41af58893129bccf2fe3f2ab7173fa227f24c30438e064c0c1e99d3ab9bcc929391893187b9683cc1026546b6d21c02fed28fe1c43bf1eb679faa560375d445af434fdc2794ea44fea6445a8e89ed6c14379f756070227b20cc2c0add3a6709be39680eee5efac9697f45d2122a51ee64f9ae310c6a9b85d0b300528b858581d59e59c7755a0764c59cb81d355396042cf8150c91376660bc737d33144fa7b6d7231fbd43c16a79d06de0fd18a53415acb352065cf169e82abf94a3337e6b525ddc3d25eb6516208e9f832168faf3c3a224612c9791369ba2ab85a701e8332b738bf2942cd20975d2edac2ece8568d101ab8602d58fbdf652580b5008b499aa06062bb99697c41ce8e34bb\n\n", +}; +static const size_t kLen158 = 275879; + +static const char *kData158[] = { + "# Imported from Wycheproof's rsa_signature_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 9f420516e9d063e5e2961accd80e3eb0198b10f4d64e749b5bd39a80f7356d2ca0fdbbfe5f5b2bba92da7616a83912b449e69f8ce6e35a27e9e553279d6a9317a1d07d897dddd9a8291321359c6a8a31a4ad7dbb54432bebaffbe8940e40cc875d941ecaa10196e1aa68b83e0db67e34f3937dc1dd11cc0e5b40cdb0b90ecdcad793d7279dc5b5f6cb356b805e6357baa1b3659dbbdfc9a0f042131760fe1b78202f289699e04b5c55f3ec26fa25460ce3de5aeff0b1f5c435e022e1168f9fb86147e7a8b0f11cd988d59c81c3fe74116b350e0396b1cdb2b4e0326b5c90dc384529c7f794c4c2f40958f97ea203d76a75076d5360228e7ddf166842b9165e8e\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = b4e0a273bbf6e942cb22ae5ccbfd9d843400ba451c5e086fce9b3b1f90bd892fadc54ac45b61f3b3b37aca67d835fda1b37d5bec427382be2348062716d4592c7eb5c9107cf391e1cec01c74d64dfa5cb7052f2f8e442a09d21c22ef5484cb045c25a05b3057b266335f619ea8dc43b72e9abf38c19b5d71c21b9bf2eb8b63f2fe0fa868f7dbc9deae9745adb1fc26027bf5e2770b2d250c7507faf2fa63fabc67eeada9f2ed8f724dbd99d43294e5ec11d1575101d32af1a308abb56f7f15f544204b533fbd96fd3fe9174db3bc2af67c35401cc4003bbce360a7898dc831011ff0582c0658663a8c2e7c0e7a0df7f3c8ef95175bc136c3b49eb7a65023b08f\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 9f74957ef2ec67062c5064143d096610d04af16f23189bf010f560d49bd793d619f70125dbef4edb4d4c923f8447e48a744428d8b463745d84a718d3c5592cdf6f611a735c7e04fe3f89920cc61e0113df20b93c719df7cf62013a2db3b497c033704352519dd51975eb156ee733d7bb342093bf494e6d7c8e92537adaf8b9170c0a2f0d76af847f716ecc87e8cd3545151387cafe062d5a2db83c5463b84d13b1ede8656efb3ae9509b449f4676084042b7c9091fb75476c8a866bbdbe57e125d7c64f2f7f1d4f732666bc7ac09c8e767d145f22243dd1f10943aa61b75e85256c52c522426c1dafde98af977c8538f7441ccdbb4eabff1990304c087070b12\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 257d5214d02f48bf63a6a1f2604824bef64108af97a6032d9eab48b7964642e104f13c462289fa889109274360dfedaec2ace0f5f190d2e9ba0d2d522dc763dd60fcee52d513bf9ca7c0b29de279ca8b401bc2016c10d837cca56498dd644e4d350315819767e2908c1c33b71acecd0143e2913f9eec1978a900a3326bd8bb7574521c39efa2e987327c9343b9da06b304d1e4688ef80e6c285a6dfb64b57ffbfc786f69a2a1c0948ee6781dae288089a5dcb7fcb1e53a74b828b34867b8d7fb5a0151e43076772bd53a537937f8ad6e44adcf96a18181b460b63e530edc56a773fa3adb252cfc8bb664ca560a054f374c2a03d7532ac8986377b76ad0a4f1d6\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 339b527aeec23ed9319d5c5ee671e8e92fde09932648734b1ded4eeae420e113a7ff1119686aef90c0bea5248ee1d50f5081515fba7a68a7ac8e2ba9828ebd58237d211c8212267f2a82363ffe790e3ad5282bef3842ead902cd98194d440cd1a53cc34121862034670dffd82aff9bda7f867a3893c2ba2d60cd3d5a3ae1c446c718e99bda195e8b19af734786c62908e1e18b155dbf791283c1bf3e02ce009e08415444d56f5defe78200557d513c8d93414228c4b746a10262cc4dc573da6801f624c5d99c200bd5731142e49d69f9cc9d6d914be18d09bcff4411f62bf028223ea559a41c71a970f5e0010ae487db94461a662d56e124d7b275e8266e55f0\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 6ea7297a28c575e4348878b928d6e938a2e3d77dc46a785611a64817fa0e9c8ec71728bc7e8f9eb3268aae0f3bfa23dcb73d503e0147432b4003400167ddf2f9fc8d09464e0b91a44de12c1efc8c38732e1ed87f91cebae036610c43a3b8bcd5bb4beac4f9fb5e39f193cfd4bc00d4c7a3a98d00c4efcd1bd64f260a2a957fc730df6dba68d622441901c51f5788d6c3636299ed3eaf0bc23000650ca97ed62d367a844f23649bdc23efd0349dc8d58cdbcf655aad1f9d3a21afa02930d68a2c2db68e364b0966b005c460b682717035fd43f0cb0e7008a3d841a90c0449de8d154082703313cd9abdcc836e6c1ae5b1887f75d2e4b6387e7971128790a62c00\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 5a7186589cda0f9fb081dad864032ffd26a775fb33c7dae0ac080aebdd4ab53bc3ed37cc09f0a1b1edee78f0790ce0d1b656e4a788172db08900bb1474159937ad29a7899d6bbc87c743945c798307e61141ac21542af06bc2f435a47b505b2aad2619800a97396392f141772cfa97d762c42ee8afdef27617dc8056fe75b23ede6c8f4e9abe31c8344edd2c73e5304621283021ae7003cd760c3e34caec5b4b5cc6d291cff1ea80e5b9b68c5b7b045c04714d3dc73e150eb770d3d3ed788a4ed039117881ed5cd03eb3db6e4084679e09078110630aa6895029e7a6dd19d5b77952bbb06de26c2179fb06c64d184caee0079287c7b18f5ae7843e3cd01eae28\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 54657374\nresult = acceptable\nsig = 38e80b028443d96685ed76d4574b36c43cf9722e5fbcf08bc974385454316dee326a308c935a6e612ed26ef4e470e5f3f19a223e2866a2f1c805f74c804e2184f5620c1e84f894b890be7d46420178a2a5ad97b4bd3d31db24828281587207041a96792d8ee57889c666719c769f759c2175361434b18f188de387c8c13f6fb3a7e96f1abbb6124e94fbb4c6bc1d88caf54136b8f01c9eedfd614bc35375f33277d2e71a4dc5f65254179bbe75634e9dfe05aff9e1f1d792f4e6caf88e4299ed90d212d3d7ac9bfc71a8ac85ffbf2f49f77b41d36a64bccd3fe8948054cbad480451b0ca5f7fe35b0f6c772d64b70346f469808dc0057ba1c25c6ae7ac8450e9\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 54657374\nresult = invalid\nsig = 33a82ebc17f79f56f79073afbe0ff3f984f868684c529ecfffb3bfffaf52a99bfc057b196c3faeae3cf722c386c224ac235f781d9025ff8c9dcf10c4cc7f93c1f1aa5e1db9b166a71ac7350134ae1a1e5537a67f846f8c6970c269c4b91bc59ec783b7710afbd763ae42b1125eb9d0fc28b4045071c72320448a474006eefb256bb403b30a67c253028a2a0af7e4e36e85aa70ea73541ee2694d2bbe1415b37d2210def5ec77ba23c6f5cbe31ee21e072b49313e6e18bc6d6f2ffbd6b28267a5cdda24a62edd2151bff87ea6858db5b863c13a8e2a6445d8d31fd6b3ce8fa5a31060f97545f1e04df6819648a1933b1bcfa2470bb14844963f53175f1b26b612\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 54657374\nresult = invalid\nsig = 37c62aaa10e8cb4bcce5fe466ac8688431e8ad2105dc12c6b7a0dfe8657ef3dbd027d04847c7d708c2099d7d38ca2b21aa5146ec0ffc7fd1a44c91c24689fa37475013e5b30c92c3565e3d53afa73fcf269dcf3b2bfc48a2ff026130bc008a724cd29ffc546d1aea5aeefc8cd13779b3b821d78bc7b7664fc7a89ce0273a8eed1e4a683c739005640c2edb756ea95f48d9c91d1ae9f57f24f6ce3193cedbcc52d05eb0dc8a9634a0ca8e12a446e9ac3378cfabc37b498aa4a1a9d1d3a6fb308411566f9c68063c0bc8e78621fed3a22073260aa87c76c5768c3db7f674f84d8826381fc3491f46d417a73ab88587d905d1c090e37913c99cfe29dae491841d31\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 54657374\nresult = invalid\nsig = ac3c440334308e0eef1b3c3afb42dd050c77f1bfe9f3c3c83d466a46bf708502f1866f423d52866147554a5c9f86f10c079d2bd47192dce0968e8aefd5f43a2892ad21b0bdb92be45bc380c11565ac7c01be00cb1e294048a1efb4cbb19be44fa4b542e0bbf9a47549d09e456f58ff377adafbd68ef8d86dc2d7d56c5d3be08ec6cf12c0d04bb7c64c13f08f75377ba896bece7f409d50809521b7f6496c992c90ce15a70a8f8096f8f2cbd3e575acb618c87f5632", + "4885cea1a6ded33d2f09d684f8d5a98c78f94853d74b9e6ab503918fea323e5534d3e45d51b3097e082c5da614d03a5ac422e5dcc3b764bbc02aa633a517bbe391d2662d71ab851e4eb3f5\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 65fa4957fe03c0eb8a6680ede12f009178d3ce357927c8586ae056f209e0ab0c110871fdf0b95a2ff684748beb4e5a6a73ca3c657b23bfa06d362a300f260f4d60d459a066c9f5311d634bf96ac7ee4c80ffec2fca27eca7dbd37025bae76122a1fed1914da70f2bfb6bf2e1bf3a624acf2a6377606fbf06044a21a39ccd55b2cc1f0ff184d9df95bd73942a190f30028e770139d38ef3156f64fc3eec68ed5170c41f09f110f5a0fd195cd42c4dd8e394f32d195c159c7c2b69943ea966039b20c7ca17cec610be60aaf7ecdf3511590a662b74a181fb89135604d84cf9c4d6cb6cc0b4c24f4b5e7e9e9cd969855cdb92e3b399f32cb31319ac81701d056e84\n\n# tcId = 13\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 36f62f546a36d5215548e6a770a14fc6edd4a9353ff8ed6231369cbb6598d25d86018b8cea9f1a87c150fda18c7e89b2c907f0ce485c8c321be467a97febc05dce335db88cabdb99ebc4c187a04fdc8e879487f03c2aeccb6ddaf006f0613d32b197c79b2a8cfae015909e02746fecb9ae9da3f07ee91ba70c0356984dd15d078cd0b93dd9e3c1cc03d6f255c1383e6e949e529ca4408f0f453e7e94c17e9b47f841f73dd62e5be047c44e1d9d7eee0d9f2a56bab13d4397494812793a49e8dc0d237242bf134aaead8f303226e532afd0c2e9748be08d7b7fd74f6f1806cfc4092af39d6eada4e0b6d7aa6f06592f6cd7dd26c1fcc84fdff1bf3086e8e2c81b\n\n# tcId = 14\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 6e18d86059eb2f05c0c1277abcd8d2380ea39ea0c4587ae140d2f709363eaa2b0b7f801a75fbe15aa329129c4abe43ec0fd84f552a3aff7e4de40a5943ef13cc3b2d02a1ad90309e8091d5c2c6fe3b6dc2472c94116cd9adf367e575720906a9fe41068a86c15214e3dae39ac41b84f5fb824dbf5c911c8c640254cd19910e15a6488c2a59179f271dbde468d540cb33dd5add9a864780e27a3e55c87402d9e2c0e12d70c9a41681bda6f9f337e7a26dd2ec06580e6fd9cd4db40a62002feaf5a4c93dfe05dc392b63809d4caebdcdac74a7a240260a6eb8db8dcbf25527d4297e4c6145decb0a888817b4f949fb66ee63e5cb2c2477a9373d1e30b4d71cd7c1\n\n# tcId = 15\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 61a6e5ea6b3c5241d75dbf0cb397da7cd9d5b2c23ffefa183ddd1d34b6cf116b127045f4681877fd58907c1209528a6b45266cfd5bf4e95361b9036c77fd6cc7891cb2417d081ed897ab97588dfcf975992ac9c0239aa9fc19dcf6d6d0f3e4bf72da5ab09cdd4b205b41a27e6b36dff608a638925d13e3ad7143b1ea9a2758c787a2f33790ad423749c1b79b3239d1f96fc4690b19a0b8edbeff446b148fbf39a890ed8e4a18ea09d5e50c25855e1a4a4c28c5437c906d1a9c371569936c858c29bd16e98af749edf2f048933d706068928e81ac7e219fc923f6dee8a411f40ede593468ada31e5c647d4a576ddb68a335bd50cdf7446dc722ee711b5c71ae93\n\n# tcId = 16\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 6494a47f97d18199ce0948b2ddf81e408e2d4acd58705059454b728b1be79842ca8b9e197a29347bfc02a6830aa7189ccd84469e696daed24fd3e45a403af6d38a2bf3e5e8005b9535a00a5b1520a9665676aa51a1b274a3c0270a20b86a5168e08000fc4cc60673604564f8620e9a2a2374ae148ec6fdbf7e880fb8be7bd85131a3b2cc08e85ff3270a4b433a6f58583a16e5b18eb2a093e6249e0e5e27c13e1cfc3fb8e078ede70034f52f4540f5fc69dc9124671200c5dc6961aee740d39bb5b6ea9f9325f2dc9eb85be46b998b29ed3dd9c7169d58e33efc212c9cc0b09e356e65463b9becc52e7654cb22a374832ad6d4e219e0fc5eddec8debf779031f\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 55d1cee3129381d3c8526661a5f2c9b59bef9972a8d3ecbddd3cd859db06be0971a181d9deb7a7333b3f40eab2e93a67342da7880961fa3b931b3ee94cfa5eb7cc76ca8f6f013bda5b1dff7a7d8ec7afa76fc6acb7809b411e8d77e97fd11f4d13af1033a04b949ce35efdc52e125394759df4f7658fb4c807823f80c01b74c5424744a39193c901a8b7238f77c330f0c37877cdfb493228a600dbb5694ccaf9521b0e2921cf84fb0a778d6616ea76f79d89ddb344834bb34a033f2399289c35ba4b5b70b1aa6d504db3f15cd1be6215678f01f3df03a3a38cd2f6e9d18755c484b4b4ee514c976a7a3edb9d93f475c4fcfa6fec43e6f815095d4dda75a5ec81\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 759135e8b8f94d853d92e75bed21033eaa80c88e1cfa202aeaeee96fc9dd8f5430da9baa436062c843e2a6d06801e4397c93a7643b52e4e33c298638f546be9f8b2961c0da08a172ab2a9185eec9b9b859a8b46cb240317e66469882269a53b34c9db60ba080e1831942db3ad65d3779c7205aaa366c00b6372496d71fd5cebc14b885303fb7c9e968f7d4f9f0511bac5f273608c8803db4ce582eddb0c672d579b4d1d67cb5aaa4fcaa14d744acb8124f3715bb82417ca020cb1b2a597f149364f859d5f1dc17dde4181628b96438df017e9b96b87f45d40383badf6b6a89620adf601c9c4fee15b1a868f8bf7ed6f59d1f9a960fcc1d961c8d010002e238f3\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 8fcf0a72c6fd0f9b505effcd2c074051f1d25840f8803a68f1c149dc43af6b94a114efa7ce2b399a91aba823470b9f32a70fb6631dfef593dd312801062c7f64d7c7b8724bcd36b05df16838f9e2ef209c2dfa180717d9d1bb59c10d30bdf6a0c0041ff395d4eee8a1c60af17b8152906a58786ab39840909508f7a8f3a05096e92eb57b31c07e79500091f119698bf31bd14399e122e16c3f0083d0a9a6f6413a8427dd27dd5473a9060450349f51ac265030778dbb04d4a35aa98dd72ea38a548be905717b46a1e31cc0b2c9247b7a64d26c027b7d09fdc5f2c6f3f625ecc3a5e07e37d2623b099aa776c48c66d62764def44896651c6b0ab10f1db7105f8c\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = a34534b9e1b82be8c7a70d643c85664cb3919ced9c6b6cbf470f4aa8c62194d3e287077d3dc03e9e49d9069b69a4fc2caa5c9fc0ff1f08cb9b8370d044baa4be1b5918174997d74579c791a4c9d53f0348d33b6dd9151ec11823fa765a04cf03791f9d8f89048bd702f03247e3d9ea4e9882d9c768166e60b2db47a1bd76dd8cde45933dd1e4c3fd2bd46bbb8b2fbd6a2630f9db7e09dc342a3e279927a68f3da34192d0a283e2df7530b06a42ad1680b4a33c8b4bed2a8e799ff39ce4c5853a2f9d016610e58ce819771cd0ca5cc286134fafdcf36eb6c0f198e312e0e2cf722c47487a43cf4630c0703e65f5cc23972d5c16012b0e338aa6bbaa9a6110bb7b\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 87bff62986cb2cd250de8d56fb4674c65cafd441da9dd4e42b1e7e14231519b63fa59608cd70d3ad761fdba810993ab3da3ba5d182dabefdce2c383e153df2b21c4cd4b58ea94e353d8c02bcfef4d565cda92975610207c9c30754cbe22bfe0f7cebaad0b6fe1d470d9119090adde8587d15cf27965f525d92ccb2c8778261f9d126ffdd8b90bd00acbe648979567a3ecb1fb5ceae06bbfb1df595e2155889ce62b3b47bce372a7527fd59ab5dca37378d0a90f4487690385acadea3766fa407d277ce4e76416daaeeba1591aa31dc601efd0d9e29b50ccc68d1511581b00f75de4c05d145b7ce0f74ccc509748fb1f8c636e1a56c9c412142d5c9a95efd0b8d\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 2fadb8a429803ec2956ae6012289f15f7ed8d535c07412994204ade72d2e7a5548024390e1356d432b7e68c1a8738382f5aef3cc7739f926b44f9b9905222323a97fe7b303c130eb4147a5a4c69a031bd0c459779f7c3bc00bd5ad616421d14aa90ff3f5f4f700efd19826d89c80c6c4ab4ec81ec05498bb543be74acb3f61e6e1bef48e61646ab962da08502fb092961c5fb324026a52abfd1c47b9ea76187f5134916c5dbfc18668933c2a562a02c102b6efb9ca2df40869e920e84f8e73668a73c1cea83bc8600f7dbadeb5babfa74b99a3d02794b924b01dbf087da3d8d579514647633d8d6922a59a3f5625687a4b1c3b5cc67858e9b78ebbc7adc20aa7\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 85ec33234ac05061985a24bd9e5e13de3fc8e8c246f75d85abf8021cd993f97c38ec6b73d713c6417effc7a751530feff849a5591ca0c4e6dc5bf6bf97c34bace7faa2e448bbc81e3d8551d4f82f7ed095ecdb19e91498e357909f090fd8c215f830b2741a4a4af518341c312bd6f7fef9c1b563cd4284f785430c538234f6bd3fceb2b49ab872cb481447b2d45a37d45dafad4d6de26246634b99b926e37832a8302d24b35e315f0b971cf52c60ac486460d7678152beff5369441c84ed54f16177f5ae560eacac13d7f94f14764ecd42adeaa0599a1a47e7f500e6b14e0a3b198aaa18fdc6d9141932bb28b20e71f69c173c2b841fa042a3fa0a388e164fd3\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 4d28f0c7915b1eb63badbd931675ecf29f8d69b4b2e1b1fad776fa5adbccdc17bde98029059d46b197de49e061ec57cce2cb77a63deec3c75c2cc14fc9bb4a2ac29d5f4a05e6b4ff97ecbcc26a0dce39760423740141e675b52878a83aa044f68e84d9abd0ea6bfc5e6fc3acd971af258b7b9a01079010e68e70bd7bd31a9f9bdbb70598758ba274fb8feeb8ff46a4b2331a4da03330cf55910e6ce940c1a95b6bee9adec351354774139e3b213627a6d7e8381656362b4c6f83e97f93630939d22763f0850f1b4d38a8e3ed213d2febeeb125ec03854a4b276fb59087904ffabe83cfa66c1af413af6ecde5efcbc5241d5b958425b66ccd31500ceb9b80d793\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 02d431509bae6e097fffb5e719b16a296b81fcfc9fc6a64b85b337c88049fed54971ef61e635388c2653554685e652059c769c5947af49858439d9c388a40703a016f73cf231726853f498f94a0a9a98e14e0cf8f0c8284b4d992f00c", + "bb8dde41b07679c7bb7a2b4b7b307f2edda65fe3e002c7235eb85dd2ba41483b26131c997793ed64fe92a9fa9198eead1e8506385db0c3c4dfb93b87e2cfc09d9d3b00937cfc0a35bc211cc8efa4de83745c5eb0bb28ae52a22ae4ec8712be72bcf420476fdada50b618f0e9576e3e7ad8df5a0ebab78b1bfcdcef594cb7ff56a895b5ab5e0a30f82453880d394bad6ddb92231e44aa275f945ba6220d9f226da4d0aaf\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 665e80a08c78f4c8a2768d1ba374bdd5e5101e61a594300a18a071d7c98c68cdb73acf32831ea077734e2486f1b13f76cd779a80fedbd76716fd022006a6faee19cb9789359e5b7013a59cd671a2a91c8328f4a1697e14a085c897eb45692d0bec074b400ded2820c6a5dbee2feac84cb6a37baece0ce763dfa7ca3b3fd4a82863a0eb35fcff709ca401c0bbb73f27f251b627cc442dd43eea634942bcd8bd72f1e8f192ae8dec1b7275c7739db254ced8b57332407f8a85285a190c94ea7f1c9318b7fcf67369ed23243c2454dd2ffa153ef12074a842878b38695336e8acfebf2d56d3560e43cdb039c27b207ae35f7a527b05baffc73fe76e57813b484f00\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 58bb9a11f29ec8bc8ec7bba4c056e09087fcc881d8fe8e5dc58fa74d979676a20e00468e16238d8e2a53e40b4952ae47cc857807558b12224b3ab06ae355fbbd35180e555d7d468c23c6466ae74c8003d2b1591fbd529cc479e7469f5645787b8d7baaedb089efacf7f4395cc1382a3068770530ae97729089100960f22a13d73883a3a5ce6867c77a9e833d60f8f3c79fc2f36e63cbde5a02cdb7e226f387588456b9161814abb84c638aafb44f293e19f1bd5093e36d68386e365a5ab076b64275880823bb77502924d26bf443e94e45921866c68edaf5e66b24df38155b6faa25e531eb1af900780413cf5d5d903146a9cfe9350a3a1509beb679d7b75cd6\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = ab35fb3939affc42b2ac00248105dbd3da37b59db5d489d1ab1962418e6bec3b6fb4dbc03fb47c2a64cd09fee70acd723a50402b47cc2a3411c716a1f380138511d693751e37a0bf23751488293a68382a909202b7d18dc3721521f9c8fa3554dac15b20ce5ff9638edeba6ae89afaa100cfc92f51326b82e8fea27ca216b8b953afe00d0a02c0df5ec76ac494c1ed3398144a2654570d8daebfb27dc698bb5fc3a69e7b3759c1f1c7d5e807f509185a17b642f8b24934b5efef55287dff737fe633f19e0d1af46a0b4675b300583f96a3670b1e50f1c27441b5e601b8c4cee015854d680ab544900e65f4e205e2666ac0087586012d8ae52711a9cda02ee520\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 54657374\nresult = invalid\nsig = 3f9ed26d39ea6b13377ba941923d1c55544c4ef8c9187dc6430eb1e7c8b86292e528fbc74b7876016ff3cf8014da3d85f37e975810c0a7a8996c91533567e40b0c8464de887b18c9adf84571f7703147cee96c81e5eaa61cb3c40840d21cc0a280991173d5fb1cce01514003bec10e28420ba01819ff003d9ca8658f41a6e02c3295a53613adac27ddbe959d90faa58e33c3326c4b5b6a5a015955541531fc62ea216a4dc54878b65e6a12e0fd548046e103d8dd4516bcebf008ae4d5b971e9e2eecc8379356ebf76b69943b6f0d87ccdc19036007f7c79f363ace8e85bb97c40f7b59bbeacba0325decf642cc8cb8e51efb55a7296bb23bb12a3a1b334f5ca8\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 54657374\nresult = invalid\nsig = 748e7f86340f83dfe05a19e73449b7814398c6951a649029509c3072b6ce053e6176453d9046677e4996ea9a490fd602d8a735042b29d2a17f997817c6d9600bea2d5f7d7129a361bac6b7f76df520f4971790d250fbf89df5c22bb9e7a510bb6fcbd18251fcc5b77d61128f27adb3784c9c363eedd2c0acf9fbff65c9b4c67d631c98ec6ad6ce56389420a9f7e78973e3b55c90b3c3a6b37ffaa74ced4889cf306eb75e87d4b34519a349d1b7842f81eb588c3137e80895fbb98d67fda3621c7510815a5d5ae512e6566088dc333107a3a6f4309d6dda5417bfa795c72d4e70253775afeda3940d4bedb9a094502e1bd90084cae6f66c5f0369d3ca6a00d4f0\n\n# tcId = 31\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 672bf0ea5541b809287c9e2b6a584da21271f24d58eb68cf2dca42f604bf3d62fa9d5a52ea20e234002ceda5bd919ee8ff344c8f84e2cf4d8efc511560e03f930b6533cce2ebaf14203401317fa8b0fd17807389b3c5449ba24a8a1f16d143ad06c1dc62c5c40facabe64faf0a9816d51a831b648ae9c99b465535b342085ebb1aa44ad23c08bf4dd9e0838209d4805f48cb16d9bca302d161ec3f6e66ac734f001e232c3133558c4b89c00eba40bd53c37c5b03ff6fb3f323d0b79510592141946a7a7b16abfa78ab81d886d7c4d4090bdcb782efbf0c4a76b47abb18e1fc9259cee098929a1843a04ba52704bc9be25a2b96779a2b647d3ba7c11e2a8dfe48\n\n# tcId = 32\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 94818574cddac115d352d1740c4e5581ce36f1eac658a7cc9c0fa26a1d6f5f43279c9f2af313b3e0df805ac1e24976d58aee16e2a4616cbe421e46f5263ce46e301d8c295cb8a807a9c65610b176c61ae03229fc6601cfcffcf90d53edcfe869a1bc692dcdf88ce84f23b34733f9c8046d1cb7df77f1eb29cddcd4b420dcc8761169f3c7dab4f04e2eccbc046b0b26007406dec7505a38273e3bab522a81a054241afea6b6576cb1fdab2569cfa605c0cfcea0f4665f489273b92d2fcaae21be8f2d37dc40a38d847c56c3df5a2d5cab476753c91bb4e2dfbf2bd9ded2010e202976055c78de4fb2ec3f2a6a44d6816c7cbb829c83646156941418b4f060e196\n\n# tcId = 33\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 5c54c39c0a079e7a842c8b7f5c6bc63f4b90873e1379132fc1a52fb78fe6eb46aece7f5ebeeaf2df8862622442f0a470d2a8ae252c5c5d71702033c6b5e6e983cf44ac0e818d9453b86b91b5d99a1af0fa5ed8aff718d49864c093e4cd5be4db1fd44b6ed38e58df96e70cab32fae1889e091be25eb9f15c07ad2c304e0ccb881cdbb1e45ba993b95e169358a169c70e7d0915ba34955bf20fe1df2c7aae78fb78c893d184c85a56524643dfdfc41e62539da005751409a18fb4e59d2877c6cc45a4b832fbfa8ad2880775d9fe92b6516f8458bb52cd5820710bc16ca32cd7bb3998af0299778a2dab50d62d73415294a857d92bc5bad97248e70cdacd50dd5d\n\n# tcId = 34\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 9b91890eb53272fe7542c2067a4e9295b8c7b8ddf1c9ece6a75fcde79c9af2cbcbcef38d342032b85ccff9d6c82d3cfd68a7b27a38eaa45c78a17741c230391b3df0bd79dcc3447c8717b7207fa1fd04e917b5282e3a7dad48e8f2f6d1360f6c720f9eaf1d1d59f061d71daac1548538c0a06fa65b2ac87abc9e6fed3a6e15f48422bd9c4c681fa98a27c873d7efc5c100e708d58141b60e5a691747df4036162456bb11f92f2a391170233ca1c03e1786a32fe9ab8a94246dc643a884ad59edc40e2eb873713e84816e4a7f7857126da3f063cb9a3dda0547207c426f7cc985b5a3b6374cfff51d0d542ce9f82ffc07ad24c106363ffaed12c97526394a84ff\n\n# tcId = 35\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 0f07dc8786a46a7ae2fe2bd534715044f46ad17b836b00370996258aa90bddf563b5f3e7eb1500ed0604f9380491a5a6c6c004b560b0f280a2de30d191928bf5aa0378fd6beda830beb1db8b6b1c8846079b6013cf586e384be0e1163c62b526fbf8e26992afba6ef5e5f15755ec7b5287a149b19e577e79bff6526d72616e28d921661752e8cd0e4b950d7ee9f2414e45b3069a80a2e089e46d0b3da5cc0352c07305f8dfef2e1e928e85bb76c5a0f1516383143184f66f31c69adc0b8219f11809501927744fa37d1c8cc1e2a6712d54ed66dd177714b7cbd005e6a6f83db92041b595dd934b0b19fce5db369e504fb45c9df1e645e81bef62cd4da3497e9d\n\n# tcId = 36\n# removing sequence\nmsg = 54657374\nresult = invalid\nsig = 70f9515388762b320cf84e90eb571b27eee58a43ebd4773573bffbce8b162bf17e6c0317636b211b2bc56aafa99b968ec950466ae5cd7b10d94c993dabace14b94bed501dacc0b40feb8a89586eb1a792e92115ba5430ce1183ffc6f538ca657fed3ea684a1b9d998c0d9ff004e150a0a32d20455176e8db3d96b5063a60106a7bf6c9d0baa8879ddb77d9a3037400348ed1ee4b88f8256e8e632b15b0dc2611da3a9faab929a0bd4881418d7fd8fc7760c523e1ca4cd3f25c8243b8bcdcd51e96a3840de589744bb8d655851b9cdbd8b7f2d47a57144d9c2a7ea07d49c0d141cf918a4eb1507f8a7b11cbaa28c1a35745209a5fad2bd1e66f7929fe0223d505\n\n# tcId = 37\n# removing sequence\nmsg = 54657374\nresult = invalid\nsig = 8804d661bb17ffa73e371d134984ee95e426d7c12af978d9ad00ce746db4a3bad36546709f029d2c9ed13e6d27123cb7a1954f1f65f3fa46eeb56f449ba6b5e0736e5dd2586d642711d98aa19595d9da1c4ec20953009e2711738263170b487072566558de1301e0d0253f8fc14d12c8cfb4644b50aeb3d3a9fe1a26fd3bccd72986cbaff34fc4fa38ce52e65821f169d54b78037b8ddcba141ffc72797023c802564989a20b07b9a2ba6a256647e937b1c16df2081cb61bc6e6a2ec6ca9939db91ec2ae62c4b2d0d7f61a0bf0c693165175c91b100c195f3611c3ecb797c531439655ace9aae18e53a69e66698fb593f48084117ba288a134fd0389ee0f7544\n\n# tcId = 38\n# lonely sequence tag\nmsg = 54657374\nresult = invalid\nsig = 47004cf187bd2a34c6ed89f6f8eb9f67a401a40d66a95c8cddd98fa0faa829bbfc9e62a854788e4d23015a68f098a77cc5daac7e23c6ba56167518753187a8ead68edc686c393940f77255fc8092c4c65a01aa6901c0af96830c05747791e511c8c01da4358feb38bf5507543184fe887c5821c4af048c5082bed56c7934985d86de2402b37e16a6f3e23d5a1e838992bef2a46d4fa87971f0cb01a470e185654a6b174d9bba81117e8df24b19a7be0d1f8e3906d3029b5ad4f0d8c152375dfc4fa490f9fa3a5b52fb929a7d41a84d61bbf60d80162b16334b4958ec879bbc0098962d5d3220169c8ccb338d31c664c23144cc85bc371b2d9da61a69f0b4b658\n\n# tcId = 39\n# lonely sequence tag\nmsg = 54657374\nresult = invalid\nsig = 24bc364503e9aa28177f9fe7ebda884cbe94", + "94a6b589b0db875541174cb1ceb60f514b74838a0df3bfa8e59b06e4ff83e4a4e336b41761da705b5ff9c0fb36e522cd50ead114067f58b100d6868581b69ead695a5c4b15198c5ae35d67e5181335590ec176af6eea69dce2a69e87d9f4a03f351bdad1c0c80dd1d27b75cc7bfb6acc7c25bdd87d0233ae4ab186f1b11ede86139954d9e886b910c3030d372f8900645b8e17b08e61cd64e520b882203b57723f00e96a6698fd65e7d99664351cb797ed2ed67901475169d47cd64fedfcfb6b67df5fa5d7c5ba53d65dd86d26d899df5aa6811c53a3a28fecb72df39e0eef50053d674d521acedbf6cd17ac2108\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = b6a1d94b0ebd824f6b5a95f6697af65995eb388f3ae12c87399accdc639cf5b7e71bcf436feaaf8bac9f3234d0f429ab1b0c081f71340ecd727d9b94c66fad1fa070c4b80350eeb55878ba427e4acc5762597039fe1ef92ce29aa9919607045ed76326744b0e361cefa24a24725af612b40febc4f8293d4ca9faae0d19f1f2dbb5c4f0d27f92eba41457b39f9cb2c75695834992c326d5e39f56adfbdafad08589a5d4aed79f0abd8af3e056558afca803e6d75da2379a0cc52168f88e88a2c14abff048ee8174c0e2f31854d6687b7097d0f3352fea3a02dcfcccbece2819d4b5e1c97f93857151aaef70cde099a7226fa39f89a8c92e08de354fa80744dbae\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 32fdb9a7898c2281cf10104e74adf455a4553ba47e96bcaca5671c9ed13180140cc8556d7a429319079622e352f5f364193ce54528a3d3906628fa8945b9050f1365e99a58dfbe50572dea466cd9dc96d2c773cf35c5f1e51a6d2da23a5631bf4aeff50019e1542cac38e71ad2a1580c24865c8f65217e330415df95f83f1a29a41e4a20f63ee1f06a3ab10ed2f10994291f8d7c80032adca004094dad4b2d33203c09b134dfd5ce9ae577f8b7edc7637046d5c59036362ffc283a7c297641d6d7a36a95843661266289365e021a393d80459e5c63cb71e504661c814d8cdaef3d5cdc0ea2f95be650a0e14af9fd560acee1728fc46f5253557e8eda487e4659\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 6dde567bbdcef450502b9c76daa040d2ab0cbbbc79533c5576287ceaf79aeaf587c58ce90974d555f4d7bd099abb90d61a25a6c064b58826fad6eafde247457564f8183ce79f7881bb2ceecc830c8891c35704ec66694574838c14287024eec643d7dcca4c4990b616c8fa98b0f97f914230e786a102a4e2ecb926ec89f40c69b39b54ed8890fc08edbe50f338c909b7b6c816a44010addbe65b527734e0502c59aaf8bb7e108999c540a023b60a9227ec052348b01bb1bd5ce7b7580b18f40b5f39b556bcb560ced438c84b2e8e67eeadf4837340d7c913afb7e0ed7fdbb2c58e3d9a71ccc59ebd8a63a80a8049bd9df49b164219fd87f345e1da34a929546c\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 97c4a36c30fc317a6c1f712fccbd699f3de5a7420efdabf17edfefd790b90e20afc914d7e0aa34dbabf736db460eb697abc285f029d784b2b394d689e1a383af8a51f153b4bb77e199441ce622e6d146a842244f35d5eb3d410dc78c2c85dc73c570f848063de0445871e7210207b02144f461b7105b3a74ea3caf25412eb92d1058f18e9afac51006e859da988c733293d1e64164b733936d563c4edd8e81f57b4c463934ede932cc93237bd26fa0f86c5745d804722f8b837b19e50d415889d58fbc78bfd4eb35ea5dece233638689c11d212c47a1e1bc0b733eff107ec9dcc90a7a7395e06785e75973e0d4a20dc0c562405886c9603daaa20f6763fb9f7f\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 2fbc69383978c97e1075a9d8f9ad1e01dfc6fdef216b381ae5349f005617c739e086f45ffd2cdb45318321bbe77e5a2d67fb1c6b209c81eaa2388c38b036f66575590447219b7771a92bd6c594d8190339dafaffdf2a5a8b73e0382eddb2b2f95a42fe0235042965bd530584fa9db7fafc8c14a417c84b1421c63419610ebd67d20966e1ce9406c4e938784e967ca37b9499d9df4dded8b74c55b08c6244ea8285b17d55a6c51367562563524e6a45ff7956e656a1bd46229db68398f8a0011ded00f30f6bb46c5599ea3fbffb30746b56d83b17d461b20dde2bab7303f92ad9a322e41ea9962065b9ed683f56e31a58be7177505dc35a10e6703c4628933a01\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 94087e73e94662f9f925abc756bdac96a520ee6d5c8baba1c8947ff9d7a22fe43aac67e91986890b83eac61de630aca7813578e65a2268d78dd25982b89aa7a9d693bd868acf156c9cbb70779bde1cf7fd304b040c428d7aa48f972f0ff0c24f4d2aa88b622e801a1e2011804f331e80d17b3d15f8410b8cb301c7ef4da7eef69089fbbb4aa05433d16e673171d881357f304cb4ba929a7ccb6690bbd6911f6f5fb7d570345719fc55a5129dc8e870a7083457cbaeb86c3cf51f0c5f605645fe40410055942bbe957d9911d84a1d423978b37ffc91eadba802443cae32f48f7d987eca24719f0e77d568f56726e24e3d85b1a1d13a0bcf0c72f0424650ce50c7\n\n# tcId = 46\n# appending null value to sequence\nmsg = 54657374\nresult = invalid\nsig = 46ebaddd8f38c7acc4f2874a34dbabf6596e42b8f62313d12f9e01d16cca9968d0b73a5407ac15cb3ffb232b925acad2d5b29b7ac1907e294cba0107d9b0fe46f728695f3be72df258e504771ae356ca180cae5bfce3e67b2de72f8d7d13c63772810162132a2d512c041fdfd49b2bed59942ad0aa9c11d192292f945a36f6ff267c5ddba7dbef67645efaa8e8455957dcf6723e4d1df6e5e3fd60a43bff3d1549d0c89906b4ece2a1cda030c7ad644748610182f92ae01b65e2ea9b006af277ae685c4690827091346e1f2169a7dd93a520fe4123612e8960fbfe3367583b50be4f3acaa5f07ad9705a48640e828f797d37e58fccfbc9c39b9989e7b5a5f827\n\n# tcId = 47\n# appending null value to sequence\nmsg = 54657374\nresult = invalid\nsig = a4782205277bafd94e1b611942552b9d6171a15b171f75c3d13459c6d813302941d1ff03536b76508f333ea3736dff38a0ef61dea1e83cd81433c683ad4568365617f603a13e1fcc2813b08915eb681140bf52d4f10ca4e9d95811494ff3f2ce5c27d3a6f43f21375a8bf5b70291b57b24b18a99b38132cc002cfe5396e7d3ce5bcde6fd82ccea835e1ced230effa174a1b8b02544222d9e3ef6ea13433c2f2847bce7c4c55320c849fe9a21f558d3c2205a550b4d04b3bc49f79e4f471c44d4d8a34eb674cbf5762089494ca4d7d8528d61098ddd543bdeb9556247e3821d91954bf493edd6888c1dd23a9d06c44d0faea21f146d0f1a310a8700d66b4093e5\n\n# tcId = 48\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 67fcd94d1573d0712a7da64cb211d9049b3dd043b2b17cd97662f837226379c1c94022bbd5d82d1c67597f510f15959033b63bad63fde6c6f972b60337f52aa45e34f826da9a9040ecc6c268179dd1d10794edbf5690bf834a6a26d07023ad99794e71b675a8c6b202234ae9fcdf43b04dc9c933aed66222154ba7c2fb324b6a6bf9c4eb0535807eff2016b44002a3557564559141a34719b142245fcfb3737166ed7f83227d257f5accc579d20f4fd0debbd2ebf7fe4c8680847aaf17514dea444caf74dd0fc67dd07b9067ec16093d7b21db72a82a35af2b71b0c214136af03ac411b14bdb5a9ab2b3b603becb1fd808dc36a9065c744faae07f18b8d71195\n\n# tcId = 49\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 6895daf9824474538545d9e1c7288bbc938bfa56cd6ebcd639a897f45624ea7f409c2fedb2ad09cc98143c461262f22f9646e26aad9325af0063024e29bf63b2807c41d615ea8902de10357c747b37e8264d55f48bfe8cefdfe19ac93d251634453c4a0c00dd9a0795c3195d047256abcfec964cdeb3ebd663ad29c457c307e0d05bad643a160e343b516da6a015193cbd2b28b7eeebac2f1a2156c2e62d85f4883ddef31011628d680d4d608e5074574459d6dce4bb623d059ffd39e6956f7243382165fda42cf1064a1bbad91ef5d0a0906785cb8c78ee641a3a4c9afc2030ee4188b32ef2dba42dd6ef5c86e43a9e413303c5ae978b41e74f646ae5185c35\n\n# tcId = 50\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = a6a996451e9217ea6c0ea0aa0cb6442620847d85a8c2e9e8464d929e91b5e8fae333cdb81678fb7f90285f8a4e77f6e249ba2c342cf5603df2224df31bd9fd74a244f51b639c5f0ddb85c51eae877426ea611cd8e01082e783604c38c7dfa882d3c5b4c4ae59237a9bdba51f1627dae88e9773ccb94abc6113217163ae11e6590abb26038f651335cc6dacd5db4436b1550a37dda9258919cec2c72b78c9bd4205fb3776e7e785f85518b4d2e0529903b39a49486aed55b6622465d4ca581a71c86c40ec96e2300fcd438ebd5dacaf8c585411d8978ddb8d040f4cedf48969791ed638eb5666cf9a77b0b27e1a572447e3b0005337af99d2e5dbeb96bbe06971\n\n# tcId = 51\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 4e1280bb478bb46f4e9f49a455bfa382b4231eba33ab8d7861d852d2a0aab225f08635b73c3602021c0d5aba603b09b13c4b1ecc53f702d21e225da737e87b5820d628277254ae6d244c02068f2bb0dc532e7ed04e72296340d2241f0cf508f7a96f3683614478dad9923610f9cd285d2bbfa98ba86e2aefe49a52dad162a36fa2a763ca4a09c1afd3ab86de4986ad0e29150f070dc9f5330c62d1da6c2b494f2d8d97caefdb508fd468d121a7ed36ca9c1d7612d386e2974fc12f3f701577cee82b13098410cf65fd9619151f2f69e0cbdac7d3838d94345b5d3059fdda42e527dcc2200193789b347f90a273b06106abd0f6fa79de26086751d0289ce4766d\n\n# tcId = 52\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 09691e7bb6a322e91962d6868e380fe98ced520bf556cd085fb8e8d41efe7ba220a67a13bd72c7fefed3e1d4500e055398b29dec57d0a4eaee6e1016ff7c65b837fee29962fda0d65186bd317dad959dbef96ed34e2c89ac2b5841995b2d78d14945ecf01e632c19325dc77fb879988c7ec2f6924abc8eb0a6933bf091617add696c186aff6bb811042862cabba547ee91b8000e92fcaba7edfdbd1bd03b3d6bf5c2b5d7fc77f2c0adbc398de8995e8bd1c4040a73e5490372bf75a33f111666ce9d69b0f61c9a01cc541b4c0e6a902988ae3f876c0a0029d2f0741523a49c12034d572c6dae9b5d170208f0ffee12be344288a3c53519388dbc20d86066f5f4\n\n# tcId = 53\n# including garb", + "age\nmsg = 54657374\nresult = invalid\nsig = 128bf8c66a90e5267f7aa9c89b8713ce22c118845c5cb9b579d29287ce720c747608b68fbfca40747178e1dda3cdc3921fed5ccbfae5d976d286e9382fbcef3026eb988d537bfc9a67470094f8ae30e4da19fca114e6626811c3b355d104ab1f921c3ed8abff6148e817f5c9f21d270b2ac8983c6acdbf789ad54f32aaf9773f0b2570e810058b0f9f12b523cc763975884d13902580cd4f9981ccfbc84fb18f6a9670876c3a120b6907211b003b035a1846cedcd7a414dee37cd77b16c89ad22035c3754b098049ba72b78259c333bf88609184571955c74974083dfcf5d70d940bfd64a6c575fc52b3b8ed5571519961f2356b7bff6a127128103ba24c5142\n\n# tcId = 54\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 1901af3da39f5eaa20edd6002255b5977d3285f99a2bad2c4d7a57899e8b19d89da3bc5e418b39b744138a0a60dacd84542922f208b0e7fb0e1ab7b47891aa9b95921a46d2de54687cb2a79b3a7f3a640c2b21a139ad7f8a456faa22c16f27308ef95ffc92fa9b70e5feb0e317de4bb5b0a1558af98d177c097dffd7ab42eb8520935fa87512fd6f0172645631cee29187227fe01bd49dd0f6a28d2033276d696e0631ec2da88f7f1128a7a9acffda408ab10c26cfd6a3bfdbe4e9afc93001deea66d443137936d65bf31ca0a940e25c72b2f8c3cb7f3bce957539136cc7af0e6e5a4f9d8dc0b5fc656952d225ac9612072d037c07f9909261c02934caf542b8\n\n# tcId = 55\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 1ba99c4dffe02d72a6a5abc06d7aeeb7478aa057d8752ba59f72165e12e740160931f6419b1cd5a0cce4871ea974453f821cc43a0bbd7f541f4320fded5ed89c1abcf32806c13aabbad83c09173a2f8dd1fc15fdea66e9ecae0f92c376ea6ff1c2ffaaba304f74425e3f2df4a6436b5b1bb15035cc44466c240a2a2fb41d275ea8751136686d69adc53373a0eda516148aded67f8fb22d0985f92b6fcf236e7782687ac95cf5ff0104ee3de37523cf6faa1c5b428489e11a115f502fcf56567ba18e3e39830c6653bd29abf86b3b842bd1f24928277f1b3fca68a525243fe1bfe085307802803378d9854cc0f90318c79b79a4e939de2730a08269077fafe57f\n\n# tcId = 56\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 89476619f367778d5252add21e8a22395c44e2bbcd5a743fcea07655c3ad3a7f4c8c2d4e871a1c0c3787763128fe21d2d270c07c8ef0aa607dc2e9697d9ffb8263b3e0c82851e0a5a884b23fc4842d60ae0eef01670f988bbce5055cd8d7e613ec8294b9ed61459486907e37ed816e7c795bab8dceca60e476d01cad4dbb1c00336003319273f85b57808b6f1c8d8d8d1f119faa4eedccf3c98cbeafff20e54e3b101c094dbed77d33c54f63932ae49f8c584d66ab61373eecb541fcb89e788a5e43f99c67f4921d63bc54a2cfef49cf4ade494d32449db5c8e0960bff24e8ffdcdd5e4a71bafd1e3753786bcf8a8388fc9b9c53f95622763394f1ef88cfee85\n\n# tcId = 57\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 8227c6081b51017a528a59ab9a2d5275ad7769fb418a2514965a9e2acb1acf807685e57fcc438187a01bb5d592bfdfcf68ea2ae3182ce349c5bc5445131e8693bcc63d6abb96881e112b0e0a9b3d85c0ba5a463e6d6035ba18cc395176ade7fdcea30abd725d6ed4ce5c3905e0d12d0cbc7622e44ee8c3d343a3e6ef046c4310ed7d12e7639436176e2a1b7faf54e1bd97d77fcbac40368013c8a2491f2c9e084ad110dff1a2621d704c8f5e8ab1654220e959fb665e6e6770da6c23a66035571d844a1dd2eae68001169bb95253d7e18dcf5c376b5a31e9ccdf7918715d281fbc027d0b2510184f2a4c454805b73aae89370cfd80b345c8ed878ad1c314a7a4\n\n# tcId = 58\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 4360d9bfd89ed3c5c40290142efb667b2afff6fcf53256660409959a06c24d858b3999b2b1fbb8d9c7da7958a5a4ad9c2d9ea617c5f7edecb7ad302b0004957a979d6eba0d56fc378946fb5145429dddb6d12dc2245d4a071fe162947b67546fddd5efb1f277c9e0ffe4281572c3f6ccc9ca5d19c8c1284a5b2816b529a54c02e9acad68fcc71a5d274cad33cee0c2826d0491eadb1e4d0f05776aa02f00fc702b50927d333c2cd9ba753b3e70c26461a0c6d374a20fa6a006ef77a630ffaef2bba01f4bab3314f7f110c4b9c56aac18ce9fac6ffcef3fc140afcc0adda45473e241d592fbae6014f701fc58bbf655b519d2315630c4827e6e16d9f24e9f9407\n\n# tcId = 59\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = b0939c12151b60d2302513c5901647b0800a5fdd45ee42009828610a83b017a32ce042db7257f17f5504b3347c7b482499d3547282cab6d35360b88b88bf57f0b6f7051452f309a324be5792ff00c0057fe3936a9d584ddbf64b8590ee3dbd04961aeb0fc11598a4bdbb92453b3c646e55bfba321d1d21b5ff883a8e7b22afbd66de6a273cd3e4bc5d857af6c55198358f22a54fff26a903e9fbc3af78ee158dbf9a546dee4b5c77c33980619eabf13dfc72007acd263ea2cfa3f4a89f97b48ca684a1be77925e051184387fb0b8d7ac4063aa84d63b8846932d220f5052eb91debde89aeb6533903fcd01a53e12048990b506773239c83e891667dfcfda3076\n\n# tcId = 60\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 8a439878c5c694fb16b51bf584c67cea27287e51e5b259efcd62e8ef1c7441555e788e66bbaf0f508440370cf04e87b9474cf0aefd15a7150fadb809ab4bd981036d906cd3bd6eafada91632123de1c38aa486c9d6117e6a1b57099a8fbd78848c7ea47be3125c866151a8d46a3bc0d8020b34915ba17f3d835e641bd797b1e55ff44fffef98a4820063434229315035165196377dff2c5f50b7475c835729bdce9b63d120bfe27d5606fb051c7c946a0512092e08ca7e800abc734e0d8234262ab56037ffb2e8ab3099d1fc11a202bdaf4c7e322995ccdd5efc18c234e1b6139d84d0193dd27751e0db9d077aec1bc23f978d2127fde875e1ed7c992a82d051\n\n# tcId = 61\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = b95dd2dafad0610015fcfe7d8b5c83c34a76dcefe627c513011d953cb2238ef20273feb8b8672475fbda75112c85340e7ab08fac809b6e2b4d314110866e61abe8d15d02f64952036525b0069f2cbf61042a39810d37b7860fb6eb1c423aac7311fe7bc98d6880954055a9ba7d7a1bfb4e45255f4cb68babe6bfcee6da47ba18d95b4954c3374176782f841b85fa6e773f58c5d56fa85f85a4d8c7b8c6412ae83e26b3fae582c3090a9fc6d2394d1a02e3864111cee49ada14e5e625da3650608bde5a5bbc0b99a46095fbd7c01d87dd6c83819c13825bff3a62cf893af31d03f44875388a4f8e83b7a7f360227182b26dce8b310b389e2c672016a166f71557\n\n# tcId = 62\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = b4fbe49100d4f15bea29586e58d27cdea5270a035432d89b245e7a323cfc19f77afb4f2652caa2afb3acf712746710e837ee932e9d315ae21732c164835fcd77f8498109ef05704b081df7f0a5566f8c176e5031b184ea6aa7c590b0eddc6037d642f463f41f61c00f4b12d0b4bb7924b9caef831961857854ba53521f2b9da0210cb38132b46892ec7d44bca599c5efa9029eca8f1663ec301fd064df65f9fc35f14ffae2a3794a3e1519ab077cc761368014acd84989e690449b95c5c8c59e4fbfe260c64ff044be245c33b4fdf2f44c87ecc6510b524927a296a1f32cf57024f07a8609ebd164139ebc129b5eabcb0a84f24048673b7c9ecf89e24099121f\n\n# tcId = 63\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 963142f737aa6b8eac11c6e52dc02b3ea881f4a1a29dc672b8392f4eabf487d9296c0cfb3acbc6d56c1b4eb4378b6f118e6e754d2a16ebf20e9b66f7961d7af4e1a8deb9e4d089d540496c0ea89cb2cfff8220bc7c5bc7ffb8a002d549900d773d00a7cfbfb9499523f353a1dfbfdc9e28054bdb69c64d2bce0e172b586f6ba615e1af9c822280324b1b9db915a50fd0658083eff495f1721eab30d3be3ee276d33c3177aec8fd5dbfd9689195e7a944108ec8e734d524a27e9bc67fd8ade717c234627e2fa25279bb216fecf1f79e1d724e65b10614f334c161f2a2cc50db7113f9dc1c73bca1c67c41f6f77f80c3950d4d4e1252b64300264473cc904b0e61\n\n# tcId = 64\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3d1ba856ee722aafa5bb68d8b2901c95dd1ddf22559f05b70aa3e92afdac040e08819db5417cb8f551cfea76e622a2aabde7863c183d41c23f4690da5983c29db4e0d603d349086aced24d33695a788c617348ada9f68baee069c0dcc43d671382158c70f0f91134aa4d2bca45e1e5a106710025240d496d79c3e6bd70e15f5a4d732b37d53f400aeaa0dd49cfb24fb7af9811cfceb185c697d70c61ff454672128a0fefc6dd776befb87ff0c7f248373a17f8d2a08f138aaaa986182c084178103897fa8ad0e921ffaedd7e650637cc0c09a185eec68413e75a6f80c9fa2cba46f328b00d2f3e414f670be8056a77810240eebba03e923c01c096fadef1cfaa\n\n# tcId = 65\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 582b5c38000b069573bec33ebe6d4cdd9e250affdc8b4c17937afa464d107f41bf3ea182b86ec8143c9ce977ba2caa3d5656323d4744556f7bc85ed4054d2ca170d35e8958bbd299aed1bd983a7ceeadb2454bf3f5c19d1e3d98785d644585a1ad3a914cd40401d587f18da2c05bf2a9394902254914ddd4d2ec216bf791d87a8e8cfe6518d9e7520d080376cc35cf5b8cc92995f1e825bd5260f19b0185fa9340f1b15d6c7e0d0533268f8e269295de143449ffe15cf03a0036b17899bd18cc48ac7f18bf270f0949b659dbcea7651634da97e27a2ee1da78b10ca674e5c38475a7ecd654e051161c95fea16c5bd8aca95773bbf18f7f2abff4912bfa46e388\n\n# tcId = 66\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3ae33c56969f5a2b11e0a29698e60962db13458531739d56a4d30379aca857b0d33d48a111865a010a6a6942a64bfb2df5dc3f859f2134b7ca6a9b48093187f3554047a95d22c5d013ee4f5a65ece677229b6bb830d5e33d8bcd749c63d5ff41c1d48e6de89c4ef43048d8be79ab7b547ce1e5731a4a5fa0f71df485e514978dc34cc297a34215e519b944b59d3762b71a5c885fda79481a886b5b587bff0e604d2cc1a02f506f1e9353d3811b154506586af833bb42192ddaf4c78a1f01f65999ea602f79de8f55e987c5bd63f01f27de24361df86173f3d4a2020b440f32fbded2dc62bafb7f77c5b1bddf4b774a820d45d98076bc456aadab3e6b55a50568\n\n# tcId = 67\n# in", + "cluding undefined tags\nmsg = 54657374\nresult = invalid\nsig = 86cc2f6da999d54a27f1d573b192e01350cee91adec8f9a02b67b1528dfab632160fa962bcba95594dc342840cb4fdccc3698cd4e186c005c68d342432e5e7ea8019469becdb33a76f806504c26e619a17d8de1b79474f669e91e0bd07b31444e53cbb525b0f47ec438391a3587912805c485dd2909e14d8289310312a7616cbd3465c2922a00c5afe88a89d3807c614bac7c5b9697e8902bec0a2fd9e466eeb932b668f6e643a8109292ef8bdfbca19459715dc569f3f12b90faf1f31d7f8506cad98bc4742b47ff0f8f1de840e10e62afb66e93df34d43a2dfeb3346fb3e0e19402235e00c4805bf6f5dc6bb10a1406d8eaaaccdfd118cce8d1a62eaa4a97e\n\n# tcId = 68\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 18d77b56276d2a2960630b730edde16b0a26b6c65b28fa20ad7982b8b48d1de6038a940f8c543d7fb71181ea2feb85592f608b20bb93ac7c06ce725026f39c645c7f964a14d68ea53de398cb64cd0a26262ed6fd5091332f8b437b71e98ec59122abeb7a27259130b203a81da5577fb0590e2d6842e22e943256c0093d143f58c023e719df92454a979bd76d08c550de11dbf7085afce1581c31a2214752548af5913485c00b7466a1cdfc60e7d857a913694fbc2fca13d77fc5b775f7adaa79668a5afe0b743f13bed6078006e6b7b16ee6ec576554aa2e864f77b43e4e61786780085edf3c6e8deebfcdc057a1de8d8d7d8a6b188a8c771e347365d25240f6\n\n# tcId = 69\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = a2066d53103e4d5ed9c08d7dbc8be145d932bac9d6363a146784fbe172ad2e02216cabce279b3599b5f3858e7179561e3c489b87f47f33d266cb019b747ec49d3dc1069cb078419f6dbe7dbf640500cd110a93e54f2bad919e60cda6401f7d88e52b9017b7675f082ac349e4fa4e49b0a0c6006d2821382fdd00fa0b9d4e948db23c1a4d3d658ea857ad829aa7a3474e0f8f86520970edbdb3035ed195f039c807f8613cf333a13a14c22f1a5e4b77ebb0db9c98c35f33b19c914801f4aa4459af043a39ec5e016af1602bb795bf2c3655c9f9e30ee2f49c6e059d0d616eb7bf7c9650581ab0f29d1e2d1fb06b4d78dbd06f0d3155494a6f3d7730f55a03c1a6\n\n# tcId = 70\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = b1f2b2ceac435cb3c650e8214ed70a87ea039da7c6730ea29958c375c85d88459065a8987dcf66b93e732ae5b92af964e7341eceac3c252b93c62b2474b54a9477053491179986eea94820ed6ea58edc7e758177c1d150aca2531651963272231f98daaf1b90e7b61a02c7e61b25f9b7c33d7f57d846284699a924d11c45995c9b85bc3192f349af5e669d893eda953272516c1a86764f46ccc17569880ccee30bcd607a21c306f84abf4b6a5fe6839ba00b73b2df062b1d9d7285c4f3b7412b8ab5f68130000c95761a587818811e4632d209f34c4a8c9e13e78358a37b696cb444ff022bb1508c299a6eddce1f8961bee97c5eaf29267d6ff4f6ef9e30061d\n\n# tcId = 71\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 012e5e56d0e1bc77798b42190ac5a15665cd5f2fc1257c66553d8d00acbe85cd2b42e56f344099da06024c5578851c3463d86d00f7c43c4c959569e2a0657840305b655f4607bde3e44ee1ade5a40162544c9e81a94612d600c069f3073c3e9710cb4006aa5e4a8b9083c4cc4f18fb2fbc3343075c8eb8f7d8b7595532d52301944cc79054512141bdce292d339f85008161af499002dee163d01eb8211e6115e637b7d3ad074507e8492f1a524e39e1a5151802b44b74e1c78dce275825a67d3945e80e73c605ea44328d10a16a99f4960e8f83ca5c01c277beb245f4d0758bbafe969dcb497915d787d760673c86755c1ac38e06e530d24e54b4dc90b67e25\n\n# tcId = 72\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 51f6196459dff03d29f6fd4c7477faaa392cdb0b2541056b94484fb8a266c1490e97d90050843010629f7eb61c3671daf8fb5344eca91dada6c2408d3ae9d6a66fd74c725ded0a4470027d13a09402f0d965a6177ebbf0c24ce66cc463892ad282ae07c0231b394725ba8f14705f4cb860495b2df5bbf143e3e48bebfa3503f6bd2bb56f4b5b589e5be883a0fc2249b6b59d6dca99e13b14868df7aa7fde62b4ef75bc6f2e90c18685922be7335d4d3f55eb629e2873d66305e434180701b805f832be5f5757117543ae00141d49d094d37e66091fa4a0b06c630156f99bf2a42d7f9315b9e4e2bc66883b9a83e1bd83fe9904642f66b19b40ac0c0a9ad27aef\n\n# tcId = 73\n# truncated length of sequence\nmsg = 54657374\nresult = invalid\nsig = 7f8104fe5b383a7745e52b6eb6cd2404abd1d6e5ec4255424fe802ebe76b70594c3f5e8a38959ae9e72076de7ee5a485636cd59e51e9270ad5ee38af4c5b295855d86efebb2678a66b6fd0328479b1b75461b9eac59e71ed9441cf972af074f20320d5c01d93feb037cd212f5c9774ba65754a003f1380ee0c77d3f7fdaf753adc1f7912ecbaf801959d2a70ebb5c24a68ff725ff8f9901a712ec338d3a798294ea0f10fefbce5a99bebfbef2ed91f6668d8e25b676731d9595d679b8a7e8c35c918ff0bc6b080f0f0a187f526b55b450d069bc0d4b47c59f7bbc58ac3af21180ebd6707d7237c967454e459b696842d41841d02b4c34fc964677b0116a22879\n\n# tcId = 74\n# truncated length of sequence\nmsg = 54657374\nresult = invalid\nsig = 9bf8795b877ed9a89e70af142e44cffdc770cd2ddee32ecf32b962840dc26406b1449f03ab16c7c9c72e41e2ab24bbd163d2b7213ff7ea8ccff463cd41ab87a39232383a6405911fc9bf33ea82fa9fee0954912afad0b50d80a70a52cb043f5d8fef8f80249f4d2a8a1f47d524bbfe9678ffd3a3c9d307d9c61a909478cf87d45001d66f5786a7d22d8069884c3248a3e5f223d6988e6c595009cfe24947a564f43964a1ac7d4319a446e7491230a3814bfdb80ab2227a2029a36b13da4a584c7cfccb337bdac86b5f727169596bf6a53467c06eb94b7d168624847df7679f27877f43954c4593cc4e28951dfbaf4727e3728cc9b9a59efa92c3249a4e796f33\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 48e200aab82c1d2798b90dc2ddc522ad5d638699b2349b26596a58aaaf7d14f90f52f44a320fc424ae2ef781dbe5ac12de05b85a02866895329f36b1f2e8c78b5a8161ccde69de9c112682331363398659f832544c7848806a3f2076a3127a9b4813e6d5c8ef31bf7a102b136fd5f9b3675c5e8ea7df25bd9b8df6cc46e9134b5aa185c13e40c935add77fbe1c1853ca8dd28fbb53942e7965a44d9694b96dba9ddcd8396d7b191c7b385629e6c391242ec76a916cf038cad4f5239a4c17816a39deefb43ceecd31fae33d3afe50edd8086dd501f6b72ef43f21ea1858dd46ad56ed63402bb92ab06b85a0d17fed8d9028b22f528a9544b8827dced2c778d082\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 4323f6998549f0c6d79dd67cbdbea827da1ed45026bc16ee020d42b1d448a66810677b3f0278c20213a3949b204a773b533e5e203f2eb48b936b01ce5b151c32be13f89c1f56b20b44d5987e1d7220c67d07578f8af642b6d504e1fb11bf1657203eef4f9882488f68ef830be437a3ef948def0a6b34715056926504439262cd5e971a91ec5b2948498fcdd5fcb1e4b4f5ba04ee2631546a5454f28304a07c5c14d01a75322bbd764cc452aa9042bb03a466b0c62a8bf945b85c63b6726f378a72555108d27029268706976de496f7098d093a3a542db8fd5aeb805ef3b547267234271124e9e267f27a9525bf224e3f5d33b67a64436d65cdcee729bbf28897\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 225c4bec4924b6aec5e2524258edc63007b35b37faf9c735959c9f932f982f5d5434fe0f11deed690f9a023337a20dbedd42921f2a019ad6ff033ffd297e8225269bb6a83bc2fe8e08b7d0b9af492917bd3d0cc7e3c7bc213e0be8401ddd2e4b5c1687ab6da434ca3870f0ed3c2c1b08a00b9f52715d2efe0f4e4097510395a087b5bf389471bbce2e85814a43f10d68d8d77398b3b3fbf196cfc35f6eee8b21117fd6c0d317674a6f89b2f7635c7b5a91301b6e64578fbbfa327fefd9d8e4c992bb88a23f8561298c60a075c4f29fd737387349037c1cc360238dfe4e2c3bb6da805da25feb9466923e00242dacae167b40c4c4d5f4473e22adb0851162f7d4\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 1e416fa2194a2297866cd7df7d4db6477bd71e2b2159313204dcdfbfc69ec84f826f01e35e4ce6bbf43c8377f34e7d4bc9c339d20307ba6391c2091698885480a776628addb3ad0f5a7fbcf944ef41fc2ea9ab078ed8ea62ef4ddd1067d8863d61c1b52534d51b2473a11208d260460008da01f8c88540a594b3eb6c2145472efc20770342f2e17bd2a0025fa2b8d820b8d5fb41eb6025ff990b054f741a8f716f354b18064902e208648b9e3eb312f2917782c0db5c8ef49ac0707a82f71182e8a21daa75d36e0d4938cee289742a3463133082faec3fca8979372957486d5410b90de7e232818b839882b513da01b4cb9fc59c0da62b70ac5a4de1ebbee89b\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 9801706c663bfa15fe7877c8d09f58d4664d3619471c27d333ca869536a6c4f4e816c905b2596c71a4ab3bcf07b550ccee0e8ffd5f7a9fab3afb5b8bf76f8e118b7d07170ab6f82e7e33db4a81f2f9ef1f86d04a1b2fc141768d9b4e44792ff9ed882032ad5578560d51c7ab2fa96128fd147bc260d05074ef42846db7c8feb7ea71ec6755efc554e46ad4c9dc77c259aa834fea03ccb9b931c7d3c8b0316e30d25346b682df91a6bf68c6266723ffc77576abf8a732ce1a7368b71d740677c28029d2854797fd515278d884f4eb0806f21752207b103de1e19d357e480021d3e28ba9461b6895b777f1b6a9e08bd4cf713cc41f4e9a5bd7071921a614f0c3fb\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 71c756c9def03a24fed38e597b1925905783f0b25c974602d982c1e7413e7bd82c78466df5decf09100b924ff254ef01b2bd425b2e0ade75ee4ec58aec4f3da80030eff25601f3ebfec46452e01cf51ecc6c0d2268f754795486f7886b8dc181c96f6fe4dda05a2b54e6fba77869fe347c2eea5b42081d2140cb9fa7a6bf023a6b9f806bef65038aa680fa6ab6263d756d3cc7acdbb93ab3952998b2cb37aab72a50657e276d70dbac6be84526c17c5c", + "1790f0a1eb0dc0644e6c47510d3704fbe9e10c8509419f6c49656e06f7bdc4637891afebd376f1e1be139a87b2eec9063dcd815a17a08f63e2a4e9f9da822cd0cb5539c4623da6d279ffece0b8e58f86\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 50d70adc01b502dee439ae57f59ec78608d05820f858a6f0e9271a4372b47042613aef6ec2f36da7dea07dfae4c84f57435980b4982348e2d33c4df6c3384accd7c7e3892184a3778943ef50477b906c2890b5c93322c065315b960be0ead30bfa496960d53a4dcc08c8df158ac5090c10c395d18cb33c8faadb7b8d6bab8fb9997e017d5c12789c1ef0b285761d2e43fbd5b4313726cfc85061f9ae33e3da0addbd86e267fef72b966ad5286220b2da94bc1b667016bece0111dbd2ee4943d9d0fd041b666d93bb3dab53e16995d6b10d1a3b4aa07be08dcae8f0f5cc03c6b9c3419d5ff8268103a850c2f2043842637f54468aed58aea06d6f2dbb965a3208\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = b96e8894734529229c0830d77834f5a07060c22186c2cbc7c0fdbaf405b466fb9727694a527acf3ad0a35223254efe854789375311ffb6ea35d1335216d7b8fb215241cd3dbbc90dd569c0ae8979d9c0a2dfede3988c85e18756835734d45974dd50aaf649c1b9635f0c53dae4e44b0d2315897ee248998f6efaaeafe72a41f2f13a1271500bd6f9be8ef84421f443e68488a3eb40604cd4f28f7e9cefb539c8c5e87de966017d9ab0a3f01275fe25677c0049c0fcd7ff5799b4b96cc0490bc4199da554daaed28ae235dbd3104f9f2462468facc932da3bf2e5822a8159d6e8e8d9ea96ac200113a60a57f3253b8e05f3f0e8e040fe3a55b1a8ba749d5d5ef3\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 1b640c511649dcb0d23df1fd808a340415cb87bf3b15ff5e19cb6ced922fcfb4ee376d6dee61df8aaca7e108c8a0868c8a2e99db2c0e769c80b7e5adc3bb4cd4da70f7fa68933470aa61d50a793702a49d3dc635670fa77f2dc282e28f4a74aaf5a76c9383b093e529ffde33e3f8f947719c5aa2680b1ed4a4c07a72189e03cc0528a814a6ccc7cbcb4148667c9170c882ecd4bd6cc8dee957b9f334e8e5316fc4041ccd6b422cf658ca6cca6f27972f818ab2f0defdf35ff5e4dd87de52d6a1d2cbda5f7649a13d83f989d208d95b076a1984b548b71232325469d111a8dd0b508e4affeb2f6dd42c90f4cd1e10dfc4e896e483bd9e96c3e951a51519a19486\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 8dfc2c2577dc3f36d36430f25f76fc01ffb2af51e1f5aa8fdafe6d42f57a0934a106d88254f834999177b204a5388543a49d638af70d52edde954fc9a6a2a0b99bc3d3e2c148058a72e2a50c1c3774dd83f151e8fecab64e1bbc6095cccafd0d1774b8b4ccd8d4b995af3e1ba9c9430fd8fff39bac43b0c6bfd051c5d20758900c9e79e11c7918af1a38523090454b2c14f01d1aa16b6d3c2d94bf4724a37c471e3bbdd710ad1f268030ad3b3fceb83e808c1cbb1d3b4d3a4de84f0a4f6f1d7765b324ebb81e1bcd08ace01a4713c6b376069114b8f0cd236f7bbbf3bea3bc583412617d97d508a511c54eb32f166dcd7f80d53a5c0c881030de35266a30dae0\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 54657374\nresult = invalid\nsig = a43fe7407fbd017415df9e194db645a0a5744bccc05dcc89044e7b978a97090833589251d57ac70f0591ef9a787788360602624dbf50209fdf21f578f0839b9b27c9aab1bd58d2a17ab1da720fb686420fdc17f2756edbd8eed82502a1e66c3b2b90c08dd4150f6f6d0b569cdb14f7cad5f7925d9c8a1fc3f0a6092219ab6902599e018f88247f2e4edebf9050104a387de07db955bad9cd01f2b189d9a6a2ee9369bf1f6ba272449e26d4a67712a3a22947ab67de53b1a416f38e304011dd477eb33c8191d46101b17d9e835d9816f76dbc540a2d6a0ced2562325b9a21ee7c90f010c22fe7723ab4fb16197af8fcd507f61387dad1ce8ecd7a39fc84eb8da0\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 54657374\nresult = invalid\nsig = 852f74fc801faff2486afa44197fec789d36c1a40ea41b55d46b6fb6a5c994a9943c6d9b3d46165ab2023124271ed5fb34ea0299b205197e4d8432c1dabb40236a095c05587e885e6f8ed0e08611c2c7573c928c6ba6159541fbe6751c04486ebbe2f20ccbe8410ff39d7db6649eb46c6f0ba552f0dffcd183628e863ce2ef8f44faadf3fd94659f98517a5e8b5969aca73c32ae22c433887315ba8631f4f10cbd7a0c3204e377e7366c136986d505f1e8855f80c5f8f97b9ec76a69e9290734e80906701372e1f9fff6f22d15508e4393539dddfbc78471fd2326e7fbfcb5fde066f437171329905fc90c95eb174e9bcca53ba46b5c42b5f3f47f1e0fa4df04\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 6ae97ba33d02719f5e4a809f5b44054331d0ec1b61c34067c6c8996d126c972df2eb48f2decf74623116e4b54401bbfc05023501e00245eb98d86aec6357697e67cdc78e0eb37c53b3ce06cd078af9bbde0206ac5d63e8a842726d4bff489e6695c6539de3bef40a4fbfc500bf932c35db6d8185ed3ae713ef6f7931b8e4a76834a6cb59c4114c230dcdefaf3b4460775650e03d3461deb3a229511bc97636341c0bbb1aad24f477c3a1658155c338d37aca1d6b5ba039f3a486535a2e2dda68e4bf1998b8931a52781e465d32596c6781612af4a6f495974c023b68a0f537fee00a32c3e499da4f8b2e4ee677b68b058f99a104dde579ac31e6ff966679cd47\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = b00ec164825f457f144e3208dd887c0b69762a2877f62d8795ac3eca14e49988f898d3c939613caa5094e21ea361c804c8ea0c5f6a0e09e118e183441b5719ae308eb95d705046218e7dab336e53fb30a7c1ddc59cba08785ce9bda385743526e6b7bd15b3cde6bfa10f8ad4f6f20534c388d7f61dd04f34009dc4d6266f7363fcc59853f24e0ea5f9ee100f0004adf75767d95c12b30473594f67bcd5ca63cb76a4b837509901dcf0bbf5f2d109700bf04e2169cdb47ba4de1019fd595665acb114039bc75a62cc07624646fd1ac2bd71625974567a9508c512b0576ecda69a59e950802331002662dfebe08d2548968ea8939364a27e202184380cefc1796d\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 1778c178579119618a407ba834a7de8ff244d4da6ed2f979c54684dc459257e70240691ee844f745d72e64633200b800be5da738484c0258405e7319800c8128d023db5227fc2e348c426a026c3f84060a4548f0ddc2dc92be1dd42bf7a819a9e892d318eac58919a01f1ce3da9c17528af6022b2cd088144fe44c3dbba60ccc83970199b758fd49c2226f5b742668d6685dee1a5feee173aa8f4428118a18701ac503600e0704410595e8fd7208e22c161c81e108056b52da131f1f806c3bc118f934cc78b8e047c0b181ee7386d9c283a3dd251ca30a81a9b6f562b3364815ec3d247e5cab8ccdd78e0653e2067c6148b76191bb797e800f0d6e9e282409d9\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 13b647d93816de9c2fef162f8dc37956690dd40d2124b0b7b724ddbe5c62b1242369f82851b24cf98b1b462f6f5fa40c248c02d778ed28d3ec8d2eeb1668081c691f6a3939f72345f0eb58fa02737ab0334693c6333b9e4593eacd3dcb71586623d11b5230eb624034561f3c6c7b151c1f18d3311f359a166500d78995d6ede43421058a571c639f228a804e33deb8aa06e646c7aa425a8d0ea245e4b2c2a5d48413c6ada61d195e2302577cd517876eea82b043c6741aba882242d9c97fcf7edf0d0a3ba6cf3723f5d3006790d22dcd8ec6bca701568cecc2420284e140c84d94e4bcc72861bb31d61a9dccd53857060f7f6bde1503580f2d52424afd1c0794\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = ac52288eb0ae64f6897a5b383e9e4d734b45685fe3a75e2f5c65ad8235311a6a2fdcb5a8aec47b430a7a84efe10bac9da10786badd033089243526a4d9ea57a9e7103ca9e7dc889a9d1a4e4b86deb34ebd3a5b454d0afa940af71422a4c4dae4e1a5bd1e4270ad32a486e2a1334db7a511f3251834d112b9696979dcb0abf8ca83f304e4e8cc6892c4dc5188e416428570f0e3e56e4b171a3ee741787384f9375019fee5cda1e161d4876e9ebb349fc1f33ded8a733bc5c7b719c0367ee44ca8212c517eaede6689e1caae2b5cfd347378efbeab78114435986f95add85e48d433074288e0cace49de21c0fec2414bed9b01274a8e8f6959fdc29648bfceee70\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 6b31d3f3d9c007718c2a7f9bf201ffc003581b3fca2371fc15aeba38214e51d6f72ddc632a7632ba95f79c868230c56851231a8fa178cf6cde67fc25cea8c8a811d33e451844b86fdc11c1a75b03de5084a9642490d5e9b49de50d51c93c765bb36388f1b3506a098a8a9d58f509d48e76477bdeb4ae2fdfe410c17cce011da703b47035fe2041fb82d82a158480fdc25d8e868209aec6f788e575635a7df9fa58a95919356d52a38e678a8268f3baa2af7a6efbe3af72e23eed354bd43472ef7c7a877842efbf3d9f08ef45cd562ca3ed4f903d7d4a571bdda531a00458387135e09d276729ef230297c289d9a0010d6db66c40b96d91929e685742946a4c05\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = b72975609463db5cfa161a7f29ca78c1e8ec6083eb055bda72fa7245d71d565af2855f175ed29dbe881e2106f90a84f3abbf7d229db8cb7be2a7d5d29cddfb16468d9f142e07d2e5f4780ab52354504743ef0cb4e32d3cc1c2e612245324afe6604004518d8fad3ea2884104ebac9eaa95e14180e86c54cb801ba9b8510bee1e2df90fc49a005b1a26ade197c63de5f1cdf8ac8a84f6c67768c0adb54ae853388de71d1643e07d8bb083166efd077251cbcea5905fc035f01919bd143fa8d5b600cc9062d8b61eb86d118c0ce9f98a3622f90084236124ed6a5024b0b7a61bf7641cbc7647008099decf493b56c59458a1a9dfa19c13ba96c0e050d3df512491\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 6afd7245b1521c942c1d38b8dc0b9a3bbe124833ee97de0b50ea9e537973e3d199376f1de834ec239318389e479a89c97b5df2bb08d3fc565c33903aab595f4005461c833bcbb5c04d90a21aa7c251e1342e2d8db768ca1c23ca47", + "3adc011f40eef9faeb783cca57657b6fc4200fd54694ad457db2942c8a9271b61e3cc1aea81f97052c3c4ce968b5c6b56710d5733615d960e29a636bb959a4fe3644c41f7cb85987b9112df1204f81c69d193f10b5ac2aa9d8f223c77641ade87567469c07b82918d1b44df6d047a0ed9291e489abd7050cf7ba1adb85cc5fd079cde65e8168c2480121ee7145bb094dc846517b6490250648f9b58398130a69dba9ceee10\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 582dd05a81d329fb7c4c1bcb5716eddd21334fd2f7763aba0de67eff550838dc7f4284ea5e4b94bfd0ea823aed8bac214e3c9adb0144c7ea34ad98cacb583e8f5e2ceecfaddda67031de748b3edea986dd13906ffe06695b7fbbdc455e350b64a459a8cb260ee87b0004433d5dfcab404da5bd9a116168d8453071dcbc13af9abdfd009704721e65df950984b564b957984108afbfcf1b6f14ff50425a16da4f1d043778a50b91ff340d94e04d9cf9e7e3b35a7482cd2096370b189844542b2976713466cac44b356581411db0bad42a5b0898d05e5b19d062e04d4d22e3170001d46499a20ad125779ae95d3477cf2ec3d39634ad787ce1ed0136bc432cc813\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 666430efff090b85acbd66acc054f29a8c05720e140a599c211fd699955c8857ff68dd8ebe56517a1d4b10ec5cc175b17488161d8de9c07c3263e5c3c73a9c649d85e8b4cca02035f6ed9b8ec80e0fb1e102a06ba60e30a2d2d2026b1efa283b6744c1f2a9b5bfb2aa054fc061626bb7c5d18cde129e1a188b62f440abb78ff3eec10943b60c168c2aebddec92191d04c2d06fe1af82e9f6551834f2c6142b7e81bbd4b4b501986056530602489d59a338694b08f56b83089c76ebbd0d2700ab2b1489cdf43913586b426b22574d20bfecfa1efb0a72b72d7374ba235c8708eb68feeefa9dfeb71c94bbf999b952b2bb5d6f47bf3404427f931360e94c8087d1\n\n# tcId = 97\n# dropping value of sequence\nmsg = 54657374\nresult = invalid\nsig = 4f1b6b6f44242c393d6047cc0c52f5f11e53ee6f67cda2ee9995ef5d85846e35bd501adda9e0e274147b3898b56d80a78127569ef977872f46bf6f996ee398a489843d51216b90dac9bf173ee966cde1903c072f3da2551b47930d0d4c8c74836e2027ae33a34056c40a9bb7d811956463dd01aaa305899130d180e61532a604910d0eb25cb14a6e46ebce99914f820e64ca685a33a2409b3df75796cee1e0ea4e907265d4478327cea93d2779d607854d3f327125e4fc641f6f87da99b9138afc90965dcd95f95e54729618cf0785a115a0e7d9534fdf4442646602b9cc305eb48457f692ed6740ce315ab8a6facfddc36077a8bcf0ebd2a4cc41565c71bee8\n\n# tcId = 98\n# dropping value of sequence\nmsg = 54657374\nresult = invalid\nsig = 0ff1386eda5e2e274e20fc68a2f2e04e0b299b99ef4c3c043761992e669da54a51d9ee1c1626674ad35b95e7c9cdd72312616f461bd933bd281f3ed79b532b54a39f1ad84602edd80767ce0e89dafa6841fdc9c4b2339ad0a28aee8ac5859881e23b4ff38e2ffc9648489b5fb61f64c6201c0558858f01ad97ec7fd40965567d7aa98c03ac0b3615c2d17d1c7695df50e03c362506f2a7e0a3c95e1e5be6e382a86bc66c4f1fd4d0972af088a3fa7f9dd439ca4b44cdf40cc84370d087ac198af66e6a99415c3b4954cb6893d1cdef0f7329ba339e01fea4ee4096b94bda9c4d0c74351009678a723402524976dc01e70f81bce36c4d39ace0d12111733ec1bb\n\n# tcId = 99\n# using composition for sequence\nmsg = 54657374\nresult = invalid\nsig = 1a183748037cc7201b866108573e83611953f72b96a56a33eb7052399614834d04daaf3892bcfb194aa1ca19df3a149720a0ea970fe9aae1bdd09c0548071ad50d806d8a6e40a8036fdc5803de61bdc14ac155d26dee61e1c23dde867c16f28cde28dc6a357010ed1714a0d8c6fbc5a1894d1dea159c3a8f4c5251233ac2cb1ee715d42b15360bd045a38be1fae6f5b5c5b5f8eb97cc537e18d71f506790b35e69faeb43b30a80ce6c291dd2ee4b0fdf6dd97dc197df9b125c59809cfec7045698ecb700cf99f3feb6099f7516dbbe17665ed515ab41e7154dab04e568e1fbd1b419d9d261ba35f05512f181f87d23143f0649ff5711cc4c66d4e7b702903fcb\n\n# tcId = 100\n# using composition for sequence\nmsg = 54657374\nresult = invalid\nsig = 3134086af9ed8e92e0dd74f4a83807bf263b3bd5ca32fc975391091016dd632b980c1df91854508164088e61c8af8ab1cf2149a8e8b2fd7d223e67da5d524cd6dfd3052bd307c991761bd8047c2403fc84871430978a0099954bc4befa89c7281ae62b10972a06b5dc8f4cd6d7e1ba42d19b486392fc2f1658ac31fbe9f0bd6d7b7738ed9f7e7f51649989de4817c7e4a613e357e9d4d0cccd5fe365ca4505f99ecdee8b0f9ad3d76deae39de4a815493611128919e344ffef0776b917541aad6709487f4605f1aab878c3a62d881085cb1ff1cb55bd6436bbfc4347c0ebfdfdfc6482581bb1402bcb787e9c6fbd3c96d9dcd16245f1935279116223aaacd83a\n\n# tcId = 101\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 39963c8d72f4b87502bddf258c441e3b7928c0e99f5f4c7c66e45db5cab0aff14102cc66de1555e6053e7285e53cbe1c4645883768d4e3e6bb18dd87eba514f1fce3177854b7f58adc573d2f14ba065f0cc36d62e62988a85ffc4b1ed6e7e7f3f5c18d185495f2ddb1fe32ac0dcf2404cdd3078ea5986e293e2cc28b36f4be1c654f8cf86d0b8fea5be318bceb08d62594255273b420ed9f6aafc9a639fa384259c636132d8297d92cd9bb4e8f2eb77785005683905409978b50b97685c39274299cb9da6098ad02a66971943f0e7c6df90622e39f2e8582770f252fce3f1659ad742e68dbe4dbc6562c065f82f5cf7c85f8967b9de92dacd2b05cc5d1ff0457\n\n# tcId = 102\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 10da62f2d21b08fa1f0a9c6be729d60939340de884ee9ddf15e37944517b9c1e692193029e3aee69bfe92fbdf91bb7018deaf025e75944952b379e85c35d079cbdc1da17f97d844c78b0f0849b7e81e284bda48f0e354daf99fe5ad35f3b782beae791966d2d6cc7d6ec262a86089c385fd56d1e8e21ad69b85d305b43a271fa410c65f2ea088941ece8fd98063d50d6bb07e50119f0c4cd9c27775bcd40803124c85fa7dc2c555bced956e131a473a0e3d357a8287c0aedc6bba5239d3c8e92421918b137c08c08b424040e26a559b8cdee5daca596e7506109515e822d3de3d826284140b935683483185f8ad5684b0ed648a2cbc9e549fc4b0294d7384684\n\n# tcId = 103\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 48751b8bf25b88354852664446a3133204880e38e9bb4e34ee79beef8b464f138c83a45ecab05ea954038ffe6a2fc2f90dfd76f2d2a6c3a2acd36f63c43569999d54aef4b9550fb2406344779d695c773b9605d189d42a825ee489e4b69d5f1538e4853132cb9fc97a56bd9180a0ec32c2fdf6beb855d62ef6b18ea45354d49bfa225145ca639e57e10248a3e947c84d35502f6b40a64c44f813aa34ce502edd4dea72ceb11d453e66d1175d9ccd5d925e087aba6e8e34ee641eb7e76cde594409969752061847630c7d7f8d87d3fd019ffdf5cb3fb0ae5c51a8e66b03fb1f6a8601c1cf79a3596c4ee9c66331e159779f7e7c78bf0462bbaee953c31ab6be6e\n\n# tcId = 104\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 17ce85f7b037ff2f5902e3df389932e95b3814547414bcfef491ca0aa9f6ad8eed3bff73f240352410bd67caa01c77994543af721d1c93beb57a6b5ab348ab51b75d75cc4b5addfab9479ec0f852984b81ad6eb0ac7005b24ddcc43723b37e24f509dce252e5cbc3dd5ba4fa43385f773b9d8a49ab07735db9a7aec91fcdef0fbff7a6c3dd8c8e7ca1710f90ac3ab1594a20e4421491cae9abce372b2bd703808363e26feef7ae93d40c298865de766a4de885f2e9efd2ad0b465d569893b15b194d2d8c9ef66b5557df770ea009d1520b87078b7339a53c84a3dd477c185c2f7e3e0370346df5951dce75d4b9e49092deaf020e0651d409d7ff17a5b5439286\n\n# tcId = 105\n# indefinite length\nmsg = 54657374\nresult = invalid\nsig = 299a19ce5d0226447644ee011e1633135feebb8765072c33c18c7786b93797c6ff66f182a698d291f50f60bb20d244721a3e1304e425e4caf5d893690fe555c45f2eef068fc829d313499c0e2301c127c032caafeecaba6e339a96b5654d8dd61dad1d31e594fb538042a7c14c2953ed843207d628cde26453241edea643a2a50eb6a9446ae1d266550f558a5c8caac34ab4e812a2afc751e0033a16a1bc09eac9118ac7bfd39440926da48867dd1baf0cafe46a2f3d588a01fedefb7e8b0fbb294d9beb78229dc2a1ee2b045517e25b2c521c0b6431dd490376b7e3874da096535ff2cbadcd7507d048c82e550b2da59cdf3435dd6c15d00b81072d0b0cdebb\n\n# tcId = 106\n# indefinite length\nmsg = 54657374\nresult = invalid\nsig = 5047ce51895b102150c34f652bb0e6f683189dc2b4c5baf7787d01438f0b24a4fd3120f6fe958dea1aeb126ea1c93745fe8d0d0f9280d701a00bb4ba9eaf35a4694345b9d38f724f0dfec600e379477999ffad9122980ce111ad4492cb4349ade4aeb85f3de7e71be992a42240a78ec9355d3a2bdc44525a93d66a41cc18a6910f43e11a528d67237901a4196383f64fe6ce5f246ed02ee2b5f5ffa86bf16044a20540d2313384cca1317cf3d18bf9269f3b539b78a6c84cb4df1e9f2cdd4d9a9b53b11f329ff7db8248d23ff3dd53e805242ecb307bcf2cfe23d90de16c68cb3d33a5e461b3a6db28eb1ee25bae53076df190e6f9cd23a4880514264356f02d\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 54657374\nresult = invalid\nsig = 47e9373136f0034afd98de6e5519770af7ed2bfb4926ede7b6b774cce7d8df94fd56de9b5c8a2d0d3a23c2a49b171e62e9233bfdd88a48d66ef3b1007cf7425b46d5823b3e11a4527716f4cfa9bb4b9ee0fed76c00a6f5e1093ceb2117eee845b1daff24f8da60456d429a94d180ff40600e29088d1c181a60a233dda2c01fc3bd24f248f8d55d12c9b818ce608d8ef9194ec2379ead30addf1d88a4b9879f5217419753d036fe39e88cb0461b5856af8f2cf0b5e6e74ee8c0d052b851029ca7ad23c2eede49a3d916d5ca5a0190a92ff3b2f9cc4e41dac240620afa6efa358a9f1539abcb1073fd7a5fd18552437bc01cf5149506359e822cc405f5b474510a\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 54657374\nresult = invalid\nsig = 9de821d4fcecd5c3ec6ebe88582c61390c5d471724a7c9aad4d4eac2576aaf133", + "d92e5c53e45d43bd707ad80a5d3bcff1d45599e048ea27899f27a873151392afbdf287aaeeb7020491c835050c7d7fa3a905eb529fe2760e55bcf994bdd25f4bbeaaa26653660802b4131cda45e1a51fda7f6ae42f38ff688c8be59a70b7ad805e30186177e094ea2ead3b1dac4c24a42accb112155abaa12fe452bac975485fd8a40a549b484fda7d078bc6e443ddcc0289aab9f99061b083676fb00492aaca801cae31578247487fbaed775a74fadac298be953e0a108533211088290b3ed8af563186a18976ccc04e24097e4642d0e2d5242a28ec13ba321df4b8705624b\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 54657374\nresult = invalid\nsig = 7c566a9339a3bff1a30d14b7ce5b4f2b1037907657106945a1159ec0daa86d687fc3db4b0f434bf6f5797f3870fc935f0aa1a67cafdd57b3e260a5ca95f17fe9e745a8aae891860e98600b835c0e18d119f41053612bfaffb9c780318d8628a965449b38a508bc2ed5e9ca208f44189ee72ccf5b28208eb27968fb5613bf070686d638e48d8f2dbd3b8ede717f350c41e1d97e9dd4d3a82bd0fa7ba4c49ddb50ebb1d522355f0307297e7d833e11125efd6d4201e6ed7fca9f0db1813c634af35d780769dc08738bfefe32fcef60014d5049ad739aaf7d2b885c2dbe97c726c269333d592d0c35d0a1b448b972346dcf849cbe370854ef33270e49b17c93ce7d\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 54657374\nresult = invalid\nsig = 92996c9f61dc7e216d111ad097ddbee4cc15ae29b37b944ecdb2976b440c5e94ab693d118d2c129f10b327c46ee8225099750df108ec8f412796dfe607c2f0535ef8a4a66394bd3d72e242e8182c3b1f9e8b2e29420aa6f1dc4c6268d982931f1ffd177293223de1e6c8bf65e1593876a6865ac228a898f475510ff938ca9f1568b0a90560cfc79dc4f05734013cc0aa65602aae3015dd83a7566937808b1e7d8d64fc0db46a47e35185ecdb9c086f4b857007ac3649a7e773b04dd8b6775adca21611b819e4b90f9315d4769771cfc674c41c054fe8493149eed9c84747b067e5efdf289a798368298aa12628a4ed8021c0827b0893c3458eae2f8104c12999\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 54657374\nresult = invalid\nsig = 3abd11508528361765b79ca41cdf3a114305b9c481b11eb71b742694d5f9ba59f3010c066971df5b80f969fe1971449550031ed1348de43ce3bd9fba4d1b93e1f7d1e4e0f79e98466ad37cf0e5ce9fc01b7e08a9a540d458f546bf53fd6f2bc215366cdafb9572600c0b85e9f3bbe0dc287b6630d7fd10114ff692fe2799959f6777daa709fe7b42d70161cfdc86c03a9cc815e51febbce992104020da3f7abb3c800f4c8ad7f7bb56d0c82689a32764a3029210913a1f78ac54c50af92fbd5df563dba505235deabc0a6e6a39c4f8b211747151e3a677eb93026b513f0a121fbcf4b533afa41c13378634536173b1838fb3d436ffab58cedb48bf2562d59554\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 54657374\nresult = invalid\nsig = 70f8af936746d605b1527960344f07f63c2933c32f43cfb0509f4461b897bf09fc7c37e1828b4f63c55b9be11cc9642c2c1b6d44e388857207676e6914aef480ea49645296f5c0c01c63e1269ebc0c27544042ac036af2dbefa2eaea0be474d534e34995871c4efb9ae6f85b0f0c724ec191b3fe46554094a39d785441dda07713e51f6f9af8116689f65296e40ab21919c7f9a67c33be44dda122771c2fa1c5bce89e07dc739f671754a99ca273e256bd2a6c0812b9f3f3e76c2ff7ed972be9836a8a926cc680df79361dc94b948da882021ea1e1f5cb6848b2ddfa285c5daec97606c029c33c1fa312b409794c8e701a414f3cfe987b08f37b635d1c68ec8d\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 54657374\nresult = invalid\nsig = 53dea4ade112b2919cac494c1bb1bb9027ed7a70685451c21d3618ae862502bc052ed40a0000471085792a636ab95093b73f4eb4505ce6896fad47a27322a245cceb730dd53365659cb4467308bd001773b20cc7a850f48e78a0100eac31052857ca323dee8ae643241dcc33dbd2ac098aa5a6c87624483d7ff51b1d1d2f2409ab2d1d0aafd29002bff4640f8dd0d24375f7e0d5789bf71035ebab7b6ccd23cd0597103ff93882e58c0a5ae2899bbbac9df615331a9142c0d39a46d57a57c94ceaaddba6beb5ec6027b096ef3f8786d498db1baea9bf8e23996c8ccc17d6bd5b8f4a616ac31b0f5ea1181a092fe3e5b960d309497792eb5046c4ded68a460fc3\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 54657374\nresult = invalid\nsig = 97b5788236de2f816fd21cc21cc39b04be38d51c39805d98c59ef4647523a5fba15f08c7a2076fd63b71282ba90d14656c696f312626a17db5d74e0ed8234704238ff0dcb7539a846adb85795d0ecb407457404df35fcc04d41ce92379c08896eef2cd5547158431e71ee1cdeea4e1e42e41abfa6fb13dce3bf2955f8ecda8bc4fc7e413a21988d189794eb5ceecc722203b9154bae7b14c3c6f7e51081d7898eaee4d4cc84665909ebbf31d7c3dfa216e854c305c7ea42e502af50d6045ca3baf89a836c7f11242aef492586d77b4e6d96bbb7f428bd38e583768fa67ce9622a8e0c8d77c6af211eef2e2bc1418141dcb8401f67b8321095d623e00a3d65bde\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 54657374\nresult = invalid\nsig = 41ea411be09bb58c61d4ef960c124d68e9c2e594c9e2f460b1fc2259b20678418e2d0a7fb556464c3cbb0df01e1eb304c64a9815c992640679559fa3b2652553072575804fdee685121efdf4b49d8174ad1441c9a563ce0d02ee15e0e418ebe86aa1bc75cbb91bf910f8bd7dc1544319d0c1babfdd331fe6de6b6999c31890421a3803a99679f70b9b628c7ddff98f57cf2d4660feecf3deb76c35862e90a3dde6ad0a7e09d38485cbdc6c0a86e68bd913e09478f2bae177d51650f9dc630775f9b91d81c149a1e1db0367fa321488501493a715a8a70b406bfdec8b1a79843a63d6c5db1dcbcc7244f3576556081432930f152f466495612315479a5c2ab3ba\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 54657374\nresult = invalid\nsig = 4ad9f71529be0829b7a89c58aec8bd34e251f6df8e50aa5c51c57ed1611d72faf1cb114a8ff12dde0ab838583541a2abb38109f82e248ca8522cf7c4b385153badf5140bf84bccebf88f549aab8ce6fc438dad7ddc87eb2797cb8e7cf3d46e7bce4c853edcb7f0ca2e7dbe94444a3fe45d01818197ddcc20803d91793cfc34f34eb07bdae151fb987f164bb27b5cdb7c6867f2340ef14b900af51c335e68185997174534acced5d97db67835c03ec2bea14c3806810155a1ce916ebd80ec112515baf25f600ceababd9e06069176619b4c1bcfe7f9c151fcad91b018dd9c5ca6536ec999a7387519c42bf71f3b088d915f5150d4b388349b310644a5dc834cf7\n\n# tcId = 117\n# prepend empty sequence\nmsg = 54657374\nresult = invalid\nsig = 72ae997b4a0bf2841fc14c64a0c44580607eda384aea73eaab998708b2b79b44815ceb2c907ee4c49c1f083574e3476fe1e3dcd2c581596af38ccff0676c2cb24df91535b22e49e8f0723238555c748675e80e4907261b943b167ece76e9d767b64585a1ff6054f09dd5e22dfc7f743d691704698e778b8c031df4464004f2ba03e642654051165c9bb7fc2a1c5ce3054a8579cfbc710bda13b7b2bb2f23e6eb7221fb51ef2404483e914075cc4a9f8eb91f247a600675a9411a6cdc516e5f8b9b4c9900086a3733ef932255235c4e5b4484f49bf9f5937d3d9e1d0ffad627ec0ff0aabe08a0b0197d430abe67929bc6bb1a96b907c34b2498bad0664b1eeda6\n\n# tcId = 118\n# prepend empty sequence\nmsg = 54657374\nresult = invalid\nsig = 8d6ac89a1e6e7d09e463eff106d8817d50ac80e101df01329d64f6001c7b713ffb4a96159f4cafa5ffa0cea9bc6b1a25dcf6f01572666382e546c0da556da811b5fac121a200825964cc2e90e8147c846ed3a4cb4b25151e1c832e3fab42d140bcab9f17a247d1ef819db5e6decea280f44cb4db5ff24e56515317847b4849acb6e58c16beed80200b65305270859eef3c5bb2677dc318e5841092c21dde882a02b16071a5c951a7edab12e3df75f4c842bbc48f876eed02a7f3b878e13a213c18fb54bea46fe8e9e397817794ad24033188b1268c7ed4255376f7807f9491c6370a3eff6021861840ebeee2bf7dfc8bff45ec9b04db5099a586d44ca71d8876\n\n# tcId = 119\n# append empty sequence\nmsg = 54657374\nresult = invalid\nsig = a613eb54af4df4410229cfd628f646ef26dfb7d610682d1187e9696d35fe5849cd9ec3d48f0b5b239628a08cebfe9c539c6828995beee9788f6aedfba31dae0c7b32221b4220cf5b0d53acf5d8de4d80cfdbd2366203a68b43a72bdfbfae12b96314fef915d1b6fcc645ca935385d23d66418d47d60fd4c7395afccac61c4a02df3b0edd3152c2e398556785e9c982f8bf55e2417e614ef694c17082e556b4a48ff9e7155021747b952011abb053dc09e487450cc7a8a02b7af672b776ea8561504b8b08e2e219919ba8cc7e24e605cd7ef856cf25f3d3391311415ee67dc369b52d676f425c773d72baf572b3f5829fc76925e3386cb770adaada942dc0a4ef\n\n# tcId = 120\n# append empty sequence\nmsg = 54657374\nresult = invalid\nsig = 7104a754fb3341262f603e5695d700b35eee82e4ce5b5f82010f7b8d788cbe44230aa11289d739ab6478b7336772fe869eb5e702a6275a7c385b7488cafff3d7d8f6843229674a53bb6be30c84b3bf58c7591c7374fdfdf1f5fe8c948f7d472007e6c327d9f67f44622af44c55592946243275e5cae5f8ea8590d6efad7820a06181e8180cb2b9f5f0480fbb4e7ca32ae5265e019acc39b46d02e77e0f09426a2b211ca4420a970c805e61fde998d39b14a9ecddfc852efc8d52e669aa80405647330e284f87206e97d4db2e5f798f77a83043dcdbe76a9c876bbe7a14528bff82c35418a6fa6d93beda59bebf2ebc050adf7091df4a20b03ccf9cb335875868\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 54657374\nresult = invalid\nsig = 3a8591323375e715c95eac00397c45ae7728b9a4175f8d065e402c136e6b555c6ec86917f8d5406e620f8a9906fa244e472cdf2118e4667cc43a6b1c34c18347f2e8ff1a1b5c0d8151b3d9d43f973151fa320dd8b9535d4cde39aaa1924bf57cdc7fa5d4244fbf36689f54db18691700dd0be2e5a50e57b1627cd91e59666a60b40abc0cac8e784e361b35a2496b3e5edc88792044e271ad7784e22fdcf7f2e08a6b686eef758ad9c0848a2dfaaa7e7a28a33cdd43405ecc61c013fe6c84192d88798a1499c4a6c370bf8cf297164f4be0c42dea8a0ddb4742773975c6059d7ab59ab13d25c6", + "850d2b55f86568721c777072ceada29685066e4f60e3066fdd6e\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 54657374\nresult = invalid\nsig = 9736632040b7f03af98df385f0288f74a3f9ffe45a390853e3f1d1f413b95be56d5d979189790d954a22759a4c10dc9acc8f4fbcf67031d002bb8877071a579df75d34e5803fb8f084911487ff650d1449eddfb60d66cc1c3a0c8271c32f4b3b3f7e72dde31d52ff876dec63c5051fc89b257084a8830cc7e388deb38cf6de7f04413ceb274068374040d4091e8a72ccfeecef67fca6ea0bd652b273a883ca1d5637bbf25133cc09a3d9c992f5cba12bc132fbd9adb6ad1f89e9ad11178bbc7b08d0dd6d6329319eddc643fec21a5b17595296d69ca6ef8702b62d60b92bfddb7eb01bb23b204ec0fb27ae39794893681796fb16f47249493dcf199c8a2d74f4\n\n# tcId = 123\n# sequence of sequence\nmsg = 54657374\nresult = invalid\nsig = 7c26f8b91b43be4d09cf5ee7490a27ce7bedad4575fff6980a07bcef5cf783eeb57aa1863ade6ede8dc95d07c1a3d0841652b357be04556a549fd8234ede8f5e5083a3d4af273e3023f610029a0b3cf85a8a2f276e4f57251e2a6338d2ca0305a685dcb240f36c966dd0da783176313ef7c93ae6d13008099f846438ad2c9dcc0ec9f8c343cb3377d5d14ad23bb25b11c19a5bc460592591697e92ea088160f87c0418b0903bca2c7567dc76da84da000233c391f93b05e9e8f01b78639bf95bb21f74b7fe1c00b64ebace8458d292bef3acdbff89276702c547171d8aebd56dc24f98d832feaea03cd16e977b99382040f2ecc1ac45885c4f07dfbf9fe61d35\n\n# tcId = 124\n# sequence of sequence\nmsg = 54657374\nresult = invalid\nsig = 4a4b7998d9282ad4b458b6b041da104e98f8252b711bd07b7900d4acd3cbc7b1c90cf78eba718c87b9b6ad94fb35566560d6d6be59e801862505e908ef42c934d085ea82fe47de6ae3efbbe1dfcbaf99005ef250ed6fb74c09095a031a30fd33e52a7e7d0b73736f3f7516ee96a08f61e3df85e174650bae50b4dc632698f6e7f1efd2bbf10464153ed4dba71757d2fc1966d3c80e0c555d252d9e9dcdf59534175feb7db6d9d17f30c82678d6ea680876c2ed71447f127dc3c75852dc0fdf0e1c17fd1bc38bcd25501f07a5c0dfcfe295f0be27cfe18a5c596960407623097cdad148e5043433bd4567951ded89d0bdd8528497b8525212b8affbcc976a50f6\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 54657374\nresult = invalid\nsig = 6fb0241a3961a03138b8473f8bd3ec202979a98f07d325909a2e85a52167fc379ab164c4a03986edba638abf1f8817c1cb89f297387f2d5938e707aaa53eee6bbd6a9a7fe8b70a31373e675f443c902dc1d0dfcdfe4b3ea83cd575bffb04071220f1094b9a3e7cd04fabd70c0b8761231abebd3f4eda11f74f83d77a1a44e28432d05da33998419e5cafba0e81960963209379a51fa9c5c27649ec89f8a528ef0a885f055edf3f66ab1d4baf07a405b87678ed6d170ab890ded0e8ee90ca1ec0e9f6e5ac247e01009d6eb7101da6eded84339ca191bd6194e3b6bd8b094da788c1ae068d8ce7322fc7e22189e6cea7655b1ae690da05a0aae46466800ddd6f26\n\n# tcId = 126\n# repeating element in sequence\nmsg = 54657374\nresult = invalid\nsig = 9300a86600b600330a19b750ceedca9da6c96a99bbf65ab7dda6a5924d22a5fc9a2162e3375172fb38f62aa52a9fec71af1007ebdc5ce29b02163d9c55ead2141959eaea28f13c482be046d676770e02b71268d54d52839ddd929117e4857c9a6a17f92915d0acfef9bca2c40819ef58130eec1bd60359bb8f47ce67f0663086caf2281136b6076b20310203a9ac1b293c511a53e10ff880ffcb7184be60fad58586bc9a11fb51d7dcff71b401e42c1c7e92cacae3c50b62dfbea390c285c5feea91c288fb845401417fb01a09b3b6f0a1621df5c172632d40fb2936a7c2b62e989b848a06c098e69a333759d9ba2d270853f65daee1f7a81bdaf64af2347517\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 54657374\nresult = invalid\nsig = 875b9204a6603968f50d6e4dc13d3192077a286c3475165b0bd160ff3df39fec5859a512886fc1e06916c2025e01ae2f7ab3b341b6372f819a625a42c22cdafce031d9635f95dd962a8f202b52f9925f07bc0c94434a2091d861729551e37d7c6019e16a47ce87f3f4051b8e9adf62444b522f522918c391d82940418cb3976f0c30634bc5dff2c4c3f36a4489d00c5ae65021b3bcf5abbef9257e3c976e5fd305fb30ccfe13c43fed64c371f8532dddc70a1f411cae257f37b6743da2d9567f9dc3513b267ee26e2da1a6ef005526fd90b6ecdfaed9a8d9e2bbdfae25b0adb81004501ff32fe1e7b7acfa18de5a1ab876705784181b1336288aefdc91186c3e\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 305b0cb38db7ba5dd11c1d82195313b522f57ceb7b4045249dcf5977b99315f6708e9d8eaef6a89da0c11fa6f8dff3aa9050369cd520dd6e957226144fb68c846255b923a49ce896fed8828f8956d0d7aa5193123940ad0a5225e921ca0dc0852aae48507c7e22ca007f403bf0fcb6553d0af0bcce6be17eb53b0e8401349c8d144eb1ddbbf8215fc0e06d6adef096acf52d71978b1bffe95ffd21899256dc944fa9cfd4d7a25e62843f965d55515f6c45b22a825288773e25410582f62b9f1fdc1e0c6d4c941b90de7d8c3b18cd3eaf5319862d7ee160a5edba133cbc67024771817c7eda526c92d146e3b38b801025d01871c3efc2591a32ffaeb7b20e7dbc\n\n# tcId = 129\n# wrong length of oid\nmsg = 54657374\nresult = invalid\nsig = 99647015158993892da3dcecb4fd837d0111d7ac81efac2e1bae2242e6605182ff1ed43e41b81b85448367815c6549e363a635b946ada99ca0118cc35f37872aca53b024aab1d809909d27bd664f32be9501c3d4b7e3539c2ef10bfc340a89c23cd2c25e51425e2e7f989076bb716057078c968632e0d47ec81192f37dd5dc4d8a0ffb5e9b828b08b47b350801bb4d358e91165444e8ce8bf5d59d4dae17202919f67c7ec8b78105e255d1714ead968b9c075c11e69b5478c3595756858a98e39f321957b6ddd63b37c69d34891beadfded732f0ba587fba6ca62b0e932acddb5c5a75ac316974dc3b5a27cefd81d799a8a6244a9a78fcbc403e6fb41e4f157c\n\n# tcId = 130\n# wrong length of oid\nmsg = 54657374\nresult = invalid\nsig = 629e5afc04cc1f4c602f030755deeedb0a5f5c271b3d52556e81c44911296bcdad7f5d223cb6d72cf9740554bdde2936a7e3cbfad72a7704d27343240f68e2f598892911e50340c2c29a41c0d10ebb996c7e92a94fcd23a03507488be345ffd63db338b19e95d47a1095cb6894079865d299ac8101a443e6b5a9557acb9113552932108565d1d3409aa30b6c013c54bc571a08fe9f39c6a3ddaad948656bf77e7407cee8d74a037ca6860a466ad06082c39f9266f7ea16b62b5fc149a7d23093b5f7c48f81673574c8a68b75503c15ae7565775160e16d0e4035489179735c0c9736e52654d4c84c1a785f8b5a9ec2f42aecf88cd925dd274ceeec7e1d31ce4f\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 54657374\nresult = invalid\nsig = 829207379fc900183437b9794d8f7fe9ce67bf4dfb66b04c5e841575ff2ca607766acd6def23b5e22d25be703c0126be641d72f245bcdd60ca0fa8ace694fb8866ded8d5b572852ab899b5ed8808789167ffc699c242c7a6124f6aa6754b2b8c7e654f14aca2446a40f64030b0d836562ea9fd44adb75d235f1b7ea86048b4094aef96f0cd76c31ce25788aa9fae68c1062ae48c9a6b9130652b50be2f98ba64c89a987c0e566ba74bd3616f79567bbdd867f0081e97d0fbc948b6819f46561281061a413b4f3f43d5eb4174052055745d950caa95c320c4c7fc5e02f604071bcc361c20d72dd5509aa496a9bf1d497b61a064893880e052957353b2fab31476\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 54657374\nresult = invalid\nsig = 615fd599966ab4eb5d30e60eb0fd82ceff2eb244b4888442ed7f6a1f32005ec8818cfbe3e6f4ed7bf9d51775635307e281ece422219059736e938931dcb7fa1c0aed81808d39ec396acf70766e918f017fd41209972ccc55c1e31c84eb217a2d82dfd84499c4499cf0362ea60c40439c3d47e8a05128fcb5f445f08f5d92a29df6824d7c8bc735941ce54f464e44f2bcc6eb3619248bb52d04da149a5f9cbd9cf617257dc95a152681656f537a2e2053170cb2114dff07737872703914144acfa7f26b148c59258ef72e2061dea6c035853a6be96063dc05109ec7f2176a4d601c41caa637eebe907b248922c6fda83bb7e9481ea500576144355dbc98779944\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 249c65c65a3334eb4be16dcc3db0732547ded2ce4ae6c10b1e1a0f474298b2ce230c59e7e746ffa173d5dad3b16dd4325e5469daf6ffec2af4ea23db279601b014b54fbcfb3578b078a8ec53121038ad666ac9408d65e8ff4570aa3b5747041f4c3a45a0e9856f2ed04b3c2060925a5c77314f7bfb5c85a71155df5b23f694a9caaac2fb11dc6612bac680d7494ee19bd4945ee82c5d1f5acdf6b5ab46e937a90bc4d6d3f301373026edeee725da4ba5202e1896b716bd8c69ddb95fb364d697fc596709b0ec48bc66041df7127aed311110545c4aafd228ff55986781780455241830397f8fb6764e33d0262aa65814521ec71890700a093f50db4659cc5e2c\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 2c59c0f5bf7fa3b6bda22a75dfc3ba14c26ff3e7ad24c1527ee7ab7c032dbfda6ea5171d88df2de56c1ad6d955dc41bcb8395e83518e40b840c062cfe982c0e42065d7e2a9bcbf91dee53949bb6f67c99d1e1fc44cda982a3df171f9c35424efb2f6c0cc169a44b6e5015df5150796a9c669515aaae57076bb1fbc9480a8ca6954990612eb0314da7efea7d14223081618f2225ce3ce43770d457e84b54a80cb3a35f14c511a2fa2a4d295afa6ed3996d47b5a0c6b1d7c11ab14bbff13af67b7475ac543307626598d69557255bb3a92c07e36c3e9d1530b21284b3d5c2066057035bc753894c01e0f33764b51ca3319ef32d4288d11c7a1767ed7ed89433216\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 31e48e30de0cf259d0273991b633da6228289d540d84c527d5f12a13d2d6fd489b1ee282ff5261eeffb8e1c716572b207eb59c1dcf04bf9d4a9ca92feccf318254aba5fbe1df1dc6e3101f2ccd0cf329d23cfd9fa19c2acfc98c319be1c4d9831e86343513769e4dded967f512d5371ee845e47544c303d52ebeaae15e139eb2606989268b1ab641c44efd8b1ee3a5fea73907cafd4322c00d666", + "d3d0e11ebebae763b0bc4948acb034eeec91ba2b90cb40218f8c8f4653338eef0a4d31e3dbd29a3d90b9a11c8fd8e613ccbec221799fc2d98625215ad28ed9b7c38eff27c44fc5cfd408a6ef1c7af90465cd4b5aa424c48604e2d72bc10d9ddfafc30129a42\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 300282f3e571048e6a298d3b1d979961d17e5f460510227aecd83d7e8b3e21c76a1a304bf464dcbaaaa3e134bc5b25ecb745b78829fe5d7590c1c799bd613ccb8e1e55ed89abc0fc663599e77ea87515c2446091cffa063d6b2df5e3c623da69bcdfd9da5176356f76b05c98413d762cbe0f47ab6d470eaa8dac88dd55890a8c386d5ba195bba8751af133a24d204b7e7077e7a9268cb9dd7021d9348f12dcb46f145a19f0b408e2563d5487281db1c2807908ddd125db751b735adaed2f8e8cb55ea470a45383e2991b80ae0126f93555908a9154c1633c820e8942d4c37c807ac6a94507a3b9e1f95ae5a712cb7740180eb4e56c15d4e1829fbee2bb1e642a\n\n# tcId = 137\n# incorrect length of oid\nmsg = 54657374\nresult = invalid\nsig = 7705d76a011d696708921967a9e86166528d77c656946a5ab0e157a78073f4b2f2785a1feef6efd8d337a22a8ef59c6e710e984844498f0ae0c1f61b5d7057d09e3fed79922d492302e28c0c0401100049ccb68fab95feceff0acc24a913840290b27477b295f942ba232e6ec76d112632c9f02f9d40505323d81f4ff1bea14f42d6743a3c2867df273f80274fefbb20346c3f1cf0c2f87b55e8de277a8b2f4ab8006346dc8ceaaaf0d4af382337952e3c55cadab336da343723bda0ec0272ad6251995d58764679135c1a20098e9c3df54f161bb16bce5a600a075b36022f224ad5b4c7dda09bd94bc7eda7a853d96b5100e5af8fa2dc1a6964e4e1fdceb826\n\n# tcId = 138\n# removing oid\nmsg = 54657374\nresult = invalid\nsig = 1d35c1575269b1ca4e071f2fa19ae31388f4cfbc7875449b2027984d2b363bb2c77c80819725e03ce9f3db97cf939b07895c55b93cfbb204a3b036dcb69470e9e99a5584195ac3dd24214758a82f354338e50c69f3a5de6cc0920b845550fcf104b397ab4b4add6659efd34f64b9b673e73662ef5fced6e7737147e41b48e36410eece6db65f5803b16d33c25cde6bcaeda8930e7635656d9174d179c74f5df33b08d5b90e866624180f0a03fc6a94a8c40731658a5d90a071c6f77e460c6ae1e6d6350869db442219bf3730cdf3e74ee102d6579fab4892e8e410f06bd4cc19d776c47ffe667071fa437c80452950df7e12d909e0d2f7494a8500e1bba86435\n\n# tcId = 139\n# lonely oid tag\nmsg = 54657374\nresult = invalid\nsig = 5cf9db664d1baa241293db08ee7c8d4cb7cfd374d9c4e0a4fe3c81fee279be9f0452e6545a01ad3adace3d0843ccc26826d446c9bbcde6dfce30fcdcdfcae415b6771cce7f1d7505c07969a8abafb200828aff641d0c07cdc4a9621c6d0ac607f950ee0652c138b4b48f724a632c8345b2919abc24fce3d815f82b99026f258a6d2cae1fb767a3d20591aab866640b4fe821e010e19db0d696a513db246ba42603b302c64f17c0296414dbc14a41726254d333f1dfcf29f55fe22a576eb6bdc65c7d0204d22001e858abb48069f65f7c1d8e8e84365429c01c048d4319765de14c48e68a4f7c898598597677b294d71fa2b5278a0a9eb52bb627c118a5bf2163\n\n# tcId = 140\n# appending 0's to oid\nmsg = 54657374\nresult = invalid\nsig = a15fd53bf93274aba318e4f37dfabd414a47c27631f0c779bc8cc1223621730380817ccf1147a18b778481c64c48edad0815988e6942199d0b0599a1e33636f7e83e6addd65d87e53d734357b5d2111231cafd3a4e40845073ae50d4506f37d671b184246ce15a77f36f554607f016e7f7806e5099cb2a69ab4127c893f28cd8fb8989863e787151cdbdfc9e0be0b3235b1057a39e656ea482aae6d7c3aa08bd06fd38bc0f9b21240233624ba5c767b5f3f48c7fe365ea1552c5a9e64934869974ed2555ae81f9d5cd20f48579f238de1e150fdac4b321a05938638b81f0b7292a61e12528b077949f7ab3e6f8e1f78be81da0602fb30b47f569f7290cef3366\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 54657374\nresult = invalid\nsig = 8db939e248a2140b770acfdbe16ea6153d968ef51c56b024dd1ec56cd600ad79172a14f6253d0a9bdffe9ad10b6ebf57eab8528474fa96a06c9284e5fe08c48dad5520730cd182dcf1bac660ce3411c7cb68686b3b91c5a55b8627130f0e31cf340298117b3a0b358a42e9deaba700f8d2dbc934236cf81c0c4d15017602e82545e1eaf9d31e4e8ee51d35054f3b05b7a7cd121854a0661ca19706ae95cdb0582cde723e389d58579d02c679f8d287a2d0ea51f442df0641682458ac6590b3df77230273eb779ae4b827c09075c7163b993eae72ec0596c2adafc8e20201e21eda1f4a13c27dd9ca7b3bdae47707b362912979357aa587ea2d86c9c2c2587ac7\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 54657374\nresult = invalid\nsig = 0c985f857ac4219bbf98f767f42c7e0ba886889a0a7612a3e7d7c8bad581250aa7ec8a71567490d0c509a6b927b8ad714107e7248ecd5f1ead25828707072c87913e7cb765fce62d175c4335d09d764bc5322648e53a73eea7f55371a9a73a5283500e0d1bea254d217fcccf917d5e0f28b987e9a16d11361dde37d699edc524714122333d897279eefd79274c095c2d6c9683673318e7f3536296c6be23837d69e7222683004d7e52b017e61a27c5ff3c8bd4ccd8622a52de0d24baaff3c43116e4f043ab30cf8549dcccab4905f458ab7761792e7655c6a66eba7668e4b731c62ecfabefbc31a1cc8b3e8f1a69cdf9c8f7825ef266d9c7e34710f6af936670\n\n# tcId = 143\n# appending null value to oid\nmsg = 54657374\nresult = invalid\nsig = 9957846928b38e0fb520a2786df5307373a096bdee5c5605500791321564ab48283a682cac388bebab9212a6429f9e03519f4f830719df9b313d62f2c46b78eb936b3ad13f3e6ce3429181678359ef6392e68bab0aaaf925721c6f991d989fe1a6edac5be9faad908b0ffb9b0b0b5e32cb6080bc9007a5da47fee8e343803bcccd4352f284df0e418bf6c8317b6ffcd7b4d9e82a911d654f0344b28f39f55ba9f1955d7976ca153059d5de7bad54e21d49bcddf8051a53e4ae496759504eda1ea3ca3bca7f6d47821440850bf44b2ac43d4afc1620b150b77f288af03b41c4d32977f726a91c80cb5c37177bddcd5fc5e206c4284537d8eb740f3285ef1a62de\n\n# tcId = 144\n# truncated length of oid\nmsg = 54657374\nresult = invalid\nsig = 2d99760b2853ce20a37f51045006ed11d83b250d54da4122e200179a564a296292479116406d69b858cf15b8575bfe9df9832e484ca8fe4f0a24bf62aa350194ed642c68bb074e70790d7e18209b23dbdef6756f037a3391e6bf841f7b6dc763547565fee7e9416e62504df61cbc00cc2ba5907261e4e39bf9337e7a15594732f08ce136f37752a585e286c001424351f30a9bd585e3c2e2d99a6c91f3ff3081194b24f6bed3864b36b14d1ff3a05b584e06a994df9dceda839ac788d08d608009681db0aa23931d8f4a3aa1b1f93b6851a7899723e858eedeae4d25394bb7954bdffb975a3a1e4d46339a0e25f8e85958b006cc5f0d5b60c9fad1a829e81342\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 54657374\nresult = invalid\nsig = 3e0270e701eebc757862ec646322ab99511bd27d1351bbc3ab0584e218dbed9952a9074ebb7c5fb8f846a0f5d90dc1040e2c45914c86ae0b722f1fb95f7621b986136d7656a2a4300df494c0235166e51e3c9e9fb98bfb4604d4838adecd5c55300332ae0e141eebb328524f1fd95adfcb9ff7fabd203e89775f94a2e84ecc5efc0d9626920ca8a13154dd0e97f2527d6d518e6d460299cca0db870b0834d5b99e464760c390768e97c091708887244833117afa89baea5c1641b88d45bb9d711bdbd559af73bbc8eb91ef377a0140cd639fb7e8024dd3c48ddad6e37e31ed0a3fbc47a6c28b5fa3df0f38a912a4fa2895c2e25f0cab70bc5e660f725fe22da2\n\n# tcId = 146\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = a781bb3225276cce1858b9f9316f6dc40abdabda8119931faddc5a871b5ae9c7c68fb1151d9cf477a66e4a13a6c3f114087bbbf219beb524e308a91fa88411d450053605f9f00bf28a146c10b825ac3205174ec57675035c8cc2c9f411fa1df596d1e33a7da0afce271c6b456c665c430cb619c971d60754afcbab103ca02aae079b3803492109ce37c800051ead6d47a4e0c30b8cc147c66d5eac20399249af4082e70c7d5556d2b0d46508e2e1fb805b6ded365c2f0d20f33315a8d49f62896ade6e0ac9187e186a73e5146cf8da9821c2e5fc5ad4ff0b28347322c09da2dbb196120762093ce33fdb53d8a9579c13fef218a62a834d5fabf53e1ca8a751b6\n\n# tcId = 147\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = 5032da548bf0168a4b3b3f99c144e3e13ce14b7d539e397f37847ffa8db34a0dfc0d73d30e6e3f2a23f0ac92bc5643af1adaddf9dea73c688ea98364c1e610835b62f1ea602589fd44a8a2cc73b00cebc75c212228b508634137c1eed7a942c18bc6ed4bd0ffd39961f54bd4455155c08a304c2e05d78950e42e92275b2f02df29ec2b2523bf97511a0ea3126c1012ce9683e175a45f7ee24a721707b7b7534ba8441633faf9953cf120dd6a13c8d88cce5e0b374ad2a3366f1e96f823128bfe6b830345e94d611e1d923620a57db4ae51e5d17b5d8a0eb4acea8377cac9b35553b7464e40190f40cfabef9bfd393d0f87e6e5bb08775d9d4768e8f2f0cc4a24\n\n# tcId = 148\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = 489a6107f0052ef49f97222aa666c8025f2a30eb4bda5f47c888d256dc742094b2b03aea0b087d3f27e6df02fda958780626512441910fb83a7e4412a3aaac388933798922f6a4dbd48b851680d1f3f84e39fd30716921f99b87945001d26955ad33ff1047b5771869a6f1519906e461a7a50d8fd08d67a9f9fc272699e7cbc30a12aa8601fbab4884878a371b3c1b00054e9e585df1e2a084ff3f6a3be5f3e32cc6295939c1cdcd9b3aba7e58ec73dedf0caf5d3f5618c6909435823140b29635ccc13f658f1339fb2a3b21e1919be181c15edaf1cb6feb142464e6eb4dd18b9633f55fcf370b6c0643d6710b875df63a6220ce340a97987e577aad0fab4eeb\n\n# tcId = 149\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = 41858f3edb8f7fde81575c399fd90c01162e6017d0c03b5c68167fcb668790d054b40d4d2438daa0411034ddbea901ab1924248185dfee64d5944486530fb407cf967d171110ba8acf00d1dfcc6c7a330f5f828fea17a9168e083f8e118857d29baa32351dd284a2efa0672ccc3d0e917818663cdd", + "a0e5dac638ae150c308b8737a50cc9f17a595800ae925930319cfbff91c02535d3d35d3256591094a38b3dd10af4f51c2eaee0f8bce27aff7819e22a2191019e419f4e45fba1272d104e0c278654ff6a21b9506ea4317832e7767f46d97c64e0041c767ac1ef88f3ded74fca09bcba82b519fa7716a9f7c4a2b78931f6805b4f914f6e6bd0a3adbde2a88f\n\n# tcId = 150\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = b1771079fca7ad8ba3698a9cdf7bb5309d55ec40500fc83424f1469c9fb77ed08082b5ad1e66890b51465763d1deeadecfaf9c8efaabadae7f7fec17589271ac920cfd1cb32135fca21ead942ba15f09a38414a796f67a5cb29f877caa6ff8e1c71755fedc58485dd9d4d62455c7a8b2ca2d1906e8045e60f681c39a0a162dfd63a9fdab5954352515a926324dfe252aa1a1e576b4dab1588b08344aa40f406f6352317055a8feb9292b9611c90d417b0bd42fa7e4a4b82c63885423283ae4b2467fba84c34c391339a5a3154d70d9543401cd260e9db236b1f96e705fd9704fe557a53397ff99d74d9d97847247e15ed410aecc0f74bd7bdebded30e34d3412\n\n# tcId = 151\n# dropping value of oid\nmsg = 54657374\nresult = invalid\nsig = 9464a738ad70b16f8621a806e95d4d2cb1866383dd6c0d61ee85bda1ac8b56c3833373257daff4d360b1c366c10938929a8ca0819ff929311346501c67aac447500b2fe5b812d7cbf93db5e5631cbff3c498461fb446eb0f25c881043b2339b13c373012d7546b9b194d45b9aff2283d7074f6119420bb6442af9116236b91ef37f5abca8aa9eab2b0ebd44d3bd302ab51a67e1d9433dedeb1bca87edce75d02ef149dc5784e1772c9ce846c17e4f7ccebbc908c46cd062e0e4bca76a033125a407919f7862a6ecef7f6bdc279fe65ab938be35858c98956c95c396b15d2a17c1c2ac996b5bf0fc345321fff7dfc44fa4b0b858db0f556de1d477a85a19f1856\n\n# tcId = 152\n# using composition for oid\nmsg = 54657374\nresult = invalid\nsig = 06d0a8d9247e6e39a8e09e7f8db128c23225d88e831068cb3187a6cf657d709710c129f688c3b1560448986e1f9e83a56e9053e7e7ec86f61c597d3713ba8326f7ac0098fb51a49ee64e306c249a09533f464a59f2e5ebb3fc85da8be6a60ad076e8091774cdce2742d5f9112d8089fa8e3071283e2bb7b6869f3c44d6dd9803ce6e467bcc8122d1e96832d05033f7ccdbd6bbd0666bbcf41ee1aa077454d0e136b725e7fe0057b2e5bca0d9a645cb50a67ea0b98e7c0c60a91c5b5098638a3027bba417ddf5ef968ab5d1695fe3c2b1fcc664624a783cb5ed2c6261e0627a26f351d8d2eb055098a2b8540791c2e763ef27086b1f7cee54837514790defed29\n\n# tcId = 153\n# modify first byte of oid\nmsg = 54657374\nresult = invalid\nsig = b06563b316ee2d9a41adc5a99748b373538f15a44c3c9227e46ec05f99bcb14f4316110b1d1a82709dfa57e6a81dff1f3f692d27a96ca51f44e7b9fac9d2d87eebadab0a2d4b8d90427af8797ec5819dd451787ea741023f2e208ebe8542dd95f4b24cd86937bba642ce66851a782588fb2bb9e2d8fc9cbcd20b79f758537799740fde8e1a8ac4888abc363feb341758160f0d21498eb754e5189fc556448621a4dc095a47ba5b2759315beb9430ccab5deaee086cc87ade1cb243a8f4d9c63bc80f200dfdbfba9624e6084046e05dbbbb836ef5e4b0a06a8a26578faf21eb155cf0adca6b72817dac6c3c992a80c708137422b015196169bed668cbe78a9792\n\n# tcId = 154\n# modify last byte of oid\nmsg = 54657374\nresult = invalid\nsig = 8848be6a99395116fcb45143dabbf7f8a95b800c269af5a986430190d9834502a37839afb083b66a96713159ec17e66cdee5e4110d0f9c9c17697f38af177b93b17c0fead88ff2dc53a0b5c502f96c4f3d402c623dd81408b06426bf6ff7d602ccc8eb21db91c6c0d614d108703ed32026de99e1a5c411edd7c6a66976faa57cf022a34111d791f0e469080c7eeb84999e0e9040def04df707fcc937095993f1a8bfa889c45127feb9de274bbf08a805d32f4830b4c5078b65a9340bcb9b74b9368c02af63d2b3481da5f57eda94ac2e5255d3b72bd1a19e45edcab46a119736d7e2508111a0838d1e6fd5bba4eb67ef697976f3cce044d29c6d8d76c2d92e1d\n\n# tcId = 155\n# truncated oid\nmsg = 54657374\nresult = invalid\nsig = 0baac664f223ae40e336ad610b804b5997397b46a4a2905de1287481aa43a5bf059271b6a3ec648faec7345823aacf1bcbf09189b9dd349bfdaa979df8fa78fb199fb7c69fe824f83f83d566ff49e2ea28c704de66f187e3a42e90663423bdd0c8b67dad4e92cbba14a1ccc1810a43d116347ee7ec21ff9a8324a4c110e661092426769a443627ddaf25ea4d144427993a2e82e0b15f20936dfc2405da8ab5a6232b9552f175331e220337f22008033910dde7bdfe87b2f7f3b4847e665da5e03dbdb866b05d92c5ba490bf5a75903aaff4f657bf734d284081f52d81e6bfb040dfd6811bae2b73831ca3709b6044134200c700f2946f234f946a69886be2bb3\n\n# tcId = 156\n# truncated oid\nmsg = 54657374\nresult = invalid\nsig = 2394109f99286c6d9cf82b46d1015a086f826e3725998819ef5e1d99e504df76a7dca903360567cc58d6bc327e90d7555d646f42f7c452777071b3e6be8ef1a97c0b33fa50709806d83fb3b8acf656067050708ee080af5a85aa2ca3f871324759d06d9a019b8314c66c15cb0c314d807026515d46e2163a19e89a7808af30a71acea51f92dc5e39d237eabdcfd46abe7cb8af5a47bd352cd5b1d0dda6fbc6fa5dd19b3051ad13ebe75462080bb3b7f23b013085e6f6010819494b5b303c279c2cafd1595831daa558624ef42a46a4621b6374cdb2113ec5d8e8a3661e19814b60b5394d9305c7d02073a7d930ba9bd912cf72efac5feabb8e69f34b74ef7775\n\n# tcId = 157\n# wrong oid\nmsg = 54657374\nresult = invalid\nsig = 4469b8e895fb4340328360414352059a4b701d2c21cc2125d91f5025b7b22ae7ba840123ef45ba9c8c27a8a34a74f010a4fdd6be9474ac270501bd96a602afb05df7becdcaefb29df9be5d090af6869a4311fe94b70bcc0c5633d69169ca038b2fcb2a4abe60c0b542b308527781d184d06966632d7404da5e3494d76bc72e9f87d006950e7a4388334f99e212d5f253c11fa8361179be7bc927d9437ed11b7685529e832162e41a72ba3106b9af7acf5fef70178fd83ce3598683ad61c27cd1d69b437dfdf93ac43a1876d594e0eb8523a0ef8f75ccf1ab079d4538bbb726d04f45ec864b04f57c18cd6984f1a3a08a7c3944c6946c3c3e090f9d833c5d3d81\n\n# tcId = 158\n# longer oid\nmsg = 54657374\nresult = invalid\nsig = 50a22bcb4b87ca221a77a31b676101cdf3ac4fdb41a6c17fcfaf62352e036bc7cc7e19e07f929da6529ba390d4c71d0eb8ae6cb64651156120c4886b34a146a47311897a2544e6ad96feefcd21edd7deaf2ed45ffd433b2704bac651140cec87c9fdce69e1b21ad75288af67e3e82ebfc38f750f68d76f79b4103c897a26d64e2153ad19a3b26d1d726203985de4b685b7987ca9748fdc1394fb57af67f261166cdf9ae2df7a85a7e486f67424db68292de83bfe9823c84e22ed29ff05b56955dd15adf223927f71a9443163facd531c1e9cdfe0e5ca1f13e6ba50f7070f4725e58ec76b53f0fe18d89c6042885b0ac441977158c4fd9d956cf3ed1a39661c45\n\n# tcId = 159\n# oid with modified node\nmsg = 54657374\nresult = invalid\nsig = 6e3aaa1f1d8c661f02cb5ddf2c213dd3dd1781752a11528dca806f23d8652da37aaca30adae3b8baa57abc9f9080c8be53c851c47e0597e04a63b8ea246d83cebfc668ac8b817acf442e2183855d7732fc5a57534c64e4e5eabdf7f3ab347b33930ec815968932a22753b5283bc055bf1e8e4660235879bf907a80ea6e610ddf907f24d4977722a77fb56023046beabfc196863ba3d194a0ad65a84d716acf1ca301365f47f68c81fa70b58d2a581ac2ca7f2093b4d5d5bf328c2c3903261692fab8c537a50644b28363d1d9b295a89d3d5a175c81ea1d94faa9e0b32da62bd6a9727c2399fb5fb4a8be239163e8aa129467870ad54c305780b76f60fe43aa56\n\n# tcId = 160\n# oid with modified node\nmsg = 54657374\nresult = invalid\nsig = 26fa8cf7af569c2822cabe48f61d0a725c677520f049f3bb6545983b0393380c6d797f47bbe586371757b12ad2edf066455b6d669fafbffeca4f8976e01c3635241bb31a091f608df69e7a4fda3919bd38e2b4d2497d7e3ff55563a2c18d39019cb85a5a3ff1113c083cbcfa1fc59c6585ce7e8d40f5b2b79831285f7ac420ac2a9155aa15403f33c10b5a4f9449b1b7e8fbc7fe7d4fb647c19c312273026543b88f6bf6e8712ee5d757f9446f012551f6b9c5d9d20900fb84ff2d19c45e36a2823855e5ba4eec814f8405179606a2c152107eb9f0a655252f28d500fb1a2c60c2ee9bca94a7b121f96caa59e7feb3b4cdf6ff89d8d616f50fb2971ebec970b5\n\n# tcId = 161\n# large integer in oid\nmsg = 54657374\nresult = invalid\nsig = 64ed62db69a8e5d33630cd6006d25bde415234199f7d069dde904949c952fa0a83b49892703b6fa68143e0a7d115cbca5d3aacc0272c1bb54ba657b4d5d7c48cb5f204439cd677f2f3721acd1cb721738a47c5c88536dde522a42f7a4153b36f98583cd3ddd5189f317fc670b19fba8fb785e8522b898fa3c95de60990c5ed3c773ad51f73d9b2ea9e57f99f3009fd6e428ac5e790f06b9a2c14f63b3e7e251a8e4866e9225c1407b66d52753fe7f1a2517d7a4725727ea02241605321d2d6021b3bcc16ecc7abf7b6e74a3ddcd92f943b343eddd77a3b7530f451ffd7e2a112876c20bc250da515157ce5b037b68b7f610983d77c1e042ac9cce0712954a885\n\n# tcId = 162\n# oid with invalid node\nmsg = 54657374\nresult = invalid\nsig = ad31e316059ef9533f8f6a5aee91fc316fd7de2ac1b3670fd5d97af17948aaa934a4f0678ae85f82a74c9ef459675ce352183b4daa3a49462af116509f120fbe02e14c2de7d0f790fd211228e491b8f06f0d0d1978036bd75c573037c43935991cd75c8518825d64bc309014a36a5497abda965ea1b1fb67bfe672f0e0de983bb1e83054d089f3fe5a1f531c497ad89eaa03bcbc7566d2c64d4929e24a3b4227acb540c9065454b842957b8db45e52f4f29292ed7185ad32a1a8ba420ee21987262b83e06d62ff2d3a21c20cfbe629c68ba2f6691181b4200d2f960dada8fd309a7363f1958873d16a87767049bed08e465450ecb234547b9a4e570b7eda81ff\n\n# tcId = 163\n# oid with invalid node\nmsg = 54657374\nresult = invalid\nsig = a38dcc4e8070333703ce26a8b1eaa28d242bd5ff4854fad67959caae66db5e6654aaabf81eaf31441b8c5e7419a3ea5b04efdea91fd1910b5e5c6f02ff77b7cf42b2efc55b03407363069b8dd031c56d6d0ac54838760d7ecf9f3dc03828b27a73b827f394700", + "558f160c196503855c255332efea838098e637cd1c7eea9e687fc552b5422a62f6c6b49fb16ad56509dca5a9148ed9883f1d76453f8d607d9fdb7589f4b07eecdecca950e58ccfb9e7784db9592b6406691a413caef5e994ca06f21fe61f0986644be041878429d721e403ba6ad8dd8629eb78cf4fcac5cc42ec03d51ab64c051cba22b5cd4b160aaef28646b5776a19605cbed694e0d6310c5\n\n# tcId = 164\n# long form encoding of length of null\nmsg = 54657374\nresult = invalid\nsig = 3cba108ad11cc9c6cfb4b849b1533c37557dd1ef2e201a78da42e164458ac54a29f0b11b1931e72f57266264584c13e910267e52bbcf15883e109a45ce14a86ac8e700cb04ea0ccccb55b01ce699275190b98c77981d2734d35d8ad41f94edc6481cc831a44d38a617a32855df03fcc44914e55b88271015c971bbf051d878b3ae7a8f53582ac8e2ab5d10e5023e67599725e9122b8ec42a96b40410edac51b26bec597b727404a6b1b24807e3df2fca8847de8b7517061edb009a40c8b3aa82cb22de080d3f7921c504965d5a23887ddb54100bc81894991c1ace0ee2afd1c38c554fd00ade0240c2067f01977326916d1708af027453f734b0a22331bc9453\n\n# tcId = 165\n# length of null contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 69c99cb5b397c6f9fa0f38b0d311f8b64eca97b578302912208bdae5c04244da7cae594e59a6bc0935b8878b7a55b90acbe73ed2adfabbe561cf104d2a60aae3c4fb58cb69a11ed739dea095c224c98bb0fcbddd44d4e1e4b71a8681730c4605d93a93e40e27e6b1182c57fe5f4332898872add7e2e7c3b39e0b45d07ad7cf3c90ea5bdad70902533ce78130c74ded898cad1d1830414951f33ecc0119ae785722d1d4320781178f393ca1fd11dd96da6f44bc586fb4b5a911fdfbb87b7d88833a9a1e036405e205013e2bea23e663dbb2fa813f1d8420f1c57b25dc5bc09fd7dcf99d0dd4a5b3bba8ff2cfddf2f9aa9ea78b8f4132cf0f373157b97097fdffc\n\n# tcId = 166\n# wrong length of null\nmsg = 54657374\nresult = invalid\nsig = 278b61e00fe4e47bfde76cf6c436bfa0e7fed104493a2457ba41ba5fa430cd417ba2ffd345b27d739f6fe7b414e9498e1e44a0a5af8af2f9091f4b42470da0cf09fd1d3542f8a991f4a3be0ac6fb499290889a0e5ba595ca1ed9d97f4407dee17867ca650a49e42c701e3429a34a8bd8e934aa8d107f1761a6fe774c70a974c4ba30990b55a082c87f39266b526c13c4021918196797336e49de36844c908234def2f66aa82e84715834019cbb906011d8bdb29afcbb31dc7503ede0bc39124ac7fe054536d4d79d99186542454253f94a604559a6e992116230c7c9ce4137308b8a091f31843a87e39e29c4ce1520803beeff3fc668741cf504754bc870908d\n\n# tcId = 167\n# uint32 overflow in length of null\nmsg = 54657374\nresult = invalid\nsig = 8daf99c4f0ddc3b0eaa50d674076e2806d744bda24522938c6e4ee2970a5079586d866f0c1abe824b16d40bfe0239aebbecbf67a9155b2855da4656a15d23fc3f1d3518567deec75587d7ea77d3b510b9dd2b1672c8d4774860535f8690a286ea8da3636a1b65f38689b25e9e9b0ddadfb52a0c60ac90b376af968fc654387b5d712f93cfcad8f571ae550072d42b77e439cf28ab0b5857646b4bf2f7b57af7f0443944943828ad174780e1ac0d182fa92cf992991f8fcf2a9d5fcf72eff4ec1847c30f268092b87825fd5931e5306955fe0457e1b9f7162683218f6a9abe5213442a7f8f6a5f4dfbc6084b1bc01f11558fb314a0f07b86b0c6538cd3c7d2fb9\n\n# tcId = 168\n# uint64 overflow in length of null\nmsg = 54657374\nresult = invalid\nsig = a9648dacee46c926af22555c2d4784f01f3565949f177f5cfd4c31659186645d115d4a24dfbca04b583ce8f0c1e452a953fb081fddfd61b9ad9e59df2d52be9a6ac1ecfb58c211a8182f93093ff4f14f5e729e15dc0690aa612a09dee2ec44ec05f75ddfbc0b5a88e93e098cb8b0f7b74a3dd07ec559f964962f83fdb95ed913f2603ee50b36482e8a379522d12c620af2b0ac7537a95417df11430a72f72c0ab16babd7396e0c348f033026dc7239e2a61fe75b8ad4ba4ed154bf05cbfec5260f1e4f2cc0bf5f39542e12a3cc8e490c20a554d3b9afe73ac65c0a4c22bd9349ac39ee25d0feac57b6d5e065d82a757fd1fea928a4e741aa8ca724269415c1e9\n\n# tcId = 169\n# length of null = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 7d2652c6ffce45a2fc4d740db90e1e87795e38dd5f58d3905b9fd41a2a49f3b6c3c14db49f8378fac35cb67b3593a0991ed4c2439cb7890ef727b94833e455edb94b11c2b0cd7bf5c11f8a206e62f540928f873fc6c6b0ea4e520e85f01140d21ff2ed65945e602e09d6880c275fb9cb0cb9cf7a85dfec032f29d5bbb4303256c0cd02a99a3433186558b0ee9bbd93e5e2a89c9ac2b8f74b94e0d9b02438d1bb54dde5424893683f5e74d9acd1424456a55f74d0654b20f55d199d17d5b3184930d5f95068f61c6d1ca4b0e75f01d56fddeb13a9fc07e185b514ec05bc657f97e1ed7c25670a1ed4e16172ed2c19c7521914dd3001d23219c8b578c566eb2c1b\n\n# tcId = 170\n# length of null = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 6bbfb1ef162a8cc8c140dbcc73e922e1b25c0a5f29e59b879315e5336697f86dcffa1f26c435ef3f38657a501e1a3dca7dea9226ae179eb6e7b4604c4a984da95421676c0a1d5b5ceeedcb02def8ca2e90f657b257695e7f87aa948c7d54570540657f8b79f3622347d4c3aaeb8c8c72abb45a156b7facb3ec3c4abaaed5491b84263ec9614a08dd4ad2fc81682e11d834c328ab21bf6af4f25cf26b81032ef1aac9edbd1879b64e04a24f36f6bbd1b317a58fbfe6657a4450deb0b07386be1e4c9f692d6e96740e300905fe7ab3f48ffa279b581b98afeed03243779127fe57d97d7313ee6b2ffbb5ec7e2bfe5d1509b9e8a794cc3cf45ef488874c3e494214\n\n# tcId = 171\n# length of null = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 681e2eb5134130900a52086c86aa16e20c7b95e7cfde30607e84e467fc67797d01674240cdb189aee160f8574f773095200c66c96507524f612e0d00adc1b4edf4c5f6c3e499a0bcb892e917c01c2c0ab9bafb6ad219ecf4030f6aac5253cfde1c1e71f1a7c1de03e65f9751d3ecdc09e4b499a96f9fb22da50a8ee8f4d62c9b67281848824d787c40fed31dc0036577e17c2d9a43cf7170c52ae92311725599d51957364da73424464d63c0edb55e79361f7798dd61d0c4068e4d0821ce80e27054459e9ec3fc0f202e9a30f4ad01747c6ee854b1f3615059d4bcce267a857287e7a9cc6058836af04d9f8d9b4adde905bb455901418e2aea9659c65aca0cf8\n\n# tcId = 172\n# length of null = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 2021ef89c0db9b47dde3df73014ec88ad9d33575e64ff6cbd46201b45811b15f197594de8e35c26139be07132600cd48459e0439b93c2fe734337c914fa87c3913887275ab41aae8a70d60c1690ddacab4711ca0f1949fec70a7173c39116992c051c5802d1c1f005cda7f5b1dd61a8ebabb27563313f6d25347654c64437165590e29e78dc0bfd5491d02d6ed45a0f2ad58c46367670876050ab385f7af6e9f9bb06b279e360519d047296ca055429935b0a96d6b1d6ad1e77c130bd99db29531b0bb6a6abf3bbe1156217a94d137a76736cad06e5d53b9671204a49d54bf5371b8a3d7bbaaffe7871dc8c4ae8165c70bf14dc6ffce5ad74450a564f21f59af\n\n# tcId = 173\n# incorrect length of null\nmsg = 54657374\nresult = invalid\nsig = b298cddbcc889842ade9fc8a116492416b2fbb01b3f414e0dacb2a17d386dc26b1c046192f70ebcba7475445c7794e137afbf0c252077272b645a91b9cfd8312a83d75a696c777b762d832272c544ae96be8e28ae5a639e7581b1bb1c395e693c0cbfdb0f2706e2b93134aaeba76de19674c6a0317eed9b06119fd3025a3141e06211047468e9a59fb8932dee92db824b4f3a8a11ef4bd0b3a015d861ebae48f842203a79a66395da42a4b2f943b51c8824eadc11cbbfb34c4a82c553f83341cdffd8256871ee06f160852ec6b0e7a79c1f06aeaa474efe6309f7caeb4a26fb33364737496f233ee6fafa5e13dde525fa414078271cc439fe5ad0a52fa6401ee\n\n# tcId = 174\n# appending 0's to null\nmsg = 54657374\nresult = invalid\nsig = 202c2fa04697b4c4f5b9889e67c90e597c403fc7b97bf43f3b7fd9bf648bc13db56f02aa517cc5b8b79ff90529528304c877a081a634de4007cafd341cdc19152f5d117a422b5e2df3f4368f0aeaeba2e242823422e3a3e896474edbc636b491baf44e032d5f671f45f599761530b18efa0300d56f0f141b22f0ba9a8187dc771b1575ddac950948cbc7d043c1686e4ae22d093ce4650a99d88752a2748285e935d46ea3a69e84338e1afd57fadc2fabc1dded35706759af7ff32b9f75664f50ffe23700dc46eadece6c5ce271208326f9342e7a63c852463a156edfca011df3a1889ce94fe8be66b125c80540de3aade0dc8bc1baa3f33a892cdd6099560562\n\n# tcId = 175\n# appending null value to null\nmsg = 54657374\nresult = invalid\nsig = 49a336a5a98444fb1617e4dbbec502ca47a888aa84ca700c5909da12a4ae44f8831d2e42fe711c5909533885837ef60be1f37acc7a9a2023d63f0f5252473568aca337f672983058c35df36c4880b17ad15b5e2c1b289ca30e9af9566b5844a30685d59430f4f399188a22fbdd9a892415a7c169cedb52ff274b5eeb25a0f1f33e327a077a98342ace7227710a3db891f579315cf772dfaa142612f5bdb612fc31d940cbe338e6fbdee76ee31fb6471215f176d2f3c884bdb5f55444adf0fa6ad4015b25f494fbdb5a2bd7622b2b9f77b84c7e37e5df8ee553db37cd07e1f0c8003184e3f6404efe27341f41ee9c44f5acb09606ea686fd79108c9d6970ff80a\n\n# tcId = 176\n# truncated length of null\nmsg = 54657374\nresult = invalid\nsig = ae3857a0e8604a5e8bf4e70aa110a9973da8d78853525b265e9189e7a495ddd200c9773c2b733a50f2e748224966ea27c2b87d9d15355a9b65ad02cd04539cf92f257030ba50e63269c5586a6103ca8abbc3c30fa9d232737d42af86a598ce4c8c591c70c3af322a29397a17c7dea43fb7354f8bad1c14e63b9e84909dec485e17e4331921d091bfe604d5aaf14b014ccec2ef23ba477cd8cda620d1c44f5d9c2e67f96f0a9920ea866cba0661f75a687e4d08e731a6e7bc52a79e08210bb03a33ff72e2b791c3baaf760dab4abe08c8d2f6775b03a3e7024cad124b5bc77312777bf24633683cfd033b459ca0115503a886c76e0af975f93a553616f3636154\n\n# tcId = 177\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = b9965f3c8202794e341e140f1801c29966c67c758f01caf07c0433821f803f6", + "f3bc932043a5c42d0d1a90c9687908c428c3bdce32b2756652862c647c4884af0ee00d55bddb5a56fb9c06ba0e29a3c4b61febe6eb09df43c607f8138d7d0ad2fd49398e69d6baf9764cae101a6933c430a9b45f981769257fe3e342f8835ae8a1129787069dc008dd40eb039cb0e8e1ce0965a98959b7e69001437567d0f336666cb6c8e5826b12bd5f195a18833428dbbcb1733642d129be808159eee346dae44e3f5468859c34af260d2bae45b92e04ec1b5ddaf950b774333c4b433c797ae1ad53f4d5d4508805d663920c2d9b78517dade0d3eb6fc17bfe08d0b2e314c97\n\n# tcId = 178\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = 4421d6cdcacef33e31663941531d1253765b01cecc92c741fd5a4c254f088b0d95a478f2ac913f408862b107f82c09c11867e3f27e34a0c1ea72010224c199a942383f4f6205884751091c9f4b190fceb7eff09110fa0a1546a857b091b930326a1f774a0185332a57185df89196ad4f56a0f8394fd6a49a635ebde48bc8ff23c925f846100ada2c3bd40f7d1a92fc31c1327af4d40933de0ab0c4a94d0d47c4d53e956716ec96cffdf0669e81bfe9552df8dd72a687f670896d7279b4ea5c9bfc26e93cbe50449776ce78753738cc9de7ab7aa02130efda3599ca0377346ab3b71bc31d56a8eab581ed70967e9e05463e19ff372130c5a1d9c2217f0f5a3f58\n\n# tcId = 179\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = a71e400721490c8e2baae3b0c49e3c3af9bfb341db3626cb22d2137c5989081402e440cc7e0445a447e5371920a9637ea696a482c0ecbd8eb93a16ab1ba991359e5bea0f6ce0c0ecf927bf8dbb543e307dc17840a0ecc17eeb23caae349e1f12f95abe10fb85695da43e8688855bbbfa842b4a73543fa61ea8076ca3a63505430e7723b39f4859e1cee10e558f2e54a671ee2f040f1eac7d5464bb8482dae2690bed114a6e56f4816e7413ad6ad05cc803446f65c5bdb596a6eb63491709789ddefdb51d461abc777a6a0306dd8a83a6a7792c42559fbf426fa881e55d45a4d346b302efba670443570bda58b9963abec39e6e49d2a17ce572c16446564ae339\n\n# tcId = 180\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = 0bfda5d7880717ef40cce0a8437efa8404ac1ead0472a7d4cf54934f8f3432db4db9ed4c8d98cb606229902b383112dfd4fbef54a28e7cac91338b1f591e2de4addc08943596058132b3a75442f44ad4d18b663b1c1be67c00aaab52e92d87759dbd89b386666dbb4b67429267d25c1ec12ce5cf03e4438dedcdd591c442459eeb86d6e74a937bd7c470ef90dcf8cfd497911413c4a817e7dbf826858807059f8426710ac582ca9d7c657d22a07289fc6c1bb37bcbe27ac755dfc50a54232c16eadf3b1694827ce435aca9061d21699029edbcbe05524d6bb35a866c78122f06f45b8a3615ff38c9bad24b9127287e5c46b73b7435a7bec837c4336f61e9fd01\n\n# tcId = 181\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = 05f2928db82cd2f734f233d59897fe873f57714e5f5abf5132b33d924038a9d0616b62aa25b9353e69dfa17528945043da1d38c96bb6161a34c2529bb32d83fad6b65c0d186105afd1f27f92626860ecf18c7c865a02c3bc16a89c38fa9449d6e23cd389b6083e245b894c52507d07adc123c131998e8dd768b72c08a94bb709ba773d0216c9ffaeff15755ce005b8dfb03d1edbe75780cf3c493767d00b679facf4b188394e3218118d39bac152516dc36c4cc5f88ea9066bf3252670a5714fd5021688ac6b94491012666f0a41463ab265ed62939320a7e3c91298c82ab31f84a3afc62fef61ccb03c011c0317a93728b896f6f8da1ff4e6a04df5cdc14097\n\n# tcId = 182\n# composed null\nmsg = 54657374\nresult = invalid\nsig = 1b02fa06a93da1fe5b74c877eba5629fa9469b01e9919016717eb8cd627f05fcbedcbe2fee00cbf2c954fa7f9d6f001312026b96209fe551b736a4c25e9203be7a706ffde8df35dc7db4add2ae9aa3ce76bc055b5fcdb057139d521fd94a241b2571fd8b73d7e07502819291b226f560b01c0aee7210bca486f623b3f7f84b098bc7bfe9a1a46ff2b6d114373ef988cbcf8d87b3eb7b8374b13b85650b9b894183e589d1ae1646c144a3e6054f7387c548632870f14842683830ba1ab80789e3f8b3e65cf86684ef73cef5dada6a93b6dde8b836ffbb79703b39c3e7179055ebe2071d19a49a8b85af694d9d3cdc0a054073a579e054c76c74d851cc08a95a2c\n\n# tcId = 183\n# incorrect null\nmsg = 54657374\nresult = invalid\nsig = 5b7ee2a4176836b60e6445dbed8ee5bf54f1eed2362d7830a1546c057ab9db845d21e05d9a46ac1fb3b7e247688ac4eec604100ca32bcdb1d5c2eaa4fea773fe5a0823817bf1b3e062b2c94b79d872b235e1bb4d6e42fbb3210032d071022074a897204a06d4c3dbc7287864d2c27f622f7e052c2a8ac88c693f503ae34e8e1f08495435e2439a2363dfed31d6276c5ebf2def17380d28a28ef8964abceed94050112734a6d5235316f7519c1df4c377b65e2f8755f4a3f48de8cc1d67dcc5edc05c1493e4099f83b2fcca14e727c9e3aa15a4847548683ee0f188b83b7613ef9ef40966771f2dba53927715327cdcc9cbf9dfe5597b4af4765a9a35445989f4\n\n# tcId = 184\n# long form encoding of length of digest\nmsg = 54657374\nresult = invalid\nsig = 50c6c70b2cf065c62b8b69884ae779e08b376574fe9307e2dc4ad58a50c5b2a8b74c1e8929b190045dec835e5f26c73824ddcf1a4b63f54b9f90c5f80c36f6a0cb616fb8b63926cca91c90761f960b83381cbbed3f8ee83eee92324fd9697b7f2cc0e784c956354b58e9243495800235156ca1698c407dd9b6332281bb5de1ff180dae7bb3393016e6396cbc7a02ca159b5eccee507a36ccb9338623e050d217be8d9826d0683d59c0acbaa190ba91da6b8579b6086d86d32edfa0f6f17ea5a58d3b8bb9e06ac1517eb66a8fb38094ee19e22b3d6d3cf8c1d001635e3c7e18823b69b9026d81975cb209024b8ebbdd88accbd9c5279c7a2fcd824697907223ef\n\n# tcId = 185\n# length of digest contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 29a239412587861ba02da5cbeae093ff6217ca4b1c80eee56baba352290d6cf721260021b3779a009a3050c2e5fbf19e1e717f906a7f62e52d626c4a31e259c8324796e63ac75bd04081cf2d1f22a5687ee9464cd47ce491eb7ccace2b6bda1ad3c99de2b4dae26021d08dc270a2e84d4467f7a6a2cc59888f3b74cb107311c62ccf5f327c75adc5bdc830c2bee5303a1c43cdf80e00374fd3601f122b19ca4b2f36476abbdd0633561eb3f05265282b4d637647a1e8a2be47b4ea40e4248c3e2541950ef2eb98a487569a35d3c8d8fad28d42ba57e3134f828aa1222c4d13b6fba906086cf8f07f5f3ad539cff8c0cefaf42d89a884444e62e408e36236e70c\n\n# tcId = 186\n# wrong length of digest\nmsg = 54657374\nresult = invalid\nsig = b9709d62db65f1584a5f0dad0602cf2d1ad02447289312f59d001fac696d5b52ac9311e0e5266dc04f5a382405259f6568274a8aca4782d5017b97c765742c6a3bec33c8f3cde398d55bf7ee0b2d3fa768b416c0b1a58e70b865c39057bf6ccea37112ba2d277159ccdbaca928fb4fbf5970296462df7b8ea7715f76c14bf1ac7e4a48a6086e7ffe71653e4246aadcf97a9999782596c87ee5098d788a1a82c2c52bda65ff5c417f9583537aa52c5d8151b3dad189dc0f93758c9e3d45a216359f9952388dfa3eb7b5727774815647b17f6feb39d963340aec6b37507a349eca6c677fdec97d9a5d21a87e999573be5c90d71cbb1b58946036f3f4e6c26dcedb\n\n# tcId = 187\n# wrong length of digest\nmsg = 54657374\nresult = invalid\nsig = 7cc584726f5874d041a892993bcac52a34e71ba6fe4c3db4d48960b1abae664549656af526b59b3018fbfe7447c4c6730f0e93cb148c0f0fda55fa0a93aebab07519123805ee1d551f19c4c69c09549ae56455710cf7b5468206b820672a0d7221fc7972e958e241d4ad164ef1f90cbf769a1ccb466081cc60877d28a05c91f90eabe57d9ff8d097a3a1f59fa69761f0f3b356c2ce1fa7af8bfc70a1c4753af9c715387a5b3249cb792532d1cba87be23624836eb33f0074e927122479a9d71f1962ee6e7e7be1ead8a514bfed9abfd4cbe33ac2d3adf438bb86ec47734961292bae4b61224e957e331b794c22066cde9e51847dad897e7c65d35c98803830f0\n\n# tcId = 188\n# uint32 overflow in length of digest\nmsg = 54657374\nresult = invalid\nsig = 0b93779478f1ebd8d0b018e0db874d2f639834d48d2440cf5215c9b914acc3a7eb9111b5f77d605903a40c7020ec8a4be9cced3714df84586d5f9e0fe44fc1c61a0ac529e9fda9863086b77555e68e290ef716b9add9455b2349d9e14d7d2825af2ed0f619636c50599616508c79badc2dc2c47489028c5bd793022d189058f559dc272a01ddffddb8fee9d83c259cabecd93398d48591d7acc2787e1b8598cb0218b007440ee11733100ec3a3a9749ed81b3b62d4b9c32dddde30740c4875e451e3cf89fe5a970bb92f4065aa7d43fc6e08eefa416aba932a7bde5a10df11b433527bafb2854439b463f6a0a13ae66265dfabaeb4d8de6eeeba4de45e0be421\n\n# tcId = 189\n# uint64 overflow in length of digest\nmsg = 54657374\nresult = invalid\nsig = 174cf250f8b41af4e2bcde276dabe55d193d51d80db308ee072cba6d7823e49ea26b32631a18316f48a8c933ff9660352917d5f197d44afbaf89808fdd16853786e3cb3a348009d58056e3ed84388ac73789732105e0c57fef0362b38ad103aa7eaaff599fcb07520ccaf39aae20ee0e1bda9a604e76646c72c9b4156efc0fc4a2fc733a5c080f50d9a5bed24a35ec863bbc7297c2a7ffdee9c7b3fd614da2466b9e77a72af6d2dba40bab35235e14e520278df7260b588528f0b32072aa532d09471f4e1992c8ff3534e6d0723c1664e8c6ec141eee2f7439cd57cf167f1b6dc681aac0a6ddfceeee9a81c53845ab87c145452627547a0961e0fc89b17ef70f\n\n# tcId = 190\n# length of digest = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = a47037577d6a1480d07bda7574648d9b4d613a6d112f7027e873cca188cc41ad35cb8c931928d2765b60c21af9756b6f0acbbfe0b44b4eb63abded9d8547fb1a37706ab562b448b47f29a81673e27345c156e0fa29a353b90c3262a8a48b0f002dab41aadcd0edbb016973fd85ca98e53116cc3a3cda5754c76ac8c8e44e31aac06d1e248137ba096237d14119538f55a1cff1c7a93e1095eb40918233e5b33e092741f658962355541af6eef3bf3b84e9b87fac775f53e7bade8581804139b765090051474b08c82555daa5407fbbe998f29fa337d21b24b6917d4cb315d035dd397a84c47b6b806bd1e7812795d653073cf349c57193397c542f3fdd512bcd\n\n# tcId = 19", + "1\n# length of digest = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 790911646b9fc46991a8c1fdd0c7a5a8b45a078305d71eafad2dae2ecfeb5f7122d1ba2c77faecd5bab50b05b355740f93c6cde64c42ddb3be48362a741fe29173d58d950b2c242753ba3db6f4dd576c2240f490f53ccf9b6e781fc610966b80cd9700f41c8bffc87790a01a45f3623a82167ac42e52c5ab5ef539b29f5d19449e9fb0b6749a559010daaaa19d15f3fc53b58b1a912db79a46caf10fdd5ea81256842acb1e06282ee66c0bccbd69131b532b3cf7ef72fb725c910338e24cdf2653d443f209efbd03573b54536f98fb002e57a27f62fbb117cca57d9d6a2ac04cb0211e227682988c64421a5f8ad6dd3916d0d84b441847324c03451a4ba24fd0\n\n# tcId = 192\n# length of digest = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 876fea7a5f814cb533109f000830bf5d8776d57b502a86f1df6e4dc50125a18e08f267edb7abe0afe44a5e75e8f4fd5e11fb2691fb73735617bdc5dc270e2b51adb064f5a560a4557c0b925e6af7852a110ac3f8c33150d3dd1d5253b7fc69d11949a8e80aa2e240cb3eed5a44afd0ed7a651ff6205bb80333cd060a2d2dbe5e37de3fe38c342c1635d553a7bab6be1b6ec1bbe9524944ec967200d35bfea076846b8460333d17cc90be7c6862695fab2cb5d02beebd6b1b86229e48d64f391ae3e506a7d252ecef54b61d4c186ab9fc8f2b32e006d07d9958292b6f4735a4c4d8e63713c212558f73de273647dc37bead249379831979c8062c0768148bcdda\n\n# tcId = 193\n# length of digest = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 4b06f62bb29091d0ae2dc52c2443bac02e9bebc68f84bd0186e0e565483db3fdb2ee8c3bf17e2fc256f7df3810c5c597fd03dd65d9726f4699734a89fb5dd88176ded8f2caba4c1a869ba85ecee2ad4ed782006bb5d1f6e9a8ced64a9a74298a9c512b27cdd93b7f3fb4845bf2d95af41acc95a43fda8784424d3ff5ce18292abb0d43ad644c28ed076011947a317a5543fc48becb1836a8f57a1dbebd5dad249a00e01c102b98a799b05c2a08565c5778e629264727a9cb8fb4ecd71f8f3db26e3ebbe59812462d6c2e042a4f92456df56cb9caf959ce3181aaa1956109a0dfb8524ef802891e80dffcc2132ee1cf380641c7da5d1e3ef1a3b37c8b9a7d4c05\n\n# tcId = 194\n# incorrect length of digest\nmsg = 54657374\nresult = invalid\nsig = 8b15577f817c9f63a94b9633fdd36af378d9f5f471636c7b518d467a37aacb5013a3640d4ad384286c68dec71ac5d6a4ba2578fe2c61d1db0922108bc777703c8f09f251cbec3a6d2a0e26d7e4f271efcc3458e96c710cb8b120eb7d5d8a5a535e823b42d6c3d59f8647bb244eaedea2b91e3b4e3e4fb9f2b0fd4d877d4fc10f135c54ed5f6228a48605016c7348ac4d7c00246be44d9e8660616bfafdaaccda021c33bbc564a5594ec98472b0f559dc45ea57b254a6397685643d1fbc1e074fcbcfcbc5de4f5833a7dcfddef6a1af5bafc6687ac8664d9920f9be8d8bf9e3b404db41b1d3ac1c87e9627a4b69a2b04c0ac751eaced3b7fa618bd7c0dceee17b\n\n# tcId = 195\n# lonely octet string tag\nmsg = 54657374\nresult = invalid\nsig = abddf6c8fceec1026b0fe6799db56b01e0b2eb066f9e5d0821f6a954462b71e1d22ea111f1b69bb86c1e4e77b6cf035573b9f6e0894ca4bc0990f9986ca209ee41bae1a48a764c5c464ca4e5de36c8fbc47dd8865775f9771ad6c6bb82f6b2802bd045c1f2d4a1845798b7dc16ff37866c90a613f1d019e53602fe2c99ec4650360ab69eccefaef07f9156f58a1f5f65fa00bcc2a544feceb70adc74e6710ea01e9ef4829a8165d7ce24647e6a8770eb8247bfa87de15ac560b6dcddcd112c24bf9c694090060bd9f0b5e50a59ff65c135f0bcc527c8793f4c84769b7461e9e2d755f99aa13b4c938f8fb7816e9d9f7f91159779b9d7749489b549aa263d8d92\n\n# tcId = 196\n# appending 0's to digest\nmsg = 54657374\nresult = invalid\nsig = 35446aacce869a91a157aefc5e3d4660a7de0272debbee1ff6253f74e38e8d54637cbba4412c0c211589a477eefd3dd0106cd878c46870cebba6e053a990f3341647736b00b5691d6b83dccb6684ee35063e2da6a6b1e8daeb5739d96291522d7c9fa54aa7d9208b1d73828c9a0f657ff39ebd09c709a8913b04a83c7b610fba815c222db8a2f00b089768cb4ae9ef93441c1463a43a6a691b407b4c1266e0ad4e146b0f8d06ccff215d48b513528f7cdb53a3be1be8031a48d092751e195b09a65b26d63795020c2a887eb4af5f002944b878962cf87a08c676946290164c667a3817fd8ad48e508d4a1e4811ff85b5844ce0af7937eb48fb99e8cf7e154c4e\n\n# tcId = 197\n# prepending 0's to digest\nmsg = 54657374\nresult = invalid\nsig = b0fec4f0f9b06a684c9816bc221f888860c1e5ceb40e67bd440bfb322c6026120b28af4905183d0ada4043b4f4a0df4710b20f37cc5ac9c5ad391e379f12784135cbab2cd7e3770fe1bc68fbf5e0e07c4fa07a5597d5f5c3f682e57cbf047cc5d8de859e3e7f997fa91c4a16026f43bac22a7afebcf56c804f656ad510dd03e6c4cff8be628a9a3fcce0034105152ebdb148100203f17eb37b7165b03661e5526f4fe1bcefea270e74a2bd9afc7fc00e52c9256548f36db3486b7cdf6fa9bea4d558d592fc6ed7869b8a59ce26608d21328a0e5001c273c8d29e3350c9d69d3b4a57d5574f1b18686c66598ac6de82d50af4589d53f1c5fba9e103ec787283d3\n\n# tcId = 198\n# appending null value to digest\nmsg = 54657374\nresult = invalid\nsig = b21fb36d1ba5ac09f4bc9c9bb1c3b08ef4b5e39d5a13bb27de6d949022262723fc6f96e1d0f76bf95e1f90eca04fb20bc65262233f6335d8a0b8211f0e2481819607354700ede1ff85c8e53413685ac5d31db4fa5f807aaf6818b9531baf1555db3e062a3e74ad677e9f378bc6020a73673decc9f6176f4c2dcb02859932b7a7a9d12da602b668a14846eb8acd2abfa0952fe5ec78a67a8f6d751ba3b420464c10cdfde93b96847b9bd05504b1ca49121cc92db8f2b7a33fac17535fefe32028d0c1484f1aee86b4260b668d9dfba6cf27a7faf2bbe0df47267108a84bd5cf595f522f9a2ae52e4c4b7c9c08b39200683bd33043f14b562d37b910dd438f714f\n\n# tcId = 199\n# truncated length of digest\nmsg = 54657374\nresult = invalid\nsig = 1d582d82ca0b3db426ca8adf9465e46531e60d71b2cd7276f0d764e629a767e61171e1667a22c1a1404adf7e87b2617268c56e792d9f9653466666a09bc82d4c1c2c04fb9b8fd6c532f169196009598b6efc8feb2850f4ba8adb75d37705fe07bfc2e67356231f1845556ed8f3f8793f4c7e58572fe849ec0148a840e442968c1df6910152a5a4c0be18e3a7891ce2e16e53414366e8d92c1de75073818da1dde1c3c3f8f5c4d31d13da73bb507947e986915cbf3d9edf92a6bd17775eeadd9d5b363adaf1a33ccabd441267a476b314aeb86a91837b5c9a5d969001259fdc5a2b69982ca41405685379e758c255fcf35267dc2f1075ccb57ba0c339dacd7feb\n\n# tcId = 200\n# Replacing digest with NULL\nmsg = 54657374\nresult = invalid\nsig = 096a7f2148458f37e9c6589c25e4e90626468575849037e8f62534a01e08dbdb34332da17528bcd83683e1d05a6b159a8a629225e9067f20b0c7484bddf978178107128855f63a29c727d2a49ddfb650954e5c9131b98fd188858b595a2be7196921fa872ac945336a47224a4f572c85469ed34303bb23a5822b1fa87f5b5fa0a4bfbcd9927c32c32c349c0689600ab4f616f31dc19ba9b5e6f45ac64bdc8070863358949e10a46f2af51a071db4de3d7ce5a9b2d76ec66eae8d1e106edccf72d27159a113d888d2f3c73cbb738bd096fad53a7bd3ead255f928b7915b137152bda12b3365a1fb7f9c4f53cef8484b5bd59c5c34c692f6ad20e129651a7cab69\n\n# tcId = 201\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 5ac9934544425ddb9678fcfd28245b7f5568eb1de108e7d3e99e2d3810ee261b877073d32ae8abce7279f2177d6b11f36234ae2d9d03e4fa51907677a950ca4c644e64399ceed4395b18dd89a152f62a16520ee8ef27867387b3082db40e6462baa7ae6148c9e3e7d069d00431dff74b38556b31f3622b79b3714bfcfb6c662c6e92b3332f7e029debfe21430ea04fbd7cf75e410d1be0712fb5f754a9610f24f34efef2bf4690a589d387001dc652226775fb81b726b3c036fdce3a52ec7131d1fcfbfc2d6bb8434699d9905d9d7992d7977ce0a599309040ff4cffbff2028c9d6ebe7d0f9de0d17876f2da3a497b2a36170618c82e3f169e0ea0708557f1bd\n\n# tcId = 202\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 13731f7476ca8813b66d36cd6cdb93a48eb42742cca037b828774ff5971c173bd08e88542f2c39f53ae8700a56be54755b64e1e81a00097cad58ad21b2ebc59518ab6bc345db326572bc0b39572590c90b2b72894b33cb2fcc37fbe549405a7fc656dee567df49bcd93fc4d2c235e2d14c2107952de0e635ee93cfcd167d4dc5e3ea1dd0cf79973bc96cfe43a738be7e1304d4c1e318eb32612cf3d6784e1f842b8780dc5e3a8ec369eb8226ffdf9be69b54867f2461c810c74187d72cefec60a646c4a576d8ab977d4daea3422007454a306e5acbf3f7043d5d3bda70752e4979d1657918fbb863d4eb8eb58ba6f2a372636871b75af84e645a7f49e99eb300\n\n# tcId = 203\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 0cbf884a755f8ea52d3da21e3e88fbcbe2562d35440d1fa0f8c3dbd4f27aabb5603e6d1b172af543c6739c8b644a4f438df55be7ad17a82c69a03d08c628c8fdbb7d1ff9202a7fb7bd7d4f4c400fbcaef8aa463f1e0ec72b1df8834e07cd4f465a97f7129fe9221ed3205043d2ea4597b857088fc27e95da84900e87ce9578d8bcb120b23096b1f143ced492cc966e2ef60ffe9055f5d225cad682c12fff248347f234713970565c532cc2302965bc69af16acaa3ac8b59b9f8698261a1a6074e3a3bc2a6e87dd01f2c0f13a628c134aaf65500681f1a002d921725b362d94c5dacaa8726c0a029749f9ebb699028b48e59d22dac2aa27ffdc35648a57c57f70\n\n# tcId = 204\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 711f73de0bbe41e3296a1473121f47a735d093a06c9c7be63559987d98f5fc52c6dee6de2a3fa565e9dc6c75308652978350e5dc407560474ddefb45f8bdadc8dc89b5640aa8552117161d8da703b52948b08596b92dfb4d343320aff80af3507d11a27ca6d2db3e2f028cc1d53adde20ae164f602ee146bbadec7a22b36eaf08849e35425a88bc1d6c8f1434a82f31998f980579c287bef989607c0e09977c52932c9d1b1a7437a3c87d09d9ce521c59fc44c51a279d9d3c94c88405ad38c3122e2e99", + "3348360490e1698d4ab126b05066fbf764f259c69fbc7d875eb69a78bcdad95e3ff1eef50183791acec694449e6c944bf2bebc01e5f1cc62d60b83966\n\n# tcId = 205\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 3e85dff099a3f6cef0b15f86f749cfd21c5ca4a6d7ecdfb075a9dfce9e11240599be07f5200431771763469e1d13eedb3914c2d991fc49f32769ceca68e3de4ca53c1fee5f27b54c05ccc69d4cf0ad3ba62202bf7f1c6fd5cfebc7a8ed29e489f6350372f439f606d0b1e879438463b400704ccc2a323acc70ac4f46a621f0dcb49dad6d72cc8f4225dcd9e228f0611e28847745d0f24514506a91ab2a85b4f8f0fd02850c37e2e923ec14c2099ba90b9cf72ced38180d94cbe313215e19dbe46923e2d573115443f3e98bdb96305dac90564c4e667cf3430d174cd077c5533ecbf3f8ba08e7ac56c0b03c4d2dd0caa9d13c968f6a4e968418e42ef4f52aaf77\n\n# tcId = 206\n# dropping value of digest\nmsg = 54657374\nresult = invalid\nsig = b9861f3d1a03cdd4f49e90947a21e5da9fc1281a816a9f5b520a7de27740504d43333f5facf65dec5bb06699c37aa1aa911bd4e8acd7aaeeb6dbe50e577731b4babd4587504821be0ec4798b14124e9adcdc2831d8822e7768302338953584147af1e323a9982ad01cc79f46e239c804b6c119a022e1850f4445d98dc27e83f808f33f8c0c81bbe16d5f04ff0128e34d03ff6a65260a7ee6e10dcd08d09d9db7912fbfebe0304b00135ab184e063a884992ccfa5d64953ae98f050c751817629fd5491eabaa52b0e52626bfd025c926dbdc25af5727d92bad2acc5ed59f5f597606c9752579c57ed0e015440ac194228323a71f708fb92d5cf36c841e8a07366\n\n# tcId = 207\n# using composition for digest\nmsg = 54657374\nresult = invalid\nsig = 8729c630297b010164e90d0e99fc65eaaaf2bbbdf309f20bb48037bbd40e59ebd8d6fb7e23911051731b5ba5a8423bb3d0ab44bcaea5eb03f56eb8f3ead1c3fd252197fea478fb4b9b9b4e0649503d4f45922ebb72a4cc1716f914b3e8dd8fb111c9300e946c0eae83a2e6c40093fd1f55c684e4c4b2b0f09ecf03ef71a01449eb0cc2c4a274cfdd55efee7ff136a28626eb86af9d88c25bd0ba012d8a0218d43bb02d9b6b1273d3d2414789aaa076da4dcbde9444a151fba9c25ce225876b63b09e17b16e0e115a7db6860afd08c48ad37aa64a54d8b0230314354f1c943fdcebc1607e66121fdb7390f131ba6bbf8f88375497505d7d3ba4dd9761d842e937\n\n# tcId = 208\n# modify first byte of digest\nmsg = 54657374\nresult = invalid\nsig = 6385c6d4dbca9ee08e1f525a8b7915831a732854c7b26cf42681bc90dd49078873025b62e1830ba193445e129fd419ee12cde859032eefc5758c6c12ffeed3ed049322609d2665b5e1eead21af5f354acf336629e62cfc4a740bf9a51fd66e6b72287ed5558261252f50dc925417c1e48a4552589a7099ab0a3371cdb1c209573f7f5ac9436d298fda9606f9582e8c873420e7c4edbf5ead17e3c93fa3209208b91728c208b3fd10b27045be1cfbf242c5d34cadda97608271326444ad35d309d47f4add6bfc5ad95710db6d65f82a06a04bd7c71e335c2b86cf6a466c311f7e735b8ff8c2912269c3b1f2007f7d1369a55440a5abd98a46a4389756f73782ef\n\n# tcId = 209\n# modify last byte of digest\nmsg = 54657374\nresult = invalid\nsig = 1eff927cfa95030c95547b3f3403636ed63fe85c99e21e64bdd8593f56119329fd7d75f876e13317aafe540b79964cdf62330cf98be66ee41ec92d7ab9ba7988e8bf6eba3dc95ffedffe09b382a9ff566f07c61c06944de3b68dca4c4a3b2076e778286b50c6ece0dc066c29dae7d824969fecc6d5f8bbc2731e875ed9780428d53591d2f2021aa7864baac55d276cbb14098e9af5869e18c29c89d8732503fcf8e65a384454785ed39dbc516eba130e2add655a8e7df260a668ff9214194681033fd8b57202fdf627270fe4f63a49fbaffbce1520562ce53c9ecef6da5e942ad06c8ce3e673524b84c19da4f071d9d0ef9e24d4c8b0dd64627ccae7468372bc\n\n# tcId = 210\n# truncated digest\nmsg = 54657374\nresult = invalid\nsig = ae443b008918b477cc8f80c54afc175ea0935ad53bbb2784fb1948ed4186f0374b760302dd2346c3797e79a080461c802c39cd72bfc9101b408ddf8ac4e449e2f2f0f03cc1fa5dd77e72becd52a36da64150edcd290df30fdff2a4701c7e923756eb4700184af4e06078517385f9f52d650a46eb94393b37761444fa1d3fc925579133c85e63b25a7a7d1587dc43fc500e54a70ead1cf872e47b33f34ce7971331007e5e74aafe18895f4e5b1faf925437af5dd7d5ac520eee778752130ecdba9d33a792e189e9c8d95770a4d5ecfd71647c99470604b269f14921b1fa50ba063b47bc6c490e9926e4065d5602555e51c9cf6669ee53b7cc7cd0da607478a5a0\n\n# tcId = 211\n# truncated digest\nmsg = 54657374\nresult = invalid\nsig = 5189a516b2ff014f527ffde7cfd65cca11f0b907160ff901a51511d4b94317e86f3065600728ad0c43e68a6f1f7017708bb8dbbc84e388f43a9c83acb98eaa6b4532cc68c4c6a44f649989b5d254f89fec6de1fea45e3e5b83e562608a7867f0919a2320a120c871421eb164895ed4bae27d34227b1e8cfb600292d208cd15cd62068aff9d692ae8088c9c08a51202694faec5d6c78e995e5e013f931b8a6cdd726357d0d5c6e9a83dc634810fe383ea1a89adc42c2bc675f075e571ecd3fff8581a0df3f83b1959a5e64b5eb1cb9bfb5c4c4c17d47a24a2ab3da66ba62d54b74624555c19c56ffa94203cf78101d181ffeafe8e8fed9e0897b27a88419aa540\n\n# tcId = 212\n# wrong hash in padding\nmsg = 54657374\nresult = invalid\nsig = 8b009088b814c2e2a306b4cfd72d87db4ca1ebf6ad5f37e7aa29777b77d93c005922168e3634be085c9e4b147194046e38b7d32fe6814652672cc6eb724742a0a22fae278a9953e665e7351281c42e98d4fca8237be482080b9fbc471b9854ee75ece636868c6b3270dfc7dbb32cfd2e28901ff6ac699dd74d8bf096bfe89c22c228522474df25d13e5b7c1148edd5df5fbc06fe165729418221c610a8fbac579955b8625eeaa8e00aea009b42b2456c9316c5c005688bc060e61bf302418740f0be9b5a30df845608a9008804e89d1a5233d34b6fa84c3698451e472fedd9f4aa6ffbc9f4491256df7181334ff181cd66dce7dc66ef9d3c511ae5e6e3c88083\n\n# tcId = 213\n# wrong hash in padding\nmsg = 54657374\nresult = invalid\nsig = 68a90a62da7b0ac09e26ca8786723164c0e6535e82f28839d12c08348aacccdf0218d3470290665e6d6fbb59cafda63c9e50d596442b02f4ec7b55753b13b82b217e32fc5f3818e3fee1a6b89855f5902dcdba3eccffddb7491317961af36dc74f5b6a4477f57aeb28d57658fcb8e77f8e223d2870b730d53ca1aadeafb389d3f934ba609689ce50bf82b08f31dc2578d7f076d26be5b267e87d2ca4df8d57c112831f45c46b9078c3ec13b01f0b5d67e82579243408e4eb29a154314cd5c68cad6b7198a02c522d87aad93e17aaf8fea49d38e39314c12c816e73d997c0fd10cb12d47aa7af0e82fa4b939f1209085c01a88f5cecd533901d5b1ab2866e753f\n\n# tcId = 214\n# wrong hash in padding\nmsg = 54657374\nresult = invalid\nsig = a1060a690b31b1b2feba5f0b8ede1c8f025da644da1f1d66a6cb218226ea6751a7f391ad063d80b63035cdb991e6a549d85c9f569f7677a40becf0326cb93297e23ed49dce7a5c1a4866d788aec24d23cf9c9cf15783ff5692a579db8f11b7e1ee8d28aea15f358b4d01e127dc438f5edf53346744594c3f946492a39aeaa17352a6791a52d4812637c8612323a50af3b7dd4216100020df91b653e5e4772bca49750ab9844c8cf13d651541d2a1aa7c74a673e645971df9acee059fa981ad39e8011b06bb39a86cdbba9fa544b8f2460188ca04354a95effed4e7c5905d5bf25973589809360d5e154e7a3613c27f4c5c920e71996063c2f86c44b7ad12a376\n\n# tcId = 215\n# wrong hash in signature\nmsg = 54657374\nresult = invalid\nsig = 49cea19f5adb723c41e895337a24ced9e685736ec060f2aeef35bbdcf37741056d5f3ace051b0f6099585d82f576591da0c1139a590685b3e35ff9053bc6c3e381cba077700558328fa785128f78f5cfa481e6bf581bc9424f101cd8c2efeb4f8f00684776416c309d217df1dfde8f1e4643aad23207541fafeb5b7d263fb560cfade4792d716f68e7809cf8478cc4dc6a4c14e4e5df4f137d7a05270c6b0ca1f73e77eac07f5e7b60c8574b5c7487db4aa334173fbe03d93805bba291194f02f77ec0eeae2373ec9fc467a621feb77afc7d3757ca98b4f3fedbdc391f99df24663233f7394935b14eb81cf5b24d169cafa7506bcbcc2a4166fcf8fdbd5f7f3e\n\n# tcId = 216\n# wrong hash in signature\nmsg = 54657374\nresult = invalid\nsig = b1e5095d61e4a986fe3425a08401ca726bafcb778dc818254e7ea5d299a9ee3e8c303a51ce19644b60a7f6156850b3325f4ada0958ce9a0a8cfe2a7ca085538b9b9abcfaaaf7413c810d6b2c03b5a3bbf98faef5374053cbff979815e5f1a38980087b291e1cf1683febc32da71b9040bedeb014de01cbc794ee40c12e7d44cbd01336ee92884d60d20bb0c9a5fe4d7dbc93478dab044bb6f04050ee4a3c8d2577c0e8443781f1ba5d8e763ed7f879f0bd970045299d2e2bc00ae47598e822fdf2461343c5c5f2111b099823c35b7ec4f07d337e52729c19e1df28c4bab6e7fbd1abd9cd3052920875e59ad251970e98c7a944ee6ba71787f65eda75e84cd048\n\n# tcId = 217\n# wrong hash in signature\nmsg = 54657374\nresult = invalid\nsig = ba0ac1ff39b108015703583afcea5c777ec70df6ad11f561f23ca84eeacc73b7d93375f5e44c6c84e16273d442f93e36d474c7190184a0766e5b2bfe9896f0f0906a7a0c08dd78f0a9702cf3f706040893885f1e1da9cd01aca80de8c0c8197bb6e5e34562c37ff3256fbc6e99d1e9a7459a2cb1f49eb371a9e3cb1e87a460880664adb76e6bc3f2652010a7a1dde552dd4aadcf30366b0de3964e85d76bf79e20ced2aef87c9d31b4f2756cea23d9cef75ce07cea41204b42260a25ded448df639a0493d24262e1c411b7c294cabb56b95126c44d333385a63dbbf9219f22499812ae99772ba6c30d881c4bfdb3d074cc8f6090810546e64b1dfff6847a21f1\n\n# tcId = 218\n# wrong hash in signature\nmsg = 54657374\nresult = invalid\nsig = 4ab504da964bee491512b40b79fe9befa7e5960b142b619db35569cc9387265cc8fa8d4505b3b7cde5e884853bbea5d47ce7d60aa7e4c81853f0ee3f6b357dda5efe13119fc42f464b0cfb9d3506024c2c884eb57373e16611a6ec1eb803a61300bd248587594d081b501d5a141d2ea38d9ef69a87a3ee9d8d83aba410b8d30765c81f997d71457dc8ff1d9c3ed83f06f0156826105bc0a6fef0260", + "ba6fb24578de5f58e7b0a64d5da1512f525f41e987a27e4d59c7d4917fb60586535341bf1644f6bf6a7e3cfba1c225a66bd65cc90b1eaed3696eaecbbc24a318a2e2ad711af85b02ee730940aa3dcb2d87aa8dadac182b5eefebaa3e729204d04e8ebf09b\n\n# tcId = 219\n# message not hashed\nmsg = 54657374\nresult = invalid\nsig = 81c337ab36822c157502b85c88307bada36c39c4054e1be4b0f9b847e1cfc6d2c7dfe08df6a3a80ef3aaf6ccd0bbd43df5e2329e89378bce30503d3a619acf865df1c43c793776ccfa43f51e6135de762d0cbf05bdb63f664b6730baba492e0ecac1906a5e5200a9af1ffbe2fd57c70b98a608ee05c7ea9660983ebd090b77c7300de733adb5b0405cf4ef5c0131bb2452a0d10762fdb7ab83786ba3b3f70face9dc7477f3444c985bd9f0b0fbb011f855ddf9ac4815624c140bfa0fc898bff63699f4b4c87256c4782cecba69191d03d4feb158887fd7def30286950f352863069001431cef136a23b2ed2d886f2dfa36ec7834d94f690f66713cb49f84c941\n\n# tcId = 220\n# message not hashed\nmsg = 54657374\nresult = invalid\nsig = 50d0f2063c472a07d98a8a9a607c0c1b154b30622839fd571a3c4cb9916df86e9bda0ac79e266428cc3e709d9dc3bbeb0f1993f836fff5ea421d59f2f469a1b4d992e8d0065ac375dd192c1425da17ab9936bd3df49853b2ece3ddd00cfd5cc57c5629276f7ecafadf3e68057e384b2f89cbbe7d053add2ab8b979553e9cdf409fbadff045e6e0a5087566a8036bf430724b14b1b55836311a2670816b0561dee07edfc6ffe8d6167afb1be54fbd3c4f17ecc68efabc1edead2a1bbcca4bd6f9eb839ae45269d8c7554cd71e5ca9823c120ed78492f28b7fa2fa2031b2f61697b0f62e486d16f06051769a55cdbac2d39388d985797ac8a62a67967d3226f98b\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 54657374\nresult = invalid\nsig = a5280543fcf9276baba49a297f0803ca4782cc05d35c53a7bd692b0356991d1ef6211efd591ef2eaa5d39b00bc193f3a5f175dd55de90f04396874b799374625a8af5ac162f9af79eb5f3615dac8a33c8d41182c6183db82b9e509ddcf4de0231e419d0e07487fbbb42d84ffc9b4f4c3ecdf6efe2efbfc64f3f665978ab6d210febb690d05a4c9252f97ddca64884df93fbcfc6356954ea7c4f486f2c201e6988400802904f61c02acf066698ff5af6fc8eaba4f81ec93d886a47e4652aad5df2ecf463db049b923a657ca629ba91ac0090be3a1381432ca2c3abccfb85b3c251776b910bd7ec4283d7493e309d251e07404324de24d65a3dfb8e3c5cb8a5a83\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 54657374\nresult = invalid\nsig = 4f2688932d7bf6ec48e50c69933006d28b055aa97621fbebf3ca336536b8dc61172c8ad52e453c4ec203dbb2904557012dcf43da92f55d62baa56961701bef821240a5fd2d1735ae14be136ea92ee10adc650eff7ef6b5cb08c3f4a9dc17bcfc66cf50616f305908719f467af5abb45beea1835f95544f53cf2813394767959ff3440da42757bd135806be3ed2698ea3d903e0f2447916c94deacbda484cb1e074114dcf3b41bf60383153b838f018f8b2e35e3af68eefd202a2b3d7ddc1ec134fff746f1ce9548f9e53a3cc41faf2e991ea1b5860c55f5c000bff72f5524bed9cb8f9e8dc34713f3ce443d202c8ed3df13dec385e8c19871508804c3267b67b\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 54657374\nresult = invalid\nsig = 89fc7f47e30072d2f485e598ea816be5a407427210fd3ecd491ad1a63bde51f49ffdc1969fbdeabc4b36a440ed4fa01b16cccf32fb87478646570e5f65ab386430ecdec93964ec2a5def2b0b9caec71b39d03be76f54f7eb665af9d675c24f9aeb390dc9276198d289806c0ad114f113f0ad97fffce9e673e793dd19b989b8dd2242be5061c5877698325b2d704f6c67c66b1b17c92ada00ef0ba306a8fb6c4bae61197dec2d7bcb7ac7215ac260d608eb6c7235f407e38776632638c431d5fd546b42003705fc309ac484dc99c46962b789452a595eaff3c0c9b7e661190ca0d5037251b58d0df2dea1209cebb95ced5e87f2088d021fd0ef0aea0e7bf61290\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 54657374\nresult = invalid\nsig = a49994410ec70f260d83d20f5e6f281273dc9df9aba560c8859677a0a756b31fafd7aee913d2301cb66a0b78e0d7aee11ef2ec11757387a32b8ce66b57daed49a75b572e82ad23a26815261af3fb5b4d1d59e7a99483e068ec508a2ab915e7c17722e1d88ab92c0df59daf94da36f611232f40077b373af44179df00e69f3e8ad3e5d9945e586611434f8b7be9fed67f97d004c65b8dfeb91efdfb26bd0a5b3fdb4e4ce6d1accf5a6fe37b085c3694e79a858ce64224beec9f2220338ac5417a2925fa3c72cbcbef630926299f974882d2f3c87d136e90b8c9c0599a3e8d38a9a77e7b0aa9be7deec3bbe962422bfb05377f2f6b3f4e7909776c5bf3db6b4cdd\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 54657374\nresult = invalid\nsig = 412f631c6df4c4402f70528635f4ed69094f33b198499980ff880e8e5fbdd22236c7836cc65ce18c1b3f183b69a47c27f3699fe7477462fa8d17e8a247e6ee9e994037ade036583ecf4497c083f78db36a15bebc291f164568655c27752f2ad27efa13a7fb897e658cd9f6aa1515bd14a4793fedb7722fb148c3a0e48cae63d14ad939a99a90f1dd7a7c09d478c9217e31f083c12dd3395332af68a4231a15069b1f43765584f6aa094645596ecb4923c59430e6ba76ae7ac4aa724b0fa9b5e2df9d9254857df70423f9323bdee97d74d662793ac72a0d089a79038b8b85e4c0d3a6f616fadca300a77bbd53ec69287a1f0f6fab0560ed90a28262bc310c14b1\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 54657374\nresult = invalid\nsig = 77dc98b3302f80235104cb8810d290be782529da8d49c7ed804c59f6435464668dc2d1fc3040ff31d7da3e31a472e218e7f8bf20b626673cecd2a56d7c15af20b42f3b1e155cb5bd3cc0f15c71152a64a6f15fa3e12f6060c2539f6f635c56a0192be82925c277f5f317b6531f1d5618ca95d038b4df9c1a99df4d09e6f5eb8940f8c5919051180822ccccd49c88da70c9c0bc1f206fe8a6d8e5678c02097f821b1d53a26e5542d9287442e9f74780fdb40f10fcd06aef31bc8f14de73eeb437555c4510762fe6bded19a21eb5e94ce51445ca10a6569f2a92bf70caf2e442975611c6f02b3e2875f911260bebfd5131956c98c5932461831313e3cdd9e7ef0c\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 54657374\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 54657374\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70000\n\n# tcId = 229\n# the signature is empty\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 54657374\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 54657374\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 54657374\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 54657374\nr", + "esult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a6\n\n# tcId = 234\n# the signature has value n+1\nmsg = 54657374\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a8\n\n# tcId = 235\n# the signature has value -1\nmsg = 54657374\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 54657374\nresult = invalid\nsig = 73094b0ac0f0ab2aaee54cc43107896080ed245251f290aa87afc0bf5e7d27e08836f8f1219ce138fdeec02fe70c2ef698139f296028947be751e46d2f7282f9585494a7cd9c88d70834f85f995d7ae249d35224dfa04995f2bf697c25571f1282a92fd32d5b0b83ff158c1420c221f477a2bfae9ef8b7fb4add58fcd6844e9b4230e48ae1be1e7719b6bae5b81b1fef2a29b4c5f29ba447cf9870d9bf7be7554958cf86f523fc12f1abfb41b77171a7751e0d0f93e94fb88656f39561e2a7cceb9bfc3215fc1cbc22f5998c40436225f2c31b161c0acea0936d5d70bff12e1c8ea2e302dd5fae16d2490b58b0cbca91324c01f3ceeceb892923edca9239be0b\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 54657374\nresult = invalid\nsig = 30723b607da1b977dd09924f74553e35fa7934c5cbb2ccfc3f799fb52ae3fcbabcd469be9fda10a12477f9dc052499f132fe3c42d9d387ed806725a359d1292ffcad82a35ea24c22f0f5d5ec95c1e5002d47fed010083b699cdef90e39a67d37524371312490b2033a2c3a52b1ecc526d287f27a894b9538f106519928f7814fdb21cb9cead15d3d1d615ca1fcd11534238c779ed7daa4f94fad8d354b1ee5dac1fbe270c804ed449dc59fed498ebaf8153d2dbbea44a8394c051fc5f8128d4503237c3475dde2043298af520d81f47589da19f604618b5313de07a7493514f124740f95f20b547bbded3f731a64e6dd832d50634e2c9ae9ed633103494ecd24\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 54657374\nresult = invalid\nsig = 759257fa448e399c70b46320cf0678c33fc4be0bd1f9b197c03be6174bf3b3f1f64cb27387736dec92dbc318af3c97134e0334ca49e01de1b10ce797ace008f1f61a2f559e2c51d8030fc54bd999bb6cb9fef02b110f37d659da2267872671132cc454e6ede85dc3bafae81e60645402c59a8c39db3efcc14174eb467cc90d1ad3e248acefb9d6f7e048a4c800389a6d2a49744b2ca0d8de6ea4890d32380300ad8e5bed3783e51095f9fa278ee7aa0f8a14b890e218bd29508eaeaceb366436530b484d61e599df8ec78b1d78110056aefe2604a2e60285373689e482dab077f6a5837e5d4e6fca4e6b45259654900359475cf83a92b9ef97316f2cbba83ea9\n\n[e = 010001]\n[keyAsn = 30818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keysize = 1024]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[sha = SHA-256]\n\n# tcId = 239\nmsg = \nresult = acceptable\nsig = 132fbab52813cd4404e16812639221c6886bd0122af16b814b331a4ce18146ea9071ad0b298d952900d6fb7e1255cc2d619b207f1fd9a48a3838275fe1bf3400726713175fa92d784778790c214a26491f596481414afee858ebf394da0c18a005f76c56b454a95ff555341a8667848f23ee65ee2814e2d7b673fce167ba5618\nflags = SmallModulus\n\n# tcId = 240\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 54107d4ec803c8cab6a0e74103ca3cea53919e484be4be88e6299aea3245289c6e3e5368137600a15694937b830b8d4739f69fe8d3bf8b8a6b4cac119548528ae69367f42f569bf7e2663745a69191312a2404a183d6a849d9d112f8ce18709386bc5c8cfa823061d37ec0275b5a9e4eb11cb6cc82b12465c1482e0b528bc099\nflags = SmallModulus\n\n# tcId = 241\nmsg = 54657374\nresult = acceptable\nsig = a168c57dff281db4be76f1840bc8b1976f34c6976ce0391be8f7807165ca1b537fdebf00852bc5a7f46b58625148af5b6dd68a4b3e845737655068776ce64d8002cfc914e24178ff9d86268c6b0c97d49853a9cde82d7d8b1fe6215a78905adee1c3a19f01bb3763d504ef3ba11d0003970cec91ff0d608b6535fe3c032fd293\nflags = SmallModulus\n\n# tcId = 242\nmsg = 313233343030\nresult = acceptable\nsig = 89865c4a0e924376ba619c1b0cd28c0d1a5ddf02cea1302cd31e92aa71b7224fd03d5780162a594c2124ecc8f64ddabbdcbe404030636eebe94e63875abd414f1e8dc754dd43869761300569de975adbde0b1ecf9c2b5e1c5e806aac8047ebec99e8e20308ece862d92b40366ecff58fab7a25795a52b6a8d523c640f822bbd0\nflags = SmallModulus\n\n# tcId = 243\nmsg = 4d657373616765\nresult = acceptable\nsig = 8c356d84e4156d2ad565be16b1980b5789e97430fad26ff38aa8533f282b9189ccec1be64fa2d7b516abfdcdc4a3870415af68a1efcb19d676db0704cae192bedbfafd00135958ff920062f57b7f4870ff0cfe7116ccbce9afb0c3bb9c841bb6e6d09c455b36b78ba22f82161f08490ed2cf1f3c0008aeff27fef40c43801b1d\nflags = SmallModulus\n\n# tcId = 244\nmsg = 61\nresult = acceptable\nsig = 4d9654e213734adb2bb5c914e7b24b7f8fa8cb019349bccc331517fdd7c63420f6dda59542bfbbc7b1f251691425c166753792797aa7c16474ec79a0b844a080fb951a27d8b0b9d5000e54b0e928bb3cc3588290016392a802d846c5872107c8c355c962d78f7993e95c25a26bd2d84a868abdca42c7b967a8fe67307c5295ab\nflags = SmallModulus\n\n# tcId = 245\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 8bfbc9545d3c8dd90c3de13107a64494b092c2c9456aa3f2aa5e2bade6a71c4b1df78cd3fbebbec441c01b4640fa8380390692aa2ff90de7e3af89c456ad84403413d05c29b0266175893eb3afb7cd7d691e1ba3e5a54a1a13e5e3fd6578087aebe77c527de65dea0b8801570a3dd2a708f8d0d1edb43e3a4bf60436b9f88466\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 30818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keysize = 1024]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[sha = SHA-256]\n\n# tcId = 246\nmsg = \nresult = acceptable\nsig = da3e78febfe4c72621259738abf6db041d526db7a942443e94383e21673c9818afeb3a40b28b6dc190e7a3eed97e821de37800d20bf15815a07c9bf6f305bb68df96579f5df1d0396a45a190e425782259ee5673b5aa13f89036f129c03f51f2735037170144acd22b09dcb409b9ca2bd27b53bebf384bb647ffda195beb3a97\nflags = SmallModulus\n\n# tcId = 247\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig", + " = d65f87b5905594493a1d1ada8566d6fef74193b2e66b1d8c72f7dbac2574cb07d07178ea6c0dcbce03a32dbfabe4c9d9009eb54ac9b7c024a4ac85ac5b8986470bb11c39d1b51e953c4ba99bbd91382962e877a8f33ed8168b342552493c41cd3d01f4125459dd4f05d9def1000ed58b5c99c9652d882d4c3ddbf258b3aaf749\nflags = SmallModulus\n\n# tcId = 248\nmsg = 54657374\nresult = acceptable\nsig = 4c8ad93ed06934da7cf3f399c2f62eebc654a4f4952f19d3c6b857ded2fa13a09ed78180167d62c16f0c893ed900a33ff22dfa5f04f571ed23247c58cd247cff7ae8c1d8266ee2e563f3dd53768d51c2c571115c15aa422b39d90ee13ac245b6c866a76edc0ad9b96ca07cded873aa70e26a8537de7372c6d24acb5af466bd46\nflags = SmallModulus\n\n# tcId = 249\nmsg = 313233343030\nresult = acceptable\nsig = ba37f892bb52616d65cff715943dc7d53a5d4a0ffb787bded58cf5ddd2edaaf049de7b80db185e12f25790d157d26a636bd1aed5964a5d887f5d2c5f133dc00014a245f7ab6f28c8281740119e2f822507ff8aba9532f41d1ddeb1d16bc363254673343ed3e587ccfba7b72556685ceb87df3b0a6bad26ca7c7a4f3d84fd3b8e\nflags = SmallModulus\n\n# tcId = 250\nmsg = 4d657373616765\nresult = acceptable\nsig = 0f973bd8aba9171348a1371b82db74b7e584a9243d85b3a07759253f18e9df44bdfe3bae725f0e0153836e94a9f6dcc234c9e80832a80049e29c7a359eeb5281ab092c50c60ad2c9e2656e2f0b34843b6aebadefa3d6c2b0d62a310688fabdbb01416bfefcbf2bb62e778f23abb22c994acf427d41d15373a30d0c64f6223ebb\nflags = SmallModulus\n\n# tcId = 251\nmsg = 61\nresult = acceptable\nsig = a566ee4a974be5e9181a98c09b9c84e0cb717655643fb8326540b22d884e70eff104a8313e0977e5a9efdbfe913c672ce91621dad54bcfb30cb5200f705238c76ea31b062e3364ea855c88c10acf658355c9cd9b598ebb7905e68a3dce23dde6dd77d50c00bd8148160f423c8c563f0c5b52e5aac784850ffaa5a181055d64e8\nflags = SmallModulus\n\n# tcId = 252\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = d821f083507540839086dc8dbe171a119f7605ee6dc81d480a273f725c1d4cd134c143194f615e710baa82e52010ba1716ae0cface42b4d6edf68d9f5c90bd9b7d338bd8af0cf25911ca9169aa5b442c36f854c6c65370db4645ce3552e93487aac3cfa7239a1abd9ec9ca2e965c02f280920e846b4945d74df9a99f81518f4b\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 30818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keysize = 1024]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[sha = SHA-256]\n\n# tcId = 253\nmsg = \nresult = acceptable\nsig = a0abd165a5ef8733ba111fa0fa092630222d809d8ae811f24f8bead4968b7533af31019663713ba134e7dd345c38e7166a037025eb34adcd6891c9ec941d2e3eb1e4bded1d269272b602cb9b53568b992ddb5103914e6424c75505701a37996c8318b0b6f8640cb6b6e770ac44314b866a7c683a6903f7bba07b6f197ec554fc\nflags = SmallModulus\n\n# tcId = 254\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 41339884a9b3940e8488d666bb158063c6a2a2717cae7f564834a876fcbf7098ecf3acbfabf37d38a8e6127b1e313744f1f896e165efdaea0b2e7673867842b9e94db0868ed9a92bcdcb370a4e20ff275c82595e4400a8b9e9f12482f014846b48216f321266ae6ae6338dbcdc41b711e483e6e3e728772e7f9f5ef95c30196b\nflags = SmallModulus\n\n# tcId = 255\nmsg = 54657374\nresult = acceptable\nsig = 8883676becdc27878ccdff53dda011e5e2f886e31e1e88d520bb161cd63aa001fded9f0656109c1507bd1ba5d3bb3e725029a236b4c3c0420a1fcfffe348c5277d6aa51bf75d9af26fdc15fc49d637b078a8b0478b5b0a9c428756d260068e5e622f193b9f9a2c1d979e3322d7f3edc32053541c6efa2485e42e99a804f94388\nflags = SmallModulus\n\n# tcId = 256\nmsg = 313233343030\nresult = acceptable\nsig = 9f2e01b92bc9dd32dcf24aee91467797396649a3255bac943dd0e03c9ef416f349c0cbb728704730f3c7a7c244066a94b229a6e86bde7753c8940129626307b542cc7f596583932b4fe6ea9384d5353e08654e966a64b63bd6745503f7e4383dcef74ad4516ac25c8790db6702ac5b8b057a8fae75669b6a9e689e9211a337b9\nflags = SmallModulus\n\n# tcId = 257\nmsg = 4d657373616765\nresult = acceptable\nsig = 3cb9557d9fe49b889319e0d41efc00cba34277caeed2b2c54fc89772c669200dd63f02f340cb6ed579a379a3fd6a568ca9d4bce206655ae4586850638ee6bffaae2bed7c7afe7353d22418d7e4f6b15e198c85b649d3e5a67f00702dd9fefed7dc72136bb4440fac58e64453e4ee63a81de4270446571b192f414116e165efc0\nflags = SmallModulus\n\n# tcId = 258\nmsg = 61\nresult = acceptable\nsig = 06e6fb568e366fa20d48704be40e991a291d47a464296a49c37718c1153b0fea17ac18a01ff97b32a92d07635dfb9143d011d003c9153020f5ef7fd3ef258cfe92a7a2120718fcc85c73acd34cbd50670c2e044dc3b82fca29b1017912b65d8a844515655308367d8797ae5b7fb91042df573f32de69c1842a128ac88937c0e9\nflags = SmallModulus\n\n# tcId = 259\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 327238fd701dc4a829827550aad98f9bcd75e9f3831c3679998c869c1dd8381bc6b74b721e9d3377034e059d6637690ba3a184ffd98af951d43a22105a51838f72cf592d658af01adeedf721cf2eb2bb2c90c68311cb267f0cfacca903c1a2a73f7228badb5d86976f5d3371fe9b00cca048a7a0b0fc4b03da11c5a098045e07\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 30818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keysize = 1024]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[sha = SHA-256]\n\n# tcId = 260\nmsg = \nresult = acceptable\nsig = 0aeda7c92b470df777748f299de6f4b2e9ac2cbe74b5488f15e6e1e38e5a625b292b293d5ac04bf60a51f47f89741f38723fdebcda4943850cfa333bdf9a80689aaac240e23d5f7cd9f3b264eeff491e391a0b8931a705ccb2d9207d5a39edcdbe739fc8c367910070f314e225de55079c5ca963b404bb7ac72358c578e9135d\nflags = SmallModulus\n\n# tcId = 261\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 6d20db04efb28fbe87622aad88b51d9294d33b55e7dea653eca9266caf461ff6aaa344f84671b8e06ae3cff54b315b3d3bdfaf762e168eaeb62b71d11dd371ffe141e9effa0e294f7d663302d1f7b260516682de975bf9bd873a9ae4f6f1562f9a24de696305f2f4127174d762b59692a1b4245169237b6f3899bbb1dc8afddd\nflags = SmallModulus\n\n# tcId = 262\nmsg = 54657374\nresult = acceptable\nsig = 0428bad54ff7c7a35f094d44543a9045da24feb3da97e7fbc600667faa4eec1b28c8ef3b1fed8bc247ce85779c7dec0197c901f7874b3ff0b4d02156346511799d22c5182f0f93b531138e0ac2c5645747670a5e9e2c76dbcd1b961bb6d54a99c1838bf872e28735e778051563e139c278f22ca071a7cec0ed95c29d94d51d1d\nflags = SmallModulus\n\n# tcId = 263\nmsg = 313233343030\nresult = acceptable\nsig = 4bc7a3a501e418fbfb5687425fbb59d02e4197f1de865631ed82e8188ff3d854e25d64e8b770cb40bc8902a80e26349e82b63096705e900d235ac3dc44744d29c0acd1cec3988a04cd341a76dd1aceeaa56b6e02fa53a53a6437d208dda2faeb46f70e4910651b0cf9b31049e1efb20955f223957906df66a48bde48766e6fe4\nflags = SmallModulus\n\n# tcId = 264\nmsg = 4d657373616765\nresult = acceptable\nsig = 6cb2195bbae362faa881a5e3ea3f8921784f81f64ce2d9e578030920234d0ef020a0a22bda4285d74ba416a06bdf1c4d2a4740ffef857958eeb0a5ea32dc52a9b01cf0bce3b5afcaa356bb0258befe8eebceadf0d6123453b195ecdf078f684047abe49c9691bc0ecb81ab466616811378d80271ca3c598ba75484a7b11c8a08\nflags = SmallModulus\n\n# tcId = 265\nmsg = 61\nresult = acceptable\nsig = 6f2d903eaaa24f3c5971551682bbe3e76fc041d418309bb2519de7bc3b78ac9ebc07048a901ab213ffefdcd39eb7bb640e298000665e5be765f886c320b5afbed99564f8e3bf60b", + "ee38ea747105d375e7e8c10f5b932847978bf6fabbc9ea2b253ca2f46a44a50a06a6980dc7a2f653840c777e5c81da1691e521cfaf588b088\nflags = SmallModulus\n\n# tcId = 266\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 57ba5067e97774fb26e7ea9ef0f4dae8afc5ec455d47e6e8a8d4f476d338cf2e697d938282fefa5d1eadba220f3fab2e0ed33d2494663ad0764c05f0acaf28465f5d2fea34bdc46d89a266a5ee36c4c9e9bcf497b5c975ba200f0d8c8549d073bddccd5a1474e409e3c8e4cd211ae1388d9ace40b0384359dc9295cf3e81372c\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keysize = 1536]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[sha = SHA-256]\n\n# tcId = 267\nmsg = \nresult = acceptable\nsig = 39272b0e30fb83671b02d1986e9ea30ce3c7d9dffbf495192235f408e2f28ea8f42aaa25c94bb808b8c9c4c886146136ba1afa92dec2479e46943d8b7c96b0b6983baaff7421a5ba44f8a26c7b2ff8940c647c7068cf521266b9a2b088b6271f3af48d6f4fa6ae94f1c9267947ce625881bfbe886b86625289ade51dfb677a042250797a6ab4f829341bcc2385ea0e2552bb9427f9391647cb23bef53877c69aa0143c8496e9eaf2475ab49746c290c73d484e06ce483df0e60e47b1bb4c66b4\nflags = SmallModulus\n\n# tcId = 268\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 8d0ad645dc973828bf3d7dccf94edea7b31440ea5f5ad27686bbd34293d7fd36b524d20f27956bfbc0aaf947e9d822e5b5a9d26c502c4b1cff5e3cbabdc27c77719abe74027a589b38137ebf435ffda08f846feafac434530b25f9e96b718480c49179d13eba9e20f986ac3314e416e2770d01dab69b2c21ceaa0ebf353a28ab60b2cd3708a37b091ee0cb5e7fc5cc654a8096d5aae1803fb648dbadea2a9481847be11c2fd60c6fdede268b24af4ee8f47b33cfee135b7a7f89d9421b220806\nflags = SmallModulus\n\n# tcId = 269\nmsg = 54657374\nresult = acceptable\nsig = 1b0461cf5fcc7efae2dbd53011bf319389047852324c5637985db3e7d28c0d40a2caf87f4aba79bfc9b9e44719daf1068492f57a27ceaf26bd7a4b16145ec5e7136ba970dc231b5aabbe93244137e5706d8053c94aeee2a022a5eccd25f695dde5d649b6f19456173d39aaf6757fd46527182b0f37964ed49f42e5cb7c02494d38aaa99c8c627a03ad8f054a272cef14be6f6d7b14d37499cf4c928b86a307873d6a71645ef2c49fcb46b01fcd1b7c16536b96f8ef8b0b1dac30aebf352b5ea3\nflags = SmallModulus\n\n# tcId = 270\nmsg = 313233343030\nresult = acceptable\nsig = 57be7f2aa961911f31cb34e9c6c0c65117fc1ba53b60b77bbc60b1ac7607fc299a79d62020bb420ce55ffff7c7b9c07035beaee2d9d2082ee9060ea6481fd8ede27975b66a7b5c66db873540393f703ba32005925ecab11e6241a5c7e8da39b43e238a2446495df902156df3aa23a8394009f501699aaa3400c294b1227ac6dd5ef70e22a6ccfa61119f0e29346f10b659ae8194e262ccfe390c2ddb4738cc945f7b0bc1203b43df76831fea24b1234f193c3d9a9541e72be5b593df2b0dbc7e\nflags = SmallModulus\n\n# tcId = 271\nmsg = 4d657373616765\nresult = acceptable\nsig = 79ff385f6073b2574f21d3b28282b5e822bb3f26d51c5654142b6d5c718a4ca0d7129a142676ec4c833d281b8403253271e1f254f71f0e131352f860fcab9800fedd7f1aecb560950d6b15e1c4beb99287205318b308a12e38ea4e112f8ff45a84c12ccfe11ee6741da9a79d539e697ea9b083bf6bc06aa97d8029093c42d0666f601813a014ecbfa988b44adce9ebccad311b170b446156a91776dd8edbe92578b79edcddf11403aeccba696764ac33b75b70ceec71997085e5d858d01d04b7\nflags = SmallModulus\n\n# tcId = 272\nmsg = 61\nresult = acceptable\nsig = 2ad9a66e8407294555000e5125054c323f93098c33b38fbe7aef4c4350ee76147ff6ccf80ac41d5620ad7b452d5f98d197b277c53db82a1ad757c913a2c4e685fb6e942d1a0c2db092aef8f80e99c76ad02e9d0a2aa82bcba1305d2590db790f8c138143db1545887db744b2c3e2bf5308c1fa1b9948553538801a95a113b282623ef26e19eaab22b8f31126692d650e945b9c195e2e57cc60607fc3136a79816b2d9d5bfa0d8515280d4e1619e81eaa17ab5d9db4625094fb6f6eabb94271d6\nflags = SmallModulus\n\n# tcId = 273\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 13a5d04406300725b9c7ef91961257d094d08d8f40e4133fa182f476a209bfa57082f231e87c87f8286d0ee7158182be811ae5a045295d5955f2e73314476566ddea15e35c02de35abaf83fcf405e913e5f27fac0d288b7959a9612d1f75c81763690f869826352b3d1d6f02b4a8e48347a256a46c71396ae6fcf436bf59cbb83164eda84455d357a046576d58b72a5b4e7d4c9a008bd2d6006d17529b9c4b2b3d20de77805d41718e26865264b80cacb16c577782f1d4eecdc303a03f1f7eb7\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keysize = 1536]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[sha = SHA-256]\n\n# tcId = 274\nmsg = \nresult = acceptable\nsig = e4f7f0076b4bddb632c470881bbffe95a148573a75c014689eda7acf5e57a546327d4bead01da0b093b2c4eb5b048fd707d27a4baf85d610e4ff8861feca57e1ea88ff0c4b803c4b0d62ae0cb89012b0ff041b438e49a79680f2cb30722a5a2a3aa9b516ff2a02947ebe27186aa9ffdb35e15328c0f49f172af51f764258e909651469ebc6a59cd98c996fa3417008252e3386b9a2d059d3c67983ce62ae2d052733c55732320679eae156d0e4b89da1022bd052340819cfcdd7366c34b65a01\nflags = SmallModulus\n\n# tcId = 275\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 8d2611d4c79f6b2087ae8bc76610905c361b9fe0a6629388197b4293f9e14ecbeb377206e4c1db35cdc0ab163dc5c51e8a7370a059e9ee8014d18ef0937f7936879d7825c792180a4f10a0d46e0a954f093d703b82bd076dcec0b8a66fc3be9bdf79ce4550c453015dc1c7397ec1bfceed040a4d777915546b9cbcf1eeb13eb71ac49c235e69cb07c315d529442f4863d61b7d5caa5ce07820edf649a9342211a26f8280dab9c5dd11af0752168326f8e8d5e834ddba3bce063f011eccc8f46d\nflags = SmallModulus\n\n# tcId = 276\nmsg = 54657374\nresult = acceptable\nsig = e12e3540e7f20fb5533772e91b708151c12d8440ba9bc994791f5916d521726b53969063f9e13114ab89de0b0adf119cfaf19dd74a65b5eee32f39e69ab6776dba721adb2a8dea1495c51d5984b6aa2b5d216eb48459103907442f725410f53ddd5d006762dd3167c2da3bdb19f07d27e3fda712f444c093f4c8126d40ca7c381ab1d3875294df84055239ebac5039490b597366b58c2806e52f1f259c9ed16f829f41851b6ce7e390ea73251395bf940997d47bc323657160ede973f2342b91\nflags = SmallModulus\n\n# tcId = 277\nmsg = 313233343030\nresult = acceptable\nsig = 90ea80b14758fa12319e54c446e70bf5bede38f5d8d8e978531e6c54c567b63a0fb7b870ab963f979c4015c27714dc9292a48123c0a1f13896055f6628687040459488bca149f410cdae4249ef918f10329e902f1344a666fdf96085b7bbfb086ee2f4e5891904f945d867a50289da018c245be31b684bebb8d", + "c367d43d53448865dc005ffd58e2f76f1ae8ac51fa7ad723db9bf3b78b82bc5b0e209ed216575009c27a6d46bfd1d9ba35fd50eaf4a39afd7b3dfdbd2f437d0d97b5b08e1870b\nflags = SmallModulus\n\n# tcId = 278\nmsg = 4d657373616765\nresult = acceptable\nsig = 3ebfdd69af2a561bdf4315d015d397b8af75f6c17a3e6e1c6b52bd6e812bd9112e1920f6cabd82b996b1b48be3aa40e447d29689be7dc64b8548ce5414318c4288a6ccee97f55c523661e629d3cb124b97a042c1e77a9b039a8631815c535c8216912ea47684a7220a63c198ef2b80568882e153be8fe92ae4c786a5fd56a1e64fdb235663f3a242c121e59df3a19c29282e647a5123583378577925f399560f6ad3b2a4c2b18ca2547aab5e3ed4030c6585fd2abd1d65fc720bb30354c966d9\nflags = SmallModulus\n\n# tcId = 279\nmsg = 61\nresult = acceptable\nsig = 7fbb42d2bc1c3e5a0f66fedd581e5ce3e555f6f1c736db24b6e963d2ba72118cc989e2969c21bede87ff3f4209f2b009263b7ca3716a9d3e7115dfe65bad1ea2a1013304696248dd2b1d70764dae248bd1e9d49623826f2c6640247cbe8bcda47d882e298f30bcf3db1f496c26b738848e9876e4b70f0ca8259760e919e5c5c0a2ce3d05b5804a94b67f4c719fdeb3ce23657a26635f867af0271736ba20abb7fff18bda006c48d9c3ed774365d00aa0340a04906fc07f00b18a572c96f986f5\nflags = SmallModulus\n\n# tcId = 280\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = b9b478f6ddabce2b1ffb306e2135132df09585be16eaa5182b8476796c10b0eecaff9b91100882f5872e00e3d1df2df40969ca4d00596b6d6c9c13d3a956dd8d91decbd3a48728aea05b8f7707414a8a5de3bf0becbc20ae0ba852ee7c4f2c177f3d95a4a8375ac50e11fd2be4da1f94608786fc84747117604138d06956387924e5d7baa2c97e25d1b0125122c0a13981559db80ac2d6848f4db163027c4484a51ac5095f5653b12059440dac69970b5680e017a7eb2861c857a607446b9420\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keysize = 1536]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[sha = SHA-256]\n\n# tcId = 281\nmsg = \nresult = acceptable\nsig = 6ad0dd65817b10486fe56f76f21a6440359e267eaed42efd149363768eafb8744b23d5041b9b8a38d62ed614217c034dd6021b56bbf6591fef3f3fe94b8459bea1f4de143fe8a8df26ce11e979629ee0b8708253dbb30efb17bf5697874767fa6076147419305e9d2b8fd708fc7d2ca97faeaf7d555dc65337766b1150dd3020391e7901c5b170d3b2311cef2f849f5a6e7a0b513f4f9cadf8be86ca9976772ecec71065660974e923eecdb273408bbb438dd16e92c3a50521d44b146d5a4e9f\nflags = SmallModulus\n\n# tcId = 282\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 3abc0bb585283d073261513c0fd160724f18cb6754d09cee83fd3e2f7f75b5f30219df05302708aab7ccf88457afcedbc0bf822a9aeb81280cad4c3077e352ec05b2146edf2a5e60d4019552d56ad9db03775b7ce532d7a75a5edeaa45193a91984d129e420b4c660bc735204654ed332951ec701cfa6093772608c448caca2362351cfe02178c2e10c1f4889b42c30b807370589d30dba7d0f1fbf19f9379a37377193e59fe18949be88b7fb7454bfdfd70d4431d02455451ab041643349d38\nflags = SmallModulus\n\n# tcId = 283\nmsg = 54657374\nresult = acceptable\nsig = bc3fb8fe3e7a878f63a2773776be6d7ea625036ba977abe44e4734d9d69b34c6d988f02db4de9786e12167c6a8879cd17f960b1cd30241c37c28a6517a44c14c9cf720ae5669bcf00ef562e0e8f7187173d804586d715412e3b96fb6e2a4544521e7a8c88c626d7b9e5a2e860df0e73e1e7aea674d6b24b0738c87636fab9a871ee163e911b7ff6fa056b730c9d6d6b3c22616bd14bdd7440e3958b07f462ce1aff8e0e774964e33e2ac34ec9cc018b6e487dd4258113a2797916e50e80a607f\nflags = SmallModulus\n\n# tcId = 284\nmsg = 313233343030\nresult = acceptable\nsig = 8de0a726953328ca953cf5c947a7c9f8bf1388e8caadf5c3d7dd8aa7ef69ad57fc481f9ae9edcbd2c5d9d5eccea94736cf5be8eaa401588ab14a5e73277525ce3944a4e27172775af0d386b9ea00f7016cae8537b32bfa74d454ad7008db5f82c9986cd9e6312803dc60285fbe38a4cc40a6b9304f75968891a95a9e0b45e589f2a7f20e177f275d5ffa064e629b4df7fbfc9e004dcdc27ae17994a9bfc1db7c6eaa44842fc7916d93182a9b573bb6b70c593c4a77087c2f6ca4ec851f964450\nflags = SmallModulus\n\n# tcId = 285\nmsg = 4d657373616765\nresult = acceptable\nsig = b1f009cf8cbd1cd2466b157f0dd94bf389fc43202fb8d4028d9a22152e9f20bc24d7b5864a1e0ba93f21f153993fe03ea40f208473200f9abe72fae78cbc23866c47937e6133ba36753f5c86f6e98868a45897c9782779b5118b5d15f83c9029b570406d86ba4cb64f4724de0ec073c63b5b7cbd3b551a31f260d70d1b83150d5481298df0be246d055aced5eb952c4f63c10b1c73aeaad9088cb295c2ccf67b85dee5884255caf9d43edb8da9240d0f81a77422edce7ef3de6275cdefcf3e99\nflags = SmallModulus\n\n# tcId = 286\nmsg = 61\nresult = acceptable\nsig = a1c38eda275127dfcc0fff930a922fae94ade9dd62c5a06e7c31cd1744d39432419cf980631f49470b6e252a920a9227ec92ca4c49a922eff890095f9898f11b3ef51e50f1c44db53ad3cfa58d2406377e6f7999f18b2d5f8a0b99531580fa8b83e542e196ef779825d3c1213a6c0400270a34c9ef8de104705c093b8dcc256374ca532db77eecaa5c7c6cdbdade86756a1c771c4176e5e1fbcd59de5cfcb506217d66bf5e7ae5f67955261a4032cebb1fd31bf1a48e6fed6ec287bcbd8244e6\nflags = SmallModulus\n\n# tcId = 287\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 9bcb95b7ac8607d7b468fa68640c9b03fc66e39970b96789b61e2dda56ea42b0c105e75e8fa3bc57e975381a348d6bed64bd3d0ad7d3c4ed608324751a6e4c3b66fe755763c8ae38f00d8558519512ef089284efb144d8cb9f28f597b1ea6f5a270a615ab6575e857dec62d66a398c03284160cc910f6f1c44a6497a9ed7c0d8d99bf3f35dd09b836f5a3c552068eca9b7eda3721cef01b9b861e3eca2fe20341272090004779e5db2da98d61ef1c306e7b7966abccd01fd611ea6931955d226\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keysize = 1536]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[sha = SHA-256]\n\n# tcId = 288\nmsg = \nresult = acceptable\nsig = 5d8f4485ca79ed8d487eab377326b138b29948f477d3da0ed934d299e2b06b7d9409f5c312b17321fa20b2c66ae8ef9d084fff2e8cc596d6d417887e04e2ef8a2b73dcb1a04400cdec16af177f8017047c3ae546e03e6fe31ad3bc6d89862d94229baa49f6277392b252d4f715c7a41e41a6200a200f7343b50a72e5d7a3ed0f264c03d381963ccd16777e3d9cb4187e7a5a9886680581c9977299df16d06318f5bb94cd157954792a71976a795da8e6fe088802823b6ba69359f08b9e42b891\nflags = SmallModulus\n\n# tcId = 289\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 4d98f3a8d8bb66578c89245b8a095f043edcc4429b0fea86eb673c5f0da52acf3d16e2af500c18b7b53435a9822", + "2d0f9fe299cf4156651f629b24ec525be4c409bb583f371b2803485cf6ae37849a46ebef52895225e9cb671e6c9055f2f3e3f74cbb6fcc222361822552191026d372892a531f05f3f81884213d093b008c988f01941b9a9208c2ffb325f2028e5dd31710610bb7d48f5d0b34f4dd83e26e9a88d7c030c4df0e031ca99ed46975d0d893515eb84d86cf39249dc90bc0e08a7ba\nflags = SmallModulus\n\n# tcId = 290\nmsg = 54657374\nresult = acceptable\nsig = 03173d361263214f6d72afb3dff674613ae3b9712ba4b3f0fca1193843dae58f38ad514cd5f6a46d0a6ffaec4fdac08897d0cffdf6e20c51a961df24ed1982b426e218fc52ba8919f60fa71c156717a5ed9f3030cd864fd810acc9343ad8b8f441863bd0bf3e80e5bf874200896f0abce8af141ce61f2d5e87db31a0f19baa54e41f75c5df29853e1fe678318657a217649c8fa2337c13b0e514fbb916b5747fccf7b6bacbbf0a4d7771a00d3ad88289bf854d5f9db6fb8954332fea68e8e746\nflags = SmallModulus\n\n# tcId = 291\nmsg = 313233343030\nresult = acceptable\nsig = 8f404e26dd9a51485d1546e9bb7f56f68f0927f2f19b8bc0c4db218f3df28e1c9674650ffcf9645e02d1f44d98404c8ddf54438bee61524e2d69091f76a99dfdf796a83499f8870adc182e55712a642922b8e98ca33ef0cf05903ba51f1be648220a19194dab35082559d5f1c087c6702f102f526fc0de1dc98756b29e817f4792e3d0ff40a931002c077e0eaaa5f63a5a1be90de3b9e6800803cf909fed91059e83f4bcde83c6e528808e20c000009bad95f8030ccba058a21073247c3bc3cc\nflags = SmallModulus\n\n# tcId = 292\nmsg = 4d657373616765\nresult = acceptable\nsig = 3b96356882fa7825599f7d5295d9a367158d4729887827522fbad2f7a741fc031a9fd66f70a9ad398eca4054ecafdd7da2d821b5a940d633d2a7540c18ca311e9cbdef6fa5148bca6bd2ddc1a6b4f9e8665b49042baf99de02fa86d68f0c0f4d8bab3f46c7e65b6f9b7447140cebd230a8aaca90d1f6a5725dd3e85874f10a6564b897f83a7b2b3a07cf758ca6cea8383ecbf907a1479fe8510f22b3614b133bd0bcacca8f8daf4016cee0cd2f9f69b628d4d45ebf5d0cb545349f6f94b0e4bc\nflags = SmallModulus\n\n# tcId = 293\nmsg = 61\nresult = acceptable\nsig = ad5baaebabdc825e48072ef1cb22bf8d697f5a86a2cee89bd0313f7edb02cdab90e31b5d83a33322b8987c0c3dc54b110c9a2f0f56429d39ff96f7cfc7fb2570de2efc918f792fbec177a95bf2362429b936b3c65187b13c04304bb660646638cdd3a9be2e4d47a11b1ececcfaa99fc43359e5e4cf435730ec059203f476a06bf997ea7044a0a8b2f55cfc82d24c9542a0a9df9a584a148386d8a03266b71f8ed8114f3fc0dfb534a3b44778c40d5a3e44d04f76eab464659d53204abf97a8b6\nflags = SmallModulus\n\n# tcId = 294\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 91e47e671a2e9d0e68ac78a8716e02d68ccbfe350677ae53ba1b0bbe085e71e47090653a7b7d18a3d80a67e4023ce56ff59d9565838f9c0c74503addb3c9787977de5286cb6b602dcfe0721fc7a3998ef018b56d4a4e3d578e8021d08599ccc8895df7a9324e8abd2162e81576fe19ea678bdffc86660fd7a180e96ed872710e6ec96132530b16afc47427f91df4ab95300633c028f433ba0c308638992e61ae8c2b6b83af10e622fb1cb269cb453ffa4a67d211f23029e093d4dcb434361356\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keysize = 2048]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[sha = SHA-256]\n\n# tcId = 295\nmsg = \nresult = valid\nsig = 00b19d8a2b9227ab7ab63e9c5dab525e1908635115c5133a2d89f56ceb3c7a846e1aa5422f866554561af81200edd66f349516267c5b42b5566b0c5494c9898855d2a55184ba86e36c1f758fb3f573d2c8902e086c5af308df639107433d862f3054825d229afffd2b6c4d66bb424e1f1917219cbf5e2feb2a15009b211f8135c0fc764dc577113bc0815348b14525d9c766f4537b499080747ef28d9525b27f2a5075b37cef52c38a537b3a384ac85ed2813207b126a048f8c034c06e08e7c9a9a5598b447669ac2b2e8febc5c04baeb5c1b073d379e5f6a636c416746d5c04f7b4a3e5f9489de27b65307bda9c082b24873c75024d4599c6fa3b4ded40389a\n\n# tcId = 296\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 1a6752d24112f3faabde6771f96d63409fc8cde9b47325f97ecc3de0d674a0eed7960b8fdeaba2921ea0ffa17ec341f2656d8c748f7bcbed783b5df1cbc7e7174fcd2a9a2062c206e0892ed1cd6fca9cd1b68599c38282c8976aff6539856e99386cffbbac707f71498fb66355d95aa8d2b0ef622bc89a847c5c6c9973f1fb047b32c88aaa8d0e56c9da2d19136f2f0f4ed215d9f1555fa850a713f1dfdf7c988931200b81691c4ff13010674400e53396098355754f9f26cc9f6347c0242282bceeeb304e95233cb4ed21dec228354d0b80e691ce9ef2122a55862f50e7a6b0ae081bf6097e1c2ed1efe3cb78258af85f0139ad9d5050b3f186776ce5871f21\n\n# tcId = 297\nmsg = 54657374\nresult = valid\nsig = 93248b4218cb8d188d3af7f5ebdc9badbbad3dd5540d01124c36242677905c59d4e61a1906555660a934e61536f3df3c1ba1d7deea33889cdb223d848a14337590bb7df6b6060351bf6ca0d831918dc333f150af7a60649585ce2b4f9402bd1790b7e0bf7c8832ca482fec7b26d3f1c754817dd287055360744eefcec54eb80734e3b226ab54f95a057c74e0d3eda41303984faea940b7040cd3e9303b2e22a3fa2e3a0d13f6c2b81d92be3518f9027bc0fd099268d18e3e686ca2eace1f5c371e34c3a4910d8c661efd7e25255b253d9a14607ed22ae0076b2c7012b6c61f7ddb92559b0111e2eed0ea8d0529007cad3fa6d4919e5a00c3d8ffbd2658c6de7a\n\n# tcId = 298\nmsg = 313233343030\nresult = valid\nsig = 201aa402275f3c75bfd46a1f099c0b5613e862461adf57d3d94a95951d44a81c0cddd86ecdfcbeee7c890ab999d05ea0795f4bcf7a62e2a1807599b33d9548a8bdcc6f1d0e8c06243995e64dfd9b2ecb7175d0062660f14d5da369fc56dae52aa9c07e18cf8314989973d3433e15691c469eeebeb05dd3ad30e8c496819af126572b14f73c173620049a512a789f0caa515b04100d49b43b1044d70d7eda9f68d7fd227586897bddbeab4499faec6417d67108c88f27898633028341426774c3b3c3bca8c4d3e18df8c0b07da56e6c00dbd770f3e848777b273e0d7afa5394ef29a54c3a6451e571ed9933b54c2456212c991fe8c5cab8bfcd77a7c7521419fb\n\n# tcId = 299\nmsg = 4d657373616765\nresult = valid\nsig = 253499849e32ae10395edbdc3e54e1c4ec0ff26b607ba3ab4932ab5627b0f26a8384fa91b3949db51a363512dc9a64f40ae9f27305fe397def3c6a17d5b7899580c002efc960bbc6fc005dd9fff3c7a69177c9ae8ec061b352a8fe4a342c6b3258423b8097b26fb743417227babb537ee08f15c3bbfc538af8c1b02dacdaf18d1c62fc8d120ab50d6dfa0d3b63eb316ac375c8d25bdf0c653ca5bcc6939ac7ecd3c648f6d56404be99565b5f0e1e70dd3b440b3d07a4848182c259b471a7ef2f34fdba259933cb58c7828c70537107198e98be174f45ad0b2da87550ced3639abce8c9df2a5a0e73c403d64e0e0326e5313d0e869c3080685c4437f659b241ef\n\n# tcId = 300\nmsg = 61\nresult = valid\nsig = 6143e8b796bffea36e9d58716e3e16c73a792a60c99649f954b0ca7a3b9922def9a115517a56f0f9ee64230914431ce5c2281829eeb245054530e0780605385b6b0876e5f70691c6041f6fc7f8e282998038a20bf8a2c4f4983dcf4fdd4e10523a6bb799951244f385aa2a753e6a9d89588ed03dcd65d16ea605a06b236197345fd9c25a72c5168bda5454a2c933a71005e881fe7495c82b654836873307664480b4e43e842e1a9c616734881e824afedb59a08214af3e15bb557afb8d73f7574ebe294147d5183eff6a53051567825a96cad82095d830f9486ad85601d4348d5ce92b6afb07adc8efc22041ffc30acddb542381fd584584509d37bf49db7957\n\n# tcId = 301\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 998a9f7b1870c3b05b22f9bfbd70db2ff671ba7c8cd89a86f180ecd992b790cfca1b4e8569104e233ae605fcc741a8ec62268f39372c3323b0ef7ed91ab271308eca524592cd2637a5f2d77d31961e7f44b101b61360466044e208242a7dee9024eecedf22a8402ac971e5297a94fd96506c090dc695b36c5d798049d9f583660bcd0fbd7c296f5e0b57f001", + "8317697b7926c4bf8e25cda19bc52932de6ad9c7f73e18d73e603c090eaca5d256dd06138c3366e89f3cad37807f456af40923251a1b69fea2ef83b2da1da869417a1b5b5675387c1483141697435933d0c2a1ece2e9308f760052ab6d96858f7f6521844ee9f22aa2f12446a2c3e7a559365be2\n\n[e = 010001]\n[keyAsn = 3082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keysize = 2048]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[sha = SHA-256]\n\n# tcId = 302\nmsg = \nresult = valid\nsig = 6ff210ab793b24026c588295e2e5d1bc475aa24344cf1ef7000a3a24d09f7e16c9b3d8617355d0aae1f233794d7e390dd442eb93c2f8abcd5925698de1347dc5c44ee6744409fd5d4e07e78b477fb3b44506eeb70778efd7397b632a233454abe0559c602173869680ffd7cf0a6b68ffe4b358d8db527649b6bf4e237461459103edd10357379e5312dc10977d631010b23d608c19e1dcc729ac6bcbe3b0c032e38e1036611cc9214c0c2dc9587530eba67b9f6b4ac3b4722efbe62190ed906bcd8f971ac6c072bd30f4b7a93522571a2d427677f052faca80a21aad123e5624f11762b792088ef12c39beee64022ca1911a35882f8e7b5b450b6f2b76bb529e\n\n# tcId = 303\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0ce0ffadde896697cf5c838393e394eaa6eca678f21a3b048fe1b1713478390ad6295a99bd35c0e9aed5c97382363c1a7bfb587c76fa4acccf4829e7a13dbbdb21811ea6ffe66e23d915c585e655e19b1206d3828b94aad5b58f7c15be783070b381b5f32d42069b55061ed6de7eca89e895422856808798e8479206b3415e597d79a05c93c94db34c5fd4d711768c9a7dd35e18b0e5a23748a97ff6449443c793d674bc94d922d0595514edad1065bdfd39a6954047c5d352f61ea88b266d8c3665e4452a1cb2f5319db49754174230716fc02886b01f795b249e4057aa8b7997af7b26045225384d619b82a57e9ea991c40a902e74948c3e6b8618748d41b7\n\n# tcId = 304\nmsg = 54657374\nresult = valid\nsig = 1ccff85f2458039505056afc45029f153d761e5abf7c46bb8a3646a1007ec218feba50c92b97e1aca8329ee98e0258bc9da0826611d16abe1bfece7dfec2c07e681f0d2480f79164c3306bc3de10b89a9be73cc12b3ab9924a02af9d5932e8ca4abe99c860c6e963db22717da284be6aa6e8a6e2a08ed7b3d9375455bbdf9867d368082a8555d5cf46cd7fb4a10be36a7c683471f499a00d62f9050c6f632ff659535913ae7214c6583e949325a8d7c257caa53752d8561fb1256e19f930d51551ba00fa4c16cba64000c4f67f81883108772696d12a9fb726b883752f23c2493b6c9f9d2f68835c9f787a2eeb98092d526c3d1a8b659e48590dfe42bb52e08d\n\n# tcId = 305\nmsg = 313233343030\nresult = valid\nsig = bac5e1663853e0a4088543eaf4cdf36e8b1ec7b52fef42081d31e3f294dffb31276834807c4719a1cfb8c7ff8db7020b72058d4dc481da66ab60f40db119cb57b66726329194f8a8e2a22499bb53c1346778b9a02f92e015b82b4ef432a13c51f93999fd3bba3723698bb0724b2cc5f91dcda79e29c5eddad80b7d4a08e3c549170952eeb03188dac1c81bf37dde0378f66fb81102aef841a9a69743f4c78a8e31556fadf5af56d81afa825d37d2f6d8516795abb7d5804ebeab2fe2fbafd5ae355dfb9864c996b147bb5f1d8c1b4ccc3040b42876a27c83df2068f1ae264ba557a6f1c5e0436c04fae398ad4200f5d1d5a872f771934d4a22a1c7785d4bf347\n\n# tcId = 306\nmsg = 4d657373616765\nresult = valid\nsig = 5c19e84cd12131e91ef4ad45d57c6a239f127b202bb5703c3c3b410c9738d62e902f637f8a09fa6c6b7380fa4084def5e0c64794892ef6def44f28f448fab60b475f876b55a62ca09e6fd98ced80bbe2f3b697c25c143936609f4af05ecada3fc66c90567606e0d230c3cf7420c4910b41427b721d3213d9509757c855af7cf75a3b96b52054a57ec985ceac719cbda5dc8eada64c5aace659651b4f358f5e2f2c09d75dd0cecd279af7e2367e02c0172a5b8df807d88f75562465c233618039c0c0c109a58e386fd22dfe3259536e37905a5d9f77e4e52ce6d9ac14886d0eb55f52de0d4810ae92583c1eb7fd8d4c42bc03f24de9404697980ee68860044e1c\n\n# tcId = 307\nmsg = 61\nresult = valid\nsig = 51a7039a70e42c6fd2b38e2b0ebd7c28c11c5ed1fdfdf375b18c6f82a7a8865addec5868fc49190d5d92bb1e0a0ba2e5302159e78832e6a4682ad68229eaf6fbbd41897bc38bab84c82d05e0349591d48b8d66831e9951293a45121e0eceb85c29f3a1915abb7480e33c7a7a4f9358d038dbc95b2304bc9e9d1f3bf50d52ceb5d34175c4e14da4ab57e4ad6c670c949b73471c626deb6b726d6ac3e90e6b207805902251fa0f1cd6c9b3d2f42163efca8e15a1ac64beeccb9151df02e244a80ec73b731e7fcaf25eb3812549244292c8a9fc65385225155288e812b9393932a539bb925811196914c86f0be543418d32c187b2ab859afa640e9ecfc05fe9bcef\n\n# tcId = 308\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 9ad84538eae75e7400cecd0975aac5da3d05f4240bc480275a9e503b72edf8bd11748d074802c3bfb61d30a2ae5feda7241f5e0d78ceabb7a0995bca46949b357fd863c1f6ba786140ffbb3da07897e58517809a7296e5b7a4f840a75a58064946638f909e5a388056df1852c35fc9f304a6c224fc75fb32a602fe4576f78e6a56b1da650749a87396fc3f607eed5739a24ec085ff16efef54105e02f0bf895f8bba7839b98d051d737e43b7006723737d4f64b7c7b59739793766fe62a659472e1694b8be22135c734071783958dc6555683761e47f6702ab5f0efb1c4923a9e9da8af724257450fd88b7aa83d5a94e141c6cff9772cd1547ae529fff736e89\n\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sha = SHA-256]\n\n# tcId = 309\nmsg = \nresult = valid\nsig = 840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24", + "b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486\n\n# tcId = 310\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102\n\n# tcId = 311\nmsg = 54657374\nresult = valid\nsig = 264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c\n\n# tcId = 312\nmsg = 313233343030\nresult = valid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n# tcId = 313\nmsg = 4d657373616765\nresult = valid\nsig = 513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8\n\n# tcId = 314\nmsg = 61\nresult = valid\nsig = 38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907\n\n# tcId = 315\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852\n\n[e = 010001]\n[keyAsn = 3082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keysize = 2048]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[sha = SHA-256]\n\n# tcId = 316\nmsg = \nresult = valid\nsig = 761cf7ff1ecb38e7741b946896985d34ac1f0122ab449afe8b086b2310f730056d7c5107355b2a17736e10824046192490e2bbe239b49d38bcc5f34d0b817c192775a40a57887343ee7558d48ae90876b82b6690435dcd9611126a99a27c020c3c0f914ac33a6a36fd7198dbfae23033a2b2435aa7183568c7af6cd7ce30edaa112e44fb88cb1b61ca555b4d5320997a5bd3ef02d6d049e859646bab7cd46c9dc6f3c7bed342ef74aad8eb4dacacba64628a83431d4954f7c8eb2cff220481242aa04167970a33d3eb65462ef4f4c3ad5fd4c8c312ecfa8a17cf01f5e418c26840f6b9bd3e5335740290e6b8c79998933f22632335aed0c56a980feb823d54f0\n\n# tcId = 317\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = ad686a97bb6564e4ee656f12ca9a0b237caadf6c99b869afc7a6bb97115c97e2456d7672ea7a7072f4921f6cf8f73f00222b36a40e8b5eca409136ccf97013a4b0f07a6406b846f6a548d800ac19a07c1d9164b1b04a8606770c8cee4126d23abfa7ae8f1e4ef9bffb3debdab03a650ea4824be759f849199faffca95a94784157dfbb69a7ccf8cd760cbf9c728d2183d1d410687ca35b8fbdb3b6422271408dba8ed3c419ed0f3661897b0a65409b54f0f6a609d0dc48b9c9282837a02517d86e8c3b48174df2f82e06adb5bc6e86e4b75569137209928ff750e83a4bab7fc071fa7b01aade8df75789ee726ac23d6b324b662daddcb2f27b6f486ef3b7db8f\n\n# tcId = 318\nmsg = 54657374\nresult = valid\nsig = 7f5a839a46d78ed9f4f469a5022358a5e43c855946b3409c66b6b982c07571f68c9f3dc5665a93f66b6ae4fdc05ee416a85b2fda6232a76ff3841d7f99c301b3ae0637d985000cd2a7155e3f2d5aa558af2fcfe30fc83fd4df731a200f0b6ffb26cda6447a777f918c9f9fbff1aafd759f6c605c83401e31ce25c8893f1306aaaaf36a702a1fca1c421f284e12a6f81de723e6eb7b04fdf4895e9ba7c7732fbab82c4072450d612d153d6c362938b50774aef8d3b27bab5f3a3809e0e9104ea91b0ddb9bf9c5ef3cc58122982a7c0c79e9c026b7bddf28af2d671ef3ed6407886cda332335ba1034c6b4efe61635010200e1c7c4f2951ae523e37e9df7c86f35\n\n# tcId = 319\nmsg = 313233343030\nresult = valid\nsig = 521e5af2451d73b61b7af2d81eb427bba3911a3f2e61105bf38e15c74196c8e66d52239936aa1a7823606fdb4d243b32dca2c4a95cb3b302fd34a9c0879711095b4d1e75c59d005836c2b9a05ec1daa63148841b285c10bb70f4683994fb0a598b927415ab2004dbdd6405d57804ea142f21600d5bf5487f3f7419ee2c2790a122199cff03be53847cbda28161f37810f046df1c54ffa9e3070ebd1f8b08b3293c6a160ef6593ab497415c2a086cd5242f3509b375f70e12435b01c21bfee65f2156448831050eec3da4df7ddb04acdfd89a5cbd5f9afa75a8e3871378933c1483c28c1bf405c42625b673bd0de4737ca144285af3981fcaa7302534e8c36e9e\n\n# tcId = 320\nmsg = 4d657373616765\nresult = valid\nsig = b731e0b201119fa34f59d4b32590213fc8838b45ff6b207d0efb69dc27c4a418a01525e05bf32de71ae5022c727efec973bc3ba7cb8777efa41fa1a99b917cf316543c192f389f2d67500200ac54d41f691393f1af58832f01cded931818feacf65d87ac0ff5e5e6fe3178f64a3a710db308f3719fb904a9a6499a0886a9766c3eb51e0e9ba2a00057151dbb8bf7bb23b88e29c55e626ede9ae634b9c133ad443999901891d96f90c9c559e783043cd3c9fdc4aa56f65884f2f4ed29be1da21257b2e42bdd0ef5520aa02ebedb347726ea85897bef9b4a7992fce9075dfe56abf35784ce6a7e9905ae56125642e627b2d330adf071afa04a2466df637b8eb706\n\n# tcId = 321\nmsg = 61\nresult = valid\nsig = 2a64d02e8e4abedc4cfd69f9256e0cf15c3997b0e242dab5", + "83de367b2112832717065bbb2b546ff3347d00b5f90da57eec34a6397ba202072bf8d3d2416420a48f5bbbdc299487f45ef01063d520a63f2528d8bb6b1f17b2f7b85d672908c2718ea7ab8bc7144945bf8947b87754b20ae8f5f252a06b71158af7c49e9eeb5477b4dec4d7811e06dd3026943656c6b99d41eac564c3212360d7f123d2f885631b162c086ae1eb03bddb481afea40af58c6d2d822fed48eacd887192b93895d51814ca7fc1323992494a65da4cc36cbcba56fca8fd1a55220922071b7e0f1bd9ad583dd84ae826ea68b2041a2e931f98908fa1b748f211b543f3766ef6ac5f0efc\n\n# tcId = 322\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 44b58233a3935a1d488c5d2edd0676cb9fa00be0ec9b0dc9464a6b403268d76dc6ce623b2402ef96e14aa6c124bb9bb3220f5ee4df98e834a1b253ed3ecc3eb08799a9b630412ebabbe825ef0a528c6fa5e837211b940b2f92e4fc8374b1ca63f5e4feef95cf7d4d049976096762c659d99317d900ffa8a1b09c10b2109305effeee8acbc7d50201020c77ce8b2f498324f47bae84a2d5ce4899001f4369c4d6520600537908b6f23ba90ed55f6c07cd22d3bc5f1ac66f7b853847f041c7ec999027db00a99188b79d5e1c9d4e5d79cf92267c106a514f18a9e34a6dabbcc572e3f6ef654023c507bc769a8a9685ac2f85dfcfe57bca2fc0f6a5a149388c0556\n\n[e = 010001]\n[keyAsn = 3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keysize = 2048]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[sha = SHA-256]\n\n# tcId = 323\nmsg = \nresult = valid\nsig = 26f2b1e01e80c01766adcf56263d6c01df403e9669e78521274a37de7a006644fc1957fffc0276d2a93b3e9495b2a0e049a95789cec16989bc6178b0aa8825e83db9dae5852b3fd169d205d58f4fc9eaf71f389148f703e53a96b0d99884724bfb9193bae6b4a597ef303c8f6ff1e17511e23a3b3d91a191f22c08d5c1a52516ba6110e6d19577610ac8acf96fbab7006fbbc6dcd7318656e976a6f7e25b8d3257b85260e14473314ce53906b65f43c544d3020287ffe66a4d9ea82e25504b549329590b9ae74d7fb9b836f83b64b212029bd6fe768610f816fece61fb451250fc24d725bd0ad56f512f282603ca72755783ca70280a7294982a1452d89740e8\n\n# tcId = 324\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 58aa35d98f0a0be06186122b803b2b2bdcc485ac634ab1772af47270830492f2e3967201529c32353edb0eab5b98182bae1e2a99f065f54d5ea0d7f1e286cfdfe68635dece589542e04f6eedc425f268a172920a4212668a06668af463e565d016825f16fb2b31d9183a2c9c6820516f48d3a7f85b64381ef4e8676f0cbf51caa8e436a3e9450874794beffa26a050fcb5c48b98df365effd6c715d78dad2f2596955f87725377a52bf3944ebc02f20dc4888c2ba69cf39446d1e4955ba1bf52f60132cab956d9b3a770a75736ea43016b1005a6580814e6c910d4ced592385b80b81a1bddecafef0db7a53df6725481c181f8c42a71408c1ee4651b70d09093\n\n# tcId = 325\nmsg = 54657374\nresult = valid\nsig = 2432bad850926fa58b1cd04c3e6c31373a6d81f15e69ed8c3dc27c904b625a235956e083f6dc51b66893505ae59d3ebe984e358a457bc1e2e1a368163ddca9252fd0c75702eca0e81009696790f56c94ee329b54bd22a79a5b4b565d397ec97536a4c9b88ef2b275a501a32274c0702f33454c06645400e6a3ee683905790bfaa08d053c39573872542db4e1cbaa6a68b7e40ac20d12384d1f72c082c2326bf42a665a56dc72bb853480603f4e7df014841c48f7b7e2b8cb5bff85aeea3cef2a7245bccfb74699e3d8024f29c635e65e6f74f1322c42408edd92e8d0879cd9adb37b416d95428a760d9c6652f0f211576f05c50245f929447e81e9aa5385845b\n\n# tcId = 326\nmsg = 313233343030\nresult = valid\nsig = aec1eca91968d08b4bf15b9c5fddd9e7a6a20be74486502380faade04d84d9a5916a6c0ef2dccfd5ac7397e76a301096732584e8442f20ae80627588961cdf97e344e131d79e6894be6fd51b72122bc2654d00f943683a8db630d35c6874ea56f908eea64902f18c0a548905b3c13114e3526f3d6ed39061724c8e9df498545ac7f455c37d2e05beecd47c15181161873925049bfb4a671e4d1901a75099c7edd6499268229353073a598174fc937f856fe85f950e9059496348d0a1d9f98aa94208d66ff3f58792ab0afe27075b241a636f1b5835f4a4b330c6f9e032a736119a1d8feb99f6c22f3490a82a65710abc3767e81ad70a230ac4b1db9a327ede40\n\n# tcId = 327\nmsg = 4d657373616765\nresult = valid\nsig = 053313327ff30cbfa78b59ebd4de78cf5b74243bf03a30f74e65b2239fe339f989a90609a04bbb6014af40bfbdb33c5f58b077a25d568747de477709bbb59f16cbe3a3ace7698371025c5af106c8714ae3f923d243b6f75218fdc1c442810c2c90db16288335866dba2fbf195c1c54ef944839fa465388411f94e8a0c9265663f92ea2a9d2b17e803768a39828b4aa7eaf6954feda78d90ec94eb1c6bd7bd1dbd54a3e80185018f18746c2d61f980ebaca6375e5d37b37cbd9e213c52d2a00d146f2f3601d42b1d3e41323338257d854827aca44ed28fa5f3fbd46d4aaebd7b4c39b03ea828f3bf7e40d58316e431b6aa1209448347de678ae6e1d860422eaa7\n\n# tcId = 328\nmsg = 61\nresult = valid\nsig = 60c7a8906d8230d206b22d377cbb35ea97d9ee279dafcc7b60050f160868137afb45e357e8c9f5d8fe8bab6ce8952179848cac9dda57f84fa2c0222e629d2ea265df3b3442ef41fcdd1ce0223def4e3987738b8b56b10255fee391f6f1559004046115a8f5c610cabefdcdd5020a41cb4c1d377f90a0852fb4dfaa0ba25463ef997db4442e47a03836640ef4504e377656b130477a7a4356e67fb48b716de4542599c93334c58b8b00b71dd20746f6e3130fe8c5ff803ff261fa6b862134b421f23e3420a2c4ad2aaac1bbef22d32cf67eb126b8c68fdee9e3a162cad68afc9826c0af273c40511022c9aaf6126ef879f3d27bfacf3d6e0add2098cee47d4b96\n\n# tcId = 329\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2837fabba04e65e8d4f140e2575d557fe41e6ee280cd371bfe3f21b14bcba4c072eb0f156d18f396192a5d4bea5849ce6a4d1a2854395a1b05ce3e7aaab379f65449e080e490dd2a0d17f2e46a5e8c347a4f22abddfeaee4a62127bd0164a16c2319cb5cffb78a34a5d1a6828f25940d11446b689315bbac60a50a372c5b81a755e40306e39ca2f2be403e99d2384fc1d6b761f57a0ea8987a6be50f397082e6446f901add850738e1118ddfc87b0e1af2eeac73d80ea91f68d779f80422ab3716be5fdfad58d935256a7d2a5b7b32ece4e288db9389b3f48bb3956af9a7567aafdf9f8203daf466bc37d62749e36a6b6a3bf1c4bd2db15ccbded7eceb83a4e9\n\n[e = 010001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c", + "2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sha = SHA-256]\n\n# tcId = 330\nmsg = \nresult = valid\nsig = 157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade\n\n# tcId = 331\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772\n\n# tcId = 332\nmsg = 54657374\nresult = valid\nsig = 5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1\n\n# tcId = 333\nmsg = 313233343030\nresult = valid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n# tcId = 334\nmsg = 4d657373616765\nresult = valid\nsig = 08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349facd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e\n\n# tcId = 335\nmsg = 61\nresult = valid\nsig = 9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b\n\n# tcId = 336\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c172cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11\n\n[e = 010001]\n[keyAsn = 3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e13", + "4c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keysize = 3072]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[sha = SHA-256]\n\n# tcId = 337\nmsg = \nresult = valid\nsig = 7fcd504ffe34ea33ae23471cd6cffe52e3a51a36d9d9b8512cb1d2bcf4a6349ec8d19ec319f21eb089511482a2e449dfb093fd67ece3ecb527e0ffe3bc93db2ac96001c1d5afcb137883b0cffb2962b4a2f0a6ecab110d8a636982b685f6302216673431a9f81cdf68b7e759d95e7bccd5d308a6f06f1095eaa1fe89503c085331c06a5a7aa65a8e672161d3e32147011784eb7cd752211c603adf994aa4db668eddcc1f28e96bf86f1a57d1ddf499a93f7d91821eb6d6b74ae813359a03f3f2b77ef47828032b6a57691a502f78595cec29c88dd7ab0ffbe34d96989e43278915b9051119282e1d9ce4f412a3865e0bcdf46020a225d78d636d8def2759330bc44996826db26fe50bf7b9eb4f5be1fd1d983f90c94a42a24af519732a9f2696b2828d4f28bdc8fdbbe71a92a454058d25c8b755f49126ae238ad0396dc4d4417577ce436472ea3fccd55b96cbc1be2e61d98d2904cfadc2b9917095a71bfbd65ed06187f992581e5b57e8308b10980edb791ffc1513b80221068dc3ce1c3d59\n\n# tcId = 338\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 5ed2cd31c2cd198f7d9bb1340818a1f832f734f0962759ddf8fbcbab7565c0905798281c734a53dcaa6e224a8aa825009e4422bc93578691b266bd0ca257816ea08d4641690f104f93908e0a6dd032cf311bcc1086ea5804bcd91f3638a20164681561242277aed421b3417ba93649a96b768c4f2d297da2a433d0723033bb826865b35d459930eebdecd68afa88c9ecc06cd0d699f8ef3085e0a6deb954258cf54cacaaeefbd1cf64fed248c6e45676b796089b115229645e5dd1078f8c64150b9f4d4d439b6a38c0f4d223a84c545712c0b002a8efdec6f8da91ec60b7b2997c6733ab7257ed0bb19c6bb634f1045c6041fdc59885dc9bc2ca885987c40b18ee9315e0ac7d15d3b7d1aa1bd77322d43759b89a279f144a141a18da647f73f8de1b46912f0bc61686e6e05d12c22130be392f2177eba82bcee7e351967208f0b270d1f68298773c30e4ed01dc16e8d0df24510778f0ba0e8d92caac7ab4e3e7b81a09b9648e696c2c2834e8970fe7159052ce51603c92e30b40a1260bc17067\n\n# tcId = 339\nmsg = 54657374\nresult = valid\nsig = 977e97ab0d16233a711b22b6c0f1295dac753e3228e81e4393caf9a6228c05783cf4a8d9785e8968d3adf84cdae4267bc743fac68dfe3b997e9b6dedf19c8dcb4dd7904612ffc6aa56f5227240152ea3736d62ba18f0ecf5f7b5095fd95819262275340022a498095ae82105275c8a5e977927c681f095142d74e1a103a9df38bf51c81becec8e9c624d537a466447c87d8d91920d42ae281348db81f1c241dfd1ccb0d210017459b03bcb6256376158ee51bd17d366c4c61abd0bdfc13bbd0caa00b8f9d57ca27c7de84e5f381c22dca83b6812dfa71a57e8ac0f9f050f29d102f9a580e79b27826c767071eaf9e6d39119e38d22c6c3854367fe819e6aeea71cd278b317163ed910ee1cbdb27ac4e20935ca7a58333bf023b662ecf3ce50a54d4d20e6b690b4bb1e23a5670b454d011dd1d7640c20dcc4a779dd31bc37966bd6ffa4c88bbb8565924708e4ca2e71d78d531d7d1b81988f2897a5f9ba701ab51f2e9cb860d274eee477c0f06bd8923941419a78b7e019fcaafc3d860dd755ee\n\n# tcId = 340\nmsg = 313233343030\nresult = valid\nsig = 56709e7ac1d1b37f162bebb32a9cb9f86c8f9473e5ebeeff4ce5506642688f0256b5f1fb06108b0c3bd89bf7956e07ac22a4154ee4bb2cf5672592852f24d1eb46211f3a9dc55c515fa87db83d5a747aba9a0b8b3e07e1be26bdb462a3dabe7312350e6814cc857a1cac7ec6e1789f69df392d13fefc49acfb3463ca61dc59f619f34d75de7c7532a1c29228a57337a139a08bcb376ebeea36fe92d098107cc57c1ab328226195844a8cbc292dbe31523a842c5e222271d1ff98ca8ef5985bdd7f8c0c6f9f1a582e07ad46fa64306cafd2ee768baea1e2cb5aa42443920a6ec40e168e5de50dd2a94243f717dcebc9b4ee47a5128369b41fbee068f848b8a9069350dce0b83e6d5a9a9ec66521b11b735ce4ea3d8c7b4ecd8695cd87221d1d7484c9a893cddcbcb304fd203e7c2120ea5104c0d3e8fec59a6e0d1c44abec68d98f6409be5da8aa8800a93f457ad6b085cff25f7a51602691f8465391276e71d7068977130668aac2a533444bd6cdf93d8808aa44f3b79c9930e276bceb33dedf\n\n# tcId = 341\nmsg = 4d657373616765\nresult = valid\nsig = 62918c23b5be627ad47921e80c8e17b16ef869f46950d2dde3edc55e09015af3adf54fdffb81be0c7825eb0d34700a2c0864bdec51267beea4bb0db1a36324f296875422661436915695d83807073cb56f911b81ca98da18d50c55dbfbc9da7aa611a8cefdbe45b634682a2beb9edf69fdef5d8fafc0c07da65c0fd0bd1ea5779f7be630b0cf55b4c68ec9e6709234daf933eafa209795146ca3d3e31d338380e91f38d84bdee51c2d678e826e5ff8d3346ec471405996b4541f711c6c4319bf01c8e5d5c79a54144c3963dbc5b4302ba3c813d7234a684afe2ce3d8002346291af1a53f9629d24df957e6fac061b2f68fe71a5a218876445b3669dde2a7ffb327a7f5fb5664ad6830b5faf57ba9be1a0486ed66f6beb3e48d05cb062142379c610b457002fd96d91b949b4f45491c7effb4c224305392720da3a16d3d1bbdc63cd8f923b7a31363b420e150cfe327e34d57729485f8746769656c247318401ec584df70580380f77c5e4d5afe9e9e8f97edaf19f197d3c49b17087e37e06227\n\n# tcId = 342\nmsg = 61\nresult = valid\nsig = 2aa6beaedf46b42ececf75c0fb62fbc0909397e96022d19bf2e5ba0cf0fb932632c46551287354bbadd0db12f5339f5f316908d9526eb61571fb54644ebd2a5cca792a8a0a09da915e14ca140631d7a5367aa9b15f26b7ff21bbf534c24d2370f0fffe966f827d36763b4f562bd2c05d8f0bb77a0afb23bc97c553b7a71782e5f11ae3c4790479bbd5acb6f5b4748d4de6e42e475565688e30471336527497f90007fe3e2d616061702e8f29805d2a948f1763969e1f9ed261edb81338457d3c824818cbbed75ece77a1a8ad153fecc94ab5c551488da042849ec7aae7113e376f9f143a95a7e9ce4dad15c0207da963328bd6de98cbfbc7f36eeacc92c8c321aa0a86db296139f4e53b77f4fc6f2b084f8b317f80fc3ede7f5f2eccf58fa921c874b43fd21143217474a5d4e7c900a534df99a1ea394d793fd0b8172076d8f8dff24fd23451824c2dbe95ba46b0a1165e464698ad016b7b3308ef540d2e2ff4c747376b7802adb7d409ab0bdfc87b407a7f130f1c8a52281d89859e67e0f883\n\n# tcId = 343\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1e7d1af86754f6434482e5817930d9cabac8903547e184aab1cc156c4c217d9a2b2328577e74df353e0bfc95221dbf18b912adc0587a387ec0aee5b77ff4e1d9d9ff4b0711d37fa21b7866e3aeeb44f7bb4df43aa5cacfcc4be7f2be77f8d2a890e279838455a2cada2fbbb9f6bcff5e39ee1dfd17bdf96bec4f0bb066fe3b529cfa8acf48897c20ae4c622536cdebae92449c761aed868581a17e3d4482d500f25e65ec7cecd77574c86c38dd346ed0887294674d8296315250cb404ca144a10bdccecb0b30fc5c2d5843f350d03a0a99f861b138cf1d754bd7e61d8ee03283c04a74c66b07d8e153a11e8bb47d16710d186704b11b089e5a7cec2fa7b5876fc25df8d58b65b125c3e5ab4088756b4f9c2fe44227c478aaab4db5a17dbbae0a5c548854f0a7801b7d43ffb00940aae99da12b6520b8e53d0c1ded21b209924aec202ec7fc75863203328b66e8ec426f121618e5b5bda0bb9c967321620885c9e1142366d1940389ef9bb1ee57991019b38cb685a5c86f54719d6d5bc9d5a108\n\n[e = 010001]\n[keyAsn = 3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec473", + "9afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keysize = 3072]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[sha = SHA-256]\n\n# tcId = 344\nmsg = \nresult = valid\nsig = 16b880609d1cfec88b79e4a1eff78c12413d7a79ea9bfaa8b1552a2b05289d8126002e61e1bfe9e1d4434494c4849c716f57040d62398a64db6b4ea3003e3bfeb8427ecdab11673842bdf900b5a1fa005fddf414ee8c5221ed4b4234394c9296ec4139721b7d229a819abe018b6bb200f2a9aa144bb76be44ef095edd1d26610a9590d88c487bb531b2d88dc0b89216f33dd58d42d2ac045a458ddee2569ddb03923585d7bc0c8dbf442ed5d9a54b637712a712ab162bcfe0da0a9b7b58c158683dc8c457877203f1da3fa736d2572bdea649e7bab22cb5afe8dbf27c50e7aad56223492a02a64e1f3f8b598213004a75fc879ab68face2366c4269d9ee0760a43e7f554d2f314981f7b0936e7e347825405a3e2e29f531429e6f9592461dff49b86ec41b0443095268dc0f5f62d0637b8ff220b5cd53bef406e55f1739ed5513a91912a25bc2c55b2409fe7cd4366802eec3d6cf315323c46e0f1db2d1d327e6b25c85cf079a8675f34af60d6629aa3766ca9e4e25bf64faf9f29f772545905\n\n# tcId = 345\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 6ab1816307e42aef80c2438297bdf63b6992212dd870cbc11edd53b7ebaf9ddbd93daf8d62918ef87337982528962d0c758d1ba50a088cda5878c2f270a1eda033519dd83bbd9643ff61d91316f12c7a5c8609afe703a27671dfa32919da6e578935afef082636324b59d73144c944e27b7253fe4fbc74670d196a93e14e619fa4ec0f5b531237c03333471ca968f5d64c2c87a952984e69a75061a322b14c140eda3cf914e62b08f4fe339d5b72ac93a1146b1a70e8ca6b3a4099046a4835c30a6cdad3254e7944bcaa19bd7577ec3fc5969d247421ff67466691f4638e553be628124e5a6f514ab8054456bc70c756c866a7e208fb3f2239db9a0614d30387e2ec7da2cefa2e99f3cf98d8996d7785325b7dc294703cd44c10de12825be3db147c08a3d8cb0b669368c2a82abdf75d5ff749746aeae430a4b6bf4db159f0ed9cce1a618af515ec5f8711838adee43c30d8573efc49413ebffb87e034e57b1ff29f2a9d8cc4e85cf62ef40ce0c822dedf5f7dfe1078b11d0be95b02f93d7cbc\n\n# tcId = 346\nmsg = 54657374\nresult = valid\nsig = 2565180f58745a8530e5003c6a879355d481c142d191d38fbf33e1f1f6dc65cf488f3691c6969444f54a40c37bd9be3f33ba5c65e5ed8421c228cad22e4962837dbef802105fe1ffd5a76b353d9de43763ed31b4258b131b4956973cd43f212fa899ad8cdbe0d3225abeacfa218758306c97bed7d3960aaef0d513a29721c89f1b533981eba50d98672e99923be57bda4e6818eab39e8634dbc38b33a18acf6b8fcb2014154960d79729f26cfe9628bd5c9af4f7751cc72394fb2be947db13fda1fce8c8120bb55ffceb7cb26086c8efbcf072420dd9b594b74e8352ee339b198a16896fb199957a1d89ee56bc13dcbd9d03eb307265c1861626a6447b3d5bff6305def421a7f59882a272434b54d6f33591f59bbd7c852d5b761f3c4fdd8e8721cb99833ac10ef376b7b7914eb7424a6f6fb3ec024ebdaf630eb2951c0a1841067582dad1bef509c0d55eb82b78ddd042dc937e938339c3aaf19dbd342cbb6d56562f1daf96335610fee3f551cb010748b428197d83a7187f5d85441b6728b2\n\n# tcId = 347\nmsg = 313233343030\nresult = valid\nsig = a7ace057a106782b546816f8dcc81cf41216c18e587d8a5753ffa780fc51007196f37a816beac993023b41d192ac88cd30e2e9719309aedc367defd2893d767dae6c6148dbbe6fd4ce3636bed48b746982795dd206d11e603f77fb46fd56ac9e51a88f26c9c9512d3cf851afbfecb061bb6ffe7510bc4a8f4c17b8a6135f9b80557149834d18f4bb23822c1384a48a62ef3e3b723fdbd250d25d25177355ed361d54f372a78798cc111d6374d40062c5d4c5e43e8df75af841cab36bb15c5d4031afef9ae76670059a760e7aa610df8517deedcc6d616366473b8193fea07b3226bb67c3989778a868997371cc4f1242c77e85c2fab1c342ac49131937f16f4f0cb4342874374232ea1aabc7e3681aca47bdf358845f668a8844a7732a48075caaad959354592f5f3ec413cdddf337c64d0263b4096762a7eeb495bc7bf9868c9be5334697f7118c8c1274cdf300937955e36babc895745d02c22f1874159a33abe0cff3da62b76b3921b24573514dff80505c10c530a78b379da653dbc2947b\n\n# tcId = 348\nmsg = 4d657373616765\nresult = valid\nsig = 5abe9417ab18b390a23ce51345cdf60038dcdebbefc81203722b839434292798b9101604a828b160d3109541aa52f5d95f0539b8e0eab6391e59a5385bb4cf123486add3e10f22d92b042dc3be9c9a8c4f93a0976b352e1503321437129c627354261bbe00bb3941683d81b9cbe6ad0ed570df5b23b64ccb9bb5a29545ef48dcf1876b6c614f6e4aaeef1c95849908f49c041c06e11b4458573f2015c92d5549d4e51bba97e1ed6f8bf3f0440790113da9fcc014e962ffdd8b671156dc60dc197a2082204670da07546b49d3af4792818d9b0960038bd0fb274e1358de3851c0f9d3c1bea37fdfd0b3c277e53063906a4e3397e9f21d040b1965d08f1a2928079672060ffdd153b9af60530c2e567cd19963628a9eddeffa390cb66a1ee9f645387082adcf4c5c25a3823906dcab7d0b416bb7b5a934e6f93af02ea71cde8df71a57cdcf69fe8eb29284bdc4604879ed322cf7fd70e011a231f7a54c44cb99ec1b37dd9746e061806dbc7a05dc8651effae59a1bc4402ac4763ab421620d2d44\n\n# tcId = 349\nmsg = 61\nresult = valid\nsig = 5bdd4aba744fd50793c2710f70c7a5ecc6076aad1b7fe1272726de87d981041c2ea1fe58527a39a62fa991fd5614df1accfab3d20f584030197abcbef1f175d9124a3b512f5baed3fc6124b18d4b3501ccd57ae3cb0187409bc12b19fbb89aeca03420c3c78033bd18bbb31738172757cccfd95955feabf1a3eb552c9f3510d9f3a6e9eb908fe56159040aee44b92ea9691dc2bf6ddc5b3ef876eddb3a34045de54991217247c644aca7238794fa63c8c73206477c3bbabbe15602241f59c4fa6101980646dfb42e8eefe8f2c1070324edfd2a6040db7c769f0c996db474d0f68e2c2f498d61d277615df445a0423ed6eef5fc10fb11882287a6e31b2524572ce219b0c7d3045ed5dc04dbafe7f5cdf18038608d553147940273bb86178b4bb4f58b2c05a45aa62ca5e9c6e13e3fd0857f5956a70b646e5ab4af759edddced019d10914f416f2a95969f3ba29b4f041f91d33e5d78c0488c48e7a85581c8d1479e1c06271e232b4e3dfcd7571783e32e6945d9e3429ba9c476474b5a689656dd\n\n# tcId = 350\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = a0eff5758088bfd882cd3202ff2b2ed2feadcf2682cf3d5ced11ed73713e870a4baaf6942d0db6f6f7314c3e084135460040d22c29c10ee8033b9355235705db987206b24817b677a9d5ce452340fa56a53eb4d9caedacbe69aab385af2a5e1a70306461c4b7f4d44efefc6c301dc00d9ab8273c6e13e47232e84e58d66c32cdd80ebb7a44374de73bbb72982144f267717797e83d7a702959fb039f33307a6175a3ec22fbfa95e63b22339813b388ef55c98f2654b94e3dc10a791f0100684b1ba10c0174f531c91b42661011c98638a8c8676600381ff82d4dfc2631cdc9ee9fa6baf81c4a942d4105b87a4c83b837b4f42dcfbf34f8ec2ad704aafc769faff594d2ee4650d8d358a49841e0dae3f2a2e35fff3f1b869f024275c25c08b15f222b0ebb555247907b5215ccc65a7aa7818fb2ffa436ee7825233b1b6b03e4091499263ce08faaf0fff49ec56480dc9e307e861f1f9bb0f9113015e4d2c2bd430253a00d54372db2c5c43b6442aa944f0054c3cca95c4861486069a2d7dc9c98\n\n[e = 010001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320", + "dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[sha = SHA-256]\n\n# tcId = 351\nmsg = \nresult = valid\nsig = 368105195f0dc82c2cd37e8edc6ddc0c983dc13ddcf6f9db9a24b52921e5280319a1bcf797f774066d643e5c99b811f0ad9df2a3f430f4848a03ddb97e06daa4d01ddd50bf2b638935cd26b19d6ffccba884a4e7cba35830c6cc5ccce38bc0fcc4ea421347e241711a551c67923b3daaf2e9c51635d416cc2393a9a4f108f84f26990c11dbaacea75e39dc6082b539cd2c0c8dda6c78cbad12e14a352b9dd5c92a3702d8538fcce0e92e26489ea83d75c174ab671210fbc6c397be2167864b519b5136d23a4363ef773ebc140e1da4b0a788d7b1f15a300375ee42b27261675fdfc60c29bab7022dc2e624c7d1f31e278ac089c5880e701bec41f63c8f897c0cecc5eff0a801dbc58d7d4df6e860c20e61f31d9ab2d50e8fbec7471070d8ed06c4c9c725cb63afde0cc4475d3dcb7dcad7eabd874ddf7294cd9d2a66b13b6367a14dfe3827da0c6c8b9e734deece80fd79609ce5ce0a16de6610fd04a09b0b2411bae2bc3222ab4c02867838d0c8346c60589e6204b226efb401841fb95da05ff32989ef935425b943d1b5d2f8af5113491a36c60a98c90b6453144f5fe00a0df3de8d02f0f59c7b94ddc7c8895b1dff8d88f69a9a2cfbb55eda0837800950601fc9e230a5514c9674fb576df8391c51ba0febc29c267462ed5337326b6f40d243ad7d81459ecabbd00126b2142e6ba10d9f903a9918d2280c63ee84b47062e1\n\n# tcId = 352\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 46a6c9cd78e38d5567795dbea71872ac16da06725975cee7d8839d2de665ec3b8411277f3e026fd2f9b836d788b48539755858bc8be0804147b59c09354b372713145e5a000ac15744ccd2db5795727e2f4d5f67bcab5e7cb1290824963ae88528aba0e6785989c8adb86084d26dd1faea3ae2a6175739fe978b576eff673832e513419806d206e0984d1ef0e1c8d8981084ee2ee569806b003fb7f08e775998eba1771f1efa070c00a769363c6101d5c5fc6140f102469574cd09746130ed80d14eabcd0a0418a752d5595b5f40ee0fb05f5f9860e600d75fbdd53461f5ea18be5bd807281f9e8fd6cf7eb31985206c9a5033cdea631512bffdd977fee5e692b3153a2ce9c7708a9c7d665d84762740cc9ea374bd32c18c2d76320e4893a2fac374ca7122e01e08011c351bd33725a6adad96becd44e4ec1032fbfb0c8dcf13cae9556eaf419211d0149c574b8d12ffe5bc59468c7c549283be541697258af847e52a9aa8063557dfa40404adbaa95e38ad28eba053aec3c123e98ab1b947bb774841e9040dd5409068a2c8a84c530fc4273897ed845d76dbafbf45af1a8fd2767234fac1e852453d8b7eede02af228d8b5821238a50a321490dab74d687a3400c34f215b85823424c9d966b516cccac38fc7f08769f47d66c57b9b75ea67be82508a513946bcbc809436efc4ee85f139b143c5bc15ff69ad1f3667c3f69bcf\n\n# tcId = 353\nmsg = 54657374\nresult = valid\nsig = 43929c2fb0986fc4570a3ee7f6701b96a78ec9297a997415a142ae539031c0e196add5e4c6ec572de0a2b109cf23a42567ebe98f42cf312d07538e4a32b0f20403b662c652ba9e3d6e38a625d6b5e91cce5c810d7a02262338e144a57db4ac4debfc536e8eaca7fe08022a2f64741d66d25e3010f2fd259d4c6b00582584bbbdcde4266d86eddfd0443ff24b06cf7ade6d733c637a48a398dbb28355ffb9bd21a49de6b345ef635b68d917b5bfcb9016f7c64c444dc0036ecab8f59b0d29098facca02335df44db87d30d02f08553ffd0379b33d13d09a385cae7d63b6db52e9b1eb8fd549e0e1e18210de1d3e9527547e5c72f816eb36288b09d96db772f955ca46fc8cbdb6eea93c841e1075c00c3c45e9442d28095136cc5ce8212ed8c60c9668898ab5d64734d4d0f2311f104cf8a732e6d88fb2064cb57bd54d3cdef7c11c840ecb238466c747289233a317b73785778ff4349949da47c9b4b2dc9f89bd1fe7e98b582500dfc05dba3fa410cca66acd854669940543c22ed1038eac7f0212b9ce4aedba0eb15ea1e75a73c45c1ae03fd241662e9cb89b051939c468db3a0adab822617b5bc669d1e0226cf6b475445d9d5e77ef54ed646cd81f0952b949b7f4f37381ba6427e060966467a76e1d9261a5fe8c68398a89eb5025cc39339885b6c33dde898a159f0af4acc81461fae37f5f4c61de4a888dc4f6b1e2b7336f\n\n# tcId = 354\nmsg = 313233343030\nresult = valid\nsig = 0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247\n\n# tcId = 355\nmsg = 4d657373616765\nresult = valid\nsig = 0a882c367ff495646c21ef0489ce268d6c4e6cd0176bf9488d4b8edf04e1706f23d121b500b427eb8652099689429a08e73294cfd29694f9b4f33ebc8a7f9d0f9d11f114d0f848114d116ebcab828c7ed4c64d5ddce9958bd0883ae82ee2be0a185d54ae64690accd816971ea5ef80d7d601e72a814b9b61e8d00727a843ac90639f2c83cc7e2a9065ebea3e7aad3b12dd9ed8a1ee03a43e669598571490fd92b699d2941fda3af7271f8864c844f8efcbac20066c7bee682c644da2329db721ff33a7a81869a7bfb7a910fde6008e1bdb4e9ff989ff78fc0a9f43b38399083808fb3f38f0e96d4020bf8a4b329bbf81d59dffb03f5d1ea34276ddcccc2a4319393e1777488c843f9b0aef1fcab7a97e00d50f7f83bbfd30272c8ea4a5b0d7b74e7f7b70a9295d0e942e5b6e627ff8457d0f60c1aac8fe10b7d7ab1b8cd18d3904bfde2a316a83ee2b7633c3dee3141fbd61c8115f88ee7ca4b2b677d1803a1a35361c956c1adcfa8c8e10f0422eb3347b4983eff3c1c79e7da80a2e7c6d55e61f5af74254bd91db0d4bc10c3812513d832bd6a603a6bafd29cd5c062d9e3b74631f873fb3ab47e59791446e5f795d6ef5bbfa267a541d4405dc09e82c8b03f51db4798cc96dda7a7bce7ba9c679d851d5dd2e6b3735aaa2fcff0d558d68959c6af8b283fd383315762767cd0e4ef6e027020148cd3b14833cad4d92c2c9ce15\n\n# tcId = 356\nmsg = 61\nresult = valid\nsig = 374603f5d4728526e6cc7c7bfb6f456bd33bdabf37d942dfa8132a9479f6e4a9c2dfee515d883ace45cf1d660190e442a9ea7590d67aac9bde6951314af90baac21bed537c774148afb7927337d626525e13fa15664cdd78dfa5e3886ee1fe7137ad5f69aadcb098a0d49475b0f76ed1bb86cbd08a0cae9a6ec120eabd55b7e5c4456bfac2b2acc3892110b7f62c0dbe7ec7e491474c5c641453743fd70b15f7a726a0ca44a78bfaf3445a979bd4df362b7f29d4ed9189bfcdee01476cf1b48c2edaf02d226b41f587a8db161bd36e6ea20d64c8773fbe8c0296b9e016ccde333b380161a641d822bc65d3b60417534072263cd461a4f77826cbd0508ea", + "11720081c34b12d80ef0963857624d48c53748f279bf6ad338ba564e35d37d1dea27d19ad5dcb76d6f4aac62e49eededb1121e06b9f78eb285f7d7ee2cd475e791cc04c029cb76e5b33743aca3ac3adf5e317d95aa79a2f0ac3c328e69ea4692661b8107d89eeaaf3be01122544fd9d0c61511e87c6a5507c5701655d35f71586badd55b26363b51f019896c03326c72332de5be8a0f146d630a6e747a906684c7dc59d3bda667c8a92432e879f6a4d91d3cdca89b9840285bd8a22e5e5bebc32011725f64cb5fcbade8a5f5f9ba372a9be7f0a4907e40b4d06feffee3a558fd023514b504308a1d821c41955c305f550ffdf005b9bd5dfce2d16d3d09bf17c156c4a\n\n# tcId = 357\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 401bf4e63be4259b54c5909797b2b01fca18a6f74d76fecf75535f2876079ad9ee56c653dafc3513eb02114f5c96efb4025cf58c2cd576d003f688b11458fe3df1657657ed52b2756a99b48c6722708ef11765c8da2f3b061c779f26a64fe13e4be4602d0ca2553793d36c23f3194705e34a75b9b91ff7f4e554c5907b85ecb561a8d22262aa3669cc7be2fc5c21b9170869ff52dcba46b2b1c688e4c04e7a8f099e3a4196863bd1e828fb5ea5443b64b190327622055d44ff4c9999601338e56c175c716abf8d6c2ce6b9ef17930e846745e751f882ffb3f0b1a20e68ce9083d1466295caacdce85bd4a34615d09f2051839ff83650708888db818aca9229c38ddef86848a2c0c88b86a2f5a1079dcf0e888be62e116850b7e8d06785627fca1899f6d7c02eb60c3bae0d538cde8a05ef7281bba7f35757360ffa79fdd08642b6af5aaf8c71a32aecd0e9f3d9a2ef164da1740a5c2dd7943603bafde05e38f2ba78c15c3eef13a5059f3f242f07af2e6044896d1d6d9810ed3fb8203ca4efc116e95d2f53be8c55fc1ce653f02597c0df7d4a7dd88b41c2a65e40bf5dafbef2a97e4dc3bb49445774cac283ae131c08492c9715712f998241e16eb776915f15b7e9544ccf1dc220a9e139defd63cb2951090808395ce56555a7cdab4564d82151ddc0ba00db24454f2174bf0fe7ffe6e2d9d82a92437890bcae1601dbcea29a\n\n[e = 010001]\n[keyAsn = 3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keysize = 4096]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[sha = SHA-256]\n\n# tcId = 358\nmsg = \nresult = valid\nsig = 49159682861cdec7040deaaf7ce2184e53545f7475b0c68fe4daa1dff32ce2d6ef37808866e218bb7ae2f7070ace0d0780a7640bc20dde742e25be8ca2a555f18d9cd5e5881e7e1b43544893eb11e3ce3ba8ba832d531712e0d4f4b41e148636cc8e0f7b18e749ff481abadedb3adf6c42553087fd35b13c68eac45bf09713386f3a2c6fdb1f0d824ee85e1580ad3e1b2363a23cef1add8e2f80659e6aa0bff14231d29e06afb4e7d11465545e8b7349754de170043d9513eeb72f5b3a68a6ba2dec118d52b909d4fb3018536a9af8ab9cb2c840211b06fe0492f77fa2d755d43e6266a381d45600ce5e6e16518b6b23e3810562c91f5feb8e6d8ec067e24723503112aac776600eb22f2c63b9151498a215258c65b86d7c70629028cdbd97133979dc65908657ebcd5e12c9ac4c24d9053613af46e2864929d3e9804c538c87b83f73bb9b71fdd5f8f04790761780256fa25ce6671994ed52f41656148b72f56ef9ee76925807cecc0f54e425594ddb320f0a125e1017e1d782fab6358d6d6207d8079ba94f6de24dcc4d6b1376d4f04382cf449e38d544c7687d73ca6c60a92257cfba3d37a503f49402dc873dea9dc3ce37e3bc5df56c01ab82f2bd5a8d14486e3515dce51154c9467e6925caef87c19a17c4836dc37f9f0f6ee265b195bd5da4b3b284e6aac237ee1871982a02cdbfeaf07073606dde766dc0320d6dd4ca\n\n# tcId = 359\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = b2726a742d6a0c27d3fdc54d8460a9837f86a3f56ec678b182dc4a92a94c9a04d8826e7892e50c3cd2c03f725db8de0ca98b3f81c71489820e8da55753bf0e108746dfe7dbe85cfcab9e40d1d297685e454b819081691e6a3e8722f22228c11fc7a4d424d71c401b2fc3586b3384ee694945a4e9a426dfd0834cf2d8bd6868dd28af317e8ec0562dae6ab30cab28de0f1681019e0714e4ac82604a4118e8e99759a45faab189cef0f8a41ff44e8e83991dc08e8fb88cbba3014c894b4a8c00c8f9993ba4cf28fc2812bd2c1e86c3e0e234887dd681eab04dfba6e61db43c21d35787a4f6718f72c456a618176b84f1330a672e3562c2d87b699757819bc2b74e52f5ef331df5f38a32228968eb37665e36e8fbbd80f8060bf469158225cad2a057289d0a2012bce9a2fda9225f87b40b06792913c1b83d699a0db712989fedfae21523c22002d8282b50e6cb6b9c31cc8dc4171a2d21e11a4f177ab57b0a5045649f367e49b674c6304f0d693d40c296397d0333585891dd2d1a29f9eb101036068e6fde8e517b1ae08a35c4c235ea68328eb15ac40adf11fff1b9f452d9026c33568fefc5a2401f662a46f3c72dece50dbf5aa4e52efc29ad4117732041829ce255474402afcfb4a7e0eba18a31bff64ac2ac9a47e0019649a087d0d8f37c2fa5fd48c0ae0b2993225509c5037ffaacc618ba7b0be252a67eafbe0be70b4700\n\n# tcId = 360\nmsg = 54657374\nresult = valid\nsig = d5abe6a99112b6e2abe236a5716bb3fca53ac1fc312c7ada27873b0296c41db962d03ce69ee55bd37f3df24ac8529284520720170e5f4411ae16eaff06a00a0d7c72f12af5e2e59d2ef57209082d3499f3ae50c9fb0d9463973a5ec51e64526426ccb365c5e1ccde2df0fa5d629d8235121d8cebd875c0372aacfba9c92f11b0d66ca3611fc34bd8274a51ffb68962aa4be24689cf535ceb8cd27767786bab3c67d9d1b4159d46d53866a7fa0565a69f60627a6efabccc4e6e5e6cc6c5622de95a334a21882420689841ae4c08c2c6c8f5a6b9cf023119d7e00f1d4e5e19c5f4e186b4723613b19a9d44bd56751a1154dbb06e534f71aa8c6a94adc076ecddca8d48d8c15a4391947bb9edceab04d14e9f9803ae305aeb7ee72e00d5419d87594a5ca5224e838d40c42326b8e18e7b22deaa2018a6c6570015902e6ed14b99912c6925fd0ea6bd760420ac976bf5c0b96bacf9c3193279dbabc2d01c1d504fd3faf69bdac5a33c70f2221c0d5fa0be395a4495cd3b5b8bc715e7f6350def8b2795edd04c3bf3af49e657d78c44e09482e6951ebf9148d8e4f73c83d8706f21c59c8232ca62c4e302e6fc34a85b3dbc81e2c563314a92e7aab1a7b14f26feb6dabd136a866a214441e37e084ee628476848e6274ec79dfb62e9d3973efa71b2510c0c979d4b5073fcf980420817c15042388ee9146683efc93405f9de5576e657\n\n# tcId = 361\nmsg = 313233343030\nresul", + "t = valid\nsig = 05efbba03b90bda7ba280c6aa2bc8af655c884de2401c9ff9dd59e0d82c8502dca3d90879694692ea2b3e77c6dd3fb0e1f180777b237e462bae0a8b35cc21497c36818a1dc89dfa64bca89cb07babc10ddb98538aee10a4e59b4040c366c8413326e79bc015ca2ebe0a53ee6a4c49f5d9a87bac550e4b6a8173fb49188aeefd28457b594420cf2d77bbc044f6f4f6a7d7ba52d657f5dc6b631ad914bb05bcbf2901293e5eb5a17a88dad2326b508624b698b31d1fa08d00a001db8cba4a9f42bebb0eaba07e87235a883bc719513aa217a36ee016832b12cc4ca0d628598212d5da416af6342855da7d77ba153e5435ed7ea5d04b2459d68c721adeba8c071e979bf89c04a3c8219d67eb514a79b3a2f6926650c55e724b62f800b4f9060110479442e4f8b82ead56330e2374cde8b335552dcfdc3d0f940186192fa9fa6daa8156b1e55005896fe74a3b7164520823e7b7f21611421c281242b37da0ded476903f4b44be8ea35b594a2d97cb0c98a7d2a50123be606c3e3c11b4984c5a55ed01b1848fc54b83f681ceec448dbc4d35d15c389283b26de66c713f05a0d31993ad3e6e1b3aaff06b6f046ab075d93a8ca75c3e5558f8f2a445cf10d5eb813bd6f2754c502c93e81b904d845fb55c9e0810ca7259a012840cb0c85056b0a7e141e8d3a7fa5849da50e157c46164c9c02ffc099f42cffb71368f0ac3dac77b2ceb6\n\n# tcId = 362\nmsg = 4d657373616765\nresult = valid\nsig = 268d2edd3cca14c1dd3a768bf95d392228358f1d10bccf617cf507db1df8505e190035b890eabc94c3557e9117f4f3945fba36b1e06f16bc304b8bbf7472fa35375ede40530a05d43e3e88084bbecc931b69f02e83b0ca317d31a5f909dc7174a0b7fa7fb79b52ce3e8ada833e9c6f5d7cd1cc42d96f32a79f9bd2bb7a8de53faff97735e94c57be1be6fa829d9dd8e0dd06688991a5b07a514038c747c54ffcfebe8b3267049cf4ad335f2f6c52a2e1b0125164ea8dc354c2f092cb0b62b60c5c918059e1ae87e9e95b982d106fc3b1d9a6428a8e235a542565e4f1c9658763ed70b2a2bc7a4779bbe4624835bbe6be0bec348aa43823e87f9de89beb1593bed08cc6012ce054221abf67f7f98b01b12de8b700d6636e1c24332ece065c3ebfb087e6e1d8ca7e5488c1923724422f7a99af55fab29401a3b19aa985601da30db5430be4810a274676fc82cdaf0e145aef7adfaccc6a95cb4769e9f787f4c104a4c929014342474a5369757ad2752a9f7dfe7b37eec46831b9d42518a0cbeb99badd4249b16b32a7c371fa9429921e98887fda911413d8b0f5a5f70a23748e86738e90bf3d62322299fb361e7f10db9b48b818a50d2caa6598adbd9f048d0442e4654e38eb29343715343f951b2309b672ad67033e4588ecb80112438b366a2d5400da81e9687836e8a6967bf75585d95e99ec3412a9394c5faf8639be5387ad\n\n# tcId = 363\nmsg = 61\nresult = valid\nsig = 2575098034bfc7c6e635162041f8c9a2466f3f372411629dd9f9422dfc5d298b7f5e7614069272d712c21904a0294ae3610406037d170a1e103f6cb906a96d5a70d54316d3c5078dbdf0a0980e1789537c551ea0b5afba3bbff9c7d27384e7b51e97ad9a3cc0af134067abfff9250e0bf5d7d682bb8032c56646f92b6d57525fac5c9fe706aca60a8ee20e429db971d8e6204a0fcac0c8ea3664b9710b4d49484a4cb49bb802e356c8c3907939d085014ec9d63df47508244a9eb86c9f47bdf72a6c3a47dff909c7b3d40263d866841451e41e163e1b90a9c520e28ac47b34ceab522e731aa934c8c9e3d7541eafe5dee83e940821e5430ced0ed54f52c2a5f79fa1257640a73aa6b4fb6ca7d74ce81fe4bcdfb5009b7cd0df3a618b492b652574aae9142efa1548f94aa8c97ab152377bc8791611af5d63e4a19834a309ade08ab19767bc979f0dcbd2ed343830b38553850c7cf499ba0a58bb7228b16e539e92e3ecfb7cd3390ed85f92a536e49fee88aaa04827e37b02c9e44c5abf68cf4fbb567dfa8251687f51d01c9f779311c07d405a92afb5df5cb6607749fd5dd99eef66e4588b9708ca4ef8e98ef0c987b9d873f3bf43bb1c557adf494f6022021ef9589e79941db266c8896ece404c8cee5e45d84027505b017db71dc6f021fb1db0a583de25190c5d273e77f38a200774972b0bf2ce14352de01fd4f9bfd0e5bc\n\n# tcId = 364\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1cb417d0ceeac22a7c3c424579176da1b0cd3f348fab09805b73e2fdcc50669c53b63eaab0d256fcbfeb6935bdb6cd1b2b9ec65973c9eb53dde80525df8fe7ef6b5ed54ef005bd7b31e9e9aa0e9f8da5db8aafef60a48b2d3900b7722c24ba48679ddfc11b87582a9fb34af90a0aa4ce57aa1da76b5cf6bda2649ec99b07a87fdc5548f7bf31a5019b97e0fefef7971f96d2551c9b74e164a6f21fc760ca2588b745f5ad51db304b123e6cbada39efc309a65029598d0c559014c6107ea0626b525880fb1eaa00e0a902acc6701df142f18d9ca1b885c92be618888bd7252ec35b1e8e5dd43825a059cd60d5c4edcbd678fe0495971a05aa7fc7bdac584e2a0027068ea4244204a0fa4b66d2ef49860538dddff19f650b54654fd835cfed4d13bb3fde99d866a4ece7cb6dd1c8e02f805f7916e140275248f9d9e7113ebe8b7bcc4e28816eba44df20ebdd08dd7206b8b5d8d9af74dc789651dc172adeb5c6421cb8abf48460ab376845253e62b37026f7e7b9b2cfb6855cb9f3040e4874175fb9cdd6f550c3e0eed89baab7a0b170f334eb9ae56525a0d6c38ea68498137fdd9c2b7b4511fb0a69aafd30f0e4c0b0a0eedbf80bb63e3017539a1cd41e6ff22625e07f0326810e7886d4ac31f621d4b3c1a80c914e79e63b330a7c3c0e5aad840128274b9f34f5653003175962b2f7cddfe11415ade74cee07c61cd2db2022e8\n\n[e = 010001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sha = SHA-256]\n\n# tcId = 365\nmsg = \nresult = valid\nsig = 89789b9b0a97b90c4ed9a414879e809012bd328faf15b723495d1e0aebbde882639097e0dcb5471b1a0be1217cc6c34122595ffb4ada75e26c362d96c7408525d8da4266b8ffecce06c2a077b383d85df196b7075f2776795a95c6b688cac5f7bcb104e75a1a701f60b0a545df5054ad538a4c76c34336ec532e7f6ee7b999a1fc7fc2d1445e247f71a9302d9dc32a59340ebd6feac843467cb4a9a52e3bf0abb7935a3aa148116513114395bba36142848bf5a04f3718407e4b93fba02290b9287023e6d873a8546df91f5f967b49e85102386e59db91c5e51869b50fdb193879bcb01e6d2b05ec6f0c91b64ca8edf9d5aafa7359e554877cdec6eaafac80da15cc47d1a8addbe466ee100bf8a3fee75f495db722e8853b4fd21b16c4b6", + "2b536415077754e851472ef604b777de4e5c82d1c2f68699db340636f748e3433dda9fc62297463fa0c3a875f3694a79ae325b3cf31dc8f426306e47643d119c1039e77b5fc27cd8d9104f9cdd62e5e42f8dc1db02198797a58133198856cf490c7f2b22f1489e7eca21750f97e949982524ef09ee033d838f3e65ed175078f3569d787d599c4a7e7b63e9a25cdf6303ada48acc637ad023d65b901629bd140b51c69770e9e79ec8dfc21bb1debf3c5bdb7a1ed2aea297677033d681ce288da698e22538cfbefd950dc548c8f199a8b5a3f15d07d538734cd9789ed42317e0c5f656\n\n# tcId = 366\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3c8cb7e2f9f2f41e36b1df261388179dbb3bb97830b7d74721cf4c4d297fd126abb9a7211344dc52b36964c666ca72194c0f66cff5d2a3961888c26d394677117fec8babf38252be81fcd79380431647c2ad63bffdcb004e9efb8c49b3d775f1b53456581a5c2c130b5bcb47c2c0157fd27bc167f8897a40e72bd4c425a9114cc1195d15a97965aa59c74f0766f46b641c4229a4dbfbb3cbdfe6d20139cb4e587ac916c22959549ca1bb2986d423f701080b1d6c5f287cadd63edf4ee635304730bd5618c6952ec767a97f33c6b9d712dba4da8e3152c2249a47ac656b8dde87a76f0b22b484903b888b0c287728a0558d4961578693745db407b687bbd9a38d5a1597bb7d33a1d0b8927aba09a9d047b5c9cb3433289b95bd1563071feb622111d2c0ecf23accb4c0253c77a461cb7adcdd55d38e7b1232efe997908fa24054a82e62f113c5d6bae2985f7a3166fba70ea998c80ee4f04f5f18cd9e7ac580c44a6f04d671ad5b002359ded0c27edfe54c62ebf94908a408d370e36cd29eff2c89ea4050b256d4cd9aab0db5e7e29f638a4c81c0bc6130dd72242950fccbbc70aaa63422ba328eb39c87f2f84dbdbf365fc11796e686d9eb4a0ba429aea6798e61b1eda6c17458c5e5b48ae5e11baa6c45c34968ace833ea24ebe657978741cdd2308fb6d4548a289059b56e6d89cc318ab1b089ec5980bc938e33aa77ce02dd\n\n# tcId = 367\nmsg = 54657374\nresult = valid\nsig = 8c34f23e4883beb610394628cf4bfc6df148755e51c34a936e37018e9fdafe4bebd87bd9e423d3b0a746e115e99b6891a248412829fdc0e250611e8b785a7635cd1ccdbd4dda56e2cc27ae87c96ca0781943cda269f10b613995a3dce5c3922dabbbe37dfe87a176503886f4766700e377e47295175783dbd33899b7f1b2003c018221efd5542c6d520efce5ae96ee861f03a80cad2a70419fa52537c8ad5c130c5874adbeafd84320aad9f56b4c4f34ce85e9f3b0ecae803cbae83ab151ea66c163cb334f4460f85466f33a699924f415c067d4cdebd51c43e8fac821f138c00111480e3e3ea4b216d8de08fbaed39824a4e4f86fbd0f9b665f9b216b00a5ab92ca4751e3f8b04d000e3eae18a8cf5a9d655a5a2f6816119219081e7ee2b2ff1f57b226aa096248255bea2b58e0b119295b4e4fe1c572ef8783c2b4e5fe4023cc5934264fd900d53404b7185df382ad6bc07b457dd9d3d201f0644b9b6981a4f146209726a2bef1c7e95b24c93b83364439050d4fa78e808f719ede06244fa6e4b7ca5e404156a65f274cef637c62f67a9bbb69e894a6d34ae94a5a602662f8e7c091c6fd3897992dbd6e3985ed042e4c0d8af87b3f1901308efe60cb243c62c7c89b3ec920ad5ef7aea85ca981f434c102def438794fadd8e44862c1a35ef95d3638bf8185dc10dd5a3c2d8d1eb000018f5e77b1d251c02b83f1f6aec62b1e\n\n# tcId = 368\nmsg = 313233343030\nresult = valid\nsig = 8682d5bac51bb32bf283b8cab1172d6e8054dbfc672de6f35f33a9f7b3f0662fe19ec01a74d5cbe6d90351843e2b129d0ce30884fdbdcfc962d2721fec5b3b7f6a9db4a95b13def111c737cfae72d13aef4d0ea9c29181891505a0d28c5c8853ce5c37476654703ea2e7c68ed52591c182bc051b5d837ef3be064901be454967be52f9c7d406b7409e93308b74a826d3d1e6aedd8aba3f5f971824784167df53d042781b7c2d3cac29428c7da1fbc451680cc211517f9175ff1b2c00f819916d6d25581542c8f05479aacfc245e5894763db8e79849d3e2dd8d7178a38cd4cb7b03436c150c467540dfcdd001d6c8994b2f8b332705b2b5ae0c841708c83dadc7d647ae15e547403d689a00a6bd4de8602633443e0b7edf060bb7b529e0afeb1b4171f70a943a14f69c59720b4b5ae59313325685c102d992645fd23af12f3b8f8de79399cc6c80f9a0c006c316ff7a6963a1f8ef58a67d107e5b49fd8d7079bd45f23ef67f6a83127da157f54fef9dc01415a6cf7a957f5ffa15457a1a8bf831273f48f927ba8bde79da623a8a2784e7d8950c5fcbeef5868311acbb793cdfa54c702209073ad8599c4c74b31ce3b662399789febb36d922d77cddf63c1de3a6aba21d6d8ed54a1b48f48955602d0f6a4f5eb5546131561809236f0c71b8374290106b893ab70f6fec1fbc3bb6ef5e6c0263a7c8cd90c289968671744e853d7\n\n# tcId = 369\nmsg = 4d657373616765\nresult = valid\nsig = 3adcc06e29c9f1f08ff6ff93472eaf9140d4b47f86cfe645c507788ac46d6402a01b19483b48b8274237b08fb944f84bcf33567fa8f5e115e17a5019422cade552d14bb78fe007cd63a566fdd258427cac46bebe1d8c171203d75f8c228c11198a2529012a27ad35d311c3e65b422096e4e1c826959deea5958ccc7844ce1038dc26b8124a354e27624ef022a13ab056054c9f736a3e99d37334c362fcd2c394153a0eeba909a8f46127038832e89c19f912aa82724149940a9c835d7ad3e6f9990b00d7eda6e635c4f342a9a91f301dc3ecb1465413675c5df750603b931ef646590d4abe8685a35223443afcbd8b693313e3560af5107bd8faf822f6410188ab47ff0e56aa43175211a88ca339f99444f589534e49c2f8f971d9c5d9dcd77b4b72323fb0a76f90bc1547fa187abd59c96236c639e5019104a6d3a346f9545fc03f616cfd5997b19b10d5ada0e31847e6dfa28ff9ff28efaa4e52d6a0442308240bb70657993a2acfd9d15509f139c7ee263f3359e08bb987697c914365d9c0154a47e797f4d329f8a6d805228df2995f601c8606d03046a4a8bdfd512beffb4db4d631c254906a1aae0b6f32fad34ab555238262e9deb4acc1d571638c25566f96eec072a43875da82f12bb952584905b2eb88bf400452933eb5bc9cb07e7f138f1581df01d0a71015d361902b90b86f45060754f027ff2c108190832dd869\n\n# tcId = 370\nmsg = 61\nresult = valid\nsig = ac5cefb29cb810e32c82f3e71090e2da0e10300acb638ceb24f49a588c54d84256d50584f87790848623239838865395bd3200969b6886ce38fa9761e823c6a5fb7f500636ece098df395eaec9405ee0ad9bfd6aed2f8503fc08a5a81d9c5644bc053868355af6bf01bbd37490dea174f2e0259340a2956ff00968c5ff5659a5f132537972d05acb491ab148be7849384434f50e584b371ff3f8675892ceb3b928e8bc7d49eab9635538817603591b9175e51b6f06768042e100d02f89d45b62401de9c8076b789266d2a40f0f52e527ac501a13e006afb364b7e5fe58f13e309bbd414a2c7fd3b61e5cae5dc14d81e60116c1743b3a20cc9304db044d73aea74ac49faceb321feec4e8ccb04b9d3e26d643a5badcc7ca0a4de4c7d69aefac5311d3915f9dd31a309cb39e4a861d0c9fe93bb7b010396ea1de18fee6c530a5dda73e8f05b7a7454bb5375ef64fafce7fdd5a65d4dc8b9868ef437c71cc5a27eeb09c7f7e7b7f24d6694125bd474fc07b48185975ece10848ce5321dd27b5598bea4718a21c39b5a6148504dd785f382d46733cad2de79aebc4f6481cfbe214d4cadea18cfb0b5379e669609d1bad7b2bfade7674113644568519ae78b0958c4679014f9138b3b4d5f49520a5485d2e1a2897e6cae04051884405ec873f41d6a8feaf42ebf901f404f2bb39408a47f5cab149cb725da17d418d128a9fb0287b1e\n\n# tcId = 371\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 32b0c4ebbfe2e84043d48caab328e00671e523ae73505832a6b65349501e485731c8372d54c48026ee0b7f41c8a3df6167394c650ae2d74df1aec9559bb55871915fd7d252fccb059ee4b7b566792cf39ced1c133a3481e36e63d79b443f424ec0314d12fa81e4e6d53c7f9270b31a4df07a22e36f6ea5cfc0fca32188d2a2639a2de48e41b10fb5f5bfb900541d6d560d079f1cf94ce247b29445631272f0260761099eabdc0d44643f2e57062d2b2c020bd32c7861e6e632114857d0695be9573e803de0958432c26179d7311b60ae0ed89893566ff45625892e431dbae0eaebfa787611e3ef41baa7dab31bd3af98a508e1fe0f7e3255d980f40ea4e0c77697f726fd5bbdae9ae6f44915d4875db5c81bdf4cf96584b204613e5fd0f4be664955620f73e13a36781d8f2f6303801b4f8e310c6e2a2c2165f5f8a502fbb543a1c044bfa66010bc9aca960470b497fa9da703d046d266a1e14bc6880d8663c289a03c501d439ba0b4225f04602f0a2f67d6618b45e32e3567869a2727aae298148183c09ddea41b15acee6e9af9959f06ca3486c93efa8f539f404e908c30c8299eefd5014674d42fc084ac1fe1edcb12a26f66495d398abb0b4bfdd4c0206f30b229dc059f6fffd351489c52009c898edc484570e6bc1c6275a02eb26a6379456cd47a4654f2f2cd3b1f20c49cafe4b6998c9d2bb91595ba11cf9d54760f48\n\n[e = 03]\n[keyAsn = 3081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keyDer = 30819d300d06092a864886f70d010101050003818b003081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keysize = 1024]\n[n = 0089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf]\n[sha = SHA-256]\n\n# tcId = 372\n# short signature\nmsg = 3831\nresult = acceptable\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c68149efc8a4a913a26c9170590a", + "1ed9064323c12b6ebde15ae8c05a0e5205c91f57f5753815ff39c918\nflags = SmallModulus,SmallPublicKey\n\n[e = 03]\n[keyAsn = 30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keysize = 2048]\n[n = 0090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1]\n[sha = SHA-256]\n\n# tcId = 373\n# short signature\nmsg = 33363730\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keysize = 2048]\n[n = 00f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f]\n[sha = SHA-512]\n\n# tcId = 374\n# short signature\nmsg = 38343432\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keysize = 3072]\n[n = 00ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83]\n[sha = SHA-256]\n\n# tcId = 375\n# short signature\nmsg = 34333630\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81", + "ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keysize = 3072]\n[n = 008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01]\n[sha = SHA-512]\n\n# tcId = 376\n# short signature\nmsg = 36313237\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keysize = 2048]\n[n = 0092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d]\n[sha = SHA-256]\n\n# tcId = 377\n# signature is close to n\nmsg = 32353934\nresult = acceptable\nsig = 92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen159 = 157296; + +static const char *kData159[] = { + "# Imported from Wycheproof's x25519_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: XDH\n# Generator version: 0.8r12\n\n[curve = curve25519]\n\n# tcId = 1\n# normal case\nprivate = c8a9d5a91091ad851c668b0736c1c9a02936c0d3ad62670858088047ba057475\npublic = 504a36999f489cd2fdbc08baff3d88fa00569ba986cba22548ffde80f9806829\nresult = valid\nshared = 436a2c040cf45fea9b29a0cb81b1f41458f863d0d61b453d0a982720d6d61320\n\n# tcId = 2\n# public key on twist\nprivate = d85d8c061a50804ac488ad774ac716c3f5ba714b2712e048491379a500211958\npublic = 63aa40c6e38346c5caf23a6df0a5e6c80889a08647e551b3563449befcfc9733\nresult = acceptable\nshared = 279df67a7c4611db4708a0e8282b195e5ac0ed6f4b2f292c6fbd0acac30d1332\nflags = Twist\n\n# tcId = 3\n# public key on twist\nprivate = c8b45bfd32e55325d9fd648cb302848039000b390e44d521e58aab3b29a6964b\npublic = 0f83c36fded9d32fadf4efa3ae93a90bb5cfa66893bc412c43fa7287dbb99779\nresult = acceptable\nshared = 4bc7e01e7d83d6cf67632bf90033487a5fc29eba5328890ea7b1026d23b9a45f\nflags = Twist\n\n# tcId = 4\n# public key on twist\nprivate = f876e34bcbe1f47fbc0fddfd7c1e1aa53d57bfe0f66d243067b424bb6210be51\npublic = 0b8211a2b6049097f6871c6c052d3c5fc1ba17da9e32ae458403b05bb283092a\nresult = acceptable\nshared = 119d37ed4b109cbd6418b1f28dea83c836c844715cdf98a3a8c362191debd514\nflags = Twist\n\n# tcId = 5\n# public key on twist\nprivate = 006ac1f3a653a4cdb1d37bba94738f8b957a57beb24d646e994dc29a276aad45\npublic = 343ac20a3b9c6a27b1008176509ad30735856ec1c8d8fcae13912d08d152f46c\nresult = acceptable\nshared = cc4873aed3fcee4b3aaea7f0d20716b4276359081f634b7bea4b705bfc8a4d3e\nflags = Twist\n\n# tcId = 6\n# public key on twist\nprivate = 08da77b26d06dff9d9f7fd4c5b3769f8cdd5b30516a5ab806be324ff3eb69e60\npublic = fa695fc7be8d1be5bf704898f388c452bafdd3b8eae805f8681a8d15c2d4e142\nresult = acceptable\nshared = b6f8e2fcb1affc79e2ff798319b2701139b95ad6dd07f05cbac78bd83edfd92e\nflags = Twist\n\n# tcId = 7\n# public key on twist\nprivate = d03edde9f3e7b799045f9ac3793d4a9277dadeadc41bec0290f81f744f73775f\npublic = 0200000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = b87a1722cc6c1e2feecb54e97abd5a22acc27616f78f6e315fd2b73d9f221e57\nflags = Twist\n\n# tcId = 8\n# public key on twist\nprivate = e09d57a914e3c29036fd9a442ba526b5cdcdf28216153e636c10677acab6bd6a\npublic = 0300000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = a29d8dad28d590cd3017aa97a4761f851bf1d3672b042a4256a45881e2ad9035\nflags = Twist\n\n# tcId = 9\n# public key on twist\nprivate = e0ed78e6ee02f08bec1c15d66fbbe5b83ffc37ea14e1512cc1bd4b2ea6d8066f\npublic = ff00000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = e703bc8aa94b7d87ba34e2678353d12cdaaa1a97b5ca3e1b8c060c4636087f07\nflags = Twist\n\n# tcId = 10\n# public key on twist\nprivate = a8a1a2ec9fa9915ae7aace6a37c68591d39e15995c4ef5ebd3561c02f72dda41\npublic = ffff000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = ff5cf041e924dbe1a64ac9bdba96bdcdfaf7d59d91c7e33e76ed0e4c8c836446\nflags = Twist\n\n# tcId = 11\n# public key on twist\nprivate = a8c9df5820eb399d471dfa3215d96055b3c7d0f4ea49f8ab028d6a6e3194517b\npublic = 0000010000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = a92a96fa029960f9530e6fe37e2429cd113be4d8f3f4431f8546e6c76351475d\nflags = Twist\n\n# tcId = 12\n# public key on twist\nprivate = d0d31c491cbd39271859b4a63a316826507b1db8c701709fd0ffe3eb21c4467c\npublic = ffffff0f00000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 9f8954868158ec62b6b586b8cae1d67d1b9f4c03d5b3ca0393cee71accc9ab65\nflags = Twist\n\n# tcId = 13\n# public key on twist\nprivate = d053e7bf1902619cd61c9c739e09d54c4147f46d190720966f7de1d9cffbbd4e\npublic = ffffffff00000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 6cbf1dc9af97bc148513a18be4a257de1a3b065584df94e8b43c1ab89720b110\nflags = Twist\n\n# tcId = 14\n# public key on twist\nprivate = a021d75009a4596e5a33f12921c10f3670933bc80dde3bba22881b6120582144\npublic = 0000000000001000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 38284b7086095a9406028c1f800c071ea106039ad7a1d7f82fe00906fd90594b\nflags = Twist\n\n# tcId = 15\n# public key on twist\nprivate = a89c6687f99bd569a01fd8bd438236160d15ce2c57c1d71ebaa3f2da88233863\npublic = 0000000000000001000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = c721041df0244071794a8db06b9f7eaeec690c257265343666f4416f4166840f\nflags = Twist\n\n# tcId = 16\n# public key on twist\nprivate = 68964bca51465bf0f5ba524b1482ceff0e960a1ed9f48dcc30f1608d0e501a50\npublic = ffffffffffffffff000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 25ff9a6631b143dbdbdc207b38e38f832ae079a52a618c534322e77345fd9049\nflags = Twist\n\n# tcId = 17\n# public key on twist\nprivate = a8e56bb13a9f2b33b8e6750b4a6e6621dc26ae8c5c624a0992c8f0d5b910f170\npublic = 0000000000000000000000000000000000000000000000000100000000000000\nresult = acceptable\nshared = f294e7922c6cea587aefe72911630d50f2456a2ba7f21207d57f1ecce04f6213\nflags = Twist\n\n# tcId = 18\n# public key on twist\nprivate = e045f55c159451e97814d747050fd7769bd478434a01876a56e553f66384a74c\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nresult = acceptable\nshared = ff4715bd8cf847b77c244ce2d9b008b19efaa8e845feb85ce4889b5b2c6a4b4d\nflags = Twist\n\n# tcId = 19\n# public key on twist\nprivate = 105d621e1ef339c3d99245cfb77cd3a5bd0c4427a0e4d8752c3b51f045889b4f\npublic = ffffff030000f8ffff1f0000c0ffffff000000feffff070000f0ffff3f000000\nresult = acceptable\nshared = 61eace52da5f5ecefafa4f199b077ff64f2e3d2a6ece6f8ec0497826b212ef5f\nflags = Twist\n\n# tcId = 20\n# public key on twist\nprivate = d88a441e706f606ae7f630f8b21f3c2554739e3e549f804118c03771f608017b\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000\nresult = acceptable\nshared = ff1b509a0a1a54726086f1e1c0acf040ab463a2a542e5d54e92c6df8126cf636\nflags = Twist\n\n# tcId = 21\n# public key on twist\nprivate = 80bbad168222276200aafd36f7f25fdc025632d8bf9f6354bb762e06fb63e250\npublic = 0000000000000000000000000000000000000000000000000000000000800000\nresult = acceptable\nshared = f134e6267bf93903085117b99932cc0c7ba26f25fca12102a26d7533d9c4272a\nflags = Twist\n\n# tcId = 22\n# public key on twist\nprivate = 68e134092e94e622c8a0cd18aff55be23dabd994ebdee982d90601f6f0f4b369\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1f\nresult = acceptable\nshared = 74bfc15e5597e9f5193f941e10a5c008fc89f051392723886a4a8fe5093a7354\nflags = Twist\n\n# tcId = 23\n# public key on twist\nprivate = e8e43fc1ebac0bbc9b99c8035ee1ac59b90f19a16c42c0b90f96adfcc5fdee78\npublic = 0000000000000000000000000000000000000000000000000000000000000020\nresult = acceptable\nshared = 0d41a5b3af770bf2fcd34ff7972243a0e2cf4d34f2046a144581ae1ec68df03b\nflags = Twist\n\n# tcId = 24\n# public key on twist\nprivate = 18bffb16f92680a9e267473e43c464476d5372ddd1f664f3d0678efe7c98bc79\npublic = 000000fcffff070000e0ffff3f000000ffffff010000f8ffff0f0000c0ffff7f\nresult = acceptable\nshared = 5894e0963583ae14a0b80420894167f4b759c8d2eb9b69cb675543f66510f646\nflags = Twist\n\n# tcId = 25\n# public key on twist\nprivate = 300305eb002bf86c71fe9c0b311993727b9dc618d0ce7251d0dfd8552d17905d\npublic = ffffffffffffff00000000000000ffffffffffffff00000000000000ffffff7f\nresult = acceptable\nshared = f8624d6e35e6c548ac47832f2e5d151a8e53b9290363b28d2ab8d84ab7cb6a72\nflags = Twist\n\n# tcId = 26\n# public key on twist\nprivate = 80da9f02842247d4ade5ddbac51dbce55ea7dca2844e7f97ab8987ce7fd8bc71\npublic = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffff7f\nresult = acceptable\nshared = bfe183ba3d4157a7b53ef178613db619e27800f85359c0b39a9fd6e32152c208\nflags = Twist\n\n# tcId = 27\n# public key on twist\nprivate = 806e7f26ca3246de8182946cbed09f52b95da626c823c7b50450001a47b7b252\npublic = edfffffffffffffffffffffffffffeffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = bca4a0724f5c1feb184078448c898c8620e7caf81f64cca746f557dff2498859\nflags = Twist\n\n# tcId = 28\n# public key on twist\nprivate = 58354fd64bc022cba3a71b2ae64281e4ea7bf6d65fdbaead1440eeb18604fe62\npublic = edfffffffffffffefffffffffffffffffffff", + "fffffffffffffffffffffffff7f\nresult = acceptable\nshared = b3418a52464c15ab0cacbbd43887a1199206d59229ced49202300638d7a40f04\nflags = Twist\n\n# tcId = 29\n# public key on twist\nprivate = f0019cf05159794cc8052b00c2e75b7f46fb6693c4b38c02b12a4fe272e8556a\npublic = edffffffffffefffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = fcde6e0a3d5fd5b63f10c2d3aad4efa05196f26bc0cb26fd6d9d3bd015eaa74f\nflags = Twist\n\n# tcId = 30\n# public key on twist\nprivate = d0fca64cc5f3a0c8e75c824e8b09d1615aa79aeba139bb7302e2bb2fcbe54b40\npublic = edfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 7d62f189444c6231a48afab10a0af2eee4a52e431ea05ff781d616af2114672f\nflags = Twist\n\n# tcId = 31\n# public key on twist\nprivate = d02456e456911d3c6cd054933199807732dfdc958642ad1aebe900c793bef24a\npublic = eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 07ba5fcbda21a9a17845c401492b10e6de0a168d5c94b606694c11bac39bea41\nflags = Twist\n\n# tcId = 32\n# public key = 0\nprivate = 88227494038f2bb811d47805bcdf04a2ac585ada7f2f23389bfd4658f9ddd45e\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 33\n# public key = 1\nprivate = 48232e8972b61c7e61930eb9450b5070eae1c670475685541f0476217e48184f\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 34\n# edge case public key\nprivate = a8386f7f16c50731d64f82e6a170b142a4e34f31fd7768fcb8902925e7d1e25a\npublic = 0400000000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 34b7e4fa53264420d9f943d15513902342b386b172a0b0b7c8b8f2dd3d669f59\n\n# tcId = 35\n# edge case public key\nprivate = d05abd08bf5e62538cb9a5ed105dbedd6de38d07940085072b4311c2678ed77d\npublic = 0001000000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 3aa227a30781ed746bd4b3365e5f61461b844d09410c70570abd0d75574dfc77\n\n# tcId = 36\n# edge case public key\nprivate = f0b8b0998c8394364d7dcb25a3885e571374f91615275440db0645ee7c0a6f6b\npublic = 0000001000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 97755e7e775789184e176847ffbc2f8ef98799d46a709c6a1c0ffd29081d7039\n\n# tcId = 37\n# edge case public key\nprivate = d00c35dc17460f360bfae7b94647bc4e9a7ad9ce82abeadb50a2f1a0736e2175\npublic = 0000000001000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = c212bfceb91f8588d46cd94684c2c9ee0734087796dc0a9f3404ff534012123d\n\n# tcId = 38\n# edge case public key\nprivate = 385fc8058900a85021dd92425d2fb39a62d4e23aef1d5104c4c2d88712d39e4d\npublic = ffffffffffff0f00000000000000000000000000000000000000000000000000\nresult = valid\nshared = 388faffb4a85d06702ba3e479c6b216a8f33efce0542979bf129d860f93b9f02\n\n# tcId = 39\n# edge case public key\nprivate = e0614b0c408af24d9d24c0a72f9137fbd6b16f02ccc94797ea3971ab16073a7f\npublic = ffffffffffffff00000000000000000000000000000000000000000000000000\nresult = valid\nshared = 877fec0669d8c1a5c866641420eea9f6bd1dfd38d36a5d55a8c0ab2bf3105c68\n\n# tcId = 40\n# edge case public key\nprivate = f004b8fd05d9fffd853cdc6d2266389b737e8dfc296ad00b5a69b2a9dcf72956\npublic = 0000000000000000010000000000000000000000000000000000000000000000\nresult = valid\nshared = 180373ea0f23ea73447e5a90398a97d490b541c69320719d7dd733fb80d5480f\n\n# tcId = 41\n# edge case public key\nprivate = e80bf0e609bf3b035b552f9db7e9ecbc44a04b7910b1493661a524f46c3c2277\npublic = ffffffffffffffffffffffffffff000000000000000000000000000000000000\nresult = valid\nshared = 208142350af938aba52a156dce19d3c27ab1628729683cf4ef2667c3dc60cf38\n\n# tcId = 42\n# edge case public key\nprivate = 48890e95d1b03e603bcb51fdf6f296f1f1d10f5df10e00b8a25c9809f9aa1a54\npublic = 0000000000000000000000000000010000000000000000000000000000000000\nresult = valid\nshared = 1c3263890f7a081cefe50cb92abd496582d90dcc2b9cb858bd286854aa6b0a7e\n\n# tcId = 43\n# edge case public key\nprivate = a806f1e39b742615a7dde3b29415ed827c68f07d4a47a4d9595c40c7fccb9263\npublic = ffffffffffffffffffffffffffffffff00000000000000000000000000000000\nresult = valid\nshared = 56128e78d7c66f48e863e7e6f2caa9c0988fd439deac11d4aac9664083087f7a\n\n# tcId = 44\n# edge case public key\nprivate = 9899d5e265e1fc7c32345227d6699a6d6b5517cf33b43ab156ee20df4878794e\npublic = 0000000000000000000000000000000001000000000000000000000000000000\nresult = valid\nshared = 30eca56f1f1c2e8ff780134e0e9382c5927d305d86b53477e9aeca79fc9ced05\n\n# tcId = 45\n# edge case public key\nprivate = d842316e5476aeaee838204258a06f15de011ba40b9962705e7f6e889fe71f40\npublic = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000\nresult = valid\nshared = cb21b7aa3f992ecfc92954849154b3af6b96a01f17bf21c612da748db38eb364\n\n# tcId = 46\n# edge case public key\nprivate = a0933ee30512b25ee4e900aaa07f73e507a8ec53b53a44626e0f589af4e0356c\npublic = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\nresult = valid\nshared = c5caf8cabc36f086deaf1ab226434098c222abdf8acd3ce75c75e9debb271524\n\n# tcId = 47\n# edge case public key\nprivate = 38d6403e1377734cdce98285e820f256ad6b769d6b5612bcf42cf2b97945c073\npublic = 0000000000000000000000000000000000000000000000000000000001000000\nresult = valid\nshared = 4d46052c7eabba215df8d91327e0c4610421d2d9129b1486d914c766cf104c27\n\n# tcId = 48\n# edge case public key\nprivate = 182191b7052e9cd630ef08007fc6b43bc7652913be6774e2fd271b71b962a641\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03\nresult = valid\nshared = a0e0315175788362d4ebe05e6ac76d52d40187bd687492af05abc7ba7c70197d\n\n# tcId = 49\n# edge case public key\nprivate = 106221fe5694a710d6e147696c5d5b93d6887d584f24f228182ebe1b1d2db85d\npublic = ffffff0f000000ffffff0f000000ffffff0f000000ffffff0f000000ffffff0f\nresult = valid\nshared = 5e64924b91873b499a5402fa64337c65d4b2ed54beeb3fa5d7347809e43aef1c\n\n# tcId = 50\n# edge case public key\nprivate = d035de9456080d85a912083b2e3c7ddd7971f786f25a96c5e782cf6f4376e362\npublic = 000000fcffff030000e0ffff1f000000ffffff000000f8ffff070000c0ffff3f\nresult = valid\nshared = c052466f9712d9ec4ef40f276bb7e6441c5434a83efd8e41d20ce83f2dbf5952\n\n# tcId = 51\n# edge case public key\nprivate = a8f37318a4c760f3cb2d894822918735683cb1edacf3e666e15694154978fd6d\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = valid\nshared = d151b97cba9c25d48e6d576338b97d53dd8b25e84f65f7a2091a17016317c553\n\n# tcId = 52\n# edge case public key\nprivate = 20d4d624cf732f826f09e8088017742f13f2da98f4dcf4b40519adb790cebf64\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f\nresult = valid\nshared = 5716296baf2b1a6b9cd15b23ba86829743d60b0396569be1d5b40014c06b477d\n\n# tcId = 53\n# edge case public key\nprivate = d806a735d138efb3b404683c9d84485ab4af540d0af253b574323d8913003c66\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fff7f\nresult = valid\nshared = ddbd56d0454b794c1d1d4923f023a51f6f34ef3f4868e3d6659307c683c74126\n\n# tcId = 54\n# edge case public key\nprivate = 184198c6228177f3ef41dc9a341258f8181ae365fe9ec98d93639b0bbee1467d\npublic = fffffffffeffff7ffffffffffeffff7ffffffffffeffff7ffffffffffeffff7f\nresult = valid\nshared = 8039eebed1a4f3b811ea92102a6267d4da412370f3f0d6b70f1faaa2e8d5236d\n\n# tcId = 55\n# edge case public key\nprivate = f0a46a7f4b989fe515edc441109346ba746ec1516896ec5b7e4f4d903064b463\npublic = edfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffff7f\nresult = valid\nshared = b69524e3955da23df6ad1a7cd38540047f50860f1c8fded9b1fdfcc9e812a035\n\n# tcId = 56\n# edge case public key\nprivate = 881874fda3a99c0f0216e1172fbd07ab1c7df78602cc6b11264e57aab5f23a49\npublic = edfffffffffffffffffffffffffffffffffffffffffffffffeffffffffffff7f\nresult = valid\nshared = e417bb8854f3b4f70ecea557454c5c4e5f3804ae537960a8097b9f338410d757\n\n# tcId = 57\n# edge case public key\nprivate = b8d0f1ae05a5072831443150e202ac6db00322cdf341f467e9f296588b04db72\npublic = edfffffffffffffffffffffffffffffffeffffffffffffffffffffffffffff7f\nresult = valid\nshared = afca72bb8ef72", + "7b60c530c937a2f7d06bb39c39b903a7f4435b3f5d8fc1ca810\n\n# tcId = 58\n# edge case public key\nprivate = c8619ba988859db7d6f20fbf3ffb8b113418cc278065b4e8bb6d4e5b3e7cb569\npublic = edfffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 7e41c2886fed4af04c1641a59af93802f25af0f9cba7a29ae72e2a92f35a1e5a\n\n# tcId = 59\n# edge case public key\nprivate = f8d4ca1f37a30ec9acd6dbe5a6e150e5bc447d22b355d80ba002c5b05c26935d\npublic = edfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = dd3abd4746bf4f2a0d93c02a7d19f76d921c090d07e6ea5abae7f28848355947\n\n# tcId = 60\n# edge case public key\nprivate = 88037ac8e33c72c2c51037c7c8c5288bba9265c82fd8c31796dd7ea5df9aaa4a\npublic = edffffefffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 8c27b3bff8d3c1f6daf2d3b7b3479cf9ad2056e2002be247992a3b29de13a625\n\n# tcId = 61\n# edge case public key\nprivate = 5034ee7bf83a13d9167df86b0640294f3620f4f4d9030e5e293f9190824ae562\npublic = edfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 8e1d2207b47432f881677448b9d426a30de1a1f3fd38cad6f4b23dbdfe8a2901\n\n# tcId = 62\n# edge case public key\nprivate = 40bd4e1caf39d9def7663823502dad3e7d30eb6eb01e9b89516d4f2f45b7cd7f\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 2cf6974b0c070e3707bf92e721d3ea9de3db6f61ed810e0a23d72d433365f631\n\n# tcId = 63\n# public key with low order\nprivate = e0f978dfcd3a8f1a5093418de54136a584c20b7b349afdf6c0520886f95b1272\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 64\n# public key with low order\nprivate = 387355d995616090503aafad49da01fb3dc3eda962704eaee6b86f9e20c92579\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 65\n# public key with low order\nprivate = c8fe0df92ae68a03023fc0c9adb9557d31be7feed0d3ab36c558143daf4dbb40\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,Twist,ZeroSharedSecret\n\n# tcId = 66\n# public key with low order\nprivate = c8d74acde5934e64b9895d5ff7afbffd7f704f7dfccff7ac28fa62a1e6410347\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,NonCanonicalPublic,Twist,ZeroSharedSecret\n\n# tcId = 67\n# public key with low order\nprivate = b85649d5120e01e8ccaf7b2fb8d81b62e8ad6f3d5c0553fdde1906cb9d79c050\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,NonCanonicalPublic,Twist,ZeroSharedSecret\n\n# tcId = 68\n# public key with low order\nprivate = 2064b2f4c9dc97ec7cf58932fdfa3265ba6ea4d11f0259b8efc8afb35db88c48\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,NonCanonicalPublic,ZeroSharedSecret\n\n# tcId = 69\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 70\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 71\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 72\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 73\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 74\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 75\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 76\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 0000000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 77\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 0100000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 78\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 79\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 80\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 81\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 82\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 83\n# public key =\n# 57896044618658097711785492504343953926634992332820282019728792003956564819949\nprivate = 40ff586e73d61f0960dc2d763ac19e98225f1194f6fe43d5dd97ad55b3d35961\npublic = edfffffffffffffffffffff", + "fffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 84\n# public key =\n# 57896044618658097711785492504343953926634992332820282019728792003956564819950\nprivate = 584fceaebae944bfe93b2e0d0a575f706ce5ada1da2b1311c3b421f9186c7a6f\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,NonCanonicalPublic,ZeroSharedSecret\n\n# tcId = 85\n# non-canonical public key\nprivate = 0016b62af5cabde8c40938ebf2108e05d27fa0533ed85d70015ad4ad39762d54\npublic = efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = b4d10e832714972f96bd3382e4d082a21a8333a16315b3ffb536061d2482360d\nflags = NonCanonicalPublic,Twist\n\n# tcId = 86\n# non-canonical public key\nprivate = d83650ba7cec115881916255e3fa5fa0d6b8dcf968731bd2c9d2aec3f561f649\npublic = f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 515eac8f1ed0b00c70762322c3ef86716cd2c51fe77cec3d31b6388bc6eea336\nflags = NonCanonicalPublic,Twist\n\n# tcId = 87\n# non-canonical public key\nprivate = 88dd14e2711ebd0b0026c651264ca965e7e3da5082789fbab7e24425e7b4377e\npublic = f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 6919992d6a591e77b3f2bacbd74caf3aea4be4802b18b2bc07eb09ade3ad6662\nflags = NonCanonicalPublic\n\n# tcId = 88\n# non-canonical public key\nprivate = 98c2b08cbac14e15953154e3b558d42bb1268a365b0ef2f22725129d8ac5cb7f\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 9c034fcd8d3bf69964958c0105161fcb5d1ea5b8f8abb371491e42a7684c2322\nflags = NonCanonicalPublic\n\n# tcId = 89\n# non-canonical public key\nprivate = c0697b6f05e0f3433b44ea352f20508eb0623098a7770853af5ca09727340c4e\npublic = 0200000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = ed18b06da512cab63f22d2d51d77d99facd3c4502e4abf4e97b094c20a9ddf10\nflags = NonCanonicalPublic,Twist\n\n# tcId = 90\n# non-canonical public key\nprivate = 18422b58a18e0f4519b7a887b8cfb649e0bfe4b34d75963350a9944e5b7f5b7e\npublic = 0300000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 448ce410fffc7e6149c5abec0ad5f3607dfde8a34e2ac3243c3009176168b432\nflags = NonCanonicalPublic,Twist\n\n# tcId = 91\n# non-canonical public key\nprivate = 20620d82487707bedf9ee3549e95cb9390d2618f50cf6acba47ffaa103224a6f\npublic = 0400000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 03a633df01480d0d5048d92f51b20dc1d11f73e9515c699429b90a4f6903122a\nflags = NonCanonicalPublic\n\n# tcId = 92\n# non-canonical public key\nprivate = 285a6a7ceeb7122f2c78d99c53b2a902b490892f7dff326f89d12673c3101b53\npublic = daffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 9b01287717d72f4cfb583ec85f8f936849b17d978dbae7b837db56a62f100a68\nflags = NonCanonicalPublic\n\n# tcId = 93\n# non-canonical public key\nprivate = c8e0330ae9dceeff887fba761225879a4bd2e0db08799244136e4721b2c88970\npublic = dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = dfe60831c9f4f96c816e51048804dbdc27795d760eced75ef575cbe3b464054b\nflags = NonCanonicalPublic\n\n# tcId = 94\n# non-canonical public key\nprivate = 10db6210fc1fb13382472fa1787b004b5d11868ab3a79510e0cee30f4a6df26b\npublic = dcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 50bfa826ca77036dd2bbfd092c3f78e2e4a1f980d7c8e78f2f14dca3cce5cc3c\nflags = NonCanonicalPublic,Twist\n\n# tcId = 95\n# non-canonical public key\nprivate = 9041c6e044a277df8466275ca8b5ee0da7bc028648054ade5c592add3057474e\npublic = eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 13da5695a4c206115409b5277a934782fe985fa050bc902cba5616f9156fe277\nflags = NonCanonicalPublic\n\n# tcId = 96\n# non-canonical public key\nprivate = b8d499041a6713c0f6f876db7406587fdb44582f9542356ae89cfa958a34d266\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 63483b5d69236c63cddbed33d8e22baecc2b0ccf886598e863c844d2bf256704\nflags = NonCanonicalPublic\n\n# tcId = 97\n# non-canonical public key\nprivate = c85f08e60c845f82099141a66dc4583d2b1040462c544d33d0453b20b1a6377e\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = e9db74bc88d0d9bf046ddd13f943bccbe6dbb47d49323f8dfeedc4a694991a3c\nflags = NonCanonicalPublic\n\n# tcId = 98\n# public key =\n# 57896044618658097711785492504343953926634992332820282019728792003956564819968\nprivate = 7887889bac4c629a101d3724f2ed8b98d936fde79e1a1f77d86779626bf8f263\npublic = 0000000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,NonCanonicalPublic,ZeroSharedSecret\n\n# tcId = 99\n# public key =\n# 57896044618658097711785492504343953926634992332820282019728792003956564819969\nprivate = e07971ee820e48b0b266d8be3cdbbb5e900a43f59ee8535c6572418615de4962\npublic = 0100000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,NonCanonicalPublic,Twist,ZeroSharedSecret\n\n# tcId = 100\n# RFC 7748\nprivate = a046e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449a44\npublic = e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\nresult = valid\nshared = c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552\n\n# tcId = 101\n# RFC 7748\nprivate = 4866e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba4d\npublic = e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a413\nresult = valid\nshared = 95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957\n\n# tcId = 102\n# RFC 8037, Section A.6\nprivate = 77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a\npublic = de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f\nresult = valid\nshared = 4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742\n\n# tcId = 103\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = b7b6d39c765cb60c0c8542f4f3952ffb51d3002d4aeb9f8ff988b192043e6d0a\nresult = acceptable\nshared = 0200000000000000000000000000000000000000000000000000000000000000\nflags = Twist\n\n# tcId = 104\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 3b18df1e50b899ebd588c3161cbd3bf98ebcc2c1f7df53b811bd0e91b4d5153d\nresult = valid\nshared = 0900000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 105\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = cab6f9e7d8ce00dfcea9bbd8f069ef7fb2ac504abf83b87db601b5ae0a7f7615\nresult = valid\nshared = 1000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 106\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 4977d0d897e1ba566590f60f2eb0db6f7b24c13d436918ccfd32708dfad7e247\nresult = acceptable\nshared = feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nflags = Twist\n\n# tcId = 107\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 98730bc03e29e8b057fb1d20ef8c0bffc822485d3db7f45f4e3cc2c3c6d1d14c\nresult = valid\nshared = fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n\n# tcId = 108\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 97b4fff682df7f096cd1756569e252db482d45406a3198a1aff282a5da474c49\nresult = acceptable\nshared = f9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nflags = Twist\n\n# tcId = 109\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a", + "073a9767f\npublic = 317781b0163bae74accc06c0d44ef9a911a22b0d37faf7726621591f9343ea2f\nresult = valid\nshared = f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n\n# tcId = 110\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 7e26f8f24cb590027f9d1bc49b0e1a242c7d8f43624d3e8fab28ee08e02cb45e\nresult = valid\nshared = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03\n\n# tcId = 111\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = e96d2780e5469a74620ab5aa2f62151d140c473320dbe1b028f1a48f8e76f95f\nresult = acceptable\nshared = e5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nflags = Twist\n\n# tcId = 112\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 8d612c5831aa64b057300e7e310f3aa332af34066fefcab2b089c9592878f832\nresult = acceptable\nshared = e3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nflags = Twist\n\n# tcId = 113\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 8d44108d05d940d3dfe5647ea7a87be24d0d036c9f0a95a2386b839e7b7bf145\nresult = valid\nshared = ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 114\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 21a35d5db1b6237c739b56345a930aeee373cdcfb4701266782a8ac594913b29\nresult = acceptable\nshared = dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nflags = Twist\n\n# tcId = 115\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 3e5efb63c352ce942762482bc9337a5d35ba55664743ac5e93d11f957336cb10\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000002\nflags = Twist\n\n# tcId = 116\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 8e41f05ea3c76572be104ad8788e970863c6e2ca3daae64d1c2f46decfffa571\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000008000\nflags = Twist\n\n# tcId = 117\n# special case public key\nprivate = c8d07c46bbfb827753b92c70e49583ce8bfa44641a7382258ea903d6a832c96b\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 118\n# special case public key\nprivate = 90b7ef237a055f348dcb4c4364a59d7d31edc7ab78f2ca254e2c810975c3f543\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 119\n# special case public key\nprivate = e0a8be63315c4f0f0a3fee607f44d30a55be63f09561d9af93e0a1c9cf0ed751\npublic = 0200000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0c50ac2bfb6815b47d0734c5981379882a24a2de6166853c735329d978baee4d\nflags = Twist\n\n# tcId = 120\n# special case public key\nprivate = 0840a8af5bc4c48da8850e973d7e14220f45c192cea4020d377eecd25c7c3643\npublic = 1200000000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 77557137a2a2a651c49627a9b239ac1f2bf78b8a3e72168ccecc10a51fc5ae66\n\n# tcId = 121\n# special case public key\nprivate = 0092229c753a71284d0853909470ad847ab62f439ea51482fb41d30cc3b44743\npublic = 1400000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = c88e719ae5c2248b5f90da346a92ae214f44a5d129fd4e9c26cf6a0da1efe077\nflags = Twist\n\n# tcId = 122\n# special case public key\nprivate = b8da2bd2d7cf25a3e54e5f87ee15911effb9ff86baec4076d56c8e953670bf5b\npublic = 0000000000000000000000000080000000000000000000000000000000000000\nresult = valid\nshared = 4bf6789c7ea036f973cde0af02d6fdb9b64a0b957022111439570fad7d7a453f\n\n# tcId = 123\n# special case public key\nprivate = 684cd420af41abb3d10c61e773238cf729c2155f941ac27e15f4c37f49b29576\npublic = ffffffffffffffffffffffffffff000000000000000000000000000000000000\nresult = valid\nshared = bcac235ae15cc7148372e11f9315e3bc76ceb904b3d2a8246bd9d9be2082bb62\n\n# tcId = 124\n# special case public key\nprivate = 38cfacaa4460796b4de434bdd6739f0d043671f97fa829517511e6b47aa93474\npublic = 0100000000000000000000000000010000000000000000000000000000000000\nresult = acceptable\nshared = 5dd7d16fff25cc5fdf9e03c3157cb0a235cea17d618f36e6f13461567edeb943\nflags = Twist\n\n# tcId = 125\n# special case public key\nprivate = 30832e8cb627ac195f77b1105258e4bb18b99a5ed944404bfacb3a039fbdb14b\npublic = 0000000000000000000000000000000000000000000000000000004000000000\nresult = valid\nshared = 2816fd031d51d6750f9225ede950625cca47441ca97e43092650396991afcb6d\n\n# tcId = 126\n# special case public key\nprivate = d818fd6971e546447f361d33d3dbb3eadcf02fb28f246f1d5107b9073a93cd4f\npublic = 0000000000000000000000000000000000000000000000000000008000000000\nresult = acceptable\nshared = 7ed8f2d5424e7ebb3edbdf4abe455447e5a48b658e64abd06c218f33bd151f64\nflags = Twist\n\n# tcId = 127\n# special case public key\nprivate = 1021cd8682bdc3f5da9100adff5b2230b3acd836b3a455db8352a2c27e69d17e\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nresult = acceptable\nshared = e8620ed5ca89c72c5ea5503e6dcd01131cd5e875c30e13d5dc619ce28ec7d559\nflags = Twist\n\n# tcId = 128\n# special case public key\nprivate = 20e4c9247102292655d6765d7d84c6fce5309b8004045daea6d7d7dcad462871\npublic = 0100000000000000000000000000000000000000000000000000000001000000\nresult = valid\nshared = ceadb264379dcadd6e3bb8ad24dd653d2a609dd703d41da6caf3ad00f001862c\n\n# tcId = 129\n# special case public key\nprivate = 90b150d462de512056d5bd55173074969b496f262fb6916b733f6263a8078971\npublic = a8b9c7372118a53a9de9eaf0868e3b1a3d88e81cb2e407ff7125e9f5c5088715\nresult = acceptable\nshared = f86cc7bf1be49574fc97a074282e9bb5cd238e002bc8e9a7b8552b2d60eccb52\nflags = Twist\n\n# tcId = 130\n# special case public key\nprivate = 9887286b3261c8d857a16f6db21277f75d88d4e861b3ebe7596699047e816668\npublic = aab9c7372118a53a9de9eaf0868e3b1a3d88e81cb2e407ff7125e9f5c5088715\nresult = acceptable\nshared = ccbb8fd9dee165a398b2dbd7c8396f81736c1b3da36b35fbec8f326f38f92767\nflags = Twist\n\n# tcId = 131\n# special case public key\nprivate = 20ca2c85cc8762e96b7047bf15c71c050ffe0ed1616040a953ae32a1297ad871\npublic = 585007a5930d77623cf29756038ca197d3ebfd9e4c80a69585efe0274092c115\nresult = valid\nshared = 46add6f48ffff461777d4f89b6fdf1155aa051a96387d45f3e5e371a236b6e52\n\n# tcId = 132\n# special case public key\nprivate = d027656605b10bf18dea28bc52546f9f1f08cef06cafd200fc84f87dbb4ebe46\npublic = fbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1f\nresult = valid\nshared = 1adbe32207e21f71e1af53884d2a2276481e298e557f4dacb3720f2458e3082d\n\n# tcId = 133\n# special case public key\nprivate = 4867a83ee9d01b7510840867db1af6a6049bdbb056b74443f70c358e162c8867\npublic = 0000000000000000000000000000000000000000000000000000000000000020\nresult = acceptable\nshared = e12cc58fbeb70a5e35c861c33710be6516a6a92e52376060211b2487db542b4f\nflags = Twist\n\n# tcId = 134\n# special case public key\nprivate = a015970a8add940fca5b1b5d23875397d547d8d494fcb314f2045a67a2d12c4b\npublic = afa00e4a271beec478e42fad0618432fa7d7fb3d99004d2b0bdfc14f8024832b\nresult = valid\nshared = 421bed1b26da1e9adbeada1f32b91a0fb4ced0f1110e0a4a88e735a19ee4571e\n\n# tcId = 135\n# special case public key\nprivate = 4058cb6b9aaba02a338aaa392dbc10039e26e9e444117e758e24c5d8b232ea5e\npublic = b1a00e4a271beec478e42fad0618432fa7d7fb3d99004d2b0bdfc14f8024832b\nresult = valid\nshared = d7b47463e2f4ca9a1a7deea098da8e74ac3b4a109083d997259b12992e7e7e06\n\n# tcId = 136\n# special case public key\nprivate = b876b05daff0530b139d9e11250563418077178246c5fa7005ba00e9b6647763\npublic = fbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2f\nresult = acceptable\nshared = 686eb910a937211b9147c8a051a1197906818fdc626668eb5f5d394afd86d41b\nflags = Twist\n\n# tcId = 137\n# special case public key\nprivate = d87fd6aa5d8deef6dee9619a56846a0829620590f2da40835", + "d8e251597e39078\npublic = 22231c64ef73ad62318b8a87bc38e272e1bb8bf1a60d7c00476d0b059d7b3c35\nresult = valid\nshared = 09559733b35bcc6bb8ac574b5abe3a4d8841deff051c294a07487e3eec3c5558\n\n# tcId = 138\n# special case public key\nprivate = 90036321b63751f7622aa93da34d85e59ce81009ac5b9a068921d83bc4715b57\npublic = f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = valid\nshared = f7d5cbcf39eb722b01ed20c85563ebb81d076511aead4ccc429027866b9fd270\n\n# tcId = 139\n# special case public key\nprivate = a06781fd4c4a0874e00e72ba131b9dd87a83b2904e294de176e8a9af1f695d67\npublic = f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = acceptable\nshared = e995ad6a1ec6c5ab32922cff9d204721704673143c4a11deaa203f3c81989b3f\nflags = Twist\n\n# tcId = 140\n# special case public key\nprivate = b822d72d8b68bdb4fbf67e56a61d672b2c7747e94479fe5ae4072d0accdd6571\npublic = feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = acceptable\nshared = 32b6dabe01d13867f3b5b0892fefd80dca666f2edc5afb43cd0baf703c3e6926\nflags = Twist\n\n# tcId = 141\n# special case public key\nprivate = d08ce1237e248d02cdf619d20bea5848ade4f6ffd171b8dee8793fc67c459640\npublic = 0000000000000000000000000000000000000000000000000000000000000040\nresult = valid\nshared = a93d83fc9ea0f6cb0cc8b631da600019b76cbb2ec57222f2e42dd540e3da850b\n\n# tcId = 142\n# special case public key\nprivate = 180ae3c928514cfb9edd06e7dc1d5d066160e967445a5c58e4463b69ed205e6d\npublic = cbdce39b108c529dce74757843c71d8d1e44740e59f283ffb892f4fa6284c34a\nresult = valid\nshared = 017cbfa2b38e9ef3297a339ecce1a917bdcf7e910036086a41d1e22d04241870\n\n# tcId = 143\n# special case public key\nprivate = e881d806a110560cd8fee899d59c0249f1233a4322c41aa369c7a2a99f5b5962\npublic = 3c5ff1b5d8e4113b871bd052f9e7bcd0582804c266ffb2d4f4203eb07fdb7c54\nresult = valid\nshared = 71133905b8a57ea8c38de0ecf213699a75b096c2df21f07f7e9eb03e9fa53f5c\n\n# tcId = 144\n# special case public key\nprivate = 08e410e1d7e8b9411236af4a35d6b62a5d8931478e4c62197cfafb491467b162\npublic = 3e5ff1b5d8e4113b871bd052f9e7bcd0582804c266ffb2d4f4203eb07fdb7c54\nresult = valid\nshared = 3dc7b70e110766b2bf525252ebed98a100b2e532dc69544464da1bbab8625f6d\n\n# tcId = 145\n# special case public key\nprivate = e02fdf7e0ee3d55b4440f01432dd253c949793bc04da44ddece83e54c8c39b40\npublic = f2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f\nresult = valid\nshared = e317e5cc438b5f79ead5533ac7c45519a117b31033cc2140b19edf8572011240\n\n# tcId = 146\n# special case public key\nprivate = f05d18f68ef7a5865c14db3a9c255fdf2dabea2aa36581e94f68b727b582867b\npublic = f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f\nresult = valid\nshared = d86810516aeddc18061036f599a9eb84d1c6146b0f543652dd4526743ba42c04\n\n# tcId = 147\n# special case public key\nprivate = 00c103578d5c079d7bcc22c1c31e787c1b15c57fcb493fdafefa20371cfc746b\npublic = 95aff85a6cf2889dc30d68a9fc735e682c140261b37f596a7a101fd8bf6d3e6a\nresult = acceptable\nshared = dfa988a477003be125b95ccbf2223d97729577d25e1d6e89e3da0afabdd0ae71\nflags = Twist\n\n# tcId = 148\n# special case public key\nprivate = 7005bb927485c435642b424a3dde014bcf76345e5be64ae6e9b24db39e1cdb51\npublic = 434638c8dee75ac56216150f7971c4e5c27717e34d1bf8008eda160a3af7786a\nresult = acceptable\nshared = d450af45b8ed5fe140cc5263ffb7b52e66736899a8b872b6e28552129819b25b\nflags = Twist\n\n# tcId = 149\n# special case public key\nprivate = 0822039a5dc13c40fcccf346e2a7769b4fd272052d43260ad626468a50d44162\npublic = 454638c8dee75ac56216150f7971c4e5c27717e34d1bf8008eda160a3af7786a\nresult = valid\nshared = 58002c89bf8bc32ae6fc205b796acd13ef7f8476f6492ae4b2be47f1095e8a4f\n\n# tcId = 150\n# special case public key\nprivate = 40a6349c03f0dc0a42358f6353ca67632af687b14c9dff626c54e211e8fc355a\npublic = ecfffffffffffffffffffffffffffeffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 7773aad6e72eb1735b65ad51f7dad258c11d7bfff53094424cb103cd6bfb4368\n\n# tcId = 151\n# special case public key\nprivate = 50696d4d05209971d6ba0676ea274262ba639aac74fa75e5df4570768ad8ae74\npublic = eefffffffffffffffffffffffffffeffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = c118ddf6462fbea80f14ef1f2972a1ab12cafa511d1323d4d22d0d426d651b5b\n\n# tcId = 152\n# special case public key\nprivate = 68bb680c853f4e4daa47c586dc886cf4568d7b0383770f6df439a53be4a3236d\npublic = edffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = cc0775bfd970a2706b11c7222a4436a3d17160382c83b76f89b66192c81b4408\n\n# tcId = 153\n# special case public key\nprivate = b0f6c28dbdc647068a76d71805ef770f087cf76b82afdc0d26c45b71ace49768\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = f0097fa0ba70d019126277ab15c56ecc170ca88180b2bf9d80fcda3d7d74552a\n\n# tcId = 154\n# special case public key\nprivate = 18630f93598637c35da623a74559cf944374a559114c7937811041fc8605564a\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,Twist,ZeroSharedSecret\n\n# tcId = 155\n# special case for E in multiplication by 2\nprivate = 581ecbda5a4a228044fefd6e03df234558c3c79152c6e2c5e60b142c4f26a851\npublic = 0000000000000000000008000000000000000000000000000000000000000000\nresult = acceptable\nshared = 59e7b1e6f47065a48bd34913d910176b6792a1372aad22e73cd7df45fcf91a0e\nflags = Twist\n\n# tcId = 156\n# special case for E in multiplication by 2\nprivate = b0561a38000795b7cb537b55e975ea452c2118506295d5eb15fd9c83b67f7a50\npublic = 77af0d3897a715dfe25df5d538cf133bc9ab7ad52df6bd922a2fb75621d59901\nresult = valid\nshared = 179f6b020748acba349133eaa4518f1bd8bab7bfc4fb05fd4c24e7553da1e960\n\n# tcId = 157\n# special case for E in multiplication by 2\nprivate = b00f7df2d47128441c7270b9a87eee45b6056fc64236a57bdf81dbcccf5f5d42\npublic = 4e39866127b6a12a54914e106aab86464af55631f3cb61766d5999aa8d2e070e\nresult = valid\nshared = 43c5ee1451f213ef7624729e595a0fee7c9af7ee5d27eb03278ee9f94c202352\n\n# tcId = 158\n# special case for E in multiplication by 2\nprivate = c8f7a0c0bfb1e9c72576c534f86854fbe4af521d4fa807f67e2440e100ec8852\npublic = adc6799ed8495ed5ab6eb1ef955479b9b50aa9ce0c349e8992a6665572d1f811\nresult = valid\nshared = 2f350bcf0b40784d1d756c9ca3e38ec9dd68ba80faf1f9847de50779c0d4902a\n\n# tcId = 159\n# special case for E in multiplication by 2\nprivate = 58181f581aa37022ff71c56c6e68e6175d967c5c995a249885f66565074ded4d\npublic = 770f4218ef234f5e185466e32442c302bbec21bbb6cd28c979e783fe5013333f\nresult = acceptable\nshared = d5d650dc621072eca952e4344efc7320b2b1459aba48f5e2480db881c50cc650\nflags = Twist\n\n# tcId = 160\n# special case for E in multiplication by 2\nprivate = 301c935cae4357070b0adaf9cd6192830b2c989c153729eed99f589eb45f884b\npublic = 5c6118c4c74cfb842d9a87449f9d8db8b992d46c5a9093ce2fcb7a49b535c451\nresult = acceptable\nshared = 909cc57275d54f20c67b45f9af9484fd67581afb7d887bee1db5461f303ef257\nflags = Twist\n\n# tcId = 161\n# special case for E in multiplication by 2\nprivate = d002292d4359a3d42bc8767f1380009332e7a0df2f3379011ab78f789f6baa54\npublic = 4039866127b6a12a54914e106aab86464af55631f3cb61766d5999aa8d2e076e\nresult = valid\nshared = 4a7e2c5caf1d8180eb1c4f22692f29a14b4cdc9b193bd1d16e2f27438eef1448\n\n# tcId = 162\n# special case for E in multiplication by 2\nprivate = d0c2c49e644ab738270707ff9917065942687e2f12886d961161db46c05b565f\npublic = 078fa523498fb51cba1112d83b20af448b8009d8eea14368564d01b8f9b6086f\nresult = acceptable\nshared = c0ee59d3685fc2c3c803608b5ee39a7f8da30b48e4293ae011f0ea1e5aeb7173\nflags = Twist\n\n# tcId = 163\n# special case for E in multiplication by 2\nprivate = f087d38b274c1dad1bce6eaa36b48e2190b90b9bf8ca59669cc5e00464534342\npublic = 9fc6799ed8495ed5ab6eb1ef955479b9b50aa9ce0c349e8992a6665572d1f871\nresult = valid\nshared = b252bc8eabfaa68c56e54d61b99061a35d11e3a7b9bda417d90f69b1119bcf45\n\n# tcId = 164\n# special case for E in multiplication by 2\nprivate = 48dbcc5a695f1514bbbaa6ad00842b69d9ae5216b1963add07fb2947c97b8447\npublic = 7650f2c76858ea201da2022ac730ecc43654852ad209426dd5d048a9de2a667e\nresult = valid\nshared = fbda33bc930c08df837208e19afdc1cfe3fd0f8f0e3976be34775e58a4a7771f\n\n# tcId = 165\n# D = 0 in multiplication by 2\nprivate = 5891c9272cf9a197735b701e5715268d36d7436b7e351a3e997a0862e4807d4d\npubl", + "ic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 166\n# D = 0 in multiplication by 2\nprivate = c0f9c60aea73731d92ab5ed9f4cea122f9a6eb2577bda72f94948fea4d4cc65d\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 167\n# special case for DA - CB in multiplication by 2\nprivate = 0066dd7674fe51f9326c1e239b875f8ac0701aae69a804c25fe43595e8660b45\npublic = b0224e7134cf92d40a31515f2f0e89c2a2777e8ac2fe741db0dc39399fdf2702\nresult = acceptable\nshared = 8dacfe7beaaa62b94bf6e50ee5214d99ad7cda5a431ea0c62f2b20a89d73c62e\nflags = Twist\n\n# tcId = 168\n# special case for DA - CB in multiplication by 2\nprivate = 80067f30f40d61318b420c859fce128c9017ab81b47b76028a57bc30d5856846\npublic = 601e3febb848ec3e57fce64588aad82afc9c2af99bbcdffcc4cd58d4b3d15c07\nresult = valid\nshared = 20f1d3fe90e08bc6f152bf5dacc3ed35899785333f1470e6a62c3b8cbe28d260\n\n# tcId = 169\n# special case for DA - CB in multiplication by 2\nprivate = 584577669d21ce0ae3e30b02c9783ffe97709cbfe396889aa31e8ee43352dc52\npublic = 82a3807bbdec2fa9938fb4141e27dc57456606301f78ff7133cf24f3d13ee117\nresult = acceptable\nshared = 2b28cc5140b816add5ad3a77a81b1c073d67bf51bf95bda2064a14eb12d5f766\nflags = Twist\n\n# tcId = 170\n# special case for DA - CB in multiplication by 2\nprivate = 18e597a4e2ccdb5e8052d57c9009938c2d4c43d6d8c9f93c98727b7311035953\npublic = f329ab2376462e5f3128a2682086253c19222ac1e2bca45692f0c3b528f4c428\nresult = valid\nshared = 8392160083b9af9e0ef44fcfce53ba8ff7282ee7a6c71ab66f8843a55d09cd68\n\n# tcId = 171\n# special case for DA in multiplication by 2\nprivate = 88281cc51d5512d8814ea5249b879dcbad0323d38512dafbdc7ba85bba8c8d5d\npublic = 4fce3bb6c8aaf022dbd100e3cde3941b37d543f00401dba7da9bc143dfc55709\nresult = valid\nshared = 42184e22c535530c457bd3b4f1084cbf5e297f502fe136b8d1daecf5334cc96c\n\n# tcId = 172\n# special case for DA in multiplication by 2\nprivate = d0e795450df0a813c6573496ec5793ca02e1bdbad10ed08df83fdaed68b3385f\npublic = 15c68851c1db844b5a1ef3456a659f188854b1a75fbdb2f68f514c9289ce711f\nresult = valid\nshared = f654d78e5945b24bc63e3e6d790e0ae986e53937764068b1bce920e1d79b756f\n\n# tcId = 173\n# special case for DA in multiplication by 2\nprivate = 30b69a1cc1eb2d0b83ea213846e90a2c922088bdf294a6995bf6e6e77c646c41\npublic = 4200a242434337b8914f49345301ed782b13594f9ede089c41fb1e7ea82c9053\nresult = valid\nshared = cd8a09b04795edcc7061867373981aa748651ebdce5ec218a335b878cefe4872\n\n# tcId = 174\n# special case for DA in multiplication by 2\nprivate = 78b30bb63cd8ade71b7a77d426f4419d05f199ffef349e89faa9d9a5f21f6654\npublic = baabf0174aaaea4de48cc83adfb0401461a741903ea6fb130d7d64b7bf03a966\nresult = valid\nshared = c9f8258f237db1c80702c5c4d9048dfba9dfe259da4aeee90dc2945526961275\n\n# tcId = 175\n# special case for x_2 in multiplication by 2\nprivate = c0b386f4ef0d4698686404977e7b60cb6c1f8b6012a22e29d6224c5947439041\npublic = f12f18bd59c126348f6a7a9f4a5fdd9fcaf581345073a851fba098e5d64b4a0c\nresult = valid\nshared = 6600cbe900616a770a126b8b19156d5e27e1174bd538d0944eb3c0be4899c758\n\n# tcId = 176\n# special case for x_2 in multiplication by 2\nprivate = 9886602e719bacafea092bb75b51ae7258abe1a364c176857f3dc188c03e6759\npublic = bee386527b772490aeb96fc4d23b9304037cb4430f64b228f3d8b3b498319f22\nresult = acceptable\nshared = 3fe710d6344ff0cb342e52349e1c5b57b7a271f2a133bb5249bbe40dc86e1b40\nflags = Twist\n\n# tcId = 177\n# special case for x_2 in multiplication by 2\nprivate = b83960f5d0613cdaac6dda690351666e9f277bba6bd406b0e27a1886bb2d3e46\npublic = cf911ac91b0d944049cec66ae5ef0c4549d1e612e107c68e87263a2fbcf8323f\nresult = valid\nshared = 71373ebe67f39a2c230027c7db4b3b74bab80ed212b232679785ee10f47c304e\n\n# tcId = 178\n# special case for x_2 in multiplication by 2\nprivate = d03b75f09ac807dfd2ee352c04a1f25984720f785ffaa0af88bc5db6ff9c3453\npublic = 1e6ee536e4f26bbfb63139951a10f3bab62e19ed1ef8397178d9c5d04307cd40\nresult = valid\nshared = 238eef43c589822e1d3de41c1cc46dcfec7a93febf37c8546b6625e1a123815d\n\n# tcId = 179\n# special case for x_2 in multiplication by 2\nprivate = d036948c0ec223f0ee577e390dbf87222358ed199f2823345ad154bbc4cbcc47\npublic = 2f1c79ad8488db6f5146903b2dc46cfbfc834bbcf09b4dd70c274c4b67ce605d\nresult = valid\nshared = 87a79c9c231d3b9526b49bf3d683bf38c3c319af7c7c5d1456487398da535010\n\n# tcId = 180\n# special case for x_2 in multiplication by 2\nprivate = d054ded613febf2950ac5c927fcb120c387de0ba61b331cd33024c8b6e737048\npublic = fccfe742a63ed9cb70958560b5a02260350a7ecbaf8c57ae045f671a29b4b573\nresult = valid\nshared = d683ca6194452d878c12d7da35f22833f99728bba89931a51274f61210336a5f\n\n# tcId = 181\n# special case for AA in multiplication by 2\nprivate = e82c480631fb153ba2211fe603032b3e71b162dbd3c11bec03208ffcd510655f\npublic = cb3d4a90f86b3011da3369d9988597c7fff1499273b4a04f84d0e26ed1683c0d\nresult = acceptable\nshared = dbf6203516635840cf69a02db87cf0d95dae315da7fc1ec7ce2b29e1f2db6666\nflags = Twist\n\n# tcId = 182\n# special case for AA in multiplication by 2\nprivate = c0c01d28c1cab01f59700aca5f18d2697658b37fdd54a339ff391c0a1a1b1645\npublic = 101e13f7bc0570fa2638caa20a67c6e0c21dab132f4b456191590264c493d018\nresult = acceptable\nshared = 1fe314744390d525278b1f5fbf108101b8ded587081375ed4ac4ac690d92414f\nflags = Twist\n\n# tcId = 183\n# special case for AA in multiplication by 2\nprivate = c82bde72df36479688c485a8bf442f4a34412e429c02db97704f03daf4dfd542\npublic = dce1ec0843fa8f05d9c7355df598391f3de254ecd0b4ba9e6ea6fd9b3b6c2f67\nresult = acceptable\nshared = ad454395ee392be677be7b9cb914038d57d2d87ec56cc98678dd84f19920912b\nflags = Twist\n\n# tcId = 184\n# special case for AA in multiplication by 2\nprivate = 503f697617fb02a7b8ef00ba34e7fc8ce93f9ec3e1cbfe4bf2c05bcee0cb9757\npublic = 21c2b56f0794cfee25cc9626677a6838000eb66d8c4b5fb07b2f1d912e97c372\nresult = valid\nshared = c6d6499255133398f9dd7f32525db977a538118800bfaf3aad8bcd26f02c3863\n\n# tcId = 185\n# special case for BB in multiplication by 2\nprivate = 58cd4ca1e4331188de2b2889419ce20ec5ef88a0e93af092099065551b904e41\npublic = cc3d4a90f86b3011da3369d9988597c7fff1499273b4a04f84d0e26ed1683c0d\nresult = valid\nshared = 0d74214da1344b111d59dfad3713eb56effe7c560c59cbbb99ec313962dbba58\n\n# tcId = 186\n# special case for BB in multiplication by 2\nprivate = 004ea3448b84ca509efec5fcc24c63ee984def63b29deb9037894709709c0957\npublic = 111e13f7bc0570fa2638caa20a67c6e0c21dab132f4b456191590264c493d018\nresult = acceptable\nshared = 7b9dbf8d6c6d65898b518167bf4011d54ddc265d953c0743d7868e22d9909e67\nflags = Twist\n\n# tcId = 187\n# special case for BB in multiplication by 2\nprivate = c8a6eb00a4d74bbdff239522c3c891ed7ce1904be2a329cd0ae0061a253c9542\npublic = dde1ec0843fa8f05d9c7355df598391f3de254ecd0b4ba9e6ea6fd9b3b6c2f67\nresult = valid\nshared = fb0e0209c5b9d51b401183d7e56a59081d37a62ab1e05753a0667eebd377fd39\n\n# tcId = 188\n# special case for BB in multiplication by 2\nprivate = 50322ff0d0dcdd6b14f307c04dfecefe5b7cdeaf92bffb919e9d62ed27079040\npublic = 22c2b56f0794cfee25cc9626677a6838000eb66d8c4b5fb07b2f1d912e97c372\nresult = valid\nshared = dbe7a1fe3b337c9720123e6fcc02cf96953a17dc9b395a2206cb1bf91d41756e\n\n# tcId = 189\n# special case for D in multiplication by 2\nprivate = e0328c7d188d98faf2ac72d728b7d14f2bbbd7a94d0fbd8e8f79abe0b1fe1055\npublic = e58baccede32bcf33b3b6e3d69c02af8284a9631de74b6af3f046a9369df040f\nresult = valid\nshared = 97bd42093e0d48f973f059dd7ab9f97d13d5b0d5eedffdf6da3c3c432872c549\n\n# tcId = 190\n# special case for D in multiplication by 2\nprivate = 5017679a17bd23adf95ad47e310fc6526f4ba9ca3b0839b53bd0d92839eb5b4f\npublic = c6d5c693fc0a4e2df6b290026860566a166b6d7aebe3c98828d492745c8df936\nresult = valid\nshared = 99bcbc7b9aa5e25580f92bf589e95dae874b83e420225d8a93e18e96dac00b63\n\n# tcId = 191\n# special case for D in multiplication by 2\nprivate = 2864aaf61c146df06cc256b065f66b34985cc015da5b1d647a6ed4e2c76bfc43\npublic = d15f4bf2ef5c7bda4ee95196f3c0df710df5d3d206360fc3174ea75c3aa3a743\nresult = valid\nshared = afa2adb52a670aa9c3ec3020d5fda285474ede5c4f4c30e9238b884a77969443\n\n# tcId = 192\n# special case for D in multiplication by 2\nprivate = 184a6cfbabc", + "bd1507a2ea41f52796583dbdb851b88a85781ee8e3c28782c3349\npublic = 6dffb0a25888bf23cf1ac701bfbdede8a18e323b9d4d3d31e516a05fce7ce872\nresult = acceptable\nshared = e6a2fc8ed93ce3530178fef94bb0056f43118e5be3a6eabee7d2ed384a73800c\nflags = Twist\n\n# tcId = 193\n# special case for D in multiplication by 2\nprivate = c85f954b85bc102aca799671793452176538d077862ee45e0b253619767dff42\npublic = 21f86d123c923a92aaf2563df94b5b5c93874f5b7ab9954aaa53e3d72f0ff67e\nresult = acceptable\nshared = 7fc28781631410c5a6f25c9cfd91ec0a848adb7a9eb40bc5b495d0f4753f2260\nflags = Twist\n\n# tcId = 194\n# special case for D in multiplication by 2\nprivate = 50e3e5a9a19be2ee3548b0964672fb5e3134cb0d2f7adf000e4556d0ffa37643\npublic = 587c347c8cb249564ab77383de358cc2a19fe7370a8476d43091123598941c7f\nresult = valid\nshared = 314d8a2b5c76cc7ee1217df2283b7e6724436e273aeb80628dce0600ab478a63\n\n# tcId = 195\n# special case for DA + CB in multiplication by 2\nprivate = 08ece580bb6ddf96559b81d7a97dd4531def6cc78d448a70cebabdd26caab146\npublic = f5c6311a1dd1b9e0f8cfd034ac6d01bf28d9d0f962a1934ae2cb97cb173dd810\nresult = valid\nshared = 2bfd8e5308c34498eb2b4daf9ed51cf623da3beaeb0efd3d687f2b8becbf3101\n\n# tcId = 196\n# special case for DA + CB in multiplication by 2\nprivate = a886033e9dc2b6a913fffbc2bd402e8c11ec34d49c0dc0fa1429329b694a285f\npublic = 9316c06d27b24abc673ffb5105c5b9a89bdfaa79e81cdbb89556074377c70320\nresult = acceptable\nshared = d53c3d6f538c126b9336785d1d4e6935dc8b21f3d7e9c25bc240a03e39023363\nflags = Twist\n\n# tcId = 197\n# special case for DA + CB in multiplication by 2\nprivate = 98b1cc2020a8ec575d5c46c76024cf7c7ad7628eb909730bc4f460aaf0e6da4b\npublic = 8a4179807b07649e04f711bf9473a79993f84293e4a8b9afee44a22ef1000b21\nresult = acceptable\nshared = 4531881ad9cf011693ddf02842fbdab86d71e27680e9b4b3f93b4cf15e737e50\nflags = Twist\n\n# tcId = 198\n# special case for DA + CB in multiplication by 2\nprivate = c8e193de162aa349a3432c7a0c0521d92cbc5e3bf82615e42955dd67ec12345f\npublic = a773277ae1029f854749137b0f3a02b5b3560b9c4ca4dbdeb3125ec896b81841\nresult = acceptable\nshared = 7ba4d3de697aa11addf3911e93c94b7e943beff3e3b1b56b7de4461f9e48be6b\nflags = Twist\n\n# tcId = 199\n# special case for DA + CB in multiplication by 2\nprivate = 88e01237b336014075676082afbde51d595d47e1fa5214b51a351abbf6491442\npublic = 1eceb2b3763231bc3c99dc62266a09ab5d3661c756524cddc5aabcedee92da61\nresult = acceptable\nshared = bcf0884052f912a63bbab8c5c674b91c4989ae051fa07fcf30cb5317fb1f2e72\nflags = Twist\n\n# tcId = 200\n# special case for DA + CB in multiplication by 2\nprivate = e82313e451a198dce4ae95c6832a8281d847fc87b28db00fe43757c16cc49c4a\npublic = 9a2acbb3b5a386a6102e3728be3a97de03981d5c71fd2d954604bee3d3d0ce62\nresult = acceptable\nshared = e5772a92b103ee696a999705cf07110c460f0545682db3fac5d875d69648bc68\nflags = Twist\n\n# tcId = 201\n# special case for DA + CB in multiplication by 2\nprivate = 2828594d16768e586df39601ecc86d3fad6389d872b53fca3edcaf6fb958f653\npublic = 27430e1c2d3089708bca56d7a5ad03792828d47685b6131e023dd0808716b863\nresult = acceptable\nshared = 378c29e3be97a21b9f81afca0d0f5c242fd4f896114f77a77155d06ce5fbfa5e\nflags = Twist\n\n# tcId = 202\n# special case for z_2 in multiplication by 2\nprivate = a84f488e193139f986b0e5b249635b137d385e420342aef1f194fcde1fe5e850\npublic = 4ef367901aac8ba90a50e0cf86ca4e4a3ff164fb121605be346e2e48d04ac912\nresult = valid\nshared = 7eb48a60b14fb9ea5728f6410aef627d1522fad481b934af64e2c483b64d585f\n\n# tcId = 203\n# special case for z_2 in multiplication by 2\nprivate = 30fd2a781e095c34a483907b3dd2d8bd2736e279617bfa6b8b4e0e1cf90fbd46\npublic = d1de303c4ddd05d57c29df92ad172dd8c8f424e63ec93445beaea44f9d124b17\nresult = valid\nshared = b71bdbed78023a06deed1c182e14c98f7cf46bc627a4a2c102ad23c41cf32454\n\n# tcId = 204\n# special case for z_2 in multiplication by 2\nprivate = 28312e17b47dd32d90561168245187963c7469a31c881e4a5c94384262b71959\npublic = 5bccd739fd7517d9344bf6b2b0f19a1e0c38d9349a25ad1f94af4a2cdcf5e837\nresult = valid\nshared = 5bb56877caf2cdac98611b60367fbb74265984614e5e73996e8ea1bd6f749f1a\n\n# tcId = 205\n# special case for z_2 in multiplication by 2\nprivate = a87640cf8237b473c638b3e9df08644e8607e563b5964363ccc42133b2996742\npublic = 8a7a939310df7ea768454df51bcd0dfbd7be4fcbb2ffc98429d913ec6911f337\nresult = acceptable\nshared = b568ed46d04f6291f8c176dca8aff6d221de4c9cce4b404d5401fbe70a324501\nflags = Twist\n\n# tcId = 206\n# special case for z_2 in multiplication by 2\nprivate = 780c5b882720d85e5ddfaf1033e9a1385df9e21689eeda4dcc7444ad28330a50\npublic = fe3590fc382da7a82e28d07fafe40d4afc91183a4536e3e6b550fee84a4b7b4b\nresult = acceptable\nshared = 11fb44e810bce8536a957eaa56e02d04dd866700298f13b04ebeb48e20d93647\nflags = Twist\n\n# tcId = 207\n# special case for z_2 in multiplication by 2\nprivate = 209e5e0ae1994bd859ce8992b62ec3a66df2eb50232bcc3a3d27b6614f6b014d\npublic = fad9ab3e803b49fc81b27ee69db6fc9fdb82e35453b59ef8fab2a3beb5e1134c\nresult = acceptable\nshared = 85d9db8f182bc68db67de3471f786b45b1619aec0f32b108ace30ee7b2624305\nflags = Twist\n\n# tcId = 208\n# special case for z_2 in multiplication by 2\nprivate = 806d1dee5ff6aea84a848916991a89ef3625583e1bd4ae0b3dd25c2524a4ff46\npublic = 98bed955f1516c7a442751ac590046d7d52ca64f76df82be09d32e5d33b49073\nresult = valid\nshared = 61d4ef71cbe7be3128be829ab26ed3463eb4ab25937c309788e876b23412aa7c\n\n# tcId = 209\n# special case for z_2 in multiplication by 2\nprivate = 00f98b02ae0df5274cc899f526eb1b877289e0963440a57dd97e414cdd2f7c51\npublic = e59be4917b3f05b6fc8748c9b90f1b910273c9c6e17ff96ef415ff3d927d987e\nresult = valid\nshared = 5ba4394ed1a664811b01557944becf7585652a8acbdbf806742911207bd79346\n\n# tcId = 210\n# special case for A in multiplication by 2\nprivate = d86c18f2be396b3bb72f22e6ece22e273af6e1506a1c09ad4d01bdd2f439f843\npublic = 8c9885a26cb334054700a270f7a5f4aac06bad8263b651ebf0712eca1ebb6416\nresult = acceptable\nshared = a5952588613eb7a5cd49dd526f1f20a4f0ffe9423e82cea302c2dd90ce559955\nflags = Twist\n\n# tcId = 211\n# special case for A in multiplication by 2\nprivate = f81aadb9053eb698996d0f781d9cda67f82ddefa3987d276ff5a94ffdf5d255f\npublic = f6135fe9741c2c9de7dcf7627ef08832f351cb325dbb3a26f93a2b48620e1727\nresult = acceptable\nshared = cb6fb623084b6197443ec9ba1050c0923332e5e829ae0194269cfaf920a43601\nflags = Twist\n\n# tcId = 212\n# special case for A in multiplication by 2\nprivate = 305b4db4321b4923fc559bf91df677d0e12c3a31b16ec655cb708b759d7c114d\npublic = f6ffffffffffffffffffffffffffffbfffffffffffffffffffffffffffffff3f\nresult = valid\nshared = 9e526079c2fcf12426ae6c2a54b5ffb70f2ec662e29ea5ce0c8385c3b21cd162\n\n# tcId = 213\n# special case for A in multiplication by 2\nprivate = 900638d1979802db9b52e4dd84fa19579f61cd7bef3c0b62fcccaeaa15fa484d\npublic = f6ffffffffffffffffffffffffffff3f00000000000000000000000000000040\nresult = valid\nshared = 6329c7dc2318ec36153ef4f6f91bc6e7d1e008f5293065d9586ab88abb58f241\n\n# tcId = 214\n# special case for A in multiplication by 2\nprivate = 38575cf7c8691ecc79cd5f8d7d4703aa48592ff6e7f64731c2d98a19aeae514f\npublic = f6eba0168be3d3621823089d810f77cd0cae34cda244c5d906c5d4b79df1e858\nresult = valid\nshared = 603f4fc410081f880944e0e13d56fc542a430eec813fad302b7c5ac380576f1c\n\n# tcId = 215\n# special case for A in multiplication by 2\nprivate = e88bd02c7016547a24f428bc2a9dcccad6c6f880c17bffcf66fc68459627af4e\npublic = 60677a5d934ccbfab8ff5d8f085a0b553f94527d9c49ae140f8ed135e1449b69\nresult = acceptable\nshared = 834bbad5470e1498c4b0148782dfe630e8bfadff1997de802ac8ce302a1bda28\nflags = Twist\n\n# tcId = 216\n# special case for B in multiplication by 2\nprivate = 9036ed7d68f7448ac440dc51216b49840dcabd3d5e32e3b4ffc32a5fe9e96742\npublic = 8d9885a26cb334054700a270f7a5f4aac06bad8263b651ebf0712eca1ebb6416\nresult = acceptable\nshared = ec9070ad3491a5ff50d7d0db6c9c844783dde1c6fbd4fe163e9ade1ce9cd041d\nflags = Twist\n\n# tcId = 217\n# special case for B in multiplication by 2\nprivate = 90c55e77aa0fe4afb1287109fd010f526364dea18d88e2fd870ac01b66e3fa4e\npublic = f7135fe9741c2c9de7dcf7627ef08832f351cb325dbb3a26f93a2b48620e1727\nresult = acceptable\nshared = dc6d05b92edcdb5dc334b1fc3dff58fe5b24a5c5f0b2d4311555d0fc945d7759\nflags = Twist\n\n# tcId = 218\n# special case for B in multiplication by 2\nprivate = a021ba2fd4e3ad57bcbf204d6f6c3e8018d8978552633b6dff1b7447bf529459\npublic = f7ffffffffffffffffffffffffffffbfffffffffffffffffffffffffffffff3f\nresult", + " = valid\nshared = 1b174b189981d81bc6887932083e8488df8bbbed57f9214c9cfa59d59b572359\n\n# tcId = 219\n# special case for B in multiplication by 2\nprivate = 3035083e984837587f6b7346af871bf3fc9581c50eb55c83aefabeed68cee349\npublic = f7ffffffffffffffffffffffffffff3f00000000000000000000000000000040\nresult = valid\nshared = 15a052148abaad1b0f2e7481a34edb61403589439b5bd5e5646cecebe2a1be2b\n\n# tcId = 220\n# special case for B in multiplication by 2\nprivate = 30435ce187f2723f9a3bdea0eef892207e152e4cee8985fa72d2db4147bd2a53\npublic = f7eba0168be3d3621823089d810f77cd0cae34cda244c5d906c5d4b79df1e858\nresult = valid\nshared = 1d048cbe2f8df07c233a8f93706f307d17130c2497fb752eeaa31fe3edfc725a\n\n# tcId = 221\n# special case for B in multiplication by 2\nprivate = 580f0a9bba7281a30fb033490e0f429f22e3f267852caeacefa3e5291f0e614e\npublic = 61677a5d934ccbfab8ff5d8f085a0b553f94527d9c49ae140f8ed135e1449b69\nresult = acceptable\nshared = cb92a98b6aa99ac9e3c5750cea6f0846b0181faa5992845b798923d419e82756\nflags = Twist\n\n# tcId = 222\n# special case for C in multiplication by 2\nprivate = 709098feb2e25c67b4bfd3be0a01af409adb6da52b3fbe3d970642dd2c983856\npublic = c8239b710136fe431fb4d98436157e47c9e78a10f09ff92e98baff159926061c\nresult = acceptable\nshared = f1bd12d9d32c6f4c5b2dcb3a5c52d9fd454d52ca704c2c137956ec8ad9aef107\nflags = Twist\n\n# tcId = 223\n# special case for C in multiplication by 2\nprivate = 185ac62e729f88528950926c0de7c481c924bf9cf26a122f443b861e8b6af640\npublic = b7a2f79e0de9b58147691b5546d9ec463da8325e1440e58bb20aa129d1b97327\nresult = valid\nshared = e6f1c494c9e4bd2325c17183e82d31ab0bbee6c847d4b0e4a99c7c6891117c3f\n\n# tcId = 224\n# special case for C in multiplication by 2\nprivate = f03743eead7c2f7719794324f271072817d1a04cbda42b232f3bee43f397cc40\npublic = 2dc624e1663f42a7b9336350f277541b50b8ddc7ee0d86133ad53273aed4e62e\nresult = valid\nshared = aa2a12edf752d279bdb000fb1405a5df8c5f1d41309b4f2bd41aed7ac1ed0149\n\n# tcId = 225\n# special case for C in multiplication by 2\nprivate = a8fbb4f90da45794981405d59ef310621e3c3b6b7760b5e30308c7822c88ae5f\npublic = 0e5eceee9104a64f82c9093b9bf7b4076ee5bc70815af7ee9f942ef015756176\nresult = valid\nshared = 74d5606ba0b6ad1d8ba36ae6f264d6315f479b3984de573e9b001e0555247c32\n\n# tcId = 226\n# special case for CB in multiplication by 2\nprivate = c887886fd07107c7221f6d9dd36c305ec779ceca132ac933ff77dab2beac6345\npublic = 737d45477e2beb77a6c38b98e2a19b05c395df7da998cb91f6dfab5819614f27\nresult = acceptable\nshared = 8cf4538ae5f445cc6d273df4ad300a45d7bb2f6e373a562440f1b37773904e32\nflags = Twist\n\n# tcId = 227\n# special case for CB in multiplication by 2\nprivate = 58096ee29361978f630ad1fb00c1267c5a901f99c502f9569b933ad0dcce0f50\npublic = 873f8b260ea9d9ddac08b7b030727bf0072315ab54075ecc393a37a975882b7e\nresult = valid\nshared = d5766753211d9968de4ac2559998f22ef44e8aa879f3328cbc46aa858dcb433c\n\n# tcId = 228\n# special case for CB in multiplication by 2\nprivate = 0829a49046dce2c07ab28440dbad146453e128960e85dd2e6a69a1512873dd44\npublic = 75e1587c5eefc83715d71020aa6be5347bb9ec9d91ce5b28a9bbb74c92ef407e\nresult = valid\nshared = 761d8cecf13f93b379a772e5fac5b9ffe996cad9af06152580afe87ff9651c71\n\n# tcId = 229\n# special case for x_2 in multiplication by 3\nprivate = 587ac36b9a23594632679adea1a826f2f62d79738220fb487464039f36ca2372\npublic = f85a06065ea2527238fc5ec1b75ead9262e6b1aed61feff83b91230aeb4b7d01\nresult = acceptable\nshared = f12acd36f6299a4d192c03aa4efeea7df51e2d15d763172e68accf7bc6f5c230\nflags = Twist\n\n# tcId = 230\n# special case for x_2 in multiplication by 3\nprivate = a8a442b7c0a99227b4cb5c75fb9e5a72cea25eba8a0bdf07271bb4a93c2b6665\npublic = 6e0f1d00b1099d2a71f7be86655feb8988bba5577b02f964043a49f00c749613\nresult = valid\nshared = b2bbbd173f41d952d329251da973a9500300628177ad0fb79d01e2e263905b38\n\n# tcId = 231\n# special case for x_2 in multiplication by 3\nprivate = d8f7233e9612c00c9dca2c751ec1d3f5f67bad77c2e714a20e71eb3f220a6671\npublic = 696757ced3097fa960c8390a09e8bd6d390dbde8d1fa170261f3422edc192929\nresult = acceptable\nshared = 45ecfa275f1daa25d3fadf33cdf89a152afea25eae37e68e00b30c367789887a\nflags = Twist\n\n# tcId = 232\n# special case for x_2 in multiplication by 3\nprivate = d80c7c7557c9907e1b11e844bf1369cba669bc38e9b7b253e51f239bda322374\npublic = fd84b3f2fbfa16aebf40c27f46e18d77bafa0c7971bedde4909212e771bd3c35\nresult = acceptable\nshared = 595e144e07bbe65b38e0e4163d02ad75a65e422e74067db35c90dfa6e055d456\nflags = Twist\n\n# tcId = 233\n# special case for x_2 in multiplication by 3\nprivate = 8002a85115ad7b41c50f84f35fac750ee8e19734807102830ff6a306beed4464\npublic = 805485703ccfc4a221ef281267f52b61cebc879f0f13b1e5f521c17352a0784f\nresult = acceptable\nshared = 226e16a279ac81e268437eb3e09e07406324cb72a9d4ee58e4cf009147497201\nflags = Twist\n\n# tcId = 234\n# special case for x_2 in multiplication by 3\nprivate = 782db0c8e3e68f106fe0c56415e0bd13d812dea0e94cbd18bdf6761295613a6d\npublic = 80642a3279da6bf5fc13db14a569c7089db014225cfcae7dff5a0d25ecc9235b\nresult = acceptable\nshared = 790d09b1726d210957ce8f65869ca1ec8fa0b2b06b6bcf9483b3eb55e49e9272\nflags = Twist\n\n# tcId = 235\n# special case for z_2 in multiplication by 3\nprivate = 909fb0bdbf53a69a2fe39c8b2497abd4fa57d2d54e046b5f514595e2c0f33d63\npublic = 84e827f78cae0cf063e4340198f788c284e07430b3a94a3873df38b1f872ce02\nresult = valid\nshared = 684cc83af806bcd9cd251e1858f3c10f0166e0a0cd2be154339a886b13e7c76f\n\n# tcId = 236\n# special case for z_2 in multiplication by 3\nprivate = 78a67909757248665f79371eb014825ab6bd4af3571f140389c636e004bcf46b\npublic = d445e1df0083bb6b8e886e6632251807171d4e88c41816fc684373c09d7e5d6e\nresult = valid\nshared = e426e4a3c54d3e77f4f157301e0ac7d9e12337a2b58df16780041cf6d6198c5a\n\n# tcId = 237\n# special case for z_2 in multiplication by 3\nprivate = 286a302d5b076d2aba7c2a4daf9e7cc9d8539b7c0391307db65a2f4220d30f70\npublic = f26aa6151a4b22390176f6233e742f40f2ecd5137166fb2e1ec9b2f2454ac277\nresult = acceptable\nshared = 862df92e25277bd94f9af2e1dda51f905a6e2a3f6068a92fabfc6c53da21ec11\nflags = Twist\n\n# tcId = 238\n# special case for DA - CB in multiplication by 3\nprivate = a838b70d17161cb38222f7bc69a3c8576032d580275b3b7d63fba08908cb4879\npublic = 2b02db3c82477fe21aa7a94d85df379f571c8449b43cbd0605d0acc53c472f05\nresult = valid\nshared = 3f438dbf03947995c99fd4cb366ca7e00e8cfbce64c3039c26d9fad00fa49c70\n\n# tcId = 239\n# special case for DA - CB in multiplication by 3\nprivate = b0733b4203267ab3c94c506acadb949a76cc600486fcd601478fcdef79c29d6c\npublic = d71dd7db122330c9bbaab5da6cf1f6e1c25345ee6a66b17512b1804ace287359\nresult = acceptable\nshared = 95f3f1849b0a070184e6077c92ae36ba3324bf1441168b89bb4b9167edd67308\nflags = Twist\n\n# tcId = 240\n# special case for BB in multiplication by 3\nprivate = d844a36b58aefdb08b981796029a2766101884b348f70eed947c2541064caf6a\npublic = 737bc07de0729bbcfbee3a08e696f97f3770577e4b01ec108f59caf46406d205\nresult = acceptable\nshared = 6a969af6d236aba08fa83160f699e9ed76fb6355f0662f03dbc5915a3c23063e\nflags = Twist\n\n# tcId = 241\n# special case for BB in multiplication by 3\nprivate = a0b7d312d9b832e124d1bc8cb21db545440e3cf14e7473ee9ccbe9b682f2156c\npublic = 9758061a7b3e2c02fb5c20875ae6b55b11fb6795990a0f4fdcd1147be5521607\nresult = valid\nshared = ab39db4aa29ac4017c7446f1ad0c7daa9a37f1b6b4f2e9d2902ccefb84839d28\n\n# tcId = 242\n# special case for BB in multiplication by 3\nprivate = 787f1ddd78cc6473d3e63949409ad3f35bfe0ce0738f255dee682f2bfbc80f7f\npublic = 37cd65d33036205f3449e8655a50d4b0c86fec02100b4f2db7da92dcf5e3aa0a\nresult = acceptable\nshared = 13de41659e3e308d6e26c94282fcc3e0364ddf0809ddee6c8e7abb5091b02b00\nflags = Twist\n\n# tcId = 243\n# special case for BB in multiplication by 3\nprivate = 4080ae60a85c1fa95aad9beabd98b405e7f28141bf08f2c9a4fdbde1c5680265\npublic = a9b6e8081460383adc587c8f91a02c59a7a35576ca62436ccd1b5fef1b92545d\nresult = acceptable\nshared = 69ed8a0a27812ae6741474bd5c6a4e683a126649f7245aa0f91a3a384bcde25a\nflags = Twist\n\n# tcId = 244\n# special case for E in multiplication by 3\nprivate = 08f9f4a4fac4db413315f74a59818b2452fc7b7685592e26556775f9b86d907f\npublic = fd1a2cd17a93f850deb8c45a2d34539232dfd8a558304209781c6cb58229870e\nresult = valid\nshared = 010218bd67b1b92fee3e7fa4578c13617d73195de10279747e53ba01a254525a\n\n# tcId = 245\n# special case for E in multiplication by 3\nprivate = 1888cfae3085867657b09435c42b74cc762457839451a3659db218d4214fd", + "d63\npublic = b88119e5ae6d9e6b912d52524739e612ef19ab7e5dd3d946cb9bc003c378f81f\nresult = valid\nshared = e6b298de9cb6358fbbb00f11890f5714a3858e8f05a2a8d1cf39fe78cc55dd4e\n\n# tcId = 246\n# special case for E in multiplication by 3\nprivate = 789ce13ed007818d7a5181e629eed944a20a058cfe39669c9831bfa5215a1269\npublic = 7b70e29dce0479cde4a36c7f9786582f104bc0788f046b48af495e67bdb88f36\nresult = valid\nshared = 967bbe298494b4a5f95853cfde9dc85970b2a4b5dd2c92782901e853957f5809\n\n# tcId = 247\n# special case for E in multiplication by 3\nprivate = 00022b43775ab2f4b91bc1cb54c97f78026289eaaf02abeed04ca84f736c686c\npublic = 2a209e2ace0e3d6973ffbf7403f9857ff97a5fdcd27f2c7098b444fc3c166738\nresult = acceptable\nshared = 9f66848681d534e52b659946ea2c92d2fabed43fe6e69032c11153db43dca75b\nflags = Twist\n\n# tcId = 248\n# special case for E in multiplication by 3\nprivate = 8097a52fc562e8a516682f5363cc5e7c88e9c78e308df0deef40497b35cc127d\npublic = f50709aca7f314e8d05b5ff97a427e427bd5e85c4e86712125076a771be21448\nresult = valid\nshared = ea7572e27a9120de1f13b85710ba69a3471b7b3f5d12bc430c12c4bbf8aa3957\n\n# tcId = 249\n# special case for E in multiplication by 3\nprivate = 4028802030d8a8221a7160eebbf1846116c1c253abc467d6e43cb850f1459860\npublic = 0f13955978b93d7b9f9a2e70d96df922850a8ffd8412e236fb074aef99d37d54\nresult = valid\nshared = e23d63a46be67c7443c07b9371ff6a06afcd7a5794bf2537926074b88190307a\n\n# tcId = 250\n# special case for E in multiplication by 3\nprivate = d8515d45c7ab2b9529816543150068b8e4bb614cf2b68a8a99363975af503d74\npublic = 18ffe992a729ce70c3b7cdc55bab55f2210d279134b3082a9f682d3a0b131273\nresult = valid\nshared = 33ccaf24e1e26290ed7e462093e9f77607ef52a0626b2cd2511c41cd24c13849\n\n# tcId = 251\n# special case for AA in multiplication by 3\nprivate = d8815bd144518fa526befdd373f5f9cff254d5d3c4660e8a90ef2a22c6876a74\npublic = c3ba28057728d0533965ec34979fe7bd93cf6cb644e8da038baa87997b8dc20e\nresult = acceptable\nshared = 74f95b4700f0185f33c5b5528ed5012a3363f8bbd6f6a840aa1f0f3bdb7c9650\nflags = Twist\n\n# tcId = 252\n# special case for AA in multiplication by 3\nprivate = a82d996093eefdaf283f4049bba4f5af6ecc2e64894f325ee1f9ca1e156d0567\npublic = 4eb095a86d1e781bb182233075ebf1db109d57135bf91d54fdb18eb371427640\nresult = valid\nshared = e9677b854851c41cc489e03981ae78690be6cbf0054ea9834759de3e27bcf03e\n\n# tcId = 253\n# special case for AA in multiplication by 3\nprivate = c02609df3d5436c123dcd7ee11f23f1da321666c09f379d37914203340510861\npublic = 83f67d7c92b11c8fb072484642a01f43deb022b54d94a4015e39849a2e2e9555\nresult = acceptable\nshared = f148716ebe7269a7076f0cf1f22b6978d3c7e3607b0bcc87a8c7a85b9fd20c2f\nflags = Twist\n\n# tcId = 254\n# special case for AA in multiplication by 3\nprivate = a0e3b78c0f3be2a760b2c916f244df219624fdda2e9e31b15328f4a77690296a\npublic = 20cc75d376d8453b9d049c84f58eafcf61126c08a03661e735f0a8be228fd466\nresult = valid\nshared = 1d5c123e88e9dc7a3b16ec90b60578dfca7e11eab9b88c6eca7bc33d91fde83b\n\n# tcId = 255\n# special case for AA in multiplication by 3\nprivate = 701f130a290584cb28c7d6539506a1a054f926a17ef7c568ae43047c05e10f60\npublic = ef31b43d19c0a5434deb56129c16298a394a7032a2e52cb997476bdeca325b73\nresult = valid\nshared = 2fc065ba8f5040a0a659f6f7330554bd1b9d7c893b91e316e0af90c37af4f135\n\n# tcId = 256\n# special case for AA in multiplication by 3\nprivate = d0e67f68183a4c1aed9c56864b36278bb7bb75d57a78321bc7c24ff61636607a\npublic = d8c8e2c6f33a98525df3767d1d04430dab0bda41f1f904c95bc61cc122caca74\nresult = acceptable\nshared = ef7612c156078dae3a81e50ef33951cab661fb07731d8f419bc0105c4d6d6050\nflags = Twist\n\n# tcId = 257\n# special case for AA in multiplication by 3\nprivate = 88eb7775dacc32b045ceb35f261b3616315efa98b780e08c79d544edadb5467d\npublic = 1833619516b80db0c05b225509e6698df028d83b66ed6bac6f0f6308970d2c7d\nresult = acceptable\nshared = a3cf3d81ec56896a68fca0da6335171d0c622568738c0db26fe117033726a049\nflags = Twist\n\n# tcId = 258\n# special case for AA in multiplication by 3\nprivate = 7055b1c0576e7ab6c89fcc1ce49e79c8c371bf9fc2b22b8f8396a9b64c5ae26d\npublic = e2e989aad2397fc34b6cbe2db27d5ab69b28048383c91d9e8226d548253fab7e\nresult = valid\nshared = e7f45823a45b6a46192b37d73e8609b5bda68cd7cfbdccaa49082080993e640f\n\n# tcId = 259\n# special case for D in multiplication by 4\nprivate = 906a9bfcfd71014d18967680d4509eaa41c666424af98bf9ff7ff49eb1baba41\npublic = b9bd793624d6a7e808486110058853edb25e136bd4d6a795d6d2ef53b25e3804\nresult = acceptable\nshared = 7c6148134c9e8b2ba5daeca41e6a1f3a82d8f75d0b292b23c40fe7f5ce0a2b7a\nflags = Twist\n\n# tcId = 260\n# special case for D in multiplication by 4\nprivate = 28392b1b035a8465aa22aabb571061c6effeed40cc2530b628e4fd40395ae04a\npublic = e3f444e208da9043f3f74c20e28d7f404bb687a346709abcd555156f88607820\nresult = acceptable\nshared = ea5e772bac4693ce69ea3ac761011fa7674037653a433c7f05456e7291cd3c4e\nflags = Twist\n\n# tcId = 261\n# special case for D in multiplication by 4\nprivate = 78cbb35204cc88676c14e0ff18171392e998411b23d905d4c4dceab70511f442\npublic = 87b43f90f76d12fb3a469fa8687c27e369d4a82f95cf95e8dc3970de8f86d92b\nresult = acceptable\nshared = 81c395aed5cc5f5e2a206a8a4cacecd501df5b81e49433835ad8a3779edffb30\nflags = Twist\n\n# tcId = 262\n# special case for D in multiplication by 4\nprivate = a8225b49ef7b7330e3de787cbc40479644db7ab126370295c94189673430d745\npublic = 86441ea06c5cd2a34c6b51261e93a2f30ea7db0f74e14c42f0fc443c6735973c\nresult = acceptable\nshared = 513eba5870dc5187e2552fe3ba8292b516d2af9ecb9a9bdc51eac2ce2de40112\nflags = Twist\n\n# tcId = 263\n# special case for D in multiplication by 4\nprivate = 0841e1a5c7420b94b6cc6991316ebdd608626339c09d0f67b24088588b9d0d49\npublic = 4624aa4ae9d12725bf92b85f93e3e8cea16b7bd83fda0eb18fab2dbe0e8bf742\nresult = acceptable\nshared = 983b7e236ffaddb4b759b7353fe87846f59fb6f28a3ed65c256176b6609b7c6e\nflags = Twist\n\n# tcId = 264\n# special case for D in multiplication by 4\nprivate = 08ecf76e31a23039ea8a15ee474b6251a9d725bff1a5751eb5ecde9d7d4e2f49\npublic = a625a5b7a04cea462d123b485c39ea44a8079aa223c59e9ca97abcd30b500e4b\nresult = valid\nshared = c941369b085c7465d50d23ceaf6717ab06e24638f217a7b8055ce8ebd3ca1225\n\n# tcId = 265\n# special case for D in multiplication by 4\nprivate = 6038fb0a830d1001ca8ea74a613ea98f6ab8512644e55e8d45a29071bd4bef45\npublic = 8a5f2063f259f3317ae3e0b459f82c4677666e49a2eb9bf0369aee663631265b\nresult = acceptable\nshared = a3f7e169db44d0d179c242e66347364ab92744dc6ad80e4775aef7f4ff9d5f34\nflags = Twist\n\n# tcId = 266\n# special case for D in multiplication by 4\nprivate = c04cf129f0b33332e2654f8e45225c042d7fa6cbc793c88bd4c731985289b045\npublic = 54cfb6ad0d03e3115acafee12606397f2bb46a8c5f326a255c494118aead3b62\nresult = acceptable\nshared = 401aabfbb73fe6694c446ecfffb43006427a9d4756e049a1ffc79578d62f1660\nflags = Twist\n\n# tcId = 267\n# special case for E in multiplication by 4\nprivate = 3806b036c92d7bc0771998d24dbda2945b601d42449bd3ec4bbf3757d01b894d\npublic = 0ee3bee8cb3a0afcec22fa2233706e8ec29ccf1af212c0a674745ebba34f9d08\nresult = valid\nshared = 20322dd024fb5a40f327cf7c00da203734c2a279b9666a9ff7d8527c927b675e\n\n# tcId = 268\n# special case for E in multiplication by 4\nprivate = 380d9056b5a2f4b3dffb30e6ceb722ac4684245f1befafb5661bc8c7a9ad4c43\npublic = 797ec7512afbf0ad918d0e4947903be95234f3abf36750a8f854888d117b774e\nresult = valid\nshared = 46152d59c2d2f3ecf03ce652d2b6978d401d5ede4570a6c911771bdcfb37cd41\n\n# tcId = 269\n# special case for E in multiplication by 4\nprivate = 384929a42c8d8df146db9508e2f21a4e8cd4d99c1b1338df17a457e88afb0043\npublic = d570c7810f69e502b355253afa7c667bfa5060d90dc86e358ab445f6381e415d\nresult = valid\nshared = 37567f7ec0449c7b823cf7b0e219e9dd880e56a1464d0417a9e67eff42332866\n\n# tcId = 270\n# special case for E in multiplication by 4\nprivate = 48a986825b2680e2f2547ba75a9599b04ed57f8ed18d98e7099c544efbdf284b\npublic = 2c611cb94448f1c7822425a4cf5356236b90a555b1ed4747820ba7f739c8f57d\nresult = valid\nshared = fbf6587ec181116cf1ace7dcd548029d69c130e50fcf6ad5dfcd25c23ee9f939\n\n# tcId = 271\n# special case for B in multiplication by 4\nprivate = 98452ad7df4e26bc4b3d403f9ebf72bb2d7b6b7d5860dbf6fb9a4f78dc02704a\npublic = e559c417da7fd5851352f508b90031d49b5d2d0aac88a9c8b5fb6e80165ac10b\nresult = acceptable\nshared = c7c6f6d7ce1e4f54c727e5900686c34e6a6953254bd470bbbf0c7c18bbddad73\nflags = Twist\n\n# tcId = 272\n# special case for B in multiplication by 4\nprivate = a8dbc9", + "be5034ed7fe7f469264f2135e9c67cd30f525570d2d841e4bdeac52349\npublic = 746d97e7774292a3d703f604e79d8764c99a6a2fe280eaa9811115f5e038f21a\nresult = acceptable\nshared = cf7d2a66ea4dfed94469b2d343533ff302a576f8402ed2187904437038e54665\nflags = Twist\n\n# tcId = 273\n# special case for B in multiplication by 4\nprivate = f8d26878dff25ced02d3b27ce74002695bb879b3c4328930934315ecae842b47\npublic = 1f354aa8ffc4eae2b40dad2ebf830db3feb07e2a1a2da39e55df87c8c613de1d\nresult = valid\nshared = b204d3bbcbdc624f9f1a743fa3daa8f4c8785ed088d37d08cd13c601170a461b\n\n# tcId = 274\n# special case for B in multiplication by 4\nprivate = d0f5e9c43c95b1ffc36f832b943601d5e17647f7d78e2e7710ace63ff274d447\npublic = 9c3f0023e1a4832586af2483bbec64ce9f06f3ea806d4019a5e4abb1b5627029\nresult = acceptable\nshared = b9f21465615f39dddcc37520ce9b956f7de9883ac93a870d74e388b8e1775463\nflags = Twist\n\n# tcId = 275\n# special case for B in multiplication by 4\nprivate = 700679e8c24df828f2e5212a3263d5e93ea61679988298bab3b480f46f961a48\npublic = d05656aa014d476022dfc55e8d3b4884ed0bdf85209be8b55351394d52be684b\nresult = valid\nshared = 20f1fc613874495f20562c10b7a8be47bfc12c168d829d6321aa2de17060e40d\n\n# tcId = 276\n# special case for B in multiplication by 4\nprivate = d0d077c9461f747e5660be85cc620428b4cefe805de0fd254adaa465ea5e784f\npublic = c4a19b8686e18c29359aa548427f06a368d55a8737483d4893523adac6795a4c\nresult = acceptable\nshared = 652b18ffd41cfb7d1f0b6dc79baa3b2a392ef1617f5cf6259b5b4ff065916a16\nflags = Twist\n\n# tcId = 277\n# special case for B in multiplication by 4\nprivate = 00711ac08ef88c3d43a3cbda67b6fe5f34f54723dbe6d725c8a3569070ab9a4e\npublic = 4989de79853ff35be8c9f92fc94674feef38a0e65788471c521f8e259adf015d\nresult = valid\nshared = 679825c259392d86f8edb15328d4faf52300779d979a503a76e27be3d7a85e03\n\n# tcId = 278\n# special case for B in multiplication by 4\nprivate = 989a75b40451139ec36ca6aa043765c61a18be323a5987fcb025c2dad8d4bd40\npublic = a981483cb0ea4385ffbb552826c3dd110d4ae89ff52ed0cd6018f99d3387987b\nresult = valid\nshared = 9cadc14ac153fa383ef66d1833f589100dff90523272e32b06e2c6f1f4424040\n\n# tcId = 279\n# special case for BB in multiplication by 4\nprivate = 90c3cfedd919a2ccd51fb455649e3ad2da1ef0ff619b59a7f9c55a68a8219645\npublic = 1df3dfdab74ff38177dac294b2da2f49a348bc3b3bc6ce9312bea5ef3ecdd30b\nresult = acceptable\nshared = bcc95fb4890ed311f3fb4f44c2b60866cdddec97db820a7f79f475337e16284a\nflags = Twist\n\n# tcId = 280\n# special case for BB in multiplication by 4\nprivate = e8fef5c9b60f84984e8836d535acb372096ba8159824a0b49a17eccda843bd41\npublic = fc6b718ba8b47d24b1cfd6b5d0dd8b20fd920960fabc302dbe4f93bd2a06e933\nresult = valid\nshared = 06f1b495b04a0010845c9d39b13bf2784ade860d9632c8847618c0b34297c249\n\n# tcId = 281\n# special case for BB in multiplication by 4\nprivate = c0e05bde7727db4e352b5e7f035327b4d86a42d513ca116e22d64a4ede56434a\npublic = b279b6c065f95c7040f148bcb4a3d310e34bdb005931a879be469573deedd041\nresult = acceptable\nshared = cce7bb644df94501421db49d15e821c7b0aaabecdf8837ab989b1f23bac08f35\nflags = Twist\n\n# tcId = 282\n# special case for BB in multiplication by 4\nprivate = d87308bf753573f596ac8330b204014b2152dbdfc9881a0d9975058582bdf646\npublic = 98e2cd4c10554e41b0a3e41082c8b6b61b55447d26c0aa97f9a06baeeb54b55b\nresult = valid\nshared = 71fdd3405c30805701ae4dfad98c493aecfcf2e3b563e7068373c1b19137c268\n\n# tcId = 283\n# special case for BB in multiplication by 4\nprivate = d80059a8a387e16f6ded6e7e980e806d1f78b470bb61103d0ca70623ccee8b4f\npublic = 872897f1bd1885da08b9d03e46811044fbb04186ba30c806f38b94ebdc27186a\nresult = acceptable\nshared = bf280aeecb74ab34e1310aa6fe8dc972f94dc40c7f88b72137ccfe34ed343c13\nflags = Twist\n\n# tcId = 284\n# special case for x_2 in multiplication by 4\nprivate = b0a4fe63515169bd82639b515ff7e5c4ac85bba0a53bbaca80477eb3b4250d44\npublic = c08f72760d9cb4a542aad6e2af777920c44563bd90356168c3608c6b9af2ef0f\nresult = acceptable\nshared = 72566a91ccd2bcf38cf639e4a5fcb296f0b67de192c6091242a62fae467fb635\nflags = Twist\n\n# tcId = 285\n# special case for x_2 in multiplication by 4\nprivate = 984256b12ef154ff6c2e1d030826164cba3614e3df7688d82b59e16201c9114d\npublic = 4f03849c24d584534d74302220cfdc90e1bc360bb5e297c0fd0fd5f8d799e416\nresult = valid\nshared = 24acb4afa63919621df795206c3929b599ec9d253693895d51a0555072e89a34\n\n# tcId = 286\n# special case for x_2 in multiplication by 4\nprivate = 6847141d5d4377af96a2a647c642ee81600fe48d3467e3a70f3ee312bb621742\npublic = 4959771a931e242d5713d5cb76f33310c6a283df16645604289553809cda6518\nresult = acceptable\nshared = 5ba2112a41b5bb381f202446fa9f23c54d2de149f9ad233753417263840ea432\nflags = Twist\n\n# tcId = 287\n# special case for x_2 in multiplication by 4\nprivate = e85f1164e2ab6faf62667c74b03ce529b49a0e2041b1ac0fa242e522d2b7694c\npublic = f6fe690cf547049635bb3a7785537b4379c9ee06b46120493b8bdb152e09c81d\nresult = acceptable\nshared = a87c9fdf40c409b9edab481b2cc69687ee1ab92e340c3db0107d40b5de6e7a20\nflags = Twist\n\n# tcId = 288\n# special case for x_2 in multiplication by 4\nprivate = 281e1bbfa711de69921a64c5d2183c338db5504606ce2b6b4ce1cdd54b41e14a\npublic = b468681a1275850c11d37ec736af939a75a7098514e04cfc1c6ca78239a88426\nresult = acceptable\nshared = 3be98798f01e71639f3cb8fd4a17bf273e10c67f8974dd9802eed59d847d4020\nflags = Twist\n\n# tcId = 289\n# special case for x_2 in multiplication by 4\nprivate = 20aacf1902b3cd609d7ee15cc96453cc22e2899d7d17852680f2a728bac6dc4a\npublic = 2d71e8457099e3f445f9e2a14f18b0f5914bb35f482f9c069b64bf63710d4228\nresult = valid\nshared = 338c9917dbf11a0cabe8ad4a65959229bc00f99c211e752b20b8b49b87756d0b\n\n# tcId = 290\n# special case for x_2 in multiplication by 4\nprivate = 009e8e9fa993804dce94cecb96b1de2568245a97059e4d7ae116ecdb1badd141\npublic = fa8f24e944de5d003746d4630350c0f4f6175a3269c19184824105398fbdd329\nresult = acceptable\nshared = 56e2bfc7f6ab7da8fc734afc515e57d0794d002434f9bc8e18bd0b72c0df3c4a\nflags = Twist\n\n# tcId = 291\n# special case for x_2 in multiplication by 4\nprivate = f01574643f231ffac055bd235ee74dd416b94c8e55a2ab2b4d13a8b788d90148\npublic = ae4e37ef53c79e25e8275a60f2fc1dfc277ebc5d3b88428c6432c3f98494212c\nresult = acceptable\nshared = 17fa1276d9fd5025172736449a1c0ae33512e5037014a18db5903e47bb3bc950\nflags = Twist\n\n# tcId = 292\n# special case for x_2 in multiplication by 4\nprivate = 3800a42659954281ca266d7cf1ea9db6d79891a406a70f9e84c3570a6a12d24e\npublic = 95e56a830792478f7c42504043a9cab8e2eebff5fd90983709e29e03c0a41b64\nresult = valid\nshared = 167a3b2fdce9413c89ee892daf9f839a2eea80ea8044924035db1724a5b0217c\n\n# tcId = 293\n# special case for x_2 in multiplication by 4\nprivate = 70a826b186962218dbafca113319daefb5ddf3cf14e15fe3faadc4c0a2e46648\npublic = 5f16aa7ccabf4da6b686bd28c7460e106bb1b97a823792527765c29a9ad8fc71\nresult = acceptable\nshared = 30a4ba793f2dffe1700c61428b4d84b5fcd0aa99a23b903f84a48eca5cc9fb0a\nflags = Twist\n\n# tcId = 294\n# special case for DA + CB in multiplication by 4\nprivate = a85a5eda0a269500b3ab0b58495fc254c2691028ac533494b5f86d44e9dc654c\npublic = 47fb78111805a11982a3d6c5d83e8e189e7fcc462c9abf805d3625be7a6eac11\nresult = valid\nshared = 2bf9ab750bd58ff6f877b783eda45a71a65cc9b7c037fcfef4cb5f4c8842f529\n\n# tcId = 295\n# special case for DA + CB in multiplication by 4\nprivate = 183f28ec867624ef5eca4827ed0714a5525ef21d5e35038b24d307a3391a2846\npublic = 03b8ca5efd1777d6d625a945db52b81f11214daf015d09fdc9df7d47b9850e31\nresult = valid\nshared = 35e9289234bd5e531da65d161a065a14f785076088d741c9a2d886efd7d17921\n\n# tcId = 296\n# special case for DA + CB in multiplication by 4\nprivate = 888c6444ff5eb482b2b10bd4e8a01bdccb65f32934d8026106f16a91349f484c\npublic = 4eca5f8731b0fa0c106acf578b83a350fa8173a290f1eba803956de34eeb7671\nresult = acceptable\nshared = 833afb867054b8b9ac70d6013c163e8b7676fd45ae49a1325f3acb75975d8c13\nflags = Twist\n\n# tcId = 297\n# special case for A in multiplication by 4\nprivate = c8a85d140ba150f5c6a8d3cb363bcbcb75365e51c61640e974a0725b5e9d5940\npublic = a5562b4ba86b464dff4c2cfae85b384be211771efe8a9697e51d84de47f1eb14\nresult = valid\nshared = 8a914760129575c8ab3270d04b0465fc2f327acaf1676463113803bbb2ec8021\n\n# tcId = 298\n# special case for A in multiplication by 4\nprivate = 90a3aeb1417c3d61c1efef1ac052218fb55d3a59c4fe930b5a33cc5183b48547\npublic = 88ae1631cd08ab54c24a31e1fec860391fe29bc50db23eb66709362ec4264929\nresult = acceptable\nshared = c1988b6e1f020151ec913b4fb", + "2695bae2c21cc553d0f91cf0c668623a3e5a43d\nflags = Twist\n\n# tcId = 299\n# special case for A in multiplication by 4\nprivate = b858d7414bd9ab9a3ebea79064ab87bc050e74407f4d4748f62fa4d9d203b640\npublic = cbc4d55d5bfddd0bc5c5edbe3a04836b2c701d25195b26221cbea19311e55a3d\nresult = valid\nshared = bb24817bd9fff423dc0972908e2c03fddf4dbe100016b459f28fe9594adb3714\n\n# tcId = 300\n# special case for A in multiplication by 4\nprivate = f825edf1f79eddd715a72b3ac267d6b2e97e18bb13bcafdac5940370b85ba64b\npublic = d66a2f9f7577e2df4a56cb51962b3056ff5cc0494c60f39511782e79923edd41\nresult = acceptable\nshared = b3b4513f8a3102e1ae782fbc69888177f2c24c569303a5d01ab1c3c5e285524a\nflags = Twist\n\n# tcId = 301\n# special case for DA - CB in multiplication by 4\nprivate = b0a710b470e324bb56a7d8ff8788d05eb327616129b84972482425ea4ad4f34b\npublic = de0fed2fab6e01492675bc75cbe45d7b45b0306cec8dc67611699811c9aaef16\nresult = valid\nshared = 471ba91a99634f9acf34fd7fd58f72682be97ee1c821486d62ba4e448cbc0417\n\n# tcId = 302\n# special case for DA - CB in multiplication by 4\nprivate = b898f0329794747d33269a3989b67e43a7ab5a55fa1210b0e5dba193f4fa094e\npublic = 6418d49fe440a755c9ff1a3582d35dc9b44c818498f15782c95284fe868a914c\nresult = acceptable\nshared = cdb3ca02d5fdb536dbc7395bab12bdcfd55b1ae771a4176dedb55eb4d755c752\nflags = Twist\n\n# tcId = 303\n# special case for DA - CB in multiplication by 4\nprivate = a0528ed9a8ec22ebe9cc2e32fafc3f467500a9a22f5377382df6604edcdf4f44\npublic = a89bcfa236bbccf07c434b59f8655fb085b6cbe5ed6376281df813afba22b752\nresult = valid\nshared = cd3245403fd9edfcf91c9581ebb2eb7c77ad6837fca372479e78de9faf60a34a\n\n# tcId = 304\n# special case for DA - CB in multiplication by 4\nprivate = f06888bde75d689d056874f6436000497d22d8ad9b95a1c67de1dda4ada3164d\npublic = cdb1f95f6eacc24b6d029c6ed976666dc51794db8e4aa966ba850fd7f5048965\nresult = valid\nshared = ab7c47ecb0c0167156f44f66a527264b958fc992c21ce98cef3ae214d66bd82d\n\n# tcId = 305\n# special case for DA - CB in multiplication by 4\nprivate = e034fcaa3ae40603f9b22af159fd67ef009380946de92cb1d83cc489e8b35041\npublic = 9491a82744f1cb6105b76b0442e54e605ac67f47a1b2b3b552d486f75bd98e6a\nresult = valid\nshared = 1bfa264a7c7229147a20dd021211891e61f5d8c76cd83f0be24bc70e466a815b\n\n# tcId = 306\n# special case for C in multiplication by 4\nprivate = 702a7448c0ed58e1f4e0e332d096a36360beca2f6955c815bc120b3a691d7742\npublic = 4d19e156e084fe582a0eb79b2f12b61d0b03f3f229227e798a933eea5a1b6129\nresult = acceptable\nshared = c46057fcf63088b3a80e0be5ce24c8026dfadd341b5d8215b8afcb2a5a02bb2b\nflags = Twist\n\n# tcId = 307\n# special case for C in multiplication by 4\nprivate = 50025cb508ad4faa06fafd0f4a33b747ccf1b3573885d3426500d51b56300144\npublic = cc4729c4eae292e431ec3a5cf5020e19f9bea50ef3218d9a790034526c3ee14a\nresult = acceptable\nshared = d4361e26127adfbe37c2ed8f42cce4ebab8ab74ed9e74f14c3435d612c1a992a\nflags = Twist\n\n# tcId = 308\n# special case for C in multiplication by 4\nprivate = 7082fc53299a4d30e5d0c383c035935b1eeebd9408fe4d04b93eec24be52eb47\npublic = 4a474249af8f771f0cfb1116f24fda4c42f4136d2afb766d1b291c73c6668d5a\nresult = valid\nshared = 80dfae7a28bb13d9e51ff199267cec2a19dfc8b6f4974e3446b2f62fe9b62470\n\n# tcId = 309\n# special case for C in multiplication by 4\nprivate = 98ff7e711d65cc7fd9d0ac12dfe8b894e0a93602ca9e75bf0eabbf0bfe670148\npublic = 0f2a5cbbe503139531ac0529183da8e624d25286f6e35d1407ab1f4d76ebc260\nresult = valid\nshared = 7a5c373065e339b26ee537cff1cf4597cfcb4bf2dc7c4bcfec9884443281c273\n\n# tcId = 310\n# special case for z_2 in multiplication by 4\nprivate = b080f4ac1e758bbfbfa888a78cb8d624d97b8688002b2017e35f52f3d7c79649\npublic = 2fe11d723dba63559e1b96147893cb7ec862711806316daa86cd4da769d4b22d\nresult = valid\nshared = c5edcc5d447071c08dfa8281414ae6a02de753e2f7bb80af5f6253e56db43422\n\n# tcId = 311\n# special case for z_2 in multiplication by 4\nprivate = e815bf9a967e1208af8e74ce9af6d113dab17c01c90f1ae2bc25e3e2f9e3a44a\npublic = 98e1211dcf6651fa9f2d00eb083ae5855869a2a53e835f2e03b30c0a19ba8051\nresult = valid\nshared = 263a38fe538b50e8e988bf07ae86f33d49886b14c7143efd1d2025c840e36a25\n\n# tcId = 312\n# special case for z_2 in multiplication by 4\nprivate = 4051b01cdf90af38f0a96ffb83f8d4133abe4fb035b6fe6f65276447caa7314f\npublic = 2f1b938b81a4c90e1251135ad7fabe835f6a8bc5e22d4b2ab119f6f677877677\nresult = valid\nshared = 340acf2801de71c18f4c79cfea372bc354e4c8a5eb5c2cce8b45d885df162f45\n\n# tcId = 313\n# special case for CB in multiplication by 4\nprivate = 98c092363184e58ad6ce510bd32b309c9d5a46f8d9ee6f64a69d8180bbc6cb45\npublic = 340b9f613550d14e3c6256caf029b31cad3fe6db588294e2d3af37605a68d837\nresult = acceptable\nshared = 9efe5cd71102d899a333a45ea6d2c089604b926db8c2645ce5ff21492f27a314\nflags = Twist\n\n# tcId = 314\n# special case for CB in multiplication by 4\nprivate = 686e51c00116d1c191aa9d5823b96e5956102e8fe75f5cf2376d99989f6f4342\npublic = edfbd6f09aa32435440b0ca8ba436308319613f8f2d501133c526c3ff55c7b3d\nresult = acceptable\nshared = 196182095bcd2ef46b18f64c63607e0ab162a0869e6265ac8ae35e358c3d8a63\nflags = Twist\n\n# tcId = 315\n# special case for CB in multiplication by 4\nprivate = 208af2c9442b36b521fc3a1ecefe342aac308bd6e6296ee091c196dc02e7ae40\npublic = 9b0538cd618b0a4de09e45420f84d54d74514fbb1a31c1a4aa1e93306f20723f\nresult = acceptable\nshared = a3c6b75168211e8e0a49ca815bfe3f469f29864dc8166152b456e7074afa9b5b\nflags = Twist\n\n# tcId = 316\n# special case for CB in multiplication by 4\nprivate = c0d861a6d5ff91f91e3bd05934161ff0ab0f3ce7e4a2b5b4fcb31ae34b46664f\npublic = ae8cf2fcdde710c2c1184524bc32430874dfa08c125f61d6919daf8e66db415a\nresult = valid\nshared = deaae6c9952844a3a1d01688e7105b0bbeadc160763c2002b6d0bcf35c22d123\n\n# tcId = 317\n# special case for AA in multiplication by 4\nprivate = 70785cad160972b711318659b47b574f6941ef6da1ea06508b2650f57ec9e54a\npublic = 2a59f478402d2829cd3b62e9f7cc01445e8e73a42cb11af00b6b9a9f0e44cb3b\nresult = valid\nshared = c204bd15f01a11a2efdabe2e902b7cd0aa079316f60e911b3ee5d46262e98631\n\n# tcId = 318\n# special case for AA in multiplication by 4\nprivate = 60afc8eb1f87df4b55287f3c4698c5f8b997b28a73c573fc273e9c467fb7e44c\npublic = 836c8e45dd890e658c33e69b6f578a5a774c48b435bc3b91ac693df94a055857\nresult = acceptable\nshared = c5457487e90932f57b94af2e8750403e09c9ac727e2bd213590462b6937b0753\nflags = Twist\n\n# tcId = 319\n# special case for AA in multiplication by 4\nprivate = a83c11b2834136b9aaf0152d90e76e3c27177693a2834e8beda0a3571bce6947\npublic = 59519ead7995a6df89bb54c840d61a8481881098b8a4f83c6a2f6ba800338257\nresult = valid\nshared = 4ed6f8d62932541c6bea16e03835f1f758a5c41722b5c9989c9c7cc08e34e37b\n\n# tcId = 320\n# special case for AA in multiplication by 4\nprivate = b80d8795735806579e71759894939d758853592127efe84fc82eb7cdee45014f\npublic = 32f34da84ab4bfca369c4b884691becf54be7fbed16449dc86969da7ea9abf62\nresult = acceptable\nshared = 521a5b8149a132d155e6b4ed113900506cfc2f76d2a3e14196d69eb85db3c952\nflags = Twist\n\n# tcId = 321\n# special case for AA in multiplication by 4\nprivate = e08ffa45efbe1f96584c76254554adb9177b58ed09609a6ce499e5bd22d35c45\npublic = 82ae48dcf59bc5e469f9a11b18a32d4753ac818692dfae27d675411a2272b363\nresult = valid\nshared = e831d6cee95ca1b4c96bb89457562fff36cb4d08b81da89b810b425ecdbafd78\n\n# tcId = 322\n# special case for AA in multiplication by 4\nprivate = 688e1bbb5114f34e8531c278b2d9714ba07c32a7aea6e627135bd1fc65238045\npublic = b33bd3ad14b66896f971cbdf27785fc3aa3cfb39adc6c29257d22ea4df8cbf63\nresult = valid\nshared = 350e3ab9d0dbff78f3f2157428beba189333be274827c10d59673f21c0c48a24\n\n# tcId = 323\n# special case for AA in multiplication by 4\nprivate = 8036a4e2e93e9ed82d99d71a522aac9289bd9905fe41d01d08a499376a258442\npublic = 18e58df6bfbe184b0e3c7c4bf2a051ed055b793501c0d4fc47bc8a95c4deec7c\nresult = acceptable\nshared = ade71d6460287fe808e947560e67a9d6ff2f96eaa1355d2e9fbbe549e883381b\nflags = Twist\n\n# tcId = 324\n# special case for DA in multiplication by 4\nprivate = 901b20f0cda74076c3d4bf4e02653cd406ed480c355159e22ca44b984f10764f\npublic = 772e31e776e8d4f23b7af2037af28a37e68f61e740b3904f4ec4c90157be1478\nresult = valid\nshared = 91a9bec28cf18c7094e2d80d2764df59ada0cb1946be422864bd7ad0e533b663\n\n# tcId = 325\n# special case for z_2 in multiplication by 5\nprivate = d83eb7affd1bcc1ec0b4823cee5cf0b15b5f57085aa2708ed437a2925329b550\npublic = a8d55d5c1137e9bb626557f9d6eea8d3120e9364f8bcd9b67934260b1a09", + "1801\nresult = valid\nshared = 6c1b8e240edfa5db2abb3dc12bcf9e8ac9ca10dd3507083746f6f36dc035d755\n\n# tcId = 326\n# special case for z_2 in multiplication by 5\nprivate = 989eee317b9c254dc023f9e35eff0224bc2e0bc871996b946a96970e7506a85e\npublic = 33c94be58b0f0e6cf363e1b12a2ebfb93040715be91518f21df2953eeab5fb01\nresult = acceptable\nshared = d4c3b3467714f2d105904a84cc7e81d7f291304e908041682d8906a683c12125\nflags = Twist\n\n# tcId = 327\n# special case for z_2 in multiplication by 5\nprivate = b8355455d358f2dd7c5707b2c6973c9c27b99e7d8ac1650c791e5fdbcbea4957\npublic = a218ae9624b07ce05178b9d0cc1b71dee21f27852a2ceb18610b4052b244f00f\nresult = acceptable\nshared = 1ebe6ca711a649ae487b332747e3dc0306340560cab6bc6029e44f6a7e0ee41c\nflags = Twist\n\n# tcId = 328\n# special case for z_2 in multiplication by 5\nprivate = 8065567ef082b16c20853487f54893012ba4762224e5c59f250dfbf82581e85a\npublic = d7067faeafd3e966e57525f930b3317c9e8b9c9a9ae946e76c1e4602a59a7e33\nresult = acceptable\nshared = 03e7a777e648bdc612189f3cd42d34e35736d3e52e6edc8ac873a58e244a6073\nflags = Twist\n\n# tcId = 329\n# special case for z_2 in multiplication by 5\nprivate = 00b51448139a61fe6c5fbf9395877d53d820ef59da3be856458b5eb90985ba53\npublic = 8df9682cbe8802478a8531377e752cdde54738d528d639bea9eaf47702f8bf3b\nresult = acceptable\nshared = 308ef99dae1064a444fa90775b5dd5b1952d7224a0e5ae031df432640f416208\nflags = Twist\n\n# tcId = 330\n# special case for z_2 in multiplication by 5\nprivate = e8eb9f6f62f93dbc325b833aa763a90f13f0acb2c2c4b8b33decd471ce70c45f\npublic = 7d92706868aa09538638d633c255f333b9da03bc74b49b35941c57820cd3fd47\nresult = valid\nshared = f33e2e86443a2c68823b72a2b59d6a028e0a8e283cfe29fea4f7aa22bd1afe72\n\n# tcId = 331\n# special case for E in multiplication by 5\nprivate = 68a1a7ccc50bab4b01e55e18cbd464aff43131fb0741e68d53cdebfc54f33051\npublic = dfb1ffc176aff84db30182d2378f83728f83dd1b33d79856f3da5459cf9df907\nresult = valid\nshared = 7b535fc31c6c2a3803d8bd45410a1781bd90a09205da28c9df120df23a9fa32d\n\n# tcId = 332\n# special case for E in multiplication by 5\nprivate = e075bcfc165a471b2f76c3003fb0172c82f707137de2fa7082e43a87a255935c\npublic = 12e81e838b21eac96dc130432571216d7a9b4a817f1938721d2267dd150ebf20\nresult = valid\nshared = ca23a781da0911e4115a29a9f56447157c23bee187b0c17369c4f7730d781718\n\n# tcId = 333\n# special case for E in multiplication by 5\nprivate = c0e19634dbf6460e1486930c46e8556b3c16d6de959904600549bb3e08603455\npublic = 832a46aec02240d716fe22dea94ad566a3fafbeedcce35c83e41e58076c99749\nresult = acceptable\nshared = cd0686b32ea4cddb8e13ff20a78d380749a5d4f6a3dc55d72f4813d949a0ea57\nflags = Twist\n\n# tcId = 334\n# special case for E in multiplication by 5\nprivate = b84caa18acc3db37225d32cab4f60e6fba4acab1277e20425d30f94cab2e2c55\npublic = 8c8033432bcc12d479f67d6d876b1c8e89f16a234b9b093322effa9dee94554d\nresult = valid\nshared = a950aa57bb2beb9ed5d3228c7ef448dab69552f3d3b1e466accf41bfb6d5b874\n\n# tcId = 335\n# special case for E in multiplication by 5\nprivate = 2896818cddf572521943e9f0c5e845f530b740427588a0f6de2504bd5bf40c53\npublic = 6df799bba6cdf5f46a57ab227f93fba491dad296a2fdb7e491921d610cce8f5e\nresult = acceptable\nshared = 54f5ae57e676d08c8f8a3cf891e36ddaab751093f92f409060c57e745941700e\nflags = Twist\n\n# tcId = 336\n# special case for AA in multiplication by 5\nprivate = a01f0cad98cf2905b812d3530531bb3ac899391abd1eaf4a3ebed96ac6126f58\npublic = 0c8090e1cfe7f761cfdf08d944d4aeb7a509a07a6101645b9a4c7c9e9c3d4609\nresult = valid\nshared = 2d49b09f81f3f6fab2c67e32f1bcead2ad09ac9e0d642b0873becfb64de2ab23\n\n# tcId = 337\n# special case for AA in multiplication by 5\nprivate = 106b36344cc4a5a389d8168137786806ff03cd4a00f8636bb7e758d456151d59\npublic = 08352936c8afd8543ac95f24bce9a07e3e3235763ea512a584298967b83c070a\nresult = valid\nshared = a199368e683c3036a48f4c5f32b32a547dd39f3d1007ca0a0bebcad0a8ac6f5c\n\n# tcId = 338\n# special case for AA in multiplication by 5\nprivate = 88f9a0d2354adfcbab2d12a0e09b3c7719c944384edfbaa27fe0731cb9c6fc5a\npublic = 73bdeef8cc044f5ad8d6a241273e1995e0007dc9e6579046df86aa6cd97f5d2a\nresult = acceptable\nshared = 5aa750de4207869ec7fddab34c639559b1eb27ef244aaf2a702c84963b6d6e7c\nflags = Twist\n\n# tcId = 339\n# special case for AA in multiplication by 5\nprivate = 0811f2e560a205e96e28bc312bcad45fe8befefb7f6da5faa035311eed80b251\npublic = 7fdd399b6ef4a3f5cade62e74113b29c27db15203f9b8e398d2c6f230051cd2b\nresult = valid\nshared = a6947ee089ff28ce3644ea4c6eb33dbb20c7974fb8d853f4e146e2466177502d\n\n# tcId = 340\n# special case for DA - CB in multiplication by 5\nprivate = 40ad984066a69080fb4a315878e736096cc577dae4c42c40d893d8c2173b785a\npublic = f0173a96273c646fb63d13b0c686b89e37676fcc7178faf4a6f4601f3068150d\nresult = valid\nshared = 230b6aa1f24df90a60839179ba5e9de673cff11cab59e8020b20626c22090b0a\n\n# tcId = 341\n# special case for DA - CB in multiplication by 5\nprivate = 48b10cd45639bbbf83a0b28f0dd3ad0b7b00caf48d05534480556a8278116d59\npublic = 255bbe7230cd2bee90d283f418a474ab30146ce5e801a0f5ed60ee8def3e6558\nresult = valid\nshared = 2299e384958bedd2c3d367759155136d1ff76e4434dc1d9e8212cdca52ea8421\n\n# tcId = 342\n# special case for DA - CB in multiplication by 5\nprivate = e8fad77946e0de4cf4236798490b838948b82cfb29f8e7686001b11e8d961657\npublic = 21accf97b7fee173001ccfcab21637c175ef5186ff0002502b3d52fa8c51e766\nresult = valid\nshared = 97fca065acd3b943c654997c0f125767f9abc4b7c9d8b7246942f12be65d9231\n\n# tcId = 343\n# special case for BB in multiplication by 5\nprivate = d07babed90b27c4eacafdc871703bd036b720a82b5c094dceb4749eeaeb81052\npublic = 5b40777e80ff6efe378b5e81959ccdcbb4ca04b9d77edc6b3006deb99926fa22\nresult = valid\nshared = f482531e523d058d6e3fe3a427fc40dbce6dd6f18defbc097bfd7d0cdd2f710d\n\n# tcId = 344\n# special case for BB in multiplication by 5\nprivate = 68a3049aef8c069b906cf743286d3952a888bf2b9b93bc8775fb5adde06e9f53\npublic = 48d952a2924ff167f037707469ec715da72bb65f49aaf4dce7ec5a17039ddb42\nresult = acceptable\nshared = de88af905d37417d8331105345dabaab9fd2d3cb1ee902911c1c8eae2991d911\nflags = Twist\n\n# tcId = 345\n# special case for BB in multiplication by 5\nprivate = 18d8c3d2a4e366185a85c38698d937e13bbbafdbdab1a0a83dbbe89badf70756\npublic = a5ef265ccbc5c54021d34f82364a4624030f5b9d5ff7e63d7a379e533de5e742\nresult = valid\nshared = 075d18ccc984761b70752279e7f6a757208f6c11e29480c32b40aba128a4d52b\n\n# tcId = 346\n# special case for x_2 in multiplication by 5\nprivate = 18efcd5fe345be4985316695391d2c952eee13b0e1ee7584721fbe8b19d4fc5f\npublic = 9051e55a4050ef4dce0b0c40811f16371e8b16932541da37f069406d848ea424\nresult = acceptable\nshared = 212dbf9bc89b6873a60dfc8731a10be11ab2dca4b172142e6c9f06614cd72852\nflags = Twist\n\n# tcId = 347\n# special case for x_2 in multiplication by 5\nprivate = 28ec7c693e222c72ac0815f1fd36661357e0a8da7bc996daeeeafcd21c013451\npublic = 419adb8b1f2f87de016b0c78d1029a210492eb8cadd164b12cd65b1d57bf3634\nresult = valid\nshared = 379f9221abebf3582681a0e857f3da578a1b0121982b96f14b94de5dc8b24528\n\n# tcId = 348\n# special case for x_2 in multiplication by 5\nprivate = 78b35e7ae549308b6414bb610196c04f2af79d4266c86e8a9ce0c02bbdb88d59\npublic = 13e00dae3b1ccc97ccd649088c4a7f32ca9976214d645667bd082039bbd9ab7a\nresult = valid\nshared = cff2596b7afe36f4cab9c70133d7aa0f9914f9abc6c3b9895472e2a5894a8037\n\n# tcId = 349\n# special case for C in multiplication by 6\nprivate = f0de9c5f8a9372f30c41ca47a55743ce697d46e32e7a9ae26d32503fd5222767\npublic = 441c487a48f0a4989d931cd77a6142a0a13d1aabad82623ba8d94b5c374f4f08\nresult = valid\nshared = d47c46b4329bedcbc1986b3c6d2aa9bcd027d6b68925175d35bbb536b3440801\n\n# tcId = 350\n# special case for C in multiplication by 6\nprivate = 686be5a12b310420f9bfb209381fd459a5ccd55c752b88337ebe89e1921ae765\npublic = 0e67ee5c6b65aa802259810b2605f8d7accf9b49bf14cb4a536928e883172915\nresult = acceptable\nshared = 1d730158da880533dbf1e6c64a8e99f9169611660969b0a84fb42dd8dc2efa3d\nflags = Twist\n\n# tcId = 351\n# special case for C in multiplication by 6\nprivate = a0c0337c5bec5ca24dea2f1d701498ae2bad87b8269ac23be113929fe4eb1963\npublic = dc9d7ef1cb49c191e258663a94e731b9c066c11a17d8b5fdea1987f5d9a00568\nresult = valid\nshared = 07732529a628badeb8d74946775ba457c700bf8390f46bc523fb64e471c86a7e\n\n# tcId = 352\n# special case for C in multiplication by 6\nprivate = b8824cfce5550b5e17b12f74e28459cab34eb49895cc36bf645a0cf00e3d2d67\npublic = 556b3ee7cd0d37979056ecc1f56a5", + "677a4935be6e49ce28e394f8bfb73d13b6a\nresult = valid\nshared = 9e3aae35fa1cc80a359878e212180294ff6608dcb4929e91901abbf976f39c16\n\n# tcId = 353\n# special case for C in multiplication by 6\nprivate = e02dba7335af8fb9168de2fcd310c2e2df4a3e25263e0ab9ada87bfb8258a66b\npublic = 1211be5809605b54f5727d233c783a2a199a3db24ed4499d7b48c7603e4ad371\nresult = valid\nshared = 880f6dc73220307a597670f3282fc366aa66f04a0a9ca30d895fdde337afe825\n\n# tcId = 354\n# special case for CB in multiplication by 6\nprivate = 30ce71f856ceb874fe580039ca67e896e6d08207a73cd55db7059127c1342b67\npublic = 505e7851e2352e311ca9536a1fe6c0d95d648197374ce08e4b8a0fbddf62910b\nresult = valid\nshared = ea62b0eda2d7b249a42417675a2b82b1e6c0d69a4e7cef336448844d2f432251\n\n# tcId = 355\n# special case for CB in multiplication by 6\nprivate = e881f46d4141ea69a671649b93b63e97dc67c12521d445862f087b2626fa2b6f\npublic = ddf4e90503dd82610c3a034b925a880b72dbde30c626009202b358c6eb00f418\nresult = valid\nshared = 302c4f83b5c5bf30c1e3afd9f643f65bfe56ca1628ee042b1ab7393bafe36c06\n\n# tcId = 356\n# special case for CB in multiplication by 6\nprivate = e879752683cd73a834251c65749135e06eb9064d3ae35095d88cde14a02ba366\npublic = 0e9c4431999ef1ce177e900d37ec6ae665e387e2d4fa27cba8e7baebc65c6520\nresult = acceptable\nshared = 8ff2ac65c85ee2fe9452fce460f8c87f9570d769cadddc87fe93ef8b7657c726\nflags = Twist\n\n# tcId = 357\n# special case for CB in multiplication by 6\nprivate = 20576ab456da26c18da5fbf06ec4d16564e111bfae2a92b9f6e1927c15770a62\npublic = 5761d6c08624104d4117ff17c75e9211a591c9ca9aecca3a665a7ed844195225\nresult = acceptable\nshared = 97c91a23c3e4f3ff727d188a352b67ad490b62381566fb3e111cb67aa9e3435c\nflags = Twist\n\n# tcId = 358\n# special case for CB in multiplication by 6\nprivate = a8467418b924c2c003c56e1610a35469356360c29d52aa557a2bb30fb8a9a464\npublic = e92d45b3ec56531266303c5113c46310c41650001065b4d87b02b382fc82662e\nresult = valid\nshared = 24346bb133dd9ae3ff02d2f50510b3a92d9030834d60e5af08b0eebbf1d4dd6f\n\n# tcId = 359\n# special case for CB in multiplication by 6\nprivate = f0f5e162923d7c299388bed781199417ade097475515162d9590976a196fb16f\npublic = f38b63459d05e422ad024c2dcea5029a0a7a6b6c4c1d2093ce556aab331e2540\nresult = valid\nshared = b3453c9c82a2d1d956156de2399cb70dd4e1ec53aea967e035753c1cdae13c39\n\n# tcId = 360\n# special case for CB in multiplication by 6\nprivate = 608fcf787fe789644a09bcab958f0737aa81a9e29d505f51035c78e374b9e46b\npublic = a7ded0eea45a400b8f5637154d42974aa98c92962314d822ef88b01383a9da4d\nresult = valid\nshared = ebeb0c7b7a4165cd02a278f3a222c236eed83266b806d13494c1c3f98a2f3425\n\n# tcId = 361\n# special case for CB in multiplication by 6\nprivate = 58a3396d291eb23571b52d98a31549e514e501e8d0958ad9f25fe5a76c503e69\npublic = 7b0ecb4c72ee147789d74813ced3ebe40f45c3da526ed1272952e453e43b796d\nresult = valid\nshared = 9213a53f22ff0cb5eca87b27b193c773bfdf4c01a193a11f37c157474e15cb07\n\n# tcId = 362\n# special case for x_2 in multiplication by 6\nprivate = d805a7014755dd656f98d2b331f2d2d4912725ef3d03752f26f74dc1ad61666a\npublic = a244413ddc3a205d038d64266833eea1efba51ba62c9c6cdcdbe943be52bb00c\nresult = acceptable\nshared = 66484a4120e0eb0c7e0505e1d2c5d15de9b52b72e094c9bac88634200c557267\nflags = Twist\n\n# tcId = 363\n# special case for x_2 in multiplication by 6\nprivate = 40cb1fe06b08f068f7080ba07c695eda91a2bebeadd4db95c97dd7c91af2566d\npublic = ec3c8b0c10b1fa65dbbd17cf1ba5f86381284765709b07c5f0428e3d5bcd3920\nresult = valid\nshared = 384f2221618e71d456b1551651efdb708a161d7f89f5604b27eb872d4aa93276\n\n# tcId = 364\n# special case for x_2 in multiplication by 6\nprivate = 8021464c64c9d6d3c0c852f6972d11969b04c9e066562fa7f0d5fa0d98ebad62\npublic = 6330d3e28a8b6126ace165a9dfccc6e4bd40dbc9768cfb16330cb7f27f906230\nresult = acceptable\nshared = 8daf5f4b84730144ea8a53ce39cc907e39a89ed09f0202e7be0d3bda38da663b\nflags = Twist\n\n# tcId = 365\n# special case for x_2 in multiplication by 6\nprivate = 707a2d710b32f55c6eba34898020a2fb981d61b1e822fca84c47d9321e279268\npublic = 8678aa29cbc06e78b218d22a3e66c38ec0da8fdb0f2570c585c62517c9704f37\nresult = acceptable\nshared = da8b7eba6f72c3f3ef33d8982093492e06be39bb0db29c465d95a8e52ef64341\nflags = Twist\n\n# tcId = 366\n# special case for x_2 in multiplication by 6\nprivate = 204a43dea79d779577581b8c2a51be66e1effce96425b7422b9ca65bdf1a4867\npublic = 303289c2b1079ea59412faccfeba8c113d2299b9dcfedeabc42697b0829c4658\nresult = acceptable\nshared = 0419a71a08d3fdd574cbc932e8f1605933ddcdd9774f5614269b7ed850c8650e\nflags = Twist\n\n# tcId = 367\n# special case for x_2 in multiplication by 6\nprivate = 58e4741735d2589322151947a1ce2f5829908626886941cb1631d25a8a684169\npublic = 3e6e16e02d44ebd94680832e065aeddcbb74af64fbb7c6d8367e7605be13ff5b\nresult = valid\nshared = 9f2fcd0c756288c1716ecd1f2a74864b93a7717bfaf5248858dcb6fdbea12864\n\n# tcId = 368\n# special case for x_2 in multiplication by 6\nprivate = d0af3428ea5205f6bf8d4f1b4e4903cd76f04236a1c0b3ecfdcaf28b21348e63\npublic = a7c1716a41ed23a8870438714ff9745fb0e46f7a5baeb37c9a2d83fe477d146c\nresult = valid\nshared = 261ab6267c35a9755359e957473870522b7f923fe839f2b155408649cc5e8004\n\n# tcId = 369\n# special case for DA - CB in multiplication by 6\nprivate = c0ea97e442e5dc1c8142bfab7089ecb9bb9c5ae372f9907c2825e678defae567\npublic = dad981552c57541c57ef395ed770ce5edc48f8015461b2ba7aa831ec593ceb15\nresult = valid\nshared = 9093bfa3ed3491d0891f02ae466e5e13c980df229db7404c5b9d34e4ed21c653\n\n# tcId = 370\n# special case for DA - CB in multiplication by 6\nprivate = b0333f09ac1eaacd3cd617eb8832e9de488b458b735cb4b5345f517130c25d6b\npublic = c588dfe6e733d90581cbe112079749d8eb30ab8631134ec29abfb98b32e76522\nresult = acceptable\nshared = 6e88bb6bf75596bbe5f1fbe91e365a527a156f4f1b57c13ac1e3e6db93191239\nflags = Twist\n\n# tcId = 371\n# special case for DA - CB in multiplication by 6\nprivate = 10719099dc63bcc282ef525845c108897ac9fae9590b593e0d505d1cf167c061\npublic = 0670116a435e8d9b7a12ffc4322fd6b149d0b1dc799b5c0957d9d6e42546e824\nresult = valid\nshared = e6de74d2c5cea54094d7a70af03c768afe05d52a038bb72d56dcacf0ba502d74\n\n# tcId = 372\n# special case for DA - CB in multiplication by 6\nprivate = 10e20e4fda57084ca90f7ad572a78aa8e6575c659cd01f30c43c58040c20e860\npublic = 8b200dd226c5c0f7e116e5388ba162438caf1dddf4edc3b6ba838c21b5929737\nresult = valid\nshared = 78c9c3aff9416a538ce3ea8fa553244528d1fbecbcf91695a33ca464ef76b85a\n\n# tcId = 373\n# special case for DA - CB in multiplication by 6\nprivate = a8312df473adfec7171e1635f5bad44f0753a88a6b3174ec5ae762703ae25e60\npublic = 419a076b179f79720096eaabaf03477e8f89d61f885c8d7f58f6eaa4fa77df5f\nresult = acceptable\nshared = c1a96ccba08bdd82d0fc12e8cde4cc1f25cfd5276dce7f18e407ed0e4a898466\nflags = Twist\n\n# tcId = 374\n# special case for DA + CB in multiplication by 6\nprivate = 109697f400210f9a92de80a8bed264097199bc240e22767b54d8bb22050b7a61\npublic = aa34d772e9ace43c4d92f4f85596ab9ccd8c36c4f4cbddc819afe2a33cb8b216\nresult = valid\nshared = 2533b845bb83e3d48cffa8dbd1edd5d601778662d5da03759152a5e0a84b357d\n\n# tcId = 375\n# special case for DA + CB in multiplication by 6\nprivate = d036308a53c11bebcb02e83688ad74fec43f8462ef4d806272676637d99b3765\npublic = 1f06cfe464ccc0e27a5ec5f9edd9bc7bc822ad2ff5068ca5c963d20edd1a2d22\nresult = acceptable\nshared = eb40a3974b1b0310b1597d1f1f4101c08dca727455a9d8224cd061a7aa3cb628\nflags = Twist\n\n# tcId = 376\n# special case for DA + CB in multiplication by 6\nprivate = 786e5a5ff37405c769d0d3788c3c1b05a62a8442c385570e4438bc5f2eaacd67\npublic = 9d4b2ed7817132af5830e899627ea97dc39bd3772e82f2d05769a918273dc02e\nresult = valid\nshared = 9509757e289553cfa2cc71313473c3ff1eebce484ee237eae554fda3d3d22f0e\n\n# tcId = 377\n# special case for DA + CB in multiplication by 6\nprivate = c01f66cb094289d728421dd46c6f9718412e1c546dad70e586851be4da58bf67\npublic = 4e056b317a31dd96f8ec14b48474af587d195efcc2a70f01f052ef882d7b3a45\nresult = valid\nshared = bad9f7b27dac64b0fc980a41f1cefa50c5ca40c714296c0c4042095c2db60e11\n\n# tcId = 378\n# special case for DA + CB in multiplication by 6\nprivate = 3877d9ce25cededeb572604f2d123df685690c26e181f777ed33302b82082966\npublic = 72c60535e9c423f302d6a10796d954d778032cd4dbd40ca0f359e204d67b6f4c\nresult = valid\nshared = 51c359768ab0219003af193e2bdb8e5cc9f8e176b8db49e597afca3e7125e370\n\n# tcId = 379\n# special case for DA + CB in multiplication by 6\nprivate = 50b84618d073c4618f9aa69a3b8518da76dbb2127286", + "214fb43a2b44503b9969\npublic = 5856358ed420047cd084f17ae696bad79a4d26c6d5bb79bfb82bbc6332442d51\nresult = valid\nshared = fa9fb0df4cfbacd0fbf3262d3a1bf8d7aacb45f73bf94671775e509c8043df7d\n\n# tcId = 380\n# special case for DA + CB in multiplication by 6\nprivate = 109acfa638e112f6bbec21e352a74e8fc9b7ffe5d9dc28634eeb516e59830a63\npublic = c31e37b04332abca8315f317171566aef38111f622d8bffa29c23c0151cdad6e\nresult = acceptable\nshared = 91ac72b0ed8d7fc4c8846b8a2530d9fb8f0532064880c00dab100c977697db28\nflags = Twist\n\n# tcId = 381\n# special case for z_2 in multiplication by 6\nprivate = 685c0784aa6d194c1b859bda44c4e27cd1dfdf34776e498dd03d09f87ae68a65\npublic = b775e016b32a97f49971121906763f3a0b41689092b9583b6710cf7dee03a61c\nresult = acceptable\nshared = 11393bb548813e04fb54133edbe0626458e80981885e1fe5f3377e8ebe9afa52\nflags = Twist\n\n# tcId = 382\n# special case for z_2 in multiplication by 6\nprivate = 18e9a05a20436cf0dbc3d5b92dac8d996e62ea11fbb3445f29195fc75a8beb69\npublic = f8bd0e7cf6ec6186f205ab03ab72c8f6b3cde8f6ad9b166916a04d43d1d6d546\nresult = acceptable\nshared = 0a83a224fbfcbc5d0f07f6dd8ebb2e9bbee8134f0fab268002ce837f5495d833\nflags = Twist\n\n# tcId = 383\n# special case for z_2 in multiplication by 6\nprivate = 00e099eb23125dab5ec35a419d455d0ba8c01da160f9354e9fb21e6a55d55c64\npublic = 8dfee48ad8b367488ea4dafcf7086e305356a80901f87c720149a5f522337453\nresult = valid\nshared = 45dc39831f3471d7466bbe29c8142b1a6d6b00c47fea021be2ffc452d9046806\n\n# tcId = 384\n# special case for z_2 in multiplication by 6\nprivate = b0ca251e0dbae7324a6ca0c2c8d6a888edd12d1447d400a47bcba004b648716e\npublic = 8f68bfc57d792c322ebb27f44a37c1c93e7eb15c5d5fcedffc1de850487b3372\nresult = valid\nshared = a29005c6b9dbf1707dc2adce4506b55831e8675b7d2d54b0c1037741e3bc611b\n\n# tcId = 385\n# special case for D in multiplication by 6\nprivate = a8b64b8ed397773b8290425ca5c2f7c3e50fac7a4781bd4a54c133781c9a1360\npublic = ff0f15adeab334afeda3916785ddd38d252dce9876c2357b643b5dc2c06a3b1d\nresult = valid\nshared = 9f04e42c1b2f311d87e1470a4708bba25ac6ffd3f7b486f9b6b502ecbb2c004e\n\n# tcId = 386\n# special case for D in multiplication by 6\nprivate = d0cd0db51ff232afa0919d3106fcb3a8ae581ef12d09c877aa6f31ef74eed068\npublic = 1076fdc827f2550ee95ff9a15d044aedfac65b5e9ba809f62438ccea54637a29\nresult = valid\nshared = 688000bd60af375b4eeac4a7d0e0782c0e6188eabdc608b732f49b4d6ccab44f\n\n# tcId = 387\n# special case for D in multiplication by 6\nprivate = 204a3b5652854ff48e25cd385cabe6360f64ce44fea5621db1fa2f6e219f3063\npublic = ed1c82082b74cc2aaebf3dc772ba09557c0fc14139a8814fc5f9370bb8e98858\nresult = acceptable\nshared = e0a82f313046024b3cea93b98e2f8ecf228cbfab8ae10b10292c32feccff1603\nflags = Twist\n\n# tcId = 388\n# special case for D in multiplication by 6\nprivate = 88109b1d0e7bace44d41a15d5bcbcd36968c5b8b47c0a2c606b57c4a68cc5f66\npublic = 12e1589a34094af5f121c9bd3c1119f2b1f05264c573f667a748683c5633a47e\nresult = acceptable\nshared = 1fcc50333eb90706935f25b02f437bfd22b6b16cc375afff8a1aa7432fb86251\nflags = Twist\n\n# tcId = 389\n# special case for DA in multiplication by 6\nprivate = 5082e497c42979cdbfdd1b3b0653cfea6f2ceb7d07639ebf3541866bb60edb62\npublic = 151f54a8a899711757b3b118fc5501779d621d25227af53d0af00b7583ba8824\nresult = valid\nshared = fac30a74f4ca99f6cf233065e9acd826690cab364bf69320b58095783ed76e11\n\n# tcId = 390\n# special case for DA in multiplication by 6\nprivate = f85a8db44f9e56b11729f51682a9769fc504f93597cbe39444616b224532106e\npublic = a819c667ed466bd9a69ea0b38642ee8e53f40a50377b051eb590142dd27e3431\nresult = acceptable\nshared = 17f6543c4727e7f129ee82477655577635c125a20c3dc8ba206ca3cc4854ca6c\nflags = Twist\n\n# tcId = 391\n# special case for DA in multiplication by 6\nprivate = 505a076641fac398fc7d8c629937f42db559db5e12052ad366d46d7b20e95769\npublic = 40b053d056668982a1f550be95e16348e303945f53a3ac64491a9a56d4095b71\nresult = valid\nshared = 889a8d611e0a7da71475e7c93a2d7f6f7228c787a00ee5cf55474adc376ff762\n\n# tcId = 392\n# special case for DA in multiplication by 6\nprivate = e8db2bf1af5b8907420789c56e71414706aef0d9f6ffaed0c249c3b7ab14bf65\npublic = e7dd0549a765bbef34be2e8da18a1bc1b989a8b0614d358ebf38c12a9ca64079\nresult = acceptable\nshared = 37232fb397af27f5fb5ca493284ff1c5d25786b0d716c73b33aca8d42265f318\nflags = Twist\n\n# tcId = 393\n# special case for z_2 in multiplication by 7\nprivate = c006ab1762720882017d106b9a4675fdd47005657155c90ca61d4cbf7cc4f973\npublic = 1ee1b9a74604ac31c3db83280170e3811504fcc78c7626b5b2c07a99d80daa0a\nresult = valid\nshared = a1b30418436ba1908804ffcce1be2cdcf50c61a8e3938d95c790abdb786b8022\n\n# tcId = 394\n# special case for z_2 in multiplication by 7\nprivate = d071807d607953da432d8574d5f3f420676dafdbc6a285a36e1d737624d77c75\npublic = f226c2d6bd7831eda1b51ee5aec29443a507ef9f7a04e2340f349dbf14933844\nresult = acceptable\nshared = a5976fda89954a81e442107f9e416a2b4b481bbd4654ebc0c7b57a78b45b4979\nflags = Twist\n\n# tcId = 395\n# special case for z_2 in multiplication by 7\nprivate = 304b526f6fe994731980c0975529bca4d061017fbec56f6070d42678d3e11177\npublic = c5197312de3a7a3ee11b29873bae3fc8c85109c66784804f89435db210fcc24b\nresult = acceptable\nshared = 55b5b5eb38b127617ffe00056d84d35a5071d18783e3a82b5f4e131b1538b150\nflags = Twist\n\n# tcId = 396\n# special case for z_2 in multiplication by 7\nprivate = 982ddf2c035789379b8a58917d5c3c6c061b503b19a0028e01894c2eb371d079\npublic = 590ed0b879319c38a19962a5d216ff2bfaf33555518877969c20c054cbe43e56\nresult = acceptable\nshared = 0080e5b9985a960a832133812a7ab9951c6b2c75894deb3e35509190a6bdf457\nflags = Twist\n\n# tcId = 397\n# special case for z_2 in multiplication by 7\nprivate = 78cc3ec0687e3e53d9cec56b79d11bf049d173f127f5b40fae122a6d0016cd76\npublic = 7c5f0143a6682f60ccad16f21150c7bb5bc6f807254d08b353fc96ce07bceb6f\nresult = valid\nshared = 5241222226638c4bbbc98792cdbd74882ca2e08aa2edf313070425031009e925\n\n# tcId = 398\n# special case for BB in multiplication by 7\nprivate = c86fc76650cf3b58837aa0f0633560415241c6c4f8f293ba0222b7d6a3875773\npublic = 010850a0974d3e89c029d252b46f739548294c0f9a23183863f9455b9559c211\nresult = valid\nshared = 63788190b10d7451f5fc2b82c421151db4f3e22782e392da6d8d3aba2c344306\n\n# tcId = 399\n# special case for BB in multiplication by 7\nprivate = 888d51c0a2230369e5b65a814b3213dde2e62f2eb95d0971486b733e4f90c174\npublic = ad1dd82c23d6a0d5fe0f2a4561d1c16733a3e1e6afa6d902dd077dc43a961628\nresult = valid\nshared = e4b40974a166ac49ed831715c071c751752744b891465e6c45001855aacdc362\n\n# tcId = 400\n# special case for BB in multiplication by 7\nprivate = 68bed425d534315584d80f79da6eab9b7e6036b51fe62e1ad933e266640b4673\npublic = d0c0d6393c41f4d7e0d5e850b7716f401eda1e028a4ed4a05bea8bf81acfd930\nresult = valid\nshared = 514a4cd0676f1c3101c8c45c17ad416bd33e20a405544fc1a60449abb22fa104\n\n# tcId = 401\n# special case for E in multiplication by 7\nprivate = 98ff2856ef44b4fa14d86782ea793828bdf6f1ef9b669cac1aae338a7bb69376\npublic = 0f460100d88a1d316dff02d1b22ffb2e42d99d0b92474fc3ec7d62567d0cf112\nresult = acceptable\nshared = ed83e810ce5ff0868f8589623bb13478dec1c22326c92765ae5e48c84bbabb24\nflags = Twist\n\n# tcId = 402\n# special case for E in multiplication by 7\nprivate = b0cdbfdd98bd988d7c6a530455c51c57dd33fd2c7aee3961971bd3a31388fc71\npublic = 13756a411ff3ae0c39222dde0810f08c432463162d81ef061071249a48439e15\nresult = valid\nshared = ff94862117d3c6edc9dd5f4852fa8a589452b924ca8a75cb23b3d68dfed88c4b\n\n# tcId = 403\n# special case for E in multiplication by 7\nprivate = e0677644ed4935f01e052e9967302d0fb78ff22bb92fbae0605f3ee54e2f6878\npublic = 8fc1fae969a6185404db22749ef6d225de86773a4d1bf3857eb8fbbd829a1b47\nresult = valid\nshared = 1c94868bc8acb3137498209b2812feb53501389f5aa37fecbfd5cb54e1358e0e\n\n# tcId = 404\n# special case for E in multiplication by 7\nprivate = 887b61553843ca99ad1ca92253a6fe082b82494752513fd53ff6530f54c40572\npublic = 7bab0891ecb9e72a15771f0a4fff90547024206339c340b1a2fdb53bcfb86b59\nresult = valid\nshared = adbf3b439b16dbc653578f53374ed3a86f9c0bf1f736573349773bc3b8d60734\n\n# tcId = 405\n# special case for AA in multiplication by 7\nprivate = 00615e4697014fc12484ef53a1440206410a8df78caa0bfff82161db83fea574\npublic = 102e95eadca7c3c28e5d52336c857bad99ea246f299b06334f401276f49ca814\nresult = acceptable\nshared = 3952efb93573ae9ce2162d10e4b8c46435859f3f2778db89f72bc579e695cb51\nflags = Twist\n\n# tcId = 406\n# special case for AA in multiplicatio", + "n by 7\nprivate = 58175113550faad56458fb375a6cb3f05df2f6ff3c4ee09d4a6ba643e022d17a\npublic = 3548c16bf31afdcd445ad9bef0e60d7bd6195aa591ca8c82813cd7d446226720\nresult = acceptable\nshared = 96128f929fc03c1269d429f609a1a8acac7a758e3446a125ecf4a359a0e37b73\nflags = Twist\n\n# tcId = 407\n# special case for AA in multiplication by 7\nprivate = 009738e1e6efef9e2cad8b416fe90a098eb5cb0199f2df5218166c7b181ea079\npublic = ba74e766d44855ec93bd441aa41058a4c4ad2be63c639a3f9a87bde51eeaba20\nresult = valid\nshared = fec3e94cb5f316625b090c2c820828ce0f3ee431e8d6e12abccc7ef2bd0be81a\n\n# tcId = 408\n# special case for AA in multiplication by 7\nprivate = c82019159be792747a39f388ea48a8c568594e3383273e51100721b376e8ba73\npublic = 9a5a1d37e5010c356aa80afb347c3d613542ddfa0be7abb8e8cdcd6674411449\nresult = valid\nshared = 96903bac9dc60b6178d734890c25db4bed9ea4dbcf6fcbcdc90e6f5694c8b21c\n\n# tcId = 409\n# special case for AA in multiplication by 7\nprivate = 10ac9f8383262ef280faac1e4da15a7de4f2cb74af33b50e0d82dcb85d8bcb70\npublic = 630847e28274dbae5491210303c85a359074ee742957b0fc3c9ff55d9e019a50\nresult = valid\nshared = 50050d0ab1ddd2dd90c460ab8f09e1f80e37cae57d4231adae10c10a4a2b003e\n\n# tcId = 410\n# special case for AA in multiplication by 7\nprivate = b84c098382f6e37d510cc33e62ddc664e02c8bb6ed9ed0e5fa78cc099a26fe73\npublic = 11749b00a45067af2c7e7d50f8d178d5a9fedb8f1b69b239763885bc611b136c\nresult = valid\nshared = 9170c4c628d5fcfd0ec719cf6e1796dab0a69e46d6379fffa247d444a0056041\n\n# tcId = 411\n# special case for AA in multiplication by 7\nprivate = 78cde8930a1d81aef6601f71409728854987578b0f8349588c04adbe2c1f6e74\npublic = df1021d8f95950afde77c86ba5ee2f5876ef778376a7fdc7efb8dff0e4836e7b\nresult = valid\nshared = d7d2a82953f680cee0c81c4d00fe628ac530ce682eb7fb3b0af24f804a58ef5c\n\n# tcId = 412\n# special case for x_2 in multiplication by 7\nprivate = b0fe7b06b9950600b3a7ce1d7bb2a1d984194cc9d6c8964504c364dd5c875b74\npublic = 2743ba408d5f68c65324a485086a004b6bbf784cc9e8b1a7dbeb8c4b9414b018\nresult = acceptable\nshared = a6b97da989dccf730f122d455152328051c8ed9abc1815c19eec6501d6cfc77c\nflags = Twist\n\n# tcId = 413\n# special case for x_2 in multiplication by 7\nprivate = f0c9c3984854d5bd599d3819738a023eb795e93586dc0e5e29b1c870c612d178\npublic = cc275a2cdd9125e52f20ce2abad41f920afa5a643fb7f276ef416f761d689f1e\nresult = valid\nshared = b210e368729501d9f9b6ebefbebae38f195f91eaf2a5a3a49288bb615ff2216c\n\n# tcId = 414\n# special case for x_2 in multiplication by 7\nprivate = 906c2f12be89702db26fa7ee905ce36525d2dee4e96a879ca07da097a6aa5075\npublic = 4929543101ee7ae239059cd134c35d400e50d0821441351d0fa6c3d54efb342e\nresult = valid\nshared = b9e3796c58701ded4237c52994501cee14e18f2fb02b781a8400923484bd4a6c\n\n# tcId = 415\n# special case for x_2 in multiplication by 7\nprivate = f026031ea373e1d16e6e7e0357bc96bc093f4b6bb76a738cbb54fe6cfd2ea271\npublic = 1324e0368597b3181555bb5b2cc7b7ebba46931aeabb6f05ababd4240f0fb933\nresult = acceptable\nshared = 6dcdf8e86903b0caded124d8a7da18e623430ca869aaf267d31029d93de99e66\nflags = Twist\n\n# tcId = 416\n# special case for x_2 in multiplication by 7\nprivate = 703f4ac8667d77f9536045cf748f18d42345e39ccab10c18dde0f5170d307f73\npublic = c7f3842297d6941cac63d6f1bdaea0709437c82dbc9161fc1bae6c79d668eb44\nresult = acceptable\nshared = 385ddbf2505ebf537bf5e976b61a4b69d190ae965b7e4a81ae4e1c16b7148748\nflags = Twist\n\n# tcId = 417\n# special case for x_2 in multiplication by 7\nprivate = c8a96ae4e77271a0680dd24fcb09f9c5d3ee8316536eec7cc2276597e50fe37f\npublic = 1e4660ba865fb8085afd4692885d74237fa3bca5af4b84ba3de400f16a5ac45c\nresult = valid\nshared = 0fbaea73f9518795e026c1fc1079c3738aeb9ee9c8dc9761d65bbf8f94e30154\n\n# tcId = 418\n# special case for x_2 in multiplication by 7\nprivate = d0dde8eda38c3783442864c0cb46a0e9832dcf784c21268a21bed2cace87cd70\npublic = 2488bb6fadb79d46585ff01c160c5b4172799d92bd168edceb65cededc492762\nresult = acceptable\nshared = 510c64151e5d0737fc324bd15fb5d3966908751cd1a06954b556196655ee5540\nflags = Twist\n\n# tcId = 419\n# special case for x_2 in multiplication by 7\nprivate = c09cd47e1ce53604f14e4e13426c8f08962f556bcd81f8d75375b1507c6fda78\npublic = a0c1087811af1491171bc51691b8ca84716af36c4baa764ec536280cc1983d6d\nresult = acceptable\nshared = 23ef825e1c8e6e64428001a7463e32a9701c81cf78203e6ae753740c91570e6b\nflags = Twist\n\n# tcId = 420\n# special case for x_2 in multiplication by 7\nprivate = e09a5f74f318f02303857aa0208d76913d9e240a80549d12013118bad620597f\npublic = cc5c97934607d8b981bce1d6a232bb3aecc3001f698ae1ae84938fbf2861077b\nresult = acceptable\nshared = 0e55a7ec1a2ddbea1ac5981200812232f7f4c3a60ee3c9ab09f2163bd13da329\nflags = Twist\n\n# tcId = 421\n# special case for DA - CB in multiplication by 7\nprivate = 706cee5f9b357c03b2f1913294f6e4f0ca5a190a87d30268327d0cb6bdd5bc79\npublic = 238de7fcc8a3f194c3554c328efb1215d0640ac674b61a98ef934ec004cfd73b\nresult = acceptable\nshared = 0681036a0d27583ba6f2be7630613171a33fb8a6c8991c53b379999f0f15923b\nflags = Twist\n\n# tcId = 422\n# special case for DA - CB in multiplication by 7\nprivate = 40e300cb1ff260574f85b3f04aac478464a86e6203b3d4656418f4305157877b\npublic = ac9fd80a45da109fa2329390e5a951cfc03065d7bb4a7855826ccb22c3bfeb3d\nresult = valid\nshared = 67b88774f19bd1081d6f23656a135803e34ae1cdcae10818124a78569c299f42\n\n# tcId = 423\n# special case for DA - CB in multiplication by 7\nprivate = 882f78b4558b7faa835904c9235e32f300fc8b5ef0a718406a5c8520ca54d071\npublic = a45ab1dc2fa2c50718fb4985d9791401e8d2d34ffe3cd93cffb4e870cce5e855\nresult = valid\nshared = a512e864bd898a5ba6551adcebd836c6a78e7871728e1b8ee528d483af276104\n\n# tcId = 424\n# special case for DA - CB in multiplication by 7\nprivate = d8649b735590a17d0fc4c378fbf4c2f7d6600569b2e84cbe0ff7bcdbac0b5f71\npublic = 1761d3d50ba46b446655aa6a8d9b8b75aa5bb24a7953208d5b69fcc38f18ec7a\nresult = valid\nshared = 518b778cf5e976c60235abcf6211a18bad2a8e693ab261074c7fab43dbb5da27\n\n# tcId = 425\n# special case for D in multiplication by 8\nprivate = a8edec59ae6ba23813ec54d66df152e0626762b97d4b0c20e0dd8a5695d86e47\npublic = dc99ad0031463e4537c01e16629966d1b962c0b4e4872f067ca3c26ccc957001\nresult = acceptable\nshared = 6cfa935f24b031ff261a7cd3526660fd6b396c5c30e299575f6a322281191e03\nflags = Twist\n\n# tcId = 426\n# special case for D in multiplication by 8\nprivate = 1098723ffe567ea6dcc8d04ecc01efafeea0aee44e1c733be8b1e5d97c8b8041\npublic = b32750fd80d2d7c62c6b8e39670654baea5719a3e072e99507fd5bcb23898264\nresult = valid\nshared = c623e2d2083f18110a525f2b66d89ed82d313b6a2dd082f6b7a6e733134f5a06\n\n# tcId = 427\n# special case for D in multiplication by 8\nprivate = a0f20df98b49218ac832f26fa8c218a0d6872eb7aea07c1d43c9ff699b465b47\npublic = e7b3205777b375f1b1515a50a16a6067953ff221e12b4f416d74fb28c1c85865\nresult = acceptable\nshared = 388ea421650a8d837bad8904018195e99ef494c2d170b93ee721a67d2c108729\nflags = Twist\n\n# tcId = 428\n# special case for DA + CB in multiplication by 8\nprivate = 30473a77a98374f67d5bd43df231ce142916aea0d271e72333fa47dc441a0247\npublic = 21cc338d7869e5863349cc739c8a6946cfc797cb82fbf62dcd2154844b106003\nresult = valid\nshared = b9e5728b37435b1d339988f93267d59f3bd1c517851c5a258e74cb64aea73d2d\n\n# tcId = 429\n# special case for DA + CB in multiplication by 8\nprivate = d8657be3a30fc85fb2f3a68e92ace1b31b26e76e6bdb6727aea507cb7c10dc45\npublic = c34217c02072d7e2bca0454525030780cfb60215d7ca82dbec8f4a59034c5f43\nresult = valid\nshared = 20b67b205e22ce87fd44a8e8fd10a6d8890b9270b60e1c6a68b4aa78e6e37961\n\n# tcId = 430\n# special case for DA + CB in multiplication by 8\nprivate = 882f5578ae4a13d8f5af473bdde1709bf2e059df809ee05b505f34de857c3447\npublic = 8abb8cfd60c6f8a4d84d0750d3b40a4f846b30edf2052fef7df84142cd0d9e47\nresult = acceptable\nshared = 5faba645fc21f9421ebd35c69bdb1d85b46f95e3746ff7f4886bc280a9ab2522\nflags = Twist\n\n# tcId = 431\n# special case for DA + CB in multiplication by 8\nprivate = 98294db7cbf4958bfb3ed21d5d5c91e13cc8dc27b3c716c86f7167a4819f8741\npublic = 9fd7b49a08f206688d72db737df8e517aa7b764f5de7c9a2b1c3fcbaa985f64c\nresult = acceptable\nshared = 9cb8a0f4ad86a27b96ca61242eab198db2767d3862dd323e41368fcdcc5fab68\nflags = Twist\n\n# tcId = 432\n# special case for DA + CB in multiplication by 8\nprivate = 789bc4047ad81b9b6656eef298b766e8763a2f8ea64e374a603dc1fdf2eee146\npublic = c4fefac7acd448e8fd4d6ac4f5dd1bc21f2c67d638444060918fb344aa77e757\nresult = acceptable\nshared = 4b42fc", + "f84b51b2b82f1f70b3cf49bd9dc6ab2672920a8de37e81ba7e99acf734\nflags = Twist\n\n# tcId = 433\n# special case for DA + CB in multiplication by 8\nprivate = 801ffe4e0f6eeb8a50c8fe79663ff585f9d6aebcfbf4b7edc676c693900cb141\npublic = a8341deecc0be6db11401ef7f884ac3ade35650cc21f14b5cdb0a5cf0ee6b15a\nresult = valid\nshared = e55fc931669bd02d1c64689eda62648212b1078c43b5caf97cf9763ff87a3455\n\n# tcId = 434\n# special case for DA + CB in multiplication by 8\nprivate = e04e412383a63b338b70e1be5fd75995350321dee428aa4f3ba62a50a3b0de44\npublic = 55a0e6631a52f29fb90a1777ccbc69ff94547459d541f72e8316e4d616535a67\nresult = valid\nshared = 87f7976a17f3e03a7f1eb74e6db950b8c0994f40b7903495599d227725809e01\n\n# tcId = 435\n# special case for DA + CB in multiplication by 8\nprivate = 382dbe9f10158bfbb7d1d79a35a7809214899a6b8572b35b55875d79bd2f1640\npublic = 7976d520f1a2512d564af41c68313f5351b0156d5118be4817f192798ae9777d\nresult = acceptable\nshared = 3bb3e30105a71901b115065e39bdb3e053d387b39027b12c92cdf4c638adf00d\nflags = Twist\n\n# tcId = 436\n# special case for AA in multiplication by 8\nprivate = 60c9af7f4d03136a6034ae52deadfd9d4f274ad8122812eb92a53169c8354141\npublic = a26a722f7ba71ccfc96ed8e108d7c9f842d17f92051ee7d429ea7fa7908ab907\nresult = valid\nshared = f5cb3a1b76185a29a6360b2142feebb11f3d08f4fd8d73df3a5228624a521c02\n\n# tcId = 437\n# special case for AA in multiplication by 8\nprivate = 283fae8bd8b294de2848056449751965abb5c7fa86ba4c2c5cdc3bb524dad140\npublic = ca3a2d96f5dda482b002324cbbdcf1dacc9815eab797c7151c3a88c75cded621\nresult = valid\nshared = b0b47868e70465ee2dd737f1ba5a6399e09cd813d72da7585ab45c946cc28d4d\n\n# tcId = 438\n# special case for AA in multiplication by 8\nprivate = 401539703ca4980db4ba42c59fc29e83b4189f2ddea53ba54ca966c06898a640\npublic = eebd858850b56febb707f27a7aad5ff5ab4b0e0c73b9c86ec4ca0f42e7f38e75\nresult = acceptable\nshared = 581e4b12b0f39a7cc42dee4513ecfdd20b595f905f17ad8c1fbf1b5cb2068b31\nflags = Twist\n\n# tcId = 439\n# special case for z_2 in multiplication by 8\nprivate = c8eb056286e098e6b2c79e42f007ebc6ab3705346cdbdace949b5de1e8c36743\npublic = c800bf799783275eb93312b43dc032ccdfb00a4b77c8b3772cd2fec8db7e4a09\nresult = valid\nshared = 6bf264532fc70a6a7e459f4579eca6b84f8f76ab85c3264b20bca725a6eb6c40\n\n# tcId = 440\n# special case for z_2 in multiplication by 8\nprivate = 487882956c49c69fd0e2d7277a24fb1dbe4b0365b36a13f63440248bca2fbb42\npublic = 7bbc504e04d134eedc13f06dfdfc69c518257a3f374040a49a8d21dac109110c\nresult = valid\nshared = 690305c9e192cd8a513f705b3f101ecdf3db1ea15a09c4a1bce3a8cdc3a1a93f\n\n# tcId = 441\n# special case for z_2 in multiplication by 8\nprivate = 9876010f4d64c77ffc4d7dccd72b9ac82078deb883609650b8cff8a686719d46\npublic = 132533db62aff4fa06e96314383bf58ebdec5183a19f2e4cb17552ae19a3366e\nresult = valid\nshared = c58591b33e490e4766ff7addff570ce4e89a98338015a55df3d2f232aea3fc4f\n\n# tcId = 442\n# special case for B in multiplication by 8\nprivate = a8a5d4f7894a519537babfac736de36054f508dae434b4fe63cd5633846a2647\npublic = ceb90c56508cf330c7f25bab42b05b5612a8310690107ac63a404c0ade788009\nresult = valid\nshared = 3d145851b6ff2b92b5807ed1df21eb50c9f24c4474d4721db3abb7356df7b764\n\n# tcId = 443\n# special case for B in multiplication by 8\nprivate = f83e4647e82c560aa082c59641e13bf366be8f24dc01d14801e67841160bed47\npublic = 66a09767a0d83bb18d404e1200375a745d1f1f749d5dc6f84a205efa6a11bc65\nresult = acceptable\nshared = 1401829aac4e64bcfa297a7effc60477090d3627a64a35b872ae055d2091785f\nflags = Twist\n\n# tcId = 444\n# special case for B in multiplication by 8\nprivate = 58c6b94bce9b15f64946c2aa6a4e383b0b2d4365b7997eb2310ac4eef1803145\npublic = 39d431316307c85747bd2bcf4f9e0f8892ee45df15f7806ce65147d97f503478\nresult = valid\nshared = a0ebe6908c5472f937769b9aeb313224437fc5d73f4f866fe7ef41f30e359e09\n\n# tcId = 445\n# special case for C in multiplication by 8\nprivate = 786a97207adbd4b0d6bfc9f49b18660ad3606c12e325044b8690b4fa07874641\npublic = 84c92d8ecf3d0cb22dde7d721f04140c2d9c179cc813ce6cf8db2dce6168880d\nresult = acceptable\nshared = 07538f1b6583041c4949fafae3349d62f9dd302d3d86857af0dedc0d5ad6741f\nflags = Twist\n\n# tcId = 446\n# special case for C in multiplication by 8\nprivate = 282310210e575a59393cf19bbe6e24752dc247706f1e0031e5d39b2de4fff745\npublic = a9cedb9e942a47221e4296953220d10007db327d2acb68da6ef3a4f877b8ef1e\nresult = acceptable\nshared = 1223505fbb534c1bc6108e6b98b4f0af29e11158c02d333d6559beecd6d3e558\nflags = Twist\n\n# tcId = 447\n# special case for C in multiplication by 8\nprivate = c8bf2fd4c40d00f1465aada682b12fa92dec10343484ab62b8871337de1d3345\npublic = 64e1c0c5f59405bbc6c7db41a3485cc9f91c183b0f2b7e1894a7abd8fbbeeb23\nresult = acceptable\nshared = ee031868165f456f75907bf39742b820e0f8e6df9f9768d757d408e1cc92ff7b\nflags = Twist\n\n# tcId = 448\n# special case for C in multiplication by 8\nprivate = c06a4a4b70f613136f18c0f88e2245086c3d1a52717210a21ac9d63682f2e740\npublic = a68d2f55e60eac7983926310f4fae13f95b2bbf140be5ea91751884d900ab44d\nresult = acceptable\nshared = c954fa7b042c32943e03191e367d54be0085fa8950ef2bec99620df79ecbea4b\nflags = Twist\n\n# tcId = 449\n# special case for x_2 in multiplication by 8\nprivate = 20596e1dc56596823d37698dfa699c79874aaefde797f863ef92135980fb2043\npublic = 6d3cd623f26a7453fa05a01ae758ba84d3c58d93d60ce32735a15e0d053d5b12\nresult = valid\nshared = 7c3219b3c1fae1f95590ac843efd2084a1f4bd3efa2f592f022032db64ebcd77\n\n# tcId = 450\n# special case for x_2 in multiplication by 8\nprivate = 38141518e8e5efa1d031c6c4d95480239f6c30b8ccd8c751a9e04bd3aec17342\npublic = 8f195547346b3d53b7ea4f742b22f1ef7b3cc01a7d3dcd19aa7c5b03f31bd214\nresult = acceptable\nshared = a31f6b249d64a87c4aed329c6c05c3f2240b3ca938ccdc920ba8016c1aeaeb45\nflags = Twist\n\n# tcId = 451\n# special case for x_2 in multiplication by 8\nprivate = 207147f2b68fef1efc10a04f988f0eb18b273b0b5ed17aa7af32c90480e19b43\npublic = ffc4fe2c2127a309c739565651e9812f834a86dbadbb78776977f786ecdb0217\nresult = acceptable\nshared = 4cff9f53ce82064882329a18ea4e4d0bc6d80a631c87c9e6fdc918f9c1bda34a\nflags = Twist\n\n# tcId = 452\n# special case for x_2 in multiplication by 8\nprivate = 488084537b840f9c93ca57b3ee80491418d44221113e03f56355302604d03547\npublic = 8475babeeab9980d426abd5323dfb335b219e129bddae4d6cebcda50754a6825\nresult = acceptable\nshared = 248d3d1a49b7d173eb080ab716ac8fde6bd1c3ed8e7fd5b448af21bcdc2c1616\nflags = Twist\n\n# tcId = 453\n# special case for x_2 in multiplication by 8\nprivate = 28cfc1d03f5c7428ff3e20b137268b33ccc74db03582d2127c566df4ac99f441\npublic = 81f90a2f6633d30c2b72a25795d2a49463a80b6b0edc5aa68bae4bf738185539\nresult = valid\nshared = 66c6e70cf630be90a2c88fcde7f58cff3868660fa96406e8df4ac677dbd85f50\n\n# tcId = 454\n# special case for x_2 in multiplication by 8\nprivate = c8e37d10f3d03db3f43e467bddf98f595cb529ad253c20d491282d1400b9e740\npublic = 41626e33b3c8f48bd19e49ded307f2b63bde705c4f3cdf9d4f92bf37c48cba42\nresult = valid\nshared = 06283fcf69dc83e99d92e5336f499a1d8fa75ed2c819b5ae6ea8094454324b27\n\n# tcId = 455\n# special case for x_2 in multiplication by 8\nprivate = 00237e91406a7b4db61e780c5976fbb926cdace2fbdfdbcfce65e6dbe7782a42\npublic = ebb32f781c0e89b252e611f9d8f79f8567874c966598314b2f16aa44cfc07843\nresult = valid\nshared = 7d2affb43355f5db1294daff55f59b1f17e7d25bca20746f12484d78e5015517\n\n# tcId = 456\n# special case for x_2 in multiplication by 8\nprivate = 489c4184a23a8f5eec68a31b41aa2c0392cd6fb123f10acdb4de75292b4b9a43\npublic = fa75e6f08ca815b4e42af24a8e057c9e00e828e33d12c0e94d1012a758336744\nresult = valid\nshared = ef8e78cab091d667888489fd3a2ec93fb633427d02eb77b328d556f2b2b0e266\n\n# tcId = 457\n# special case for x_2 in multiplication by 8\nprivate = c05957fbc3a0e2c22a2aef627651ca1e99307b82a0c6170f7950a334f3004941\npublic = 4d96320cdb0ca52655e91118c33f93afe4ae69e9e513ff4506750b8ea784ce46\nresult = acceptable\nshared = c8d85bfa74b4b26461297b350c975183fea9d33ba29c3a4934509c2ecda58a79\nflags = Twist\n\n# tcId = 458\n# special case for x_2 in multiplication by 8\nprivate = 60111c6629f73635985be964b845f87a88ae5652d45bb1451ce8cfd2ea45fe41\npublic = c0ef1b7c20237db370501f24274e4eba91998ae4545f937007e1c4a2eab63365\nresult = acceptable\nshared = 22557e0d8741ed2a63afd5e313aa1579fc0c88c7772e23a676c94b60c89df577\nflags = Twist\n\n# tcId = 459\n# special case for x_2 in multiplication by 8\nprivate = 58785889a216d15456582d4e1e3de9e9ca4a432954416d81caf52b2b434c1746\npublic = d534", + "d8ff4d56a73ef7615e94523b17e35edb3d0fb87e98c68536f63f114a8d6c\nresult = valid\nshared = 54d7fc17bad00296ba50b0f3d5bf8fb83f82d571952a5fdb5a494120cc61446b\n\n# tcId = 460\n# special case for x_2 in multiplication by 8\nprivate = 60bef38a3890ec1ed05c299fceb77db5ead4b88d9e931b0f21d664f77df9b544\npublic = 733a711ba01b6e9b64a0be4cdca8c7cf3c66df2435d5248fb4413fec6ee03f70\nresult = valid\nshared = db6851b12585bc11be9362c96a545c6f2ba55f04009792463b96a38cb9b3f07c\n\n# tcId = 461\n# special case for x_2 in multiplication by 8\nprivate = 5854ee566878ef8b7ebaf5a058306f250edf0c84fd52af2d74b7ce3c1edda746\npublic = 35738dd539d60f69cd1a1cffc8a42b6af68fe7de45392d02831e2a77500ea278\nresult = acceptable\nshared = f6d1a664257fa5de3d4d57f04eda2976bf1e35cc3ac513e1ee84d57d2135ed13\nflags = Twist\n\n# tcId = 462\n# special case for x_2 in multiplication by 8\nprivate = 985b551261fce38ddc8ff3add32f5c26811d271b9a1794e249dd76a38df28446\npublic = ce932b5af4be4721f96f7b79ba1c43b20687d4af49c37b58dc894279e04bb578\nresult = acceptable\nshared = f8f7625ac5bde63f753a9bb4aefbfb9c4647207708af9d774ef08ff1b1e5a354\nflags = Twist\n\n# tcId = 463\n# special case for E in multiplication by 8\nprivate = 8815052344dcad97efd1341e9072a808cf999e46e52cf04e0cfbcd9901e18d43\npublic = e3655448339e4850806eb58abba0c89185511ea72c37c49e9583ee6dd235d213\nresult = acceptable\nshared = 5e10dfbff4443efcae2ccc78c289a41460d5a82f79df726b8824ccbef7146d40\nflags = Twist\n\n# tcId = 464\n# special case for E in multiplication by 8\nprivate = b8e032e9e5ffbaa004390f3a0b900bc7cf5d11238b7ec964afc4bda2aa6c3444\npublic = 4d16965b1637e9d7ae8feb499ed0553962a9aa0022d1620c928072f6501bc41b\nresult = acceptable\nshared = 19d7b44c1847c44e8f37a22ab69c180fd9d787f204123013e1b16800b9cd0f57\nflags = Twist\n\n# tcId = 465\n# special case for E in multiplication by 8\nprivate = 7012852211f6536fca79937e7e316c9149b0e20ea03f951e1bb072895ca0e044\npublic = c6b9e6288737ad40452cec1022871d90af1642d10bd0a97792b1a9c8998e2220\nresult = valid\nshared = db990d979f4f22f766e7826d93554e771b361de461274d6c37baadeb8ef7be4e\n\n# tcId = 466\n# special case for E in multiplication by 8\nprivate = d039c1b9ec4763e0ad8a0ef2b0870297d0f8b487e660595a484105d180e14a47\npublic = d566fab505ac4c7a3dc3b9403ef121392cbbe21216e5bcb8eab2dc9408986e34\nresult = acceptable\nshared = 6d7fc5d4a8f534b1bc0fa5e078104234675c02664736957abdb27df6faf07c00\nflags = Twist\n\n# tcId = 467\n# special case for E in multiplication by 8\nprivate = 58efcbc8777c1b54f09c61a216efd427292eb12312dbb3b32bd45254a6683e47\npublic = 468d35ecfb6d9b7272523276cc5e13760519667f0e1e3888da4c56955fe91151\nresult = valid\nshared = 539c8d629ab51c2f3ea7278fd5f1c31b6c150a82fe3f786b93ffa159fd6d9316\n\n# tcId = 468\n# special case for E in multiplication by 8\nprivate = c8d73446026cd0ea795773c2eb7b16348cd5f228e352dbc77328c2d8b9cde240\npublic = 1929538743977dfea20bf4927ddabb2f3bb15cac2461054508849718854b5568\nresult = valid\nshared = dee3fd19c8f296415448b21af44385ec46727bbe67d4839b93efe2f680e76d34\n\n# tcId = 469\n# special case for E in multiplication by 8\nprivate = 98b559523bc778b0418af53c0c32f6ff5cf771ff5df8ae7cbf7c3b72aedb5b43\npublic = 2d7ab4c6f59865355ee8e9de57db19aadf7708b7c1d1a818487c340623badc6d\nresult = acceptable\nshared = 2a0340aaafa05d00529c09057ed0145f34d2de66a3e149cf084ea97168914f39\nflags = Twist\n\n# tcId = 470\n# special case for E in multiplication by 8\nprivate = 589815027caf82714e96c9f91bace66ec4ba3e92df3fa14b9b8fe503556e4543\npublic = 43839f4a6aa206c82c5a73f49d8c9e573826b3ba7235d312987c17aebee62776\nresult = valid\nshared = 00313717d33e3b41a0865986157582e053502a172b88d01bb7b10831a9fc4e6c\n\n# tcId = 471\n# special case for E in multiplication by 8\nprivate = 80715f67270c99789855ceaea99b9957ccda33326f76bb4474ab52ab1ec37041\npublic = 3c321e7f0b9e555bc264a2cea617e6b2b562ebab21fe0c226c3e487b7df9a27d\nresult = valid\nshared = 9b6be9e6f2fdb5d3321842225d3e91d14828cc53ba6654dabe190b0c3edeb309\n\n# tcId = 472\n# special case for DA - CB in multiplication by 8\nprivate = 101b990bd83d684126ff047d930c27d086a588dd19683d2629f0e34f4374ab41\npublic = 42e5a6b8e9654bb4ad624af3f491877977513cc8775c8fb312ad19dbf3903a28\nresult = acceptable\nshared = 223f1eb552308373026d11c954684ce6db870b638b190b9443e50aae219f4e3e\nflags = Twist\n\n# tcId = 473\n# special case for DA - CB in multiplication by 8\nprivate = 200089b712d9a2050597779d463712fcd223e3d67879c0fb7606f8f5f0efee40\npublic = 0a51dd90ab985f6deaf72f16c45014da26df848697f6582d75688f5223342b51\nresult = acceptable\nshared = fb95ce4a3c1f325638b7d47f4216d39a7c6c5da9a01caa297c37b62816555b2a\nflags = Twist\n\n# tcId = 474\n# special case for DA - CB in multiplication by 8\nprivate = f04f87f4e623af4c31ceca0bb87fac2d5b12517b5a7284902ad75838e65f1e41\npublic = 8842317357bde825ef438a1c53906fb8b04ea360f7ef338c78e668586047936a\nresult = valid\nshared = 488b8341c9cb1bbf124510b9f8dae4faf2e0dca9b84e00e952a63b5aa328a860\n\n# tcId = 475\n# special case for DA - CB in multiplication by 8\nprivate = 383cbd5a3dd0901d09a3cac3d3a77a979cecf15e206a553e4ca3f24b90783945\npublic = c71d92d3c92dbfaed755fb32797b667cc86b0e79362498e2aca38c689713b16e\nresult = valid\nshared = 1129eae97bf75f7314f2e1b403b18737ad830c80429e2ba0d4866b362399855f\n\n# tcId = 476\n# special case for DA - CB in multiplication by 8\nprivate = 701df09e57b98aec375745df147b72949a6b2bb2ca3a34881512ee31e790ad42\npublic = 3a21d1cf7b3744d1ad26197335844982c2a0c6a5aa835492bd03c401a4fe6778\nresult = valid\nshared = 072f51d94727f392d59dc7caff1f4460452352ec39c32a1c9f071e388833da56\n\n# tcId = 477\n# special case for CB in multiplication by 8\nprivate = b0ffa5f4922bb117ad75ff43acac62331efaa45536fe88306e4a4cb58db73a47\npublic = d128ea3e13325ed6ebd6533a9fd3045a55f25ad8b67def30912843504c1aab29\nresult = acceptable\nshared = 30512142d3e3a4cad6726d9d35f2e043fca9dfb750884ae22b2547c840f3587b\nflags = Twist\n\n# tcId = 478\n# special case for CB in multiplication by 8\nprivate = 685e3271d2015741756612a930e858b930acf2018145f382c83d8cced2e22044\npublic = e079c8f8423165c7e0a2c48b4abe90aece4e6d903d7a5a1625fad0410cd55b32\nresult = acceptable\nshared = 5b81b3761a66d199e8ef99d2494bd57a0229d4564a7f6d6055f22aa48681bd3a\nflags = Twist\n\n# tcId = 479\n# special case for BB in multiplication by 8\nprivate = f8e161d69297e017d7c51b1b1ff3ba703d4c4cf8fc2b8ff47f74c3ff8c7d3541\npublic = 65922a06e9be4e8a5e8aceb1a4e08fe90f01e10ef2dd27315427cedfcf95ec32\nresult = valid\nshared = 038de7fdb9cc0030f5c11dda00589f0a95f65658815b06ed013553a02b6c5017\n\n# tcId = 480\n# special case for BB in multiplication by 8\nprivate = 105d7589f8abef0acf0940da84a69e8f2f306fa73c9afd27342287c1dba80044\npublic = d36a240e972dc16e9b97a997ada337f02760d05c46d7f8d7b4e9ea9a635c7c64\nresult = valid\nshared = 22b0dea3b3b7ca55eceeaae6443426548c7c15cc7ddf31780318d1c23879c16a\n\n# tcId = 481\n# special case for BB in multiplication by 8\nprivate = 1893d4388b0e90f0b50208aa8f0cc24f576d03641baf1c3eddb2a3efa69c9d40\npublic = 4f5b8b9892b8a46df08d76a4745b1c58d4e7a394905435875688ca11f1e9d86a\nresult = acceptable\nshared = a25e1306684ad7870a31f0404566e8d28f2d83d4b9497822c57f8781b18fec20\nflags = Twist\n\n# tcId = 482\n# special case for BB in multiplication by 8\nprivate = 0065171301bf6b90fb16efa35509161f1bd6b3b93130d490af9fe224dd155f45\npublic = aa2f02628269139a7a8a16fde95c9bad7da7ffbd5439c396a7d77b6c3213e67f\nresult = acceptable\nshared = bb4431bea7a5871c1be27a2674094627eaaa4425c99cd3fa41bd7e13cbd7bf7e\nflags = Twist\n\n# tcId = 483\n# special case for A in multiplication by 8\nprivate = 10c81a4e78d82145b266e1d74b3869bf1c27427803ebb11c92ff8073d1e4cc46\npublic = d995cb287e9a9c5791f3cae3d494a5b516a1e26cbc930f43e73c8b70b69d783b\nresult = valid\nshared = 330f5d0b5bccc90f7694dfdd9c6449a62d93af8840eaf571e3e0610e0198b03f\n\n# tcId = 484\n# special case for A in multiplication by 8\nprivate = 48b98b4a99eadd73012c07fe5c4a0b9590ac55e821353b41d5f665e17188bc41\npublic = 479afb1e73dc77c3743e51e9ec0bcc61ce66ed084dc10bfa2794b4c3e4953769\nresult = acceptable\nshared = bdef00caa514b2f8ab1fb2241e83787a02601ecdff6cf166c4210f8c1ade4211\nflags = Twist\n\n# tcId = 485\n# special case for DA in multiplication by 8\nprivate = 1897678e38222a61fe105dc6643c1eb5940e8dbc73ed6c00f25a34328f43a641\npublic = 378eda41470b0f238a200f80809ad562ca41e62411a61feb7f7e9b752b554642\nresult = acceptable\nshared = bfd5b5acd2d89f213a26caf54062f9a24e6f6fd8ddd0cd2e5e47b7fea4a9c537\nflags = Twist\n\n# tcId = 486\n# special case for DA i", + "n multiplication by 8\nprivate = a898af8138e11ae45bbcefa737182a571885f92d515c32056c7cb0d7deac4741\npublic = 0cad7545ade2fd93fcae007c97648348f26d85829bdb7223a63eccb84e56d475\nresult = valid\nshared = c8085877800c175e949cdd88e196eb9c4841da2ac446dfed9085bda5bbec265d\n\n# tcId = 487\n# special case for AA in multiplication by 9\nprivate = b0bfef6ec095b5a1f93917d32f16a21d0462c1fde17446f5a590232d9c895f4a\npublic = 60f27ed0a27804ced237cf3c1cc776650fb320bae6d5acb564e97b56cba25210\nresult = valid\nshared = 4c300895827382a9d1079028bd6f694a7a12ddac9c76abac6fdf5d29457a3310\n\n# tcId = 488\n# special case for AA in multiplication by 9\nprivate = 60497d4464ed8823c50fbc6b68620826c4f629c1d9193058df6bf857c6aecc4b\npublic = f93a73270ac19194b8e4ffd02be4b1438525f84a76224688ea89a9dd6a1bd623\nresult = acceptable\nshared = 7285fbb3f76340a979ab6e288727a2113332cf933809b018b8739a796a09d00b\nflags = Twist\n\n# tcId = 489\n# special case for AA in multiplication by 9\nprivate = 08c6cbe03792a3829f06e8ad54c55db113236ac0dcc9ab6a9a6b10eed1041b48\npublic = cf80c30fcbfd535666ca1da499e2e99cc537063e2de19458fcf92f5ee34acf47\nresult = acceptable\nshared = dabc3bd49f19cf7071802e43c863ed0b1d93a841588098b98a0c581bf4fe0a11\nflags = Twist\n\n# tcId = 490\n# special case for AA in multiplication by 9\nprivate = 50044da3315dd082e9dfb6a1994aabb331f53e0d1c12633383b2a3c8678cfe4c\npublic = 698effe0ad42e15ee1f46fde6fc5074ffda183bcf1b2db8647f561ddd191dd60\nresult = valid\nshared = a61a3b150b4770532373676298c9a5da28adcc4365b06fe07c959ca80e477a57\n\n# tcId = 491\n# special case for AA in multiplication by 9\nprivate = 285640da7a48252e35ddce60c14addb73097fbc9ac2f87c8d2772ce89aa6be4d\npublic = bd1565b4a3f8515dff577be6dcb414511d3d4ec2de15e0bd45b28e9cc4caef60\nresult = valid\nshared = 916ab4f3bfc8321e1087d9c5444f8f7a43e9ca6d29e7ba98a19dc05fff34ed4c\n\n# tcId = 492\n# special case for AA in multiplication by 9\nprivate = 783271c21199ba2e94ead92cd9dd79f70aab378b59497455d327a5907dafcb4a\npublic = b8649e13843f80cf5702398e4a9a8c378f29da96dfd6579f1eb4f7ea34df6765\nresult = acceptable\nshared = 844a5dd5139554ca7b41cbe6a4796193912e7aa4e201cc68944ce2a55774a10f\nflags = Twist\n\n# tcId = 493\n# special case for AA in multiplication by 9\nprivate = d0676a0b9a046c62d5b2e740d9cc43fa37965dea93c23254f7bf569f2bebaa4a\npublic = c396938737abdf791e09a97eba577c437d9b67c2dae94e13eab7296ec0fc737e\nresult = valid\nshared = 10780333b2a6170136265bb5ebc6c818817f2e48ae372528c8f34433fdd6215a\n\n# tcId = 494\n# special case for DA - CB in multiplication by 9\nprivate = 608c84d2b76fccda579e974db3d3b2ce39a6bc0dad440599db22411b60467849\npublic = 557b825012d98f065bb95a2ab9b2d2d8b83fd2037912508c263f86d7e36c4f24\nresult = acceptable\nshared = 5ce84842dbae8b795b3d545343558045508f271383bfb3dd3943f4101398c864\nflags = Twist\n\n# tcId = 495\n# special case for z_2 in multiplication by 9\nprivate = 80f233936a8821936d39114c84d929e79760b27680779e5009e1709410dd8e4f\npublic = ae98296d4a2fbcbb40b472f4063231608bb1465c226c8a4a2dff29afd915882a\nresult = valid\nshared = 4f11aa0c313195f96f25cadcbf49f06a932d8b051879ea537d1c6dfee7f36d35\n\n# tcId = 496\n# special case for z_2 in multiplication by 9\nprivate = c8d80b1a34f21194f047a6f0328bb947e2e7aff6a043553aa07f2abf99aaf048\npublic = 8b9d249829fbe81333d85050da88998f63fac665679e27dbbe21b745dd14e145\nresult = valid\nshared = 1d619070bf5626064be10025e74e336c81ef3166b743f99c751fb90587c31d7e\n\n# tcId = 497\n# special case for z_2 in multiplication by 9\nprivate = 9021477b452361580059364c6f94f4981ee94ea3f9b7d37439bc82ae45816f4d\npublic = 61896093e2697c78230afdda12639cbe4342827b8d2b093281f148eb60b9034b\nresult = valid\nshared = 532e797861db56b9d5db8825fb72f8629c2422f8abea721ad2d7b9e77a95b576\n\n# tcId = 498\n# special case for z_2 in multiplication by 9\nprivate = 6079dae04c40a59ea4e0c8c17092e4c85ea9133d143307363487836df4e30349\npublic = ccc1dc186229dba9a9360a0f7ff00247a3732625acaacd18ea13a9a8b40fac4f\nresult = acceptable\nshared = 4f678b64fd1f85cbbd5f7e7f3c8ac95ec7500e102e9006d6d42f48fb2473ab02\nflags = Twist\n\n# tcId = 499\n# special case for z_2 in multiplication by 9\nprivate = 281db6a5ac9a47d4a7b2b91a87f6536ce62d4e5129b8d647b97f9c504014894c\npublic = 69e368c0b7e78eb9f3a53bf458f6e79dc4883bf9458f04a8c12c4ddd94d62151\nresult = valid\nshared = e069fd06702f10f33adb8cf0766880634865b510e2da409241fb5f178050514a\n\n# tcId = 500\n# special case for z_2 in multiplication by 9\nprivate = d830f3c4785829a0f945857e0e85e0ae723702b57783b933cd2a2ad05484fe49\npublic = f21f9badd98dd8a103cc2ab5484fac6c2bfdd2671ee6e674134a86b89cee9160\nresult = valid\nshared = fee218eb1f92864486e83c1731f04bb8c7e6d7143e3915bcbf80fe03ff69dc77\n\n# tcId = 501\n# special case for E in multiplication by 9\nprivate = 10230bd0721f4c8c4b921881dd88c603af501ee80e2102f8acc30cf8b2acd349\npublic = e853062b2d6f38d021d645163ea208d0e193a479f11f99971b98e21188fd0b2c\nresult = acceptable\nshared = 64bdfa0207a174ca17eeba8df74d79b25f54510e6174923034a4d6ee0c167e7b\nflags = Twist\n\n# tcId = 502\n# special case for E in multiplication by 9\nprivate = f0a34d6d76896e17cb8f66feda23115ffb96f246b823bb63dec08335787de74c\npublic = 362eb92dab9fb29f7ed0e03843dcc15797928c2b4e51ec260204179c1c12945f\nresult = valid\nshared = d7f4583ee4fe86af3a3f1dfcb295ba3a3e37bced7b9c6f000a95336530318902\n\n# tcId = 503\n# special case for E in multiplication by 9\nprivate = 9073c1d0a173c7ff02dc966a165993d9c4c9357514f7a6bb7aaa4b0827718948\npublic = ff543f1e81996e88631f030ceba7e603b13033efd205e68bd36b28468134aa73\nresult = acceptable\nshared = c1b5e5f4401c98fa14eba8aafae30a641bfd8fb132be03413f3bf29290d49e0b\nflags = Twist\n\n# tcId = 504\n# special case for x_2 in multiplication by 9\nprivate = b0c1822566e016c12ae35ec035edd09af3cb7a48f55c9028e05e1178a8c3824e\npublic = 90ef70844ead1613f69df7d78c057813f866c0d95e6d22caee4a012b9c1c4b33\nresult = valid\nshared = 9369ebb3d2b744341cba77302719a4b2d63aff612872f86d9877a76bc919ca1c\n\n# tcId = 505\n# special case for x_2 in multiplication by 9\nprivate = e06fe64e2117796f997bbcd3bcad3067cf1291640a3a643fb359809a4016834d\npublic = 88c1ae575ad073dda66c6eacb7b7f436e1f8ad72a0db5c04e5660b7b719e4c4b\nresult = acceptable\nshared = 335394be9c154901c0b4063300001804b1cd01b27fa562e44f3302168837166e\nflags = Twist\n\n# tcId = 506\n# special case for x_2 in multiplication by 9\nprivate = 707ee81f113a244c9d87608b12158c50f9ac1f2c8948d170ad16ab0ad866d74b\npublic = dcffc4c1e1fba5fda9d5c98421d99c257afa90921bc212a046d90f6683e8a467\nresult = acceptable\nshared = 7ecdd54c5e15f7b4061be2c30b5a4884a0256581f87df60d579a3345653eb641\nflags = Twist\n\n# tcId = 507\n# special case for BB in multiplication by 9\nprivate = 7089654baacbb65bd00cd8cb9de4680e748075e8842ca69d448fb50fea85e74e\npublic = 6c0044cd10578c5aff1ff4917b041b76c9a9ae23664eb8cf978bd7aa192cf249\nresult = valid\nshared = 0d8c21fa800ee63ce5e473d4c2975495062d8afa655091122cb41799d374594f\n\n# tcId = 508\n# special case for BB in multiplication by 9\nprivate = 8089784c52cd67e4536e568218c7b7033b28413f942fca24ed69e43496efa14b\npublic = d9089de902e143dcd9107e5a3393a3f7fe05d926c357b47e307a236cb590fd64\nresult = valid\nshared = db6fec44bf118316a6bdfbae9af447baede4d82daa16bed596ea6f05d4a51400\n\n# tcId = 509\n# special case for BB in multiplication by 9\nprivate = 00e73e4e013148b9f05273bad626bb126a40ec4558f5425096b48947e0a9de4a\npublic = 8c4a26aa319c2cc4a4158c2bc69a0d5b340b60628a14cf31bb0ae5ddc38ae866\nresult = valid\nshared = ecc1204bc753c4cec4c9059fd7b504944ebf995ab1b1d49f0b3b325353be3a15\n\n# tcId = 510\n# special case for BB in multiplication by 9\nprivate = 78ed4c9bf9f44db8d93388985191ecf59226b9c1205fe7e762c327581c75884e\npublic = ce7295d1227c9062aab9cf02fc5671fb81632e725367f131d4122824a6132d68\nresult = valid\nshared = 3740de297ff0122067951e8985247123440e0f27171da99e263d5b4450f59f3d\n\n# tcId = 511\n# private key == -1 (mod order)\nprivate = a023cdd083ef5bb82f10d62e59e15a6800000000000000000000000000000050\npublic = 6c05871352a451dbe182ed5e6ba554f2034456ffe041a054ff9cc56b8e946376\nresult = valid\nshared = 6c05871352a451dbe182ed5e6ba554f2034456ffe041a054ff9cc56b8e946376\n\n# tcId = 512\n# private key == 1 (mod order) on twist\nprivate = 58083dd261ad91eff952322ec824c682ffffffffffffffffffffffffffffff5f\npublic = 2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035\nresult = acceptable\nshared = 2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035\nflags = Twist\n\n# tcId = 513\n# special cas", + "e private key\nprivate = 4855555555555555555555555555555555555555555555555555555555555555\npublic = 3e3e7708ef72a6dd78d858025089765b1c30a19715ac19e8d917067d208e0666\nresult = valid\nshared = 63ef7d1c586476ec78bb7f747e321e01102166bf967a9ea9ba9741f49d439510\n\n# tcId = 514\n# special case private key\nprivate = 4855555555555555555555555555555555555555555555555555555555555555\npublic = 9f40bb30f68ab67b1c4b8b664982fdab04ff385cd850deac732f7fb705e6013a\nresult = valid\nshared = 8b98ef4d6bf30df7f88e58d51505d37ed6845a969fe598747c033dcd08014065\n\n# tcId = 515\n# special case private key\nprivate = 4855555555555555555555555555555555555555555555555555555555555555\npublic = be3b3edeffaf83c54ae526379b23dd79f1cb41446e3687fef347eb9b5f0dc308\nresult = valid\nshared = cfa83e098829fe82fd4c14355f70829015219942c01e2b85bdd9ac4889ec2921\n\n# tcId = 516\n# special case private key\nprivate = b8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6a\npublic = 3e3e7708ef72a6dd78d858025089765b1c30a19715ac19e8d917067d208e0666\nresult = valid\nshared = 4782036d6b136ca44a2fd7674d8afb0169943230ac8eab5160a212376c06d778\n\n# tcId = 517\n# special case private key\nprivate = b8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6a\npublic = 9f40bb30f68ab67b1c4b8b664982fdab04ff385cd850deac732f7fb705e6013a\nresult = valid\nshared = 65fc1e7453a3f8c7ebcd577ade4b8efe1035efc181ab3bdb2fcc7484cbcf1e4e\n\n# tcId = 518\n# special case private key\nprivate = b8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6a\npublic = be3b3edeffaf83c54ae526379b23dd79f1cb41446e3687fef347eb9b5f0dc308\nresult = valid\nshared = e3c649beae7cc4a0698d519a0a61932ee5493cbb590dbe14db0274cc8611f914\n\n", +}; +static const size_t kLen160 = 129059; + +static const char *kData160[] = { + "# Imported from Wycheproof's xchacha20_poly1305_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: XCHACHA20-POLY1305\n# Generator version: 0.8r12\n\n[ivSize = 192]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 1\n# draft-arciszewski-xchacha-02\naad = 50515253c0c1c2c3c4c5c6c7\nct = bd6d179d3e83d43b9576579493c0e939572a1700252bfaccbed2902c21396cbb731c7f1b0b4aa6440bf3a82f4eda7e39ae64c6708c54c216cb96b72e1213b4522f8c9ba40db5d945b11b69b982c1bb9e3f3fac2bc369488f76b2383565d3fff921f9664c97637da9768812f615c68b13b52e\niv = 404142434445464748494a4b4c4d4e4f5051525354555657\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e\nresult = valid\ntag = c0875924c1c7987947deafd8780acf49\n\n# tcId = 2\naad = \nct = \niv = 6a5e0c4617e07091b605a4de2c02dde117de2ebd53b23497\nkey = ab1562faea9f47af3ae1c3d6d030e3af230255dff3df583ced6fbbcbf9d606a9\nmsg = \nresult = valid\ntag = e2697ea6877aba39d9555a00e14db041\n\n# tcId = 3\naad = 8780fb400f94c55d\nct = \niv = 3ec3f7c45e687d75a895bf5e71809e7cdac32158bb48ec0d\nkey = d821dce9b890ea37ae1c89e7cb6aeae9371b8179add0d08f5494718322ae0071\nmsg = \nresult = valid\ntag = 966c22d655b9e56326024f028cf887ad\n\n# tcId = 4\naad = \nct = 45\niv = 05188738844ab90a8b11beef38eaec3e100d8f4f85ae7a41\nkey = 303ccb2e1567c3d9f629a5c632dbc62a9a82c525674f67988b31bd1dee990538\nmsg = 62\nresult = valid\ntag = d15734f984d749fa3f0550a70c43dddf\n\n# tcId = 5\naad = 6384f4714ff18c18\nct = b0\niv = cd78f4533c94648feacd5aef0291b00b454ee3dcdb76dcc8\nkey = 697c197c9e0023c8eee42ddf08c12c46718a436561b0c66d998c81879f7cb74c\nmsg = e1\nresult = valid\ntag = e5e35f5332f91bdd2d28e59d68a0b141\n\n# tcId = 6\naad = \nct = 5e03\niv = b60ca1ab736deebe4d9da78bc7cbbab91be14a2f884240b7\nkey = c11213bcff39a88b0e3ecc47b23acf6c3014e4708d80dcca162da7377b316ab3\nmsg = 57f9\nresult = valid\ntag = eed21c2cd3f395538d677602964ed578\n\n# tcId = 7\naad = 322f82a87ee82997\nct = b56a\niv = 4fd76cbf27cb387502a706461564e5a5c14e027d40bc6eef\nkey = b0f51b8227013464943370e926b6ed1c9fb45b5994af829ff3a9f998b77d822c\nmsg = ab8c\nresult = valid\ntag = edcafa2c9032aff695e427fc2a344767\n\n# tcId = 8\naad = \nct = 31a461\niv = 737e3e7699f788c4136938c0f65310684eacbb5f96ecd98d\nkey = 17afb080753f2aa0af0a7f4821f6ab2709a6b2b5b9f2f262910e3b27b82c6c1c\nmsg = 2af96a\nresult = valid\ntag = 2b745098b154bb90903b0240c3bc95e9\n\n# tcId = 9\naad = 9d53316bd2aa3e3d\nct = d41c02\niv = 1436f36466fce5db337a73ec18e269e6e985d91035128183\nkey = b720aea3df85fb3fb00583eddbebc5c545bcdcb7f6f2a94c1087950e16d68278\nmsg = 4799c4\nresult = valid\ntag = 8faa889d7f189cd9473e19200ef03920\n\n# tcId = 10\naad = \nct = a3b405bb\niv = 7c39999d498286d974d266b2f027a26d7fbcd330869d9f93\nkey = d7704e505826124ab02935e7349a4e13391e6dc020fee95cd30654cdc5d5f393\nmsg = c44efab6\nresult = valid\ntag = c50e2ddb97df1ee58561c97a7b746c24\n\n# tcId = 11\naad = 8e0ac97934605052\nct = 9406a621\niv = eb4e36c637d1908db2c2ae9c72cfbae50655cb5f6504c4b6\nkey = c70ef9ee59259019960c918bfc91237ed6786c73f2b62427e4cbd4d8096a1f03\nmsg = 2738c9d0\nresult = valid\ntag = 916b78ee04b20b8cd90f00b81bb8091c\n\n# tcId = 12\naad = \nct = 2a01d08fe2\niv = 49875536d4946af49288f36684e25ff35998d50be6bcfcc2\nkey = 7fac2a879ffddf5e36e04e3edcb8aa6be18a8326b28f76b15623307badc1ece2\nmsg = 2c4c38f435\nresult = valid\ntag = 9cbe5f3e782f57a33a45b1f4aeeeea6e\n\n# tcId = 13\naad = 5cbdd482f3429a27\nct = fb5daf8c6e\niv = 88ccb58d435ea760f19e1fa6172139a071c0c5143959a56c\nkey = 48f1389d9222a80898ca26b5cfef5dc82dfc0af7cf66ea1e01bc5279e7414247\nmsg = 945a1fd040\nresult = valid\ntag = ec1682b61957493c2eb758d7a2b7a179\n\n# tcId = 14\naad = \nct = 856c300cfceb\niv = 89c9806ad153b805f1bf5b50738319011d5fc070bb551ee1\nkey = 737cdaa2ce1e4740e75af4aaf68c0296c1607bde871d2452e628f1456239c753\nmsg = fae858dd3150\nresult = valid\ntag = aaa9875ebd42a11d12cf0aca26021f4a\n\n# tcId = 15\naad = 71b29930f84a572d\nct = 6438fc8f8788\niv = 5cbdc34772b54fb4fba9eca1e2745e0e3704d9d7b5c78fb4\nkey = 9f7cd632bd5eb5f017b898590d645571ef56e521024eda36eff893a6ad04b935\nmsg = 53abb8943ada\nresult = valid\ntag = af05a4def2ad39a195a7b8c222050111\n\n# tcId = 16\naad = \nct = 843f1039531fe1\niv = a020b016d952a5948a3d226bb1b73efc39d46845f3bf0ca5\nkey = ecf60cd2af8c7155c0be848ecdaa5baddad6bd5f254a2d98f47bef83999f60ee\nmsg = ea30907da57d78\nresult = valid\ntag = efd99acdab540690ec91a7ad5697cb33\n\n# tcId = 17\naad = 0c87cc97c49e166a\nct = f99f3fb49ec920\niv = b1f05bb66d29bcddf7412f6a556ff7540aac452457dd69e6\nkey = a9376583c47176728d7b2ed1039f0b12b2c7a97563937f7fe976ce4548f7cb00\nmsg = 4a3d9926dc9757\nresult = valid\ntag = 91c3356ee6601ae7073673d2ef30293b\n\n# tcId = 18\naad = \nct = 5b596bab0890286e\niv = f4f3484cacdce37cf5134a12f57903096acd3553607eb682\nkey = bf9ae8ceceb8d3001da7652c4cec02adda8696294a4ab542b41b5ba86c096a75\nmsg = 6eb5e11b358c0ab1\nresult = valid\ntag = d4474d9520f7178e9811f624209721ea\n\n# tcId = 19\naad = 06947c3afa797e99\nct = 80c8e9ac2cec97ce\niv = cc4781134455e89c836f7433bd0426776f945d82f6358276\nkey = d447796ed4ceb2e43942700e7759e335f67afa8653748db95f924c94488195db\nmsg = 77c46ada19c81849\nresult = valid\ntag = 9b62dcc8076098affcb6e7995aaa99a6\n\n# tcId = 20\naad = \nct = 37d696264f781338c9\niv = 200a30270bc911dd3b8a8ea2a6e6ce75be9cfb0f5431db3d\nkey = 08eb57d7bc113f7fbdda1b32237cdd06cccd52ef4a89a831c5e0564370c885ad\nmsg = 704df23a31893799ee\nresult = valid\ntag = 5fddaf74438159acc3c5667b5e84af13\n\n# tcId = 21\naad = 00fc4f61d9777504\nct = a55cbb308f81e449e9\niv = a613e0b17fafb47c79614d39959b986ba2c97b0215676d41\nkey = 9f093b6bb75f1609ab1e00a4bf4667961d885f01deb6520c5bb16ec21e033766\nmsg = 472578ece9fe828dc6\nresult = valid\ntag = 8174bd595da1be72cc226e74c46a4af5\n\n# tcId = 22\naad = \nct = 8bd51b64fcd244f0b3aa\niv = 21b40036745f64b2aab3e89665cf4dab2b690d88721fe9a3\nkey = e421bb3269130c731d1947e7b5d233c11d195ceed1d08634743db9c252bfefa5\nmsg = 1155c7f0ee3e1faa641e\nresult = valid\ntag = dbdd1558934b83ae4393ade73e9edadb\n\n# tcId = 23\naad = e7c9d1dda90b699e\nct = e5aad5c055dc6df73cf0\niv = 33dfa71a0cb2aca008e4c8e8a72dbda4c407bbadd5d7e1a5\nkey = 8a275c90eb8688c5d9e82b74331cf104a2c8757d6257079b1d8035bb40d6a8d9\nmsg = 3c2da491f244acfbd1dc\nresult = valid\ntag = 96fc30292cc8381c345d5f2964ba5626\n\n# tcId = 24\naad = \nct = 2a41cc14a6a65bbb153758\niv = 5a44801d2baabfe8cbee6da52bb51b5297856065fbf33944\nkey = 2d97a35e4b6617e5f4a0f50dcda7622f321cad936a246d9beada9d75e142ef3d\nmsg = b94df0d444dac848ffcad4\nresult = valid\ntag = 1044cd75f2e61cbecbf3a7a77c13ef01\n\n# tcId = 25\naad = d78dcb5431ef5669\nct = 5b3193405830b6840a4474\niv = 07590877a1e1df3a78fe4d04dd64b6cb79f1df45de17685b\nkey = 70d11ca92903865c6a6d8ba497f5a2d65f23b72198d7fc7fdaeda6c2632f7e46\nmsg = f61bb0dd66e5905f1a7ea1\nresult = valid\ntag = 4b10bef8e8a3c2e6ae87fb8fb2a8bdd5\n\n# tcId = 26\naad = \nct = 528dfb79ea182945f13bafb7\niv = 94f86b0fd8a6ed90d3780eca23a82f4387da82b0894ae317\nkey = 05c7317f07a0e89ce1b5ac41df8064faa9fd569ee1c357cd01a2872076477ac5\nmsg = b63e50c9bcd01406b6f78f86\nresult = valid\ntag = 4fc22f4491449bb4ffe6a1eb266e2a91\n\n# tcId = 27\naad = a67a57310055b193\nct = 2345bfc502f9c62d64ad87f9\niv = 829cb09e40c2cc5f7648adc177e56ef53a58bfa16a859338\nkey = 924aafdb5b8a206b3e49aefe8944918cdcc8ccb5bb4b8c4ee81b847aa6fa52a0\nmsg = 68576b935acaab8b33ab62e3\nresult = valid\ntag = 6736f095a28b887238f80dc562eaa25c\n\n# tcId = 28\naad = \nct = d1f725ace69f7899ef51c11dd3\niv = 016dac89c624a9d425ae377132421c37c4486895bef270f0\nkey = 332b7ec9bf4a983eb02af7efee8ffaf5627b66f29e3e4728f50894fe176788d8\nmsg = 8289397a58921bb3201b29c505\nresult = valid\ntag = 0d2858cc30497107a035929fdf2eb6af\n\n# tcId = 29\naad = 4dc711c827a6f626\nct = 6c0e9d31b8e45591726f4cfc63\niv = e8252b018f9e0c3fbd4a6ad0d06346302b8ed7dcb206c3ad\nkey = b75fd9dd7ecca4f3eab36c36a176530dd3ffc825c202613740311d11cd501804\nmsg = 9800f8b835c4ff490ebd764914\nresult = valid\ntag = 2ce700f1f3dc7d3f60607058ac3b817e\n\n# tcId = 30\naad = \nct = 23a49dbe4b699d481621d9fc2db6\niv = e698d39b3cec2634dbe035a55b8fce3b0041aabe4156f713\nkey = 2bddfb332f74ac31fcf91d652c7b41fbcb26a10f2792ecf8075478e645042f87\nmsg = 813974b924c7618c63070d0247f0\nresult = valid\ntag = ef2cfb8423ae6f9faaec81025e6e274b\n\n# tcId = 31\naad = 0b9df4ffd1c9ccbe\nct = 0596f5709407a62fffce84240346\niv = d025b0", + "188edc9c40a8d6fc807cead97749016c9016d62ea5\nkey = ea029c829c13a580b66aca21133a16933235c11c42905a640104a2ae9bb5cf82\nmsg = a67e672df18cfbe125b212d63ec8\nresult = valid\ntag = 893772def69053b0aaf3bf1c21144ebf\n\n# tcId = 32\naad = \nct = c5aa0caf82b963f1e9b84a789a77d3\niv = 9ce202557c11a57cb14e7e4bd7986f1cf6232196672d25ea\nkey = 1c838d9f68e687fbdddc6dff7f2e44b277bfeb316ae5d11b3e935889b48539d8\nmsg = 37905d98be9839e02923d119a88d56\nresult = valid\ntag = 59c3e2e43cc098ed413ece9d9a6fd47a\n\n# tcId = 33\naad = a2e44e165e7ca5f7\nct = f91d01453f568774115f75b5dad642\niv = ffdca5c51a0852ab18dd484af6664b63ab4097d303450837\nkey = 51a99f0646767fbc01d7736df0340191acfbb5ae0288ed6fff2d34f0ea31470f\nmsg = 93553954f0be4e24185601ce5c3c34\nresult = valid\ntag = 8fc36af6ae5ee3e05b38ed43598bbfcd\n\n# tcId = 34\naad = \nct = 732715c60018fb0ed55c14c1fa9a5273\niv = 25dc279923c1bcdaa7a36e7b884b51f62343abad71986037\nkey = 6a1f808358461e75072a054e2fc4e4c3e7f882c57920dda3278d0c860ca704e3\nmsg = f242209c67698ea32c2152f8785b7d82\nresult = valid\ntag = afe3c4f050bf001e1dfcb2313dd8edd2\n\n# tcId = 35\naad = 8981c7260d514ab6\nct = a7eb11bfaa0d1c2ce457598049399575\niv = c02c8c595064ac303b1be5df6ab43048856e97ae9962fb8f\nkey = 7fb18b56f3f5122585754a3b6c6a4e523036e66793db569c3e8e28032e916eb6\nmsg = 6e8c0bb3361908f5b33e059408651ae3\nresult = valid\ntag = 485a94f61aa5f47a3036e85a57effd2f\n\n# tcId = 36\naad = \nct = 0fd7386b41396e0558495c45cdba029062\niv = 9a61cf35aecbd40a65b35a64b516896f3de7f977b5c9901d\nkey = 3b11469dc670f5dfbe0aad7d15ee4862c92cb07842e5dcc48fa8e5fc817f1749\nmsg = 540731e4ba3e4e2fd623a1a13233736ee7\nresult = valid\ntag = 29f601a11f6a1072342c60b631de6085\n\n# tcId = 37\naad = 23230be73ba2a6fb\nct = 86d0fd1a325d501fe9efe83d3a3f62e346\niv = 6570889af7acab7f555337bdce05499e8eb0d8d3d1a77660\nkey = e6d9fc8a9e3fa6ecadd9faffbb6ff387aa96502e60adadab029a9146ee39de28\nmsg = deec95974eeef6e2b99739bed2f4a74771\nresult = valid\ntag = 1ed9a79616c787a8de2ff5cdac6af0c9\n\n# tcId = 38\naad = \nct = daea40da316b8e78254a737c57063c4ad8b7\niv = f3d84207ab5574e4bc74ae61b17ccaccc7c46eb3471e0e53\nkey = cbaa654cd4ad70ae96d3412680e60522807e9b887ec6dbfcd6e71e917e29ce62\nmsg = f55aaf5a55432c20fb782c552e5ae096eb23\nresult = valid\ntag = e13ff7a7e2c85b1abb5350134dfa7f9b\n\n# tcId = 39\naad = b6bea5c60f288109\nct = eef62d53545698255648a483708c9cc93937\niv = de1e034363b0daec9828159e7996faff33a5f63eb552eb5f\nkey = 5b51ea4943ce173baa53f84a6ef59cb1e25b794768508b8dd8dcbfbc1744c18a\nmsg = 953939dd7601f17071b2bf776e4b1ed629ce\nresult = valid\ntag = 182529b1d07dbcb4bd89b3c5e4c8fac9\n\n# tcId = 40\naad = \nct = 03dfbb3407a55ab0dbc451d0289de44acb5f33\niv = 74533cbe3ff9ec5a66604c88f5dae4d7efe4f604111f79fc\nkey = c5d3917ffb42b0508296cb245d468b04bbaa2c8c8c32e845415a911ea85f95f1\nmsg = 0afab6dbab51f929332d743ccfbb9f34877bc9\nresult = valid\ntag = a050def2e06a9ed3d10be180bafa636d\n\n# tcId = 41\naad = 880ac1004984fb3e\nct = 95a9bd7bf7e9836e5f8a75393c70da0d9b1d97\niv = 562f3b788783bbb72e465c9d04eb555f366c66de32356e7b\nkey = 77cbd62759966c03b4487ce7cb3fca652c30198cdc0de5d447256e979e041c87\nmsg = 0e677082f7dd9c56bd365310c15a18de78df6d\nresult = valid\ntag = f028003066f8902c5d74ca6bc526e346\n\n# tcId = 42\naad = \nct = 4ad85a75f1a975bbf3ee5302b71949036e3a2198\niv = 5fb9a00843c4b192bf6c3bc29451c237f30a607d3c637b85\nkey = 40e231268005ff28c36bd00167ea39131d262f3a591b0d1508c11b00ed04a0b6\nmsg = d34b950a1c4f2ae5c94a1fddd6574c5d9c0ab18f\nresult = valid\ntag = b82c05b09328949aa70bb537e871cd70\n\n# tcId = 43\naad = 043cd9069dbd8cb5\nct = dfca9d845c21093f43348a4f6e72e324e9673129\niv = 7ade1bc01148ac071bfbe9870fe2023a7769b92312f45e0a\nkey = d66e92c86712132b1e3f5ba3a4cd006b9de1fa444246d99ef02e5b190a73089d\nmsg = 1cf9f2a93cb056fa4222c5850872d9989bc8c185\nresult = valid\ntag = 9defc3de90d493be2a1945d11c569095\n\n# tcId = 44\naad = \nct = 74634f111539fac80bb29d76ba656e5af90fd37f8e\niv = 45ccb4a19073c79a4ac1e052d4664d0dd1c730a6a2e87fe8\nkey = 841404f7e07cdebeb48efd25a75444b6de170995cd460e38ff5930dc9cf5eba2\nmsg = 5d583f68421d00cd8d95896a091b9bb10b744c61c4\nresult = valid\ntag = c04ce25d27416ae5f181238acf9508bc\n\n# tcId = 45\naad = 91b46ee1f7a9361b\nct = 0c1afa5419abb32e479b181a6e51cd99eb041bc37d\niv = 89248df60acfa757945d12647a14cc5bc6508bb2b9e4999c\nkey = 77a812cdbce2b7327dbbaecf6f81340b0ac97589676939d1ff0e69c3373326a3\nmsg = 2573f8f0276ce3b2b38fb727575f376a2eeb305758\nresult = valid\ntag = 6c0b51ea2fc63841893216b03eb47be0\n\n# tcId = 46\naad = \nct = 59d9c3f18cbc59a3c04cdc6904cb860aae69a5485147\niv = ec272b052c33c84a611512a483c3fcec40501240eb7a42ee\nkey = f2f9bdba59206e8c31a3338213d6a46a40aee237f631906aff076fe2d29d3b85\nmsg = 408c4cac91b4bd3ce25c8971b1ed8adb20ed667f8393\nresult = valid\ntag = 63e55e220873e295a5b86543334b1715\n\n# tcId = 47\naad = 1bc37fc6729b401d\nct = d5a1f87dae98ab385d5d34626c295cca0ed6931635f4\niv = a131b4b0582be36dcce56beb036ec4fc31147efed7ff4718\nkey = d9aa0213bfac5ee89f9ef2c6f616d8f71c3725dafe7926504e18b141192c33b0\nmsg = 081280932efbce0a5500d76d41c7dd2ddbc3311dc0cd\nresult = valid\ntag = 25f2fa45c86c4cb0f02f99050e9d5ab7\n\n# tcId = 48\naad = \nct = 93034cdc9298d0086b8e8bbf3aea637484454015cf544d\niv = df72b7fe00eb070276ba1b0de6b17a6100fe0d660bf3c6c7\nkey = d7b0b278c5ede48da2db2f6ec6f8b23282d3c940bd1eb59f7102bf69c683298d\nmsg = 0f44c184d297c0a66467d54ac982f922b119d5b4c8b238\nresult = valid\ntag = b1e1dcf03663a995c6c14991b5558159\n\n# tcId = 49\naad = 04e0e991fb5a465e\nct = 83a8bbe26ad18129459f66f6dc771c653a3dbb88a00b11\niv = 0378f12d4891c68477d90f16f2ff59287c81922b73cec608\nkey = bd5040047cd7bd0bd1ca22164058a2901feb383c1ccba5c71c853f186d4e2b9e\nmsg = 29b7080f92c860ca4dd501f18b041c5cbc5c131783a720\nresult = valid\ntag = 791971c0f5ba2c8b7635924267c68f32\n\n# tcId = 50\naad = \nct = 1a0bc208b17fb629200e805da495db70c599ecb3c3b9cc94\niv = c9f5d4dfd5dd2276d68b25c6178d9ef2f38756df4be9d4b3\nkey = 3b96dbe28ee07208cdf703f1488f478134147363da1502249e025e0efe5cb663\nmsg = 8f37fd7e3e2f6563a9883d4adb92b5c37242a56b73a6fb7e\nresult = valid\ntag = 08b9477bc98543019ddaa7ae380f83dd\n\n# tcId = 51\naad = e1b2f309ce5fabe8\nct = e9dd13d48dd7258682311bfec967e1a1ebc562855f224f41\niv = 90b932e3464c8b66d3d2fec2bc9097289f147e05f18a9867\nkey = 53fc679ebe23b70714ab4ce6c8b0de5df656dca27177512654da31f6848dbe6b\nmsg = 8b0b4038c0eebea97fa1f93b7c2f3576898e7cdc9fd702d0\nresult = valid\ntag = d9038207dbfc82a9a9d507fe254d57c2\n\n# tcId = 52\naad = \nct = 666f807a6e5d0253fe1967d45efea42cf1f421789b7f48e0dc\niv = d758776af8d089ef14a075ddf683e6669ed8109fe5681833\nkey = 275ac60ffa734bf86601c951d0bd263b9651181c32f41fce90d59cb8d59da081\nmsg = 1fa3b565515a429f78fb36e93e048425ffb64bc9e9e68336b3\nresult = valid\ntag = 5d423636988dd257e5cbd40ee28ae94e\n\n# tcId = 53\naad = bbcbfa1779f4122c\nct = 369a80f75ad28fd05cb3c944e0a8c8b37ce65bbd1f6d4b355a\niv = 9628e46f25d08b206371449e7321d6bf5d811629e01ef32b\nkey = ec4d4b14860a36fe8afb2861c1376db8004cc2d37eb1ebb609343daf24bc39fb\nmsg = 201ec6c1d0675e818cb7a4e583ea1aa1afde1bbda1f0f549e1\nresult = valid\ntag = 3ca5005eda0b99d6566ac841340ad23a\n\n# tcId = 54\naad = \nct = b6faccf43dabd8965cb231fe96a2bdf2cb51e0b9afb6445c21eb\niv = ec3dae28ec71ceba5b97a933d30b9fb98a40d4c92e6f54ef\nkey = 53f9c2c335c1c5cde744e890f6bd291e4484925aaa036f1e74f0144603322648\nmsg = 00f4f6a8c09ecbff3e6e825ca676a5cb8373d4915ecaf5d317a1\nresult = valid\ntag = ee91b39d01a114f80a7c5e7e1a0b2868\n\n# tcId = 55\naad = a6d7d9034512781c\nct = c97a4ba644788bfdeeb0a5de228948902a57359879c82cf8ead9\niv = a7f4c26140ba7d8a884de794fb23a50c6647627fa85ef9f7\nkey = 9bb8bc991f01fb26df610032e1bf6ed0e2652629a6726aec9c23df4fefbdb594\nmsg = ebcb0777bd1c3385376270e543521e11f4bac00d0f9c0192581e\nresult = valid\ntag = bf51aa205497db895f008d828040150f\n\n# tcId = 56\naad = \nct = 28cf032caf586255ee3f3f70492d33458a7b42473b8e354d983dfd\niv = 7e4c8d0e24ab24f500053964774c92f808bafc42be0f6a34\nkey = 69b8b0846c47226dbb278f83082b75476e89a77444bfa06de69395f16c6eed01\nmsg = 3b406d4c07f2ef751ac701fe944b2392bd59fb0ee4b32e6cbf8958\nresult = valid\ntag = 58896a5d7618837701ed8dda9b18d82c\n\n# tcId = 57\naad = f5fa84749ff438f4\nct = be95d62d6acb3e5344f6b4ddbddfb45fa479c2d1577a42967dc0ad\niv = 26b2165f4b22415df4c052564b87d62c4c2c01df47c82cd8\nkey = aa6d2da8fe7ce3228f15e09ae8c7f3d1b0220679a3e0e13e7523060b5b8d09b6\nmsg = 92763e759a5c0b8c4d40d6398fa9e257900ff4b1f31000dbd9a15e\nresult = valid\ntag = 61ac094fefb1237c9d44ab7f4bbbf5f9\n\n# tcId = 58\naad = \nct = 2248e5332ed42c42fcb6a029e3d8f9f96cbc32d34fa5f302fabf1bf3\niv ", + "= b595d9204461e311915cc17df51a3bbfa55c3a98aafbbaee\nkey = 31b9e848dfd3dd1ec05410975190109f550ee6e5235f040ce6faf6c380fba49d\nmsg = 95272cdea7a15889059b4e1de058c869e1776384159539470b542ed8\nresult = valid\ntag = b777e88479292944c5d6ace1ffd24ac2\n\n# tcId = 59\naad = 96fc6284d7eeb53c\nct = b10f9fbd87f51ebeae1942b9afb59749987b1575babd8008b281a662\niv = bc101b6d01bda7e13d402aa0023f0507ab02aa58758cb6aa\nkey = da132c34b2291a15777d3ebda2ed0078028c215038c2410d822578dcc869ea8d\nmsg = 331f3d53965bfee2edb463c5b21751eb445289287fada2aedae99258\nresult = valid\ntag = 54ad4e664b86333223fca6869c501dc2\n\n# tcId = 60\naad = \nct = ffb587ec97c7d11ca75629f066881f6b2c392fa71b73fc4cb4559a645d\niv = 4adcd5ecf1506fe7a38adf5634b454bf90278c9ebffbac87\nkey = d7e5e9c008af44266c876fa6b02a453854703c1a4fd221573c382c8d512a982d\nmsg = f8b3ae84d6502d353d57c970da5f9bc53de7a5c6262ba7a7b2220d0ee1\nresult = valid\ntag = ec9db510c3bb11831c20684d82e45053\n\n# tcId = 61\naad = cec8c976f2e25979\nct = 5d3ce03a6f43eab32a91b6eb87666af14e5e28d98d23c49c56557497d5\niv = 055776b422138960f6631e3c58f3ba0688082747de4ae5f6\nkey = 1e72be02d7ebf3c78b400efd005f5b6b983ede08443541475808d43e6d30eab8\nmsg = f2654733ca29af4bb29347f7a6508ed87913e0faa885505928ac1ee86e\nresult = valid\ntag = b324b10851d159bd3822705a9d638038\n\n# tcId = 62\naad = \nct = aa6edcb0f49535b2d2fa2e5f0b29343ba0c9c1667c401c78a3a8b8a61ad2\niv = cb52ad5674aff0762ef49fb3bed4722dcef2bcbc4f3c316a\nkey = 98362eff7af1e38d3d77d4a013bb6bf3fb3690568bf897651c578b21572fd37e\nmsg = a40610eaf3a823c06936293473ca36a2952d0eb5e5bbc18be123a07f8bc8\nresult = valid\ntag = 98d5e90a5a64e411c98d7c9e91557f5c\n\n# tcId = 63\naad = f5203e702570c4b1\nct = 3d1add00e51e60b16825272790ff47c0d533bfe65484d105ee7a69896c48\niv = f2f09c3469e2cf73b07620e461d7b1ad999c5f7d54867d21\nkey = 8f0e3dc43b86943ed4b0361fa5aa49999f24bc1e102bf3afb439e44f9ce43504\nmsg = dba4ed2a7938826c43548f6976d8f0ec1838fe71cc535b2a5d56e4d3d5ca\nresult = valid\ntag = a018e2629d5656920f1202e65624b056\n\n# tcId = 64\naad = \nct = 1ca6389e16c2f43e9e89447991d1472c8283a8dd94fdf61c4f5aee746cb537\niv = 17d6ff40ad135ac9df55fa5c0eaf03e5d91cdac63c684e8e\nkey = 16a376d68b3105262a07558e5e448ecdcbe075770cf60e7b7db1420f4fa4e36d\nmsg = bdb5500794edd38a398f18f83de03e16f135ea960d3b8c6578abc541aa1d03\nresult = valid\ntag = 33107bbbc06e563abf48979dbc7c66b6\n\n# tcId = 65\naad = 3fe9ad465d0aa3fa\nct = e8ae311bf2e80d696c543cd272d3e50dc968a0ab47259c461e0dec35f77530\niv = c306b69443bfdbedb5ce9f9bb6088132a88e8a175d3bd769\nkey = 8e1fb8cc57ca60ae091d27e292923272439c37f2dede36b2c2aaee96439d5a31\nmsg = 1d884a83a5f9b00b8951ef81778bd7c991cdc911127eee9dfeff82c48ca937\nresult = valid\ntag = 906de4c31eb2ce283eeb95388b0d83ce\n\n# tcId = 66\naad = \nct = d34c1778d105d0e80d429c86b879d52835cf8aebc5a04a9084cff1f9646e040a\niv = 0140f2791eb81fd4b69edf2d9ba4b2d62eab1d296741583f\nkey = 2ed460a56867ee1a2877a8f3d2d98fb886cfcc8913e31c3d08f42374ba37ebb1\nmsg = 318cc4bf151c3baaee5a783ec091ab618f2ecacf38c962ba9c32c323696cc94c\nresult = valid\ntag = ac8a68605a0567c559442342b764b964\n\n# tcId = 67\naad = 1264b91e71865033\nct = cc24cfa62063d11b2c31cf25ceb7308ca376feb1dd6bc102ed7db8ed46b06759\niv = 97438f178419732feaade58a5d5c21bed14d04c4add50465\nkey = b43328e39cc6f6e94ea601fbebadb4b41cfe6a52c3a4d5eeabaa9853db45ccb1\nmsg = 63cb5c20c9edf36757b795921437d3fd228af1fcdbb329505cbdde12afaf9f84\nresult = valid\ntag = dda7fc160e23f57e8392809f1e3b5ee8\n\n# tcId = 68\naad = \nct = 82be237be008228a8a9ff1a506d5b893cf9dcaa1dd33c0523b13582bcade4629ef\niv = daca1f50a4c0d9b77151c75f2e58ce404847d0aab493086d\nkey = 92b9b40c00480a50ee16a86349a46e37b02d5ba74d2e5a67eaf333e467fa0152\nmsg = c857f3c55da61d72563912a2534e01b6426ba41bf417c15b725086d31a1645c94d\nresult = valid\ntag = 723437af0b684b6e04024352206cbaf9\n\n# tcId = 69\naad = aaefd84240ade0ed\nct = ff98ead89d45d70f09b9e3f31f4ff56ae8b8cad1517294a8af3c962bad24a92efe\niv = ffcaddf85da09293c4352c81cbb5dd82e30b0f9e7623e92a\nkey = 5c271bac09a0454c83d158bcc9ec331ca92e62726903b7bb5799adff47d671ee\nmsg = 7c716a5b6cf0b8b0e1ff825ff9324bb5715b0d40af5338d5337f66de681932d423\nresult = valid\ntag = 4b8a06a1613737d0f8e3fb88184b23e4\n\n# tcId = 70\naad = \nct = d0e84c6450f348d887c49c4b44ac38721d4a1742e72095c330249c7348bade49dc776d449272e0f3dd5422c2a6ab18\niv = 64cc9f3cc334abce364cec9efe8ad54117ff0bbb03e3e8b9\nkey = c28403cce44ff256d055c2cbc84bb2d9773346e0d51bd38e80cebd861b03fa30\nmsg = f9e8f60b70044b03a189c26f1c8fd246239bc23f8adf0f88516f88d73d11c9290882bb6ad49d956b10c9f848180065\nresult = valid\ntag = 28c72dea441cffac2f7811286f8ea5dd\n\n# tcId = 71\naad = 7185f9cbf59d2095\nct = 4093dcbca1555835b78140fe7a3798a77bd97a01b0a7c1f7157fedb27c40d9d16cc3e935f649faf0dcf431636cd539\niv = 7b97c8b1c06b69b99220042ab2ac65b88d8b4294b76b4bd1\nkey = 7c72c748ea0010c90e1dfbde8e91edf6ead2474148cf234e0559dcd881cc3b2b\nmsg = 9a1f6c42a8a0f3032e8dfa36e0f5750479276866c920672a0454c41bfae5dd74fbf0fbcc8e6fbf4843f20d06440837\nresult = valid\ntag = c7c9133ff17a296c987d72885182874d\n\n# tcId = 72\naad = \nct = 764ab84b844b57b0564f63ec70ad12d81dc3a0e65233a9bf06d6b2c653787eb991bc37a885a04509690ab49fd8dedcabe3c346df9036d735de3bf73ab03f5ba7\niv = 8052acef0423bb07a6fbaf8f63039f1eaa2cdefc61b31b18\nkey = 7948151a374363d07dfb12869b7f90502f2de8117d3d72d5133b9b3e3dc78ef7\nmsg = 76e03034be5514561e99c32ab58901eabac0f67b40c366202ac8a08ee3f68c3b283c1adeefee6f5544330d4771e5148c5231ec27b3f3f9d81a3dca52e115e1b5\nresult = valid\ntag = 075248c91d1f246aebaa96c86627d18e\n\n# tcId = 73\naad = dc514d540551b9dc\nct = de03f775aee744e4148e008dfefa7156ce2a23a613d4d9cae99c3164f54a173f895a9466ef046c020179383d70c813e765f207860c79dcf627f17663ea76af20\niv = f357e3b3d3d5e4187e34da08afd4817635adde91b676da1d\nkey = 50a1b2b155150936609d45596e9175f3271be548574405f827593fc5a0578c3a\nmsg = e854b8531ace95c975a5b1497f3dec6d80b29ca673690411abe277bbfd29fa00133ee17570805c1c605452d648581be8db878e782f217b481b1268591593efc0\nresult = valid\ntag = b473a9f1d5312d556bd0b62d84bb0803\n\n# tcId = 74\naad = \nct = 98fc26e0cfd5a75b5bcd9e046e89c6e9dc5aaefdd5e8ea7e4d286dcdaca0fe6ae744d244678f91c9ccf6e294bd5586be671645ae87d3435836a5ab383b253602c25a6cc04353c076725b4fc4aff9b4dc9bd194fe92ef0a920f15d6b8fea9f19065\niv = 6d609141e3e4331f55344c1f5e6fad589b39ec1d12b9fbf0\nkey = 92570a01d2b6123b67055400c8a9b0cb948e32c9b8520758cd1abd73f83c8507\nmsg = e86fc97c194d37a5e1345d139fe82dd669b6350c435cb446fcbdcc90fe5859bb2ef1f69d930e29dc343b57dfd7ff3c382652939bbd1c978a790ed1dbe5ad1fcbe157925ab4335c649c2f80c19d541e9e7eb4feb64e596bc6d7df8aa3476e0a9f7e\nresult = valid\ntag = 03bb49593f116a30a8390f96380a9888\n\n# tcId = 75\naad = e40cb55a18f2885f\nct = 7042beb6e4f08e583752f23048e2f3433e0821423d72a7e531b86684b57b32c5bdcc11164db0b8516d7b463cf7f8b0e3ed8a7d584345934ef184e4f8fee31e126601f08558c725aaa23d38c8017b07adbf1e742128795b03458b581b8cd9100bd9\niv = 1a80def5bd8be8eef5f6643a5c1aed9947c3ee5ca0cb56df\nkey = 4a3bc8f5c4aab87c20772404a291c1d6d68eb12e5f3c82e582564d6300fc28c9\nmsg = 2b0815f7eb0a83b9617e4f0906e9179b600b0c822bfb56c5012103aecb4550a57099dcebae00b6c06f3537fb1550c78b249d00a4007d23b882cb5511fdd53482575554028e9db437b8224368ead730d157a64d5571c706cbd9c0d2b10b3b14c3e2\nresult = valid\ntag = b5e3df83f18cbc0bd99427b9a172bf1b\n\n# tcId = 76\naad = \nct = cf2e17f9d8c6562de6d3e8c8bc30ba2904cf5c3616d15ea77667186ee45f444ea264327dcf210b6735a39005b62529d557480ed0462e49d982cf5962e5ee6d8ccc388d5de102e676a55426ce5a873d2e84a2d841e7b30c7ab19035274886b3c5c979d065bdde9b0b9e466b22559e30a5a5abc4817312e15d2c0dcdd99d867361\niv = 3507ec4cd1a6c2eaf081ec32888e08839481f35b3b0f7872\nkey = 2e89767b15f18b855d04c0b6b47c1f8facc9a058e2194ad2ad901ef940ab54cb\nmsg = eff2e375228756f995b8ab52213177c4b7ca92bc81114f5c23aa64dd7eaff7b86ee2e674984c4b65bf4c5ff402e23902c005e05de25b3c6e8a64323aeafe04ec6cd1f6c851be39e55208d76476d3ed7100042eccb72cf1349ea101253b7a5a4a8677c1d6df5a54e9c24558e2d68c3f50acbd1ebbb4773884b0ff23d95a4ff60d\nresult = valid\ntag = c844d555bb43a83b4aa735b2aa1d566a\n\n# tcId = 77\naad = e2f0d2f16704527e\nct = 4f0e805a2b3f2e1bfe3c06c83f5c77b9c4e562514a78f9f2cbf3206f68f686923656885878087d17da261666e798649d74841753525875f425e82a4795fdf8dfb629a8b1d2faa5594557d62f421f4e6a5dbb9f8336875f2fe2e2a4a1d0084358d9583e6b6662895a07c924c0a7cdba07be8a020e1b8ef3a0b5d007ec47a8e8cf\niv = 0a5914f29abb1cb48dc686159f09480370477f6069018e18\nkey = 6357cd94e2d9503288eaf3abf9604b050d4a483350a828029baaa9cae184f075\nmsg = bb266ddea2f88c2f0fea7f0cf4a1a3336334", + "4fb49672b821f76863a9edaee638d75140d21d848efc475d3814911c8bb34202c4e7ae0de1a57cea6f3af7180be454d7bc6fa5c02a999dc71eba7d5553828c963c1b7c559afa2e30e788ef2d0b479d0da1f24fcda5548773e77abc716f498b08bfe69b1a7e4b6fef27ccc72686d4\nresult = valid\ntag = f130ad7a2b7dad5e8f8715eb5b93e45e\n\n# tcId = 78\naad = f5\nct = fe59e8bf4250dc02843f3be602a7aeaa\niv = 74ef0301cc545539723c78ea9e2d75b851ea8641df1685d5\nkey = 57f37ad4992d336d13c3967c701e60c7842a55195687bbc1f680a33e78e0658a\nmsg = 58fea87518e42b504a9c53035081aabb\nresult = valid\ntag = 012c6e4f5017c78b96247763c8ff5f68\n\n# tcId = 79\naad = b93b\nct = 7b2f702cf01a0007f4bd949230197e78\niv = 4a75dc9936c891cf5385f84e2a6d484c612115b9ce053f86\nkey = aec0407a0cfa59096a489edc29e40cc67843ce71a95afc8deaa409a655aeba3d\nmsg = 8afe8b8b22ed249e21a44247345ede5f\nresult = valid\ntag = 56bddc4fdccf099f128b177b3cc73520\n\n# tcId = 80\naad = d0926a\nct = f95dda4c5457dae8daffdf0ba5439ba7\niv = 91752e5f97bdadb6a9811c2144e27f73baa9458b6c58c9a0\nkey = 9b0400ac1a917c7571430b78eca2c108e1824a078f21eb1995bfeae7fcc51f83\nmsg = 2b512160837e427a04c6bd9105cd2304\nresult = valid\ntag = 3e97e87d976efe3de7d84df933ac980d\n\n# tcId = 81\naad = 6cb8a59b\nct = 9d2527bc8df2e71d20864e7789ce2a84\niv = 95150d436a72c173e502ac22df904f26c0f4edffc29ca98b\nkey = 85b2f31409600b36ba8013f79b6aa84c9509546e218edb75c77d743a781c9bf4\nmsg = 44872f0602c76c1d4d36fd462cc886f0\nresult = valid\ntag = acd61c1b526988ec6105855ebdb7533a\n\n# tcId = 82\naad = 20976ec087\nct = 9d403b239c7497781bfb4468bd930cfe\niv = 383cd40e9aad35c35e3a46021b90acc87d51255be3443a7b\nkey = 76b087aa42ca8bb9a42133eb9279da0d0093b4e5028f4edd1c2183f81e6754b7\nmsg = 671e3615661511a8e668941126908c84\nresult = valid\ntag = 83dc6dfb3ae111ab05ac30116b89d65e\n\n# tcId = 83\naad = 03caf0a03be7\nct = 610417044213e2a64c1b9b2fd1839268\niv = da3fe15576474fe36bc3d2c42fe505617454c23aa1475e80\nkey = 335d796b0dff04636e39bbc408ad6aef0d423fc1772994e61409396c9c1ff1b2\nmsg = f3a55e4591e697a9f1aaac2eda219c59\nresult = valid\ntag = 444c11cdb783c3b432365ebe12378c9a\n\n# tcId = 84\naad = 16317d3050bf51\nct = 25a22c28b26f1712ba56b46e0103c444\niv = c991adee7c6e2bc5aeefd24c11be59a429b3198a3ea372cb\nkey = 0a059d6ed699ffed57c6734b67eed5bd62d508772e0d1edfb5793f805908b035\nmsg = b1ecd5c730695626454e8f89a598ad23\nresult = valid\ntag = ef27336fed160e6bbf257fb0e7770aa8\n\n# tcId = 85\naad = df2f4f832de7a1518e\nct = ceb42438dc40f7a0cc38ca0b9a48091f\niv = b755995c547fdf21a2398d1f4adc6476d1291b1723a331ee\nkey = b992dd885d0499a17268656665fde641be102d2fb642992d97e3107ee9aba20b\nmsg = 5fc0609d86c5bd4e5e9e335cb1954458\nresult = valid\ntag = 7c1045faf49b58415ccdd2a1e2bc4429\n\n# tcId = 86\naad = faa3abe6bc4eeb5316bf\nct = dbb22f3a39c46abe3cee3980c1df88bf\niv = dd62b11c6826d2c53a8be69860f359a703594efaa42411a6\nkey = 58fcfc12acbb234bf13d28b856693a0952245bc0c1d751c52bca708c7a196137\nmsg = 66cc8a0fad0f6b05f0422b53ce8fecb3\nresult = valid\ntag = 81da8bfd8ebbc1eca4870f8196156e3b\n\n# tcId = 87\naad = 9a227709205f1f740ed232\nct = 4905c8641a0ee3ea6687ed7452527903\niv = ca05d9a76be1149bcc4ef529b305854f7990b20aaffec384\nkey = 2765b4d865629fc232d37ca5e240a8532dc9a3e381daa7ca547ff5da5c417e41\nmsg = fe956a36f31adcc13ccd325f7a17f59c\nresult = valid\ntag = 7d574e549b5cd377992de204627de5fa\n\n# tcId = 88\naad = af191751f447cc49efff74f8\nct = 06218a47245edaa15a9f1162ec011d3b\niv = a37403e233f4fed7e00d9bf3a5407eae04fee3d667b65493\nkey = 430878f3ab311fb40d2c9b0f534a4043350f0ff495c80122355ec2b7557cb831\nmsg = 6e775f424e7d9d8e23cdbf14607d3a44\nresult = valid\ntag = 478423cbe48897ce756e3adbd9a1ee9a\n\n# tcId = 89\naad = 455fd94646f6edf9aef71275e0\nct = 27f9bbdc89a079abba54ddc01781f11a\niv = 1ed54a330d347fb9ffcc68cabe540f2ff300cc3ee2691255\nkey = a2c4d1d5ab1dc812200e18ccee9ef797195633d355a873c90f6d051041177cfd\nmsg = cfac1a30be69f203e6efda92a19682c1\nresult = valid\ntag = edce3ba94ea658694368d78878ad9227\n\n# tcId = 90\naad = d5736a239a1e598560a84a81a60b\nct = a712f0a4c9932e6413bf501508693a5c\niv = 6cf744267d87aa512f949e66579c074c6ac371d5228adff3\nkey = 89f5bf87986d39fdfa8debf5a9810d3cf186f277f5fdc3f849ac7dcce6381205\nmsg = 9775a1e1ca33d579075e0a80f2bf1184\nresult = valid\ntag = db8c77d539a6b41b6fc2d32ddd612ba3\n\n# tcId = 91\naad = c3036660fc872e55b0697104be59a2\nct = e2322c9638222677e4b6f7fa474accaa\niv = 7c76e9bd896c75245444f96fcfc419da23cf09b3be3610f8\nkey = 67af73796c9eba6ac7a847825cc56fac92595a8eb17ae2fece4a1f09c9d8c85f\nmsg = 3454b49cf7d10ec416770f76aa73bff7\nresult = valid\ntag = 82712972e906ea74f99dfb642c560db0\n\n# tcId = 92\naad = f15449e7c7810a11609f5da5e33b9085\nct = 7732ee206cd5734558c2f05f5bc1907b\niv = 367a95373b3f2bd4f2bfb03619368639fcc19eccdeccd04f\nkey = 73005bc9d00e9688afcb340ea7cf81113d49e33d628e13b89949920102b1a9c1\nmsg = c47c17dcd3efabfe2de42702f27a840f\nresult = valid\ntag = 4e32369f9ba08950b27b7952c3804fe8\n\n# tcId = 93\naad = 17bc7a713365234f08e703a652816245d6\nct = 8ed2c330b349dac3709bbc8ca2fd6d52\niv = 36213fcb5bff9b54db3c6af8c24a758b29b1143970b44168\nkey = 3a0c554dc2242950ec97b63a7f1de739ce18c247f4ce1f23b539b51feb82bec8\nmsg = c04a2ebfcc30967e691a9ef1c52bcf6b\nresult = valid\ntag = b6c38642002ac48847c715b317b26a86\n\n# tcId = 94\naad = 7f1e1f7fcb831cd7501e9608fda8ccb3c54f537ad601c033fdba7f7dc419\nct = a4fc8309e455d263bc6b4c95e6c79cb4\niv = bd605dba58a18d5a38fcab1f92f6cb406a276d8d0ca7fb30\nkey = 6419d685e6804488ad4f09870db55f2448b82d4715e1d5fefa00ca9e08f21bc8\nmsg = 676d9476348a31c6873016ab196852fe\nresult = valid\ntag = 9a439843444888d056b3e45a718a000d\n\n# tcId = 95\naad = bb044891ccae7f4f9493b8728293b772613c4ef2c088b3922f14466ea32a7a\nct = 1351d5642bfa9eaf78efd34733bc0b5c\niv = 505a1b8d68cc2f77a10ad67cdeea4393a2ea6db590f5be17\nkey = d92d949112061c11471efa77552daeda52b390efcac420c453c5b8499048983d\nmsg = 161dc03e36cee9f246fd3a45481eea46\nresult = valid\ntag = d666424d2d66969944f2b1a9dba68ebc\n\n# tcId = 96\naad = cf8c4a35d879e5051b1cff63ac64580ee80a8d80e9b6c90ff841fab3673aa573\nct = 7454d60539e1738ab6ff8609443a90f5\niv = 972f9e74b0d118734549fe0d237f0c6249c43674ceaa328d\nkey = 2390931b9c99b9ac7e56bbbb86e6794b36ec3175432f731bea2e3a12c83e559b\nmsg = 0a182ff667eeccab0f8054405879dc36\nresult = valid\ntag = dd67f6363f66d20541d0aa24008be6ba\n\n# tcId = 97\naad = c69f4dca85af6c39b5991f9386622f98acdb24f66b785cb3636a212ec13bed601b\nct = bb5efe5a45ea17d63eb75509452daf51\niv = 3654bf38ffe7d4dabab310657322af2da359fcaf79a81044\nkey = f563e70eefbe6cfd7a0b0d167a8b381fd14105ff4426fa326e9c2e4ca059a53e\nmsg = 5133dcb7ed3fa91add15224a4a9d21a9\nresult = valid\ntag = 31502fc74e063f0636bf9799f02c147a\n\n# tcId = 98\naad = 760cd62e1d1123fd7d49b670037adb6dae66e7c8a0ca95ffed67a5965a35ca21c0ad9aa069d4edd48b71d5c93077ad\nct = 5e8d9d12295525439d0a9fde1a585ca4\niv = f2f43b87fbb56938060cc9638d3d61ff2ebf26d037e4564e\nkey = 7c6410343a2938b9cf2d82419ee8c645fc9ed819b3b2ef876af0b1221ac4590a\nmsg = 998c2e5f2900a0ab445b443b14e343e2\nresult = valid\ntag = 5b7be3245ab2cd28d6b8a4b884e7547c\n\n# tcId = 99\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f89adf230daab792c94dfebe766eda542d7c092d97ccb7501486fc6a3\nresult = valid\ntag = 52ca5edfb3c4fca83d5776154188a08d\n\n# tcId = 100\naad = 00000000000000000000000000000000\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f89adf230daab792c94dfebe766eda542d7c092d97ccb7501486fc6a31ec9568c72a762296f76685b29a5f903cb0198722ad071bde29b48a62d367f3b\nresult = valid\ntag = a7c21e96322a7f8c453961640791f3e6\n\n# tcId = 101\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f89adf230daab792c94dfebe766eda542d7c092d97ccb7501486fc6a31ec9568c72a762296f76685b29a5f903cb0198722ad071bde29b48a62d367f3b1e90919140f50187df7df42caa37287538c16d", + "481265de62bbf98c235d595c824575acd33c51e271f13844673cb5dafd249dbd394b866c34aecd42c57f2630e5\nresult = valid\ntag = 70b88b3bf88b8f11f7513545b8dbfa63\n\n# tcId = 102\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757076520dcf255486d36b20141899125abd283f6d2683348afeb790395c\nresult = valid\ntag = c29cd2ef4874d93267c935cd9ffd34f1\n\n# tcId = 103\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757076520dcf255486d36b20141899125abd283f6d2683348afeb790395ce136a9738d589dd6908997a4d65a06fc34fe678dd52f8e421d64b759d2c980c4\nresult = valid\ntag = 02add84dfa902f0d4a11d3bdc096417e\n\n# tcId = 104\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757076520dcf255486d36b20141899125abd283f6d2683348afeb790395ce136a9738d589dd6908997a4d65a06fc34fe678dd52f8e421d64b759d2c980c4e16f6e6ebf0afe7820820bd355c8d78ac73e92b7ed9a219d440673dca2a6a37dba8a532cc3ae1d8e0ec7bb98c34a2502db6242c6b47993cb5132bd3a80d9cf1a\nresult = valid\ntag = 82a067b3b3e51cd9d139a5222ea70258\n\n# tcId = 105\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a0f89adf2b0daab79ac94dfeb6766eda5c2d7c092597ccb7581486fc623\nresult = valid\ntag = 2bd279a556e3dde6151e698e0496b3aa\n\n# tcId = 106\naad = 00000080000000800000008000000080\nct = 00000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a0f89adf2b0daab79ac94dfeb6766eda5c2d7c092597ccb7581486fc6231ec9560c72a762a96f7668db29a5f983cb0198f22ad0713de29b48262d367fbb\nresult = valid\ntag = dc37087d3aaa8b97e985152fa9f1ee04\n\n# tcId = 107\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a0f89adf2b0daab79ac94dfeb6766eda5c2d7c092597ccb7581486fc6231ec9560c72a762a96f7668db29a5f983cb0198f22ad0713de29b48262d367fbb1e90911140f50107df7df4acaa3728f538c16dc81265dee2bbf98ca35d595c024575ac533c51e2f1f13844e73cb5da7d249dbdb94b866cb4aecd42457f263065\nresult = valid\ntag = 3b1dbe65bafcd37fdb15b34fafabc07f\n\n# tcId = 108\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d75f076520d4f255486536b20149899125a3d283f6da683348a7eb79039dc\nresult = valid\ntag = e994b729a655f8f48e024354dcef21d4\n\n# tcId = 109\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d75f076520d4f255486536b20149899125a3d283f6da683348a7eb79039dce136a9f38d589d5690899724d65a067c34fe670dd52f8ec21d64b7d9d2c98044\nresult = valid\ntag = cd37ef66f2102302a6c41ef31e364660\n\n# tcId = 110\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d75f076520d4f255486536b20149899125a3d283f6da683348a7eb79039dce136a9f38d589d5690899724d65a067c34fe670dd52f8ec21d64b7d9d2c98044e16f6eeebf0afef820820b5355c8d70ac73e9237ed9a211d4406735ca2a6a3fdba8a53acc3ae1d0e0ec7bb18c34a2582db624246b479934b5132bdba80d9cf9a\nresult = valid\ntag = b73b3589f174d86aed75271837d73c3c\n\n# tcId = 111\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1f1d7570f6520dcfa55486d3eb20141819125abda83f6d2603348afe3790395c\nresult = valid\ntag = fbf9b30e0b9c1240ee0528ba82e961a8\n\n# tcId = 112\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1f1d7570f6520dcfa55486d3eb20141819125abda83f6d2603348afe3790395c6136a9730d589dd6108997a4565a06fcb4fe678d552f8e429d64b75952c980c4\nresult = valid\ntag = 1ea55841efece2587f6f72c2a2d1e329\n\n# tcId = 113\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1f1d7570f6520dcfa55486d3eb20141819125abda83f6d2603348afe3790395c6136a9730d589dd6108997a4565a06fcb4fe678d552f8e429d64b75952c980c4616f6e6e3f0afe78a0820bd3d5c8d78a473e92b76d9a219dc40673dc22a6a37d3a8a532c43ae1d8e8ec7bb98434a25025b6242c6347993cbd132bd3a00d9cf1a\nresult = valid\ntag = 5adef66e4501595bc742d55c126b1896\n\n# tcId = 114\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f76520dcfdaab792c6b20141866eda542283f6d267ccb7501b790395c\nresult = valid\ntag = 81682925f4f8a57392d2a9d4157f2c86\n\n# tcId = 115\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f76520dcfdaab792c6b20141866eda542283f6d267ccb7501b790395c1ec9568c8d589dd66f76685bd65a06fccb019872d52f8e42e29b48a6d2c980c4\nresult = valid\ntag = 077001742d67566612633a0b3f3f8c99\n\n# tcId = 116\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f76520dcfdaab792c6b20141866eda542283f6d267ccb7501b790395c1ec9568c8d589dd66f76685bd65a06fccb019872d52f8e42e29b48a6d2c980c41e909191bf0afe78df7df42c55c8d78a38c16d48ed9a219dbbf98c23a2a6a37d4575acd3c3a", + "e1d8ef1384467c34a2502249dbd39b47993cbaecd42c580d9cf1a\nresult = valid\ntag = 1c0e1d3c611eda884919789540fc27f1\n\n# tcId = 117\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757089adf230255486d394dfebe799125abdd7c092d983348afe486fc6a3\nresult = valid\ntag = 93fe07aa08403068124e020ecb06a9f8\n\n# tcId = 118\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757089adf230255486d394dfebe799125abdd7c092d983348afe486fc6a3e136a97372a76229908997a429a5f90334fe678d2ad071bd1d64b7592d367f3b\nresult = valid\ntag = a2fff56fff5358337de7f91689e8a8cb\n\n# tcId = 119\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757089adf230255486d394dfebe799125abdd7c092d983348afe486fc6a3e136a97372a76229908997a429a5f90334fe678d2ad071bd1d64b7592d367f3be16f6e6e40f5018720820bd3aa372875c73e92b71265de62440673dc5d595c82ba8a532c3c51e2710ec7bb983cb5dafddb6242c64b866c345132bd3a7f2630e5\nresult = valid\ntag = db4ad6b24a53d2617f7262d2a586d5ca\n\n# tcId = 120\n# Flipped bit 0 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0418b3e73e52c3be2eaba76807b784e1\n\n# tcId = 121\n# Flipped bit 1 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0718b3e73e52c3be2eaba76807b784e1\n\n# tcId = 122\n# Flipped bit 7 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 8518b3e73e52c3be2eaba76807b784e1\n\n# tcId = 123\n# Flipped bit 8 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0519b3e73e52c3be2eaba76807b784e1\n\n# tcId = 124\n# Flipped bit 31 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3673e52c3be2eaba76807b784e1\n\n# tcId = 125\n# Flipped bit 32 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73f52c3be2eaba76807b784e1\n\n# tcId = 126\n# Flipped bit 33 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73c52c3be2eaba76807b784e1\n\n# tcId = 127\n# Flipped bit 63 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c33e2eaba76807b784e1\n\n# tcId = 128\n# Flipped bit 64 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2faba76807b784e1\n\n# tcId = 129\n# Flipped bit 77 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2e8ba76807b784e1\n\n# tcId = 130\n# Flipped bit 80 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba66807b784e1\n\n# tcId = 131\n# Flipped bit 96 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76806b784e1\n\n# tcId = 132\n# Flipped bit 97 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76805b784e1\n\n# tcId = 133\n# Flipped bit 120 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76807b784e0\n\n# tcId = 134\n# Flipped bit 121 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76807b784e3\n\n# tcId = 135\n# Flipped bit 126 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76807b784a1\n\n# tcId = 136\n# Flipped bit 127 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76807b78461\n\n# tcId = 137\n# Flipped bit 63 and 127 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c33e2eaba76807b78461\n\n# tcId = 138\n# Tag changed to all zero expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 139\n# tag change to all 1 expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 140\n# Flipped bit 0 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2464a8ce1a360e8352971c8110885031\n\n# tcId = 141\n# Flipped bit 1 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102", + "030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2764a8ce1a360e8352971c8110885031\n\n# tcId = 142\n# Flipped bit 7 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a564a8ce1a360e8352971c8110885031\n\n# tcId = 143\n# Flipped bit 8 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2565a8ce1a360e8352971c8110885031\n\n# tcId = 144\n# Flipped bit 31 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a84e1a360e8352971c8110885031\n\n# tcId = 145\n# Flipped bit 32 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1b360e8352971c8110885031\n\n# tcId = 146\n# Flipped bit 33 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce18360e8352971c8110885031\n\n# tcId = 147\n# Flipped bit 63 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e0352971c8110885031\n\n# tcId = 148\n# Flipped bit 64 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8353971c8110885031\n\n# tcId = 149\n# Flipped bit 77 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352b71c8110885031\n\n# tcId = 150\n# Flipped bit 80 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971d8110885031\n\n# tcId = 151\n# Flipped bit 96 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8111885031\n\n# tcId = 152\n# Flipped bit 97 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8112885031\n\n# tcId = 153\n# Flipped bit 120 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8110885030\n\n# tcId = 154\n# Flipped bit 121 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8110885033\n\n# tcId = 155\n# Flipped bit 126 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8110885071\n\n# tcId = 156\n# Flipped bit 127 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c81108850b1\n\n# tcId = 157\n# Flipped bit 63 and 127 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e0352971c81108850b1\n\n# tcId = 158\n# Tag changed to all zero expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 159\n# tag change to all 1 expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 160\n# Flipped bit 0 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8161d3df064071df8082a0f813417f05\n\n# tcId = 161\n# Flipped bit 1 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8261d3df064071df8082a0f813417f05\n\n# tcId = 162\n# Flipped bit 7 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 0061d3df064071df8082a0f813417f05\n\n# tcId = 163\n# Flipped bit 8 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8060d3df064071df8082a0f813417f05\n\n# tcId = 164\n# Flipp", + "ed bit 31 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d35f064071df8082a0f813417f05\n\n# tcId = 165\n# Flipped bit 32 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df074071df8082a0f813417f05\n\n# tcId = 166\n# Flipped bit 33 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df044071df8082a0f813417f05\n\n# tcId = 167\n# Flipped bit 63 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df0640715f8082a0f813417f05\n\n# tcId = 168\n# Flipped bit 64 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8182a0f813417f05\n\n# tcId = 169\n# Flipped bit 77 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df80a2a0f813417f05\n\n# tcId = 170\n# Flipped bit 80 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a1f813417f05\n\n# tcId = 171\n# Flipped bit 96 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f812417f05\n\n# tcId = 172\n# Flipped bit 97 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f811417f05\n\n# tcId = 173\n# Flipped bit 120 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f813417f04\n\n# tcId = 174\n# Flipped bit 121 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f813417f07\n\n# tcId = 175\n# Flipped bit 126 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f813417f45\n\n# tcId = 176\n# Flipped bit 127 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f813417f85\n\n# tcId = 177\n# Flipped bit 63 and 127 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df0640715f8082a0f813417f85\n\n# tcId = 178\n# Tag changed to all zero expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 179\n# tag change to all 1 expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 180\n# edge case for poly1305\n# key:ffffff3f24ac6f2f6436cec230be9ab31d8434bf94e1042d20952749a99cf641\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112133e8775b2\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 7ee395bd21ada42ed12310d34918a28e596a49ee7a22f623d756b896663f68733e6c71a344f4726ac24e330679f25e492be08603aaa23f1e88c10299047c8e585983332a8b6eadcd9b6061b63fe3b58a2021b38c7cf379fe9a9f6d114f3cfe422f91af78c6fd87d4269af0e3e471abed457ae75c027e134c96cf4d9a4a646288\nresult = valid\ntag = 4921f7c24a2d42f4da7ad9d45e8ec26c\n\n# tcId = 181\n# edge case for poly1305\n# key:bf358f18ffffffbf4b62ed6e1f53790785c4dabdfc72e2a219d377a682c85f38\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "ffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121303e9b9a4\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = af205bda819f7451be0f28667d4b01b59ff2daa8173cab52046c3c9e0d989889c5e021ef7afd06e9ce6cc30e3a6ebab509134ba10d10e570c55587c13eee53e73be54804c8539ffbf23b35922b1ca37b9e9bc24ee204837ca5a294ce05d12600c7eff6aee32270db2feff47dc5a04176169e15850628e6035f78994f9f56035c\nresult = valid\ntag = b86b0a8e9427af3516950efc81d935d5\n\n# tcId = 182\n# edge case for poly1305\n# key:d0b7b3a352a4010ffeffffbfe8cc66dc6e5e7451dc61762c5753174fed88e746\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112130700b982\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 68c67272036fb652a0182eeb4781358e4704a4a702fd731bf3b3ea994717989e7d9104e0ae81732a8c7e9a82b3d31d541761a366b67c3396f1a6c67e293ddb65a59e42541dda144dc6c78388cfca982e23350958ac5b3d54a1722fd64733577862e1879c9e9445ebdec5315d1706db7ebbedd4c779935e72057e5b0ecde0814d\nresult = valid\ntag = 3661dc6ddd1852221050ff5b8d58c13f\n\n# tcId = 183\n# edge case for poly1305\n# key:7bee33931a4157a8cb701becfeffff4fbe7e69f19cd065313bb49a252628dd3d\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = c483b7334ebe2e879b0c3f9db4fcd9f5219062360d6ce44cdae0f94e04c8345ea7e3ae33855118741dcafe0de4ae98c4e43af7b12b04ee8ab175625823ac040e5abac4403f1d45238adcb8c0cf44bd56917f9f5d93974c82b56951986a9c0450bd9047b5a616e814526ad0580e3ecd8189c9fef2cdb979a22ad3a01930fbd15e\nresult = valid\ntag = 02c70e4defe897a47a65063a468db630\n\n# tcId = 184\n# edge case for poly1305\n# key:df39fb3f36d8e58f91abffdff9f5feaf109d0e960edcf2b728446ec175ad4c7b\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112133f1a8eb1\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 85e40e2106db6aba0fb236d3c980a72e58ce538db7aa3b0326a23d52175c7465c454d8206b4d8aedd51d8cc47424f6124d2586370f4eb51153d215e48347abf8791a6d6d3da4871ab2c0fe5718878c3942365fc75887e6ea6e779911f883fe90b6c0e5870769a860cf619f91c7eeaad69212325404ec4de4d3ab5e7aa89537a4\nresult = valid\ntag = ecccb94178b76a769c91c27d921fcc6c\n\n# tcId = 185\n# edge case for poly1305\n# key:00000090e6e328c242cde5c83e3d8262d467f2bcd53d3755c781f3c6a2cb0648\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = eaccaa778935ef249e0900149dd889462d2a061486ba102b8caebe465f3959fb3119ebb5689676ffdd6d851a26739e772b54a2f5f473ea9c7e58ccbc4cfc953e8c420b2175d9dd519265630bb79bd87a601b113231a8b16ce54c331347ec04c2b1c9160f38207aa46e96feb06dee883eb422fa14908df300bb1a1ef758c408f5\nresult = valid\ntag = f00ee0097d7dffbd3e4b216c45da89ef\n\n# tcId = 186\n# edge case for poly1305\n# key:9e98d64e000000505a07183c5c68c63c14c9266dd37ff86aafc22ddbdb355617\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112130c807a72\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = a76c330e015060a17e64cb7b6d753f201f75be8759fd7539fb92b22aef54c9d3029dba0c15cbf7c95135888319c6b2e6276da21e0c351fd522b29aabb5883a3291d6f427de773b124390ef6fd96621ffbc42dfbf7a34da272cbc9ccb1a498d078033d1ac3bf7e92715948b06d69d5c5039e9164ba9c3a02219ec5908206b3bd2\nresult = valid\ntag = 8691693787763ec6c7bf957658b51370\n\n# tcId = 187\n# edge case for poly1305\n# key:1048a92e65f5e63102000080d9ae08de4319a7c45fdbe707b9ec1b7e0d635161\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112130397a143\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 228a7e15bcce13051de9145f77f7f4ff7921828b4f99efc4ff55ee0d9344955b69ec2d4798b0517f0273c4456ae5ffc5929cbe74ddb0da51d4f2b4df7578a31240c88ae922c3c5eca7b97d72d497062050a587447c562b343d5c71921944872f9fd06b8f34b3eb5d4341f5ff8a907dd7c2e1676b81252726ba54814da51eab8c\nresult = valid\ntag = 7fc8d4bb91c543b9bf5dbf1e7277d823\n\n# tcId = 188\n# edge case for poly1305\n# key:01517a2ceb89bbfb5741f7d9000000401a65b132ad661072a00ffe7defbb18a5\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121308cb0f3f\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = c7d843188ab193dfef5c4daf583f952cd4b195f240fa2e704d021723023c123371a41e87dfc6e6c3874a42f331cf035988a38c72ba2da854b1208f98bf8cc29948169481ab3a402d5fcc7ff78f9e31925576dc3938074b8c5b27960e3afc750ad686563688b7441787288d5256c1301d563b7744843bd1ab4eff5be6f1653d44\nresult = valid\ntag = 834c91a6580bf514dfcb5e2f456efe3c\n\n# tcId = 189\n# edge case for poly1305\n# key:e73c0100fbd50c408e3c06701c3908209a66d9388dd8e29458376300cb04f56a\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f10111213d580ecf3\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 56d20c8500203274099502f38d547f3008588f396cb521a2bae1800514f1f797c00386d52c09fd64a28b393431848e13dda47f65536bfc681ca73b55a7fc019a4c8358186e009ad3e22a5f08a59b19ca4b3bf11269fecaa49a9e9aff53a02ce2f235fba061ee95eae6177f1153502a50428122a73c83695f17dff5cfde23fdf9\nresult = valid\ntag = ca3de68e124484e8bb825b069afaa53d\n\n# tcId = 190\n# edge case for tag\naad = abffffffffffffffffffffffffffffff5a20e89e14ed5af85da66b5e4bdbe002\nct = fffffffffffffffffffffffff", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = 000102030405060708090a0b0c0d0e0f\n\n# tcId = 191\n# edge case for tag\naad = ffffffffffffffffffffffffffffffff7c85b8e5991711f804915250b99cf7a7\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 192\n# edge case for tag\naad = a8ffffffffffffffffffffffffffffff57599fb21558a903b6a3193419537e06\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 193\n# edge case for tag\naad = c1fffffffffffffffffffffffffffffffd71560c5091b863662ffaebc0dd2501\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = 00000080000000800000008000000080\n\n# tcId = 194\n# edge case for tag\naad = f9ffffffffffffffffffffffffffffff169a825d7ecbf7e107396a2a3dfb4508\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = ffffff7fffffff7fffffff7fffffff7f\n\n# tcId = 195\n# edge case for tag\naad = d9ffffffffffffffffffffffffffffffe344f9752a885ccd1a3fa5a9c4187d04\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = 01000000010000000100000001000000\n\n# tcId = 196\n# edge case for tag\naad = d7ffffffffffffffffffffffffffffffa6627ce99c9c49deb89855b0f9e3f407\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 197\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9bf90b74324f392a4f5bacf25b31b293b4ffffffffffffffffffffffffffffff09b73f897139ab1417163ce2e8377d03b4ffffffffffffffffffffffffffffff09b73f897139ab1417163ce2e8377d03\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac170395c7a18e950fff87e6de1fb6247d63c3df6823c0030e4c987ef266c4a26f1de7226805d43221db305501f8bd70d20c019264f8f28a963bf61e76272e736412a650fa30062629ead26c6ff651361dd1\nresult = valid\ntag = eabfdde61ad23c8f2a380280248e58c3\n\n# tcId = 198\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 41634e0cbafbedf788226ca92ca0907373fffffffffffffffffffffffffffffff505e2802a430cc2eeab714688e6800373fffffffffffffffffffffffffffffff505e2802a430cc2eeab714688e68003\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0d4381de8e79d6e26f93ecb286f0c39beb93332a4325c92a37428d1212ea300f8225755c15bffd71892a7cdfb3bb10e19d6aa8735af47530d8bcc2e5aab850f04068798727366506e74af89e596a1bee\nresult = valid\ntag = 50c4a57ebedcdea7ca65660b209f59a5\n\n# tcId = 199\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ecb82891988284f2dc41fe2ea0d6d2eb92ffffffffffffffffffffffffffffff2e72794a284d14459977796cee26320092ffffffffffffffffffffffffffffff2e72794a284d14459977796cee263200\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = a098e743ac00bfe73bf07e350a8681030a93332a4325c92a37428d1212ea300f5952ee9617b1e5f6fef674f5d57ba2e27c6aa8735af47530d8bcc2e5aab850f09b1fe24d25387d819096f0b43faaa9ed\nresult = valid\ntag = e87f0c943e93cad2aa76933330d178b3\n\n# tcId = 200\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 03a439b72eabc0eb05e9f495b09a25826fffffffffffffffffffffffffffffff39dc0c117f4e3880531dc20078e26e006fffffffffffffffffffffffffffffff39dc0c117f4e3880531dc20078e26e00\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4f84f6651a29fbfee258748e1aca766af793332a4325c92a37428d1212ea300f4efc9bcd40b2c933349ccf9943bffee2816aa8735af47530d8bcc2e5aab850f08cb19716723b51445afc4bd8a96ef5ed\nresult = valid\ntag = 66eaccae5e377108c3cbcb65c4cf1fc5\n\n# tcId = 201\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c5e42462a35a93df82af7d823495ba906affffffffffffffffffffffffffffff636191a673471f49f0d21dc5ebaae4006affffffffffffffffffffffffffffff636191a673471f49f0d21dc5ebaae400\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 89c4ebb097d8a8ca651efd999ec5e978f293332a4325c92a37428d1212ea300f1441067a4cbbeefa9753105cd0f774e2846aa8735af47530d8bcc2e5aab850f0d60c0aa17e32768df933941d3a267fed\nresult = valid\ntag = 7c10f4defe910369bb3131c06800e6e4\n\n# tcId = 202\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = b1ffffffffffffffffffffffffffffff0bf0a2ad4c581e5406c1f59dd8915d0029ffffffffffffffffffffffffffffff4fb0339e2c5180f6c76853298b59e80029ffffffffffffffffffffffffffffff4fb0339e2c5180f6c76853298b59e800\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fddf302dcb7dc4ea184e7fe455afac17939c6e78f0822881ce7c8770358492f05edf6823c0030e4c987ef266c4a26f1da1256412895a0a39e02b6e33de1e470f9c9264f8f28a963bf61e76272e736412e057f6275b4e02080212003d325888d2\nresult = valid\ntag = e269df519b62d7658b8ce3487588f409\n\n# tcId = 203\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 86ffffffffffffffffffffffffffffffedbfcd3f889324dfaeb340cffcd53502981b5e44b2f390a2e219411d38fa53c3981b5e44b2f390a2e219411d38fa53c3\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = cadf302dcb7dc4ea184e7fe455afac1775d301ea3449120a660e322211c0faf2ef3bc9988d0f611185984c8403a7c321768e09c817f81a6dc55a7c076dbdfccc\nresult = valid\ntag = a084fcb71338faabb02bb26c1b7c1a55\n\n# tcId = 204\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 46ffffffffffffffffffffffffffffffd90e7037419d858c864976339c843902f1ffffffffffffffffffffffffffffff99fb0b24d580fd21d48877710fc07a03f1ffffffffffffffffffffffffffffff99fb0b24d580fd21d48877710fc07a03\niv = 000102030405060708090a0b0c0d0e0f10111", + "2130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0adf302dcb7dc4ea184e7fe455afac174162bce2fd47b3594ef404de7191f6f286df6823c0030e4c987ef266c4a26f1d776e5ca8708b77eef3cb4a6b5a87d50c449264f8f28a963bf61e76272e736412361cce9da29f7fdf11f22465b6c11ad1\nresult = valid\ntag = 8f7f47eb00819694ca25bd8a5cd263cd\n\n# tcId = 205\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 58ffffffffffffffffffffffffffffff2b4a77d883dddbd6bd5d5eac0e03e0018238eae6ed8aa9acdf81582c906797208238eae6ed8aa9acdf81582c90679720\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 14df302dcb7dc4ea184e7fe455afac17b326bb0d3f07ed0375e02c41e3162ff1f5187d3ad276581fb80055b5ab3a07c26cadbd6a48812363f8c26536c520382f\nresult = valid\ntag = 6e29bbb07bacd01dde68f7ceba8dcf6c\n\n# tcId = 206\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 6affffffffffffffffffffffffffffffeccb4900e9540ec1819b5005f396fb006f060b6f93b7f857948b153abd5c3f5f6f060b6f93b7f857948b153abd5c3f5f\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 26df302dcb7dc4ea184e7fe455afac1774a785d5558e3814492622e81e8334f018269cb3ac4b09e4f30a18a38601afbd81935ce336bc7298b3c82820e81b9050\nresult = valid\ntag = dc8de3adc9cf0095ab93f73b92e38f8e\n\n# tcId = 207\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 8effffffffffffffffffffffffffffff834129492142abcda1857721bf8b38035e1487784c0fefe6940dd2bf1a1495e05e1487784c0fefe6940dd2bf1a1495e0\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c2df302dcb7dc4ea184e7fe455afac171b2de59c9d989d18693805cc529ef7f3293410a473f31e55f38cdf2621490502b081d0f4e9046529b34eefa54f533aef\nresult = valid\ntag = 41da20c0d2480aabf6ec50678325ca55\n\n# tcId = 208\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 4effffffffffffffffffffffffffffff6f90cb40da4b0c7b791bad855e3a3c03faffffffffffffffffffffffffffffffa878e91f0f31b906495504bfe5ff4500faffffffffffffffffffffffffffffffa878e91f0f31b906495504bfe5ff4500\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 02df302dcb7dc4ea184e7fe455afac17f7fc079566913aaeb1a6df68b32ff3f38ddf6823c0030e4c987ef266c4a26f1d46edbe93aa3a33c96e1639a5b0b8ea0f4f9264f8f28a963bf61e76272e736412079f2ca6782e3bf88c2f57ab5cfe25d2\nresult = valid\ntag = 30d56bf3bf91a69310e75b85c47b13ce\n\n# tcId = 209\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = f826d2c3616ecf7100aaf6ae252052155bffffffffffffffffffffffffffffffbff427b51284fa40da0a674db8f436025bffffffffffffffffffffffffffffffbff427b51284fa40da0a674db8f43602\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b4061d1155ecf464e71b76b58f7001fdc393332a4325c92a37428d1212ea300fc8d4b0692d780bf3bd8b6ad483a9a6e0b56aa8735af47530d8bcc2e5aab850f00a99bcb21ff19384d3ebee956978adef\nresult = valid\ntag = cdfe4b827e5558a497f309fb493d209d\n\n# tcId = 210\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 35df3d7533e8a7ce04580b0b188e75d990ffffffffffffffffffffffffffffff5a0dbd4e9c2dd65eea6c0a858470e10190ffffffffffffffffffffffffffffff5a0dbd4e9c2dd65eea6c0a858470e101\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 79fff2a7076a9cdbe3e98b10b2de26310893332a4325c92a37428d1212ea300f2d2d2a92a3d127ed8ded071cbf2d71e37e6aa8735af47530d8bcc2e5aab850f0ef6026499158bf9ae38d835d55fc7aec\nresult = valid\ntag = d168917ea5f3a1aaf11f260b1ad87ba6\n\n# tcId = 211\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff10b5ad7f1c954ceea0921b4ae896afa2f2ffffffffffffffffffffffffffffff3839e7eb64c423936009811dd1b1eb02f2ffffffffffffffffffffffffffffff3839e7eb64c423936009811dd1b1eb02\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac1788d961aaa04f7a3b682f69a70583605285df6823c0030e4c987ef266c4a26f1dd6acb067c1cfa95c474abc0784f6440d479264f8f28a963bf61e76272e73641297de225213dba16da573d20968b08bd0\nresult = valid\ntag = 7c9d1f445000923ba0f6712dcef103f8\n\n# tcId = 212\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 3bffffffffffffffffffffffffffffff666b7ecba9ae52c8e786831cff46f0009affffffffffffffffffffffffffffffefc4cbe333cdedf206a5d8d087435f029affffffffffffffffffffffffffffffefc4cbe333cdedf206a5d8d087435f02\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 77df302dcb7dc4ea184e7fe455afac17fe07b21e1574641d2f3bf1f112533ff0eddf6823c0030e4c987ef266c4a26f1d01519c6f96c6673d21e6e5cad204f00d2f9264f8f28a963bf61e76272e73641240230e5a44d26f0cc3df8bc43e423fd0\nresult = valid\ntag = 0eff35568cd1f12e9c87c10f7ac886d9\n\n# tcId = 213\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9cf90b74324f392a4f5bacf25b31b2935bffffffffffffffffffffffffffffff53163f81066b447a8aaf1d30cf3c31035bffffffffffffffffffffffffffffff53163f81066b447a8aaf1d30cf3c3103\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac170495c7a18e950fff87e6de1fb6247d632cdf6823c0030e4c987ef266c4a26f1dbd83680da360ceb5adec202a9a7b9e0cee9264f8f28a963bf61e76272e736412fcf1fa387174c6844fd54e24763d51d1\nresult = valid\ntag = 972e0ccb273da0e432560bb025a3dafd\n\n# tcId = 214\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9af90b74324f392a4f5bacf25b31b293ffffffffffffffffffffffffffffffff53e827dc9c064b45b437f8203b623635ffffffffffffffffffffffffffffffff53e827dc9c064b45b437f8203b623635\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac170295c7a18e950fff87e6de1fb6247d6388df6823c0030e4c987ef266c4a26f1dbd7d7050390dc18a9374c53a6e25993a4a9264f8f28a963bf61e76272e736412fc0fe265eb19c9bb714dab34826356e7\nresult = valid\ntag = 3851af020e67d939221af94f2379d688\n\n# tcId = 215\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 90ffffffffffffffffffffffffffffff5360b535b6b0002afb0316c6e8ed8202afffffffffffffffffffffffffffffff29ada419504d0c9a2e19c785c4736402afffffffffffffffffffffffffffffff29ada419504d0c9a2e19c785c4736402\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = dcdf302dcb7dc4ea184e7fe455afac17cb0c79e00a6a36ff33be642b05f84df2d8df6823c0030e4c987ef266c4a26f1dc738f395f5468655095afa9f9134cb0d1a9264f8f28a963bf61e76272e736412864a61a027528e64eb6394917d7204d0\nresult = valid\ntag = 41c5ffe07dbb3c988a9e3687296007bd\n\n# tcId = 216\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 3cf775eaf6d537622d87c19e0b481fb7ffffffffffffffffffffffffffffffffd3dbec750373eb583eefe5c48ec8935cffffffffffffffffffffffffffffffffd3dbec750373eb583eefe5c48ec8935c\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 70d7ba38c2570c77ca364185a1184c5f6793332a4325c92a37428d1212ea300fa4fb7ba93c8f1aeb596ee85db59503be116aa8735af47530d8bcc2e5aab850f066b677720e06829c370e6c1c5f4408b1\nresult = valid\ntag = a0dcb67a9f930f9d79381e04c38c91a1\n\n# tcId = 217\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = fffffffffffffffffffffffffffffffff69e595ca0b7e269447d052bc354365bffffffffffffffffffffffffffffffff46b3f0de9548e22c936ac526807d56c1ffffffffffffffffffffffffffffffff46b3f0de9548e22c936ac526807d56c1\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac176ef295891c6dd4bc8cc077c62e41f9ab88df6823c0030e4c987ef266c4a26f1da826a752304368e3b429f83cd53af9ce4a9264f8f28a963bf61e76272e736412e9543567e25760d256109632397c3613\nresult = valid\ntag = a12b34e8828deb913809858245813ac4\n\n# tcId = 218\n# edge ", + "case intermediate sums in poly1305\naad = ffffffff\nct = 9c089cf4276497377e44c5e193c3143bc23a8489250a4f3ecaa9bd1904b194e5c23a8489250a4f3ecaa9bd1904b194e5\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d028532613e6ac2299f545fa399347d35a56485c99d079eb0214cff4e9a45b15b51a13551af6be8dad28b0803fec0407\nresult = valid\ntag = 3e5a4dd56980cdc49b3fc7f1a4e5de80\n\n# tcId = 219\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 98ffffffffffffffffffffffffffffff5828dcc5719663b87aff56f81cb9fa022dd0ba2addabf43c9f3122fba03ea5032dd0ba2addabf43c9f3122fba03ea503\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d4df302dcb7dc4ea184e7fe455afac17c0441010cd4c556db2422415f1ac35f25af02df6e257058ff8b02f629b6335e1c345eda678a07ef3b8721fe1f5790a0c\nresult = valid\ntag = 693df6c4750d80c9c6db9b8290908856\n\n# tcId = 220\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff840efb4d9c26fd3026b4b58b4b6d5ffdd7fffffffffffffffffffffffffffffffe4cacc21a3887d95c70f34d5f7c4003d7fffffffffffffffffffffffffffffffe4cacc21a3887d95c70f34d5f7c4003\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac171c62379820fccbe5ee09c766a678900da0df6823c0030e4c987ef266c4a26f1d10d9fb4ebf330d167b33ce570a3bef0c629264f8f28a963bf61e76272e73641251ab697b6d270527990aa059e67d20d1\nresult = valid\ntag = 6c551dccfa2d965912e3c94d908fb1b1\n\n# tcId = 221\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 46ffffffffffffffffffffffffffffff6ac8a4b01e66a9ecf91f6c532a6fc402f5ffffffffffffffffffffffffffffff1d689d91b82f4a673f80067e49897903f5ffffffffffffffffffffffffffffff1d689d91b82f4a673f80067e49897903\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0adf302dcb7dc4ea184e7fe455afac17f2a46865a2bc9f3931a21ebec77a0bf282df6823c0030e4c987ef266c4a26f1df3fdca1d1d24c0a818c33b641cced60c409264f8f28a963bf61e76272e736412b28f5828cf30c899fafa556af08819d1\nresult = valid\ntag = 041184e17ae48184f2f3f675a0c1d0bf\n\n# tcId = 222\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 59ffffffffffffffffffffffffffffffe3c813237eb6a34838ddcd5141f63d0241ffffffffffffffffffffffffffffff2b3c5a7bdafb518fdb1afd2bdacf640341ffffffffffffffffffffffffffffff2b3c5a7bdafb518fdb1afd2bdacf6403\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 15df302dcb7dc4ea184e7fe455afac177ba4dff6c26c959df060bfbcace3f2f236df6823c0030e4c987ef266c4a26f1dc5a90df77ff0db40fc59c0318f88cb0cf49264f8f28a963bf61e76272e73641284db9fc2ade4d3711e60ae3f63ce04d1\nresult = valid\ntag = 3932ed921c20c30f251e2495cafcee7d\n\n# tcId = 223\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff26f5224c72421352b628e4af3fe63fd6fffffffffffffffffffffffffffffffff853a71e2e53808ce0bcf98ef3c6237ffffffffffffffffffffffffffffffffff853a71e2e53808ce0bcf98ef3c6237f\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac17be99ee99ce9825877e959642d2f3f02688df6823c0030e4c987ef266c4a26f1d16c6f0928b580a43c7ffc494a6818c704a9264f8f28a963bf61e76272e73641257b462a7594c027225c6aa9a4ac743ad\nresult = valid\ntag = 1fe14698bc0d7e1a5d622f9f4ec97681\n\n# tcId = 224\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 56ffffffffffffffffffffffffffffffaf34bc72b023510184ba5e7a8283c30275ffffffffffffffffffffffffffffff7ea17d57b552c6875d4bd24d089bbd0075ffffffffffffffffffffffffffffff7ea17d57b552c6875d4bd24d089bbd00\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1adf302dcb7dc4ea184e7fe455afac17375870a70cf967d44c072c976f960cf202df6823c0030e4c987ef266c4a26f1d90342adb10594c487a08ef575ddc120fc09264f8f28a963bf61e76272e736412d146b8eec24d447998318159b19addd2\nresult = valid\ntag = 48a52de01229d381e42274737fceeebe\n\n# tcId = 225\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e2ffffffffffffffffffffffffffffff2e36b18f2fc925af8ca7b8922f3d0402ffffffffffffffffffffffffffffffff730856e81fee6ffa095f96faa3c87deeffffffffffffffffffffffffffffffff730856e81fee6ffa095f96faa3c87dee\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e15491e17fb1ebf66bb0a3ecbc1bc251544d1a6c930b659ca3903632f84c51b676fb4365776d1717fb3f9f45f9888c9764482cfbc35450c0a2a1c8aab04f5ac644871d72e9f20f1fd6a77429527f8b81df97e388864bad33006e671b757b158b\nresult = valid\ntag = 457c13b040b790624a47b6d232c96c2e\n\n# tcId = 226\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c6ffffffffffffffffffffffffffffff2bc9d348d8e6c2a03ac33e23e55e5807f6ffffffffffffffffffffffffffffffe4b6f365c772e1a1e76df14239085f0af6ffffffffffffffffffffffffffffffe4b6f365c772e1a1e76df14239085f0a\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c55491e17fb1ebf66bb0a3ecbc1bc25151b278ab6424829315f4b083322f0db37ffb4365776d1717fb3f9f45f9888c97f3f689761bc8de9b4c93af122a8f78224d871d72e9f20f1fd6a77429527f8b81482946055ed72368ee5c00a3efbb376f\nresult = valid\ntag = 4c21dabf80184666ee0752d61aee183a\n\n# tcId = 227\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff76233bc3302a7af4ab058503918804680e9f0afd4265e0b0b33071d9a97980b80e9f0afd4265e0b0b33071d9a97980b8\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc2510c5890208ce83ac784320ba346f951dc879bb667caf70858b7f01163af0ef3d019df70ee9edfdf8a18ce2f89bafea790\nresult = valid\ntag = b41fc59d364e1050c2076dfe596ba799\n\n# tcId = 228\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffffb4d5dc56f6831c4148d183744b10c30afdffffffffffffffffffffffffffffff661e3664a5ae853e51bb9a90b7941d02fdffffffffffffffffffffffffffffff661e3664a5ae853e51bb9a90b7941d02\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d65491e17fb1ebf66bb0a3ecbc1bc251ceae77b54a415c7267e60dd49c6196be74fb4365776d1717fb3f9f45f9888c97715e4c777914ba04fa45c4c0a4133a2a46871d72e9f20f1fd6a77429527f8b81ca8183043c0b47f7588a6b7161277567\nresult = valid\ntag = 8beed54dc183a687b2cdcbf6423a26a3\n\n# tcId = 229\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e5ffffffffffffffffffffffffffffff363d1f55d4bfc0ddb11e2dc2c99c8102ffffffffffffffffffffffffffffffff0bbf59b1c3d0b4edeecb4ef0bdd93834ffffffffffffffffffffffffffffffff0bbf59b1c3d0b4edeecb4ef0bdd93834\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e65491e17fb1ebf66bb0a3ecbc1bc2514c46b4b6687d80ee9e29a3621eedd4b676fb4365776d1717fb3f9f45f9888c971cff23a21f6a8bd7453510a0ae5e1f1c44871d72e9f20f1fd6a77429527f8b81a720ecd15a757624e7fabf116b6a5051\nresult = valid\ntag = cabbd1db01ef06a9769345176b86330c\n\n# tcId = 230\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c9ffffffffffffffffffffffffffffff33d0410e7ddd5dcf5f3ab3527fbed507e6ffffffffffffffffffffffffffffffecbd612b6c697cd00ce56572d367dc0ae6ffffffffffffffffffffffffffffffecbd612b6c697cd00ce56572d367dc0a\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ca5491e17fb1ebf66bb0a3ecbc1bc25149abeaedc11f1dfc700d3df2a8cf80b36ffb4365776d1717fb3f9f45f9888c97fbfd1b38b0d343eaa71b3b22c0e0fb225d871d72e9f20f1fd6a77429527f8b814022d44bf5ccbe1905d4949305d4b46f\nresult = valid\ntag = d16098eb4150bcac1a54e11a53abdf17\n\n# tcId = 231\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = bfffffffffffffffffffffffffffffff585e9126822094a6e26e4d6f503a8a07f1ffffffffffffffffffffffffffffffef1d1a356a07ec974fb84a8b0023f506f1ffffffffffffffffffffffffffffffef1d1a356a07ec", + "974fb84a8b0023f506\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = bc5491e17fb1ebf66bb0a3ecbc1bc25122253ac53ee2d495cd59c3cf874bdfb378fb4365776d1717fb3f9f45f9888c97f85d6026b6bdd3ade44614db13a4d22e4a871d72e9f20f1fd6a77429527f8b814382af55f3a22e5e4689bb6ad6909d63\nresult = valid\ntag = 6005e4ae07fba16ee6e7cfd2ee645c26\n\n# tcId = 232\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 852da88f8e833be61c313cf0cca044ee691e206e368668ffa67ac689bd097d2b691e206e368668ffa67ac689bd097d2b\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 8686c6910ecd2fef887e60e38f44794013658b8d8a4428cc894d48296a78289fe01a9cf4be148017a2baa633bb7e0e43\nresult = valid\ntag = 91d0ac28cd0f09a8261194b8df0abc0d\n\n# tcId = 233\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff0cb11bba47bb8eeb7ec6ced3c544f03eaa2cebf359f6eca786f1baa9de356c8faa2cebf359f6eca786f1baa9de356c8f\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc25176cab059fb79ced851f140731235a58a23285769d164044f8231da13d8421fe7bd6c91e0854cd39d2d0fe4f9cdb24ba7\nresult = valid\ntag = 9d652db06f7b08621f02c7f294abbe58\n\n# tcId = 234\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffee636fad482c4a1dc3c106a9f992dc8c8cdf3ee75a67a0d9caecf27e128458dd8cdf3ee75a67a0d9caecf27e128458dd\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc2519418c44ef4ee0a2eecf688092ee3893805db827dd2f54831ce2c92c414f32bb59b9f44f486dd9fe36112ac2e01037ff5\nresult = valid\ntag = b5893d2129f0408a5480c7fc3fc9de5d\n\n# tcId = 235\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c7ffffffffffffffffffffffffffffffe26398b0b4aea0f7527511c8f9837208f9ffffffffffffffffffffffffffffffcea035c9810c28eaf87afdd70dccc307f9ffffffffffffffffffffffffffffffcea035c9810c28eaf87afdd70dccc307\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c45491e17fb1ebf66bb0a3ecbc1bc25198183353086ce0c47d429f682ef227bc70fb4365776d1717fb3f9f45f9888c97d9e04fda5db617d05384a3871e4be42f42871d72e9f20f1fd6a77429527f8b81623f80a918a9ea23f14b0c36db7fab62\nresult = valid\ntag = 0b88cfa42284726dad2be1de8a057626\n\n# tcId = 236\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff8ed08c3c58e3b9b12f5b7c298e894a392b4c5c766a1e206e368668ffa67ac6892b4c5c766a1e206e368668ffa67ac689\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc251f4ab27dfe421f982006cf28959f81f8da248e0ece28cc88632460845a00db5e13c0c2665b6a41f549d7836afb5fde1a1\nresult = valid\ntag = 5e97665318961c4c95e928fc11140063\n\n# tcId = 237\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff477f4844e38a8dbabb786d0e618b6f83e4fa177ef6c5f376c3a359e4787cebd3e4fa177ef6c5f376c3a359e4787cebd3\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc2513d04e3a75f48cd89944fe3aeb6fa3a376dfeabe47e571b9ec763395e7e0b98bbf3ba6d6d2a7fcc4c685d07b46bfbccfb\nresult = valid\ntag = ff71ef44bc734132701144f73497756b\n\n# tcId = 238\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c4ffffffffffffffffffffffffffffff9078f44cabe20b269f4d77f7ada54f01f4ffffffffffffffffffffffffffffff6bd4236b28a82d2595ce3f187f6f5500f4ffffffffffffffffffffffffffffff6bd4236b28a82d2595ce3f187f6f5500\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c75491e17fb1ebf66bb0a3ecbc1bc251ea035faf17204b15b07af9577ad41ab57dfb4365776d1717fb3f9f45f9888c977c945978f412121f3e3061486ce872284f871d72e9f20f1fd6a77429527f8b81c74b960bb10defec9cffcef9a9dc3d65\nresult = valid\ntag = 2ab3cabef2de4268a5313cd59dcd193e\n\n# tcId = 239\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d8ffffffffffffffffffffffffffffffc2492648ea2f93394ecd9d69e7edf202dfffffffffffffffffffffffffffffffb40a3f44d4f1ffdd970813853381ae03dfffffffffffffffffffffffffffffffb40a3f44d4f1ffdd970813853381ae03\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = db5491e17fb1ebf66bb0a3ecbc1bc251b8328dab56edd30a61fa13c9309ca7b656fb4365776d1717fb3f9f45f9888c97a34a4557084bc0e73cf64dd52006892b64871d72e9f20f1fd6a77429527f8b8118958a244d543d149e39e264e532c666\nresult = valid\ntag = 32bcb167c875045b9651816e4bedf51a\n\n# tcId = 240\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c7ffffffffffffffffffffffffffffffe788168bdb551c0cc76cd469aebcd909feffffffffffffffffffffffffffffff8d50f588b8b6bac4016eb3f0d9bc720afeffffffffffffffffffffffffffffff8d50f588b8b6bac4016eb3f0d9bc720a\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c45491e17fb1ebf66bb0a3ecbc1bc2519df3bd6867975c3fe85b5ac979cd8cbd77fb4365776d1717fb3f9f45f9888c979a108f9b640c85feaa90eda0ca3b552245871d72e9f20f1fd6a77429527f8b8121cf40e82113780d085f42110f0f1a6f\nresult = valid\ntag = 2ec4ac70d29ad094e46ce355eb94d1ea\n\n# tcId = 241\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e2ffffffffffffffffffffffffffffff2f36b18f2fc925af8ca7b8922f3d0402ffffffffffffffffffffffffffffffff7d591f230ba1a0e665f867b15830b205ffffffffffffffffffffffffffffffff7d591f230ba1a0e665f867b15830b205\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e15491e17fb1ebf66bb0a3ecbc1bc251554d1a6c930b659ca3903632f84c51b676fb4365776d1717fb3f9f45f9888c976a196530d71b9fdcce0639e14bb7952d44871d72e9f20f1fd6a77429527f8b81d1c6aa439204622f6cc996508e83da60\nresult = valid\ntag = 3c2b4a7555046076eeade41b7e613817\n\n# tcId = 242\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e2ffffffffffffffffffffffffffffff2d36b18f2fc925af8ca7b8922f3d0402cfffffffffffffffffffffffffffffffbea8cba2377741c06ee4f8f06f4c9007cfffffffffffffffffffffffffffffffbea8cba2377741c06ee4f8f06f4c9007\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e15491e17fb1ebf66bb0a3ecbc1bc251574d1a6c930b659ca3903632f84c51b646fb4365776d1717fb3f9f45f9888c97a9e8b1b1ebcd7efac51aa6a07ccbb72f74871d72e9f20f1fd6a77429527f8b8112377ec2aed2830967d50911b9fff862\nresult = valid\ntag = 4ecddcea2b6ac14ea6e08789e730a145\n\n# tcId = 243\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = fffffffffffffffffffffffffffffffff9df160fd4bfb1c1ed9a07a1aab2dd93faffffffffffffffffffffffffffffffb4ffe770d84307956ddcd88e0d585202faffffffffffffffffffffffffffffffb4ffe770d84307956ddcd88e0d585202\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc25183a4bdec687df1f2c2ad89017dc3882773fb4365776d1717fb3f9f45f9888c97a3bf9d6304f938afc62286de1edf752a41871d72e9f20f1fd6a77429527f8b811860521041e6c55c64ed296fdbeb3a67\nresult = valid\ntag = c21949bfae429c58105372c714964e39\n\n# tcId = 244\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 52cbcefcad6266cbc8ef53e42ba0c88fe3ffffffffffffffffffffffffffffff0dba55789a64e947dbe380db69b16803e3ffffffffffffffffffffffffffffff0dba55789a64e947dbe380db69b16803\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5160a0e22d2c72c25ca00ff76844f5219984541c433dbfccd0c8715f288eaa4b84bee9e212f601afdf23e0616fc61b6bf4bf85ec2345c0c55401a1afec78d8d7b6c2b7f58c6919a7f2bb0b0dc4311c7d\nresult = valid\ntag = 31827cfd0227dae6020564fe6677828e\n\n# tcId = 245\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = a93062e1009c4449e5f854b1249d6772e0ffffffffffffffffffffffffffffff9b7c4c8d3bfb", + "eace2c056bb4973d0b05e0ffffffffffffffffffffffffffffff9b7c4c8d3bfbeace2c056bb4973d0b05\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = aa9b0cff80d2504071b708a267795adc9a84541c433dbfccd0c8715f288eaa4b1278f017b369022628c50b0e914a786df7bf85ec2345c0c55401a1afec78d8d72004ae002df61a2e055de0623abd7f7b\nresult = valid\ntag = 0f146dfc74edd6e8b92e4efde9568392\n\n# tcId = 246\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffff4f3f0a1cc1d293cb0dbcfd37623be207c3ffffffffffffffffffffffffffffff980f6f46e41888c0da20f1444d5f5f0ac3ffffffffffffffffffffffffffffff980f6f46e41888c0da20f1444d5f5f0a\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d65491e17fb1ebf66bb0a3ecbc1bc2513544a1ff7d10d3f8228b7397b54ab7b34afb4365776d1717fb3f9f45f9888c978f4f155538a2b7fa71deaf145ed8782278871d72e9f20f1fd6a77429527f8b813490da267dbd4a09d31100a59bec376f\nresult = valid\ntag = 8fcacbc3d070336717f838d754f7033d\n\n# tcId = 247\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff5db2db84e55898b9e22aedcba64524dcf92dabbef793fe75ea55d9a1bf36a02cf92dabbef793fe75ea55d9a1bf36a02c\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc25127c97067599ad88acd1d636b71347168702917247f01169dee95b91bb941d344ee6dd1ad2b29c14f41ab87f1acb18704\nresult = valid\ntag = ddd96272c682dd45ffb580f4db058e79\n\n# tcId = 248\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff4be525c9aa5fb99244a4a2503d9503f7f2ffffffffffffffffffffffffffffffde0343075e5f508cdeb918624ae71708f2ffffffffffffffffffffffffffffffde0343075e5f508cdeb918624ae71708\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc251319e8e2a169df9a16b932cf0eae456437bfb4365776d1717fb3f9f45f9888c97c943391482e56fb6754746325960302049871d72e9f20f1fd6a77429527f8b81729cf667c7fa9245d788e9839c547f6d\nresult = valid\ntag = 2243326100d105501684abc0aa1010f4\n\n# tcId = 249\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = fdffffffffffffffffffffffffffffff384855e6c60c3ec1824cce0562405c08c87997005985397642f682d4aae77f41c87997005985397642f682d4aae77f41\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fe5491e17fb1ebf66bb0a3ecbc1bc2514233fe057ace7ef2ad7b40a5b53109bc417d2b9ad117d19e4636e26eac900c29df39ed13853f064ce908dc84b9605869\nresult = valid\ntag = 8a411d3fb606d039ea83c6e8e98d9e53\n\n# tcId = 250\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = dfffffffffffffffffffffffffffffff3e791946233a67a0c7fe509f14179607deffffffffffffffffffffffffffffff414535660bac916aa675c9eeee5b2608deffffffffffffffffffffffffffffff414535660bac916aa675c9eeee5b2608\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = dc5491e17fb1ebf66bb0a3ecbc1bc2514402b2a59ff82793e8c9de3fc366c3b357fb4365776d1717fb3f9f45f9888c9756054f75d716ae500d8b97befddc012065871d72e9f20f1fd6a77429527f8b81edda8006920953a3af44380f38e84e6d\nresult = valid\ntag = 5ed9e3c1cacff152211b5c57fd628278\n\n# tcId = 251\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c4ffffffffffffffffffffffffffffff346775ef8bf64e8ed1593b2ce2133e01c2ffffffffffffffffffffffffffffff3733910f74687958b0d0b37bbc58ce01c2ffffffffffffffffffffffffffffff3733910f74687958b0d0b37bbc58ce01\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c75491e17fb1ebf66bb0a3ecbc1bc2514e1cde0c37340ebdfe6eb58c35626bb54bfb4365776d1717fb3f9f45f9888c972073eb1ca8d246621b2eed2bafdfe92979871d72e9f20f1fd6a77429527f8b819bac246fedcdbb91b9e1429a6aeba664\nresult = valid\ntag = 657eaad10a31a756c5dbf75ae5872e84\n\n# tcId = 252\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 5667456206e49afa486a19f0a478a7543a58bd40afe6c713d3b3a38995e1df913a58bd40afe6c713d3b3a38995e1df91\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 55cc2b7c86aa8ef3dc2545e3e79c9afa402316a313248720fc842d2942908a25b35c01da27742ffbd773c3339396acf9\nresult = valid\ntag = 25545d0636b19f9319ff5bb0191c89fb\n\n# tcId = 253\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = deffffffffffffffffffffffffffffff0846af843d1c80165bbd914582a77702deffffffffffffffffffffffffffffffd7010c1eb016839cbd95cd5eaad61a03deffffffffffffffffffffffffffffffd7010c1eb016839cbd95cd5eaad61a03\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 690ed780cbde3c9617205cba5e51ca35b6361e9d88e9f262299d7730839f48db3a32d61828f3f54056c1f9113f9b8e180d52a0ddb24c9b3018d53415e705c35e1fa08298547a71b0467c59e48a75cea42a00d0f01b609d7723ec2d39056428f1\nresult = valid\ntag = 92a14f8e928d42edaab17206102c8123\n\n# tcId = 254\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c2ffffffffffffffffffffffffffffffa4c3923709138ea291658f729ecc9607c2ffffffffffffffffffffffffffffffa14efbcfdb92781b6cc7c8881a3e0000c2ffffffffffffffffffffffffffffffa14efbcfdb92781b6cc7c8881a3e0000\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 750ed780cbde3c9617205cba5e51ca351ab3232ebce6fcd6e34569079ff4a9de2632d61828f3f54056c1f9113f9b8e187b1d570cd9c860b7c98731c357edd95d03a08298547a71b0467c59e48a75cea45c4f272170e466f0f2be28efb58c32f2\nresult = valid\ntag = 64d2438f32085bfa32287509bce9ba2b\n\n# tcId = 255\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d1ffffffffffffffffffffffffffffffe181fc89d718a153ed384da8b9486e07ccffffffffffffffffffffffffffffffb03d59234a13a4d94f1189c1e1771108ccffffffffffffffffffffffffffffffb03d59234a13a4d94f1189c1e1771108\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 660ed780cbde3c9617205cba5e51ca355ff14d9062edd3279f18abddb87051de2832d61828f3f54056c1f9113f9b8e186a6ef5e04849bc75ea51708aaca4c8550da08298547a71b0467c59e48a75cea44d3c85cde165ba32d16869a64ec523fa\nresult = valid\ntag = ac951493b2f2bc2e53027f156ce0a14c\n\n# tcId = 256\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c5ffffffffffffffffffffffffffffffe88c558ed19aa983f73d0608452c2b04bbffffffffffffffffffffffffffffffb748b2274495ac095a1642216d5bce04bbffffffffffffffffffffffffffffffb748b2274495ac095a1642216d5bce04\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 720ed780cbde3c9617205cba5e51ca3556fce497646fdbf7851de07d441414dd5f32d61828f3f54056c1f9113f9b8e186d1b1ee446cfb4a5ff56bb6a208817597aa08298547a71b0467c59e48a75cea44a496ec9efe3b2e2c46fa246c2e9fcf6\nresult = valid\ntag = c689d997d2573770fb528b24c894c275\n\n# tcId = 257\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c8ffffffffffffffffffffffffffffff2c5618e59922c5645d167d9deb8bbf00b5fffffffffffffffffffffffffffffffb11757e0c1dc8eabfeeb8b613bb6201b5fffffffffffffffffffffffffffffffb11757e0c1dc8eabfeeb8b613bb6201\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 7f0ed780cbde3c9617205cba5e51ca359226a9fc2cd7b7102f369be8eab380d95132d61828f3f54056c1f9113f9b8e182142d9bd0e47d0461aae41fd5e68bb5c74a08298547a71b0467c59e48a75cea40610a990a76bd601219758d1bc0950f3\nresult = valid\ntag = 28416fa072a713e6c37da13fd43fcabf\n\n# tcId = 258\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = acffffffffffffffffffffffffffffffc8d3fb976519d3f093be7aca07b1de05ffffffffffffffffffffffffffffffff14eb18cf77bdfc3139e6b8adfa8f46b7ffffffffffffffffffffffffffffffff14eb18cf77bdfc3139e6b8adfa8f46b7\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1b0ed780cbde3c9617205cba5e51ca3576a34a8ed0eca", + "184e19e9cbf0689e1dc1b32d61828f3f54056c1f9113f9b8e18ceb8b40c75e7e49d9ca641e6b75c9fea3ea08298547a71b0467c59e48a75cea4e9eac421dccbe2daa79f58ca553d7445\nresult = valid\ntag = fa7163a112222cf34bf4a34280fd03c8\n\n# tcId = 259\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = f4ffffffffffffffffffffffffffffff37ed06bed42b3371a0690348c3a56b07f5ffffffffffffffffffffffffffffffef7b1b4d75f541f662c72654635e0c05f5ffffffffffffffffffffffffffffffef7b1b4d75f541f662c72654635e0c05\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 430ed780cbde3c9617205cba5e51ca35899db7a761de4105d249e53dc29d54de1132d61828f3f54056c1f9113f9b8e183528b78e77af595ac787df1f2e8dd55834a08298547a71b0467c59e48a75cea4127ac7a3de835f1dfcbec633ccec3ef7\nresult = valid\ntag = d79da397c4431ee1c2b58810ece4491e\n\n# tcId = 260\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffff013af66f00a828f04e9bfe71330d5104d9ffffffffffffffffffffffffffffffb9c80affa071377511f9217ed3c5f101d9ffffffffffffffffffffffffffffffb9c80affa071377511f9217ed3c5f101\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 6e0ed780cbde3c9617205cba5e51ca35bf4a4776b55d5a843cbb180432356edd3d32d61828f3f54056c1f9113f9b8e18639ba63ca22b2fd9b4b9d8359e16285c18a08298547a71b0467c59e48a75cea444c9d6110b07299e8f80c1197c77c3f3\nresult = valid\ntag = a9ce979864be36ee4a2c8b1398a28326\n\n# tcId = 261\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = adffffffffffffffffffffffffffffffd0ee341aa23be6af817dae6a277a5f01b7ffffffffffffffffffffffffffffff24d5434233947c397a23d4937f95ba03b7ffffffffffffffffffffffffffffff24d5434233947c397a23d4937f95ba03\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1a0ed780cbde3c9617205cba5e51ca356e9e850317ce94dbf35d481f264260d85332d61828f3f54056c1f9113f9b8e18fe86ef8131ce6495df632dd83246635e76a08298547a71b0467c59e48a75cea4d9d49fac98e262d2e45a34f4d02788f1\nresult = valid\ntag = d48e13f63365ba66c44270d827d787cf\n\n# tcId = 262\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ddffffffffffffffffffffffffffffffa53e62ebb171667070059544ebd43401f0ffffffffffffffffffffffffffffff7e4f23a2612890fdfe78a47d73dc4705f0ffffffffffffffffffffffffffffff7e4f23a2612890fdfe78a47d73dc4705\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 6a0ed780cbde3c9617205cba5e51ca351b4ed3f20484140402257331eaec0bd81432d61828f3f54056c1f9113f9b8e18a41c8f61637288515b385d363e0f9e5831a08298547a71b0467c59e48a75cea4834eff4cca5e8e166001441adc6e75f7\nresult = valid\ntag = edaccb5e75b74aed654a70adeb3fc883\n\n# tcId = 263\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 7b045b2795580ba16bdcbb2467be37e706b7b836937221c94c7575bfff2692fe06b7b836937221c94c7575bfff2692fe\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ccf57358a179c8c883031861c610022db8c7092f268753bd3e5593cafe1ead27e27a91d1447e2b76e54b73513f42e319\nresult = valid\ntag = 6c49f0fd16742ea3fc257e460099469a\n\n# tcId = 264\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 1f2b89bfe0e56bbec08d74fdb2240606a9dde6cedeff81e6a1262e984b8d601da9dde6cedeff81e6a1262e984b8d601d\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = a8daa1c0d4c4a8d72852d7b8138a33cc17ad57d76b0af392d306c8ed4ab55fc44d10cf2909f38b59081828768be911fa\nresult = valid\ntag = 3e7ae4feb6ee46b0849c8049ac5680a2\n\n# tcId = 265\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d6ffffffffffffffffffffffffffffff587d870a45a8fcb52ee4c626300abb03d6fffffffffffffffffffffffffffffff6cccd9d5fbf30391a0ad3420e7f6c06d6fffffffffffffffffffffffffffffff6cccd9d5fbf30391a0ad3420e7f6c06\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 610ed780cbde3c9617205cba5e51ca35e60d3613f05d8ec15cc42053313284da3232d61828f3f54056c1f9113f9b8e182c9f615e5de52895bf4a2a0943acb55b17a08298547a71b0467c59e48a75cea40bcd1173f4c92ed284733325a1cd5ef4\nresult = valid\ntag = c30d6694ea7011f02164a2035ae67221\n\n# tcId = 266\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = aaffffffffffffffffffffffffffffff85039d322c090c408537c64d1f79b801abffffffffffffffffffffffffffffff4ddc21b4197187be7a22934de1bd4303abffffffffffffffffffffffffffffff4ddc21b4197187be7a22934de1bd4303\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1d0ed780cbde3c9617205cba5e51ca353b732c2b99fc7e34f71720381e4187d84f32d61828f3f54056c1f9113f9b8e18978f8d771b2b9f12df626a06ac6e9a5e6aa08298547a71b0467c59e48a75cea4b0ddfd5ab2079955e45b732a4e0f71f1\nresult = valid\ntag = c75333a577a5b1e78f28df1cca585f1a\n\n# tcId = 267\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = edffffffffffffffffffffffffffffff221a96a56623b1d6a401904e2348f607ddffffffffffffffffffffffffffffff2aaf479f960f07c46804e8da4c866903ddffffffffffffffffffffffffffffff2aaf479f960f07c46804e8da4c866903\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5a0ed780cbde3c9617205cba5e51ca359c6a27bcd3d6c3a2d621763b2270c9de3932d61828f3f54056c1f9113f9b8e18f0fceb5c94551f68cd4411910155b05e1ca08298547a71b0467c59e48a75cea4d7ae9b713d79192ff67d08bde3345bf1\nresult = valid\ntag = 79d53d3dd5457757caef7dc3cef74cac\n\n# tcId = 268\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 85fd65ab462899540ac38c1245647a010fb0c3ba4442bf7cec5b46adddcbd4180fb0c3ba4442bf7cec5b46adddcbd418\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 320c4dd472095a3de21c2f57e4ca4fcbb1c072a3f1b7cd089e7ba0d8dcf3ebc1eb7dea5d934eb5c3456540431dafa5ff\nresult = valid\ntag = e2714a882d47f25b7373b9e68edc1721\n\n# tcId = 269\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = deffffffffffffffffffffffffffffff0946af843d1c80165bbd914582a77702ffffffffffffffffffffffffffffffffb4c9b7e3bb757fcb42cdc3be911b5a17ffffffffffffffffffffffffffffffffb4c9b7e3bb757fcb42cdc3be911b5a17\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 690ed780cbde3c9617205cba5e51ca35b7361e9d88e9f262299d7730839f48db1b32d61828f3f54056c1f9113f9b8e186e9a1b20b92f6767e78d3af5dcc8834a3ea08298547a71b0467c59e48a75cea449c86b0d10036120dcb423d93ea968e5\nresult = valid\ntag = 9f8e29a9e65f1e0e9c322b43fc73d0ff\n\n# tcId = 270\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = deffffffffffffffffffffffffffffff0746af843d1c80165bbd914582a77702baffffffffffffffffffffffffffffff70cc3c5b8427d094d0c1de07c7ca8807baffffffffffffffffffffffffffffff70cc3c5b8427d094d0c1de07c7ca8807\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 690ed780cbde3c9617205cba5e51ca35b9361e9d88e9f262299d7730839f48db5e32d61828f3f54056c1f9113f9b8e18aa9f9098867dc8387581274c8a19515a7ba08298547a71b0467c59e48a75cea48dcde0b52f51ce7f4eb83e606878baf5\nresult = valid\ntag = 80b475733ebb66ccb930bac923e43147\n\n# tcId = 271\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 1520f59fc1962056251eff9bfa09c7b1d8ffffffffffffffffffffffffffffff88d0a9d5fe3a36639d30c6a4ce086700d8ffffffffffffffffffffffffffffff88d0a9d5fe3a36639d30c6a4ce086700\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = a2d1dde0f5b7e33fcdc15cde5ba7f27b668f4ee64a0a8d8b8ddf198afec7c0266c1d803229363cdc340ec04a0e6c16e702ac533cfda5e7535abf06b4b22c26a2498fd4b255bfb82c24b360bfbb82565b\nresult = valid\ntag = 6818e1b9360bcb4c10bb8d7b2c5679f1\n\n# tcId = 272\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = f0ffffffffffffffffffffffffffffffbcb469752d29ed0eedde97729c066401afffffffffffffffffffffffffffffff0e4b7962ddc437d295321d62145e4605affffffffffffff", + "fffffffffffffffff0e4b7962ddc437d295321d62145e4605\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 470ed780cbde3c9617205cba5e51ca3502c4d86c98dc9f7a9ffe71079d3e5bd84b32d61828f3f54056c1f9113f9b8e18d418d5a1df9e2f7e3072e429598d9f586ea08298547a71b0467c59e48a75cea4f34aa58c76b229390b4bfd05bbec74f7\nresult = valid\ntag = 612c9d78f50e3203f04ec9f36c2ceb36\n\n# tcId = 273\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d7ffffffffffffffffffffffffffffff6f256871f09983b96827d150c970bf03ffffffffffffffffffffffffffffffff373460e4ba4c6d30e7dce9f0a58d4eb9ffffffffffffffffffffffffffffffff373460e4ba4c6d30e7dce9f0a58d4eb9\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 600ed780cbde3c9617205cba5e51ca35d155d968456cf1cd1a073725c84880da1b32d61828f3f54056c1f9113f9b8e18ed67cc27b816759c429c10bbe85e97e43ea08298547a71b0467c59e48a75cea4ca35bc0a113a73db79a509970a3f7c4b\nresult = valid\ntag = c4ad8c8e3aac88f04c4f33077b9b8f25\n\n# tcId = 274\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = bcffffffffffffffffffffffffffffff397257231c1679381759cc7a39d8a40048b0397e9eb0b864aadde6cedeff81e648b0397e9eb0b864aadde6cedeff81e6\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0b0ed780cbde3c9617205cba5e51ca358702e63aa9e30b4c65792a0f38e09bd9ac7d109949bcb2db03e3e0201e9bf00192e395bd9ceaa0c80f9d1f85932c58bb\nresult = valid\ntag = b744dd541b16fb820525d29042e77b16\n\n# tcId = 275\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 62240a07ec23035a1df6e50c92fdf5edebd66716ea3d1982ff8e9fa72a665005ebd66716ea3d1982ff8e9fa72a665005\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d5d52278d802c033f52946493353c02755a6d60f5fc86bf68dae79d22b5e6fdc0f1b4ef13d31133d56b09949ea0221e2\nresult = valid\ntag = ead346fd87d575c364f6514fcfc6e9a7\n\n# tcId = 276\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = eaffffffffffffffffffffffffffffff013b5680439a77e650b8d8e5f6c3ba05efffffffffffffffffffffffffffffffd0f6b219b6947a6cb39014ff1ef35d06efffffffffffffffffffffffffffffffd0f6b219b6947a6cb39014ff1ef35d06\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5d0ed780cbde3c9617205cba5e51ca35bf4be799f66f059222983e90f7fb85dc0b32d61828f3f54056c1f9113f9b8e180aa51edab4ce62c016d0edb45320845b2ea08298547a71b0467c59e48a75cea42df76ef71de264872de9f498b1416ff4\nresult = valid\ntag = 78ad8a897228c8ab026166f7b37760fa\n\n# tcId = 277\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = f9ffffffffffffffffffffffffffffff3ef9bfd211a08a97ac8b961b12409205faffffffffffffffffffffffffffffff0db51c6c849a8d1d0f64d2343a6f3506faffffffffffffffffffffffffffffff0db51c6c849a8d1d0f64d2343a6f3506\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4e0ed780cbde3c9617205cba5e51ca3580890ecba455f8e3deab706e1378addc1e32d61828f3f54056c1f9113f9b8e18d7e6b0af86c095b1aa242b7f77bcec5b3ba08298547a71b0467c59e48a75cea4f0b4c0822fec93f6911d325395dd07f4\nresult = valid\ntag = c0705b8df2122ae0223b7003646e471b\n\n# tcId = 278\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c6ffffffffffffffffffffffffffffff9e3c43af626435682efa462b6934e306adffffffffffffffffffffffffffffffade67189c4fdb72fbd23204e70d05802adffffffffffffffffffffffffffffffade67189c4fdb72fbd23204e70d05802\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 710ed780cbde3c9617205cba5e51ca35204cf2b6d791471c5cdaa05e680cdcdf4932d61828f3f54056c1f9113f9b8e1877b5dd4ac6a7af831863d9053d03815f6ca08298547a71b0467c59e48a75cea450e7ad676f8ba9c4235ac029df626af0\nresult = valid\ntag = d477566543e826f3c7f31248fd4452f6\n\n# tcId = 279\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = abffffffffffffffffffffffffffffff688932618ee02ae7dc2b4255d99bc803ffffffffffffffffffffffffffffffff363974d22fc9280ef6660c2df7b76e76ffffffffffffffffffffffffffffffff363974d22fc9280ef6660c2df7b76e76\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1c0ed780cbde3c9617205cba5e51ca35d6f983783b155893ae0ba420d8a3f7da1b32d61828f3f54056c1f9113f9b8e18ec6ad8112d9330a25326f566ba64b72b3ea08298547a71b0467c59e48a75cea4cb38a83c84bf36e5681fec4a58055c84\nresult = valid\ntag = a6a84a66e3623f00506a154ba9028cfe\n\n# tcId = 280\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 299d68726335317373895f9688972302c3ffffffffffffffffffffffffffffffb9b4c4ba39eebda9964cece40605f804c3ffffffffffffffffffffffffffffffb9b4c4ba39eebda9964cece40605f804\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9e6c400d5714f21a9b56fcd3293916c87d8f4ee64a0a8d8b8ddf198afec7c0265d79ed5deee2b7163f72ea0ac66189e319ac533cfda5e7535abf06b4b22c26a278ebb9dd926b33e62fcf4aff738fc95f\nresult = valid\ntag = 85b241bbbd0556368ec3fb749e7601ea\n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 281\n# invalid nonce size\naad = \nct = \niv = 0001020304050607\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 282\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 160]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 283\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d0e0f10111213\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 256]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 284\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n", }; static std::string AssembleString(const char **data, size_t len) { std::string ret; @@ -3458,240 +4548,465 @@ std::string GetTestData(const char *path) { if (strcmp(path, "crypto/cipher_extra/test/aes_128_gcm_tests.txt") == 0) { return AssembleString(kData7, kLen7); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_implicit_iv_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_192_gcm_tests.txt") == 0) { return AssembleString(kData8, kLen8); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_implicit_iv_tests.txt") == 0) { return AssembleString(kData9, kLen9); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha256_tls_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_tests.txt") == 0) { return AssembleString(kData10, kLen10); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha384_tls_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha256_tls_tests.txt") == 0) { return AssembleString(kData11, kLen11); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_ctr_hmac_sha256.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha384_tls_tests.txt") == 0) { return AssembleString(kData12, kLen12); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_gcm_siv_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_ctr_hmac_sha256.txt") == 0) { return AssembleString(kData13, kLen13); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_gcm_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_gcm_siv_tests.txt") == 0) { return AssembleString(kData14, kLen14); } - if (strcmp(path, "crypto/cipher_extra/test/chacha20_poly1305_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_gcm_tests.txt") == 0) { return AssembleString(kData15, kLen15); } - if (strcmp(path, "crypto/cipher_extra/test/xchacha20_poly1305_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/chacha20_poly1305_tests.txt") == 0) { return AssembleString(kData16, kLen16); } - if (strcmp(path, "crypto/cipher_extra/test/cipher_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/xchacha20_poly1305_tests.txt") == 0) { return AssembleString(kData17, kLen17); } - if (strcmp(path, "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_implicit_iv_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/cipher_tests.txt") == 0) { return AssembleString(kData18, kLen18); } - if (strcmp(path, "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_implicit_iv_tests.txt") == 0) { return AssembleString(kData19, kLen19); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_cbc.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_tests.txt") == 0) { return AssembleString(kData20, kLen20); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_ctr.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_cbc.txt") == 0) { return AssembleString(kData21, kLen21); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_gcm.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_ctr.txt") == 0) { return AssembleString(kData22, kLen22); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_192_cbc.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_gcm.txt") == 0) { return AssembleString(kData23, kLen23); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_192_ctr.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_192_cbc.txt") == 0) { return AssembleString(kData24, kLen24); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_cbc.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_192_ctr.txt") == 0) { return AssembleString(kData25, kLen25); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_ctr.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_cbc.txt") == 0) { return AssembleString(kData26, kLen26); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_gcm.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_ctr.txt") == 0) { return AssembleString(kData27, kLen27); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/tdes_cbc.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_gcm.txt") == 0) { return AssembleString(kData28, kLen28); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/tdes_ecb.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/tdes_cbc.txt") == 0) { return AssembleString(kData29, kLen29); } - if (strcmp(path, "crypto/curve25519/ed25519_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/tdes_ecb.txt") == 0) { return AssembleString(kData30, kLen30); } - if (strcmp(path, "crypto/cmac/cavp_3des_cmac_tests.txt") == 0) { + if (strcmp(path, "crypto/curve25519/ed25519_tests.txt") == 0) { return AssembleString(kData31, kLen31); } - if (strcmp(path, "crypto/cmac/cavp_aes128_cmac_tests.txt") == 0) { + if (strcmp(path, "crypto/cmac/cavp_3des_cmac_tests.txt") == 0) { return AssembleString(kData32, kLen32); } - if (strcmp(path, "crypto/cmac/cavp_aes192_cmac_tests.txt") == 0) { + if (strcmp(path, "crypto/cmac/cavp_aes128_cmac_tests.txt") == 0) { return AssembleString(kData33, kLen33); } - if (strcmp(path, "crypto/cmac/cavp_aes256_cmac_tests.txt") == 0) { + if (strcmp(path, "crypto/cmac/cavp_aes192_cmac_tests.txt") == 0) { return AssembleString(kData34, kLen34); } - if (strcmp(path, "crypto/ecdh_extra/ecdh_tests.txt") == 0) { + if (strcmp(path, "crypto/cmac/cavp_aes256_cmac_tests.txt") == 0) { return AssembleString(kData35, kLen35); } - if (strcmp(path, "crypto/evp/evp_tests.txt") == 0) { + if (strcmp(path, "crypto/ecdh_extra/ecdh_tests.txt") == 0) { return AssembleString(kData36, kLen36); } - if (strcmp(path, "crypto/evp/scrypt_tests.txt") == 0) { + if (strcmp(path, "crypto/evp/evp_tests.txt") == 0) { return AssembleString(kData37, kLen37); } - if (strcmp(path, "crypto/fipsmodule/aes/aes_tests.txt") == 0) { + if (strcmp(path, "crypto/evp/scrypt_tests.txt") == 0) { return AssembleString(kData38, kLen38); } - if (strcmp(path, "crypto/fipsmodule/bn/bn_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/aes/aes_tests.txt") == 0) { return AssembleString(kData39, kLen39); } - if (strcmp(path, "crypto/fipsmodule/ec/ec_scalar_base_mult_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/bn/bn_tests.txt") == 0) { return AssembleString(kData40, kLen40); } - if (strcmp(path, "crypto/fipsmodule/ec/p256-x86_64_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/bn/miller_rabin_tests.txt") == 0) { return AssembleString(kData41, kLen41); } - if (strcmp(path, "crypto/fipsmodule/ecdsa/ecdsa_sign_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/ec/ec_scalar_base_mult_tests.txt") == 0) { return AssembleString(kData42, kLen42); } - if (strcmp(path, "crypto/fipsmodule/ecdsa/ecdsa_verify_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/ec/p256-x86_64_tests.txt") == 0) { return AssembleString(kData43, kLen43); } - if (strcmp(path, "crypto/fipsmodule/modes/gcm_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/ecdsa/ecdsa_sign_tests.txt") == 0) { return AssembleString(kData44, kLen44); } - if (strcmp(path, "crypto/fipsmodule/rand/ctrdrbg_vectors.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/ecdsa/ecdsa_verify_tests.txt") == 0) { return AssembleString(kData45, kLen45); } - if (strcmp(path, "crypto/hmac_extra/hmac_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/modes/gcm_tests.txt") == 0) { return AssembleString(kData46, kLen46); } - if (strcmp(path, "crypto/poly1305/poly1305_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/rand/ctrdrbg_vectors.txt") == 0) { return AssembleString(kData47, kLen47); } - if (strcmp(path, "crypto/siphash/siphash_tests.txt") == 0) { + if (strcmp(path, "crypto/hmac_extra/hmac_tests.txt") == 0) { return AssembleString(kData48, kLen48); } - if (strcmp(path, "crypto/x509/many_constraints.pem") == 0) { + if (strcmp(path, "crypto/hpke/hpke_test_vectors.txt") == 0) { return AssembleString(kData49, kLen49); } - if (strcmp(path, "crypto/x509/many_names1.pem") == 0) { + if (strcmp(path, "crypto/poly1305/poly1305_tests.txt") == 0) { return AssembleString(kData50, kLen50); } - if (strcmp(path, "crypto/x509/many_names2.pem") == 0) { + if (strcmp(path, "crypto/siphash/siphash_tests.txt") == 0) { return AssembleString(kData51, kLen51); } - if (strcmp(path, "crypto/x509/many_names3.pem") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_ca.pem") == 0) { return AssembleString(kData52, kLen52); } - if (strcmp(path, "crypto/x509/some_names1.pem") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_ca_pathlen_0.pem") == 0) { return AssembleString(kData53, kLen53); } - if (strcmp(path, "crypto/x509/some_names2.pem") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_ca_pathlen_1.pem") == 0) { return AssembleString(kData54, kLen54); } - if (strcmp(path, "crypto/x509/some_names3.pem") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_ca_pathlen_10.pem") == 0) { return AssembleString(kData55, kLen55); } - if (strcmp(path, "third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_leaf.pem") == 0) { return AssembleString(kData56, kLen56); } - if (strcmp(path, "third_party/wycheproof_testvectors/aes_cmac_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_none.pem") == 0) { return AssembleString(kData57, kLen57); } - if (strcmp(path, "third_party/wycheproof_testvectors/aes_gcm_siv_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate.pem") == 0) { return AssembleString(kData58, kLen58); } - if (strcmp(path, "third_party/wycheproof_testvectors/aes_gcm_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_authority_key_identifier.pem") == 0) { return AssembleString(kData59, kLen59); } - if (strcmp(path, "third_party/wycheproof_testvectors/chacha20_poly1305_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_basic_constraints.pem") == 0) { return AssembleString(kData60, kLen60); } - if (strcmp(path, "third_party/wycheproof_testvectors/dsa_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_ext_key_usage.pem") == 0) { return AssembleString(kData61, kLen61); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp224r1_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_key_usage.pem") == 0) { return AssembleString(kData62, kLen62); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp256r1_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_name_constraints.pem") == 0) { return AssembleString(kData63, kLen63); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp384r1_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_subject_alt_name.pem") == 0) { return AssembleString(kData64, kLen64); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp521r1_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_subject_key_identifier.pem") == 0) { return AssembleString(kData65, kLen65); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf.pem") == 0) { return AssembleString(kData66, kLen66); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_authority_key_identifier.pem") == 0) { return AssembleString(kData67, kLen67); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_basic_constraints.pem") == 0) { return AssembleString(kData68, kLen68); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_ext_key_usage.pem") == 0) { return AssembleString(kData69, kLen69); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_key_usage.pem") == 0) { return AssembleString(kData70, kLen70); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_name_constraints.pem") == 0) { return AssembleString(kData71, kLen71); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_subject_alt_name.pem") == 0) { return AssembleString(kData72, kLen72); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_subject_key_identifier.pem") == 0) { return AssembleString(kData73, kLen73); } - if (strcmp(path, "third_party/wycheproof_testvectors/eddsa_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root.pem") == 0) { return AssembleString(kData74, kLen74); } - if (strcmp(path, "third_party/wycheproof_testvectors/kwp_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_authority_key_identifier.pem") == 0) { return AssembleString(kData75, kLen75); } - if (strcmp(path, "third_party/wycheproof_testvectors/kw_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_basic_constraints.pem") == 0) { return AssembleString(kData76, kLen76); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha1_mgf1_20_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_ext_key_usage.pem") == 0) { return AssembleString(kData77, kLen77); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_0_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_key_usage.pem") == 0) { return AssembleString(kData78, kLen78); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_32_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_name_constraints.pem") == 0) { return AssembleString(kData79, kLen79); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_3072_sha256_mgf1_32_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_subject_alt_name.pem") == 0) { return AssembleString(kData80, kLen80); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_4096_sha256_mgf1_32_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_subject_key_identifier.pem") == 0) { return AssembleString(kData81, kLen81); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_4096_sha512_mgf1_32_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/many_constraints.pem") == 0) { return AssembleString(kData82, kLen82); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_misc_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/many_names1.pem") == 0) { return AssembleString(kData83, kLen83); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/many_names2.pem") == 0) { return AssembleString(kData84, kLen84); } - if (strcmp(path, "third_party/wycheproof_testvectors/x25519_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/many_names3.pem") == 0) { return AssembleString(kData85, kLen85); } + if (strcmp(path, "crypto/x509/test/some_names1.pem") == 0) { + return AssembleString(kData86, kLen86); + } + if (strcmp(path, "crypto/x509/test/some_names2.pem") == 0) { + return AssembleString(kData87, kLen87); + } + if (strcmp(path, "crypto/x509/test/some_names3.pem") == 0) { + return AssembleString(kData88, kLen88); + } + if (strcmp(path, "third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt") == 0) { + return AssembleString(kData89, kLen89); + } + if (strcmp(path, "third_party/wycheproof_testvectors/aes_cmac_test.txt") == 0) { + return AssembleString(kData90, kLen90); + } + if (strcmp(path, "third_party/wycheproof_testvectors/aes_gcm_siv_test.txt") == 0) { + return AssembleString(kData91, kLen91); + } + if (strcmp(path, "third_party/wycheproof_testvectors/aes_gcm_test.txt") == 0) { + return AssembleString(kData92, kLen92); + } + if (strcmp(path, "third_party/wycheproof_testvectors/chacha20_poly1305_test.txt") == 0) { + return AssembleString(kData93, kLen93); + } + if (strcmp(path, "third_party/wycheproof_testvectors/dsa_test.txt") == 0) { + return AssembleString(kData94, kLen94); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp224r1_test.txt") == 0) { + return AssembleString(kData95, kLen95); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp256r1_test.txt") == 0) { + return AssembleString(kData96, kLen96); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp384r1_test.txt") == 0) { + return AssembleString(kData97, kLen97); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp521r1_test.txt") == 0) { + return AssembleString(kData98, kLen98); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt") == 0) { + return AssembleString(kData99, kLen99); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt") == 0) { + return AssembleString(kData100, kLen100); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_test.txt") == 0) { + return AssembleString(kData101, kLen101); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt") == 0) { + return AssembleString(kData102, kLen102); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_test.txt") == 0) { + return AssembleString(kData103, kLen103); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt") == 0) { + return AssembleString(kData104, kLen104); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt") == 0) { + return AssembleString(kData105, kLen105); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt") == 0) { + return AssembleString(kData106, kLen106); + } + if (strcmp(path, "third_party/wycheproof_testvectors/eddsa_test.txt") == 0) { + return AssembleString(kData107, kLen107); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hkdf_sha1_test.txt") == 0) { + return AssembleString(kData108, kLen108); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hkdf_sha256_test.txt") == 0) { + return AssembleString(kData109, kLen109); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hkdf_sha384_test.txt") == 0) { + return AssembleString(kData110, kLen110); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hkdf_sha512_test.txt") == 0) { + return AssembleString(kData111, kLen111); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha1_test.txt") == 0) { + return AssembleString(kData112, kLen112); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha224_test.txt") == 0) { + return AssembleString(kData113, kLen113); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha256_test.txt") == 0) { + return AssembleString(kData114, kLen114); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha384_test.txt") == 0) { + return AssembleString(kData115, kLen115); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha512_test.txt") == 0) { + return AssembleString(kData116, kLen116); + } + if (strcmp(path, "third_party/wycheproof_testvectors/kwp_test.txt") == 0) { + return AssembleString(kData117, kLen117); + } + if (strcmp(path, "third_party/wycheproof_testvectors/kw_test.txt") == 0) { + return AssembleString(kData118, kLen118); + } + if (strcmp(path, "third_party/wycheproof_testvectors/primality_test.txt") == 0) { + return AssembleString(kData119, kLen119); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha1_mgf1sha1_test.txt") == 0) { + return AssembleString(kData120, kLen120); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha1_test.txt") == 0) { + return AssembleString(kData121, kLen121); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha224_test.txt") == 0) { + return AssembleString(kData122, kLen122); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha1_test.txt") == 0) { + return AssembleString(kData123, kLen123); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha256_test.txt") == 0) { + return AssembleString(kData124, kLen124); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha1_test.txt") == 0) { + return AssembleString(kData125, kLen125); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha384_test.txt") == 0) { + return AssembleString(kData126, kLen126); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha1_test.txt") == 0) { + return AssembleString(kData127, kLen127); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha512_test.txt") == 0) { + return AssembleString(kData128, kLen128); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha1_test.txt") == 0) { + return AssembleString(kData129, kLen129); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha256_test.txt") == 0) { + return AssembleString(kData130, kLen130); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha1_test.txt") == 0) { + return AssembleString(kData131, kLen131); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha512_test.txt") == 0) { + return AssembleString(kData132, kLen132); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha1_test.txt") == 0) { + return AssembleString(kData133, kLen133); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha256_test.txt") == 0) { + return AssembleString(kData134, kLen134); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha1_test.txt") == 0) { + return AssembleString(kData135, kLen135); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha512_test.txt") == 0) { + return AssembleString(kData136, kLen136); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_misc_test.txt") == 0) { + return AssembleString(kData137, kLen137); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pkcs1_2048_test.txt") == 0) { + return AssembleString(kData138, kLen138); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pkcs1_3072_test.txt") == 0) { + return AssembleString(kData139, kLen139); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pkcs1_4096_test.txt") == 0) { + return AssembleString(kData140, kLen140); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha1_mgf1_20_test.txt") == 0) { + return AssembleString(kData141, kLen141); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_0_test.txt") == 0) { + return AssembleString(kData142, kLen142); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_32_test.txt") == 0) { + return AssembleString(kData143, kLen143); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_3072_sha256_mgf1_32_test.txt") == 0) { + return AssembleString(kData144, kLen144); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_4096_sha256_mgf1_32_test.txt") == 0) { + return AssembleString(kData145, kLen145); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_4096_sha512_mgf1_32_test.txt") == 0) { + return AssembleString(kData146, kLen146); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_misc_test.txt") == 0) { + return AssembleString(kData147, kLen147); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_sig_gen_misc_test.txt") == 0) { + return AssembleString(kData148, kLen148); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_2048_sha224_test.txt") == 0) { + return AssembleString(kData149, kLen149); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_2048_sha256_test.txt") == 0) { + return AssembleString(kData150, kLen150); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_2048_sha384_test.txt") == 0) { + return AssembleString(kData151, kLen151); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_2048_sha512_test.txt") == 0) { + return AssembleString(kData152, kLen152); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_3072_sha256_test.txt") == 0) { + return AssembleString(kData153, kLen153); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_3072_sha384_test.txt") == 0) { + return AssembleString(kData154, kLen154); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_3072_sha512_test.txt") == 0) { + return AssembleString(kData155, kLen155); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_4096_sha384_test.txt") == 0) { + return AssembleString(kData156, kLen156); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_4096_sha512_test.txt") == 0) { + return AssembleString(kData157, kLen157); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_test.txt") == 0) { + return AssembleString(kData158, kLen158); + } + if (strcmp(path, "third_party/wycheproof_testvectors/x25519_test.txt") == 0) { + return AssembleString(kData159, kLen159); + } + if (strcmp(path, "third_party/wycheproof_testvectors/xchacha20_poly1305_test.txt") == 0) { + return AssembleString(kData160, kLen160); + } fprintf(stderr, "File not embedded: %s.\n", path); abort(); } diff --git a/contrib/boringssl-cmake/err_data.c b/contrib/boringssl-cmake/err_data.c index fee7d1da69a..ad0d9f1662c 100644 --- a/contrib/boringssl-cmake/err_data.c +++ b/contrib/boringssl-cmake/err_data.c @@ -50,8 +50,9 @@ OPENSSL_STATIC_ASSERT(ERR_LIB_HMAC == 28, "library value changed"); OPENSSL_STATIC_ASSERT(ERR_LIB_DIGEST == 29, "library value changed"); OPENSSL_STATIC_ASSERT(ERR_LIB_CIPHER == 30, "library value changed"); OPENSSL_STATIC_ASSERT(ERR_LIB_HKDF == 31, "library value changed"); -OPENSSL_STATIC_ASSERT(ERR_LIB_USER == 32, "library value changed"); -OPENSSL_STATIC_ASSERT(ERR_NUM_LIBS == 33, "number of libraries changed"); +OPENSSL_STATIC_ASSERT(ERR_LIB_TRUST_TOKEN == 32, "library value changed"); +OPENSSL_STATIC_ASSERT(ERR_LIB_USER == 33, "library value changed"); +OPENSSL_STATIC_ASSERT(ERR_NUM_LIBS == 34, "number of libraries changed"); const uint32_t kOpenSSLReasonValues[] = { 0xc32083a, @@ -75,54 +76,54 @@ const uint32_t kOpenSSLReasonValues[] = { 0xc3b00ea, 0xc3b88d6, 0x10320847, - 0x10329585, - 0x10331591, - 0x103395aa, - 0x103415bd, + 0x103295a9, + 0x103315b5, + 0x103395ce, + 0x103415e1, 0x10348f27, 0x10350c60, - 0x103595d0, - 0x103615fa, - 0x1036960d, - 0x1037162c, - 0x10379645, - 0x1038165a, - 0x10389678, - 0x10391687, - 0x103996a3, - 0x103a16be, - 0x103a96cd, - 0x103b16e9, - 0x103b9704, - 0x103c172a, + 0x103595f4, + 0x1036161e, + 0x10369631, + 0x10371650, + 0x10379669, + 0x1038167e, + 0x1038969c, + 0x103916ab, + 0x103996c7, + 0x103a16e2, + 0x103a96f1, + 0x103b170d, + 0x103b9728, + 0x103c174e, 0x103c80ea, - 0x103d173b, - 0x103d974f, - 0x103e176e, - 0x103e977d, - 0x103f1794, - 0x103f97a7, + 0x103d175f, + 0x103d9773, + 0x103e1792, + 0x103e97a1, + 0x103f17b8, + 0x103f97cb, 0x10400c24, - 0x104097ba, - 0x104117d8, - 0x104197eb, - 0x10421805, - 0x10429815, - 0x10431829, - 0x1043983f, - 0x10441857, - 0x1044986c, - 0x10451880, - 0x10459892, + 0x104097de, + 0x104117fc, + 0x1041980f, + 0x10421829, + 0x10429839, + 0x1043184d, + 0x10439863, + 0x1044187b, + 0x10449890, + 0x104518a4, + 0x104598b6, 0x104605fd, 0x1046894f, - 0x104718a7, - 0x104798be, - 0x104818d3, - 0x104898e1, + 0x104718cb, + 0x104798e2, + 0x104818f7, + 0x10489905, 0x10490e73, - 0x1049971b, - 0x104a15e5, + 0x1049973f, + 0x104a1609, 0x14320c07, 0x14328c15, 0x14330c24, @@ -135,52 +136,54 @@ const uint32_t kOpenSSLReasonValues[] = { 0x18338f93, 0x18340fa7, 0x183480ea, - 0x18350fbc, - 0x18358fd4, - 0x18360fe9, - 0x18368ffd, - 0x18371021, - 0x18379037, - 0x1838104b, - 0x1838905b, + 0x18350fc6, + 0x18358fde, + 0x18360ff3, + 0x18369007, + 0x1837102b, + 0x18379041, + 0x18381055, + 0x18389065, 0x18390a75, - 0x1839906b, - 0x183a1091, - 0x183a90b7, + 0x18399075, + 0x183a109b, + 0x183a90c1, 0x183b0c7f, - 0x183b90ec, - 0x183c10fe, - 0x183c9109, - 0x183d1119, - 0x183d912a, - 0x183e113b, - 0x183e914d, - 0x183f1176, - 0x183f918f, - 0x184011a7, + 0x183b9110, + 0x183c1122, + 0x183c912d, + 0x183d113d, + 0x183d914e, + 0x183e115f, + 0x183e9171, + 0x183f119a, + 0x183f91b3, + 0x184011cb, 0x184086d5, - 0x184110da, - 0x184190a5, - 0x184210c4, + 0x184110e4, + 0x184190af, + 0x184210ce, 0x18428c6c, - 0x18431080, - 0x203211e1, - 0x203291ce, - 0x243211ed, + 0x1843108a, + 0x184390f6, + 0x18440fbc, + 0x20321205, + 0x203291f2, + 0x24321211, 0x24328995, - 0x243311ff, - 0x2433920c, - 0x24341219, - 0x2434922b, - 0x2435123a, - 0x24359257, - 0x24361264, - 0x24369272, - 0x24371280, - 0x2437928e, - 0x24381297, - 0x243892a4, - 0x243912b7, + 0x24331223, + 0x24339230, + 0x2434123d, + 0x2434924f, + 0x2435125e, + 0x2435927b, + 0x24361288, + 0x24369296, + 0x243712a4, + 0x243792b2, + 0x243812bb, + 0x243892c8, + 0x243912db, 0x28320c54, 0x28328c7f, 0x28330c24, @@ -189,44 +192,47 @@ const uint32_t kOpenSSLReasonValues[] = { 0x283480ac, 0x283500ea, 0x28358c6c, - 0x2c322ed8, - 0x2c3292ce, - 0x2c332ee6, - 0x2c33aef8, - 0x2c342f0c, - 0x2c34af1e, - 0x2c352f39, - 0x2c35af4b, - 0x2c362f5e, + 0x2c3230ce, + 0x2c3292f2, + 0x2c3330dc, + 0x2c33b0ee, + 0x2c343102, + 0x2c34b114, + 0x2c35312f, + 0x2c35b141, + 0x2c363171, 0x2c36832d, - 0x2c372f6b, - 0x2c37af7d, - 0x2c382fa2, - 0x2c38afb9, - 0x2c392fc7, - 0x2c39afd7, - 0x2c3a2fe9, - 0x2c3aaffd, - 0x2c3b300e, - 0x2c3bb02d, - 0x2c3c12e0, - 0x2c3c92f6, - 0x2c3d3041, - 0x2c3d930f, - 0x2c3e305e, - 0x2c3eb06c, - 0x2c3f3084, - 0x2c3fb09c, - 0x2c4030c6, - 0x2c4091e1, - 0x2c4130d7, - 0x2c41b0ea, - 0x2c4211a7, - 0x2c42b0fb, + 0x2c37317e, + 0x2c37b1aa, + 0x2c3831cf, + 0x2c38b1e6, + 0x2c393204, + 0x2c39b214, + 0x2c3a3226, + 0x2c3ab23a, + 0x2c3b324b, + 0x2c3bb26a, + 0x2c3c1304, + 0x2c3c931a, + 0x2c3d327e, + 0x2c3d9333, + 0x2c3e329b, + 0x2c3eb2a9, + 0x2c3f32c1, + 0x2c3fb2d9, + 0x2c403303, + 0x2c409205, + 0x2c413314, + 0x2c41b327, + 0x2c4211cb, + 0x2c42b338, 0x2c430722, - 0x2c43b01f, - 0x2c442f90, - 0x2c44b0a9, + 0x2c43b25c, + 0x2c4431bd, + 0x2c44b2e6, + 0x2c453154, + 0x2c45b190, + 0x2c4631f4, 0x30320000, 0x30328015, 0x3033001f, @@ -361,240 +367,248 @@ const uint32_t kOpenSSLReasonValues[] = { 0x3c418d67, 0x3c420e73, 0x3c428dfd, - 0x40321957, - 0x4032996d, - 0x4033199b, - 0x403399a5, - 0x403419bc, - 0x403499da, - 0x403519ea, - 0x403599fc, - 0x40361a09, - 0x40369a15, - 0x40371a2a, - 0x40379a3c, - 0x40381a47, - 0x40389a59, + 0x40321997, + 0x403299ad, + 0x403319db, + 0x403399e5, + 0x403419fc, + 0x40349a1a, + 0x40351a2a, + 0x40359a3c, + 0x40361a49, + 0x40369a55, + 0x40371a6a, + 0x40379a7c, + 0x40381a87, + 0x40389a99, 0x40390f27, - 0x40399a69, - 0x403a1a7c, - 0x403a9a9d, - 0x403b1aae, - 0x403b9abe, + 0x40399aa9, + 0x403a1abc, + 0x403a9add, + 0x403b1aee, + 0x403b9afe, 0x403c0064, 0x403c8083, - 0x403d1b42, - 0x403d9b58, - 0x403e1b67, - 0x403e9b9f, - 0x403f1bb9, - 0x403f9be1, - 0x40401bf6, - 0x40409c0a, - 0x40411c27, - 0x40419c42, - 0x40421c5b, - 0x40429c6e, - 0x40431c82, - 0x40439c9a, - 0x40441cb1, + 0x403d1b5f, + 0x403d9b75, + 0x403e1b84, + 0x403e9bbc, + 0x403f1bd6, + 0x403f9bfe, + 0x40401c13, + 0x40409c27, + 0x40411c62, + 0x40419c7d, + 0x40421c96, + 0x40429ca9, + 0x40431cbd, + 0x40439cd5, + 0x40441cec, 0x404480ac, - 0x40451cc6, - 0x40459cd8, - 0x40461cfc, - 0x40469d1c, - 0x40471d2a, - 0x40479d51, - 0x40481dc2, - 0x40489df5, - 0x40491e0c, - 0x40499e26, - 0x404a1e3d, - 0x404a9e5b, - 0x404b1e73, - 0x404b9e8a, - 0x404c1ea0, - 0x404c9eb2, - 0x404d1ed3, - 0x404d9f0c, - 0x404e1f20, - 0x404e9f2d, - 0x404f1f5a, - 0x404f9fa0, - 0x40501ff7, - 0x4050a00b, - 0x4051203e, - 0x4052204e, - 0x4052a072, - 0x4053208a, - 0x4053a09d, - 0x405420b2, - 0x4054a0d5, - 0x405520e3, - 0x4055a120, - 0x4056212d, - 0x4056a146, - 0x4057215e, - 0x4057a171, - 0x40582186, - 0x4058a1ad, - 0x405921dc, - 0x4059a209, - 0x405a221d, - 0x405aa22d, - 0x405b2245, - 0x405ba256, - 0x405c2269, - 0x405ca2a8, - 0x405d22b5, - 0x405da2da, - 0x405e2318, + 0x40451d01, + 0x40459d13, + 0x40461d37, + 0x40469d57, + 0x40471d65, + 0x40479d8c, + 0x40481dfd, + 0x40489e30, + 0x40491e47, + 0x40499e61, + 0x404a1e78, + 0x404a9e96, + 0x404b1eae, + 0x404b9edb, + 0x404c1ef1, + 0x404c9f03, + 0x404d1f24, + 0x404d9f5d, + 0x404e1f71, + 0x404e9f7e, + 0x404f1fc5, + 0x404fa00b, + 0x40502062, + 0x4050a076, + 0x405120a9, + 0x405220c6, + 0x4052a0ea, + 0x40532102, + 0x4053a115, + 0x4054212a, + 0x4054a14d, + 0x40552178, + 0x4055a1b5, + 0x405621c2, + 0x4056a1db, + 0x405721f3, + 0x4057a206, + 0x4058221b, + 0x4058a242, + 0x40592271, + 0x4059a29e, + 0x405a22b2, + 0x405aa2c2, + 0x405b22da, + 0x405ba2eb, + 0x405c22fe, + 0x405ca33d, + 0x405d234a, + 0x405da36f, + 0x405e23ad, 0x405e8ab3, - 0x405f2339, - 0x405fa346, - 0x40602354, - 0x4060a376, - 0x406123d7, - 0x4061a40f, - 0x40622426, - 0x4062a437, - 0x4063245c, - 0x4063a471, - 0x40642488, - 0x4064a4b4, - 0x406524cf, - 0x4065a4e6, - 0x406624fe, - 0x4066a528, - 0x40672553, - 0x4067a598, - 0x406825e0, - 0x4068a601, - 0x40692633, - 0x4069a661, - 0x406a2682, - 0x406aa6a2, - 0x406b282a, - 0x406ba84d, - 0x406c2863, - 0x406cab06, - 0x406d2b35, - 0x406dab5d, - 0x406e2b8b, - 0x406eabd8, - 0x406f2c13, - 0x406fac4b, - 0x40702c5e, - 0x4070ac7b, + 0x405f23ce, + 0x405fa3db, + 0x406023e9, + 0x4060a40b, + 0x4061246c, + 0x4061a4a4, + 0x406224bb, + 0x4062a4cc, + 0x40632519, + 0x4063a52e, + 0x40642545, + 0x4064a571, + 0x4065258c, + 0x4065a5a3, + 0x406625bb, + 0x4066a5e5, + 0x40672610, + 0x4067a655, + 0x4068269d, + 0x4068a6be, + 0x406926f0, + 0x4069a71e, + 0x406a273f, + 0x406aa75f, + 0x406b28e7, + 0x406ba90a, + 0x406c2920, + 0x406cac11, + 0x406d2c40, + 0x406dac68, + 0x406e2c96, + 0x406eace3, + 0x406f2d3c, + 0x406fad74, + 0x40702d87, + 0x4070ada4, 0x40710802, - 0x4071ac8d, - 0x40722ca0, - 0x4072acd6, - 0x40732cee, - 0x407394e0, - 0x40742d02, - 0x4074ad1c, - 0x40752d2d, - 0x4075ad41, - 0x40762d4f, - 0x407692a4, - 0x40772d74, - 0x4077ad96, - 0x40782db1, - 0x4078adea, - 0x40792e01, - 0x4079ae17, - 0x407a2e43, - 0x407aae56, - 0x407b2e6b, - 0x407bae7d, - 0x407c2eae, - 0x407caeb7, - 0x407d261c, - 0x407d9fb0, - 0x407e2dc6, - 0x407ea1bd, - 0x407f1d3e, - 0x407f9ae4, - 0x40801f6a, - 0x40809d66, - 0x40812060, - 0x40819f44, - 0x40822b76, - 0x40829aca, - 0x40832198, - 0x4083a499, - 0x40841d7a, - 0x4084a1f5, - 0x4085227a, - 0x4085a39e, - 0x408622fa, - 0x40869fca, - 0x40872bbc, - 0x4087a3ec, - 0x40881b2b, - 0x4088a5ab, - 0x40891b7a, - 0x40899b07, - 0x408a289b, - 0x408a98f8, - 0x408b2e92, - 0x408bac28, - 0x408c228a, - 0x408c9914, - 0x408d1ddb, - 0x408d9dac, - 0x408e1ef5, - 0x408ea100, - 0x408f25bf, - 0x408fa3ba, - 0x40902574, - 0x4090a2cc, - 0x40912883, - 0x4091993a, - 0x40921bc7, - 0x4092abf7, - 0x40932cb9, - 0x40939fdb, - 0x40941d8e, - 0x4094a8b4, - 0x40952448, - 0x4095ae23, - 0x40962ba3, - 0x40969f83, - 0x40972026, - 0x41f42755, - 0x41f927e7, - 0x41fe26da, - 0x41fea8f7, - 0x41ff29e8, - 0x4203276e, - 0x42082790, - 0x4208a7cc, - 0x420926be, - 0x4209a806, - 0x420a2715, - 0x420aa6f5, - 0x420b2735, - 0x420ba7ae, - 0x420c2a04, - 0x420ca8c4, - 0x420d28de, - 0x420da915, - 0x4212292f, - 0x421729cb, - 0x4217a971, - 0x421c2993, - 0x421f294e, - 0x42212a1b, - 0x422629ae, - 0x422b2aea, - 0x422baa98, - 0x422c2ad2, - 0x422caa57, - 0x422d2a36, - 0x422daab7, - 0x422e2a7d, + 0x4071adb6, + 0x40722dc9, + 0x4072adff, + 0x40732e17, + 0x40739504, + 0x40742e2b, + 0x4074ae45, + 0x40752e56, + 0x4075ae6a, + 0x40762e78, + 0x407692c8, + 0x40772e9d, + 0x4077aebf, + 0x40782eda, + 0x4078af13, + 0x40792f2a, + 0x4079af40, + 0x407a2f6c, + 0x407aaf7f, + 0x407b2f94, + 0x407bafa6, + 0x407c2fd7, + 0x407cafe0, + 0x407d26d9, + 0x407da01b, + 0x407e2eef, + 0x407ea252, + 0x407f1d79, + 0x407f9ec5, + 0x40801fd5, + 0x40809da1, + 0x408120d8, + 0x40819faf, + 0x40822c81, + 0x40829b0a, + 0x4083222d, + 0x4083a556, + 0x40841db5, + 0x4084a28a, + 0x4085230f, + 0x4085a433, + 0x4086238f, + 0x4086a035, + 0x40872cc7, + 0x4087a481, + 0x40881b48, + 0x4088a668, + 0x40891b97, + 0x40899b24, + 0x408a2958, + 0x408a991c, + 0x408b2fbb, + 0x408bad51, + 0x408c231f, + 0x408c9954, + 0x408d1e16, + 0x408d9de7, + 0x408e1f46, + 0x408ea195, + 0x408f267c, + 0x408fa44f, + 0x40902631, + 0x4090a361, + 0x40912940, + 0x4091997a, + 0x40921be4, + 0x4092ad02, + 0x40932de2, + 0x4093a046, + 0x40941dc9, + 0x4094a971, + 0x409524dd, + 0x4095af4c, + 0x40962cae, + 0x40969fee, + 0x40972091, + 0x40979f95, + 0x40981c44, + 0x4098a4f1, + 0x40992d1e, + 0x4099a0b9, + 0x409a215b, + 0x409a9938, + 0x41f42812, + 0x41f928a4, + 0x41fe2797, + 0x41feaa4d, + 0x41ff2b62, + 0x4203282b, + 0x4208284d, + 0x4208a889, + 0x4209277b, + 0x4209a8c3, + 0x420a27d2, + 0x420aa7b2, + 0x420b27f2, + 0x420ba86b, + 0x420c2b7e, + 0x420ca981, + 0x420d2a34, + 0x420daa6b, + 0x42122a85, + 0x42172b45, + 0x4217aac7, + 0x421c2ae9, + 0x421f2aa4, + 0x42212bf6, + 0x42262b28, + 0x422b2bd4, + 0x422baa0f, + 0x422c2bb6, + 0x422ca9c2, + 0x422d299b, + 0x422dab95, + 0x422e29ee, + 0x42302b04, 0x4432072d, 0x4432873c, 0x44330748, @@ -612,106 +626,106 @@ const uint32_t kOpenSSLReasonValues[] = { 0x44390802, 0x44398810, 0x443a0823, - 0x483212ce, - 0x483292e0, - 0x483312f6, - 0x4833930f, - 0x4c321334, - 0x4c329344, - 0x4c331357, - 0x4c339377, + 0x483212f2, + 0x48329304, + 0x4833131a, + 0x48339333, + 0x4c321358, + 0x4c329368, + 0x4c33137b, + 0x4c33939b, 0x4c3400ac, 0x4c3480ea, - 0x4c351383, - 0x4c359391, - 0x4c3613ad, - 0x4c3693d3, - 0x4c3713e2, - 0x4c3793f0, - 0x4c381405, - 0x4c389411, - 0x4c391431, - 0x4c39945b, - 0x4c3a1474, - 0x4c3a948d, + 0x4c3513a7, + 0x4c3593b5, + 0x4c3613d1, + 0x4c3693f7, + 0x4c371406, + 0x4c379414, + 0x4c381429, + 0x4c389435, + 0x4c391455, + 0x4c39947f, + 0x4c3a1498, + 0x4c3a94b1, 0x4c3b05fd, - 0x4c3b94a6, - 0x4c3c14b8, - 0x4c3c94c7, - 0x4c3d14e0, + 0x4c3b94ca, + 0x4c3c14dc, + 0x4c3c94eb, + 0x4c3d1504, 0x4c3d8c47, - 0x4c3e154d, - 0x4c3e94ef, - 0x4c3f156f, - 0x4c3f92a4, - 0x4c401505, - 0x4c409320, - 0x4c41153d, - 0x4c4193c0, - 0x4c421529, - 0x5032310d, - 0x5032b11c, - 0x50333127, - 0x5033b137, - 0x50343150, - 0x5034b16a, - 0x50353178, - 0x5035b18e, - 0x503631a0, - 0x5036b1b6, - 0x503731cf, - 0x5037b1e2, - 0x503831fa, - 0x5038b20b, - 0x50393220, - 0x5039b234, - 0x503a3254, - 0x503ab26a, - 0x503b3282, - 0x503bb294, - 0x503c32b0, - 0x503cb2c7, - 0x503d32e0, - 0x503db2f6, - 0x503e3303, - 0x503eb319, - 0x503f332b, + 0x4c3e1571, + 0x4c3e9513, + 0x4c3f1593, + 0x4c3f92c8, + 0x4c401529, + 0x4c409344, + 0x4c411561, + 0x4c4193e4, + 0x4c42154d, + 0x5032334a, + 0x5032b359, + 0x50333364, + 0x5033b374, + 0x5034338d, + 0x5034b3a7, + 0x503533b5, + 0x5035b3cb, + 0x503633dd, + 0x5036b3f3, + 0x5037340c, + 0x5037b41f, + 0x50383437, + 0x5038b448, + 0x5039345d, + 0x5039b471, + 0x503a3491, + 0x503ab4a7, + 0x503b34bf, + 0x503bb4d1, + 0x503c34ed, + 0x503cb504, + 0x503d351d, + 0x503db533, + 0x503e3540, + 0x503eb556, + 0x503f3568, 0x503f837b, - 0x5040333e, - 0x5040b34e, - 0x50413368, - 0x5041b377, - 0x50423391, - 0x5042b3ae, - 0x504333be, - 0x5043b3ce, - 0x504433dd, + 0x5040357b, + 0x5040b58b, + 0x504135a5, + 0x5041b5b4, + 0x504235ce, + 0x5042b5eb, + 0x504335fb, + 0x5043b60b, + 0x5044361a, 0x50448431, - 0x504533f1, - 0x5045b40f, - 0x50463422, - 0x5046b438, - 0x5047344a, - 0x5047b45f, - 0x50483485, - 0x5048b493, - 0x504934a6, - 0x5049b4bb, - 0x504a34d1, - 0x504ab4e1, - 0x504b3501, - 0x504bb514, - 0x504c3537, - 0x504cb565, - 0x504d3577, - 0x504db594, - 0x504e35af, - 0x504eb5cb, - 0x504f35dd, - 0x504fb5f4, - 0x50503603, + 0x5045362e, + 0x5045b64c, + 0x5046365f, + 0x5046b675, + 0x50473687, + 0x5047b69c, + 0x504836c2, + 0x5048b6d0, + 0x504936e3, + 0x5049b6f8, + 0x504a370e, + 0x504ab71e, + 0x504b373e, + 0x504bb751, + 0x504c3774, + 0x504cb7a2, + 0x504d37b4, + 0x504db7d1, + 0x504e37ec, + 0x504eb808, + 0x504f381a, + 0x504fb831, + 0x50503840, 0x505086f1, - 0x50513616, + 0x50513853, 0x58320f65, 0x68320f27, 0x68328c7f, @@ -752,7 +766,22 @@ const uint32_t kOpenSSLReasonValues[] = { 0x783d8b4c, 0x783e0aa2, 0x783e8a54, - 0x7c3211bd, + 0x7c3211e1, + 0x803213f7, + 0x80328083, + 0x8033309d, + 0x803380ac, + 0x803430ac, + 0x8034b014, + 0x80353032, + 0x8035b0c0, + 0x80363074, + 0x8036b023, + 0x80373066, + 0x8037b001, + 0x80383087, + 0x8038b043, + 0x80393058, }; const size_t kOpenSSLReasonValuesLen = sizeof(kOpenSSLReasonValues) / sizeof(kOpenSSLReasonValues[0]); @@ -968,6 +997,7 @@ const char kOpenSSLReasonStringData[] = "COMMAND_NOT_SUPPORTED\0" "DIFFERENT_KEY_TYPES\0" "DIFFERENT_PARAMETERS\0" + "EMPTY_PSK\0" "EXPECTING_AN_EC_KEY_KEY\0" "EXPECTING_AN_RSA_KEY\0" "EXPECTING_A_DSA_KEY\0" @@ -983,6 +1013,7 @@ const char kOpenSSLReasonStringData[] = "KEYS_NOT_SET\0" "MEMORY_LIMIT_EXCEEDED\0" "NOT_A_PRIVATE_KEY\0" + "NOT_XOF_OR_INVALID_LENGTH\0" "NO_DEFAULT_DIGEST\0" "NO_KEY_SET\0" "NO_MDC2_SUPPORT\0" @@ -1084,6 +1115,7 @@ const char kOpenSSLReasonStringData[] = "VALUE_MISSING\0" "WRONG_SIGNATURE_LENGTH\0" "ALPN_MISMATCH_ON_EARLY_DATA\0" + "ALPS_MISMATCH_ON_EARLY_DATA\0" "APPLICATION_DATA_INSTEAD_OF_HANDSHAKE\0" "APPLICATION_DATA_ON_SHUTDOWN\0" "APP_DATA_IN_HANDSHAKE\0" @@ -1106,7 +1138,6 @@ const char kOpenSSLReasonStringData[] = "BAD_WRITE_RETRY\0" "BIO_NOT_SET\0" "BLOCK_CIPHER_PAD_IS_WRONG\0" - "BUFFERED_MESSAGES_ON_CIPHER_CHANGE\0" "CANNOT_HAVE_BOTH_PRIVKEY_AND_METHOD\0" "CANNOT_PARSE_LEAF_CERT\0" "CA_DN_LENGTH_MISMATCH\0" @@ -1119,6 +1150,7 @@ const char kOpenSSLReasonStringData[] = "CERT_LENGTH_MISMATCH\0" "CHANNEL_ID_NOT_P256\0" "CHANNEL_ID_SIGNATURE_INVALID\0" + "CIPHER_MISMATCH_ON_EARLY_DATA\0" "CIPHER_OR_HASH_UNAVAILABLE\0" "CLIENTHELLO_PARSE_FAILED\0" "CLIENTHELLO_TLSEXT\0" @@ -1145,6 +1177,7 @@ const char kOpenSSLReasonStringData[] = "ERROR_IN_RECEIVED_CIPHER_LIST\0" "ERROR_PARSING_EXTENSION\0" "EXCESSIVE_MESSAGE_SIZE\0" + "EXCESS_HANDSHAKE_DATA\0" "EXTRA_DATA_IN_MESSAGE\0" "FRAGMENT_MISMATCH\0" "GOT_NEXT_PROTO_WITHOUT_EXTENSION\0" @@ -1153,6 +1186,7 @@ const char kOpenSSLReasonStringData[] = "HTTPS_PROXY_REQUEST\0" "HTTP_REQUEST\0" "INAPPROPRIATE_FALLBACK\0" + "INCONSISTENT_CLIENT_HELLO\0" "INVALID_ALPN_PROTOCOL\0" "INVALID_COMMAND\0" "INVALID_COMPRESSION_LIST\0" @@ -1165,6 +1199,7 @@ const char kOpenSSLReasonStringData[] = "INVALID_TICKET_KEYS_LENGTH\0" "KEY_USAGE_BIT_INCORRECT\0" "LENGTH_MISMATCH\0" + "MISSING_ALPN\0" "MISSING_EXTENSION\0" "MISSING_KEY_SHARE\0" "MISSING_RSA_CERTIFICATE\0" @@ -1172,6 +1207,7 @@ const char kOpenSSLReasonStringData[] = "MISSING_TMP_ECDH_KEY\0" "MIXED_SPECIAL_OPERATOR_WITH_GROUPS\0" "MTU_TOO_SMALL\0" + "NEGOTIATED_ALPS_WITHOUT_ALPN\0" "NEGOTIATED_BOTH_NPN_AND_ALPN\0" "NEGOTIATED_TB_WITHOUT_EMS_OR_RI\0" "NESTED_GROUP\0" @@ -1211,6 +1247,7 @@ const char kOpenSSLReasonStringData[] = "PSK_NO_CLIENT_CB\0" "PSK_NO_SERVER_CB\0" "QUIC_INTERNAL_ERROR\0" + "QUIC_TRANSPORT_PARAMETERS_MISCONFIGURED\0" "READ_TIMEOUT_EXPIRED\0" "RECORD_LENGTH_MISMATCH\0" "RECORD_TOO_LARGE\0" @@ -1251,6 +1288,10 @@ const char kOpenSSLReasonStringData[] = "TICKET_ENCRYPTION_FAILED\0" "TLS13_DOWNGRADE\0" "TLSV1_ALERT_ACCESS_DENIED\0" + "TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE\0" + "TLSV1_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE\0" + "TLSV1_ALERT_CERTIFICATE_REQUIRED\0" + "TLSV1_ALERT_CERTIFICATE_UNOBTAINABLE\0" "TLSV1_ALERT_DECODE_ERROR\0" "TLSV1_ALERT_DECRYPTION_FAILED\0" "TLSV1_ALERT_DECRYPT_ERROR\0" @@ -1258,18 +1299,15 @@ const char kOpenSSLReasonStringData[] = "TLSV1_ALERT_INAPPROPRIATE_FALLBACK\0" "TLSV1_ALERT_INSUFFICIENT_SECURITY\0" "TLSV1_ALERT_INTERNAL_ERROR\0" + "TLSV1_ALERT_NO_APPLICATION_PROTOCOL\0" "TLSV1_ALERT_NO_RENEGOTIATION\0" "TLSV1_ALERT_PROTOCOL_VERSION\0" "TLSV1_ALERT_RECORD_OVERFLOW\0" "TLSV1_ALERT_UNKNOWN_CA\0" + "TLSV1_ALERT_UNKNOWN_PSK_IDENTITY\0" + "TLSV1_ALERT_UNRECOGNIZED_NAME\0" + "TLSV1_ALERT_UNSUPPORTED_EXTENSION\0" "TLSV1_ALERT_USER_CANCELLED\0" - "TLSV1_BAD_CERTIFICATE_HASH_VALUE\0" - "TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE\0" - "TLSV1_CERTIFICATE_REQUIRED\0" - "TLSV1_CERTIFICATE_UNOBTAINABLE\0" - "TLSV1_UNKNOWN_PSK_IDENTITY\0" - "TLSV1_UNRECOGNIZED_NAME\0" - "TLSV1_UNSUPPORTED_EXTENSION\0" "TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST\0" "TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG\0" "TOO_MANY_EMPTY_FRAGMENTS\0" @@ -1279,6 +1317,7 @@ const char kOpenSSLReasonStringData[] = "TOO_MUCH_SKIPPED_EARLY_DATA\0" "UNABLE_TO_FIND_ECDH_PARAMETERS\0" "UNCOMPRESSED_CERT_TOO_LARGE\0" + "UNEXPECTED_COMPATIBILITY_MODE\0" "UNEXPECTED_EXTENSION\0" "UNEXPECTED_EXTENSION_ON_EARLY_DATA\0" "UNEXPECTED_MESSAGE\0" @@ -1309,6 +1348,18 @@ const char kOpenSSLReasonStringData[] = "WRONG_VERSION_ON_EARLY_DATA\0" "X509_LIB\0" "X509_VERIFICATION_SETUP_PROBLEMS\0" + "BAD_VALIDITY_CHECK\0" + "DECODE_FAILURE\0" + "INVALID_KEY_ID\0" + "INVALID_METADATA\0" + "INVALID_METADATA_KEY\0" + "INVALID_PROOF\0" + "INVALID_TOKEN\0" + "NO_KEYS_CONFIGURED\0" + "NO_SRR_KEY_CONFIGURED\0" + "OVER_BATCHSIZE\0" + "SRR_SIGNATURE_ERROR\0" + "TOO_MANY_KEYS\0" "AKID_MISMATCH\0" "BAD_X509_FILETYPE\0" "BASE64_DECODE_ERROR\0" @@ -1316,12 +1367,15 @@ const char kOpenSSLReasonStringData[] = "CERT_ALREADY_IN_HASH_TABLE\0" "CRL_ALREADY_DELTA\0" "CRL_VERIFY_FAILURE\0" + "DELTA_CRL_WITHOUT_CRL_NUMBER\0" "IDP_MISMATCH\0" "INVALID_DIRECTORY\0" + "INVALID_FIELD_FOR_VERSION\0" "INVALID_FIELD_NAME\0" "INVALID_PARAMETER\0" "INVALID_PSS_PARAMETERS\0" "INVALID_TRUST\0" + "INVALID_VERSION\0" "ISSUER_MISMATCH\0" "KEY_TYPE_MISMATCH\0" "KEY_VALUES_MISMATCH\0" diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/chacha/chacha-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/chacha/chacha-armv8.S index b14466ddd77..bbf811fed1b 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/chacha/chacha-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/chacha/chacha-armv8.S @@ -33,6 +33,7 @@ Lone: .align 5 _ChaCha20_ctr32: + AARCH64_VALID_CALL_TARGET cbz x2,Labort #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x5,:pg_hi21_nc:_OPENSSL_armcap_P @@ -46,6 +47,7 @@ _ChaCha20_ctr32: b.ne ChaCha20_neon Lshort: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -258,6 +260,7 @@ Loop: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER Labort: ret @@ -314,12 +317,14 @@ Loop_tail: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .align 5 ChaCha20_neon: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -700,6 +705,7 @@ Loop_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret Ltail_neon: @@ -809,11 +815,13 @@ Ldone_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .align 5 ChaCha20_512_neon: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -1977,6 +1985,7 @@ Ldone_512_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret #endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/aesv8-armx64.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/aesv8-armx64.S index dc2d6e432c9..76b58032535 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/aesv8-armx64.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/aesv8-armx64.S @@ -32,6 +32,8 @@ Lrcon: .align 5 _aes_hw_set_encrypt_key: Lenc_key: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 mov x3,#-1 @@ -200,6 +202,7 @@ Lenc_key_abort: .align 5 _aes_hw_set_decrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 bl Lenc_key @@ -233,6 +236,7 @@ Loop_imc: eor x0,x0,x0 // return value Ldec_key_abort: ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .globl _aes_hw_encrypt @@ -240,6 +244,7 @@ Ldec_key_abort: .align 5 _aes_hw_encrypt: + AARCH64_VALID_CALL_TARGET ldr w3,[x2,#240] ld1 {v0.4s},[x2],#16 ld1 {v2.16b},[x0] @@ -270,6 +275,7 @@ Loop_enc: .align 5 _aes_hw_decrypt: + AARCH64_VALID_CALL_TARGET ldr w3,[x2,#240] ld1 {v0.4s},[x2],#16 ld1 {v2.16b},[x0] @@ -300,6 +306,8 @@ Loop_dec: .align 5 _aes_hw_cbc_encrypt: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 subs x2,x2,#16 @@ -591,6 +599,8 @@ Lcbc_abort: .align 5 _aes_hw_ctr32_encrypt_blocks: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 ldr w5,[x3,#240] diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/armv8-mont.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/armv8-mont.S index 3d83f4d8d62..2493ae08a65 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/armv8-mont.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/armv8-mont.S @@ -12,6 +12,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text .globl _bn_mul_mont @@ -19,6 +21,7 @@ .align 5 _bn_mul_mont: + AARCH64_SIGN_LINK_REGISTER tst x5,#7 b.eq __bn_sqr8x_mont tst x5,#3 @@ -216,11 +219,14 @@ Lcond_copy: mov x0,#1 ldp x23,x24,[x29,#48] ldr x29,[sp],#64 + AARCH64_VALIDATE_LINK_REGISTER ret .align 5 __bn_sqr8x_mont: + // Not adding AARCH64_SIGN_LINK_REGISTER here because __bn_sqr8x_mont is jumped to + // only from bn_mul_mont which has already signed the return address. cmp x1,x2 b.ne __bn_mul4x_mont Lsqr8x_mont: @@ -974,11 +980,16 @@ Lsqr8x_done: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldr x29,[sp],#128 + // x30 is popped earlier + AARCH64_VALIDATE_LINK_REGISTER ret .align 5 __bn_mul4x_mont: + // Not adding AARCH64_SIGN_LINK_REGISTER here because __bn_mul4x_mont is jumped to + // only from bn_mul_mont or __bn_mul8x_mont which have already signed the + // return address. stp x29,x30,[sp,#-128]! add x29,sp,#0 stp x19,x20,[sp,#16] @@ -1412,6 +1423,8 @@ Lmul4x_done: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldr x29,[sp],#128 + // x30 is popped earlier + AARCH64_VALIDATE_LINK_REGISTER ret .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S index 60bff310186..5441afc06e2 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S @@ -12,6 +12,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text .globl _gcm_init_neon @@ -19,6 +21,7 @@ .align 4 _gcm_init_neon: + AARCH64_VALID_CALL_TARGET // This function is adapted from gcm_init_v8. xC2 is t3. ld1 {v17.2d}, [x1] // load H movi v19.16b, #0xe1 @@ -44,6 +47,7 @@ _gcm_init_neon: .align 4 _gcm_gmult_neon: + AARCH64_VALID_CALL_TARGET ld1 {v3.16b}, [x0] // load Xi ld1 {v5.1d}, [x1], #8 // load twisted H ld1 {v6.1d}, [x1] @@ -63,6 +67,7 @@ _gcm_gmult_neon: .align 4 _gcm_ghash_neon: + AARCH64_VALID_CALL_TARGET ld1 {v0.16b}, [x0] // load Xi ld1 {v5.1d}, [x1], #8 // load twisted H ld1 {v6.1d}, [x1] diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S index be0e283c366..566330f1be1 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S @@ -21,6 +21,7 @@ .align 4 _gcm_init_v8: + AARCH64_VALID_CALL_TARGET ld1 {v17.2d},[x1] //load input H movi v19.16b,#0xe1 shl v19.2d,v19.2d,#57 //0xc2.0 @@ -72,6 +73,7 @@ _gcm_init_v8: .align 4 _gcm_gmult_v8: + AARCH64_VALID_CALL_TARGET ld1 {v17.2d},[x0] //load Xi movi v19.16b,#0xe1 ld1 {v20.2d,v21.2d},[x1] //load twisted H, ... @@ -114,6 +116,7 @@ _gcm_gmult_v8: .align 4 _gcm_ghash_v8: + AARCH64_VALID_CALL_TARGET ld1 {v0.2d},[x0] //load [rotated] Xi //"[rotated]" means that //loaded value would have diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha1-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha1-armv8.S index 379107efbf8..16f000ec0ce 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha1-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha1-armv8.S @@ -22,6 +22,8 @@ .align 6 _sha1_block_data_order: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x16,:pg_hi21_nc:_OPENSSL_armcap_P #else @@ -1089,6 +1091,8 @@ Loop: .align 6 sha1_block_armv8: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET Lv8_entry: stp x29,x30,[sp,#-16]! add x29,sp,#0 diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha256-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha256-armv8.S index d6fa5a930df..208d9489e97 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha256-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha256-armv8.S @@ -63,6 +63,7 @@ .align 6 _sha256_block_data_order: + AARCH64_VALID_CALL_TARGET #ifndef __KERNEL__ #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x16,:pg_hi21_nc:_OPENSSL_armcap_P @@ -73,6 +74,7 @@ _sha256_block_data_order: tst w16,#ARMV8_SHA256 b.ne Lv8_entry #endif + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1033,6 +1035,7 @@ Loop_16_xx: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -1067,6 +1070,7 @@ LK256: .align 6 sha256_block_armv8: Lv8_entry: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. stp x29,x30,[sp,#-16]! add x29,sp,#0 diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha512-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha512-armv8.S index 29e122b1808..4c0152461fd 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha512-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha512-armv8.S @@ -63,6 +63,7 @@ .align 6 _sha512_block_data_order: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1023,6 +1024,7 @@ Loop_16_xx: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + AARCH64_VALIDATE_LINK_REGISTER ret diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S index 0f5cbeadafd..12422e46723 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S @@ -12,6 +12,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .section __TEXT,__const @@ -214,6 +216,7 @@ Lenc_entry: .align 4 _vpaes_encrypt: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -223,6 +226,7 @@ _vpaes_encrypt: st1 {v0.16b}, [x1] ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -451,6 +455,7 @@ Ldec_entry: .align 4 _vpaes_decrypt: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -460,6 +465,7 @@ _vpaes_decrypt: st1 {v0.16b}, [x1] ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -629,6 +635,7 @@ _vpaes_key_preheat: .align 4 _vpaes_schedule_core: + AARCH64_SIGN_LINK_REGISTER stp x29, x30, [sp,#-16]! add x29,sp,#0 @@ -798,6 +805,7 @@ Lschedule_mangle_last_dec: eor v6.16b, v6.16b, v6.16b // vpxor %xmm6, %xmm6, %xmm6 eor v7.16b, v7.16b, v7.16b // vpxor %xmm7, %xmm7, %xmm7 ldp x29, x30, [sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -1011,6 +1019,7 @@ Lschedule_mangle_both: .align 4 _vpaes_set_encrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1026,6 +1035,7 @@ _vpaes_set_encrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -1034,6 +1044,7 @@ _vpaes_set_encrypt_key: .align 4 _vpaes_set_decrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1053,6 +1064,7 @@ _vpaes_set_decrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .globl _vpaes_cbc_encrypt @@ -1060,6 +1072,7 @@ _vpaes_set_decrypt_key: .align 4 _vpaes_cbc_encrypt: + AARCH64_SIGN_LINK_REGISTER cbz x2, Lcbc_abort cmp w5, #0 // check direction b.eq vpaes_cbc_decrypt @@ -1086,6 +1099,7 @@ Lcbc_enc_loop: st1 {v0.16b}, [x4] // write ivec ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER Lcbc_abort: ret @@ -1093,6 +1107,8 @@ Lcbc_abort: .align 4 vpaes_cbc_decrypt: + // Not adding AARCH64_SIGN_LINK_REGISTER here because vpaes_cbc_decrypt is jumped to + // only from vpaes_cbc_encrypt which has already signed the return address. stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1134,6 +1150,7 @@ Lcbc_dec_done: ldp d10,d11,[sp],#16 ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .globl _vpaes_ctr32_encrypt_blocks @@ -1141,6 +1158,7 @@ Lcbc_dec_done: .align 4 _vpaes_ctr32_encrypt_blocks: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1208,6 +1226,7 @@ Lctr32_done: ldp d10,d11,[sp],#16 ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret #endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/test/trampoline-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/test/trampoline-armv8.S index 438e9298c0a..325da9b100e 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/test/trampoline-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/test/trampoline-armv8.S @@ -12,6 +12,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text // abi_test_trampoline loads callee-saved registers from |state|, calls |func| @@ -26,6 +28,7 @@ .align 4 _abi_test_trampoline: Labi_test_trampoline_begin: + AARCH64_SIGN_LINK_REGISTER // Stack layout (low to high addresses) // x29,x30 (16 bytes) // d8-d15 (64 bytes) @@ -128,6 +131,7 @@ Lx29_ok: ldp x27, x28, [sp, #144] ldp x29, x30, [sp], #176 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -135,6 +139,7 @@ Lx29_ok: .private_extern _abi_test_clobber_x0 .align 4 _abi_test_clobber_x0: + AARCH64_VALID_CALL_TARGET mov x0, xzr ret @@ -143,6 +148,7 @@ _abi_test_clobber_x0: .private_extern _abi_test_clobber_x1 .align 4 _abi_test_clobber_x1: + AARCH64_VALID_CALL_TARGET mov x1, xzr ret @@ -151,6 +157,7 @@ _abi_test_clobber_x1: .private_extern _abi_test_clobber_x2 .align 4 _abi_test_clobber_x2: + AARCH64_VALID_CALL_TARGET mov x2, xzr ret @@ -159,6 +166,7 @@ _abi_test_clobber_x2: .private_extern _abi_test_clobber_x3 .align 4 _abi_test_clobber_x3: + AARCH64_VALID_CALL_TARGET mov x3, xzr ret @@ -167,6 +175,7 @@ _abi_test_clobber_x3: .private_extern _abi_test_clobber_x4 .align 4 _abi_test_clobber_x4: + AARCH64_VALID_CALL_TARGET mov x4, xzr ret @@ -175,6 +184,7 @@ _abi_test_clobber_x4: .private_extern _abi_test_clobber_x5 .align 4 _abi_test_clobber_x5: + AARCH64_VALID_CALL_TARGET mov x5, xzr ret @@ -183,6 +193,7 @@ _abi_test_clobber_x5: .private_extern _abi_test_clobber_x6 .align 4 _abi_test_clobber_x6: + AARCH64_VALID_CALL_TARGET mov x6, xzr ret @@ -191,6 +202,7 @@ _abi_test_clobber_x6: .private_extern _abi_test_clobber_x7 .align 4 _abi_test_clobber_x7: + AARCH64_VALID_CALL_TARGET mov x7, xzr ret @@ -199,6 +211,7 @@ _abi_test_clobber_x7: .private_extern _abi_test_clobber_x8 .align 4 _abi_test_clobber_x8: + AARCH64_VALID_CALL_TARGET mov x8, xzr ret @@ -207,6 +220,7 @@ _abi_test_clobber_x8: .private_extern _abi_test_clobber_x9 .align 4 _abi_test_clobber_x9: + AARCH64_VALID_CALL_TARGET mov x9, xzr ret @@ -215,6 +229,7 @@ _abi_test_clobber_x9: .private_extern _abi_test_clobber_x10 .align 4 _abi_test_clobber_x10: + AARCH64_VALID_CALL_TARGET mov x10, xzr ret @@ -223,6 +238,7 @@ _abi_test_clobber_x10: .private_extern _abi_test_clobber_x11 .align 4 _abi_test_clobber_x11: + AARCH64_VALID_CALL_TARGET mov x11, xzr ret @@ -231,6 +247,7 @@ _abi_test_clobber_x11: .private_extern _abi_test_clobber_x12 .align 4 _abi_test_clobber_x12: + AARCH64_VALID_CALL_TARGET mov x12, xzr ret @@ -239,6 +256,7 @@ _abi_test_clobber_x12: .private_extern _abi_test_clobber_x13 .align 4 _abi_test_clobber_x13: + AARCH64_VALID_CALL_TARGET mov x13, xzr ret @@ -247,6 +265,7 @@ _abi_test_clobber_x13: .private_extern _abi_test_clobber_x14 .align 4 _abi_test_clobber_x14: + AARCH64_VALID_CALL_TARGET mov x14, xzr ret @@ -255,6 +274,7 @@ _abi_test_clobber_x14: .private_extern _abi_test_clobber_x15 .align 4 _abi_test_clobber_x15: + AARCH64_VALID_CALL_TARGET mov x15, xzr ret @@ -263,6 +283,7 @@ _abi_test_clobber_x15: .private_extern _abi_test_clobber_x16 .align 4 _abi_test_clobber_x16: + AARCH64_VALID_CALL_TARGET mov x16, xzr ret @@ -271,6 +292,7 @@ _abi_test_clobber_x16: .private_extern _abi_test_clobber_x17 .align 4 _abi_test_clobber_x17: + AARCH64_VALID_CALL_TARGET mov x17, xzr ret @@ -279,6 +301,7 @@ _abi_test_clobber_x17: .private_extern _abi_test_clobber_x19 .align 4 _abi_test_clobber_x19: + AARCH64_VALID_CALL_TARGET mov x19, xzr ret @@ -287,6 +310,7 @@ _abi_test_clobber_x19: .private_extern _abi_test_clobber_x20 .align 4 _abi_test_clobber_x20: + AARCH64_VALID_CALL_TARGET mov x20, xzr ret @@ -295,6 +319,7 @@ _abi_test_clobber_x20: .private_extern _abi_test_clobber_x21 .align 4 _abi_test_clobber_x21: + AARCH64_VALID_CALL_TARGET mov x21, xzr ret @@ -303,6 +328,7 @@ _abi_test_clobber_x21: .private_extern _abi_test_clobber_x22 .align 4 _abi_test_clobber_x22: + AARCH64_VALID_CALL_TARGET mov x22, xzr ret @@ -311,6 +337,7 @@ _abi_test_clobber_x22: .private_extern _abi_test_clobber_x23 .align 4 _abi_test_clobber_x23: + AARCH64_VALID_CALL_TARGET mov x23, xzr ret @@ -319,6 +346,7 @@ _abi_test_clobber_x23: .private_extern _abi_test_clobber_x24 .align 4 _abi_test_clobber_x24: + AARCH64_VALID_CALL_TARGET mov x24, xzr ret @@ -327,6 +355,7 @@ _abi_test_clobber_x24: .private_extern _abi_test_clobber_x25 .align 4 _abi_test_clobber_x25: + AARCH64_VALID_CALL_TARGET mov x25, xzr ret @@ -335,6 +364,7 @@ _abi_test_clobber_x25: .private_extern _abi_test_clobber_x26 .align 4 _abi_test_clobber_x26: + AARCH64_VALID_CALL_TARGET mov x26, xzr ret @@ -343,6 +373,7 @@ _abi_test_clobber_x26: .private_extern _abi_test_clobber_x27 .align 4 _abi_test_clobber_x27: + AARCH64_VALID_CALL_TARGET mov x27, xzr ret @@ -351,6 +382,7 @@ _abi_test_clobber_x27: .private_extern _abi_test_clobber_x28 .align 4 _abi_test_clobber_x28: + AARCH64_VALID_CALL_TARGET mov x28, xzr ret @@ -359,6 +391,7 @@ _abi_test_clobber_x28: .private_extern _abi_test_clobber_x29 .align 4 _abi_test_clobber_x29: + AARCH64_VALID_CALL_TARGET mov x29, xzr ret @@ -367,6 +400,7 @@ _abi_test_clobber_x29: .private_extern _abi_test_clobber_d0 .align 4 _abi_test_clobber_d0: + AARCH64_VALID_CALL_TARGET fmov d0, xzr ret @@ -375,6 +409,7 @@ _abi_test_clobber_d0: .private_extern _abi_test_clobber_d1 .align 4 _abi_test_clobber_d1: + AARCH64_VALID_CALL_TARGET fmov d1, xzr ret @@ -383,6 +418,7 @@ _abi_test_clobber_d1: .private_extern _abi_test_clobber_d2 .align 4 _abi_test_clobber_d2: + AARCH64_VALID_CALL_TARGET fmov d2, xzr ret @@ -391,6 +427,7 @@ _abi_test_clobber_d2: .private_extern _abi_test_clobber_d3 .align 4 _abi_test_clobber_d3: + AARCH64_VALID_CALL_TARGET fmov d3, xzr ret @@ -399,6 +436,7 @@ _abi_test_clobber_d3: .private_extern _abi_test_clobber_d4 .align 4 _abi_test_clobber_d4: + AARCH64_VALID_CALL_TARGET fmov d4, xzr ret @@ -407,6 +445,7 @@ _abi_test_clobber_d4: .private_extern _abi_test_clobber_d5 .align 4 _abi_test_clobber_d5: + AARCH64_VALID_CALL_TARGET fmov d5, xzr ret @@ -415,6 +454,7 @@ _abi_test_clobber_d5: .private_extern _abi_test_clobber_d6 .align 4 _abi_test_clobber_d6: + AARCH64_VALID_CALL_TARGET fmov d6, xzr ret @@ -423,6 +463,7 @@ _abi_test_clobber_d6: .private_extern _abi_test_clobber_d7 .align 4 _abi_test_clobber_d7: + AARCH64_VALID_CALL_TARGET fmov d7, xzr ret @@ -431,6 +472,7 @@ _abi_test_clobber_d7: .private_extern _abi_test_clobber_d8 .align 4 _abi_test_clobber_d8: + AARCH64_VALID_CALL_TARGET fmov d8, xzr ret @@ -439,6 +481,7 @@ _abi_test_clobber_d8: .private_extern _abi_test_clobber_d9 .align 4 _abi_test_clobber_d9: + AARCH64_VALID_CALL_TARGET fmov d9, xzr ret @@ -447,6 +490,7 @@ _abi_test_clobber_d9: .private_extern _abi_test_clobber_d10 .align 4 _abi_test_clobber_d10: + AARCH64_VALID_CALL_TARGET fmov d10, xzr ret @@ -455,6 +499,7 @@ _abi_test_clobber_d10: .private_extern _abi_test_clobber_d11 .align 4 _abi_test_clobber_d11: + AARCH64_VALID_CALL_TARGET fmov d11, xzr ret @@ -463,6 +508,7 @@ _abi_test_clobber_d11: .private_extern _abi_test_clobber_d12 .align 4 _abi_test_clobber_d12: + AARCH64_VALID_CALL_TARGET fmov d12, xzr ret @@ -471,6 +517,7 @@ _abi_test_clobber_d12: .private_extern _abi_test_clobber_d13 .align 4 _abi_test_clobber_d13: + AARCH64_VALID_CALL_TARGET fmov d13, xzr ret @@ -479,6 +526,7 @@ _abi_test_clobber_d13: .private_extern _abi_test_clobber_d14 .align 4 _abi_test_clobber_d14: + AARCH64_VALID_CALL_TARGET fmov d14, xzr ret @@ -487,6 +535,7 @@ _abi_test_clobber_d14: .private_extern _abi_test_clobber_d15 .align 4 _abi_test_clobber_d15: + AARCH64_VALID_CALL_TARGET fmov d15, xzr ret @@ -495,6 +544,7 @@ _abi_test_clobber_d15: .private_extern _abi_test_clobber_d16 .align 4 _abi_test_clobber_d16: + AARCH64_VALID_CALL_TARGET fmov d16, xzr ret @@ -503,6 +553,7 @@ _abi_test_clobber_d16: .private_extern _abi_test_clobber_d17 .align 4 _abi_test_clobber_d17: + AARCH64_VALID_CALL_TARGET fmov d17, xzr ret @@ -511,6 +562,7 @@ _abi_test_clobber_d17: .private_extern _abi_test_clobber_d18 .align 4 _abi_test_clobber_d18: + AARCH64_VALID_CALL_TARGET fmov d18, xzr ret @@ -519,6 +571,7 @@ _abi_test_clobber_d18: .private_extern _abi_test_clobber_d19 .align 4 _abi_test_clobber_d19: + AARCH64_VALID_CALL_TARGET fmov d19, xzr ret @@ -527,6 +580,7 @@ _abi_test_clobber_d19: .private_extern _abi_test_clobber_d20 .align 4 _abi_test_clobber_d20: + AARCH64_VALID_CALL_TARGET fmov d20, xzr ret @@ -535,6 +589,7 @@ _abi_test_clobber_d20: .private_extern _abi_test_clobber_d21 .align 4 _abi_test_clobber_d21: + AARCH64_VALID_CALL_TARGET fmov d21, xzr ret @@ -543,6 +598,7 @@ _abi_test_clobber_d21: .private_extern _abi_test_clobber_d22 .align 4 _abi_test_clobber_d22: + AARCH64_VALID_CALL_TARGET fmov d22, xzr ret @@ -551,6 +607,7 @@ _abi_test_clobber_d22: .private_extern _abi_test_clobber_d23 .align 4 _abi_test_clobber_d23: + AARCH64_VALID_CALL_TARGET fmov d23, xzr ret @@ -559,6 +616,7 @@ _abi_test_clobber_d23: .private_extern _abi_test_clobber_d24 .align 4 _abi_test_clobber_d24: + AARCH64_VALID_CALL_TARGET fmov d24, xzr ret @@ -567,6 +625,7 @@ _abi_test_clobber_d24: .private_extern _abi_test_clobber_d25 .align 4 _abi_test_clobber_d25: + AARCH64_VALID_CALL_TARGET fmov d25, xzr ret @@ -575,6 +634,7 @@ _abi_test_clobber_d25: .private_extern _abi_test_clobber_d26 .align 4 _abi_test_clobber_d26: + AARCH64_VALID_CALL_TARGET fmov d26, xzr ret @@ -583,6 +643,7 @@ _abi_test_clobber_d26: .private_extern _abi_test_clobber_d27 .align 4 _abi_test_clobber_d27: + AARCH64_VALID_CALL_TARGET fmov d27, xzr ret @@ -591,6 +652,7 @@ _abi_test_clobber_d27: .private_extern _abi_test_clobber_d28 .align 4 _abi_test_clobber_d28: + AARCH64_VALID_CALL_TARGET fmov d28, xzr ret @@ -599,6 +661,7 @@ _abi_test_clobber_d28: .private_extern _abi_test_clobber_d29 .align 4 _abi_test_clobber_d29: + AARCH64_VALID_CALL_TARGET fmov d29, xzr ret @@ -607,6 +670,7 @@ _abi_test_clobber_d29: .private_extern _abi_test_clobber_d30 .align 4 _abi_test_clobber_d30: + AARCH64_VALID_CALL_TARGET fmov d30, xzr ret @@ -615,6 +679,7 @@ _abi_test_clobber_d30: .private_extern _abi_test_clobber_d31 .align 4 _abi_test_clobber_d31: + AARCH64_VALID_CALL_TARGET fmov d31, xzr ret @@ -623,6 +688,7 @@ _abi_test_clobber_d31: .private_extern _abi_test_clobber_v8_upper .align 4 _abi_test_clobber_v8_upper: + AARCH64_VALID_CALL_TARGET fmov v8.d[1], xzr ret @@ -631,6 +697,7 @@ _abi_test_clobber_v8_upper: .private_extern _abi_test_clobber_v9_upper .align 4 _abi_test_clobber_v9_upper: + AARCH64_VALID_CALL_TARGET fmov v9.d[1], xzr ret @@ -639,6 +706,7 @@ _abi_test_clobber_v9_upper: .private_extern _abi_test_clobber_v10_upper .align 4 _abi_test_clobber_v10_upper: + AARCH64_VALID_CALL_TARGET fmov v10.d[1], xzr ret @@ -647,6 +715,7 @@ _abi_test_clobber_v10_upper: .private_extern _abi_test_clobber_v11_upper .align 4 _abi_test_clobber_v11_upper: + AARCH64_VALID_CALL_TARGET fmov v11.d[1], xzr ret @@ -655,6 +724,7 @@ _abi_test_clobber_v11_upper: .private_extern _abi_test_clobber_v12_upper .align 4 _abi_test_clobber_v12_upper: + AARCH64_VALID_CALL_TARGET fmov v12.d[1], xzr ret @@ -663,6 +733,7 @@ _abi_test_clobber_v12_upper: .private_extern _abi_test_clobber_v13_upper .align 4 _abi_test_clobber_v13_upper: + AARCH64_VALID_CALL_TARGET fmov v13.d[1], xzr ret @@ -671,6 +742,7 @@ _abi_test_clobber_v13_upper: .private_extern _abi_test_clobber_v14_upper .align 4 _abi_test_clobber_v14_upper: + AARCH64_VALID_CALL_TARGET fmov v14.d[1], xzr ret @@ -679,6 +751,7 @@ _abi_test_clobber_v14_upper: .private_extern _abi_test_clobber_v15_upper .align 4 _abi_test_clobber_v15_upper: + AARCH64_VALID_CALL_TARGET fmov v15.d[1], xzr ret diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/third_party/sike/asm/fp-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/third_party/sike/asm/fp-armv8.S deleted file mode 100644 index c48863f65ff..00000000000 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/third_party/sike/asm/fp-armv8.S +++ /dev/null @@ -1,996 +0,0 @@ -// This file is generated from a similarly-named Perl script in the BoringSSL -// source tree. Do not edit by hand. - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif - -#if !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.section __TEXT,__const - -# p434 x 2 -Lp434x2: -.quad 0xFFFFFFFFFFFFFFFE, 0xFFFFFFFFFFFFFFFF -.quad 0xFB82ECF5C5FFFFFF, 0xF78CB8F062B15D47 -.quad 0xD9F8BFAD038A40AC, 0x0004683E4E2EE688 - -# p434 + 1 -Lp434p1: -.quad 0xFDC1767AE3000000, 0x7BC65C783158AEA3 -.quad 0x6CFC5FD681C52056, 0x0002341F27177344 - -.text -.globl _sike_mpmul -.private_extern _sike_mpmul -.align 4 -_sike_mpmul: - stp x29, x30, [sp,#-96]! - add x29, sp, #0 - stp x19, x20, [sp,#16] - stp x21, x22, [sp,#32] - stp x23, x24, [sp,#48] - stp x25, x26, [sp,#64] - stp x27, x28, [sp,#80] - - ldp x3, x4, [x0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x10, x11, [x1,#0] - ldp x12, x13, [x1,#16] - ldp x14, x15, [x1,#32] - ldr x16, [x1,#48] - - // x3-x7 <- AH + AL, x7 <- carry - adds x3, x3, x7 - adcs x4, x4, x8 - adcs x5, x5, x9 - adcs x6, x6, xzr - adc x7, xzr, xzr - - // x10-x13 <- BH + BL, x8 <- carry - adds x10, x10, x14 - adcs x11, x11, x15 - adcs x12, x12, x16 - adcs x13, x13, xzr - adc x8, xzr, xzr - - // x9 <- combined carry - and x9, x7, x8 - // x7-x8 <- mask - sub x7, xzr, x7 - sub x8, xzr, x8 - - // x15-x19 <- masked (BH + BL) - and x14, x10, x7 - and x15, x11, x7 - and x16, x12, x7 - and x17, x13, x7 - - // x20-x23 <- masked (AH + AL) - and x20, x3, x8 - and x21, x4, x8 - and x22, x5, x8 - and x23, x6, x8 - - // x15-x19, x7 <- masked (AH+AL) + masked (BH+BL), step 1 - adds x14, x14, x20 - adcs x15, x15, x21 - adcs x16, x16, x22 - adcs x17, x17, x23 - adc x7, x9, xzr - - // x8-x9,x19,x20-x24 <- (AH+AL) x (BH+BL), low part - stp x3, x4, [x2,#0] - // A0-A1 <- AH + AL, T0 <- mask - adds x3, x3, x5 - adcs x4, x4, x6 - adc x25, xzr, xzr - - // C6, T1 <- BH + BL, C7 <- mask - adds x23, x10, x12 - adcs x26, x11, x13 - adc x24, xzr, xzr - - // C0-C1 <- masked (BH + BL) - sub x19, xzr, x25 - sub x20, xzr, x24 - and x8, x23, x19 - and x9, x26, x19 - - // C4-C5 <- masked (AH + AL), T0 <- combined carry - and x21, x3, x20 - and x22, x4, x20 - mul x19, x3, x23 - mul x20, x3, x26 - and x25, x25, x24 - - // C0-C1, T0 <- (AH+AL) x (BH+BL), part 1 - adds x8, x21, x8 - umulh x21, x3, x26 - adcs x9, x22, x9 - umulh x22, x3, x23 - adc x25, x25, xzr - - // C2-C5 <- (AH+AL) x (BH+BL), low part - mul x3, x4, x23 - umulh x23, x4, x23 - adds x20, x20, x22 - adc x21, x21, xzr - - mul x24, x4, x26 - umulh x26, x4, x26 - adds x20, x20, x3 - adcs x21, x21, x23 - adc x22, xzr, xzr - - adds x21, x21, x24 - adc x22, x22, x26 - - ldp x3, x4, [x2,#0] - - // C2-C5, T0 <- (AH+AL) x (BH+BL), final part - adds x21, x8, x21 - umulh x24, x3, x10 - umulh x26, x3, x11 - adcs x22, x9, x22 - mul x8, x3, x10 - mul x9, x3, x11 - adc x25, x25, xzr - - // C0-C1, T1, C7 <- AL x BL - mul x3, x4, x10 - umulh x10, x4, x10 - adds x9, x9, x24 - adc x26, x26, xzr - - mul x23, x4, x11 - umulh x11, x4, x11 - adds x9, x9, x3 - adcs x26, x26, x10 - adc x24, xzr, xzr - - adds x26, x26, x23 - adc x24, x24, x11 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - mul x3, x5, x12 - umulh x10, x5, x12 - subs x19, x19, x8 - sbcs x20, x20, x9 - sbcs x21, x21, x26 - mul x4, x5, x13 - umulh x23, x5, x13 - sbcs x22, x22, x24 - sbc x25, x25, xzr - - // A0, A1, C6, B0 <- AH x BH - mul x5, x6, x12 - umulh x12, x6, x12 - adds x4, x4, x10 - adc x23, x23, xzr - - mul x11, x6, x13 - umulh x13, x6, x13 - adds x4, x4, x5 - adcs x23, x23, x12 - adc x10, xzr, xzr - - adds x23, x23, x11 - adc x10, x10, x13 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x19, x19, x3 - sbcs x20, x20, x4 - sbcs x21, x21, x23 - sbcs x22, x22, x10 - sbc x25, x25, xzr - - adds x19, x19, x26 - adcs x20, x20, x24 - adcs x21, x21, x3 - adcs x22, x22, x4 - adcs x23, x25, x23 - adc x24, x10, xzr - - - // x15-x19, x7 <- (AH+AL) x (BH+BL), final step - adds x14, x14, x21 - adcs x15, x15, x22 - adcs x16, x16, x23 - adcs x17, x17, x24 - adc x7, x7, xzr - - // Load AL - ldp x3, x4, [x0] - ldp x5, x6, [x0,#16] - // Load BL - ldp x10, x11, [x1,#0] - ldp x12, x13, [x1,#16] - - // Temporarily store x8 in x2 - stp x8, x9, [x2,#0] - // x21-x28 <- AL x BL - // A0-A1 <- AH + AL, T0 <- mask - adds x3, x3, x5 - adcs x4, x4, x6 - adc x8, xzr, xzr - - // C6, T1 <- BH + BL, C7 <- mask - adds x27, x10, x12 - adcs x9, x11, x13 - adc x28, xzr, xzr - - // C0-C1 <- masked (BH + BL) - sub x23, xzr, x8 - sub x24, xzr, x28 - and x21, x27, x23 - and x22, x9, x23 - - // C4-C5 <- masked (AH + AL), T0 <- combined carry - and x25, x3, x24 - and x26, x4, x24 - mul x23, x3, x27 - mul x24, x3, x9 - and x8, x8, x28 - - // C0-C1, T0 <- (AH+AL) x (BH+BL), part 1 - adds x21, x25, x21 - umulh x25, x3, x9 - adcs x22, x26, x22 - umulh x26, x3, x27 - adc x8, x8, xzr - - // C2-C5 <- (AH+AL) x (BH+BL), low part - mul x3, x4, x27 - umulh x27, x4, x27 - adds x24, x24, x26 - adc x25, x25, xzr - - mul x28, x4, x9 - umulh x9, x4, x9 - adds x24, x24, x3 - adcs x25, x25, x27 - adc x26, xzr, xzr - - adds x25, x25, x28 - adc x26, x26, x9 - - ldp x3, x4, [x0,#0] - - // C2-C5, T0 <- (AH+AL) x (BH+BL), final part - adds x25, x21, x25 - umulh x28, x3, x10 - umulh x9, x3, x11 - adcs x26, x22, x26 - mul x21, x3, x10 - mul x22, x3, x11 - adc x8, x8, xzr - - // C0-C1, T1, C7 <- AL x BL - mul x3, x4, x10 - umulh x10, x4, x10 - adds x22, x22, x28 - adc x9, x9, xzr - - mul x27, x4, x11 - umulh x11, x4, x11 - adds x22, x22, x3 - adcs x9, x9, x10 - adc x28, xzr, xzr - - adds x9, x9, x27 - adc x28, x28, x11 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - mul x3, x5, x12 - umulh x10, x5, x12 - subs x23, x23, x21 - sbcs x24, x24, x22 - sbcs x25, x25, x9 - mul x4, x5, x13 - umulh x27, x5, x13 - sbcs x26, x26, x28 - sbc x8, x8, xzr - - // A0, A1, C6, B0 <- AH x BH - mul x5, x6, x12 - umulh x12, x6, x12 - adds x4, x4, x10 - adc x27, x27, xzr - - mul x11, x6, x13 - umulh x13, x6, x13 - adds x4, x4, x5 - adcs x27, x27, x12 - adc x10, xzr, xzr - - adds x27, x27, x11 - adc x10, x10, x13 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x23, x23, x3 - sbcs x24, x24, x4 - sbcs x25, x25, x27 - sbcs x26, x26, x10 - sbc x8, x8, xzr - - adds x23, x23, x9 - adcs x24, x24, x28 - adcs x25, x25, x3 - adcs x26, x26, x4 - adcs x27, x8, x27 - adc x28, x10, xzr - - // Restore x8 - ldp x8, x9, [x2,#0] - - // x8-x10,x20,x15-x17,x19 <- maskd (AH+AL) x (BH+BL) - ALxBL - subs x8, x8, x21 - sbcs x9, x9, x22 - sbcs x19, x19, x23 - sbcs x20, x20, x24 - sbcs x14, x14, x25 - sbcs x15, x15, x26 - sbcs x16, x16, x27 - sbcs x17, x17, x28 - sbc x7, x7, xzr - - // Store ALxBL, low - stp x21, x22, [x2] - stp x23, x24, [x2,#16] - - // Load AH - ldp x3, x4, [x0,#32] - ldr x5, [x0,#48] - // Load BH - ldp x10, x11, [x1,#32] - ldr x12, [x1,#48] - - adds x8, x8, x25 - adcs x9, x9, x26 - adcs x19, x19, x27 - adcs x20, x20, x28 - adc x1, xzr, xzr - - add x0, x0, #32 - // Temporarily store x8,x9 in x2 - stp x8,x9, [x2,#32] - // x21-x28 <- AH x BH - - // A0 * B0 - mul x21, x3, x10 // C0 - umulh x24, x3, x10 - - // A0 * B1 - mul x22, x3, x11 - umulh x23, x3, x11 - - // A1 * B0 - mul x8, x4, x10 - umulh x9, x4, x10 - adds x22, x22, x24 - adc x23, x23, xzr - - // A0 * B2 - mul x27, x3, x12 - umulh x28, x3, x12 - adds x22, x22, x8 // C1 - adcs x23, x23, x9 - adc x24, xzr, xzr - - // A2 * B0 - mul x8, x5, x10 - umulh x25, x5, x10 - adds x23, x23, x27 - adcs x24, x24, x25 - adc x25, xzr, xzr - - // A1 * B1 - mul x27, x4, x11 - umulh x9, x4, x11 - adds x23, x23, x8 - adcs x24, x24, x28 - adc x25, x25, xzr - - // A1 * B2 - mul x8, x4, x12 - umulh x28, x4, x12 - adds x23, x23, x27 // C2 - adcs x24, x24, x9 - adc x25, x25, xzr - - // A2 * B1 - mul x27, x5, x11 - umulh x9, x5, x11 - adds x24, x24, x8 - adcs x25, x25, x28 - adc x26, xzr, xzr - - // A2 * B2 - mul x8, x5, x12 - umulh x28, x5, x12 - adds x24, x24, x27 // C3 - adcs x25, x25, x9 - adc x26, x26, xzr - - adds x25, x25, x8 // C4 - adc x26, x26, x28 // C5 - - // Restore x8,x9 - ldp x8,x9, [x2,#32] - - neg x1, x1 - - // x8-x9,x19,x20,x14-x17 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x8, x8, x21 - sbcs x9, x9, x22 - sbcs x19, x19, x23 - sbcs x20, x20, x24 - sbcs x14, x14, x25 - sbcs x15, x15, x26 - sbcs x16, x16, xzr - sbcs x17, x17, xzr - sbc x7, x7, xzr - - // Store (AH+AL) x (BH+BL) - ALxBL - AHxBH, low - stp x8, x9, [x2,#32] - stp x19, x20, [x2,#48] - - adds x1, x1, #1 - adcs x14, x14, x21 - adcs x15, x15, x22 - adcs x16, x16, x23 - adcs x17, x17, x24 - adcs x25, x7, x25 - adc x26, x26, xzr - - stp x14, x15, [x2,#64] - stp x16, x17, [x2,#80] - stp x25, x26, [x2,#96] - - ldp x19, x20, [x29,#16] - ldp x21, x22, [x29,#32] - ldp x23, x24, [x29,#48] - ldp x25, x26, [x29,#64] - ldp x27, x28, [x29,#80] - ldp x29, x30, [sp],#96 - ret -.globl _sike_fprdc -.private_extern _sike_fprdc -.align 4 -_sike_fprdc: - stp x29, x30, [sp, #-96]! - add x29, sp, xzr - stp x19, x20, [sp,#16] - stp x21, x22, [sp,#32] - stp x23, x24, [sp,#48] - stp x25, x26, [sp,#64] - stp x27, x28, [sp,#80] - - ldp x2, x3, [x0,#0] // a[0-1] - - // Load the prime constant - adrp x26, Lp434p1@PAGE - add x26, x26, Lp434p1@PAGEOFF - ldp x23, x24, [x26, #0x0] - ldp x25, x26, [x26,#0x10] - - // a[0-1] * p434+1 - mul x4, x2, x23 // C0 - umulh x7, x2, x23 - - mul x5, x2, x24 - umulh x6, x2, x24 - - mul x10, x3, x23 - umulh x11, x3, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x2, x25 - umulh x28, x2, x25 - adds x5, x5, x10 // C1 - adcs x6, x6, x11 - adc x7, xzr, xzr - - mul x10, x3, x24 - umulh x11, x3, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x2, x26 - umulh x28, x2, x26 - adds x6, x6, x10 // C2 - adcs x7, x7, x11 - adc x8, x8, xzr - - mul x10, x3, x25 - umulh x11, x3, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x3, x26 - umulh x28, x3, x26 - adds x7, x7, x10 // C3 - adcs x8, x8, x11 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - - ldp x10, x11, [x0, #0x18] - ldp x12, x13, [x0, #0x28] - ldp x14, x15, [x0, #0x38] - ldp x16, x17, [x0, #0x48] - ldp x19, x20, [x0, #0x58] - ldr x21, [x0, #0x68] - - adds x10, x10, x4 - adcs x11, x11, x5 - adcs x12, x12, x6 - adcs x13, x13, x7 - adcs x14, x14, x8 - adcs x15, x15, x9 - adcs x22, x16, xzr - adcs x17, x17, xzr - adcs x19, x19, xzr - adcs x20, x20, xzr - adc x21, x21, xzr - - ldr x2, [x0,#0x10] // a[2] - // a[2-3] * p434+1 - mul x4, x2, x23 // C0 - umulh x7, x2, x23 - - mul x5, x2, x24 - umulh x6, x2, x24 - - mul x0, x10, x23 - umulh x3, x10, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x2, x25 - umulh x28, x2, x25 - adds x5, x5, x0 // C1 - adcs x6, x6, x3 - adc x7, xzr, xzr - - mul x0, x10, x24 - umulh x3, x10, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x2, x26 - umulh x28, x2, x26 - adds x6, x6, x0 // C2 - adcs x7, x7, x3 - adc x8, x8, xzr - - mul x0, x10, x25 - umulh x3, x10, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x10, x26 - umulh x28, x10, x26 - adds x7, x7, x0 // C3 - adcs x8, x8, x3 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - - adds x12, x12, x4 - adcs x13, x13, x5 - adcs x14, x14, x6 - adcs x15, x15, x7 - adcs x16, x22, x8 - adcs x17, x17, x9 - adcs x22, x19, xzr - adcs x20, x20, xzr - adc x21, x21, xzr - - mul x4, x11, x23 // C0 - umulh x7, x11, x23 - - mul x5, x11, x24 - umulh x6, x11, x24 - - mul x10, x12, x23 - umulh x3, x12, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x11, x25 - umulh x28, x11, x25 - adds x5, x5, x10 // C1 - adcs x6, x6, x3 - adc x7, xzr, xzr - - mul x10, x12, x24 - umulh x3, x12, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x11, x26 - umulh x28, x11, x26 - adds x6, x6, x10 // C2 - adcs x7, x7, x3 - adc x8, x8, xzr - - mul x10, x12, x25 - umulh x3, x12, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x12, x26 - umulh x28, x12, x26 - adds x7, x7, x10 // C3 - adcs x8, x8, x3 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - adds x14, x14, x4 - adcs x15, x15, x5 - adcs x16, x16, x6 - adcs x17, x17, x7 - adcs x19, x22, x8 - adcs x20, x20, x9 - adc x22, x21, xzr - - stp x14, x15, [x1, #0x0] // C0, C1 - - mul x4, x13, x23 // C0 - umulh x10, x13, x23 - - mul x5, x13, x24 - umulh x27, x13, x24 - adds x5, x5, x10 // C1 - adc x10, xzr, xzr - - mul x6, x13, x25 - umulh x28, x13, x25 - adds x27, x10, x27 - adcs x6, x6, x27 // C2 - adc x10, xzr, xzr - - mul x7, x13, x26 - umulh x8, x13, x26 - adds x28, x10, x28 - adcs x7, x7, x28 // C3 - adc x8, x8, xzr // C4 - - adds x16, x16, x4 - adcs x17, x17, x5 - adcs x19, x19, x6 - adcs x20, x20, x7 - adc x21, x22, x8 - - str x16, [x1, #0x10] - stp x17, x19, [x1, #0x18] - stp x20, x21, [x1, #0x28] - - ldp x19, x20, [x29,#16] - ldp x21, x22, [x29,#32] - ldp x23, x24, [x29,#48] - ldp x25, x26, [x29,#64] - ldp x27, x28, [x29,#80] - ldp x29, x30, [sp],#96 - ret -.globl _sike_fpadd -.private_extern _sike_fpadd -.align 4 -_sike_fpadd: - stp x29,x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - // Add a + b - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x13 - adcs x6, x6, x14 - adcs x7, x7, x15 - adcs x8, x8, x16 - adc x9, x9, x17 - - // Subtract 2xp434 - adrp x17, Lp434x2@PAGE - add x17, x17, Lp434x2@PAGEOFF - ldp x11, x12, [x17, #0] - ldp x13, x14, [x17, #16] - ldp x15, x16, [x17, #32] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x12 - sbcs x6, x6, x13 - sbcs x7, x7, x14 - sbcs x8, x8, x15 - sbcs x9, x9, x16 - sbc x0, xzr, xzr // x0 can be reused now - - // Add 2xp434 anded with the mask in x0 - and x11, x11, x0 - and x12, x12, x0 - and x13, x13, x0 - and x14, x14, x0 - and x15, x15, x0 - and x16, x16, x0 - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x12 - adcs x6, x6, x13 - adcs x7, x7, x14 - adcs x8, x8, x15 - adc x9, x9, x16 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl _sike_fpsub -.private_extern _sike_fpsub -.align 4 -_sike_fpsub: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - // Subtract a - b - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - sbcs x9, x9, x17 - sbc x0, xzr, xzr - - // Add 2xp434 anded with the mask in x0 - adrp x17, Lp434x2@PAGE - add x17, x17, Lp434x2@PAGEOFF - - // First half - ldp x11, x12, [x17, #0] - ldp x13, x14, [x17, #16] - ldp x15, x16, [x17, #32] - - // Add 2xp434 anded with the mask in x0 - and x11, x11, x0 - and x12, x12, x0 - and x13, x13, x0 - and x14, x14, x0 - and x15, x15, x0 - and x16, x16, x0 - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x12 - adcs x6, x6, x13 - adcs x7, x7, x14 - adcs x8, x8, x15 - adc x9, x9, x16 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl _sike_mpadd_asm -.private_extern _sike_mpadd_asm -.align 4 -_sike_mpadd_asm: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x13 - adcs x6, x6, x14 - adcs x7, x7, x15 - adcs x8, x8, x16 - adc x9, x9, x17 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl _sike_mpsubx2_asm -.private_extern _sike_mpsubx2_asm -.align 4 -_sike_mpsubx2_asm: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - ldp x7, x8, [x0,#32] - ldp x9, x10, [x0,#48] - ldp x11, x12, [x1,#32] - ldp x13, x14, [x1,#48] - sbcs x7, x7, x11 - sbcs x8, x8, x12 - sbcs x9, x9, x13 - sbcs x10, x10, x14 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - stp x9, x10, [x2,#48] - - ldp x3, x4, [x0,#64] - ldp x5, x6, [x0,#80] - ldp x11, x12, [x1,#64] - ldp x13, x14, [x1,#80] - sbcs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - ldp x7, x8, [x0,#96] - ldp x11, x12, [x1,#96] - sbcs x7, x7, x11 - sbcs x8, x8, x12 - sbc x0, xzr, xzr - - stp x3, x4, [x2,#64] - stp x5, x6, [x2,#80] - stp x7, x8, [x2,#96] - - ldp x29, x30, [sp],#16 - ret -.globl _sike_mpdblsubx2_asm -.private_extern _sike_mpdblsubx2_asm -.align 4 -_sike_mpdblsubx2_asm: - stp x29, x30, [sp, #-16]! - add x29, sp, #0 - - ldp x3, x4, [x2, #0] - ldp x5, x6, [x2,#16] - ldp x7, x8, [x2,#32] - - ldp x11, x12, [x0, #0] - ldp x13, x14, [x0,#16] - ldp x15, x16, [x0,#32] - - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - - // x9 stores carry - adc x9, xzr, xzr - - ldp x11, x12, [x1, #0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, x9, xzr - - stp x3, x4, [x2, #0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - - ldp x3, x4, [x2,#48] - ldp x5, x6, [x2,#64] - ldp x7, x8, [x2,#80] - - ldp x11, x12, [x0,#48] - ldp x13, x14, [x0,#64] - ldp x15, x16, [x0,#80] - - // x9 = 2 - x9 - neg x9, x9 - add x9, x9, #2 - - subs x3, x3, x9 - sbcs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, xzr, xzr - - ldp x11, x12, [x1,#48] - ldp x13, x14, [x1,#64] - ldp x15, x16, [x1,#80] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, x9, xzr - - stp x3, x4, [x2,#48] - stp x5, x6, [x2,#64] - stp x7, x8, [x2,#80] - - ldp x3, x4, [x2,#96] - ldp x11, x12, [x0,#96] - ldp x13, x14, [x1,#96] - - // x9 = 2 - x9 - neg x9, x9 - add x9, x9, #2 - - subs x3, x3, x9 - sbcs x3, x3, x11 - sbcs x4, x4, x12 - subs x3, x3, x13 - sbc x4, x4, x14 - stp x3, x4, [x2,#96] - - ldp x29, x30, [sp],#16 - ret -#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/aes-armv4.S b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/aes-armv4.S deleted file mode 100644 index 63e2ec71632..00000000000 --- a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/aes-armv4.S +++ /dev/null @@ -1,1233 +0,0 @@ -// This file is generated from a similarly-named Perl script in the BoringSSL -// source tree. Do not edit by hand. - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif - -#if !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -@ Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. -@ -@ Licensed under the OpenSSL license (the "License"). You may not use -@ this file except in compliance with the License. You can obtain a copy -@ in the file LICENSE in the source distribution or at -@ https://www.openssl.org/source/license.html - - -@ ==================================================================== -@ Written by Andy Polyakov for the OpenSSL -@ project. The module is, however, dual licensed under OpenSSL and -@ CRYPTOGAMS licenses depending on where you obtain it. For further -@ details see http://www.openssl.org/~appro/cryptogams/. -@ ==================================================================== - -@ AES for ARMv4 - -@ January 2007. -@ -@ Code uses single 1K S-box and is >2 times faster than code generated -@ by gcc-3.4.1. This is thanks to unique feature of ARMv4 ISA, which -@ allows to merge logical or arithmetic operation with shift or rotate -@ in one instruction and emit combined result every cycle. The module -@ is endian-neutral. The performance is ~42 cycles/byte for 128-bit -@ key [on single-issue Xscale PXA250 core]. - -@ May 2007. -@ -@ AES_set_[en|de]crypt_key is added. - -@ July 2010. -@ -@ Rescheduling for dual-issue pipeline resulted in 12% improvement on -@ Cortex A8 core and ~25 cycles per byte processed with 128-bit key. - -@ February 2011. -@ -@ Profiler-assisted and platform-specific optimization resulted in 16% -@ improvement on Cortex A8 core and ~21.5 cycles per byte. - -#ifndef __KERNEL__ -# include -#else -# define __ARM_ARCH__ __LINUX_ARM_ARCH__ -#endif - -@ Silence ARMv8 deprecated IT instruction warnings. This file is used by both -@ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. (ARMv8 AES -@ instructions are in aesv8-armx.pl.) - - -.text -#if defined(__thumb2__) && !defined(__APPLE__) -.syntax unified -.thumb -#else -.code 32 -#undef __thumb2__ -#endif - - -.align 5 -AES_Te: -.word 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d -.word 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554 -.word 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d -.word 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a -.word 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87 -.word 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b -.word 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea -.word 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b -.word 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a -.word 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f -.word 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108 -.word 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f -.word 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e -.word 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5 -.word 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d -.word 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f -.word 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e -.word 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb -.word 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce -.word 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497 -.word 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c -.word 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed -.word 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b -.word 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a -.word 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16 -.word 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594 -.word 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81 -.word 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3 -.word 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a -.word 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504 -.word 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163 -.word 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d -.word 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f -.word 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739 -.word 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47 -.word 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395 -.word 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f -.word 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883 -.word 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c -.word 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76 -.word 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e -.word 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4 -.word 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6 -.word 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b -.word 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7 -.word 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0 -.word 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25 -.word 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818 -.word 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72 -.word 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651 -.word 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21 -.word 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85 -.word 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa -.word 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12 -.word 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0 -.word 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9 -.word 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133 -.word 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7 -.word 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920 -.word 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a -.word 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17 -.word 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8 -.word 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11 -.word 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a -@ Te4[256] -.byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 -.byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76 -.byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0 -.byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0 -.byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc -.byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15 -.byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a -.byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75 -.byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0 -.byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84 -.byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b -.byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf -.byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85 -.byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8 -.byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5 -.byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2 -.byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17 -.byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73 -.byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88 -.byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb -.byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c -.byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79 -.byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9 -.byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08 -.byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6 -.byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a -.byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e -.byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e -.byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94 -.byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf -.byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 -.byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 -@ rcon[] -.word 0x01000000, 0x02000000, 0x04000000, 0x08000000 -.word 0x10000000, 0x20000000, 0x40000000, 0x80000000 -.word 0x1B000000, 0x36000000, 0, 0, 0, 0, 0, 0 - - -@ void aes_nohw_encrypt(const unsigned char *in, unsigned char *out, -@ const AES_KEY *key) { -.globl _aes_nohw_encrypt -.private_extern _aes_nohw_encrypt -#ifdef __thumb2__ -.thumb_func _aes_nohw_encrypt -#endif -.align 5 -_aes_nohw_encrypt: -#ifndef __thumb2__ - sub r3,pc,#8 @ _aes_nohw_encrypt -#else - adr r3,. -#endif - stmdb sp!,{r1,r4-r12,lr} -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Te -#else - sub r10,r3,#_aes_nohw_encrypt-AES_Te @ Te -#endif - mov r12,r0 @ inp - mov r11,r2 -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - orr r3,r3,r5,lsl#16 - orr r3,r3,r6,lsl#24 -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif -#endif - bl _armv4_AES_encrypt - - ldr r12,[sp],#4 @ pop out -#if __ARM_ARCH__>=7 -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r12,#0] - str r1,[r12,#4] - str r2,[r12,#8] - str r3,[r12,#12] -#else - mov r4,r0,lsr#24 @ write output in endian-neutral - mov r5,r0,lsr#16 @ manner... - mov r6,r0,lsr#8 - strb r4,[r12,#0] - strb r5,[r12,#1] - mov r4,r1,lsr#24 - strb r6,[r12,#2] - mov r5,r1,lsr#16 - strb r0,[r12,#3] - mov r6,r1,lsr#8 - strb r4,[r12,#4] - strb r5,[r12,#5] - mov r4,r2,lsr#24 - strb r6,[r12,#6] - mov r5,r2,lsr#16 - strb r1,[r12,#7] - mov r6,r2,lsr#8 - strb r4,[r12,#8] - strb r5,[r12,#9] - mov r4,r3,lsr#24 - strb r6,[r12,#10] - mov r5,r3,lsr#16 - strb r2,[r12,#11] - mov r6,r3,lsr#8 - strb r4,[r12,#12] - strb r5,[r12,#13] - strb r6,[r12,#14] - strb r3,[r12,#15] -#endif -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - -#ifdef __thumb2__ -.thumb_func _armv4_AES_encrypt -#endif -.align 2 -_armv4_AES_encrypt: - str lr,[sp,#-4]! @ push lr - ldmia r11!,{r4,r5,r6,r7} - eor r0,r0,r4 - ldr r12,[r11,#240-16] - eor r1,r1,r5 - eor r2,r2,r6 - eor r3,r3,r7 - sub r12,r12,#1 - mov lr,#255 - - and r7,lr,r0 - and r8,lr,r0,lsr#8 - and r9,lr,r0,lsr#16 - mov r0,r0,lsr#24 -Lenc_loop: - ldr r4,[r10,r7,lsl#2] @ Te3[s0>>0] - and r7,lr,r1,lsr#16 @ i0 - ldr r5,[r10,r8,lsl#2] @ Te2[s0>>8] - and r8,lr,r1 - ldr r6,[r10,r9,lsl#2] @ Te1[s0>>16] - and r9,lr,r1,lsr#8 - ldr r0,[r10,r0,lsl#2] @ Te0[s0>>24] - mov r1,r1,lsr#24 - - ldr r7,[r10,r7,lsl#2] @ Te1[s1>>16] - ldr r8,[r10,r8,lsl#2] @ Te3[s1>>0] - ldr r9,[r10,r9,lsl#2] @ Te2[s1>>8] - eor r0,r0,r7,ror#8 - ldr r1,[r10,r1,lsl#2] @ Te0[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r5,r8,ror#8 - and r8,lr,r2,lsr#16 @ i1 - eor r6,r6,r9,ror#8 - and r9,lr,r2 - ldr r7,[r10,r7,lsl#2] @ Te2[s2>>8] - eor r1,r1,r4,ror#24 - ldr r8,[r10,r8,lsl#2] @ Te1[s2>>16] - mov r2,r2,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Te3[s2>>0] - eor r0,r0,r7,ror#16 - ldr r2,[r10,r2,lsl#2] @ Te0[s2>>24] - and r7,lr,r3 @ i0 - eor r1,r1,r8,ror#8 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r6,r9,ror#16 - and r9,lr,r3,lsr#16 @ i2 - ldr r7,[r10,r7,lsl#2] @ Te3[s3>>0] - eor r2,r2,r5,ror#16 - ldr r8,[r10,r8,lsl#2] @ Te2[s3>>8] - mov r3,r3,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Te1[s3>>16] - eor r0,r0,r7,ror#24 - ldr r7,[r11],#16 - eor r1,r1,r8,ror#16 - ldr r3,[r10,r3,lsl#2] @ Te0[s3>>24] - eor r2,r2,r9,ror#8 - ldr r4,[r11,#-12] - eor r3,r3,r6,ror#8 - - ldr r5,[r11,#-8] - eor r0,r0,r7 - ldr r6,[r11,#-4] - and r7,lr,r0 - eor r1,r1,r4 - and r8,lr,r0,lsr#8 - eor r2,r2,r5 - and r9,lr,r0,lsr#16 - eor r3,r3,r6 - mov r0,r0,lsr#24 - - subs r12,r12,#1 - bne Lenc_loop - - add r10,r10,#2 - - ldrb r4,[r10,r7,lsl#2] @ Te4[s0>>0] - and r7,lr,r1,lsr#16 @ i0 - ldrb r5,[r10,r8,lsl#2] @ Te4[s0>>8] - and r8,lr,r1 - ldrb r6,[r10,r9,lsl#2] @ Te4[s0>>16] - and r9,lr,r1,lsr#8 - ldrb r0,[r10,r0,lsl#2] @ Te4[s0>>24] - mov r1,r1,lsr#24 - - ldrb r7,[r10,r7,lsl#2] @ Te4[s1>>16] - ldrb r8,[r10,r8,lsl#2] @ Te4[s1>>0] - ldrb r9,[r10,r9,lsl#2] @ Te4[s1>>8] - eor r0,r7,r0,lsl#8 - ldrb r1,[r10,r1,lsl#2] @ Te4[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r8,r5,lsl#8 - and r8,lr,r2,lsr#16 @ i1 - eor r6,r9,r6,lsl#8 - and r9,lr,r2 - ldrb r7,[r10,r7,lsl#2] @ Te4[s2>>8] - eor r1,r4,r1,lsl#24 - ldrb r8,[r10,r8,lsl#2] @ Te4[s2>>16] - mov r2,r2,lsr#24 - - ldrb r9,[r10,r9,lsl#2] @ Te4[s2>>0] - eor r0,r7,r0,lsl#8 - ldrb r2,[r10,r2,lsl#2] @ Te4[s2>>24] - and r7,lr,r3 @ i0 - eor r1,r1,r8,lsl#16 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r9,r6,lsl#8 - and r9,lr,r3,lsr#16 @ i2 - ldrb r7,[r10,r7,lsl#2] @ Te4[s3>>0] - eor r2,r5,r2,lsl#24 - ldrb r8,[r10,r8,lsl#2] @ Te4[s3>>8] - mov r3,r3,lsr#24 - - ldrb r9,[r10,r9,lsl#2] @ Te4[s3>>16] - eor r0,r7,r0,lsl#8 - ldr r7,[r11,#0] - ldrb r3,[r10,r3,lsl#2] @ Te4[s3>>24] - eor r1,r1,r8,lsl#8 - ldr r4,[r11,#4] - eor r2,r2,r9,lsl#16 - ldr r5,[r11,#8] - eor r3,r6,r3,lsl#24 - ldr r6,[r11,#12] - - eor r0,r0,r7 - eor r1,r1,r4 - eor r2,r2,r5 - eor r3,r3,r6 - - sub r10,r10,#2 - ldr pc,[sp],#4 @ pop and return - - -.globl _aes_nohw_set_encrypt_key -.private_extern _aes_nohw_set_encrypt_key -#ifdef __thumb2__ -.thumb_func _aes_nohw_set_encrypt_key -#endif -.align 5 -_aes_nohw_set_encrypt_key: -_armv4_AES_set_encrypt_key: -#ifndef __thumb2__ - sub r3,pc,#8 @ _aes_nohw_set_encrypt_key -#else - adr r3,. -#endif - teq r0,#0 -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - moveq r0,#-1 - beq Labrt - teq r2,#0 -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - moveq r0,#-1 - beq Labrt - - teq r1,#128 - beq Lok - teq r1,#192 - beq Lok - teq r1,#256 -#ifdef __thumb2__ - itt ne @ Thumb2 thing, sanity check in ARM -#endif - movne r0,#-1 - bne Labrt - -Lok: stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - mov r12,r0 @ inp - mov lr,r1 @ bits - mov r11,r2 @ key - -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Te+1024 @ Te4 -#else - sub r10,r3,#_armv4_AES_set_encrypt_key-AES_Te-1024 @ Te4 -#endif - -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - str r0,[r11],#16 - orr r3,r3,r5,lsl#16 - str r1,[r11,#-12] - orr r3,r3,r6,lsl#24 - str r2,[r11,#-8] - str r3,[r11,#-4] -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r11],#16 - str r1,[r11,#-12] - str r2,[r11,#-8] - str r3,[r11,#-4] -#endif - - teq lr,#128 - bne Lnot128 - mov r12,#10 - str r12,[r11,#240-16] - add r6,r10,#256 @ rcon - mov lr,#255 - -L128_loop: - and r5,lr,r3,lsr#24 - and r7,lr,r3,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r3,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r3 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r5,r5,r4 - eor r0,r0,r5 @ rk[4]=rk[0]^... - eor r1,r1,r0 @ rk[5]=rk[1]^rk[4] - str r0,[r11],#16 - eor r2,r2,r1 @ rk[6]=rk[2]^rk[5] - str r1,[r11,#-12] - eor r3,r3,r2 @ rk[7]=rk[3]^rk[6] - str r2,[r11,#-8] - subs r12,r12,#1 - str r3,[r11,#-4] - bne L128_loop - sub r2,r11,#176 - b Ldone - -Lnot128: -#if __ARM_ARCH__<7 - ldrb r8,[r12,#19] - ldrb r4,[r12,#18] - ldrb r5,[r12,#17] - ldrb r6,[r12,#16] - orr r8,r8,r4,lsl#8 - ldrb r9,[r12,#23] - orr r8,r8,r5,lsl#16 - ldrb r4,[r12,#22] - orr r8,r8,r6,lsl#24 - ldrb r5,[r12,#21] - ldrb r6,[r12,#20] - orr r9,r9,r4,lsl#8 - orr r9,r9,r5,lsl#16 - str r8,[r11],#8 - orr r9,r9,r6,lsl#24 - str r9,[r11,#-4] -#else - ldr r8,[r12,#16] - ldr r9,[r12,#20] -#ifdef __ARMEL__ - rev r8,r8 - rev r9,r9 -#endif - str r8,[r11],#8 - str r9,[r11,#-4] -#endif - - teq lr,#192 - bne Lnot192 - mov r12,#12 - str r12,[r11,#240-24] - add r6,r10,#256 @ rcon - mov lr,#255 - mov r12,#8 - -L192_loop: - and r5,lr,r9,lsr#24 - and r7,lr,r9,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r9,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r9 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r9,r5,r4 - eor r0,r0,r9 @ rk[6]=rk[0]^... - eor r1,r1,r0 @ rk[7]=rk[1]^rk[6] - str r0,[r11],#24 - eor r2,r2,r1 @ rk[8]=rk[2]^rk[7] - str r1,[r11,#-20] - eor r3,r3,r2 @ rk[9]=rk[3]^rk[8] - str r2,[r11,#-16] - subs r12,r12,#1 - str r3,[r11,#-12] -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - subeq r2,r11,#216 - beq Ldone - - ldr r7,[r11,#-32] - ldr r8,[r11,#-28] - eor r7,r7,r3 @ rk[10]=rk[4]^rk[9] - eor r9,r8,r7 @ rk[11]=rk[5]^rk[10] - str r7,[r11,#-8] - str r9,[r11,#-4] - b L192_loop - -Lnot192: -#if __ARM_ARCH__<7 - ldrb r8,[r12,#27] - ldrb r4,[r12,#26] - ldrb r5,[r12,#25] - ldrb r6,[r12,#24] - orr r8,r8,r4,lsl#8 - ldrb r9,[r12,#31] - orr r8,r8,r5,lsl#16 - ldrb r4,[r12,#30] - orr r8,r8,r6,lsl#24 - ldrb r5,[r12,#29] - ldrb r6,[r12,#28] - orr r9,r9,r4,lsl#8 - orr r9,r9,r5,lsl#16 - str r8,[r11],#8 - orr r9,r9,r6,lsl#24 - str r9,[r11,#-4] -#else - ldr r8,[r12,#24] - ldr r9,[r12,#28] -#ifdef __ARMEL__ - rev r8,r8 - rev r9,r9 -#endif - str r8,[r11],#8 - str r9,[r11,#-4] -#endif - - mov r12,#14 - str r12,[r11,#240-32] - add r6,r10,#256 @ rcon - mov lr,#255 - mov r12,#7 - -L256_loop: - and r5,lr,r9,lsr#24 - and r7,lr,r9,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r9,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r9 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r9,r5,r4 - eor r0,r0,r9 @ rk[8]=rk[0]^... - eor r1,r1,r0 @ rk[9]=rk[1]^rk[8] - str r0,[r11],#32 - eor r2,r2,r1 @ rk[10]=rk[2]^rk[9] - str r1,[r11,#-28] - eor r3,r3,r2 @ rk[11]=rk[3]^rk[10] - str r2,[r11,#-24] - subs r12,r12,#1 - str r3,[r11,#-20] -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - subeq r2,r11,#256 - beq Ldone - - and r5,lr,r3 - and r7,lr,r3,lsr#8 - ldrb r5,[r10,r5] - and r8,lr,r3,lsr#16 - ldrb r7,[r10,r7] - and r9,lr,r3,lsr#24 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#8 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r11,#-48] - orr r5,r5,r9,lsl#24 - - ldr r7,[r11,#-44] - ldr r8,[r11,#-40] - eor r4,r4,r5 @ rk[12]=rk[4]^... - ldr r9,[r11,#-36] - eor r7,r7,r4 @ rk[13]=rk[5]^rk[12] - str r4,[r11,#-16] - eor r8,r8,r7 @ rk[14]=rk[6]^rk[13] - str r7,[r11,#-12] - eor r9,r9,r8 @ rk[15]=rk[7]^rk[14] - str r8,[r11,#-8] - str r9,[r11,#-4] - b L256_loop - -.align 2 -Ldone: mov r0,#0 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} -Labrt: -#if __ARM_ARCH__>=5 - bx lr @ .word 0xe12fff1e -#else - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - -.globl _aes_nohw_set_decrypt_key -.private_extern _aes_nohw_set_decrypt_key -#ifdef __thumb2__ -.thumb_func _aes_nohw_set_decrypt_key -#endif -.align 5 -_aes_nohw_set_decrypt_key: - str lr,[sp,#-4]! @ push lr - bl _armv4_AES_set_encrypt_key - teq r0,#0 - ldr lr,[sp],#4 @ pop lr - bne Labrt - - mov r0,r2 @ _aes_nohw_set_encrypt_key preserves r2, - mov r1,r2 @ which is AES_KEY *key - b _armv4_AES_set_enc2dec_key - - -@ void AES_set_enc2dec_key(const AES_KEY *inp,AES_KEY *out) -.globl _AES_set_enc2dec_key -.private_extern _AES_set_enc2dec_key -#ifdef __thumb2__ -.thumb_func _AES_set_enc2dec_key -#endif -.align 5 -_AES_set_enc2dec_key: -_armv4_AES_set_enc2dec_key: - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - - ldr r12,[r0,#240] - mov r7,r0 @ input - add r8,r0,r12,lsl#4 - mov r11,r1 @ output - add r10,r1,r12,lsl#4 - str r12,[r1,#240] - -Linv: ldr r0,[r7],#16 - ldr r1,[r7,#-12] - ldr r2,[r7,#-8] - ldr r3,[r7,#-4] - ldr r4,[r8],#-16 - ldr r5,[r8,#16+4] - ldr r6,[r8,#16+8] - ldr r9,[r8,#16+12] - str r0,[r10],#-16 - str r1,[r10,#16+4] - str r2,[r10,#16+8] - str r3,[r10,#16+12] - str r4,[r11],#16 - str r5,[r11,#-12] - str r6,[r11,#-8] - str r9,[r11,#-4] - teq r7,r8 - bne Linv - - ldr r0,[r7] - ldr r1,[r7,#4] - ldr r2,[r7,#8] - ldr r3,[r7,#12] - str r0,[r11] - str r1,[r11,#4] - str r2,[r11,#8] - str r3,[r11,#12] - sub r11,r11,r12,lsl#3 - ldr r0,[r11,#16]! @ prefetch tp1 - mov r7,#0x80 - mov r8,#0x1b - orr r7,r7,#0x8000 - orr r8,r8,#0x1b00 - orr r7,r7,r7,lsl#16 - orr r8,r8,r8,lsl#16 - sub r12,r12,#1 - mvn r9,r7 - mov r12,r12,lsl#2 @ (rounds-1)*4 - -Lmix: and r4,r0,r7 - and r1,r0,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r1,r4,r1,lsl#1 @ tp2 - - and r4,r1,r7 - and r2,r1,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r2,r4,r2,lsl#1 @ tp4 - - and r4,r2,r7 - and r3,r2,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r3,r4,r3,lsl#1 @ tp8 - - eor r4,r1,r2 - eor r5,r0,r3 @ tp9 - eor r4,r4,r3 @ tpe - eor r4,r4,r1,ror#24 - eor r4,r4,r5,ror#24 @ ^= ROTATE(tpb=tp9^tp2,8) - eor r4,r4,r2,ror#16 - eor r4,r4,r5,ror#16 @ ^= ROTATE(tpd=tp9^tp4,16) - eor r4,r4,r5,ror#8 @ ^= ROTATE(tp9,24) - - ldr r0,[r11,#4] @ prefetch tp1 - str r4,[r11],#4 - subs r12,r12,#1 - bne Lmix - - mov r0,#0 -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - - -.align 5 -AES_Td: -.word 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96 -.word 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393 -.word 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25 -.word 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f -.word 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1 -.word 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6 -.word 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da -.word 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844 -.word 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd -.word 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4 -.word 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45 -.word 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94 -.word 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7 -.word 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a -.word 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5 -.word 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c -.word 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1 -.word 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a -.word 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75 -.word 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051 -.word 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46 -.word 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff -.word 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77 -.word 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb -.word 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000 -.word 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e -.word 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927 -.word 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a -.word 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e -.word 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16 -.word 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d -.word 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8 -.word 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd -.word 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34 -.word 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163 -.word 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120 -.word 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d -.word 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0 -.word 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422 -.word 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef -.word 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36 -.word 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4 -.word 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662 -.word 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5 -.word 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3 -.word 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b -.word 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8 -.word 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6 -.word 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6 -.word 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0 -.word 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815 -.word 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f -.word 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df -.word 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f -.word 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e -.word 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713 -.word 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89 -.word 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c -.word 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf -.word 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86 -.word 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f -.word 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541 -.word 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190 -.word 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742 -@ Td4[256] -.byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 -.byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb -.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87 -.byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb -.byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d -.byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e -.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2 -.byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25 -.byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16 -.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92 -.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda -.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84 -.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a -.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06 -.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02 -.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b -.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea -.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73 -.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85 -.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e -.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89 -.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b -.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20 -.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4 -.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31 -.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f -.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d -.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef -.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0 -.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 -.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 -.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d - - -@ void aes_nohw_decrypt(const unsigned char *in, unsigned char *out, -@ const AES_KEY *key) { -.globl _aes_nohw_decrypt -.private_extern _aes_nohw_decrypt -#ifdef __thumb2__ -.thumb_func _aes_nohw_decrypt -#endif -.align 5 -_aes_nohw_decrypt: -#ifndef __thumb2__ - sub r3,pc,#8 @ _aes_nohw_decrypt -#else - adr r3,. -#endif - stmdb sp!,{r1,r4-r12,lr} -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Td -#else - sub r10,r3,#_aes_nohw_decrypt-AES_Td @ Td -#endif - mov r12,r0 @ inp - mov r11,r2 -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - orr r3,r3,r5,lsl#16 - orr r3,r3,r6,lsl#24 -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif -#endif - bl _armv4_AES_decrypt - - ldr r12,[sp],#4 @ pop out -#if __ARM_ARCH__>=7 -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r12,#0] - str r1,[r12,#4] - str r2,[r12,#8] - str r3,[r12,#12] -#else - mov r4,r0,lsr#24 @ write output in endian-neutral - mov r5,r0,lsr#16 @ manner... - mov r6,r0,lsr#8 - strb r4,[r12,#0] - strb r5,[r12,#1] - mov r4,r1,lsr#24 - strb r6,[r12,#2] - mov r5,r1,lsr#16 - strb r0,[r12,#3] - mov r6,r1,lsr#8 - strb r4,[r12,#4] - strb r5,[r12,#5] - mov r4,r2,lsr#24 - strb r6,[r12,#6] - mov r5,r2,lsr#16 - strb r1,[r12,#7] - mov r6,r2,lsr#8 - strb r4,[r12,#8] - strb r5,[r12,#9] - mov r4,r3,lsr#24 - strb r6,[r12,#10] - mov r5,r3,lsr#16 - strb r2,[r12,#11] - mov r6,r3,lsr#8 - strb r4,[r12,#12] - strb r5,[r12,#13] - strb r6,[r12,#14] - strb r3,[r12,#15] -#endif -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - -#ifdef __thumb2__ -.thumb_func _armv4_AES_decrypt -#endif -.align 2 -_armv4_AES_decrypt: - str lr,[sp,#-4]! @ push lr - ldmia r11!,{r4,r5,r6,r7} - eor r0,r0,r4 - ldr r12,[r11,#240-16] - eor r1,r1,r5 - eor r2,r2,r6 - eor r3,r3,r7 - sub r12,r12,#1 - mov lr,#255 - - and r7,lr,r0,lsr#16 - and r8,lr,r0,lsr#8 - and r9,lr,r0 - mov r0,r0,lsr#24 -Ldec_loop: - ldr r4,[r10,r7,lsl#2] @ Td1[s0>>16] - and r7,lr,r1 @ i0 - ldr r5,[r10,r8,lsl#2] @ Td2[s0>>8] - and r8,lr,r1,lsr#16 - ldr r6,[r10,r9,lsl#2] @ Td3[s0>>0] - and r9,lr,r1,lsr#8 - ldr r0,[r10,r0,lsl#2] @ Td0[s0>>24] - mov r1,r1,lsr#24 - - ldr r7,[r10,r7,lsl#2] @ Td3[s1>>0] - ldr r8,[r10,r8,lsl#2] @ Td1[s1>>16] - ldr r9,[r10,r9,lsl#2] @ Td2[s1>>8] - eor r0,r0,r7,ror#24 - ldr r1,[r10,r1,lsl#2] @ Td0[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r8,r5,ror#8 - and r8,lr,r2 @ i1 - eor r6,r9,r6,ror#8 - and r9,lr,r2,lsr#16 - ldr r7,[r10,r7,lsl#2] @ Td2[s2>>8] - eor r1,r1,r4,ror#8 - ldr r8,[r10,r8,lsl#2] @ Td3[s2>>0] - mov r2,r2,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Td1[s2>>16] - eor r0,r0,r7,ror#16 - ldr r2,[r10,r2,lsl#2] @ Td0[s2>>24] - and r7,lr,r3,lsr#16 @ i0 - eor r1,r1,r8,ror#24 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r9,r6,ror#8 - and r9,lr,r3 @ i2 - ldr r7,[r10,r7,lsl#2] @ Td1[s3>>16] - eor r2,r2,r5,ror#8 - ldr r8,[r10,r8,lsl#2] @ Td2[s3>>8] - mov r3,r3,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Td3[s3>>0] - eor r0,r0,r7,ror#8 - ldr r7,[r11],#16 - eor r1,r1,r8,ror#16 - ldr r3,[r10,r3,lsl#2] @ Td0[s3>>24] - eor r2,r2,r9,ror#24 - - ldr r4,[r11,#-12] - eor r0,r0,r7 - ldr r5,[r11,#-8] - eor r3,r3,r6,ror#8 - ldr r6,[r11,#-4] - and r7,lr,r0,lsr#16 - eor r1,r1,r4 - and r8,lr,r0,lsr#8 - eor r2,r2,r5 - and r9,lr,r0 - eor r3,r3,r6 - mov r0,r0,lsr#24 - - subs r12,r12,#1 - bne Ldec_loop - - add r10,r10,#1024 - - ldr r5,[r10,#0] @ prefetch Td4 - ldr r6,[r10,#32] - ldr r4,[r10,#64] - ldr r5,[r10,#96] - ldr r6,[r10,#128] - ldr r4,[r10,#160] - ldr r5,[r10,#192] - ldr r6,[r10,#224] - - ldrb r0,[r10,r0] @ Td4[s0>>24] - ldrb r4,[r10,r7] @ Td4[s0>>16] - and r7,lr,r1 @ i0 - ldrb r5,[r10,r8] @ Td4[s0>>8] - and r8,lr,r1,lsr#16 - ldrb r6,[r10,r9] @ Td4[s0>>0] - and r9,lr,r1,lsr#8 - - add r1,r10,r1,lsr#24 - ldrb r7,[r10,r7] @ Td4[s1>>0] - ldrb r1,[r1] @ Td4[s1>>24] - ldrb r8,[r10,r8] @ Td4[s1>>16] - eor r0,r7,r0,lsl#24 - ldrb r9,[r10,r9] @ Td4[s1>>8] - eor r1,r4,r1,lsl#8 - and r7,lr,r2,lsr#8 @ i0 - eor r5,r5,r8,lsl#8 - and r8,lr,r2 @ i1 - ldrb r7,[r10,r7] @ Td4[s2>>8] - eor r6,r6,r9,lsl#8 - ldrb r8,[r10,r8] @ Td4[s2>>0] - and r9,lr,r2,lsr#16 - - add r2,r10,r2,lsr#24 - ldrb r2,[r2] @ Td4[s2>>24] - eor r0,r0,r7,lsl#8 - ldrb r9,[r10,r9] @ Td4[s2>>16] - eor r1,r8,r1,lsl#16 - and r7,lr,r3,lsr#16 @ i0 - eor r2,r5,r2,lsl#16 - and r8,lr,r3,lsr#8 @ i1 - ldrb r7,[r10,r7] @ Td4[s3>>16] - eor r6,r6,r9,lsl#16 - ldrb r8,[r10,r8] @ Td4[s3>>8] - and r9,lr,r3 @ i2 - - add r3,r10,r3,lsr#24 - ldrb r9,[r10,r9] @ Td4[s3>>0] - ldrb r3,[r3] @ Td4[s3>>24] - eor r0,r0,r7,lsl#16 - ldr r7,[r11,#0] - eor r1,r1,r8,lsl#8 - ldr r4,[r11,#4] - eor r2,r9,r2,lsl#8 - ldr r5,[r11,#8] - eor r3,r6,r3,lsl#24 - ldr r6,[r11,#12] - - eor r0,r0,r7 - eor r1,r1,r4 - eor r2,r2,r5 - eor r3,r3,r6 - - sub r10,r10,#1024 - ldr pc,[sp],#4 @ pop and return - -.byte 65,69,83,32,102,111,114,32,65,82,77,118,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 2 -.align 2 -#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/ghash-armv4.S b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/ghash-armv4.S index fccd57d30e8..36f4ccebdfe 100644 --- a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/ghash-armv4.S +++ b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/ghash-armv4.S @@ -30,348 +30,6 @@ #else .code 32 #endif - - -.align 5 -rem_4bit: -.short 0x0000,0x1C20,0x3840,0x2460 -.short 0x7080,0x6CA0,0x48C0,0x54E0 -.short 0xE100,0xFD20,0xD940,0xC560 -.short 0x9180,0x8DA0,0xA9C0,0xB5E0 - - -#ifdef __thumb2__ -.thumb_func rem_4bit_get -#endif -rem_4bit_get: -#if defined(__thumb2__) - adr r2,rem_4bit -#else - sub r2,pc,#8+32 @ &rem_4bit -#endif - b Lrem_4bit_got - nop - nop - - -.globl _gcm_ghash_4bit -.private_extern _gcm_ghash_4bit -#ifdef __thumb2__ -.thumb_func _gcm_ghash_4bit -#endif -.align 4 -_gcm_ghash_4bit: -#if defined(__thumb2__) - adr r12,rem_4bit -#else - sub r12,pc,#8+48 @ &rem_4bit -#endif - add r3,r2,r3 @ r3 to point at the end - stmdb sp!,{r3,r4,r5,r6,r7,r8,r9,r10,r11,lr} @ save r3/end too - - ldmia r12,{r4,r5,r6,r7,r8,r9,r10,r11} @ copy rem_4bit ... - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11} @ ... to stack - - ldrb r12,[r2,#15] - ldrb r14,[r0,#15] -Louter: - eor r12,r12,r14 - and r14,r12,#0xf0 - and r12,r12,#0x0f - mov r3,#14 - - add r7,r1,r12,lsl#4 - ldmia r7,{r4,r5,r6,r7} @ load Htbl[nlo] - add r11,r1,r14 - ldrb r12,[r2,#14] - - and r14,r4,#0xf @ rem - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - add r14,r14,r14 - eor r4,r8,r4,lsr#4 - ldrh r8,[sp,r14] @ rem_4bit[rem] - eor r4,r4,r5,lsl#28 - ldrb r14,[r0,#14] - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - eor r12,r12,r14 - and r14,r12,#0xf0 - and r12,r12,#0x0f - eor r7,r7,r8,lsl#16 - -Linner: - add r11,r1,r12,lsl#4 - and r12,r4,#0xf @ rem - subs r3,r3,#1 - add r12,r12,r12 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nlo] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - ldrh r8,[sp,r12] @ rem_4bit[rem] - eor r6,r10,r6,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r12,[r2,r3] - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - - add r11,r1,r14 - and r14,r4,#0xf @ rem - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - add r14,r14,r14 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - eor r4,r8,r4,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r8,[r0,r3] - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - ldrh r9,[sp,r14] - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 -#ifdef __thumb2__ - it pl -#endif - eorpl r12,r12,r8 - eor r7,r11,r7,lsr#4 -#ifdef __thumb2__ - itt pl -#endif - andpl r14,r12,#0xf0 - andpl r12,r12,#0x0f - eor r7,r7,r9,lsl#16 @ ^= rem_4bit[rem] - bpl Linner - - ldr r3,[sp,#32] @ re-load r3/end - add r2,r2,#16 - mov r14,r4 -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r4,r4 - str r4,[r0,#12] -#elif defined(__ARMEB__) - str r4,[r0,#12] -#else - mov r9,r4,lsr#8 - strb r4,[r0,#12+3] - mov r10,r4,lsr#16 - strb r9,[r0,#12+2] - mov r11,r4,lsr#24 - strb r10,[r0,#12+1] - strb r11,[r0,#12] -#endif - cmp r2,r3 -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r5,r5 - str r5,[r0,#8] -#elif defined(__ARMEB__) - str r5,[r0,#8] -#else - mov r9,r5,lsr#8 - strb r5,[r0,#8+3] - mov r10,r5,lsr#16 - strb r9,[r0,#8+2] - mov r11,r5,lsr#24 - strb r10,[r0,#8+1] - strb r11,[r0,#8] -#endif - -#ifdef __thumb2__ - it ne -#endif - ldrneb r12,[r2,#15] -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r6,r6 - str r6,[r0,#4] -#elif defined(__ARMEB__) - str r6,[r0,#4] -#else - mov r9,r6,lsr#8 - strb r6,[r0,#4+3] - mov r10,r6,lsr#16 - strb r9,[r0,#4+2] - mov r11,r6,lsr#24 - strb r10,[r0,#4+1] - strb r11,[r0,#4] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r7,r7 - str r7,[r0,#0] -#elif defined(__ARMEB__) - str r7,[r0,#0] -#else - mov r9,r7,lsr#8 - strb r7,[r0,#0+3] - mov r10,r7,lsr#16 - strb r9,[r0,#0+2] - mov r11,r7,lsr#24 - strb r10,[r0,#0+1] - strb r11,[r0,#0] -#endif - - bne Louter - - add sp,sp,#36 -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - -.globl _gcm_gmult_4bit -.private_extern _gcm_gmult_4bit -#ifdef __thumb2__ -.thumb_func _gcm_gmult_4bit -#endif -_gcm_gmult_4bit: - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - ldrb r12,[r0,#15] - b rem_4bit_get -Lrem_4bit_got: - and r14,r12,#0xf0 - and r12,r12,#0x0f - mov r3,#14 - - add r7,r1,r12,lsl#4 - ldmia r7,{r4,r5,r6,r7} @ load Htbl[nlo] - ldrb r12,[r0,#14] - - add r11,r1,r14 - and r14,r4,#0xf @ rem - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - add r14,r14,r14 - eor r4,r8,r4,lsr#4 - ldrh r8,[r2,r14] @ rem_4bit[rem] - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - and r14,r12,#0xf0 - eor r7,r7,r8,lsl#16 - and r12,r12,#0x0f - -Loop: - add r11,r1,r12,lsl#4 - and r12,r4,#0xf @ rem - subs r3,r3,#1 - add r12,r12,r12 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nlo] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - ldrh r8,[r2,r12] @ rem_4bit[rem] - eor r6,r10,r6,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r12,[r0,r3] - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - - add r11,r1,r14 - and r14,r4,#0xf @ rem - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - add r14,r14,r14 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - ldrh r8,[r2,r14] @ rem_4bit[rem] - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 -#ifdef __thumb2__ - itt pl -#endif - andpl r14,r12,#0xf0 - andpl r12,r12,#0x0f - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - bpl Loop -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r4,r4 - str r4,[r0,#12] -#elif defined(__ARMEB__) - str r4,[r0,#12] -#else - mov r9,r4,lsr#8 - strb r4,[r0,#12+3] - mov r10,r4,lsr#16 - strb r9,[r0,#12+2] - mov r11,r4,lsr#24 - strb r10,[r0,#12+1] - strb r11,[r0,#12] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r5,r5 - str r5,[r0,#8] -#elif defined(__ARMEB__) - str r5,[r0,#8] -#else - mov r9,r5,lsr#8 - strb r5,[r0,#8+3] - mov r10,r5,lsr#16 - strb r9,[r0,#8+2] - mov r11,r5,lsr#24 - strb r10,[r0,#8+1] - strb r11,[r0,#8] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r6,r6 - str r6,[r0,#4] -#elif defined(__ARMEB__) - str r6,[r0,#4] -#else - mov r9,r6,lsr#8 - strb r6,[r0,#4+3] - mov r10,r6,lsr#16 - strb r9,[r0,#4+2] - mov r11,r6,lsr#24 - strb r10,[r0,#4+1] - strb r11,[r0,#4] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r7,r7 - str r7,[r0,#0] -#elif defined(__ARMEB__) - str r7,[r0,#0] -#else - mov r9,r7,lsr#8 - strb r7,[r0,#0+3] - mov r10,r7,lsr#16 - strb r9,[r0,#0+2] - mov r11,r7,lsr#24 - strb r10,[r0,#0+1] - strb r11,[r0,#0] -#endif - -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - #if __ARM_MAX_ARCH__>=7 diff --git a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/vpaes-armv7.S b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/vpaes-armv7.S new file mode 100644 index 00000000000..6aead7cac2a --- /dev/null +++ b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/vpaes-armv7.S @@ -0,0 +1,1265 @@ +// This file is generated from a similarly-named Perl script in the BoringSSL +// source tree. Do not edit by hand. + +#if !defined(__has_feature) +#define __has_feature(x) 0 +#endif +#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) +#define OPENSSL_NO_ASM +#endif + +#if !defined(OPENSSL_NO_ASM) +#if defined(BORINGSSL_PREFIX) +#include +#endif +.syntax unified + + + + +#if defined(__thumb2__) +.thumb +#else +.code 32 +#endif + +.text + + +.align 7 @ totally strategic alignment +_vpaes_consts: +Lk_mc_forward:@ mc_forward +.quad 0x0407060500030201, 0x0C0F0E0D080B0A09 +.quad 0x080B0A0904070605, 0x000302010C0F0E0D +.quad 0x0C0F0E0D080B0A09, 0x0407060500030201 +.quad 0x000302010C0F0E0D, 0x080B0A0904070605 +Lk_mc_backward:@ mc_backward +.quad 0x0605040702010003, 0x0E0D0C0F0A09080B +.quad 0x020100030E0D0C0F, 0x0A09080B06050407 +.quad 0x0E0D0C0F0A09080B, 0x0605040702010003 +.quad 0x0A09080B06050407, 0x020100030E0D0C0F +Lk_sr:@ sr +.quad 0x0706050403020100, 0x0F0E0D0C0B0A0908 +.quad 0x030E09040F0A0500, 0x0B06010C07020D08 +.quad 0x0F060D040B020900, 0x070E050C030A0108 +.quad 0x0B0E0104070A0D00, 0x0306090C0F020508 + +@ +@ "Hot" constants +@ +Lk_inv:@ inv, inva +.quad 0x0E05060F0D080180, 0x040703090A0B0C02 +.quad 0x01040A060F0B0780, 0x030D0E0C02050809 +Lk_ipt:@ input transform (lo, hi) +.quad 0xC2B2E8985A2A7000, 0xCABAE09052227808 +.quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81 +Lk_sbo:@ sbou, sbot +.quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878 +.quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA +Lk_sb1:@ sb1u, sb1t +.quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF +.quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544 +Lk_sb2:@ sb2u, sb2t +.quad 0x69EB88400AE12900, 0xC2A163C8AB82234A +.quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD + +.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,65,82,77,118,55,32,78,69,79,78,44,32,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0 +.align 2 + +.align 6 +@@ +@@ _aes_preheat +@@ +@@ Fills q9-q15 as specified below. +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_preheat +#endif +.align 4 +_vpaes_preheat: + adr r10, Lk_inv + vmov.i8 q9, #0x0f @ Lk_s0F + vld1.64 {q10,q11}, [r10]! @ Lk_inv + add r10, r10, #64 @ Skip Lk_ipt, Lk_sbo + vld1.64 {q12,q13}, [r10]! @ Lk_sb1 + vld1.64 {q14,q15}, [r10] @ Lk_sb2 + bx lr + +@@ +@@ _aes_encrypt_core +@@ +@@ AES-encrypt q0. +@@ +@@ Inputs: +@@ q0 = input +@@ q9-q15 as in _vpaes_preheat +@@ [r2] = scheduled keys +@@ +@@ Output in q0 +@@ Clobbers q1-q5, r8-r11 +@@ Preserves q6-q8 so you get some local vectors +@@ +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_encrypt_core +#endif +.align 4 +_vpaes_encrypt_core: + mov r9, r2 + ldr r8, [r2,#240] @ pull rounds + adr r11, Lk_ipt + @ vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo + @ vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi + vld1.64 {q2, q3}, [r11] + adr r11, Lk_mc_forward+16 + vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 # round0 key + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d2, {q2}, d2 @ vpshufb %xmm1, %xmm2, %xmm1 + vtbl.8 d3, {q2}, d3 + vtbl.8 d4, {q3}, d0 @ vpshufb %xmm0, %xmm3, %xmm2 + vtbl.8 d5, {q3}, d1 + veor q0, q1, q5 @ vpxor %xmm5, %xmm1, %xmm0 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + + @ .Lenc_entry ends with a bnz instruction which is normally paired with + @ subs in .Lenc_loop. + tst r8, r8 + b Lenc_entry + +.align 4 +Lenc_loop: + @ middle of middle round + add r10, r11, #0x40 + vtbl.8 d8, {q13}, d4 @ vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u + vtbl.8 d9, {q13}, d5 + vld1.64 {q1}, [r11]! @ vmovdqa -0x40(%r11,%r10), %xmm1 # Lk_mc_forward[] + vtbl.8 d0, {q12}, d6 @ vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t + vtbl.8 d1, {q12}, d7 + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k + vtbl.8 d10, {q15}, d4 @ vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u + vtbl.8 d11, {q15}, d5 + veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A + vtbl.8 d4, {q14}, d6 @ vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t + vtbl.8 d5, {q14}, d7 + vld1.64 {q4}, [r10] @ vmovdqa (%r11,%r10), %xmm4 # Lk_mc_backward[] + vtbl.8 d6, {q0}, d2 @ vpshufb %xmm1, %xmm0, %xmm3 # 0 = B + vtbl.8 d7, {q0}, d3 + veor q2, q2, q5 @ vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A + @ Write to q5 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d10, {q0}, d8 @ vpshufb %xmm4, %xmm0, %xmm0 # 3 = D + vtbl.8 d11, {q0}, d9 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B + vtbl.8 d8, {q3}, d2 @ vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C + vtbl.8 d9, {q3}, d3 + @ Here we restore the original q0/q5 usage. + veor q0, q5, q3 @ vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D + and r11, r11, #~(1<<6) @ and $0x30, %r11 # ... mod 4 + veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D + subs r8, r8, #1 @ nr-- + +Lenc_entry: + @ top of round + vand q1, q0, q9 @ vpand %xmm0, %xmm9, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + vtbl.8 d10, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k + vtbl.8 d11, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q3, q3, q5 @ vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak + vtbl.8 d5, {q10}, d7 + vtbl.8 d6, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak + vtbl.8 d7, {q10}, d9 + veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io + veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo + vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 + bne Lenc_loop + + @ middle of last round + add r10, r11, #0x80 + + adr r11, Lk_sbo + @ Read to q1 instead of q4, so the vtbl.8 instruction below does not + @ overlap table and destination registers. + vld1.64 {q1}, [r11]! @ vmovdqa -0x60(%r10), %xmm4 # 3 : sbou + vld1.64 {q0}, [r11] @ vmovdqa -0x50(%r10), %xmm0 # 0 : sbot Lk_sbo+16 + vtbl.8 d8, {q1}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou + vtbl.8 d9, {q1}, d5 + vld1.64 {q1}, [r10] @ vmovdqa 0x40(%r11,%r10), %xmm1 # Lk_sr[] + @ Write to q2 instead of q0 below, to avoid overlapping table and + @ destination registers. + vtbl.8 d4, {q0}, d6 @ vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t + vtbl.8 d5, {q0}, d7 + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k + veor q2, q2, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A + @ Here we restore the original q0/q2 usage. + vtbl.8 d0, {q2}, d2 @ vpshufb %xmm1, %xmm0, %xmm0 + vtbl.8 d1, {q2}, d3 + bx lr + + +.globl _vpaes_encrypt +.private_extern _vpaes_encrypt +#ifdef __thumb2__ +.thumb_func _vpaes_encrypt +#endif +.align 4 +_vpaes_encrypt: + @ _vpaes_encrypt_core uses r8-r11. Round up to r7-r11 to maintain stack + @ alignment. + stmdb sp!, {r7,r8,r9,r10,r11,lr} + @ _vpaes_encrypt_core uses q4-q5 (d8-d11), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11} + + vld1.64 {q0}, [r0] + bl _vpaes_preheat + bl _vpaes_encrypt_core + vst1.64 {q0}, [r1] + + vldmia sp!, {d8,d9,d10,d11} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + + +@ +@ Decryption stuff +@ + +.align 4 +_vpaes_decrypt_consts: +Lk_dipt:@ decryption input transform +.quad 0x0F505B040B545F00, 0x154A411E114E451A +.quad 0x86E383E660056500, 0x12771772F491F194 +Lk_dsbo:@ decryption sbox final output +.quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D +.quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C +Lk_dsb9:@ decryption sbox output *9*u, *9*t +.quad 0x851C03539A86D600, 0xCAD51F504F994CC9 +.quad 0xC03B1789ECD74900, 0x725E2C9EB2FBA565 +Lk_dsbd:@ decryption sbox output *D*u, *D*t +.quad 0x7D57CCDFE6B1A200, 0xF56E9B13882A4439 +.quad 0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3 +Lk_dsbb:@ decryption sbox output *B*u, *B*t +.quad 0xD022649296B44200, 0x602646F6B0F2D404 +.quad 0xC19498A6CD596700, 0xF3FF0C3E3255AA6B +Lk_dsbe:@ decryption sbox output *E*u, *E*t +.quad 0x46F2929626D4D000, 0x2242600464B4F6B0 +.quad 0x0C55A6CDFFAAC100, 0x9467F36B98593E32 + + +@@ +@@ Decryption core +@@ +@@ Same API as encryption core, except it clobbers q12-q15 rather than using +@@ the values from _vpaes_preheat. q9-q11 must still be set from +@@ _vpaes_preheat. +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_decrypt_core +#endif +.align 4 +_vpaes_decrypt_core: + mov r9, r2 + ldr r8, [r2,#240] @ pull rounds + + @ This function performs shuffles with various constants. The x86_64 + @ version loads them on-demand into %xmm0-%xmm5. This does not work well + @ for ARMv7 because those registers are shuffle destinations. The ARMv8 + @ version preloads those constants into registers, but ARMv7 has half + @ the registers to work with. Instead, we load them on-demand into + @ q12-q15, registers normally use for preloaded constants. This is fine + @ because decryption doesn't use those constants. The values are + @ constant, so this does not interfere with potential 2x optimizations. + adr r7, Lk_dipt + + vld1.64 {q12,q13}, [r7] @ vmovdqa Lk_dipt(%rip), %xmm2 # iptlo + lsl r11, r8, #4 @ mov %rax, %r11; shl $4, %r11 + eor r11, r11, #0x30 @ xor $0x30, %r11 + adr r10, Lk_sr + and r11, r11, #0x30 @ and $0x30, %r11 + add r11, r11, r10 + adr r10, Lk_mc_forward+48 + + vld1.64 {q4}, [r9]! @ vmovdqu (%r9), %xmm4 # round0 key + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d4, {q12}, d2 @ vpshufb %xmm1, %xmm2, %xmm2 + vtbl.8 d5, {q12}, d3 + vld1.64 {q5}, [r10] @ vmovdqa Lk_mc_forward+48(%rip), %xmm5 + @ vmovdqa .Lk_dipt+16(%rip), %xmm1 # ipthi + vtbl.8 d0, {q13}, d0 @ vpshufb %xmm0, %xmm1, %xmm0 + vtbl.8 d1, {q13}, d1 + veor q2, q2, q4 @ vpxor %xmm4, %xmm2, %xmm2 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + + @ .Ldec_entry ends with a bnz instruction which is normally paired with + @ subs in .Ldec_loop. + tst r8, r8 + b Ldec_entry + +.align 4 +Ldec_loop: +@ +@ Inverse mix columns +@ + + @ We load .Lk_dsb* into q12-q15 on-demand. See the comment at the top of + @ the function. + adr r10, Lk_dsb9 + vld1.64 {q12,q13}, [r10]! @ vmovdqa -0x20(%r10),%xmm4 # 4 : sb9u + @ vmovdqa -0x10(%r10),%xmm1 # 0 : sb9t + @ Load sbd* ahead of time. + vld1.64 {q14,q15}, [r10]! @ vmovdqa 0x00(%r10),%xmm4 # 4 : sbdu + @ vmovdqa 0x10(%r10),%xmm1 # 0 : sbdt + vtbl.8 d8, {q12}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sb9u + vtbl.8 d9, {q12}, d5 + vtbl.8 d2, {q13}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sb9t + vtbl.8 d3, {q13}, d7 + veor q0, q4, q0 @ vpxor %xmm4, %xmm0, %xmm0 + + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + + @ Load sbb* ahead of time. + vld1.64 {q12,q13}, [r10]! @ vmovdqa 0x20(%r10),%xmm4 # 4 : sbbu + @ vmovdqa 0x30(%r10),%xmm1 # 0 : sbbt + + vtbl.8 d8, {q14}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbdu + vtbl.8 d9, {q14}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q15}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbdt + vtbl.8 d3, {q15}, d7 + @ vmovdqa 0x20(%r10), %xmm4 # 4 : sbbu + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + @ vmovdqa 0x30(%r10), %xmm1 # 0 : sbbt + + @ Load sbd* ahead of time. + vld1.64 {q14,q15}, [r10]! @ vmovdqa 0x40(%r10),%xmm4 # 4 : sbeu + @ vmovdqa 0x50(%r10),%xmm1 # 0 : sbet + + vtbl.8 d8, {q12}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbbu + vtbl.8 d9, {q12}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q13}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbbt + vtbl.8 d3, {q13}, d7 + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + + vtbl.8 d8, {q14}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbeu + vtbl.8 d9, {q14}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q15}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbet + vtbl.8 d3, {q15}, d7 + vext.8 q5, q5, q5, #12 @ vpalignr $12, %xmm5, %xmm5, %xmm5 + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + subs r8, r8, #1 @ sub $1,%rax # nr-- + +Ldec_entry: + @ top of round + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + vtbl.8 d4, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k + vtbl.8 d5, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak + vtbl.8 d5, {q10}, d7 + vtbl.8 d6, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak + vtbl.8 d7, {q10}, d9 + veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io + veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo + vld1.64 {q0}, [r9]! @ vmovdqu (%r9), %xmm0 + bne Ldec_loop + + @ middle of last round + + adr r10, Lk_dsbo + + @ Write to q1 rather than q4 to avoid overlapping table and destination. + vld1.64 {q1}, [r10]! @ vmovdqa 0x60(%r10), %xmm4 # 3 : sbou + vtbl.8 d8, {q1}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou + vtbl.8 d9, {q1}, d5 + @ Write to q2 rather than q1 to avoid overlapping table and destination. + vld1.64 {q2}, [r10] @ vmovdqa 0x70(%r10), %xmm1 # 0 : sbot + vtbl.8 d2, {q2}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sb1t + vtbl.8 d3, {q2}, d7 + vld1.64 {q2}, [r11] @ vmovdqa -0x160(%r11), %xmm2 # Lk_sr-Lk_dsbd=-0x160 + veor q4, q4, q0 @ vpxor %xmm0, %xmm4, %xmm4 # 4 = sb1u + k + @ Write to q1 rather than q0 so the table and destination registers + @ below do not overlap. + veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm0 # 0 = A + vtbl.8 d0, {q1}, d4 @ vpshufb %xmm2, %xmm0, %xmm0 + vtbl.8 d1, {q1}, d5 + bx lr + + +.globl _vpaes_decrypt +.private_extern _vpaes_decrypt +#ifdef __thumb2__ +.thumb_func _vpaes_decrypt +#endif +.align 4 +_vpaes_decrypt: + @ _vpaes_decrypt_core uses r7-r11. + stmdb sp!, {r7,r8,r9,r10,r11,lr} + @ _vpaes_decrypt_core uses q4-q5 (d8-d11), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11} + + vld1.64 {q0}, [r0] + bl _vpaes_preheat + bl _vpaes_decrypt_core + vst1.64 {q0}, [r1] + + vldmia sp!, {d8,d9,d10,d11} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@ @@ +@@ AES key schedule @@ +@@ @@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +@ This function diverges from both x86_64 and armv7 in which constants are +@ pinned. x86_64 has a common preheat function for all operations. aarch64 +@ separates them because it has enough registers to pin nearly all constants. +@ armv7 does not have enough registers, but needing explicit loads and stores +@ also complicates using x86_64's register allocation directly. +@ +@ We pin some constants for convenience and leave q14 and q15 free to load +@ others on demand. + +@ +@ Key schedule constants +@ + +.align 4 +_vpaes_key_consts: +Lk_dksd:@ decryption key schedule: invskew x*D +.quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9 +.quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E +Lk_dksb:@ decryption key schedule: invskew x*B +.quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99 +.quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8 +Lk_dkse:@ decryption key schedule: invskew x*E + 0x63 +.quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086 +.quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487 +Lk_dks9:@ decryption key schedule: invskew x*9 +.quad 0xB6116FC87ED9A700, 0x4AED933482255BFC +.quad 0x4576516227143300, 0x8BB89FACE9DAFDCE + +Lk_rcon:@ rcon +.quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81 + +Lk_opt:@ output transform +.quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808 +.quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0 +Lk_deskew:@ deskew tables: inverts the sbox's "skew" +.quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A +.quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77 + + +#ifdef __thumb2__ +.thumb_func _vpaes_key_preheat +#endif +.align 4 +_vpaes_key_preheat: + adr r11, Lk_rcon + vmov.i8 q12, #0x5b @ Lk_s63 + adr r10, Lk_inv @ Must be aligned to 8 mod 16. + vmov.i8 q9, #0x0f @ Lk_s0F + vld1.64 {q10,q11}, [r10] @ Lk_inv + vld1.64 {q8}, [r11] @ Lk_rcon + bx lr + + +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_core +#endif +.align 4 +_vpaes_schedule_core: + @ We only need to save lr, but ARM requires an 8-byte stack alignment, + @ so save an extra register. + stmdb sp!, {r3,lr} + + bl _vpaes_key_preheat @ load the tables + + adr r11, Lk_ipt @ Must be aligned to 8 mod 16. + vld1.64 {q0}, [r0]! @ vmovdqu (%rdi), %xmm0 # load key (unaligned) + + @ input transform + @ Use q4 here rather than q3 so .Lschedule_am_decrypting does not + @ overlap table and destination. + vmov q4, q0 @ vmovdqa %xmm0, %xmm3 + bl _vpaes_schedule_transform + adr r10, Lk_sr @ Must be aligned to 8 mod 16. + vmov q7, q0 @ vmovdqa %xmm0, %xmm7 + + add r8, r8, r10 + tst r3, r3 + bne Lschedule_am_decrypting + + @ encrypting, output zeroth round key after transform + vst1.64 {q0}, [r2] @ vmovdqu %xmm0, (%rdx) + b Lschedule_go + +Lschedule_am_decrypting: + @ decrypting, output zeroth round key after shiftrows + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + vtbl.8 d6, {q4}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q4}, d3 + vst1.64 {q3}, [r2] @ vmovdqu %xmm3, (%rdx) + eor r8, r8, #0x30 @ xor $0x30, %r8 + +Lschedule_go: + cmp r1, #192 @ cmp $192, %esi + bhi Lschedule_256 + beq Lschedule_192 + @ 128: fall though + +@@ +@@ .schedule_128 +@@ +@@ 128-bit specific part of key schedule. +@@ +@@ This schedule is really simple, because all its parts +@@ are accomplished by the subroutines. +@@ +Lschedule_128: + mov r0, #10 @ mov $10, %esi + +Loop_schedule_128: + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq Lschedule_mangle_last + bl _vpaes_schedule_mangle @ write output + b Loop_schedule_128 + +@@ +@@ .aes_schedule_192 +@@ +@@ 192-bit specific part of key schedule. +@@ +@@ The main body of this schedule is the same as the 128-bit +@@ schedule, but with more smearing. The long, high side is +@@ stored in q7 as before, and the short, low side is in +@@ the high bits of q6. +@@ +@@ This schedule is somewhat nastier, however, because each +@@ round produces 192 bits of key material, or 1.5 round keys. +@@ Therefore, on each cycle we do 2 rounds and produce 3 round +@@ keys. +@@ +.align 4 +Lschedule_192: + sub r0, r0, #8 + vld1.64 {q0}, [r0] @ vmovdqu 8(%rdi),%xmm0 # load key part 2 (very unaligned) + bl _vpaes_schedule_transform @ input transform + vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save short part + vmov.i8 d12, #0 @ vpxor %xmm4, %xmm4, %xmm4 # clear 4 + @ vmovhlps %xmm4, %xmm6, %xmm6 # clobber low side with zeros + mov r0, #4 @ mov $4, %esi + +Loop_schedule_192: + bl _vpaes_schedule_round + vext.8 q0, q6, q0, #8 @ vpalignr $8,%xmm6,%xmm0,%xmm0 + bl _vpaes_schedule_mangle @ save key n + bl _vpaes_schedule_192_smear + bl _vpaes_schedule_mangle @ save key n+1 + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq Lschedule_mangle_last + bl _vpaes_schedule_mangle @ save key n+2 + bl _vpaes_schedule_192_smear + b Loop_schedule_192 + +@@ +@@ .aes_schedule_256 +@@ +@@ 256-bit specific part of key schedule. +@@ +@@ The structure here is very similar to the 128-bit +@@ schedule, but with an additional "low side" in +@@ q6. The low side's rounds are the same as the +@@ high side's, except no rcon and no rotation. +@@ +.align 4 +Lschedule_256: + vld1.64 {q0}, [r0] @ vmovdqu 16(%rdi),%xmm0 # load key part 2 (unaligned) + bl _vpaes_schedule_transform @ input transform + mov r0, #7 @ mov $7, %esi + +Loop_schedule_256: + bl _vpaes_schedule_mangle @ output low result + vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save cur_lo in xmm6 + + @ high round + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq Lschedule_mangle_last + bl _vpaes_schedule_mangle + + @ low round. swap xmm7 and xmm6 + vdup.32 q0, d1[1] @ vpshufd $0xFF, %xmm0, %xmm0 + vmov.i8 q4, #0 + vmov q5, q7 @ vmovdqa %xmm7, %xmm5 + vmov q7, q6 @ vmovdqa %xmm6, %xmm7 + bl _vpaes_schedule_low_round + vmov q7, q5 @ vmovdqa %xmm5, %xmm7 + + b Loop_schedule_256 + +@@ +@@ .aes_schedule_mangle_last +@@ +@@ Mangler for last round of key schedule +@@ Mangles q0 +@@ when encrypting, outputs out(q0) ^ 63 +@@ when decrypting, outputs unskew(q0) +@@ +@@ Always called right before return... jumps to cleanup and exits +@@ +.align 4 +Lschedule_mangle_last: + @ schedule last round key from xmm0 + adr r11, Lk_deskew @ lea Lk_deskew(%rip),%r11 # prepare to deskew + tst r3, r3 + bne Lschedule_mangle_last_dec + + @ encrypting + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10),%xmm1 + adr r11, Lk_opt @ lea Lk_opt(%rip), %r11 # prepare to output transform + add r2, r2, #32 @ add $32, %rdx + vmov q2, q0 + vtbl.8 d0, {q2}, d2 @ vpshufb %xmm1, %xmm0, %xmm0 # output permute + vtbl.8 d1, {q2}, d3 + +Lschedule_mangle_last_dec: + sub r2, r2, #16 @ add $-16, %rdx + veor q0, q0, q12 @ vpxor Lk_s63(%rip), %xmm0, %xmm0 + bl _vpaes_schedule_transform @ output transform + vst1.64 {q0}, [r2] @ vmovdqu %xmm0, (%rdx) # save last key + + @ cleanup + veor q0, q0, q0 @ vpxor %xmm0, %xmm0, %xmm0 + veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 + veor q2, q2, q2 @ vpxor %xmm2, %xmm2, %xmm2 + veor q3, q3, q3 @ vpxor %xmm3, %xmm3, %xmm3 + veor q4, q4, q4 @ vpxor %xmm4, %xmm4, %xmm4 + veor q5, q5, q5 @ vpxor %xmm5, %xmm5, %xmm5 + veor q6, q6, q6 @ vpxor %xmm6, %xmm6, %xmm6 + veor q7, q7, q7 @ vpxor %xmm7, %xmm7, %xmm7 + ldmia sp!, {r3,pc} @ return + + +@@ +@@ .aes_schedule_192_smear +@@ +@@ Smear the short, low side in the 192-bit key schedule. +@@ +@@ Inputs: +@@ q7: high side, b a x y +@@ q6: low side, d c 0 0 +@@ +@@ Outputs: +@@ q6: b+c+d b+c 0 0 +@@ q0: b+c+d b+c b a +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_192_smear +#endif +.align 4 +_vpaes_schedule_192_smear: + vmov.i8 q1, #0 + vdup.32 q0, d15[1] + vshl.i64 q1, q6, #32 @ vpshufd $0x80, %xmm6, %xmm1 # d c 0 0 -> c 0 0 0 + vmov d0, d15 @ vpshufd $0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a + veor q6, q6, q1 @ vpxor %xmm1, %xmm6, %xmm6 # -> c+d c 0 0 + veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 + veor q6, q6, q0 @ vpxor %xmm0, %xmm6, %xmm6 # -> b+c+d b+c b a + vmov q0, q6 @ vmovdqa %xmm6, %xmm0 + vmov d12, d2 @ vmovhlps %xmm1, %xmm6, %xmm6 # clobber low side with zeros + bx lr + + +@@ +@@ .aes_schedule_round +@@ +@@ Runs one main round of the key schedule on q0, q7 +@@ +@@ Specifically, runs subbytes on the high dword of q0 +@@ then rotates it by one byte and xors into the low dword of +@@ q7. +@@ +@@ Adds rcon from low byte of q8, then rotates q8 for +@@ next rcon. +@@ +@@ Smears the dwords of q7 by xoring the low into the +@@ second low, result into third, result into highest. +@@ +@@ Returns results in q7 = q0. +@@ Clobbers q1-q4, r11. +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_round +#endif +.align 4 +_vpaes_schedule_round: + @ extract rcon from xmm8 + vmov.i8 q4, #0 @ vpxor %xmm4, %xmm4, %xmm4 + vext.8 q1, q8, q4, #15 @ vpalignr $15, %xmm8, %xmm4, %xmm1 + vext.8 q8, q8, q8, #15 @ vpalignr $15, %xmm8, %xmm8, %xmm8 + veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 + + @ rotate + vdup.32 q0, d1[1] @ vpshufd $0xFF, %xmm0, %xmm0 + vext.8 q0, q0, q0, #1 @ vpalignr $1, %xmm0, %xmm0, %xmm0 + + @ fall through... + + @ low round: same as high round, but no rotation and no rcon. +_vpaes_schedule_low_round: + @ The x86_64 version pins .Lk_sb1 in %xmm13 and .Lk_sb1+16 in %xmm12. + @ We pin other values in _vpaes_key_preheat, so load them now. + adr r11, Lk_sb1 + vld1.64 {q14,q15}, [r11] + + @ smear xmm7 + vext.8 q1, q4, q7, #12 @ vpslldq $4, %xmm7, %xmm1 + veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 + vext.8 q4, q4, q7, #8 @ vpslldq $8, %xmm7, %xmm4 + + @ subbytes + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + veor q7, q7, q4 @ vpxor %xmm4, %xmm7, %xmm7 + vtbl.8 d4, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k + vtbl.8 d5, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q7, q7, q12 @ vpxor Lk_s63(%rip), %xmm7, %xmm7 + vtbl.8 d6, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm3 # 2 = 1/iak + vtbl.8 d7, {q10}, d7 + veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm2 # 3 = 1/jak + vtbl.8 d5, {q10}, d9 + veor q3, q3, q1 @ vpxor %xmm1, %xmm3, %xmm3 # 2 = io + veor q2, q2, q0 @ vpxor %xmm0, %xmm2, %xmm2 # 3 = jo + vtbl.8 d8, {q15}, d6 @ vpshufb %xmm3, %xmm13, %xmm4 # 4 = sbou + vtbl.8 d9, {q15}, d7 + vtbl.8 d2, {q14}, d4 @ vpshufb %xmm2, %xmm12, %xmm1 # 0 = sb1t + vtbl.8 d3, {q14}, d5 + veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm1 # 0 = sbox output + + @ add in smeared stuff + veor q0, q1, q7 @ vpxor %xmm7, %xmm1, %xmm0 + veor q7, q1, q7 @ vmovdqa %xmm0, %xmm7 + bx lr + + +@@ +@@ .aes_schedule_transform +@@ +@@ Linear-transform q0 according to tables at [r11] +@@ +@@ Requires that q9 = 0x0F0F... as in preheat +@@ Output in q0 +@@ Clobbers q1, q2, q14, q15 +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_transform +#endif +.align 4 +_vpaes_schedule_transform: + vld1.64 {q14,q15}, [r11] @ vmovdqa (%r11), %xmm2 # lo + @ vmovdqa 16(%r11), %xmm1 # hi + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d4, {q14}, d2 @ vpshufb %xmm1, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d3 + vtbl.8 d0, {q15}, d0 @ vpshufb %xmm0, %xmm1, %xmm0 + vtbl.8 d1, {q15}, d1 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + bx lr + + +@@ +@@ .aes_schedule_mangle +@@ +@@ Mangles q0 from (basis-transformed) standard version +@@ to our version. +@@ +@@ On encrypt, +@@ xor with 0x63 +@@ multiply by circulant 0,1,1,1 +@@ apply shiftrows transform +@@ +@@ On decrypt, +@@ xor with 0x63 +@@ multiply by "inverse mixcolumns" circulant E,B,D,9 +@@ deskew +@@ apply shiftrows transform +@@ +@@ +@@ Writes out to [r2], and increments or decrements it +@@ Keeps track of round number mod 4 in r8 +@@ Preserves q0 +@@ Clobbers q1-q5 +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_mangle +#endif +.align 4 +_vpaes_schedule_mangle: + tst r3, r3 + vmov q4, q0 @ vmovdqa %xmm0, %xmm4 # save xmm0 for later + adr r11, Lk_mc_forward @ Must be aligned to 8 mod 16. + vld1.64 {q5}, [r11] @ vmovdqa Lk_mc_forward(%rip),%xmm5 + bne Lschedule_mangle_dec + + @ encrypting + @ Write to q2 so we do not overlap table and destination below. + veor q2, q0, q12 @ vpxor Lk_s63(%rip), %xmm0, %xmm4 + add r2, r2, #16 @ add $16, %rdx + vtbl.8 d8, {q2}, d10 @ vpshufb %xmm5, %xmm4, %xmm4 + vtbl.8 d9, {q2}, d11 + vtbl.8 d2, {q4}, d10 @ vpshufb %xmm5, %xmm4, %xmm1 + vtbl.8 d3, {q4}, d11 + vtbl.8 d6, {q1}, d10 @ vpshufb %xmm5, %xmm1, %xmm3 + vtbl.8 d7, {q1}, d11 + veor q4, q4, q1 @ vpxor %xmm1, %xmm4, %xmm4 + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + veor q3, q3, q4 @ vpxor %xmm4, %xmm3, %xmm3 + + b Lschedule_mangle_both +.align 4 +Lschedule_mangle_dec: + @ inverse mix columns + adr r11, Lk_dksd @ lea Lk_dksd(%rip),%r11 + vshr.u8 q1, q4, #4 @ vpsrlb $4, %xmm4, %xmm1 # 1 = hi + vand q4, q4, q9 @ vpand %xmm9, %xmm4, %xmm4 # 4 = lo + + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x00(%r11), %xmm2 + @ vmovdqa 0x10(%r11), %xmm3 + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dksb ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x20(%r11), %xmm2 + @ vmovdqa 0x30(%r11), %xmm3 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dkse ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x40(%r11), %xmm2 + @ vmovdqa 0x50(%r11), %xmm3 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dkse ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x60(%r11), %xmm2 + @ vmovdqa 0x70(%r11), %xmm4 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + vtbl.8 d8, {q15}, d2 @ vpshufb %xmm1, %xmm4, %xmm4 + vtbl.8 d9, {q15}, d3 + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + veor q3, q4, q2 @ vpxor %xmm2, %xmm4, %xmm3 + + sub r2, r2, #16 @ add $-16, %rdx + +Lschedule_mangle_both: + @ Write to q2 so table and destination do not overlap. + vtbl.8 d4, {q3}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d5, {q3}, d3 + add r8, r8, #64-16 @ add $-16, %r8 + and r8, r8, #~(1<<6) @ and $0x30, %r8 + vst1.64 {q2}, [r2] @ vmovdqu %xmm3, (%rdx) + bx lr + + +.globl _vpaes_set_encrypt_key +.private_extern _vpaes_set_encrypt_key +#ifdef __thumb2__ +.thumb_func _vpaes_set_encrypt_key +#endif +.align 4 +_vpaes_set_encrypt_key: + stmdb sp!, {r7,r8,r9,r10,r11, lr} + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + lsr r9, r1, #5 @ shr $5,%eax + add r9, r9, #5 @ $5,%eax + str r9, [r2,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; + + mov r3, #0 @ mov $0,%ecx + mov r8, #0x30 @ mov $0x30,%r8d + bl _vpaes_schedule_core + eor r0, r0, r0 + + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + + +.globl _vpaes_set_decrypt_key +.private_extern _vpaes_set_decrypt_key +#ifdef __thumb2__ +.thumb_func _vpaes_set_decrypt_key +#endif +.align 4 +_vpaes_set_decrypt_key: + stmdb sp!, {r7,r8,r9,r10,r11, lr} + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + lsr r9, r1, #5 @ shr $5,%eax + add r9, r9, #5 @ $5,%eax + str r9, [r2,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; + lsl r9, r9, #4 @ shl $4,%eax + add r2, r2, #16 @ lea 16(%rdx,%rax),%rdx + add r2, r2, r9 + + mov r3, #1 @ mov $1,%ecx + lsr r8, r1, #1 @ shr $1,%r8d + and r8, r8, #32 @ and $32,%r8d + eor r8, r8, #32 @ xor $32,%r8d # nbits==192?0:32 + bl _vpaes_schedule_core + + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + + +@ Additional constants for converting to bsaes. + +.align 4 +_vpaes_convert_consts: +@ .Lk_opt_then_skew applies skew(opt(x)) XOR 0x63, where skew is the linear +@ transform in the AES S-box. 0x63 is incorporated into the low half of the +@ table. This was computed with the following script: +@ +@ def u64s_to_u128(x, y): +@ return x | (y << 64) +@ def u128_to_u64s(w): +@ return w & ((1<<64)-1), w >> 64 +@ def get_byte(w, i): +@ return (w >> (i*8)) & 0xff +@ def apply_table(table, b): +@ lo = b & 0xf +@ hi = b >> 4 +@ return get_byte(table[0], lo) ^ get_byte(table[1], hi) +@ def opt(b): +@ table = [ +@ u64s_to_u128(0xFF9F4929D6B66000, 0xF7974121DEBE6808), +@ u64s_to_u128(0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0), +@ ] +@ return apply_table(table, b) +@ def rot_byte(b, n): +@ return 0xff & ((b << n) | (b >> (8-n))) +@ def skew(x): +@ return (x ^ rot_byte(x, 1) ^ rot_byte(x, 2) ^ rot_byte(x, 3) ^ +@ rot_byte(x, 4)) +@ table = [0, 0] +@ for i in range(16): +@ table[0] |= (skew(opt(i)) ^ 0x63) << (i*8) +@ table[1] |= skew(opt(i<<4)) << (i*8) +@ print(" .quad 0x%016x, 0x%016x" % u128_to_u64s(table[0])) +@ print(" .quad 0x%016x, 0x%016x" % u128_to_u64s(table[1])) +Lk_opt_then_skew: +.quad 0x9cb8436798bc4763, 0x6440bb9f6044bf9b +.quad 0x1f30062936192f00, 0xb49bad829db284ab + +@ .Lk_decrypt_transform is a permutation which performs an 8-bit left-rotation +@ followed by a byte-swap on each 32-bit word of a vector. E.g., 0x11223344 +@ becomes 0x22334411 and then 0x11443322. +Lk_decrypt_transform: +.quad 0x0704050603000102, 0x0f0c0d0e0b08090a + + +@ void vpaes_encrypt_key_to_bsaes(AES_KEY *bsaes, const AES_KEY *vpaes); +.globl _vpaes_encrypt_key_to_bsaes +.private_extern _vpaes_encrypt_key_to_bsaes +#ifdef __thumb2__ +.thumb_func _vpaes_encrypt_key_to_bsaes +#endif +.align 4 +_vpaes_encrypt_key_to_bsaes: + stmdb sp!, {r11, lr} + + @ See _vpaes_schedule_core for the key schedule logic. In particular, + @ _vpaes_schedule_transform(.Lk_ipt) (section 2.2 of the paper), + @ _vpaes_schedule_mangle (section 4.3), and .Lschedule_mangle_last + @ contain the transformations not in the bsaes representation. This + @ function inverts those transforms. + @ + @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key + @ representation, which does not match the other aes_nohw_* + @ implementations. The ARM aes_nohw_* stores each 32-bit word + @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the + @ cost of extra REV and VREV32 operations in little-endian ARM. + + vmov.i8 q9, #0x0f @ Required by _vpaes_schedule_transform + adr r2, Lk_mc_forward @ Must be aligned to 8 mod 16. + add r3, r2, 0x90 @ Lk_sr+0x10-Lk_mc_forward = 0x90 (Apple's toolchain doesn't support the expression) + + vld1.64 {q12}, [r2] + vmov.i8 q10, #0x5b @ Lk_s63 from vpaes-x86_64 + adr r11, Lk_opt @ Must be aligned to 8 mod 16. + vmov.i8 q11, #0x63 @ LK_s63 without Lk_ipt applied + + @ vpaes stores one fewer round count than bsaes, but the number of keys + @ is the same. + ldr r2, [r1,#240] + add r2, r2, #1 + str r2, [r0,#240] + + @ The first key is transformed with _vpaes_schedule_transform(.Lk_ipt). + @ Invert this with .Lk_opt. + vld1.64 {q0}, [r1]! + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ The middle keys have _vpaes_schedule_transform(.Lk_ipt) applied, + @ followed by _vpaes_schedule_mangle. _vpaes_schedule_mangle XORs 0x63, + @ multiplies by the circulant 0,1,1,1, then applies ShiftRows. +Loop_enc_key_to_bsaes: + vld1.64 {q0}, [r1]! + + @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note we cycle + @ r3 in the opposite direction and start at .Lk_sr+0x10 instead of 0x30. + @ We use r3 rather than r8 to avoid a callee-saved register. + vld1.64 {q1}, [r3] + vtbl.8 d4, {q0}, d2 + vtbl.8 d5, {q0}, d3 + add r3, r3, #16 + and r3, r3, #~(1<<6) + vmov q0, q2 + + @ Handle the last key differently. + subs r2, r2, #1 + beq Loop_enc_key_to_bsaes_last + + @ Multiply by the circulant. This is its own inverse. + vtbl.8 d2, {q0}, d24 + vtbl.8 d3, {q0}, d25 + vmov q0, q1 + vtbl.8 d4, {q1}, d24 + vtbl.8 d5, {q1}, d25 + veor q0, q0, q2 + vtbl.8 d2, {q2}, d24 + vtbl.8 d3, {q2}, d25 + veor q0, q0, q1 + + @ XOR and finish. + veor q0, q0, q10 + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + b Loop_enc_key_to_bsaes + +Loop_enc_key_to_bsaes_last: + @ The final key does not have a basis transform (note + @ .Lschedule_mangle_last inverts the original transform). It only XORs + @ 0x63 and applies ShiftRows. The latter was already inverted in the + @ loop. Note that, because we act on the original representation, we use + @ q11, not q10. + veor q0, q0, q11 + vrev32.8 q0, q0 + vst1.64 {q0}, [r0] + + @ Wipe registers which contained key material. + veor q0, q0, q0 + veor q1, q1, q1 + veor q2, q2, q2 + + ldmia sp!, {r11, pc} @ return + + +@ void vpaes_decrypt_key_to_bsaes(AES_KEY *vpaes, const AES_KEY *bsaes); +.globl _vpaes_decrypt_key_to_bsaes +.private_extern _vpaes_decrypt_key_to_bsaes +#ifdef __thumb2__ +.thumb_func _vpaes_decrypt_key_to_bsaes +#endif +.align 4 +_vpaes_decrypt_key_to_bsaes: + stmdb sp!, {r11, lr} + + @ See _vpaes_schedule_core for the key schedule logic. Note vpaes + @ computes the decryption key schedule in reverse. Additionally, + @ aes-x86_64.pl shares some transformations, so we must only partially + @ invert vpaes's transformations. In general, vpaes computes in a + @ different basis (.Lk_ipt and .Lk_opt) and applies the inverses of + @ MixColumns, ShiftRows, and the affine part of the AES S-box (which is + @ split into a linear skew and XOR of 0x63). We undo all but MixColumns. + @ + @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key + @ representation, which does not match the other aes_nohw_* + @ implementations. The ARM aes_nohw_* stores each 32-bit word + @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the + @ cost of extra REV and VREV32 operations in little-endian ARM. + + adr r2, Lk_decrypt_transform + adr r3, Lk_sr+0x30 + adr r11, Lk_opt_then_skew @ Input to _vpaes_schedule_transform. + vld1.64 {q12}, [r2] @ Reuse q12 from encryption. + vmov.i8 q9, #0x0f @ Required by _vpaes_schedule_transform + + @ vpaes stores one fewer round count than bsaes, but the number of keys + @ is the same. + ldr r2, [r1,#240] + add r2, r2, #1 + str r2, [r0,#240] + + @ Undo the basis change and reapply the S-box affine transform. See + @ .Lschedule_mangle_last. + vld1.64 {q0}, [r1]! + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ See _vpaes_schedule_mangle for the transform on the middle keys. Note + @ it simultaneously inverts MixColumns and the S-box affine transform. + @ See .Lk_dksd through .Lk_dks9. +Loop_dec_key_to_bsaes: + vld1.64 {q0}, [r1]! + + @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note going + @ forwards cancels inverting for which direction we cycle r3. We use r3 + @ rather than r8 to avoid a callee-saved register. + vld1.64 {q1}, [r3] + vtbl.8 d4, {q0}, d2 + vtbl.8 d5, {q0}, d3 + add r3, r3, #64-16 + and r3, r3, #~(1<<6) + vmov q0, q2 + + @ Handle the last key differently. + subs r2, r2, #1 + beq Loop_dec_key_to_bsaes_last + + @ Undo the basis change and reapply the S-box affine transform. + bl _vpaes_schedule_transform + + @ Rotate each word by 8 bytes (cycle the rows) and then byte-swap. We + @ combine the two operations in .Lk_decrypt_transform. + @ + @ TODO(davidben): Where does the rotation come from? + vtbl.8 d2, {q0}, d24 + vtbl.8 d3, {q0}, d25 + + vst1.64 {q1}, [r0]! + b Loop_dec_key_to_bsaes + +Loop_dec_key_to_bsaes_last: + @ The final key only inverts ShiftRows (already done in the loop). See + @ .Lschedule_am_decrypting. Its basis is not transformed. + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ Wipe registers which contained key material. + veor q0, q0, q0 + veor q1, q1, q1 + veor q2, q2, q2 + + ldmia sp!, {r11, pc} @ return + +.globl _vpaes_ctr32_encrypt_blocks +.private_extern _vpaes_ctr32_encrypt_blocks +#ifdef __thumb2__ +.thumb_func _vpaes_ctr32_encrypt_blocks +#endif +.align 4 +_vpaes_ctr32_encrypt_blocks: + mov ip, sp + stmdb sp!, {r7,r8,r9,r10,r11, lr} + @ This function uses q4-q7 (d8-d15), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + cmp r2, #0 + @ r8 is passed on the stack. + ldr r8, [ip] + beq Lctr32_done + + @ _vpaes_encrypt_core expects the key in r2, so swap r2 and r3. + mov r9, r3 + mov r3, r2 + mov r2, r9 + + @ Load the IV and counter portion. + ldr r7, [r8, #12] + vld1.8 {q7}, [r8] + + bl _vpaes_preheat + rev r7, r7 @ The counter is big-endian. + +Lctr32_loop: + vmov q0, q7 + vld1.8 {q6}, [r0]! @ Load input ahead of time + bl _vpaes_encrypt_core + veor q0, q0, q6 @ XOR input and result + vst1.8 {q0}, [r1]! + subs r3, r3, #1 + @ Update the counter. + add r7, r7, #1 + rev r9, r7 + vmov.32 d15[1], r9 + bne Lctr32_loop + +Lctr32_done: + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + +#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-arm/crypto/test/trampoline-armv4.S b/contrib/boringssl-cmake/ios-arm/crypto/test/trampoline-armv4.S index 51ac249ef55..9d74f553adf 100644 --- a/contrib/boringssl-cmake/ios-arm/crypto/test/trampoline-armv4.S +++ b/contrib/boringssl-cmake/ios-arm/crypto/test/trampoline-armv4.S @@ -30,7 +30,6 @@ .private_extern _abi_test_trampoline .align 4 _abi_test_trampoline: -Labi_test_trampoline_begin: @ Save parameters and all callee-saved registers. For convenience, we @ save r9 on iOS even though it's volatile. vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/chacha/chacha-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/chacha/chacha-armv8.S index e05a265f9c5..80f7eaa4098 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/chacha/chacha-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/chacha/chacha-armv8.S @@ -34,6 +34,7 @@ .type ChaCha20_ctr32,%function .align 5 ChaCha20_ctr32: + AARCH64_VALID_CALL_TARGET cbz x2,.Labort #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x5,:pg_hi21_nc:OPENSSL_armcap_P @@ -47,6 +48,7 @@ ChaCha20_ctr32: b.ne ChaCha20_neon .Lshort: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -259,6 +261,7 @@ ChaCha20_ctr32: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER .Labort: ret @@ -315,12 +318,14 @@ ChaCha20_ctr32: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .size ChaCha20_ctr32,.-ChaCha20_ctr32 .type ChaCha20_neon,%function .align 5 ChaCha20_neon: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -701,6 +706,7 @@ ChaCha20_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .Ltail_neon: @@ -810,11 +816,13 @@ ChaCha20_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .size ChaCha20_neon,.-ChaCha20_neon .type ChaCha20_512_neon,%function .align 5 ChaCha20_512_neon: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -1978,7 +1986,9 @@ ChaCha20_512_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .size ChaCha20_512_neon,.-ChaCha20_512_neon #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S index 1680444e099..24af2da5462 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S @@ -33,6 +33,8 @@ .align 5 aes_hw_set_encrypt_key: .Lenc_key: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 mov x3,#-1 @@ -201,6 +203,7 @@ aes_hw_set_encrypt_key: .type aes_hw_set_decrypt_key,%function .align 5 aes_hw_set_decrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 bl .Lenc_key @@ -234,6 +237,7 @@ aes_hw_set_decrypt_key: eor x0,x0,x0 // return value .Ldec_key_abort: ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size aes_hw_set_decrypt_key,.-aes_hw_set_decrypt_key .globl aes_hw_encrypt @@ -241,6 +245,7 @@ aes_hw_set_decrypt_key: .type aes_hw_encrypt,%function .align 5 aes_hw_encrypt: + AARCH64_VALID_CALL_TARGET ldr w3,[x2,#240] ld1 {v0.4s},[x2],#16 ld1 {v2.16b},[x0] @@ -271,6 +276,7 @@ aes_hw_encrypt: .type aes_hw_decrypt,%function .align 5 aes_hw_decrypt: + AARCH64_VALID_CALL_TARGET ldr w3,[x2,#240] ld1 {v0.4s},[x2],#16 ld1 {v2.16b},[x0] @@ -301,6 +307,8 @@ aes_hw_decrypt: .type aes_hw_cbc_encrypt,%function .align 5 aes_hw_cbc_encrypt: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 subs x2,x2,#16 @@ -592,6 +600,8 @@ aes_hw_cbc_encrypt: .type aes_hw_ctr32_encrypt_blocks,%function .align 5 aes_hw_ctr32_encrypt_blocks: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 ldr w5,[x3,#240] @@ -772,3 +782,4 @@ aes_hw_ctr32_encrypt_blocks: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/armv8-mont.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/armv8-mont.S index 1ea05ba9f6f..db89859a36a 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/armv8-mont.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/armv8-mont.S @@ -13,6 +13,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text .globl bn_mul_mont @@ -20,6 +22,7 @@ .type bn_mul_mont,%function .align 5 bn_mul_mont: + AARCH64_SIGN_LINK_REGISTER tst x5,#7 b.eq __bn_sqr8x_mont tst x5,#3 @@ -217,11 +220,14 @@ bn_mul_mont: mov x0,#1 ldp x23,x24,[x29,#48] ldr x29,[sp],#64 + AARCH64_VALIDATE_LINK_REGISTER ret .size bn_mul_mont,.-bn_mul_mont .type __bn_sqr8x_mont,%function .align 5 __bn_sqr8x_mont: + // Not adding AARCH64_SIGN_LINK_REGISTER here because __bn_sqr8x_mont is jumped to + // only from bn_mul_mont which has already signed the return address. cmp x1,x2 b.ne __bn_mul4x_mont .Lsqr8x_mont: @@ -975,11 +981,16 @@ __bn_sqr8x_mont: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldr x29,[sp],#128 + // x30 is popped earlier + AARCH64_VALIDATE_LINK_REGISTER ret .size __bn_sqr8x_mont,.-__bn_sqr8x_mont .type __bn_mul4x_mont,%function .align 5 __bn_mul4x_mont: + // Not adding AARCH64_SIGN_LINK_REGISTER here because __bn_mul4x_mont is jumped to + // only from bn_mul_mont or __bn_mul8x_mont which have already signed the + // return address. stp x29,x30,[sp,#-128]! add x29,sp,#0 stp x19,x20,[sp,#16] @@ -1413,6 +1424,8 @@ __bn_mul4x_mont: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldr x29,[sp],#128 + // x30 is popped earlier + AARCH64_VALIDATE_LINK_REGISTER ret .size __bn_mul4x_mont,.-__bn_mul4x_mont .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 @@ -1420,3 +1433,4 @@ __bn_mul4x_mont: .align 4 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S index 356768307dc..098967b5de8 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S @@ -13,6 +13,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text .globl gcm_init_neon @@ -20,6 +22,7 @@ .type gcm_init_neon,%function .align 4 gcm_init_neon: + AARCH64_VALID_CALL_TARGET // This function is adapted from gcm_init_v8. xC2 is t3. ld1 {v17.2d}, [x1] // load H movi v19.16b, #0xe1 @@ -45,6 +48,7 @@ gcm_init_neon: .type gcm_gmult_neon,%function .align 4 gcm_gmult_neon: + AARCH64_VALID_CALL_TARGET ld1 {v3.16b}, [x0] // load Xi ld1 {v5.1d}, [x1], #8 // load twisted H ld1 {v6.1d}, [x1] @@ -64,6 +68,7 @@ gcm_gmult_neon: .type gcm_ghash_neon,%function .align 4 gcm_ghash_neon: + AARCH64_VALID_CALL_TARGET ld1 {v0.16b}, [x0] // load Xi ld1 {v5.1d}, [x1], #8 // load twisted H ld1 {v6.1d}, [x1] @@ -338,3 +343,4 @@ gcm_ghash_neon: .align 2 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S index 1267937bbf2..62e588428e6 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S @@ -22,6 +22,7 @@ .type gcm_init_v8,%function .align 4 gcm_init_v8: + AARCH64_VALID_CALL_TARGET ld1 {v17.2d},[x1] //load input H movi v19.16b,#0xe1 shl v19.2d,v19.2d,#57 //0xc2.0 @@ -73,6 +74,7 @@ gcm_init_v8: .type gcm_gmult_v8,%function .align 4 gcm_gmult_v8: + AARCH64_VALID_CALL_TARGET ld1 {v17.2d},[x0] //load Xi movi v19.16b,#0xe1 ld1 {v20.2d,v21.2d},[x1] //load twisted H, ... @@ -115,6 +117,7 @@ gcm_gmult_v8: .type gcm_ghash_v8,%function .align 4 gcm_ghash_v8: + AARCH64_VALID_CALL_TARGET ld1 {v0.2d},[x0] //load [rotated] Xi //"[rotated]" means that //loaded value would have @@ -246,3 +249,4 @@ gcm_ghash_v8: .align 2 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha1-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha1-armv8.S index ecb48859e70..2f8b60c55b5 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha1-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha1-armv8.S @@ -23,6 +23,8 @@ .type sha1_block_data_order,%function .align 6 sha1_block_data_order: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x16,:pg_hi21_nc:OPENSSL_armcap_P #else @@ -1090,6 +1092,8 @@ sha1_block_data_order: .type sha1_block_armv8,%function .align 6 sha1_block_armv8: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET .Lv8_entry: stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -1232,3 +1236,4 @@ sha1_block_armv8: .hidden OPENSSL_armcap_P #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha256-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha256-armv8.S index b3196882e5f..65b2410e5c2 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha256-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha256-armv8.S @@ -64,6 +64,7 @@ .type sha256_block_data_order,%function .align 6 sha256_block_data_order: + AARCH64_VALID_CALL_TARGET #ifndef __KERNEL__ #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x16,:pg_hi21_nc:OPENSSL_armcap_P @@ -74,6 +75,7 @@ sha256_block_data_order: tst w16,#ARMV8_SHA256 b.ne .Lv8_entry #endif + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1034,6 +1036,7 @@ sha256_block_data_order: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + AARCH64_VALIDATE_LINK_REGISTER ret .size sha256_block_data_order,.-sha256_block_data_order @@ -1068,6 +1071,7 @@ sha256_block_data_order: .align 6 sha256_block_armv8: .Lv8_entry: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -1210,3 +1214,4 @@ sha256_block_armv8: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha512-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha512-armv8.S index 37e00d79f4b..d214d47065c 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha512-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha512-armv8.S @@ -64,6 +64,7 @@ .type sha512_block_data_order,%function .align 6 sha512_block_data_order: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1024,6 +1025,7 @@ sha512_block_data_order: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + AARCH64_VALIDATE_LINK_REGISTER ret .size sha512_block_data_order,.-sha512_block_data_order @@ -1082,3 +1084,4 @@ sha512_block_data_order: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S index 3a34209d150..c3a2bcb810b 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S @@ -13,6 +13,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .section .rodata .type _vpaes_consts,%object @@ -215,6 +217,7 @@ _vpaes_encrypt_core: .type vpaes_encrypt,%function .align 4 vpaes_encrypt: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -224,6 +227,7 @@ vpaes_encrypt: st1 {v0.16b}, [x1] ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_encrypt,.-vpaes_encrypt @@ -452,6 +456,7 @@ _vpaes_decrypt_core: .type vpaes_decrypt,%function .align 4 vpaes_decrypt: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -461,6 +466,7 @@ vpaes_decrypt: st1 {v0.16b}, [x1] ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_decrypt,.-vpaes_decrypt @@ -630,6 +636,7 @@ _vpaes_key_preheat: .type _vpaes_schedule_core,%function .align 4 _vpaes_schedule_core: + AARCH64_SIGN_LINK_REGISTER stp x29, x30, [sp,#-16]! add x29,sp,#0 @@ -799,6 +806,7 @@ _vpaes_schedule_core: eor v6.16b, v6.16b, v6.16b // vpxor %xmm6, %xmm6, %xmm6 eor v7.16b, v7.16b, v7.16b // vpxor %xmm7, %xmm7, %xmm7 ldp x29, x30, [sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size _vpaes_schedule_core,.-_vpaes_schedule_core @@ -1012,6 +1020,7 @@ _vpaes_schedule_mangle: .type vpaes_set_encrypt_key,%function .align 4 vpaes_set_encrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1027,6 +1036,7 @@ vpaes_set_encrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key @@ -1035,6 +1045,7 @@ vpaes_set_encrypt_key: .type vpaes_set_decrypt_key,%function .align 4 vpaes_set_decrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1054,6 +1065,7 @@ vpaes_set_decrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key .globl vpaes_cbc_encrypt @@ -1061,6 +1073,7 @@ vpaes_set_decrypt_key: .type vpaes_cbc_encrypt,%function .align 4 vpaes_cbc_encrypt: + AARCH64_SIGN_LINK_REGISTER cbz x2, .Lcbc_abort cmp w5, #0 // check direction b.eq vpaes_cbc_decrypt @@ -1087,6 +1100,7 @@ vpaes_cbc_encrypt: st1 {v0.16b}, [x4] // write ivec ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER .Lcbc_abort: ret .size vpaes_cbc_encrypt,.-vpaes_cbc_encrypt @@ -1094,6 +1108,8 @@ vpaes_cbc_encrypt: .type vpaes_cbc_decrypt,%function .align 4 vpaes_cbc_decrypt: + // Not adding AARCH64_SIGN_LINK_REGISTER here because vpaes_cbc_decrypt is jumped to + // only from vpaes_cbc_encrypt which has already signed the return address. stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1135,6 +1151,7 @@ vpaes_cbc_decrypt: ldp d10,d11,[sp],#16 ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_cbc_decrypt,.-vpaes_cbc_decrypt .globl vpaes_ctr32_encrypt_blocks @@ -1142,6 +1159,7 @@ vpaes_cbc_decrypt: .type vpaes_ctr32_encrypt_blocks,%function .align 4 vpaes_ctr32_encrypt_blocks: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1209,7 +1227,9 @@ vpaes_ctr32_encrypt_blocks: ldp d10,d11,[sp],#16 ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_ctr32_encrypt_blocks,.-vpaes_ctr32_encrypt_blocks #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/test/trampoline-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/test/trampoline-armv8.S index f5296f685eb..8928d7f54ed 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/test/trampoline-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/test/trampoline-armv8.S @@ -13,6 +13,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text // abi_test_trampoline loads callee-saved registers from |state|, calls |func| @@ -27,6 +29,7 @@ .align 4 abi_test_trampoline: .Labi_test_trampoline_begin: + AARCH64_SIGN_LINK_REGISTER // Stack layout (low to high addresses) // x29,x30 (16 bytes) // d8-d15 (64 bytes) @@ -129,6 +132,7 @@ abi_test_trampoline: ldp x27, x28, [sp, #144] ldp x29, x30, [sp], #176 + AARCH64_VALIDATE_LINK_REGISTER ret .size abi_test_trampoline,.-abi_test_trampoline .type abi_test_clobber_x0, %function @@ -136,6 +140,7 @@ abi_test_trampoline: .hidden abi_test_clobber_x0 .align 4 abi_test_clobber_x0: + AARCH64_VALID_CALL_TARGET mov x0, xzr ret .size abi_test_clobber_x0,.-abi_test_clobber_x0 @@ -144,6 +149,7 @@ abi_test_clobber_x0: .hidden abi_test_clobber_x1 .align 4 abi_test_clobber_x1: + AARCH64_VALID_CALL_TARGET mov x1, xzr ret .size abi_test_clobber_x1,.-abi_test_clobber_x1 @@ -152,6 +158,7 @@ abi_test_clobber_x1: .hidden abi_test_clobber_x2 .align 4 abi_test_clobber_x2: + AARCH64_VALID_CALL_TARGET mov x2, xzr ret .size abi_test_clobber_x2,.-abi_test_clobber_x2 @@ -160,6 +167,7 @@ abi_test_clobber_x2: .hidden abi_test_clobber_x3 .align 4 abi_test_clobber_x3: + AARCH64_VALID_CALL_TARGET mov x3, xzr ret .size abi_test_clobber_x3,.-abi_test_clobber_x3 @@ -168,6 +176,7 @@ abi_test_clobber_x3: .hidden abi_test_clobber_x4 .align 4 abi_test_clobber_x4: + AARCH64_VALID_CALL_TARGET mov x4, xzr ret .size abi_test_clobber_x4,.-abi_test_clobber_x4 @@ -176,6 +185,7 @@ abi_test_clobber_x4: .hidden abi_test_clobber_x5 .align 4 abi_test_clobber_x5: + AARCH64_VALID_CALL_TARGET mov x5, xzr ret .size abi_test_clobber_x5,.-abi_test_clobber_x5 @@ -184,6 +194,7 @@ abi_test_clobber_x5: .hidden abi_test_clobber_x6 .align 4 abi_test_clobber_x6: + AARCH64_VALID_CALL_TARGET mov x6, xzr ret .size abi_test_clobber_x6,.-abi_test_clobber_x6 @@ -192,6 +203,7 @@ abi_test_clobber_x6: .hidden abi_test_clobber_x7 .align 4 abi_test_clobber_x7: + AARCH64_VALID_CALL_TARGET mov x7, xzr ret .size abi_test_clobber_x7,.-abi_test_clobber_x7 @@ -200,6 +212,7 @@ abi_test_clobber_x7: .hidden abi_test_clobber_x8 .align 4 abi_test_clobber_x8: + AARCH64_VALID_CALL_TARGET mov x8, xzr ret .size abi_test_clobber_x8,.-abi_test_clobber_x8 @@ -208,6 +221,7 @@ abi_test_clobber_x8: .hidden abi_test_clobber_x9 .align 4 abi_test_clobber_x9: + AARCH64_VALID_CALL_TARGET mov x9, xzr ret .size abi_test_clobber_x9,.-abi_test_clobber_x9 @@ -216,6 +230,7 @@ abi_test_clobber_x9: .hidden abi_test_clobber_x10 .align 4 abi_test_clobber_x10: + AARCH64_VALID_CALL_TARGET mov x10, xzr ret .size abi_test_clobber_x10,.-abi_test_clobber_x10 @@ -224,6 +239,7 @@ abi_test_clobber_x10: .hidden abi_test_clobber_x11 .align 4 abi_test_clobber_x11: + AARCH64_VALID_CALL_TARGET mov x11, xzr ret .size abi_test_clobber_x11,.-abi_test_clobber_x11 @@ -232,6 +248,7 @@ abi_test_clobber_x11: .hidden abi_test_clobber_x12 .align 4 abi_test_clobber_x12: + AARCH64_VALID_CALL_TARGET mov x12, xzr ret .size abi_test_clobber_x12,.-abi_test_clobber_x12 @@ -240,6 +257,7 @@ abi_test_clobber_x12: .hidden abi_test_clobber_x13 .align 4 abi_test_clobber_x13: + AARCH64_VALID_CALL_TARGET mov x13, xzr ret .size abi_test_clobber_x13,.-abi_test_clobber_x13 @@ -248,6 +266,7 @@ abi_test_clobber_x13: .hidden abi_test_clobber_x14 .align 4 abi_test_clobber_x14: + AARCH64_VALID_CALL_TARGET mov x14, xzr ret .size abi_test_clobber_x14,.-abi_test_clobber_x14 @@ -256,6 +275,7 @@ abi_test_clobber_x14: .hidden abi_test_clobber_x15 .align 4 abi_test_clobber_x15: + AARCH64_VALID_CALL_TARGET mov x15, xzr ret .size abi_test_clobber_x15,.-abi_test_clobber_x15 @@ -264,6 +284,7 @@ abi_test_clobber_x15: .hidden abi_test_clobber_x16 .align 4 abi_test_clobber_x16: + AARCH64_VALID_CALL_TARGET mov x16, xzr ret .size abi_test_clobber_x16,.-abi_test_clobber_x16 @@ -272,6 +293,7 @@ abi_test_clobber_x16: .hidden abi_test_clobber_x17 .align 4 abi_test_clobber_x17: + AARCH64_VALID_CALL_TARGET mov x17, xzr ret .size abi_test_clobber_x17,.-abi_test_clobber_x17 @@ -280,6 +302,7 @@ abi_test_clobber_x17: .hidden abi_test_clobber_x19 .align 4 abi_test_clobber_x19: + AARCH64_VALID_CALL_TARGET mov x19, xzr ret .size abi_test_clobber_x19,.-abi_test_clobber_x19 @@ -288,6 +311,7 @@ abi_test_clobber_x19: .hidden abi_test_clobber_x20 .align 4 abi_test_clobber_x20: + AARCH64_VALID_CALL_TARGET mov x20, xzr ret .size abi_test_clobber_x20,.-abi_test_clobber_x20 @@ -296,6 +320,7 @@ abi_test_clobber_x20: .hidden abi_test_clobber_x21 .align 4 abi_test_clobber_x21: + AARCH64_VALID_CALL_TARGET mov x21, xzr ret .size abi_test_clobber_x21,.-abi_test_clobber_x21 @@ -304,6 +329,7 @@ abi_test_clobber_x21: .hidden abi_test_clobber_x22 .align 4 abi_test_clobber_x22: + AARCH64_VALID_CALL_TARGET mov x22, xzr ret .size abi_test_clobber_x22,.-abi_test_clobber_x22 @@ -312,6 +338,7 @@ abi_test_clobber_x22: .hidden abi_test_clobber_x23 .align 4 abi_test_clobber_x23: + AARCH64_VALID_CALL_TARGET mov x23, xzr ret .size abi_test_clobber_x23,.-abi_test_clobber_x23 @@ -320,6 +347,7 @@ abi_test_clobber_x23: .hidden abi_test_clobber_x24 .align 4 abi_test_clobber_x24: + AARCH64_VALID_CALL_TARGET mov x24, xzr ret .size abi_test_clobber_x24,.-abi_test_clobber_x24 @@ -328,6 +356,7 @@ abi_test_clobber_x24: .hidden abi_test_clobber_x25 .align 4 abi_test_clobber_x25: + AARCH64_VALID_CALL_TARGET mov x25, xzr ret .size abi_test_clobber_x25,.-abi_test_clobber_x25 @@ -336,6 +365,7 @@ abi_test_clobber_x25: .hidden abi_test_clobber_x26 .align 4 abi_test_clobber_x26: + AARCH64_VALID_CALL_TARGET mov x26, xzr ret .size abi_test_clobber_x26,.-abi_test_clobber_x26 @@ -344,6 +374,7 @@ abi_test_clobber_x26: .hidden abi_test_clobber_x27 .align 4 abi_test_clobber_x27: + AARCH64_VALID_CALL_TARGET mov x27, xzr ret .size abi_test_clobber_x27,.-abi_test_clobber_x27 @@ -352,6 +383,7 @@ abi_test_clobber_x27: .hidden abi_test_clobber_x28 .align 4 abi_test_clobber_x28: + AARCH64_VALID_CALL_TARGET mov x28, xzr ret .size abi_test_clobber_x28,.-abi_test_clobber_x28 @@ -360,6 +392,7 @@ abi_test_clobber_x28: .hidden abi_test_clobber_x29 .align 4 abi_test_clobber_x29: + AARCH64_VALID_CALL_TARGET mov x29, xzr ret .size abi_test_clobber_x29,.-abi_test_clobber_x29 @@ -368,6 +401,7 @@ abi_test_clobber_x29: .hidden abi_test_clobber_d0 .align 4 abi_test_clobber_d0: + AARCH64_VALID_CALL_TARGET fmov d0, xzr ret .size abi_test_clobber_d0,.-abi_test_clobber_d0 @@ -376,6 +410,7 @@ abi_test_clobber_d0: .hidden abi_test_clobber_d1 .align 4 abi_test_clobber_d1: + AARCH64_VALID_CALL_TARGET fmov d1, xzr ret .size abi_test_clobber_d1,.-abi_test_clobber_d1 @@ -384,6 +419,7 @@ abi_test_clobber_d1: .hidden abi_test_clobber_d2 .align 4 abi_test_clobber_d2: + AARCH64_VALID_CALL_TARGET fmov d2, xzr ret .size abi_test_clobber_d2,.-abi_test_clobber_d2 @@ -392,6 +428,7 @@ abi_test_clobber_d2: .hidden abi_test_clobber_d3 .align 4 abi_test_clobber_d3: + AARCH64_VALID_CALL_TARGET fmov d3, xzr ret .size abi_test_clobber_d3,.-abi_test_clobber_d3 @@ -400,6 +437,7 @@ abi_test_clobber_d3: .hidden abi_test_clobber_d4 .align 4 abi_test_clobber_d4: + AARCH64_VALID_CALL_TARGET fmov d4, xzr ret .size abi_test_clobber_d4,.-abi_test_clobber_d4 @@ -408,6 +446,7 @@ abi_test_clobber_d4: .hidden abi_test_clobber_d5 .align 4 abi_test_clobber_d5: + AARCH64_VALID_CALL_TARGET fmov d5, xzr ret .size abi_test_clobber_d5,.-abi_test_clobber_d5 @@ -416,6 +455,7 @@ abi_test_clobber_d5: .hidden abi_test_clobber_d6 .align 4 abi_test_clobber_d6: + AARCH64_VALID_CALL_TARGET fmov d6, xzr ret .size abi_test_clobber_d6,.-abi_test_clobber_d6 @@ -424,6 +464,7 @@ abi_test_clobber_d6: .hidden abi_test_clobber_d7 .align 4 abi_test_clobber_d7: + AARCH64_VALID_CALL_TARGET fmov d7, xzr ret .size abi_test_clobber_d7,.-abi_test_clobber_d7 @@ -432,6 +473,7 @@ abi_test_clobber_d7: .hidden abi_test_clobber_d8 .align 4 abi_test_clobber_d8: + AARCH64_VALID_CALL_TARGET fmov d8, xzr ret .size abi_test_clobber_d8,.-abi_test_clobber_d8 @@ -440,6 +482,7 @@ abi_test_clobber_d8: .hidden abi_test_clobber_d9 .align 4 abi_test_clobber_d9: + AARCH64_VALID_CALL_TARGET fmov d9, xzr ret .size abi_test_clobber_d9,.-abi_test_clobber_d9 @@ -448,6 +491,7 @@ abi_test_clobber_d9: .hidden abi_test_clobber_d10 .align 4 abi_test_clobber_d10: + AARCH64_VALID_CALL_TARGET fmov d10, xzr ret .size abi_test_clobber_d10,.-abi_test_clobber_d10 @@ -456,6 +500,7 @@ abi_test_clobber_d10: .hidden abi_test_clobber_d11 .align 4 abi_test_clobber_d11: + AARCH64_VALID_CALL_TARGET fmov d11, xzr ret .size abi_test_clobber_d11,.-abi_test_clobber_d11 @@ -464,6 +509,7 @@ abi_test_clobber_d11: .hidden abi_test_clobber_d12 .align 4 abi_test_clobber_d12: + AARCH64_VALID_CALL_TARGET fmov d12, xzr ret .size abi_test_clobber_d12,.-abi_test_clobber_d12 @@ -472,6 +518,7 @@ abi_test_clobber_d12: .hidden abi_test_clobber_d13 .align 4 abi_test_clobber_d13: + AARCH64_VALID_CALL_TARGET fmov d13, xzr ret .size abi_test_clobber_d13,.-abi_test_clobber_d13 @@ -480,6 +527,7 @@ abi_test_clobber_d13: .hidden abi_test_clobber_d14 .align 4 abi_test_clobber_d14: + AARCH64_VALID_CALL_TARGET fmov d14, xzr ret .size abi_test_clobber_d14,.-abi_test_clobber_d14 @@ -488,6 +536,7 @@ abi_test_clobber_d14: .hidden abi_test_clobber_d15 .align 4 abi_test_clobber_d15: + AARCH64_VALID_CALL_TARGET fmov d15, xzr ret .size abi_test_clobber_d15,.-abi_test_clobber_d15 @@ -496,6 +545,7 @@ abi_test_clobber_d15: .hidden abi_test_clobber_d16 .align 4 abi_test_clobber_d16: + AARCH64_VALID_CALL_TARGET fmov d16, xzr ret .size abi_test_clobber_d16,.-abi_test_clobber_d16 @@ -504,6 +554,7 @@ abi_test_clobber_d16: .hidden abi_test_clobber_d17 .align 4 abi_test_clobber_d17: + AARCH64_VALID_CALL_TARGET fmov d17, xzr ret .size abi_test_clobber_d17,.-abi_test_clobber_d17 @@ -512,6 +563,7 @@ abi_test_clobber_d17: .hidden abi_test_clobber_d18 .align 4 abi_test_clobber_d18: + AARCH64_VALID_CALL_TARGET fmov d18, xzr ret .size abi_test_clobber_d18,.-abi_test_clobber_d18 @@ -520,6 +572,7 @@ abi_test_clobber_d18: .hidden abi_test_clobber_d19 .align 4 abi_test_clobber_d19: + AARCH64_VALID_CALL_TARGET fmov d19, xzr ret .size abi_test_clobber_d19,.-abi_test_clobber_d19 @@ -528,6 +581,7 @@ abi_test_clobber_d19: .hidden abi_test_clobber_d20 .align 4 abi_test_clobber_d20: + AARCH64_VALID_CALL_TARGET fmov d20, xzr ret .size abi_test_clobber_d20,.-abi_test_clobber_d20 @@ -536,6 +590,7 @@ abi_test_clobber_d20: .hidden abi_test_clobber_d21 .align 4 abi_test_clobber_d21: + AARCH64_VALID_CALL_TARGET fmov d21, xzr ret .size abi_test_clobber_d21,.-abi_test_clobber_d21 @@ -544,6 +599,7 @@ abi_test_clobber_d21: .hidden abi_test_clobber_d22 .align 4 abi_test_clobber_d22: + AARCH64_VALID_CALL_TARGET fmov d22, xzr ret .size abi_test_clobber_d22,.-abi_test_clobber_d22 @@ -552,6 +608,7 @@ abi_test_clobber_d22: .hidden abi_test_clobber_d23 .align 4 abi_test_clobber_d23: + AARCH64_VALID_CALL_TARGET fmov d23, xzr ret .size abi_test_clobber_d23,.-abi_test_clobber_d23 @@ -560,6 +617,7 @@ abi_test_clobber_d23: .hidden abi_test_clobber_d24 .align 4 abi_test_clobber_d24: + AARCH64_VALID_CALL_TARGET fmov d24, xzr ret .size abi_test_clobber_d24,.-abi_test_clobber_d24 @@ -568,6 +626,7 @@ abi_test_clobber_d24: .hidden abi_test_clobber_d25 .align 4 abi_test_clobber_d25: + AARCH64_VALID_CALL_TARGET fmov d25, xzr ret .size abi_test_clobber_d25,.-abi_test_clobber_d25 @@ -576,6 +635,7 @@ abi_test_clobber_d25: .hidden abi_test_clobber_d26 .align 4 abi_test_clobber_d26: + AARCH64_VALID_CALL_TARGET fmov d26, xzr ret .size abi_test_clobber_d26,.-abi_test_clobber_d26 @@ -584,6 +644,7 @@ abi_test_clobber_d26: .hidden abi_test_clobber_d27 .align 4 abi_test_clobber_d27: + AARCH64_VALID_CALL_TARGET fmov d27, xzr ret .size abi_test_clobber_d27,.-abi_test_clobber_d27 @@ -592,6 +653,7 @@ abi_test_clobber_d27: .hidden abi_test_clobber_d28 .align 4 abi_test_clobber_d28: + AARCH64_VALID_CALL_TARGET fmov d28, xzr ret .size abi_test_clobber_d28,.-abi_test_clobber_d28 @@ -600,6 +662,7 @@ abi_test_clobber_d28: .hidden abi_test_clobber_d29 .align 4 abi_test_clobber_d29: + AARCH64_VALID_CALL_TARGET fmov d29, xzr ret .size abi_test_clobber_d29,.-abi_test_clobber_d29 @@ -608,6 +671,7 @@ abi_test_clobber_d29: .hidden abi_test_clobber_d30 .align 4 abi_test_clobber_d30: + AARCH64_VALID_CALL_TARGET fmov d30, xzr ret .size abi_test_clobber_d30,.-abi_test_clobber_d30 @@ -616,6 +680,7 @@ abi_test_clobber_d30: .hidden abi_test_clobber_d31 .align 4 abi_test_clobber_d31: + AARCH64_VALID_CALL_TARGET fmov d31, xzr ret .size abi_test_clobber_d31,.-abi_test_clobber_d31 @@ -624,6 +689,7 @@ abi_test_clobber_d31: .hidden abi_test_clobber_v8_upper .align 4 abi_test_clobber_v8_upper: + AARCH64_VALID_CALL_TARGET fmov v8.d[1], xzr ret .size abi_test_clobber_v8_upper,.-abi_test_clobber_v8_upper @@ -632,6 +698,7 @@ abi_test_clobber_v8_upper: .hidden abi_test_clobber_v9_upper .align 4 abi_test_clobber_v9_upper: + AARCH64_VALID_CALL_TARGET fmov v9.d[1], xzr ret .size abi_test_clobber_v9_upper,.-abi_test_clobber_v9_upper @@ -640,6 +707,7 @@ abi_test_clobber_v9_upper: .hidden abi_test_clobber_v10_upper .align 4 abi_test_clobber_v10_upper: + AARCH64_VALID_CALL_TARGET fmov v10.d[1], xzr ret .size abi_test_clobber_v10_upper,.-abi_test_clobber_v10_upper @@ -648,6 +716,7 @@ abi_test_clobber_v10_upper: .hidden abi_test_clobber_v11_upper .align 4 abi_test_clobber_v11_upper: + AARCH64_VALID_CALL_TARGET fmov v11.d[1], xzr ret .size abi_test_clobber_v11_upper,.-abi_test_clobber_v11_upper @@ -656,6 +725,7 @@ abi_test_clobber_v11_upper: .hidden abi_test_clobber_v12_upper .align 4 abi_test_clobber_v12_upper: + AARCH64_VALID_CALL_TARGET fmov v12.d[1], xzr ret .size abi_test_clobber_v12_upper,.-abi_test_clobber_v12_upper @@ -664,6 +734,7 @@ abi_test_clobber_v12_upper: .hidden abi_test_clobber_v13_upper .align 4 abi_test_clobber_v13_upper: + AARCH64_VALID_CALL_TARGET fmov v13.d[1], xzr ret .size abi_test_clobber_v13_upper,.-abi_test_clobber_v13_upper @@ -672,6 +743,7 @@ abi_test_clobber_v13_upper: .hidden abi_test_clobber_v14_upper .align 4 abi_test_clobber_v14_upper: + AARCH64_VALID_CALL_TARGET fmov v14.d[1], xzr ret .size abi_test_clobber_v14_upper,.-abi_test_clobber_v14_upper @@ -680,8 +752,10 @@ abi_test_clobber_v14_upper: .hidden abi_test_clobber_v15_upper .align 4 abi_test_clobber_v15_upper: + AARCH64_VALID_CALL_TARGET fmov v15.d[1], xzr ret .size abi_test_clobber_v15_upper,.-abi_test_clobber_v15_upper #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S deleted file mode 100644 index da49a401334..00000000000 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S +++ /dev/null @@ -1,998 +0,0 @@ -// This file is generated from a similarly-named Perl script in the BoringSSL -// source tree. Do not edit by hand. - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif - -#if !defined(OPENSSL_NO_ASM) -#if defined(__aarch64__) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.section .rodata - -# p434 x 2 -.Lp434x2: -.quad 0xFFFFFFFFFFFFFFFE, 0xFFFFFFFFFFFFFFFF -.quad 0xFB82ECF5C5FFFFFF, 0xF78CB8F062B15D47 -.quad 0xD9F8BFAD038A40AC, 0x0004683E4E2EE688 - -# p434 + 1 -.Lp434p1: -.quad 0xFDC1767AE3000000, 0x7BC65C783158AEA3 -.quad 0x6CFC5FD681C52056, 0x0002341F27177344 - -.text -.globl sike_mpmul -.hidden sike_mpmul -.align 4 -sike_mpmul: - stp x29, x30, [sp,#-96]! - add x29, sp, #0 - stp x19, x20, [sp,#16] - stp x21, x22, [sp,#32] - stp x23, x24, [sp,#48] - stp x25, x26, [sp,#64] - stp x27, x28, [sp,#80] - - ldp x3, x4, [x0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x10, x11, [x1,#0] - ldp x12, x13, [x1,#16] - ldp x14, x15, [x1,#32] - ldr x16, [x1,#48] - - // x3-x7 <- AH + AL, x7 <- carry - adds x3, x3, x7 - adcs x4, x4, x8 - adcs x5, x5, x9 - adcs x6, x6, xzr - adc x7, xzr, xzr - - // x10-x13 <- BH + BL, x8 <- carry - adds x10, x10, x14 - adcs x11, x11, x15 - adcs x12, x12, x16 - adcs x13, x13, xzr - adc x8, xzr, xzr - - // x9 <- combined carry - and x9, x7, x8 - // x7-x8 <- mask - sub x7, xzr, x7 - sub x8, xzr, x8 - - // x15-x19 <- masked (BH + BL) - and x14, x10, x7 - and x15, x11, x7 - and x16, x12, x7 - and x17, x13, x7 - - // x20-x23 <- masked (AH + AL) - and x20, x3, x8 - and x21, x4, x8 - and x22, x5, x8 - and x23, x6, x8 - - // x15-x19, x7 <- masked (AH+AL) + masked (BH+BL), step 1 - adds x14, x14, x20 - adcs x15, x15, x21 - adcs x16, x16, x22 - adcs x17, x17, x23 - adc x7, x9, xzr - - // x8-x9,x19,x20-x24 <- (AH+AL) x (BH+BL), low part - stp x3, x4, [x2,#0] - // A0-A1 <- AH + AL, T0 <- mask - adds x3, x3, x5 - adcs x4, x4, x6 - adc x25, xzr, xzr - - // C6, T1 <- BH + BL, C7 <- mask - adds x23, x10, x12 - adcs x26, x11, x13 - adc x24, xzr, xzr - - // C0-C1 <- masked (BH + BL) - sub x19, xzr, x25 - sub x20, xzr, x24 - and x8, x23, x19 - and x9, x26, x19 - - // C4-C5 <- masked (AH + AL), T0 <- combined carry - and x21, x3, x20 - and x22, x4, x20 - mul x19, x3, x23 - mul x20, x3, x26 - and x25, x25, x24 - - // C0-C1, T0 <- (AH+AL) x (BH+BL), part 1 - adds x8, x21, x8 - umulh x21, x3, x26 - adcs x9, x22, x9 - umulh x22, x3, x23 - adc x25, x25, xzr - - // C2-C5 <- (AH+AL) x (BH+BL), low part - mul x3, x4, x23 - umulh x23, x4, x23 - adds x20, x20, x22 - adc x21, x21, xzr - - mul x24, x4, x26 - umulh x26, x4, x26 - adds x20, x20, x3 - adcs x21, x21, x23 - adc x22, xzr, xzr - - adds x21, x21, x24 - adc x22, x22, x26 - - ldp x3, x4, [x2,#0] - - // C2-C5, T0 <- (AH+AL) x (BH+BL), final part - adds x21, x8, x21 - umulh x24, x3, x10 - umulh x26, x3, x11 - adcs x22, x9, x22 - mul x8, x3, x10 - mul x9, x3, x11 - adc x25, x25, xzr - - // C0-C1, T1, C7 <- AL x BL - mul x3, x4, x10 - umulh x10, x4, x10 - adds x9, x9, x24 - adc x26, x26, xzr - - mul x23, x4, x11 - umulh x11, x4, x11 - adds x9, x9, x3 - adcs x26, x26, x10 - adc x24, xzr, xzr - - adds x26, x26, x23 - adc x24, x24, x11 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - mul x3, x5, x12 - umulh x10, x5, x12 - subs x19, x19, x8 - sbcs x20, x20, x9 - sbcs x21, x21, x26 - mul x4, x5, x13 - umulh x23, x5, x13 - sbcs x22, x22, x24 - sbc x25, x25, xzr - - // A0, A1, C6, B0 <- AH x BH - mul x5, x6, x12 - umulh x12, x6, x12 - adds x4, x4, x10 - adc x23, x23, xzr - - mul x11, x6, x13 - umulh x13, x6, x13 - adds x4, x4, x5 - adcs x23, x23, x12 - adc x10, xzr, xzr - - adds x23, x23, x11 - adc x10, x10, x13 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x19, x19, x3 - sbcs x20, x20, x4 - sbcs x21, x21, x23 - sbcs x22, x22, x10 - sbc x25, x25, xzr - - adds x19, x19, x26 - adcs x20, x20, x24 - adcs x21, x21, x3 - adcs x22, x22, x4 - adcs x23, x25, x23 - adc x24, x10, xzr - - - // x15-x19, x7 <- (AH+AL) x (BH+BL), final step - adds x14, x14, x21 - adcs x15, x15, x22 - adcs x16, x16, x23 - adcs x17, x17, x24 - adc x7, x7, xzr - - // Load AL - ldp x3, x4, [x0] - ldp x5, x6, [x0,#16] - // Load BL - ldp x10, x11, [x1,#0] - ldp x12, x13, [x1,#16] - - // Temporarily store x8 in x2 - stp x8, x9, [x2,#0] - // x21-x28 <- AL x BL - // A0-A1 <- AH + AL, T0 <- mask - adds x3, x3, x5 - adcs x4, x4, x6 - adc x8, xzr, xzr - - // C6, T1 <- BH + BL, C7 <- mask - adds x27, x10, x12 - adcs x9, x11, x13 - adc x28, xzr, xzr - - // C0-C1 <- masked (BH + BL) - sub x23, xzr, x8 - sub x24, xzr, x28 - and x21, x27, x23 - and x22, x9, x23 - - // C4-C5 <- masked (AH + AL), T0 <- combined carry - and x25, x3, x24 - and x26, x4, x24 - mul x23, x3, x27 - mul x24, x3, x9 - and x8, x8, x28 - - // C0-C1, T0 <- (AH+AL) x (BH+BL), part 1 - adds x21, x25, x21 - umulh x25, x3, x9 - adcs x22, x26, x22 - umulh x26, x3, x27 - adc x8, x8, xzr - - // C2-C5 <- (AH+AL) x (BH+BL), low part - mul x3, x4, x27 - umulh x27, x4, x27 - adds x24, x24, x26 - adc x25, x25, xzr - - mul x28, x4, x9 - umulh x9, x4, x9 - adds x24, x24, x3 - adcs x25, x25, x27 - adc x26, xzr, xzr - - adds x25, x25, x28 - adc x26, x26, x9 - - ldp x3, x4, [x0,#0] - - // C2-C5, T0 <- (AH+AL) x (BH+BL), final part - adds x25, x21, x25 - umulh x28, x3, x10 - umulh x9, x3, x11 - adcs x26, x22, x26 - mul x21, x3, x10 - mul x22, x3, x11 - adc x8, x8, xzr - - // C0-C1, T1, C7 <- AL x BL - mul x3, x4, x10 - umulh x10, x4, x10 - adds x22, x22, x28 - adc x9, x9, xzr - - mul x27, x4, x11 - umulh x11, x4, x11 - adds x22, x22, x3 - adcs x9, x9, x10 - adc x28, xzr, xzr - - adds x9, x9, x27 - adc x28, x28, x11 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - mul x3, x5, x12 - umulh x10, x5, x12 - subs x23, x23, x21 - sbcs x24, x24, x22 - sbcs x25, x25, x9 - mul x4, x5, x13 - umulh x27, x5, x13 - sbcs x26, x26, x28 - sbc x8, x8, xzr - - // A0, A1, C6, B0 <- AH x BH - mul x5, x6, x12 - umulh x12, x6, x12 - adds x4, x4, x10 - adc x27, x27, xzr - - mul x11, x6, x13 - umulh x13, x6, x13 - adds x4, x4, x5 - adcs x27, x27, x12 - adc x10, xzr, xzr - - adds x27, x27, x11 - adc x10, x10, x13 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x23, x23, x3 - sbcs x24, x24, x4 - sbcs x25, x25, x27 - sbcs x26, x26, x10 - sbc x8, x8, xzr - - adds x23, x23, x9 - adcs x24, x24, x28 - adcs x25, x25, x3 - adcs x26, x26, x4 - adcs x27, x8, x27 - adc x28, x10, xzr - - // Restore x8 - ldp x8, x9, [x2,#0] - - // x8-x10,x20,x15-x17,x19 <- maskd (AH+AL) x (BH+BL) - ALxBL - subs x8, x8, x21 - sbcs x9, x9, x22 - sbcs x19, x19, x23 - sbcs x20, x20, x24 - sbcs x14, x14, x25 - sbcs x15, x15, x26 - sbcs x16, x16, x27 - sbcs x17, x17, x28 - sbc x7, x7, xzr - - // Store ALxBL, low - stp x21, x22, [x2] - stp x23, x24, [x2,#16] - - // Load AH - ldp x3, x4, [x0,#32] - ldr x5, [x0,#48] - // Load BH - ldp x10, x11, [x1,#32] - ldr x12, [x1,#48] - - adds x8, x8, x25 - adcs x9, x9, x26 - adcs x19, x19, x27 - adcs x20, x20, x28 - adc x1, xzr, xzr - - add x0, x0, #32 - // Temporarily store x8,x9 in x2 - stp x8,x9, [x2,#32] - // x21-x28 <- AH x BH - - // A0 * B0 - mul x21, x3, x10 // C0 - umulh x24, x3, x10 - - // A0 * B1 - mul x22, x3, x11 - umulh x23, x3, x11 - - // A1 * B0 - mul x8, x4, x10 - umulh x9, x4, x10 - adds x22, x22, x24 - adc x23, x23, xzr - - // A0 * B2 - mul x27, x3, x12 - umulh x28, x3, x12 - adds x22, x22, x8 // C1 - adcs x23, x23, x9 - adc x24, xzr, xzr - - // A2 * B0 - mul x8, x5, x10 - umulh x25, x5, x10 - adds x23, x23, x27 - adcs x24, x24, x25 - adc x25, xzr, xzr - - // A1 * B1 - mul x27, x4, x11 - umulh x9, x4, x11 - adds x23, x23, x8 - adcs x24, x24, x28 - adc x25, x25, xzr - - // A1 * B2 - mul x8, x4, x12 - umulh x28, x4, x12 - adds x23, x23, x27 // C2 - adcs x24, x24, x9 - adc x25, x25, xzr - - // A2 * B1 - mul x27, x5, x11 - umulh x9, x5, x11 - adds x24, x24, x8 - adcs x25, x25, x28 - adc x26, xzr, xzr - - // A2 * B2 - mul x8, x5, x12 - umulh x28, x5, x12 - adds x24, x24, x27 // C3 - adcs x25, x25, x9 - adc x26, x26, xzr - - adds x25, x25, x8 // C4 - adc x26, x26, x28 // C5 - - // Restore x8,x9 - ldp x8,x9, [x2,#32] - - neg x1, x1 - - // x8-x9,x19,x20,x14-x17 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x8, x8, x21 - sbcs x9, x9, x22 - sbcs x19, x19, x23 - sbcs x20, x20, x24 - sbcs x14, x14, x25 - sbcs x15, x15, x26 - sbcs x16, x16, xzr - sbcs x17, x17, xzr - sbc x7, x7, xzr - - // Store (AH+AL) x (BH+BL) - ALxBL - AHxBH, low - stp x8, x9, [x2,#32] - stp x19, x20, [x2,#48] - - adds x1, x1, #1 - adcs x14, x14, x21 - adcs x15, x15, x22 - adcs x16, x16, x23 - adcs x17, x17, x24 - adcs x25, x7, x25 - adc x26, x26, xzr - - stp x14, x15, [x2,#64] - stp x16, x17, [x2,#80] - stp x25, x26, [x2,#96] - - ldp x19, x20, [x29,#16] - ldp x21, x22, [x29,#32] - ldp x23, x24, [x29,#48] - ldp x25, x26, [x29,#64] - ldp x27, x28, [x29,#80] - ldp x29, x30, [sp],#96 - ret -.globl sike_fprdc -.hidden sike_fprdc -.align 4 -sike_fprdc: - stp x29, x30, [sp, #-96]! - add x29, sp, xzr - stp x19, x20, [sp,#16] - stp x21, x22, [sp,#32] - stp x23, x24, [sp,#48] - stp x25, x26, [sp,#64] - stp x27, x28, [sp,#80] - - ldp x2, x3, [x0,#0] // a[0-1] - - // Load the prime constant - adrp x26, .Lp434p1 - add x26, x26, :lo12:.Lp434p1 - ldp x23, x24, [x26, #0x0] - ldp x25, x26, [x26,#0x10] - - // a[0-1] * p434+1 - mul x4, x2, x23 // C0 - umulh x7, x2, x23 - - mul x5, x2, x24 - umulh x6, x2, x24 - - mul x10, x3, x23 - umulh x11, x3, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x2, x25 - umulh x28, x2, x25 - adds x5, x5, x10 // C1 - adcs x6, x6, x11 - adc x7, xzr, xzr - - mul x10, x3, x24 - umulh x11, x3, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x2, x26 - umulh x28, x2, x26 - adds x6, x6, x10 // C2 - adcs x7, x7, x11 - adc x8, x8, xzr - - mul x10, x3, x25 - umulh x11, x3, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x3, x26 - umulh x28, x3, x26 - adds x7, x7, x10 // C3 - adcs x8, x8, x11 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - - ldp x10, x11, [x0, #0x18] - ldp x12, x13, [x0, #0x28] - ldp x14, x15, [x0, #0x38] - ldp x16, x17, [x0, #0x48] - ldp x19, x20, [x0, #0x58] - ldr x21, [x0, #0x68] - - adds x10, x10, x4 - adcs x11, x11, x5 - adcs x12, x12, x6 - adcs x13, x13, x7 - adcs x14, x14, x8 - adcs x15, x15, x9 - adcs x22, x16, xzr - adcs x17, x17, xzr - adcs x19, x19, xzr - adcs x20, x20, xzr - adc x21, x21, xzr - - ldr x2, [x0,#0x10] // a[2] - // a[2-3] * p434+1 - mul x4, x2, x23 // C0 - umulh x7, x2, x23 - - mul x5, x2, x24 - umulh x6, x2, x24 - - mul x0, x10, x23 - umulh x3, x10, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x2, x25 - umulh x28, x2, x25 - adds x5, x5, x0 // C1 - adcs x6, x6, x3 - adc x7, xzr, xzr - - mul x0, x10, x24 - umulh x3, x10, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x2, x26 - umulh x28, x2, x26 - adds x6, x6, x0 // C2 - adcs x7, x7, x3 - adc x8, x8, xzr - - mul x0, x10, x25 - umulh x3, x10, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x10, x26 - umulh x28, x10, x26 - adds x7, x7, x0 // C3 - adcs x8, x8, x3 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - - adds x12, x12, x4 - adcs x13, x13, x5 - adcs x14, x14, x6 - adcs x15, x15, x7 - adcs x16, x22, x8 - adcs x17, x17, x9 - adcs x22, x19, xzr - adcs x20, x20, xzr - adc x21, x21, xzr - - mul x4, x11, x23 // C0 - umulh x7, x11, x23 - - mul x5, x11, x24 - umulh x6, x11, x24 - - mul x10, x12, x23 - umulh x3, x12, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x11, x25 - umulh x28, x11, x25 - adds x5, x5, x10 // C1 - adcs x6, x6, x3 - adc x7, xzr, xzr - - mul x10, x12, x24 - umulh x3, x12, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x11, x26 - umulh x28, x11, x26 - adds x6, x6, x10 // C2 - adcs x7, x7, x3 - adc x8, x8, xzr - - mul x10, x12, x25 - umulh x3, x12, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x12, x26 - umulh x28, x12, x26 - adds x7, x7, x10 // C3 - adcs x8, x8, x3 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - adds x14, x14, x4 - adcs x15, x15, x5 - adcs x16, x16, x6 - adcs x17, x17, x7 - adcs x19, x22, x8 - adcs x20, x20, x9 - adc x22, x21, xzr - - stp x14, x15, [x1, #0x0] // C0, C1 - - mul x4, x13, x23 // C0 - umulh x10, x13, x23 - - mul x5, x13, x24 - umulh x27, x13, x24 - adds x5, x5, x10 // C1 - adc x10, xzr, xzr - - mul x6, x13, x25 - umulh x28, x13, x25 - adds x27, x10, x27 - adcs x6, x6, x27 // C2 - adc x10, xzr, xzr - - mul x7, x13, x26 - umulh x8, x13, x26 - adds x28, x10, x28 - adcs x7, x7, x28 // C3 - adc x8, x8, xzr // C4 - - adds x16, x16, x4 - adcs x17, x17, x5 - adcs x19, x19, x6 - adcs x20, x20, x7 - adc x21, x22, x8 - - str x16, [x1, #0x10] - stp x17, x19, [x1, #0x18] - stp x20, x21, [x1, #0x28] - - ldp x19, x20, [x29,#16] - ldp x21, x22, [x29,#32] - ldp x23, x24, [x29,#48] - ldp x25, x26, [x29,#64] - ldp x27, x28, [x29,#80] - ldp x29, x30, [sp],#96 - ret -.globl sike_fpadd -.hidden sike_fpadd -.align 4 -sike_fpadd: - stp x29,x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - // Add a + b - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x13 - adcs x6, x6, x14 - adcs x7, x7, x15 - adcs x8, x8, x16 - adc x9, x9, x17 - - // Subtract 2xp434 - adrp x17, .Lp434x2 - add x17, x17, :lo12:.Lp434x2 - ldp x11, x12, [x17, #0] - ldp x13, x14, [x17, #16] - ldp x15, x16, [x17, #32] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x12 - sbcs x6, x6, x13 - sbcs x7, x7, x14 - sbcs x8, x8, x15 - sbcs x9, x9, x16 - sbc x0, xzr, xzr // x0 can be reused now - - // Add 2xp434 anded with the mask in x0 - and x11, x11, x0 - and x12, x12, x0 - and x13, x13, x0 - and x14, x14, x0 - and x15, x15, x0 - and x16, x16, x0 - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x12 - adcs x6, x6, x13 - adcs x7, x7, x14 - adcs x8, x8, x15 - adc x9, x9, x16 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl sike_fpsub -.hidden sike_fpsub -.align 4 -sike_fpsub: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - // Subtract a - b - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - sbcs x9, x9, x17 - sbc x0, xzr, xzr - - // Add 2xp434 anded with the mask in x0 - adrp x17, .Lp434x2 - add x17, x17, :lo12:.Lp434x2 - - // First half - ldp x11, x12, [x17, #0] - ldp x13, x14, [x17, #16] - ldp x15, x16, [x17, #32] - - // Add 2xp434 anded with the mask in x0 - and x11, x11, x0 - and x12, x12, x0 - and x13, x13, x0 - and x14, x14, x0 - and x15, x15, x0 - and x16, x16, x0 - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x12 - adcs x6, x6, x13 - adcs x7, x7, x14 - adcs x8, x8, x15 - adc x9, x9, x16 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl sike_mpadd_asm -.hidden sike_mpadd_asm -.align 4 -sike_mpadd_asm: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x13 - adcs x6, x6, x14 - adcs x7, x7, x15 - adcs x8, x8, x16 - adc x9, x9, x17 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl sike_mpsubx2_asm -.hidden sike_mpsubx2_asm -.align 4 -sike_mpsubx2_asm: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - ldp x7, x8, [x0,#32] - ldp x9, x10, [x0,#48] - ldp x11, x12, [x1,#32] - ldp x13, x14, [x1,#48] - sbcs x7, x7, x11 - sbcs x8, x8, x12 - sbcs x9, x9, x13 - sbcs x10, x10, x14 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - stp x9, x10, [x2,#48] - - ldp x3, x4, [x0,#64] - ldp x5, x6, [x0,#80] - ldp x11, x12, [x1,#64] - ldp x13, x14, [x1,#80] - sbcs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - ldp x7, x8, [x0,#96] - ldp x11, x12, [x1,#96] - sbcs x7, x7, x11 - sbcs x8, x8, x12 - sbc x0, xzr, xzr - - stp x3, x4, [x2,#64] - stp x5, x6, [x2,#80] - stp x7, x8, [x2,#96] - - ldp x29, x30, [sp],#16 - ret -.globl sike_mpdblsubx2_asm -.hidden sike_mpdblsubx2_asm -.align 4 -sike_mpdblsubx2_asm: - stp x29, x30, [sp, #-16]! - add x29, sp, #0 - - ldp x3, x4, [x2, #0] - ldp x5, x6, [x2,#16] - ldp x7, x8, [x2,#32] - - ldp x11, x12, [x0, #0] - ldp x13, x14, [x0,#16] - ldp x15, x16, [x0,#32] - - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - - // x9 stores carry - adc x9, xzr, xzr - - ldp x11, x12, [x1, #0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, x9, xzr - - stp x3, x4, [x2, #0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - - ldp x3, x4, [x2,#48] - ldp x5, x6, [x2,#64] - ldp x7, x8, [x2,#80] - - ldp x11, x12, [x0,#48] - ldp x13, x14, [x0,#64] - ldp x15, x16, [x0,#80] - - // x9 = 2 - x9 - neg x9, x9 - add x9, x9, #2 - - subs x3, x3, x9 - sbcs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, xzr, xzr - - ldp x11, x12, [x1,#48] - ldp x13, x14, [x1,#64] - ldp x15, x16, [x1,#80] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, x9, xzr - - stp x3, x4, [x2,#48] - stp x5, x6, [x2,#64] - stp x7, x8, [x2,#80] - - ldp x3, x4, [x2,#96] - ldp x11, x12, [x0,#96] - ldp x13, x14, [x1,#96] - - // x9 = 2 - x9 - neg x9, x9 - add x9, x9, #2 - - subs x3, x3, x9 - sbcs x3, x3, x11 - sbcs x4, x4, x12 - subs x3, x3, x13 - sbc x4, x4, x14 - stp x3, x4, [x2,#96] - - ldp x29, x30, [sp],#16 - ret -#endif -#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/linux-arm/crypto/chacha/chacha-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/chacha/chacha-armv4.S index aed7ca644b7..363aeee5f50 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/chacha/chacha-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/chacha/chacha-armv4.S @@ -1490,3 +1490,4 @@ ChaCha20_neon: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aes-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aes-armv4.S deleted file mode 100644 index b2966b4abdc..00000000000 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aes-armv4.S +++ /dev/null @@ -1,1221 +0,0 @@ -// This file is generated from a similarly-named Perl script in the BoringSSL -// source tree. Do not edit by hand. - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif - -#if !defined(OPENSSL_NO_ASM) -#if defined(__arm__) -#if defined(BORINGSSL_PREFIX) -#include -#endif -@ Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. -@ -@ Licensed under the OpenSSL license (the "License"). You may not use -@ this file except in compliance with the License. You can obtain a copy -@ in the file LICENSE in the source distribution or at -@ https://www.openssl.org/source/license.html - - -@ ==================================================================== -@ Written by Andy Polyakov for the OpenSSL -@ project. The module is, however, dual licensed under OpenSSL and -@ CRYPTOGAMS licenses depending on where you obtain it. For further -@ details see http://www.openssl.org/~appro/cryptogams/. -@ ==================================================================== - -@ AES for ARMv4 - -@ January 2007. -@ -@ Code uses single 1K S-box and is >2 times faster than code generated -@ by gcc-3.4.1. This is thanks to unique feature of ARMv4 ISA, which -@ allows to merge logical or arithmetic operation with shift or rotate -@ in one instruction and emit combined result every cycle. The module -@ is endian-neutral. The performance is ~42 cycles/byte for 128-bit -@ key [on single-issue Xscale PXA250 core]. - -@ May 2007. -@ -@ AES_set_[en|de]crypt_key is added. - -@ July 2010. -@ -@ Rescheduling for dual-issue pipeline resulted in 12% improvement on -@ Cortex A8 core and ~25 cycles per byte processed with 128-bit key. - -@ February 2011. -@ -@ Profiler-assisted and platform-specific optimization resulted in 16% -@ improvement on Cortex A8 core and ~21.5 cycles per byte. - -#ifndef __KERNEL__ -# include -#else -# define __ARM_ARCH__ __LINUX_ARM_ARCH__ -#endif - -@ Silence ARMv8 deprecated IT instruction warnings. This file is used by both -@ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. (ARMv8 AES -@ instructions are in aesv8-armx.pl.) -.arch armv7-a - -.text -#if defined(__thumb2__) && !defined(__APPLE__) -.syntax unified -.thumb -#else -.code 32 -#undef __thumb2__ -#endif - -.type AES_Te,%object -.align 5 -AES_Te: -.word 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d -.word 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554 -.word 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d -.word 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a -.word 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87 -.word 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b -.word 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea -.word 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b -.word 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a -.word 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f -.word 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108 -.word 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f -.word 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e -.word 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5 -.word 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d -.word 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f -.word 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e -.word 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb -.word 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce -.word 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497 -.word 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c -.word 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed -.word 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b -.word 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a -.word 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16 -.word 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594 -.word 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81 -.word 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3 -.word 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a -.word 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504 -.word 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163 -.word 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d -.word 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f -.word 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739 -.word 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47 -.word 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395 -.word 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f -.word 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883 -.word 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c -.word 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76 -.word 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e -.word 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4 -.word 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6 -.word 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b -.word 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7 -.word 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0 -.word 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25 -.word 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818 -.word 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72 -.word 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651 -.word 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21 -.word 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85 -.word 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa -.word 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12 -.word 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0 -.word 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9 -.word 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133 -.word 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7 -.word 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920 -.word 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a -.word 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17 -.word 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8 -.word 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11 -.word 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a -@ Te4[256] -.byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 -.byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76 -.byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0 -.byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0 -.byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc -.byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15 -.byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a -.byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75 -.byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0 -.byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84 -.byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b -.byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf -.byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85 -.byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8 -.byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5 -.byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2 -.byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17 -.byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73 -.byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88 -.byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb -.byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c -.byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79 -.byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9 -.byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08 -.byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6 -.byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a -.byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e -.byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e -.byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94 -.byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf -.byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 -.byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 -@ rcon[] -.word 0x01000000, 0x02000000, 0x04000000, 0x08000000 -.word 0x10000000, 0x20000000, 0x40000000, 0x80000000 -.word 0x1B000000, 0x36000000, 0, 0, 0, 0, 0, 0 -.size AES_Te,.-AES_Te - -@ void aes_nohw_encrypt(const unsigned char *in, unsigned char *out, -@ const AES_KEY *key) { -.globl aes_nohw_encrypt -.hidden aes_nohw_encrypt -.type aes_nohw_encrypt,%function -.align 5 -aes_nohw_encrypt: -#ifndef __thumb2__ - sub r3,pc,#8 @ aes_nohw_encrypt -#else - adr r3,. -#endif - stmdb sp!,{r1,r4-r12,lr} -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Te -#else - sub r10,r3,#aes_nohw_encrypt-AES_Te @ Te -#endif - mov r12,r0 @ inp - mov r11,r2 -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - orr r3,r3,r5,lsl#16 - orr r3,r3,r6,lsl#24 -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif -#endif - bl _armv4_AES_encrypt - - ldr r12,[sp],#4 @ pop out -#if __ARM_ARCH__>=7 -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r12,#0] - str r1,[r12,#4] - str r2,[r12,#8] - str r3,[r12,#12] -#else - mov r4,r0,lsr#24 @ write output in endian-neutral - mov r5,r0,lsr#16 @ manner... - mov r6,r0,lsr#8 - strb r4,[r12,#0] - strb r5,[r12,#1] - mov r4,r1,lsr#24 - strb r6,[r12,#2] - mov r5,r1,lsr#16 - strb r0,[r12,#3] - mov r6,r1,lsr#8 - strb r4,[r12,#4] - strb r5,[r12,#5] - mov r4,r2,lsr#24 - strb r6,[r12,#6] - mov r5,r2,lsr#16 - strb r1,[r12,#7] - mov r6,r2,lsr#8 - strb r4,[r12,#8] - strb r5,[r12,#9] - mov r4,r3,lsr#24 - strb r6,[r12,#10] - mov r5,r3,lsr#16 - strb r2,[r12,#11] - mov r6,r3,lsr#8 - strb r4,[r12,#12] - strb r5,[r12,#13] - strb r6,[r12,#14] - strb r3,[r12,#15] -#endif -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size aes_nohw_encrypt,.-aes_nohw_encrypt - -.type _armv4_AES_encrypt,%function -.align 2 -_armv4_AES_encrypt: - str lr,[sp,#-4]! @ push lr - ldmia r11!,{r4,r5,r6,r7} - eor r0,r0,r4 - ldr r12,[r11,#240-16] - eor r1,r1,r5 - eor r2,r2,r6 - eor r3,r3,r7 - sub r12,r12,#1 - mov lr,#255 - - and r7,lr,r0 - and r8,lr,r0,lsr#8 - and r9,lr,r0,lsr#16 - mov r0,r0,lsr#24 -.Lenc_loop: - ldr r4,[r10,r7,lsl#2] @ Te3[s0>>0] - and r7,lr,r1,lsr#16 @ i0 - ldr r5,[r10,r8,lsl#2] @ Te2[s0>>8] - and r8,lr,r1 - ldr r6,[r10,r9,lsl#2] @ Te1[s0>>16] - and r9,lr,r1,lsr#8 - ldr r0,[r10,r0,lsl#2] @ Te0[s0>>24] - mov r1,r1,lsr#24 - - ldr r7,[r10,r7,lsl#2] @ Te1[s1>>16] - ldr r8,[r10,r8,lsl#2] @ Te3[s1>>0] - ldr r9,[r10,r9,lsl#2] @ Te2[s1>>8] - eor r0,r0,r7,ror#8 - ldr r1,[r10,r1,lsl#2] @ Te0[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r5,r8,ror#8 - and r8,lr,r2,lsr#16 @ i1 - eor r6,r6,r9,ror#8 - and r9,lr,r2 - ldr r7,[r10,r7,lsl#2] @ Te2[s2>>8] - eor r1,r1,r4,ror#24 - ldr r8,[r10,r8,lsl#2] @ Te1[s2>>16] - mov r2,r2,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Te3[s2>>0] - eor r0,r0,r7,ror#16 - ldr r2,[r10,r2,lsl#2] @ Te0[s2>>24] - and r7,lr,r3 @ i0 - eor r1,r1,r8,ror#8 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r6,r9,ror#16 - and r9,lr,r3,lsr#16 @ i2 - ldr r7,[r10,r7,lsl#2] @ Te3[s3>>0] - eor r2,r2,r5,ror#16 - ldr r8,[r10,r8,lsl#2] @ Te2[s3>>8] - mov r3,r3,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Te1[s3>>16] - eor r0,r0,r7,ror#24 - ldr r7,[r11],#16 - eor r1,r1,r8,ror#16 - ldr r3,[r10,r3,lsl#2] @ Te0[s3>>24] - eor r2,r2,r9,ror#8 - ldr r4,[r11,#-12] - eor r3,r3,r6,ror#8 - - ldr r5,[r11,#-8] - eor r0,r0,r7 - ldr r6,[r11,#-4] - and r7,lr,r0 - eor r1,r1,r4 - and r8,lr,r0,lsr#8 - eor r2,r2,r5 - and r9,lr,r0,lsr#16 - eor r3,r3,r6 - mov r0,r0,lsr#24 - - subs r12,r12,#1 - bne .Lenc_loop - - add r10,r10,#2 - - ldrb r4,[r10,r7,lsl#2] @ Te4[s0>>0] - and r7,lr,r1,lsr#16 @ i0 - ldrb r5,[r10,r8,lsl#2] @ Te4[s0>>8] - and r8,lr,r1 - ldrb r6,[r10,r9,lsl#2] @ Te4[s0>>16] - and r9,lr,r1,lsr#8 - ldrb r0,[r10,r0,lsl#2] @ Te4[s0>>24] - mov r1,r1,lsr#24 - - ldrb r7,[r10,r7,lsl#2] @ Te4[s1>>16] - ldrb r8,[r10,r8,lsl#2] @ Te4[s1>>0] - ldrb r9,[r10,r9,lsl#2] @ Te4[s1>>8] - eor r0,r7,r0,lsl#8 - ldrb r1,[r10,r1,lsl#2] @ Te4[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r8,r5,lsl#8 - and r8,lr,r2,lsr#16 @ i1 - eor r6,r9,r6,lsl#8 - and r9,lr,r2 - ldrb r7,[r10,r7,lsl#2] @ Te4[s2>>8] - eor r1,r4,r1,lsl#24 - ldrb r8,[r10,r8,lsl#2] @ Te4[s2>>16] - mov r2,r2,lsr#24 - - ldrb r9,[r10,r9,lsl#2] @ Te4[s2>>0] - eor r0,r7,r0,lsl#8 - ldrb r2,[r10,r2,lsl#2] @ Te4[s2>>24] - and r7,lr,r3 @ i0 - eor r1,r1,r8,lsl#16 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r9,r6,lsl#8 - and r9,lr,r3,lsr#16 @ i2 - ldrb r7,[r10,r7,lsl#2] @ Te4[s3>>0] - eor r2,r5,r2,lsl#24 - ldrb r8,[r10,r8,lsl#2] @ Te4[s3>>8] - mov r3,r3,lsr#24 - - ldrb r9,[r10,r9,lsl#2] @ Te4[s3>>16] - eor r0,r7,r0,lsl#8 - ldr r7,[r11,#0] - ldrb r3,[r10,r3,lsl#2] @ Te4[s3>>24] - eor r1,r1,r8,lsl#8 - ldr r4,[r11,#4] - eor r2,r2,r9,lsl#16 - ldr r5,[r11,#8] - eor r3,r6,r3,lsl#24 - ldr r6,[r11,#12] - - eor r0,r0,r7 - eor r1,r1,r4 - eor r2,r2,r5 - eor r3,r3,r6 - - sub r10,r10,#2 - ldr pc,[sp],#4 @ pop and return -.size _armv4_AES_encrypt,.-_armv4_AES_encrypt - -.globl aes_nohw_set_encrypt_key -.hidden aes_nohw_set_encrypt_key -.type aes_nohw_set_encrypt_key,%function -.align 5 -aes_nohw_set_encrypt_key: -_armv4_AES_set_encrypt_key: -#ifndef __thumb2__ - sub r3,pc,#8 @ aes_nohw_set_encrypt_key -#else - adr r3,. -#endif - teq r0,#0 -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - moveq r0,#-1 - beq .Labrt - teq r2,#0 -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - moveq r0,#-1 - beq .Labrt - - teq r1,#128 - beq .Lok - teq r1,#192 - beq .Lok - teq r1,#256 -#ifdef __thumb2__ - itt ne @ Thumb2 thing, sanity check in ARM -#endif - movne r0,#-1 - bne .Labrt - -.Lok: stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - mov r12,r0 @ inp - mov lr,r1 @ bits - mov r11,r2 @ key - -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Te+1024 @ Te4 -#else - sub r10,r3,#_armv4_AES_set_encrypt_key-AES_Te-1024 @ Te4 -#endif - -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - str r0,[r11],#16 - orr r3,r3,r5,lsl#16 - str r1,[r11,#-12] - orr r3,r3,r6,lsl#24 - str r2,[r11,#-8] - str r3,[r11,#-4] -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r11],#16 - str r1,[r11,#-12] - str r2,[r11,#-8] - str r3,[r11,#-4] -#endif - - teq lr,#128 - bne .Lnot128 - mov r12,#10 - str r12,[r11,#240-16] - add r6,r10,#256 @ rcon - mov lr,#255 - -.L128_loop: - and r5,lr,r3,lsr#24 - and r7,lr,r3,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r3,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r3 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r5,r5,r4 - eor r0,r0,r5 @ rk[4]=rk[0]^... - eor r1,r1,r0 @ rk[5]=rk[1]^rk[4] - str r0,[r11],#16 - eor r2,r2,r1 @ rk[6]=rk[2]^rk[5] - str r1,[r11,#-12] - eor r3,r3,r2 @ rk[7]=rk[3]^rk[6] - str r2,[r11,#-8] - subs r12,r12,#1 - str r3,[r11,#-4] - bne .L128_loop - sub r2,r11,#176 - b .Ldone - -.Lnot128: -#if __ARM_ARCH__<7 - ldrb r8,[r12,#19] - ldrb r4,[r12,#18] - ldrb r5,[r12,#17] - ldrb r6,[r12,#16] - orr r8,r8,r4,lsl#8 - ldrb r9,[r12,#23] - orr r8,r8,r5,lsl#16 - ldrb r4,[r12,#22] - orr r8,r8,r6,lsl#24 - ldrb r5,[r12,#21] - ldrb r6,[r12,#20] - orr r9,r9,r4,lsl#8 - orr r9,r9,r5,lsl#16 - str r8,[r11],#8 - orr r9,r9,r6,lsl#24 - str r9,[r11,#-4] -#else - ldr r8,[r12,#16] - ldr r9,[r12,#20] -#ifdef __ARMEL__ - rev r8,r8 - rev r9,r9 -#endif - str r8,[r11],#8 - str r9,[r11,#-4] -#endif - - teq lr,#192 - bne .Lnot192 - mov r12,#12 - str r12,[r11,#240-24] - add r6,r10,#256 @ rcon - mov lr,#255 - mov r12,#8 - -.L192_loop: - and r5,lr,r9,lsr#24 - and r7,lr,r9,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r9,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r9 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r9,r5,r4 - eor r0,r0,r9 @ rk[6]=rk[0]^... - eor r1,r1,r0 @ rk[7]=rk[1]^rk[6] - str r0,[r11],#24 - eor r2,r2,r1 @ rk[8]=rk[2]^rk[7] - str r1,[r11,#-20] - eor r3,r3,r2 @ rk[9]=rk[3]^rk[8] - str r2,[r11,#-16] - subs r12,r12,#1 - str r3,[r11,#-12] -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - subeq r2,r11,#216 - beq .Ldone - - ldr r7,[r11,#-32] - ldr r8,[r11,#-28] - eor r7,r7,r3 @ rk[10]=rk[4]^rk[9] - eor r9,r8,r7 @ rk[11]=rk[5]^rk[10] - str r7,[r11,#-8] - str r9,[r11,#-4] - b .L192_loop - -.Lnot192: -#if __ARM_ARCH__<7 - ldrb r8,[r12,#27] - ldrb r4,[r12,#26] - ldrb r5,[r12,#25] - ldrb r6,[r12,#24] - orr r8,r8,r4,lsl#8 - ldrb r9,[r12,#31] - orr r8,r8,r5,lsl#16 - ldrb r4,[r12,#30] - orr r8,r8,r6,lsl#24 - ldrb r5,[r12,#29] - ldrb r6,[r12,#28] - orr r9,r9,r4,lsl#8 - orr r9,r9,r5,lsl#16 - str r8,[r11],#8 - orr r9,r9,r6,lsl#24 - str r9,[r11,#-4] -#else - ldr r8,[r12,#24] - ldr r9,[r12,#28] -#ifdef __ARMEL__ - rev r8,r8 - rev r9,r9 -#endif - str r8,[r11],#8 - str r9,[r11,#-4] -#endif - - mov r12,#14 - str r12,[r11,#240-32] - add r6,r10,#256 @ rcon - mov lr,#255 - mov r12,#7 - -.L256_loop: - and r5,lr,r9,lsr#24 - and r7,lr,r9,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r9,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r9 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r9,r5,r4 - eor r0,r0,r9 @ rk[8]=rk[0]^... - eor r1,r1,r0 @ rk[9]=rk[1]^rk[8] - str r0,[r11],#32 - eor r2,r2,r1 @ rk[10]=rk[2]^rk[9] - str r1,[r11,#-28] - eor r3,r3,r2 @ rk[11]=rk[3]^rk[10] - str r2,[r11,#-24] - subs r12,r12,#1 - str r3,[r11,#-20] -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - subeq r2,r11,#256 - beq .Ldone - - and r5,lr,r3 - and r7,lr,r3,lsr#8 - ldrb r5,[r10,r5] - and r8,lr,r3,lsr#16 - ldrb r7,[r10,r7] - and r9,lr,r3,lsr#24 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#8 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r11,#-48] - orr r5,r5,r9,lsl#24 - - ldr r7,[r11,#-44] - ldr r8,[r11,#-40] - eor r4,r4,r5 @ rk[12]=rk[4]^... - ldr r9,[r11,#-36] - eor r7,r7,r4 @ rk[13]=rk[5]^rk[12] - str r4,[r11,#-16] - eor r8,r8,r7 @ rk[14]=rk[6]^rk[13] - str r7,[r11,#-12] - eor r9,r9,r8 @ rk[15]=rk[7]^rk[14] - str r8,[r11,#-8] - str r9,[r11,#-4] - b .L256_loop - -.align 2 -.Ldone: mov r0,#0 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} -.Labrt: -#if __ARM_ARCH__>=5 - bx lr @ .word 0xe12fff1e -#else - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size aes_nohw_set_encrypt_key,.-aes_nohw_set_encrypt_key - -.globl aes_nohw_set_decrypt_key -.hidden aes_nohw_set_decrypt_key -.type aes_nohw_set_decrypt_key,%function -.align 5 -aes_nohw_set_decrypt_key: - str lr,[sp,#-4]! @ push lr - bl _armv4_AES_set_encrypt_key - teq r0,#0 - ldr lr,[sp],#4 @ pop lr - bne .Labrt - - mov r0,r2 @ aes_nohw_set_encrypt_key preserves r2, - mov r1,r2 @ which is AES_KEY *key - b _armv4_AES_set_enc2dec_key -.size aes_nohw_set_decrypt_key,.-aes_nohw_set_decrypt_key - -@ void AES_set_enc2dec_key(const AES_KEY *inp,AES_KEY *out) -.globl AES_set_enc2dec_key -.hidden AES_set_enc2dec_key -.type AES_set_enc2dec_key,%function -.align 5 -AES_set_enc2dec_key: -_armv4_AES_set_enc2dec_key: - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - - ldr r12,[r0,#240] - mov r7,r0 @ input - add r8,r0,r12,lsl#4 - mov r11,r1 @ output - add r10,r1,r12,lsl#4 - str r12,[r1,#240] - -.Linv: ldr r0,[r7],#16 - ldr r1,[r7,#-12] - ldr r2,[r7,#-8] - ldr r3,[r7,#-4] - ldr r4,[r8],#-16 - ldr r5,[r8,#16+4] - ldr r6,[r8,#16+8] - ldr r9,[r8,#16+12] - str r0,[r10],#-16 - str r1,[r10,#16+4] - str r2,[r10,#16+8] - str r3,[r10,#16+12] - str r4,[r11],#16 - str r5,[r11,#-12] - str r6,[r11,#-8] - str r9,[r11,#-4] - teq r7,r8 - bne .Linv - - ldr r0,[r7] - ldr r1,[r7,#4] - ldr r2,[r7,#8] - ldr r3,[r7,#12] - str r0,[r11] - str r1,[r11,#4] - str r2,[r11,#8] - str r3,[r11,#12] - sub r11,r11,r12,lsl#3 - ldr r0,[r11,#16]! @ prefetch tp1 - mov r7,#0x80 - mov r8,#0x1b - orr r7,r7,#0x8000 - orr r8,r8,#0x1b00 - orr r7,r7,r7,lsl#16 - orr r8,r8,r8,lsl#16 - sub r12,r12,#1 - mvn r9,r7 - mov r12,r12,lsl#2 @ (rounds-1)*4 - -.Lmix: and r4,r0,r7 - and r1,r0,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r1,r4,r1,lsl#1 @ tp2 - - and r4,r1,r7 - and r2,r1,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r2,r4,r2,lsl#1 @ tp4 - - and r4,r2,r7 - and r3,r2,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r3,r4,r3,lsl#1 @ tp8 - - eor r4,r1,r2 - eor r5,r0,r3 @ tp9 - eor r4,r4,r3 @ tpe - eor r4,r4,r1,ror#24 - eor r4,r4,r5,ror#24 @ ^= ROTATE(tpb=tp9^tp2,8) - eor r4,r4,r2,ror#16 - eor r4,r4,r5,ror#16 @ ^= ROTATE(tpd=tp9^tp4,16) - eor r4,r4,r5,ror#8 @ ^= ROTATE(tp9,24) - - ldr r0,[r11,#4] @ prefetch tp1 - str r4,[r11],#4 - subs r12,r12,#1 - bne .Lmix - - mov r0,#0 -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size AES_set_enc2dec_key,.-AES_set_enc2dec_key - -.type AES_Td,%object -.align 5 -AES_Td: -.word 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96 -.word 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393 -.word 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25 -.word 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f -.word 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1 -.word 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6 -.word 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da -.word 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844 -.word 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd -.word 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4 -.word 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45 -.word 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94 -.word 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7 -.word 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a -.word 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5 -.word 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c -.word 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1 -.word 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a -.word 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75 -.word 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051 -.word 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46 -.word 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff -.word 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77 -.word 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb -.word 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000 -.word 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e -.word 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927 -.word 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a -.word 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e -.word 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16 -.word 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d -.word 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8 -.word 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd -.word 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34 -.word 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163 -.word 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120 -.word 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d -.word 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0 -.word 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422 -.word 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef -.word 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36 -.word 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4 -.word 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662 -.word 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5 -.word 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3 -.word 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b -.word 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8 -.word 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6 -.word 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6 -.word 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0 -.word 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815 -.word 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f -.word 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df -.word 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f -.word 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e -.word 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713 -.word 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89 -.word 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c -.word 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf -.word 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86 -.word 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f -.word 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541 -.word 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190 -.word 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742 -@ Td4[256] -.byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 -.byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb -.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87 -.byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb -.byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d -.byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e -.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2 -.byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25 -.byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16 -.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92 -.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda -.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84 -.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a -.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06 -.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02 -.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b -.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea -.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73 -.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85 -.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e -.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89 -.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b -.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20 -.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4 -.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31 -.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f -.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d -.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef -.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0 -.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 -.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 -.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d -.size AES_Td,.-AES_Td - -@ void aes_nohw_decrypt(const unsigned char *in, unsigned char *out, -@ const AES_KEY *key) { -.globl aes_nohw_decrypt -.hidden aes_nohw_decrypt -.type aes_nohw_decrypt,%function -.align 5 -aes_nohw_decrypt: -#ifndef __thumb2__ - sub r3,pc,#8 @ aes_nohw_decrypt -#else - adr r3,. -#endif - stmdb sp!,{r1,r4-r12,lr} -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Td -#else - sub r10,r3,#aes_nohw_decrypt-AES_Td @ Td -#endif - mov r12,r0 @ inp - mov r11,r2 -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - orr r3,r3,r5,lsl#16 - orr r3,r3,r6,lsl#24 -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif -#endif - bl _armv4_AES_decrypt - - ldr r12,[sp],#4 @ pop out -#if __ARM_ARCH__>=7 -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r12,#0] - str r1,[r12,#4] - str r2,[r12,#8] - str r3,[r12,#12] -#else - mov r4,r0,lsr#24 @ write output in endian-neutral - mov r5,r0,lsr#16 @ manner... - mov r6,r0,lsr#8 - strb r4,[r12,#0] - strb r5,[r12,#1] - mov r4,r1,lsr#24 - strb r6,[r12,#2] - mov r5,r1,lsr#16 - strb r0,[r12,#3] - mov r6,r1,lsr#8 - strb r4,[r12,#4] - strb r5,[r12,#5] - mov r4,r2,lsr#24 - strb r6,[r12,#6] - mov r5,r2,lsr#16 - strb r1,[r12,#7] - mov r6,r2,lsr#8 - strb r4,[r12,#8] - strb r5,[r12,#9] - mov r4,r3,lsr#24 - strb r6,[r12,#10] - mov r5,r3,lsr#16 - strb r2,[r12,#11] - mov r6,r3,lsr#8 - strb r4,[r12,#12] - strb r5,[r12,#13] - strb r6,[r12,#14] - strb r3,[r12,#15] -#endif -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size aes_nohw_decrypt,.-aes_nohw_decrypt - -.type _armv4_AES_decrypt,%function -.align 2 -_armv4_AES_decrypt: - str lr,[sp,#-4]! @ push lr - ldmia r11!,{r4,r5,r6,r7} - eor r0,r0,r4 - ldr r12,[r11,#240-16] - eor r1,r1,r5 - eor r2,r2,r6 - eor r3,r3,r7 - sub r12,r12,#1 - mov lr,#255 - - and r7,lr,r0,lsr#16 - and r8,lr,r0,lsr#8 - and r9,lr,r0 - mov r0,r0,lsr#24 -.Ldec_loop: - ldr r4,[r10,r7,lsl#2] @ Td1[s0>>16] - and r7,lr,r1 @ i0 - ldr r5,[r10,r8,lsl#2] @ Td2[s0>>8] - and r8,lr,r1,lsr#16 - ldr r6,[r10,r9,lsl#2] @ Td3[s0>>0] - and r9,lr,r1,lsr#8 - ldr r0,[r10,r0,lsl#2] @ Td0[s0>>24] - mov r1,r1,lsr#24 - - ldr r7,[r10,r7,lsl#2] @ Td3[s1>>0] - ldr r8,[r10,r8,lsl#2] @ Td1[s1>>16] - ldr r9,[r10,r9,lsl#2] @ Td2[s1>>8] - eor r0,r0,r7,ror#24 - ldr r1,[r10,r1,lsl#2] @ Td0[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r8,r5,ror#8 - and r8,lr,r2 @ i1 - eor r6,r9,r6,ror#8 - and r9,lr,r2,lsr#16 - ldr r7,[r10,r7,lsl#2] @ Td2[s2>>8] - eor r1,r1,r4,ror#8 - ldr r8,[r10,r8,lsl#2] @ Td3[s2>>0] - mov r2,r2,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Td1[s2>>16] - eor r0,r0,r7,ror#16 - ldr r2,[r10,r2,lsl#2] @ Td0[s2>>24] - and r7,lr,r3,lsr#16 @ i0 - eor r1,r1,r8,ror#24 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r9,r6,ror#8 - and r9,lr,r3 @ i2 - ldr r7,[r10,r7,lsl#2] @ Td1[s3>>16] - eor r2,r2,r5,ror#8 - ldr r8,[r10,r8,lsl#2] @ Td2[s3>>8] - mov r3,r3,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Td3[s3>>0] - eor r0,r0,r7,ror#8 - ldr r7,[r11],#16 - eor r1,r1,r8,ror#16 - ldr r3,[r10,r3,lsl#2] @ Td0[s3>>24] - eor r2,r2,r9,ror#24 - - ldr r4,[r11,#-12] - eor r0,r0,r7 - ldr r5,[r11,#-8] - eor r3,r3,r6,ror#8 - ldr r6,[r11,#-4] - and r7,lr,r0,lsr#16 - eor r1,r1,r4 - and r8,lr,r0,lsr#8 - eor r2,r2,r5 - and r9,lr,r0 - eor r3,r3,r6 - mov r0,r0,lsr#24 - - subs r12,r12,#1 - bne .Ldec_loop - - add r10,r10,#1024 - - ldr r5,[r10,#0] @ prefetch Td4 - ldr r6,[r10,#32] - ldr r4,[r10,#64] - ldr r5,[r10,#96] - ldr r6,[r10,#128] - ldr r4,[r10,#160] - ldr r5,[r10,#192] - ldr r6,[r10,#224] - - ldrb r0,[r10,r0] @ Td4[s0>>24] - ldrb r4,[r10,r7] @ Td4[s0>>16] - and r7,lr,r1 @ i0 - ldrb r5,[r10,r8] @ Td4[s0>>8] - and r8,lr,r1,lsr#16 - ldrb r6,[r10,r9] @ Td4[s0>>0] - and r9,lr,r1,lsr#8 - - add r1,r10,r1,lsr#24 - ldrb r7,[r10,r7] @ Td4[s1>>0] - ldrb r1,[r1] @ Td4[s1>>24] - ldrb r8,[r10,r8] @ Td4[s1>>16] - eor r0,r7,r0,lsl#24 - ldrb r9,[r10,r9] @ Td4[s1>>8] - eor r1,r4,r1,lsl#8 - and r7,lr,r2,lsr#8 @ i0 - eor r5,r5,r8,lsl#8 - and r8,lr,r2 @ i1 - ldrb r7,[r10,r7] @ Td4[s2>>8] - eor r6,r6,r9,lsl#8 - ldrb r8,[r10,r8] @ Td4[s2>>0] - and r9,lr,r2,lsr#16 - - add r2,r10,r2,lsr#24 - ldrb r2,[r2] @ Td4[s2>>24] - eor r0,r0,r7,lsl#8 - ldrb r9,[r10,r9] @ Td4[s2>>16] - eor r1,r8,r1,lsl#16 - and r7,lr,r3,lsr#16 @ i0 - eor r2,r5,r2,lsl#16 - and r8,lr,r3,lsr#8 @ i1 - ldrb r7,[r10,r7] @ Td4[s3>>16] - eor r6,r6,r9,lsl#16 - ldrb r8,[r10,r8] @ Td4[s3>>8] - and r9,lr,r3 @ i2 - - add r3,r10,r3,lsr#24 - ldrb r9,[r10,r9] @ Td4[s3>>0] - ldrb r3,[r3] @ Td4[s3>>24] - eor r0,r0,r7,lsl#16 - ldr r7,[r11,#0] - eor r1,r1,r8,lsl#8 - ldr r4,[r11,#4] - eor r2,r9,r2,lsl#8 - ldr r5,[r11,#8] - eor r3,r6,r3,lsl#24 - ldr r6,[r11,#12] - - eor r0,r0,r7 - eor r1,r1,r4 - eor r2,r2,r5 - eor r3,r3,r6 - - sub r10,r10,#1024 - ldr pc,[sp],#4 @ pop and return -.size _armv4_AES_decrypt,.-_armv4_AES_decrypt -.byte 65,69,83,32,102,111,114,32,65,82,77,118,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 2 -.align 2 -#endif -#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aesv8-armx32.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aesv8-armx32.S index 3a2d2e43e09..5d6e22d029d 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aesv8-armx32.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aesv8-armx32.S @@ -778,3 +778,4 @@ aes_hw_ctr32_encrypt_blocks: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/armv4-mont.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/armv4-mont.S index 12ebe40c779..029689475b1 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/armv4-mont.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/armv4-mont.S @@ -974,3 +974,4 @@ bn_mul8x_mont_neon: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/bsaes-armv7.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/bsaes-armv7.S index f6cec3dbd69..69a8fcacd0a 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/bsaes-armv7.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/bsaes-armv7.S @@ -1526,3 +1526,4 @@ bsaes_ctr32_encrypt_blocks: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghash-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghash-armv4.S index a0fa53c6c41..0532695a625 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghash-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghash-armv4.S @@ -31,342 +31,6 @@ #else .code 32 #endif - -.type rem_4bit,%object -.align 5 -rem_4bit: -.short 0x0000,0x1C20,0x3840,0x2460 -.short 0x7080,0x6CA0,0x48C0,0x54E0 -.short 0xE100,0xFD20,0xD940,0xC560 -.short 0x9180,0x8DA0,0xA9C0,0xB5E0 -.size rem_4bit,.-rem_4bit - -.type rem_4bit_get,%function -rem_4bit_get: -#if defined(__thumb2__) - adr r2,rem_4bit -#else - sub r2,pc,#8+32 @ &rem_4bit -#endif - b .Lrem_4bit_got - nop - nop -.size rem_4bit_get,.-rem_4bit_get - -.globl gcm_ghash_4bit -.hidden gcm_ghash_4bit -.type gcm_ghash_4bit,%function -.align 4 -gcm_ghash_4bit: -#if defined(__thumb2__) - adr r12,rem_4bit -#else - sub r12,pc,#8+48 @ &rem_4bit -#endif - add r3,r2,r3 @ r3 to point at the end - stmdb sp!,{r3,r4,r5,r6,r7,r8,r9,r10,r11,lr} @ save r3/end too - - ldmia r12,{r4,r5,r6,r7,r8,r9,r10,r11} @ copy rem_4bit ... - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11} @ ... to stack - - ldrb r12,[r2,#15] - ldrb r14,[r0,#15] -.Louter: - eor r12,r12,r14 - and r14,r12,#0xf0 - and r12,r12,#0x0f - mov r3,#14 - - add r7,r1,r12,lsl#4 - ldmia r7,{r4,r5,r6,r7} @ load Htbl[nlo] - add r11,r1,r14 - ldrb r12,[r2,#14] - - and r14,r4,#0xf @ rem - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - add r14,r14,r14 - eor r4,r8,r4,lsr#4 - ldrh r8,[sp,r14] @ rem_4bit[rem] - eor r4,r4,r5,lsl#28 - ldrb r14,[r0,#14] - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - eor r12,r12,r14 - and r14,r12,#0xf0 - and r12,r12,#0x0f - eor r7,r7,r8,lsl#16 - -.Linner: - add r11,r1,r12,lsl#4 - and r12,r4,#0xf @ rem - subs r3,r3,#1 - add r12,r12,r12 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nlo] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - ldrh r8,[sp,r12] @ rem_4bit[rem] - eor r6,r10,r6,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r12,[r2,r3] - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - - add r11,r1,r14 - and r14,r4,#0xf @ rem - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - add r14,r14,r14 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - eor r4,r8,r4,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r8,[r0,r3] - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - ldrh r9,[sp,r14] - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 -#ifdef __thumb2__ - it pl -#endif - eorpl r12,r12,r8 - eor r7,r11,r7,lsr#4 -#ifdef __thumb2__ - itt pl -#endif - andpl r14,r12,#0xf0 - andpl r12,r12,#0x0f - eor r7,r7,r9,lsl#16 @ ^= rem_4bit[rem] - bpl .Linner - - ldr r3,[sp,#32] @ re-load r3/end - add r2,r2,#16 - mov r14,r4 -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r4,r4 - str r4,[r0,#12] -#elif defined(__ARMEB__) - str r4,[r0,#12] -#else - mov r9,r4,lsr#8 - strb r4,[r0,#12+3] - mov r10,r4,lsr#16 - strb r9,[r0,#12+2] - mov r11,r4,lsr#24 - strb r10,[r0,#12+1] - strb r11,[r0,#12] -#endif - cmp r2,r3 -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r5,r5 - str r5,[r0,#8] -#elif defined(__ARMEB__) - str r5,[r0,#8] -#else - mov r9,r5,lsr#8 - strb r5,[r0,#8+3] - mov r10,r5,lsr#16 - strb r9,[r0,#8+2] - mov r11,r5,lsr#24 - strb r10,[r0,#8+1] - strb r11,[r0,#8] -#endif - -#ifdef __thumb2__ - it ne -#endif - ldrneb r12,[r2,#15] -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r6,r6 - str r6,[r0,#4] -#elif defined(__ARMEB__) - str r6,[r0,#4] -#else - mov r9,r6,lsr#8 - strb r6,[r0,#4+3] - mov r10,r6,lsr#16 - strb r9,[r0,#4+2] - mov r11,r6,lsr#24 - strb r10,[r0,#4+1] - strb r11,[r0,#4] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r7,r7 - str r7,[r0,#0] -#elif defined(__ARMEB__) - str r7,[r0,#0] -#else - mov r9,r7,lsr#8 - strb r7,[r0,#0+3] - mov r10,r7,lsr#16 - strb r9,[r0,#0+2] - mov r11,r7,lsr#24 - strb r10,[r0,#0+1] - strb r11,[r0,#0] -#endif - - bne .Louter - - add sp,sp,#36 -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size gcm_ghash_4bit,.-gcm_ghash_4bit - -.globl gcm_gmult_4bit -.hidden gcm_gmult_4bit -.type gcm_gmult_4bit,%function -gcm_gmult_4bit: - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - ldrb r12,[r0,#15] - b rem_4bit_get -.Lrem_4bit_got: - and r14,r12,#0xf0 - and r12,r12,#0x0f - mov r3,#14 - - add r7,r1,r12,lsl#4 - ldmia r7,{r4,r5,r6,r7} @ load Htbl[nlo] - ldrb r12,[r0,#14] - - add r11,r1,r14 - and r14,r4,#0xf @ rem - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - add r14,r14,r14 - eor r4,r8,r4,lsr#4 - ldrh r8,[r2,r14] @ rem_4bit[rem] - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - and r14,r12,#0xf0 - eor r7,r7,r8,lsl#16 - and r12,r12,#0x0f - -.Loop: - add r11,r1,r12,lsl#4 - and r12,r4,#0xf @ rem - subs r3,r3,#1 - add r12,r12,r12 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nlo] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - ldrh r8,[r2,r12] @ rem_4bit[rem] - eor r6,r10,r6,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r12,[r0,r3] - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - - add r11,r1,r14 - and r14,r4,#0xf @ rem - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - add r14,r14,r14 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - ldrh r8,[r2,r14] @ rem_4bit[rem] - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 -#ifdef __thumb2__ - itt pl -#endif - andpl r14,r12,#0xf0 - andpl r12,r12,#0x0f - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - bpl .Loop -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r4,r4 - str r4,[r0,#12] -#elif defined(__ARMEB__) - str r4,[r0,#12] -#else - mov r9,r4,lsr#8 - strb r4,[r0,#12+3] - mov r10,r4,lsr#16 - strb r9,[r0,#12+2] - mov r11,r4,lsr#24 - strb r10,[r0,#12+1] - strb r11,[r0,#12] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r5,r5 - str r5,[r0,#8] -#elif defined(__ARMEB__) - str r5,[r0,#8] -#else - mov r9,r5,lsr#8 - strb r5,[r0,#8+3] - mov r10,r5,lsr#16 - strb r9,[r0,#8+2] - mov r11,r5,lsr#24 - strb r10,[r0,#8+1] - strb r11,[r0,#8] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r6,r6 - str r6,[r0,#4] -#elif defined(__ARMEB__) - str r6,[r0,#4] -#else - mov r9,r6,lsr#8 - strb r6,[r0,#4+3] - mov r10,r6,lsr#16 - strb r9,[r0,#4+2] - mov r11,r6,lsr#24 - strb r10,[r0,#4+1] - strb r11,[r0,#4] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r7,r7 - str r7,[r0,#0] -#elif defined(__ARMEB__) - str r7,[r0,#0] -#else - mov r9,r7,lsr#8 - strb r7,[r0,#0+3] - mov r10,r7,lsr#16 - strb r9,[r0,#0+2] - mov r11,r7,lsr#24 - strb r10,[r0,#0+1] - strb r11,[r0,#0] -#endif - -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size gcm_gmult_4bit,.-gcm_gmult_4bit #if __ARM_MAX_ARCH__>=7 .arch armv7-a .fpu neon @@ -588,3 +252,4 @@ gcm_ghash_neon: .align 2 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghashv8-armx32.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghashv8-armx32.S index 65c9f22a989..d6842945f00 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghashv8-armx32.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghashv8-armx32.S @@ -250,3 +250,4 @@ gcm_ghash_v8: .align 2 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha1-armv4-large.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha1-armv4-large.S index 2b70a32515d..61deddf8e7d 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha1-armv4-large.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha1-armv4-large.S @@ -1508,3 +1508,4 @@ sha1_block_data_order_armv8: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha256-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha256-armv4.S index 1928075349e..aee04785c0a 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha256-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha256-armv4.S @@ -2836,3 +2836,4 @@ sha256_block_data_order_armv8: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha512-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha512-armv4.S index c44fcc6c778..a06d41fee56 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha512-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha512-armv4.S @@ -1891,3 +1891,4 @@ sha512_block_data_order_neon: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/vpaes-armv7.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/vpaes-armv7.S new file mode 100644 index 00000000000..e5ad6ed99b9 --- /dev/null +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/vpaes-armv7.S @@ -0,0 +1,1236 @@ +// This file is generated from a similarly-named Perl script in the BoringSSL +// source tree. Do not edit by hand. + +#if !defined(__has_feature) +#define __has_feature(x) 0 +#endif +#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) +#define OPENSSL_NO_ASM +#endif + +#if !defined(OPENSSL_NO_ASM) +#if defined(__arm__) +#if defined(BORINGSSL_PREFIX) +#include +#endif +.syntax unified + +.arch armv7-a +.fpu neon + +#if defined(__thumb2__) +.thumb +#else +.code 32 +#endif + +.text + +.type _vpaes_consts,%object +.align 7 @ totally strategic alignment +_vpaes_consts: +.Lk_mc_forward:@ mc_forward +.quad 0x0407060500030201, 0x0C0F0E0D080B0A09 +.quad 0x080B0A0904070605, 0x000302010C0F0E0D +.quad 0x0C0F0E0D080B0A09, 0x0407060500030201 +.quad 0x000302010C0F0E0D, 0x080B0A0904070605 +.Lk_mc_backward:@ mc_backward +.quad 0x0605040702010003, 0x0E0D0C0F0A09080B +.quad 0x020100030E0D0C0F, 0x0A09080B06050407 +.quad 0x0E0D0C0F0A09080B, 0x0605040702010003 +.quad 0x0A09080B06050407, 0x020100030E0D0C0F +.Lk_sr:@ sr +.quad 0x0706050403020100, 0x0F0E0D0C0B0A0908 +.quad 0x030E09040F0A0500, 0x0B06010C07020D08 +.quad 0x0F060D040B020900, 0x070E050C030A0108 +.quad 0x0B0E0104070A0D00, 0x0306090C0F020508 + +@ +@ "Hot" constants +@ +.Lk_inv:@ inv, inva +.quad 0x0E05060F0D080180, 0x040703090A0B0C02 +.quad 0x01040A060F0B0780, 0x030D0E0C02050809 +.Lk_ipt:@ input transform (lo, hi) +.quad 0xC2B2E8985A2A7000, 0xCABAE09052227808 +.quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81 +.Lk_sbo:@ sbou, sbot +.quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878 +.quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA +.Lk_sb1:@ sb1u, sb1t +.quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF +.quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544 +.Lk_sb2:@ sb2u, sb2t +.quad 0x69EB88400AE12900, 0xC2A163C8AB82234A +.quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD + +.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,65,82,77,118,55,32,78,69,79,78,44,32,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0 +.align 2 +.size _vpaes_consts,.-_vpaes_consts +.align 6 +@@ +@@ _aes_preheat +@@ +@@ Fills q9-q15 as specified below. +@@ +.type _vpaes_preheat,%function +.align 4 +_vpaes_preheat: + adr r10, .Lk_inv + vmov.i8 q9, #0x0f @ .Lk_s0F + vld1.64 {q10,q11}, [r10]! @ .Lk_inv + add r10, r10, #64 @ Skip .Lk_ipt, .Lk_sbo + vld1.64 {q12,q13}, [r10]! @ .Lk_sb1 + vld1.64 {q14,q15}, [r10] @ .Lk_sb2 + bx lr + +@@ +@@ _aes_encrypt_core +@@ +@@ AES-encrypt q0. +@@ +@@ Inputs: +@@ q0 = input +@@ q9-q15 as in _vpaes_preheat +@@ [r2] = scheduled keys +@@ +@@ Output in q0 +@@ Clobbers q1-q5, r8-r11 +@@ Preserves q6-q8 so you get some local vectors +@@ +@@ +.type _vpaes_encrypt_core,%function +.align 4 +_vpaes_encrypt_core: + mov r9, r2 + ldr r8, [r2,#240] @ pull rounds + adr r11, .Lk_ipt + @ vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo + @ vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi + vld1.64 {q2, q3}, [r11] + adr r11, .Lk_mc_forward+16 + vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 # round0 key + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d2, {q2}, d2 @ vpshufb %xmm1, %xmm2, %xmm1 + vtbl.8 d3, {q2}, d3 + vtbl.8 d4, {q3}, d0 @ vpshufb %xmm0, %xmm3, %xmm2 + vtbl.8 d5, {q3}, d1 + veor q0, q1, q5 @ vpxor %xmm5, %xmm1, %xmm0 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + + @ .Lenc_entry ends with a bnz instruction which is normally paired with + @ subs in .Lenc_loop. + tst r8, r8 + b .Lenc_entry + +.align 4 +.Lenc_loop: + @ middle of middle round + add r10, r11, #0x40 + vtbl.8 d8, {q13}, d4 @ vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u + vtbl.8 d9, {q13}, d5 + vld1.64 {q1}, [r11]! @ vmovdqa -0x40(%r11,%r10), %xmm1 # .Lk_mc_forward[] + vtbl.8 d0, {q12}, d6 @ vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t + vtbl.8 d1, {q12}, d7 + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k + vtbl.8 d10, {q15}, d4 @ vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u + vtbl.8 d11, {q15}, d5 + veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A + vtbl.8 d4, {q14}, d6 @ vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t + vtbl.8 d5, {q14}, d7 + vld1.64 {q4}, [r10] @ vmovdqa (%r11,%r10), %xmm4 # .Lk_mc_backward[] + vtbl.8 d6, {q0}, d2 @ vpshufb %xmm1, %xmm0, %xmm3 # 0 = B + vtbl.8 d7, {q0}, d3 + veor q2, q2, q5 @ vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A + @ Write to q5 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d10, {q0}, d8 @ vpshufb %xmm4, %xmm0, %xmm0 # 3 = D + vtbl.8 d11, {q0}, d9 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B + vtbl.8 d8, {q3}, d2 @ vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C + vtbl.8 d9, {q3}, d3 + @ Here we restore the original q0/q5 usage. + veor q0, q5, q3 @ vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D + and r11, r11, #~(1<<6) @ and $0x30, %r11 # ... mod 4 + veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D + subs r8, r8, #1 @ nr-- + +.Lenc_entry: + @ top of round + vand q1, q0, q9 @ vpand %xmm0, %xmm9, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + vtbl.8 d10, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k + vtbl.8 d11, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q3, q3, q5 @ vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak + vtbl.8 d5, {q10}, d7 + vtbl.8 d6, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak + vtbl.8 d7, {q10}, d9 + veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io + veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo + vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 + bne .Lenc_loop + + @ middle of last round + add r10, r11, #0x80 + + adr r11, .Lk_sbo + @ Read to q1 instead of q4, so the vtbl.8 instruction below does not + @ overlap table and destination registers. + vld1.64 {q1}, [r11]! @ vmovdqa -0x60(%r10), %xmm4 # 3 : sbou + vld1.64 {q0}, [r11] @ vmovdqa -0x50(%r10), %xmm0 # 0 : sbot .Lk_sbo+16 + vtbl.8 d8, {q1}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou + vtbl.8 d9, {q1}, d5 + vld1.64 {q1}, [r10] @ vmovdqa 0x40(%r11,%r10), %xmm1 # .Lk_sr[] + @ Write to q2 instead of q0 below, to avoid overlapping table and + @ destination registers. + vtbl.8 d4, {q0}, d6 @ vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t + vtbl.8 d5, {q0}, d7 + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k + veor q2, q2, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A + @ Here we restore the original q0/q2 usage. + vtbl.8 d0, {q2}, d2 @ vpshufb %xmm1, %xmm0, %xmm0 + vtbl.8 d1, {q2}, d3 + bx lr +.size _vpaes_encrypt_core,.-_vpaes_encrypt_core + +.globl vpaes_encrypt +.hidden vpaes_encrypt +.type vpaes_encrypt,%function +.align 4 +vpaes_encrypt: + @ _vpaes_encrypt_core uses r8-r11. Round up to r7-r11 to maintain stack + @ alignment. + stmdb sp!, {r7,r8,r9,r10,r11,lr} + @ _vpaes_encrypt_core uses q4-q5 (d8-d11), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11} + + vld1.64 {q0}, [r0] + bl _vpaes_preheat + bl _vpaes_encrypt_core + vst1.64 {q0}, [r1] + + vldmia sp!, {d8,d9,d10,d11} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_encrypt,.-vpaes_encrypt + +@ +@ Decryption stuff +@ +.type _vpaes_decrypt_consts,%object +.align 4 +_vpaes_decrypt_consts: +.Lk_dipt:@ decryption input transform +.quad 0x0F505B040B545F00, 0x154A411E114E451A +.quad 0x86E383E660056500, 0x12771772F491F194 +.Lk_dsbo:@ decryption sbox final output +.quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D +.quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C +.Lk_dsb9:@ decryption sbox output *9*u, *9*t +.quad 0x851C03539A86D600, 0xCAD51F504F994CC9 +.quad 0xC03B1789ECD74900, 0x725E2C9EB2FBA565 +.Lk_dsbd:@ decryption sbox output *D*u, *D*t +.quad 0x7D57CCDFE6B1A200, 0xF56E9B13882A4439 +.quad 0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3 +.Lk_dsbb:@ decryption sbox output *B*u, *B*t +.quad 0xD022649296B44200, 0x602646F6B0F2D404 +.quad 0xC19498A6CD596700, 0xF3FF0C3E3255AA6B +.Lk_dsbe:@ decryption sbox output *E*u, *E*t +.quad 0x46F2929626D4D000, 0x2242600464B4F6B0 +.quad 0x0C55A6CDFFAAC100, 0x9467F36B98593E32 +.size _vpaes_decrypt_consts,.-_vpaes_decrypt_consts + +@@ +@@ Decryption core +@@ +@@ Same API as encryption core, except it clobbers q12-q15 rather than using +@@ the values from _vpaes_preheat. q9-q11 must still be set from +@@ _vpaes_preheat. +@@ +.type _vpaes_decrypt_core,%function +.align 4 +_vpaes_decrypt_core: + mov r9, r2 + ldr r8, [r2,#240] @ pull rounds + + @ This function performs shuffles with various constants. The x86_64 + @ version loads them on-demand into %xmm0-%xmm5. This does not work well + @ for ARMv7 because those registers are shuffle destinations. The ARMv8 + @ version preloads those constants into registers, but ARMv7 has half + @ the registers to work with. Instead, we load them on-demand into + @ q12-q15, registers normally use for preloaded constants. This is fine + @ because decryption doesn't use those constants. The values are + @ constant, so this does not interfere with potential 2x optimizations. + adr r7, .Lk_dipt + + vld1.64 {q12,q13}, [r7] @ vmovdqa .Lk_dipt(%rip), %xmm2 # iptlo + lsl r11, r8, #4 @ mov %rax, %r11; shl $4, %r11 + eor r11, r11, #0x30 @ xor $0x30, %r11 + adr r10, .Lk_sr + and r11, r11, #0x30 @ and $0x30, %r11 + add r11, r11, r10 + adr r10, .Lk_mc_forward+48 + + vld1.64 {q4}, [r9]! @ vmovdqu (%r9), %xmm4 # round0 key + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d4, {q12}, d2 @ vpshufb %xmm1, %xmm2, %xmm2 + vtbl.8 d5, {q12}, d3 + vld1.64 {q5}, [r10] @ vmovdqa .Lk_mc_forward+48(%rip), %xmm5 + @ vmovdqa .Lk_dipt+16(%rip), %xmm1 # ipthi + vtbl.8 d0, {q13}, d0 @ vpshufb %xmm0, %xmm1, %xmm0 + vtbl.8 d1, {q13}, d1 + veor q2, q2, q4 @ vpxor %xmm4, %xmm2, %xmm2 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + + @ .Ldec_entry ends with a bnz instruction which is normally paired with + @ subs in .Ldec_loop. + tst r8, r8 + b .Ldec_entry + +.align 4 +.Ldec_loop: +@ +@ Inverse mix columns +@ + + @ We load .Lk_dsb* into q12-q15 on-demand. See the comment at the top of + @ the function. + adr r10, .Lk_dsb9 + vld1.64 {q12,q13}, [r10]! @ vmovdqa -0x20(%r10),%xmm4 # 4 : sb9u + @ vmovdqa -0x10(%r10),%xmm1 # 0 : sb9t + @ Load sbd* ahead of time. + vld1.64 {q14,q15}, [r10]! @ vmovdqa 0x00(%r10),%xmm4 # 4 : sbdu + @ vmovdqa 0x10(%r10),%xmm1 # 0 : sbdt + vtbl.8 d8, {q12}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sb9u + vtbl.8 d9, {q12}, d5 + vtbl.8 d2, {q13}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sb9t + vtbl.8 d3, {q13}, d7 + veor q0, q4, q0 @ vpxor %xmm4, %xmm0, %xmm0 + + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + + @ Load sbb* ahead of time. + vld1.64 {q12,q13}, [r10]! @ vmovdqa 0x20(%r10),%xmm4 # 4 : sbbu + @ vmovdqa 0x30(%r10),%xmm1 # 0 : sbbt + + vtbl.8 d8, {q14}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbdu + vtbl.8 d9, {q14}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q15}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbdt + vtbl.8 d3, {q15}, d7 + @ vmovdqa 0x20(%r10), %xmm4 # 4 : sbbu + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + @ vmovdqa 0x30(%r10), %xmm1 # 0 : sbbt + + @ Load sbd* ahead of time. + vld1.64 {q14,q15}, [r10]! @ vmovdqa 0x40(%r10),%xmm4 # 4 : sbeu + @ vmovdqa 0x50(%r10),%xmm1 # 0 : sbet + + vtbl.8 d8, {q12}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbbu + vtbl.8 d9, {q12}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q13}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbbt + vtbl.8 d3, {q13}, d7 + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + + vtbl.8 d8, {q14}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbeu + vtbl.8 d9, {q14}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q15}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbet + vtbl.8 d3, {q15}, d7 + vext.8 q5, q5, q5, #12 @ vpalignr $12, %xmm5, %xmm5, %xmm5 + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + subs r8, r8, #1 @ sub $1,%rax # nr-- + +.Ldec_entry: + @ top of round + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + vtbl.8 d4, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k + vtbl.8 d5, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak + vtbl.8 d5, {q10}, d7 + vtbl.8 d6, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak + vtbl.8 d7, {q10}, d9 + veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io + veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo + vld1.64 {q0}, [r9]! @ vmovdqu (%r9), %xmm0 + bne .Ldec_loop + + @ middle of last round + + adr r10, .Lk_dsbo + + @ Write to q1 rather than q4 to avoid overlapping table and destination. + vld1.64 {q1}, [r10]! @ vmovdqa 0x60(%r10), %xmm4 # 3 : sbou + vtbl.8 d8, {q1}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou + vtbl.8 d9, {q1}, d5 + @ Write to q2 rather than q1 to avoid overlapping table and destination. + vld1.64 {q2}, [r10] @ vmovdqa 0x70(%r10), %xmm1 # 0 : sbot + vtbl.8 d2, {q2}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sb1t + vtbl.8 d3, {q2}, d7 + vld1.64 {q2}, [r11] @ vmovdqa -0x160(%r11), %xmm2 # .Lk_sr-.Lk_dsbd=-0x160 + veor q4, q4, q0 @ vpxor %xmm0, %xmm4, %xmm4 # 4 = sb1u + k + @ Write to q1 rather than q0 so the table and destination registers + @ below do not overlap. + veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm0 # 0 = A + vtbl.8 d0, {q1}, d4 @ vpshufb %xmm2, %xmm0, %xmm0 + vtbl.8 d1, {q1}, d5 + bx lr +.size _vpaes_decrypt_core,.-_vpaes_decrypt_core + +.globl vpaes_decrypt +.hidden vpaes_decrypt +.type vpaes_decrypt,%function +.align 4 +vpaes_decrypt: + @ _vpaes_decrypt_core uses r7-r11. + stmdb sp!, {r7,r8,r9,r10,r11,lr} + @ _vpaes_decrypt_core uses q4-q5 (d8-d11), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11} + + vld1.64 {q0}, [r0] + bl _vpaes_preheat + bl _vpaes_decrypt_core + vst1.64 {q0}, [r1] + + vldmia sp!, {d8,d9,d10,d11} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_decrypt,.-vpaes_decrypt +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@ @@ +@@ AES key schedule @@ +@@ @@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +@ This function diverges from both x86_64 and armv7 in which constants are +@ pinned. x86_64 has a common preheat function for all operations. aarch64 +@ separates them because it has enough registers to pin nearly all constants. +@ armv7 does not have enough registers, but needing explicit loads and stores +@ also complicates using x86_64's register allocation directly. +@ +@ We pin some constants for convenience and leave q14 and q15 free to load +@ others on demand. + +@ +@ Key schedule constants +@ +.type _vpaes_key_consts,%object +.align 4 +_vpaes_key_consts: +.Lk_dksd:@ decryption key schedule: invskew x*D +.quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9 +.quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E +.Lk_dksb:@ decryption key schedule: invskew x*B +.quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99 +.quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8 +.Lk_dkse:@ decryption key schedule: invskew x*E + 0x63 +.quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086 +.quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487 +.Lk_dks9:@ decryption key schedule: invskew x*9 +.quad 0xB6116FC87ED9A700, 0x4AED933482255BFC +.quad 0x4576516227143300, 0x8BB89FACE9DAFDCE + +.Lk_rcon:@ rcon +.quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81 + +.Lk_opt:@ output transform +.quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808 +.quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0 +.Lk_deskew:@ deskew tables: inverts the sbox's "skew" +.quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A +.quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77 +.size _vpaes_key_consts,.-_vpaes_key_consts + +.type _vpaes_key_preheat,%function +.align 4 +_vpaes_key_preheat: + adr r11, .Lk_rcon + vmov.i8 q12, #0x5b @ .Lk_s63 + adr r10, .Lk_inv @ Must be aligned to 8 mod 16. + vmov.i8 q9, #0x0f @ .Lk_s0F + vld1.64 {q10,q11}, [r10] @ .Lk_inv + vld1.64 {q8}, [r11] @ .Lk_rcon + bx lr +.size _vpaes_key_preheat,.-_vpaes_key_preheat + +.type _vpaes_schedule_core,%function +.align 4 +_vpaes_schedule_core: + @ We only need to save lr, but ARM requires an 8-byte stack alignment, + @ so save an extra register. + stmdb sp!, {r3,lr} + + bl _vpaes_key_preheat @ load the tables + + adr r11, .Lk_ipt @ Must be aligned to 8 mod 16. + vld1.64 {q0}, [r0]! @ vmovdqu (%rdi), %xmm0 # load key (unaligned) + + @ input transform + @ Use q4 here rather than q3 so .Lschedule_am_decrypting does not + @ overlap table and destination. + vmov q4, q0 @ vmovdqa %xmm0, %xmm3 + bl _vpaes_schedule_transform + adr r10, .Lk_sr @ Must be aligned to 8 mod 16. + vmov q7, q0 @ vmovdqa %xmm0, %xmm7 + + add r8, r8, r10 + tst r3, r3 + bne .Lschedule_am_decrypting + + @ encrypting, output zeroth round key after transform + vst1.64 {q0}, [r2] @ vmovdqu %xmm0, (%rdx) + b .Lschedule_go + +.Lschedule_am_decrypting: + @ decrypting, output zeroth round key after shiftrows + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + vtbl.8 d6, {q4}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q4}, d3 + vst1.64 {q3}, [r2] @ vmovdqu %xmm3, (%rdx) + eor r8, r8, #0x30 @ xor $0x30, %r8 + +.Lschedule_go: + cmp r1, #192 @ cmp $192, %esi + bhi .Lschedule_256 + beq .Lschedule_192 + @ 128: fall though + +@@ +@@ .schedule_128 +@@ +@@ 128-bit specific part of key schedule. +@@ +@@ This schedule is really simple, because all its parts +@@ are accomplished by the subroutines. +@@ +.Lschedule_128: + mov r0, #10 @ mov $10, %esi + +.Loop_schedule_128: + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq .Lschedule_mangle_last + bl _vpaes_schedule_mangle @ write output + b .Loop_schedule_128 + +@@ +@@ .aes_schedule_192 +@@ +@@ 192-bit specific part of key schedule. +@@ +@@ The main body of this schedule is the same as the 128-bit +@@ schedule, but with more smearing. The long, high side is +@@ stored in q7 as before, and the short, low side is in +@@ the high bits of q6. +@@ +@@ This schedule is somewhat nastier, however, because each +@@ round produces 192 bits of key material, or 1.5 round keys. +@@ Therefore, on each cycle we do 2 rounds and produce 3 round +@@ keys. +@@ +.align 4 +.Lschedule_192: + sub r0, r0, #8 + vld1.64 {q0}, [r0] @ vmovdqu 8(%rdi),%xmm0 # load key part 2 (very unaligned) + bl _vpaes_schedule_transform @ input transform + vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save short part + vmov.i8 d12, #0 @ vpxor %xmm4, %xmm4, %xmm4 # clear 4 + @ vmovhlps %xmm4, %xmm6, %xmm6 # clobber low side with zeros + mov r0, #4 @ mov $4, %esi + +.Loop_schedule_192: + bl _vpaes_schedule_round + vext.8 q0, q6, q0, #8 @ vpalignr $8,%xmm6,%xmm0,%xmm0 + bl _vpaes_schedule_mangle @ save key n + bl _vpaes_schedule_192_smear + bl _vpaes_schedule_mangle @ save key n+1 + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq .Lschedule_mangle_last + bl _vpaes_schedule_mangle @ save key n+2 + bl _vpaes_schedule_192_smear + b .Loop_schedule_192 + +@@ +@@ .aes_schedule_256 +@@ +@@ 256-bit specific part of key schedule. +@@ +@@ The structure here is very similar to the 128-bit +@@ schedule, but with an additional "low side" in +@@ q6. The low side's rounds are the same as the +@@ high side's, except no rcon and no rotation. +@@ +.align 4 +.Lschedule_256: + vld1.64 {q0}, [r0] @ vmovdqu 16(%rdi),%xmm0 # load key part 2 (unaligned) + bl _vpaes_schedule_transform @ input transform + mov r0, #7 @ mov $7, %esi + +.Loop_schedule_256: + bl _vpaes_schedule_mangle @ output low result + vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save cur_lo in xmm6 + + @ high round + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq .Lschedule_mangle_last + bl _vpaes_schedule_mangle + + @ low round. swap xmm7 and xmm6 + vdup.32 q0, d1[1] @ vpshufd $0xFF, %xmm0, %xmm0 + vmov.i8 q4, #0 + vmov q5, q7 @ vmovdqa %xmm7, %xmm5 + vmov q7, q6 @ vmovdqa %xmm6, %xmm7 + bl _vpaes_schedule_low_round + vmov q7, q5 @ vmovdqa %xmm5, %xmm7 + + b .Loop_schedule_256 + +@@ +@@ .aes_schedule_mangle_last +@@ +@@ Mangler for last round of key schedule +@@ Mangles q0 +@@ when encrypting, outputs out(q0) ^ 63 +@@ when decrypting, outputs unskew(q0) +@@ +@@ Always called right before return... jumps to cleanup and exits +@@ +.align 4 +.Lschedule_mangle_last: + @ schedule last round key from xmm0 + adr r11, .Lk_deskew @ lea .Lk_deskew(%rip),%r11 # prepare to deskew + tst r3, r3 + bne .Lschedule_mangle_last_dec + + @ encrypting + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10),%xmm1 + adr r11, .Lk_opt @ lea .Lk_opt(%rip), %r11 # prepare to output transform + add r2, r2, #32 @ add $32, %rdx + vmov q2, q0 + vtbl.8 d0, {q2}, d2 @ vpshufb %xmm1, %xmm0, %xmm0 # output permute + vtbl.8 d1, {q2}, d3 + +.Lschedule_mangle_last_dec: + sub r2, r2, #16 @ add $-16, %rdx + veor q0, q0, q12 @ vpxor .Lk_s63(%rip), %xmm0, %xmm0 + bl _vpaes_schedule_transform @ output transform + vst1.64 {q0}, [r2] @ vmovdqu %xmm0, (%rdx) # save last key + + @ cleanup + veor q0, q0, q0 @ vpxor %xmm0, %xmm0, %xmm0 + veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 + veor q2, q2, q2 @ vpxor %xmm2, %xmm2, %xmm2 + veor q3, q3, q3 @ vpxor %xmm3, %xmm3, %xmm3 + veor q4, q4, q4 @ vpxor %xmm4, %xmm4, %xmm4 + veor q5, q5, q5 @ vpxor %xmm5, %xmm5, %xmm5 + veor q6, q6, q6 @ vpxor %xmm6, %xmm6, %xmm6 + veor q7, q7, q7 @ vpxor %xmm7, %xmm7, %xmm7 + ldmia sp!, {r3,pc} @ return +.size _vpaes_schedule_core,.-_vpaes_schedule_core + +@@ +@@ .aes_schedule_192_smear +@@ +@@ Smear the short, low side in the 192-bit key schedule. +@@ +@@ Inputs: +@@ q7: high side, b a x y +@@ q6: low side, d c 0 0 +@@ +@@ Outputs: +@@ q6: b+c+d b+c 0 0 +@@ q0: b+c+d b+c b a +@@ +.type _vpaes_schedule_192_smear,%function +.align 4 +_vpaes_schedule_192_smear: + vmov.i8 q1, #0 + vdup.32 q0, d15[1] + vshl.i64 q1, q6, #32 @ vpshufd $0x80, %xmm6, %xmm1 # d c 0 0 -> c 0 0 0 + vmov d0, d15 @ vpshufd $0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a + veor q6, q6, q1 @ vpxor %xmm1, %xmm6, %xmm6 # -> c+d c 0 0 + veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 + veor q6, q6, q0 @ vpxor %xmm0, %xmm6, %xmm6 # -> b+c+d b+c b a + vmov q0, q6 @ vmovdqa %xmm6, %xmm0 + vmov d12, d2 @ vmovhlps %xmm1, %xmm6, %xmm6 # clobber low side with zeros + bx lr +.size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear + +@@ +@@ .aes_schedule_round +@@ +@@ Runs one main round of the key schedule on q0, q7 +@@ +@@ Specifically, runs subbytes on the high dword of q0 +@@ then rotates it by one byte and xors into the low dword of +@@ q7. +@@ +@@ Adds rcon from low byte of q8, then rotates q8 for +@@ next rcon. +@@ +@@ Smears the dwords of q7 by xoring the low into the +@@ second low, result into third, result into highest. +@@ +@@ Returns results in q7 = q0. +@@ Clobbers q1-q4, r11. +@@ +.type _vpaes_schedule_round,%function +.align 4 +_vpaes_schedule_round: + @ extract rcon from xmm8 + vmov.i8 q4, #0 @ vpxor %xmm4, %xmm4, %xmm4 + vext.8 q1, q8, q4, #15 @ vpalignr $15, %xmm8, %xmm4, %xmm1 + vext.8 q8, q8, q8, #15 @ vpalignr $15, %xmm8, %xmm8, %xmm8 + veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 + + @ rotate + vdup.32 q0, d1[1] @ vpshufd $0xFF, %xmm0, %xmm0 + vext.8 q0, q0, q0, #1 @ vpalignr $1, %xmm0, %xmm0, %xmm0 + + @ fall through... + + @ low round: same as high round, but no rotation and no rcon. +_vpaes_schedule_low_round: + @ The x86_64 version pins .Lk_sb1 in %xmm13 and .Lk_sb1+16 in %xmm12. + @ We pin other values in _vpaes_key_preheat, so load them now. + adr r11, .Lk_sb1 + vld1.64 {q14,q15}, [r11] + + @ smear xmm7 + vext.8 q1, q4, q7, #12 @ vpslldq $4, %xmm7, %xmm1 + veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 + vext.8 q4, q4, q7, #8 @ vpslldq $8, %xmm7, %xmm4 + + @ subbytes + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + veor q7, q7, q4 @ vpxor %xmm4, %xmm7, %xmm7 + vtbl.8 d4, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k + vtbl.8 d5, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q7, q7, q12 @ vpxor .Lk_s63(%rip), %xmm7, %xmm7 + vtbl.8 d6, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm3 # 2 = 1/iak + vtbl.8 d7, {q10}, d7 + veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm2 # 3 = 1/jak + vtbl.8 d5, {q10}, d9 + veor q3, q3, q1 @ vpxor %xmm1, %xmm3, %xmm3 # 2 = io + veor q2, q2, q0 @ vpxor %xmm0, %xmm2, %xmm2 # 3 = jo + vtbl.8 d8, {q15}, d6 @ vpshufb %xmm3, %xmm13, %xmm4 # 4 = sbou + vtbl.8 d9, {q15}, d7 + vtbl.8 d2, {q14}, d4 @ vpshufb %xmm2, %xmm12, %xmm1 # 0 = sb1t + vtbl.8 d3, {q14}, d5 + veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm1 # 0 = sbox output + + @ add in smeared stuff + veor q0, q1, q7 @ vpxor %xmm7, %xmm1, %xmm0 + veor q7, q1, q7 @ vmovdqa %xmm0, %xmm7 + bx lr +.size _vpaes_schedule_round,.-_vpaes_schedule_round + +@@ +@@ .aes_schedule_transform +@@ +@@ Linear-transform q0 according to tables at [r11] +@@ +@@ Requires that q9 = 0x0F0F... as in preheat +@@ Output in q0 +@@ Clobbers q1, q2, q14, q15 +@@ +.type _vpaes_schedule_transform,%function +.align 4 +_vpaes_schedule_transform: + vld1.64 {q14,q15}, [r11] @ vmovdqa (%r11), %xmm2 # lo + @ vmovdqa 16(%r11), %xmm1 # hi + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d4, {q14}, d2 @ vpshufb %xmm1, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d3 + vtbl.8 d0, {q15}, d0 @ vpshufb %xmm0, %xmm1, %xmm0 + vtbl.8 d1, {q15}, d1 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + bx lr +.size _vpaes_schedule_transform,.-_vpaes_schedule_transform + +@@ +@@ .aes_schedule_mangle +@@ +@@ Mangles q0 from (basis-transformed) standard version +@@ to our version. +@@ +@@ On encrypt, +@@ xor with 0x63 +@@ multiply by circulant 0,1,1,1 +@@ apply shiftrows transform +@@ +@@ On decrypt, +@@ xor with 0x63 +@@ multiply by "inverse mixcolumns" circulant E,B,D,9 +@@ deskew +@@ apply shiftrows transform +@@ +@@ +@@ Writes out to [r2], and increments or decrements it +@@ Keeps track of round number mod 4 in r8 +@@ Preserves q0 +@@ Clobbers q1-q5 +@@ +.type _vpaes_schedule_mangle,%function +.align 4 +_vpaes_schedule_mangle: + tst r3, r3 + vmov q4, q0 @ vmovdqa %xmm0, %xmm4 # save xmm0 for later + adr r11, .Lk_mc_forward @ Must be aligned to 8 mod 16. + vld1.64 {q5}, [r11] @ vmovdqa .Lk_mc_forward(%rip),%xmm5 + bne .Lschedule_mangle_dec + + @ encrypting + @ Write to q2 so we do not overlap table and destination below. + veor q2, q0, q12 @ vpxor .Lk_s63(%rip), %xmm0, %xmm4 + add r2, r2, #16 @ add $16, %rdx + vtbl.8 d8, {q2}, d10 @ vpshufb %xmm5, %xmm4, %xmm4 + vtbl.8 d9, {q2}, d11 + vtbl.8 d2, {q4}, d10 @ vpshufb %xmm5, %xmm4, %xmm1 + vtbl.8 d3, {q4}, d11 + vtbl.8 d6, {q1}, d10 @ vpshufb %xmm5, %xmm1, %xmm3 + vtbl.8 d7, {q1}, d11 + veor q4, q4, q1 @ vpxor %xmm1, %xmm4, %xmm4 + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + veor q3, q3, q4 @ vpxor %xmm4, %xmm3, %xmm3 + + b .Lschedule_mangle_both +.align 4 +.Lschedule_mangle_dec: + @ inverse mix columns + adr r11, .Lk_dksd @ lea .Lk_dksd(%rip),%r11 + vshr.u8 q1, q4, #4 @ vpsrlb $4, %xmm4, %xmm1 # 1 = hi + vand q4, q4, q9 @ vpand %xmm9, %xmm4, %xmm4 # 4 = lo + + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x00(%r11), %xmm2 + @ vmovdqa 0x10(%r11), %xmm3 + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dksb ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x20(%r11), %xmm2 + @ vmovdqa 0x30(%r11), %xmm3 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dkse ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x40(%r11), %xmm2 + @ vmovdqa 0x50(%r11), %xmm3 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dkse ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x60(%r11), %xmm2 + @ vmovdqa 0x70(%r11), %xmm4 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + vtbl.8 d8, {q15}, d2 @ vpshufb %xmm1, %xmm4, %xmm4 + vtbl.8 d9, {q15}, d3 + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + veor q3, q4, q2 @ vpxor %xmm2, %xmm4, %xmm3 + + sub r2, r2, #16 @ add $-16, %rdx + +.Lschedule_mangle_both: + @ Write to q2 so table and destination do not overlap. + vtbl.8 d4, {q3}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d5, {q3}, d3 + add r8, r8, #64-16 @ add $-16, %r8 + and r8, r8, #~(1<<6) @ and $0x30, %r8 + vst1.64 {q2}, [r2] @ vmovdqu %xmm3, (%rdx) + bx lr +.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle + +.globl vpaes_set_encrypt_key +.hidden vpaes_set_encrypt_key +.type vpaes_set_encrypt_key,%function +.align 4 +vpaes_set_encrypt_key: + stmdb sp!, {r7,r8,r9,r10,r11, lr} + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + lsr r9, r1, #5 @ shr $5,%eax + add r9, r9, #5 @ $5,%eax + str r9, [r2,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; + + mov r3, #0 @ mov $0,%ecx + mov r8, #0x30 @ mov $0x30,%r8d + bl _vpaes_schedule_core + eor r0, r0, r0 + + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key + +.globl vpaes_set_decrypt_key +.hidden vpaes_set_decrypt_key +.type vpaes_set_decrypt_key,%function +.align 4 +vpaes_set_decrypt_key: + stmdb sp!, {r7,r8,r9,r10,r11, lr} + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + lsr r9, r1, #5 @ shr $5,%eax + add r9, r9, #5 @ $5,%eax + str r9, [r2,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; + lsl r9, r9, #4 @ shl $4,%eax + add r2, r2, #16 @ lea 16(%rdx,%rax),%rdx + add r2, r2, r9 + + mov r3, #1 @ mov $1,%ecx + lsr r8, r1, #1 @ shr $1,%r8d + and r8, r8, #32 @ and $32,%r8d + eor r8, r8, #32 @ xor $32,%r8d # nbits==192?0:32 + bl _vpaes_schedule_core + + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key + +@ Additional constants for converting to bsaes. +.type _vpaes_convert_consts,%object +.align 4 +_vpaes_convert_consts: +@ .Lk_opt_then_skew applies skew(opt(x)) XOR 0x63, where skew is the linear +@ transform in the AES S-box. 0x63 is incorporated into the low half of the +@ table. This was computed with the following script: +@ +@ def u64s_to_u128(x, y): +@ return x | (y << 64) +@ def u128_to_u64s(w): +@ return w & ((1<<64)-1), w >> 64 +@ def get_byte(w, i): +@ return (w >> (i*8)) & 0xff +@ def apply_table(table, b): +@ lo = b & 0xf +@ hi = b >> 4 +@ return get_byte(table[0], lo) ^ get_byte(table[1], hi) +@ def opt(b): +@ table = [ +@ u64s_to_u128(0xFF9F4929D6B66000, 0xF7974121DEBE6808), +@ u64s_to_u128(0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0), +@ ] +@ return apply_table(table, b) +@ def rot_byte(b, n): +@ return 0xff & ((b << n) | (b >> (8-n))) +@ def skew(x): +@ return (x ^ rot_byte(x, 1) ^ rot_byte(x, 2) ^ rot_byte(x, 3) ^ +@ rot_byte(x, 4)) +@ table = [0, 0] +@ for i in range(16): +@ table[0] |= (skew(opt(i)) ^ 0x63) << (i*8) +@ table[1] |= skew(opt(i<<4)) << (i*8) +@ print(" .quad 0x%016x, 0x%016x" % u128_to_u64s(table[0])) +@ print(" .quad 0x%016x, 0x%016x" % u128_to_u64s(table[1])) +.Lk_opt_then_skew: +.quad 0x9cb8436798bc4763, 0x6440bb9f6044bf9b +.quad 0x1f30062936192f00, 0xb49bad829db284ab + +@ .Lk_decrypt_transform is a permutation which performs an 8-bit left-rotation +@ followed by a byte-swap on each 32-bit word of a vector. E.g., 0x11223344 +@ becomes 0x22334411 and then 0x11443322. +.Lk_decrypt_transform: +.quad 0x0704050603000102, 0x0f0c0d0e0b08090a +.size _vpaes_convert_consts,.-_vpaes_convert_consts + +@ void vpaes_encrypt_key_to_bsaes(AES_KEY *bsaes, const AES_KEY *vpaes); +.globl vpaes_encrypt_key_to_bsaes +.hidden vpaes_encrypt_key_to_bsaes +.type vpaes_encrypt_key_to_bsaes,%function +.align 4 +vpaes_encrypt_key_to_bsaes: + stmdb sp!, {r11, lr} + + @ See _vpaes_schedule_core for the key schedule logic. In particular, + @ _vpaes_schedule_transform(.Lk_ipt) (section 2.2 of the paper), + @ _vpaes_schedule_mangle (section 4.3), and .Lschedule_mangle_last + @ contain the transformations not in the bsaes representation. This + @ function inverts those transforms. + @ + @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key + @ representation, which does not match the other aes_nohw_* + @ implementations. The ARM aes_nohw_* stores each 32-bit word + @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the + @ cost of extra REV and VREV32 operations in little-endian ARM. + + vmov.i8 q9, #0x0f @ Required by _vpaes_schedule_transform + adr r2, .Lk_mc_forward @ Must be aligned to 8 mod 16. + add r3, r2, 0x90 @ .Lk_sr+0x10-.Lk_mc_forward = 0x90 (Apple's toolchain doesn't support the expression) + + vld1.64 {q12}, [r2] + vmov.i8 q10, #0x5b @ .Lk_s63 from vpaes-x86_64 + adr r11, .Lk_opt @ Must be aligned to 8 mod 16. + vmov.i8 q11, #0x63 @ .LK_s63 without .Lk_ipt applied + + @ vpaes stores one fewer round count than bsaes, but the number of keys + @ is the same. + ldr r2, [r1,#240] + add r2, r2, #1 + str r2, [r0,#240] + + @ The first key is transformed with _vpaes_schedule_transform(.Lk_ipt). + @ Invert this with .Lk_opt. + vld1.64 {q0}, [r1]! + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ The middle keys have _vpaes_schedule_transform(.Lk_ipt) applied, + @ followed by _vpaes_schedule_mangle. _vpaes_schedule_mangle XORs 0x63, + @ multiplies by the circulant 0,1,1,1, then applies ShiftRows. +.Loop_enc_key_to_bsaes: + vld1.64 {q0}, [r1]! + + @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note we cycle + @ r3 in the opposite direction and start at .Lk_sr+0x10 instead of 0x30. + @ We use r3 rather than r8 to avoid a callee-saved register. + vld1.64 {q1}, [r3] + vtbl.8 d4, {q0}, d2 + vtbl.8 d5, {q0}, d3 + add r3, r3, #16 + and r3, r3, #~(1<<6) + vmov q0, q2 + + @ Handle the last key differently. + subs r2, r2, #1 + beq .Loop_enc_key_to_bsaes_last + + @ Multiply by the circulant. This is its own inverse. + vtbl.8 d2, {q0}, d24 + vtbl.8 d3, {q0}, d25 + vmov q0, q1 + vtbl.8 d4, {q1}, d24 + vtbl.8 d5, {q1}, d25 + veor q0, q0, q2 + vtbl.8 d2, {q2}, d24 + vtbl.8 d3, {q2}, d25 + veor q0, q0, q1 + + @ XOR and finish. + veor q0, q0, q10 + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + b .Loop_enc_key_to_bsaes + +.Loop_enc_key_to_bsaes_last: + @ The final key does not have a basis transform (note + @ .Lschedule_mangle_last inverts the original transform). It only XORs + @ 0x63 and applies ShiftRows. The latter was already inverted in the + @ loop. Note that, because we act on the original representation, we use + @ q11, not q10. + veor q0, q0, q11 + vrev32.8 q0, q0 + vst1.64 {q0}, [r0] + + @ Wipe registers which contained key material. + veor q0, q0, q0 + veor q1, q1, q1 + veor q2, q2, q2 + + ldmia sp!, {r11, pc} @ return +.size vpaes_encrypt_key_to_bsaes,.-vpaes_encrypt_key_to_bsaes + +@ void vpaes_decrypt_key_to_bsaes(AES_KEY *vpaes, const AES_KEY *bsaes); +.globl vpaes_decrypt_key_to_bsaes +.hidden vpaes_decrypt_key_to_bsaes +.type vpaes_decrypt_key_to_bsaes,%function +.align 4 +vpaes_decrypt_key_to_bsaes: + stmdb sp!, {r11, lr} + + @ See _vpaes_schedule_core for the key schedule logic. Note vpaes + @ computes the decryption key schedule in reverse. Additionally, + @ aes-x86_64.pl shares some transformations, so we must only partially + @ invert vpaes's transformations. In general, vpaes computes in a + @ different basis (.Lk_ipt and .Lk_opt) and applies the inverses of + @ MixColumns, ShiftRows, and the affine part of the AES S-box (which is + @ split into a linear skew and XOR of 0x63). We undo all but MixColumns. + @ + @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key + @ representation, which does not match the other aes_nohw_* + @ implementations. The ARM aes_nohw_* stores each 32-bit word + @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the + @ cost of extra REV and VREV32 operations in little-endian ARM. + + adr r2, .Lk_decrypt_transform + adr r3, .Lk_sr+0x30 + adr r11, .Lk_opt_then_skew @ Input to _vpaes_schedule_transform. + vld1.64 {q12}, [r2] @ Reuse q12 from encryption. + vmov.i8 q9, #0x0f @ Required by _vpaes_schedule_transform + + @ vpaes stores one fewer round count than bsaes, but the number of keys + @ is the same. + ldr r2, [r1,#240] + add r2, r2, #1 + str r2, [r0,#240] + + @ Undo the basis change and reapply the S-box affine transform. See + @ .Lschedule_mangle_last. + vld1.64 {q0}, [r1]! + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ See _vpaes_schedule_mangle for the transform on the middle keys. Note + @ it simultaneously inverts MixColumns and the S-box affine transform. + @ See .Lk_dksd through .Lk_dks9. +.Loop_dec_key_to_bsaes: + vld1.64 {q0}, [r1]! + + @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note going + @ forwards cancels inverting for which direction we cycle r3. We use r3 + @ rather than r8 to avoid a callee-saved register. + vld1.64 {q1}, [r3] + vtbl.8 d4, {q0}, d2 + vtbl.8 d5, {q0}, d3 + add r3, r3, #64-16 + and r3, r3, #~(1<<6) + vmov q0, q2 + + @ Handle the last key differently. + subs r2, r2, #1 + beq .Loop_dec_key_to_bsaes_last + + @ Undo the basis change and reapply the S-box affine transform. + bl _vpaes_schedule_transform + + @ Rotate each word by 8 bytes (cycle the rows) and then byte-swap. We + @ combine the two operations in .Lk_decrypt_transform. + @ + @ TODO(davidben): Where does the rotation come from? + vtbl.8 d2, {q0}, d24 + vtbl.8 d3, {q0}, d25 + + vst1.64 {q1}, [r0]! + b .Loop_dec_key_to_bsaes + +.Loop_dec_key_to_bsaes_last: + @ The final key only inverts ShiftRows (already done in the loop). See + @ .Lschedule_am_decrypting. Its basis is not transformed. + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ Wipe registers which contained key material. + veor q0, q0, q0 + veor q1, q1, q1 + veor q2, q2, q2 + + ldmia sp!, {r11, pc} @ return +.size vpaes_decrypt_key_to_bsaes,.-vpaes_decrypt_key_to_bsaes +.globl vpaes_ctr32_encrypt_blocks +.hidden vpaes_ctr32_encrypt_blocks +.type vpaes_ctr32_encrypt_blocks,%function +.align 4 +vpaes_ctr32_encrypt_blocks: + mov ip, sp + stmdb sp!, {r7,r8,r9,r10,r11, lr} + @ This function uses q4-q7 (d8-d15), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + cmp r2, #0 + @ r8 is passed on the stack. + ldr r8, [ip] + beq .Lctr32_done + + @ _vpaes_encrypt_core expects the key in r2, so swap r2 and r3. + mov r9, r3 + mov r3, r2 + mov r2, r9 + + @ Load the IV and counter portion. + ldr r7, [r8, #12] + vld1.8 {q7}, [r8] + + bl _vpaes_preheat + rev r7, r7 @ The counter is big-endian. + +.Lctr32_loop: + vmov q0, q7 + vld1.8 {q6}, [r0]! @ .Load input ahead of time + bl _vpaes_encrypt_core + veor q0, q0, q6 @ XOR input and result + vst1.8 {q0}, [r1]! + subs r3, r3, #1 + @ Update the counter. + add r7, r7, #1 + rev r9, r7 + vmov.32 d15[1], r9 + bne .Lctr32_loop + +.Lctr32_done: + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_ctr32_encrypt_blocks,.-vpaes_ctr32_encrypt_blocks +#endif +#endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/test/trampoline-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/test/trampoline-armv4.S index e526e993144..9a73ba826a1 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/test/trampoline-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/test/trampoline-armv4.S @@ -31,7 +31,6 @@ .hidden abi_test_trampoline .align 4 abi_test_trampoline: -.Labi_test_trampoline_begin: @ Save parameters and all callee-saved registers. For convenience, we @ save r9 on iOS even though it's volatile. vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} @@ -377,3 +376,4 @@ abi_test_clobber_d15: .size abi_test_clobber_d15,.-abi_test_clobber_d15 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S b/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S index 911d6383acd..86b06fc2ef0 100644 --- a/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S +++ b/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S @@ -3667,3 +3667,4 @@ _aesp8_xts_dec5x: .long 0 .byte 0,12,0x14,0,0,0,0,0 #endif // !OPENSSL_NO_ASM && __powerpc64__ +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S b/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S index 88a8a254c11..5b909a38d3e 100644 --- a/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S +++ b/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S @@ -584,3 +584,4 @@ gcm_ghash_p8: .align 2 .align 2 #endif // !OPENSSL_NO_ASM && __powerpc64__ +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-ppc64le/crypto/test/trampoline-ppc.S b/contrib/boringssl-cmake/linux-ppc64le/crypto/test/trampoline-ppc.S new file mode 100644 index 00000000000..7271090cab0 --- /dev/null +++ b/contrib/boringssl-cmake/linux-ppc64le/crypto/test/trampoline-ppc.S @@ -0,0 +1,1410 @@ +# This file is generated from a similarly-named Perl script in the BoringSSL +# source tree. Do not edit by hand. + +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) +#define OPENSSL_NO_ASM +#endif +#endif + +#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) +.machine "any" +.abiversion 2 +.text + + + + + + + +.globl abi_test_trampoline +.type abi_test_trampoline,@function +.align 5 +abi_test_trampoline: +.localentry abi_test_trampoline,0 + + + mflr 0 + std 0, 16(1) + + + + + + + + + + + + + + + + + + + + stdu 1, -528(1) + + mfcr 0 + std 0, 8(1) + std 2, 24(1) + std 4, 32(1) + li 11, 48 + stvx 20, 11, 1 + li 11, 64 + stvx 21, 11, 1 + li 11, 80 + stvx 22, 11, 1 + li 11, 96 + stvx 23, 11, 1 + li 11, 112 + stvx 24, 11, 1 + li 11, 128 + stvx 25, 11, 1 + li 11, 144 + stvx 26, 11, 1 + li 11, 160 + stvx 27, 11, 1 + li 11, 176 + stvx 28, 11, 1 + li 11, 192 + stvx 29, 11, 1 + li 11, 208 + stvx 30, 11, 1 + li 11, 224 + stvx 31, 11, 1 + std 14, 240(1) + std 15, 248(1) + std 16, 256(1) + std 17, 264(1) + std 18, 272(1) + std 19, 280(1) + std 20, 288(1) + std 21, 296(1) + std 22, 304(1) + std 23, 312(1) + std 24, 320(1) + std 25, 328(1) + std 26, 336(1) + std 27, 344(1) + std 28, 352(1) + std 29, 360(1) + std 30, 368(1) + std 31, 376(1) + stfd 14, 384(1) + stfd 15, 392(1) + stfd 16, 400(1) + stfd 17, 408(1) + stfd 18, 416(1) + stfd 19, 424(1) + stfd 20, 432(1) + stfd 21, 440(1) + stfd 22, 448(1) + stfd 23, 456(1) + stfd 24, 464(1) + stfd 25, 472(1) + stfd 26, 480(1) + stfd 27, 488(1) + stfd 28, 496(1) + stfd 29, 504(1) + stfd 30, 512(1) + stfd 31, 520(1) + li 11, 0 + lvx 20, 11, 4 + li 11, 16 + lvx 21, 11, 4 + li 11, 32 + lvx 22, 11, 4 + li 11, 48 + lvx 23, 11, 4 + li 11, 64 + lvx 24, 11, 4 + li 11, 80 + lvx 25, 11, 4 + li 11, 96 + lvx 26, 11, 4 + li 11, 112 + lvx 27, 11, 4 + li 11, 128 + lvx 28, 11, 4 + li 11, 144 + lvx 29, 11, 4 + li 11, 160 + lvx 30, 11, 4 + li 11, 176 + lvx 31, 11, 4 + ld 14, 192(4) + ld 15, 200(4) + ld 16, 208(4) + ld 17, 216(4) + ld 18, 224(4) + ld 19, 232(4) + ld 20, 240(4) + ld 21, 248(4) + ld 22, 256(4) + ld 23, 264(4) + ld 24, 272(4) + ld 25, 280(4) + ld 26, 288(4) + ld 27, 296(4) + ld 28, 304(4) + ld 29, 312(4) + ld 30, 320(4) + ld 31, 328(4) + lfd 14, 336(4) + lfd 15, 344(4) + lfd 16, 352(4) + lfd 17, 360(4) + lfd 18, 368(4) + lfd 19, 376(4) + lfd 20, 384(4) + lfd 21, 392(4) + lfd 22, 400(4) + lfd 23, 408(4) + lfd 24, 416(4) + lfd 25, 424(4) + lfd 26, 432(4) + lfd 27, 440(4) + lfd 28, 448(4) + lfd 29, 456(4) + lfd 30, 464(4) + lfd 31, 472(4) + + ld 0, 480(4) + mtcr 0 + + + addi 11, 5, -8 + mr 12, 3 + + + cmpdi 6, 0 + beq .Largs_done + mtctr 6 + ldu 3, 8(11) + bdz .Largs_done + ldu 4, 8(11) + bdz .Largs_done + ldu 5, 8(11) + bdz .Largs_done + ldu 6, 8(11) + bdz .Largs_done + ldu 7, 8(11) + bdz .Largs_done + ldu 8, 8(11) + bdz .Largs_done + ldu 9, 8(11) + bdz .Largs_done + ldu 10, 8(11) + +.Largs_done: + li 2, 0 + mtctr 12 + bctrl + ld 2, 24(1) + + ld 4, 32(1) + li 11, 0 + stvx 20, 11, 4 + li 11, 16 + stvx 21, 11, 4 + li 11, 32 + stvx 22, 11, 4 + li 11, 48 + stvx 23, 11, 4 + li 11, 64 + stvx 24, 11, 4 + li 11, 80 + stvx 25, 11, 4 + li 11, 96 + stvx 26, 11, 4 + li 11, 112 + stvx 27, 11, 4 + li 11, 128 + stvx 28, 11, 4 + li 11, 144 + stvx 29, 11, 4 + li 11, 160 + stvx 30, 11, 4 + li 11, 176 + stvx 31, 11, 4 + std 14, 192(4) + std 15, 200(4) + std 16, 208(4) + std 17, 216(4) + std 18, 224(4) + std 19, 232(4) + std 20, 240(4) + std 21, 248(4) + std 22, 256(4) + std 23, 264(4) + std 24, 272(4) + std 25, 280(4) + std 26, 288(4) + std 27, 296(4) + std 28, 304(4) + std 29, 312(4) + std 30, 320(4) + std 31, 328(4) + stfd 14, 336(4) + stfd 15, 344(4) + stfd 16, 352(4) + stfd 17, 360(4) + stfd 18, 368(4) + stfd 19, 376(4) + stfd 20, 384(4) + stfd 21, 392(4) + stfd 22, 400(4) + stfd 23, 408(4) + stfd 24, 416(4) + stfd 25, 424(4) + stfd 26, 432(4) + stfd 27, 440(4) + stfd 28, 448(4) + stfd 29, 456(4) + stfd 30, 464(4) + stfd 31, 472(4) + li 11, 48 + lvx 20, 11, 1 + li 11, 64 + lvx 21, 11, 1 + li 11, 80 + lvx 22, 11, 1 + li 11, 96 + lvx 23, 11, 1 + li 11, 112 + lvx 24, 11, 1 + li 11, 128 + lvx 25, 11, 1 + li 11, 144 + lvx 26, 11, 1 + li 11, 160 + lvx 27, 11, 1 + li 11, 176 + lvx 28, 11, 1 + li 11, 192 + lvx 29, 11, 1 + li 11, 208 + lvx 30, 11, 1 + li 11, 224 + lvx 31, 11, 1 + ld 14, 240(1) + ld 15, 248(1) + ld 16, 256(1) + ld 17, 264(1) + ld 18, 272(1) + ld 19, 280(1) + ld 20, 288(1) + ld 21, 296(1) + ld 22, 304(1) + ld 23, 312(1) + ld 24, 320(1) + ld 25, 328(1) + ld 26, 336(1) + ld 27, 344(1) + ld 28, 352(1) + ld 29, 360(1) + ld 30, 368(1) + ld 31, 376(1) + lfd 14, 384(1) + lfd 15, 392(1) + lfd 16, 400(1) + lfd 17, 408(1) + lfd 18, 416(1) + lfd 19, 424(1) + lfd 20, 432(1) + lfd 21, 440(1) + lfd 22, 448(1) + lfd 23, 456(1) + lfd 24, 464(1) + lfd 25, 472(1) + lfd 26, 480(1) + lfd 27, 488(1) + lfd 28, 496(1) + lfd 29, 504(1) + lfd 30, 512(1) + lfd 31, 520(1) + mfcr 0 + std 0, 480(4) + ld 0, 8(1) + mtcrf 0b00111000, 0 + addi 1, 1, 528 + ld 0, 16(1) + mtlr 0 + blr +.size abi_test_trampoline,.-abi_test_trampoline +.globl abi_test_clobber_r0 +.type abi_test_clobber_r0,@function +.align 5 +abi_test_clobber_r0: +.localentry abi_test_clobber_r0,0 + + li 0, 0 + blr +.size abi_test_clobber_r0,.-abi_test_clobber_r0 +.globl abi_test_clobber_r2 +.type abi_test_clobber_r2,@function +.align 5 +abi_test_clobber_r2: +.localentry abi_test_clobber_r2,0 + + li 2, 0 + blr +.size abi_test_clobber_r2,.-abi_test_clobber_r2 +.globl abi_test_clobber_r3 +.type abi_test_clobber_r3,@function +.align 5 +abi_test_clobber_r3: +.localentry abi_test_clobber_r3,0 + + li 3, 0 + blr +.size abi_test_clobber_r3,.-abi_test_clobber_r3 +.globl abi_test_clobber_r4 +.type abi_test_clobber_r4,@function +.align 5 +abi_test_clobber_r4: +.localentry abi_test_clobber_r4,0 + + li 4, 0 + blr +.size abi_test_clobber_r4,.-abi_test_clobber_r4 +.globl abi_test_clobber_r5 +.type abi_test_clobber_r5,@function +.align 5 +abi_test_clobber_r5: +.localentry abi_test_clobber_r5,0 + + li 5, 0 + blr +.size abi_test_clobber_r5,.-abi_test_clobber_r5 +.globl abi_test_clobber_r6 +.type abi_test_clobber_r6,@function +.align 5 +abi_test_clobber_r6: +.localentry abi_test_clobber_r6,0 + + li 6, 0 + blr +.size abi_test_clobber_r6,.-abi_test_clobber_r6 +.globl abi_test_clobber_r7 +.type abi_test_clobber_r7,@function +.align 5 +abi_test_clobber_r7: +.localentry abi_test_clobber_r7,0 + + li 7, 0 + blr +.size abi_test_clobber_r7,.-abi_test_clobber_r7 +.globl abi_test_clobber_r8 +.type abi_test_clobber_r8,@function +.align 5 +abi_test_clobber_r8: +.localentry abi_test_clobber_r8,0 + + li 8, 0 + blr +.size abi_test_clobber_r8,.-abi_test_clobber_r8 +.globl abi_test_clobber_r9 +.type abi_test_clobber_r9,@function +.align 5 +abi_test_clobber_r9: +.localentry abi_test_clobber_r9,0 + + li 9, 0 + blr +.size abi_test_clobber_r9,.-abi_test_clobber_r9 +.globl abi_test_clobber_r10 +.type abi_test_clobber_r10,@function +.align 5 +abi_test_clobber_r10: +.localentry abi_test_clobber_r10,0 + + li 10, 0 + blr +.size abi_test_clobber_r10,.-abi_test_clobber_r10 +.globl abi_test_clobber_r11 +.type abi_test_clobber_r11,@function +.align 5 +abi_test_clobber_r11: +.localentry abi_test_clobber_r11,0 + + li 11, 0 + blr +.size abi_test_clobber_r11,.-abi_test_clobber_r11 +.globl abi_test_clobber_r12 +.type abi_test_clobber_r12,@function +.align 5 +abi_test_clobber_r12: +.localentry abi_test_clobber_r12,0 + + li 12, 0 + blr +.size abi_test_clobber_r12,.-abi_test_clobber_r12 +.globl abi_test_clobber_r14 +.type abi_test_clobber_r14,@function +.align 5 +abi_test_clobber_r14: +.localentry abi_test_clobber_r14,0 + + li 14, 0 + blr +.size abi_test_clobber_r14,.-abi_test_clobber_r14 +.globl abi_test_clobber_r15 +.type abi_test_clobber_r15,@function +.align 5 +abi_test_clobber_r15: +.localentry abi_test_clobber_r15,0 + + li 15, 0 + blr +.size abi_test_clobber_r15,.-abi_test_clobber_r15 +.globl abi_test_clobber_r16 +.type abi_test_clobber_r16,@function +.align 5 +abi_test_clobber_r16: +.localentry abi_test_clobber_r16,0 + + li 16, 0 + blr +.size abi_test_clobber_r16,.-abi_test_clobber_r16 +.globl abi_test_clobber_r17 +.type abi_test_clobber_r17,@function +.align 5 +abi_test_clobber_r17: +.localentry abi_test_clobber_r17,0 + + li 17, 0 + blr +.size abi_test_clobber_r17,.-abi_test_clobber_r17 +.globl abi_test_clobber_r18 +.type abi_test_clobber_r18,@function +.align 5 +abi_test_clobber_r18: +.localentry abi_test_clobber_r18,0 + + li 18, 0 + blr +.size abi_test_clobber_r18,.-abi_test_clobber_r18 +.globl abi_test_clobber_r19 +.type abi_test_clobber_r19,@function +.align 5 +abi_test_clobber_r19: +.localentry abi_test_clobber_r19,0 + + li 19, 0 + blr +.size abi_test_clobber_r19,.-abi_test_clobber_r19 +.globl abi_test_clobber_r20 +.type abi_test_clobber_r20,@function +.align 5 +abi_test_clobber_r20: +.localentry abi_test_clobber_r20,0 + + li 20, 0 + blr +.size abi_test_clobber_r20,.-abi_test_clobber_r20 +.globl abi_test_clobber_r21 +.type abi_test_clobber_r21,@function +.align 5 +abi_test_clobber_r21: +.localentry abi_test_clobber_r21,0 + + li 21, 0 + blr +.size abi_test_clobber_r21,.-abi_test_clobber_r21 +.globl abi_test_clobber_r22 +.type abi_test_clobber_r22,@function +.align 5 +abi_test_clobber_r22: +.localentry abi_test_clobber_r22,0 + + li 22, 0 + blr +.size abi_test_clobber_r22,.-abi_test_clobber_r22 +.globl abi_test_clobber_r23 +.type abi_test_clobber_r23,@function +.align 5 +abi_test_clobber_r23: +.localentry abi_test_clobber_r23,0 + + li 23, 0 + blr +.size abi_test_clobber_r23,.-abi_test_clobber_r23 +.globl abi_test_clobber_r24 +.type abi_test_clobber_r24,@function +.align 5 +abi_test_clobber_r24: +.localentry abi_test_clobber_r24,0 + + li 24, 0 + blr +.size abi_test_clobber_r24,.-abi_test_clobber_r24 +.globl abi_test_clobber_r25 +.type abi_test_clobber_r25,@function +.align 5 +abi_test_clobber_r25: +.localentry abi_test_clobber_r25,0 + + li 25, 0 + blr +.size abi_test_clobber_r25,.-abi_test_clobber_r25 +.globl abi_test_clobber_r26 +.type abi_test_clobber_r26,@function +.align 5 +abi_test_clobber_r26: +.localentry abi_test_clobber_r26,0 + + li 26, 0 + blr +.size abi_test_clobber_r26,.-abi_test_clobber_r26 +.globl abi_test_clobber_r27 +.type abi_test_clobber_r27,@function +.align 5 +abi_test_clobber_r27: +.localentry abi_test_clobber_r27,0 + + li 27, 0 + blr +.size abi_test_clobber_r27,.-abi_test_clobber_r27 +.globl abi_test_clobber_r28 +.type abi_test_clobber_r28,@function +.align 5 +abi_test_clobber_r28: +.localentry abi_test_clobber_r28,0 + + li 28, 0 + blr +.size abi_test_clobber_r28,.-abi_test_clobber_r28 +.globl abi_test_clobber_r29 +.type abi_test_clobber_r29,@function +.align 5 +abi_test_clobber_r29: +.localentry abi_test_clobber_r29,0 + + li 29, 0 + blr +.size abi_test_clobber_r29,.-abi_test_clobber_r29 +.globl abi_test_clobber_r30 +.type abi_test_clobber_r30,@function +.align 5 +abi_test_clobber_r30: +.localentry abi_test_clobber_r30,0 + + li 30, 0 + blr +.size abi_test_clobber_r30,.-abi_test_clobber_r30 +.globl abi_test_clobber_r31 +.type abi_test_clobber_r31,@function +.align 5 +abi_test_clobber_r31: +.localentry abi_test_clobber_r31,0 + + li 31, 0 + blr +.size abi_test_clobber_r31,.-abi_test_clobber_r31 +.globl abi_test_clobber_f0 +.type abi_test_clobber_f0,@function +.align 4 +abi_test_clobber_f0: +.localentry abi_test_clobber_f0,0 + + li 0, 0 + + std 0, -8(1) + lfd 0, -8(1) + blr +.size abi_test_clobber_f0,.-abi_test_clobber_f0 +.globl abi_test_clobber_f1 +.type abi_test_clobber_f1,@function +.align 4 +abi_test_clobber_f1: +.localentry abi_test_clobber_f1,0 + + li 0, 0 + + std 0, -8(1) + lfd 1, -8(1) + blr +.size abi_test_clobber_f1,.-abi_test_clobber_f1 +.globl abi_test_clobber_f2 +.type abi_test_clobber_f2,@function +.align 4 +abi_test_clobber_f2: +.localentry abi_test_clobber_f2,0 + + li 0, 0 + + std 0, -8(1) + lfd 2, -8(1) + blr +.size abi_test_clobber_f2,.-abi_test_clobber_f2 +.globl abi_test_clobber_f3 +.type abi_test_clobber_f3,@function +.align 4 +abi_test_clobber_f3: +.localentry abi_test_clobber_f3,0 + + li 0, 0 + + std 0, -8(1) + lfd 3, -8(1) + blr +.size abi_test_clobber_f3,.-abi_test_clobber_f3 +.globl abi_test_clobber_f4 +.type abi_test_clobber_f4,@function +.align 4 +abi_test_clobber_f4: +.localentry abi_test_clobber_f4,0 + + li 0, 0 + + std 0, -8(1) + lfd 4, -8(1) + blr +.size abi_test_clobber_f4,.-abi_test_clobber_f4 +.globl abi_test_clobber_f5 +.type abi_test_clobber_f5,@function +.align 4 +abi_test_clobber_f5: +.localentry abi_test_clobber_f5,0 + + li 0, 0 + + std 0, -8(1) + lfd 5, -8(1) + blr +.size abi_test_clobber_f5,.-abi_test_clobber_f5 +.globl abi_test_clobber_f6 +.type abi_test_clobber_f6,@function +.align 4 +abi_test_clobber_f6: +.localentry abi_test_clobber_f6,0 + + li 0, 0 + + std 0, -8(1) + lfd 6, -8(1) + blr +.size abi_test_clobber_f6,.-abi_test_clobber_f6 +.globl abi_test_clobber_f7 +.type abi_test_clobber_f7,@function +.align 4 +abi_test_clobber_f7: +.localentry abi_test_clobber_f7,0 + + li 0, 0 + + std 0, -8(1) + lfd 7, -8(1) + blr +.size abi_test_clobber_f7,.-abi_test_clobber_f7 +.globl abi_test_clobber_f8 +.type abi_test_clobber_f8,@function +.align 4 +abi_test_clobber_f8: +.localentry abi_test_clobber_f8,0 + + li 0, 0 + + std 0, -8(1) + lfd 8, -8(1) + blr +.size abi_test_clobber_f8,.-abi_test_clobber_f8 +.globl abi_test_clobber_f9 +.type abi_test_clobber_f9,@function +.align 4 +abi_test_clobber_f9: +.localentry abi_test_clobber_f9,0 + + li 0, 0 + + std 0, -8(1) + lfd 9, -8(1) + blr +.size abi_test_clobber_f9,.-abi_test_clobber_f9 +.globl abi_test_clobber_f10 +.type abi_test_clobber_f10,@function +.align 4 +abi_test_clobber_f10: +.localentry abi_test_clobber_f10,0 + + li 0, 0 + + std 0, -8(1) + lfd 10, -8(1) + blr +.size abi_test_clobber_f10,.-abi_test_clobber_f10 +.globl abi_test_clobber_f11 +.type abi_test_clobber_f11,@function +.align 4 +abi_test_clobber_f11: +.localentry abi_test_clobber_f11,0 + + li 0, 0 + + std 0, -8(1) + lfd 11, -8(1) + blr +.size abi_test_clobber_f11,.-abi_test_clobber_f11 +.globl abi_test_clobber_f12 +.type abi_test_clobber_f12,@function +.align 4 +abi_test_clobber_f12: +.localentry abi_test_clobber_f12,0 + + li 0, 0 + + std 0, -8(1) + lfd 12, -8(1) + blr +.size abi_test_clobber_f12,.-abi_test_clobber_f12 +.globl abi_test_clobber_f13 +.type abi_test_clobber_f13,@function +.align 4 +abi_test_clobber_f13: +.localentry abi_test_clobber_f13,0 + + li 0, 0 + + std 0, -8(1) + lfd 13, -8(1) + blr +.size abi_test_clobber_f13,.-abi_test_clobber_f13 +.globl abi_test_clobber_f14 +.type abi_test_clobber_f14,@function +.align 4 +abi_test_clobber_f14: +.localentry abi_test_clobber_f14,0 + + li 0, 0 + + std 0, -8(1) + lfd 14, -8(1) + blr +.size abi_test_clobber_f14,.-abi_test_clobber_f14 +.globl abi_test_clobber_f15 +.type abi_test_clobber_f15,@function +.align 4 +abi_test_clobber_f15: +.localentry abi_test_clobber_f15,0 + + li 0, 0 + + std 0, -8(1) + lfd 15, -8(1) + blr +.size abi_test_clobber_f15,.-abi_test_clobber_f15 +.globl abi_test_clobber_f16 +.type abi_test_clobber_f16,@function +.align 4 +abi_test_clobber_f16: +.localentry abi_test_clobber_f16,0 + + li 0, 0 + + std 0, -8(1) + lfd 16, -8(1) + blr +.size abi_test_clobber_f16,.-abi_test_clobber_f16 +.globl abi_test_clobber_f17 +.type abi_test_clobber_f17,@function +.align 4 +abi_test_clobber_f17: +.localentry abi_test_clobber_f17,0 + + li 0, 0 + + std 0, -8(1) + lfd 17, -8(1) + blr +.size abi_test_clobber_f17,.-abi_test_clobber_f17 +.globl abi_test_clobber_f18 +.type abi_test_clobber_f18,@function +.align 4 +abi_test_clobber_f18: +.localentry abi_test_clobber_f18,0 + + li 0, 0 + + std 0, -8(1) + lfd 18, -8(1) + blr +.size abi_test_clobber_f18,.-abi_test_clobber_f18 +.globl abi_test_clobber_f19 +.type abi_test_clobber_f19,@function +.align 4 +abi_test_clobber_f19: +.localentry abi_test_clobber_f19,0 + + li 0, 0 + + std 0, -8(1) + lfd 19, -8(1) + blr +.size abi_test_clobber_f19,.-abi_test_clobber_f19 +.globl abi_test_clobber_f20 +.type abi_test_clobber_f20,@function +.align 4 +abi_test_clobber_f20: +.localentry abi_test_clobber_f20,0 + + li 0, 0 + + std 0, -8(1) + lfd 20, -8(1) + blr +.size abi_test_clobber_f20,.-abi_test_clobber_f20 +.globl abi_test_clobber_f21 +.type abi_test_clobber_f21,@function +.align 4 +abi_test_clobber_f21: +.localentry abi_test_clobber_f21,0 + + li 0, 0 + + std 0, -8(1) + lfd 21, -8(1) + blr +.size abi_test_clobber_f21,.-abi_test_clobber_f21 +.globl abi_test_clobber_f22 +.type abi_test_clobber_f22,@function +.align 4 +abi_test_clobber_f22: +.localentry abi_test_clobber_f22,0 + + li 0, 0 + + std 0, -8(1) + lfd 22, -8(1) + blr +.size abi_test_clobber_f22,.-abi_test_clobber_f22 +.globl abi_test_clobber_f23 +.type abi_test_clobber_f23,@function +.align 4 +abi_test_clobber_f23: +.localentry abi_test_clobber_f23,0 + + li 0, 0 + + std 0, -8(1) + lfd 23, -8(1) + blr +.size abi_test_clobber_f23,.-abi_test_clobber_f23 +.globl abi_test_clobber_f24 +.type abi_test_clobber_f24,@function +.align 4 +abi_test_clobber_f24: +.localentry abi_test_clobber_f24,0 + + li 0, 0 + + std 0, -8(1) + lfd 24, -8(1) + blr +.size abi_test_clobber_f24,.-abi_test_clobber_f24 +.globl abi_test_clobber_f25 +.type abi_test_clobber_f25,@function +.align 4 +abi_test_clobber_f25: +.localentry abi_test_clobber_f25,0 + + li 0, 0 + + std 0, -8(1) + lfd 25, -8(1) + blr +.size abi_test_clobber_f25,.-abi_test_clobber_f25 +.globl abi_test_clobber_f26 +.type abi_test_clobber_f26,@function +.align 4 +abi_test_clobber_f26: +.localentry abi_test_clobber_f26,0 + + li 0, 0 + + std 0, -8(1) + lfd 26, -8(1) + blr +.size abi_test_clobber_f26,.-abi_test_clobber_f26 +.globl abi_test_clobber_f27 +.type abi_test_clobber_f27,@function +.align 4 +abi_test_clobber_f27: +.localentry abi_test_clobber_f27,0 + + li 0, 0 + + std 0, -8(1) + lfd 27, -8(1) + blr +.size abi_test_clobber_f27,.-abi_test_clobber_f27 +.globl abi_test_clobber_f28 +.type abi_test_clobber_f28,@function +.align 4 +abi_test_clobber_f28: +.localentry abi_test_clobber_f28,0 + + li 0, 0 + + std 0, -8(1) + lfd 28, -8(1) + blr +.size abi_test_clobber_f28,.-abi_test_clobber_f28 +.globl abi_test_clobber_f29 +.type abi_test_clobber_f29,@function +.align 4 +abi_test_clobber_f29: +.localentry abi_test_clobber_f29,0 + + li 0, 0 + + std 0, -8(1) + lfd 29, -8(1) + blr +.size abi_test_clobber_f29,.-abi_test_clobber_f29 +.globl abi_test_clobber_f30 +.type abi_test_clobber_f30,@function +.align 4 +abi_test_clobber_f30: +.localentry abi_test_clobber_f30,0 + + li 0, 0 + + std 0, -8(1) + lfd 30, -8(1) + blr +.size abi_test_clobber_f30,.-abi_test_clobber_f30 +.globl abi_test_clobber_f31 +.type abi_test_clobber_f31,@function +.align 4 +abi_test_clobber_f31: +.localentry abi_test_clobber_f31,0 + + li 0, 0 + + std 0, -8(1) + lfd 31, -8(1) + blr +.size abi_test_clobber_f31,.-abi_test_clobber_f31 +.globl abi_test_clobber_v0 +.type abi_test_clobber_v0,@function +.align 4 +abi_test_clobber_v0: +.localentry abi_test_clobber_v0,0 + + vxor 0, 0, 0 + blr +.size abi_test_clobber_v0,.-abi_test_clobber_v0 +.globl abi_test_clobber_v1 +.type abi_test_clobber_v1,@function +.align 4 +abi_test_clobber_v1: +.localentry abi_test_clobber_v1,0 + + vxor 1, 1, 1 + blr +.size abi_test_clobber_v1,.-abi_test_clobber_v1 +.globl abi_test_clobber_v2 +.type abi_test_clobber_v2,@function +.align 4 +abi_test_clobber_v2: +.localentry abi_test_clobber_v2,0 + + vxor 2, 2, 2 + blr +.size abi_test_clobber_v2,.-abi_test_clobber_v2 +.globl abi_test_clobber_v3 +.type abi_test_clobber_v3,@function +.align 4 +abi_test_clobber_v3: +.localentry abi_test_clobber_v3,0 + + vxor 3, 3, 3 + blr +.size abi_test_clobber_v3,.-abi_test_clobber_v3 +.globl abi_test_clobber_v4 +.type abi_test_clobber_v4,@function +.align 4 +abi_test_clobber_v4: +.localentry abi_test_clobber_v4,0 + + vxor 4, 4, 4 + blr +.size abi_test_clobber_v4,.-abi_test_clobber_v4 +.globl abi_test_clobber_v5 +.type abi_test_clobber_v5,@function +.align 4 +abi_test_clobber_v5: +.localentry abi_test_clobber_v5,0 + + vxor 5, 5, 5 + blr +.size abi_test_clobber_v5,.-abi_test_clobber_v5 +.globl abi_test_clobber_v6 +.type abi_test_clobber_v6,@function +.align 4 +abi_test_clobber_v6: +.localentry abi_test_clobber_v6,0 + + vxor 6, 6, 6 + blr +.size abi_test_clobber_v6,.-abi_test_clobber_v6 +.globl abi_test_clobber_v7 +.type abi_test_clobber_v7,@function +.align 4 +abi_test_clobber_v7: +.localentry abi_test_clobber_v7,0 + + vxor 7, 7, 7 + blr +.size abi_test_clobber_v7,.-abi_test_clobber_v7 +.globl abi_test_clobber_v8 +.type abi_test_clobber_v8,@function +.align 4 +abi_test_clobber_v8: +.localentry abi_test_clobber_v8,0 + + vxor 8, 8, 8 + blr +.size abi_test_clobber_v8,.-abi_test_clobber_v8 +.globl abi_test_clobber_v9 +.type abi_test_clobber_v9,@function +.align 4 +abi_test_clobber_v9: +.localentry abi_test_clobber_v9,0 + + vxor 9, 9, 9 + blr +.size abi_test_clobber_v9,.-abi_test_clobber_v9 +.globl abi_test_clobber_v10 +.type abi_test_clobber_v10,@function +.align 4 +abi_test_clobber_v10: +.localentry abi_test_clobber_v10,0 + + vxor 10, 10, 10 + blr +.size abi_test_clobber_v10,.-abi_test_clobber_v10 +.globl abi_test_clobber_v11 +.type abi_test_clobber_v11,@function +.align 4 +abi_test_clobber_v11: +.localentry abi_test_clobber_v11,0 + + vxor 11, 11, 11 + blr +.size abi_test_clobber_v11,.-abi_test_clobber_v11 +.globl abi_test_clobber_v12 +.type abi_test_clobber_v12,@function +.align 4 +abi_test_clobber_v12: +.localentry abi_test_clobber_v12,0 + + vxor 12, 12, 12 + blr +.size abi_test_clobber_v12,.-abi_test_clobber_v12 +.globl abi_test_clobber_v13 +.type abi_test_clobber_v13,@function +.align 4 +abi_test_clobber_v13: +.localentry abi_test_clobber_v13,0 + + vxor 13, 13, 13 + blr +.size abi_test_clobber_v13,.-abi_test_clobber_v13 +.globl abi_test_clobber_v14 +.type abi_test_clobber_v14,@function +.align 4 +abi_test_clobber_v14: +.localentry abi_test_clobber_v14,0 + + vxor 14, 14, 14 + blr +.size abi_test_clobber_v14,.-abi_test_clobber_v14 +.globl abi_test_clobber_v15 +.type abi_test_clobber_v15,@function +.align 4 +abi_test_clobber_v15: +.localentry abi_test_clobber_v15,0 + + vxor 15, 15, 15 + blr +.size abi_test_clobber_v15,.-abi_test_clobber_v15 +.globl abi_test_clobber_v16 +.type abi_test_clobber_v16,@function +.align 4 +abi_test_clobber_v16: +.localentry abi_test_clobber_v16,0 + + vxor 16, 16, 16 + blr +.size abi_test_clobber_v16,.-abi_test_clobber_v16 +.globl abi_test_clobber_v17 +.type abi_test_clobber_v17,@function +.align 4 +abi_test_clobber_v17: +.localentry abi_test_clobber_v17,0 + + vxor 17, 17, 17 + blr +.size abi_test_clobber_v17,.-abi_test_clobber_v17 +.globl abi_test_clobber_v18 +.type abi_test_clobber_v18,@function +.align 4 +abi_test_clobber_v18: +.localentry abi_test_clobber_v18,0 + + vxor 18, 18, 18 + blr +.size abi_test_clobber_v18,.-abi_test_clobber_v18 +.globl abi_test_clobber_v19 +.type abi_test_clobber_v19,@function +.align 4 +abi_test_clobber_v19: +.localentry abi_test_clobber_v19,0 + + vxor 19, 19, 19 + blr +.size abi_test_clobber_v19,.-abi_test_clobber_v19 +.globl abi_test_clobber_v20 +.type abi_test_clobber_v20,@function +.align 4 +abi_test_clobber_v20: +.localentry abi_test_clobber_v20,0 + + vxor 20, 20, 20 + blr +.size abi_test_clobber_v20,.-abi_test_clobber_v20 +.globl abi_test_clobber_v21 +.type abi_test_clobber_v21,@function +.align 4 +abi_test_clobber_v21: +.localentry abi_test_clobber_v21,0 + + vxor 21, 21, 21 + blr +.size abi_test_clobber_v21,.-abi_test_clobber_v21 +.globl abi_test_clobber_v22 +.type abi_test_clobber_v22,@function +.align 4 +abi_test_clobber_v22: +.localentry abi_test_clobber_v22,0 + + vxor 22, 22, 22 + blr +.size abi_test_clobber_v22,.-abi_test_clobber_v22 +.globl abi_test_clobber_v23 +.type abi_test_clobber_v23,@function +.align 4 +abi_test_clobber_v23: +.localentry abi_test_clobber_v23,0 + + vxor 23, 23, 23 + blr +.size abi_test_clobber_v23,.-abi_test_clobber_v23 +.globl abi_test_clobber_v24 +.type abi_test_clobber_v24,@function +.align 4 +abi_test_clobber_v24: +.localentry abi_test_clobber_v24,0 + + vxor 24, 24, 24 + blr +.size abi_test_clobber_v24,.-abi_test_clobber_v24 +.globl abi_test_clobber_v25 +.type abi_test_clobber_v25,@function +.align 4 +abi_test_clobber_v25: +.localentry abi_test_clobber_v25,0 + + vxor 25, 25, 25 + blr +.size abi_test_clobber_v25,.-abi_test_clobber_v25 +.globl abi_test_clobber_v26 +.type abi_test_clobber_v26,@function +.align 4 +abi_test_clobber_v26: +.localentry abi_test_clobber_v26,0 + + vxor 26, 26, 26 + blr +.size abi_test_clobber_v26,.-abi_test_clobber_v26 +.globl abi_test_clobber_v27 +.type abi_test_clobber_v27,@function +.align 4 +abi_test_clobber_v27: +.localentry abi_test_clobber_v27,0 + + vxor 27, 27, 27 + blr +.size abi_test_clobber_v27,.-abi_test_clobber_v27 +.globl abi_test_clobber_v28 +.type abi_test_clobber_v28,@function +.align 4 +abi_test_clobber_v28: +.localentry abi_test_clobber_v28,0 + + vxor 28, 28, 28 + blr +.size abi_test_clobber_v28,.-abi_test_clobber_v28 +.globl abi_test_clobber_v29 +.type abi_test_clobber_v29,@function +.align 4 +abi_test_clobber_v29: +.localentry abi_test_clobber_v29,0 + + vxor 29, 29, 29 + blr +.size abi_test_clobber_v29,.-abi_test_clobber_v29 +.globl abi_test_clobber_v30 +.type abi_test_clobber_v30,@function +.align 4 +abi_test_clobber_v30: +.localentry abi_test_clobber_v30,0 + + vxor 30, 30, 30 + blr +.size abi_test_clobber_v30,.-abi_test_clobber_v30 +.globl abi_test_clobber_v31 +.type abi_test_clobber_v31,@function +.align 4 +abi_test_clobber_v31: +.localentry abi_test_clobber_v31,0 + + vxor 31, 31, 31 + blr +.size abi_test_clobber_v31,.-abi_test_clobber_v31 +.globl abi_test_clobber_cr0 +.type abi_test_clobber_cr0,@function +.align 4 +abi_test_clobber_cr0: +.localentry abi_test_clobber_cr0,0 + + + + mfcr 0 + not 0, 0 + mtcrf 128, 0 + blr +.size abi_test_clobber_cr0,.-abi_test_clobber_cr0 +.globl abi_test_clobber_cr1 +.type abi_test_clobber_cr1,@function +.align 4 +abi_test_clobber_cr1: +.localentry abi_test_clobber_cr1,0 + + + + mfcr 0 + not 0, 0 + mtcrf 64, 0 + blr +.size abi_test_clobber_cr1,.-abi_test_clobber_cr1 +.globl abi_test_clobber_cr2 +.type abi_test_clobber_cr2,@function +.align 4 +abi_test_clobber_cr2: +.localentry abi_test_clobber_cr2,0 + + + + mfcr 0 + not 0, 0 + mtcrf 32, 0 + blr +.size abi_test_clobber_cr2,.-abi_test_clobber_cr2 +.globl abi_test_clobber_cr3 +.type abi_test_clobber_cr3,@function +.align 4 +abi_test_clobber_cr3: +.localentry abi_test_clobber_cr3,0 + + + + mfcr 0 + not 0, 0 + mtcrf 16, 0 + blr +.size abi_test_clobber_cr3,.-abi_test_clobber_cr3 +.globl abi_test_clobber_cr4 +.type abi_test_clobber_cr4,@function +.align 4 +abi_test_clobber_cr4: +.localentry abi_test_clobber_cr4,0 + + + + mfcr 0 + not 0, 0 + mtcrf 8, 0 + blr +.size abi_test_clobber_cr4,.-abi_test_clobber_cr4 +.globl abi_test_clobber_cr5 +.type abi_test_clobber_cr5,@function +.align 4 +abi_test_clobber_cr5: +.localentry abi_test_clobber_cr5,0 + + + + mfcr 0 + not 0, 0 + mtcrf 4, 0 + blr +.size abi_test_clobber_cr5,.-abi_test_clobber_cr5 +.globl abi_test_clobber_cr6 +.type abi_test_clobber_cr6,@function +.align 4 +abi_test_clobber_cr6: +.localentry abi_test_clobber_cr6,0 + + + + mfcr 0 + not 0, 0 + mtcrf 2, 0 + blr +.size abi_test_clobber_cr6,.-abi_test_clobber_cr6 +.globl abi_test_clobber_cr7 +.type abi_test_clobber_cr7,@function +.align 4 +abi_test_clobber_cr7: +.localentry abi_test_clobber_cr7,0 + + + + mfcr 0 + not 0, 0 + mtcrf 1, 0 + blr +.size abi_test_clobber_cr7,.-abi_test_clobber_cr7 +.globl abi_test_clobber_ctr +.type abi_test_clobber_ctr,@function +.align 4 +abi_test_clobber_ctr: +.localentry abi_test_clobber_ctr,0 + + li 0, 0 + mtctr 0 + blr +.size abi_test_clobber_ctr,.-abi_test_clobber_ctr + +.globl abi_test_clobber_lr +.type abi_test_clobber_lr,@function +.align 4 +abi_test_clobber_lr: +.localentry abi_test_clobber_lr,0 + + mflr 0 + mtctr 0 + li 0, 0 + mtlr 0 + bctr +.size abi_test_clobber_lr,.-abi_test_clobber_lr + +#endif // !OPENSSL_NO_ASM && __powerpc64__ +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/chacha/chacha-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/chacha/chacha-x86.S index 287b62a5157..feceb5d9f81 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/chacha/chacha-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/chacha/chacha-x86.S @@ -972,3 +972,4 @@ ChaCha20_ssse3: .byte 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111 .byte 114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aes-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aes-586.S deleted file mode 100644 index c8eeee53701..00000000000 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aes-586.S +++ /dev/null @@ -1,3262 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__i386__) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text -.hidden _x86_AES_encrypt_compact -.type _x86_AES_encrypt_compact,@function -.align 16 -_x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact -.hidden _sse_AES_encrypt_compact -.type _sse_AES_encrypt_compact,@function -.align 16 -_sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L001loop -.align 16 -.L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact -.hidden _x86_AES_encrypt -.type _x86_AES_encrypt,@function -.align 16 -_x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.size _x86_AES_encrypt,.-_x86_AES_encrypt -.globl aes_nohw_encrypt -.hidden aes_nohw_encrypt -.type aes_nohw_encrypt,@function -.align 16 -aes_nohw_encrypt: -.L_aes_nohw_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L004pic_point -.L004pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L004pic_point(%ebp),%eax - leal .LAES_Te-.L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aes_nohw_encrypt,.-.L_aes_nohw_encrypt_begin -.hidden _x86_AES_decrypt_compact -.type _x86_AES_decrypt_compact,@function -.align 16 -_x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact -.hidden _sse_AES_decrypt_compact -.type _sse_AES_decrypt_compact,@function -.align 16 -_sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L007loop -.align 16 -.L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact -.hidden _x86_AES_decrypt -.type _x86_AES_decrypt,@function -.align 16 -_x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.size _x86_AES_decrypt,.-_x86_AES_decrypt -.globl aes_nohw_decrypt -.hidden aes_nohw_decrypt -.type aes_nohw_decrypt,@function -.align 16 -aes_nohw_decrypt: -.L_aes_nohw_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L010pic_point -.L010pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L010pic_point(%ebp),%eax - leal .LAES_Td-.L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aes_nohw_decrypt,.-.L_aes_nohw_decrypt_begin -.globl aes_nohw_cbc_encrypt -.hidden aes_nohw_cbc_encrypt -.type aes_nohw_cbc_encrypt,@function -.align 16 -aes_nohw_cbc_encrypt: -.L_aes_nohw_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je .L012drop_out - call .L013pic_point -.L013pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal .LAES_Te-.L013pic_point(%ebp),%ebp - jne .L014picked_te - leal .LAES_Td-.LAES_Te(%ebp),%ebp -.L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb .L015slow_way - testl $15,%ecx - jnz .L015slow_way - btl $28,(%eax) - jc .L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb .L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp .L017tbl_ok -.align 4 -.L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 4 -.L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb .L018do_copy - cmpl $3852,%ebx - jb .L019skip_copy -.align 4 -.L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -.L019skip_copy: - movl $16,%edi -.align 4 -.L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz .L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je .L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 16 -.L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L023skip_ezero: - movl 28(%esp),%esp - popfl -.L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L021fast_decrypt: - cmpl 36(%esp),%esi - je .L024fast_dec_in_place - movl %edi,52(%esp) -.align 4 -.align 16 -.L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp .L026fast_dec_out -.align 16 -.L024fast_dec_in_place: -.L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L027fast_dec_in_place_loop -.align 4 -.L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je .L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb .L030slow_enc_tail - btl $25,52(%esp) - jnc .L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 16 -.L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L032slow_enc_loop_sse - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4 -.L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L033slow_enc_loop_x86 - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je .L034enc_in_place -.align 4 -.long 2767451785 - jmp .L035enc_skip_in_place -.L034enc_in_place: - leal (%edi,%ecx,1),%edi -.L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 4 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp .L033slow_enc_loop_x86 -.align 16 -.L029slow_decrypt: - btl $25,52(%esp) - jnc .L036slow_dec_loop_x86 -.align 4 -.L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc .L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz .L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc .L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz .L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aes_nohw_cbc_encrypt,.-.L_aes_nohw_cbc_encrypt_begin -.hidden _x86_AES_set_encrypt_key -.type _x86_AES_set_encrypt_key,@function -.align 16 -_x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz .L040badpointer - testl $-1,%edi - jz .L040badpointer - call .L041pic_point -.L041pic_point: - popl %ebp - leal .LAES_Te-.L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je .L04210rounds - cmpl $192,%ecx - je .L04312rounds - cmpl $256,%ecx - je .L04414rounds - movl $-2,%eax - jmp .L045exit -.L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp .L04610shortcut -.align 4 -.L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -.L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl .L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp .L045exit -.L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp .L04812shortcut -.align 4 -.L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -.L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je .L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp .L04912loop -.L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp .L045exit -.L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp .L05114shortcut -.align 4 -.L05214loop: - movl 28(%edi),%edx -.L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je .L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp .L05214loop -.L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp .L045exit -.L040badpointer: - movl $-1,%eax -.L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key -.globl aes_nohw_set_encrypt_key -.hidden aes_nohw_set_encrypt_key -.type aes_nohw_set_encrypt_key,@function -.align 16 -aes_nohw_set_encrypt_key: -.L_aes_nohw_set_encrypt_key_begin: - call _x86_AES_set_encrypt_key - ret -.size aes_nohw_set_encrypt_key,.-.L_aes_nohw_set_encrypt_key_begin -.globl aes_nohw_set_decrypt_key -.hidden aes_nohw_set_decrypt_key -.type aes_nohw_set_decrypt_key,@function -.align 16 -aes_nohw_set_decrypt_key: -.L_aes_nohw_set_decrypt_key_begin: - call _x86_AES_set_encrypt_key - cmpl $0,%eax - je .L054proceed - ret -.L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 4 -.L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne .L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 4 -.L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb .L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aes_nohw_set_decrypt_key,.-.L_aes_nohw_set_decrypt_key_begin -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -#endif diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aesni-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aesni-x86.S index bd0f2715a52..a418869701d 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aesni-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aesni-x86.S @@ -6,7 +6,7 @@ #include #endif .text -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST #endif .globl aes_hw_encrypt .hidden aes_hw_encrypt @@ -14,7 +14,7 @@ .align 16 aes_hw_encrypt: .L_aes_hw_encrypt_begin: -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L000pic @@ -845,7 +845,7 @@ aes_hw_ctr32_encrypt_blocks: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L038pic @@ -2440,7 +2440,7 @@ _aesni_set_encrypt_key: .align 16 aes_hw_set_encrypt_key: .L_aes_hw_set_encrypt_key_begin: -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L116pic @@ -2510,3 +2510,4 @@ aes_hw_set_decrypt_key: .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 .byte 115,108,46,111,114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/bn-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/bn-586.S index 64e36cece60..a765ad800f1 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/bn-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/bn-586.S @@ -993,551 +993,5 @@ bn_sub_words: popl %ebp ret .size bn_sub_words,.-.L_bn_sub_words_begin -.globl bn_sub_part_words -.hidden bn_sub_part_words -.type bn_sub_part_words,@function -.align 16 -bn_sub_part_words: -.L_bn_sub_part_words_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - movl 20(%esp),%ebx - movl 24(%esp),%esi - movl 28(%esp),%edi - movl 32(%esp),%ebp - xorl %eax,%eax - andl $4294967288,%ebp - jz .L029aw_finish -.L030aw_loop: - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - - movl 4(%esi),%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,4(%ebx) - - movl 8(%esi),%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,8(%ebx) - - movl 12(%esi),%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,12(%ebx) - - movl 16(%esi),%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,16(%ebx) - - movl 20(%esi),%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,20(%ebx) - - movl 24(%esi),%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - - movl 28(%esi),%ecx - movl 28(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,28(%ebx) - - addl $32,%esi - addl $32,%edi - addl $32,%ebx - subl $8,%ebp - jnz .L030aw_loop -.L029aw_finish: - movl 32(%esp),%ebp - andl $7,%ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx -.L031aw_end: - cmpl $0,36(%esp) - je .L032pw_end - movl 36(%esp),%ebp - cmpl $0,%ebp - je .L032pw_end - jge .L033pw_pos - - movl $0,%edx - subl %ebp,%edx - movl %edx,%ebp - andl $4294967288,%ebp - jz .L034pw_neg_finish -.L035pw_neg_loop: - - movl $0,%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - - movl $0,%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,4(%ebx) - - movl $0,%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,8(%ebx) - - movl $0,%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,12(%ebx) - - movl $0,%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,16(%ebx) - - movl $0,%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,20(%ebx) - - movl $0,%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - - movl $0,%ecx - movl 28(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,28(%ebx) - - addl $32,%edi - addl $32,%ebx - subl $8,%ebp - jnz .L035pw_neg_loop -.L034pw_neg_finish: - movl 36(%esp),%edx - movl $0,%ebp - subl %edx,%ebp - andl $7,%ebp - jz .L032pw_end - - movl $0,%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,4(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,8(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,12(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,16(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,20(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - jmp .L032pw_end -.L033pw_pos: - andl $4294967288,%ebp - jz .L036pw_pos_finish -.L037pw_pos_loop: - - movl (%esi),%ecx - subl %eax,%ecx - movl %ecx,(%ebx) - jnc .L038pw_nc0 - - movl 4(%esi),%ecx - subl %eax,%ecx - movl %ecx,4(%ebx) - jnc .L039pw_nc1 - - movl 8(%esi),%ecx - subl %eax,%ecx - movl %ecx,8(%ebx) - jnc .L040pw_nc2 - - movl 12(%esi),%ecx - subl %eax,%ecx - movl %ecx,12(%ebx) - jnc .L041pw_nc3 - - movl 16(%esi),%ecx - subl %eax,%ecx - movl %ecx,16(%ebx) - jnc .L042pw_nc4 - - movl 20(%esi),%ecx - subl %eax,%ecx - movl %ecx,20(%ebx) - jnc .L043pw_nc5 - - movl 24(%esi),%ecx - subl %eax,%ecx - movl %ecx,24(%ebx) - jnc .L044pw_nc6 - - movl 28(%esi),%ecx - subl %eax,%ecx - movl %ecx,28(%ebx) - jnc .L045pw_nc7 - - addl $32,%esi - addl $32,%ebx - subl $8,%ebp - jnz .L037pw_pos_loop -.L036pw_pos_finish: - movl 36(%esp),%ebp - andl $7,%ebp - jz .L032pw_end - - movl (%esi),%ecx - subl %eax,%ecx - movl %ecx,(%ebx) - jnc .L046pw_tail_nc0 - decl %ebp - jz .L032pw_end - - movl 4(%esi),%ecx - subl %eax,%ecx - movl %ecx,4(%ebx) - jnc .L047pw_tail_nc1 - decl %ebp - jz .L032pw_end - - movl 8(%esi),%ecx - subl %eax,%ecx - movl %ecx,8(%ebx) - jnc .L048pw_tail_nc2 - decl %ebp - jz .L032pw_end - - movl 12(%esi),%ecx - subl %eax,%ecx - movl %ecx,12(%ebx) - jnc .L049pw_tail_nc3 - decl %ebp - jz .L032pw_end - - movl 16(%esi),%ecx - subl %eax,%ecx - movl %ecx,16(%ebx) - jnc .L050pw_tail_nc4 - decl %ebp - jz .L032pw_end - - movl 20(%esi),%ecx - subl %eax,%ecx - movl %ecx,20(%ebx) - jnc .L051pw_tail_nc5 - decl %ebp - jz .L032pw_end - - movl 24(%esi),%ecx - subl %eax,%ecx - movl %ecx,24(%ebx) - jnc .L052pw_tail_nc6 - movl $1,%eax - jmp .L032pw_end -.L053pw_nc_loop: - movl (%esi),%ecx - movl %ecx,(%ebx) -.L038pw_nc0: - movl 4(%esi),%ecx - movl %ecx,4(%ebx) -.L039pw_nc1: - movl 8(%esi),%ecx - movl %ecx,8(%ebx) -.L040pw_nc2: - movl 12(%esi),%ecx - movl %ecx,12(%ebx) -.L041pw_nc3: - movl 16(%esi),%ecx - movl %ecx,16(%ebx) -.L042pw_nc4: - movl 20(%esi),%ecx - movl %ecx,20(%ebx) -.L043pw_nc5: - movl 24(%esi),%ecx - movl %ecx,24(%ebx) -.L044pw_nc6: - movl 28(%esi),%ecx - movl %ecx,28(%ebx) -.L045pw_nc7: - - addl $32,%esi - addl $32,%ebx - subl $8,%ebp - jnz .L053pw_nc_loop - movl 36(%esp),%ebp - andl $7,%ebp - jz .L054pw_nc_end - movl (%esi),%ecx - movl %ecx,(%ebx) -.L046pw_tail_nc0: - decl %ebp - jz .L054pw_nc_end - movl 4(%esi),%ecx - movl %ecx,4(%ebx) -.L047pw_tail_nc1: - decl %ebp - jz .L054pw_nc_end - movl 8(%esi),%ecx - movl %ecx,8(%ebx) -.L048pw_tail_nc2: - decl %ebp - jz .L054pw_nc_end - movl 12(%esi),%ecx - movl %ecx,12(%ebx) -.L049pw_tail_nc3: - decl %ebp - jz .L054pw_nc_end - movl 16(%esi),%ecx - movl %ecx,16(%ebx) -.L050pw_tail_nc4: - decl %ebp - jz .L054pw_nc_end - movl 20(%esi),%ecx - movl %ecx,20(%ebx) -.L051pw_tail_nc5: - decl %ebp - jz .L054pw_nc_end - movl 24(%esi),%ecx - movl %ecx,24(%ebx) -.L052pw_tail_nc6: -.L054pw_nc_end: - movl $0,%eax -.L032pw_end: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size bn_sub_part_words,.-.L_bn_sub_part_words_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/co-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/co-586.S index b617d81a2c4..837b0cb5c71 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/co-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/co-586.S @@ -1263,3 +1263,4 @@ bn_sqr_comba4: ret .size bn_sqr_comba4,.-.L_bn_sqr_comba4_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S index 7aa0ea5211f..3e5f2d7e547 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S @@ -291,3 +291,4 @@ gcm_ghash_ssse3: .Llow4_mask: .long 252645135,252645135,252645135,252645135 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-x86.S index e1830784b0a..b9e7428d7e5 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-x86.S @@ -6,711 +6,6 @@ #include #endif .text -.globl gcm_gmult_4bit_mmx -.hidden gcm_gmult_4bit_mmx -.type gcm_gmult_4bit_mmx,@function -.align 16 -gcm_gmult_4bit_mmx: -.L_gcm_gmult_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%edi - movl 24(%esp),%esi - call .L000pic_point -.L000pic_point: - popl %eax - leal .Lrem_4bit-.L000pic_point(%eax),%eax - movzbl 15(%edi),%ebx - xorl %ecx,%ecx - movl %ebx,%edx - movb %dl,%cl - movl $14,%ebp - shlb $4,%cl - andl $240,%edx - movq 8(%esi,%ecx,1),%mm0 - movq (%esi,%ecx,1),%mm1 - movd %mm0,%ebx - jmp .L001mmx_loop -.align 16 -.L001mmx_loop: - psrlq $4,%mm0 - andl $15,%ebx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb (%edi,%ebp,1),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - decl %ebp - movd %mm0,%ebx - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - pxor %mm2,%mm0 - js .L002mmx_break - shlb $4,%cl - andl $15,%ebx - psrlq $4,%mm0 - andl $240,%edx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%ecx,1),%mm1 - pxor %mm2,%mm0 - jmp .L001mmx_loop -.align 16 -.L002mmx_break: - shlb $4,%cl - andl $15,%ebx - psrlq $4,%mm0 - andl $240,%edx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%ecx,1),%mm1 - pxor %mm2,%mm0 - psrlq $4,%mm0 - andl $15,%ebx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%edx,1),%mm1 - pxor %mm2,%mm0 - psrlq $32,%mm0 - movd %mm1,%edx - psrlq $32,%mm1 - movd %mm0,%ecx - movd %mm1,%ebp - bswap %ebx - bswap %edx - bswap %ecx - bswap %ebp - emms - movl %ebx,12(%edi) - movl %edx,4(%edi) - movl %ecx,8(%edi) - movl %ebp,(%edi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin -.globl gcm_ghash_4bit_mmx -.hidden gcm_ghash_4bit_mmx -.type gcm_ghash_4bit_mmx,@function -.align 16 -gcm_ghash_4bit_mmx: -.L_gcm_ghash_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%eax - movl 24(%esp),%ebx - movl 28(%esp),%ecx - movl 32(%esp),%edx - movl %esp,%ebp - call .L003pic_point -.L003pic_point: - popl %esi - leal .Lrem_8bit-.L003pic_point(%esi),%esi - subl $544,%esp - andl $-64,%esp - subl $16,%esp - addl %ecx,%edx - movl %eax,544(%esp) - movl %edx,552(%esp) - movl %ebp,556(%esp) - addl $128,%ebx - leal 144(%esp),%edi - leal 400(%esp),%ebp - movl -120(%ebx),%edx - movq -120(%ebx),%mm0 - movq -128(%ebx),%mm3 - shll $4,%edx - movb %dl,(%esp) - movl -104(%ebx),%edx - movq -104(%ebx),%mm2 - movq -112(%ebx),%mm5 - movq %mm0,-128(%edi) - psrlq $4,%mm0 - movq %mm3,(%edi) - movq %mm3,%mm7 - psrlq $4,%mm3 - shll $4,%edx - movb %dl,1(%esp) - movl -88(%ebx),%edx - movq -88(%ebx),%mm1 - psllq $60,%mm7 - movq -96(%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-120(%edi) - psrlq $4,%mm2 - movq %mm5,8(%edi) - movq %mm5,%mm6 - movq %mm0,-128(%ebp) - psrlq $4,%mm5 - movq %mm3,(%ebp) - shll $4,%edx - movb %dl,2(%esp) - movl -72(%ebx),%edx - movq -72(%ebx),%mm0 - psllq $60,%mm6 - movq -80(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-112(%edi) - psrlq $4,%mm1 - movq %mm4,16(%edi) - movq %mm4,%mm7 - movq %mm2,-120(%ebp) - psrlq $4,%mm4 - movq %mm5,8(%ebp) - shll $4,%edx - movb %dl,3(%esp) - movl -56(%ebx),%edx - movq -56(%ebx),%mm2 - psllq $60,%mm7 - movq -64(%ebx),%mm5 - por %mm7,%mm1 - movq %mm0,-104(%edi) - psrlq $4,%mm0 - movq %mm3,24(%edi) - movq %mm3,%mm6 - movq %mm1,-112(%ebp) - psrlq $4,%mm3 - movq %mm4,16(%ebp) - shll $4,%edx - movb %dl,4(%esp) - movl -40(%ebx),%edx - movq -40(%ebx),%mm1 - psllq $60,%mm6 - movq -48(%ebx),%mm4 - por %mm6,%mm0 - movq %mm2,-96(%edi) - psrlq $4,%mm2 - movq %mm5,32(%edi) - movq %mm5,%mm7 - movq %mm0,-104(%ebp) - psrlq $4,%mm5 - movq %mm3,24(%ebp) - shll $4,%edx - movb %dl,5(%esp) - movl -24(%ebx),%edx - movq -24(%ebx),%mm0 - psllq $60,%mm7 - movq -32(%ebx),%mm3 - por %mm7,%mm2 - movq %mm1,-88(%edi) - psrlq $4,%mm1 - movq %mm4,40(%edi) - movq %mm4,%mm6 - movq %mm2,-96(%ebp) - psrlq $4,%mm4 - movq %mm5,32(%ebp) - shll $4,%edx - movb %dl,6(%esp) - movl -8(%ebx),%edx - movq -8(%ebx),%mm2 - psllq $60,%mm6 - movq -16(%ebx),%mm5 - por %mm6,%mm1 - movq %mm0,-80(%edi) - psrlq $4,%mm0 - movq %mm3,48(%edi) - movq %mm3,%mm7 - movq %mm1,-88(%ebp) - psrlq $4,%mm3 - movq %mm4,40(%ebp) - shll $4,%edx - movb %dl,7(%esp) - movl 8(%ebx),%edx - movq 8(%ebx),%mm1 - psllq $60,%mm7 - movq (%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-72(%edi) - psrlq $4,%mm2 - movq %mm5,56(%edi) - movq %mm5,%mm6 - movq %mm0,-80(%ebp) - psrlq $4,%mm5 - movq %mm3,48(%ebp) - shll $4,%edx - movb %dl,8(%esp) - movl 24(%ebx),%edx - movq 24(%ebx),%mm0 - psllq $60,%mm6 - movq 16(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-64(%edi) - psrlq $4,%mm1 - movq %mm4,64(%edi) - movq %mm4,%mm7 - movq %mm2,-72(%ebp) - psrlq $4,%mm4 - movq %mm5,56(%ebp) - shll $4,%edx - movb %dl,9(%esp) - movl 40(%ebx),%edx - movq 40(%ebx),%mm2 - psllq $60,%mm7 - movq 32(%ebx),%mm5 - por %mm7,%mm1 - movq %mm0,-56(%edi) - psrlq $4,%mm0 - movq %mm3,72(%edi) - movq %mm3,%mm6 - movq %mm1,-64(%ebp) - psrlq $4,%mm3 - movq %mm4,64(%ebp) - shll $4,%edx - movb %dl,10(%esp) - movl 56(%ebx),%edx - movq 56(%ebx),%mm1 - psllq $60,%mm6 - movq 48(%ebx),%mm4 - por %mm6,%mm0 - movq %mm2,-48(%edi) - psrlq $4,%mm2 - movq %mm5,80(%edi) - movq %mm5,%mm7 - movq %mm0,-56(%ebp) - psrlq $4,%mm5 - movq %mm3,72(%ebp) - shll $4,%edx - movb %dl,11(%esp) - movl 72(%ebx),%edx - movq 72(%ebx),%mm0 - psllq $60,%mm7 - movq 64(%ebx),%mm3 - por %mm7,%mm2 - movq %mm1,-40(%edi) - psrlq $4,%mm1 - movq %mm4,88(%edi) - movq %mm4,%mm6 - movq %mm2,-48(%ebp) - psrlq $4,%mm4 - movq %mm5,80(%ebp) - shll $4,%edx - movb %dl,12(%esp) - movl 88(%ebx),%edx - movq 88(%ebx),%mm2 - psllq $60,%mm6 - movq 80(%ebx),%mm5 - por %mm6,%mm1 - movq %mm0,-32(%edi) - psrlq $4,%mm0 - movq %mm3,96(%edi) - movq %mm3,%mm7 - movq %mm1,-40(%ebp) - psrlq $4,%mm3 - movq %mm4,88(%ebp) - shll $4,%edx - movb %dl,13(%esp) - movl 104(%ebx),%edx - movq 104(%ebx),%mm1 - psllq $60,%mm7 - movq 96(%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-24(%edi) - psrlq $4,%mm2 - movq %mm5,104(%edi) - movq %mm5,%mm6 - movq %mm0,-32(%ebp) - psrlq $4,%mm5 - movq %mm3,96(%ebp) - shll $4,%edx - movb %dl,14(%esp) - movl 120(%ebx),%edx - movq 120(%ebx),%mm0 - psllq $60,%mm6 - movq 112(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-16(%edi) - psrlq $4,%mm1 - movq %mm4,112(%edi) - movq %mm4,%mm7 - movq %mm2,-24(%ebp) - psrlq $4,%mm4 - movq %mm5,104(%ebp) - shll $4,%edx - movb %dl,15(%esp) - psllq $60,%mm7 - por %mm7,%mm1 - movq %mm0,-8(%edi) - psrlq $4,%mm0 - movq %mm3,120(%edi) - movq %mm3,%mm6 - movq %mm1,-16(%ebp) - psrlq $4,%mm3 - movq %mm4,112(%ebp) - psllq $60,%mm6 - por %mm6,%mm0 - movq %mm0,-8(%ebp) - movq %mm3,120(%ebp) - movq (%eax),%mm6 - movl 8(%eax),%ebx - movl 12(%eax),%edx -.align 16 -.L004outer: - xorl 12(%ecx),%edx - xorl 8(%ecx),%ebx - pxor (%ecx),%mm6 - leal 16(%ecx),%ecx - movl %ebx,536(%esp) - movq %mm6,528(%esp) - movl %ecx,548(%esp) - xorl %eax,%eax - roll $8,%edx - movb %dl,%al - movl %eax,%ebp - andb $15,%al - shrl $4,%ebp - pxor %mm0,%mm0 - roll $8,%edx - pxor %mm1,%mm1 - pxor %mm2,%mm2 - movq 16(%esp,%eax,8),%mm7 - movq 144(%esp,%eax,8),%mm6 - movb %dl,%al - movd %mm7,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - shrl $4,%edi - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 536(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 532(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 528(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 524(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - pxor 144(%esp,%eax,8),%mm6 - xorb (%esp,%ebp,1),%bl - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - movzbl %bl,%ebx - pxor %mm2,%mm2 - psllq $4,%mm1 - movd %mm7,%ecx - psrlq $4,%mm7 - movq %mm6,%mm3 - psrlq $4,%mm6 - shll $4,%ecx - pxor 16(%esp,%edi,8),%mm7 - psllq $60,%mm3 - movzbl %cl,%ecx - pxor %mm3,%mm7 - pxor 144(%esp,%edi,8),%mm6 - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor %mm1,%mm6 - movd %mm7,%edx - pinsrw $3,(%esi,%ecx,2),%mm2 - psllq $12,%mm0 - pxor %mm0,%mm6 - psrlq $32,%mm7 - pxor %mm2,%mm6 - movl 548(%esp),%ecx - movd %mm7,%ebx - movq %mm6,%mm3 - psllw $8,%mm6 - psrlw $8,%mm3 - por %mm3,%mm6 - bswap %edx - pshufw $27,%mm6,%mm6 - bswap %ebx - cmpl 552(%esp),%ecx - jne .L004outer - movl 544(%esp),%eax - movl %edx,12(%eax) - movl %ebx,8(%eax) - movq %mm6,(%eax) - movl 556(%esp),%esp - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin .globl gcm_init_clmul .hidden gcm_init_clmul .type gcm_init_clmul,@function @@ -719,10 +14,10 @@ gcm_init_clmul: .L_gcm_init_clmul_begin: movl 4(%esp),%edx movl 8(%esp),%eax - call .L005pic -.L005pic: + call .L000pic +.L000pic: popl %ecx - leal .Lbswap-.L005pic(%ecx),%ecx + leal .Lbswap-.L000pic(%ecx),%ecx movdqu (%eax),%xmm2 pshufd $78,%xmm2,%xmm2 pshufd $255,%xmm2,%xmm4 @@ -789,10 +84,10 @@ gcm_gmult_clmul: .L_gcm_gmult_clmul_begin: movl 4(%esp),%eax movl 8(%esp),%edx - call .L006pic -.L006pic: + call .L001pic +.L001pic: popl %ecx - leal .Lbswap-.L006pic(%ecx),%ecx + leal .Lbswap-.L001pic(%ecx),%ecx movdqu (%eax),%xmm0 movdqa (%ecx),%xmm5 movups (%edx),%xmm2 @@ -849,16 +144,16 @@ gcm_ghash_clmul: movl 24(%esp),%edx movl 28(%esp),%esi movl 32(%esp),%ebx - call .L007pic -.L007pic: + call .L002pic +.L002pic: popl %ecx - leal .Lbswap-.L007pic(%ecx),%ecx + leal .Lbswap-.L002pic(%ecx),%ecx movdqu (%eax),%xmm0 movdqa (%ecx),%xmm5 movdqu (%edx),%xmm2 .byte 102,15,56,0,197 subl $16,%ebx - jz .L008odd_tail + jz .L003odd_tail movdqu (%esi),%xmm3 movdqu 16(%esi),%xmm6 .byte 102,15,56,0,221 @@ -875,10 +170,10 @@ gcm_ghash_clmul: movups 16(%edx),%xmm2 nop subl $32,%ebx - jbe .L009even_tail - jmp .L010mod_loop + jbe .L004even_tail + jmp .L005mod_loop .align 32 -.L010mod_loop: +.L005mod_loop: pshufd $78,%xmm0,%xmm4 movdqa %xmm0,%xmm1 pxor %xmm0,%xmm4 @@ -933,8 +228,8 @@ gcm_ghash_clmul: .byte 102,15,58,68,221,0 leal 32(%esi),%esi subl $32,%ebx - ja .L010mod_loop -.L009even_tail: + ja .L005mod_loop +.L004even_tail: pshufd $78,%xmm0,%xmm4 movdqa %xmm0,%xmm1 pxor %xmm0,%xmm4 @@ -973,9 +268,9 @@ gcm_ghash_clmul: psrlq $1,%xmm0 pxor %xmm1,%xmm0 testl %ebx,%ebx - jnz .L011done + jnz .L006done movups (%edx),%xmm2 -.L008odd_tail: +.L003odd_tail: movdqu (%esi),%xmm3 .byte 102,15,56,0,221 pxor %xmm3,%xmm0 @@ -1014,7 +309,7 @@ gcm_ghash_clmul: pxor %xmm4,%xmm0 psrlq $1,%xmm0 pxor %xmm1,%xmm0 -.L011done: +.L006done: .byte 102,15,56,0,197 movdqu %xmm0,(%eax) popl %edi @@ -1027,48 +322,9 @@ gcm_ghash_clmul: .Lbswap: .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 -.align 64 -.Lrem_8bit: -.value 0,450,900,582,1800,1738,1164,1358 -.value 3600,4050,3476,3158,2328,2266,2716,2910 -.value 7200,7650,8100,7782,6952,6890,6316,6510 -.value 4656,5106,4532,4214,5432,5370,5820,6014 -.value 14400,14722,15300,14854,16200,16010,15564,15630 -.value 13904,14226,13780,13334,12632,12442,13020,13086 -.value 9312,9634,10212,9766,9064,8874,8428,8494 -.value 10864,11186,10740,10294,11640,11450,12028,12094 -.value 28800,28994,29444,29382,30600,30282,29708,30158 -.value 32400,32594,32020,31958,31128,30810,31260,31710 -.value 27808,28002,28452,28390,27560,27242,26668,27118 -.value 25264,25458,24884,24822,26040,25722,26172,26622 -.value 18624,18690,19268,19078,20424,19978,19532,19854 -.value 18128,18194,17748,17558,16856,16410,16988,17310 -.value 21728,21794,22372,22182,21480,21034,20588,20910 -.value 23280,23346,22900,22710,24056,23610,24188,24510 -.value 57600,57538,57988,58182,58888,59338,58764,58446 -.value 61200,61138,60564,60758,59416,59866,60316,59998 -.value 64800,64738,65188,65382,64040,64490,63916,63598 -.value 62256,62194,61620,61814,62520,62970,63420,63102 -.value 55616,55426,56004,56070,56904,57226,56780,56334 -.value 55120,54930,54484,54550,53336,53658,54236,53790 -.value 50528,50338,50916,50982,49768,50090,49644,49198 -.value 52080,51890,51444,51510,52344,52666,53244,52798 -.value 37248,36930,37380,37830,38536,38730,38156,38094 -.value 40848,40530,39956,40406,39064,39258,39708,39646 -.value 36256,35938,36388,36838,35496,35690,35116,35054 -.value 33712,33394,32820,33270,33976,34170,34620,34558 -.value 43456,43010,43588,43910,44744,44810,44364,44174 -.value 42960,42514,42068,42390,41176,41242,41820,41630 -.value 46560,46114,46692,47014,45800,45866,45420,45230 -.value 48112,47666,47220,47542,48376,48442,49020,48830 -.align 64 -.Lrem_4bit: -.long 0,0,0,471859200,0,943718400,0,610271232 -.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 .byte 0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/md5-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/md5-586.S index cc0dcd8361d..6de8ff886af 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/md5-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/md5-586.S @@ -685,3 +685,4 @@ md5_block_asm_data_order: ret .size md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha1-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha1-586.S index 4df4d061c55..4449e38f72a 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha1-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha1-586.S @@ -3805,3 +3805,4 @@ _sha1_block_data_order_avx: .byte 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 .byte 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha256-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha256-586.S index 39d57786233..f61fa3df72a 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha256-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha256-586.S @@ -5564,3 +5564,4 @@ sha256_block_data_order: ret .size sha256_block_data_order,.-.L_sha256_block_data_order_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha512-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha512-586.S index c8dd6770dae..89fb50b4ca8 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha512-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha512-586.S @@ -2834,3 +2834,4 @@ sha512_block_data_order: .byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 .byte 62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/vpaes-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/vpaes-x86.S index 4ea92ed08b2..8807116950b 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/vpaes-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/vpaes-x86.S @@ -6,7 +6,7 @@ #include #endif .text -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST #endif .align 64 .L_vpaes_consts: @@ -485,7 +485,7 @@ vpaes_set_encrypt_key: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L016pic @@ -570,7 +570,7 @@ vpaes_encrypt: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L019pic @@ -705,3 +705,4 @@ vpaes_cbc_encrypt: ret .size vpaes_cbc_encrypt,.-.L_vpaes_cbc_encrypt_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/x86-mont.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/x86-mont.S index 9924c02820f..f2c6fde7c66 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/x86-mont.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/x86-mont.S @@ -481,3 +481,4 @@ bn_mul_mont: .byte 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 .byte 111,114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/test/trampoline-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/test/trampoline-x86.S index 2222347aaee..13eb677c973 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/test/trampoline-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/test/trampoline-x86.S @@ -203,3 +203,4 @@ abi_test_clobber_xmm7: ret .size abi_test_clobber_xmm7,.-.L_abi_test_clobber_xmm7_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/chacha/chacha-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/chacha/chacha-x86_64.S index 4e2267bb234..b76713398d8 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/chacha/chacha-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/chacha/chacha-x86_64.S @@ -1630,3 +1630,4 @@ ChaCha20_8x: .cfi_endproc .size ChaCha20_8x,.-ChaCha20_8x #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S index 3eb1688c439..a22bee8fcf2 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S @@ -3076,3 +3076,4 @@ aes256gcmsiv_kdf: .cfi_endproc .size aes256gcmsiv_kdf, .-aes256gcmsiv_kdf #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S index 677335b9633..aefa5432d87 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S @@ -3935,7 +3935,7 @@ do_length_block: popq %rbp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_adjust_cfa_offset (8 * 6) + 288 + 32 +.cfi_adjust_cfa_offset (8 * 7) + 288 + 32 seal_sse_128: movdqu .chacha20_consts(%rip),%xmm0 @@ -8984,3 +8984,4 @@ seal_avx2_short_tail: jmp seal_sse_tail_16 .cfi_endproc #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aes-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aes-x86_64.S deleted file mode 100644 index f45e010e281..00000000000 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aes-x86_64.S +++ /dev/null @@ -1,2664 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__has_feature) -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif -#endif - -#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.align 16 -.globl aes_nohw_encrypt -.hidden aes_nohw_encrypt -.type aes_nohw_encrypt,@function -.hidden aes_nohw_encrypt -aes_nohw_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_encrypt,.-aes_nohw_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.align 16 -.globl aes_nohw_decrypt -.hidden aes_nohw_decrypt -.type aes_nohw_decrypt,@function -.hidden aes_nohw_decrypt -aes_nohw_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_decrypt,.-aes_nohw_decrypt -.align 16 -.globl aes_nohw_set_encrypt_key -.hidden aes_nohw_set_encrypt_key -.type aes_nohw_set_encrypt_key,@function -aes_nohw_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_set_encrypt_key,.-aes_nohw_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.align 16 -.globl aes_nohw_set_decrypt_key -.hidden aes_nohw_set_decrypt_key -.type aes_nohw_set_decrypt_key,@function -aes_nohw_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_set_decrypt_key,.-aes_nohw_set_decrypt_key -.align 16 -.globl aes_nohw_cbc_encrypt -.hidden aes_nohw_cbc_encrypt -.type aes_nohw_cbc_encrypt,@function -.extern OPENSSL_ia32cap_P -.hidden OPENSSL_ia32cap_P -.hidden aes_nohw_cbc_encrypt -aes_nohw_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - leaq OPENSSL_ia32cap_P(%rip),%r10 - movl (%r10),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_cbc_encrypt,.-aes_nohw_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 -#endif diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S index 240cb5d4730..65ab5c78fe2 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S @@ -556,12 +556,10 @@ _aesni_ctr32_6x: .align 32 aesni_gcm_encrypt: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST .extern BORINGSSL_function_hit .hidden BORINGSSL_function_hit movb $1,BORINGSSL_function_hit+2(%rip) -#endif #endif xorq %r10,%r10 @@ -851,3 +849,4 @@ aesni_gcm_encrypt: .byte 65,69,83,45,78,73,32,71,67,77,32,109,111,100,117,108,101,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S index 42e55307ff2..b98107f3694 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S @@ -20,12 +20,10 @@ .align 16 aes_hw_encrypt: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST .extern BORINGSSL_function_hit .hidden BORINGSSL_function_hit movb $1,BORINGSSL_function_hit+1(%rip) -#endif #endif movups (%rdi),%xmm2 movl 240(%rdx),%eax @@ -887,10 +885,8 @@ aes_hw_ecb_encrypt: .align 16 aes_hw_ctr32_encrypt_blocks: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,BORINGSSL_function_hit(%rip) -#endif #endif cmpq $1,%rdx jne .Lctr32_bulk @@ -2111,11 +2107,9 @@ aes_hw_set_decrypt_key: aes_hw_set_encrypt_key: __aesni_set_encrypt_key: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,BORINGSSL_function_hit+3(%rip) #endif -#endif .byte 0x48,0x83,0xEC,0x08 .cfi_adjust_cfa_offset 8 movq $-1,%rax @@ -2509,3 +2503,4 @@ __aesni_set_encrypt_key: .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69,83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S index ecf5b66ffff..a44790b169f 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S @@ -424,3 +424,4 @@ gcm_ghash_ssse3: .Llow4_mask: .quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S index 0b36afac943..3eb1af43553 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S @@ -14,709 +14,6 @@ .text .extern OPENSSL_ia32cap_P .hidden OPENSSL_ia32cap_P - -.globl gcm_gmult_4bit -.hidden gcm_gmult_4bit -.type gcm_gmult_4bit,@function -.align 16 -gcm_gmult_4bit: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $280,%rsp -.cfi_adjust_cfa_offset 280 -.Lgmult_prologue: - - movzbq 15(%rdi),%r8 - leaq .Lrem_4bit(%rip),%r11 - xorq %rax,%rax - xorq %rbx,%rbx - movb %r8b,%al - movb %r8b,%bl - shlb $4,%al - movq $14,%rcx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - movq %r8,%rdx - jmp .Loop1 - -.align 16 -.Loop1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - movb (%rdi,%rcx,1),%al - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - movb %al,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - shlb $4,%al - xorq %r10,%r8 - decq %rcx - js .Lbreak1 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - jmp .Loop1 - -.align 16 -.Lbreak1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - xorq %r10,%r8 - xorq (%r11,%rdx,8),%r9 - - bswapq %r8 - bswapq %r9 - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lgmult_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size gcm_gmult_4bit,.-gcm_gmult_4bit -.globl gcm_ghash_4bit -.hidden gcm_ghash_4bit -.type gcm_ghash_4bit,@function -.align 16 -gcm_ghash_4bit: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $280,%rsp -.cfi_adjust_cfa_offset 280 -.Lghash_prologue: - movq %rdx,%r14 - movq %rcx,%r15 - subq $-128,%rsi - leaq 16+128(%rsp),%rbp - xorl %edx,%edx - movq 0+0-128(%rsi),%r8 - movq 0+8-128(%rsi),%rax - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq 16+0-128(%rsi),%r9 - shlb $4,%dl - movq 16+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,0(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,0(%rbp) - movq 32+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,0-128(%rbp) - movq 32+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,1(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,8(%rbp) - movq 48+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,8-128(%rbp) - movq 48+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,2(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,16(%rbp) - movq 64+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,16-128(%rbp) - movq 64+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,3(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,24(%rbp) - movq 80+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,24-128(%rbp) - movq 80+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,4(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,32(%rbp) - movq 96+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,32-128(%rbp) - movq 96+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,5(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,40(%rbp) - movq 112+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,40-128(%rbp) - movq 112+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,6(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,48(%rbp) - movq 128+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,48-128(%rbp) - movq 128+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,7(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,56(%rbp) - movq 144+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,56-128(%rbp) - movq 144+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,8(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,64(%rbp) - movq 160+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,64-128(%rbp) - movq 160+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,9(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,72(%rbp) - movq 176+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,72-128(%rbp) - movq 176+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,10(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,80(%rbp) - movq 192+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,80-128(%rbp) - movq 192+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,11(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,88(%rbp) - movq 208+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,88-128(%rbp) - movq 208+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,12(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,96(%rbp) - movq 224+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,96-128(%rbp) - movq 224+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,13(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,104(%rbp) - movq 240+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,104-128(%rbp) - movq 240+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,14(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,112(%rbp) - shlb $4,%dl - movq %rax,112-128(%rbp) - shlq $60,%r10 - movb %dl,15(%rsp) - orq %r10,%rbx - movq %r9,120(%rbp) - movq %rbx,120-128(%rbp) - addq $-128,%rsi - movq 8(%rdi),%r8 - movq 0(%rdi),%r9 - addq %r14,%r15 - leaq .Lrem_8bit(%rip),%r11 - jmp .Louter_loop -.align 16 -.Louter_loop: - xorq (%r14),%r9 - movq 8(%r14),%rdx - leaq 16(%r14),%r14 - xorq %r8,%rdx - movq %r9,(%rdi) - movq %rdx,8(%rdi) - shrq $32,%rdx - xorq %rax,%rax - roll $8,%edx - movb %dl,%al - movzbl %dl,%ebx - shlb $4,%al - shrl $4,%ebx - roll $8,%edx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - movb %dl,%al - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - xorq %r8,%r12 - movq %r9,%r10 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 8(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 0(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - andl $240,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl -4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - movzwq (%r11,%r12,2),%r12 - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - shlq $48,%r12 - xorq %r10,%r8 - xorq %r12,%r9 - movzbq %r8b,%r13 - shrq $4,%r8 - movq %r9,%r10 - shlb $4,%r13b - shrq $4,%r9 - xorq 8(%rsi,%rcx,1),%r8 - movzwq (%r11,%r13,2),%r13 - shlq $60,%r10 - xorq (%rsi,%rcx,1),%r9 - xorq %r10,%r8 - shlq $48,%r13 - bswapq %r8 - xorq %r13,%r9 - bswapq %r9 - cmpq %r15,%r14 - jb .Louter_loop - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq 0(%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lghash_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size gcm_ghash_4bit,.-gcm_ghash_4bit .globl gcm_init_clmul .hidden gcm_init_clmul .type gcm_init_clmul,@function @@ -1822,50 +1119,9 @@ gcm_ghash_avx: .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 .L7_mask: .long 7,0,7,0 -.L7_mask_poly: -.long 7,0,450,0 .align 64 -.type .Lrem_4bit,@object -.Lrem_4bit: -.long 0,0,0,471859200,0,943718400,0,610271232 -.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 -.type .Lrem_8bit,@object -.Lrem_8bit: -.value 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E -.value 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E -.value 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E -.value 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E -.value 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E -.value 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E -.value 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E -.value 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E -.value 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE -.value 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE -.value 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE -.value 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE -.value 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E -.value 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E -.value 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE -.value 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE -.value 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E -.value 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E -.value 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E -.value 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E -.value 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E -.value 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E -.value 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E -.value 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E -.value 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE -.value 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE -.value 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE -.value 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE -.value 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E -.value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E -.value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE -.value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/md5-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/md5-x86_64.S index 18e2e9282a8..04aaf057e60 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/md5-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/md5-x86_64.S @@ -699,3 +699,4 @@ md5_block_asm_data_order: .cfi_endproc .size md5_block_asm_data_order,.-md5_block_asm_data_order #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S index 067575ec751..85f48990128 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S @@ -4540,3 +4540,4 @@ ecp_nistz256_point_add_affinex: .cfi_endproc .size ecp_nistz256_point_add_affinex,.-ecp_nistz256_point_add_affinex #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S index 5dfecc85ebf..d072a83479b 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S @@ -340,3 +340,4 @@ beeu_mod_inverse_vartime: .size beeu_mod_inverse_vartime, .-beeu_mod_inverse_vartime #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S index fefccd6fdf2..18d66f6f7f7 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S @@ -60,3 +60,4 @@ CRYPTO_rdrand_multiple8_buf: .cfi_endproc .size CRYPTO_rdrand_multiple8_buf,.-CRYPTO_rdrand_multiple8_buf #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S index 579c7055565..faccd484b00 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S @@ -1746,3 +1746,4 @@ rsaz_1024_gather5_avx2: .long 4,4,4,4, 4,4,4,4 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S index 044f36f0ca6..964687dc756 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S @@ -27,6 +27,11 @@ sha1_block_data_order: movl 8(%r10),%r10d testl $512,%r8d jz .Lialu + testl $536870912,%r10d + jnz _shaext_shortcut + andl $296,%r10d + cmpl $296,%r10d + je _avx2_shortcut andl $268435456,%r8d andl $1073741824,%r9d orl %r9d,%r8d @@ -1266,6 +1271,175 @@ sha1_block_data_order: .byte 0xf3,0xc3 .cfi_endproc .size sha1_block_data_order,.-sha1_block_data_order +.type sha1_block_data_order_shaext,@function +.align 32 +sha1_block_data_order_shaext: +_shaext_shortcut: +.cfi_startproc + movdqu (%rdi),%xmm0 + movd 16(%rdi),%xmm1 + movdqa K_XX_XX+160(%rip),%xmm3 + + movdqu (%rsi),%xmm4 + pshufd $27,%xmm0,%xmm0 + movdqu 16(%rsi),%xmm5 + pshufd $27,%xmm1,%xmm1 + movdqu 32(%rsi),%xmm6 +.byte 102,15,56,0,227 + movdqu 48(%rsi),%xmm7 +.byte 102,15,56,0,235 +.byte 102,15,56,0,243 + movdqa %xmm1,%xmm9 +.byte 102,15,56,0,251 + jmp .Loop_shaext + +.align 16 +.Loop_shaext: + decq %rdx + leaq 64(%rsi),%r8 + paddd %xmm4,%xmm1 + cmovneq %r8,%rsi + movdqa %xmm0,%xmm8 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,0 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,0 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,1 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,1 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,2 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,2 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 + movdqu (%rsi),%xmm4 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,3 +.byte 15,56,200,213 + movdqu 16(%rsi),%xmm5 +.byte 102,15,56,0,227 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 15,56,200,206 + movdqu 32(%rsi),%xmm6 +.byte 102,15,56,0,235 + + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,3 +.byte 15,56,200,215 + movdqu 48(%rsi),%xmm7 +.byte 102,15,56,0,243 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 65,15,56,200,201 +.byte 102,15,56,0,251 + + paddd %xmm8,%xmm0 + movdqa %xmm1,%xmm9 + + jnz .Loop_shaext + + pshufd $27,%xmm0,%xmm0 + pshufd $27,%xmm1,%xmm1 + movdqu %xmm0,(%rdi) + movd %xmm1,16(%rdi) + .byte 0xf3,0xc3 +.cfi_endproc +.size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 sha1_block_data_order_ssse3: @@ -3582,6 +3756,1699 @@ _avx_shortcut: .byte 0xf3,0xc3 .cfi_endproc .size sha1_block_data_order_avx,.-sha1_block_data_order_avx +.type sha1_block_data_order_avx2,@function +.align 16 +sha1_block_data_order_avx2: +_avx2_shortcut: +.cfi_startproc + movq %rsp,%r11 +.cfi_def_cfa_register %r11 + pushq %rbx +.cfi_offset %rbx,-16 + pushq %rbp +.cfi_offset %rbp,-24 + pushq %r12 +.cfi_offset %r12,-32 + pushq %r13 +.cfi_offset %r13,-40 + pushq %r14 +.cfi_offset %r14,-48 + vzeroupper + movq %rdi,%r8 + movq %rsi,%r9 + movq %rdx,%r10 + + leaq -640(%rsp),%rsp + shlq $6,%r10 + leaq 64(%r9),%r13 + andq $-128,%rsp + addq %r9,%r10 + leaq K_XX_XX+64(%rip),%r14 + + movl 0(%r8),%eax + cmpq %r10,%r13 + cmovaeq %r9,%r13 + movl 4(%r8),%ebp + movl 8(%r8),%ecx + movl 12(%r8),%edx + movl 16(%r8),%esi + vmovdqu 64(%r14),%ymm6 + + vmovdqu (%r9),%xmm0 + vmovdqu 16(%r9),%xmm1 + vmovdqu 32(%r9),%xmm2 + vmovdqu 48(%r9),%xmm3 + leaq 64(%r9),%r9 + vinserti128 $1,(%r13),%ymm0,%ymm0 + vinserti128 $1,16(%r13),%ymm1,%ymm1 + vpshufb %ymm6,%ymm0,%ymm0 + vinserti128 $1,32(%r13),%ymm2,%ymm2 + vpshufb %ymm6,%ymm1,%ymm1 + vinserti128 $1,48(%r13),%ymm3,%ymm3 + vpshufb %ymm6,%ymm2,%ymm2 + vmovdqu -64(%r14),%ymm11 + vpshufb %ymm6,%ymm3,%ymm3 + + vpaddd %ymm11,%ymm0,%ymm4 + vpaddd %ymm11,%ymm1,%ymm5 + vmovdqu %ymm4,0(%rsp) + vpaddd %ymm11,%ymm2,%ymm6 + vmovdqu %ymm5,32(%rsp) + vpaddd %ymm11,%ymm3,%ymm7 + vmovdqu %ymm6,64(%rsp) + vmovdqu %ymm7,96(%rsp) + vpalignr $8,%ymm0,%ymm1,%ymm4 + vpsrldq $4,%ymm3,%ymm8 + vpxor %ymm0,%ymm4,%ymm4 + vpxor %ymm2,%ymm8,%ymm8 + vpxor %ymm8,%ymm4,%ymm4 + vpsrld $31,%ymm4,%ymm8 + vpslldq $12,%ymm4,%ymm10 + vpaddd %ymm4,%ymm4,%ymm4 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm4,%ymm4 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm4,%ymm4 + vpxor %ymm10,%ymm4,%ymm4 + vpaddd %ymm11,%ymm4,%ymm9 + vmovdqu %ymm9,128(%rsp) + vpalignr $8,%ymm1,%ymm2,%ymm5 + vpsrldq $4,%ymm4,%ymm8 + vpxor %ymm1,%ymm5,%ymm5 + vpxor %ymm3,%ymm8,%ymm8 + vpxor %ymm8,%ymm5,%ymm5 + vpsrld $31,%ymm5,%ymm8 + vmovdqu -32(%r14),%ymm11 + vpslldq $12,%ymm5,%ymm10 + vpaddd %ymm5,%ymm5,%ymm5 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm5,%ymm5 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm5,%ymm5 + vpxor %ymm10,%ymm5,%ymm5 + vpaddd %ymm11,%ymm5,%ymm9 + vmovdqu %ymm9,160(%rsp) + vpalignr $8,%ymm2,%ymm3,%ymm6 + vpsrldq $4,%ymm5,%ymm8 + vpxor %ymm2,%ymm6,%ymm6 + vpxor %ymm4,%ymm8,%ymm8 + vpxor %ymm8,%ymm6,%ymm6 + vpsrld $31,%ymm6,%ymm8 + vpslldq $12,%ymm6,%ymm10 + vpaddd %ymm6,%ymm6,%ymm6 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm6,%ymm6 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm6,%ymm6 + vpxor %ymm10,%ymm6,%ymm6 + vpaddd %ymm11,%ymm6,%ymm9 + vmovdqu %ymm9,192(%rsp) + vpalignr $8,%ymm3,%ymm4,%ymm7 + vpsrldq $4,%ymm6,%ymm8 + vpxor %ymm3,%ymm7,%ymm7 + vpxor %ymm5,%ymm8,%ymm8 + vpxor %ymm8,%ymm7,%ymm7 + vpsrld $31,%ymm7,%ymm8 + vpslldq $12,%ymm7,%ymm10 + vpaddd %ymm7,%ymm7,%ymm7 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm7,%ymm7 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm7,%ymm7 + vpxor %ymm10,%ymm7,%ymm7 + vpaddd %ymm11,%ymm7,%ymm9 + vmovdqu %ymm9,224(%rsp) + leaq 128(%rsp),%r13 + jmp .Loop_avx2 +.align 32 +.Loop_avx2: + rorxl $2,%ebp,%ebx + andnl %edx,%ebp,%edi + andl %ecx,%ebp + xorl %edi,%ebp + jmp .Lalign32_1 +.align 32 +.Lalign32_1: + vpalignr $8,%ymm6,%ymm7,%ymm8 + vpxor %ymm4,%ymm0,%ymm0 + addl -128(%r13),%esi + andnl %ecx,%eax,%edi + vpxor %ymm1,%ymm0,%ymm0 + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpxor %ymm8,%ymm0,%ymm0 + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + vpsrld $30,%ymm0,%ymm8 + vpslld $2,%ymm0,%ymm0 + addl -124(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + vpor %ymm8,%ymm0,%ymm0 + addl %r12d,%edx + xorl %edi,%esi + addl -120(%r13),%ecx + andnl %ebp,%edx,%edi + vpaddd %ymm11,%ymm0,%ymm9 + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + vmovdqu %ymm9,256(%rsp) + addl %r12d,%ecx + xorl %edi,%edx + addl -116(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -96(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + vpalignr $8,%ymm7,%ymm0,%ymm8 + vpxor %ymm5,%ymm1,%ymm1 + addl -92(%r13),%eax + andnl %edx,%ebp,%edi + vpxor %ymm2,%ymm1,%ymm1 + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + vpxor %ymm8,%ymm1,%ymm1 + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + vpsrld $30,%ymm1,%ymm8 + vpslld $2,%ymm1,%ymm1 + addl -88(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + vpor %ymm8,%ymm1,%ymm1 + addl %r12d,%esi + xorl %edi,%eax + addl -84(%r13),%edx + andnl %ebx,%esi,%edi + vpaddd %ymm11,%ymm1,%ymm9 + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + vmovdqu %ymm9,288(%rsp) + addl %r12d,%edx + xorl %edi,%esi + addl -64(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -60(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + vpalignr $8,%ymm0,%ymm1,%ymm8 + vpxor %ymm6,%ymm2,%ymm2 + addl -56(%r13),%ebp + andnl %esi,%ebx,%edi + vpxor %ymm3,%ymm2,%ymm2 + vmovdqu 0(%r14),%ymm11 + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpxor %ymm8,%ymm2,%ymm2 + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + vpsrld $30,%ymm2,%ymm8 + vpslld $2,%ymm2,%ymm2 + addl -52(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + vpor %ymm8,%ymm2,%ymm2 + addl %r12d,%eax + xorl %edi,%ebp + addl -32(%r13),%esi + andnl %ecx,%eax,%edi + vpaddd %ymm11,%ymm2,%ymm9 + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + vmovdqu %ymm9,320(%rsp) + addl %r12d,%esi + xorl %edi,%eax + addl -28(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -24(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + vpalignr $8,%ymm1,%ymm2,%ymm8 + vpxor %ymm7,%ymm3,%ymm3 + addl -20(%r13),%ebx + andnl %eax,%ecx,%edi + vpxor %ymm4,%ymm3,%ymm3 + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpxor %ymm8,%ymm3,%ymm3 + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + vpsrld $30,%ymm3,%ymm8 + vpslld $2,%ymm3,%ymm3 + addl 0(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + vpor %ymm8,%ymm3,%ymm3 + addl %r12d,%ebp + xorl %edi,%ebx + addl 4(%r13),%eax + andnl %edx,%ebp,%edi + vpaddd %ymm11,%ymm3,%ymm9 + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + vmovdqu %ymm9,352(%rsp) + addl %r12d,%eax + xorl %edi,%ebp + addl 8(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl 12(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vpalignr $8,%ymm2,%ymm3,%ymm8 + vpxor %ymm0,%ymm4,%ymm4 + addl 32(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + vpxor %ymm5,%ymm4,%ymm4 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpxor %ymm8,%ymm4,%ymm4 + addl %r12d,%ecx + xorl %ebp,%edx + addl 36(%r13),%ebx + vpsrld $30,%ymm4,%ymm8 + vpslld $2,%ymm4,%ymm4 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vpor %ymm8,%ymm4,%ymm4 + addl 40(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpaddd %ymm11,%ymm4,%ymm9 + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 44(%r13),%eax + vmovdqu %ymm9,384(%rsp) + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpalignr $8,%ymm3,%ymm4,%ymm8 + vpxor %ymm1,%ymm5,%ymm5 + addl 68(%r13),%edx + leal (%rdx,%rax,1),%edx + vpxor %ymm6,%ymm5,%ymm5 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + vpxor %ymm8,%ymm5,%ymm5 + addl %r12d,%edx + xorl %ebx,%esi + addl 72(%r13),%ecx + vpsrld $30,%ymm5,%ymm8 + vpslld $2,%ymm5,%ymm5 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + vpor %ymm8,%ymm5,%ymm5 + addl 76(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpaddd %ymm11,%ymm5,%ymm9 + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 96(%r13),%ebp + vmovdqu %ymm9,416(%rsp) + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 100(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpalignr $8,%ymm4,%ymm5,%ymm8 + vpxor %ymm2,%ymm6,%ymm6 + addl 104(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpxor %ymm7,%ymm6,%ymm6 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + vpxor %ymm8,%ymm6,%ymm6 + addl %r12d,%esi + xorl %ecx,%eax + addl 108(%r13),%edx + leaq 256(%r13),%r13 + vpsrld $30,%ymm6,%ymm8 + vpslld $2,%ymm6,%ymm6 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vpor %ymm8,%ymm6,%ymm6 + addl -128(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpaddd %ymm11,%ymm6,%ymm9 + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -124(%r13),%ebx + vmovdqu %ymm9,448(%rsp) + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -120(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpalignr $8,%ymm5,%ymm6,%ymm8 + vpxor %ymm3,%ymm7,%ymm7 + addl -116(%r13),%eax + leal (%rax,%rbx,1),%eax + vpxor %ymm0,%ymm7,%ymm7 + vmovdqu 32(%r14),%ymm11 + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + vpxor %ymm8,%ymm7,%ymm7 + addl %r12d,%eax + xorl %edx,%ebp + addl -96(%r13),%esi + vpsrld $30,%ymm7,%ymm8 + vpslld $2,%ymm7,%ymm7 + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpor %ymm8,%ymm7,%ymm7 + addl -92(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpaddd %ymm11,%ymm7,%ymm9 + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -88(%r13),%ecx + vmovdqu %ymm9,480(%rsp) + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -84(%r13),%ebx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + jmp .Lalign32_2 +.align 32 +.Lalign32_2: + vpalignr $8,%ymm6,%ymm7,%ymm8 + vpxor %ymm4,%ymm0,%ymm0 + addl -64(%r13),%ebp + xorl %esi,%ecx + vpxor %ymm1,%ymm0,%ymm0 + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + vpxor %ymm8,%ymm0,%ymm0 + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + vpsrld $30,%ymm0,%ymm8 + vpslld $2,%ymm0,%ymm0 + addl %r12d,%ebp + andl %edi,%ebx + addl -60(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + vpor %ymm8,%ymm0,%ymm0 + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + vpaddd %ymm11,%ymm0,%ymm9 + addl %r12d,%eax + andl %edi,%ebp + addl -56(%r13),%esi + xorl %ecx,%ebp + vmovdqu %ymm9,512(%rsp) + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl -52(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + addl -32(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + vpalignr $8,%ymm7,%ymm0,%ymm8 + vpxor %ymm5,%ymm1,%ymm1 + addl -28(%r13),%ebx + xorl %eax,%edx + vpxor %ymm2,%ymm1,%ymm1 + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + vpxor %ymm8,%ymm1,%ymm1 + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vpsrld $30,%ymm1,%ymm8 + vpslld $2,%ymm1,%ymm1 + addl %r12d,%ebx + andl %edi,%ecx + addl -24(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + vpor %ymm8,%ymm1,%ymm1 + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + vpaddd %ymm11,%ymm1,%ymm9 + addl %r12d,%ebp + andl %edi,%ebx + addl -20(%r13),%eax + xorl %edx,%ebx + vmovdqu %ymm9,544(%rsp) + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 0(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl 4(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + vpalignr $8,%ymm0,%ymm1,%ymm8 + vpxor %ymm6,%ymm2,%ymm2 + addl 8(%r13),%ecx + xorl %ebp,%esi + vpxor %ymm3,%ymm2,%ymm2 + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + vpxor %ymm8,%ymm2,%ymm2 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpsrld $30,%ymm2,%ymm8 + vpslld $2,%ymm2,%ymm2 + addl %r12d,%ecx + andl %edi,%edx + addl 12(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + vpor %ymm8,%ymm2,%ymm2 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vpaddd %ymm11,%ymm2,%ymm9 + addl %r12d,%ebx + andl %edi,%ecx + addl 32(%r13),%ebp + xorl %esi,%ecx + vmovdqu %ymm9,576(%rsp) + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 36(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 40(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + vpalignr $8,%ymm1,%ymm2,%ymm8 + vpxor %ymm7,%ymm3,%ymm3 + addl 44(%r13),%edx + xorl %ebx,%eax + vpxor %ymm4,%ymm3,%ymm3 + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + vpxor %ymm8,%ymm3,%ymm3 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + vpsrld $30,%ymm3,%ymm8 + vpslld $2,%ymm3,%ymm3 + addl %r12d,%edx + andl %edi,%esi + addl 64(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + vpor %ymm8,%ymm3,%ymm3 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpaddd %ymm11,%ymm3,%ymm9 + addl %r12d,%ecx + andl %edi,%edx + addl 68(%r13),%ebx + xorl %eax,%edx + vmovdqu %ymm9,608(%rsp) + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl 72(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 76(%r13),%eax + xorl %edx,%ebx + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl 100(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 104(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 108(%r13),%ebx + leaq 256(%r13),%r13 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -128(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -124(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -120(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -116(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -96(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -92(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -88(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -84(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -60(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -56(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -52(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -32(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -28(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -24(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -20(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + addl %r12d,%edx + leaq 128(%r9),%r13 + leaq 128(%r9),%rdi + cmpq %r10,%r13 + cmovaeq %r9,%r13 + + + addl 0(%r8),%edx + addl 4(%r8),%esi + addl 8(%r8),%ebp + movl %edx,0(%r8) + addl 12(%r8),%ebx + movl %esi,4(%r8) + movl %edx,%eax + addl 16(%r8),%ecx + movl %ebp,%r12d + movl %ebp,8(%r8) + movl %ebx,%edx + + movl %ebx,12(%r8) + movl %esi,%ebp + movl %ecx,16(%r8) + + movl %ecx,%esi + movl %r12d,%ecx + + + cmpq %r10,%r9 + je .Ldone_avx2 + vmovdqu 64(%r14),%ymm6 + cmpq %r10,%rdi + ja .Last_avx2 + + vmovdqu -64(%rdi),%xmm0 + vmovdqu -48(%rdi),%xmm1 + vmovdqu -32(%rdi),%xmm2 + vmovdqu -16(%rdi),%xmm3 + vinserti128 $1,0(%r13),%ymm0,%ymm0 + vinserti128 $1,16(%r13),%ymm1,%ymm1 + vinserti128 $1,32(%r13),%ymm2,%ymm2 + vinserti128 $1,48(%r13),%ymm3,%ymm3 + jmp .Last_avx2 + +.align 32 +.Last_avx2: + leaq 128+16(%rsp),%r13 + rorxl $2,%ebp,%ebx + andnl %edx,%ebp,%edi + andl %ecx,%ebp + xorl %edi,%ebp + subq $-128,%r9 + addl -128(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -124(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -120(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -116(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -96(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl -92(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl -88(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -84(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -64(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -60(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -56(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl -52(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl -32(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -28(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -24(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -20(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl 0(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl 4(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl 8(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl 12(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 32(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 36(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 40(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 44(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vmovdqu -64(%r14),%ymm11 + vpshufb %ymm6,%ymm0,%ymm0 + addl 68(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 72(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 76(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 96(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 100(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpshufb %ymm6,%ymm1,%ymm1 + vpaddd %ymm11,%ymm0,%ymm8 + addl 104(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl 108(%r13),%edx + leaq 256(%r13),%r13 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -128(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -124(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -120(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vmovdqu %ymm8,0(%rsp) + vpshufb %ymm6,%ymm2,%ymm2 + vpaddd %ymm11,%ymm1,%ymm9 + addl -116(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -92(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -88(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -84(%r13),%ebx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + vmovdqu %ymm9,32(%rsp) + vpshufb %ymm6,%ymm3,%ymm3 + vpaddd %ymm11,%ymm2,%ymm6 + addl -64(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl -60(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl -56(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl -52(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + addl -32(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + jmp .Lalign32_3 +.align 32 +.Lalign32_3: + vmovdqu %ymm6,64(%rsp) + vpaddd %ymm11,%ymm3,%ymm7 + addl -28(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl -24(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl -20(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 0(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl 4(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + vmovdqu %ymm7,96(%rsp) + addl 8(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + addl 12(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl 32(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 36(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 40(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + vpalignr $8,%ymm0,%ymm1,%ymm4 + addl 44(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + vpsrldq $4,%ymm3,%ymm8 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpxor %ymm0,%ymm4,%ymm4 + vpxor %ymm2,%ymm8,%ymm8 + xorl %ebp,%esi + addl %r12d,%edx + vpxor %ymm8,%ymm4,%ymm4 + andl %edi,%esi + addl 64(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + vpsrld $31,%ymm4,%ymm8 + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + vpslldq $12,%ymm4,%ymm10 + vpaddd %ymm4,%ymm4,%ymm4 + rorxl $2,%edx,%esi + xorl %eax,%edx + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm4,%ymm4 + addl %r12d,%ecx + andl %edi,%edx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm4,%ymm4 + addl 68(%r13),%ebx + xorl %eax,%edx + vpxor %ymm10,%ymm4,%ymm4 + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + vpaddd %ymm11,%ymm4,%ymm9 + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vmovdqu %ymm9,128(%rsp) + addl %r12d,%ebx + andl %edi,%ecx + addl 72(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 76(%r13),%eax + xorl %edx,%ebx + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpalignr $8,%ymm1,%ymm2,%ymm5 + addl 96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpsrldq $4,%ymm4,%ymm8 + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpxor %ymm1,%ymm5,%ymm5 + vpxor %ymm3,%ymm8,%ymm8 + addl 100(%r13),%edx + leal (%rdx,%rax,1),%edx + vpxor %ymm8,%ymm5,%ymm5 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + vpsrld $31,%ymm5,%ymm8 + vmovdqu -32(%r14),%ymm11 + xorl %ebx,%esi + addl 104(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + vpslldq $12,%ymm5,%ymm10 + vpaddd %ymm5,%ymm5,%ymm5 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm5,%ymm5 + xorl %eax,%edx + addl %r12d,%ecx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm5,%ymm5 + xorl %ebp,%edx + addl 108(%r13),%ebx + leaq 256(%r13),%r13 + vpxor %ymm10,%ymm5,%ymm5 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpaddd %ymm11,%ymm5,%ymm9 + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vmovdqu %ymm9,160(%rsp) + addl -128(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpalignr $8,%ymm2,%ymm3,%ymm6 + addl -124(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + vpsrldq $4,%ymm5,%ymm8 + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpxor %ymm2,%ymm6,%ymm6 + vpxor %ymm4,%ymm8,%ymm8 + addl -120(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpxor %ymm8,%ymm6,%ymm6 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + vpsrld $31,%ymm6,%ymm8 + xorl %ecx,%eax + addl -116(%r13),%edx + leal (%rdx,%rax,1),%edx + vpslldq $12,%ymm6,%ymm10 + vpaddd %ymm6,%ymm6,%ymm6 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm6,%ymm6 + xorl %ebp,%esi + addl %r12d,%edx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm6,%ymm6 + xorl %ebx,%esi + addl -96(%r13),%ecx + vpxor %ymm10,%ymm6,%ymm6 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpaddd %ymm11,%ymm6,%ymm9 + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + vmovdqu %ymm9,192(%rsp) + addl -92(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vpalignr $8,%ymm3,%ymm4,%ymm7 + addl -88(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpsrldq $4,%ymm6,%ymm8 + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpxor %ymm3,%ymm7,%ymm7 + vpxor %ymm5,%ymm8,%ymm8 + addl -84(%r13),%eax + leal (%rax,%rbx,1),%eax + vpxor %ymm8,%ymm7,%ymm7 + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + vpsrld $31,%ymm7,%ymm8 + xorl %edx,%ebp + addl -64(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpslldq $12,%ymm7,%ymm10 + vpaddd %ymm7,%ymm7,%ymm7 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm7,%ymm7 + xorl %ebx,%eax + addl %r12d,%esi + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm7,%ymm7 + xorl %ecx,%eax + addl -60(%r13),%edx + vpxor %ymm10,%ymm7,%ymm7 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpaddd %ymm11,%ymm7,%ymm9 + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vmovdqu %ymm9,224(%rsp) + addl -56(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -52(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -32(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -28(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -24(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -20(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + addl %r12d,%edx + leaq 128(%rsp),%r13 + + + addl 0(%r8),%edx + addl 4(%r8),%esi + addl 8(%r8),%ebp + movl %edx,0(%r8) + addl 12(%r8),%ebx + movl %esi,4(%r8) + movl %edx,%eax + addl 16(%r8),%ecx + movl %ebp,%r12d + movl %ebp,8(%r8) + movl %ebx,%edx + + movl %ebx,12(%r8) + movl %esi,%ebp + movl %ecx,16(%r8) + + movl %ecx,%esi + movl %r12d,%ecx + + + cmpq %r10,%r9 + jbe .Loop_avx2 + +.Ldone_avx2: + vzeroupper + movq -40(%r11),%r14 +.cfi_restore %r14 + movq -32(%r11),%r13 +.cfi_restore %r13 + movq -24(%r11),%r12 +.cfi_restore %r12 + movq -16(%r11),%rbp +.cfi_restore %rbp + movq -8(%r11),%rbx +.cfi_restore %rbx + leaq (%r11),%rsp +.cfi_def_cfa_register %rsp +.Lepilogue_avx2: + .byte 0xf3,0xc3 +.cfi_endproc +.size sha1_block_data_order_avx2,.-sha1_block_data_order_avx2 .align 64 K_XX_XX: .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 @@ -3598,3 +5465,4 @@ K_XX_XX: .byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S index 55b540f161c..0bacd6a4a82 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S @@ -3970,3 +3970,4 @@ sha256_block_data_order_avx: .cfi_endproc .size sha256_block_data_order_avx,.-sha256_block_data_order_avx #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S index 509e144ed8d..afc47f139be 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S @@ -2989,3 +2989,4 @@ sha512_block_data_order_avx: .cfi_endproc .size sha512_block_data_order_avx,.-sha512_block_data_order_avx #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S index 0fc93f9a267..27a34617a31 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S @@ -812,12 +812,10 @@ _vpaes_schedule_mangle: .align 16 vpaes_set_encrypt_key: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST .extern BORINGSSL_function_hit .hidden BORINGSSL_function_hit movb $1,BORINGSSL_function_hit+5(%rip) -#endif #endif movl %esi,%eax @@ -863,12 +861,10 @@ vpaes_set_decrypt_key: .align 16 vpaes_encrypt: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST .extern BORINGSSL_function_hit .hidden BORINGSSL_function_hit movb $1,BORINGSSL_function_hit+4(%rip) -#endif #endif movdqu (%rdi),%xmm0 call _vpaes_preheat @@ -1134,3 +1130,4 @@ _vpaes_consts: .align 64 .size _vpaes_consts,.-_vpaes_consts #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont.S index f3637f01aa8..bdb44542122 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont.S @@ -1257,3 +1257,4 @@ bn_mulx4x_mont: .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 16 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S index b12393e2010..c86b3b0a594 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S @@ -3787,3 +3787,4 @@ bn_gather5: .long 2,2, 2,2 .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,119,105,116,104,32,115,99,97,116,116,101,114,47,103,97,116,104,101,114,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/test/trampoline-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/test/trampoline-x86_64.S index 91a13f3eed2..9f7c0d817c9 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/test/trampoline-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/test/trampoline-x86_64.S @@ -515,3 +515,4 @@ abi_test_set_direction_flag: .byte 0xf3,0xc3 .size abi_test_set_direction_flag,.-abi_test_set_direction_flag #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S deleted file mode 100644 index 4b3c925467f..00000000000 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S +++ /dev/null @@ -1,1870 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__has_feature) -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif -#endif - -#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text - - -.Lp434x2: -.quad 0xFFFFFFFFFFFFFFFE -.quad 0xFFFFFFFFFFFFFFFF -.quad 0xFB82ECF5C5FFFFFF -.quad 0xF78CB8F062B15D47 -.quad 0xD9F8BFAD038A40AC -.quad 0x0004683E4E2EE688 - - -.Lp434p1: -.quad 0xFDC1767AE3000000 -.quad 0x7BC65C783158AEA3 -.quad 0x6CFC5FD681C52056 -.quad 0x0002341F27177344 - -.extern OPENSSL_ia32cap_P -.hidden OPENSSL_ia32cap_P -.hidden OPENSSL_ia32cap_P -.globl sike_fpadd -.hidden sike_fpadd -.type sike_fpadd,@function -sike_fpadd: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset r14, -32 - - xorq %rax,%rax - - movq 0(%rdi),%r8 - addq 0(%rsi),%r8 - movq 8(%rdi),%r9 - adcq 8(%rsi),%r9 - movq 16(%rdi),%r10 - adcq 16(%rsi),%r10 - movq 24(%rdi),%r11 - adcq 24(%rsi),%r11 - movq 32(%rdi),%r12 - adcq 32(%rsi),%r12 - movq 40(%rdi),%r13 - adcq 40(%rsi),%r13 - movq 48(%rdi),%r14 - adcq 48(%rsi),%r14 - - movq .Lp434x2(%rip),%rcx - subq %rcx,%r8 - movq 8+.Lp434x2(%rip),%rcx - sbbq %rcx,%r9 - sbbq %rcx,%r10 - movq 16+.Lp434x2(%rip),%rcx - sbbq %rcx,%r11 - movq 24+.Lp434x2(%rip),%rcx - sbbq %rcx,%r12 - movq 32+.Lp434x2(%rip),%rcx - sbbq %rcx,%r13 - movq 40+.Lp434x2(%rip),%rcx - sbbq %rcx,%r14 - - sbbq $0,%rax - - movq .Lp434x2(%rip),%rdi - andq %rax,%rdi - movq 8+.Lp434x2(%rip),%rsi - andq %rax,%rsi - movq 16+.Lp434x2(%rip),%rcx - andq %rax,%rcx - - addq %rdi,%r8 - movq %r8,0(%rdx) - adcq %rsi,%r9 - movq %r9,8(%rdx) - adcq %rsi,%r10 - movq %r10,16(%rdx) - adcq %rcx,%r11 - movq %r11,24(%rdx) - - setc %cl - movq 24+.Lp434x2(%rip),%r8 - andq %rax,%r8 - movq 32+.Lp434x2(%rip),%r9 - andq %rax,%r9 - movq 40+.Lp434x2(%rip),%r10 - andq %rax,%r10 - btq $0,%rcx - - adcq %r8,%r12 - movq %r12,32(%rdx) - adcq %r9,%r13 - movq %r13,40(%rdx) - adcq %r10,%r14 - movq %r14,48(%rdx) - - popq %r14 -.cfi_adjust_cfa_offset -8 - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_cswap_asm -.hidden sike_cswap_asm -.type sike_cswap_asm,@function -sike_cswap_asm: - - - movq %rdx,%xmm3 - - - - - - pshufd $68,%xmm3,%xmm3 - - movdqu 0(%rdi),%xmm0 - movdqu 0(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,0(%rdi) - movdqu %xmm1,0(%rsi) - - movdqu 16(%rdi),%xmm0 - movdqu 16(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,16(%rdi) - movdqu %xmm1,16(%rsi) - - movdqu 32(%rdi),%xmm0 - movdqu 32(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,32(%rdi) - movdqu %xmm1,32(%rsi) - - movdqu 48(%rdi),%xmm0 - movdqu 48(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,48(%rdi) - movdqu %xmm1,48(%rsi) - - movdqu 64(%rdi),%xmm0 - movdqu 64(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,64(%rdi) - movdqu %xmm1,64(%rsi) - - movdqu 80(%rdi),%xmm0 - movdqu 80(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,80(%rdi) - movdqu %xmm1,80(%rsi) - - movdqu 96(%rdi),%xmm0 - movdqu 96(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,96(%rdi) - movdqu %xmm1,96(%rsi) - - movdqu 112(%rdi),%xmm0 - movdqu 112(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,112(%rdi) - movdqu %xmm1,112(%rsi) - - movdqu 128(%rdi),%xmm0 - movdqu 128(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,128(%rdi) - movdqu %xmm1,128(%rsi) - - movdqu 144(%rdi),%xmm0 - movdqu 144(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,144(%rdi) - movdqu %xmm1,144(%rsi) - - movdqu 160(%rdi),%xmm0 - movdqu 160(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,160(%rdi) - movdqu %xmm1,160(%rsi) - - movdqu 176(%rdi),%xmm0 - movdqu 176(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,176(%rdi) - movdqu %xmm1,176(%rsi) - - movdqu 192(%rdi),%xmm0 - movdqu 192(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,192(%rdi) - movdqu %xmm1,192(%rsi) - - movdqu 208(%rdi),%xmm0 - movdqu 208(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,208(%rdi) - movdqu %xmm1,208(%rsi) - - .byte 0xf3,0xc3 -.globl sike_fpsub -.hidden sike_fpsub -.type sike_fpsub,@function -sike_fpsub: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset r14, -32 - - xorq %rax,%rax - - movq 0(%rdi),%r8 - subq 0(%rsi),%r8 - movq 8(%rdi),%r9 - sbbq 8(%rsi),%r9 - movq 16(%rdi),%r10 - sbbq 16(%rsi),%r10 - movq 24(%rdi),%r11 - sbbq 24(%rsi),%r11 - movq 32(%rdi),%r12 - sbbq 32(%rsi),%r12 - movq 40(%rdi),%r13 - sbbq 40(%rsi),%r13 - movq 48(%rdi),%r14 - sbbq 48(%rsi),%r14 - - sbbq $0x0,%rax - - movq .Lp434x2(%rip),%rdi - andq %rax,%rdi - movq 8+.Lp434x2(%rip),%rsi - andq %rax,%rsi - movq 16+.Lp434x2(%rip),%rcx - andq %rax,%rcx - - addq %rdi,%r8 - movq %r8,0(%rdx) - adcq %rsi,%r9 - movq %r9,8(%rdx) - adcq %rsi,%r10 - movq %r10,16(%rdx) - adcq %rcx,%r11 - movq %r11,24(%rdx) - - setc %cl - movq 24+.Lp434x2(%rip),%r8 - andq %rax,%r8 - movq 32+.Lp434x2(%rip),%r9 - andq %rax,%r9 - movq 40+.Lp434x2(%rip),%r10 - andq %rax,%r10 - btq $0x0,%rcx - - adcq %r8,%r12 - adcq %r9,%r13 - adcq %r10,%r14 - movq %r12,32(%rdx) - movq %r13,40(%rdx) - movq %r14,48(%rdx) - - popq %r14 -.cfi_adjust_cfa_offset -8 - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_mpadd_asm -.hidden sike_mpadd_asm -.type sike_mpadd_asm,@function -sike_mpadd_asm: -.cfi_startproc - movq 0(%rdi),%r8; - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - movq 32(%rdi),%rcx - addq 0(%rsi),%r8 - adcq 8(%rsi),%r9 - adcq 16(%rsi),%r10 - adcq 24(%rsi),%r11 - adcq 32(%rsi),%rcx - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %rcx,32(%rdx) - - movq 40(%rdi),%r8 - movq 48(%rdi),%r9 - adcq 40(%rsi),%r8 - adcq 48(%rsi),%r9 - movq %r8,40(%rdx) - movq %r9,48(%rdx) - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_mpsubx2_asm -.hidden sike_mpsubx2_asm -.type sike_mpsubx2_asm,@function -sike_mpsubx2_asm: -.cfi_startproc - xorq %rax,%rax - - movq 0(%rdi),%r8 - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - movq 32(%rdi),%rcx - subq 0(%rsi),%r8 - sbbq 8(%rsi),%r9 - sbbq 16(%rsi),%r10 - sbbq 24(%rsi),%r11 - sbbq 32(%rsi),%rcx - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %rcx,32(%rdx) - - movq 40(%rdi),%r8 - movq 48(%rdi),%r9 - movq 56(%rdi),%r10 - movq 64(%rdi),%r11 - movq 72(%rdi),%rcx - sbbq 40(%rsi),%r8 - sbbq 48(%rsi),%r9 - sbbq 56(%rsi),%r10 - sbbq 64(%rsi),%r11 - sbbq 72(%rsi),%rcx - movq %r8,40(%rdx) - movq %r9,48(%rdx) - movq %r10,56(%rdx) - movq %r11,64(%rdx) - movq %rcx,72(%rdx) - - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - sbbq 80(%rsi),%r8 - sbbq 88(%rsi),%r9 - sbbq 96(%rsi),%r10 - sbbq 104(%rsi),%r11 - sbbq $0x0,%rax - movq %r8,80(%rdx) - movq %r9,88(%rdx) - movq %r10,96(%rdx) - movq %r11,104(%rdx) - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_mpdblsubx2_asm -.hidden sike_mpdblsubx2_asm -.type sike_mpdblsubx2_asm,@function -sike_mpdblsubx2_asm: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - - xorq %rax,%rax - - - movq 0(%rdx),%r8 - movq 8(%rdx),%r9 - movq 16(%rdx),%r10 - movq 24(%rdx),%r11 - movq 32(%rdx),%r12 - movq 40(%rdx),%r13 - movq 48(%rdx),%rcx - subq 0(%rdi),%r8 - sbbq 8(%rdi),%r9 - sbbq 16(%rdi),%r10 - sbbq 24(%rdi),%r11 - sbbq 32(%rdi),%r12 - sbbq 40(%rdi),%r13 - sbbq 48(%rdi),%rcx - adcq $0x0,%rax - - - subq 0(%rsi),%r8 - sbbq 8(%rsi),%r9 - sbbq 16(%rsi),%r10 - sbbq 24(%rsi),%r11 - sbbq 32(%rsi),%r12 - sbbq 40(%rsi),%r13 - sbbq 48(%rsi),%rcx - adcq $0x0,%rax - - - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %r12,32(%rdx) - movq %r13,40(%rdx) - movq %rcx,48(%rdx) - - - movq 56(%rdx),%r8 - movq 64(%rdx),%r9 - movq 72(%rdx),%r10 - movq 80(%rdx),%r11 - movq 88(%rdx),%r12 - movq 96(%rdx),%r13 - movq 104(%rdx),%rcx - - subq %rax,%r8 - sbbq 56(%rdi),%r8 - sbbq 64(%rdi),%r9 - sbbq 72(%rdi),%r10 - sbbq 80(%rdi),%r11 - sbbq 88(%rdi),%r12 - sbbq 96(%rdi),%r13 - sbbq 104(%rdi),%rcx - - - subq 56(%rsi),%r8 - sbbq 64(%rsi),%r9 - sbbq 72(%rsi),%r10 - sbbq 80(%rsi),%r11 - sbbq 88(%rsi),%r12 - sbbq 96(%rsi),%r13 - sbbq 104(%rsi),%rcx - - - movq %r8,56(%rdx) - movq %r9,64(%rdx) - movq %r10,72(%rdx) - movq %r11,80(%rdx) - movq %r12,88(%rdx) - movq %r13,96(%rdx) - movq %rcx,104(%rdx) - - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc - -.Lrdc_bdw: -.cfi_startproc - -.cfi_adjust_cfa_offset 32 -.cfi_offset r12, -16 -.cfi_offset r13, -24 -.cfi_offset r14, -32 -.cfi_offset r15, -40 - - xorq %rax,%rax - movq 0+0(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r8,%r9 - mulxq 8+.Lp434p1(%rip),%r12,%r10 - mulxq 16+.Lp434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+.Lp434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 0+8(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+.Lp434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 24(%rdi),%r8 - adcq 32(%rdi),%r9 - adcq 40(%rdi),%r10 - adcq 48(%rdi),%r11 - adcq 56(%rdi),%r12 - adcq 64(%rdi),%r13 - adcq 72(%rdi),%rcx - movq %r8,24(%rdi) - movq %r9,32(%rdi) - movq %r10,40(%rdi) - movq %r11,48(%rdi) - movq %r12,56(%rdi) - movq %r13,64(%rdi) - movq %rcx,72(%rdi) - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - adcq $0x0,%r8 - adcq $0x0,%r9 - adcq $0x0,%r10 - adcq $0x0,%r11 - movq %r8,80(%rdi) - movq %r9,88(%rdi) - movq %r10,96(%rdi) - movq %r11,104(%rdi) - - xorq %rax,%rax - movq 16+0(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r8,%r9 - mulxq 8+.Lp434p1(%rip),%r12,%r10 - mulxq 16+.Lp434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+.Lp434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 16+8(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+.Lp434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 40(%rdi),%r8 - adcq 48(%rdi),%r9 - adcq 56(%rdi),%r10 - adcq 64(%rdi),%r11 - adcq 72(%rdi),%r12 - adcq 80(%rdi),%r13 - adcq 88(%rdi),%rcx - movq %r8,40(%rdi) - movq %r9,48(%rdi) - movq %r10,56(%rdi) - movq %r11,64(%rdi) - movq %r12,72(%rdi) - movq %r13,80(%rdi) - movq %rcx,88(%rdi) - movq 96(%rdi),%r8 - movq 104(%rdi),%r9 - adcq $0x0,%r8 - adcq $0x0,%r9 - movq %r8,96(%rdi) - movq %r9,104(%rdi) - - xorq %rax,%rax - movq 32+0(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r8,%r9 - mulxq 8+.Lp434p1(%rip),%r12,%r10 - mulxq 16+.Lp434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+.Lp434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 32+8(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+.Lp434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 56(%rdi),%r8 - adcq 64(%rdi),%r9 - adcq 72(%rdi),%r10 - adcq 80(%rdi),%r11 - adcq 88(%rdi),%r12 - adcq 96(%rdi),%r13 - adcq 104(%rdi),%rcx - movq %r8,0(%rsi) - movq %r9,8(%rsi) - movq %r10,72(%rdi) - movq %r11,80(%rdi) - movq %r12,88(%rdi) - movq %r13,96(%rdi) - movq %rcx,104(%rdi) - - xorq %rax,%rax - movq 48(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r8,%r9 - mulxq 8+.Lp434p1(%rip),%r12,%r10 - mulxq 16+.Lp434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+.Lp434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - addq 72(%rdi),%r8 - adcq 80(%rdi),%r9 - adcq 88(%rdi),%r10 - adcq 96(%rdi),%r11 - adcq 104(%rdi),%r12 - movq %r8,16(%rsi) - movq %r9,24(%rsi) - movq %r10,32(%rsi) - movq %r11,40(%rsi) - movq %r12,48(%rsi) - - - popq %r15 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r15 - popq %r14 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r14 - popq %r13 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r13 - popq %r12 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r12 - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_fprdc -.hidden sike_fprdc -.type sike_fprdc,@function -sike_fprdc: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset r14, -32 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset r15, -40 - - - - leaq OPENSSL_ia32cap_P(%rip),%rcx - movq 8(%rcx),%rcx - andl $0x80100,%ecx - cmpl $0x80100,%ecx - je .Lrdc_bdw - - - - - movq 0+0(%rdi),%r14 - movq 0+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 0+8(%rdi),%rcx - movq 0+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+.Lp434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 24(%rdi),%r8 - adcq 32(%rdi),%r9 - adcq 40(%rdi),%r10 - adcq 48(%rdi),%r11 - adcq 56(%rdi),%r12 - adcq 64(%rdi),%r13 - adcq 72(%rdi),%rcx - movq %r8,24(%rdi) - movq %r9,32(%rdi) - movq %r10,40(%rdi) - movq %r11,48(%rdi) - movq %r12,56(%rdi) - movq %r13,64(%rdi) - movq %rcx,72(%rdi) - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - adcq $0x0,%r8 - adcq $0x0,%r9 - adcq $0x0,%r10 - adcq $0x0,%r11 - movq %r8,80(%rdi) - movq %r9,88(%rdi) - movq %r10,96(%rdi) - movq %r11,104(%rdi) - - - movq 16+0(%rdi),%r14 - movq 0+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 16+8(%rdi),%rcx - movq 0+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+.Lp434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 40(%rdi),%r8 - adcq 48(%rdi),%r9 - adcq 56(%rdi),%r10 - adcq 64(%rdi),%r11 - adcq 72(%rdi),%r12 - adcq 80(%rdi),%r13 - adcq 88(%rdi),%rcx - movq %r8,40(%rdi) - movq %r9,48(%rdi) - movq %r10,56(%rdi) - movq %r11,64(%rdi) - movq %r12,72(%rdi) - movq %r13,80(%rdi) - movq %rcx,88(%rdi) - movq 96(%rdi),%r8 - movq 104(%rdi),%r9 - adcq $0x0,%r8 - adcq $0x0,%r9 - movq %r8,96(%rdi) - movq %r9,104(%rdi) - - - movq 32+0(%rdi),%r14 - movq 0+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 32+8(%rdi),%rcx - movq 0+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+.Lp434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 56(%rdi),%r8 - adcq 64(%rdi),%r9 - adcq 72(%rdi),%r10 - adcq 80(%rdi),%r11 - adcq 88(%rdi),%r12 - adcq 96(%rdi),%r13 - adcq 104(%rdi),%rcx - movq %r8,0(%rsi) - movq %r9,8(%rsi) - movq %r10,72(%rdi) - movq %r11,80(%rdi) - movq %r12,88(%rdi) - movq %r13,96(%rdi) - movq %rcx,104(%rdi) - - movq 48(%rdi),%r13 - - xorq %r10,%r10 - movq 0+.Lp434p1(%rip),%rax - mulq %r13 - movq %rax,%r8 - movq %rdx,%r9 - - xorq %r11,%r11 - movq 8+.Lp434p1(%rip),%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - - xorq %r12,%r12 - movq 16+.Lp434p1(%rip),%rax - mulq %r13 - addq %rax,%r10 - adcq %rdx,%r11 - - movq 24+.Lp434p1(%rip),%rax - mulq %r13 - addq %rax,%r11 - adcq %rdx,%r12 - - addq 72(%rdi),%r8 - adcq 80(%rdi),%r9 - adcq 88(%rdi),%r10 - adcq 96(%rdi),%r11 - adcq 104(%rdi),%r12 - movq %r8,16(%rsi) - movq %r9,24(%rsi) - movq %r10,32(%rsi) - movq %r11,40(%rsi) - movq %r12,48(%rsi) - - - popq %r15 -.cfi_adjust_cfa_offset -8 - popq %r14 -.cfi_adjust_cfa_offset -8 - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc -.Lmul_bdw: -.cfi_startproc - -.cfi_adjust_cfa_offset 32 -.cfi_offset r12, -16 -.cfi_offset r13, -24 -.cfi_offset r14, -32 -.cfi_offset r15, -40 - - - movq %rdx,%rcx - xorq %rax,%rax - - - movq 0(%rdi),%r8 - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset rbx, -48 - pushq %rbp -.cfi_offset rbp, -56 -.cfi_adjust_cfa_offset 8 - subq $96,%rsp -.cfi_adjust_cfa_offset 96 - - addq 32(%rdi),%r8 - adcq 40(%rdi),%r9 - adcq 48(%rdi),%r10 - adcq $0x0,%r11 - sbbq $0x0,%rax - movq %r8,0(%rsp) - movq %r9,8(%rsp) - movq %r10,16(%rsp) - movq %r11,24(%rsp) - - - xorq %rbx,%rbx - movq 0(%rsi),%r12 - movq 8(%rsi),%r13 - movq 16(%rsi),%r14 - movq 24(%rsi),%r15 - addq 32(%rsi),%r12 - adcq 40(%rsi),%r13 - adcq 48(%rsi),%r14 - adcq $0x0,%r15 - sbbq $0x0,%rbx - movq %r12,32(%rsp) - movq %r13,40(%rsp) - movq %r14,48(%rsp) - movq %r15,56(%rsp) - - - andq %rax,%r12 - andq %rax,%r13 - andq %rax,%r14 - andq %rax,%r15 - - - andq %rbx,%r8 - andq %rbx,%r9 - andq %rbx,%r10 - andq %rbx,%r11 - - - addq %r12,%r8 - adcq %r13,%r9 - adcq %r14,%r10 - adcq %r15,%r11 - movq %r8,64(%rsp) - movq %r9,72(%rsp) - movq %r10,80(%rsp) - movq %r11,88(%rsp) - - - movq 0+0(%rsp),%rdx - mulxq 32+0(%rsp),%r9,%r8 - movq %r9,0+0(%rsp) - mulxq 32+8(%rsp),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 32+16(%rsp),%r11,%r10 - adoxq %r11,%r9 - mulxq 32+24(%rsp),%r12,%r11 - adoxq %r12,%r10 - - movq 0+8(%rsp),%rdx - mulxq 32+0(%rsp),%r12,%r13 - adoxq %rax,%r11 - xorq %rax,%rax - mulxq 32+8(%rsp),%r15,%r14 - adoxq %r8,%r12 - movq %r12,0+8(%rsp) - adcxq %r15,%r13 - mulxq 32+16(%rsp),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r9,%r13 - mulxq 32+24(%rsp),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r10,%r14 - - movq 0+16(%rsp),%rdx - mulxq 32+0(%rsp),%r8,%r9 - adoxq %r11,%r15 - adoxq %rax,%rbx - xorq %rax,%rax - mulxq 32+8(%rsp),%r11,%r10 - adoxq %r13,%r8 - movq %r8,0+16(%rsp) - adcxq %r11,%r9 - mulxq 32+16(%rsp),%r12,%r11 - adcxq %r12,%r10 - adoxq %r14,%r9 - mulxq 32+24(%rsp),%rbp,%r12 - adcxq %rbp,%r11 - adcxq %rax,%r12 - - adoxq %r15,%r10 - adoxq %rbx,%r11 - adoxq %rax,%r12 - - movq 0+24(%rsp),%rdx - mulxq 32+0(%rsp),%r8,%r13 - xorq %rax,%rax - mulxq 32+8(%rsp),%r15,%r14 - adcxq %r15,%r13 - adoxq %r8,%r9 - mulxq 32+16(%rsp),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r13,%r10 - mulxq 32+24(%rsp),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r14,%r11 - adoxq %r15,%r12 - adoxq %rax,%rbx - movq %r9,0+24(%rsp) - movq %r10,0+32(%rsp) - movq %r11,0+40(%rsp) - movq %r12,0+48(%rsp) - movq %rbx,0+56(%rsp) - - - - movq 0+0(%rdi),%rdx - mulxq 0+0(%rsi),%r9,%r8 - movq %r9,0+0(%rcx) - mulxq 0+8(%rsi),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 0+16(%rsi),%r11,%r10 - adoxq %r11,%r9 - mulxq 0+24(%rsi),%r12,%r11 - adoxq %r12,%r10 - - movq 0+8(%rdi),%rdx - mulxq 0+0(%rsi),%r12,%r13 - adoxq %rax,%r11 - xorq %rax,%rax - mulxq 0+8(%rsi),%r15,%r14 - adoxq %r8,%r12 - movq %r12,0+8(%rcx) - adcxq %r15,%r13 - mulxq 0+16(%rsi),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r9,%r13 - mulxq 0+24(%rsi),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r10,%r14 - - movq 0+16(%rdi),%rdx - mulxq 0+0(%rsi),%r8,%r9 - adoxq %r11,%r15 - adoxq %rax,%rbx - xorq %rax,%rax - mulxq 0+8(%rsi),%r11,%r10 - adoxq %r13,%r8 - movq %r8,0+16(%rcx) - adcxq %r11,%r9 - mulxq 0+16(%rsi),%r12,%r11 - adcxq %r12,%r10 - adoxq %r14,%r9 - mulxq 0+24(%rsi),%rbp,%r12 - adcxq %rbp,%r11 - adcxq %rax,%r12 - - adoxq %r15,%r10 - adoxq %rbx,%r11 - adoxq %rax,%r12 - - movq 0+24(%rdi),%rdx - mulxq 0+0(%rsi),%r8,%r13 - xorq %rax,%rax - mulxq 0+8(%rsi),%r15,%r14 - adcxq %r15,%r13 - adoxq %r8,%r9 - mulxq 0+16(%rsi),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r13,%r10 - mulxq 0+24(%rsi),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r14,%r11 - adoxq %r15,%r12 - adoxq %rax,%rbx - movq %r9,0+24(%rcx) - movq %r10,0+32(%rcx) - movq %r11,0+40(%rcx) - movq %r12,0+48(%rcx) - movq %rbx,0+56(%rcx) - - - - movq 32+0(%rdi),%rdx - mulxq 32+0(%rsi),%r9,%r8 - movq %r9,64+0(%rcx) - mulxq 32+8(%rsi),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 32+16(%rsi),%r11,%r10 - adoxq %r11,%r9 - - movq 32+8(%rdi),%rdx - mulxq 32+0(%rsi),%r12,%r11 - adoxq %rax,%r10 - xorq %rax,%rax - - mulxq 32+8(%rsi),%r14,%r13 - adoxq %r8,%r12 - movq %r12,64+8(%rcx) - adcxq %r14,%r11 - - mulxq 32+16(%rsi),%r8,%r14 - adoxq %r9,%r11 - adcxq %r8,%r13 - adcxq %rax,%r14 - adoxq %r10,%r13 - - movq 32+16(%rdi),%rdx - mulxq 32+0(%rsi),%r8,%r9 - adoxq %rax,%r14 - xorq %rax,%rax - - mulxq 32+8(%rsi),%r10,%r12 - adoxq %r11,%r8 - movq %r8,64+16(%rcx) - adcxq %r13,%r9 - - mulxq 32+16(%rsi),%r11,%r8 - adcxq %r14,%r12 - adcxq %rax,%r8 - adoxq %r10,%r9 - adoxq %r12,%r11 - adoxq %rax,%r8 - movq %r9,64+24(%rcx) - movq %r11,64+32(%rcx) - movq %r8,64+40(%rcx) - - - - - movq 64(%rsp),%r8 - movq 72(%rsp),%r9 - movq 80(%rsp),%r10 - movq 88(%rsp),%r11 - - movq 32(%rsp),%rax - addq %rax,%r8 - movq 40(%rsp),%rax - adcq %rax,%r9 - movq 48(%rsp),%rax - adcq %rax,%r10 - movq 56(%rsp),%rax - adcq %rax,%r11 - - - movq 0(%rsp),%r12 - movq 8(%rsp),%r13 - movq 16(%rsp),%r14 - movq 24(%rsp),%r15 - subq 0(%rcx),%r12 - sbbq 8(%rcx),%r13 - sbbq 16(%rcx),%r14 - sbbq 24(%rcx),%r15 - sbbq 32(%rcx),%r8 - sbbq 40(%rcx),%r9 - sbbq 48(%rcx),%r10 - sbbq 56(%rcx),%r11 - - - subq 64(%rcx),%r12 - sbbq 72(%rcx),%r13 - sbbq 80(%rcx),%r14 - sbbq 88(%rcx),%r15 - sbbq 96(%rcx),%r8 - sbbq 104(%rcx),%r9 - sbbq $0x0,%r10 - sbbq $0x0,%r11 - - addq 32(%rcx),%r12 - movq %r12,32(%rcx) - adcq 40(%rcx),%r13 - movq %r13,40(%rcx) - adcq 48(%rcx),%r14 - movq %r14,48(%rcx) - adcq 56(%rcx),%r15 - movq %r15,56(%rcx) - adcq 64(%rcx),%r8 - movq %r8,64(%rcx) - adcq 72(%rcx),%r9 - movq %r9,72(%rcx) - adcq 80(%rcx),%r10 - movq %r10,80(%rcx) - adcq 88(%rcx),%r11 - movq %r11,88(%rcx) - movq 96(%rcx),%r12 - adcq $0x0,%r12 - movq %r12,96(%rcx) - movq 104(%rcx),%r13 - adcq $0x0,%r13 - movq %r13,104(%rcx) - - addq $96,%rsp -.cfi_adjust_cfa_offset -96 - popq %rbp -.cfi_adjust_cfa_offset -8 -.cfi_same_value rbp - popq %rbx -.cfi_adjust_cfa_offset -8 -.cfi_same_value rbx - - - popq %r15 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r15 - popq %r14 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r14 - popq %r13 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r13 - popq %r12 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r12 - .byte 0xf3,0xc3 -.cfi_endproc - -.globl sike_mpmul -.hidden sike_mpmul -.type sike_mpmul,@function -sike_mpmul: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset r14, -32 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset r15, -40 - - - - leaq OPENSSL_ia32cap_P(%rip),%rcx - movq 8(%rcx),%rcx - andl $0x80100,%ecx - cmpl $0x80100,%ecx - je .Lmul_bdw - - - - movq %rdx,%rcx - - subq $112,%rsp -.cfi_adjust_cfa_offset 112 - - - xorq %rax,%rax - movq 32(%rdi),%r8 - movq 40(%rdi),%r9 - movq 48(%rdi),%r10 - xorq %r11,%r11 - addq 0(%rdi),%r8 - adcq 8(%rdi),%r9 - adcq 16(%rdi),%r10 - adcq 24(%rdi),%r11 - - sbbq $0,%rax - movq %rax,64(%rsp) - - movq %r8,0(%rcx) - movq %r9,8(%rcx) - movq %r10,16(%rcx) - movq %r11,24(%rcx) - - - xorq %rdx,%rdx - movq 32(%rsi),%r12 - movq 40(%rsi),%r13 - movq 48(%rsi),%r14 - xorq %r15,%r15 - addq 0(%rsi),%r12 - adcq 8(%rsi),%r13 - adcq 16(%rsi),%r14 - adcq 24(%rsi),%r15 - sbbq $0x0,%rdx - - movq %rdx,72(%rsp) - - - movq (%rcx),%rax - mulq %r12 - movq %rax,(%rsp) - movq %rdx,%r8 - - xorq %r9,%r9 - movq (%rcx),%rax - mulq %r13 - addq %rax,%r8 - adcq %rdx,%r9 - - xorq %r10,%r10 - movq 8(%rcx),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,8(%rsp) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq (%rcx),%rax - mulq %r14 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 16(%rcx),%rax - mulq %r12 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 8(%rcx),%rax - mulq %r13 - addq %rax,%r9 - movq %r9,16(%rsp) - adcq %rdx,%r10 - adcq $0x0,%r8 - - xorq %r9,%r9 - movq (%rcx),%rax - mulq %r15 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 24(%rcx),%rax - mulq %r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 8(%rcx),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 16(%rcx),%rax - mulq %r13 - addq %rax,%r10 - movq %r10,24(%rsp) - adcq %rdx,%r8 - adcq $0x0,%r9 - - xorq %r10,%r10 - movq 8(%rcx),%rax - mulq %r15 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 24(%rcx),%rax - mulq %r13 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 16(%rcx),%rax - mulq %r14 - addq %rax,%r8 - movq %r8,32(%rsp) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r11,%r11 - movq 16(%rcx),%rax - mulq %r15 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - movq 24(%rcx),%rax - mulq %r14 - addq %rax,%r9 - movq %r9,40(%rsp) - adcq %rdx,%r10 - adcq $0x0,%r11 - - movq 24(%rcx),%rax - mulq %r15 - addq %rax,%r10 - movq %r10,48(%rsp) - adcq %rdx,%r11 - movq %r11,56(%rsp) - - - movq 64(%rsp),%rax - andq %rax,%r12 - andq %rax,%r13 - andq %rax,%r14 - andq %rax,%r15 - - - movq 72(%rsp),%rax - movq 0(%rcx),%r8 - andq %rax,%r8 - movq 8(%rcx),%r9 - andq %rax,%r9 - movq 16(%rcx),%r10 - andq %rax,%r10 - movq 24(%rcx),%r11 - andq %rax,%r11 - - - addq %r8,%r12 - adcq %r9,%r13 - adcq %r10,%r14 - adcq %r11,%r15 - - - movq 32(%rsp),%rax - addq %rax,%r12 - movq 40(%rsp),%rax - adcq %rax,%r13 - movq 48(%rsp),%rax - adcq %rax,%r14 - movq 56(%rsp),%rax - adcq %rax,%r15 - movq %r12,80(%rsp) - movq %r13,88(%rsp) - movq %r14,96(%rsp) - movq %r15,104(%rsp) - - - movq (%rdi),%r11 - movq (%rsi),%rax - mulq %r11 - xorq %r9,%r9 - movq %rax,(%rcx) - movq %rdx,%r8 - - movq 16(%rdi),%r14 - movq 8(%rsi),%rax - mulq %r11 - xorq %r10,%r10 - addq %rax,%r8 - adcq %rdx,%r9 - - movq 8(%rdi),%r12 - movq (%rsi),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,8(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 16(%rsi),%rax - mulq %r11 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq (%rsi),%r13 - movq %r14,%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 8(%rsi),%rax - mulq %r12 - addq %rax,%r9 - movq %r9,16(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - xorq %r9,%r9 - movq 24(%rsi),%rax - mulq %r11 - movq 24(%rdi),%r15 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq %r15,%rax - mulq %r13 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 16(%rsi),%rax - mulq %r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 8(%rsi),%rax - mulq %r14 - addq %rax,%r10 - movq %r10,24(%rcx) - adcq %rdx,%r8 - adcq $0x0,%r9 - - xorq %r10,%r10 - movq 24(%rsi),%rax - mulq %r12 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 8(%rsi),%rax - mulq %r15 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 16(%rsi),%rax - mulq %r14 - addq %rax,%r8 - movq %r8,32(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 24(%rsi),%rax - mulq %r14 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 16(%rsi),%rax - mulq %r15 - addq %rax,%r9 - movq %r9,40(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 24(%rsi),%rax - mulq %r15 - addq %rax,%r10 - movq %r10,48(%rcx) - adcq %rdx,%r8 - movq %r8,56(%rcx) - - - - movq 32(%rdi),%r11 - movq 32(%rsi),%rax - mulq %r11 - xorq %r9,%r9 - movq %rax,64(%rcx) - movq %rdx,%r8 - - movq 48(%rdi),%r14 - movq 40(%rsi),%rax - mulq %r11 - xorq %r10,%r10 - addq %rax,%r8 - adcq %rdx,%r9 - - movq 40(%rdi),%r12 - movq 32(%rsi),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,72(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 48(%rsi),%rax - mulq %r11 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 32(%rsi),%r13 - movq %r14,%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 40(%rsi),%rax - mulq %r12 - addq %rax,%r9 - movq %r9,80(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 48(%rsi),%rax - mulq %r12 - xorq %r12,%r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r12 - - movq 40(%rsi),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r12 - movq %r10,88(%rcx) - - movq 48(%rsi),%rax - mulq %r14 - addq %rax,%r8 - adcq $0x0,%r12 - movq %r8,96(%rcx) - - addq %r12,%rdx - - - movq 0(%rsp),%r8 - subq 0(%rcx),%r8 - movq 8(%rsp),%r9 - sbbq 8(%rcx),%r9 - movq 16(%rsp),%r10 - sbbq 16(%rcx),%r10 - movq 24(%rsp),%r11 - sbbq 24(%rcx),%r11 - movq 80(%rsp),%r12 - sbbq 32(%rcx),%r12 - movq 88(%rsp),%r13 - sbbq 40(%rcx),%r13 - movq 96(%rsp),%r14 - sbbq 48(%rcx),%r14 - movq 104(%rsp),%r15 - sbbq 56(%rcx),%r15 - - - movq 64(%rcx),%rax - subq %rax,%r8 - movq 72(%rcx),%rax - sbbq %rax,%r9 - movq 80(%rcx),%rax - sbbq %rax,%r10 - movq 88(%rcx),%rax - sbbq %rax,%r11 - movq 96(%rcx),%rax - sbbq %rax,%r12 - sbbq %rdx,%r13 - sbbq $0x0,%r14 - sbbq $0x0,%r15 - - - addq 32(%rcx),%r8 - movq %r8,32(%rcx) - adcq 40(%rcx),%r9 - movq %r9,40(%rcx) - adcq 48(%rcx),%r10 - movq %r10,48(%rcx) - adcq 56(%rcx),%r11 - movq %r11,56(%rcx) - adcq 64(%rcx),%r12 - movq %r12,64(%rcx) - adcq 72(%rcx),%r13 - movq %r13,72(%rcx) - adcq 80(%rcx),%r14 - movq %r14,80(%rcx) - adcq 88(%rcx),%r15 - movq %r15,88(%rcx) - movq 96(%rcx),%r12 - adcq $0x0,%r12 - movq %r12,96(%rcx) - adcq $0x0,%rdx - movq %rdx,104(%rcx) - - addq $112,%rsp -.cfi_adjust_cfa_offset -112 - - - popq %r15 -.cfi_adjust_cfa_offset -8 - popq %r14 -.cfi_adjust_cfa_offset -8 - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc -#endif diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aes-586.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aes-586.S deleted file mode 100644 index 3634f64d11b..00000000000 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aes-586.S +++ /dev/null @@ -1,3226 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__i386__) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text -.private_extern __x86_AES_encrypt_compact -.align 4 -__x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.private_extern __sse_AES_encrypt_compact -.align 4 -__sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L001loop -.align 4,0x90 -L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.private_extern __x86_AES_encrypt -.align 4 -__x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.globl _aes_nohw_encrypt -.private_extern _aes_nohw_encrypt -.align 4 -_aes_nohw_encrypt: -L_aes_nohw_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L004pic_point -L004pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L004pic_point(%ebp),%eax - leal LAES_Te-L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.private_extern __x86_AES_decrypt_compact -.align 4 -__x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.private_extern __sse_AES_decrypt_compact -.align 4 -__sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L007loop -.align 4,0x90 -L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.private_extern __x86_AES_decrypt -.align 4 -__x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.globl _aes_nohw_decrypt -.private_extern _aes_nohw_decrypt -.align 4 -_aes_nohw_decrypt: -L_aes_nohw_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L010pic_point -L010pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L010pic_point(%ebp),%eax - leal LAES_Td-L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _aes_nohw_cbc_encrypt -.private_extern _aes_nohw_cbc_encrypt -.align 4 -_aes_nohw_cbc_encrypt: -L_aes_nohw_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je L012drop_out - call L013pic_point -L013pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal LAES_Te-L013pic_point(%ebp),%ebp - jne L014picked_te - leal LAES_Td-LAES_Te(%ebp),%ebp -L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb L015slow_way - testl $15,%ecx - jnz L015slow_way - btl $28,(%eax) - jc L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp L017tbl_ok -.align 2,0x90 -L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 2,0x90 -L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb L018do_copy - cmpl $3852,%ebx - jb L019skip_copy -.align 2,0x90 -L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -L019skip_copy: - movl $16,%edi -.align 2,0x90 -L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4,0x90 -L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L023skip_ezero: - movl 28(%esp),%esp - popfl -L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L021fast_decrypt: - cmpl 36(%esp),%esi - je L024fast_dec_in_place - movl %edi,52(%esp) -.align 2,0x90 -.align 4,0x90 -L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp L026fast_dec_out -.align 4,0x90 -L024fast_dec_in_place: -L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L027fast_dec_in_place_loop -.align 2,0x90 -L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb L030slow_enc_tail - btl $25,52(%esp) - jnc L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 4,0x90 -L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L032slow_enc_loop_sse - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 2,0x90 -L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L033slow_enc_loop_x86 - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je L034enc_in_place -.align 2,0x90 -.long 2767451785 - jmp L035enc_skip_in_place -L034enc_in_place: - leal (%edi,%ecx,1),%edi -L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp L033slow_enc_loop_x86 -.align 4,0x90 -L029slow_decrypt: - btl $25,52(%esp) - jnc L036slow_dec_loop_x86 -.align 2,0x90 -L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.private_extern __x86_AES_set_encrypt_key -.align 4 -__x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz L040badpointer - testl $-1,%edi - jz L040badpointer - call L041pic_point -L041pic_point: - popl %ebp - leal LAES_Te-L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je L04210rounds - cmpl $192,%ecx - je L04312rounds - cmpl $256,%ecx - je L04414rounds - movl $-2,%eax - jmp L045exit -L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp L04610shortcut -.align 2,0x90 -L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp L045exit -L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp L04812shortcut -.align 2,0x90 -L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp L04912loop -L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp L045exit -L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp L05114shortcut -.align 2,0x90 -L05214loop: - movl 28(%edi),%edx -L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp L05214loop -L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp L045exit -L040badpointer: - movl $-1,%eax -L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _aes_nohw_set_encrypt_key -.private_extern _aes_nohw_set_encrypt_key -.align 4 -_aes_nohw_set_encrypt_key: -L_aes_nohw_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -.globl _aes_nohw_set_decrypt_key -.private_extern _aes_nohw_set_decrypt_key -.align 4 -_aes_nohw_set_decrypt_key: -L_aes_nohw_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmpl $0,%eax - je L054proceed - ret -L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 2,0x90 -L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 2,0x90 -L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.section __IMPORT,__pointers,non_lazy_symbol_pointers -L_OPENSSL_ia32cap_P$non_lazy_ptr: -.indirect_symbol _OPENSSL_ia32cap_P -.long 0 -#endif diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aesni-x86.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aesni-x86.S index 17eeaeac5ab..db7efffdf8f 100644 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aesni-x86.S +++ b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aesni-x86.S @@ -6,14 +6,14 @@ #include #endif .text -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST #endif .globl _aes_hw_encrypt .private_extern _aes_hw_encrypt .align 4 _aes_hw_encrypt: L_aes_hw_encrypt_begin: -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L000pic @@ -818,7 +818,7 @@ L_aes_hw_ctr32_encrypt_blocks_begin: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L038pic @@ -2403,7 +2403,7 @@ L097bad_keybits: .align 4 _aes_hw_set_encrypt_key: L_aes_hw_set_encrypt_key_begin: -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L116pic diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/bn-586.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/bn-586.S index 7d0462b51f5..c06945161f9 100644 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/bn-586.S +++ b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/bn-586.S @@ -981,551 +981,6 @@ L028aw_end: popl %ebx popl %ebp ret -.globl _bn_sub_part_words -.private_extern _bn_sub_part_words -.align 4 -_bn_sub_part_words: -L_bn_sub_part_words_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - movl 20(%esp),%ebx - movl 24(%esp),%esi - movl 28(%esp),%edi - movl 32(%esp),%ebp - xorl %eax,%eax - andl $4294967288,%ebp - jz L029aw_finish -L030aw_loop: - # Round 0 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - # Round 1 - movl 4(%esi),%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,4(%ebx) - # Round 2 - movl 8(%esi),%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,8(%ebx) - # Round 3 - movl 12(%esi),%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,12(%ebx) - # Round 4 - movl 16(%esi),%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,16(%ebx) - # Round 5 - movl 20(%esi),%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,20(%ebx) - # Round 6 - movl 24(%esi),%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - # Round 7 - movl 28(%esi),%ecx - movl 28(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,28(%ebx) - - addl $32,%esi - addl $32,%edi - addl $32,%ebx - subl $8,%ebp - jnz L030aw_loop -L029aw_finish: - movl 32(%esp),%ebp - andl $7,%ebp - jz L031aw_end - # Tail Round 0 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 1 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 2 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 3 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 4 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 5 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 6 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx -L031aw_end: - cmpl $0,36(%esp) - je L032pw_end - movl 36(%esp),%ebp - cmpl $0,%ebp - je L032pw_end - jge L033pw_pos - # pw_neg - movl $0,%edx - subl %ebp,%edx - movl %edx,%ebp - andl $4294967288,%ebp - jz L034pw_neg_finish -L035pw_neg_loop: - # dl<0 Round 0 - movl $0,%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - # dl<0 Round 1 - movl $0,%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,4(%ebx) - # dl<0 Round 2 - movl $0,%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,8(%ebx) - # dl<0 Round 3 - movl $0,%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,12(%ebx) - # dl<0 Round 4 - movl $0,%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,16(%ebx) - # dl<0 Round 5 - movl $0,%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,20(%ebx) - # dl<0 Round 6 - movl $0,%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - # dl<0 Round 7 - movl $0,%ecx - movl 28(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,28(%ebx) - - addl $32,%edi - addl $32,%ebx - subl $8,%ebp - jnz L035pw_neg_loop -L034pw_neg_finish: - movl 36(%esp),%edx - movl $0,%ebp - subl %edx,%ebp - andl $7,%ebp - jz L032pw_end - # dl<0 Tail Round 0 - movl $0,%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,(%ebx) - jz L032pw_end - # dl<0 Tail Round 1 - movl $0,%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,4(%ebx) - jz L032pw_end - # dl<0 Tail Round 2 - movl $0,%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,8(%ebx) - jz L032pw_end - # dl<0 Tail Round 3 - movl $0,%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,12(%ebx) - jz L032pw_end - # dl<0 Tail Round 4 - movl $0,%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,16(%ebx) - jz L032pw_end - # dl<0 Tail Round 5 - movl $0,%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,20(%ebx) - jz L032pw_end - # dl<0 Tail Round 6 - movl $0,%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - jmp L032pw_end -L033pw_pos: - andl $4294967288,%ebp - jz L036pw_pos_finish -L037pw_pos_loop: - # dl>0 Round 0 - movl (%esi),%ecx - subl %eax,%ecx - movl %ecx,(%ebx) - jnc L038pw_nc0 - # dl>0 Round 1 - movl 4(%esi),%ecx - subl %eax,%ecx - movl %ecx,4(%ebx) - jnc L039pw_nc1 - # dl>0 Round 2 - movl 8(%esi),%ecx - subl %eax,%ecx - movl %ecx,8(%ebx) - jnc L040pw_nc2 - # dl>0 Round 3 - movl 12(%esi),%ecx - subl %eax,%ecx - movl %ecx,12(%ebx) - jnc L041pw_nc3 - # dl>0 Round 4 - movl 16(%esi),%ecx - subl %eax,%ecx - movl %ecx,16(%ebx) - jnc L042pw_nc4 - # dl>0 Round 5 - movl 20(%esi),%ecx - subl %eax,%ecx - movl %ecx,20(%ebx) - jnc L043pw_nc5 - # dl>0 Round 6 - movl 24(%esi),%ecx - subl %eax,%ecx - movl %ecx,24(%ebx) - jnc L044pw_nc6 - # dl>0 Round 7 - movl 28(%esi),%ecx - subl %eax,%ecx - movl %ecx,28(%ebx) - jnc L045pw_nc7 - - addl $32,%esi - addl $32,%ebx - subl $8,%ebp - jnz L037pw_pos_loop -L036pw_pos_finish: - movl 36(%esp),%ebp - andl $7,%ebp - jz L032pw_end - # dl>0 Tail Round 0 - movl (%esi),%ecx - subl %eax,%ecx - movl %ecx,(%ebx) - jnc L046pw_tail_nc0 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 1 - movl 4(%esi),%ecx - subl %eax,%ecx - movl %ecx,4(%ebx) - jnc L047pw_tail_nc1 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 2 - movl 8(%esi),%ecx - subl %eax,%ecx - movl %ecx,8(%ebx) - jnc L048pw_tail_nc2 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 3 - movl 12(%esi),%ecx - subl %eax,%ecx - movl %ecx,12(%ebx) - jnc L049pw_tail_nc3 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 4 - movl 16(%esi),%ecx - subl %eax,%ecx - movl %ecx,16(%ebx) - jnc L050pw_tail_nc4 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 5 - movl 20(%esi),%ecx - subl %eax,%ecx - movl %ecx,20(%ebx) - jnc L051pw_tail_nc5 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 6 - movl 24(%esi),%ecx - subl %eax,%ecx - movl %ecx,24(%ebx) - jnc L052pw_tail_nc6 - movl $1,%eax - jmp L032pw_end -L053pw_nc_loop: - movl (%esi),%ecx - movl %ecx,(%ebx) -L038pw_nc0: - movl 4(%esi),%ecx - movl %ecx,4(%ebx) -L039pw_nc1: - movl 8(%esi),%ecx - movl %ecx,8(%ebx) -L040pw_nc2: - movl 12(%esi),%ecx - movl %ecx,12(%ebx) -L041pw_nc3: - movl 16(%esi),%ecx - movl %ecx,16(%ebx) -L042pw_nc4: - movl 20(%esi),%ecx - movl %ecx,20(%ebx) -L043pw_nc5: - movl 24(%esi),%ecx - movl %ecx,24(%ebx) -L044pw_nc6: - movl 28(%esi),%ecx - movl %ecx,28(%ebx) -L045pw_nc7: - - addl $32,%esi - addl $32,%ebx - subl $8,%ebp - jnz L053pw_nc_loop - movl 36(%esp),%ebp - andl $7,%ebp - jz L054pw_nc_end - movl (%esi),%ecx - movl %ecx,(%ebx) -L046pw_tail_nc0: - decl %ebp - jz L054pw_nc_end - movl 4(%esi),%ecx - movl %ecx,4(%ebx) -L047pw_tail_nc1: - decl %ebp - jz L054pw_nc_end - movl 8(%esi),%ecx - movl %ecx,8(%ebx) -L048pw_tail_nc2: - decl %ebp - jz L054pw_nc_end - movl 12(%esi),%ecx - movl %ecx,12(%ebx) -L049pw_tail_nc3: - decl %ebp - jz L054pw_nc_end - movl 16(%esi),%ecx - movl %ecx,16(%ebx) -L050pw_tail_nc4: - decl %ebp - jz L054pw_nc_end - movl 20(%esi),%ecx - movl %ecx,20(%ebx) -L051pw_tail_nc5: - decl %ebp - jz L054pw_nc_end - movl 24(%esi),%ecx - movl %ecx,24(%ebx) -L052pw_tail_nc6: -L054pw_nc_end: - movl $0,%eax -L032pw_end: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret .section __IMPORT,__pointers,non_lazy_symbol_pointers L_OPENSSL_ia32cap_P$non_lazy_ptr: .indirect_symbol _OPENSSL_ia32cap_P diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/ghash-x86.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/ghash-x86.S index e13bf3e858e..da2fb99df1d 100644 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/ghash-x86.S +++ b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/ghash-x86.S @@ -6,707 +6,6 @@ #include #endif .text -.globl _gcm_gmult_4bit_mmx -.private_extern _gcm_gmult_4bit_mmx -.align 4 -_gcm_gmult_4bit_mmx: -L_gcm_gmult_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%edi - movl 24(%esp),%esi - call L000pic_point -L000pic_point: - popl %eax - leal Lrem_4bit-L000pic_point(%eax),%eax - movzbl 15(%edi),%ebx - xorl %ecx,%ecx - movl %ebx,%edx - movb %dl,%cl - movl $14,%ebp - shlb $4,%cl - andl $240,%edx - movq 8(%esi,%ecx,1),%mm0 - movq (%esi,%ecx,1),%mm1 - movd %mm0,%ebx - jmp L001mmx_loop -.align 4,0x90 -L001mmx_loop: - psrlq $4,%mm0 - andl $15,%ebx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb (%edi,%ebp,1),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - decl %ebp - movd %mm0,%ebx - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - pxor %mm2,%mm0 - js L002mmx_break - shlb $4,%cl - andl $15,%ebx - psrlq $4,%mm0 - andl $240,%edx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%ecx,1),%mm1 - pxor %mm2,%mm0 - jmp L001mmx_loop -.align 4,0x90 -L002mmx_break: - shlb $4,%cl - andl $15,%ebx - psrlq $4,%mm0 - andl $240,%edx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%ecx,1),%mm1 - pxor %mm2,%mm0 - psrlq $4,%mm0 - andl $15,%ebx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%edx,1),%mm1 - pxor %mm2,%mm0 - psrlq $32,%mm0 - movd %mm1,%edx - psrlq $32,%mm1 - movd %mm0,%ecx - movd %mm1,%ebp - bswap %ebx - bswap %edx - bswap %ecx - bswap %ebp - emms - movl %ebx,12(%edi) - movl %edx,4(%edi) - movl %ecx,8(%edi) - movl %ebp,(%edi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _gcm_ghash_4bit_mmx -.private_extern _gcm_ghash_4bit_mmx -.align 4 -_gcm_ghash_4bit_mmx: -L_gcm_ghash_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%eax - movl 24(%esp),%ebx - movl 28(%esp),%ecx - movl 32(%esp),%edx - movl %esp,%ebp - call L003pic_point -L003pic_point: - popl %esi - leal Lrem_8bit-L003pic_point(%esi),%esi - subl $544,%esp - andl $-64,%esp - subl $16,%esp - addl %ecx,%edx - movl %eax,544(%esp) - movl %edx,552(%esp) - movl %ebp,556(%esp) - addl $128,%ebx - leal 144(%esp),%edi - leal 400(%esp),%ebp - movl -120(%ebx),%edx - movq -120(%ebx),%mm0 - movq -128(%ebx),%mm3 - shll $4,%edx - movb %dl,(%esp) - movl -104(%ebx),%edx - movq -104(%ebx),%mm2 - movq -112(%ebx),%mm5 - movq %mm0,-128(%edi) - psrlq $4,%mm0 - movq %mm3,(%edi) - movq %mm3,%mm7 - psrlq $4,%mm3 - shll $4,%edx - movb %dl,1(%esp) - movl -88(%ebx),%edx - movq -88(%ebx),%mm1 - psllq $60,%mm7 - movq -96(%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-120(%edi) - psrlq $4,%mm2 - movq %mm5,8(%edi) - movq %mm5,%mm6 - movq %mm0,-128(%ebp) - psrlq $4,%mm5 - movq %mm3,(%ebp) - shll $4,%edx - movb %dl,2(%esp) - movl -72(%ebx),%edx - movq -72(%ebx),%mm0 - psllq $60,%mm6 - movq -80(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-112(%edi) - psrlq $4,%mm1 - movq %mm4,16(%edi) - movq %mm4,%mm7 - movq %mm2,-120(%ebp) - psrlq $4,%mm4 - movq %mm5,8(%ebp) - shll $4,%edx - movb %dl,3(%esp) - movl -56(%ebx),%edx - movq -56(%ebx),%mm2 - psllq $60,%mm7 - movq -64(%ebx),%mm5 - por %mm7,%mm1 - movq %mm0,-104(%edi) - psrlq $4,%mm0 - movq %mm3,24(%edi) - movq %mm3,%mm6 - movq %mm1,-112(%ebp) - psrlq $4,%mm3 - movq %mm4,16(%ebp) - shll $4,%edx - movb %dl,4(%esp) - movl -40(%ebx),%edx - movq -40(%ebx),%mm1 - psllq $60,%mm6 - movq -48(%ebx),%mm4 - por %mm6,%mm0 - movq %mm2,-96(%edi) - psrlq $4,%mm2 - movq %mm5,32(%edi) - movq %mm5,%mm7 - movq %mm0,-104(%ebp) - psrlq $4,%mm5 - movq %mm3,24(%ebp) - shll $4,%edx - movb %dl,5(%esp) - movl -24(%ebx),%edx - movq -24(%ebx),%mm0 - psllq $60,%mm7 - movq -32(%ebx),%mm3 - por %mm7,%mm2 - movq %mm1,-88(%edi) - psrlq $4,%mm1 - movq %mm4,40(%edi) - movq %mm4,%mm6 - movq %mm2,-96(%ebp) - psrlq $4,%mm4 - movq %mm5,32(%ebp) - shll $4,%edx - movb %dl,6(%esp) - movl -8(%ebx),%edx - movq -8(%ebx),%mm2 - psllq $60,%mm6 - movq -16(%ebx),%mm5 - por %mm6,%mm1 - movq %mm0,-80(%edi) - psrlq $4,%mm0 - movq %mm3,48(%edi) - movq %mm3,%mm7 - movq %mm1,-88(%ebp) - psrlq $4,%mm3 - movq %mm4,40(%ebp) - shll $4,%edx - movb %dl,7(%esp) - movl 8(%ebx),%edx - movq 8(%ebx),%mm1 - psllq $60,%mm7 - movq (%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-72(%edi) - psrlq $4,%mm2 - movq %mm5,56(%edi) - movq %mm5,%mm6 - movq %mm0,-80(%ebp) - psrlq $4,%mm5 - movq %mm3,48(%ebp) - shll $4,%edx - movb %dl,8(%esp) - movl 24(%ebx),%edx - movq 24(%ebx),%mm0 - psllq $60,%mm6 - movq 16(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-64(%edi) - psrlq $4,%mm1 - movq %mm4,64(%edi) - movq %mm4,%mm7 - movq %mm2,-72(%ebp) - psrlq $4,%mm4 - movq %mm5,56(%ebp) - shll $4,%edx - movb %dl,9(%esp) - movl 40(%ebx),%edx - movq 40(%ebx),%mm2 - psllq $60,%mm7 - movq 32(%ebx),%mm5 - por %mm7,%mm1 - movq %mm0,-56(%edi) - psrlq $4,%mm0 - movq %mm3,72(%edi) - movq %mm3,%mm6 - movq %mm1,-64(%ebp) - psrlq $4,%mm3 - movq %mm4,64(%ebp) - shll $4,%edx - movb %dl,10(%esp) - movl 56(%ebx),%edx - movq 56(%ebx),%mm1 - psllq $60,%mm6 - movq 48(%ebx),%mm4 - por %mm6,%mm0 - movq %mm2,-48(%edi) - psrlq $4,%mm2 - movq %mm5,80(%edi) - movq %mm5,%mm7 - movq %mm0,-56(%ebp) - psrlq $4,%mm5 - movq %mm3,72(%ebp) - shll $4,%edx - movb %dl,11(%esp) - movl 72(%ebx),%edx - movq 72(%ebx),%mm0 - psllq $60,%mm7 - movq 64(%ebx),%mm3 - por %mm7,%mm2 - movq %mm1,-40(%edi) - psrlq $4,%mm1 - movq %mm4,88(%edi) - movq %mm4,%mm6 - movq %mm2,-48(%ebp) - psrlq $4,%mm4 - movq %mm5,80(%ebp) - shll $4,%edx - movb %dl,12(%esp) - movl 88(%ebx),%edx - movq 88(%ebx),%mm2 - psllq $60,%mm6 - movq 80(%ebx),%mm5 - por %mm6,%mm1 - movq %mm0,-32(%edi) - psrlq $4,%mm0 - movq %mm3,96(%edi) - movq %mm3,%mm7 - movq %mm1,-40(%ebp) - psrlq $4,%mm3 - movq %mm4,88(%ebp) - shll $4,%edx - movb %dl,13(%esp) - movl 104(%ebx),%edx - movq 104(%ebx),%mm1 - psllq $60,%mm7 - movq 96(%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-24(%edi) - psrlq $4,%mm2 - movq %mm5,104(%edi) - movq %mm5,%mm6 - movq %mm0,-32(%ebp) - psrlq $4,%mm5 - movq %mm3,96(%ebp) - shll $4,%edx - movb %dl,14(%esp) - movl 120(%ebx),%edx - movq 120(%ebx),%mm0 - psllq $60,%mm6 - movq 112(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-16(%edi) - psrlq $4,%mm1 - movq %mm4,112(%edi) - movq %mm4,%mm7 - movq %mm2,-24(%ebp) - psrlq $4,%mm4 - movq %mm5,104(%ebp) - shll $4,%edx - movb %dl,15(%esp) - psllq $60,%mm7 - por %mm7,%mm1 - movq %mm0,-8(%edi) - psrlq $4,%mm0 - movq %mm3,120(%edi) - movq %mm3,%mm6 - movq %mm1,-16(%ebp) - psrlq $4,%mm3 - movq %mm4,112(%ebp) - psllq $60,%mm6 - por %mm6,%mm0 - movq %mm0,-8(%ebp) - movq %mm3,120(%ebp) - movq (%eax),%mm6 - movl 8(%eax),%ebx - movl 12(%eax),%edx -.align 4,0x90 -L004outer: - xorl 12(%ecx),%edx - xorl 8(%ecx),%ebx - pxor (%ecx),%mm6 - leal 16(%ecx),%ecx - movl %ebx,536(%esp) - movq %mm6,528(%esp) - movl %ecx,548(%esp) - xorl %eax,%eax - roll $8,%edx - movb %dl,%al - movl %eax,%ebp - andb $15,%al - shrl $4,%ebp - pxor %mm0,%mm0 - roll $8,%edx - pxor %mm1,%mm1 - pxor %mm2,%mm2 - movq 16(%esp,%eax,8),%mm7 - movq 144(%esp,%eax,8),%mm6 - movb %dl,%al - movd %mm7,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - shrl $4,%edi - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 536(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 532(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 528(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 524(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - pxor 144(%esp,%eax,8),%mm6 - xorb (%esp,%ebp,1),%bl - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - movzbl %bl,%ebx - pxor %mm2,%mm2 - psllq $4,%mm1 - movd %mm7,%ecx - psrlq $4,%mm7 - movq %mm6,%mm3 - psrlq $4,%mm6 - shll $4,%ecx - pxor 16(%esp,%edi,8),%mm7 - psllq $60,%mm3 - movzbl %cl,%ecx - pxor %mm3,%mm7 - pxor 144(%esp,%edi,8),%mm6 - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor %mm1,%mm6 - movd %mm7,%edx - pinsrw $3,(%esi,%ecx,2),%mm2 - psllq $12,%mm0 - pxor %mm0,%mm6 - psrlq $32,%mm7 - pxor %mm2,%mm6 - movl 548(%esp),%ecx - movd %mm7,%ebx - movq %mm6,%mm3 - psllw $8,%mm6 - psrlw $8,%mm3 - por %mm3,%mm6 - bswap %edx - pshufw $27,%mm6,%mm6 - bswap %ebx - cmpl 552(%esp),%ecx - jne L004outer - movl 544(%esp),%eax - movl %edx,12(%eax) - movl %ebx,8(%eax) - movq %mm6,(%eax) - movl 556(%esp),%esp - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret .globl _gcm_init_clmul .private_extern _gcm_init_clmul .align 4 @@ -714,10 +13,10 @@ _gcm_init_clmul: L_gcm_init_clmul_begin: movl 4(%esp),%edx movl 8(%esp),%eax - call L005pic -L005pic: + call L000pic +L000pic: popl %ecx - leal Lbswap-L005pic(%ecx),%ecx + leal Lbswap-L000pic(%ecx),%ecx movdqu (%eax),%xmm2 pshufd $78,%xmm2,%xmm2 pshufd $255,%xmm2,%xmm4 @@ -782,10 +81,10 @@ _gcm_gmult_clmul: L_gcm_gmult_clmul_begin: movl 4(%esp),%eax movl 8(%esp),%edx - call L006pic -L006pic: + call L001pic +L001pic: popl %ecx - leal Lbswap-L006pic(%ecx),%ecx + leal Lbswap-L001pic(%ecx),%ecx movdqu (%eax),%xmm0 movdqa (%ecx),%xmm5 movups (%edx),%xmm2 @@ -840,16 +139,16 @@ L_gcm_ghash_clmul_begin: movl 24(%esp),%edx movl 28(%esp),%esi movl 32(%esp),%ebx - call L007pic -L007pic: + call L002pic +L002pic: popl %ecx - leal Lbswap-L007pic(%ecx),%ecx + leal Lbswap-L002pic(%ecx),%ecx movdqu (%eax),%xmm0 movdqa (%ecx),%xmm5 movdqu (%edx),%xmm2 .byte 102,15,56,0,197 subl $16,%ebx - jz L008odd_tail + jz L003odd_tail movdqu (%esi),%xmm3 movdqu 16(%esi),%xmm6 .byte 102,15,56,0,221 @@ -866,10 +165,10 @@ L007pic: movups 16(%edx),%xmm2 nop subl $32,%ebx - jbe L009even_tail - jmp L010mod_loop + jbe L004even_tail + jmp L005mod_loop .align 5,0x90 -L010mod_loop: +L005mod_loop: pshufd $78,%xmm0,%xmm4 movdqa %xmm0,%xmm1 pxor %xmm0,%xmm4 @@ -924,8 +223,8 @@ L010mod_loop: .byte 102,15,58,68,221,0 leal 32(%esi),%esi subl $32,%ebx - ja L010mod_loop -L009even_tail: + ja L005mod_loop +L004even_tail: pshufd $78,%xmm0,%xmm4 movdqa %xmm0,%xmm1 pxor %xmm0,%xmm4 @@ -964,9 +263,9 @@ L009even_tail: psrlq $1,%xmm0 pxor %xmm1,%xmm0 testl %ebx,%ebx - jnz L011done + jnz L006done movups (%edx),%xmm2 -L008odd_tail: +L003odd_tail: movdqu (%esi),%xmm3 .byte 102,15,56,0,221 pxor %xmm3,%xmm0 @@ -1005,7 +304,7 @@ L008odd_tail: pxor %xmm4,%xmm0 psrlq $1,%xmm0 pxor %xmm1,%xmm0 -L011done: +L006done: .byte 102,15,56,0,197 movdqu %xmm0,(%eax) popl %edi @@ -1017,46 +316,6 @@ L011done: Lbswap: .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 -.align 6,0x90 -Lrem_8bit: -.value 0,450,900,582,1800,1738,1164,1358 -.value 3600,4050,3476,3158,2328,2266,2716,2910 -.value 7200,7650,8100,7782,6952,6890,6316,6510 -.value 4656,5106,4532,4214,5432,5370,5820,6014 -.value 14400,14722,15300,14854,16200,16010,15564,15630 -.value 13904,14226,13780,13334,12632,12442,13020,13086 -.value 9312,9634,10212,9766,9064,8874,8428,8494 -.value 10864,11186,10740,10294,11640,11450,12028,12094 -.value 28800,28994,29444,29382,30600,30282,29708,30158 -.value 32400,32594,32020,31958,31128,30810,31260,31710 -.value 27808,28002,28452,28390,27560,27242,26668,27118 -.value 25264,25458,24884,24822,26040,25722,26172,26622 -.value 18624,18690,19268,19078,20424,19978,19532,19854 -.value 18128,18194,17748,17558,16856,16410,16988,17310 -.value 21728,21794,22372,22182,21480,21034,20588,20910 -.value 23280,23346,22900,22710,24056,23610,24188,24510 -.value 57600,57538,57988,58182,58888,59338,58764,58446 -.value 61200,61138,60564,60758,59416,59866,60316,59998 -.value 64800,64738,65188,65382,64040,64490,63916,63598 -.value 62256,62194,61620,61814,62520,62970,63420,63102 -.value 55616,55426,56004,56070,56904,57226,56780,56334 -.value 55120,54930,54484,54550,53336,53658,54236,53790 -.value 50528,50338,50916,50982,49768,50090,49644,49198 -.value 52080,51890,51444,51510,52344,52666,53244,52798 -.value 37248,36930,37380,37830,38536,38730,38156,38094 -.value 40848,40530,39956,40406,39064,39258,39708,39646 -.value 36256,35938,36388,36838,35496,35690,35116,35054 -.value 33712,33394,32820,33270,33976,34170,34620,34558 -.value 43456,43010,43588,43910,44744,44810,44364,44174 -.value 42960,42514,42068,42390,41176,41242,41820,41630 -.value 46560,46114,46692,47014,45800,45866,45420,45230 -.value 48112,47666,47220,47542,48376,48442,49020,48830 -.align 6,0x90 -Lrem_4bit: -.long 0,0,0,471859200,0,943718400,0,610271232 -.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/vpaes-x86.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/vpaes-x86.S index 22043e2ac76..6b5a88b304f 100644 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/vpaes-x86.S +++ b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/vpaes-x86.S @@ -6,7 +6,7 @@ #include #endif .text -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST #endif .align 6,0x90 L_vpaes_consts: @@ -468,7 +468,7 @@ L_vpaes_set_encrypt_key_begin: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L016pic @@ -549,7 +549,7 @@ L_vpaes_encrypt_begin: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L019pic diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aes-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aes-x86_64.S deleted file mode 100644 index 8875d0abbbd..00000000000 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aes-x86_64.S +++ /dev/null @@ -1,2645 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__has_feature) -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif -#endif - -#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text - -.p2align 4 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp L$enc_loop -.p2align 4 -L$enc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz L$enc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 - - -.p2align 4 -_x86_64_AES_encrypt_compact: - - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp L$enc_loop_compact -.p2align 4 -L$enc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je L$enc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp L$enc_loop_compact -.p2align 4 -L$enc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_encrypt -.private_extern _aes_nohw_encrypt - -.private_extern _aes_nohw_encrypt -_aes_nohw_encrypt: - - movq %rsp,%rax - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) - -L$enc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq L$AES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$enc_epilogue: - .byte 0xf3,0xc3 - - - -.p2align 4 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp L$dec_loop -.p2align 4 -L$dec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz L$dec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 - - -.p2align 4 -_x86_64_AES_decrypt_compact: - - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp L$dec_loop_compact - -.p2align 4 -L$dec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je L$dec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp L$dec_loop_compact -.p2align 4 -L$dec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_decrypt -.private_extern _aes_nohw_decrypt - -.private_extern _aes_nohw_decrypt -_aes_nohw_decrypt: - - movq %rsp,%rax - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) - -L$dec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq L$AES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$dec_epilogue: - .byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_set_encrypt_key -.private_extern _aes_nohw_set_encrypt_key - -_aes_nohw_set_encrypt_key: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - subq $8,%rsp - -L$enc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp - - movq 48(%rsp),%rbx - - addq $56,%rsp - -L$enc_key_epilogue: - .byte 0xf3,0xc3 - - - - -.p2align 4 -_x86_64_AES_set_encrypt_key: - - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz L$badpointer - testq $-1,%rdi - jz L$badpointer - - leaq L$AES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je L$10rounds - cmpl $192,%ecx - je L$12rounds - cmpl $256,%ecx - je L$14rounds - movq $-2,%rax - jmp L$exit - -L$10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$10shortcut -.p2align 2 -L$10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -L$10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl L$10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp L$exit - -L$12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$12shortcut -.p2align 2 -L$12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -L$12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je L$12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp L$12loop -L$12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp L$exit - -L$14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$14shortcut -.p2align 2 -L$14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -L$14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je L$14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp L$14loop -L$14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp L$exit - -L$badpointer: - movq $-1,%rax -L$exit: -.byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_set_decrypt_key -.private_extern _aes_nohw_set_decrypt_key - -_aes_nohw_set_decrypt_key: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - pushq %rdx - -L$dec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne L$abort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.p2align 2 -L$invert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne L$invert - - leaq L$AES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.p2align 2 -L$permute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz L$permute - - xorq %rax,%rax -L$abort: - movq 8(%rsp),%r15 - - movq 16(%rsp),%r14 - - movq 24(%rsp),%r13 - - movq 32(%rsp),%r12 - - movq 40(%rsp),%rbp - - movq 48(%rsp),%rbx - - addq $56,%rsp - -L$dec_key_epilogue: - .byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_cbc_encrypt -.private_extern _aes_nohw_cbc_encrypt - - -.private_extern _aes_nohw_cbc_encrypt -_aes_nohw_cbc_encrypt: - - cmpq $0,%rdx - je L$cbc_epilogue - pushfq - - - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - -L$cbc_prologue: - - cld - movl %r9d,%r9d - - leaq L$AES_Te(%rip),%r14 - leaq L$AES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - - - leaq _OPENSSL_ia32cap_P(%rip),%r10 - movl (%r10),%r10d - cmpq $512,%rdx - jb L$cbc_slow_prologue - testq $15,%rdx - jnz L$cbc_slow_prologue - btl $28,%r10d - jc L$cbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb L$cbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp L$cbc_te_ok -L$cbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.p2align 2 -L$cbc_te_ok: - - xchgq %rsp,%r15 - - - movq %r15,16(%rsp) - -L$cbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb L$cbc_do_ecopy - cmpq $4096-248,%r10 - jb L$cbc_skip_ecopy -.p2align 2 -L$cbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -L$cbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.p2align 2 -L$cbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz L$cbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je L$FAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.p2align 2 -L$cbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz L$cbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp L$cbc_fast_cleanup - - -.p2align 4 -L$FAST_DECRYPT: - cmpq %r8,%r9 - je L$cbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.p2align 2 -L$cbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz L$cbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp L$cbc_fast_cleanup - -.p2align 4 -L$cbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.p2align 2 -L$cbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz L$cbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp L$cbc_fast_dec_in_place_loop -L$cbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.p2align 2 -L$cbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je L$cbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp L$cbc_exit - - -.p2align 4 -L$cbc_slow_prologue: - - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp - - - movq %rbp,16(%rsp) - -L$cbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je L$SLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz L$cbc_slow_enc_tail - -.p2align 2 -L$cbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz L$cbc_slow_enc_loop - testq $15,%r10 - jnz L$cbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp L$cbc_exit - -.p2align 2 -L$cbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp L$cbc_slow_enc_loop - -.p2align 4 -L$SLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.p2align 2 -L$cbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc L$cbc_slow_dec_partial - jz L$cbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp L$cbc_slow_dec_loop -L$cbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp L$cbc_exit - -.p2align 2 -L$cbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp L$cbc_exit - -.p2align 4 -L$cbc_exit: - movq 16(%rsp),%rsi - - movq (%rsi),%r15 - - movq 8(%rsi),%r14 - - movq 16(%rsi),%r13 - - movq 24(%rsi),%r12 - - movq 32(%rsi),%rbp - - movq 40(%rsi),%rbx - - leaq 48(%rsi),%rsp - -L$cbc_popfq: - popfq - - - -L$cbc_epilogue: - .byte 0xf3,0xc3 - - -.p2align 6 -L$AES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.p2align 6 -L$AES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.p2align 6 -#endif diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S index 9fb4bef1e68..b08a2fbbf9c 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S @@ -556,11 +556,9 @@ L$handle_ctr32_2: .p2align 5 _aesni_gcm_encrypt: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+2(%rip) -#endif #endif xorq %r10,%r10 diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S index 5e12596731a..58e072ee1b6 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S @@ -19,11 +19,9 @@ .p2align 4 _aes_hw_encrypt: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+1(%rip) -#endif #endif movups (%rdi),%xmm2 movl 240(%rdx),%eax @@ -885,10 +883,8 @@ L$ecb_ret: .p2align 4 _aes_hw_ctr32_encrypt_blocks: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit(%rip) -#endif #endif cmpq $1,%rdx jne L$ctr32_bulk @@ -2109,11 +2105,9 @@ L$SEH_end_set_decrypt_key: _aes_hw_set_encrypt_key: __aesni_set_encrypt_key: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+3(%rip) #endif -#endif .byte 0x48,0x83,0xEC,0x08 movq $-1,%rax diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S index d7dcf5d61fd..6fab4dbf8ed 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S @@ -13,697 +13,6 @@ #endif .text - -.globl _gcm_gmult_4bit -.private_extern _gcm_gmult_4bit - -.p2align 4 -_gcm_gmult_4bit: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - subq $280,%rsp - -L$gmult_prologue: - - movzbq 15(%rdi),%r8 - leaq L$rem_4bit(%rip),%r11 - xorq %rax,%rax - xorq %rbx,%rbx - movb %r8b,%al - movb %r8b,%bl - shlb $4,%al - movq $14,%rcx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - movq %r8,%rdx - jmp L$oop1 - -.p2align 4 -L$oop1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - movb (%rdi,%rcx,1),%al - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - movb %al,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - shlb $4,%al - xorq %r10,%r8 - decq %rcx - js L$break1 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - jmp L$oop1 - -.p2align 4 -L$break1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - xorq %r10,%r8 - xorq (%r11,%rdx,8),%r9 - - bswapq %r8 - bswapq %r9 - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$gmult_epilogue: - .byte 0xf3,0xc3 - - -.globl _gcm_ghash_4bit -.private_extern _gcm_ghash_4bit - -.p2align 4 -_gcm_ghash_4bit: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - subq $280,%rsp - -L$ghash_prologue: - movq %rdx,%r14 - movq %rcx,%r15 - subq $-128,%rsi - leaq 16+128(%rsp),%rbp - xorl %edx,%edx - movq 0+0-128(%rsi),%r8 - movq 0+8-128(%rsi),%rax - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq 16+0-128(%rsi),%r9 - shlb $4,%dl - movq 16+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,0(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,0(%rbp) - movq 32+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,0-128(%rbp) - movq 32+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,1(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,8(%rbp) - movq 48+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,8-128(%rbp) - movq 48+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,2(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,16(%rbp) - movq 64+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,16-128(%rbp) - movq 64+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,3(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,24(%rbp) - movq 80+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,24-128(%rbp) - movq 80+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,4(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,32(%rbp) - movq 96+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,32-128(%rbp) - movq 96+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,5(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,40(%rbp) - movq 112+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,40-128(%rbp) - movq 112+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,6(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,48(%rbp) - movq 128+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,48-128(%rbp) - movq 128+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,7(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,56(%rbp) - movq 144+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,56-128(%rbp) - movq 144+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,8(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,64(%rbp) - movq 160+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,64-128(%rbp) - movq 160+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,9(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,72(%rbp) - movq 176+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,72-128(%rbp) - movq 176+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,10(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,80(%rbp) - movq 192+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,80-128(%rbp) - movq 192+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,11(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,88(%rbp) - movq 208+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,88-128(%rbp) - movq 208+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,12(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,96(%rbp) - movq 224+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,96-128(%rbp) - movq 224+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,13(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,104(%rbp) - movq 240+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,104-128(%rbp) - movq 240+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,14(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,112(%rbp) - shlb $4,%dl - movq %rax,112-128(%rbp) - shlq $60,%r10 - movb %dl,15(%rsp) - orq %r10,%rbx - movq %r9,120(%rbp) - movq %rbx,120-128(%rbp) - addq $-128,%rsi - movq 8(%rdi),%r8 - movq 0(%rdi),%r9 - addq %r14,%r15 - leaq L$rem_8bit(%rip),%r11 - jmp L$outer_loop -.p2align 4 -L$outer_loop: - xorq (%r14),%r9 - movq 8(%r14),%rdx - leaq 16(%r14),%r14 - xorq %r8,%rdx - movq %r9,(%rdi) - movq %rdx,8(%rdi) - shrq $32,%rdx - xorq %rax,%rax - roll $8,%edx - movb %dl,%al - movzbl %dl,%ebx - shlb $4,%al - shrl $4,%ebx - roll $8,%edx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - movb %dl,%al - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - xorq %r8,%r12 - movq %r9,%r10 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 8(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 0(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - andl $240,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl -4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - movzwq (%r11,%r12,2),%r12 - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - shlq $48,%r12 - xorq %r10,%r8 - xorq %r12,%r9 - movzbq %r8b,%r13 - shrq $4,%r8 - movq %r9,%r10 - shlb $4,%r13b - shrq $4,%r9 - xorq 8(%rsi,%rcx,1),%r8 - movzwq (%r11,%r13,2),%r13 - shlq $60,%r10 - xorq (%rsi,%rcx,1),%r9 - xorq %r10,%r8 - shlq $48,%r13 - bswapq %r8 - xorq %r13,%r9 - bswapq %r9 - cmpq %r15,%r14 - jb L$outer_loop - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq 0(%rsi),%rsp - -L$ghash_epilogue: - .byte 0xf3,0xc3 - - .globl _gcm_init_clmul .private_extern _gcm_init_clmul @@ -1809,50 +1118,8 @@ L$0x1c2_polynomial: .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 L$7_mask: .long 7,0,7,0 -L$7_mask_poly: -.long 7,0,450,0 .p2align 6 -L$rem_4bit: -.long 0,0,0,471859200,0,943718400,0,610271232 -.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 - -L$rem_8bit: -.value 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E -.value 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E -.value 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E -.value 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E -.value 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E -.value 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E -.value 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E -.value 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E -.value 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE -.value 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE -.value 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE -.value 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE -.value 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E -.value 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E -.value 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE -.value 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE -.value 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E -.value 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E -.value 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E -.value 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E -.value 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E -.value 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E -.value 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E -.value 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E -.value 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE -.value 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE -.value 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE -.value 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE -.value 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E -.value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E -.value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE -.value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE - .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .p2align 6 #endif diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S index ace121e3596..87ca5e9eb64 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S @@ -26,6 +26,11 @@ _sha1_block_data_order: movl 8(%r10),%r10d testl $512,%r8d jz L$ialu + testl $536870912,%r10d + jnz _shaext_shortcut + andl $296,%r10d + cmpl $296,%r10d + je _avx2_shortcut andl $268435456,%r8d andl $1073741824,%r9d orl %r9d,%r8d @@ -1266,6 +1271,175 @@ L$epilogue: +.p2align 5 +sha1_block_data_order_shaext: +_shaext_shortcut: + + movdqu (%rdi),%xmm0 + movd 16(%rdi),%xmm1 + movdqa K_XX_XX+160(%rip),%xmm3 + + movdqu (%rsi),%xmm4 + pshufd $27,%xmm0,%xmm0 + movdqu 16(%rsi),%xmm5 + pshufd $27,%xmm1,%xmm1 + movdqu 32(%rsi),%xmm6 +.byte 102,15,56,0,227 + movdqu 48(%rsi),%xmm7 +.byte 102,15,56,0,235 +.byte 102,15,56,0,243 + movdqa %xmm1,%xmm9 +.byte 102,15,56,0,251 + jmp L$oop_shaext + +.p2align 4 +L$oop_shaext: + decq %rdx + leaq 64(%rsi),%r8 + paddd %xmm4,%xmm1 + cmovneq %r8,%rsi + movdqa %xmm0,%xmm8 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,0 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,0 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,1 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,1 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,2 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,2 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 + movdqu (%rsi),%xmm4 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,3 +.byte 15,56,200,213 + movdqu 16(%rsi),%xmm5 +.byte 102,15,56,0,227 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 15,56,200,206 + movdqu 32(%rsi),%xmm6 +.byte 102,15,56,0,235 + + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,3 +.byte 15,56,200,215 + movdqu 48(%rsi),%xmm7 +.byte 102,15,56,0,243 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 65,15,56,200,201 +.byte 102,15,56,0,251 + + paddd %xmm8,%xmm0 + movdqa %xmm1,%xmm9 + + jnz L$oop_shaext + + pshufd $27,%xmm0,%xmm0 + pshufd $27,%xmm1,%xmm1 + movdqu %xmm0,(%rdi) + movd %xmm1,16(%rdi) + .byte 0xf3,0xc3 + + + .p2align 4 sha1_block_data_order_ssse3: _ssse3_shortcut: @@ -3581,6 +3755,1699 @@ L$epilogue_avx: .byte 0xf3,0xc3 + +.p2align 4 +sha1_block_data_order_avx2: +_avx2_shortcut: + + movq %rsp,%r11 + + pushq %rbx + + pushq %rbp + + pushq %r12 + + pushq %r13 + + pushq %r14 + + vzeroupper + movq %rdi,%r8 + movq %rsi,%r9 + movq %rdx,%r10 + + leaq -640(%rsp),%rsp + shlq $6,%r10 + leaq 64(%r9),%r13 + andq $-128,%rsp + addq %r9,%r10 + leaq K_XX_XX+64(%rip),%r14 + + movl 0(%r8),%eax + cmpq %r10,%r13 + cmovaeq %r9,%r13 + movl 4(%r8),%ebp + movl 8(%r8),%ecx + movl 12(%r8),%edx + movl 16(%r8),%esi + vmovdqu 64(%r14),%ymm6 + + vmovdqu (%r9),%xmm0 + vmovdqu 16(%r9),%xmm1 + vmovdqu 32(%r9),%xmm2 + vmovdqu 48(%r9),%xmm3 + leaq 64(%r9),%r9 + vinserti128 $1,(%r13),%ymm0,%ymm0 + vinserti128 $1,16(%r13),%ymm1,%ymm1 + vpshufb %ymm6,%ymm0,%ymm0 + vinserti128 $1,32(%r13),%ymm2,%ymm2 + vpshufb %ymm6,%ymm1,%ymm1 + vinserti128 $1,48(%r13),%ymm3,%ymm3 + vpshufb %ymm6,%ymm2,%ymm2 + vmovdqu -64(%r14),%ymm11 + vpshufb %ymm6,%ymm3,%ymm3 + + vpaddd %ymm11,%ymm0,%ymm4 + vpaddd %ymm11,%ymm1,%ymm5 + vmovdqu %ymm4,0(%rsp) + vpaddd %ymm11,%ymm2,%ymm6 + vmovdqu %ymm5,32(%rsp) + vpaddd %ymm11,%ymm3,%ymm7 + vmovdqu %ymm6,64(%rsp) + vmovdqu %ymm7,96(%rsp) + vpalignr $8,%ymm0,%ymm1,%ymm4 + vpsrldq $4,%ymm3,%ymm8 + vpxor %ymm0,%ymm4,%ymm4 + vpxor %ymm2,%ymm8,%ymm8 + vpxor %ymm8,%ymm4,%ymm4 + vpsrld $31,%ymm4,%ymm8 + vpslldq $12,%ymm4,%ymm10 + vpaddd %ymm4,%ymm4,%ymm4 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm4,%ymm4 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm4,%ymm4 + vpxor %ymm10,%ymm4,%ymm4 + vpaddd %ymm11,%ymm4,%ymm9 + vmovdqu %ymm9,128(%rsp) + vpalignr $8,%ymm1,%ymm2,%ymm5 + vpsrldq $4,%ymm4,%ymm8 + vpxor %ymm1,%ymm5,%ymm5 + vpxor %ymm3,%ymm8,%ymm8 + vpxor %ymm8,%ymm5,%ymm5 + vpsrld $31,%ymm5,%ymm8 + vmovdqu -32(%r14),%ymm11 + vpslldq $12,%ymm5,%ymm10 + vpaddd %ymm5,%ymm5,%ymm5 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm5,%ymm5 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm5,%ymm5 + vpxor %ymm10,%ymm5,%ymm5 + vpaddd %ymm11,%ymm5,%ymm9 + vmovdqu %ymm9,160(%rsp) + vpalignr $8,%ymm2,%ymm3,%ymm6 + vpsrldq $4,%ymm5,%ymm8 + vpxor %ymm2,%ymm6,%ymm6 + vpxor %ymm4,%ymm8,%ymm8 + vpxor %ymm8,%ymm6,%ymm6 + vpsrld $31,%ymm6,%ymm8 + vpslldq $12,%ymm6,%ymm10 + vpaddd %ymm6,%ymm6,%ymm6 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm6,%ymm6 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm6,%ymm6 + vpxor %ymm10,%ymm6,%ymm6 + vpaddd %ymm11,%ymm6,%ymm9 + vmovdqu %ymm9,192(%rsp) + vpalignr $8,%ymm3,%ymm4,%ymm7 + vpsrldq $4,%ymm6,%ymm8 + vpxor %ymm3,%ymm7,%ymm7 + vpxor %ymm5,%ymm8,%ymm8 + vpxor %ymm8,%ymm7,%ymm7 + vpsrld $31,%ymm7,%ymm8 + vpslldq $12,%ymm7,%ymm10 + vpaddd %ymm7,%ymm7,%ymm7 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm7,%ymm7 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm7,%ymm7 + vpxor %ymm10,%ymm7,%ymm7 + vpaddd %ymm11,%ymm7,%ymm9 + vmovdqu %ymm9,224(%rsp) + leaq 128(%rsp),%r13 + jmp L$oop_avx2 +.p2align 5 +L$oop_avx2: + rorxl $2,%ebp,%ebx + andnl %edx,%ebp,%edi + andl %ecx,%ebp + xorl %edi,%ebp + jmp L$align32_1 +.p2align 5 +L$align32_1: + vpalignr $8,%ymm6,%ymm7,%ymm8 + vpxor %ymm4,%ymm0,%ymm0 + addl -128(%r13),%esi + andnl %ecx,%eax,%edi + vpxor %ymm1,%ymm0,%ymm0 + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpxor %ymm8,%ymm0,%ymm0 + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + vpsrld $30,%ymm0,%ymm8 + vpslld $2,%ymm0,%ymm0 + addl -124(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + vpor %ymm8,%ymm0,%ymm0 + addl %r12d,%edx + xorl %edi,%esi + addl -120(%r13),%ecx + andnl %ebp,%edx,%edi + vpaddd %ymm11,%ymm0,%ymm9 + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + vmovdqu %ymm9,256(%rsp) + addl %r12d,%ecx + xorl %edi,%edx + addl -116(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -96(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + vpalignr $8,%ymm7,%ymm0,%ymm8 + vpxor %ymm5,%ymm1,%ymm1 + addl -92(%r13),%eax + andnl %edx,%ebp,%edi + vpxor %ymm2,%ymm1,%ymm1 + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + vpxor %ymm8,%ymm1,%ymm1 + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + vpsrld $30,%ymm1,%ymm8 + vpslld $2,%ymm1,%ymm1 + addl -88(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + vpor %ymm8,%ymm1,%ymm1 + addl %r12d,%esi + xorl %edi,%eax + addl -84(%r13),%edx + andnl %ebx,%esi,%edi + vpaddd %ymm11,%ymm1,%ymm9 + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + vmovdqu %ymm9,288(%rsp) + addl %r12d,%edx + xorl %edi,%esi + addl -64(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -60(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + vpalignr $8,%ymm0,%ymm1,%ymm8 + vpxor %ymm6,%ymm2,%ymm2 + addl -56(%r13),%ebp + andnl %esi,%ebx,%edi + vpxor %ymm3,%ymm2,%ymm2 + vmovdqu 0(%r14),%ymm11 + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpxor %ymm8,%ymm2,%ymm2 + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + vpsrld $30,%ymm2,%ymm8 + vpslld $2,%ymm2,%ymm2 + addl -52(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + vpor %ymm8,%ymm2,%ymm2 + addl %r12d,%eax + xorl %edi,%ebp + addl -32(%r13),%esi + andnl %ecx,%eax,%edi + vpaddd %ymm11,%ymm2,%ymm9 + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + vmovdqu %ymm9,320(%rsp) + addl %r12d,%esi + xorl %edi,%eax + addl -28(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -24(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + vpalignr $8,%ymm1,%ymm2,%ymm8 + vpxor %ymm7,%ymm3,%ymm3 + addl -20(%r13),%ebx + andnl %eax,%ecx,%edi + vpxor %ymm4,%ymm3,%ymm3 + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpxor %ymm8,%ymm3,%ymm3 + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + vpsrld $30,%ymm3,%ymm8 + vpslld $2,%ymm3,%ymm3 + addl 0(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + vpor %ymm8,%ymm3,%ymm3 + addl %r12d,%ebp + xorl %edi,%ebx + addl 4(%r13),%eax + andnl %edx,%ebp,%edi + vpaddd %ymm11,%ymm3,%ymm9 + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + vmovdqu %ymm9,352(%rsp) + addl %r12d,%eax + xorl %edi,%ebp + addl 8(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl 12(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vpalignr $8,%ymm2,%ymm3,%ymm8 + vpxor %ymm0,%ymm4,%ymm4 + addl 32(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + vpxor %ymm5,%ymm4,%ymm4 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpxor %ymm8,%ymm4,%ymm4 + addl %r12d,%ecx + xorl %ebp,%edx + addl 36(%r13),%ebx + vpsrld $30,%ymm4,%ymm8 + vpslld $2,%ymm4,%ymm4 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vpor %ymm8,%ymm4,%ymm4 + addl 40(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpaddd %ymm11,%ymm4,%ymm9 + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 44(%r13),%eax + vmovdqu %ymm9,384(%rsp) + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpalignr $8,%ymm3,%ymm4,%ymm8 + vpxor %ymm1,%ymm5,%ymm5 + addl 68(%r13),%edx + leal (%rdx,%rax,1),%edx + vpxor %ymm6,%ymm5,%ymm5 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + vpxor %ymm8,%ymm5,%ymm5 + addl %r12d,%edx + xorl %ebx,%esi + addl 72(%r13),%ecx + vpsrld $30,%ymm5,%ymm8 + vpslld $2,%ymm5,%ymm5 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + vpor %ymm8,%ymm5,%ymm5 + addl 76(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpaddd %ymm11,%ymm5,%ymm9 + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 96(%r13),%ebp + vmovdqu %ymm9,416(%rsp) + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 100(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpalignr $8,%ymm4,%ymm5,%ymm8 + vpxor %ymm2,%ymm6,%ymm6 + addl 104(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpxor %ymm7,%ymm6,%ymm6 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + vpxor %ymm8,%ymm6,%ymm6 + addl %r12d,%esi + xorl %ecx,%eax + addl 108(%r13),%edx + leaq 256(%r13),%r13 + vpsrld $30,%ymm6,%ymm8 + vpslld $2,%ymm6,%ymm6 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vpor %ymm8,%ymm6,%ymm6 + addl -128(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpaddd %ymm11,%ymm6,%ymm9 + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -124(%r13),%ebx + vmovdqu %ymm9,448(%rsp) + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -120(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpalignr $8,%ymm5,%ymm6,%ymm8 + vpxor %ymm3,%ymm7,%ymm7 + addl -116(%r13),%eax + leal (%rax,%rbx,1),%eax + vpxor %ymm0,%ymm7,%ymm7 + vmovdqu 32(%r14),%ymm11 + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + vpxor %ymm8,%ymm7,%ymm7 + addl %r12d,%eax + xorl %edx,%ebp + addl -96(%r13),%esi + vpsrld $30,%ymm7,%ymm8 + vpslld $2,%ymm7,%ymm7 + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpor %ymm8,%ymm7,%ymm7 + addl -92(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpaddd %ymm11,%ymm7,%ymm9 + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -88(%r13),%ecx + vmovdqu %ymm9,480(%rsp) + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -84(%r13),%ebx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + jmp L$align32_2 +.p2align 5 +L$align32_2: + vpalignr $8,%ymm6,%ymm7,%ymm8 + vpxor %ymm4,%ymm0,%ymm0 + addl -64(%r13),%ebp + xorl %esi,%ecx + vpxor %ymm1,%ymm0,%ymm0 + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + vpxor %ymm8,%ymm0,%ymm0 + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + vpsrld $30,%ymm0,%ymm8 + vpslld $2,%ymm0,%ymm0 + addl %r12d,%ebp + andl %edi,%ebx + addl -60(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + vpor %ymm8,%ymm0,%ymm0 + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + vpaddd %ymm11,%ymm0,%ymm9 + addl %r12d,%eax + andl %edi,%ebp + addl -56(%r13),%esi + xorl %ecx,%ebp + vmovdqu %ymm9,512(%rsp) + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl -52(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + addl -32(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + vpalignr $8,%ymm7,%ymm0,%ymm8 + vpxor %ymm5,%ymm1,%ymm1 + addl -28(%r13),%ebx + xorl %eax,%edx + vpxor %ymm2,%ymm1,%ymm1 + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + vpxor %ymm8,%ymm1,%ymm1 + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vpsrld $30,%ymm1,%ymm8 + vpslld $2,%ymm1,%ymm1 + addl %r12d,%ebx + andl %edi,%ecx + addl -24(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + vpor %ymm8,%ymm1,%ymm1 + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + vpaddd %ymm11,%ymm1,%ymm9 + addl %r12d,%ebp + andl %edi,%ebx + addl -20(%r13),%eax + xorl %edx,%ebx + vmovdqu %ymm9,544(%rsp) + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 0(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl 4(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + vpalignr $8,%ymm0,%ymm1,%ymm8 + vpxor %ymm6,%ymm2,%ymm2 + addl 8(%r13),%ecx + xorl %ebp,%esi + vpxor %ymm3,%ymm2,%ymm2 + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + vpxor %ymm8,%ymm2,%ymm2 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpsrld $30,%ymm2,%ymm8 + vpslld $2,%ymm2,%ymm2 + addl %r12d,%ecx + andl %edi,%edx + addl 12(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + vpor %ymm8,%ymm2,%ymm2 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vpaddd %ymm11,%ymm2,%ymm9 + addl %r12d,%ebx + andl %edi,%ecx + addl 32(%r13),%ebp + xorl %esi,%ecx + vmovdqu %ymm9,576(%rsp) + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 36(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 40(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + vpalignr $8,%ymm1,%ymm2,%ymm8 + vpxor %ymm7,%ymm3,%ymm3 + addl 44(%r13),%edx + xorl %ebx,%eax + vpxor %ymm4,%ymm3,%ymm3 + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + vpxor %ymm8,%ymm3,%ymm3 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + vpsrld $30,%ymm3,%ymm8 + vpslld $2,%ymm3,%ymm3 + addl %r12d,%edx + andl %edi,%esi + addl 64(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + vpor %ymm8,%ymm3,%ymm3 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpaddd %ymm11,%ymm3,%ymm9 + addl %r12d,%ecx + andl %edi,%edx + addl 68(%r13),%ebx + xorl %eax,%edx + vmovdqu %ymm9,608(%rsp) + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl 72(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 76(%r13),%eax + xorl %edx,%ebx + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl 100(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 104(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 108(%r13),%ebx + leaq 256(%r13),%r13 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -128(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -124(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -120(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -116(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -96(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -92(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -88(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -84(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -60(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -56(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -52(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -32(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -28(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -24(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -20(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + addl %r12d,%edx + leaq 128(%r9),%r13 + leaq 128(%r9),%rdi + cmpq %r10,%r13 + cmovaeq %r9,%r13 + + + addl 0(%r8),%edx + addl 4(%r8),%esi + addl 8(%r8),%ebp + movl %edx,0(%r8) + addl 12(%r8),%ebx + movl %esi,4(%r8) + movl %edx,%eax + addl 16(%r8),%ecx + movl %ebp,%r12d + movl %ebp,8(%r8) + movl %ebx,%edx + + movl %ebx,12(%r8) + movl %esi,%ebp + movl %ecx,16(%r8) + + movl %ecx,%esi + movl %r12d,%ecx + + + cmpq %r10,%r9 + je L$done_avx2 + vmovdqu 64(%r14),%ymm6 + cmpq %r10,%rdi + ja L$ast_avx2 + + vmovdqu -64(%rdi),%xmm0 + vmovdqu -48(%rdi),%xmm1 + vmovdqu -32(%rdi),%xmm2 + vmovdqu -16(%rdi),%xmm3 + vinserti128 $1,0(%r13),%ymm0,%ymm0 + vinserti128 $1,16(%r13),%ymm1,%ymm1 + vinserti128 $1,32(%r13),%ymm2,%ymm2 + vinserti128 $1,48(%r13),%ymm3,%ymm3 + jmp L$ast_avx2 + +.p2align 5 +L$ast_avx2: + leaq 128+16(%rsp),%r13 + rorxl $2,%ebp,%ebx + andnl %edx,%ebp,%edi + andl %ecx,%ebp + xorl %edi,%ebp + subq $-128,%r9 + addl -128(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -124(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -120(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -116(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -96(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl -92(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl -88(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -84(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -64(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -60(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -56(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl -52(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl -32(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -28(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -24(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -20(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl 0(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl 4(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl 8(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl 12(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 32(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 36(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 40(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 44(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vmovdqu -64(%r14),%ymm11 + vpshufb %ymm6,%ymm0,%ymm0 + addl 68(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 72(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 76(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 96(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 100(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpshufb %ymm6,%ymm1,%ymm1 + vpaddd %ymm11,%ymm0,%ymm8 + addl 104(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl 108(%r13),%edx + leaq 256(%r13),%r13 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -128(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -124(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -120(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vmovdqu %ymm8,0(%rsp) + vpshufb %ymm6,%ymm2,%ymm2 + vpaddd %ymm11,%ymm1,%ymm9 + addl -116(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -92(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -88(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -84(%r13),%ebx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + vmovdqu %ymm9,32(%rsp) + vpshufb %ymm6,%ymm3,%ymm3 + vpaddd %ymm11,%ymm2,%ymm6 + addl -64(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl -60(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl -56(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl -52(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + addl -32(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + jmp L$align32_3 +.p2align 5 +L$align32_3: + vmovdqu %ymm6,64(%rsp) + vpaddd %ymm11,%ymm3,%ymm7 + addl -28(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl -24(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl -20(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 0(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl 4(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + vmovdqu %ymm7,96(%rsp) + addl 8(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + addl 12(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl 32(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 36(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 40(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + vpalignr $8,%ymm0,%ymm1,%ymm4 + addl 44(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + vpsrldq $4,%ymm3,%ymm8 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpxor %ymm0,%ymm4,%ymm4 + vpxor %ymm2,%ymm8,%ymm8 + xorl %ebp,%esi + addl %r12d,%edx + vpxor %ymm8,%ymm4,%ymm4 + andl %edi,%esi + addl 64(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + vpsrld $31,%ymm4,%ymm8 + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + vpslldq $12,%ymm4,%ymm10 + vpaddd %ymm4,%ymm4,%ymm4 + rorxl $2,%edx,%esi + xorl %eax,%edx + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm4,%ymm4 + addl %r12d,%ecx + andl %edi,%edx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm4,%ymm4 + addl 68(%r13),%ebx + xorl %eax,%edx + vpxor %ymm10,%ymm4,%ymm4 + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + vpaddd %ymm11,%ymm4,%ymm9 + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vmovdqu %ymm9,128(%rsp) + addl %r12d,%ebx + andl %edi,%ecx + addl 72(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 76(%r13),%eax + xorl %edx,%ebx + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpalignr $8,%ymm1,%ymm2,%ymm5 + addl 96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpsrldq $4,%ymm4,%ymm8 + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpxor %ymm1,%ymm5,%ymm5 + vpxor %ymm3,%ymm8,%ymm8 + addl 100(%r13),%edx + leal (%rdx,%rax,1),%edx + vpxor %ymm8,%ymm5,%ymm5 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + vpsrld $31,%ymm5,%ymm8 + vmovdqu -32(%r14),%ymm11 + xorl %ebx,%esi + addl 104(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + vpslldq $12,%ymm5,%ymm10 + vpaddd %ymm5,%ymm5,%ymm5 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm5,%ymm5 + xorl %eax,%edx + addl %r12d,%ecx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm5,%ymm5 + xorl %ebp,%edx + addl 108(%r13),%ebx + leaq 256(%r13),%r13 + vpxor %ymm10,%ymm5,%ymm5 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpaddd %ymm11,%ymm5,%ymm9 + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vmovdqu %ymm9,160(%rsp) + addl -128(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpalignr $8,%ymm2,%ymm3,%ymm6 + addl -124(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + vpsrldq $4,%ymm5,%ymm8 + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpxor %ymm2,%ymm6,%ymm6 + vpxor %ymm4,%ymm8,%ymm8 + addl -120(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpxor %ymm8,%ymm6,%ymm6 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + vpsrld $31,%ymm6,%ymm8 + xorl %ecx,%eax + addl -116(%r13),%edx + leal (%rdx,%rax,1),%edx + vpslldq $12,%ymm6,%ymm10 + vpaddd %ymm6,%ymm6,%ymm6 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm6,%ymm6 + xorl %ebp,%esi + addl %r12d,%edx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm6,%ymm6 + xorl %ebx,%esi + addl -96(%r13),%ecx + vpxor %ymm10,%ymm6,%ymm6 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpaddd %ymm11,%ymm6,%ymm9 + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + vmovdqu %ymm9,192(%rsp) + addl -92(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vpalignr $8,%ymm3,%ymm4,%ymm7 + addl -88(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpsrldq $4,%ymm6,%ymm8 + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpxor %ymm3,%ymm7,%ymm7 + vpxor %ymm5,%ymm8,%ymm8 + addl -84(%r13),%eax + leal (%rax,%rbx,1),%eax + vpxor %ymm8,%ymm7,%ymm7 + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + vpsrld $31,%ymm7,%ymm8 + xorl %edx,%ebp + addl -64(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpslldq $12,%ymm7,%ymm10 + vpaddd %ymm7,%ymm7,%ymm7 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm7,%ymm7 + xorl %ebx,%eax + addl %r12d,%esi + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm7,%ymm7 + xorl %ecx,%eax + addl -60(%r13),%edx + vpxor %ymm10,%ymm7,%ymm7 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpaddd %ymm11,%ymm7,%ymm9 + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vmovdqu %ymm9,224(%rsp) + addl -56(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -52(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -32(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -28(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -24(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -20(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + addl %r12d,%edx + leaq 128(%rsp),%r13 + + + addl 0(%r8),%edx + addl 4(%r8),%esi + addl 8(%r8),%ebp + movl %edx,0(%r8) + addl 12(%r8),%ebx + movl %esi,4(%r8) + movl %edx,%eax + addl 16(%r8),%ecx + movl %ebp,%r12d + movl %ebp,8(%r8) + movl %ebx,%edx + + movl %ebx,12(%r8) + movl %esi,%ebp + movl %ecx,16(%r8) + + movl %ecx,%esi + movl %r12d,%ecx + + + cmpq %r10,%r9 + jbe L$oop_avx2 + +L$done_avx2: + vzeroupper + movq -40(%r11),%r14 + + movq -32(%r11),%r13 + + movq -24(%r11),%r12 + + movq -16(%r11),%rbp + + movq -8(%r11),%rbx + + leaq (%r11),%rsp + +L$epilogue_avx2: + .byte 0xf3,0xc3 + + .p2align 6 K_XX_XX: .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S index 2f60a22c807..cd52d67e606 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S @@ -812,11 +812,9 @@ L$schedule_mangle_both: .p2align 4 _vpaes_set_encrypt_key: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+5(%rip) -#endif #endif movl %esi,%eax @@ -862,11 +860,9 @@ _vpaes_set_decrypt_key: .p2align 4 _vpaes_encrypt: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+4(%rip) -#endif #endif movdqu (%rdi),%xmm0 call _vpaes_preheat diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/third_party/sike/asm/fp-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/third_party/sike/asm/fp-x86_64.S deleted file mode 100644 index f1e7ea4f63e..00000000000 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/third_party/sike/asm/fp-x86_64.S +++ /dev/null @@ -1,1869 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__has_feature) -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif -#endif - -#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text - - -L$p434x2: -.quad 0xFFFFFFFFFFFFFFFE -.quad 0xFFFFFFFFFFFFFFFF -.quad 0xFB82ECF5C5FFFFFF -.quad 0xF78CB8F062B15D47 -.quad 0xD9F8BFAD038A40AC -.quad 0x0004683E4E2EE688 - - -L$p434p1: -.quad 0xFDC1767AE3000000 -.quad 0x7BC65C783158AEA3 -.quad 0x6CFC5FD681C52056 -.quad 0x0002341F27177344 - - -.private_extern _OPENSSL_ia32cap_P -.globl _sike_fpadd -.private_extern _sike_fpadd - -_sike_fpadd: - - pushq %r12 - - - pushq %r13 - - - pushq %r14 - - - - xorq %rax,%rax - - movq 0(%rdi),%r8 - addq 0(%rsi),%r8 - movq 8(%rdi),%r9 - adcq 8(%rsi),%r9 - movq 16(%rdi),%r10 - adcq 16(%rsi),%r10 - movq 24(%rdi),%r11 - adcq 24(%rsi),%r11 - movq 32(%rdi),%r12 - adcq 32(%rsi),%r12 - movq 40(%rdi),%r13 - adcq 40(%rsi),%r13 - movq 48(%rdi),%r14 - adcq 48(%rsi),%r14 - - movq L$p434x2(%rip),%rcx - subq %rcx,%r8 - movq 8+L$p434x2(%rip),%rcx - sbbq %rcx,%r9 - sbbq %rcx,%r10 - movq 16+L$p434x2(%rip),%rcx - sbbq %rcx,%r11 - movq 24+L$p434x2(%rip),%rcx - sbbq %rcx,%r12 - movq 32+L$p434x2(%rip),%rcx - sbbq %rcx,%r13 - movq 40+L$p434x2(%rip),%rcx - sbbq %rcx,%r14 - - sbbq $0,%rax - - movq L$p434x2(%rip),%rdi - andq %rax,%rdi - movq 8+L$p434x2(%rip),%rsi - andq %rax,%rsi - movq 16+L$p434x2(%rip),%rcx - andq %rax,%rcx - - addq %rdi,%r8 - movq %r8,0(%rdx) - adcq %rsi,%r9 - movq %r9,8(%rdx) - adcq %rsi,%r10 - movq %r10,16(%rdx) - adcq %rcx,%r11 - movq %r11,24(%rdx) - - setc %cl - movq 24+L$p434x2(%rip),%r8 - andq %rax,%r8 - movq 32+L$p434x2(%rip),%r9 - andq %rax,%r9 - movq 40+L$p434x2(%rip),%r10 - andq %rax,%r10 - btq $0,%rcx - - adcq %r8,%r12 - movq %r12,32(%rdx) - adcq %r9,%r13 - movq %r13,40(%rdx) - adcq %r10,%r14 - movq %r14,48(%rdx) - - popq %r14 - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - -.globl _sike_cswap_asm -.private_extern _sike_cswap_asm - -_sike_cswap_asm: - - - movq %rdx,%xmm3 - - - - - - pshufd $68,%xmm3,%xmm3 - - movdqu 0(%rdi),%xmm0 - movdqu 0(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,0(%rdi) - movdqu %xmm1,0(%rsi) - - movdqu 16(%rdi),%xmm0 - movdqu 16(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,16(%rdi) - movdqu %xmm1,16(%rsi) - - movdqu 32(%rdi),%xmm0 - movdqu 32(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,32(%rdi) - movdqu %xmm1,32(%rsi) - - movdqu 48(%rdi),%xmm0 - movdqu 48(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,48(%rdi) - movdqu %xmm1,48(%rsi) - - movdqu 64(%rdi),%xmm0 - movdqu 64(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,64(%rdi) - movdqu %xmm1,64(%rsi) - - movdqu 80(%rdi),%xmm0 - movdqu 80(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,80(%rdi) - movdqu %xmm1,80(%rsi) - - movdqu 96(%rdi),%xmm0 - movdqu 96(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,96(%rdi) - movdqu %xmm1,96(%rsi) - - movdqu 112(%rdi),%xmm0 - movdqu 112(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,112(%rdi) - movdqu %xmm1,112(%rsi) - - movdqu 128(%rdi),%xmm0 - movdqu 128(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,128(%rdi) - movdqu %xmm1,128(%rsi) - - movdqu 144(%rdi),%xmm0 - movdqu 144(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,144(%rdi) - movdqu %xmm1,144(%rsi) - - movdqu 160(%rdi),%xmm0 - movdqu 160(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,160(%rdi) - movdqu %xmm1,160(%rsi) - - movdqu 176(%rdi),%xmm0 - movdqu 176(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,176(%rdi) - movdqu %xmm1,176(%rsi) - - movdqu 192(%rdi),%xmm0 - movdqu 192(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,192(%rdi) - movdqu %xmm1,192(%rsi) - - movdqu 208(%rdi),%xmm0 - movdqu 208(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,208(%rdi) - movdqu %xmm1,208(%rsi) - - .byte 0xf3,0xc3 -.globl _sike_fpsub -.private_extern _sike_fpsub - -_sike_fpsub: - - pushq %r12 - - - pushq %r13 - - - pushq %r14 - - - - xorq %rax,%rax - - movq 0(%rdi),%r8 - subq 0(%rsi),%r8 - movq 8(%rdi),%r9 - sbbq 8(%rsi),%r9 - movq 16(%rdi),%r10 - sbbq 16(%rsi),%r10 - movq 24(%rdi),%r11 - sbbq 24(%rsi),%r11 - movq 32(%rdi),%r12 - sbbq 32(%rsi),%r12 - movq 40(%rdi),%r13 - sbbq 40(%rsi),%r13 - movq 48(%rdi),%r14 - sbbq 48(%rsi),%r14 - - sbbq $0x0,%rax - - movq L$p434x2(%rip),%rdi - andq %rax,%rdi - movq 8+L$p434x2(%rip),%rsi - andq %rax,%rsi - movq 16+L$p434x2(%rip),%rcx - andq %rax,%rcx - - addq %rdi,%r8 - movq %r8,0(%rdx) - adcq %rsi,%r9 - movq %r9,8(%rdx) - adcq %rsi,%r10 - movq %r10,16(%rdx) - adcq %rcx,%r11 - movq %r11,24(%rdx) - - setc %cl - movq 24+L$p434x2(%rip),%r8 - andq %rax,%r8 - movq 32+L$p434x2(%rip),%r9 - andq %rax,%r9 - movq 40+L$p434x2(%rip),%r10 - andq %rax,%r10 - btq $0x0,%rcx - - adcq %r8,%r12 - adcq %r9,%r13 - adcq %r10,%r14 - movq %r12,32(%rdx) - movq %r13,40(%rdx) - movq %r14,48(%rdx) - - popq %r14 - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - -.globl _sike_mpadd_asm -.private_extern _sike_mpadd_asm - -_sike_mpadd_asm: - - movq 0(%rdi),%r8; - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - movq 32(%rdi),%rcx - addq 0(%rsi),%r8 - adcq 8(%rsi),%r9 - adcq 16(%rsi),%r10 - adcq 24(%rsi),%r11 - adcq 32(%rsi),%rcx - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %rcx,32(%rdx) - - movq 40(%rdi),%r8 - movq 48(%rdi),%r9 - adcq 40(%rsi),%r8 - adcq 48(%rsi),%r9 - movq %r8,40(%rdx) - movq %r9,48(%rdx) - .byte 0xf3,0xc3 - -.globl _sike_mpsubx2_asm -.private_extern _sike_mpsubx2_asm - -_sike_mpsubx2_asm: - - xorq %rax,%rax - - movq 0(%rdi),%r8 - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - movq 32(%rdi),%rcx - subq 0(%rsi),%r8 - sbbq 8(%rsi),%r9 - sbbq 16(%rsi),%r10 - sbbq 24(%rsi),%r11 - sbbq 32(%rsi),%rcx - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %rcx,32(%rdx) - - movq 40(%rdi),%r8 - movq 48(%rdi),%r9 - movq 56(%rdi),%r10 - movq 64(%rdi),%r11 - movq 72(%rdi),%rcx - sbbq 40(%rsi),%r8 - sbbq 48(%rsi),%r9 - sbbq 56(%rsi),%r10 - sbbq 64(%rsi),%r11 - sbbq 72(%rsi),%rcx - movq %r8,40(%rdx) - movq %r9,48(%rdx) - movq %r10,56(%rdx) - movq %r11,64(%rdx) - movq %rcx,72(%rdx) - - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - sbbq 80(%rsi),%r8 - sbbq 88(%rsi),%r9 - sbbq 96(%rsi),%r10 - sbbq 104(%rsi),%r11 - sbbq $0x0,%rax - movq %r8,80(%rdx) - movq %r9,88(%rdx) - movq %r10,96(%rdx) - movq %r11,104(%rdx) - .byte 0xf3,0xc3 - -.globl _sike_mpdblsubx2_asm -.private_extern _sike_mpdblsubx2_asm - -_sike_mpdblsubx2_asm: - - pushq %r12 - - - pushq %r13 - - - - xorq %rax,%rax - - - movq 0(%rdx),%r8 - movq 8(%rdx),%r9 - movq 16(%rdx),%r10 - movq 24(%rdx),%r11 - movq 32(%rdx),%r12 - movq 40(%rdx),%r13 - movq 48(%rdx),%rcx - subq 0(%rdi),%r8 - sbbq 8(%rdi),%r9 - sbbq 16(%rdi),%r10 - sbbq 24(%rdi),%r11 - sbbq 32(%rdi),%r12 - sbbq 40(%rdi),%r13 - sbbq 48(%rdi),%rcx - adcq $0x0,%rax - - - subq 0(%rsi),%r8 - sbbq 8(%rsi),%r9 - sbbq 16(%rsi),%r10 - sbbq 24(%rsi),%r11 - sbbq 32(%rsi),%r12 - sbbq 40(%rsi),%r13 - sbbq 48(%rsi),%rcx - adcq $0x0,%rax - - - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %r12,32(%rdx) - movq %r13,40(%rdx) - movq %rcx,48(%rdx) - - - movq 56(%rdx),%r8 - movq 64(%rdx),%r9 - movq 72(%rdx),%r10 - movq 80(%rdx),%r11 - movq 88(%rdx),%r12 - movq 96(%rdx),%r13 - movq 104(%rdx),%rcx - - subq %rax,%r8 - sbbq 56(%rdi),%r8 - sbbq 64(%rdi),%r9 - sbbq 72(%rdi),%r10 - sbbq 80(%rdi),%r11 - sbbq 88(%rdi),%r12 - sbbq 96(%rdi),%r13 - sbbq 104(%rdi),%rcx - - - subq 56(%rsi),%r8 - sbbq 64(%rsi),%r9 - sbbq 72(%rsi),%r10 - sbbq 80(%rsi),%r11 - sbbq 88(%rsi),%r12 - sbbq 96(%rsi),%r13 - sbbq 104(%rsi),%rcx - - - movq %r8,56(%rdx) - movq %r9,64(%rdx) - movq %r10,72(%rdx) - movq %r11,80(%rdx) - movq %r12,88(%rdx) - movq %r13,96(%rdx) - movq %rcx,104(%rdx) - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - - -L$rdc_bdw: - - - - - - - - - xorq %rax,%rax - movq 0+0(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r8,%r9 - mulxq 8+L$p434p1(%rip),%r12,%r10 - mulxq 16+L$p434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+L$p434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 0+8(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+L$p434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 24(%rdi),%r8 - adcq 32(%rdi),%r9 - adcq 40(%rdi),%r10 - adcq 48(%rdi),%r11 - adcq 56(%rdi),%r12 - adcq 64(%rdi),%r13 - adcq 72(%rdi),%rcx - movq %r8,24(%rdi) - movq %r9,32(%rdi) - movq %r10,40(%rdi) - movq %r11,48(%rdi) - movq %r12,56(%rdi) - movq %r13,64(%rdi) - movq %rcx,72(%rdi) - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - adcq $0x0,%r8 - adcq $0x0,%r9 - adcq $0x0,%r10 - adcq $0x0,%r11 - movq %r8,80(%rdi) - movq %r9,88(%rdi) - movq %r10,96(%rdi) - movq %r11,104(%rdi) - - xorq %rax,%rax - movq 16+0(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r8,%r9 - mulxq 8+L$p434p1(%rip),%r12,%r10 - mulxq 16+L$p434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+L$p434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 16+8(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+L$p434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 40(%rdi),%r8 - adcq 48(%rdi),%r9 - adcq 56(%rdi),%r10 - adcq 64(%rdi),%r11 - adcq 72(%rdi),%r12 - adcq 80(%rdi),%r13 - adcq 88(%rdi),%rcx - movq %r8,40(%rdi) - movq %r9,48(%rdi) - movq %r10,56(%rdi) - movq %r11,64(%rdi) - movq %r12,72(%rdi) - movq %r13,80(%rdi) - movq %rcx,88(%rdi) - movq 96(%rdi),%r8 - movq 104(%rdi),%r9 - adcq $0x0,%r8 - adcq $0x0,%r9 - movq %r8,96(%rdi) - movq %r9,104(%rdi) - - xorq %rax,%rax - movq 32+0(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r8,%r9 - mulxq 8+L$p434p1(%rip),%r12,%r10 - mulxq 16+L$p434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+L$p434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 32+8(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+L$p434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 56(%rdi),%r8 - adcq 64(%rdi),%r9 - adcq 72(%rdi),%r10 - adcq 80(%rdi),%r11 - adcq 88(%rdi),%r12 - adcq 96(%rdi),%r13 - adcq 104(%rdi),%rcx - movq %r8,0(%rsi) - movq %r9,8(%rsi) - movq %r10,72(%rdi) - movq %r11,80(%rdi) - movq %r12,88(%rdi) - movq %r13,96(%rdi) - movq %rcx,104(%rdi) - - xorq %rax,%rax - movq 48(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r8,%r9 - mulxq 8+L$p434p1(%rip),%r12,%r10 - mulxq 16+L$p434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+L$p434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - addq 72(%rdi),%r8 - adcq 80(%rdi),%r9 - adcq 88(%rdi),%r10 - adcq 96(%rdi),%r11 - adcq 104(%rdi),%r12 - movq %r8,16(%rsi) - movq %r9,24(%rsi) - movq %r10,32(%rsi) - movq %r11,40(%rsi) - movq %r12,48(%rsi) - - - popq %r15 - - - popq %r14 - - - popq %r13 - - - popq %r12 - - - .byte 0xf3,0xc3 - -.globl _sike_fprdc -.private_extern _sike_fprdc - -_sike_fprdc: - - pushq %r12 - - - pushq %r13 - - - pushq %r14 - - - pushq %r15 - - - - - - leaq _OPENSSL_ia32cap_P(%rip),%rcx - movq 8(%rcx),%rcx - andl $0x80100,%ecx - cmpl $0x80100,%ecx - je L$rdc_bdw - - - - - movq 0+0(%rdi),%r14 - movq 0+L$p434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+L$p434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 0+8(%rdi),%rcx - movq 0+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+L$p434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+L$p434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 24(%rdi),%r8 - adcq 32(%rdi),%r9 - adcq 40(%rdi),%r10 - adcq 48(%rdi),%r11 - adcq 56(%rdi),%r12 - adcq 64(%rdi),%r13 - adcq 72(%rdi),%rcx - movq %r8,24(%rdi) - movq %r9,32(%rdi) - movq %r10,40(%rdi) - movq %r11,48(%rdi) - movq %r12,56(%rdi) - movq %r13,64(%rdi) - movq %rcx,72(%rdi) - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - adcq $0x0,%r8 - adcq $0x0,%r9 - adcq $0x0,%r10 - adcq $0x0,%r11 - movq %r8,80(%rdi) - movq %r9,88(%rdi) - movq %r10,96(%rdi) - movq %r11,104(%rdi) - - - movq 16+0(%rdi),%r14 - movq 0+L$p434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+L$p434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 16+8(%rdi),%rcx - movq 0+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+L$p434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+L$p434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 40(%rdi),%r8 - adcq 48(%rdi),%r9 - adcq 56(%rdi),%r10 - adcq 64(%rdi),%r11 - adcq 72(%rdi),%r12 - adcq 80(%rdi),%r13 - adcq 88(%rdi),%rcx - movq %r8,40(%rdi) - movq %r9,48(%rdi) - movq %r10,56(%rdi) - movq %r11,64(%rdi) - movq %r12,72(%rdi) - movq %r13,80(%rdi) - movq %rcx,88(%rdi) - movq 96(%rdi),%r8 - movq 104(%rdi),%r9 - adcq $0x0,%r8 - adcq $0x0,%r9 - movq %r8,96(%rdi) - movq %r9,104(%rdi) - - - movq 32+0(%rdi),%r14 - movq 0+L$p434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+L$p434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 32+8(%rdi),%rcx - movq 0+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+L$p434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+L$p434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 56(%rdi),%r8 - adcq 64(%rdi),%r9 - adcq 72(%rdi),%r10 - adcq 80(%rdi),%r11 - adcq 88(%rdi),%r12 - adcq 96(%rdi),%r13 - adcq 104(%rdi),%rcx - movq %r8,0(%rsi) - movq %r9,8(%rsi) - movq %r10,72(%rdi) - movq %r11,80(%rdi) - movq %r12,88(%rdi) - movq %r13,96(%rdi) - movq %rcx,104(%rdi) - - movq 48(%rdi),%r13 - - xorq %r10,%r10 - movq 0+L$p434p1(%rip),%rax - mulq %r13 - movq %rax,%r8 - movq %rdx,%r9 - - xorq %r11,%r11 - movq 8+L$p434p1(%rip),%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - - xorq %r12,%r12 - movq 16+L$p434p1(%rip),%rax - mulq %r13 - addq %rax,%r10 - adcq %rdx,%r11 - - movq 24+L$p434p1(%rip),%rax - mulq %r13 - addq %rax,%r11 - adcq %rdx,%r12 - - addq 72(%rdi),%r8 - adcq 80(%rdi),%r9 - adcq 88(%rdi),%r10 - adcq 96(%rdi),%r11 - adcq 104(%rdi),%r12 - movq %r8,16(%rsi) - movq %r9,24(%rsi) - movq %r10,32(%rsi) - movq %r11,40(%rsi) - movq %r12,48(%rsi) - - - popq %r15 - - popq %r14 - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - -L$mul_bdw: - - - - - - - - - - movq %rdx,%rcx - xorq %rax,%rax - - - movq 0(%rdi),%r8 - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - - pushq %rbx - - - pushq %rbp - - - subq $96,%rsp - - - addq 32(%rdi),%r8 - adcq 40(%rdi),%r9 - adcq 48(%rdi),%r10 - adcq $0x0,%r11 - sbbq $0x0,%rax - movq %r8,0(%rsp) - movq %r9,8(%rsp) - movq %r10,16(%rsp) - movq %r11,24(%rsp) - - - xorq %rbx,%rbx - movq 0(%rsi),%r12 - movq 8(%rsi),%r13 - movq 16(%rsi),%r14 - movq 24(%rsi),%r15 - addq 32(%rsi),%r12 - adcq 40(%rsi),%r13 - adcq 48(%rsi),%r14 - adcq $0x0,%r15 - sbbq $0x0,%rbx - movq %r12,32(%rsp) - movq %r13,40(%rsp) - movq %r14,48(%rsp) - movq %r15,56(%rsp) - - - andq %rax,%r12 - andq %rax,%r13 - andq %rax,%r14 - andq %rax,%r15 - - - andq %rbx,%r8 - andq %rbx,%r9 - andq %rbx,%r10 - andq %rbx,%r11 - - - addq %r12,%r8 - adcq %r13,%r9 - adcq %r14,%r10 - adcq %r15,%r11 - movq %r8,64(%rsp) - movq %r9,72(%rsp) - movq %r10,80(%rsp) - movq %r11,88(%rsp) - - - movq 0+0(%rsp),%rdx - mulxq 32+0(%rsp),%r9,%r8 - movq %r9,0+0(%rsp) - mulxq 32+8(%rsp),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 32+16(%rsp),%r11,%r10 - adoxq %r11,%r9 - mulxq 32+24(%rsp),%r12,%r11 - adoxq %r12,%r10 - - movq 0+8(%rsp),%rdx - mulxq 32+0(%rsp),%r12,%r13 - adoxq %rax,%r11 - xorq %rax,%rax - mulxq 32+8(%rsp),%r15,%r14 - adoxq %r8,%r12 - movq %r12,0+8(%rsp) - adcxq %r15,%r13 - mulxq 32+16(%rsp),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r9,%r13 - mulxq 32+24(%rsp),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r10,%r14 - - movq 0+16(%rsp),%rdx - mulxq 32+0(%rsp),%r8,%r9 - adoxq %r11,%r15 - adoxq %rax,%rbx - xorq %rax,%rax - mulxq 32+8(%rsp),%r11,%r10 - adoxq %r13,%r8 - movq %r8,0+16(%rsp) - adcxq %r11,%r9 - mulxq 32+16(%rsp),%r12,%r11 - adcxq %r12,%r10 - adoxq %r14,%r9 - mulxq 32+24(%rsp),%rbp,%r12 - adcxq %rbp,%r11 - adcxq %rax,%r12 - - adoxq %r15,%r10 - adoxq %rbx,%r11 - adoxq %rax,%r12 - - movq 0+24(%rsp),%rdx - mulxq 32+0(%rsp),%r8,%r13 - xorq %rax,%rax - mulxq 32+8(%rsp),%r15,%r14 - adcxq %r15,%r13 - adoxq %r8,%r9 - mulxq 32+16(%rsp),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r13,%r10 - mulxq 32+24(%rsp),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r14,%r11 - adoxq %r15,%r12 - adoxq %rax,%rbx - movq %r9,0+24(%rsp) - movq %r10,0+32(%rsp) - movq %r11,0+40(%rsp) - movq %r12,0+48(%rsp) - movq %rbx,0+56(%rsp) - - - - movq 0+0(%rdi),%rdx - mulxq 0+0(%rsi),%r9,%r8 - movq %r9,0+0(%rcx) - mulxq 0+8(%rsi),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 0+16(%rsi),%r11,%r10 - adoxq %r11,%r9 - mulxq 0+24(%rsi),%r12,%r11 - adoxq %r12,%r10 - - movq 0+8(%rdi),%rdx - mulxq 0+0(%rsi),%r12,%r13 - adoxq %rax,%r11 - xorq %rax,%rax - mulxq 0+8(%rsi),%r15,%r14 - adoxq %r8,%r12 - movq %r12,0+8(%rcx) - adcxq %r15,%r13 - mulxq 0+16(%rsi),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r9,%r13 - mulxq 0+24(%rsi),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r10,%r14 - - movq 0+16(%rdi),%rdx - mulxq 0+0(%rsi),%r8,%r9 - adoxq %r11,%r15 - adoxq %rax,%rbx - xorq %rax,%rax - mulxq 0+8(%rsi),%r11,%r10 - adoxq %r13,%r8 - movq %r8,0+16(%rcx) - adcxq %r11,%r9 - mulxq 0+16(%rsi),%r12,%r11 - adcxq %r12,%r10 - adoxq %r14,%r9 - mulxq 0+24(%rsi),%rbp,%r12 - adcxq %rbp,%r11 - adcxq %rax,%r12 - - adoxq %r15,%r10 - adoxq %rbx,%r11 - adoxq %rax,%r12 - - movq 0+24(%rdi),%rdx - mulxq 0+0(%rsi),%r8,%r13 - xorq %rax,%rax - mulxq 0+8(%rsi),%r15,%r14 - adcxq %r15,%r13 - adoxq %r8,%r9 - mulxq 0+16(%rsi),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r13,%r10 - mulxq 0+24(%rsi),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r14,%r11 - adoxq %r15,%r12 - adoxq %rax,%rbx - movq %r9,0+24(%rcx) - movq %r10,0+32(%rcx) - movq %r11,0+40(%rcx) - movq %r12,0+48(%rcx) - movq %rbx,0+56(%rcx) - - - - movq 32+0(%rdi),%rdx - mulxq 32+0(%rsi),%r9,%r8 - movq %r9,64+0(%rcx) - mulxq 32+8(%rsi),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 32+16(%rsi),%r11,%r10 - adoxq %r11,%r9 - - movq 32+8(%rdi),%rdx - mulxq 32+0(%rsi),%r12,%r11 - adoxq %rax,%r10 - xorq %rax,%rax - - mulxq 32+8(%rsi),%r14,%r13 - adoxq %r8,%r12 - movq %r12,64+8(%rcx) - adcxq %r14,%r11 - - mulxq 32+16(%rsi),%r8,%r14 - adoxq %r9,%r11 - adcxq %r8,%r13 - adcxq %rax,%r14 - adoxq %r10,%r13 - - movq 32+16(%rdi),%rdx - mulxq 32+0(%rsi),%r8,%r9 - adoxq %rax,%r14 - xorq %rax,%rax - - mulxq 32+8(%rsi),%r10,%r12 - adoxq %r11,%r8 - movq %r8,64+16(%rcx) - adcxq %r13,%r9 - - mulxq 32+16(%rsi),%r11,%r8 - adcxq %r14,%r12 - adcxq %rax,%r8 - adoxq %r10,%r9 - adoxq %r12,%r11 - adoxq %rax,%r8 - movq %r9,64+24(%rcx) - movq %r11,64+32(%rcx) - movq %r8,64+40(%rcx) - - - - - movq 64(%rsp),%r8 - movq 72(%rsp),%r9 - movq 80(%rsp),%r10 - movq 88(%rsp),%r11 - - movq 32(%rsp),%rax - addq %rax,%r8 - movq 40(%rsp),%rax - adcq %rax,%r9 - movq 48(%rsp),%rax - adcq %rax,%r10 - movq 56(%rsp),%rax - adcq %rax,%r11 - - - movq 0(%rsp),%r12 - movq 8(%rsp),%r13 - movq 16(%rsp),%r14 - movq 24(%rsp),%r15 - subq 0(%rcx),%r12 - sbbq 8(%rcx),%r13 - sbbq 16(%rcx),%r14 - sbbq 24(%rcx),%r15 - sbbq 32(%rcx),%r8 - sbbq 40(%rcx),%r9 - sbbq 48(%rcx),%r10 - sbbq 56(%rcx),%r11 - - - subq 64(%rcx),%r12 - sbbq 72(%rcx),%r13 - sbbq 80(%rcx),%r14 - sbbq 88(%rcx),%r15 - sbbq 96(%rcx),%r8 - sbbq 104(%rcx),%r9 - sbbq $0x0,%r10 - sbbq $0x0,%r11 - - addq 32(%rcx),%r12 - movq %r12,32(%rcx) - adcq 40(%rcx),%r13 - movq %r13,40(%rcx) - adcq 48(%rcx),%r14 - movq %r14,48(%rcx) - adcq 56(%rcx),%r15 - movq %r15,56(%rcx) - adcq 64(%rcx),%r8 - movq %r8,64(%rcx) - adcq 72(%rcx),%r9 - movq %r9,72(%rcx) - adcq 80(%rcx),%r10 - movq %r10,80(%rcx) - adcq 88(%rcx),%r11 - movq %r11,88(%rcx) - movq 96(%rcx),%r12 - adcq $0x0,%r12 - movq %r12,96(%rcx) - movq 104(%rcx),%r13 - adcq $0x0,%r13 - movq %r13,104(%rcx) - - addq $96,%rsp - - popq %rbp - - - popq %rbx - - - - - popq %r15 - - - popq %r14 - - - popq %r13 - - - popq %r12 - - - .byte 0xf3,0xc3 - - -.globl _sike_mpmul -.private_extern _sike_mpmul - -_sike_mpmul: - - pushq %r12 - - - pushq %r13 - - - pushq %r14 - - - pushq %r15 - - - - - - leaq _OPENSSL_ia32cap_P(%rip),%rcx - movq 8(%rcx),%rcx - andl $0x80100,%ecx - cmpl $0x80100,%ecx - je L$mul_bdw - - - - movq %rdx,%rcx - - subq $112,%rsp - - - - xorq %rax,%rax - movq 32(%rdi),%r8 - movq 40(%rdi),%r9 - movq 48(%rdi),%r10 - xorq %r11,%r11 - addq 0(%rdi),%r8 - adcq 8(%rdi),%r9 - adcq 16(%rdi),%r10 - adcq 24(%rdi),%r11 - - sbbq $0,%rax - movq %rax,64(%rsp) - - movq %r8,0(%rcx) - movq %r9,8(%rcx) - movq %r10,16(%rcx) - movq %r11,24(%rcx) - - - xorq %rdx,%rdx - movq 32(%rsi),%r12 - movq 40(%rsi),%r13 - movq 48(%rsi),%r14 - xorq %r15,%r15 - addq 0(%rsi),%r12 - adcq 8(%rsi),%r13 - adcq 16(%rsi),%r14 - adcq 24(%rsi),%r15 - sbbq $0x0,%rdx - - movq %rdx,72(%rsp) - - - movq (%rcx),%rax - mulq %r12 - movq %rax,(%rsp) - movq %rdx,%r8 - - xorq %r9,%r9 - movq (%rcx),%rax - mulq %r13 - addq %rax,%r8 - adcq %rdx,%r9 - - xorq %r10,%r10 - movq 8(%rcx),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,8(%rsp) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq (%rcx),%rax - mulq %r14 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 16(%rcx),%rax - mulq %r12 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 8(%rcx),%rax - mulq %r13 - addq %rax,%r9 - movq %r9,16(%rsp) - adcq %rdx,%r10 - adcq $0x0,%r8 - - xorq %r9,%r9 - movq (%rcx),%rax - mulq %r15 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 24(%rcx),%rax - mulq %r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 8(%rcx),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 16(%rcx),%rax - mulq %r13 - addq %rax,%r10 - movq %r10,24(%rsp) - adcq %rdx,%r8 - adcq $0x0,%r9 - - xorq %r10,%r10 - movq 8(%rcx),%rax - mulq %r15 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 24(%rcx),%rax - mulq %r13 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 16(%rcx),%rax - mulq %r14 - addq %rax,%r8 - movq %r8,32(%rsp) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r11,%r11 - movq 16(%rcx),%rax - mulq %r15 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - movq 24(%rcx),%rax - mulq %r14 - addq %rax,%r9 - movq %r9,40(%rsp) - adcq %rdx,%r10 - adcq $0x0,%r11 - - movq 24(%rcx),%rax - mulq %r15 - addq %rax,%r10 - movq %r10,48(%rsp) - adcq %rdx,%r11 - movq %r11,56(%rsp) - - - movq 64(%rsp),%rax - andq %rax,%r12 - andq %rax,%r13 - andq %rax,%r14 - andq %rax,%r15 - - - movq 72(%rsp),%rax - movq 0(%rcx),%r8 - andq %rax,%r8 - movq 8(%rcx),%r9 - andq %rax,%r9 - movq 16(%rcx),%r10 - andq %rax,%r10 - movq 24(%rcx),%r11 - andq %rax,%r11 - - - addq %r8,%r12 - adcq %r9,%r13 - adcq %r10,%r14 - adcq %r11,%r15 - - - movq 32(%rsp),%rax - addq %rax,%r12 - movq 40(%rsp),%rax - adcq %rax,%r13 - movq 48(%rsp),%rax - adcq %rax,%r14 - movq 56(%rsp),%rax - adcq %rax,%r15 - movq %r12,80(%rsp) - movq %r13,88(%rsp) - movq %r14,96(%rsp) - movq %r15,104(%rsp) - - - movq (%rdi),%r11 - movq (%rsi),%rax - mulq %r11 - xorq %r9,%r9 - movq %rax,(%rcx) - movq %rdx,%r8 - - movq 16(%rdi),%r14 - movq 8(%rsi),%rax - mulq %r11 - xorq %r10,%r10 - addq %rax,%r8 - adcq %rdx,%r9 - - movq 8(%rdi),%r12 - movq (%rsi),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,8(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 16(%rsi),%rax - mulq %r11 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq (%rsi),%r13 - movq %r14,%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 8(%rsi),%rax - mulq %r12 - addq %rax,%r9 - movq %r9,16(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - xorq %r9,%r9 - movq 24(%rsi),%rax - mulq %r11 - movq 24(%rdi),%r15 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq %r15,%rax - mulq %r13 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 16(%rsi),%rax - mulq %r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 8(%rsi),%rax - mulq %r14 - addq %rax,%r10 - movq %r10,24(%rcx) - adcq %rdx,%r8 - adcq $0x0,%r9 - - xorq %r10,%r10 - movq 24(%rsi),%rax - mulq %r12 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 8(%rsi),%rax - mulq %r15 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 16(%rsi),%rax - mulq %r14 - addq %rax,%r8 - movq %r8,32(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 24(%rsi),%rax - mulq %r14 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 16(%rsi),%rax - mulq %r15 - addq %rax,%r9 - movq %r9,40(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 24(%rsi),%rax - mulq %r15 - addq %rax,%r10 - movq %r10,48(%rcx) - adcq %rdx,%r8 - movq %r8,56(%rcx) - - - - movq 32(%rdi),%r11 - movq 32(%rsi),%rax - mulq %r11 - xorq %r9,%r9 - movq %rax,64(%rcx) - movq %rdx,%r8 - - movq 48(%rdi),%r14 - movq 40(%rsi),%rax - mulq %r11 - xorq %r10,%r10 - addq %rax,%r8 - adcq %rdx,%r9 - - movq 40(%rdi),%r12 - movq 32(%rsi),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,72(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 48(%rsi),%rax - mulq %r11 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 32(%rsi),%r13 - movq %r14,%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 40(%rsi),%rax - mulq %r12 - addq %rax,%r9 - movq %r9,80(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 48(%rsi),%rax - mulq %r12 - xorq %r12,%r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r12 - - movq 40(%rsi),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r12 - movq %r10,88(%rcx) - - movq 48(%rsi),%rax - mulq %r14 - addq %rax,%r8 - adcq $0x0,%r12 - movq %r8,96(%rcx) - - addq %r12,%rdx - - - movq 0(%rsp),%r8 - subq 0(%rcx),%r8 - movq 8(%rsp),%r9 - sbbq 8(%rcx),%r9 - movq 16(%rsp),%r10 - sbbq 16(%rcx),%r10 - movq 24(%rsp),%r11 - sbbq 24(%rcx),%r11 - movq 80(%rsp),%r12 - sbbq 32(%rcx),%r12 - movq 88(%rsp),%r13 - sbbq 40(%rcx),%r13 - movq 96(%rsp),%r14 - sbbq 48(%rcx),%r14 - movq 104(%rsp),%r15 - sbbq 56(%rcx),%r15 - - - movq 64(%rcx),%rax - subq %rax,%r8 - movq 72(%rcx),%rax - sbbq %rax,%r9 - movq 80(%rcx),%rax - sbbq %rax,%r10 - movq 88(%rcx),%rax - sbbq %rax,%r11 - movq 96(%rcx),%rax - sbbq %rax,%r12 - sbbq %rdx,%r13 - sbbq $0x0,%r14 - sbbq $0x0,%r15 - - - addq 32(%rcx),%r8 - movq %r8,32(%rcx) - adcq 40(%rcx),%r9 - movq %r9,40(%rcx) - adcq 48(%rcx),%r10 - movq %r10,48(%rcx) - adcq 56(%rcx),%r11 - movq %r11,56(%rcx) - adcq 64(%rcx),%r12 - movq %r12,64(%rcx) - adcq 72(%rcx),%r13 - movq %r13,72(%rcx) - adcq 80(%rcx),%r14 - movq %r14,80(%rcx) - adcq 88(%rcx),%r15 - movq %r15,88(%rcx) - movq 96(%rcx),%r12 - adcq $0x0,%r12 - movq %r12,96(%rcx) - adcq $0x0,%rdx - movq %rdx,104(%rcx) - - addq $112,%rsp - - - - popq %r15 - - popq %r14 - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - -#endif diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aes-586.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aes-586.asm deleted file mode 100644 index c3a47d88f23..00000000000 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aes-586.asm +++ /dev/null @@ -1,3225 +0,0 @@ -; This file is generated from a similarly-named Perl script in the BoringSSL -; source tree. Do not edit by hand. - -%ifdef BORINGSSL_PREFIX -%include "boringssl_prefix_symbols_nasm.inc" -%endif -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -%ifdef __YASM_VERSION_ID__ -%if __YASM_VERSION_ID__ < 01010000h -%error yasm version 1.1.0 or later needed. -%endif -; Yasm automatically includes .00 and complains about redefining it. -; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html -%else -$@feat.00 equ 1 -%endif -section .text code align=64 -%else -section .text code -%endif -align 16 -__x86_AES_encrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$000loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edi,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ecx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ecx - xor ecx,esi - ror edi,24 - xor esi,ebp - rol ecx,24 - xor esi,edi - mov ebp,2155905152 - xor ecx,esi - and ebp,edx - lea edi,[edx*1+edx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,edx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,edx - xor edx,esi - ror edi,24 - xor esi,ebp - rol edx,24 - xor esi,edi - mov ebp,2155905152 - xor edx,esi - and ebp,eax - lea edi,[eax*1+eax] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,eax - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,eax - xor eax,esi - ror edi,24 - xor esi,ebp - rol eax,24 - xor esi,edi - mov ebp,2155905152 - xor eax,esi - and ebp,ebx - lea edi,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ebx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ebx - xor ebx,esi - ror edi,24 - xor esi,ebp - rol ebx,24 - xor esi,edi - xor ebx,esi - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$000loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_encrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$001loop: - pshufw mm1,mm0,8 - pshufw mm5,mm4,13 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,13 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - movd eax,mm2 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - movd ebx,mm6 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,8 - shr ebx,16 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shr eax,16 - movd mm1,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - and eax,255 - or ecx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - and ebx,255 - movzx eax,BYTE [eax*1+ebp-128] - or ecx,esi - shl eax,16 - movzx esi,BYTE [edi*1+ebp-128] - or edx,eax - shl esi,8 - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - or edx,ebx - mov edi,DWORD [20+esp] - movd mm4,ecx - movd mm5,edx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$002out - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - movq mm1,mm0 - movq mm5,mm4 - pcmpgtb mm3,mm0 - pcmpgtb mm7,mm4 - pand mm3,mm2 - pand mm7,mm2 - pshufw mm2,mm0,177 - pshufw mm6,mm4,177 - paddb mm0,mm0 - paddb mm4,mm4 - pxor mm0,mm3 - pxor mm4,mm7 - pshufw mm3,mm2,177 - pshufw mm7,mm6,177 - pxor mm1,mm0 - pxor mm5,mm4 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,mm3 - movq mm6,mm7 - pslld mm3,8 - pslld mm7,8 - psrld mm2,24 - psrld mm6,24 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,[edi] - movq mm6,[8+edi] - psrld mm1,8 - psrld mm5,8 - mov eax,DWORD [ebp-128] - pslld mm3,24 - pslld mm7,24 - mov ebx,DWORD [ebp-64] - pxor mm0,mm1 - pxor mm4,mm5 - mov ecx,DWORD [ebp] - pxor mm0,mm3 - pxor mm4,mm7 - mov edx,DWORD [64+ebp] - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$001loop -align 16 -L$002out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_encrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$003loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [esi*8+ebp] - movzx edi,ch - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,eax - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - movzx edi,bh - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - mov edx,DWORD [edx*8+ebp] - movzx eax,ah - xor edx,DWORD [3+eax*8+ebp] - mov eax,DWORD [4+esp] - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - xor edx,DWORD [1+ecx*8+ebp] - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$003loop - mov esi,eax - and esi,255 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,bh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,edx - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,ch - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,eax - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,dh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - movzx edi,bh - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [2+edx*8+ebp] - and edx,255 - movzx eax,ah - mov eax,DWORD [eax*8+ebp] - and eax,65280 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - mov ebx,DWORD [ebx*8+ebp] - and ebx,16711680 - xor edx,ebx - mov ebx,DWORD [8+esp] - mov ecx,DWORD [2+ecx*8+ebp] - and ecx,4278190080 - xor edx,ecx - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Te: -dd 2774754246,2774754246 -dd 2222750968,2222750968 -dd 2574743534,2574743534 -dd 2373680118,2373680118 -dd 234025727,234025727 -dd 3177933782,3177933782 -dd 2976870366,2976870366 -dd 1422247313,1422247313 -dd 1345335392,1345335392 -dd 50397442,50397442 -dd 2842126286,2842126286 -dd 2099981142,2099981142 -dd 436141799,436141799 -dd 1658312629,1658312629 -dd 3870010189,3870010189 -dd 2591454956,2591454956 -dd 1170918031,1170918031 -dd 2642575903,2642575903 -dd 1086966153,1086966153 -dd 2273148410,2273148410 -dd 368769775,368769775 -dd 3948501426,3948501426 -dd 3376891790,3376891790 -dd 200339707,200339707 -dd 3970805057,3970805057 -dd 1742001331,1742001331 -dd 4255294047,4255294047 -dd 3937382213,3937382213 -dd 3214711843,3214711843 -dd 4154762323,4154762323 -dd 2524082916,2524082916 -dd 1539358875,1539358875 -dd 3266819957,3266819957 -dd 486407649,486407649 -dd 2928907069,2928907069 -dd 1780885068,1780885068 -dd 1513502316,1513502316 -dd 1094664062,1094664062 -dd 49805301,49805301 -dd 1338821763,1338821763 -dd 1546925160,1546925160 -dd 4104496465,4104496465 -dd 887481809,887481809 -dd 150073849,150073849 -dd 2473685474,2473685474 -dd 1943591083,1943591083 -dd 1395732834,1395732834 -dd 1058346282,1058346282 -dd 201589768,201589768 -dd 1388824469,1388824469 -dd 1696801606,1696801606 -dd 1589887901,1589887901 -dd 672667696,672667696 -dd 2711000631,2711000631 -dd 251987210,251987210 -dd 3046808111,3046808111 -dd 151455502,151455502 -dd 907153956,907153956 -dd 2608889883,2608889883 -dd 1038279391,1038279391 -dd 652995533,652995533 -dd 1764173646,1764173646 -dd 3451040383,3451040383 -dd 2675275242,2675275242 -dd 453576978,453576978 -dd 2659418909,2659418909 -dd 1949051992,1949051992 -dd 773462580,773462580 -dd 756751158,756751158 -dd 2993581788,2993581788 -dd 3998898868,3998898868 -dd 4221608027,4221608027 -dd 4132590244,4132590244 -dd 1295727478,1295727478 -dd 1641469623,1641469623 -dd 3467883389,3467883389 -dd 2066295122,2066295122 -dd 1055122397,1055122397 -dd 1898917726,1898917726 -dd 2542044179,2542044179 -dd 4115878822,4115878822 -dd 1758581177,1758581177 -dd 0,0 -dd 753790401,753790401 -dd 1612718144,1612718144 -dd 536673507,536673507 -dd 3367088505,3367088505 -dd 3982187446,3982187446 -dd 3194645204,3194645204 -dd 1187761037,1187761037 -dd 3653156455,3653156455 -dd 1262041458,1262041458 -dd 3729410708,3729410708 -dd 3561770136,3561770136 -dd 3898103984,3898103984 -dd 1255133061,1255133061 -dd 1808847035,1808847035 -dd 720367557,720367557 -dd 3853167183,3853167183 -dd 385612781,385612781 -dd 3309519750,3309519750 -dd 3612167578,3612167578 -dd 1429418854,1429418854 -dd 2491778321,2491778321 -dd 3477423498,3477423498 -dd 284817897,284817897 -dd 100794884,100794884 -dd 2172616702,2172616702 -dd 4031795360,4031795360 -dd 1144798328,1144798328 -dd 3131023141,3131023141 -dd 3819481163,3819481163 -dd 4082192802,4082192802 -dd 4272137053,4272137053 -dd 3225436288,3225436288 -dd 2324664069,2324664069 -dd 2912064063,2912064063 -dd 3164445985,3164445985 -dd 1211644016,1211644016 -dd 83228145,83228145 -dd 3753688163,3753688163 -dd 3249976951,3249976951 -dd 1977277103,1977277103 -dd 1663115586,1663115586 -dd 806359072,806359072 -dd 452984805,452984805 -dd 250868733,250868733 -dd 1842533055,1842533055 -dd 1288555905,1288555905 -dd 336333848,336333848 -dd 890442534,890442534 -dd 804056259,804056259 -dd 3781124030,3781124030 -dd 2727843637,2727843637 -dd 3427026056,3427026056 -dd 957814574,957814574 -dd 1472513171,1472513171 -dd 4071073621,4071073621 -dd 2189328124,2189328124 -dd 1195195770,1195195770 -dd 2892260552,2892260552 -dd 3881655738,3881655738 -dd 723065138,723065138 -dd 2507371494,2507371494 -dd 2690670784,2690670784 -dd 2558624025,2558624025 -dd 3511635870,3511635870 -dd 2145180835,2145180835 -dd 1713513028,1713513028 -dd 2116692564,2116692564 -dd 2878378043,2878378043 -dd 2206763019,2206763019 -dd 3393603212,3393603212 -dd 703524551,703524551 -dd 3552098411,3552098411 -dd 1007948840,1007948840 -dd 2044649127,2044649127 -dd 3797835452,3797835452 -dd 487262998,487262998 -dd 1994120109,1994120109 -dd 1004593371,1004593371 -dd 1446130276,1446130276 -dd 1312438900,1312438900 -dd 503974420,503974420 -dd 3679013266,3679013266 -dd 168166924,168166924 -dd 1814307912,1814307912 -dd 3831258296,3831258296 -dd 1573044895,1573044895 -dd 1859376061,1859376061 -dd 4021070915,4021070915 -dd 2791465668,2791465668 -dd 2828112185,2828112185 -dd 2761266481,2761266481 -dd 937747667,937747667 -dd 2339994098,2339994098 -dd 854058965,854058965 -dd 1137232011,1137232011 -dd 1496790894,1496790894 -dd 3077402074,3077402074 -dd 2358086913,2358086913 -dd 1691735473,1691735473 -dd 3528347292,3528347292 -dd 3769215305,3769215305 -dd 3027004632,3027004632 -dd 4199962284,4199962284 -dd 133494003,133494003 -dd 636152527,636152527 -dd 2942657994,2942657994 -dd 2390391540,2390391540 -dd 3920539207,3920539207 -dd 403179536,403179536 -dd 3585784431,3585784431 -dd 2289596656,2289596656 -dd 1864705354,1864705354 -dd 1915629148,1915629148 -dd 605822008,605822008 -dd 4054230615,4054230615 -dd 3350508659,3350508659 -dd 1371981463,1371981463 -dd 602466507,602466507 -dd 2094914977,2094914977 -dd 2624877800,2624877800 -dd 555687742,555687742 -dd 3712699286,3712699286 -dd 3703422305,3703422305 -dd 2257292045,2257292045 -dd 2240449039,2240449039 -dd 2423288032,2423288032 -dd 1111375484,1111375484 -dd 3300242801,3300242801 -dd 2858837708,2858837708 -dd 3628615824,3628615824 -dd 84083462,84083462 -dd 32962295,32962295 -dd 302911004,302911004 -dd 2741068226,2741068226 -dd 1597322602,1597322602 -dd 4183250862,4183250862 -dd 3501832553,3501832553 -dd 2441512471,2441512471 -dd 1489093017,1489093017 -dd 656219450,656219450 -dd 3114180135,3114180135 -dd 954327513,954327513 -dd 335083755,335083755 -dd 3013122091,3013122091 -dd 856756514,856756514 -dd 3144247762,3144247762 -dd 1893325225,1893325225 -dd 2307821063,2307821063 -dd 2811532339,2811532339 -dd 3063651117,3063651117 -dd 572399164,572399164 -dd 2458355477,2458355477 -dd 552200649,552200649 -dd 1238290055,1238290055 -dd 4283782570,4283782570 -dd 2015897680,2015897680 -dd 2061492133,2061492133 -dd 2408352771,2408352771 -dd 4171342169,4171342169 -dd 2156497161,2156497161 -dd 386731290,386731290 -dd 3669999461,3669999461 -dd 837215959,837215959 -dd 3326231172,3326231172 -dd 3093850320,3093850320 -dd 3275833730,3275833730 -dd 2962856233,2962856233 -dd 1999449434,1999449434 -dd 286199582,286199582 -dd 3417354363,3417354363 -dd 4233385128,4233385128 -dd 3602627437,3602627437 -dd 974525996,974525996 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -dd 1,2,4,8 -dd 16,32,64,128 -dd 27,54,0,0 -dd 0,0,0,0 -global _aes_nohw_encrypt -align 16 -_aes_nohw_encrypt: -L$_aes_nohw_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$004pic_point -L$004pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Te-L$004pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$005x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$005x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_decrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$006loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea eax,[ecx*1+ecx] - sub esi,edi - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ebx,[eax*1+eax] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor eax,ecx - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ebp,[ebx*1+ebx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ebx,ecx - rol ecx,8 - xor ebp,esi - xor ecx,eax - xor eax,ebp - xor ecx,ebx - xor ebx,ebp - rol eax,24 - xor ecx,ebp - rol ebx,16 - xor ecx,eax - rol ebp,8 - xor ecx,ebx - mov eax,DWORD [4+esp] - xor ecx,ebp - mov DWORD [12+esp],ecx - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebx,[edx*1+edx] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ebx,edx - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea ebp,[ecx*1+ecx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ecx,edx - rol edx,8 - xor ebp,esi - xor edx,ebx - xor ebx,ebp - xor edx,ecx - xor ecx,ebp - rol ebx,24 - xor edx,ebp - rol ecx,16 - xor edx,ebx - rol ebp,8 - xor edx,ecx - mov ebx,DWORD [8+esp] - xor edx,ebp - mov DWORD [16+esp],edx - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ecx,[eax*1+eax] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,eax - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,eax - rol eax,8 - xor ebp,esi - xor eax,ecx - xor ecx,ebp - xor eax,edx - xor edx,ebp - rol ecx,24 - xor eax,ebp - rol edx,16 - xor eax,ecx - rol ebp,8 - xor eax,edx - xor eax,ebp - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,ebx - rol ebx,8 - xor ebp,esi - xor ebx,ecx - xor ecx,ebp - xor ebx,edx - xor edx,ebp - rol ecx,24 - xor ebx,ebp - rol edx,16 - xor ebx,ecx - rol ebp,8 - xor ebx,edx - mov ecx,DWORD [12+esp] - xor ebx,ebp - mov edx,DWORD [16+esp] - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$006loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_decrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$007loop: - pshufw mm1,mm0,12 - pshufw mm5,mm4,9 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,6 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,3 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movd eax,mm2 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,16 - movd ebx,mm6 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,al - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,16 - shr eax,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shr ebx,16 - shl esi,8 - movd mm1,edx - movzx edx,BYTE [edi*1+ebp-128] - movzx edi,bh - shl edx,24 - and ebx,255 - or edx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movzx eax,ah - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - or edx,ebx - shl esi,16 - movzx eax,BYTE [eax*1+ebp-128] - or edx,esi - shl eax,24 - or ecx,eax - mov edi,DWORD [20+esp] - movd mm4,edx - movd mm5,ecx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$008out - movq mm3,mm0 - movq mm7,mm4 - pshufw mm2,mm0,228 - pshufw mm6,mm4,228 - movq mm1,mm0 - movq mm5,mm4 - pshufw mm0,mm0,177 - pshufw mm4,mm4,177 - pslld mm2,8 - pslld mm6,8 - psrld mm3,8 - psrld mm7,8 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - pslld mm2,16 - pslld mm6,16 - psrld mm3,16 - psrld mm7,16 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - movq mm3,[8+esp] - pxor mm2,mm2 - pxor mm6,mm6 - pcmpgtb mm2,mm1 - pcmpgtb mm6,mm5 - pand mm2,mm3 - pand mm6,mm3 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm2 - pxor mm5,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,mm1 - movq mm6,mm5 - pxor mm0,mm1 - pxor mm4,mm5 - pslld mm3,24 - pslld mm7,24 - psrld mm2,8 - psrld mm6,8 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pshufw mm3,mm1,177 - pshufw mm7,mm5,177 - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pxor mm0,mm1 - pxor mm4,mm5 - movq mm3,mm1 - movq mm7,mm5 - pshufw mm2,mm1,177 - pshufw mm6,mm5,177 - pxor mm0,mm2 - pxor mm4,mm6 - pslld mm1,8 - pslld mm5,8 - psrld mm3,8 - psrld mm7,8 - movq mm2,[edi] - movq mm6,[8+edi] - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - mov eax,DWORD [ebp-128] - pslld mm1,16 - pslld mm5,16 - mov ebx,DWORD [ebp-64] - psrld mm3,16 - psrld mm7,16 - mov ecx,DWORD [ebp] - pxor mm0,mm1 - pxor mm4,mm5 - mov edx,DWORD [64+ebp] - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$007loop -align 16 -L$008out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_decrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$009loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ebx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,ah - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ecx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [edx*8+ebp] - movzx ecx,ch - xor edx,DWORD [3+ecx*8+ebp] - mov ecx,esi - shr ebx,16 - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - shr eax,24 - xor edx,DWORD [1+eax*8+ebp] - mov eax,DWORD [4+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$009loop - lea ebp,[2176+ebp] - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[ebp-128] - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - lea ebp,[ebp-2048] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Td: -dd 1353184337,1353184337 -dd 1399144830,1399144830 -dd 3282310938,3282310938 -dd 2522752826,2522752826 -dd 3412831035,3412831035 -dd 4047871263,4047871263 -dd 2874735276,2874735276 -dd 2466505547,2466505547 -dd 1442459680,1442459680 -dd 4134368941,4134368941 -dd 2440481928,2440481928 -dd 625738485,625738485 -dd 4242007375,4242007375 -dd 3620416197,3620416197 -dd 2151953702,2151953702 -dd 2409849525,2409849525 -dd 1230680542,1230680542 -dd 1729870373,1729870373 -dd 2551114309,2551114309 -dd 3787521629,3787521629 -dd 41234371,41234371 -dd 317738113,317738113 -dd 2744600205,2744600205 -dd 3338261355,3338261355 -dd 3881799427,3881799427 -dd 2510066197,2510066197 -dd 3950669247,3950669247 -dd 3663286933,3663286933 -dd 763608788,763608788 -dd 3542185048,3542185048 -dd 694804553,694804553 -dd 1154009486,1154009486 -dd 1787413109,1787413109 -dd 2021232372,2021232372 -dd 1799248025,1799248025 -dd 3715217703,3715217703 -dd 3058688446,3058688446 -dd 397248752,397248752 -dd 1722556617,1722556617 -dd 3023752829,3023752829 -dd 407560035,407560035 -dd 2184256229,2184256229 -dd 1613975959,1613975959 -dd 1165972322,1165972322 -dd 3765920945,3765920945 -dd 2226023355,2226023355 -dd 480281086,480281086 -dd 2485848313,2485848313 -dd 1483229296,1483229296 -dd 436028815,436028815 -dd 2272059028,2272059028 -dd 3086515026,3086515026 -dd 601060267,601060267 -dd 3791801202,3791801202 -dd 1468997603,1468997603 -dd 715871590,715871590 -dd 120122290,120122290 -dd 63092015,63092015 -dd 2591802758,2591802758 -dd 2768779219,2768779219 -dd 4068943920,4068943920 -dd 2997206819,2997206819 -dd 3127509762,3127509762 -dd 1552029421,1552029421 -dd 723308426,723308426 -dd 2461301159,2461301159 -dd 4042393587,4042393587 -dd 2715969870,2715969870 -dd 3455375973,3455375973 -dd 3586000134,3586000134 -dd 526529745,526529745 -dd 2331944644,2331944644 -dd 2639474228,2639474228 -dd 2689987490,2689987490 -dd 853641733,853641733 -dd 1978398372,1978398372 -dd 971801355,971801355 -dd 2867814464,2867814464 -dd 111112542,111112542 -dd 1360031421,1360031421 -dd 4186579262,4186579262 -dd 1023860118,1023860118 -dd 2919579357,2919579357 -dd 1186850381,1186850381 -dd 3045938321,3045938321 -dd 90031217,90031217 -dd 1876166148,1876166148 -dd 4279586912,4279586912 -dd 620468249,620468249 -dd 2548678102,2548678102 -dd 3426959497,3426959497 -dd 2006899047,2006899047 -dd 3175278768,3175278768 -dd 2290845959,2290845959 -dd 945494503,945494503 -dd 3689859193,3689859193 -dd 1191869601,1191869601 -dd 3910091388,3910091388 -dd 3374220536,3374220536 -dd 0,0 -dd 2206629897,2206629897 -dd 1223502642,1223502642 -dd 2893025566,2893025566 -dd 1316117100,1316117100 -dd 4227796733,4227796733 -dd 1446544655,1446544655 -dd 517320253,517320253 -dd 658058550,658058550 -dd 1691946762,1691946762 -dd 564550760,564550760 -dd 3511966619,3511966619 -dd 976107044,976107044 -dd 2976320012,2976320012 -dd 266819475,266819475 -dd 3533106868,3533106868 -dd 2660342555,2660342555 -dd 1338359936,1338359936 -dd 2720062561,2720062561 -dd 1766553434,1766553434 -dd 370807324,370807324 -dd 179999714,179999714 -dd 3844776128,3844776128 -dd 1138762300,1138762300 -dd 488053522,488053522 -dd 185403662,185403662 -dd 2915535858,2915535858 -dd 3114841645,3114841645 -dd 3366526484,3366526484 -dd 2233069911,2233069911 -dd 1275557295,1275557295 -dd 3151862254,3151862254 -dd 4250959779,4250959779 -dd 2670068215,2670068215 -dd 3170202204,3170202204 -dd 3309004356,3309004356 -dd 880737115,880737115 -dd 1982415755,1982415755 -dd 3703972811,3703972811 -dd 1761406390,1761406390 -dd 1676797112,1676797112 -dd 3403428311,3403428311 -dd 277177154,277177154 -dd 1076008723,1076008723 -dd 538035844,538035844 -dd 2099530373,2099530373 -dd 4164795346,4164795346 -dd 288553390,288553390 -dd 1839278535,1839278535 -dd 1261411869,1261411869 -dd 4080055004,4080055004 -dd 3964831245,3964831245 -dd 3504587127,3504587127 -dd 1813426987,1813426987 -dd 2579067049,2579067049 -dd 4199060497,4199060497 -dd 577038663,577038663 -dd 3297574056,3297574056 -dd 440397984,440397984 -dd 3626794326,3626794326 -dd 4019204898,4019204898 -dd 3343796615,3343796615 -dd 3251714265,3251714265 -dd 4272081548,4272081548 -dd 906744984,906744984 -dd 3481400742,3481400742 -dd 685669029,685669029 -dd 646887386,646887386 -dd 2764025151,2764025151 -dd 3835509292,3835509292 -dd 227702864,227702864 -dd 2613862250,2613862250 -dd 1648787028,1648787028 -dd 3256061430,3256061430 -dd 3904428176,3904428176 -dd 1593260334,1593260334 -dd 4121936770,4121936770 -dd 3196083615,3196083615 -dd 2090061929,2090061929 -dd 2838353263,2838353263 -dd 3004310991,3004310991 -dd 999926984,999926984 -dd 2809993232,2809993232 -dd 1852021992,1852021992 -dd 2075868123,2075868123 -dd 158869197,158869197 -dd 4095236462,4095236462 -dd 28809964,28809964 -dd 2828685187,2828685187 -dd 1701746150,1701746150 -dd 2129067946,2129067946 -dd 147831841,147831841 -dd 3873969647,3873969647 -dd 3650873274,3650873274 -dd 3459673930,3459673930 -dd 3557400554,3557400554 -dd 3598495785,3598495785 -dd 2947720241,2947720241 -dd 824393514,824393514 -dd 815048134,815048134 -dd 3227951669,3227951669 -dd 935087732,935087732 -dd 2798289660,2798289660 -dd 2966458592,2966458592 -dd 366520115,366520115 -dd 1251476721,1251476721 -dd 4158319681,4158319681 -dd 240176511,240176511 -dd 804688151,804688151 -dd 2379631990,2379631990 -dd 1303441219,1303441219 -dd 1414376140,1414376140 -dd 3741619940,3741619940 -dd 3820343710,3820343710 -dd 461924940,461924940 -dd 3089050817,3089050817 -dd 2136040774,2136040774 -dd 82468509,82468509 -dd 1563790337,1563790337 -dd 1937016826,1937016826 -dd 776014843,776014843 -dd 1511876531,1511876531 -dd 1389550482,1389550482 -dd 861278441,861278441 -dd 323475053,323475053 -dd 2355222426,2355222426 -dd 2047648055,2047648055 -dd 2383738969,2383738969 -dd 2302415851,2302415851 -dd 3995576782,3995576782 -dd 902390199,902390199 -dd 3991215329,3991215329 -dd 1018251130,1018251130 -dd 1507840668,1507840668 -dd 1064563285,1064563285 -dd 2043548696,2043548696 -dd 3208103795,3208103795 -dd 3939366739,3939366739 -dd 1537932639,1537932639 -dd 342834655,342834655 -dd 2262516856,2262516856 -dd 2180231114,2180231114 -dd 1053059257,1053059257 -dd 741614648,741614648 -dd 1598071746,1598071746 -dd 1925389590,1925389590 -dd 203809468,203809468 -dd 2336832552,2336832552 -dd 1100287487,1100287487 -dd 1895934009,1895934009 -dd 3736275976,3736275976 -dd 2632234200,2632234200 -dd 2428589668,2428589668 -dd 1636092795,1636092795 -dd 1890988757,1890988757 -dd 1952214088,1952214088 -dd 1113045200,1113045200 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -global _aes_nohw_decrypt -align 16 -_aes_nohw_decrypt: -L$_aes_nohw_decrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$010pic_point -L$010pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Td-L$010pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$011x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$011x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -global _aes_nohw_cbc_encrypt -align 16 -_aes_nohw_cbc_encrypt: -L$_aes_nohw_cbc_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov ecx,DWORD [28+esp] - cmp ecx,0 - je NEAR L$012drop_out - call L$013pic_point -L$013pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - cmp DWORD [40+esp],0 - lea ebp,[(L$AES_Te-L$013pic_point)+ebp] - jne NEAR L$014picked_te - lea ebp,[(L$AES_Td-L$AES_Te)+ebp] -L$014picked_te: - pushfd - cld - cmp ecx,512 - jb NEAR L$015slow_way - test ecx,15 - jnz NEAR L$015slow_way - bt DWORD [eax],28 - jc NEAR L$015slow_way - lea esi,[esp-324] - and esi,-64 - mov eax,ebp - lea ebx,[2304+ebp] - mov edx,esi - and eax,4095 - and ebx,4095 - and edx,4095 - cmp edx,ebx - jb NEAR L$016tbl_break_out - sub edx,ebx - sub esi,edx - jmp NEAR L$017tbl_ok -align 4 -L$016tbl_break_out: - sub edx,eax - and edx,4095 - add edx,384 - sub esi,edx -align 4 -L$017tbl_ok: - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov edi,DWORD [12+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov DWORD [316+esp],0 - mov ebx,edi - mov ecx,61 - sub ebx,ebp - mov esi,edi - and ebx,4095 - lea edi,[76+esp] - cmp ebx,2304 - jb NEAR L$018do_copy - cmp ebx,3852 - jb NEAR L$019skip_copy -align 4 -L$018do_copy: - mov DWORD [44+esp],edi -dd 2784229001 -L$019skip_copy: - mov edi,16 -align 4 -L$020prefetch_tbl: - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[128+ebp] - sub edi,1 - jnz NEAR L$020prefetch_tbl - sub ebp,2048 - mov esi,DWORD [32+esp] - mov edi,DWORD [48+esp] - cmp edx,0 - je NEAR L$021fast_decrypt - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 16 -L$022fast_enc_loop: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - lea esi,[16+esi] - mov ecx,DWORD [40+esp] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$022fast_enc_loop - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$023skip_ezero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$023skip_ezero: - mov esp,DWORD [28+esp] - popfd -L$012drop_out: - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$021fast_decrypt: - cmp esi,DWORD [36+esp] - je NEAR L$024fast_dec_in_place - mov DWORD [52+esp],edi -align 4 -align 16 -L$025fast_dec_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [52+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov edi,DWORD [36+esp] - mov esi,DWORD [32+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov DWORD [52+esp],esi - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edi,[16+edi] - mov DWORD [36+esp],edi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$025fast_dec_loop - mov edi,DWORD [52+esp] - mov esi,DWORD [48+esp] - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - jmp NEAR L$026fast_dec_out -align 16 -L$024fast_dec_in_place: -L$027fast_dec_in_place_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [48+esp] - mov esi,DWORD [36+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$027fast_dec_in_place_loop -align 4 -L$026fast_dec_out: - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$028skip_dzero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$028skip_dzero: - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$015slow_way: - mov eax,DWORD [eax] - mov edi,DWORD [36+esp] - lea esi,[esp-80] - and esi,-64 - lea ebx,[edi-143] - sub ebx,esi - neg ebx - and ebx,960 - sub esi,ebx - lea ebx,[768+esi] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov DWORD [52+esp],eax - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov edi,esi - mov esi,eax - cmp edx,0 - je NEAR L$029slow_decrypt - cmp ecx,16 - mov edx,ebx - jb NEAR L$030slow_enc_tail - bt DWORD [52+esp],25 - jnc NEAR L$031slow_enc_x86 - movq mm0,[edi] - movq mm4,[8+edi] -align 16 -L$032slow_enc_loop_sse: - pxor mm0,[esi] - pxor mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov ecx,DWORD [40+esp] - movq [edi],mm0 - movq [8+edi],mm4 - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$032slow_enc_loop_sse - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$031slow_enc_x86: - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 4 -L$033slow_enc_loop_x86: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$033slow_enc_loop_x86 - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$030slow_enc_tail: - emms - mov edi,edx - mov ebx,16 - sub ebx,ecx - cmp edi,esi - je NEAR L$034enc_in_place -align 4 -dd 2767451785 - jmp NEAR L$035enc_skip_in_place -L$034enc_in_place: - lea edi,[ecx*1+edi] -L$035enc_skip_in_place: - mov ecx,ebx - xor eax,eax -align 4 -dd 2868115081 - mov edi,DWORD [48+esp] - mov esi,edx - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov DWORD [40+esp],16 - jmp NEAR L$033slow_enc_loop_x86 -align 16 -L$029slow_decrypt: - bt DWORD [52+esp],25 - jnc NEAR L$036slow_dec_loop_x86 -align 4 -L$037slow_dec_loop_sse: - movq mm0,[esi] - movq mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_decrypt_compact - mov esi,DWORD [32+esp] - lea eax,[60+esp] - mov ebx,DWORD [36+esp] - mov ecx,DWORD [40+esp] - mov edi,DWORD [48+esp] - movq mm1,[esi] - movq mm5,[8+esi] - pxor mm0,[edi] - pxor mm4,[8+edi] - movq [edi],mm1 - movq [8+edi],mm5 - sub ecx,16 - jc NEAR L$038slow_dec_partial_sse - movq [ebx],mm0 - movq [8+ebx],mm4 - lea ebx,[16+ebx] - mov DWORD [36+esp],ebx - lea esi,[16+esi] - mov DWORD [32+esp],esi - mov DWORD [40+esp],ecx - jnz NEAR L$037slow_dec_loop_sse - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$038slow_dec_partial_sse: - movq [eax],mm0 - movq [8+eax],mm4 - emms - add ecx,16 - mov edi,ebx - mov esi,eax -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$036slow_dec_loop_x86: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt_compact - mov edi,DWORD [48+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - sub esi,16 - jc NEAR L$039slow_dec_partial_x86 - mov DWORD [40+esp],esi - mov esi,DWORD [36+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - jnz NEAR L$036slow_dec_loop_x86 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$039slow_dec_partial_x86: - lea esi,[60+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esi,DWORD [32+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov edi,DWORD [36+esp] - lea esi,[60+esp] -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_set_encrypt_key: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [24+esp] - mov edi,DWORD [32+esp] - test esi,-1 - jz NEAR L$040badpointer - test edi,-1 - jz NEAR L$040badpointer - call L$041pic_point -L$041pic_point: - pop ebp - lea ebp,[(L$AES_Te-L$041pic_point)+ebp] - lea ebp,[2176+ebp] - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] - mov ecx,DWORD [28+esp] - cmp ecx,128 - je NEAR L$04210rounds - cmp ecx,192 - je NEAR L$04312rounds - cmp ecx,256 - je NEAR L$04414rounds - mov eax,-2 - jmp NEAR L$045exit -L$04210rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - xor ecx,ecx - jmp NEAR L$04610shortcut -align 4 -L$04710loop: - mov eax,DWORD [edi] - mov edx,DWORD [12+edi] -L$04610shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [16+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [20+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [24+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [28+edi],eax - inc ecx - add edi,16 - cmp ecx,10 - jl NEAR L$04710loop - mov DWORD [80+edi],10 - xor eax,eax - jmp NEAR L$045exit -L$04312rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [16+esi] - mov edx,DWORD [20+esi] - mov DWORD [16+edi],ecx - mov DWORD [20+edi],edx - xor ecx,ecx - jmp NEAR L$04812shortcut -align 4 -L$04912loop: - mov eax,DWORD [edi] - mov edx,DWORD [20+edi] -L$04812shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [24+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [28+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [32+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [36+edi],eax - cmp ecx,7 - je NEAR L$05012break - inc ecx - xor eax,DWORD [16+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [44+edi],eax - add edi,24 - jmp NEAR L$04912loop -L$05012break: - mov DWORD [72+edi],12 - xor eax,eax - jmp NEAR L$045exit -L$04414rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov eax,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov edx,DWORD [28+esi] - mov DWORD [16+edi],eax - mov DWORD [20+edi],ebx - mov DWORD [24+edi],ecx - mov DWORD [28+edi],edx - xor ecx,ecx - jmp NEAR L$05114shortcut -align 4 -L$05214loop: - mov edx,DWORD [28+edi] -L$05114shortcut: - mov eax,DWORD [edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [32+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [36+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [44+edi],eax - cmp ecx,6 - je NEAR L$05314break - inc ecx - mov edx,eax - mov eax,DWORD [16+edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,16 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,24 - xor eax,ebx - mov DWORD [48+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [52+edi],eax - xor eax,DWORD [24+edi] - mov DWORD [56+edi],eax - xor eax,DWORD [28+edi] - mov DWORD [60+edi],eax - add edi,32 - jmp NEAR L$05214loop -L$05314break: - mov DWORD [48+edi],14 - xor eax,eax - jmp NEAR L$045exit -L$040badpointer: - mov eax,-1 -L$045exit: - pop edi - pop esi - pop ebx - pop ebp - ret -global _aes_nohw_set_encrypt_key -align 16 -_aes_nohw_set_encrypt_key: -L$_aes_nohw_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -global _aes_nohw_set_decrypt_key -align 16 -_aes_nohw_set_decrypt_key: -L$_aes_nohw_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmp eax,0 - je NEAR L$054proceed - ret -L$054proceed: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [28+esp] - mov ecx,DWORD [240+esi] - lea ecx,[ecx*4] - lea edi,[ecx*4+esi] -align 4 -L$055invert: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [edi] - mov edx,DWORD [4+edi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [esi],ecx - mov DWORD [4+esi],edx - mov eax,DWORD [8+esi] - mov ebx,DWORD [12+esi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [8+edi],eax - mov DWORD [12+edi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - add esi,16 - sub edi,16 - cmp esi,edi - jne NEAR L$055invert - mov edi,DWORD [28+esp] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [28+esp],esi - mov eax,DWORD [16+edi] -align 4 -L$056permute: - add edi,16 - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ebx,eax - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - xor ecx,eax - sub esi,ebp - and edx,4278124286 - and esi,454761243 - rol eax,8 - xor edx,esi - mov ebp,DWORD [4+edi] - xor eax,ebx - xor ebx,edx - xor eax,ecx - rol ebx,24 - xor ecx,edx - xor eax,edx - rol ecx,16 - xor eax,ebx - rol edx,8 - xor eax,ecx - mov ebx,ebp - xor eax,edx - mov DWORD [edi],eax - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - xor edx,ebx - sub esi,ebp - and eax,4278124286 - and esi,454761243 - rol ebx,8 - xor eax,esi - mov ebp,DWORD [8+edi] - xor ebx,ecx - xor ecx,eax - xor ebx,edx - rol ecx,24 - xor edx,eax - xor ebx,eax - rol edx,16 - xor ebx,ecx - rol eax,8 - xor ebx,edx - mov ecx,ebp - xor ebx,eax - mov DWORD [4+edi],ebx - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor edx,ecx - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - xor eax,ecx - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - rol ecx,8 - xor ebx,esi - mov ebp,DWORD [12+edi] - xor ecx,edx - xor edx,ebx - xor ecx,eax - rol edx,24 - xor eax,ebx - xor ecx,ebx - rol eax,16 - xor ecx,edx - rol ebx,8 - xor ecx,eax - mov edx,ebp - xor ecx,ebx - mov DWORD [8+edi],ecx - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor eax,edx - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - xor ebx,edx - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - rol edx,8 - xor ecx,esi - mov ebp,DWORD [16+edi] - xor edx,eax - xor eax,ecx - xor edx,ebx - rol eax,24 - xor ebx,ecx - xor edx,ecx - rol ebx,16 - xor edx,eax - rol ecx,8 - xor edx,ebx - mov eax,ebp - xor edx,ecx - mov DWORD [12+edi],edx - cmp edi,DWORD [28+esp] - jb NEAR L$056permute - xor eax,eax - pop edi - pop esi - pop ebx - pop ebp - ret -db 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -db 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -db 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -segment .bss -common _OPENSSL_ia32cap_P 16 diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aesni-x86.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aesni-x86.asm index 47309503d29..0272fce460f 100644 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aesni-x86.asm +++ b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aesni-x86.asm @@ -21,14 +21,14 @@ section .text code align=64 section .text code %endif ;extern _OPENSSL_ia32cap_P -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST extern _BORINGSSL_function_hit %endif global _aes_hw_encrypt align 16 _aes_hw_encrypt: L$_aes_hw_encrypt_begin: -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$000pic @@ -820,7 +820,7 @@ L$_aes_hw_ctr32_encrypt_blocks_begin: push ebx push esi push edi -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$038pic @@ -2400,7 +2400,7 @@ global _aes_hw_set_encrypt_key align 16 _aes_hw_set_encrypt_key: L$_aes_hw_set_encrypt_key_begin: -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$116pic diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/bn-586.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/bn-586.asm index a87f86d12f5..368c3f3b6f7 100644 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/bn-586.asm +++ b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/bn-586.asm @@ -981,549 +981,5 @@ L$025aw_end: pop ebx pop ebp ret -global _bn_sub_part_words -align 16 -_bn_sub_part_words: -L$_bn_sub_part_words_begin: - push ebp - push ebx - push esi - push edi - ; - mov ebx,DWORD [20+esp] - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - mov ebp,DWORD [32+esp] - xor eax,eax - and ebp,4294967288 - jz NEAR L$026aw_finish -L$027aw_loop: - ; Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - ; Round 1 - mov ecx,DWORD [4+esi] - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [4+ebx],ecx - ; Round 2 - mov ecx,DWORD [8+esi] - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [8+ebx],ecx - ; Round 3 - mov ecx,DWORD [12+esi] - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [12+ebx],ecx - ; Round 4 - mov ecx,DWORD [16+esi] - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [16+ebx],ecx - ; Round 5 - mov ecx,DWORD [20+esi] - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [20+ebx],ecx - ; Round 6 - mov ecx,DWORD [24+esi] - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - ; Round 7 - mov ecx,DWORD [28+esi] - mov edx,DWORD [28+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [28+ebx],ecx - ; - add esi,32 - add edi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$027aw_loop -L$026aw_finish: - mov ebp,DWORD [32+esp] - and ebp,7 - jz NEAR L$028aw_end - ; Tail Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 1 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 2 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 3 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 4 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 5 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 6 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 -L$028aw_end: - cmp DWORD [36+esp],0 - je NEAR L$029pw_end - mov ebp,DWORD [36+esp] - cmp ebp,0 - je NEAR L$029pw_end - jge NEAR L$030pw_pos - ; pw_neg - mov edx,0 - sub edx,ebp - mov ebp,edx - and ebp,4294967288 - jz NEAR L$031pw_neg_finish -L$032pw_neg_loop: - ; dl<0 Round 0 - mov ecx,0 - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - ; dl<0 Round 1 - mov ecx,0 - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [4+ebx],ecx - ; dl<0 Round 2 - mov ecx,0 - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [8+ebx],ecx - ; dl<0 Round 3 - mov ecx,0 - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [12+ebx],ecx - ; dl<0 Round 4 - mov ecx,0 - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [16+ebx],ecx - ; dl<0 Round 5 - mov ecx,0 - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [20+ebx],ecx - ; dl<0 Round 6 - mov ecx,0 - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - ; dl<0 Round 7 - mov ecx,0 - mov edx,DWORD [28+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [28+ebx],ecx - ; - add edi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$032pw_neg_loop -L$031pw_neg_finish: - mov edx,DWORD [36+esp] - mov ebp,0 - sub ebp,edx - and ebp,7 - jz NEAR L$029pw_end - ; dl<0 Tail Round 0 - mov ecx,0 - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 1 - mov ecx,0 - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [4+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 2 - mov ecx,0 - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [8+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 3 - mov ecx,0 - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [12+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 4 - mov ecx,0 - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [16+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 5 - mov ecx,0 - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [20+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 6 - mov ecx,0 - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - jmp NEAR L$029pw_end -L$030pw_pos: - and ebp,4294967288 - jz NEAR L$033pw_pos_finish -L$034pw_pos_loop: - ; dl>0 Round 0 - mov ecx,DWORD [esi] - sub ecx,eax - mov DWORD [ebx],ecx - jnc NEAR L$035pw_nc0 - ; dl>0 Round 1 - mov ecx,DWORD [4+esi] - sub ecx,eax - mov DWORD [4+ebx],ecx - jnc NEAR L$036pw_nc1 - ; dl>0 Round 2 - mov ecx,DWORD [8+esi] - sub ecx,eax - mov DWORD [8+ebx],ecx - jnc NEAR L$037pw_nc2 - ; dl>0 Round 3 - mov ecx,DWORD [12+esi] - sub ecx,eax - mov DWORD [12+ebx],ecx - jnc NEAR L$038pw_nc3 - ; dl>0 Round 4 - mov ecx,DWORD [16+esi] - sub ecx,eax - mov DWORD [16+ebx],ecx - jnc NEAR L$039pw_nc4 - ; dl>0 Round 5 - mov ecx,DWORD [20+esi] - sub ecx,eax - mov DWORD [20+ebx],ecx - jnc NEAR L$040pw_nc5 - ; dl>0 Round 6 - mov ecx,DWORD [24+esi] - sub ecx,eax - mov DWORD [24+ebx],ecx - jnc NEAR L$041pw_nc6 - ; dl>0 Round 7 - mov ecx,DWORD [28+esi] - sub ecx,eax - mov DWORD [28+ebx],ecx - jnc NEAR L$042pw_nc7 - ; - add esi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$034pw_pos_loop -L$033pw_pos_finish: - mov ebp,DWORD [36+esp] - and ebp,7 - jz NEAR L$029pw_end - ; dl>0 Tail Round 0 - mov ecx,DWORD [esi] - sub ecx,eax - mov DWORD [ebx],ecx - jnc NEAR L$043pw_tail_nc0 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 1 - mov ecx,DWORD [4+esi] - sub ecx,eax - mov DWORD [4+ebx],ecx - jnc NEAR L$044pw_tail_nc1 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 2 - mov ecx,DWORD [8+esi] - sub ecx,eax - mov DWORD [8+ebx],ecx - jnc NEAR L$045pw_tail_nc2 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 3 - mov ecx,DWORD [12+esi] - sub ecx,eax - mov DWORD [12+ebx],ecx - jnc NEAR L$046pw_tail_nc3 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 4 - mov ecx,DWORD [16+esi] - sub ecx,eax - mov DWORD [16+ebx],ecx - jnc NEAR L$047pw_tail_nc4 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 5 - mov ecx,DWORD [20+esi] - sub ecx,eax - mov DWORD [20+ebx],ecx - jnc NEAR L$048pw_tail_nc5 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 6 - mov ecx,DWORD [24+esi] - sub ecx,eax - mov DWORD [24+ebx],ecx - jnc NEAR L$049pw_tail_nc6 - mov eax,1 - jmp NEAR L$029pw_end -L$050pw_nc_loop: - mov ecx,DWORD [esi] - mov DWORD [ebx],ecx -L$035pw_nc0: - mov ecx,DWORD [4+esi] - mov DWORD [4+ebx],ecx -L$036pw_nc1: - mov ecx,DWORD [8+esi] - mov DWORD [8+ebx],ecx -L$037pw_nc2: - mov ecx,DWORD [12+esi] - mov DWORD [12+ebx],ecx -L$038pw_nc3: - mov ecx,DWORD [16+esi] - mov DWORD [16+ebx],ecx -L$039pw_nc4: - mov ecx,DWORD [20+esi] - mov DWORD [20+ebx],ecx -L$040pw_nc5: - mov ecx,DWORD [24+esi] - mov DWORD [24+ebx],ecx -L$041pw_nc6: - mov ecx,DWORD [28+esi] - mov DWORD [28+ebx],ecx -L$042pw_nc7: - ; - add esi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$050pw_nc_loop - mov ebp,DWORD [36+esp] - and ebp,7 - jz NEAR L$051pw_nc_end - mov ecx,DWORD [esi] - mov DWORD [ebx],ecx -L$043pw_tail_nc0: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [4+esi] - mov DWORD [4+ebx],ecx -L$044pw_tail_nc1: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [8+esi] - mov DWORD [8+ebx],ecx -L$045pw_tail_nc2: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [12+esi] - mov DWORD [12+ebx],ecx -L$046pw_tail_nc3: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [16+esi] - mov DWORD [16+ebx],ecx -L$047pw_tail_nc4: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [20+esi] - mov DWORD [20+ebx],ecx -L$048pw_tail_nc5: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [24+esi] - mov DWORD [24+ebx],ecx -L$049pw_tail_nc6: -L$051pw_nc_end: - mov eax,0 -L$029pw_end: - pop edi - pop esi - pop ebx - pop ebp - ret segment .bss common _OPENSSL_ia32cap_P 16 diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/ghash-x86.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/ghash-x86.asm index 753c472f04d..59eefd50825 100644 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/ghash-x86.asm +++ b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/ghash-x86.asm @@ -20,715 +20,16 @@ section .text code align=64 %else section .text code %endif -global _gcm_gmult_4bit_mmx -align 16 -_gcm_gmult_4bit_mmx: -L$_gcm_gmult_4bit_mmx_begin: - push ebp - push ebx - push esi - push edi - mov edi,DWORD [20+esp] - mov esi,DWORD [24+esp] - call L$000pic_point -L$000pic_point: - pop eax - lea eax,[(L$rem_4bit-L$000pic_point)+eax] - movzx ebx,BYTE [15+edi] - xor ecx,ecx - mov edx,ebx - mov cl,dl - mov ebp,14 - shl cl,4 - and edx,240 - movq mm0,[8+ecx*1+esi] - movq mm1,[ecx*1+esi] - movd ebx,mm0 - jmp NEAR L$001mmx_loop -align 16 -L$001mmx_loop: - psrlq mm0,4 - and ebx,15 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [ebp*1+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - dec ebp - movd ebx,mm0 - pxor mm1,[edx*1+esi] - mov edx,ecx - pxor mm0,mm2 - js NEAR L$002mmx_break - shl cl,4 - and ebx,15 - psrlq mm0,4 - and edx,240 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - movd ebx,mm0 - pxor mm1,[ecx*1+esi] - pxor mm0,mm2 - jmp NEAR L$001mmx_loop -align 16 -L$002mmx_break: - shl cl,4 - and ebx,15 - psrlq mm0,4 - and edx,240 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - movd ebx,mm0 - pxor mm1,[ecx*1+esi] - pxor mm0,mm2 - psrlq mm0,4 - and ebx,15 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - movd ebx,mm0 - pxor mm1,[edx*1+esi] - pxor mm0,mm2 - psrlq mm0,32 - movd edx,mm1 - psrlq mm1,32 - movd ecx,mm0 - movd ebp,mm1 - bswap ebx - bswap edx - bswap ecx - bswap ebp - emms - mov DWORD [12+edi],ebx - mov DWORD [4+edi],edx - mov DWORD [8+edi],ecx - mov DWORD [edi],ebp - pop edi - pop esi - pop ebx - pop ebp - ret -global _gcm_ghash_4bit_mmx -align 16 -_gcm_ghash_4bit_mmx: -L$_gcm_ghash_4bit_mmx_begin: - push ebp - push ebx - push esi - push edi - mov eax,DWORD [20+esp] - mov ebx,DWORD [24+esp] - mov ecx,DWORD [28+esp] - mov edx,DWORD [32+esp] - mov ebp,esp - call L$003pic_point -L$003pic_point: - pop esi - lea esi,[(L$rem_8bit-L$003pic_point)+esi] - sub esp,544 - and esp,-64 - sub esp,16 - add edx,ecx - mov DWORD [544+esp],eax - mov DWORD [552+esp],edx - mov DWORD [556+esp],ebp - add ebx,128 - lea edi,[144+esp] - lea ebp,[400+esp] - mov edx,DWORD [ebx-120] - movq mm0,[ebx-120] - movq mm3,[ebx-128] - shl edx,4 - mov BYTE [esp],dl - mov edx,DWORD [ebx-104] - movq mm2,[ebx-104] - movq mm5,[ebx-112] - movq [edi-128],mm0 - psrlq mm0,4 - movq [edi],mm3 - movq mm7,mm3 - psrlq mm3,4 - shl edx,4 - mov BYTE [1+esp],dl - mov edx,DWORD [ebx-88] - movq mm1,[ebx-88] - psllq mm7,60 - movq mm4,[ebx-96] - por mm0,mm7 - movq [edi-120],mm2 - psrlq mm2,4 - movq [8+edi],mm5 - movq mm6,mm5 - movq [ebp-128],mm0 - psrlq mm5,4 - movq [ebp],mm3 - shl edx,4 - mov BYTE [2+esp],dl - mov edx,DWORD [ebx-72] - movq mm0,[ebx-72] - psllq mm6,60 - movq mm3,[ebx-80] - por mm2,mm6 - movq [edi-112],mm1 - psrlq mm1,4 - movq [16+edi],mm4 - movq mm7,mm4 - movq [ebp-120],mm2 - psrlq mm4,4 - movq [8+ebp],mm5 - shl edx,4 - mov BYTE [3+esp],dl - mov edx,DWORD [ebx-56] - movq mm2,[ebx-56] - psllq mm7,60 - movq mm5,[ebx-64] - por mm1,mm7 - movq [edi-104],mm0 - psrlq mm0,4 - movq [24+edi],mm3 - movq mm6,mm3 - movq [ebp-112],mm1 - psrlq mm3,4 - movq [16+ebp],mm4 - shl edx,4 - mov BYTE [4+esp],dl - mov edx,DWORD [ebx-40] - movq mm1,[ebx-40] - psllq mm6,60 - movq mm4,[ebx-48] - por mm0,mm6 - movq [edi-96],mm2 - psrlq mm2,4 - movq [32+edi],mm5 - movq mm7,mm5 - movq [ebp-104],mm0 - psrlq mm5,4 - movq [24+ebp],mm3 - shl edx,4 - mov BYTE [5+esp],dl - mov edx,DWORD [ebx-24] - movq mm0,[ebx-24] - psllq mm7,60 - movq mm3,[ebx-32] - por mm2,mm7 - movq [edi-88],mm1 - psrlq mm1,4 - movq [40+edi],mm4 - movq mm6,mm4 - movq [ebp-96],mm2 - psrlq mm4,4 - movq [32+ebp],mm5 - shl edx,4 - mov BYTE [6+esp],dl - mov edx,DWORD [ebx-8] - movq mm2,[ebx-8] - psllq mm6,60 - movq mm5,[ebx-16] - por mm1,mm6 - movq [edi-80],mm0 - psrlq mm0,4 - movq [48+edi],mm3 - movq mm7,mm3 - movq [ebp-88],mm1 - psrlq mm3,4 - movq [40+ebp],mm4 - shl edx,4 - mov BYTE [7+esp],dl - mov edx,DWORD [8+ebx] - movq mm1,[8+ebx] - psllq mm7,60 - movq mm4,[ebx] - por mm0,mm7 - movq [edi-72],mm2 - psrlq mm2,4 - movq [56+edi],mm5 - movq mm6,mm5 - movq [ebp-80],mm0 - psrlq mm5,4 - movq [48+ebp],mm3 - shl edx,4 - mov BYTE [8+esp],dl - mov edx,DWORD [24+ebx] - movq mm0,[24+ebx] - psllq mm6,60 - movq mm3,[16+ebx] - por mm2,mm6 - movq [edi-64],mm1 - psrlq mm1,4 - movq [64+edi],mm4 - movq mm7,mm4 - movq [ebp-72],mm2 - psrlq mm4,4 - movq [56+ebp],mm5 - shl edx,4 - mov BYTE [9+esp],dl - mov edx,DWORD [40+ebx] - movq mm2,[40+ebx] - psllq mm7,60 - movq mm5,[32+ebx] - por mm1,mm7 - movq [edi-56],mm0 - psrlq mm0,4 - movq [72+edi],mm3 - movq mm6,mm3 - movq [ebp-64],mm1 - psrlq mm3,4 - movq [64+ebp],mm4 - shl edx,4 - mov BYTE [10+esp],dl - mov edx,DWORD [56+ebx] - movq mm1,[56+ebx] - psllq mm6,60 - movq mm4,[48+ebx] - por mm0,mm6 - movq [edi-48],mm2 - psrlq mm2,4 - movq [80+edi],mm5 - movq mm7,mm5 - movq [ebp-56],mm0 - psrlq mm5,4 - movq [72+ebp],mm3 - shl edx,4 - mov BYTE [11+esp],dl - mov edx,DWORD [72+ebx] - movq mm0,[72+ebx] - psllq mm7,60 - movq mm3,[64+ebx] - por mm2,mm7 - movq [edi-40],mm1 - psrlq mm1,4 - movq [88+edi],mm4 - movq mm6,mm4 - movq [ebp-48],mm2 - psrlq mm4,4 - movq [80+ebp],mm5 - shl edx,4 - mov BYTE [12+esp],dl - mov edx,DWORD [88+ebx] - movq mm2,[88+ebx] - psllq mm6,60 - movq mm5,[80+ebx] - por mm1,mm6 - movq [edi-32],mm0 - psrlq mm0,4 - movq [96+edi],mm3 - movq mm7,mm3 - movq [ebp-40],mm1 - psrlq mm3,4 - movq [88+ebp],mm4 - shl edx,4 - mov BYTE [13+esp],dl - mov edx,DWORD [104+ebx] - movq mm1,[104+ebx] - psllq mm7,60 - movq mm4,[96+ebx] - por mm0,mm7 - movq [edi-24],mm2 - psrlq mm2,4 - movq [104+edi],mm5 - movq mm6,mm5 - movq [ebp-32],mm0 - psrlq mm5,4 - movq [96+ebp],mm3 - shl edx,4 - mov BYTE [14+esp],dl - mov edx,DWORD [120+ebx] - movq mm0,[120+ebx] - psllq mm6,60 - movq mm3,[112+ebx] - por mm2,mm6 - movq [edi-16],mm1 - psrlq mm1,4 - movq [112+edi],mm4 - movq mm7,mm4 - movq [ebp-24],mm2 - psrlq mm4,4 - movq [104+ebp],mm5 - shl edx,4 - mov BYTE [15+esp],dl - psllq mm7,60 - por mm1,mm7 - movq [edi-8],mm0 - psrlq mm0,4 - movq [120+edi],mm3 - movq mm6,mm3 - movq [ebp-16],mm1 - psrlq mm3,4 - movq [112+ebp],mm4 - psllq mm6,60 - por mm0,mm6 - movq [ebp-8],mm0 - movq [120+ebp],mm3 - movq mm6,[eax] - mov ebx,DWORD [8+eax] - mov edx,DWORD [12+eax] -align 16 -L$004outer: - xor edx,DWORD [12+ecx] - xor ebx,DWORD [8+ecx] - pxor mm6,[ecx] - lea ecx,[16+ecx] - mov DWORD [536+esp],ebx - movq [528+esp],mm6 - mov DWORD [548+esp],ecx - xor eax,eax - rol edx,8 - mov al,dl - mov ebp,eax - and al,15 - shr ebp,4 - pxor mm0,mm0 - rol edx,8 - pxor mm1,mm1 - pxor mm2,mm2 - movq mm7,[16+eax*8+esp] - movq mm6,[144+eax*8+esp] - mov al,dl - movd ebx,mm7 - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - shr edi,4 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - shr ebp,4 - pinsrw mm2,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [536+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr edi,4 - pinsrw mm1,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr ebp,4 - pinsrw mm0,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr edi,4 - pinsrw mm2,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr ebp,4 - pinsrw mm1,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [532+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr edi,4 - pinsrw mm0,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr ebp,4 - pinsrw mm2,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr edi,4 - pinsrw mm1,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr ebp,4 - pinsrw mm0,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [528+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr edi,4 - pinsrw mm2,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr ebp,4 - pinsrw mm1,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr edi,4 - pinsrw mm0,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr ebp,4 - pinsrw mm2,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [524+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr edi,4 - pinsrw mm1,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - pxor mm6,[144+eax*8+esp] - xor bl,BYTE [ebp*1+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - movzx ebx,bl - pxor mm2,mm2 - psllq mm1,4 - movd ecx,mm7 - psrlq mm7,4 - movq mm3,mm6 - psrlq mm6,4 - shl ecx,4 - pxor mm7,[16+edi*8+esp] - psllq mm3,60 - movzx ecx,cl - pxor mm7,mm3 - pxor mm6,[144+edi*8+esp] - pinsrw mm0,WORD [ebx*2+esi],2 - pxor mm6,mm1 - movd edx,mm7 - pinsrw mm2,WORD [ecx*2+esi],3 - psllq mm0,12 - pxor mm6,mm0 - psrlq mm7,32 - pxor mm6,mm2 - mov ecx,DWORD [548+esp] - movd ebx,mm7 - movq mm3,mm6 - psllw mm6,8 - psrlw mm3,8 - por mm6,mm3 - bswap edx - pshufw mm6,mm6,27 - bswap ebx - cmp ecx,DWORD [552+esp] - jne NEAR L$004outer - mov eax,DWORD [544+esp] - mov DWORD [12+eax],edx - mov DWORD [8+eax],ebx - movq [eax],mm6 - mov esp,DWORD [556+esp] - emms - pop edi - pop esi - pop ebx - pop ebp - ret global _gcm_init_clmul align 16 _gcm_init_clmul: L$_gcm_init_clmul_begin: mov edx,DWORD [4+esp] mov eax,DWORD [8+esp] - call L$005pic -L$005pic: + call L$000pic +L$000pic: pop ecx - lea ecx,[(L$bswap-L$005pic)+ecx] + lea ecx,[(L$bswap-L$000pic)+ecx] movdqu xmm2,[eax] pshufd xmm2,xmm2,78 pshufd xmm4,xmm2,255 @@ -792,10 +93,10 @@ _gcm_gmult_clmul: L$_gcm_gmult_clmul_begin: mov eax,DWORD [4+esp] mov edx,DWORD [8+esp] - call L$006pic -L$006pic: + call L$001pic +L$001pic: pop ecx - lea ecx,[(L$bswap-L$006pic)+ecx] + lea ecx,[(L$bswap-L$001pic)+ecx] movdqu xmm0,[eax] movdqa xmm5,[ecx] movups xmm2,[edx] @@ -849,16 +150,16 @@ L$_gcm_ghash_clmul_begin: mov edx,DWORD [24+esp] mov esi,DWORD [28+esp] mov ebx,DWORD [32+esp] - call L$007pic -L$007pic: + call L$002pic +L$002pic: pop ecx - lea ecx,[(L$bswap-L$007pic)+ecx] + lea ecx,[(L$bswap-L$002pic)+ecx] movdqu xmm0,[eax] movdqa xmm5,[ecx] movdqu xmm2,[edx] db 102,15,56,0,197 sub ebx,16 - jz NEAR L$008odd_tail + jz NEAR L$003odd_tail movdqu xmm3,[esi] movdqu xmm6,[16+esi] db 102,15,56,0,221 @@ -875,10 +176,10 @@ db 102,15,58,68,221,0 movups xmm2,[16+edx] nop sub ebx,32 - jbe NEAR L$009even_tail - jmp NEAR L$010mod_loop + jbe NEAR L$004even_tail + jmp NEAR L$005mod_loop align 32 -L$010mod_loop: +L$005mod_loop: pshufd xmm4,xmm0,78 movdqa xmm1,xmm0 pxor xmm4,xmm0 @@ -933,8 +234,8 @@ db 102,15,58,68,250,17 db 102,15,58,68,221,0 lea esi,[32+esi] sub ebx,32 - ja NEAR L$010mod_loop -L$009even_tail: + ja NEAR L$005mod_loop +L$004even_tail: pshufd xmm4,xmm0,78 movdqa xmm1,xmm0 pxor xmm4,xmm0 @@ -973,9 +274,9 @@ db 102,15,58,68,229,16 psrlq xmm0,1 pxor xmm0,xmm1 test ebx,ebx - jnz NEAR L$011done + jnz NEAR L$006done movups xmm2,[edx] -L$008odd_tail: +L$003odd_tail: movdqu xmm3,[esi] db 102,15,56,0,221 pxor xmm0,xmm3 @@ -1014,7 +315,7 @@ db 102,15,58,68,220,0 pxor xmm0,xmm4 psrlq xmm0,1 pxor xmm0,xmm1 -L$011done: +L$006done: db 102,15,56,0,197 movdqu [eax],xmm0 pop edi @@ -1026,46 +327,6 @@ align 64 L$bswap: db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 db 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 -align 64 -L$rem_8bit: -dw 0,450,900,582,1800,1738,1164,1358 -dw 3600,4050,3476,3158,2328,2266,2716,2910 -dw 7200,7650,8100,7782,6952,6890,6316,6510 -dw 4656,5106,4532,4214,5432,5370,5820,6014 -dw 14400,14722,15300,14854,16200,16010,15564,15630 -dw 13904,14226,13780,13334,12632,12442,13020,13086 -dw 9312,9634,10212,9766,9064,8874,8428,8494 -dw 10864,11186,10740,10294,11640,11450,12028,12094 -dw 28800,28994,29444,29382,30600,30282,29708,30158 -dw 32400,32594,32020,31958,31128,30810,31260,31710 -dw 27808,28002,28452,28390,27560,27242,26668,27118 -dw 25264,25458,24884,24822,26040,25722,26172,26622 -dw 18624,18690,19268,19078,20424,19978,19532,19854 -dw 18128,18194,17748,17558,16856,16410,16988,17310 -dw 21728,21794,22372,22182,21480,21034,20588,20910 -dw 23280,23346,22900,22710,24056,23610,24188,24510 -dw 57600,57538,57988,58182,58888,59338,58764,58446 -dw 61200,61138,60564,60758,59416,59866,60316,59998 -dw 64800,64738,65188,65382,64040,64490,63916,63598 -dw 62256,62194,61620,61814,62520,62970,63420,63102 -dw 55616,55426,56004,56070,56904,57226,56780,56334 -dw 55120,54930,54484,54550,53336,53658,54236,53790 -dw 50528,50338,50916,50982,49768,50090,49644,49198 -dw 52080,51890,51444,51510,52344,52666,53244,52798 -dw 37248,36930,37380,37830,38536,38730,38156,38094 -dw 40848,40530,39956,40406,39064,39258,39708,39646 -dw 36256,35938,36388,36838,35496,35690,35116,35054 -dw 33712,33394,32820,33270,33976,34170,34620,34558 -dw 43456,43010,43588,43910,44744,44810,44364,44174 -dw 42960,42514,42068,42390,41176,41242,41820,41630 -dw 46560,46114,46692,47014,45800,45866,45420,45230 -dw 48112,47666,47220,47542,48376,48442,49020,48830 -align 64 -L$rem_4bit: -dd 0,0,0,471859200,0,943718400,0,610271232 -dd 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -dd 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -dd 0,2441084928,0,2376073216,0,2847932416,0,3051356160 db 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 db 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 db 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/vpaes-x86.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/vpaes-x86.asm index 3201b8d8334..81b8b8330fd 100644 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/vpaes-x86.asm +++ b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/vpaes-x86.asm @@ -20,7 +20,7 @@ section .text code align=64 %else section .text code %endif -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST extern _BORINGSSL_function_hit %endif align 64 @@ -474,7 +474,7 @@ L$_vpaes_set_encrypt_key_begin: push ebx push esi push edi -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$016pic @@ -553,7 +553,7 @@ L$_vpaes_encrypt_begin: push ebx push esi push edi -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$019pic diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm index 9b226ed45c3..b1159ae0982 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm @@ -9,6 +9,8 @@ default rel %ifdef BORINGSSL_PREFIX %include "boringssl_prefix_symbols_nasm.inc" %endif +section .text code align=64 + global dummy_chacha20_poly1305_asm dummy_chacha20_poly1305_asm: diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aes-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aes-x86_64.asm deleted file mode 100644 index 329185ee670..00000000000 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aes-x86_64.asm +++ /dev/null @@ -1,2962 +0,0 @@ -; This file is generated from a similarly-named Perl script in the BoringSSL -; source tree. Do not edit by hand. - -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD - -%ifdef BORINGSSL_PREFIX -%include "boringssl_prefix_symbols_nasm.inc" -%endif -section .text code align=64 - - -ALIGN 16 -_x86_64_AES_encrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$enc_loop -ALIGN 16 -$L$enc_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,dh - shr ecx,16 - movzx ebp,ah - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - mov edx,DWORD[12+r15] - movzx edi,bh - movzx ebp,ch - mov eax,DWORD[r15] - xor r12d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[1+rbp*8+r14] - - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$enc_loop - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[2+rsi*8+r14] - movzx r11d,BYTE[2+rdi*8+r14] - movzx r12d,BYTE[2+rbp*8+r14] - - movzx esi,dl - movzx edi,bh - movzx ebp,ch - movzx r8d,BYTE[2+rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and edi,0x0000ff00 - and ebp,0x0000ff00 - - xor r10d,edi - xor r11d,ebp - shr ecx,16 - - movzx esi,dh - movzx edi,ah - shr edx,16 - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - - and esi,0x0000ff00 - and edi,0x0000ff00 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and esi,0x00ff0000 - and edi,0x00ff0000 - and ebp,0x00ff0000 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,dh - movzx ebp,ah - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov ebp,DWORD[2+rbp*8+r14] - - and esi,0x00ff0000 - and edi,0xff000000 - and ebp,0xff000000 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,bh - movzx edi,ch - mov edx,DWORD[((16+12))+r15] - mov esi,DWORD[2+rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov eax,DWORD[((16+0))+r15] - - and esi,0xff000000 - and edi,0xff000000 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_encrypt_compact: - - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,bh - movzx edi,ch - shr ecx,16 - movzx ebp,dh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ah - movzx r13d,BYTE[rdi*1+r14] - movzx edi,cl - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shl r9d,8 - shr edx,16 - shl r13d,8 - xor r10d,r9d - shr eax,16 - movzx r9d,dl - shr ebx,16 - xor r11d,r13d - shl ebp,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - - shl esi,8 - movzx ebp,bl - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,dh - movzx r13d,BYTE[r13*1+r14] - xor r10d,edi - - shr ecx,8 - movzx edi,ah - shl r9d,16 - shr ebx,8 - shl r13d,16 - xor r11d,r9d - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx edx,BYTE[rcx*1+r14] - movzx ecx,BYTE[rbx*1+r14] - - shl ebp,16 - xor r12d,r13d - shl esi,24 - xor r8d,ebp - shl edi,24 - xor r10d,esi - shl edx,24 - xor r11d,edi - shl ecx,24 - mov eax,r10d - mov ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$enc_compact_done - mov r10d,0x80808080 - mov r11d,0x80808080 - and r10d,eax - and r11d,ebx - mov esi,r10d - mov edi,r11d - shr r10d,7 - lea r8d,[rax*1+rax] - shr r11d,7 - lea r9d,[rbx*1+rbx] - sub esi,r10d - sub edi,r11d - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r10d,eax - mov r11d,ebx - xor r8d,esi - xor r9d,edi - - xor eax,r8d - xor ebx,r9d - mov r12d,0x80808080 - rol eax,24 - mov ebp,0x80808080 - rol ebx,24 - and r12d,ecx - and ebp,edx - xor eax,r8d - xor ebx,r9d - mov esi,r12d - ror r10d,16 - mov edi,ebp - ror r11d,16 - lea r8d,[rcx*1+rcx] - shr r12d,7 - xor eax,r10d - shr ebp,7 - xor ebx,r11d - ror r10d,8 - lea r9d,[rdx*1+rdx] - ror r11d,8 - sub esi,r12d - sub edi,ebp - xor eax,r10d - xor ebx,r11d - - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r12d,ecx - mov ebp,edx - xor r8d,esi - xor r9d,edi - - ror r12d,16 - xor ecx,r8d - ror ebp,16 - xor edx,r9d - rol ecx,24 - mov esi,DWORD[r14] - rol edx,24 - xor ecx,r8d - mov edi,DWORD[64+r14] - xor edx,r9d - mov r8d,DWORD[128+r14] - xor ecx,r12d - ror r12d,8 - xor edx,ebp - ror ebp,8 - xor ecx,r12d - mov r9d,DWORD[192+r14] - xor edx,ebp - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - - -ALIGN 16 -global aes_nohw_encrypt - - -aes_nohw_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - - - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],rax - -$L$enc_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Te+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - - call _x86_64_AES_encrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$enc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_encrypt: - -ALIGN 16 -_x86_64_AES_decrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$dec_loop -ALIGN 16 -$L$dec_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,bh - shr eax,16 - movzx ebp,ch - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - movzx esi,dh - mov edx,DWORD[12+r15] - movzx ebp,ah - xor r12d,DWORD[1+rsi*8+r14] - mov eax,DWORD[r15] - xor r8d,DWORD[1+rbp*8+r14] - - xor eax,r10d - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor ecx,r12d - xor ebx,r11d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$dec_loop - lea r14,[2048+r14] - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[rsi*1+r14] - movzx r11d,BYTE[rdi*1+r14] - movzx r12d,BYTE[rbp*1+r14] - - movzx esi,dl - movzx edi,dh - movzx ebp,ah - movzx r8d,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl edi,8 - shl ebp,8 - - xor r10d,edi - xor r11d,ebp - shr edx,16 - - movzx esi,bh - movzx edi,ch - shr eax,16 - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - - shl esi,8 - shl edi,8 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,16 - shl ebp,16 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,bh - movzx ebp,ch - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,24 - shl ebp,24 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,dh - movzx edi,ah - mov edx,DWORD[((16+12))+r15] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - mov eax,DWORD[((16+0))+r15] - - shl esi,24 - shl edi,24 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - lea r14,[((-2048))+r14] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_decrypt_compact: - - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$dec_loop_compact - -ALIGN 16 -$L$dec_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,dh - movzx edi,ah - shr edx,16 - movzx ebp,bh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ch - movzx r13d,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shr ecx,16 - shl r13d,8 - shl r9d,8 - movzx edi,cl - shr eax,16 - xor r10d,r9d - shr ebx,16 - movzx r9d,dl - - shl ebp,8 - xor r11d,r13d - shl esi,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - movzx ebp,bl - - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,bh - movzx ebp,BYTE[rbp*1+r14] - xor r10d,edi - movzx r13d,BYTE[r13*1+r14] - movzx edi,ch - - shl ebp,16 - shl r9d,16 - shl r13d,16 - xor r8d,ebp - movzx ebp,dh - xor r11d,r9d - shr eax,8 - xor r12d,r13d - - movzx esi,BYTE[rsi*1+r14] - movzx ebx,BYTE[rdi*1+r14] - movzx ecx,BYTE[rbp*1+r14] - movzx edx,BYTE[rax*1+r14] - - mov eax,r10d - shl esi,24 - shl ebx,24 - shl ecx,24 - xor eax,esi - shl edx,24 - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$dec_compact_done - - mov rsi,QWORD[((256+0))+r14] - shl rbx,32 - shl rdx,32 - mov rdi,QWORD[((256+8))+r14] - or rax,rbx - or rcx,rdx - mov rbp,QWORD[((256+16))+r14] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - mov rsi,QWORD[r14] - rol r9d,16 - mov rdi,QWORD[64+r14] - rol r12d,16 - mov rbp,QWORD[128+r14] - rol r8d,16 - mov r10,QWORD[192+r14] - xor eax,r9d - rol r11d,16 - xor ecx,r12d - mov r13,QWORD[256+r14] - xor ebx,r8d - xor edx,r11d - jmp NEAR $L$dec_loop_compact -ALIGN 16 -$L$dec_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - - -ALIGN 16 -global aes_nohw_decrypt - - -aes_nohw_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_decrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - - - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],rax - -$L$dec_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Td+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - shr rbp,3 - add r14,rbp - - call _x86_64_AES_decrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$dec_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_decrypt: -ALIGN 16 -global aes_nohw_set_encrypt_key - -aes_nohw_set_encrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_set_encrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - sub rsp,8 - -$L$enc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - mov rbp,QWORD[40+rsp] - - mov rbx,QWORD[48+rsp] - - add rsp,56 - -$L$enc_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_set_encrypt_key: - - -ALIGN 16 -_x86_64_AES_set_encrypt_key: - - mov ecx,esi - mov rsi,rdi - mov rdi,rdx - - test rsi,-1 - jz NEAR $L$badpointer - test rdi,-1 - jz NEAR $L$badpointer - - lea rbp,[$L$AES_Te] - lea rbp,[((2048+128))+rbp] - - - mov eax,DWORD[((0-128))+rbp] - mov ebx,DWORD[((32-128))+rbp] - mov r8d,DWORD[((64-128))+rbp] - mov edx,DWORD[((96-128))+rbp] - mov eax,DWORD[((128-128))+rbp] - mov ebx,DWORD[((160-128))+rbp] - mov r8d,DWORD[((192-128))+rbp] - mov edx,DWORD[((224-128))+rbp] - - cmp ecx,128 - je NEAR $L$10rounds - cmp ecx,192 - je NEAR $L$12rounds - cmp ecx,256 - je NEAR $L$14rounds - mov rax,-2 - jmp NEAR $L$exit - -$L$10rounds: - mov rax,QWORD[rsi] - mov rdx,QWORD[8+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$10shortcut -ALIGN 4 -$L$10loop: - mov eax,DWORD[rdi] - mov edx,DWORD[12+rdi] -$L$10shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[16+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[20+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[24+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[28+rdi],eax - add ecx,1 - lea rdi,[16+rdi] - cmp ecx,10 - jl NEAR $L$10loop - - mov DWORD[80+rdi],10 - xor rax,rax - jmp NEAR $L$exit - -$L$12rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rdx,QWORD[16+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$12shortcut -ALIGN 4 -$L$12loop: - mov eax,DWORD[rdi] - mov edx,DWORD[20+rdi] -$L$12shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[24+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[28+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[32+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[36+rdi],eax - - cmp ecx,7 - je NEAR $L$12break - add ecx,1 - - xor eax,DWORD[16+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[44+rdi],eax - - lea rdi,[24+rdi] - jmp NEAR $L$12loop -$L$12break: - mov DWORD[72+rdi],12 - xor rax,rax - jmp NEAR $L$exit - -$L$14rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[16+rsi] - mov rdx,QWORD[24+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$14shortcut -ALIGN 4 -$L$14loop: - mov eax,DWORD[rdi] - mov edx,DWORD[28+rdi] -$L$14shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[32+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[36+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[44+rdi],eax - - cmp ecx,6 - je NEAR $L$14break - add ecx,1 - - mov edx,eax - mov eax,DWORD[16+rdi] - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,16 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,24 - xor eax,ebx - - mov DWORD[48+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[52+rdi],eax - xor eax,DWORD[24+rdi] - mov DWORD[56+rdi],eax - xor eax,DWORD[28+rdi] - mov DWORD[60+rdi],eax - - lea rdi,[32+rdi] - jmp NEAR $L$14loop -$L$14break: - mov DWORD[48+rdi],14 - xor rax,rax - jmp NEAR $L$exit - -$L$badpointer: - mov rax,-1 -$L$exit: -DB 0xf3,0xc3 - - -ALIGN 16 -global aes_nohw_set_decrypt_key - -aes_nohw_set_decrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_set_decrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - push rdx - -$L$dec_key_prologue: - - call _x86_64_AES_set_encrypt_key - mov r8,QWORD[rsp] - cmp eax,0 - jne NEAR $L$abort - - mov r14d,DWORD[240+r8] - xor rdi,rdi - lea rcx,[r14*4+rdi] - mov rsi,r8 - lea rdi,[rcx*4+r8] -ALIGN 4 -$L$invert: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[rdi] - mov rdx,QWORD[8+rdi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[rsi],rcx - mov QWORD[8+rsi],rdx - lea rsi,[16+rsi] - lea rdi,[((-16))+rdi] - cmp rdi,rsi - jne NEAR $L$invert - - lea rax,[(($L$AES_Te+2048+1024))] - - mov rsi,QWORD[40+rax] - mov rdi,QWORD[48+rax] - mov rbp,QWORD[56+rax] - - mov r15,r8 - sub r14d,1 -ALIGN 4 -$L$permute: - lea r15,[16+r15] - mov rax,QWORD[r15] - mov rcx,QWORD[8+r15] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - - rol r9d,16 - - rol r12d,16 - - rol r8d,16 - - xor eax,r9d - rol r11d,16 - xor ecx,r12d - - xor ebx,r8d - xor edx,r11d - mov DWORD[r15],eax - mov DWORD[4+r15],ebx - mov DWORD[8+r15],ecx - mov DWORD[12+r15],edx - sub r14d,1 - jnz NEAR $L$permute - - xor rax,rax -$L$abort: - mov r15,QWORD[8+rsp] - - mov r14,QWORD[16+rsp] - - mov r13,QWORD[24+rsp] - - mov r12,QWORD[32+rsp] - - mov rbp,QWORD[40+rsp] - - mov rbx,QWORD[48+rsp] - - add rsp,56 - -$L$dec_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_set_decrypt_key: -ALIGN 16 -global aes_nohw_cbc_encrypt - -EXTERN OPENSSL_ia32cap_P - -aes_nohw_cbc_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_cbc_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - - cmp rdx,0 - je NEAR $L$cbc_epilogue - pushfq - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - -$L$cbc_prologue: - - cld - mov r9d,r9d - - lea r14,[$L$AES_Te] - lea r10,[$L$AES_Td] - cmp r9,0 - cmove r14,r10 - - - lea r10,[OPENSSL_ia32cap_P] - mov r10d,DWORD[r10] - cmp rdx,512 - jb NEAR $L$cbc_slow_prologue - test rdx,15 - jnz NEAR $L$cbc_slow_prologue - bt r10d,28 - jc NEAR $L$cbc_slow_prologue - - - lea r15,[((-88-248))+rsp] - and r15,-64 - - - mov r10,r14 - lea r11,[2304+r14] - mov r12,r15 - and r10,0xFFF - and r11,0xFFF - and r12,0xFFF - - cmp r12,r11 - jb NEAR $L$cbc_te_break_out - sub r12,r11 - sub r15,r12 - jmp NEAR $L$cbc_te_ok -$L$cbc_te_break_out: - sub r12,r10 - and r12,0xFFF - add r12,320 - sub r15,r12 -ALIGN 4 -$L$cbc_te_ok: - - xchg r15,rsp - - - mov QWORD[16+rsp],r15 - -$L$cbc_fast_body: - mov QWORD[24+rsp],rdi - mov QWORD[32+rsp],rsi - mov QWORD[40+rsp],rdx - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],r8 - mov DWORD[((80+240))+rsp],0 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - - mov eax,DWORD[240+r15] - - mov r10,r15 - sub r10,r14 - and r10,0xfff - cmp r10,2304 - jb NEAR $L$cbc_do_ecopy - cmp r10,4096-248 - jb NEAR $L$cbc_skip_ecopy -ALIGN 4 -$L$cbc_do_ecopy: - mov rsi,r15 - lea rdi,[80+rsp] - lea r15,[80+rsp] - mov ecx,240/8 - DD 0x90A548F3 - mov DWORD[rdi],eax -$L$cbc_skip_ecopy: - mov QWORD[rsp],r15 - - mov ecx,18 -ALIGN 4 -$L$cbc_prefetch_te: - mov r10,QWORD[r14] - mov r11,QWORD[32+r14] - mov r12,QWORD[64+r14] - mov r13,QWORD[96+r14] - lea r14,[128+r14] - sub ecx,1 - jnz NEAR $L$cbc_prefetch_te - lea r14,[((-2304))+r14] - - cmp rbx,0 - je NEAR $L$FAST_DECRYPT - - - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - -ALIGN 4 -$L$cbc_fast_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_encrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - mov QWORD[40+rsp],r10 - jnz NEAR $L$cbc_fast_enc_loop - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_fast_cleanup - - -ALIGN 16 -$L$FAST_DECRYPT: - cmp r9,r8 - je NEAR $L$cbc_fast_dec_in_place - - mov QWORD[64+rsp],rbp -ALIGN 4 -$L$cbc_fast_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov rbp,QWORD[64+rsp] - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[rbp] - xor ebx,DWORD[4+rbp] - xor ecx,DWORD[8+rbp] - xor edx,DWORD[12+rbp] - mov rbp,r8 - - sub r10,16 - mov QWORD[40+rsp],r10 - mov QWORD[64+rsp],rbp - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jnz NEAR $L$cbc_fast_dec_loop - mov r12,QWORD[56+rsp] - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[r12],r10 - mov QWORD[8+r12],r11 - jmp NEAR $L$cbc_fast_cleanup - -ALIGN 16 -$L$cbc_fast_dec_in_place: - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r10 - mov QWORD[((8+64))+rsp],r11 -ALIGN 4 -$L$cbc_fast_dec_in_place_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jz NEAR $L$cbc_fast_dec_in_place_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - mov QWORD[40+rsp],r10 - jmp NEAR $L$cbc_fast_dec_in_place_loop -$L$cbc_fast_dec_in_place_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - -ALIGN 4 -$L$cbc_fast_cleanup: - cmp DWORD[((80+240))+rsp],0 - lea rdi,[80+rsp] - je NEAR $L$cbc_exit - mov ecx,240/8 - xor rax,rax - DD 0x90AB48F3 - - jmp NEAR $L$cbc_exit - - -ALIGN 16 -$L$cbc_slow_prologue: - - - lea rbp,[((-88))+rsp] - and rbp,-64 - - lea r10,[((-88-63))+rcx] - sub r10,rbp - neg r10 - and r10,0x3c0 - sub rbp,r10 - - xchg rbp,rsp - - - mov QWORD[16+rsp],rbp - -$L$cbc_slow_body: - - - - - mov QWORD[56+rsp],r8 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - mov r10,rdx - - mov eax,DWORD[240+r15] - mov QWORD[rsp],r15 - shl eax,4 - lea rax,[rax*1+r15] - mov QWORD[8+rsp],rax - - - lea r14,[2048+r14] - lea rax,[((768-8))+rsp] - sub rax,r14 - and rax,0x300 - lea r14,[rax*1+r14] - - cmp rbx,0 - je NEAR $L$SLOW_DECRYPT - - - test r10,-16 - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - jz NEAR $L$cbc_slow_enc_tail - -ALIGN 4 -$L$cbc_slow_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_encrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - jnz NEAR $L$cbc_slow_enc_loop - test r10,15 - jnz NEAR $L$cbc_slow_enc_tail - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_enc_tail: - mov r11,rax - mov r12,rcx - mov rcx,r10 - mov rsi,r8 - mov rdi,r9 - DD 0x9066A4F3 - mov rcx,16 - sub rcx,r10 - xor rax,rax - DD 0x9066AAF3 - mov r8,r9 - mov r10,16 - mov rax,r11 - mov rcx,r12 - jmp NEAR $L$cbc_slow_enc_loop - -ALIGN 16 -$L$SLOW_DECRYPT: - shr rax,3 - add r14,rax - - mov r11,QWORD[rbp] - mov r12,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - -ALIGN 4 -$L$cbc_slow_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_decrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jc NEAR $L$cbc_slow_dec_partial - jz NEAR $L$cbc_slow_dec_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jmp NEAR $L$cbc_slow_dec_loop -$L$cbc_slow_dec_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_dec_partial: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[((0+64))+rsp],eax - mov DWORD[((4+64))+rsp],ebx - mov DWORD[((8+64))+rsp],ecx - mov DWORD[((12+64))+rsp],edx - - mov rdi,r9 - lea rsi,[64+rsp] - lea rcx,[16+r10] - DD 0x9066A4F3 - jmp NEAR $L$cbc_exit - -ALIGN 16 -$L$cbc_exit: - mov rsi,QWORD[16+rsp] - - mov r15,QWORD[rsi] - - mov r14,QWORD[8+rsi] - - mov r13,QWORD[16+rsi] - - mov r12,QWORD[24+rsi] - - mov rbp,QWORD[32+rsi] - - mov rbx,QWORD[40+rsi] - - lea rsp,[48+rsi] - -$L$cbc_popfq: - popfq - - - -$L$cbc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_cbc_encrypt: -ALIGN 64 -$L$AES_Te: - DD 0xa56363c6,0xa56363c6 - DD 0x847c7cf8,0x847c7cf8 - DD 0x997777ee,0x997777ee - DD 0x8d7b7bf6,0x8d7b7bf6 - DD 0x0df2f2ff,0x0df2f2ff - DD 0xbd6b6bd6,0xbd6b6bd6 - DD 0xb16f6fde,0xb16f6fde - DD 0x54c5c591,0x54c5c591 - DD 0x50303060,0x50303060 - DD 0x03010102,0x03010102 - DD 0xa96767ce,0xa96767ce - DD 0x7d2b2b56,0x7d2b2b56 - DD 0x19fefee7,0x19fefee7 - DD 0x62d7d7b5,0x62d7d7b5 - DD 0xe6abab4d,0xe6abab4d - DD 0x9a7676ec,0x9a7676ec - DD 0x45caca8f,0x45caca8f - DD 0x9d82821f,0x9d82821f - DD 0x40c9c989,0x40c9c989 - DD 0x877d7dfa,0x877d7dfa - DD 0x15fafaef,0x15fafaef - DD 0xeb5959b2,0xeb5959b2 - DD 0xc947478e,0xc947478e - DD 0x0bf0f0fb,0x0bf0f0fb - DD 0xecadad41,0xecadad41 - DD 0x67d4d4b3,0x67d4d4b3 - DD 0xfda2a25f,0xfda2a25f - DD 0xeaafaf45,0xeaafaf45 - DD 0xbf9c9c23,0xbf9c9c23 - DD 0xf7a4a453,0xf7a4a453 - DD 0x967272e4,0x967272e4 - DD 0x5bc0c09b,0x5bc0c09b - DD 0xc2b7b775,0xc2b7b775 - DD 0x1cfdfde1,0x1cfdfde1 - DD 0xae93933d,0xae93933d - DD 0x6a26264c,0x6a26264c - DD 0x5a36366c,0x5a36366c - DD 0x413f3f7e,0x413f3f7e - DD 0x02f7f7f5,0x02f7f7f5 - DD 0x4fcccc83,0x4fcccc83 - DD 0x5c343468,0x5c343468 - DD 0xf4a5a551,0xf4a5a551 - DD 0x34e5e5d1,0x34e5e5d1 - DD 0x08f1f1f9,0x08f1f1f9 - DD 0x937171e2,0x937171e2 - DD 0x73d8d8ab,0x73d8d8ab - DD 0x53313162,0x53313162 - DD 0x3f15152a,0x3f15152a - DD 0x0c040408,0x0c040408 - DD 0x52c7c795,0x52c7c795 - DD 0x65232346,0x65232346 - DD 0x5ec3c39d,0x5ec3c39d - DD 0x28181830,0x28181830 - DD 0xa1969637,0xa1969637 - DD 0x0f05050a,0x0f05050a - DD 0xb59a9a2f,0xb59a9a2f - DD 0x0907070e,0x0907070e - DD 0x36121224,0x36121224 - DD 0x9b80801b,0x9b80801b - DD 0x3de2e2df,0x3de2e2df - DD 0x26ebebcd,0x26ebebcd - DD 0x6927274e,0x6927274e - DD 0xcdb2b27f,0xcdb2b27f - DD 0x9f7575ea,0x9f7575ea - DD 0x1b090912,0x1b090912 - DD 0x9e83831d,0x9e83831d - DD 0x742c2c58,0x742c2c58 - DD 0x2e1a1a34,0x2e1a1a34 - DD 0x2d1b1b36,0x2d1b1b36 - DD 0xb26e6edc,0xb26e6edc - DD 0xee5a5ab4,0xee5a5ab4 - DD 0xfba0a05b,0xfba0a05b - DD 0xf65252a4,0xf65252a4 - DD 0x4d3b3b76,0x4d3b3b76 - DD 0x61d6d6b7,0x61d6d6b7 - DD 0xceb3b37d,0xceb3b37d - DD 0x7b292952,0x7b292952 - DD 0x3ee3e3dd,0x3ee3e3dd - DD 0x712f2f5e,0x712f2f5e - DD 0x97848413,0x97848413 - DD 0xf55353a6,0xf55353a6 - DD 0x68d1d1b9,0x68d1d1b9 - DD 0x00000000,0x00000000 - DD 0x2cededc1,0x2cededc1 - DD 0x60202040,0x60202040 - DD 0x1ffcfce3,0x1ffcfce3 - DD 0xc8b1b179,0xc8b1b179 - DD 0xed5b5bb6,0xed5b5bb6 - DD 0xbe6a6ad4,0xbe6a6ad4 - DD 0x46cbcb8d,0x46cbcb8d - DD 0xd9bebe67,0xd9bebe67 - DD 0x4b393972,0x4b393972 - DD 0xde4a4a94,0xde4a4a94 - DD 0xd44c4c98,0xd44c4c98 - DD 0xe85858b0,0xe85858b0 - DD 0x4acfcf85,0x4acfcf85 - DD 0x6bd0d0bb,0x6bd0d0bb - DD 0x2aefefc5,0x2aefefc5 - DD 0xe5aaaa4f,0xe5aaaa4f - DD 0x16fbfbed,0x16fbfbed - DD 0xc5434386,0xc5434386 - DD 0xd74d4d9a,0xd74d4d9a - DD 0x55333366,0x55333366 - DD 0x94858511,0x94858511 - DD 0xcf45458a,0xcf45458a - DD 0x10f9f9e9,0x10f9f9e9 - DD 0x06020204,0x06020204 - DD 0x817f7ffe,0x817f7ffe - DD 0xf05050a0,0xf05050a0 - DD 0x443c3c78,0x443c3c78 - DD 0xba9f9f25,0xba9f9f25 - DD 0xe3a8a84b,0xe3a8a84b - DD 0xf35151a2,0xf35151a2 - DD 0xfea3a35d,0xfea3a35d - DD 0xc0404080,0xc0404080 - DD 0x8a8f8f05,0x8a8f8f05 - DD 0xad92923f,0xad92923f - DD 0xbc9d9d21,0xbc9d9d21 - DD 0x48383870,0x48383870 - DD 0x04f5f5f1,0x04f5f5f1 - DD 0xdfbcbc63,0xdfbcbc63 - DD 0xc1b6b677,0xc1b6b677 - DD 0x75dadaaf,0x75dadaaf - DD 0x63212142,0x63212142 - DD 0x30101020,0x30101020 - DD 0x1affffe5,0x1affffe5 - DD 0x0ef3f3fd,0x0ef3f3fd - DD 0x6dd2d2bf,0x6dd2d2bf - DD 0x4ccdcd81,0x4ccdcd81 - DD 0x140c0c18,0x140c0c18 - DD 0x35131326,0x35131326 - DD 0x2fececc3,0x2fececc3 - DD 0xe15f5fbe,0xe15f5fbe - DD 0xa2979735,0xa2979735 - DD 0xcc444488,0xcc444488 - DD 0x3917172e,0x3917172e - DD 0x57c4c493,0x57c4c493 - DD 0xf2a7a755,0xf2a7a755 - DD 0x827e7efc,0x827e7efc - DD 0x473d3d7a,0x473d3d7a - DD 0xac6464c8,0xac6464c8 - DD 0xe75d5dba,0xe75d5dba - DD 0x2b191932,0x2b191932 - DD 0x957373e6,0x957373e6 - DD 0xa06060c0,0xa06060c0 - DD 0x98818119,0x98818119 - DD 0xd14f4f9e,0xd14f4f9e - DD 0x7fdcdca3,0x7fdcdca3 - DD 0x66222244,0x66222244 - DD 0x7e2a2a54,0x7e2a2a54 - DD 0xab90903b,0xab90903b - DD 0x8388880b,0x8388880b - DD 0xca46468c,0xca46468c - DD 0x29eeeec7,0x29eeeec7 - DD 0xd3b8b86b,0xd3b8b86b - DD 0x3c141428,0x3c141428 - DD 0x79dedea7,0x79dedea7 - DD 0xe25e5ebc,0xe25e5ebc - DD 0x1d0b0b16,0x1d0b0b16 - DD 0x76dbdbad,0x76dbdbad - DD 0x3be0e0db,0x3be0e0db - DD 0x56323264,0x56323264 - DD 0x4e3a3a74,0x4e3a3a74 - DD 0x1e0a0a14,0x1e0a0a14 - DD 0xdb494992,0xdb494992 - DD 0x0a06060c,0x0a06060c - DD 0x6c242448,0x6c242448 - DD 0xe45c5cb8,0xe45c5cb8 - DD 0x5dc2c29f,0x5dc2c29f - DD 0x6ed3d3bd,0x6ed3d3bd - DD 0xefacac43,0xefacac43 - DD 0xa66262c4,0xa66262c4 - DD 0xa8919139,0xa8919139 - DD 0xa4959531,0xa4959531 - DD 0x37e4e4d3,0x37e4e4d3 - DD 0x8b7979f2,0x8b7979f2 - DD 0x32e7e7d5,0x32e7e7d5 - DD 0x43c8c88b,0x43c8c88b - DD 0x5937376e,0x5937376e - DD 0xb76d6dda,0xb76d6dda - DD 0x8c8d8d01,0x8c8d8d01 - DD 0x64d5d5b1,0x64d5d5b1 - DD 0xd24e4e9c,0xd24e4e9c - DD 0xe0a9a949,0xe0a9a949 - DD 0xb46c6cd8,0xb46c6cd8 - DD 0xfa5656ac,0xfa5656ac - DD 0x07f4f4f3,0x07f4f4f3 - DD 0x25eaeacf,0x25eaeacf - DD 0xaf6565ca,0xaf6565ca - DD 0x8e7a7af4,0x8e7a7af4 - DD 0xe9aeae47,0xe9aeae47 - DD 0x18080810,0x18080810 - DD 0xd5baba6f,0xd5baba6f - DD 0x887878f0,0x887878f0 - DD 0x6f25254a,0x6f25254a - DD 0x722e2e5c,0x722e2e5c - DD 0x241c1c38,0x241c1c38 - DD 0xf1a6a657,0xf1a6a657 - DD 0xc7b4b473,0xc7b4b473 - DD 0x51c6c697,0x51c6c697 - DD 0x23e8e8cb,0x23e8e8cb - DD 0x7cdddda1,0x7cdddda1 - DD 0x9c7474e8,0x9c7474e8 - DD 0x211f1f3e,0x211f1f3e - DD 0xdd4b4b96,0xdd4b4b96 - DD 0xdcbdbd61,0xdcbdbd61 - DD 0x868b8b0d,0x868b8b0d - DD 0x858a8a0f,0x858a8a0f - DD 0x907070e0,0x907070e0 - DD 0x423e3e7c,0x423e3e7c - DD 0xc4b5b571,0xc4b5b571 - DD 0xaa6666cc,0xaa6666cc - DD 0xd8484890,0xd8484890 - DD 0x05030306,0x05030306 - DD 0x01f6f6f7,0x01f6f6f7 - DD 0x120e0e1c,0x120e0e1c - DD 0xa36161c2,0xa36161c2 - DD 0x5f35356a,0x5f35356a - DD 0xf95757ae,0xf95757ae - DD 0xd0b9b969,0xd0b9b969 - DD 0x91868617,0x91868617 - DD 0x58c1c199,0x58c1c199 - DD 0x271d1d3a,0x271d1d3a - DD 0xb99e9e27,0xb99e9e27 - DD 0x38e1e1d9,0x38e1e1d9 - DD 0x13f8f8eb,0x13f8f8eb - DD 0xb398982b,0xb398982b - DD 0x33111122,0x33111122 - DD 0xbb6969d2,0xbb6969d2 - DD 0x70d9d9a9,0x70d9d9a9 - DD 0x898e8e07,0x898e8e07 - DD 0xa7949433,0xa7949433 - DD 0xb69b9b2d,0xb69b9b2d - DD 0x221e1e3c,0x221e1e3c - DD 0x92878715,0x92878715 - DD 0x20e9e9c9,0x20e9e9c9 - DD 0x49cece87,0x49cece87 - DD 0xff5555aa,0xff5555aa - DD 0x78282850,0x78282850 - DD 0x7adfdfa5,0x7adfdfa5 - DD 0x8f8c8c03,0x8f8c8c03 - DD 0xf8a1a159,0xf8a1a159 - DD 0x80898909,0x80898909 - DD 0x170d0d1a,0x170d0d1a - DD 0xdabfbf65,0xdabfbf65 - DD 0x31e6e6d7,0x31e6e6d7 - DD 0xc6424284,0xc6424284 - DD 0xb86868d0,0xb86868d0 - DD 0xc3414182,0xc3414182 - DD 0xb0999929,0xb0999929 - DD 0x772d2d5a,0x772d2d5a - DD 0x110f0f1e,0x110f0f1e - DD 0xcbb0b07b,0xcbb0b07b - DD 0xfc5454a8,0xfc5454a8 - DD 0xd6bbbb6d,0xd6bbbb6d - DD 0x3a16162c,0x3a16162c -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 - DD 0x00000001,0x00000002,0x00000004,0x00000008 - DD 0x00000010,0x00000020,0x00000040,0x00000080 - DD 0x0000001b,0x00000036,0x80808080,0x80808080 - DD 0xfefefefe,0xfefefefe,0x1b1b1b1b,0x1b1b1b1b -ALIGN 64 -$L$AES_Td: - DD 0x50a7f451,0x50a7f451 - DD 0x5365417e,0x5365417e - DD 0xc3a4171a,0xc3a4171a - DD 0x965e273a,0x965e273a - DD 0xcb6bab3b,0xcb6bab3b - DD 0xf1459d1f,0xf1459d1f - DD 0xab58faac,0xab58faac - DD 0x9303e34b,0x9303e34b - DD 0x55fa3020,0x55fa3020 - DD 0xf66d76ad,0xf66d76ad - DD 0x9176cc88,0x9176cc88 - DD 0x254c02f5,0x254c02f5 - DD 0xfcd7e54f,0xfcd7e54f - DD 0xd7cb2ac5,0xd7cb2ac5 - DD 0x80443526,0x80443526 - DD 0x8fa362b5,0x8fa362b5 - DD 0x495ab1de,0x495ab1de - DD 0x671bba25,0x671bba25 - DD 0x980eea45,0x980eea45 - DD 0xe1c0fe5d,0xe1c0fe5d - DD 0x02752fc3,0x02752fc3 - DD 0x12f04c81,0x12f04c81 - DD 0xa397468d,0xa397468d - DD 0xc6f9d36b,0xc6f9d36b - DD 0xe75f8f03,0xe75f8f03 - DD 0x959c9215,0x959c9215 - DD 0xeb7a6dbf,0xeb7a6dbf - DD 0xda595295,0xda595295 - DD 0x2d83bed4,0x2d83bed4 - DD 0xd3217458,0xd3217458 - DD 0x2969e049,0x2969e049 - DD 0x44c8c98e,0x44c8c98e - DD 0x6a89c275,0x6a89c275 - DD 0x78798ef4,0x78798ef4 - DD 0x6b3e5899,0x6b3e5899 - DD 0xdd71b927,0xdd71b927 - DD 0xb64fe1be,0xb64fe1be - DD 0x17ad88f0,0x17ad88f0 - DD 0x66ac20c9,0x66ac20c9 - DD 0xb43ace7d,0xb43ace7d - DD 0x184adf63,0x184adf63 - DD 0x82311ae5,0x82311ae5 - DD 0x60335197,0x60335197 - DD 0x457f5362,0x457f5362 - DD 0xe07764b1,0xe07764b1 - DD 0x84ae6bbb,0x84ae6bbb - DD 0x1ca081fe,0x1ca081fe - DD 0x942b08f9,0x942b08f9 - DD 0x58684870,0x58684870 - DD 0x19fd458f,0x19fd458f - DD 0x876cde94,0x876cde94 - DD 0xb7f87b52,0xb7f87b52 - DD 0x23d373ab,0x23d373ab - DD 0xe2024b72,0xe2024b72 - DD 0x578f1fe3,0x578f1fe3 - DD 0x2aab5566,0x2aab5566 - DD 0x0728ebb2,0x0728ebb2 - DD 0x03c2b52f,0x03c2b52f - DD 0x9a7bc586,0x9a7bc586 - DD 0xa50837d3,0xa50837d3 - DD 0xf2872830,0xf2872830 - DD 0xb2a5bf23,0xb2a5bf23 - DD 0xba6a0302,0xba6a0302 - DD 0x5c8216ed,0x5c8216ed - DD 0x2b1ccf8a,0x2b1ccf8a - DD 0x92b479a7,0x92b479a7 - DD 0xf0f207f3,0xf0f207f3 - DD 0xa1e2694e,0xa1e2694e - DD 0xcdf4da65,0xcdf4da65 - DD 0xd5be0506,0xd5be0506 - DD 0x1f6234d1,0x1f6234d1 - DD 0x8afea6c4,0x8afea6c4 - DD 0x9d532e34,0x9d532e34 - DD 0xa055f3a2,0xa055f3a2 - DD 0x32e18a05,0x32e18a05 - DD 0x75ebf6a4,0x75ebf6a4 - DD 0x39ec830b,0x39ec830b - DD 0xaaef6040,0xaaef6040 - DD 0x069f715e,0x069f715e - DD 0x51106ebd,0x51106ebd - DD 0xf98a213e,0xf98a213e - DD 0x3d06dd96,0x3d06dd96 - DD 0xae053edd,0xae053edd - DD 0x46bde64d,0x46bde64d - DD 0xb58d5491,0xb58d5491 - DD 0x055dc471,0x055dc471 - DD 0x6fd40604,0x6fd40604 - DD 0xff155060,0xff155060 - DD 0x24fb9819,0x24fb9819 - DD 0x97e9bdd6,0x97e9bdd6 - DD 0xcc434089,0xcc434089 - DD 0x779ed967,0x779ed967 - DD 0xbd42e8b0,0xbd42e8b0 - DD 0x888b8907,0x888b8907 - DD 0x385b19e7,0x385b19e7 - DD 0xdbeec879,0xdbeec879 - DD 0x470a7ca1,0x470a7ca1 - DD 0xe90f427c,0xe90f427c - DD 0xc91e84f8,0xc91e84f8 - DD 0x00000000,0x00000000 - DD 0x83868009,0x83868009 - DD 0x48ed2b32,0x48ed2b32 - DD 0xac70111e,0xac70111e - DD 0x4e725a6c,0x4e725a6c - DD 0xfbff0efd,0xfbff0efd - DD 0x5638850f,0x5638850f - DD 0x1ed5ae3d,0x1ed5ae3d - DD 0x27392d36,0x27392d36 - DD 0x64d90f0a,0x64d90f0a - DD 0x21a65c68,0x21a65c68 - DD 0xd1545b9b,0xd1545b9b - DD 0x3a2e3624,0x3a2e3624 - DD 0xb1670a0c,0xb1670a0c - DD 0x0fe75793,0x0fe75793 - DD 0xd296eeb4,0xd296eeb4 - DD 0x9e919b1b,0x9e919b1b - DD 0x4fc5c080,0x4fc5c080 - DD 0xa220dc61,0xa220dc61 - DD 0x694b775a,0x694b775a - DD 0x161a121c,0x161a121c - DD 0x0aba93e2,0x0aba93e2 - DD 0xe52aa0c0,0xe52aa0c0 - DD 0x43e0223c,0x43e0223c - DD 0x1d171b12,0x1d171b12 - DD 0x0b0d090e,0x0b0d090e - DD 0xadc78bf2,0xadc78bf2 - DD 0xb9a8b62d,0xb9a8b62d - DD 0xc8a91e14,0xc8a91e14 - DD 0x8519f157,0x8519f157 - DD 0x4c0775af,0x4c0775af - DD 0xbbdd99ee,0xbbdd99ee - DD 0xfd607fa3,0xfd607fa3 - DD 0x9f2601f7,0x9f2601f7 - DD 0xbcf5725c,0xbcf5725c - DD 0xc53b6644,0xc53b6644 - DD 0x347efb5b,0x347efb5b - DD 0x7629438b,0x7629438b - DD 0xdcc623cb,0xdcc623cb - DD 0x68fcedb6,0x68fcedb6 - DD 0x63f1e4b8,0x63f1e4b8 - DD 0xcadc31d7,0xcadc31d7 - DD 0x10856342,0x10856342 - DD 0x40229713,0x40229713 - DD 0x2011c684,0x2011c684 - DD 0x7d244a85,0x7d244a85 - DD 0xf83dbbd2,0xf83dbbd2 - DD 0x1132f9ae,0x1132f9ae - DD 0x6da129c7,0x6da129c7 - DD 0x4b2f9e1d,0x4b2f9e1d - DD 0xf330b2dc,0xf330b2dc - DD 0xec52860d,0xec52860d - DD 0xd0e3c177,0xd0e3c177 - DD 0x6c16b32b,0x6c16b32b - DD 0x99b970a9,0x99b970a9 - DD 0xfa489411,0xfa489411 - DD 0x2264e947,0x2264e947 - DD 0xc48cfca8,0xc48cfca8 - DD 0x1a3ff0a0,0x1a3ff0a0 - DD 0xd82c7d56,0xd82c7d56 - DD 0xef903322,0xef903322 - DD 0xc74e4987,0xc74e4987 - DD 0xc1d138d9,0xc1d138d9 - DD 0xfea2ca8c,0xfea2ca8c - DD 0x360bd498,0x360bd498 - DD 0xcf81f5a6,0xcf81f5a6 - DD 0x28de7aa5,0x28de7aa5 - DD 0x268eb7da,0x268eb7da - DD 0xa4bfad3f,0xa4bfad3f - DD 0xe49d3a2c,0xe49d3a2c - DD 0x0d927850,0x0d927850 - DD 0x9bcc5f6a,0x9bcc5f6a - DD 0x62467e54,0x62467e54 - DD 0xc2138df6,0xc2138df6 - DD 0xe8b8d890,0xe8b8d890 - DD 0x5ef7392e,0x5ef7392e - DD 0xf5afc382,0xf5afc382 - DD 0xbe805d9f,0xbe805d9f - DD 0x7c93d069,0x7c93d069 - DD 0xa92dd56f,0xa92dd56f - DD 0xb31225cf,0xb31225cf - DD 0x3b99acc8,0x3b99acc8 - DD 0xa77d1810,0xa77d1810 - DD 0x6e639ce8,0x6e639ce8 - DD 0x7bbb3bdb,0x7bbb3bdb - DD 0x097826cd,0x097826cd - DD 0xf418596e,0xf418596e - DD 0x01b79aec,0x01b79aec - DD 0xa89a4f83,0xa89a4f83 - DD 0x656e95e6,0x656e95e6 - DD 0x7ee6ffaa,0x7ee6ffaa - DD 0x08cfbc21,0x08cfbc21 - DD 0xe6e815ef,0xe6e815ef - DD 0xd99be7ba,0xd99be7ba - DD 0xce366f4a,0xce366f4a - DD 0xd4099fea,0xd4099fea - DD 0xd67cb029,0xd67cb029 - DD 0xafb2a431,0xafb2a431 - DD 0x31233f2a,0x31233f2a - DD 0x3094a5c6,0x3094a5c6 - DD 0xc066a235,0xc066a235 - DD 0x37bc4e74,0x37bc4e74 - DD 0xa6ca82fc,0xa6ca82fc - DD 0xb0d090e0,0xb0d090e0 - DD 0x15d8a733,0x15d8a733 - DD 0x4a9804f1,0x4a9804f1 - DD 0xf7daec41,0xf7daec41 - DD 0x0e50cd7f,0x0e50cd7f - DD 0x2ff69117,0x2ff69117 - DD 0x8dd64d76,0x8dd64d76 - DD 0x4db0ef43,0x4db0ef43 - DD 0x544daacc,0x544daacc - DD 0xdf0496e4,0xdf0496e4 - DD 0xe3b5d19e,0xe3b5d19e - DD 0x1b886a4c,0x1b886a4c - DD 0xb81f2cc1,0xb81f2cc1 - DD 0x7f516546,0x7f516546 - DD 0x04ea5e9d,0x04ea5e9d - DD 0x5d358c01,0x5d358c01 - DD 0x737487fa,0x737487fa - DD 0x2e410bfb,0x2e410bfb - DD 0x5a1d67b3,0x5a1d67b3 - DD 0x52d2db92,0x52d2db92 - DD 0x335610e9,0x335610e9 - DD 0x1347d66d,0x1347d66d - DD 0x8c61d79a,0x8c61d79a - DD 0x7a0ca137,0x7a0ca137 - DD 0x8e14f859,0x8e14f859 - DD 0x893c13eb,0x893c13eb - DD 0xee27a9ce,0xee27a9ce - DD 0x35c961b7,0x35c961b7 - DD 0xede51ce1,0xede51ce1 - DD 0x3cb1477a,0x3cb1477a - DD 0x59dfd29c,0x59dfd29c - DD 0x3f73f255,0x3f73f255 - DD 0x79ce1418,0x79ce1418 - DD 0xbf37c773,0xbf37c773 - DD 0xeacdf753,0xeacdf753 - DD 0x5baafd5f,0x5baafd5f - DD 0x146f3ddf,0x146f3ddf - DD 0x86db4478,0x86db4478 - DD 0x81f3afca,0x81f3afca - DD 0x3ec468b9,0x3ec468b9 - DD 0x2c342438,0x2c342438 - DD 0x5f40a3c2,0x5f40a3c2 - DD 0x72c31d16,0x72c31d16 - DD 0x0c25e2bc,0x0c25e2bc - DD 0x8b493c28,0x8b493c28 - DD 0x41950dff,0x41950dff - DD 0x7101a839,0x7101a839 - DD 0xdeb30c08,0xdeb30c08 - DD 0x9ce4b4d8,0x9ce4b4d8 - DD 0x90c15664,0x90c15664 - DD 0x6184cb7b,0x6184cb7b - DD 0x70b632d5,0x70b632d5 - DD 0x745c6c48,0x745c6c48 - DD 0x4257b8d0,0x4257b8d0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32 -DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 -DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 -DB 62,0 -ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -block_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_block_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_block_prologue - - mov rax,QWORD[24+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_block_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -key_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_key_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_key_prologue - - lea rax,[56+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_key_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -cbc_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$cbc_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_prologue - - lea r10,[$L$cbc_fast_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - - lea r10,[$L$cbc_slow_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_body - - lea r10,[$L$cbc_slow_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - -$L$in_cbc_body: - mov rax,QWORD[152+r8] - - lea r10,[$L$cbc_epilogue] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - lea rax,[8+rax] - - lea r10,[$L$cbc_popfq] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - mov rax,QWORD[8+rax] - lea rax,[56+rax] - -$L$in_cbc_frame_setup: - mov rbx,QWORD[((-16))+rax] - mov rbp,QWORD[((-24))+rax] - mov r12,QWORD[((-32))+rax] - mov r13,QWORD[((-40))+rax] - mov r14,QWORD[((-48))+rax] - mov r15,QWORD[((-56))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_cbc_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - -$L$common_seh_exit: - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_aes_nohw_encrypt wrt ..imagebase - DD $L$SEH_end_aes_nohw_encrypt wrt ..imagebase - DD $L$SEH_info_aes_nohw_encrypt wrt ..imagebase - - DD $L$SEH_begin_aes_nohw_decrypt wrt ..imagebase - DD $L$SEH_end_aes_nohw_decrypt wrt ..imagebase - DD $L$SEH_info_aes_nohw_decrypt wrt ..imagebase - - DD $L$SEH_begin_aes_nohw_set_encrypt_key wrt ..imagebase - DD $L$SEH_end_aes_nohw_set_encrypt_key wrt ..imagebase - DD $L$SEH_info_aes_nohw_set_encrypt_key wrt ..imagebase - - DD $L$SEH_begin_aes_nohw_set_decrypt_key wrt ..imagebase - DD $L$SEH_end_aes_nohw_set_decrypt_key wrt ..imagebase - DD $L$SEH_info_aes_nohw_set_decrypt_key wrt ..imagebase - - DD $L$SEH_begin_aes_nohw_cbc_encrypt wrt ..imagebase - DD $L$SEH_end_aes_nohw_cbc_encrypt wrt ..imagebase - DD $L$SEH_info_aes_nohw_cbc_encrypt wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_aes_nohw_encrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$enc_prologue wrt ..imagebase,$L$enc_epilogue wrt ..imagebase -$L$SEH_info_aes_nohw_decrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$dec_prologue wrt ..imagebase,$L$dec_epilogue wrt ..imagebase -$L$SEH_info_aes_nohw_set_encrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$enc_key_prologue wrt ..imagebase,$L$enc_key_epilogue wrt ..imagebase -$L$SEH_info_aes_nohw_set_decrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$dec_key_prologue wrt ..imagebase,$L$dec_key_epilogue wrt ..imagebase -$L$SEH_info_aes_nohw_cbc_encrypt: -DB 9,0,0,0 - DD cbc_se_handler wrt ..imagebase diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm index b512516a05d..2b51a26849e 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm @@ -601,11 +601,9 @@ $L$SEH_begin_aesni_gcm_encrypt: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST EXTERN BORINGSSL_function_hit mov BYTE[((BORINGSSL_function_hit+2))],1 -%endif %endif xor r10,r10 diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-x86_64.asm index 874596d7ea4..342c1523eea 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-x86_64.asm @@ -17,11 +17,9 @@ global aes_hw_encrypt ALIGN 16 aes_hw_encrypt: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST EXTERN BORINGSSL_function_hit mov BYTE[((BORINGSSL_function_hit+1))],1 -%endif %endif movups xmm2,XMMWORD[rcx] mov eax,DWORD[240+r8] @@ -920,10 +918,8 @@ $L$SEH_begin_aes_hw_ctr32_encrypt_blocks: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST mov BYTE[BORINGSSL_function_hit],1 -%endif %endif cmp rdx,1 jne NEAR $L$ctr32_bulk @@ -2205,11 +2201,9 @@ ALIGN 16 aes_hw_set_encrypt_key: __aesni_set_encrypt_key: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST mov BYTE[((BORINGSSL_function_hit+3))],1 %endif -%endif DB 0x48,0x83,0xEC,0x08 mov rax,-1 diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/ghash-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/ghash-x86_64.asm index fdf914f2842..194ea8df89b 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/ghash-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/ghash-x86_64.asm @@ -12,717 +12,6 @@ default rel section .text code align=64 EXTERN OPENSSL_ia32cap_P - -global gcm_gmult_4bit - -ALIGN 16 -gcm_gmult_4bit: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_gcm_gmult_4bit: - mov rdi,rcx - mov rsi,rdx - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - sub rsp,280 - -$L$gmult_prologue: - - movzx r8,BYTE[15+rdi] - lea r11,[$L$rem_4bit] - xor rax,rax - xor rbx,rbx - mov al,r8b - mov bl,r8b - shl al,4 - mov rcx,14 - mov r8,QWORD[8+rax*1+rsi] - mov r9,QWORD[rax*1+rsi] - and bl,0xf0 - mov rdx,r8 - jmp NEAR $L$oop1 - -ALIGN 16 -$L$oop1: - shr r8,4 - and rdx,0xf - mov r10,r9 - mov al,BYTE[rcx*1+rdi] - shr r9,4 - xor r8,QWORD[8+rbx*1+rsi] - shl r10,60 - xor r9,QWORD[rbx*1+rsi] - mov bl,al - xor r9,QWORD[rdx*8+r11] - mov rdx,r8 - shl al,4 - xor r8,r10 - dec rcx - js NEAR $L$break1 - - shr r8,4 - and rdx,0xf - mov r10,r9 - shr r9,4 - xor r8,QWORD[8+rax*1+rsi] - shl r10,60 - xor r9,QWORD[rax*1+rsi] - and bl,0xf0 - xor r9,QWORD[rdx*8+r11] - mov rdx,r8 - xor r8,r10 - jmp NEAR $L$oop1 - -ALIGN 16 -$L$break1: - shr r8,4 - and rdx,0xf - mov r10,r9 - shr r9,4 - xor r8,QWORD[8+rax*1+rsi] - shl r10,60 - xor r9,QWORD[rax*1+rsi] - and bl,0xf0 - xor r9,QWORD[rdx*8+r11] - mov rdx,r8 - xor r8,r10 - - shr r8,4 - and rdx,0xf - mov r10,r9 - shr r9,4 - xor r8,QWORD[8+rbx*1+rsi] - shl r10,60 - xor r9,QWORD[rbx*1+rsi] - xor r8,r10 - xor r9,QWORD[rdx*8+r11] - - bswap r8 - bswap r9 - mov QWORD[8+rdi],r8 - mov QWORD[rdi],r9 - - lea rsi,[((280+48))+rsp] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$gmult_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_gcm_gmult_4bit: -global gcm_ghash_4bit - -ALIGN 16 -gcm_ghash_4bit: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_gcm_ghash_4bit: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - sub rsp,280 - -$L$ghash_prologue: - mov r14,rdx - mov r15,rcx - sub rsi,-128 - lea rbp,[((16+128))+rsp] - xor edx,edx - mov r8,QWORD[((0+0-128))+rsi] - mov rax,QWORD[((0+8-128))+rsi] - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov r9,QWORD[((16+0-128))+rsi] - shl dl,4 - mov rbx,QWORD[((16+8-128))+rsi] - shl r10,60 - mov BYTE[rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[rbp],r8 - mov r8,QWORD[((32+0-128))+rsi] - shl dl,4 - mov QWORD[((0-128))+rbp],rax - mov rax,QWORD[((32+8-128))+rsi] - shl r10,60 - mov BYTE[1+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[8+rbp],r9 - mov r9,QWORD[((48+0-128))+rsi] - shl dl,4 - mov QWORD[((8-128))+rbp],rbx - mov rbx,QWORD[((48+8-128))+rsi] - shl r10,60 - mov BYTE[2+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[16+rbp],r8 - mov r8,QWORD[((64+0-128))+rsi] - shl dl,4 - mov QWORD[((16-128))+rbp],rax - mov rax,QWORD[((64+8-128))+rsi] - shl r10,60 - mov BYTE[3+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[24+rbp],r9 - mov r9,QWORD[((80+0-128))+rsi] - shl dl,4 - mov QWORD[((24-128))+rbp],rbx - mov rbx,QWORD[((80+8-128))+rsi] - shl r10,60 - mov BYTE[4+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[32+rbp],r8 - mov r8,QWORD[((96+0-128))+rsi] - shl dl,4 - mov QWORD[((32-128))+rbp],rax - mov rax,QWORD[((96+8-128))+rsi] - shl r10,60 - mov BYTE[5+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[40+rbp],r9 - mov r9,QWORD[((112+0-128))+rsi] - shl dl,4 - mov QWORD[((40-128))+rbp],rbx - mov rbx,QWORD[((112+8-128))+rsi] - shl r10,60 - mov BYTE[6+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[48+rbp],r8 - mov r8,QWORD[((128+0-128))+rsi] - shl dl,4 - mov QWORD[((48-128))+rbp],rax - mov rax,QWORD[((128+8-128))+rsi] - shl r10,60 - mov BYTE[7+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[56+rbp],r9 - mov r9,QWORD[((144+0-128))+rsi] - shl dl,4 - mov QWORD[((56-128))+rbp],rbx - mov rbx,QWORD[((144+8-128))+rsi] - shl r10,60 - mov BYTE[8+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[64+rbp],r8 - mov r8,QWORD[((160+0-128))+rsi] - shl dl,4 - mov QWORD[((64-128))+rbp],rax - mov rax,QWORD[((160+8-128))+rsi] - shl r10,60 - mov BYTE[9+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[72+rbp],r9 - mov r9,QWORD[((176+0-128))+rsi] - shl dl,4 - mov QWORD[((72-128))+rbp],rbx - mov rbx,QWORD[((176+8-128))+rsi] - shl r10,60 - mov BYTE[10+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[80+rbp],r8 - mov r8,QWORD[((192+0-128))+rsi] - shl dl,4 - mov QWORD[((80-128))+rbp],rax - mov rax,QWORD[((192+8-128))+rsi] - shl r10,60 - mov BYTE[11+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[88+rbp],r9 - mov r9,QWORD[((208+0-128))+rsi] - shl dl,4 - mov QWORD[((88-128))+rbp],rbx - mov rbx,QWORD[((208+8-128))+rsi] - shl r10,60 - mov BYTE[12+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[96+rbp],r8 - mov r8,QWORD[((224+0-128))+rsi] - shl dl,4 - mov QWORD[((96-128))+rbp],rax - mov rax,QWORD[((224+8-128))+rsi] - shl r10,60 - mov BYTE[13+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[104+rbp],r9 - mov r9,QWORD[((240+0-128))+rsi] - shl dl,4 - mov QWORD[((104-128))+rbp],rbx - mov rbx,QWORD[((240+8-128))+rsi] - shl r10,60 - mov BYTE[14+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[112+rbp],r8 - shl dl,4 - mov QWORD[((112-128))+rbp],rax - shl r10,60 - mov BYTE[15+rsp],dl - or rbx,r10 - mov QWORD[120+rbp],r9 - mov QWORD[((120-128))+rbp],rbx - add rsi,-128 - mov r8,QWORD[8+rdi] - mov r9,QWORD[rdi] - add r15,r14 - lea r11,[$L$rem_8bit] - jmp NEAR $L$outer_loop -ALIGN 16 -$L$outer_loop: - xor r9,QWORD[r14] - mov rdx,QWORD[8+r14] - lea r14,[16+r14] - xor rdx,r8 - mov QWORD[rdi],r9 - mov QWORD[8+rdi],rdx - shr rdx,32 - xor rax,rax - rol edx,8 - mov al,dl - movzx ebx,dl - shl al,4 - shr ebx,4 - rol edx,8 - mov r8,QWORD[8+rax*1+rsi] - mov r9,QWORD[rax*1+rsi] - mov al,dl - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - xor r12,r8 - mov r10,r9 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[8+rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[4+rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - and ecx,240 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[((-4))+rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - movzx r12,WORD[r12*2+r11] - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - shl r12,48 - xor r8,r10 - xor r9,r12 - movzx r13,r8b - shr r8,4 - mov r10,r9 - shl r13b,4 - shr r9,4 - xor r8,QWORD[8+rcx*1+rsi] - movzx r13,WORD[r13*2+r11] - shl r10,60 - xor r9,QWORD[rcx*1+rsi] - xor r8,r10 - shl r13,48 - bswap r8 - xor r9,r13 - bswap r9 - cmp r14,r15 - jb NEAR $L$outer_loop - mov QWORD[8+rdi],r8 - mov QWORD[rdi],r9 - - lea rsi,[((280+48))+rsp] - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$ghash_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_gcm_ghash_4bit: global gcm_init_clmul ALIGN 16 @@ -1888,153 +1177,15 @@ $L$0x1c2_polynomial: DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 $L$7_mask: DD 7,0,7,0 -$L$7_mask_poly: - DD 7,0,450,0 ALIGN 64 -$L$rem_4bit: - DD 0,0,0,471859200,0,943718400,0,610271232 - DD 0,1887436800,0,1822425088,0,1220542464,0,1423966208 - DD 0,3774873600,0,4246732800,0,3644850176,0,3311403008 - DD 0,2441084928,0,2376073216,0,2847932416,0,3051356160 - -$L$rem_8bit: - DW 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E - DW 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E - DW 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E - DW 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E - DW 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E - DW 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E - DW 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E - DW 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E - DW 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE - DW 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE - DW 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE - DW 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE - DW 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E - DW 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E - DW 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE - DW 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE - DW 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E - DW 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E - DW 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E - DW 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E - DW 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E - DW 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E - DW 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E - DW 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E - DW 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE - DW 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE - DW 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE - DW 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE - DW 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E - DW 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E - DW 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE - DW 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE - DB 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52 DB 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32 DB 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111 DB 114,103,62,0 ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - lea rax,[((48+280))+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - section .pdata rdata align=4 ALIGN 4 - DD $L$SEH_begin_gcm_gmult_4bit wrt ..imagebase - DD $L$SEH_end_gcm_gmult_4bit wrt ..imagebase - DD $L$SEH_info_gcm_gmult_4bit wrt ..imagebase - - DD $L$SEH_begin_gcm_ghash_4bit wrt ..imagebase - DD $L$SEH_end_gcm_ghash_4bit wrt ..imagebase - DD $L$SEH_info_gcm_ghash_4bit wrt ..imagebase - DD $L$SEH_begin_gcm_init_clmul wrt ..imagebase DD $L$SEH_end_gcm_init_clmul wrt ..imagebase DD $L$SEH_info_gcm_init_clmul wrt ..imagebase @@ -2051,14 +1202,6 @@ ALIGN 4 DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase section .xdata rdata align=8 ALIGN 8 -$L$SEH_info_gcm_gmult_4bit: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$gmult_prologue wrt ..imagebase,$L$gmult_epilogue wrt ..imagebase -$L$SEH_info_gcm_ghash_4bit: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$ghash_prologue wrt ..imagebase,$L$ghash_epilogue wrt ..imagebase $L$SEH_info_gcm_init_clmul: DB 0x01,0x08,0x03,0x00 DB 0x08,0x68,0x00,0x00 diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm index 62dcc62c255..1654df1d369 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm @@ -33,6 +33,11 @@ $L$SEH_begin_sha1_block_data_order: mov r10d,DWORD[8+r10] test r8d,512 jz NEAR $L$ialu + test r10d,536870912 + jnz NEAR _shaext_shortcut + and r10d,296 + cmp r10d,296 + je NEAR _avx2_shortcut and r8d,268435456 and r9d,1073741824 or r8d,r9d @@ -1275,6 +1280,198 @@ $L$epilogue: $L$SEH_end_sha1_block_data_order: +ALIGN 32 +sha1_block_data_order_shaext: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order_shaext: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_shaext_shortcut: + + lea rsp,[((-72))+rsp] + movaps XMMWORD[(-8-64)+rax],xmm6 + movaps XMMWORD[(-8-48)+rax],xmm7 + movaps XMMWORD[(-8-32)+rax],xmm8 + movaps XMMWORD[(-8-16)+rax],xmm9 +$L$prologue_shaext: + movdqu xmm0,XMMWORD[rdi] + movd xmm1,DWORD[16+rdi] + movdqa xmm3,XMMWORD[((K_XX_XX+160))] + + movdqu xmm4,XMMWORD[rsi] + pshufd xmm0,xmm0,27 + movdqu xmm5,XMMWORD[16+rsi] + pshufd xmm1,xmm1,27 + movdqu xmm6,XMMWORD[32+rsi] +DB 102,15,56,0,227 + movdqu xmm7,XMMWORD[48+rsi] +DB 102,15,56,0,235 +DB 102,15,56,0,243 + movdqa xmm9,xmm1 +DB 102,15,56,0,251 + jmp NEAR $L$oop_shaext + +ALIGN 16 +$L$oop_shaext: + dec rdx + lea r8,[64+rsi] + paddd xmm1,xmm4 + cmovne rsi,r8 + movdqa xmm8,xmm0 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,0 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,0 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,0 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,0 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,0 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,1 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,1 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,1 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,1 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,1 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,2 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,2 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,2 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,2 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,2 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,3 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 + movdqu xmm4,XMMWORD[rsi] + movdqa xmm2,xmm0 +DB 15,58,204,193,3 +DB 15,56,200,213 + movdqu xmm5,XMMWORD[16+rsi] +DB 102,15,56,0,227 + + movdqa xmm1,xmm0 +DB 15,58,204,194,3 +DB 15,56,200,206 + movdqu xmm6,XMMWORD[32+rsi] +DB 102,15,56,0,235 + + movdqa xmm2,xmm0 +DB 15,58,204,193,3 +DB 15,56,200,215 + movdqu xmm7,XMMWORD[48+rsi] +DB 102,15,56,0,243 + + movdqa xmm1,xmm0 +DB 15,58,204,194,3 +DB 65,15,56,200,201 +DB 102,15,56,0,251 + + paddd xmm0,xmm8 + movdqa xmm9,xmm1 + + jnz NEAR $L$oop_shaext + + pshufd xmm0,xmm0,27 + pshufd xmm1,xmm1,27 + movdqu XMMWORD[rdi],xmm0 + movd DWORD[16+rdi],xmm1 + movaps xmm6,XMMWORD[((-8-64))+rax] + movaps xmm7,XMMWORD[((-8-48))+rax] + movaps xmm8,XMMWORD[((-8-32))+rax] + movaps xmm9,XMMWORD[((-8-16))+rax] + mov rsp,rax +$L$epilogue_shaext: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret + +$L$SEH_end_sha1_block_data_order_shaext: + ALIGN 16 sha1_block_data_order_ssse3: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -3638,6 +3835,1724 @@ $L$epilogue_avx: DB 0F3h,0C3h ;repret $L$SEH_end_sha1_block_data_order_avx: + +ALIGN 16 +sha1_block_data_order_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx2_shortcut: + + mov r11,rsp + + push rbx + + push rbp + + push r12 + + push r13 + + push r14 + + vzeroupper + lea rsp,[((-96))+rsp] + vmovaps XMMWORD[(-40-96)+r11],xmm6 + vmovaps XMMWORD[(-40-80)+r11],xmm7 + vmovaps XMMWORD[(-40-64)+r11],xmm8 + vmovaps XMMWORD[(-40-48)+r11],xmm9 + vmovaps XMMWORD[(-40-32)+r11],xmm10 + vmovaps XMMWORD[(-40-16)+r11],xmm11 +$L$prologue_avx2: + mov r8,rdi + mov r9,rsi + mov r10,rdx + + lea rsp,[((-640))+rsp] + shl r10,6 + lea r13,[64+r9] + and rsp,-128 + add r10,r9 + lea r14,[((K_XX_XX+64))] + + mov eax,DWORD[r8] + cmp r13,r10 + cmovae r13,r9 + mov ebp,DWORD[4+r8] + mov ecx,DWORD[8+r8] + mov edx,DWORD[12+r8] + mov esi,DWORD[16+r8] + vmovdqu ymm6,YMMWORD[64+r14] + + vmovdqu xmm0,XMMWORD[r9] + vmovdqu xmm1,XMMWORD[16+r9] + vmovdqu xmm2,XMMWORD[32+r9] + vmovdqu xmm3,XMMWORD[48+r9] + lea r9,[64+r9] + vinserti128 ymm0,ymm0,XMMWORD[r13],1 + vinserti128 ymm1,ymm1,XMMWORD[16+r13],1 + vpshufb ymm0,ymm0,ymm6 + vinserti128 ymm2,ymm2,XMMWORD[32+r13],1 + vpshufb ymm1,ymm1,ymm6 + vinserti128 ymm3,ymm3,XMMWORD[48+r13],1 + vpshufb ymm2,ymm2,ymm6 + vmovdqu ymm11,YMMWORD[((-64))+r14] + vpshufb ymm3,ymm3,ymm6 + + vpaddd ymm4,ymm0,ymm11 + vpaddd ymm5,ymm1,ymm11 + vmovdqu YMMWORD[rsp],ymm4 + vpaddd ymm6,ymm2,ymm11 + vmovdqu YMMWORD[32+rsp],ymm5 + vpaddd ymm7,ymm3,ymm11 + vmovdqu YMMWORD[64+rsp],ymm6 + vmovdqu YMMWORD[96+rsp],ymm7 + vpalignr ymm4,ymm1,ymm0,8 + vpsrldq ymm8,ymm3,4 + vpxor ymm4,ymm4,ymm0 + vpxor ymm8,ymm8,ymm2 + vpxor ymm4,ymm4,ymm8 + vpsrld ymm8,ymm4,31 + vpslldq ymm10,ymm4,12 + vpaddd ymm4,ymm4,ymm4 + vpsrld ymm9,ymm10,30 + vpor ymm4,ymm4,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm4,ymm4,ymm9 + vpxor ymm4,ymm4,ymm10 + vpaddd ymm9,ymm4,ymm11 + vmovdqu YMMWORD[128+rsp],ymm9 + vpalignr ymm5,ymm2,ymm1,8 + vpsrldq ymm8,ymm4,4 + vpxor ymm5,ymm5,ymm1 + vpxor ymm8,ymm8,ymm3 + vpxor ymm5,ymm5,ymm8 + vpsrld ymm8,ymm5,31 + vmovdqu ymm11,YMMWORD[((-32))+r14] + vpslldq ymm10,ymm5,12 + vpaddd ymm5,ymm5,ymm5 + vpsrld ymm9,ymm10,30 + vpor ymm5,ymm5,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm5,ymm5,ymm9 + vpxor ymm5,ymm5,ymm10 + vpaddd ymm9,ymm5,ymm11 + vmovdqu YMMWORD[160+rsp],ymm9 + vpalignr ymm6,ymm3,ymm2,8 + vpsrldq ymm8,ymm5,4 + vpxor ymm6,ymm6,ymm2 + vpxor ymm8,ymm8,ymm4 + vpxor ymm6,ymm6,ymm8 + vpsrld ymm8,ymm6,31 + vpslldq ymm10,ymm6,12 + vpaddd ymm6,ymm6,ymm6 + vpsrld ymm9,ymm10,30 + vpor ymm6,ymm6,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm6,ymm6,ymm9 + vpxor ymm6,ymm6,ymm10 + vpaddd ymm9,ymm6,ymm11 + vmovdqu YMMWORD[192+rsp],ymm9 + vpalignr ymm7,ymm4,ymm3,8 + vpsrldq ymm8,ymm6,4 + vpxor ymm7,ymm7,ymm3 + vpxor ymm8,ymm8,ymm5 + vpxor ymm7,ymm7,ymm8 + vpsrld ymm8,ymm7,31 + vpslldq ymm10,ymm7,12 + vpaddd ymm7,ymm7,ymm7 + vpsrld ymm9,ymm10,30 + vpor ymm7,ymm7,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm7,ymm7,ymm9 + vpxor ymm7,ymm7,ymm10 + vpaddd ymm9,ymm7,ymm11 + vmovdqu YMMWORD[224+rsp],ymm9 + lea r13,[128+rsp] + jmp NEAR $L$oop_avx2 +ALIGN 32 +$L$oop_avx2: + rorx ebx,ebp,2 + andn edi,ebp,edx + and ebp,ecx + xor ebp,edi + jmp NEAR $L$align32_1 +ALIGN 32 +$L$align32_1: + vpalignr ymm8,ymm7,ymm6,8 + vpxor ymm0,ymm0,ymm4 + add esi,DWORD[((-128))+r13] + andn edi,eax,ecx + vpxor ymm0,ymm0,ymm1 + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + vpxor ymm0,ymm0,ymm8 + and eax,ebx + add esi,r12d + xor eax,edi + vpsrld ymm8,ymm0,30 + vpslld ymm0,ymm0,2 + add edx,DWORD[((-124))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + vpor ymm0,ymm0,ymm8 + add edx,r12d + xor esi,edi + add ecx,DWORD[((-120))+r13] + andn edi,edx,ebp + vpaddd ymm9,ymm0,ymm11 + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + vmovdqu YMMWORD[256+rsp],ymm9 + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-116))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[((-96))+r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + vpalignr ymm8,ymm0,ymm7,8 + vpxor ymm1,ymm1,ymm5 + add eax,DWORD[((-92))+r13] + andn edi,ebp,edx + vpxor ymm1,ymm1,ymm2 + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + vpxor ymm1,ymm1,ymm8 + and ebp,ecx + add eax,r12d + xor ebp,edi + vpsrld ymm8,ymm1,30 + vpslld ymm1,ymm1,2 + add esi,DWORD[((-88))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + vpor ymm1,ymm1,ymm8 + add esi,r12d + xor eax,edi + add edx,DWORD[((-84))+r13] + andn edi,esi,ebx + vpaddd ymm9,ymm1,ymm11 + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + vmovdqu YMMWORD[288+rsp],ymm9 + add edx,r12d + xor esi,edi + add ecx,DWORD[((-64))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-60))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + vpalignr ymm8,ymm1,ymm0,8 + vpxor ymm2,ymm2,ymm6 + add ebp,DWORD[((-56))+r13] + andn edi,ebx,esi + vpxor ymm2,ymm2,ymm3 + vmovdqu ymm11,YMMWORD[r14] + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + vpxor ymm2,ymm2,ymm8 + and ebx,edx + add ebp,r12d + xor ebx,edi + vpsrld ymm8,ymm2,30 + vpslld ymm2,ymm2,2 + add eax,DWORD[((-52))+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + vpor ymm2,ymm2,ymm8 + add eax,r12d + xor ebp,edi + add esi,DWORD[((-32))+r13] + andn edi,eax,ecx + vpaddd ymm9,ymm2,ymm11 + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + vmovdqu YMMWORD[320+rsp],ymm9 + add esi,r12d + xor eax,edi + add edx,DWORD[((-28))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-24))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + vpalignr ymm8,ymm2,ymm1,8 + vpxor ymm3,ymm3,ymm7 + add ebx,DWORD[((-20))+r13] + andn edi,ecx,eax + vpxor ymm3,ymm3,ymm4 + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + vpxor ymm3,ymm3,ymm8 + and ecx,esi + add ebx,r12d + xor ecx,edi + vpsrld ymm8,ymm3,30 + vpslld ymm3,ymm3,2 + add ebp,DWORD[r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + vpor ymm3,ymm3,ymm8 + add ebp,r12d + xor ebx,edi + add eax,DWORD[4+r13] + andn edi,ebp,edx + vpaddd ymm9,ymm3,ymm11 + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + vmovdqu YMMWORD[352+rsp],ymm9 + add eax,r12d + xor ebp,edi + add esi,DWORD[8+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[12+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + vpalignr ymm8,ymm3,ymm2,8 + vpxor ymm4,ymm4,ymm0 + add ecx,DWORD[32+r13] + lea ecx,[rsi*1+rcx] + vpxor ymm4,ymm4,ymm5 + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + vpxor ymm4,ymm4,ymm8 + add ecx,r12d + xor edx,ebp + add ebx,DWORD[36+r13] + vpsrld ymm8,ymm4,30 + vpslld ymm4,ymm4,2 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + vpor ymm4,ymm4,ymm8 + add ebp,DWORD[40+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + vpaddd ymm9,ymm4,ymm11 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[44+r13] + vmovdqu YMMWORD[384+rsp],ymm9 + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[64+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + vpalignr ymm8,ymm4,ymm3,8 + vpxor ymm5,ymm5,ymm1 + add edx,DWORD[68+r13] + lea edx,[rax*1+rdx] + vpxor ymm5,ymm5,ymm6 + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + vpxor ymm5,ymm5,ymm8 + add edx,r12d + xor esi,ebx + add ecx,DWORD[72+r13] + vpsrld ymm8,ymm5,30 + vpslld ymm5,ymm5,2 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + vpor ymm5,ymm5,ymm8 + add ebx,DWORD[76+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + vpaddd ymm9,ymm5,ymm11 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[96+r13] + vmovdqu YMMWORD[416+rsp],ymm9 + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[100+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpalignr ymm8,ymm5,ymm4,8 + vpxor ymm6,ymm6,ymm2 + add esi,DWORD[104+r13] + lea esi,[rbp*1+rsi] + vpxor ymm6,ymm6,ymm7 + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + vpxor ymm6,ymm6,ymm8 + add esi,r12d + xor eax,ecx + add edx,DWORD[108+r13] + lea r13,[256+r13] + vpsrld ymm8,ymm6,30 + vpslld ymm6,ymm6,2 + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + vpor ymm6,ymm6,ymm8 + add ecx,DWORD[((-128))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + vpaddd ymm9,ymm6,ymm11 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-124))+r13] + vmovdqu YMMWORD[448+rsp],ymm9 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-120))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vpalignr ymm8,ymm6,ymm5,8 + vpxor ymm7,ymm7,ymm3 + add eax,DWORD[((-116))+r13] + lea eax,[rbx*1+rax] + vpxor ymm7,ymm7,ymm0 + vmovdqu ymm11,YMMWORD[32+r14] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + vpxor ymm7,ymm7,ymm8 + add eax,r12d + xor ebp,edx + add esi,DWORD[((-96))+r13] + vpsrld ymm8,ymm7,30 + vpslld ymm7,ymm7,2 + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + vpor ymm7,ymm7,ymm8 + add edx,DWORD[((-92))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + vpaddd ymm9,ymm7,ymm11 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-88))+r13] + vmovdqu YMMWORD[480+rsp],ymm9 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-84))+r13] + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + jmp NEAR $L$align32_2 +ALIGN 32 +$L$align32_2: + vpalignr ymm8,ymm7,ymm6,8 + vpxor ymm0,ymm0,ymm4 + add ebp,DWORD[((-64))+r13] + xor ecx,esi + vpxor ymm0,ymm0,ymm1 + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + vpxor ymm0,ymm0,ymm8 + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + vpsrld ymm8,ymm0,30 + vpslld ymm0,ymm0,2 + add ebp,r12d + and ebx,edi + add eax,DWORD[((-60))+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + vpor ymm0,ymm0,ymm8 + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + vpaddd ymm9,ymm0,ymm11 + add eax,r12d + and ebp,edi + add esi,DWORD[((-56))+r13] + xor ebp,ecx + vmovdqu YMMWORD[512+rsp],ymm9 + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[((-52))+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + add ecx,DWORD[((-32))+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + and edx,edi + vpalignr ymm8,ymm0,ymm7,8 + vpxor ymm1,ymm1,ymm5 + add ebx,DWORD[((-28))+r13] + xor edx,eax + vpxor ymm1,ymm1,ymm2 + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + vpxor ymm1,ymm1,ymm8 + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + vpsrld ymm8,ymm1,30 + vpslld ymm1,ymm1,2 + add ebx,r12d + and ecx,edi + add ebp,DWORD[((-24))+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + vpor ymm1,ymm1,ymm8 + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + vpaddd ymm9,ymm1,ymm11 + add ebp,r12d + and ebx,edi + add eax,DWORD[((-20))+r13] + xor ebx,edx + vmovdqu YMMWORD[544+rsp],ymm9 + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[4+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + vpalignr ymm8,ymm1,ymm0,8 + vpxor ymm2,ymm2,ymm6 + add ecx,DWORD[8+r13] + xor esi,ebp + vpxor ymm2,ymm2,ymm3 + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + vpxor ymm2,ymm2,ymm8 + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + vpsrld ymm8,ymm2,30 + vpslld ymm2,ymm2,2 + add ecx,r12d + and edx,edi + add ebx,DWORD[12+r13] + xor edx,eax + mov edi,esi + xor edi,eax + vpor ymm2,ymm2,ymm8 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + vpaddd ymm9,ymm2,ymm11 + add ebx,r12d + and ecx,edi + add ebp,DWORD[32+r13] + xor ecx,esi + vmovdqu YMMWORD[576+rsp],ymm9 + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[36+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[40+r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + vpalignr ymm8,ymm2,ymm1,8 + vpxor ymm3,ymm3,ymm7 + add edx,DWORD[44+r13] + xor eax,ebx + vpxor ymm3,ymm3,ymm4 + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + vpxor ymm3,ymm3,ymm8 + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + vpsrld ymm8,ymm3,30 + vpslld ymm3,ymm3,2 + add edx,r12d + and esi,edi + add ecx,DWORD[64+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + vpor ymm3,ymm3,ymm8 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + vpaddd ymm9,ymm3,ymm11 + add ecx,r12d + and edx,edi + add ebx,DWORD[68+r13] + xor edx,eax + vmovdqu YMMWORD[608+rsp],ymm9 + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + add ebp,DWORD[72+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[76+r13] + xor ebx,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[96+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[100+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[104+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[108+r13] + lea r13,[256+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-128))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-124))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-120))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-116))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-96))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-92))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-88))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-84))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-64))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-60))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-56))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-52))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-32))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-28))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-24))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-20))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + add edx,r12d + lea r13,[128+r9] + lea rdi,[128+r9] + cmp r13,r10 + cmovae r13,r9 + + + add edx,DWORD[r8] + add esi,DWORD[4+r8] + add ebp,DWORD[8+r8] + mov DWORD[r8],edx + add ebx,DWORD[12+r8] + mov DWORD[4+r8],esi + mov eax,edx + add ecx,DWORD[16+r8] + mov r12d,ebp + mov DWORD[8+r8],ebp + mov edx,ebx + + mov DWORD[12+r8],ebx + mov ebp,esi + mov DWORD[16+r8],ecx + + mov esi,ecx + mov ecx,r12d + + + cmp r9,r10 + je NEAR $L$done_avx2 + vmovdqu ymm6,YMMWORD[64+r14] + cmp rdi,r10 + ja NEAR $L$ast_avx2 + + vmovdqu xmm0,XMMWORD[((-64))+rdi] + vmovdqu xmm1,XMMWORD[((-48))+rdi] + vmovdqu xmm2,XMMWORD[((-32))+rdi] + vmovdqu xmm3,XMMWORD[((-16))+rdi] + vinserti128 ymm0,ymm0,XMMWORD[r13],1 + vinserti128 ymm1,ymm1,XMMWORD[16+r13],1 + vinserti128 ymm2,ymm2,XMMWORD[32+r13],1 + vinserti128 ymm3,ymm3,XMMWORD[48+r13],1 + jmp NEAR $L$ast_avx2 + +ALIGN 32 +$L$ast_avx2: + lea r13,[((128+16))+rsp] + rorx ebx,ebp,2 + andn edi,ebp,edx + and ebp,ecx + xor ebp,edi + sub r9,-128 + add esi,DWORD[((-128))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[((-124))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-120))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-116))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[((-96))+r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + add eax,DWORD[((-92))+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + add eax,r12d + xor ebp,edi + add esi,DWORD[((-88))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[((-84))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-64))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-60))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[((-56))+r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + add eax,DWORD[((-52))+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + add eax,r12d + xor ebp,edi + add esi,DWORD[((-32))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[((-28))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-24))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-20))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + add eax,DWORD[4+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + add eax,r12d + xor ebp,edi + add esi,DWORD[8+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[12+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[32+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[36+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[40+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[44+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[64+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + vmovdqu ymm11,YMMWORD[((-64))+r14] + vpshufb ymm0,ymm0,ymm6 + add edx,DWORD[68+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[72+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[76+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[96+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[100+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpshufb ymm1,ymm1,ymm6 + vpaddd ymm8,ymm0,ymm11 + add esi,DWORD[104+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[108+r13] + lea r13,[256+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-128))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-124))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-120))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vmovdqu YMMWORD[rsp],ymm8 + vpshufb ymm2,ymm2,ymm6 + vpaddd ymm9,ymm1,ymm11 + add eax,DWORD[((-116))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-96))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-92))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-88))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-84))+r13] + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + vmovdqu YMMWORD[32+rsp],ymm9 + vpshufb ymm3,ymm3,ymm6 + vpaddd ymm6,ymm2,ymm11 + add ebp,DWORD[((-64))+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[((-60))+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[((-56))+r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[((-52))+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + add ecx,DWORD[((-32))+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + and edx,edi + jmp NEAR $L$align32_3 +ALIGN 32 +$L$align32_3: + vmovdqu YMMWORD[64+rsp],ymm6 + vpaddd ymm7,ymm3,ymm11 + add ebx,DWORD[((-28))+r13] + xor edx,eax + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + add ebp,DWORD[((-24))+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[((-20))+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[4+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + vmovdqu YMMWORD[96+rsp],ymm7 + add ecx,DWORD[8+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + and edx,edi + add ebx,DWORD[12+r13] + xor edx,eax + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + add ebp,DWORD[32+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[36+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[40+r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + vpalignr ymm4,ymm1,ymm0,8 + add edx,DWORD[44+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + vpsrldq ymm8,ymm3,4 + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + vpxor ymm4,ymm4,ymm0 + vpxor ymm8,ymm8,ymm2 + xor esi,ebp + add edx,r12d + vpxor ymm4,ymm4,ymm8 + and esi,edi + add ecx,DWORD[64+r13] + xor esi,ebp + mov edi,eax + vpsrld ymm8,ymm4,31 + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + vpslldq ymm10,ymm4,12 + vpaddd ymm4,ymm4,ymm4 + rorx esi,edx,2 + xor edx,eax + vpsrld ymm9,ymm10,30 + vpor ymm4,ymm4,ymm8 + add ecx,r12d + and edx,edi + vpslld ymm10,ymm10,2 + vpxor ymm4,ymm4,ymm9 + add ebx,DWORD[68+r13] + xor edx,eax + vpxor ymm4,ymm4,ymm10 + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + vpaddd ymm9,ymm4,ymm11 + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + vmovdqu YMMWORD[128+rsp],ymm9 + add ebx,r12d + and ecx,edi + add ebp,DWORD[72+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[76+r13] + xor ebx,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpalignr ymm5,ymm2,ymm1,8 + add esi,DWORD[96+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + vpsrldq ymm8,ymm4,4 + xor eax,ebx + add esi,r12d + xor eax,ecx + vpxor ymm5,ymm5,ymm1 + vpxor ymm8,ymm8,ymm3 + add edx,DWORD[100+r13] + lea edx,[rax*1+rdx] + vpxor ymm5,ymm5,ymm8 + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + vpsrld ymm8,ymm5,31 + vmovdqu ymm11,YMMWORD[((-32))+r14] + xor esi,ebx + add ecx,DWORD[104+r13] + lea ecx,[rsi*1+rcx] + vpslldq ymm10,ymm5,12 + vpaddd ymm5,ymm5,ymm5 + rorx r12d,edx,27 + rorx esi,edx,2 + vpsrld ymm9,ymm10,30 + vpor ymm5,ymm5,ymm8 + xor edx,eax + add ecx,r12d + vpslld ymm10,ymm10,2 + vpxor ymm5,ymm5,ymm9 + xor edx,ebp + add ebx,DWORD[108+r13] + lea r13,[256+r13] + vpxor ymm5,ymm5,ymm10 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + vpaddd ymm9,ymm5,ymm11 + xor ecx,esi + add ebx,r12d + xor ecx,eax + vmovdqu YMMWORD[160+rsp],ymm9 + add ebp,DWORD[((-128))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vpalignr ymm6,ymm3,ymm2,8 + add eax,DWORD[((-124))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + vpsrldq ymm8,ymm5,4 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpxor ymm6,ymm6,ymm2 + vpxor ymm8,ymm8,ymm4 + add esi,DWORD[((-120))+r13] + lea esi,[rbp*1+rsi] + vpxor ymm6,ymm6,ymm8 + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + vpsrld ymm8,ymm6,31 + xor eax,ecx + add edx,DWORD[((-116))+r13] + lea edx,[rax*1+rdx] + vpslldq ymm10,ymm6,12 + vpaddd ymm6,ymm6,ymm6 + rorx r12d,esi,27 + rorx eax,esi,2 + vpsrld ymm9,ymm10,30 + vpor ymm6,ymm6,ymm8 + xor esi,ebp + add edx,r12d + vpslld ymm10,ymm10,2 + vpxor ymm6,ymm6,ymm9 + xor esi,ebx + add ecx,DWORD[((-96))+r13] + vpxor ymm6,ymm6,ymm10 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + vpaddd ymm9,ymm6,ymm11 + xor edx,eax + add ecx,r12d + xor edx,ebp + vmovdqu YMMWORD[192+rsp],ymm9 + add ebx,DWORD[((-92))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + vpalignr ymm7,ymm4,ymm3,8 + add ebp,DWORD[((-88))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + vpsrldq ymm8,ymm6,4 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vpxor ymm7,ymm7,ymm3 + vpxor ymm8,ymm8,ymm5 + add eax,DWORD[((-84))+r13] + lea eax,[rbx*1+rax] + vpxor ymm7,ymm7,ymm8 + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + vpsrld ymm8,ymm7,31 + xor ebp,edx + add esi,DWORD[((-64))+r13] + lea esi,[rbp*1+rsi] + vpslldq ymm10,ymm7,12 + vpaddd ymm7,ymm7,ymm7 + rorx r12d,eax,27 + rorx ebp,eax,2 + vpsrld ymm9,ymm10,30 + vpor ymm7,ymm7,ymm8 + xor eax,ebx + add esi,r12d + vpslld ymm10,ymm10,2 + vpxor ymm7,ymm7,ymm9 + xor eax,ecx + add edx,DWORD[((-60))+r13] + vpxor ymm7,ymm7,ymm10 + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + vpaddd ymm9,ymm7,ymm11 + xor esi,ebp + add edx,r12d + xor esi,ebx + vmovdqu YMMWORD[224+rsp],ymm9 + add ecx,DWORD[((-56))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-52))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-32))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-28))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-24))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-20))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + add edx,r12d + lea r13,[128+rsp] + + + add edx,DWORD[r8] + add esi,DWORD[4+r8] + add ebp,DWORD[8+r8] + mov DWORD[r8],edx + add ebx,DWORD[12+r8] + mov DWORD[4+r8],esi + mov eax,edx + add ecx,DWORD[16+r8] + mov r12d,ebp + mov DWORD[8+r8],ebp + mov edx,ebx + + mov DWORD[12+r8],ebx + mov ebp,esi + mov DWORD[16+r8],ecx + + mov esi,ecx + mov ecx,r12d + + + cmp r9,r10 + jbe NEAR $L$oop_avx2 + +$L$done_avx2: + vzeroupper + movaps xmm6,XMMWORD[((-40-96))+r11] + movaps xmm7,XMMWORD[((-40-80))+r11] + movaps xmm8,XMMWORD[((-40-64))+r11] + movaps xmm9,XMMWORD[((-40-48))+r11] + movaps xmm10,XMMWORD[((-40-32))+r11] + movaps xmm11,XMMWORD[((-40-16))+r11] + mov r14,QWORD[((-40))+r11] + + mov r13,QWORD[((-32))+r11] + + mov r12,QWORD[((-24))+r11] + + mov rbp,QWORD[((-16))+r11] + + mov rbx,QWORD[((-8))+r11] + + lea rsp,[r11] + +$L$epilogue_avx2: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret + +$L$SEH_end_sha1_block_data_order_avx2: ALIGN 64 K_XX_XX: DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 @@ -3701,6 +5616,38 @@ se_handler: jmp NEAR $L$common_seh_tail +ALIGN 16 +shaext_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$prologue_shaext] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + lea r10,[$L$epilogue_shaext] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea rsi,[((-8-64))+rax] + lea rdi,[512+r8] + mov ecx,8 + DD 0xa548f3fc + + jmp NEAR $L$common_seh_tail + + ALIGN 16 ssse3_handler: push rsi @@ -3793,17 +5740,26 @@ ALIGN 4 DD $L$SEH_begin_sha1_block_data_order wrt ..imagebase DD $L$SEH_end_sha1_block_data_order wrt ..imagebase DD $L$SEH_info_sha1_block_data_order wrt ..imagebase + DD $L$SEH_begin_sha1_block_data_order_shaext wrt ..imagebase + DD $L$SEH_end_sha1_block_data_order_shaext wrt ..imagebase + DD $L$SEH_info_sha1_block_data_order_shaext wrt ..imagebase DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase DD $L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase DD $L$SEH_begin_sha1_block_data_order_avx wrt ..imagebase DD $L$SEH_end_sha1_block_data_order_avx wrt ..imagebase DD $L$SEH_info_sha1_block_data_order_avx wrt ..imagebase + DD $L$SEH_begin_sha1_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_end_sha1_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_info_sha1_block_data_order_avx2 wrt ..imagebase section .xdata rdata align=8 ALIGN 8 $L$SEH_info_sha1_block_data_order: DB 9,0,0,0 DD se_handler wrt ..imagebase +$L$SEH_info_sha1_block_data_order_shaext: +DB 9,0,0,0 + DD shaext_handler wrt ..imagebase $L$SEH_info_sha1_block_data_order_ssse3: DB 9,0,0,0 DD ssse3_handler wrt ..imagebase @@ -3812,3 +5768,7 @@ $L$SEH_info_sha1_block_data_order_avx: DB 9,0,0,0 DD ssse3_handler wrt ..imagebase DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase +$L$SEH_info_sha1_block_data_order_avx2: +DB 9,0,0,0 + DD ssse3_handler wrt ..imagebase + DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm index 10092c8a183..ccfc870a66a 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm @@ -819,11 +819,9 @@ $L$SEH_begin_vpaes_set_encrypt_key: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST EXTERN BORINGSSL_function_hit mov BYTE[((BORINGSSL_function_hit+5))],1 -%endif %endif lea rsp,[((-184))+rsp] @@ -937,11 +935,9 @@ $L$SEH_begin_vpaes_encrypt: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST EXTERN BORINGSSL_function_hit mov BYTE[((BORINGSSL_function_hit+4))],1 -%endif %endif lea rsp,[((-184))+rsp] movaps XMMWORD[16+rsp],xmm6 diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/third_party/sike/asm/fp-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/third_party/sike/asm/fp-x86_64.asm deleted file mode 100644 index fbfef1be13e..00000000000 --- a/contrib/boringssl-cmake/win-x86_64/crypto/third_party/sike/asm/fp-x86_64.asm +++ /dev/null @@ -1,1951 +0,0 @@ -; This file is generated from a similarly-named Perl script in the BoringSSL -; source tree. Do not edit by hand. - -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD - -%ifdef BORINGSSL_PREFIX -%include "boringssl_prefix_symbols_nasm.inc" -%endif -section .text code align=64 - - - -$L$p434x2: - DQ 0xFFFFFFFFFFFFFFFE - DQ 0xFFFFFFFFFFFFFFFF - DQ 0xFB82ECF5C5FFFFFF - DQ 0xF78CB8F062B15D47 - DQ 0xD9F8BFAD038A40AC - DQ 0x0004683E4E2EE688 - - -$L$p434p1: - DQ 0xFDC1767AE3000000 - DQ 0x7BC65C783158AEA3 - DQ 0x6CFC5FD681C52056 - DQ 0x0002341F27177344 - -EXTERN OPENSSL_ia32cap_P - -global sike_fpadd - -sike_fpadd: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_fpadd: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - push r14 - - - - xor rax,rax - - mov r8,QWORD[rdi] - add r8,QWORD[rsi] - mov r9,QWORD[8+rdi] - adc r9,QWORD[8+rsi] - mov r10,QWORD[16+rdi] - adc r10,QWORD[16+rsi] - mov r11,QWORD[24+rdi] - adc r11,QWORD[24+rsi] - mov r12,QWORD[32+rdi] - adc r12,QWORD[32+rsi] - mov r13,QWORD[40+rdi] - adc r13,QWORD[40+rsi] - mov r14,QWORD[48+rdi] - adc r14,QWORD[48+rsi] - - mov rcx,QWORD[$L$p434x2] - sub r8,rcx - mov rcx,QWORD[((8+$L$p434x2))] - sbb r9,rcx - sbb r10,rcx - mov rcx,QWORD[((16+$L$p434x2))] - sbb r11,rcx - mov rcx,QWORD[((24+$L$p434x2))] - sbb r12,rcx - mov rcx,QWORD[((32+$L$p434x2))] - sbb r13,rcx - mov rcx,QWORD[((40+$L$p434x2))] - sbb r14,rcx - - sbb rax,0 - - mov rdi,QWORD[$L$p434x2] - and rdi,rax - mov rsi,QWORD[((8+$L$p434x2))] - and rsi,rax - mov rcx,QWORD[((16+$L$p434x2))] - and rcx,rax - - add r8,rdi - mov QWORD[rdx],r8 - adc r9,rsi - mov QWORD[8+rdx],r9 - adc r10,rsi - mov QWORD[16+rdx],r10 - adc r11,rcx - mov QWORD[24+rdx],r11 - - setc cl - mov r8,QWORD[((24+$L$p434x2))] - and r8,rax - mov r9,QWORD[((32+$L$p434x2))] - and r9,rax - mov r10,QWORD[((40+$L$p434x2))] - and r10,rax - bt rcx,0 - - adc r12,r8 - mov QWORD[32+rdx],r12 - adc r13,r9 - mov QWORD[40+rdx],r13 - adc r14,r10 - mov QWORD[48+rdx],r14 - - pop r14 - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_cswap_asm - -sike_cswap_asm: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_cswap_asm: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - - movq xmm3,rdx - - - - - - pshufd xmm3,xmm3,68 - - movdqu xmm0,XMMWORD[rdi] - movdqu xmm1,XMMWORD[rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[rdi],xmm0 - movdqu XMMWORD[rsi],xmm1 - - movdqu xmm0,XMMWORD[16+rdi] - movdqu xmm1,XMMWORD[16+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[16+rdi],xmm0 - movdqu XMMWORD[16+rsi],xmm1 - - movdqu xmm0,XMMWORD[32+rdi] - movdqu xmm1,XMMWORD[32+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[32+rdi],xmm0 - movdqu XMMWORD[32+rsi],xmm1 - - movdqu xmm0,XMMWORD[48+rdi] - movdqu xmm1,XMMWORD[48+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[48+rdi],xmm0 - movdqu XMMWORD[48+rsi],xmm1 - - movdqu xmm0,XMMWORD[64+rdi] - movdqu xmm1,XMMWORD[64+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[64+rdi],xmm0 - movdqu XMMWORD[64+rsi],xmm1 - - movdqu xmm0,XMMWORD[80+rdi] - movdqu xmm1,XMMWORD[80+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[80+rdi],xmm0 - movdqu XMMWORD[80+rsi],xmm1 - - movdqu xmm0,XMMWORD[96+rdi] - movdqu xmm1,XMMWORD[96+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[96+rdi],xmm0 - movdqu XMMWORD[96+rsi],xmm1 - - movdqu xmm0,XMMWORD[112+rdi] - movdqu xmm1,XMMWORD[112+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[112+rdi],xmm0 - movdqu XMMWORD[112+rsi],xmm1 - - movdqu xmm0,XMMWORD[128+rdi] - movdqu xmm1,XMMWORD[128+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[128+rdi],xmm0 - movdqu XMMWORD[128+rsi],xmm1 - - movdqu xmm0,XMMWORD[144+rdi] - movdqu xmm1,XMMWORD[144+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[144+rdi],xmm0 - movdqu XMMWORD[144+rsi],xmm1 - - movdqu xmm0,XMMWORD[160+rdi] - movdqu xmm1,XMMWORD[160+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[160+rdi],xmm0 - movdqu XMMWORD[160+rsi],xmm1 - - movdqu xmm0,XMMWORD[176+rdi] - movdqu xmm1,XMMWORD[176+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[176+rdi],xmm0 - movdqu XMMWORD[176+rsi],xmm1 - - movdqu xmm0,XMMWORD[192+rdi] - movdqu xmm1,XMMWORD[192+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[192+rdi],xmm0 - movdqu XMMWORD[192+rsi],xmm1 - - movdqu xmm0,XMMWORD[208+rdi] - movdqu xmm1,XMMWORD[208+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[208+rdi],xmm0 - movdqu XMMWORD[208+rsi],xmm1 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -global sike_fpsub - -sike_fpsub: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_fpsub: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - push r14 - - - - xor rax,rax - - mov r8,QWORD[rdi] - sub r8,QWORD[rsi] - mov r9,QWORD[8+rdi] - sbb r9,QWORD[8+rsi] - mov r10,QWORD[16+rdi] - sbb r10,QWORD[16+rsi] - mov r11,QWORD[24+rdi] - sbb r11,QWORD[24+rsi] - mov r12,QWORD[32+rdi] - sbb r12,QWORD[32+rsi] - mov r13,QWORD[40+rdi] - sbb r13,QWORD[40+rsi] - mov r14,QWORD[48+rdi] - sbb r14,QWORD[48+rsi] - - sbb rax,0x0 - - mov rdi,QWORD[$L$p434x2] - and rdi,rax - mov rsi,QWORD[((8+$L$p434x2))] - and rsi,rax - mov rcx,QWORD[((16+$L$p434x2))] - and rcx,rax - - add r8,rdi - mov QWORD[rdx],r8 - adc r9,rsi - mov QWORD[8+rdx],r9 - adc r10,rsi - mov QWORD[16+rdx],r10 - adc r11,rcx - mov QWORD[24+rdx],r11 - - setc cl - mov r8,QWORD[((24+$L$p434x2))] - and r8,rax - mov r9,QWORD[((32+$L$p434x2))] - and r9,rax - mov r10,QWORD[((40+$L$p434x2))] - and r10,rax - bt rcx,0x0 - - adc r12,r8 - adc r13,r9 - adc r14,r10 - mov QWORD[32+rdx],r12 - mov QWORD[40+rdx],r13 - mov QWORD[48+rdx],r14 - - pop r14 - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_mpadd_asm - -sike_mpadd_asm: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_mpadd_asm: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov r8,QWORD[rdi]; - mov r9,QWORD[8+rdi] - mov r10,QWORD[16+rdi] - mov r11,QWORD[24+rdi] - mov rcx,QWORD[32+rdi] - add r8,QWORD[rsi] - adc r9,QWORD[8+rsi] - adc r10,QWORD[16+rsi] - adc r11,QWORD[24+rsi] - adc rcx,QWORD[32+rsi] - mov QWORD[rdx],r8 - mov QWORD[8+rdx],r9 - mov QWORD[16+rdx],r10 - mov QWORD[24+rdx],r11 - mov QWORD[32+rdx],rcx - - mov r8,QWORD[40+rdi] - mov r9,QWORD[48+rdi] - adc r8,QWORD[40+rsi] - adc r9,QWORD[48+rsi] - mov QWORD[40+rdx],r8 - mov QWORD[48+rdx],r9 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_mpsubx2_asm - -sike_mpsubx2_asm: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_mpsubx2_asm: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - xor rax,rax - - mov r8,QWORD[rdi] - mov r9,QWORD[8+rdi] - mov r10,QWORD[16+rdi] - mov r11,QWORD[24+rdi] - mov rcx,QWORD[32+rdi] - sub r8,QWORD[rsi] - sbb r9,QWORD[8+rsi] - sbb r10,QWORD[16+rsi] - sbb r11,QWORD[24+rsi] - sbb rcx,QWORD[32+rsi] - mov QWORD[rdx],r8 - mov QWORD[8+rdx],r9 - mov QWORD[16+rdx],r10 - mov QWORD[24+rdx],r11 - mov QWORD[32+rdx],rcx - - mov r8,QWORD[40+rdi] - mov r9,QWORD[48+rdi] - mov r10,QWORD[56+rdi] - mov r11,QWORD[64+rdi] - mov rcx,QWORD[72+rdi] - sbb r8,QWORD[40+rsi] - sbb r9,QWORD[48+rsi] - sbb r10,QWORD[56+rsi] - sbb r11,QWORD[64+rsi] - sbb rcx,QWORD[72+rsi] - mov QWORD[40+rdx],r8 - mov QWORD[48+rdx],r9 - mov QWORD[56+rdx],r10 - mov QWORD[64+rdx],r11 - mov QWORD[72+rdx],rcx - - mov r8,QWORD[80+rdi] - mov r9,QWORD[88+rdi] - mov r10,QWORD[96+rdi] - mov r11,QWORD[104+rdi] - sbb r8,QWORD[80+rsi] - sbb r9,QWORD[88+rsi] - sbb r10,QWORD[96+rsi] - sbb r11,QWORD[104+rsi] - sbb rax,0x0 - mov QWORD[80+rdx],r8 - mov QWORD[88+rdx],r9 - mov QWORD[96+rdx],r10 - mov QWORD[104+rdx],r11 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_mpdblsubx2_asm - -sike_mpdblsubx2_asm: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_mpdblsubx2_asm: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - - xor rax,rax - - - mov r8,QWORD[rdx] - mov r9,QWORD[8+rdx] - mov r10,QWORD[16+rdx] - mov r11,QWORD[24+rdx] - mov r12,QWORD[32+rdx] - mov r13,QWORD[40+rdx] - mov rcx,QWORD[48+rdx] - sub r8,QWORD[rdi] - sbb r9,QWORD[8+rdi] - sbb r10,QWORD[16+rdi] - sbb r11,QWORD[24+rdi] - sbb r12,QWORD[32+rdi] - sbb r13,QWORD[40+rdi] - sbb rcx,QWORD[48+rdi] - adc rax,0x0 - - - sub r8,QWORD[rsi] - sbb r9,QWORD[8+rsi] - sbb r10,QWORD[16+rsi] - sbb r11,QWORD[24+rsi] - sbb r12,QWORD[32+rsi] - sbb r13,QWORD[40+rsi] - sbb rcx,QWORD[48+rsi] - adc rax,0x0 - - - mov QWORD[rdx],r8 - mov QWORD[8+rdx],r9 - mov QWORD[16+rdx],r10 - mov QWORD[24+rdx],r11 - mov QWORD[32+rdx],r12 - mov QWORD[40+rdx],r13 - mov QWORD[48+rdx],rcx - - - mov r8,QWORD[56+rdx] - mov r9,QWORD[64+rdx] - mov r10,QWORD[72+rdx] - mov r11,QWORD[80+rdx] - mov r12,QWORD[88+rdx] - mov r13,QWORD[96+rdx] - mov rcx,QWORD[104+rdx] - - sub r8,rax - sbb r8,QWORD[56+rdi] - sbb r9,QWORD[64+rdi] - sbb r10,QWORD[72+rdi] - sbb r11,QWORD[80+rdi] - sbb r12,QWORD[88+rdi] - sbb r13,QWORD[96+rdi] - sbb rcx,QWORD[104+rdi] - - - sub r8,QWORD[56+rsi] - sbb r9,QWORD[64+rsi] - sbb r10,QWORD[72+rsi] - sbb r11,QWORD[80+rsi] - sbb r12,QWORD[88+rsi] - sbb r13,QWORD[96+rsi] - sbb rcx,QWORD[104+rsi] - - - mov QWORD[56+rdx],r8 - mov QWORD[64+rdx],r9 - mov QWORD[72+rdx],r10 - mov QWORD[80+rdx],r11 - mov QWORD[88+rdx],r12 - mov QWORD[96+rdx],r13 - mov QWORD[104+rdx],rcx - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - - -$L$rdc_bdw: - - - - - - - - - xor rax,rax - mov rdx,QWORD[((0+0))+rdi] - mulx r9,r8,QWORD[((0+$L$p434p1))] - mulx r10,r12,QWORD[((8+$L$p434p1))] - mulx r11,r13,QWORD[((16+$L$p434p1))] - - adox r9,r12 - adox r10,r13 - - mulx r12,r13,QWORD[((24+$L$p434p1))] - adox r11,r13 - adox r12,rax - - xor rax,rax - mov rdx,QWORD[((0+8))+rdi] - mulx rcx,r13,QWORD[((0+$L$p434p1))] - adcx r9,r13 - adcx r10,rcx - - mulx r13,rcx,QWORD[((8+$L$p434p1))] - adcx r11,r13 - adox r10,rcx - - mulx r13,rcx,QWORD[((16+$L$p434p1))] - adcx r12,r13 - adox r11,rcx - - mulx r13,rcx,QWORD[((24+$L$p434p1))] - adcx r13,rax - adox r12,rcx - adox r13,rax - - xor rcx,rcx - add r8,QWORD[24+rdi] - adc r9,QWORD[32+rdi] - adc r10,QWORD[40+rdi] - adc r11,QWORD[48+rdi] - adc r12,QWORD[56+rdi] - adc r13,QWORD[64+rdi] - adc rcx,QWORD[72+rdi] - mov QWORD[24+rdi],r8 - mov QWORD[32+rdi],r9 - mov QWORD[40+rdi],r10 - mov QWORD[48+rdi],r11 - mov QWORD[56+rdi],r12 - mov QWORD[64+rdi],r13 - mov QWORD[72+rdi],rcx - mov r8,QWORD[80+rdi] - mov r9,QWORD[88+rdi] - mov r10,QWORD[96+rdi] - mov r11,QWORD[104+rdi] - adc r8,0x0 - adc r9,0x0 - adc r10,0x0 - adc r11,0x0 - mov QWORD[80+rdi],r8 - mov QWORD[88+rdi],r9 - mov QWORD[96+rdi],r10 - mov QWORD[104+rdi],r11 - - xor rax,rax - mov rdx,QWORD[((16+0))+rdi] - mulx r9,r8,QWORD[((0+$L$p434p1))] - mulx r10,r12,QWORD[((8+$L$p434p1))] - mulx r11,r13,QWORD[((16+$L$p434p1))] - - adox r9,r12 - adox r10,r13 - - mulx r12,r13,QWORD[((24+$L$p434p1))] - adox r11,r13 - adox r12,rax - - xor rax,rax - mov rdx,QWORD[((16+8))+rdi] - mulx rcx,r13,QWORD[((0+$L$p434p1))] - adcx r9,r13 - adcx r10,rcx - - mulx r13,rcx,QWORD[((8+$L$p434p1))] - adcx r11,r13 - adox r10,rcx - - mulx r13,rcx,QWORD[((16+$L$p434p1))] - adcx r12,r13 - adox r11,rcx - - mulx r13,rcx,QWORD[((24+$L$p434p1))] - adcx r13,rax - adox r12,rcx - adox r13,rax - - xor rcx,rcx - add r8,QWORD[40+rdi] - adc r9,QWORD[48+rdi] - adc r10,QWORD[56+rdi] - adc r11,QWORD[64+rdi] - adc r12,QWORD[72+rdi] - adc r13,QWORD[80+rdi] - adc rcx,QWORD[88+rdi] - mov QWORD[40+rdi],r8 - mov QWORD[48+rdi],r9 - mov QWORD[56+rdi],r10 - mov QWORD[64+rdi],r11 - mov QWORD[72+rdi],r12 - mov QWORD[80+rdi],r13 - mov QWORD[88+rdi],rcx - mov r8,QWORD[96+rdi] - mov r9,QWORD[104+rdi] - adc r8,0x0 - adc r9,0x0 - mov QWORD[96+rdi],r8 - mov QWORD[104+rdi],r9 - - xor rax,rax - mov rdx,QWORD[((32+0))+rdi] - mulx r9,r8,QWORD[((0+$L$p434p1))] - mulx r10,r12,QWORD[((8+$L$p434p1))] - mulx r11,r13,QWORD[((16+$L$p434p1))] - - adox r9,r12 - adox r10,r13 - - mulx r12,r13,QWORD[((24+$L$p434p1))] - adox r11,r13 - adox r12,rax - - xor rax,rax - mov rdx,QWORD[((32+8))+rdi] - mulx rcx,r13,QWORD[((0+$L$p434p1))] - adcx r9,r13 - adcx r10,rcx - - mulx r13,rcx,QWORD[((8+$L$p434p1))] - adcx r11,r13 - adox r10,rcx - - mulx r13,rcx,QWORD[((16+$L$p434p1))] - adcx r12,r13 - adox r11,rcx - - mulx r13,rcx,QWORD[((24+$L$p434p1))] - adcx r13,rax - adox r12,rcx - adox r13,rax - - xor rcx,rcx - add r8,QWORD[56+rdi] - adc r9,QWORD[64+rdi] - adc r10,QWORD[72+rdi] - adc r11,QWORD[80+rdi] - adc r12,QWORD[88+rdi] - adc r13,QWORD[96+rdi] - adc rcx,QWORD[104+rdi] - mov QWORD[rsi],r8 - mov QWORD[8+rsi],r9 - mov QWORD[72+rdi],r10 - mov QWORD[80+rdi],r11 - mov QWORD[88+rdi],r12 - mov QWORD[96+rdi],r13 - mov QWORD[104+rdi],rcx - - xor rax,rax - mov rdx,QWORD[48+rdi] - mulx r9,r8,QWORD[((0+$L$p434p1))] - mulx r10,r12,QWORD[((8+$L$p434p1))] - mulx r11,r13,QWORD[((16+$L$p434p1))] - - adox r9,r12 - adox r10,r13 - - mulx r12,r13,QWORD[((24+$L$p434p1))] - adox r11,r13 - adox r12,rax - - add r8,QWORD[72+rdi] - adc r9,QWORD[80+rdi] - adc r10,QWORD[88+rdi] - adc r11,QWORD[96+rdi] - adc r12,QWORD[104+rdi] - mov QWORD[16+rsi],r8 - mov QWORD[24+rsi],r9 - mov QWORD[32+rsi],r10 - mov QWORD[40+rsi],r11 - mov QWORD[48+rsi],r12 - - - pop r15 - - - pop r14 - - - pop r13 - - - pop r12 - - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_fprdc - -sike_fprdc: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_fprdc: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - push r14 - - - push r15 - - - - - - lea rcx,[OPENSSL_ia32cap_P] - mov rcx,QWORD[8+rcx] - and ecx,0x80100 - cmp ecx,0x80100 - je NEAR $L$rdc_bdw - - - - - mov r14,QWORD[((0+0))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul r14 - xor r10,r10 - mov r8,rax - mov r9,rdx - - - mov rax,QWORD[((8+$L$p434p1))] - mul r14 - xor r11,r11 - add r9,rax - adc r10,rdx - - - mov rcx,QWORD[((0+8))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul rcx - add r9,rax - adc r10,rdx - adc r11,0x0 - - - xor r12,r12 - mov rax,QWORD[((16+$L$p434p1))] - mul r14 - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((8+$L$p434p1))] - mul rcx - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul r14 - xor r13,r13 - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((16+$L$p434p1))] - mul rcx - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul rcx - add r12,rax - adc r13,rdx - - - xor rcx,rcx - add r8,QWORD[24+rdi] - adc r9,QWORD[32+rdi] - adc r10,QWORD[40+rdi] - adc r11,QWORD[48+rdi] - adc r12,QWORD[56+rdi] - adc r13,QWORD[64+rdi] - adc rcx,QWORD[72+rdi] - mov QWORD[24+rdi],r8 - mov QWORD[32+rdi],r9 - mov QWORD[40+rdi],r10 - mov QWORD[48+rdi],r11 - mov QWORD[56+rdi],r12 - mov QWORD[64+rdi],r13 - mov QWORD[72+rdi],rcx - mov r8,QWORD[80+rdi] - mov r9,QWORD[88+rdi] - mov r10,QWORD[96+rdi] - mov r11,QWORD[104+rdi] - adc r8,0x0 - adc r9,0x0 - adc r10,0x0 - adc r11,0x0 - mov QWORD[80+rdi],r8 - mov QWORD[88+rdi],r9 - mov QWORD[96+rdi],r10 - mov QWORD[104+rdi],r11 - - - mov r14,QWORD[((16+0))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul r14 - xor r10,r10 - mov r8,rax - mov r9,rdx - - - mov rax,QWORD[((8+$L$p434p1))] - mul r14 - xor r11,r11 - add r9,rax - adc r10,rdx - - - mov rcx,QWORD[((16+8))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul rcx - add r9,rax - adc r10,rdx - adc r11,0x0 - - - xor r12,r12 - mov rax,QWORD[((16+$L$p434p1))] - mul r14 - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((8+$L$p434p1))] - mul rcx - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul r14 - xor r13,r13 - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((16+$L$p434p1))] - mul rcx - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul rcx - add r12,rax - adc r13,rdx - - - xor rcx,rcx - add r8,QWORD[40+rdi] - adc r9,QWORD[48+rdi] - adc r10,QWORD[56+rdi] - adc r11,QWORD[64+rdi] - adc r12,QWORD[72+rdi] - adc r13,QWORD[80+rdi] - adc rcx,QWORD[88+rdi] - mov QWORD[40+rdi],r8 - mov QWORD[48+rdi],r9 - mov QWORD[56+rdi],r10 - mov QWORD[64+rdi],r11 - mov QWORD[72+rdi],r12 - mov QWORD[80+rdi],r13 - mov QWORD[88+rdi],rcx - mov r8,QWORD[96+rdi] - mov r9,QWORD[104+rdi] - adc r8,0x0 - adc r9,0x0 - mov QWORD[96+rdi],r8 - mov QWORD[104+rdi],r9 - - - mov r14,QWORD[((32+0))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul r14 - xor r10,r10 - mov r8,rax - mov r9,rdx - - - mov rax,QWORD[((8+$L$p434p1))] - mul r14 - xor r11,r11 - add r9,rax - adc r10,rdx - - - mov rcx,QWORD[((32+8))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul rcx - add r9,rax - adc r10,rdx - adc r11,0x0 - - - xor r12,r12 - mov rax,QWORD[((16+$L$p434p1))] - mul r14 - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((8+$L$p434p1))] - mul rcx - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul r14 - xor r13,r13 - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((16+$L$p434p1))] - mul rcx - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul rcx - add r12,rax - adc r13,rdx - - - xor rcx,rcx - add r8,QWORD[56+rdi] - adc r9,QWORD[64+rdi] - adc r10,QWORD[72+rdi] - adc r11,QWORD[80+rdi] - adc r12,QWORD[88+rdi] - adc r13,QWORD[96+rdi] - adc rcx,QWORD[104+rdi] - mov QWORD[rsi],r8 - mov QWORD[8+rsi],r9 - mov QWORD[72+rdi],r10 - mov QWORD[80+rdi],r11 - mov QWORD[88+rdi],r12 - mov QWORD[96+rdi],r13 - mov QWORD[104+rdi],rcx - - mov r13,QWORD[48+rdi] - - xor r10,r10 - mov rax,QWORD[((0+$L$p434p1))] - mul r13 - mov r8,rax - mov r9,rdx - - xor r11,r11 - mov rax,QWORD[((8+$L$p434p1))] - mul r13 - add r9,rax - adc r10,rdx - - xor r12,r12 - mov rax,QWORD[((16+$L$p434p1))] - mul r13 - add r10,rax - adc r11,rdx - - mov rax,QWORD[((24+$L$p434p1))] - mul r13 - add r11,rax - adc r12,rdx - - add r8,QWORD[72+rdi] - adc r9,QWORD[80+rdi] - adc r10,QWORD[88+rdi] - adc r11,QWORD[96+rdi] - adc r12,QWORD[104+rdi] - mov QWORD[16+rsi],r8 - mov QWORD[24+rsi],r9 - mov QWORD[32+rsi],r10 - mov QWORD[40+rsi],r11 - mov QWORD[48+rsi],r12 - - - pop r15 - - pop r14 - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$mul_bdw: - - - - - - - - - - mov rcx,rdx - xor rax,rax - - - mov r8,QWORD[rdi] - mov r9,QWORD[8+rdi] - mov r10,QWORD[16+rdi] - mov r11,QWORD[24+rdi] - - push rbx - - - push rbp - - - sub rsp,96 - - - add r8,QWORD[32+rdi] - adc r9,QWORD[40+rdi] - adc r10,QWORD[48+rdi] - adc r11,0x0 - sbb rax,0x0 - mov QWORD[rsp],r8 - mov QWORD[8+rsp],r9 - mov QWORD[16+rsp],r10 - mov QWORD[24+rsp],r11 - - - xor rbx,rbx - mov r12,QWORD[rsi] - mov r13,QWORD[8+rsi] - mov r14,QWORD[16+rsi] - mov r15,QWORD[24+rsi] - add r12,QWORD[32+rsi] - adc r13,QWORD[40+rsi] - adc r14,QWORD[48+rsi] - adc r15,0x0 - sbb rbx,0x0 - mov QWORD[32+rsp],r12 - mov QWORD[40+rsp],r13 - mov QWORD[48+rsp],r14 - mov QWORD[56+rsp],r15 - - - and r12,rax - and r13,rax - and r14,rax - and r15,rax - - - and r8,rbx - and r9,rbx - and r10,rbx - and r11,rbx - - - add r8,r12 - adc r9,r13 - adc r10,r14 - adc r11,r15 - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - mov QWORD[80+rsp],r10 - mov QWORD[88+rsp],r11 - - - mov rdx,QWORD[((0+0))+rsp] - mulx r8,r9,QWORD[((32+0))+rsp] - mov QWORD[((0+0))+rsp],r9 - mulx r9,r10,QWORD[((32+8))+rsp] - xor rax,rax - adox r8,r10 - mulx r10,r11,QWORD[((32+16))+rsp] - adox r9,r11 - mulx r11,r12,QWORD[((32+24))+rsp] - adox r10,r12 - - mov rdx,QWORD[((0+8))+rsp] - mulx r13,r12,QWORD[((32+0))+rsp] - adox r11,rax - xor rax,rax - mulx r14,r15,QWORD[((32+8))+rsp] - adox r12,r8 - mov QWORD[((0+8))+rsp],r12 - adcx r13,r15 - mulx r15,rbx,QWORD[((32+16))+rsp] - adcx r14,rbx - adox r13,r9 - mulx rbx,rbp,QWORD[((32+24))+rsp] - adcx r15,rbp - adcx rbx,rax - adox r14,r10 - - mov rdx,QWORD[((0+16))+rsp] - mulx r9,r8,QWORD[((32+0))+rsp] - adox r15,r11 - adox rbx,rax - xor rax,rax - mulx r10,r11,QWORD[((32+8))+rsp] - adox r8,r13 - mov QWORD[((0+16))+rsp],r8 - adcx r9,r11 - mulx r11,r12,QWORD[((32+16))+rsp] - adcx r10,r12 - adox r9,r14 - mulx r12,rbp,QWORD[((32+24))+rsp] - adcx r11,rbp - adcx r12,rax - - adox r10,r15 - adox r11,rbx - adox r12,rax - - mov rdx,QWORD[((0+24))+rsp] - mulx r13,r8,QWORD[((32+0))+rsp] - xor rax,rax - mulx r14,r15,QWORD[((32+8))+rsp] - adcx r13,r15 - adox r9,r8 - mulx r15,rbx,QWORD[((32+16))+rsp] - adcx r14,rbx - adox r10,r13 - mulx rbx,rbp,QWORD[((32+24))+rsp] - adcx r15,rbp - adcx rbx,rax - adox r11,r14 - adox r12,r15 - adox rbx,rax - mov QWORD[((0+24))+rsp],r9 - mov QWORD[((0+32))+rsp],r10 - mov QWORD[((0+40))+rsp],r11 - mov QWORD[((0+48))+rsp],r12 - mov QWORD[((0+56))+rsp],rbx - - - - mov rdx,QWORD[((0+0))+rdi] - mulx r8,r9,QWORD[((0+0))+rsi] - mov QWORD[((0+0))+rcx],r9 - mulx r9,r10,QWORD[((0+8))+rsi] - xor rax,rax - adox r8,r10 - mulx r10,r11,QWORD[((0+16))+rsi] - adox r9,r11 - mulx r11,r12,QWORD[((0+24))+rsi] - adox r10,r12 - - mov rdx,QWORD[((0+8))+rdi] - mulx r13,r12,QWORD[((0+0))+rsi] - adox r11,rax - xor rax,rax - mulx r14,r15,QWORD[((0+8))+rsi] - adox r12,r8 - mov QWORD[((0+8))+rcx],r12 - adcx r13,r15 - mulx r15,rbx,QWORD[((0+16))+rsi] - adcx r14,rbx - adox r13,r9 - mulx rbx,rbp,QWORD[((0+24))+rsi] - adcx r15,rbp - adcx rbx,rax - adox r14,r10 - - mov rdx,QWORD[((0+16))+rdi] - mulx r9,r8,QWORD[((0+0))+rsi] - adox r15,r11 - adox rbx,rax - xor rax,rax - mulx r10,r11,QWORD[((0+8))+rsi] - adox r8,r13 - mov QWORD[((0+16))+rcx],r8 - adcx r9,r11 - mulx r11,r12,QWORD[((0+16))+rsi] - adcx r10,r12 - adox r9,r14 - mulx r12,rbp,QWORD[((0+24))+rsi] - adcx r11,rbp - adcx r12,rax - - adox r10,r15 - adox r11,rbx - adox r12,rax - - mov rdx,QWORD[((0+24))+rdi] - mulx r13,r8,QWORD[((0+0))+rsi] - xor rax,rax - mulx r14,r15,QWORD[((0+8))+rsi] - adcx r13,r15 - adox r9,r8 - mulx r15,rbx,QWORD[((0+16))+rsi] - adcx r14,rbx - adox r10,r13 - mulx rbx,rbp,QWORD[((0+24))+rsi] - adcx r15,rbp - adcx rbx,rax - adox r11,r14 - adox r12,r15 - adox rbx,rax - mov QWORD[((0+24))+rcx],r9 - mov QWORD[((0+32))+rcx],r10 - mov QWORD[((0+40))+rcx],r11 - mov QWORD[((0+48))+rcx],r12 - mov QWORD[((0+56))+rcx],rbx - - - - mov rdx,QWORD[((32+0))+rdi] - mulx r8,r9,QWORD[((32+0))+rsi] - mov QWORD[((64+0))+rcx],r9 - mulx r9,r10,QWORD[((32+8))+rsi] - xor rax,rax - adox r8,r10 - mulx r10,r11,QWORD[((32+16))+rsi] - adox r9,r11 - - mov rdx,QWORD[((32+8))+rdi] - mulx r11,r12,QWORD[((32+0))+rsi] - adox r10,rax - xor rax,rax - - mulx r13,r14,QWORD[((32+8))+rsi] - adox r12,r8 - mov QWORD[((64+8))+rcx],r12 - adcx r11,r14 - - mulx r14,r8,QWORD[((32+16))+rsi] - adox r11,r9 - adcx r13,r8 - adcx r14,rax - adox r13,r10 - - mov rdx,QWORD[((32+16))+rdi] - mulx r9,r8,QWORD[((32+0))+rsi] - adox r14,rax - xor rax,rax - - mulx r12,r10,QWORD[((32+8))+rsi] - adox r8,r11 - mov QWORD[((64+16))+rcx],r8 - adcx r9,r13 - - mulx r8,r11,QWORD[((32+16))+rsi] - adcx r12,r14 - adcx r8,rax - adox r9,r10 - adox r11,r12 - adox r8,rax - mov QWORD[((64+24))+rcx],r9 - mov QWORD[((64+32))+rcx],r11 - mov QWORD[((64+40))+rcx],r8 - - - - - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - mov r10,QWORD[80+rsp] - mov r11,QWORD[88+rsp] - - mov rax,QWORD[32+rsp] - add r8,rax - mov rax,QWORD[40+rsp] - adc r9,rax - mov rax,QWORD[48+rsp] - adc r10,rax - mov rax,QWORD[56+rsp] - adc r11,rax - - - mov r12,QWORD[rsp] - mov r13,QWORD[8+rsp] - mov r14,QWORD[16+rsp] - mov r15,QWORD[24+rsp] - sub r12,QWORD[rcx] - sbb r13,QWORD[8+rcx] - sbb r14,QWORD[16+rcx] - sbb r15,QWORD[24+rcx] - sbb r8,QWORD[32+rcx] - sbb r9,QWORD[40+rcx] - sbb r10,QWORD[48+rcx] - sbb r11,QWORD[56+rcx] - - - sub r12,QWORD[64+rcx] - sbb r13,QWORD[72+rcx] - sbb r14,QWORD[80+rcx] - sbb r15,QWORD[88+rcx] - sbb r8,QWORD[96+rcx] - sbb r9,QWORD[104+rcx] - sbb r10,0x0 - sbb r11,0x0 - - add r12,QWORD[32+rcx] - mov QWORD[32+rcx],r12 - adc r13,QWORD[40+rcx] - mov QWORD[40+rcx],r13 - adc r14,QWORD[48+rcx] - mov QWORD[48+rcx],r14 - adc r15,QWORD[56+rcx] - mov QWORD[56+rcx],r15 - adc r8,QWORD[64+rcx] - mov QWORD[64+rcx],r8 - adc r9,QWORD[72+rcx] - mov QWORD[72+rcx],r9 - adc r10,QWORD[80+rcx] - mov QWORD[80+rcx],r10 - adc r11,QWORD[88+rcx] - mov QWORD[88+rcx],r11 - mov r12,QWORD[96+rcx] - adc r12,0x0 - mov QWORD[96+rcx],r12 - mov r13,QWORD[104+rcx] - adc r13,0x0 - mov QWORD[104+rcx],r13 - - add rsp,96 - - pop rbp - - - pop rbx - - - - - pop r15 - - - pop r14 - - - pop r13 - - - pop r12 - - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - - -global sike_mpmul - -sike_mpmul: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_mpmul: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - push r14 - - - push r15 - - - - - - lea rcx,[OPENSSL_ia32cap_P] - mov rcx,QWORD[8+rcx] - and ecx,0x80100 - cmp ecx,0x80100 - je NEAR $L$mul_bdw - - - - mov rcx,rdx - - sub rsp,112 - - - - xor rax,rax - mov r8,QWORD[32+rdi] - mov r9,QWORD[40+rdi] - mov r10,QWORD[48+rdi] - xor r11,r11 - add r8,QWORD[rdi] - adc r9,QWORD[8+rdi] - adc r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - - sbb rax,0 - mov QWORD[64+rsp],rax - - mov QWORD[rcx],r8 - mov QWORD[8+rcx],r9 - mov QWORD[16+rcx],r10 - mov QWORD[24+rcx],r11 - - - xor rdx,rdx - mov r12,QWORD[32+rsi] - mov r13,QWORD[40+rsi] - mov r14,QWORD[48+rsi] - xor r15,r15 - add r12,QWORD[rsi] - adc r13,QWORD[8+rsi] - adc r14,QWORD[16+rsi] - adc r15,QWORD[24+rsi] - sbb rdx,0x0 - - mov QWORD[72+rsp],rdx - - - mov rax,QWORD[rcx] - mul r12 - mov QWORD[rsp],rax - mov r8,rdx - - xor r9,r9 - mov rax,QWORD[rcx] - mul r13 - add r8,rax - adc r9,rdx - - xor r10,r10 - mov rax,QWORD[8+rcx] - mul r12 - add r8,rax - mov QWORD[8+rsp],r8 - adc r9,rdx - adc r10,0x0 - - xor r8,r8 - mov rax,QWORD[rcx] - mul r14 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[16+rcx] - mul r12 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[8+rcx] - mul r13 - add r9,rax - mov QWORD[16+rsp],r9 - adc r10,rdx - adc r8,0x0 - - xor r9,r9 - mov rax,QWORD[rcx] - mul r15 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[24+rcx] - mul r12 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[8+rcx] - mul r14 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[16+rcx] - mul r13 - add r10,rax - mov QWORD[24+rsp],r10 - adc r8,rdx - adc r9,0x0 - - xor r10,r10 - mov rax,QWORD[8+rcx] - mul r15 - add r8,rax - adc r9,rdx - adc r10,0x0 - - mov rax,QWORD[24+rcx] - mul r13 - add r8,rax - adc r9,rdx - adc r10,0x0 - - mov rax,QWORD[16+rcx] - mul r14 - add r8,rax - mov QWORD[32+rsp],r8 - adc r9,rdx - adc r10,0x0 - - xor r11,r11 - mov rax,QWORD[16+rcx] - mul r15 - add r9,rax - adc r10,rdx - adc r11,0x0 - - mov rax,QWORD[24+rcx] - mul r14 - add r9,rax - mov QWORD[40+rsp],r9 - adc r10,rdx - adc r11,0x0 - - mov rax,QWORD[24+rcx] - mul r15 - add r10,rax - mov QWORD[48+rsp],r10 - adc r11,rdx - mov QWORD[56+rsp],r11 - - - mov rax,QWORD[64+rsp] - and r12,rax - and r13,rax - and r14,rax - and r15,rax - - - mov rax,QWORD[72+rsp] - mov r8,QWORD[rcx] - and r8,rax - mov r9,QWORD[8+rcx] - and r9,rax - mov r10,QWORD[16+rcx] - and r10,rax - mov r11,QWORD[24+rcx] - and r11,rax - - - add r12,r8 - adc r13,r9 - adc r14,r10 - adc r15,r11 - - - mov rax,QWORD[32+rsp] - add r12,rax - mov rax,QWORD[40+rsp] - adc r13,rax - mov rax,QWORD[48+rsp] - adc r14,rax - mov rax,QWORD[56+rsp] - adc r15,rax - mov QWORD[80+rsp],r12 - mov QWORD[88+rsp],r13 - mov QWORD[96+rsp],r14 - mov QWORD[104+rsp],r15 - - - mov r11,QWORD[rdi] - mov rax,QWORD[rsi] - mul r11 - xor r9,r9 - mov QWORD[rcx],rax - mov r8,rdx - - mov r14,QWORD[16+rdi] - mov rax,QWORD[8+rsi] - mul r11 - xor r10,r10 - add r8,rax - adc r9,rdx - - mov r12,QWORD[8+rdi] - mov rax,QWORD[rsi] - mul r12 - add r8,rax - mov QWORD[8+rcx],r8 - adc r9,rdx - adc r10,0x0 - - xor r8,r8 - mov rax,QWORD[16+rsi] - mul r11 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov r13,QWORD[rsi] - mov rax,r14 - mul r13 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[8+rsi] - mul r12 - add r9,rax - mov QWORD[16+rcx],r9 - adc r10,rdx - adc r8,0x0 - - xor r9,r9 - mov rax,QWORD[24+rsi] - mul r11 - mov r15,QWORD[24+rdi] - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,r15 - mul r13 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[16+rsi] - mul r12 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[8+rsi] - mul r14 - add r10,rax - mov QWORD[24+rcx],r10 - adc r8,rdx - adc r9,0x0 - - xor r10,r10 - mov rax,QWORD[24+rsi] - mul r12 - add r8,rax - adc r9,rdx - adc r10,0x0 - - mov rax,QWORD[8+rsi] - mul r15 - add r8,rax - adc r9,rdx - adc r10,0x0 - - mov rax,QWORD[16+rsi] - mul r14 - add r8,rax - mov QWORD[32+rcx],r8 - adc r9,rdx - adc r10,0x0 - - xor r8,r8 - mov rax,QWORD[24+rsi] - mul r14 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[16+rsi] - mul r15 - add r9,rax - mov QWORD[40+rcx],r9 - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[24+rsi] - mul r15 - add r10,rax - mov QWORD[48+rcx],r10 - adc r8,rdx - mov QWORD[56+rcx],r8 - - - - mov r11,QWORD[32+rdi] - mov rax,QWORD[32+rsi] - mul r11 - xor r9,r9 - mov QWORD[64+rcx],rax - mov r8,rdx - - mov r14,QWORD[48+rdi] - mov rax,QWORD[40+rsi] - mul r11 - xor r10,r10 - add r8,rax - adc r9,rdx - - mov r12,QWORD[40+rdi] - mov rax,QWORD[32+rsi] - mul r12 - add r8,rax - mov QWORD[72+rcx],r8 - adc r9,rdx - adc r10,0x0 - - xor r8,r8 - mov rax,QWORD[48+rsi] - mul r11 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov r13,QWORD[32+rsi] - mov rax,r14 - mul r13 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[40+rsi] - mul r12 - add r9,rax - mov QWORD[80+rcx],r9 - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[48+rsi] - mul r12 - xor r12,r12 - add r10,rax - adc r8,rdx - adc r12,0x0 - - mov rax,QWORD[40+rsi] - mul r14 - add r10,rax - adc r8,rdx - adc r12,0x0 - mov QWORD[88+rcx],r10 - - mov rax,QWORD[48+rsi] - mul r14 - add r8,rax - adc r12,0x0 - mov QWORD[96+rcx],r8 - - add rdx,r12 - - - mov r8,QWORD[rsp] - sub r8,QWORD[rcx] - mov r9,QWORD[8+rsp] - sbb r9,QWORD[8+rcx] - mov r10,QWORD[16+rsp] - sbb r10,QWORD[16+rcx] - mov r11,QWORD[24+rsp] - sbb r11,QWORD[24+rcx] - mov r12,QWORD[80+rsp] - sbb r12,QWORD[32+rcx] - mov r13,QWORD[88+rsp] - sbb r13,QWORD[40+rcx] - mov r14,QWORD[96+rsp] - sbb r14,QWORD[48+rcx] - mov r15,QWORD[104+rsp] - sbb r15,QWORD[56+rcx] - - - mov rax,QWORD[64+rcx] - sub r8,rax - mov rax,QWORD[72+rcx] - sbb r9,rax - mov rax,QWORD[80+rcx] - sbb r10,rax - mov rax,QWORD[88+rcx] - sbb r11,rax - mov rax,QWORD[96+rcx] - sbb r12,rax - sbb r13,rdx - sbb r14,0x0 - sbb r15,0x0 - - - add r8,QWORD[32+rcx] - mov QWORD[32+rcx],r8 - adc r9,QWORD[40+rcx] - mov QWORD[40+rcx],r9 - adc r10,QWORD[48+rcx] - mov QWORD[48+rcx],r10 - adc r11,QWORD[56+rcx] - mov QWORD[56+rcx],r11 - adc r12,QWORD[64+rcx] - mov QWORD[64+rcx],r12 - adc r13,QWORD[72+rcx] - mov QWORD[72+rcx],r13 - adc r14,QWORD[80+rcx] - mov QWORD[80+rcx],r14 - adc r15,QWORD[88+rcx] - mov QWORD[88+rcx],r15 - mov r12,QWORD[96+rcx] - adc r12,0x0 - mov QWORD[96+rcx],r12 - adc rdx,0x0 - mov QWORD[104+rcx],rdx - - add rsp,112 - - - - pop r15 - - pop r14 - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - diff --git a/contrib/brotli b/contrib/brotli index 5bd78768449..63be8a99401 160000 --- a/contrib/brotli +++ b/contrib/brotli @@ -1 +1 @@ -Subproject commit 5bd78768449751a78d4b4c646b0612917986f5b1 +Subproject commit 63be8a99401992075c23e99f7c84de1c653e39e2 diff --git a/contrib/brotli-cmake/CMakeLists.txt b/contrib/brotli-cmake/CMakeLists.txt index c81a6bf9076..b89e81ecda1 100644 --- a/contrib/brotli-cmake/CMakeLists.txt +++ b/contrib/brotli-cmake/CMakeLists.txt @@ -45,7 +45,4 @@ add_library(ch_contrib::brotli ALIAS _brotli) target_include_directories(_brotli SYSTEM BEFORE PUBLIC "${BROTLI_SOURCE_DIR}/include") -if(M_LIBRARY) - target_link_libraries(_brotli PRIVATE ${M_LIBRARY}) -endif() target_compile_definitions(_brotli PRIVATE BROTLI_BUILD_PORTABLE=1) diff --git a/contrib/bzip2-cmake/CMakeLists.txt b/contrib/bzip2-cmake/CMakeLists.txt index 2e01a624000..693d4c1663c 100644 --- a/contrib/bzip2-cmake/CMakeLists.txt +++ b/contrib/bzip2-cmake/CMakeLists.txt @@ -1,6 +1,6 @@ option(ENABLE_BZIP2 "Enable bzip2 compression support" ${ENABLE_LIBRARIES}) if (NOT ENABLE_BZIP2) - message (STATUS "bzip2 compression disabled") + message (STATUS "Not using bzip2") return() endif() @@ -26,8 +26,4 @@ configure_file ( add_library(_bzip2 ${SRCS}) add_library(ch_contrib::bzip2 ALIAS _bzip2) -# To avoid -Wreserved-id-macro we use SYSTEM: -# -# clickhouse/contrib/bzip2/bzlib.h:23:9: error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro] -# #define _BZLIB_H target_include_directories(_bzip2 SYSTEM BEFORE PUBLIC "${BZIP2_SOURCE_DIR}" "${BZIP2_BINARY_DIR}") diff --git a/contrib/c-ares b/contrib/c-ares new file mode 160000 index 00000000000..afee6748b0b --- /dev/null +++ b/contrib/c-ares @@ -0,0 +1 @@ +Subproject commit afee6748b0b99acf4509d42fa37ac8422262f91b diff --git a/contrib/c-ares-cmake/CMakeLists.txt b/contrib/c-ares-cmake/CMakeLists.txt new file mode 100644 index 00000000000..603c1f8b65c --- /dev/null +++ b/contrib/c-ares-cmake/CMakeLists.txt @@ -0,0 +1,35 @@ +# Choose to build static or shared library for c-ares. +if (USE_STATIC_LIBRARIES) + set(CARES_STATIC ON CACHE BOOL "" FORCE) + set(CARES_SHARED OFF CACHE BOOL "" FORCE) +else () + set(CARES_STATIC OFF CACHE BOOL "" FORCE) + set(CARES_SHARED ON CACHE BOOL "" FORCE) +endif () + +# Disable looking for libnsl on a platforms that has gethostbyname in glibc +# +# c-ares searching for gethostbyname in the libnsl library, however in the +# version that shipped with gRPC it doing it wrong [1], since it uses +# CHECK_LIBRARY_EXISTS(), which will return TRUE even if the function exists in +# another dependent library. The upstream already contains correct macro [2], +# but it is not included in gRPC (even upstream gRPC, not the one that is +# shipped with clickhousee). +# +# [1]: https://github.com/c-ares/c-ares/blob/e982924acee7f7313b4baa4ee5ec000c5e373c30/CMakeLists.txt#L125 +# [2]: https://github.com/c-ares/c-ares/blob/44fbc813685a1fa8aa3f27fcd7544faf612d376a/CMakeLists.txt#L146 +# +# And because if you by some reason have libnsl [3] installed, clickhouse will +# reject to start w/o it. While this is completelly different library. +# +# [3]: https://packages.debian.org/bullseye/libnsl2 +if (NOT CMAKE_SYSTEM_NAME STREQUAL "SunOS") + set(HAVE_LIBNSL OFF CACHE BOOL "" FORCE) +endif() + +# Force use of c-ares inet_net_pton instead of libresolv one +set(HAVE_INET_NET_PTON OFF CACHE BOOL "" FORCE) + +add_subdirectory("../c-ares/" "../c-ares/") + +add_library(ch_contrib::c-ares ALIAS c-ares) \ No newline at end of file diff --git a/contrib/capnproto-cmake/CMakeLists.txt b/contrib/capnproto-cmake/CMakeLists.txt index 297b847cd58..e76268592ee 100644 --- a/contrib/capnproto-cmake/CMakeLists.txt +++ b/contrib/capnproto-cmake/CMakeLists.txt @@ -81,16 +81,12 @@ set (CAPNPC_SRCS add_library(_capnpc ${CAPNPC_SRCS}) target_link_libraries(_capnpc PUBLIC _capnp) -# The library has substandard code -if (COMPILER_GCC) - set (SUPPRESS_WARNINGS -w) -elseif (COMPILER_CLANG) - set (SUPPRESS_WARNINGS -w) +if (COMPILER_CLANG) set (CAPNP_PRIVATE_CXX_FLAGS -fno-char8_t) endif () -target_compile_options(_kj PRIVATE ${SUPPRESS_WARNINGS} ${CAPNP_PRIVATE_CXX_FLAGS}) -target_compile_options(_capnp PRIVATE ${SUPPRESS_WARNINGS} ${CAPNP_PRIVATE_CXX_FLAGS}) -target_compile_options(_capnpc PRIVATE ${SUPPRESS_WARNINGS} ${CAPNP_PRIVATE_CXX_FLAGS}) +target_compile_options(_kj PRIVATE ${CAPNP_PRIVATE_CXX_FLAGS}) +target_compile_options(_capnp PRIVATE ${CAPNP_PRIVATE_CXX_FLAGS}) +target_compile_options(_capnpc PRIVATE ${CAPNP_PRIVATE_CXX_FLAGS}) add_library(ch_contrib::capnp ALIAS _capnpc) diff --git a/contrib/cassandra-cmake/CMakeLists.txt b/contrib/cassandra-cmake/CMakeLists.txt index 986ac438bb2..59ff908b63a 100644 --- a/contrib/cassandra-cmake/CMakeLists.txt +++ b/contrib/cassandra-cmake/CMakeLists.txt @@ -5,6 +5,7 @@ if (NOT ENABLE_CASSANDRA) return() endif() +# can be removed once libuv build on MacOS with GCC is possible if (NOT TARGET ch_contrib::uv) message(STATUS "Not using cassandra because libuv is disabled") return() diff --git a/contrib/cppkafka b/contrib/cppkafka index 64bd67db12b..5a119f689f8 160000 --- a/contrib/cppkafka +++ b/contrib/cppkafka @@ -1 +1 @@ -Subproject commit 64bd67db12b9c705e9127439a5b05b351d9df7da +Subproject commit 5a119f689f8a4d90d10a9635e7ee2bee5c127de1 diff --git a/contrib/cppkafka-cmake/CMakeLists.txt b/contrib/cppkafka-cmake/CMakeLists.txt index 87bf2356a80..fa1c52180e8 100644 --- a/contrib/cppkafka-cmake/CMakeLists.txt +++ b/contrib/cppkafka-cmake/CMakeLists.txt @@ -1,5 +1,5 @@ if (NOT ENABLE_KAFKA) - message(STATUS "Not using librdkafka (skip cppkafka)") + message(STATUS "Not using kafka") return() endif() diff --git a/contrib/curl b/contrib/curl index 801bd5138ce..462196e6b4a 160000 --- a/contrib/curl +++ b/contrib/curl @@ -1 +1 @@ -Subproject commit 801bd5138ce31aa0d906fa4e2eabfc599d74e793 +Subproject commit 462196e6b4a47f924293a0e26b8e9c23d37ac26f diff --git a/contrib/curl-cmake/CMakeLists.txt b/contrib/curl-cmake/CMakeLists.txt index b1e1a0ded8a..207b7c66371 100644 --- a/contrib/curl-cmake/CMakeLists.txt +++ b/contrib/curl-cmake/CMakeLists.txt @@ -84,7 +84,6 @@ set (SRCS "${LIBRARY_DIR}/lib/gopher.c" "${LIBRARY_DIR}/lib/idn_win32.c" "${LIBRARY_DIR}/lib/http_proxy.c" - "${LIBRARY_DIR}/lib/non-ascii.c" "${LIBRARY_DIR}/lib/asyn-thread.c" "${LIBRARY_DIR}/lib/curl_gssapi.c" "${LIBRARY_DIR}/lib/http_ntlm.c" @@ -93,10 +92,8 @@ set (SRCS "${LIBRARY_DIR}/lib/curl_sasl.c" "${LIBRARY_DIR}/lib/rand.c" "${LIBRARY_DIR}/lib/curl_multibyte.c" - "${LIBRARY_DIR}/lib/hostcheck.c" "${LIBRARY_DIR}/lib/conncache.c" "${LIBRARY_DIR}/lib/dotdot.c" - "${LIBRARY_DIR}/lib/x509asn1.c" "${LIBRARY_DIR}/lib/http2.c" "${LIBRARY_DIR}/lib/smb.c" "${LIBRARY_DIR}/lib/curl_endian.c" @@ -120,6 +117,9 @@ set (SRCS "${LIBRARY_DIR}/lib/http_aws_sigv4.c" "${LIBRARY_DIR}/lib/mqtt.c" "${LIBRARY_DIR}/lib/rename.c" + "${LIBRARY_DIR}/lib/h2h3.c" + "${LIBRARY_DIR}/lib/headers.c" + "${LIBRARY_DIR}/lib/timediff.c" "${LIBRARY_DIR}/lib/vauth/vauth.c" "${LIBRARY_DIR}/lib/vauth/cleartext.c" "${LIBRARY_DIR}/lib/vauth/cram.c" @@ -142,11 +142,13 @@ set (SRCS "${LIBRARY_DIR}/lib/vtls/sectransp.c" "${LIBRARY_DIR}/lib/vtls/gskit.c" "${LIBRARY_DIR}/lib/vtls/mbedtls.c" - "${LIBRARY_DIR}/lib/vtls/mesalink.c" "${LIBRARY_DIR}/lib/vtls/bearssl.c" "${LIBRARY_DIR}/lib/vtls/keylog.c" + "${LIBRARY_DIR}/lib/vtls/x509asn1.c" + "${LIBRARY_DIR}/lib/vtls/hostcheck.c" "${LIBRARY_DIR}/lib/vquic/ngtcp2.c" "${LIBRARY_DIR}/lib/vquic/quiche.c" + "${LIBRARY_DIR}/lib/vquic/msh3.c" "${LIBRARY_DIR}/lib/vssh/libssh2.c" "${LIBRARY_DIR}/lib/vssh/libssh.c" ) @@ -169,6 +171,8 @@ target_include_directories (_curl SYSTEM PUBLIC target_link_libraries (_curl PRIVATE OpenSSL::SSL) # The library is large - avoid bloat (XXX: is it?) -target_compile_options (_curl PRIVATE -g0) +if (OMIT_HEAVY_DEBUG_SYMBOLS) + target_compile_options (_curl PRIVATE -g0) +endif() add_library (ch_contrib::curl ALIAS _curl) diff --git a/contrib/curl-cmake/curl_config.h b/contrib/curl-cmake/curl_config.h index 1efdd88600f..f56ba3eccd5 100644 --- a/contrib/curl-cmake/curl_config.h +++ b/contrib/curl-cmake/curl_config.h @@ -44,6 +44,8 @@ #define HAVE_SETJMP_H #define HAVE_SYS_STAT_H #define HAVE_UNISTD_H +#define HAVE_POLL_H +#define HAVE_PTHREAD_H #define ENABLE_IPV6 #define USE_OPENSSL diff --git a/contrib/fastops-cmake/CMakeLists.txt b/contrib/fastops-cmake/CMakeLists.txt index 17d6a7f5fcb..e9aa4803583 100644 --- a/contrib/fastops-cmake/CMakeLists.txt +++ b/contrib/fastops-cmake/CMakeLists.txt @@ -5,7 +5,7 @@ elseif(ENABLE_FASTOPS) endif() if(NOT ENABLE_FASTOPS) - message(STATUS "Not using fast vectorized mathematical functions library by Mikhail Parakhin") + message(STATUS "Not using fastops") return() endif() diff --git a/contrib/fmtlib-cmake/CMakeLists.txt b/contrib/fmtlib-cmake/CMakeLists.txt index fecec5f3e43..fe399ddc6e1 100644 --- a/contrib/fmtlib-cmake/CMakeLists.txt +++ b/contrib/fmtlib-cmake/CMakeLists.txt @@ -1,22 +1,24 @@ +set(FMT_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/fmtlib") + set (SRCS # NOTE: do not build module for now: # ../fmtlib/src/fmt.cc - ../fmtlib/src/format.cc - ../fmtlib/src/os.cc + ${FMT_SOURCE_DIR}/src/format.cc + ${FMT_SOURCE_DIR}/src/os.cc - ../fmtlib/include/fmt/args.h - ../fmtlib/include/fmt/chrono.h - ../fmtlib/include/fmt/color.h - ../fmtlib/include/fmt/compile.h - ../fmtlib/include/fmt/core.h - ../fmtlib/include/fmt/format.h - ../fmtlib/include/fmt/format-inl.h - ../fmtlib/include/fmt/locale.h - ../fmtlib/include/fmt/os.h - ../fmtlib/include/fmt/ostream.h - ../fmtlib/include/fmt/printf.h - ../fmtlib/include/fmt/ranges.h - ../fmtlib/include/fmt/xchar.h + ${FMT_SOURCE_DIR}/include/fmt/args.h + ${FMT_SOURCE_DIR}/include/fmt/chrono.h + ${FMT_SOURCE_DIR}/include/fmt/color.h + ${FMT_SOURCE_DIR}/include/fmt/compile.h + ${FMT_SOURCE_DIR}/include/fmt/core.h + ${FMT_SOURCE_DIR}/include/fmt/format.h + ${FMT_SOURCE_DIR}/include/fmt/format-inl.h + ${FMT_SOURCE_DIR}/include/fmt/locale.h + ${FMT_SOURCE_DIR}/include/fmt/os.h + ${FMT_SOURCE_DIR}/include/fmt/ostream.h + ${FMT_SOURCE_DIR}/include/fmt/printf.h + ${FMT_SOURCE_DIR}/include/fmt/ranges.h + ${FMT_SOURCE_DIR}/include/fmt/xchar.h ) add_library(_fmt ${SRCS}) diff --git a/contrib/googletest-cmake/CMakeLists.txt b/contrib/googletest-cmake/CMakeLists.txt index f116eddc337..90fdde0c185 100644 --- a/contrib/googletest-cmake/CMakeLists.txt +++ b/contrib/googletest-cmake/CMakeLists.txt @@ -2,7 +2,7 @@ set (SRC_DIR "${ClickHouse_SOURCE_DIR}/contrib/googletest/googletest") add_library(_gtest "${SRC_DIR}/src/gtest-all.cc") set_target_properties(_gtest PROPERTIES VERSION "1.0.0") -target_compile_definitions (_gtest INTERFACE GTEST_HAS_POSIX_RE=0) +target_compile_definitions (_gtest PUBLIC GTEST_HAS_POSIX_RE=0) target_include_directories(_gtest SYSTEM PUBLIC "${SRC_DIR}/include") target_include_directories(_gtest PRIVATE "${SRC_DIR}") diff --git a/contrib/grpc b/contrib/grpc index 7eac189a6ba..3f975ecab37 160000 --- a/contrib/grpc +++ b/contrib/grpc @@ -1 +1 @@ -Subproject commit 7eac189a6badddac593580ec2ad1478bd2656fc7 +Subproject commit 3f975ecab377cd5f739af780566596128f17bb74 diff --git a/contrib/grpc-cmake/CMakeLists.txt b/contrib/grpc-cmake/CMakeLists.txt index 520e04d198e..b1ed7e464b6 100644 --- a/contrib/grpc-cmake/CMakeLists.txt +++ b/contrib/grpc-cmake/CMakeLists.txt @@ -45,38 +45,11 @@ set(_gRPC_SSL_LIBRARIES OpenSSL::Crypto OpenSSL::SSL) # Use abseil-cpp from ClickHouse contrib, not from gRPC third_party. set(gRPC_ABSL_PROVIDER "clickhouse" CACHE STRING "" FORCE) -# Choose to build static or shared library for c-ares. -if (USE_STATIC_LIBRARIES) - set(CARES_STATIC ON CACHE BOOL "" FORCE) - set(CARES_SHARED OFF CACHE BOOL "" FORCE) -else () - set(CARES_STATIC OFF CACHE BOOL "" FORCE) - set(CARES_SHARED ON CACHE BOOL "" FORCE) -endif () - -# Disable looking for libnsl on a platforms that has gethostbyname in glibc -# -# c-ares searching for gethostbyname in the libnsl library, however in the -# version that shipped with gRPC it doing it wrong [1], since it uses -# CHECK_LIBRARY_EXISTS(), which will return TRUE even if the function exists in -# another dependent library. The upstream already contains correct macro [2], -# but it is not included in gRPC (even upstream gRPC, not the one that is -# shipped with clickhousee). -# -# [1]: https://github.com/c-ares/c-ares/blob/e982924acee7f7313b4baa4ee5ec000c5e373c30/CMakeLists.txt#L125 -# [2]: https://github.com/c-ares/c-ares/blob/44fbc813685a1fa8aa3f27fcd7544faf612d376a/CMakeLists.txt#L146 -# -# And because if you by some reason have libnsl [3] installed, clickhouse will -# reject to start w/o it. While this is completelly different library. -# -# [3]: https://packages.debian.org/bullseye/libnsl2 -if (NOT CMAKE_SYSTEM_NAME STREQUAL "SunOS") - set(HAVE_LIBNSL OFF CACHE BOOL "" FORCE) -endif() - # We don't want to build C# extensions. set(gRPC_BUILD_CSHARP_EXT OFF) +set(_gRPC_CARES_LIBRARIES ch_contrib::c-ares) +set(gRPC_CARES_PROVIDER "clickhouse" CACHE STRING "" FORCE) add_subdirectory("${_gRPC_SOURCE_DIR}" "${_gRPC_BINARY_DIR}") # The contrib/grpc/CMakeLists.txt redefined the PROTOBUF_GENERATE_GRPC_CPP() function for its own purposes, diff --git a/contrib/h3-cmake/CMakeLists.txt b/contrib/h3-cmake/CMakeLists.txt index 984d1b1ae7c..c0c2162bd26 100644 --- a/contrib/h3-cmake/CMakeLists.txt +++ b/contrib/h3-cmake/CMakeLists.txt @@ -9,23 +9,23 @@ set(H3_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/h3/src/h3lib") set(H3_BINARY_DIR "${ClickHouse_BINARY_DIR}/contrib/h3/src/h3lib") set(SRCS -"${H3_SOURCE_DIR}/lib/algos.c" -"${H3_SOURCE_DIR}/lib/coordijk.c" -"${H3_SOURCE_DIR}/lib/bbox.c" -"${H3_SOURCE_DIR}/lib/polygon.c" -"${H3_SOURCE_DIR}/lib/h3Index.c" -"${H3_SOURCE_DIR}/lib/vec2d.c" -"${H3_SOURCE_DIR}/lib/vec3d.c" -"${H3_SOURCE_DIR}/lib/vertex.c" -"${H3_SOURCE_DIR}/lib/linkedGeo.c" -"${H3_SOURCE_DIR}/lib/localij.c" -"${H3_SOURCE_DIR}/lib/latLng.c" -"${H3_SOURCE_DIR}/lib/directedEdge.c" -"${H3_SOURCE_DIR}/lib/mathExtensions.c" -"${H3_SOURCE_DIR}/lib/iterators.c" -"${H3_SOURCE_DIR}/lib/vertexGraph.c" -"${H3_SOURCE_DIR}/lib/faceijk.c" -"${H3_SOURCE_DIR}/lib/baseCells.c" + "${H3_SOURCE_DIR}/lib/algos.c" + "${H3_SOURCE_DIR}/lib/coordijk.c" + "${H3_SOURCE_DIR}/lib/bbox.c" + "${H3_SOURCE_DIR}/lib/polygon.c" + "${H3_SOURCE_DIR}/lib/h3Index.c" + "${H3_SOURCE_DIR}/lib/vec2d.c" + "${H3_SOURCE_DIR}/lib/vec3d.c" + "${H3_SOURCE_DIR}/lib/vertex.c" + "${H3_SOURCE_DIR}/lib/linkedGeo.c" + "${H3_SOURCE_DIR}/lib/localij.c" + "${H3_SOURCE_DIR}/lib/latLng.c" + "${H3_SOURCE_DIR}/lib/directedEdge.c" + "${H3_SOURCE_DIR}/lib/mathExtensions.c" + "${H3_SOURCE_DIR}/lib/iterators.c" + "${H3_SOURCE_DIR}/lib/vertexGraph.c" + "${H3_SOURCE_DIR}/lib/faceijk.c" + "${H3_SOURCE_DIR}/lib/baseCells.c" ) configure_file("${H3_SOURCE_DIR}/include/h3api.h.in" "${H3_BINARY_DIR}/include/h3api.h") @@ -34,8 +34,5 @@ add_library(_h3 ${SRCS}) target_include_directories(_h3 SYSTEM PUBLIC "${H3_SOURCE_DIR}/include") target_include_directories(_h3 SYSTEM PUBLIC "${H3_BINARY_DIR}/include") target_compile_definitions(_h3 PRIVATE H3_HAVE_VLA) -if(M_LIBRARY) - target_link_libraries(_h3 PRIVATE ${M_LIBRARY}) -endif() add_library(ch_contrib::h3 ALIAS _h3) diff --git a/contrib/hive-metastore-cmake/CMakeLists.txt b/contrib/hive-metastore-cmake/CMakeLists.txt index 9069d46cea7..a5e16c739af 100644 --- a/contrib/hive-metastore-cmake/CMakeLists.txt +++ b/contrib/hive-metastore-cmake/CMakeLists.txt @@ -5,7 +5,7 @@ elseif(ENABLE_HIVE) endif() if (NOT ENABLE_HIVE) - message("Hive disabled") + message(STATUS "Not using hive") return() endif() diff --git a/contrib/hyperscan b/contrib/hyperscan deleted file mode 160000 index 5edc68c5ac6..00000000000 --- a/contrib/hyperscan +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5edc68c5ac68d2d4f876159e9ee84def6d3dc87c diff --git a/contrib/icu-cmake/CMakeLists.txt b/contrib/icu-cmake/CMakeLists.txt index 9c34228e2a0..ce82155218c 100644 --- a/contrib/icu-cmake/CMakeLists.txt +++ b/contrib/icu-cmake/CMakeLists.txt @@ -481,10 +481,6 @@ target_include_directories(_icui18n SYSTEM PUBLIC "${ICU_SOURCE_DIR}/i18n/") target_compile_definitions(_icuuc PRIVATE -DU_COMMON_IMPLEMENTATION) target_compile_definitions(_icui18n PRIVATE -DU_I18N_IMPLEMENTATION) -if (COMPILER_CLANG) - target_compile_options(_icudata PRIVATE -Wno-unused-command-line-argument) -endif () - add_library(_icu INTERFACE) target_link_libraries(_icu INTERFACE _icui18n _icuuc _icudata) add_library(ch_contrib::icu ALIAS _icu) diff --git a/contrib/jemalloc b/contrib/jemalloc index 78b58379c85..41a859ef732 160000 --- a/contrib/jemalloc +++ b/contrib/jemalloc @@ -1 +1 @@ -Subproject commit 78b58379c854a639df79beb3289351129d863d4b +Subproject commit 41a859ef7325569c6c25f92d294d45123bb81355 diff --git a/contrib/jemalloc-cmake/CMakeLists.txt b/contrib/jemalloc-cmake/CMakeLists.txt index c59b4da890b..d5ea69d4926 100644 --- a/contrib/jemalloc-cmake/CMakeLists.txt +++ b/contrib/jemalloc-cmake/CMakeLists.txt @@ -117,10 +117,11 @@ if (OS_DARWIN) endif () add_library(_jemalloc ${SRCS}) + # First include jemalloc-cmake files, to override anything that jemalloc has. # (for example if you were trying to build jemalloc inside contrib/jemalloc you # will have some files that may be out of date) -target_include_directories(_jemalloc PUBLIC include) +target_include_directories(_jemalloc SYSTEM PUBLIC include) target_include_directories(_jemalloc PRIVATE "${LIBRARY_DIR}/include") set (JEMALLOC_INCLUDE_PREFIX) @@ -180,7 +181,6 @@ if (USE_UNWIND) target_link_libraries (_jemalloc PRIVATE unwind) endif () -target_compile_options(_jemalloc PRIVATE -Wno-redundant-decls) # for RTLD_NEXT target_compile_options(_jemalloc PRIVATE -D_GNU_SOURCE) diff --git a/contrib/jemalloc-cmake/include/jemalloc/jemalloc_defs.h b/contrib/jemalloc-cmake/include/jemalloc/jemalloc_defs.h index 47569b16a88..c20ce45b684 100644 --- a/contrib/jemalloc-cmake/include/jemalloc/jemalloc_defs.h +++ b/contrib/jemalloc-cmake/include/jemalloc/jemalloc_defs.h @@ -27,6 +27,10 @@ #if !defined(USE_MUSL) #define JEMALLOC_OVERRIDE_MEMALIGN #define JEMALLOC_OVERRIDE_VALLOC + #if defined(__linux__) + #define JEMALLOC_OVERRIDE_PVALLOC + #define JEMALLOC_OVERRIDE___LIBC_PVALLOC + #endif #endif /* diff --git a/contrib/jemalloc-cmake/include/jemalloc/jemalloc_protos.h b/contrib/jemalloc-cmake/include/jemalloc/jemalloc_protos.h index e1e5b0575f3..1a6c624496b 100644 --- a/contrib/jemalloc-cmake/include/jemalloc/jemalloc_protos.h +++ b/contrib/jemalloc-cmake/include/jemalloc/jemalloc_protos.h @@ -82,3 +82,9 @@ JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN void JEMALLOC_SYS_NOTHROW *je_valloc(size_t size) JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc); #endif + +#ifdef JEMALLOC_OVERRIDE_PVALLOC +JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN + void JEMALLOC_SYS_NOTHROW *je_pvalloc(size_t size) JEMALLOC_CXX_THROW + JEMALLOC_ATTR(malloc); +#endif diff --git a/contrib/jemalloc-cmake/include/jemalloc/jemalloc_protos_jet.h b/contrib/jemalloc-cmake/include/jemalloc/jemalloc_protos_jet.h index 72182727a6f..5f16e3704a7 100644 --- a/contrib/jemalloc-cmake/include/jemalloc/jemalloc_protos_jet.h +++ b/contrib/jemalloc-cmake/include/jemalloc/jemalloc_protos_jet.h @@ -69,3 +69,9 @@ JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN void JEMALLOC_SYS_NOTHROW *jet_valloc(size_t size) JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc); #endif + +#ifdef JEMALLOC_OVERRIDE_PVALLOC +JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN + void JEMALLOC_SYS_NOTHROW *je_pvalloc(size_t size) JEMALLOC_CXX_THROW + JEMALLOC_ATTR(malloc); +#endif diff --git a/contrib/jemalloc-cmake/include_darwin_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in b/contrib/jemalloc-cmake/include_darwin_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in index 8ad95c51560..496cf02a521 100644 --- a/contrib/jemalloc-cmake/include_darwin_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in +++ b/contrib/jemalloc-cmake/include_darwin_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in @@ -36,6 +36,7 @@ #define CPU_SPINWAIT /* 1 if CPU_SPINWAIT is defined, 0 otherwise. */ #define HAVE_CPU_SPINWAIT 0 +/* #undef HAVE_RDTSCP */ /* * Number of significant bits in virtual addresses. This may be less than the @@ -162,6 +163,12 @@ /* Use gcc intrinsics for profile backtracing if defined. */ /* #undef JEMALLOC_PROF_GCC */ +/* JEMALLOC_PAGEID enabled page id */ +/* #undef JEMALLOC_PAGEID */ + +/* JEMALLOC_HAVE_PRCTL checks prctl */ +/* #undef JEMALLOC_HAVE_PRCTL */ + /* * JEMALLOC_DSS enables use of sbrk(2) to allocate extents from the data storage * segment (DSS). @@ -422,4 +429,7 @@ /* Darwin VM_MAKE_TAG support */ #define JEMALLOC_HAVE_VM_MAKE_TAG +/* If defined, realloc(ptr, 0) defaults to "free" instead of "alloc". */ +/* #undef JEMALLOC_ZERO_REALLOC_DEFAULT_FREE */ + #endif /* JEMALLOC_INTERNAL_DEFS_H_ */ diff --git a/contrib/jemalloc-cmake/include_darwin_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in b/contrib/jemalloc-cmake/include_darwin_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in index 8671da5db69..db62d2c48ec 100644 --- a/contrib/jemalloc-cmake/include_darwin_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in +++ b/contrib/jemalloc-cmake/include_darwin_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in @@ -36,6 +36,7 @@ #define CPU_SPINWAIT __asm__ volatile("pause") /* 1 if CPU_SPINWAIT is defined, 0 otherwise. */ #define HAVE_CPU_SPINWAIT 1 +#define HAVE_RDTSCP 1 /* * Number of significant bits in virtual addresses. This may be less than the @@ -162,6 +163,12 @@ /* Use gcc intrinsics for profile backtracing if defined. */ /* #undef JEMALLOC_PROF_GCC */ +/* JEMALLOC_PAGEID enabled page id */ +/* #undef JEMALLOC_PAGEID */ + +/* JEMALLOC_HAVE_PRCTL checks prctl */ +/* #undef JEMALLOC_HAVE_PRCTL */ + /* * JEMALLOC_DSS enables use of sbrk(2) to allocate extents from the data storage * segment (DSS). @@ -422,4 +429,7 @@ /* Darwin VM_MAKE_TAG support */ #define JEMALLOC_HAVE_VM_MAKE_TAG +/* If defined, realloc(ptr, 0) defaults to "free" instead of "alloc". */ +/* #undef JEMALLOC_ZERO_REALLOC_DEFAULT_FREE */ + #endif /* JEMALLOC_INTERNAL_DEFS_H_ */ diff --git a/contrib/jemalloc-cmake/include_freebsd_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in b/contrib/jemalloc-cmake/include_freebsd_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in index 0f61417d65f..d58dce1faca 100644 --- a/contrib/jemalloc-cmake/include_freebsd_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in +++ b/contrib/jemalloc-cmake/include_freebsd_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in @@ -36,6 +36,7 @@ #define CPU_SPINWAIT /* 1 if CPU_SPINWAIT is defined, 0 otherwise. */ #define HAVE_CPU_SPINWAIT 0 +/* #undef HAVE_RDTSCP */ /* * Number of significant bits in virtual addresses. This may be less than the @@ -164,6 +165,12 @@ /* Use gcc intrinsics for profile backtracing if defined. */ /* #undef JEMALLOC_PROF_GCC */ +/* JEMALLOC_PAGEID enabled page id */ +/* #undef JEMALLOC_PAGEID */ + +/* JEMALLOC_HAVE_PRCTL checks prctl */ +/* #undef JEMALLOC_HAVE_PRCTL */ + /* * JEMALLOC_DSS enables use of sbrk(2) to allocate extents from the data storage * segment (DSS). @@ -424,4 +431,7 @@ /* Darwin VM_MAKE_TAG support */ /* #undef JEMALLOC_HAVE_VM_MAKE_TAG */ +/* If defined, realloc(ptr, 0) defaults to "free" instead of "alloc". */ +/* #undef JEMALLOC_ZERO_REALLOC_DEFAULT_FREE */ + #endif /* JEMALLOC_INTERNAL_DEFS_H_ */ diff --git a/contrib/jemalloc-cmake/include_freebsd_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in b/contrib/jemalloc-cmake/include_freebsd_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in index 32cad025f5f..bd72723c5f3 100644 --- a/contrib/jemalloc-cmake/include_freebsd_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in +++ b/contrib/jemalloc-cmake/include_freebsd_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in @@ -36,6 +36,7 @@ #define CPU_SPINWAIT __asm__ volatile("pause") /* 1 if CPU_SPINWAIT is defined, 0 otherwise. */ #define HAVE_CPU_SPINWAIT 1 +#define HAVE_RDTSCP 1 /* * Number of significant bits in virtual addresses. This may be less than the @@ -164,6 +165,12 @@ /* Use gcc intrinsics for profile backtracing if defined. */ /* #undef JEMALLOC_PROF_GCC */ +/* JEMALLOC_PAGEID enabled page id */ +/* #undef JEMALLOC_PAGEID */ + +/* JEMALLOC_HAVE_PRCTL checks prctl */ +/* #undef JEMALLOC_HAVE_PRCTL */ + /* * JEMALLOC_DSS enables use of sbrk(2) to allocate extents from the data storage * segment (DSS). @@ -424,4 +431,7 @@ /* Darwin VM_MAKE_TAG support */ /* #undef JEMALLOC_HAVE_VM_MAKE_TAG */ +/* If defined, realloc(ptr, 0) defaults to "free" instead of "alloc". */ +/* #undef JEMALLOC_ZERO_REALLOC_DEFAULT_FREE */ + #endif /* JEMALLOC_INTERNAL_DEFS_H_ */ diff --git a/contrib/jemalloc-cmake/include_linux_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in b/contrib/jemalloc-cmake/include_linux_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in index ad535e6d773..597f2d59933 100644 --- a/contrib/jemalloc-cmake/include_linux_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in +++ b/contrib/jemalloc-cmake/include_linux_aarch64/jemalloc/internal/jemalloc_internal_defs.h.in @@ -38,6 +38,7 @@ #define CPU_SPINWAIT /* 1 if CPU_SPINWAIT is defined, 0 otherwise. */ #define HAVE_CPU_SPINWAIT 0 +/* #undef HAVE_RDTSCP */ /* * Number of significant bits in virtual addresses. This may be less than the @@ -164,6 +165,12 @@ /* Use gcc intrinsics for profile backtracing if defined. */ /* #undef JEMALLOC_PROF_GCC */ +/* JEMALLOC_PAGEID enabled page id */ +#define JEMALLOC_PAGEID + +/* JEMALLOC_HAVE_PRCTL checks prctl */ +#define JEMALLOC_HAVE_PRCTL + /* * JEMALLOC_DSS enables use of sbrk(2) to allocate extents from the data storage * segment (DSS). @@ -424,4 +431,7 @@ /* Darwin VM_MAKE_TAG support */ /* #undef JEMALLOC_HAVE_VM_MAKE_TAG */ +/* If defined, realloc(ptr, 0) defaults to "free" instead of "alloc". */ +#define JEMALLOC_ZERO_REALLOC_DEFAULT_FREE + #endif /* JEMALLOC_INTERNAL_DEFS_H_ */ diff --git a/contrib/jemalloc-cmake/include_linux_ppc64le/jemalloc/internal/jemalloc_internal_defs.h.in b/contrib/jemalloc-cmake/include_linux_ppc64le/jemalloc/internal/jemalloc_internal_defs.h.in index 12890f80ef1..0a72e71496b 100644 --- a/contrib/jemalloc-cmake/include_linux_ppc64le/jemalloc/internal/jemalloc_internal_defs.h.in +++ b/contrib/jemalloc-cmake/include_linux_ppc64le/jemalloc/internal/jemalloc_internal_defs.h.in @@ -38,6 +38,7 @@ #define CPU_SPINWAIT /* 1 if CPU_SPINWAIT is defined, 0 otherwise. */ #define HAVE_CPU_SPINWAIT 0 +/* #undef HAVE_RDTSCP */ /* * Number of significant bits in virtual addresses. This may be less than the @@ -164,6 +165,12 @@ /* Use gcc intrinsics for profile backtracing if defined. */ /* #undef JEMALLOC_PROF_GCC */ +/* JEMALLOC_PAGEID enabled page id */ +#define JEMALLOC_PAGEID + +/* JEMALLOC_HAVE_PRCTL checks prctl */ +#define JEMALLOC_HAVE_PRCTL + /* * JEMALLOC_DSS enables use of sbrk(2) to allocate extents from the data storage * segment (DSS). @@ -424,4 +431,7 @@ /* Darwin VM_MAKE_TAG support */ /* #undef JEMALLOC_HAVE_VM_MAKE_TAG */ +/* If defined, realloc(ptr, 0) defaults to "free" instead of "alloc". */ +#define JEMALLOC_ZERO_REALLOC_DEFAULT_FREE + #endif /* JEMALLOC_INTERNAL_DEFS_H_ */ diff --git a/contrib/jemalloc-cmake/include_linux_riscv64/jemalloc/internal/jemalloc_internal_defs.h.in b/contrib/jemalloc-cmake/include_linux_riscv64/jemalloc/internal/jemalloc_internal_defs.h.in index ad535e6d773..597f2d59933 100644 --- a/contrib/jemalloc-cmake/include_linux_riscv64/jemalloc/internal/jemalloc_internal_defs.h.in +++ b/contrib/jemalloc-cmake/include_linux_riscv64/jemalloc/internal/jemalloc_internal_defs.h.in @@ -38,6 +38,7 @@ #define CPU_SPINWAIT /* 1 if CPU_SPINWAIT is defined, 0 otherwise. */ #define HAVE_CPU_SPINWAIT 0 +/* #undef HAVE_RDTSCP */ /* * Number of significant bits in virtual addresses. This may be less than the @@ -164,6 +165,12 @@ /* Use gcc intrinsics for profile backtracing if defined. */ /* #undef JEMALLOC_PROF_GCC */ +/* JEMALLOC_PAGEID enabled page id */ +#define JEMALLOC_PAGEID + +/* JEMALLOC_HAVE_PRCTL checks prctl */ +#define JEMALLOC_HAVE_PRCTL + /* * JEMALLOC_DSS enables use of sbrk(2) to allocate extents from the data storage * segment (DSS). @@ -424,4 +431,7 @@ /* Darwin VM_MAKE_TAG support */ /* #undef JEMALLOC_HAVE_VM_MAKE_TAG */ +/* If defined, realloc(ptr, 0) defaults to "free" instead of "alloc". */ +#define JEMALLOC_ZERO_REALLOC_DEFAULT_FREE + #endif /* JEMALLOC_INTERNAL_DEFS_H_ */ diff --git a/contrib/jemalloc-cmake/include_linux_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in b/contrib/jemalloc-cmake/include_linux_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in index 99ab2d53ca9..d21098a4dcc 100644 --- a/contrib/jemalloc-cmake/include_linux_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in +++ b/contrib/jemalloc-cmake/include_linux_x86_64/jemalloc/internal/jemalloc_internal_defs.h.in @@ -38,6 +38,7 @@ #define CPU_SPINWAIT __asm__ volatile("pause") /* 1 if CPU_SPINWAIT is defined, 0 otherwise. */ #define HAVE_CPU_SPINWAIT 1 +#define HAVE_RDTSCP 1 /* * Number of significant bits in virtual addresses. This may be less than the @@ -164,6 +165,12 @@ /* Use gcc intrinsics for profile backtracing if defined. */ /* #undef JEMALLOC_PROF_GCC */ +/* JEMALLOC_PAGEID enabled page id */ +#define JEMALLOC_PAGEID + +/* JEMALLOC_HAVE_PRCTL checks prctl */ +#define JEMALLOC_HAVE_PRCTL + /* * JEMALLOC_DSS enables use of sbrk(2) to allocate extents from the data storage * segment (DSS). @@ -424,4 +431,7 @@ /* Darwin VM_MAKE_TAG support */ /* #undef JEMALLOC_HAVE_VM_MAKE_TAG */ +/* If defined, realloc(ptr, 0) defaults to "free" instead of "alloc". */ +#define JEMALLOC_ZERO_REALLOC_DEFAULT_FREE + #endif /* JEMALLOC_INTERNAL_DEFS_H_ */ diff --git a/contrib/jemalloc-cmake/include_linux_x86_64_musl/jemalloc/internal/jemalloc_internal_defs.h.in b/contrib/jemalloc-cmake/include_linux_x86_64_musl/jemalloc/internal/jemalloc_internal_defs.h.in index 684d4debb14..ff97d297d8f 100644 --- a/contrib/jemalloc-cmake/include_linux_x86_64_musl/jemalloc/internal/jemalloc_internal_defs.h.in +++ b/contrib/jemalloc-cmake/include_linux_x86_64_musl/jemalloc/internal/jemalloc_internal_defs.h.in @@ -38,6 +38,7 @@ #define CPU_SPINWAIT __asm__ volatile("pause") /* 1 if CPU_SPINWAIT is defined, 0 otherwise. */ #define HAVE_CPU_SPINWAIT 1 +#define HAVE_RDTSCP 1 /* * Number of significant bits in virtual addresses. This may be less than the @@ -165,6 +166,12 @@ /* Use gcc intrinsics for profile backtracing if defined. */ /* #undef JEMALLOC_PROF_GCC */ +/* JEMALLOC_PAGEID enabled page id */ +#define JEMALLOC_PAGEID + +/* JEMALLOC_HAVE_PRCTL checks prctl */ +#define JEMALLOC_HAVE_PRCTL + /* * JEMALLOC_DSS enables use of sbrk(2) to allocate extents from the data storage * segment (DSS). @@ -425,4 +432,7 @@ /* Darwin VM_MAKE_TAG support */ /* #undef JEMALLOC_HAVE_VM_MAKE_TAG */ +/* If defined, realloc(ptr, 0) defaults to "free" instead of "alloc". */ +#define JEMALLOC_ZERO_REALLOC_DEFAULT_FREE + #endif /* JEMALLOC_INTERNAL_DEFS_H_ */ diff --git a/contrib/krb5 b/contrib/krb5 index 5149dea4e2b..d879821c7a4 160000 --- a/contrib/krb5 +++ b/contrib/krb5 @@ -1 +1 @@ -Subproject commit 5149dea4e2be0f67707383d2682b897c14631374 +Subproject commit d879821c7a4c70b0c3ad739d9951d1a2b1903df7 diff --git a/contrib/libcpuid-cmake/CMakeLists.txt b/contrib/libcpuid-cmake/CMakeLists.txt index 1940b39b6aa..fd5af925c57 100644 --- a/contrib/libcpuid-cmake/CMakeLists.txt +++ b/contrib/libcpuid-cmake/CMakeLists.txt @@ -6,7 +6,7 @@ elseif(ENABLE_CPUID) endif() if (NOT ENABLE_CPUID) - message("Not using cpuid") + message(STATUS "Not using cpuid") return() endif() @@ -27,8 +27,5 @@ add_library (_cpuid ${SRCS}) target_include_directories (_cpuid SYSTEM PUBLIC "${LIBRARY_DIR}") target_compile_definitions (_cpuid PRIVATE VERSION="v0.4.1") -if (COMPILER_CLANG) - target_compile_options (_cpuid PRIVATE -Wno-reserved-id-macro) -endif () add_library(ch_contrib::cpuid ALIAS _cpuid) diff --git a/contrib/libcxx-cmake/CMakeLists.txt b/contrib/libcxx-cmake/CMakeLists.txt index dc9df48b2c1..a501c4df64f 100644 --- a/contrib/libcxx-cmake/CMakeLists.txt +++ b/contrib/libcxx-cmake/CMakeLists.txt @@ -78,6 +78,9 @@ target_compile_options(cxx PUBLIC $<$:-nostdinc++>) # Third party library may have substandard code. target_compile_options(cxx PRIVATE -w) +# Enable support for Clang-Thread-Safety-Analysis in libcxx +target_compile_definitions(cxx PUBLIC -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS) + target_link_libraries(cxx PUBLIC cxxabi) # For __udivmodti4, __divmodti4. diff --git a/contrib/libgsasl b/contrib/libgsasl index 383ee28e82f..0324680f13f 160000 --- a/contrib/libgsasl +++ b/contrib/libgsasl @@ -1 +1 @@ -Subproject commit 383ee28e82f69fa16ed43b48bd9c8ee5b313ab84 +Subproject commit 0324680f13f22bb43df5353a08e26453d7d640ac diff --git a/contrib/libgsasl-cmake/CMakeLists.txt b/contrib/libgsasl-cmake/CMakeLists.txt index 4bb4ca9dc33..f0c2395a831 100644 --- a/contrib/libgsasl-cmake/CMakeLists.txt +++ b/contrib/libgsasl-cmake/CMakeLists.txt @@ -1,7 +1,7 @@ option(ENABLE_GSASL_LIBRARY "Enable gsasl library" ${ENABLE_LIBRARIES}) if (NOT ENABLE_GSASL_LIBRARY) - message(STATUS "Not using gsasl library") + message(STATUS "Not using gsasl") return() endif() @@ -113,4 +113,8 @@ if (TARGET ch_contrib::krb5) target_compile_definitions(_gsasl PRIVATE HAVE_GSSAPI_H=1 USE_GSSAPI=1) endif() +if (TARGET OpenSSL::SSL) + target_link_libraries(_gsasl PRIVATE OpenSSL::Crypto OpenSSL::SSL) +endif() + add_library(ch_contrib::gsasl ALIAS _gsasl) diff --git a/contrib/libprotobuf-mutator b/contrib/libprotobuf-mutator index ffd86a32874..a304ec48dcf 160000 --- a/contrib/libprotobuf-mutator +++ b/contrib/libprotobuf-mutator @@ -1 +1 @@ -Subproject commit ffd86a32874e5c08a143019aad1aaf0907294c9f +Subproject commit a304ec48dcf15d942607032151f7e9ee504b5dcf diff --git a/contrib/libprotobuf-mutator-cmake/CMakeLists.txt b/contrib/libprotobuf-mutator-cmake/CMakeLists.txt index a623f95c418..9bbd6c17caa 100644 --- a/contrib/libprotobuf-mutator-cmake/CMakeLists.txt +++ b/contrib/libprotobuf-mutator-cmake/CMakeLists.txt @@ -14,8 +14,11 @@ add_library(_protobuf-mutator ${LIBRARY_DIR}/src/text_format.cc ${LIBRARY_DIR}/src/utf8_fix.cc) -target_include_directories(_protobuf-mutator BEFORE INTERFACE "${LIBRARY_DIR}") -target_include_directories(_protobuf-mutator BEFORE INTERFACE "${ClickHouse_SOURCE_DIR}/contrib/protobuf/src") +# codegen_select_fuzzer includes ... +target_include_directories(_protobuf-mutator BEFORE PUBLIC "${LIBRARY_DIR}/src") +# ... which includes +target_include_directories(_protobuf-mutator BEFORE PUBLIC "${LIBRARY_DIR}") +target_include_directories(_protobuf-mutator BEFORE PUBLIC "${ClickHouse_SOURCE_DIR}/contrib/protobuf/src") target_link_libraries(_protobuf-mutator ch_contrib::protobuf) diff --git a/contrib/librdkafka b/contrib/librdkafka index b8554f16820..6062e711a91 160000 --- a/contrib/librdkafka +++ b/contrib/librdkafka @@ -1 +1 @@ -Subproject commit b8554f1682062c85ba519eb54ef2f90e02b812cb +Subproject commit 6062e711a919fb3b669b243b7dceabd045d0e4a2 diff --git a/contrib/libunwind b/contrib/libunwind index c4ea9848a69..5022f30f3e0 160000 --- a/contrib/libunwind +++ b/contrib/libunwind @@ -1 +1 @@ -Subproject commit c4ea9848a697747dfa35325af9b3452f30841685 +Subproject commit 5022f30f3e092a54a7c101c335ce5e08769db366 diff --git a/contrib/libuv-cmake/CMakeLists.txt b/contrib/libuv-cmake/CMakeLists.txt index 45f6d8e2083..1a7714e47ce 100644 --- a/contrib/libuv-cmake/CMakeLists.txt +++ b/contrib/libuv-cmake/CMakeLists.txt @@ -1,3 +1,4 @@ +# once fixed, please remove similar places in CMakeLists of libuv users (search "ch_contrib::uv") if (OS_DARWIN AND COMPILER_GCC) message (WARNING "libuv cannot be built with GCC in macOS due to a bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93082") return() diff --git a/contrib/libxml2 b/contrib/libxml2 index a075d256fd9..7846b0a677f 160000 --- a/contrib/libxml2 +++ b/contrib/libxml2 @@ -1 +1 @@ -Subproject commit a075d256fd9ff15590b86d981b75a50ead124fca +Subproject commit 7846b0a677f8d3ce72486125fa281e92ac9970e8 diff --git a/contrib/libxml2-cmake/CMakeLists.txt b/contrib/libxml2-cmake/CMakeLists.txt index e9c4641c161..a84936f8e3a 100644 --- a/contrib/libxml2-cmake/CMakeLists.txt +++ b/contrib/libxml2-cmake/CMakeLists.txt @@ -53,9 +53,6 @@ set(SRCS add_library(_libxml2 ${SRCS}) target_link_libraries(_libxml2 PRIVATE ch_contrib::zlib) -if(M_LIBRARY) - target_link_libraries(_libxml2 PRIVATE ${M_LIBRARY}) -endif() target_include_directories(_libxml2 BEFORE PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/linux_x86_64/include") target_include_directories(_libxml2 BEFORE PUBLIC "${LIBXML2_SOURCE_DIR}/include") diff --git a/contrib/llvm-cmake/CMakeLists.txt b/contrib/llvm-cmake/CMakeLists.txt index 87c8a65510f..4a4a5cef62e 100644 --- a/contrib/llvm-cmake/CMakeLists.txt +++ b/contrib/llvm-cmake/CMakeLists.txt @@ -76,9 +76,7 @@ message (STATUS "LLVM library Directory: ${LLVM_LIBRARY_DIRS}") message (STATUS "LLVM C++ compiler flags: ${LLVM_CXXFLAGS}") # ld: unknown option: --color-diagnostics -if (APPLE) - set (LINKER_SUPPORTS_COLOR_DIAGNOSTICS 0 CACHE INTERNAL "") -endif () +set (LINKER_SUPPORTS_COLOR_DIAGNOSTICS 0 CACHE INTERNAL "") # Do not adjust RPATH in llvm, since then it will not be able to find libcxx/libcxxabi/libunwind set (CMAKE_INSTALL_RPATH "ON") @@ -95,6 +93,18 @@ set (CMAKE_CXX_STANDARD 17) set (LLVM_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/llvm/llvm") set (LLVM_BINARY_DIR "${ClickHouse_BINARY_DIR}/contrib/llvm/llvm") add_subdirectory ("${LLVM_SOURCE_DIR}" "${LLVM_BINARY_DIR}") +set_directory_properties (PROPERTIES + # due to llvm crosscompile cmake does not know how to clean it, and on clean + # will lead to the following error: + # + # ninja: error: remove(contrib/llvm/llvm/NATIVE): Directory not empty + # + ADDITIONAL_CLEAN_FILES "${LLVM_BINARY_DIR}" + # llvm's cmake configuring this file only when cmake runs, + # and after clean cmake will not know that it should re-run, + # add explicitly depends from llvm-config.h + CMAKE_CONFIGURE_DEPENDS "${LLVM_BINARY_DIR}/include/llvm/Config/llvm-config.h" +) add_library (_llvm INTERFACE) target_link_libraries (_llvm INTERFACE ${REQUIRED_LLVM_LIBRARIES}) diff --git a/contrib/mariadb-connector-c b/contrib/mariadb-connector-c index 5f4034a3a63..e39608998f5 160000 --- a/contrib/mariadb-connector-c +++ b/contrib/mariadb-connector-c @@ -1 +1 @@ -Subproject commit 5f4034a3a6376416504f17186c55fe401c6d8e5e +Subproject commit e39608998f5f6944ece9ec61f48e9172ec1de660 diff --git a/contrib/minizip-ng-cmake/CMakeLists.txt b/contrib/minizip-ng-cmake/CMakeLists.txt index 4aabbd3c9fb..043f0fc68f9 100644 --- a/contrib/minizip-ng-cmake/CMakeLists.txt +++ b/contrib/minizip-ng-cmake/CMakeLists.txt @@ -1,6 +1,6 @@ option(ENABLE_MINIZIP "Enable minizip-ng the zip manipulation library" ${ENABLE_LIBRARIES}) if (NOT ENABLE_MINIZIP) - message (STATUS "minizip-ng disabled") + message (STATUS "Not using minizip-ng") return() endif() diff --git a/contrib/msgpack-c b/contrib/msgpack-c index 790b3fe58eb..46684265d50 160000 --- a/contrib/msgpack-c +++ b/contrib/msgpack-c @@ -1 +1 @@ -Subproject commit 790b3fe58ebded7a8bd130782ef28bec5784c248 +Subproject commit 46684265d50b5d1b062d4c5c428ba08462844b1d diff --git a/contrib/nanodbc-cmake/CMakeLists.txt b/contrib/nanodbc-cmake/CMakeLists.txt index 9ed6c9525b6..7aacf5bed7e 100644 --- a/contrib/nanodbc-cmake/CMakeLists.txt +++ b/contrib/nanodbc-cmake/CMakeLists.txt @@ -2,12 +2,12 @@ if (NOT ENABLE_ODBC) return () endif () -set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/nanodbc") - if (NOT TARGET ch_contrib::unixodbc) message(FATAL_ERROR "Configuration error: unixodbc is not a target") endif() +set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/nanodbc") + set (SRCS "${LIBRARY_DIR}/nanodbc/nanodbc.cpp" ) diff --git a/contrib/nats-io b/contrib/nats-io new file mode 160000 index 00000000000..1e2597c5461 --- /dev/null +++ b/contrib/nats-io @@ -0,0 +1 @@ +Subproject commit 1e2597c54616015077e53a26d56b6bac448eb1b6 diff --git a/contrib/nats-io-cmake/CMakeLists.txt b/contrib/nats-io-cmake/CMakeLists.txt new file mode 100644 index 00000000000..579bf6f8ae4 --- /dev/null +++ b/contrib/nats-io-cmake/CMakeLists.txt @@ -0,0 +1,61 @@ +option (ENABLE_NATS "Enable NATS" ${ENABLE_LIBRARIES}) + +if (OS_FREEBSD) + set(ENABLE_NATS OFF) + message (STATUS "Using internal nats-io library on FreeBSD is not supported") +endif() + +if (NOT ENABLE_NATS) + message(STATUS "Not using nats-io") + return() +endif() + +set(NATS_IO_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/nats-io/src") + +if(UNIX) + set(NATS_PLATFORM_INCLUDE "unix") +elseif(WIN32) + set(NATS_PLATFORM_INCLUDE "apple") +endif() + +add_definitions(-DNATS_HAS_TLS) + +file(GLOB PS_SOURCES "${NATS_IO_SOURCE_DIR}/${NATS_PLATFORM_INCLUDE}/*.c") +set(SRCS + "${NATS_IO_SOURCE_DIR}/asynccb.c" + "${NATS_IO_SOURCE_DIR}/buf.c" + "${NATS_IO_SOURCE_DIR}/comsock.c" + "${NATS_IO_SOURCE_DIR}/conn.c" + "${NATS_IO_SOURCE_DIR}/crypto.c" + "${NATS_IO_SOURCE_DIR}/hash.c" + "${NATS_IO_SOURCE_DIR}/js.c" + "${NATS_IO_SOURCE_DIR}/jsm.c" + "${NATS_IO_SOURCE_DIR}/kv.c" + "${NATS_IO_SOURCE_DIR}/msg.c" + "${NATS_IO_SOURCE_DIR}/nats.c" + "${NATS_IO_SOURCE_DIR}/natstime.c" + "${NATS_IO_SOURCE_DIR}/nkeys.c" + "${NATS_IO_SOURCE_DIR}/nuid.c" + "${NATS_IO_SOURCE_DIR}/opts.c" + "${NATS_IO_SOURCE_DIR}/parser.c" + "${NATS_IO_SOURCE_DIR}/pub.c" + "${NATS_IO_SOURCE_DIR}/srvpool.c" + "${NATS_IO_SOURCE_DIR}/stats.c" + "${NATS_IO_SOURCE_DIR}/status.c" + "${NATS_IO_SOURCE_DIR}/sub.c" + "${NATS_IO_SOURCE_DIR}/timer.c" + "${NATS_IO_SOURCE_DIR}/url.c" + "${NATS_IO_SOURCE_DIR}/util.c" +) + +add_library(_nats_io ${SRCS} ${PS_SOURCES}) +add_library(ch_contrib::nats_io ALIAS _nats_io) + +target_include_directories(_nats_io SYSTEM PUBLIC ${NATS_IO_SOURCE_DIR}) +target_include_directories(_nats_io SYSTEM PUBLIC ${NATS_IO_SOURCE_DIR}/adapters) +target_include_directories(_nats_io SYSTEM PUBLIC ${NATS_IO_SOURCE_DIR}/include) +target_include_directories(_nats_io SYSTEM PUBLIC ${NATS_IO_SOURCE_DIR}/${NATS_PLATFORM_INCLUDE}) + +target_link_libraries(_nats_io + PRIVATE OpenSSL::Crypto OpenSSL::SSL ch_contrib::uv +) diff --git a/contrib/poco b/contrib/poco index de35b9fd72b..9fec8e11dbb 160000 --- a/contrib/poco +++ b/contrib/poco @@ -1 +1 @@ -Subproject commit de35b9fd72b57127abdc3a5beaf0e320d767e356 +Subproject commit 9fec8e11dbb6a352e1cfba8cc9e23ebd7fb77310 diff --git a/contrib/poco-cmake/XML/CMakeLists.txt b/contrib/poco-cmake/XML/CMakeLists.txt index 45100f11eb7..97e655a0f04 100644 --- a/contrib/poco-cmake/XML/CMakeLists.txt +++ b/contrib/poco-cmake/XML/CMakeLists.txt @@ -11,6 +11,7 @@ add_library (_poco_xml_expat ${SRCS_EXPAT}) add_library (Poco::XML::Expat ALIAS _poco_xml_expat) target_include_directories (_poco_xml_expat PUBLIC "${LIBRARY_DIR}/XML/include") +target_include_directories (_poco_xml_expat PRIVATE "${LIBRARY_DIR}/Foundation/include") # Poco::XML diff --git a/contrib/qpl b/contrib/qpl new file mode 160000 index 00000000000..cdc8442f7a5 --- /dev/null +++ b/contrib/qpl @@ -0,0 +1 @@ +Subproject commit cdc8442f7a5e7a6ff6eea39c69665e0c5034d85d diff --git a/contrib/qpl-cmake/CMakeLists.txt b/contrib/qpl-cmake/CMakeLists.txt new file mode 100644 index 00000000000..dc90f07a9bc --- /dev/null +++ b/contrib/qpl-cmake/CMakeLists.txt @@ -0,0 +1,322 @@ +## The Intel® QPL provides high performance implementations of data processing functions for existing hardware accelerator, and/or software path in case if hardware accelerator is not available. +if (OS_LINUX AND ARCH_AMD64 AND (ENABLE_AVX2 OR ENABLE_AVX512)) + option (ENABLE_QPL "Enable Intel® Query Processing Library" ${ENABLE_LIBRARIES}) +elseif(ENABLE_QPL) + message (${RECONFIGURE_MESSAGE_LEVEL} "QPL library is only supported on x86_64 arch with avx2/avx512 support") +endif() + +if (NOT ENABLE_QPL) + message(STATUS "Not using QPL") + return() +endif() + +set (QPL_PROJECT_DIR "${ClickHouse_SOURCE_DIR}/contrib/qpl") +set (QPL_SRC_DIR "${ClickHouse_SOURCE_DIR}/contrib/qpl/sources") +set (QPL_BINARY_DIR "${ClickHouse_BINARY_DIR}/build/contrib/qpl") +set (UUID_DIR "${ClickHouse_SOURCE_DIR}/contrib/qpl-cmake") + +set (EFFICIENT_WAIT ON) +set (BLOCK_ON_FAULT ON) +set (LOG_HW_INIT OFF) +set (SANITIZE_MEMORY OFF) +set (SANITIZE_THREADS OFF) +set (LIB_FUZZING_ENGINE OFF) + +function(GetLibraryVersion _content _outputVar) + string(REGEX MATCHALL "Qpl VERSION (.+) LANGUAGES" VERSION_REGEX "${_content}") + SET(${_outputVar} ${CMAKE_MATCH_1} PARENT_SCOPE) +endfunction() + +FILE(READ "${QPL_PROJECT_DIR}/CMakeLists.txt" HEADER_CONTENT) +GetLibraryVersion("${HEADER_CONTENT}" QPL_VERSION) + +message(STATUS "Intel QPL version: ${QPL_VERSION}") + +# There are 5 source subdirectories under $QPL_SRC_DIR: isal, c_api, core-sw, middle-layer, c_api. +# Generate 7 library targets: middle_layer_lib, isal, isal_asm, qplcore_px, qplcore_avx512, core_iaa, middle_layer_lib. +# Output ch_contrib::qpl by linking with 7 library targets. + +include("${QPL_PROJECT_DIR}/cmake/CompileOptions.cmake") + +# check nasm compiler +include(CheckLanguage) +check_language(ASM_NASM) +if(NOT CMAKE_ASM_NASM_COMPILER) + message(FATAL_ERROR "Please install NASM from 'https://www.nasm.us/' because NASM compiler can not be found!") +endif() + +# [SUBDIR]isal +enable_language(ASM_NASM) + +set(ISAL_C_SRC ${QPL_SRC_DIR}/isal/igzip/adler32_base.c + ${QPL_SRC_DIR}/isal/igzip/huff_codes.c + ${QPL_SRC_DIR}/isal/igzip/hufftables_c.c + ${QPL_SRC_DIR}/isal/igzip/igzip.c + ${QPL_SRC_DIR}/isal/igzip/igzip_base.c + ${QPL_SRC_DIR}/isal/igzip/flatten_ll.c + ${QPL_SRC_DIR}/isal/igzip/encode_df.c + ${QPL_SRC_DIR}/isal/igzip/igzip_icf_base.c + ${QPL_SRC_DIR}/isal/igzip/igzip_inflate.c + ${QPL_SRC_DIR}/isal/igzip/igzip_icf_body.c + ${QPL_SRC_DIR}/isal/crc/crc_base.c + ${QPL_SRC_DIR}/isal/crc/crc64_base.c) + +set(ISAL_ASM_SRC ${QPL_SRC_DIR}/isal/igzip/igzip_body.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_gen_icf_map_lh1_04.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_gen_icf_map_lh1_06.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_decode_block_stateless_04.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_finish.asm + ${QPL_SRC_DIR}/isal/igzip/encode_df_04.asm + ${QPL_SRC_DIR}/isal/igzip/encode_df_06.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_decode_block_stateless_01.asm + ${QPL_SRC_DIR}/isal/igzip/proc_heap.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_icf_body_h1_gr_bt.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_icf_finish.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_inflate_multibinary.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_update_histogram_01.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_update_histogram_04.asm + ${QPL_SRC_DIR}/isal/igzip/rfc1951_lookup.asm + ${QPL_SRC_DIR}/isal/igzip/adler32_sse.asm + ${QPL_SRC_DIR}/isal/igzip/adler32_avx2_4.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_deflate_hash.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_set_long_icf_fg_04.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_set_long_icf_fg_06.asm + ${QPL_SRC_DIR}/isal/igzip/igzip_multibinary.asm + ${QPL_SRC_DIR}/isal/igzip/stdmac.asm + ${QPL_SRC_DIR}/isal/crc/crc_multibinary.asm + ${QPL_SRC_DIR}/isal/crc/crc32_gzip_refl_by8.asm + ${QPL_SRC_DIR}/isal/crc/crc32_gzip_refl_by8_02.asm + ${QPL_SRC_DIR}/isal/crc/crc32_gzip_refl_by16_10.asm + ${QPL_SRC_DIR}/isal/crc/crc32_ieee_01.asm + ${QPL_SRC_DIR}/isal/crc/crc32_ieee_02.asm + ${QPL_SRC_DIR}/isal/crc/crc32_ieee_by4.asm + ${QPL_SRC_DIR}/isal/crc/crc32_ieee_by16_10.asm + ${QPL_SRC_DIR}/isal/crc/crc32_iscsi_00.asm + ${QPL_SRC_DIR}/isal/crc/crc32_iscsi_01.asm + ${QPL_SRC_DIR}/isal/crc/crc32_iscsi_by16_10.asm) + +# Adding ISA-L library target +add_library(isal OBJECT ${ISAL_C_SRC}) +add_library(isal_asm OBJECT ${ISAL_ASM_SRC}) + +# Setting external and internal interfaces for ISA-L library +target_include_directories(isal + PUBLIC $ + PRIVATE ${QPL_SRC_DIR}/isal/include + PUBLIC ${QPL_SRC_DIR}/isal/igzip) + +target_compile_options(isal PRIVATE + "$<$:${QPL_LINUX_TOOLCHAIN_REQUIRED_FLAGS}>" + "$<$:>" + "$<$:>") + +target_compile_options(isal_asm PUBLIC "-I${QPL_SRC_DIR}/isal/include/" + PUBLIC "-I${QPL_SRC_DIR}/isal/igzip/" + PUBLIC "-I${QPL_SRC_DIR}/isal/crc/" + PUBLIC "-DQPL_LIB") + +# AS_FEATURE_LEVEL=10 means "Check SIMD capabilities of the target system at runtime and use up to AVX512 if available". +# AS_FEATURE_LEVEL=5 means "Check SIMD capabilities of the target system at runtime and use up to AVX2 if available". +# HAVE_KNOWS_AVX512 means rely on AVX512 being available on the target system. +if (ENABLE_AVX512) + target_compile_options(isal_asm PUBLIC "-DHAVE_AS_KNOWS_AVX512" "-DAS_FEATURE_LEVEL=10") +else() + target_compile_options(isal_asm PUBLIC "-DAS_FEATURE_LEVEL=5") +endif() + +# Here must remove "-fno-sanitize=undefined" from COMPILE_OPTIONS. +# Otherwise nasm compiler would fail to proceed due to unrecognition of "-fno-sanitize=undefined" +if (SANITIZE STREQUAL "undefined") + get_target_property(target_options isal_asm COMPILE_OPTIONS) + list(REMOVE_ITEM target_options "-fno-sanitize=undefined") + set_property(TARGET isal_asm PROPERTY COMPILE_OPTIONS ${target_options}) +endif() + +target_compile_definitions(isal PUBLIC + QPL_LIB + NDEBUG) + +# [SUBDIR]core-sw +# Two libraries:qplcore_avx512/qplcore_px for SW fallback will be created which are implemented by AVX512 and non-AVX512 instructions respectively. +# The upper level QPL API will check SIMD capabilities of the target system at runtime and decide to call AVX512 function or non-AVX512 function. +# Hence, here we don't need put qplcore_avx512 under an ENABLE_AVX512 CMake switch. +# Actually, if we do that, some undefined symbols errors would happen because both of AVX512 function and non-AVX512 function are referenced by QPL API. +# PLATFORM=2 means AVX512 implementation; PLATFORM=0 means non-AVX512 implementation. + +# Find Core Sources +file(GLOB SOURCES + ${QPL_SRC_DIR}/core-sw/src/checksums/*.c + ${QPL_SRC_DIR}/core-sw/src/filtering/*.c + ${QPL_SRC_DIR}/core-sw/src/other/*.c + ${QPL_SRC_DIR}/core-sw/src/compression/*.c) + +file(GLOB DATA_SOURCES + ${QPL_SRC_DIR}/core-sw/src/data/*.c) + +# Create avx512 library +add_library(qplcore_avx512 OBJECT ${SOURCES}) + +target_compile_definitions(qplcore_avx512 PRIVATE PLATFORM=2) + +target_include_directories(qplcore_avx512 + PUBLIC $ + PUBLIC $ + PUBLIC $ + PRIVATE $) + +set_target_properties(qplcore_avx512 PROPERTIES + $<$:C_STANDARD 17>) + +target_link_libraries(qplcore_avx512 ${CMAKE_DL_LIBS} isal) + +target_compile_options(qplcore_avx512 + PRIVATE ${QPL_LINUX_TOOLCHAIN_REQUIRED_FLAGS} + PRIVATE -march=skylake-avx512 + PRIVATE "$<$:>" + PRIVATE "$<$:-O3;-D_FORTIFY_SOURCE=2>") + + +target_compile_definitions(qplcore_avx512 PUBLIC QPL_BADARG_CHECK) + +# +# Create px library +# +#set(CMAKE_INCLUDE_CURRENT_DIR ON) + +# Create library +add_library(qplcore_px OBJECT ${SOURCES} ${DATA_SOURCES}) + +target_compile_definitions(qplcore_px PRIVATE PLATFORM=0) + +target_include_directories(qplcore_px + PUBLIC $ + PUBLIC $ + PUBLIC $ + PRIVATE $) + +set_target_properties(qplcore_px PROPERTIES + $<$:C_STANDARD 17>) + +target_link_libraries(qplcore_px isal ${CMAKE_DL_LIBS}) + +target_compile_options(qplcore_px + PRIVATE ${QPL_LINUX_TOOLCHAIN_REQUIRED_FLAGS} + PRIVATE "$<$:>" + PRIVATE "$<$:-O3;-D_FORTIFY_SOURCE=2>") + +target_compile_definitions(qplcore_px PUBLIC QPL_BADARG_CHECK) + +# [SUBDIR]core-iaa +file(GLOB HW_PATH_SRC ${QPL_SRC_DIR}/core-iaa/sources/aecs/*.c + ${QPL_SRC_DIR}/core-iaa/sources/aecs/*.cpp + ${QPL_SRC_DIR}/core-iaa/sources/driver_loader/*.c + ${QPL_SRC_DIR}/core-iaa/sources/driver_loader/*.cpp + ${QPL_SRC_DIR}/core-iaa/sources/descriptors/*.c + ${QPL_SRC_DIR}/core-iaa/sources/descriptors/*.cpp + ${QPL_SRC_DIR}/core-iaa/sources/bit_rev.c) + +# Create library +add_library(core_iaa OBJECT ${HW_PATH_SRC}) + +target_include_directories(core_iaa + PRIVATE ${UUID_DIR} + PUBLIC $ + PRIVATE $ + PRIVATE $) + +target_compile_options(core_iaa + PRIVATE $<$:${QPL_LINUX_TOOLCHAIN_REQUIRED_FLAGS}; + $<$:-O3;-D_FORTIFY_SOURCE=2>>) + +target_compile_features(core_iaa PRIVATE c_std_11) + +target_compile_definitions(core_iaa PRIVATE QPL_BADARG_CHECK + PRIVATE $<$: BLOCK_ON_FAULT_ENABLED> + PRIVATE $<$:LOG_HW_INIT>) + +# [SUBDIR]middle-layer +generate_unpack_kernel_arrays(${QPL_BINARY_DIR}) + +file(GLOB MIDDLE_LAYER_SRC + ${QPL_SRC_DIR}/middle-layer/analytics/*.cpp + ${QPL_SRC_DIR}/middle-layer/c_wrapper/*.cpp + ${QPL_SRC_DIR}/middle-layer/checksum/*.cpp + ${QPL_SRC_DIR}/middle-layer/common/*.cpp + ${QPL_SRC_DIR}/middle-layer/compression/*.cpp + ${QPL_SRC_DIR}/middle-layer/compression/*/*.cpp + ${QPL_SRC_DIR}/middle-layer/compression/*/*/*.cpp + ${QPL_SRC_DIR}/middle-layer/dispatcher/*.cpp + ${QPL_SRC_DIR}/middle-layer/other/*.cpp + ${QPL_SRC_DIR}/middle-layer/util/*.cpp + ${QPL_SRC_DIR}/middle-layer/inflate/*.cpp + ${QPL_SRC_DIR}/core-iaa/sources/accelerator/*.cpp) # todo + +file(GLOB GENERATED_PX_TABLES_SRC ${QPL_BINARY_DIR}/generated/px_*.cpp) +file(GLOB GENERATED_AVX512_TABLES_SRC ${QPL_BINARY_DIR}/generated/avx512_*.cpp) + +add_library(middle_layer_lib OBJECT + ${GENERATED_PX_TABLES_SRC} + ${GENERATED_AVX512_TABLES_SRC} + ${MIDDLE_LAYER_SRC}) + +target_compile_options(middle_layer_lib + PRIVATE $<$:${QPL_LINUX_TOOLCHAIN_REQUIRED_FLAGS}; + ${QPL_LINUX_TOOLCHAIN_DYNAMIC_LIBRARY_FLAGS}; + $<$:-O3;-D_FORTIFY_SOURCE=2>> + PRIVATE $<$:${QPL_LINUX_TOOLCHAIN_CPP_EMBEDDED_FLAGS}>) + +target_compile_definitions(middle_layer_lib + PUBLIC QPL_VERSION="${QPL_VERSION}" + PUBLIC $<$:LOG_HW_INIT> + PUBLIC $<$:QPL_EFFICIENT_WAIT> + PUBLIC QPL_BADARG_CHECK) + +set_source_files_properties(${GENERATED_PX_TABLES_SRC} PROPERTIES COMPILE_DEFINITIONS PLATFORM=0) +set_source_files_properties(${GENERATED_AVX512_TABLES_SRC} PROPERTIES COMPILE_DEFINITIONS PLATFORM=2) + +target_include_directories(middle_layer_lib + PRIVATE ${UUID_DIR} + PUBLIC $ + PUBLIC $ + PUBLIC $ + PUBLIC $ + PUBLIC $ + PUBLIC $) + +target_compile_definitions(middle_layer_lib PUBLIC -DQPL_LIB) + +# [SUBDIR]c_api +file(GLOB_RECURSE QPL_C_API_SRC + ${QPL_SRC_DIR}/c_api/*.c + ${QPL_SRC_DIR}/c_api/*.cpp) + +add_library(_qpl STATIC ${QPL_C_API_SRC} + $ + $ + $ + $ + $ + $ + $) + +target_include_directories(_qpl + PUBLIC $ + PRIVATE $ + PRIVATE $) + +target_compile_options(_qpl + PRIVATE $<$:${QPL_LINUX_TOOLCHAIN_REQUIRED_FLAGS}; + ${QPL_LINUX_TOOLCHAIN_DYNAMIC_LIBRARY_FLAGS}; + $<$:-O3;-D_FORTIFY_SOURCE=2>> + PRIVATE $<$:${QPL_LINUX_TOOLCHAIN_CPP_EMBEDDED_FLAGS}>) + +target_compile_definitions(_qpl + PRIVATE -DQPL_LIB + PRIVATE -DQPL_BADARG_CHECK + PUBLIC -DENABLE_QPL_COMPRESSION) + +target_link_libraries(_qpl + PRIVATE ${CMAKE_DL_LIBS}) + +add_library (ch_contrib::qpl ALIAS _qpl) +target_include_directories(_qpl SYSTEM BEFORE PUBLIC "${QPL_PROJECT_DIR}/include") diff --git a/contrib/qpl-cmake/uuid/uuid.h b/contrib/qpl-cmake/uuid/uuid.h new file mode 100644 index 00000000000..bf108ba0d29 --- /dev/null +++ b/contrib/qpl-cmake/uuid/uuid.h @@ -0,0 +1,4 @@ +#ifndef _QPL_UUID_UUID_H +#define _QPL_UUID_UUID_H +typedef unsigned char uuid_t[16]; +#endif /* _QPL_UUID_UUID_H */ diff --git a/contrib/rapidjson b/contrib/rapidjson index b571bd5c1a3..c4ef90ccdbc 160000 --- a/contrib/rapidjson +++ b/contrib/rapidjson @@ -1 +1 @@ -Subproject commit b571bd5c1a3b1fc931d77ae36932537a3c9018c3 +Subproject commit c4ef90ccdbc21d5d5a628d08316bfd301e32d6fa diff --git a/contrib/replxx-cmake/CMakeLists.txt b/contrib/replxx-cmake/CMakeLists.txt index 8487ad520bc..95a19875621 100644 --- a/contrib/replxx-cmake/CMakeLists.txt +++ b/contrib/replxx-cmake/CMakeLists.txt @@ -1,10 +1,3 @@ -option (ENABLE_REPLXX "Enable replxx support" ${ENABLE_LIBRARIES}) - -if (NOT ENABLE_REPLXX) - message (STATUS "Not using replxx") - return() -endif() - set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/replxx") set(SRCS @@ -22,9 +15,4 @@ set(SRCS add_library (_replxx ${SRCS}) target_include_directories(_replxx SYSTEM PUBLIC "${LIBRARY_DIR}/include") - -if (COMPILER_CLANG) - target_compile_options(_replxx PRIVATE -Wno-documentation) -endif () - add_library(ch_contrib::replxx ALIAS _replxx) diff --git a/contrib/s2geometry-cmake/CMakeLists.txt b/contrib/s2geometry-cmake/CMakeLists.txt index 49c80e45b18..102ceb0db3c 100644 --- a/contrib/s2geometry-cmake/CMakeLists.txt +++ b/contrib/s2geometry-cmake/CMakeLists.txt @@ -149,7 +149,3 @@ target_link_libraries(_s2 PRIVATE target_include_directories(_s2 SYSTEM BEFORE PUBLIC "${S2_SOURCE_DIR}/") target_include_directories(_s2 SYSTEM PUBLIC "${ABSL_SOURCE_DIR}") - -if(M_LIBRARY) - target_link_libraries(_s2 PRIVATE ${M_LIBRARY}) -endif() diff --git a/contrib/simdjson b/contrib/simdjson index 8df32cea335..1075e8609c4 160000 --- a/contrib/simdjson +++ b/contrib/simdjson @@ -1 +1 @@ -Subproject commit 8df32cea3359cb30120795da6020b3b73da01d38 +Subproject commit 1075e8609c4afa253162d441437af929c29e31bb diff --git a/contrib/snappy b/contrib/snappy index 3786173af20..fb057edfed8 160000 --- a/contrib/snappy +++ b/contrib/snappy @@ -1 +1 @@ -Subproject commit 3786173af204d21da97180977ad6ab4321138b3d +Subproject commit fb057edfed820212076239fd32cb2ff23e9016bf diff --git a/contrib/thrift b/contrib/thrift index 010ccf0a0c7..2a93df80f27 160000 --- a/contrib/thrift +++ b/contrib/thrift @@ -1 +1 @@ -Subproject commit 010ccf0a0c7023fea0f6bf4e4078ebdff7e61982 +Subproject commit 2a93df80f27739ccabb5b885cb12a8dc7595ecdf diff --git a/contrib/thrift-cmake/CMakeLists.txt b/contrib/thrift-cmake/CMakeLists.txt index 2a62a6fe7ab..d6aa6b9e5f2 100644 --- a/contrib/thrift-cmake/CMakeLists.txt +++ b/contrib/thrift-cmake/CMakeLists.txt @@ -1,7 +1,7 @@ option(ENABLE_THRIFT "Enable Thrift" ${ENABLE_LIBRARIES}) if (NOT ENABLE_THRIFT) - message (STATUS "thrift disabled") + message (STATUS "Not using thrift") return() endif() @@ -15,7 +15,6 @@ set(thriftcpp_SOURCES "${LIBRARY_DIR}/src/thrift/async/TConcurrentClientSyncInfo.cpp" "${LIBRARY_DIR}/src/thrift/concurrency/ThreadManager.cpp" "${LIBRARY_DIR}/src/thrift/concurrency/TimerManager.cpp" - "${LIBRARY_DIR}/src/thrift/concurrency/Util.cpp" "${LIBRARY_DIR}/src/thrift/processor/PeekProcessor.cpp" "${LIBRARY_DIR}/src/thrift/protocol/TBase64Utils.cpp" "${LIBRARY_DIR}/src/thrift/protocol/TDebugProtocol.cpp" @@ -33,6 +32,8 @@ set(thriftcpp_SOURCES "${LIBRARY_DIR}/src/thrift/transport/TServerSocket.cpp" "${LIBRARY_DIR}/src/thrift/transport/TTransportUtils.cpp" "${LIBRARY_DIR}/src/thrift/transport/TBufferTransports.cpp" + "${LIBRARY_DIR}/src/thrift/transport/SocketCommon.cpp" + "${LIBRARY_DIR}/src/thrift/transport/TWebSocketServer.cpp" "${LIBRARY_DIR}/src/thrift/server/TConnectedClient.cpp" "${LIBRARY_DIR}/src/thrift/server/TServerFramework.cpp" "${LIBRARY_DIR}/src/thrift/server/TSimpleServer.cpp" @@ -92,4 +93,4 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}") add_library(_thrift ${thriftcpp_SOURCES} ${thriftcpp_threads_SOURCES}) add_library(ch_contrib::thrift ALIAS _thrift) target_include_directories(_thrift SYSTEM PUBLIC "${ClickHouse_SOURCE_DIR}/contrib/thrift/lib/cpp/src" ${CMAKE_CURRENT_BINARY_DIR}) -target_link_libraries (_thrift PUBLIC boost::headers_only) +target_link_libraries (_thrift PUBLIC OpenSSL::SSL boost::headers_only) diff --git a/contrib/unixodbc-cmake/CMakeLists.txt b/contrib/unixodbc-cmake/CMakeLists.txt index b594ead3ba0..3317654cd67 100644 --- a/contrib/unixodbc-cmake/CMakeLists.txt +++ b/contrib/unixodbc-cmake/CMakeLists.txt @@ -294,14 +294,6 @@ target_include_directories (_unixodbc "${LIBRARY_DIR}/include" ) target_compile_definitions (_unixodbc PRIVATE -DHAVE_CONFIG_H) -target_compile_options (_unixodbc - PRIVATE - -Wno-dangling-else - -Wno-parentheses - -Wno-misleading-indentation - -Wno-unknown-warning-option - -Wno-reserved-id-macro - -O2 -) +target_compile_options (_unixodbc PRIVATE -O2) # intended? add_library (ch_contrib::unixodbc ALIAS _unixodbc) diff --git a/contrib/vectorscan b/contrib/vectorscan new file mode 160000 index 00000000000..73695e419c2 --- /dev/null +++ b/contrib/vectorscan @@ -0,0 +1 @@ +Subproject commit 73695e419c27af7fe2a099c7aa57931cc02aea5d diff --git a/contrib/hyperscan-cmake/CMakeLists.txt b/contrib/vectorscan-cmake/CMakeLists.txt similarity index 72% rename from contrib/hyperscan-cmake/CMakeLists.txt rename to contrib/vectorscan-cmake/CMakeLists.txt index 02c823a3a42..bc17105be99 100644 --- a/contrib/hyperscan-cmake/CMakeLists.txt +++ b/contrib/vectorscan-cmake/CMakeLists.txt @@ -1,54 +1,67 @@ -if (HAVE_SSSE3) - option (ENABLE_HYPERSCAN "Enable hyperscan library" ${ENABLE_LIBRARIES}) -elseif(ENABLE_HYPERSCAN) - message (${RECONFIGURE_MESSAGE_LEVEL} "Can't use hyperscan without SSSE3") - set (ENABLE_HYPERSCAN OFF) -endif () +# We use vectorscan, a portable and API/ABI-compatible drop-in replacement for hyperscan. -if (NOT ENABLE_HYPERSCAN) - message (STATUS "Not using hyperscan") +if (ARCH_AMD64) + option (ENABLE_VECTORSCAN "Enable vectorscan library" ${ENABLE_LIBRARIES}) +endif() + +# TODO: vectorscan supports ARM yet some tests involving cyrillic letters fail (PR #38171) ... needs further investigation + +# TODO PPC should generally work but needs manual generation of ppc/config.h file on a PPC machine + +if (NOT ENABLE_VECTORSCAN) + message (STATUS "Not using vectorscan") return() endif() -set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/hyperscan") +set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/vectorscan") +# Gobble up all c/cpp files in vectorscan/src/, omit *dump*.c/cpp files as we don't use the dump feature (see x86/config.h) set (SRCS "${LIBRARY_DIR}/src/alloc.c" + "${LIBRARY_DIR}/src/crc32.c" + "${LIBRARY_DIR}/src/database.c" + # "${LIBRARY_DIR}/src/dispatcher.c" # the linker's wrath be upon those who include dispatcher.c. + "${LIBRARY_DIR}/src/grey.cpp" + "${LIBRARY_DIR}/src/hs.cpp" + "${LIBRARY_DIR}/src/hs_valid_platform.c" + "${LIBRARY_DIR}/src/hs_version.c" + "${LIBRARY_DIR}/src/runtime.c" + "${LIBRARY_DIR}/src/scratch.c" + "${LIBRARY_DIR}/src/stream_compress.c" + "${LIBRARY_DIR}/src/compiler/asserts.cpp" "${LIBRARY_DIR}/src/compiler/compiler.cpp" "${LIBRARY_DIR}/src/compiler/error.cpp" - "${LIBRARY_DIR}/src/crc32.c" - "${LIBRARY_DIR}/src/database.c" + "${LIBRARY_DIR}/src/fdr/engine_description.cpp" - "${LIBRARY_DIR}/src/fdr/fdr_compile_util.cpp" + "${LIBRARY_DIR}/src/fdr/fdr.c" "${LIBRARY_DIR}/src/fdr/fdr_compile.cpp" + "${LIBRARY_DIR}/src/fdr/fdr_compile_util.cpp" "${LIBRARY_DIR}/src/fdr/fdr_confirm_compile.cpp" "${LIBRARY_DIR}/src/fdr/fdr_engine_description.cpp" - "${LIBRARY_DIR}/src/fdr/fdr.c" "${LIBRARY_DIR}/src/fdr/flood_compile.cpp" + "${LIBRARY_DIR}/src/fdr/teddy.c" + "${LIBRARY_DIR}/src/fdr/teddy_avx2.c" "${LIBRARY_DIR}/src/fdr/teddy_compile.cpp" "${LIBRARY_DIR}/src/fdr/teddy_engine_description.cpp" - "${LIBRARY_DIR}/src/fdr/teddy.c" - "${LIBRARY_DIR}/src/grey.cpp" - "${LIBRARY_DIR}/src/hs_valid_platform.c" - "${LIBRARY_DIR}/src/hs_version.c" - "${LIBRARY_DIR}/src/hs.cpp" + + "${LIBRARY_DIR}/src/hwlm/hwlm.c" "${LIBRARY_DIR}/src/hwlm/hwlm_build.cpp" "${LIBRARY_DIR}/src/hwlm/hwlm_literal.cpp" - "${LIBRARY_DIR}/src/hwlm/hwlm.c" "${LIBRARY_DIR}/src/hwlm/noodle_build.cpp" - "${LIBRARY_DIR}/src/hwlm/noodle_engine.c" - "${LIBRARY_DIR}/src/nfa/accel_dfa_build_strat.cpp" + "${LIBRARY_DIR}/src/hwlm/noodle_engine.cpp" + "${LIBRARY_DIR}/src/nfa/accel.c" + "${LIBRARY_DIR}/src/nfa/accel_dfa_build_strat.cpp" "${LIBRARY_DIR}/src/nfa/accelcompile.cpp" "${LIBRARY_DIR}/src/nfa/castle.c" "${LIBRARY_DIR}/src/nfa/castlecompile.cpp" "${LIBRARY_DIR}/src/nfa/dfa_build_strat.cpp" "${LIBRARY_DIR}/src/nfa/dfa_min.cpp" "${LIBRARY_DIR}/src/nfa/gough.c" + "${LIBRARY_DIR}/src/nfa/goughcompile.cpp" "${LIBRARY_DIR}/src/nfa/goughcompile_accel.cpp" "${LIBRARY_DIR}/src/nfa/goughcompile_reg.cpp" - "${LIBRARY_DIR}/src/nfa/goughcompile.cpp" "${LIBRARY_DIR}/src/nfa/lbr.c" "${LIBRARY_DIR}/src/nfa/limex_64.c" "${LIBRARY_DIR}/src/nfa/limex_accel.c" @@ -59,28 +72,32 @@ set (SRCS "${LIBRARY_DIR}/src/nfa/limex_simd384.c" "${LIBRARY_DIR}/src/nfa/limex_simd512.c" "${LIBRARY_DIR}/src/nfa/mcclellan.c" - "${LIBRARY_DIR}/src/nfa/mcclellancompile_util.cpp" "${LIBRARY_DIR}/src/nfa/mcclellancompile.cpp" + "${LIBRARY_DIR}/src/nfa/mcclellancompile_util.cpp" + "${LIBRARY_DIR}/src/nfa/mcsheng.c" "${LIBRARY_DIR}/src/nfa/mcsheng_compile.cpp" "${LIBRARY_DIR}/src/nfa/mcsheng_data.c" - "${LIBRARY_DIR}/src/nfa/mcsheng.c" "${LIBRARY_DIR}/src/nfa/mpv.c" "${LIBRARY_DIR}/src/nfa/mpvcompile.cpp" "${LIBRARY_DIR}/src/nfa/nfa_api_dispatch.c" "${LIBRARY_DIR}/src/nfa/nfa_build_util.cpp" + "${LIBRARY_DIR}/src/nfa/rdfa.cpp" "${LIBRARY_DIR}/src/nfa/rdfa_graph.cpp" "${LIBRARY_DIR}/src/nfa/rdfa_merge.cpp" - "${LIBRARY_DIR}/src/nfa/rdfa.cpp" "${LIBRARY_DIR}/src/nfa/repeat.c" "${LIBRARY_DIR}/src/nfa/repeatcompile.cpp" "${LIBRARY_DIR}/src/nfa/sheng.c" "${LIBRARY_DIR}/src/nfa/shengcompile.cpp" - "${LIBRARY_DIR}/src/nfa/shufti.c" + "${LIBRARY_DIR}/src/nfa/shufti.cpp" "${LIBRARY_DIR}/src/nfa/shufticompile.cpp" "${LIBRARY_DIR}/src/nfa/tamarama.c" "${LIBRARY_DIR}/src/nfa/tamaramacompile.cpp" - "${LIBRARY_DIR}/src/nfa/truffle.c" + "${LIBRARY_DIR}/src/nfa/truffle.cpp" "${LIBRARY_DIR}/src/nfa/trufflecompile.cpp" + "${LIBRARY_DIR}/src/nfa/vermicelli_simd.cpp" + "${LIBRARY_DIR}/src/nfa/vermicellicompile.cpp" + + "${LIBRARY_DIR}/src/nfagraph/ng.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_anchored_acyclic.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_anchored_dots.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_asserts.cpp" @@ -100,8 +117,8 @@ set (SRCS "${LIBRARY_DIR}/src/nfagraph/ng_holder.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_is_equal.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_lbr.cpp" - "${LIBRARY_DIR}/src/nfagraph/ng_limex_accel.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_limex.cpp" + "${LIBRARY_DIR}/src/nfagraph/ng_limex_accel.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_literal_analysis.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_literal_component.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_literal_decorated.cpp" @@ -112,17 +129,17 @@ set (SRCS "${LIBRARY_DIR}/src/nfagraph/ng_prune.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_puff.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_redundancy.cpp" - "${LIBRARY_DIR}/src/nfagraph/ng_region_redundancy.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_region.cpp" + "${LIBRARY_DIR}/src/nfagraph/ng_region_redundancy.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_repeat.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_reports.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_restructuring.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_revacc.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_sep.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_small_literal_set.cpp" + "${LIBRARY_DIR}/src/nfagraph/ng_som.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_som_add_redundancy.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_som_util.cpp" - "${LIBRARY_DIR}/src/nfagraph/ng_som.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_split.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_squash.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_stop.cpp" @@ -132,10 +149,8 @@ set (SRCS "${LIBRARY_DIR}/src/nfagraph/ng_vacuous.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_violet.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_width.cpp" - "${LIBRARY_DIR}/src/nfagraph/ng.cpp" + "${LIBRARY_DIR}/src/parser/AsciiComponentClass.cpp" - "${LIBRARY_DIR}/src/parser/buildstate.cpp" - "${LIBRARY_DIR}/src/parser/check_refs.cpp" "${LIBRARY_DIR}/src/parser/Component.cpp" "${LIBRARY_DIR}/src/parser/ComponentAlternation.cpp" "${LIBRARY_DIR}/src/parser/ComponentAssertion.cpp" @@ -145,31 +160,34 @@ set (SRCS "${LIBRARY_DIR}/src/parser/ComponentByte.cpp" "${LIBRARY_DIR}/src/parser/ComponentClass.cpp" "${LIBRARY_DIR}/src/parser/ComponentCondReference.cpp" - "${LIBRARY_DIR}/src/parser/ComponentEmpty.cpp" "${LIBRARY_DIR}/src/parser/ComponentEUS.cpp" + "${LIBRARY_DIR}/src/parser/ComponentEmpty.cpp" "${LIBRARY_DIR}/src/parser/ComponentRepeat.cpp" "${LIBRARY_DIR}/src/parser/ComponentSequence.cpp" "${LIBRARY_DIR}/src/parser/ComponentVisitor.cpp" "${LIBRARY_DIR}/src/parser/ComponentWordBoundary.cpp" "${LIBRARY_DIR}/src/parser/ConstComponentVisitor.cpp" - "${LIBRARY_DIR}/src/parser/control_verbs.cpp" + "${LIBRARY_DIR}/src/parser/Utf8ComponentClass.cpp" + "${LIBRARY_DIR}/src/parser/buildstate.cpp" + "${LIBRARY_DIR}/src/parser/buildstate.cpp" + "${LIBRARY_DIR}/src/parser/check_refs.cpp" + "${LIBRARY_DIR}/src/parser/check_refs.cpp" "${LIBRARY_DIR}/src/parser/logical_combination.cpp" "${LIBRARY_DIR}/src/parser/parse_error.cpp" "${LIBRARY_DIR}/src/parser/parser_util.cpp" - "${LIBRARY_DIR}/src/parser/Parser.cpp" "${LIBRARY_DIR}/src/parser/prefilter.cpp" "${LIBRARY_DIR}/src/parser/shortcut_literal.cpp" "${LIBRARY_DIR}/src/parser/ucp_table.cpp" "${LIBRARY_DIR}/src/parser/unsupported.cpp" "${LIBRARY_DIR}/src/parser/utf8_validate.cpp" - "${LIBRARY_DIR}/src/parser/Utf8ComponentClass.cpp" + "${LIBRARY_DIR}/src/rose/block.c" "${LIBRARY_DIR}/src/rose/catchup.c" "${LIBRARY_DIR}/src/rose/init.c" "${LIBRARY_DIR}/src/rose/match.c" "${LIBRARY_DIR}/src/rose/program_runtime.c" - "${LIBRARY_DIR}/src/rose/rose_build_add_mask.cpp" "${LIBRARY_DIR}/src/rose/rose_build_add.cpp" + "${LIBRARY_DIR}/src/rose/rose_build_add_mask.cpp" "${LIBRARY_DIR}/src/rose/rose_build_anchored.cpp" "${LIBRARY_DIR}/src/rose/rose_build_bytecode.cpp" "${LIBRARY_DIR}/src/rose/rose_build_castle.cpp" @@ -187,53 +205,98 @@ set (SRCS "${LIBRARY_DIR}/src/rose/rose_build_matchers.cpp" "${LIBRARY_DIR}/src/rose/rose_build_merge.cpp" "${LIBRARY_DIR}/src/rose/rose_build_misc.cpp" + "${LIBRARY_DIR}/src/rose/rose_build_misc.cpp" "${LIBRARY_DIR}/src/rose/rose_build_program.cpp" "${LIBRARY_DIR}/src/rose/rose_build_role_aliasing.cpp" "${LIBRARY_DIR}/src/rose/rose_build_scatter.cpp" "${LIBRARY_DIR}/src/rose/rose_build_width.cpp" "${LIBRARY_DIR}/src/rose/rose_in_util.cpp" "${LIBRARY_DIR}/src/rose/stream.c" - "${LIBRARY_DIR}/src/runtime.c" - "${LIBRARY_DIR}/src/scratch.c" + "${LIBRARY_DIR}/src/smallwrite/smallwrite_build.cpp" + "${LIBRARY_DIR}/src/som/slot_manager.cpp" "${LIBRARY_DIR}/src/som/som_runtime.c" "${LIBRARY_DIR}/src/som/som_stream.c" - "${LIBRARY_DIR}/src/stream_compress.c" + "${LIBRARY_DIR}/src/util/alloc.cpp" "${LIBRARY_DIR}/src/util/charreach.cpp" "${LIBRARY_DIR}/src/util/clique.cpp" "${LIBRARY_DIR}/src/util/compile_context.cpp" "${LIBRARY_DIR}/src/util/compile_error.cpp" - "${LIBRARY_DIR}/src/util/cpuid_flags.c" "${LIBRARY_DIR}/src/util/depth.cpp" "${LIBRARY_DIR}/src/util/fatbit_build.cpp" - "${LIBRARY_DIR}/src/util/multibit_build.cpp" "${LIBRARY_DIR}/src/util/multibit.c" + "${LIBRARY_DIR}/src/util/multibit_build.cpp" "${LIBRARY_DIR}/src/util/report_manager.cpp" - "${LIBRARY_DIR}/src/util/simd_utils.c" "${LIBRARY_DIR}/src/util/state_compress.c" "${LIBRARY_DIR}/src/util/target_info.cpp" "${LIBRARY_DIR}/src/util/ue2string.cpp" ) -add_library (_hyperscan ${SRCS}) +# The original build system invokes ragel on src/parser/{Parser|control_verbs}.rl (+ a few more .rl files which are unneeded). To avoid a +# build-time dependency on ragel (via contrib/ or find_program()), add the manually generated output of ragel to the sources. +# Please regenerate these files if you update vectorscan. +list (APPEND SRCS + "${LIBRARY_DIR}/../vectorscan-cmake/rageled_files/Parser.cpp" + "${LIBRARY_DIR}/../vectorscan-cmake/rageled_files/control_verbs.cpp" +) -target_compile_options (_hyperscan - PRIVATE -g0 # Library has too much debug information - -mno-avx -mno-avx2 # The library is using dynamic dispatch and is confused if AVX is enabled globally - -march=corei7 -O2 -fno-strict-aliasing -fno-omit-frame-pointer -fvisibility=hidden # The options from original build system - -fno-sanitize=undefined # Assume the library takes care of itself -) -target_include_directories (_hyperscan - PRIVATE - common - "${LIBRARY_DIR}/include" -) -target_include_directories (_hyperscan SYSTEM PUBLIC "${LIBRARY_DIR}/src") +# Platform-dependent files if (ARCH_AMD64) - target_include_directories (_hyperscan PRIVATE x86_64) -endif () -target_link_libraries (_hyperscan PRIVATE boost::headers_only) + list(APPEND SRCS + "${LIBRARY_DIR}/src/util/arch/x86/cpuid_flags.c" + "${LIBRARY_DIR}/src/util/arch/x86/masked_move.c" + "${LIBRARY_DIR}/src/util/supervector/arch/x86/impl.cpp" + ) +endif() -add_library (ch_contrib::hyperscan ALIAS _hyperscan) +if (ARCH_AARCH64) + list(APPEND SRCS + "${LIBRARY_DIR}/src/util/arch/arm/cpuid_flags.c" + "${LIBRARY_DIR}/src/util/supervector/arch/arm/impl.cpp" + ) +endif() + +# TODO +# if (ARCH_PPC64LE) +# list(APPEND SRCS +# "${LIBRARY_DIR}/src/util/supervector/arch/ppc64el/impl.cpp" +# ) +# endif() + +add_library (_vectorscan ${SRCS}) + +target_compile_options (_vectorscan PRIVATE + -fno-sanitize=undefined # assume the library takes care of itself + -O2 -fno-strict-aliasing -fno-omit-frame-pointer -fvisibility=hidden # options from original build system +) +# library has too much debug information +if (OMIT_HEAVY_DEBUG_SYMBOLS) + target_compile_options (_vectorscan PRIVATE -g0) +endif() + +# Include version header manually generated by running the original build system +target_include_directories (_vectorscan SYSTEM PRIVATE common) + +# vectorscan inherited some patched in-source versions of boost headers to fix a bug in +# boost 1.69. This bug has been solved long ago but vectorscan's source code still +# points to the patched versions, so include it here. +target_include_directories (_vectorscan SYSTEM PRIVATE "${LIBRARY_DIR}/include") + +target_include_directories (_vectorscan SYSTEM PUBLIC "${LIBRARY_DIR}/src") + +# Include platform-specific config header generated by manually running the original build system +# Please regenerate these files if you update vectorscan. + +if (ARCH_AMD64) + target_include_directories (_vectorscan PRIVATE x86_64) +endif () + +if (ARCH_AARCH64) + target_include_directories (_vectorscan PRIVATE aarch64) +endif () + +target_link_libraries (_vectorscan PRIVATE boost::headers_only) + +add_library (ch_contrib::vectorscan ALIAS _vectorscan) diff --git a/contrib/vectorscan-cmake/aarch64/config.h b/contrib/vectorscan-cmake/aarch64/config.h new file mode 100644 index 00000000000..78da1c8ad00 --- /dev/null +++ b/contrib/vectorscan-cmake/aarch64/config.h @@ -0,0 +1,142 @@ +/* used by cmake */ + +#ifndef CONFIG_H_ +#define CONFIG_H_ + +/* "Define if the build is 32 bit" */ +/* #undef ARCH_32_BIT */ + +/* "Define if the build is 64 bit" */ +#define ARCH_64_BIT + +/* "Define if building for IA32" */ +/* #undef ARCH_IA32 */ + +/* "Define if building for EM64T" */ +/* #undef ARCH_X86_64 */ + +/* "Define if building for ARM32" */ +/* #undef ARCH_ARM32 */ + +/* "Define if building for AARCH64" */ +#define ARCH_AARCH64 + +/* "Define if building for PPC64EL" */ +/* #undef ARCH_PPC64EL */ + +/* "Define if cross compiling for AARCH64" */ +/* #undef CROSS_COMPILE_AARCH64 */ + +/* Define if building SVE for AARCH64. */ +/* #undef BUILD_SVE */ + +/* Define if building SVE2 for AARCH64. */ +/* #undef BUILD_SVE2 */ + +/* Define if building SVE2+BITPERM for AARCH64. */ +/* #undef BUILD_SVE2_BITPERM */ + +/* internal build, switch on dump support. */ +/* #undef DUMP_SUPPORT */ + +/* Define if building "fat" runtime. */ +/* #undef FAT_RUNTIME */ + +/* Define if building AVX2 in the fat runtime. */ +/* #undef BUILD_AVX2 */ + +/* Define if building AVX-512 in the fat runtime. */ +/* #undef BUILD_AVX512 */ + +/* Define if building AVX512VBMI in the fat runtime. */ +/* #undef BUILD_AVX512VBMI */ + +/* Define to 1 if `backtrace' works. */ +#define HAVE_BACKTRACE + +/* C compiler has __builtin_assume_aligned */ +#define HAVE_CC_BUILTIN_ASSUME_ALIGNED + +/* C++ compiler has __builtin_assume_aligned */ +#define HAVE_CXX_BUILTIN_ASSUME_ALIGNED + +/* C++ compiler has x86intrin.h */ +/* #undef HAVE_CXX_X86INTRIN_H */ + +/* C compiler has x86intrin.h */ +/* #undef HAVE_C_X86INTRIN_H */ + +/* C++ compiler has intrin.h */ +/* #undef HAVE_CXX_INTRIN_H */ + +/* C compiler has intrin.h */ +/* #undef HAVE_C_INTRIN_H */ + +/* C compiler has arm_neon.h */ +#define HAVE_C_ARM_NEON_H + +/* C compiler has arm_sve.h */ +/* #undef HAVE_C_ARM_SVE_H */ + +/* C compiler has arm_neon.h */ +/* #undef HAVE_C_PPC64EL_ALTIVEC_H */ + +/* Define to 1 if you have the declaration of `pthread_setaffinity_np', and to + 0 if you don't. */ +/* #undef HAVE_DECL_PTHREAD_SETAFFINITY_NP */ + +/* #undef HAVE_PTHREAD_NP_H */ + +/* Define to 1 if you have the `malloc_info' function. */ +/* #undef HAVE_MALLOC_INFO */ + +/* Define to 1 if you have the `memmem' function. */ +/* #undef HAVE_MEMMEM */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP + +/* Define to 1 if `posix_memalign' works. */ +#define HAVE_POSIX_MEMALIGN + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT + +/* Define to 1 if you have the `shmget' function. */ +/* #undef HAVE_SHMGET */ + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK + +/* Define if the sqlite3_open_v2 call is available */ +/* #undef HAVE_SQLITE3_OPEN_V2 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H + +/* Define to 1 if you have the `_aligned_malloc' function. */ +/* #undef HAVE__ALIGNED_MALLOC */ + +/* Define if compiler has __builtin_constant_p */ +/* #undef HAVE__BUILTIN_CONSTANT_P */ + +/* Optimize, inline critical functions */ +#define HS_OPTIMIZE + +#define HS_VERSION +#define HS_MAJOR_VERSION +#define HS_MINOR_VERSION +#define HS_PATCH_VERSION + +#define BUILD_DATE + +/* define if this is a release build. */ +#define RELEASE_BUILD + +/* define if reverse_graph requires patch for boost 1.62.0 */ +/* #undef BOOST_REVGRAPH_PATCH */ + +#endif /* CONFIG_H_ */ diff --git a/contrib/hyperscan-cmake/common/hs_version.h b/contrib/vectorscan-cmake/common/hs_version.h similarity index 94% rename from contrib/hyperscan-cmake/common/hs_version.h rename to contrib/vectorscan-cmake/common/hs_version.h index f6fa8cb209f..8315b44fb2a 100644 --- a/contrib/hyperscan-cmake/common/hs_version.h +++ b/contrib/vectorscan-cmake/common/hs_version.h @@ -32,9 +32,8 @@ /** * A version string to identify this release of Hyperscan. */ -#define HS_VERSION_STRING "5.1.1 2000-01-01" +#define HS_VERSION_STRING "5.4.7 2022-06-20" -#define HS_VERSION_32BIT ((5 << 24) | (1 << 16) | (1 << 8) | 0) +#define HS_VERSION_32BIT ((5 << 24) | (1 << 16) | (7 << 8) | 0) #endif /* HS_VERSION_H_C6428FAF8E3713 */ - diff --git a/contrib/vectorscan-cmake/rageled_files/Parser.cpp b/contrib/vectorscan-cmake/rageled_files/Parser.cpp new file mode 100644 index 00000000000..aebbd7ace1e --- /dev/null +++ b/contrib/vectorscan-cmake/rageled_files/Parser.cpp @@ -0,0 +1,5605 @@ + +#line 1 "Parser.rl" +/* + * Copyright (c) 2015-2017, Intel Corporation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** \file + * \brief Parser code (generated with Ragel from Parser.rl). + */ + +#include "config.h" + +/* Parser.cpp is a built source, may not be in same dir as parser files */ +#include "parser/check_refs.h" +#include "parser/control_verbs.h" +#include "parser/ComponentAlternation.h" +#include "parser/ComponentAssertion.h" +#include "parser/ComponentAtomicGroup.h" +#include "parser/ComponentBackReference.h" +#include "parser/ComponentBoundary.h" +#include "parser/ComponentByte.h" +#include "parser/ComponentClass.h" +#include "parser/ComponentCondReference.h" +#include "parser/ComponentEmpty.h" +#include "parser/ComponentEUS.h" +#include "parser/Component.h" +#include "parser/ComponentRepeat.h" +#include "parser/ComponentSequence.h" +#include "parser/ComponentWordBoundary.h" +#include "parser/parse_error.h" +#include "parser/Parser.h" +#include "ue2common.h" +#include "util/compare.h" +#include "util/flat_containers.h" +#include "util/unicode_def.h" +#include "util/verify_types.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +namespace ue2 { + +#define PUSH_SEQUENCE do {\ + sequences.push_back(ExprState(currentSeq, (size_t)(ts - ptr), \ + mode)); \ + } while(0) +#define POP_SEQUENCE do {\ + currentSeq = sequences.back().seq; \ + mode = sequences.back().mode; \ + sequences.pop_back(); \ + } while(0) + +namespace { + +/** \brief Structure representing current state as we're parsing (current + * sequence, current options). Stored in the 'sequences' vector. */ +struct ExprState { + ExprState(ComponentSequence *seq_in, size_t offset, + const ParseMode &mode_in) : + seq(seq_in), seqOffset(offset), mode(mode_in) {} + + ComponentSequence *seq; //!< current sequence + size_t seqOffset; //!< offset seq was entered, for error reporting + ParseMode mode; //!< current mode flags +}; + +} // namespace + +static +unsigned parseAsDecimal(unsigned oct) { + // The input was parsed as octal, but should have been parsed as decimal. + // Deconstruct the octal number and reconstruct into decimal + unsigned ret = 0; + unsigned multiplier = 1; + while (oct) { + ret += (oct & 0x7) * multiplier; + oct >>= 3; + multiplier *= 10; + } + return ret; +} + +/** \brief Maximum value for a positive integer. We use INT_MAX, as that's what + * PCRE uses. */ +static constexpr u32 MAX_NUMBER = INT_MAX; + +static +void pushDec(u32 *acc, char raw_digit) { + assert(raw_digit >= '0' && raw_digit <= '9'); + u32 digit_val = raw_digit - '0'; + + // Ensure that we don't overflow. + u64a val = ((u64a)*acc * 10) + digit_val; + if (val > MAX_NUMBER) { + throw LocatedParseError("Number is too big"); + } + + *acc = verify_u32(val); +} + +static +void pushOct(u32 *acc, char raw_digit) { + assert(raw_digit >= '0' && raw_digit <= '7'); + u32 digit_val = raw_digit - '0'; + + // Ensure that we don't overflow. + u64a val = ((u64a)*acc * 8) + digit_val; + if (val > MAX_NUMBER) { + throw LocatedParseError("Number is too big"); + } + + *acc = verify_u32(val); +} + +static +void throwInvalidRepeat(void) { + throw LocatedParseError("Invalid repeat"); +} + +static +void throwInvalidUtf8(void) { + throw ParseError("Expression is not valid UTF-8."); +} + +/** + * Adds the given child component to the parent sequence, returning a pointer + * to the new (child) "current sequence". + */ +static +ComponentSequence *enterSequence(ComponentSequence *parent, + unique_ptr child) { + assert(parent); + assert(child); + + ComponentSequence *seq = child.get(); + parent->addComponent(move(child)); + return seq; +} + +static +void addLiteral(ComponentSequence *currentSeq, char c, const ParseMode &mode) { + if (mode.utf8 && mode.caseless) { + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + assert(cc); + cc->add(c); + cc->finalize(); + currentSeq->addComponent(move(cc)); + } else { + currentSeq->addComponent(getLiteralComponentClass(c, mode.caseless)); + } +} + +static +void addEscaped(ComponentSequence *currentSeq, unichar accum, + const ParseMode &mode, const char *err_msg) { + if (mode.utf8) { + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + assert(cc); + cc->add(accum); + cc->finalize(); + currentSeq->addComponent(move(cc)); + } else { + if (accum > 255) { + throw LocatedParseError(err_msg); + } + addLiteral(currentSeq, (char)accum, mode); + } +} + +static +void addEscapedOctal(ComponentSequence *currentSeq, unichar accum, + const ParseMode &mode) { + addEscaped(currentSeq, accum, mode, "Octal value is greater than \\377"); +} + +static +void addEscapedHex(ComponentSequence *currentSeq, unichar accum, + const ParseMode &mode) { + addEscaped(currentSeq, accum, mode, + "Hexadecimal value is greater than \\xFF"); +} + +#define SLASH_C_ERROR "\\c must be followed by an ASCII character" + +static +u8 decodeCtrl(char raw) { + if (raw & 0x80) { + throw LocatedParseError(SLASH_C_ERROR); + } + return mytoupper(raw) ^ 0x40; +} + +static +unichar readUtf8CodePoint2c(const char *s) { + auto *ts = (const u8 *)s; + assert(ts[0] >= 0xc0 && ts[0] < 0xe0); + assert(ts[1] >= 0x80 && ts[1] < 0xc0); + unichar val = ts[0] & 0x1f; + val <<= 6; + val |= ts[1] & 0x3f; + DEBUG_PRINTF("utf8 %02hhx %02hhx ->\\x{%x}\n", ts[0], + ts[1], val); + return val; +} + +static +unichar readUtf8CodePoint3c(const char *s) { + auto *ts = (const u8 *)s; + assert(ts[0] >= 0xe0 && ts[0] < 0xf0); + assert(ts[1] >= 0x80 && ts[1] < 0xc0); + assert(ts[2] >= 0x80 && ts[2] < 0xc0); + unichar val = ts[0] & 0x0f; + val <<= 6; + val |= ts[1] & 0x3f; + val <<= 6; + val |= ts[2] & 0x3f; + DEBUG_PRINTF("utf8 %02hhx %02hhx %02hhx ->\\x{%x}\n", ts[0], + ts[1], ts[2], val); + return val; +} + +static +unichar readUtf8CodePoint4c(const char *s) { + auto *ts = (const u8 *)s; + assert(ts[0] >= 0xf0 && ts[0] < 0xf8); + assert(ts[1] >= 0x80 && ts[1] < 0xc0); + assert(ts[2] >= 0x80 && ts[2] < 0xc0); + assert(ts[3] >= 0x80 && ts[3] < 0xc0); + unichar val = ts[0] & 0x07; + val <<= 6; + val |= ts[1] & 0x3f; + val <<= 6; + val |= ts[2] & 0x3f; + val <<= 6; + val |= ts[3] & 0x3f; + DEBUG_PRINTF("utf8 %02hhx %02hhx %02hhx %02hhx ->\\x{%x}\n", ts[0], + ts[1], ts[2], ts[3], val); + return val; +} + + +#line 1909 "Parser.rl" + + + +#line 281 "Parser.cpp" +static const short _regex_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 7, 1, 8, 1, + 9, 1, 10, 1, 11, 1, 12, 1, + 13, 1, 15, 1, 16, 1, 17, 1, + 18, 1, 19, 1, 20, 1, 21, 1, + 22, 1, 23, 1, 24, 1, 25, 1, + 26, 1, 27, 1, 28, 1, 29, 1, + 30, 1, 31, 1, 32, 1, 33, 1, + 34, 1, 35, 1, 36, 1, 37, 1, + 38, 1, 39, 1, 40, 1, 41, 1, + 42, 1, 43, 1, 44, 1, 45, 1, + 46, 1, 47, 1, 48, 1, 49, 1, + 50, 1, 51, 1, 52, 1, 53, 1, + 54, 1, 55, 1, 56, 1, 57, 1, + 58, 1, 59, 1, 60, 1, 61, 1, + 62, 1, 63, 1, 64, 1, 65, 1, + 66, 1, 67, 1, 68, 1, 69, 1, + 70, 1, 71, 1, 72, 1, 73, 1, + 74, 1, 75, 1, 76, 1, 77, 1, + 78, 1, 79, 1, 80, 1, 81, 1, + 82, 1, 83, 1, 84, 1, 85, 1, + 86, 1, 87, 1, 88, 1, 89, 1, + 90, 1, 91, 1, 92, 1, 93, 1, + 94, 1, 95, 1, 96, 1, 97, 1, + 98, 1, 99, 1, 100, 1, 101, 1, + 102, 1, 103, 1, 104, 1, 105, 1, + 106, 1, 107, 1, 108, 1, 109, 1, + 110, 1, 111, 1, 112, 1, 113, 1, + 114, 1, 115, 1, 116, 1, 117, 1, + 118, 1, 119, 1, 120, 1, 121, 1, + 122, 1, 123, 1, 124, 1, 125, 1, + 126, 1, 127, 1, 128, 1, 129, 1, + 130, 1, 131, 1, 132, 1, 133, 1, + 134, 1, 135, 1, 136, 1, 137, 1, + 138, 1, 139, 1, 140, 1, 141, 1, + 142, 1, 143, 1, 144, 1, 145, 1, + 146, 1, 147, 1, 148, 1, 149, 1, + 150, 1, 151, 1, 152, 1, 153, 1, + 154, 1, 155, 1, 156, 1, 157, 1, + 158, 1, 159, 1, 160, 1, 161, 1, + 162, 1, 163, 1, 164, 1, 165, 1, + 166, 1, 167, 1, 168, 1, 169, 1, + 170, 1, 171, 1, 172, 1, 173, 1, + 174, 1, 175, 1, 176, 1, 177, 1, + 178, 1, 179, 1, 180, 1, 181, 1, + 182, 1, 183, 1, 184, 1, 185, 1, + 186, 1, 187, 1, 188, 1, 189, 1, + 190, 1, 191, 1, 192, 1, 193, 1, + 194, 1, 195, 1, 196, 1, 197, 1, + 198, 1, 199, 1, 200, 1, 201, 1, + 202, 1, 203, 1, 204, 1, 205, 1, + 206, 1, 207, 1, 208, 1, 209, 1, + 210, 1, 211, 1, 212, 1, 213, 1, + 214, 1, 215, 1, 216, 1, 217, 1, + 218, 1, 219, 1, 220, 1, 221, 1, + 222, 1, 223, 1, 224, 1, 225, 1, + 226, 1, 227, 1, 228, 1, 229, 1, + 230, 1, 231, 1, 232, 1, 233, 1, + 234, 1, 235, 1, 236, 1, 237, 1, + 240, 1, 242, 1, 243, 1, 244, 1, + 245, 1, 246, 1, 247, 1, 248, 1, + 249, 1, 250, 1, 251, 1, 252, 1, + 253, 1, 254, 1, 255, 1, 256, 1, + 257, 1, 258, 1, 259, 1, 260, 1, + 261, 1, 262, 1, 263, 1, 264, 1, + 265, 1, 266, 1, 267, 1, 268, 1, + 269, 1, 270, 1, 271, 1, 272, 1, + 273, 1, 274, 1, 275, 1, 276, 1, + 277, 1, 278, 1, 279, 1, 280, 1, + 281, 1, 282, 1, 283, 1, 284, 1, + 285, 1, 286, 1, 287, 1, 288, 1, + 289, 1, 290, 1, 291, 1, 292, 1, + 293, 1, 294, 1, 295, 1, 296, 1, + 297, 1, 298, 1, 299, 1, 300, 1, + 301, 1, 302, 1, 303, 1, 307, 1, + 308, 1, 309, 1, 310, 1, 311, 1, + 312, 1, 313, 1, 314, 1, 315, 1, + 316, 1, 317, 1, 318, 1, 319, 1, + 320, 1, 321, 1, 322, 1, 323, 1, + 324, 1, 325, 1, 326, 1, 327, 1, + 328, 1, 329, 1, 330, 1, 331, 1, + 332, 1, 333, 1, 334, 1, 335, 1, + 336, 1, 337, 1, 338, 1, 342, 1, + 343, 1, 344, 1, 345, 1, 346, 1, + 347, 1, 348, 1, 349, 1, 350, 1, + 352, 1, 353, 1, 354, 1, 355, 1, + 356, 1, 357, 1, 358, 1, 359, 1, + 360, 1, 361, 1, 362, 1, 363, 1, + 364, 1, 365, 1, 366, 1, 367, 1, + 368, 1, 369, 1, 370, 1, 371, 1, + 372, 1, 373, 1, 374, 1, 375, 1, + 376, 1, 377, 1, 378, 1, 379, 1, + 380, 1, 381, 1, 382, 1, 383, 1, + 384, 1, 385, 1, 386, 1, 387, 1, + 388, 1, 389, 1, 390, 1, 391, 1, + 392, 1, 393, 1, 394, 1, 395, 1, + 396, 1, 397, 1, 398, 1, 399, 1, + 400, 1, 401, 1, 402, 1, 403, 1, + 404, 1, 405, 1, 406, 1, 407, 1, + 408, 1, 409, 1, 410, 1, 411, 1, + 412, 1, 413, 1, 414, 1, 415, 1, + 416, 1, 417, 1, 418, 1, 419, 1, + 420, 1, 421, 1, 422, 1, 423, 1, + 424, 1, 425, 1, 426, 1, 427, 1, + 428, 1, 429, 1, 430, 1, 431, 1, + 432, 1, 433, 1, 434, 1, 435, 1, + 436, 2, 3, 0, 2, 4, 5, 2, + 5, 1, 2, 9, 10, 2, 9, 238, + 2, 9, 239, 2, 9, 339, 2, 10, + 1, 2, 10, 340, 2, 10, 341, 2, + 11, 241, 2, 11, 351, 2, 12, 241, + 2, 12, 351, 2, 13, 241, 2, 13, + 351, 2, 14, 375, 2, 14, 376, 2, + 25, 0, 2, 25, 3, 2, 25, 6, + 2, 25, 14, 3, 25, 5, 306, 3, + 25, 10, 305, 3, 25, 14, 15, 4, + 25, 9, 304, 10 +}; + +static const char _regex_cond_offsets[] = { + 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, + 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 19, 20, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 27, 28, 29, 31, 31, 36, + 36, 37, 38, 39, 44, 44, 45, 46, + 47, 47 +}; + +static const char _regex_cond_lengths[] = { + 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 6, 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, + 1, 1, 1, 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, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 2, 0, 5, 0, + 1, 1, 1, 5, 0, 1, 1, 1, + 0, 0 +}; + +static const short _regex_cond_keys[] = { + -128, -65, -128, -65, -128, -65, -128, -65, + -128, -65, -128, -65, -128, -65, -128, -65, + -128, -65, -128, -65, -128, -65, -128, -65, + -128, -65, -64, -33, -32, -17, -16, -9, + -8, -1, 35, 35, -128, -65, -128, -65, + -128, -65, -128, -65, -64, -33, -32, -17, + -16, -9, -8, -1, -128, -65, -128, -65, + -128, -65, 93, 93, 94, 94, -128, -65, + -64, -33, -32, -17, -16, -9, -8, -1, + -128, -65, -128, -65, -128, -65, -128, -65, + -64, -33, -32, -17, -16, -9, -8, -1, + -128, -65, -128, -65, -128, -65, 0 +}; + +static const char _regex_cond_spaces[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; + +static const short _regex_key_offsets[] = { + 0, 0, 1, 23, 31, 39, 46, 54, + 55, 63, 71, 79, 86, 94, 97, 99, + 108, 115, 123, 131, 134, 140, 148, 151, + 158, 165, 173, 180, 184, 191, 194, 197, + 199, 202, 205, 207, 210, 213, 215, 216, + 218, 219, 227, 229, 232, 235, 236, 244, + 252, 260, 268, 275, 283, 290, 298, 305, + 313, 315, 318, 325, 329, 332, 335, 337, + 339, 341, 342, 344, 345, 347, 349, 350, + 351, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 369, + 370, 371, 372, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 392, 393, 394, + 395, 396, 397, 399, 400, 401, 402, 403, + 404, 405, 406, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 429, + 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 461, 462, 463, + 464, 465, 466, 467, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 561, + 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 631, + 632, 633, 634, 635, 636, 637, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 650, + 651, 652, 653, 654, 655, 656, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, 672, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 704, 705, 706, 707, 708, + 709, 710, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 752, + 753, 754, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 773, 774, 775, 776, 777, + 778, 779, 780, 781, 782, 783, 784, 785, + 786, 787, 788, 789, 790, 791, 792, 793, + 794, 795, 796, 797, 798, 799, 800, 801, + 802, 803, 805, 806, 807, 808, 809, 810, + 811, 812, 813, 814, 815, 816, 817, 820, + 822, 823, 824, 825, 826, 827, 828, 829, + 830, 833, 834, 835, 836, 837, 838, 839, + 840, 841, 842, 843, 844, 845, 846, 847, + 849, 850, 851, 853, 854, 855, 856, 857, + 858, 859, 860, 861, 862, 863, 864, 865, + 866, 867, 868, 869, 870, 871, 872, 873, + 874, 875, 876, 877, 880, 883, 885, 900, + 903, 906, 908, 922, 927, 932, 936, 940, + 943, 946, 950, 954, 957, 960, 964, 968, + 972, 975, 978, 982, 986, 990, 994, 997, + 1000, 1004, 1008, 1012, 1016, 1019, 1022, 1026, + 1030, 1034, 1038, 1041, 1044, 1048, 1052, 1056, + 1060, 1063, 1066, 1070, 1074, 1078, 1082, 1085, + 1088, 1093, 1097, 1101, 1105, 1108, 1111, 1115, + 1119, 1123, 1126, 1129, 1133, 1137, 1141, 1145, + 1148, 1151, 1155, 1159, 1163, 1167, 1170, 1173, + 1177, 1181, 1185, 1188, 1191, 1195, 1199, 1203, + 1207, 1211, 1214, 1217, 1222, 1227, 1231, 1235, + 1238, 1241, 1245, 1249, 1252, 1255, 1259, 1263, + 1267, 1270, 1273, 1277, 1281, 1285, 1289, 1292, + 1295, 1299, 1303, 1307, 1311, 1314, 1317, 1321, + 1325, 1329, 1333, 1336, 1339, 1343, 1347, 1351, + 1355, 1358, 1361, 1365, 1369, 1373, 1377, 1380, + 1383, 1388, 1392, 1396, 1400, 1403, 1406, 1410, + 1414, 1418, 1421, 1424, 1428, 1432, 1436, 1440, + 1443, 1446, 1450, 1454, 1458, 1462, 1465, 1468, + 1472, 1476, 1480, 1483, 1486, 1490, 1494, 1498, + 1502, 1506, 1509, 1512, 1515, 1518, 1520, 1522, + 1525, 1532, 1534, 1536, 1538, 1540, 1542, 1544, + 1546, 1548, 1550, 1584, 1586, 1593, 1600, 1614, + 1616, 1622, 1625, 1634, 1635, 1638, 1641, 1648, + 1650, 1652, 1654, 1657, 1702, 1704, 1706, 1710, + 1714, 1716, 1717, 1717, 1723, 1725, 1727, 1729, + 1731, 1734, 1735, 1736, 1743, 1749, 1755, 1757, + 1759, 1761, 1763, 1765, 1767, 1768, 1771, 1794, + 1797, 1802, 1811, 1813, 1814, 1816, 1821, 1824, + 1826, 1828, 1829, 1831, 1841, 1847, 1848, 1853, + 1857, 1865, 1867, 1876, 1880, 1881, 1882, 1886, + 1887, 1890, 1890, 1897, 1913, 1916, 1955, 1957, + 1959, 1961, 1963, 1964, 1964, 1965, 1966, 1973, + 1979, 1985, 1987, 1989, 1991, 2000, 2002, 2015, + 2016, 2018, 2020, 2022, 2035, 2036, 2038, 2040, + 2042, 2043 +}; + +static const short _regex_trans_keys[] = { + 41, 33, 35, 38, 39, 40, 41, 43, + 45, 58, 60, 61, 62, 63, 67, 80, + 105, 109, 115, 120, 123, 48, 57, 41, + 95, 48, 57, 65, 90, 97, 122, 39, + 95, 48, 57, 65, 90, 97, 122, 95, + 48, 57, 65, 90, 97, 122, 39, 95, + 48, 57, 65, 90, 97, 122, 41, 41, + 95, 48, 57, 65, 90, 97, 122, 41, + 95, 48, 57, 65, 90, 97, 122, 41, + 95, 48, 57, 65, 90, 97, 122, 95, + 48, 57, 65, 90, 97, 122, 62, 95, + 48, 57, 65, 90, 97, 122, 33, 60, + 61, 33, 61, 38, 41, 95, 48, 57, + 65, 90, 97, 122, 95, 48, 57, 65, + 90, 97, 122, 41, 95, 48, 57, 65, + 90, 97, 122, 41, 95, 48, 57, 65, + 90, 97, 122, 41, 48, 57, 41, 58, + 105, 109, 115, 120, 62, 95, 48, 57, + 65, 90, 97, 122, 41, 48, 57, 95, + 48, 57, 65, 90, 97, 122, 95, 48, + 57, 65, 90, 97, 122, 41, 95, 48, + 57, 65, 90, 97, 122, 95, 48, 57, + 65, 90, 97, 122, 105, 109, 115, 120, + 41, 45, 58, 105, 109, 115, 120, 46, + 92, 93, 46, 92, 93, 46, 92, 58, + 92, 93, 58, 92, 93, 58, 92, 61, + 92, 93, 61, 92, 93, 61, 92, 39, + 48, 57, 62, 45, 95, 48, 57, 65, + 90, 97, 122, 48, 57, 125, 48, 57, + 125, 48, 57, 125, 95, 125, 48, 57, + 65, 90, 97, 122, 95, 125, 48, 57, + 65, 90, 97, 122, 95, 125, 48, 57, + 65, 90, 97, 122, 95, 125, 48, 57, + 65, 90, 97, 122, 95, 48, 57, 65, + 90, 97, 122, 39, 95, 48, 57, 65, + 90, 97, 122, 95, 48, 57, 65, 90, + 97, 122, 62, 95, 48, 57, 65, 90, + 97, 122, 95, 48, 57, 65, 90, 97, + 122, 95, 125, 48, 57, 65, 90, 97, + 122, 48, 55, 125, 48, 55, 125, 48, + 57, 65, 70, 97, 102, 44, 125, 48, + 57, 125, 48, 57, 125, 48, 57, 384, + 447, 384, 447, 384, 447, 41, 41, 80, + 41, 41, 70, 41, 56, 41, 121, 97, + 109, 98, 105, 99, 101, 110, 105, 97, + 110, 101, 115, 116, 97, 110, 108, 109, + 116, 105, 110, 101, 115, 101, 117, 109, + 97, 107, 110, 103, 97, 108, 105, 112, + 111, 109, 111, 102, 111, 97, 104, 105, + 109, 105, 108, 108, 101, 103, 104, 105, + 110, 101, 115, 101, 105, 100, 110, 114, + 97, 100, 105, 97, 110, 95, 65, 98, + 111, 114, 105, 103, 105, 110, 97, 108, + 105, 97, 110, 97, 101, 109, 114, 111, + 107, 101, 101, 109, 111, 110, 116, 105, + 99, 110, 101, 105, 102, 111, 114, 109, + 112, 114, 114, 105, 111, 116, 105, 108, + 108, 105, 99, 115, 118, 101, 114, 101, + 116, 97, 110, 97, 103, 97, 114, 105, + 121, 112, 116, 105, 97, 110, 95, 72, + 105, 101, 114, 111, 103, 108, 121, 112, + 104, 115, 104, 105, 111, 112, 105, 99, + 111, 114, 103, 105, 97, 110, 97, 103, + 111, 108, 105, 116, 105, 99, 116, 104, + 105, 99, 101, 101, 107, 106, 114, 97, + 114, 97, 116, 105, 109, 117, 107, 104, + 105, 110, 117, 108, 110, 111, 111, 98, + 114, 101, 119, 114, 97, 103, 97, 110, + 97, 112, 101, 114, 105, 97, 108, 95, + 65, 114, 97, 109, 97, 105, 99, 104, + 115, 101, 114, 105, 116, 101, 100, 99, + 114, 105, 112, 116, 105, 111, 110, 97, + 108, 95, 80, 97, 104, 114, 108, 97, + 118, 105, 116, 104, 105, 97, 110, 118, + 97, 110, 101, 115, 101, 105, 110, 116, + 121, 116, 104, 105, 110, 97, 100, 97, + 97, 107, 97, 110, 97, 97, 104, 95, + 76, 105, 97, 109, 114, 111, 115, 104, + 116, 104, 105, 101, 114, 111, 116, 105, + 110, 112, 99, 104, 97, 109, 110, 115, + 98, 117, 101, 97, 114, 95, 66, 117, + 99, 100, 105, 97, 110, 105, 97, 110, + 108, 110, 97, 121, 97, 108, 97, 109, + 100, 97, 105, 99, 116, 101, 105, 95, + 77, 97, 121, 101, 107, 110, 103, 111, + 108, 105, 97, 110, 97, 110, 109, 97, + 114, 119, 95, 84, 97, 105, 95, 76, + 117, 101, 111, 104, 97, 109, 95, 100, + 67, 104, 105, 107, 105, 95, 73, 80, + 83, 84, 116, 97, 108, 105, 99, 101, + 114, 115, 105, 97, 110, 111, 117, 116, + 104, 95, 65, 114, 97, 98, 105, 97, + 110, 117, 114, 107, 105, 99, 105, 121, + 97, 109, 97, 110, 121, 97, 97, 111, + 103, 115, 95, 80, 97, 101, 110, 105, + 99, 105, 97, 110, 106, 97, 110, 103, + 110, 105, 99, 109, 117, 97, 114, 105, + 116, 97, 110, 114, 97, 115, 104, 116, + 114, 97, 97, 118, 105, 97, 110, 110, + 104, 97, 108, 97, 110, 100, 97, 110, + 101, 115, 101, 108, 114, 111, 116, 105, + 95, 78, 97, 103, 114, 105, 105, 97, + 99, 103, 105, 109, 97, 98, 108, 111, + 103, 97, 110, 119, 97, 95, 76, 84, + 86, 101, 104, 97, 109, 105, 101, 116, + 105, 108, 108, 117, 103, 117, 97, 97, + 105, 110, 97, 98, 102, 101, 116, 97, + 110, 105, 110, 97, 103, 104, 97, 114, + 105, 116, 105, 99, 105, 110, 115, 112, + 100, 123, 94, 125, 94, 46, 92, 93, + 46, 92, 93, 46, 92, 58, 92, 93, + 94, 97, 98, 99, 100, 103, 108, 112, + 115, 117, 119, 120, 58, 92, 93, 58, + 92, 93, 58, 92, 58, 92, 93, 97, + 98, 99, 100, 103, 108, 112, 115, 117, + 119, 120, 58, 92, 93, 108, 115, 58, + 92, 93, 110, 112, 58, 92, 93, 117, + 58, 92, 93, 109, 58, 92, 93, 58, + 92, 93, 58, 92, 93, 104, 58, 92, + 93, 97, 58, 92, 93, 58, 92, 93, + 58, 92, 93, 99, 58, 92, 93, 105, + 58, 92, 93, 105, 58, 92, 93, 58, + 92, 93, 58, 92, 93, 108, 58, 92, + 93, 97, 58, 92, 93, 110, 58, 92, + 93, 107, 58, 92, 93, 58, 92, 93, + 58, 92, 93, 110, 58, 92, 93, 116, + 58, 92, 93, 114, 58, 92, 93, 108, + 58, 92, 93, 58, 92, 93, 58, 92, + 93, 105, 58, 92, 93, 103, 58, 92, + 93, 105, 58, 92, 93, 116, 58, 92, + 93, 58, 92, 93, 58, 92, 93, 114, + 58, 92, 93, 97, 58, 92, 93, 112, + 58, 92, 93, 104, 58, 92, 93, 58, + 92, 93, 58, 92, 93, 111, 58, 92, + 93, 119, 58, 92, 93, 101, 58, 92, + 93, 114, 58, 92, 93, 58, 92, 93, + 58, 92, 93, 114, 117, 58, 92, 93, + 105, 58, 92, 93, 110, 58, 92, 93, + 116, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 110, 58, 92, 93, 99, 58, + 92, 93, 116, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 112, 58, 92, 93, + 97, 58, 92, 93, 99, 58, 92, 93, + 101, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 112, 58, 92, 93, 112, 58, + 92, 93, 101, 58, 92, 93, 114, 58, + 92, 93, 58, 92, 93, 58, 92, 93, + 111, 58, 92, 93, 114, 58, 92, 93, + 100, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 100, 58, 92, 93, 105, 58, + 92, 93, 103, 58, 92, 93, 105, 58, + 92, 93, 116, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 108, 115, 58, 92, + 93, 110, 112, 58, 92, 93, 117, 58, + 92, 93, 109, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 104, 58, 92, 93, + 97, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 99, 58, 92, 93, 105, 58, + 92, 93, 105, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 108, 58, 92, 93, + 97, 58, 92, 93, 110, 58, 92, 93, + 107, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 110, 58, 92, 93, 116, 58, + 92, 93, 114, 58, 92, 93, 108, 58, + 92, 93, 58, 92, 93, 58, 92, 93, + 105, 58, 92, 93, 103, 58, 92, 93, + 105, 58, 92, 93, 116, 58, 92, 93, + 58, 92, 93, 58, 92, 93, 114, 58, + 92, 93, 97, 58, 92, 93, 112, 58, + 92, 93, 104, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 111, 58, 92, 93, + 119, 58, 92, 93, 101, 58, 92, 93, + 114, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 114, 117, 58, 92, 93, 105, + 58, 92, 93, 110, 58, 92, 93, 116, + 58, 92, 93, 58, 92, 93, 58, 92, + 93, 110, 58, 92, 93, 99, 58, 92, + 93, 116, 58, 92, 93, 58, 92, 93, + 58, 92, 93, 112, 58, 92, 93, 97, + 58, 92, 93, 99, 58, 92, 93, 101, + 58, 92, 93, 58, 92, 93, 58, 92, + 93, 112, 58, 92, 93, 112, 58, 92, + 93, 101, 58, 92, 93, 114, 58, 92, + 93, 58, 92, 93, 58, 92, 93, 111, + 58, 92, 93, 114, 58, 92, 93, 100, + 58, 92, 93, 58, 92, 93, 58, 92, + 93, 100, 58, 92, 93, 105, 58, 92, + 93, 103, 58, 92, 93, 105, 58, 92, + 93, 116, 58, 92, 93, 58, 92, 93, + 61, 92, 93, 61, 92, 93, 61, 92, + 48, 55, 125, 48, 55, 125, 48, 57, + 65, 70, 97, 102, 384, 447, 384, 447, + 384, 447, 384, 447, 384, 447, 384, 447, + 384, 447, 384, 447, 384, 447, 0, 32, + 36, 40, 41, 42, 43, 46, 63, 91, + 92, 94, 123, 124, 1315, 1571, 1, 8, + 9, 13, 14, 34, 37, 255, 384, 447, + 448, 479, 480, 495, 496, 503, 504, 511, + 42, 63, 95, 48, 57, 65, 90, 97, + 122, 95, 48, 57, 65, 90, 97, 122, + 39, 48, 60, 63, 82, 95, 49, 55, + 56, 57, 65, 90, 97, 122, 48, 57, + 105, 109, 115, 120, 48, 57, 41, 48, + 57, 33, 61, 95, 48, 57, 65, 90, + 97, 122, 123, 41, 48, 57, 60, 61, + 62, 41, 45, 58, 105, 109, 115, 120, + 43, 63, 43, 63, 43, 63, 46, 58, + 61, 48, 65, 66, 67, 68, 69, 71, + 72, 75, 76, 78, 80, 81, 82, 83, + 85, 86, 87, 88, 90, 97, 98, 99, + 100, 101, 102, 103, 104, 107, 108, 110, + 111, 112, 114, 115, 116, 117, 118, 119, + 120, 122, 49, 55, 56, 57, 48, 55, + 48, 55, 48, 55, 56, 57, 48, 55, + 56, 57, 48, 57, 123, 39, 45, 60, + 123, 48, 57, 48, 57, 48, 57, 48, + 57, 48, 57, 39, 60, 123, 123, 123, + 123, 48, 57, 65, 70, 97, 102, 48, + 57, 65, 70, 97, 102, 48, 57, 65, + 70, 97, 102, 48, 57, 43, 63, 384, + 447, 384, 447, 384, 447, 41, 85, 41, + 41, 67, 84, 65, 66, 67, 68, 69, + 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 82, 83, 84, 85, 86, 88, + 89, 90, 110, 114, 118, 97, 101, 111, + 114, 117, 97, 99, 102, 104, 110, 111, + 115, 117, 121, 109, 112, 101, 103, 116, + 101, 108, 111, 114, 117, 97, 101, 105, + 103, 117, 109, 110, 97, 97, 104, 38, + 97, 101, 105, 108, 109, 111, 116, 117, + 121, 97, 99, 101, 110, 111, 121, 101, + 100, 101, 107, 108, 111, 103, 108, 114, + 115, 99, 100, 101, 102, 104, 105, 111, + 115, 101, 117, 97, 99, 104, 105, 107, + 109, 111, 117, 121, 97, 101, 104, 105, + 103, 97, 97, 112, 115, 119, 105, 108, + 112, 115, 67, 76, 77, 78, 80, 83, + 90, 45, 91, 92, 93, 0, 255, 384, + 447, 448, 479, 480, 495, 496, 503, 504, + 511, 46, 58, 61, 48, 68, 69, 72, + 76, 78, 80, 81, 83, 85, 86, 87, + 97, 98, 99, 100, 101, 102, 103, 104, + 108, 110, 111, 112, 114, 115, 116, 117, + 118, 119, 120, 49, 55, 56, 57, 65, + 90, 105, 122, 48, 55, 48, 55, 48, + 55, 48, 55, 123, 123, 123, 123, 48, + 57, 65, 70, 97, 102, 48, 57, 65, + 70, 97, 102, 48, 57, 65, 70, 97, + 102, 384, 447, 384, 447, 384, 447, 92, + 1117, 1118, -128, 91, 95, 127, 861, 862, + 69, 81, 92, 0, 255, 384, 447, 448, + 479, 480, 495, 496, 503, 504, 511, 69, + 384, 447, 384, 447, 384, 447, 92, 0, + 255, 384, 447, 448, 479, 480, 495, 496, + 503, 504, 511, 69, 384, 447, 384, 447, + 384, 447, 41, 10, 0 +}; + +static const char _regex_single_lengths[] = { + 0, 1, 20, 2, 2, 1, 2, 1, + 2, 2, 2, 1, 2, 3, 2, 3, + 1, 2, 2, 1, 6, 2, 1, 1, + 1, 2, 1, 4, 7, 3, 3, 2, + 3, 3, 2, 3, 3, 2, 1, 0, + 1, 2, 0, 1, 1, 1, 2, 2, + 2, 2, 1, 2, 1, 2, 1, 2, + 0, 1, 1, 2, 1, 1, 0, 0, + 0, 1, 2, 1, 2, 2, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 4, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 4, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 2, + 1, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 3, 2, 15, 3, + 3, 2, 14, 5, 5, 4, 4, 3, + 3, 4, 4, 3, 3, 4, 4, 4, + 3, 3, 4, 4, 4, 4, 3, 3, + 4, 4, 4, 4, 3, 3, 4, 4, + 4, 4, 3, 3, 4, 4, 4, 4, + 3, 3, 4, 4, 4, 4, 3, 3, + 5, 4, 4, 4, 3, 3, 4, 4, + 4, 3, 3, 4, 4, 4, 4, 3, + 3, 4, 4, 4, 4, 3, 3, 4, + 4, 4, 3, 3, 4, 4, 4, 4, + 4, 3, 3, 5, 5, 4, 4, 3, + 3, 4, 4, 3, 3, 4, 4, 4, + 3, 3, 4, 4, 4, 4, 3, 3, + 4, 4, 4, 4, 3, 3, 4, 4, + 4, 4, 3, 3, 4, 4, 4, 4, + 3, 3, 4, 4, 4, 4, 3, 3, + 5, 4, 4, 4, 3, 3, 4, 4, + 4, 3, 3, 4, 4, 4, 4, 3, + 3, 4, 4, 4, 4, 3, 3, 4, + 4, 4, 3, 3, 4, 4, 4, 4, + 4, 3, 3, 3, 3, 2, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 2, 1, 1, 6, 0, + 4, 1, 3, 1, 1, 3, 7, 2, + 2, 2, 3, 41, 0, 0, 0, 0, + 0, 1, 0, 4, 0, 0, 0, 0, + 3, 1, 1, 1, 0, 0, 0, 2, + 0, 0, 0, 2, 1, 3, 23, 3, + 5, 9, 2, 1, 2, 5, 3, 2, + 2, 1, 2, 10, 6, 1, 5, 4, + 8, 2, 9, 4, 1, 1, 4, 1, + 3, 0, 7, 4, 3, 31, 0, 0, + 0, 0, 1, 0, 1, 1, 1, 0, + 0, 0, 0, 0, 3, 2, 1, 1, + 0, 0, 0, 1, 1, 0, 0, 0, + 1, 1 +}; + +static const char _regex_range_lengths[] = { + 0, 0, 1, 3, 3, 3, 3, 0, + 3, 3, 3, 3, 3, 0, 0, 3, + 3, 3, 3, 1, 0, 3, 1, 3, + 3, 3, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, + 0, 3, 1, 1, 1, 0, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 3, 1, 1, 1, 1, 1, + 1, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 1, + 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 9, 0, 3, 3, 4, 1, + 1, 1, 3, 0, 1, 0, 0, 0, + 0, 0, 0, 2, 1, 1, 2, 2, + 1, 0, 0, 1, 1, 1, 1, 1, + 0, 0, 0, 3, 3, 3, 1, 0, + 1, 1, 1, 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, 6, 0, 4, 1, 1, + 1, 1, 0, 0, 0, 0, 3, 3, + 3, 1, 1, 1, 3, 0, 6, 0, + 1, 1, 1, 6, 0, 1, 1, 1, + 0, 0 +}; + +static const short _regex_index_offsets[] = { + 0, 0, 2, 24, 30, 36, 41, 47, + 49, 55, 61, 67, 72, 78, 82, 85, + 92, 97, 103, 109, 112, 119, 125, 128, + 133, 138, 144, 149, 154, 162, 166, 170, + 173, 177, 181, 184, 188, 192, 195, 197, + 199, 201, 207, 209, 212, 215, 217, 223, + 229, 235, 241, 246, 252, 257, 263, 268, + 274, 276, 279, 284, 288, 291, 294, 296, + 298, 300, 302, 305, 307, 310, 313, 315, + 317, 320, 322, 324, 326, 328, 330, 332, + 334, 336, 338, 340, 342, 344, 346, 350, + 352, 354, 356, 358, 360, 362, 364, 366, + 368, 370, 372, 374, 376, 378, 380, 382, + 384, 386, 388, 390, 392, 395, 397, 399, + 401, 403, 405, 408, 410, 412, 414, 416, + 418, 420, 422, 425, 427, 429, 431, 433, + 435, 437, 439, 441, 443, 445, 447, 449, + 451, 453, 455, 457, 459, 461, 463, 466, + 468, 470, 472, 474, 476, 478, 480, 482, + 484, 486, 488, 490, 492, 494, 496, 498, + 500, 502, 504, 507, 509, 511, 513, 515, + 517, 519, 521, 523, 525, 528, 530, 532, + 534, 536, 538, 540, 542, 544, 546, 548, + 550, 552, 554, 556, 558, 560, 562, 564, + 566, 568, 570, 572, 574, 576, 578, 580, + 582, 584, 586, 588, 590, 592, 594, 596, + 598, 600, 602, 604, 606, 608, 610, 612, + 614, 616, 618, 620, 622, 624, 626, 628, + 630, 632, 634, 636, 638, 640, 643, 645, + 647, 649, 651, 653, 655, 657, 659, 661, + 663, 665, 667, 669, 671, 673, 675, 677, + 679, 681, 683, 685, 687, 689, 691, 693, + 695, 697, 699, 701, 703, 705, 707, 709, + 711, 713, 715, 717, 719, 721, 723, 726, + 728, 730, 732, 734, 736, 738, 740, 742, + 744, 746, 748, 750, 752, 754, 756, 758, + 760, 762, 764, 767, 769, 771, 773, 775, + 777, 779, 781, 783, 785, 787, 789, 791, + 793, 795, 797, 802, 804, 806, 808, 810, + 812, 814, 816, 818, 820, 822, 824, 826, + 828, 830, 832, 834, 836, 839, 841, 843, + 845, 847, 849, 851, 853, 855, 857, 860, + 862, 864, 866, 868, 870, 872, 876, 878, + 880, 882, 884, 886, 888, 890, 892, 895, + 897, 899, 901, 903, 905, 907, 910, 912, + 914, 916, 918, 920, 922, 924, 926, 928, + 930, 932, 934, 936, 938, 940, 942, 944, + 946, 948, 950, 952, 954, 956, 958, 960, + 962, 964, 966, 968, 970, 972, 974, 976, + 978, 980, 982, 984, 986, 988, 990, 992, + 994, 996, 998, 1001, 1003, 1005, 1007, 1009, + 1011, 1013, 1018, 1020, 1022, 1024, 1026, 1028, + 1030, 1032, 1034, 1036, 1038, 1040, 1042, 1044, + 1046, 1048, 1050, 1052, 1054, 1056, 1058, 1060, + 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076, + 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1093, + 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1109, + 1111, 1113, 1115, 1117, 1119, 1121, 1123, 1125, + 1127, 1129, 1131, 1134, 1136, 1138, 1140, 1142, + 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, + 1160, 1162, 1164, 1166, 1168, 1170, 1172, 1174, + 1176, 1178, 1180, 1182, 1184, 1186, 1188, 1190, + 1192, 1194, 1197, 1199, 1201, 1203, 1205, 1207, + 1209, 1211, 1213, 1215, 1217, 1219, 1221, 1225, + 1228, 1230, 1232, 1234, 1236, 1238, 1240, 1242, + 1244, 1248, 1250, 1252, 1254, 1256, 1258, 1260, + 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, + 1279, 1281, 1283, 1286, 1288, 1290, 1292, 1294, + 1296, 1298, 1300, 1302, 1304, 1306, 1308, 1310, + 1312, 1314, 1316, 1318, 1320, 1322, 1324, 1326, + 1328, 1330, 1332, 1334, 1338, 1342, 1345, 1361, + 1365, 1369, 1372, 1387, 1393, 1399, 1404, 1409, + 1413, 1417, 1422, 1427, 1431, 1435, 1440, 1445, + 1450, 1454, 1458, 1463, 1468, 1473, 1478, 1482, + 1486, 1491, 1496, 1501, 1506, 1510, 1514, 1519, + 1524, 1529, 1534, 1538, 1542, 1547, 1552, 1557, + 1562, 1566, 1570, 1575, 1580, 1585, 1590, 1594, + 1598, 1604, 1609, 1614, 1619, 1623, 1627, 1632, + 1637, 1642, 1646, 1650, 1655, 1660, 1665, 1670, + 1674, 1678, 1683, 1688, 1693, 1698, 1702, 1706, + 1711, 1716, 1721, 1725, 1729, 1734, 1739, 1744, + 1749, 1754, 1758, 1762, 1768, 1774, 1779, 1784, + 1788, 1792, 1797, 1802, 1806, 1810, 1815, 1820, + 1825, 1829, 1833, 1838, 1843, 1848, 1853, 1857, + 1861, 1866, 1871, 1876, 1881, 1885, 1889, 1894, + 1899, 1904, 1909, 1913, 1917, 1922, 1927, 1932, + 1937, 1941, 1945, 1950, 1955, 1960, 1965, 1969, + 1973, 1979, 1984, 1989, 1994, 1998, 2002, 2007, + 2012, 2017, 2021, 2025, 2030, 2035, 2040, 2045, + 2049, 2053, 2058, 2063, 2068, 2073, 2077, 2081, + 2086, 2091, 2096, 2100, 2104, 2109, 2114, 2119, + 2124, 2129, 2133, 2137, 2141, 2145, 2148, 2150, + 2153, 2158, 2160, 2162, 2164, 2166, 2168, 2170, + 2172, 2174, 2176, 2202, 2205, 2210, 2215, 2226, + 2228, 2234, 2237, 2244, 2246, 2249, 2253, 2261, + 2264, 2267, 2270, 2274, 2318, 2320, 2322, 2325, + 2328, 2330, 2332, 2333, 2339, 2341, 2343, 2345, + 2347, 2351, 2353, 2355, 2360, 2364, 2368, 2370, + 2373, 2375, 2377, 2379, 2382, 2384, 2388, 2412, + 2416, 2422, 2432, 2435, 2437, 2440, 2446, 2450, + 2453, 2456, 2458, 2461, 2472, 2479, 2481, 2487, + 2492, 2501, 2504, 2514, 2519, 2521, 2523, 2528, + 2530, 2534, 2535, 2543, 2554, 2558, 2594, 2596, + 2598, 2600, 2602, 2604, 2605, 2607, 2609, 2614, + 2618, 2622, 2624, 2626, 2628, 2635, 2638, 2646, + 2648, 2650, 2652, 2654, 2662, 2664, 2666, 2668, + 2670, 2672 +}; + +static const short _regex_indicies[] = { + 0, 1, 3, 4, 5, 6, 7, 8, + 9, 10, 12, 13, 14, 15, 16, 17, + 18, 19, 19, 19, 19, 20, 11, 2, + 22, 23, 23, 23, 23, 21, 24, 25, + 25, 25, 25, 21, 27, 27, 27, 27, + 26, 28, 27, 27, 27, 27, 26, 29, + 26, 29, 30, 30, 30, 30, 26, 31, + 30, 32, 30, 30, 26, 29, 30, 32, + 30, 30, 26, 33, 33, 33, 33, 26, + 28, 33, 33, 33, 33, 26, 34, 35, + 36, 26, 37, 38, 26, 39, 40, 30, + 41, 30, 30, 26, 42, 42, 42, 42, + 26, 40, 42, 42, 42, 42, 26, 40, + 30, 41, 30, 30, 26, 43, 44, 21, + 45, 46, 47, 47, 47, 47, 21, 24, + 48, 48, 48, 48, 21, 49, 50, 21, + 48, 48, 48, 48, 21, 51, 51, 51, + 51, 21, 52, 51, 51, 51, 51, 21, + 23, 23, 23, 23, 21, 47, 47, 47, + 47, 21, 45, 53, 46, 54, 54, 54, + 54, 21, 57, 58, 55, 56, 57, 58, + 59, 56, 57, 58, 56, 61, 62, 55, + 60, 61, 62, 63, 60, 61, 62, 60, + 65, 66, 55, 64, 65, 66, 59, 64, + 65, 66, 64, 69, 68, 70, 67, 69, + 71, 72, 74, 73, 74, 74, 67, 75, + 67, 77, 76, 67, 77, 78, 67, 77, + 67, 74, 80, 79, 74, 74, 67, 74, + 80, 81, 74, 74, 67, 74, 80, 74, + 74, 74, 67, 74, 82, 74, 74, 74, + 67, 84, 84, 84, 84, 83, 85, 84, + 84, 84, 84, 83, 86, 86, 86, 86, + 83, 87, 86, 86, 86, 86, 83, 88, + 88, 88, 88, 83, 88, 89, 88, 88, + 88, 83, 91, 90, 92, 91, 90, 95, + 94, 94, 94, 93, 97, 99, 98, 96, + 101, 100, 96, 102, 100, 96, 104, 103, + 105, 103, 106, 103, 109, 108, 109, 110, + 108, 111, 108, 109, 112, 108, 113, 114, + 108, 115, 108, 117, 116, 118, 119, 116, + 120, 116, 121, 116, 122, 116, 123, 116, + 124, 116, 125, 116, 126, 116, 127, 116, + 128, 116, 129, 116, 130, 116, 131, 116, + 132, 116, 133, 134, 135, 116, 136, 116, + 137, 116, 138, 116, 139, 116, 140, 116, + 141, 116, 142, 116, 143, 116, 144, 116, + 145, 116, 146, 116, 147, 116, 148, 116, + 149, 116, 150, 116, 151, 116, 152, 116, + 153, 116, 154, 116, 155, 116, 156, 116, + 157, 158, 116, 159, 116, 160, 116, 161, + 116, 162, 116, 163, 116, 164, 165, 116, + 166, 116, 167, 116, 168, 116, 169, 116, + 170, 116, 171, 116, 172, 116, 174, 175, + 173, 176, 173, 177, 173, 178, 173, 179, + 173, 180, 173, 181, 173, 182, 173, 183, + 173, 184, 173, 185, 173, 186, 173, 187, + 173, 188, 173, 189, 173, 190, 173, 191, + 173, 192, 173, 193, 173, 194, 173, 195, + 196, 173, 197, 173, 198, 173, 199, 173, + 200, 173, 201, 173, 202, 173, 204, 203, + 205, 203, 206, 203, 207, 203, 208, 203, + 209, 203, 210, 173, 211, 173, 212, 173, + 213, 173, 214, 173, 215, 173, 216, 173, + 217, 218, 173, 219, 173, 220, 173, 221, + 173, 222, 173, 223, 173, 224, 173, 225, + 173, 226, 173, 227, 173, 228, 229, 116, + 230, 116, 231, 116, 232, 116, 233, 116, + 234, 116, 235, 116, 236, 116, 237, 116, + 238, 116, 239, 116, 240, 116, 241, 116, + 242, 116, 243, 116, 244, 116, 245, 116, + 246, 116, 247, 116, 248, 116, 249, 116, + 250, 116, 251, 116, 252, 116, 253, 116, + 254, 116, 255, 116, 256, 116, 257, 116, + 258, 116, 259, 116, 260, 116, 261, 116, + 262, 116, 263, 116, 264, 116, 265, 116, + 266, 116, 267, 116, 268, 116, 269, 116, + 270, 116, 271, 116, 272, 116, 273, 116, + 274, 116, 275, 116, 276, 116, 277, 116, + 278, 116, 279, 116, 280, 116, 281, 116, + 282, 116, 283, 116, 284, 116, 285, 116, + 286, 287, 116, 288, 116, 289, 116, 290, + 116, 291, 116, 292, 116, 293, 116, 294, + 116, 295, 116, 296, 116, 297, 116, 298, + 116, 300, 299, 301, 299, 302, 299, 303, + 299, 304, 299, 305, 116, 306, 116, 307, + 116, 308, 116, 309, 116, 310, 116, 311, + 116, 312, 116, 313, 116, 314, 116, 315, + 116, 316, 116, 317, 116, 318, 116, 319, + 116, 320, 116, 321, 116, 322, 116, 323, + 116, 324, 116, 325, 116, 326, 116, 327, + 116, 328, 116, 329, 330, 116, 331, 116, + 332, 116, 333, 116, 334, 116, 335, 116, + 336, 116, 337, 116, 338, 116, 339, 116, + 340, 116, 341, 116, 342, 116, 343, 116, + 344, 116, 345, 116, 346, 116, 347, 116, + 348, 116, 349, 116, 350, 351, 116, 352, + 116, 353, 116, 354, 116, 355, 116, 356, + 116, 357, 116, 358, 116, 359, 116, 360, + 116, 361, 116, 362, 116, 363, 116, 364, + 116, 365, 116, 366, 116, 367, 368, 369, + 370, 116, 371, 116, 372, 116, 373, 116, + 374, 116, 375, 116, 376, 116, 377, 116, + 378, 116, 379, 116, 380, 116, 381, 116, + 382, 116, 383, 116, 384, 116, 385, 116, + 386, 116, 387, 116, 388, 389, 116, 390, + 116, 391, 116, 392, 116, 393, 116, 394, + 116, 395, 116, 396, 116, 397, 116, 398, + 116, 400, 401, 399, 402, 399, 403, 399, + 404, 399, 405, 399, 406, 399, 407, 399, + 408, 409, 410, 399, 411, 399, 412, 399, + 413, 399, 414, 399, 415, 399, 416, 399, + 417, 399, 418, 399, 419, 420, 399, 421, + 399, 422, 399, 423, 399, 424, 399, 425, + 399, 426, 399, 428, 429, 427, 430, 427, + 431, 427, 432, 427, 433, 427, 434, 427, + 435, 427, 436, 427, 437, 427, 438, 427, + 439, 427, 441, 440, 442, 440, 443, 440, + 444, 440, 445, 440, 446, 440, 447, 440, + 448, 440, 449, 440, 450, 427, 451, 427, + 452, 427, 453, 427, 454, 427, 455, 427, + 456, 427, 457, 427, 458, 427, 459, 427, + 460, 427, 461, 427, 463, 462, 464, 462, + 465, 462, 466, 462, 467, 462, 468, 462, + 469, 462, 470, 462, 471, 462, 472, 462, + 473, 116, 474, 116, 475, 116, 476, 477, + 116, 478, 116, 479, 116, 480, 116, 481, + 116, 482, 116, 483, 116, 484, 485, 486, + 487, 116, 488, 116, 489, 116, 490, 116, + 491, 116, 492, 116, 493, 116, 494, 116, + 495, 116, 496, 116, 497, 116, 498, 116, + 499, 116, 500, 116, 501, 116, 502, 116, + 503, 116, 504, 116, 505, 116, 506, 116, + 507, 116, 508, 116, 509, 116, 510, 116, + 511, 116, 512, 116, 513, 116, 514, 116, + 515, 116, 516, 116, 517, 116, 518, 116, + 519, 116, 520, 116, 521, 116, 522, 116, + 523, 116, 525, 526, 524, 527, 524, 528, + 524, 529, 524, 530, 524, 531, 524, 532, + 524, 533, 524, 534, 524, 535, 524, 536, + 524, 537, 524, 538, 524, 539, 116, 540, + 116, 541, 116, 542, 116, 543, 116, 544, + 116, 545, 116, 547, 548, 546, 549, 546, + 550, 546, 551, 546, 552, 546, 553, 546, + 554, 546, 555, 546, 556, 546, 557, 546, + 558, 546, 559, 546, 560, 546, 561, 546, + 562, 546, 563, 546, 564, 546, 565, 546, + 566, 546, 567, 546, 568, 546, 569, 546, + 570, 546, 571, 546, 572, 546, 573, 546, + 574, 546, 575, 546, 576, 546, 577, 546, + 578, 546, 579, 580, 546, 581, 546, 582, + 546, 583, 546, 584, 546, 585, 546, 586, + 546, 587, 546, 588, 546, 589, 546, 590, + 546, 591, 546, 592, 546, 593, 594, 595, + 116, 596, 597, 116, 598, 116, 599, 116, + 600, 116, 601, 116, 602, 116, 603, 116, + 604, 116, 605, 116, 606, 607, 608, 116, + 609, 116, 610, 116, 611, 116, 612, 116, + 613, 116, 614, 116, 615, 116, 616, 116, + 617, 116, 618, 116, 619, 116, 620, 116, + 621, 116, 622, 116, 623, 624, 116, 625, + 116, 626, 116, 627, 628, 116, 629, 116, + 630, 116, 631, 116, 632, 116, 633, 116, + 634, 116, 635, 116, 636, 116, 637, 116, + 638, 116, 639, 116, 640, 116, 641, 116, + 642, 116, 643, 116, 644, 116, 645, 116, + 646, 116, 647, 116, 648, 116, 650, 649, + 652, 651, 653, 649, 649, 651, 656, 657, + 654, 655, 656, 657, 658, 655, 656, 657, + 655, 660, 661, 654, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, 672, 673, + 659, 660, 661, 654, 659, 660, 661, 674, + 659, 660, 661, 659, 660, 661, 654, 675, + 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 659, 660, 661, 654, 686, 687, + 659, 660, 661, 654, 688, 689, 659, 660, + 661, 654, 690, 659, 660, 661, 654, 691, + 659, 692, 661, 654, 659, 660, 661, 693, + 659, 660, 661, 654, 694, 659, 660, 661, + 654, 695, 659, 696, 661, 654, 659, 660, + 661, 697, 659, 660, 661, 654, 698, 659, + 660, 661, 654, 699, 659, 660, 661, 654, + 700, 659, 701, 661, 654, 659, 660, 661, + 702, 659, 660, 661, 654, 703, 659, 660, + 661, 654, 704, 659, 660, 661, 654, 705, + 659, 660, 661, 654, 706, 659, 707, 661, + 654, 659, 660, 661, 708, 659, 660, 661, + 654, 709, 659, 660, 661, 654, 710, 659, + 660, 661, 654, 711, 659, 660, 661, 654, + 712, 659, 713, 661, 654, 659, 660, 661, + 714, 659, 660, 661, 654, 715, 659, 660, + 661, 654, 716, 659, 660, 661, 654, 717, + 659, 660, 661, 654, 718, 659, 719, 661, + 654, 659, 660, 661, 720, 659, 660, 661, + 654, 721, 659, 660, 661, 654, 722, 659, + 660, 661, 654, 723, 659, 660, 661, 654, + 724, 659, 725, 661, 654, 659, 660, 661, + 726, 659, 660, 661, 654, 727, 659, 660, + 661, 654, 728, 659, 660, 661, 654, 729, + 659, 660, 661, 654, 730, 659, 731, 661, + 654, 659, 660, 661, 732, 659, 660, 661, + 654, 733, 734, 659, 660, 661, 654, 735, + 659, 660, 661, 654, 736, 659, 660, 661, + 654, 737, 659, 738, 661, 654, 659, 660, + 661, 739, 659, 660, 661, 654, 740, 659, + 660, 661, 654, 741, 659, 660, 661, 654, + 742, 659, 743, 661, 654, 659, 660, 661, + 744, 659, 660, 661, 654, 745, 659, 660, + 661, 654, 746, 659, 660, 661, 654, 747, + 659, 660, 661, 654, 748, 659, 749, 661, + 654, 659, 660, 661, 750, 659, 660, 661, + 654, 751, 659, 660, 661, 654, 752, 659, + 660, 661, 654, 753, 659, 660, 661, 654, + 754, 659, 755, 661, 654, 659, 660, 661, + 756, 659, 660, 661, 654, 757, 659, 660, + 661, 654, 758, 659, 660, 661, 654, 759, + 659, 760, 661, 654, 659, 660, 661, 761, + 659, 660, 661, 654, 762, 659, 660, 661, + 654, 763, 659, 660, 661, 654, 764, 659, + 660, 661, 654, 765, 659, 660, 661, 654, + 766, 659, 767, 661, 654, 659, 660, 661, + 768, 659, 660, 661, 654, 769, 770, 659, + 660, 661, 654, 771, 772, 659, 660, 661, + 654, 773, 659, 660, 661, 654, 774, 659, + 775, 661, 654, 659, 660, 661, 776, 659, + 660, 661, 654, 777, 659, 660, 661, 654, + 778, 659, 779, 661, 654, 659, 660, 661, + 780, 659, 660, 661, 654, 781, 659, 660, + 661, 654, 782, 659, 660, 661, 654, 783, + 659, 784, 661, 654, 659, 660, 661, 785, + 659, 660, 661, 654, 786, 659, 660, 661, + 654, 787, 659, 660, 661, 654, 788, 659, + 660, 661, 654, 789, 659, 790, 661, 654, + 659, 660, 661, 791, 659, 660, 661, 654, + 792, 659, 660, 661, 654, 793, 659, 660, + 661, 654, 794, 659, 660, 661, 654, 795, + 659, 796, 661, 654, 659, 660, 661, 797, + 659, 660, 661, 654, 798, 659, 660, 661, + 654, 799, 659, 660, 661, 654, 800, 659, + 660, 661, 654, 801, 659, 802, 661, 654, + 659, 660, 661, 803, 659, 660, 661, 654, + 804, 659, 660, 661, 654, 805, 659, 660, + 661, 654, 806, 659, 660, 661, 654, 807, + 659, 808, 661, 654, 659, 660, 661, 809, + 659, 660, 661, 654, 810, 659, 660, 661, + 654, 811, 659, 660, 661, 654, 812, 659, + 660, 661, 654, 813, 659, 814, 661, 654, + 659, 660, 661, 815, 659, 660, 661, 654, + 816, 817, 659, 660, 661, 654, 818, 659, + 660, 661, 654, 819, 659, 660, 661, 654, + 820, 659, 821, 661, 654, 659, 660, 661, + 822, 659, 660, 661, 654, 823, 659, 660, + 661, 654, 824, 659, 660, 661, 654, 825, + 659, 826, 661, 654, 659, 660, 661, 827, + 659, 660, 661, 654, 828, 659, 660, 661, + 654, 829, 659, 660, 661, 654, 830, 659, + 660, 661, 654, 831, 659, 832, 661, 654, + 659, 660, 661, 833, 659, 660, 661, 654, + 834, 659, 660, 661, 654, 835, 659, 660, + 661, 654, 836, 659, 660, 661, 654, 837, + 659, 838, 661, 654, 659, 660, 661, 839, + 659, 660, 661, 654, 840, 659, 660, 661, + 654, 841, 659, 660, 661, 654, 842, 659, + 843, 661, 654, 659, 660, 661, 844, 659, + 660, 661, 654, 845, 659, 660, 661, 654, + 846, 659, 660, 661, 654, 847, 659, 660, + 661, 654, 848, 659, 660, 661, 654, 849, + 659, 850, 661, 654, 659, 660, 661, 851, + 659, 853, 854, 654, 852, 853, 854, 658, + 852, 853, 854, 852, 856, 855, 857, 856, + 855, 860, 859, 859, 859, 858, 862, 861, + 863, 861, 864, 861, 866, 865, 867, 865, + 868, 865, 870, 869, 871, 869, 872, 869, + 873, 876, 877, 878, 879, 880, 881, 882, + 883, 884, 885, 886, 887, 888, 875, 893, + 875, 876, 875, 875, 889, 890, 891, 892, + 889, 874, 895, 896, 894, 23, 23, 23, + 23, 897, 25, 25, 25, 25, 897, 899, + 30, 902, 903, 904, 30, 900, 901, 30, + 30, 898, 44, 897, 47, 47, 47, 47, + 44, 897, 43, 44, 897, 905, 906, 48, + 48, 48, 48, 897, 907, 897, 49, 50, + 897, 908, 909, 910, 897, 45, 53, 46, + 54, 54, 54, 54, 897, 912, 913, 911, + 915, 916, 914, 918, 919, 917, 56, 60, + 64, 920, 923, 926, 927, 928, 929, 930, + 931, 932, 933, 934, 934, 935, 936, 937, + 938, 934, 939, 940, 941, 942, 943, 944, + 945, 946, 947, 948, 949, 950, 951, 934, + 952, 953, 954, 955, 956, 957, 934, 958, + 959, 960, 961, 924, 925, 922, 963, 962, + 964, 962, 966, 967, 965, 969, 967, 968, + 967, 970, 973, 972, 975, 68, 977, 71, + 979, 978, 976, 981, 980, 982, 980, 984, + 983, 985, 983, 987, 988, 989, 986, 991, + 990, 994, 993, 999, 996, 997, 998, 995, + 1000, 1001, 1002, 995, 94, 94, 94, 1003, + 98, 1004, 1006, 1007, 1005, 1009, 1008, 1010, + 1008, 1011, 1008, 1013, 1014, 1012, 109, 108, + 109, 1016, 1017, 108, 1019, 1020, 1021, 1022, + 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, + 1039, 1040, 1041, 1018, 1043, 1044, 1045, 1042, + 1046, 1047, 1048, 1049, 1050, 1042, 1052, 1053, + 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1051, + 1062, 1063, 1061, 1064, 1042, 1065, 1066, 1042, + 1067, 1068, 1069, 1070, 1071, 1042, 1072, 1073, + 1074, 1042, 1076, 1077, 1075, 1078, 1079, 1042, + 1080, 1042, 1081, 1082, 1042, 1084, 1085, 1086, + 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1083, + 1095, 1096, 1097, 1098, 1099, 1100, 1094, 1102, + 1101, 1104, 1105, 1106, 1107, 1108, 1103, 1109, + 1110, 1111, 1112, 1042, 1114, 1115, 1116, 1117, + 1118, 1119, 1120, 1121, 1113, 1122, 1123, 1042, + 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, + 1133, 1124, 1134, 1135, 1136, 1137, 1042, 1138, + 1042, 1139, 1042, 1140, 1141, 1142, 1143, 1042, + 1144, 1042, 1146, 1147, 1148, 1145, 649, 1150, + 1151, 1152, 1153, 1154, 1155, 1156, 1149, 1158, + 1159, 1160, 1161, 1157, 1162, 1163, 1164, 1165, + 1162, 874, 655, 1167, 852, 1166, 1169, 1173, + 1174, 1175, 1176, 1176, 1177, 1178, 1179, 1176, + 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, + 1188, 1189, 1176, 1190, 1191, 1192, 1193, 1194, + 1195, 1176, 1196, 1197, 1198, 1170, 1171, 1172, + 1172, 1168, 1200, 1199, 1201, 1199, 1203, 1202, + 1204, 1202, 1207, 1206, 1209, 1211, 1210, 1214, + 1213, 1219, 1216, 1217, 1218, 1215, 1220, 1221, + 1222, 1215, 859, 859, 859, 1223, 1225, 1224, + 1226, 1224, 1227, 1224, 1229, 1230, 1231, 1228, + 1228, 1228, 874, 1233, 1234, 1232, 1236, 1235, + 1237, 1238, 1239, 1240, 1237, 874, 1242, 1241, + 1244, 1243, 1245, 1243, 1246, 1243, 1248, 1247, + 1249, 1250, 1251, 1252, 1249, 874, 1254, 1253, + 1256, 1255, 1257, 1255, 1258, 1255, 1260, 1259, + 1262, 1261, 0 +}; + +static const short _regex_trans_targs[] = { + 746, 746, 746, 746, 746, 748, 749, 750, + 746, 751, 752, 753, 746, 754, 746, 746, + 755, 756, 757, 758, 746, 746, 746, 3, + 746, 4, 746, 6, 7, 746, 8, 746, + 9, 12, 746, 14, 746, 746, 746, 16, + 746, 18, 17, 746, 19, 746, 746, 20, + 21, 746, 22, 25, 746, 27, 28, 746, + 29, 30, 31, 746, 32, 33, 34, 746, + 35, 36, 37, 746, 38, 746, 772, 40, + 42, 46, 49, 43, 44, 746, 45, 47, + 746, 48, 746, 746, 51, 746, 53, 746, + 55, 746, 746, 57, 746, 746, 58, 746, + 746, 60, 59, 783, 61, 783, 783, 746, + 746, 64, 746, 787, 65, 787, 67, 787, + 69, 787, 70, 787, 790, 790, 73, 76, + 74, 75, 790, 77, 78, 79, 80, 790, + 82, 83, 84, 85, 790, 87, 92, 94, + 88, 89, 90, 91, 790, 93, 790, 95, + 790, 97, 98, 99, 100, 790, 102, 103, + 104, 105, 106, 790, 108, 109, 111, 110, + 790, 112, 113, 790, 115, 120, 116, 117, + 118, 119, 790, 121, 790, 790, 123, 139, + 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 790, + 140, 141, 790, 143, 144, 790, 145, 146, + 147, 148, 790, 790, 150, 151, 790, 153, + 154, 790, 156, 157, 158, 159, 160, 161, + 790, 163, 167, 164, 165, 166, 790, 168, + 169, 170, 171, 790, 173, 177, 174, 175, + 176, 790, 178, 179, 180, 181, 182, 183, + 790, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 790, 203, 204, 205, 206, 207, + 790, 209, 210, 211, 212, 213, 790, 215, + 216, 217, 218, 219, 220, 221, 790, 223, + 224, 225, 790, 227, 228, 790, 230, 235, + 231, 232, 233, 234, 790, 236, 237, 238, + 239, 790, 799, 790, 242, 790, 244, 245, + 790, 247, 248, 249, 790, 251, 252, 253, + 254, 255, 790, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, + 790, 271, 277, 272, 273, 274, 275, 276, + 790, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 295, + 292, 293, 294, 790, 296, 297, 298, 299, + 790, 301, 302, 303, 304, 305, 790, 307, + 310, 314, 319, 308, 309, 790, 311, 312, + 313, 790, 315, 316, 317, 318, 790, 320, + 321, 322, 323, 790, 325, 332, 326, 327, + 328, 329, 330, 331, 790, 333, 790, 790, + 790, 335, 336, 790, 338, 339, 340, 790, + 342, 344, 349, 343, 790, 345, 346, 347, + 348, 790, 790, 351, 354, 352, 353, 790, + 355, 356, 790, 790, 358, 364, 359, 360, + 361, 362, 363, 790, 365, 366, 367, 790, + 790, 369, 370, 371, 372, 373, 374, 375, + 376, 790, 378, 379, 380, 381, 382, 383, + 790, 385, 386, 387, 388, 790, 790, 390, + 391, 392, 393, 394, 395, 396, 397, 790, + 790, 400, 401, 790, 403, 408, 404, 405, + 406, 407, 790, 409, 410, 415, 421, 433, + 411, 412, 413, 414, 790, 416, 417, 418, + 419, 420, 790, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 790, 434, + 435, 436, 437, 790, 439, 440, 790, 442, + 443, 444, 445, 790, 790, 447, 452, 448, + 449, 450, 451, 790, 453, 454, 455, 456, + 457, 458, 790, 460, 461, 462, 790, 464, + 465, 790, 790, 467, 473, 468, 469, 470, + 471, 472, 790, 474, 475, 476, 477, 478, + 479, 790, 481, 482, 483, 484, 790, 486, + 487, 488, 489, 790, 491, 492, 493, 494, + 495, 496, 790, 498, 507, 499, 500, 501, + 502, 503, 504, 505, 506, 790, 508, 509, + 790, 511, 519, 528, 512, 515, 513, 514, + 790, 516, 517, 518, 790, 520, 521, 522, + 525, 790, 523, 524, 790, 526, 527, 790, + 529, 790, 531, 532, 533, 790, 535, 536, + 790, 537, 790, 539, 543, 540, 541, 542, + 790, 544, 545, 546, 547, 790, 549, 550, + 551, 552, 553, 790, 790, 790, 790, 790, + 790, 0, 560, 561, 562, 817, 819, 563, + 564, 565, 819, 567, 568, 569, 570, 651, + 666, 672, 678, 684, 690, 696, 707, 713, + 719, 724, 819, 571, 586, 592, 598, 604, + 610, 616, 627, 633, 639, 644, 572, 581, + 573, 577, 574, 575, 576, 819, 578, 579, + 580, 819, 582, 583, 584, 585, 819, 587, + 588, 589, 590, 591, 819, 593, 594, 595, + 596, 597, 819, 599, 600, 601, 602, 603, + 819, 605, 606, 607, 608, 609, 819, 611, + 612, 613, 614, 615, 819, 617, 622, 618, + 619, 620, 621, 819, 623, 624, 625, 626, + 819, 628, 629, 630, 631, 632, 819, 634, + 635, 636, 637, 638, 819, 640, 641, 642, + 643, 819, 645, 646, 647, 648, 649, 650, + 819, 652, 661, 653, 657, 654, 655, 656, + 819, 658, 659, 660, 819, 662, 663, 664, + 665, 819, 667, 668, 669, 670, 671, 819, + 673, 674, 675, 676, 677, 819, 679, 680, + 681, 682, 683, 819, 685, 686, 687, 688, + 689, 819, 691, 692, 693, 694, 695, 819, + 697, 702, 698, 699, 700, 701, 819, 703, + 704, 705, 706, 819, 708, 709, 710, 711, + 712, 819, 714, 715, 716, 717, 718, 819, + 720, 721, 722, 723, 819, 725, 726, 727, + 728, 729, 730, 819, 731, 732, 733, 819, + 735, 819, 819, 736, 819, 819, 819, 739, + 819, 838, 838, 742, 838, 843, 843, 745, + 843, 746, 0, 746, 746, 746, 747, 746, + 759, 760, 746, 761, 762, 763, 746, 782, + 746, 746, 784, 785, 786, 746, 746, 1, + 2, 746, 746, 5, 9, 10, 11, 13, + 15, 746, 746, 746, 23, 24, 26, 746, + 746, 746, 746, 746, 746, 746, 746, 746, + 746, 746, 746, 764, 766, 768, 746, 746, + 746, 746, 746, 746, 746, 746, 746, 769, + 746, 746, 746, 746, 746, 746, 746, 746, + 746, 770, 746, 746, 746, 771, 746, 776, + 746, 777, 778, 746, 746, 746, 746, 746, + 779, 746, 746, 765, 746, 746, 767, 768, + 746, 768, 746, 746, 746, 746, 746, 746, + 746, 39, 774, 41, 746, 773, 746, 746, + 775, 746, 746, 50, 52, 54, 746, 56, + 746, 746, 746, 746, 780, 780, 780, 781, + 746, 746, 746, 746, 746, 746, 746, 746, + 746, 746, 62, 63, 788, 787, 789, 787, + 66, 68, 790, 791, 792, 793, 795, 796, + 797, 798, 800, 801, 802, 803, 804, 806, + 807, 808, 809, 810, 811, 812, 813, 814, + 815, 816, 790, 71, 72, 81, 86, 96, + 101, 107, 114, 790, 122, 790, 790, 142, + 790, 794, 790, 155, 162, 790, 149, 152, + 172, 184, 202, 208, 214, 222, 226, 229, + 240, 246, 250, 790, 241, 243, 256, 270, + 300, 306, 324, 790, 790, 334, 337, 341, + 790, 790, 790, 790, 790, 350, 790, 357, + 790, 805, 790, 377, 384, 790, 368, 790, + 790, 389, 398, 790, 790, 399, 402, 438, + 441, 790, 790, 790, 790, 790, 446, 790, + 790, 790, 459, 463, 790, 466, 790, 480, + 485, 790, 790, 790, 490, 497, 510, 530, + 534, 538, 548, 554, 555, 556, 557, 558, + 790, 790, 790, 790, 790, 818, 818, 818, + 818, 818, 818, 818, 818, 819, 819, 820, + 821, 819, 819, 833, 834, 835, 819, 566, + 819, 822, 824, 819, 819, 819, 819, 819, + 819, 826, 819, 819, 819, 819, 819, 819, + 827, 819, 819, 819, 819, 819, 819, 828, + 829, 819, 819, 819, 819, 819, 830, 819, + 823, 819, 819, 825, 819, 819, 819, 819, + 819, 819, 819, 734, 819, 819, 819, 819, + 831, 831, 831, 832, 819, 819, 819, 819, + 819, 819, 737, 738, 836, 837, 836, 836, + 836, 836, 836, 838, 839, 838, 840, 841, + 842, 838, 838, 838, 838, 740, 741, 843, + 844, 843, 845, 846, 847, 843, 843, 843, + 843, 743, 744, 848, 848, 849, 849 +}; + +static const short _regex_trans_actions[] = { + 827, 631, 765, 731, 723, 45, 903, 903, + 897, 45, 912, 45, 900, 903, 729, 741, + 0, 45, 45, 923, 737, 841, 747, 0, + 743, 3, 839, 3, 0, 761, 3, 759, + 870, 3, 751, 0, 749, 755, 753, 0, + 757, 3, 0, 745, 0, 725, 727, 27, + 3, 763, 0, 3, 673, 0, 25, 829, + 0, 0, 0, 603, 0, 0, 0, 601, + 0, 0, 0, 831, 0, 675, 17, 0, + 7, 870, 3, 17, 17, 663, 17, 870, + 661, 870, 665, 837, 3, 671, 3, 669, + 3, 667, 833, 0, 677, 835, 0, 679, + 845, 0, 11, 29, 13, 31, 0, 843, + 769, 0, 771, 59, 0, 53, 0, 51, + 0, 49, 0, 47, 359, 315, 0, 0, + 0, 0, 127, 0, 0, 0, 0, 129, + 0, 0, 0, 0, 131, 0, 0, 0, + 0, 0, 0, 0, 133, 0, 135, 0, + 137, 0, 0, 0, 0, 139, 0, 0, + 0, 0, 0, 141, 0, 0, 0, 0, + 143, 0, 0, 145, 0, 0, 0, 0, + 0, 0, 147, 0, 149, 341, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 151, + 0, 0, 153, 0, 0, 155, 0, 0, + 0, 0, 157, 343, 0, 0, 159, 0, + 0, 161, 0, 0, 0, 0, 0, 0, + 163, 0, 0, 0, 0, 0, 165, 0, + 0, 0, 0, 167, 0, 0, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, + 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 173, 0, 0, 0, 0, 0, + 175, 0, 0, 0, 0, 0, 177, 0, + 0, 0, 0, 0, 0, 0, 179, 0, + 0, 0, 181, 0, 0, 183, 0, 0, + 0, 0, 0, 0, 185, 0, 0, 0, + 0, 187, 45, 357, 0, 189, 0, 0, + 191, 0, 0, 0, 193, 0, 0, 0, + 0, 0, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 197, 0, 0, 0, 0, 0, 0, 0, + 199, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 201, 0, 0, 0, 0, + 203, 0, 0, 0, 0, 0, 205, 0, + 0, 0, 0, 0, 0, 207, 0, 0, + 0, 209, 0, 0, 0, 0, 211, 0, + 0, 0, 0, 213, 0, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 217, 345, + 219, 0, 0, 221, 0, 0, 0, 223, + 0, 0, 0, 0, 225, 0, 0, 0, + 0, 227, 229, 0, 0, 0, 0, 231, + 0, 0, 233, 347, 0, 0, 0, 0, + 0, 0, 0, 235, 0, 0, 0, 237, + 349, 0, 0, 0, 0, 0, 0, 0, + 0, 239, 0, 0, 0, 0, 0, 0, + 241, 0, 0, 0, 0, 243, 351, 0, + 0, 0, 0, 0, 0, 0, 0, 245, + 247, 0, 0, 249, 0, 0, 0, 0, + 0, 0, 251, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, + 0, 0, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 0, + 0, 0, 0, 259, 0, 0, 261, 0, + 0, 0, 0, 263, 353, 0, 0, 0, + 0, 0, 0, 265, 0, 0, 0, 0, + 0, 0, 267, 0, 0, 0, 269, 0, + 0, 271, 355, 0, 0, 0, 0, 0, + 0, 0, 273, 0, 0, 0, 0, 0, + 0, 275, 0, 0, 0, 0, 277, 0, + 0, 0, 0, 279, 0, 0, 0, 0, + 0, 0, 281, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 283, 0, 0, + 285, 0, 0, 0, 0, 0, 0, 0, + 287, 0, 0, 0, 289, 0, 0, 0, + 0, 291, 0, 0, 293, 0, 0, 295, + 0, 297, 0, 0, 0, 299, 0, 0, + 303, 0, 301, 0, 0, 0, 0, 0, + 305, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 309, 311, 119, 121, 123, + 125, 39, 0, 35, 33, 37, 539, 0, + 0, 0, 377, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 0, + 0, 385, 0, 0, 0, 0, 389, 0, + 0, 0, 0, 0, 393, 0, 0, 0, + 0, 0, 397, 0, 0, 0, 0, 0, + 401, 0, 0, 0, 0, 0, 405, 0, + 0, 0, 0, 0, 409, 0, 0, 0, + 0, 0, 0, 413, 0, 0, 0, 0, + 417, 0, 0, 0, 0, 0, 421, 0, + 0, 0, 0, 0, 425, 0, 0, 0, + 0, 429, 0, 0, 0, 0, 0, 0, + 433, 0, 0, 0, 0, 0, 0, 0, + 379, 0, 0, 0, 383, 0, 0, 0, + 0, 387, 0, 0, 0, 0, 0, 391, + 0, 0, 0, 0, 0, 395, 0, 0, + 0, 0, 0, 399, 0, 0, 0, 0, + 0, 403, 0, 0, 0, 0, 0, 407, + 0, 0, 0, 0, 0, 0, 411, 0, + 0, 0, 0, 415, 0, 0, 0, 0, + 0, 419, 0, 0, 0, 0, 0, 423, + 0, 0, 0, 0, 427, 0, 0, 0, + 0, 0, 0, 431, 0, 0, 0, 533, + 0, 471, 535, 0, 475, 537, 503, 0, + 505, 569, 557, 0, 559, 587, 575, 0, + 577, 633, 0, 777, 775, 637, 45, 597, + 0, 0, 609, 0, 45, 0, 635, 909, + 599, 773, 0, 45, 45, 629, 779, 0, + 0, 821, 819, 1, 855, 855, 1, 0, + 3, 735, 733, 739, 1, 1, 0, 783, + 615, 613, 785, 619, 617, 787, 623, 621, + 781, 817, 721, 5, 852, 915, 639, 647, + 611, 695, 607, 717, 699, 715, 683, 0, + 605, 713, 691, 703, 687, 719, 641, 657, + 645, 0, 693, 659, 655, 906, 697, 45, + 651, 45, 0, 653, 689, 649, 701, 685, + 7, 643, 791, 15, 867, 795, 858, 919, + 793, 927, 847, 811, 711, 709, 809, 681, + 801, 7, 17, 849, 799, 17, 876, 797, + 17, 873, 815, 1, 1, 1, 803, 0, + 813, 707, 705, 805, 19, 23, 21, 45, + 882, 894, 888, 807, 825, 789, 627, 625, + 823, 767, 0, 0, 45, 55, 45, 57, + 0, 0, 317, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, + 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 319, 0, 61, 63, 0, + 65, 45, 67, 0, 0, 321, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 337, 0, 0, 0, 0, + 0, 0, 0, 323, 79, 0, 0, 0, + 69, 71, 73, 75, 77, 0, 325, 0, + 81, 45, 83, 0, 0, 327, 0, 329, + 85, 0, 0, 87, 89, 0, 0, 0, + 0, 331, 91, 93, 95, 97, 0, 99, + 101, 103, 0, 0, 333, 0, 105, 0, + 0, 107, 109, 111, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 313, 335, 113, 115, 117, 375, 361, 363, + 365, 367, 369, 371, 373, 509, 491, 45, + 0, 511, 507, 0, 45, 45, 531, 0, + 499, 5, 9, 473, 497, 489, 439, 457, + 493, 0, 437, 485, 461, 481, 451, 441, + 0, 487, 453, 449, 495, 455, 445, 45, + 0, 447, 483, 443, 459, 479, 7, 517, + 15, 861, 519, 15, 864, 513, 469, 467, + 527, 477, 521, 0, 515, 465, 463, 523, + 19, 23, 21, 45, 879, 891, 885, 525, + 529, 501, 0, 0, 549, 0, 543, 541, + 551, 547, 545, 563, 0, 561, 0, 45, + 45, 567, 553, 565, 555, 0, 0, 581, + 0, 579, 0, 45, 45, 585, 571, 583, + 573, 0, 0, 591, 589, 595, 593 +}; + +static const short _regex_to_state_actions[] = { + 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, 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, 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, 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, + 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, 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, 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, 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, + 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, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 41, + 0, 41, 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, + 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, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 41, 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, 41, 0, 0, 41, 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, 41, 41, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 41, 0, 41, 0, + 0, 0, 0, 41, 0, 0, 0, 0, + 41, 41 +}; + +static const short _regex_from_state_actions[] = { + 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, 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, 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, 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, + 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, 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, 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, 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, + 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, 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, 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, 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, + 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, 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, 43, 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, 43, 0, 0, 43, 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, 43, 43, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 43, 0, 43, 0, + 0, 0, 0, 43, 0, 0, 0, 0, + 43, 43 +}; + +static const short _regex_eof_actions[] = { + 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, 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, 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, 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, + 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, 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, 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, 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, + 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, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 39, + 39, 39, 39, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0 +}; + +static const short _regex_eof_trans[] = { + 0, 1, 1, 22, 22, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 84, 84, 84, 84, 84, 84, + 91, 91, 94, 97, 97, 97, 104, 104, + 104, 108, 108, 108, 108, 108, 108, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 204, 204, 204, + 204, 204, 204, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 300, 300, 300, 300, 300, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 400, 400, 400, 428, 428, 428, + 428, 428, 428, 428, 428, 428, 428, 428, + 441, 441, 441, 441, 441, 441, 441, 441, + 441, 428, 428, 428, 428, 428, 428, 428, + 428, 428, 428, 428, 428, 463, 463, 463, + 463, 463, 463, 463, 463, 463, 463, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 525, 525, + 525, 525, 525, 525, 525, 525, 525, 525, + 525, 525, 525, 117, 117, 117, 117, 117, + 117, 117, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 0, + 0, 0, 0, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 856, 856, + 859, 862, 862, 862, 866, 866, 866, 870, + 870, 870, 0, 895, 898, 898, 899, 898, + 898, 898, 898, 898, 898, 898, 898, 912, + 915, 918, 921, 922, 963, 963, 966, 969, + 971, 972, 975, 977, 981, 981, 984, 984, + 987, 991, 993, 996, 996, 1004, 1005, 1006, + 1009, 1009, 1009, 0, 1016, 1016, 0, 1043, + 1043, 1052, 1062, 1043, 1043, 1043, 1043, 1076, + 1043, 1043, 1043, 1084, 1095, 1102, 1104, 1043, + 1114, 1043, 1125, 1043, 1043, 1043, 1043, 1043, + 1146, 0, 0, 0, 1167, 1167, 1200, 1200, + 1203, 1203, 1206, 1209, 1211, 1213, 1216, 1216, + 1224, 1225, 1225, 1225, 0, 1233, 0, 1242, + 1244, 1244, 1244, 0, 1254, 1256, 1256, 1256, + 0, 0 +}; + +static const int regex_start = 746; +static const int regex_error = 0; + +static const int regex_en_readVerb = 787; +static const int regex_en_readUCP = 790; +static const int regex_en_readBracedUCP = 559; +static const int regex_en_readUCPSingle = 818; +static const int regex_en_charClassGuts = 819; +static const int regex_en_readClass = 836; +static const int regex_en_readQuotedLiteral = 838; +static const int regex_en_readQuotedClass = 843; +static const int regex_en_readComment = 848; +static const int regex_en_readNewlineTerminatedComment = 849; +static const int regex_en_main = 746; + + +#line 1912 "Parser.rl" + +/** \brief Main parser call, returns root Component or nullptr. */ +unique_ptr parse(const char *ptr, ParseMode &globalMode) { + assert(ptr); + + const char *p = ptr; + const char *pe = ptr + strlen(ptr); + + // First, read the control verbs, set any global mode flags and move the + // ptr forward. + p = read_control_verbs(p, pe, 0, globalMode); + + const char *eof = pe; + int cs; + UNUSED int act; + int top; + vector stack; + const char *ts, *te; + unichar accumulator = 0; + unichar octAccumulator = 0; /* required as we are also accumulating for + * back ref when looking for octals */ + unsigned repeatN = 0; + unsigned repeatM = 0; + string label; + + ParseMode mode = globalMode; + ParseMode newMode; + + bool negated = false; + bool inComment = false; + + // Stack of sequences and flags used to store state when we enter + // sub-sequences. + vector sequences; + + // Index of the next capturing group. Note that zero is reserved for the + // root sequence. + unsigned groupIndex = 1; + + // Set storing group names that are currently in use. + flat_set groupNames; + + // Root sequence. + unique_ptr rootSeq = std::make_unique(); + rootSeq->setCaptureIndex(0); + + // Current sequence being appended to + ComponentSequence *currentSeq = rootSeq.get(); + + // The current character class being appended to. This is used as the + // accumulator for both character class and UCP properties. + unique_ptr currentCls; + + // True if the machine is currently inside a character class, i.e. square + // brackets [..]. + bool inCharClass = false; + + // True if the machine is inside a character class but it has not processed + // any "real" elements yet, i.e. it's still processing meta-characters like + // '^'. + bool inCharClassEarly = false; + + // Location at which the current character class began. + const char *currentClsBegin = p; + + // We throw exceptions on various parsing failures beyond this point: we + // use a try/catch block here to clean up our allocated memory before we + // re-throw the exception to the caller. + try { + // Embed the Ragel machine here + +#line 2533 "Parser.cpp" + { + cs = regex_start; + top = 0; + ts = 0; + te = 0; + act = 0; + } + +#line 1983 "Parser.rl" + +#line 2544 "Parser.cpp" + { + int _klen; + unsigned int _trans; + short _widec; + const short *_acts; + unsigned int _nacts; + const short *_keys; + + if ( p == pe ) + goto _test_eof; + if ( cs == 0 ) + goto _out; +_resume: + _acts = _regex_actions + _regex_from_state_actions[cs]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) { + switch ( *_acts++ ) { + case 24: +#line 1 "NONE" + {ts = p;} + break; +#line 2566 "Parser.cpp" + } + } + + _widec = (*p); + _klen = _regex_cond_lengths[cs]; + _keys = _regex_cond_keys + (_regex_cond_offsets[cs]*2); + if ( _klen > 0 ) { + const short *_lower = _keys; + const short *_mid; + const short *_upper = _keys + (_klen<<1) - 2; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + (((_upper-_lower) >> 1) & ~1); + if ( _widec < _mid[0] ) + _upper = _mid - 2; + else if ( _widec > _mid[1] ) + _lower = _mid + 2; + else { + switch ( _regex_cond_spaces[_regex_cond_offsets[cs] + ((_mid - _keys)>>1)] ) { + case 0: { + _widec = (short)(128 + ((*p) - -128)); + if ( +#line 475 "Parser.rl" + mode.utf8 ) _widec += 256; + break; + } + case 1: { + _widec = (short)(1152 + ((*p) - -128)); + if ( +#line 476 "Parser.rl" + mode.ignore_space ) _widec += 256; + break; + } + case 2: { + _widec = (short)(640 + ((*p) - -128)); + if ( +#line 477 "Parser.rl" + inCharClassEarly ) _widec += 256; + break; + } + } + break; + } + } + } + + _keys = _regex_trans_keys + _regex_key_offsets[cs]; + _trans = _regex_index_offsets[cs]; + + _klen = _regex_single_lengths[cs]; + if ( _klen > 0 ) { + const short *_lower = _keys; + const short *_mid; + const short *_upper = _keys + _klen - 1; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + ((_upper-_lower) >> 1); + if ( _widec < *_mid ) + _upper = _mid - 1; + else if ( _widec > *_mid ) + _lower = _mid + 1; + else { + _trans += (unsigned int)(_mid - _keys); + goto _match; + } + } + _keys += _klen; + _trans += _klen; + } + + _klen = _regex_range_lengths[cs]; + if ( _klen > 0 ) { + const short *_lower = _keys; + const short *_mid; + const short *_upper = _keys + (_klen<<1) - 2; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + (((_upper-_lower) >> 1) & ~1); + if ( _widec < _mid[0] ) + _upper = _mid - 2; + else if ( _widec > _mid[1] ) + _lower = _mid + 2; + else { + _trans += (unsigned int)((_mid - _keys)>>1); + goto _match; + } + } + _trans += _klen; + } + +_match: + _trans = _regex_indicies[_trans]; +_eof_trans: + cs = _regex_trans_targs[_trans]; + + if ( _regex_trans_actions[_trans] == 0 ) + goto _again; + + _acts = _regex_actions + _regex_trans_actions[_trans]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) + { + switch ( *_acts++ ) + { + case 0: +#line 285 "Parser.rl" + { label.clear();} + break; + case 1: +#line 286 "Parser.rl" + { label.push_back((*p));} + break; + case 2: +#line 287 "Parser.rl" + { octAccumulator = 0;} + break; + case 3: +#line 288 "Parser.rl" + { accumulator = 0;} + break; + case 4: +#line 289 "Parser.rl" + { + octAccumulator = 0; + pushOct(&octAccumulator, (*p)); + } + break; + case 5: +#line 293 "Parser.rl" + { + accumulator = 0; + pushDec(&accumulator, (*p)); + } + break; + case 6: +#line 297 "Parser.rl" + { repeatN = 0; repeatM = 0; } + break; + case 7: +#line 298 "Parser.rl" + { pushDec(&repeatN, (*p)); } + break; + case 8: +#line 299 "Parser.rl" + { pushDec(&repeatM, (*p)); } + break; + case 9: +#line 300 "Parser.rl" + { pushOct(&octAccumulator, (*p)); } + break; + case 10: +#line 301 "Parser.rl" + { pushDec(&accumulator, (*p)); } + break; + case 11: +#line 302 "Parser.rl" + { + accumulator *= 16; + accumulator += (*p) - '0'; + } + break; + case 12: +#line 306 "Parser.rl" + { + accumulator *= 16; + accumulator += 10 + (*p) - 'a'; + } + break; + case 13: +#line 310 "Parser.rl" + { + accumulator *= 16; + accumulator += 10 + (*p) - 'A'; + } + break; + case 14: +#line 430 "Parser.rl" + { + newMode = mode; + } + break; + case 15: +#line 437 "Parser.rl" + { + switch ((*p)) { + case 'i': + newMode.caseless = true; + break; + case 'm': + newMode.multiline = true; + break; + case 's': + newMode.dotall = true; + break; + case 'x': + newMode.ignore_space = true; + break; + default: + assert(0); // this action only called for [imsx] + break; + } + } + break; + case 16: +#line 456 "Parser.rl" + { + switch ((*p)) { + case 'i': + newMode.caseless = false; + break; + case 'm': + newMode.multiline = false; + break; + case 's': + newMode.dotall = false; + break; + case 'x': + newMode.ignore_space = false; + break; + default: + assert(0); // this action only called for [imsx] + break; + } + } + break; + case 17: +#line 510 "Parser.rl" + {repeatM = repeatN;} + break; + case 18: +#line 510 "Parser.rl" + {repeatM = ComponentRepeat::NoLimit;} + break; + case 19: +#line 722 "Parser.rl" + { negated = !negated; } + break; + case 20: +#line 723 "Parser.rl" + { p--; { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 790;goto _again;}} } + break; + case 21: +#line 724 "Parser.rl" + { if (!inCharClass) { // not inside [..] + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + } + break; + case 22: +#line 730 "Parser.rl" + { throw LocatedParseError("Malformed property"); } + break; + case 25: +#line 1 "NONE" + {te = p+1;} + break; + case 26: +#line 550 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("(*UTF8) must be at start of " + "expression, encountered"); + }} + break; + case 27: +#line 554 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("(*UTF) must be at start of " + "expression, encountered"); + }} + break; + case 28: +#line 558 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("(*UCP) must be at start of " + "expression, encountered"); + }} + break; + case 29: +#line 564 "Parser.rl" + {te = p+1;{ + ParseMode temp_mode; + assert(ts - 2 >= ptr); // parser needs the '(*' at the start too. + read_control_verbs(ts - 2, te, (ts - 2 - ptr), temp_mode); + assert(0); // Should have thrown a parse error. + throw LocatedParseError("Unknown control verb"); + }} + break; + case 30: +#line 571 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Unknown control verb"); + }} + break; + case 31: +#line 571 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Unknown control verb"); + }} + break; + case 32: +#line 571 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Unknown control verb"); + }} + break; + case 33: +#line 581 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_CC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 34: +#line 582 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_CF, negated); {cs = stack[--top]; goto _again;} }} + break; + case 35: +#line 583 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_CN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 36: +#line 585 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_CS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 37: +#line 587 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 38: +#line 588 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 39: +#line 589 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 40: +#line 590 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LT, negated); {cs = stack[--top]; goto _again;} }} + break; + case 41: +#line 591 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LU, negated); {cs = stack[--top]; goto _again;} }} + break; + case 42: +#line 592 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_L_AND, negated); {cs = stack[--top]; goto _again;} }} + break; + case 43: +#line 594 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_MC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 44: +#line 596 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_MN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 45: +#line 598 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ND, negated); {cs = stack[--top]; goto _again;} }} + break; + case 46: +#line 599 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_NL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 47: +#line 600 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_NO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 48: +#line 602 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 49: +#line 603 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PD, negated); {cs = stack[--top]; goto _again;} }} + break; + case 50: +#line 604 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 51: +#line 605 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PF, negated); {cs = stack[--top]; goto _again;} }} + break; + case 52: +#line 606 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 53: +#line 607 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 54: +#line 608 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 55: +#line 610 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_SC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 56: +#line 611 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_SK, negated); {cs = stack[--top]; goto _again;} }} + break; + case 57: +#line 612 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_SM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 58: +#line 613 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_SO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 59: +#line 615 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ZL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 60: +#line 616 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ZP, negated); {cs = stack[--top]; goto _again;} }} + break; + case 61: +#line 617 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ZS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 62: +#line 618 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_XAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 63: +#line 619 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_XPS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 64: +#line 620 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_XSP, negated); {cs = stack[--top]; goto _again;} }} + break; + case 65: +#line 621 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_XWD, negated); {cs = stack[--top]; goto _again;} }} + break; + case 66: +#line 622 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_ARABIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 67: +#line 623 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_ARMENIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 68: +#line 624 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_AVESTAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 69: +#line 625 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BALINESE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 70: +#line 626 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BAMUM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 71: +#line 627 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BATAK, negated); {cs = stack[--top]; goto _again;} }} + break; + case 72: +#line 628 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BENGALI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 73: +#line 629 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BOPOMOFO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 74: +#line 630 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BRAHMI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 75: +#line 631 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BRAILLE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 76: +#line 632 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BUGINESE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 77: +#line 633 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BUHID, negated); {cs = stack[--top]; goto _again;} }} + break; + case 78: +#line 634 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CANADIAN_ABORIGINAL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 79: +#line 635 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CARIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 80: +#line 636 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CHAM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 81: +#line 637 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CHEROKEE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 82: +#line 638 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_COMMON, negated); {cs = stack[--top]; goto _again;} }} + break; + case 83: +#line 639 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_COPTIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 84: +#line 640 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CUNEIFORM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 85: +#line 641 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CYPRIOT, negated); {cs = stack[--top]; goto _again;} }} + break; + case 86: +#line 642 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CYRILLIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 87: +#line 643 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_DESERET, negated); {cs = stack[--top]; goto _again;} }} + break; + case 88: +#line 644 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_DEVANAGARI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 89: +#line 645 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_EGYPTIAN_HIEROGLYPHS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 90: +#line 646 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_ETHIOPIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 91: +#line 647 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GEORGIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 92: +#line 648 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GLAGOLITIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 93: +#line 649 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GOTHIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 94: +#line 650 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GREEK, negated); {cs = stack[--top]; goto _again;} }} + break; + case 95: +#line 651 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GUJARATI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 96: +#line 652 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GURMUKHI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 97: +#line 654 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_HANGUL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 98: +#line 655 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_HANUNOO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 99: +#line 656 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_HEBREW, negated); {cs = stack[--top]; goto _again;} }} + break; + case 100: +#line 657 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_HIRAGANA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 101: +#line 658 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_IMPERIAL_ARAMAIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 102: +#line 659 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_INHERITED, negated); {cs = stack[--top]; goto _again;} }} + break; + case 103: +#line 660 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_INSCRIPTIONAL_PAHLAVI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 104: +#line 661 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_INSCRIPTIONAL_PARTHIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 105: +#line 662 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_JAVANESE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 106: +#line 663 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KAITHI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 107: +#line 664 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KANNADA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 108: +#line 665 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KATAKANA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 109: +#line 666 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KAYAH_LI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 110: +#line 667 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KHAROSHTHI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 111: +#line 668 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KHMER, negated); {cs = stack[--top]; goto _again;} }} + break; + case 112: +#line 669 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LAO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 113: +#line 670 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LATIN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 114: +#line 671 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LEPCHA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 115: +#line 672 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LIMBU, negated); {cs = stack[--top]; goto _again;} }} + break; + case 116: +#line 673 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LINEAR_B, negated); {cs = stack[--top]; goto _again;} }} + break; + case 117: +#line 674 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LISU, negated); {cs = stack[--top]; goto _again;} }} + break; + case 118: +#line 675 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LYCIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 119: +#line 676 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LYDIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 120: +#line 677 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MALAYALAM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 121: +#line 678 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MANDAIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 122: +#line 679 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MEETEI_MAYEK, negated); {cs = stack[--top]; goto _again;} }} + break; + case 123: +#line 680 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MONGOLIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 124: +#line 681 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MYANMAR, negated); {cs = stack[--top]; goto _again;} }} + break; + case 125: +#line 682 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_NEW_TAI_LUE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 126: +#line 683 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_NKO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 127: +#line 684 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OGHAM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 128: +#line 685 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OL_CHIKI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 129: +#line 686 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OLD_ITALIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 130: +#line 687 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OLD_PERSIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 131: +#line 688 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OLD_SOUTH_ARABIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 132: +#line 689 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OLD_TURKIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 133: +#line 690 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_ORIYA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 134: +#line 691 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OSMANYA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 135: +#line 692 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_PHAGS_PA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 136: +#line 693 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_PHOENICIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 137: +#line 694 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_REJANG, negated); {cs = stack[--top]; goto _again;} }} + break; + case 138: +#line 695 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_RUNIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 139: +#line 696 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SAMARITAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 140: +#line 697 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SAURASHTRA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 141: +#line 698 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SHAVIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 142: +#line 699 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SINHALA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 143: +#line 700 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SUNDANESE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 144: +#line 701 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SYLOTI_NAGRI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 145: +#line 702 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SYRIAC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 146: +#line 703 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAGALOG, negated); {cs = stack[--top]; goto _again;} }} + break; + case 147: +#line 704 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAGBANWA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 148: +#line 705 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAI_LE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 149: +#line 706 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAI_THAM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 150: +#line 707 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAI_VIET, negated); {cs = stack[--top]; goto _again;} }} + break; + case 151: +#line 708 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAMIL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 152: +#line 709 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TELUGU, negated); {cs = stack[--top]; goto _again;} }} + break; + case 153: +#line 710 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_THAANA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 154: +#line 711 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_THAI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 155: +#line 712 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TIBETAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 156: +#line 713 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TIFINAGH, negated); {cs = stack[--top]; goto _again;} }} + break; + case 157: +#line 714 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_UGARITIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 158: +#line 715 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_VAI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 159: +#line 716 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_YI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 160: +#line 717 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ANY, negated); {cs = stack[--top]; goto _again;} }} + break; + case 161: +#line 718 "Parser.rl" + {te = p+1;{ throw LocatedParseError("Unknown property"); }} + break; + case 162: +#line 580 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_C, negated); {cs = stack[--top]; goto _again;} }} + break; + case 163: +#line 584 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_CO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 164: +#line 586 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_L, negated); {cs = stack[--top]; goto _again;} }} + break; + case 165: +#line 593 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_M, negated); {cs = stack[--top]; goto _again;} }} + break; + case 166: +#line 595 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_ME, negated); {cs = stack[--top]; goto _again;} }} + break; + case 167: +#line 597 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_N, negated); {cs = stack[--top]; goto _again;} }} + break; + case 168: +#line 601 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_P, negated); {cs = stack[--top]; goto _again;} }} + break; + case 169: +#line 609 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_S, negated); {cs = stack[--top]; goto _again;} }} + break; + case 170: +#line 614 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_Z, negated); {cs = stack[--top]; goto _again;} }} + break; + case 171: +#line 653 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_SCRIPT_HAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 172: +#line 718 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Unknown property"); }} + break; + case 173: +#line 580 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_C, negated); {cs = stack[--top]; goto _again;} }} + break; + case 174: +#line 584 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_CO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 175: +#line 586 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_L, negated); {cs = stack[--top]; goto _again;} }} + break; + case 176: +#line 593 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_M, negated); {cs = stack[--top]; goto _again;} }} + break; + case 177: +#line 595 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_ME, negated); {cs = stack[--top]; goto _again;} }} + break; + case 178: +#line 597 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_N, negated); {cs = stack[--top]; goto _again;} }} + break; + case 179: +#line 601 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_P, negated); {cs = stack[--top]; goto _again;} }} + break; + case 180: +#line 609 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_S, negated); {cs = stack[--top]; goto _again;} }} + break; + case 181: +#line 653 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_SCRIPT_HAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 182: +#line 718 "Parser.rl" + {{p = ((te))-1;}{ throw LocatedParseError("Unknown property"); }} + break; + case 183: +#line 733 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_C, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 184: +#line 741 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_L, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 185: +#line 749 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_M, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 186: +#line 757 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_N, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 187: +#line 765 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_P, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 188: +#line 773 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_S, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 189: +#line 781 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_Z, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 190: +#line 790 "Parser.rl" + {te = p+1;{ throw LocatedParseError("Unknown property"); }} + break; + case 191: +#line 796 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Unsupported POSIX collating " + "element"); + }} + break; + case 192: +#line 803 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ALNUM, false); + }} + break; + case 193: +#line 806 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ALNUM, true); + }} + break; + case 194: +#line 809 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ALPHA, false); + }} + break; + case 195: +#line 812 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ALPHA, true); + }} + break; + case 196: +#line 815 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ASCII, false); + }} + break; + case 197: +#line 818 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ASCII, true); + }} + break; + case 198: +#line 821 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_BLANK, false); + }} + break; + case 199: +#line 824 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_BLANK, true); + }} + break; + case 200: +#line 827 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_CNTRL, false); + }} + break; + case 201: +#line 830 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_CNTRL, true); + }} + break; + case 202: +#line 833 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_DIGIT, false); + }} + break; + case 203: +#line 836 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_DIGIT, true); + }} + break; + case 204: +#line 839 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_GRAPH, false); + }} + break; + case 205: +#line 842 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_GRAPH, true); + }} + break; + case 206: +#line 845 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_LOWER, false); + }} + break; + case 207: +#line 848 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_LOWER, true); + }} + break; + case 208: +#line 851 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_PRINT, false); + }} + break; + case 209: +#line 854 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_PRINT, true); + }} + break; + case 210: +#line 857 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_PUNCT, false); + }} + break; + case 211: +#line 860 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_PUNCT, true); + }} + break; + case 212: +#line 864 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_SPACE, false); + }} + break; + case 213: +#line 867 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_SPACE, true); + }} + break; + case 214: +#line 870 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UPPER, false); + }} + break; + case 215: +#line 873 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UPPER, true); + }} + break; + case 216: +#line 876 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_WORD, false); + }} + break; + case 217: +#line 879 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_WORD, true); + }} + break; + case 218: +#line 882 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_XDIGIT, false); + }} + break; + case 219: +#line 885 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_XDIGIT, true); + }} + break; + case 220: +#line 890 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Invalid POSIX named class"); + }} + break; + case 221: +#line 893 "Parser.rl" + {te = p+1;{ + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 843;goto _again;}} + }} + break; + case 222: +#line 896 "Parser.rl" + {te = p+1;{ /*noop*/}} + break; + case 223: +#line 898 "Parser.rl" + {te = p+1;{ + currentCls->add('\x08'); + }} + break; + case 224: +#line 902 "Parser.rl" + {te = p+1;{ + currentCls->add('\x09'); + }} + break; + case 225: +#line 906 "Parser.rl" + {te = p+1;{ + currentCls->add('\x0a'); + }} + break; + case 226: +#line 910 "Parser.rl" + {te = p+1;{ + currentCls->add('\x0d'); + }} + break; + case 227: +#line 914 "Parser.rl" + {te = p+1;{ + currentCls->add('\x0c'); + }} + break; + case 228: +#line 918 "Parser.rl" + {te = p+1;{ + currentCls->add('\x07'); + }} + break; + case 229: +#line 922 "Parser.rl" + {te = p+1;{ + currentCls->add('\x1b'); + }} + break; + case 230: +#line 926 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_HORZ, false); + }} + break; + case 231: +#line 930 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_HORZ, true); + }} + break; + case 232: +#line 934 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_VERT, false); + }} + break; + case 233: +#line 938 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_VERT, true); + }} + break; + case 234: +#line 942 "Parser.rl" + {te = p+1;{ + negated = false; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 559;goto _again;}} + }} + break; + case 235: +#line 948 "Parser.rl" + {te = p+1;{ + negated = false; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 818;goto _again;}} + }} + break; + case 236: +#line 954 "Parser.rl" + {te = p+1;{ + negated = true; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 559;goto _again;}} + }} + break; + case 237: +#line 960 "Parser.rl" + {te = p+1;{ + negated = true; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 818;goto _again;}} + }} + break; + case 238: +#line 970 "Parser.rl" + {te = p+1;{ + currentCls->add(octAccumulator); + }} + break; + case 239: +#line 973 "Parser.rl" + {te = p+1;{ + currentCls->add(octAccumulator); + }} + break; + case 240: +#line 977 "Parser.rl" + {te = p+1;{ + string oct(ts + 3, te - ts - 4); + unsigned long val; + try { + val = stoul(oct, nullptr, 8); + } catch (const std::out_of_range &) { + val = MAX_UNICODE + 1; + } + if ((!mode.utf8 && val > 255) || val > MAX_UNICODE) { + throw LocatedParseError("Value in \\o{...} sequence is too large"); + } + currentCls->add((unichar)val); + }} + break; + case 241: +#line 997 "Parser.rl" + {te = p+1;{ + currentCls->add(accumulator); + }} + break; + case 242: +#line 1001 "Parser.rl" + {te = p+1;{ + // whatever we found here + currentCls->add(*(ts + 1)); + + }} + break; + case 243: +#line 1007 "Parser.rl" + {te = p+1;{ + string hex(ts + 3, te - ts - 4); + unsigned long val; + try { + val = stoul(hex, nullptr, 16); + } catch (const std::out_of_range &) { + val = MAX_UNICODE + 1; + } + if (val > MAX_UNICODE) { + throw LocatedParseError("Value in \\x{...} sequence is too large"); + } + currentCls->add((unichar)val); + }} + break; + case 244: +#line 1025 "Parser.rl" + {te = p+1;{ + if (te - ts < 3) { + assert(te - ts == 2); + throw LocatedParseError(SLASH_C_ERROR); + } else { + assert(te - ts == 3); + currentCls->add(decodeCtrl(ts[2])); + } + }} + break; + case 245: +#line 1035 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_WORD, false); + }} + break; + case 246: +#line 1039 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_WORD, true); + }} + break; + case 247: +#line 1043 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_SPACE, false); + }} + break; + case 248: +#line 1047 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_SPACE, true); + }} + break; + case 249: +#line 1051 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_DIGIT, false); + }} + break; + case 250: +#line 1055 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_DIGIT, true); + }} + break; + case 251: +#line 1058 "Parser.rl" + {te = p+1;{ + currentCls->addDash(); + }} + break; + case 252: +#line 276 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "'\\" << *(ts + 1) << "' at index " << ts - ptr + << " not supported in a character class."; + throw ParseError(str.str()); + }} + break; + case 253: +#line 276 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "'\\" << *(ts + 1) << "' at index " << ts - ptr + << " not supported in a character class."; + throw ParseError(str.str()); + }} + break; + case 254: +#line 276 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "'\\" << *(ts + 1) << "' at index " << ts - ptr + << " not supported in a character class."; + throw ParseError(str.str()); + }} + break; + case 255: +#line 1075 "Parser.rl" + {te = p+1;{ + // add the literal char + currentCls->add(*(ts + 1)); + }} + break; + case 256: +#line 1081 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint2c(ts)); + }} + break; + case 257: +#line 1086 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint3c(ts)); + }} + break; + case 258: +#line 1091 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint4c(ts)); + }} + break; + case 259: +#line 1096 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 260: +#line 1102 "Parser.rl" + {te = p+1;{ + currentCls->add((u8)*ts); + }} + break; + case 261: +#line 1106 "Parser.rl" + {te = p+1;{ + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + inCharClass = false; + {cs = 746;goto _again;} + }} + break; + case 262: +#line 966 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Malformed property"); }} + break; + case 263: +#line 967 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Malformed property"); }} + break; + case 264: +#line 970 "Parser.rl" + {te = p;p--;{ + currentCls->add(octAccumulator); + }} + break; + case 265: +#line 973 "Parser.rl" + {te = p;p--;{ + currentCls->add(octAccumulator); + }} + break; + case 266: +#line 992 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Value in \\o{...} sequence is non-octal or missing braces"); + }} + break; + case 267: +#line 997 "Parser.rl" + {te = p;p--;{ + currentCls->add(accumulator); + }} + break; + case 268: +#line 1021 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Value in \\x{...} sequence is non-hex or missing }"); + }} + break; + case 269: +#line 1025 "Parser.rl" + {te = p;p--;{ + if (te - ts < 3) { + assert(te - ts == 2); + throw LocatedParseError(SLASH_C_ERROR); + } else { + assert(te - ts == 3); + currentCls->add(decodeCtrl(ts[2])); + } + }} + break; + case 270: +#line 1096 "Parser.rl" + {te = p;p--;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 271: +#line 1102 "Parser.rl" + {te = p;p--;{ + currentCls->add((u8)*ts); + }} + break; + case 272: +#line 992 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Value in \\o{...} sequence is non-octal or missing braces"); + }} + break; + case 273: +#line 1021 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Value in \\x{...} sequence is non-hex or missing }"); + }} + break; + case 274: +#line 1096 "Parser.rl" + {{p = ((te))-1;}{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 275: +#line 1102 "Parser.rl" + {{p = ((te))-1;}{ + currentCls->add((u8)*ts); + }} + break; + case 276: +#line 1120 "Parser.rl" + {te = p+1;{ + if (currentCls->isNegated()) { + // Already seen a caret; the second one is not a meta-character. + inCharClassEarly = false; + p--; {cs = 819;goto _again;} + } else { + currentCls->negate(); + // Note: we cannot switch off inCharClassEarly here, as /[^]]/ + // needs to use the right square bracket path below. + } + }} + break; + case 277: +#line 1133 "Parser.rl" + {te = p+1;{ + currentCls->add(']'); + inCharClassEarly = false; + }} + break; + case 278: +#line 1138 "Parser.rl" + {te = p+1;{ { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 843;goto _again;}} }} + break; + case 279: +#line 1139 "Parser.rl" + {te = p+1;{ /*noop*/}} + break; + case 280: +#line 1142 "Parser.rl" + {te = p+1;{ + inCharClassEarly = false; + p--; + {cs = 819;goto _again;} + }} + break; + case 281: +#line 1142 "Parser.rl" + {te = p;p--;{ + inCharClassEarly = false; + p--; + {cs = 819;goto _again;} + }} + break; + case 282: +#line 1154 "Parser.rl" + {te = p+1;{ + {cs = 746;goto _again;} + }} + break; + case 283: +#line 1159 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint2c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 284: +#line 1168 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint3c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 285: +#line 1177 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint4c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 286: +#line 1186 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 287: +#line 1192 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 288: +#line 1186 "Parser.rl" + {te = p;p--;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 289: +#line 1192 "Parser.rl" + {te = p;p--;{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 290: +#line 1186 "Parser.rl" + {{p = ((te))-1;}{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 291: +#line 1202 "Parser.rl" + {te = p+1;{ + {cs = stack[--top]; goto _again;} + }} + break; + case 292: +#line 1207 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint2c(ts)); + inCharClassEarly = false; + }} + break; + case 293: +#line 1213 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint3c(ts)); + inCharClassEarly = false; + }} + break; + case 294: +#line 1219 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint4c(ts)); + inCharClassEarly = false; + }} + break; + case 295: +#line 1225 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 296: +#line 1231 "Parser.rl" + {te = p+1;{ + currentCls->add(*ts); + inCharClassEarly = false; + }} + break; + case 297: +#line 1225 "Parser.rl" + {te = p;p--;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 298: +#line 1231 "Parser.rl" + {te = p;p--;{ + currentCls->add(*ts); + inCharClassEarly = false; + }} + break; + case 299: +#line 1225 "Parser.rl" + {{p = ((te))-1;}{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 300: +#line 1243 "Parser.rl" + {te = p+1;{ inComment = false; {cs = 746;goto _again;} }} + break; + case 301: +#line 1247 "Parser.rl" + {te = p+1;} + break; + case 302: +#line 1255 "Parser.rl" + {te = p+1;{ inComment = false; {cs = 746;goto _again;} }} + break; + case 303: +#line 1259 "Parser.rl" + {te = p+1;} + break; + case 304: +#line 1491 "Parser.rl" + {act = 288;} + break; + case 305: +#line 1508 "Parser.rl" + {act = 290;} + break; + case 306: +#line 1737 "Parser.rl" + {act = 330;} + break; + case 307: +#line 362 "Parser.rl" + {te = p+1;{ + if (sequences.empty()) { + throw LocatedParseError("Unmatched parentheses"); + } + currentSeq->finalize(); + POP_SEQUENCE; + }} + break; + case 308: +#line 1274 "Parser.rl" + {te = p+1;{ + currentSeq->addAlternation(); + }} + break; + case 309: +#line 1279 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("POSIX named classes are only " + "supported inside a class"); + }} + break; + case 310: +#line 1286 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Unsupported POSIX collating " + "element"); + }} + break; + case 311: +#line 1293 "Parser.rl" + {te = p+1;{ + {cs = 838;goto _again;} + }} + break; + case 312: +#line 1297 "Parser.rl" + {te = p+1;{ /* noop */ }} + break; + case 313: +#line 1299 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(generateComponent(CLASS_ANY, false, mode)); + }} + break; + case 314: +#line 1303 "Parser.rl" + {te = p+1;{ + if (mode.utf8) { + throw LocatedParseError("\\C is unsupported in UTF8"); + } + currentSeq->addComponent(std::make_unique()); + }} + break; + case 315: +#line 1317 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat(0, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_NONGREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 316: +#line 1324 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat(0, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_POSSESSIVE)) { + throwInvalidRepeat(); + } + }} + break; + case 317: +#line 1338 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat(1, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_NONGREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 318: +#line 1345 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat(1, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_POSSESSIVE)) { + throwInvalidRepeat(); + } + }} + break; + case 319: +#line 1359 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat( + 0, 1, ComponentRepeat::REPEAT_NONGREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 320: +#line 1366 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat( + 0, 1, ComponentRepeat::REPEAT_POSSESSIVE)) { + throwInvalidRepeat(); + } + }} + break; + case 321: +#line 1383 "Parser.rl" + {te = p+1;{ + if (repeatN > repeatM || repeatM == 0) { + throwInvalidRepeat(); + } else if (!currentSeq->addRepeat( + repeatN, repeatM, + ComponentRepeat::REPEAT_NONGREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 322: +#line 1393 "Parser.rl" + {te = p+1;{ + if (repeatN > repeatM || repeatM == 0) { + throwInvalidRepeat(); + } else if (!currentSeq->addRepeat( + repeatN, repeatM, + ComponentRepeat::REPEAT_POSSESSIVE)) { + throwInvalidRepeat(); + } + }} + break; + case 323: +#line 322 "Parser.rl" + {te = p+1;{ + inComment = true; + {cs = 849;goto _again;} + }} + break; + case 324: +#line 1410 "Parser.rl" + {te = p+1;{ p--; { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 787;goto _again;}} }} + break; + case 325: +#line 1414 "Parser.rl" + {te = p+1;{ assert(0); {p++; goto _out; } }} + break; + case 326: +#line 1421 "Parser.rl" + {te = p+1;{ + auto bound = mode.multiline ? ComponentBoundary::BEGIN_LINE + : ComponentBoundary::BEGIN_STRING; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 327: +#line 1428 "Parser.rl" + {te = p+1;{ + auto bound = mode.multiline ? ComponentBoundary::END_LINE + : ComponentBoundary::END_STRING_OPTIONAL_LF; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 328: +#line 1434 "Parser.rl" + {te = p+1;{ + auto bound = ComponentBoundary::BEGIN_STRING; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 329: +#line 1439 "Parser.rl" + {te = p+1;{ + auto bound = ComponentBoundary::END_STRING_OPTIONAL_LF; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 330: +#line 1444 "Parser.rl" + {te = p+1;{ + auto bound = ComponentBoundary::END_STRING; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 331: +#line 1449 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent( + std::make_unique(ts - ptr, false, mode)); + }} + break; + case 332: +#line 1454 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent( + std::make_unique(ts - ptr, true, mode)); + }} + break; + case 333: +#line 1464 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x09', mode); + }} + break; + case 334: +#line 1468 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x0a', mode); + }} + break; + case 335: +#line 1472 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x0d', mode); + }} + break; + case 336: +#line 1476 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x0c', mode); + }} + break; + case 337: +#line 1480 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x07', mode); + }} + break; + case 338: +#line 1484 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x1b', mode); + }} + break; + case 339: +#line 1488 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, octAccumulator, mode); + }} + break; + case 340: +#line 479 "Parser.rl" + {te = p+1;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + currentSeq->addComponent(std::make_unique(accumulator)); + }} + break; + case 341: +#line 486 "Parser.rl" + {te = p+1;{ + // Accumulator is a negative offset. + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + if (accumulator >= groupIndex) { + throw LocatedParseError("Invalid reference"); + } + unsigned idx = groupIndex - accumulator; + currentSeq->addComponent(std::make_unique(idx)); + }} + break; + case 342: +#line 479 "Parser.rl" + {te = p+1;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + currentSeq->addComponent(std::make_unique(accumulator)); + }} + break; + case 343: +#line 486 "Parser.rl" + {te = p+1;{ + // Accumulator is a negative offset. + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + if (accumulator >= groupIndex) { + throw LocatedParseError("Invalid reference"); + } + unsigned idx = groupIndex - accumulator; + currentSeq->addComponent(std::make_unique(idx)); + }} + break; + case 344: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 345: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 346: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 347: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 348: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 349: +#line 1549 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "Onigiruma subroutine call at index " << ts - ptr << + " not supported."; + throw ParseError(str.str()); + }} + break; + case 350: +#line 1560 "Parser.rl" + {te = p+1;{ + string oct(ts + 3, te - ts - 4); + unsigned long val; + try { + val = stoul(oct, nullptr, 8); + } catch (const std::out_of_range &) { + val = MAX_UNICODE + 1; + } + if ((!mode.utf8 && val > 255) || val > MAX_UNICODE) { + throw LocatedParseError("Value in \\o{...} sequence is too large"); + } + addEscapedOctal(currentSeq, (unichar)val, mode); + }} + break; + case 351: +#line 1578 "Parser.rl" + {te = p+1;{ + addEscapedHex(currentSeq, accumulator, mode); + }} + break; + case 352: +#line 1582 "Parser.rl" + {te = p+1;{ + string hex(ts + 3, te - ts - 4); + unsigned long val; + try { + val = stoul(hex, nullptr, 16); + } catch (const std::out_of_range &) { + val = MAX_UNICODE + 1; + } + if (val > MAX_UNICODE) { + throw LocatedParseError("Value in \\x{...} sequence is too large"); + } + addEscapedHex(currentSeq, (unichar)val, mode); + }} + break; + case 353: +#line 1600 "Parser.rl" + {te = p+1;{ + if (te - ts < 3) { + assert(te - ts == 2); + throw LocatedParseError(SLASH_C_ERROR); + } else { + assert(te - ts == 3); + addLiteral(currentSeq, decodeCtrl(ts[2]), mode); + } + }} + break; + case 354: +#line 1610 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "'\\" << *(ts + 1) << "' at index " << ts - ptr + << " not supported."; + throw ParseError(str.str()); + }} + break; + case 355: +#line 1618 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_WORD, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 356: +#line 1623 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_WORD, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 357: +#line 1628 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_SPACE, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 358: +#line 1633 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_SPACE, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 359: +#line 1638 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_DIGIT, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 360: +#line 1643 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_DIGIT, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 361: +#line 1648 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_HORZ, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 362: +#line 1653 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_HORZ, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 363: +#line 1658 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_VERT, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 364: +#line 1663 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_VERT, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 365: +#line 1668 "Parser.rl" + {te = p+1;{ + assert(!currentCls && !inCharClass); + currentCls = getComponentClass(mode); + negated = false; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 559;goto _again;}} + }} + break; + case 366: +#line 1676 "Parser.rl" + {te = p+1;{ + assert(!currentCls && !inCharClass); + currentCls = getComponentClass(mode); + negated = false; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 818;goto _again;}} + }} + break; + case 367: +#line 1684 "Parser.rl" + {te = p+1;{ + assert(!currentCls && !inCharClass); + currentCls = getComponentClass(mode); + negated = true; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 559;goto _again;}} + }} + break; + case 368: +#line 1692 "Parser.rl" + {te = p+1;{ + assert(!currentCls && !inCharClass); + currentCls = getComponentClass(mode); + negated = true; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 818;goto _again;}} + }} + break; + case 369: +#line 1704 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "\\R at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 370: +#line 1711 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "\\K at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 371: +#line 1726 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "\\G at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 372: +#line 1732 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(ts - ptr, mode)); + }} + break; + case 373: +#line 1737 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, *(ts + 1), mode); + }} + break; + case 374: +#line 316 "Parser.rl" + {te = p+1;{ + inComment = true; + {cs = 848;goto _again;} + }} + break; + case 375: +#line 433 "Parser.rl" + {te = p+1;{ + mode = newMode; + currentSeq->addComponent(std::make_unique()); + }} + break; + case 376: +#line 355 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + mode = newMode; + currentSeq = + enterSequence(currentSeq, std::make_unique()); + }} + break; + case 377: +#line 369 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(ComponentAssertion::LOOKAHEAD, + ComponentAssertion::POS)); + }} + break; + case 378: +#line 375 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(ComponentAssertion::LOOKAHEAD, + ComponentAssertion::NEG)); + }} + break; + case 379: +#line 381 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(ComponentAssertion::LOOKBEHIND, + ComponentAssertion::POS)); + }} + break; + case 380: +#line 387 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(ComponentAssertion::LOOKBEHIND, + ComponentAssertion::NEG)); + }} + break; + case 381: +#line 393 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Embedded code is not supported"); + }} + break; + case 382: +#line 393 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Embedded code is not supported"); + }} + break; + case 383: +#line 416 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique()); + }} + break; + case 384: +#line 336 "Parser.rl" + {te = p+1;{ + assert(!label.empty()); // should be guaranteed by machine + char c = *label.begin(); + if (c >= '0' && c <= '9') { + throw LocatedParseError("Group name cannot begin with a digit"); + } + if (!groupNames.insert(label).second) { + throw LocatedParseError("Two named subpatterns use the name '" + label + "'"); + } + PUSH_SEQUENCE; + auto seq = std::make_unique(); + seq->setCaptureIndex(groupIndex++); + seq->setCaptureName(label); + currentSeq = enterSequence(currentSeq, move(seq)); + }} + break; + case 385: +#line 399 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Subpattern reference unsupported"); + }} + break; + case 386: +#line 399 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Subpattern reference unsupported"); + }} + break; + case 387: +#line 1783 "Parser.rl" + {te = p+1;{ + auto a = std::make_unique( + ComponentAssertion::LOOKAHEAD, ComponentAssertion::POS); + ComponentAssertion *a_seq = a.get(); + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(move(a))); + PUSH_SEQUENCE; + currentSeq = a_seq; + }} + break; + case 388: +#line 1794 "Parser.rl" + {te = p+1;{ + auto a = std::make_unique( + ComponentAssertion::LOOKAHEAD, ComponentAssertion::NEG); + ComponentAssertion *a_seq = a.get(); + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(move(a))); + PUSH_SEQUENCE; + currentSeq = a_seq; + }} + break; + case 389: +#line 1805 "Parser.rl" + {te = p+1;{ + auto a = std::make_unique( + ComponentAssertion::LOOKBEHIND, ComponentAssertion::POS); + ComponentAssertion *a_seq = a.get(); + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(move(a))); + PUSH_SEQUENCE; + currentSeq = a_seq; + }} + break; + case 390: +#line 1816 "Parser.rl" + {te = p+1;{ + auto a = std::make_unique( + ComponentAssertion::LOOKBEHIND, ComponentAssertion::NEG); + ComponentAssertion *a_seq = a.get(); + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(move(a))); + PUSH_SEQUENCE; + currentSeq = a_seq; + }} + break; + case 391: +#line 1828 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Pattern recursion not supported"); + }} + break; + case 392: +#line 402 "Parser.rl" + {te = p+1;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(accumulator)); + }} + break; + case 393: +#line 410 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + assert(!label.empty()); + currentSeq = enterSequence(currentSeq, + std::make_unique(label)); + }} + break; + case 394: +#line 1844 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "Callout at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 395: +#line 1852 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Unrecognised character after (?"); + }} + break; + case 396: +#line 1857 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint2c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 397: +#line 1866 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint3c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 398: +#line 1875 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint4c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 399: +#line 1884 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 400: +#line 1893 "Parser.rl" + {te = p+1;{ + if (mode.ignore_space == false) { + addLiteral(currentSeq, *ts, mode); + } + }} + break; + case 401: +#line 1898 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 402: +#line 328 "Parser.rl" + {te = p;p--;{ + PUSH_SEQUENCE; + auto seq = std::make_unique(); + seq->setCaptureIndex(groupIndex++); + currentSeq = enterSequence(currentSeq, move(seq)); + }} + break; + case 403: +#line 421 "Parser.rl" + {te = p;p--;{ + assert(!currentCls); + assert(!inCharClass); // not reentrant + currentCls = getComponentClass(mode); + inCharClass = true; + inCharClassEarly = true; + currentClsBegin = ts; + {cs = 836;goto _again;} + }} + break; + case 404: +#line 1310 "Parser.rl" + {te = p;p--;{ + if (!currentSeq->addRepeat(0, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_GREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 405: +#line 1331 "Parser.rl" + {te = p;p--;{ + if (!currentSeq->addRepeat(1, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_GREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 406: +#line 1352 "Parser.rl" + {te = p;p--;{ + if (!currentSeq->addRepeat( + 0, 1, ComponentRepeat::REPEAT_GREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 407: +#line 1373 "Parser.rl" + {te = p;p--;{ + if (repeatN > repeatM || repeatM == 0) { + throwInvalidRepeat(); + } else if (!currentSeq->addRepeat( + repeatN, repeatM, + ComponentRepeat::REPEAT_GREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 408: +#line 1488 "Parser.rl" + {te = p;p--;{ + addLiteral(currentSeq, octAccumulator, mode); + }} + break; + case 409: +#line 1491 "Parser.rl" + {te = p;p--;{ + // If there are enough capturing sub expressions, this may be + // a back reference + accumulator = parseAsDecimal(octAccumulator); + if (accumulator < groupIndex) { + currentSeq->addComponent(std::make_unique(accumulator)); + } else { + addEscapedOctal(currentSeq, octAccumulator, mode); + } + }} + break; + case 410: +#line 479 "Parser.rl" + {te = p;p--;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + currentSeq->addComponent(std::make_unique(accumulator)); + }} + break; + case 411: +#line 479 "Parser.rl" + {te = p;p--;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + currentSeq->addComponent(std::make_unique(accumulator)); + }} + break; + case 412: +#line 486 "Parser.rl" + {te = p;p--;{ + // Accumulator is a negative offset. + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + if (accumulator >= groupIndex) { + throw LocatedParseError("Invalid reference"); + } + unsigned idx = groupIndex - accumulator; + currentSeq->addComponent(std::make_unique(idx)); + }} + break; + case 413: +#line 1557 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Invalid reference after \\g"); + }} + break; + case 414: +#line 1574 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Value in \\o{...} sequence is non-octal or missing braces"); + }} + break; + case 415: +#line 1578 "Parser.rl" + {te = p;p--;{ + addEscapedHex(currentSeq, accumulator, mode); + }} + break; + case 416: +#line 1596 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Value in \\x{...} sequence is non-hex or missing }"); + }} + break; + case 417: +#line 1600 "Parser.rl" + {te = p;p--;{ + if (te - ts < 3) { + assert(te - ts == 2); + throw LocatedParseError(SLASH_C_ERROR); + } else { + assert(te - ts == 3); + addLiteral(currentSeq, decodeCtrl(ts[2]), mode); + } + }} + break; + case 418: +#line 1700 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Malformed property"); }} + break; + case 419: +#line 1701 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Malformed property"); }} + break; + case 420: +#line 1719 "Parser.rl" + {te = p;p--;{ + ostringstream str; + str << "\\k at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 421: +#line 1742 "Parser.rl" + {te = p;p--;{ + assert(ts + 1 == pe); + ostringstream str; + str << "Unescaped \\ at end of input, index " << ts - ptr << "."; + throw ParseError(str.str()); + }} + break; + case 422: +#line 396 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Conditional subpattern unsupported"); + }} + break; + case 423: +#line 1852 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Unrecognised character after (?"); + }} + break; + case 424: +#line 1884 "Parser.rl" + {te = p;p--;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 425: +#line 1898 "Parser.rl" + {te = p;p--;{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 426: +#line 328 "Parser.rl" + {{p = ((te))-1;}{ + PUSH_SEQUENCE; + auto seq = std::make_unique(); + seq->setCaptureIndex(groupIndex++); + currentSeq = enterSequence(currentSeq, move(seq)); + }} + break; + case 427: +#line 421 "Parser.rl" + {{p = ((te))-1;}{ + assert(!currentCls); + assert(!inCharClass); // not reentrant + currentCls = getComponentClass(mode); + inCharClass = true; + inCharClassEarly = true; + currentClsBegin = ts; + {cs = 836;goto _again;} + }} + break; + case 428: +#line 1557 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Invalid reference after \\g"); + }} + break; + case 429: +#line 1574 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Value in \\o{...} sequence is non-octal or missing braces"); + }} + break; + case 430: +#line 1596 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Value in \\x{...} sequence is non-hex or missing }"); + }} + break; + case 431: +#line 1719 "Parser.rl" + {{p = ((te))-1;}{ + ostringstream str; + str << "\\k at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 432: +#line 396 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Conditional subpattern unsupported"); + }} + break; + case 433: +#line 1852 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Unrecognised character after (?"); + }} + break; + case 434: +#line 1884 "Parser.rl" + {{p = ((te))-1;}{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 435: +#line 1898 "Parser.rl" + {{p = ((te))-1;}{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 436: +#line 1 "NONE" + { switch( act ) { + case 288: + {{p = ((te))-1;} + // If there are enough capturing sub expressions, this may be + // a back reference + accumulator = parseAsDecimal(octAccumulator); + if (accumulator < groupIndex) { + currentSeq->addComponent(std::make_unique(accumulator)); + } else { + addEscapedOctal(currentSeq, octAccumulator, mode); + } + } + break; + case 290: + {{p = ((te))-1;} + // if there are enough left parens to this point, back ref + if (accumulator < groupIndex) { + currentSeq->addComponent(std::make_unique(accumulator)); + } else { + // Otherwise, we interpret the first three digits as an + // octal escape, and the remaining characters stand for + // themselves as literals. + const char *s = ts; + unsigned int accum = 0; + unsigned int oct_digits = 0; + assert(*s == '\\'); // token starts at backslash + for (++s; s < te && oct_digits < 3; ++oct_digits, ++s) { + u8 digit = *s - '0'; + if (digit < 8) { + accum = digit + accum * 8; + } else { + break; + } + } + + if (oct_digits > 0) { + addEscapedOctal(currentSeq, accum, mode); + } + + // And then the rest of the digits, if any, are literal. + for (; s < te; ++s) { + addLiteral(currentSeq, *s, mode); + } + } + } + break; + case 330: + {{p = ((te))-1;} + addLiteral(currentSeq, *(ts + 1), mode); + } + break; + } + } + break; +#line 5508 "Parser.cpp" + } + } + +_again: + _acts = _regex_actions + _regex_to_state_actions[cs]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) { + switch ( *_acts++ ) { + case 23: +#line 1 "NONE" + {ts = 0;} + break; +#line 5521 "Parser.cpp" + } + } + + if ( cs == 0 ) + goto _out; + if ( ++p != pe ) + goto _resume; + _test_eof: {} + if ( p == eof ) + { + if ( _regex_eof_trans[cs] > 0 ) { + _trans = _regex_eof_trans[cs] - 1; + goto _eof_trans; + } + const short *__acts = _regex_actions + _regex_eof_actions[cs]; + unsigned int __nacts = (unsigned int) *__acts++; + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 22: +#line 730 "Parser.rl" + { throw LocatedParseError("Malformed property"); } + break; +#line 5544 "Parser.cpp" + } + } + } + + _out: {} + } + +#line 1984 "Parser.rl" + + if (p != pe && *p != '\0') { + // didn't make it to the end of our input, but we didn't throw a ParseError? + assert(0); + ostringstream str; + str << "Parse error at index " << (p - ptr) << "."; + throw ParseError(str.str()); + } + + if (currentCls) { + assert(inCharClass); + assert(currentClsBegin); + ostringstream oss; + oss << "Unterminated character class starting at index " + << currentClsBegin - ptr << "."; + throw ParseError(oss.str()); + } + + if (inComment) { + throw ParseError("Unterminated comment."); + } + + if (!sequences.empty()) { + ostringstream str; + str << "Missing close parenthesis for group started at index " + << sequences.back().seqOffset << "."; + throw ParseError(str.str()); + } + + // Unlikely, but possible + if (groupIndex > 65535) { + throw ParseError("The maximum number of capturing subexpressions is 65535."); + } + + // Finalize the top-level sequence, which will take care of any + // top-level alternation. + currentSeq->finalize(); + assert(currentSeq == rootSeq.get()); + + // Ensure that all references are valid. + checkReferences(*rootSeq, groupIndex, groupNames); + + return move(rootSeq); + } catch (LocatedParseError &error) { + if (ts >= ptr && ts <= pe) { + error.locate(ts - ptr); + } else { + error.locate(0); + } + throw; + } +} + +} // namespace ue2 diff --git a/contrib/vectorscan-cmake/rageled_files/control_verbs.cpp b/contrib/vectorscan-cmake/rageled_files/control_verbs.cpp new file mode 100644 index 00000000000..19b5c6955e1 --- /dev/null +++ b/contrib/vectorscan-cmake/rageled_files/control_verbs.cpp @@ -0,0 +1,443 @@ + +#line 1 "control_verbs.rl" +/* + * Copyright (c) 2017, Intel Corporation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * \file + * \brief Parser for control verbs that can occur at the beginning of a pattern. + */ + +#include "parser/control_verbs.h" + +#include "parser/Parser.h" +#include "parser/parse_error.h" + +#include +#include + +using namespace std; + +namespace ue2 { + +const char *read_control_verbs(const char *ptr, const char *end, size_t start, + ParseMode &mode) { + const char *p = ptr; + const char *pe = end; + const char *eof = pe; + const char *ts, *te; + int cs; + UNUSED int act; + + +#line 59 "control_verbs.cpp" +static const char _ControlVerbs_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, + 7, 1, 8, 1, 9 +}; + +static const unsigned char _ControlVerbs_key_offsets[] = { + 0, 7, 8, 10, 12, 14, 16, 18, + 20, 21, 23, 25, 27, 30, 32, 34, + 36, 38, 40, 42, 44, 46, 48, 50, + 52, 55, 57, 59, 61, 63, 66, 68, + 70, 72, 74, 76, 79, 82, 84, 86, + 88, 90, 92, 94, 96, 98, 100, 102, + 105, 107, 109, 111, 113, 115, 117, 119, + 121, 123, 125, 127, 129, 131, 133, 135, + 137, 139, 141, 143, 146, 148, 149, 151, + 155, 157, 159, 160, 161 +}; + +static const char _ControlVerbs_trans_keys[] = { + 41, 65, 66, 67, 76, 78, 85, 41, + 41, 78, 41, 89, 41, 67, 41, 82, + 41, 76, 41, 70, 41, 41, 83, 41, + 82, 41, 95, 41, 65, 85, 41, 78, + 41, 89, 41, 67, 41, 78, 41, 73, + 41, 67, 41, 79, 41, 68, 41, 69, + 41, 82, 41, 76, 41, 70, 73, 41, + 77, 41, 73, 41, 84, 41, 95, 41, + 77, 82, 41, 65, 41, 84, 41, 67, + 41, 72, 41, 61, 41, 48, 57, 41, + 48, 57, 41, 69, 41, 67, 41, 85, + 41, 82, 41, 83, 41, 73, 41, 79, + 41, 78, 41, 79, 41, 95, 41, 65, + 83, 41, 85, 41, 84, 41, 79, 41, + 95, 41, 80, 41, 79, 41, 83, 41, + 83, 41, 69, 41, 83, 41, 83, 41, + 84, 41, 65, 41, 82, 41, 84, 41, + 95, 41, 79, 41, 80, 41, 84, 41, + 67, 84, 41, 80, 41, 41, 70, 41, + 49, 51, 56, 41, 54, 41, 50, 41, + 40, 42, 0 +}; + +static const char _ControlVerbs_single_lengths[] = { + 7, 1, 2, 2, 2, 2, 2, 2, + 1, 2, 2, 2, 3, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 3, 2, 2, 2, 2, 3, 2, 2, + 2, 2, 2, 1, 1, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 3, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 3, 2, 1, 2, 4, + 2, 2, 1, 1, 1 +}; + +static const char _ControlVerbs_range_lengths[] = { + 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, 1, 1, 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 +}; + +static const short _ControlVerbs_index_offsets[] = { + 0, 8, 10, 13, 16, 19, 22, 25, + 28, 30, 33, 36, 39, 43, 46, 49, + 52, 55, 58, 61, 64, 67, 70, 73, + 76, 80, 83, 86, 89, 92, 96, 99, + 102, 105, 108, 111, 114, 117, 120, 123, + 126, 129, 132, 135, 138, 141, 144, 147, + 151, 154, 157, 160, 163, 166, 169, 172, + 175, 178, 181, 184, 187, 190, 193, 196, + 199, 202, 205, 208, 212, 215, 217, 220, + 225, 228, 231, 233, 235 +}; + +static const char _ControlVerbs_indicies[] = { + 0, 2, 3, 4, 5, 6, 7, 1, + 8, 1, 8, 9, 1, 8, 10, 1, + 11, 12, 1, 8, 13, 1, 8, 14, + 1, 8, 15, 1, 11, 1, 8, 16, + 1, 8, 17, 1, 8, 18, 1, 8, + 19, 20, 1, 8, 21, 1, 8, 22, + 1, 8, 12, 1, 8, 23, 1, 8, + 24, 1, 8, 25, 1, 8, 26, 1, + 8, 27, 1, 8, 15, 1, 8, 28, + 1, 11, 14, 1, 8, 15, 29, 1, + 8, 30, 1, 8, 31, 1, 8, 32, + 1, 8, 33, 1, 8, 34, 35, 1, + 8, 36, 1, 8, 37, 1, 8, 38, + 1, 8, 39, 1, 8, 40, 1, 8, + 41, 1, 11, 41, 1, 8, 42, 1, + 8, 43, 1, 8, 44, 1, 8, 45, + 1, 8, 46, 1, 8, 47, 1, 8, + 48, 1, 8, 39, 1, 8, 49, 1, + 8, 50, 1, 8, 51, 52, 1, 8, + 53, 1, 8, 54, 1, 8, 55, 1, + 8, 56, 1, 8, 57, 1, 8, 58, + 1, 8, 59, 1, 8, 60, 1, 8, + 61, 1, 8, 62, 1, 8, 15, 1, + 8, 63, 1, 8, 64, 1, 8, 65, + 1, 8, 66, 1, 8, 67, 1, 8, + 68, 1, 8, 69, 1, 8, 15, 1, + 8, 70, 71, 1, 8, 72, 1, 73, + 1, 8, 74, 1, 75, 76, 77, 78, + 1, 8, 15, 1, 8, 15, 1, 75, + 1, 80, 79, 82, 81, 0 +}; + +static const char _ControlVerbs_trans_targs[] = { + 75, 1, 2, 9, 22, 24, 45, 67, + 75, 3, 4, 75, 5, 6, 7, 8, + 10, 11, 12, 13, 16, 14, 15, 17, + 18, 19, 20, 21, 23, 25, 26, 27, + 28, 29, 30, 37, 31, 32, 33, 34, + 35, 36, 38, 39, 40, 41, 42, 43, + 44, 46, 47, 48, 59, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 60, + 61, 62, 63, 64, 65, 66, 68, 70, + 69, 75, 71, 75, 72, 73, 74, 75, + 76, 75, 0 +}; + +static const char _ControlVerbs_trans_actions[] = { + 19, 0, 0, 0, 0, 0, 0, 0, + 13, 0, 0, 11, 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, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 7, 0, 0, 0, 15, + 5, 17, 0 +}; + +static const char _ControlVerbs_to_state_actions[] = { + 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0 +}; + +static const char _ControlVerbs_from_state_actions[] = { + 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0 +}; + +static const short _ControlVerbs_eof_trans[] = { + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 82 +}; + +static const int ControlVerbs_start = 75; +static const int ControlVerbs_first_final = 75; +static const int ControlVerbs_error = -1; + +static const int ControlVerbs_en_main = 75; + + +#line 249 "control_verbs.cpp" + { + cs = ControlVerbs_start; + ts = 0; + te = 0; + act = 0; + } + +#line 105 "control_verbs.rl" + + + try { + +#line 262 "control_verbs.cpp" + { + int _klen; + unsigned int _trans; + const char *_acts; + unsigned int _nacts; + const char *_keys; + + if ( p == pe ) + goto _test_eof; +_resume: + _acts = _ControlVerbs_actions + _ControlVerbs_from_state_actions[cs]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) { + switch ( *_acts++ ) { + case 1: +#line 1 "NONE" + {ts = p;} + break; +#line 281 "control_verbs.cpp" + } + } + + _keys = _ControlVerbs_trans_keys + _ControlVerbs_key_offsets[cs]; + _trans = _ControlVerbs_index_offsets[cs]; + + _klen = _ControlVerbs_single_lengths[cs]; + if ( _klen > 0 ) { + const char *_lower = _keys; + const char *_mid; + const char *_upper = _keys + _klen - 1; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + ((_upper-_lower) >> 1); + if ( (*p) < *_mid ) + _upper = _mid - 1; + else if ( (*p) > *_mid ) + _lower = _mid + 1; + else { + _trans += (unsigned int)(_mid - _keys); + goto _match; + } + } + _keys += _klen; + _trans += _klen; + } + + _klen = _ControlVerbs_range_lengths[cs]; + if ( _klen > 0 ) { + const char *_lower = _keys; + const char *_mid; + const char *_upper = _keys + (_klen<<1) - 2; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + (((_upper-_lower) >> 1) & ~1); + if ( (*p) < _mid[0] ) + _upper = _mid - 2; + else if ( (*p) > _mid[1] ) + _lower = _mid + 2; + else { + _trans += (unsigned int)((_mid - _keys)>>1); + goto _match; + } + } + _trans += _klen; + } + +_match: + _trans = _ControlVerbs_indicies[_trans]; +_eof_trans: + cs = _ControlVerbs_trans_targs[_trans]; + + if ( _ControlVerbs_trans_actions[_trans] == 0 ) + goto _again; + + _acts = _ControlVerbs_actions + _ControlVerbs_trans_actions[_trans]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) + { + switch ( *_acts++ ) + { + case 2: +#line 1 "NONE" + {te = p+1;} + break; + case 3: +#line 76 "control_verbs.rl" + {te = p+1;{ + mode.utf8 = true; + }} + break; + case 4: +#line 80 "control_verbs.rl" + {te = p+1;{ + mode.ucp = true; + }} + break; + case 5: +#line 84 "control_verbs.rl" + {te = p+1;{ + ostringstream str; + str << "Unsupported control verb " << string(ts, te - ts); + throw LocatedParseError(str.str()); + }} + break; + case 6: +#line 90 "control_verbs.rl" + {te = p+1;{ + ostringstream str; + str << "Unknown control verb " << string(ts, te - ts); + throw LocatedParseError(str.str()); + }} + break; + case 7: +#line 97 "control_verbs.rl" + {te = p+1;{ + p--; + {p++; goto _out; } + }} + break; + case 8: +#line 97 "control_verbs.rl" + {te = p;p--;{ + p--; + {p++; goto _out; } + }} + break; + case 9: +#line 97 "control_verbs.rl" + {{p = ((te))-1;}{ + p--; + {p++; goto _out; } + }} + break; +#line 400 "control_verbs.cpp" + } + } + +_again: + _acts = _ControlVerbs_actions + _ControlVerbs_to_state_actions[cs]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) { + switch ( *_acts++ ) { + case 0: +#line 1 "NONE" + {ts = 0;} + break; +#line 413 "control_verbs.cpp" + } + } + + if ( ++p != pe ) + goto _resume; + _test_eof: {} + if ( p == eof ) + { + if ( _ControlVerbs_eof_trans[cs] > 0 ) { + _trans = _ControlVerbs_eof_trans[cs] - 1; + goto _eof_trans; + } + } + + _out: {} + } + +#line 109 "control_verbs.rl" + } catch (LocatedParseError &error) { + if (ts >= ptr && ts <= pe) { + error.locate(ts - ptr + start); + } else { + error.locate(0); + } + throw; + } + + return p; +} + +} // namespace ue2 diff --git a/contrib/hyperscan-cmake/x86_64/config.h b/contrib/vectorscan-cmake/x86_64/config.h similarity index 73% rename from contrib/hyperscan-cmake/x86_64/config.h rename to contrib/vectorscan-cmake/x86_64/config.h index 4786e3f4e21..eab2f3eb079 100644 --- a/contrib/hyperscan-cmake/x86_64/config.h +++ b/contrib/vectorscan-cmake/x86_64/config.h @@ -15,15 +15,42 @@ /* "Define if building for EM64T" */ #define ARCH_X86_64 +/* "Define if building for ARM32" */ +/* #undef ARCH_ARM32 */ + +/* "Define if building for AARCH64" */ +/* #undef ARCH_AARCH64 */ + +/* "Define if building for PPC64EL" */ +/* #undef ARCH_PPC64EL */ + +/* "Define if cross compiling for AARCH64" */ +/* #undef CROSS_COMPILE_AARCH64 */ + +/* Define if building SVE for AARCH64. */ +/* #undef BUILD_SVE */ + +/* Define if building SVE2 for AARCH64. */ +/* #undef BUILD_SVE2 */ + +/* Define if building SVE2+BITPERM for AARCH64. */ +/* #undef BUILD_SVE2_BITPERM */ + /* internal build, switch on dump support. */ /* #undef DUMP_SUPPORT */ /* Define if building "fat" runtime. */ /* #undef FAT_RUNTIME */ +/* Define if building AVX2 in the fat runtime. */ +/* #undef BUILD_AVX2 */ + /* Define if building AVX-512 in the fat runtime. */ /* #undef BUILD_AVX512 */ +/* Define if building AVX512VBMI in the fat runtime. */ +/* #undef BUILD_AVX512VBMI */ + /* Define to 1 if `backtrace' works. */ #define HAVE_BACKTRACE @@ -45,6 +72,15 @@ /* C compiler has intrin.h */ /* #undef HAVE_C_INTRIN_H */ +/* C compiler has arm_neon.h */ +/* #undef HAVE_C_ARM_NEON_H */ + +/* C compiler has arm_sve.h */ +/* #undef HAVE_C_ARM_SVE_H */ + +/* C compiler has arm_neon.h */ +/* #undef HAVE_C_PPC64EL_ALTIVEC_H */ + /* Define to 1 if you have the declaration of `pthread_setaffinity_np', and to 0 if you don't. */ /* #undef HAVE_DECL_PTHREAD_SETAFFINITY_NP */ @@ -85,7 +121,7 @@ /* #undef HAVE__ALIGNED_MALLOC */ /* Define if compiler has __builtin_constant_p */ -#define HAVE__BUILTIN_CONSTANT_P +/* #undef HAVE__BUILTIN_CONSTANT_P */ /* Optimize, inline critical functions */ #define HS_OPTIMIZE diff --git a/contrib/zstd b/contrib/zstd index a488ba114ec..b944db0c451 160000 --- a/contrib/zstd +++ b/contrib/zstd @@ -1 +1 @@ -Subproject commit a488ba114ec17ea1054b9057c26a046fc122b3b6 +Subproject commit b944db0c451ba1bc6bbd8e201d5f88f9041bf1f9 diff --git a/contrib/zstd-cmake/CMakeLists.txt b/contrib/zstd-cmake/CMakeLists.txt index 4949c3f30d5..f44d5db12c4 100644 --- a/contrib/zstd-cmake/CMakeLists.txt +++ b/contrib/zstd-cmake/CMakeLists.txt @@ -50,7 +50,7 @@ GetLibraryVersion("${HEADER_CONTENT}" LIBVER_MAJOR LIBVER_MINOR LIBVER_RELEASE) MESSAGE(STATUS "ZSTD VERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}") # cd contrib/zstd/lib -# find . -name '*.c' | grep -vP 'deprecated|legacy' | sort | sed 's/^\./ "${LIBRARY_DIR}/"' +# find . -name '*.c' -or -name '*.S' | grep -vP 'deprecated|legacy' | sort | sed 's/^\./ "${LIBRARY_DIR}/"' SET(Sources "${LIBRARY_DIR}/common/debug.c" "${LIBRARY_DIR}/common/entropy_common.c" @@ -73,6 +73,7 @@ SET(Sources "${LIBRARY_DIR}/compress/zstd_ldm.c" "${LIBRARY_DIR}/compress/zstdmt_compress.c" "${LIBRARY_DIR}/compress/zstd_opt.c" + "${LIBRARY_DIR}/decompress/huf_decompress_amd64.S" "${LIBRARY_DIR}/decompress/huf_decompress.c" "${LIBRARY_DIR}/decompress/zstd_ddict.c" "${LIBRARY_DIR}/decompress/zstd_decompress_block.c" @@ -85,6 +86,7 @@ SET(Sources # cd contrib/zstd/lib # find . -name '*.h' | grep -vP 'deprecated|legacy' | sort | sed 's/^\./ "${LIBRARY_DIR}/"' SET(Headers + "${LIBRARY_DIR}/common/bits.h" "${LIBRARY_DIR}/common/bitstream.h" "${LIBRARY_DIR}/common/compiler.h" "${LIBRARY_DIR}/common/cpu.h" @@ -94,11 +96,13 @@ SET(Headers "${LIBRARY_DIR}/common/huf.h" "${LIBRARY_DIR}/common/mem.h" "${LIBRARY_DIR}/common/pool.h" + "${LIBRARY_DIR}/common/portability_macros.h" "${LIBRARY_DIR}/common/threading.h" "${LIBRARY_DIR}/common/xxhash.h" "${LIBRARY_DIR}/common/zstd_deps.h" "${LIBRARY_DIR}/common/zstd_internal.h" "${LIBRARY_DIR}/common/zstd_trace.h" + "${LIBRARY_DIR}/compress/clevels.h" "${LIBRARY_DIR}/compress/hist.h" "${LIBRARY_DIR}/compress/zstd_compress_internal.h" "${LIBRARY_DIR}/compress/zstd_compress_literals.h" diff --git a/docker/docs/builder/Dockerfile b/docker/docs/builder/Dockerfile index a3b5bffdfe8..76bbea59e60 100644 --- a/docker/docs/builder/Dockerfile +++ b/docker/docs/builder/Dockerfile @@ -1,15 +1,16 @@ # rebuild in #36968 # docker build -t clickhouse/docs-builder . # nodejs 17 prefers ipv6 and is broken in our environment -FROM node:16.14.2-alpine3.15 +FROM node:16-alpine RUN apk add --no-cache git openssh bash -# TODO: clean before merge! -ARG DOCS_BRANCH=main +# At this point we want to really update /opt/clickhouse-docs +# despite the cached images +ARG CACHE_INVALIDATOR=0 RUN git clone https://github.com/ClickHouse/clickhouse-docs.git \ - --depth=1 --branch=${DOCS_BRANCH} /opt/clickhouse-docs + --depth=1 --branch=main /opt/clickhouse-docs WORKDIR /opt/clickhouse-docs diff --git a/docker/images.json b/docker/images.json index 181452f17bc..8339205b52f 100644 --- a/docker/images.json +++ b/docker/images.json @@ -29,6 +29,7 @@ "docker/test/util": { "name": "clickhouse/test-util", "dependent": [ + "docker/packager/binary", "docker/test/base", "docker/test/fasttest" ] diff --git a/docker/keeper/Dockerfile b/docker/keeper/Dockerfile index 068377e8f8c..282392bd98a 100644 --- a/docker/keeper/Dockerfile +++ b/docker/keeper/Dockerfile @@ -67,7 +67,7 @@ RUN arch=${TARGETARCH:-amd64} \ && chmod ugo+Xrw -R /var/lib/clickhouse /var/log/clickhouse-keeper /etc/clickhouse-keeper -EXPOSE 2181 10181 44444 +EXPOSE 2181 10181 44444 9181 VOLUME /var/lib/clickhouse /var/log/clickhouse-keeper /etc/clickhouse-keeper diff --git a/docker/keeper/entrypoint.sh b/docker/keeper/entrypoint.sh index 3aacf655c28..939cd941aeb 100644 --- a/docker/keeper/entrypoint.sh +++ b/docker/keeper/entrypoint.sh @@ -31,7 +31,7 @@ else DO_CHOWN=0 fi -KEEPER_CONFIG="${KEEPER_CONFIG:-/etc/clickhouse-keeper/config.yaml}" +KEEPER_CONFIG="${KEEPER_CONFIG:-/etc/clickhouse-keeper/keeper_config.xml}" if [ -f "$KEEPER_CONFIG" ] && ! $gosu test -f "$KEEPER_CONFIG" -a -r "$KEEPER_CONFIG"; then echo "Configuration file '$KEEPER_CONFIG' isn't readable by user with id '$USER'" @@ -42,6 +42,7 @@ DATA_DIR="${CLICKHOUSE_DATA_DIR:-/var/lib/clickhouse}" LOG_DIR="${LOG_DIR:-/var/log/clickhouse-keeper}" LOG_PATH="${LOG_DIR}/clickhouse-keeper.log" ERROR_LOG_PATH="${LOG_DIR}/clickhouse-keeper.err.log" +COORDINATION_DIR="${DATA_DIR}/coordination" COORDINATION_LOG_DIR="${DATA_DIR}/coordination/log" COORDINATION_SNAPSHOT_DIR="${DATA_DIR}/coordination/snapshots" CLICKHOUSE_WATCHDOG_ENABLE=${CLICKHOUSE_WATCHDOG_ENABLE:-0} @@ -49,6 +50,7 @@ CLICKHOUSE_WATCHDOG_ENABLE=${CLICKHOUSE_WATCHDOG_ENABLE:-0} for dir in "$DATA_DIR" \ "$LOG_DIR" \ "$TMP_DIR" \ + "$COORDINATION_DIR" \ "$COORDINATION_LOG_DIR" \ "$COORDINATION_SNAPSHOT_DIR" do diff --git a/docker/packager/binary/Dockerfile b/docker/packager/binary/Dockerfile index d4e824838c2..74919bb2100 100644 --- a/docker/packager/binary/Dockerfile +++ b/docker/packager/binary/Dockerfile @@ -1,61 +1,7 @@ # rebuild in #33610 # docker build -t clickhouse/binary-builder . -FROM ubuntu:20.04 - -# ARG for quick switch to a given ubuntu mirror -ARG apt_archive="http://archive.ubuntu.com" -RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list - -ENV DEBIAN_FRONTEND=noninteractive LLVM_VERSION=13 - -RUN apt-get update \ - && apt-get install \ - apt-transport-https \ - apt-utils \ - ca-certificates \ - dnsutils \ - gnupg \ - iputils-ping \ - lsb-release \ - wget \ - --yes --no-install-recommends --verbose-versions \ - && export LLVM_PUBKEY_HASH="bda960a8da687a275a2078d43c111d66b1c6a893a3275271beedf266c1ff4a0cdecb429c7a5cccf9f486ea7aa43fd27f" \ - && wget -nv -O /tmp/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key \ - && echo "${LLVM_PUBKEY_HASH} /tmp/llvm-snapshot.gpg.key" | sha384sum -c \ - && apt-key add /tmp/llvm-snapshot.gpg.key \ - && export CODENAME="$(lsb_release --codename --short | tr 'A-Z' 'a-z')" \ - && echo "deb [trusted=yes] https://apt.llvm.org/${CODENAME}/ llvm-toolchain-${CODENAME}-${LLVM_VERSION} main" >> \ - /etc/apt/sources.list \ - && apt-get clean - -# initial packages -RUN apt-get update \ - && apt-get install \ - bash \ - build-essential \ - ccache \ - clang-${LLVM_VERSION} \ - clang-tidy-${LLVM_VERSION} \ - cmake \ - curl \ - fakeroot \ - gdb \ - git \ - gperf \ - lld-${LLVM_VERSION} \ - llvm-${LLVM_VERSION} \ - llvm-${LLVM_VERSION}-dev \ - moreutils \ - ninja-build \ - pigz \ - rename \ - software-properties-common \ - tzdata \ - --yes --no-install-recommends \ - && apt-get clean - -# This symlink required by gcc to find lld compiler -RUN ln -s /usr/bin/lld-${LLVM_VERSION} /usr/bin/ld.lld +ARG FROM_TAG=latest +FROM clickhouse/test-util:$FROM_TAG ENV CC=clang-${LLVM_VERSION} ENV CXX=clang++-${LLVM_VERSION} @@ -95,17 +41,46 @@ RUN add-apt-repository ppa:ubuntu-toolchain-r/test --yes \ && apt-get install gcc-11 g++-11 --yes \ && apt-get clean +# A cross-linker for RISC-V 64 (we need it, because LLVM's LLD does not work): +RUN apt-get install binutils-riscv64-linux-gnu + # Architecture of the image when BuildKit/buildx is used ARG TARGETARCH -ARG NFPM_VERSION=2.15.1 +ARG NFPM_VERSION=2.16.0 RUN arch=${TARGETARCH:-amd64} \ && curl -Lo /tmp/nfpm.deb "https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}/nfpm_${arch}.deb" \ && dpkg -i /tmp/nfpm.deb \ && rm /tmp/nfpm.deb +ARG GO_VERSION=1.18.3 +# We need go for clickhouse-diagnostics +RUN arch=${TARGETARCH:-amd64} \ + && curl -Lo /tmp/go.tgz "https://go.dev/dl/go${GO_VERSION}.linux-${arch}.tar.gz" \ + && tar -xzf /tmp/go.tgz -C /usr/local/ \ + && rm /tmp/go.tgz + +ENV PATH="$PATH:/usr/local/go/bin" +ENV GOPATH=/workdir/go +ENV GOCACHE=/workdir/ + RUN mkdir /workdir && chmod 777 /workdir WORKDIR /workdir +# NOTE: thread sanitizer is broken in clang-14, we have to build it with clang-15 +# https://github.com/ClickHouse/ClickHouse/pull/39450 +# https://github.com/google/sanitizers/issues/1540 +# https://github.com/google/sanitizers/issues/1552 + +RUN export CODENAME="$(lsb_release --codename --short | tr 'A-Z' 'a-z')" \ + && echo "deb [trusted=yes] https://apt.llvm.org/${CODENAME}/ llvm-toolchain-${CODENAME}-15 main" >> \ + /etc/apt/sources.list.d/clang.list \ + && apt-get update \ + && apt-get install \ + clang-15 \ + clang-tidy-15 \ + --yes --no-install-recommends \ + && apt-get clean + COPY build.sh / CMD ["bash", "-c", "/build.sh 2>&1"] diff --git a/docker/packager/binary/build.sh b/docker/packager/binary/build.sh index b8d11e9c293..c2de0e33d82 100755 --- a/docker/packager/binary/build.sh +++ b/docker/packager/binary/build.sh @@ -3,7 +3,7 @@ set -x -e exec &> >(ts) -cache_status () { +ccache_status () { ccache --show-config ||: ccache --show-stats ||: } @@ -29,16 +29,33 @@ env if [ -n "$MAKE_DEB" ]; then rm -rf /build/packages/root + # NOTE: this is for backward compatibility with previous releases, + # that does not diagnostics tool (only script). + if [ -d /build/programs/diagnostics ]; then + if [ -z "$SANITIZER" ]; then + # We need to check if clickhouse-diagnostics is fine and build it + ( + cd /build/programs/diagnostics + make test-no-docker + GOARCH="${DEB_ARCH}" CGO_ENABLED=0 make VERSION="$VERSION_STRING" build + mv clickhouse-diagnostics .. + ) + else + echo -e "#!/bin/sh\necho 'Not implemented for this type of package'" > /build/programs/clickhouse-diagnostics + chmod +x /build/programs/clickhouse-diagnostics + fi + fi fi -cache_status + +ccache_status # clear cache stats ccache --zero-stats ||: if [ "$BUILD_MUSL_KEEPER" == "1" ] then # build keeper with musl separately - cmake --debug-trycompile --verbose=1 -DBUILD_STANDALONE_KEEPER=1 -DENABLE_CLICKHOUSE_KEEPER=1 -DCMAKE_VERBOSE_MAKEFILE=1 -DUSE_MUSL=1 -LA -DCMAKE_TOOLCHAIN_FILE=/build/cmake/linux/toolchain-x86_64-musl.cmake "-DCMAKE_BUILD_TYPE=$BUILD_TYPE" "-DSANITIZE=$SANITIZER" -DENABLE_CHECK_HEAVY_BUILDS=1 "${CMAKE_FLAGS[@]}" .. + cmake --debug-trycompile -DBUILD_STANDALONE_KEEPER=1 -DENABLE_CLICKHOUSE_KEEPER=1 -DCMAKE_VERBOSE_MAKEFILE=1 -DUSE_MUSL=1 -LA -DCMAKE_TOOLCHAIN_FILE=/build/cmake/linux/toolchain-x86_64-musl.cmake "-DCMAKE_BUILD_TYPE=$BUILD_TYPE" "-DSANITIZE=$SANITIZER" -DENABLE_CHECK_HEAVY_BUILDS=1 "${CMAKE_FLAGS[@]}" .. # shellcheck disable=SC2086 # No quotes because I want it to expand to nothing if empty. ninja $NINJA_FLAGS clickhouse-keeper @@ -53,10 +70,10 @@ then rm -f CMakeCache.txt # Build the rest of binaries - cmake --debug-trycompile --verbose=1 -DBUILD_STANDALONE_KEEPER=0 -DCREATE_KEEPER_SYMLINK=0 -DCMAKE_VERBOSE_MAKEFILE=1 -LA "-DCMAKE_BUILD_TYPE=$BUILD_TYPE" "-DSANITIZE=$SANITIZER" -DENABLE_CHECK_HEAVY_BUILDS=1 "${CMAKE_FLAGS[@]}" .. + cmake --debug-trycompile -DBUILD_STANDALONE_KEEPER=0 -DCREATE_KEEPER_SYMLINK=0 -DCMAKE_VERBOSE_MAKEFILE=1 -LA "-DCMAKE_BUILD_TYPE=$BUILD_TYPE" "-DSANITIZE=$SANITIZER" -DENABLE_CHECK_HEAVY_BUILDS=1 "${CMAKE_FLAGS[@]}" .. else # Build everything - cmake --debug-trycompile --verbose=1 -DCMAKE_VERBOSE_MAKEFILE=1 -LA "-DCMAKE_BUILD_TYPE=$BUILD_TYPE" "-DSANITIZE=$SANITIZER" -DENABLE_CHECK_HEAVY_BUILDS=1 "${CMAKE_FLAGS[@]}" .. + cmake --debug-trycompile -DCMAKE_VERBOSE_MAKEFILE=1 -LA "-DCMAKE_BUILD_TYPE=$BUILD_TYPE" "-DSANITIZE=$SANITIZER" -DENABLE_CHECK_HEAVY_BUILDS=1 "${CMAKE_FLAGS[@]}" .. fi if [ "coverity" == "$COMBINED_OUTPUT" ] @@ -71,20 +88,23 @@ fi # No quotes because I want it to expand to nothing if empty. # shellcheck disable=SC2086 # No quotes because I want it to expand to nothing if empty. -$SCAN_WRAPPER ninja $NINJA_FLAGS clickhouse-bundle +$SCAN_WRAPPER ninja $NINJA_FLAGS $BUILD_TARGET ls -la ./programs -cache_status +ccache_status if [ -n "$MAKE_DEB" ]; then # No quotes because I want it to expand to nothing if empty. # shellcheck disable=SC2086 DESTDIR=/build/packages/root ninja $NINJA_FLAGS install + cp /build/programs/clickhouse-diagnostics /build/packages/root/usr/bin + cp /build/programs/clickhouse-diagnostics /output bash -x /build/packages/build fi mv ./programs/clickhouse* /output +[ -x ./programs/self-extracting/clickhouse ] && mv ./programs/self-extracting/clickhouse /output mv ./src/unit_tests_dbms /output ||: # may not exist for some binary builds find . -name '*.so' -print -exec mv '{}' /output \; find . -name '*.so.*' -print -exec mv '{}' /output \; @@ -159,7 +179,8 @@ then mv "coverity-scan.tgz" /output fi -cache_status +ccache_status +ccache --evict-older-than 1d if [ "${CCACHE_DEBUG:-}" == "1" ] then diff --git a/docker/packager/packager b/docker/packager/packager index 578b5a38bfb..66eb568d460 100755 --- a/docker/packager/packager +++ b/docker/packager/packager @@ -62,7 +62,7 @@ def pre_build(repo_path: str, env_variables: List[str]): f"git -C {repo_path} fetch --no-recurse-submodules " "--no-tags origin master:master" ) - logging.info("Getting master branch for performance artifact: ''%s'", cmd) + logging.info("Getting master branch for performance artifact: '%s'", cmd) subprocess.check_call(cmd, shell=True) @@ -100,12 +100,12 @@ def run_docker_image_with_env( subprocess.check_call(cmd, shell=True) -def is_release_build(build_type, package_type, sanitizer, split_binary): +def is_release_build(build_type, package_type, sanitizer, shared_libraries): return ( build_type == "" and package_type == "deb" and sanitizer == "" - and not split_binary + and not shared_libraries ) @@ -116,7 +116,7 @@ def parse_env_variables( package_type, cache, distcc_hosts, - split_binary, + shared_libraries, clang_tidy, version, author, @@ -134,6 +134,7 @@ def parse_env_variables( result = [] result.append("OUTPUT_DIR=/output") cmake_flags = ["$CMAKE_FLAGS"] + build_target = "clickhouse-bundle" is_cross_darwin = compiler.endswith(DARWIN_SUFFIX) is_cross_darwin_arm = compiler.endswith(DARWIN_ARM_SUFFIX) @@ -201,8 +202,8 @@ def parse_env_variables( cmake_flags.append("-DCMAKE_INSTALL_PREFIX=/usr") cmake_flags.append("-DCMAKE_INSTALL_SYSCONFDIR=/etc") cmake_flags.append("-DCMAKE_INSTALL_LOCALSTATEDIR=/var") - if is_release_build(build_type, package_type, sanitizer, split_binary): - cmake_flags.append("-DINSTALL_STRIPPED_BINARIES=ON") + if is_release_build(build_type, package_type, sanitizer, shared_libraries): + cmake_flags.append("-DSPLIT_DEBUG_SYMBOLS=ON") result.append("WITH_PERFORMANCE=1") if is_cross_arm: cmake_flags.append("-DBUILD_STANDALONE_KEEPER=1") @@ -214,11 +215,11 @@ def parse_env_variables( cmake_flags.append(f"-DCMAKE_C_COMPILER={cc}") cmake_flags.append(f"-DCMAKE_CXX_COMPILER={cxx}") - # Create combined output archive for split build and for performance tests. + # Create combined output archive for shared library build and for performance tests. if package_type == "coverity": result.append("COMBINED_OUTPUT=coverity") result.append('COVERITY_TOKEN="$COVERITY_TOKEN"') - elif split_binary: + elif shared_libraries: result.append("COMBINED_OUTPUT=shared_build") if sanitizer: @@ -233,11 +234,15 @@ def parse_env_variables( if cache: result.append("CCACHE_DIR=/ccache") + result.append("CCACHE_COMPRESSLEVEL=5") result.append("CCACHE_BASEDIR=/build") result.append("CCACHE_NOHASHDIR=true") result.append("CCACHE_COMPILERCHECK=content") - result.append("CCACHE_MAXSIZE=15G") - # result.append("CCACHE_UMASK=777") + cache_maxsize = "15G" + if clang_tidy: + # 15G is not enough for tidy build + cache_maxsize = "25G" + result.append(f"CCACHE_MAXSIZE={cache_maxsize}") if distcc_hosts: hosts_with_params = [f"{host}/24,lzo" for host in distcc_hosts] + [ @@ -259,24 +264,28 @@ def parse_env_variables( result.append("BINARY_OUTPUT=tests") cmake_flags.append("-DENABLE_TESTS=1") - if split_binary: + if shared_libraries: cmake_flags.append( - "-DUSE_STATIC_LIBRARIES=0 -DSPLIT_SHARED_LIBRARIES=1 " - "-DCLICKHOUSE_SPLIT_BINARY=1" + "-DUSE_STATIC_LIBRARIES=0 -DSPLIT_SHARED_LIBRARIES=1" ) # We can't always build utils because it requires too much space, but - # we have to build them at least in some way in CI. The split build is - # probably the least heavy disk-wise. + # we have to build them at least in some way in CI. The shared library + # build is probably the least heavy disk-wise. cmake_flags.append("-DENABLE_UTILS=1") + # utils are not included into clickhouse-bundle, so build everything + build_target = "all" if clang_tidy: cmake_flags.append("-DENABLE_CLANG_TIDY=1") - cmake_flags.append("-DENABLE_UTILS=1") cmake_flags.append("-DENABLE_TESTS=1") cmake_flags.append("-DENABLE_EXAMPLES=1") # Don't stop on first error to find more clang-tidy errors in one run. result.append("NINJA_FLAGS=-k0") + cmake_flags.append("-DENABLE_UTILS=1") + # utils are not included into clickhouse-bundle, so build everything + build_target = "all" + if with_coverage: cmake_flags.append("-DWITH_COVERAGE=1") @@ -290,6 +299,7 @@ def parse_env_variables( cmake_flags.append("-DCLICKHOUSE_OFFICIAL_BUILD=1") result.append('CMAKE_FLAGS="' + " ".join(cmake_flags) + '"') + result.append(f"BUILD_TARGET={build_target}") return result @@ -319,28 +329,20 @@ if __name__ == "__main__": ) parser.add_argument("--output-dir", type=dir_name, required=True) parser.add_argument("--build-type", choices=("debug", ""), default="") + parser.add_argument( "--compiler", choices=( - "clang-11", - "clang-11-darwin", - "clang-11-darwin-aarch64", - "clang-11-aarch64", - "clang-12", - "clang-12-darwin", - "clang-12-darwin-aarch64", - "clang-12-aarch64", - "clang-13", - "clang-13-darwin", - "clang-13-darwin-aarch64", - "clang-13-aarch64", - "clang-13-ppc64le", - "clang-11-freebsd", - "clang-12-freebsd", - "clang-13-freebsd", + "clang-15", # For TSAN builds, see #39450 + "clang-14", + "clang-14-darwin", + "clang-14-darwin-aarch64", + "clang-14-aarch64", + "clang-14-ppc64le", + "clang-14-freebsd", "gcc-11", ), - default="clang-13", + default="clang-14", help="a compiler to use", ) parser.add_argument( @@ -348,7 +350,8 @@ if __name__ == "__main__": choices=("address", "thread", "memory", "undefined", ""), default="", ) - parser.add_argument("--split-binary", action="store_true") + + parser.add_argument("--shared-libraries", action="store_true") parser.add_argument("--clang-tidy", action="store_true") parser.add_argument("--cache", choices=("ccache", "distcc", ""), default="") parser.add_argument( @@ -401,7 +404,7 @@ if __name__ == "__main__": args.package_type, args.cache, args.distcc_hosts, - args.split_binary, + args.shared_libraries, args.clang_tidy, args.version, args.author, diff --git a/docker/server/Dockerfile.ubuntu b/docker/server/Dockerfile.ubuntu index 9e063a006b6..7c0108f8b2c 100644 --- a/docker/server/Dockerfile.ubuntu +++ b/docker/server/Dockerfile.ubuntu @@ -21,7 +21,7 @@ RUN sed -i "s|http://archive.ubuntu.com|${apt_archive}|g" /etc/apt/sources.list ARG REPO_CHANNEL="stable" ARG REPOSITORY="deb https://packages.clickhouse.com/deb ${REPO_CHANNEL} main" -ARG VERSION=22.5.1.* +ARG VERSION=22.6.1.* ARG PACKAGES="clickhouse-client clickhouse-server clickhouse-common-static" # set non-empty deb_location_url url to create a docker image diff --git a/docker/server/README.md b/docker/server/README.md index 5a96a63bb05..352ebc9b29d 100644 --- a/docker/server/README.md +++ b/docker/server/README.md @@ -2,129 +2,144 @@ ## What is ClickHouse? -ClickHouse is an open-source column-oriented database management system that allows generating analytical data reports in real time. +We are the creators of the popular open-source column-oriented DBMS (columnar database management system) for online analytical processing (OLAP) which allows users to generate analytical reports using SQL queries in real-time. -ClickHouse manages extremely large volumes of data in a stable and sustainable manner. It currently powers [Yandex.Metrica](https://metrica.yandex.com/), world’s [second largest](http://w3techs.com/technologies/overview/traffic_analysis/all) web analytics platform, with over 13 trillion database records and over 20 billion events a day, generating customized reports on-the-fly, directly from non-aggregated data. This system was successfully implemented at [CERN’s LHCb experiment](https://www.yandex.com/company/press_center/press_releases/2012/2012-04-10/) to store and process metadata on 10bn events with over 1000 attributes per event registered in 2011. +ClickHouse works 100-1000x faster than traditional database management systems, and processes hundreds of millions to over a billion rows and tens of gigabytes of data per server per second. With a widespread user base around the globe, the technology has received praise for its reliability, ease of use, and fault tolerance. For more information and documentation see https://clickhouse.com/. ## How to use this image ### start server instance + ```bash -$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server +docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server ``` -By default ClickHouse will be accessible only via docker network. See the [networking section below](#networking). +By default, ClickHouse will be accessible only via the Docker network. See the [networking section below](#networking). -By default, starting above server instance will be run as default user without password. +By default, starting above server instance will be run as the `default` user without a password. ### connect to it from a native client + ```bash -$ docker run -it --rm --link some-clickhouse-server:clickhouse-server clickhouse/clickhouse-client --host clickhouse-server +docker run -it --rm --link some-clickhouse-server:clickhouse-server --entrypoint clickhouse-client clickhouse/clickhouse-server --host clickhouse-server +# OR +docker exec -it some-clickhouse-server clickhouse-client ``` -More information about [ClickHouse client](https://clickhouse.com/docs/en/interfaces/cli/). +More information about the [ClickHouse client](https://clickhouse.com/docs/en/interfaces/cli/). ### connect to it using curl ```bash echo "SELECT 'Hello, ClickHouse!'" | docker run -i --rm --link some-clickhouse-server:clickhouse-server curlimages/curl 'http://clickhouse-server:8123/?query=' -s --data-binary @- ``` + More information about [ClickHouse HTTP Interface](https://clickhouse.com/docs/en/interfaces/http/). -### stopping / removing the containter +### stopping / removing the container ```bash -$ docker stop some-clickhouse-server -$ docker rm some-clickhouse-server +docker stop some-clickhouse-server +docker rm some-clickhouse-server ``` ### networking -You can expose you ClickHouse running in docker by [mapping particular port](https://docs.docker.com/config/containers/container-networking/) from inside container to a host ports: +You can expose your ClickHouse running in docker by [mapping a particular port](https://docs.docker.com/config/containers/container-networking/) from inside the container using host ports: ```bash -$ docker run -d -p 18123:8123 -p19000:9000 --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server -$ echo 'SELECT version()' | curl 'http://localhost:18123/' --data-binary @- -20.12.3.3 +docker run -d -p 18123:8123 -p19000:9000 --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server +echo 'SELECT version()' | curl 'http://localhost:18123/' --data-binary @- ``` -or by allowing container to use [host ports directly](https://docs.docker.com/network/host/) using `--network=host` (also allows archiving better network performance): +```response +22.6.3.35 +``` + +or by allowing the container to use [host ports directly](https://docs.docker.com/network/host/) using `--network=host` (also allows archiving better network performance): ```bash -$ docker run -d --network=host --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server -$ echo 'SELECT version()' | curl 'http://localhost:8123/' --data-binary @- -20.12.3.3 +docker run -d --network=host --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server +echo 'SELECT version()' | curl 'http://localhost:8123/' --data-binary @- +``` + +```response +22.6.3.35 ``` ### Volumes -Typically you may want to mount the following folders inside your container to archieve persistency: +Typically you may want to mount the following folders inside your container to achieve persistency: * `/var/lib/clickhouse/` - main folder where ClickHouse stores the data -* `/val/log/clickhouse-server/` - logs +* `/var/log/clickhouse-server/` - logs ```bash -$ docker run -d \ - -v $(realpath ./ch_data):/var/lib/clickhouse/ \ - -v $(realpath ./ch_logs):/var/log/clickhouse-server/ \ - --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server +docker run -d \ + -v $(realpath ./ch_data):/var/lib/clickhouse/ \ + -v $(realpath ./ch_logs):/var/log/clickhouse-server/ \ + --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server ``` You may also want to mount: * `/etc/clickhouse-server/config.d/*.xml` - files with server configuration adjustmenets -* `/etc/clickhouse-server/usert.d/*.xml` - files with use settings adjustmenets +* `/etc/clickhouse-server/users.d/*.xml` - files with user settings adjustmenets * `/docker-entrypoint-initdb.d/` - folder with database initialization scripts (see below). ### Linux capabilities -ClickHouse has some advanced functionality which requite enabling several [linux capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html). +ClickHouse has some advanced functionality, which requires enabling several [Linux capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html). -It is optional and can be enabled using the following [docker command line agruments](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities): +These are optional and can be enabled using the following [docker command-line arguments](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities): ```bash -$ docker run -d \ - --cap-add=SYS_NICE --cap-add=NET_ADMIN --cap-add=IPC_LOCK \ - --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server +docker run -d \ + --cap-add=SYS_NICE --cap-add=NET_ADMIN --cap-add=IPC_LOCK \ + --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server ``` ## Configuration -Container exposes 8123 port for [HTTP interface](https://clickhouse.com/docs/en/interfaces/http_interface/) and 9000 port for [native client](https://clickhouse.com/docs/en/interfaces/tcp/). +The container exposes port 8123 for the [HTTP interface](https://clickhouse.com/docs/en/interfaces/http_interface/) and port 9000 for the [native client](https://clickhouse.com/docs/en/interfaces/tcp/). -ClickHouse configuration represented with a file "config.xml" ([documentation](https://clickhouse.com/docs/en/operations/configuration_files/)) +ClickHouse configuration is represented with a file "config.xml" ([documentation](https://clickhouse.com/docs/en/operations/configuration_files/)) ### Start server instance with custom configuration + ```bash -$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -v /path/to/your/config.xml:/etc/clickhouse-server/config.xml clickhouse/clickhouse-server +docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -v /path/to/your/config.xml:/etc/clickhouse-server/config.xml clickhouse/clickhouse-server ``` -### Start server as custom user -``` +### Start server as a custom user + +```bash # $(pwd)/data/clickhouse should exist and be owned by current user -$ docker run --rm --user ${UID}:${GID} --name some-clickhouse-server --ulimit nofile=262144:262144 -v "$(pwd)/logs/clickhouse:/var/log/clickhouse-server" -v "$(pwd)/data/clickhouse:/var/lib/clickhouse" clickhouse/clickhouse-server +docker run --rm --user ${UID}:${GID} --name some-clickhouse-server --ulimit nofile=262144:262144 -v "$(pwd)/logs/clickhouse:/var/log/clickhouse-server" -v "$(pwd)/data/clickhouse:/var/lib/clickhouse" clickhouse/clickhouse-server ``` -When you use the image with mounting local directories inside you probably would like to not mess your directory tree with files owner and permissions. Then you could use `--user` argument. In this case, you should mount every necessary directory (`/var/lib/clickhouse` and `/var/log/clickhouse-server`) inside the container. Otherwise, image will complain and not start. + +When you use the image with local directories mounted, you probably want to specify the user to maintain the proper file ownership. Use the `--user` argument and mount `/var/lib/clickhouse` and `/var/log/clickhouse-server` inside the container. Otherwise, the image will complain and not start. ### Start server from root (useful in case of userns enabled) -``` -$ docker run --rm -e CLICKHOUSE_UID=0 -e CLICKHOUSE_GID=0 --name clickhouse-server-userns -v "$(pwd)/logs/clickhouse:/var/log/clickhouse-server" -v "$(pwd)/data/clickhouse:/var/lib/clickhouse" clickhouse/clickhouse-server + +```bash +docker run --rm -e CLICKHOUSE_UID=0 -e CLICKHOUSE_GID=0 --name clickhouse-server-userns -v "$(pwd)/logs/clickhouse:/var/log/clickhouse-server" -v "$(pwd)/data/clickhouse:/var/lib/clickhouse" clickhouse/clickhouse-server ``` ### How to create default database and user on starting -Sometimes you may want to create user (user named `default` is used by default) and database on image starting. You can do it using environment variables `CLICKHOUSE_DB`, `CLICKHOUSE_USER`, `CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT` and `CLICKHOUSE_PASSWORD`: +Sometimes you may want to create a user (user named `default` is used by default) and database on image start. You can do it using environment variables `CLICKHOUSE_DB`, `CLICKHOUSE_USER`, `CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT` and `CLICKHOUSE_PASSWORD`: -``` -$ docker run --rm -e CLICKHOUSE_DB=my_database -e CLICKHOUSE_USER=username -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 -e CLICKHOUSE_PASSWORD=password -p 9000:9000/tcp clickhouse/clickhouse-server +```bash +docker run --rm -e CLICKHOUSE_DB=my_database -e CLICKHOUSE_USER=username -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 -e CLICKHOUSE_PASSWORD=password -p 9000:9000/tcp clickhouse/clickhouse-server ``` ## How to extend this image -If you would like to do additional initialization in an image derived from this one, add one or more `*.sql`, `*.sql.gz`, or `*.sh` scripts under `/docker-entrypoint-initdb.d`. After the entrypoint calls `initdb` it will run any `*.sql` files, run any executable `*.sh` scripts, and source any non-executable `*.sh` scripts found in that directory to do further initialization before starting the service. -Also you can provide environment variables `CLICKHOUSE_USER` & `CLICKHOUSE_PASSWORD` that will be used for clickhouse-client during initialization. +To perform additional initialization in an image derived from this one, add one or more `*.sql`, `*.sql.gz`, or `*.sh` scripts under `/docker-entrypoint-initdb.d`. After the entrypoint calls `initdb`, it will run any `*.sql` files, run any executable `*.sh` scripts, and source any non-executable `*.sh` scripts found in that directory to do further initialization before starting the service. +Also, you can provide environment variables `CLICKHOUSE_USER` & `CLICKHOUSE_PASSWORD` that will be used for clickhouse-client during initialization. For example, to add an additional user and database, add the following to `/docker-entrypoint-initdb.d/init-db.sh`: @@ -133,11 +148,12 @@ For example, to add an additional user and database, add the following to `/dock set -e clickhouse client -n <<-EOSQL - CREATE DATABASE docker; - CREATE TABLE docker.docker (x Int32) ENGINE = Log; + CREATE DATABASE docker; + CREATE TABLE docker.docker (x Int32) ENGINE = Log; EOSQL ``` ## License View [license information](https://github.com/ClickHouse/ClickHouse/blob/master/LICENSE) for the software contained in this image. + diff --git a/docker/server/entrypoint.sh b/docker/server/entrypoint.sh index 8d46b70cb2c..89dd501bf38 100755 --- a/docker/server/entrypoint.sh +++ b/docker/server/entrypoint.sh @@ -36,6 +36,10 @@ ERROR_LOG_DIR="" if [ -n "$ERROR_LOG_PATH" ]; then ERROR_LOG_DIR="$(dirname "$ERROR_LOG_PATH")"; fi FORMAT_SCHEMA_PATH="$(clickhouse extract-from-config --config-file "$CLICKHOUSE_CONFIG" --key=format_schema_path || true)" +# There could be many disks declared in config +readarray -t FILESYSTEM_CACHE_PATHS < <(clickhouse extract-from-config --config-file "$CLICKHOUSE_CONFIG" --key='storage_configuration.disks.*.data_cache_path' || true) +readarray -t DISKS_PATHS < <(clickhouse extract-from-config --config-file "$CLICKHOUSE_CONFIG" --key='storage_configuration.disks.*.path' || true) + CLICKHOUSE_USER="${CLICKHOUSE_USER:-default}" CLICKHOUSE_PASSWORD="${CLICKHOUSE_PASSWORD:-}" CLICKHOUSE_DB="${CLICKHOUSE_DB:-}" @@ -46,12 +50,22 @@ for dir in "$DATA_DIR" \ "$LOG_DIR" \ "$TMP_DIR" \ "$USER_PATH" \ - "$FORMAT_SCHEMA_PATH" + "$FORMAT_SCHEMA_PATH" \ + "${FILESYSTEM_CACHE_PATHS[@]}" \ + "${DISKS_PATHS[@]}" do # check if variable not empty [ -z "$dir" ] && continue # ensure directories exist - if ! mkdir -p "$dir"; then + if [ "$DO_CHOWN" = "1" ]; then + mkdir="mkdir" + else + # if DO_CHOWN=0 it means that the system does not map root user to "admin" permissions + # it mainly happens on NFS mounts where root==nobody for security reasons + # thus mkdir MUST run with user id/gid and not from nobody that has zero permissions + mkdir="/usr/bin/clickhouse su "${USER}:${GROUP}" mkdir" + fi + if ! $mkdir -p "$dir"; then echo "Couldn't create necessary directory: $dir" exit 1 fi @@ -151,7 +165,7 @@ if [[ $# -lt 1 ]] || [[ "$1" == "--"* ]]; then # so the container can't be finished by ctrl+c CLICKHOUSE_WATCHDOG_ENABLE=${CLICKHOUSE_WATCHDOG_ENABLE:-0} export CLICKHOUSE_WATCHDOG_ENABLE - /usr/bin/clickhouse su "${USER}:${GROUP}" /usr/bin/clickhouse-server --config-file="$CLICKHOUSE_CONFIG" "$@" + exec /usr/bin/clickhouse su "${USER}:${GROUP}" /usr/bin/clickhouse-server --config-file="$CLICKHOUSE_CONFIG" "$@" fi # Otherwise, we assume the user want to run his own process, for example a `bash` shell to explore this image diff --git a/docker/test/base/Dockerfile b/docker/test/base/Dockerfile index 6beab2e5bb7..43cfca1fdfc 100644 --- a/docker/test/base/Dockerfile +++ b/docker/test/base/Dockerfile @@ -3,57 +3,11 @@ ARG FROM_TAG=latest FROM clickhouse/test-util:$FROM_TAG -# ARG for quick switch to a given ubuntu mirror -ARG apt_archive="http://archive.ubuntu.com" -RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list - -ENV DEBIAN_FRONTEND=noninteractive LLVM_VERSION=13 - -RUN apt-get update \ - && apt-get install ca-certificates lsb-release wget gnupg apt-transport-https \ - --yes --no-install-recommends --verbose-versions \ - && export LLVM_PUBKEY_HASH="bda960a8da687a275a2078d43c111d66b1c6a893a3275271beedf266c1ff4a0cdecb429c7a5cccf9f486ea7aa43fd27f" \ - && wget -nv -O /tmp/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key \ - && echo "${LLVM_PUBKEY_HASH} /tmp/llvm-snapshot.gpg.key" | sha384sum -c \ - && apt-key add /tmp/llvm-snapshot.gpg.key \ - && export CODENAME="$(lsb_release --codename --short | tr 'A-Z' 'a-z')" \ - && echo "deb [trusted=yes] http://apt.llvm.org/${CODENAME}/ llvm-toolchain-${CODENAME}-${LLVM_VERSION} main" >> \ - /etc/apt/sources.list - -# initial packages RUN apt-get update \ && apt-get install \ - bash \ - fakeroot \ - ccache \ - curl \ - software-properties-common \ - --yes --no-install-recommends - -# Architecture of the image when BuildKit/buildx is used -ARG TARGETARCH - -# Special dpkg-deb (https://github.com/ClickHouse-Extras/dpkg) version which is able -# to compress files using pigz (https://zlib.net/pigz/) instead of gzip. -# Significantly increase deb packaging speed and compatible with old systems -RUN arch=${TARGETARCH:-amd64} \ - && curl -Lo /usr/bin/dpkg-deb https://github.com/ClickHouse-Extras/dpkg/releases/download/1.21.1-clickhouse/dpkg-deb-${arch} - -RUN apt-get update \ - && apt-get install \ - clang-${LLVM_VERSION} \ - debhelper \ - devscripts \ - gdb \ - git \ - gperf \ lcov \ - llvm-${LLVM_VERSION} \ - moreutils \ + netbase \ perl \ - pigz \ - pkg-config \ - tzdata \ pv \ --yes --no-install-recommends diff --git a/docker/test/codebrowser/Dockerfile b/docker/test/codebrowser/Dockerfile index 97f3f54ad98..c7aed618f6a 100644 --- a/docker/test/codebrowser/Dockerfile +++ b/docker/test/codebrowser/Dockerfile @@ -8,14 +8,18 @@ FROM clickhouse/binary-builder:$FROM_TAG ARG apt_archive="http://archive.ubuntu.com" RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list -RUN apt-get update && apt-get --yes --allow-unauthenticated install clang-13 libllvm13 libclang-13-dev libmlir-13-dev +RUN apt-get update && apt-get --yes --allow-unauthenticated install clang-14 libllvm14 libclang-14-dev libmlir-14-dev # repo versions doesn't work correctly with C++17 # also we push reports to s3, so we add index.html to subfolder urls # https://github.com/ClickHouse-Extras/woboq_codebrowser/commit/37e15eaf377b920acb0b48dbe82471be9203f76b -RUN git clone https://github.com/ClickHouse-Extras/woboq_codebrowser - -RUN cd woboq_codebrowser && cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang\+\+-13 -DCMAKE_C_COMPILER=clang-13 && make -j +# TODO: remove branch in a few weeks after merge, e.g. in May or June 2022 +RUN git clone https://github.com/ClickHouse-Extras/woboq_codebrowser --branch llvm-14 \ + && cd woboq_codebrowser \ + && cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang\+\+-14 -DCMAKE_C_COMPILER=clang-14 \ + && make -j \ + && cd .. \ + && rm -rf woboq_codebrowser ENV CODEGEN=/woboq_codebrowser/generator/codebrowser_generator ENV CODEINDEX=/woboq_codebrowser/indexgenerator/codebrowser_indexgenerator @@ -28,7 +32,7 @@ ENV SHA=nosha ENV DATA="https://s3.amazonaws.com/clickhouse-test-reports/codebrowser/data" CMD mkdir -p $BUILD_DIRECTORY && cd $BUILD_DIRECTORY && \ - cmake $SOURCE_DIRECTORY -DCMAKE_CXX_COMPILER=/usr/bin/clang\+\+-13 -DCMAKE_C_COMPILER=/usr/bin/clang-13 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_EMBEDDED_COMPILER=0 -DENABLE_S3=0 && \ + cmake $SOURCE_DIRECTORY -DCMAKE_CXX_COMPILER=/usr/bin/clang\+\+-14 -DCMAKE_C_COMPILER=/usr/bin/clang-14 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_EMBEDDED_COMPILER=0 -DENABLE_S3=0 && \ mkdir -p $HTML_RESULT_DIRECTORY && \ $CODEGEN -b $BUILD_DIRECTORY -a -o $HTML_RESULT_DIRECTORY -p ClickHouse:$SOURCE_DIRECTORY:$SHA -d $DATA | ts '%Y-%m-%d %H:%M:%S' && \ cp -r $STATIC_DATA $HTML_RESULT_DIRECTORY/ &&\ diff --git a/docker/test/fasttest/Dockerfile b/docker/test/fasttest/Dockerfile index 46b74d89e13..7f7a8008d4e 100644 --- a/docker/test/fasttest/Dockerfile +++ b/docker/test/fasttest/Dockerfile @@ -3,81 +3,24 @@ ARG FROM_TAG=latest FROM clickhouse/test-util:$FROM_TAG -# ARG for quick switch to a given ubuntu mirror -ARG apt_archive="http://archive.ubuntu.com" -RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list - -ENV DEBIAN_FRONTEND=noninteractive LLVM_VERSION=13 - -RUN apt-get update \ - && apt-get install ca-certificates lsb-release wget gnupg apt-transport-https \ - --yes --no-install-recommends --verbose-versions \ - && export LLVM_PUBKEY_HASH="bda960a8da687a275a2078d43c111d66b1c6a893a3275271beedf266c1ff4a0cdecb429c7a5cccf9f486ea7aa43fd27f" \ - && wget -nv -O /tmp/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key \ - && echo "${LLVM_PUBKEY_HASH} /tmp/llvm-snapshot.gpg.key" | sha384sum -c \ - && apt-key add /tmp/llvm-snapshot.gpg.key \ - && export CODENAME="$(lsb_release --codename --short | tr 'A-Z' 'a-z')" \ - && echo "deb [trusted=yes] https://apt.llvm.org/${CODENAME}/ llvm-toolchain-${CODENAME}-${LLVM_VERSION} main" >> \ - /etc/apt/sources.list - -# initial packages RUN apt-get update \ && apt-get install \ - bash \ - fakeroot \ - ccache \ - curl \ - software-properties-common \ - --yes --no-install-recommends - -# Architecture of the image when BuildKit/buildx is used -ARG TARGETARCH - -# Special dpkg-deb (https://github.com/ClickHouse-Extras/dpkg) version which is able -# to compress files using pigz (https://zlib.net/pigz/) instead of gzip. -# Significantly increase deb packaging speed and compatible with old systems -RUN arch=${TARGETARCH:-amd64} \ - && curl -Lo /usr/bin/dpkg-deb https://github.com/ClickHouse-Extras/dpkg/releases/download/1.21.1-clickhouse/dpkg-deb-${arch} - -RUN apt-get update \ - && apt-get install \ - apt-transport-https \ - bash \ brotli \ - build-essential \ - ca-certificates \ - ccache \ - clang-${LLVM_VERSION} \ - clang-tidy-${LLVM_VERSION} \ - cmake \ - curl \ expect \ - fakeroot \ - gdb \ - git \ - gperf \ - lld-${LLVM_VERSION} \ - llvm-${LLVM_VERSION} \ + file \ lsof \ - moreutils \ - ninja-build \ psmisc \ python3 \ python3-lxml \ python3-pip \ python3-requests \ python3-termcolor \ - rename \ - software-properties-common \ - tzdata \ unixodbc \ - --yes --no-install-recommends + pv \ + --yes --no-install-recommends RUN pip3 install numpy scipy pandas Jinja2 -# This symlink required by gcc to find lld compiler -RUN ln -s /usr/bin/lld-${LLVM_VERSION} /usr/bin/ld.lld - ARG odbc_driver_url="https://github.com/ClickHouse/clickhouse-odbc/releases/download/v1.1.4.20200302/clickhouse-odbc-1.1.4-Linux.tar.gz" RUN mkdir -p /tmp/clickhouse-odbc-tmp \ diff --git a/docker/test/fasttest/run.sh b/docker/test/fasttest/run.sh index cafc62b365e..377b816b2b6 100755 --- a/docker/test/fasttest/run.sh +++ b/docker/test/fasttest/run.sh @@ -37,38 +37,13 @@ export FASTTEST_DATA export FASTTEST_OUT export PATH -server_pid=none - -function stop_server -{ - if ! kill -0 -- "$server_pid" - then - echo "ClickHouse server pid '$server_pid' is not running" - return 0 - fi - - for _ in {1..60} - do - if ! pkill -f "clickhouse-server" && ! kill -- "$server_pid" ; then break ; fi - sleep 1 - done - - if kill -0 -- "$server_pid" - then - pstree -apgT - jobs - echo "Failed to kill the ClickHouse server pid '$server_pid'" - return 1 - fi - - server_pid=none -} - function start_server { set -m # Spawn server in its own process groups + local opts=( --config-file "$FASTTEST_DATA/config.xml" + --pid-file "$FASTTEST_DATA/clickhouse-server.pid" -- --path "$FASTTEST_DATA" --user_files_path "$FASTTEST_DATA/user_files" @@ -76,40 +51,22 @@ function start_server --keeper_server.storage_path "$FASTTEST_DATA/coordination" ) clickhouse-server "${opts[@]}" &>> "$FASTTEST_OUTPUT/server.log" & - server_pid=$! set +m - if [ "$server_pid" == "0" ] - then - echo "Failed to start ClickHouse server" - # Avoid zero PID because `kill` treats it as our process group PID. - server_pid="none" - return 1 - fi - - for _ in {1..60} - do - if clickhouse-client --query "select 1" || ! kill -0 -- "$server_pid" - then + for _ in {1..60}; do + if clickhouse-client --query "select 1"; then break fi sleep 1 done - if ! clickhouse-client --query "select 1" - then + if ! clickhouse-client --query "select 1"; then echo "Failed to wait until ClickHouse server starts." - server_pid="none" - return 1 - fi - - if ! kill -0 -- "$server_pid" - then - echo "Wrong clickhouse server started: PID '$server_pid' we started is not running, but '$(pgrep -f clickhouse-server)' is running" - server_pid="none" return 1 fi + local server_pid + server_pid="$(cat "$FASTTEST_DATA/clickhouse-server.pid")" echo "ClickHouse server pid '$server_pid' started and responded" } @@ -178,6 +135,7 @@ function clone_submodules contrib/replxx contrib/wyhash contrib/hashidsxx + contrib/c-ares ) git submodule sync @@ -202,9 +160,8 @@ function run_cmake "-DENABLE_REPLXX=1" ) - # TODO remove this? we don't use ccache anyway. An option would be to download it - # from S3 simultaneously with cloning. export CCACHE_DIR="$FASTTEST_WORKSPACE/ccache" + export CCACHE_COMPRESSLEVEL=5 export CCACHE_BASEDIR="$FASTTEST_SOURCE" export CCACHE_NOHASHDIR=true export CCACHE_COMPILERCHECK=content @@ -233,6 +190,7 @@ function build gzip "$FASTTEST_OUTPUT/clickhouse-stripped" fi ccache --show-stats ||: + ccache --evict-older-than 1d ||: ) } @@ -254,9 +212,6 @@ function run_tests clickhouse-server --version clickhouse-test --help - # Kill the server in case we are running locally and not in docker - stop_server ||: - start_server set +e @@ -284,6 +239,8 @@ function run_tests | ts '%Y-%m-%d %H:%M:%S' \ | tee "$FASTTEST_OUTPUT/test_result.txt" set -e + + clickhouse stop --pid-path "$FASTTEST_DATA" } case "$stage" in diff --git a/docker/test/fuzzer/run-fuzzer.sh b/docker/test/fuzzer/run-fuzzer.sh index 69e13973783..392d8110576 100755 --- a/docker/test/fuzzer/run-fuzzer.sh +++ b/docker/test/fuzzer/run-fuzzer.sh @@ -12,7 +12,7 @@ stage=${stage:-} script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" echo "$script_dir" repo_dir=ch -BINARY_TO_DOWNLOAD=${BINARY_TO_DOWNLOAD:="clang-13_debug_none_bundled_unsplitted_disable_False_binary"} +BINARY_TO_DOWNLOAD=${BINARY_TO_DOWNLOAD:="clang-14_debug_none_bundled_unsplitted_disable_False_binary"} BINARY_URL_TO_DOWNLOAD=${BINARY_URL_TO_DOWNLOAD:="https://clickhouse-builds.s3.amazonaws.com/$PR_TO_TEST/$SHA_TO_TEST/clickhouse_build_check/$BINARY_TO_DOWNLOAD/clickhouse"} function clone @@ -69,6 +69,8 @@ function download wget_with_retry "$BINARY_URL_TO_DOWNLOAD" chmod +x clickhouse + # clickhouse may be compressed - run once to decompress + ./clickhouse ||: ln -s ./clickhouse ./clickhouse-server ln -s ./clickhouse ./clickhouse-client @@ -125,16 +127,7 @@ function filter_exists_and_template function stop_server { clickhouse-client --query "select elapsed, query from system.processes" ||: - killall clickhouse-server ||: - for _ in {1..10} - do - if ! pgrep -f clickhouse-server - then - break - fi - sleep 1 - done - killall -9 clickhouse-server ||: + clickhouse stop # Debug. date @@ -159,10 +152,12 @@ function fuzz NEW_TESTS_OPT="${NEW_TESTS_OPT:-}" fi + mkdir -p /var/run/clickhouse-server + # interferes with gdb export CLICKHOUSE_WATCHDOG_ENABLE=0 # NOTE: we use process substitution here to preserve keep $! as a pid of clickhouse-server - clickhouse-server --config-file db/config.xml -- --path db > >(tail -100000 > server.log) 2>&1 & + clickhouse-server --config-file db/config.xml --pid-file /var/run/clickhouse-server/clickhouse-server.pid -- --path db > >(tail -100000 > server.log) 2>&1 & server_pid=$! kill -0 $server_pid diff --git a/docker/test/integration/base/Dockerfile b/docker/test/integration/base/Dockerfile index eaf0f01e36d..9b6318a5426 100644 --- a/docker/test/integration/base/Dockerfile +++ b/docker/test/integration/base/Dockerfile @@ -34,13 +34,14 @@ RUN apt-get update \ ARG TARGETARCH # Install MySQL ODBC driver from RHEL rpm +# For reference https://downloads.mysql.com/archives/c-odbc/ RHEL RUN arch=${TARGETARCH:-amd64} \ && case $arch in \ amd64) rarch=x86_64 ;; \ arm64) rarch=aarch64 ;; \ esac \ && cd /tmp \ - && curl -o mysql-odbc.rpm "https://cdn.mysql.com/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.27-1.el8.${rarch}.rpm" \ + && curl -o mysql-odbc.rpm "https://cdn.mysql.com/archives/mysql-connector-odbc-8.0/mysql-connector-odbc-8.0.27-1.el8.${rarch}.rpm" \ && rpm2archive mysql-odbc.rpm \ && tar xf mysql-odbc.rpm.tgz -C / ./usr/lib64/ \ && LINK_DIR=$(dpkg -L libodbc1 | grep '^/usr/lib/.*-linux-gnu/odbc$') \ diff --git a/docker/test/integration/hive_server/Dockerfile b/docker/test/integration/hive_server/Dockerfile index 391f9a5e22f..b06a0dcc830 100644 --- a/docker/test/integration/hive_server/Dockerfile +++ b/docker/test/integration/hive_server/Dockerfile @@ -43,8 +43,5 @@ COPY demo_data.txt / ENV PATH=/apache-hive-2.3.9-bin/bin:/hadoop-3.1.0/bin:/hadoop-3.1.0/sbin:$PATH RUN service ssh start && sed s/HOSTNAME/$HOSTNAME/ /hadoop-3.1.0/etc/hadoop/core-site.xml.template > /hadoop-3.1.0/etc/hadoop/core-site.xml && hdfs namenode -format -RUN apt install -y python3 python3-pip -RUN pip3 install flask requests -COPY http_api_server.py / COPY start.sh / diff --git a/docker/test/integration/hive_server/prepare_hive_data.sh b/docker/test/integration/hive_server/prepare_hive_data.sh deleted file mode 100755 index 8126b975612..00000000000 --- a/docker/test/integration/hive_server/prepare_hive_data.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -hive -e "create database test" - -hive -e "create table test.demo(id string, score int) PARTITIONED BY(day string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'; create table test.demo_orc(id string, score int) PARTITIONED BY(day string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'; " -hive -e "create table test.parquet_demo(id string, score int) PARTITIONED BY(day string, hour string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'" -hive -e "create table test.demo_text(id string, score int, day string)row format delimited fields terminated by ','; load data local inpath '/demo_data.txt' into table test.demo_text " -hive -e "set hive.exec.dynamic.partition.mode=nonstrict;insert into test.demo partition(day) select * from test.demo_text; insert into test.demo_orc partition(day) select * from test.demo_text" - -hive -e "set hive.exec.dynamic.partition.mode=nonstrict;insert into test.parquet_demo partition(day, hour) select id, score, day, '00' as hour from test.demo;" -hive -e "set hive.exec.dynamic.partition.mode=nonstrict;insert into test.parquet_demo partition(day, hour) select id, score, day, '01' as hour from test.demo;" diff --git a/docker/test/integration/hive_server/start.sh b/docker/test/integration/hive_server/start.sh index 4224b8126e6..efeda37048d 100755 --- a/docker/test/integration/hive_server/start.sh +++ b/docker/test/integration/hive_server/start.sh @@ -7,5 +7,5 @@ mysql -u root -e "GRANT ALL ON * . * TO 'test'@'localhost'" schematool -initSchema -dbType mysql #nohup hiveserver2 & nohup hive --service metastore & -bash /prepare_hive_data.sh -python3 http_api_server.py + +while true; do sleep 60; done diff --git a/docker/test/integration/runner/Dockerfile b/docker/test/integration/runner/Dockerfile index 57e4dfdeda1..84c04dd03ec 100644 --- a/docker/test/integration/runner/Dockerfile +++ b/docker/test/integration/runner/Dockerfile @@ -3,6 +3,7 @@ FROM ubuntu:20.04 # ARG for quick switch to a given ubuntu mirror ARG apt_archive="http://archive.ubuntu.com" + RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list RUN apt-get update \ @@ -62,18 +63,20 @@ RUN python3 -m pip install \ PyMySQL \ aerospike==4.0.0 \ avro==1.10.2 \ + asyncio \ cassandra-driver \ confluent-kafka==1.5.0 \ dict2xml \ dicttoxml \ docker \ - docker-compose==1.28.2 \ + docker-compose==1.29.2 \ grpcio \ grpcio-tools \ kafka-python \ kazoo \ lz4 \ minio \ + nats-py \ protobuf \ psycopg2-binary==2.8.6 \ pymongo==3.11.0 \ @@ -89,7 +92,7 @@ RUN python3 -m pip install \ requests-kerberos \ pyhdfs \ azure-storage-blob \ - meilisearch + meilisearch==0.18.3 COPY modprobe.sh /usr/local/bin/modprobe COPY dockerd-entrypoint.sh /usr/local/bin/ diff --git a/docker/test/integration/runner/compose/docker_compose_coredns.yml b/docker/test/integration/runner/compose/docker_compose_coredns.yml new file mode 100644 index 00000000000..b329d4e0a46 --- /dev/null +++ b/docker/test/integration/runner/compose/docker_compose_coredns.yml @@ -0,0 +1,9 @@ +version: "2.3" + +services: + coredns: + image: coredns/coredns:latest + restart: always + volumes: + - ${COREDNS_CONFIG_DIR}/example.com:/example.com + - ${COREDNS_CONFIG_DIR}/Corefile:/Corefile diff --git a/docker/test/integration/runner/compose/docker_compose_hive.yml b/docker/test/integration/runner/compose/docker_compose_hive.yml index 44f23655d2a..459e8481d0b 100644 --- a/docker/test/integration/runner/compose/docker_compose_hive.yml +++ b/docker/test/integration/runner/compose/docker_compose_hive.yml @@ -1,7 +1,7 @@ version: '2.3' services: hdfs1: - image: lgboustc/hive_test:v1.0 + image: lgboustc/hive_test:v2.0 hostname: hivetest restart: always entrypoint: bash /start.sh diff --git a/docker/test/integration/runner/compose/docker_compose_meili.yml b/docker/test/integration/runner/compose/docker_compose_meili.yml index 55f1cfad76e..dc58643d26f 100644 --- a/docker/test/integration/runner/compose/docker_compose_meili.yml +++ b/docker/test/integration/runner/compose/docker_compose_meili.yml @@ -1,13 +1,13 @@ version: '2.3' services: meili1: - image: getmeili/meilisearch:latest + image: getmeili/meilisearch:v0.27.0 restart: always ports: - ${MEILI_EXTERNAL_PORT}:${MEILI_INTERNAL_PORT} meili_secure: - image: getmeili/meilisearch:latest + image: getmeili/meilisearch:v0.27.0 restart: always ports: - ${MEILI_SECURE_EXTERNAL_PORT}:${MEILI_SECURE_INTERNAL_PORT} diff --git a/docker/test/integration/runner/compose/docker_compose_nats.yml b/docker/test/integration/runner/compose/docker_compose_nats.yml new file mode 100644 index 00000000000..2122f0f639f --- /dev/null +++ b/docker/test/integration/runner/compose/docker_compose_nats.yml @@ -0,0 +1,11 @@ +version: '2.3' +services: + nats1: + image: nats + ports: + - "${NATS_EXTERNAL_PORT}:${NATS_INTERNAL_PORT}" + command: "-p 4444 --user click --pass house --tls --tlscert=/etc/certs/server-cert.pem --tlskey=/etc/certs/server-key.pem" + volumes: + - type: bind + source: "${NATS_CERT_DIR}/nats" + target: /etc/certs diff --git a/docker/test/integration/runner/dockerd-entrypoint.sh b/docker/test/integration/runner/dockerd-entrypoint.sh index 0cb25d12a9f..bcaa064fe4f 100755 --- a/docker/test/integration/runner/dockerd-entrypoint.sh +++ b/docker/test/integration/runner/dockerd-entrypoint.sh @@ -30,8 +30,8 @@ set -e # cleanup for retry run if volume is not recreated # shellcheck disable=SC2046 { - docker kill $(docker ps -aq) || true - docker rm $(docker ps -aq) || true + docker ps -aq | xargs -r docker kill || true + docker ps -aq | xargs -r docker rm || true } echo "Start tests" diff --git a/docker/test/keeper-jepsen/run.sh b/docker/test/keeper-jepsen/run.sh index 4dec82234bc..460c0db54c3 100644 --- a/docker/test/keeper-jepsen/run.sh +++ b/docker/test/keeper-jepsen/run.sh @@ -2,7 +2,7 @@ set -euo pipefail -CLICKHOUSE_PACKAGE=${CLICKHOUSE_PACKAGE:="https://clickhouse-builds.s3.amazonaws.com/$PR_TO_TEST/$SHA_TO_TEST/clickhouse_build_check/clang-13_relwithdebuginfo_none_bundled_unsplitted_disable_False_binary/clickhouse"} +CLICKHOUSE_PACKAGE=${CLICKHOUSE_PACKAGE:="https://clickhouse-builds.s3.amazonaws.com/$PR_TO_TEST/$SHA_TO_TEST/clickhouse_build_check/clang-14_relwithdebuginfo_none_bundled_unsplitted_disable_False_binary/clickhouse"} CLICKHOUSE_REPO_PATH=${CLICKHOUSE_REPO_PATH:=""} diff --git a/docker/test/performance-comparison/compare.sh b/docker/test/performance-comparison/compare.sh index 16503eed778..3b0b7a4d95a 100755 --- a/docker/test/performance-comparison/compare.sh +++ b/docker/test/performance-comparison/compare.sh @@ -207,6 +207,13 @@ function run_tests test_files=($(ls "$test_prefix"/*.xml)) fi + # We can filter out certain tests + if [ -v CHPC_TEST_GREP_EXCLUDE ]; then + # filter tests array in bash https://stackoverflow.com/a/40375567 + filtered_test_files=( $( for i in ${test_files[@]} ; do echo $i ; done | grep -v ${CHPC_TEST_GREP_EXCLUDE} ) ) + test_files=("${filtered_test_files[@]}") + fi + # We split perf tests into multiple checks to make them faster if [ -v CHPC_TEST_RUN_BY_HASH_TOTAL ]; then # filter tests array in bash https://stackoverflow.com/a/40375567 @@ -554,7 +561,7 @@ create table query_metric_stats_denorm engine File(TSVWithNamesAndTypes, " 2> >(tee -a analyze/errors.log 1>&2) # Fetch historical query variability thresholds from the CI database -if [ -v CHPC_DATABASE_URL ] +if [ -v CLICKHOUSE_PERFORMANCE_COMPARISON_DATABASE_URL ] then set +x # Don't show password in the log client=(clickhouse-client @@ -562,12 +569,11 @@ then # so I have to extract host and port with clickhouse-local. I tried to use # Poco URI parser to support this in the client, but it's broken and can't # parse host:port. - $(clickhouse-local --query "with '${CHPC_DATABASE_URL}' as url select '--host ' || domain(url) || ' --port ' || toString(port(url)) format TSV") + $(clickhouse-local --query "with '${CLICKHOUSE_PERFORMANCE_COMPARISON_DATABASE_URL}' as url select '--host ' || domain(url) || ' --port ' || toString(port(url)) format TSV") --secure - --user "${CHPC_DATABASE_USER}" - --password "${CHPC_DATABASE_PASSWORD}" + --user "${CLICKHOUSE_PERFORMANCE_COMPARISON_DATABASE_USER}" + --password "${CLICKHOUSE_PERFORMANCE_COMPARISON_DATABASE_USER_PASSWORD}" --config "right/config/client_config.xml" - --database perftest --date_time_input_format=best_effort) @@ -1189,25 +1195,23 @@ unset IFS function upload_results { # Prepare info for the CI checks table. - rm ci-checks.tsv + rm -f ci-checks.tsv + clickhouse-local --query " -create view queries as select * from file('report/queries.tsv', TSVWithNamesAndTypes, - 'changed_fail int, changed_show int, unstable_fail int, unstable_show int, - left float, right float, diff float, stat_threshold float, - test text, query_index int, query_display_name text'); +create view queries as select * from file('report/queries.tsv', TSVWithNamesAndTypes); create table ci_checks engine File(TSVWithNamesAndTypes, 'ci-checks.tsv') as select - $PR_TO_TEST pull_request_number, - '$SHA_TO_TEST' commit_sha, - 'Performance' check_name, - '$(sed -n 's/.*/\1/p' report.html)' check_status, + $PR_TO_TEST :: UInt32 AS pull_request_number, + '$SHA_TO_TEST' :: LowCardinality(String) AS commit_sha, + '${CLICKHOUSE_PERFORMANCE_COMPARISON_CHECK_NAME:-Performance}' :: LowCardinality(String) AS check_name, + '$(sed -n 's/.*/\1/p' report.html)' :: LowCardinality(String) AS check_status, -- TODO toDateTime() can't parse output of 'date', so no time for now. - ($(date +%s) - $CHPC_CHECK_START_TIMESTAMP) * 1000 check_duration_ms, + (($(date +%s) - $CHPC_CHECK_START_TIMESTAMP) * 1000) :: UInt64 AS check_duration_ms, fromUnixTimestamp($CHPC_CHECK_START_TIMESTAMP) check_start_time, - test_name, - test_status, - test_duration_ms, + test_name :: LowCardinality(String) AS test_name , + test_status :: LowCardinality(String) AS test_status, + test_duration_ms :: UInt64 AS test_duration_ms, report_url, $PR_TO_TEST = 0 ? 'https://github.com/ClickHouse/ClickHouse/commit/$SHA_TO_TEST' @@ -1222,22 +1226,22 @@ create table ci_checks engine File(TSVWithNamesAndTypes, 'ci-checks.tsv') select '' test_name, '$(sed -n 's/.*/\1/p' report.html)' test_status, 0 test_duration_ms, - 'https://clickhouse-test-reports.s3.amazonaws.com/$PR_TO_TEST/$SHA_TO_TEST/performance_comparison/report.html#fail1' report_url + 'https://s3.amazonaws.com/clickhouse-test-reports/$PR_TO_TEST/$SHA_TO_TEST/${CLICKHOUSE_PERFORMANCE_COMPARISON_CHECK_NAME_PREFIX}/report.html#fail1' report_url union all select test || ' #' || toString(query_index), 'slower' test_status, 0 test_duration_ms, - 'https://clickhouse-test-reports.s3.amazonaws.com/$PR_TO_TEST/$SHA_TO_TEST/performance_comparison/report.html#changes-in-performance.' + 'https://s3.amazonaws.com/clickhouse-test-reports/$PR_TO_TEST/$SHA_TO_TEST/${CLICKHOUSE_PERFORMANCE_COMPARISON_CHECK_NAME_PREFIX}/report.html#changes-in-performance.' || test || '.' || toString(query_index) report_url from queries where changed_fail != 0 and diff > 0 union all select test || ' #' || toString(query_index), 'unstable' test_status, 0 test_duration_ms, - 'https://clickhouse-test-reports.s3.amazonaws.com/$PR_TO_TEST/$SHA_TO_TEST/performance_comparison/report.html#unstable-queries.' + 'https://s3.amazonaws.com/clickhouse-test-reports/$PR_TO_TEST/$SHA_TO_TEST/${CLICKHOUSE_PERFORMANCE_COMPARISON_CHECK_NAME_PREFIX}/report.html#unstable-queries.' || test || '.' || toString(query_index) report_url from queries where unstable_fail != 0 ) ; " - if ! [ -v CHPC_DATABASE_URL ] + if ! [ -v CLICKHOUSE_PERFORMANCE_COMPARISON_DATABASE_URL ] then echo Database for test results is not specified, will not upload them. return 0 @@ -1249,14 +1253,38 @@ create table ci_checks engine File(TSVWithNamesAndTypes, 'ci-checks.tsv') # so I have to extract host and port with clickhouse-local. I tried to use # Poco URI parser to support this in the client, but it's broken and can't # parse host:port. - $(clickhouse-local --query "with '${CHPC_DATABASE_URL}' as url select '--host ' || domain(url) || ' --port ' || toString(port(url)) format TSV") + $(clickhouse-local --query "with '${CLICKHOUSE_PERFORMANCE_COMPARISON_DATABASE_URL}' as url select '--host ' || domain(url) || ' --port ' || toString(port(url)) format TSV") --secure - --user "${CHPC_DATABASE_USER}" - --password "${CHPC_DATABASE_PASSWORD}" + --user "${CLICKHOUSE_PERFORMANCE_COMPARISON_DATABASE_USER}" + --password "${CLICKHOUSE_PERFORMANCE_COMPARISON_DATABASE_USER_PASSWORD}" --config "right/config/client_config.xml" - --database perftest --date_time_input_format=best_effort) + # CREATE TABLE IF NOT EXISTS query_metrics_v2 ( + # `event_date` Date, + # `event_time` DateTime, + # `pr_number` UInt32, + # `old_sha` String, + # `new_sha` String, + # `test` LowCardinality(String), + # `query_index` UInt32, + # `query_display_name` String, + # `metric` LowCardinality(String), + # `old_value` Float64, + # `new_value` Float64, + # `diff` Float64, + # `stat_threshold` Float64 + # ) ENGINE = ReplicatedMergeTree + # ORDER BY event_date + + # CREATE TABLE IF NOT EXISTS run_attributes_v1 ( + # `old_sha` String, + # `new_sha` String, + # `metric` LowCardinality(String), + # `metric_value` String + # ) ENGINE = ReplicatedMergeTree + # ORDER BY (old_sha, new_sha) + "${client[@]}" --query " insert into query_metrics_v2 select @@ -1268,7 +1296,7 @@ create table ci_checks engine File(TSVWithNamesAndTypes, 'ci-checks.tsv') test, query_index, query_display_name, - metric_name, + metric_name as metric, old_value, new_value, diff, @@ -1276,9 +1304,7 @@ create table ci_checks engine File(TSVWithNamesAndTypes, 'ci-checks.tsv') from input('metric_name text, old_value float, new_value float, diff float, ratio_display_text text, stat_threshold float, test text, query_index int, query_display_name text') - settings date_time_input_format='best_effort' format TSV - settings date_time_input_format='best_effort' " < report/all-query-metrics.tsv # Don't leave whitespace after INSERT: https://github.com/ClickHouse/ClickHouse/issues/16652 # Upload some run attributes. I use this weird form because it is the same diff --git a/docker/test/performance-comparison/download.sh b/docker/test/performance-comparison/download.sh index 463c08c5304..da866aabd9a 100755 --- a/docker/test/performance-comparison/download.sh +++ b/docker/test/performance-comparison/download.sh @@ -73,6 +73,9 @@ function download ) & wait + echo "ATTACH DATABASE default ENGINE=Ordinary" > db0/metadata/default.sql + echo "ATTACH DATABASE datasets ENGINE=Ordinary" > db0/metadata/datasets.sql + ls db0/metadata } download diff --git a/docker/test/performance-comparison/report.py b/docker/test/performance-comparison/report.py index 4c1b6e1dd57..960f23be95c 100755 --- a/docker/test/performance-comparison/report.py +++ b/docker/test/performance-comparison/report.py @@ -41,24 +41,9 @@ color_good = "#b0d050" header_template = """ - @@ -410,6 +465,7 @@

     
+    

@@ -467,20 +523,27 @@ const server_address = document.getElementById('url').value; - const url = server_address + + var url = server_address + (server_address.indexOf('?') >= 0 ? '&' : '?') + /// Ask server to allow cross-domain requests. 'add_http_cors_header=1' + - '&user=' + encodeURIComponent(user) + - '&password=' + encodeURIComponent(password) + '&default_format=JSONCompact' + /// Safety settings to prevent results that browser cannot display. '&max_result_rows=1000&max_result_bytes=10000000&result_overflow_mode=break'; + // If play.html is opened locally, append username and password to the URL parameter to avoid CORS issue. + if (document.location.href.startsWith("file://")) { + url += '&user=' + encodeURIComponent(user) + + '&password=' + encodeURIComponent(password) + } + const xhr = new XMLHttpRequest; xhr.open('POST', url, true); - + // If play.html is open normally, use Basic auth to prevent username and password being exposed in URL parameters + if (!document.location.href.startsWith("file://")) { + xhr.setRequestHeader("Authorization", "Basic " + btoa(user+":"+password)); + } xhr.onreadystatechange = function() { if (posted_request_num != request_num) { @@ -530,8 +593,13 @@ if (status === 200) { let json; try { json = JSON.parse(response); } catch (e) {} + if (json !== undefined && json.statistics !== undefined) { renderResult(json); + } else if (Array.isArray(json) && json.length == 2 && + Array.isArray(json[0]) && Array.isArray(json[1]) && json[0].length > 1 && json[0].length == json[1].length) { + /// If user requested FORMAT JSONCompactColumns, we will render it as a chart. + renderChart(json); } else { renderUnparsedResult(response); } @@ -542,11 +610,13 @@ } } + let query_area = document.getElementById('query'); + window.onpopstate = function(event) { if (!event.state) { return; } - document.getElementById('query').value = event.state.query; + query_area.value = event.state.query; if (!event.state.response) { clear(); return; @@ -555,13 +625,13 @@ }; if (window.location.hash) { - document.getElementById('query').value = window.atob(window.location.hash.substr(1)); + query_area.value = window.atob(window.location.hash.substr(1)); } function post() { ++request_num; - let query = document.getElementById('query').value; + let query = query_area.value; postImpl(request_num, query); } @@ -578,30 +648,52 @@ } } + /// Pressing Tab in textarea will increase indentation. + /// But for accessibility reasons, we will fall back to tab navigation if the user already used Tab for that. + + let user_prefers_tab_navigation = false; + + [...document.querySelectorAll('input')].map(elem => { + elem.onkeydown = (e) => { + if (e.key == 'Tab') { user_prefers_tab_navigation = true; } + }; + }); + + query_area.onkeydown = (e) => { + if (e.key == 'Tab' && !event.shiftKey && !user_prefers_tab_navigation) { + let elem = e.target; + let selection_start = elem.selectionStart; + let selection_end = elem.selectionEnd; + + elem.value = elem.value.substring(0, elem.selectionStart) + ' ' + elem.value.substring(elem.selectionEnd); + elem.selectionStart = selection_start + 4; + elem.selectionEnd = selection_start + 4; + + e.preventDefault(); + return false; + } + }; + + function clearElement(id) + { + let elem = document.getElementById(id); + while (elem.firstChild) { + elem.removeChild(elem.lastChild); + } + elem.style.display = 'none'; + } + function clear() { - let table = document.getElementById('data-table'); - while (table.firstChild) { - table.removeChild(table.lastChild); - } - - let graph = document.getElementById('graph'); - while (graph.firstChild) { - graph.removeChild(graph.lastChild); - } - graph.style.display = 'none'; - - document.getElementById('data-unparsed').innerText = ''; - document.getElementById('data-unparsed').style.display = 'none'; - - document.getElementById('error').innerText = ''; - document.getElementById('error').style.display = 'none'; + clearElement('data-table'); + clearElement('graph'); + clearElement('chart'); + clearElement('data-unparsed'); + clearElement('error'); + document.getElementById('check-mark').display = 'none'; + document.getElementById('hourglass').display = 'none'; document.getElementById('stats').innerText = ''; - - document.getElementById('hourglass').style.display = 'none'; - document.getElementById('check-mark').style.display = 'none'; - document.getElementById('logo-container').style.display = 'block'; } @@ -638,7 +730,7 @@ stats.innerText = `Elapsed: ${seconds} sec, read ${formatted_rows} rows, ${formatted_bytes}.`; /// We can also render graphs if user performed EXPLAIN PIPELINE graph=1 or EXPLAIN AST graph = 1 - if (response.data.length > 3 && document.getElementById('query').value.match(/^\s*EXPLAIN/i) && typeof(response.data[0][0]) === "string" && response.data[0][0].startsWith("digraph")) { + if (response.data.length > 3 && query_area.value.match(/^\s*EXPLAIN/i) && typeof(response.data[0][0]) === "string" && response.data[0][0].startsWith("digraph")) { renderGraph(response); } else { renderTable(response); @@ -738,6 +830,7 @@ } let table = document.getElementById('data-table'); table.appendChild(tbody); + table.style.display = 'table'; } function renderTable(response) @@ -747,7 +840,17 @@ return; } + const should_display_row_numbers = response.data.length > 3; + let thead = document.createElement('thead'); + + if (should_display_row_numbers) { + let th = document.createElement('th'); + th.className = 'row-number'; + th.appendChild(document.createTextNode('№')); + thead.appendChild(th); + } + for (let idx in response.meta) { let th = document.createElement('th'); const name = document.createTextNode(response.meta[idx].name); @@ -757,7 +860,9 @@ /// To prevent hanging the browser, limit the number of cells in a table. /// It's important to have the limit on number of cells, not just rows, because tables may be wide or narrow. + /// Also we permit rendering of more records but only if elapsed time is not large. const max_rows = 10000 / response.meta.length; + const max_render_ms = 200; let row_num = 0; const column_is_number = response.meta.map(elem => !!elem.type.match(/^(Nullable\()?(U?Int|Decimal|Float)/)); @@ -773,18 +878,35 @@ column_need_render_bars: column_need_render_bars, }; + const start_time = performance.now(); + let tbody = document.createElement('tbody'); for (let row_idx in response.data) { let tr = document.createElement('tr'); + if (should_display_row_numbers) { + let td = document.createElement('td'); + td.className = 'row-number'; + td.appendChild(document.createTextNode(1 + +row_idx)); + tr.appendChild(td); + } for (let col_idx in response.data[row_idx]) { let cell = response.data[row_idx][col_idx]; const td = renderCell(cell, col_idx, settings); + + td.onclick = () => { td.classList.add('td-selected') }; + td.onmouseenter = () => { + td.classList.add('td-hover-hysteresis'); + td.onmouseleave = () => { + setTimeout(() => { td && td.classList.remove('td-hover-hysteresis') }, 1000); + }; + }; + tr.appendChild(td); } tbody.appendChild(tr); ++row_num; - if (row_num >= max_rows) { + if (row_num >= max_rows && performance.now() - start_time >= max_render_ms) { break; } } @@ -792,6 +914,7 @@ let table = document.getElementById('data-table'); table.appendChild(thead); table.appendChild(tbody); + table.style.display = 'table'; } /// A function to render raw data when non-default format is specified. @@ -873,16 +996,80 @@ svg.style.height = graph.graph().height; } - function setColorTheme(theme) { - window.localStorage.setItem('theme', theme); - document.documentElement.setAttribute('data-theme', theme); + let load_uplot_promise; + function loadUplot() { + if (load_uplot_promise) { return load_uplot_promise; } + load_uplot_promise = loadJS('https://cdn.jsdelivr.net/npm/uplot@1.6.21/dist/uPlot.iife.min.js', + 'sha384-TwdJPnTsKP6pnvFZZKda0WJCXpjcHCa7MYHmjrYDu6rsEsb/UnFdoL0phS5ODqTA'); + return load_uplot_promise; } + let uplot; + async function renderChart(json) + { + await loadUplot(); + clear(); + + let chart = document.getElementById('chart'); + chart.style.display = 'block'; + + let paths = uPlot.paths.stepped({align: 1}); + + const [line_color, fill_color, grid_color, axes_color] = theme == 'light' + ? ["#F80", "#FED", "#c7d0d9", "#2c3235"] + : ["#888", "#045", "#2c3235", "#c7d0d9"]; + + const opts = { + width: chart.clientWidth, + height: chart.clientHeight, + scales: { x: { time: json[0][0] > 1000000000 && json[0][0] < 2000000000 } }, + axes: [ { stroke: axes_color, + grid: { width: 1 / devicePixelRatio, stroke: grid_color }, + ticks: { width: 1 / devicePixelRatio, stroke: grid_color } }, + { stroke: axes_color, + grid: { width: 1 / devicePixelRatio, stroke: grid_color }, + ticks: { width: 1 / devicePixelRatio, stroke: grid_color } } ], + series: [ { label: "x" }, + { label: "y", stroke: line_color, fill: fill_color, + drawStyle: 0, lineInterpolation: 1, paths } ], + padding: [ null, null, null, (Math.ceil(Math.log10(Math.max(...json[1]))) + Math.floor(Math.log10(Math.max(...json[1])) / 3)) * 6 ], + }; + + uplot = new uPlot(opts, json, chart); + } + + function resizeChart() { + if (uplot) { + let chart = document.getElementById('chart'); + uplot.setSize({ width: chart.clientWidth, height: chart.clientHeight }); + } + } + + function redrawChart() { + if (uplot && document.getElementById('chart').style.display == 'block') { + renderChart(uplot.data); + } + } + + new ResizeObserver(resizeChart).observe(document.getElementById('chart')); + /// First we check if theme is set via the 'theme' GET parameter, if not, we check localStorage, otherwise we check OS preference. let theme = current_url.searchParams.get('theme'); if (['dark', 'light'].indexOf(theme) === -1) { theme = window.localStorage.getItem('theme'); } + if (!theme) { + theme = 'light'; + } + + function setColorTheme(new_theme, update_preference) { + theme = new_theme; + if (update_preference) { + window.localStorage.setItem('theme', theme); + } + document.documentElement.setAttribute('data-theme', theme); + redrawChart(); + } if (theme) { document.documentElement.setAttribute('data-theme', theme); @@ -890,26 +1077,21 @@ /// Obtain system-level user preference const media_query_list = window.matchMedia('(prefers-color-scheme: dark)'); if (media_query_list.matches) { - /// Set without saving to localstorage - document.documentElement.setAttribute('data-theme', 'dark'); + setColorTheme('dark'); } /// There is a rumor that on some computers, the theme is changing automatically on day/night. media_query_list.addEventListener('change', function(e) { - if (e.matches) { - document.documentElement.setAttribute('data-theme', 'dark'); - } else { - document.documentElement.setAttribute('data-theme', 'light'); - } + setColorTheme(e.matches ? 'dark' : 'light'); }); } document.getElementById('toggle-light').onclick = function() { - setColorTheme('light'); + setColorTheme('light', true); } document.getElementById('toggle-dark').onclick = function() { - setColorTheme('dark'); + setColorTheme('dark', true); } diff --git a/programs/su/CMakeLists.txt b/programs/su/CMakeLists.txt index df207e16f6e..3228eef8b8d 100644 --- a/programs/su/CMakeLists.txt +++ b/programs/su/CMakeLists.txt @@ -1,3 +1,3 @@ -set (CLICKHOUSE_SU_SOURCES clickhouse-su.cpp) +set (CLICKHOUSE_SU_SOURCES clickhouse-su.cpp su.cpp) set (CLICKHOUSE_SU_LINK PRIVATE dbms) clickhouse_program_add(su) diff --git a/programs/su/clickhouse-su.cpp b/programs/su/clickhouse-su.cpp index 9aa41085094..bb0967ca271 100644 --- a/programs/su/clickhouse-su.cpp +++ b/programs/su/clickhouse-su.cpp @@ -1,145 +1,2 @@ -#include -#include -#include -#include - -#include -#include -#include -#include - - -/// "su" means "set user" -/// In fact, this program can set Unix user and group. -/// -/// Usage: -/// clickhouse su user[:group] args... -/// -/// - will set user and, optionally, group and exec the remaining args. -/// user and group can be numeric identifiers or strings. -/// -/// The motivation for this tool is very obscure and idiosyncratic. It is needed for Docker. -/// People want to run programs inside Docker with dropped privileges (less than root). -/// But the standard Linux "su" program is not suitable for usage inside Docker, -/// because it is creating pseudoterminals to avoid hijacking input from the terminal, for security, -/// but Docker is also doing something with the terminal and it is incompatible. -/// For this reason, people use alternative and less "secure" versions of "su" tools like "gosu" or "su-exec". -/// But it would be very strange to use 3rd-party software only to do two-three syscalls. -/// That's why we provide this tool. -/// -/// Note: ClickHouse does not need Docker at all and works better without Docker. -/// ClickHouse has no dependencies, it is packaged and distributed in single binary. -/// There is no reason to use Docker unless you are already running all your software in Docker. - -namespace DB -{ - -namespace ErrorCodes -{ - extern const int BAD_ARGUMENTS; - extern const int SYSTEM_ERROR; -} - -void setUserAndGroup(std::string arg_uid, std::string arg_gid) -{ - static constexpr size_t buf_size = 16384; /// Linux man page says it is enough. Nevertheless, we will check if it's not enough and throw. - std::unique_ptr buf(new char[buf_size]); - - /// Set the group first, because if we set user, the privileges will be already dropped and we will not be able to set the group later. - - if (!arg_gid.empty()) - { - gid_t gid = 0; - if (!tryParse(gid, arg_gid) || gid == 0) - { - group entry{}; - group * result{}; - - if (0 != getgrnam_r(arg_gid.data(), &entry, buf.get(), buf_size, &result)) - throwFromErrno(fmt::format("Cannot do 'getgrnam_r' to obtain gid from group name ({})", arg_gid), ErrorCodes::SYSTEM_ERROR); - - if (!result) - throw Exception("Group {} is not found in the system", ErrorCodes::BAD_ARGUMENTS); - - gid = entry.gr_gid; - } - - if (gid == 0 && getgid() != 0) - throw Exception("Group has id 0, but dropping privileges to gid 0 does not make sense", ErrorCodes::BAD_ARGUMENTS); - - if (0 != setgid(gid)) - throwFromErrno(fmt::format("Cannot do 'setgid' to user ({})", arg_gid), ErrorCodes::SYSTEM_ERROR); - } - - if (!arg_uid.empty()) - { - /// Is it numeric id or name? - uid_t uid = 0; - if (!tryParse(uid, arg_uid) || uid == 0) - { - passwd entry{}; - passwd * result{}; - - if (0 != getpwnam_r(arg_uid.data(), &entry, buf.get(), buf_size, &result)) - throwFromErrno(fmt::format("Cannot do 'getpwnam_r' to obtain uid from user name ({})", arg_uid), ErrorCodes::SYSTEM_ERROR); - - if (!result) - throw Exception("User {} is not found in the system", ErrorCodes::BAD_ARGUMENTS); - - uid = entry.pw_uid; - } - - if (uid == 0 && getuid() != 0) - throw Exception("User has id 0, but dropping privileges to uid 0 does not make sense", ErrorCodes::BAD_ARGUMENTS); - - if (0 != setuid(uid)) - throwFromErrno(fmt::format("Cannot do 'setuid' to user ({})", arg_uid), ErrorCodes::SYSTEM_ERROR); - } -} - -} - - -int mainEntryClickHouseSU(int argc, char ** argv) -try -{ - using namespace DB; - - if (argc < 3) - { - std::cout << "Usage: ./clickhouse su user:group ..." << std::endl; - exit(0); - } - - std::string_view user_and_group = argv[1]; - - std::string user; - std::string group; - - auto pos = user_and_group.find(':'); - if (pos == std::string_view::npos) - { - user = user_and_group; - } - else - { - user = user_and_group.substr(0, pos); - group = user_and_group.substr(pos + 1); - } - - setUserAndGroup(std::move(user), std::move(group)); - - std::vector new_argv; - new_argv.reserve(argc - 1); - new_argv.insert(new_argv.begin(), argv + 2, argv + argc); - new_argv.push_back(nullptr); - - execvp(new_argv.front(), new_argv.data()); - - throwFromErrno("Cannot execvp", ErrorCodes::SYSTEM_ERROR); -} -catch (...) -{ - std::cerr << DB::getCurrentExceptionMessage(false) << '\n'; - return 1; -} +int mainEntryClickHouseSU(int argc, char ** argv); +int main(int argc_, char ** argv_) { return mainEntryClickHouseSU(argc_, argv_); } diff --git a/programs/su/su.cpp b/programs/su/su.cpp new file mode 100644 index 00000000000..0979abf353d --- /dev/null +++ b/programs/su/su.cpp @@ -0,0 +1,145 @@ +#include +#include +#include +#include + +#include +#include +#include +#include + + +/// "su" means "set user" +/// In fact, this program can set Unix user and group. +/// +/// Usage: +/// clickhouse su user[:group] args... +/// +/// - will set user and, optionally, group and exec the remaining args. +/// user and group can be numeric identifiers or strings. +/// +/// The motivation for this tool is very obscure and idiosyncratic. It is needed for Docker. +/// People want to run programs inside Docker with dropped privileges (less than root). +/// But the standard Linux "su" program is not suitable for usage inside Docker, +/// because it is creating pseudoterminals to avoid hijacking input from the terminal, for security, +/// but Docker is also doing something with the terminal and it is incompatible. +/// For this reason, people use alternative and less "secure" versions of "su" tools like "gosu" or "su-exec". +/// But it would be very strange to use 3rd-party software only to do two-three syscalls. +/// That's why we provide this tool. +/// +/// Note: ClickHouse does not need Docker at all and works better without Docker. +/// ClickHouse has no dependencies, it is packaged and distributed in single binary. +/// There is no reason to use Docker unless you are already running all your software in Docker. + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int BAD_ARGUMENTS; + extern const int SYSTEM_ERROR; +} + +void setUserAndGroup(std::string arg_uid, std::string arg_gid) +{ + static constexpr size_t buf_size = 16384; /// Linux man page says it is enough. Nevertheless, we will check if it's not enough and throw. + std::unique_ptr buf(new char[buf_size]); + + /// Set the group first, because if we set user, the privileges will be already dropped and we will not be able to set the group later. + + if (!arg_gid.empty()) + { + gid_t gid = 0; + if (!tryParse(gid, arg_gid) || gid == 0) + { + group entry{}; + group * result{}; + + if (0 != getgrnam_r(arg_gid.data(), &entry, buf.get(), buf_size, &result)) + throwFromErrno(fmt::format("Cannot do 'getgrnam_r' to obtain gid from group name ({})", arg_gid), ErrorCodes::SYSTEM_ERROR); + + if (!result) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "Group {} is not found in the system", arg_gid); + + gid = entry.gr_gid; + } + + if (gid == 0 && getgid() != 0) + throw Exception("Group has id 0, but dropping privileges to gid 0 does not make sense", ErrorCodes::BAD_ARGUMENTS); + + if (0 != setgid(gid)) + throwFromErrno(fmt::format("Cannot do 'setgid' to user ({})", arg_gid), ErrorCodes::SYSTEM_ERROR); + } + + if (!arg_uid.empty()) + { + /// Is it numeric id or name? + uid_t uid = 0; + if (!tryParse(uid, arg_uid) || uid == 0) + { + passwd entry{}; + passwd * result{}; + + if (0 != getpwnam_r(arg_uid.data(), &entry, buf.get(), buf_size, &result)) + throwFromErrno(fmt::format("Cannot do 'getpwnam_r' to obtain uid from user name ({})", arg_uid), ErrorCodes::SYSTEM_ERROR); + + if (!result) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "User {} is not found in the system", arg_uid); + + uid = entry.pw_uid; + } + + if (uid == 0 && getuid() != 0) + throw Exception("User has id 0, but dropping privileges to uid 0 does not make sense", ErrorCodes::BAD_ARGUMENTS); + + if (0 != setuid(uid)) + throwFromErrno(fmt::format("Cannot do 'setuid' to user ({})", arg_uid), ErrorCodes::SYSTEM_ERROR); + } +} + +} + + +int mainEntryClickHouseSU(int argc, char ** argv) +try +{ + using namespace DB; + + if (argc < 3) + { + std::cout << "Usage: ./clickhouse su user:group ..." << std::endl; + exit(0); + } + + std::string_view user_and_group = argv[1]; + + std::string user; + std::string group; + + auto pos = user_and_group.find(':'); + if (pos == std::string_view::npos) + { + user = user_and_group; + } + else + { + user = user_and_group.substr(0, pos); + group = user_and_group.substr(pos + 1); + } + + setUserAndGroup(std::move(user), std::move(group)); + + std::vector new_argv; + new_argv.reserve(argc - 1); + new_argv.insert(new_argv.begin(), argv + 2, argv + argc); + new_argv.push_back(nullptr); + + execvp(new_argv.front(), new_argv.data()); + + throwFromErrno("Cannot execvp", ErrorCodes::SYSTEM_ERROR); +} +catch (...) +{ + std::cerr << DB::getCurrentExceptionMessage(false) << '\n'; + return 1; +} diff --git a/src/Access/AccessBackup.cpp b/src/Access/AccessBackup.cpp new file mode 100644 index 00000000000..d521c0a49be --- /dev/null +++ b/src/Access/AccessBackup.cpp @@ -0,0 +1,373 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int CANNOT_RESTORE_TABLE; + extern const int LOGICAL_ERROR; +} + + +namespace +{ + /// Represents a list of access entities as they're stored in a backup. + struct AccessEntitiesInBackup + { + std::unordered_map entities; + std::unordered_map> dependencies; + + BackupEntryPtr toBackupEntry() const + { + WriteBufferFromOwnString buf; + + for (const auto & [id, entity] : entities) + { + writeText(id, buf); + writeChar('\t', buf); + writeText(entity->getTypeInfo().name, buf); + writeChar('\t', buf); + writeText(entity->getName(), buf); + writeChar('\n', buf); + writeText(serializeAccessEntity(*entity), buf); + writeChar('\n', buf); + } + + if (!dependencies.empty()) + { + writeText("DEPENDENCIES\n", buf); + for (const auto & [id, name_and_type] : dependencies) + { + writeText(id, buf); + writeChar('\t', buf); + writeText(AccessEntityTypeInfo::get(name_and_type.second).name, buf); + writeChar('\t', buf); + writeText(name_and_type.first, buf); + writeChar('\n', buf); + } + } + + return std::make_shared(buf.str()); + } + + static AccessEntitiesInBackup fromBackupEntry(const IBackupEntry & backup_entry, const String & file_path) + { + try + { + AccessEntitiesInBackup res; + std::unique_ptr buf = backup_entry.getReadBuffer(); + + bool dependencies_found = false; + + while (!buf->eof()) + { + String line; + readStringUntilNewlineInto(line, *buf); + buf->ignore(); + if (line == "DEPENDENCIES") + { + dependencies_found = true; + break; + } + + size_t id_endpos = line.find('\t'); + String id_as_string = line.substr(0, id_endpos); + UUID id = parse(line); + line.clear(); + + String queries; + while (!buf->eof()) + { + String query; + readStringUntilNewlineInto(query, *buf); + buf->ignore(); + if (query.empty()) + break; + if (!queries.empty()) + queries.append("\n"); + queries.append(query); + } + + AccessEntityPtr entity = deserializeAccessEntity(queries); + res.entities.emplace(id, entity); + } + + if (dependencies_found) + { + while (!buf->eof()) + { + String id_as_string; + readStringInto(id_as_string, *buf); + buf->ignore(); + UUID id = parse(id_as_string); + + String type_as_string; + readStringInto(type_as_string, *buf); + buf->ignore(); + AccessEntityType type = AccessEntityTypeInfo::parseType(type_as_string); + + String name; + readStringInto(name, *buf); + buf->ignore(); + + if (!res.entities.contains(id)) + res.dependencies.emplace(id, std::pair{name, type}); + } + } + + return res; + } + catch (Exception & e) + { + e.addMessage("While parsing " + file_path + " from backup"); + throw; + } + } + }; + + std::vector findDependencies(const std::vector> & entities) + { + std::vector res; + for (const auto & entity : entities | boost::adaptors::map_values) + insertAtEnd(res, entity->findDependencies()); + + /// Remove duplicates in the list of dependencies (some entities can refer to other entities). + ::sort(res.begin(), res.end()); + res.erase(std::unique(res.begin(), res.end()), res.end()); + for (const auto & id : entities | boost::adaptors::map_keys) + { + auto it = std::lower_bound(res.begin(), res.end(), id); + if ((it != res.end()) && (*it == id)) + res.erase(it); + } + return res; + } + + std::unordered_map> readDependenciesNamesAndTypes(const std::vector & dependencies, const AccessControl & access_control) + { + std::unordered_map> res; + for (const auto & id : dependencies) + { + if (auto name_and_type = access_control.tryReadNameWithType(id)) + res.emplace(id, name_and_type.value()); + } + return res; + } + + std::unordered_map resolveDependencies(const std::unordered_map> & dependencies, const AccessControl & access_control, bool allow_unresolved_dependencies) + { + std::unordered_map old_to_new_ids; + for (const auto & [id, name_and_type] : dependencies) + { + std::optional new_id; + if (allow_unresolved_dependencies) + new_id = access_control.find(name_and_type.second, name_and_type.first); + else + new_id = access_control.getID(name_and_type.second, name_and_type.first); + if (new_id) + old_to_new_ids.emplace(id, *new_id); + } + return old_to_new_ids; + } + + void generateRandomIDs(std::vector> & entities, std::unordered_map & old_to_new_ids) + { + Poco::UUIDGenerator generator; + for (auto & [id, entity] : entities) + { + UUID new_id; + generator.createRandom().copyTo(reinterpret_cast(&new_id)); + old_to_new_ids.emplace(id, new_id); + id = new_id; + } + } + + void replaceDependencies(std::vector> & entities, const std::unordered_map & old_to_new_ids) + { + for (auto & entity : entities | boost::adaptors::map_values) + { + bool need_replace = false; + for (const auto & dependency : entity->findDependencies()) + { + if (old_to_new_ids.contains(dependency)) + { + need_replace = true; + break; + } + } + + if (!need_replace) + continue; + + auto new_entity = entity->clone(); + new_entity->replaceDependencies(old_to_new_ids); + entity = new_entity; + } + } + + AccessRightsElements getRequiredAccessToRestore(const std::vector> & entities) + { + AccessRightsElements res; + for (const auto & entity : entities | boost::adaptors::map_values) + { + auto entity_type = entity->getType(); + switch (entity_type) + { + case User::TYPE: + { + const auto & user = typeid_cast(*entity); + res.emplace_back(AccessType::CREATE_USER); + auto elements = user.access.getElements(); + for (auto & element : elements) + { + if (element.is_partial_revoke) + continue; + element.grant_option = true; + res.emplace_back(element); + } + if (!user.granted_roles.isEmpty()) + res.emplace_back(AccessType::ROLE_ADMIN); + break; + } + + case Role::TYPE: + { + const auto & role = typeid_cast(*entity); + res.emplace_back(AccessType::CREATE_ROLE); + auto elements = role.access.getElements(); + for (auto & element : elements) + { + if (element.is_partial_revoke) + continue; + element.grant_option = true; + res.emplace_back(element); + } + if (!role.granted_roles.isEmpty()) + res.emplace_back(AccessType::ROLE_ADMIN); + break; + } + + case SettingsProfile::TYPE: + { + res.emplace_back(AccessType::CREATE_SETTINGS_PROFILE); + break; + } + + case RowPolicy::TYPE: + { + const auto & policy = typeid_cast(*entity); + res.emplace_back(AccessType::CREATE_ROW_POLICY, policy.getDatabase(), policy.getTableName()); + break; + } + + case Quota::TYPE: + { + res.emplace_back(AccessType::CREATE_QUOTA); + break; + } + + default: + throw Exception("Unknown type: " + toString(entity_type), ErrorCodes::LOGICAL_ERROR); + } + } + return res; + } +} + + +std::pair makeBackupEntryForAccess( + const std::vector> access_entities, + const String & data_path_in_backup, + size_t counter, + const AccessControl & access_control) +{ + auto dependencies = readDependenciesNamesAndTypes(findDependencies(access_entities), access_control); + AccessEntitiesInBackup ab; + boost::range::copy(access_entities, std::inserter(ab.entities, ab.entities.end())); + ab.dependencies = std::move(dependencies); + String filename = fmt::format("access{:02}.txt", counter + 1); /// access01.txt, access02.txt, ... + String file_path_in_backup = fs::path{data_path_in_backup} / filename; + return {file_path_in_backup, ab.toBackupEntry()}; +} + + +AccessRestorerFromBackup::AccessRestorerFromBackup( + const BackupPtr & backup_, const RestoreSettings & restore_settings_) + : backup(backup_), allow_unresolved_access_dependencies(restore_settings_.allow_unresolved_access_dependencies) +{ +} + +AccessRestorerFromBackup::~AccessRestorerFromBackup() = default; + +void AccessRestorerFromBackup::addDataPath(const String & data_path) +{ + if (!data_paths.emplace(data_path).second) + return; + + fs::path data_path_in_backup_fs = data_path; + Strings filenames = backup->listFiles(data_path); + if (filenames.empty()) + return; + + for (const String & filename : filenames) + { + if (!filename.starts_with("access") || !filename.ends_with(".txt")) + throw Exception(ErrorCodes::CANNOT_RESTORE_TABLE, "File name {} doesn't match the wildcard \"access*.txt\"", + String{data_path_in_backup_fs / filename}); + } + + ::sort(filenames.begin(), filenames.end()); + + for (const String & filename : filenames) + { + String filepath_in_backup = data_path_in_backup_fs / filename; + auto backup_entry = backup->readFile(filepath_in_backup); + auto ab = AccessEntitiesInBackup::fromBackupEntry(*backup_entry, filepath_in_backup); + + boost::range::copy(ab.entities, std::back_inserter(entities)); + boost::range::copy(ab.dependencies, std::inserter(dependencies, dependencies.end())); + } + + for (const auto & id : entities | boost::adaptors::map_keys) + dependencies.erase(id); +} + +AccessRightsElements AccessRestorerFromBackup::getRequiredAccess() const +{ + return getRequiredAccessToRestore(entities); +} + +std::vector> AccessRestorerFromBackup::getAccessEntities(const AccessControl & access_control) const +{ + auto new_entities = entities; + + auto old_to_new_ids = resolveDependencies(dependencies, access_control, allow_unresolved_access_dependencies); + generateRandomIDs(new_entities, old_to_new_ids); + replaceDependencies(new_entities, old_to_new_ids); + + return new_entities; +} + +} diff --git a/src/Access/AccessBackup.h b/src/Access/AccessBackup.h new file mode 100644 index 00000000000..99f22b6c6a8 --- /dev/null +++ b/src/Access/AccessBackup.h @@ -0,0 +1,54 @@ +#pragma once + +#include +#include +#include + + +namespace DB +{ +class AccessControl; +enum class AccessEntityType; +struct IAccessEntity; +using AccessEntityPtr = std::shared_ptr; +class AccessRightsElements; +class IBackup; +using BackupPtr = std::shared_ptr; +class IBackupEntry; +using BackupEntryPtr = std::shared_ptr; +struct RestoreSettings; + + +/// Makes a backup of access entities of a specified type. +std::pair makeBackupEntryForAccess( + const std::vector> access_entities, + const String & data_path_in_backup, + size_t counter, + const AccessControl & access_control); + + +/// Restores access entities from a backup. +class AccessRestorerFromBackup +{ +public: + AccessRestorerFromBackup(const BackupPtr & backup_, const RestoreSettings & restore_settings_); + ~AccessRestorerFromBackup(); + + /// Adds a data path to loads access entities from. + void addDataPath(const String & data_path); + + /// Checks that the current user can do restoring. + AccessRightsElements getRequiredAccess() const; + + /// Inserts all access entities loaded from all the paths added by addDataPath(). + std::vector> getAccessEntities(const AccessControl & access_control) const; + +private: + BackupPtr backup; + bool allow_unresolved_access_dependencies = false; + std::vector> entities; + std::unordered_map> dependencies; + std::unordered_set data_paths; +}; + +} diff --git a/src/Access/AccessControl.cpp b/src/Access/AccessControl.cpp index 5cf283ba803..c6729459988 100644 --- a/src/Access/AccessControl.cpp +++ b/src/Access/AccessControl.cpp @@ -15,7 +15,11 @@ #include #include #include +#include +#include +#include #include +#include #include #include #include @@ -70,7 +74,7 @@ public: auto x = cache.get(params); if (x) { - if ((*x)->getUser()) + if ((*x)->tryGetUser()) return *x; /// No user, probably the user has been dropped while it was in the cache. cache.remove(params); @@ -97,7 +101,7 @@ public: registered_prefixes = prefixes_; } - bool isSettingNameAllowed(const std::string_view & setting_name) const + bool isSettingNameAllowed(std::string_view setting_name) const { if (Settings::hasBuiltin(setting_name)) return true; @@ -112,7 +116,7 @@ public: return false; } - void checkSettingNameIsAllowed(const std::string_view & setting_name) const + void checkSettingNameIsAllowed(std::string_view setting_name) const { if (isSettingNameAllowed(setting_name)) return; @@ -130,7 +134,7 @@ public: } private: - Strings registered_prefixes; + Strings registered_prefixes TSA_GUARDED_BY(mutex); mutable std::mutex mutex; }; @@ -161,13 +165,12 @@ void AccessControl::setUpFromMainConfig(const Poco::Util::AbstractConfiguration setNoPasswordAllowed(config_.getBool("allow_no_password", true)); setPlaintextPasswordAllowed(config_.getBool("allow_plaintext_password", true)); - setEnabledUsersWithoutRowPoliciesCanReadRows(config_.getBool( - "access_control_improvements.users_without_row_policies_can_read_rows", - false /* false because we need to be compatible with earlier access configurations */)); - - setOnClusterQueriesRequireClusterGrant(config_.getBool( - "access_control_improvements.on_cluster_queries_require_cluster_grant", - false /* false because we need to be compatible with earlier access configurations */)); + /// Optional improvements in access control system. + /// The default values are false because we need to be compatible with earlier access configurations + setEnabledUsersWithoutRowPoliciesCanReadRows(config_.getBool("access_control_improvements.users_without_row_policies_can_read_rows", false)); + setOnClusterQueriesRequireClusterGrant(config_.getBool("access_control_improvements.on_cluster_queries_require_cluster_grant", false)); + setSelectFromSystemDatabaseRequiresGrant(config_.getBool("access_control_improvements.select_from_system_db_requires_grant", false)); + setSelectFromInformationSchemaRequiresGrant(config_.getBool("access_control_improvements.select_from_information_schema_requires_grant", false)); addStoragesFromMainConfig(config_, config_path_, get_zookeeper_function_); } @@ -184,39 +187,25 @@ void AccessControl::setUsersConfig(const Poco::Util::AbstractConfiguration & use return; } } - addUsersConfigStorage(users_config_); + addUsersConfigStorage(UsersConfigAccessStorage::STORAGE_TYPE, users_config_, false); } -void AccessControl::addUsersConfigStorage(const Poco::Util::AbstractConfiguration & users_config_) +void AccessControl::addUsersConfigStorage(const String & storage_name_, const Poco::Util::AbstractConfiguration & users_config_, bool allow_backup_) { - addUsersConfigStorage(UsersConfigAccessStorage::STORAGE_TYPE, users_config_); -} - -void AccessControl::addUsersConfigStorage(const String & storage_name_, const Poco::Util::AbstractConfiguration & users_config_) -{ - auto new_storage = std::make_shared(storage_name_, *this); + auto new_storage = std::make_shared(storage_name_, *this, allow_backup_); new_storage->setConfig(users_config_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}', path: {}", String(new_storage->getStorageType()), new_storage->getStorageName(), new_storage->getPath()); } -void AccessControl::addUsersConfigStorage( - const String & users_config_path_, - const String & include_from_path_, - const String & preprocessed_dir_, - const zkutil::GetZooKeeper & get_zookeeper_function_) -{ - addUsersConfigStorage( - UsersConfigAccessStorage::STORAGE_TYPE, users_config_path_, include_from_path_, preprocessed_dir_, get_zookeeper_function_); -} - void AccessControl::addUsersConfigStorage( const String & storage_name_, const String & users_config_path_, const String & include_from_path_, const String & preprocessed_dir_, - const zkutil::GetZooKeeper & get_zookeeper_function_) + const zkutil::GetZooKeeper & get_zookeeper_function_, + bool allow_backup_) { auto storages = getStoragesPtr(); for (const auto & storage : *storages) @@ -227,7 +216,7 @@ void AccessControl::addUsersConfigStorage( return; } } - auto new_storage = std::make_shared(storage_name_, *this); + auto new_storage = std::make_shared(storage_name_, *this, allow_backup_); new_storage->load(users_config_path_, include_from_path_, preprocessed_dir_, get_zookeeper_function_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}', path: {}", String(new_storage->getStorageType()), new_storage->getStorageName(), new_storage->getPath()); @@ -237,7 +226,8 @@ void AccessControl::addUsersConfigStorage( void AccessControl::addReplicatedStorage( const String & storage_name_, const String & zookeeper_path_, - const zkutil::GetZooKeeper & get_zookeeper_function_) + const zkutil::GetZooKeeper & get_zookeeper_function_, + bool allow_backup_) { auto storages = getStoragesPtr(); for (const auto & storage : *storages) @@ -245,17 +235,12 @@ void AccessControl::addReplicatedStorage( if (auto replicated_storage = typeid_cast>(storage)) return; } - auto new_storage = std::make_shared(storage_name_, zookeeper_path_, get_zookeeper_function_, *changes_notifier); + auto new_storage = std::make_shared(storage_name_, zookeeper_path_, get_zookeeper_function_, *changes_notifier, allow_backup_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}'", String(new_storage->getStorageType()), new_storage->getStorageName()); } -void AccessControl::addDiskStorage(const String & directory_, bool readonly_) -{ - addDiskStorage(DiskAccessStorage::STORAGE_TYPE, directory_, readonly_); -} - -void AccessControl::addDiskStorage(const String & storage_name_, const String & directory_, bool readonly_) +void AccessControl::addDiskStorage(const String & storage_name_, const String & directory_, bool readonly_, bool allow_backup_) { auto storages = getStoragesPtr(); for (const auto & storage : *storages) @@ -270,13 +255,13 @@ void AccessControl::addDiskStorage(const String & storage_name_, const String & } } } - auto new_storage = std::make_shared(storage_name_, directory_, readonly_, *changes_notifier); + auto new_storage = std::make_shared(storage_name_, directory_, *changes_notifier, readonly_, allow_backup_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}', path: {}", String(new_storage->getStorageType()), new_storage->getStorageName(), new_storage->getPath()); } -void AccessControl::addMemoryStorage(const String & storage_name_) +void AccessControl::addMemoryStorage(const String & storage_name_, bool allow_backup_) { auto storages = getStoragesPtr(); for (const auto & storage : *storages) @@ -284,7 +269,7 @@ void AccessControl::addMemoryStorage(const String & storage_name_) if (auto memory_storage = typeid_cast>(storage)) return; } - auto new_storage = std::make_shared(storage_name_, *changes_notifier); + auto new_storage = std::make_shared(storage_name_, *changes_notifier, allow_backup_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}'", String(new_storage->getStorageType()), new_storage->getStorageName()); } @@ -327,20 +312,23 @@ void AccessControl::addStoragesFromUserDirectoriesConfig( if (type == MemoryAccessStorage::STORAGE_TYPE) { - addMemoryStorage(name); + bool allow_backup = config.getBool(prefix + ".allow_backup", true); + addMemoryStorage(name, allow_backup); } else if (type == UsersConfigAccessStorage::STORAGE_TYPE) { String path = config.getString(prefix + ".path"); if (std::filesystem::path{path}.is_relative() && std::filesystem::exists(config_dir + path)) path = config_dir + path; - addUsersConfigStorage(name, path, include_from_path, dbms_dir, get_zookeeper_function); + bool allow_backup = config.getBool(prefix + ".allow_backup", false); /// We don't backup users.xml by default. + addUsersConfigStorage(name, path, include_from_path, dbms_dir, get_zookeeper_function, allow_backup); } else if (type == DiskAccessStorage::STORAGE_TYPE) { String path = config.getString(prefix + ".path"); bool readonly = config.getBool(prefix + ".readonly", false); - addDiskStorage(name, path, readonly); + bool allow_backup = config.getBool(prefix + ".allow_backup", true); + addDiskStorage(name, path, readonly, allow_backup); } else if (type == LDAPAccessStorage::STORAGE_TYPE) { @@ -349,7 +337,8 @@ void AccessControl::addStoragesFromUserDirectoriesConfig( else if (type == ReplicatedAccessStorage::STORAGE_TYPE) { String zookeeper_path = config.getString(prefix + ".zookeeper_path"); - addReplicatedStorage(name, zookeeper_path, get_zookeeper_function); + bool allow_backup = config.getBool(prefix + ".allow_backup", true); + addReplicatedStorage(name, zookeeper_path, get_zookeeper_function, allow_backup); } else throw Exception("Unknown storage type '" + type + "' at " + prefix + " in config", ErrorCodes::UNKNOWN_ELEMENT_IN_CONFIG); @@ -383,12 +372,18 @@ void AccessControl::addStoragesFromMainConfig( if (users_config_path != config_path) checkForUsersNotInMainConfig(config, config_path, users_config_path, getLogger()); - addUsersConfigStorage(users_config_path, include_from_path, dbms_dir, get_zookeeper_function); + addUsersConfigStorage( + UsersConfigAccessStorage::STORAGE_TYPE, + users_config_path, + include_from_path, + dbms_dir, + get_zookeeper_function, + /* allow_backup= */ false); } String disk_storage_dir = config.getString("access_control_path", ""); if (!disk_storage_dir.empty()) - addDiskStorage(disk_storage_dir); + addDiskStorage(DiskAccessStorage::STORAGE_TYPE, disk_storage_dir, /* readonly= */ false, /* allow_backup= */ true); if (has_user_directories) addStoragesFromUserDirectoriesConfig(config, "user_directories", config_dir, dbms_dir, include_from_path, get_zookeeper_function); @@ -463,6 +458,12 @@ UUID AccessControl::authenticate(const Credentials & credentials, const Poco::Ne } } +void AccessControl::restoreFromBackup(RestorerFromBackup & restorer) +{ + MultipleAccessStorage::restoreFromBackup(restorer); + changes_notifier->sendNotifications(); +} + void AccessControl::setExternalAuthenticatorsConfig(const Poco::Util::AbstractConfiguration & config) { external_authenticators->setConfiguration(config, getLogger()); diff --git a/src/Access/AccessControl.h b/src/Access/AccessControl.h index cbc71241316..ab9cdba9ad1 100644 --- a/src/Access/AccessControl.h +++ b/src/Access/AccessControl.h @@ -60,37 +60,31 @@ public: void setUsersConfig(const Poco::Util::AbstractConfiguration & users_config_); /// Adds UsersConfigAccessStorage. - void addUsersConfigStorage(const Poco::Util::AbstractConfiguration & users_config_); - void addUsersConfigStorage(const String & storage_name_, - const Poco::Util::AbstractConfiguration & users_config_); - - void addUsersConfigStorage(const String & users_config_path_, - const String & include_from_path_, - const String & preprocessed_dir_, - const zkutil::GetZooKeeper & get_zookeeper_function_ = {}); + const Poco::Util::AbstractConfiguration & users_config_, + bool allow_backup_); void addUsersConfigStorage(const String & storage_name_, const String & users_config_path_, const String & include_from_path_, const String & preprocessed_dir_, - const zkutil::GetZooKeeper & get_zookeeper_function_ = {}); + const zkutil::GetZooKeeper & get_zookeeper_function_, + bool allow_backup_); /// Loads access entities from the directory on the local disk. /// Use that directory to keep created users/roles/etc. - void addDiskStorage(const String & directory_, bool readonly_ = false); - void addDiskStorage(const String & storage_name_, const String & directory_, bool readonly_ = false); + void addDiskStorage(const String & storage_name_, const String & directory_, bool readonly_, bool allow_backup_); /// Adds MemoryAccessStorage which keeps access entities in memory. - void addMemoryStorage(); - void addMemoryStorage(const String & storage_name_); + void addMemoryStorage(const String & storage_name_, bool allow_backup_); /// Adds LDAPAccessStorage which allows querying remote LDAP server for user info. void addLDAPStorage(const String & storage_name_, const Poco::Util::AbstractConfiguration & config_, const String & prefix_); void addReplicatedStorage(const String & storage_name, const String & zookeeper_path, - const zkutil::GetZooKeeper & get_zookeeper_function); + const zkutil::GetZooKeeper & get_zookeeper_function, + bool allow_backup); /// Adds storages from config. void addStoragesFromUserDirectoriesConfig(const Poco::Util::AbstractConfiguration & config, @@ -123,6 +117,10 @@ public: scope_guard subscribeForChanges(const std::vector & ids, const OnChangedHandler & handler) const; UUID authenticate(const Credentials & credentials, const Poco::Net::IPAddress & address) const; + + /// Makes a backup of access entities. + void restoreFromBackup(RestorerFromBackup & restorer) override; + void setExternalAuthenticatorsConfig(const Poco::Util::AbstractConfiguration & config); /// Sets the default profile's name. @@ -154,6 +152,12 @@ public: void setOnClusterQueriesRequireClusterGrant(bool enable) { on_cluster_queries_require_cluster_grant = enable; } bool doesOnClusterQueriesRequireClusterGrant() const { return on_cluster_queries_require_cluster_grant; } + void setSelectFromSystemDatabaseRequiresGrant(bool enable) { select_from_system_db_requires_grant = enable; } + bool doesSelectFromSystemDatabaseRequireGrant() const { return select_from_system_db_requires_grant; } + + void setSelectFromInformationSchemaRequiresGrant(bool enable) { select_from_information_schema_requires_grant = enable; } + bool doesSelectFromInformationSchemaRequireGrant() const { return select_from_information_schema_requires_grant; } + std::shared_ptr getContextAccess( const UUID & user_id, const std::vector & current_roles, @@ -217,6 +221,8 @@ private: std::atomic_bool allow_no_password = true; std::atomic_bool users_without_row_policies_can_read_rows = false; std::atomic_bool on_cluster_queries_require_cluster_grant = false; + std::atomic_bool select_from_system_db_requires_grant = false; + std::atomic_bool select_from_information_schema_requires_grant = false; }; } diff --git a/src/Access/AccessRights.cpp b/src/Access/AccessRights.cpp index c3598df048b..20afc916901 100644 --- a/src/Access/AccessRights.cpp +++ b/src/Access/AccessRights.cpp @@ -252,7 +252,7 @@ public: } template - void grant(const AccessFlags & flags_, const std::string_view & name, const Args &... subnames) + void grant(const AccessFlags & flags_, std::string_view name, const Args &... subnames) { auto & child = getChild(name); child.grant(flags_, subnames...); @@ -279,7 +279,7 @@ public: } template - void revoke(const AccessFlags & flags_, const std::string_view & name, const Args &... subnames) + void revoke(const AccessFlags & flags_, std::string_view name, const Args &... subnames) { auto & child = getChild(name); @@ -306,7 +306,7 @@ public: } template - bool isGranted(const AccessFlags & flags_, const std::string_view & name, const Args &... subnames) const + bool isGranted(const AccessFlags & flags_, std::string_view name, const Args &... subnames) const { AccessFlags flags_to_check = flags_ - min_flags_with_children; if (!flags_to_check) @@ -388,11 +388,11 @@ public: return res; } - void modifyFlags(const ModifyFlagsFunction & function, bool & flags_added, bool & flags_removed) + void modifyFlags(const ModifyFlagsFunction & function, bool grant_option, bool & flags_added, bool & flags_removed) { flags_added = false; flags_removed = false; - modifyFlagsRec(function, flags_added, flags_removed); + modifyFlagsRec(function, grant_option, flags_added, flags_removed); if (flags_added || flags_removed) optimizeTree(); } @@ -415,7 +415,7 @@ private: AccessFlags getAllGrantableFlags() const { return ::DB::getAllGrantableFlags(level); } AccessFlags getChildAllGrantableFlags() const { return ::DB::getAllGrantableFlags(static_cast(level + 1)); } - Node * tryGetChild(const std::string_view & name) const + Node * tryGetChild(std::string_view name) const { if (!children) return nullptr; @@ -425,7 +425,7 @@ private: return &it->second; } - Node & getChild(const std::string_view & name) + Node & getChild(std::string_view name) { auto * child = tryGetChild(name); if (child) @@ -669,11 +669,11 @@ private: } template - void modifyFlagsRec(const ModifyFlagsFunction & function, bool & flags_added, bool & flags_removed, const ParentNames & ... parent_names) + void modifyFlagsRec(const ModifyFlagsFunction & function, bool grant_option, bool & flags_added, bool & flags_removed, const ParentNames & ... parent_names) { - auto invoke = [&function](const AccessFlags & flags_, const AccessFlags & min_flags_with_children_, const AccessFlags & max_flags_with_children_, std::string_view database_ = {}, std::string_view table_ = {}, std::string_view column_ = {}) -> AccessFlags + auto invoke = [function, grant_option](const AccessFlags & flags_, const AccessFlags & min_flags_with_children_, const AccessFlags & max_flags_with_children_, std::string_view database_ = {}, std::string_view table_ = {}, std::string_view column_ = {}) -> AccessFlags { - return function(flags_, min_flags_with_children_, max_flags_with_children_, database_, table_, column_); + return function(flags_, min_flags_with_children_, max_flags_with_children_, database_, table_, column_, grant_option); }; if constexpr (sizeof...(ParentNames) < 3) @@ -683,7 +683,7 @@ private: for (auto & child : *children | boost::adaptors::map_values) { const String & child_name = *child.node_name; - child.modifyFlagsRec(function, flags_added, flags_removed, parent_names..., child_name); + child.modifyFlagsRec(function, grant_option, flags_added, flags_removed, parent_names..., child_name); } } } @@ -736,6 +736,18 @@ AccessRights::AccessRights(const AccessFlags & access) } +AccessRights::AccessRights(const AccessRightsElement & element) +{ + grant(element); +} + + +AccessRights::AccessRights(const AccessRightsElements & elements) +{ + grant(elements); +} + + bool AccessRights::isEmpty() const { return !root && !root_with_grant_option; @@ -807,20 +819,20 @@ void AccessRights::grantImpl(const AccessRightsElements & elements) } void AccessRights::grant(const AccessFlags & flags) { grantImpl(flags); } -void AccessRights::grant(const AccessFlags & flags, const std::string_view & database) { grantImpl(flags, database); } -void AccessRights::grant(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) { grantImpl(flags, database, table); } -void AccessRights::grant(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) { grantImpl(flags, database, table, column); } -void AccessRights::grant(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) { grantImpl(flags, database, table, columns); } -void AccessRights::grant(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) { grantImpl(flags, database, table, columns); } +void AccessRights::grant(const AccessFlags & flags, std::string_view database) { grantImpl(flags, database); } +void AccessRights::grant(const AccessFlags & flags, std::string_view database, std::string_view table) { grantImpl(flags, database, table); } +void AccessRights::grant(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) { grantImpl(flags, database, table, column); } +void AccessRights::grant(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) { grantImpl(flags, database, table, columns); } +void AccessRights::grant(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) { grantImpl(flags, database, table, columns); } void AccessRights::grant(const AccessRightsElement & element) { grantImpl(element); } void AccessRights::grant(const AccessRightsElements & elements) { grantImpl(elements); } void AccessRights::grantWithGrantOption(const AccessFlags & flags) { grantImpl(flags); } -void AccessRights::grantWithGrantOption(const AccessFlags & flags, const std::string_view & database) { grantImpl(flags, database); } -void AccessRights::grantWithGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) { grantImpl(flags, database, table); } -void AccessRights::grantWithGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) { grantImpl(flags, database, table, column); } -void AccessRights::grantWithGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) { grantImpl(flags, database, table, columns); } -void AccessRights::grantWithGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) { grantImpl(flags, database, table, columns); } +void AccessRights::grantWithGrantOption(const AccessFlags & flags, std::string_view database) { grantImpl(flags, database); } +void AccessRights::grantWithGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table) { grantImpl(flags, database, table); } +void AccessRights::grantWithGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) { grantImpl(flags, database, table, column); } +void AccessRights::grantWithGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) { grantImpl(flags, database, table, columns); } +void AccessRights::grantWithGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) { grantImpl(flags, database, table, columns); } void AccessRights::grantWithGrantOption(const AccessRightsElement & element) { grantImpl(element); } void AccessRights::grantWithGrantOption(const AccessRightsElements & elements) { grantImpl(elements); } @@ -880,20 +892,20 @@ void AccessRights::revokeImpl(const AccessRightsElements & elements) } void AccessRights::revoke(const AccessFlags & flags) { revokeImpl(flags); } -void AccessRights::revoke(const AccessFlags & flags, const std::string_view & database) { revokeImpl(flags, database); } -void AccessRights::revoke(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) { revokeImpl(flags, database, table); } -void AccessRights::revoke(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) { revokeImpl(flags, database, table, column); } -void AccessRights::revoke(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) { revokeImpl(flags, database, table, columns); } -void AccessRights::revoke(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) { revokeImpl(flags, database, table, columns); } +void AccessRights::revoke(const AccessFlags & flags, std::string_view database) { revokeImpl(flags, database); } +void AccessRights::revoke(const AccessFlags & flags, std::string_view database, std::string_view table) { revokeImpl(flags, database, table); } +void AccessRights::revoke(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) { revokeImpl(flags, database, table, column); } +void AccessRights::revoke(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) { revokeImpl(flags, database, table, columns); } +void AccessRights::revoke(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) { revokeImpl(flags, database, table, columns); } void AccessRights::revoke(const AccessRightsElement & element) { revokeImpl(element); } void AccessRights::revoke(const AccessRightsElements & elements) { revokeImpl(elements); } void AccessRights::revokeGrantOption(const AccessFlags & flags) { revokeImpl(flags); } -void AccessRights::revokeGrantOption(const AccessFlags & flags, const std::string_view & database) { revokeImpl(flags, database); } -void AccessRights::revokeGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) { revokeImpl(flags, database, table); } -void AccessRights::revokeGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) { revokeImpl(flags, database, table, column); } -void AccessRights::revokeGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) { revokeImpl(flags, database, table, columns); } -void AccessRights::revokeGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) { revokeImpl(flags, database, table, columns); } +void AccessRights::revokeGrantOption(const AccessFlags & flags, std::string_view database) { revokeImpl(flags, database); } +void AccessRights::revokeGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table) { revokeImpl(flags, database, table); } +void AccessRights::revokeGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) { revokeImpl(flags, database, table, column); } +void AccessRights::revokeGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) { revokeImpl(flags, database, table, columns); } +void AccessRights::revokeGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) { revokeImpl(flags, database, table, columns); } void AccessRights::revokeGrantOption(const AccessRightsElement & element) { revokeImpl(element); } void AccessRights::revokeGrantOption(const AccessRightsElements & elements) { revokeImpl(elements); } @@ -972,20 +984,20 @@ bool AccessRights::isGrantedImpl(const AccessRightsElements & elements) const } bool AccessRights::isGranted(const AccessFlags & flags) const { return isGrantedImpl(flags); } -bool AccessRights::isGranted(const AccessFlags & flags, const std::string_view & database) const { return isGrantedImpl(flags, database); } -bool AccessRights::isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const { return isGrantedImpl(flags, database, table); } -bool AccessRights::isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const { return isGrantedImpl(flags, database, table, column); } -bool AccessRights::isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const { return isGrantedImpl(flags, database, table, columns); } -bool AccessRights::isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const { return isGrantedImpl(flags, database, table, columns); } +bool AccessRights::isGranted(const AccessFlags & flags, std::string_view database) const { return isGrantedImpl(flags, database); } +bool AccessRights::isGranted(const AccessFlags & flags, std::string_view database, std::string_view table) const { return isGrantedImpl(flags, database, table); } +bool AccessRights::isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const { return isGrantedImpl(flags, database, table, column); } +bool AccessRights::isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const { return isGrantedImpl(flags, database, table, columns); } +bool AccessRights::isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const { return isGrantedImpl(flags, database, table, columns); } bool AccessRights::isGranted(const AccessRightsElement & element) const { return isGrantedImpl(element); } bool AccessRights::isGranted(const AccessRightsElements & elements) const { return isGrantedImpl(elements); } bool AccessRights::hasGrantOption(const AccessFlags & flags) const { return isGrantedImpl(flags); } -bool AccessRights::hasGrantOption(const AccessFlags & flags, const std::string_view & database) const { return isGrantedImpl(flags, database); } -bool AccessRights::hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const { return isGrantedImpl(flags, database, table); } -bool AccessRights::hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const { return isGrantedImpl(flags, database, table, column); } -bool AccessRights::hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const { return isGrantedImpl(flags, database, table, columns); } -bool AccessRights::hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const { return isGrantedImpl(flags, database, table, columns); } +bool AccessRights::hasGrantOption(const AccessFlags & flags, std::string_view database) const { return isGrantedImpl(flags, database); } +bool AccessRights::hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table) const { return isGrantedImpl(flags, database, table); } +bool AccessRights::hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const { return isGrantedImpl(flags, database, table, column); } +bool AccessRights::hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const { return isGrantedImpl(flags, database, table, columns); } +bool AccessRights::hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const { return isGrantedImpl(flags, database, table, columns); } bool AccessRights::hasGrantOption(const AccessRightsElement & element) const { return isGrantedImpl(element); } bool AccessRights::hasGrantOption(const AccessRightsElements & elements) const { return isGrantedImpl(elements); } @@ -1050,24 +1062,21 @@ void AccessRights::modifyFlags(const ModifyFlagsFunction & function) { if (!root) return; + bool flags_added, flags_removed; - root->modifyFlags(function, flags_added, flags_removed); + root->modifyFlags(function, false, flags_added, flags_removed); if (flags_removed && root_with_grant_option) root_with_grant_option->makeIntersection(*root); -} - -void AccessRights::modifyFlagsWithGrantOption(const ModifyFlagsFunction & function) -{ - if (!root_with_grant_option) - return; - bool flags_added, flags_removed; - root_with_grant_option->modifyFlags(function, flags_added, flags_removed); - if (flags_added) + if (root_with_grant_option) { - if (!root) - root = std::make_unique(); - root->makeUnion(*root_with_grant_option); + root_with_grant_option->modifyFlags(function, true, flags_added, flags_removed); + if (flags_added) + { + if (!root) + root = std::make_unique(); + root->makeUnion(*root_with_grant_option); + } } } diff --git a/src/Access/AccessRights.h b/src/Access/AccessRights.h index ef5995ad9a5..5efffc0037a 100644 --- a/src/Access/AccessRights.h +++ b/src/Access/AccessRights.h @@ -16,6 +16,9 @@ class AccessRights public: AccessRights(); explicit AccessRights(const AccessFlags & access); + explicit AccessRights(const AccessRightsElement & element); + explicit AccessRights(const AccessRightsElements & elements); + ~AccessRights(); AccessRights(const AccessRights & src); AccessRights & operator =(const AccessRights & src); @@ -36,59 +39,59 @@ public: /// Grants access on a specified database/table/column. /// Does nothing if the specified access has been already granted. void grant(const AccessFlags & flags); - void grant(const AccessFlags & flags, const std::string_view & database); - void grant(const AccessFlags & flags, const std::string_view & database, const std::string_view & table); - void grant(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column); - void grant(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns); - void grant(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns); + void grant(const AccessFlags & flags, std::string_view database); + void grant(const AccessFlags & flags, std::string_view database, std::string_view table); + void grant(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column); + void grant(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns); + void grant(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns); void grant(const AccessRightsElement & element); void grant(const AccessRightsElements & elements); void grantWithGrantOption(const AccessFlags & flags); - void grantWithGrantOption(const AccessFlags & flags, const std::string_view & database); - void grantWithGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table); - void grantWithGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column); - void grantWithGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns); - void grantWithGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns); + void grantWithGrantOption(const AccessFlags & flags, std::string_view database); + void grantWithGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table); + void grantWithGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column); + void grantWithGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns); + void grantWithGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns); void grantWithGrantOption(const AccessRightsElement & element); void grantWithGrantOption(const AccessRightsElements & elements); /// Revokes a specified access granted earlier on a specified database/table/column. /// For example, revoke(AccessType::ALL) revokes all grants at all, just like clear(); void revoke(const AccessFlags & flags); - void revoke(const AccessFlags & flags, const std::string_view & database); - void revoke(const AccessFlags & flags, const std::string_view & database, const std::string_view & table); - void revoke(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column); - void revoke(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns); - void revoke(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns); + void revoke(const AccessFlags & flags, std::string_view database); + void revoke(const AccessFlags & flags, std::string_view database, std::string_view table); + void revoke(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column); + void revoke(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns); + void revoke(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns); void revoke(const AccessRightsElement & element); void revoke(const AccessRightsElements & elements); void revokeGrantOption(const AccessFlags & flags); - void revokeGrantOption(const AccessFlags & flags, const std::string_view & database); - void revokeGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table); - void revokeGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column); - void revokeGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns); - void revokeGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns); + void revokeGrantOption(const AccessFlags & flags, std::string_view database); + void revokeGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table); + void revokeGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column); + void revokeGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns); + void revokeGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns); void revokeGrantOption(const AccessRightsElement & element); void revokeGrantOption(const AccessRightsElements & elements); /// Whether a specified access granted. bool isGranted(const AccessFlags & flags) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const; + bool isGranted(const AccessFlags & flags, std::string_view database) const; + bool isGranted(const AccessFlags & flags, std::string_view database, std::string_view table) const; + bool isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const; + bool isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const; + bool isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const; bool isGranted(const AccessRightsElement & element) const; bool isGranted(const AccessRightsElements & elements) const; bool hasGrantOption(const AccessFlags & flags) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const; bool hasGrantOption(const AccessRightsElement & element) const; bool hasGrantOption(const AccessRightsElements & elements) const; @@ -104,11 +107,11 @@ public: const AccessFlags & flags, const AccessFlags & min_flags_with_children, const AccessFlags & max_flags_with_children, - const std::string_view & database, - const std::string_view & table, - const std::string_view & column)>; + std::string_view database, + std::string_view table, + std::string_view column, + bool grant_option)>; void modifyFlags(const ModifyFlagsFunction & function); - void modifyFlagsWithGrantOption(const ModifyFlagsFunction & function); friend bool operator ==(const AccessRights & left, const AccessRights & right); friend bool operator !=(const AccessRights & left, const AccessRights & right) { return !(left == right); } diff --git a/src/Access/Authentication.cpp b/src/Access/Authentication.cpp index 4f304cf5952..c6bbd421c77 100644 --- a/src/Access/Authentication.cpp +++ b/src/Access/Authentication.cpp @@ -26,17 +26,17 @@ namespace return (Util::stringToDigest(password) == password_plaintext); } - bool checkPasswordDoubleSHA1(const std::string_view & password, const Digest & password_double_sha1) + bool checkPasswordDoubleSHA1(std::string_view password, const Digest & password_double_sha1) { return (Util::encodeDoubleSHA1(password) == password_double_sha1); } - bool checkPasswordSHA256(const std::string_view & password, const Digest & password_sha256, const String & salt) + bool checkPasswordSHA256(std::string_view password, const Digest & password_sha256, const String & salt) { return Util::encodeSHA256(String(password).append(salt)) == password_sha256; } - bool checkPasswordDoubleSHA1MySQL(const std::string_view & scramble, const std::string_view & scrambled_password, const Digest & password_double_sha1) + bool checkPasswordDoubleSHA1MySQL(std::string_view scramble, std::string_view scrambled_password, const Digest & password_double_sha1) { /// scrambled_password = SHA1(password) XOR SHA1(scramble SHA1(SHA1(password))) @@ -61,7 +61,7 @@ namespace return calculated_password_double_sha1 == password_double_sha1; } - bool checkPasswordPlainTextMySQL(const std::string_view & scramble, const std::string_view & scrambled_password, const Digest & password_plaintext) + bool checkPasswordPlainTextMySQL(std::string_view scramble, std::string_view scrambled_password, const Digest & password_plaintext) { return checkPasswordDoubleSHA1MySQL(scramble, scrambled_password, Util::encodeDoubleSHA1(password_plaintext)); } diff --git a/src/Access/CMakeLists.txt b/src/Access/CMakeLists.txt index e69de29bb2d..83bbe418246 100644 --- a/src/Access/CMakeLists.txt +++ b/src/Access/CMakeLists.txt @@ -0,0 +1,3 @@ +if (ENABLE_EXAMPLES) + add_subdirectory(examples) +endif() diff --git a/src/Access/Common/AccessEntityType.cpp b/src/Access/Common/AccessEntityType.cpp index b9c618a9fc0..9277961fdae 100644 --- a/src/Access/Common/AccessEntityType.cpp +++ b/src/Access/Common/AccessEntityType.cpp @@ -1,7 +1,9 @@ #include #include #include +#include #include +#include #include @@ -15,6 +17,7 @@ namespace ErrorCodes extern const int UNKNOWN_QUOTA; extern const int THERE_IS_NO_PROFILE; extern const int LOGICAL_ERROR; + extern const int BAD_ARGUMENTS; } @@ -83,4 +86,15 @@ const AccessEntityTypeInfo & AccessEntityTypeInfo::get(AccessEntityType type_) throw Exception("Unknown type: " + std::to_string(static_cast(type_)), ErrorCodes::LOGICAL_ERROR); } +AccessEntityType AccessEntityTypeInfo::parseType(const String & name_) +{ + for (auto type : collections::range(AccessEntityType::MAX)) + { + const auto & info = get(type); + if (boost::iequals(info.name, name_)) + return type; + } + throw Exception(ErrorCodes::BAD_ARGUMENTS, "Unknown type: {}", name_); +} + } diff --git a/src/Access/Common/AccessEntityType.h b/src/Access/Common/AccessEntityType.h index 44caeecb37a..12df7cf5538 100644 --- a/src/Access/Common/AccessEntityType.h +++ b/src/Access/Common/AccessEntityType.h @@ -35,6 +35,7 @@ struct AccessEntityTypeInfo String formatEntityNameWithType(const String & entity_name) const; static const AccessEntityTypeInfo & get(AccessEntityType type_); + static AccessEntityType parseType(const String & name_); }; } diff --git a/src/Access/Common/AccessFlags.cpp b/src/Access/Common/AccessFlags.cpp index 82e1cbfb26b..305ae3f7cf5 100644 --- a/src/Access/Common/AccessFlags.cpp +++ b/src/Access/Common/AccessFlags.cpp @@ -35,7 +35,7 @@ namespace return access_type_to_flags_mapping[static_cast(type)]; } - Flags keywordToFlags(const std::string_view & keyword) const + Flags keywordToFlags(std::string_view keyword) const { auto it = keyword_to_flags_map.find(keyword); if (it == keyword_to_flags_map.end()) @@ -142,14 +142,14 @@ namespace } }; - static String replaceUnderscoreWithSpace(const std::string_view & str) + static String replaceUnderscoreWithSpace(std::string_view str) { String res{str}; boost::replace_all(res, "_", " "); return res; } - static Strings splitAliases(const std::string_view & str) + static Strings splitAliases(std::string_view str) { Strings aliases; boost::split(aliases, str, boost::is_any_of(",")); @@ -160,10 +160,10 @@ namespace static void makeNode( AccessType access_type, - const std::string_view & name, - const std::string_view & aliases, + std::string_view name, + std::string_view aliases, NodeType node_type, - const std::string_view & parent_group_name, + std::string_view parent_group_name, std::unordered_map & nodes, std::unordered_map & owned_nodes, size_t & next_flag) @@ -353,7 +353,7 @@ namespace AccessFlags::AccessFlags(AccessType type) : flags(Helper::instance().accessTypeToFlags(type)) {} -AccessFlags::AccessFlags(const std::string_view & keyword) : flags(Helper::instance().keywordToFlags(keyword)) {} +AccessFlags::AccessFlags(std::string_view keyword) : flags(Helper::instance().keywordToFlags(keyword)) {} AccessFlags::AccessFlags(const std::vector & keywords) : flags(Helper::instance().keywordsToFlags(keywords)) {} AccessFlags::AccessFlags(const Strings & keywords) : flags(Helper::instance().keywordsToFlags(keywords)) {} String AccessFlags::toString() const { return Helper::instance().flagsToString(flags); } diff --git a/src/Access/Common/AccessFlags.h b/src/Access/Common/AccessFlags.h index 51bf3cd19b0..5124f4ef332 100644 --- a/src/Access/Common/AccessFlags.h +++ b/src/Access/Common/AccessFlags.h @@ -21,7 +21,7 @@ public: AccessFlags() = default; /// Constructs from a string like "SELECT". - AccessFlags(const std::string_view & keyword); /// NOLINT + AccessFlags(std::string_view keyword); /// NOLINT /// Constructs from a list of strings like "SELECT, UPDATE, INSERT". AccessFlags(const std::vector & keywords); /// NOLINT diff --git a/src/Access/Common/AccessRightsElement.cpp b/src/Access/Common/AccessRightsElement.cpp index 9913fc02f4a..69a2354f25d 100644 --- a/src/Access/Common/AccessRightsElement.cpp +++ b/src/Access/Common/AccessRightsElement.cpp @@ -81,7 +81,7 @@ namespace } bool need_comma = false; - for (const std::string_view & keyword : keywords) + for (std::string_view keyword : keywords) { if (need_comma) result.append(", "); @@ -145,18 +145,18 @@ namespace } -AccessRightsElement::AccessRightsElement(AccessFlags access_flags_, const std::string_view & database_) +AccessRightsElement::AccessRightsElement(AccessFlags access_flags_, std::string_view database_) : access_flags(access_flags_), database(database_), any_database(false) { } -AccessRightsElement::AccessRightsElement(AccessFlags access_flags_, const std::string_view & database_, const std::string_view & table_) +AccessRightsElement::AccessRightsElement(AccessFlags access_flags_, std::string_view database_, std::string_view table_) : access_flags(access_flags_), database(database_), table(table_), any_database(false), any_table(false) { } AccessRightsElement::AccessRightsElement( - AccessFlags access_flags_, const std::string_view & database_, const std::string_view & table_, const std::string_view & column_) + AccessFlags access_flags_, std::string_view database_, std::string_view table_, std::string_view column_) : access_flags(access_flags_) , database(database_) , table(table_) @@ -169,8 +169,8 @@ AccessRightsElement::AccessRightsElement( AccessRightsElement::AccessRightsElement( AccessFlags access_flags_, - const std::string_view & database_, - const std::string_view & table_, + std::string_view database_, + std::string_view table_, const std::vector & columns_) : access_flags(access_flags_), database(database_), table(table_), any_database(false), any_table(false), any_column(false) { @@ -180,7 +180,7 @@ AccessRightsElement::AccessRightsElement( } AccessRightsElement::AccessRightsElement( - AccessFlags access_flags_, const std::string_view & database_, const std::string_view & table_, const Strings & columns_) + AccessFlags access_flags_, std::string_view database_, std::string_view table_, const Strings & columns_) : access_flags(access_flags_) , database(database_) , table(table_) diff --git a/src/Access/Common/AccessRightsElement.h b/src/Access/Common/AccessRightsElement.h index e5bf76d0017..5f65b6bcd12 100644 --- a/src/Access/Common/AccessRightsElement.h +++ b/src/Access/Common/AccessRightsElement.h @@ -28,19 +28,19 @@ struct AccessRightsElement explicit AccessRightsElement(AccessFlags access_flags_) : access_flags(access_flags_) {} - AccessRightsElement(AccessFlags access_flags_, const std::string_view & database_); - AccessRightsElement(AccessFlags access_flags_, const std::string_view & database_, const std::string_view & table_); + AccessRightsElement(AccessFlags access_flags_, std::string_view database_); + AccessRightsElement(AccessFlags access_flags_, std::string_view database_, std::string_view table_); AccessRightsElement( - AccessFlags access_flags_, const std::string_view & database_, const std::string_view & table_, const std::string_view & column_); + AccessFlags access_flags_, std::string_view database_, std::string_view table_, std::string_view column_); AccessRightsElement( AccessFlags access_flags_, - const std::string_view & database_, - const std::string_view & table_, + std::string_view database_, + std::string_view table_, const std::vector & columns_); AccessRightsElement( - AccessFlags access_flags_, const std::string_view & database_, const std::string_view & table_, const Strings & columns_); + AccessFlags access_flags_, std::string_view database_, std::string_view table_, const Strings & columns_); bool empty() const { return !access_flags || (!any_column && columns.empty()); } diff --git a/src/Access/Common/AccessType.cpp b/src/Access/Common/AccessType.cpp index d44d70d78b2..4df1e1bc77f 100644 --- a/src/Access/Common/AccessType.cpp +++ b/src/Access/Common/AccessType.cpp @@ -35,7 +35,7 @@ namespace #undef ACCESS_TYPE_TO_STRING_CONVERTER_ADD_TO_MAPPING } - void addToMapping(AccessType type, const std::string_view & str) + void addToMapping(AccessType type, std::string_view str) { String str2{str}; boost::replace_all(str2, "_", " "); diff --git a/src/Access/Common/AccessType.h b/src/Access/Common/AccessType.h index d5233951403..38e006f18e7 100644 --- a/src/Access/Common/AccessType.h +++ b/src/Access/Common/AccessType.h @@ -25,6 +25,7 @@ enum class AccessType M(SHOW_DICTIONARIES, "", DICTIONARY, SHOW) /* allows to execute SHOW DICTIONARIES, SHOW CREATE DICTIONARY, EXISTS ; implicitly enabled by any grant on the dictionary */\ M(SHOW, "", GROUP, ALL) /* allows to execute SHOW, USE, EXISTS, CHECK, DESCRIBE */\ + M(SHOW_CACHES, "", GROUP, ALL) \ \ M(SELECT, "", COLUMN, ALL) \ M(INSERT, "", COLUMN, ALL) \ @@ -99,6 +100,7 @@ enum class AccessType \ M(TRUNCATE, "TRUNCATE TABLE", TABLE, ALL) \ M(OPTIMIZE, "OPTIMIZE TABLE", TABLE, ALL) \ + M(BACKUP, "", TABLE, ALL) /* allows to backup tables */\ \ M(KILL_QUERY, "", GLOBAL, ALL) /* allows to kill a query started by another user (anyone can kill his own queries) */\ @@ -137,6 +139,7 @@ enum class AccessType M(SYSTEM_DROP_UNCOMPRESSED_CACHE, "SYSTEM DROP UNCOMPRESSED, DROP UNCOMPRESSED CACHE, DROP UNCOMPRESSED", GLOBAL, SYSTEM_DROP_CACHE) \ M(SYSTEM_DROP_MMAP_CACHE, "SYSTEM DROP MMAP, DROP MMAP CACHE, DROP MMAP", GLOBAL, SYSTEM_DROP_CACHE) \ M(SYSTEM_DROP_COMPILED_EXPRESSION_CACHE, "SYSTEM DROP COMPILED EXPRESSION, DROP COMPILED EXPRESSION CACHE, DROP COMPILED EXPRESSIONS", GLOBAL, SYSTEM_DROP_CACHE) \ + M(SYSTEM_DROP_FILESYSTEM_CACHE, "SYSTEM DROP FILESYSTEM CACHE, DROP FILESYSTEM CACHE", GLOBAL, SYSTEM_DROP_CACHE) \ M(SYSTEM_DROP_CACHE, "DROP CACHE", GROUP, SYSTEM) \ M(SYSTEM_RELOAD_CONFIG, "RELOAD CONFIG", GLOBAL, SYSTEM_RELOAD) \ M(SYSTEM_RELOAD_SYMBOLS, "RELOAD SYMBOLS", GLOBAL, SYSTEM_RELOAD) \ @@ -164,6 +167,7 @@ enum class AccessType M(SYSTEM_FLUSH_LOGS, "FLUSH LOGS", GLOBAL, SYSTEM_FLUSH) \ M(SYSTEM_FLUSH, "", GROUP, SYSTEM) \ M(SYSTEM_THREAD_FUZZER, "SYSTEM START THREAD FUZZER, SYSTEM STOP THREAD FUZZER, START THREAD FUZZER, STOP THREAD FUZZER", GLOBAL, SYSTEM) \ + M(SYSTEM_UNFREEZE, "SYSTEM UNFREEZE", GLOBAL, SYSTEM) \ M(SYSTEM, "", GROUP, ALL) /* allows to execute SYSTEM {SHUTDOWN|RELOAD CONFIG|...} */ \ \ M(dictGet, "dictHas, dictGetHierarchy, dictIsIn", DICTIONARY, ALL) /* allows to execute functions dictGet(), dictHas(), dictGetHierarchy(), dictIsIn() */\ diff --git a/src/Access/Common/AllowedClientHosts.cpp b/src/Access/Common/AllowedClientHosts.cpp index 85d7065d823..efbdf3924e8 100644 --- a/src/Access/Common/AllowedClientHosts.cpp +++ b/src/Access/Common/AllowedClientHosts.cpp @@ -110,18 +110,24 @@ namespace } /// Returns the host name by its address. - String getHostByAddress(const IPAddress & address) + Strings getHostsByAddress(const IPAddress & address) { - String host = DNSResolver::instance().reverseResolve(address); + auto hosts = DNSResolver::instance().reverseResolve(address); - /// Check that PTR record is resolved back to client address - if (!isAddressOfHost(address, host)) - throw Exception("Host " + String(host) + " isn't resolved back to " + address.toString(), ErrorCodes::DNS_ERROR); + if (hosts.empty()) + throw Exception(ErrorCodes::DNS_ERROR, "{} could not be resolved", address.toString()); - return host; + + for (const auto & host : hosts) + { + /// Check that PTR record is resolved back to client address + if (!isAddressOfHost(address, host)) + throw Exception(ErrorCodes::DNS_ERROR, "Host {} isn't resolved back to {}", host, address.toString()); + } + + return hosts; } - void parseLikePatternIfIPSubnet(const String & pattern, IPSubnet & subnet, IPAddress::Family address_family) { size_t slash = pattern.find('/'); @@ -520,20 +526,29 @@ bool AllowedClientHosts::contains(const IPAddress & client_address) const return true; /// Check `name_regexps`. - std::optional resolved_host; + std::optional resolved_hosts; auto check_name_regexp = [&](const String & name_regexp_) { try { if (boost::iequals(name_regexp_, "localhost")) return is_client_local(); - if (!resolved_host) - resolved_host = getHostByAddress(client_v6); - if (resolved_host->empty()) - return false; - Poco::RegularExpression re(name_regexp_); - Poco::RegularExpression::Match match; - return re.match(*resolved_host, match) != 0; + if (!resolved_hosts) + { + resolved_hosts = getHostsByAddress(client_address); + } + + for (const auto & host : resolved_hosts.value()) + { + Poco::RegularExpression re(name_regexp_); + Poco::RegularExpression::Match match; + if (re.match(host, match) != 0) + { + return true; + } + } + + return false; } catch (const Exception & e) { diff --git a/src/Access/Common/AuthenticationData.cpp b/src/Access/Common/AuthenticationData.cpp index db0a5d54a63..f3d3bb5b758 100644 --- a/src/Access/Common/AuthenticationData.cpp +++ b/src/Access/Common/AuthenticationData.cpp @@ -71,7 +71,7 @@ const AuthenticationTypeInfo & AuthenticationTypeInfo::get(AuthenticationType ty } -AuthenticationData::Digest AuthenticationData::Util::encodeSHA256(const std::string_view & text [[maybe_unused]]) +AuthenticationData::Digest AuthenticationData::Util::encodeSHA256(std::string_view text [[maybe_unused]]) { #if USE_SSL Digest hash; @@ -86,7 +86,7 @@ AuthenticationData::Digest AuthenticationData::Util::encodeSHA256(const std::str } -AuthenticationData::Digest AuthenticationData::Util::encodeSHA1(const std::string_view & text) +AuthenticationData::Digest AuthenticationData::Util::encodeSHA1(std::string_view text) { Poco::SHA1Engine engine; engine.update(text.data(), text.size()); diff --git a/src/Access/Common/AuthenticationData.h b/src/Access/Common/AuthenticationData.h index 2837e0f10a1..ced9fcd4b6d 100644 --- a/src/Access/Common/AuthenticationData.h +++ b/src/Access/Common/AuthenticationData.h @@ -96,11 +96,11 @@ public: struct Util { - static Digest stringToDigest(const std::string_view & text) { return Digest(text.data(), text.data() + text.size()); } - static Digest encodeSHA256(const std::string_view & text); - static Digest encodeSHA1(const std::string_view & text); + static Digest stringToDigest(std::string_view text) { return Digest(text.data(), text.data() + text.size()); } + static Digest encodeSHA256(std::string_view text); + static Digest encodeSHA1(std::string_view text); static Digest encodeSHA1(const Digest & text) { return encodeSHA1(std::string_view{reinterpret_cast(text.data()), text.size()}); } - static Digest encodeDoubleSHA1(const std::string_view & text) { return encodeSHA1(encodeSHA1(text)); } + static Digest encodeDoubleSHA1(std::string_view text) { return encodeSHA1(encodeSHA1(text)); } static Digest encodeDoubleSHA1(const Digest & text) { return encodeSHA1(encodeSHA1(text)); } }; diff --git a/src/Access/ContextAccess.cpp b/src/Access/ContextAccess.cpp index 46fdba9d65e..49736c76994 100644 --- a/src/Access/ContextAccess.cpp +++ b/src/Access/ContextAccess.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -29,6 +30,7 @@ namespace ErrorCodes extern const int QUERY_IS_PROHIBITED; extern const int FUNCTION_NOT_ALLOWED; extern const int UNKNOWN_USER; + extern const int LOGICAL_ERROR; } @@ -42,9 +44,17 @@ namespace } - AccessRights addImplicitAccessRights(const AccessRights & access) + AccessRights addImplicitAccessRights(const AccessRights & access, const AccessControl & access_control) { - auto modifier = [&](const AccessFlags & flags, const AccessFlags & min_flags_with_children, const AccessFlags & max_flags_with_children, const std::string_view & database, const std::string_view & table, const std::string_view & column) -> AccessFlags + AccessFlags max_flags; + + auto modifier = [&](const AccessFlags & flags, + const AccessFlags & min_flags_with_children, + const AccessFlags & max_flags_with_children, + std::string_view database, + std::string_view table, + std::string_view column, + bool /* grant_option */) -> AccessFlags { size_t level = !database.empty() + !table.empty() + !column.empty(); AccessFlags res = flags; @@ -113,16 +123,80 @@ namespace res |= show_databases; } + max_flags |= res; + return res; }; AccessRights res = access; res.modifyFlags(modifier); - /// Anyone has access to the "system" and "information_schema" database. - res.grant(AccessType::SELECT, DatabaseCatalog::SYSTEM_DATABASE); - res.grant(AccessType::SELECT, DatabaseCatalog::INFORMATION_SCHEMA); - res.grant(AccessType::SELECT, DatabaseCatalog::INFORMATION_SCHEMA_UPPERCASE); + /// If "select_from_system_db_requires_grant" is enabled we provide implicit grants only for a few tables in the system database. + if (access_control.doesSelectFromSystemDatabaseRequireGrant()) + { + const char * always_accessible_tables[] = { + /// Constant tables + "one", + + /// "numbers", "numbers_mt", "zeros", "zeros_mt" were excluded because they can generate lots of values and + /// that can decrease performance in some cases. + + "contributors", + "licenses", + "time_zones", + "collations", + + "formats", + "privileges", + "data_type_families", + "table_engines", + "table_functions", + "aggregate_function_combinators", + + "functions", /// Can contain user-defined functions + + /// The following tables hide some rows if the current user doesn't have corresponding SHOW privileges. + "databases", + "tables", + "columns", + + /// Specific to the current session + "settings", + "current_roles", + "enabled_roles", + "quota_usage" + }; + + for (const auto * table_name : always_accessible_tables) + res.grant(AccessType::SELECT, DatabaseCatalog::SYSTEM_DATABASE, table_name); + + if (max_flags.contains(AccessType::SHOW_USERS)) + res.grant(AccessType::SELECT, DatabaseCatalog::SYSTEM_DATABASE, "users"); + + if (max_flags.contains(AccessType::SHOW_ROLES)) + res.grant(AccessType::SELECT, DatabaseCatalog::SYSTEM_DATABASE, "roles"); + + if (max_flags.contains(AccessType::SHOW_ROW_POLICIES)) + res.grant(AccessType::SELECT, DatabaseCatalog::SYSTEM_DATABASE, "row_policies"); + + if (max_flags.contains(AccessType::SHOW_SETTINGS_PROFILES)) + res.grant(AccessType::SELECT, DatabaseCatalog::SYSTEM_DATABASE, "settings_profiles"); + + if (max_flags.contains(AccessType::SHOW_QUOTAS)) + res.grant(AccessType::SELECT, DatabaseCatalog::SYSTEM_DATABASE, "quotas"); + } + else + { + res.grant(AccessType::SELECT, DatabaseCatalog::SYSTEM_DATABASE); + } + + /// If "select_from_information_schema_requires_grant" is enabled we don't provide implicit grants for the information_schema database. + if (!access_control.doesSelectFromInformationSchemaRequireGrant()) + { + res.grant(AccessType::SELECT, DatabaseCatalog::INFORMATION_SCHEMA); + res.grant(AccessType::SELECT, DatabaseCatalog::INFORMATION_SCHEMA_UPPERCASE); + } + return res; } @@ -138,7 +212,7 @@ namespace std::string_view getDatabase() { return {}; } template - std::string_view getDatabase(const std::string_view & arg1, const OtherArgs &...) { return arg1; } + std::string_view getDatabase(std::string_view arg1, const OtherArgs &...) { return arg1; } } @@ -187,6 +261,7 @@ void ContextAccess::setUser(const UserPtr & user_) const if (!user) { /// User has been dropped. + user_was_dropped = true; subscription_for_user_change = {}; subscription_for_roles_changes = {}; access = nullptr; @@ -243,7 +318,7 @@ void ContextAccess::setRolesInfo(const std::shared_ptr & void ContextAccess::calculateAccessRights() const { access = std::make_shared(mixAccessRightsFromUserAndRoles(*user, *roles_info)); - access_with_implicit = std::make_shared(addImplicitAccessRights(*access)); + access_with_implicit = std::make_shared(addImplicitAccessRights(*access, *access_control)); if (trace_log) { @@ -261,6 +336,20 @@ void ContextAccess::calculateAccessRights() const UserPtr ContextAccess::getUser() const +{ + auto res = tryGetUser(); + + if (likely(res)) + return res; + + if (user_was_dropped) + throw Exception(ErrorCodes::UNKNOWN_USER, "User has been dropped"); + + throw Exception(ErrorCodes::LOGICAL_ERROR, "No user in current context, it's a bug"); +} + + +UserPtr ContextAccess::tryGetUser() const { std::lock_guard lock{mutex}; return user; @@ -324,7 +413,7 @@ std::shared_ptr ContextAccess::getFullAccess() auto full_access = std::shared_ptr(new ContextAccess); full_access->is_full_access = true; full_access->access = std::make_shared(AccessRights::getFullAccess()); - full_access->access_with_implicit = std::make_shared(addImplicitAccessRights(*full_access->access)); + full_access->access_with_implicit = full_access->access; return full_access; }(); return res; @@ -394,14 +483,17 @@ bool ContextAccess::checkAccessImplHelper(AccessFlags flags, const Args &... arg return false; }; + if (is_full_access) + return true; + + if (user_was_dropped) + return access_denied("User has been dropped", ErrorCodes::UNKNOWN_USER); + if (flags & AccessType::CLUSTER && !access_control->doesOnClusterQueriesRequireClusterGrant()) flags &= ~AccessType::CLUSTER; - if (!flags || is_full_access) - return access_granted(); - - if (!getUser()) - return access_denied("User has been dropped", ErrorCodes::UNKNOWN_USER); + if (!flags) + return true; /// Access to temporary tables is controlled in an unusual way, not like normal tables. /// Creating of temporary tables is controlled by AccessType::CREATE_TEMPORARY_TABLES grant, @@ -445,10 +537,11 @@ bool ContextAccess::checkAccessImplHelper(AccessFlags flags, const Args &... arg const AccessFlags dictionary_ddl = AccessType::CREATE_DICTIONARY | AccessType::DROP_DICTIONARY; const AccessFlags function_ddl = AccessType::CREATE_FUNCTION | AccessType::DROP_FUNCTION; const AccessFlags table_and_dictionary_ddl = table_ddl | dictionary_ddl; + const AccessFlags table_and_dictionary_and_function_ddl = table_ddl | dictionary_ddl | function_ddl; const AccessFlags write_table_access = AccessType::INSERT | AccessType::OPTIMIZE; const AccessFlags write_dcl_access = AccessType::ACCESS_MANAGEMENT - AccessType::SHOW_ACCESS; - const AccessFlags not_readonly_flags = write_table_access | table_and_dictionary_ddl | write_dcl_access | AccessType::SYSTEM | AccessType::KILL_QUERY; + const AccessFlags not_readonly_flags = write_table_access | table_and_dictionary_and_function_ddl | write_dcl_access | AccessType::SYSTEM | AccessType::KILL_QUERY; const AccessFlags not_readonly_1_flags = AccessType::CREATE_TEMPORARY_TABLE; const AccessFlags ddl_flags = table_ddl | dictionary_ddl | function_ddl; @@ -497,7 +590,7 @@ bool ContextAccess::checkAccessImpl(const AccessFlags & flags) const } template -bool ContextAccess::checkAccessImpl(const AccessFlags & flags, const std::string_view & database, const Args &... args) const +bool ContextAccess::checkAccessImpl(const AccessFlags & flags, std::string_view database, const Args &... args) const { return checkAccessImplHelper(flags, database.empty() ? params.current_database : database, args...); } @@ -542,38 +635,38 @@ bool ContextAccess::checkAccessImpl(const AccessRightsElements & elements) const } bool ContextAccess::isGranted(const AccessFlags & flags) const { return checkAccessImpl(flags); } -bool ContextAccess::isGranted(const AccessFlags & flags, const std::string_view & database) const { return checkAccessImpl(flags, database); } -bool ContextAccess::isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const { return checkAccessImpl(flags, database, table); } -bool ContextAccess::isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const { return checkAccessImpl(flags, database, table, column); } -bool ContextAccess::isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const { return checkAccessImpl(flags, database, table, columns); } -bool ContextAccess::isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const { return checkAccessImpl(flags, database, table, columns); } +bool ContextAccess::isGranted(const AccessFlags & flags, std::string_view database) const { return checkAccessImpl(flags, database); } +bool ContextAccess::isGranted(const AccessFlags & flags, std::string_view database, std::string_view table) const { return checkAccessImpl(flags, database, table); } +bool ContextAccess::isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const { return checkAccessImpl(flags, database, table, column); } +bool ContextAccess::isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const { return checkAccessImpl(flags, database, table, columns); } +bool ContextAccess::isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const { return checkAccessImpl(flags, database, table, columns); } bool ContextAccess::isGranted(const AccessRightsElement & element) const { return checkAccessImpl(element); } bool ContextAccess::isGranted(const AccessRightsElements & elements) const { return checkAccessImpl(elements); } bool ContextAccess::hasGrantOption(const AccessFlags & flags) const { return checkAccessImpl(flags); } -bool ContextAccess::hasGrantOption(const AccessFlags & flags, const std::string_view & database) const { return checkAccessImpl(flags, database); } -bool ContextAccess::hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const { return checkAccessImpl(flags, database, table); } -bool ContextAccess::hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const { return checkAccessImpl(flags, database, table, column); } -bool ContextAccess::hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const { return checkAccessImpl(flags, database, table, columns); } -bool ContextAccess::hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const { return checkAccessImpl(flags, database, table, columns); } +bool ContextAccess::hasGrantOption(const AccessFlags & flags, std::string_view database) const { return checkAccessImpl(flags, database); } +bool ContextAccess::hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table) const { return checkAccessImpl(flags, database, table); } +bool ContextAccess::hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const { return checkAccessImpl(flags, database, table, column); } +bool ContextAccess::hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const { return checkAccessImpl(flags, database, table, columns); } +bool ContextAccess::hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const { return checkAccessImpl(flags, database, table, columns); } bool ContextAccess::hasGrantOption(const AccessRightsElement & element) const { return checkAccessImpl(element); } bool ContextAccess::hasGrantOption(const AccessRightsElements & elements) const { return checkAccessImpl(elements); } void ContextAccess::checkAccess(const AccessFlags & flags) const { checkAccessImpl(flags); } -void ContextAccess::checkAccess(const AccessFlags & flags, const std::string_view & database) const { checkAccessImpl(flags, database); } -void ContextAccess::checkAccess(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const { checkAccessImpl(flags, database, table); } -void ContextAccess::checkAccess(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const { checkAccessImpl(flags, database, table, column); } -void ContextAccess::checkAccess(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const { checkAccessImpl(flags, database, table, columns); } -void ContextAccess::checkAccess(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const { checkAccessImpl(flags, database, table, columns); } +void ContextAccess::checkAccess(const AccessFlags & flags, std::string_view database) const { checkAccessImpl(flags, database); } +void ContextAccess::checkAccess(const AccessFlags & flags, std::string_view database, std::string_view table) const { checkAccessImpl(flags, database, table); } +void ContextAccess::checkAccess(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const { checkAccessImpl(flags, database, table, column); } +void ContextAccess::checkAccess(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const { checkAccessImpl(flags, database, table, columns); } +void ContextAccess::checkAccess(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const { checkAccessImpl(flags, database, table, columns); } void ContextAccess::checkAccess(const AccessRightsElement & element) const { checkAccessImpl(element); } void ContextAccess::checkAccess(const AccessRightsElements & elements) const { checkAccessImpl(elements); } void ContextAccess::checkGrantOption(const AccessFlags & flags) const { checkAccessImpl(flags); } -void ContextAccess::checkGrantOption(const AccessFlags & flags, const std::string_view & database) const { checkAccessImpl(flags, database); } -void ContextAccess::checkGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const { checkAccessImpl(flags, database, table); } -void ContextAccess::checkGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const { checkAccessImpl(flags, database, table, column); } -void ContextAccess::checkGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const { checkAccessImpl(flags, database, table, columns); } -void ContextAccess::checkGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const { checkAccessImpl(flags, database, table, columns); } +void ContextAccess::checkGrantOption(const AccessFlags & flags, std::string_view database) const { checkAccessImpl(flags, database); } +void ContextAccess::checkGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table) const { checkAccessImpl(flags, database, table); } +void ContextAccess::checkGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const { checkAccessImpl(flags, database, table, column); } +void ContextAccess::checkGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const { checkAccessImpl(flags, database, table, columns); } +void ContextAccess::checkGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const { checkAccessImpl(flags, database, table, columns); } void ContextAccess::checkGrantOption(const AccessRightsElement & element) const { checkAccessImpl(element); } void ContextAccess::checkGrantOption(const AccessRightsElements & elements) const { checkAccessImpl(elements); } @@ -581,9 +674,6 @@ void ContextAccess::checkGrantOption(const AccessRightsElements & elements) cons template bool ContextAccess::checkAdminOptionImplHelper(const Container & role_ids, const GetNameFunction & get_name_function) const { - if (!std::size(role_ids) || is_full_access) - return true; - auto show_error = [this](const String & msg, int error_code [[maybe_unused]]) { UNUSED(this); @@ -591,12 +681,18 @@ bool ContextAccess::checkAdminOptionImplHelper(const Container & role_ids, const throw Exception(getUserName() + ": " + msg, error_code); }; - if (!getUser()) + if (is_full_access) + return true; + + if (user_was_dropped) { show_error("User has been dropped", ErrorCodes::UNKNOWN_USER); return false; } + if (!std::size(role_ids)) + return true; + if (isGranted(AccessType::ROLE_ADMIN)) return true; @@ -681,4 +777,34 @@ void ContextAccess::checkAdminOption(const std::vector & role_ids) const { void ContextAccess::checkAdminOption(const std::vector & role_ids, const Strings & names_of_roles) const { checkAdminOptionImpl(role_ids, names_of_roles); } void ContextAccess::checkAdminOption(const std::vector & role_ids, const std::unordered_map & names_of_roles) const { checkAdminOptionImpl(role_ids, names_of_roles); } + +void ContextAccess::checkGranteeIsAllowed(const UUID & grantee_id, const IAccessEntity & grantee) const +{ + if (is_full_access) + return; + + auto current_user = getUser(); + if (!current_user->grantees.match(grantee_id)) + throw Exception(grantee.formatTypeWithName() + " is not allowed as grantee", ErrorCodes::ACCESS_DENIED); +} + +void ContextAccess::checkGranteesAreAllowed(const std::vector & grantee_ids) const +{ + if (is_full_access) + return; + + auto current_user = getUser(); + if (current_user->grantees == RolesOrUsersSet::AllTag{}) + return; + + for (const auto & id : grantee_ids) + { + auto entity = access_control->tryRead(id); + if (auto role_entity = typeid_cast(entity)) + checkGranteeIsAllowed(id, *role_entity); + else if (auto user_entity = typeid_cast(entity)) + checkGranteeIsAllowed(id, *user_entity); + } +} + } diff --git a/src/Access/ContextAccess.h b/src/Access/ContextAccess.h index f1c215a4029..fa3523977e7 100644 --- a/src/Access/ContextAccess.h +++ b/src/Access/ContextAccess.h @@ -28,6 +28,7 @@ struct SettingsProfilesInfo; class SettingsChanges; class AccessControl; class IAST; +struct IAccessEntity; using ASTPtr = std::shared_ptr; @@ -68,8 +69,10 @@ public: using Params = ContextAccessParams; const Params & getParams() const { return params; } - /// Returns the current user. The function can return nullptr. + /// Returns the current user. Throws if user is nullptr. UserPtr getUser() const; + /// Same as above, but can return nullptr. + UserPtr tryGetUser() const; String getUserName() const; std::optional getUserID() const { return getParams().user_id; } @@ -98,40 +101,40 @@ public: /// Checks if a specified access is granted, and throws an exception if not. /// Empty database means the current database. void checkAccess(const AccessFlags & flags) const; - void checkAccess(const AccessFlags & flags, const std::string_view & database) const; - void checkAccess(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const; - void checkAccess(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const; - void checkAccess(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const; - void checkAccess(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const; + void checkAccess(const AccessFlags & flags, std::string_view database) const; + void checkAccess(const AccessFlags & flags, std::string_view database, std::string_view table) const; + void checkAccess(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const; + void checkAccess(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const; + void checkAccess(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const; void checkAccess(const AccessRightsElement & element) const; void checkAccess(const AccessRightsElements & elements) const; void checkGrantOption(const AccessFlags & flags) const; - void checkGrantOption(const AccessFlags & flags, const std::string_view & database) const; - void checkGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const; - void checkGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const; - void checkGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const; - void checkGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const; + void checkGrantOption(const AccessFlags & flags, std::string_view database) const; + void checkGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table) const; + void checkGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const; + void checkGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const; + void checkGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const; void checkGrantOption(const AccessRightsElement & element) const; void checkGrantOption(const AccessRightsElements & elements) const; /// Checks if a specified access is granted, and returns false if not. /// Empty database means the current database. bool isGranted(const AccessFlags & flags) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const; - bool isGranted(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const; + bool isGranted(const AccessFlags & flags, std::string_view database) const; + bool isGranted(const AccessFlags & flags, std::string_view database, std::string_view table) const; + bool isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const; + bool isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const; + bool isGranted(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const; bool isGranted(const AccessRightsElement & element) const; bool isGranted(const AccessRightsElements & elements) const; bool hasGrantOption(const AccessFlags & flags) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::string_view & column) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const std::vector & columns) const; - bool hasGrantOption(const AccessFlags & flags, const std::string_view & database, const std::string_view & table, const Strings & columns) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, std::string_view column) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const std::vector & columns) const; + bool hasGrantOption(const AccessFlags & flags, std::string_view database, std::string_view table, const Strings & columns) const; bool hasGrantOption(const AccessRightsElement & element) const; bool hasGrantOption(const AccessRightsElements & elements) const; @@ -151,6 +154,11 @@ public: bool hasAdminOption(const std::vector & role_ids, const Strings & names_of_roles) const; bool hasAdminOption(const std::vector & role_ids, const std::unordered_map & names_of_roles) const; + /// Checks if a grantee is allowed for the current user, throws an exception if not. + void checkGranteeIsAllowed(const UUID & grantee_id, const IAccessEntity & grantee) const; + /// Checks if grantees are allowed for the current user, throws an exception if not. + void checkGranteesAreAllowed(const std::vector & grantee_ids) const; + /// Makes an instance of ContextAccess which provides full access to everything /// without any limitations. This is used for the global context. static std::shared_ptr getFullAccess(); @@ -172,7 +180,7 @@ private: bool checkAccessImpl(const AccessFlags & flags) const; template - bool checkAccessImpl(const AccessFlags & flags, const std::string_view & database, const Args &... args) const; + bool checkAccessImpl(const AccessFlags & flags, std::string_view database, const Args &... args) const; template bool checkAccessImpl(const AccessRightsElement & element) const; @@ -213,6 +221,7 @@ private: mutable Poco::Logger * trace_log = nullptr; mutable UserPtr user; mutable String user_name; + mutable bool user_was_dropped = false; mutable scope_guard subscription_for_user_change; mutable std::shared_ptr enabled_roles; mutable scope_guard subscription_for_roles_changes; diff --git a/src/Access/DiskAccessStorage.cpp b/src/Access/DiskAccessStorage.cpp index 57e09d40b35..0cbe420f345 100644 --- a/src/Access/DiskAccessStorage.cpp +++ b/src/Access/DiskAccessStorage.cpp @@ -1,6 +1,8 @@ #include #include #include +#include +#include #include #include #include @@ -13,6 +15,7 @@ #include #include #include +#include #include #include @@ -152,24 +155,17 @@ namespace bool tryParseUUID(const String & str, UUID & id) { - try - { - id = parseFromString(str); - return true; - } - catch (...) - { - return false; - } + return tryParse(id, str); } } -DiskAccessStorage::DiskAccessStorage(const String & storage_name_, const String & directory_path_, bool readonly_, AccessChangesNotifier & changes_notifier_) +DiskAccessStorage::DiskAccessStorage(const String & storage_name_, const String & directory_path_, AccessChangesNotifier & changes_notifier_, bool readonly_, bool allow_backup_) : IAccessStorage(storage_name_), changes_notifier(changes_notifier_) { directory_path = makeDirectoryPathCanonical(directory_path_); readonly = readonly_; + backup_allowed = allow_backup_; std::error_code create_dir_error_code; std::filesystem::create_directories(directory_path, create_dir_error_code); @@ -457,7 +453,7 @@ AccessEntityPtr DiskAccessStorage::readImpl(const UUID & id, bool throw_if_not_e } -std::optional DiskAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::optional> DiskAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { std::lock_guard lock{mutex}; auto it = entries_by_id.find(id); @@ -468,21 +464,27 @@ std::optional DiskAccessStorage::readNameImpl(const UUID & id, bool thro else return std::nullopt; } - return it->second.name; + return std::make_pair(it->second.name, it->second.type); } std::optional DiskAccessStorage::insertImpl(const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { UUID id = generateRandomID(); - std::lock_guard lock{mutex}; - if (insertNoLock(id, new_entity, replace_if_exists, throw_if_exists)) + if (insertWithID(id, new_entity, replace_if_exists, throw_if_exists)) return id; return std::nullopt; } +bool DiskAccessStorage::insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) +{ + std::lock_guard lock{mutex}; + return insertNoLock(id, new_entity, replace_if_exists, throw_if_exists); +} + + bool DiskAccessStorage::insertNoLock(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { const String & name = new_entity->getName(); @@ -649,4 +651,25 @@ void DiskAccessStorage::deleteAccessEntityOnDisk(const UUID & id) const throw Exception("Couldn't delete " + file_path, ErrorCodes::FILE_DOESNT_EXIST); } + +void DiskAccessStorage::restoreFromBackup(RestorerFromBackup & restorer) +{ + if (!isRestoreAllowed()) + throwRestoreNotAllowed(); + + auto entities = restorer.getAccessEntitiesToRestore(); + if (entities.empty()) + return; + + auto create_access = restorer.getRestoreSettings().create_access; + bool replace_if_exists = (create_access == RestoreAccessCreationMode::kReplace); + bool throw_if_exists = (create_access == RestoreAccessCreationMode::kCreate); + + restorer.addDataRestoreTask([this, entities = std::move(entities), replace_if_exists, throw_if_exists] + { + for (const auto & [id, entity] : entities) + insertWithID(id, entity, replace_if_exists, throw_if_exists); + }); +} + } diff --git a/src/Access/DiskAccessStorage.h b/src/Access/DiskAccessStorage.h index 7784a80e779..d3bd61ff353 100644 --- a/src/Access/DiskAccessStorage.h +++ b/src/Access/DiskAccessStorage.h @@ -15,7 +15,7 @@ class DiskAccessStorage : public IAccessStorage public: static constexpr char STORAGE_TYPE[] = "local directory"; - DiskAccessStorage(const String & storage_name_, const String & directory_path_, bool readonly_, AccessChangesNotifier & changes_notifier_); + DiskAccessStorage(const String & storage_name_, const String & directory_path_, AccessChangesNotifier & changes_notifier_, bool readonly_, bool allow_backup_); ~DiskAccessStorage() override; const char * getStorageType() const override { return STORAGE_TYPE; } @@ -29,11 +29,14 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override { return backup_allowed; } + void restoreFromBackup(RestorerFromBackup & restorer) override; + private: std::optional findImpl(AccessEntityType type, const String & name) const override; std::vector findAllImpl(AccessEntityType type) const override; AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; - std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const override; + std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const override; std::optional insertImpl(const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists) override; bool removeImpl(const UUID & id, bool throw_if_not_exists) override; bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) override; @@ -47,6 +50,7 @@ private: void listsWritingThreadFunc(); void stopListsWritingThread(); + bool insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists); bool insertNoLock(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists); bool removeNoLock(const UUID & id, bool throw_if_not_exists); bool updateNoLock(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists); @@ -65,7 +69,6 @@ private: }; String directory_path; - std::atomic readonly; std::unordered_map entries_by_id; std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)]; boost::container::flat_set types_of_lists_to_write; @@ -74,6 +77,8 @@ private: std::condition_variable lists_writing_thread_should_exit; /// Signals `lists_writing_thread` to exit. bool lists_writing_thread_is_waiting = false; AccessChangesNotifier & changes_notifier; + std::atomic readonly; + std::atomic backup_allowed; mutable std::mutex mutex; }; } diff --git a/src/Access/EnabledSettings.h b/src/Access/EnabledSettings.h index 94d2ec2952f..6532d32cffc 100644 --- a/src/Access/EnabledSettings.h +++ b/src/Access/EnabledSettings.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include #include @@ -42,7 +43,7 @@ private: void setInfo(const std::shared_ptr & info_); const Params params; - std::shared_ptr info; + std::shared_ptr info TSA_GUARDED_BY(mutex); mutable std::mutex mutex; }; } diff --git a/src/Access/ExternalAuthenticators.cpp b/src/Access/ExternalAuthenticators.cpp index 9431fc543d4..8da16b86f4e 100644 --- a/src/Access/ExternalAuthenticators.cpp +++ b/src/Access/ExternalAuthenticators.cpp @@ -231,18 +231,23 @@ void parseLDAPRoleSearchParams(LDAPClient::RoleSearchParams & params, const Poco params.prefix = config.getString(prefix + ".prefix"); } -void ExternalAuthenticators::reset() +void ExternalAuthenticators::resetImpl() { - std::scoped_lock lock(mutex); ldap_client_params_blueprint.clear(); ldap_caches.clear(); kerberos_params.reset(); } +void ExternalAuthenticators::reset() +{ + std::scoped_lock lock(mutex); + resetImpl(); +} + void ExternalAuthenticators::setConfiguration(const Poco::Util::AbstractConfiguration & config, Poco::Logger * log) { std::scoped_lock lock(mutex); - reset(); + resetImpl(); Poco::Util::AbstractConfiguration::Keys all_keys; config.keys("", all_keys); diff --git a/src/Access/ExternalAuthenticators.h b/src/Access/ExternalAuthenticators.h index 0b3af4d0216..bf928c18d5b 100644 --- a/src/Access/ExternalAuthenticators.h +++ b/src/Access/ExternalAuthenticators.h @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -22,7 +23,6 @@ namespace Poco } } - namespace DB { @@ -51,10 +51,12 @@ private: using LDAPCaches = std::map; // server name -> cache using LDAPParams = std::map; // server name -> params - mutable std::recursive_mutex mutex; - LDAPParams ldap_client_params_blueprint; - mutable LDAPCaches ldap_caches; - std::optional kerberos_params; + mutable std::mutex mutex; + LDAPParams ldap_client_params_blueprint TSA_GUARDED_BY(mutex) ; + mutable LDAPCaches ldap_caches TSA_GUARDED_BY(mutex) ; + std::optional kerberos_params TSA_GUARDED_BY(mutex) ; + + void resetImpl() TSA_REQUIRES(mutex); }; void parseLDAPRoleSearchParams(LDAPClient::RoleSearchParams & params, const Poco::Util::AbstractConfiguration & config, const String & prefix); diff --git a/src/Access/GrantedRoles.cpp b/src/Access/GrantedRoles.cpp index 7d16e3e65bb..4df6809e0fe 100644 --- a/src/Access/GrantedRoles.cpp +++ b/src/Access/GrantedRoles.cpp @@ -2,6 +2,8 @@ #include #include #include +#include + namespace DB { @@ -166,4 +168,57 @@ void GrantedRoles::makeIntersection(const GrantedRoles & other) return other.roles_with_admin_option.find(id) == other.roles_with_admin_option.end(); }); } + +std::vector GrantedRoles::findDependencies() const +{ + std::vector res; + boost::range::copy(roles, std::back_inserter(res)); + return res; +} + +void GrantedRoles::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + std::vector new_ids; + + for (auto it = roles.begin(); it != roles.end();) + { + auto id = *it; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + new_ids.push_back(new_id); + it = roles.erase(it); + } + else + { + ++it; + } + } + + if (!new_ids.empty()) + { + boost::range::copy(new_ids, std::inserter(roles, roles.end())); + new_ids.clear(); + + for (auto it = roles_with_admin_option.begin(); it != roles_with_admin_option.end();) + { + auto id = *it; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + new_ids.push_back(new_id); + it = roles_with_admin_option.erase(it); + } + else + { + ++it; + } + } + + boost::range::copy(new_ids, std::inserter(roles_with_admin_option, roles_with_admin_option.end())); + } +} + } diff --git a/src/Access/GrantedRoles.h b/src/Access/GrantedRoles.h index 75ea56aba96..ac252822089 100644 --- a/src/Access/GrantedRoles.h +++ b/src/Access/GrantedRoles.h @@ -3,6 +3,7 @@ #include #include #include +#include namespace DB @@ -24,6 +25,8 @@ public: void revokeAdminOption(const UUID & role_); void revokeAdminOption(const std::vector & roles_); + bool isEmpty() const { return roles.empty(); } + bool isGranted(const UUID & role_) const; bool isGrantedWithAdminOption(const UUID & role_) const; @@ -54,6 +57,9 @@ public: friend bool operator ==(const GrantedRoles & left, const GrantedRoles & right) { return (left.roles == right.roles) && (left.roles_with_admin_option == right.roles_with_admin_option); } friend bool operator !=(const GrantedRoles & left, const GrantedRoles & right) { return !(left == right); } + std::vector findDependencies() const; + void replaceDependencies(const std::unordered_map & old_to_new_ids); + private: boost::container::flat_set roles; boost::container::flat_set roles_with_admin_option; diff --git a/src/Access/IAccessEntity.h b/src/Access/IAccessEntity.h index 04faa879040..5614a172f6f 100644 --- a/src/Access/IAccessEntity.h +++ b/src/Access/IAccessEntity.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace DB @@ -45,6 +46,15 @@ struct IAccessEntity bool operator()(const std::shared_ptr & lhs, const std::shared_ptr & rhs) const { return operator()(*lhs, *rhs); } }; + /// Finds all dependencies. + virtual std::vector findDependencies() const { return {}; } + + /// Replaces dependencies according to a specified map. + virtual void replaceDependencies(const std::unordered_map & /* old_to_new_ids */) {} + + /// Whether this access entity should be written to a backup. + virtual bool isBackupAllowed() const { return false; } + protected: String name; diff --git a/src/Access/IAccessStorage.cpp b/src/Access/IAccessStorage.cpp index 6b04355099d..2be99dfb38b 100644 --- a/src/Access/IAccessStorage.cpp +++ b/src/Access/IAccessStorage.cpp @@ -2,14 +2,18 @@ #include #include #include +#include +#include #include #include #include +#include #include #include #include #include #include +#include namespace DB @@ -19,6 +23,7 @@ namespace ErrorCodes extern const int ACCESS_ENTITY_ALREADY_EXISTS; extern const int ACCESS_ENTITY_NOT_FOUND; extern const int ACCESS_STORAGE_READONLY; + extern const int ACCESS_STORAGE_DOESNT_ALLOW_BACKUP; extern const int WRONG_PASSWORD; extern const int IP_ADDRESS_NOT_ALLOWED; extern const int LOGICAL_ERROR; @@ -83,13 +88,15 @@ std::vector IAccessStorage::getIDs(AccessEntityType type, const Strings & String IAccessStorage::readName(const UUID & id) const { - return *readNameImpl(id, /* throw_if_not_exists = */ true); + return readNameWithType(id).first; } std::optional IAccessStorage::readName(const UUID & id, bool throw_if_not_exists) const { - return readNameImpl(id, throw_if_not_exists); + if (auto name_and_type = readNameWithType(id, throw_if_not_exists)) + return name_and_type->first; + return std::nullopt; } @@ -99,7 +106,7 @@ Strings IAccessStorage::readNames(const std::vector & ids, bool throw_if_n res.reserve(ids.size()); for (const auto & id : ids) { - if (auto name = readNameImpl(id, throw_if_not_exists)) + if (auto name = readName(id, throw_if_not_exists)) res.emplace_back(std::move(name).value()); } return res; @@ -118,14 +125,42 @@ Strings IAccessStorage::tryReadNames(const std::vector & ids) const } -std::optional IAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::pair IAccessStorage::readNameWithType(const UUID & id) const +{ + return *readNameWithTypeImpl(id, /* throw_if_not_exists = */ true); +} + +std::optional> IAccessStorage::readNameWithType(const UUID & id, bool throw_if_not_exists) const +{ + return readNameWithTypeImpl(id, throw_if_not_exists); +} + +std::optional> IAccessStorage::tryReadNameWithType(const UUID & id) const +{ + return readNameWithTypeImpl(id, /* throw_if_not_exists = */ false); +} + + +std::optional> IAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { if (auto entity = read(id, throw_if_not_exists)) - return entity->getName(); + return std::make_pair(entity->getName(), entity->getType()); return std::nullopt; } +std::vector> IAccessStorage::readAllWithIDs(AccessEntityType type) const +{ + std::vector> entities; + for (const auto & id : findAll(type)) + { + if (auto entity = tryRead(id)) + entities.emplace_back(id, entity); + } + return entities; +} + + UUID IAccessStorage::insert(const AccessEntityPtr & entity) { return *insert(entity, /* replace_if_exists = */ false, /* throw_if_exists = */ true); @@ -488,6 +523,36 @@ bool IAccessStorage::isAddressAllowed(const User & user, const Poco::Net::IPAddr } +void IAccessStorage::backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const +{ + if (!isBackupAllowed()) + throwBackupNotAllowed(); + + auto entities = readAllWithIDs(type); + boost::range::remove_erase_if(entities, [](const std::pair & x) { return !x.second->isBackupAllowed(); }); + + if (entities.empty()) + return; + + auto backup_entry = makeBackupEntryForAccess( + entities, + data_path_in_backup, + backup_entries_collector.getAccessCounter(type), + backup_entries_collector.getContext()->getAccessControl()); + + backup_entries_collector.addBackupEntry(backup_entry); +} + + +void IAccessStorage::restoreFromBackup(RestorerFromBackup &) +{ + if (!isRestoreAllowed()) + throwRestoreNotAllowed(); + + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "restoreFromBackup() is not implemented in {}", getStorageType()); +} + + UUID IAccessStorage::generateRandomID() { static Poco::UUIDGenerator generator; @@ -577,6 +642,7 @@ void IAccessStorage::throwReadonlyCannotRemove(AccessEntityType type, const Stri ErrorCodes::ACCESS_STORAGE_READONLY); } + void IAccessStorage::throwAddressNotAllowed(const Poco::Net::IPAddress & address) { throw Exception("Connections from " + address.toString() + " are not allowed", ErrorCodes::IP_ADDRESS_NOT_ALLOWED); @@ -589,9 +655,20 @@ void IAccessStorage::throwAuthenticationTypeNotAllowed(AuthenticationType auth_t "Authentication type {} is not allowed, check the setting allow_{} in the server configuration", toString(auth_type), AuthenticationTypeInfo::get(auth_type).name); } + void IAccessStorage::throwInvalidCredentials() { throw Exception("Invalid credentials", ErrorCodes::WRONG_PASSWORD); } +void IAccessStorage::throwBackupNotAllowed() const +{ + throw Exception(ErrorCodes::ACCESS_STORAGE_DOESNT_ALLOW_BACKUP, "Backup of access entities is not allowed in {}", getStorageName()); +} + +void IAccessStorage::throwRestoreNotAllowed() const +{ + throw Exception(ErrorCodes::ACCESS_STORAGE_DOESNT_ALLOW_BACKUP, "Restore of access entities is not allowed in {}", getStorageName()); +} + } diff --git a/src/Access/IAccessStorage.h b/src/Access/IAccessStorage.h index 5de20cad286..394d3ed6358 100644 --- a/src/Access/IAccessStorage.h +++ b/src/Access/IAccessStorage.h @@ -18,6 +18,8 @@ struct User; class Credentials; class ExternalAuthenticators; enum class AuthenticationType; +class BackupEntriesCollector; +class RestorerFromBackup; /// Contains entities, i.e. instances of classes derived from IAccessEntity. /// The implementations of this class MUST be thread-safe. @@ -101,6 +103,16 @@ public: std::optional tryReadName(const UUID & id) const; Strings tryReadNames(const std::vector & ids) const; + std::pair readNameWithType(const UUID & id) const; + std::optional> readNameWithType(const UUID & id, bool throw_if_not_exists) const; + std::optional> tryReadNameWithType(const UUID & id) const; + + /// Reads all entities and returns them with their IDs. + template + std::vector>> readAllWithIDs() const; + + std::vector> readAllWithIDs(AccessEntityType type) const; + /// Inserts an entity to the storage. Returns ID of a new entry in the storage. /// Throws an exception if the specified name already exists. UUID insert(const AccessEntityPtr & entity); @@ -143,11 +155,19 @@ public: UUID authenticate(const Credentials & credentials, const Poco::Net::IPAddress & address, const ExternalAuthenticators & external_authenticators, bool allow_no_password, bool allow_plaintext_password) const; std::optional authenticate(const Credentials & credentials, const Poco::Net::IPAddress & address, const ExternalAuthenticators & external_authenticators, bool throw_if_user_not_exists, bool allow_no_password, bool allow_plaintext_password) const; + /// Returns true if this storage can be stored to or restored from a backup. + virtual bool isBackupAllowed() const { return false; } + virtual bool isRestoreAllowed() const { return isBackupAllowed() && !isReadOnly(); } + + /// Makes a backup of this access storage. + virtual void backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const; + virtual void restoreFromBackup(RestorerFromBackup & restorer); + protected: virtual std::optional findImpl(AccessEntityType type, const String & name) const = 0; virtual std::vector findAllImpl(AccessEntityType type) const = 0; virtual AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const = 0; - virtual std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const; + virtual std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const; virtual std::optional insertImpl(const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists); virtual bool removeImpl(const UUID & id, bool throw_if_not_exists); virtual bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists); @@ -170,6 +190,8 @@ protected: [[noreturn]] static void throwAddressNotAllowed(const Poco::Net::IPAddress & address); [[noreturn]] static void throwInvalidCredentials(); [[noreturn]] static void throwAuthenticationTypeNotAllowed(AuthenticationType auth_type); + [[noreturn]] void throwBackupNotAllowed() const; + [[noreturn]] void throwRestoreNotAllowed() const; private: const String storage_name; @@ -218,4 +240,17 @@ std::shared_ptr IAccessStorage::tryRead(const String & name) { return read(name, false); } + +template +std::vector>> IAccessStorage::readAllWithIDs() const +{ + std::vector>> entities; + for (const auto & id : findAll()) + { + if (auto entity = tryRead(id)) + entities.emplace_back(id, entity); + } + return entities; +} + } diff --git a/src/Access/KerberosInit.cpp b/src/Access/KerberosInit.cpp new file mode 100644 index 00000000000..1bba82bc46f --- /dev/null +++ b/src/Access/KerberosInit.cpp @@ -0,0 +1,230 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#if USE_KRB5 +#include +#include + +using namespace DB; + +namespace DB +{ +namespace ErrorCodes +{ + extern const int KERBEROS_ERROR; +} +} + +namespace +{ +struct K5Data +{ + krb5_context ctx; + krb5_ccache out_cc; + krb5_principal me; + char * name; + krb5_boolean switch_to_cache; +}; + +/** + * This class implements programmatic implementation of kinit. + */ +class KerberosInit : boost::noncopyable +{ +public: + void init(const String & keytab_file, const String & principal, const String & cache_name = ""); + ~KerberosInit(); +private: + struct K5Data k5 {}; + krb5_ccache defcache = nullptr; + krb5_get_init_creds_opt * options = nullptr; + // Credentials structure including ticket, session key, and lifetime info. + krb5_creds my_creds; + krb5_keytab keytab = nullptr; + krb5_principal defcache_princ = nullptr; + String fmtError(krb5_error_code code) const; +}; +} + + +String KerberosInit::fmtError(krb5_error_code code) const +{ + const char *msg; + msg = krb5_get_error_message(k5.ctx, code); + String fmt_error = fmt::format(" ({}, {})", code, msg); + krb5_free_error_message(k5.ctx, msg); + return fmt_error; +} + +void KerberosInit::init(const String & keytab_file, const String & principal, const String & cache_name) +{ + auto * log = &Poco::Logger::get("KerberosInit"); + LOG_TRACE(log,"Trying to authenticate with Kerberos v5"); + + krb5_error_code ret; + + const char *deftype = nullptr; + + if (!std::filesystem::exists(keytab_file)) + throw Exception("Keytab file does not exist", ErrorCodes::KERBEROS_ERROR); + + ret = krb5_init_context(&k5.ctx); + if (ret) + throw Exception(ErrorCodes::KERBEROS_ERROR, "Error while initializing Kerberos 5 library ({})", ret); + + if (!cache_name.empty()) + { + ret = krb5_cc_resolve(k5.ctx, cache_name.c_str(), &k5.out_cc); + if (ret) + throw Exception("Error in resolving cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Resolved cache"); + } + else + { + // Resolve the default cache and get its type and default principal (if it is initialized). + ret = krb5_cc_default(k5.ctx, &defcache); + if (ret) + throw Exception("Error while getting default cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Resolved default cache"); + deftype = krb5_cc_get_type(k5.ctx, defcache); + if (krb5_cc_get_principal(k5.ctx, defcache, &defcache_princ) != 0) + defcache_princ = nullptr; + } + + // Use the specified principal name. + ret = krb5_parse_name_flags(k5.ctx, principal.c_str(), 0, &k5.me); + if (ret) + throw Exception("Error when parsing principal name " + principal + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + + // Cache related commands + if (k5.out_cc == nullptr && krb5_cc_support_switch(k5.ctx, deftype)) + { + // Use an existing cache for the client principal if we can. + ret = krb5_cc_cache_match(k5.ctx, k5.me, &k5.out_cc); + if (ret && ret != KRB5_CC_NOTFOUND) + throw Exception("Error while searching for cache for " + principal + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + if (0 == ret) + { + LOG_TRACE(log,"Using default cache: {}", krb5_cc_get_name(k5.ctx, k5.out_cc)); + k5.switch_to_cache = 1; + } + else if (defcache_princ != nullptr) + { + // Create a new cache to avoid overwriting the initialized default cache. + ret = krb5_cc_new_unique(k5.ctx, deftype, nullptr, &k5.out_cc); + if (ret) + throw Exception("Error while generating new cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Using default cache: {}", krb5_cc_get_name(k5.ctx, k5.out_cc)); + k5.switch_to_cache = 1; + } + } + + // Use the default cache if we haven't picked one yet. + if (k5.out_cc == nullptr) + { + k5.out_cc = defcache; + defcache = nullptr; + LOG_TRACE(log,"Using default cache: {}", krb5_cc_get_name(k5.ctx, k5.out_cc)); + } + + ret = krb5_unparse_name(k5.ctx, k5.me, &k5.name); + if (ret) + throw Exception("Error when unparsing name" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Using principal: {}", k5.name); + + // Allocate a new initial credential options structure. + ret = krb5_get_init_creds_opt_alloc(k5.ctx, &options); + if (ret) + throw Exception("Error in options allocation" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + + // Resolve keytab + ret = krb5_kt_resolve(k5.ctx, keytab_file.c_str(), &keytab); + if (ret) + throw Exception("Error in resolving keytab "+keytab_file + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Using keytab: {}", keytab_file); + + // Set an output credential cache in initial credential options. + ret = krb5_get_init_creds_opt_set_out_ccache(k5.ctx, options, k5.out_cc); + if (ret) + throw Exception("Error in setting output credential cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + + // Action: init or renew + LOG_TRACE(log,"Trying to renew credentials"); + memset(&my_creds, 0, sizeof(my_creds)); + // Get renewed credential from KDC using an existing credential from output cache. + ret = krb5_get_renewed_creds(k5.ctx, &my_creds, k5.me, k5.out_cc, nullptr); + if (ret) + { + LOG_TRACE(log,"Renew failed {}", fmtError(ret)); + LOG_TRACE(log,"Trying to get initial credentials"); + // Request KDC for an initial credentials using keytab. + ret = krb5_get_init_creds_keytab(k5.ctx, &my_creds, k5.me, keytab, 0, nullptr, options); + if (ret) + throw Exception("Error in getting initial credentials" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + else + LOG_TRACE(log,"Got initial credentials"); + } + else + { + LOG_TRACE(log,"Successful renewal"); + // Initialize a credential cache. Destroy any existing contents of cache and initialize it for the default principal. + ret = krb5_cc_initialize(k5.ctx, k5.out_cc, k5.me); + if (ret) + throw Exception("Error when initializing cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Initialized cache"); + // Store credentials in a credential cache. + ret = krb5_cc_store_cred(k5.ctx, k5.out_cc, &my_creds); + if (ret) + LOG_TRACE(log,"Error while storing credentials"); + LOG_TRACE(log,"Stored credentials"); + } + + if (k5.switch_to_cache) + { + // Make a credential cache the primary cache for its collection. + ret = krb5_cc_switch(k5.ctx, k5.out_cc); + if (ret) + throw Exception("Error while switching to new cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + } + + LOG_TRACE(log,"Authenticated to Kerberos v5"); +} + +KerberosInit::~KerberosInit() +{ + if (k5.ctx) + { + if (defcache) + krb5_cc_close(k5.ctx, defcache); + krb5_free_principal(k5.ctx, defcache_princ); + + if (options) + krb5_get_init_creds_opt_free(k5.ctx, options); + if (my_creds.client == k5.me) + my_creds.client = nullptr; + krb5_free_cred_contents(k5.ctx, &my_creds); + if (keytab) + krb5_kt_close(k5.ctx, keytab); + + krb5_free_unparsed_name(k5.ctx, k5.name); + krb5_free_principal(k5.ctx, k5.me); + if (k5.out_cc != nullptr) + krb5_cc_close(k5.ctx, k5.out_cc); + krb5_free_context(k5.ctx); + } +} + +void kerberosInit(const String & keytab_file, const String & principal, const String & cache_name) +{ + // Using mutex to prevent cache file corruptions + static std::mutex kinit_mtx; + std::lock_guard lck(kinit_mtx); + KerberosInit k_init; + k_init.init(keytab_file, principal, cache_name); +} +#endif // USE_KRB5 diff --git a/src/Access/KerberosInit.h b/src/Access/KerberosInit.h new file mode 100644 index 00000000000..5a11a275529 --- /dev/null +++ b/src/Access/KerberosInit.h @@ -0,0 +1,11 @@ +#pragma once + +#include "config_core.h" + +#include + +#if USE_KRB5 + +void kerberosInit(const String & keytab_file, const String & principal, const String & cache_name = ""); + +#endif // USE_KRB5 diff --git a/src/Access/LDAPAccessStorage.cpp b/src/Access/LDAPAccessStorage.cpp index 480d0050e2a..50e231f2c51 100644 --- a/src/Access/LDAPAccessStorage.cpp +++ b/src/Access/LDAPAccessStorage.cpp @@ -28,7 +28,7 @@ namespace ErrorCodes LDAPAccessStorage::LDAPAccessStorage(const String & storage_name_, AccessControl & access_control_, const Poco::Util::AbstractConfiguration & config, const String & prefix) - : IAccessStorage(storage_name_), access_control(access_control_), memory_storage(storage_name_, access_control.getChangesNotifier()) + : IAccessStorage(storage_name_), access_control(access_control_), memory_storage(storage_name_, access_control.getChangesNotifier(), false) { setConfiguration(config, prefix); } @@ -36,6 +36,7 @@ LDAPAccessStorage::LDAPAccessStorage(const String & storage_name_, AccessControl String LDAPAccessStorage::getLDAPServerName() const { + std::scoped_lock lock(mutex); return ldap_server_name; } @@ -442,10 +443,10 @@ AccessEntityPtr LDAPAccessStorage::readImpl(const UUID & id, bool throw_if_not_e } -std::optional LDAPAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::optional> LDAPAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { std::scoped_lock lock(mutex); - return memory_storage.readName(id, throw_if_not_exists); + return memory_storage.readNameWithType(id, throw_if_not_exists); } @@ -504,4 +505,5 @@ std::optional LDAPAccessStorage::authenticateImpl( return id; } + } diff --git a/src/Access/LDAPAccessStorage.h b/src/Access/LDAPAccessStorage.h index df13eff179b..21413070f4c 100644 --- a/src/Access/LDAPAccessStorage.h +++ b/src/Access/LDAPAccessStorage.h @@ -47,7 +47,7 @@ private: // IAccessStorage implementations. virtual std::optional findImpl(AccessEntityType type, const String & name) const override; virtual std::vector findAllImpl(AccessEntityType type) const override; virtual AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; - virtual std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const override; + virtual std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const override; virtual std::optional authenticateImpl(const Credentials & credentials, const Poco::Net::IPAddress & address, const ExternalAuthenticators & external_authenticators, bool throw_if_user_not_exists, bool allow_no_password, bool allow_plaintext_password) const override; void setConfiguration(const Poco::Util::AbstractConfiguration & config, const String & prefix); diff --git a/src/Access/LDAPClient.cpp b/src/Access/LDAPClient.cpp index 3486be1de33..ff1ee6f3609 100644 --- a/src/Access/LDAPClient.cpp +++ b/src/Access/LDAPClient.cpp @@ -509,7 +509,6 @@ LDAPClient::SearchResults LDAPClient::search(const SearchParams & search_params) if (referrals) { SCOPE_EXIT({ -// ldap_value_free(referrals); ber_memvfree(reinterpret_cast(referrals)); referrals = nullptr; }); diff --git a/src/Access/MemoryAccessStorage.cpp b/src/Access/MemoryAccessStorage.cpp index 9ed80f4a64d..60669532e25 100644 --- a/src/Access/MemoryAccessStorage.cpp +++ b/src/Access/MemoryAccessStorage.cpp @@ -1,5 +1,7 @@ #include #include +#include +#include #include #include #include @@ -8,8 +10,8 @@ namespace DB { -MemoryAccessStorage::MemoryAccessStorage(const String & storage_name_, AccessChangesNotifier & changes_notifier_) - : IAccessStorage(storage_name_), changes_notifier(changes_notifier_) +MemoryAccessStorage::MemoryAccessStorage(const String & storage_name_, AccessChangesNotifier & changes_notifier_, bool allow_backup_) + : IAccessStorage(storage_name_), changes_notifier(changes_notifier_), backup_allowed(allow_backup_) { } @@ -65,14 +67,20 @@ AccessEntityPtr MemoryAccessStorage::readImpl(const UUID & id, bool throw_if_not std::optional MemoryAccessStorage::insertImpl(const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { UUID id = generateRandomID(); - std::lock_guard lock{mutex}; - if (insertNoLock(id, new_entity, replace_if_exists, throw_if_exists)) + if (insertWithID(id, new_entity, replace_if_exists, throw_if_exists)) return id; return std::nullopt; } +bool MemoryAccessStorage::insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) +{ + std::lock_guard lock{mutex}; + return insertNoLock(id, new_entity, replace_if_exists, throw_if_exists); +} + + bool MemoryAccessStorage::insertNoLock(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { const String & name = new_entity->getName(); @@ -264,4 +272,25 @@ void MemoryAccessStorage::setAll(const std::vector +#include #include #include #include @@ -17,7 +18,7 @@ class MemoryAccessStorage : public IAccessStorage public: static constexpr char STORAGE_TYPE[] = "memory"; - explicit MemoryAccessStorage(const String & storage_name_, AccessChangesNotifier & changes_notifier_); + explicit MemoryAccessStorage(const String & storage_name_, AccessChangesNotifier & changes_notifier_, bool allow_backup_); const char * getStorageType() const override { return STORAGE_TYPE; } @@ -27,6 +28,9 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override { return backup_allowed; } + void restoreFromBackup(RestorerFromBackup & restorer) override; + private: std::optional findImpl(AccessEntityType type, const String & name) const override; std::vector findAllImpl(AccessEntityType type) const override; @@ -35,9 +39,10 @@ private: bool removeImpl(const UUID & id, bool throw_if_not_exists) override; bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) override; - bool insertNoLock(const UUID & id, const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists); - bool removeNoLock(const UUID & id, bool throw_if_not_exists); - bool updateNoLock(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists); + bool insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists); + bool insertNoLock(const UUID & id, const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists) TSA_REQUIRES(mutex); + bool removeNoLock(const UUID & id, bool throw_if_not_exists) TSA_REQUIRES(mutex); + bool updateNoLock(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) TSA_REQUIRES(mutex); struct Entry { @@ -46,8 +51,9 @@ private: }; mutable std::mutex mutex; - std::unordered_map entries_by_id; /// We want to search entries both by ID and by the pair of name and type. - std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)]; + std::unordered_map entries_by_id TSA_GUARDED_BY(mutex); /// We want to search entries both by ID and by the pair of name and type. + std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)] TSA_GUARDED_BY(mutex); AccessChangesNotifier & changes_notifier; + bool backup_allowed = false; }; } diff --git a/src/Access/MultipleAccessStorage.cpp b/src/Access/MultipleAccessStorage.cpp index ce4c9f3fd01..e7151cc7b4b 100644 --- a/src/Access/MultipleAccessStorage.cpp +++ b/src/Access/MultipleAccessStorage.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -42,14 +43,14 @@ MultipleAccessStorage::~MultipleAccessStorage() void MultipleAccessStorage::setStorages(const std::vector & storages) { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; nested_storages = std::make_shared(storages); ids_cache.reset(); } void MultipleAccessStorage::addStorage(const StoragePtr & new_storage) { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; if (boost::range::find(*nested_storages, new_storage) != nested_storages->end()) return; auto new_storages = std::make_shared(*nested_storages); @@ -59,7 +60,7 @@ void MultipleAccessStorage::addStorage(const StoragePtr & new_storage) void MultipleAccessStorage::removeStorage(const StoragePtr & storage_to_remove) { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; auto it = boost::range::find(*nested_storages, storage_to_remove); if (it == nested_storages->end()) return; @@ -189,10 +190,10 @@ AccessEntityPtr MultipleAccessStorage::readImpl(const UUID & id, bool throw_if_n } -std::optional MultipleAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::optional> MultipleAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { if (auto storage = findStorage(id)) - return storage->readName(id, throw_if_not_exists); + return storage->readNameWithType(id, throw_if_not_exists); if (throw_if_not_exists) throwNotFound(id); @@ -357,4 +358,63 @@ MultipleAccessStorage::authenticateImpl(const Credentials & credentials, const P return std::nullopt; } + +bool MultipleAccessStorage::isBackupAllowed() const +{ + auto storages = getStoragesInternal(); + for (const auto & storage : *storages) + { + if (storage->isBackupAllowed()) + return true; + } + return false; +} + + +bool MultipleAccessStorage::isRestoreAllowed() const +{ + auto storages = getStoragesInternal(); + for (const auto & storage : *storages) + { + if (storage->isRestoreAllowed()) + return true; + } + return false; +} + + +void MultipleAccessStorage::backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const +{ + auto storages = getStoragesInternal(); + bool allowed = false; + + for (const auto & storage : *storages) + { + if (storage->isBackupAllowed()) + { + storage->backup(backup_entries_collector, data_path_in_backup, type); + allowed = true; + } + } + + if (!allowed) + throwBackupNotAllowed(); +} + +void MultipleAccessStorage::restoreFromBackup(RestorerFromBackup & restorer) +{ + auto storages = getStoragesInternal(); + + for (const auto & storage : *storages) + { + if (storage->isRestoreAllowed()) + { + storage->restoreFromBackup(restorer); + return; + } + } + + throwBackupNotAllowed(); +} + } diff --git a/src/Access/MultipleAccessStorage.h b/src/Access/MultipleAccessStorage.h index 61a975050b6..bc9a4705785 100644 --- a/src/Access/MultipleAccessStorage.h +++ b/src/Access/MultipleAccessStorage.h @@ -1,7 +1,8 @@ #pragma once #include -#include +#include +#include #include @@ -42,11 +43,16 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override; + bool isRestoreAllowed() const override; + void backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const override; + void restoreFromBackup(RestorerFromBackup & restorer) override; + protected: std::optional findImpl(AccessEntityType type, const String & name) const override; std::vector findAllImpl(AccessEntityType type) const override; AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; - std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const override; + std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const override; std::optional insertImpl(const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists) override; bool removeImpl(const UUID & id, bool throw_if_not_exists) override; bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) override; @@ -56,8 +62,8 @@ private: using Storages = std::vector; std::shared_ptr getStoragesInternal() const; - std::shared_ptr nested_storages; - mutable LRUCache ids_cache; + std::shared_ptr nested_storages TSA_GUARDED_BY(mutex); + mutable CacheBase ids_cache TSA_GUARDED_BY(mutex); mutable std::mutex mutex; }; diff --git a/src/Access/Quota.cpp b/src/Access/Quota.cpp index dc855599999..87b15e722c3 100644 --- a/src/Access/Quota.cpp +++ b/src/Access/Quota.cpp @@ -19,5 +19,14 @@ bool Quota::equal(const IAccessEntity & other) const return (all_limits == other_quota.all_limits) && (key_type == other_quota.key_type) && (to_roles == other_quota.to_roles); } +std::vector Quota::findDependencies() const +{ + return to_roles.findDependencies(); } +void Quota::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + to_roles.replaceDependencies(old_to_new_ids); +} + +} diff --git a/src/Access/Quota.h b/src/Access/Quota.h index 487af49d684..eb9edb14fb0 100644 --- a/src/Access/Quota.h +++ b/src/Access/Quota.h @@ -45,6 +45,10 @@ struct Quota : public IAccessEntity std::shared_ptr clone() const override { return cloneImpl(); } static constexpr const auto TYPE = AccessEntityType::QUOTA; AccessEntityType getType() const override { return TYPE; } + + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return true; } }; using QuotaPtr = std::shared_ptr; diff --git a/src/Access/ReplicatedAccessStorage.cpp b/src/Access/ReplicatedAccessStorage.cpp index d3d1ee3fb6b..c7aec75265c 100644 --- a/src/Access/ReplicatedAccessStorage.cpp +++ b/src/Access/ReplicatedAccessStorage.cpp @@ -2,8 +2,14 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include -#include +#include #include #include #include @@ -11,6 +17,7 @@ #include #include #include +#include namespace DB @@ -33,12 +40,14 @@ ReplicatedAccessStorage::ReplicatedAccessStorage( const String & storage_name_, const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, - AccessChangesNotifier & changes_notifier_) + AccessChangesNotifier & changes_notifier_, + bool allow_backup_) : IAccessStorage(storage_name_) , zookeeper_path(zookeeper_path_) , get_zookeeper(get_zookeeper_) , watched_queue(std::make_shared>(std::numeric_limits::max())) , changes_notifier(changes_notifier_) + , backup_allowed(allow_backup_) { if (zookeeper_path.empty()) throw Exception("ZooKeeper path must be non-empty", ErrorCodes::BAD_ARGUMENTS); @@ -99,6 +108,15 @@ static void retryOnZooKeeperUserError(size_t attempts, Func && function) std::optional ReplicatedAccessStorage::insertImpl(const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { const UUID id = generateRandomID(); + if (insertWithID(id, new_entity, replace_if_exists, throw_if_exists)) + return id; + + return std::nullopt; +} + + +bool ReplicatedAccessStorage::insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) +{ const AccessEntityTypeInfo type_info = AccessEntityTypeInfo::get(new_entity->getType()); const String & name = new_entity->getName(); LOG_DEBUG(getLogger(), "Inserting entity of type {} named {} with id {}", type_info.name, name, toString(id)); @@ -108,11 +126,11 @@ std::optional ReplicatedAccessStorage::insertImpl(const AccessEntityPtr & retryOnZooKeeperUserError(10, [&]{ ok = insertZooKeeper(zookeeper, id, new_entity, replace_if_exists, throw_if_exists); }); if (!ok) - return std::nullopt; + return false; std::lock_guard lock{mutex}; refreshEntityNoLock(zookeeper, id); - return id; + return true; } @@ -600,4 +618,64 @@ AccessEntityPtr ReplicatedAccessStorage::readImpl(const UUID & id, bool throw_if return entry.entity; } + +void ReplicatedAccessStorage::backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const +{ + if (!isBackupAllowed()) + throwBackupNotAllowed(); + + auto entities = readAllWithIDs(type); + boost::range::remove_erase_if(entities, [](const std::pair & x) { return !x.second->isBackupAllowed(); }); + + if (entities.empty()) + return; + + auto backup_entry_with_path = makeBackupEntryForAccess( + entities, + data_path_in_backup, + backup_entries_collector.getAccessCounter(type), + backup_entries_collector.getContext()->getAccessControl()); + + auto backup_coordination = backup_entries_collector.getBackupCoordination(); + String current_host_id = backup_entries_collector.getBackupSettings().host_id; + backup_coordination->addReplicatedAccessFilePath(zookeeper_path, type, current_host_id, backup_entry_with_path.first); + + backup_entries_collector.addPostTask( + [backup_entry = backup_entry_with_path.second, + zookeeper_path = zookeeper_path, + type, + current_host_id, + &backup_entries_collector, + backup_coordination] + { + for (const String & path : backup_coordination->getReplicatedAccessFilePaths(zookeeper_path, type, current_host_id)) + backup_entries_collector.addBackupEntry(path, backup_entry); + }); +} + + +void ReplicatedAccessStorage::restoreFromBackup(RestorerFromBackup & restorer) +{ + if (!isRestoreAllowed()) + throwRestoreNotAllowed(); + + auto restore_coordination = restorer.getRestoreCoordination(); + if (!restore_coordination->acquireReplicatedAccessStorage(zookeeper_path)) + return; + + auto entities = restorer.getAccessEntitiesToRestore(); + if (entities.empty()) + return; + + auto create_access = restorer.getRestoreSettings().create_access; + bool replace_if_exists = (create_access == RestoreAccessCreationMode::kReplace); + bool throw_if_exists = (create_access == RestoreAccessCreationMode::kCreate); + + restorer.addDataRestoreTask([this, entities = std::move(entities), replace_if_exists, throw_if_exists] + { + for (const auto & [id, entity] : entities) + insertWithID(id, entity, replace_if_exists, throw_if_exists); + }); +} + } diff --git a/src/Access/ReplicatedAccessStorage.h b/src/Access/ReplicatedAccessStorage.h index f9f579e2ba7..6311e2ac7c0 100644 --- a/src/Access/ReplicatedAccessStorage.h +++ b/src/Access/ReplicatedAccessStorage.h @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -26,7 +27,7 @@ class ReplicatedAccessStorage : public IAccessStorage public: static constexpr char STORAGE_TYPE[] = "replicated"; - ReplicatedAccessStorage(const String & storage_name, const String & zookeeper_path, zkutil::GetZooKeeper get_zookeeper, AccessChangesNotifier & changes_notifier_); + ReplicatedAccessStorage(const String & storage_name, const String & zookeeper_path, zkutil::GetZooKeeper get_zookeeper, AccessChangesNotifier & changes_notifier_, bool allow_backup); virtual ~ReplicatedAccessStorage() override; const char * getStorageType() const override { return STORAGE_TYPE; } @@ -36,6 +37,10 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override { return backup_allowed; } + void backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const override; + void restoreFromBackup(RestorerFromBackup & restorer) override; + private: String zookeeper_path; zkutil::GetZooKeeper get_zookeeper; @@ -50,6 +55,7 @@ private: bool removeImpl(const UUID & id, bool throw_if_not_exists) override; bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) override; + bool insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists); bool insertZooKeeper(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id, const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists); bool removeZooKeeper(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id, bool throw_if_not_exists); bool updateZooKeeper(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists); @@ -66,10 +72,10 @@ private: bool refresh(); void refreshEntities(const zkutil::ZooKeeperPtr & zookeeper); void refreshEntity(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id); - void refreshEntityNoLock(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id); + void refreshEntityNoLock(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id) TSA_REQUIRES(mutex); - void setEntityNoLock(const UUID & id, const AccessEntityPtr & entity); - void removeEntityNoLock(const UUID & id); + void setEntityNoLock(const UUID & id, const AccessEntityPtr & entity) TSA_REQUIRES(mutex); + void removeEntityNoLock(const UUID & id) TSA_REQUIRES(mutex); struct Entry { @@ -82,8 +88,9 @@ private: AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; mutable std::mutex mutex; - std::unordered_map entries_by_id; - std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)]; + std::unordered_map entries_by_id TSA_GUARDED_BY(mutex); + std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)] TSA_GUARDED_BY(mutex); AccessChangesNotifier & changes_notifier; + bool backup_allowed = false; }; } diff --git a/src/Access/Role.cpp b/src/Access/Role.cpp index 3df562ad1f0..089488e7aba 100644 --- a/src/Access/Role.cpp +++ b/src/Access/Role.cpp @@ -1,4 +1,5 @@ #include +#include namespace DB @@ -12,4 +13,18 @@ bool Role::equal(const IAccessEntity & other) const return (access == other_role.access) && (granted_roles == other_role.granted_roles) && (settings == other_role.settings); } +std::vector Role::findDependencies() const +{ + std::vector res; + insertAtEnd(res, granted_roles.findDependencies()); + insertAtEnd(res, settings.findDependencies()); + return res; +} + +void Role::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + granted_roles.replaceDependencies(old_to_new_ids); + settings.replaceDependencies(old_to_new_ids); +} + } diff --git a/src/Access/Role.h b/src/Access/Role.h index c7f1e107d24..b2f879dc357 100644 --- a/src/Access/Role.h +++ b/src/Access/Role.h @@ -19,6 +19,10 @@ struct Role : public IAccessEntity std::shared_ptr clone() const override { return cloneImpl(); } static constexpr const auto TYPE = AccessEntityType::ROLE; AccessEntityType getType() const override { return TYPE; } + + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return settings.isBackupAllowed(); } }; using RolePtr = std::shared_ptr; diff --git a/src/Access/RolesOrUsersSet.cpp b/src/Access/RolesOrUsersSet.cpp index 3e0d56c77a0..dce89434aff 100644 --- a/src/Access/RolesOrUsersSet.cpp +++ b/src/Access/RolesOrUsersSet.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -286,4 +287,54 @@ bool operator ==(const RolesOrUsersSet & lhs, const RolesOrUsersSet & rhs) return (lhs.all == rhs.all) && (lhs.ids == rhs.ids) && (lhs.except_ids == rhs.except_ids); } +std::vector RolesOrUsersSet::findDependencies() const +{ + std::vector res; + boost::range::copy(ids, std::back_inserter(res)); + boost::range::copy(except_ids, std::back_inserter(res)); + return res; +} + +void RolesOrUsersSet::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + std::vector new_ids; + + for (auto it = ids.begin(); it != ids.end();) + { + auto id = *it; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + new_ids.push_back(new_id); + it = ids.erase(it); + } + else + { + ++it; + } + } + + boost::range::copy(new_ids, std::inserter(ids, ids.end())); + new_ids.clear(); + + for (auto it = except_ids.begin(); it != except_ids.end();) + { + auto id = *it; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + new_ids.push_back(new_id); + it = except_ids.erase(it); + } + else + { + ++it; + } + } + + boost::range::copy(new_ids, std::inserter(except_ids, except_ids.end())); +} + } diff --git a/src/Access/RolesOrUsersSet.h b/src/Access/RolesOrUsersSet.h index 43247057c86..29e499bc81b 100644 --- a/src/Access/RolesOrUsersSet.h +++ b/src/Access/RolesOrUsersSet.h @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB @@ -62,6 +63,9 @@ struct RolesOrUsersSet friend bool operator ==(const RolesOrUsersSet & lhs, const RolesOrUsersSet & rhs); friend bool operator !=(const RolesOrUsersSet & lhs, const RolesOrUsersSet & rhs) { return !(lhs == rhs); } + std::vector findDependencies() const; + void replaceDependencies(const std::unordered_map & old_to_new_ids); + bool all = false; boost::container::flat_set ids; boost::container::flat_set except_ids; diff --git a/src/Access/RowPolicy.cpp b/src/Access/RowPolicy.cpp index c09675e0e34..cc4ad9c6e24 100644 --- a/src/Access/RowPolicy.cpp +++ b/src/Access/RowPolicy.cpp @@ -58,4 +58,14 @@ bool RowPolicy::equal(const IAccessEntity & other) const && restrictive == other_policy.restrictive && (to_roles == other_policy.to_roles); } +std::vector RowPolicy::findDependencies() const +{ + return to_roles.findDependencies(); +} + +void RowPolicy::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + to_roles.replaceDependencies(old_to_new_ids); +} + } diff --git a/src/Access/RowPolicy.h b/src/Access/RowPolicy.h index 9c143aff725..99e6f1992f5 100644 --- a/src/Access/RowPolicy.h +++ b/src/Access/RowPolicy.h @@ -46,6 +46,10 @@ struct RowPolicy : public IAccessEntity static constexpr const auto TYPE = AccessEntityType::ROW_POLICY; AccessEntityType getType() const override { return TYPE; } + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return true; } + /// Which roles or users should use this row policy. RolesOrUsersSet to_roles; diff --git a/src/Access/SettingsConstraints.cpp b/src/Access/SettingsConstraints.cpp index 6084138f306..34f2e10dc83 100644 --- a/src/Access/SettingsConstraints.cpp +++ b/src/Access/SettingsConstraints.cpp @@ -36,12 +36,12 @@ void SettingsConstraints::clear() } -void SettingsConstraints::setMinValue(const std::string_view & setting_name, const Field & min_value) +void SettingsConstraints::setMinValue(std::string_view setting_name, const Field & min_value) { getConstraintRef(setting_name).min_value = Settings::castValueUtil(setting_name, min_value); } -Field SettingsConstraints::getMinValue(const std::string_view & setting_name) const +Field SettingsConstraints::getMinValue(std::string_view setting_name) const { const auto * ptr = tryGetConstraint(setting_name); if (ptr) @@ -51,12 +51,12 @@ Field SettingsConstraints::getMinValue(const std::string_view & setting_name) co } -void SettingsConstraints::setMaxValue(const std::string_view & setting_name, const Field & max_value) +void SettingsConstraints::setMaxValue(std::string_view setting_name, const Field & max_value) { getConstraintRef(setting_name).max_value = Settings::castValueUtil(setting_name, max_value); } -Field SettingsConstraints::getMaxValue(const std::string_view & setting_name) const +Field SettingsConstraints::getMaxValue(std::string_view setting_name) const { const auto * ptr = tryGetConstraint(setting_name); if (ptr) @@ -66,12 +66,12 @@ Field SettingsConstraints::getMaxValue(const std::string_view & setting_name) co } -void SettingsConstraints::setReadOnly(const std::string_view & setting_name, bool read_only) +void SettingsConstraints::setReadOnly(std::string_view setting_name, bool read_only) { getConstraintRef(setting_name).read_only = read_only; } -bool SettingsConstraints::isReadOnly(const std::string_view & setting_name) const +bool SettingsConstraints::isReadOnly(std::string_view setting_name) const { const auto * ptr = tryGetConstraint(setting_name); if (ptr) @@ -81,7 +81,7 @@ bool SettingsConstraints::isReadOnly(const std::string_view & setting_name) cons } -void SettingsConstraints::set(const std::string_view & setting_name, const Field & min_value, const Field & max_value, bool read_only) +void SettingsConstraints::set(std::string_view setting_name, const Field & min_value, const Field & max_value, bool read_only) { auto & ref = getConstraintRef(setting_name); ref.min_value = Settings::castValueUtil(setting_name, min_value); @@ -89,7 +89,7 @@ void SettingsConstraints::set(const std::string_view & setting_name, const Field ref.read_only = read_only; } -void SettingsConstraints::get(const std::string_view & setting_name, Field & min_value, Field & max_value, bool & read_only) const +void SettingsConstraints::get(std::string_view setting_name, Field & min_value, Field & max_value, bool & read_only) const { const auto * ptr = tryGetConstraint(setting_name); if (ptr) @@ -318,7 +318,7 @@ bool SettingsConstraints::checkImpl(const Settings & current_settings, SettingCh } -SettingsConstraints::Constraint & SettingsConstraints::getConstraintRef(const std::string_view & setting_name) +SettingsConstraints::Constraint & SettingsConstraints::getConstraintRef(std::string_view setting_name) { auto it = constraints.find(setting_name); if (it == constraints.end()) @@ -331,7 +331,7 @@ SettingsConstraints::Constraint & SettingsConstraints::getConstraintRef(const st return it->second; } -const SettingsConstraints::Constraint * SettingsConstraints::tryGetConstraint(const std::string_view & setting_name) const +const SettingsConstraints::Constraint * SettingsConstraints::tryGetConstraint(std::string_view setting_name) const { auto it = constraints.find(setting_name); if (it == constraints.end()) diff --git a/src/Access/SettingsConstraints.h b/src/Access/SettingsConstraints.h index f7bca1eafb3..645a690e051 100644 --- a/src/Access/SettingsConstraints.h +++ b/src/Access/SettingsConstraints.h @@ -61,17 +61,17 @@ public: void clear(); bool empty() const { return constraints.empty(); } - void setMinValue(const std::string_view & setting_name, const Field & min_value); - Field getMinValue(const std::string_view & setting_name) const; + void setMinValue(std::string_view setting_name, const Field & min_value); + Field getMinValue(std::string_view setting_name) const; - void setMaxValue(const std::string_view & setting_name, const Field & max_value); - Field getMaxValue(const std::string_view & setting_name) const; + void setMaxValue(std::string_view setting_name, const Field & max_value); + Field getMaxValue(std::string_view setting_name) const; - void setReadOnly(const std::string_view & setting_name, bool read_only); - bool isReadOnly(const std::string_view & setting_name) const; + void setReadOnly(std::string_view setting_name, bool read_only); + bool isReadOnly(std::string_view setting_name) const; - void set(const std::string_view & setting_name, const Field & min_value, const Field & max_value, bool read_only); - void get(const std::string_view & setting_name, Field & min_value, Field & max_value, bool & read_only) const; + void set(std::string_view setting_name, const Field & min_value, const Field & max_value, bool read_only); + void get(std::string_view setting_name, Field & min_value, Field & max_value, bool & read_only) const; void merge(const SettingsConstraints & other); @@ -105,8 +105,8 @@ private: }; bool checkImpl(const Settings & current_settings, SettingChange & change, ReactionOnViolation reaction) const; - Constraint & getConstraintRef(const std::string_view & setting_name); - const Constraint * tryGetConstraint(const std::string_view & setting_name) const; + Constraint & getConstraintRef(std::string_view setting_name); + const Constraint * tryGetConstraint(std::string_view setting_name) const; std::unordered_map constraints; const AccessControl * access_control = nullptr; diff --git a/src/Access/SettingsProfile.cpp b/src/Access/SettingsProfile.cpp index 64fb91eb66b..48aa48040ab 100644 --- a/src/Access/SettingsProfile.cpp +++ b/src/Access/SettingsProfile.cpp @@ -1,4 +1,5 @@ #include +#include namespace DB @@ -12,4 +13,18 @@ bool SettingsProfile::equal(const IAccessEntity & other) const return (elements == other_profile.elements) && (to_roles == other_profile.to_roles); } +std::vector SettingsProfile::findDependencies() const +{ + std::vector res; + insertAtEnd(res, elements.findDependencies()); + insertAtEnd(res, to_roles.findDependencies()); + return res; +} + +void SettingsProfile::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + elements.replaceDependencies(old_to_new_ids); + to_roles.replaceDependencies(old_to_new_ids); +} + } diff --git a/src/Access/SettingsProfile.h b/src/Access/SettingsProfile.h index e554924b45e..f85630d324d 100644 --- a/src/Access/SettingsProfile.h +++ b/src/Access/SettingsProfile.h @@ -20,6 +20,10 @@ struct SettingsProfile : public IAccessEntity std::shared_ptr clone() const override { return cloneImpl(); } static constexpr const auto TYPE = AccessEntityType::SETTINGS_PROFILE; AccessEntityType getType() const override { return TYPE; } + + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return elements.isBackupAllowed(); } }; using SettingsProfilePtr = std::shared_ptr; diff --git a/src/Access/SettingsProfileElement.cpp b/src/Access/SettingsProfileElement.cpp index ea6edef94a6..465f26f37d9 100644 --- a/src/Access/SettingsProfileElement.cpp +++ b/src/Access/SettingsProfileElement.cpp @@ -12,6 +12,13 @@ namespace DB { + +namespace +{ + constexpr const char ALLOW_BACKUP_SETTING_NAME[] = "allow_backup"; +} + + SettingsProfileElement::SettingsProfileElement(const ASTSettingsProfileElement & ast) { init(ast, nullptr); @@ -41,7 +48,10 @@ void SettingsProfileElement::init(const ASTSettingsProfileElement & ast, const A /// Optionally check if a setting with that name is allowed. if (access_control) - access_control->checkSettingNameIsAllowed(setting_name); + { + if (setting_name != ALLOW_BACKUP_SETTING_NAME) + access_control->checkSettingNameIsAllowed(setting_name); + } value = ast.value; min_value = ast.min_value; @@ -127,6 +137,36 @@ std::shared_ptr SettingsProfileElements::toASTWithNa } +std::vector SettingsProfileElements::findDependencies() const +{ + std::vector res; + for (const auto & element : *this) + { + if (element.parent_profile) + res.push_back(*element.parent_profile); + } + return res; +} + + +void SettingsProfileElements::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + for (auto & element : *this) + { + if (element.parent_profile) + { + auto id = *element.parent_profile; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + element.parent_profile = new_id; + } + } + } +} + + void SettingsProfileElements::merge(const SettingsProfileElements & other) { insert(end(), other.begin(), other.end()); @@ -138,8 +178,11 @@ Settings SettingsProfileElements::toSettings() const Settings res; for (const auto & elem : *this) { - if (!elem.setting_name.empty() && !elem.value.isNull()) - res.set(elem.setting_name, elem.value); + if (!elem.setting_name.empty() && (elem.setting_name != ALLOW_BACKUP_SETTING_NAME)) + { + if (!elem.value.isNull()) + res.set(elem.setting_name, elem.value); + } } return res; } @@ -149,8 +192,11 @@ SettingsChanges SettingsProfileElements::toSettingsChanges() const SettingsChanges res; for (const auto & elem : *this) { - if (!elem.setting_name.empty() && !elem.value.isNull()) - res.push_back({elem.setting_name, elem.value}); + if (!elem.setting_name.empty() && (elem.setting_name != ALLOW_BACKUP_SETTING_NAME)) + { + if (!elem.value.isNull()) + res.push_back({elem.setting_name, elem.value}); + } } return res; } @@ -160,7 +206,7 @@ SettingsConstraints SettingsProfileElements::toSettingsConstraints(const AccessC SettingsConstraints res{access_control}; for (const auto & elem : *this) { - if (!elem.setting_name.empty()) + if (!elem.setting_name.empty() && (elem.setting_name != ALLOW_BACKUP_SETTING_NAME)) { if (!elem.min_value.isNull()) res.setMinValue(elem.setting_name, elem.min_value); @@ -189,5 +235,14 @@ std::vector SettingsProfileElements::toProfileIDs() const return res; } +bool SettingsProfileElements::isBackupAllowed() const +{ + for (const auto & setting : *this) + { + if (setting.setting_name == ALLOW_BACKUP_SETTING_NAME) + return static_cast(SettingFieldBool{setting.value}); + } + return true; +} } diff --git a/src/Access/SettingsProfileElement.h b/src/Access/SettingsProfileElement.h index c9f6936c832..a4124826b40 100644 --- a/src/Access/SettingsProfileElement.h +++ b/src/Access/SettingsProfileElement.h @@ -3,6 +3,7 @@ #include #include #include +#include #include @@ -19,6 +20,7 @@ class AccessControl; struct SettingsProfileElement { std::optional parent_profile; + String setting_name; Field value; Field min_value; @@ -57,12 +59,17 @@ public: std::shared_ptr toAST() const; std::shared_ptr toASTWithNames(const AccessControl & access_control) const; + std::vector findDependencies() const; + void replaceDependencies(const std::unordered_map & old_to_new_ids); + void merge(const SettingsProfileElements & other); Settings toSettings() const; SettingsChanges toSettingsChanges() const; SettingsConstraints toSettingsConstraints(const AccessControl & access_control) const; std::vector toProfileIDs() const; + + bool isBackupAllowed() const; }; } diff --git a/src/Access/User.cpp b/src/Access/User.cpp index d7c7f5c7ada..c5750cdcd6c 100644 --- a/src/Access/User.cpp +++ b/src/Access/User.cpp @@ -1,8 +1,14 @@ #include +#include +#include namespace DB { +namespace ErrorCodes +{ + extern const int BAD_ARGUMENTS; +} bool User::equal(const IAccessEntity & other) const { @@ -14,4 +20,34 @@ bool User::equal(const IAccessEntity & other) const && (settings == other_user.settings) && (grantees == other_user.grantees) && (default_database == other_user.default_database); } +void User::setName(const String & name_) +{ + /// Unfortunately, there is not way to distinguish USER_INTERSERVER_MARKER from actual username in native protocol, + /// so we have to ensure that no such user will appear. + /// Also it was possible to create a user with empty name for some reason. + if (name_.empty()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "User name is empty"); + if (name_ == USER_INTERSERVER_MARKER) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "User name '{}' is reserved", USER_INTERSERVER_MARKER); + name = name_; +} + +std::vector User::findDependencies() const +{ + std::vector res; + insertAtEnd(res, default_roles.findDependencies()); + insertAtEnd(res, granted_roles.findDependencies()); + insertAtEnd(res, grantees.findDependencies()); + insertAtEnd(res, settings.findDependencies()); + return res; +} + +void User::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + default_roles.replaceDependencies(old_to_new_ids); + granted_roles.replaceDependencies(old_to_new_ids); + grantees.replaceDependencies(old_to_new_ids); + settings.replaceDependencies(old_to_new_ids); +} + } diff --git a/src/Access/User.h b/src/Access/User.h index b9167d68f15..958d8bb486f 100644 --- a/src/Access/User.h +++ b/src/Access/User.h @@ -28,6 +28,11 @@ struct User : public IAccessEntity std::shared_ptr clone() const override { return cloneImpl(); } static constexpr const auto TYPE = AccessEntityType::USER; AccessEntityType getType() const override { return TYPE; } + void setName(const String & name_) override; + + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return settings.isBackupAllowed(); } }; using UserPtr = std::shared_ptr; diff --git a/src/Access/UsersConfigAccessStorage.cpp b/src/Access/UsersConfigAccessStorage.cpp index a6c4388fef8..1d755fdf1da 100644 --- a/src/Access/UsersConfigAccessStorage.cpp +++ b/src/Access/UsersConfigAccessStorage.cpp @@ -26,6 +26,7 @@ namespace ErrorCodes { extern const int BAD_ARGUMENTS; extern const int UNKNOWN_ADDRESS_PATTERN_TYPE; + extern const int THERE_IS_NO_PROFILE; extern const int NOT_IMPLEMENTED; } @@ -47,7 +48,7 @@ namespace UUID generateID(const IAccessEntity & entity) { return generateID(entity.getType(), entity.getName()); } - UserPtr parseUser(const Poco::Util::AbstractConfiguration & config, const String & user_name, bool allow_no_password, bool allow_plaintext_password) + UserPtr parseUser(const Poco::Util::AbstractConfiguration & config, const String & user_name, const std::unordered_set & allowed_profile_ids, bool allow_no_password, bool allow_plaintext_password) { auto user = std::make_shared(); user->setName(user_name); @@ -140,8 +141,11 @@ namespace if (config.has(profile_name_config)) { auto profile_name = config.getString(profile_name_config); + auto profile_id = generateID(AccessEntityType::SETTINGS_PROFILE, profile_name); + if (!allowed_profile_ids.contains(profile_id)) + throw Exception(ErrorCodes::THERE_IS_NO_PROFILE, "Profile {} was not found", profile_name); SettingsProfileElement profile_element; - profile_element.parent_profile = generateID(AccessEntityType::SETTINGS_PROFILE, profile_name); + profile_element.parent_profile = profile_id; user->settings.push_back(std::move(profile_element)); } @@ -231,7 +235,7 @@ namespace } - std::vector parseUsers(const Poco::Util::AbstractConfiguration & config, bool allow_no_password, bool allow_plaintext_password) + std::vector parseUsers(const Poco::Util::AbstractConfiguration & config, const std::unordered_set & allowed_profile_ids, bool allow_no_password, bool allow_plaintext_password) { Poco::Util::AbstractConfiguration::Keys user_names; config.keys("users", user_names); @@ -242,7 +246,7 @@ namespace { try { - users.push_back(parseUser(config, user_name, allow_no_password, allow_plaintext_password)); + users.push_back(parseUser(config, user_name, allowed_profile_ids, allow_no_password, allow_plaintext_password)); } catch (Exception & e) { @@ -457,6 +461,7 @@ namespace std::shared_ptr parseSettingsProfile( const Poco::Util::AbstractConfiguration & config, const String & profile_name, + const std::unordered_set & allowed_parent_profile_ids, const AccessControl & access_control) { auto profile = std::make_shared(); @@ -471,8 +476,11 @@ namespace if (key == "profile" || key.starts_with("profile[")) { String parent_profile_name = config.getString(profile_config + "." + key); + auto parent_profile_id = generateID(AccessEntityType::SETTINGS_PROFILE, parent_profile_name); + if (!allowed_parent_profile_ids.contains(parent_profile_id)) + throw Exception(ErrorCodes::THERE_IS_NO_PROFILE, "Parent profile '{}' was not found", parent_profile_name); SettingsProfileElement profile_element; - profile_element.parent_profile = generateID(AccessEntityType::SETTINGS_PROFILE, parent_profile_name); + profile_element.parent_profile = parent_profile_id; profile->elements.emplace_back(std::move(profile_element)); continue; } @@ -498,6 +506,7 @@ namespace std::vector parseSettingsProfiles( const Poco::Util::AbstractConfiguration & config, + const std::unordered_set & allowed_parent_profile_ids, const AccessControl & access_control) { Poco::Util::AbstractConfiguration::Keys profile_names; @@ -510,7 +519,7 @@ namespace { try { - profiles.push_back(parseSettingsProfile(config, profile_name, access_control)); + profiles.push_back(parseSettingsProfile(config, profile_name, allowed_parent_profile_ids, access_control)); } catch (Exception & e) { @@ -521,10 +530,24 @@ namespace return profiles; } + + + std::unordered_set getAllowedSettingsProfileIDs(const Poco::Util::AbstractConfiguration & config) + { + Poco::Util::AbstractConfiguration::Keys profile_names; + config.keys("profiles", profile_names); + std::unordered_set ids; + for (const auto & profile_name : profile_names) + ids.emplace(generateID(AccessEntityType::SETTINGS_PROFILE, profile_name)); + return ids; + } } -UsersConfigAccessStorage::UsersConfigAccessStorage(const String & storage_name_, AccessControl & access_control_) - : IAccessStorage(storage_name_), access_control(access_control_), memory_storage(storage_name_, access_control.getChangesNotifier()) +UsersConfigAccessStorage::UsersConfigAccessStorage(const String & storage_name_, AccessControl & access_control_, bool allow_backup_) + : IAccessStorage(storage_name_) + , access_control(access_control_) + , memory_storage(storage_name_, access_control.getChangesNotifier(), false) + , backup_allowed(allow_backup_) { } @@ -566,16 +589,18 @@ void UsersConfigAccessStorage::parseFromConfig(const Poco::Util::AbstractConfigu { try { + auto allowed_profile_ids = getAllowedSettingsProfileIDs(config); bool no_password_allowed = access_control.isNoPasswordAllowed(); bool plaintext_password_allowed = access_control.isPlaintextPasswordAllowed(); + std::vector> all_entities; - for (const auto & entity : parseUsers(config, no_password_allowed, plaintext_password_allowed)) + for (const auto & entity : parseUsers(config, allowed_profile_ids, no_password_allowed, plaintext_password_allowed)) all_entities.emplace_back(generateID(*entity), entity); for (const auto & entity : parseQuotas(config)) all_entities.emplace_back(generateID(*entity), entity); for (const auto & entity : parseRowPolicies(config, access_control.isEnabledUsersWithoutRowPoliciesCanReadRows())) all_entities.emplace_back(generateID(*entity), entity); - for (const auto & entity : parseSettingsProfiles(config, access_control)) + for (const auto & entity : parseSettingsProfiles(config, allowed_profile_ids, access_control)) all_entities.emplace_back(generateID(*entity), entity); memory_storage.setAll(all_entities); } @@ -655,9 +680,9 @@ AccessEntityPtr UsersConfigAccessStorage::readImpl(const UUID & id, bool throw_i } -std::optional UsersConfigAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::optional> UsersConfigAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { - return memory_storage.readName(id, throw_if_not_exists); + return memory_storage.readNameWithType(id, throw_if_not_exists); } } diff --git a/src/Access/UsersConfigAccessStorage.h b/src/Access/UsersConfigAccessStorage.h index 5c99bf30160..3fa8b4185a8 100644 --- a/src/Access/UsersConfigAccessStorage.h +++ b/src/Access/UsersConfigAccessStorage.h @@ -22,7 +22,7 @@ public: static constexpr char STORAGE_TYPE[] = "users.xml"; - UsersConfigAccessStorage(const String & storage_name_, AccessControl & access_control_); + UsersConfigAccessStorage(const String & storage_name_, AccessControl & access_control_, bool allow_backup_); ~UsersConfigAccessStorage() override; const char * getStorageType() const override { return STORAGE_TYPE; } @@ -44,17 +44,20 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override { return backup_allowed; } + private: void parseFromConfig(const Poco::Util::AbstractConfiguration & config); std::optional findImpl(AccessEntityType type, const String & name) const override; std::vector findAllImpl(AccessEntityType type) const override; AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; - std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const override; + std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const override; AccessControl & access_control; MemoryAccessStorage memory_storage; String path; std::unique_ptr config_reloader; + bool backup_allowed = false; mutable std::mutex load_mutex; }; } diff --git a/src/Access/examples/CMakeLists.txt b/src/Access/examples/CMakeLists.txt new file mode 100644 index 00000000000..99d040cec68 --- /dev/null +++ b/src/Access/examples/CMakeLists.txt @@ -0,0 +1,4 @@ +if (TARGET ch_contrib::krb5) + clickhouse_add_executable (kerberos_init kerberos_init.cpp) + target_link_libraries (kerberos_init PRIVATE dbms ch_contrib::krb5) +endif() diff --git a/src/Access/examples/kerberos_init.cpp b/src/Access/examples/kerberos_init.cpp new file mode 100644 index 00000000000..f9f9d882ece --- /dev/null +++ b/src/Access/examples/kerberos_init.cpp @@ -0,0 +1,47 @@ +#include +#include +#include +#include +#include +#include + +/** The example demonstrates using of kerberosInit function to obtain and cache Kerberos ticket-granting ticket. + * The first argument specifies keytab file. The second argument specifies principal name. + * The third argument is optional. It specifies credentials cache location. + * After successful run of kerberos_init it is useful to call klist command to list cached Kerberos tickets. + * It is also useful to run kdestroy to destroy Kerberos tickets if needed. + */ + +using namespace DB; + +int main(int argc, char ** argv) +{ + std::cout << "Kerberos Init" << "\n"; + + if (argc < 3) + { + std::cout << "kerberos_init obtains and caches an initial ticket-granting ticket for principal." << "\n\n"; + std::cout << "Usage:" << "\n" << " kerberos_init keytab principal [cache]" << "\n"; + return 0; + } + + const char * cache_name = ""; + if (argc == 4) + cache_name = argv[3]; + + Poco::AutoPtr app_channel(new Poco::ConsoleChannel(std::cerr)); + Poco::Logger::root().setChannel(app_channel); + Poco::Logger::root().setLevel("trace"); + + try + { + kerberosInit(argv[1], argv[2], cache_name); + } + catch (const Exception & e) + { + std::cout << "KerberosInit failure: " << getExceptionMessage(e, false) << "\n"; + return -1; + } + std::cout << "Done" << "\n"; + return 0; +} diff --git a/src/Access/tests/gtest_access_rights_ops.cpp b/src/Access/tests/gtest_access_rights_ops.cpp index 7513d72ba26..02aafb7415b 100644 --- a/src/Access/tests/gtest_access_rights_ops.cpp +++ b/src/Access/tests/gtest_access_rights_ops.cpp @@ -49,7 +49,7 @@ TEST(AccessRights, Union) "GRANT INSERT ON *.*, " "GRANT SHOW, SELECT, ALTER, CREATE DATABASE, CREATE TABLE, CREATE VIEW, " "CREATE DICTIONARY, DROP DATABASE, DROP TABLE, DROP VIEW, DROP DICTIONARY, " - "TRUNCATE, OPTIMIZE, CREATE ROW POLICY, ALTER ROW POLICY, DROP ROW POLICY, " + "TRUNCATE, OPTIMIZE, BACKUP, CREATE ROW POLICY, ALTER ROW POLICY, DROP ROW POLICY, " "SHOW ROW POLICIES, SYSTEM MERGES, SYSTEM TTL MERGES, SYSTEM FETCHES, " "SYSTEM MOVES, SYSTEM SENDS, SYSTEM REPLICATION QUEUES, " "SYSTEM DROP REPLICA, SYSTEM SYNC REPLICA, SYSTEM RESTART REPLICA, " diff --git a/src/Access/tests/gtest_replicated_access_storage.cpp b/src/Access/tests/gtest_replicated_access_storage.cpp index c780e598b64..2b80ccfb323 100644 --- a/src/Access/tests/gtest_replicated_access_storage.cpp +++ b/src/Access/tests/gtest_replicated_access_storage.cpp @@ -24,7 +24,7 @@ TEST(ReplicatedAccessStorage, ShutdownWithFailedStartup) try { - auto storage = ReplicatedAccessStorage("replicated", "/clickhouse/access", get_zk, changes_notifier); + auto storage = ReplicatedAccessStorage("replicated", "/clickhouse/access", get_zk, changes_notifier, false); } catch (Exception & e) { diff --git a/src/AggregateFunctions/AggregateFunctionAggThrow.cpp b/src/AggregateFunctions/AggregateFunctionAggThrow.cpp index 8eb25953dbd..e74f93cd9b0 100644 --- a/src/AggregateFunctions/AggregateFunctionAggThrow.cpp +++ b/src/AggregateFunctions/AggregateFunctionAggThrow.cpp @@ -76,27 +76,27 @@ public: data(place).~Data(); } - void add(AggregateDataPtr, const IColumn **, size_t, Arena *) const override + void add(AggregateDataPtr __restrict, const IColumn **, size_t, Arena *) const override { } - void merge(AggregateDataPtr, ConstAggregateDataPtr, Arena *) const override + void merge(AggregateDataPtr __restrict, ConstAggregateDataPtr, Arena *) const override { } - void serialize(ConstAggregateDataPtr, WriteBuffer & buf, std::optional /* version */) const override + void serialize(ConstAggregateDataPtr __restrict, WriteBuffer & buf, std::optional /* version */) const override { char c = 0; buf.write(c); } - void deserialize(AggregateDataPtr /* place */, ReadBuffer & buf, std::optional /* version */, Arena *) const override + void deserialize(AggregateDataPtr __restrict /* place */, ReadBuffer & buf, std::optional /* version */, Arena *) const override { char c = 0; buf.read(c); } - void insertResultInto(AggregateDataPtr, IColumn & to, Arena *) const override + void insertResultInto(AggregateDataPtr __restrict, IColumn & to, Arena *) const override { to.insertDefault(); } diff --git a/src/AggregateFunctions/AggregateFunctionArray.h b/src/AggregateFunctions/AggregateFunctionArray.h index c32cf8f2418..85e0dfc8050 100644 --- a/src/AggregateFunctions/AggregateFunctionArray.h +++ b/src/AggregateFunctions/AggregateFunctionArray.h @@ -49,6 +49,16 @@ public: return nested_func->getReturnType(); } + const IAggregateFunction & getBaseAggregateFunctionWithSameStateRepresentation() const override + { + return nested_func->getBaseAggregateFunctionWithSameStateRepresentation(); + } + + DataTypePtr getNormalizedStateType() const override + { + return nested_func->getNormalizedStateType(); + } + bool isVersioned() const override { return nested_func->isVersioned(); diff --git a/src/AggregateFunctions/AggregateFunctionAvg.h b/src/AggregateFunctions/AggregateFunctionAvg.h index cb2eaa12310..c41a51997df 100644 --- a/src/AggregateFunctions/AggregateFunctionAvg.h +++ b/src/AggregateFunctions/AggregateFunctionAvg.h @@ -236,7 +236,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena *, ssize_t if_argument_pos) const final @@ -260,7 +260,7 @@ public: void addBatchSinglePlaceNotNull( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena *, diff --git a/src/AggregateFunctions/AggregateFunctionCategoricalInformationValue.h b/src/AggregateFunctions/AggregateFunctionCategoricalInformationValue.h index cb945cc6ed9..0e0db27cf22 100644 --- a/src/AggregateFunctions/AggregateFunctionCategoricalInformationValue.h +++ b/src/AggregateFunctions/AggregateFunctionCategoricalInformationValue.h @@ -41,7 +41,7 @@ public: memset(place, 0, sizeOfData()); } - void destroy(AggregateDataPtr) const noexcept override + void destroy(AggregateDataPtr __restrict) const noexcept override { // nothing } @@ -61,7 +61,7 @@ public: return alignof(T); } - void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena *) const override + void add(AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena *) const override { const auto * y_col = static_cast(columns[category_count]); bool y = y_col->getData()[row_num]; @@ -78,7 +78,7 @@ public: reinterpret_cast(place)[category_count * 2 + size_t(y)] += 1; } - void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena *) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena *) const override { for (size_t i : collections::range(0, category_count + 1)) { @@ -87,12 +87,12 @@ public: } } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional /* version */) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional /* version */) const override { buf.write(place, sizeOfData()); } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional /* version */, Arena *) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional /* version */, Arena *) const override { buf.read(place, sizeOfData()); } diff --git a/src/AggregateFunctions/AggregateFunctionCount.h b/src/AggregateFunctions/AggregateFunctionCount.h index 446179d1957..a58eecf5aca 100644 --- a/src/AggregateFunctions/AggregateFunctionCount.h +++ b/src/AggregateFunctions/AggregateFunctionCount.h @@ -5,9 +5,11 @@ #include #include +#include #include #include #include +#include #include #include @@ -65,7 +67,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena *, ssize_t if_argument_pos) const override @@ -84,7 +86,7 @@ public: void addBatchSinglePlaceNotNull( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena *, @@ -102,6 +104,19 @@ public: } } + bool haveSameStateRepresentationImpl(const IAggregateFunction & rhs) const override + { + return this->getName() == rhs.getName(); + } + + DataTypePtr getNormalizedStateType() const override + { + /// Return normalized state type: count() + AggregateFunctionProperties properties; + return std::make_shared( + AggregateFunctionFactory::instance().get(getName(), {}, {}, properties), DataTypes{}, Array{}); + } + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena *) const override { data(place).count += data(rhs).count; @@ -222,7 +237,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena *, ssize_t if_argument_pos) const override @@ -240,6 +255,19 @@ public: } } + bool haveSameStateRepresentationImpl(const IAggregateFunction & rhs) const override + { + return this->getName() == rhs.getName(); + } + + DataTypePtr getNormalizedStateType() const override + { + /// Return normalized state type: count() + AggregateFunctionProperties properties; + return std::make_shared( + AggregateFunctionFactory::instance().get(getName(), {}, {}, properties), DataTypes{}, Array{}); + } + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena *) const override { data(place).count += data(rhs).count; diff --git a/src/AggregateFunctions/AggregateFunctionDistinct.h b/src/AggregateFunctions/AggregateFunctionDistinct.h index 91e25ddfdfd..5afe104bcc0 100644 --- a/src/AggregateFunctions/AggregateFunctionDistinct.h +++ b/src/AggregateFunctions/AggregateFunctionDistinct.h @@ -152,8 +152,8 @@ template class AggregateFunctionDistinct : public IAggregateFunctionDataHelper> { private: - static constexpr auto prefix_size = sizeof(Data); AggregateFunctionPtr nested_func; + size_t prefix_size; size_t arguments_num; AggregateDataPtr getNestedPlace(AggregateDataPtr __restrict place) const noexcept @@ -170,7 +170,11 @@ public: AggregateFunctionDistinct(AggregateFunctionPtr nested_func_, const DataTypes & arguments, const Array & params_) : IAggregateFunctionDataHelper(arguments, params_) , nested_func(nested_func_) - , arguments_num(arguments.size()) {} + , arguments_num(arguments.size()) + { + size_t nested_size = nested_func->alignOfData(); + prefix_size = (sizeof(Data) + nested_size - 1) / nested_size * nested_size; + } void add(AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) const override { diff --git a/src/AggregateFunctions/AggregateFunctionFactory.h b/src/AggregateFunctions/AggregateFunctionFactory.h index e5263a54d79..a860831cb88 100644 --- a/src/AggregateFunctions/AggregateFunctionFactory.h +++ b/src/AggregateFunctions/AggregateFunctionFactory.h @@ -2,6 +2,7 @@ #include #include +#include #include @@ -105,4 +106,12 @@ private: }; +struct AggregateUtils +{ + static bool isAggregateFunction(const ASTFunction & node) + { + return AggregateFunctionFactory::instance().isAggregateFunctionName(node.name); + } +}; + } diff --git a/src/AggregateFunctions/AggregateFunctionIf.cpp b/src/AggregateFunctions/AggregateFunctionIf.cpp index 8663df1e902..fa5e6b85a1e 100644 --- a/src/AggregateFunctions/AggregateFunctionIf.cpp +++ b/src/AggregateFunctions/AggregateFunctionIf.cpp @@ -122,7 +122,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t) const override diff --git a/src/AggregateFunctions/AggregateFunctionIf.h b/src/AggregateFunctions/AggregateFunctionIf.h index 9a17c567db6..18104f94fad 100644 --- a/src/AggregateFunctions/AggregateFunctionIf.h +++ b/src/AggregateFunctions/AggregateFunctionIf.h @@ -56,6 +56,16 @@ public: return nested_func->getReturnType(); } + const IAggregateFunction & getBaseAggregateFunctionWithSameStateRepresentation() const override + { + return nested_func->getBaseAggregateFunctionWithSameStateRepresentation(); + } + + DataTypePtr getNormalizedStateType() const override + { + return nested_func->getNormalizedStateType(); + } + bool isVersioned() const override { return nested_func->isVersioned(); @@ -100,7 +110,7 @@ public: void addBatch( size_t row_begin, size_t row_end, - AggregateDataPtr * places, + AggregateDataPtr * __restrict places, size_t place_offset, const IColumn ** columns, Arena * arena, @@ -112,7 +122,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t) const override @@ -123,7 +133,7 @@ public: void addBatchSinglePlaceNotNull( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena * arena, diff --git a/src/AggregateFunctions/AggregateFunctionMLMethod.h b/src/AggregateFunctions/AggregateFunctionMLMethod.h index 705e689d347..b9d5d835f57 100644 --- a/src/AggregateFunctions/AggregateFunctionMLMethod.h +++ b/src/AggregateFunctions/AggregateFunctionMLMethod.h @@ -362,7 +362,7 @@ public: void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional /* version */, Arena *) const override { this->data(place).read(buf); } void predictValues( - ConstAggregateDataPtr place, + ConstAggregateDataPtr __restrict place, IColumn & to, const ColumnsWithTypeAndName & arguments, size_t offset, diff --git a/src/AggregateFunctions/AggregateFunctionMannWhitney.h b/src/AggregateFunctions/AggregateFunctionMannWhitney.h index 089f70cd26b..d861eef10ab 100644 --- a/src/AggregateFunctions/AggregateFunctionMannWhitney.h +++ b/src/AggregateFunctions/AggregateFunctionMannWhitney.h @@ -6,8 +6,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -16,10 +18,7 @@ #include #include -#include - -#include - +#include namespace DB { @@ -84,15 +83,14 @@ struct MannWhitneyData : public StatisticalSample if (alternative == Alternative::TwoSided) z = std::abs(z); - /// In fact cdf is a probability function, so it is intergral of density from (-inf, z]. - /// But since standard normal distribution is symmetric, cdf(0) = 0.5 and we have to compute integral from [0, z]. - const Float64 cdf = integrateSimpson(0, z, [] (Float64 t) { return std::pow(M_E, -0.5 * t * t) / std::sqrt(2 * M_PI);}); + auto standart_normal_distribution = boost::math::normal_distribution(); + auto cdf = boost::math::cdf(standart_normal_distribution, z); Float64 p_value = 0; if (alternative == Alternative::TwoSided) - p_value = 1 - 2 * cdf; + p_value = 2 - 2 * cdf; else - p_value = 0.5 - cdf; + p_value = 1 - cdf; return {u2, p_value}; } diff --git a/src/AggregateFunctions/AggregateFunctionMap.h b/src/AggregateFunctions/AggregateFunctionMap.h index 3aa0b26cae9..9ed4b48c281 100644 --- a/src/AggregateFunctions/AggregateFunctionMap.h +++ b/src/AggregateFunctions/AggregateFunctionMap.h @@ -105,7 +105,7 @@ public: DataTypePtr getReturnType() const override { return std::make_shared(DataTypes{key_type, nested_func->getReturnType()}); } - void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena * arena) const override + void add(AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) const override { const auto & map_column = assert_cast(*columns[0]); const auto & map_nested_tuple = map_column.getNestedData(); @@ -132,7 +132,7 @@ public: key_ref = assert_cast(key_column).getDataAt(offset + i); #ifdef __cpp_lib_generic_unordered_lookup - key = static_cast(key_ref); + key = key_ref.toView(); #else key = key_ref.toString(); #endif @@ -160,7 +160,7 @@ public: } } - void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena * arena) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena * arena) const override { auto & merged_maps = this->data(place).merged_maps; const auto & rhs_maps = this->data(rhs).merged_maps; @@ -169,16 +169,25 @@ public: { const auto & it = merged_maps.find(elem.first); - if (it != merged_maps.end()) + AggregateDataPtr nested_place; + if (it == merged_maps.end()) { - nested_func->merge(it->second, elem.second, arena); + // elem.second cannot be copied since this it will be destroyed after merging, + // and lead to use-after-free. + nested_place = arena->alignedAlloc(nested_func->sizeOfData(), nested_func->alignOfData()); + nested_func->create(nested_place); + merged_maps.emplace(elem.first, nested_place); } else - merged_maps[elem.first] = elem.second; + { + nested_place = it->second; + } + + nested_func->merge(nested_place, elem.second, arena); } } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional /* version */) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional /* version */) const override { auto & merged_maps = this->data(place).merged_maps; writeVarUInt(merged_maps.size(), buf); @@ -190,7 +199,7 @@ public: } } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional /* version */, Arena * arena) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional /* version */, Arena * arena) const override { auto & merged_maps = this->data(place).merged_maps; UInt64 size; @@ -209,7 +218,7 @@ public: } } - void insertResultInto(AggregateDataPtr place, IColumn & to, Arena * arena) const override + void insertResultInto(AggregateDataPtr __restrict place, IColumn & to, Arena * arena) const override { auto & map_column = assert_cast(to); auto & nested_column = map_column.getNestedColumn(); diff --git a/src/AggregateFunctions/AggregateFunctionMerge.cpp b/src/AggregateFunctions/AggregateFunctionMerge.cpp index cdf399585f5..a6d3a0771ab 100644 --- a/src/AggregateFunctions/AggregateFunctionMerge.cpp +++ b/src/AggregateFunctions/AggregateFunctionMerge.cpp @@ -23,14 +23,20 @@ public: DataTypes transformArguments(const DataTypes & arguments) const override { if (arguments.size() != 1) - throw Exception("Incorrect number of arguments for aggregate function with " + getName() + " suffix", ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH); + throw Exception( + ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH, + "Incorrect number of arguments for aggregate function with {} suffix", + getName()); const DataTypePtr & argument = arguments[0]; const DataTypeAggregateFunction * function = typeid_cast(argument.get()); if (!function) - throw Exception("Illegal type " + argument->getName() + " of argument for aggregate function with " + getName() + " suffix" - + " must be AggregateFunction(...)", ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + throw Exception( + ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, + "Illegal type {} of argument for aggregate function with {} suffix. It must be AggregateFunction(...)", + argument->getName(), + getName()); return function->getArgumentsDataTypes(); } @@ -45,13 +51,21 @@ public: const DataTypeAggregateFunction * function = typeid_cast(argument.get()); if (!function) - throw Exception("Illegal type " + argument->getName() + " of argument for aggregate function with " + getName() + " suffix" - + " must be AggregateFunction(...)", ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + throw Exception( + ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, + "Illegal type {} of argument for aggregate function with {} suffix. It must be AggregateFunction(...)", + argument->getName(), + getName()); - if (nested_function->getName() != function->getFunctionName()) - throw Exception("Illegal type " + argument->getName() + " of argument for aggregate function with " + getName() + " suffix" - + ", because it corresponds to different aggregate function: " + function->getFunctionName() + " instead of " + nested_function->getName(), - ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + if (!nested_function->haveSameStateRepresentation(*function->getFunction())) + throw Exception( + ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, + "Illegal type {} of argument for aggregate function with {} suffix. because it corresponds to different aggregate " + "function: {} instead of {}", + argument->getName(), + getName(), + function->getFunctionName(), + nested_function->getName()); return std::make_shared(nested_function, argument, params); } diff --git a/src/AggregateFunctions/AggregateFunctionMerge.h b/src/AggregateFunctions/AggregateFunctionMerge.h index 8058e104415..7bf0f5ea00f 100644 --- a/src/AggregateFunctions/AggregateFunctionMerge.h +++ b/src/AggregateFunctions/AggregateFunctionMerge.h @@ -50,6 +50,11 @@ public: return nested_func->getReturnType(); } + const IAggregateFunction & getBaseAggregateFunctionWithSameStateRepresentation() const override + { + return nested_func->getBaseAggregateFunctionWithSameStateRepresentation(); + } + bool isVersioned() const override { return nested_func->isVersioned(); diff --git a/src/AggregateFunctions/AggregateFunctionNothing.h b/src/AggregateFunctions/AggregateFunctionNothing.h index 645ea7c3f8a..13ef407be8b 100644 --- a/src/AggregateFunctions/AggregateFunctionNothing.h +++ b/src/AggregateFunctions/AggregateFunctionNothing.h @@ -33,11 +33,11 @@ public: bool allocatesMemoryInArena() const override { return false; } - void create(AggregateDataPtr) const override + void create(AggregateDataPtr __restrict) const override { } - void destroy(AggregateDataPtr) const noexcept override + void destroy(AggregateDataPtr __restrict) const noexcept override { } @@ -56,11 +56,11 @@ public: return 1; } - void add(AggregateDataPtr, const IColumn **, size_t, Arena *) const override + void add(AggregateDataPtr __restrict, const IColumn **, size_t, Arena *) const override { } - void merge(AggregateDataPtr, ConstAggregateDataPtr, Arena *) const override + void merge(AggregateDataPtr __restrict, ConstAggregateDataPtr, Arena *) const override { } @@ -69,14 +69,14 @@ public: writeChar('\0', buf); } - void deserialize(AggregateDataPtr, ReadBuffer & buf, std::optional, Arena *) const override + void deserialize(AggregateDataPtr __restrict, ReadBuffer & buf, std::optional, Arena *) const override { [[maybe_unused]] char symbol; readChar(symbol, buf); assert(symbol == '\0'); } - void insertResultInto(AggregateDataPtr, IColumn & to, Arena *) const override + void insertResultInto(AggregateDataPtr __restrict, IColumn & to, Arena *) const override { to.insertDefault(); } diff --git a/src/AggregateFunctions/AggregateFunctionNull.h b/src/AggregateFunctions/AggregateFunctionNull.h index 3a9330edce1..ca284680800 100644 --- a/src/AggregateFunctions/AggregateFunctionNull.h +++ b/src/AggregateFunctions/AggregateFunctionNull.h @@ -309,7 +309,7 @@ public: void addBatchSinglePlace( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) const override diff --git a/src/AggregateFunctions/AggregateFunctionOrFill.h b/src/AggregateFunctions/AggregateFunctionOrFill.h index 73f70074e53..4eca1b4df92 100644 --- a/src/AggregateFunctions/AggregateFunctionOrFill.h +++ b/src/AggregateFunctions/AggregateFunctionOrFill.h @@ -99,7 +99,7 @@ public: } void add( - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) const override @@ -138,7 +138,7 @@ public: void addBatchSinglePlace( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) const override @@ -169,7 +169,7 @@ public: void addBatchSinglePlaceNotNull( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena * arena, @@ -206,7 +206,7 @@ public: } void merge( - AggregateDataPtr place, + AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena * arena) const override { @@ -227,14 +227,14 @@ public: (places[i] + place_offset)[size_of_data] |= rhs[i][size_of_data]; } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional version) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional version) const override { nested_function->serialize(place, buf, version); writeChar(place[size_of_data], buf); } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional version, Arena * arena) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional version, Arena * arena) const override { nested_function->deserialize(place, buf, version, arena); @@ -261,7 +261,7 @@ public: } void insertResultInto( - AggregateDataPtr place, + AggregateDataPtr __restrict place, IColumn & to, Arena * arena) const override { diff --git a/src/AggregateFunctions/AggregateFunctionQuantile.h b/src/AggregateFunctions/AggregateFunctionQuantile.h index bb2a68da4e6..65edcaea13a 100644 --- a/src/AggregateFunctions/AggregateFunctionQuantile.h +++ b/src/AggregateFunctions/AggregateFunctionQuantile.h @@ -1,6 +1,7 @@ #pragma once #include +#include /// These must be exposed in header for the purpose of dynamic compilation. #include @@ -20,9 +21,11 @@ #include #include #include +#include #include #include #include +#include #include @@ -61,10 +64,9 @@ template < typename FloatReturnType, /// If true, the function will accept multiple parameters with quantile levels /// and return an Array filled with many values of that quantiles. - bool returns_many -> -class AggregateFunctionQuantile final : public IAggregateFunctionDataHelper> + bool returns_many> +class AggregateFunctionQuantile final + : public IAggregateFunctionDataHelper> { private: using ColVecType = ColumnVectorOrDecimal; @@ -81,11 +83,14 @@ private: public: AggregateFunctionQuantile(const DataTypes & argument_types_, const Array & params) - : IAggregateFunctionDataHelper>(argument_types_, params) - , levels(params, returns_many), level(levels.levels[0]), argument_type(this->argument_types[0]) + : IAggregateFunctionDataHelper>( + argument_types_, params) + , levels(params, returns_many) + , level(levels.levels[0]) + , argument_type(this->argument_types[0]) { if (!returns_many && levels.size() > 1) - throw Exception("Aggregate function " + getName() + " require one parameter or less", ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH); + throw Exception(ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH, "Aggregate function {} require one parameter or less", getName()); } String getName() const override { return Name::name; } @@ -105,9 +110,22 @@ public: return res; } - bool haveSameStateRepresentation(const IAggregateFunction & rhs) const override + bool haveSameStateRepresentationImpl(const IAggregateFunction & rhs) const override { - return getName() == rhs.getName() && this->haveEqualArgumentTypes(rhs); + return GatherFunctionQuantileData::toFusedNameOrSelf(getName()) == GatherFunctionQuantileData::toFusedNameOrSelf(rhs.getName()) + && this->haveEqualArgumentTypes(rhs); + } + + DataTypePtr getNormalizedStateType() const override + { + /// Return normalized state type: quantiles*(1)(...) + Array params{1}; + AggregateFunctionProperties properties; + return std::make_shared( + AggregateFunctionFactory::instance().get( + GatherFunctionQuantileData::toFusedNameOrSelf(getName()), this->argument_types, params, properties), + this->argument_types, + params); } bool allocatesMemoryInArena() const override { return false; } @@ -124,9 +142,7 @@ public: } if constexpr (has_second_arg) - this->data(place).add( - value, - columns[1]->getUInt(row_num)); + this->data(place).add(value, columns[1]->getUInt(row_num)); else this->data(place).add(value); } @@ -149,7 +165,6 @@ public: void insertResultInto(AggregateDataPtr __restrict place, IColumn & to, Arena *) const override { - /// const_cast is required because some data structures apply finalizaton (like sorting) for obtain a result. auto & data = this->data(place); if constexpr (returns_many) @@ -195,7 +210,11 @@ public: { assertBinary(Name::name, types); if (!isUnsignedInteger(types[1])) - throw Exception("Second argument (weight) for function " + std::string(Name::name) + " must be unsigned integer, but it has type " + types[1]->getName(), ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + throw Exception( + ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, + "Second argument (weight) for function {} must be unsigned integer, but it has type {}", + Name::name, + types[1]->getName()); } else assertUnary(Name::name, types); diff --git a/src/AggregateFunctions/AggregateFunctionRankCorrelation.h b/src/AggregateFunctions/AggregateFunctionRankCorrelation.h index a9bf8254f35..670dd5948f7 100644 --- a/src/AggregateFunctions/AggregateFunctionRankCorrelation.h +++ b/src/AggregateFunctions/AggregateFunctionRankCorrelation.h @@ -31,8 +31,8 @@ struct RankCorrelationData : public StatisticalSample RanksArray ranks_y; std::tie(ranks_y, std::ignore) = computeRanksAndTieCorrection(this->y); - /// In our case sizes of both samples are equal. - const auto size = this->size_x; + /// Sizes can be non-equal due to skipped NaNs. + const auto size = std::min(this->size_x, this->size_y); /// Count d^2 sum Float64 answer = 0; diff --git a/src/AggregateFunctions/AggregateFunctionResample.h b/src/AggregateFunctions/AggregateFunctionResample.h index 8f2138eb3a5..5d7bf95ceee 100644 --- a/src/AggregateFunctions/AggregateFunctionResample.h +++ b/src/AggregateFunctions/AggregateFunctionResample.h @@ -134,7 +134,7 @@ public: nested_function->destroy(place + i * size_of_data); } - void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena * arena) const override + void add(AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) const override { Key key; @@ -151,19 +151,19 @@ public: nested_function->add(place + pos * size_of_data, columns, row_num, arena); } - void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena * arena) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena * arena) const override { for (size_t i = 0; i < total; ++i) nested_function->merge(place + i * size_of_data, rhs + i * size_of_data, arena); } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional version) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional version) const override { for (size_t i = 0; i < total; ++i) nested_function->serialize(place + i * size_of_data, buf, version); } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional version, Arena * arena) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional version, Arena * arena) const override { for (size_t i = 0; i < total; ++i) nested_function->deserialize(place + i * size_of_data, buf, version, arena); @@ -174,7 +174,7 @@ public: return std::make_shared(nested_function->getReturnType()); } - void insertResultInto(AggregateDataPtr place, IColumn & to, Arena * arena) const override + void insertResultInto(AggregateDataPtr __restrict place, IColumn & to, Arena * arena) const override { auto & col = assert_cast(to); auto & col_offsets = assert_cast(col.getOffsetsColumn()); diff --git a/src/AggregateFunctions/AggregateFunctionSequenceMatch.h b/src/AggregateFunctions/AggregateFunctionSequenceMatch.h index 8b0f7ccfbd1..5c1ab803f19 100644 --- a/src/AggregateFunctions/AggregateFunctionSequenceMatch.h +++ b/src/AggregateFunctions/AggregateFunctionSequenceMatch.h @@ -163,7 +163,7 @@ public: this->data(place).deserialize(buf); } - bool haveSameStateRepresentation(const IAggregateFunction & rhs) const override + bool haveSameStateRepresentationImpl(const IAggregateFunction & rhs) const override { return this->getName() == rhs.getName() && this->haveEqualArgumentTypes(rhs); } diff --git a/src/AggregateFunctions/AggregateFunctionSequenceNextNode.h b/src/AggregateFunctions/AggregateFunctionSequenceNextNode.h index f6c921aeef9..a627afaaa85 100644 --- a/src/AggregateFunctions/AggregateFunctionSequenceNextNode.h +++ b/src/AggregateFunctions/AggregateFunctionSequenceNextNode.h @@ -158,8 +158,8 @@ class SequenceNextNodeImpl final using Self = SequenceNextNodeImpl; using Data = SequenceNextNodeGeneralData; - static Data & data(AggregateDataPtr place) { return *reinterpret_cast(place); } - static const Data & data(ConstAggregateDataPtr place) { return *reinterpret_cast(place); } + static Data & data(AggregateDataPtr __restrict place) { return *reinterpret_cast(place); } + static const Data & data(ConstAggregateDataPtr __restrict place) { return *reinterpret_cast(place); } static constexpr size_t base_cond_column_idx = 2; static constexpr size_t event_column_idx = 1; @@ -194,7 +194,7 @@ public: DataTypePtr getReturnType() const override { return data_type; } - bool haveSameStateRepresentation(const IAggregateFunction & rhs) const override + bool haveSameStateRepresentationImpl(const IAggregateFunction & rhs) const override { return this->getName() == rhs.getName() && this->haveEqualArgumentTypes(rhs); } @@ -216,7 +216,7 @@ public: a.value.push_back(v->clone(arena), arena); } - void create(AggregateDataPtr place) const override /// NOLINT + void create(AggregateDataPtr __restrict place) const override /// NOLINT { new (place) Data; } diff --git a/src/AggregateFunctions/AggregateFunctionSimpleLinearRegression.h b/src/AggregateFunctions/AggregateFunctionSimpleLinearRegression.h index 333b847ea67..06cdfc5e582 100644 --- a/src/AggregateFunctions/AggregateFunctionSimpleLinearRegression.h +++ b/src/AggregateFunctions/AggregateFunctionSimpleLinearRegression.h @@ -110,7 +110,7 @@ public: } void add( - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * @@ -125,17 +125,17 @@ public: this->data(place).add(x, y); } - void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena *) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena *) const override { this->data(place).merge(this->data(rhs)); } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional /* version */) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional /* version */) const override { this->data(place).serialize(buf); } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional /* version */, Arena *) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional /* version */, Arena *) const override { this->data(place).deserialize(buf); } @@ -163,7 +163,7 @@ public: bool allocatesMemoryInArena() const override { return false; } void insertResultInto( - AggregateDataPtr place, + AggregateDataPtr __restrict place, IColumn & to, Arena *) const override { diff --git a/src/AggregateFunctions/AggregateFunctionSparkbar.h b/src/AggregateFunctions/AggregateFunctionSparkbar.h index de271181f2c..70066012c00 100644 --- a/src/AggregateFunctions/AggregateFunctionSparkbar.h +++ b/src/AggregateFunctions/AggregateFunctionSparkbar.h @@ -298,7 +298,7 @@ public: } } - void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena * /*arena*/) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr __restrict rhs, Arena * /*arena*/) const override { this->data(place).merge(this->data(rhs)); } diff --git a/src/AggregateFunctions/AggregateFunctionState.h b/src/AggregateFunctions/AggregateFunctionState.h index 9a1d4528d96..a598e4838cc 100644 --- a/src/AggregateFunctions/AggregateFunctionState.h +++ b/src/AggregateFunctions/AggregateFunctionState.h @@ -37,6 +37,11 @@ public: return getStateType(); } + const IAggregateFunction & getBaseAggregateFunctionWithSameStateRepresentation() const override + { + return nested_func->getBaseAggregateFunctionWithSameStateRepresentation(); + } + DataTypePtr getStateType() const override { return nested_func->getStateType(); diff --git a/src/AggregateFunctions/AggregateFunctionStudentTTest.cpp b/src/AggregateFunctions/AggregateFunctionStudentTTest.cpp index 83a91ef06fc..f1beff806e2 100644 --- a/src/AggregateFunctions/AggregateFunctionStudentTTest.cpp +++ b/src/AggregateFunctions/AggregateFunctionStudentTTest.cpp @@ -62,7 +62,17 @@ struct StudentTTestData : public TTestMoments /// t-statistic Float64 t_stat = (mean_x - mean_y) / sqrt(std_err2); - return {t_stat, getPValue(degrees_of_freedom, t_stat * t_stat)}; + if (isNaN(t_stat)) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "Resulted t-statistics is NaN"); + + auto student = boost::math::students_t_distribution(getDegreesOfFreedom()); + Float64 pvalue = 0; + if (t_stat > 0) + pvalue = 2 * boost::math::cdf(student, -t_stat); + else + pvalue = 2 * boost::math::cdf(student, t_stat); + + return {t_stat, pvalue}; } }; diff --git a/src/AggregateFunctions/AggregateFunctionSum.h b/src/AggregateFunctions/AggregateFunctionSum.h index 672e9dad9e5..0f2357d64a8 100644 --- a/src/AggregateFunctions/AggregateFunctionSum.h +++ b/src/AggregateFunctions/AggregateFunctionSum.h @@ -445,7 +445,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena *, ssize_t if_argument_pos) const override @@ -465,7 +465,7 @@ public: void addBatchSinglePlaceNotNull( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena *, diff --git a/src/AggregateFunctions/AggregateFunctionTTest.h b/src/AggregateFunctions/AggregateFunctionTTest.h index 7ef5cfce9c9..b72e7a3cdcb 100644 --- a/src/AggregateFunctions/AggregateFunctionTTest.h +++ b/src/AggregateFunctions/AggregateFunctionTTest.h @@ -34,50 +34,6 @@ namespace ErrorCodes extern const int BAD_ARGUMENTS; } -/** - * If you have a cumulative distribution function F, then calculating the p-value for given statistic T is simply 1−F(T) - * In our case p-value is two-sided, so we multiply it by 2. - * So cumulative distribution function F equals to - * \[ F(t) = \int_{-\infty}^{t} f(u)du = 1 - \frac{1}{2} I_{x(t)}(\frac{v}{2}, \frac{1}{2}) \] - * where \[ x(t) = \frac{v}{t^2 + v} \]: https://en.wikipedia.org/wiki/Student%27s_t-distribution#Cumulative_distribution_function - * - * so our resulting \[ p-value = I_{x(t)}(\frac{v}{2}, \frac{1}{2}) \]. - * - * And I is regularized incomplete beta function: https://en.wikipedia.org/wiki/Beta_function#Incomplete_beta_function - * - * Keepenig in mind that \[ \mathrm {B} (x;a,b)=\int _{0}^{x}r^{a-1}\,(1-r)^{b-1}\,\mathrm {d} r.\! \] - * and - * \[ \mathrm {B} (x,y)={\dfrac {\Gamma (x)\,\Gamma (y)}{\Gamma (x+y)}}=\ - * \exp(\ln {\dfrac {\Gamma (x)\,\Gamma (y)}{\Gamma (x+y)}})=\exp((\ln(\Gamma (x))+\ln(\Gamma (y))-\ln(\Gamma (x+y))) \] - * - * p-value can be calculated in terms of gamma functions and integrals more simply: - * \[ {\frac {\int _{0}^{\frac {\nu }{t^{2}+\nu }}r^{{\frac {\nu }{2}}-1}\,(1-r)^{-0.5}\,\mathrm {d} r}\ - * {\exp((\ln(\Gamma ({\frac {\nu }{2}}))+\ln(\Gamma (0.5))-\ln(\Gamma ({\frac {\nu }{2}}+0.5)))}} \] - * - * which simplifies to: - * - * \[ {\frac {\int _{0}^{\frac {\nu }{t^{2}+\nu }}{\frac {r^{{\frac {\nu }{2}}-1}}{\sqrt {1-r}}}\,\mathrm {d} r}\ - * {\exp((\ln(\Gamma ({\frac {\nu }{2}}))+\ln(\Gamma (0.5))-\ln(\Gamma ({\frac {\nu }{2}}+0.5)))}} \] - * - * Read here for details https://rosettacode.org/wiki/Welch%27s_t-test# - * - * Both WelchTTest and StudentTTest have t-statistric with Student distribution but with different degrees of freedom. - * So the procedure of computing p-value is the same. -*/ -static inline Float64 getPValue(Float64 degrees_of_freedom, Float64 t_stat2) /// NOLINT -{ - Float64 numerator = integrateSimpson(0, degrees_of_freedom / (t_stat2 + degrees_of_freedom), - [degrees_of_freedom](double x) { return std::pow(x, degrees_of_freedom / 2 - 1) / std::sqrt(1 - x); }); - - int unused; - Float64 denominator = std::exp( - lgamma_r(degrees_of_freedom / 2, &unused) - + lgamma_r(0.5, &unused) - - lgamma_r(degrees_of_freedom / 2 + 0.5, &unused)); - - return std::min(1.0, std::max(0.0, numerator / denominator)); -} - /// Returns tuple of (t-statistic, p-value) /// https://cpb-us-w2.wpmucdn.com/voices.uchicago.edu/dist/9/1193/files/2016/01/05b-TandP.pdf diff --git a/src/AggregateFunctions/AggregateFunctionUniqCombined.h b/src/AggregateFunctions/AggregateFunctionUniqCombined.h index 16c9c6c6b57..51020abe826 100644 --- a/src/AggregateFunctions/AggregateFunctionUniqCombined.h +++ b/src/AggregateFunctions/AggregateFunctionUniqCombined.h @@ -70,9 +70,9 @@ namespace detail } // Unlike HashTableGrower always grows to power of 2. -struct UniqCombinedHashTableGrower : public HashTableGrower<> +struct UniqCombinedHashTableGrower : public HashTableGrowerWithPrecalculation<> { - void increaseSize() { ++size_degree; } + void increaseSize() { increaseSizeDegree(1); } }; template diff --git a/src/AggregateFunctions/AggregateFunctionWelchTTest.cpp b/src/AggregateFunctions/AggregateFunctionWelchTTest.cpp index fe5cf83c509..74000296a2d 100644 --- a/src/AggregateFunctions/AggregateFunctionWelchTTest.cpp +++ b/src/AggregateFunctions/AggregateFunctionWelchTTest.cpp @@ -10,7 +10,6 @@ namespace ErrorCodes extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH; } - namespace DB { struct Settings; @@ -53,7 +52,14 @@ struct WelchTTestData : public TTestMoments Float64 se = getStandardError(); Float64 t_stat = (mean_x - mean_y) / se; - return {t_stat, getPValue(getDegreesOfFreedom(), t_stat * t_stat)}; + auto students_t_distribution = boost::math::students_t_distribution(getDegreesOfFreedom()); + Float64 pvalue = 0; + if (t_stat > 0) + pvalue = 2 * boost::math::cdf(students_t_distribution, -t_stat); + else + pvalue = 2 * boost::math::cdf(students_t_distribution, t_stat); + + return {t_stat, pvalue}; } }; diff --git a/src/AggregateFunctions/Helpers.h b/src/AggregateFunctions/Helpers.h index 77660c54d32..6e140f4b9cf 100644 --- a/src/AggregateFunctions/Helpers.h +++ b/src/AggregateFunctions/Helpers.h @@ -3,34 +3,6 @@ #include #include -#define FOR_BASIC_NUMERIC_TYPES(M) \ - M(UInt8) \ - M(UInt16) \ - M(UInt32) \ - M(UInt64) \ - M(Int8) \ - M(Int16) \ - M(Int32) \ - M(Int64) \ - M(Float32) \ - M(Float64) - -#define FOR_NUMERIC_TYPES(M) \ - M(UInt8) \ - M(UInt16) \ - M(UInt32) \ - M(UInt64) \ - M(UInt128) \ - M(UInt256) \ - M(Int8) \ - M(Int16) \ - M(Int32) \ - M(Int64) \ - M(Int128) \ - M(Int256) \ - M(Float32) \ - M(Float64) - namespace DB { struct Settings; diff --git a/src/AggregateFunctions/IAggregateFunction.cpp b/src/AggregateFunctions/IAggregateFunction.cpp index ea4f8338fb8..25d2a9a4530 100644 --- a/src/AggregateFunctions/IAggregateFunction.cpp +++ b/src/AggregateFunctions/IAggregateFunction.cpp @@ -59,6 +59,13 @@ bool IAggregateFunction::haveEqualArgumentTypes(const IAggregateFunction & rhs) } bool IAggregateFunction::haveSameStateRepresentation(const IAggregateFunction & rhs) const +{ + const auto & lhs_base = getBaseAggregateFunctionWithSameStateRepresentation(); + const auto & rhs_base = rhs.getBaseAggregateFunctionWithSameStateRepresentation(); + return lhs_base.haveSameStateRepresentationImpl(rhs_base); +} + +bool IAggregateFunction::haveSameStateRepresentationImpl(const IAggregateFunction & rhs) const { bool res = getName() == rhs.getName() && parameters == rhs.parameters diff --git a/src/AggregateFunctions/IAggregateFunction.h b/src/AggregateFunctions/IAggregateFunction.h index 73484efc080..87cb1006d36 100644 --- a/src/AggregateFunctions/IAggregateFunction.h +++ b/src/AggregateFunctions/IAggregateFunction.h @@ -73,13 +73,19 @@ public: /// Get the data type of internal state. By default it is AggregateFunction(name(params), argument_types...). virtual DataTypePtr getStateType() const; + /// Same as the above but normalize state types so that variants with the same binary representation will use the same type. + virtual DataTypePtr getNormalizedStateType() const { return getStateType(); } + /// Returns true if two aggregate functions have the same state representation in memory and the same serialization, /// so state of one aggregate function can be safely used with another. /// Examples: /// - quantile(x), quantile(a)(x), quantile(b)(x) - parameter doesn't affect state and used for finalization only /// - foo(x) and fooIf(x) - If combinator doesn't affect state /// By default returns true only if functions have exactly the same names, combinators and parameters. - virtual bool haveSameStateRepresentation(const IAggregateFunction & rhs) const; + bool haveSameStateRepresentation(const IAggregateFunction & rhs) const; + virtual bool haveSameStateRepresentationImpl(const IAggregateFunction & rhs) const; + + virtual const IAggregateFunction & getBaseAggregateFunctionWithSameStateRepresentation() const { return *this; } bool haveEqualArgumentTypes(const IAggregateFunction & rhs) const; @@ -150,7 +156,7 @@ public: /// Used for machine learning methods. Predict result from trained model. /// Will insert result into `to` column for rows in range [offset, offset + limit). virtual void predictValues( - ConstAggregateDataPtr /* place */, + ConstAggregateDataPtr __restrict /* place */, IColumn & /*to*/, const ColumnsWithTypeAndName & /*arguments*/, size_t /*offset*/, @@ -209,7 +215,7 @@ public: virtual void addBatchSinglePlace( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) const = 0; @@ -218,7 +224,7 @@ public: virtual void addBatchSparseSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena) const = 0; @@ -228,7 +234,7 @@ public: virtual void addBatchSinglePlaceNotNull( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena * arena, @@ -237,7 +243,7 @@ public: virtual void addBatchSinglePlaceFromInterval( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) @@ -370,7 +376,7 @@ template class IAggregateFunctionHelper : public IAggregateFunction { private: - static void addFree(const IAggregateFunction * that, AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena * arena) + static void addFree(const IAggregateFunction * that, AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) { static_cast(*that).add(place, columns, row_num, arena); } @@ -450,7 +456,7 @@ public: void addBatchSinglePlace( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) const override @@ -474,7 +480,7 @@ public: void addBatchSparseSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena) const override { @@ -493,7 +499,7 @@ public: void addBatchSinglePlaceNotNull( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena * arena, @@ -517,7 +523,7 @@ public: void addBatchSinglePlaceFromInterval( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) @@ -661,7 +667,7 @@ public: IAggregateFunctionDataHelper(const DataTypes & argument_types_, const Array & parameters_) : IAggregateFunctionHelper(argument_types_, parameters_) {} - void create(AggregateDataPtr place) const override /// NOLINT + void create(AggregateDataPtr __restrict place) const override /// NOLINT { new (place) Data; } diff --git a/src/AggregateFunctions/StatCommon.h b/src/AggregateFunctions/StatCommon.h index d670e646f4b..ff824ca11b8 100644 --- a/src/AggregateFunctions/StatCommon.h +++ b/src/AggregateFunctions/StatCommon.h @@ -21,20 +21,6 @@ namespace ErrorCodes extern const int BAD_ARGUMENTS; } -template -static Float64 integrateSimpson(Float64 a, Float64 b, F && func) -{ - const size_t iterations = std::max(1e6, 1e4 * std::abs(std::round(b) - std::round(a))); - const long double h = (b - a) / iterations; - Float64 sum_odds = 0.0; - for (size_t i = 1; i < iterations; i += 2) - sum_odds += func(a + i * h); - Float64 sum_evens = 0.0; - for (size_t i = 2; i < iterations; i += 2) - sum_evens += func(a + i * h); - return (func(a) + func(b) + 2 * sum_evens + 4 * sum_odds) * h / 3; -} - /// Because ranks are adjusted, we have to store each of them in Float type. using RanksArray = std::vector; @@ -45,8 +31,8 @@ std::pair computeRanksAndTieCorrection(const Values & value /// Save initial positions, than sort indices according to the values. std::vector indexes(size); std::iota(indexes.begin(), indexes.end(), 0); - ::sort(indexes.begin(), indexes.end(), - [&] (size_t lhs, size_t rhs) { return values[lhs] < values[rhs]; }); + std::sort(indexes.begin(), indexes.end(), + [&] (size_t lhs, size_t rhs) { return values[lhs] < values[rhs]; }); size_t left = 0; Float64 tie_numenator = 0; @@ -88,12 +74,18 @@ struct StatisticalSample void addX(X value, Arena * arena) { + if (isNaN(value)) + return; + ++size_x; x.push_back(value, arena); } void addY(Y value, Arena * arena) { + if (isNaN(value)) + return; + ++size_y; y.push_back(value, arena); } @@ -126,4 +118,3 @@ struct StatisticalSample }; } - diff --git a/src/AggregateFunctions/ThetaSketchData.h b/src/AggregateFunctions/ThetaSketchData.h index cc35597ba56..f46836ad189 100644 --- a/src/AggregateFunctions/ThetaSketchData.h +++ b/src/AggregateFunctions/ThetaSketchData.h @@ -43,7 +43,7 @@ public: ~ThetaSketchData() = default; /// Insert original value without hash, as `datasketches::update_theta_sketch.update` will do the hash internal. - void insertOriginal(const StringRef & value) + void insertOriginal(StringRef value) { getSkUpdate()->update(value.data, value.size); } diff --git a/src/AggregateFunctions/examples/CMakeLists.txt b/src/AggregateFunctions/examples/CMakeLists.txt index c19a115981b..b11f8d37d69 100644 --- a/src/AggregateFunctions/examples/CMakeLists.txt +++ b/src/AggregateFunctions/examples/CMakeLists.txt @@ -1,2 +1,2 @@ -add_executable (quantile-t-digest quantile-t-digest.cpp) +clickhouse_add_executable (quantile-t-digest quantile-t-digest.cpp) target_link_libraries (quantile-t-digest PRIVATE dbms clickhouse_aggregate_functions) diff --git a/src/AggregateFunctions/parseAggregateFunctionParameters.h b/src/AggregateFunctions/parseAggregateFunctionParameters.h index a67bc081303..41a04324f6d 100644 --- a/src/AggregateFunctions/parseAggregateFunctionParameters.h +++ b/src/AggregateFunctions/parseAggregateFunctionParameters.h @@ -8,6 +8,8 @@ namespace DB { +struct Array; + Array getAggregateFunctionParametersArray( const ASTPtr & expression_list, const std::string & error_context, diff --git a/src/Backups/BackupCoordinationDistributed.cpp b/src/Backups/BackupCoordinationDistributed.cpp deleted file mode 100644 index 809a826e186..00000000000 --- a/src/Backups/BackupCoordinationDistributed.cpp +++ /dev/null @@ -1,390 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace DB -{ - -namespace ErrorCodes -{ - extern const int UNEXPECTED_NODE_IN_ZOOKEEPER; -} - -/// zookeeper_path/file_names/file_name->checksum_and_size -/// zookeeper_path/file_infos/checksum_and_size->info -/// zookeeper_path/archive_suffixes -/// zookeeper_path/current_archive_suffix - -namespace -{ - using SizeAndChecksum = IBackupCoordination::SizeAndChecksum; - using FileInfo = IBackupCoordination::FileInfo; - using PartNameAndChecksum = IBackupCoordination::PartNameAndChecksum; - - String serializePartNamesAndChecksums(const std::vector & part_names_and_checksums) - { - WriteBufferFromOwnString out; - writeBinary(part_names_and_checksums.size(), out); - for (const auto & part_name_and_checksum : part_names_and_checksums) - { - writeBinary(part_name_and_checksum.part_name, out); - writeBinary(part_name_and_checksum.checksum, out); - } - return out.str(); - } - - std::vector deserializePartNamesAndChecksums(const String & str) - { - ReadBufferFromString in{str}; - std::vector part_names_and_checksums; - size_t num; - readBinary(num, in); - part_names_and_checksums.resize(num); - for (size_t i = 0; i != num; ++i) - { - readBinary(part_names_and_checksums[i].part_name, in); - readBinary(part_names_and_checksums[i].checksum, in); - } - return part_names_and_checksums; - } - - String serializeFileInfo(const FileInfo & info) - { - WriteBufferFromOwnString out; - writeBinary(info.file_name, out); - writeBinary(info.size, out); - writeBinary(info.checksum, out); - writeBinary(info.base_size, out); - writeBinary(info.base_checksum, out); - writeBinary(info.data_file_name, out); - writeBinary(info.archive_suffix, out); - writeBinary(info.pos_in_archive, out); - return out.str(); - } - - FileInfo deserializeFileInfo(const String & str) - { - FileInfo info; - ReadBufferFromString in{str}; - readBinary(info.file_name, in); - readBinary(info.size, in); - readBinary(info.checksum, in); - readBinary(info.base_size, in); - readBinary(info.base_checksum, in); - readBinary(info.data_file_name, in); - readBinary(info.archive_suffix, in); - readBinary(info.pos_in_archive, in); - return info; - } - - String serializeSizeAndChecksum(const SizeAndChecksum & size_and_checksum) - { - return getHexUIntLowercase(size_and_checksum.second) + '_' + std::to_string(size_and_checksum.first); - } - - SizeAndChecksum deserializeSizeAndChecksum(const String & str) - { - constexpr size_t num_chars_in_checksum = sizeof(UInt128) * 2; - if (str.size() <= num_chars_in_checksum) - throw Exception( - ErrorCodes::UNEXPECTED_NODE_IN_ZOOKEEPER, - "Unexpected size of checksum: {}, must be {}", - str.size(), - num_chars_in_checksum); - UInt128 checksum = unhexUInt(str.data()); - UInt64 size = parseFromString(str.substr(num_chars_in_checksum + 1)); - return std::pair{size, checksum}; - } - - size_t extractCounterFromSequentialNodeName(const String & node_name) - { - size_t pos_before_counter = node_name.find_last_not_of("0123456789"); - size_t counter_length = node_name.length() - 1 - pos_before_counter; - auto counter = std::string_view{node_name}.substr(node_name.length() - counter_length); - return parseFromString(counter); - } - - String formatArchiveSuffix(size_t counter) - { - return fmt::format("{:03}", counter); /// Outputs 001, 002, 003, ... - } - - /// We try to store data to zookeeper several times due to possible version conflicts. - constexpr size_t NUM_ATTEMPTS = 10; -} - -BackupCoordinationDistributed::BackupCoordinationDistributed(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_) - : zookeeper_path(zookeeper_path_) - , get_zookeeper(get_zookeeper_) - , preparing_barrier(zookeeper_path_ + "/preparing", get_zookeeper_, "BackupCoordination", "preparing") -{ - createRootNodes(); -} - -BackupCoordinationDistributed::~BackupCoordinationDistributed() = default; - -void BackupCoordinationDistributed::createRootNodes() -{ - auto zookeeper = get_zookeeper(); - zookeeper->createAncestors(zookeeper_path); - zookeeper->createIfNotExists(zookeeper_path, ""); - zookeeper->createIfNotExists(zookeeper_path + "/repl_tables_paths", ""); - zookeeper->createIfNotExists(zookeeper_path + "/repl_tables_parts", ""); - zookeeper->createIfNotExists(zookeeper_path + "/file_names", ""); - zookeeper->createIfNotExists(zookeeper_path + "/file_infos", ""); - zookeeper->createIfNotExists(zookeeper_path + "/archive_suffixes", ""); -} - -void BackupCoordinationDistributed::removeAllNodes() -{ - auto zookeeper = get_zookeeper(); - zookeeper->removeRecursive(zookeeper_path); -} - -void BackupCoordinationDistributed::addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) -{ - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/repl_tables_paths/" + escapeForFileName(table_zk_path); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(table_data_path); - zookeeper->createIfNotExists(path, ""); -} - -void BackupCoordinationDistributed::addReplicatedTablePartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const std::vector & part_names_and_checksums) -{ - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/repl_tables_parts/" + escapeForFileName(table_zk_path); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(host_id); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(table_name.first); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(table_name.second); - zookeeper->create(path, serializePartNamesAndChecksums(part_names_and_checksums), zkutil::CreateMode::Persistent); -} - -void BackupCoordinationDistributed::finishPreparing(const String & host_id, const String & error_message) -{ - preparing_barrier.finish(host_id, error_message); -} - -void BackupCoordinationDistributed::waitForAllHostsPrepared(const Strings & host_ids, std::chrono::seconds timeout) const -{ - preparing_barrier.waitForAllHostsToFinish(host_ids, timeout); - prepareReplicatedTablesInfo(); -} - -void BackupCoordinationDistributed::prepareReplicatedTablesInfo() const -{ - replicated_tables.emplace(); - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/repl_tables_paths"; - for (const String & escaped_table_zk_path : zookeeper->getChildren(path)) - { - String table_zk_path = unescapeForFileName(escaped_table_zk_path); - for (const String & escaped_data_path : zookeeper->getChildren(path + "/" + escaped_table_zk_path)) - { - String data_path = unescapeForFileName(escaped_data_path); - replicated_tables->addDataPath(table_zk_path, data_path); - } - } - - path = zookeeper_path + "/repl_tables_parts"; - for (const String & escaped_table_zk_path : zookeeper->getChildren(path)) - { - String table_zk_path = unescapeForFileName(escaped_table_zk_path); - String path2 = path + "/" + escaped_table_zk_path; - for (const String & escaped_host_id : zookeeper->getChildren(path2)) - { - String host_id = unescapeForFileName(escaped_host_id); - String path3 = path2 + "/" + escaped_host_id; - for (const String & escaped_database_name : zookeeper->getChildren(path3)) - { - String database_name = unescapeForFileName(escaped_database_name); - String path4 = path3 + "/" + escaped_database_name; - for (const String & escaped_table_name : zookeeper->getChildren(path4)) - { - String table_name = unescapeForFileName(escaped_table_name); - String path5 = path4 + "/" + escaped_table_name; - auto part_names_and_checksums = deserializePartNamesAndChecksums(zookeeper->get(path5)); - replicated_tables->addPartNames(host_id, {database_name, table_name}, table_zk_path, part_names_and_checksums); - } - } - } - } - - replicated_tables->preparePartNamesByLocations(); -} - -Strings BackupCoordinationDistributed::getReplicatedTableDataPaths(const String & table_zk_path) const -{ - return replicated_tables->getDataPaths(table_zk_path); -} - -Strings BackupCoordinationDistributed::getReplicatedTablePartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const -{ - return replicated_tables->getPartNames(host_id, table_name, table_zk_path); -} - -void BackupCoordinationDistributed::addFileInfo(const FileInfo & file_info, bool & is_data_file_required) -{ - auto zookeeper = get_zookeeper(); - - String full_path = zookeeper_path + "/file_names/" + escapeForFileName(file_info.file_name); - String size_and_checksum = serializeSizeAndChecksum(std::pair{file_info.size, file_info.checksum}); - zookeeper->create(full_path, size_and_checksum, zkutil::CreateMode::Persistent); - - if (!file_info.size) - { - is_data_file_required = false; - return; - } - - full_path = zookeeper_path + "/file_infos/" + size_and_checksum; - auto code = zookeeper->tryCreate(full_path, serializeFileInfo(file_info), zkutil::CreateMode::Persistent); - if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) - throw zkutil::KeeperException(code, full_path); - - is_data_file_required = (code == Coordination::Error::ZOK) && (file_info.size > file_info.base_size); -} - -void BackupCoordinationDistributed::updateFileInfo(const FileInfo & file_info) -{ - if (!file_info.size) - return; /// we don't keep FileInfos for empty files, nothing to update - - auto zookeeper = get_zookeeper(); - String size_and_checksum = serializeSizeAndChecksum(std::pair{file_info.size, file_info.checksum}); - String full_path = zookeeper_path + "/file_infos/" + size_and_checksum; - for (size_t attempt = 0; attempt < NUM_ATTEMPTS; ++attempt) - { - Coordination::Stat stat; - auto new_info = deserializeFileInfo(zookeeper->get(full_path, &stat)); - new_info.archive_suffix = file_info.archive_suffix; - auto code = zookeeper->trySet(full_path, serializeFileInfo(new_info), stat.version); - if (code == Coordination::Error::ZOK) - return; - bool is_last_attempt = (attempt == NUM_ATTEMPTS - 1); - if ((code != Coordination::Error::ZBADVERSION) || is_last_attempt) - throw zkutil::KeeperException(code, full_path); - } -} - -std::vector BackupCoordinationDistributed::getAllFileInfos() const -{ - auto zookeeper = get_zookeeper(); - std::vector file_infos; - Strings escaped_names = zookeeper->getChildren(zookeeper_path + "/file_names"); - for (const String & escaped_name : escaped_names) - { - String size_and_checksum = zookeeper->get(zookeeper_path + "/file_names/" + escaped_name); - UInt64 size = deserializeSizeAndChecksum(size_and_checksum).first; - FileInfo file_info; - if (size) /// we don't keep FileInfos for empty files - file_info = deserializeFileInfo(zookeeper->get(zookeeper_path + "/file_infos/" + size_and_checksum)); - file_info.file_name = unescapeForFileName(escaped_name); - file_infos.emplace_back(std::move(file_info)); - } - return file_infos; -} - -Strings BackupCoordinationDistributed::listFiles(const String & prefix, const String & terminator) const -{ - auto zookeeper = get_zookeeper(); - Strings escaped_names = zookeeper->getChildren(zookeeper_path + "/file_names"); - - Strings elements; - for (const String & escaped_name : escaped_names) - { - String name = unescapeForFileName(escaped_name); - if (!name.starts_with(prefix)) - continue; - size_t start_pos = prefix.length(); - size_t end_pos = String::npos; - if (!terminator.empty()) - end_pos = name.find(terminator, start_pos); - std::string_view new_element = std::string_view{name}.substr(start_pos, end_pos - start_pos); - if (!elements.empty() && (elements.back() == new_element)) - continue; - elements.push_back(String{new_element}); - } - - std::sort(elements.begin(), elements.end()); - return elements; -} - -std::optional BackupCoordinationDistributed::getFileInfo(const String & file_name) const -{ - auto zookeeper = get_zookeeper(); - String size_and_checksum; - if (!zookeeper->tryGet(zookeeper_path + "/file_names/" + escapeForFileName(file_name), size_and_checksum)) - return std::nullopt; - UInt64 size = deserializeSizeAndChecksum(size_and_checksum).first; - FileInfo file_info; - if (size) /// we don't keep FileInfos for empty files - file_info = deserializeFileInfo(zookeeper->get(zookeeper_path + "/file_infos/" + size_and_checksum)); - file_info.file_name = file_name; - return file_info; -} - -std::optional BackupCoordinationDistributed::getFileInfo(const SizeAndChecksum & size_and_checksum) const -{ - auto zookeeper = get_zookeeper(); - String file_info_str; - if (!zookeeper->tryGet(zookeeper_path + "/file_infos/" + serializeSizeAndChecksum(size_and_checksum), file_info_str)) - return std::nullopt; - return deserializeFileInfo(file_info_str); -} - -std::optional BackupCoordinationDistributed::getFileSizeAndChecksum(const String & file_name) const -{ - auto zookeeper = get_zookeeper(); - String size_and_checksum; - if (!zookeeper->tryGet(zookeeper_path + "/file_names/" + escapeForFileName(file_name), size_and_checksum)) - return std::nullopt; - return deserializeSizeAndChecksum(size_and_checksum); -} - -String BackupCoordinationDistributed::getNextArchiveSuffix() -{ - auto zookeeper = get_zookeeper(); - String path = zookeeper_path + "/archive_suffixes/a"; - String path_created; - auto code = zookeeper->tryCreate(path, "", zkutil::CreateMode::PersistentSequential, path_created); - if (code != Coordination::Error::ZOK) - throw zkutil::KeeperException(code, path); - return formatArchiveSuffix(extractCounterFromSequentialNodeName(path_created)); -} - -Strings BackupCoordinationDistributed::getAllArchiveSuffixes() const -{ - auto zookeeper = get_zookeeper(); - Strings node_names = zookeeper->getChildren(zookeeper_path + "/archive_suffixes"); - for (auto & node_name : node_names) - node_name = formatArchiveSuffix(extractCounterFromSequentialNodeName(node_name)); - return node_names; -} - -void BackupCoordinationDistributed::drop() -{ - removeAllNodes(); -} - -} diff --git a/src/Backups/BackupCoordinationDistributed.h b/src/Backups/BackupCoordinationDistributed.h deleted file mode 100644 index 62136487dbc..00000000000 --- a/src/Backups/BackupCoordinationDistributed.h +++ /dev/null @@ -1,58 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include - - -namespace DB -{ - -/// Stores backup temporary information in Zookeeper, used to perform BACKUP ON CLUSTER. -class BackupCoordinationDistributed : public IBackupCoordination -{ -public: - BackupCoordinationDistributed(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_); - ~BackupCoordinationDistributed() override; - - void addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) override; - void addReplicatedTablePartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const std::vector & part_names_and_checksums) override; - - void finishPreparing(const String & host_id, const String & error_message) override; - void waitForAllHostsPrepared(const Strings & host_ids, std::chrono::seconds timeout) const override; - - Strings getReplicatedTableDataPaths(const String & table_zk_path) const override; - Strings getReplicatedTablePartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const override; - - void addFileInfo(const FileInfo & file_info, bool & is_data_file_required) override; - void updateFileInfo(const FileInfo & file_info) override; - - std::vector getAllFileInfos() const override; - Strings listFiles(const String & prefix, const String & terminator) const override; - std::optional getFileInfo(const String & file_name) const override; - std::optional getFileInfo(const SizeAndChecksum & size_and_checksum) const override; - std::optional getFileSizeAndChecksum(const String & file_name) const override; - - String getNextArchiveSuffix() override; - Strings getAllArchiveSuffixes() const override; - - void drop() override; - -private: - void createRootNodes(); - void removeAllNodes(); - void prepareReplicatedTablesInfo() const; - - const String zookeeper_path; - const zkutil::GetZooKeeper get_zookeeper; - BackupCoordinationDistributedBarrier preparing_barrier; - mutable std::optional replicated_tables; -}; - -} diff --git a/src/Backups/BackupCoordinationHelpers.cpp b/src/Backups/BackupCoordinationHelpers.cpp deleted file mode 100644 index b0327a9b667..00000000000 --- a/src/Backups/BackupCoordinationHelpers.cpp +++ /dev/null @@ -1,416 +0,0 @@ -#include -#include -#include -#include -#include - - -namespace DB -{ - -namespace ErrorCodes -{ - extern const int CANNOT_BACKUP_TABLE; - extern const int FAILED_TO_SYNC_BACKUP_OR_RESTORE; - extern const int LOGICAL_ERROR; -} - - -struct BackupCoordinationReplicatedTablesInfo::HostAndTableName -{ - String host_id; - DatabaseAndTableName table_name; - - struct Less - { - bool operator()(const HostAndTableName & lhs, const HostAndTableName & rhs) const - { - return (lhs.host_id < rhs.host_id) || ((lhs.host_id == rhs.host_id) && (lhs.table_name < rhs.table_name)); - } - - bool operator()(const std::shared_ptr & lhs, const std::shared_ptr & rhs) const - { - return operator()(*lhs, *rhs); - } - }; -}; - - -class BackupCoordinationReplicatedTablesInfo::CoveredPartsFinder -{ -public: - CoveredPartsFinder() = default; - - void addPart(const String & new_part_name, const std::shared_ptr & host_and_table_name) - { - addPart(MergeTreePartInfo::fromPartName(new_part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING), host_and_table_name); - } - - void addPart(MergeTreePartInfo && new_part_info, const std::shared_ptr & host_and_table_name) - { - auto new_min_block = new_part_info.min_block; - auto new_max_block = new_part_info.max_block; - auto & parts = partitions[new_part_info.partition_id]; - - /// Find the first part with max_block >= `part_info.min_block`. - auto first_it = parts.lower_bound(new_min_block); - if (first_it == parts.end()) - { - /// All max_blocks < part_info.min_block, so we can safely add the `part_info` to the list of parts. - parts.emplace(new_max_block, PartInfo{std::move(new_part_info), host_and_table_name}); - return; - } - - { - /// part_info.min_block <= current_info.max_block - const auto & part = first_it->second; - if (new_max_block < part.info.min_block) - { - /// (prev_info.max_block < part_info.min_block) AND (part_info.max_block < current_info.min_block), - /// so we can safely add the `part_info` to the list of parts. - parts.emplace(new_max_block, PartInfo{std::move(new_part_info), host_and_table_name}); - return; - } - - /// (part_info.min_block <= current_info.max_block) AND (part_info.max_block >= current_info.min_block), parts intersect. - - if (part.info.contains(new_part_info)) - { - /// `part_info` is already contained in another part. - return; - } - } - - /// Probably `part_info` is going to replace multiple parts, find the range of parts to replace. - auto last_it = first_it; - while (last_it != parts.end()) - { - const auto & part = last_it->second; - if (part.info.min_block > new_max_block) - break; - if (!new_part_info.contains(part.info)) - { - throw Exception( - ErrorCodes::CANNOT_BACKUP_TABLE, - "Intersected parts detected: {} in the table {}.{}{} and {} in the table {}.{}{}. It should be investigated", - part.info.getPartName(), - part.host_and_table_name->table_name.first, - part.host_and_table_name->table_name.second, - part.host_and_table_name->host_id.empty() ? "" : (" on the host " + part.host_and_table_name->host_id), - new_part_info.getPartName(), - host_and_table_name->table_name.first, - host_and_table_name->table_name.second, - host_and_table_name->host_id.empty() ? "" : (" on the host " + host_and_table_name->host_id)); - } - ++last_it; - } - - /// `part_info` will replace multiple parts [first_it..last_it) - parts.erase(first_it, last_it); - parts.emplace(new_max_block, PartInfo{std::move(new_part_info), host_and_table_name}); - } - - bool isCoveredByAnotherPart(const String & part_name) const - { - return isCoveredByAnotherPart(MergeTreePartInfo::fromPartName(part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING)); - } - - bool isCoveredByAnotherPart(const MergeTreePartInfo & part_info) const - { - auto partition_it = partitions.find(part_info.partition_id); - if (partition_it == partitions.end()) - return false; - - const auto & parts = partition_it->second; - - /// Find the first part with max_block >= `part_info.min_block`. - auto it_part = parts.lower_bound(part_info.min_block); - if (it_part == parts.end()) - { - /// All max_blocks < part_info.min_block, so there is no parts covering `part_info`. - return false; - } - - /// part_info.min_block <= current_info.max_block - const auto & existing_part = it_part->second; - if (part_info.max_block < existing_part.info.min_block) - { - /// (prev_info.max_block < part_info.min_block) AND (part_info.max_block < current_info.min_block), - /// so there is no parts covering `part_info`. - return false; - } - - /// (part_info.min_block <= current_info.max_block) AND (part_info.max_block >= current_info.min_block), parts intersect. - - if (existing_part.info == part_info) - { - /// It's the same part, it's kind of covers itself, but we check in this function whether a part is covered by another part. - return false; - } - - /// Check if `part_info` is covered by `current_info`. - return existing_part.info.contains(part_info); - } - -private: - struct PartInfo - { - MergeTreePartInfo info; - std::shared_ptr host_and_table_name; - }; - - using Parts = std::map; - std::unordered_map partitions; -}; - - -void BackupCoordinationReplicatedTablesInfo::addDataPath(const String & table_zk_path, const String & table_data_path) -{ - tables[table_zk_path].data_paths.push_back(table_data_path); -} - -Strings BackupCoordinationReplicatedTablesInfo::getDataPaths(const String & table_zk_path) const -{ - auto it = tables.find(table_zk_path); - if (it == tables.end()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "getDataPaths() called for unknown table_zk_path: {}", table_zk_path); - const auto & replicated_table = it->second; - return replicated_table.data_paths; -} - -void BackupCoordinationReplicatedTablesInfo::addPartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const std::vector & part_names_and_checksums) -{ - auto & table = tables[table_zk_path]; - auto & part_locations_by_names = table.part_locations_by_names; - auto host_and_table_name = std::make_shared(); - host_and_table_name->host_id = host_id; - host_and_table_name->table_name = table_name; - - for (const auto & part_name_and_checksum : part_names_and_checksums) - { - const auto & part_name = part_name_and_checksum.part_name; - const auto & checksum = part_name_and_checksum.checksum; - auto it = part_locations_by_names.find(part_name); - if (it == part_locations_by_names.end()) - { - it = part_locations_by_names.emplace(part_name, PartLocations{}).first; - it->second.checksum = checksum; - } - else - { - const auto & existing = it->second; - if (existing.checksum != checksum) - { - const auto & existing_host_and_table_name = **existing.host_and_table_names.begin(); - throw Exception( - ErrorCodes::CANNOT_BACKUP_TABLE, - "Table {}.{} has part {} which is different from the part of table {}.{}. Must be the same", - table_name.first, - table_name.second, - part_name, - existing_host_and_table_name.table_name.first, - existing_host_and_table_name.table_name.second); - } - } - - auto & host_and_table_names = it->second.host_and_table_names; - - /// `host_and_table_names` should be ordered because we need this vector to be in the same order on every replica. - host_and_table_names.insert( - std::upper_bound(host_and_table_names.begin(), host_and_table_names.end(), host_and_table_name, HostAndTableName::Less{}), - host_and_table_name); - } -} - -Strings BackupCoordinationReplicatedTablesInfo::getPartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const -{ - if (!part_names_by_locations_prepared) - throw Exception(ErrorCodes::LOGICAL_ERROR, "preparePartNamesByLocations() was not called before getPartNames()"); - - auto it = tables.find(table_zk_path); - if (it == tables.end()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "getPartNames() called for unknown table_zk_path: {}", table_zk_path); - const auto & table = it->second; - auto it2 = table.part_names_by_locations.find(host_id); - if (it2 == table.part_names_by_locations.end()) - return {}; - const auto & part_names_by_host_id = it2->second; - auto it3 = part_names_by_host_id.find(table_name); - if (it3 == part_names_by_host_id.end()) - return {}; - return it3->second; -} - -void BackupCoordinationReplicatedTablesInfo::preparePartNamesByLocations() -{ - if (part_names_by_locations_prepared) - return; - part_names_by_locations_prepared = true; - - size_t counter = 0; - for (auto & table : tables | boost::adaptors::map_values) - { - CoveredPartsFinder covered_parts_finder; - for (const auto & [part_name, part_locations] : table.part_locations_by_names) - covered_parts_finder.addPart(part_name, *part_locations.host_and_table_names.begin()); - - table.part_names_by_locations.clear(); - for (const auto & [part_name, part_locations] : table.part_locations_by_names) - { - if (covered_parts_finder.isCoveredByAnotherPart(part_name)) - continue; - size_t chosen_index = (counter++) % part_locations.host_and_table_names.size(); - const auto & chosen_host_id = part_locations.host_and_table_names[chosen_index]->host_id; - const auto & chosen_table_name = part_locations.host_and_table_names[chosen_index]->table_name; - table.part_names_by_locations[chosen_host_id][chosen_table_name].push_back(part_name); - } - } -} - - -BackupCoordinationDistributedBarrier::BackupCoordinationDistributedBarrier( - const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, const String & logger_name_, const String & operation_name_) - : zookeeper_path(zookeeper_path_) - , get_zookeeper(get_zookeeper_) - , log(&Poco::Logger::get(logger_name_)) - , operation_name(operation_name_) -{ - createRootNodes(); -} - -void BackupCoordinationDistributedBarrier::createRootNodes() -{ - auto zookeeper = get_zookeeper(); - zookeeper->createAncestors(zookeeper_path); - zookeeper->createIfNotExists(zookeeper_path, ""); -} - -void BackupCoordinationDistributedBarrier::finish(const String & host_id, const String & error_message) -{ - if (error_message.empty()) - LOG_TRACE(log, "Host {} has finished {}", host_id, operation_name); - else - LOG_ERROR(log, "Host {} has failed {} with message: {}", host_id, operation_name, error_message); - - auto zookeeper = get_zookeeper(); - if (error_message.empty()) - zookeeper->create(zookeeper_path + "/" + host_id + ":ready", "", zkutil::CreateMode::Persistent); - else - zookeeper->create(zookeeper_path + "/" + host_id + ":error", error_message, zkutil::CreateMode::Persistent); -} - -void BackupCoordinationDistributedBarrier::waitForAllHostsToFinish(const Strings & host_ids, const std::chrono::seconds timeout) const -{ - auto zookeeper = get_zookeeper(); - - bool all_hosts_ready = false; - String not_ready_host_id; - String error_host_id; - String error_message; - - /// Returns true of everything's ready, or false if we need to wait more. - auto process_nodes = [&](const Strings & nodes) - { - std::unordered_set set{nodes.begin(), nodes.end()}; - for (const String & host_id : host_ids) - { - if (set.contains(host_id + ":error")) - { - error_host_id = host_id; - error_message = zookeeper->get(zookeeper_path + "/" + host_id + ":error"); - return; - } - if (!set.contains(host_id + ":ready")) - { - LOG_TRACE(log, "Waiting for host {} {}", host_id, operation_name); - not_ready_host_id = host_id; - return; - } - } - - all_hosts_ready = true; - }; - - std::atomic watch_set = false; - std::condition_variable watch_triggered_event; - - auto watch_callback = [&](const Coordination::WatchResponse &) - { - watch_set = false; /// After it's triggered it's not set until we call getChildrenWatch() again. - watch_triggered_event.notify_all(); - }; - - auto watch_triggered = [&] { return !watch_set; }; - - bool use_timeout = (timeout.count() >= 0); - std::chrono::steady_clock::duration time_left = timeout; - std::mutex dummy_mutex; - - while (true) - { - if (use_timeout && (time_left.count() <= 0)) - { - Strings children = zookeeper->getChildren(zookeeper_path); - process_nodes(children); - break; - } - - watch_set = true; - Strings children = zookeeper->getChildrenWatch(zookeeper_path, nullptr, watch_callback); - process_nodes(children); - - if (!error_message.empty() || all_hosts_ready) - break; - - { - std::unique_lock dummy_lock{dummy_mutex}; - if (use_timeout) - { - std::chrono::steady_clock::time_point start_time = std::chrono::steady_clock::now(); - if (!watch_triggered_event.wait_for(dummy_lock, time_left, watch_triggered)) - break; - time_left -= (std::chrono::steady_clock::now() - start_time); - } - else - watch_triggered_event.wait(dummy_lock, watch_triggered); - } - } - - if (watch_set) - { - /// Remove watch by triggering it. - zookeeper->create(zookeeper_path + "/remove_watch-", "", zkutil::CreateMode::EphemeralSequential); - std::unique_lock dummy_lock{dummy_mutex}; - watch_triggered_event.wait_for(dummy_lock, timeout, watch_triggered); - } - - if (!error_message.empty()) - { - throw Exception( - ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, - "Host {} failed {} with message: {}", - error_host_id, - operation_name, - error_message); - } - - if (all_hosts_ready) - { - LOG_TRACE(log, "All hosts have finished {}", operation_name); - return; - } - - - throw Exception( - ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, - "Host {} has failed {}: Time ({}) is out", - not_ready_host_id, - operation_name, - to_string(timeout)); -} - -} diff --git a/src/Backups/BackupCoordinationHelpers.h b/src/Backups/BackupCoordinationHelpers.h deleted file mode 100644 index d119fc844ce..00000000000 --- a/src/Backups/BackupCoordinationHelpers.h +++ /dev/null @@ -1,90 +0,0 @@ -#pragma once - -#include -#include -#include -#include - - -namespace DB -{ - -/// Helper designed to be used in an implementation of the IBackupCoordination interface in the part related to replicated tables. -class BackupCoordinationReplicatedTablesInfo -{ -public: - BackupCoordinationReplicatedTablesInfo() = default; - - /// Adds a data path in backup for a replicated table. - /// Multiple replicas of the replicated table call this function and then all the added paths can be returned by call of the function - /// getReplicatedTableDataPaths(). - void addDataPath(const String & table_zk_path, const String & table_data_path); - - /// Returns all the data paths in backup added for a replicated table (see also addReplicatedTableDataPath()). - Strings getDataPaths(const String & table_zk_path) const; - - using PartNameAndChecksum = IBackupCoordination::PartNameAndChecksum; - - /// Adds part names which a specified replica of a replicated table is going to put to the backup. - /// Multiple replicas of the replicated table call this function and then the added part names can be returned by call of the function - /// getReplicatedTablePartNames(). - /// Checksums are used only to control that parts under the same names on different replicas are the same. - void addPartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const std::vector & part_names_and_checksums); - - void preparePartNamesByLocations(); - - /// Returns the names of the parts which a specified replica of a replicated table should put to the backup. - /// This is the same list as it was added by call of the function addReplicatedTablePartNames() but without duplications and without - /// parts covered by another parts. - Strings getPartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const; - -private: - class CoveredPartsFinder; - struct HostAndTableName; - - struct PartLocations - { - std::vector> host_and_table_names; - UInt128 checksum; - }; - - struct TableInfo - { - Strings data_paths; - std::map part_locations_by_names; /// Should be ordered because we need this map to be in the same order on every replica. - std::unordered_map> part_names_by_locations; - }; - - std::unordered_map tables; - bool part_names_by_locations_prepared = false; -}; - - -/// Helper designed to be used in the implementation of the BackupCoordinationDistributed and RestoreCoordinationDistributed classes -/// to implement synchronization when we need all hosts to finish a specific task and then continue. -class BackupCoordinationDistributedBarrier -{ -public: - BackupCoordinationDistributedBarrier(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, const String & logger_name_, const String & operation_name_); - - /// Sets that a specified host has finished the specific task, successfully or with an error. - /// In the latter case `error_message` should be set. - void finish(const String & host_id, const String & error_message = {}); - - /// Waits for a specified list of hosts to finish the specific task. - void waitForAllHostsToFinish(const Strings & host_ids, const std::chrono::seconds timeout = std::chrono::seconds(-1) /* no timeout */) const; - -private: - void createRootNodes(); - - String zookeeper_path; - zkutil::GetZooKeeper get_zookeeper; - const Poco::Logger * log; - String operation_name; -}; - -} diff --git a/src/Backups/BackupCoordinationLocal.cpp b/src/Backups/BackupCoordinationLocal.cpp index 2d970feb5a3..d4064902a40 100644 --- a/src/Backups/BackupCoordinationLocal.cpp +++ b/src/Backups/BackupCoordinationLocal.cpp @@ -10,47 +10,76 @@ namespace DB using SizeAndChecksum = IBackupCoordination::SizeAndChecksum; using FileInfo = IBackupCoordination::FileInfo; -BackupCoordinationLocal::BackupCoordinationLocal() : log(&Poco::Logger::get("BackupCoordination")) -{ -} - +BackupCoordinationLocal::BackupCoordinationLocal() = default; BackupCoordinationLocal::~BackupCoordinationLocal() = default; -void BackupCoordinationLocal::addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) +void BackupCoordinationLocal::setStage(const String &, const String &, const String &) +{ +} + +void BackupCoordinationLocal::setError(const String &, const Exception &) +{ +} + +Strings BackupCoordinationLocal::waitForStage(const Strings &, const String &) +{ + return {}; +} + +Strings BackupCoordinationLocal::waitForStage(const Strings &, const String &, std::chrono::milliseconds) +{ + return {}; +} + +void BackupCoordinationLocal::addReplicatedPartNames(const String & table_shared_id, const String & table_name_for_logs, const String & replica_name, const std::vector & part_names_and_checksums) { std::lock_guard lock{mutex}; - replicated_tables.addDataPath(table_zk_path, table_data_path); + replicated_tables.addPartNames(table_shared_id, table_name_for_logs, replica_name, part_names_and_checksums); } -void BackupCoordinationLocal::addReplicatedTablePartNames(const String & /* host_id */, const DatabaseAndTableName & table_name, const String & table_zk_path, const std::vector & part_names_and_checksums) +Strings BackupCoordinationLocal::getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const { std::lock_guard lock{mutex}; - replicated_tables.addPartNames("", table_name, table_zk_path, part_names_and_checksums); + return replicated_tables.getPartNames(table_shared_id, replica_name); } -void BackupCoordinationLocal::finishPreparing(const String & /* host_id */, const String & error_message) -{ - LOG_TRACE(log, "Finished preparing{}", (error_message.empty() ? "" : (" with error " + error_message))); - if (!error_message.empty()) - return; - replicated_tables.preparePartNamesByLocations(); -} - -void BackupCoordinationLocal::waitForAllHostsPrepared(const Strings & /* host_ids */, std::chrono::seconds /* timeout */) const -{ -} - -Strings BackupCoordinationLocal::getReplicatedTableDataPaths(const String & table_zk_path) const +void BackupCoordinationLocal::addReplicatedMutations(const String & table_shared_id, const String & table_name_for_logs, const String & replica_name, const std::vector & mutations) { std::lock_guard lock{mutex}; - return replicated_tables.getDataPaths(table_zk_path); + replicated_tables.addMutations(table_shared_id, table_name_for_logs, replica_name, mutations); } -Strings BackupCoordinationLocal::getReplicatedTablePartNames(const String & /* host_id */, const DatabaseAndTableName & table_name, const String & table_zk_path) const +std::vector BackupCoordinationLocal::getReplicatedMutations(const String & table_shared_id, const String & replica_name) const { std::lock_guard lock{mutex}; - return replicated_tables.getPartNames("", table_name, table_zk_path); + return replicated_tables.getMutations(table_shared_id, replica_name); +} + + +void BackupCoordinationLocal::addReplicatedDataPath(const String & table_shared_id, const String & data_path) +{ + std::lock_guard lock{mutex}; + replicated_tables.addDataPath(table_shared_id, data_path); +} + +Strings BackupCoordinationLocal::getReplicatedDataPaths(const String & table_shared_id) const +{ + std::lock_guard lock{mutex}; + return replicated_tables.getDataPaths(table_shared_id); +} + + +void BackupCoordinationLocal::addReplicatedAccessFilePath(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id, const String & file_path) +{ + std::lock_guard lock{mutex}; + replicated_access.addFilePath(access_zk_path, access_entity_type, host_id, file_path); +} + +Strings BackupCoordinationLocal::getReplicatedAccessFilePaths(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id) const +{ + std::lock_guard lock{mutex}; + return replicated_access.getFilePaths(access_zk_path, access_entity_type, host_id); } @@ -93,9 +122,14 @@ std::vector BackupCoordinationLocal::getAllFileInfos() const return res; } -Strings BackupCoordinationLocal::listFiles(const String & prefix, const String & terminator) const +Strings BackupCoordinationLocal::listFiles(const String & directory, bool recursive) const { std::lock_guard lock{mutex}; + String prefix = directory; + if (!prefix.empty() && !prefix.ends_with('/')) + prefix += '/'; + String terminator = recursive ? "" : "/"; + Strings elements; for (auto it = file_names.lower_bound(prefix); it != file_names.end(); ++it) { @@ -111,9 +145,25 @@ Strings BackupCoordinationLocal::listFiles(const String & prefix, const String & continue; elements.push_back(String{new_element}); } + return elements; } +bool BackupCoordinationLocal::hasFiles(const String & directory) const +{ + std::lock_guard lock{mutex}; + String prefix = directory; + if (!prefix.empty() && !prefix.ends_with('/')) + prefix += '/'; + + auto it = file_names.lower_bound(prefix); + if (it == file_names.end()) + return false; + + const String & name = it->first; + return name.starts_with(prefix); +} + std::optional BackupCoordinationLocal::getFileInfo(const String & file_name) const { std::lock_guard lock{mutex}; diff --git a/src/Backups/BackupCoordinationLocal.h b/src/Backups/BackupCoordinationLocal.h index 875e519353b..aca7f71545b 100644 --- a/src/Backups/BackupCoordinationLocal.h +++ b/src/Backups/BackupCoordinationLocal.h @@ -1,7 +1,9 @@ #pragma once #include -#include +#include +#include +#include #include #include @@ -11,31 +13,38 @@ namespace Poco { class Logger; } namespace DB { -/// Stores backup contents information in memory. +/// Implementation of the IBackupCoordination interface performing coordination in memory. class BackupCoordinationLocal : public IBackupCoordination { public: BackupCoordinationLocal(); ~BackupCoordinationLocal() override; - void addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) override; - void addReplicatedTablePartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const std::vector & part_names_and_checksums) override; + void setStage(const String & current_host, const String & new_stage, const String & message) override; + void setError(const String & current_host, const Exception & exception) override; + Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait) override; + Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout) override; - void finishPreparing(const String & host_id, const String & error_message) override; - void waitForAllHostsPrepared(const Strings & host_ids, std::chrono::seconds timeout) const override; + void addReplicatedPartNames(const String & table_shared_id, const String & table_name_for_logs, const String & replica_name, + const std::vector & part_names_and_checksums) override; + Strings getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const override; - Strings getReplicatedTableDataPaths(const String & table_zk_path) const override; - Strings getReplicatedTablePartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const override; + void addReplicatedMutations(const String & table_shared_id, const String & table_name_for_logs, const String & replica_name, + const std::vector & mutations) override; + std::vector getReplicatedMutations(const String & table_shared_id, const String & replica_name) const override; + + void addReplicatedDataPath(const String & table_shared_id, const String & data_path) override; + Strings getReplicatedDataPaths(const String & table_shared_id) const override; + + void addReplicatedAccessFilePath(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id, const String & file_path) override; + Strings getReplicatedAccessFilePaths(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id) const override; void addFileInfo(const FileInfo & file_info, bool & is_data_file_required) override; void updateFileInfo(const FileInfo & file_info) override; std::vector getAllFileInfos() const override; - Strings listFiles(const String & prefix, const String & terminator) const override; + Strings listFiles(const String & directory, bool recursive) const override; + bool hasFiles(const String & directory) const override; std::optional getFileInfo(const String & file_name) const override; std::optional getFileInfo(const SizeAndChecksum & size_and_checksum) const override; @@ -46,14 +55,12 @@ public: private: mutable std::mutex mutex; - BackupCoordinationReplicatedTablesInfo replicated_tables; - std::map file_names; /// Should be ordered alphabetically, see listFiles(). For empty files we assume checksum = 0. - std::map file_infos; /// Information about files. Without empty files. - Strings archive_suffixes; - size_t current_archive_suffix = 0; - - const Poco::Logger * log; + BackupCoordinationReplicatedTables replicated_tables TSA_GUARDED_BY(mutex); + BackupCoordinationReplicatedAccess replicated_access TSA_GUARDED_BY(mutex); + std::map file_names TSA_GUARDED_BY(mutex); /// Should be ordered alphabetically, see listFiles(). For empty files we assume checksum = 0. + std::map file_infos TSA_GUARDED_BY(mutex); /// Information about files. Without empty files. + Strings archive_suffixes TSA_GUARDED_BY(mutex); + size_t current_archive_suffix TSA_GUARDED_BY(mutex) = 0; }; - } diff --git a/src/Backups/BackupCoordinationRemote.cpp b/src/Backups/BackupCoordinationRemote.cpp new file mode 100644 index 00000000000..8d8cfc4225e --- /dev/null +++ b/src/Backups/BackupCoordinationRemote.cpp @@ -0,0 +1,607 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int UNEXPECTED_NODE_IN_ZOOKEEPER; + extern const int LOGICAL_ERROR; +} + +/// zookeeper_path/file_names/file_name->checksum_and_size +/// zookeeper_path/file_infos/checksum_and_size->info +/// zookeeper_path/archive_suffixes +/// zookeeper_path/current_archive_suffix + +namespace +{ + using SizeAndChecksum = IBackupCoordination::SizeAndChecksum; + using FileInfo = IBackupCoordination::FileInfo; + using PartNameAndChecksum = IBackupCoordination::PartNameAndChecksum; + using MutationInfo = IBackupCoordination::MutationInfo; + + struct ReplicatedPartNames + { + std::vector part_names_and_checksums; + String table_name_for_logs; + + static String serialize(const std::vector & part_names_and_checksums_, const String & table_name_for_logs_) + { + WriteBufferFromOwnString out; + writeBinary(part_names_and_checksums_.size(), out); + for (const auto & part_name_and_checksum : part_names_and_checksums_) + { + writeBinary(part_name_and_checksum.part_name, out); + writeBinary(part_name_and_checksum.checksum, out); + } + writeBinary(table_name_for_logs_, out); + return out.str(); + } + + static ReplicatedPartNames deserialize(const String & str) + { + ReadBufferFromString in{str}; + ReplicatedPartNames res; + size_t num; + readBinary(num, in); + res.part_names_and_checksums.resize(num); + for (size_t i = 0; i != num; ++i) + { + readBinary(res.part_names_and_checksums[i].part_name, in); + readBinary(res.part_names_and_checksums[i].checksum, in); + } + readBinary(res.table_name_for_logs, in); + return res; + } + }; + + struct ReplicatedMutations + { + std::vector mutations; + String table_name_for_logs; + + static String serialize(const std::vector & mutations_, const String & table_name_for_logs_) + { + WriteBufferFromOwnString out; + writeBinary(mutations_.size(), out); + for (const auto & mutation : mutations_) + { + writeBinary(mutation.id, out); + writeBinary(mutation.entry, out); + } + writeBinary(table_name_for_logs_, out); + return out.str(); + } + + static ReplicatedMutations deserialize(const String & str) + { + ReadBufferFromString in{str}; + ReplicatedMutations res; + size_t num; + readBinary(num, in); + res.mutations.resize(num); + for (size_t i = 0; i != num; ++i) + { + readBinary(res.mutations[i].id, in); + readBinary(res.mutations[i].entry, in); + } + readBinary(res.table_name_for_logs, in); + return res; + } + }; + + String serializeFileInfo(const FileInfo & info) + { + WriteBufferFromOwnString out; + writeBinary(info.file_name, out); + writeBinary(info.size, out); + writeBinary(info.checksum, out); + writeBinary(info.base_size, out); + writeBinary(info.base_checksum, out); + writeBinary(info.data_file_name, out); + writeBinary(info.archive_suffix, out); + writeBinary(info.pos_in_archive, out); + return out.str(); + } + + FileInfo deserializeFileInfo(const String & str) + { + FileInfo info; + ReadBufferFromString in{str}; + readBinary(info.file_name, in); + readBinary(info.size, in); + readBinary(info.checksum, in); + readBinary(info.base_size, in); + readBinary(info.base_checksum, in); + readBinary(info.data_file_name, in); + readBinary(info.archive_suffix, in); + readBinary(info.pos_in_archive, in); + return info; + } + + String serializeSizeAndChecksum(const SizeAndChecksum & size_and_checksum) + { + return getHexUIntLowercase(size_and_checksum.second) + '_' + std::to_string(size_and_checksum.first); + } + + SizeAndChecksum deserializeSizeAndChecksum(const String & str) + { + constexpr size_t num_chars_in_checksum = sizeof(UInt128) * 2; + if (str.size() <= num_chars_in_checksum) + throw Exception( + ErrorCodes::UNEXPECTED_NODE_IN_ZOOKEEPER, + "Unexpected size of checksum: {}, must be {}", + str.size(), + num_chars_in_checksum); + UInt128 checksum = unhexUInt(str.data()); + UInt64 size = parseFromString(str.substr(num_chars_in_checksum + 1)); + return std::pair{size, checksum}; + } + + size_t extractCounterFromSequentialNodeName(const String & node_name) + { + size_t pos_before_counter = node_name.find_last_not_of("0123456789"); + size_t counter_length = node_name.length() - 1 - pos_before_counter; + auto counter = std::string_view{node_name}.substr(node_name.length() - counter_length); + return parseFromString(counter); + } + + String formatArchiveSuffix(size_t counter) + { + return fmt::format("{:03}", counter); /// Outputs 001, 002, 003, ... + } + + /// We try to store data to zookeeper several times due to possible version conflicts. + constexpr size_t NUM_ATTEMPTS = 10; +} + +BackupCoordinationRemote::BackupCoordinationRemote( + const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, bool remove_zk_nodes_in_destructor_) + : zookeeper_path(zookeeper_path_) + , get_zookeeper(get_zookeeper_) + , remove_zk_nodes_in_destructor(remove_zk_nodes_in_destructor_) +{ + createRootNodes(); + stage_sync.emplace( + zookeeper_path_ + "/stage", [this] { return getZooKeeper(); }, &Poco::Logger::get("BackupCoordination")); +} + +BackupCoordinationRemote::~BackupCoordinationRemote() +{ + try + { + if (remove_zk_nodes_in_destructor) + removeAllNodes(); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__); + } +} + +zkutil::ZooKeeperPtr BackupCoordinationRemote::getZooKeeper() const +{ + std::lock_guard lock{mutex}; + return getZooKeeperNoLock(); +} + +zkutil::ZooKeeperPtr BackupCoordinationRemote::getZooKeeperNoLock() const +{ + if (!zookeeper || zookeeper->expired()) + { + zookeeper = get_zookeeper(); + + /// It's possible that we connected to different [Zoo]Keeper instance + /// so we may read a bit stale state. + zookeeper->sync(zookeeper_path); + } + return zookeeper; +} + +void BackupCoordinationRemote::createRootNodes() +{ + auto zk = getZooKeeper(); + zk->createAncestors(zookeeper_path); + zk->createIfNotExists(zookeeper_path, ""); + zk->createIfNotExists(zookeeper_path + "/repl_part_names", ""); + zk->createIfNotExists(zookeeper_path + "/repl_mutations", ""); + zk->createIfNotExists(zookeeper_path + "/repl_data_paths", ""); + zk->createIfNotExists(zookeeper_path + "/repl_access", ""); + zk->createIfNotExists(zookeeper_path + "/file_names", ""); + zk->createIfNotExists(zookeeper_path + "/file_infos", ""); + zk->createIfNotExists(zookeeper_path + "/archive_suffixes", ""); +} + +void BackupCoordinationRemote::removeAllNodes() +{ + /// Usually this function is called by the initiator when a backup is complete so we don't need the coordination anymore. + /// + /// However there can be a rare situation when this function is called after an error occurs on the initiator of a query + /// while some hosts are still making the backup. Removing all the nodes will remove the parent node of the backup coordination + /// at `zookeeper_path` which might cause such hosts to stop with exception "ZNONODE". Or such hosts might still do some useless part + /// of their backup work before that. Anyway in this case backup won't be finalized (because only an initiator can do that). + auto zk = getZooKeeper(); + zk->removeRecursive(zookeeper_path); +} + + +void BackupCoordinationRemote::setStage(const String & current_host, const String & new_stage, const String & message) +{ + stage_sync->set(current_host, new_stage, message); +} + +void BackupCoordinationRemote::setError(const String & current_host, const Exception & exception) +{ + stage_sync->setError(current_host, exception); +} + +Strings BackupCoordinationRemote::waitForStage(const Strings & all_hosts, const String & stage_to_wait) +{ + return stage_sync->wait(all_hosts, stage_to_wait); +} + +Strings BackupCoordinationRemote::waitForStage(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout) +{ + return stage_sync->waitFor(all_hosts, stage_to_wait, timeout); +} + + +void BackupCoordinationRemote::addReplicatedPartNames( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, + const std::vector & part_names_and_checksums) +{ + { + std::lock_guard lock{mutex}; + if (replicated_tables) + throw Exception(ErrorCodes::LOGICAL_ERROR, "addReplicatedPartNames() must not be called after preparing"); + } + + auto zk = getZooKeeper(); + String path = zookeeper_path + "/repl_part_names/" + escapeForFileName(table_shared_id); + zk->createIfNotExists(path, ""); + path += "/" + escapeForFileName(replica_name); + zk->create(path, ReplicatedPartNames::serialize(part_names_and_checksums, table_name_for_logs), zkutil::CreateMode::Persistent); +} + +Strings BackupCoordinationRemote::getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const +{ + std::lock_guard lock{mutex}; + prepareReplicatedTables(); + return replicated_tables->getPartNames(table_shared_id, replica_name); +} + +void BackupCoordinationRemote::addReplicatedMutations( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, + const std::vector & mutations) +{ + { + std::lock_guard lock{mutex}; + if (replicated_tables) + throw Exception(ErrorCodes::LOGICAL_ERROR, "addReplicatedMutations() must not be called after preparing"); + } + + auto zk = getZooKeeper(); + String path = zookeeper_path + "/repl_mutations/" + escapeForFileName(table_shared_id); + zk->createIfNotExists(path, ""); + path += "/" + escapeForFileName(replica_name); + zk->create(path, ReplicatedMutations::serialize(mutations, table_name_for_logs), zkutil::CreateMode::Persistent); +} + +std::vector BackupCoordinationRemote::getReplicatedMutations(const String & table_shared_id, const String & replica_name) const +{ + std::lock_guard lock{mutex}; + prepareReplicatedTables(); + return replicated_tables->getMutations(table_shared_id, replica_name); +} + + +void BackupCoordinationRemote::addReplicatedDataPath( + const String & table_shared_id, const String & data_path) +{ + { + std::lock_guard lock{mutex}; + if (replicated_tables) + throw Exception(ErrorCodes::LOGICAL_ERROR, "addReplicatedDataPath() must not be called after preparing"); + } + + auto zk = getZooKeeper(); + String path = zookeeper_path + "/repl_data_paths/" + escapeForFileName(table_shared_id); + zk->createIfNotExists(path, ""); + path += "/" + escapeForFileName(data_path); + zk->createIfNotExists(path, ""); +} + +Strings BackupCoordinationRemote::getReplicatedDataPaths(const String & table_shared_id) const +{ + std::lock_guard lock{mutex}; + prepareReplicatedTables(); + return replicated_tables->getDataPaths(table_shared_id); +} + + +void BackupCoordinationRemote::prepareReplicatedTables() const +{ + if (replicated_tables) + return; + + replicated_tables.emplace(); + auto zk = getZooKeeperNoLock(); + + { + String path = zookeeper_path + "/repl_part_names"; + for (const String & escaped_table_shared_id : zk->getChildren(path)) + { + String table_shared_id = unescapeForFileName(escaped_table_shared_id); + String path2 = path + "/" + escaped_table_shared_id; + for (const String & escaped_replica_name : zk->getChildren(path2)) + { + String replica_name = unescapeForFileName(escaped_replica_name); + auto part_names = ReplicatedPartNames::deserialize(zk->get(path2 + "/" + escaped_replica_name)); + replicated_tables->addPartNames(table_shared_id, part_names.table_name_for_logs, replica_name, part_names.part_names_and_checksums); + } + } + } + + { + String path = zookeeper_path + "/repl_mutations"; + for (const String & escaped_table_shared_id : zk->getChildren(path)) + { + String table_shared_id = unescapeForFileName(escaped_table_shared_id); + String path2 = path + "/" + escaped_table_shared_id; + for (const String & escaped_replica_name : zk->getChildren(path2)) + { + String replica_name = unescapeForFileName(escaped_replica_name); + auto mutations = ReplicatedMutations::deserialize(zk->get(path2 + "/" + escaped_replica_name)); + replicated_tables->addMutations(table_shared_id, mutations.table_name_for_logs, replica_name, mutations.mutations); + } + } + } + + { + String path = zookeeper_path + "/repl_data_paths"; + for (const String & escaped_table_shared_id : zk->getChildren(path)) + { + String table_shared_id = unescapeForFileName(escaped_table_shared_id); + String path2 = path + "/" + escaped_table_shared_id; + for (const String & escaped_data_path : zk->getChildren(path2)) + { + String data_path = unescapeForFileName(escaped_data_path); + replicated_tables->addDataPath(table_shared_id, data_path); + } + } + } +} + + +void BackupCoordinationRemote::addReplicatedAccessFilePath(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id, const String & file_path) +{ + { + std::lock_guard lock{mutex}; + if (replicated_access) + throw Exception(ErrorCodes::LOGICAL_ERROR, "addReplicatedAccessFilePath() must not be called after preparing"); + } + + auto zk = getZooKeeper(); + String path = zookeeper_path + "/repl_access/" + escapeForFileName(access_zk_path); + zk->createIfNotExists(path, ""); + path += "/" + AccessEntityTypeInfo::get(access_entity_type).name; + zk->createIfNotExists(path, ""); + path += "/" + host_id; + zk->createIfNotExists(path, file_path); +} + +Strings BackupCoordinationRemote::getReplicatedAccessFilePaths(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id) const +{ + std::lock_guard lock{mutex}; + prepareReplicatedAccess(); + return replicated_access->getFilePaths(access_zk_path, access_entity_type, host_id); +} + +void BackupCoordinationRemote::prepareReplicatedAccess() const +{ + if (replicated_access) + return; + + replicated_access.emplace(); + auto zk = getZooKeeperNoLock(); + + String path = zookeeper_path + "/repl_access"; + for (const String & escaped_access_zk_path : zk->getChildren(path)) + { + String access_zk_path = unescapeForFileName(escaped_access_zk_path); + String path2 = path + "/" + escaped_access_zk_path; + for (const String & type_str : zk->getChildren(path2)) + { + AccessEntityType type = AccessEntityTypeInfo::parseType(type_str); + String path3 = path2 + "/" + type_str; + for (const String & host_id : zk->getChildren(path3)) + { + String file_path = zk->get(path3 + "/" + host_id); + replicated_access->addFilePath(access_zk_path, type, host_id, file_path); + } + } + } +} + + +void BackupCoordinationRemote::addFileInfo(const FileInfo & file_info, bool & is_data_file_required) +{ + auto zk = getZooKeeper(); + + String full_path = zookeeper_path + "/file_names/" + escapeForFileName(file_info.file_name); + String size_and_checksum = serializeSizeAndChecksum(std::pair{file_info.size, file_info.checksum}); + zk->create(full_path, size_and_checksum, zkutil::CreateMode::Persistent); + + if (!file_info.size) + { + is_data_file_required = false; + return; + } + + full_path = zookeeper_path + "/file_infos/" + size_and_checksum; + auto code = zk->tryCreate(full_path, serializeFileInfo(file_info), zkutil::CreateMode::Persistent); + if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) + throw zkutil::KeeperException(code, full_path); + + is_data_file_required = (code == Coordination::Error::ZOK) && (file_info.size > file_info.base_size); +} + +void BackupCoordinationRemote::updateFileInfo(const FileInfo & file_info) +{ + if (!file_info.size) + return; /// we don't keep FileInfos for empty files, nothing to update + + auto zk = getZooKeeper(); + String size_and_checksum = serializeSizeAndChecksum(std::pair{file_info.size, file_info.checksum}); + String full_path = zookeeper_path + "/file_infos/" + size_and_checksum; + for (size_t attempt = 0; attempt < NUM_ATTEMPTS; ++attempt) + { + Coordination::Stat stat; + auto new_info = deserializeFileInfo(zk->get(full_path, &stat)); + new_info.archive_suffix = file_info.archive_suffix; + auto code = zk->trySet(full_path, serializeFileInfo(new_info), stat.version); + if (code == Coordination::Error::ZOK) + return; + bool is_last_attempt = (attempt == NUM_ATTEMPTS - 1); + if ((code != Coordination::Error::ZBADVERSION) || is_last_attempt) + throw zkutil::KeeperException(code, full_path); + } +} + +std::vector BackupCoordinationRemote::getAllFileInfos() const +{ + auto zk = getZooKeeper(); + std::vector file_infos; + Strings escaped_names = zk->getChildren(zookeeper_path + "/file_names"); + for (const String & escaped_name : escaped_names) + { + String size_and_checksum = zk->get(zookeeper_path + "/file_names/" + escaped_name); + UInt64 size = deserializeSizeAndChecksum(size_and_checksum).first; + FileInfo file_info; + if (size) /// we don't keep FileInfos for empty files + file_info = deserializeFileInfo(zk->get(zookeeper_path + "/file_infos/" + size_and_checksum)); + file_info.file_name = unescapeForFileName(escaped_name); + file_infos.emplace_back(std::move(file_info)); + } + return file_infos; +} + +Strings BackupCoordinationRemote::listFiles(const String & directory, bool recursive) const +{ + auto zk = getZooKeeper(); + Strings escaped_names = zk->getChildren(zookeeper_path + "/file_names"); + + String prefix = directory; + if (!prefix.empty() && !prefix.ends_with('/')) + prefix += '/'; + String terminator = recursive ? "" : "/"; + + Strings elements; + std::unordered_set unique_elements; + + for (const String & escaped_name : escaped_names) + { + String name = unescapeForFileName(escaped_name); + if (!name.starts_with(prefix)) + continue; + size_t start_pos = prefix.length(); + size_t end_pos = String::npos; + if (!terminator.empty()) + end_pos = name.find(terminator, start_pos); + std::string_view new_element = std::string_view{name}.substr(start_pos, end_pos - start_pos); + if (unique_elements.contains(new_element)) + continue; + elements.push_back(String{new_element}); + unique_elements.emplace(new_element); + } + + ::sort(elements.begin(), elements.end()); + return elements; +} + +bool BackupCoordinationRemote::hasFiles(const String & directory) const +{ + auto zk = getZooKeeper(); + Strings escaped_names = zk->getChildren(zookeeper_path + "/file_names"); + + String prefix = directory; + if (!prefix.empty() && !prefix.ends_with('/')) + prefix += '/'; + + for (const String & escaped_name : escaped_names) + { + String name = unescapeForFileName(escaped_name); + if (name.starts_with(prefix)) + return true; + } + + return false; +} + +std::optional BackupCoordinationRemote::getFileInfo(const String & file_name) const +{ + auto zk = getZooKeeper(); + String size_and_checksum; + if (!zk->tryGet(zookeeper_path + "/file_names/" + escapeForFileName(file_name), size_and_checksum)) + return std::nullopt; + UInt64 size = deserializeSizeAndChecksum(size_and_checksum).first; + FileInfo file_info; + if (size) /// we don't keep FileInfos for empty files + file_info = deserializeFileInfo(zk->get(zookeeper_path + "/file_infos/" + size_and_checksum)); + file_info.file_name = file_name; + return file_info; +} + +std::optional BackupCoordinationRemote::getFileInfo(const SizeAndChecksum & size_and_checksum) const +{ + auto zk = getZooKeeper(); + String file_info_str; + if (!zk->tryGet(zookeeper_path + "/file_infos/" + serializeSizeAndChecksum(size_and_checksum), file_info_str)) + return std::nullopt; + return deserializeFileInfo(file_info_str); +} + +std::optional BackupCoordinationRemote::getFileSizeAndChecksum(const String & file_name) const +{ + auto zk = getZooKeeper(); + String size_and_checksum; + if (!zk->tryGet(zookeeper_path + "/file_names/" + escapeForFileName(file_name), size_and_checksum)) + return std::nullopt; + return deserializeSizeAndChecksum(size_and_checksum); +} + +String BackupCoordinationRemote::getNextArchiveSuffix() +{ + auto zk = getZooKeeper(); + String path = zookeeper_path + "/archive_suffixes/a"; + String path_created; + auto code = zk->tryCreate(path, "", zkutil::CreateMode::PersistentSequential, path_created); + if (code != Coordination::Error::ZOK) + throw zkutil::KeeperException(code, path); + return formatArchiveSuffix(extractCounterFromSequentialNodeName(path_created)); +} + +Strings BackupCoordinationRemote::getAllArchiveSuffixes() const +{ + auto zk = getZooKeeper(); + Strings node_names = zk->getChildren(zookeeper_path + "/archive_suffixes"); + for (auto & node_name : node_names) + node_name = formatArchiveSuffix(extractCounterFromSequentialNodeName(node_name)); + return node_names; +} + +} diff --git a/src/Backups/BackupCoordinationRemote.h b/src/Backups/BackupCoordinationRemote.h new file mode 100644 index 00000000000..83ddd7b16dc --- /dev/null +++ b/src/Backups/BackupCoordinationRemote.h @@ -0,0 +1,79 @@ +#pragma once + +#include +#include +#include +#include + + +namespace DB +{ + +/// Implementation of the IBackupCoordination interface performing coordination via ZooKeeper. It's necessary for "BACKUP ON CLUSTER". +class BackupCoordinationRemote : public IBackupCoordination +{ +public: + BackupCoordinationRemote(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, bool remove_zk_nodes_in_destructor_); + ~BackupCoordinationRemote() override; + + void setStage(const String & current_host, const String & new_stage, const String & message) override; + void setError(const String & current_host, const Exception & exception) override; + Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait) override; + Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout) override; + + void addReplicatedPartNames( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, + const std::vector & part_names_and_checksums) override; + + Strings getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const override; + + void addReplicatedMutations( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, + const std::vector & mutations) override; + + std::vector getReplicatedMutations(const String & table_shared_id, const String & replica_name) const override; + + void addReplicatedDataPath(const String & table_shared_id, const String & data_path) override; + Strings getReplicatedDataPaths(const String & table_shared_id) const override; + + void addReplicatedAccessFilePath(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id, const String & file_path) override; + Strings getReplicatedAccessFilePaths(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id) const override; + + void addFileInfo(const FileInfo & file_info, bool & is_data_file_required) override; + void updateFileInfo(const FileInfo & file_info) override; + + std::vector getAllFileInfos() const override; + Strings listFiles(const String & directory, bool recursive) const override; + bool hasFiles(const String & directory) const override; + std::optional getFileInfo(const String & file_name) const override; + std::optional getFileInfo(const SizeAndChecksum & size_and_checksum) const override; + std::optional getFileSizeAndChecksum(const String & file_name) const override; + + String getNextArchiveSuffix() override; + Strings getAllArchiveSuffixes() const override; + +private: + zkutil::ZooKeeperPtr getZooKeeper() const; + zkutil::ZooKeeperPtr getZooKeeperNoLock() const; + void createRootNodes(); + void removeAllNodes(); + void prepareReplicatedTables() const; + void prepareReplicatedAccess() const; + + const String zookeeper_path; + const zkutil::GetZooKeeper get_zookeeper; + const bool remove_zk_nodes_in_destructor; + + std::optional stage_sync; + + mutable std::mutex mutex; + mutable zkutil::ZooKeeperPtr zookeeper; + mutable std::optional replicated_tables; + mutable std::optional replicated_access; +}; + +} diff --git a/src/Backups/BackupCoordinationReplicatedAccess.cpp b/src/Backups/BackupCoordinationReplicatedAccess.cpp new file mode 100644 index 00000000000..23d35d0ecc4 --- /dev/null +++ b/src/Backups/BackupCoordinationReplicatedAccess.cpp @@ -0,0 +1,33 @@ +#include + + +namespace DB +{ + +BackupCoordinationReplicatedAccess::BackupCoordinationReplicatedAccess() = default; +BackupCoordinationReplicatedAccess::~BackupCoordinationReplicatedAccess() = default; + +void BackupCoordinationReplicatedAccess::addFilePath(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id, const String & file_path) +{ + auto & ref = file_paths_by_zk_path[std::make_pair(access_zk_path, access_entity_type)]; + ref.file_paths.emplace(file_path); + + /// std::max() because the calculation must give the same result being repeated on a different replica. + ref.host_to_store_access = std::max(ref.host_to_store_access, host_id); +} + +Strings BackupCoordinationReplicatedAccess::getFilePaths(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id) const +{ + auto it = file_paths_by_zk_path.find(std::make_pair(access_zk_path, access_entity_type)); + if (it == file_paths_by_zk_path.end()) + return {}; + + const auto & file_paths = it->second; + if (file_paths.host_to_store_access != host_id) + return {}; + + Strings res{file_paths.file_paths.begin(), file_paths.file_paths.end()}; + return res; +} + +} diff --git a/src/Backups/BackupCoordinationReplicatedAccess.h b/src/Backups/BackupCoordinationReplicatedAccess.h new file mode 100644 index 00000000000..93ae0203be9 --- /dev/null +++ b/src/Backups/BackupCoordinationReplicatedAccess.h @@ -0,0 +1,49 @@ +#pragma once + +#include +#include +#include + + +namespace DB +{ +enum class AccessEntityType; + +/// This class is used by hosts to coordinate the access entities of ReplicatedAccessStorage they're writing to a backup. +/// It's designed to make all hosts save the same access entities to the backup even in case the ReplicatedAccessStorage changes +/// while the backup is being produced. This is important to make RESTORE more predicitible. +/// +/// For example, let's consider three replicas having a ReplicatedAccessStorage on them. +/// This class ensures that the following files in the backup are the same: +/// /shards/1/replicas/1/data/system/users/access01.txt +/// /shards/1/replicas/2/data/system/users/access01.txt +/// /shards/1/replicas/3/data/system/users/access01.txt +/// +/// To implement that this class chooses one host to write access entities for all the hosts so in fact all those files +/// in the example above are written by the same host. + +class BackupCoordinationReplicatedAccess +{ +public: + BackupCoordinationReplicatedAccess(); + ~BackupCoordinationReplicatedAccess(); + + /// Adds a path to access*.txt file keeping access entities of a ReplicatedAccessStorage. + void addFilePath(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id, const String & file_path); + + /// Returns all paths added by addFilePath() if `host_id` is a host chosen to store access. + Strings getFilePaths(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id) const; + +private: + using ZkPathAndEntityType = std::pair; + + struct FilePathsAndHost + { + std::unordered_set file_paths; + String host_to_store_access; + }; + + std::map file_paths_by_zk_path; +}; + +} diff --git a/src/Backups/BackupCoordinationReplicatedTables.cpp b/src/Backups/BackupCoordinationReplicatedTables.cpp new file mode 100644 index 00000000000..27137edb008 --- /dev/null +++ b/src/Backups/BackupCoordinationReplicatedTables.cpp @@ -0,0 +1,335 @@ +#include +#include +#include +#include +#include + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int CANNOT_BACKUP_TABLE; + extern const int LOGICAL_ERROR; +} + + +namespace +{ + struct LessReplicaName + { + bool operator()(const std::shared_ptr & left, const std::shared_ptr & right) { return *left < *right; } + }; +} + +using MutationInfo = IBackupCoordination::MutationInfo; + + +class BackupCoordinationReplicatedTables::CoveredPartsFinder +{ +public: + explicit CoveredPartsFinder(const String & table_name_for_logs_) : table_name_for_logs(table_name_for_logs_) {} + + void addPartInfo(MergeTreePartInfo && new_part_info, const std::shared_ptr & replica_name) + { + auto new_min_block = new_part_info.min_block; + auto new_max_block = new_part_info.max_block; + auto & parts = partitions[new_part_info.partition_id]; + + /// Find the first part with max_block >= `part_info.min_block`. + auto first_it = parts.lower_bound(new_min_block); + if (first_it == parts.end()) + { + /// All max_blocks < part_info.min_block, so we can safely add the `part_info` to the list of parts. + parts.emplace(new_max_block, PartInfo{std::move(new_part_info), replica_name}); + return; + } + + { + /// part_info.min_block <= current_info.max_block + const auto & part = first_it->second; + if (new_max_block < part.info.min_block) + { + /// (prev_info.max_block < part_info.min_block) AND (part_info.max_block < current_info.min_block), + /// so we can safely add the `part_info` to the list of parts. + parts.emplace(new_max_block, PartInfo{std::move(new_part_info), replica_name}); + return; + } + + /// (part_info.min_block <= current_info.max_block) AND (part_info.max_block >= current_info.min_block), parts intersect. + + if (part.info.contains(new_part_info)) + { + /// `part_info` is already contained in another part. + return; + } + } + + /// Probably `part_info` is going to replace multiple parts, find the range of parts to replace. + auto last_it = first_it; + while (last_it != parts.end()) + { + const auto & part = last_it->second; + if (part.info.min_block > new_max_block) + break; + if (!new_part_info.contains(part.info)) + { + throw Exception( + ErrorCodes::CANNOT_BACKUP_TABLE, + "Intersected parts detected: {} on replica {} and {} on replica {}", + part.info.getPartName(), + *part.replica_name, + new_part_info.getPartName(), + *replica_name); + } + ++last_it; + } + + /// `part_info` will replace multiple parts [first_it..last_it) + parts.erase(first_it, last_it); + parts.emplace(new_max_block, PartInfo{std::move(new_part_info), replica_name}); + } + + bool isCoveredByAnotherPart(const String & part_name) const + { + return isCoveredByAnotherPart(MergeTreePartInfo::fromPartName(part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING)); + } + + bool isCoveredByAnotherPart(const MergeTreePartInfo & part_info) const + { + auto partition_it = partitions.find(part_info.partition_id); + if (partition_it == partitions.end()) + return false; + + const auto & parts = partition_it->second; + + /// Find the first part with max_block >= `part_info.min_block`. + auto it_part = parts.lower_bound(part_info.min_block); + if (it_part == parts.end()) + { + /// All max_blocks < part_info.min_block, so there is no parts covering `part_info`. + return false; + } + + /// part_info.min_block <= current_info.max_block + const auto & existing_part = it_part->second; + if (part_info.max_block < existing_part.info.min_block) + { + /// (prev_info.max_block < part_info.min_block) AND (part_info.max_block < current_info.min_block), + /// so there is no parts covering `part_info`. + return false; + } + + /// (part_info.min_block <= current_info.max_block) AND (part_info.max_block >= current_info.min_block), parts intersect. + + if (existing_part.info == part_info) + { + /// It's the same part, it's kind of covers itself, but we check in this function whether a part is covered by another part. + return false; + } + + /// Check if `part_info` is covered by `current_info`. + return existing_part.info.contains(part_info); + } + +private: + struct PartInfo + { + MergeTreePartInfo info; + std::shared_ptr replica_name; + }; + + using Parts = std::map; + std::unordered_map partitions; + const String table_name_for_logs; +}; + + +BackupCoordinationReplicatedTables::BackupCoordinationReplicatedTables() = default; +BackupCoordinationReplicatedTables::~BackupCoordinationReplicatedTables() = default; + +void BackupCoordinationReplicatedTables::addPartNames( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, + const std::vector & part_names_and_checksums) +{ + if (prepared) + throw Exception(ErrorCodes::LOGICAL_ERROR, "addPartNames() must not be called after preparing"); + + auto & table_info = table_infos[table_shared_id]; + table_info.table_name_for_logs = table_name_for_logs; + + if (!table_info.covered_parts_finder) + table_info.covered_parts_finder = std::make_unique(table_name_for_logs); + + auto replica_name_ptr = std::make_shared(replica_name); + + for (const auto & part_name_and_checksum : part_names_and_checksums) + { + const auto & part_name = part_name_and_checksum.part_name; + const auto & checksum = part_name_and_checksum.checksum; + auto it = table_info.replicas_by_part_name.find(part_name); + if (it == table_info.replicas_by_part_name.end()) + { + it = table_info.replicas_by_part_name.emplace(part_name, PartReplicas{}).first; + it->second.checksum = checksum; + } + else + { + const auto & other = it->second; + if (other.checksum != checksum) + { + const String & other_replica_name = **other.replica_names.begin(); + throw Exception( + ErrorCodes::CANNOT_BACKUP_TABLE, + "Table {} on replica {} has part {} which is different from the part on replica {}. Must be the same", + table_name_for_logs, + replica_name, + part_name, + other_replica_name); + } + } + + auto & replica_names = it->second.replica_names; + + /// `replica_names` should be ordered because we need this vector to be in the same order on every replica. + replica_names.insert( + std::upper_bound(replica_names.begin(), replica_names.end(), replica_name_ptr, LessReplicaName{}), replica_name_ptr); + } +} + +Strings BackupCoordinationReplicatedTables::getPartNames(const String & table_shared_id, const String & replica_name) const +{ + prepare(); + + auto it = table_infos.find(table_shared_id); + if (it == table_infos.end()) + return {}; + + const auto & part_names_by_replica_name = it->second.part_names_by_replica_name; + auto it2 = part_names_by_replica_name.find(replica_name); + if (it2 == part_names_by_replica_name.end()) + return {}; + + return it2->second; +} + +void BackupCoordinationReplicatedTables::addMutations( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, + const std::vector & mutations) +{ + if (prepared) + throw Exception(ErrorCodes::LOGICAL_ERROR, "addMutations() must not be called after preparing"); + + auto & table_info = table_infos[table_shared_id]; + table_info.table_name_for_logs = table_name_for_logs; + for (const auto & [mutation_id, mutation_entry] : mutations) + table_info.mutations.emplace(mutation_id, mutation_entry); + + /// std::max() because the calculation must give the same result being repeated on a different replica. + table_info.replica_name_to_store_mutations = std::max(table_info.replica_name_to_store_mutations, replica_name); +} + +std::vector +BackupCoordinationReplicatedTables::getMutations(const String & table_shared_id, const String & replica_name) const +{ + prepare(); + + auto it = table_infos.find(table_shared_id); + if (it == table_infos.end()) + return {}; + + const auto & table_info = it->second; + if (table_info.replica_name_to_store_mutations != replica_name) + return {}; + + std::vector res; + for (const auto & [mutation_id, mutation_entry] : table_info.mutations) + res.emplace_back(MutationInfo{mutation_id, mutation_entry}); + return res; +} + +void BackupCoordinationReplicatedTables::addDataPath(const String & table_shared_id, const String & data_path) +{ + auto & table_info = table_infos[table_shared_id]; + table_info.data_paths.emplace(data_path); +} + +Strings BackupCoordinationReplicatedTables::getDataPaths(const String & table_shared_id) const +{ + auto it = table_infos.find(table_shared_id); + if (it == table_infos.end()) + return {}; + + const auto & table_info = it->second; + return Strings{table_info.data_paths.begin(), table_info.data_paths.end()}; +} + + +void BackupCoordinationReplicatedTables::prepare() const +{ + if (prepared) + return; + + size_t counter = 0; + for (const auto & table_info : table_infos | boost::adaptors::map_values) + { + try + { + /// Remove parts covered by other parts. + for (const auto & [part_name, part_replicas] : table_info.replicas_by_part_name) + { + auto part_info = MergeTreePartInfo::fromPartName(part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING); + + auto & min_data_versions_by_partition = table_info.min_data_versions_by_partition; + auto it2 = min_data_versions_by_partition.find(part_info.partition_id); + if (it2 == min_data_versions_by_partition.end()) + min_data_versions_by_partition[part_info.partition_id] = part_info.getDataVersion(); + else + it2->second = std::min(it2->second, part_info.getDataVersion()); + + table_info.covered_parts_finder->addPartInfo(std::move(part_info), part_replicas.replica_names[0]); + } + + for (const auto & [part_name, part_replicas] : table_info.replicas_by_part_name) + { + if (table_info.covered_parts_finder->isCoveredByAnotherPart(part_name)) + continue; + size_t chosen_index = (counter++) % part_replicas.replica_names.size(); + const auto & chosen_replica_name = *part_replicas.replica_names[chosen_index]; + table_info.part_names_by_replica_name[chosen_replica_name].push_back(part_name); + } + + /// Remove finished or unrelated mutations. + std::unordered_map unfinished_mutations; + for (const auto & [mutation_id, mutation_entry_str] : table_info.mutations) + { + auto mutation_entry = ReplicatedMergeTreeMutationEntry::parse(mutation_entry_str, mutation_id); + std::map new_block_numbers; + for (const auto & [partition_id, block_number] : mutation_entry.block_numbers) + { + auto it = table_info.min_data_versions_by_partition.find(partition_id); + if ((it != table_info.min_data_versions_by_partition.end()) && (it->second < block_number)) + new_block_numbers[partition_id] = block_number; + } + mutation_entry.block_numbers = std::move(new_block_numbers); + if (!mutation_entry.block_numbers.empty()) + unfinished_mutations[mutation_id] = mutation_entry.toString(); + } + table_info.mutations = unfinished_mutations; + } + catch (Exception & e) + { + e.addMessage("While checking data of table {}", table_info.table_name_for_logs); + throw; + } + } + + prepared = true; +} + +} diff --git a/src/Backups/BackupCoordinationReplicatedTables.h b/src/Backups/BackupCoordinationReplicatedTables.h new file mode 100644 index 00000000000..7b9f608d28b --- /dev/null +++ b/src/Backups/BackupCoordinationReplicatedTables.h @@ -0,0 +1,103 @@ +#pragma once + +#include +#include +#include +#include +#include + + +namespace DB +{ + +/// Replicas used this class to coordinate how they're writing replicated tables to a backup. +/// "BACKUP ON CLUSTER" can be executed on multiple hosts and parts of replicated tables on those hosts could be slightly different +/// at any specific moment. This class is designed so that inside the backup all replicas would contain all the parts +/// no matter if the replication queues of those tables are fast or slow. +/// This is important to make RESTORE more correct and not dependent on random things like how fast the replicas doing RESTORE +/// comparing to each other or how many replicas will be when RESTORE will be executed. +/// +/// Example 1: Let's consider two replicas of a table, and let the first replica contain part all_1_1_0 and the second replica contain +/// all_2_2_0. The files in the backup will look like this: +/// /shards/1/replicas/1/data/mydb/mytable/all_1_1_0 +/// /shards/1/replicas/1/data/mydb/mytable/all_2_2_0 +/// /shards/1/replicas/2/data/mydb/mytable/all_1_1_0 +/// /shards/1/replicas/2/data/mydb/mytable/all_2_2_0 +/// +/// Example 2: Let's consider two replicas again, and let the first replica contain parts all_1_1_0 and all_2_2_0 and +/// the second replica contain part all_1_2_1 (i.e. the second replica have those parts merged). +/// In this case the files in the backup will look like this: +/// /shards/1/replicas/1/data/mydb/mytable/all_1_2_1 +/// /shards/1/replicas/2/data/mydb/mytable/all_1_2_1 + +class BackupCoordinationReplicatedTables +{ +public: + BackupCoordinationReplicatedTables(); + ~BackupCoordinationReplicatedTables(); + + using PartNameAndChecksum = IBackupCoordination::PartNameAndChecksum; + + /// Adds part names which a specified replica of a replicated table is going to put to the backup. + /// Multiple replicas of the replicated table call this function and then the added part names can be returned by call of the function + /// getPartNames(). + /// Checksums are used only to control that parts under the same names on different replicas are the same. + void addPartNames( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, + const std::vector & part_names_and_checksums); + + /// Returns the names of the parts which a specified replica of a replicated table should put to the backup. + /// This is the same list as it was added by call of the function addPartNames() but without duplications and without + /// parts covered by another parts. + Strings getPartNames(const String & table_shared_id, const String & replica_name) const; + + using MutationInfo = IBackupCoordination::MutationInfo; + + /// Adds information about mutations of a replicated table. + void addMutations( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, + const std::vector & mutations); + + /// Returns all mutations of a replicated table which are not finished for some data parts added by addReplicatedPartNames(). + std::vector getMutations(const String & table_shared_id, const String & replica_name) const; + + /// Adds a data path in backup for a replicated table. + /// Multiple replicas of the replicated table call this function and then all the added paths can be returned by call of the function + /// getDataPaths(). + void addDataPath(const String & table_shared_id, const String & data_path); + + /// Returns all the data paths in backup added for a replicated table (see also addReplicatedDataPath()). + Strings getDataPaths(const String & table_shared_id) const; + +private: + void prepare() const; + + class CoveredPartsFinder; + + struct PartReplicas + { + std::vector> replica_names; + UInt128 checksum; + }; + + struct TableInfo + { + String table_name_for_logs; + std::map replicas_by_part_name; /// Should be ordered because we need this map to be in the same order on every replica. + mutable std::unordered_map */, Strings> part_names_by_replica_name; + std::unique_ptr covered_parts_finder; + mutable std::unordered_map min_data_versions_by_partition; + mutable std::unordered_map mutations; + String replica_name_to_store_mutations; + std::unordered_set data_paths; + }; + + std::map table_infos; /// Should be ordered because we need this map to be in the same order on every replica. + mutable bool prepared = false; +}; + +} diff --git a/src/Backups/BackupCoordinationStage.cpp b/src/Backups/BackupCoordinationStage.cpp new file mode 100644 index 00000000000..bb8abdf95c4 --- /dev/null +++ b/src/Backups/BackupCoordinationStage.cpp @@ -0,0 +1,13 @@ +#include +#include + + +namespace DB +{ + +String BackupCoordinationStage::formatGatheringMetadata(size_t pass) +{ + return fmt::format("{} ({})", GATHERING_METADATA, pass); +} + +} diff --git a/src/Backups/BackupCoordinationStage.h b/src/Backups/BackupCoordinationStage.h new file mode 100644 index 00000000000..091c1f11463 --- /dev/null +++ b/src/Backups/BackupCoordinationStage.h @@ -0,0 +1,41 @@ +#pragma once + +#include + + +namespace DB +{ + +namespace BackupCoordinationStage +{ + /// Finding all tables and databases which we're going to put to the backup and collecting their metadata. + constexpr const char * GATHERING_METADATA = "gathering metadata"; + + String formatGatheringMetadata(size_t pass); + + /// Making temporary hard links and prepare backup entries. + constexpr const char * EXTRACTING_DATA_FROM_TABLES = "extracting data from tables"; + + /// Running special tasks for replicated tables which can also prepare some backup entries. + constexpr const char * RUNNING_POST_TASKS = "running post-tasks"; + + /// Writing backup entries to the backup and removing temporary hard links. + constexpr const char * WRITING_BACKUP = "writing backup"; + + /// Finding databases and tables in the backup which we're going to restore. + constexpr const char * FINDING_TABLES_IN_BACKUP = "finding tables in backup"; + + /// Creating databases or finding them and checking their definitions. + constexpr const char * CREATING_DATABASES = "creating databases"; + + /// Creating tables or finding them and checking their definition. + constexpr const char * CREATING_TABLES = "creating tables"; + + /// Inserting restored data to tables. + constexpr const char * INSERTING_DATA_TO_TABLES = "inserting data to tables"; + + /// Coordination stage meaning that a host finished its work. + constexpr const char * COMPLETED = "completed"; +} + +} diff --git a/src/Backups/BackupCoordinationStageSync.cpp b/src/Backups/BackupCoordinationStageSync.cpp new file mode 100644 index 00000000000..e4773223075 --- /dev/null +++ b/src/Backups/BackupCoordinationStageSync.cpp @@ -0,0 +1,201 @@ +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int FAILED_TO_SYNC_BACKUP_OR_RESTORE; +} + + +BackupCoordinationStageSync::BackupCoordinationStageSync(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, Poco::Logger * log_) + : zookeeper_path(zookeeper_path_) + , get_zookeeper(get_zookeeper_) + , log(log_) +{ + createRootNodes(); +} + +void BackupCoordinationStageSync::createRootNodes() +{ + auto zookeeper = get_zookeeper(); + zookeeper->createAncestors(zookeeper_path); + zookeeper->createIfNotExists(zookeeper_path, ""); +} + +void BackupCoordinationStageSync::set(const String & current_host, const String & new_stage, const String & message) +{ + auto zookeeper = get_zookeeper(); + + /// Make an ephemeral node so the initiator can track if the current host is still working. + String alive_node_path = zookeeper_path + "/alive|" + current_host; + auto code = zookeeper->tryCreate(alive_node_path, "", zkutil::CreateMode::Ephemeral); + if (code != Coordination::Error::ZOK && code != Coordination::Error::ZNODEEXISTS) + throw zkutil::KeeperException(code, alive_node_path); + + zookeeper->createIfNotExists(zookeeper_path + "/started|" + current_host, ""); + zookeeper->create(zookeeper_path + "/current|" + current_host + "|" + new_stage, message, zkutil::CreateMode::Persistent); +} + +void BackupCoordinationStageSync::setError(const String & current_host, const Exception & exception) +{ + auto zookeeper = get_zookeeper(); + WriteBufferFromOwnString buf; + writeStringBinary(current_host, buf); + writeException(exception, buf, true); + zookeeper->createIfNotExists(zookeeper_path + "/error", buf.str()); +} + +Strings BackupCoordinationStageSync::wait(const Strings & all_hosts, const String & stage_to_wait) +{ + return waitImpl(all_hosts, stage_to_wait, {}); +} + +Strings BackupCoordinationStageSync::waitFor(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout) +{ + return waitImpl(all_hosts, stage_to_wait, timeout); +} + +namespace +{ + struct UnreadyHostState + { + bool started = false; + bool alive = false; + }; +} + +struct BackupCoordinationStageSync::State +{ + Strings results; + std::map unready_hosts; + std::optional> error; + std::optional host_terminated; +}; + +BackupCoordinationStageSync::State BackupCoordinationStageSync::readCurrentState( + zkutil::ZooKeeperPtr zookeeper, const Strings & zk_nodes, const Strings & all_hosts, const String & stage_to_wait) const +{ + std::unordered_set zk_nodes_set{zk_nodes.begin(), zk_nodes.end()}; + + State state; + if (zk_nodes_set.contains("error")) + { + ReadBufferFromOwnString buf{zookeeper->get(zookeeper_path + "/error")}; + String host; + readStringBinary(host, buf); + state.error = std::make_pair(host, readException(buf, fmt::format("Got error from {}", host))); + return state; + } + + for (const auto & host : all_hosts) + { + if (!zk_nodes_set.contains("current|" + host + "|" + stage_to_wait)) + { + UnreadyHostState unready_host_state; + unready_host_state.started = zk_nodes_set.contains("started|" + host); + unready_host_state.alive = zk_nodes_set.contains("alive|" + host); + state.unready_hosts.emplace(host, unready_host_state); + if (!unready_host_state.alive && unready_host_state.started && !state.host_terminated) + state.host_terminated = host; + } + } + + if (state.host_terminated || !state.unready_hosts.empty()) + return state; + + state.results.reserve(all_hosts.size()); + for (const auto & host : all_hosts) + state.results.emplace_back(zookeeper->get(zookeeper_path + "/current|" + host + "|" + stage_to_wait)); + + return state; +} + +Strings BackupCoordinationStageSync::waitImpl(const Strings & all_hosts, const String & stage_to_wait, std::optional timeout) const +{ + if (all_hosts.empty()) + return {}; + + /// Wait until all hosts are ready or an error happens or time is out. + + auto zookeeper = get_zookeeper(); + + /// Set by ZooKepper when list of zk nodes have changed. + auto watch = std::make_shared(); + + bool use_timeout = timeout.has_value(); + std::chrono::steady_clock::time_point end_of_timeout; + if (use_timeout) + end_of_timeout = std::chrono::steady_clock::now() + std::chrono::duration_cast(*timeout); + + State state; + + String previous_unready_host; /// Used for logging: we don't want to log the same unready host again. + + for (;;) + { + /// Get zk nodes and subscribe on their changes. + Strings zk_nodes = zookeeper->getChildren(zookeeper_path, nullptr, watch); + + /// Read and analyze the current state of zk nodes. + state = readCurrentState(zookeeper, zk_nodes, all_hosts, stage_to_wait); + if (state.error || state.host_terminated || state.unready_hosts.empty()) + break; /// Error happened or everything is ready. + + /// Log that we will wait for another host. + const auto & unready_host = state.unready_hosts.begin()->first; + if (unready_host != previous_unready_host) + { + LOG_TRACE(log, "Waiting for host {}", unready_host); + previous_unready_host = unready_host; + } + + /// Wait until `watch_callback` is called by ZooKeeper meaning that zk nodes have changed. + { + if (use_timeout) + { + auto current_time = std::chrono::steady_clock::now(); + if ((current_time > end_of_timeout) + || !watch->tryWait(std::chrono::duration_cast(end_of_timeout - current_time).count())) + break; + } + else + { + watch->wait(); + } + } + } + + /// Rethrow an error raised originally on another host. + if (state.error) + state.error->second.rethrow(); + + /// Another host terminated without errors. + if (state.host_terminated) + throw Exception(ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, "Host {} suddenly stopped working", *state.host_terminated); + + /// Something's unready, timeout is probably not enough. + if (!state.unready_hosts.empty()) + { + const auto & [unready_host, unready_host_state] = *state.unready_hosts.begin(); + throw Exception( + ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, + "Waited for host {} too long (> {}){}", + unready_host, + to_string(*timeout), + unready_host_state.started ? "" : ": Operation didn't start"); + } + + return state.results; +} + +} diff --git a/src/Backups/BackupCoordinationStageSync.h b/src/Backups/BackupCoordinationStageSync.h new file mode 100644 index 00000000000..623b58fd9fa --- /dev/null +++ b/src/Backups/BackupCoordinationStageSync.h @@ -0,0 +1,39 @@ +#pragma once + +#include + + +namespace DB +{ + +/// Used to coordinate hosts so all hosts would come to a specific stage at around the same time. +class BackupCoordinationStageSync +{ +public: + BackupCoordinationStageSync(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, Poco::Logger * log_); + + /// Sets the stage of the current host and signal other hosts if there were other hosts waiting for that. + void set(const String & current_host, const String & new_stage, const String & message); + void setError(const String & current_host, const Exception & exception); + + /// Sets the stage of the current host and waits until all hosts come to the same stage. + /// The function returns the messages all hosts set when they come to the required stage. + Strings wait(const Strings & all_hosts, const String & stage_to_wait); + + /// Almost the same as setAndWait() but this one stops waiting and throws an exception after a specific amount of time. + Strings waitFor(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout); + +private: + void createRootNodes(); + + struct State; + State readCurrentState(zkutil::ZooKeeperPtr zookeeper, const Strings & zk_nodes, const Strings & all_hosts, const String & stage_to_wait) const; + + Strings waitImpl(const Strings & all_hosts, const String & stage_to_wait, std::optional timeout) const; + + String zookeeper_path; + zkutil::GetZooKeeper get_zookeeper; + Poco::Logger * log; +}; + +} diff --git a/src/Backups/BackupEntriesCollector.cpp b/src/Backups/BackupEntriesCollector.cpp new file mode 100644 index 00000000000..22245f7056a --- /dev/null +++ b/src/Backups/BackupEntriesCollector.cpp @@ -0,0 +1,761 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int INCONSISTENT_METADATA_FOR_BACKUP; + extern const int CANNOT_BACKUP_TABLE; + extern const int TABLE_IS_DROPPED; + extern const int UNKNOWN_TABLE; + extern const int LOGICAL_ERROR; +} + + +namespace Stage = BackupCoordinationStage; + +namespace +{ + /// Uppercases the first character of a passed string. + String toUpperFirst(const String & str) + { + String res = str; + res[0] = std::toupper(res[0]); + return res; + } + + /// Outputs "table " or "temporary table " + String tableNameWithTypeToString(const String & database_name, const String & table_name, bool first_upper) + { + String str; + if (database_name == DatabaseCatalog::TEMPORARY_DATABASE) + str = fmt::format("temporary table {}", backQuoteIfNeed(table_name)); + else + str = fmt::format("table {}.{}", backQuoteIfNeed(database_name), backQuoteIfNeed(table_name)); + if (first_upper) + str[0] = std::toupper(str[0]); + return str; + } + + /// How long we should sleep after finding an inconsistency error. + std::chrono::milliseconds getSleepTimeAfterInconsistencyError(size_t pass) + { + size_t ms; + if (pass == 1) /* pass is 1-based */ + ms = 0; + else if ((pass % 10) != 1) + ms = 0; + else + ms = 1000; + return std::chrono::milliseconds{ms}; + } +} + + +BackupEntriesCollector::BackupEntriesCollector( + const ASTBackupQuery::Elements & backup_query_elements_, + const BackupSettings & backup_settings_, + std::shared_ptr backup_coordination_, + const ContextPtr & context_) + : backup_query_elements(backup_query_elements_) + , backup_settings(backup_settings_) + , backup_coordination(backup_coordination_) + , context(context_) + , on_cluster_first_sync_timeout(context->getConfigRef().getUInt64("backups.on_cluster_first_sync_timeout", 180000)) + , consistent_metadata_snapshot_timeout(context->getConfigRef().getUInt64("backups.consistent_metadata_snapshot_timeout", 600000)) + , log(&Poco::Logger::get("BackupEntriesCollector")) +{ +} + +BackupEntriesCollector::~BackupEntriesCollector() = default; + +BackupEntries BackupEntriesCollector::run() +{ + /// run() can be called onle once. + if (!current_stage.empty()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Already making backup entries"); + + /// Find other hosts working along with us to execute this ON CLUSTER query. + all_hosts + = BackupSettings::Util::filterHostIDs(backup_settings.cluster_host_ids, backup_settings.shard_num, backup_settings.replica_num); + + /// Do renaming in the create queries according to the renaming config. + renaming_map = makeRenamingMapFromBackupQuery(backup_query_elements); + + /// Calculate the root path for collecting backup entries, it's either empty or has the format "shards//replicas//". + calculateRootPathInBackup(); + + /// Find databases and tables which we're going to put to the backup. + gatherMetadataAndCheckConsistency(); + + /// Make backup entries for the definitions of the found databases. + makeBackupEntriesForDatabasesDefs(); + + /// Make backup entries for the definitions of the found tables. + makeBackupEntriesForTablesDefs(); + + /// Make backup entries for the data of the found tables. + setStage(Stage::EXTRACTING_DATA_FROM_TABLES); + makeBackupEntriesForTablesData(); + + /// Run all the tasks added with addPostCollectingTask(). + setStage(Stage::RUNNING_POST_TASKS); + runPostTasks(); + + /// No more backup entries or tasks are allowed after this point. + setStage(Stage::WRITING_BACKUP); + + return std::move(backup_entries); +} + +Strings BackupEntriesCollector::setStage(const String & new_stage, const String & message) +{ + LOG_TRACE(log, "{}", toUpperFirst(new_stage)); + current_stage = new_stage; + + backup_coordination->setStage(backup_settings.host_id, new_stage, message); + + if (new_stage == Stage::formatGatheringMetadata(1)) + { + return backup_coordination->waitForStage(all_hosts, new_stage, on_cluster_first_sync_timeout); + } + else if (new_stage.starts_with(Stage::GATHERING_METADATA)) + { + auto current_time = std::chrono::steady_clock::now(); + auto end_of_timeout = std::max(current_time, consistent_metadata_snapshot_end_time); + return backup_coordination->waitForStage( + all_hosts, new_stage, std::chrono::duration_cast(end_of_timeout - current_time)); + } + else + { + return backup_coordination->waitForStage(all_hosts, new_stage); + } +} + +/// Calculates the root path for collecting backup entries, +/// it's either empty or has the format "shards//replicas//". +void BackupEntriesCollector::calculateRootPathInBackup() +{ + root_path_in_backup = "/"; + if (!backup_settings.host_id.empty()) + { + auto [shard_num, replica_num] + = BackupSettings::Util::findShardNumAndReplicaNum(backup_settings.cluster_host_ids, backup_settings.host_id); + root_path_in_backup = root_path_in_backup / fs::path{"shards"} / std::to_string(shard_num) / "replicas" / std::to_string(replica_num); + } + LOG_TRACE(log, "Will use path in backup: {}", doubleQuoteString(String{root_path_in_backup})); +} + +/// Finds databases and tables which we will put to the backup. +void BackupEntriesCollector::gatherMetadataAndCheckConsistency() +{ + setStage(Stage::formatGatheringMetadata(1)); + + consistent_metadata_snapshot_end_time = std::chrono::steady_clock::now() + consistent_metadata_snapshot_timeout; + + for (size_t pass = 1;; ++pass) + { + String next_stage = Stage::formatGatheringMetadata(pass + 1); + std::optional inconsistency_error; + if (tryGatherMetadataAndCompareWithPrevious(inconsistency_error)) + { + /// Gathered metadata and checked consistency, cool! But we have to check that other hosts cope with that too. + auto all_hosts_results = setStage(next_stage, "consistent"); + + std::optional host_with_inconsistency; + std::optional inconsistency_error_on_other_host; + for (size_t i = 0; i != all_hosts.size(); ++i) + { + if ((i < all_hosts_results.size()) && (all_hosts_results[i] != "consistent")) + { + host_with_inconsistency = all_hosts[i]; + inconsistency_error_on_other_host = all_hosts_results[i]; + break; + } + } + + if (!host_with_inconsistency) + break; /// All hosts managed to gather metadata and everything is consistent, so we can go further to writing the backup. + + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "Found inconsistency on host {}: {}", + *host_with_inconsistency, + *inconsistency_error_on_other_host}; + } + else + { + /// Failed to gather metadata or something wasn't consistent. We'll let other hosts know that and try again. + setStage(next_stage, inconsistency_error->displayText()); + } + + /// Two passes is minimum (we need to compare with table names with previous ones to be sure we don't miss anything). + if (pass >= 2) + { + if (std::chrono::steady_clock::now() > consistent_metadata_snapshot_end_time) + inconsistency_error->rethrow(); + else + LOG_WARNING(log, "{}", inconsistency_error->displayText()); + } + + auto sleep_time = getSleepTimeAfterInconsistencyError(pass); + if (sleep_time.count() > 0) + sleepForNanoseconds(std::chrono::duration_cast(sleep_time).count()); + } + + LOG_INFO(log, "Will backup {} databases and {} tables", database_infos.size(), table_infos.size()); +} + +bool BackupEntriesCollector::tryGatherMetadataAndCompareWithPrevious(std::optional & inconsistency_error) +{ + try + { + /// Collect information about databases and tables specified in the BACKUP query. + database_infos.clear(); + table_infos.clear(); + gatherDatabasesMetadata(); + gatherTablesMetadata(); + lockTablesForReading(); + } + catch (Exception & e) + { + if (e.code() != ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP) + throw; + + inconsistency_error = e; + return false; + } + + /// We have to check consistency of collected information to protect from the case when some table or database is + /// renamed during this collecting making the collected information invalid. + return compareWithPrevious(inconsistency_error); +} + +void BackupEntriesCollector::gatherDatabasesMetadata() +{ + /// Collect information about databases and tables specified in the BACKUP query. + for (const auto & element : backup_query_elements) + { + switch (element.type) + { + case ASTBackupQuery::ElementType::TABLE: + { + gatherDatabaseMetadata( + element.database_name, + /* throw_if_database_not_found= */ true, + /* backup_create_database_query= */ false, + element.table_name, + /* throw_if_table_not_found= */ true, + element.partitions, + /* all_tables= */ false, + /* except_table_names= */ {}); + break; + } + + case ASTBackupQuery::ElementType::TEMPORARY_TABLE: + { + gatherDatabaseMetadata( + DatabaseCatalog::TEMPORARY_DATABASE, + /* throw_if_database_not_found= */ true, + /* backup_create_database_query= */ false, + element.table_name, + /* throw_if_table_not_found= */ true, + element.partitions, + /* all_tables= */ false, + /* except_table_names= */ {}); + break; + } + + case ASTBackupQuery::ElementType::DATABASE: + { + gatherDatabaseMetadata( + element.database_name, + /* throw_if_database_not_found= */ true, + /* backup_create_database_query= */ true, + /* table_name= */ {}, + /* throw_if_table_not_found= */ false, + /* partitions= */ {}, + /* all_tables= */ true, + /* except_table_names= */ element.except_tables); + break; + } + + case ASTBackupQuery::ElementType::ALL: + { + for (const auto & [database_name, database] : DatabaseCatalog::instance().getDatabases()) + { + if (!element.except_databases.contains(database_name)) + { + gatherDatabaseMetadata( + database_name, + /* throw_if_database_not_found= */ false, + /* backup_create_database_query= */ true, + /* table_name= */ {}, + /* throw_if_table_not_found= */ false, + /* partitions= */ {}, + /* all_tables= */ true, + /* except_table_names= */ element.except_tables); + } + } + break; + } + } + } +} + +void BackupEntriesCollector::gatherDatabaseMetadata( + const String & database_name, + bool throw_if_database_not_found, + bool backup_create_database_query, + const std::optional & table_name, + bool throw_if_table_not_found, + const std::optional & partitions, + bool all_tables, + const std::set & except_table_names) +{ + auto it = database_infos.find(database_name); + if (it == database_infos.end()) + { + DatabasePtr database; + if (throw_if_database_not_found) + { + database = DatabaseCatalog::instance().getDatabase(database_name); + } + else + { + database = DatabaseCatalog::instance().tryGetDatabase(database_name); + if (!database) + return; + } + + DatabaseInfo new_database_info; + new_database_info.database = database; + it = database_infos.emplace(database_name, new_database_info).first; + } + + DatabaseInfo & database_info = it->second; + + if (backup_create_database_query && !database_info.create_database_query && (database_name != DatabaseCatalog::TEMPORARY_DATABASE)) + { + ASTPtr create_database_query; + try + { + create_database_query = database_info.database->getCreateDatabaseQuery(); + } + catch (...) + { + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Couldn't get a create query for database {}", database_name); + } + + database_info.create_database_query = create_database_query; + const auto & create = create_database_query->as(); + + if (create.getDatabase() != database_name) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a create query with unexpected name {} for database {}", backQuoteIfNeed(create.getDatabase()), backQuoteIfNeed(database_name)); + + String new_database_name = renaming_map.getNewDatabaseName(database_name); + database_info.metadata_path_in_backup = root_path_in_backup / "metadata" / (escapeForFileName(new_database_name) + ".sql"); + } + + if (table_name) + { + auto & table_params = database_info.tables[*table_name]; + if (throw_if_table_not_found) + table_params.throw_if_table_not_found = true; + if (partitions) + { + table_params.partitions.emplace(); + insertAtEnd(*table_params.partitions, *partitions); + } + database_info.except_table_names.emplace(*table_name); + } + + if (all_tables) + { + database_info.all_tables = all_tables; + for (const auto & except_table_name : except_table_names) + if (except_table_name.first == database_name) + database_info.except_table_names.emplace(except_table_name.second); + } +} + +void BackupEntriesCollector::gatherTablesMetadata() +{ + table_infos.clear(); + for (const auto & [database_name, database_info] : database_infos) + { + std::vector> db_tables = findTablesInDatabase(database_name); + + for (const auto & db_table : db_tables) + { + const auto & create_table_query = db_table.first; + const auto & storage = db_table.second; + const auto & create = create_table_query->as(); + String table_name = create.getTable(); + + fs::path metadata_path_in_backup, data_path_in_backup; + auto table_name_in_backup = renaming_map.getNewTableName({database_name, table_name}); + if (table_name_in_backup.database == DatabaseCatalog::TEMPORARY_DATABASE) + { + metadata_path_in_backup = root_path_in_backup / "temporary_tables" / "metadata" / (escapeForFileName(table_name_in_backup.table) + ".sql"); + data_path_in_backup = root_path_in_backup / "temporary_tables" / "data" / escapeForFileName(table_name_in_backup.table); + } + else + { + metadata_path_in_backup + = root_path_in_backup / "metadata" / escapeForFileName(table_name_in_backup.database) / (escapeForFileName(table_name_in_backup.table) + ".sql"); + data_path_in_backup = root_path_in_backup / "data" / escapeForFileName(table_name_in_backup.database) + / escapeForFileName(table_name_in_backup.table); + } + + /// Add information to `table_infos`. + auto & res_table_info = table_infos[QualifiedTableName{database_name, table_name}]; + res_table_info.database = database_info.database; + res_table_info.storage = storage; + res_table_info.create_table_query = create_table_query; + res_table_info.metadata_path_in_backup = metadata_path_in_backup; + res_table_info.data_path_in_backup = data_path_in_backup; + + if (!backup_settings.structure_only) + { + auto it = database_info.tables.find(table_name); + if (it != database_info.tables.end()) + { + const auto & partitions = it->second.partitions; + if (partitions && !storage->supportsBackupPartition()) + { + throw Exception( + ErrorCodes::CANNOT_BACKUP_TABLE, + "Table engine {} doesn't support partitions, cannot backup {}", + storage->getName(), + tableNameWithTypeToString(database_name, table_name, false)); + } + res_table_info.partitions = partitions; + } + } + } + } +} + +std::vector> BackupEntriesCollector::findTablesInDatabase(const String & database_name) const +{ + const auto & database_info = database_infos.at(database_name); + const auto & database = database_info.database; + + auto filter_by_table_name = [database_info = &database_info](const String & table_name) + { + /// We skip inner tables of materialized views. + if (table_name.starts_with(".inner_id.")) + return false; + + if (database_info->tables.contains(table_name)) + return true; + + if (database_info->all_tables) + return !database_info->except_table_names.contains(table_name); + + return false; + }; + + std::vector> db_tables; + + try + { + db_tables = database->getTablesForBackup(filter_by_table_name, context); + } + catch (Exception & e) + { + e.addMessage("While collecting tables for backup in database {}", backQuoteIfNeed(database_name)); + throw; + } + + std::unordered_set found_table_names; + for (const auto & db_table : db_tables) + { + const auto & create_table_query = db_table.first; + const auto & create = create_table_query->as(); + found_table_names.emplace(create.getTable()); + + if (database_name == DatabaseCatalog::TEMPORARY_DATABASE) + { + if (!create.temporary) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a non-temporary create query for {}", tableNameWithTypeToString(database_name, create.getTable(), false)); + } + else + { + if (create.getDatabase() != database_name) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a create query with unexpected database name {} for {}", backQuoteIfNeed(create.getDatabase()), tableNameWithTypeToString(database_name, create.getTable(), false)); + } + } + + /// Check that all tables were found. + for (const auto & [table_name, table_info] : database_info.tables) + { + if (table_info.throw_if_table_not_found && !found_table_names.contains(table_name)) + throw Exception(ErrorCodes::UNKNOWN_TABLE, "{} was not found", tableNameWithTypeToString(database_name, table_name, true)); + } + + return db_tables; +} + +void BackupEntriesCollector::lockTablesForReading() +{ + for (auto & [table_name, table_info] : table_infos) + { + auto storage = table_info.storage; + if (storage) + { + try + { + table_info.table_lock = storage->lockForShare(context->getInitialQueryId(), context->getSettingsRef().lock_acquire_timeout); + } + catch (Exception & e) + { + if (e.code() != ErrorCodes::TABLE_IS_DROPPED) + throw; + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "{} was dropped during scanning", tableNameWithTypeToString(table_name.database, table_name.table, true)); + } + } + } +} + +/// Check consistency of collected information about databases and tables. +bool BackupEntriesCollector::compareWithPrevious(std::optional & inconsistency_error) +{ + /// We need to scan tables at least twice to be sure that we haven't missed any table which could be renamed + /// while we were scanning. + std::vector> databases_metadata; + std::vector> tables_metadata; + databases_metadata.reserve(database_infos.size()); + tables_metadata.reserve(table_infos.size()); + for (const auto & [database_name, database_info] : database_infos) + databases_metadata.emplace_back(database_name, database_info.create_database_query ? serializeAST(*database_info.create_database_query) : ""); + for (const auto & [table_name, table_info] : table_infos) + tables_metadata.emplace_back(table_name, serializeAST(*table_info.create_table_query)); + + /// We need to sort the lists to make the comparison below correct. + ::sort(databases_metadata.begin(), databases_metadata.end()); + ::sort(tables_metadata.begin(), tables_metadata.end()); + + SCOPE_EXIT({ + previous_databases_metadata = std::move(databases_metadata); + previous_tables_metadata = std::move(tables_metadata); + }); + + /// Databases must be the same as during the previous scan. + if (databases_metadata != previous_databases_metadata) + { + std::vector> difference; + difference.reserve(databases_metadata.size()); + std::set_difference(databases_metadata.begin(), databases_metadata.end(), previous_databases_metadata.begin(), + previous_databases_metadata.end(), std::back_inserter(difference)); + + if (!difference.empty()) + { + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "Database {} were created or changed its definition during scanning", + backQuoteIfNeed(difference[0].first)}; + return false; + } + + difference.clear(); + difference.reserve(previous_databases_metadata.size()); + std::set_difference(previous_databases_metadata.begin(), previous_databases_metadata.end(), databases_metadata.begin(), + databases_metadata.end(), std::back_inserter(difference)); + + if (!difference.empty()) + { + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "Database {} were removed or changed its definition during scanning", + backQuoteIfNeed(difference[0].first)}; + return false; + } + } + + /// Tables must be the same as during the previous scan. + if (tables_metadata != previous_tables_metadata) + { + std::vector> difference; + difference.reserve(tables_metadata.size()); + std::set_difference(tables_metadata.begin(), tables_metadata.end(), previous_tables_metadata.begin(), + previous_tables_metadata.end(), std::back_inserter(difference)); + + if (!difference.empty()) + { + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "{} were created or changed its definition during scanning", + tableNameWithTypeToString(difference[0].first.database, difference[0].first.table, true)}; + return false; + } + + difference.clear(); + difference.reserve(previous_tables_metadata.size()); + std::set_difference(previous_tables_metadata.begin(), previous_tables_metadata.end(), tables_metadata.begin(), + tables_metadata.end(), std::back_inserter(difference)); + + if (!difference.empty()) + { + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "{} were removed or changed its definition during scanning", + tableNameWithTypeToString(difference[0].first.database, difference[0].first.table, true)}; + return false; + } + } + + return true; +} + +/// Make backup entries for all the definitions of all the databases found. +void BackupEntriesCollector::makeBackupEntriesForDatabasesDefs() +{ + for (const auto & [database_name, database_info] : database_infos) + { + if (!database_info.create_database_query) + continue; /// We store CREATE DATABASE queries only if there was BACKUP DATABASE specified. + + LOG_TRACE(log, "Adding the definition of database {} to backup", backQuoteIfNeed(database_name)); + + ASTPtr new_create_query = database_info.create_database_query; + adjustCreateQueryForBackup(new_create_query, context->getGlobalContext(), nullptr); + renameDatabaseAndTableNameInCreateQuery(new_create_query, renaming_map, context->getGlobalContext()); + + const String & metadata_path_in_backup = database_info.metadata_path_in_backup; + backup_entries.emplace_back(metadata_path_in_backup, std::make_shared(serializeAST(*new_create_query))); + } +} + +/// Calls IDatabase::backupTable() for all the tables found to make backup entries for tables. +void BackupEntriesCollector::makeBackupEntriesForTablesDefs() +{ + for (auto & [table_name, table_info] : table_infos) + { + LOG_TRACE(log, "Adding the definition of {} to backup", tableNameWithTypeToString(table_name.database, table_name.table, false)); + + ASTPtr new_create_query = table_info.create_table_query; + adjustCreateQueryForBackup(new_create_query, context->getGlobalContext(), &table_info.replicated_table_shared_id); + renameDatabaseAndTableNameInCreateQuery(new_create_query, renaming_map, context->getGlobalContext()); + + const String & metadata_path_in_backup = table_info.metadata_path_in_backup; + backup_entries.emplace_back(metadata_path_in_backup, std::make_shared(serializeAST(*new_create_query))); + } +} + +void BackupEntriesCollector::makeBackupEntriesForTablesData() +{ + if (backup_settings.structure_only) + return; + + for (const auto & table_name : table_infos | boost::adaptors::map_keys) + makeBackupEntriesForTableData(table_name); +} + +void BackupEntriesCollector::makeBackupEntriesForTableData(const QualifiedTableName & table_name) +{ + if (backup_settings.structure_only) + return; + + const auto & table_info = table_infos.at(table_name); + const auto & storage = table_info.storage; + const auto & data_path_in_backup = table_info.data_path_in_backup; + + if (!storage) + { + /// If storage == null that means this storage exists on other replicas but it has not been created on this replica yet. + /// If this table is replicated in this case we call IBackupCoordination::addReplicatedDataPath() which will cause + /// other replicas to fill the storage's data in the backup. + /// If this table is not replicated we'll do nothing leaving the storage's data empty in the backup. + if (table_info.replicated_table_shared_id) + backup_coordination->addReplicatedDataPath(*table_info.replicated_table_shared_id, data_path_in_backup); + return; + } + + LOG_TRACE(log, "Collecting data of {} for backup", tableNameWithTypeToString(table_name.database, table_name.table, false)); + + try + { + storage->backupData(*this, data_path_in_backup, table_info.partitions); + } + catch (Exception & e) + { + e.addMessage("While collecting data of {} for backup", tableNameWithTypeToString(table_name.database, table_name.table, false)); + throw; + } +} + +void BackupEntriesCollector::addBackupEntry(const String & file_name, BackupEntryPtr backup_entry) +{ + if (current_stage == Stage::WRITING_BACKUP) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding backup entries is not allowed"); + backup_entries.emplace_back(file_name, backup_entry); +} + +void BackupEntriesCollector::addBackupEntry(const std::pair & backup_entry) +{ + addBackupEntry(backup_entry.first, backup_entry.second); +} + +void BackupEntriesCollector::addBackupEntries(const BackupEntries & backup_entries_) +{ + if (current_stage == Stage::WRITING_BACKUP) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding of backup entries is not allowed"); + insertAtEnd(backup_entries, backup_entries_); +} + +void BackupEntriesCollector::addBackupEntries(BackupEntries && backup_entries_) +{ + if (current_stage == Stage::WRITING_BACKUP) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding of backup entries is not allowed"); + insertAtEnd(backup_entries, std::move(backup_entries_)); +} + +void BackupEntriesCollector::addPostTask(std::function task) +{ + if (current_stage == Stage::WRITING_BACKUP) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding of post tasks is not allowed"); + post_tasks.push(std::move(task)); +} + +/// Runs all the tasks added with addPostCollectingTask(). +void BackupEntriesCollector::runPostTasks() +{ + /// Post collecting tasks can add other post collecting tasks, our code is fine with that. + while (!post_tasks.empty()) + { + auto task = std::move(post_tasks.front()); + post_tasks.pop(); + std::move(task)(); + } +} + +size_t BackupEntriesCollector::getAccessCounter(AccessEntityType type) +{ + access_counters.resize(static_cast(AccessEntityType::MAX)); + return access_counters[static_cast(type)]++; +} + +} diff --git a/src/Backups/BackupEntriesCollector.h b/src/Backups/BackupEntriesCollector.h new file mode 100644 index 00000000000..c42b5aedad4 --- /dev/null +++ b/src/Backups/BackupEntriesCollector.h @@ -0,0 +1,145 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ + +class IBackupEntry; +using BackupEntryPtr = std::shared_ptr; +using BackupEntries = std::vector>; +class IBackupCoordination; +class IDatabase; +using DatabasePtr = std::shared_ptr; +struct StorageID; +enum class AccessEntityType; + +/// Collects backup entries for all databases and tables which should be put to a backup. +class BackupEntriesCollector : private boost::noncopyable +{ +public: + BackupEntriesCollector(const ASTBackupQuery::Elements & backup_query_elements_, + const BackupSettings & backup_settings_, + std::shared_ptr backup_coordination_, + const ContextPtr & context_); + ~BackupEntriesCollector(); + + /// Collects backup entries and returns the result. + /// This function first generates a list of databases and then call IDatabase::getTablesForBackup() for each database from this list. + /// Then it calls IStorage::backupData() to build a list of backup entries. + BackupEntries run(); + + const BackupSettings & getBackupSettings() const { return backup_settings; } + std::shared_ptr getBackupCoordination() const { return backup_coordination; } + ContextPtr getContext() const { return context; } + + /// Adds a backup entry which will be later returned by run(). + /// These function can be called by implementations of IStorage::backupData() in inherited storage classes. + void addBackupEntry(const String & file_name, BackupEntryPtr backup_entry); + void addBackupEntry(const std::pair & backup_entry); + void addBackupEntries(const BackupEntries & backup_entries_); + void addBackupEntries(BackupEntries && backup_entries_); + + /// Adds a function which must be called after all IStorage::backupData() have finished their work on all hosts. + /// This function is designed to help making a consistent in some complex cases like + /// 1) we need to join (in a backup) the data of replicated tables gathered on different hosts. + void addPostTask(std::function task); + + /// Returns an incremental counter used to backup access control. + size_t getAccessCounter(AccessEntityType type); + +private: + void calculateRootPathInBackup(); + + void gatherMetadataAndCheckConsistency(); + + bool tryGatherMetadataAndCompareWithPrevious(std::optional & inconsistency_error); + + void gatherDatabasesMetadata(); + + void gatherDatabaseMetadata( + const String & database_name, + bool throw_if_database_not_found, + bool backup_create_database_query, + const std::optional & table_name, + bool throw_if_table_not_found, + const std::optional & partitions, + bool all_tables, + const std::set & except_table_names); + + void gatherTablesMetadata(); + std::vector> findTablesInDatabase(const String & database_name) const; + void lockTablesForReading(); + bool compareWithPrevious(std::optional & inconsistency_error); + + void makeBackupEntriesForDatabasesDefs(); + void makeBackupEntriesForTablesDefs(); + void makeBackupEntriesForTablesData(); + void makeBackupEntriesForTableData(const QualifiedTableName & table_name); + + void runPostTasks(); + + Strings setStage(const String & new_stage, const String & message = ""); + + const ASTBackupQuery::Elements backup_query_elements; + const BackupSettings backup_settings; + std::shared_ptr backup_coordination; + ContextPtr context; + std::chrono::milliseconds on_cluster_first_sync_timeout; + std::chrono::milliseconds consistent_metadata_snapshot_timeout; + Poco::Logger * log; + + Strings all_hosts; + DDLRenamingMap renaming_map; + std::filesystem::path root_path_in_backup; + + struct DatabaseInfo + { + DatabasePtr database; + ASTPtr create_database_query; + String metadata_path_in_backup; + + struct TableParams + { + bool throw_if_table_not_found = false; + std::optional partitions; + }; + + std::unordered_map tables; + + bool all_tables = false; + std::unordered_set except_table_names; + }; + + struct TableInfo + { + DatabasePtr database; + StoragePtr storage; + TableLockHolder table_lock; + ASTPtr create_table_query; + String metadata_path_in_backup; + std::filesystem::path data_path_in_backup; + std::optional replicated_table_shared_id; + std::optional partitions; + }; + + String current_stage; + std::chrono::steady_clock::time_point consistent_metadata_snapshot_end_time; + std::unordered_map database_infos; + std::unordered_map table_infos; + std::vector> previous_databases_metadata; + std::vector> previous_tables_metadata; + + BackupEntries backup_entries; + std::queue> post_tasks; + std::vector access_counters; +}; + +} diff --git a/src/Backups/BackupEntryFromImmutableFile.h b/src/Backups/BackupEntryFromImmutableFile.h index 4d5f47b4f61..5103518c873 100644 --- a/src/Backups/BackupEntryFromImmutableFile.h +++ b/src/Backups/BackupEntryFromImmutableFile.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include namespace Poco { class TemporaryFile; } @@ -41,7 +42,7 @@ public: private: const DiskPtr disk; const String file_path; - mutable std::optional file_size; + mutable std::optional file_size TSA_GUARDED_BY(get_file_size_mutex); mutable std::mutex get_file_size_mutex; const std::optional checksum; const std::shared_ptr temporary_file; diff --git a/src/Backups/BackupFactory.h b/src/Backups/BackupFactory.h index f9a97e3dfc5..9057d2cbfae 100644 --- a/src/Backups/BackupFactory.h +++ b/src/Backups/BackupFactory.h @@ -25,7 +25,6 @@ public: struct CreateParams { OpenMode open_mode = OpenMode::WRITE; - std::optional backup_uuid; BackupInfo backup_info; std::optional base_backup_info; String compression_method; @@ -34,6 +33,7 @@ public: ContextPtr context; bool is_internal_backup = false; std::shared_ptr backup_coordination; + std::optional backup_uuid; }; static BackupFactory & instance(); diff --git a/src/Backups/BackupIO.h b/src/Backups/BackupIO.h index ec0b2301800..389df97502a 100644 --- a/src/Backups/BackupIO.h +++ b/src/Backups/BackupIO.h @@ -8,23 +8,25 @@ class SeekableReadBuffer; class WriteBuffer; /// Represents operations of loading from disk or downloading for reading a backup. -class IBackupReader /// BackupReaderFile, BackupReaderDisk, BackupReaderS3 +class IBackupReader /// BackupReaderFile, BackupReaderDisk { public: virtual ~IBackupReader() = default; virtual bool fileExists(const String & file_name) = 0; - virtual size_t getFileSize(const String & file_name) = 0; + virtual UInt64 getFileSize(const String & file_name) = 0; virtual std::unique_ptr readFile(const String & file_name) = 0; }; /// Represents operations of storing to disk or uploading for writing a backup. -class IBackupWriter /// BackupWriterFile, BackupWriterDisk, BackupWriterS3 +class IBackupWriter /// BackupWriterFile, BackupWriterDisk { public: virtual ~IBackupWriter() = default; virtual bool fileExists(const String & file_name) = 0; + virtual UInt64 getFileSize(const String & file_name) = 0; + virtual bool fileContentsEqual(const String & file_name, const String & expected_file_contents) = 0; virtual std::unique_ptr writeFile(const String & file_name) = 0; - virtual void removeFilesAfterFailure(const Strings & file_names) = 0; + virtual void removeFiles(const Strings & file_names) = 0; }; } diff --git a/src/Backups/BackupIO_Disk.cpp b/src/Backups/BackupIO_Disk.cpp index 0734ddf0f57..22a86825387 100644 --- a/src/Backups/BackupIO_Disk.cpp +++ b/src/Backups/BackupIO_Disk.cpp @@ -1,9 +1,7 @@ #include -#include #include #include #include -#include namespace DB @@ -19,7 +17,7 @@ bool BackupReaderDisk::fileExists(const String & file_name) return disk->exists(path / file_name); } -size_t BackupReaderDisk::getFileSize(const String & file_name) +UInt64 BackupReaderDisk::getFileSize(const String & file_name) { return disk->getFileSize(path / file_name); } @@ -40,6 +38,30 @@ bool BackupWriterDisk::fileExists(const String & file_name) return disk->exists(path / file_name); } +UInt64 BackupWriterDisk::getFileSize(const String & file_name) +{ + return disk->getFileSize(path / file_name); +} + +bool BackupWriterDisk::fileContentsEqual(const String & file_name, const String & expected_file_contents) +{ + if (!disk->exists(path / file_name)) + return false; + + try + { + auto in = disk->readFile(path / file_name); + String actual_file_contents(expected_file_contents.size(), ' '); + return (in->read(actual_file_contents.data(), actual_file_contents.size()) == actual_file_contents.size()) + && (actual_file_contents == expected_file_contents) && in->eof(); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__); + return false; + } +} + std::unique_ptr BackupWriterDisk::writeFile(const String & file_name) { auto file_path = path / file_name; @@ -47,19 +69,12 @@ std::unique_ptr BackupWriterDisk::writeFile(const String & file_nam return disk->writeFile(file_path); } -void BackupWriterDisk::removeFilesAfterFailure(const Strings & file_names) +void BackupWriterDisk::removeFiles(const Strings & file_names) { - try - { - for (const auto & file_name : file_names) - disk->removeFileIfExists(path / file_name); - if (disk->isDirectory(path) && disk->isDirectoryEmpty(path)) - disk->removeDirectory(path); - } - catch (...) - { - LOG_WARNING(&Poco::Logger::get("BackupWriterDisk"), "RemoveFilesAfterFailure: {}", getCurrentExceptionMessage(false)); - } + for (const auto & file_name : file_names) + disk->removeFileIfExists(path / file_name); + if (disk->isDirectory(path) && disk->isDirectoryEmpty(path)) + disk->removeDirectory(path); } } diff --git a/src/Backups/BackupIO_Disk.h b/src/Backups/BackupIO_Disk.h index 88d70b0f1db..53412e6d219 100644 --- a/src/Backups/BackupIO_Disk.h +++ b/src/Backups/BackupIO_Disk.h @@ -15,7 +15,7 @@ public: ~BackupReaderDisk() override; bool fileExists(const String & file_name) override; - size_t getFileSize(const String & file_name) override; + UInt64 getFileSize(const String & file_name) override; std::unique_ptr readFile(const String & file_name) override; private: @@ -30,8 +30,10 @@ public: ~BackupWriterDisk() override; bool fileExists(const String & file_name) override; + UInt64 getFileSize(const String & file_name) override; + bool fileContentsEqual(const String & file_name, const String & expected_file_contents) override; std::unique_ptr writeFile(const String & file_name) override; - void removeFilesAfterFailure(const Strings & file_names) override; + void removeFiles(const Strings & file_names) override; private: DiskPtr disk; diff --git a/src/Backups/BackupIO_File.cpp b/src/Backups/BackupIO_File.cpp index 600c510183a..7c08c150474 100644 --- a/src/Backups/BackupIO_File.cpp +++ b/src/Backups/BackupIO_File.cpp @@ -1,8 +1,6 @@ #include -#include #include #include -#include namespace fs = std::filesystem; @@ -20,7 +18,7 @@ bool BackupReaderFile::fileExists(const String & file_name) return fs::exists(path / file_name); } -size_t BackupReaderFile::getFileSize(const String & file_name) +UInt64 BackupReaderFile::getFileSize(const String & file_name) { return fs::file_size(path / file_name); } @@ -41,6 +39,30 @@ bool BackupWriterFile::fileExists(const String & file_name) return fs::exists(path / file_name); } +UInt64 BackupWriterFile::getFileSize(const String & file_name) +{ + return fs::file_size(path / file_name); +} + +bool BackupWriterFile::fileContentsEqual(const String & file_name, const String & expected_file_contents) +{ + if (!fs::exists(path / file_name)) + return false; + + try + { + auto in = createReadBufferFromFileBase(path / file_name, {}); + String actual_file_contents(expected_file_contents.size(), ' '); + return (in->read(actual_file_contents.data(), actual_file_contents.size()) == actual_file_contents.size()) + && (actual_file_contents == expected_file_contents) && in->eof(); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__); + return false; + } +} + std::unique_ptr BackupWriterFile::writeFile(const String & file_name) { auto file_path = path / file_name; @@ -48,19 +70,12 @@ std::unique_ptr BackupWriterFile::writeFile(const String & file_nam return std::make_unique(file_path); } -void BackupWriterFile::removeFilesAfterFailure(const Strings & file_names) +void BackupWriterFile::removeFiles(const Strings & file_names) { - try - { - for (const auto & file_name : file_names) - fs::remove(path / file_name); - if (fs::is_directory(path) && fs::is_empty(path)) - fs::remove(path); - } - catch (...) - { - LOG_WARNING(&Poco::Logger::get("BackupWriterFile"), "RemoveFilesAfterFailure: {}", getCurrentExceptionMessage(false)); - } + for (const auto & file_name : file_names) + fs::remove(path / file_name); + if (fs::is_directory(path) && fs::is_empty(path)) + fs::remove(path); } } diff --git a/src/Backups/BackupIO_File.h b/src/Backups/BackupIO_File.h index c4aa20718a9..5d37408e6d8 100644 --- a/src/Backups/BackupIO_File.h +++ b/src/Backups/BackupIO_File.h @@ -13,7 +13,7 @@ public: ~BackupReaderFile() override; bool fileExists(const String & file_name) override; - size_t getFileSize(const String & file_name) override; + UInt64 getFileSize(const String & file_name) override; std::unique_ptr readFile(const String & file_name) override; private: @@ -27,8 +27,10 @@ public: ~BackupWriterFile() override; bool fileExists(const String & file_name) override; + UInt64 getFileSize(const String & file_name) override; + bool fileContentsEqual(const String & file_name, const String & expected_file_contents) override; std::unique_ptr writeFile(const String & file_name) override; - void removeFilesAfterFailure(const Strings & file_names) override; + void removeFiles(const Strings & file_names) override; private: std::filesystem::path path; diff --git a/src/Backups/BackupImpl.cpp b/src/Backups/BackupImpl.cpp index 6fc32e08dbd..263aab2bd50 100644 --- a/src/Backups/BackupImpl.cpp +++ b/src/Backups/BackupImpl.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include #include @@ -36,7 +36,8 @@ namespace ErrorCodes extern const int WRONG_BASE_BACKUP; extern const int BACKUP_ENTRY_ALREADY_EXISTS; extern const int BACKUP_ENTRY_NOT_FOUND; - extern const int BAD_ARGUMENTS; + extern const int BACKUP_IS_EMPTY; + extern const int FAILED_TO_SYNC_BACKUP_OR_RESTORE; extern const int LOGICAL_ERROR; } @@ -65,6 +66,14 @@ namespace { return hexChecksum(size_and_checksum.second) + std::to_string(size_and_checksum.first); } + + /// We store entries' file names in the backup without leading slashes. + String removeLeadingSlash(const String & path) + { + if (path.starts_with('/')) + return path.substr(1); + return path; + } } @@ -138,9 +147,9 @@ BackupImpl::BackupImpl( const std::optional & base_backup_info_, std::shared_ptr writer_, const ContextPtr & context_, - const std::optional & backup_uuid_, bool is_internal_backup_, - const std::shared_ptr & coordination_) + const std::shared_ptr & coordination_, + const std::optional & backup_uuid_) : backup_name(backup_name_) , archive_params(archive_params_) , use_archives(!archive_params.archive_name.empty()) @@ -151,7 +160,7 @@ BackupImpl::BackupImpl( , uuid(backup_uuid_) , version(CURRENT_BACKUP_VERSION) , base_backup_info(base_backup_info_) - , log(&Poco::Logger::get("Backup")) + , log(&Poco::Logger::get("BackupImpl")) { open(context_); } @@ -159,45 +168,38 @@ BackupImpl::BackupImpl( BackupImpl::~BackupImpl() { - close(); + try + { + close(); + } + catch (...) + { + DB::tryLogCurrentException(__PRETTY_FUNCTION__); + } } - void BackupImpl::open(const ContextPtr & context) { std::lock_guard lock{mutex}; - String file_name_to_check_existence; - if (use_archives) - file_name_to_check_existence = archive_params.archive_name; - else - file_name_to_check_existence = ".backup"; - bool backup_exists = (open_mode == OpenMode::WRITE) ? writer->fileExists(file_name_to_check_existence) : reader->fileExists(file_name_to_check_existence); - - if (open_mode == OpenMode::WRITE) - { - if (backup_exists) - throw Exception(ErrorCodes::BACKUP_ALREADY_EXISTS, "Backup {} already exists", backup_name); - } - else - { - if (!backup_exists) - throw Exception(ErrorCodes::BACKUP_NOT_FOUND, "Backup {} not found", backup_name); - } - if (open_mode == OpenMode::WRITE) { timestamp = std::time(nullptr); if (!uuid) uuid = UUIDHelpers::generateV4(); + lock_file_name = use_archives ? (archive_params.archive_name + ".lock") : ".lock"; writing_finalized = false; + + /// Check that we can write a backup there and create the lock file to own this destination. + checkBackupDoesntExist(); + if (!is_internal_backup) + createLockFile(); + checkLockFile(true); } if (open_mode == OpenMode::READ) readBackupMetadata(); - assert(uuid); /// Backup's UUID must be loaded or generated at this point. - if (base_backup_info) { BackupFactory::CreateParams params; @@ -217,42 +219,56 @@ void BackupImpl::open(const ContextPtr & context) void BackupImpl::close() { std::lock_guard lock{mutex}; + closeArchives(); - if (!is_internal_backup && writing_finalized) - { - LOG_TRACE(log, "Finalizing backup {}", backup_name); - writeBackupMetadata(); - LOG_INFO(log, "Finalized backup {}", backup_name); - } + if (!is_internal_backup && writer && !writing_finalized) + removeAllFilesAfterFailure(); + writer.reset(); + reader.reset(); + coordination.reset(); +} + +void BackupImpl::closeArchives() +{ archive_readers.clear(); for (auto & archive_writer : archive_writers) archive_writer = {"", nullptr}; - - if (!is_internal_backup && writer && !writing_finalized) - { - LOG_INFO(log, "Removing all files of backup {} after failure", backup_name); - removeAllFilesAfterFailure(); - } } -time_t BackupImpl::getTimestamp() const +size_t BackupImpl::getNumFiles() const { std::lock_guard lock{mutex}; - return timestamp; + return num_files; +} + +UInt64 BackupImpl::getUncompressedSize() const +{ + std::lock_guard lock{mutex}; + return uncompressed_size; +} + +UInt64 BackupImpl::getCompressedSize() const +{ + std::lock_guard lock{mutex}; + return compressed_size; } void BackupImpl::writeBackupMetadata() { + assert(!is_internal_backup); + Poco::AutoPtr config{new Poco::Util::XMLConfiguration()}; config->setUInt("version", CURRENT_BACKUP_VERSION); config->setString("timestamp", toString(LocalDateTime{timestamp})); config->setString("uuid", toString(*uuid)); + auto all_file_infos = coordination->getAllFileInfos(); + if (base_backup_info) { bool base_backup_in_use = false; - for (const auto & info : coordination->getAllFileInfos()) + for (const auto & info : all_file_infos) { if (info.base_size) base_backup_in_use = true; @@ -266,13 +282,13 @@ void BackupImpl::writeBackupMetadata() } size_t index = 0; - for (const auto & info : coordination->getAllFileInfos()) + for (const auto & info : all_file_infos) { String prefix = index ? "contents.file[" + std::to_string(index) + "]." : "contents.file."; + config->setString(prefix + "name", info.file_name); config->setUInt(prefix + "size", info.size); if (info.size) { - config->setString(prefix + "name", info.file_name); config->setString(prefix + "checksum", hexChecksum(info.checksum)); if (info.base_size) { @@ -290,6 +306,7 @@ void BackupImpl::writeBackupMetadata() if (info.pos_in_archive != static_cast(-1)) config->setUInt64(prefix + "pos_in_archive", info.pos_in_archive); } + increaseUncompressedSize(info); ++index; } @@ -297,24 +314,39 @@ void BackupImpl::writeBackupMetadata() config->save(stream); String str = stream.str(); + checkLockFile(true); + std::unique_ptr out; if (use_archives) out = getArchiveWriter("")->writeFile(".backup"); else out = writer->writeFile(".backup"); out->write(str.data(), str.size()); + out->finalize(); + + increaseUncompressedSize(str.size()); } void BackupImpl::readBackupMetadata() { std::unique_ptr in; if (use_archives) + { + if (!reader->fileExists(archive_params.archive_name)) + throw Exception(ErrorCodes::BACKUP_NOT_FOUND, "Backup {} not found", backup_name); + setCompressedSize(); in = getArchiveReader("")->readFile(".backup"); + } else + { + if (!reader->fileExists(".backup")) + throw Exception(ErrorCodes::BACKUP_NOT_FOUND, "Backup {} not found", backup_name); in = reader->readFile(".backup"); + } String str; readStringUntilEOF(str, *in); + increaseUncompressedSize(str.size()); std::istringstream stream(str); // STYLE_CHECK_ALLOW_STD_STRING_STREAM Poco::AutoPtr config{new Poco::Util::XMLConfiguration()}; config->load(stream); @@ -371,22 +403,86 @@ void BackupImpl::readBackupMetadata() } coordination->addFileInfo(info); + increaseUncompressedSize(info); } } + + if (!use_archives) + setCompressedSize(); +} + +void BackupImpl::checkBackupDoesntExist() const +{ + String file_name_to_check_existence; + if (use_archives) + file_name_to_check_existence = archive_params.archive_name; + else + file_name_to_check_existence = ".backup"; + + if (writer->fileExists(file_name_to_check_existence)) + throw Exception(ErrorCodes::BACKUP_ALREADY_EXISTS, "Backup {} already exists", backup_name); + + /// Check that no other backup (excluding internal backups) is writing to the same destination. + if (!is_internal_backup) + { + assert(!lock_file_name.empty()); + if (writer->fileExists(lock_file_name)) + throw Exception(ErrorCodes::BACKUP_ALREADY_EXISTS, "Backup {} is being written already", backup_name); + } } -Strings BackupImpl::listFiles(const String & prefix, const String & terminator) const +void BackupImpl::createLockFile() +{ + /// Internal backup must not create the lock file (it should be created by the initiator). + assert(!is_internal_backup); + + assert(uuid); + auto out = writer->writeFile(lock_file_name); + writeUUIDText(*uuid, *out); +} + +bool BackupImpl::checkLockFile(bool throw_if_failed) const +{ + if (!lock_file_name.empty() && uuid && writer->fileContentsEqual(lock_file_name, toString(*uuid))) + return true; + + if (throw_if_failed) + { + if (!writer->fileExists(lock_file_name)) + throw Exception(ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, "Lock file {} suddenly disappeared while writing backup {}", lock_file_name, backup_name); + throw Exception(ErrorCodes::BACKUP_ALREADY_EXISTS, "A concurrent backup writing to the same destination {} detected", backup_name); + } + return false; +} + +void BackupImpl::removeLockFile() +{ + if (is_internal_backup) + return; /// Internal backup must not remove the lock file (it's still used by the initiator). + + if (checkLockFile(false)) + writer->removeFiles({lock_file_name}); +} + +Strings BackupImpl::listFiles(const String & directory, bool recursive) const { std::lock_guard lock{mutex}; - if (!prefix.ends_with('/') && !prefix.empty()) - throw Exception("prefix should end with '/'", ErrorCodes::BAD_ARGUMENTS); - return coordination->listFiles(prefix, terminator); + auto adjusted_dir = removeLeadingSlash(directory); + return coordination->listFiles(adjusted_dir, recursive); +} + +bool BackupImpl::hasFiles(const String & directory) const +{ + std::lock_guard lock{mutex}; + auto adjusted_dir = removeLeadingSlash(directory); + return coordination->hasFiles(adjusted_dir); } bool BackupImpl::fileExists(const String & file_name) const { std::lock_guard lock{mutex}; - return coordination->getFileInfo(file_name).has_value(); + auto adjusted_path = removeLeadingSlash(file_name); + return coordination->getFileInfo(adjusted_path).has_value(); } bool BackupImpl::fileExists(const SizeAndChecksum & size_and_checksum) const @@ -398,7 +494,8 @@ bool BackupImpl::fileExists(const SizeAndChecksum & size_and_checksum) const UInt64 BackupImpl::getFileSize(const String & file_name) const { std::lock_guard lock{mutex}; - auto info = coordination->getFileInfo(file_name); + auto adjusted_path = removeLeadingSlash(file_name); + auto info = coordination->getFileInfo(adjusted_path); if (!info) throw Exception( ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Backup {}: Entry {} not found in the backup", backup_name, quoteString(file_name)); @@ -408,7 +505,8 @@ UInt64 BackupImpl::getFileSize(const String & file_name) const UInt128 BackupImpl::getFileChecksum(const String & file_name) const { std::lock_guard lock{mutex}; - auto info = coordination->getFileInfo(file_name); + auto adjusted_path = removeLeadingSlash(file_name); + auto info = coordination->getFileInfo(adjusted_path); if (!info) throw Exception( ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Backup {}: Entry {} not found in the backup", backup_name, quoteString(file_name)); @@ -418,7 +516,8 @@ UInt128 BackupImpl::getFileChecksum(const String & file_name) const SizeAndChecksum BackupImpl::getFileSizeAndChecksum(const String & file_name) const { std::lock_guard lock{mutex}; - auto info = coordination->getFileInfo(file_name); + auto adjusted_path = removeLeadingSlash(file_name); + auto info = coordination->getFileInfo(adjusted_path); if (!info) throw Exception( ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Backup {}: Entry {} not found in the backup", backup_name, quoteString(file_name)); @@ -436,17 +535,18 @@ BackupEntryPtr BackupImpl::readFile(const SizeAndChecksum & size_and_checksum) c if (open_mode != OpenMode::READ) throw Exception("Backup is not opened for reading", ErrorCodes::LOGICAL_ERROR); + if (!size_and_checksum.first) + { + /// Entry's data is empty. + return std::make_unique(nullptr, 0, UInt128{0, 0}); + } + auto info_opt = coordination->getFileInfo(size_and_checksum); if (!info_opt) throw Exception( ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Backup {}: Entry {} not found in the backup", backup_name, formatSizeAndChecksum(size_and_checksum)); const auto & info = *info_opt; - if (!info.size) - { - /// Entry's data is empty. - return std::make_unique(nullptr, 0, UInt128{0, 0}); - } if (!info.base_size) { @@ -494,12 +594,16 @@ void BackupImpl::writeFile(const String & file_name, BackupEntryPtr entry) if (open_mode != OpenMode::WRITE) throw Exception("Backup is not opened for writing", ErrorCodes::LOGICAL_ERROR); - if (coordination->getFileInfo(file_name)) + if (writing_finalized) + throw Exception("Backup is already finalized", ErrorCodes::LOGICAL_ERROR); + + auto adjusted_path = removeLeadingSlash(file_name); + if (coordination->getFileInfo(adjusted_path)) throw Exception( ErrorCodes::BACKUP_ENTRY_ALREADY_EXISTS, "Backup {}: Entry {} already exists", backup_name, quoteString(file_name)); FileInfo info; - info.file_name = file_name; + info.file_name = adjusted_path; size_t size = entry->getSize(); info.size = size; @@ -520,13 +624,13 @@ void BackupImpl::writeFile(const String & file_name, BackupEntryPtr entry) } /// Check if a entry with such name exists in the base backup. - bool base_exists = (base_backup && base_backup->fileExists(file_name)); + bool base_exists = (base_backup && base_backup->fileExists(adjusted_path)); UInt64 base_size = 0; UInt128 base_checksum{0, 0}; if (base_exists) { - base_size = base_backup->getFileSize(file_name); - base_checksum = base_backup->getFileChecksum(file_name); + base_size = base_backup->getFileSize(adjusted_path); + base_checksum = base_backup->getFileChecksum(adjusted_path); } std::unique_ptr read_buffer; /// We'll set that later. @@ -621,6 +725,9 @@ void BackupImpl::writeFile(const String & file_name, BackupEntryPtr entry) read_buffer = entry->getReadBuffer(); read_buffer->seek(copy_pos, SEEK_SET); + if (!num_files_written) + checkLockFile(true); + /// Copy the entry's data after `copy_pos`. std::unique_ptr out; if (use_archives) @@ -647,6 +754,8 @@ void BackupImpl::writeFile(const String & file_name, BackupEntryPtr entry) } copyData(*read_buffer, *out); + out->finalize(); + ++num_files_written; } @@ -656,16 +765,52 @@ void BackupImpl::finalizeWriting() if (open_mode != OpenMode::WRITE) throw Exception("Backup is not opened for writing", ErrorCodes::LOGICAL_ERROR); + if (writing_finalized) + throw Exception("Backup is already finalized", ErrorCodes::LOGICAL_ERROR); + + if (!coordination->hasFiles("")) + throw Exception("Backup must not be empty", ErrorCodes::BACKUP_IS_EMPTY); + + if (!is_internal_backup) + { + LOG_TRACE(log, "Finalizing backup {}", backup_name); + writeBackupMetadata(); + closeArchives(); + setCompressedSize(); + removeLockFile(); + LOG_TRACE(log, "Finalized backup {}", backup_name); + } + writing_finalized = true; } +void BackupImpl::increaseUncompressedSize(UInt64 file_size) +{ + uncompressed_size += file_size; + ++num_files; +} + +void BackupImpl::increaseUncompressedSize(const FileInfo & info) +{ + if ((info.size > info.base_size) && (info.data_file_name.empty() || (info.data_file_name == info.file_name))) + increaseUncompressedSize(info.size - info.base_size); +} + +void BackupImpl::setCompressedSize() +{ + if (use_archives) + compressed_size = writer ? writer->getFileSize(archive_params.archive_name) : reader->getFileSize(archive_params.archive_name); + else + compressed_size = uncompressed_size; +} + + String BackupImpl::getArchiveNameWithSuffix(const String & suffix) const { return archive_params.archive_name + (suffix.empty() ? "" : ".") + suffix; } - std::shared_ptr BackupImpl::getArchiveReader(const String & suffix) const { auto it = archive_readers.find(suffix); @@ -698,26 +843,43 @@ std::shared_ptr BackupImpl::getArchiveWriter(const String & suff return new_archive_writer; } + void BackupImpl::removeAllFilesAfterFailure() { - Strings files_to_remove; - if (use_archives) + if (is_internal_backup) + return; /// Let the initiator remove unnecessary files. + + try { - files_to_remove.push_back(archive_params.archive_name); - for (const auto & suffix : coordination->getAllArchiveSuffixes()) + LOG_INFO(log, "Removing all files of backup {} after failure", backup_name); + + Strings files_to_remove; + if (use_archives) { - String archive_name_with_suffix = getArchiveNameWithSuffix(suffix); - files_to_remove.push_back(std::move(archive_name_with_suffix)); + files_to_remove.push_back(archive_params.archive_name); + for (const auto & suffix : coordination->getAllArchiveSuffixes()) + { + String archive_name_with_suffix = getArchiveNameWithSuffix(suffix); + files_to_remove.push_back(std::move(archive_name_with_suffix)); + } } + else + { + files_to_remove.push_back(".backup"); + for (const auto & file_info : coordination->getAllFileInfos()) + files_to_remove.push_back(file_info.data_file_name); + } + + if (!checkLockFile(false)) + return; + + writer->removeFiles(files_to_remove); + removeLockFile(); } - else + catch (...) { - files_to_remove.push_back(".backup"); - for (const auto & file_info : coordination->getAllFileInfos()) - files_to_remove.push_back(file_info.data_file_name); + DB::tryLogCurrentException(__PRETTY_FUNCTION__); } - - writer->removeFilesAfterFailure(files_to_remove); } } diff --git a/src/Backups/BackupImpl.h b/src/Backups/BackupImpl.h index bb31a76ead1..525aec2fcd6 100644 --- a/src/Backups/BackupImpl.h +++ b/src/Backups/BackupImpl.h @@ -47,17 +47,21 @@ public: const std::optional & base_backup_info_, std::shared_ptr writer_, const ContextPtr & context_, - const std::optional & backup_uuid_ = {}, bool is_internal_backup_ = false, - const std::shared_ptr & coordination_ = {}); + const std::shared_ptr & coordination_ = {}, + const std::optional & backup_uuid_ = {}); ~BackupImpl() override; const String & getName() const override { return backup_name; } OpenMode getOpenMode() const override { return open_mode; } - time_t getTimestamp() const override; + time_t getTimestamp() const override { return timestamp; } UUID getUUID() const override { return *uuid; } - Strings listFiles(const String & prefix, const String & terminator) const override; + size_t getNumFiles() const override; + UInt64 getUncompressedSize() const override; + UInt64 getCompressedSize() const override; + Strings listFiles(const String & directory, bool recursive) const override; + bool hasFiles(const String & directory) const override; bool fileExists(const String & file_name) const override; bool fileExists(const SizeAndChecksum & size_and_checksum) const override; UInt64 getFileSize(const String & file_name) const override; @@ -75,12 +79,33 @@ private: void open(const ContextPtr & context); void close(); + void closeArchives(); + + /// Writes the file ".backup" containing backup's metadata. void writeBackupMetadata(); void readBackupMetadata(); + + /// Checks that a new backup doesn't exist yet. + void checkBackupDoesntExist() const; + + /// Lock file named ".lock" and containing the UUID of a backup is used to own the place where we're writing the backup. + /// Thus it will not be allowed to put any other backup to the same place (even if the BACKUP command is executed on a different node). + void createLockFile(); + bool checkLockFile(bool throw_if_failed) const; + void removeLockFile(); + + void removeAllFilesAfterFailure(); + String getArchiveNameWithSuffix(const String & suffix) const; std::shared_ptr getArchiveReader(const String & suffix) const; std::shared_ptr getArchiveWriter(const String & suffix); - void removeAllFilesAfterFailure(); + + /// Increases `uncompressed_size` by a specific value and `num_files` by 1. + void increaseUncompressedSize(UInt64 file_size); + void increaseUncompressedSize(const FileInfo & info); + + /// Calculates and sets `compressed_size`. + void setCompressedSize(); const String backup_name; const ArchiveParams archive_params; @@ -94,6 +119,9 @@ private: mutable std::mutex mutex; std::optional uuid; time_t timestamp = 0; + size_t num_files = 0; + UInt64 uncompressed_size = 0; + UInt64 compressed_size = 0; UInt64 version; std::optional base_backup_info; std::shared_ptr base_backup; @@ -101,6 +129,8 @@ private: mutable std::unordered_map> archive_readers; std::pair> archive_writers[2]; String current_archive_suffix; + String lock_file_name; + size_t num_files_written = 0; bool writing_finalized = false; const Poco::Logger * log; }; diff --git a/src/Backups/BackupSettings.cpp b/src/Backups/BackupSettings.cpp index 05ba0676ab8..a4b20e0b863 100644 --- a/src/Backups/BackupSettings.cpp +++ b/src/Backups/BackupSettings.cpp @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB @@ -15,8 +16,51 @@ namespace ErrorCodes extern const int WRONG_BACKUP_SETTINGS; } + +namespace +{ + struct SettingFieldOptionalUUID + { + std::optional value; + + explicit SettingFieldOptionalUUID(const std::optional & value_) : value(value_) {} + + explicit SettingFieldOptionalUUID(const Field & field) + { + if (field.getType() == Field::Types::Null) + { + value = std::nullopt; + return; + } + + if (field.getType() == Field::Types::String) + { + const String & str = field.get(); + if (str.empty()) + { + value = std::nullopt; + return; + } + + UUID id; + if (tryParse(id, str)) + { + value = id; + return; + } + } + + throw Exception(ErrorCodes::CANNOT_PARSE_BACKUP_SETTINGS, "Cannot parse uuid from {}", field); + } + + explicit operator Field() const { return Field(value ? toString(*value) : ""); } + }; +} + + /// List of backup settings except base_backup_name and cluster_host_ids. #define LIST_OF_BACKUP_SETTINGS(M) \ + M(String, id) \ M(String, compression_method) \ M(Int64, compression_level) \ M(String, password) \ @@ -26,7 +70,8 @@ namespace ErrorCodes M(UInt64, replica_num) \ M(Bool, internal) \ M(String, host_id) \ - M(String, coordination_zk_path) + M(String, coordination_zk_path) \ + M(OptionalUUID, backup_uuid) BackupSettings BackupSettings::fromBackupQuery(const ASTBackupQuery & query) { diff --git a/src/Backups/BackupSettings.h b/src/Backups/BackupSettings.h index 8a606ffded8..5c5f336aa45 100644 --- a/src/Backups/BackupSettings.h +++ b/src/Backups/BackupSettings.h @@ -11,6 +11,9 @@ class ASTBackupQuery; /// Settings specified in the "SETTINGS" clause of a BACKUP query. struct BackupSettings { + /// ID of the backup operation, to identify it in the system.backups table. Auto-generated if not set. + String id; + /// Base backup, if it's set an incremental backup will be built. That means only differences made after the base backup will be put /// into a new backup. std::optional base_backup_info; @@ -53,6 +56,10 @@ struct BackupSettings /// Path in Zookeeper used to coordinate a distributed backup created by BACKUP ON CLUSTER. String coordination_zk_path; + /// Internal, should not be specified by user. + /// UUID of the backup. If it's not set it will be generated randomly. + std::optional backup_uuid; + static BackupSettings fromBackupQuery(const ASTBackupQuery & query); void copySettingsToQuery(ASTBackupQuery & query) const; diff --git a/src/Backups/BackupStatus.cpp b/src/Backups/BackupStatus.cpp index dd1f70dd20b..53adaa577ea 100644 --- a/src/Backups/BackupStatus.cpp +++ b/src/Backups/BackupStatus.cpp @@ -15,18 +15,18 @@ std::string_view toString(BackupStatus backup_status) { switch (backup_status) { - case BackupStatus::MAKING_BACKUP: - return "MAKING_BACKUP"; - case BackupStatus::BACKUP_COMPLETE: - return "BACKUP_COMPLETE"; - case BackupStatus::FAILED_TO_BACKUP: - return "FAILED_TO_BACKUP"; + case BackupStatus::CREATING_BACKUP: + return "CREATING_BACKUP"; + case BackupStatus::BACKUP_CREATED: + return "BACKUP_CREATED"; + case BackupStatus::BACKUP_FAILED: + return "BACKUP_FAILED"; case BackupStatus::RESTORING: return "RESTORING"; case BackupStatus::RESTORED: return "RESTORED"; - case BackupStatus::FAILED_TO_RESTORE: - return "FAILED_TO_RESTORE"; + case BackupStatus::RESTORE_FAILED: + return "RESTORE_FAILED"; default: break; } diff --git a/src/Backups/BackupStatus.h b/src/Backups/BackupStatus.h index 3382b6b55d1..0afe6efe899 100644 --- a/src/Backups/BackupStatus.h +++ b/src/Backups/BackupStatus.h @@ -9,14 +9,14 @@ namespace DB enum class BackupStatus { /// Statuses of making backups - MAKING_BACKUP, - BACKUP_COMPLETE, - FAILED_TO_BACKUP, + CREATING_BACKUP, + BACKUP_CREATED, + BACKUP_FAILED, /// Status of restoring RESTORING, RESTORED, - FAILED_TO_RESTORE, + RESTORE_FAILED, MAX, }; diff --git a/src/Backups/BackupUtils.cpp b/src/Backups/BackupUtils.cpp index 270dad2d594..9ff91050177 100644 --- a/src/Backups/BackupUtils.cpp +++ b/src/Backups/BackupUtils.cpp @@ -1,437 +1,62 @@ #include -#include -#include -#include -#include #include -#include -#include -#include -#include +#include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include namespace DB { -namespace ErrorCodes -{ - extern const int CANNOT_BACKUP_TABLE; - extern const int CANNOT_BACKUP_DATABASE; - extern const int BACKUP_IS_EMPTY; - extern const int LOGICAL_ERROR; -} -namespace +DDLRenamingMap makeRenamingMapFromBackupQuery(const ASTBackupQuery::Elements & elements) { - /// Helper to calculate paths inside a backup. - class PathsInBackup + DDLRenamingMap map; + + for (const auto & element : elements) { - public: - /// Returns the path to metadata in backup. - static String getMetadataPath(const DatabaseAndTableName & table_name, size_t shard_index, size_t replica_index) + switch (element.type) { - if (table_name.first.empty() || table_name.second.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name and table name must not be empty"); - return getPathForShardAndReplica(shard_index, replica_index) + String{"metadata/"} + escapeForFileName(table_name.first) + "/" - + escapeForFileName(table_name.second) + ".sql"; - } - - static String getMetadataPath(const String & database_name, size_t shard_index, size_t replica_index) - { - if (database_name.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name must not be empty"); - return getPathForShardAndReplica(shard_index, replica_index) + String{"metadata/"} + escapeForFileName(database_name) + ".sql"; - } - - static String getMetadataPath(const IAST & create_query, size_t shard_index, size_t replica_index) - { - const auto & create = create_query.as(); - if (!create.table) - return getMetadataPath(create.getDatabase(), shard_index, replica_index); - if (create.temporary) - return getMetadataPath({DatabaseCatalog::TEMPORARY_DATABASE, create.getTable()}, shard_index, replica_index); - return getMetadataPath({create.getDatabase(), create.getTable()}, shard_index, replica_index); - } - - /// Returns the path to table's data in backup. - static String getDataPath(const DatabaseAndTableName & table_name, size_t shard_index, size_t replica_index) - { - if (table_name.first.empty() || table_name.second.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name and table name must not be empty"); - assert(!table_name.first.empty() && !table_name.second.empty()); - return getPathForShardAndReplica(shard_index, replica_index) + String{"data/"} + escapeForFileName(table_name.first) + "/" - + escapeForFileName(table_name.second) + "/"; - } - - static String getDataPath(const IAST & create_query, size_t shard_index, size_t replica_index) - { - const auto & create = create_query.as(); - if (!create.table) - return {}; - if (create.temporary) - return getDataPath({DatabaseCatalog::TEMPORARY_DATABASE, create.getTable()}, shard_index, replica_index); - return getDataPath({create.getDatabase(), create.getTable()}, shard_index, replica_index); - } - - private: - static String getPathForShardAndReplica(size_t shard_index, size_t replica_index) - { - if (shard_index || replica_index) - return fmt::format("shards/{}/replicas/{}/", shard_index, replica_index); - else - return ""; - } - }; - - using Kind = ASTBackupQuery::Kind; - using Element = ASTBackupQuery::Element; - using Elements = ASTBackupQuery::Elements; - using ElementType = ASTBackupQuery::ElementType; - - /// Makes backup entries to backup databases and tables according to the elements of ASTBackupQuery. - /// Keep this class consistent with RestoreTasksBuilder. - class BackupEntriesBuilder - { - public: - BackupEntriesBuilder(const ContextPtr & context_, const BackupSettings & backup_settings_, std::shared_ptr backup_coordination_) - : context(context_), backup_settings(backup_settings_), backup_coordination(backup_coordination_) - { - } - - /// Prepares internal structures for making backup entries. - void prepare(const ASTBackupQuery::Elements & elements, std::chrono::seconds timeout_for_other_nodes_to_prepare) - { - try + case ASTBackupQuery::TABLE: { - prepareImpl(elements); - } - catch (...) - { - backup_coordination->finishPreparing(backup_settings.host_id, getCurrentExceptionMessage(false)); - throw; + const String & table_name = element.table_name; + const String & database_name = element.database_name; + const String & new_table_name = element.new_table_name; + const String & new_database_name = element.new_database_name; + assert(!table_name.empty()); + assert(!new_table_name.empty()); + assert(!database_name.empty()); + assert(!new_database_name.empty()); + map.setNewTableName({database_name, table_name}, {new_database_name, new_table_name}); + break; } - /// We've finished restoring metadata, now we will wait for other replicas and shards to finish too. - /// We need this waiting because we're going to call some functions which requires data collected from other nodes too, - /// see IRestoreCoordination::checkTablesNotExistedInReplicatedDBs(), IRestoreCoordination::getReplicatedTableDataPath(). - backup_coordination->finishPreparing(backup_settings.host_id); - - backup_coordination->waitForAllHostsPrepared( - BackupSettings::Util::filterHostIDs( - backup_settings.cluster_host_ids, backup_settings.shard_num, backup_settings.replica_num), - timeout_for_other_nodes_to_prepare); - } - - /// Makes backup entries, should be called after prepare(). - BackupEntries makeBackupEntries() const - { - BackupEntries res; - for (const auto & info : databases | boost::adaptors::map_values) - res.push_back(makeBackupEntryForMetadata(*info.create_query)); - - for (const auto & info : tables | boost::adaptors::map_values) + case ASTBackupQuery::TEMPORARY_TABLE: { - res.push_back(makeBackupEntryForMetadata(*info.create_query)); - appendBackupEntriesForData(res, info); + const String & table_name = element.table_name; + const String & new_table_name = element.new_table_name; + assert(!table_name.empty()); + assert(!new_table_name.empty()); + map.setNewTableName({DatabaseCatalog::TEMPORARY_DATABASE, table_name}, {DatabaseCatalog::TEMPORARY_DATABASE, new_table_name}); + break; } - /// A backup cannot be empty. - if (res.empty()) - throw Exception("Backup must not be empty", ErrorCodes::BACKUP_IS_EMPTY); - - return res; - } - - private: - void prepareImpl(const ASTBackupQuery::Elements & elements) - { - calculateShardNumAndReplicaNumInBackup(); - renaming_settings.setFromBackupQuery(elements); - - for (const auto & element : elements) + case ASTBackupQuery::DATABASE: { - switch (element.type) - { - case ElementType::TABLE: - { - prepareToBackupTable(element.name, element.partitions); - break; - } - - case ElementType::DATABASE: - { - const String & database_name = element.name.first; - prepareToBackupDatabase(database_name, element.except_list); - break; - } - - case ElementType::ALL_DATABASES: - { - prepareToBackupAllDatabases(element.except_list); - break; - } - } - } - } - - void calculateShardNumAndReplicaNumInBackup() - { - size_t shard_num = 0; - size_t replica_num = 0; - if (!backup_settings.host_id.empty()) - { - std::tie(shard_num, replica_num) - = BackupSettings::Util::findShardNumAndReplicaNum(backup_settings.cluster_host_ids, backup_settings.host_id); - } - shard_num_in_backup = shard_num; - replica_num_in_backup = replica_num; - } - - /// Prepares to backup a single table and probably its database's definition. - void prepareToBackupTable(const DatabaseAndTableName & table_name_, const ASTs & partitions_) - { - auto [database, storage] = DatabaseCatalog::instance().getDatabaseAndTable({table_name_.first, table_name_.second}, context); - prepareToBackupTable(table_name_, {database, storage}, partitions_); - } - - void prepareToBackupTable(const DatabaseAndTableName & table_name_, const DatabaseAndTable & table_, const ASTs & partitions_) - { - const auto & database = table_.first; - const auto & storage = table_.second; - - if (!database->hasTablesToBackup()) - throw Exception( - ErrorCodes::CANNOT_BACKUP_TABLE, - "Cannot backup the {} because it's contained in a hollow database (engine: {})", - formatTableNameOrTemporaryTableName(table_name_), - database->getEngineName()); - - /// Check that we are not trying to backup the same table again. - DatabaseAndTableName name_in_backup = renaming_settings.getNewTableName(table_name_); - if (tables.contains(name_in_backup)) - throw Exception(ErrorCodes::CANNOT_BACKUP_TABLE, "Cannot backup the {} twice", formatTableNameOrTemporaryTableName(name_in_backup)); - - /// Make a create query for this table. - auto create_query = prepareCreateQueryForBackup(database->getCreateTableQuery(table_name_.second, context)); - String data_path = PathsInBackup::getDataPath(*create_query, shard_num_in_backup, replica_num_in_backup); - - String zk_path; - BackupEntries data = prepareToBackupTableData(table_name_, storage, partitions_, data_path, zk_path); - - TableInfo info; - info.table_name = table_name_; - info.create_query = create_query; - info.storage = storage; - info.data = std::move(data); - info.data_path = std::move(data_path); - info.zk_path = std::move(zk_path); - tables[name_in_backup] = std::move(info); - } - - BackupEntries prepareToBackupTableData(const DatabaseAndTableName & table_name_, const StoragePtr & storage_, const ASTs & partitions_, const String & data_path, String & zk_path) - { - zk_path.clear(); - - const StorageReplicatedMergeTree * replicated_table = typeid_cast(storage_.get()); - bool has_data = (storage_->hasDataToBackup() || replicated_table) && !backup_settings.structure_only; - if (!has_data) - return {}; - - BackupEntries data = storage_->backupData(context, partitions_); - if (!replicated_table) - return data; - - zk_path = replicated_table->getZooKeeperName() + replicated_table->getZooKeeperPath(); - backup_coordination->addReplicatedTableDataPath(zk_path, data_path); - std::unordered_map parts; - for (const auto & [relative_path, backup_entry] : data) - { - size_t slash_pos = relative_path.find('/'); - if (slash_pos != String::npos) - { - String part_name = relative_path.substr(0, slash_pos); - if (MergeTreePartInfo::tryParsePartName(part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING)) - { - auto & hash = parts[part_name]; - if (relative_path.ends_with(".bin")) - { - auto checksum = backup_entry->getChecksum(); - hash.update(relative_path); - hash.update(backup_entry->getSize()); - hash.update(*checksum); - } - } - } + const String & database_name = element.database_name; + const String & new_database_name = element.new_database_name; + assert(!database_name.empty()); + assert(!new_database_name.empty()); + map.setNewDatabaseName(database_name, new_database_name); + break; } - std::vector part_names_and_checksums; - part_names_and_checksums.reserve(parts.size()); - for (auto & [part_name, hash] : parts) - { - UInt128 checksum; - hash.get128(checksum); - auto & part_name_and_checksum = part_names_and_checksums.emplace_back(); - part_name_and_checksum.part_name = part_name; - part_name_and_checksum.checksum = checksum; - } - backup_coordination->addReplicatedTablePartNames(backup_settings.host_id, table_name_, zk_path, part_names_and_checksums); - - return data; + case ASTBackupQuery::ALL: break; } - - /// Prepares to restore a database and all tables in it. - void prepareToBackupDatabase(const String & database_name_, const std::set & except_list_) - { - auto database = DatabaseCatalog::instance().getDatabase(database_name_, context); - prepareToBackupDatabase(database_name_, database, except_list_); - } - - void prepareToBackupDatabase(const String & database_name_, const DatabasePtr & database_, const std::set & except_list_) - { - /// Check that we are not trying to restore the same database again. - String name_in_backup = renaming_settings.getNewDatabaseName(database_name_); - if (databases.contains(name_in_backup)) - throw Exception(ErrorCodes::CANNOT_BACKUP_DATABASE, "Cannot backup the database {} twice", backQuoteIfNeed(name_in_backup)); - - /// Of course we're not going to backup the definition of the system or the temporary database. - if (!isSystemOrTemporaryDatabase(database_name_)) - { - /// Make a create query for this database. - auto create_query = prepareCreateQueryForBackup(database_->getCreateDatabaseQuery()); - - DatabaseInfo info; - info.create_query = create_query; - databases[name_in_backup] = std::move(info); - } - - /// Backup tables in this database. - if (database_->hasTablesToBackup()) - { - for (auto it = database_->getTablesIterator(context); it->isValid(); it->next()) - { - if (except_list_.contains(it->name())) - continue; - prepareToBackupTable({database_name_, it->name()}, {database_, it->table()}, {}); - } - } - } - - /// Prepares to backup all the databases contained in the backup. - void prepareToBackupAllDatabases(const std::set & except_list_) - { - for (const auto & [database_name, database] : DatabaseCatalog::instance().getDatabases()) - { - if (except_list_.contains(database_name)) - continue; - if (isSystemOrTemporaryDatabase(database_name)) - continue; - prepareToBackupDatabase(database_name, database, {}); - } - } - - /// Do renaming in the create query according to the renaming config. - std::shared_ptr prepareCreateQueryForBackup(const ASTPtr & ast) const - { - ASTPtr query = ast; - ::DB::renameInCreateQuery(query, context, renaming_settings); - auto create_query = typeid_cast>(query); - replaceTableUUIDWithMacroInReplicatedTableDef(*create_query, create_query->uuid); - create_query->uuid = UUIDHelpers::Nil; - create_query->to_inner_uuid = UUIDHelpers::Nil; - return create_query; - } - - static bool isSystemOrTemporaryDatabase(const String & database_name) - { - return (database_name == DatabaseCatalog::SYSTEM_DATABASE) || (database_name == DatabaseCatalog::TEMPORARY_DATABASE); - } - - std::pair makeBackupEntryForMetadata(const IAST & create_query) const - { - auto metadata_entry = std::make_unique(serializeAST(create_query)); - String metadata_path = PathsInBackup::getMetadataPath(create_query, shard_num_in_backup, replica_num_in_backup); - return {metadata_path, std::move(metadata_entry)}; - } - - struct TableInfo; - - void appendBackupEntriesForData(BackupEntries & res, const TableInfo & info) const - { - if (info.zk_path.empty()) - { - for (const auto & [relative_path, backup_entry] : info.data) - res.emplace_back(info.data_path + relative_path, backup_entry); - return; - } - - Strings data_paths = backup_coordination->getReplicatedTableDataPaths(info.zk_path); - Strings part_names = backup_coordination->getReplicatedTablePartNames(backup_settings.host_id, info.table_name, info.zk_path); - std::unordered_set part_names_set{part_names.begin(), part_names.end()}; - for (const auto & [relative_path, backup_entry] : info.data) - { - size_t slash_pos = relative_path.find('/'); - if (slash_pos != String::npos) - { - String part_name = relative_path.substr(0, slash_pos); - if (MergeTreePartInfo::tryParsePartName(part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING)) - { - if (!part_names_set.contains(part_name)) - continue; - for (const auto & data_path : data_paths) - res.emplace_back(data_path + relative_path, backup_entry); - continue; - } - } - res.emplace_back(info.data_path + relative_path, backup_entry); - } - } - - /// Information which is used to make an instance of RestoreTableFromBackupTask. - struct TableInfo - { - DatabaseAndTableName table_name; - ASTPtr create_query; - StoragePtr storage; - BackupEntries data; - String data_path; - String zk_path; - }; - - /// Information which is used to make an instance of RestoreDatabaseFromBackupTask. - struct DatabaseInfo - { - ASTPtr create_query; - }; - - ContextPtr context; - BackupSettings backup_settings; - std::shared_ptr backup_coordination; - size_t shard_num_in_backup = 0; - size_t replica_num_in_backup = 0; - DDLRenamingSettings renaming_settings; - std::unordered_map databases; - std::map tables; - }; -} - - -BackupEntries makeBackupEntries( - const ContextPtr & context, - const Elements & elements, - const BackupSettings & backup_settings, - std::shared_ptr backup_coordination, - std::chrono::seconds timeout_for_other_nodes_to_prepare) -{ - BackupEntriesBuilder builder{context, backup_settings, backup_coordination}; - builder.prepare(elements, timeout_for_other_nodes_to_prepare); - return builder.makeBackupEntries(); + } + return map; } @@ -443,6 +68,7 @@ void writeBackupEntries(BackupMutablePtr backup, BackupEntries && backup_entries std::exception_ptr exception; bool always_single_threaded = !backup->supportsWritingInMultipleThreads(); + auto thread_group = CurrentThread::getGroup(); for (auto & name_and_entry : backup_entries) { @@ -456,22 +82,30 @@ void writeBackupEntries(BackupMutablePtr backup, BackupEntries && backup_entries ++num_active_jobs; } - auto job = [&]() + auto job = [&](bool async) { - SCOPE_EXIT({ + SCOPE_EXIT_SAFE( std::lock_guard lock{mutex}; if (!--num_active_jobs) event.notify_all(); - }); - - { - std::lock_guard lock{mutex}; - if (exception) - return; - } + if (async) + CurrentThread::detachQueryIfNotDetached(); + ); try { + if (async && thread_group) + CurrentThread::attachTo(thread_group); + + if (async) + setThreadName("BackupWorker"); + + { + std::lock_guard lock{mutex}; + if (exception) + return; + } + backup->writeFile(name, std::move(entry)); } catch (...) @@ -482,30 +116,86 @@ void writeBackupEntries(BackupMutablePtr backup, BackupEntries && backup_entries } }; - if (always_single_threaded || !thread_pool.trySchedule(job)) - job(); + if (always_single_threaded || !thread_pool.trySchedule([job] { job(true); })) + job(false); } { std::unique_lock lock{mutex}; event.wait(lock, [&] { return !num_active_jobs; }); + if (exception) + std::rethrow_exception(exception); } +} - backup_entries.clear(); - if (exception) +void restoreTablesData(DataRestoreTasks && tasks, ThreadPool & thread_pool) +{ + size_t num_active_jobs = 0; + std::mutex mutex; + std::condition_variable event; + std::exception_ptr exception; + + auto thread_group = CurrentThread::getGroup(); + + for (auto & task : tasks) { - /// We don't call finalizeWriting() if an error occurs. - /// And IBackup's implementation should remove the backup in its destructor if finalizeWriting() hasn't called before. - std::rethrow_exception(exception); + { + std::unique_lock lock{mutex}; + if (exception) + break; + ++num_active_jobs; + } + + auto job = [&](bool async) + { + SCOPE_EXIT_SAFE( + std::lock_guard lock{mutex}; + if (!--num_active_jobs) + event.notify_all(); + if (async) + CurrentThread::detachQueryIfNotDetached(); + ); + + try + { + if (async && thread_group) + CurrentThread::attachTo(thread_group); + + if (async) + setThreadName("RestoreWorker"); + + { + std::lock_guard lock{mutex}; + if (exception) + return; + } + + std::move(task)(); + } + catch (...) + { + std::lock_guard lock{mutex}; + if (!exception) + exception = std::current_exception(); + } + }; + + if (!thread_pool.trySchedule([job] { job(true); })) + job(false); } - backup->finalizeWriting(); + { + std::unique_lock lock{mutex}; + event.wait(lock, [&] { return !num_active_jobs; }); + if (exception) + std::rethrow_exception(exception); + } } /// Returns access required to execute BACKUP query. -AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & elements, const BackupSettings & backup_settings) +AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & elements) { AccessRightsElements required_access; for (const auto & element : elements) @@ -514,32 +204,27 @@ AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & { case ASTBackupQuery::TABLE: { - if (element.is_temp_db) - break; - AccessFlags flags = AccessType::SHOW_TABLES; - if (!backup_settings.structure_only) - flags |= AccessType::SELECT; - required_access.emplace_back(flags, element.name.first, element.name.second); + required_access.emplace_back(AccessType::BACKUP, element.database_name, element.table_name); break; } + + case ASTBackupQuery::TEMPORARY_TABLE: + { + /// It's always allowed to backup temporary tables. + break; + } + case ASTBackupQuery::DATABASE: { - if (element.is_temp_db) - break; - AccessFlags flags = AccessType::SHOW_TABLES | AccessType::SHOW_DATABASES; - if (!backup_settings.structure_only) - flags |= AccessType::SELECT; - required_access.emplace_back(flags, element.name.first); - /// TODO: It's better to process `element.except_list` somehow. + /// TODO: It's better to process `element.except_tables` somehow. + required_access.emplace_back(AccessType::BACKUP, element.database_name); break; } - case ASTBackupQuery::ALL_DATABASES: + + case ASTBackupQuery::ALL: { - AccessFlags flags = AccessType::SHOW_TABLES | AccessType::SHOW_DATABASES; - if (!backup_settings.structure_only) - flags |= AccessType::SELECT; - required_access.emplace_back(flags); - /// TODO: It's better to process `element.except_list` somehow. + /// TODO: It's better to process `element.except_databases` & `element.except_tables` somehow. + required_access.emplace_back(AccessType::BACKUP); break; } } diff --git a/src/Backups/BackupUtils.h b/src/Backups/BackupUtils.h index 315443a0f1d..cda9121b1fa 100644 --- a/src/Backups/BackupUtils.h +++ b/src/Backups/BackupUtils.h @@ -7,29 +7,23 @@ namespace DB { class IBackup; -using BackupPtr = std::shared_ptr; using BackupMutablePtr = std::shared_ptr; class IBackupEntry; -using BackupEntryPtr = std::shared_ptr; -using BackupEntries = std::vector>; -struct BackupSettings; -class IBackupCoordination; +using BackupEntries = std::vector>>; +using DataRestoreTasks = std::vector>; class AccessRightsElements; -class Context; -using ContextPtr = std::shared_ptr; +class DDLRenamingMap; -/// Prepares backup entries. -BackupEntries makeBackupEntries( - const ContextPtr & context, - const ASTBackupQuery::Elements & elements, - const BackupSettings & backup_settings, - std::shared_ptr backup_coordination, - std::chrono::seconds timeout_for_other_nodes_to_prepare = std::chrono::seconds::zero()); +/// Initializes a DDLRenamingMap from a BACKUP or RESTORE query. +DDLRenamingMap makeRenamingMapFromBackupQuery(const ASTBackupQuery::Elements & elements); /// Write backup entries to an opened backup. void writeBackupEntries(BackupMutablePtr backup, BackupEntries && backup_entries, ThreadPool & thread_pool); +/// Run data restoring tasks which insert data to tables. +void restoreTablesData(DataRestoreTasks && tasks, ThreadPool & thread_pool); + /// Returns access required to execute BACKUP query. -AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & elements, const BackupSettings & backup_settings); +AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & elements); } diff --git a/src/Backups/BackupsWorker.cpp b/src/Backups/BackupsWorker.cpp index e84ec350be7..add23411d8f 100644 --- a/src/Backups/BackupsWorker.cpp +++ b/src/Backups/BackupsWorker.cpp @@ -4,21 +4,22 @@ #include #include #include -#include +#include +#include +#include #include -#include -#include +#include #include #include -#include +#include #include #include #include #include -#include #include #include #include +#include namespace DB @@ -26,9 +27,98 @@ namespace DB namespace ErrorCodes { + extern const int BAD_ARGUMENTS; extern const int LOGICAL_ERROR; } +using OperationID = BackupsWorker::OperationID; +namespace Stage = BackupCoordinationStage; + +namespace +{ + std::shared_ptr makeBackupCoordination(const String & coordination_zk_path, const ContextPtr & context, bool is_internal_backup) + { + if (!coordination_zk_path.empty()) + { + auto get_zookeeper = [global_context = context->getGlobalContext()] { return global_context->getZooKeeper(); }; + return std::make_shared(coordination_zk_path, get_zookeeper, !is_internal_backup); + } + else + { + return std::make_shared(); + } + } + + std::shared_ptr makeRestoreCoordination(const String & coordination_zk_path, const ContextPtr & context, bool is_internal_backup) + { + if (!coordination_zk_path.empty()) + { + auto get_zookeeper = [global_context = context->getGlobalContext()] { return global_context->getZooKeeper(); }; + return std::make_shared(coordination_zk_path, get_zookeeper, !is_internal_backup); + } + else + { + return std::make_shared(); + } + } + + /// Sends information about an exception to IBackupCoordination or IRestoreCoordination. + template + void sendExceptionToCoordination(std::shared_ptr coordination, const String & current_host, const Exception & exception) + { + try + { + if (coordination) + coordination->setError(current_host, exception); + } + catch (...) + { + } + } + + /// Sends information about the current exception to IBackupCoordination or IRestoreCoordination. + template + void sendCurrentExceptionToCoordination(std::shared_ptr coordination, const String & current_host) + { + try + { + throw; + } + catch (const Exception & e) + { + sendExceptionToCoordination(coordination, current_host, e); + } + catch (...) + { + coordination->setError(current_host, Exception{getCurrentExceptionCode(), getCurrentExceptionMessage(true, true)}); + } + } + + bool isFinalStatus(BackupStatus status) + { + return (status == BackupStatus::BACKUP_CREATED) || (status == BackupStatus::BACKUP_FAILED) || (status == BackupStatus::RESTORED) + || (status == BackupStatus::RESTORE_FAILED); + } + + bool isErrorStatus(BackupStatus status) + { + return (status == BackupStatus::BACKUP_FAILED) || (status == BackupStatus::RESTORE_FAILED); + } + + /// Used to change num_active_backups. + size_t getNumActiveBackupsChange(BackupStatus status) + { + return status == BackupStatus::CREATING_BACKUP; + } + + /// Used to change num_active_restores. + size_t getNumActiveRestoresChange(BackupStatus status) + { + return status == BackupStatus::RESTORING; + } +} + + BackupsWorker::BackupsWorker(size_t num_backup_threads, size_t num_restore_threads) : backups_thread_pool(num_backup_threads, /* max_free_threads = */ 0, num_backup_threads) , restores_thread_pool(num_restore_threads, /* max_free_threads = */ 0, num_restore_threads) @@ -37,7 +127,8 @@ BackupsWorker::BackupsWorker(size_t num_backup_threads, size_t num_restore_threa /// We set max_free_threads = 0 because we don't want to keep any threads if there is no BACKUP or RESTORE query running right now. } -UUID BackupsWorker::start(const ASTPtr & backup_or_restore_query, ContextMutablePtr context) + +OperationID BackupsWorker::start(const ASTPtr & backup_or_restore_query, ContextMutablePtr context) { const ASTBackupQuery & backup_query = typeid_cast(*backup_or_restore_query); if (backup_query.kind == ASTBackupQuery::Kind::BACKUP) @@ -47,31 +138,116 @@ UUID BackupsWorker::start(const ASTPtr & backup_or_restore_query, ContextMutable } -UUID BackupsWorker::startMakingBackup(const ASTPtr & query, const ContextPtr & context) +OperationID BackupsWorker::startMakingBackup(const ASTPtr & query, const ContextPtr & context) { - UUID backup_uuid = UUIDHelpers::generateV4(); auto backup_query = std::static_pointer_cast(query->clone()); - auto backup_info = BackupInfo::fromAST(*backup_query->backup_name); auto backup_settings = BackupSettings::fromBackupQuery(*backup_query); - addInfo(backup_uuid, backup_info.toString(), BackupStatus::MAKING_BACKUP, backup_settings.internal); + if (!backup_settings.backup_uuid) + backup_settings.backup_uuid = UUIDHelpers::generateV4(); + + /// `backup_id` will be used as a key to the `infos` map, so it should be unique. + OperationID backup_id; + if (backup_settings.internal) + backup_id = "internal-" + toString(UUIDHelpers::generateV4()); /// Always generate `backup_id` for internal backup to avoid collision if both internal and non-internal backups are on the same host + else if (!backup_settings.id.empty()) + backup_id = backup_settings.id; + else + backup_id = toString(*backup_settings.backup_uuid); std::shared_ptr backup_coordination; - SCOPE_EXIT({ - if (backup_coordination && !backup_settings.internal) - backup_coordination->drop(); - }); - - BackupMutablePtr backup; - ContextPtr cloned_context; - bool on_cluster = !backup_query->cluster.empty(); - std::shared_ptr on_cluster_io; + if (backup_settings.internal) + { + /// The following call of makeBackupCoordination() is not essential because doBackup() will later create a backup coordination + /// if it's not created here. However to handle errors better it's better to make a coordination here because this way + /// if an exception will be thrown in startMakingBackup() other hosts will know about that. + backup_coordination = makeBackupCoordination(backup_settings.coordination_zk_path, context, backup_settings.internal); + } try { - auto access_to_check = getRequiredAccessToBackup(backup_query->elements, backup_settings); + auto backup_info = BackupInfo::fromAST(*backup_query->backup_name); + addInfo(backup_id, backup_info.toString(), backup_settings.internal, BackupStatus::CREATING_BACKUP); + + /// Prepare context to use. + ContextPtr context_in_use = context; + ContextMutablePtr mutable_context; + bool on_cluster = !backup_query->cluster.empty(); + if (on_cluster || backup_settings.async) + { + /// For ON CLUSTER queries we will need to change some settings. + /// For ASYNC queries we have to clone the context anyway. + context_in_use = mutable_context = Context::createCopy(context); + } + + if (backup_settings.async) + { + backups_thread_pool.scheduleOrThrowOnError( + [this, backup_query, backup_id, backup_settings, backup_info, backup_coordination, context_in_use, mutable_context] + { + doBackup( + backup_query, + backup_id, + backup_settings, + backup_info, + backup_coordination, + context_in_use, + mutable_context, + /* called_async= */ true); + }); + } + else + { + doBackup( + backup_query, + backup_id, + backup_settings, + backup_info, + backup_coordination, + context_in_use, + mutable_context, + /* called_async= */ false); + } + + return backup_id; + } + catch (...) + { + /// Something bad happened, the backup has not built. + setStatusSafe(backup_id, BackupStatus::BACKUP_FAILED); + sendCurrentExceptionToCoordination(backup_coordination, backup_settings.host_id); + throw; + } +} + + +void BackupsWorker::doBackup( + const std::shared_ptr & backup_query, + const OperationID & backup_id, + BackupSettings backup_settings, + const BackupInfo & backup_info, + std::shared_ptr backup_coordination, + const ContextPtr & context, + ContextMutablePtr mutable_context, + bool called_async) +{ + std::optional query_scope; + try + { + if (called_async) + { + query_scope.emplace(mutable_context); + setThreadName("BackupWorker"); + } + + bool on_cluster = !backup_query->cluster.empty(); + assert(mutable_context || (!on_cluster && !called_async)); + + /// Checks access rights if this is not ON CLUSTER query. + /// (If this is ON CLUSTER query executeDDLQueryOnCluster() will check access rights later.) + auto required_access = getRequiredAccessToBackup(backup_query->elements); if (!on_cluster) - context->checkAccess(access_to_check); + context->checkAccess(required_access); ClusterPtr cluster; if (on_cluster) @@ -82,18 +258,15 @@ UUID BackupsWorker::startMakingBackup(const ASTPtr & query, const ContextPtr & c if (backup_settings.coordination_zk_path.empty()) { String root_zk_path = context->getConfigRef().getString("backups.zookeeper_path", "/clickhouse/backups"); - backup_settings.coordination_zk_path = root_zk_path + "/backup-" + toString(backup_uuid); + backup_settings.coordination_zk_path = root_zk_path + "/backup-" + toString(*backup_settings.backup_uuid); } - backup_settings.copySettingsToQuery(*backup_query); } - if (!backup_settings.coordination_zk_path.empty()) - backup_coordination = std::make_shared( - backup_settings.coordination_zk_path, - [global_context = context->getGlobalContext()] { return global_context->getZooKeeper(); }); - else - backup_coordination = std::make_shared(); + /// Make a backup coordination. + if (!backup_coordination) + backup_coordination = makeBackupCoordination(backup_settings.coordination_zk_path, context, backup_settings.internal); + /// Opens a backup for writing. BackupFactory::CreateParams backup_create_params; backup_create_params.open_mode = IBackup::OpenMode::WRITE; backup_create_params.context = context; @@ -102,285 +275,388 @@ UUID BackupsWorker::startMakingBackup(const ASTPtr & query, const ContextPtr & c backup_create_params.compression_method = backup_settings.compression_method; backup_create_params.compression_level = backup_settings.compression_level; backup_create_params.password = backup_settings.password; - backup_create_params.backup_uuid = backup_uuid; backup_create_params.is_internal_backup = backup_settings.internal; backup_create_params.backup_coordination = backup_coordination; - backup = BackupFactory::instance().createBackup(backup_create_params); - - ContextMutablePtr mutable_context; - if (on_cluster || backup_settings.async) - cloned_context = mutable_context = Context::createCopy(context); - else - cloned_context = context; /// No need to clone context + backup_create_params.backup_uuid = backup_settings.backup_uuid; + BackupMutablePtr backup = BackupFactory::instance().createBackup(backup_create_params); + /// Write the backup. if (on_cluster) { DDLQueryOnClusterParams params; params.cluster = cluster; params.only_shard_num = backup_settings.shard_num; params.only_replica_num = backup_settings.replica_num; - params.access_to_check = access_to_check; - mutable_context->setSetting("distributed_ddl_task_timeout", -1); // No timeout - mutable_context->setSetting("distributed_ddl_output_mode", Field{"throw"}); - auto res = executeDDLQueryOnCluster(backup_query, mutable_context, params); - on_cluster_io = std::make_shared(std::move(res)); + params.access_to_check = required_access; + backup_settings.copySettingsToQuery(*backup_query); + + // executeDDLQueryOnCluster() will return without waiting for completion + mutable_context->setSetting("distributed_ddl_task_timeout", Field{0}); + mutable_context->setSetting("distributed_ddl_output_mode", Field{"none"}); + executeDDLQueryOnCluster(backup_query, mutable_context, params); + + /// Wait until all the hosts have written their backup entries. + auto all_hosts = BackupSettings::Util::filterHostIDs( + backup_settings.cluster_host_ids, backup_settings.shard_num, backup_settings.replica_num); + backup_coordination->waitForStage(all_hosts, Stage::COMPLETED); } + else + { + backup_query->setCurrentDatabase(context->getCurrentDatabase()); + + /// Prepare backup entries. + BackupEntries backup_entries; + { + BackupEntriesCollector backup_entries_collector{backup_query->elements, backup_settings, backup_coordination, context}; + backup_entries = backup_entries_collector.run(); + } + + /// Write the backup entries to the backup. + writeBackupEntries(backup, std::move(backup_entries), backups_thread_pool); + + /// We have written our backup entries, we need to tell other hosts (they could be waiting for it). + backup_coordination->setStage(backup_settings.host_id, Stage::COMPLETED, ""); + } + + size_t num_files = 0; + UInt64 uncompressed_size = 0; + UInt64 compressed_size = 0; + + /// Finalize backup (write its metadata). + if (!backup_settings.internal) + { + backup->finalizeWriting(); + num_files = backup->getNumFiles(); + uncompressed_size = backup->getUncompressedSize(); + compressed_size = backup->getCompressedSize(); + } + + /// Close the backup. + backup.reset(); + + LOG_INFO(log, "{} {} was created successfully", (backup_settings.internal ? "Internal backup" : "Backup"), backup_info.toString()); + setStatus(backup_id, BackupStatus::BACKUP_CREATED); + setNumFilesAndSize(backup_id, num_files, uncompressed_size, compressed_size); } catch (...) { - setStatus(backup_uuid, BackupStatus::FAILED_TO_BACKUP); - throw; + /// Something bad happened, the backup has not built. + if (called_async) + { + tryLogCurrentException(log, fmt::format("Failed to make {} {}", (backup_settings.internal ? "internal backup" : "backup"), backup_info.toString())); + setStatusSafe(backup_id, BackupStatus::BACKUP_FAILED); + sendCurrentExceptionToCoordination(backup_coordination, backup_settings.host_id); + } + else + { + /// setStatus() and sendCurrentExceptionToCoordination() will be called by startMakingBackup(). + throw; + } } - - auto job = [this, - backup, - backup_uuid, - backup_query, - backup_settings, - backup_coordination, - on_cluster_io, - cloned_context](bool in_separate_thread) - { - try - { - if (on_cluster_io) - { - PullingPipelineExecutor executor(on_cluster_io->pipeline); - Block block; - while (executor.pull(block)) - ; - backup->finalizeWriting(); - } - else - { - std::optional query_scope; - if (in_separate_thread) - query_scope.emplace(cloned_context); - - backup_query->setDatabase(cloned_context->getCurrentDatabase()); - - auto timeout_for_preparing = std::chrono::seconds{cloned_context->getConfigRef().getInt("backups.backup_prepare_timeout", -1)}; - auto backup_entries - = makeBackupEntries(cloned_context, backup_query->elements, backup_settings, backup_coordination, timeout_for_preparing); - writeBackupEntries(backup, std::move(backup_entries), backups_thread_pool); - } - setStatus(backup_uuid, BackupStatus::BACKUP_COMPLETE); - } - catch (...) - { - setStatus(backup_uuid, BackupStatus::FAILED_TO_BACKUP); - if (!in_separate_thread) - throw; - } - }; - - if (backup_settings.async) - backups_thread_pool.scheduleOrThrowOnError([job] { job(true); }); - else - job(false); - - return backup_uuid; } -UUID BackupsWorker::startRestoring(const ASTPtr & query, ContextMutablePtr context) +OperationID BackupsWorker::startRestoring(const ASTPtr & query, ContextMutablePtr context) { - UUID restore_uuid = UUIDHelpers::generateV4(); auto restore_query = std::static_pointer_cast(query->clone()); - auto backup_info = BackupInfo::fromAST(*restore_query->backup_name); auto restore_settings = RestoreSettings::fromRestoreQuery(*restore_query); - addInfo(restore_uuid, backup_info.toString(), BackupStatus::RESTORING, restore_settings.internal); + /// `restore_id` will be used as a key to the `infos` map, so it should be unique. + OperationID restore_id; + if (restore_settings.internal) + restore_id = "internal-" + toString(UUIDHelpers::generateV4()); /// Always generate `restore_id` for internal restore to avoid collision if both internal and non-internal restores are on the same host + else if (!restore_settings.id.empty()) + restore_id = restore_settings.id; + else + restore_id = toString(UUIDHelpers::generateV4()); std::shared_ptr restore_coordination; - SCOPE_EXIT({ - if (restore_coordination && !restore_settings.internal) - restore_coordination->drop(); - }); - - ContextMutablePtr cloned_context; - std::shared_ptr on_cluster_io; - bool on_cluster = !restore_query->cluster.empty(); + if (restore_settings.internal) + { + /// The following call of makeRestoreCoordination() is not essential because doRestore() will later create a restore coordination + /// if it's not created here. However to handle errors better it's better to make a coordination here because this way + /// if an exception will be thrown in startRestoring() other hosts will know about that. + restore_coordination = makeRestoreCoordination(restore_settings.coordination_zk_path, context, restore_settings.internal); + } try { - auto access_to_check = getRequiredAccessToRestore(restore_query->elements, restore_settings); - if (!on_cluster) - context->checkAccess(access_to_check); + auto backup_info = BackupInfo::fromAST(*restore_query->backup_name); + addInfo(restore_id, backup_info.toString(), restore_settings.internal, BackupStatus::RESTORING); + /// Prepare context to use. + ContextMutablePtr context_in_use = context; + bool on_cluster = !restore_query->cluster.empty(); + if (restore_settings.async || on_cluster) + { + /// For ON CLUSTER queries we will need to change some settings. + /// For ASYNC queries we have to clone the context anyway. + context_in_use = Context::createCopy(context); + } + + if (restore_settings.async) + { + backups_thread_pool.scheduleOrThrowOnError( + [this, restore_query, restore_id, restore_settings, backup_info, restore_coordination, context_in_use] { + doRestore( + restore_query, + restore_id, + restore_settings, + backup_info, + restore_coordination, + context_in_use, + /* called_async= */ true); + }); + } + else + { + doRestore( + restore_query, + restore_id, + restore_settings, + backup_info, + restore_coordination, + context_in_use, + /* called_async= */ false); + } + + return restore_id; + } + catch (...) + { + /// Something bad happened, the backup has not built. + setStatusSafe(restore_id, BackupStatus::RESTORE_FAILED); + sendCurrentExceptionToCoordination(restore_coordination, restore_settings.host_id); + throw; + } +} + + +void BackupsWorker::doRestore( + const std::shared_ptr & restore_query, + const OperationID & restore_id, + RestoreSettings restore_settings, + const BackupInfo & backup_info, + std::shared_ptr restore_coordination, + ContextMutablePtr context, + bool called_async) +{ + std::optional query_scope; + try + { + if (called_async) + { + query_scope.emplace(context); + setThreadName("RestoreWorker"); + } + + /// Open the backup for reading. + BackupFactory::CreateParams backup_open_params; + backup_open_params.open_mode = IBackup::OpenMode::READ; + backup_open_params.context = context; + backup_open_params.backup_info = backup_info; + backup_open_params.base_backup_info = restore_settings.base_backup_info; + backup_open_params.password = restore_settings.password; + BackupPtr backup = BackupFactory::instance().createBackup(backup_open_params); + + setNumFilesAndSize(restore_id, backup->getNumFiles(), backup->getUncompressedSize(), backup->getCompressedSize()); + + String current_database = context->getCurrentDatabase(); + + /// Checks access rights if this is ON CLUSTER query. + /// (If this isn't ON CLUSTER query RestorerFromBackup will check access rights later.) ClusterPtr cluster; + bool on_cluster = !restore_query->cluster.empty(); if (on_cluster) { restore_query->cluster = context->getMacros()->expand(restore_query->cluster); cluster = context->getCluster(restore_query->cluster); restore_settings.cluster_host_ids = cluster->getHostIDs(); - if (restore_settings.coordination_zk_path.empty()) + + /// We cannot just use access checking provided by the function executeDDLQueryOnCluster(): it would be incorrect + /// because different replicas can contain different set of tables and so the required access rights can differ too. + /// So the right way is pass through the entire cluster and check access for each host. + auto addresses = cluster->filterAddressesByShardOrReplica(restore_settings.shard_num, restore_settings.replica_num); + for (const auto * address : addresses) { - String root_zk_path = context->getConfigRef().getString("backups.zookeeper_path", "/clickhouse/backups"); - restore_settings.coordination_zk_path = root_zk_path + "/restore-" + toString(restore_uuid); + restore_settings.host_id = address->toString(); + auto restore_elements = restore_query->elements; + String addr_database = address->default_database.empty() ? current_database : address->default_database; + for (auto & element : restore_elements) + element.setCurrentDatabase(addr_database); + RestorerFromBackup dummy_restorer{restore_elements, restore_settings, nullptr, backup, context}; + dummy_restorer.run(RestorerFromBackup::CHECK_ACCESS_ONLY); } - restore_settings.copySettingsToQuery(*restore_query); } - if (!restore_settings.coordination_zk_path.empty()) - restore_coordination = std::make_shared( - restore_settings.coordination_zk_path, - [global_context = context->getGlobalContext()] { return global_context->getZooKeeper(); }); - else - restore_coordination = std::make_shared(); + /// Make a restore coordination. + if (on_cluster && restore_settings.coordination_zk_path.empty()) + { + String root_zk_path = context->getConfigRef().getString("backups.zookeeper_path", "/clickhouse/backups"); + restore_settings.coordination_zk_path = root_zk_path + "/restore-" + toString(UUIDHelpers::generateV4()); + } - if (on_cluster || restore_settings.async) - cloned_context = Context::createCopy(context); - else - cloned_context = context; /// No need to clone context + if (!restore_coordination) + restore_coordination = makeRestoreCoordination(restore_settings.coordination_zk_path, context, restore_settings.internal); + /// Do RESTORE. if (on_cluster) { + DDLQueryOnClusterParams params; params.cluster = cluster; params.only_shard_num = restore_settings.shard_num; params.only_replica_num = restore_settings.replica_num; - params.access_to_check = access_to_check; - cloned_context->setSetting("distributed_ddl_task_timeout", -1); // No timeout - cloned_context->setSetting("distributed_ddl_output_mode", Field{"throw"}); - auto res = executeDDLQueryOnCluster(restore_query, cloned_context, params); - on_cluster_io = std::make_shared(std::move(res)); + restore_settings.copySettingsToQuery(*restore_query); + + // executeDDLQueryOnCluster() will return without waiting for completion + context->setSetting("distributed_ddl_task_timeout", Field{0}); + context->setSetting("distributed_ddl_output_mode", Field{"none"}); + + executeDDLQueryOnCluster(restore_query, context, params); + + /// Wait until all the hosts have written their backup entries. + auto all_hosts = BackupSettings::Util::filterHostIDs( + restore_settings.cluster_host_ids, restore_settings.shard_num, restore_settings.replica_num); + restore_coordination->waitForStage(all_hosts, Stage::COMPLETED); } + else + { + restore_query->setCurrentDatabase(current_database); + + /// Restore metadata and prepare data restoring tasks. + DataRestoreTasks data_restore_tasks; + { + RestorerFromBackup restorer{restore_query->elements, restore_settings, restore_coordination, + backup, context}; + data_restore_tasks = restorer.run(RestorerFromBackup::RESTORE); + } + + /// Execute the data restoring tasks. + restoreTablesData(std::move(data_restore_tasks), restores_thread_pool); + + /// We have restored everything, we need to tell other hosts (they could be waiting for it). + restore_coordination->setStage(restore_settings.host_id, Stage::COMPLETED, ""); + } + + LOG_INFO(log, "Restored from {} {} successfully", (restore_settings.internal ? "internal backup" : "backup"), backup_info.toString()); + setStatus(restore_id, BackupStatus::RESTORED); } catch (...) { - setStatus(restore_uuid, BackupStatus::FAILED_TO_RESTORE); - throw; + /// Something bad happened, the backup has not built. + if (called_async) + { + tryLogCurrentException(log, fmt::format("Failed to restore from {} {}", (restore_settings.internal ? "internal backup" : "backup"), backup_info.toString())); + setStatusSafe(restore_id, BackupStatus::RESTORE_FAILED); + sendCurrentExceptionToCoordination(restore_coordination, restore_settings.host_id); + } + else + { + /// setStatus() and sendCurrentExceptionToCoordination() will be called by startRestoring(). + throw; + } } - - auto job = [this, - backup_info, - restore_uuid, - restore_query, - restore_settings, - restore_coordination, - on_cluster_io, - cloned_context](bool in_separate_thread) - { - try - { - if (on_cluster_io) - { - PullingPipelineExecutor executor(on_cluster_io->pipeline); - Block block; - while (executor.pull(block)) - ; - } - else - { - std::optional query_scope; - if (in_separate_thread) - query_scope.emplace(cloned_context); - - restore_query->setDatabase(cloned_context->getCurrentDatabase()); - - BackupFactory::CreateParams backup_open_params; - backup_open_params.open_mode = IBackup::OpenMode::READ; - backup_open_params.context = cloned_context; - backup_open_params.backup_info = backup_info; - backup_open_params.base_backup_info = restore_settings.base_backup_info; - backup_open_params.password = restore_settings.password; - BackupPtr backup = BackupFactory::instance().createBackup(backup_open_params); - - auto timeout_for_restoring_metadata - = std::chrono::seconds{cloned_context->getConfigRef().getInt("backups.restore_metadata_timeout", -1)}; - auto restore_tasks = makeRestoreTasks( - cloned_context, backup, restore_query->elements, restore_settings, restore_coordination, timeout_for_restoring_metadata); - restoreMetadata(restore_tasks, restore_settings, restore_coordination, timeout_for_restoring_metadata); - restoreData(restore_tasks, restores_thread_pool); - } - - setStatus(restore_uuid, BackupStatus::RESTORED); - } - catch (...) - { - setStatus(restore_uuid, BackupStatus::FAILED_TO_RESTORE); - if (!in_separate_thread) - throw; - } - }; - - if (restore_settings.async) - backups_thread_pool.scheduleOrThrowOnError([job] { job(true); }); - else - job(false); - - return restore_uuid; } -void BackupsWorker::addInfo(const UUID & uuid, const String & backup_name, BackupStatus status, bool internal) +void BackupsWorker::addInfo(const OperationID & id, const String & name, bool internal, BackupStatus status) { Info info; - info.uuid = uuid; - info.backup_name = backup_name; - info.status = status; - info.status_changed_time = time(nullptr); + info.id = id; + info.name = name; info.internal = internal; + info.status = status; + info.start_time = std::chrono::system_clock::now(); + + if (isFinalStatus(status)) + info.end_time = info.start_time; + std::lock_guard lock{infos_mutex}; - infos[uuid] = std::move(info); + + auto it = infos.find(id); + if (it != infos.end()) + { + /// It's better not allow to overwrite the current status if it's in progress. + auto current_status = it->second.status; + if (!isFinalStatus(current_status)) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "Cannot start a backup or restore: ID {} is already in use", id); + } + + infos[id] = std::move(info); + + num_active_backups += getNumActiveBackupsChange(status); + num_active_restores += getNumActiveRestoresChange(status); } -void BackupsWorker::setStatus(const UUID & uuid, BackupStatus status) + +void BackupsWorker::setStatus(const String & id, BackupStatus status, bool throw_if_error) { std::lock_guard lock{infos_mutex}; - auto & info = infos.at(uuid); - info.status = status; - info.status_changed_time = time(nullptr); + auto it = infos.find(id); + if (it == infos.end()) + { + if (throw_if_error) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Unknown backup ID {}", id); + else + return; + } - if ((status == BackupStatus::FAILED_TO_BACKUP) || (status == BackupStatus::FAILED_TO_RESTORE)) + auto & info = it->second; + auto old_status = info.status; + + info.status = status; + + if (isFinalStatus(status)) + info.end_time = std::chrono::system_clock::now(); + + if (isErrorStatus(status)) { info.error_message = getCurrentExceptionMessage(false); info.exception = std::current_exception(); } - switch (status) - { - case BackupStatus::BACKUP_COMPLETE: - LOG_INFO(log, "{} {} was created successfully", (info.internal ? "Internal backup" : "Backup"), info.backup_name); - break; - case BackupStatus::FAILED_TO_BACKUP: - LOG_ERROR(log, "Failed to create {} {}", (info.internal ? "internal backup" : "backup"), info.backup_name); - break; - case BackupStatus::RESTORED: - LOG_INFO(log, "Restored from {} {} successfully", (info.internal ? "internal backup" : "backup"), info.backup_name); - break; - case BackupStatus::FAILED_TO_RESTORE: - LOG_ERROR(log, "Failed to restore from {} {}", (info.internal ? "internal backup" : "backup"), info.backup_name); - break; - default: - break; - } + num_active_backups += getNumActiveBackupsChange(status) - getNumActiveBackupsChange(old_status); + num_active_restores += getNumActiveRestoresChange(status) - getNumActiveRestoresChange(old_status); } -void BackupsWorker::wait(const UUID & backup_or_restore_uuid, bool rethrow_exception) +void BackupsWorker::setNumFilesAndSize(const String & id, size_t num_files, UInt64 uncompressed_size, UInt64 compressed_size) +{ + std::lock_guard lock{infos_mutex}; + auto it = infos.find(id); + if (it == infos.end()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Unknown backup ID {}", id); + + auto & info = it->second; + info.num_files = num_files; + info.uncompressed_size = uncompressed_size; + info.compressed_size = compressed_size; +} + + +void BackupsWorker::wait(const OperationID & id, bool rethrow_exception) { std::unique_lock lock{infos_mutex}; status_changed.wait(lock, [&] { - auto it = infos.find(backup_or_restore_uuid); + auto it = infos.find(id); if (it == infos.end()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "BackupsWorker: Unknown UUID {}", toString(backup_or_restore_uuid)); + throw Exception(ErrorCodes::LOGICAL_ERROR, "Unknown backup ID {}", id); const auto & info = it->second; auto current_status = info.status; - if (rethrow_exception && ((current_status == BackupStatus::FAILED_TO_BACKUP) || (current_status == BackupStatus::FAILED_TO_RESTORE))) + if (rethrow_exception && isErrorStatus(current_status)) std::rethrow_exception(info.exception); - return (current_status == BackupStatus::BACKUP_COMPLETE) || (current_status == BackupStatus::RESTORED); + return isFinalStatus(current_status); }); } -BackupsWorker::Info BackupsWorker::getInfo(const UUID & backup_or_restore_uuid) const +BackupsWorker::Info BackupsWorker::getInfo(const OperationID & id) const { std::lock_guard lock{infos_mutex}; - auto it = infos.find(backup_or_restore_uuid); + auto it = infos.find(id); if (it == infos.end()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "BackupsWorker: Unknown UUID {}", toString(backup_or_restore_uuid)); + throw Exception(ErrorCodes::LOGICAL_ERROR, "Unknown backup ID {}", id); return it->second; } @@ -389,20 +665,24 @@ std::vector BackupsWorker::getAllInfos() const std::vector res_infos; std::lock_guard lock{infos_mutex}; for (const auto & info : infos | boost::adaptors::map_values) - res_infos.push_back(info); + { + if (!info.internal) + res_infos.push_back(info); + } return res_infos; } void BackupsWorker::shutdown() { - size_t num_active_backups = backups_thread_pool.active(); - size_t num_active_restores = restores_thread_pool.active(); - if (!num_active_backups && !num_active_restores) - return; - LOG_INFO(log, "Waiting for {} backup and {} restore tasks to be finished", num_active_backups, num_active_restores); + bool has_active_backups_and_restores = (num_active_backups || num_active_restores); + if (has_active_backups_and_restores) + LOG_INFO(log, "Waiting for {} backups and {} restores to be finished", num_active_backups, num_active_restores); + backups_thread_pool.wait(); restores_thread_pool.wait(); - LOG_INFO(log, "All backup and restore tasks have finished"); + + if (has_active_backups_and_restores) + LOG_INFO(log, "All backup and restore tasks have finished"); } } diff --git a/src/Backups/BackupsWorker.h b/src/Backups/BackupsWorker.h index 5f3d3d73de6..54b20c1df90 100644 --- a/src/Backups/BackupsWorker.h +++ b/src/Backups/BackupsWorker.h @@ -11,6 +11,13 @@ namespace Poco::Util { class AbstractConfiguration; } namespace DB { +class ASTBackupQuery; +struct BackupSettings; +struct RestoreSettings; +struct BackupInfo; +class IBackupCoordination; +class IRestoreCoordination; + /// Manager of backups and restores: executes backups and restores' threads in the background. /// Keeps information about backups and restores started in this session. class BackupsWorker @@ -21,49 +28,77 @@ public: /// Waits until all tasks have been completed. void shutdown(); - /// Starts executing a BACKUP or RESTORE query. Returns UUID of the operation. - UUID start(const ASTPtr & backup_or_restore_query, ContextMutablePtr context); + /// Backup's or restore's operation ID, can be either passed via SETTINGS id=... or be randomly generated UUID. + using OperationID = String; + + /// Starts executing a BACKUP or RESTORE query. Returns ID of the operation. + OperationID start(const ASTPtr & backup_or_restore_query, ContextMutablePtr context); /// Waits until a BACKUP or RESTORE query started by start() is finished. /// The function returns immediately if the operation is already finished. - void wait(const UUID & backup_or_restore_uuid, bool rethrow_exception = true); + void wait(const OperationID & backup_or_restore_id, bool rethrow_exception = true); /// Information about executing a BACKUP or RESTORE query started by calling start(). struct Info { - UUID uuid; + /// Backup's or restore's operation ID, can be either passed via SETTINGS id=... or be randomly generated UUID. + OperationID id; /// Backup's name, a string like "Disk('backups', 'my_backup')" - String backup_name; + String name; - BackupStatus status; - time_t status_changed_time; - - String error_message; - std::exception_ptr exception; - - /// Whether this operation is internal, i.e. caused by another BACKUP or RESTORE operation. - /// For example BACKUP ON CLUSTER executes an internal BACKUP commands per each node. + /// This operation is internal and should not be shown in system.backups bool internal = false; + + /// Status of backup or restore operation. + BackupStatus status; + + /// Number of files in the backup (including backup's metadata; only unique files are counted). + size_t num_files = 0; + + /// Size of all files in the backup (including backup's metadata; only unique files are counted). + UInt64 uncompressed_size = 0; + + /// Size of the backup if it's stored as an archive; or the same as `uncompressed_size` if the backup is stored as a folder. + UInt64 compressed_size = 0; + + /// Set only if there was an error. + std::exception_ptr exception; + String error_message; + + std::chrono::system_clock::time_point start_time; + std::chrono::system_clock::time_point end_time; }; - Info getInfo(const UUID & backup_or_restore_uuid) const; + Info getInfo(const OperationID & id) const; std::vector getAllInfos() const; private: - UUID startMakingBackup(const ASTPtr & query, const ContextPtr & context); - UUID startRestoring(const ASTPtr & query, ContextMutablePtr context); + OperationID startMakingBackup(const ASTPtr & query, const ContextPtr & context); - void addInfo(const UUID & uuid, const String & backup_name, BackupStatus status, bool internal); - void setStatus(const UUID & uuid, BackupStatus status); + void doBackup(const std::shared_ptr & backup_query, const OperationID & backup_id, BackupSettings backup_settings, + const BackupInfo & backup_info, std::shared_ptr backup_coordination, const ContextPtr & context, + ContextMutablePtr mutable_context, bool called_async); + + OperationID startRestoring(const ASTPtr & query, ContextMutablePtr context); + + void doRestore(const std::shared_ptr & restore_query, const OperationID & restore_id, RestoreSettings restore_settings, const BackupInfo & backup_info, + std::shared_ptr restore_coordination, ContextMutablePtr context, bool called_async); + + void addInfo(const OperationID & id, const String & name, bool internal, BackupStatus status); + void setStatus(const OperationID & id, BackupStatus status, bool throw_if_error = true); + void setStatusSafe(const String & id, BackupStatus status) { setStatus(id, status, false); } + void setNumFilesAndSize(const OperationID & id, size_t num_files, UInt64 uncompressed_size, UInt64 compressed_size); ThreadPool backups_thread_pool; ThreadPool restores_thread_pool; - std::unordered_map infos; + std::unordered_map infos; std::condition_variable status_changed; + std::atomic num_active_backups = 0; + std::atomic num_active_restores = 0; mutable std::mutex infos_mutex; - const Poco::Logger * log; + Poco::Logger * log; }; } diff --git a/src/Backups/DDLAdjustingForBackupVisitor.cpp b/src/Backups/DDLAdjustingForBackupVisitor.cpp new file mode 100644 index 00000000000..8223e08f127 --- /dev/null +++ b/src/Backups/DDLAdjustingForBackupVisitor.cpp @@ -0,0 +1,113 @@ +#include +#include +#include +#include +#include +#include + +#include + + +namespace DB +{ + +namespace +{ + void visitStorageSystemTableEngine(ASTStorage &, const DDLAdjustingForBackupVisitor::Data & data) + { + /// Precondition: storage.engine && storage.engine->name.starts_with("System")) + + /// If this is a definition of a system table we'll remove columns and comment because they're redundant for backups. + auto & create = data.create_query->as(); + create.reset(create.columns_list); + create.reset(create.comment); + } + + void visitStorageReplicatedTableEngine(ASTStorage & storage, const DDLAdjustingForBackupVisitor::Data & data) + { + /// Precondition: engine_name.starts_with("Replicated") && engine_name.ends_with("MergeTree") + + if (data.replicated_table_shared_id) + *data.replicated_table_shared_id = StorageReplicatedMergeTree::tryGetTableSharedIDFromCreateQuery(*data.create_query, data.global_context); + + /// Before storing the metadata in a backup we have to find a zookeeper path in its definition and turn the table's UUID in there + /// back into "{uuid}", and also we probably can remove the zookeeper path and replica name if they're default. + /// So we're kind of reverting what we had done to the table's definition in registerStorageMergeTree.cpp before we created this table. + auto & create = data.create_query->as(); + auto & engine = *storage.engine; + + auto * engine_args_ast = typeid_cast(engine.arguments.get()); + if (!engine_args_ast) + return; + + auto & engine_args = engine_args_ast->children; + if (engine_args.size() < 2) + return; + + auto * zookeeper_path_ast = typeid_cast(engine_args[0].get()); + auto * replica_name_ast = typeid_cast(engine_args[1].get()); + if (zookeeper_path_ast && (zookeeper_path_ast->value.getType() == Field::Types::String) && + replica_name_ast && (replica_name_ast->value.getType() == Field::Types::String)) + { + String & zookeeper_path_arg = zookeeper_path_ast->value.get(); + String & replica_name_arg = replica_name_ast->value.get(); + if (create.uuid != UUIDHelpers::Nil) + { + String table_uuid_str = toString(create.uuid); + if (size_t uuid_pos = zookeeper_path_arg.find(table_uuid_str); uuid_pos != String::npos) + zookeeper_path_arg.replace(uuid_pos, table_uuid_str.size(), "{uuid}"); + } + const auto & config = data.global_context->getConfigRef(); + if ((zookeeper_path_arg == StorageReplicatedMergeTree::getDefaultZooKeeperPath(config)) + && (replica_name_arg == StorageReplicatedMergeTree::getDefaultReplicaName(config)) + && ((engine_args.size() == 2) || !engine_args[2]->as())) + { + engine_args.erase(engine_args.begin(), engine_args.begin() + 2); + } + } + } + + void visitStorage(ASTStorage & storage, const DDLAdjustingForBackupVisitor::Data & data) + { + if (!storage.engine) + return; + + const String & engine_name = storage.engine->name; + if (engine_name.starts_with("System")) + visitStorageSystemTableEngine(storage, data); + else if (engine_name.starts_with("Replicated") && engine_name.ends_with("MergeTree")) + visitStorageReplicatedTableEngine(storage, data); + } + + void visitCreateQuery(ASTCreateQuery & create, const DDLAdjustingForBackupVisitor::Data & data) + { + create.uuid = UUIDHelpers::Nil; + create.to_inner_uuid = UUIDHelpers::Nil; + + if (create.storage) + visitStorage(*create.storage, data); + } +} + + +bool DDLAdjustingForBackupVisitor::needChildVisit(const ASTPtr &, const ASTPtr &) +{ + return false; +} + +void DDLAdjustingForBackupVisitor::visit(ASTPtr ast, const Data & data) +{ + if (auto * create = ast->as()) + visitCreateQuery(*create, data); +} + +void adjustCreateQueryForBackup(ASTPtr ast, const ContextPtr & global_context, std::optional * replicated_table_shared_id) +{ + if (replicated_table_shared_id) + *replicated_table_shared_id = {}; + + DDLAdjustingForBackupVisitor::Data data{ast, global_context, replicated_table_shared_id}; + DDLAdjustingForBackupVisitor::Visitor{data}.visit(ast); +} + +} diff --git a/src/Backups/DDLAdjustingForBackupVisitor.h b/src/Backups/DDLAdjustingForBackupVisitor.h new file mode 100644 index 00000000000..63353dcc000 --- /dev/null +++ b/src/Backups/DDLAdjustingForBackupVisitor.h @@ -0,0 +1,36 @@ +#pragma once + +#include +#include + + +namespace DB +{ +class IAST; +using ASTPtr = std::shared_ptr; +class Context; +using ContextPtr = std::shared_ptr; + +/// Changes a create query to a form which is appropriate or suitable for saving in a backup. +/// Also extracts a replicated table's shared ID from the create query if this is a create query for a replicated table. +/// `replicated_table_shared_id` can be null if you don't need that. +void adjustCreateQueryForBackup(ASTPtr ast, const ContextPtr & global_context, std::optional * replicated_table_shared_id); + +/// Visits ASTCreateQuery and changes it to a form which is appropriate or suitable for saving in a backup. +class DDLAdjustingForBackupVisitor +{ +public: + struct Data + { + ASTPtr create_query; + ContextPtr global_context; + std::optional * replicated_table_shared_id = nullptr; + }; + + using Visitor = InDepthNodeVisitor; + + static bool needChildVisit(const ASTPtr & ast, const ASTPtr & child); + static void visit(ASTPtr ast, const Data & data); +}; + +} diff --git a/src/Backups/DDLCompareUtils.cpp b/src/Backups/DDLCompareUtils.cpp deleted file mode 100644 index 625a0befe63..00000000000 --- a/src/Backups/DDLCompareUtils.cpp +++ /dev/null @@ -1,87 +0,0 @@ -#include -#include -#include - - -namespace DB -{ -namespace -{ - std::shared_ptr prepareDDLToCompare(const ASTCreateQuery & ast) - { - auto res = typeid_cast>(ast.shared_from_this()); - - std::shared_ptr clone; - auto get_clone = [&] - { - if (!clone) - { - clone = typeid_cast>(res->clone()); - res = clone; - } - return clone; - }; - - /// Remove UUIDs. - if (res->uuid != UUIDHelpers::Nil) - get_clone()->uuid = UUIDHelpers::Nil; - - if (res->to_inner_uuid != UUIDHelpers::Nil) - get_clone()->to_inner_uuid = UUIDHelpers::Nil; - - /// Clear IF NOT EXISTS flag. - if (res->if_not_exists) - get_clone()->if_not_exists = false; - - return res; - } -} - - -bool areTableDefinitionsSame(const IAST & table1, const IAST & table2) -{ - auto ast1 = typeid_cast>(table1.shared_from_this()); - if (!ast1 || !ast1->table) - return false; - - auto ast2 = typeid_cast>(table2.shared_from_this()); - if (!ast2 || !ast2->table) - return false; - - if ((ast1->uuid != ast2->uuid) || (ast1->to_inner_uuid != ast2->to_inner_uuid) || - (ast1->if_not_exists != ast2->if_not_exists)) - { - ast1 = prepareDDLToCompare(*ast1); - ast2 = prepareDDLToCompare(*ast2); - } - - return serializeAST(*ast1) == serializeAST(*ast1); -} - - -bool areDatabaseDefinitionsSame(const IAST & database1, const IAST & database2) -{ - auto ast1 = typeid_cast>(database1.shared_from_this()); - if (!ast1 || ast1->table || !ast1->database) - return false; - - auto ast2 = typeid_cast>(database2.shared_from_this()); - if (!ast2 || ast2->table || !ast2->database) - return false; - - if ((ast1->uuid != ast2->uuid) || (ast1->if_not_exists != ast2->if_not_exists)) - { - ast1 = prepareDDLToCompare(*ast1); - ast2 = prepareDDLToCompare(*ast2); - } - - return serializeAST(*ast1) == serializeAST(*ast1); -} - - -bool areTableDataCompatible(const IAST & src_table, const IAST & dest_table) -{ - return areTableDefinitionsSame(src_table, dest_table); -} - -} diff --git a/src/Backups/DDLCompareUtils.h b/src/Backups/DDLCompareUtils.h deleted file mode 100644 index acb99c243ea..00000000000 --- a/src/Backups/DDLCompareUtils.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - - -namespace DB -{ -class IAST; - -/// Checks that two table definitions are actually the same. -bool areTableDefinitionsSame(const IAST & table1, const IAST & table2); - -/// Checks that two database definitions are actually the same. -bool areDatabaseDefinitionsSame(const IAST & database1, const IAST & database2); - -/// Whether the data from the first table can be attached to the second table. -bool areTableDataCompatible(const IAST & src_table, const IAST & dest_table); - -} diff --git a/src/Backups/DDLRenamingVisitor.cpp b/src/Backups/DDLRenamingVisitor.cpp deleted file mode 100644 index fc5cd6f3958..00000000000 --- a/src/Backups/DDLRenamingVisitor.cpp +++ /dev/null @@ -1,387 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace DB -{ -namespace ErrorCodes -{ - extern const int WRONG_DDL_RENAMING_SETTINGS; - extern const int LOGICAL_ERROR; -} - -namespace -{ - /// Replaces names of tables and databases used in a CREATE query, which can be either CREATE TABLE or - /// CREATE DICTIONARY or CREATE VIEW or CREATE TEMPORARY TABLE or CREATE DATABASE query. - void visitCreateQuery(ASTCreateQuery & create, const DDLRenamingVisitor::Data & data) - { - if (create.table) - { - DatabaseAndTableName table_name; - table_name.second = create.getTable(); - if (create.temporary) - table_name.first = DatabaseCatalog::TEMPORARY_DATABASE; - else if (create.database) - table_name.first = create.getDatabase(); - else - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name specified in the CREATE TABLE query must not be empty"); - - table_name = data.renaming_settings.getNewTableName(table_name); - - if (table_name.first == DatabaseCatalog::TEMPORARY_DATABASE) - { - create.temporary = true; - create.setDatabase(""); - } - else - { - create.temporary = false; - create.setDatabase(table_name.first); - } - create.setTable(table_name.second); - } - else if (create.database) - { - String database_name = create.getDatabase(); - database_name = data.renaming_settings.getNewDatabaseName(database_name); - create.setDatabase(database_name); - } - else - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name specified in the CREATE DATABASE query must not be empty"); - - if (!create.as_table.empty() && !create.as_database.empty()) - std::tie(create.as_database, create.as_table) = data.renaming_settings.getNewTableName({create.as_database, create.as_table}); - - if (!create.to_table_id.table_name.empty() && !create.to_table_id.database_name.empty()) - { - auto to_table = data.renaming_settings.getNewTableName({create.to_table_id.database_name, create.to_table_id.table_name}); - create.to_table_id = StorageID{to_table.first, to_table.second}; - } - } - - /// Replaces names of a database and a table in a expression like `db`.`table` - void visitTableExpression(ASTTableExpression & expr, const DDLRenamingVisitor::Data & data) - { - if (!expr.database_and_table_name) - return; - - ASTIdentifier * id = expr.database_and_table_name->as(); - if (!id) - return; - - auto table_id = id->createTable(); - if (!table_id) - return; - - const String & db_name = table_id->getDatabaseName(); - const String & table_name = table_id->shortName(); - if (db_name.empty() || table_name.empty()) - return; - - String new_db_name, new_table_name; - std::tie(new_db_name, new_table_name) = data.renaming_settings.getNewTableName({db_name, table_name}); - if ((new_db_name == db_name) && (new_table_name == table_name)) - return; - - expr.database_and_table_name = std::make_shared(Strings{new_db_name, new_table_name}); - expr.children.push_back(expr.database_and_table_name); - } - - /// Replaces a database's name passed via an argument of the function merge() or the table engine Merge. - void visitFunctionMerge(ASTFunction & function, const DDLRenamingVisitor::Data & data) - { - if (!function.arguments) - return; - - /// The first argument is a database's name and we can rename it. - /// The second argument is a regular expression and we can do nothing about it. - auto & args = function.arguments->as().children; - size_t db_name_arg_index = 0; - if (args.size() <= db_name_arg_index) - return; - - String db_name = evaluateConstantExpressionForDatabaseName(args[db_name_arg_index], data.context)->as().value.safeGet(); - if (db_name.empty()) - return; - - String new_db_name = data.renaming_settings.getNewDatabaseName(db_name); - if (new_db_name == db_name) - return; - args[db_name_arg_index] = std::make_shared(new_db_name); - } - - /// Replaces names of a table and a database passed via arguments of the function remote() or cluster() or the table engine Distributed. - void visitFunctionRemote(ASTFunction & function, const DDLRenamingVisitor::Data & data) - { - if (!function.arguments) - return; - - /// The first argument is an address or cluster's name, so we skip it. - /// The second argument can be either 'db.name' or just 'db' followed by the third argument 'table'. - auto & args = function.arguments->as().children; - - const auto * second_arg_as_function = args[1]->as(); - if (second_arg_as_function && TableFunctionFactory::instance().isTableFunctionName(second_arg_as_function->name)) - return; - - size_t db_name_index = 1; - if (args.size() <= db_name_index) - return; - - String name = evaluateConstantExpressionForDatabaseName(args[db_name_index], data.context)->as().value.safeGet(); - - size_t table_name_index = static_cast(-1); - - QualifiedTableName qualified_name; - - if (function.name == "Distributed") - qualified_name.table = name; - else - qualified_name = QualifiedTableName::parseFromString(name); - - if (qualified_name.database.empty()) - { - std::swap(qualified_name.database, qualified_name.table); - table_name_index = 2; - if (args.size() <= table_name_index) - return; - qualified_name.table = evaluateConstantExpressionForDatabaseName(args[table_name_index], data.context)->as().value.safeGet(); - } - - const String & db_name = qualified_name.database; - const String & table_name = qualified_name.table; - - if (db_name.empty() || table_name.empty()) - return; - - String new_db_name, new_table_name; - std::tie(new_db_name, new_table_name) = data.renaming_settings.getNewTableName({db_name, table_name}); - if ((new_db_name == db_name) && (new_table_name == table_name)) - return; - - if (table_name_index != static_cast(-1)) - { - if (new_db_name != db_name) - args[db_name_index] = std::make_shared(new_db_name); - if (new_table_name != table_name) - args[table_name_index] = std::make_shared(new_table_name); - } - else - { - args[db_name_index] = std::make_shared(new_db_name); - args.insert(args.begin() + db_name_index + 1, std::make_shared(new_table_name)); - } - } - - /// Replaces names of tables and databases used in arguments of a table function or a table engine. - void visitFunction(ASTFunction & function, const DDLRenamingVisitor::Data & data) - { - if ((function.name == "merge") || (function.name == "Merge")) - { - visitFunctionMerge(function, data); - } - else if ((function.name == "remote") || (function.name == "remoteSecure") || (function.name == "cluster") || - (function.name == "clusterAllReplicas") || (function.name == "Distributed")) - { - visitFunctionRemote(function, data); - } - } - - /// Replaces names of a table and a database used in source parameters of a dictionary. - void visitDictionary(ASTDictionary & dictionary, const DDLRenamingVisitor::Data & data) - { - if (!dictionary.source || dictionary.source->name != "clickhouse" || !dictionary.source->elements) - return; - - auto & elements = dictionary.source->elements->as().children; - String db_name, table_name; - size_t db_name_index = static_cast(-1); - size_t table_name_index = static_cast(-1); - - for (size_t i = 0; i != elements.size(); ++i) - { - auto & pair = elements[i]->as(); - if (pair.first == "db") - { - if (db_name_index != static_cast(-1)) - return; - db_name = pair.second->as().value.safeGet(); - db_name_index = i; - } - else if (pair.first == "table") - { - if (table_name_index != static_cast(-1)) - return; - table_name = pair.second->as().value.safeGet(); - table_name_index = i; - } - } - - if (db_name.empty() || table_name.empty()) - return; - - String new_db_name, new_table_name; - std::tie(new_db_name, new_table_name) = data.renaming_settings.getNewTableName({db_name, table_name}); - if ((new_db_name == db_name) && (new_table_name == table_name)) - return; - - if (new_db_name != db_name) - { - auto & pair = elements[db_name_index]->as(); - pair.replace(pair.second, std::make_shared(new_db_name)); - } - if (new_table_name != table_name) - { - auto & pair = elements[table_name_index]->as(); - pair.replace(pair.second, std::make_shared(new_table_name)); - } - } -} - - -void DDLRenamingSettings::setNewTableName(const DatabaseAndTableName & old_table_name, const DatabaseAndTableName & new_table_name) -{ - if (old_table_name.first.empty() || old_table_name.second.empty() || new_table_name.first.empty() || new_table_name.second.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Empty names are not allowed for DDLRenamingSettings::setNewTableName"); - - auto it = old_to_new_table_names.find(old_table_name); - if ((it != old_to_new_table_names.end())) - { - if (it->second == new_table_name) - return; - throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Wrong renaming: it's specified that table {}.{} should be renamed to {}.{} and to {}.{} at the same time", - backQuoteIfNeed(old_table_name.first), backQuoteIfNeed(old_table_name.second), - backQuoteIfNeed(it->second.first), backQuoteIfNeed(it->second.second), - backQuoteIfNeed(new_table_name.first), backQuoteIfNeed(new_table_name.second)); - } - old_to_new_table_names[old_table_name] = new_table_name; -} - -void DDLRenamingSettings::setNewDatabaseName(const String & old_database_name, const String & new_database_name) -{ - if (old_database_name.empty() || new_database_name.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Empty names are not allowed for DDLRenamingSettings::setNewDatabaseName"); - - auto it = old_to_new_database_names.find(old_database_name); - if ((it != old_to_new_database_names.end())) - { - if (it->second == new_database_name) - return; - throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Wrong renaming: it's specified that database {} should be renamed to {} and to {} at the same time", - backQuoteIfNeed(old_database_name), backQuoteIfNeed(it->second), backQuoteIfNeed(new_database_name)); - } - old_to_new_database_names[old_database_name] = new_database_name; -} - -void DDLRenamingSettings::setFromBackupQuery(const ASTBackupQuery & backup_query) -{ - setFromBackupQuery(backup_query.elements); -} - -void DDLRenamingSettings::setFromBackupQuery(const ASTBackupQuery::Elements & backup_query_elements) -{ - old_to_new_table_names.clear(); - old_to_new_database_names.clear(); - - using ElementType = ASTBackupQuery::ElementType; - - for (const auto & element : backup_query_elements) - { - switch (element.type) - { - case ElementType::TABLE: - { - const String & table_name = element.name.second; - String database_name = element.name.first; - if (element.is_temp_db) - database_name = DatabaseCatalog::TEMPORARY_DATABASE; - assert(!table_name.empty()); - assert(!database_name.empty()); - - const String & new_table_name = element.new_name.second; - String new_database_name = element.new_name.first; - if (element.is_temp_db) - new_database_name = DatabaseCatalog::TEMPORARY_DATABASE; - assert(!new_table_name.empty()); - assert(!new_database_name.empty()); - - setNewTableName({database_name, table_name}, {new_database_name, new_table_name}); - break; - } - - case ASTBackupQuery::DATABASE: - { - String database_name = element.name.first; - if (element.is_temp_db) - database_name = DatabaseCatalog::TEMPORARY_DATABASE; - assert(!database_name.empty()); - - String new_database_name = element.new_name.first; - if (element.is_temp_db) - new_database_name = DatabaseCatalog::TEMPORARY_DATABASE; - assert(!new_database_name.empty()); - - setNewDatabaseName(database_name, new_database_name); - break; - } - - case ASTBackupQuery::ALL_DATABASES: break; - } - } -} - -DatabaseAndTableName DDLRenamingSettings::getNewTableName(const DatabaseAndTableName & old_table_name) const -{ - auto it = old_to_new_table_names.find(old_table_name); - if (it != old_to_new_table_names.end()) - return it->second; - return {getNewDatabaseName(old_table_name.first), old_table_name.second}; -} - -const String & DDLRenamingSettings::getNewDatabaseName(const String & old_database_name) const -{ - auto it = old_to_new_database_names.find(old_database_name); - if (it != old_to_new_database_names.end()) - return it->second; - return old_database_name; -} - - -bool DDLRenamingVisitor::needChildVisit(ASTPtr &, const ASTPtr &) { return true; } - -void DDLRenamingVisitor::visit(ASTPtr & ast, const Data & data) -{ - if (auto * create = ast->as()) - visitCreateQuery(*create, data); - else if (auto * expr = ast->as()) - visitTableExpression(*expr, data); - else if (auto * function = ast->as()) - visitFunction(*function, data); - else if (auto * dictionary = ast->as()) - visitDictionary(*dictionary, data); -} - -void renameInCreateQuery(ASTPtr & ast, const ContextPtr & global_context, const DDLRenamingSettings & renaming_settings) -{ - try - { - DDLRenamingVisitor::Data data{renaming_settings, global_context}; - DDLRenamingVisitor::Visitor{data}.visit(ast); - } - catch (...) - { - tryLogCurrentException("Backup", "Error while renaming in AST"); - } -} - -} diff --git a/src/Backups/DDLRenamingVisitor.h b/src/Backups/DDLRenamingVisitor.h deleted file mode 100644 index c255039dea7..00000000000 --- a/src/Backups/DDLRenamingVisitor.h +++ /dev/null @@ -1,61 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include - - -namespace DB -{ -using DatabaseAndTableName = std::pair; -class IAST; -using ASTPtr = std::shared_ptr; -class Context; -using ContextPtr = std::shared_ptr; - -/// Keeps information about renamings of databases or tables being processed -/// while we're making a backup or while we're restoring from a backup. -class DDLRenamingSettings -{ -public: - DDLRenamingSettings() = default; - - void setNewTableName(const DatabaseAndTableName & old_table_name, const DatabaseAndTableName & new_table_name); - void setNewDatabaseName(const String & old_database_name, const String & new_database_name); - - void setFromBackupQuery(const ASTBackupQuery & backup_query); - void setFromBackupQuery(const ASTBackupQuery::Elements & backup_query_elements); - - /// Changes names according to the renaming. - DatabaseAndTableName getNewTableName(const DatabaseAndTableName & old_table_name) const; - const String & getNewDatabaseName(const String & old_database_name) const; - -private: - std::map old_to_new_table_names; - std::unordered_map old_to_new_database_names; -}; - - -/// Changes names in AST according to the renaming settings. -void renameInCreateQuery(ASTPtr & ast, const ContextPtr & global_context, const DDLRenamingSettings & renaming_settings); - -/// Visits ASTCreateQuery and changes names of tables and databases according to passed DDLRenamingConfig. -class DDLRenamingVisitor -{ -public: - struct Data - { - const DDLRenamingSettings & renaming_settings; - ContextPtr context; - }; - - using Visitor = InDepthNodeVisitor; - - static bool needChildVisit(ASTPtr &, const ASTPtr &); - static void visit(ASTPtr & ast, const Data & data); -}; - -} diff --git a/src/Backups/IBackup.h b/src/Backups/IBackup.h index 4e8375a078e..a8ddbb5b64d 100644 --- a/src/Backups/IBackup.h +++ b/src/Backups/IBackup.h @@ -36,18 +36,28 @@ public: /// Returns UUID of the backup. virtual UUID getUUID() const = 0; - /// Returns names of entries stored in the backup. - /// If `prefix` isn't empty the function will return only the names starting with - /// the prefix (but without the prefix itself). - /// If the `terminator` isn't empty the function will returns only parts of the names - /// before the terminator. For example, list("", "") returns names of all the entries - /// in the backup; and list("data/", "/") return kind of a list of folders and - /// files stored in the "data/" directory inside the backup. - virtual Strings listFiles(const String & prefix = "", const String & terminator = "/") const = 0; /// NOLINT + /// Returns the number of unique files in the backup. + virtual size_t getNumFiles() const = 0; + + /// Returns the total size of unique files in the backup. + virtual UInt64 getUncompressedSize() const = 0; + + /// Returns the compressed size of the backup. If the backup is not stored as an archive it returns the same as getUncompressedSize(). + virtual UInt64 getCompressedSize() const = 0; + + /// Returns names of entries stored in a specified directory in the backup. + /// If `directory` is empty or '/' the functions returns entries in the backup's root. + virtual Strings listFiles(const String & directory, bool recursive = false) const = 0; + + /// Checks if a specified directory contains any files. + /// The function returns the same as `!listFiles(directory).empty()`. + virtual bool hasFiles(const String & directory) const = 0; + + using SizeAndChecksum = std::pair; /// Checks if an entry with a specified name exists. virtual bool fileExists(const String & file_name) const = 0; - virtual bool fileExists(const std::pair & size_and_checksum) const = 0; + virtual bool fileExists(const SizeAndChecksum & size_and_checksum) const = 0; /// Returns the size of the entry's data. /// This function does the same as `read(file_name)->getSize()` but faster. @@ -57,8 +67,6 @@ public: /// This function does the same as `read(file_name)->getCheckum()` but faster. virtual UInt128 getFileChecksum(const String & file_name) const = 0; - using SizeAndChecksum = std::pair; - /// Returns both the size and checksum in one call. virtual SizeAndChecksum getFileSizeAndChecksum(const String & file_name) const = 0; diff --git a/src/Backups/IBackupCoordination.h b/src/Backups/IBackupCoordination.h index e09f1d973b9..5e120218544 100644 --- a/src/Backups/IBackupCoordination.h +++ b/src/Backups/IBackupCoordination.h @@ -6,18 +6,23 @@ namespace DB { -using DatabaseAndTableName = std::pair; +class Exception; +enum class AccessEntityType; -/// Keeps information about files contained in a backup. +/// Replicas use this class to coordinate what they're writing to a backup while executing BACKUP ON CLUSTER. +/// There are two implementation of this interface: BackupCoordinationLocal and BackupCoordinationRemote. +/// BackupCoordinationLocal is used while executing BACKUP without ON CLUSTER and performs coordination in memory. +/// BackupCoordinationRemote is used while executing BACKUP with ON CLUSTER and performs coordination via ZooKeeper. class IBackupCoordination { public: virtual ~IBackupCoordination() = default; - /// Adds a data path in backup for a replicated table. - /// Multiple replicas of the replicated table call this function and then all the added paths can be returned by call of the function - /// getReplicatedTableDataPaths(). - virtual void addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) = 0; + /// Sets the current stage and waits for other hosts to come to this stage too. + virtual void setStage(const String & current_host, const String & new_stage, const String & message) = 0; + virtual void setError(const String & current_host, const Exception & exception) = 0; + virtual Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait) = 0; + virtual Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout) = 0; struct PartNameAndChecksum { @@ -27,30 +32,39 @@ public: /// Adds part names which a specified replica of a replicated table is going to put to the backup. /// Multiple replicas of the replicated table call this function and then the added part names can be returned by call of the function - /// getReplicatedTablePartNames(). + /// getReplicatedPartNames(). /// Checksums are used only to control that parts under the same names on different replicas are the same. - virtual void addReplicatedTablePartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const std::vector & part_names_and_checksums) - = 0; - - /// Sets that a specified host finished preparations for copying the backup's files, successfully or not. - /// `error_message` should be set to true if it was not successful. - virtual void finishPreparing(const String & host_id, const String & error_message = {}) = 0; - - /// Waits for a specified time for specified hosts to finish preparation for copying the backup's files. - virtual void - waitForAllHostsPrepared(const Strings & host_ids, std::chrono::seconds timeout = std::chrono::seconds(-1) /* no timeout */) const = 0; - - /// Returns all the data paths in backup added for a replicated table (see also addReplicatedTableDataPath()). - virtual Strings getReplicatedTableDataPaths(const String & table_zk_path) const = 0; + virtual void addReplicatedPartNames(const String & table_shared_id, const String & table_name_for_logs, const String & replica_name, + const std::vector & part_names_and_checksums) = 0; /// Returns the names of the parts which a specified replica of a replicated table should put to the backup. - /// This is the same list as it was added by call of the function addReplicatedTablePartNames() but without duplications and without + /// This is the same list as it was added by call of the function addReplicatedPartNames() but without duplications and without /// parts covered by another parts. - virtual Strings getReplicatedTablePartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const = 0; + virtual Strings getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const = 0; + + struct MutationInfo + { + String id; + String entry; + }; + + /// Adds information about mutations of a replicated table. + virtual void addReplicatedMutations(const String & table_shared_id, const String & table_name_for_logs, const String & replica_name, const std::vector & mutations) = 0; + + /// Returns all mutations of a replicated table which are not finished for some data parts added by addReplicatedPartNames(). + virtual std::vector getReplicatedMutations(const String & table_shared_id, const String & replica_name) const = 0; + + /// Adds a data path in backup for a replicated table. + /// Multiple replicas of the replicated table call this function and then all the added paths can be returned by call of the function + /// getReplicatedDataPaths(). + virtual void addReplicatedDataPath(const String & table_shared_id, const String & data_path) = 0; + + /// Returns all the data paths in backup added for a replicated table (see also addReplicatedDataPath()). + virtual Strings getReplicatedDataPaths(const String & table_shared_id) const = 0; + + /// Adds a path to access.txt file keeping access entities of a ReplicatedAccessStorage. + virtual void addReplicatedAccessFilePath(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id, const String & file_path) = 0; + virtual Strings getReplicatedAccessFilePaths(const String & access_zk_path, AccessEntityType access_entity_type, const String & host_id) const = 0; struct FileInfo { @@ -87,7 +101,8 @@ public: virtual void updateFileInfo(const FileInfo & file_info) = 0; virtual std::vector getAllFileInfos() const = 0; - virtual Strings listFiles(const String & prefix, const String & terminator) const = 0; + virtual Strings listFiles(const String & directory, bool recursive) const = 0; + virtual bool hasFiles(const String & directory) const = 0; using SizeAndChecksum = std::pair; @@ -100,9 +115,6 @@ public: /// Returns the list of all the archive suffixes which were generated. virtual Strings getAllArchiveSuffixes() const = 0; - - /// Removes remotely stored information. - virtual void drop() {} }; } diff --git a/src/Backups/IBackupEntriesBatch.cpp b/src/Backups/IBackupEntriesBatch.cpp deleted file mode 100644 index 34a91668023..00000000000 --- a/src/Backups/IBackupEntriesBatch.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include -#include - - -namespace DB -{ - -class IBackupEntriesBatch::BackupEntryFromBatch : public IBackupEntry -{ -public: - BackupEntryFromBatch(const std::shared_ptr & generator_, size_t index_) : batch(generator_), index(index_) - { - assert(batch); - } - - UInt64 getSize() const override { return batch->getSize(index); } - std::optional getChecksum() const override { return batch->getChecksum(index); } - std::unique_ptr getReadBuffer() const override { return batch->getReadBuffer(index); } - -private: - const std::shared_ptr batch; - const size_t index; -}; - - -BackupEntries IBackupEntriesBatch::getBackupEntries() -{ - BackupEntries res; - res.reserve(entry_names.size()); - for (size_t i = 0; i != entry_names.size(); ++i) - { - res.emplace_back(entry_names[i], std::make_unique(shared_from_this(), i)); - } - return res; -} - -} diff --git a/src/Backups/IBackupEntriesBatch.h b/src/Backups/IBackupEntriesBatch.h deleted file mode 100644 index 7fceb793c00..00000000000 --- a/src/Backups/IBackupEntriesBatch.h +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include -#include - -namespace DB -{ - -/// Helper class designed to generate multiple backup entries from one source. -class IBackupEntriesBatch : public std::enable_shared_from_this -{ -public: - BackupEntries getBackupEntries(); - - virtual ~IBackupEntriesBatch() = default; - -protected: - IBackupEntriesBatch(const Strings & entry_names_) : entry_names(entry_names_) {} - - virtual std::unique_ptr getReadBuffer(size_t index) = 0; - virtual UInt64 getSize(size_t index) = 0; - virtual std::optional getChecksum(size_t) { return {}; } - -private: - class BackupEntryFromBatch; - const Strings entry_names; -}; - -} diff --git a/src/Backups/IBackupEntriesLazyBatch.cpp b/src/Backups/IBackupEntriesLazyBatch.cpp new file mode 100644 index 00000000000..5fb3a4cb3c0 --- /dev/null +++ b/src/Backups/IBackupEntriesLazyBatch.cpp @@ -0,0 +1,77 @@ +#include +#include +#include + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int LOGICAL_ERROR; +} + + +class IBackupEntriesLazyBatch::BackupEntryFromBatch : public IBackupEntry +{ +public: + BackupEntryFromBatch(const std::shared_ptr & batch_, size_t index_) : batch(batch_), index(index_) { } + + UInt64 getSize() const override { return getInternalBackupEntry()->getSize(); } + std::optional getChecksum() const override { return getInternalBackupEntry()->getChecksum(); } + std::unique_ptr getReadBuffer() const override { return getInternalBackupEntry()->getReadBuffer(); } + +private: + BackupEntryPtr getInternalBackupEntry() const + { + std::lock_guard lock{mutex}; + if (!entry) + { + batch->generateIfNecessary(); + entry = batch->entries[index].second; + } + return entry; + } + + const std::shared_ptr batch; + const size_t index; + mutable std::mutex mutex; + mutable BackupEntryPtr entry; +}; + + +BackupEntries IBackupEntriesLazyBatch::getBackupEntries() +{ + BackupEntries res; + size_t size = getSize(); + res.reserve(size); + for (size_t i = 0; i != size; ++i) + { + res.emplace_back(getName(i), std::make_unique(shared_from_this(), i)); + } + return res; +} + +void IBackupEntriesLazyBatch::generateIfNecessary() +{ + std::lock_guard lock{mutex}; + if (generated) + return; + + entries = generate(); + + if (entries.size() != getSize()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Backup entries were generated incorrectly"); + + for (size_t i = 0; i != entries.size(); ++i) + { + if (entries[i].first != getName(i)) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Backup entries were generated incorrectly"); + } + + generated = true; +} + +IBackupEntriesLazyBatch::~IBackupEntriesLazyBatch() = default; + +} diff --git a/src/Backups/IBackupEntriesLazyBatch.h b/src/Backups/IBackupEntriesLazyBatch.h new file mode 100644 index 00000000000..36f9805ff30 --- /dev/null +++ b/src/Backups/IBackupEntriesLazyBatch.h @@ -0,0 +1,30 @@ +#pragma once + +#include +#include + +namespace DB +{ + +/// Helper class designed to generate multiple backup entries from one source. +class IBackupEntriesLazyBatch : public std::enable_shared_from_this +{ +public: + BackupEntries getBackupEntries(); + virtual ~IBackupEntriesLazyBatch(); + +protected: + virtual size_t getSize() const = 0; + virtual const String & getName(size_t i) const = 0; + virtual BackupEntries generate() = 0; + +private: + void generateIfNecessary(); + + class BackupEntryFromBatch; + std::mutex mutex; + BackupEntries entries; + bool generated = false; +}; + +} diff --git a/src/Backups/IRestoreCoordination.h b/src/Backups/IRestoreCoordination.h index 473b3199d04..692054ae267 100644 --- a/src/Backups/IRestoreCoordination.h +++ b/src/Backups/IRestoreCoordination.h @@ -5,64 +5,35 @@ namespace DB { -using DatabaseAndTableName = std::pair; +class Exception; -/// Keeps information about files contained in a backup. +/// Replicas use this class to coordinate what they're reading from a backup while executing RESTORE ON CLUSTER. +/// There are two implementation of this interface: RestoreCoordinationLocal and RestoreCoordinationRemote. +/// RestoreCoordinationLocal is used while executing RESTORE without ON CLUSTER and performs coordination in memory. +/// RestoreCoordinationRemote is used while executing RESTORE with ON CLUSTER and performs coordination via ZooKeeper. class IRestoreCoordination { public: virtual ~IRestoreCoordination() = default; + /// Sets the current stage and waits for other hosts to come to this stage too. + virtual void setStage(const String & current_host, const String & new_stage, const String & message) = 0; + virtual void setError(const String & current_host, const Exception & exception) = 0; + virtual Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait) = 0; + virtual Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout) = 0; + + static constexpr const char * kErrorStatus = "error"; + /// Starts creating a table in a replicated database. Returns false if there is another host which is already creating this table. - virtual bool startCreatingTableInReplicatedDB( - const String & host_id, const String & database_name, const String & database_zk_path, const String & table_name) - = 0; - - /// Sets that either we have been created a table in a replicated database or failed doing that. - /// In the latter case `error_message` should be set. - /// Calling this function unblocks other hosts waiting for this table to be created (see waitForCreatingTableInReplicatedDB()). - virtual void finishCreatingTableInReplicatedDB( - const String & host_id, - const String & database_name, - const String & database_zk_path, - const String & table_name, - const String & error_message = {}) - = 0; - - /// Wait for another host to create a table in a replicated database. - virtual void waitForTableCreatedInReplicatedDB( - const String & database_name, - const String & database_zk_path, - const String & table_name, - std::chrono::seconds timeout = std::chrono::seconds(-1) /* no timeout */) - = 0; - - /// Adds a path in backup used by a replicated table. - /// This function can be called multiple times for the same table with different `host_id`, and in that case - /// getReplicatedTableDataPath() will choose `data_path_in_backup` with the lexicographycally first `host_id`. - virtual void addReplicatedTableDataPath( - const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path, const String & data_path_in_backup) - = 0; - - /// Sets that a specified host has finished restoring metadata, successfully or with an error. - /// In the latter case `error_message` should be set. - virtual void finishRestoringMetadata(const String & host_id, const String & error_message = {}) = 0; - - /// Waits for a specified list of hosts to finish restoring their metadata. - virtual void waitForAllHostsRestoredMetadata( - const Strings & host_ids, std::chrono::seconds timeout = std::chrono::seconds(-1) /* no timeout */) const = 0; - - /// Gets path in backup used by a replicated table. - virtual String getReplicatedTableDataPath(const String & table_zk_path) const = 0; + virtual bool acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) = 0; /// Sets that this replica is going to restore a partition in a replicated table. /// The function returns false if this partition is being already restored by another replica. - virtual bool startInsertingDataToPartitionInReplicatedTable( - const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path, const String & partition_name) - = 0; + virtual bool acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) = 0; - /// Removes remotely stored information. - virtual void drop() {} + /// Sets that this replica is going to restore a ReplicatedAccessStorage. + /// The function returns false if this access storage is being already restored by another replica. + virtual bool acquireReplicatedAccessStorage(const String & access_storage_zk_path) = 0; }; } diff --git a/src/Backups/IRestoreTask.h b/src/Backups/IRestoreTask.h deleted file mode 100644 index 6e6a28eacf0..00000000000 --- a/src/Backups/IRestoreTask.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include -#include - - -namespace DB -{ - -/// Represents a task of restoring something (database / table / table's part) from backup. -class IRestoreTask -{ -public: - IRestoreTask() = default; - virtual ~IRestoreTask() = default; - - enum class RestoreKind - { - /// This task restores metadata (definitions of databases and tables). - /// Tasks restoring metadata are executed first and strictly in one thread. - METADATA, - - /// This task restores tables' data. Such tasks can be executed in parallel. - DATA, - }; - - virtual RestoreKind getRestoreKind() const { return RestoreKind::DATA; } - - /// Perform restoring, the function also can return a list of nested tasks that should be run later. - virtual std::vector> run() = 0; -}; - -using RestoreTaskPtr = std::unique_ptr; -using RestoreTasks = std::vector; - -} diff --git a/src/Backups/RestoreCoordinationDistributed.cpp b/src/Backups/RestoreCoordinationDistributed.cpp deleted file mode 100644 index 8b1360aa744..00000000000 --- a/src/Backups/RestoreCoordinationDistributed.cpp +++ /dev/null @@ -1,370 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace DB -{ - -namespace ErrorCodes -{ - extern const int FAILED_TO_SYNC_BACKUP_OR_RESTORE; -} - -namespace -{ - struct ReplicatedTableDataPath - { - String host_id; - DatabaseAndTableName table_name; - String data_path_in_backup; - - String serialize() const - { - WriteBufferFromOwnString out; - writeBinary(host_id, out); - writeBinary(table_name.first, out); - writeBinary(table_name.second, out); - writeBinary(data_path_in_backup, out); - return out.str(); - } - - static ReplicatedTableDataPath deserialize(const String & str) - { - ReadBufferFromString in{str}; - ReplicatedTableDataPath res; - readBinary(res.host_id, in); - readBinary(res.table_name.first, in); - readBinary(res.table_name.second, in); - readBinary(res.data_path_in_backup, in); - return res; - } - }; -} - - -class RestoreCoordinationDistributed::ReplicatedDatabasesMetadataSync -{ -public: - ReplicatedDatabasesMetadataSync(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_) - : zookeeper_path(zookeeper_path_), get_zookeeper(get_zookeeper_), log(&Poco::Logger::get("RestoreCoordination")) - { - createRootNodes(); - } - - /// Starts creating a table in a replicated database. Returns false if there is another host which is already creating this table. - bool startCreatingTable( - const String & host_id_, const String & database_name_, const String & database_zk_path_, const String & table_name_) - { - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/" + escapeForFileName(database_zk_path_); - zookeeper->createIfNotExists(path, ""); - - TableStatus status; - status.host_id = host_id_; - status.table_name = DatabaseAndTableName{database_name_, table_name_}; - - path += "/" + escapeForFileName(table_name_); - auto code = zookeeper->tryCreate(path, status.serialize(), zkutil::CreateMode::Persistent); - if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) - throw zkutil::KeeperException(code, path); - - return (code == Coordination::Error::ZOK); - } - - /// Sets that either we have been created a table in a replicated database or failed doing that. - /// In the latter case `error_message` should be set. - /// Calling this function unblocks other hosts waiting for this table to be created (see waitForCreatingTableInReplicatedDB()). - void finishCreatingTable( - const String & /* host_id_ */, - const String & database_name_, - const String & database_zk_path_, - const String & table_name_, - const String & error_message_) - { - if (error_message_.empty()) - LOG_TRACE(log, "Created table {}.{}", database_name_, table_name_); - else - LOG_TRACE(log, "Failed to created table {}.{}: {}", database_name_, table_name_, error_message_); - - auto zookeeper = get_zookeeper(); - String path = zookeeper_path + "/" + escapeForFileName(database_zk_path_) + "/" + escapeForFileName(table_name_); - - auto status = TableStatus::deserialize(zookeeper->get(path)); - - status.error_message = error_message_; - status.ready = error_message_.empty(); - - zookeeper->set(path, status.serialize()); - } - - /// Wait for another host to create a table in a replicated database. - void waitForTableCreated( - const String & /* database_name_ */, const String & database_zk_path_, const String & table_name_, std::chrono::seconds timeout_) - { - auto zookeeper = get_zookeeper(); - String path = zookeeper_path + "/" + escapeForFileName(database_zk_path_) + "/" + escapeForFileName(table_name_); - - TableStatus status; - - std::atomic watch_set = false; - std::condition_variable watch_triggered_event; - - auto watch_callback = [&](const Coordination::WatchResponse &) - { - watch_set = false; /// After it's triggered it's not set until we call getChildrenWatch() again. - watch_triggered_event.notify_all(); - }; - - auto watch_triggered = [&] { return !watch_set; }; - - bool use_timeout = (timeout_.count() >= 0); - std::chrono::steady_clock::duration time_left = timeout_; - std::mutex dummy_mutex; - - while (true) - { - if (use_timeout && (time_left.count() <= 0)) - { - status = TableStatus::deserialize(zookeeper->get(path)); - break; - } - - watch_set = true; - status = TableStatus::deserialize(zookeeper->getWatch(path, nullptr, watch_callback)); - - if (!status.error_message.empty() || status.ready) - break; - - LOG_TRACE(log, "Waiting for host {} to create table {}.{}", status.host_id, status.table_name.first, status.table_name.second); - - { - std::unique_lock dummy_lock{dummy_mutex}; - if (use_timeout) - { - std::chrono::steady_clock::time_point start_time = std::chrono::steady_clock::now(); - if (!watch_triggered_event.wait_for(dummy_lock, time_left, watch_triggered)) - break; - time_left -= (std::chrono::steady_clock::now() - start_time); - } - else - watch_triggered_event.wait(dummy_lock, watch_triggered); - } - } - - if (watch_set) - { - /// Remove watch by triggering it. - ++status.increment; - zookeeper->set(path, status.serialize()); - std::unique_lock dummy_lock{dummy_mutex}; - watch_triggered_event.wait_for(dummy_lock, timeout_, watch_triggered); - } - - if (!status.error_message.empty()) - throw Exception( - ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, - "Host {} failed to create table {}.{}: {}", status.host_id, status.table_name.first, status.table_name.second, status.error_message); - - if (status.ready) - { - LOG_TRACE(log, "Host {} created table {}.{}", status.host_id, status.table_name.first, status.table_name.second); - return; - } - - throw Exception( - ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, - "Host {} was unable to create table {}.{} in {}", - status.host_id, - status.table_name.first, - table_name_, - to_string(timeout_)); - } - -private: - void createRootNodes() - { - auto zookeeper = get_zookeeper(); - zookeeper->createAncestors(zookeeper_path); - zookeeper->createIfNotExists(zookeeper_path, ""); - } - - struct TableStatus - { - String host_id; - DatabaseAndTableName table_name; - bool ready = false; - String error_message; - size_t increment = 0; - - String serialize() const - { - WriteBufferFromOwnString out; - writeBinary(host_id, out); - writeBinary(table_name.first, out); - writeBinary(table_name.second, out); - writeBinary(ready, out); - writeBinary(error_message, out); - writeBinary(increment, out); - return out.str(); - } - - static TableStatus deserialize(const String & str) - { - ReadBufferFromString in{str}; - TableStatus res; - readBinary(res.host_id, in); - readBinary(res.table_name.first, in); - readBinary(res.table_name.second, in); - readBinary(res.ready, in); - readBinary(res.error_message, in); - readBinary(res.increment, in); - return res; - } - }; - - const String zookeeper_path; - const zkutil::GetZooKeeper get_zookeeper; - const Poco::Logger * log; -}; - - -RestoreCoordinationDistributed::RestoreCoordinationDistributed(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_) - : zookeeper_path(zookeeper_path_) - , get_zookeeper(get_zookeeper_) - , replicated_databases_metadata_sync( - std::make_unique(zookeeper_path_ + "/repl_databases_metadata", get_zookeeper_)) - , all_metadata_barrier(zookeeper_path_ + "/all_metadata", get_zookeeper_, "RestoreCoordination", "restoring metadata") -{ - createRootNodes(); -} - -RestoreCoordinationDistributed::~RestoreCoordinationDistributed() = default; - -void RestoreCoordinationDistributed::createRootNodes() -{ - auto zookeeper = get_zookeeper(); - zookeeper->createAncestors(zookeeper_path); - zookeeper->createIfNotExists(zookeeper_path, ""); - zookeeper->createIfNotExists(zookeeper_path + "/repl_tables_paths", ""); - zookeeper->createIfNotExists(zookeeper_path + "/repl_tables_partitions", ""); -} - -void RestoreCoordinationDistributed::removeAllNodes() -{ - auto zookeeper = get_zookeeper(); - zookeeper->removeRecursive(zookeeper_path); -} - -bool RestoreCoordinationDistributed::startCreatingTableInReplicatedDB( - const String & host_id, const String & database_name, const String & database_zk_path, const String & table_name) -{ - return replicated_databases_metadata_sync->startCreatingTable(host_id, database_name, database_zk_path, table_name); -} - -/// Ends creating table in a replicated database, successfully or with an error. -/// In the latter case `error_message` should be set. -void RestoreCoordinationDistributed::finishCreatingTableInReplicatedDB( - const String & host_id, - const String & database_name, - const String & database_zk_path, - const String & table_name, - const String & error_message) -{ - return replicated_databases_metadata_sync->finishCreatingTable(host_id, database_name, database_zk_path, table_name, error_message); -} - -/// Wait for another host to create a table in a replicated database. -void RestoreCoordinationDistributed::waitForTableCreatedInReplicatedDB( - const String & database_name, const String & database_zk_path, const String & table_name, std::chrono::seconds timeout) -{ - return replicated_databases_metadata_sync->waitForTableCreated(database_name, database_zk_path, table_name, timeout); -} - -void RestoreCoordinationDistributed::finishRestoringMetadata(const String & host_id, const String & error_message) -{ - all_metadata_barrier.finish(host_id, error_message); -} - -void RestoreCoordinationDistributed::waitForAllHostsRestoredMetadata(const Strings & host_ids, std::chrono::seconds timeout) const -{ - all_metadata_barrier.waitForAllHostsToFinish(host_ids, timeout); -} - -void RestoreCoordinationDistributed::addReplicatedTableDataPath( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & data_path_in_backup) -{ - auto zookeeper = get_zookeeper(); - String path = zookeeper_path + "/repl_tables_paths/" + escapeForFileName(table_zk_path); - - ReplicatedTableDataPath new_info; - new_info.host_id = host_id; - new_info.table_name = table_name; - new_info.data_path_in_backup = data_path_in_backup; - String new_info_str = new_info.serialize(); - - auto code = zookeeper->tryCreate(path, new_info_str, zkutil::CreateMode::Persistent); - if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) - throw zkutil::KeeperException(code, path); - - while (code != Coordination::Error::ZOK) - { - Coordination::Stat stat; - ReplicatedTableDataPath cur_info = ReplicatedTableDataPath::deserialize(zookeeper->get(path, &stat)); - if ((cur_info.host_id < host_id) || ((cur_info.host_id == host_id) && (cur_info.table_name <= table_name))) - break; - code = zookeeper->trySet(path, new_info_str, stat.version); - if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZBADVERSION)) - throw zkutil::KeeperException(code, path); - } -} - -String RestoreCoordinationDistributed::getReplicatedTableDataPath(const String & table_zk_path_) const -{ - auto zookeeper = get_zookeeper(); - String path = zookeeper_path + "/repl_tables_paths/" + escapeForFileName(table_zk_path_); - auto info = ReplicatedTableDataPath::deserialize(zookeeper->get(path)); - return info.data_path_in_backup; -} - -bool RestoreCoordinationDistributed::startInsertingDataToPartitionInReplicatedTable( - const String & host_id_, - const DatabaseAndTableName & table_name_, - const String & table_zk_path_, - const String & partition_name_) -{ - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/repl_tables_partitions/" + escapeForFileName(table_zk_path_); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(partition_name_); - String new_info = host_id_ + "|" + table_name_.first + "|" + table_name_.second; - - auto code = zookeeper->tryCreate(path, new_info, zkutil::CreateMode::Persistent); - if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) - throw zkutil::KeeperException(code, path); - - if (code == Coordination::Error::ZOK) - return true; - - return zookeeper->get(path) == new_info; -} - -void RestoreCoordinationDistributed::drop() -{ - removeAllNodes(); -} - -} diff --git a/src/Backups/RestoreCoordinationDistributed.h b/src/Backups/RestoreCoordinationDistributed.h deleted file mode 100644 index 689f3456945..00000000000 --- a/src/Backups/RestoreCoordinationDistributed.h +++ /dev/null @@ -1,78 +0,0 @@ -#pragma once - -#include -#include -#include - - -namespace DB -{ - -/// Stores restore temporary information in Zookeeper, used to perform RESTORE ON CLUSTER. -class RestoreCoordinationDistributed : public IRestoreCoordination -{ -public: - RestoreCoordinationDistributed(const String & zookeeper_path, zkutil::GetZooKeeper get_zookeeper); - ~RestoreCoordinationDistributed() override; - - /// Starts creating a table in a replicated database. Returns false if there is another host which is already creating this table. - bool startCreatingTableInReplicatedDB( - const String & host_id, const String & database_name, const String & database_zk_path, const String & table_name) override; - - /// Sets that either we have been created a table in a replicated database or failed doing that. - /// In the latter case `error_message` should be set. - /// Calling this function unblocks other hosts waiting for this table to be created (see waitForCreatingTableInReplicatedDB()). - void finishCreatingTableInReplicatedDB( - const String & host_id, - const String & database_name, - const String & database_zk_path, - const String & table_name, - const String & error_message) override; - - /// Wait for another host to create a table in a replicated database. - void waitForTableCreatedInReplicatedDB( - const String & database_name, const String & database_zk_path, const String & table_name, std::chrono::seconds timeout) override; - - /// Sets path in backup used by a replicated table. - /// This function can be called multiple times for the same table with different `host_id`, and in that case - /// getReplicatedTableDataPath() will choose `data_path_in_backup` with the lexicographycally first `host_id`. - void addReplicatedTableDataPath( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & data_path_in_backup) override; - - /// Sets that a specified host has finished restoring metadata, successfully or with an error. - /// In the latter case `error_message` should be set. - void finishRestoringMetadata(const String & host_id, const String & error_message) override; - - /// Waits for all hosts to finish restoring their metadata (i.e. to finish creating databases and tables). Returns false if time is out. - void waitForAllHostsRestoredMetadata(const Strings & host_ids, std::chrono::seconds timeout) const override; - - /// Gets path in backup used by a replicated table. - String getReplicatedTableDataPath(const String & table_zk_path) const override; - - /// Sets that this replica is going to restore a partition in a replicated table. - /// The function returns false if this partition is being already restored by another replica. - bool startInsertingDataToPartitionInReplicatedTable( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & partition_name) override; - - /// Removes remotely stored information. - void drop() override; - -private: - void createRootNodes(); - void removeAllNodes(); - - class ReplicatedDatabasesMetadataSync; - - const String zookeeper_path; - const zkutil::GetZooKeeper get_zookeeper; - std::unique_ptr replicated_databases_metadata_sync; - BackupCoordinationDistributedBarrier all_metadata_barrier; -}; - -} diff --git a/src/Backups/RestoreCoordinationLocal.cpp b/src/Backups/RestoreCoordinationLocal.cpp index a0f61ca3a23..b2a9849c38d 100644 --- a/src/Backups/RestoreCoordinationLocal.cpp +++ b/src/Backups/RestoreCoordinationLocal.cpp @@ -1,107 +1,45 @@ #include -#include -#include -#include -#include namespace DB { -namespace ErrorCodes -{ - extern const int LOGICAL_ERROR; -} - - -RestoreCoordinationLocal::RestoreCoordinationLocal() - : log(&Poco::Logger::get("RestoreCoordination")) -{} - +RestoreCoordinationLocal::RestoreCoordinationLocal() = default; RestoreCoordinationLocal::~RestoreCoordinationLocal() = default; -bool RestoreCoordinationLocal::startCreatingTableInReplicatedDB( - const String & /* host_id */, - const String & /* database_name */, - const String & /* database_zk_path */, - const String & /* table_name */) +void RestoreCoordinationLocal::setStage(const String &, const String &, const String &) +{ +} + +void RestoreCoordinationLocal::setError(const String &, const Exception &) +{ +} + +Strings RestoreCoordinationLocal::waitForStage(const Strings &, const String &) +{ + return {}; +} + +Strings RestoreCoordinationLocal::waitForStage(const Strings &, const String &, std::chrono::milliseconds) +{ + return {}; +} + +bool RestoreCoordinationLocal::acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) +{ + std::lock_guard lock{mutex}; + return acquired_tables_in_replicated_databases.emplace(std::pair{database_zk_path, table_name}).second; +} + +bool RestoreCoordinationLocal::acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) +{ + std::lock_guard lock{mutex}; + return acquired_data_in_replicated_tables.emplace(table_zk_path).second; +} + +bool RestoreCoordinationLocal::acquireReplicatedAccessStorage(const String &) { return true; } -void RestoreCoordinationLocal::finishCreatingTableInReplicatedDB( - const String & /* host_id */, - const String & database_name, - const String & /* database_zk_path */, - const String & table_name, - const String & error_message) -{ - if (error_message.empty()) - LOG_TRACE(log, "Created table {}.{}", database_name, table_name); - else - LOG_TRACE(log, "Failed to created table {}.{}: {}", database_name, table_name, error_message); -} - -/// Wait for another host to create a table in a replicated database. -void RestoreCoordinationLocal::waitForTableCreatedInReplicatedDB( - const String & /* database_name */, - const String & /* database_zk_path */, - const String & /* table_name */, - std::chrono::seconds /* timeout */) -{ -} - -void RestoreCoordinationLocal::finishRestoringMetadata(const String & /* host_id */, const String & error_message) -{ - LOG_TRACE(log, "Finished restoring metadata{}", (error_message.empty() ? "" : (" with error " + error_message))); -} - -void RestoreCoordinationLocal::waitForAllHostsRestoredMetadata(const Strings & /* host_ids */, std::chrono::seconds /* timeout */) const -{ -} - -void RestoreCoordinationLocal::addReplicatedTableDataPath(const String & /* host_id */, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & data_path_in_backup) -{ - std::lock_guard lock{mutex}; - auto it = replicated_tables_data_paths.find(table_zk_path); - if (it == replicated_tables_data_paths.end()) - { - ReplicatedTableDataPath new_info; - new_info.table_name = table_name; - new_info.data_path_in_backup = data_path_in_backup; - replicated_tables_data_paths.emplace(table_zk_path, std::move(new_info)); - return; - } - else - { - auto & cur_info = it->second; - if (table_name < cur_info.table_name) - { - cur_info.table_name = table_name; - cur_info.data_path_in_backup = data_path_in_backup; - } - } -} - -String RestoreCoordinationLocal::getReplicatedTableDataPath(const String & table_zk_path) const -{ - std::lock_guard lock{mutex}; - auto it = replicated_tables_data_paths.find(table_zk_path); - if (it == replicated_tables_data_paths.end()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Replicated data path is not set for zk_path={}", table_zk_path); - return it->second.data_path_in_backup; -} - -bool RestoreCoordinationLocal::startInsertingDataToPartitionInReplicatedTable( - const String & /* host_id */, const DatabaseAndTableName & table_name, const String & table_zk_path, const String & partition_name) -{ - std::lock_guard lock{mutex}; - auto key = std::pair{table_zk_path, partition_name}; - auto it = replicated_tables_partitions.try_emplace(std::move(key), table_name).first; - return it->second == table_name; -} - } diff --git a/src/Backups/RestoreCoordinationLocal.h b/src/Backups/RestoreCoordinationLocal.h index a74617f3b60..b4e70d83b72 100644 --- a/src/Backups/RestoreCoordinationLocal.h +++ b/src/Backups/RestoreCoordinationLocal.h @@ -1,10 +1,9 @@ #pragma once #include -#include -#include #include -#include +#include +#include namespace Poco { class Logger; } @@ -12,70 +11,34 @@ namespace Poco { class Logger; } namespace DB { +/// Implementation of the IRestoreCoordination interface performing coordination in memory. class RestoreCoordinationLocal : public IRestoreCoordination { public: RestoreCoordinationLocal(); ~RestoreCoordinationLocal() override; + /// Sets the current stage and waits for other hosts to come to this stage too. + void setStage(const String & current_host, const String & new_stage, const String & message) override; + void setError(const String & current_host, const Exception & exception) override; + Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait) override; + Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout) override; + /// Starts creating a table in a replicated database. Returns false if there is another host which is already creating this table. - bool startCreatingTableInReplicatedDB( - const String & host_id, const String & database_name, const String & database_zk_path, const String & table_name) override; - - /// Sets that either we have been created a table in a replicated database or failed doing that. - /// In the latter case `error_message` should be set. - /// Calling this function unblocks other hosts waiting for this table to be created (see waitForCreatingTableInReplicatedDB()). - void finishCreatingTableInReplicatedDB( - const String & host_id, - const String & database_name, - const String & database_zk_path, - const String & table_name, - const String & error_message) override; - - /// Wait for another host to create a table in a replicated database. - void waitForTableCreatedInReplicatedDB( - const String & database_name, const String & database_zk_path, const String & table_name, std::chrono::seconds timeout) override; - - /// Sets path in backup used by a replicated table. - /// This function can be called multiple times for the same table with different `host_id`, and in that case - /// getReplicatedTableDataPath() will choose `data_path_in_backup` with the lexicographycally first `host_id`. - void addReplicatedTableDataPath( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & data_path_in_backup) override; - - /// Sets that a specified host has finished restoring metadata, successfully or with an error. - /// In the latter case `error_message` should be set. - void finishRestoringMetadata(const String & host_id, const String & error_message) override; - - /// Waits for all hosts to finish restoring their metadata (i.e. to finish creating databases and tables). Returns false if time is out. - void waitForAllHostsRestoredMetadata(const Strings & host_ids, std::chrono::seconds timeout) const override; - - /// Gets path in backup used by a replicated table. - String getReplicatedTableDataPath(const String & table_zk_path) const override; + bool acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) override; /// Sets that this replica is going to restore a partition in a replicated table. /// The function returns false if this partition is being already restored by another replica. - bool startInsertingDataToPartitionInReplicatedTable( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & partition_name) override; + bool acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) override; + + /// Sets that this replica is going to restore a ReplicatedAccessStorage. + /// The function returns false if this access storage is being already restored by another replica. + bool acquireReplicatedAccessStorage(const String & access_storage_zk_path) override; private: - struct ReplicatedTableDataPath - { - DatabaseAndTableName table_name; - String data_path_in_backup; - }; - - std::unordered_map replicated_tables_data_paths; - - std::map, DatabaseAndTableName> replicated_tables_partitions; - + std::set> acquired_tables_in_replicated_databases; + std::unordered_set acquired_data_in_replicated_tables; mutable std::mutex mutex; - const Poco::Logger * log; }; } diff --git a/src/Backups/RestoreCoordinationRemote.cpp b/src/Backups/RestoreCoordinationRemote.cpp new file mode 100644 index 00000000000..89a9950aad2 --- /dev/null +++ b/src/Backups/RestoreCoordinationRemote.cpp @@ -0,0 +1,132 @@ +#include +#include +#include + + +namespace DB +{ + +RestoreCoordinationRemote::RestoreCoordinationRemote( + const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, bool remove_zk_nodes_in_destructor_) + : zookeeper_path(zookeeper_path_) + , get_zookeeper(get_zookeeper_) + , remove_zk_nodes_in_destructor(remove_zk_nodes_in_destructor_) +{ + createRootNodes(); + + stage_sync.emplace( + zookeeper_path_ + "/stage", [this] { return getZooKeeper(); }, &Poco::Logger::get("RestoreCoordination")); +} + +RestoreCoordinationRemote::~RestoreCoordinationRemote() +{ + try + { + if (remove_zk_nodes_in_destructor) + removeAllNodes(); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__); + } +} + +zkutil::ZooKeeperPtr RestoreCoordinationRemote::getZooKeeper() const +{ + std::lock_guard lock{mutex}; + if (!zookeeper || zookeeper->expired()) + { + zookeeper = get_zookeeper(); + + /// It's possible that we connected to different [Zoo]Keeper instance + /// so we may read a bit stale state. + zookeeper->sync(zookeeper_path); + } + return zookeeper; +} + +void RestoreCoordinationRemote::createRootNodes() +{ + auto zk = getZooKeeper(); + zk->createAncestors(zookeeper_path); + zk->createIfNotExists(zookeeper_path, ""); + zk->createIfNotExists(zookeeper_path + "/repl_databases_tables_acquired", ""); + zk->createIfNotExists(zookeeper_path + "/repl_tables_data_acquired", ""); + zk->createIfNotExists(zookeeper_path + "/repl_access_storages_acquired", ""); +} + + +void RestoreCoordinationRemote::setStage(const String & current_host, const String & new_stage, const String & message) +{ + stage_sync->set(current_host, new_stage, message); +} + +void RestoreCoordinationRemote::setError(const String & current_host, const Exception & exception) +{ + stage_sync->setError(current_host, exception); +} + +Strings RestoreCoordinationRemote::waitForStage(const Strings & all_hosts, const String & stage_to_wait) +{ + return stage_sync->wait(all_hosts, stage_to_wait); +} + +Strings RestoreCoordinationRemote::waitForStage(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout) +{ + return stage_sync->waitFor(all_hosts, stage_to_wait, timeout); +} + + +bool RestoreCoordinationRemote::acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) +{ + auto zk = getZooKeeper(); + + String path = zookeeper_path + "/repl_databases_tables_acquired/" + escapeForFileName(database_zk_path); + zk->createIfNotExists(path, ""); + + path += "/" + escapeForFileName(table_name); + auto code = zk->tryCreate(path, "", zkutil::CreateMode::Persistent); + if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) + throw zkutil::KeeperException(code, path); + + return (code == Coordination::Error::ZOK); +} + +bool RestoreCoordinationRemote::acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) +{ + auto zk = getZooKeeper(); + + String path = zookeeper_path + "/repl_tables_data_acquired/" + escapeForFileName(table_zk_path); + auto code = zk->tryCreate(path, "", zkutil::CreateMode::Persistent); + if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) + throw zkutil::KeeperException(code, path); + + return (code == Coordination::Error::ZOK); +} + +bool RestoreCoordinationRemote::acquireReplicatedAccessStorage(const String & access_storage_zk_path) +{ + auto zk = getZooKeeper(); + + String path = zookeeper_path + "/repl_access_storages_acquired/" + escapeForFileName(access_storage_zk_path); + auto code = zk->tryCreate(path, "", zkutil::CreateMode::Persistent); + if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) + throw zkutil::KeeperException(code, path); + + return (code == Coordination::Error::ZOK); +} + +void RestoreCoordinationRemote::removeAllNodes() +{ + /// Usually this function is called by the initiator when a restore operation is complete so we don't need the coordination anymore. + /// + /// However there can be a rare situation when this function is called after an error occurs on the initiator of a query + /// while some hosts are still restoring something. Removing all the nodes will remove the parent node of the restore coordination + /// at `zookeeper_path` which might cause such hosts to stop with exception "ZNONODE". Or such hosts might still do some part + /// of their restore work before that. + + auto zk = getZooKeeper(); + zk->removeRecursive(zookeeper_path); +} + +} diff --git a/src/Backups/RestoreCoordinationRemote.h b/src/Backups/RestoreCoordinationRemote.h new file mode 100644 index 00000000000..83760a2d883 --- /dev/null +++ b/src/Backups/RestoreCoordinationRemote.h @@ -0,0 +1,51 @@ +#pragma once + +#include +#include + + +namespace DB +{ + +/// Implementation of the IRestoreCoordination interface performing coordination via ZooKeeper. It's necessary for "RESTORE ON CLUSTER". +class RestoreCoordinationRemote : public IRestoreCoordination +{ +public: + RestoreCoordinationRemote(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, bool remove_zk_nodes_in_destructor_); + ~RestoreCoordinationRemote() override; + + /// Sets the current stage and waits for other hosts to come to this stage too. + void setStage(const String & current_host, const String & new_stage, const String & message) override; + void setError(const String & current_host, const Exception & exception) override; + Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait) override; + Strings waitForStage(const Strings & all_hosts, const String & stage_to_wait, std::chrono::milliseconds timeout) override; + + /// Starts creating a table in a replicated database. Returns false if there is another host which is already creating this table. + bool acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) override; + + /// Sets that this replica is going to restore a partition in a replicated table. + /// The function returns false if this partition is being already restored by another replica. + bool acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) override; + + /// Sets that this replica is going to restore a ReplicatedAccessStorage. + /// The function returns false if this access storage is being already restored by another replica. + bool acquireReplicatedAccessStorage(const String & access_storage_zk_path) override; + +private: + zkutil::ZooKeeperPtr getZooKeeper() const; + void createRootNodes(); + void removeAllNodes(); + + class ReplicatedDatabasesMetadataSync; + + const String zookeeper_path; + const zkutil::GetZooKeeper get_zookeeper; + const bool remove_zk_nodes_in_destructor; + + std::optional stage_sync; + + mutable std::mutex mutex; + mutable zkutil::ZooKeeperPtr zookeeper; +}; + +} diff --git a/src/Backups/RestoreSettings.cpp b/src/Backups/RestoreSettings.cpp index 486edc6344c..63915670fa4 100644 --- a/src/Backups/RestoreSettings.cpp +++ b/src/Backups/RestoreSettings.cpp @@ -29,22 +29,43 @@ namespace if (field.getType() == Field::Types::String) { const String & str = field.get(); - if (str == "1" || boost::iequals(str, "true")) + if (str == "1" || boost::iequals(str, "true") || boost::iequals(str, "create")) + { value = RestoreTableCreationMode::kCreate; - else if (str == "0" || boost::iequals(str, "false")) + return; + } + + if (str == "0" || boost::iequals(str, "false") || boost::iequals(str, "must exist") || boost::iequals(str, "must-exist")) + { value = RestoreTableCreationMode::kMustExist; - else if (boost::iequals(str, "if not exists")) + return; + } + + if (boost::iequals(str, "if not exists") || boost::iequals(str, "if-not-exists") + || boost::iequals(str, "create if not exists") || boost::iequals(str, "create-if-not-exists")) + { value = RestoreTableCreationMode::kCreateIfNotExists; - else throw Exception("Cannot parse creation mode from string '" + str + "'", - ErrorCodes::CANNOT_PARSE_BACKUP_SETTINGS); + return; + } } - else + + if (field.getType() == Field::Types::UInt64) { - if (applyVisitor(FieldVisitorConvertToNumber(), field)) + UInt64 number = field.get(); + if (number == 1) + { value = RestoreTableCreationMode::kCreate; - else + return; + } + + if (number == 0) + { value = RestoreTableCreationMode::kMustExist; + return; + } } + + throw Exception(ErrorCodes::CANNOT_PARSE_BACKUP_SETTINGS, "Cannot parse creation mode from {}", field); } explicit operator Field() const @@ -53,17 +74,76 @@ namespace { case RestoreTableCreationMode::kCreate: return Field{true}; case RestoreTableCreationMode::kMustExist: return Field{false}; - case RestoreTableCreationMode::kCreateIfNotExists: return Field{"if not exists"}; + case RestoreTableCreationMode::kCreateIfNotExists: return Field{"if-not-exists"}; } throw Exception(ErrorCodes::LOGICAL_ERROR, "Unexpected value of enum RestoreTableCreationMode: {}", static_cast(value)); } }; using SettingFieldRestoreDatabaseCreationMode = SettingFieldRestoreTableCreationMode; + + struct SettingFieldRestoreAccessCreationMode + { + RestoreAccessCreationMode value; + + explicit SettingFieldRestoreAccessCreationMode(RestoreAccessCreationMode value_) : value(value_) {} + + explicit SettingFieldRestoreAccessCreationMode(const Field & field) + { + if (field.getType() == Field::Types::String) + { + const String & str = field.get(); + if (str == "1" || boost::iequals(str, "true") || boost::iequals(str, "create")) + { + value = RestoreAccessCreationMode::kCreate; + return; + } + + if (boost::iequals(str, "if not exists") || boost::iequals(str, "if-not-exists") + || boost::iequals(str, "create if not exists") || boost::iequals(str, "create-if-not-exists")) + { + value = RestoreAccessCreationMode::kCreateIfNotExists; + return; + } + + if (boost::iequals(str, "replace") || boost::iequals(str, "create or replace") || boost::iequals(str, "create-or-replace")) + { + value = RestoreAccessCreationMode::kReplace; + return; + } + } + + if (field.getType() == Field::Types::UInt64) + { + UInt64 number = field.get(); + if (number == 1) + { + value = RestoreAccessCreationMode::kCreate; + return; + } + } + + throw Exception(ErrorCodes::CANNOT_PARSE_BACKUP_SETTINGS, "Cannot parse creation mode from {}", field); + } + + explicit operator Field() const + { + switch (value) + { + case RestoreAccessCreationMode::kCreate: return Field{true}; + case RestoreAccessCreationMode::kCreateIfNotExists: return Field{"if-not-exists"}; + case RestoreAccessCreationMode::kReplace: return Field{"replace"}; + } + throw Exception(ErrorCodes::LOGICAL_ERROR, "Unexpected value of enum RestoreAccessCreationMode: {}", static_cast(value)); + } + }; + + using SettingFieldRestoreUDFCreationMode = SettingFieldRestoreAccessCreationMode; } /// List of restore settings except base_backup_name and cluster_host_ids. #define LIST_OF_RESTORE_SETTINGS(M) \ + M(String, id) \ M(String, password) \ M(Bool, structure_only) \ M(RestoreTableCreationMode, create_table) \ @@ -76,6 +156,9 @@ namespace M(UInt64, shard_num_in_backup) \ M(UInt64, replica_num_in_backup) \ M(Bool, allow_non_empty_tables) \ + M(RestoreAccessCreationMode, create_access) \ + M(Bool, allow_unresolved_access_dependencies) \ + M(RestoreUDFCreationMode, create_function) \ M(Bool, internal) \ M(String, host_id) \ M(String, coordination_zk_path) diff --git a/src/Backups/RestoreSettings.h b/src/Backups/RestoreSettings.h index 602d75cc283..713adbe8029 100644 --- a/src/Backups/RestoreSettings.h +++ b/src/Backups/RestoreSettings.h @@ -8,13 +8,6 @@ namespace DB { class ASTBackupQuery; -struct StorageRestoreSettings -{ - /// Internal, should not be specified by user. - /// The current host's ID in the format 'escaped_host_name:port'. - String host_id; -}; - /// How the RESTORE command will handle table/database existence. enum class RestoreTableCreationMode { @@ -30,9 +23,27 @@ enum class RestoreTableCreationMode using RestoreDatabaseCreationMode = RestoreTableCreationMode; -/// Settings specified in the "SETTINGS" clause of a RESTORE query. -struct RestoreSettings : public StorageRestoreSettings +/// How the RESTORE command will handle if an user (or role or profile) which it's going to restore already exists. +enum class RestoreAccessCreationMode { + /// RESTORE will throw an exception if some user already exists. + kCreate, + + /// RESTORE will skip existing users. + kCreateIfNotExists, + + /// RESTORE will replace existing users with definitions from backup. + kReplace, +}; + +using RestoreUDFCreationMode = RestoreAccessCreationMode; + +/// Settings specified in the "SETTINGS" clause of a RESTORE query. +struct RestoreSettings +{ + /// ID of the restore operation, to identify it in the system.backups table. Auto-generated if not set. + String id; + /// Base backup, with this setting we can override the location of the base backup while restoring. /// Any incremental backup keeps inside the information about its base backup, so using this setting is optional. std::optional base_backup_info; @@ -86,9 +97,23 @@ struct RestoreSettings : public StorageRestoreSettings /// Setting "allow_non_empty_tables=true" thus can cause data duplication in the table, use with caution. bool allow_non_empty_tables = false; + /// How the RESTORE command will handle if an user (or role or profile) which it's going to restore already exists. + RestoreAccessCreationMode create_access = RestoreAccessCreationMode::kCreateIfNotExists; + + /// Skip dependencies of access entities which can't be resolved. + /// For example, if an user has a profile assigned and that profile is not in the backup and doesn't exist locally. + bool allow_unresolved_access_dependencies = false; + + /// How the RESTORE command will handle if a user-defined function which it's going to restore already exists. + RestoreUDFCreationMode create_function = RestoreUDFCreationMode::kCreateIfNotExists; + /// Internal, should not be specified by user. bool internal = false; + /// Internal, should not be specified by user. + /// The current host's ID in the format 'escaped_host_name:port'. + String host_id; + /// Internal, should not be specified by user. /// Cluster's hosts' IDs in the format 'escaped_host_name:port' for all shards and replicas in a cluster specified in BACKUP ON CLUSTER. std::vector cluster_host_ids; diff --git a/src/Backups/RestoreUtils.cpp b/src/Backups/RestoreUtils.cpp deleted file mode 100644 index 84bd8da753c..00000000000 --- a/src/Backups/RestoreUtils.cpp +++ /dev/null @@ -1,1008 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace DB -{ -namespace ErrorCodes -{ - extern const int CANNOT_RESTORE_TABLE; - extern const int CANNOT_RESTORE_DATABASE; - extern const int BACKUP_ENTRY_NOT_FOUND; -} - -namespace -{ - class PathsInBackup - { - public: - explicit PathsInBackup(const IBackup & backup_) : backup(backup_) { } - - std::vector getShards() const - { - std::vector res; - for (const String & shard_index : backup.listFiles("shards/")) - res.push_back(parse(shard_index)); - if (res.empty()) - res.push_back(1); - return res; - } - - std::vector getReplicas(size_t shard_index) const - { - std::vector res; - for (const String & replica_index : backup.listFiles(fmt::format("shards/{}/replicas/", shard_index))) - res.push_back(parse(replica_index)); - if (res.empty()) - res.push_back(1); - return res; - } - - std::vector getDatabases(size_t shard_index, size_t replica_index) const - { - std::vector res; - - insertAtEnd(res, backup.listFiles(fmt::format("shards/{}/replicas/{}/metadata/", shard_index, replica_index))); - insertAtEnd(res, backup.listFiles(fmt::format("shards/{}/metadata/", shard_index))); - insertAtEnd(res, backup.listFiles(fmt::format("metadata/"))); - - boost::range::remove_erase_if( - res, - [](String & str) - { - if (str.ends_with(".sql")) - { - str.resize(str.length() - strlen(".sql")); - str = unescapeForFileName(str); - return false; - } - return true; - }); - - std::sort(res.begin(), res.end()); - res.erase(std::unique(res.begin(), res.end()), res.end()); - return res; - } - - std::vector getTables(const String & database_name, size_t shard_index, size_t replica_index) const - { - std::vector res; - - String escaped_database_name = escapeForFileName(database_name); - insertAtEnd( - res, - backup.listFiles(fmt::format("shards/{}/replicas/{}/metadata/{}/", shard_index, replica_index, escaped_database_name))); - insertAtEnd(res, backup.listFiles(fmt::format("shards/{}/metadata/{}/", shard_index, escaped_database_name))); - insertAtEnd(res, backup.listFiles(fmt::format("metadata/{}/", escaped_database_name))); - - boost::range::remove_erase_if( - res, - [](String & str) - { - if (str.ends_with(".sql")) - { - str.resize(str.length() - strlen(".sql")); - str = unescapeForFileName(str); - return false; - } - return true; - }); - - std::sort(res.begin(), res.end()); - res.erase(std::unique(res.begin(), res.end()), res.end()); - return res; - } - - /// Returns the path to metadata in backup. - String getMetadataPath(const DatabaseAndTableName & table_name, size_t shard_index, size_t replica_index) const - { - String escaped_table_name = escapeForFileName(table_name.first) + "/" + escapeForFileName(table_name.second); - String path1 = fmt::format("shards/{}/replicas/{}/metadata/{}.sql", shard_index, replica_index, escaped_table_name); - if (backup.fileExists(path1)) - return path1; - String path2 = fmt::format("shards/{}/metadata/{}.sql", shard_index, escaped_table_name); - if (backup.fileExists(path2)) - return path2; - String path3 = fmt::format("metadata/{}.sql", escaped_table_name); - return path3; - } - - String getMetadataPath(const String & database_name, size_t shard_index, size_t replica_index) const - { - String escaped_database_name = escapeForFileName(database_name); - String path1 = fmt::format("shards/{}/replicas/{}/metadata/{}.sql", shard_index, replica_index, escaped_database_name); - if (backup.fileExists(path1)) - return path1; - String path2 = fmt::format("shards/{}/metadata/{}.sql", shard_index, escaped_database_name); - if (backup.fileExists(path2)) - return path2; - String path3 = fmt::format("metadata/{}.sql", escaped_database_name); - return path3; - } - - String getDataPath(const DatabaseAndTableName & table_name, size_t shard_index, size_t replica_index) const - { - String escaped_table_name = escapeForFileName(table_name.first) + "/" + escapeForFileName(table_name.second); - if (backup.fileExists(fmt::format("shards/{}/replicas/{}/metadata/{}.sql", shard_index, replica_index, escaped_table_name))) - return fmt::format("shards/{}/replicas/{}/data/{}/", shard_index, replica_index, escaped_table_name); - if (backup.fileExists(fmt::format("shards/{}/metadata/{}.sql", shard_index, escaped_table_name))) - return fmt::format("shards/{}/data/{}/", shard_index, escaped_table_name); - return fmt::format("data/{}/", escaped_table_name); - } - - private: - const IBackup & backup; - }; - - - using Kind = ASTBackupQuery::Kind; - using Element = ASTBackupQuery::Element; - using Elements = ASTBackupQuery::Elements; - using ElementType = ASTBackupQuery::ElementType; - using RestoreSettingsPtr = std::shared_ptr; - - - /// Restores a database (without tables inside), should be executed before executing - /// RestoreTableTask. - class RestoreDatabaseTask : public IRestoreTask - { - public: - RestoreDatabaseTask(ContextMutablePtr context_, const ASTPtr & create_query_, const RestoreSettingsPtr & restore_settings_) - : context(context_) - , create_query(typeid_cast>(create_query_)) - , restore_settings(restore_settings_) - { - } - - RestoreTasks run() override - { - createDatabase(); - getDatabase(); - checkDatabaseCreateQuery(); - return {}; - } - - RestoreKind getRestoreKind() const override { return RestoreKind::METADATA; } - - private: - void createDatabase() - { - if (restore_settings->create_database == RestoreDatabaseCreationMode::kMustExist) - return; - - auto cloned_create_query = typeid_cast>(create_query->clone()); - cloned_create_query->if_not_exists = (restore_settings->create_database == RestoreDatabaseCreationMode::kCreateIfNotExists); - InterpreterCreateQuery create_interpreter{cloned_create_query, context}; - create_interpreter.setInternal(true); - create_interpreter.execute(); - } - - DatabasePtr getDatabase() - { - if (!database) - database = DatabaseCatalog::instance().getDatabase(create_query->getDatabase()); - return database; - } - - ASTPtr getDatabaseCreateQuery() - { - if (!database_create_query) - database_create_query = getDatabase()->getCreateDatabaseQuery(); - return database_create_query; - } - - void checkDatabaseCreateQuery() - { - if (restore_settings->allow_different_database_def) - return; - - getDatabaseCreateQuery(); - if (areDatabaseDefinitionsSame(*create_query, *database_create_query)) - return; - - throw Exception( - ErrorCodes::CANNOT_RESTORE_DATABASE, - "The database {} already exists but has a different definition: {}, " - "compare to its definition in the backup: {}", - backQuoteIfNeed(create_query->getDatabase()), - serializeAST(*database_create_query), - serializeAST(*create_query)); - } - - ContextMutablePtr context; - std::shared_ptr create_query; - RestoreSettingsPtr restore_settings; - DatabasePtr database; - ASTPtr database_create_query; - }; - - - /// Restores a table. - class RestoreTableTask : public IRestoreTask - { - public: - RestoreTableTask( - ContextMutablePtr context_, - const ASTPtr & create_query_, - const ASTs & partitions_, - const BackupPtr & backup_, - const DatabaseAndTableName & table_name_in_backup_, - const RestoreSettingsPtr & restore_settings_, - const std::shared_ptr & restore_coordination_, - std::chrono::seconds timeout_for_restoring_metadata_) - : context(context_) - , create_query(typeid_cast>(create_query_)) - , partitions(partitions_) - , backup(backup_) - , table_name_in_backup(table_name_in_backup_) - , restore_settings(restore_settings_) - , restore_coordination(restore_coordination_) - , timeout_for_restoring_metadata(timeout_for_restoring_metadata_) - { - table_name = DatabaseAndTableName{create_query->getDatabase(), create_query->getTable()}; - if (create_query->temporary) - table_name.first = DatabaseCatalog::TEMPORARY_DATABASE; - } - - RestoreTasks run() override - { - getDatabase(); - createStorage(); - getStorage(); - checkStorageCreateQuery(); - checkTableIsEmpty(); - checkTableDataCompatible(); - return insertData(); - } - - RestoreKind getRestoreKind() const override { return RestoreKind::METADATA; } - - private: - void getDatabase() - { - database = DatabaseCatalog::instance().getDatabase(table_name.first); - replicated_database = typeid_cast>(database); - } - - void createStorage() - { - if (restore_settings->create_table == RestoreTableCreationMode::kMustExist) - return; - - auto cloned_create_query = typeid_cast>(create_query->clone()); - cloned_create_query->if_not_exists = (restore_settings->create_table == RestoreTableCreationMode::kCreateIfNotExists); - - /// We need a special processing for tables in replicated databases. - /// Because of the replication multiple nodes can try to restore the same tables again and failed with "Table already exists" - /// because of some table could be restored already on other node and then replicated to this node. - /// To solve this problem we use the restore coordination: the first node calls - /// IRestoreCoordination::startCreatingTableInReplicatedDB() and then for other nodes this function returns false which means - /// this table is already being created by some other node. - bool wait_instead_of_creating = false; - if (replicated_database) - wait_instead_of_creating = !restore_coordination->startCreatingTableInReplicatedDB( - restore_settings->host_id, table_name.first, replicated_database->getZooKeeperPath(), table_name.second); - - if (wait_instead_of_creating) - { - waitForReplicatedDatabaseToSyncTable(); - } - else - { - try - { - InterpreterCreateQuery create_interpreter{cloned_create_query, context}; - create_interpreter.setInternal(true); - create_interpreter.execute(); - } - catch (...) - { - if (replicated_database) - { - restore_coordination->finishCreatingTableInReplicatedDB( - restore_settings->host_id, - table_name.first, - replicated_database->getZooKeeperPath(), - table_name.second, - getCurrentExceptionMessage(false)); - } - throw; - } - - if (replicated_database) - restore_coordination->finishCreatingTableInReplicatedDB( - restore_settings->host_id, table_name.first, replicated_database->getZooKeeperPath(), table_name.second); - } - } - - void waitForReplicatedDatabaseToSyncTable() - { - if (!replicated_database) - return; - - restore_coordination->waitForTableCreatedInReplicatedDB( - table_name.first, replicated_database->getZooKeeperPath(), table_name.second); - - /// The table `table_name` was created on other host, must be in the replicated database's queue, - /// we have to wait until the replicated database syncs that. - bool replicated_database_synced = false; - auto start_time = std::chrono::steady_clock::now(); - bool use_timeout = (timeout_for_restoring_metadata.count() > 0); - while (!database->isTableExist(table_name.second, context)) - { - if (replicated_database_synced - || (use_timeout && (std::chrono::steady_clock::now() - start_time) >= timeout_for_restoring_metadata)) - { - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "Table {}.{} in the replicated database {} was not synced from another node in {}", - table_name.first, - table_name.second, - table_name.first, - to_string(timeout_for_restoring_metadata)); - } - replicated_database_synced = replicated_database->waitForReplicaToProcessAllEntries(50); - } - } - - void getStorage() - { - storage = database->getTable(table_name.second, context); - storage_create_query = database->getCreateTableQuery(table_name.second, context); - - if (!restore_settings->structure_only) - { - data_path_in_backup = PathsInBackup{*backup}.getDataPath( - table_name_in_backup, restore_settings->shard_num_in_backup, restore_settings->replica_num_in_backup); - has_data = !backup->listFiles(data_path_in_backup).empty(); - - const auto * replicated_table = typeid_cast(storage.get()); - if (replicated_table) - { - /// We need to be consistent when we're restoring replicated tables. - /// It's allowed for a backup to contain multiple replicas of the same replicated table, - /// and when we restore it we need to choose single data path in the backup to restore this table on each replica. - /// That's why we use the restore coordination here: on restoring metadata stage each replica sets its own - /// `data_path_in_backup` for same zookeeper path, and then the restore coordination choose one `data_path_in_backup` - /// to use for restoring data. - restore_coordination->addReplicatedTableDataPath( - restore_settings->host_id, - table_name_in_backup, - replicated_table->getZooKeeperName() + replicated_table->getZooKeeperPath(), - data_path_in_backup); - has_data = true; - } - } - } - - void checkStorageCreateQuery() - { - if (!restore_settings->allow_different_table_def && !areTableDefinitionsSame(*create_query, *storage_create_query)) - { - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "The {} already exists but has a different definition: {}, " - "compare to its definition in the backup: {}", - formatTableNameOrTemporaryTableName(table_name), - serializeAST(*storage_create_query), - serializeAST(*create_query)); - } - } - - void checkTableIsEmpty() - { - if (restore_settings->allow_non_empty_tables || restore_settings->structure_only || !has_data) - return; - - bool empty = true; - if (auto total_rows = storage->totalRows(context->getSettingsRef())) - empty = (*total_rows == 0); - else if (auto total_bytes = storage->totalBytes(context->getSettingsRef())) - empty = (*total_bytes == 0); - - if (empty) - { - /// If this is a replicated table new parts could be in its queue but not fetched yet. - /// In that case we consider the table as not empty. - if (auto * replicated_table = typeid_cast(storage.get())) - { - StorageReplicatedMergeTree::Status status; - replicated_table->getStatus(status, /* with_zk_fields = */ false); - - if (status.queue.inserts_in_queue) - { - empty = false; - } - else - { - /// Check total_rows again to be sure. - if (auto total_rows = storage->totalRows(context->getSettingsRef()); *total_rows != 0) - empty = false; - } - } - } - - if (!empty) - { - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "Cannot restore {} because it already contains some data. You can set structure_only=true or " - "allow_non_empty_tables=true to overcome that in the way you want", - formatTableNameOrTemporaryTableName(table_name)); - } - } - - void checkTableDataCompatible() - { - if (restore_settings->structure_only || !has_data) - return; - - if (!areTableDataCompatible(*create_query, *storage_create_query)) - { - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "Cannot attach data of the {} in the backup to the existing {} because of they are not compatible. " - "Here is the definition of the {} in the backup: {}, and here is the definition of the existing {}: {}", - formatTableNameOrTemporaryTableName(table_name_in_backup), - formatTableNameOrTemporaryTableName(table_name), - formatTableNameOrTemporaryTableName(table_name_in_backup), - serializeAST(*create_query), - formatTableNameOrTemporaryTableName(table_name), - serializeAST(*storage_create_query)); - } - } - - RestoreTasks insertData() - { - if (restore_settings->structure_only || !has_data) - return {}; - - RestoreTasks tasks; - tasks.emplace_back( - storage->restoreData(context, partitions, backup, data_path_in_backup, *restore_settings, restore_coordination)); - return tasks; - } - - ContextMutablePtr context; - std::shared_ptr create_query; - DatabaseAndTableName table_name; - ASTs partitions; - BackupPtr backup; - DatabaseAndTableName table_name_in_backup; - RestoreSettingsPtr restore_settings; - std::shared_ptr restore_coordination; - std::chrono::seconds timeout_for_restoring_metadata; - DatabasePtr database; - std::shared_ptr replicated_database; - StoragePtr storage; - ASTPtr storage_create_query; - bool has_data = false; - String data_path_in_backup; - }; - - - /// Makes tasks for restoring databases and tables according to the elements of ASTBackupQuery. - /// Keep this class consistent with BackupEntriesBuilder. - class RestoreTasksBuilder - { - public: - RestoreTasksBuilder( - ContextMutablePtr context_, - const BackupPtr & backup_, - const RestoreSettings & restore_settings_, - const std::shared_ptr & restore_coordination_, - std::chrono::seconds timeout_for_restoring_metadata_) - : context(context_) - , backup(backup_) - , restore_settings(restore_settings_) - , restore_coordination(restore_coordination_) - , timeout_for_restoring_metadata(timeout_for_restoring_metadata_) - { - } - - /// Prepares internal structures for making tasks for restoring. - void prepare(const ASTBackupQuery::Elements & elements) - { - calculateShardNumAndReplicaNumInBackup(); - renaming_settings.setFromBackupQuery(elements); - - for (const auto & element : elements) - { - switch (element.type) - { - case ElementType::TABLE: { - prepareToRestoreTable(element.name, element.partitions); - break; - } - - case ElementType::DATABASE: { - const String & database_name = element.name.first; - prepareToRestoreDatabase(database_name, element.except_list); - break; - } - - case ElementType::ALL_DATABASES: { - prepareToRestoreAllDatabases(element.except_list); - break; - } - } - } - } - - /// Makes tasks for restoring, should be called after prepare(). - RestoreTasks makeTasks() const - { - auto restore_settings_ptr = std::make_shared(restore_settings); - - RestoreTasks res; - for (const auto & info : databases | boost::adaptors::map_values) - res.push_back(std::make_unique(context, info.create_query, restore_settings_ptr)); - - /// TODO: We need to restore tables according to their dependencies. - for (const auto & info : tables | boost::adaptors::map_values) - res.push_back(std::make_unique( - context, - info.create_query, - info.partitions, - backup, - info.name_in_backup, - restore_settings_ptr, - restore_coordination, - timeout_for_restoring_metadata)); - - return res; - } - - private: - void calculateShardNumAndReplicaNumInBackup() - { - size_t shard_num = 0; - size_t replica_num = 0; - if (!restore_settings.host_id.empty()) - { - std::tie(shard_num, replica_num) - = BackupSettings::Util::findShardNumAndReplicaNum(restore_settings.cluster_host_ids, restore_settings.host_id); - } - - auto shards_in_backup = PathsInBackup{*backup}.getShards(); - if (!restore_settings.shard_num_in_backup) - { - if (shards_in_backup.size() == 1) - restore_settings.shard_num_in_backup = shards_in_backup[0]; - else - restore_settings.shard_num_in_backup = shard_num; - } - - if (std::find(shards_in_backup.begin(), shards_in_backup.end(), restore_settings.shard_num_in_backup) == shards_in_backup.end()) - throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No shard #{} in backup", restore_settings.shard_num_in_backup); - - auto replicas_in_backup = PathsInBackup{*backup}.getReplicas(restore_settings.shard_num_in_backup); - if (!restore_settings.replica_num_in_backup) - { - if (replicas_in_backup.size() == 1) - restore_settings.replica_num_in_backup = replicas_in_backup[0]; - else if (std::find(replicas_in_backup.begin(), replicas_in_backup.end(), replica_num) != replicas_in_backup.end()) - restore_settings.replica_num_in_backup = replica_num; - else - restore_settings.replica_num_in_backup = replicas_in_backup[0]; - } - } - - /// Prepares to restore a single table and probably its database's definition. - void prepareToRestoreTable(const DatabaseAndTableName & table_name_, const ASTs & partitions_) - { - /// Check that we are not trying to restore the same table again. - DatabaseAndTableName new_table_name = renaming_settings.getNewTableName(table_name_); - if (tables.contains(new_table_name)) - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, "Cannot restore the {} twice", formatTableNameOrTemporaryTableName(new_table_name)); - - /// Make a create query for this table. - auto create_query = renameInCreateQuery(readCreateQueryFromBackup(table_name_)); - - CreateTableInfo info; - info.create_query = create_query; - info.name_in_backup = table_name_; - info.partitions = partitions_; - tables[new_table_name] = std::move(info); - } - - /// Prepares to restore a database and all tables in it. - void prepareToRestoreDatabase(const String & database_name_, const std::set & except_list_) - { - /// Check that we are not trying to restore the same database again. - String new_database_name = renaming_settings.getNewDatabaseName(database_name_); - if (databases.contains(new_database_name)) - throw Exception( - ErrorCodes::CANNOT_RESTORE_DATABASE, "Cannot restore the database {} twice", backQuoteIfNeed(new_database_name)); - - Strings table_names = PathsInBackup{*backup}.getTables( - database_name_, restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup); - bool has_tables_in_backup = !table_names.empty(); - bool has_create_query_in_backup = hasCreateQueryInBackup(database_name_); - - if (!has_create_query_in_backup && !has_tables_in_backup) - throw Exception( - ErrorCodes::CANNOT_RESTORE_DATABASE, - "Cannot restore the database {} because there is no such database in the backup", - backQuoteIfNeed(database_name_)); - - /// Of course we're not going to restore the definition of the system or the temporary database. - if (!isSystemOrTemporaryDatabase(new_database_name)) - { - /// Make a create query for this database. - std::shared_ptr create_query; - if (has_create_query_in_backup) - { - create_query = renameInCreateQuery(readCreateQueryFromBackup(database_name_)); - } - else - { - create_query = std::make_shared(); - create_query->setDatabase(database_name_); - } - - CreateDatabaseInfo info; - info.create_query = create_query; - databases[new_database_name] = std::move(info); - } - - /// Restore tables in this database. - for (const String & table_name : table_names) - { - if (except_list_.contains(table_name)) - continue; - prepareToRestoreTable(DatabaseAndTableName{database_name_, table_name}, ASTs{}); - } - } - - /// Prepares to restore all the databases contained in the backup. - void prepareToRestoreAllDatabases(const std::set & except_list_) - { - for (const String & database_name : - PathsInBackup{*backup}.getDatabases(restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup)) - { - if (except_list_.contains(database_name)) - continue; - prepareToRestoreDatabase(database_name, std::set{}); - } - } - - /// Reads a create query for creating a specified table from the backup. - std::shared_ptr readCreateQueryFromBackup(const DatabaseAndTableName & table_name) const - { - String create_query_path = PathsInBackup{*backup}.getMetadataPath( - table_name, restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup); - if (!backup->fileExists(create_query_path)) - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "Cannot restore the {} because there is no such table in the backup", - formatTableNameOrTemporaryTableName(table_name)); - auto read_buffer = backup->readFile(create_query_path)->getReadBuffer(); - String create_query_str; - readStringUntilEOF(create_query_str, *read_buffer); - read_buffer.reset(); - ParserCreateQuery create_parser; - return typeid_cast>( - parseQuery(create_parser, create_query_str, 0, DBMS_DEFAULT_MAX_PARSER_DEPTH)); - } - - /// Reads a create query for creating a specified database from the backup. - std::shared_ptr readCreateQueryFromBackup(const String & database_name) const - { - String create_query_path = PathsInBackup{*backup}.getMetadataPath( - database_name, restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup); - if (!backup->fileExists(create_query_path)) - throw Exception( - ErrorCodes::CANNOT_RESTORE_DATABASE, - "Cannot restore the database {} because there is no such database in the backup", - backQuoteIfNeed(database_name)); - auto read_buffer = backup->readFile(create_query_path)->getReadBuffer(); - String create_query_str; - readStringUntilEOF(create_query_str, *read_buffer); - read_buffer.reset(); - ParserCreateQuery create_parser; - return typeid_cast>( - parseQuery(create_parser, create_query_str, 0, DBMS_DEFAULT_MAX_PARSER_DEPTH)); - } - - /// Whether there is a create query for creating a specified database in the backup. - bool hasCreateQueryInBackup(const String & database_name) const - { - String create_query_path = PathsInBackup{*backup}.getMetadataPath( - database_name, restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup); - return backup->fileExists(create_query_path); - } - - /// Do renaming in the create query according to the renaming config. - std::shared_ptr renameInCreateQuery(const ASTPtr & ast) const - { - ASTPtr query = ast; - ::DB::renameInCreateQuery(query, context, renaming_settings); - auto create_query = typeid_cast>(query); - return create_query; - } - - static bool isSystemOrTemporaryDatabase(const String & database_name) - { - return (database_name == DatabaseCatalog::SYSTEM_DATABASE) || (database_name == DatabaseCatalog::TEMPORARY_DATABASE); - } - - /// Information which is used to make an instance of RestoreTableTask. - struct CreateTableInfo - { - ASTPtr create_query; - DatabaseAndTableName name_in_backup; - ASTs partitions; - }; - - /// Information which is used to make an instance of RestoreDatabaseTask. - struct CreateDatabaseInfo - { - ASTPtr create_query; - }; - - ContextMutablePtr context; - BackupPtr backup; - RestoreSettings restore_settings; - std::shared_ptr restore_coordination; - std::chrono::seconds timeout_for_restoring_metadata; - DDLRenamingSettings renaming_settings; - std::map databases; - std::map tables; - }; - - - RestoreTasks makeRestoreTasksImpl( - ContextMutablePtr context, - const BackupPtr & backup, - const Elements & elements, - const RestoreSettings & restore_settings, - const std::shared_ptr & restore_coordination, - std::chrono::seconds timeout_for_restoring_metadata) - { - RestoreTasksBuilder builder{context, backup, restore_settings, restore_coordination, timeout_for_restoring_metadata}; - builder.prepare(elements); - return builder.makeTasks(); - } - - - void restoreMetadataImpl(RestoreTasks & restore_tasks) - { - /// There are two kinds of restore tasks: sequential and non-sequential ones. - /// Sequential tasks are executed first and always in one thread. - std::deque> restore_metadata_tasks; - boost::range::remove_erase_if( - restore_tasks, - [&restore_metadata_tasks](RestoreTaskPtr & task) - { - if (task->getRestoreKind() == IRestoreTask::RestoreKind::METADATA) - { - restore_metadata_tasks.push_back(std::move(task)); - return true; - } - return false; - }); - - /// Sequential tasks. - while (!restore_metadata_tasks.empty()) - { - auto current_task = std::move(restore_metadata_tasks.front()); - restore_metadata_tasks.pop_front(); - - RestoreTasks new_tasks = current_task->run(); - - for (auto & task : new_tasks) - { - if (task->getRestoreKind() == IRestoreTask::RestoreKind::METADATA) - restore_metadata_tasks.push_back(std::move(task)); - else - restore_tasks.push_back(std::move(task)); - } - } - } -} - - -RestoreTasks makeRestoreTasks( - ContextMutablePtr context, - const BackupPtr & backup, - const Elements & elements, - const RestoreSettings & restore_settings, - const std::shared_ptr & restore_coordination, - std::chrono::seconds timeout_for_restoring_metadata) -{ - try - { - return makeRestoreTasksImpl(context, backup, elements, restore_settings, restore_coordination, timeout_for_restoring_metadata); - } - catch (...) - { - restore_coordination->finishRestoringMetadata(restore_settings.host_id, getCurrentExceptionMessage(false)); - throw; - } -} - - -void restoreMetadata( - RestoreTasks & restore_tasks, - const RestoreSettings & restore_settings, - const std::shared_ptr & restore_coordination, - std::chrono::seconds timeout_for_restoring_metadata) -{ - try - { - restoreMetadataImpl(restore_tasks); - } - catch (...) - { - restore_coordination->finishRestoringMetadata(restore_settings.host_id, getCurrentExceptionMessage(false)); - throw; - } - - /// We've finished restoring metadata, now we will wait for other replicas and shards to finish too. - /// We need this waiting because we're going to call some functions which requires data collected from other nodes too, - /// see IRestoreCoordination::checkTablesNotExistedInReplicatedDBs(), IRestoreCoordination::getReplicatedTableDataPath(). - restore_coordination->finishRestoringMetadata(restore_settings.host_id); - - restore_coordination->waitForAllHostsRestoredMetadata( - BackupSettings::Util::filterHostIDs( - restore_settings.cluster_host_ids, restore_settings.shard_num, restore_settings.replica_num), - timeout_for_restoring_metadata); -} - - -void restoreData(RestoreTasks & restore_tasks, ThreadPool & thread_pool) -{ - std::deque> tasks(std::make_move_iterator(restore_tasks.begin()), std::make_move_iterator(restore_tasks.end())); - restore_tasks.clear(); - - /// Non-sequential tasks. - size_t num_active_jobs = 0; - std::mutex mutex; - std::condition_variable event; - std::exception_ptr exception; - - while (true) - { - std::unique_ptr current_task; - { - std::unique_lock lock{mutex}; - event.wait(lock, [&] { return !tasks.empty() || exception || !num_active_jobs; }); - if ((tasks.empty() && !num_active_jobs) || exception) - break; - current_task = std::move(tasks.front()); - tasks.pop_front(); - ++num_active_jobs; - } - - auto job = [current_task = std::shared_ptr(std::move(current_task)), &tasks, &num_active_jobs, &exception, &mutex, &event]() mutable - { - SCOPE_EXIT({ - --num_active_jobs; - event.notify_all(); - }); - - { - std::lock_guard lock{mutex}; - if (exception) - return; - } - - RestoreTasks new_tasks; - try - { - new_tasks = current_task->run(); - } - catch (...) - { - std::lock_guard lock{mutex}; - if (!exception) - exception = std::current_exception(); - } - - { - std::lock_guard lock{mutex}; - tasks.insert(tasks.end(), std::make_move_iterator(new_tasks.begin()), std::make_move_iterator(new_tasks.end())); - } - }; - - if (!thread_pool.trySchedule(job)) - job(); - } - - { - std::unique_lock lock{mutex}; - event.wait(lock, [&] { return !num_active_jobs; }); - } - - if (exception) - std::rethrow_exception(exception); -} - - -/// Returns access required to execute RESTORE query. -AccessRightsElements getRequiredAccessToRestore(const ASTBackupQuery::Elements & elements, const RestoreSettings & restore_settings) -{ - AccessRightsElements required_access; - for (const auto & element : elements) - { - switch (element.type) - { - case ASTBackupQuery::TABLE: - { - if (element.is_temp_db) - { - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - required_access.emplace_back(AccessType::CREATE_TEMPORARY_TABLE); - break; - } - AccessFlags flags = AccessType::SHOW_TABLES; - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - flags |= AccessType::CREATE_TABLE; - if (!restore_settings.structure_only) - flags |= AccessType::INSERT; - required_access.emplace_back(flags, element.new_name.first, element.new_name.second); - break; - } - case ASTBackupQuery::DATABASE: - { - if (element.is_temp_db) - { - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - required_access.emplace_back(AccessType::CREATE_TEMPORARY_TABLE); - break; - } - AccessFlags flags = AccessType::SHOW_TABLES | AccessType::SHOW_DATABASES; - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - flags |= AccessType::CREATE_TABLE; - if (restore_settings.create_database != RestoreDatabaseCreationMode::kMustExist) - flags |= AccessType::CREATE_DATABASE; - if (!restore_settings.structure_only) - flags |= AccessType::INSERT; - required_access.emplace_back(flags, element.new_name.first); - break; - } - case ASTBackupQuery::ALL_DATABASES: - { - AccessFlags flags = AccessType::SHOW_TABLES | AccessType::SHOW_DATABASES; - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - flags |= AccessType::CREATE_TABLE; - if (restore_settings.create_database != RestoreDatabaseCreationMode::kMustExist) - flags |= AccessType::CREATE_DATABASE; - if (!restore_settings.structure_only) - flags |= AccessType::INSERT; - required_access.emplace_back(flags); - break; - } - } - } - return required_access; -} - -} diff --git a/src/Backups/RestoreUtils.h b/src/Backups/RestoreUtils.h deleted file mode 100644 index 1c9632a903b..00000000000 --- a/src/Backups/RestoreUtils.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include -#include - - -namespace DB -{ - -class IBackup; -using BackupPtr = std::shared_ptr; -class IRestoreTask; -using RestoreTaskPtr = std::unique_ptr; -using RestoreTasks = std::vector; -struct RestoreSettings; -class IRestoreCoordination; -class AccessRightsElements; -class Context; -using ContextPtr = std::shared_ptr; -using ContextMutablePtr = std::shared_ptr; - -/// Prepares restore tasks. -RestoreTasks makeRestoreTasks(ContextMutablePtr context, const BackupPtr & backup, const ASTBackupQuery::Elements & elements, const RestoreSettings & restore_settings, const std::shared_ptr & restore_coordination, std::chrono::seconds timeout_for_restoring_metadata); - -/// Executes restore tasks. -void restoreMetadata( - RestoreTasks & restore_tasks, - const RestoreSettings & restore_settings, - const std::shared_ptr & restore_coordination, - std::chrono::seconds timeout_for_restoring_metadata); - -void restoreData(RestoreTasks & restore_tasks, ThreadPool & thread_pool); - - -/// Returns access required to execute RESTORE query. -AccessRightsElements getRequiredAccessToRestore(const ASTBackupQuery::Elements & elements, const RestoreSettings & restore_settings); - -} diff --git a/src/Backups/RestorerFromBackup.cpp b/src/Backups/RestorerFromBackup.cpp new file mode 100644 index 00000000000..185c23a479e --- /dev/null +++ b/src/Backups/RestorerFromBackup.cpp @@ -0,0 +1,869 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + + +namespace DB +{ +namespace ErrorCodes +{ + extern const int BACKUP_ENTRY_NOT_FOUND; + extern const int CANNOT_RESTORE_TABLE; + extern const int CANNOT_RESTORE_DATABASE; + extern const int LOGICAL_ERROR; +} + + +namespace Stage = BackupCoordinationStage; + +namespace +{ + /// Uppercases the first character of a passed string. + String toUpperFirst(const String & str) + { + String res = str; + res[0] = std::toupper(res[0]); + return res; + } + + /// Outputs "table " or "temporary table " + String tableNameWithTypeToString(const String & database_name, const String & table_name, bool first_upper) + { + String str; + if (database_name == DatabaseCatalog::TEMPORARY_DATABASE) + str = fmt::format("temporary table {}", backQuoteIfNeed(table_name)); + else + str = fmt::format("table {}.{}", backQuoteIfNeed(database_name), backQuoteIfNeed(table_name)); + if (first_upper) + str[0] = std::toupper(str[0]); + return str; + } + + /// Whether a specified name corresponds one of the tables backuping ACL. + bool isSystemAccessTableName(const QualifiedTableName & table_name) + { + if (table_name.database != DatabaseCatalog::SYSTEM_DATABASE) + return false; + + return (table_name.table == "users") || (table_name.table == "roles") || (table_name.table == "settings_profiles") + || (table_name.table == "row_policies") || (table_name.table == "quotas"); + } + + /// Whether a specified name corresponds one of the tables backuping ACL. + bool isSystemFunctionsTableName(const QualifiedTableName & table_name) + { + return (table_name.database == DatabaseCatalog::SYSTEM_DATABASE) && (table_name.table == "functions"); + } + } + + +RestorerFromBackup::RestorerFromBackup( + const ASTBackupQuery::Elements & restore_query_elements_, + const RestoreSettings & restore_settings_, + std::shared_ptr restore_coordination_, + const BackupPtr & backup_, + const ContextMutablePtr & context_) + : restore_query_elements(restore_query_elements_) + , restore_settings(restore_settings_) + , restore_coordination(restore_coordination_) + , backup(backup_) + , context(context_) + , on_cluster_first_sync_timeout(context->getConfigRef().getUInt64("backups.on_cluster_first_sync_timeout", 180000)) + , create_table_timeout(context->getConfigRef().getUInt64("backups.create_table_timeout", 300000)) + , log(&Poco::Logger::get("RestorerFromBackup")) +{ +} + +RestorerFromBackup::~RestorerFromBackup() = default; + +RestorerFromBackup::DataRestoreTasks RestorerFromBackup::run(Mode mode) +{ + /// run() can be called onle once. + if (!current_stage.empty()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Already restoring"); + + /// Find other hosts working along with us to execute this ON CLUSTER query. + all_hosts = BackupSettings::Util::filterHostIDs( + restore_settings.cluster_host_ids, restore_settings.shard_num, restore_settings.replica_num); + + /// Do renaming in the create queries according to the renaming config. + renaming_map = makeRenamingMapFromBackupQuery(restore_query_elements); + + /// Calculate the root path in the backup for restoring, it's either empty or has the format "shards//replicas//". + findRootPathsInBackup(); + + /// Find all the databases and tables which we will read from the backup. + setStage(Stage::FINDING_TABLES_IN_BACKUP); + findDatabasesAndTablesInBackup(); + + /// Check access rights. + checkAccessForObjectsFoundInBackup(); + + if (mode == Mode::CHECK_ACCESS_ONLY) + return {}; + + /// Create databases using the create queries read from the backup. + setStage(Stage::CREATING_DATABASES); + createDatabases(); + + /// Create tables using the create queries read from the backup. + setStage(Stage::CREATING_TABLES); + createTables(); + + /// All what's left is to insert data to tables. + /// No more data restoring tasks are allowed after this point. + setStage(Stage::INSERTING_DATA_TO_TABLES); + return getDataRestoreTasks(); +} + +void RestorerFromBackup::setStage(const String & new_stage, const String & message) +{ + LOG_TRACE(log, "{}", toUpperFirst(new_stage)); + current_stage = new_stage; + + if (restore_coordination) + { + restore_coordination->setStage(restore_settings.host_id, new_stage, message); + if (new_stage == Stage::FINDING_TABLES_IN_BACKUP) + restore_coordination->waitForStage(all_hosts, new_stage, on_cluster_first_sync_timeout); + else + restore_coordination->waitForStage(all_hosts, new_stage); + } +} + +void RestorerFromBackup::findRootPathsInBackup() +{ + size_t shard_num = 1; + size_t replica_num = 1; + if (!restore_settings.host_id.empty()) + { + std::tie(shard_num, replica_num) + = BackupSettings::Util::findShardNumAndReplicaNum(restore_settings.cluster_host_ids, restore_settings.host_id); + } + + root_paths_in_backup.clear(); + + /// Start with "" as the root path and then we will add shard- and replica-related part to it. + fs::path root_path = "/"; + root_paths_in_backup.push_back(root_path); + + /// Add shard-related part to the root path. + Strings shards_in_backup = backup->listFiles(root_path / "shards"); + if (shards_in_backup.empty()) + { + if (restore_settings.shard_num_in_backup > 1) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No shard #{} in backup", restore_settings.shard_num_in_backup); + } + else + { + String shard_name; + if (restore_settings.shard_num_in_backup) + shard_name = std::to_string(restore_settings.shard_num_in_backup); + else if (shards_in_backup.size() == 1) + shard_name = shards_in_backup.front(); + else + shard_name = std::to_string(shard_num); + if (std::find(shards_in_backup.begin(), shards_in_backup.end(), shard_name) == shards_in_backup.end()) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No shard #{} in backup", shard_name); + root_path = root_path / "shards" / shard_name; + root_paths_in_backup.push_back(root_path); + } + + /// Add replica-related part to the root path. + Strings replicas_in_backup = backup->listFiles(root_path / "replicas"); + if (replicas_in_backup.empty()) + { + if (restore_settings.replica_num_in_backup > 1) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No replica #{} in backup", restore_settings.replica_num_in_backup); + } + else + { + String replica_name; + if (restore_settings.replica_num_in_backup) + { + replica_name = std::to_string(restore_settings.replica_num_in_backup); + if (std::find(replicas_in_backup.begin(), replicas_in_backup.end(), replica_name) == replicas_in_backup.end()) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No replica #{} in backup", replica_name); + } + else + { + replica_name = std::to_string(replica_num); + if (std::find(replicas_in_backup.begin(), replicas_in_backup.end(), replica_name) == replicas_in_backup.end()) + replica_name = replicas_in_backup.front(); + } + root_path = root_path / "replicas" / replica_name; + root_paths_in_backup.push_back(root_path); + } + + /// Revert the list of root paths, because we need it in the following order: + /// "/shards//replicas//" (first we search tables here) + /// "/shards//" (then here) + /// "/" (and finally here) + std::reverse(root_paths_in_backup.begin(), root_paths_in_backup.end()); + + LOG_TRACE( + log, + "Will use paths in backup: {}", + boost::algorithm::join( + root_paths_in_backup + | boost::adaptors::transformed([](const fs::path & path) -> String { return doubleQuoteString(String{path}); }), + ", ")); +} + +void RestorerFromBackup::findDatabasesAndTablesInBackup() +{ + database_infos.clear(); + table_infos.clear(); + for (const auto & element : restore_query_elements) + { + switch (element.type) + { + case ASTBackupQuery::ElementType::TABLE: + { + findTableInBackup({element.database_name, element.table_name}, element.partitions); + break; + } + case ASTBackupQuery::ElementType::TEMPORARY_TABLE: + { + findTableInBackup({DatabaseCatalog::TEMPORARY_DATABASE, element.table_name}, element.partitions); + break; + } + case ASTBackupQuery::ElementType::DATABASE: + { + findDatabaseInBackup(element.database_name, element.except_tables); + break; + } + case ASTBackupQuery::ElementType::ALL: + { + findEverythingInBackup(element.except_databases, element.except_tables); + break; + } + } + } + + LOG_INFO(log, "Will restore {} databases and {} tables", database_infos.size(), table_infos.size()); +} + +void RestorerFromBackup::findTableInBackup(const QualifiedTableName & table_name_in_backup, const std::optional & partitions) +{ + bool is_temporary_table = (table_name_in_backup.database == DatabaseCatalog::TEMPORARY_DATABASE); + + std::optional metadata_path; + std::optional root_path_in_use; + for (const auto & root_path_in_backup : root_paths_in_backup) + { + fs::path try_metadata_path; + if (is_temporary_table) + { + try_metadata_path + = root_path_in_backup / "temporary_tables" / "metadata" / (escapeForFileName(table_name_in_backup.table) + ".sql"); + } + else + { + try_metadata_path = root_path_in_backup / "metadata" / escapeForFileName(table_name_in_backup.database) + / (escapeForFileName(table_name_in_backup.table) + ".sql"); + } + + if (backup->fileExists(try_metadata_path)) + { + metadata_path = try_metadata_path; + root_path_in_use = root_path_in_backup; + break; + } + } + + if (!metadata_path) + throw Exception( + ErrorCodes::BACKUP_ENTRY_NOT_FOUND, + "{} not found in backup", + tableNameWithTypeToString(table_name_in_backup.database, table_name_in_backup.table, true)); + + fs::path data_path_in_backup; + if (is_temporary_table) + { + data_path_in_backup = *root_path_in_use / "temporary_tables" / "data" / escapeForFileName(table_name_in_backup.table); + } + else + { + data_path_in_backup + = *root_path_in_use / "data" / escapeForFileName(table_name_in_backup.database) / escapeForFileName(table_name_in_backup.table); + } + + auto read_buffer = backup->readFile(*metadata_path)->getReadBuffer(); + String create_query_str; + readStringUntilEOF(create_query_str, *read_buffer); + read_buffer.reset(); + ParserCreateQuery create_parser; + ASTPtr create_table_query = parseQuery(create_parser, create_query_str, 0, DBMS_DEFAULT_MAX_PARSER_DEPTH); + renameDatabaseAndTableNameInCreateQuery(create_table_query, renaming_map, context->getGlobalContext()); + + QualifiedTableName table_name = renaming_map.getNewTableName(table_name_in_backup); + + if (auto it = table_infos.find(table_name); it != table_infos.end()) + { + const TableInfo & table_info = it->second; + if (table_info.create_table_query && (serializeAST(*table_info.create_table_query) != serializeAST(*create_table_query))) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_TABLE, + "Extracted two different create queries for the same {}: {} and {}", + tableNameWithTypeToString(table_name.database, table_name.table, false), + serializeAST(*table_info.create_table_query), + serializeAST(*create_table_query)); + } + } + + TableInfo & res_table_info = table_infos[table_name]; + res_table_info.create_table_query = create_table_query; + res_table_info.is_predefined_table = DatabaseCatalog::instance().isPredefinedTable(StorageID{table_name.database, table_name.table}); + res_table_info.dependencies = getDependenciesSetFromCreateQuery(context->getGlobalContext(), table_name, create_table_query); + res_table_info.has_data = backup->hasFiles(data_path_in_backup); + res_table_info.data_path_in_backup = data_path_in_backup; + + if (partitions) + { + if (!res_table_info.partitions) + res_table_info.partitions.emplace(); + insertAtEnd(*res_table_info.partitions, *partitions); + } + + /// Special handling for ACL-related system tables. + if (!restore_settings.structure_only && isSystemAccessTableName(table_name)) + { + if (!access_restorer) + access_restorer = std::make_unique(backup, restore_settings); + + try + { + /// addDataPath() will parse access*.txt files and extract access entities from them. + /// We need to do that early because we need those access entities to check access. + access_restorer->addDataPath(data_path_in_backup); + } + catch (Exception & e) + { + e.addMessage("While parsing data of {} from backup", tableNameWithTypeToString(table_name.database, table_name.table, false)); + throw; + } + } +} + +void RestorerFromBackup::findDatabaseInBackup(const String & database_name_in_backup, const std::set & except_table_names) +{ + std::optional metadata_path; + std::unordered_set table_names_in_backup; + for (const auto & root_path_in_backup : root_paths_in_backup) + { + fs::path try_metadata_path, try_tables_metadata_path; + if (database_name_in_backup == DatabaseCatalog::TEMPORARY_DATABASE) + { + try_tables_metadata_path = root_path_in_backup / "temporary_tables" / "metadata"; + } + else + { + try_metadata_path = root_path_in_backup / "metadata" / (escapeForFileName(database_name_in_backup) + ".sql"); + try_tables_metadata_path = root_path_in_backup / "metadata" / escapeForFileName(database_name_in_backup); + } + + if (!metadata_path && !try_metadata_path.empty() && backup->fileExists(try_metadata_path)) + metadata_path = try_metadata_path; + + Strings file_names = backup->listFiles(try_tables_metadata_path); + for (const String & file_name : file_names) + { + if (!file_name.ends_with(".sql")) + continue; + String file_name_without_ext = file_name.substr(0, file_name.length() - strlen(".sql")); + table_names_in_backup.insert(unescapeForFileName(file_name_without_ext)); + } + } + + if (!metadata_path && table_names_in_backup.empty()) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Database {} not found in backup", backQuoteIfNeed(database_name_in_backup)); + + if (metadata_path) + { + auto read_buffer = backup->readFile(*metadata_path)->getReadBuffer(); + String create_query_str; + readStringUntilEOF(create_query_str, *read_buffer); + read_buffer.reset(); + ParserCreateQuery create_parser; + ASTPtr create_database_query = parseQuery(create_parser, create_query_str, 0, DBMS_DEFAULT_MAX_PARSER_DEPTH); + renameDatabaseAndTableNameInCreateQuery(create_database_query, renaming_map, context->getGlobalContext()); + + String database_name = renaming_map.getNewDatabaseName(database_name_in_backup); + DatabaseInfo & database_info = database_infos[database_name]; + + if (database_info.create_database_query && (serializeAST(*database_info.create_database_query) != serializeAST(*create_database_query))) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_DATABASE, + "Extracted two different create queries for the same database {}: {} and {}", + backQuoteIfNeed(database_name), + serializeAST(*database_info.create_database_query), + serializeAST(*create_database_query)); + } + + database_info.create_database_query = create_database_query; + database_info.is_predefined_database = DatabaseCatalog::isPredefinedDatabase(database_name); + } + + for (const String & table_name_in_backup : table_names_in_backup) + { + if (except_table_names.contains({database_name_in_backup, table_name_in_backup})) + continue; + + findTableInBackup({database_name_in_backup, table_name_in_backup}, /* partitions= */ {}); + } +} + +void RestorerFromBackup::findEverythingInBackup(const std::set & except_database_names, const std::set & except_table_names) +{ + std::unordered_set database_names_in_backup; + + for (const auto & root_path_in_backup : root_paths_in_backup) + { + Strings file_names = backup->listFiles(root_path_in_backup / "metadata"); + for (String & file_name : file_names) + { + if (file_name.ends_with(".sql")) + file_name.resize(file_name.length() - strlen(".sql")); + database_names_in_backup.emplace(unescapeForFileName(file_name)); + } + + if (backup->hasFiles(root_path_in_backup / "temporary_tables" / "metadata")) + database_names_in_backup.emplace(DatabaseCatalog::TEMPORARY_DATABASE); + } + + for (const String & database_name_in_backup : database_names_in_backup) + { + if (except_database_names.contains(database_name_in_backup)) + continue; + + findDatabaseInBackup(database_name_in_backup, except_table_names); + } +} + +void RestorerFromBackup::checkAccessForObjectsFoundInBackup() const +{ + AccessRightsElements required_access; + for (const auto & [database_name, database_info] : database_infos) + { + if (database_info.is_predefined_database) + continue; + + AccessFlags flags; + + if (restore_settings.create_database != RestoreDatabaseCreationMode::kMustExist) + flags |= AccessType::CREATE_DATABASE; + + if (!flags) + flags = AccessType::SHOW_DATABASES; + + required_access.emplace_back(flags, database_name); + } + + for (const auto & [table_name, table_info] : table_infos) + { + if (table_info.is_predefined_table) + { + if (isSystemFunctionsTableName(table_name)) + { + /// CREATE_FUNCTION privilege is required to restore the "system.functions" table. + if (!restore_settings.structure_only && table_info.has_data) + required_access.emplace_back(AccessType::CREATE_FUNCTION); + } + /// Privileges required to restore ACL system tables are checked separately + /// (see access_restore_task->getRequiredAccess() below). + continue; + } + + if (table_name.database == DatabaseCatalog::TEMPORARY_DATABASE) + { + if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) + required_access.emplace_back(AccessType::CREATE_TEMPORARY_TABLE); + continue; + } + + AccessFlags flags; + const ASTCreateQuery & create = table_info.create_table_query->as(); + + if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) + { + if (create.is_dictionary) + flags |= AccessType::CREATE_DICTIONARY; + else if (create.is_ordinary_view || create.is_materialized_view || create.is_live_view) + flags |= AccessType::CREATE_VIEW; + else + flags |= AccessType::CREATE_TABLE; + } + + if (!restore_settings.structure_only && table_info.has_data) + { + flags |= AccessType::INSERT; + } + + if (!flags) + { + if (create.is_dictionary) + flags = AccessType::SHOW_DICTIONARIES; + else + flags = AccessType::SHOW_TABLES; + } + + required_access.emplace_back(flags, table_name.database, table_name.table); + } + + if (access_restorer) + insertAtEnd(required_access, access_restorer->getRequiredAccess()); + + /// We convert to AccessRights and back to check access rights in a predictable way + /// (some elements could be duplicated or not sorted). + required_access = AccessRights{required_access}.getElements(); + + context->checkAccess(required_access); +} + +void RestorerFromBackup::createDatabases() +{ + for (const auto & database_name : database_infos | boost::adaptors::map_keys) + { + createDatabase(database_name); + checkDatabase(database_name); + } +} + +void RestorerFromBackup::createDatabase(const String & database_name) const +{ + if (restore_settings.create_database == RestoreDatabaseCreationMode::kMustExist) + return; + + /// Predefined databases always exist. + const auto & database_info = database_infos.at(database_name); + if (database_info.is_predefined_database) + return; + + auto create_database_query = database_info.create_database_query; + if (restore_settings.create_table == RestoreTableCreationMode::kCreateIfNotExists) + { + create_database_query = create_database_query->clone(); + create_database_query->as().if_not_exists = true; + } + + LOG_TRACE(log, "Creating database {}: {}", backQuoteIfNeed(database_name), serializeAST(*create_database_query)); + + try + { + /// Execute CREATE DATABASE query. + InterpreterCreateQuery interpreter{create_database_query, context}; + interpreter.setInternal(true); + interpreter.execute(); + } + catch (Exception & e) + { + e.addMessage("While creating database {}", backQuoteIfNeed(database_name)); + throw; + } +} + +void RestorerFromBackup::checkDatabase(const String & database_name) +{ + auto & database_info = database_infos.at(database_name); + try + { + DatabasePtr database = DatabaseCatalog::instance().getDatabase(database_name); + database_info.database = database; + + if (!restore_settings.allow_different_database_def && !database_info.is_predefined_database) + { + /// Check that the database's definition is the same as expected. + ASTPtr create_database_query = database->getCreateDatabaseQuery(); + adjustCreateQueryForBackup(create_database_query, context->getGlobalContext(), nullptr); + ASTPtr expected_create_query = database_info.create_database_query; + if (serializeAST(*create_database_query) != serializeAST(*expected_create_query)) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_DATABASE, + "The database has a different definition: {} " + "comparing to its definition in the backup: {}", + serializeAST(*create_database_query), + serializeAST(*expected_create_query)); + } + } + } + catch (Exception & e) + { + e.addMessage("While checking database {}", backQuoteIfNeed(database_name)); + throw; + } +} + +void RestorerFromBackup::createTables() +{ + while (true) + { + /// We need to create tables considering their dependencies. + auto tables_to_create = findTablesWithoutDependencies(); + if (tables_to_create.empty()) + break; /// We've already created all the tables. + + for (const auto & table_name : tables_to_create) + { + createTable(table_name); + checkTable(table_name); + insertDataToTable(table_name); + } + } +} + +void RestorerFromBackup::createTable(const QualifiedTableName & table_name) +{ + if (restore_settings.create_table == RestoreTableCreationMode::kMustExist) + return; + + /// Predefined tables always exist. + auto & table_info = table_infos.at(table_name); + if (table_info.is_predefined_table) + return; + + auto create_table_query = table_info.create_table_query; + if (restore_settings.create_table == RestoreTableCreationMode::kCreateIfNotExists) + { + create_table_query = create_table_query->clone(); + create_table_query->as().if_not_exists = true; + } + + LOG_TRACE( + log, "Creating {}: {}", tableNameWithTypeToString(table_name.database, table_name.table, false), serializeAST(*create_table_query)); + + try + { + DatabasePtr database = DatabaseCatalog::instance().getDatabase(table_name.database); + table_info.database = database; + + /// Execute CREATE TABLE query (we call IDatabase::createTableRestoredFromBackup() to allow the database to do some + /// database-specific things). + database->createTableRestoredFromBackup( + create_table_query, + context, + restore_coordination, + std::chrono::duration_cast(create_table_timeout).count()); + } + catch (Exception & e) + { + e.addMessage("While creating {}", tableNameWithTypeToString(table_name.database, table_name.table, false)); + throw; + } +} + +void RestorerFromBackup::checkTable(const QualifiedTableName & table_name) +{ + auto & table_info = table_infos.at(table_name); + auto database = table_info.database; + + try + { + if (!database) + { + database = DatabaseCatalog::instance().getDatabase(table_name.database); + table_info.database = database; + } + + auto resolved_id = (table_name.database == DatabaseCatalog::TEMPORARY_DATABASE) + ? context->resolveStorageID(StorageID{"", table_name.table}, Context::ResolveExternal) + : context->resolveStorageID(StorageID{table_name.database, table_name.table}, Context::ResolveGlobal); + + StoragePtr storage = database->getTable(resolved_id.table_name, context); + table_info.storage = storage; + table_info.table_lock = storage->lockForShare(context->getInitialQueryId(), context->getSettingsRef().lock_acquire_timeout); + + if (!restore_settings.allow_different_table_def && !table_info.is_predefined_table) + { + ASTPtr create_table_query = database->getCreateTableQuery(resolved_id.table_name, context); + adjustCreateQueryForBackup(create_table_query, context->getGlobalContext(), nullptr); + ASTPtr expected_create_query = table_info.create_table_query; + if (serializeAST(*create_table_query) != serializeAST(*expected_create_query)) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_TABLE, + "The table has a different definition: {} " + "comparing to its definition in the backup: {}", + serializeAST(*create_table_query), + serializeAST(*expected_create_query)); + } + } + } + catch (Exception & e) + { + e.addMessage("While checking {}", tableNameWithTypeToString(table_name.database, table_name.table, false)); + throw; + } +} + +void RestorerFromBackup::insertDataToTable(const QualifiedTableName & table_name) +{ + if (restore_settings.structure_only) + return; + + auto & table_info = table_infos.at(table_name); + auto storage = table_info.storage; + + try + { + const auto & data_path_in_backup = table_info.data_path_in_backup; + const auto & partitions = table_info.partitions; + if (partitions && !storage->supportsBackupPartition()) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_TABLE, + "Table engine {} doesn't support partitions", + storage->getName()); + } + storage->restoreDataFromBackup(*this, data_path_in_backup, partitions); + } + catch (Exception & e) + { + e.addMessage("While restoring data of {}", tableNameWithTypeToString(table_name.database, table_name.table, false)); + throw; + } +} + +/// Returns the list of tables without dependencies or those which dependencies have been created before. +std::vector RestorerFromBackup::findTablesWithoutDependencies() const +{ + std::vector tables_without_dependencies; + bool all_tables_created = true; + + for (const auto & [key, table_info] : table_infos) + { + if (table_info.storage) + continue; + + /// Found a table which is not created yet. + all_tables_created = false; + + /// Check if all dependencies have been created before. + bool all_dependencies_met = true; + for (const auto & dependency : table_info.dependencies) + { + auto it = table_infos.find(dependency); + if ((it != table_infos.end()) && !it->second.storage) + { + all_dependencies_met = false; + break; + } + } + + if (all_dependencies_met) + tables_without_dependencies.push_back(key); + } + + if (!tables_without_dependencies.empty()) + return tables_without_dependencies; + + if (all_tables_created) + return {}; + + /// Cyclic dependency? We'll try to create those tables anyway but probably it's going to fail. + std::vector tables_with_cyclic_dependencies; + for (const auto & [key, table_info] : table_infos) + { + if (!table_info.storage) + tables_with_cyclic_dependencies.push_back(key); + } + + /// Only show a warning here, proper exception will be thrown later on creating those tables. + LOG_WARNING( + log, + "Some tables have cyclic dependency from each other: {}", + boost::algorithm::join( + tables_with_cyclic_dependencies + | boost::adaptors::transformed([](const QualifiedTableName & table_name) -> String { return table_name.getFullName(); }), + ", ")); + + return tables_with_cyclic_dependencies; +} + +void RestorerFromBackup::addDataRestoreTask(DataRestoreTask && new_task) +{ + if (current_stage == Stage::INSERTING_DATA_TO_TABLES) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding of data-restoring tasks is not allowed"); + data_restore_tasks.push_back(std::move(new_task)); +} + +void RestorerFromBackup::addDataRestoreTasks(DataRestoreTasks && new_tasks) +{ + if (current_stage == Stage::INSERTING_DATA_TO_TABLES) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding of data-restoring tasks is not allowed"); + insertAtEnd(data_restore_tasks, std::move(new_tasks)); +} + +RestorerFromBackup::DataRestoreTasks RestorerFromBackup::getDataRestoreTasks() +{ + if (data_restore_tasks.empty()) + return {}; + + LOG_TRACE(log, "Will insert data to tables"); + + /// Storages and table locks must exist while we're executing data restoring tasks. + auto storages = std::make_shared>(); + auto table_locks = std::make_shared>(); + storages->reserve(table_infos.size()); + table_locks->reserve(table_infos.size()); + for (const auto & table_info : table_infos | boost::adaptors::map_values) + { + storages->push_back(table_info.storage); + table_locks->push_back(table_info.table_lock); + } + + DataRestoreTasks res_tasks; + for (const auto & task : data_restore_tasks) + res_tasks.push_back([task, storages, table_locks] { task(); }); + + return res_tasks; +} + +std::vector> RestorerFromBackup::getAccessEntitiesToRestore() +{ + if (!access_restorer || access_restored) + return {}; + + /// getAccessEntitiesToRestore() will return entities only when called first time (we don't want to restore the same entities again). + access_restored = true; + + return access_restorer->getAccessEntities(context->getAccessControl()); +} + +void RestorerFromBackup::throwTableIsNotEmpty(const StorageID & storage_id) +{ + throw Exception( + ErrorCodes::CANNOT_RESTORE_TABLE, + "Cannot restore the table {} because it already contains some data. You can set structure_only=true or " + "allow_non_empty_tables=true to overcome that in the way you want", + storage_id.getFullTableName()); +} +} diff --git a/src/Backups/RestorerFromBackup.h b/src/Backups/RestorerFromBackup.h new file mode 100644 index 00000000000..b081e16e2ce --- /dev/null +++ b/src/Backups/RestorerFromBackup.h @@ -0,0 +1,136 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ +class IBackup; +using BackupPtr = std::shared_ptr; +class IRestoreCoordination; +struct StorageID; +class IDatabase; +using DatabasePtr = std::shared_ptr; +class AccessRestorerFromBackup; +struct IAccessEntity; +using AccessEntityPtr = std::shared_ptr; + + +/// Restores the definition of databases and tables and prepares tasks to restore the data of the tables. +class RestorerFromBackup : private boost::noncopyable +{ +public: + RestorerFromBackup( + const ASTBackupQuery::Elements & restore_query_elements_, + const RestoreSettings & restore_settings_, + std::shared_ptr restore_coordination_, + const BackupPtr & backup_, + const ContextMutablePtr & context_); + + ~RestorerFromBackup(); + + enum Mode + { + /// Restores databases and tables. + RESTORE, + + /// Only checks access rights without restoring anything. + CHECK_ACCESS_ONLY + }; + + using DataRestoreTask = std::function; + using DataRestoreTasks = std::vector; + + /// Restores the metadata of databases and tables and returns tasks to restore the data of tables. + DataRestoreTasks run(Mode mode); + + BackupPtr getBackup() const { return backup; } + const RestoreSettings & getRestoreSettings() const { return restore_settings; } + bool isNonEmptyTableAllowed() const { return getRestoreSettings().allow_non_empty_tables; } + std::shared_ptr getRestoreCoordination() const { return restore_coordination; } + ContextMutablePtr getContext() const { return context; } + + /// Adds a data restore task which will be later returned by getDataRestoreTasks(). + /// This function can be called by implementations of IStorage::restoreFromBackup() in inherited storage classes. + void addDataRestoreTask(DataRestoreTask && new_task); + void addDataRestoreTasks(DataRestoreTasks && new_tasks); + + /// Returns the list of access entities to restore. + std::vector> getAccessEntitiesToRestore(); + + /// Throws an exception that a specified table is already non-empty. + [[noreturn]] static void throwTableIsNotEmpty(const StorageID & storage_id); + +private: + const ASTBackupQuery::Elements restore_query_elements; + const RestoreSettings restore_settings; + std::shared_ptr restore_coordination; + BackupPtr backup; + ContextMutablePtr context; + std::chrono::milliseconds on_cluster_first_sync_timeout; + std::chrono::milliseconds create_table_timeout; + Poco::Logger * log; + + Strings all_hosts; + DDLRenamingMap renaming_map; + std::vector root_paths_in_backup; + + void findRootPathsInBackup(); + + void findDatabasesAndTablesInBackup(); + void findTableInBackup(const QualifiedTableName & table_name_in_backup, const std::optional & partitions); + void findDatabaseInBackup(const String & database_name_in_backup, const std::set & except_table_names); + void findEverythingInBackup(const std::set & except_database_names, const std::set & except_table_names); + + void checkAccessForObjectsFoundInBackup() const; + + void createDatabases(); + void createDatabase(const String & database_name) const; + void checkDatabase(const String & database_name); + + void createTables(); + void createTable(const QualifiedTableName & table_name); + void checkTable(const QualifiedTableName & table_name); + void insertDataToTable(const QualifiedTableName & table_name); + + DataRestoreTasks getDataRestoreTasks(); + + void setStage(const String & new_stage, const String & message = ""); + + struct DatabaseInfo + { + ASTPtr create_database_query; + bool is_predefined_database = false; + DatabasePtr database; + }; + + struct TableInfo + { + ASTPtr create_table_query; + bool is_predefined_table = false; + std::unordered_set dependencies; + bool has_data = false; + std::filesystem::path data_path_in_backup; + std::optional partitions; + DatabasePtr database; + StoragePtr storage; + TableLockHolder table_lock; + }; + + std::vector findTablesWithoutDependencies() const; + + String current_stage; + std::unordered_map database_infos; + std::map table_infos; + std::vector data_restore_tasks; + std::unique_ptr access_restorer; + bool access_restored = false; +}; + +} diff --git a/src/Backups/formatTableNameOrTemporaryTableName.cpp b/src/Backups/formatTableNameOrTemporaryTableName.cpp deleted file mode 100644 index 7338e1dab23..00000000000 --- a/src/Backups/formatTableNameOrTemporaryTableName.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -#include - - -namespace DB -{ - -String formatTableNameOrTemporaryTableName(const DatabaseAndTableName & table_name) -{ - if (table_name.first == DatabaseCatalog::TEMPORARY_DATABASE) - return "temporary table " + backQuoteIfNeed(table_name.second); - else - return "table " + backQuoteIfNeed(table_name.first) + "." + backQuoteIfNeed(table_name.second); -} - -} diff --git a/src/Backups/formatTableNameOrTemporaryTableName.h b/src/Backups/formatTableNameOrTemporaryTableName.h deleted file mode 100644 index a6b94cd4077..00000000000 --- a/src/Backups/formatTableNameOrTemporaryTableName.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#include - - -namespace DB -{ -using DatabaseAndTableName = std::pair; - -/// Outputs either "table db_name.table_name" or "temporary table table_name". -String formatTableNameOrTemporaryTableName(const DatabaseAndTableName & table_name); - -} diff --git a/src/Backups/registerBackupEnginesFileAndDisk.cpp b/src/Backups/registerBackupEnginesFileAndDisk.cpp index b1bccb6e914..380ae36a8e3 100644 --- a/src/Backups/registerBackupEnginesFileAndDisk.cpp +++ b/src/Backups/registerBackupEnginesFileAndDisk.cpp @@ -7,6 +7,7 @@ #include #include #include +#include namespace DB @@ -180,7 +181,7 @@ void registerBackupEnginesFileAndDisk(BackupFactory & factory) writer = std::make_shared(path); else writer = std::make_shared(disk, path); - return std::make_unique(backup_name, archive_params, params.base_backup_info, writer, params.context, params.backup_uuid, params.is_internal_backup, params.backup_coordination); + return std::make_unique(backup_name, archive_params, params.base_backup_info, writer, params.context, params.is_internal_backup, params.backup_coordination, params.backup_uuid); } }; diff --git a/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.cpp b/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.cpp deleted file mode 100644 index cf6190c4c27..00000000000 --- a/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include -#include -#include -#include - - -namespace DB -{ - -void replaceTableUUIDWithMacroInReplicatedTableDef(ASTCreateQuery & create_query, const UUID & table_uuid) -{ - if (create_query.getTable().empty() || !create_query.storage || !create_query.storage->engine || (table_uuid == UUIDHelpers::Nil)) - return; - - auto & engine = *(create_query.storage->engine); - if (!engine.name.starts_with("Replicated") || !engine.arguments) - return; - - auto * args = typeid_cast(engine.arguments.get()); - - size_t zookeeper_path_arg_pos = engine.name.starts_with("ReplicatedGraphite") ? 1 : 0; - - if (!args || (args->children.size() <= zookeeper_path_arg_pos)) - return; - - auto * zookeeper_path_arg = typeid_cast(args->children[zookeeper_path_arg_pos].get()); - if (!zookeeper_path_arg || (zookeeper_path_arg->value.getType() != Field::Types::String)) - return; - - String & zookeeper_path = zookeeper_path_arg->value.get(); - - String table_uuid_str = toString(table_uuid); - if (size_t uuid_pos = zookeeper_path.find(table_uuid_str); uuid_pos != String::npos) - zookeeper_path.replace(uuid_pos, table_uuid_str.size(), "{uuid}"); -} - -} diff --git a/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.h b/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.h deleted file mode 100644 index e339b1c4536..00000000000 --- a/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -#include - -namespace DB -{ - -class ASTCreateQuery; - -/// While making a replicated table it replaces "{uuid}" in zookeeper path with the real table UUID. -/// This function reverts this replacement.d -void replaceTableUUIDWithMacroInReplicatedTableDef(ASTCreateQuery & create_query, const UUID & table_uuid); - -} diff --git a/src/BridgeHelper/ExternalDictionaryLibraryBridgeHelper.cpp b/src/BridgeHelper/ExternalDictionaryLibraryBridgeHelper.cpp new file mode 100644 index 00000000000..4f943e47fa9 --- /dev/null +++ b/src/BridgeHelper/ExternalDictionaryLibraryBridgeHelper.cpp @@ -0,0 +1,273 @@ +#include "ExternalDictionaryLibraryBridgeHelper.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int EXTERNAL_LIBRARY_ERROR; + extern const int LOGICAL_ERROR; +} + +ExternalDictionaryLibraryBridgeHelper::ExternalDictionaryLibraryBridgeHelper( + ContextPtr context_, + const Block & sample_block_, + const Field & dictionary_id_, + const LibraryInitData & library_data_) + : LibraryBridgeHelper(context_->getGlobalContext()) + , sample_block(sample_block_) + , library_data(library_data_) + , dictionary_id(dictionary_id_) +{ +} + + +Poco::URI ExternalDictionaryLibraryBridgeHelper::getPingURI() const +{ + auto uri = createBaseURI(); + uri.setPath(PING_HANDLER); + uri.addQueryParameter("dictionary_id", toString(dictionary_id)); + return uri; +} + + +Poco::URI ExternalDictionaryLibraryBridgeHelper::getMainURI() const +{ + auto uri = createBaseURI(); + uri.setPath(MAIN_HANDLER); + return uri; +} + + +Poco::URI ExternalDictionaryLibraryBridgeHelper::createRequestURI(const String & method) const +{ + auto uri = getMainURI(); + uri.addQueryParameter("version", std::to_string(LIBRARY_BRIDGE_PROTOCOL_VERSION)); + uri.addQueryParameter("dictionary_id", toString(dictionary_id)); + uri.addQueryParameter("method", method); + return uri; +} + + +bool ExternalDictionaryLibraryBridgeHelper::bridgeHandShake() +{ + String result; + try + { + ReadWriteBufferFromHTTP buf(getPingURI(), Poco::Net::HTTPRequest::HTTP_GET, {}, http_timeouts, credentials); + readString(result, buf); + } + catch (...) + { + tryLogCurrentException(log); + return false; + } + + /* + * When pinging bridge we also pass current dicionary_id. The bridge will check if there is such + * dictionary. It is possible that such dictionary_id is not present only in two cases: + * 1. It is dictionary source creation and initialization of library handler on bridge side did not happen yet. + * 2. Bridge crashed or restarted for some reason while server did not. + **/ + if (result.size() != 1) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Unexpected message from library bridge: {}. Check that bridge and server have the same version.", result); + + UInt8 dictionary_id_exists; + auto parsed = tryParse(dictionary_id_exists, result); + if (!parsed || (dictionary_id_exists != 0 && dictionary_id_exists != 1)) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Unexpected message from library bridge: {} ({}). Check that bridge and server have the same version.", + result, parsed ? toString(dictionary_id_exists) : "failed to parse"); + + LOG_TRACE(log, "dictionary_id: {}, dictionary_id_exists on bridge side: {}, library confirmed to be initialized on server side: {}", + toString(dictionary_id), toString(dictionary_id_exists), library_initialized); + + if (dictionary_id_exists && !library_initialized) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Library was not initialized, but bridge responded to already have dictionary id: {}", dictionary_id); + + /// Here we want to say bridge to recreate a new library handler for current dictionary, + /// because it responded to have lost it, but we know that it has already been created. (It is a direct result of bridge crash). + if (!dictionary_id_exists && library_initialized) + { + LOG_WARNING(log, "Library bridge does not have library handler with dictionaty id: {}. It will be reinitialized.", dictionary_id); + bool reinitialized = false; + try + { + auto uri = createRequestURI(EXT_DICT_LIB_NEW_METHOD); + reinitialized = executeRequest(uri, getInitLibraryCallback()); + } + catch (...) + { + tryLogCurrentException(log); + return false; + } + + if (!reinitialized) + throw Exception(ErrorCodes::EXTERNAL_LIBRARY_ERROR, + "Failed to reinitialize library handler on bridge side for dictionary with id: {}", dictionary_id); + } + + return true; +} + + +ReadWriteBufferFromHTTP::OutStreamCallback ExternalDictionaryLibraryBridgeHelper::getInitLibraryCallback() const +{ + /// Sample block must contain null values + WriteBufferFromOwnString out; + auto output_format = getContext()->getOutputFormat(ExternalDictionaryLibraryBridgeHelper::DEFAULT_FORMAT, out, sample_block); + formatBlock(output_format, sample_block); + auto block_string = out.str(); + + return [block_string, this](std::ostream & os) + { + os << "library_path=" << escapeForFileName(library_data.library_path) << "&"; + os << "library_settings=" << escapeForFileName(library_data.library_settings) << "&"; + os << "attributes_names=" << escapeForFileName(library_data.dict_attributes) << "&"; + os << "sample_block=" << escapeForFileName(sample_block.getNamesAndTypesList().toString()) << "&"; + os << "null_values=" << escapeForFileName(block_string); + }; +} + + +bool ExternalDictionaryLibraryBridgeHelper::initLibrary() +{ + startBridgeSync(); + auto uri = createRequestURI(EXT_DICT_LIB_NEW_METHOD); + library_initialized = executeRequest(uri, getInitLibraryCallback()); + return library_initialized; +} + + +bool ExternalDictionaryLibraryBridgeHelper::cloneLibrary(const Field & other_dictionary_id) +{ + startBridgeSync(); + auto uri = createRequestURI(EXT_DICT_LIB_CLONE_METHOD); + uri.addQueryParameter("from_dictionary_id", toString(other_dictionary_id)); + /// We also pass initialization settings in order to create a library handler + /// in case from_dictionary_id does not exist in bridge side (possible in case of bridge crash). + library_initialized = executeRequest(uri, getInitLibraryCallback()); + return library_initialized; +} + + +bool ExternalDictionaryLibraryBridgeHelper::removeLibrary() +{ + /// Do not force bridge restart if it is not running in case of removeLibrary + /// because in this case after restart it will not have this dictionaty id in memory anyway. + if (bridgeHandShake()) + { + auto uri = createRequestURI(EXT_DICT_LIB_DELETE_METHOD); + return executeRequest(uri); + } + return true; +} + + +bool ExternalDictionaryLibraryBridgeHelper::isModified() +{ + startBridgeSync(); + auto uri = createRequestURI(EXT_DICT_IS_MODIFIED_METHOD); + return executeRequest(uri); +} + + +bool ExternalDictionaryLibraryBridgeHelper::supportsSelectiveLoad() +{ + startBridgeSync(); + auto uri = createRequestURI(EXT_DICT_SUPPORTS_SELECTIVE_LOAD_METHOD); + return executeRequest(uri); +} + + +QueryPipeline ExternalDictionaryLibraryBridgeHelper::loadAll() +{ + startBridgeSync(); + auto uri = createRequestURI(EXT_DICT_LOAD_ALL_METHOD); + return QueryPipeline(loadBase(uri)); +} + + +static String getDictIdsString(const std::vector & ids) +{ + WriteBufferFromOwnString out; + writeVectorBinary(ids, out); + return out.str(); +} + + +QueryPipeline ExternalDictionaryLibraryBridgeHelper::loadIds(const std::vector & ids) +{ + startBridgeSync(); + auto uri = createRequestURI(EXT_DICT_LOAD_IDS_METHOD); + uri.addQueryParameter("ids_num", toString(ids.size())); /// Not used parameter, but helpful + auto ids_string = getDictIdsString(ids); + return QueryPipeline(loadBase(uri, [ids_string](std::ostream & os) { os << ids_string; })); +} + + +QueryPipeline ExternalDictionaryLibraryBridgeHelper::loadKeys(const Block & requested_block) +{ + startBridgeSync(); + auto uri = createRequestURI(EXT_DICT_LOAD_KEYS_METHOD); + /// Sample block to parse block from callback + uri.addQueryParameter("requested_block_sample", requested_block.getNamesAndTypesList().toString()); + ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback = [requested_block, this](std::ostream & os) + { + WriteBufferFromOStream out_buffer(os); + auto output_format = getContext()->getOutputFormat(ExternalDictionaryLibraryBridgeHelper::DEFAULT_FORMAT, out_buffer, requested_block.cloneEmpty()); + formatBlock(output_format, requested_block); + }; + return QueryPipeline(loadBase(uri, out_stream_callback)); +} + + +bool ExternalDictionaryLibraryBridgeHelper::executeRequest(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback) const +{ + ReadWriteBufferFromHTTP buf( + uri, + Poco::Net::HTTPRequest::HTTP_POST, + std::move(out_stream_callback), + http_timeouts, credentials); + + bool res; + readBoolText(res, buf); + return res; +} + + +QueryPipeline ExternalDictionaryLibraryBridgeHelper::loadBase(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback) +{ + auto read_buf_ptr = std::make_unique( + uri, + Poco::Net::HTTPRequest::HTTP_POST, + std::move(out_stream_callback), + http_timeouts, + credentials, + 0, + DBMS_DEFAULT_BUFFER_SIZE, + getContext()->getReadSettings(), + ReadWriteBufferFromHTTP::HTTPHeaderEntries{}); + + auto source = FormatFactory::instance().getInput(ExternalDictionaryLibraryBridgeHelper::DEFAULT_FORMAT, *read_buf_ptr, sample_block, getContext(), DEFAULT_BLOCK_SIZE); + source->addBuffer(std::move(read_buf_ptr)); + return QueryPipeline(std::move(source)); +} + +} diff --git a/src/BridgeHelper/ExternalDictionaryLibraryBridgeHelper.h b/src/BridgeHelper/ExternalDictionaryLibraryBridgeHelper.h new file mode 100644 index 00000000000..feebf997387 --- /dev/null +++ b/src/BridgeHelper/ExternalDictionaryLibraryBridgeHelper.h @@ -0,0 +1,82 @@ +#pragma once + +#include +#include +#include +#include +#include +#include + + +namespace DB +{ + +class Pipe; + +// Class to access the external dictionary part of the clickhouse-library-bridge. +class ExternalDictionaryLibraryBridgeHelper : public LibraryBridgeHelper +{ + +public: + struct LibraryInitData + { + String library_path; + String library_settings; + String dict_attributes; + }; + + static constexpr inline auto PING_HANDLER = "/extdict_ping"; + static constexpr inline auto MAIN_HANDLER = "/extdict_request"; + + ExternalDictionaryLibraryBridgeHelper(ContextPtr context_, const Block & sample_block, const Field & dictionary_id_, const LibraryInitData & library_data_); + + bool initLibrary(); + + bool cloneLibrary(const Field & other_dictionary_id); + + bool removeLibrary(); + + bool isModified(); + + bool supportsSelectiveLoad(); + + QueryPipeline loadAll(); + + QueryPipeline loadIds(const std::vector & ids); + + QueryPipeline loadKeys(const Block & requested_block); + + LibraryInitData getLibraryData() const { return library_data; } + +protected: + Poco::URI getPingURI() const override; + + Poco::URI getMainURI() const override; + + bool bridgeHandShake() override; + + QueryPipeline loadBase(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback = {}); + + bool executeRequest(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback = {}) const; + + ReadWriteBufferFromHTTP::OutStreamCallback getInitLibraryCallback() const; + +private: + static constexpr inline auto EXT_DICT_LIB_NEW_METHOD = "extDict_libNew"; + static constexpr inline auto EXT_DICT_LIB_CLONE_METHOD = "extDict_libClone"; + static constexpr inline auto EXT_DICT_LIB_DELETE_METHOD = "extDict_libDelete"; + static constexpr inline auto EXT_DICT_LOAD_ALL_METHOD = "extDict_loadAll"; + static constexpr inline auto EXT_DICT_LOAD_IDS_METHOD = "extDict_loadIds"; + static constexpr inline auto EXT_DICT_LOAD_KEYS_METHOD = "extDict_loadKeys"; + static constexpr inline auto EXT_DICT_IS_MODIFIED_METHOD = "extDict_isModified"; + static constexpr inline auto EXT_DICT_SUPPORTS_SELECTIVE_LOAD_METHOD = "extDict_supportsSelectiveLoad"; + + Poco::URI createRequestURI(const String & method) const; + + const Block sample_block; + LibraryInitData library_data; + Field dictionary_id; + bool library_initialized = false; +}; + +} diff --git a/src/BridgeHelper/IBridgeHelper.cpp b/src/BridgeHelper/IBridgeHelper.cpp index 01ea1636a12..7d6ce74c698 100644 --- a/src/BridgeHelper/IBridgeHelper.cpp +++ b/src/BridgeHelper/IBridgeHelper.cpp @@ -18,22 +18,6 @@ namespace ErrorCodes } -Poco::URI IBridgeHelper::getMainURI() const -{ - auto uri = createBaseURI(); - uri.setPath(MAIN_HANDLER); - return uri; -} - - -Poco::URI IBridgeHelper::getPingURI() const -{ - auto uri = createBaseURI(); - uri.setPath(PING_HANDLER); - return uri; -} - - void IBridgeHelper::startBridgeSync() { if (!bridgeHandShake()) diff --git a/src/BridgeHelper/IBridgeHelper.h b/src/BridgeHelper/IBridgeHelper.h index 7c9b16e9014..5068e84f885 100644 --- a/src/BridgeHelper/IBridgeHelper.h +++ b/src/BridgeHelper/IBridgeHelper.h @@ -19,8 +19,6 @@ class IBridgeHelper: protected WithContext public: static constexpr inline auto DEFAULT_HOST = "127.0.0.1"; - static constexpr inline auto PING_HANDLER = "/ping"; - static constexpr inline auto MAIN_HANDLER = "/"; static constexpr inline auto DEFAULT_FORMAT = "RowBinary"; static constexpr inline auto PING_OK_ANSWER = "Ok."; @@ -31,9 +29,9 @@ public: virtual ~IBridgeHelper() = default; - Poco::URI getMainURI() const; + virtual Poco::URI getMainURI() const = 0; - Poco::URI getPingURI() const; + virtual Poco::URI getPingURI() const = 0; void startBridgeSync(); @@ -41,7 +39,6 @@ protected: /// Check bridge is running. Can also check something else in the mean time. virtual bool bridgeHandShake() = 0; - /// clickhouse-odbc-bridge, clickhouse-library-bridge virtual String serviceAlias() const = 0; virtual String serviceFileName() const = 0; diff --git a/src/BridgeHelper/LibraryBridgeHelper.cpp b/src/BridgeHelper/LibraryBridgeHelper.cpp index 6d830e0b691..d83e62a0fd3 100644 --- a/src/BridgeHelper/LibraryBridgeHelper.cpp +++ b/src/BridgeHelper/LibraryBridgeHelper.cpp @@ -1,56 +1,23 @@ #include "LibraryBridgeHelper.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - namespace DB { -namespace ErrorCodes -{ - extern const int EXTERNAL_LIBRARY_ERROR; - extern const int LOGICAL_ERROR; -} - -LibraryBridgeHelper::LibraryBridgeHelper( - ContextPtr context_, - const Block & sample_block_, - const Field & dictionary_id_, - const LibraryInitData & library_data_) - : IBridgeHelper(context_->getGlobalContext()) - , log(&Poco::Logger::get("LibraryBridgeHelper")) - , sample_block(sample_block_) +LibraryBridgeHelper::LibraryBridgeHelper(ContextPtr context_) + : IBridgeHelper(context_) , config(context_->getConfigRef()) + , log(&Poco::Logger::get("LibraryBridgeHelper")) , http_timeout(context_->getGlobalContext()->getSettingsRef().http_receive_timeout.value) - , library_data(library_data_) - , dictionary_id(dictionary_id_) + , bridge_host(config.getString("library_bridge.host", DEFAULT_HOST)) + , bridge_port(config.getUInt("library_bridge.port", DEFAULT_PORT)) , http_timeouts(ConnectionTimeouts::getHTTPTimeouts(context_)) { - bridge_port = config.getUInt("library_bridge.port", DEFAULT_PORT); - bridge_host = config.getString("library_bridge.host", DEFAULT_HOST); } -Poco::URI LibraryBridgeHelper::createRequestURI(const String & method) const +void LibraryBridgeHelper::startBridge(std::unique_ptr cmd) const { - auto uri = getMainURI(); - uri.addQueryParameter("dictionary_id", toString(dictionary_id)); - uri.addQueryParameter("method", method); - return uri; + getContext()->addBridgeCommand(std::move(cmd)); } @@ -64,215 +31,4 @@ Poco::URI LibraryBridgeHelper::createBaseURI() const } -void LibraryBridgeHelper::startBridge(std::unique_ptr cmd) const -{ - getContext()->addBridgeCommand(std::move(cmd)); -} - - -bool LibraryBridgeHelper::bridgeHandShake() -{ - String result; - try - { - ReadWriteBufferFromHTTP buf(createRequestURI(PING), Poco::Net::HTTPRequest::HTTP_GET, {}, http_timeouts, credentials); - readString(result, buf); - } - catch (...) - { - tryLogCurrentException(log); - return false; - } - - /* - * When pinging bridge we also pass current dicionary_id. The bridge will check if there is such - * dictionary. It is possible that such dictionary_id is not present only in two cases: - * 1. It is dictionary source creation and initialization of library handler on bridge side did not happen yet. - * 2. Bridge crashed or restarted for some reason while server did not. - **/ - if (result.size() != 1) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Unexpected message from library bridge: {}. Check bridge and server have the same version.", result); - - UInt8 dictionary_id_exists; - auto parsed = tryParse(dictionary_id_exists, result); - if (!parsed || (dictionary_id_exists != 0 && dictionary_id_exists != 1)) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Unexpected message from library bridge: {} ({}). Check bridge and server have the same version.", - result, parsed ? toString(dictionary_id_exists) : "failed to parse"); - - LOG_TRACE(log, "dictionary_id: {}, dictionary_id_exists on bridge side: {}, library confirmed to be initialized on server side: {}", - toString(dictionary_id), toString(dictionary_id_exists), library_initialized); - - if (dictionary_id_exists && !library_initialized) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Library was not initialized, but bridge responded to already have dictionary id: {}", dictionary_id); - - /// Here we want to say bridge to recreate a new library handler for current dictionary, - /// because it responded to have lost it, but we know that it has already been created. (It is a direct result of bridge crash). - if (!dictionary_id_exists && library_initialized) - { - LOG_WARNING(log, "Library bridge does not have library handler with dictionaty id: {}. It will be reinitialized.", dictionary_id); - bool reinitialized = false; - try - { - auto uri = createRequestURI(LIB_NEW_METHOD); - reinitialized = executeRequest(uri, getInitLibraryCallback()); - } - catch (...) - { - tryLogCurrentException(log); - return false; - } - - if (!reinitialized) - throw Exception(ErrorCodes::EXTERNAL_LIBRARY_ERROR, - "Failed to reinitialize library handler on bridge side for dictionary with id: {}", dictionary_id); - } - - return true; -} - - -ReadWriteBufferFromHTTP::OutStreamCallback LibraryBridgeHelper::getInitLibraryCallback() const -{ - /// Sample block must contain null values - WriteBufferFromOwnString out; - auto output_format = getContext()->getOutputFormat(LibraryBridgeHelper::DEFAULT_FORMAT, out, sample_block); - formatBlock(output_format, sample_block); - auto block_string = out.str(); - - return [block_string, this](std::ostream & os) - { - os << "library_path=" << escapeForFileName(library_data.library_path) << "&"; - os << "library_settings=" << escapeForFileName(library_data.library_settings) << "&"; - os << "attributes_names=" << escapeForFileName(library_data.dict_attributes) << "&"; - os << "sample_block=" << escapeForFileName(sample_block.getNamesAndTypesList().toString()) << "&"; - os << "null_values=" << escapeForFileName(block_string); - }; -} - - -bool LibraryBridgeHelper::initLibrary() -{ - startBridgeSync(); - auto uri = createRequestURI(LIB_NEW_METHOD); - library_initialized = executeRequest(uri, getInitLibraryCallback()); - return library_initialized; -} - - -bool LibraryBridgeHelper::cloneLibrary(const Field & other_dictionary_id) -{ - startBridgeSync(); - auto uri = createRequestURI(LIB_CLONE_METHOD); - uri.addQueryParameter("from_dictionary_id", toString(other_dictionary_id)); - /// We also pass initialization settings in order to create a library handler - /// in case from_dictionary_id does not exist in bridge side (possible in case of bridge crash). - library_initialized = executeRequest(uri, getInitLibraryCallback()); - return library_initialized; -} - - -bool LibraryBridgeHelper::removeLibrary() -{ - /// Do not force bridge restart if it is not running in case of removeLibrary - /// because in this case after restart it will not have this dictionaty id in memory anyway. - if (bridgeHandShake()) - { - auto uri = createRequestURI(LIB_DELETE_METHOD); - return executeRequest(uri); - } - return true; -} - - -bool LibraryBridgeHelper::isModified() -{ - startBridgeSync(); - auto uri = createRequestURI(IS_MODIFIED_METHOD); - return executeRequest(uri); -} - - -bool LibraryBridgeHelper::supportsSelectiveLoad() -{ - startBridgeSync(); - auto uri = createRequestURI(SUPPORTS_SELECTIVE_LOAD_METHOD); - return executeRequest(uri); -} - - -Pipe LibraryBridgeHelper::loadAll() -{ - startBridgeSync(); - auto uri = createRequestURI(LOAD_ALL_METHOD); - return loadBase(uri); -} - - -Pipe LibraryBridgeHelper::loadIds(const std::vector & ids) -{ - startBridgeSync(); - auto uri = createRequestURI(LOAD_IDS_METHOD); - uri.addQueryParameter("ids_num", toString(ids.size())); /// Not used parameter, but helpful - auto ids_string = getDictIdsString(ids); - return loadBase(uri, [ids_string](std::ostream & os) { os << ids_string; }); -} - - -Pipe LibraryBridgeHelper::loadKeys(const Block & requested_block) -{ - startBridgeSync(); - auto uri = createRequestURI(LOAD_KEYS_METHOD); - /// Sample block to parse block from callback - uri.addQueryParameter("requested_block_sample", requested_block.getNamesAndTypesList().toString()); - ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback = [requested_block, this](std::ostream & os) - { - WriteBufferFromOStream out_buffer(os); - auto output_format = getContext()->getOutputFormat(LibraryBridgeHelper::DEFAULT_FORMAT, out_buffer, requested_block.cloneEmpty()); - formatBlock(output_format, requested_block); - }; - return loadBase(uri, out_stream_callback); -} - - -bool LibraryBridgeHelper::executeRequest(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback) const -{ - ReadWriteBufferFromHTTP buf( - uri, - Poco::Net::HTTPRequest::HTTP_POST, - std::move(out_stream_callback), - http_timeouts, credentials); - - bool res; - readBoolText(res, buf); - return res; -} - - -Pipe LibraryBridgeHelper::loadBase(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback) -{ - auto read_buf_ptr = std::make_unique( - uri, - Poco::Net::HTTPRequest::HTTP_POST, - std::move(out_stream_callback), - http_timeouts, - credentials, - 0, - DBMS_DEFAULT_BUFFER_SIZE, - getContext()->getReadSettings(), - ReadWriteBufferFromHTTP::HTTPHeaderEntries{}); - - auto source = FormatFactory::instance().getInput(LibraryBridgeHelper::DEFAULT_FORMAT, *read_buf_ptr, sample_block, getContext(), DEFAULT_BLOCK_SIZE); - source->addBuffer(std::move(read_buf_ptr)); - return Pipe(std::move(source)); -} - - -String LibraryBridgeHelper::getDictIdsString(const std::vector & ids) -{ - WriteBufferFromOwnString out; - writeVectorBinary(ids, out); - return out.str(); -} - - } diff --git a/src/BridgeHelper/LibraryBridgeHelper.h b/src/BridgeHelper/LibraryBridgeHelper.h index 8cb0ca102b0..447a4c713f4 100644 --- a/src/BridgeHelper/LibraryBridgeHelper.h +++ b/src/BridgeHelper/LibraryBridgeHelper.h @@ -6,52 +6,16 @@ #include #include #include - +#include namespace DB { -class Pipe; - +// Common base class to access the clickhouse-library-bridge. class LibraryBridgeHelper : public IBridgeHelper { - -public: - struct LibraryInitData - { - String library_path; - String library_settings; - String dict_attributes; - }; - - static constexpr inline size_t DEFAULT_PORT = 9012; - - LibraryBridgeHelper(ContextPtr context_, const Block & sample_block, const Field & dictionary_id_, const LibraryInitData & library_data_); - - bool initLibrary(); - - bool cloneLibrary(const Field & other_dictionary_id); - - bool removeLibrary(); - - bool isModified(); - - bool supportsSelectiveLoad(); - - Pipe loadAll(); - - Pipe loadIds(const std::vector & ids); - - Pipe loadKeys(const Block & requested_block); - - Pipe loadBase(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback = {}); - - bool executeRequest(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback = {}) const; - - LibraryInitData getLibraryData() const { return library_data; } - protected: - bool bridgeHandShake() override; + explicit LibraryBridgeHelper(ContextPtr context_); void startBridge(std::unique_ptr cmd) const override; @@ -73,33 +37,13 @@ protected: Poco::URI createBaseURI() const override; - ReadWriteBufferFromHTTP::OutStreamCallback getInitLibraryCallback() const; + static constexpr inline size_t DEFAULT_PORT = 9012; -private: - static constexpr inline auto LIB_NEW_METHOD = "libNew"; - static constexpr inline auto LIB_CLONE_METHOD = "libClone"; - static constexpr inline auto LIB_DELETE_METHOD = "libDelete"; - static constexpr inline auto LOAD_ALL_METHOD = "loadAll"; - static constexpr inline auto LOAD_IDS_METHOD = "loadIds"; - static constexpr inline auto LOAD_KEYS_METHOD = "loadKeys"; - static constexpr inline auto IS_MODIFIED_METHOD = "isModified"; - static constexpr inline auto PING = "ping"; - static constexpr inline auto SUPPORTS_SELECTIVE_LOAD_METHOD = "supportsSelectiveLoad"; - - Poco::URI createRequestURI(const String & method) const; - - static String getDictIdsString(const std::vector & ids); - - Poco::Logger * log; - const Block sample_block; const Poco::Util::AbstractConfiguration & config; + Poco::Logger * log; const Poco::Timespan http_timeout; - - LibraryInitData library_data; - Field dictionary_id; std::string bridge_host; size_t bridge_port; - bool library_initialized = false; ConnectionTimeouts http_timeouts; Poco::Net::HTTPBasicCredentials credentials{}; }; diff --git a/src/BridgeHelper/XDBCBridgeHelper.h b/src/BridgeHelper/XDBCBridgeHelper.h index 1eb676f0d87..f2cd76d5d81 100644 --- a/src/BridgeHelper/XDBCBridgeHelper.h +++ b/src/BridgeHelper/XDBCBridgeHelper.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +54,8 @@ class XDBCBridgeHelper : public IXDBCBridgeHelper public: static constexpr inline auto DEFAULT_PORT = BridgeHelperMixin::DEFAULT_PORT; + static constexpr inline auto PING_HANDLER = "/ping"; + static constexpr inline auto MAIN_HANDLER = "/"; static constexpr inline auto COL_INFO_HANDLER = "/columns_info"; static constexpr inline auto IDENTIFIER_QUOTE_HANDLER = "/identifier_quote"; static constexpr inline auto SCHEMA_ALLOWED_HANDLER = "/schema_allowed"; @@ -72,6 +75,23 @@ public: } protected: + Poco::URI getPingURI() const override + { + auto uri = createBaseURI(); + uri.setPath(PING_HANDLER); + return uri; + } + + + Poco::URI getMainURI() const override + { + auto uri = createBaseURI(); + uri.setPath(MAIN_HANDLER); + uri.addQueryParameter("version", std::to_string(XDBC_BRIDGE_PROTOCOL_VERSION)); + return uri; + } + + bool bridgeHandShake() override { try @@ -145,6 +165,7 @@ protected: { auto uri = createBaseURI(); uri.setPath(COL_INFO_HANDLER); + uri.addQueryParameter("version", std::to_string(XDBC_BRIDGE_PROTOCOL_VERSION)); return uri; } @@ -166,6 +187,7 @@ protected: auto uri = createBaseURI(); uri.setPath(SCHEMA_ALLOWED_HANDLER); + uri.addQueryParameter("version", std::to_string(XDBC_BRIDGE_PROTOCOL_VERSION)); uri.addQueryParameter("connection_string", getConnectionString()); ReadWriteBufferFromHTTP buf(uri, Poco::Net::HTTPRequest::HTTP_POST, {}, ConnectionTimeouts::getHTTPTimeouts(getContext()), credentials); @@ -186,6 +208,7 @@ protected: auto uri = createBaseURI(); uri.setPath(IDENTIFIER_QUOTE_HANDLER); + uri.addQueryParameter("version", std::to_string(XDBC_BRIDGE_PROTOCOL_VERSION)); uri.addQueryParameter("connection_string", getConnectionString()); ReadWriteBufferFromHTTP buf(uri, Poco::Net::HTTPRequest::HTTP_POST, {}, ConnectionTimeouts::getHTTPTimeouts(getContext()), credentials); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 10bdc464ac6..8c8b62b9295 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -96,6 +96,10 @@ if (TARGET ch_contrib::rdkafka) add_headers_and_sources(dbms Storages/Kafka) endif() +if (TARGET ch_contrib::nats_io) + add_headers_and_sources(dbms Storages/NATS) +endif() + add_headers_and_sources(dbms Storages/MeiliSearch) if (TARGET ch_contrib::amqp_cpp) @@ -140,8 +144,8 @@ endif () list (APPEND clickhouse_common_io_sources ${CONFIG_BUILD}) list (APPEND clickhouse_common_io_headers ${CONFIG_VERSION} ${CONFIG_COMMON}) -list (APPEND dbms_sources Functions/IFunction.cpp Functions/FunctionFactory.cpp Functions/FunctionHelpers.cpp Functions/extractTimeZoneFromFunctionArguments.cpp Functions/replicate.cpp Functions/FunctionsLogical.cpp) -list (APPEND dbms_headers Functions/IFunction.h Functions/FunctionFactory.h Functions/FunctionHelpers.h Functions/extractTimeZoneFromFunctionArguments.h Functions/replicate.h Functions/FunctionsLogical.h) +list (APPEND dbms_sources Functions/IFunction.cpp Functions/FunctionFactory.cpp Functions/FunctionHelpers.cpp Functions/extractTimeZoneFromFunctionArguments.cpp Functions/FunctionsLogical.cpp Functions/indexHint.cpp) +list (APPEND dbms_headers Functions/IFunction.h Functions/FunctionFactory.h Functions/FunctionHelpers.h Functions/extractTimeZoneFromFunctionArguments.h Functions/FunctionsLogical.h Functions/indexHint.h) list (APPEND dbms_sources AggregateFunctions/IAggregateFunction.cpp @@ -342,6 +346,12 @@ set_source_files_properties( Columns/ColumnString.cpp PROPERTIES COMPILE_FLAGS "${X86_INTRINSICS_FLAGS}") +if (ENABLE_QPL) +set_source_files_properties( + Compression/CompressionCodecDeflateQpl.cpp + PROPERTIES COMPILE_FLAGS "-mwaitpkg") +endif () + target_link_libraries(clickhouse_common_io PUBLIC ch_contrib::re2_st) target_link_libraries(clickhouse_common_io PUBLIC ch_contrib::re2) @@ -371,6 +381,10 @@ if (TARGET ch_contrib::rdkafka) dbms_target_link_libraries(PRIVATE ch_contrib::rdkafka ch_contrib::cppkafka) endif() +if (TARGET ch_contrib::nats_io) + dbms_target_link_libraries(PRIVATE ch_contrib::nats_io ch_contrib::uv) +endif() + if (TARGET ch_contrib::sasl2) dbms_target_link_libraries(PRIVATE ch_contrib::sasl2) endif() @@ -393,11 +407,11 @@ dbms_target_link_libraries ( clickhouse_parsers ch_contrib::lz4 Poco::JSON - Poco::MongoDB string_utils PUBLIC boost::system clickhouse_common_io + Poco::MongoDB ) if (TARGET ch::mysqlxx) @@ -439,6 +453,9 @@ if (TARGET ch_contrib::avrocpp) dbms_target_link_libraries(PRIVATE ch_contrib::avrocpp) endif () +set_source_files_properties(Common/CaresPTRResolver.cpp PROPERTIES COMPILE_FLAGS -Wno-reserved-identifier) +target_link_libraries (clickhouse_common_io PRIVATE ch_contrib::c-ares) + if (TARGET OpenSSL::Crypto) dbms_target_link_libraries (PRIVATE OpenSSL::Crypto) target_link_libraries (clickhouse_common_io PRIVATE OpenSSL::Crypto) @@ -471,7 +488,7 @@ if (TARGET ch_contrib::aws_s3) endif() if (TARGET ch_contrib::azure_sdk) - target_link_libraries (clickhouse_common_io PUBLIC ch_contrib::azure_sdk) + dbms_target_link_libraries (PRIVATE ch_contrib::azure_sdk) endif() if (TARGET ch_contrib::s2) @@ -519,6 +536,10 @@ endif () target_link_libraries (clickhouse_common_io PRIVATE ch_contrib::lz4) +if (TARGET ch_contrib::qpl) +dbms_target_link_libraries(PUBLIC ch_contrib::qpl) +endif () + dbms_target_link_libraries(PRIVATE _boost_context) if (ENABLE_NLP) @@ -556,7 +577,7 @@ if (ENABLE_TESTS) # attach all dbms gtest sources grep_gtest_sources("${ClickHouse_SOURCE_DIR}/src" dbms_gtest_sources) - add_executable(unit_tests_dbms ${dbms_gtest_sources}) + clickhouse_add_executable(unit_tests_dbms ${dbms_gtest_sources}) # gtest framework has substandard code target_compile_options(unit_tests_dbms PRIVATE @@ -590,4 +611,3 @@ if (ENABLE_TESTS) add_check(unit_tests_dbms) endif () - diff --git a/src/Client/ClientBase.cpp b/src/Client/ClientBase.cpp index d678441d442..c399f01c565 100644 --- a/src/Client/ClientBase.cpp +++ b/src/Client/ClientBase.cpp @@ -57,6 +57,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -65,6 +69,7 @@ #include #include #include +#include namespace fs = std::filesystem; @@ -148,7 +153,6 @@ static void incrementProfileEventsBlock(Block & dst, const Block & src) auto & dst_column_host_name = typeid_cast(*mutable_columns[name_pos["host_name"]]); auto & dst_array_current_time = typeid_cast(*mutable_columns[name_pos["current_time"]]).getData(); - // auto & dst_array_thread_id = typeid_cast(*mutable_columns[name_pos["thread_id"]]).getData(); auto & dst_array_type = typeid_cast(*mutable_columns[name_pos["type"]]).getData(); auto & dst_column_name = typeid_cast(*mutable_columns[name_pos["name"]]); auto & dst_array_value = typeid_cast(*mutable_columns[name_pos["value"]]).getData(); @@ -400,7 +404,6 @@ void ClientBase::onData(Block & block, ASTPtr parsed_query) return; processed_rows += block.rows(); - /// Even if all blocks are empty, we still need to initialize the output stream to write empty resultset. initOutputFormat(block, parsed_query); @@ -411,7 +414,7 @@ void ClientBase::onData(Block & block, ASTPtr parsed_query) return; /// If results are written INTO OUTFILE, we can avoid clearing progress to avoid flicker. - if (need_render_progress && (stdout_is_a_tty || is_interactive) && !select_into_file) + if (need_render_progress && (stdout_is_a_tty || is_interactive) && (!select_into_file || select_into_file_and_stdout)) progress_indication.clearProgressOutput(); try @@ -431,7 +434,7 @@ void ClientBase::onData(Block & block, ASTPtr parsed_query) /// Restore progress bar after data block. if (need_render_progress && (stdout_is_a_tty || is_interactive)) { - if (select_into_file) + if (select_into_file && !select_into_file_and_stdout) std::cerr << "\r"; progress_indication.writeProgress(); } @@ -508,7 +511,7 @@ try String current_format = format; select_into_file = false; - + select_into_file_and_stdout = false; /// The query can specify output format or output file. if (const auto * query_with_output = dynamic_cast(parsed_query.get())) { @@ -520,19 +523,44 @@ try const auto & out_file_node = query_with_output->out_file->as(); out_file = out_file_node.value.safeGet(); - std::string compression_method; + std::string compression_method_string; + if (query_with_output->compression) { const auto & compression_method_node = query_with_output->compression->as(); - compression_method = compression_method_node.value.safeGet(); + compression_method_string = compression_method_node.value.safeGet(); + } + + CompressionMethod compression_method = chooseCompressionMethod(out_file, compression_method_string); + UInt64 compression_level = 3; + + if (query_with_output->compression_level) + { + const auto & compression_level_node = query_with_output->compression_level->as(); + bool res = compression_level_node.value.tryGet(compression_level); + auto range = getCompressionLevelRange(compression_method); + + if (!res || compression_level < range.first || compression_level > range.second) + throw Exception( + ErrorCodes::BAD_ARGUMENTS, + "Invalid compression level, must be positive integer in range {}-{}", + range.first, + range.second); } out_file_buf = wrapWriteBufferWithCompressionMethod( std::make_unique(out_file, DBMS_DEFAULT_BUFFER_SIZE, O_WRONLY | O_EXCL | O_CREAT), - chooseCompressionMethod(out_file, compression_method), - /* compression level = */ 3 + compression_method, + compression_level ); + if (query_with_output->is_into_outfile_with_stdout) + { + select_into_file_and_stdout = true; + out_file_buf = std::make_unique(std::vector{std::move(out_file_buf), + std::make_shared(STDOUT_FILENO)}); + } + // We are writing to file, so default format is the same as in non-interactive mode. if (is_interactive && is_default_format) current_format = "TabSeparated"; @@ -555,9 +583,14 @@ try if (has_vertical_output_suffix) current_format = "Vertical"; - /// It is not clear how to write progress intermixed with data with parallel formatting. + bool logs_into_stdout = server_logs_file == "-"; + bool extras_into_stdout = need_render_progress || logs_into_stdout; + bool select_only_into_file = select_into_file && !select_into_file_and_stdout; + + /// It is not clear how to write progress and logs + /// intermixed with data with parallel formatting. /// It may increase code complexity significantly. - if (!need_render_progress || select_into_file) + if (!extras_into_stdout || select_only_into_file) output_format = global_context->getOutputFormatParallelIfPossible( current_format, out_file_buf ? *out_file_buf : *out_buf, block); else @@ -579,6 +612,7 @@ void ClientBase::initLogsOutputStream() { WriteBuffer * wb = out_logs_buf.get(); + bool color_logs = false; if (!out_logs_buf) { if (server_logs_file.empty()) @@ -586,11 +620,13 @@ void ClientBase::initLogsOutputStream() /// Use stderr by default out_logs_buf = std::make_unique(STDERR_FILENO); wb = out_logs_buf.get(); + color_logs = stderr_is_a_tty; } else if (server_logs_file == "-") { /// Use stdout if --server_logs_file=- specified wb = &std_out; + color_logs = stdout_is_a_tty; } else { @@ -600,7 +636,7 @@ void ClientBase::initLogsOutputStream() } } - logs_out_stream = std::make_unique(*wb, stdout_is_a_tty); + logs_out_stream = std::make_unique(*wb, color_logs); } } @@ -704,8 +740,10 @@ void ClientBase::processOrdinaryQuery(const String & query_to_execute, ASTPtr pa /// Rewrite query only when we have query parameters. /// Note that if query is rewritten, comments in query are lost. /// But the user often wants to see comments in server logs, query log, processlist, etc. + /// For recent versions of the server query parameters will be transferred by network and applied on the server side. auto query = query_to_execute; - if (!query_parameters.empty()) + if (!query_parameters.empty() + && connection->getServerRevision(connection_parameters.timeouts) < DBMS_MIN_PROTOCOL_VERSION_WITH_PARAMETERS) { /// Replace ASTQueryParameter with ASTLiteral for prepared statements. ReplaceQueryParameterVisitor visitor(query_parameters); @@ -726,6 +764,7 @@ void ClientBase::processOrdinaryQuery(const String & query_to_execute, ASTPtr pa connection->sendQuery( connection_parameters.timeouts, query, + query_parameters, global_context->getCurrentQueryId(), query_processing_stage, &global_context->getSettingsRef(), @@ -946,21 +985,19 @@ void ClientBase::onProfileEvents(Block & block) progress_indication.addThreadIdToList(host_name, thread_id); auto event_name = names.getDataAt(i); auto value = array_values[i]; + + /// Ignore negative time delta or memory usage just in case. + if (value < 0) + continue; + if (event_name == user_time_name) - { thread_times[host_name][thread_id].user_ms = value; - } else if (event_name == system_time_name) - { thread_times[host_name][thread_id].system_ms = value; - } else if (event_name == MemoryTracker::USAGE_EVENT_NAME) - { thread_times[host_name][thread_id].memory_usage = value; - } } - auto elapsed_time = profile_events.watch.elapsedMicroseconds(); - progress_indication.updateThreadEventData(thread_times, elapsed_time); + progress_indication.updateThreadEventData(thread_times); if (need_render_progress) progress_indication.writeProgress(); @@ -1053,7 +1090,8 @@ bool ClientBase::receiveSampleBlock(Block & out, ColumnsDescription & columns_de void ClientBase::processInsertQuery(const String & query_to_execute, ASTPtr parsed_query) { auto query = query_to_execute; - if (!query_parameters.empty()) + if (!query_parameters.empty() + && connection->getServerRevision(connection_parameters.timeouts) < DBMS_MIN_PROTOCOL_VERSION_WITH_PARAMETERS) { /// Replace ASTQueryParameter with ASTLiteral for prepared statements. ReplaceQueryParameterVisitor visitor(query_parameters); @@ -1080,6 +1118,7 @@ void ClientBase::processInsertQuery(const String & query_to_execute, ASTPtr pars connection->sendQuery( connection_parameters.timeouts, query, + query_parameters, global_context->getCurrentQueryId(), query_processing_stage, &global_context->getSettingsRef(), @@ -1122,7 +1161,7 @@ void ClientBase::sendData(Block & sample, const ColumnsDescription & columns_des if (need_render_progress && have_data_in_stdin) { /// Set total_bytes_to_read for current fd. - FileProgress file_progress(0, std_in.size()); + FileProgress file_progress(0, std_in.getFileSize()); progress_indication.updateProgress(Progress(file_progress)); /// Set callback to be called on file progress. @@ -1166,16 +1205,26 @@ void ClientBase::sendData(Block & sample, const ColumnsDescription & columns_des try { auto metadata = storage->getInMemoryMetadataPtr(); + QueryPlan plan; + storage->read( + plan, + sample.getNames(), + storage->getStorageSnapshot(metadata, global_context), + query_info, + global_context, + {}, + global_context->getSettingsRef().max_block_size, + getNumberOfPhysicalCPUCores()); + + auto builder = plan.buildQueryPipeline( + QueryPlanOptimizationSettings::fromContext(global_context), + BuildQueryPipelineSettings::fromContext(global_context)); + + QueryPlanResourceHolder resources; + auto pipe = QueryPipelineBuilder::getPipe(std::move(*builder), resources); + sendDataFromPipe( - storage->read( - sample.getNames(), - storage->getStorageSnapshot(metadata, global_context), - query_info, - global_context, - {}, - global_context->getSettingsRef().max_block_size, - getNumberOfPhysicalCPUCores() - ), + std::move(pipe), parsed_query, have_data_in_stdin ); @@ -1262,7 +1311,7 @@ try } /// Check if server send Log packet - receiveLogs(parsed_query); + receiveLogsAndProfileEvents(parsed_query); /// Check if server send Exception packet auto packet_type = connection->checkPacket(0); @@ -1315,11 +1364,11 @@ void ClientBase::sendDataFromStdin(Block & sample, const ColumnsDescription & co /// Process Log packets, used when inserting data by blocks -void ClientBase::receiveLogs(ASTPtr parsed_query) +void ClientBase::receiveLogsAndProfileEvents(ASTPtr parsed_query) { auto packet_type = connection->checkPacket(0); - while (packet_type && *packet_type == Protocol::Server::Log) + while (packet_type && (*packet_type == Protocol::Server::Log || *packet_type == Protocol::Server::ProfileEvents)) { receiveAndProcessPacket(parsed_query, false); packet_type = connection->checkPacket(0); @@ -1442,7 +1491,7 @@ void ClientBase::processParsedSingleQuery(const String & full_query, const Strin if (with_output && with_output->settings_ast) apply_query_settings(*with_output->settings_ast); - if (!connection->checkConnected()) + if (!connection->checkConnected(connection_parameters.timeouts)) connect(); ASTPtr input_function; @@ -1786,7 +1835,7 @@ bool ClientBase::executeMultiQuery(const String & all_queries_text) have_error = false; - if (!connection->checkConnected()) + if (!connection->checkConnected(connection_parameters.timeouts)) connect(); } @@ -1821,9 +1870,21 @@ bool ClientBase::executeMultiQuery(const String & all_queries_text) bool ClientBase::processQueryText(const String & text) { - if (exit_strings.end() != exit_strings.find(trim(text, [](char c) { return isWhitespaceASCII(c) || c == ';'; }))) + auto trimmed_input = trim(text, [](char c) { return isWhitespaceASCII(c) || c == ';'; }); + + if (exit_strings.end() != exit_strings.find(trimmed_input)) return false; + if (trimmed_input.starts_with("\\i")) + { + size_t skip_prefix_size = std::strlen("\\i"); + auto file_name = trim( + trimmed_input.substr(skip_prefix_size, trimmed_input.size() - skip_prefix_size), + [](char c) { return isWhitespaceASCII(c); }); + + return processMultiQueryFromFile(file_name); + } + if (!is_multiquery) { assert(!query_fuzzer_runs); @@ -1991,7 +2052,7 @@ void ClientBase::runInteractive() /// Client-side exception during query execution can result in the loss of /// sync in the connection protocol. /// So we reconnect and allow to enter the next query. - if (!connection->checkConnected()) + if (!connection->checkConnected(connection_parameters.timeouts)) connect(); } } @@ -2006,6 +2067,17 @@ void ClientBase::runInteractive() } +bool ClientBase::processMultiQueryFromFile(const String & file_name) +{ + String queries_from_file; + + ReadBufferFromFile in(file_name); + readStringUntilEOF(queries_from_file, in); + + return executeMultiQuery(queries_from_file); +} + + void ClientBase::runNonInteractive() { if (delayed_interactive) @@ -2013,23 +2085,13 @@ void ClientBase::runNonInteractive() if (!queries_files.empty()) { - auto process_multi_query_from_file = [&](const String & file) - { - String queries_from_file; - - ReadBufferFromFile in(file); - readStringUntilEOF(queries_from_file, in); - - return executeMultiQuery(queries_from_file); - }; - for (const auto & queries_file : queries_files) { for (const auto & interleave_file : interleave_queries_files) - if (!process_multi_query_from_file(interleave_file)) + if (!processMultiQueryFromFile(interleave_file)) return; - if (!process_multi_query_from_file(queries_file)) + if (!processMultiQueryFromFile(queries_file)) return; } @@ -2111,6 +2173,7 @@ void ClientBase::init(int argc, char ** argv) stdin_is_a_tty = isatty(STDIN_FILENO); stdout_is_a_tty = isatty(STDOUT_FILENO); + stderr_is_a_tty = isatty(STDERR_FILENO); terminal_width = getTerminalWidth(); Arguments common_arguments{""}; /// 0th argument is ignored. diff --git a/src/Client/ClientBase.h b/src/Client/ClientBase.h index d11977e984a..6b19c1b8e02 100644 --- a/src/Client/ClientBase.h +++ b/src/Client/ClientBase.h @@ -117,7 +117,7 @@ protected: private: void receiveResult(ASTPtr parsed_query); bool receiveAndProcessPacket(ASTPtr parsed_query, bool cancelled_); - void receiveLogs(ASTPtr parsed_query); + void receiveLogsAndProfileEvents(ASTPtr parsed_query); bool receiveSampleBlock(Block & out, ColumnsDescription & columns_description, ASTPtr parsed_query); bool receiveEndOfQuery(); void cancelQuery(); @@ -154,6 +154,7 @@ private: protected: static bool isSyncInsertWithData(const ASTInsertQuery & insert_query, const ContextPtr & context); + bool processMultiQueryFromFile(const String & file_name); bool is_interactive = false; /// Use either interactive line editing interface or batch mode. bool is_multiquery = false; @@ -172,6 +173,7 @@ protected: bool stdin_is_a_tty = false; /// stdin is a terminal. bool stdout_is_a_tty = false; /// stdout is a terminal. + bool stderr_is_a_tty = false; /// stderr is a terminal. uint64_t terminal_width = 0; ServerConnectionPtr connection; @@ -179,6 +181,7 @@ protected: String format; /// Query results output format. bool select_into_file = false; /// If writing result INTO OUTFILE. It affects progress rendering. + bool select_into_file_and_stdout = false; /// If writing result INTO OUTFILE AND STDOUT. It affects progress rendering. bool is_default_format = true; /// false, if format is set in the config or command line. size_t format_max_block_size = 0; /// Max block size for console output. String insert_format; /// Format of INSERT data that is read from stdin in batch mode. diff --git a/src/Client/Connection.cpp b/src/Client/Connection.cpp index 50413b45c6b..5047f958a10 100644 --- a/src/Client/Connection.cpp +++ b/src/Client/Connection.cpp @@ -64,20 +64,19 @@ Connection::~Connection() = default; Connection::Connection(const String & host_, UInt16 port_, const String & default_database_, const String & user_, const String & password_, + const String & quota_key_, const String & cluster_, const String & cluster_secret_, const String & client_name_, Protocol::Compression compression_, - Protocol::Secure secure_, - Poco::Timespan sync_request_timeout_) + Protocol::Secure secure_) : host(host_), port(port_), default_database(default_database_) - , user(user_), password(password_) + , user(user_), password(password_), quota_key(quota_key_) , cluster(cluster_) , cluster_secret(cluster_secret_) , client_name(client_name_) , compression(compression_) , secure(secure_) - , sync_request_timeout(sync_request_timeout_) , log_wrapper(*this) { /// Don't connect immediately, only on first need. @@ -169,6 +168,8 @@ void Connection::connect(const ConnectionTimeouts & timeouts) sendHello(); receiveHello(); + if (server_revision >= DBMS_MIN_PROTOCOL_VERSION_WITH_ADDENDUM) + sendAddendum(); LOG_TRACE(log_wrapper.get(), "Connected to {} server version {}.{}.{}.", server_name, server_version_major, server_version_minor, server_version_patch); @@ -266,6 +267,14 @@ void Connection::sendHello() } +void Connection::sendAddendum() +{ + if (server_revision >= DBMS_MIN_PROTOCOL_VERSION_WITH_QUOTA_KEY) + writeStringBinary(quota_key, *out); + out->next(); +} + + void Connection::receiveHello() { /// Receive hello packet. @@ -375,7 +384,7 @@ void Connection::forceConnected(const ConnectionTimeouts & timeouts) { connect(timeouts); } - else if (!ping()) + else if (!ping(timeouts)) { LOG_TRACE(log_wrapper.get(), "Connection was closed, will reconnect."); connect(timeouts); @@ -395,13 +404,11 @@ void Connection::sendClusterNameAndSalt() } #endif -bool Connection::ping() +bool Connection::ping(const ConnectionTimeouts & timeouts) { - // LOG_TRACE(log_wrapper.get(), "Ping"); - try { - TimeoutSetter timeout_setter(*socket, sync_request_timeout, true); + TimeoutSetter timeout_setter(*socket, timeouts.sync_request_timeout, true); UInt64 pong = 0; writeVarUInt(Protocol::Client::Ping, *out); @@ -445,7 +452,7 @@ TablesStatusResponse Connection::getTablesStatus(const ConnectionTimeouts & time if (!connected) connect(timeouts); - TimeoutSetter timeout_setter(*socket, sync_request_timeout, true); + TimeoutSetter timeout_setter(*socket, timeouts.sync_request_timeout, true); writeVarUInt(Protocol::Client::TablesStatusRequest, *out); request.write(*out, server_revision); @@ -468,6 +475,7 @@ TablesStatusResponse Connection::getTablesStatus(const ConnectionTimeouts & time void Connection::sendQuery( const ConnectionTimeouts & timeouts, const String & query, + const NameToNameMap & query_parameters, const String & query_id_, UInt64 stage, const Settings * settings, @@ -560,6 +568,14 @@ void Connection::sendQuery( writeStringBinary(query, *out); + if (server_revision >= DBMS_MIN_PROTOCOL_VERSION_WITH_PARAMETERS) + { + Settings params; + for (const auto & [name, value] : query_parameters) + params.set(name, value); + params.write(*out, SettingsWriteFormat::STRINGS_WITH_FLAGS); + } + maybe_compressed_in.reset(); maybe_compressed_out.reset(); block_in.reset(); @@ -768,8 +784,7 @@ void Connection::sendExternalTablesData(ExternalTablesData & data) if (!elem->pipe) elem->pipe = elem->creating_pipe_callback(); - QueryPipelineBuilder pipeline; - pipeline.init(std::move(*elem->pipe)); + QueryPipelineBuilder pipeline = std::move(*elem->pipe); elem->pipe.reset(); pipeline.resize(1); auto sink = std::make_shared(pipeline.getHeader(), *this, *elem, std::move(on_cancel)); @@ -841,7 +856,6 @@ std::optional Connection::checkPacket(size_t timeout_microseconds) if (hasReadPendingData() || poll(timeout_microseconds)) { - // LOG_TRACE(log_wrapper.get(), "Receiving packet type"); UInt64 packet_type; readVarUInt(packet_type, *in); @@ -1087,6 +1101,7 @@ ServerConnectionPtr Connection::createConnection(const ConnectionParameters & pa parameters.default_database, parameters.user, parameters.password, + parameters.quota_key, "", /* cluster */ "", /* cluster_secret */ "client", diff --git a/src/Client/Connection.h b/src/Client/Connection.h index d00a5760a8d..a92f78fad46 100644 --- a/src/Client/Connection.h +++ b/src/Client/Connection.h @@ -51,12 +51,12 @@ public: Connection(const String & host_, UInt16 port_, const String & default_database_, const String & user_, const String & password_, + const String & quota_key_, const String & cluster_, const String & cluster_secret_, const String & client_name_, Protocol::Compression compression_, - Protocol::Secure secure_, - Poco::Timespan sync_request_timeout_ = Poco::Timespan(DBMS_DEFAULT_SYNC_REQUEST_TIMEOUT_SEC, 0)); + Protocol::Secure secure_); ~Connection() override; @@ -96,6 +96,7 @@ public: void sendQuery( const ConnectionTimeouts & timeouts, const String & query, + const NameToNameMap& query_parameters, const String & query_id_/* = "" */, UInt64 stage/* = QueryProcessingStage::Complete */, const Settings * settings/* = nullptr */, @@ -123,7 +124,7 @@ public: bool isConnected() const override { return connected; } - bool checkConnected() override { return connected && ping(); } + bool checkConnected(const ConnectionTimeouts & timeouts) override { return connected && ping(timeouts); } void disconnect() override; @@ -159,6 +160,7 @@ private: String default_database; String user; String password; + String quota_key; /// For inter-server authorization String cluster; @@ -205,8 +207,6 @@ private: */ ThrottlerPtr throttler; - Poco::Timespan sync_request_timeout; - /// From where to read query execution result. std::shared_ptr maybe_compressed_in; std::unique_ptr block_in; @@ -245,12 +245,13 @@ private: void connect(const ConnectionTimeouts & timeouts); void sendHello(); + void sendAddendum(); void receiveHello(); #if USE_SSL void sendClusterNameAndSalt(); #endif - bool ping(); + bool ping(const ConnectionTimeouts & timeouts); Block receiveData(); Block receiveLogData(); diff --git a/src/Client/ConnectionParameters.cpp b/src/Client/ConnectionParameters.cpp index 3101176101b..6d538fee307 100644 --- a/src/Client/ConnectionParameters.cpp +++ b/src/Client/ConnectionParameters.cpp @@ -58,6 +58,7 @@ ConnectionParameters::ConnectionParameters(const Poco::Util::AbstractConfigurati if (auto * result = readpassphrase(prompt.c_str(), buf, sizeof(buf), 0)) password = result; } + quota_key = config.getString("quota_key", ""); /// By default compression is disabled if address looks like localhost. compression = config.getBool("compression", !isLocalAddress(DNSResolver::instance().resolveHost(host))) @@ -68,6 +69,8 @@ ConnectionParameters::ConnectionParameters(const Poco::Util::AbstractConfigurati Poco::Timespan(config.getInt("send_timeout", DBMS_DEFAULT_SEND_TIMEOUT_SEC), 0), Poco::Timespan(config.getInt("receive_timeout", DBMS_DEFAULT_RECEIVE_TIMEOUT_SEC), 0), Poco::Timespan(config.getInt("tcp_keep_alive_timeout", 0), 0)); + + timeouts.sync_request_timeout = Poco::Timespan(config.getInt("sync_request_timeout", DBMS_DEFAULT_SYNC_REQUEST_TIMEOUT_SEC), 0); } ConnectionParameters::ConnectionParameters(const Poco::Util::AbstractConfiguration & config) diff --git a/src/Client/ConnectionParameters.h b/src/Client/ConnectionParameters.h index ae204296fbf..0ccd6b92290 100644 --- a/src/Client/ConnectionParameters.h +++ b/src/Client/ConnectionParameters.h @@ -18,6 +18,7 @@ struct ConnectionParameters std::string default_database; std::string user; std::string password; + std::string quota_key; Protocol::Secure security = Protocol::Secure::Disable; Protocol::Compression compression = Protocol::Compression::Enable; ConnectionTimeouts timeouts; diff --git a/src/Client/ConnectionPool.cpp b/src/Client/ConnectionPool.cpp index c5f398c899f..8433b0833fa 100644 --- a/src/Client/ConnectionPool.cpp +++ b/src/Client/ConnectionPool.cpp @@ -12,6 +12,7 @@ ConnectionPoolPtr ConnectionPoolFactory::get( String default_database, String user, String password, + String quota_key, String cluster, String cluster_secret, String client_name, @@ -20,9 +21,9 @@ ConnectionPoolPtr ConnectionPoolFactory::get( Int64 priority) { Key key{ - max_connections, host, port, default_database, user, password, cluster, cluster_secret, client_name, compression, secure, priority}; + max_connections, host, port, default_database, user, password, quota_key, cluster, cluster_secret, client_name, compression, secure, priority}; - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); auto [it, inserted] = pools.emplace(key, ConnectionPoolPtr{}); if (!inserted) if (auto res = it->second.lock()) @@ -37,6 +38,7 @@ ConnectionPoolPtr ConnectionPoolFactory::get( default_database, user, password, + quota_key, cluster, cluster_secret, client_name, diff --git a/src/Client/ConnectionPool.h b/src/Client/ConnectionPool.h index ec1233df1b5..c3d0955019e 100644 --- a/src/Client/ConnectionPool.h +++ b/src/Client/ConnectionPool.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace DB { @@ -53,6 +54,7 @@ public: const String & default_database_, const String & user_, const String & password_, + const String & quota_key_, const String & cluster_, const String & cluster_secret_, const String & client_name_, @@ -66,6 +68,7 @@ public: default_database(default_database_), user(user_), password(password_), + quota_key(quota_key_), cluster(cluster_), cluster_secret(cluster_secret_), client_name(client_name_), @@ -111,7 +114,7 @@ protected: { return std::make_shared( host, port, - default_database, user, password, + default_database, user, password, quota_key, cluster, cluster_secret, client_name, compression, secure); } @@ -122,6 +125,7 @@ private: String default_database; String user; String password; + String quota_key; /// For inter-server authorization String cluster; @@ -148,6 +152,7 @@ public: String default_database; String user; String password; + String quota_key; String cluster; String cluster_secret; String client_name; @@ -170,6 +175,7 @@ public: String default_database, String user, String password, + String quota_key, String cluster, String cluster_secret, String client_name, @@ -179,7 +185,7 @@ public: private: mutable std::mutex mutex; using ConnectionPoolWeakPtr = std::weak_ptr; - std::unordered_map pools; + std::unordered_map pools TSA_GUARDED_BY(mutex); }; inline bool operator==(const ConnectionPoolFactory::Key & lhs, const ConnectionPoolFactory::Key & rhs) diff --git a/src/Client/ConnectionPoolWithFailover.cpp b/src/Client/ConnectionPoolWithFailover.cpp index 13d39980e1c..f2a07b64432 100644 --- a/src/Client/ConnectionPoolWithFailover.cpp +++ b/src/Client/ConnectionPoolWithFailover.cpp @@ -20,6 +20,7 @@ namespace DB namespace ErrorCodes { extern const int LOGICAL_ERROR; + extern const int ALL_CONNECTION_TRIES_FAILED; } @@ -45,6 +46,9 @@ IConnectionPool::Entry ConnectionPoolWithFailover::get(const ConnectionTimeouts const Settings * settings, bool /*force_connected*/) { + if (nested_pools.empty()) + throw DB::Exception(DB::ErrorCodes::ALL_CONNECTION_TRIES_FAILED, "Cannot get connection from ConnectionPoolWithFailover cause nested pools are empty"); + TryGetEntryFunc try_get_entry = [&](NestedPool & pool, std::string & fail_message) { return tryGetEntry(pool, timeouts, fail_message, settings); @@ -167,6 +171,9 @@ std::vector ConnectionPoolWithFailover::g PoolMode pool_mode, const TryGetEntryFunc & try_get_entry) { + if (nested_pools.empty()) + throw DB::Exception(DB::ErrorCodes::ALL_CONNECTION_TRIES_FAILED, "Cannot get connection from ConnectionPoolWithFailover cause nested pools are empty"); + size_t min_entries = (settings && settings->skip_unavailable_shards) ? 0 : 1; size_t max_tries = (settings ? size_t{settings->connections_with_failover_max_tries} : diff --git a/src/Client/HedgedConnections.cpp b/src/Client/HedgedConnections.cpp index 9f0ead79981..f1802467b57 100644 --- a/src/Client/HedgedConnections.cpp +++ b/src/Client/HedgedConnections.cpp @@ -183,7 +183,7 @@ void HedgedConnections::sendQuery( modified_settings.parallel_replica_offset = fd_to_replica_location[replica.packet_receiver->getFileDescriptor()].offset; } - replica.connection->sendQuery(timeouts, query, query_id, stage, &modified_settings, &client_info, with_pending_data, {}); + replica.connection->sendQuery(timeouts, query, /* query_parameters */ {}, query_id, stage, &modified_settings, &client_info, with_pending_data, {}); replica.change_replica_timeout.setRelative(timeouts.receive_data_timeout); replica.packet_receiver->setReceiveTimeout(hedged_connections_factory.getConnectionTimeouts().receive_timeout); }; diff --git a/src/Client/IServerConnection.h b/src/Client/IServerConnection.h index dfa4873e426..5a09f23a70c 100644 --- a/src/Client/IServerConnection.h +++ b/src/Client/IServerConnection.h @@ -44,9 +44,9 @@ struct Packet struct ExternalTableData { /// Pipe of data form table; - std::unique_ptr pipe; + std::unique_ptr pipe; std::string table_name; - std::function()> creating_pipe_callback; + std::function()> creating_pipe_callback; /// Flag if need to stop reading. std::atomic_bool is_cancelled = false; }; @@ -86,6 +86,7 @@ public: virtual void sendQuery( const ConnectionTimeouts & timeouts, const String & query, + const NameToNameMap & query_parameters, const String & query_id_, UInt64 stage, const Settings * settings, @@ -121,7 +122,7 @@ public: virtual bool isConnected() const = 0; /// Check if connection is still active with ping request. - virtual bool checkConnected() = 0; + virtual bool checkConnected(const ConnectionTimeouts & /*timeouts*/) = 0; /** Disconnect. * This may be used, if connection is left in unsynchronised state diff --git a/src/Client/LocalConnection.cpp b/src/Client/LocalConnection.cpp index 0707b0bcdc0..b10e24f1ae4 100644 --- a/src/Client/LocalConnection.cpp +++ b/src/Client/LocalConnection.cpp @@ -18,6 +18,7 @@ namespace ErrorCodes extern const int UNKNOWN_PACKET_FROM_SERVER; extern const int UNKNOWN_EXCEPTION; extern const int NOT_IMPLEMENTED; + extern const int LOGICAL_ERROR; } LocalConnection::LocalConnection(ContextPtr context_, bool send_progress_, bool send_profile_events_, const String & server_display_name_) @@ -62,14 +63,19 @@ void LocalConnection::updateProgress(const Progress & value) state->progress.incrementPiecewiseAtomically(value); } -void LocalConnection::getProfileEvents(Block & block) +void LocalConnection::sendProfileEvents() { - ProfileEvents::getProfileEvents(server_display_name, state->profile_queue, block, last_sent_snapshots); + Block profile_block; + state->after_send_profile_events.restart(); + next_packet_type = Protocol::Server::ProfileEvents; + ProfileEvents::getProfileEvents(server_display_name, state->profile_queue, profile_block, last_sent_snapshots); + state->block.emplace(std::move(profile_block)); } void LocalConnection::sendQuery( const ConnectionTimeouts &, const String & query, + const NameToNameMap & query_parameters, const String & query_id, UInt64 stage, const Settings *, @@ -77,6 +83,9 @@ void LocalConnection::sendQuery( bool, std::function process_progress_callback) { + if (!query_parameters.empty()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "clickhouse local does not support query parameters"); + /// Suggestion comes without client_info. if (client_info) query_context = session.makeQueryContext(*client_info); @@ -192,13 +201,14 @@ void LocalConnection::sendData(const Block & block, const String &, bool) return; if (state->pushing_async_executor) - { state->pushing_async_executor->push(block); - } else if (state->pushing_executor) - { state->pushing_executor->push(block); - } + else + throw Exception("Unknown executor", ErrorCodes::LOGICAL_ERROR); + + if (send_profile_events) + sendProfileEvents(); } void LocalConnection::sendCancel() @@ -264,11 +274,7 @@ bool LocalConnection::poll(size_t) if (send_profile_events && (state->after_send_profile_events.elapsedMicroseconds() >= query_context->getSettingsRef().interactive_delay)) { - Block block; - state->after_send_profile_events.restart(); - next_packet_type = Protocol::Server::ProfileEvents; - getProfileEvents(block); - state->block.emplace(std::move(block)); + sendProfileEvents(); return true; } @@ -349,11 +355,7 @@ bool LocalConnection::poll(size_t) if (send_profile_events && state->executor) { - Block block; - state->after_send_profile_events.restart(); - next_packet_type = Protocol::Server::ProfileEvents; - getProfileEvents(block); - state->block.emplace(std::move(block)); + sendProfileEvents(); return true; } } diff --git a/src/Client/LocalConnection.h b/src/Client/LocalConnection.h index 1ad6ad73238..7967874d11f 100644 --- a/src/Client/LocalConnection.h +++ b/src/Client/LocalConnection.h @@ -94,6 +94,7 @@ public: void sendQuery( const ConnectionTimeouts & timeouts, const String & query, + const NameToNameMap & query_parameters, const String & query_id/* = "" */, UInt64 stage/* = QueryProcessingStage::Complete */, const Settings * settings/* = nullptr */, @@ -121,7 +122,7 @@ public: bool isConnected() const override { return true; } - bool checkConnected() override { return true; } + bool checkConnected(const ConnectionTimeouts & /*timeouts*/) override { return true; } void disconnect() override {} @@ -142,7 +143,7 @@ private: void updateProgress(const Progress & value); - void getProfileEvents(Block & block); + void sendProfileEvents(); bool pollImpl(); diff --git a/src/Client/MultiplexedConnections.cpp b/src/Client/MultiplexedConnections.cpp index b14ff9f2c8d..72cd4c46477 100644 --- a/src/Client/MultiplexedConnections.cpp +++ b/src/Client/MultiplexedConnections.cpp @@ -160,15 +160,15 @@ void MultiplexedConnections::sendQuery( if (enable_sample_offset_parallel_processing) modified_settings.parallel_replica_offset = i; - replica_states[i].connection->sendQuery(timeouts, query, query_id, - stage, &modified_settings, &client_info, with_pending_data, {}); + replica_states[i].connection->sendQuery( + timeouts, query, /* query_parameters */ {}, query_id, stage, &modified_settings, &client_info, with_pending_data, {}); } } else { /// Use single replica. - replica_states[0].connection->sendQuery(timeouts, query, query_id, - stage, &modified_settings, &client_info, with_pending_data, {}); + replica_states[0].connection->sendQuery( + timeouts, query, /* query_parameters */ {}, query_id, stage, &modified_settings, &client_info, with_pending_data, {}); } sent_query = true; diff --git a/src/Client/QueryFuzzer.cpp b/src/Client/QueryFuzzer.cpp index 703e6de82c6..787fad5990a 100644 --- a/src/Client/QueryFuzzer.cpp +++ b/src/Client/QueryFuzzer.cpp @@ -329,9 +329,9 @@ void QueryFuzzer::fuzzWindowFrame(ASTWindowDefinition & def) case 0: { const auto r = fuzz_rand() % 3; - def.frame_type = r == 0 ? WindowFrame::FrameType::Rows - : r == 1 ? WindowFrame::FrameType::Range - : WindowFrame::FrameType::Groups; + def.frame_type = r == 0 ? WindowFrame::FrameType::ROWS + : r == 1 ? WindowFrame::FrameType::RANGE + : WindowFrame::FrameType::GROUPS; break; } case 1: @@ -385,7 +385,7 @@ void QueryFuzzer::fuzzWindowFrame(ASTWindowDefinition & def) break; } - if (def.frame_type == WindowFrame::FrameType::Range + if (def.frame_type == WindowFrame::FrameType::RANGE && def.frame_begin_type == WindowFrame::BoundaryType::Unbounded && def.frame_begin_preceding && def.frame_end_type == WindowFrame::BoundaryType::Current) diff --git a/src/Client/Suggest.cpp b/src/Client/Suggest.cpp index de09c07f4c1..f8d41853566 100644 --- a/src/Client/Suggest.cpp +++ b/src/Client/Suggest.cpp @@ -50,52 +50,58 @@ static String getLoadSuggestionQuery(Int32 suggestion_limit, bool basic_suggesti { /// NOTE: Once you will update the completion list, /// do not forget to update 01676_clickhouse_client_autocomplete.sh - WriteBufferFromOwnString query; - query << "SELECT DISTINCT arrayJoin(extractAll(name, '[\\\\w_]{2,}')) AS res FROM (" - "SELECT name FROM system.functions" - " UNION ALL " - "SELECT name FROM system.table_engines" - " UNION ALL " - "SELECT name FROM system.formats" - " UNION ALL " - "SELECT name FROM system.table_functions" - " UNION ALL " - "SELECT name FROM system.data_type_families" - " UNION ALL " - "SELECT name FROM system.merge_tree_settings" - " UNION ALL " - "SELECT name FROM system.settings" - " UNION ALL "; + String query; + + auto add_subquery = [&](std::string_view select, std::string_view result_column_name) + { + if (!query.empty()) + query += " UNION ALL "; + query += fmt::format("SELECT * FROM viewIfPermitted({} ELSE null('{} String'))", select, result_column_name); + }; + + auto add_column = [&](std::string_view column_name, std::string_view table_name, bool distinct, std::optional limit) + { + add_subquery( + fmt::format( + "SELECT {}{} FROM system.{}{}", + (distinct ? "DISTINCT " : ""), + column_name, + table_name, + (limit ? (" LIMIT " + std::to_string(*limit)) : "")), + column_name); + }; + + add_column("name", "functions", false, {}); + add_column("name", "table_engines", false, {}); + add_column("name", "formats", false, {}); + add_column("name", "table_functions", false, {}); + add_column("name", "data_type_families", false, {}); + add_column("name", "merge_tree_settings", false, {}); + add_column("name", "settings", false, {}); + if (!basic_suggestion) { - query << "SELECT cluster FROM system.clusters" - " UNION ALL " - "SELECT macro FROM system.macros" - " UNION ALL " - "SELECT policy_name FROM system.storage_policies" - " UNION ALL "; + add_column("cluster", "clusters", false, {}); + add_column("macro", "macros", false, {}); + add_column("policy_name", "storage_policies", false, {}); } - query << "SELECT concat(func.name, comb.name) FROM system.functions AS func CROSS JOIN system.aggregate_function_combinators AS comb WHERE is_aggregate"; + + add_subquery("SELECT concat(func.name, comb.name) AS x FROM system.functions AS func CROSS JOIN system.aggregate_function_combinators AS comb WHERE is_aggregate", "x"); + /// The user may disable loading of databases, tables, columns by setting suggestion_limit to zero. if (suggestion_limit > 0) { - String limit_str = toString(suggestion_limit); - query << " UNION ALL " - "SELECT name FROM system.databases LIMIT " << limit_str - << " UNION ALL " - "SELECT DISTINCT name FROM system.tables LIMIT " << limit_str - << " UNION ALL "; - + add_column("name", "databases", false, suggestion_limit); + add_column("name", "tables", true, suggestion_limit); if (!basic_suggestion) { - query << "SELECT DISTINCT name FROM system.dictionaries LIMIT " << limit_str - << " UNION ALL "; + add_column("name", "dictionaries", true, suggestion_limit); } - query << "SELECT DISTINCT name FROM system.columns LIMIT " << limit_str; + add_column("name", "columns", true, suggestion_limit); } - query << ") WHERE notEmpty(res)"; - return query.str(); + query = "SELECT DISTINCT arrayJoin(extractAll(name, '[\\\\w_]{2,}')) AS res FROM (" + query + ") WHERE notEmpty(res)"; + return query; } template @@ -132,7 +138,8 @@ void Suggest::load(ContextPtr context, const ConnectionParameters & connection_p void Suggest::fetch(IServerConnection & connection, const ConnectionTimeouts & timeouts, const std::string & query) { - connection.sendQuery(timeouts, query, "" /* query_id */, QueryProcessingStage::Complete, nullptr, nullptr, false, {}); + connection.sendQuery( + timeouts, query, {} /* query_parameters */, "" /* query_id */, QueryProcessingStage::Complete, nullptr, nullptr, false, {}); while (true) { diff --git a/src/Client/Suggest.h b/src/Client/Suggest.h index 65b60ceffc4..25d45f7ffaf 100644 --- a/src/Client/Suggest.h +++ b/src/Client/Suggest.h @@ -28,8 +28,8 @@ public: template void load(ContextPtr context, const ConnectionParameters & connection_parameters, Int32 suggestion_limit); - /// Older server versions cannot execute the query above. - static constexpr int MIN_SERVER_REVISION = 54406; + /// Older server versions cannot execute the query loading suggestions. + static constexpr int MIN_SERVER_REVISION = DBMS_MIN_PROTOCOL_VERSION_WITH_VIEW_IF_PERMITTED; private: void fetch(IServerConnection & connection, const ConnectionTimeouts & timeouts, const std::string & query); diff --git a/src/Client/examples/CMakeLists.txt b/src/Client/examples/CMakeLists.txt index d952c006bb5..9d788a49c59 100644 --- a/src/Client/examples/CMakeLists.txt +++ b/src/Client/examples/CMakeLists.txt @@ -1,2 +1,2 @@ -add_executable(test-connect test_connect.cpp) +clickhouse_add_executable(test-connect test_connect.cpp) target_link_libraries (test-connect PRIVATE dbms) diff --git a/src/Columns/ColumnArray.cpp b/src/Columns/ColumnArray.cpp index 24da9644335..93bcc3eb611 100644 --- a/src/Columns/ColumnArray.cpp +++ b/src/Columns/ColumnArray.cpp @@ -56,7 +56,9 @@ ColumnArray::ColumnArray(MutableColumnPtr && nested_column, MutableColumnPtr && /// This will also prevent possible overflow in offset. if (data->size() != last_offset) - throw Exception("offsets_column has data inconsistent with nested_column", ErrorCodes::LOGICAL_ERROR); + throw Exception(ErrorCodes::LOGICAL_ERROR, + "offsets_column has data inconsistent with nested_column. Data size: {}, last offset: {}", + data->size(), last_offset); } /** NOTE diff --git a/src/Columns/ColumnConst.h b/src/Columns/ColumnConst.h index fdee16a1dbb..21cfaf7f64c 100644 --- a/src/Columns/ColumnConst.h +++ b/src/Columns/ColumnConst.h @@ -263,11 +263,6 @@ public: } } - SerializationInfoPtr getSerializationInfo() const override - { - return data->getSerializationInfo(); - } - bool isNullable() const override { return isColumnNullable(*data); } bool onlyNull() const override { return data->isNullAt(0); } bool isNumeric() const override { return data->isNumeric(); } diff --git a/src/Columns/ColumnDecimal.cpp b/src/Columns/ColumnDecimal.cpp index 4290a7a4cb1..63b76dbb230 100644 --- a/src/Columns/ColumnDecimal.cpp +++ b/src/Columns/ColumnDecimal.cpp @@ -298,7 +298,7 @@ ColumnPtr ColumnDecimal::filter(const IColumn::Filter & filt, ssize_t result_ { while (mask) { - size_t index = __builtin_ctzll(mask); + size_t index = std::countr_zero(mask); res_data.push_back(data_pos[index]); #ifdef __BMI__ mask = _blsr_u64(mask); diff --git a/src/Columns/ColumnDecimal.h b/src/Columns/ColumnDecimal.h index 1383f583427..03875121637 100644 --- a/src/Columns/ColumnDecimal.h +++ b/src/Columns/ColumnDecimal.h @@ -104,7 +104,7 @@ public: Field operator[](size_t n) const override { return DecimalField(data[n], scale); } void get(size_t n, Field & res) const override { res = (*this)[n]; } bool getBool(size_t n) const override { return bool(data[n].value); } - Int64 getInt(size_t n) const override { return Int64(data[n].value) * scale; } + Int64 getInt(size_t n) const override { return Int64(data[n].value); } UInt64 get64(size_t n) const override; bool isDefaultAt(size_t n) const override { return data[n].value == 0; } diff --git a/src/Columns/ColumnFixedString.cpp b/src/Columns/ColumnFixedString.cpp index b71323f2ec7..158d154f3f8 100644 --- a/src/Columns/ColumnFixedString.cpp +++ b/src/Columns/ColumnFixedString.cpp @@ -240,7 +240,7 @@ ColumnPtr ColumnFixedString::filter(const IColumn::Filter & filt, ssize_t result size_t res_chars_size = res->chars.size(); while (mask) { - size_t index = __builtin_ctzll(mask); + size_t index = std::countr_zero(mask); res->chars.resize(res_chars_size + n); memcpySmallAllowReadWriteOverflow15(&res->chars[res_chars_size], data_pos + index * n, n); res_chars_size += n; diff --git a/src/Columns/ColumnFunction.cpp b/src/Columns/ColumnFunction.cpp index 6350d7b0e61..2274762a9f5 100644 --- a/src/Columns/ColumnFunction.cpp +++ b/src/Columns/ColumnFunction.cpp @@ -250,9 +250,12 @@ ColumnWithTypeAndName ColumnFunction::reduce() const "arguments but " + toString(captured) + " columns were captured.", ErrorCodes::LOGICAL_ERROR); ColumnsWithTypeAndName columns = captured_columns; - if (is_short_circuit_argument) + IFunction::ShortCircuitSettings settings; + /// Arguments of lazy executed function can also be lazy executed. + /// But we shouldn't execute arguments if this function is short circuit, + /// because it will handle lazy executed arguments by itself. + if (is_short_circuit_argument && !function->isShortCircuit(settings, args)) { - /// Arguments of lazy executed function can also be lazy executed. for (auto & col : columns) { if (const ColumnFunction * arg = checkAndGetShortCircuitArgument(col.column)) diff --git a/src/Columns/ColumnLowCardinality.cpp b/src/Columns/ColumnLowCardinality.cpp index 62fb69a47e1..17e9bd97669 100644 --- a/src/Columns/ColumnLowCardinality.cpp +++ b/src/Columns/ColumnLowCardinality.cpp @@ -132,14 +132,12 @@ namespace ColumnLowCardinality::ColumnLowCardinality(MutableColumnPtr && column_unique_, MutableColumnPtr && indexes_, bool is_shared) : dictionary(std::move(column_unique_), is_shared), idx(std::move(indexes_)) { - // idx.check(getDictionary().size()); } void ColumnLowCardinality::insert(const Field & x) { compactIfSharedDictionary(); idx.insertPosition(dictionary.getColumnUnique().uniqueInsert(x)); - // idx.check(getDictionary().size()); } void ColumnLowCardinality::insertDefault() @@ -167,15 +165,12 @@ void ColumnLowCardinality::insertFrom(const IColumn & src, size_t n) const auto & nested = *low_cardinality_src->getDictionary().getNestedColumn(); idx.insertPosition(dictionary.getColumnUnique().uniqueInsertFrom(nested, position)); } - - // idx.check(getDictionary().size()); } void ColumnLowCardinality::insertFromFullColumn(const IColumn & src, size_t n) { compactIfSharedDictionary(); idx.insertPosition(dictionary.getColumnUnique().uniqueInsertFrom(src, n)); - // idx.check(getDictionary().size()); } void ColumnLowCardinality::insertRangeFrom(const IColumn & src, size_t start, size_t length) @@ -205,7 +200,6 @@ void ColumnLowCardinality::insertRangeFrom(const IColumn & src, size_t start, si auto inserted_indexes = dictionary.getColumnUnique().uniqueInsertRangeFrom(*used_keys, 0, used_keys->size()); idx.insertPositionsRange(*inserted_indexes->index(*sub_idx, 0), 0, length); } - // idx.check(getDictionary().size()); } void ColumnLowCardinality::insertRangeFromFullColumn(const IColumn & src, size_t start, size_t length) @@ -213,7 +207,6 @@ void ColumnLowCardinality::insertRangeFromFullColumn(const IColumn & src, size_t compactIfSharedDictionary(); auto inserted_indexes = dictionary.getColumnUnique().uniqueInsertRangeFrom(src, start, length); idx.insertPositionsRange(*inserted_indexes, 0, length); - // idx.check(getDictionary().size()); } static void checkPositionsAreLimited(const IColumn & positions, UInt64 limit) @@ -254,14 +247,12 @@ void ColumnLowCardinality::insertRangeFromDictionaryEncodedColumn(const IColumn compactIfSharedDictionary(); auto inserted_indexes = dictionary.getColumnUnique().uniqueInsertRangeFrom(keys, 0, keys.size()); idx.insertPositionsRange(*inserted_indexes->index(positions, 0), 0, positions.size()); - // idx.check(getDictionary().size()); } void ColumnLowCardinality::insertData(const char * pos, size_t length) { compactIfSharedDictionary(); idx.insertPosition(dictionary.getColumnUnique().uniqueInsertData(pos, length)); - // idx.check(getDictionary().size()); } StringRef ColumnLowCardinality::serializeValueIntoArena(size_t n, Arena & arena, char const *& begin) const @@ -276,7 +267,6 @@ const char * ColumnLowCardinality::deserializeAndInsertFromArena(const char * po const char * new_pos; idx.insertPosition(dictionary.getColumnUnique().uniqueDeserializeAndInsertFromArena(pos, new_pos)); - // idx.check(getDictionary().size()); return new_pos; } diff --git a/src/Columns/ColumnNullable.cpp b/src/Columns/ColumnNullable.cpp index 435e6bf1fbc..809024316bf 100644 --- a/src/Columns/ColumnNullable.cpp +++ b/src/Columns/ColumnNullable.cpp @@ -273,14 +273,6 @@ llvm::Value * ColumnNullable::compileComparator(llvm::IRBuilderBase & builder, l b.CreateCondBr(lhs_or_rhs_are_null, lhs_or_rhs_are_null_block, lhs_rhs_are_not_null_block); - // if (unlikely(lval_is_null || rval_is_null)) - // { - // if (lval_is_null && rval_is_null) - // return 0; - // else - // return lval_is_null ? null_direction_hint : -null_direction_hint; - // } - b.SetInsertPoint(lhs_or_rhs_are_null_block); auto * lhs_equals_rhs_result = llvm::ConstantInt::getSigned(b.getInt8Ty(), 0); llvm::Value * lhs_and_rhs_are_null = b.CreateAnd(lhs_is_null_value, rhs_is_null_value); @@ -288,8 +280,6 @@ llvm::Value * ColumnNullable::compileComparator(llvm::IRBuilderBase & builder, l llvm::Value * lhs_or_rhs_are_null_block_result = b.CreateSelect(lhs_and_rhs_are_null, lhs_equals_rhs_result, lhs_is_null_result); b.CreateBr(join_block); - // getNestedColumn().compareAt(n, m, nested_rhs, null_direction_hint); - b.SetInsertPoint(lhs_rhs_are_not_null_block); llvm::Value * lhs_rhs_are_not_null_block_result = nested_column->compileComparator(builder, lhs_unwrapped_value, rhs_unwrapped_value, nan_direction_hint); @@ -715,29 +705,37 @@ ColumnPtr ColumnNullable::replicate(const Offsets & offsets) const template -void ColumnNullable::applyNullMapImpl(const ColumnUInt8 & map) +void ColumnNullable::applyNullMapImpl(const NullMap & map) { - NullMap & arr1 = getNullMapData(); - const NullMap & arr2 = map.getData(); + NullMap & arr = getNullMapData(); - if (arr1.size() != arr2.size()) + if (arr.size() != map.size()) throw Exception{"Inconsistent sizes of ColumnNullable objects", ErrorCodes::LOGICAL_ERROR}; - for (size_t i = 0, size = arr1.size(); i < size; ++i) - arr1[i] |= negative ^ arr2[i]; + for (size_t i = 0, size = arr.size(); i < size; ++i) + arr[i] |= negative ^ map[i]; } - -void ColumnNullable::applyNullMap(const ColumnUInt8 & map) +void ColumnNullable::applyNullMap(const NullMap & map) { applyNullMapImpl(map); } -void ColumnNullable::applyNegatedNullMap(const ColumnUInt8 & map) +void ColumnNullable::applyNullMap(const ColumnUInt8 & map) +{ + applyNullMapImpl(map.getData()); +} + +void ColumnNullable::applyNegatedNullMap(const NullMap & map) { applyNullMapImpl(map); } +void ColumnNullable::applyNegatedNullMap(const ColumnUInt8 & map) +{ + applyNullMapImpl(map.getData()); +} + void ColumnNullable::applyNullMap(const ColumnNullable & other) { @@ -785,4 +783,18 @@ ColumnPtr makeNullable(const ColumnPtr & column) return ColumnNullable::create(column, ColumnUInt8::create(column->size(), 0)); } +ColumnPtr makeNullableSafe(const ColumnPtr & column) +{ + if (isColumnNullable(*column)) + return column; + + if (isColumnConst(*column)) + return ColumnConst::create(makeNullableSafe(assert_cast(*column).getDataColumnPtr()), column->size()); + + if (column->canBeInsideNullable()) + return makeNullable(column); + + return column; +} + } diff --git a/src/Columns/ColumnNullable.h b/src/Columns/ColumnNullable.h index 60951dfcc2e..e832f6d20e5 100644 --- a/src/Columns/ColumnNullable.h +++ b/src/Columns/ColumnNullable.h @@ -199,7 +199,9 @@ public: /// columns. void applyNullMap(const ColumnNullable & other); void applyNullMap(const ColumnUInt8 & map); + void applyNullMap(const NullMap & map); void applyNegatedNullMap(const ColumnUInt8 & map); + void applyNegatedNullMap(const NullMap & map); /// Check that size of null map equals to size of nested column. void checkConsistency() const; @@ -209,7 +211,7 @@ private: WrappedPtr null_map; template - void applyNullMapImpl(const ColumnUInt8 & map); + void applyNullMapImpl(const NullMap & map); int compareAtImpl(size_t n, size_t m, const IColumn & rhs_, int null_direction_hint, const Collator * collator=nullptr) const; @@ -221,5 +223,6 @@ private: }; ColumnPtr makeNullable(const ColumnPtr & column); +ColumnPtr makeNullableSafe(const ColumnPtr & column); } diff --git a/src/Columns/ColumnObject.cpp b/src/Columns/ColumnObject.cpp index 0913f6b8da9..e76862ad988 100644 --- a/src/Columns/ColumnObject.cpp +++ b/src/Columns/ColumnObject.cpp @@ -21,9 +21,9 @@ namespace ErrorCodes extern const int LOGICAL_ERROR; extern const int ILLEGAL_COLUMN; extern const int DUPLICATE_COLUMN; - extern const int NUMBER_OF_DIMENSIONS_MISMATHED; - extern const int NOT_IMPLEMENTED; + extern const int NUMBER_OF_DIMENSIONS_MISMATCHED; extern const int SIZES_OF_COLUMNS_DOESNT_MATCH; + extern const int ARGUMENT_OUT_OF_BOUND; } namespace @@ -138,7 +138,7 @@ public: type_indexes.insert(TypeToTypeIndex>); } - DataTypePtr getScalarType() const { return getLeastSupertype(type_indexes, true); } + DataTypePtr getScalarType() const { return getLeastSupertypeOrString(type_indexes); } bool haveNulls() const { return have_nulls; } bool needConvertField() const { return field_types.size() > 1; } @@ -167,6 +167,7 @@ FieldInfo getFieldInfo(const Field & field) ColumnObject::Subcolumn::Subcolumn(MutableColumnPtr && data_, bool is_nullable_) : least_common_type(getDataTypeByColumn(*data_)) , is_nullable(is_nullable_) + , num_rows(data_->size()) { data.push_back(std::move(data_)); } @@ -176,18 +177,16 @@ ColumnObject::Subcolumn::Subcolumn( : least_common_type(std::make_shared()) , is_nullable(is_nullable_) , num_of_defaults_in_prefix(size_) + , num_rows(size_) { } -size_t ColumnObject::Subcolumn::Subcolumn::size() const +size_t ColumnObject::Subcolumn::size() const { - size_t res = num_of_defaults_in_prefix; - for (const auto & part : data) - res += part->size(); - return res; + return num_rows; } -size_t ColumnObject::Subcolumn::Subcolumn::byteSize() const +size_t ColumnObject::Subcolumn::byteSize() const { size_t res = 0; for (const auto & part : data) @@ -195,7 +194,7 @@ size_t ColumnObject::Subcolumn::Subcolumn::byteSize() const return res; } -size_t ColumnObject::Subcolumn::Subcolumn::allocatedBytes() const +size_t ColumnObject::Subcolumn::allocatedBytes() const { size_t res = 0; for (const auto & part : data) @@ -203,6 +202,37 @@ size_t ColumnObject::Subcolumn::Subcolumn::allocatedBytes() const return res; } +void ColumnObject::Subcolumn::get(size_t n, Field & res) const +{ + if (isFinalized()) + { + getFinalizedColumn().get(n, res); + return; + } + + size_t ind = n; + if (ind < num_of_defaults_in_prefix) + { + res = least_common_type.get()->getDefault(); + return; + } + + ind -= num_of_defaults_in_prefix; + for (const auto & part : data) + { + if (ind < part->size()) + { + part->get(ind, res); + res = convertFieldToTypeOrThrow(res, *least_common_type.get()); + return; + } + + ind -= part->size(); + } + + throw Exception(ErrorCodes::ARGUMENT_OUT_OF_BOUND, "Index ({}) for getting field is out of range", n); +} + void ColumnObject::Subcolumn::checkTypes() const { DataTypes prefix_types; @@ -221,7 +251,7 @@ void ColumnObject::Subcolumn::checkTypes() const void ColumnObject::Subcolumn::insert(Field field) { - auto info = getFieldInfo(field); + auto info = DB::getFieldInfo(field); insert(std::move(field), std::move(info)); } @@ -244,8 +274,8 @@ static bool isConversionRequiredBetweenIntegers(const IDataType & lhs, const IDa bool is_native_int = which_lhs.isNativeInt() && which_rhs.isNativeInt(); bool is_native_uint = which_lhs.isNativeUInt() && which_rhs.isNativeUInt(); - return (is_native_int || is_native_uint) - && lhs.getSizeOfValueInMemory() <= rhs.getSizeOfValueInMemory(); + return (!is_native_int && !is_native_uint) + || lhs.getSizeOfValueInMemory() > rhs.getSizeOfValueInMemory(); } void ColumnObject::Subcolumn::insert(Field field, FieldInfo info) @@ -268,7 +298,7 @@ void ColumnObject::Subcolumn::insert(Field field, FieldInfo info) value_dim = column_dim; if (value_dim != column_dim) - throw Exception(ErrorCodes::NUMBER_OF_DIMENSIONS_MISMATHED, + throw Exception(ErrorCodes::NUMBER_OF_DIMENSIONS_MISMATCHED, "Dimension of types mismatched between inserted value and column. " "Dimension of value: {}. Dimension of column: {}", value_dim, column_dim); @@ -288,9 +318,9 @@ void ColumnObject::Subcolumn::insert(Field field, FieldInfo info) } else if (!least_common_base_type->equals(*base_type) && !isNothing(base_type)) { - if (!isConversionRequiredBetweenIntegers(*base_type, *least_common_base_type)) + if (isConversionRequiredBetweenIntegers(*base_type, *least_common_base_type)) { - base_type = getLeastSupertype(DataTypes{std::move(base_type), least_common_base_type}, true); + base_type = getLeastSupertypeOrString(DataTypes{std::move(base_type), least_common_base_type}); type_changed = true; if (!least_common_base_type->equals(*base_type)) addNewColumnPart(createArrayOfType(std::move(base_type), value_dim)); @@ -301,39 +331,102 @@ void ColumnObject::Subcolumn::insert(Field field, FieldInfo info) field = convertFieldToTypeOrThrow(field, *least_common_type.get()); data.back()->insert(field); + ++num_rows; } void ColumnObject::Subcolumn::insertRangeFrom(const Subcolumn & src, size_t start, size_t length) { - assert(src.isFinalized()); - const auto & src_column = src.data.back(); - const auto & src_type = src.least_common_type.get(); + assert(start + length <= src.size()); + size_t end = start + length; + num_rows += length; if (data.empty()) { - addNewColumnPart(src.least_common_type.get()); - data.back()->insertRangeFrom(*src_column, start, length); + addNewColumnPart(src.getLeastCommonType()); } - else if (least_common_type.get()->equals(*src_type)) + else if (!least_common_type.get()->equals(*src.getLeastCommonType())) { - data.back()->insertRangeFrom(*src_column, start, length); - } - else - { - auto new_least_common_type = getLeastSupertype(DataTypes{least_common_type.get(), src_type}, true); - auto casted_column = castColumn({src_column, src_type, ""}, new_least_common_type); - - if (!least_common_type.get()->equals(*new_least_common_type)) + auto new_least_common_type = getLeastSupertypeOrString(DataTypes{least_common_type.get(), src.getLeastCommonType()}); + if (!new_least_common_type->equals(*least_common_type.get())) addNewColumnPart(std::move(new_least_common_type)); + } - data.back()->insertRangeFrom(*casted_column, start, length); + if (end <= src.num_of_defaults_in_prefix) + { + data.back()->insertManyDefaults(length); + return; + } + + if (start < src.num_of_defaults_in_prefix) + data.back()->insertManyDefaults(src.num_of_defaults_in_prefix - start); + + auto insert_from_part = [&](const auto & column, size_t from, size_t n) + { + assert(from + n <= column->size()); + auto column_type = getDataTypeByColumn(*column); + + if (column_type->equals(*least_common_type.get())) + { + data.back()->insertRangeFrom(*column, from, n); + return; + } + + /// If we need to insert large range, there is no sense to cut part of column and cast it. + /// Casting of all column and inserting from it can be faster. + /// Threshold is just a guess. + + if (n * 3 >= column->size()) + { + auto casted_column = castColumn({column, column_type, ""}, least_common_type.get()); + data.back()->insertRangeFrom(*casted_column, from, n); + return; + } + + auto casted_column = column->cut(from, n); + casted_column = castColumn({casted_column, column_type, ""}, least_common_type.get()); + data.back()->insertRangeFrom(*casted_column, 0, n); + }; + + size_t pos = 0; + size_t processed_rows = src.num_of_defaults_in_prefix; + + /// Find the first part of the column that intersects the range. + while (pos < src.data.size() && processed_rows + src.data[pos]->size() < start) + { + processed_rows += src.data[pos]->size(); + ++pos; + } + + /// Insert from the first part of column. + if (pos < src.data.size() && processed_rows < start) + { + size_t part_start = start - processed_rows; + size_t part_length = std::min(src.data[pos]->size() - part_start, end - start); + insert_from_part(src.data[pos], part_start, part_length); + processed_rows += src.data[pos]->size(); + ++pos; + } + + /// Insert from the parts of column in the middle of range. + while (pos < src.data.size() && processed_rows + src.data[pos]->size() < end) + { + insert_from_part(src.data[pos], 0, src.data[pos]->size()); + processed_rows += src.data[pos]->size(); + ++pos; + } + + /// Insert from the last part of column if needed. + if (pos < src.data.size() && processed_rows < end) + { + size_t part_end = end - processed_rows; + insert_from_part(src.data[pos], 0, part_end); } } bool ColumnObject::Subcolumn::isFinalized() const { - return data.empty() || - (data.size() == 1 && !data[0]->isSparse() && num_of_defaults_in_prefix == 0); + return num_of_defaults_in_prefix == 0 && + (data.empty() || (data.size() == 1 && !data[0]->isSparse())); } void ColumnObject::Subcolumn::finalize() @@ -395,6 +488,8 @@ void ColumnObject::Subcolumn::insertDefault() ++num_of_defaults_in_prefix; else data.back()->insertDefault(); + + ++num_rows; } void ColumnObject::Subcolumn::insertManyDefaults(size_t length) @@ -403,12 +498,15 @@ void ColumnObject::Subcolumn::insertManyDefaults(size_t length) num_of_defaults_in_prefix += length; else data.back()->insertManyDefaults(length); + + num_rows += length; } void ColumnObject::Subcolumn::popBack(size_t n) { assert(n <= size()); + num_rows -= n; size_t num_removed = 0; for (auto it = data.rbegin(); it != data.rend(); ++it) { @@ -432,6 +530,13 @@ void ColumnObject::Subcolumn::popBack(size_t n) num_of_defaults_in_prefix -= n; } +ColumnObject::Subcolumn ColumnObject::Subcolumn::cut(size_t start, size_t length) const +{ + Subcolumn new_subcolumn(0, is_nullable); + new_subcolumn.insertRangeFrom(*this, start, length); + return new_subcolumn; +} + Field ColumnObject::Subcolumn::getLastField() const { if (data.empty()) @@ -442,21 +547,29 @@ Field ColumnObject::Subcolumn::getLastField() const return (*last_part)[last_part->size() - 1]; } +FieldInfo ColumnObject::Subcolumn::getFieldInfo() const +{ + const auto & base_type = least_common_type.getBase(); + return FieldInfo + { + .scalar_type = base_type, + .have_nulls = base_type->isNullable(), + .need_convert = false, + .num_dimensions = least_common_type.getNumberOfDimensions(), + }; +} + ColumnObject::Subcolumn ColumnObject::Subcolumn::recreateWithDefaultValues(const FieldInfo & field_info) const { auto scalar_type = field_info.scalar_type; if (is_nullable) scalar_type = makeNullable(scalar_type); - Subcolumn new_subcolumn; + Subcolumn new_subcolumn(*this); new_subcolumn.least_common_type = LeastCommonType{createArrayOfType(scalar_type, field_info.num_dimensions)}; - new_subcolumn.is_nullable = is_nullable; - new_subcolumn.num_of_defaults_in_prefix = num_of_defaults_in_prefix; - new_subcolumn.data.reserve(data.size()); - for (const auto & part : data) - new_subcolumn.data.push_back(recreateColumnWithDefaultValues( - part, scalar_type, field_info.num_dimensions)); + for (auto & part : new_subcolumn.data) + part = recreateColumnWithDefaultValues(part, scalar_type, field_info.num_dimensions); return new_subcolumn; } @@ -479,6 +592,13 @@ const ColumnPtr & ColumnObject::Subcolumn::getFinalizedColumnPtr() const return data[0]; } +ColumnObject::Subcolumn::LeastCommonType::LeastCommonType() + : type(std::make_shared()) + , base_type(type) + , num_dimensions(0) +{ +} + ColumnObject::Subcolumn::LeastCommonType::LeastCommonType(DataTypePtr type_) : type(std::move(type_)) , base_type(getBaseTypeOfArray(type)) @@ -525,16 +645,6 @@ size_t ColumnObject::size() const return num_rows; } -MutableColumnPtr ColumnObject::cloneResized(size_t new_size) const -{ - /// cloneResized with new_size == 0 is used for cloneEmpty(). - if (new_size != 0) - throw Exception(ErrorCodes::NOT_IMPLEMENTED, - "ColumnObject doesn't support resize to non-zero length"); - - return ColumnObject::create(is_nullable); -} - size_t ColumnObject::byteSize() const { size_t res = 0; @@ -553,23 +663,21 @@ size_t ColumnObject::allocatedBytes() const void ColumnObject::forEachSubcolumn(ColumnCallback callback) { - if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot iterate over non-finalized ColumnObject"); - for (auto & entry : subcolumns) - callback(entry->data.data.back()); + for (auto & part : entry->data.data) + callback(part); } void ColumnObject::insert(const Field & field) { const auto & object = field.get(); - HashSet inserted; + HashSet inserted_paths; size_t old_size = size(); for (const auto & [key_str, value] : object) { PathInData key(key_str); - inserted.insert(key_str); + inserted_paths.insert(key_str); if (!hasSubcolumn(key)) addSubcolumn(key, old_size); @@ -578,8 +686,14 @@ void ColumnObject::insert(const Field & field) } for (auto & entry : subcolumns) - if (!inserted.has(entry->path.getPath())) - entry->data.insertDefault(); + { + if (!inserted_paths.has(entry->path.getPath())) + { + bool inserted = tryInsertDefaultFromNested(entry); + if (!inserted) + entry->data.insertDefault(); + } + } ++num_rows; } @@ -594,26 +708,21 @@ void ColumnObject::insertDefault() Field ColumnObject::operator[](size_t n) const { - if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot get Field from non-finalized ColumnObject"); - - Object object; - for (const auto & entry : subcolumns) - object[entry->path.getPath()] = (*entry->data.data.back())[n]; - + Field object; + get(n, object); return object; } void ColumnObject::get(size_t n, Field & res) const { - if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot get Field from non-finalized ColumnObject"); + assert(n < size()); + res = Object(); auto & object = res.get(); for (const auto & entry : subcolumns) { auto it = object.try_emplace(entry->path.getPath()).first; - entry->data.data.back()->get(n, it->second); + entry->data.get(n, it->second); } } @@ -626,41 +735,28 @@ void ColumnObject::insertFrom(const IColumn & src, size_t n) void ColumnObject::insertRangeFrom(const IColumn & src, size_t start, size_t length) { const auto & src_object = assert_cast(src); - if (!src_object.isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot insertRangeFrom non-finalized ColumnObject"); - - for (auto & entry : subcolumns) - { - if (src_object.hasSubcolumn(entry->path)) - entry->data.insertRangeFrom(src_object.getSubcolumn(entry->path), start, length); - else - entry->data.insertManyDefaults(length); - } for (const auto & entry : src_object.subcolumns) { if (!hasSubcolumn(entry->path)) { if (entry->path.hasNested()) - { - const auto & base_type = entry->data.getLeastCommonTypeBase(); - FieldInfo field_info - { - .scalar_type = base_type, - .have_nulls = base_type->isNullable(), - .need_convert = false, - .num_dimensions = entry->data.getNumberOfDimensions(), - }; - - addNestedSubcolumn(entry->path, field_info, num_rows); - } + addNestedSubcolumn(entry->path, entry->data.getFieldInfo(), num_rows); else - { addSubcolumn(entry->path, num_rows); - } + } - auto & subcolumn = getSubcolumn(entry->path); - subcolumn.insertRangeFrom(entry->data, start, length); + auto & subcolumn = getSubcolumn(entry->path); + subcolumn.insertRangeFrom(entry->data, start, length); + } + + for (auto & entry : subcolumns) + { + if (!src_object.hasSubcolumn(entry->path)) + { + bool inserted = tryInsertManyDefaultsFromNested(entry); + if (!inserted) + entry->data.insertManyDefaults(length); } } @@ -668,21 +764,6 @@ void ColumnObject::insertRangeFrom(const IColumn & src, size_t start, size_t len finalize(); } -ColumnPtr ColumnObject::replicate(const Offsets & offsets) const -{ - if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot replicate non-finalized ColumnObject"); - - auto res_column = ColumnObject::create(is_nullable); - for (const auto & entry : subcolumns) - { - auto replicated_data = entry->data.data.back()->replicate(offsets)->assumeMutable(); - res_column->addSubcolumn(entry->path, std::move(replicated_data)); - } - - return res_column; -} - void ColumnObject::popBack(size_t length) { for (auto & entry : subcolumns) @@ -692,10 +773,15 @@ void ColumnObject::popBack(size_t length) } template -ColumnPtr ColumnObject::applyForSubcolumns(Func && func, std::string_view func_name) const +MutableColumnPtr ColumnObject::applyForSubcolumns(Func && func) const { if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot {} non-finalized ColumnObject", func_name); + { + auto finalized = IColumn::mutate(getPtr()); + auto & finalized_object = assert_cast(*finalized); + finalized_object.finalize(); + return finalized_object.applyForSubcolumns(std::forward(func)); + } auto res = ColumnObject::create(is_nullable); for (const auto & subcolumn : subcolumns) @@ -703,22 +789,36 @@ ColumnPtr ColumnObject::applyForSubcolumns(Func && func, std::string_view func_n auto new_subcolumn = func(subcolumn->data.getFinalizedColumn()); res->addSubcolumn(subcolumn->path, new_subcolumn->assumeMutable()); } + return res; } ColumnPtr ColumnObject::permute(const Permutation & perm, size_t limit) const { - return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.permute(perm, limit); }, "permute"); + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.permute(perm, limit); }); } ColumnPtr ColumnObject::filter(const Filter & filter, ssize_t result_size_hint) const { - return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.filter(filter, result_size_hint); }, "filter"); + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.filter(filter, result_size_hint); }); } ColumnPtr ColumnObject::index(const IColumn & indexes, size_t limit) const { - return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.index(indexes, limit); }, "index"); + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.index(indexes, limit); }); +} + +ColumnPtr ColumnObject::replicate(const Offsets & offsets) const +{ + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.replicate(offsets); }); +} + +MutableColumnPtr ColumnObject::cloneResized(size_t new_size) const +{ + if (new_size == 0) + return ColumnObject::create(is_nullable); + + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.cloneResized(new_size); }); } const ColumnObject::Subcolumn & ColumnObject::getSubcolumn(const PathInData & key) const @@ -810,6 +910,92 @@ void ColumnObject::addNestedSubcolumn(const PathInData & key, const FieldInfo & if (num_rows == 0) num_rows = new_size; + else if (new_size != num_rows) + throw Exception(ErrorCodes::SIZES_OF_COLUMNS_DOESNT_MATCH, + "Required size of subcolumn {} ({}) is inconsistent with column size ({})", + key.getPath(), new_size, num_rows); +} + +const ColumnObject::Subcolumns::Node * ColumnObject::getLeafOfTheSameNested(const Subcolumns::NodePtr & entry) const +{ + if (!entry->path.hasNested()) + return nullptr; + + size_t old_size = entry->data.size(); + const auto * current_node = subcolumns.findLeaf(entry->path); + const Subcolumns::Node * leaf = nullptr; + + while (current_node) + { + /// Try to find the first Nested up to the current node. + const auto * node_nested = subcolumns.findParent(current_node, + [](const auto & candidate) { return candidate.isNested(); }); + + if (!node_nested) + break; + + /// Find the leaf with subcolumn that contains values + /// for the last rows. + /// If there are no leaves, skip current node and find + /// the next node up to the current. + leaf = subcolumns.findLeaf(node_nested, + [&](const auto & candidate) + { + return candidate.data.size() > old_size; + }); + + if (leaf) + break; + + current_node = node_nested->parent; + } + + if (leaf && isNothing(leaf->data.getLeastCommonTypeBase())) + return nullptr; + + return leaf; +} + +bool ColumnObject::tryInsertManyDefaultsFromNested(const Subcolumns::NodePtr & entry) const +{ + const auto * leaf = getLeafOfTheSameNested(entry); + if (!leaf) + return false; + + size_t old_size = entry->data.size(); + auto field_info = entry->data.getFieldInfo(); + + /// Cut the needed range from the found leaf + /// and replace scalar values to the correct + /// default values for given entry. + auto new_subcolumn = leaf->data + .cut(old_size, leaf->data.size() - old_size) + .recreateWithDefaultValues(field_info); + + entry->data.insertRangeFrom(new_subcolumn, 0, new_subcolumn.size()); + return true; +} + +bool ColumnObject::tryInsertDefaultFromNested(const Subcolumns::NodePtr & entry) const +{ + const auto * leaf = getLeafOfTheSameNested(entry); + if (!leaf) + return false; + + auto last_field = leaf->data.getLastField(); + if (last_field.isNull()) + return false; + + size_t leaf_num_dimensions = leaf->data.getNumberOfDimensions(); + size_t entry_num_dimensions = entry->data.getNumberOfDimensions(); + + auto default_scalar = entry_num_dimensions > leaf_num_dimensions + ? createEmptyArrayField(entry_num_dimensions - leaf_num_dimensions) + : entry->data.getLeastCommonTypeBase()->getDefault(); + + auto default_field = applyVisitor(FieldVisitorReplaceScalars(default_scalar, leaf_num_dimensions), last_field); + entry->data.insert(std::move(default_field)); + return true; } PathsInData ColumnObject::getKeys() const @@ -835,7 +1021,7 @@ void ColumnObject::finalize() { const auto & least_common_type = entry->data.getLeastCommonType(); - /// Do not add subcolumns, which consists only from NULLs. + /// Do not add subcolumns, which consist only from NULLs. if (isNothing(getBaseTypeOfArray(least_common_type))) continue; diff --git a/src/Columns/ColumnObject.h b/src/Columns/ColumnObject.h index 73fc738cb8d..4dc5bb5ce24 100644 --- a/src/Columns/ColumnObject.h +++ b/src/Columns/ColumnObject.h @@ -65,6 +65,7 @@ public: size_t size() const; size_t byteSize() const; size_t allocatedBytes() const; + void get(size_t n, Field & res) const; bool isFinalized() const; const DataTypePtr & getLeastCommonType() const { return least_common_type.get(); } @@ -84,6 +85,8 @@ public: void insertRangeFrom(const Subcolumn & src, size_t start, size_t length); void popBack(size_t n); + Subcolumn cut(size_t start, size_t length) const; + /// Converts all column's parts to the common type and /// creates a single column that stores all values. void finalize(); @@ -91,6 +94,8 @@ public: /// Returns last inserted field. Field getLastField() const; + FieldInfo getFieldInfo() const; + /// Recreates subcolumn with default scalar values and keeps sizes of arrays. /// Used to create columns of type Nested with consistent array sizes. Subcolumn recreateWithDefaultValues(const FieldInfo & field_info) const; @@ -101,13 +106,16 @@ public: const IColumn & getFinalizedColumn() const; const ColumnPtr & getFinalizedColumnPtr() const; + const std::vector & getData() const { return data; } + size_t getNumberOfDefaultsInPrefix() const { return num_of_defaults_in_prefix; } + friend class ColumnObject; private: class LeastCommonType { public: - LeastCommonType() = default; + LeastCommonType(); explicit LeastCommonType(DataTypePtr type_); const DataTypePtr & get() const { return type; } @@ -138,6 +146,8 @@ public: /// least common type and we count number of defaults in prefix, /// which will be converted to the default type of final common type. size_t num_of_defaults_in_prefix = 0; + + size_t num_rows = 0; }; using Subcolumns = SubcolumnsTree; @@ -175,6 +185,11 @@ public: /// It cares about consistency of sizes of Nested arrays. void addNestedSubcolumn(const PathInData & key, const FieldInfo & field_info, size_t new_size); + /// Finds a subcolumn from the same Nested type as @entry and inserts + /// an array with default values with consistent sizes as in Nested type. + bool tryInsertDefaultFromNested(const Subcolumns::NodePtr & entry) const; + bool tryInsertManyDefaultsFromNested(const Subcolumns::NodePtr & entry) const; + const Subcolumns & getSubcolumns() const { return subcolumns; } Subcolumns & getSubcolumns() { return subcolumns; } PathsInData getKeys() const; @@ -189,7 +204,6 @@ public: TypeIndex getDataType() const override { return TypeIndex::Object; } size_t size() const override; - MutableColumnPtr cloneResized(size_t new_size) const override; size_t byteSize() const override; size_t allocatedBytes() const override; void forEachSubcolumn(ColumnCallback callback) override; @@ -197,13 +211,14 @@ public: void insertDefault() override; void insertFrom(const IColumn & src, size_t n) override; void insertRangeFrom(const IColumn & src, size_t start, size_t length) override; - ColumnPtr replicate(const Offsets & offsets) const override; void popBack(size_t length) override; Field operator[](size_t n) const override; void get(size_t n, Field & res) const override; ColumnPtr permute(const Permutation & perm, size_t limit) const override; ColumnPtr filter(const Filter & filter, ssize_t result_size_hint) const override; ColumnPtr index(const IColumn & indexes, size_t limit) const override; + ColumnPtr replicate(const Offsets & offsets) const override; + MutableColumnPtr cloneResized(size_t new_size) const override; /// All other methods throw exception. @@ -236,7 +251,11 @@ private: } template - ColumnPtr applyForSubcolumns(Func && func, std::string_view func_name) const; + MutableColumnPtr applyForSubcolumns(Func && func) const; + + /// For given subcolumn return subcolumn from the same Nested type. + /// It's used to get shared sized of Nested to insert correct default values. + const Subcolumns::Node * getLeafOfTheSameNested(const Subcolumns::NodePtr & entry) const; }; } diff --git a/src/Columns/ColumnTuple.cpp b/src/Columns/ColumnTuple.cpp index 7c8d73edd16..6763c11bb9a 100644 --- a/src/Columns/ColumnTuple.cpp +++ b/src/Columns/ColumnTuple.cpp @@ -561,15 +561,4 @@ void ColumnTuple::getIndicesOfNonDefaultRows(Offsets & indices, size_t from, siz return getIndicesOfNonDefaultRowsImpl(indices, from, limit); } -SerializationInfoPtr ColumnTuple::getSerializationInfo() const -{ - MutableSerializationInfos infos; - infos.reserve(columns.size()); - - for (const auto & column : columns) - infos.push_back(const_pointer_cast(column->getSerializationInfo())); - - return std::make_shared(std::move(infos), SerializationInfo::Settings{}); -} - } diff --git a/src/Columns/ColumnTuple.h b/src/Columns/ColumnTuple.h index e6797c2582c..b1de8df74a9 100644 --- a/src/Columns/ColumnTuple.h +++ b/src/Columns/ColumnTuple.h @@ -102,7 +102,6 @@ public: ColumnPtr compress() const override; double getRatioOfDefaultRows(double sample_ratio) const override; void getIndicesOfNonDefaultRows(Offsets & indices, size_t from, size_t limit) const override; - SerializationInfoPtr getSerializationInfo() const override; size_t tupleSize() const { return columns.size(); } diff --git a/src/Columns/ColumnUnique.h b/src/Columns/ColumnUnique.h index 33135224e11..58891e30e12 100644 --- a/src/Columns/ColumnUnique.h +++ b/src/Columns/ColumnUnique.h @@ -509,7 +509,7 @@ MutableColumnPtr ColumnUnique::uniqueInsertRangeImpl( if (secondary_index) next_position += secondary_index->size(); - auto insert_key = [&](const StringRef & ref, ReverseIndex & cur_index) -> MutableColumnPtr + auto insert_key = [&](StringRef ref, ReverseIndex & cur_index) -> MutableColumnPtr { auto inserted_pos = cur_index.insert(ref); positions[num_added_rows] = inserted_pos; @@ -548,7 +548,6 @@ MutableColumnPtr ColumnUnique::uniqueInsertRangeImpl( } } - // checkIndexes(*positions_column, column->size() + (overflowed_keys ? overflowed_keys->size() : 0)); return std::move(positions_column); } diff --git a/src/Columns/ColumnVector.cpp b/src/Columns/ColumnVector.cpp index 04f2efab0d7..d89917fc6c2 100644 --- a/src/Columns/ColumnVector.cpp +++ b/src/Columns/ColumnVector.cpp @@ -12,12 +12,14 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include @@ -25,6 +27,10 @@ # include #endif +#if USE_MULTITARGET_CODE +# include +#endif + #if USE_EMBEDDED_COMPILER #include #include @@ -318,7 +324,59 @@ template void ColumnVector::updatePermutation(IColumn::PermutationSortDirection direction, IColumn::PermutationSortStability stability, size_t limit, int nan_direction_hint, IColumn::Permutation & res, EqualRanges & equal_ranges) const { - auto sort = [](auto begin, auto end, auto pred) { ::sort(begin, end, pred); }; + bool reverse = direction == IColumn::PermutationSortDirection::Descending; + bool ascending = direction == IColumn::PermutationSortDirection::Ascending; + bool sort_is_stable = stability == IColumn::PermutationSortStability::Stable; + + auto sort = [&](auto begin, auto end, auto pred) + { + /// A case for radix sort + if constexpr (is_arithmetic_v && !is_big_int_v) + { + /// TODO: LSD RadixSort is currently not stable if direction is descending, or value is floating point + bool use_radix_sort = (sort_is_stable && ascending && !std::is_floating_point_v) || !sort_is_stable; + size_t size = end - begin; + + /// Thresholds on size. Lower threshold is arbitrary. Upper threshold is chosen by the type for histogram counters. + if (size >= 256 && size <= std::numeric_limits::max() && use_radix_sort) + { + PaddedPODArray> pairs(size); + size_t index = 0; + + for (auto * it = begin; it != end; ++it) + { + pairs[index] = {data[*it], static_cast(*it)}; + ++index; + } + + RadixSort>::executeLSD(pairs.data(), size, reverse, begin); + + /// Radix sort treats all NaNs to be greater than all numbers. + /// If the user needs the opposite, we must move them accordingly. + if (std::is_floating_point_v && nan_direction_hint < 0) + { + size_t nans_to_move = 0; + + for (size_t i = 0; i < size; ++i) + { + if (isNaN(data[begin[reverse ? i : size - 1 - i]])) + ++nans_to_move; + else + break; + } + + if (nans_to_move) + { + std::rotate(begin, begin + (reverse ? nans_to_move : size - nans_to_move), end); + } + } + + return; + } + } + + ::sort(begin, end, pred); + }; auto partial_sort = [](auto begin, auto mid, auto end, auto pred) { ::partial_sort(begin, mid, end, pred); }; if (direction == IColumn::PermutationSortDirection::Ascending && stability == IColumn::PermutationSortStability::Unstable) @@ -419,6 +477,128 @@ void ColumnVector::insertRangeFrom(const IColumn & src, size_t start, size_t memcpy(data.data() + old_size, &src_vec.data[start], length * sizeof(data[0])); } +static inline UInt64 blsr(UInt64 mask) +{ +#ifdef __BMI__ + return _blsr_u64(mask); +#else + return mask & (mask-1); +#endif +} + +DECLARE_DEFAULT_CODE( +template +inline void doFilterAligned(const UInt8 *& filt_pos, const UInt8 *& filt_end_aligned, const T *& data_pos, Container & res_data) +{ + while (filt_pos < filt_end_aligned) + { + UInt64 mask = bytes64MaskToBits64Mask(filt_pos); + + if (0xffffffffffffffff == mask) + { + res_data.insert(data_pos, data_pos + SIMD_BYTES); + } + else + { + while (mask) + { + size_t index = std::countr_zero(mask); + res_data.push_back(data_pos[index]); + mask = blsr(mask); + } + } + + filt_pos += SIMD_BYTES; + data_pos += SIMD_BYTES; + } +} +) + +namespace +{ +template +void resize(Container & res_data, size_t reserve_size) +{ +#if defined(MEMORY_SANITIZER) + res_data.resize_fill(reserve_size, static_cast(0)); // MSan doesn't recognize that all allocated memory is written by AVX-512 intrinsics. +#else + res_data.resize(reserve_size); +#endif +} +} + +DECLARE_AVX512VBMI2_SPECIFIC_CODE( +template +inline void compressStoreAVX512(const void *src, void *dst, const UInt64 mask) +{ + __m512i vsrc = _mm512_loadu_si512(src); + if constexpr (ELEMENT_WIDTH == 1) + _mm512_mask_compressstoreu_epi8(dst, static_cast<__mmask64>(mask), vsrc); + else if constexpr (ELEMENT_WIDTH == 2) + _mm512_mask_compressstoreu_epi16(dst, static_cast<__mmask32>(mask), vsrc); + else if constexpr (ELEMENT_WIDTH == 4) + _mm512_mask_compressstoreu_epi32(dst, static_cast<__mmask16>(mask), vsrc); + else if constexpr (ELEMENT_WIDTH == 8) + _mm512_mask_compressstoreu_epi64(dst, static_cast<__mmask8>(mask), vsrc); +} + +template +inline void doFilterAligned(const UInt8 *& filt_pos, const UInt8 *& filt_end_aligned, const T *& data_pos, Container & res_data) +{ + static constexpr size_t VEC_LEN = 64; /// AVX512 vector length - 64 bytes + static constexpr size_t ELEMENT_WIDTH = sizeof(T); + static constexpr size_t ELEMENTS_PER_VEC = VEC_LEN / ELEMENT_WIDTH; + static constexpr UInt64 KMASK = 0xffffffffffffffff >> (64 - ELEMENTS_PER_VEC); + + size_t current_offset = res_data.size(); + size_t reserve_size = res_data.size(); + size_t alloc_size = SIMD_BYTES * 2; + + while (filt_pos < filt_end_aligned) + { + /// to avoid calling resize too frequently, resize to reserve buffer. + if (reserve_size - current_offset < SIMD_BYTES) + { + reserve_size += alloc_size; + resize(res_data, reserve_size); + alloc_size *= 2; + } + + UInt64 mask = bytes64MaskToBits64Mask(filt_pos); + + if (0xffffffffffffffff == mask) + { + for (size_t i = 0; i < SIMD_BYTES; i += ELEMENTS_PER_VEC) + _mm512_storeu_si512(reinterpret_cast(&res_data[current_offset + i]), + _mm512_loadu_si512(reinterpret_cast(data_pos + i))); + current_offset += SIMD_BYTES; + } + else + { + if (mask) + { + for (size_t i = 0; i < SIMD_BYTES; i += ELEMENTS_PER_VEC) + { + compressStoreAVX512(reinterpret_cast(data_pos + i), + reinterpret_cast(&res_data[current_offset]), mask & KMASK); + current_offset += std::popcount(mask & KMASK); + /// prepare mask for next iter, if ELEMENTS_PER_VEC = 64, no next iter + if (ELEMENTS_PER_VEC < 64) + { + mask >>= ELEMENTS_PER_VEC; + } + } + } + } + + filt_pos += SIMD_BYTES; + data_pos += SIMD_BYTES; + } + /// resize to the real size. + res_data.resize(current_offset); +} +) + template ColumnPtr ColumnVector::filter(const IColumn::Filter & filt, ssize_t result_size_hint) const { @@ -437,38 +617,20 @@ ColumnPtr ColumnVector::filter(const IColumn::Filter & filt, ssize_t result_s const T * data_pos = data.data(); /** A slightly more optimized version. - * Based on the assumption that often pieces of consecutive values - * completely pass or do not pass the filter. - * Therefore, we will optimistically check the parts of `SIMD_BYTES` values. - */ + * Based on the assumption that often pieces of consecutive values + * completely pass or do not pass the filter. + * Therefore, we will optimistically check the parts of `SIMD_BYTES` values. + */ static constexpr size_t SIMD_BYTES = 64; const UInt8 * filt_end_aligned = filt_pos + size / SIMD_BYTES * SIMD_BYTES; - while (filt_pos < filt_end_aligned) - { - UInt64 mask = bytes64MaskToBits64Mask(filt_pos); - - if (0xffffffffffffffff == mask) - { - res_data.insert(data_pos, data_pos + SIMD_BYTES); - } - else - { - while (mask) - { - size_t index = __builtin_ctzll(mask); - res_data.push_back(data_pos[index]); - #ifdef __BMI__ - mask = _blsr_u64(mask); - #else - mask = mask & (mask-1); - #endif - } - } - - filt_pos += SIMD_BYTES; - data_pos += SIMD_BYTES; - } +#if USE_MULTITARGET_CODE + static constexpr bool VBMI2_CAPABLE = sizeof(T) == 1 || sizeof(T) == 2 || sizeof(T) == 4 || sizeof(T) == 8; + if (VBMI2_CAPABLE && isArchSupported(TargetArch::AVX512VBMI2)) + TargetSpecific::AVX512VBMI2::doFilterAligned(filt_pos, filt_end_aligned, data_pos, res_data); + else +#endif + TargetSpecific::Default::doFilterAligned(filt_pos, filt_end_aligned, data_pos, res_data); while (filt_pos < filt_end) { @@ -525,6 +687,115 @@ ColumnPtr ColumnVector::index(const IColumn & indexes, size_t limit) const return selectIndexImpl(*this, indexes, limit); } +#ifdef __SSE2__ + +namespace +{ + /** Optimization for ColumnVector replicate using SIMD instructions. + * For such optimization it is important that data is right padded with 15 bytes. + * + * Replicate span size is offsets[i] - offsets[i - 1]. + * + * Split spans into 3 categories. + * 1. Span with 0 size. Continue iteration. + * + * 2. Span with 1 size. Update pointer from which data must be copied into result. + * Then if we see span with size 1 or greater than 1 copy data directly into result data and reset pointer. + * Example: + * Data: 1 2 3 4 + * Offsets: 1 2 3 4 + * Result data: 1 2 3 4 + * + * 3. Span with size greater than 1. Save single data element into register and copy it into result data. + * Example: + * Data: 1 2 3 4 + * Offsets: 4 4 4 4 + * Result data: 1 1 1 1 + * + * Additional handling for tail is needed if pointer from which data must be copied from span with size 1 is not null. + */ + template + requires (std::is_same_v || std::is_same_v) + void replicateSSE42Int32(const IntType * __restrict data, IntType * __restrict result_data, const IColumn::Offsets & offsets) + { + const IntType * data_copy_begin_ptr = nullptr; + size_t offsets_size = offsets.size(); + + for (size_t offset_index = 0; offset_index < offsets_size; ++offset_index) + { + size_t span = offsets[offset_index] - offsets[offset_index - 1]; + if (span == 1) + { + if (!data_copy_begin_ptr) + data_copy_begin_ptr = data + offset_index; + + continue; + } + + /// Copy data + + if (data_copy_begin_ptr) + { + size_t copy_size = (data + offset_index) - data_copy_begin_ptr; + bool remainder = copy_size % 4; + size_t sse_copy_counter = (copy_size / 4) + remainder; + auto * result_data_copy = result_data; + + while (sse_copy_counter) + { + __m128i copy_batch = _mm_loadu_si128(reinterpret_cast(data_copy_begin_ptr)); + _mm_storeu_si128(reinterpret_cast<__m128i *>(result_data_copy), copy_batch); + result_data_copy += 4; + data_copy_begin_ptr += 4; + --sse_copy_counter; + } + + result_data += copy_size; + data_copy_begin_ptr = nullptr; + } + + if (span == 0) + continue; + + /// Copy single data element into result data + + bool span_remainder = span % 4; + size_t copy_counter = (span / 4) + span_remainder; + auto * result_data_tmp = result_data; + __m128i copy_element_data = _mm_set1_epi32(data[offset_index]); + + while (copy_counter) + { + _mm_storeu_si128(reinterpret_cast<__m128i *>(result_data_tmp), copy_element_data); + result_data_tmp += 4; + --copy_counter; + } + + result_data += span; + } + + /// Copy tail if needed + + if (data_copy_begin_ptr) + { + size_t copy_size = (data + offsets_size) - data_copy_begin_ptr; + bool remainder = copy_size % 4; + size_t sse_copy_counter = (copy_size / 4) + remainder; + + while (sse_copy_counter) + { + __m128i copy_batch = _mm_loadu_si128(reinterpret_cast(data_copy_begin_ptr)); + _mm_storeu_si128(reinterpret_cast<__m128i *>(result_data), copy_batch); + result_data += 4; + data_copy_begin_ptr += 4; + --sse_copy_counter; + } + } + } +} + +#endif + template ColumnPtr ColumnVector::replicate(const IColumn::Offsets & offsets) const { @@ -537,6 +808,14 @@ ColumnPtr ColumnVector::replicate(const IColumn::Offsets & offsets) const auto res = this->create(offsets.back()); +#ifdef __SSE2__ + if constexpr (std::is_same_v) + { + replicateSSE42Int32(getData().data(), res->getData().data(), offsets); + return res; + } +#endif + auto it = res->getData().begin(); // NOLINT for (size_t i = 0; i < size; ++i) { diff --git a/src/Columns/ColumnsCommon.cpp b/src/Columns/ColumnsCommon.cpp index cbc62140bef..17f521c242c 100644 --- a/src/Columns/ColumnsCommon.cpp +++ b/src/Columns/ColumnsCommon.cpp @@ -2,13 +2,14 @@ #include #include #include +#include #include "ColumnsCommon.h" namespace DB { -#if defined(__SSE2__) && defined(__POPCNT__) +#if defined(__SSE2__) /// Transform 64-byte mask to 64-bit mask. static UInt64 toBits64(const Int8 * bytes64) { @@ -41,11 +42,11 @@ size_t countBytesInFilter(const UInt8 * filt, size_t start, size_t end) const Int8 * end_pos = pos + (end - start); -#if defined(__SSE2__) && defined(__POPCNT__) +#if defined(__SSE2__) const Int8 * end_pos64 = pos + (end - start) / 64 * 64; for (; pos < end_pos64; pos += 64) - count += __builtin_popcountll(toBits64(pos)); + count += std::popcount(toBits64(pos)); /// TODO Add duff device for tail? #endif @@ -74,11 +75,11 @@ size_t countBytesInFilterWithNull(const IColumn::Filter & filt, const UInt8 * nu const Int8 * pos2 = reinterpret_cast(null_map) + start; const Int8 * end_pos = pos + (end - start); -#if defined(__SSE2__) && defined(__POPCNT__) +#if defined(__SSE2__) const Int8 * end_pos64 = pos + (end - start) / 64 * 64; for (; pos < end_pos64; pos += 64, pos2 += 64) - count += __builtin_popcountll(toBits64(pos) & ~toBits64(pos2)); + count += std::popcount(toBits64(pos) & ~toBits64(pos2)); /// TODO Add duff device for tail? #endif @@ -259,7 +260,7 @@ namespace { while (mask) { - size_t index = __builtin_ctzll(mask); + size_t index = std::countr_zero(mask); copy_array(offsets_pos + index); #ifdef __BMI__ mask = _blsr_u64(mask); diff --git a/src/Columns/ColumnsCommon.h b/src/Columns/ColumnsCommon.h index 99489e7e4cc..814c5850d57 100644 --- a/src/Columns/ColumnsCommon.h +++ b/src/Columns/ColumnsCommon.h @@ -8,6 +8,9 @@ #if defined(__AVX512F__) || defined(__AVX512BW__) || defined(__AVX__) || defined(__AVX2__) #include #endif +#if defined(__aarch64__) && defined(__ARM_NEON) +# include +#endif /// Common helper methods for implementation of different columns. @@ -24,17 +27,17 @@ namespace ErrorCodes inline UInt64 bytes64MaskToBits64Mask(const UInt8 * bytes64) { #if defined(__AVX512F__) && defined(__AVX512BW__) - static const __m512i zero64 = _mm512_setzero_epi32(); - UInt64 res = _mm512_cmp_epi8_mask(_mm512_loadu_si512(reinterpret_cast(bytes64)), zero64, _MM_CMPINT_EQ); + const __m512i vbytes = _mm512_loadu_si512(reinterpret_cast(bytes64)); + UInt64 res = _mm512_testn_epi8_mask(vbytes, vbytes); #elif defined(__AVX__) && defined(__AVX2__) - static const __m256i zero32 = _mm256_setzero_si256(); + const __m256i zero32 = _mm256_setzero_si256(); UInt64 res = (static_cast(_mm256_movemask_epi8(_mm256_cmpeq_epi8( _mm256_loadu_si256(reinterpret_cast(bytes64)), zero32))) & 0xffffffff) | (static_cast(_mm256_movemask_epi8(_mm256_cmpeq_epi8( _mm256_loadu_si256(reinterpret_cast(bytes64+32)), zero32))) << 32); -#elif defined(__SSE2__) && defined(__POPCNT__) - static const __m128i zero16 = _mm_setzero_si128(); +#elif defined(__SSE2__) + const __m128i zero16 = _mm_setzero_si128(); UInt64 res = (static_cast(_mm_movemask_epi8(_mm_cmpeq_epi8( _mm_loadu_si128(reinterpret_cast(bytes64)), zero16))) & 0xffff) @@ -44,6 +47,22 @@ inline UInt64 bytes64MaskToBits64Mask(const UInt8 * bytes64) _mm_loadu_si128(reinterpret_cast(bytes64 + 32)), zero16))) << 32) & 0xffff00000000) | ((static_cast(_mm_movemask_epi8(_mm_cmpeq_epi8( _mm_loadu_si128(reinterpret_cast(bytes64 + 48)), zero16))) << 48) & 0xffff000000000000); +#elif defined(__aarch64__) && defined(__ARM_NEON) + const uint8x16_t bitmask = {0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80}; + const auto * src = reinterpret_cast(bytes64); + const uint8x16_t p0 = vceqzq_u8(vld1q_u8(src)); + const uint8x16_t p1 = vceqzq_u8(vld1q_u8(src + 16)); + const uint8x16_t p2 = vceqzq_u8(vld1q_u8(src + 32)); + const uint8x16_t p3 = vceqzq_u8(vld1q_u8(src + 48)); + uint8x16_t t0 = vandq_u8(p0, bitmask); + uint8x16_t t1 = vandq_u8(p1, bitmask); + uint8x16_t t2 = vandq_u8(p2, bitmask); + uint8x16_t t3 = vandq_u8(p3, bitmask); + uint8x16_t sum0 = vpaddq_u8(t0, t1); + uint8x16_t sum1 = vpaddq_u8(t2, t3); + sum0 = vpaddq_u8(sum0, sum1); + sum0 = vpaddq_u8(sum0, sum0); + UInt64 res = vgetq_lane_u64(vreinterpretq_u64_u8(sum0), 0); #else UInt64 res = 0; for (size_t i = 0; i < 64; ++i) diff --git a/src/Columns/IColumn.cpp b/src/Columns/IColumn.cpp index e7caee3b23d..2158adb86a8 100644 --- a/src/Columns/IColumn.cpp +++ b/src/Columns/IColumn.cpp @@ -64,11 +64,6 @@ ColumnPtr IColumn::createWithOffsets(const Offsets & offsets, const Field & defa return res; } -SerializationInfoPtr IColumn::getSerializationInfo() const -{ - return std::make_shared(ISerialization::getKind(*this), SerializationInfo::Settings{}); -} - bool isColumnNullable(const IColumn & column) { return checkColumn(column); diff --git a/src/Columns/IColumn.h b/src/Columns/IColumn.h index f62f6c444b3..8b693015674 100644 --- a/src/Columns/IColumn.h +++ b/src/Columns/IColumn.h @@ -35,9 +35,6 @@ class ColumnGathererStream; class Field; class WeakHash32; -class SerializationInfo; -using SerializationInfoPtr = std::shared_ptr; - /* * Represents a set of equal ranges in previous column to perform sorting in current column. * Used in sorting by tuples. @@ -90,7 +87,7 @@ public: /// Creates column with the same type and specified size. /// If size is less current size, then data is cut. /// If size is greater, than default values are appended. - [[nodiscard]] virtual MutablePtr cloneResized(size_t /*size*/) const { throw Exception("Cannot cloneResized() column " + getName(), ErrorCodes::NOT_IMPLEMENTED); } + [[nodiscard]] virtual MutablePtr cloneResized(size_t /*size*/) const { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Cannot cloneResized() column {}", getName()); } /// Returns number of values in column. [[nodiscard]] virtual size_t size() const = 0; @@ -445,8 +442,6 @@ public: /// Used to create full column from sparse. [[nodiscard]] virtual Ptr createWithOffsets(const Offsets & offsets, const Field & default_field, size_t total_rows, size_t shift) const; - [[nodiscard]] virtual SerializationInfoPtr getSerializationInfo() const; - /// Compress column in memory to some representation that allows to decompress it back. /// Return itself if compression is not applicable for this column type. [[nodiscard]] virtual Ptr compress() const diff --git a/src/Columns/ReverseIndex.h b/src/Columns/ReverseIndex.h index 0b308a81084..ba6a014b49d 100644 --- a/src/Columns/ReverseIndex.h +++ b/src/Columns/ReverseIndex.h @@ -92,7 +92,7 @@ struct ReverseIndexHashTableCell /// Special case when we want to compare with something not in index_column. /// When we compare something inside column default keyEquals checks only that row numbers are equal. - bool keyEquals(const StringRef & object, size_t hash_ [[maybe_unused]], const State & state) const + bool keyEquals(StringRef object, size_t hash_ [[maybe_unused]], const State & state) const { auto index = key; if constexpr (has_base_index) @@ -145,10 +145,10 @@ struct ReverseIndexHashTableCell * separately. */ template -class ReverseIndexHashTableBase : public HashTable, HashTableAllocator> +class ReverseIndexHashTableBase : public HashTable, HashTableAllocator> { using State = typename Cell::State; - using Base = HashTable, HashTableAllocator>; + using Base = HashTable, HashTableAllocator>; public: using Base::Base; @@ -322,7 +322,7 @@ public: static constexpr bool is_numeric_column = isNumericColumn(static_cast(nullptr)); static constexpr bool use_saved_hash = !is_numeric_column; - UInt64 insert(const StringRef & data); + UInt64 insert(StringRef data); /// Returns the found data's index in the dictionary. If index is not built, builds it. UInt64 getInsertionPoint(StringRef data) @@ -383,7 +383,7 @@ private: void buildIndex(); - UInt64 getHash(const StringRef & ref) const + UInt64 getHash(StringRef ref) const { if constexpr (is_numeric_column) { @@ -478,7 +478,7 @@ ColumnUInt64::MutablePtr ReverseIndex::calcHashes() const } template -UInt64 ReverseIndex::insert(const StringRef & data) +UInt64 ReverseIndex::insert(StringRef data) { if (!index) buildIndex(); diff --git a/src/Columns/tests/gtest_column_object.cpp b/src/Columns/tests/gtest_column_object.cpp new file mode 100644 index 00000000000..e1ad949f6a8 --- /dev/null +++ b/src/Columns/tests/gtest_column_object.cpp @@ -0,0 +1,120 @@ +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +using namespace DB; + +static pcg64 rng(randomSeed()); + +Field getRandomField(size_t type) +{ + switch (type) + { + case 0: + return rng(); + case 1: + return std::uniform_real_distribution<>(0.0, 1.0)(rng); + case 2: + return std::string(rng() % 10, 'a' + rng() % 26); + default: + return Field(); + } +} + +std::pair> generate(size_t size) +{ + bool has_defaults = rng() % 3 == 0; + size_t num_defaults = has_defaults ? rng() % size : 0; + + ColumnObject::Subcolumn subcolumn(num_defaults, false); + std::vector fields; + + while (subcolumn.size() < size) + { + size_t part_size = rng() % (size - subcolumn.size()) + 1; + size_t field_type = rng() % 3; + + for (size_t i = 0; i < part_size; ++i) + { + fields.push_back(getRandomField(field_type)); + subcolumn.insert(fields.back()); + } + } + + std::vector result_fields; + for (size_t i = 0; i < num_defaults; ++i) + result_fields.emplace_back(); + + result_fields.insert(result_fields.end(), fields.begin(), fields.end()); + return {std::move(subcolumn), std::move(result_fields)}; +} + +void checkFieldsAreEqual(ColumnObject::Subcolumn subcolumn, const std::vector & fields) +{ + ASSERT_EQ(subcolumn.size(), fields.size()); + for (size_t i = 0; i < subcolumn.size(); ++i) + { + Field field; + subcolumn.get(i, field); // Also check 'get' method. + if (!applyVisitor(FieldVisitorAccurateEquals(), field, fields[i])) + { + std::cerr << fmt::format("Wrong value at position {}, expected {}, got {}", + i, applyVisitor(FieldVisitorToString(), fields[i]), applyVisitor(FieldVisitorToString(), field)); + ASSERT_TRUE(false); + } + } +} + +constexpr size_t T = 1000; +constexpr size_t N = 1000; + +TEST(ColumnObject, InsertRangeFrom) +{ + for (size_t t = 0; t < T; ++t) + { + auto [subcolumn_dst, fields_dst] = generate(N); + auto [subcolumn_src, fields_src] = generate(N); + + ASSERT_EQ(subcolumn_dst.size(), fields_dst.size()); + ASSERT_EQ(subcolumn_src.size(), fields_src.size()); + + const auto & type_dst = subcolumn_dst.getLeastCommonType(); + const auto & type_src = subcolumn_src.getLeastCommonType(); + auto type_res = getLeastSupertypeOrString(DataTypes{type_dst, type_src}); + + size_t from = rng() % subcolumn_src.size(); + size_t to = rng() % subcolumn_src.size(); + if (from > to) + std::swap(from, to); + ++to; + + for (auto & field : fields_dst) + { + if (field.isNull()) + field = type_res->getDefault(); + else + field = convertFieldToTypeOrThrow(field, *type_res); + } + + for (size_t i = from; i < to; ++i) + { + if (fields_src[i].isNull()) + fields_dst.push_back(type_res->getDefault()); + else + fields_dst.push_back(convertFieldToTypeOrThrow(fields_src[i], *type_res)); + + } + + subcolumn_dst.insertRangeFrom(subcolumn_src, from, to - from); + checkFieldsAreEqual(subcolumn_dst, fields_dst); + } +} diff --git a/src/Columns/tests/gtest_column_sparse.cpp b/src/Columns/tests/gtest_column_sparse.cpp index 35ac68b4e2e..b5b226c6862 100644 --- a/src/Columns/tests/gtest_column_sparse.cpp +++ b/src/Columns/tests/gtest_column_sparse.cpp @@ -11,7 +11,7 @@ #include using namespace DB; -pcg64 rng(randomSeed()); +static pcg64 rng(randomSeed()); std::pair createColumns(size_t n, size_t k) { diff --git a/src/Columns/tests/gtest_column_vector.cpp b/src/Columns/tests/gtest_column_vector.cpp new file mode 100644 index 00000000000..5a8fd1fad60 --- /dev/null +++ b/src/Columns/tests/gtest_column_vector.cpp @@ -0,0 +1,91 @@ +#include +#include +#include +#include +#include + + +using namespace DB; + +static pcg64 rng(randomSeed()); +static constexpr int error_code = 12345; +static constexpr size_t TEST_RUNS = 500; +static constexpr size_t MAX_ROWS = 10000; +static const std::vector filter_ratios = {1, 2, 5, 11, 32, 64, 100, 1000}; +static const size_t K = filter_ratios.size(); + +template +static MutableColumnPtr createColumn(size_t n) +{ + auto column = ColumnVector::create(); + auto & values = column->getData(); + + for (size_t i = 0; i < n; ++i) + { + values.push_back(i); + } + + return column; +} + +bool checkFilter(const PaddedPODArray &flit, const IColumn & src, const IColumn & dst) +{ + size_t n = flit.size(); + size_t dst_size = dst.size(); + size_t j = 0; /// index of dest + for (size_t i = 0; i < n; ++i) + { + if (flit[i] != 0) + { + if ((dst_size <= j) || (src.compareAt(i, j, dst, 0) != 0)) + return false; + j++; + } + } + return dst_size == j; /// filtered size check +} + +template +static void testFilter() +{ + auto test_case = [&](size_t rows, size_t filter_ratio) + { + auto vector_column = createColumn(rows); + PaddedPODArray flit(rows); + for (size_t i = 0; i < rows; ++i) + flit[i] = rng() % filter_ratio == 0; + auto res_column = vector_column->filter(flit, -1); + + if (!checkFilter(flit, *vector_column, *res_column)) + throw Exception(error_code, "VectorColumn filter failure, type: {}", typeid(T).name()); + }; + + try + { + for (size_t i = 0; i < TEST_RUNS; ++i) + { + size_t rows = rng() % MAX_ROWS + 1; + size_t filter_ratio = filter_ratios[rng() % K]; + + test_case(rows, filter_ratio); + } + } + catch (const Exception & e) + { + FAIL() << e.displayText(); + } +} + + +TEST(ColumnVector, Filter) +{ + testFilter(); + testFilter(); + testFilter(); + testFilter(); + testFilter(); + testFilter(); + testFilter(); + testFilter(); + testFilter(); +} diff --git a/src/Common/Allocator.h b/src/Common/Allocator.h index c2c9ecd689d..06ccbed4064 100644 --- a/src/Common/Allocator.h +++ b/src/Common/Allocator.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #ifdef NDEBUG #define ALLOCATOR_ASLR 0 @@ -11,7 +11,7 @@ #include #include -#if !defined(__APPLE__) && !defined(__FreeBSD__) +#if !defined(OS_DARWIN) && !defined(OS_FREEBSD) #include #endif diff --git a/src/Common/Arena.h b/src/Common/Arena.h index 4c7ee458ee4..b706f3b3413 100644 --- a/src/Common/Arena.h +++ b/src/Common/Arena.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include diff --git a/src/Common/ArrayCache.h b/src/Common/ArrayCache.h index 6efa5c92b5b..f01ff94e38b 100644 --- a/src/Common/ArrayCache.h +++ b/src/Common/ArrayCache.h @@ -514,8 +514,6 @@ private: return allocateFromFreeRegion(*free_region, size); } -// std::cerr << "Requested size: " << size << "\n"; - /// Evict something from cache and continue. while (true) { diff --git a/src/Common/BridgeProtocolVersion.h b/src/Common/BridgeProtocolVersion.h new file mode 100644 index 00000000000..77d094fce3f --- /dev/null +++ b/src/Common/BridgeProtocolVersion.h @@ -0,0 +1,14 @@ +#pragma once + +#include + +namespace DB +{ + +// Version of protocol between clickhouse-server and clickhouse-library-bridge. Increment if you change it in a non-compatible way. +static constexpr size_t LIBRARY_BRIDGE_PROTOCOL_VERSION = 1; + +// Version of protocol between clickhouse-server and clickhouse-xdbc-bridge. Increment if you change it in a non-compatible way. +static constexpr size_t XDBC_BRIDGE_PROTOCOL_VERSION = 1; + +} diff --git a/src/Common/LRUCache.h b/src/Common/CacheBase.h similarity index 55% rename from src/Common/LRUCache.h rename to src/Common/CacheBase.h index 7210412a5e1..af6cd8cef65 100644 --- a/src/Common/LRUCache.h +++ b/src/Common/CacheBase.h @@ -1,54 +1,71 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include + #include +#include +#include +#include +#include +#include #include +#include namespace DB { - -template -struct TrivialWeightFunction +namespace ErrorCodes { - size_t operator()(const T &) const - { - return 1; - } -}; + extern const int BAD_ARGUMENTS; +} - -/// Thread-safe cache that evicts entries which are not used for a long time. +/// Thread-safe cache that evicts entries using special cache policy +/// (default policy evicts entries which are not used for a long time). /// WeightFunction is a functor that takes Mapped as a parameter and returns "weight" (approximate size) /// of that value. /// Cache starts to evict entries when their total weight exceeds max_size. /// Value weight should not change after insertion. template , typename WeightFunction = TrivialWeightFunction> -class LRUCache +class CacheBase { public: using Key = TKey; using Mapped = TMapped; using MappedPtr = std::shared_ptr; - /** Initialize LRUCache with max_size and max_elements_size. - * max_elements_size == 0 means no elements size restrictions. - */ - explicit LRUCache(size_t max_size_, size_t max_elements_size_ = 0) - : max_size(std::max(static_cast(1), max_size_)) - , max_elements_size(max_elements_size_) - {} + CacheBase(size_t max_size, size_t max_elements_size = 0, String cache_policy_name = "", double size_ratio = 0.5) + { + auto on_weight_loss_function = [&](size_t weight_loss) { onRemoveOverflowWeightLoss(weight_loss); }; + + if (cache_policy_name.empty()) + { + cache_policy_name = default_cache_policy_name; + } + + if (cache_policy_name == "LRU") + { + using LRUPolicy = LRUCachePolicy; + cache_policy = std::make_unique(max_size, max_elements_size, on_weight_loss_function); + } + else if (cache_policy_name == "SLRU") + { + using SLRUPolicy = SLRUCachePolicy; + cache_policy = std::make_unique(max_size, max_elements_size, size_ratio, on_weight_loss_function); + } + else + { + throw Exception("Undeclared cache policy name: " + cache_policy_name, ErrorCodes::BAD_ARGUMENTS); + } + } MappedPtr get(const Key & key) { std::lock_guard lock(mutex); - - auto res = getImpl(key, lock); + auto res = cache_policy->get(key, lock); if (res) ++hits; else @@ -60,20 +77,7 @@ public: void set(const Key & key, const MappedPtr & mapped) { std::lock_guard lock(mutex); - - setImpl(key, mapped, lock); - } - - void remove(const Key & key) - { - std::lock_guard lock(mutex); - auto it = cells.find(key); - if (it == cells.end()) - return; - auto & cell = it->second; - current_size -= cell.size; - queue.erase(cell.queue_iterator); - cells.erase(it); + cache_policy->set(key, mapped, lock); } /// If the value for the key is in the cache, returns it. If it is not, calls load_func() to @@ -90,8 +94,7 @@ public: InsertTokenHolder token_holder; { std::lock_guard cache_lock(mutex); - - auto val = getImpl(key, cache_lock); + auto val = cache_policy->get(key, cache_lock); if (val) { ++hits; @@ -129,7 +132,7 @@ public: auto token_it = insert_tokens.find(key); if (token_it != insert_tokens.end() && token_it->second.get() == token) { - setImpl(key, token->value, cache_lock); + cache_policy->set(key, token->value, cache_lock); result = true; } @@ -146,64 +149,64 @@ public: out_misses = misses; } + void reset() + { + std::lock_guard lock(mutex); + insert_tokens.clear(); + hits = 0; + misses = 0; + cache_policy->reset(lock); + } + + void remove(const Key & key) + { + std::lock_guard lock(mutex); + cache_policy->remove(key, lock); + } + size_t weight() const { std::lock_guard lock(mutex); - return current_size; + return cache_policy->weight(lock); } size_t count() const { std::lock_guard lock(mutex); - return cells.size(); + return cache_policy->count(lock); } size_t maxSize() const + TSA_NO_THREAD_SAFETY_ANALYSIS // disabled because max_size of cache_policy is a constant parameter { - return max_size; + return cache_policy->maxSize(); } - void reset() - { - std::lock_guard lock(mutex); - queue.clear(); - cells.clear(); - insert_tokens.clear(); - current_size = 0; - hits = 0; - misses = 0; - } - - virtual ~LRUCache() = default; + virtual ~CacheBase() = default; protected: - using LRUQueue = std::list; - using LRUQueueIterator = typename LRUQueue::iterator; - - struct Cell - { - MappedPtr value; - size_t size; - LRUQueueIterator queue_iterator; - }; - - using Cells = std::unordered_map; - - Cells cells; - mutable std::mutex mutex; + private: + using CachePolicy = ICachePolicy; + + std::unique_ptr cache_policy TSA_GUARDED_BY(mutex); + + inline static const String default_cache_policy_name = "SLRU"; + + std::atomic hits{0}; + std::atomic misses{0}; /// Represents pending insertion attempt. struct InsertToken { - explicit InsertToken(LRUCache & cache_) : cache(cache_) {} + explicit InsertToken(CacheBase & cache_) : cache(cache_) {} std::mutex mutex; - bool cleaned_up = false; /// Protected by the token mutex - MappedPtr value; /// Protected by the token mutex + bool cleaned_up TSA_GUARDED_BY(mutex) = false; + MappedPtr value TSA_GUARDED_BY(mutex); - LRUCache & cache; + CacheBase & cache; size_t refcount = 0; /// Protected by the cache mutex }; @@ -220,14 +223,16 @@ private: InsertTokenHolder() = default; - void acquire(const Key * key_, const std::shared_ptr & token_, [[maybe_unused]] std::lock_guard & cache_lock) + void acquire(const Key * key_, const std::shared_ptr & token_, std::lock_guard & /* cache_lock */) + TSA_NO_THREAD_SAFETY_ANALYSIS // disabled only because we can't reference the parent-level cache mutex from here { key = key_; token = token_; ++token->refcount; } - void cleanup([[maybe_unused]] std::lock_guard & token_lock, [[maybe_unused]] std::lock_guard & cache_lock) + void cleanup(std::lock_guard & /* token_lock */, std::lock_guard & /* cache_lock */) + TSA_NO_THREAD_SAFETY_ANALYSIS // disabled only because we can't reference the parent-level cache mutex from here { token->cache.insert_tokens.erase(*key); token->cleaned_up = true; @@ -257,104 +262,7 @@ private: friend struct InsertTokenHolder; - - InsertTokenById insert_tokens; - - LRUQueue queue; - - /// Total weight of values. - size_t current_size = 0; - const size_t max_size; - const size_t max_elements_size; - - std::atomic hits {0}; - std::atomic misses {0}; - - WeightFunction weight_function; - - MappedPtr getImpl(const Key & key, [[maybe_unused]] std::lock_guard & cache_lock) - { - auto it = cells.find(key); - if (it == cells.end()) - { - return MappedPtr(); - } - - Cell & cell = it->second; - - /// Move the key to the end of the queue. The iterator remains valid. - queue.splice(queue.end(), queue, cell.queue_iterator); - - return cell.value; - } - - void setImpl(const Key & key, const MappedPtr & mapped, [[maybe_unused]] std::lock_guard & cache_lock) - { - auto [it, inserted] = cells.emplace(std::piecewise_construct, - std::forward_as_tuple(key), - std::forward_as_tuple()); - - Cell & cell = it->second; - - if (inserted) - { - try - { - cell.queue_iterator = queue.insert(queue.end(), key); - } - catch (...) - { - cells.erase(it); - throw; - } - } - else - { - current_size -= cell.size; - queue.splice(queue.end(), queue, cell.queue_iterator); - } - - cell.value = mapped; - cell.size = cell.value ? weight_function(*cell.value) : 0; - current_size += cell.size; - - removeOverflow(); - } - - void removeOverflow() - { - size_t current_weight_lost = 0; - size_t queue_size = cells.size(); - - while ((current_size > max_size || (max_elements_size != 0 && queue_size > max_elements_size)) && (queue_size > 1)) - { - const Key & key = queue.front(); - - auto it = cells.find(key); - if (it == cells.end()) - { - LOG_ERROR(&Poco::Logger::get("LRUCache"), "LRUCache became inconsistent. There must be a bug in it."); - abort(); - } - - const auto & cell = it->second; - - current_size -= cell.size; - current_weight_lost += cell.size; - - cells.erase(it); - queue.pop_front(); - --queue_size; - } - - onRemoveOverflowWeightLoss(current_weight_lost); - - if (current_size > (1ull << 63)) - { - LOG_ERROR(&Poco::Logger::get("LRUCache"), "LRUCache became inconsistent. There must be a bug in it."); - abort(); - } - } + InsertTokenById insert_tokens TSA_GUARDED_BY(mutex); /// Override this method if you want to track how much weight was lost in removeOverflow method. virtual void onRemoveOverflowWeightLoss(size_t /*weight_loss*/) {} diff --git a/src/Common/CaresPTRResolver.cpp b/src/Common/CaresPTRResolver.cpp new file mode 100644 index 00000000000..f6228e97c02 --- /dev/null +++ b/src/Common/CaresPTRResolver.cpp @@ -0,0 +1,109 @@ +#include "CaresPTRResolver.h" +#include +#include +#include +#include "ares.h" +#include "netdb.h" + +namespace DB +{ + + namespace ErrorCodes + { + extern const int DNS_ERROR; + } + + static void callback(void * arg, int status, int, struct hostent * host) + { + auto * ptr_records = reinterpret_cast*>(arg); + if (status == ARES_SUCCESS && host->h_aliases) + { + int i = 0; + while (auto * ptr_record = host->h_aliases[i]) + { + ptr_records->emplace_back(ptr_record); + i++; + } + } + } + + CaresPTRResolver::CaresPTRResolver(CaresPTRResolver::provider_token) : channel(nullptr) + { + /* + * ares_library_init is not thread safe. Currently, the only other usage of c-ares seems to be in grpc. + * In grpc, ares_library_init seems to be called only in Windows. + * See https://github.com/grpc/grpc/blob/master/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc#L1187 + * That means it's safe to init it here, but we should be cautious when introducing new code that depends on c-ares and even updates + * to grpc. As discussed in https://github.com/ClickHouse/ClickHouse/pull/37827#discussion_r919189085, c-ares should be adapted to be atomic + * */ + if (ares_library_init(ARES_LIB_INIT_ALL) != ARES_SUCCESS || ares_init(&channel) != ARES_SUCCESS) + { + throw DB::Exception("Failed to initialize c-ares", DB::ErrorCodes::DNS_ERROR); + } + } + + CaresPTRResolver::~CaresPTRResolver() + { + ares_destroy(channel); + ares_library_cleanup(); + } + + std::vector CaresPTRResolver::resolve(const std::string & ip) + { + std::vector ptr_records; + + resolve(ip, ptr_records); + wait(); + + return ptr_records; + } + + std::vector CaresPTRResolver::resolve_v6(const std::string & ip) + { + std::vector ptr_records; + + resolve_v6(ip, ptr_records); + wait(); + + return ptr_records; + } + + void CaresPTRResolver::resolve(const std::string & ip, std::vector & response) + { + in_addr addr; + + inet_pton(AF_INET, ip.c_str(), &addr); + + ares_gethostbyaddr(channel, reinterpret_cast(&addr), sizeof(addr), AF_INET, callback, &response); + } + + void CaresPTRResolver::resolve_v6(const std::string & ip, std::vector & response) + { + in6_addr addr; + inet_pton(AF_INET6, ip.c_str(), &addr); + + ares_gethostbyaddr(channel, reinterpret_cast(&addr), sizeof(addr), AF_INET6, callback, &response); + } + + void CaresPTRResolver::wait() + { + timeval * tvp, tv; + fd_set read_fds; + fd_set write_fds; + int nfds; + + for (;;) + { + FD_ZERO(&read_fds); + FD_ZERO(&write_fds); + nfds = ares_fds(channel, &read_fds,&write_fds); + if (nfds == 0) + { + break; + } + tvp = ares_timeout(channel, nullptr, &tv); + select(nfds, &read_fds, &write_fds, nullptr, tvp); + ares_process(channel, &read_fds, &write_fds); + } + } +} diff --git a/src/Common/CaresPTRResolver.h b/src/Common/CaresPTRResolver.h new file mode 100644 index 00000000000..fd6a1cf7bc5 --- /dev/null +++ b/src/Common/CaresPTRResolver.h @@ -0,0 +1,42 @@ +#pragma once + +#include "DNSPTRResolver.h" + +using ares_channel = struct ares_channeldata *; + +namespace DB +{ + + /* + * Implements reverse DNS resolution using c-ares lib. System reverse DNS resolution via + * gethostbyaddr or getnameinfo does not work reliably because in some systems + * it returns all PTR records for a given IP and in others it returns only one. + * */ + class CaresPTRResolver : public DNSPTRResolver + { + friend class DNSPTRResolverProvider; + + /* + * Allow only DNSPTRProvider to instantiate this class + * */ + struct provider_token {}; + + public: + explicit CaresPTRResolver(provider_token); + ~CaresPTRResolver() override; + + std::vector resolve(const std::string & ip) override; + + std::vector resolve_v6(const std::string & ip) override; + + private: + void wait(); + + void resolve(const std::string & ip, std::vector & response); + + void resolve_v6(const std::string & ip, std::vector & response); + + ares_channel channel; + }; +} + diff --git a/src/Common/ColumnsHashing.h b/src/Common/ColumnsHashing.h index c3a087c0a6e..0e4617345fa 100644 --- a/src/Common/ColumnsHashing.h +++ b/src/Common/ColumnsHashing.h @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include @@ -188,7 +188,7 @@ public: void set(const DictionaryKey & key, const CachedValuesPtr & mapped) { cache.set(key, mapped); } private: - using Cache = LRUCache; + using Cache = CacheBase; Cache cache; }; diff --git a/src/Common/CompactArray.h b/src/Common/CompactArray.h index cf97206edb8..c2dd696d651 100644 --- a/src/Common/CompactArray.h +++ b/src/Common/CompactArray.h @@ -130,7 +130,7 @@ public: private: ReadBuffer & in; /// The physical location of the current cell. - Locus locus; + Locus locus{}; /// The current position in the file as a cell number. BucketIndex current_bucket_index = 0; /// The number of bytes read. diff --git a/src/Common/ConcurrencyControl.h b/src/Common/ConcurrencyControl.h new file mode 100644 index 00000000000..6f37bb45c84 --- /dev/null +++ b/src/Common/ConcurrencyControl.h @@ -0,0 +1,266 @@ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include + +namespace DB +{ +namespace ErrorCodes +{ + extern const int LOGICAL_ERROR; +} +} + +/* + * Controls how many threads can be allocated for a query (or another activity). + * There is a limited amount of slots for threads. It can be set with `setMaxConcurrency(limit)`. + * + * Lifecycle of a slot: free -> granted -> acquired -> free. + * free: slot is available to be allocated by any query. + * granted: slot is allocated by specific query, but not yet acquired by any thread. + * acquired: slot is allocated by specific query and acquired by a thread. + * + * USAGE: + * 1. Create an allocation for a query: + * `auto slots = ConcurrencyControl::instance().allocate(min, max);` + * It will allocate at least `min` and at most `max` slots. + * Note that `min` slots are granted immediately, but other `max - min` may be granted later. + * 2. For every thread a slot has to be acquired from that allocation: + * `while (auto slot = slots->tryAcquire()) createYourThread([slot = std::move(slot)] { ... });` + * This snippet can be used at query startup and for upscaling later. + * (both functions are non-blocking) + * + * Released slots are distributed between waiting allocations in a round-robin manner to provide fairness. + * Oversubscription is possible: total amount of allocated slots can exceed `setMaxConcurrency(limit)` + * because `min` amount of slots is allocated for each query unconditionally. + */ +class ConcurrencyControl : boost::noncopyable +{ +public: + struct Allocation; + using AllocationPtr = std::shared_ptr; + using SlotCount = UInt64; + using Waiters = std::list; + + static constexpr SlotCount Unlimited = std::numeric_limits::max(); + + // Scoped guard for acquired slot, see Allocation::tryAcquire() + struct Slot : boost::noncopyable + { + ~Slot() + { + allocation->release(); + } + + private: + friend struct Allocation; // for ctor + + explicit Slot(AllocationPtr && allocation_) + : allocation(std::move(allocation_)) + {} + + AllocationPtr allocation; + }; + + // FIXME: have to be unique_ptr, but ThreadFromGlobalPool does not support move semantics yet + using SlotPtr = std::shared_ptr; + + // Manages group of slots for a single query, see ConcurrencyControl::allocate(min, max) + struct Allocation : std::enable_shared_from_this, boost::noncopyable + { + ~Allocation() + { + // We have to lock parent's mutex to avoid race with grant() + // NOTE: shortcut can be added, but it requires Allocation::mutex lock even to check if shortcut is possible + parent.free(this); + } + + // Take one already granted slot if available. Lock-free iff there is no granted slot. + [[nodiscard]] SlotPtr tryAcquire() + { + SlotCount value = granted.load(); + while (value) + { + if (granted.compare_exchange_strong(value, value - 1)) + { + std::unique_lock lock{mutex}; + return SlotPtr(new Slot(shared_from_this())); // can't use std::make_shared due to private ctor + } + } + return {}; // avoid unnecessary locking + } + + SlotCount grantedCount() const + { + return granted; + } + + private: + friend struct Slot; // for release() + friend class ConcurrencyControl; // for grant(), free() and ctor + + Allocation(ConcurrencyControl & parent_, SlotCount limit_, SlotCount granted_, Waiters::iterator waiter_ = {}) + : parent(parent_) + , limit(limit_) + , allocated(granted_) + , granted(granted_) + , waiter(waiter_) + { + if (allocated < limit) + *waiter = this; + } + + auto cancel() + { + std::unique_lock lock{mutex}; + return std::pair{allocated - released, + allocated < limit ? + std::optional(waiter) : + std::optional()}; + } + + // Grant single slot to allocation, returns true iff more slot(s) are required + bool grant() + { + std::unique_lock lock{mutex}; + granted++; + allocated++; + return allocated < limit; + } + + // Release one slot and grant it to other allocation if required + void release() + { + parent.release(1); + std::unique_lock lock{mutex}; + released++; + if (released > allocated) + abort(); + } + + ConcurrencyControl & parent; + const SlotCount limit; + + std::mutex mutex; // the following values must be accessed under this mutex + SlotCount allocated; // allocated total (including already `released`) + SlotCount released = 0; + + std::atomic granted; // allocated, but not yet acquired + + const Waiters::iterator waiter; // iterator to itself in Waiters list; valid iff allocated < limit + }; + +public: + ConcurrencyControl() + : cur_waiter(waiters.end()) + {} + + // WARNING: all Allocation objects MUST be destructed before ConcurrencyControl + // NOTE: Recommended way to achieve this is to use `instance()` and do graceful shutdown of queries + ~ConcurrencyControl() + { + if (!waiters.empty()) + abort(); + } + + // Allocate at least `min` and at most `max` slots. + // If not all `max` slots were successfully allocated, a subscription for later allocation is created + // Use `Allocation::tryAcquire()` to acquire allocated slot, before running a thread. + [[nodiscard]] AllocationPtr allocate(SlotCount min, SlotCount max) + { + if (min > max) + throw DB::Exception("ConcurrencyControl: invalid allocation requirements", DB::ErrorCodes::LOGICAL_ERROR); + + std::unique_lock lock{mutex}; + + // Acquire as much slots as we can, but not lower than `min` + SlotCount granted = std::max(min, std::min(max, available(lock))); + cur_concurrency += granted; + + // Create allocation and start waiting if more slots are required + if (granted < max) + return AllocationPtr(new Allocation(*this, max, granted, + waiters.insert(cur_waiter, nullptr /* pointer is set by Allocation ctor */))); + else + return AllocationPtr(new Allocation(*this, max, granted)); + } + + void setMaxConcurrency(SlotCount value) + { + std::unique_lock lock{mutex}; + max_concurrency = std::max(1, value); // never allow max_concurrency to be zero + schedule(lock); + } + + static ConcurrencyControl & instance() + { + static ConcurrencyControl result; + return result; + } + +private: + friend struct Allocation; // for free() and release() + + void free(Allocation * allocation) + { + // Allocation is allowed to be canceled even if there are: + // - `amount`: granted slots (acquired slots are not possible, because Slot holds AllocationPtr) + // - `waiter`: active waiting for more slots to be allocated + // Thus Allocation destruction may require the following lock, to avoid race conditions + std::unique_lock lock{mutex}; + auto [amount, waiter] = allocation->cancel(); + + cur_concurrency -= amount; + if (waiter) + { + if (cur_waiter == *waiter) + cur_waiter = waiters.erase(*waiter); + else + waiters.erase(*waiter); + } + schedule(lock); + } + + void release(SlotCount amount) + { + std::unique_lock lock{mutex}; + cur_concurrency -= amount; + schedule(lock); + } + + // Round-robin scheduling of available slots among waiting allocations + void schedule(std::unique_lock &) + { + while (cur_concurrency < max_concurrency && !waiters.empty()) + { + cur_concurrency++; + if (cur_waiter == waiters.end()) + cur_waiter = waiters.begin(); + Allocation * allocation = *cur_waiter; + if (allocation->grant()) + ++cur_waiter; + else + cur_waiter = waiters.erase(cur_waiter); // last required slot has just been granted -- stop waiting + } + } + + SlotCount available(std::unique_lock &) + { + if (cur_concurrency < max_concurrency) + return max_concurrency - cur_concurrency; + else + return 0; + } + + std::mutex mutex; + Waiters waiters; + Waiters::iterator cur_waiter; // round-robin pointer + SlotCount max_concurrency = Unlimited; + SlotCount cur_concurrency = 0; +}; diff --git a/src/Common/Config/AbstractConfigurationComparison.cpp b/src/Common/Config/AbstractConfigurationComparison.cpp index 711c754743d..c00a1efeebe 100644 --- a/src/Common/Config/AbstractConfigurationComparison.cpp +++ b/src/Common/Config/AbstractConfigurationComparison.cpp @@ -73,7 +73,7 @@ bool isSameConfiguration(const Poco::Util::AbstractConfiguration & left, const S /// Check that the right configuration has the same set of subkeys as the left configuration. Poco::Util::AbstractConfiguration::Keys right_subkeys; right.keys(right_key, right_subkeys); - std::unordered_set left_subkeys{subkeys.begin(), subkeys.end()}; + std::unordered_set left_subkeys{subkeys.begin(), subkeys.end()}; if ((left_subkeys.size() != right_subkeys.size()) || (left_subkeys.size() != subkeys.size())) return false; for (const auto & right_subkey : right_subkeys) diff --git a/src/Common/Config/ConfigReloader.cpp b/src/Common/Config/ConfigReloader.cpp index 65e12e09333..de7011b67bf 100644 --- a/src/Common/Config/ConfigReloader.cpp +++ b/src/Common/Config/ConfigReloader.cpp @@ -13,8 +13,6 @@ namespace fs = std::filesystem; namespace DB { -constexpr decltype(ConfigReloader::reload_interval) ConfigReloader::reload_interval; - ConfigReloader::ConfigReloader( const std::string & path_, const std::string & include_from_path_, diff --git a/src/Common/CpuId.h b/src/Common/CpuId.h index 5037c687943..1e54ccf62b3 100644 --- a/src/Common/CpuId.h +++ b/src/Common/CpuId.h @@ -82,6 +82,7 @@ inline bool cpuid(UInt32 op, UInt32 * res) noexcept /// NOLINT OP(AVX512BW) \ OP(AVX512VL) \ OP(AVX512VBMI) \ + OP(AVX512VBMI2) \ OP(PREFETCHWT1) \ OP(SHA) \ OP(ADX) \ @@ -221,7 +222,7 @@ bool haveAVX512F() noexcept && (our_xgetbv(0) & 6u) == 6u // XMM state and YMM state are enabled by OS && ((our_xgetbv(0) >> 5) & 7u) == 7u // ZMM state is enabled by OS && CpuInfo(0x0).registers.eax >= 0x7 // leaf 7 is present - && ((CpuInfo(0x7).registers.ebx >> 16) & 1u); // AVX512F bit + && ((CpuInfo(0x7, 0).registers.ebx >> 16) & 1u); // AVX512F bit #else return false; #endif @@ -302,6 +303,11 @@ bool haveAVX512VBMI() noexcept return haveAVX512F() && ((CpuInfo(0x7, 0).registers.ecx >> 1) & 1u); } +bool haveAVX512VBMI2() noexcept +{ + return haveAVX512F() && ((CpuInfo(0x7, 0).registers.ecx >> 6) & 1u); +} + bool haveRDRAND() noexcept { return CpuInfo(0x0).registers.eax >= 0x7 && ((CpuInfo(0x1).registers.ecx >> 30) & 1u); diff --git a/src/Common/CurrentMemoryTracker.cpp b/src/Common/CurrentMemoryTracker.cpp index bf0745e667e..e41cb258f08 100644 --- a/src/Common/CurrentMemoryTracker.cpp +++ b/src/Common/CurrentMemoryTracker.cpp @@ -4,6 +4,18 @@ #include +#ifdef MEMORY_TRACKER_DEBUG_CHECKS +thread_local bool memory_tracker_always_throw_logical_error_on_allocation = false; +#endif + +namespace DB +{ +namespace ErrorCodes +{ + extern const int LOGICAL_ERROR; +} +} + namespace { @@ -23,64 +35,66 @@ MemoryTracker * getMemoryTracker() } -namespace CurrentMemoryTracker -{ - using DB::current_thread; -namespace +void CurrentMemoryTracker::allocImpl(Int64 size, bool throw_if_memory_exceeded) { - void allocImpl(Int64 size, bool throw_if_memory_exceeded) +#ifdef MEMORY_TRACKER_DEBUG_CHECKS + if (unlikely(memory_tracker_always_throw_logical_error_on_allocation)) { - if (auto * memory_tracker = getMemoryTracker()) - { - if (current_thread) - { - current_thread->untracked_memory += size; + memory_tracker_always_throw_logical_error_on_allocation = false; + throw DB::Exception(DB::ErrorCodes::LOGICAL_ERROR, "Memory tracker: allocations not allowed."); + } +#endif - if (current_thread->untracked_memory > current_thread->untracked_memory_limit) - { - /// Zero untracked before track. If tracker throws out-of-limit we would be able to alloc up to untracked_memory_limit bytes - /// more. It could be useful to enlarge Exception message in rethrow logic. - Int64 tmp = current_thread->untracked_memory; - current_thread->untracked_memory = 0; - memory_tracker->allocImpl(tmp, throw_if_memory_exceeded); - } - } - /// total_memory_tracker only, ignore untracked_memory - else + if (auto * memory_tracker = getMemoryTracker()) + { + if (current_thread) + { + current_thread->untracked_memory += size; + + if (current_thread->untracked_memory > current_thread->untracked_memory_limit) { - memory_tracker->allocImpl(size, throw_if_memory_exceeded); + /// Zero untracked before track. If tracker throws out-of-limit we would be able to alloc up to untracked_memory_limit bytes + /// more. It could be useful to enlarge Exception message in rethrow logic. + Int64 tmp = current_thread->untracked_memory; + current_thread->untracked_memory = 0; + memory_tracker->allocImpl(tmp, throw_if_memory_exceeded); } } + /// total_memory_tracker only, ignore untracked_memory + else + { + memory_tracker->allocImpl(size, throw_if_memory_exceeded); + } } } -void check() +void CurrentMemoryTracker::check() { if (auto * memory_tracker = getMemoryTracker()) memory_tracker->allocImpl(0, true); } -void alloc(Int64 size) +void CurrentMemoryTracker::alloc(Int64 size) { bool throw_if_memory_exceeded = true; allocImpl(size, throw_if_memory_exceeded); } -void allocNoThrow(Int64 size) +void CurrentMemoryTracker::allocNoThrow(Int64 size) { bool throw_if_memory_exceeded = false; allocImpl(size, throw_if_memory_exceeded); } -void realloc(Int64 old_size, Int64 new_size) +void CurrentMemoryTracker::realloc(Int64 old_size, Int64 new_size) { Int64 addition = new_size - old_size; addition > 0 ? alloc(addition) : free(-addition); } -void free(Int64 size) +void CurrentMemoryTracker::free(Int64 size) { if (auto * memory_tracker = getMemoryTracker()) { @@ -101,4 +115,3 @@ void free(Int64 size) } } -} diff --git a/src/Common/CurrentMemoryTracker.h b/src/Common/CurrentMemoryTracker.h index 5f735b10be9..e125e4cbe4a 100644 --- a/src/Common/CurrentMemoryTracker.h +++ b/src/Common/CurrentMemoryTracker.h @@ -3,11 +3,17 @@ #include /// Convenience methods, that use current thread's memory_tracker if it is available. -namespace CurrentMemoryTracker +struct CurrentMemoryTracker { - void alloc(Int64 size); - void allocNoThrow(Int64 size); - void realloc(Int64 old_size, Int64 new_size); - void free(Int64 size); - void check(); -} + /// Call the following functions before calling of corresponding operations with memory allocators. + static void alloc(Int64 size); + static void allocNoThrow(Int64 size); + static void realloc(Int64 old_size, Int64 new_size); + + /// This function should be called after memory deallocation. + static void free(Int64 size); + static void check(); + +private: + static void allocImpl(Int64 size, bool throw_if_memory_exceeded); +}; diff --git a/src/Common/CurrentMetrics.cpp b/src/Common/CurrentMetrics.cpp index fa9c60c6f79..f479e4cc140 100644 --- a/src/Common/CurrentMetrics.cpp +++ b/src/Common/CurrentMetrics.cpp @@ -93,6 +93,8 @@ M(CacheFileSegments, "Number of existing cache file segments") \ M(CacheDetachedFileSegments, "Number of existing detached cache file segments") \ M(S3Requests, "S3 requests") \ + M(KeeperAliveConnections, "Number of alive connections") \ + M(KeeperOutstandingRequets, "Number of outstanding requests") \ namespace CurrentMetrics { diff --git a/src/Common/CurrentMetrics.h b/src/Common/CurrentMetrics.h index 7508c26b0ae..c184ee1e7f2 100644 --- a/src/Common/CurrentMetrics.h +++ b/src/Common/CurrentMetrics.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include diff --git a/src/Common/CurrentThread.cpp b/src/Common/CurrentThread.cpp index e3f6b63b28a..a2cdf9c8361 100644 --- a/src/Common/CurrentThread.cpp +++ b/src/Common/CurrentThread.cpp @@ -43,13 +43,6 @@ ProfileEvents::Counters & CurrentThread::getProfileEvents() return current_thread ? current_thread->performance_counters : ProfileEvents::global_counters; } -MemoryTracker * CurrentThread::getMemoryTracker() -{ - if (unlikely(!current_thread)) - return nullptr; - return ¤t_thread->memory_tracker; -} - void CurrentThread::updateProgressIn(const Progress & value) { if (unlikely(!current_thread)) diff --git a/src/Common/CurrentThread.h b/src/Common/CurrentThread.h index 4888adb511a..cbe60365798 100644 --- a/src/Common/CurrentThread.h +++ b/src/Common/CurrentThread.h @@ -2,7 +2,6 @@ #include #include -#include #include #include @@ -55,7 +54,12 @@ public: static void updatePerformanceCounters(); static ProfileEvents::Counters & getProfileEvents(); - static MemoryTracker * getMemoryTracker(); + inline ALWAYS_INLINE static MemoryTracker * getMemoryTracker() + { + if (unlikely(!current_thread)) + return nullptr; + return ¤t_thread->memory_tracker; + } /// Update read and write rows (bytes) statistics (used in system.query_thread_log) static void updateProgressIn(const Progress & value); @@ -76,7 +80,7 @@ public: static void finalizePerformanceCounters(); /// Returns a non-empty string if the thread is attached to a query - static StringRef getQueryId() + static std::string_view getQueryId() { if (unlikely(!current_thread)) return {}; diff --git a/src/Common/DNSPTRResolver.h b/src/Common/DNSPTRResolver.h new file mode 100644 index 00000000000..e6cce83f79d --- /dev/null +++ b/src/Common/DNSPTRResolver.h @@ -0,0 +1,18 @@ +#pragma once + +#include +#include + +namespace DB +{ + struct DNSPTRResolver + { + + virtual ~DNSPTRResolver() = default; + + virtual std::vector resolve(const std::string & ip) = 0; + + virtual std::vector resolve_v6(const std::string & ip) = 0; + + }; +} diff --git a/src/Common/DNSPTRResolverProvider.cpp b/src/Common/DNSPTRResolverProvider.cpp new file mode 100644 index 00000000000..41c73f4f36f --- /dev/null +++ b/src/Common/DNSPTRResolverProvider.cpp @@ -0,0 +1,13 @@ +#include "DNSPTRResolverProvider.h" +#include "CaresPTRResolver.h" + +namespace DB +{ + std::shared_ptr DNSPTRResolverProvider::get() + { + static auto cares_resolver = std::make_shared( + CaresPTRResolver::provider_token {} + ); + return cares_resolver; + } +} diff --git a/src/Common/DNSPTRResolverProvider.h b/src/Common/DNSPTRResolverProvider.h new file mode 100644 index 00000000000..a7f534749e3 --- /dev/null +++ b/src/Common/DNSPTRResolverProvider.h @@ -0,0 +1,18 @@ +#pragma once + +#include +#include "DNSPTRResolver.h" + +namespace DB +{ + /* + * Provides a ready-to-use DNSPTRResolver instance. + * It hides 3rd party lib dependencies, handles initialization and lifetime. + * Since `get` function is static, it can be called from any context. Including cached static functions. + * */ + class DNSPTRResolverProvider + { + public: + static std::shared_ptr get(); + }; +} diff --git a/src/Common/DNSResolver.cpp b/src/Common/DNSResolver.cpp index 0616e324b73..10797b7a809 100644 --- a/src/Common/DNSResolver.cpp +++ b/src/Common/DNSResolver.cpp @@ -12,6 +12,7 @@ #include #include #include +#include "DNSPTRResolverProvider.h" namespace ProfileEvents { @@ -138,16 +139,17 @@ static DNSResolver::IPAddresses resolveIPAddressImpl(const std::string & host) return addresses; } -static String reverseResolveImpl(const Poco::Net::IPAddress & address) +static Strings reverseResolveImpl(const Poco::Net::IPAddress & address) { - Poco::Net::SocketAddress sock_addr(address, 0); + auto ptr_resolver = DB::DNSPTRResolverProvider::get(); - /// Resolve by hand, because Poco::Net::DNS::hostByAddress(...) does getaddrinfo(...) after getnameinfo(...) - char host[1024]; - int err = getnameinfo(sock_addr.addr(), sock_addr.length(), host, sizeof(host), nullptr, 0, NI_NAMEREQD); - if (err) - throw Exception("Cannot getnameinfo(" + address.toString() + "): " + gai_strerror(err), ErrorCodes::DNS_ERROR); - return host; + if (address.family() == Poco::Net::IPAddress::Family::IPv4) + { + return ptr_resolver->resolve(address.toString()); + } else + { + return ptr_resolver->resolve_v6(address.toString()); + } } struct DNSResolver::Impl @@ -235,7 +237,7 @@ std::vector DNSResolver::resolveAddressList(const std: return addresses; } -String DNSResolver::reverseResolve(const Poco::Net::IPAddress & address) +Strings DNSResolver::reverseResolve(const Poco::Net::IPAddress & address) { if (impl->disable_cache) return reverseResolveImpl(address); diff --git a/src/Common/DNSResolver.h b/src/Common/DNSResolver.h index fdd9799f96f..84c88586636 100644 --- a/src/Common/DNSResolver.h +++ b/src/Common/DNSResolver.h @@ -36,8 +36,8 @@ public: std::vector resolveAddressList(const std::string & host, UInt16 port); - /// Accepts host IP and resolves its host name - String reverseResolve(const Poco::Net::IPAddress & address); + /// Accepts host IP and resolves its host names + Strings reverseResolve(const Poco::Net::IPAddress & address); /// Get this server host name String getHostName(); diff --git a/src/Common/DateLUT.cpp b/src/Common/DateLUT.cpp index d14b63cd70a..1206015b764 100644 --- a/src/Common/DateLUT.cpp +++ b/src/Common/DateLUT.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -64,9 +65,9 @@ std::string determineDefaultTimeZone() /// /etc/localtime -> /usr/share/zoneinfo//UTC /// /usr/share/zoneinfo//UTC -> UCT /// But the preferred time zone name is pointed by the first link (UTC), and the second link is just an internal detail. - if (fs::is_symlink(tz_file_path)) + if (FS::isSymlink(tz_file_path)) { - tz_file_path = fs::read_symlink(tz_file_path); + tz_file_path = FS::readSymlink(tz_file_path); /// If it's relative - make it absolute. if (tz_file_path.is_relative()) tz_file_path = (fs::path("/etc/") / tz_file_path).lexically_normal(); diff --git a/src/Common/DateLUTImpl.cpp b/src/Common/DateLUTImpl.cpp index 869954bb2ae..31290c53b49 100644 --- a/src/Common/DateLUTImpl.cpp +++ b/src/Common/DateLUTImpl.cpp @@ -122,9 +122,6 @@ DateLUTImpl::DateLUTImpl(const std::string & time_zone_) values.time_at_offset_change_value = (transition.from - cctz::civil_second(date)) / Values::OffsetChangeFactor; values.amount_of_offset_change_value = (transition.to - transition.from) / Values::OffsetChangeFactor; -// std::cerr << time_zone << ", " << date << ": change from " << transition.from << " to " << transition.to << "\n"; -// std::cerr << time_zone << ", " << date << ": change at " << values.time_at_offset_change() << " with " << values.amount_of_offset_change() << "\n"; - /// We don't support too large changes. if (values.amount_of_offset_change_value > 24 * 4) values.amount_of_offset_change_value = 24 * 4; diff --git a/src/Common/DateLUTImpl.h b/src/Common/DateLUTImpl.h index 4bc9614abcb..f9361e809a9 100644 --- a/src/Common/DateLUTImpl.h +++ b/src/Common/DateLUTImpl.h @@ -10,20 +10,23 @@ #include -#define DATE_LUT_MIN_YEAR 1925 /// 1925 since wast majority of timezones changed to 15-minute aligned offsets somewhere in 1924 or earlier. -#define DATE_LUT_MAX_YEAR 2283 /// Last supported year (complete) +#define DATE_LUT_MIN_YEAR 1900 /// 1900 since majority of financial organizations consider 1900 as an initial year. +#define DATE_LUT_MAX_YEAR 2299 /// Last supported year (complete) #define DATE_LUT_YEARS (1 + DATE_LUT_MAX_YEAR - DATE_LUT_MIN_YEAR) /// Number of years in lookup table -#define DATE_LUT_SIZE 0x20000 +#define DATE_LUT_SIZE 0x23AB1 #define DATE_LUT_MAX (0xFFFFFFFFU - 86400) #define DATE_LUT_MAX_DAY_NUM 0xFFFF + +#define DAYNUM_OFFSET_EPOCH 25567 + /// Max int value of Date32, DATE LUT cache size minus daynum_offset_epoch -#define DATE_LUT_MAX_EXTEND_DAY_NUM (DATE_LUT_SIZE - 16436) +#define DATE_LUT_MAX_EXTEND_DAY_NUM (DATE_LUT_SIZE - DAYNUM_OFFSET_EPOCH) /// A constant to add to time_t so every supported time point becomes non-negative and still has the same remainder of division by 3600. /// If we treat "remainder of division" operation in the sense of modular arithmetic (not like in C++). -#define DATE_LUT_ADD ((1970 - DATE_LUT_MIN_YEAR) * 366 * 86400) +#define DATE_LUT_ADD ((1970 - DATE_LUT_MIN_YEAR) * 366L * 86400) #if defined(__PPC__) @@ -64,62 +67,78 @@ private: // Same as above but select different function overloads for zero saturation. STRONG_TYPEDEF(UInt32, LUTIndexWithSaturation) + static inline LUTIndex normalizeLUTIndex(UInt32 index) + { + if (index >= DATE_LUT_SIZE) + return LUTIndex(DATE_LUT_SIZE - 1); + return LUTIndex{index}; + } + + static inline LUTIndex normalizeLUTIndex(Int64 index) + { + if (unlikely(index < 0)) + return LUTIndex(0); + if (index >= DATE_LUT_SIZE) + return LUTIndex(DATE_LUT_SIZE - 1); + return LUTIndex{index}; + } + template friend inline LUTIndex operator+(const LUTIndex & index, const T v) { - return LUTIndex{(index.toUnderType() + UInt32(v)) & date_lut_mask}; + return normalizeLUTIndex(index.toUnderType() + UInt32(v)); } template friend inline LUTIndex operator+(const T v, const LUTIndex & index) { - return LUTIndex{(v + index.toUnderType()) & date_lut_mask}; + return normalizeLUTIndex(static_cast(v + index.toUnderType())); } friend inline LUTIndex operator+(const LUTIndex & index, const LUTIndex & v) { - return LUTIndex{(index.toUnderType() + v.toUnderType()) & date_lut_mask}; + return normalizeLUTIndex(static_cast(index.toUnderType() + v.toUnderType())); } template friend inline LUTIndex operator-(const LUTIndex & index, const T v) { - return LUTIndex{(index.toUnderType() - UInt32(v)) & date_lut_mask}; + return normalizeLUTIndex(static_cast(index.toUnderType() - UInt32(v))); } template friend inline LUTIndex operator-(const T v, const LUTIndex & index) { - return LUTIndex{(v - index.toUnderType()) & date_lut_mask}; + return normalizeLUTIndex(static_cast(v - index.toUnderType())); } friend inline LUTIndex operator-(const LUTIndex & index, const LUTIndex & v) { - return LUTIndex{(index.toUnderType() - v.toUnderType()) & date_lut_mask}; + return normalizeLUTIndex(static_cast(index.toUnderType() - v.toUnderType())); } template friend inline LUTIndex operator*(const LUTIndex & index, const T v) { - return LUTIndex{(index.toUnderType() * UInt32(v)) & date_lut_mask}; + return normalizeLUTIndex(index.toUnderType() * UInt32(v)); } template friend inline LUTIndex operator*(const T v, const LUTIndex & index) { - return LUTIndex{(v * index.toUnderType()) & date_lut_mask}; + return normalizeLUTIndex(v * index.toUnderType()); } template friend inline LUTIndex operator/(const LUTIndex & index, const T v) { - return LUTIndex{(index.toUnderType() / UInt32(v)) & date_lut_mask}; + return normalizeLUTIndex(index.toUnderType() / UInt32(v)); } template friend inline LUTIndex operator/(const T v, const LUTIndex & index) { - return LUTIndex{(UInt32(v) / index.toUnderType()) & date_lut_mask}; + return normalizeLUTIndex(UInt32(v) / index.toUnderType()); } public: @@ -168,14 +187,9 @@ public: static_assert(sizeof(Values) == 16); private: - - /// Mask is all-ones to allow efficient protection against overflow. - static constexpr UInt32 date_lut_mask = 0x1ffff; - static_assert(date_lut_mask == DATE_LUT_SIZE - 1); - /// Offset to epoch in days (ExtendedDayNum) of the first day in LUT. /// "epoch" is the Unix Epoch (starts at unix timestamp zero) - static constexpr UInt32 daynum_offset_epoch = 16436; + static constexpr UInt32 daynum_offset_epoch = 25567; static_assert(daynum_offset_epoch == (1970 - DATE_LUT_MIN_YEAR) * 365 + (1970 - DATE_LUT_MIN_YEAR / 4 * 4) / 4); /// Lookup table is indexed by LUTIndex. @@ -232,12 +246,12 @@ private: static inline LUTIndex toLUTIndex(DayNum d) { - return LUTIndex{(d + daynum_offset_epoch) & date_lut_mask}; + return normalizeLUTIndex(d + daynum_offset_epoch); } static inline LUTIndex toLUTIndex(ExtendedDayNum d) { - return LUTIndex{static_cast(d + daynum_offset_epoch) & date_lut_mask}; + return normalizeLUTIndex(static_cast(d + daynum_offset_epoch)); } inline LUTIndex toLUTIndex(Time t) const @@ -1062,7 +1076,7 @@ public: auto year_lut_index = (year - DATE_LUT_MIN_YEAR) * 12 + month - 1; UInt32 index = years_months_lut[year_lut_index].toUnderType() + day_of_month - 1; - /// When date is out of range, default value is DATE_LUT_SIZE - 1 (2283-11-11) + /// When date is out of range, default value is DATE_LUT_SIZE - 1 (2299-12-31) return LUTIndex{std::min(index, static_cast(DATE_LUT_SIZE - 1))}; } diff --git a/src/Common/Dwarf.cpp b/src/Common/Dwarf.cpp index 7cabe6ba83b..c8ffe7d46a8 100644 --- a/src/Common/Dwarf.cpp +++ b/src/Common/Dwarf.cpp @@ -1,4 +1,4 @@ -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) /* * Copyright 2012-present Facebook, Inc. diff --git a/src/Common/Dwarf.h b/src/Common/Dwarf.h index 3d8a50236ff..6e3d3e74e81 100644 --- a/src/Common/Dwarf.h +++ b/src/Common/Dwarf.h @@ -1,6 +1,6 @@ #pragma once -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) /* * Copyright 2012-present Facebook, Inc. diff --git a/src/Common/Elf.cpp b/src/Common/Elf.cpp index 8ed7b75319b..b735367b179 100644 --- a/src/Common/Elf.cpp +++ b/src/Common/Elf.cpp @@ -1,4 +1,4 @@ -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) #include #include @@ -176,9 +176,9 @@ String Elf::getBuildID(const char * nhdr_pos, size_t size) #endif // OS_SUNOS -String Elf::getBinaryHash() const +String Elf::getStoredBinaryHash() const { - if (auto section = findSectionByName(".note.ClickHouse.hash")) + if (auto section = findSectionByName(".clickhouse.hash")) return {section->begin(), section->end()}; else return {}; diff --git a/src/Common/Elf.h b/src/Common/Elf.h index 30a28f6e9a9..5a6bd9e302d 100644 --- a/src/Common/Elf.h +++ b/src/Common/Elf.h @@ -1,6 +1,6 @@ #pragma once -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) #include @@ -61,7 +61,7 @@ public: static String getBuildID(const char * nhdr_pos, size_t size); /// Hash of the binary for integrity checks. - String getBinaryHash() const; + String getStoredBinaryHash() const; private: MMapReadBufferFromFile in; diff --git a/src/Common/Epoll.cpp b/src/Common/Epoll.cpp index d2c16c186ce..9b2589f0589 100644 --- a/src/Common/Epoll.cpp +++ b/src/Common/Epoll.cpp @@ -70,6 +70,9 @@ size_t Epoll::getManyReady(int max_events, epoll_event * events_out, bool blocki if (ready_size == -1 && errno != EINTR) throwFromErrno("Error in epoll_wait", DB::ErrorCodes::EPOLL_ERROR); + + if (errno == EINTR) + LOG_TEST(&Poco::Logger::get("Epoll"), "EINTR"); } while (ready_size <= 0 && (ready_size != 0 || blocking)); diff --git a/src/Common/ErrorCodes.cpp b/src/Common/ErrorCodes.cpp index 973dde10756..904fee99214 100644 --- a/src/Common/ErrorCodes.cpp +++ b/src/Common/ErrorCodes.cpp @@ -613,7 +613,7 @@ M(642, CANNOT_PACK_ARCHIVE) \ M(643, CANNOT_UNPACK_ARCHIVE) \ M(644, REMOTE_FS_OBJECT_CACHE_ERROR) \ - M(645, NUMBER_OF_DIMENSIONS_MISMATHED) \ + M(645, NUMBER_OF_DIMENSIONS_MISMATCHED) \ M(646, CANNOT_BACKUP_DATABASE) \ M(647, CANNOT_BACKUP_TABLE) \ M(648, WRONG_DDL_RENAMING_SETTINGS) \ @@ -629,6 +629,11 @@ M(658, MEILISEARCH_MISSING_SOME_COLUMNS) \ M(659, UNKNOWN_STATUS_OF_TRANSACTION) \ M(660, HDFS_ERROR) \ + M(661, CANNOT_SEND_SIGNAL) \ + M(662, FS_METADATA_ERROR) \ + M(663, INCONSISTENT_METADATA_FOR_BACKUP) \ + M(664, ACCESS_STORAGE_DOESNT_ALLOW_BACKUP) \ + M(665, CANNOT_CONNECT_NATS) \ \ M(999, KEEPER_EXCEPTION) \ M(1000, POCO_EXCEPTION) \ diff --git a/src/Common/ErrorCodes.h b/src/Common/ErrorCodes.h index 4d5fa632e45..8879779a5e2 100644 --- a/src/Common/ErrorCodes.h +++ b/src/Common/ErrorCodes.h @@ -6,6 +6,7 @@ #include #include #include +#include #include /** Allows to count number of simultaneously happening error codes. @@ -57,7 +58,7 @@ namespace ErrorCodes void increment(bool remote, const std::string & message, const FramePointers & trace); private: - ErrorPair value; + ErrorPair value TSA_GUARDED_BY(mutex); std::mutex mutex; }; diff --git a/src/Common/EventRateMeter.h b/src/Common/EventRateMeter.h new file mode 100644 index 00000000000..f70258faa9e --- /dev/null +++ b/src/Common/EventRateMeter.h @@ -0,0 +1,63 @@ +#pragma once + +#include + +#include + +#include + + +namespace DB +{ + +/// Event count measurement with exponential smoothing intended for computing time derivatives +class EventRateMeter +{ +public: + explicit EventRateMeter(double now, double period_) + : period(period_) + , half_decay_time(period * std::numbers::ln2) // for `ExponentiallySmoothedAverage::sumWeights()` to be equal to `1/period` + { + reset(now); + } + + /// Add `count` events happened at `now` instant. + /// Previous events that are older than `period` from `now` will be forgotten + /// in a way to keep average event rate the same, using exponential smoothing. + /// NOTE: Adding events into distant past (further than `period`) must be avoided. + void add(double now, double count) + { + if (now - period <= start) // precise counting mode + events = ExponentiallySmoothedAverage(events.value + count, now); + else // exponential smoothing mode + events.add(count, now, half_decay_time); + } + + /// Compute average event rate throughout `[now - period, now]` period. + /// If measurements are just started (`now - period < start`), then average + /// is computed based on shorter `[start; now]` period to avoid initial linear growth. + double rate(double now) + { + add(now, 0); + if (unlikely(now <= start)) + return 0; + if (now - period <= start) // precise counting mode + return events.value / (now - start); + else // exponential smoothing mode + return events.get(half_decay_time); // equals to `events.value / period` + } + + void reset(double now) + { + start = now; + events = ExponentiallySmoothedAverage(); + } + +private: + const double period; + const double half_decay_time; + double start; // Instant in past without events before it; when measurement started or reset + ExponentiallySmoothedAverage events; // Estimated number of events in the last `period` +}; + +} diff --git a/src/Common/Exception.cpp b/src/Common/Exception.cpp index d0f7af2da6b..1f5ff35ab4e 100644 --- a/src/Common/Exception.cpp +++ b/src/Common/Exception.cpp @@ -218,7 +218,7 @@ static void getNoSpaceLeftInfoMessage(std::filesystem::path path, String & msg) formatReadableQuantity(fs.f_favail), mount_point); -#if defined(__linux__) +#if defined(OS_LINUX) msg += "\nFilesystem: " + getFilesystemName(mount_point); #endif } @@ -230,7 +230,7 @@ static void getNoSpaceLeftInfoMessage(std::filesystem::path path, String & msg) */ static void getNotEnoughMemoryMessage(std::string & msg) { -#if defined(__linux__) +#if defined(OS_LINUX) try { static constexpr size_t buf_size = 1024; @@ -261,7 +261,7 @@ static void getNotEnoughMemoryMessage(std::string & msg) } } - if (num_maps > max_map_count * 0.99) + if (num_maps > max_map_count * 0.90) { msg += fmt::format( "\nIt looks like that the process is near the limit on number of virtual memory mappings." diff --git a/src/Common/Exception.h b/src/Common/Exception.h index 253dbe6d65c..9d59fb4d7b5 100644 --- a/src/Common/Exception.h +++ b/src/Common/Exception.h @@ -130,7 +130,7 @@ public: int getLineNumber() const { return line_number; } void setLineNumber(int line_number_) { line_number = line_number_;} - const String getFileName() const { return file_name; } + String getFileName() const { return file_name; } void setFileName(const String & file_name_) { file_name = file_name_; } Exception * clone() const override { return new ParsingException(*this); } diff --git a/src/Common/FileCache.cpp b/src/Common/FileCache.cpp index 707ee7ec3d2..5a59bb6182a 100644 --- a/src/Common/FileCache.cpp +++ b/src/Common/FileCache.cpp @@ -2,7 +2,6 @@ #include #include -#include #include #include #include @@ -11,6 +10,7 @@ #include #include #include +#include namespace fs = std::filesystem; @@ -22,82 +22,218 @@ namespace ErrorCodes extern const int LOGICAL_ERROR; } -namespace -{ - String keyToStr(const IFileCache::Key & key) - { - return getHexUIntLowercase(key); - } -} - -IFileCache::IFileCache( +FileCache::FileCache( const String & cache_base_path_, const FileCacheSettings & cache_settings_) : cache_base_path(cache_base_path_) , max_size(cache_settings_.max_size) , max_element_size(cache_settings_.max_elements) , max_file_segment_size(cache_settings_.max_file_segment_size) + , enable_filesystem_query_cache_limit(cache_settings_.enable_filesystem_query_cache_limit) + , main_priority(std::make_unique()) + , stash_priority(std::make_unique()) + , max_stash_element_size(cache_settings_.max_elements) + , enable_cache_hits_threshold(cache_settings_.enable_cache_hits_threshold) + , log(&Poco::Logger::get("FileCache")) + , allow_to_remove_persistent_segments_from_cache_by_default(cache_settings_.allow_to_remove_persistent_segments_from_cache_by_default) { } -IFileCache::Key IFileCache::hash(const String & path) +FileCache::Key FileCache::hash(const String & path) { - return sipHash128(path.data(), path.size()); + return Key(sipHash128(path.data(), path.size())); } -String IFileCache::getPathInLocalCache(const Key & key, size_t offset) +String FileCache::getPathInLocalCache(const Key & key, size_t offset, bool is_persistent) const { - auto key_str = keyToStr(key); - return fs::path(cache_base_path) / key_str.substr(0, 3) / key_str / std::to_string(offset); + auto key_str = key.toString(); + return fs::path(cache_base_path) + / key_str.substr(0, 3) + / key_str + / (std::to_string(offset) + (is_persistent ? "_persistent" : "")); } -String IFileCache::getPathInLocalCache(const Key & key) +String FileCache::getPathInLocalCache(const Key & key) const { - auto key_str = keyToStr(key); + auto key_str = key.toString(); return fs::path(cache_base_path) / key_str.substr(0, 3) / key_str; } -bool IFileCache::isReadOnly() +static bool isQueryInitialized() { - return !CurrentThread::isInitialized() - || !CurrentThread::get().getQueryContext() - || CurrentThread::getQueryId().size == 0; + return CurrentThread::isInitialized() + && CurrentThread::get().getQueryContext() + && !CurrentThread::getQueryId().empty(); } -void IFileCache::assertInitialized() const +bool FileCache::isReadOnly() +{ + return !isQueryInitialized(); +} + +void FileCache::assertInitialized() const { if (!is_initialized) throw Exception(ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, "Cache not initialized"); } -LRUFileCache::LRUFileCache(const String & cache_base_path_, const FileCacheSettings & cache_settings_) - : IFileCache(cache_base_path_, cache_settings_) - , max_stash_element_size(cache_settings_.max_elements) - , enable_cache_hits_threshold(cache_settings_.enable_cache_hits_threshold) - , log(&Poco::Logger::get("LRUFileCache")) +FileCache::QueryContextPtr FileCache::getCurrentQueryContext(std::lock_guard & cache_lock) +{ + if (!isQueryInitialized()) + return nullptr; + + return getQueryContext(std::string(CurrentThread::getQueryId()), cache_lock); +} + +FileCache::QueryContextPtr FileCache::getQueryContext(const String & query_id, std::lock_guard & /* cache_lock */) +{ + auto query_iter = query_map.find(query_id); + return (query_iter == query_map.end()) ? nullptr : query_iter->second; +} + +void FileCache::removeQueryContext(const String & query_id) +{ + std::lock_guard cache_lock(mutex); + auto query_iter = query_map.find(query_id); + + if (query_iter == query_map.end()) + { + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Attempt to release query context that does not exist (query_id: {})", + query_id); + } + + query_map.erase(query_iter); +} + +FileCache::QueryContextPtr FileCache::getOrSetQueryContext( + const String & query_id, const ReadSettings & settings, std::lock_guard & cache_lock) +{ + if (query_id.empty()) + return nullptr; + + auto context = getQueryContext(query_id, cache_lock); + if (context) + return context; + + auto query_context = std::make_shared(settings.max_query_cache_size, settings.skip_download_if_exceeds_query_cache); + auto query_iter = query_map.emplace(query_id, query_context).first; + return query_iter->second; +} + +FileCache::QueryContextHolder FileCache::getQueryContextHolder(const String & query_id, const ReadSettings & settings) +{ + std::lock_guard cache_lock(mutex); + + if (!enable_filesystem_query_cache_limit || settings.max_query_cache_size == 0) + return {}; + + /// if enable_filesystem_query_cache_limit is true, and max_query_cache_size large than zero, + /// we create context query for current query. + auto context = getOrSetQueryContext(query_id, settings, cache_lock); + return QueryContextHolder(query_id, this, context); +} + +void FileCache::QueryContext::remove(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock) +{ + if (cache_size < size) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Deleted cache size exceeds existing cache size"); + + if (!skip_download_if_exceeds_query_cache) + { + auto record = records.find({key, offset}); + if (record != records.end()) + { + record->second->removeAndGetNext(cache_lock); + records.erase({key, offset}); + } + } + cache_size -= size; +} + +void FileCache::QueryContext::reserve(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock) +{ + if (cache_size + size > max_cache_size) + { + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Reserved cache size exceeds the remaining cache size (key: {}, offset: {})", + key.toString(), offset); + } + + if (!skip_download_if_exceeds_query_cache) + { + auto record = records.find({key, offset}); + if (record == records.end()) + { + auto queue_iter = priority->add(key, offset, 0, cache_lock); + record = records.insert({{key, offset}, queue_iter}).first; + } + record->second->incrementSize(size, cache_lock); + } + cache_size += size; +} + +void FileCache::QueryContext::use(const Key & key, size_t offset, std::lock_guard & cache_lock) +{ + if (skip_download_if_exceeds_query_cache) + return; + + auto record = records.find({key, offset}); + if (record != records.end()) + record->second->use(cache_lock); +} + +FileCache::QueryContextHolder::QueryContextHolder( + const String & query_id_, + FileCache * cache_, + FileCache::QueryContextPtr context_) + : query_id(query_id_) + , cache(cache_) + , context(context_) { } -void LRUFileCache::initialize() +FileCache::QueryContextHolder::~QueryContextHolder() +{ + /// If only the query_map and the current holder hold the context_query, + /// the query has been completed and the query_context is released. + if (context && context.use_count() == 2) + cache->removeQueryContext(query_id); +} + +void FileCache::initialize() { std::lock_guard cache_lock(mutex); if (!is_initialized) { if (fs::exists(cache_base_path)) - loadCacheInfoIntoMemory(cache_lock); + { + try + { + loadCacheInfoIntoMemory(cache_lock); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__); + throw; + } + } else fs::create_directories(cache_base_path); + is_initialized = true; } } -void LRUFileCache::useCell( - const FileSegmentCell & cell, FileSegments & result, std::lock_guard & cache_lock) +void FileCache::useCell( + const FileSegmentCell & cell, FileSegments & result, std::lock_guard & cache_lock) const { auto file_segment = cell.file_segment; if (file_segment->isDownloaded() - && fs::file_size(getPathInLocalCache(file_segment->key(), file_segment->offset())) == 0) + && fs::file_size(getPathInLocalCache(file_segment->key(), file_segment->offset(), file_segment->isPersistent())) == 0) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot have zero size downloaded file segments. Current file segment: {}", file_segment->range().toString()); @@ -111,11 +247,11 @@ void LRUFileCache::useCell( if (cell.queue_iterator) { /// Move to the end of the queue. The iterator remains valid. - queue.moveToEnd(*cell.queue_iterator, cache_lock); + cell.queue_iterator->use(cache_lock); } } -LRUFileCache::FileSegmentCell * LRUFileCache::getCell( +FileCache::FileSegmentCell * FileCache::getCell( const Key & key, size_t offset, std::lock_guard & /* cache_lock */) { auto it = files.find(key); @@ -130,7 +266,7 @@ LRUFileCache::FileSegmentCell * LRUFileCache::getCell( return &cell_it->second; } -FileSegments LRUFileCache::getImpl( +FileSegments FileCache::getImpl( const Key & key, const FileSegment::Range & range, std::lock_guard & cache_lock) { /// Given range = [left, right] and non-overlapping ordered set of file segments, @@ -147,8 +283,10 @@ FileSegments LRUFileCache::getImpl( files.erase(key); + /// Note: it is guaranteed that there is no concurrency with files deletion, + /// because cache files are deleted only inside FileCache and under cache lock. if (fs::exists(key_path)) - fs::remove(key_path); + fs::remove_all(key_path); return {}; } @@ -184,7 +322,6 @@ FileSegments LRUFileCache::getImpl( /// [___________ /// ^ /// range.left - useCell(prev_cell, result, cache_lock); } } @@ -209,8 +346,8 @@ FileSegments LRUFileCache::getImpl( return result; } -FileSegments LRUFileCache::splitRangeIntoCells( - const Key & key, size_t offset, size_t size, FileSegment::State state, std::lock_guard & cache_lock) +FileSegments FileCache::splitRangeIntoCells( + const Key & key, size_t offset, size_t size, FileSegment::State state, bool is_persistent, std::lock_guard & cache_lock) { assert(size > 0); @@ -226,7 +363,7 @@ FileSegments LRUFileCache::splitRangeIntoCells( current_cell_size = std::min(remaining_size, max_file_segment_size); remaining_size -= current_cell_size; - auto * cell = addCell(key, current_pos, current_cell_size, state, cache_lock); + auto * cell = addCell(key, current_pos, current_cell_size, state, is_persistent, cache_lock); if (cell) file_segments.push_back(cell->file_segment); assert(cell); @@ -238,11 +375,12 @@ FileSegments LRUFileCache::splitRangeIntoCells( return file_segments; } -void LRUFileCache::fillHolesWithEmptyFileSegments( +void FileCache::fillHolesWithEmptyFileSegments( FileSegments & file_segments, const Key & key, const FileSegment::Range & range, bool fill_with_detached_file_segments, + bool is_persistent, std::lock_guard & cache_lock) { /// There are segments [segment1, ..., segmentN] @@ -298,7 +436,7 @@ void LRUFileCache::fillHolesWithEmptyFileSegments( } else { - file_segments.splice(it, splitRangeIntoCells(key, current_pos, hole_size, FileSegment::State::EMPTY, cache_lock)); + file_segments.splice(it, splitRangeIntoCells(key, current_pos, hole_size, FileSegment::State::EMPTY, is_persistent, cache_lock)); } current_pos = segment_range.right + 1; @@ -326,12 +464,12 @@ void LRUFileCache::fillHolesWithEmptyFileSegments( else { file_segments.splice( - file_segments.end(), splitRangeIntoCells(key, current_pos, hole_size, FileSegment::State::EMPTY, cache_lock)); + file_segments.end(), splitRangeIntoCells(key, current_pos, hole_size, FileSegment::State::EMPTY, is_persistent, cache_lock)); } } } -FileSegmentsHolder LRUFileCache::getOrSet(const Key & key, size_t offset, size_t size) +FileSegmentsHolder FileCache::getOrSet(const Key & key, size_t offset, size_t size, bool is_persistent) { assertInitialized(); @@ -348,18 +486,18 @@ FileSegmentsHolder LRUFileCache::getOrSet(const Key & key, size_t offset, size_t if (file_segments.empty()) { - file_segments = splitRangeIntoCells(key, offset, size, FileSegment::State::EMPTY, cache_lock); + file_segments = splitRangeIntoCells(key, offset, size, FileSegment::State::EMPTY, is_persistent, cache_lock); } else { - fillHolesWithEmptyFileSegments(file_segments, key, range, false, cache_lock); + fillHolesWithEmptyFileSegments(file_segments, key, range, /* fill_with_detached */false, is_persistent, cache_lock); } assert(!file_segments.empty()); return FileSegmentsHolder(std::move(file_segments)); } -FileSegmentsHolder LRUFileCache::get(const Key & key, size_t offset, size_t size) +FileSegmentsHolder FileCache::get(const Key & key, size_t offset, size_t size) { assertInitialized(); @@ -385,14 +523,15 @@ FileSegmentsHolder LRUFileCache::get(const Key & key, size_t offset, size_t size } else { - fillHolesWithEmptyFileSegments(file_segments, key, range, true, cache_lock); + fillHolesWithEmptyFileSegments(file_segments, key, range, /* fill_with_detached */true, /* is_persistent */false, cache_lock); } return FileSegmentsHolder(std::move(file_segments)); } -LRUFileCache::FileSegmentCell * LRUFileCache::addCell( - const Key & key, size_t offset, size_t size, FileSegment::State state, +FileCache::FileSegmentCell * FileCache::addCell( + const Key & key, size_t offset, size_t size, + FileSegment::State state, bool is_persistent, std::lock_guard & cache_lock) { /// Create a file segment cell and put it in `files` map by [key][offset]. @@ -404,41 +543,38 @@ LRUFileCache::FileSegmentCell * LRUFileCache::addCell( throw Exception( ErrorCodes::LOGICAL_ERROR, "Cache already exists for key: `{}`, offset: {}, size: {}.\nCurrent cache structure: {}", - keyToStr(key), offset, size, dumpStructureUnlocked(key, cache_lock)); + key.toString(), offset, size, dumpStructureUnlocked(key, cache_lock)); auto skip_or_download = [&]() -> FileSegmentPtr { + FileSegment::State result_state = state; if (state == FileSegment::State::EMPTY && enable_cache_hits_threshold) { - auto record = records.find({key, offset}); + auto record = stash_records.find({key, offset}); - if (record == records.end()) + if (record == stash_records.end()) { - auto queue_iter = stash_queue.add(key, offset, 0, cache_lock); - records.insert({{key, offset}, queue_iter}); + auto priority_iter = stash_priority->add(key, offset, 0, cache_lock); + stash_records.insert({{key, offset}, priority_iter}); - if (stash_queue.getElementsNum(cache_lock) > max_stash_element_size) + if (stash_priority->getElementsNum(cache_lock) > max_stash_element_size) { - auto remove_queue_iter = stash_queue.begin(); - records.erase({remove_queue_iter->key, remove_queue_iter->offset}); - stash_queue.remove(remove_queue_iter, cache_lock); + auto remove_priority_iter = stash_priority->getLowestPriorityWriteIterator(cache_lock); + stash_records.erase({remove_priority_iter->key(), remove_priority_iter->offset()}); + remove_priority_iter->removeAndGetNext(cache_lock); } - /// For segments that do not reach the download threshold, we do not download them, but directly read them - return std::make_shared(offset, size, key, this, FileSegment::State::SKIP_CACHE); + result_state = FileSegment::State::SKIP_CACHE; } else { - auto queue_iter = record->second; - queue_iter->hits++; - stash_queue.moveToEnd(queue_iter, cache_lock); - - state = queue_iter->hits >= enable_cache_hits_threshold ? FileSegment::State::EMPTY : FileSegment::State::SKIP_CACHE; - return std::make_shared(offset, size, key, this, state); + auto priority_iter = record->second; + priority_iter->use(cache_lock); + result_state = priority_iter->hits() >= enable_cache_hits_threshold ? FileSegment::State::EMPTY : FileSegment::State::SKIP_CACHE; } } - else - return std::make_shared(offset, size, key, this, state); + + return std::make_shared(offset, size, key, this, result_state, is_persistent); }; FileSegmentCell cell(skip_or_download(), this, cache_lock); @@ -456,12 +592,16 @@ LRUFileCache::FileSegmentCell * LRUFileCache::addCell( throw Exception( ErrorCodes::LOGICAL_ERROR, "Failed to insert into cache key: `{}`, offset: {}, size: {}", - keyToStr(key), offset, size); + key.toString(), offset, size); return &(it->second); } -FileSegmentsHolder LRUFileCache::setDownloading(const Key & key, size_t offset, size_t size) +FileSegmentsHolder FileCache::setDownloading( + const Key & key, + size_t offset, + size_t size, + bool is_persistent) { std::lock_guard cache_lock(mutex); @@ -474,17 +614,152 @@ FileSegmentsHolder LRUFileCache::setDownloading(const Key & key, size_t offset, throw Exception( ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, "Cache cell already exists for key `{}` and offset {}", - keyToStr(key), offset); + key.toString(), offset); - auto file_segments = splitRangeIntoCells(key, offset, size, FileSegment::State::DOWNLOADING, cache_lock); + auto file_segments = splitRangeIntoCells(key, offset, size, FileSegment::State::DOWNLOADING, is_persistent, cache_lock); return FileSegmentsHolder(std::move(file_segments)); } -bool LRUFileCache::tryReserve( - const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock) +bool FileCache::tryReserve(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock) +{ + auto query_context = enable_filesystem_query_cache_limit ? getCurrentQueryContext(cache_lock) : nullptr; + if (!query_context) + return tryReserveForMainList(key, offset, size, nullptr, cache_lock); + + /// The maximum cache capacity of the request is not reached, thus the + //// cache block is evicted from the main LRU queue by tryReserveForMainList(). + else if (query_context->getCacheSize() + size <= query_context->getMaxCacheSize()) + return tryReserveForMainList(key, offset, size, query_context, cache_lock); + + /// When skip_download_if_exceeds_query_cache is true, there is no need + /// to evict old data, skip the cache and read directly from remote fs. + else if (query_context->isSkipDownloadIfExceed()) + return false; + + /// The maximum cache size of the query is reached, the cache will be + /// evicted from the history cache accessed by the current query. + else + { + size_t removed_size = 0; + size_t queue_size = main_priority->getElementsNum(cache_lock); + + auto * cell_for_reserve = getCell(key, offset, cache_lock); + + struct Segment + { + Key key; + size_t offset; + size_t size; + + Segment(Key key_, size_t offset_, size_t size_) + : key(key_), offset(offset_), size(size_) {} + }; + + std::vector ghost; + std::vector trash; + std::vector to_evict; + + auto is_overflow = [&] + { + return (max_size != 0 && main_priority->getCacheSize(cache_lock) + size - removed_size > max_size) + || (max_element_size != 0 && queue_size > max_element_size) + || (query_context->getCacheSize() + size - removed_size > query_context->getMaxCacheSize()); + }; + + /// Select the cache from the LRU queue held by query for expulsion. + for (auto iter = query_context->getPriority()->getLowestPriorityWriteIterator(cache_lock); iter->valid();) + { + if (!is_overflow()) + break; + + auto * cell = getCell(iter->key(), iter->offset(), cache_lock); + + if (!cell) + { + /// The cache corresponding to this record may be swapped out by + /// other queries, so it has become invalid. + removed_size += iter->size(); + ghost.push_back(Segment(iter->key(), iter->offset(), iter->size())); + /// next() + iter->removeAndGetNext(cache_lock); + } + else + { + size_t cell_size = cell->size(); + assert(iter->size() == cell_size); + + if (cell->releasable()) + { + auto & file_segment = cell->file_segment; + std::lock_guard segment_lock(file_segment->mutex); + + switch (file_segment->download_state) + { + case FileSegment::State::DOWNLOADED: + { + to_evict.push_back(cell); + break; + } + default: + { + trash.push_back(cell); + break; + } + } + removed_size += cell_size; + --queue_size; + } + + iter->next(); + } + } + + auto remove_file_segment = [&](FileSegmentPtr file_segment, size_t file_segment_size) + { + query_context->remove(file_segment->key(), file_segment->offset(), file_segment_size, cache_lock); + + std::lock_guard segment_lock(file_segment->mutex); + remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); + }; + + assert(trash.empty()); + for (auto & cell : trash) + { + if (auto file_segment = cell->file_segment) + remove_file_segment(file_segment, cell->size()); + } + + for (auto & entry : ghost) + query_context->remove(entry.key, entry.offset, entry.size, cache_lock); + + if (is_overflow()) + return false; + + if (cell_for_reserve) + { + auto queue_iterator = cell_for_reserve->queue_iterator; + if (queue_iterator) + queue_iterator->incrementSize(size, cache_lock); + else + cell_for_reserve->queue_iterator = main_priority->add(key, offset, size, cache_lock); + } + + for (auto & cell : to_evict) + { + if (auto file_segment = cell->file_segment) + remove_file_segment(file_segment, cell->size()); + } + + query_context->reserve(key, offset, size, cache_lock); + return true; + } +} + +bool FileCache::tryReserveForMainList( + const Key & key, size_t offset, size_t size, QueryContextPtr query_context, std::lock_guard & cache_lock) { auto removed_size = 0; - size_t queue_size = queue.getElementsNum(cache_lock); + size_t queue_size = main_priority->getElementsNum(cache_lock); assert(queue_size <= max_element_size); /// Since space reservation is incremental, cache cell already exists if it's state is EMPTY. @@ -499,15 +774,18 @@ bool LRUFileCache::tryReserve( auto is_overflow = [&] { /// max_size == 0 means unlimited cache size, max_element_size means unlimited number of cache elements. - return (max_size != 0 && queue.getTotalWeight(cache_lock) + size - removed_size > max_size) + return (max_size != 0 && main_priority->getCacheSize(cache_lock) + size - removed_size > max_size) || (max_element_size != 0 && queue_size > max_element_size); }; std::vector to_evict; std::vector trash; - for (const auto & [entry_key, entry_offset, entry_size, _] : queue) + for (auto it = main_priority->getLowestPriorityReadIterator(cache_lock); it->valid(); it->next()) { + const auto & entry_key = it->key(); + auto entry_offset = it->offset(); + if (!is_overflow()) break; @@ -516,10 +794,10 @@ bool LRUFileCache::tryReserve( throw Exception( ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, "Cache became inconsistent. Key: {}, offset: {}", - keyToStr(key), offset); + key.toString(), offset); size_t cell_size = cell->size(); - assert(entry_size == cell_size); + assert(it->size() == cell_size); /// It is guaranteed that cell is not removed from cache as long as /// pointer to corresponding file segment is hold by any other thread. @@ -552,18 +830,19 @@ bool LRUFileCache::tryReserve( } } + auto remove_file_segment = [&](FileSegmentPtr file_segment) + { + std::lock_guard segment_lock(file_segment->mutex); + remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); + }; /// This case is very unlikely, can happen in case of exception from /// file_segment->complete(), which would be a logical error. assert(trash.empty()); for (auto & cell : trash) { - auto file_segment = cell->file_segment; - if (file_segment) - { - std::lock_guard segment_lock(file_segment->mutex); - remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); - } + if (auto file_segment = cell->file_segment) + remove_file_segment(file_segment); } if (is_overflow()) @@ -577,28 +856,27 @@ bool LRUFileCache::tryReserve( /// If queue iterator already exists, we need to update the size after each space reservation. auto queue_iterator = cell_for_reserve->queue_iterator; if (queue_iterator) - queue.incrementSize(*queue_iterator, size, cache_lock); + queue_iterator->incrementSize(size, cache_lock); else - cell_for_reserve->queue_iterator = queue.add(key, offset, size, cache_lock); + cell_for_reserve->queue_iterator = main_priority->add(key, offset, size, cache_lock); } for (auto & cell : to_evict) { - auto file_segment = cell->file_segment; - if (file_segment) - { - std::lock_guard segment_lock(file_segment->mutex); - remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); - } + if (auto file_segment = cell->file_segment) + remove_file_segment(file_segment); } - if (queue.getTotalWeight(cache_lock) > (1ull << 63)) + if (main_priority->getCacheSize(cache_lock) > (1ull << 63)) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cache became inconsistent. There must be a bug"); + if (query_context) + query_context->reserve(key, offset, size, cache_lock); + return true; } -void LRUFileCache::remove(const Key & key) +void FileCache::removeIfExists(const Key & key) { assertInitialized(); @@ -616,41 +894,54 @@ void LRUFileCache::remove(const Key & key) for (auto & [offset, cell] : offsets) to_remove.push_back(&cell); + bool some_cells_were_skipped = false; for (auto & cell : to_remove) { + /// In ordinary case we remove data from cache when it's not used by anyone. + /// But if we have multiple replicated zero-copy tables on the same server + /// it became possible to start removing something from cache when it is used + /// by other "zero-copy" tables. That is why it's not an error. if (!cell->releasable()) - throw Exception( - ErrorCodes::LOGICAL_ERROR, - "Cannot remove file from cache because someone reads from it. File segment info: {}", - cell->file_segment->getInfoForLog()); + { + some_cells_were_skipped = true; + continue; + } auto file_segment = cell->file_segment; if (file_segment) { std::lock_guard segment_lock(file_segment->mutex); + file_segment->detach(cache_lock, segment_lock); remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); } } auto key_path = getPathInLocalCache(key); - files.erase(key); + if (!some_cells_were_skipped) + { + files.erase(key); - if (fs::exists(key_path)) - fs::remove(key_path); + if (fs::exists(key_path)) + fs::remove_all(key_path); + } } -void LRUFileCache::remove() +void FileCache::removeIfReleasable(bool remove_persistent_files) { /// Try remove all cached files by cache_base_path. /// Only releasable file segments are evicted. + /// `remove_persistent_files` defines whether non-evictable by some criteria files + /// (they do not comply with the cache eviction policy) should also be removed. std::lock_guard cache_lock(mutex); - std::vector to_remove; - for (auto it = queue.begin(); it != queue.end();) + std::vector to_remove; + for (auto it = main_priority->getLowestPriorityReadIterator(cache_lock); it->valid(); it->next()) { - const auto & [key, offset, size, _] = *it++; + const auto & key = it->key(); + auto offset = it->offset(); + auto * cell = getCell(key, offset, cache_lock); if (!cell) throw Exception( @@ -660,39 +951,53 @@ void LRUFileCache::remove() if (cell->releasable()) { auto file_segment = cell->file_segment; - if (file_segment) + if (file_segment + && (!file_segment->isPersistent() + || remove_persistent_files + || allow_to_remove_persistent_segments_from_cache_by_default)) { - std::lock_guard segment_lock(file_segment->mutex); - file_segment->detach(cache_lock, segment_lock); - remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); + to_remove.emplace_back(file_segment); } } } + for (auto & file_segment : to_remove) + { + std::lock_guard segment_lock(file_segment->mutex); + file_segment->detach(cache_lock, segment_lock); + remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); + } + /// Remove all access information. - records.clear(); - stash_queue.removeAll(cache_lock); + stash_records.clear(); + stash_priority->removeAll(cache_lock); + +#ifndef NDEBUG + assertCacheCorrectness(cache_lock); +#endif } -void LRUFileCache::remove( +void FileCache::remove( Key key, size_t offset, std::lock_guard & cache_lock, std::lock_guard & /* segment_lock */) { - LOG_TEST(log, "Remove. Key: {}, offset: {}", keyToStr(key), offset); + LOG_TEST(log, "Remove. Key: {}, offset: {}", key.toString(), offset); auto * cell = getCell(key, offset, cache_lock); if (!cell) - throw Exception(ErrorCodes::LOGICAL_ERROR, "No cache cell for key: {}, offset: {}", keyToStr(key), offset); + throw Exception(ErrorCodes::LOGICAL_ERROR, "No cache cell for key: {}, offset: {}", key.toString(), offset); + + bool is_persistent_file_segment = cell->file_segment->isPersistent(); if (cell->queue_iterator) { - queue.remove(*cell->queue_iterator, cache_lock); + cell->queue_iterator->removeAndGetNext(cache_lock); } auto & offsets = files[key]; offsets.erase(offset); - auto cache_file_path = getPathInLocalCache(key, offset); + auto cache_file_path = getPathInLocalCache(key, offset, is_persistent_file_segment); if (fs::exists(cache_file_path)) { try @@ -706,26 +1011,32 @@ void LRUFileCache::remove( files.erase(key); if (fs::exists(key_path)) - fs::remove(key_path); + fs::remove_all(key_path); } } catch (...) { throw Exception(ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, "Removal of cached file failed. Key: {}, offset: {}, path: {}, error: {}", - keyToStr(key), offset, cache_file_path, getCurrentExceptionMessage(false)); + key.toString(), offset, cache_file_path, getCurrentExceptionMessage(false)); } } } -void LRUFileCache::loadCacheInfoIntoMemory(std::lock_guard & cache_lock) +void FileCache::loadCacheInfoIntoMemory(std::lock_guard & cache_lock) { Key key; UInt64 offset = 0; size_t size = 0; - std::vector>> queue_entries; + std::vector>> queue_entries; /// cache_base_path / key_prefix / key / offset + if (!files.empty()) + throw Exception( + ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, + "Cache initialization is partially made. " + "This can be a result of a failed first attempt to initialize cache. " + "Please, check log for error messages"); fs::directory_iterator key_prefix_it{cache_base_path}; for (; key_prefix_it != fs::directory_iterator(); ++key_prefix_it) @@ -733,15 +1044,32 @@ void LRUFileCache::loadCacheInfoIntoMemory(std::lock_guard & cache_l fs::directory_iterator key_it{key_prefix_it->path()}; for (; key_it != fs::directory_iterator(); ++key_it) { - key = unhexUInt(key_it->path().filename().string().data()); + if (!key_it->is_directory()) + { + LOG_WARNING(log, "Unexpected file: {}. Expected a directory", key_it->path().string()); + continue; + } + key = Key(unhexUInt(key_it->path().filename().string().data())); fs::directory_iterator offset_it{key_it->path()}; for (; offset_it != fs::directory_iterator(); ++offset_it) { - bool parsed = tryParse(offset, offset_it->path().filename()); + auto offset_with_suffix = offset_it->path().filename().string(); + auto delim_pos = offset_with_suffix.find('_'); + bool parsed; + bool is_persistent = false; + + if (delim_pos == std::string::npos) + parsed = tryParse(offset, offset_with_suffix); + else + { + parsed = tryParse(offset, offset_with_suffix.substr(0, delim_pos)); + is_persistent = offset_with_suffix.substr(delim_pos+1) == "persistent"; + } + if (!parsed) { - LOG_WARNING(log, "Unexpected file: ", offset_it->path().string()); + LOG_WARNING(log, "Unexpected file: {}", offset_it->path().string()); continue; /// Or just remove? Some unexpected file. } @@ -754,9 +1082,9 @@ void LRUFileCache::loadCacheInfoIntoMemory(std::lock_guard & cache_l if (tryReserve(key, offset, size, cache_lock)) { - auto * cell = addCell(key, offset, size, FileSegment::State::DOWNLOADED, cache_lock); + auto * cell = addCell(key, offset, size, FileSegment::State::DOWNLOADED, is_persistent, cache_lock); if (cell) - queue_entries.emplace_back(*cell->queue_iterator, cell->file_segment); + queue_entries.emplace_back(cell->queue_iterator, cell->file_segment); } else { @@ -780,14 +1108,14 @@ void LRUFileCache::loadCacheInfoIntoMemory(std::lock_guard & cache_l if (file_segment.expired()) continue; - queue.moveToEnd(it, cache_lock); + it->use(cache_lock); } #ifndef NDEBUG assertCacheCorrectness(cache_lock); #endif } -void LRUFileCache::reduceSizeToDownloaded( +void FileCache::reduceSizeToDownloaded( const Key & key, size_t offset, std::lock_guard & cache_lock, std::lock_guard & /* segment_lock */) { @@ -803,7 +1131,7 @@ void LRUFileCache::reduceSizeToDownloaded( throw Exception( ErrorCodes::LOGICAL_ERROR, "No cell found for key: {}, offset: {}", - keyToStr(key), offset); + key.toString(), offset); } const auto & file_segment = cell->file_segment; @@ -814,26 +1142,26 @@ void LRUFileCache::reduceSizeToDownloaded( throw Exception( ErrorCodes::LOGICAL_ERROR, "Nothing to reduce, file segment fully downloaded, key: {}, offset: {}", - keyToStr(key), offset); + key.toString(), offset); } cell->file_segment = std::make_shared(offset, downloaded_size, key, this, FileSegment::State::DOWNLOADED); } -bool LRUFileCache::isLastFileSegmentHolder( +bool FileCache::isLastFileSegmentHolder( const Key & key, size_t offset, std::lock_guard & cache_lock, std::lock_guard & /* segment_lock */) { auto * cell = getCell(key, offset, cache_lock); if (!cell) - throw Exception(ErrorCodes::LOGICAL_ERROR, "No cell found for key: {}, offset: {}", keyToStr(key), offset); + throw Exception(ErrorCodes::LOGICAL_ERROR, "No cell found for key: {}, offset: {}", key.toString(), offset); /// The caller of this method is last file segment holder if use count is 2 (the second pointer is cache itself) return cell->file_segment.use_count() == 2; } -FileSegments LRUFileCache::getSnapshot() const +FileSegments FileCache::getSnapshot() const { std::lock_guard cache_lock(mutex); @@ -844,11 +1172,10 @@ FileSegments LRUFileCache::getSnapshot() const for (const auto & [offset, cell] : cells_by_offset) file_segments.push_back(FileSegment::getSnapshot(cell.file_segment, cache_lock)); } - return file_segments; } -std::vector LRUFileCache::tryGetCachePaths(const Key & key) +std::vector FileCache::tryGetCachePaths(const Key & key) { std::lock_guard cache_lock(mutex); @@ -859,48 +1186,48 @@ std::vector LRUFileCache::tryGetCachePaths(const Key & key) for (const auto & [offset, cell] : cells_by_offset) { if (cell.file_segment->state() == FileSegment::State::DOWNLOADED) - cache_paths.push_back(getPathInLocalCache(key, offset)); + cache_paths.push_back(getPathInLocalCache(key, offset, cell.file_segment->isPersistent())); } return cache_paths; } -size_t LRUFileCache::getUsedCacheSize() const +size_t FileCache::getUsedCacheSize() const { std::lock_guard cache_lock(mutex); return getUsedCacheSizeUnlocked(cache_lock); } -size_t LRUFileCache::getUsedCacheSizeUnlocked(std::lock_guard & cache_lock) const +size_t FileCache::getUsedCacheSizeUnlocked(std::lock_guard & cache_lock) const { - return queue.getTotalWeight(cache_lock); + return main_priority->getCacheSize(cache_lock); } -size_t LRUFileCache::getAvailableCacheSize() const +size_t FileCache::getAvailableCacheSize() const { std::lock_guard cache_lock(mutex); return getAvailableCacheSizeUnlocked(cache_lock); } -size_t LRUFileCache::getAvailableCacheSizeUnlocked(std::lock_guard & cache_lock) const +size_t FileCache::getAvailableCacheSizeUnlocked(std::lock_guard & cache_lock) const { return max_size - getUsedCacheSizeUnlocked(cache_lock); } -size_t LRUFileCache::getFileSegmentsNum() const +size_t FileCache::getFileSegmentsNum() const { std::lock_guard cache_lock(mutex); return getFileSegmentsNumUnlocked(cache_lock); } -size_t LRUFileCache::getFileSegmentsNumUnlocked(std::lock_guard & cache_lock) const +size_t FileCache::getFileSegmentsNumUnlocked(std::lock_guard & cache_lock) const { - return queue.getElementsNum(cache_lock); + return main_priority->getElementsNum(cache_lock); } -LRUFileCache::FileSegmentCell::FileSegmentCell( +FileCache::FileSegmentCell::FileSegmentCell( FileSegmentPtr file_segment_, - LRUFileCache * cache, + FileCache * cache, std::lock_guard & cache_lock) : file_segment(file_segment_) { @@ -914,7 +1241,7 @@ LRUFileCache::FileSegmentCell::FileSegmentCell( { case FileSegment::State::DOWNLOADED: { - queue_iterator = cache->queue.add(file_segment->key(), file_segment->offset(), file_segment->range().size(), cache_lock); + queue_iterator = cache->main_priority->add(file_segment->key(), file_segment->offset(), file_segment->range().size(), cache_lock); break; } case FileSegment::State::SKIP_CACHE: @@ -930,103 +1257,13 @@ LRUFileCache::FileSegmentCell::FileSegmentCell( } } -LRUFileCache::LRUQueue::Iterator LRUFileCache::LRUQueue::add( - const IFileCache::Key & key, size_t offset, size_t size, std::lock_guard & /* cache_lock */) -{ -#ifndef NDEBUG - for (const auto & [entry_key, entry_offset, entry_size, entry_hits] : queue) - { - if (entry_key == key && entry_offset == offset) - throw Exception( - ErrorCodes::LOGICAL_ERROR, - "Attempt to add duplicate queue entry to queue. (Key: {}, offset: {}, size: {})", - keyToStr(key), offset, size); - } -#endif - - cache_size += size; - return queue.insert(queue.end(), FileKeyAndOffset(key, offset, size)); -} - -void LRUFileCache::LRUQueue::remove(Iterator queue_it, std::lock_guard & /* cache_lock */) -{ - cache_size -= queue_it->size; - queue.erase(queue_it); -} - -void LRUFileCache::LRUQueue::removeAll(std::lock_guard & /* cache_lock */) -{ - queue.clear(); - cache_size = 0; -} - -void LRUFileCache::LRUQueue::moveToEnd(Iterator queue_it, std::lock_guard & /* cache_lock */) -{ - queue.splice(queue.end(), queue, queue_it); -} - -void LRUFileCache::LRUQueue::incrementSize(Iterator queue_it, size_t size_increment, std::lock_guard & /* cache_lock */) -{ - cache_size += size_increment; - queue_it->size += size_increment; -} - -bool LRUFileCache::LRUQueue::contains( - const IFileCache::Key & key, size_t offset, std::lock_guard & /* cache_lock */) const -{ - /// This method is used for assertions in debug mode. - /// So we do not care about complexity here. - for (const auto & [entry_key, entry_offset, size, _] : queue) - { - if (key == entry_key && offset == entry_offset) - return true; - } - return false; -} - -void LRUFileCache::LRUQueue::assertCorrectness(LRUFileCache * cache, std::lock_guard & cache_lock) -{ - [[maybe_unused]] size_t total_size = 0; - for (auto it = queue.begin(); it != queue.end();) - { - auto & [key, offset, size, _] = *it++; - - auto * cell = cache->getCell(key, offset, cache_lock); - if (!cell) - { - throw Exception( - ErrorCodes::LOGICAL_ERROR, - "Cache is in inconsistent state: LRU queue contains entries with no cache cell (assertCorrectness())"); - } - - assert(cell->size() == size); - total_size += size; - } - - assert(total_size == cache_size); - assert(cache_size <= cache->max_size); - assert(queue.size() <= cache->max_element_size); -} - -String LRUFileCache::LRUQueue::toString(std::lock_guard & /* cache_lock */) const -{ - String result; - for (const auto & [key, offset, size, _] : queue) - { - if (!result.empty()) - result += ", "; - result += fmt::format("{}: [{}, {}]", keyToStr(key), offset, offset + size - 1); - } - return result; -} - -String LRUFileCache::dumpStructure(const Key & key) +String FileCache::dumpStructure(const Key & key) { std::lock_guard cache_lock(mutex); return dumpStructureUnlocked(key, cache_lock); } -String LRUFileCache::dumpStructureUnlocked(const Key & key, std::lock_guard & cache_lock) +String FileCache::dumpStructureUnlocked(const Key & key, std::lock_guard &) { WriteBufferFromOwnString result; const auto & cells_by_offset = files[key]; @@ -1034,11 +1271,10 @@ String LRUFileCache::dumpStructureUnlocked(const Key & key, std::lock_guardgetInfoForLog() << "\n"; - result << "\n\nQueue: " << queue.toString(cache_lock); return result.str(); } -void LRUFileCache::assertCacheCellsCorrectness( +void FileCache::assertCacheCellsCorrectness( const FileSegmentsByOffset & cells_by_offset, [[maybe_unused]] std::lock_guard & cache_lock) { for (const auto & [_, cell] : cells_by_offset) @@ -1049,22 +1285,46 @@ void LRUFileCache::assertCacheCellsCorrectness( if (file_segment->reserved_size != 0) { assert(cell.queue_iterator); - assert(queue.contains(file_segment->key(), file_segment->offset(), cache_lock)); + assert(main_priority->contains(file_segment->key(), file_segment->offset(), cache_lock)); } } } -void LRUFileCache::assertCacheCorrectness(const Key & key, std::lock_guard & cache_lock) +void FileCache::assertCacheCorrectness(const Key & key, std::lock_guard & cache_lock) { assertCacheCellsCorrectness(files[key], cache_lock); - queue.assertCorrectness(this, cache_lock); + assertPriorityCorrectness(cache_lock); } -void LRUFileCache::assertCacheCorrectness(std::lock_guard & cache_lock) +void FileCache::assertCacheCorrectness(std::lock_guard & cache_lock) { for (const auto & [key, cells_by_offset] : files) assertCacheCellsCorrectness(files[key], cache_lock); - queue.assertCorrectness(this, cache_lock); + assertPriorityCorrectness(cache_lock); +} + +void FileCache::assertPriorityCorrectness(std::lock_guard & cache_lock) +{ + [[maybe_unused]] size_t total_size = 0; + for (auto it = main_priority->getLowestPriorityReadIterator(cache_lock); it->valid(); it->next()) + { + const auto & key = it->key(); + auto offset = it->offset(); + auto size = it->size(); + + auto * cell = getCell(key, offset, cache_lock); + if (!cell) + { + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Cache is in inconsistent state: LRU queue contains entries with no cache cell (assertCorrectness())"); + } + assert(cell->size() == size); + total_size += size; + } + assert(total_size == main_priority->getCacheSize(cache_lock)); + assert(main_priority->getCacheSize(cache_lock) <= max_size); + assert(main_priority->getElementsNum(cache_lock) <= max_element_size); } } diff --git a/src/Common/FileCache.h b/src/Common/FileCache.h index f66287b805f..7a25632be68 100644 --- a/src/Common/FileCache.h +++ b/src/Common/FileCache.h @@ -3,48 +3,47 @@ #include #include #include +#include #include #include #include #include #include #include -#include -#include "FileCache_fwd.h" -#include -#include #include - +#include +#include +#include +#include +#include +#include namespace DB { -/** - * Local cache for remote filesystem files, represented as a set of non-overlapping non-empty file segments. - */ -class IFileCache : private boost::noncopyable +/// Local cache for remote filesystem files, represented as a set of non-overlapping non-empty file segments. +/// Different caching algorithms are implemented based on IFileCachePriority. +class FileCache : private boost::noncopyable { -friend class FileSegment; -friend struct FileSegmentsHolder; -friend class FileSegmentRangeWriter; + friend class FileSegment; + friend class IFileCachePriority; + friend struct FileSegmentsHolder; + friend class FileSegmentRangeWriter; public: - using Key = UInt128; - using Downloader = std::unique_ptr; + using Key = DB::FileCacheKey; - IFileCache( - const String & cache_base_path_, - const FileCacheSettings & cache_settings_); + FileCache(const String & cache_base_path_, const FileCacheSettings & cache_settings_); - virtual ~IFileCache() = default; + ~FileCache() = default; /// Restore cache from local filesystem. - virtual void initialize() = 0; + void initialize(); - virtual void remove(const Key & key) = 0; + void removeIfExists(const Key & key); - virtual void remove() = 0; + void removeIfReleasable(bool remove_persistent_files); static bool isReadOnly(); @@ -53,13 +52,13 @@ public: static Key hash(const String & path); - String getPathInLocalCache(const Key & key, size_t offset); + String getPathInLocalCache(const Key & key, size_t offset, bool is_persistent) const; - String getPathInLocalCache(const Key & key); + String getPathInLocalCache(const Key & key) const; const String & getBasePath() const { return cache_base_path; } - virtual std::vector tryGetCachePaths(const Key & key) = 0; + std::vector tryGetCachePaths(const Key & key); /** * Given an `offset` and `size` representing [offset, offset + size) bytes interval, @@ -72,7 +71,7 @@ public: * As long as pointers to returned file segments are hold * it is guaranteed that these file segments are not removed from cache. */ - virtual FileSegmentsHolder getOrSet(const Key & key, size_t offset, size_t size) = 0; + FileSegmentsHolder getOrSet(const Key & key, size_t offset, size_t size, bool is_persistent); /** * Segments in returned list are ordered in ascending order and represent a full contiguous @@ -83,20 +82,20 @@ public: * with the destruction of the holder, while in getOrSet() EMPTY file segments can eventually change * it's state (and become DOWNLOADED). */ - virtual FileSegmentsHolder get(const Key & key, size_t offset, size_t size) = 0; + FileSegmentsHolder get(const Key & key, size_t offset, size_t size); - virtual FileSegmentsHolder setDownloading(const Key & key, size_t offset, size_t size) = 0; + FileSegmentsHolder setDownloading(const Key & key, size_t offset, size_t size, bool is_persistent); - virtual FileSegments getSnapshot() const = 0; + FileSegments getSnapshot() const; /// For debug. - virtual String dumpStructure(const Key & key) = 0; + String dumpStructure(const Key & key); - virtual size_t getUsedCacheSize() const = 0; + size_t getUsedCacheSize() const; - virtual size_t getFileSegmentsNum() const = 0; + size_t getFileSegmentsNum() const; -protected: +private: String cache_base_path; size_t max_size; size_t max_element_size; @@ -106,109 +105,101 @@ protected: mutable std::mutex mutex; - virtual bool tryReserve( - const Key & key, size_t offset, size_t size, - std::lock_guard & cache_lock) = 0; + bool tryReserve(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock); - virtual void remove( - Key key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) = 0; + void remove(Key key, size_t offset, std::lock_guard & cache_lock, std::lock_guard & segment_lock); - virtual bool isLastFileSegmentHolder( - const Key & key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) = 0; + bool isLastFileSegmentHolder( + const Key & key, size_t offset, std::lock_guard & cache_lock, std::lock_guard & segment_lock); - /// If file segment was partially downloaded and then space reservation fails (because of no - /// space left), then update corresponding cache cell metadata (file segment size). - virtual void reduceSizeToDownloaded( - const Key & key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) = 0; + void reduceSizeToDownloaded( + const Key & key, size_t offset, std::lock_guard & cache_lock, std::lock_guard & /* segment_lock */); void assertInitialized() const; -}; -using FileCachePtr = std::shared_ptr; - -class LRUFileCache final : public IFileCache -{ -public: - LRUFileCache( - const String & cache_base_path_, - const FileCacheSettings & cache_settings_); - - FileSegmentsHolder getOrSet(const Key & key, size_t offset, size_t size) override; - - FileSegmentsHolder get(const Key & key, size_t offset, size_t size) override; - - FileSegments getSnapshot() const override; - - void initialize() override; - - void remove(const Key & key) override; - - void remove() override; - - std::vector tryGetCachePaths(const Key & key) override; - - size_t getUsedCacheSize() const override; - - size_t getFileSegmentsNum() const override; - -private: - class LRUQueue + using AccessKeyAndOffset = std::pair; + struct KeyAndOffsetHash { - public: - struct FileKeyAndOffset + std::size_t operator()(const AccessKeyAndOffset & key) const { - Key key; - size_t offset; - size_t size; - size_t hits = 0; - - FileKeyAndOffset(const Key & key_, size_t offset_, size_t size_) : key(key_), offset(offset_), size(size_) {} - }; - - using Iterator = typename std::list::iterator; - - size_t getTotalWeight(std::lock_guard & /* cache_lock */) const { return cache_size; } - - size_t getElementsNum(std::lock_guard & /* cache_lock */) const { return queue.size(); } - - Iterator add(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock); - - void remove(Iterator queue_it, std::lock_guard & cache_lock); - - void moveToEnd(Iterator queue_it, std::lock_guard & cache_lock); - - /// Space reservation for a file segment is incremental, so we need to be able to increment size of the queue entry. - void incrementSize(Iterator queue_it, size_t size_increment, std::lock_guard & cache_lock); - - void assertCorrectness(LRUFileCache * cache, std::lock_guard & cache_lock); - - String toString(std::lock_guard & cache_lock) const; - - bool contains(const Key & key, size_t offset, std::lock_guard & cache_lock) const; - - Iterator begin() { return queue.begin(); } - - Iterator end() { return queue.end(); } - - void removeAll(std::lock_guard & cache_lock); - - private: - std::list queue; - size_t cache_size = 0; + return std::hash()(key.first.key) ^ std::hash()(key.second); + } }; + using FileCacheRecords = std::unordered_map; + + /// Used to track and control the cache access of each query. + /// Through it, we can realize the processing of different queries by the cache layer. + struct QueryContext + { + FileCacheRecords records; + FileCachePriorityPtr priority; + + size_t cache_size = 0; + size_t max_cache_size; + + bool skip_download_if_exceeds_query_cache; + + QueryContext(size_t max_cache_size_, bool skip_download_if_exceeds_query_cache_) + : max_cache_size(max_cache_size_), skip_download_if_exceeds_query_cache(skip_download_if_exceeds_query_cache_) + { + } + + void remove(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock); + + void reserve(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock); + + void use(const Key & key, size_t offset, std::lock_guard & cache_lock); + + size_t getMaxCacheSize() const { return max_cache_size; } + + size_t getCacheSize() const { return cache_size; } + + FileCachePriorityPtr getPriority() { return priority; } + + bool isSkipDownloadIfExceed() const { return skip_download_if_exceeds_query_cache; } + }; + + using QueryContextPtr = std::shared_ptr; + using QueryContextMap = std::unordered_map; + + QueryContextMap query_map; + + bool enable_filesystem_query_cache_limit; + + QueryContextPtr getCurrentQueryContext(std::lock_guard & cache_lock); + + QueryContextPtr getQueryContext(const String & query_id, std::lock_guard & cache_lock); + + void removeQueryContext(const String & query_id); + + QueryContextPtr getOrSetQueryContext(const String & query_id, const ReadSettings & settings, std::lock_guard &); + +public: + /// Save a query context information, and adopt different cache policies + /// for different queries through the context cache layer. + struct QueryContextHolder : private boost::noncopyable + { + QueryContextHolder(const String & query_id_, FileCache * cache_, QueryContextPtr context_); + + QueryContextHolder() = default; + + ~QueryContextHolder(); + + String query_id; + FileCache * cache = nullptr; + QueryContextPtr context; + }; + + QueryContextHolder getQueryContextHolder(const String & query_id, const ReadSettings & settings); + +private: struct FileSegmentCell : private boost::noncopyable { FileSegmentPtr file_segment; /// Iterator is put here on first reservation attempt, if successful. - std::optional queue_iterator; + IFileCachePriority::WriteIterator queue_iterator; /// Pointer to file segment is always hold by the cache itself. /// Apart from pointer in cache, it can be hold by cache users, when they call @@ -217,83 +208,67 @@ private: size_t size() const { return file_segment->reserved_size; } - FileSegmentCell(FileSegmentPtr file_segment_, LRUFileCache * cache, std::lock_guard & cache_lock); + FileSegmentCell(FileSegmentPtr file_segment_, FileCache * cache, std::lock_guard & cache_lock); FileSegmentCell(FileSegmentCell && other) noexcept - : file_segment(std::move(other.file_segment)) - , queue_iterator(other.queue_iterator) {} + : file_segment(std::move(other.file_segment)), queue_iterator(other.queue_iterator) + { + } }; using FileSegmentsByOffset = std::map; using CachedFiles = std::unordered_map; - using AccessKeyAndOffset = std::pair; - - struct KeyAndOffsetHash - { - std::size_t operator()(const AccessKeyAndOffset & key) const - { - return std::hash()(key.first) ^ std::hash()(key.second); - } - }; - - using AccessRecord = std::unordered_map; - CachedFiles files; - LRUQueue queue; + std::unique_ptr main_priority; + + FileCacheRecords stash_records; + std::unique_ptr stash_priority; - LRUQueue stash_queue; - AccessRecord records; size_t max_stash_element_size; size_t enable_cache_hits_threshold; Poco::Logger * log; + bool allow_to_remove_persistent_segments_from_cache_by_default; - FileSegments getImpl( - const Key & key, const FileSegment::Range & range, - std::lock_guard & cache_lock); + FileSegments getImpl(const Key & key, const FileSegment::Range & range, std::lock_guard & cache_lock); - FileSegmentCell * getCell( - const Key & key, size_t offset, std::lock_guard & cache_lock); + FileSegmentCell * getCell(const Key & key, size_t offset, std::lock_guard & cache_lock); FileSegmentCell * addCell( - const Key & key, size_t offset, size_t size, - FileSegment::State state, std::lock_guard & cache_lock); + const Key & key, + size_t offset, + size_t size, + FileSegment::State state, + bool is_persistent, + std::lock_guard & cache_lock); - void useCell(const FileSegmentCell & cell, FileSegments & result, std::lock_guard & cache_lock); + void useCell(const FileSegmentCell & cell, FileSegments & result, std::lock_guard & cache_lock) const; - bool tryReserve( - const Key & key, size_t offset, size_t size, - std::lock_guard & cache_lock) override; - - void remove( - Key key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) override; - - bool isLastFileSegmentHolder( - const Key & key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) override; - - void reduceSizeToDownloaded( - const Key & key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) override; + bool tryReserveForMainList( + const Key & key, size_t offset, size_t size, QueryContextPtr query_context, std::lock_guard & cache_lock); size_t getAvailableCacheSize() const; void loadCacheInfoIntoMemory(std::lock_guard & cache_lock); FileSegments splitRangeIntoCells( - const Key & key, size_t offset, size_t size, FileSegment::State state, std::lock_guard & cache_lock); + const Key & key, + size_t offset, + size_t size, + FileSegment::State state, + bool is_persistent, + std::lock_guard & cache_lock); String dumpStructureUnlocked(const Key & key_, std::lock_guard & cache_lock); void fillHolesWithEmptyFileSegments( - FileSegments & file_segments, const Key & key, const FileSegment::Range & range, bool fill_with_detached_file_segments, std::lock_guard & cache_lock); - - FileSegmentsHolder setDownloading(const Key & key, size_t offset, size_t size) override; + FileSegments & file_segments, + const Key & key, + const FileSegment::Range & range, + bool fill_with_detached_file_segments, + bool is_persistent, + std::lock_guard & cache_lock); size_t getUsedCacheSizeUnlocked(std::lock_guard & cache_lock) const; @@ -304,11 +279,11 @@ private: void assertCacheCellsCorrectness(const FileSegmentsByOffset & cells_by_offset, std::lock_guard & cache_lock); public: - String dumpStructure(const Key & key_) override; - void assertCacheCorrectness(const Key & key, std::lock_guard & cache_lock); void assertCacheCorrectness(std::lock_guard & cache_lock); + + void assertPriorityCorrectness(std::lock_guard & cache_lock); }; } diff --git a/src/Common/FileCacheFactory.cpp b/src/Common/FileCacheFactory.cpp index 9eadea05547..b276760c0dd 100644 --- a/src/Common/FileCacheFactory.cpp +++ b/src/Common/FileCacheFactory.cpp @@ -18,51 +18,66 @@ FileCacheFactory & FileCacheFactory::instance() FileCacheFactory::CacheByBasePath FileCacheFactory::getAll() { std::lock_guard lock(mutex); - return caches; + return caches_by_path; } const FileCacheSettings & FileCacheFactory::getSettings(const std::string & cache_base_path) { std::lock_guard lock(mutex); + auto it = caches_by_path.find(cache_base_path); + if (it == caches_by_path.end()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by path: {}", cache_base_path); + return it->second->settings; - auto * cache_data = getImpl(cache_base_path, lock); - if (cache_data) - return cache_data->settings; - - throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by path: {}", cache_base_path); -} - -FileCacheFactory::CacheData * FileCacheFactory::getImpl(const std::string & cache_base_path, std::lock_guard &) -{ - auto it = caches.find(cache_base_path); - if (it == caches.end()) - return nullptr; - return &it->second; } FileCachePtr FileCacheFactory::get(const std::string & cache_base_path) { std::lock_guard lock(mutex); + auto it = caches_by_path.find(cache_base_path); + if (it == caches_by_path.end()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by path: {}", cache_base_path); + return it->second->cache; - auto * cache_data = getImpl(cache_base_path, lock); - if (cache_data) - return cache_data->cache; - - throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by path: {}", cache_base_path); } FileCachePtr FileCacheFactory::getOrCreate( - const std::string & cache_base_path, const FileCacheSettings & file_cache_settings) + const std::string & cache_base_path, const FileCacheSettings & file_cache_settings, const std::string & name) { std::lock_guard lock(mutex); - auto * cache_data = getImpl(cache_base_path, lock); - if (cache_data) - return cache_data->cache; + auto it = caches_by_path.find(cache_base_path); + if (it != caches_by_path.end()) + { + caches_by_name.emplace(name, it->second); + return it->second->cache; + } + + auto cache = std::make_shared(cache_base_path, file_cache_settings); + FileCacheData result{cache, file_cache_settings}; + + auto cache_it = caches.insert(caches.end(), std::move(result)); + caches_by_name.emplace(name, cache_it); + caches_by_path.emplace(cache_base_path, cache_it); - auto cache = std::make_shared(cache_base_path, file_cache_settings); - caches.emplace(cache_base_path, CacheData(cache, file_cache_settings)); return cache; } +FileCacheFactory::FileCacheData FileCacheFactory::getByName(const std::string & name) +{ + std::lock_guard lock(mutex); + + auto it = caches_by_name.find(name); + if (it == caches_by_name.end()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by name: {}", name); + + return *it->second; +} + +FileCacheFactory::CacheByName FileCacheFactory::getAllByName() +{ + std::lock_guard lock(mutex); + return caches_by_name; +} + } diff --git a/src/Common/FileCacheFactory.h b/src/Common/FileCacheFactory.h index 3518f487b6d..0d99da0343c 100644 --- a/src/Common/FileCacheFactory.h +++ b/src/Common/FileCacheFactory.h @@ -6,6 +6,7 @@ #include #include #include +#include namespace DB { @@ -15,20 +16,22 @@ namespace DB */ class FileCacheFactory final : private boost::noncopyable { - struct CacheData +public: + struct FileCacheData { FileCachePtr cache; FileCacheSettings settings; - CacheData(FileCachePtr cache_, const FileCacheSettings & settings_) : cache(cache_), settings(settings_) {} + FileCacheData(FileCachePtr cache_, const FileCacheSettings & settings_) : cache(cache_), settings(settings_) {} }; - using CacheByBasePath = std::unordered_map; + using Caches = std::list; + using CacheByBasePath = std::unordered_map; + using CacheByName = std::unordered_map; -public: static FileCacheFactory & instance(); - FileCachePtr getOrCreate(const std::string & cache_base_path, const FileCacheSettings & file_cache_settings); + FileCachePtr getOrCreate(const std::string & cache_base_path, const FileCacheSettings & file_cache_settings, const std::string & name); FileCachePtr get(const std::string & cache_base_path); @@ -36,11 +39,16 @@ public: const FileCacheSettings & getSettings(const std::string & cache_base_path); -private: - CacheData * getImpl(const std::string & cache_base_path, std::lock_guard &); + FileCacheData getByName(const std::string & name); + CacheByName getAllByName(); + +private: std::mutex mutex; - CacheByBasePath caches; + Caches caches; + + CacheByBasePath caches_by_path; + CacheByName caches_by_name; }; } diff --git a/src/Common/FileCacheSettings.cpp b/src/Common/FileCacheSettings.cpp index 6982068e40f..88ca6e3ce6b 100644 --- a/src/Common/FileCacheSettings.cpp +++ b/src/Common/FileCacheSettings.cpp @@ -11,7 +11,10 @@ void FileCacheSettings::loadFromConfig(const Poco::Util::AbstractConfiguration & max_elements = config.getUInt64(config_prefix + ".data_cache_max_elements", REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_ELEMENTS); max_file_segment_size = config.getUInt64(config_prefix + ".max_file_segment_size", REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_FILE_SEGMENT_SIZE); cache_on_write_operations = config.getUInt64(config_prefix + ".cache_on_write_operations", false); + enable_filesystem_query_cache_limit = config.getUInt64(config_prefix + ".enable_filesystem_query_cache_limit", false); enable_cache_hits_threshold = config.getUInt64(config_prefix + ".enable_cache_hits_threshold", REMOTE_FS_OBJECTS_CACHE_ENABLE_HITS_THRESHOLD); + do_not_evict_index_and_mark_files = config.getUInt64(config_prefix + ".do_not_evict_index_and_mark_files", true); + allow_to_remove_persistent_segments_from_cache_by_default = config.getUInt64(config_prefix + ".allow_to_remove_persistent_segments_from_cache_by_default", true); } } diff --git a/src/Common/FileCacheSettings.h b/src/Common/FileCacheSettings.h index 2f508c3ef46..c04cc915486 100644 --- a/src/Common/FileCacheSettings.h +++ b/src/Common/FileCacheSettings.h @@ -2,7 +2,7 @@ #include -namespace Poco { namespace Util { class AbstractConfiguration; } } +namespace Poco { namespace Util { class AbstractConfiguration; } } // NOLINT(cppcoreguidelines-virtual-class-destructor) namespace DB { @@ -12,9 +12,14 @@ struct FileCacheSettings size_t max_size = 0; size_t max_elements = REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_ELEMENTS; size_t max_file_segment_size = REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_FILE_SEGMENT_SIZE; + bool cache_on_write_operations = false; size_t enable_cache_hits_threshold = REMOTE_FS_OBJECTS_CACHE_ENABLE_HITS_THRESHOLD; + bool enable_filesystem_query_cache_limit = false; + + bool do_not_evict_index_and_mark_files = true; + bool allow_to_remove_persistent_segments_from_cache_by_default = true; void loadFromConfig(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix); }; diff --git a/src/Common/FileCacheType.h b/src/Common/FileCacheType.h new file mode 100644 index 00000000000..cf4ab5d20c5 --- /dev/null +++ b/src/Common/FileCacheType.h @@ -0,0 +1,31 @@ +#pragma once +#include +#include + +namespace DB +{ + +struct FileCacheKey +{ + UInt128 key; + + String toString() const { return getHexUIntLowercase(key); } + + FileCacheKey() = default; + + explicit FileCacheKey(const UInt128 & key_) : key(key_) { } + + bool operator==(const FileCacheKey & other) const { return key == other.key; } +}; + +} + +namespace std +{ +template <> +struct hash +{ + std::size_t operator()(const DB::FileCacheKey & k) const { return hash()(k.key); } +}; + +} diff --git a/src/Common/FileCache_fwd.h b/src/Common/FileCache_fwd.h index 8a7c2eeb458..9f6b2a740fc 100644 --- a/src/Common/FileCache_fwd.h +++ b/src/Common/FileCache_fwd.h @@ -9,8 +9,8 @@ static constexpr int REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_FILE_SEGMENT_SIZE = 100 static constexpr int REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_ELEMENTS = 1024 * 1024; static constexpr int REMOTE_FS_OBJECTS_CACHE_ENABLE_HITS_THRESHOLD = 0; -class IFileCache; -using FileCachePtr = std::shared_ptr; +class FileCache; +using FileCachePtr = std::shared_ptr; struct FileCacheSettings; diff --git a/src/Common/FileSegment.cpp b/src/Common/FileSegment.cpp index 27a111c1297..2aba93bbdb0 100644 --- a/src/Common/FileSegment.cpp +++ b/src/Common/FileSegment.cpp @@ -1,10 +1,11 @@ #include "FileSegment.h" #include -#include #include +#include #include #include #include +#include namespace CurrentMetrics { @@ -24,8 +25,9 @@ FileSegment::FileSegment( size_t offset_, size_t size_, const Key & key_, - IFileCache * cache_, - State download_state_) + FileCache * cache_, + State download_state_, + bool is_persistent_) : segment_range(offset_, offset_ + size_ - 1) , download_state(download_state_) , file_key(key_) @@ -35,6 +37,7 @@ FileSegment::FileSegment( #else , log(&Poco::Logger::get("FileSegment")) #endif + , is_persistent(is_persistent_) /// Not really used for now, see PR 36171 { /// On creation, file segment state can be EMPTY, DOWNLOADED, DOWNLOADING. switch (download_state) @@ -101,10 +104,10 @@ String FileSegment::getCallerId() { if (!CurrentThread::isInitialized() || !CurrentThread::get().getQueryContext() - || CurrentThread::getQueryId().size == 0) + || CurrentThread::getQueryId().empty()) return "None:" + toString(getThreadId()); - return CurrentThread::getQueryId().toString() + ":" + toString(getThreadId()); + return std::string(CurrentThread::getQueryId()) + ":" + toString(getThreadId()); } String FileSegment::getOrSetDownloader() @@ -241,7 +244,7 @@ void FileSegment::write(const char * from, size_t size, size_t offset_) "Cache writer was finalized (downloaded size: {}, state: {})", downloaded_size, stateToString(download_state)); - auto download_path = cache->getPathInLocalCache(key(), offset()); + auto download_path = getPathInLocalCache(); cache_writer = std::make_unique(download_path); } @@ -271,6 +274,11 @@ void FileSegment::write(const char * from, size_t size, size_t offset_) assert(getDownloadOffset() == offset_ + size); } +String FileSegment::getPathInLocalCache() const +{ + return cache->getPathInLocalCache(key(), offset(), isPersistent()); +} + void FileSegment::writeInMemory(const char * from, size_t size) { if (!size) @@ -287,7 +295,7 @@ void FileSegment::writeInMemory(const char * from, size_t size) if (cache_writer) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cache writer already initialized"); - auto download_path = cache->getPathInLocalCache(key(), offset()); + auto download_path = getPathInLocalCache(); cache_writer = std::make_unique(download_path, size + 1); try @@ -677,7 +685,7 @@ void FileSegment::assertCorrectnessImpl(std::lock_guard & /* segment { assert(downloader_id.empty() == (download_state != FileSegment::State::DOWNLOADING)); assert(!downloader_id.empty() == (download_state == FileSegment::State::DOWNLOADING)); - assert(download_state != FileSegment::State::DOWNLOADED || std::filesystem::file_size(cache->getPathInLocalCache(key(), offset())) > 0); + assert(download_state != FileSegment::State::DOWNLOADED || std::filesystem::file_size(getPathInLocalCache()) > 0); } void FileSegment::throwIfDetached() const @@ -729,6 +737,7 @@ FileSegmentPtr FileSegment::getSnapshot(const FileSegmentPtr & file_segment, std snapshot->ref_count = file_segment.use_count(); snapshot->downloaded_size = file_segment->getDownloadedSize(); snapshot->download_state = file_segment->state(); + snapshot->is_persistent = file_segment->isPersistent(); return snapshot; } @@ -778,7 +787,7 @@ FileSegmentsHolder::~FileSegmentsHolder() /// FileSegmentsHolder right after calling file_segment->complete(), so on destruction here /// remain only uncompleted file segments. - IFileCache * cache = nullptr; + FileCache * cache = nullptr; for (auto file_segment_it = file_segments.begin(); file_segment_it != file_segments.end();) { diff --git a/src/Common/FileSegment.h b/src/Common/FileSegment.h index 7a25529ab23..b129b851d7c 100644 --- a/src/Common/FileSegment.h +++ b/src/Common/FileSegment.h @@ -1,10 +1,11 @@ #pragma once #include -#include #include -#include +#include +#include #include +#include namespace Poco { class Logger; } @@ -16,7 +17,7 @@ extern const Metric CacheFileSegments; namespace DB { -class IFileCache; +class FileCache; class FileSegment; using FileSegmentPtr = std::shared_ptr; @@ -26,13 +27,13 @@ using FileSegments = std::list; class FileSegment : boost::noncopyable { -friend class LRUFileCache; +friend class FileCache; friend struct FileSegmentsHolder; friend class FileSegmentRangeWriter; public: - using Key = UInt128; - using RemoteFileReaderPtr = std::shared_ptr; + using Key = FileCacheKey; + using RemoteFileReaderPtr = std::shared_ptr; using LocalCacheWriterPtr = std::unique_ptr; enum class State @@ -70,8 +71,12 @@ public: }; FileSegment( - size_t offset_, size_t size_, const Key & key_, - IFileCache * cache_, State download_state_); + size_t offset_, + size_t size_, + const Key & key_, + FileCache * cache_, + State download_state_, + bool is_persistent_ = false); ~FileSegment(); @@ -100,6 +105,8 @@ public: size_t offset() const { return range().left; } + bool isPersistent() const { return is_persistent; } + State wait(); bool reserve(size_t size); @@ -161,6 +168,8 @@ public: [[noreturn]] void throwIfDetached() const; + String getPathInLocalCache() const; + private: size_t availableSize() const { return reserved_size - downloaded_size; } @@ -200,6 +209,7 @@ private: const Range segment_range; State download_state; + String downloader_id; RemoteFileReaderPtr remote_file_reader; @@ -224,7 +234,7 @@ private: mutable std::mutex download_mutex; Key file_key; - IFileCache * cache; + FileCache * cache; Poco::Logger * log; @@ -236,6 +246,9 @@ private: std::atomic hits_count = 0; /// cache hits. std::atomic ref_count = 0; /// Used for getting snapshot state + /// Currently no-op. (will be added in PR 36171) + /// Defined if a file comply by the eviction policy. + bool is_persistent; CurrentMetrics::Increment metric_increment{CurrentMetrics::CacheFileSegments}; }; diff --git a/src/Common/HashTable/ClearableHashMap.h b/src/Common/HashTable/ClearableHashMap.h index fda01dcf4bc..689f3ff0500 100644 --- a/src/Common/HashTable/ClearableHashMap.h +++ b/src/Common/HashTable/ClearableHashMap.h @@ -14,14 +14,12 @@ struct ClearableHashMapCell : public ClearableHashTableCell, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> class ClearableHashMap : public HashTable, Hash, Grower, Allocator> { public: diff --git a/src/Common/HashTable/ClearableHashSet.h b/src/Common/HashTable/ClearableHashSet.h index a14490c4551..371302dd8a9 100644 --- a/src/Common/HashTable/ClearableHashSet.h +++ b/src/Common/HashTable/ClearableHashSet.h @@ -48,14 +48,13 @@ struct ClearableHashTableCell : public BaseCell ClearableHashTableCell(const Key & key_, const State & state) : BaseCell(key_, state), version(state.version) {} }; -template -< +template < typename Key, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> -class ClearableHashSet : public HashTable>, Hash, Grower, Allocator> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> +class ClearableHashSet + : public HashTable>, Hash, Grower, Allocator> { public: using Base = HashTable>, Hash, Grower, Allocator>; @@ -68,14 +67,17 @@ public: } }; -template -< +template < typename Key, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> -class ClearableHashSetWithSavedHash: public HashTable>, Hash, Grower, Allocator> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> +class ClearableHashSetWithSavedHash : public HashTable< + Key, + ClearableHashTableCell>, + Hash, + Grower, + Allocator> { public: void clear() @@ -91,8 +93,4 @@ using ClearableHashSetWithStackMemory = ClearableHashSet< Hash, HashTableGrower, HashTableAllocatorWithStackMemory< - (1ULL << initial_size_degree) - * sizeof( - ClearableHashTableCell< - Key, - HashTableCell>)>>; + (1ULL << initial_size_degree) * sizeof(ClearableHashTableCell>)>>; diff --git a/src/Common/HashTable/Hash.h b/src/Common/HashTable/Hash.h index 3cf8978f418..bf691458d27 100644 --- a/src/Common/HashTable/Hash.h +++ b/src/Common/HashTable/Hash.h @@ -296,6 +296,19 @@ struct UInt128HashCRC32 } }; +#elif defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) + +struct UInt128HashCRC32 +{ + size_t operator()(UInt128 x) const + { + UInt64 crc = -1ULL; + crc = __crc32cd(crc, x.items[0]); + crc = __crc32cd(crc, x.items[1]); + return crc; + } +}; + #else /// On other platforms we do not use CRC32. NOTE This can be confusing. @@ -339,6 +352,21 @@ struct UInt256HashCRC32 } }; +#elif defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) + +struct UInt256HashCRC32 +{ + size_t operator()(UInt256 x) const + { + UInt64 crc = -1ULL; + crc = __crc32cd(crc, x.items[0]); + crc = __crc32cd(crc, x.items[1]); + crc = __crc32cd(crc, x.items[2]); + crc = __crc32cd(crc, x.items[3]); + return crc; + } +}; + #else /// We do not need to use CRC32 on other platforms. NOTE This can be confusing. diff --git a/src/Common/HashTable/HashMap.h b/src/Common/HashTable/HashMap.h index 236a6d65707..32fc9a8d76c 100644 --- a/src/Common/HashTable/HashMap.h +++ b/src/Common/HashTable/HashMap.h @@ -181,7 +181,7 @@ template < typename Key, typename Cell, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, + typename Grower = HashTableGrowerWithPrecalculation<>, typename Allocator = HashTableAllocator> class HashMapTable : public HashTable { @@ -296,7 +296,7 @@ template < typename Key, typename Mapped, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, + typename Grower = HashTableGrowerWithPrecalculation<>, typename Allocator = HashTableAllocator> using HashMap = HashMapTable, Hash, Grower, Allocator>; @@ -305,7 +305,7 @@ template < typename Key, typename Mapped, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, + typename Grower = HashTableGrowerWithPrecalculation<>, typename Allocator = HashTableAllocator> using HashMapWithSavedHash = HashMapTable, Hash, Grower, Allocator>; diff --git a/src/Common/HashTable/HashSet.h b/src/Common/HashTable/HashSet.h index d06fc761362..279ab167347 100644 --- a/src/Common/HashTable/HashSet.h +++ b/src/Common/HashTable/HashSet.h @@ -16,14 +16,12 @@ */ -template -< +template < typename Key, typename TCell, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> class HashSetTable : public HashTable { public: @@ -84,13 +82,11 @@ struct HashSetCellWithSavedHash : public HashTableCell size_t getHash(const Hash & /*hash_function*/) const { return saved_hash; } }; -template -< +template < typename Key, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> using HashSet = HashSetTable, Hash, Grower, Allocator>; template @@ -102,13 +98,11 @@ using HashSetWithStackMemory = HashSet< (1ULL << initial_size_degree) * sizeof(HashTableCell)>>; -template -< +template < typename Key, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> using HashSetWithSavedHash = HashSetTable, Hash, Grower, Allocator>; template diff --git a/src/Common/HashTable/HashTable.h b/src/Common/HashTable/HashTable.h index 7db693ddcec..e8a204c4043 100644 --- a/src/Common/HashTable/HashTable.h +++ b/src/Common/HashTable/HashTable.h @@ -226,6 +226,7 @@ void insertSetMapped(MappedType & dest, const ValueType & src) { dest = src.seco /** Determines the size of the hash table, and when and how much it should be resized. + * Has very small state (one UInt8) and useful for Set-s allocated in automatic memory (see uniqExact as an example). */ template struct HashTableGrower @@ -275,6 +276,68 @@ struct HashTableGrower } }; +/** Determines the size of the hash table, and when and how much it should be resized. + * This structure is aligned to cache line boundary and also occupies it all. + * Precalculates some values to speed up lookups and insertion into the HashTable (and thus has bigger memory footprint than HashTableGrower). + */ +template +class alignas(64) HashTableGrowerWithPrecalculation +{ + /// The state of this structure is enough to get the buffer size of the hash table. + + UInt8 size_degree = initial_size_degree; + size_t precalculated_mask = (1ULL << initial_size_degree) - 1; + size_t precalculated_max_fill = 1ULL << (initial_size_degree - 1); + +public: + UInt8 sizeDegree() const { return size_degree; } + + void increaseSizeDegree(UInt8 delta) + { + size_degree += delta; + precalculated_mask = (1ULL << size_degree) - 1; + precalculated_max_fill = 1ULL << (size_degree - 1); + } + + static constexpr auto initial_count = 1ULL << initial_size_degree; + + /// If collision resolution chains are contiguous, we can implement erase operation by moving the elements. + static constexpr auto performs_linear_probing_with_single_step = true; + + /// The size of the hash table in the cells. + size_t bufSize() const { return 1ULL << size_degree; } + + /// From the hash value, get the cell number in the hash table. + size_t place(size_t x) const { return x & precalculated_mask; } + + /// The next cell in the collision resolution chain. + size_t next(size_t pos) const { return (pos + 1) & precalculated_mask; } + + /// Whether the hash table is sufficiently full. You need to increase the size of the hash table, or remove something unnecessary from it. + bool overflow(size_t elems) const { return elems > precalculated_max_fill; } + + /// Increase the size of the hash table. + void increaseSize() { increaseSizeDegree(size_degree >= 23 ? 1 : 2); } + + /// Set the buffer size by the number of elements in the hash table. Used when deserializing a hash table. + void set(size_t num_elems) + { + size_degree = num_elems <= 1 + ? initial_size_degree + : ((initial_size_degree > static_cast(log2(num_elems - 1)) + 2) + ? initial_size_degree + : (static_cast(log2(num_elems - 1)) + 2)); + increaseSizeDegree(0); + } + + void setBufSize(size_t buf_size_) + { + size_degree = static_cast(log2(buf_size_ - 1) + 1); + increaseSizeDegree(0); + } +}; + +static_assert(sizeof(HashTableGrowerWithPrecalculation<>) == 64); /** When used as a Grower, it turns a hash table into something like a lookup table. * It remains non-optimal - the cells store the keys. diff --git a/src/Common/HashTable/LRUHashMap.h b/src/Common/HashTable/LRUHashMap.h index 95ac5a1932e..68b585cf553 100644 --- a/src/Common/HashTable/LRUHashMap.h +++ b/src/Common/HashTable/LRUHashMap.h @@ -78,20 +78,20 @@ struct LRUHashMapCellNodeTraits }; template -class LRUHashMapImpl : - private HashMapTable< - TKey, - LRUHashMapCell, - Hash, - HashTableGrower<>, - HashTableAllocator> +class LRUHashMapImpl : private HashMapTable< + TKey, + LRUHashMapCell, + Hash, + HashTableGrowerWithPrecalculation<>, + HashTableAllocator> { using Base = HashMapTable< TKey, LRUHashMapCell, Hash, - HashTableGrower<>, + HashTableGrowerWithPrecalculation<>, HashTableAllocator>; + public: using Key = TKey; using Value = TValue; diff --git a/src/Common/HashTable/SmallTable.h b/src/Common/HashTable/SmallTable.h index ad9537ff94a..b78901b03f6 100644 --- a/src/Common/HashTable/SmallTable.h +++ b/src/Common/HashTable/SmallTable.h @@ -74,7 +74,6 @@ public: using key_type = Key; using mapped_type = typename Cell::mapped_type; using value_type = typename Cell::value_type; - using cell_type = Cell; class Reader final : private Cell::State { @@ -247,39 +246,6 @@ public: } } - - /// Same, but return false if it's full. - bool ALWAYS_INLINE tryEmplace(Key x, iterator & it, bool & inserted) - { - Cell * res = findCell(x); - it = iteratorTo(res); - inserted = res == buf + m_size; - if (inserted) - { - if (res == buf + capacity) - return false; - - new(res) Cell(x, *this); - ++m_size; - } - return true; - } - - - /// Copy the cell from another hash table. It is assumed that there was no such key in the table yet. - void ALWAYS_INLINE insertUnique(const Cell * cell) - { - memcpy(&buf[m_size], cell, sizeof(*cell)); - ++m_size; - } - - void ALWAYS_INLINE insertUnique(Key x) - { - new(&buf[m_size]) Cell(x, *this); - ++m_size; - } - - iterator ALWAYS_INLINE find(Key x) { return iteratorTo(findCell(x)); } const_iterator ALWAYS_INLINE find(Key x) const { return iteratorTo(findCell(x)); } @@ -381,36 +347,3 @@ template > using SmallSet = SmallTable, capacity>; - -template -< - typename Key, - typename Cell, - size_t capacity -> -class SmallMapTable : public SmallTable -{ -public: - using key_type = Key; - using mapped_type = typename Cell::mapped_type; - using value_type = typename Cell::value_type; - using cell_type = Cell; - - mapped_type & ALWAYS_INLINE operator[](Key x) - { - typename SmallMapTable::iterator it; - bool inserted; - this->emplace(x, it, inserted); - new (&it->getMapped()) mapped_type(); - return it->getMapped(); - } -}; - - -template -< - typename Key, - typename Mapped, - size_t capacity -> -using SmallMap = SmallMapTable, capacity>; diff --git a/src/Common/HashTable/StringHashMap.h b/src/Common/HashTable/StringHashMap.h index a3b5c3e9ed0..ada10180786 100644 --- a/src/Common/HashTable/StringHashMap.h +++ b/src/Common/HashTable/StringHashMap.h @@ -12,7 +12,7 @@ struct StringHashMapCell : public HashMapCellvalue.first); } /// NOLINT + StringRef getKey() const { return toStringRef(this->value.first); } /// NOLINT // internal static const Key & getKey(const value_type & value_) { return value_.first; } }; @@ -32,7 +32,7 @@ struct StringHashMapCell : public HashMapCellvalue.first.items[1] = 0; } // external - const StringRef getKey() const { return toStringRef(this->value.first); } /// NOLINT + StringRef getKey() const { return toStringRef(this->value.first); } /// NOLINT // internal static const StringKey16 & getKey(const value_type & value_) { return value_.first; } }; @@ -53,7 +53,7 @@ struct StringHashMapCell : public HashMapCellvalue.first.c = 0; } // external - const StringRef getKey() const { return toStringRef(this->value.first); } /// NOLINT + StringRef getKey() const { return toStringRef(this->value.first); } /// NOLINT // internal static const StringKey24 & getKey(const value_type & value_) { return value_.first; } }; diff --git a/src/Common/HashTable/StringHashTable.h b/src/Common/HashTable/StringHashTable.h index 6a8bdc06218..c947e746e8d 100644 --- a/src/Common/HashTable/StringHashTable.h +++ b/src/Common/HashTable/StringHashTable.h @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -21,17 +22,17 @@ struct StringKey24 inline StringRef ALWAYS_INLINE toStringRef(const StringKey8 & n) { assert(n != 0); - return {reinterpret_cast(&n), 8ul - (__builtin_clzll(n) >> 3)}; + return {reinterpret_cast(&n), 8ul - (std::countl_zero(n) >> 3)}; } inline StringRef ALWAYS_INLINE toStringRef(const StringKey16 & n) { assert(n.items[1] != 0); - return {reinterpret_cast(&n), 16ul - (__builtin_clzll(n.items[1]) >> 3)}; + return {reinterpret_cast(&n), 16ul - (std::countl_zero(n.items[1]) >> 3)}; } inline StringRef ALWAYS_INLINE toStringRef(const StringKey24 & n) { assert(n.c != 0); - return {reinterpret_cast(&n), 24ul - (__builtin_clzll(n.c) >> 3)}; + return {reinterpret_cast(&n), 24ul - (std::countl_zero(n.c) >> 3)}; } struct StringHashTableHash @@ -150,10 +151,10 @@ public: }; template -struct StringHashTableGrower : public HashTableGrower +struct StringHashTableGrower : public HashTableGrowerWithPrecalculation { // Smooth growing for string maps - void increaseSize() { this->size_degree += 1; } + void increaseSize() { this->increaseSizeDegree(1); } }; template diff --git a/src/Common/HashTable/TwoLevelHashTable.h b/src/Common/HashTable/TwoLevelHashTable.h index 35c224c53f8..27cc075acd7 100644 --- a/src/Common/HashTable/TwoLevelHashTable.h +++ b/src/Common/HashTable/TwoLevelHashTable.h @@ -15,13 +15,10 @@ */ template -struct TwoLevelHashTableGrower : public HashTableGrower +struct TwoLevelHashTableGrower : public HashTableGrowerWithPrecalculation { /// Increase the size of the hash table. - void increaseSize() - { - this->size_degree += this->size_degree >= 15 ? 1 : 2; - } + void increaseSize() { this->increaseSizeDegree(this->sizeDegree() >= 15 ? 1 : 2); } }; template diff --git a/src/Common/HyperLogLogCounter.h b/src/Common/HyperLogLogCounter.h index 4644d18ecf3..cdd4f246e53 100644 --- a/src/Common/HyperLogLogCounter.h +++ b/src/Common/HyperLogLogCounter.h @@ -11,6 +11,7 @@ #include #include +#include #include #include @@ -205,7 +206,7 @@ struct TrailingZerosCounter { static int apply(UInt32 val) { - return __builtin_ctz(val); + return std::countr_zero(val); } }; @@ -214,7 +215,7 @@ struct TrailingZerosCounter { static int apply(UInt64 val) { - return __builtin_ctzll(val); + return std::countr_zero(val); } }; diff --git a/src/Common/ICachePolicy.h b/src/Common/ICachePolicy.h new file mode 100644 index 00000000000..4e5916f125e --- /dev/null +++ b/src/Common/ICachePolicy.h @@ -0,0 +1,42 @@ +#pragma once + +#include +#include +#include + +namespace DB +{ +template +struct TrivialWeightFunction +{ + size_t operator()(const T &) const + { + return 1; + } +}; + +template , typename WeightFunction = TrivialWeightFunction> +class ICachePolicy +{ +public: + using Key = TKey; + using Mapped = TMapped; + using MappedPtr = std::shared_ptr; + using OnWeightLossFunction = std::function; + + virtual size_t weight(std::lock_guard & /* cache_lock */) const = 0; + virtual size_t count(std::lock_guard & /* cache_lock */) const = 0; + virtual size_t maxSize() const = 0; + + virtual void reset(std::lock_guard & /* cache_lock */) = 0; + virtual void remove(const Key & key, std::lock_guard & /* cache_lock */) = 0; + virtual MappedPtr get(const Key & key, std::lock_guard & /* cache_lock */) = 0; + virtual void set(const Key & key, const MappedPtr & mapped, std::lock_guard & /* cache_lock */) = 0; + + virtual ~ICachePolicy() = default; + +protected: + OnWeightLossFunction on_weight_loss_function = [](size_t) {}; +}; + +} diff --git a/src/Common/IFactoryWithAliases.h b/src/Common/IFactoryWithAliases.h index 458adc4522f..8feac867dd2 100644 --- a/src/Common/IFactoryWithAliases.h +++ b/src/Common/IFactoryWithAliases.h @@ -27,9 +27,9 @@ protected: String getAliasToOrName(const String & name) const { - if (aliases.count(name)) + if (aliases.contains(name)) return aliases.at(name); - else if (String name_lowercase = Poco::toLower(name); case_insensitive_aliases.count(name_lowercase)) + else if (String name_lowercase = Poco::toLower(name); case_insensitive_aliases.contains(name_lowercase)) return case_insensitive_aliases.at(name_lowercase); else return name; @@ -108,7 +108,7 @@ public: bool isAlias(const String & name) const { - return aliases.count(name) || case_insensitive_aliases.count(name); + return aliases.count(name) || case_insensitive_aliases.contains(name); } bool hasNameOrAlias(const String & name) const @@ -125,7 +125,7 @@ public: return name; } - virtual ~IFactoryWithAliases() override = default; + ~IFactoryWithAliases() override = default; private: using InnerMap = std::unordered_map; // name -> creator diff --git a/src/Common/IFileCachePriority.h b/src/Common/IFileCachePriority.h new file mode 100644 index 00000000000..f80266f9eea --- /dev/null +++ b/src/Common/IFileCachePriority.h @@ -0,0 +1,95 @@ +#pragma once + +#include +#include +#include +#include +#include + +namespace DB +{ + +class IFileCachePriority; +using FileCachePriorityPtr = std::shared_ptr; + +/// IFileCachePriority is used to maintain the priority of cached data. +class IFileCachePriority +{ +public: + class IIterator; + using Key = FileCacheKey; + using ReadIterator = std::unique_ptr; + using WriteIterator = std::shared_ptr; + + struct FileCacheRecord + { + Key key; + size_t offset; + size_t size; + size_t hits = 0; + + FileCacheRecord(const Key & key_, size_t offset_, size_t size_) : key(key_), offset(offset_), size(size_) { } + }; + + /// It provides an iterator to traverse the cache priority. Under normal circumstances, + /// the iterator can only return the records that have been directly swapped out. + /// For example, in the LRU algorithm, it can traverse all records, but in the LRU-K, it + /// can only traverse the records in the low priority queue. + class IIterator + { + public: + virtual ~IIterator() = default; + + virtual const Key & key() const = 0; + + virtual size_t offset() const = 0; + + virtual size_t size() const = 0; + + virtual size_t hits() const = 0; + + /// Point the iterator to the next higher priority cache record. + virtual void next() const = 0; + + virtual bool valid() const = 0; + + /// Mark a cache record as recently used, it will update the priority + /// of the cache record according to different cache algorithms. + virtual void use(std::lock_guard &) = 0; + + /// Deletes an existing cached record. And to avoid pointer suspension + /// the iterator should automatically point to the next record. + virtual void removeAndGetNext(std::lock_guard &) = 0; + + virtual void incrementSize(size_t, std::lock_guard &) = 0; + }; + +public: + virtual ~IFileCachePriority() = default; + + /// Add a cache record that did not exist before, and throw a + /// logical exception if the cache block already exists. + virtual WriteIterator add(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock) = 0; + + /// This method is used for assertions in debug mode. So we do not care about complexity here. + /// Query whether a cache record exists. If it exists, return true. If not, return false. + virtual bool contains(const Key & key, size_t offset, std::lock_guard & cache_lock) = 0; + + virtual void removeAll(std::lock_guard & cache_lock) = 0; + + /// Returns an iterator pointing to the lowest priority cached record. + /// We can traverse all cached records through the iterator's next(). + virtual ReadIterator getLowestPriorityReadIterator(std::lock_guard & cache_lock) = 0; + + /// The same as getLowestPriorityReadIterator(), but it is writeable. + virtual WriteIterator getLowestPriorityWriteIterator(std::lock_guard & cache_lock) = 0; + + virtual size_t getElementsNum(std::lock_guard & cache_lock) const = 0; + + size_t getCacheSize(std::lock_guard &) const { return cache_size; } + +protected: + size_t max_cache_size = 0; + size_t cache_size = 0; +}; +}; diff --git a/src/Common/IPv6ToBinary.cpp b/src/Common/IPv6ToBinary.cpp index a8363a46de7..8d335d89353 100644 --- a/src/Common/IPv6ToBinary.cpp +++ b/src/Common/IPv6ToBinary.cpp @@ -5,6 +5,7 @@ #include #include +#include namespace DB @@ -89,7 +90,7 @@ bool matchIPv6Subnet(const uint8_t * addr, const uint8_t * cidr_addr, UInt8 pref if (mask) { - auto offset = __builtin_ctz(mask); + auto offset = std::countr_zero(mask); if (prefix / 8 != offset) return prefix / 8 < offset; diff --git a/src/Common/InterruptListener.h b/src/Common/InterruptListener.h index 37ec0533dd6..b8b2ba6be7d 100644 --- a/src/Common/InterruptListener.h +++ b/src/Common/InterruptListener.h @@ -16,7 +16,7 @@ namespace ErrorCodes extern const int CANNOT_UNBLOCK_SIGNAL; } -#ifdef __APPLE__ +#ifdef OS_DARWIN // We only need to support timeout = {0, 0} at this moment static int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec * /*timeout*/) { diff --git a/src/Common/IntervalKind.cpp b/src/Common/IntervalKind.cpp index d3cd4eeff8f..4e923fdba55 100644 --- a/src/Common/IntervalKind.cpp +++ b/src/Common/IntervalKind.cpp @@ -7,6 +7,7 @@ namespace DB namespace ErrorCodes { extern const int SYNTAX_ERROR; + extern const int BAD_ARGUMENTS; } Int32 IntervalKind::toAvgSeconds() const @@ -15,7 +16,7 @@ Int32 IntervalKind::toAvgSeconds() const { case IntervalKind::Nanosecond: case IntervalKind::Microsecond: - case IntervalKind::Millisecond: return 0; /// fractional parts of seconds have 0 seconds + case IntervalKind::Millisecond: return 0; case IntervalKind::Second: return 1; case IntervalKind::Minute: return 60; case IntervalKind::Hour: return 3600; @@ -28,6 +29,51 @@ Int32 IntervalKind::toAvgSeconds() const __builtin_unreachable(); } +Float64 IntervalKind::toSeconds() const +{ + switch (kind) + { + case IntervalKind::Nanosecond: + return 0.000000001; + case IntervalKind::Microsecond: + return 0.000001; + case IntervalKind::Millisecond: + return 0.001; + case IntervalKind::Second: + return 1; + case IntervalKind::Minute: + return 60; + case IntervalKind::Hour: + return 3600; + case IntervalKind::Day: + return 86400; + case IntervalKind::Week: + return 604800; + default: + throw Exception("Not possible to get precise number of seconds in non-precise interval", ErrorCodes::BAD_ARGUMENTS); + } + __builtin_unreachable(); +} + +bool IntervalKind::isFixedLength() const +{ + switch (kind) + { + case IntervalKind::Nanosecond: + case IntervalKind::Microsecond: + case IntervalKind::Millisecond: + case IntervalKind::Second: + case IntervalKind::Minute: + case IntervalKind::Hour: + case IntervalKind::Day: + case IntervalKind::Week: return true; + case IntervalKind::Month: + case IntervalKind::Quarter: + case IntervalKind::Year: return false; + } + __builtin_unreachable(); +} + IntervalKind IntervalKind::fromAvgSeconds(Int64 num_seconds) { if (num_seconds) diff --git a/src/Common/IntervalKind.h b/src/Common/IntervalKind.h index d5f2b5672cd..59e8d32f3e7 100644 --- a/src/Common/IntervalKind.h +++ b/src/Common/IntervalKind.h @@ -33,10 +33,17 @@ struct IntervalKind /// For `Month`, `Quarter` and `Year` the function returns an average number of seconds. Int32 toAvgSeconds() const; + /// Returns exact number of seconds in one interval. + /// For `Month`, `Quarter` and `Year` the function raises an error. + Float64 toSeconds() const; + /// Chooses an interval kind based on number of seconds. /// For example, `IntervalKind::fromAvgSeconds(3600)` returns `IntervalKind::Hour`. static IntervalKind fromAvgSeconds(Int64 num_seconds); + /// Returns whether IntervalKind has a fixed number of seconds (e.g. Day) or non-fixed(e.g. Month) + bool isFixedLength() const; + /// Returns an uppercased version of what `toString()` returns. const char * toKeyword() const; diff --git a/src/Common/JSONParsers/DummyJSONParser.h b/src/Common/JSONParsers/DummyJSONParser.h index 77b958d1429..3cedd59decd 100644 --- a/src/Common/JSONParsers/DummyJSONParser.h +++ b/src/Common/JSONParsers/DummyJSONParser.h @@ -84,7 +84,7 @@ struct DummyJSONParser static Iterator begin() { return {}; } static Iterator end() { return {}; } static size_t size() { return 0; } - bool find(const std::string_view &, Element &) const { return false; } /// NOLINT + bool find(std::string_view, Element &) const { return false; } /// NOLINT #if 0 /// Optional: Provides access to an object's element by index. @@ -93,7 +93,7 @@ struct DummyJSONParser }; /// Parses a JSON document, returns the reference to its root element if succeeded. - bool parse(const std::string_view &, Element &) { throw Exception{"Functions JSON* are not supported", ErrorCodes::NOT_IMPLEMENTED}; } /// NOLINT + bool parse(std::string_view, Element &) { throw Exception{"Functions JSON* are not supported", ErrorCodes::NOT_IMPLEMENTED}; } /// NOLINT #if 0 /// Optional: Allocates memory to parse JSON documents faster. diff --git a/src/Common/JSONParsers/RapidJSONParser.h b/src/Common/JSONParsers/RapidJSONParser.h index 2d8514868e5..77e8f6b2a74 100644 --- a/src/Common/JSONParsers/RapidJSONParser.h +++ b/src/Common/JSONParsers/RapidJSONParser.h @@ -98,7 +98,7 @@ struct RapidJSONParser ALWAYS_INLINE Iterator end() const { return ptr->MemberEnd(); } ALWAYS_INLINE size_t size() const { return ptr->MemberCount(); } - bool find(const std::string_view & key, Element & result) const + bool find(std::string_view key, Element & result) const { auto it = ptr->FindMember(rapidjson::StringRef(key.data(), key.length())); if (it == ptr->MemberEnd()) @@ -122,7 +122,7 @@ struct RapidJSONParser }; /// Parses a JSON document, returns the reference to its root element if succeeded. - bool parse(const std::string_view & json, Element & result) + bool parse(std::string_view json, Element & result) { rapidjson::MemoryStream ms(json.data(), json.size()); rapidjson::EncodedInputStream, rapidjson::MemoryStream> is(ms); diff --git a/src/Common/JSONParsers/SimdJSONParser.h b/src/Common/JSONParsers/SimdJSONParser.h index 3abeb85fb56..f3bbfe4dfde 100644 --- a/src/Common/JSONParsers/SimdJSONParser.h +++ b/src/Common/JSONParsers/SimdJSONParser.h @@ -105,7 +105,7 @@ struct SimdJSONParser ALWAYS_INLINE Iterator end() const { return object.end(); } ALWAYS_INLINE size_t size() const { return object.size(); } - bool find(const std::string_view & key, Element & result) const + bool find(std::string_view key, Element & result) const { auto x = object.at_key(key); if (x.error()) @@ -131,7 +131,7 @@ struct SimdJSONParser }; /// Parses a JSON document, returns the reference to its root element if succeeded. - bool parse(const std::string_view & json, Element & result) + bool parse(std::string_view json, Element & result) { auto document = parser.parse(json.data(), json.size()); if (document.error()) diff --git a/src/Common/LRUCachePolicy.h b/src/Common/LRUCachePolicy.h new file mode 100644 index 00000000000..3c069eb276b --- /dev/null +++ b/src/Common/LRUCachePolicy.h @@ -0,0 +1,181 @@ +#pragma once + +#include + +#include +#include + +#include + +namespace DB +{ +/// Cache policy LRU evicts entries which are not used for a long time. +/// WeightFunction is a functor that takes Mapped as a parameter and returns "weight" (approximate size) +/// of that value. +/// Cache starts to evict entries when their total weight exceeds max_size. +/// Value weight should not change after insertion. +/// To work with the thread-safe implementation of this class use a class "CacheBase" with first parameter "LRU" +/// and next parameters in the same order as in the constructor of the current class. +template , typename WeightFunction = TrivialWeightFunction> +class LRUCachePolicy : public ICachePolicy +{ +public: + using Key = TKey; + using Mapped = TMapped; + using MappedPtr = std::shared_ptr; + + using Base = ICachePolicy; + using typename Base::OnWeightLossFunction; + + /** Initialize LRUCachePolicy with max_size and max_elements_size. + * max_elements_size == 0 means no elements size restrictions. + */ + explicit LRUCachePolicy(size_t max_size_, size_t max_elements_size_ = 0, OnWeightLossFunction on_weight_loss_function_ = {}) + : max_size(std::max(static_cast(1), max_size_)), max_elements_size(max_elements_size_) + { + Base::on_weight_loss_function = on_weight_loss_function_; + } + + size_t weight(std::lock_guard & /* cache_lock */) const override + { + return current_size; + } + + size_t count(std::lock_guard & /* cache_lock */) const override + { + return cells.size(); + } + + size_t maxSize() const override + { + return max_size; + } + + void reset(std::lock_guard & /* cache_lock */) override + { + queue.clear(); + cells.clear(); + current_size = 0; + } + + void remove(const Key & key, std::lock_guard & /* cache_lock */) override + { + auto it = cells.find(key); + if (it == cells.end()) + return; + auto & cell = it->second; + current_size -= cell.size; + queue.erase(cell.queue_iterator); + cells.erase(it); + } + + MappedPtr get(const Key & key, std::lock_guard & /* cache_lock */) override + { + auto it = cells.find(key); + if (it == cells.end()) + { + return MappedPtr(); + } + + Cell & cell = it->second; + + /// Move the key to the end of the queue. The iterator remains valid. + queue.splice(queue.end(), queue, cell.queue_iterator); + + return cell.value; + } + + void set(const Key & key, const MappedPtr & mapped, std::lock_guard & /* cache_lock */) override + { + auto [it, inserted] = cells.emplace(std::piecewise_construct, + std::forward_as_tuple(key), + std::forward_as_tuple()); + + Cell & cell = it->second; + + if (inserted) + { + try + { + cell.queue_iterator = queue.insert(queue.end(), key); + } + catch (...) + { + cells.erase(it); + throw; + } + } + else + { + current_size -= cell.size; + queue.splice(queue.end(), queue, cell.queue_iterator); + } + + cell.value = mapped; + cell.size = cell.value ? weight_function(*cell.value) : 0; + current_size += cell.size; + + removeOverflow(); + } + +protected: + using LRUQueue = std::list; + using LRUQueueIterator = typename LRUQueue::iterator; + + LRUQueue queue; + + struct Cell + { + MappedPtr value; + size_t size; + LRUQueueIterator queue_iterator; + }; + + using Cells = std::unordered_map; + + Cells cells; + + /// Total weight of values. + size_t current_size = 0; + const size_t max_size; + const size_t max_elements_size; + + WeightFunction weight_function; + + void removeOverflow() + { + size_t current_weight_lost = 0; + size_t queue_size = cells.size(); + + while ((current_size > max_size || (max_elements_size != 0 && queue_size > max_elements_size)) && (queue_size > 0)) + { + const Key & key = queue.front(); + + auto it = cells.find(key); + if (it == cells.end()) + { + LOG_ERROR(&Poco::Logger::get("LRUCache"), "LRUCache became inconsistent. There must be a bug in it."); + abort(); + } + + const auto & cell = it->second; + + current_size -= cell.size; + current_weight_lost += cell.size; + + cells.erase(it); + queue.pop_front(); + --queue_size; + } + + Base::on_weight_loss_function(current_weight_lost); + + if (current_size > (1ull << 63)) + { + LOG_ERROR(&Poco::Logger::get("LRUCache"), "LRUCache became inconsistent. There must be a bug in it."); + abort(); + } + } +}; + +} diff --git a/src/Common/LRUFileCachePriority.cpp b/src/Common/LRUFileCachePriority.cpp new file mode 100644 index 00000000000..b4c4bfa338b --- /dev/null +++ b/src/Common/LRUFileCachePriority.cpp @@ -0,0 +1,61 @@ +#include + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int LOGICAL_ERROR; +} + +IFileCachePriority::WriteIterator LRUFileCachePriority::add(const Key & key, size_t offset, size_t size, std::lock_guard &) +{ +#ifndef NDEBUG + for (const auto & entry : queue) + { + if (entry.key == key && entry.offset == offset) + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Attempt to add duplicate queue entry to queue. (Key: {}, offset: {}, size: {})", + entry.key.toString(), + entry.offset, + entry.size); + } +#endif + auto iter = queue.insert(queue.end(), FileCacheRecord(key, offset, size)); + cache_size += size; + return std::make_shared(this, iter); +} + +bool LRUFileCachePriority::contains(const Key & key, size_t offset, std::lock_guard &) +{ + for (const auto & record : queue) + { + if (key == record.key && offset == record.offset) + return true; + } + return false; +} + +void LRUFileCachePriority::removeAll(std::lock_guard &) +{ + queue.clear(); + cache_size = 0; +} + +IFileCachePriority::ReadIterator LRUFileCachePriority::getLowestPriorityReadIterator(std::lock_guard &) +{ + return std::make_unique(this, queue.begin()); +} + +IFileCachePriority::WriteIterator LRUFileCachePriority::getLowestPriorityWriteIterator(std::lock_guard &) +{ + return std::make_shared(this, queue.begin()); +} + +size_t LRUFileCachePriority::getElementsNum(std::lock_guard &) const +{ + return queue.size(); +} + +}; diff --git a/src/Common/LRUFileCachePriority.h b/src/Common/LRUFileCachePriority.h new file mode 100644 index 00000000000..0f5755e1cb8 --- /dev/null +++ b/src/Common/LRUFileCachePriority.h @@ -0,0 +1,80 @@ +#pragma once + +#include +#include + +namespace DB +{ + +/// Based on the LRU algorithm implementation, the record with the lowest priority is stored at +/// the head of the queue, and the record with the highest priority is stored at the tail. +class LRUFileCachePriority : public IFileCachePriority +{ +private: + class LRUFileCacheIterator; + using LRUQueue = std::list; + using LRUQueueIterator = typename LRUQueue::iterator; + +public: + LRUFileCachePriority() = default; + + WriteIterator add(const Key & key, size_t offset, size_t size, std::lock_guard &) override; + + bool contains(const Key & key, size_t offset, std::lock_guard &) override; + + void removeAll(std::lock_guard &) override; + + ReadIterator getLowestPriorityReadIterator(std::lock_guard &) override; + + WriteIterator getLowestPriorityWriteIterator(std::lock_guard &) override; + + size_t getElementsNum(std::lock_guard &) const override; + +private: + LRUQueue queue; +}; + +class LRUFileCachePriority::LRUFileCacheIterator : public IFileCachePriority::IIterator +{ +public: + LRUFileCacheIterator(LRUFileCachePriority * file_cache_, LRUFileCachePriority::LRUQueueIterator queue_iter_) + : file_cache(file_cache_), queue_iter(queue_iter_) + { + } + + void next() const override { queue_iter++; } + + bool valid() const override { return queue_iter != file_cache->queue.end(); } + + const Key & key() const override { return queue_iter->key; } + + size_t offset() const override { return queue_iter->offset; } + + size_t size() const override { return queue_iter->size; } + + size_t hits() const override { return queue_iter->hits; } + + void removeAndGetNext(std::lock_guard &) override + { + file_cache->cache_size -= queue_iter->size; + queue_iter = file_cache->queue.erase(queue_iter); + } + + void incrementSize(size_t size_increment, std::lock_guard &) override + { + file_cache->cache_size += size_increment; + queue_iter->size += size_increment; + } + + void use(std::lock_guard &) override + { + queue_iter->hits++; + file_cache->queue.splice(file_cache->queue.end(), file_cache->queue, queue_iter); + } + +private: + LRUFileCachePriority * file_cache; + mutable LRUFileCachePriority::LRUQueueIterator queue_iter; +}; + +}; diff --git a/src/Common/LRUResourceCache.h b/src/Common/LRUResourceCache.h index 904c69b25ae..1fe3075a2a3 100644 --- a/src/Common/LRUResourceCache.h +++ b/src/Common/LRUResourceCache.h @@ -24,7 +24,7 @@ struct TrivialLRUResourceCacheReleaseFunction }; /** - * Similar to implementation in LRUCache.h, but with the difference that keys can + * Similar to implementation in LRUCachePolicy.h, but with the difference that keys can * only be evicted when they are releasable. Release state is controlled by this implementation. * get() and getOrSet() methods return a Holder to actual value, which does release() in destructor. * diff --git a/src/Common/LocalDate.h b/src/Common/LocalDate.h index 5d070e77647..dc36f92bebf 100644 --- a/src/Common/LocalDate.h +++ b/src/Common/LocalDate.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include diff --git a/src/Common/MemoryTracker.cpp b/src/Common/MemoryTracker.cpp index 0e7803aaa71..f467fccc514 100644 --- a/src/Common/MemoryTracker.cpp +++ b/src/Common/MemoryTracker.cpp @@ -16,12 +16,9 @@ #include #include #include +#include -#ifdef MEMORY_TRACKER_DEBUG_CHECKS -thread_local bool memory_tracker_always_throw_logical_error_on_allocation = false; -#endif - namespace { @@ -52,11 +49,37 @@ namespace DB } } +namespace +{ + +inline std::string_view toDescription(OvercommitResult result) +{ + switch (result) + { + case OvercommitResult::NONE: + return "Memory overcommit isn't used. OvercommitTracker isn't set"; + case OvercommitResult::DISABLED: + return "Memory overcommit isn't used. Waiting time or overcommit denominator are set to zero"; + case OvercommitResult::MEMORY_FREED: + throw DB::Exception(DB::ErrorCodes::LOGICAL_ERROR, "OvercommitResult::MEMORY_FREED shouldn't be asked for description"); + case OvercommitResult::SELECTED: + return "Query was selected to stop by OvercommitTracker"; + case OvercommitResult::TIMEOUTED: + return "Waiting timeout for memory to be freed is reached"; + case OvercommitResult::NOT_ENOUGH_FREED: + return "Memory overcommit has freed not enough memory"; + } +} + +} + namespace ProfileEvents { extern const Event QueryMemoryLimitExceeded; } +using namespace std::chrono_literals; + static constexpr size_t log_peak_memory_usage_every = 1ULL << 30; MemoryTracker total_memory_tracker(nullptr, VariableContext::Global); @@ -68,7 +91,7 @@ MemoryTracker::MemoryTracker(MemoryTracker * parent_, VariableContext level_) : MemoryTracker::~MemoryTracker() { - if ((level == VariableContext::Process || level == VariableContext::User) && peak) + if ((level == VariableContext::Process || level == VariableContext::User) && peak && log_peak_memory_usage_in_destructor) { try { @@ -82,8 +105,9 @@ MemoryTracker::~MemoryTracker() } -void MemoryTracker::logPeakMemoryUsage() const +void MemoryTracker::logPeakMemoryUsage() { + log_peak_memory_usage_in_destructor = false; const auto * description = description_ptr.load(std::memory_order_relaxed); LOG_DEBUG(&Poco::Logger::get("MemoryTracker"), "Peak memory usage{}: {}.", (description ? " " + std::string(description) : ""), ReadableSize(peak)); @@ -142,14 +166,6 @@ void MemoryTracker::allocImpl(Int64 size, bool throw_if_memory_exceeded, MemoryT } } -#ifdef MEMORY_TRACKER_DEBUG_CHECKS - if (unlikely(memory_tracker_always_throw_logical_error_on_allocation)) - { - memory_tracker_always_throw_logical_error_on_allocation = false; - throw DB::Exception(DB::ErrorCodes::LOGICAL_ERROR, "Memory tracker: allocations not allowed."); - } -#endif - std::bernoulli_distribution fault(fault_probability); if (unlikely(fault_probability && fault(thread_local_rng)) && memoryTrackerCanThrow(level, true) && throw_if_memory_exceeded) { @@ -189,11 +205,11 @@ void MemoryTracker::allocImpl(Int64 size, bool throw_if_memory_exceeded, MemoryT if (unlikely(current_hard_limit && will_be > current_hard_limit) && memoryTrackerCanThrow(level, false) && throw_if_memory_exceeded) { - bool need_to_throw = true; + OvercommitResult overcommit_result = OvercommitResult::NONE; if (auto * overcommit_tracker_ptr = overcommit_tracker.load(std::memory_order_relaxed); overcommit_tracker_ptr != nullptr && query_tracker != nullptr) - need_to_throw = overcommit_tracker_ptr->needToStopQuery(query_tracker, size); + overcommit_result = overcommit_tracker_ptr->needToStopQuery(query_tracker, size); - if (need_to_throw) + if (overcommit_result != OvercommitResult::MEMORY_FREED) { /// Prevent recursion. Exception::ctor -> std::string -> new[] -> MemoryTracker::alloc MemoryTrackerBlockerInThread untrack_lock(VariableContext::Global); @@ -201,12 +217,13 @@ void MemoryTracker::allocImpl(Int64 size, bool throw_if_memory_exceeded, MemoryT const auto * description = description_ptr.load(std::memory_order_relaxed); throw DB::Exception( DB::ErrorCodes::MEMORY_LIMIT_EXCEEDED, - "Memory limit{}{} exceeded: would use {} (attempt to allocate chunk of {} bytes), maximum: {}", + "Memory limit{}{} exceeded: would use {} (attempt to allocate chunk of {} bytes), maximum: {}. OvercommitTracker decision: {}.", description ? " " : "", description ? description : "", formatReadableSizeWithBinarySuffix(will_be), size, - formatReadableSizeWithBinarySuffix(current_hard_limit)); + formatReadableSizeWithBinarySuffix(current_hard_limit), + toDescription(overcommit_result)); } else { @@ -242,16 +259,12 @@ void MemoryTracker::allocImpl(Int64 size, bool throw_if_memory_exceeded, MemoryT level == VariableContext::Process ? this : query_tracker); } -void MemoryTracker::alloc(Int64 size) +void MemoryTracker::adjustWithUntrackedMemory(Int64 untracked_memory) { - bool throw_if_memory_exceeded = true; - allocImpl(size, throw_if_memory_exceeded); -} - -void MemoryTracker::allocNoThrow(Int64 size) -{ - bool throw_if_memory_exceeded = false; - allocImpl(size, throw_if_memory_exceeded); + if (untracked_memory > 0) + allocImpl(untracked_memory, /*throw_if_memory_exceeded*/ false); + else + free(-untracked_memory); } bool MemoryTracker::updatePeak(Int64 will_be, bool log_memory_usage) @@ -310,11 +323,8 @@ void MemoryTracker::free(Int64 size) accounted_size += new_amount; } } - if (!OvercommitTrackerBlockerInThread::isBlocked()) - { - if (auto * overcommit_tracker_ptr = overcommit_tracker.load(std::memory_order_relaxed); overcommit_tracker_ptr) - overcommit_tracker_ptr->tryContinueQueryExecutionAfterFree(accounted_size); - } + if (auto * overcommit_tracker_ptr = overcommit_tracker.load(std::memory_order_relaxed)) + overcommit_tracker_ptr->tryContinueQueryExecutionAfterFree(accounted_size); if (auto * loaded_next = parent.load(std::memory_order_relaxed)) loaded_next->free(size); @@ -337,6 +347,12 @@ OvercommitRatio MemoryTracker::getOvercommitRatio(Int64 limit) } +void MemoryTracker::setOvercommitWaitingTime(UInt64 wait_time) +{ + max_wait_time.store(wait_time * 1us, std::memory_order_relaxed); +} + + void MemoryTracker::resetCounters() { amount.store(0, std::memory_order_relaxed); diff --git a/src/Common/MemoryTracker.h b/src/Common/MemoryTracker.h index 73af2ab8857..d9dd55a3a50 100644 --- a/src/Common/MemoryTracker.h +++ b/src/Common/MemoryTracker.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include #include @@ -73,13 +74,21 @@ private: /// This description will be used as prefix into log messages (if isn't nullptr) std::atomic description_ptr = nullptr; + std::atomic max_wait_time; + std::atomic overcommit_tracker = nullptr; + bool log_peak_memory_usage_in_destructor = true; + bool updatePeak(Int64 will_be, bool log_memory_usage); void logMemoryUsage(Int64 current) const; void setOrRaiseProfilerLimit(Int64 value); + /// allocImpl(...) and free(...) should not be used directly + friend struct CurrentMemoryTracker; + void allocImpl(Int64 size, bool throw_if_memory_exceeded, MemoryTracker * query_tracker = nullptr); + void free(Int64 size); public: static constexpr auto USAGE_EVENT_NAME = "MemoryTrackerUsage"; @@ -91,26 +100,7 @@ public: VariableContext level; - /** Call the following functions before calling of corresponding operations with memory allocators. - */ - void alloc(Int64 size); - - void allocNoThrow(Int64 size); - - void allocImpl(Int64 size, bool throw_if_memory_exceeded, MemoryTracker * query_tracker = nullptr); - - void realloc(Int64 old_size, Int64 new_size) - { - Int64 addition = new_size - old_size; - if (addition > 0) - alloc(addition); - else - free(-addition); - } - - /** This function should be called after memory deallocation. - */ - void free(Int64 size); + void adjustWithUntrackedMemory(Int64 untracked_memory); Int64 get() const { @@ -186,6 +176,13 @@ public: OvercommitRatio getOvercommitRatio(); OvercommitRatio getOvercommitRatio(Int64 limit); + std::chrono::microseconds getOvercommitWaitingTime() + { + return max_wait_time.load(std::memory_order_relaxed); + } + + void setOvercommitWaitingTime(UInt64 wait_time); + void setOvercommitTracker(OvercommitTracker * tracker) noexcept { overcommit_tracker.store(tracker, std::memory_order_relaxed); @@ -206,7 +203,7 @@ public: void set(Int64 to); /// Prints info about peak memory consumption into log. - void logPeakMemoryUsage() const; + void logPeakMemoryUsage(); }; extern MemoryTracker total_memory_tracker; diff --git a/src/Common/MemoryTrackerBlockerInThread.cpp b/src/Common/MemoryTrackerBlockerInThread.cpp index 8eb119b2fe5..3d763576c7b 100644 --- a/src/Common/MemoryTrackerBlockerInThread.cpp +++ b/src/Common/MemoryTrackerBlockerInThread.cpp @@ -3,12 +3,18 @@ // MemoryTrackerBlockerInThread thread_local uint64_t MemoryTrackerBlockerInThread::counter = 0; thread_local VariableContext MemoryTrackerBlockerInThread::level = VariableContext::Global; + MemoryTrackerBlockerInThread::MemoryTrackerBlockerInThread(VariableContext level_) : previous_level(level) { ++counter; level = level_; } + +MemoryTrackerBlockerInThread::MemoryTrackerBlockerInThread() : MemoryTrackerBlockerInThread(VariableContext::User) +{ +} + MemoryTrackerBlockerInThread::~MemoryTrackerBlockerInThread() { --counter; diff --git a/src/Common/MemoryTrackerBlockerInThread.h b/src/Common/MemoryTrackerBlockerInThread.h index 381eb80df0c..d3882056f54 100644 --- a/src/Common/MemoryTrackerBlockerInThread.h +++ b/src/Common/MemoryTrackerBlockerInThread.h @@ -11,9 +11,12 @@ private: static thread_local VariableContext level; VariableContext previous_level; -public: + /// level_ - block in level and above - explicit MemoryTrackerBlockerInThread(VariableContext level_ = VariableContext::User); + explicit MemoryTrackerBlockerInThread(VariableContext level_); + +public: + explicit MemoryTrackerBlockerInThread(); ~MemoryTrackerBlockerInThread(); MemoryTrackerBlockerInThread(const MemoryTrackerBlockerInThread &) = delete; @@ -23,4 +26,6 @@ public: { return counter > 0 && current_level >= level; } + + friend class MemoryTracker; }; diff --git a/src/Common/MultiVersion.h b/src/Common/MultiVersion.h index a36a1f8ca5f..8a6eac0abad 100644 --- a/src/Common/MultiVersion.h +++ b/src/Common/MultiVersion.h @@ -2,6 +2,7 @@ #include #include +#include /** Allow to store and read-only usage of an object in several threads, @@ -51,6 +52,6 @@ public: } private: - Version current_version; + Version current_version TSA_GUARDED_BY(mutex); mutable std::mutex mutex; }; diff --git a/src/Common/OpenSSLHelpers.cpp b/src/Common/OpenSSLHelpers.cpp index d73e08e79a9..4e7848afc85 100644 --- a/src/Common/OpenSSLHelpers.cpp +++ b/src/Common/OpenSSLHelpers.cpp @@ -10,7 +10,7 @@ namespace DB { #pragma GCC diagnostic warning "-Wold-style-cast" -std::string encodeSHA256(const std::string_view & text) +std::string encodeSHA256(std::string_view text) { return encodeSHA256(text.data(), text.size()); } @@ -21,7 +21,7 @@ std::string encodeSHA256(const void * text, size_t size) encodeSHA256(text, size, reinterpret_cast(out.data())); return out; } -void encodeSHA256(const std::string_view & text, unsigned char * out) +void encodeSHA256(std::string_view text, unsigned char * out) { encodeSHA256(text.data(), text.size(), out); } diff --git a/src/Common/OpenSSLHelpers.h b/src/Common/OpenSSLHelpers.h index f0dbbc10b4c..41f092f0109 100644 --- a/src/Common/OpenSSLHelpers.h +++ b/src/Common/OpenSSLHelpers.h @@ -10,10 +10,10 @@ namespace DB { /// Encodes `text` and returns it. -std::string encodeSHA256(const std::string_view & text); +std::string encodeSHA256(std::string_view text); std::string encodeSHA256(const void * text, size_t size); /// `out` must be at least 32 bytes long. -void encodeSHA256(const std::string_view & text, unsigned char * out); +void encodeSHA256(std::string_view text, unsigned char * out); void encodeSHA256(const void * text, size_t size, unsigned char * out); /// Returns concatenation of error strings for all errors that OpenSSL has recorded, emptying the error queue. diff --git a/src/Common/OptimizedRegularExpression.cpp b/src/Common/OptimizedRegularExpression.cpp index cfc364929a3..60efab69433 100644 --- a/src/Common/OptimizedRegularExpression.cpp +++ b/src/Common/OptimizedRegularExpression.cpp @@ -342,6 +342,23 @@ OptimizedRegularExpressionImpl::OptimizedRegularExpressionImpl(cons } } +template +OptimizedRegularExpressionImpl::OptimizedRegularExpressionImpl(OptimizedRegularExpressionImpl && rhs) noexcept + : is_trivial(rhs.is_trivial) + , required_substring_is_prefix(rhs.required_substring_is_prefix) + , is_case_insensitive(rhs.is_case_insensitive) + , required_substring(std::move(rhs.required_substring)) + , re2(std::move(rhs.re2)) + , number_of_subpatterns(rhs.number_of_subpatterns) +{ + if (!required_substring.empty()) + { + if (is_case_insensitive) + case_insensitive_substring_searcher.emplace(required_substring.data(), required_substring.size()); + else + case_sensitive_substring_searcher.emplace(required_substring.data(), required_substring.size()); + } +} template bool OptimizedRegularExpressionImpl::match(const char * subject, size_t subject_size) const diff --git a/src/Common/OptimizedRegularExpression.h b/src/Common/OptimizedRegularExpression.h index eaa7b06e309..dad8706a50d 100644 --- a/src/Common/OptimizedRegularExpression.h +++ b/src/Common/OptimizedRegularExpression.h @@ -56,6 +56,9 @@ public: using StringPieceType = std::conditional_t; OptimizedRegularExpressionImpl(const std::string & regexp_, int options = 0); /// NOLINT + /// StringSearcher store pointers to required_substring, it must be updated on move. + OptimizedRegularExpressionImpl(OptimizedRegularExpressionImpl && rhs) noexcept; + OptimizedRegularExpressionImpl(const OptimizedRegularExpressionImpl & rhs) = delete; bool match(const std::string & subject) const { diff --git a/src/Common/OvercommitTracker.cpp b/src/Common/OvercommitTracker.cpp index dbacc0d81a4..3da18e702e5 100644 --- a/src/Common/OvercommitTracker.cpp +++ b/src/Common/OvercommitTracker.cpp @@ -2,30 +2,35 @@ #include #include +#include #include +namespace ProfileEvents +{ + extern const Event MemoryOvercommitWaitTimeMicroseconds; +} + using namespace std::chrono_literals; constexpr std::chrono::microseconds ZERO_MICROSEC = 0us; OvercommitTracker::OvercommitTracker(std::mutex & global_mutex_) - : max_wait_time(ZERO_MICROSEC) - , picked_tracker(nullptr) + : picked_tracker(nullptr) , cancellation_state(QueryCancellationState::NONE) , global_mutex(global_mutex_) , freed_memory(0) , required_memory(0) + , next_id(0) + , id_to_release(0) , allow_release(true) {} -void OvercommitTracker::setMaxWaitTime(UInt64 wait_time) +OvercommitResult OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) { - std::lock_guard guard(overcommit_m); - max_wait_time = wait_time * 1us; -} + DENY_ALLOCATIONS_IN_SCOPE; -bool OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) -{ + if (OvercommitTrackerBlockerInThread::isBlocked()) + return OvercommitResult::NONE; // NOTE: Do not change the order of locks // // global_mutex must be acquired before overcommit_m, because @@ -35,8 +40,12 @@ bool OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) std::unique_lock global_lock(global_mutex); std::unique_lock lk(overcommit_m); + size_t id = next_id++; + + auto max_wait_time = tracker->getOvercommitWaitingTime(); + if (max_wait_time == ZERO_MICROSEC) - return true; + return OvercommitResult::DISABLED; pickQueryToExclude(); assert(cancellation_state != QueryCancellationState::NONE); @@ -50,7 +59,7 @@ bool OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) // picked_tracker to be not null pointer. assert(cancellation_state == QueryCancellationState::SELECTED); cancellation_state = QueryCancellationState::NONE; - return true; + return OvercommitResult::DISABLED; } if (picked_tracker == tracker) { @@ -58,37 +67,47 @@ bool OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) // It may happen even when current state is RUNNING, because // ThreadStatus::~ThreadStatus may call MemoryTracker::alloc. cancellation_state = QueryCancellationState::RUNNING; - return true; + return OvercommitResult::SELECTED; } allow_release = true; required_memory += amount; - required_per_thread[tracker] = amount; - bool timeout = !cv.wait_for(lk, max_wait_time, [this, tracker]() + auto wait_start_time = std::chrono::system_clock::now(); + bool timeout = !cv.wait_for(lk, max_wait_time, [this, id]() { - return required_per_thread[tracker] == 0 || cancellation_state == QueryCancellationState::NONE; + return id < id_to_release || cancellation_state == QueryCancellationState::NONE; }); - LOG_DEBUG(getLogger(), "Memory was{} freed within timeout", (timeout ? " not" : "")); + auto wait_end_time = std::chrono::system_clock::now(); + ProfileEvents::increment(ProfileEvents::MemoryOvercommitWaitTimeMicroseconds, (wait_end_time - wait_start_time) / 1us); required_memory -= amount; - Int64 still_need = required_per_thread[tracker]; // If enough memory is freed it will be 0 - required_per_thread.erase(tracker); + bool still_need = !(id < id_to_release); // True if thread wasn't released // If threads where not released since last call of this method, // we can release them now. - if (allow_release && required_memory <= freed_memory && still_need != 0) + if (allow_release && required_memory <= freed_memory && still_need) releaseThreads(); // All required amount of memory is free now and selected query to stop doesn't know about it. // As we don't need to free memory, we can continue execution of the selected query. if (required_memory == 0 && cancellation_state == QueryCancellationState::SELECTED) reset(); - return timeout || still_need != 0; + if (timeout) + return OvercommitResult::TIMEOUTED; + if (still_need) + return OvercommitResult::NOT_ENOUGH_FREED; + else + return OvercommitResult::MEMORY_FREED; } void OvercommitTracker::tryContinueQueryExecutionAfterFree(Int64 amount) { + DENY_ALLOCATIONS_IN_SCOPE; + + if (OvercommitTrackerBlockerInThread::isBlocked()) + return; + std::lock_guard guard(overcommit_m); if (cancellation_state != QueryCancellationState::NONE) { @@ -100,11 +119,11 @@ void OvercommitTracker::tryContinueQueryExecutionAfterFree(Int64 amount) void OvercommitTracker::onQueryStop(MemoryTracker * tracker) { - std::unique_lock lk(overcommit_m); + DENY_ALLOCATIONS_IN_SCOPE; + + std::lock_guard lk(overcommit_m); if (picked_tracker == tracker) { - LOG_DEBUG(getLogger(), "Picked query stopped"); - reset(); cv.notify_all(); } @@ -112,8 +131,7 @@ void OvercommitTracker::onQueryStop(MemoryTracker * tracker) void OvercommitTracker::releaseThreads() { - for (auto & required : required_per_thread) - required.second = 0; + id_to_release = next_id; freed_memory = 0; allow_release = false; // To avoid repeating call of this method in OvercommitTracker::needToStopQuery cv.notify_all(); @@ -131,7 +149,6 @@ void UserOvercommitTracker::pickQueryToExcludeImpl() // At this moment query list must be read only. // This is guaranteed by locking global_mutex in OvercommitTracker::needToStopQuery. auto & queries = user_process_list->queries; - LOG_DEBUG(logger, "Trying to choose query to stop from {} queries", queries.size()); for (auto const & query : queries) { if (query.second->isKilled()) @@ -142,15 +159,12 @@ void UserOvercommitTracker::pickQueryToExcludeImpl() continue; auto ratio = memory_tracker->getOvercommitRatio(); - LOG_DEBUG(logger, "Query has ratio {}/{}", ratio.committed, ratio.soft_limit); if (ratio.soft_limit != 0 && current_ratio < ratio) { query_tracker = memory_tracker; current_ratio = ratio; } } - LOG_DEBUG(logger, "Selected to stop query with overcommit ratio {}/{}", - current_ratio.committed, current_ratio.soft_limit); picked_tracker = query_tracker; } @@ -165,7 +179,6 @@ void GlobalOvercommitTracker::pickQueryToExcludeImpl() OvercommitRatio current_ratio{0, 0}; // At this moment query list must be read only. // This is guaranteed by locking global_mutex in OvercommitTracker::needToStopQuery. - LOG_DEBUG(logger, "Trying to choose query to stop from {} queries", process_list->size()); for (auto const & query : process_list->processes) { if (query.isKilled()) @@ -181,15 +194,12 @@ void GlobalOvercommitTracker::pickQueryToExcludeImpl() if (!memory_tracker) continue; auto ratio = memory_tracker->getOvercommitRatio(user_soft_limit); - LOG_DEBUG(logger, "Query has ratio {}/{}", ratio.committed, ratio.soft_limit); if (current_ratio < ratio) { query_tracker = memory_tracker; current_ratio = ratio; } } - LOG_DEBUG(logger, "Selected to stop query with overcommit ratio {}/{}", - current_ratio.committed, current_ratio.soft_limit); picked_tracker = query_tracker; } diff --git a/src/Common/OvercommitTracker.h b/src/Common/OvercommitTracker.h index 37de75f4848..684971b4205 100644 --- a/src/Common/OvercommitTracker.h +++ b/src/Common/OvercommitTracker.h @@ -36,6 +36,16 @@ struct OvercommitRatio class MemoryTracker; +enum class OvercommitResult +{ + NONE, + DISABLED, + MEMORY_FREED, + SELECTED, + TIMEOUTED, + NOT_ENOUGH_FREED, +}; + enum class QueryCancellationState { NONE = 0, // Hard limit is not reached, there is no selected query to kill. @@ -52,9 +62,7 @@ enum class QueryCancellationState // is killed to free memory. struct OvercommitTracker : boost::noncopyable { - void setMaxWaitTime(UInt64 wait_time); - - bool needToStopQuery(MemoryTracker * tracker, Int64 amount); + OvercommitResult needToStopQuery(MemoryTracker * tracker, Int64 amount); void tryContinueQueryExecutionAfterFree(Int64 amount); @@ -72,16 +80,12 @@ protected: std::mutex overcommit_m; std::condition_variable cv; - std::chrono::microseconds max_wait_time; - // Specifies memory tracker of the chosen to stop query. // If soft limit is not set, all the queries which reach hard limit must stop. // This case is represented as picked tracker pointer is set to nullptr and // overcommit tracker is in SELECTED state. MemoryTracker * picked_tracker; - virtual Poco::Logger * getLogger() = 0; - private: void pickQueryToExclude() @@ -98,6 +102,10 @@ private: picked_tracker = nullptr; cancellation_state = QueryCancellationState::NONE; freed_memory = 0; + + next_id = 0; + id_to_release = 0; + allow_release = true; } @@ -105,8 +113,6 @@ private: QueryCancellationState cancellation_state; - std::unordered_map required_per_thread; - // Global mutex which is used in ProcessList to synchronize // insertion and deletion of queries. // OvercommitTracker::pickQueryToExcludeImpl() implementations @@ -116,6 +122,9 @@ private: Int64 freed_memory; Int64 required_memory; + size_t next_id; // Id provided to the next thread to come in OvercommitTracker + size_t id_to_release; // We can release all threads with id smaller than this + bool allow_release; }; @@ -134,10 +143,8 @@ struct UserOvercommitTracker : OvercommitTracker protected: void pickQueryToExcludeImpl() override; - Poco::Logger * getLogger() override final { return logger; } private: DB::ProcessListForUser * user_process_list; - Poco::Logger * logger = &Poco::Logger::get("UserOvercommitTracker"); }; struct GlobalOvercommitTracker : OvercommitTracker @@ -149,10 +156,8 @@ struct GlobalOvercommitTracker : OvercommitTracker protected: void pickQueryToExcludeImpl() override; - Poco::Logger * getLogger() override final { return logger; } private: DB::ProcessList * process_list; - Poco::Logger * logger = &Poco::Logger::get("GlobalOvercommitTracker"); }; // This class is used to disallow tracking during logging to avoid deadlocks. diff --git a/src/Common/PODArray.h b/src/Common/PODArray.h index e4c1969383b..d3232d833ee 100644 --- a/src/Common/PODArray.h +++ b/src/Common/PODArray.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include @@ -703,10 +703,9 @@ public: size_t bytes_to_copy = this->byte_size(required_capacity); if (bytes_to_copy) - { memcpy(this->c_start, reinterpret_cast(&*from_begin), bytes_to_copy); - this->c_end = this->c_start + bytes_to_copy; - } + + this->c_end = this->c_start + bytes_to_copy; } // ISO C++ has strict ambiguity rules, thus we cannot apply TAllocatorParams here. diff --git a/src/Common/PipeFDs.cpp b/src/Common/PipeFDs.cpp index b86115904d4..bea7546a8cd 100644 --- a/src/Common/PipeFDs.cpp +++ b/src/Common/PipeFDs.cpp @@ -27,7 +27,7 @@ void LazyPipeFDs::open() if (fd >= 0) throw Exception("Pipe is already opened", ErrorCodes::LOGICAL_ERROR); -#ifndef __APPLE__ +#ifndef OS_DARWIN if (0 != pipe2(fds_rw, O_CLOEXEC)) throwFromErrno("Cannot create pipe", ErrorCodes::CANNOT_PIPE); #else diff --git a/src/Common/PoolBase.h b/src/Common/PoolBase.h index 4b4e2c5cfa7..dac126fb5d7 100644 --- a/src/Common/PoolBase.h +++ b/src/Common/PoolBase.h @@ -55,7 +55,7 @@ private: explicit PoolEntryHelper(PooledObject & data_) : data(data_) { data.in_use = true; } ~PoolEntryHelper() { - std::unique_lock lock(data.pool.mutex); + std::lock_guard lock(data.pool.mutex); data.in_use = false; data.pool.available.notify_one(); } @@ -163,7 +163,7 @@ public: inline size_t size() { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); return items.size(); } diff --git a/src/Common/ProcfsMetricsProvider.cpp b/src/Common/ProcfsMetricsProvider.cpp index 44a11a85c7c..105278febb0 100644 --- a/src/Common/ProcfsMetricsProvider.cpp +++ b/src/Common/ProcfsMetricsProvider.cpp @@ -1,6 +1,6 @@ #include "ProcfsMetricsProvider.h" -#if defined(__linux__) +#if defined(OS_LINUX) #include #include diff --git a/src/Common/ProcfsMetricsProvider.h b/src/Common/ProcfsMetricsProvider.h index 785ee077fdc..e9bc041f291 100644 --- a/src/Common/ProcfsMetricsProvider.h +++ b/src/Common/ProcfsMetricsProvider.h @@ -4,7 +4,7 @@ #include -#if defined(__linux__) +#if defined(OS_LINUX) struct taskstats; namespace DB @@ -19,7 +19,7 @@ public: /// Updates only a part of taskstats struct's fields: /// - cpu_run_virtual_total, cpu_delay_total (when /proc/thread-self/schedstat is available) /// - blkio_delay_total (when /proc/thread-self/stat is available) - /// - rchar, wchar, read_bytes, write_bytes (when /prod/thread-self/io is available) + /// - rchar, wchar, read_bytes, write_bytes (when /proc/thread-self/io is available) /// See: man procfs void getTaskStats(::taskstats & out_stats) const; diff --git a/src/Common/ProfileEvents.cpp b/src/Common/ProfileEvents.cpp index 9fa47ff959c..00ccaca00d4 100644 --- a/src/Common/ProfileEvents.cpp +++ b/src/Common/ProfileEvents.cpp @@ -1,7 +1,6 @@ #include #include -#include -#include + /// Available events. Add something here as you wish. #define APPLY_FOR_EVENTS(M) \ @@ -25,6 +24,10 @@ M(WriteBufferFromFileDescriptorWrite, "Number of writes (write/pwrite) to a file descriptor. Does not include sockets.") \ M(WriteBufferFromFileDescriptorWriteFailed, "Number of times the write (write/pwrite) to a file descriptor have failed.") \ M(WriteBufferFromFileDescriptorWriteBytes, "Number of bytes written to file descriptors. If the file is compressed, this will show compressed data size.") \ + M(FileSync, "Number of times the F_FULLFSYNC/fsync/fdatasync function was called for files.") \ + M(DirectorySync, "Number of times the F_FULLFSYNC/fsync/fdatasync function was called for directories.") \ + M(FileSyncElapsedMicroseconds, "Total time spent waiting for F_FULLFSYNC/fsync/fdatasync syscall for files.") \ + M(DirectorySyncElapsedMicroseconds, "Total time spent waiting for F_FULLFSYNC/fsync/fdatasync syscall for directories.") \ M(ReadCompressedBytes, "Number of bytes (the number of bytes before decompression) read from compressed sources (files, network).") \ M(CompressedReadBufferBlocks, "Number of compressed blocks (the blocks of data that are compressed independent of each other) read from compressed sources (files, network).") \ M(CompressedReadBufferBytes, "Number of uncompressed bytes (the number of bytes after decompression) read from compressed sources (files, network).") \ @@ -92,6 +95,7 @@ M(ZooKeeperSet, "") \ M(ZooKeeperMulti, "") \ M(ZooKeeperCheck, "") \ + M(ZooKeeperSync, "") \ M(ZooKeeperClose, "") \ M(ZooKeeperWatchResponse, "") \ M(ZooKeeperUserExceptions, "") \ @@ -199,6 +203,7 @@ M(RealTimeMicroseconds, "Total (wall clock) time spent in processing (queries and other tasks) threads (not that this is a sum).") \ M(UserTimeMicroseconds, "Total time spent in processing (queries and other tasks) threads executing CPU instructions in user space. This include time CPU pipeline was stalled due to cache misses, branch mispredictions, hyper-threading, etc.") \ M(SystemTimeMicroseconds, "Total time spent in processing (queries and other tasks) threads executing CPU instructions in OS kernel space. This include time CPU pipeline was stalled due to cache misses, branch mispredictions, hyper-threading, etc.") \ + M(MemoryOvercommitWaitTimeMicroseconds, "Total time spent in waiting for memory to be freed in OvercommitTracker.") \ M(SoftPageFaults, "") \ M(HardPageFaults, "") \ \ @@ -342,7 +347,23 @@ \ M(ScalarSubqueriesGlobalCacheHit, "Number of times a read from a scalar subquery was done using the global cache") \ M(ScalarSubqueriesLocalCacheHit, "Number of times a read from a scalar subquery was done using the local cache") \ - M(ScalarSubqueriesCacheMiss, "Number of times a read from a scalar subquery was not cached and had to be calculated completely") + M(ScalarSubqueriesCacheMiss, "Number of times a read from a scalar subquery was not cached and had to be calculated completely") \ + M(KeeperPacketsSent, "Packets sent by keeper server") \ + M(KeeperPacketsReceived, "Packets received by keeper server") \ + M(KeeperRequestTotal, "Total requests number on keeper server") \ + M(KeeperLatency, "Keeper latency") \ + M(KeeperCommits, "Number of successful commits") \ + M(KeeperCommitsFailed, "Number of failed commits") \ + M(KeeperSnapshotCreations, "Number of snapshots creations")\ + M(KeeperSnapshotCreationsFailed, "Number of failed snapshot creations")\ + M(KeeperSnapshotApplys, "Number of snapshot applying")\ + M(KeeperSnapshotApplysFailed, "Number of failed snapshot applying")\ + M(KeeperReadSnapshot, "Number of snapshot read(serialization)")\ + M(KeeperSaveSnapshot, "Number of snapshot save")\ + \ + M(OverflowBreak, "Number of times, data processing was cancelled by query complexity limitation with setting '*_overflow_mode' = 'break' and the result is incomplete.") \ + M(OverflowThrow, "Number of times, data processing was cancelled by query complexity limitation with setting '*_overflow_mode' = 'throw' and exception was thrown.") \ + M(OverflowAny, "Number of times approximate GROUP BY was in effect: when aggregation was performed only on top of first 'max_rows_to_group_by' unique keys and other keys were ignored due to 'group_by_overflow_mode' = 'any'.") \ namespace ProfileEvents { @@ -431,7 +452,7 @@ void increment(Event event, Count amount) CountersIncrement::CountersIncrement(Counters::Snapshot const & snapshot) { init(); - std::memcpy(increment_holder.get(), snapshot.counters_holder.get(), Counters::num_counters * sizeof(Increment)); + memcpy(increment_holder.get(), snapshot.counters_holder.get(), Counters::num_counters * sizeof(Increment)); } CountersIncrement::CountersIncrement(Counters::Snapshot const & after, Counters::Snapshot const & before) diff --git a/src/Common/ProfileEvents.h b/src/Common/ProfileEvents.h index 14d134a14a0..6eebb75c5ca 100644 --- a/src/Common/ProfileEvents.h +++ b/src/Common/ProfileEvents.h @@ -4,7 +4,7 @@ #include "base/types.h" #include #include -#include +#include /** Implements global counters for various events happening in the application * - for high level profiling. diff --git a/src/Common/ProgressIndication.cpp b/src/Common/ProgressIndication.cpp index ffc90807060..ab4ecf5c25f 100644 --- a/src/Common/ProgressIndication.cpp +++ b/src/Common/ProgressIndication.cpp @@ -16,22 +16,29 @@ namespace { constexpr UInt64 ALL_THREADS = 0; - double calculateCPUUsage(DB::ThreadIdToTimeMap times, UInt64 elapsed) + UInt64 aggregateCPUUsageNs(DB::ThreadIdToTimeMap times) { - auto accumulated = std::accumulate(times.begin(), times.end(), 0, - [](Int64 acc, const auto & elem) + constexpr UInt64 us_to_ns = 1000; + return us_to_ns * std::accumulate(times.begin(), times.end(), 0ull, + [](UInt64 acc, const auto & elem) { if (elem.first == ALL_THREADS) return acc; return acc + elem.second.time(); }); - return static_cast(accumulated) / elapsed; } } namespace DB { +UInt64 ProgressIndication::getElapsedNanoseconds() const +{ + /// New server versions send server-side elapsed time, which is preferred for calculations. + UInt64 server_elapsed_ns = progress.elapsed_ns.load(std::memory_order_relaxed); + return server_elapsed_ns ? server_elapsed_ns : watch.elapsed(); +} + bool ProgressIndication::updateProgress(const Progress & value) { return progress.incrementPiecewiseAtomically(value); @@ -53,8 +60,11 @@ void ProgressIndication::resetProgress() show_progress_bar = false; written_progress_chars = 0; write_progress_on_update = false; - host_cpu_usage.clear(); - thread_data.clear(); + { + std::lock_guard lock(profile_events_mutex); + cpu_usage_meter.reset(getElapsedNanoseconds()); + thread_data.clear(); + } } void ProgressIndication::setFileProgressCallback(ContextMutablePtr context, bool write_progress_on_update_) @@ -71,23 +81,31 @@ void ProgressIndication::setFileProgressCallback(ContextMutablePtr context, bool void ProgressIndication::addThreadIdToList(String const & host, UInt64 thread_id) { + std::lock_guard lock(profile_events_mutex); + auto & thread_to_times = thread_data[host]; if (thread_to_times.contains(thread_id)) return; thread_to_times[thread_id] = {}; } -void ProgressIndication::updateThreadEventData(HostToThreadTimesMap & new_thread_data, UInt64 elapsed_time) +void ProgressIndication::updateThreadEventData(HostToThreadTimesMap & new_thread_data) { + std::lock_guard lock(profile_events_mutex); + + UInt64 total_cpu_ns = 0; for (auto & new_host_map : new_thread_data) { - host_cpu_usage[new_host_map.first] = calculateCPUUsage(new_host_map.second, elapsed_time); + total_cpu_ns += aggregateCPUUsageNs(new_host_map.second); thread_data[new_host_map.first] = std::move(new_host_map.second); } + cpu_usage_meter.add(getElapsedNanoseconds(), total_cpu_ns); } size_t ProgressIndication::getUsedThreadsCount() const { + std::lock_guard lock(profile_events_mutex); + return std::accumulate(thread_data.cbegin(), thread_data.cend(), 0, [] (size_t acc, auto const & threads) { @@ -95,16 +113,16 @@ size_t ProgressIndication::getUsedThreadsCount() const }); } -double ProgressIndication::getCPUUsage() const +double ProgressIndication::getCPUUsage() { - double res = 0; - for (const auto & elem : host_cpu_usage) - res += elem.second; - return res; + std::lock_guard lock(profile_events_mutex); + return cpu_usage_meter.rate(getElapsedNanoseconds()); } ProgressIndication::MemoryUsage ProgressIndication::getMemoryUsage() const { + std::lock_guard lock(profile_events_mutex); + return std::accumulate(thread_data.cbegin(), thread_data.cend(), MemoryUsage{}, [](MemoryUsage const & acc, auto const & host_data) { @@ -127,7 +145,7 @@ void ProgressIndication::writeFinalProgress() std::cout << "Processed " << formatReadableQuantity(progress.read_rows) << " rows, " << formatReadableSizeWithDecimalSuffix(progress.read_bytes); - size_t elapsed_ns = watch.elapsed(); + UInt64 elapsed_ns = getElapsedNanoseconds(); if (elapsed_ns) std::cout << " (" << formatReadableQuantity(progress.read_rows * 1000000000.0 / elapsed_ns) << " rows/s., " << formatReadableSizeWithDecimalSuffix(progress.read_bytes * 1000000000.0 / elapsed_ns) << "/s.)"; @@ -137,6 +155,8 @@ void ProgressIndication::writeFinalProgress() void ProgressIndication::writeProgress() { + std::lock_guard lock(progress_mutex); + /// Output all progress bar commands to stderr at once to avoid flicker. WriteBufferFromFileDescriptor message(STDERR_FILENO, 1024); @@ -171,7 +191,7 @@ void ProgressIndication::writeProgress() << formatReadableQuantity(progress.read_rows) << " rows, " << formatReadableSizeWithDecimalSuffix(progress.read_bytes); - auto elapsed_ns = watch.elapsed(); + UInt64 elapsed_ns = getElapsedNanoseconds(); if (elapsed_ns) message << " (" << formatReadableQuantity(progress.read_rows * 1000000000.0 / elapsed_ns) << " rows/s., " @@ -191,6 +211,10 @@ void ProgressIndication::writeProgress() { WriteBufferFromOwnString profiling_msg_builder; + /// We don't want -0. that can appear due to rounding errors. + if (cpu_usage <= 0) + cpu_usage = 0; + profiling_msg_builder << "(" << fmt::format("{:.1f}", cpu_usage) << " CPU"; if (memory_usage > 0) diff --git a/src/Common/ProgressIndication.h b/src/Common/ProgressIndication.h index aad4a8c18e5..4f05f41b9d0 100644 --- a/src/Common/ProgressIndication.h +++ b/src/Common/ProgressIndication.h @@ -2,11 +2,12 @@ #include #include +#include #include #include #include #include - +#include /// http://en.wikipedia.org/wiki/ANSI_escape_code #define CLEAR_TO_END_OF_LINE "\033[K" @@ -16,11 +17,11 @@ namespace DB struct ThreadEventData { - Int64 time() const noexcept { return user_ms + system_ms; } + UInt64 time() const noexcept { return user_ms + system_ms; } - Int64 user_ms = 0; - Int64 system_ms = 0; - Int64 memory_usage = 0; + UInt64 user_ms = 0; + UInt64 system_ms = 0; + UInt64 memory_usage = 0; }; using ThreadIdToTimeMap = std::unordered_map; @@ -44,7 +45,7 @@ public: /// 1. onProgress in clickhouse-client; /// 2. ProgressCallback via setProgressCallback methrod in: /// - context (used in clickhouse-local, can also be added in arbitrary place) - /// - SourceWithProgress (also in streams) + /// - ISource (also in streams) /// - readBufferFromFileDescriptor (for file processing progress) bool updateProgress(const Progress & value); @@ -54,16 +55,16 @@ public: void setFileProgressCallback(ContextMutablePtr context, bool write_progress_on_update = false); /// How much seconds passed since query execution start. - double elapsedSeconds() const { return watch.elapsedSeconds(); } + double elapsedSeconds() const { return getElapsedNanoseconds() / 1e9; } void addThreadIdToList(String const & host, UInt64 thread_id); - void updateThreadEventData(HostToThreadTimesMap & new_thread_data, UInt64 elapsed_time); + void updateThreadEventData(HostToThreadTimesMap & new_thread_data); private: size_t getUsedThreadsCount() const; - double getCPUUsage() const; + double getCPUUsage(); struct MemoryUsage { @@ -73,6 +74,8 @@ private: MemoryUsage getMemoryUsage() const; + UInt64 getElapsedNanoseconds() const; + /// This flag controls whether to show the progress bar. We start showing it after /// the query has been executing for 0.5 seconds, and is still less than half complete. bool show_progress_bar = false; @@ -85,13 +88,23 @@ private: /// This information is stored here. Progress progress; - /// Track query execution time. + /// Track query execution time on client. Stopwatch watch; bool write_progress_on_update = false; - std::unordered_map host_cpu_usage; + EventRateMeter cpu_usage_meter{static_cast(clock_gettime_ns()), 3'000'000'000 /*ns*/}; // average cpu utilization last 3 second HostToThreadTimesMap thread_data; + /// In case of all of the above: + /// - clickhouse-local + /// - input_format_parallel_parsing=true + /// - write_progress_on_update=true + /// + /// It is possible concurrent access to the following: + /// - writeProgress() (class properties) (guarded with progress_mutex) + /// - thread_data/cpu_usage_meter (guarded with profile_events_mutex) + mutable std::mutex profile_events_mutex; + mutable std::mutex progress_mutex; }; } diff --git a/src/Common/RWLock.cpp b/src/Common/RWLock.cpp index 92eda0c21aa..cf6d2dd7bab 100644 --- a/src/Common/RWLock.cpp +++ b/src/Common/RWLock.cpp @@ -189,9 +189,10 @@ RWLockImpl::getLock(RWLockImpl::Type type, const String & query_id, const std::c /// Rollback(SM1): nothrow if (it_group->requests == 0) { - (type == Read ? readers_queue : writers_queue).erase(it_group); + /// When WRITE lock fails, we need to notify next read that is waiting, + /// to avoid handing request, hence next=true. + dropOwnerGroupAndPassOwnership(it_group, /* next= */ true); } - return nullptr; } } @@ -211,7 +212,7 @@ RWLockImpl::getLock(RWLockImpl::Type type, const String & query_id, const std::c /// Methods std::list<>::emplace_back() and std::unordered_map<>::emplace() provide strong exception safety /// We only need to roll back the changes to these objects: owner_queries and the readers/writers queue if (it_group->requests == 0) - dropOwnerGroupAndPassOwnership(it_group); /// Rollback(SM1): nothrow + dropOwnerGroupAndPassOwnership(it_group, /* next= */ false); /// Rollback(SM1): nothrow throw; } @@ -259,11 +260,11 @@ void RWLockImpl::unlock(GroupsContainer::iterator group_it, const String & query /// If we are the last remaining referrer, remove this QNode and notify the next one if (--group_it->requests == 0) /// SM: nothrow - dropOwnerGroupAndPassOwnership(group_it); + dropOwnerGroupAndPassOwnership(group_it, /* next= */ false); } -void RWLockImpl::dropOwnerGroupAndPassOwnership(GroupsContainer::iterator group_it) noexcept +void RWLockImpl::dropOwnerGroupAndPassOwnership(GroupsContainer::iterator group_it, bool next) noexcept { rdlock_owner = readers_queue.end(); wrlock_owner = writers_queue.end(); @@ -287,7 +288,14 @@ void RWLockImpl::dropOwnerGroupAndPassOwnership(GroupsContainer::iterator group_ /// Prepare next phase if (!readers_queue.empty()) { - rdlock_owner = readers_queue.begin(); + if (next && readers_queue.size() > 1) + { + rdlock_owner = std::next(readers_queue.begin()); + } + else + { + rdlock_owner = readers_queue.begin(); + } } else { diff --git a/src/Common/RWLock.h b/src/Common/RWLock.h index e54fcaea433..cb4cf7f9200 100644 --- a/src/Common/RWLock.h +++ b/src/Common/RWLock.h @@ -90,6 +90,7 @@ private: RWLockImpl() = default; void unlock(GroupsContainer::iterator group_it, const String & query_id) noexcept; - void dropOwnerGroupAndPassOwnership(GroupsContainer::iterator group_it) noexcept; + /// @param next - notify next after begin, used on writer lock failures + void dropOwnerGroupAndPassOwnership(GroupsContainer::iterator group_it, bool next) noexcept; }; } diff --git a/src/Common/RadixSort.h b/src/Common/RadixSort.h index 2f02ebb9e03..9ca43bee30c 100644 --- a/src/Common/RadixSort.h +++ b/src/Common/RadixSort.h @@ -2,7 +2,7 @@ #include -#if !defined(__APPLE__) && !defined(__FreeBSD__) +#if !defined(OS_DARWIN) && !defined(OS_FREEBSD) #include #endif #include @@ -355,8 +355,6 @@ private: template static inline void radixSortMSDInternal(Element * arr, size_t size, size_t limit) { -// std::cerr << PASS << ", " << size << ", " << limit << "\n"; - /// The beginning of every i-1-th bucket. 0th element will be equal to 1st. /// Last element will point to array end. std::unique_ptr prev_buckets{new Element*[HISTOGRAM_SIZE + 1]}; diff --git a/src/Common/RemoteHostFilter.h b/src/Common/RemoteHostFilter.h index cea1a781308..2b91306f405 100644 --- a/src/Common/RemoteHostFilter.h +++ b/src/Common/RemoteHostFilter.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace Poco { class URI; } @@ -28,8 +29,8 @@ private: std::atomic_bool is_initialized = false; mutable std::mutex hosts_mutex; - std::unordered_set primary_hosts; /// Allowed primary () URL from config.xml - std::vector regexp_hosts; /// Allowed regexp () URL from config.xml + std::unordered_set primary_hosts TSA_GUARDED_BY(hosts_mutex); /// Allowed primary () URL from config.xml + std::vector regexp_hosts TSA_GUARDED_BY(hosts_mutex); /// Allowed regexp () URL from config.xml /// Checks if the primary_hosts and regexp_hosts contain str. If primary_hosts and regexp_hosts are empty return true. bool checkForDirectEntry(const std::string & str) const; diff --git a/src/Common/SLRUCachePolicy.h b/src/Common/SLRUCachePolicy.h new file mode 100644 index 00000000000..10b043ebaca --- /dev/null +++ b/src/Common/SLRUCachePolicy.h @@ -0,0 +1,251 @@ +#pragma once + +#include + +#include +#include + +#include + +namespace DB +{ + +/// Cache policy SLRU evicts entries which were used only once and are not used for a long time, +/// this policy protects entries which were used more then once from a sequential scan. +/// WeightFunction is a functor that takes Mapped as a parameter and returns "weight" (approximate size) +/// of that value. +/// Cache starts to evict entries when their total weight exceeds max_size. +/// Value weight should not change after insertion. +/// To work with the thread-safe implementation of this class use a class "CacheBase" with first parameter "SLRU" +/// and next parameters in the same order as in the constructor of the current class. +template , typename WeightFunction = TrivialWeightFunction> +class SLRUCachePolicy : public ICachePolicy +{ +public: + using Key = TKey; + using Mapped = TMapped; + using MappedPtr = std::shared_ptr; + + using Base = ICachePolicy; + using typename Base::OnWeightLossFunction; + + /** Initialize SLRUCachePolicy with max_size and max_protected_size. + * max_protected_size shows how many of the most frequently used entries will not be evicted after a sequential scan. + * max_protected_size == 0 means that the default protected size is equal to half of the total max size. + */ + /// TODO: construct from special struct with cache policy parametrs (also with max_protected_size). + SLRUCachePolicy(size_t max_size_, size_t max_elements_size_ = 0, double size_ratio = 0.5, OnWeightLossFunction on_weight_loss_function_ = {}) + : max_protected_size(max_size_ * std::min(1.0, size_ratio)) + , max_size(max_size_) + , max_elements_size(max_elements_size_) + { + Base::on_weight_loss_function = on_weight_loss_function_; + } + + size_t weight(std::lock_guard & /* cache_lock */) const override + { + return current_size; + } + + size_t count(std::lock_guard & /* cache_lock */) const override + { + return cells.size(); + } + + size_t maxSize() const override + { + return max_size; + } + + void reset(std::lock_guard & /* cache_lock */) override + { + cells.clear(); + probationary_queue.clear(); + protected_queue.clear(); + current_size = 0; + current_protected_size = 0; + } + + void remove(const Key & key, std::lock_guard & /* cache_lock */) override + { + auto it = cells.find(key); + if (it == cells.end()) + return; + auto & cell = it->second; + current_size -= cell.size; + if (cell.is_protected) + { + current_protected_size -= cell.size; + } + auto & queue = cell.is_protected ? protected_queue : probationary_queue; + queue.erase(cell.queue_iterator); + cells.erase(it); + } + + MappedPtr get(const Key & key, std::lock_guard & /* cache_lock */) override + { + auto it = cells.find(key); + if (it == cells.end()) + { + return MappedPtr(); + } + + Cell & cell = it->second; + + if (cell.is_protected) + { + protected_queue.splice(protected_queue.end(), protected_queue, cell.queue_iterator); + } + else + { + cell.is_protected = true; + current_protected_size += cell.size; + protected_queue.splice(protected_queue.end(), probationary_queue, cell.queue_iterator); + removeOverflow(protected_queue, max_protected_size, current_protected_size, /*is_protected=*/true); + } + + return cell.value; + } + + void set(const Key & key, const MappedPtr & mapped, std::lock_guard & /* cache_lock */) override + { + auto [it, inserted] = cells.emplace(std::piecewise_construct, + std::forward_as_tuple(key), + std::forward_as_tuple()); + + Cell & cell = it->second; + + if (inserted) + { + try + { + cell.queue_iterator = probationary_queue.insert(probationary_queue.end(), key); + } + catch (...) + { + cells.erase(it); + throw; + } + } + else + { + current_size -= cell.size; + if (cell.is_protected) + { + current_protected_size -= cell.size; + protected_queue.splice(protected_queue.end(), protected_queue, cell.queue_iterator); + } + else + { + cell.is_protected = true; + protected_queue.splice(protected_queue.end(), probationary_queue, cell.queue_iterator); + } + } + + cell.value = mapped; + cell.size = cell.value ? weight_function(*cell.value) : 0; + current_size += cell.size; + current_protected_size += cell.is_protected ? cell.size : 0; + + removeOverflow(protected_queue, max_protected_size, current_protected_size, /*is_protected=*/true); + removeOverflow(probationary_queue, max_size, current_size, /*is_protected=*/false); + } + +protected: + using SLRUQueue = std::list; + using SLRUQueueIterator = typename SLRUQueue::iterator; + + SLRUQueue probationary_queue; + SLRUQueue protected_queue; + + struct Cell + { + bool is_protected = false; + MappedPtr value; + size_t size; + SLRUQueueIterator queue_iterator; + }; + + using Cells = std::unordered_map; + + Cells cells; + + size_t current_protected_size = 0; + size_t current_size = 0; + const size_t max_protected_size; + const size_t max_size; + const size_t max_elements_size; + + WeightFunction weight_function; + + void removeOverflow(SLRUQueue & queue, const size_t max_weight_size, size_t & current_weight_size, bool is_protected) + { + size_t current_weight_lost = 0; + size_t queue_size = queue.size(); + + std::function need_remove; + if (is_protected) + { + /// Check if after remove all elements from probationary part there will be no more than max elements + /// in protected queue and weight of all protected elements will be less then max protected weight. + /// It's not possible to check only cells.size() > max_elements_size + /// because protected elements move to probationary part and still remain in cache. + need_remove = [&]() + { + return ((max_elements_size != 0 && cells.size() - probationary_queue.size() > max_elements_size) + || (current_weight_size > max_weight_size)) && (queue_size > 0); + }; + } + else + { + need_remove = [&]() + { + return ((max_elements_size != 0 && cells.size() > max_elements_size) + || (current_weight_size > max_weight_size)) && (queue_size > 0); + }; + } + + while (need_remove()) + { + const Key & key = queue.front(); + + auto it = cells.find(key); + if (it == cells.end()) + { + LOG_ERROR(&Poco::Logger::get("SLRUCache"), "SLRUCache became inconsistent. There must be a bug in it."); + abort(); + } + + auto & cell = it->second; + + current_weight_size -= cell.size; + + if (cell.is_protected) + { + cell.is_protected = false; + probationary_queue.splice(probationary_queue.end(), queue, cell.queue_iterator); + } + else + { + current_weight_lost += cell.size; + cells.erase(it); + queue.pop_front(); + } + + --queue_size; + } + + if (!is_protected) + { + Base::on_weight_loss_function(current_weight_lost); + } + + if (current_size > (1ull << 63)) + { + LOG_ERROR(&Poco::Logger::get("SLRUCache"), "SLRUCache became inconsistent. There must be a bug in it."); + abort(); + } + } +}; + +} diff --git a/src/Common/SettingsChanges.cpp b/src/Common/SettingsChanges.cpp index 370b465eba3..9fb4f361e09 100644 --- a/src/Common/SettingsChanges.cpp +++ b/src/Common/SettingsChanges.cpp @@ -4,7 +4,7 @@ namespace DB { namespace { - SettingChange * find(SettingsChanges & changes, const std::string_view & name) + SettingChange * find(SettingsChanges & changes, std::string_view name) { auto it = std::find_if(changes.begin(), changes.end(), [&name](const SettingChange & change) { return change.name == name; }); if (it == changes.end()) @@ -12,7 +12,7 @@ namespace return &*it; } - const SettingChange * find(const SettingsChanges & changes, const std::string_view & name) + const SettingChange * find(const SettingsChanges & changes, std::string_view name) { auto it = std::find_if(changes.begin(), changes.end(), [&name](const SettingChange & change) { return change.name == name; }); if (it == changes.end()) @@ -21,7 +21,7 @@ namespace } } -bool SettingsChanges::tryGet(const std::string_view & name, Field & out_value) const +bool SettingsChanges::tryGet(std::string_view name, Field & out_value) const { const auto * change = find(*this, name); if (!change) @@ -30,7 +30,7 @@ bool SettingsChanges::tryGet(const std::string_view & name, Field & out_value) c return true; } -const Field * SettingsChanges::tryGet(const std::string_view & name) const +const Field * SettingsChanges::tryGet(std::string_view name) const { const auto * change = find(*this, name); if (!change) @@ -38,7 +38,7 @@ const Field * SettingsChanges::tryGet(const std::string_view & name) const return &change->value; } -Field * SettingsChanges::tryGet(const std::string_view & name) +Field * SettingsChanges::tryGet(std::string_view name) { auto * change = find(*this, name); if (!change) diff --git a/src/Common/SettingsChanges.h b/src/Common/SettingsChanges.h index 5f6a390d0d2..67cb69f77bf 100644 --- a/src/Common/SettingsChanges.h +++ b/src/Common/SettingsChanges.h @@ -14,8 +14,8 @@ struct SettingChange Field value; SettingChange() = default; - SettingChange(const std::string_view & name_, const Field & value_) : name(name_), value(value_) {} - SettingChange(const std::string_view & name_, Field && value_) : name(name_), value(std::move(value_)) {} + SettingChange(std::string_view name_, const Field & value_) : name(name_), value(value_) {} + SettingChange(std::string_view name_, Field && value_) : name(name_), value(std::move(value_)) {} friend bool operator ==(const SettingChange & lhs, const SettingChange & rhs) { return (lhs.name == rhs.name) && (lhs.value == rhs.value); } friend bool operator !=(const SettingChange & lhs, const SettingChange & rhs) { return !(lhs == rhs); } @@ -27,9 +27,9 @@ class SettingsChanges : public std::vector public: using std::vector::vector; - bool tryGet(const std::string_view & name, Field & out_value) const; - const Field * tryGet(const std::string_view & name) const; - Field * tryGet(const std::string_view & name); + bool tryGet(std::string_view name, Field & out_value) const; + const Field * tryGet(std::string_view name) const; + Field * tryGet(std::string_view name); }; } diff --git a/src/Common/ShellCommand.cpp b/src/Common/ShellCommand.cpp index 86adeeaf7e5..0050288b1cf 100644 --- a/src/Common/ShellCommand.cpp +++ b/src/Common/ShellCommand.cpp @@ -1,9 +1,7 @@ #include #include -#include #include #include -#include #include #include @@ -13,6 +11,7 @@ #include #include #include +#include namespace @@ -94,53 +93,15 @@ ShellCommand::~ShellCommand() bool ShellCommand::tryWaitProcessWithTimeout(size_t timeout_in_seconds) { - int status = 0; - LOG_TRACE(getLogger(), "Try wait for shell command pid {} with timeout {}", pid, timeout_in_seconds); wait_called = true; - struct timespec interval {.tv_sec = 1, .tv_nsec = 0}; in.close(); out.close(); err.close(); - if (timeout_in_seconds == 0) - { - /// If there is no timeout before signal try to waitpid 1 time without block so we can avoid sending - /// signal if process is already normally terminated. - - int waitpid_res = waitpid(pid, &status, WNOHANG); - bool process_terminated_normally = (waitpid_res == pid); - return process_terminated_normally; - } - - /// If timeout is positive try waitpid without block in loop until - /// process is normally terminated or waitpid return error - - while (timeout_in_seconds != 0) - { - int waitpid_res = waitpid(pid, &status, WNOHANG); - bool process_terminated_normally = (waitpid_res == pid); - - if (process_terminated_normally) - { - return true; - } - else if (waitpid_res == 0) - { - --timeout_in_seconds; - nanosleep(&interval, nullptr); - - continue; - } - else if (waitpid_res == -1 && errno != EINTR) - { - return false; - } - } - - return false; + return waitForPid(pid, timeout_in_seconds); } void ShellCommand::logCommand(const char * filename, char * const argv[]) diff --git a/src/Common/ShellCommand.h b/src/Common/ShellCommand.h index 190b5bc664e..dfc4a826f62 100644 --- a/src/Common/ShellCommand.h +++ b/src/Common/ShellCommand.h @@ -3,6 +3,7 @@ #include #include #include +#include namespace DB diff --git a/src/Common/SipHash.h b/src/Common/SipHash.h index 108f7b31f43..1f26cba31fb 100644 --- a/src/Common/SipHash.h +++ b/src/Common/SipHash.h @@ -111,7 +111,7 @@ public: while (data + 8 <= end) { - current_word = unalignedLoad(data); + current_word = unalignedLoadLE(data); v3 ^= current_word; SIPROUND; @@ -147,13 +147,18 @@ public: update(x.data(), x.length()); } + ALWAYS_INLINE void update(const std::string_view x) + { + update(x.data(), x.size()); + } + /// Get the result in some form. This can only be done once! void get128(char * out) { finalize(); - unalignedStore(out, v0 ^ v1); - unalignedStore(out + 8, v2 ^ v3); + unalignedStoreLE(out, v0 ^ v1); + unalignedStoreLE(out + 8, v2 ^ v3); } template diff --git a/src/Common/SpaceSaving.h b/src/Common/SpaceSaving.h index 48817d8c926..20d6812b91b 100644 --- a/src/Common/SpaceSaving.h +++ b/src/Common/SpaceSaving.h @@ -49,12 +49,12 @@ struct SpaceSavingArena template <> struct SpaceSavingArena { - StringRef emplace(const StringRef & key) + StringRef emplace(StringRef key) { return copyStringInArena(arena, key); } - void free(const StringRef & key) + void free(StringRef key) { if (key.data) arena.free(const_cast(key.data), key.size); @@ -78,7 +78,7 @@ private: constexpr uint64_t nextAlphaSize(uint64_t x) { constexpr uint64_t alpha_map_elements_per_counter = 6; - return 1ULL << (sizeof(uint64_t) * 8 - __builtin_clzll(x * alpha_map_elements_per_counter)); + return 1ULL << (sizeof(uint64_t) * 8 - std::countl_zero(x * alpha_map_elements_per_counter)); } public: diff --git a/src/Common/StackTrace.cpp b/src/Common/StackTrace.cpp index 18e2e223744..70f80b62868 100644 --- a/src/Common/StackTrace.cpp +++ b/src/Common/StackTrace.cpp @@ -1,6 +1,5 @@ #include -#include #include #include #include @@ -8,6 +7,7 @@ #include #include +#include #include #include #include @@ -19,6 +19,32 @@ # include #endif + +namespace +{ + /// Currently this variable is set up once on server startup. + /// But we use atomic just in case, so it is possible to be modified at runtime. + std::atomic show_addresses = true; + + bool shouldShowAddress(const void * addr) + { + /// If the address is less than 4096, most likely it is a nullptr dereference with offset, + /// and showing this offset is secure nevertheless. + /// NOTE: 4096 is the page size on x86 and it can be different on other systems, + /// but for the purpose of this branch, it does not matter. + if (reinterpret_cast(addr) < 4096) + return true; + + return show_addresses.load(std::memory_order_relaxed); + } +} + +void StackTrace::setShowAddresses(bool show) +{ + show_addresses.store(show, std::memory_order_relaxed); +} + + std::string signalToErrorMessage(int sig, const siginfo_t & info, [[maybe_unused]] const ucontext_t & context) { std::stringstream error; // STYLE_CHECK_ALLOW_STD_STRING_STREAM @@ -30,10 +56,10 @@ std::string signalToErrorMessage(int sig, const siginfo_t & info, [[maybe_unused /// Print info about address and reason. if (nullptr == info.si_addr) error << "Address: NULL pointer."; - else + else if (shouldShowAddress(info.si_addr)) error << "Address: " << info.si_addr; -#if defined(__x86_64__) && !defined(__FreeBSD__) && !defined(__APPLE__) && !defined(__arm__) && !defined(__powerpc__) +#if defined(__x86_64__) && !defined(OS_FREEBSD) && !defined(OS_DARWIN) && !defined(__arm__) && !defined(__powerpc__) auto err_mask = context.uc_mcontext.gregs[REG_ERR]; if ((err_mask & 0x02)) error << " Access: write."; @@ -173,18 +199,18 @@ static void * getCallerAddress(const ucontext_t & context) { #if defined(__x86_64__) /// Get the address at the time the signal was raised from the RIP (x86-64) -# if defined(__FreeBSD__) +# if defined(OS_FREEBSD) return reinterpret_cast(context.uc_mcontext.mc_rip); -# elif defined(__APPLE__) +# elif defined(OS_DARWIN) return reinterpret_cast(context.uc_mcontext->__ss.__rip); # else return reinterpret_cast(context.uc_mcontext.gregs[REG_RIP]); # endif -#elif defined(__APPLE__) && defined(__aarch64__) +#elif defined(OS_DARWIN) && defined(__aarch64__) return reinterpret_cast(context.uc_mcontext->__ss.__pc); -#elif defined(__FreeBSD__) && defined(__aarch64__) +#elif defined(OS_FREEBSD) && defined(__aarch64__) return reinterpret_cast(context.uc_mcontext.mc_gpregs.gp_elr); #elif defined(__aarch64__) return reinterpret_cast(context.uc_mcontext.pc); @@ -201,7 +227,7 @@ void StackTrace::symbolize( const StackTrace::FramePointers & frame_pointers, [[maybe_unused]] size_t offset, size_t size, StackTrace::Frames & frames) { -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) auto symbol_index_ptr = DB::SymbolIndex::instance(); const DB::SymbolIndex & symbol_index = *symbol_index_ptr; @@ -332,7 +358,7 @@ static void toStringEveryLineImpl( if (size == 0) return callback(""); -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) auto symbol_index_ptr = DB::SymbolIndex::instance(); const DB::SymbolIndex & symbol_index = *symbol_index_ptr; std::unordered_map dwarfs; @@ -372,7 +398,9 @@ static void toStringEveryLineImpl( else out << "?"; - out << " @ " << physical_addr; + if (shouldShowAddress(physical_addr)) + out << " @ " << physical_addr; + out << " in " << (object ? object->name : "?"); for (size_t j = 0; j < inline_frames.size(); ++j) @@ -393,10 +421,13 @@ static void toStringEveryLineImpl( for (size_t i = offset; i < size; ++i) { const void * addr = frame_pointers[i]; - out << i << ". " << addr; + if (shouldShowAddress(addr)) + { + out << i << ". " << addr; - callback(out.str()); - out.str({}); + callback(out.str()); + out.str({}); + } } #endif } diff --git a/src/Common/StackTrace.h b/src/Common/StackTrace.h index 06a17e73091..f07c05107ee 100644 --- a/src/Common/StackTrace.h +++ b/src/Common/StackTrace.h @@ -7,9 +7,9 @@ #include #include #include -#include +#include -#ifdef __APPLE__ +#ifdef OS_DARWIN // ucontext is not available without _XOPEN_SOURCE # ifdef __clang__ # pragma clang diagnostic ignored "-Wreserved-id-macro" @@ -67,6 +67,11 @@ public: void toStringEveryLine(std::function callback) const; + /// Displaying the addresses can be disabled for security reasons. + /// If you turn off addresses, it will be more secure, but we will be unable to help you with debugging. + /// Please note: addresses are also available in the system.stack_trace and system.trace_log tables. + static void setShowAddresses(bool show); + protected: void tryCapture(); diff --git a/src/Common/StringSearcher.h b/src/Common/StringSearcher.h index b556ace75a7..b8f8a9d3a88 100644 --- a/src/Common/StringSearcher.h +++ b/src/Common/StringSearcher.h @@ -7,8 +7,8 @@ #include #include #include -#include -#include +#include +#include #ifdef __SSE2__ #include @@ -826,66 +826,44 @@ using UTF8CaseInsensitiveStringSearcher = StringSearcher; using ASCIICaseSensitiveTokenSearcher = TokenSearcher; using ASCIICaseInsensitiveTokenSearcher = TokenSearcher; - -/** Uses functions from libc. - * It makes sense to use only with short haystacks when cheap initialization is required. - * There is no option for case-insensitive search for UTF-8 strings. - * It is required that strings are zero-terminated. - */ - -struct LibCASCIICaseSensitiveStringSearcher : public StringSearcherBase +/// Use only with short haystacks where cheap initialization is required. +template +struct StdLibASCIIStringSearcher : public StringSearcherBase { - const char * const needle; + const char * const needle_start; + const char * const needle_end; template requires (sizeof(CharT) == 1) - LibCASCIICaseSensitiveStringSearcher(const CharT * const needle_, const size_t /* needle_size */) - : needle(reinterpret_cast(needle_)) {} + StdLibASCIIStringSearcher(const CharT * const needle_start_, const size_t needle_size_) + : needle_start{reinterpret_cast(needle_start_)} + , needle_end{reinterpret_cast(needle_start) + needle_size_} + {} template requires (sizeof(CharT) == 1) - const CharT * search(const CharT * haystack, const CharT * const haystack_end) const + const CharT * search(const CharT * haystack_start, const CharT * const haystack_end) const { - const auto * res = strstr(reinterpret_cast(haystack), reinterpret_cast(needle)); - if (!res) - return haystack_end; - return reinterpret_cast(res); + if constexpr (CaseInsensitive) + { + return std::search( + haystack_start, haystack_end, needle_start, needle_end, + [](char c1, char c2) {return std::toupper(c1) == std::toupper(c2);}); + } + else + { + return std::search( + haystack_start, haystack_end, needle_start, needle_end, + [](char c1, char c2) {return c1 == c2;}); + } } template requires (sizeof(CharT) == 1) - const CharT * search(const CharT * haystack, const size_t haystack_size) const + const CharT * search(const CharT * haystack_start, const size_t haystack_length) const { - return search(haystack, haystack + haystack_size); + return search(haystack_start, haystack_start + haystack_length); } }; -struct LibCASCIICaseInsensitiveStringSearcher : public StringSearcherBase -{ - const char * const needle; - - template - requires (sizeof(CharT) == 1) - LibCASCIICaseInsensitiveStringSearcher(const CharT * const needle_, const size_t /* needle_size */) - : needle(reinterpret_cast(needle_)) {} - - template - requires (sizeof(CharT) == 1) - const CharT * search(const CharT * haystack, const CharT * const haystack_end) const - { - const auto * res = strcasestr(reinterpret_cast(haystack), reinterpret_cast(needle)); - if (!res) - return haystack_end; - return reinterpret_cast(res); - } - - template - requires (sizeof(CharT) == 1) - const CharT * search(const CharT * haystack, const size_t haystack_size) const - { - return search(haystack, haystack + haystack_size); - } -}; - - } diff --git a/src/Common/StringUtils/StringUtils.h b/src/Common/StringUtils/StringUtils.h index 21df0f5ae8b..b5a081ab693 100644 --- a/src/Common/StringUtils/StringUtils.h +++ b/src/Common/StringUtils/StringUtils.h @@ -147,7 +147,7 @@ inline bool isPunctuationASCII(char c) } -inline bool isValidIdentifier(const std::string_view & str) +inline bool isValidIdentifier(std::string_view str) { return !str.empty() && isValidIdentifierBegin(str[0]) diff --git a/src/Common/SymbolIndex.cpp b/src/Common/SymbolIndex.cpp index af718ea77b9..46d9e8dbd5c 100644 --- a/src/Common/SymbolIndex.cpp +++ b/src/Common/SymbolIndex.cpp @@ -1,4 +1,4 @@ -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) #include #include diff --git a/src/Common/SymbolIndex.h b/src/Common/SymbolIndex.h index 1331cf81cf7..f2b40f02ead 100644 --- a/src/Common/SymbolIndex.h +++ b/src/Common/SymbolIndex.h @@ -1,6 +1,6 @@ #pragma once -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) #include #include diff --git a/src/Common/SystemLogBase.cpp b/src/Common/SystemLogBase.cpp index 7128d00714c..791f976d5e0 100644 --- a/src/Common/SystemLogBase.cpp +++ b/src/Common/SystemLogBase.cpp @@ -79,7 +79,7 @@ void SystemLogBase::add(const LogElement & element) /// The size of allocation can be in order of a few megabytes. /// But this should not be accounted for query memory usage. /// Otherwise the tests like 01017_uniqCombined_memory_usage.sql will be flacky. - MemoryTrackerBlockerInThread temporarily_disable_memory_tracker(VariableContext::Global); + MemoryTrackerBlockerInThread temporarily_disable_memory_tracker; /// Should not log messages under mutex. bool queue_is_half_full = false; @@ -139,7 +139,7 @@ void SystemLogBase::flush(bool force) uint64_t this_thread_requested_offset; { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); if (is_shutdown) return; diff --git a/src/Common/TLDListsHolder.cpp b/src/Common/TLDListsHolder.cpp index 3e5649a5ac6..75e57d9b9d4 100644 --- a/src/Common/TLDListsHolder.cpp +++ b/src/Common/TLDListsHolder.cpp @@ -15,20 +15,31 @@ namespace ErrorCodes extern const int LOGICAL_ERROR; } +constexpr size_t StringHashTablePadRequirement = 8; + /// TLDList TLDList::TLDList(size_t size) : tld_container(size) - , pool(std::make_unique(10 << 20)) -{} -bool TLDList::insert(const StringRef & host) + , memory_pool(std::make_unique()) { - bool inserted; - tld_container.emplace(DB::ArenaKeyHolder{host, *pool}, inserted); - return inserted; + /// StringHashTable requires padded to 8 bytes key, + /// and Arena (memory_pool here) does satisfies this, + /// since it has padding with 15 bytes at the right. + /// + /// However, StringHashTable may reference -1 byte of the key, + /// so left padding is also required: + memory_pool->alignedAlloc(StringHashTablePadRequirement, StringHashTablePadRequirement); } -bool TLDList::has(const StringRef & host) const +void TLDList::insert(const String & host, TLDType type) { - return tld_container.has(host); + StringRef owned_host{memory_pool->insert(host.data(), host.size()), host.size()}; + tld_container[owned_host] = type; +} +TLDType TLDList::lookup(StringRef host) const +{ + if (auto it = tld_container.find(host); it != nullptr) + return it->getMapped(); + return TLDType::TLD_NONE; } /// TLDListsHolder @@ -57,32 +68,44 @@ void TLDListsHolder::parseConfig(const std::string & top_level_domains_path, con size_t TLDListsHolder::parseAndAddTldList(const std::string & name, const std::string & path) { - std::unordered_set tld_list_tmp; + std::unordered_map tld_list_tmp; ReadBufferFromFile in(path); - String line; + String buffer; while (!in.eof()) { - readEscapedStringUntilEOL(line, in); + readEscapedStringUntilEOL(buffer, in); if (!in.eof()) ++in.position(); + std::string_view line(buffer); /// Skip comments - if (line.size() > 2 && line[0] == '/' && line[1] == '/') + if (line.starts_with("//")) continue; - line = trim(line, [](char c) { return std::isspace(c); }); + line = line.substr(0, line.rend() - std::find_if_not(line.rbegin(), line.rend(), ::isspace)); /// Skip empty line if (line.empty()) continue; - tld_list_tmp.emplace(line); + /// Validate special symbols. + if (line.starts_with("*.")) + { + line = line.substr(2); + tld_list_tmp.emplace(line, TLDType::TLD_ANY); + } + else if (line[0] == '!') + { + line = line.substr(1); + tld_list_tmp.emplace(line, TLDType::TLD_EXCLUDE); + } + else + tld_list_tmp.emplace(line, TLDType::TLD_REGULAR); } if (!in.eof()) throw Exception(ErrorCodes::LOGICAL_ERROR, "Not all list had been read", name); TLDList tld_list(tld_list_tmp.size()); - for (const auto & host : tld_list_tmp) + for (const auto & [host, type] : tld_list_tmp) { - StringRef host_ref{host.data(), host.size()}; - tld_list.insert(host_ref); + tld_list.insert(host, type); } size_t tld_list_size = tld_list.size(); diff --git a/src/Common/TLDListsHolder.h b/src/Common/TLDListsHolder.h index b41ad4e6f45..5ea8c5afe9f 100644 --- a/src/Common/TLDListsHolder.h +++ b/src/Common/TLDListsHolder.h @@ -2,7 +2,7 @@ #include #include -#include +#include #include #include #include @@ -12,25 +12,35 @@ namespace DB { +enum TLDType +{ + /// Does not exist marker + TLD_NONE, + /// For regular lines + TLD_REGULAR, + /// For asterisk (*) + TLD_ANY, + /// For exclamation mark (!) + TLD_EXCLUDE, +}; + /// Custom TLD List /// -/// Unlike tldLookup (which uses gperf) this one uses plain StringHashSet. +/// Unlike tldLookup (which uses gperf) this one uses plain StringHashMap. class TLDList { public: - using Container = StringHashSet<>; + using Container = StringHashMap; explicit TLDList(size_t size); - /// Return true if the tld_container does not contains such element. - bool insert(const StringRef & host); - /// Check is there such TLD - bool has(const StringRef & host) const; + void insert(const String & host, TLDType type); + TLDType lookup(StringRef host) const; size_t size() const { return tld_container.size(); } private: Container tld_container; - std::unique_ptr pool; + std::unique_ptr memory_pool; }; class TLDListsHolder @@ -48,6 +58,11 @@ public: /// - "//" -- comment, /// - empty lines will be ignored. /// + /// Treats the following special symbols: + /// - "*" + /// - "!" + /// + /// Format : https://github.com/publicsuffix/list/wiki/Format /// Example: https://publicsuffix.org/list/public_suffix_list.dat /// /// Return size of the list. @@ -59,7 +74,7 @@ protected: TLDListsHolder(); std::mutex tld_lists_map_mutex; - Map tld_lists_map; + Map tld_lists_map TSA_GUARDED_BY(tld_lists_map_mutex); }; } diff --git a/src/Common/TargetSpecific.cpp b/src/Common/TargetSpecific.cpp index 43319eff44b..a5fbe7de078 100644 --- a/src/Common/TargetSpecific.cpp +++ b/src/Common/TargetSpecific.cpp @@ -16,6 +16,12 @@ UInt32 getSupportedArchs() result |= static_cast(TargetArch::AVX2); if (Cpu::CpuFlagsCache::have_AVX512F) result |= static_cast(TargetArch::AVX512F); + if (Cpu::CpuFlagsCache::have_AVX512BW) + result |= static_cast(TargetArch::AVX512BW); + if (Cpu::CpuFlagsCache::have_AVX512VBMI) + result |= static_cast(TargetArch::AVX512VBMI); + if (Cpu::CpuFlagsCache::have_AVX512VBMI2) + result |= static_cast(TargetArch::AVX512VBMI2); return result; } @@ -34,6 +40,9 @@ String toString(TargetArch arch) case TargetArch::AVX: return "avx"; case TargetArch::AVX2: return "avx2"; case TargetArch::AVX512F: return "avx512f"; + case TargetArch::AVX512BW: return "avx512bw"; + case TargetArch::AVX512VBMI: return "avx512vbmi"; + case TargetArch::AVX512VBMI2: return "avx512vbmi"; } __builtin_unreachable(); diff --git a/src/Common/TargetSpecific.h b/src/Common/TargetSpecific.h index 67d9eb4831d..250642f6ee4 100644 --- a/src/Common/TargetSpecific.h +++ b/src/Common/TargetSpecific.h @@ -31,7 +31,7 @@ * int funcImpl() { * return 2; * } - * ) // DECLARE_DEFAULT_CODE + * ) // DECLARE_AVX2_SPECIFIC_CODE * * int func() { * #if USE_MULTITARGET_CODE @@ -80,6 +80,9 @@ enum class TargetArch : UInt32 AVX = (1 << 1), AVX2 = (1 << 2), AVX512F = (1 << 3), + AVX512BW = (1 << 4), + AVX512VBMI = (1 << 5), + AVX512VBMI2 = (1 << 6), }; /// Runtime detection. @@ -87,6 +90,10 @@ bool isArchSupported(TargetArch arch); String toString(TargetArch arch); +#ifndef ENABLE_MULTITARGET_CODE +# define ENABLE_MULTITARGET_CODE 0 +#endif + #if ENABLE_MULTITARGET_CODE && defined(__GNUC__) && defined(__x86_64__) /// NOLINTNEXTLINE @@ -94,12 +101,21 @@ String toString(TargetArch arch); #if defined(__clang__) +#define AVX512VBMI2_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,avx512vl,avx512vbmi,avx512vbmi2"))) +#define AVX512VBMI_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,avx512vl,avx512vbmi"))) +#define AVX512BW_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw"))) #define AVX512_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f"))) #define AVX2_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2"))) #define AVX_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx")) #define SSE42_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt"))) #define DEFAULT_FUNCTION_SPECIFIC_ATTRIBUTE +# define BEGIN_AVX512VBMI2_SPECIFIC_CODE \ + _Pragma("clang attribute push(__attribute__((target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,avx512vl,avx512vbmi,avx512vbmi2\"))),apply_to=function)") +# define BEGIN_AVX512VBMI_SPECIFIC_CODE \ + _Pragma("clang attribute push(__attribute__((target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,avx512vl,avx512vbmi\"))),apply_to=function)") +# define BEGIN_AVX512BW_SPECIFIC_CODE \ + _Pragma("clang attribute push(__attribute__((target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw\"))),apply_to=function)") # define BEGIN_AVX512F_SPECIFIC_CODE \ _Pragma("clang attribute push(__attribute__((target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f\"))),apply_to=function)") # define BEGIN_AVX2_SPECIFIC_CODE \ @@ -117,12 +133,24 @@ String toString(TargetArch arch); # define DUMMY_FUNCTION_DEFINITION [[maybe_unused]] void _dummy_function_definition(); #else +#define AVX512VBMI2_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,avx512vl,avx512vbmi,avx512vbmi2,tune=native"))) +#define AVX512VBMI_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,avx512vl,avx512vbmi,tune=native"))) +#define AVX512BW_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,tune=native"))) #define AVX512_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,tune=native"))) #define AVX2_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,tune=native"))) #define AVX_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,tune=native"))) -#define SSE42_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt",tune=native)))) +#define SSE42_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt",tune=native))) #define DEFAULT_FUNCTION_SPECIFIC_ATTRIBUTE +# define BEGIN_AVX512VBMI2_SPECIFIC_CODE \ + _Pragma("GCC push_options") \ + _Pragma("GCC target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,avx512vl,avx512vbmi,avx512vbmi2,tune=native\")") +# define BEGIN_AVX512VBMI_SPECIFIC_CODE \ + _Pragma("GCC push_options") \ + _Pragma("GCC target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,avx512vl,avx512vbmi,tune=native\")") +# define BEGIN_AVX512BW_SPECIFIC_CODE \ + _Pragma("GCC push_options") \ + _Pragma("GCC target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,tune=native\")") # define BEGIN_AVX512F_SPECIFIC_CODE \ _Pragma("GCC push_options") \ _Pragma("GCC target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,tune=native\")") @@ -179,6 +207,34 @@ namespace TargetSpecific::AVX512F { \ } \ END_TARGET_SPECIFIC_CODE +#define DECLARE_AVX512BW_SPECIFIC_CODE(...) \ +BEGIN_AVX512BW_SPECIFIC_CODE \ +namespace TargetSpecific::AVX512BW { \ + DUMMY_FUNCTION_DEFINITION \ + using namespace DB::TargetSpecific::AVX512BW; \ + __VA_ARGS__ \ +} \ +END_TARGET_SPECIFIC_CODE + +#define DECLARE_AVX512VBMI_SPECIFIC_CODE(...) \ +BEGIN_AVX512VBMI_SPECIFIC_CODE \ +namespace TargetSpecific::AVX512VBMI { \ + DUMMY_FUNCTION_DEFINITION \ + using namespace DB::TargetSpecific::AVX512VBMI; \ + __VA_ARGS__ \ +} \ +END_TARGET_SPECIFIC_CODE + +#define DECLARE_AVX512VBMI2_SPECIFIC_CODE(...) \ +BEGIN_AVX512VBMI2_SPECIFIC_CODE \ +namespace TargetSpecific::AVX512VBMI2 { \ + DUMMY_FUNCTION_DEFINITION \ + using namespace DB::TargetSpecific::AVX512VBMI2; \ + __VA_ARGS__ \ +} \ +END_TARGET_SPECIFIC_CODE + + #else #define USE_MULTITARGET_CODE 0 @@ -189,6 +245,9 @@ END_TARGET_SPECIFIC_CODE #define DECLARE_AVX_SPECIFIC_CODE(...) #define DECLARE_AVX2_SPECIFIC_CODE(...) #define DECLARE_AVX512F_SPECIFIC_CODE(...) +#define DECLARE_AVX512BW_SPECIFIC_CODE(...) +#define DECLARE_AVX512VBMI_SPECIFIC_CODE(...) +#define DECLARE_AVX512VBMI2_SPECIFIC_CODE(...) #endif @@ -204,7 +263,10 @@ DECLARE_DEFAULT_CODE (__VA_ARGS__) \ DECLARE_SSE42_SPECIFIC_CODE (__VA_ARGS__) \ DECLARE_AVX_SPECIFIC_CODE (__VA_ARGS__) \ DECLARE_AVX2_SPECIFIC_CODE (__VA_ARGS__) \ -DECLARE_AVX512F_SPECIFIC_CODE(__VA_ARGS__) +DECLARE_AVX512F_SPECIFIC_CODE(__VA_ARGS__) \ +DECLARE_AVX512BW_SPECIFIC_CODE (__VA_ARGS__) \ +DECLARE_AVX512VBMI_SPECIFIC_CODE (__VA_ARGS__) \ +DECLARE_AVX512VBMI2_SPECIFIC_CODE (__VA_ARGS__) DECLARE_DEFAULT_CODE( constexpr auto BuildArch = TargetArch::Default; /// NOLINT @@ -226,6 +288,18 @@ DECLARE_AVX512F_SPECIFIC_CODE( constexpr auto BuildArch = TargetArch::AVX512F; /// NOLINT ) // DECLARE_AVX512F_SPECIFIC_CODE +DECLARE_AVX512BW_SPECIFIC_CODE( + constexpr auto BuildArch = TargetArch::AVX512BW; /// NOLINT +) // DECLARE_AVX512BW_SPECIFIC_CODE + +DECLARE_AVX512VBMI_SPECIFIC_CODE( + constexpr auto BuildArch = TargetArch::AVX512VBMI; /// NOLINT +) // DECLARE_AVX512VBMI_SPECIFIC_CODE + +DECLARE_AVX512VBMI2_SPECIFIC_CODE( + constexpr auto BuildArch = TargetArch::AVX512VBMI2; /// NOLINT +) // DECLARE_AVX512VBMI2_SPECIFIC_CODE + /** Runtime Dispatch helpers for class members. * * Example of usage: diff --git a/src/Common/TaskStatsInfoGetter.cpp b/src/Common/TaskStatsInfoGetter.cpp index 36e8a0fce00..b81da2f3fe2 100644 --- a/src/Common/TaskStatsInfoGetter.cpp +++ b/src/Common/TaskStatsInfoGetter.cpp @@ -21,6 +21,7 @@ #if defined(__clang__) #pragma clang diagnostic ignored "-Wgnu-anonymous-struct" + #pragma clang diagnostic ignored "-Wnested-anon-types" #endif /// Basic idea is motivated by "iotop" tool. @@ -237,27 +238,36 @@ TaskStatsInfoGetter::TaskStatsInfoGetter() if (netlink_socket_fd < 0) throwFromErrno("Can't create PF_NETLINK socket", ErrorCodes::NETLINK_ERROR); - /// On some containerized environments, operation on Netlink socket could hang forever. - /// We set reasonably small timeout to overcome this issue. - - struct timeval tv; - tv.tv_sec = 0; - tv.tv_usec = 50000; - - if (0 != ::setsockopt(netlink_socket_fd, SOL_SOCKET, SO_RCVTIMEO, reinterpret_cast(&tv), sizeof(tv))) - throwFromErrno("Can't set timeout on PF_NETLINK socket", ErrorCodes::NETLINK_ERROR); - - union + try { - ::sockaddr_nl addr{}; - ::sockaddr sockaddr; - }; - addr.nl_family = AF_NETLINK; + /// On some containerized environments, operation on Netlink socket could hang forever. + /// We set reasonably small timeout to overcome this issue. - if (::bind(netlink_socket_fd, &sockaddr, sizeof(addr)) < 0) - throwFromErrno("Can't bind PF_NETLINK socket", ErrorCodes::NETLINK_ERROR); + struct timeval tv; + tv.tv_sec = 0; + tv.tv_usec = 50000; - taskstats_family_id = getFamilyId(netlink_socket_fd); + if (0 != ::setsockopt(netlink_socket_fd, SOL_SOCKET, SO_RCVTIMEO, reinterpret_cast(&tv), sizeof(tv))) + throwFromErrno("Can't set timeout on PF_NETLINK socket", ErrorCodes::NETLINK_ERROR); + + union + { + ::sockaddr_nl addr{}; + ::sockaddr sockaddr; + }; + addr.nl_family = AF_NETLINK; + + if (::bind(netlink_socket_fd, &sockaddr, sizeof(addr)) < 0) + throwFromErrno("Can't bind PF_NETLINK socket", ErrorCodes::NETLINK_ERROR); + + taskstats_family_id = getFamilyId(netlink_socket_fd); + } + catch (...) + { + if (netlink_socket_fd >= 0) + close(netlink_socket_fd); + throw; + } } diff --git a/src/Common/ThreadFuzzer.cpp b/src/Common/ThreadFuzzer.cpp index 2db049717ac..962cfee074d 100644 --- a/src/Common/ThreadFuzzer.cpp +++ b/src/Common/ThreadFuzzer.cpp @@ -294,8 +294,8 @@ void ThreadFuzzer::setup() const #if THREAD_FUZZER_WRAP_PTHREAD # define MAKE_WRAPPER(RET, NAME, ...) \ - extern "C" RET __##NAME(__VA_ARGS__); /* NOLINT */ \ - extern "C" RET NAME(__VA_ARGS__) /* NOLINT */ \ + extern "C" RET __##NAME(__VA_ARGS__); \ + extern "C" RET NAME(__VA_ARGS__) \ { \ injection( \ NAME##_before_yield_probability.load(std::memory_order_relaxed), \ diff --git a/src/Common/ThreadPool.cpp b/src/Common/ThreadPool.cpp index a76037ae5cf..3f5091af0c9 100644 --- a/src/Common/ThreadPool.cpp +++ b/src/Common/ThreadPool.cpp @@ -209,7 +209,7 @@ template void ThreadPoolImpl::finalize() { { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); shutdown = true; } @@ -224,14 +224,14 @@ void ThreadPoolImpl::finalize() template size_t ThreadPoolImpl::active() const { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); return scheduled_jobs; } template bool ThreadPoolImpl::finished() const { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); return shutdown; } @@ -290,7 +290,7 @@ void ThreadPoolImpl::worker(typename std::list::iterator thread_ job = {}; { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); if (!first_exception) first_exception = std::current_exception(); // NOLINT if (shutdown_on_exception) @@ -305,7 +305,7 @@ void ThreadPoolImpl::worker(typename std::list::iterator thread_ } { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); --scheduled_jobs; if (threads.size() > scheduled_jobs + max_free_threads) diff --git a/src/Common/ThreadPool.h b/src/Common/ThreadPool.h index 4bd1cf391ef..eb3f631b92a 100644 --- a/src/Common/ThreadPool.h +++ b/src/Common/ThreadPool.h @@ -162,20 +162,19 @@ public: template explicit ThreadFromGlobalPool(Function && func, Args &&... args) - : state(std::make_shared()) - , thread_id(std::make_shared()) + : state(std::make_shared()) { - /// NOTE: If this will throw an exception, the destructor won't be called. + /// NOTE: + /// - If this will throw an exception, the destructor won't be called + /// - this pointer cannot be passed in the lambda, since after detach() it will not be valid GlobalThreadPool::instance().scheduleOrThrow([ - thread_id = thread_id, state = state, func = std::forward(func), args = std::make_tuple(std::forward(args)...)]() mutable /// mutable is needed to destroy capture { - auto event = std::move(state); - SCOPE_EXIT(event->set()); + SCOPE_EXIT(state->event.set()); - thread_id = std::make_shared(std::this_thread::get_id()); + state->thread_id = std::this_thread::get_id(); /// This moves are needed to destroy function and arguments before exit. /// It will guarantee that after ThreadFromGlobalPool::join all captured params are destroyed. @@ -196,31 +195,30 @@ public: ThreadFromGlobalPool & operator=(ThreadFromGlobalPool && rhs) noexcept { - if (joinable()) + if (initialized()) abort(); state = std::move(rhs.state); - thread_id = std::move(rhs.thread_id); return *this; } ~ThreadFromGlobalPool() { - if (joinable()) + if (initialized()) abort(); } void join() { - if (!joinable()) + if (!initialized()) abort(); - state->wait(); + state->event.wait(); state.reset(); } void detach() { - if (!joinable()) + if (!initialized()) abort(); state.reset(); } @@ -230,15 +228,30 @@ public: if (!state) return false; /// Thread cannot join itself. - if (*thread_id == std::this_thread::get_id()) + if (state->thread_id == std::this_thread::get_id()) return false; return true; } private: - /// The state used in this object and inside the thread job. - std::shared_ptr state; - std::shared_ptr thread_id; + struct State + { + /// Should be atomic() because of possible concurrent access between + /// assignment and joinable() check. + std::atomic thread_id; + + /// The state used in this object and inside the thread job. + Poco::Event event; + }; + std::shared_ptr state; + + /// Internally initialized() should be used over joinable(), + /// since it is enough to know that the thread is initialized, + /// and ignore that fact that thread cannot join itself. + bool initialized() const + { + return static_cast(state); + } }; diff --git a/src/Common/ThreadProfileEvents.cpp b/src/Common/ThreadProfileEvents.cpp index 0fcd7a41046..09517b148f9 100644 --- a/src/Common/ThreadProfileEvents.cpp +++ b/src/Common/ThreadProfileEvents.cpp @@ -1,6 +1,6 @@ #include "ThreadProfileEvents.h" -#if defined(__linux__) +#if defined(OS_LINUX) #include "TaskStatsInfoGetter.h" #include "ProcfsMetricsProvider.h" @@ -177,7 +177,7 @@ void TasksStatsCounters::incrementProfileEvents(const ::taskstats & prev, const #endif -#if defined(__linux__) +#if defined(OS_LINUX) namespace DB { diff --git a/src/Common/ThreadProfileEvents.h b/src/Common/ThreadProfileEvents.h index 225e343490f..5895ef3208a 100644 --- a/src/Common/ThreadProfileEvents.h +++ b/src/Common/ThreadProfileEvents.h @@ -8,7 +8,7 @@ #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #else struct taskstats {}; @@ -66,7 +66,7 @@ struct RUsageCounters static RUsageCounters current() { ::rusage rusage {}; -#if !defined(__APPLE__) +#if !defined(OS_DARWIN) #if defined(OS_SUNOS) ::getrusage(RUSAGE_LWP, &rusage); #else @@ -102,7 +102,7 @@ private: } }; -#if defined(__linux__) +#if defined(OS_LINUX) struct PerfEventInfo { @@ -171,7 +171,7 @@ extern PerfEventsCounters current_thread_counters; #endif -#if defined(__linux__) +#if defined(OS_LINUX) class TasksStatsCounters { diff --git a/src/Common/ThreadStatus.cpp b/src/Common/ThreadStatus.cpp index b5c2e7be11f..423a44c97d6 100644 --- a/src/Common/ThreadStatus.cpp +++ b/src/Common/ThreadStatus.cpp @@ -24,9 +24,7 @@ namespace ErrorCodes extern const int LOGICAL_ERROR; } - -thread_local ThreadStatus * current_thread = nullptr; -thread_local ThreadStatus * main_thread = nullptr; +thread_local ThreadStatus constinit * current_thread = nullptr; #if !defined(SANITIZER) namespace @@ -148,28 +146,19 @@ ThreadStatus::ThreadStatus() ThreadStatus::~ThreadStatus() { - try - { - if (untracked_memory > 0) - memory_tracker.alloc(untracked_memory); - else - memory_tracker.free(-untracked_memory); - } - catch (const DB::Exception &) - { - /// It's a minor tracked memory leak here (not the memory itself but it's counter). - /// We've already allocated a little bit more than the limit and cannot track it in the thread memory tracker or its parent. - tryLogCurrentException(log); - } + memory_tracker.adjustWithUntrackedMemory(untracked_memory); if (thread_group) { - std::lock_guard guard(thread_group->mutex); - thread_group->finished_threads_counters_memory.emplace_back(ThreadGroupStatus::ProfileEventsCountersAndMemory{ + ThreadGroupStatus::ProfileEventsCountersAndMemory counters + { performance_counters.getPartiallyAtomicSnapshot(), memory_tracker.get(), - thread_id, - }); + thread_id + }; + + std::lock_guard guard(thread_group->mutex); + thread_group->finished_threads_counters_memory.emplace_back(std::move(counters)); thread_group->threads.erase(this); } diff --git a/src/Common/ThreadStatus.h b/src/Common/ThreadStatus.h index 3d7ec08cdaf..0b01f43a226 100644 --- a/src/Common/ThreadStatus.h +++ b/src/Common/ThreadStatus.h @@ -89,6 +89,10 @@ public: LogsLevel client_logs_level = LogsLevel::none; String query; + /// Query without new lines (see toOneLineQuery()) + /// Used to print in case of fatal error + /// (to avoid calling extra code in the fatal error handler) + String one_line_query; UInt64 normalized_query_hash = 0; std::vector finished_threads_counters_memory; @@ -98,8 +102,16 @@ public: using ThreadGroupStatusPtr = std::shared_ptr; - -extern thread_local ThreadStatus * current_thread; +/** + * We use **constinit** here to tell the compiler the current_thread variable is initialized. + * If we didn't help the compiler, then it would most likely add a check before every use of the variable to initialize it if needed. + * Instead it will trust that we are doing the right thing (and we do initialize it to nullptr) and emit more optimal code. + * This is noticeable in functions like CurrentMemoryTracker::free and CurrentMemoryTracker::allocImpl + * See also: + * - https://en.cppreference.com/w/cpp/language/constinit + * - https://github.com/ClickHouse/ClickHouse/pull/40078 + */ +extern thread_local constinit ThreadStatus * current_thread; /** Encapsulates all per-thread info (ProfileEvents, MemoryTracker, query_id, query context, etc.). * The object must be created in thread function and destroyed in the same thread before the exit. @@ -206,7 +218,7 @@ public: return thread_state.load(std::memory_order_relaxed); } - StringRef getQueryId() const + std::string_view getQueryId() const { return query_id; } diff --git a/src/Common/Throttler.h b/src/Common/Throttler.h index 89a83bb23be..6d44ad6ca5f 100644 --- a/src/Common/Throttler.h +++ b/src/Common/Throttler.h @@ -1,5 +1,7 @@ #pragma once +#include + #include #include #include @@ -57,7 +59,4 @@ private: std::shared_ptr parent; }; - -using ThrottlerPtr = std::shared_ptr; - } diff --git a/src/Common/Throttler_fwd.h b/src/Common/Throttler_fwd.h new file mode 100644 index 00000000000..1efaf1c85c5 --- /dev/null +++ b/src/Common/Throttler_fwd.h @@ -0,0 +1,11 @@ +#pragma once + +#include + +namespace DB +{ + +class Throttler; +using ThrottlerPtr = std::shared_ptr; + +} diff --git a/src/Common/TimerDescriptor.cpp b/src/Common/TimerDescriptor.cpp index a7c74dab8be..1301ebce0ba 100644 --- a/src/Common/TimerDescriptor.cpp +++ b/src/Common/TimerDescriptor.cpp @@ -6,6 +6,8 @@ #include #include +#include + namespace DB { @@ -70,6 +72,8 @@ void TimerDescriptor::drain() const if (errno != EINTR) throwFromErrno("Cannot drain timer_fd", ErrorCodes::CANNOT_READ_FROM_SOCKET); + else + LOG_TEST(&Poco::Logger::get("TimerDescriptor"), "EINTR"); } } } diff --git a/src/Common/TraceSender.cpp b/src/Common/TraceSender.cpp index 6f0904bd50f..ad88e508d06 100644 --- a/src/Common/TraceSender.cpp +++ b/src/Common/TraceSender.cpp @@ -42,13 +42,14 @@ void TraceSender::send(TraceType trace_type, const StackTrace & stack_trace, Int char buffer[buf_size]; WriteBufferFromFileDescriptorDiscardOnFailure out(pipe.fds_rw[1], buf_size, buffer); - StringRef query_id; + std::string_view query_id; UInt64 thread_id; if (CurrentThread::isInitialized()) { query_id = CurrentThread::getQueryId(); - query_id.size = std::min(query_id.size, QUERY_ID_MAX_LEN); + if (query_id.size() > QUERY_ID_MAX_LEN) + query_id.remove_suffix(query_id.size() - QUERY_ID_MAX_LEN); thread_id = CurrentThread::get().thread_id; } @@ -59,8 +60,8 @@ void TraceSender::send(TraceType trace_type, const StackTrace & stack_trace, Int writeChar(false, out); /// true if requested to stop the collecting thread. - writeBinary(static_cast(query_id.size), out); - out.write(query_id.data, query_id.size); + writeBinary(static_cast(query_id.size()), out); + out.write(query_id.data(), query_id.size()); size_t stack_trace_size = stack_trace.getSize(); size_t stack_trace_offset = stack_trace.getOffset(); diff --git a/src/Common/UTF8Helpers.cpp b/src/Common/UTF8Helpers.cpp index b1d38c4f31a..0af31726f40 100644 --- a/src/Common/UTF8Helpers.cpp +++ b/src/Common/UTF8Helpers.cpp @@ -2,6 +2,7 @@ #include #include +#include namespace DB @@ -124,7 +125,7 @@ size_t computeWidthImpl(const UInt8 * data, size_t size, size_t prefix, size_t l if (non_regular_width_mask) { - auto num_regular_chars = __builtin_ctz(non_regular_width_mask); + auto num_regular_chars = std::countr_zero(non_regular_width_mask); width += num_regular_chars; i += num_regular_chars; break; diff --git a/src/Common/UTF8Helpers.h b/src/Common/UTF8Helpers.h index a940ddc0234..ce90af3d5ce 100644 --- a/src/Common/UTF8Helpers.h +++ b/src/Common/UTF8Helpers.h @@ -9,6 +9,13 @@ #include #endif +#if defined(__aarch64__) && defined(__ARM_NEON) +# include +# ifdef HAS_RESERVED_IDENTIFIER +# pragma clang diagnostic ignored "-Wreserved-identifier" +# endif +#endif + namespace DB { @@ -66,6 +73,18 @@ inline size_t countCodePoints(const UInt8 * data, size_t size) for (; data < src_end_sse; data += bytes_sse) res += __builtin_popcount(_mm_movemask_epi8( _mm_cmpgt_epi8(_mm_loadu_si128(reinterpret_cast(data)), threshold))); +#elif defined(__aarch64__) && defined(__ARM_NEON) + /// Returns a 64 bit mask of nibbles (4 bits for each byte). + auto get_nibble_mask + = [](uint8x16_t input) -> uint64_t { return vget_lane_u64(vreinterpret_u64_u8(vshrn_n_u16(vreinterpretq_u16_u8(input), 4)), 0); }; + constexpr auto bytes_sse = 16; + const auto * src_end_sse = data + size / bytes_sse * bytes_sse; + + const auto threshold = vdupq_n_s8(0xBF); + + for (; data < src_end_sse; data += bytes_sse) + res += std::popcount(get_nibble_mask(vcgtq_s8(vld1q_s8(reinterpret_cast(data)), threshold))); + res >>= 2; #endif for (; data < end; ++data) /// Skip UTF-8 continuation bytes. diff --git a/src/Common/Volnitsky.h b/src/Common/Volnitsky.h index 7eca0c0fe53..d7ca7d35277 100644 --- a/src/Common/Volnitsky.h +++ b/src/Common/Volnitsky.h @@ -9,7 +9,6 @@ #include #include #include -#include #include /** Search for a substring in a string by Volnitsky's algorithm @@ -476,7 +475,7 @@ class MultiVolnitskyBase { private: /// needles and their offsets - const std::vector & needles; + const std::vector & needles; /// fallback searchers @@ -502,7 +501,7 @@ private: static constexpr size_t small_limit = VolnitskyTraits::hash_size / 8; public: - explicit MultiVolnitskyBase(const std::vector & needles_) : needles{needles_}, step{0}, last{0} + explicit MultiVolnitskyBase(const std::vector & needles_) : needles{needles_}, step{0}, last{0} { fallback_searchers.reserve(needles.size()); hash = std::unique_ptr(new OffsetId[VolnitskyTraits::hash_size]); /// No zero initialization, it will be done later. @@ -535,8 +534,8 @@ public: for (; last < size; ++last) { - const char * cur_needle_data = needles[last].data; - const size_t cur_needle_size = needles[last].size; + const char * cur_needle_data = needles[last].data(); + const size_t cur_needle_size = needles[last].size(); /// save the indices of fallback searchers if (VolnitskyTraits::isFallbackNeedle(cur_needle_size)) @@ -593,7 +592,7 @@ public: { const auto res = pos - (hash[cell_num].off - 1); const size_t ind = hash[cell_num].id; - if (res + needles[ind].size <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) + if (res + needles[ind].size() <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) return true; } } @@ -625,7 +624,7 @@ public: { const auto res = pos - (hash[cell_num].off - 1); const size_t ind = hash[cell_num].id; - if (res + needles[ind].size <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) + if (res + needles[ind].size() <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) answer = std::min(answer, ind); } } @@ -663,7 +662,7 @@ public: { const auto res = pos - (hash[cell_num].off - 1); const size_t ind = hash[cell_num].id; - if (res + needles[ind].size <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) + if (res + needles[ind].size() <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) answer = std::min(answer, res - haystack); } } @@ -699,7 +698,7 @@ public: const auto * res = pos - (hash[cell_num].off - 1); const size_t ind = hash[cell_num].id; if (answer[ind] == 0 - && res + needles[ind].size <= haystack_end + && res + needles[ind].size() <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) answer[ind] = count_chars(haystack, res); } diff --git a/src/Common/ZooKeeper/IKeeper.cpp b/src/Common/ZooKeeper/IKeeper.cpp index 70fe33b3f6e..23d29ed3019 100644 --- a/src/Common/ZooKeeper/IKeeper.cpp +++ b/src/Common/ZooKeeper/IKeeper.cpp @@ -144,6 +144,7 @@ void ListRequest::addRootPath(const String & root_path) { Coordination::addRootP void CheckRequest::addRootPath(const String & root_path) { Coordination::addRootPath(path, root_path); } void SetACLRequest::addRootPath(const String & root_path) { Coordination::addRootPath(path, root_path); } void GetACLRequest::addRootPath(const String & root_path) { Coordination::addRootPath(path, root_path); } +void SyncRequest::addRootPath(const String & root_path) { Coordination::addRootPath(path, root_path); } void MultiRequest::addRootPath(const String & root_path) { diff --git a/src/Common/ZooKeeper/IKeeper.h b/src/Common/ZooKeeper/IKeeper.h index 1e79468b7e3..c6aa954688b 100644 --- a/src/Common/ZooKeeper/IKeeper.h +++ b/src/Common/ZooKeeper/IKeeper.h @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -46,17 +47,19 @@ using ACLs = std::vector; struct Stat { - int64_t czxid; - int64_t mzxid; - int64_t ctime; - int64_t mtime; - int32_t version; - int32_t cversion; - int32_t aversion; - int64_t ephemeralOwner; /// NOLINT - int32_t dataLength; /// NOLINT - int32_t numChildren; /// NOLINT - int64_t pzxid; + int64_t czxid{0}; + int64_t mzxid{0}; + int64_t ctime{0}; + int64_t mtime{0}; + int32_t version{0}; + int32_t cversion{0}; + int32_t aversion{0}; + int64_t ephemeralOwner{0}; /// NOLINT + int32_t dataLength{0}; /// NOLINT + int32_t numChildren{0}; /// NOLINT + int64_t pzxid{0}; + + bool operator==(const Stat &) const = default; }; enum class Error : int32_t @@ -109,7 +112,6 @@ bool isUserError(Error code); const char * errorMessage(Error code); - struct Request; using RequestPtr = std::shared_ptr; using Requests = std::vector; @@ -281,6 +283,13 @@ struct SetResponse : virtual Response size_t bytesSize() const override { return sizeof(stat); } }; +enum class ListRequestType : uint8_t +{ + ALL, + PERSISTENT_ONLY, + EPHEMERAL_ONLY +}; + struct ListRequest : virtual Request { String path; @@ -320,6 +329,23 @@ struct CheckResponse : virtual Response { }; +struct SyncRequest : virtual Request +{ + String path; + + void addRootPath(const String & root_path) override; + String getPath() const override { return path; } + + size_t bytesSize() const override { return path.size(); } +}; + +struct SyncResponse : virtual Response +{ + String path; + + size_t bytesSize() const override { return path.size(); } +}; + struct MultiRequest : virtual Request { Requests requests; @@ -364,6 +390,7 @@ using GetCallback = std::function; using SetCallback = std::function; using ListCallback = std::function; using CheckCallback = std::function; +using SyncCallback = std::function; using MultiCallback = std::function; @@ -474,6 +501,7 @@ public: virtual void list( const String & path, + ListRequestType list_request_type, ListCallback callback, WatchCallback watch) = 0; @@ -482,10 +510,16 @@ public: int32_t version, CheckCallback callback) = 0; + virtual void sync( + const String & path, + SyncCallback callback) = 0; + virtual void multi( const Requests & requests, MultiCallback callback) = 0; + virtual DB::KeeperApiVersion getApiVersion() = 0; + /// Expire session and finish all pending requests virtual void finalize(const String & reason) = 0; }; diff --git a/src/Common/ZooKeeper/KeeperException.h b/src/Common/ZooKeeper/KeeperException.h index 6498aca809c..4442c41a19d 100644 --- a/src/Common/ZooKeeper/KeeperException.h +++ b/src/Common/ZooKeeper/KeeperException.h @@ -24,9 +24,7 @@ public: static void check(Coordination::Error code, const Coordination::Requests & requests, const Coordination::Responses & responses); KeeperMultiException(Coordination::Error code, const Coordination::Requests & requests, const Coordination::Responses & responses); - -private: - static size_t getFailedOpIndex(Coordination::Error code, const Coordination::Responses & responses); }; +size_t getFailedOpIndex(Coordination::Error code, const Coordination::Responses & responses); } diff --git a/src/Common/ZooKeeper/TestKeeper.cpp b/src/Common/ZooKeeper/TestKeeper.cpp index 62d5fc811df..3af5dfcc177 100644 --- a/src/Common/ZooKeeper/TestKeeper.cpp +++ b/src/Common/ZooKeeper/TestKeeper.cpp @@ -1,3 +1,4 @@ +#include "Common/ZooKeeper/IKeeper.h" #include #include #include @@ -119,12 +120,17 @@ struct TestKeeperSetRequest final : SetRequest, TestKeeperRequest } }; -struct TestKeeperListRequest final : ListRequest, TestKeeperRequest +struct TestKeeperListRequest : ListRequest, TestKeeperRequest { ResponsePtr createResponse() const override; std::pair process(TestKeeper::Container & container, int64_t zxid) const override; }; +struct TestKeeperFilteredListRequest final : TestKeeperListRequest +{ + ListRequestType list_request_type; +}; + struct TestKeeperCheckRequest final : CheckRequest, TestKeeperRequest { TestKeeperCheckRequest() = default; @@ -133,6 +139,14 @@ struct TestKeeperCheckRequest final : CheckRequest, TestKeeperRequest std::pair process(TestKeeper::Container & container, int64_t zxid) const override; }; +struct TestKeeperSyncRequest final : SyncRequest, TestKeeperRequest +{ + TestKeeperSyncRequest() = default; + explicit TestKeeperSyncRequest(const SyncRequest & base) : SyncRequest(base) {} + ResponsePtr createResponse() const override; + std::pair process(TestKeeper::Container & container, int64_t zxid) const override; +}; + struct TestKeeperMultiRequest final : MultiRequest, TestKeeperRequest { explicit TestKeeperMultiRequest(const Requests & generic_requests) @@ -382,8 +396,18 @@ std::pair TestKeeperListRequest::process(TestKeeper::Containe child_it != container.end() && startsWith(child_it->first, path_prefix); ++child_it) { + using enum ListRequestType; if (parentPath(child_it->first) == path) - response.names.emplace_back(baseName(child_it->first)); + { + ListRequestType list_request_type = ALL; + if (const auto * filtered_list = dynamic_cast(this)) + list_request_type = filtered_list->list_request_type; + + const auto is_ephemeral = child_it->second.stat.ephemeralOwner != 0; + if (list_request_type == ALL || (is_ephemeral && list_request_type == EPHEMERAL_ONLY) + || (!is_ephemeral && list_request_type == PERSISTENT_ONLY)) + response.names.emplace_back(baseName(child_it->first)); + } } response.stat = it->second.stat; @@ -413,6 +437,14 @@ std::pair TestKeeperCheckRequest::process(TestKeeper::Contain return { std::make_shared(response), {} }; } +std::pair TestKeeperSyncRequest::process(TestKeeper::Container & /*container*/, int64_t) const +{ + SyncResponse response; + response.path = path; + + return { std::make_shared(std::move(response)), {} }; +} + std::pair TestKeeperMultiRequest::process(TestKeeper::Container & container, int64_t zxid) const { MultiResponse response; @@ -471,6 +503,7 @@ ResponsePtr TestKeeperGetRequest::createResponse() const { return std::make_shar ResponsePtr TestKeeperSetRequest::createResponse() const { return std::make_shared(); } ResponsePtr TestKeeperListRequest::createResponse() const { return std::make_shared(); } ResponsePtr TestKeeperCheckRequest::createResponse() const { return std::make_shared(); } +ResponsePtr TestKeeperSyncRequest::createResponse() const { return std::make_shared(); } ResponsePtr TestKeeperMultiRequest::createResponse() const { return std::make_shared(); } @@ -751,11 +784,13 @@ void TestKeeper::set( void TestKeeper::list( const String & path, + ListRequestType list_request_type, ListCallback callback, WatchCallback watch) { - TestKeeperListRequest request; + TestKeeperFilteredListRequest request; request.path = path; + request.list_request_type = list_request_type; RequestInfo request_info; request_info.request = std::make_shared(std::move(request)); @@ -779,6 +814,19 @@ void TestKeeper::check( pushRequest(std::move(request_info)); } +void TestKeeper::sync( + const String & path, + SyncCallback callback) +{ + TestKeeperSyncRequest request; + request.path = path; + + RequestInfo request_info; + request_info.request = std::make_shared(std::move(request)); + request_info.callback = [callback](const Response & response) { callback(dynamic_cast(response)); }; + pushRequest(std::move(request_info)); +} + void TestKeeper::multi( const Requests & requests, MultiCallback callback) diff --git a/src/Common/ZooKeeper/TestKeeper.h b/src/Common/ZooKeeper/TestKeeper.h index e57471341e8..5fcd00b01b0 100644 --- a/src/Common/ZooKeeper/TestKeeper.h +++ b/src/Common/ZooKeeper/TestKeeper.h @@ -71,6 +71,7 @@ public: void list( const String & path, + ListRequestType list_request_type, ListCallback callback, WatchCallback watch) override; @@ -79,12 +80,21 @@ public: int32_t version, CheckCallback callback) override; + void sync( + const String & path, + SyncCallback callback) override; + void multi( const Requests & requests, MultiCallback callback) override; void finalize(const String & reason) override; + DB::KeeperApiVersion getApiVersion() override + { + return KeeperApiVersion::ZOOKEEPER_COMPATIBLE; + } + struct Node { String data; diff --git a/src/Common/ZooKeeper/ZooKeeper.cpp b/src/Common/ZooKeeper/ZooKeeper.cpp index bef9f883138..96abf3b543a 100644 --- a/src/Common/ZooKeeper/ZooKeeper.cpp +++ b/src/Common/ZooKeeper/ZooKeeper.cpp @@ -7,7 +7,9 @@ #include #include +#include #include +#include "Common/ZooKeeper/IKeeper.h" #include #include #include @@ -169,7 +171,7 @@ std::vector ZooKeeper::shuffleHosts() const shuffle_hosts.emplace_back(shuffle_host); } - std::sort( + ::sort( shuffle_hosts.begin(), shuffle_hosts.end(), [](const ShuffleHost & lhs, const ShuffleHost & rhs) { @@ -311,9 +313,10 @@ static Coordination::WatchCallback callbackForEvent(const EventPtr & watch) Coordination::Error ZooKeeper::getChildrenImpl(const std::string & path, Strings & res, Coordination::Stat * stat, - Coordination::WatchCallback watch_callback) + Coordination::WatchCallback watch_callback, + Coordination::ListRequestType list_request_type) { - auto future_result = asyncTryGetChildrenNoThrow(path, watch_callback); + auto future_result = asyncTryGetChildrenNoThrow(path, watch_callback, list_request_type); if (future_result.wait_for(std::chrono::milliseconds(operation_timeout_ms)) != std::future_status::ready) { @@ -334,26 +337,28 @@ Coordination::Error ZooKeeper::getChildrenImpl(const std::string & path, Strings } } -Strings ZooKeeper::getChildren( - const std::string & path, Coordination::Stat * stat, const EventPtr & watch) +Strings ZooKeeper::getChildren(const std::string & path, Coordination::Stat * stat, const EventPtr & watch, Coordination::ListRequestType list_request_type) { Strings res; - check(tryGetChildren(path, res, stat, watch), path); + check(tryGetChildren(path, res, stat, watch, list_request_type), path); return res; } -Strings ZooKeeper::getChildrenWatch( - const std::string & path, Coordination::Stat * stat, Coordination::WatchCallback watch_callback) +Strings ZooKeeper::getChildrenWatch(const std::string & path, Coordination::Stat * stat, Coordination::WatchCallback watch_callback, Coordination::ListRequestType list_request_type) { Strings res; - check(tryGetChildrenWatch(path, res, stat, watch_callback), path); + check(tryGetChildrenWatch(path, res, stat, watch_callback, list_request_type), path); return res; } -Coordination::Error ZooKeeper::tryGetChildren(const std::string & path, Strings & res, - Coordination::Stat * stat, const EventPtr & watch) +Coordination::Error ZooKeeper::tryGetChildren( + const std::string & path, + Strings & res, + Coordination::Stat * stat, + const EventPtr & watch, + Coordination::ListRequestType list_request_type) { - Coordination::Error code = getChildrenImpl(path, res, stat, callbackForEvent(watch)); + Coordination::Error code = getChildrenImpl(path, res, stat, callbackForEvent(watch), list_request_type); if (!(code == Coordination::Error::ZOK || code == Coordination::Error::ZNONODE)) throw KeeperException(code, path); @@ -361,10 +366,14 @@ Coordination::Error ZooKeeper::tryGetChildren(const std::string & path, Strings return code; } -Coordination::Error ZooKeeper::tryGetChildrenWatch(const std::string & path, Strings & res, - Coordination::Stat * stat, Coordination::WatchCallback watch_callback) +Coordination::Error ZooKeeper::tryGetChildrenWatch( + const std::string & path, + Strings & res, + Coordination::Stat * stat, + Coordination::WatchCallback watch_callback, + Coordination::ListRequestType list_request_type) { - Coordination::Error code = getChildrenImpl(path, res, stat, watch_callback); + Coordination::Error code = getChildrenImpl(path, res, stat, watch_callback, list_request_type); if (!(code == Coordination::Error::ZOK || code == Coordination::Error::ZNONODE)) throw KeeperException(code, path); @@ -531,7 +540,6 @@ Coordination::Error ZooKeeper::getImpl(const std::string & path, std::string & r } } - std::string ZooKeeper::get(const std::string & path, Coordination::Stat * stat, const EventPtr & watch) { Coordination::Error code = Coordination::Error::ZOK; @@ -667,6 +675,34 @@ Coordination::Error ZooKeeper::tryMulti(const Coordination::Requests & requests, return code; } +Coordination::Error ZooKeeper::syncImpl(const std::string & path, std::string & returned_path) +{ + auto future_result = asyncTrySyncNoThrow(path); + + if (future_result.wait_for(std::chrono::milliseconds(operation_timeout_ms)) != std::future_status::ready) + { + impl->finalize(fmt::format("Operation timeout on {} {}", toString(Coordination::OpNum::Sync), path)); + return Coordination::Error::ZOPERATIONTIMEOUT; + } + else + { + auto response = future_result.get(); + Coordination::Error code = response.error; + returned_path = std::move(response.path); + return code; + } +} +std::string ZooKeeper::sync(const std::string & path) +{ + std::string returned_path; + check(syncImpl(path, returned_path), path); + return returned_path; +} + +Coordination::Error ZooKeeper::trySync(const std::string & path, std::string & returned_path) +{ + return syncImpl(path, returned_path); +} void ZooKeeper::removeChildren(const std::string & path) { @@ -841,6 +877,21 @@ bool ZooKeeper::waitForDisappear(const std::string & path, const WaitCondition & return false; } +void ZooKeeper::waitForEphemeralToDisappearIfAny(const std::string & path) +{ + zkutil::EventPtr eph_node_disappeared = std::make_shared(); + String content; + if (!tryGet(path, content, nullptr, eph_node_disappeared)) + return; + + int32_t timeout_ms = 3 * session_timeout_ms; + if (!eph_node_disappeared->tryWait(timeout_ms)) + throw DB::Exception(DB::ErrorCodes::LOGICAL_ERROR, + "Ephemeral node {} still exists after {}s, probably it's owned by someone else. " + "Either session_timeout_ms in client's config is different from server's config or it's a bug. " + "Node data: '{}'", path, timeout_ms / 1000, content); +} + ZooKeeperPtr ZooKeeper::startNewSession() const { return std::make_shared(hosts, identity, session_timeout_ms, operation_timeout_ms, chroot, implementation, zk_log, get_priority_load_balancing); @@ -852,6 +903,11 @@ bool ZooKeeper::expired() return impl->isExpired(); } +DB::KeeperApiVersion ZooKeeper::getApiVersion() +{ + return impl->getApiVersion(); +} + Int64 ZooKeeper::getClientID() { return impl->getSessionID(); @@ -1002,7 +1058,8 @@ std::future ZooKeeper::asyncTrySetNoThrow(const std:: return future; } -std::future ZooKeeper::asyncGetChildren(const std::string & path, Coordination::WatchCallback watch_callback) +std::future ZooKeeper::asyncGetChildren( + const std::string & path, Coordination::WatchCallback watch_callback, Coordination::ListRequestType list_request_type) { auto promise = std::make_shared>(); auto future = promise->get_future(); @@ -1015,11 +1072,12 @@ std::future ZooKeeper::asyncGetChildren(const std::s promise->set_value(response); }; - impl->list(path, std::move(callback), watch_callback); + impl->list(path, list_request_type, std::move(callback), watch_callback); return future; } -std::future ZooKeeper::asyncTryGetChildrenNoThrow(const std::string & path, Coordination::WatchCallback watch_callback) +std::future ZooKeeper::asyncTryGetChildrenNoThrow( + const std::string & path, Coordination::WatchCallback watch_callback, Coordination::ListRequestType list_request_type) { auto promise = std::make_shared>(); auto future = promise->get_future(); @@ -1029,7 +1087,7 @@ std::future ZooKeeper::asyncTryGetChildrenNoThrow(co promise->set_value(response); }; - impl->list(path, std::move(callback), watch_callback); + impl->list(path, list_request_type, std::move(callback), watch_callback); return future; } @@ -1129,6 +1187,37 @@ Coordination::Error ZooKeeper::tryMultiNoThrow(const Coordination::Requests & re } } +std::future ZooKeeper::asyncTrySyncNoThrow(const std::string & path) +{ + auto promise = std::make_shared>(); + auto future = promise->get_future(); + + auto callback = [promise](const Coordination::SyncResponse & response) mutable + { + promise->set_value(response); + }; + + impl->sync(path, std::move(callback)); + return future; +} + +std::future ZooKeeper::asyncSync(const std::string & path) +{ + auto promise = std::make_shared>(); + auto future = promise->get_future(); + + auto callback = [promise](const Coordination::SyncResponse & response) mutable + { + if (response.error != Coordination::Error::ZOK) + promise->set_exception(std::make_exception_ptr(KeeperException(response.error))); + else + promise->set_value(response); + }; + + impl->sync(path, std::move(callback)); + return future; +} + void ZooKeeper::finalize(const String & reason) { impl->finalize(reason); @@ -1142,7 +1231,7 @@ void ZooKeeper::setZooKeeperLog(std::shared_ptr zk_log_) } -size_t KeeperMultiException::getFailedOpIndex(Coordination::Error exception_code, const Coordination::Responses & responses) +size_t getFailedOpIndex(Coordination::Error exception_code, const Coordination::Responses & responses) { if (responses.empty()) throw DB::Exception("Responses for multi transaction is empty", DB::ErrorCodes::LOGICAL_ERROR); diff --git a/src/Common/ZooKeeper/ZooKeeper.h b/src/Common/ZooKeeper/ZooKeeper.h index 16ae06ae11a..c9b5dc69499 100644 --- a/src/Common/ZooKeeper/ZooKeeper.h +++ b/src/Common/ZooKeeper/ZooKeeper.h @@ -127,6 +127,8 @@ public: /// Returns true, if the session has expired. bool expired(); + DB::KeeperApiVersion getApiVersion(); + /// Create a znode. /// Throw an exception if something went wrong. std::string create(const std::string & path, const std::string & data, int32_t mode); @@ -184,21 +186,25 @@ public: Strings getChildren(const std::string & path, Coordination::Stat * stat = nullptr, - const EventPtr & watch = nullptr); + const EventPtr & watch = nullptr, + Coordination::ListRequestType list_request_type = Coordination::ListRequestType::ALL); Strings getChildrenWatch(const std::string & path, Coordination::Stat * stat, - Coordination::WatchCallback watch_callback); + Coordination::WatchCallback watch_callback, + Coordination::ListRequestType list_request_type = Coordination::ListRequestType::ALL); /// Doesn't not throw in the following cases: /// * The node doesn't exist. Coordination::Error tryGetChildren(const std::string & path, Strings & res, Coordination::Stat * stat = nullptr, - const EventPtr & watch = nullptr); + const EventPtr & watch = nullptr, + Coordination::ListRequestType list_request_type = Coordination::ListRequestType::ALL); Coordination::Error tryGetChildrenWatch(const std::string & path, Strings & res, Coordination::Stat * stat, - Coordination::WatchCallback watch_callback); + Coordination::WatchCallback watch_callback, + Coordination::ListRequestType list_request_type = Coordination::ListRequestType::ALL); /// Performs several operations in a transaction. /// Throws on every error. @@ -209,6 +215,10 @@ public: /// Throws nothing (even session expired errors) Coordination::Error tryMultiNoThrow(const Coordination::Requests & requests, Coordination::Responses & responses); + std::string sync(const std::string & path); + + Coordination::Error trySync(const std::string & path, std::string & returned_path); + Int64 getClientID(); /// Remove the node with the subtree. If someone concurrently adds or removes a node @@ -240,6 +250,10 @@ public: /// The function returns true if waited and false if waiting was interrupted by condition. bool waitForDisappear(const std::string & path, const WaitCondition & condition = {}); + /// Wait for the ephemeral node created in previous session to disappear. + /// Throws LOGICAL_ERROR if node still exists after 2x session_timeout. + void waitForEphemeralToDisappearIfAny(const std::string & path); + /// Async interface (a small subset of operations is implemented). /// /// Usage: @@ -271,9 +285,15 @@ public: FutureExists asyncTryExistsNoThrow(const std::string & path, Coordination::WatchCallback watch_callback = {}); using FutureGetChildren = std::future; - FutureGetChildren asyncGetChildren(const std::string & path, Coordination::WatchCallback watch_callback = {}); + FutureGetChildren asyncGetChildren( + const std::string & path, + Coordination::WatchCallback watch_callback = {}, + Coordination::ListRequestType list_request_type = Coordination::ListRequestType::ALL); /// Like the previous one but don't throw any exceptions on future.get() - FutureGetChildren asyncTryGetChildrenNoThrow(const std::string & path, Coordination::WatchCallback watch_callback = {}); + FutureGetChildren asyncTryGetChildrenNoThrow( + const std::string & path, + Coordination::WatchCallback watch_callback = {}, + Coordination::ListRequestType list_request_type = Coordination::ListRequestType::ALL); using FutureSet = std::future; FutureSet asyncSet(const std::string & path, const std::string & data, int32_t version = -1); @@ -290,6 +310,11 @@ public: /// Like the previous one but don't throw any exceptions on future.get() FutureMulti asyncTryMultiNoThrow(const Coordination::Requests & ops); + using FutureSync = std::future; + FutureSync asyncSync(const std::string & path); + /// Like the previous one but don't throw any exceptions on future.get() + FutureSync asyncTrySyncNoThrow(const std::string & path); + /// Very specific methods introduced without following general style. Implements /// some custom throw/no throw logic on future.get(). /// @@ -322,9 +347,14 @@ private: const std::string & path, std::string & res, Coordination::Stat * stat, Coordination::WatchCallback watch_callback); Coordination::Error setImpl(const std::string & path, const std::string & data, int32_t version, Coordination::Stat * stat); Coordination::Error getChildrenImpl( - const std::string & path, Strings & res, Coordination::Stat * stat, Coordination::WatchCallback watch_callback); + const std::string & path, + Strings & res, + Coordination::Stat * stat, + Coordination::WatchCallback watch_callback, + Coordination::ListRequestType list_request_type); Coordination::Error multiImpl(const Coordination::Requests & requests, Coordination::Responses & responses); Coordination::Error existsImpl(const std::string & path, Coordination::Stat * stat_, Coordination::WatchCallback watch_callback); + Coordination::Error syncImpl(const std::string & path, std::string & returned_path); std::unique_ptr impl; diff --git a/src/Common/ZooKeeper/ZooKeeperCommon.cpp b/src/Common/ZooKeeper/ZooKeeperCommon.cpp index e958774c4a0..b15126f5701 100644 --- a/src/Common/ZooKeeper/ZooKeeperCommon.cpp +++ b/src/Common/ZooKeeper/ZooKeeperCommon.cpp @@ -1,3 +1,4 @@ +#include "Common/ZooKeeper/IKeeper.h" #include #include #include @@ -5,6 +6,7 @@ #include #include #include +#include #include #include @@ -27,6 +29,17 @@ void ZooKeeperResponse::write(WriteBuffer & out) const out.next(); } +std::string ZooKeeperRequest::toString() const +{ + return fmt::format( + "XID = {}\n" + "OpNum = {}\n" + "Additional info:\n{}", + xid, + getOpNum(), + toStringImpl()); +} + void ZooKeeperRequest::write(WriteBuffer & out) const { /// Excessive copy to calculate length. @@ -48,6 +61,11 @@ void ZooKeeperSyncRequest::readImpl(ReadBuffer & in) Coordination::read(path, in); } +std::string ZooKeeperSyncRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + void ZooKeeperSyncResponse::readImpl(ReadBuffer & in) { Coordination::read(path, in); @@ -93,6 +111,15 @@ void ZooKeeperAuthRequest::readImpl(ReadBuffer & in) Coordination::read(data, in); } +std::string ZooKeeperAuthRequest::toStringImpl() const +{ + return fmt::format( + "type = {}\n" + "scheme = {}", + type, + scheme); +} + void ZooKeeperCreateRequest::writeImpl(WriteBuffer & out) const { Coordination::write(path, out); @@ -124,6 +151,17 @@ void ZooKeeperCreateRequest::readImpl(ReadBuffer & in) is_sequential = true; } +std::string ZooKeeperCreateRequest::toStringImpl() const +{ + return fmt::format( + "path = {}\n" + "is_ephemeral = {}\n" + "is_sequential = {}", + path, + is_ephemeral, + is_sequential); +} + void ZooKeeperCreateResponse::readImpl(ReadBuffer & in) { Coordination::read(path_created, in); @@ -140,6 +178,15 @@ void ZooKeeperRemoveRequest::writeImpl(WriteBuffer & out) const Coordination::write(version, out); } +std::string ZooKeeperRemoveRequest::toStringImpl() const +{ + return fmt::format( + "path = {}\n" + "version = {}", + path, + version); +} + void ZooKeeperRemoveRequest::readImpl(ReadBuffer & in) { Coordination::read(path, in); @@ -158,6 +205,11 @@ void ZooKeeperExistsRequest::readImpl(ReadBuffer & in) Coordination::read(has_watch, in); } +std::string ZooKeeperExistsRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + void ZooKeeperExistsResponse::readImpl(ReadBuffer & in) { Coordination::read(stat, in); @@ -180,6 +232,11 @@ void ZooKeeperGetRequest::readImpl(ReadBuffer & in) Coordination::read(has_watch, in); } +std::string ZooKeeperGetRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + void ZooKeeperGetResponse::readImpl(ReadBuffer & in) { Coordination::read(data, in); @@ -206,6 +263,15 @@ void ZooKeeperSetRequest::readImpl(ReadBuffer & in) Coordination::read(version, in); } +std::string ZooKeeperSetRequest::toStringImpl() const +{ + return fmt::format( + "path = {}\n" + "version = {}", + path, + version); +} + void ZooKeeperSetResponse::readImpl(ReadBuffer & in) { Coordination::read(stat, in); @@ -228,6 +294,37 @@ void ZooKeeperListRequest::readImpl(ReadBuffer & in) Coordination::read(has_watch, in); } +std::string ZooKeeperListRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + +void ZooKeeperFilteredListRequest::writeImpl(WriteBuffer & out) const +{ + Coordination::write(path, out); + Coordination::write(has_watch, out); + Coordination::write(static_cast(list_request_type), out); +} + +void ZooKeeperFilteredListRequest::readImpl(ReadBuffer & in) +{ + Coordination::read(path, in); + Coordination::read(has_watch, in); + + uint8_t read_request_type{0}; + Coordination::read(read_request_type, in); + list_request_type = static_cast(read_request_type); +} + +std::string ZooKeeperFilteredListRequest::toStringImpl() const +{ + return fmt::format( + "path = {}\n" + "list_request_type = {}", + path, + list_request_type); +} + void ZooKeeperListResponse::readImpl(ReadBuffer & in) { Coordination::read(names, in); @@ -255,6 +352,11 @@ void ZooKeeperSetACLRequest::readImpl(ReadBuffer & in) Coordination::read(version, in); } +std::string ZooKeeperSetACLRequest::toStringImpl() const +{ + return fmt::format("path = {}\n", "version = {}", path, version); +} + void ZooKeeperSetACLResponse::writeImpl(WriteBuffer & out) const { Coordination::write(stat, out); @@ -275,6 +377,11 @@ void ZooKeeperGetACLRequest::writeImpl(WriteBuffer & out) const Coordination::write(path, out); } +std::string ZooKeeperGetACLRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + void ZooKeeperGetACLResponse::writeImpl(WriteBuffer & out) const { Coordination::write(acl, out); @@ -299,6 +406,11 @@ void ZooKeeperCheckRequest::readImpl(ReadBuffer & in) Coordination::read(version, in); } +std::string ZooKeeperCheckRequest::toStringImpl() const +{ + return fmt::format("path = {}\n", "version = {}", path, version); +} + void ZooKeeperErrorResponse::readImpl(ReadBuffer & in) { Coordination::Error read_error; @@ -401,6 +513,17 @@ void ZooKeeperMultiRequest::readImpl(ReadBuffer & in) } } +std::string ZooKeeperMultiRequest::toStringImpl() const +{ + auto out = fmt::memory_buffer(); + for (const auto & request : requests) + { + const auto & zk_request = dynamic_cast(*request); + format_to(std::back_inserter(out), "SubRequest\n{}\n", zk_request.toString()); + } + return {out.data(), out.size()}; +} + bool ZooKeeperMultiRequest::isReadRequest() const { /// Possibly we can do better @@ -601,7 +724,10 @@ void ZooKeeperResponse::fillLogElements(LogElements & elems, size_t idx) const assert(!elem.xid || elem.xid == xid); elem.xid = xid; int32_t response_op = tryGetOpNum(); - assert(!elem.op_num || elem.op_num == response_op || response_op < 0); + + [[maybe_unused]] const bool is_filtered_list = elem.op_num == static_cast(Coordination::OpNum::FilteredList) + && response_op == static_cast(Coordination::OpNum::List); + assert(!elem.op_num || elem.op_num == response_op || is_filtered_list || response_op < 0); elem.op_num = response_op; elem.zxid = zxid; @@ -769,6 +895,7 @@ ZooKeeperRequestFactory::ZooKeeperRequestFactory() registerZooKeeperRequest(*this); registerZooKeeperRequest(*this); registerZooKeeperRequest(*this); + registerZooKeeperRequest(*this); } } diff --git a/src/Common/ZooKeeper/ZooKeeperCommon.h b/src/Common/ZooKeeper/ZooKeeperCommon.h index 532488c08f8..53fabf651fa 100644 --- a/src/Common/ZooKeeper/ZooKeeperCommon.h +++ b/src/Common/ZooKeeper/ZooKeeperCommon.h @@ -68,10 +68,13 @@ struct ZooKeeperRequest : virtual Request /// Writes length, xid, op_num, then the rest. void write(WriteBuffer & out) const; + std::string toString() const; virtual void writeImpl(WriteBuffer &) const = 0; virtual void readImpl(ReadBuffer &) = 0; + virtual std::string toStringImpl() const { return ""; } + static std::shared_ptr read(ReadBuffer & in); virtual ZooKeeperResponsePtr makeResponse() const = 0; @@ -100,20 +103,18 @@ struct ZooKeeperSyncRequest final : ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Sync; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } size_t bytesSize() const override { return ZooKeeperRequest::bytesSize() + path.size(); } }; -struct ZooKeeperSyncResponse final : ZooKeeperResponse +struct ZooKeeperSyncResponse final : SyncResponse, ZooKeeperResponse { - String path; void readImpl(ReadBuffer & in) override; void writeImpl(WriteBuffer & out) const override; OpNum getOpNum() const override { return OpNum::Sync; } - - size_t bytesSize() const override { return path.size(); } }; struct ZooKeeperHeartbeatResponse final : ZooKeeperResponse @@ -133,6 +134,7 @@ struct ZooKeeperWatchResponse final : WatchResponse, ZooKeeperResponse OpNum getOpNum() const override { + chassert(false); throw Exception("OpNum for watch response doesn't exist", Error::ZRUNTIMEINCONSISTENCY); } @@ -150,6 +152,7 @@ struct ZooKeeperAuthRequest final : ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Auth; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -202,6 +205,7 @@ struct ZooKeeperCreateRequest final : public CreateRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Create; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -232,6 +236,7 @@ struct ZooKeeperRemoveRequest final : RemoveRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Remove; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -255,6 +260,7 @@ struct ZooKeeperExistsRequest final : ExistsRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Exists; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -278,6 +284,7 @@ struct ZooKeeperGetRequest final : GetRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Get; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -304,6 +311,7 @@ struct ZooKeeperSetRequest final : SetRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Set; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -328,6 +336,7 @@ struct ZooKeeperListRequest : ListRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::List; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -339,6 +348,18 @@ struct ZooKeeperSimpleListRequest final : ZooKeeperListRequest OpNum getOpNum() const override { return OpNum::SimpleList; } }; +struct ZooKeeperFilteredListRequest final : ZooKeeperListRequest +{ + ListRequestType list_request_type{ListRequestType::ALL}; + + OpNum getOpNum() const override { return OpNum::FilteredList; } + void writeImpl(WriteBuffer & out) const override; + void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; + + size_t bytesSize() const override { return ZooKeeperListRequest::bytesSize() + sizeof(list_request_type); } +}; + struct ZooKeeperListResponse : ListResponse, ZooKeeperResponse { void readImpl(ReadBuffer & in) override; @@ -363,6 +384,7 @@ struct ZooKeeperCheckRequest final : CheckRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Check; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -397,6 +419,7 @@ struct ZooKeeperSetACLRequest final : SetACLRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::SetACL; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -417,6 +440,7 @@ struct ZooKeeperGetACLRequest final : GetACLRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::GetACL; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -441,6 +465,7 @@ struct ZooKeeperMultiRequest final : MultiRequest, ZooKeeperRequest void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override; diff --git a/src/Common/ZooKeeper/ZooKeeperConstants.cpp b/src/Common/ZooKeeper/ZooKeeperConstants.cpp index b0a05fe6c8d..ba7a9b9f0c5 100644 --- a/src/Common/ZooKeeper/ZooKeeperConstants.cpp +++ b/src/Common/ZooKeeper/ZooKeeperConstants.cpp @@ -24,6 +24,7 @@ static const std::unordered_set VALID_OPERATIONS = static_cast(OpNum::SessionID), static_cast(OpNum::SetACL), static_cast(OpNum::GetACL), + static_cast(OpNum::FilteredList), }; std::string toString(OpNum op_num) @@ -64,6 +65,8 @@ std::string toString(OpNum op_num) return "SetACL"; case OpNum::GetACL: return "GetACL"; + case OpNum::FilteredList: + return "FilteredList"; } int32_t raw_op = static_cast(op_num); throw Exception("Operation " + std::to_string(raw_op) + " is unknown", Error::ZUNIMPLEMENTED); diff --git a/src/Common/ZooKeeper/ZooKeeperConstants.h b/src/Common/ZooKeeper/ZooKeeperConstants.h index 1ed2c442f6c..44f8437f12c 100644 --- a/src/Common/ZooKeeper/ZooKeeperConstants.h +++ b/src/Common/ZooKeeper/ZooKeeperConstants.h @@ -32,6 +32,10 @@ enum class OpNum : int32_t Check = 13, Multi = 14, Auth = 100, + + // CH Keeper specific operations + FilteredList = 500, + SessionID = 997, /// Special internal request }; diff --git a/src/Common/ZooKeeper/ZooKeeperIO.cpp b/src/Common/ZooKeeper/ZooKeeperIO.cpp index 12ef9f17b3d..c84a8624d78 100644 --- a/src/Common/ZooKeeper/ZooKeeperIO.cpp +++ b/src/Common/ZooKeeper/ZooKeeperIO.cpp @@ -9,7 +9,7 @@ void write(size_t x, WriteBuffer & out) writeBinary(x, out); } -#ifdef __APPLE__ +#ifdef OS_DARWIN void write(uint64_t x, WriteBuffer & out) { x = __builtin_bswap64(x); @@ -28,6 +28,11 @@ void write(int32_t x, WriteBuffer & out) writeBinary(x, out); } +void write(uint8_t x, WriteBuffer & out) +{ + writeBinary(x, out); +} + void write(OpNum x, WriteBuffer & out) { write(static_cast(x), out); @@ -71,7 +76,7 @@ void write(const Error & x, WriteBuffer & out) write(static_cast(x), out); } -#ifdef __APPLE__ +#ifdef OS_DARWIN void read(uint64_t & x, ReadBuffer & in) { readBinary(x, in); @@ -91,6 +96,11 @@ void read(int64_t & x, ReadBuffer & in) x = __builtin_bswap64(x); } +void read(uint8_t & x, ReadBuffer & in) +{ + readBinary(x, in); +} + void read(int32_t & x, ReadBuffer & in) { readBinary(x, in); diff --git a/src/Common/ZooKeeper/ZooKeeperIO.h b/src/Common/ZooKeeper/ZooKeeperIO.h index 1fcb96315a5..ec77b46f3d9 100644 --- a/src/Common/ZooKeeper/ZooKeeperIO.h +++ b/src/Common/ZooKeeper/ZooKeeperIO.h @@ -16,12 +16,13 @@ using namespace DB; void write(size_t x, WriteBuffer & out); /// uint64_t != size_t on darwin -#ifdef __APPLE__ +#ifdef OS_DARWIN void write(uint64_t x, WriteBuffer & out); #endif void write(int64_t x, WriteBuffer & out); void write(int32_t x, WriteBuffer & out); +void write(uint8_t x, WriteBuffer & out); void write(OpNum x, WriteBuffer & out); void write(bool x, WriteBuffer & out); void write(const std::string & s, WriteBuffer & out); @@ -45,11 +46,12 @@ void write(const std::vector & arr, WriteBuffer & out) } void read(size_t & x, ReadBuffer & in); -#ifdef __APPLE__ +#ifdef OS_DARWIN void read(uint64_t & x, ReadBuffer & in); #endif void read(int64_t & x, ReadBuffer & in); void read(int32_t & x, ReadBuffer & in); +void read(uint8_t & x, ReadBuffer & in); void read(OpNum & x, ReadBuffer & in); void read(bool & x, ReadBuffer & in); void read(int8_t & x, ReadBuffer & in); diff --git a/src/Common/ZooKeeper/ZooKeeperImpl.cpp b/src/Common/ZooKeeper/ZooKeeperImpl.cpp index 791e6a3b5f5..1d0f1fdb1a2 100644 --- a/src/Common/ZooKeeper/ZooKeeperImpl.cpp +++ b/src/Common/ZooKeeper/ZooKeeperImpl.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -5,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -31,6 +33,7 @@ namespace ProfileEvents extern const Event ZooKeeperSet; extern const Event ZooKeeperList; extern const Event ZooKeeperCheck; + extern const Event ZooKeeperSync; extern const Event ZooKeeperClose; extern const Event ZooKeeperWaitMicroseconds; extern const Event ZooKeeperBytesSent; @@ -350,6 +353,8 @@ ZooKeeper::ZooKeeper( send_thread = ThreadFromGlobalPool([this] { sendThread(); }); receive_thread = ThreadFromGlobalPool([this] { receiveThread(); }); + initApiVersion(); + ProfileEvents::increment(ProfileEvents::ZooKeeperInit); } @@ -696,6 +701,7 @@ void ZooKeeper::receiveEvent() RequestInfo request_info; ZooKeeperResponsePtr response; + UInt64 elapsed_ms = 0; if (xid == PING_XID) { @@ -756,8 +762,8 @@ void ZooKeeper::receiveEvent() CurrentMetrics::sub(CurrentMetrics::ZooKeeperRequest); } - auto elapsed_microseconds = std::chrono::duration_cast(clock::now() - request_info.time).count(); - ProfileEvents::increment(ProfileEvents::ZooKeeperWaitMicroseconds, elapsed_microseconds); + elapsed_ms = std::chrono::duration_cast(clock::now() - request_info.time).count(); + ProfileEvents::increment(ProfileEvents::ZooKeeperWaitMicroseconds, elapsed_ms); } try @@ -807,7 +813,7 @@ void ZooKeeper::receiveEvent() if (length != actual_length) throw Exception("Response length doesn't match. Expected: " + DB::toString(length) + ", actual: " + DB::toString(actual_length), Error::ZMARSHALLINGERROR); - logOperationIfNeeded(request_info.request, response); //-V614 + logOperationIfNeeded(request_info.request, response, /* finalize= */ false, elapsed_ms); //-V614 } catch (...) { @@ -826,7 +832,7 @@ void ZooKeeper::receiveEvent() if (request_info.callback) request_info.callback(*response); - logOperationIfNeeded(request_info.request, response); + logOperationIfNeeded(request_info.request, response, /* finalize= */ false, elapsed_ms); } catch (...) { @@ -914,13 +920,14 @@ void ZooKeeper::finalize(bool error_send, bool error_receive, const String & rea ? Error::ZCONNECTIONLOSS : Error::ZSESSIONEXPIRED; response->xid = request_info.request->xid; + UInt64 elapsed_ms = std::chrono::duration_cast(clock::now() - request_info.time).count(); if (request_info.callback) { try { request_info.callback(*response); - logOperationIfNeeded(request_info.request, response, true); + logOperationIfNeeded(request_info.request, response, true, elapsed_ms); } catch (...) { @@ -980,7 +987,8 @@ void ZooKeeper::finalize(bool error_send, bool error_receive, const String & rea try { info.callback(*response); - logOperationIfNeeded(info.request, response, true); + UInt64 elapsed_ms = std::chrono::duration_cast(clock::now() - info.time).count(); + logOperationIfNeeded(info.request, response, true, elapsed_ms); } catch (...) { @@ -1055,6 +1063,44 @@ void ZooKeeper::pushRequest(RequestInfo && info) ProfileEvents::increment(ProfileEvents::ZooKeeperTransactions); } +KeeperApiVersion ZooKeeper::getApiVersion() +{ + return keeper_api_version; +} + +void ZooKeeper::initApiVersion() +{ + auto promise = std::make_shared>(); + auto future = promise->get_future(); + + auto callback = [promise](const Coordination::GetResponse & response) mutable + { + promise->set_value(response); + }; + + get(keeper_api_version_path, std::move(callback), {}); + if (future.wait_for(std::chrono::milliseconds(operation_timeout.totalMilliseconds())) != std::future_status::ready) + { + LOG_TRACE(log, "Failed to get API version: timeout"); + return; + } + + auto response = future.get(); + + if (response.error != Coordination::Error::ZOK) + { + LOG_TRACE(log, "Failed to get API version"); + return; + } + + uint8_t keeper_version{0}; + DB::ReadBufferFromOwnString buf(response.data); + DB::readIntText(keeper_version, buf); + keeper_api_version = static_cast(keeper_version); + LOG_TRACE(log, "Detected server's API version: {}", keeper_api_version); +} + + void ZooKeeper::executeGenericRequest( const ZooKeeperRequestPtr & request, ResponseCallback callback) @@ -1166,16 +1212,31 @@ void ZooKeeper::set( void ZooKeeper::list( const String & path, + ListRequestType list_request_type, ListCallback callback, WatchCallback watch) { - ZooKeeperListRequest request; - request.path = path; + std::shared_ptr request{nullptr}; + if (keeper_api_version < Coordination::KeeperApiVersion::WITH_FILTERED_LIST) + { + if (list_request_type != ListRequestType::ALL) + throw Exception("Filtered list request type cannot be used because it's not supported by the server", Error::ZBADARGUMENTS); + + request = std::make_shared(); + } + else + { + auto filtered_list_request = std::make_shared(); + filtered_list_request->list_request_type = list_request_type; + request = std::move(filtered_list_request); + } + + request->path = path; RequestInfo request_info; - request_info.request = std::make_shared(std::move(request)); request_info.callback = [callback](const Response & response) { callback(dynamic_cast(response)); }; request_info.watch = watch; + request_info.request = std::move(request); pushRequest(std::move(request_info)); ProfileEvents::increment(ProfileEvents::ZooKeeperList); @@ -1199,6 +1260,21 @@ void ZooKeeper::check( ProfileEvents::increment(ProfileEvents::ZooKeeperCheck); } +void ZooKeeper::sync( + const String & path, + SyncCallback callback) +{ + ZooKeeperSyncRequest request; + request.path = path; + + RequestInfo request_info; + request_info.request = std::make_shared(std::move(request)); + request_info.callback = [callback](const Response & response) { callback(dynamic_cast(response)); }; + + pushRequest(std::move(request_info)); + ProfileEvents::increment(ProfileEvents::ZooKeeperSync); +} + void ZooKeeper::multi( const Requests & requests, @@ -1237,7 +1313,7 @@ void ZooKeeper::setZooKeeperLog(std::shared_ptr zk_log_) } #ifdef ZOOKEEPER_LOG -void ZooKeeper::logOperationIfNeeded(const ZooKeeperRequestPtr & request, const ZooKeeperResponsePtr & response, bool finalize) +void ZooKeeper::logOperationIfNeeded(const ZooKeeperRequestPtr & request, const ZooKeeperResponsePtr & response, bool finalize, UInt64 elapsed_ms) { auto maybe_zk_log = std::atomic_load(&zk_log); if (!maybe_zk_log) @@ -1275,6 +1351,7 @@ void ZooKeeper::logOperationIfNeeded(const ZooKeeperRequestPtr & request, const elem.event_time = event_time; elem.address = socket_address; elem.session_id = session_id; + elem.duration_ms = elapsed_ms; if (request) { elem.thread_id = request->thread_id; @@ -1284,7 +1361,7 @@ void ZooKeeper::logOperationIfNeeded(const ZooKeeperRequestPtr & request, const } } #else -void ZooKeeper::logOperationIfNeeded(const ZooKeeperRequestPtr &, const ZooKeeperResponsePtr &, bool) +void ZooKeeper::logOperationIfNeeded(const ZooKeeperRequestPtr &, const ZooKeeperResponsePtr &, bool, UInt64) {} #endif diff --git a/src/Common/ZooKeeper/ZooKeeperImpl.h b/src/Common/ZooKeeper/ZooKeeperImpl.h index 58c5947e8ea..e00250c1517 100644 --- a/src/Common/ZooKeeper/ZooKeeperImpl.h +++ b/src/Common/ZooKeeper/ZooKeeperImpl.h @@ -1,11 +1,13 @@ #pragma once +#include #include #include #include #include #include #include +#include #include #include @@ -163,6 +165,7 @@ public: void list( const String & path, + ListRequestType list_request_type, ListCallback callback, WatchCallback watch) override; @@ -171,10 +174,16 @@ public: int32_t version, CheckCallback callback) override; + void sync( + const String & path, + SyncCallback callback) override; + void multi( const Requests & requests, MultiCallback callback) override; + DB::KeeperApiVersion getApiVersion() override; + /// Without forcefully invalidating (finalizing) ZooKeeper session before /// establishing a new one, there was a possibility that server is using /// two ZooKeeper sessions simultaneously in different parts of code. @@ -228,13 +237,13 @@ private: using Operations = std::map; - Operations operations; + Operations operations TSA_GUARDED_BY(operations_mutex); std::mutex operations_mutex; using WatchCallbacks = std::vector; using Watches = std::map; - Watches watches; + Watches watches TSA_GUARDED_BY(watches_mutex); std::mutex watches_mutex; ThreadFromGlobalPool send_thread; @@ -267,10 +276,14 @@ private: template void read(T &); - void logOperationIfNeeded(const ZooKeeperRequestPtr & request, const ZooKeeperResponsePtr & response = nullptr, bool finalize = false); + void logOperationIfNeeded(const ZooKeeperRequestPtr & request, const ZooKeeperResponsePtr & response = nullptr, bool finalize = false, UInt64 elapsed_ms = 0); + + void initApiVersion(); CurrentMetrics::Increment active_session_metric_increment{CurrentMetrics::ZooKeeperSession}; std::shared_ptr zk_log; + + DB::KeeperApiVersion keeper_api_version{DB::KeeperApiVersion::ZOOKEEPER_COMPATIBLE}; }; } diff --git a/src/Common/ZooKeeper/examples/CMakeLists.txt b/src/Common/ZooKeeper/examples/CMakeLists.txt index b449b172605..7377cc956a9 100644 --- a/src/Common/ZooKeeper/examples/CMakeLists.txt +++ b/src/Common/ZooKeeper/examples/CMakeLists.txt @@ -1,11 +1,11 @@ -add_executable(zkutil_test_commands zkutil_test_commands.cpp) +clickhouse_add_executable(zkutil_test_commands zkutil_test_commands.cpp) target_link_libraries(zkutil_test_commands PRIVATE clickhouse_common_zookeeper_no_log) -add_executable(zkutil_test_commands_new_lib zkutil_test_commands_new_lib.cpp) +clickhouse_add_executable(zkutil_test_commands_new_lib zkutil_test_commands_new_lib.cpp) target_link_libraries(zkutil_test_commands_new_lib PRIVATE clickhouse_common_zookeeper_no_log string_utils) -add_executable(zkutil_test_async zkutil_test_async.cpp) +clickhouse_add_executable(zkutil_test_async zkutil_test_async.cpp) target_link_libraries(zkutil_test_async PRIVATE clickhouse_common_zookeeper_no_log) -add_executable (zookeeper_impl zookeeper_impl.cpp) +clickhouse_add_executable (zookeeper_impl zookeeper_impl.cpp) target_link_libraries (zookeeper_impl PRIVATE clickhouse_common_zookeeper_no_log) diff --git a/src/Common/ZooKeeper/examples/zkutil_test_commands_new_lib.cpp b/src/Common/ZooKeeper/examples/zkutil_test_commands_new_lib.cpp index cd0f9f024fd..09b94a34b78 100644 --- a/src/Common/ZooKeeper/examples/zkutil_test_commands_new_lib.cpp +++ b/src/Common/ZooKeeper/examples/zkutil_test_commands_new_lib.cpp @@ -99,6 +99,7 @@ try std::cout << "list\n"; zk.list("/", + Coordination::ListRequestType::ALL, [&](const ListResponse & response) { if (response.error != Coordination::Error::ZOK) diff --git a/src/Common/atomicRename.cpp b/src/Common/atomicRename.cpp index c63c0e05899..fc0785c56f9 100644 --- a/src/Common/atomicRename.cpp +++ b/src/Common/atomicRename.cpp @@ -21,7 +21,7 @@ namespace ErrorCodes } -#if defined(__linux__) +#if defined(OS_LINUX) #include #include @@ -101,7 +101,7 @@ bool supportsAtomicRename() } -#elif defined(__APPLE__) +#elif defined(OS_DARWIN) // Includes #include // For dlsym diff --git a/src/Common/base58.h b/src/Common/base58.h new file mode 100644 index 00000000000..3d4b55a1fba --- /dev/null +++ b/src/Common/base58.h @@ -0,0 +1,87 @@ +#pragma once +#include +#include + +namespace DB +{ + +inline size_t encodeBase58(const char8_t * src, char8_t * dst) +{ + const char * base58_encoding_alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; + + size_t idx = 0; + for (; *src; ++src) + { + unsigned int carry = static_cast(*src); + for (size_t j = 0; j < idx; ++j) + { + carry += static_cast(dst[j] << 8); + dst[j] = static_cast(carry % 58); + carry /= 58; + } + while (carry > 0) + { + dst[idx++] = static_cast(carry % 58); + carry /= 58; + } + } + + size_t c_idx = idx >> 1; + for (size_t i = 0; i < c_idx; ++i) + { + char s = base58_encoding_alphabet[static_cast(dst[i])]; + dst[i] = base58_encoding_alphabet[static_cast(dst[idx - (i + 1)])]; + dst[idx - (i + 1)] = s; + } + if ((idx & 1)) + { + dst[c_idx] = base58_encoding_alphabet[static_cast(dst[c_idx])]; + } + dst[idx] = '\0'; + return idx + 1; +} + +inline size_t decodeBase58(const char8_t * src, char8_t * dst) +{ + const signed char uint_max = UINT_MAX; + const signed char map_digits[128] + = {uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, + uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, + uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, + uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, 0, 1, 2, 3, 4, 5, 6, 7, 8, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, 9, 10, 11, 12, 13, 14, 15, 16, uint_max, 17, 18, 19, 20, 21, uint_max, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + uint_max, uint_max, uint_max, uint_max, uint_max, uint_max, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, uint_max, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, uint_max, uint_max, uint_max, uint_max, uint_max}; + + size_t idx = 0; + + for (; *src; ++src) + { + unsigned int carry = map_digits[*src]; + if (unlikely(carry == UINT_MAX)) + { + return 0; + } + for (size_t j = 0; j < idx; ++j) + { + carry += static_cast(dst[j]) * 58; + dst[j] = static_cast(carry & 0xff); + carry >>= 8; + } + while (carry > 0) + { + dst[idx++] = static_cast(carry & 0xff); + carry >>= 8; + } + } + + size_t c_idx = idx >> 1; + for (size_t i = 0; i < c_idx; ++i) + { + char s = dst[i]; + dst[i] = dst[idx - (i + 1)]; + dst[idx - (i + 1)] = s; + } + dst[idx] = '\0'; + return idx + 1; +} + +} diff --git a/src/Common/checkStackSize.cpp b/src/Common/checkStackSize.cpp index f1b56ac83a3..d6edb8596b7 100644 --- a/src/Common/checkStackSize.cpp +++ b/src/Common/checkStackSize.cpp @@ -5,7 +5,7 @@ #include #include -#if defined(__FreeBSD__) +#if defined(OS_FREEBSD) # include #endif @@ -48,7 +48,7 @@ size_t getStackSize(void ** out_address) address = reinterpret_cast(reinterpret_cast(pthread_get_stackaddr_np(thread)) - size); #else pthread_attr_t attr; -# if defined(__FreeBSD__) || defined(OS_SUNOS) +# if defined(OS_FREEBSD) || defined(OS_SUNOS) pthread_attr_init(&attr); if (0 != pthread_attr_get_np(pthread_self(), &attr)) throwFromErrno("Cannot pthread_attr_get_np", ErrorCodes::CANNOT_PTHREAD_ATTR); diff --git a/src/Common/config.h.in b/src/Common/config.h.in index d8d308c59bd..27db791b954 100644 --- a/src/Common/config.h.in +++ b/src/Common/config.h.in @@ -18,7 +18,6 @@ #cmakedefine01 USE_DATASKETCHES #cmakedefine01 USE_YAML_CPP -#cmakedefine01 CLICKHOUSE_SPLIT_BINARY #cmakedefine01 USE_BZIP2 #cmakedefine01 USE_MINIZIP #cmakedefine01 USE_SNAPPY diff --git a/src/Common/examples/CMakeLists.txt b/src/Common/examples/CMakeLists.txt index 9e551f3aa54..6db10653372 100644 --- a/src/Common/examples/CMakeLists.txt +++ b/src/Common/examples/CMakeLists.txt @@ -1,87 +1,87 @@ -add_executable (hashes_test hashes_test.cpp) +clickhouse_add_executable (hashes_test hashes_test.cpp) target_link_libraries (hashes_test PRIVATE clickhouse_common_io ch_contrib::cityhash) if (TARGET OpenSSL::Crypto) target_link_libraries (hashes_test PRIVATE OpenSSL::Crypto) endif() -add_executable (sip_hash_perf sip_hash_perf.cpp) +clickhouse_add_executable (sip_hash_perf sip_hash_perf.cpp) target_link_libraries (sip_hash_perf PRIVATE clickhouse_common_io) -add_executable (small_table small_table.cpp) +clickhouse_add_executable (small_table small_table.cpp) target_link_libraries (small_table PRIVATE clickhouse_common_io) -add_executable (parallel_aggregation parallel_aggregation.cpp) +clickhouse_add_executable (parallel_aggregation parallel_aggregation.cpp) target_link_libraries (parallel_aggregation PRIVATE dbms) -add_executable (parallel_aggregation2 parallel_aggregation2.cpp) +clickhouse_add_executable (parallel_aggregation2 parallel_aggregation2.cpp) target_link_libraries (parallel_aggregation2 PRIVATE dbms) -add_executable (int_hashes_perf int_hashes_perf.cpp) +clickhouse_add_executable (int_hashes_perf int_hashes_perf.cpp) target_link_libraries (int_hashes_perf PRIVATE clickhouse_common_io) -add_executable (compact_array compact_array.cpp) +clickhouse_add_executable (compact_array compact_array.cpp) target_link_libraries (compact_array PRIVATE clickhouse_common_io) -add_executable (radix_sort radix_sort.cpp) +clickhouse_add_executable (radix_sort radix_sort.cpp) target_link_libraries (radix_sort PRIVATE clickhouse_common_io ch_contrib::pdqsort) -add_executable (arena_with_free_lists arena_with_free_lists.cpp) +clickhouse_add_executable (arena_with_free_lists arena_with_free_lists.cpp) target_link_libraries (arena_with_free_lists PRIVATE dbms) -add_executable (lru_hash_map_perf lru_hash_map_perf.cpp) +clickhouse_add_executable (lru_hash_map_perf lru_hash_map_perf.cpp) target_link_libraries (lru_hash_map_perf PRIVATE dbms) -add_executable (thread_creation_latency thread_creation_latency.cpp) +clickhouse_add_executable (thread_creation_latency thread_creation_latency.cpp) target_link_libraries (thread_creation_latency PRIVATE clickhouse_common_io) -add_executable (array_cache array_cache.cpp) +clickhouse_add_executable (array_cache array_cache.cpp) target_link_libraries (array_cache PRIVATE clickhouse_common_io) -add_executable (space_saving space_saving.cpp) +clickhouse_add_executable (space_saving space_saving.cpp) target_link_libraries (space_saving PRIVATE clickhouse_common_io) -add_executable (integer_hash_tables_and_hashes integer_hash_tables_and_hashes.cpp) +clickhouse_add_executable (integer_hash_tables_and_hashes integer_hash_tables_and_hashes.cpp) target_link_libraries (integer_hash_tables_and_hashes PRIVATE dbms ch_contrib::abseil_swiss_tables ch_contrib::sparsehash) -add_executable (integer_hash_tables_benchmark integer_hash_tables_benchmark.cpp) +clickhouse_add_executable (integer_hash_tables_benchmark integer_hash_tables_benchmark.cpp) target_link_libraries (integer_hash_tables_benchmark PRIVATE dbms ch_contrib::abseil_swiss_tables ch_contrib::sparsehash) -add_executable (cow_columns cow_columns.cpp) +clickhouse_add_executable (cow_columns cow_columns.cpp) target_link_libraries (cow_columns PRIVATE clickhouse_common_io) -add_executable (cow_compositions cow_compositions.cpp) +clickhouse_add_executable (cow_compositions cow_compositions.cpp) target_link_libraries (cow_compositions PRIVATE clickhouse_common_io) -add_executable (stopwatch stopwatch.cpp) +clickhouse_add_executable (stopwatch stopwatch.cpp) target_link_libraries (stopwatch PRIVATE clickhouse_common_io) -add_executable (symbol_index symbol_index.cpp) +clickhouse_add_executable (symbol_index symbol_index.cpp) target_link_libraries (symbol_index PRIVATE clickhouse_common_io) -add_executable (chaos_sanitizer chaos_sanitizer.cpp) +clickhouse_add_executable (chaos_sanitizer chaos_sanitizer.cpp) target_link_libraries (chaos_sanitizer PRIVATE clickhouse_common_io) if (OS_LINUX) - add_executable (memory_statistics_os_perf memory_statistics_os_perf.cpp) + clickhouse_add_executable (memory_statistics_os_perf memory_statistics_os_perf.cpp) target_link_libraries (memory_statistics_os_perf PRIVATE clickhouse_common_io) endif() -add_executable (procfs_metrics_provider_perf procfs_metrics_provider_perf.cpp) +clickhouse_add_executable (procfs_metrics_provider_perf procfs_metrics_provider_perf.cpp) target_link_libraries (procfs_metrics_provider_perf PRIVATE clickhouse_common_io) -add_executable (average average.cpp) +clickhouse_add_executable (average average.cpp) target_link_libraries (average PRIVATE clickhouse_common_io) -add_executable (shell_command_inout shell_command_inout.cpp) +clickhouse_add_executable (shell_command_inout shell_command_inout.cpp) target_link_libraries (shell_command_inout PRIVATE clickhouse_common_io) -add_executable (executable_udf executable_udf.cpp) +clickhouse_add_executable (executable_udf executable_udf.cpp) target_link_libraries (executable_udf PRIVATE dbms) if (ENABLE_HIVE) - add_executable (hive_metastore_client hive_metastore_client.cpp) + clickhouse_add_executable (hive_metastore_client hive_metastore_client.cpp) target_link_libraries (hive_metastore_client PUBLIC ch_contrib::hivemetastore ch_contrib::thrift) endif() -add_executable (interval_tree interval_tree.cpp) +clickhouse_add_executable (interval_tree interval_tree.cpp) target_link_libraries (interval_tree PRIVATE dbms) diff --git a/src/Common/examples/average.cpp b/src/Common/examples/average.cpp index 5a42d8c5020..d2802717fc8 100644 --- a/src/Common/examples/average.cpp +++ b/src/Common/examples/average.cpp @@ -1,5 +1,6 @@ #include #include +#include #include @@ -561,7 +562,7 @@ int main(int argc, char ** argv) /// Fill source data for (size_t i = 0; i < size; ++i) { - keys[i] = __builtin_ctz(i + 1); /// Make keys to have just slightly more realistic distribution. + keys[i] = std::countr_zero(i + 1); /// Make keys to have just slightly more realistic distribution. values[i] = 1234.5; /// The distribution of values does not affect execution speed. } diff --git a/src/Common/examples/int_hashes_perf.cpp b/src/Common/examples/int_hashes_perf.cpp index 0fe0141ba1a..bea180f1acd 100644 --- a/src/Common/examples/int_hashes_perf.cpp +++ b/src/Common/examples/int_hashes_perf.cpp @@ -16,7 +16,7 @@ static void setAffinity() { -#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__sun) +#if !defined(OS_DARWIN) && !defined(OS_FREEBSD) && !defined(__sun) cpu_set_t mask; CPU_ZERO(&mask); CPU_SET(0, &mask); @@ -283,7 +283,7 @@ int main(int argc, char ** argv) if (!method || method == 1) test (n, data.data(), "0: identity"); if (!method || method == 2) test (n, data.data(), "1: intHash32"); -#if !defined(__APPLE__) /// The difference in size_t: unsigned long on Linux, unsigned long long on Mac OS. +#if !defined(OS_DARWIN) /// The difference in size_t: unsigned long on Linux, unsigned long long on Mac OS. if (!method || method == 3) test (n, data.data(), "2: intHash64"); #endif if (!method || method == 4) test (n, data.data(), "3: two rounds"); diff --git a/src/Common/examples/procfs_metrics_provider_perf.cpp b/src/Common/examples/procfs_metrics_provider_perf.cpp index 022da09b779..a145a911bf7 100644 --- a/src/Common/examples/procfs_metrics_provider_perf.cpp +++ b/src/Common/examples/procfs_metrics_provider_perf.cpp @@ -1,4 +1,4 @@ -#if defined(__linux__) +#if defined(OS_LINUX) #include #include @@ -6,7 +6,7 @@ #endif -#if defined(__linux__) +#if defined(OS_LINUX) int main(int argc, char ** argv) { using namespace DB; diff --git a/src/Common/examples/small_table.cpp b/src/Common/examples/small_table.cpp index be5e983e70a..ca38516d09a 100644 --- a/src/Common/examples/small_table.cpp +++ b/src/Common/examples/small_table.cpp @@ -1,5 +1,4 @@ #include -#include #include @@ -33,22 +32,6 @@ int main(int, char **) std::cerr << "dump: " << wb.str() << std::endl; } - { - using Cont = SmallMap; - Cont cont; - - cont.insert(Cont::value_type(1, "Hello, world!")); - cont[1] = "Goodbye."; - - for (auto x : cont) - std::cerr << x.getKey() << " -> " << x.getMapped() << std::endl; - - DB::WriteBufferFromOwnString wb; - cont.writeText(wb); - - std::cerr << "dump: " << wb.str() << std::endl; - } - { using Cont = SmallSet; Cont cont; diff --git a/src/Common/examples/symbol_index.cpp b/src/Common/examples/symbol_index.cpp index 5c0896be2a8..2fcb7498d88 100644 --- a/src/Common/examples/symbol_index.cpp +++ b/src/Common/examples/symbol_index.cpp @@ -16,7 +16,7 @@ static NO_INLINE const void * getAddress() int main(int argc, char ** argv) { -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) using namespace DB; if (argc < 2) diff --git a/src/Common/filesystemHelpers.cpp b/src/Common/filesystemHelpers.cpp index 6d9e0859692..610608cd312 100644 --- a/src/Common/filesystemHelpers.cpp +++ b/src/Common/filesystemHelpers.cpp @@ -1,12 +1,10 @@ #include "filesystemHelpers.h" -#if defined(__linux__) -# include +#if defined(OS_LINUX) # include # include #endif #include -#include #include #include #include @@ -17,6 +15,7 @@ #include #include #include +#include namespace fs = std::filesystem; @@ -29,6 +28,7 @@ namespace ErrorCodes extern const int SYSTEM_ERROR; extern const int NOT_IMPLEMENTED; extern const int CANNOT_STAT; + extern const int CANNOT_FSTAT; extern const int CANNOT_STATVFS; extern const int PATH_ACCESS_DENIED; extern const int CANNOT_CREATE_FILE; @@ -62,12 +62,12 @@ std::unique_ptr createTemporaryFile(const std::string & path) return std::make_unique(path); } -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif String getBlockDeviceId([[maybe_unused]] const String & path) { -#if defined(__linux__) +#if defined(OS_LINUX) struct stat sb; if (lstat(path.c_str(), &sb)) throwFromErrnoWithPath("Cannot lstat " + path, path, ErrorCodes::CANNOT_STAT); @@ -79,15 +79,18 @@ String getBlockDeviceId([[maybe_unused]] const String & path) #endif } -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif BlockDeviceType getBlockDeviceType([[maybe_unused]] const String & device_id) { -#if defined(__linux__) +#if defined(OS_LINUX) try { - ReadBufferFromFile in("/sys/dev/block/" + device_id + "/queue/rotational"); + const auto path{std::filesystem::path("/sys/dev/block/") / device_id / "queue/rotational"}; + if (!std::filesystem::exists(path)) + return BlockDeviceType::UNKNOWN; + ReadBufferFromFile in(path); int rotational; readText(rotational, in); return rotational ? BlockDeviceType::ROT : BlockDeviceType::NONROT; @@ -101,15 +104,16 @@ BlockDeviceType getBlockDeviceType([[maybe_unused]] const String & device_id) #endif } -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif UInt64 getBlockDeviceReadAheadBytes([[maybe_unused]] const String & device_id) { -#if defined(__linux__) +#if defined(OS_LINUX) try { - ReadBufferFromFile in("/sys/dev/block/" + device_id + "/queue/read_ahead_kb"); + const auto path{std::filesystem::path("/sys/dev/block/") / device_id / "queue/read_ahead_kb"}; + ReadBufferFromFile in(path); int read_ahead_kb; readText(read_ahead_kb, in); return read_ahead_kb * 1024; @@ -155,12 +159,12 @@ std::filesystem::path getMountPoint(std::filesystem::path absolute_path) } /// Returns name of filesystem mounted to mount_point -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif String getFilesystemName([[maybe_unused]] const String & mount_point) { -#if defined(__linux__) +#if defined(OS_LINUX) FILE * mounted_filesystems = setmntent("/etc/mtab", "r"); if (!mounted_filesystems) throw DB::Exception("Cannot open /etc/mtab to get name of filesystem", ErrorCodes::SYSTEM_ERROR); @@ -215,6 +219,49 @@ bool fileOrSymlinkPathStartsWith(const String & path, const String & prefix_path return fileOrSymlinkPathStartsWith(filesystem_path, filesystem_prefix_path); } +size_t getSizeFromFileDescriptor(int fd, const String & file_name) +{ + struct stat buf; + int res = fstat(fd, &buf); + if (-1 == res) + { + throwFromErrnoWithPath( + "Cannot execute fstat" + (file_name.empty() ? "" : " file: " + file_name), + file_name, + ErrorCodes::CANNOT_FSTAT); + } + return buf.st_size; +} + +int getINodeNumberFromPath(const String & path) +{ + struct stat file_stat; + if (stat(path.data(), &file_stat)) + { + throwFromErrnoWithPath( + "Cannot execute stat for file " + path, + path, + ErrorCodes::CANNOT_STAT); + } + return file_stat.st_ino; +} + +std::optional tryGetSizeFromFilePath(const String & path) +{ + std::error_code ec; + + size_t size = fs::file_size(path, ec); + if (!ec) + return size; + + if (ec == std::errc::no_such_file_or_directory) + return std::nullopt; + if (ec == std::errc::operation_not_supported) + return std::nullopt; + + throw fs::filesystem_error("Got unexpected error while getting file size", path, ec); +} + } @@ -280,7 +327,15 @@ time_t getModificationTime(const std::string & path) struct stat st; if (stat(path.c_str(), &st) == 0) return st.st_mtime; - DB::throwFromErrnoWithPath("Cannot check modification time for file: " + path, path, DB::ErrorCodes::PATH_ACCESS_DENIED); + DB::throwFromErrnoWithPath("Cannot check modification time for file: " + path, path, DB::ErrorCodes::CANNOT_STAT); +} + +time_t getChangeTime(const std::string & path) +{ + struct stat st; + if (stat(path.c_str(), &st) == 0) + return st.st_ctime; + DB::throwFromErrnoWithPath("Cannot check change time for file: " + path, path, DB::ErrorCodes::CANNOT_STAT); } Poco::Timestamp getModificationTimestamp(const std::string & path) @@ -296,4 +351,24 @@ void setModificationTime(const std::string & path, time_t time) if (utime(path.c_str(), &tb) != 0) DB::throwFromErrnoWithPath("Cannot set modification time for file: " + path, path, DB::ErrorCodes::PATH_ACCESS_DENIED); } + +bool isSymlink(const fs::path & path) +{ + /// Remove trailing slash before checking if file is symlink. + /// Let /path/to/link is a symlink to /path/to/target/dir/ directory. + /// In this case is_symlink("/path/to/link") is true, + /// but is_symlink("/path/to/link/") is false (it's a directory) + if (path.filename().empty()) + return fs::is_symlink(path.parent_path()); /// STYLE_CHECK_ALLOW_STD_FS_SYMLINK + return fs::is_symlink(path); /// STYLE_CHECK_ALLOW_STD_FS_SYMLINK +} + +fs::path readSymlink(const fs::path & path) +{ + /// See the comment for isSymlink + if (path.filename().empty()) + return fs::read_symlink(path.parent_path()); /// STYLE_CHECK_ALLOW_STD_FS_SYMLINK + return fs::read_symlink(path); /// STYLE_CHECK_ALLOW_STD_FS_SYMLINK +} + } diff --git a/src/Common/filesystemHelpers.h b/src/Common/filesystemHelpers.h index b15073796a0..f96fe269eab 100644 --- a/src/Common/filesystemHelpers.h +++ b/src/Common/filesystemHelpers.h @@ -9,6 +9,7 @@ #include #include +namespace fs = std::filesystem; namespace DB { @@ -19,7 +20,7 @@ bool enoughSpaceInDirectory(const std::string & path, size_t data_size); std::unique_ptr createTemporaryFile(const std::string & path); // Determine what block device is responsible for specified path -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif String getBlockDeviceId([[maybe_unused]] const String & path); @@ -32,13 +33,13 @@ enum class BlockDeviceType }; // Try to determine block device type -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif BlockDeviceType getBlockDeviceType([[maybe_unused]] const String & device_id); // Get size of read-ahead in bytes for specified block device -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif UInt64 getBlockDeviceReadAheadBytes([[maybe_unused]] const String & device_id); @@ -47,7 +48,7 @@ UInt64 getBlockDeviceReadAheadBytes([[maybe_unused]] const String & device_id); std::filesystem::path getMountPoint(std::filesystem::path absolute_path); /// Returns name of filesystem mounted to mount_point -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif String getFilesystemName([[maybe_unused]] const String & mount_point); @@ -64,6 +65,14 @@ bool pathStartsWith(const String & path, const String & prefix_path); /// (Path is made absolute and normalized.) bool fileOrSymlinkPathStartsWith(const String & path, const String & prefix_path); +size_t getSizeFromFileDescriptor(int fd, const String & file_name = ""); + +std::optional tryGetSizeFromFilePath(const String & path); + +/// Get inode number for a file path. +/// Will not work correctly if filesystem does not support inodes. +int getINodeNumberFromPath(const String & path); + } namespace FS @@ -75,7 +84,14 @@ bool canRead(const std::string & path); bool canWrite(const std::string & path); bool canExecute(const std::string & path); +/// st_mtime time_t getModificationTime(const std::string & path); Poco::Timestamp getModificationTimestamp(const std::string & path); void setModificationTime(const std::string & path, time_t time); +/// st_ctime +time_t getChangeTime(const std::string & path); + +bool isSymlink(const fs::path & path); +fs::path readSymlink(const fs::path & path); + } diff --git a/src/Common/formatIPv6.h b/src/Common/formatIPv6.h index d6efeed17e6..83b9d6e9fb1 100644 --- a/src/Common/formatIPv6.h +++ b/src/Common/formatIPv6.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/src/Common/getCurrentProcessFDCount.cpp b/src/Common/getCurrentProcessFDCount.cpp index 6471324b311..4c0f328c853 100644 --- a/src/Common/getCurrentProcessFDCount.cpp +++ b/src/Common/getCurrentProcessFDCount.cpp @@ -11,7 +11,7 @@ int getCurrentProcessFDCount() { namespace fs = std::filesystem; int result = -1; -#if defined(__linux__) || defined(__APPLE__) +#if defined(OS_LINUX) || defined(OS_DARWIN) using namespace DB; Int32 pid = getpid(); diff --git a/src/Common/getHashOfLoadedBinary.cpp b/src/Common/getHashOfLoadedBinary.cpp index dcf483b4fa8..da053750036 100644 --- a/src/Common/getHashOfLoadedBinary.cpp +++ b/src/Common/getHashOfLoadedBinary.cpp @@ -1,6 +1,6 @@ #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #include diff --git a/src/Common/getMappedArea.cpp b/src/Common/getMappedArea.cpp index 6e452f32b96..46bf3394a85 100644 --- a/src/Common/getMappedArea.cpp +++ b/src/Common/getMappedArea.cpp @@ -1,7 +1,7 @@ #include "getMappedArea.h" #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #include diff --git a/src/Common/getMaxFileDescriptorCount.cpp b/src/Common/getMaxFileDescriptorCount.cpp index b8a2e4a0917..10142ef8445 100644 --- a/src/Common/getMaxFileDescriptorCount.cpp +++ b/src/Common/getMaxFileDescriptorCount.cpp @@ -9,7 +9,7 @@ int getMaxFileDescriptorCount() { namespace fs = std::filesystem; int result = -1; -#if defined(__linux__) || defined(__APPLE__) +#if defined(OS_LINUX) || defined(OS_DARWIN) using namespace DB; if (fs::exists("/proc/sys/fs/file-max")) diff --git a/src/Common/hasLinuxCapability.cpp b/src/Common/hasLinuxCapability.cpp index c71a5f6c9d6..5d823b4ecaf 100644 --- a/src/Common/hasLinuxCapability.cpp +++ b/src/Common/hasLinuxCapability.cpp @@ -1,4 +1,4 @@ -#if defined(__linux__) +#if defined(OS_LINUX) #include "hasLinuxCapability.h" diff --git a/src/Common/hasLinuxCapability.h b/src/Common/hasLinuxCapability.h index 4a9d2214a72..9af555afa50 100644 --- a/src/Common/hasLinuxCapability.h +++ b/src/Common/hasLinuxCapability.h @@ -1,5 +1,5 @@ #pragma once -#if defined(__linux__) +#if defined(OS_LINUX) #include diff --git a/src/Common/logger_useful.h b/src/Common/logger_useful.h index ad7d6583f5e..1e84efd8085 100644 --- a/src/Common/logger_useful.h +++ b/src/Common/logger_useful.h @@ -14,8 +14,10 @@ namespace template constexpr auto firstArg(T && x, Ts &&...) { return std::forward(x); } /// For implicit conversion of fmt::basic_runtime<> to char* for std::string ctor template constexpr auto firstArg(fmt::basic_runtime && data, Ts &&...) { return data.str.data(); } -} + [[maybe_unused]] const ::Poco::Logger * getLogger(const ::Poco::Logger * logger) { return logger; }; + [[maybe_unused]] const ::Poco::Logger * getLogger(const std::atomic<::Poco::Logger *> & logger) { return logger.load(); }; +} /// Logs a message to a specified logger with that level. /// If more than one argument is provided, @@ -25,20 +27,21 @@ namespace #define LOG_IMPL(logger, priority, PRIORITY, ...) do \ { \ - const bool is_clients_log = (DB::CurrentThread::getGroup() != nullptr) && \ + auto _logger = ::getLogger(logger); \ + const bool _is_clients_log = (DB::CurrentThread::getGroup() != nullptr) && \ (DB::CurrentThread::getGroup()->client_logs_level >= (priority)); \ - if ((logger)->is((PRIORITY)) || is_clients_log) \ + if (_logger->is((PRIORITY)) || _is_clients_log) \ { \ std::string formatted_message = numArgs(__VA_ARGS__) > 1 ? fmt::format(__VA_ARGS__) : firstArg(__VA_ARGS__); \ - if (auto channel = (logger)->getChannel()) \ + if (auto _channel = _logger->getChannel()) \ { \ std::string file_function; \ file_function += __FILE__; \ file_function += "; "; \ file_function += __PRETTY_FUNCTION__; \ - Poco::Message poco_message((logger)->name(), formatted_message, \ + Poco::Message poco_message(_logger->name(), formatted_message, \ (PRIORITY), file_function.c_str(), __LINE__); \ - channel->log(poco_message); \ + _channel->log(poco_message); \ } \ } \ } while (false) diff --git a/src/Common/memcmpSmall.h b/src/Common/memcmpSmall.h index 57b9c731897..e95a21b836d 100644 --- a/src/Common/memcmpSmall.h +++ b/src/Common/memcmpSmall.h @@ -1,7 +1,8 @@ #pragma once -#include #include +#include +#include #include @@ -26,7 +27,7 @@ inline int cmp(T a, T b) /// Results don't depend on the values inside uninitialized memory but Memory Sanitizer cannot see it. /// Disable optimized functions if compile with Memory Sanitizer. #if defined(__AVX512BW__) && defined(__AVX512VL__) && !defined(MEMORY_SANITIZER) -#include +# include /** All functions works under the following assumptions: @@ -45,11 +46,12 @@ inline int memcmpSmallAllowOverflow15(const Char * a, size_t a_size, const Char { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); if (offset >= min_size) break; @@ -76,11 +78,12 @@ inline int memcmpSmallLikeZeroPaddedAllowOverflow15(const Char * a, size_t a_siz { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); if (offset >= min_size) break; @@ -117,13 +120,11 @@ inline int memcmpSmallLikeZeroPaddedAllowOverflow15(const Char * a, size_t a_siz for (size_t offset = min_size; offset < max_size; offset += 16) { - uint16_t mask = _mm_cmpneq_epi8_mask( - _mm_loadu_si128(reinterpret_cast(longest + offset)), - zero16); + uint16_t mask = _mm_cmpneq_epi8_mask(_mm_loadu_si128(reinterpret_cast(longest + offset)), zero16); if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); if (offset >= max_size) return 0; @@ -145,11 +146,12 @@ inline int memcmpSmallAllowOverflow15(const Char * a, const Char * b, size_t siz { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); if (offset >= size) return 0; @@ -174,11 +176,12 @@ inline bool memequalSmallAllowOverflow15(const Char * a, size_t a_size, const Ch { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); return offset >= a_size; } } @@ -196,11 +199,12 @@ inline int memcmpSmallMultipleOf16(const Char * a, const Char * b, size_t size) { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); return detail::cmp(a[offset], b[offset]); } } @@ -215,12 +219,11 @@ template inline int memcmp16(const Char * a, const Char * b) { uint16_t mask = _mm_cmp_epi8_mask( - _mm_loadu_si128(reinterpret_cast(a)), - _mm_loadu_si128(reinterpret_cast(b)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(a)), _mm_loadu_si128(reinterpret_cast(b)), _MM_CMPINT_NE); if (mask) { - auto offset = __builtin_ctz(mask); + auto offset = std::countr_zero(mask); return detail::cmp(a[offset], b[offset]); } @@ -232,9 +235,9 @@ inline int memcmp16(const Char * a, const Char * b) */ inline bool memequal16(const void * a, const void * b) { - return 0xFFFF == _mm_cmp_epi8_mask( - _mm_loadu_si128(reinterpret_cast(a)), - _mm_loadu_si128(reinterpret_cast(b)), _MM_CMPINT_EQ); + return 0xFFFF + == _mm_cmp_epi8_mask( + _mm_loadu_si128(reinterpret_cast(a)), _mm_loadu_si128(reinterpret_cast(b)), _MM_CMPINT_EQ); } @@ -245,12 +248,12 @@ inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) for (size_t offset = 0; offset < size; offset += 16) { - uint16_t mask = _mm_cmp_epi8_mask(zero16, - _mm_loadu_si128(reinterpret_cast(reinterpret_cast(data) + offset)), _MM_CMPINT_NE); + uint16_t mask = _mm_cmp_epi8_mask( + zero16, _mm_loadu_si128(reinterpret_cast(reinterpret_cast(data) + offset)), _MM_CMPINT_NE); if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); return offset >= size; } } @@ -259,7 +262,7 @@ inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) } #elif defined(__SSE2__) && !defined(MEMORY_SANITIZER) -#include +# include /** All functions works under the following assumptions: @@ -283,7 +286,7 @@ inline int memcmpSmallAllowOverflow15(const Char * a, size_t a_size, const Char if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); if (offset >= min_size) break; @@ -315,7 +318,7 @@ inline int memcmpSmallLikeZeroPaddedAllowOverflow15(const Char * a, size_t a_siz if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); if (offset >= min_size) break; @@ -352,14 +355,12 @@ inline int memcmpSmallLikeZeroPaddedAllowOverflow15(const Char * a, size_t a_siz for (size_t offset = min_size; offset < max_size; offset += 16) { - uint16_t mask = _mm_movemask_epi8(_mm_cmpeq_epi8( - _mm_loadu_si128(reinterpret_cast(longest + offset)), - zero16)); + uint16_t mask = _mm_movemask_epi8(_mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast(longest + offset)), zero16)); mask = ~mask; if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); if (offset >= max_size) return 0; @@ -386,7 +387,7 @@ inline int memcmpSmallAllowOverflow15(const Char * a, const Char * b, size_t siz if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); if (offset >= size) return 0; @@ -416,7 +417,7 @@ inline bool memequalSmallAllowOverflow15(const Char * a, size_t a_size, const Ch if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); return offset >= a_size; } } @@ -439,7 +440,7 @@ inline int memcmpSmallMultipleOf16(const Char * a, const Char * b, size_t size) if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); return detail::cmp(a[offset], b[offset]); } } @@ -453,14 +454,13 @@ inline int memcmpSmallMultipleOf16(const Char * a, const Char * b, size_t size) template inline int memcmp16(const Char * a, const Char * b) { - uint16_t mask = _mm_movemask_epi8(_mm_cmpeq_epi8( - _mm_loadu_si128(reinterpret_cast(a)), - _mm_loadu_si128(reinterpret_cast(b)))); + uint16_t mask = _mm_movemask_epi8( + _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast(a)), _mm_loadu_si128(reinterpret_cast(b)))); mask = ~mask; if (mask) { - auto offset = __builtin_ctz(mask); + auto offset = std::countr_zero(mask); return detail::cmp(a[offset], b[offset]); } @@ -472,9 +472,9 @@ inline int memcmp16(const Char * a, const Char * b) */ inline bool memequal16(const void * a, const void * b) { - return 0xFFFF == _mm_movemask_epi8(_mm_cmpeq_epi8( - _mm_loadu_si128(reinterpret_cast(a)), - _mm_loadu_si128(reinterpret_cast(b)))); + return 0xFFFF + == _mm_movemask_epi8(_mm_cmpeq_epi8( + _mm_loadu_si128(reinterpret_cast(a)), _mm_loadu_si128(reinterpret_cast(b)))); } @@ -485,13 +485,13 @@ inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) for (size_t offset = 0; offset < size; offset += 16) { - uint16_t mask = _mm_movemask_epi8(_mm_cmpeq_epi8(zero16, - _mm_loadu_si128(reinterpret_cast(reinterpret_cast(data) + offset)))); + uint16_t mask = _mm_movemask_epi8( + _mm_cmpeq_epi8(zero16, _mm_loadu_si128(reinterpret_cast(reinterpret_cast(data) + offset)))); mask = ~mask; if (mask) { - offset += __builtin_ctz(mask); + offset += std::countr_zero(mask); return offset >= size; } } @@ -499,6 +499,209 @@ inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) return true; } +#elif defined(__aarch64__) && defined(__ARM_NEON) + +# include +# ifdef HAS_RESERVED_IDENTIFIER +# pragma clang diagnostic ignored "-Wreserved-identifier" +# endif + +inline uint64_t getNibbleMask(uint8x16_t res) +{ + return vget_lane_u64(vreinterpret_u64_u8(vshrn_n_u16(vreinterpretq_u16_u8(res), 4)), 0); +} + +template +inline int memcmpSmallAllowOverflow15(const Char * a, size_t a_size, const Char * b, size_t b_size) +{ + size_t min_size = std::min(a_size, b_size); + + for (size_t offset = 0; offset < min_size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += std::countr_zero(mask) >> 2; + + if (offset >= min_size) + break; + + return detail::cmp(a[offset], b[offset]); + } + } + + return detail::cmp(a_size, b_size); +} + +template +inline int memcmpSmallLikeZeroPaddedAllowOverflow15(const Char * a, size_t a_size, const Char * b, size_t b_size) +{ + size_t min_size = std::min(a_size, b_size); + + for (size_t offset = 0; offset < min_size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += std::countr_zero(mask) >> 2; + + if (offset >= min_size) + break; + + return detail::cmp(a[offset], b[offset]); + } + } + + /// The strings are equal up to min_size. + /// If the rest of the larger string is zero bytes then the strings are + /// considered equal. + + size_t max_size; + const Char * longest; + int cmp; + + if (a_size == b_size) + { + return 0; + } + else if (a_size > b_size) + { + max_size = a_size; + longest = a; + cmp = 1; + } + else + { + max_size = b_size; + longest = b; + cmp = -1; + } + + for (size_t offset = min_size; offset < max_size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqzq_u8(vld1q_u8(reinterpret_cast(longest + offset)))); + mask = ~mask; + + if (mask) + { + offset += std::countr_zero(mask) >> 2; + + if (offset >= max_size) + return 0; + return cmp; + } + } + + return 0; +} + +template +inline int memcmpSmallAllowOverflow15(const Char * a, const Char * b, size_t size) +{ + for (size_t offset = 0; offset < size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += std::countr_zero(mask) >> 2; + + if (offset >= size) + return 0; + + return detail::cmp(a[offset], b[offset]); + } + } + + return 0; +} + +template +inline bool memequalSmallAllowOverflow15(const Char * a, size_t a_size, const Char * b, size_t b_size) +{ + if (a_size != b_size) + return false; + + for (size_t offset = 0; offset < a_size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += std::countr_zero(mask) >> 2; + return offset >= a_size; + } + } + + return true; +} + +template +inline int memcmpSmallMultipleOf16(const Char * a, const Char * b, size_t size) +{ + for (size_t offset = 0; offset < size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += std::countr_zero(mask) >> 2; + return detail::cmp(a[offset], b[offset]); + } + } + + return 0; +} + +template +inline int memcmp16(const Char * a, const Char * b) +{ + uint64_t mask = getNibbleMask( + vceqq_u8(vld1q_u8(reinterpret_cast(a)), vld1q_u8(reinterpret_cast(b)))); + mask = ~mask; + if (mask) + { + auto offset = std::countr_zero(mask) >> 2; + return detail::cmp(a[offset], b[offset]); + } + return 0; +} + +inline bool memequal16(const void * a, const void * b) +{ + return 0xFFFFFFFFFFFFFFFFull + == getNibbleMask( + vceqq_u8(vld1q_u8(reinterpret_cast(a)), vld1q_u8(reinterpret_cast(b)))); +} + +inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) +{ + for (size_t offset = 0; offset < size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqzq_u8(vld1q_u8(reinterpret_cast(data) + offset))); + mask = ~mask; + + if (mask) + { + offset += std::countr_zero(mask) >> 2; + return offset >= size; + } + } + + return true; +} #else diff --git a/src/Common/memcpySmall.h b/src/Common/memcpySmall.h index aaedfb81fe5..4f38095c7f1 100644 --- a/src/Common/memcpySmall.h +++ b/src/Common/memcpySmall.h @@ -1,10 +1,17 @@ #pragma once -#include +#include #ifdef __SSE2__ -#include +# include +#endif +#if defined(__aarch64__) && defined(__ARM_NEON) +# include +# ifdef HAS_RESERVED_IDENTIFIER +# pragma clang diagnostic ignored "-Wreserved-identifier" +# endif +#endif /** memcpy function could work suboptimal if all the following conditions are met: * 1. Size of memory region is relatively small (approximately, under 50 bytes). @@ -27,6 +34,7 @@ * Use with caution. */ +#ifdef __SSE2__ /// Implementation for x86 platform namespace detail { inline void memcpySmallAllowReadWriteOverflow15Impl(char * __restrict dst, const char * __restrict src, ssize_t n) @@ -51,11 +59,33 @@ inline void memcpySmallAllowReadWriteOverflow15(void * __restrict dst, const voi detail::memcpySmallAllowReadWriteOverflow15Impl(reinterpret_cast(dst), reinterpret_cast(src), n); } +#elif defined(__aarch64__) && defined(__ARM_NEON) /// Implementation for arm platform, similar to x86 + +namespace detail +{ +inline void memcpySmallAllowReadWriteOverflow15Impl(char * __restrict dst, const char * __restrict src, ssize_t n) +{ + while (n > 0) + { + vst1q_s8(reinterpret_cast(dst), vld1q_s8(reinterpret_cast(src))); + + dst += 16; + src += 16; + n -= 16; + } +} +} + +inline void memcpySmallAllowReadWriteOverflow15(void * __restrict dst, const void * __restrict src, size_t n) +{ + detail::memcpySmallAllowReadWriteOverflow15Impl(reinterpret_cast(dst), reinterpret_cast(src), n); +} + /** NOTE There was also a function, that assumes, that you could read any bytes inside same memory page of src. * This function was unused, and also it requires special handling for Valgrind and ASan. */ -#else /// Implementation for other platforms. +#else /// Implementation for other platforms. inline void memcpySmallAllowReadWriteOverflow15(void * __restrict dst, const void * __restrict src, size_t n) { diff --git a/src/Common/mysqlxx/mysqlxx/Exception.h b/src/Common/mysqlxx/mysqlxx/Exception.h index f022335a9dd..7886368e747 100644 --- a/src/Common/mysqlxx/mysqlxx/Exception.h +++ b/src/Common/mysqlxx/mysqlxx/Exception.h @@ -12,8 +12,8 @@ struct Exception : public Poco::Exception { explicit Exception(const std::string & msg, int code = 0) : Poco::Exception(msg, code) {} int errnum() const { return code(); } - const char * name() const throw() override { return "mysqlxx::Exception"; } - const char * className() const throw() override { return "mysqlxx::Exception"; } + const char * name() const noexcept override { return "mysqlxx::Exception"; } + const char * className() const noexcept override { return "mysqlxx::Exception"; } }; @@ -21,8 +21,8 @@ struct Exception : public Poco::Exception struct ConnectionFailed : public Exception { explicit ConnectionFailed(const std::string & msg, int code = 0) : Exception(msg, code) {} - const char * name() const throw() override { return "mysqlxx::ConnectionFailed"; } - const char * className() const throw() override { return "mysqlxx::ConnectionFailed"; } + const char * name() const noexcept override { return "mysqlxx::ConnectionFailed"; } + const char * className() const noexcept override { return "mysqlxx::ConnectionFailed"; } }; @@ -30,8 +30,8 @@ struct ConnectionFailed : public Exception struct ConnectionLost : public Exception { explicit ConnectionLost(const std::string & msg, int code = 0) : Exception(msg, code) {} - const char * name() const throw() override { return "mysqlxx::ConnectionLost"; } - const char * className() const throw() override { return "mysqlxx::ConnectionLost"; } + const char * name() const noexcept override { return "mysqlxx::ConnectionLost"; } + const char * className() const noexcept override { return "mysqlxx::ConnectionLost"; } }; @@ -39,8 +39,8 @@ struct ConnectionLost : public Exception struct BadQuery : public Exception { explicit BadQuery(const std::string & msg, int code = 0) : Exception(msg, code) {} - const char * name() const throw() override { return "mysqlxx::BadQuery"; } - const char * className() const throw() override { return "mysqlxx::BadQuery"; } + const char * name() const noexcept override { return "mysqlxx::BadQuery"; } + const char * className() const noexcept override { return "mysqlxx::BadQuery"; } }; @@ -48,8 +48,8 @@ struct BadQuery : public Exception struct CannotParseValue : public Exception { explicit CannotParseValue(const std::string & msg, int code = 0) : Exception(msg, code) {} - const char * name() const throw() override { return "mysqlxx::CannotParseValue"; } - const char * className() const throw() override { return "mysqlxx::CannotParseValue"; } + const char * name() const noexcept override { return "mysqlxx::CannotParseValue"; } + const char * className() const noexcept override { return "mysqlxx::CannotParseValue"; } }; diff --git a/src/Common/mysqlxx/tests/CMakeLists.txt b/src/Common/mysqlxx/tests/CMakeLists.txt index 6473a927308..c560d0e3153 100644 --- a/src/Common/mysqlxx/tests/CMakeLists.txt +++ b/src/Common/mysqlxx/tests/CMakeLists.txt @@ -1,2 +1,2 @@ -add_executable (mysqlxx_pool_test mysqlxx_pool_test.cpp) +clickhouse_add_executable (mysqlxx_pool_test mysqlxx_pool_test.cpp) target_link_libraries (mysqlxx_pool_test PRIVATE mysqlxx) diff --git a/src/Common/noexcept_scope.h b/src/Common/noexcept_scope.h new file mode 100644 index 00000000000..bdd7a98925a --- /dev/null +++ b/src/Common/noexcept_scope.h @@ -0,0 +1,28 @@ +#pragma once +#include +#include + +/// It can be used in critical places to exit on unexpected exceptions. +/// SIGABRT is usually better that broken in-memory state with unpredictable consequences. +/// It also temporarily disables exception from memory tracker in current thread. +/// Strict version does not take into account nested exception (i.e. it aborts even when we're in catch block). + +#define NOEXCEPT_SCOPE_IMPL(...) do { \ + LockMemoryExceptionInThread \ + noexcept_lock_memory_tracker(VariableContext::Global); \ + try \ + { \ + __VA_ARGS__; \ + } \ + catch (...) \ + { \ + DB::tryLogCurrentException(__PRETTY_FUNCTION__); \ + std::terminate(); \ + } \ +} while (0) /* to allow leading semi-colon */ + +#define NOEXCEPT_SCOPE_STRICT(...) \ + if (std::uncaught_exceptions()) std::terminate(); \ + NOEXCEPT_SCOPE_IMPL(__VA_ARGS__) + +#define NOEXCEPT_SCOPE(...) NOEXCEPT_SCOPE_IMPL(__VA_ARGS__) diff --git a/src/Common/parseGlobs.cpp b/src/Common/parseGlobs.cpp index 75539512b6d..8e9195f9842 100644 --- a/src/Common/parseGlobs.cpp +++ b/src/Common/parseGlobs.cpp @@ -32,7 +32,7 @@ std::string makeRegexpPatternFromGlobs(const std::string & initial_str_with_glob } std::string escaped_with_globs = buf_for_escaping.str(); - static const re2::RE2 enum_or_range(R"({([\d]+\.\.[\d]+|[^{}*,]+,[^{}*]*[^{}*,])})"); /// regexp for {expr1,expr2,expr3} or {M..N}, where M and N - non-negative integers, expr's should be without {}*, + static const re2::RE2 enum_or_range(R"({([\d]+\.\.[\d]+|[^{}*,]+,[^{}*]*[^{}*,])})"); /// regexp for {expr1,expr2,expr3} or {M..N}, where M and N - non-negative integers, expr's should be without "{", "}", "*" and "," re2::StringPiece input(escaped_with_globs); re2::StringPiece matched; std::ostringstream oss_for_replacing; // STYLE_CHECK_ALLOW_STD_STRING_STREAM @@ -50,16 +50,32 @@ std::string makeRegexpPatternFromGlobs(const std::string & initial_str_with_glob char point; ReadBufferFromString buf_range(buffer); buf_range >> range_begin >> point >> point >> range_end; + + size_t range_begin_width = buffer.find('.'); + size_t range_end_width = buffer.size() - buffer.find_last_of('.') - 1; bool leading_zeros = buffer[0] == '0'; - size_t num_len = std::to_string(range_end).size(); + size_t output_width = 0; + + if (range_begin > range_end) //Descending Sequence {20..15} {9..01} + { + std::swap(range_begin,range_end); + leading_zeros = buffer[buffer.find_last_of('.')+1]=='0'; + std::swap(range_begin_width,range_end_width); + } + if (range_begin_width == 1 && leading_zeros) + output_width = 1; ///Special Case: {0..10} {0..999} + else + output_width = std::max(range_begin_width, range_end_width); + if (leading_zeros) - oss_for_replacing << std::setfill('0') << std::setw(num_len); + oss_for_replacing << std::setfill('0') << std::setw(output_width); oss_for_replacing << range_begin; + for (size_t i = range_begin + 1; i <= range_end; ++i) { oss_for_replacing << '|'; if (leading_zeros) - oss_for_replacing << std::setfill('0') << std::setw(num_len); + oss_for_replacing << std::setfill('0') << std::setw(output_width); oss_for_replacing << i; } } diff --git a/src/Common/quoteString.cpp b/src/Common/quoteString.cpp index 15901643f47..b464f4837a1 100644 --- a/src/Common/quoteString.cpp +++ b/src/Common/quoteString.cpp @@ -14,7 +14,7 @@ String quoteString(std::string_view x) } -String doubleQuoteString(const StringRef & x) +String doubleQuoteString(StringRef x) { String res(x.size, '\0'); WriteBufferFromString wb(res); @@ -23,7 +23,7 @@ String doubleQuoteString(const StringRef & x) } -String backQuote(const StringRef & x) +String backQuote(StringRef x) { String res(x.size, '\0'); { @@ -34,7 +34,7 @@ String backQuote(const StringRef & x) } -String backQuoteIfNeed(const StringRef & x) +String backQuoteIfNeed(StringRef x) { String res(x.size, '\0'); { @@ -43,4 +43,5 @@ String backQuoteIfNeed(const StringRef & x) } return res; } + } diff --git a/src/Common/quoteString.h b/src/Common/quoteString.h index 0364efbdf14..b83988258e2 100644 --- a/src/Common/quoteString.h +++ b/src/Common/quoteString.h @@ -16,11 +16,12 @@ namespace DB } /// Double quote the string. -String doubleQuoteString(const StringRef & x); +String doubleQuoteString(StringRef x); /// Quote the identifier with backquotes. -String backQuote(const StringRef & x); +String backQuote(StringRef x); /// Quote the identifier with backquotes, if required. -String backQuoteIfNeed(const StringRef & x); +String backQuoteIfNeed(StringRef x); + } diff --git a/src/Common/randomSeed.cpp b/src/Common/randomSeed.cpp index 34af6afcdff..9f0ffd8a6c7 100644 --- a/src/Common/randomSeed.cpp +++ b/src/Common/randomSeed.cpp @@ -7,6 +7,9 @@ #include #include +#if defined(__linux__) +#include +#endif namespace DB { @@ -29,6 +32,15 @@ DB::UInt64 randomSeed() hash.update(times.tv_nsec); hash.update(times.tv_sec); hash.update(getThreadId()); - hash.update(×); + + /// It makes sense to add something like hostname to avoid seed collision when multiple servers start simultaneously. + /// But randomSeed() must be signal-safe and gethostname and similar functions are not. + /// Let's try to get utsname.nodename using uname syscall (it's signal-safe). +#if defined(__linux__) + struct utsname sysinfo; + if (uname(&sysinfo) == 0) + hash.update(sysinfo); +#endif + return hash.get64(); } diff --git a/src/Common/register_objects.cpp b/src/Common/register_objects.cpp new file mode 100644 index 00000000000..93b0feb5f8d --- /dev/null +++ b/src/Common/register_objects.cpp @@ -0,0 +1,12 @@ +#include + +namespace DB +{ + +FunctionRegisterMap & FunctionRegisterMap::instance() +{ + static FunctionRegisterMap map; + return map; +} + +} diff --git a/src/Common/register_objects.h b/src/Common/register_objects.h new file mode 100644 index 00000000000..0a08fdf43a4 --- /dev/null +++ b/src/Common/register_objects.h @@ -0,0 +1,33 @@ +#pragma once + +#include +#include + +namespace DB +{ + +class FunctionFactory; + +using FunctionRegisterFunctionPtr = void (*)(::DB::FunctionFactory &); + +struct FunctionRegisterMap : public std::unordered_map +{ + static FunctionRegisterMap & instance(); +}; + +struct FunctionRegister +{ + FunctionRegister(std::string_view name, FunctionRegisterFunctionPtr func_ptr) + { + FunctionRegisterMap::instance().emplace(std::move(name), func_ptr); + } +}; + +} + +#define REGISTER_FUNCTION_IMPL(fn, func_name, register_name) \ + void func_name(::DB::FunctionFactory & factory); \ + static ::DB::FunctionRegister register_name(#fn, func_name); \ + void func_name(::DB::FunctionFactory & factory) + +#define REGISTER_FUNCTION(fn) REGISTER_FUNCTION_IMPL(fn, registerFunction##fn, REGISTER_FUNCTION_##fn) diff --git a/src/Common/remapExecutable.cpp b/src/Common/remapExecutable.cpp index 0c1cb03457f..b987a4aac09 100644 --- a/src/Common/remapExecutable.cpp +++ b/src/Common/remapExecutable.cpp @@ -1,6 +1,6 @@ #include "remapExecutable.h" -#if defined(__linux__) && defined(__amd64__) && defined(__SSE2__) && !defined(SANITIZER) && defined(NDEBUG) && !defined(SPLIT_SHARED_LIBRARIES) +#if defined(OS_LINUX) && defined(__amd64__) && defined(__SSE2__) && !defined(SANITIZER) && defined(NDEBUG) && !defined(SPLIT_SHARED_LIBRARIES) #include #include diff --git a/src/Common/setThreadName.cpp b/src/Common/setThreadName.cpp index 727bf23b891..a8c1f001dcc 100644 --- a/src/Common/setThreadName.cpp +++ b/src/Common/setThreadName.cpp @@ -1,7 +1,7 @@ #include -#if defined(__APPLE__) || defined(OS_SUNOS) -#elif defined(__FreeBSD__) +#if defined(OS_DARWIN) || defined(OS_SUNOS) +#elif defined(OS_FREEBSD) #include #else #include @@ -55,10 +55,10 @@ const char * getThreadName() if (thread_name[0]) return thread_name; -#if defined(__APPLE__) || defined(OS_SUNOS) +#if defined(OS_DARWIN) || defined(OS_SUNOS) if (pthread_getname_np(pthread_self(), thread_name, THREAD_NAME_SIZE)) throw DB::Exception("Cannot get thread name with pthread_getname_np()", DB::ErrorCodes::PTHREAD_ERROR); -#elif defined(__FreeBSD__) +#elif defined(OS_FREEBSD) // TODO: make test. freebsd will have this function soon https://freshbsd.org/commit/freebsd/r337983 // if (pthread_get_name_np(pthread_self(), thread_name, THREAD_NAME_SIZE)) // throw DB::Exception("Cannot get thread name with pthread_get_name_np()", DB::ErrorCodes::PTHREAD_ERROR); diff --git a/src/Common/tests/gtest_DateLUTImpl.cpp b/src/Common/tests/gtest_DateLUTImpl.cpp index d522448d337..49013625ed3 100644 --- a/src/Common/tests/gtest_DateLUTImpl.cpp +++ b/src/Common/tests/gtest_DateLUTImpl.cpp @@ -79,12 +79,13 @@ FailuresCount countFailures(const ::testing::TestResult & test_result) TEST(DateLUTTest, makeDayNumTest) { const DateLUTImpl & lut = DateLUT::instance("UTC"); - EXPECT_EQ(0, lut.makeDayNum(1924, 12, 31)); - EXPECT_EQ(-1, lut.makeDayNum(1924, 12, 31, -1)); + EXPECT_EQ(0, lut.makeDayNum(1899, 12, 31)); + EXPECT_EQ(-1, lut.makeDayNum(1899, 12, 31, -1)); + EXPECT_EQ(-25567, lut.makeDayNum(1900, 1, 1)); EXPECT_EQ(-16436, lut.makeDayNum(1925, 1, 1)); EXPECT_EQ(0, lut.makeDayNum(1970, 1, 1)); - EXPECT_EQ(114635, lut.makeDayNum(2283, 11, 11)); - EXPECT_EQ(114635, lut.makeDayNum(2500, 12, 25)); + EXPECT_EQ(120529, lut.makeDayNum(2300, 12, 31)); + EXPECT_EQ(120529, lut.makeDayNum(2500, 12, 25)); } diff --git a/src/Common/tests/gtest_concurrency_control.cpp b/src/Common/tests/gtest_concurrency_control.cpp new file mode 100644 index 00000000000..2ffb16511f3 --- /dev/null +++ b/src/Common/tests/gtest_concurrency_control.cpp @@ -0,0 +1,289 @@ +#include + +#include +#include +#include + +#include +#include +#include +#include + +struct ConcurrencyControlTest +{ + ConcurrencyControl cc; + + explicit ConcurrencyControlTest(ConcurrencyControl::SlotCount limit = ConcurrencyControl::Unlimited) + { + cc.setMaxConcurrency(limit); + } +}; + +TEST(ConcurrencyControl, Unlimited) +{ + ConcurrencyControlTest t; // unlimited number of slots + auto slots = t.cc.allocate(0, 100500); + std::vector acquired; + while (auto slot = slots->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 100500); +} + +TEST(ConcurrencyControl, Fifo) +{ + ConcurrencyControlTest t(1); // use single slot + std::vector allocations; + constexpr int count = 42; + allocations.reserve(count); + for (int i = 0; i < count; i++) + allocations.emplace_back(t.cc.allocate(0, 1)); + for (int i = 0; i < count; i++) + { + ConcurrencyControl::SlotPtr holder; + for (int j = 0; j < count; j++) + { + auto slot = allocations[j]->tryAcquire(); + if (i == j) // check fifo order of allocations + { + ASSERT_TRUE(slot); + holder = std::move(slot); + } + else + ASSERT_TRUE(!slot); + } + holder.reset(); // release slot -- leads to the next allocation + } +} + +TEST(ConcurrencyControl, Oversubscription) +{ + ConcurrencyControlTest t(10); + std::vector allocations; + allocations.reserve(10); + for (int i = 0; i < 10; i++) + allocations.emplace_back(t.cc.allocate(1, 2)); + std::vector slots; + // Normal allocation using maximum amount of slots + for (int i = 0; i < 5; i++) + { + auto slot1 = allocations[i]->tryAcquire(); + ASSERT_TRUE(slot1); + slots.emplace_back(std::move(slot1)); + auto slot2 = allocations[i]->tryAcquire(); + ASSERT_TRUE(slot2); + slots.emplace_back(std::move(slot2)); + ASSERT_TRUE(!allocations[i]->tryAcquire()); + } + // Oversubscription: only minimum amount of slots are allocated + for (int i = 5; i < 10; i++) + { + auto slot1 = allocations[i]->tryAcquire(); + ASSERT_TRUE(slot1); + slots.emplace_back(std::move(slot1)); + ASSERT_TRUE(!allocations[i]->tryAcquire()); + } +} + +TEST(ConcurrencyControl, ReleaseUnacquiredSlots) +{ + ConcurrencyControlTest t(10); + { + std::vector allocations; + allocations.reserve(10); + for (int i = 0; i < 10; i++) + allocations.emplace_back(t.cc.allocate(1, 2)); + // Do not acquire - just destroy allocations with granted slots + } + // Check that slots were actually released + auto allocation = t.cc.allocate(0, 20); + std::vector acquired; + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 10); +} + +TEST(ConcurrencyControl, DestroyNotFullyAllocatedAllocation) +{ + ConcurrencyControlTest t(10); + for (int i = 0; i < 3; i++) + { + auto allocation = t.cc.allocate(5, 20); + std::vector acquired; + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 10); + } +} + +TEST(ConcurrencyControl, DestroyAllocationBeforeSlots) +{ + ConcurrencyControlTest t(10); + for (int i = 0; i < 3; i++) + { + std::vector acquired; + auto allocation = t.cc.allocate(5, 20); + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 10); + allocation.reset(); // slots are still acquired (they should actually hold allocation) + } +} + +TEST(ConcurrencyControl, GrantReleasedToTheSameAllocation) +{ + ConcurrencyControlTest t(3); + auto allocation = t.cc.allocate(0, 10); + std::list acquired; + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 3); // 0 1 2 + acquired.clear(); + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 3); // 3 4 5 + acquired.pop_back(); + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 3); // 3 4 6 + acquired.pop_front(); + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 3); // 4 6 7 + acquired.clear(); + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 2); // 8 9 +} + +TEST(ConcurrencyControl, FairGranting) +{ + ConcurrencyControlTest t(3); + auto start_busy_period = t.cc.allocate(3, 3); + auto a1 = t.cc.allocate(0, 10); + auto a2 = t.cc.allocate(0, 10); + auto a3 = t.cc.allocate(0, 10); + start_busy_period.reset(); + for (int i = 0; i < 10; i++) + { + auto s1 = a1->tryAcquire(); + ASSERT_TRUE(s1); + ASSERT_TRUE(!a1->tryAcquire()); + auto s2 = a2->tryAcquire(); + ASSERT_TRUE(s2); + ASSERT_TRUE(!a2->tryAcquire()); + auto s3 = a3->tryAcquire(); + ASSERT_TRUE(s3); + ASSERT_TRUE(!a3->tryAcquire()); + } +} + +TEST(ConcurrencyControl, SetSlotCount) +{ + ConcurrencyControlTest t(10); + auto allocation = t.cc.allocate(5, 30); + std::vector acquired; + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 10); + + t.cc.setMaxConcurrency(15); + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 15); + + t.cc.setMaxConcurrency(5); + acquired.clear(); + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 5); + + // Check that newly added slots are equally distributed over waiting allocations + std::vector acquired2; + auto allocation2 = t.cc.allocate(0, 30); + ASSERT_TRUE(!allocation->tryAcquire()); + t.cc.setMaxConcurrency(15); // 10 slots added: 5 to the first allocation and 5 to the second one + while (auto slot = allocation->tryAcquire()) + acquired.emplace_back(std::move(slot)); + while (auto slot = allocation2->tryAcquire()) + acquired2.emplace_back(std::move(slot)); + ASSERT_TRUE(acquired.size() == 10); + ASSERT_TRUE(acquired2.size() == 5); +} + +TEST(ConcurrencyControl, MultipleThreads) +{ + constexpr int cfg_total_queries = 1000; // total amount of queries to run + constexpr int cfg_work_us = 49; // max microseconds per single work + constexpr int cfg_concurrent_queries = 8; // do not run more than specified number of concurrent queries + constexpr int cfg_max_threads = 4; // max amount of threads a query is allowed to have + constexpr int cfg_max_concurrency = 16; // concurrency control limit (must be >3) + + ConcurrencyControlTest t(cfg_max_concurrency); + + auto run_query = [&] (size_t max_threads) + { + ConcurrencyControl::AllocationPtr slots = t.cc.allocate(1, max_threads); + std::mutex threads_mutex; + std::vector threads; + threads.reserve(max_threads); + + std::function spawn_threads = [&] () + { + while (auto slot = slots->tryAcquire()) + { + std::unique_lock lock{threads_mutex}; + threads.emplace_back([&, slot = std::move(slot)] + { + pcg64 rng(randomSeed()); + std::uniform_int_distribution distribution(1, cfg_work_us); + size_t steps = distribution(rng); + for (size_t step = 0; step < steps; step++) + { + sleepForMicroseconds(distribution(rng)); // emulate work + spawn_threads(); // upscale + } + }); + } + }; + + spawn_threads(); + + // graceful shutdown of a query + for (size_t thread_num = 0; ; thread_num++) + { + std::unique_lock lock{threads_mutex}; + if (thread_num >= threads.size()) + break; + if (threads[thread_num].joinable()) + { + auto & thread = threads[thread_num]; + lock.unlock(); // to avoid deadlock if thread we are going to join starts spawning threads + thread.join(); + } + } + // NOTE: No races: all concurrent spawn_threads() calls are done from `threads`, but they're already joined. + }; + + pcg64 rng(randomSeed()); + std::uniform_int_distribution max_threads_distribution(1, cfg_max_threads); + std::vector queries; + std::atomic started = 0; // queries started in total + std::atomic finished = 0; // queries finished in total + while (started < cfg_total_queries) + { + while (started < finished + cfg_concurrent_queries) + { + queries.emplace_back([&, max_threads = max_threads_distribution(rng)] + { + run_query(max_threads); + finished++; + }); + started++; + } + sleepForMicroseconds(5); // wait some queries to finish + t.cc.setMaxConcurrency(cfg_max_concurrency - started % 3); // emulate configuration updates + } + + for (auto & query : queries) + query.join(); +} diff --git a/src/Common/tests/gtest_hash_table.cpp b/src/Common/tests/gtest_hash_table.cpp index 35fb471f07c..b06ee5a666e 100644 --- a/src/Common/tests/gtest_hash_table.cpp +++ b/src/Common/tests/gtest_hash_table.cpp @@ -37,7 +37,7 @@ std::set convertToSet(const HashTable & table) TEST(HashTable, Insert) { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -49,7 +49,7 @@ TEST(HashTable, Insert) TEST(HashTable, Emplace) { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -70,7 +70,7 @@ TEST(HashTable, Emplace) TEST(HashTable, Lookup) { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -89,7 +89,7 @@ TEST(HashTable, Lookup) TEST(HashTable, Iteration) { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -107,7 +107,7 @@ TEST(HashTable, Erase) { { /// Check zero element deletion - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; cont.insert(0); @@ -119,7 +119,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(0) == nullptr); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [.(1)..............] erase of (1). @@ -132,7 +132,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(1) == nullptr); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [.(1)(2)(3)............] erase of (1) does not break search for (2) (3). @@ -152,7 +152,7 @@ TEST(HashTable, Erase) ASSERT_EQ(cont.size(), 0); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [.(1)(17).............] erase of (1) breaks search for (17) because their natural position is 1. @@ -164,7 +164,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(17) != nullptr && cont.find(17)->getKey() == 17); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [.(1)(2)(3)(17)...........] erase of (2) breaks search for (17) because their natural position is 1. @@ -181,7 +181,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(17) != nullptr && cont.find(17)->getKey() == 17); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [(16)(30)............(14)(15)] erase of (16) breaks search for (30) because their natural position is 14. @@ -197,7 +197,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(30) != nullptr && cont.find(30)->getKey() == 30); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [(16)(30)............(14)(15)] erase of (15) breaks search for (30) because their natural position is 14. @@ -213,7 +213,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(30) != nullptr && cont.find(30)->getKey() == 30); } { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; for (size_t i = 0; i < 5000; ++i) @@ -249,7 +249,7 @@ TEST(HashTable, SerializationDeserialization) { { /// Use dummy hash to make it reproducible if default hash implementation will be changed - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -271,7 +271,7 @@ TEST(HashTable, SerializationDeserialization) ASSERT_EQ(convertToSet(cont), convertToSet(deserialized)); } { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -289,7 +289,7 @@ TEST(HashTable, SerializationDeserialization) ASSERT_EQ(convertToSet(cont), convertToSet(deserialized)); } { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; WriteBufferFromOwnString wb; diff --git a/src/Common/tests/gtest_lru_cache.cpp b/src/Common/tests/gtest_lru_cache.cpp index 7694a76ea72..f74d1eb9464 100644 --- a/src/Common/tests/gtest_lru_cache.cpp +++ b/src/Common/tests/gtest_lru_cache.cpp @@ -1,12 +1,12 @@ #include #include #include -#include +#include TEST(LRUCache, set) { - using SimpleLRUCache = DB::LRUCache; - auto lru_cache = SimpleLRUCache(10, 10); + using SimpleCacheBase = DB::CacheBase; + auto lru_cache = SimpleCacheBase(/*max_size*/ 10, /*max_elements_size*/ 10, "LRU"); lru_cache.set(1, std::make_shared(2)); lru_cache.set(2, std::make_shared(3)); @@ -18,8 +18,8 @@ TEST(LRUCache, set) TEST(LRUCache, update) { - using SimpleLRUCache = DB::LRUCache; - auto lru_cache = SimpleLRUCache(10, 10); + using SimpleCacheBase = DB::CacheBase; + auto lru_cache = SimpleCacheBase(/*max_size*/ 10, /*max_elements_size*/ 10, "LRU"); lru_cache.set(1, std::make_shared(2)); lru_cache.set(1, std::make_shared(3)); auto val = lru_cache.get(1); @@ -29,11 +29,11 @@ TEST(LRUCache, update) TEST(LRUCache, get) { - using SimpleLRUCache = DB::LRUCache; - auto lru_cache = SimpleLRUCache(10, 10); + using SimpleCacheBase = DB::CacheBase; + auto lru_cache = SimpleCacheBase(/*max_size*/ 10, /*max_elements_size*/ 10, "LRU"); lru_cache.set(1, std::make_shared(2)); lru_cache.set(2, std::make_shared(3)); - SimpleLRUCache::MappedPtr value = lru_cache.get(1); + SimpleCacheBase::MappedPtr value = lru_cache.get(1); ASSERT_TRUE(value != nullptr); ASSERT_EQ(*value, 2); @@ -49,8 +49,8 @@ struct ValueWeight TEST(LRUCache, evictOnSize) { - using SimpleLRUCache = DB::LRUCache; - auto lru_cache = SimpleLRUCache(20, 3); + using SimpleCacheBase = DB::CacheBase; + auto lru_cache = SimpleCacheBase(/*max_size*/ 20, /*max_elements_size*/ 3, "LRU"); lru_cache.set(1, std::make_shared(2)); lru_cache.set(2, std::make_shared(3)); lru_cache.set(3, std::make_shared(4)); @@ -65,8 +65,8 @@ TEST(LRUCache, evictOnSize) TEST(LRUCache, evictOnWeight) { - using SimpleLRUCache = DB::LRUCache, ValueWeight>; - auto lru_cache = SimpleLRUCache(10, 10); + using SimpleCacheBase = DB::CacheBase, ValueWeight>; + auto lru_cache = SimpleCacheBase(/*max_size*/ 10, /*max_elements_size*/ 10, "LRU"); lru_cache.set(1, std::make_shared(2)); lru_cache.set(2, std::make_shared(3)); lru_cache.set(3, std::make_shared(4)); @@ -86,8 +86,8 @@ TEST(LRUCache, evictOnWeight) TEST(LRUCache, getOrSet) { - using SimpleLRUCache = DB::LRUCache, ValueWeight>; - auto lru_cache = SimpleLRUCache(10, 10); + using SimpleCacheBase = DB::CacheBase, ValueWeight>; + auto lru_cache = SimpleCacheBase(/*max_size*/ 10, /*max_elements_size*/ 10, "LRU"); size_t x = 10; auto load_func = [&] { return std::make_shared(x); }; auto [value, loaded] = lru_cache.getOrSet(1, load_func); diff --git a/src/Common/tests/gtest_lru_file_cache.cpp b/src/Common/tests/gtest_lru_file_cache.cpp index 36137e02a84..3f481ee25ca 100644 --- a/src/Common/tests/gtest_lru_file_cache.cpp +++ b/src/Common/tests/gtest_lru_file_cache.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include @@ -46,14 +47,9 @@ std::vector fromHolder(const DB::FileSegmentsHolder & holder return std::vector(holder.file_segments.begin(), holder.file_segments.end()); } -String keyToStr(const DB::IFileCache::Key & key) +String getFileSegmentPath(const String & base_path, const DB::FileCache::Key & key, size_t offset) { - return getHexUIntLowercase(key); -} - -String getFileSegmentPath(const String & base_path, const DB::IFileCache::Key & key, size_t offset) -{ - auto key_str = keyToStr(key); + auto key_str = key.toString(); return fs::path(base_path) / key_str.substr(0, 3) / key_str / DB::toString(offset); } @@ -62,7 +58,7 @@ void download(DB::FileSegmentPtr file_segment) const auto & key = file_segment->key(); size_t size = file_segment->range().size(); - auto key_str = keyToStr(key); + auto key_str = key.toString(); auto subdir = fs::path(cache_base_path) / key_str.substr(0, 3) / key_str; if (!fs::exists(subdir)) fs::create_directories(subdir); @@ -89,7 +85,7 @@ void complete(const DB::FileSegmentsHolder & holder) } -TEST(LRUFileCache, get) +TEST(FileCache, get) { if (fs::exists(cache_base_path)) fs::remove_all(cache_base_path); @@ -98,20 +94,21 @@ TEST(LRUFileCache, get) DB::ThreadStatus thread_status; /// To work with cache need query_id and query context. + std::string query_id = "query_id"; auto query_context = DB::Context::createCopy(getContext().context); query_context->makeQueryContext(); - query_context->setCurrentQueryId("query_id"); + query_context->setCurrentQueryId(query_id); DB::CurrentThread::QueryScope query_scope_holder(query_context); DB::FileCacheSettings settings; settings.max_size = 30; settings.max_elements = 5; - auto cache = DB::LRUFileCache(cache_base_path, settings); + auto cache = DB::FileCache(cache_base_path, settings); cache.initialize(); auto key = cache.hash("key1"); { - auto holder = cache.getOrSet(key, 0, 10); /// Add range [0, 9] + auto holder = cache.getOrSet(key, 0, 10, false); /// Add range [0, 9] auto segments = fromHolder(holder); /// Range was not present in cache. It should be added in cache as one while file segment. ASSERT_EQ(segments.size(), 1); @@ -140,7 +137,7 @@ TEST(LRUFileCache, get) { /// Want range [5, 14], but [0, 9] already in cache, so only [10, 14] will be put in cache. - auto holder = cache.getOrSet(key, 5, 10); + auto holder = cache.getOrSet(key, 5, 10, false); auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 2); @@ -160,14 +157,14 @@ TEST(LRUFileCache, get) ASSERT_EQ(cache.getUsedCacheSize(), 15); { - auto holder = cache.getOrSet(key, 9, 1); /// Get [9, 9] + auto holder = cache.getOrSet(key, 9, 1, false); /// Get [9, 9] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 1); assertRange(7, segments[0], DB::FileSegment::Range(0, 9), DB::FileSegment::State::DOWNLOADED); } { - auto holder = cache.getOrSet(key, 9, 2); /// Get [9, 10] + auto holder = cache.getOrSet(key, 9, 2, false); /// Get [9, 10] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 2); assertRange(8, segments[0], DB::FileSegment::Range(0, 9), DB::FileSegment::State::DOWNLOADED); @@ -175,16 +172,15 @@ TEST(LRUFileCache, get) } { - auto holder = cache.getOrSet(key, 10, 1); /// Get [10, 10] + auto holder = cache.getOrSet(key, 10, 1, false); /// Get [10, 10] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 1); assertRange(10, segments[0], DB::FileSegment::Range(10, 14), DB::FileSegment::State::DOWNLOADED); } - complete(cache.getOrSet(key, 17, 4)); /// Get [17, 20] - complete(cache.getOrSet(key, 24, 3)); /// Get [24, 26] - // complete(cache.getOrSet(key, 27, 1)); /// Get [27, 27] - + complete(cache.getOrSet(key, 17, 4, false)); /// Get [17, 20] + complete(cache.getOrSet(key, 24, 3, false)); /// Get [24, 26] + /// complete(cache.getOrSet(key, 27, 1, false)); /// Get [27, 27] /// Current cache: [__________][_____] [____] [___][] /// ^ ^^ ^ ^ ^ ^ ^^^ @@ -194,7 +190,7 @@ TEST(LRUFileCache, get) ASSERT_EQ(cache.getUsedCacheSize(), 22); { - auto holder = cache.getOrSet(key, 0, 26); /// Get [0, 25] + auto holder = cache.getOrSet(key, 0, 26, false); /// Get [0, 25] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 6); @@ -228,14 +224,14 @@ TEST(LRUFileCache, get) /// as max elements size is reached, next attempt to put something in cache should fail. /// This will also check that [27, 27] was indeed evicted. - auto holder1 = cache.getOrSet(key, 27, 1); + auto holder1 = cache.getOrSet(key, 27, 1, false); auto segments_1 = fromHolder(holder1); /// Get [27, 27] ASSERT_EQ(segments_1.size(), 1); assertRange(17, segments_1[0], DB::FileSegment::Range(27, 27), DB::FileSegment::State::EMPTY); } { - auto holder = cache.getOrSet(key, 12, 10); /// Get [12, 21] + auto holder = cache.getOrSet(key, 12, 10, false); /// Get [12, 21] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 4); @@ -259,7 +255,7 @@ TEST(LRUFileCache, get) ASSERT_EQ(cache.getFileSegmentsNum(), 5); { - auto holder = cache.getOrSet(key, 23, 5); /// Get [23, 28] + auto holder = cache.getOrSet(key, 23, 5, false); /// Get [23, 28] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 3); @@ -280,12 +276,12 @@ TEST(LRUFileCache, get) /// 17 21 2324 26 28 { - auto holder5 = cache.getOrSet(key, 2, 3); /// Get [2, 4] + auto holder5 = cache.getOrSet(key, 2, 3,false); /// Get [2, 4] auto s5 = fromHolder(holder5); ASSERT_EQ(s5.size(), 1); assertRange(25, s5[0], DB::FileSegment::Range(2, 4), DB::FileSegment::State::EMPTY); - auto holder1 = cache.getOrSet(key, 30, 2); /// Get [30, 31] + auto holder1 = cache.getOrSet(key, 30, 2, false); /// Get [30, 31] auto s1 = fromHolder(holder1); ASSERT_EQ(s1.size(), 1); assertRange(26, s1[0], DB::FileSegment::Range(30, 31), DB::FileSegment::State::EMPTY); @@ -301,20 +297,20 @@ TEST(LRUFileCache, get) /// ^ ^ ^ ^ ^ ^ ^ ^ /// 2 4 23 24 26 27 30 31 - auto holder2 = cache.getOrSet(key, 23, 1); /// Get [23, 23] + auto holder2 = cache.getOrSet(key, 23, 1, false); /// Get [23, 23] auto s2 = fromHolder(holder2); ASSERT_EQ(s2.size(), 1); - auto holder3 = cache.getOrSet(key, 24, 3); /// Get [24, 26] + auto holder3 = cache.getOrSet(key, 24, 3, false); /// Get [24, 26] auto s3 = fromHolder(holder3); ASSERT_EQ(s3.size(), 1); - auto holder4 = cache.getOrSet(key, 27, 1); /// Get [27, 27] + auto holder4 = cache.getOrSet(key, 27, 1, false); /// Get [27, 27] auto s4 = fromHolder(holder4); ASSERT_EQ(s4.size(), 1); /// All cache is now unreleasable because pointers are still hold - auto holder6 = cache.getOrSet(key, 0, 40); + auto holder6 = cache.getOrSet(key, 0, 40, false); auto f = fromHolder(holder6); ASSERT_EQ(f.size(), 9); @@ -335,7 +331,7 @@ TEST(LRUFileCache, get) } { - auto holder = cache.getOrSet(key, 2, 3); /// Get [2, 4] + auto holder = cache.getOrSet(key, 2, 3, false); /// Get [2, 4] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 1); assertRange(31, segments[0], DB::FileSegment::Range(2, 4), DB::FileSegment::State::DOWNLOADED); @@ -346,7 +342,7 @@ TEST(LRUFileCache, get) /// 2 4 23 24 26 27 30 31 { - auto holder = cache.getOrSet(key, 25, 5); /// Get [25, 29] + auto holder = cache.getOrSet(key, 25, 5, false); /// Get [25, 29] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 3); @@ -370,7 +366,7 @@ TEST(LRUFileCache, get) DB::CurrentThread::QueryScope query_scope_holder_1(query_context_1); thread_status_1.attachQueryContext(query_context_1); - auto holder_2 = cache.getOrSet(key, 25, 5); /// Get [25, 29] once again. + auto holder_2 = cache.getOrSet(key, 25, 5, false); /// Get [25, 29] once again. auto segments_2 = fromHolder(holder_2); ASSERT_EQ(segments.size(), 3); @@ -413,7 +409,7 @@ TEST(LRUFileCache, get) /// and notify_all() is also called from destructor of holder. std::optional holder; - holder.emplace(cache.getOrSet(key, 3, 23)); /// Get [3, 25] + holder.emplace(cache.getOrSet(key, 3, 23, false)); /// Get [3, 25] auto segments = fromHolder(*holder); ASSERT_EQ(segments.size(), 3); @@ -439,7 +435,7 @@ TEST(LRUFileCache, get) DB::CurrentThread::QueryScope query_scope_holder_1(query_context_1); thread_status_1.attachQueryContext(query_context_1); - auto holder_2 = cache.getOrSet(key, 3, 23); /// Get [3, 25] once again + auto holder_2 = cache.getOrSet(key, 3, 23, false); /// Get [3, 25] once again auto segments_2 = fromHolder(*holder); ASSERT_EQ(segments_2.size(), 3); @@ -483,10 +479,11 @@ TEST(LRUFileCache, get) { /// Test LRUCache::restore(). - auto cache2 = DB::LRUFileCache(cache_base_path, settings); + auto cache2 = DB::FileCache(cache_base_path, settings); cache2.initialize(); - auto holder1 = cache2.getOrSet(key, 2, 28); /// Get [2, 29] + auto holder1 = cache2.getOrSet(key, 2, 28, false); /// Get [2, 29] + auto segments1 = fromHolder(holder1); ASSERT_EQ(segments1.size(), 5); @@ -502,10 +499,10 @@ TEST(LRUFileCache, get) auto settings2 = settings; settings2.max_file_segment_size = 10; - auto cache2 = DB::LRUFileCache(caches_dir / "cache2", settings2); + auto cache2 = DB::FileCache(caches_dir / "cache2", settings2); cache2.initialize(); - auto holder1 = cache2.getOrSet(key, 0, 25); /// Get [0, 24] + auto holder1 = cache2.getOrSet(key, 0, 25, false); /// Get [0, 24] auto segments1 = fromHolder(holder1); ASSERT_EQ(segments1.size(), 3); @@ -513,4 +510,5 @@ TEST(LRUFileCache, get) assertRange(49, segments1[1], DB::FileSegment::Range(10, 19), DB::FileSegment::State::EMPTY); assertRange(50, segments1[2], DB::FileSegment::Range(20, 24), DB::FileSegment::State::EMPTY); } + } diff --git a/src/Common/tests/gtest_lsan.cpp b/src/Common/tests/gtest_lsan.cpp new file mode 100644 index 00000000000..f6e1984ec58 --- /dev/null +++ b/src/Common/tests/gtest_lsan.cpp @@ -0,0 +1,33 @@ +#include // ADDRESS_SANITIZER + +#ifdef ADDRESS_SANITIZER + +#include +#include + +#include +#include + +/// Test that ensures that LSan works. +/// +/// Regression test for the case when it may not work, +/// because of broken getauxval() [1]. +/// +/// [1]: https://github.com/ClickHouse/ClickHouse/pull/33957 +TEST(Common, LSan) +{ + int sanitizers_exit_code = 1; + + ASSERT_EXIT({ + std::thread leak_in_thread([]() + { + void * leak = malloc(4096); + ASSERT_NE(leak, nullptr); + }); + leak_in_thread.join(); + + __lsan_do_leak_check(); + }, ::testing::ExitedWithCode(sanitizers_exit_code), ".*LeakSanitizer: detected memory leaks.*"); +} + +#endif diff --git a/src/Common/tests/gtest_makeRegexpPatternFromGlobs.cpp b/src/Common/tests/gtest_makeRegexpPatternFromGlobs.cpp index 42777d0bbba..fda3a6ee1c8 100644 --- a/src/Common/tests/gtest_makeRegexpPatternFromGlobs.cpp +++ b/src/Common/tests/gtest_makeRegexpPatternFromGlobs.cpp @@ -8,14 +8,36 @@ using namespace DB; TEST(Common, makeRegexpPatternFromGlobs) { + EXPECT_EQ(makeRegexpPatternFromGlobs("?"), "[^/]"); EXPECT_EQ(makeRegexpPatternFromGlobs("*"), "[^/]*"); EXPECT_EQ(makeRegexpPatternFromGlobs("/?"), "/[^/]"); EXPECT_EQ(makeRegexpPatternFromGlobs("/*"), "/[^/]*"); EXPECT_EQ(makeRegexpPatternFromGlobs("*_{{a,b,c,d}}/?.csv"), "[^/]*_\\{(a|b|c|d)\\}/[^/]\\.csv"); - EXPECT_EQ(makeRegexpPatternFromGlobs("f{01..09}"), "f(1|2|3|4|5|6|7|8|9)"); - EXPECT_EQ(makeRegexpPatternFromGlobs("f{01..9}"), "f(1|2|3|4|5|6|7|8|9)"); - EXPECT_EQ(makeRegexpPatternFromGlobs("f{0001..0000009}"), "f(1|2|3|4|5|6|7|8|9)"); + /* Regex Parsing for {..} can have three possible cases + 1) The left range width == the right range width + 2) The left range width > the right range width + 3) The left range width < the right range width + */ + // Ascending Sequences + EXPECT_EQ(makeRegexpPatternFromGlobs("f{1..9}"), "f(1|2|3|4|5|6|7|8|9)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{0..10}"), "f(0|1|2|3|4|5|6|7|8|9|10)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{10..20}"), "f(10|11|12|13|14|15|16|17|18|19|20)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{00..10}"), "f(00|01|02|03|04|05|06|07|08|09|10)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{0001..0009}"), "f(0001|0002|0003|0004|0005|0006|0007|0008|0009)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{01..9}"), "f(01|02|03|04|05|06|07|08|09)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{000..9}"), "f(000|001|002|003|004|005|006|007|008|009)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{95..103}"), "f(95|96|97|98|99|100|101|102|103)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{99..109}"), "f(99|100|101|102|103|104|105|106|107|108|109)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{001..0009}"), "f(0001|0002|0003|0004|0005|0006|0007|0008|0009)"); + // Descending Sequences + EXPECT_EQ(makeRegexpPatternFromGlobs("f{20..15}"), "f(15|16|17|18|19|20)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{200..199}"), "f(199|200)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{0009..0001}"), "f(0001|0002|0003|0004|0005|0006|0007|0008|0009)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{100..90}"), "f(90|91|92|93|94|95|96|97|98|99|100)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{103..95}"), "f(95|96|97|98|99|100|101|102|103)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{9..01}"), "f(01|02|03|04|05|06|07|08|09)"); + EXPECT_EQ(makeRegexpPatternFromGlobs("f{9..000}"), "f(000|001|002|003|004|005|006|007|008|009)"); EXPECT_EQ(makeRegexpPatternFromGlobs("f{1..2}{1..2}"), "f(1|2)(1|2)"); EXPECT_EQ(makeRegexpPatternFromGlobs("f{1..1}{1..1}"), "f(1)(1)"); EXPECT_EQ(makeRegexpPatternFromGlobs("f{0..0}{0..0}"), "f(0)(0)"); diff --git a/src/Common/tests/gtest_overcommit_tracker.cpp b/src/Common/tests/gtest_overcommit_tracker.cpp index 542af815842..d832a73ffd9 100644 --- a/src/Common/tests/gtest_overcommit_tracker.cpp +++ b/src/Common/tests/gtest_overcommit_tracker.cpp @@ -40,15 +40,17 @@ static constexpr UInt64 WAIT_TIME = 4'000'000; template void free_not_continue_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); + std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -56,7 +58,7 @@ void free_not_continue_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -96,15 +98,16 @@ TEST(OvercommitTracker, GlobalFreeNotContinue) template void free_continue_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -112,7 +115,7 @@ void free_continue_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -152,15 +155,16 @@ TEST(OvercommitTracker, GlobalFreeContinue) template void free_continue_and_alloc_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -168,7 +172,7 @@ void free_continue_and_alloc_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -179,9 +183,10 @@ void free_continue_and_alloc_test(T & overcommit_tracker) [&]() { MemoryTracker failed; + failed.setOvercommitWaitingTime(WAIT_TIME); std::this_thread::sleep_for(1000ms); overcommit_tracker.tryContinueQueryExecutionAfterFree(5000); - stopped_next = overcommit_tracker.needToStopQuery(&failed, 100); + stopped_next = overcommit_tracker.needToStopQuery(&failed, 100) != OvercommitResult::MEMORY_FREED; } ).join(); @@ -212,15 +217,16 @@ TEST(OvercommitTracker, GlobalFreeContinueAndAlloc) template void free_continue_and_alloc_2_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -228,7 +234,7 @@ void free_continue_and_alloc_2_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -239,9 +245,10 @@ void free_continue_and_alloc_2_test(T & overcommit_tracker) [&]() { MemoryTracker failed; + failed.setOvercommitWaitingTime(WAIT_TIME); std::this_thread::sleep_for(1000ms); overcommit_tracker.tryContinueQueryExecutionAfterFree(5000); - stopped_next = overcommit_tracker.needToStopQuery(&failed, 100); + stopped_next = overcommit_tracker.needToStopQuery(&failed, 100) != OvercommitResult::MEMORY_FREED; } )); @@ -280,15 +287,16 @@ TEST(OvercommitTracker, GlobalFreeContinueAndAlloc2) template void free_continue_and_alloc_3_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -296,7 +304,7 @@ void free_continue_and_alloc_3_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -307,9 +315,10 @@ void free_continue_and_alloc_3_test(T & overcommit_tracker) [&]() { MemoryTracker failed; + failed.setOvercommitWaitingTime(WAIT_TIME); std::this_thread::sleep_for(1000ms); overcommit_tracker.tryContinueQueryExecutionAfterFree(5000); - stopped_next = overcommit_tracker.needToStopQuery(&failed, 100); + stopped_next = overcommit_tracker.needToStopQuery(&failed, 100) != OvercommitResult::MEMORY_FREED; } )); @@ -348,15 +357,16 @@ TEST(OvercommitTracker, GlobalFreeContinueAndAlloc3) template void free_continue_2_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -364,7 +374,7 @@ void free_continue_2_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -404,18 +414,18 @@ TEST(OvercommitTracker, GlobalFreeContinue2) template void query_stop_not_continue_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - std::atomic need_to_stop = 0; MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); MemoryTracker another; + another.setOvercommitWaitingTime(WAIT_TIME); auto thread = std::thread( [&]() { - if (overcommit_tracker.needToStopQuery(&another, 100)) + if (overcommit_tracker.needToStopQuery(&another, 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } ); diff --git a/src/Common/tests/gtest_pod_array.cpp b/src/Common/tests/gtest_pod_array.cpp index b5ec45c3e5d..82a6f7589b8 100644 --- a/src/Common/tests/gtest_pod_array.cpp +++ b/src/Common/tests/gtest_pod_array.cpp @@ -484,6 +484,35 @@ TEST(Common, PODArrayInsertFromItself) } } +TEST(Common, PODArrayAssign) +{ + { + PaddedPODArray array; + array.push_back(1); + array.push_back(2); + + array.assign({1, 2, 3}); + + ASSERT_EQ(array.size(), 3); + ASSERT_EQ(array, PaddedPODArray({1, 2, 3})); + } + { + PaddedPODArray array; + array.push_back(1); + array.push_back(2); + + array.assign({}); + + ASSERT_TRUE(array.empty()); + } + { + PaddedPODArray array; + array.assign({}); + + ASSERT_TRUE(array.empty()); + } +} + TEST(Common, PODNoOverallocation) { /// Check that PaddedPODArray allocates for smaller number of elements than the power of two due to padding. diff --git a/src/Common/tests/gtest_slru_cahce.cpp b/src/Common/tests/gtest_slru_cahce.cpp new file mode 100644 index 00000000000..66df0dbec77 --- /dev/null +++ b/src/Common/tests/gtest_slru_cahce.cpp @@ -0,0 +1,210 @@ +#include +#include +#include +#include + +TEST(SLRUCache, set) +{ + using SimpleCacheBase = DB::CacheBase; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(2, std::make_shared(3)); + + auto w = slru_cache.weight(); + auto n = slru_cache.count(); + ASSERT_EQ(w, 2); + ASSERT_EQ(n, 2); +} + +TEST(SLRUCache, update) +{ + using SimpleCacheBase = DB::CacheBase; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(1, std::make_shared(3)); + + auto value = slru_cache.get(1); + ASSERT_TRUE(value != nullptr); + ASSERT_TRUE(*value == 3); +} + +TEST(SLRUCache, get) +{ + using SimpleCacheBase = DB::CacheBase; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(2, std::make_shared(3)); + + auto value = slru_cache.get(1); + ASSERT_TRUE(value != nullptr); + ASSERT_EQ(*value, 2); + + value = slru_cache.get(2); + ASSERT_TRUE(value != nullptr); + ASSERT_EQ(*value, 3); +} + +TEST(SLRUCache, remove) +{ + using SimpleCacheBase = DB::CacheBase; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(2, std::make_shared(3)); + + auto value = slru_cache.get(1); + ASSERT_TRUE(value != nullptr); + ASSERT_EQ(*value, 2); + + slru_cache.remove(2); + value = slru_cache.get(2); + ASSERT_TRUE(value == nullptr); +} + +TEST(SLRUCache, removeFromProtected) +{ + using SimpleCacheBase = DB::CacheBase; + auto slru_cache = SimpleCacheBase(/*max_size=*/2, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(1, std::make_shared(3)); + + auto value = slru_cache.get(1); + ASSERT_TRUE(value != nullptr); + ASSERT_EQ(*value, 3); + + slru_cache.remove(1); + value = slru_cache.get(1); + ASSERT_TRUE(value == nullptr); + + slru_cache.set(1, std::make_shared(4)); + slru_cache.set(1, std::make_shared(5)); + + slru_cache.set(2, std::make_shared(6)); + slru_cache.set(3, std::make_shared(7)); + + value = slru_cache.get(1); + ASSERT_TRUE(value != nullptr); + ASSERT_EQ(*value, 5); + + value = slru_cache.get(3); + ASSERT_TRUE(value != nullptr); + ASSERT_EQ(*value, 7); + + value = slru_cache.get(2); + ASSERT_TRUE(value == nullptr); +} + +TEST(SLRUCache, reset) +{ + using SimpleCacheBase = DB::CacheBase; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(2, std::make_shared(3)); + + slru_cache.set(2, std::make_shared(4)); /// add to protected_queue + + slru_cache.reset(); + + auto value = slru_cache.get(1); + ASSERT_TRUE(value == nullptr); + + value = slru_cache.get(2); + ASSERT_TRUE(value == nullptr); +} + +struct ValueWeight +{ + size_t operator()(const size_t & x) const { return x; } +}; + +TEST(SLRUCache, evictOnElements) +{ + using SimpleCacheBase = DB::CacheBase, ValueWeight>; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/1, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(2, std::make_shared(3)); + + auto n = slru_cache.count(); + ASSERT_EQ(n, 1); + + auto w = slru_cache.weight(); + ASSERT_EQ(w, 3); + + auto value = slru_cache.get(1); + ASSERT_TRUE(value == nullptr); + value = slru_cache.get(2); + ASSERT_TRUE(value != nullptr); + ASSERT_TRUE(*value == 3); +} + + +TEST(SLRUCache, evictOnWeight) +{ + using SimpleCacheBase = DB::CacheBase, ValueWeight>; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(2, std::make_shared(3)); + slru_cache.set(3, std::make_shared(4)); + slru_cache.set(4, std::make_shared(5)); + + auto n = slru_cache.count(); + ASSERT_EQ(n, 2); + + auto w = slru_cache.weight(); + ASSERT_EQ(w, 9); + + auto value = slru_cache.get(1); + ASSERT_TRUE(value == nullptr); + value = slru_cache.get(2); + ASSERT_TRUE(value == nullptr); +} + +TEST(SLRUCache, evictFromProtectedPart) +{ + using SimpleCacheBase = DB::CacheBase, ValueWeight>; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(1, std::make_shared(2)); + + slru_cache.set(2, std::make_shared(5)); + slru_cache.set(2, std::make_shared(5)); + + slru_cache.set(3, std::make_shared(5)); + + auto value = slru_cache.get(1); + ASSERT_TRUE(value == nullptr); +} + +TEST(SLRUCache, evictStreamProtected) +{ + using SimpleCacheBase = DB::CacheBase, ValueWeight>; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + slru_cache.set(1, std::make_shared(2)); + slru_cache.set(1, std::make_shared(2)); + + slru_cache.set(2, std::make_shared(3)); + slru_cache.set(2, std::make_shared(3)); + + for (int key = 3; key < 10; ++key) + { + slru_cache.set(key, std::make_shared(1 + key % 5)); + } + + auto value = slru_cache.get(1); + ASSERT_TRUE(value != nullptr); + ASSERT_EQ(*value, 2); + + value = slru_cache.get(2); + ASSERT_TRUE(value != nullptr); + ASSERT_EQ(*value, 3); +} + +TEST(SLRUCache, getOrSet) +{ + using SimpleCacheBase = DB::CacheBase, ValueWeight>; + auto slru_cache = SimpleCacheBase(/*max_size=*/10, /*max_elements_size=*/0, "SLRU", /*size_ratio*/0.5); + size_t x = 5; + auto load_func = [&] { return std::make_shared(x); }; + auto [value, loaded] = slru_cache.getOrSet(1, load_func); + ASSERT_TRUE(value != nullptr); + ASSERT_TRUE(*value == 5); +} diff --git a/src/Common/tests/gtest_wide_integer.cpp b/src/Common/tests/gtest_wide_integer.cpp index 4021ae0ea91..fa614e9390a 100644 --- a/src/Common/tests/gtest_wide_integer.cpp +++ b/src/Common/tests/gtest_wide_integer.cpp @@ -61,8 +61,11 @@ GTEST_TEST(WideInteger, Conversions) ASSERT_EQ(zero, minus_one); zero += minus_one; +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + ASSERT_EQ(0, memcmp(&zero, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFE\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(zero))); +#else ASSERT_EQ(0, memcmp(&zero, "\xFE\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(zero))); - +#endif zero += 2; ASSERT_EQ(zero, 0); @@ -156,8 +159,11 @@ GTEST_TEST(WideInteger, Arithmetic) ASSERT_EQ(zero, minus_one); zero += minus_one; +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + ASSERT_EQ(0, memcmp(&zero, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFE\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(zero))); +#else ASSERT_EQ(0, memcmp(&zero, "\xFE\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(zero))); - +#endif zero += 2; ASSERT_EQ(zero, 0); @@ -236,8 +242,12 @@ GTEST_TEST(WideInteger, Shift) Int128 x = 1; auto y = x << 64; - ASSERT_EQ(0, memcmp(&y, "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", sizeof(Int128))); +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + ASSERT_EQ(0, memcmp(&y, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", sizeof(Int128))); +#else + ASSERT_EQ(0, memcmp(&y, "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", sizeof(Int128))); +#endif auto z = y << 11; ASSERT_EQ(toString(z), "37778931862957161709568"); @@ -250,8 +260,11 @@ GTEST_TEST(WideInteger, Shift) x = -1; y = x << 16; +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + ASSERT_EQ(0, memcmp(&y, "\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(Int128))); +#else ASSERT_EQ(0, memcmp(&y, "\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(Int128))); - +#endif y >>= 16; ASSERT_EQ(0, memcmp(&y, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(Int128))); @@ -259,10 +272,18 @@ GTEST_TEST(WideInteger, Shift) ASSERT_EQ(0, memcmp(&y, "\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(Int128))); y >>= 32; +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + ASSERT_EQ(0, memcmp(&y, "\xFF\xFF\xFF\xFF\x00\x00\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(Int128))); +#else ASSERT_EQ(0, memcmp(&y, "\x00\x00\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", sizeof(Int128))); +#endif y <<= 64; +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + ASSERT_EQ(0, memcmp(&y, "\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\xFF\xFF\x00\x00\x00\x00", sizeof(Int128))); +#else ASSERT_EQ(0, memcmp(&y, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\xFF\xFF", sizeof(Int128))); +#endif } diff --git a/src/Common/waitForPid.cpp b/src/Common/waitForPid.cpp new file mode 100644 index 00000000000..dd431e15062 --- /dev/null +++ b/src/Common/waitForPid.cpp @@ -0,0 +1,198 @@ +#include +#include +#include +#include + +#include +#include +#include + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wgnu-statement-expression" +#define HANDLE_EINTR(x) ({ \ + decltype(x) eintr_wrapper_result; \ + do { \ + eintr_wrapper_result = (x); \ + } while (eintr_wrapper_result == -1 && errno == EINTR); \ + eintr_wrapper_result; \ +}) + +namespace DB +{ + +enum PollPidResult +{ + RESTART, + FAILED +}; + +} + +#if defined(OS_LINUX) + +#include +#include + +#if !defined(__NR_pidfd_open) + #if defined(__x86_64__) + #define SYS_pidfd_open 434 + #elif defined(__aarch64__) + #define SYS_pidfd_open 434 + #elif defined(__ppc64__) + #define SYS_pidfd_open 434 + #elif defined(__riscv) + #define SYS_pidfd_open 434 + #else + #error "Unsupported architecture" + #endif +#else + #define SYS_pidfd_open __NR_pidfd_open +#endif + +namespace DB +{ + +static int syscall_pidfd_open(pid_t pid) +{ + return syscall(SYS_pidfd_open, pid, 0); +} + +static bool supportsPidFdOpen() +{ + VersionNumber pidfd_open_minimal_version(5, 3, 0); + VersionNumber linux_version(Poco::Environment::osVersion()); + return linux_version >= pidfd_open_minimal_version; +} + +static PollPidResult pollPid(pid_t pid, int timeout_in_ms) +{ + int pid_fd = 0; + + if (supportsPidFdOpen()) + { + // pidfd_open cannot be interrupted, no EINTR handling + + pid_fd = syscall_pidfd_open(pid); + + if (pid_fd < 0) + { + if (errno == ESRCH) + return PollPidResult::RESTART; + + return PollPidResult::FAILED; + } + } + else + { + std::string path = "/proc/" + std::to_string(pid); + pid_fd = HANDLE_EINTR(open(path.c_str(), O_DIRECTORY)); + + if (pid_fd < 0) + { + if (errno == ENOENT) + return PollPidResult::RESTART; + + return PollPidResult::FAILED; + } + } + + struct pollfd pollfd; + pollfd.fd = pid_fd; + pollfd.events = POLLIN; + + int ready = HANDLE_EINTR(poll(&pollfd, 1, timeout_in_ms)); + + if (ready <= 0) + return PollPidResult::FAILED; + + close(pid_fd); + + return PollPidResult::RESTART; +} + +#elif defined(OS_DARWIN) || defined(OS_FREEBSD) + +#pragma clang diagnostic ignored "-Wreserved-identifier" + +#include +#include + +namespace DB +{ + +static PollPidResult pollPid(pid_t pid, int timeout_in_ms) +{ + int kq = kqueue(); + if (kq == -1) + return PollPidResult::FAILED; + + struct kevent change = {.ident = NULL}; + EV_SET(&change, pid, EVFILT_PROC, EV_ADD, NOTE_EXIT, 0, NULL); + + int event_add_result = HANDLE_EINTR(kevent(kq, &change, 1, NULL, 0, NULL)); + if (event_add_result == -1) + { + if (errno == ESRCH) + return PollPidResult::RESTART; + + return PollPidResult::FAILED; + } + + struct kevent event = {.ident = NULL}; + struct timespec remaining_timespec = {.tv_sec = timeout_in_ms / 1000, .tv_nsec = (timeout_in_ms % 1000) * 1000000}; + int ready = HANDLE_EINTR(kevent(kq, nullptr, 0, &event, 1, &remaining_timespec)); + PollPidResult result = ready < 0 ? PollPidResult::FAILED : PollPidResult::RESTART; + + close(kq); + + return result; +} +#else + #error "Unsupported OS type" +#endif + +bool waitForPid(pid_t pid, size_t timeout_in_seconds) +{ + int status = 0; + + Stopwatch watch; + + if (timeout_in_seconds == 0) + { + /// If there is no timeout before signal try to waitpid 1 time without block so we can avoid sending + /// signal if process is already normally terminated. + + int waitpid_res = HANDLE_EINTR(waitpid(pid, &status, WNOHANG)); + bool process_terminated_normally = (waitpid_res == pid); + return process_terminated_normally; + } + + /// If timeout is positive try waitpid without block in loop until + /// process is normally terminated or waitpid return error + + int timeout_in_ms = timeout_in_seconds * 1000; + while (timeout_in_ms > 0) + { + int waitpid_res = HANDLE_EINTR(waitpid(pid, &status, WNOHANG)); + bool process_terminated_normally = (waitpid_res == pid); + if (process_terminated_normally) + return true; + + if (waitpid_res != 0) + return false; + + watch.restart(); + + PollPidResult result = pollPid(pid, timeout_in_ms); + + if (result == PollPidResult::FAILED) + return false; + + timeout_in_ms -= watch.elapsedMilliseconds(); + } + + return false; +} + +} +#pragma GCC diagnostic pop diff --git a/src/Common/waitForPid.h b/src/Common/waitForPid.h new file mode 100644 index 00000000000..85a0d2c8dd9 --- /dev/null +++ b/src/Common/waitForPid.h @@ -0,0 +1,12 @@ +#pragma once +#include + +namespace DB +{ +/* + * Waits for a specific pid with timeout + * Returns `true` if process terminated successfully in specified timeout or `false` otherwise + */ +bool waitForPid(pid_t pid, size_t timeout_in_seconds); + +} diff --git a/src/Compression/CachedCompressedReadBuffer.cpp b/src/Compression/CachedCompressedReadBuffer.cpp index 7f6422ae734..8abc16ebb2a 100644 --- a/src/Compression/CachedCompressedReadBuffer.cpp +++ b/src/Compression/CachedCompressedReadBuffer.cpp @@ -89,7 +89,7 @@ void CachedCompressedReadBuffer::seek(size_t offset_in_compressed_file, size_t o { /// Nothing to do if we already at required position if (!owned_cell && file_pos == offset_in_compressed_file - && (offset() == offset_in_decompressed_block || + && ((!buffer().empty() && offset() == offset_in_decompressed_block) || nextimpl_working_buffer_offset == offset_in_decompressed_block)) return; diff --git a/src/Compression/CompressedReadBufferBase.cpp b/src/Compression/CompressedReadBufferBase.cpp index 81e49e445a7..9101caf568e 100644 --- a/src/Compression/CompressedReadBufferBase.cpp +++ b/src/Compression/CompressedReadBufferBase.cpp @@ -1,5 +1,6 @@ #include "CompressedReadBufferBase.h" +#include #include #include #include @@ -93,8 +94,8 @@ static void validateChecksum(char * data, size_t size, const Checksum expected_c } /// Check if the difference caused by single bit flip in stored checksum. - size_t difference = __builtin_popcountll(expected_checksum.first ^ calculated_checksum.first) - + __builtin_popcountll(expected_checksum.second ^ calculated_checksum.second); + size_t difference = std::popcount(expected_checksum.first ^ calculated_checksum.first) + + std::popcount(expected_checksum.second ^ calculated_checksum.second); if (difference == 1) { @@ -106,21 +107,15 @@ static void validateChecksum(char * data, size_t size, const Checksum expected_c throw Exception(message.str(), ErrorCodes::CHECKSUM_DOESNT_MATCH); } - -/// Read compressed data into compressed_buffer. Get size of decompressed data from block header. Checksum if need. -/// Returns number of compressed bytes read. -size_t CompressedReadBufferBase::readCompressedData(size_t & size_decompressed, size_t & size_compressed_without_checksum, bool always_copy) +static void readHeaderAndGetCodecAndSize( + const char * compressed_buffer, + UInt8 header_size, + CompressionCodecPtr & codec, + size_t & size_decompressed, + size_t & size_compressed_without_checksum, + bool allow_different_codecs) { - if (compressed_in->eof()) - return 0; - - UInt8 header_size = ICompressionCodec::getHeaderSize(); - own_compressed_buffer.resize(header_size + sizeof(Checksum)); - - compressed_in->readStrict(own_compressed_buffer.data(), sizeof(Checksum) + header_size); - char * compressed_header = own_compressed_buffer.data() + sizeof(Checksum); - - uint8_t method = ICompressionCodec::readMethod(compressed_header); + uint8_t method = ICompressionCodec::readMethod(compressed_buffer); if (!codec) { @@ -142,8 +137,8 @@ size_t CompressedReadBufferBase::readCompressedData(size_t & size_decompressed, } } - size_compressed_without_checksum = ICompressionCodec::readCompressedBlockSize(compressed_header); - size_decompressed = ICompressionCodec::readDecompressedBlockSize(compressed_header); + size_compressed_without_checksum = ICompressionCodec::readCompressedBlockSize(compressed_buffer); + size_decompressed = ICompressionCodec::readDecompressedBlockSize(compressed_buffer); /// This is for clang static analyzer. assert(size_decompressed > 0); @@ -157,8 +152,27 @@ size_t CompressedReadBufferBase::readCompressedData(size_t & size_decompressed, if (size_compressed_without_checksum < header_size) throw Exception("Can't decompress data: the compressed data size (" + toString(size_compressed_without_checksum) + ", this should include header size) is less than the header size (" + toString(header_size) + ")", ErrorCodes::CORRUPTED_DATA); +} - ProfileEvents::increment(ProfileEvents::ReadCompressedBytes, size_compressed_without_checksum + sizeof(Checksum)); +/// Read compressed data into compressed_buffer. Get size of decompressed data from block header. Checksum if need. +/// Returns number of compressed bytes read. +size_t CompressedReadBufferBase::readCompressedData(size_t & size_decompressed, size_t & size_compressed_without_checksum, bool always_copy) +{ + if (compressed_in->eof()) + return 0; + + UInt8 header_size = ICompressionCodec::getHeaderSize(); + own_compressed_buffer.resize(header_size + sizeof(Checksum)); + + compressed_in->readStrict(own_compressed_buffer.data(), sizeof(Checksum) + header_size); + + readHeaderAndGetCodecAndSize( + own_compressed_buffer.data() + sizeof(Checksum), + header_size, + codec, + size_decompressed, + size_compressed_without_checksum, + allow_different_codecs); auto additional_size_at_the_end_of_buffer = codec->getAdditionalSizeAtTheEndOfBuffer(); @@ -184,9 +198,55 @@ size_t CompressedReadBufferBase::readCompressedData(size_t & size_decompressed, validateChecksum(compressed_buffer, size_compressed_without_checksum, checksum); } + ProfileEvents::increment(ProfileEvents::ReadCompressedBytes, size_compressed_without_checksum + sizeof(Checksum)); return size_compressed_without_checksum + sizeof(Checksum); } +/// Read compressed data into compressed_buffer for asynchronous decompression to avoid the situation of "read compressed block across the compressed_in". +size_t CompressedReadBufferBase::readCompressedDataBlockForAsynchronous(size_t & size_decompressed, size_t & size_compressed_without_checksum) +{ + UInt8 header_size = ICompressionCodec::getHeaderSize(); + /// Make sure the whole header located in 'compressed_in->' buffer. + if (compressed_in->eof() || (compressed_in->available() < (header_size + sizeof(Checksum)))) + return 0; + + own_compressed_buffer.resize(header_size + sizeof(Checksum)); + compressed_in->readStrict(own_compressed_buffer.data(), sizeof(Checksum) + header_size); + + readHeaderAndGetCodecAndSize( + own_compressed_buffer.data() + sizeof(Checksum), + header_size, + codec, + size_decompressed, + size_compressed_without_checksum, + allow_different_codecs); + + auto additional_size_at_the_end_of_buffer = codec->getAdditionalSizeAtTheEndOfBuffer(); + + /// Make sure the whole compressed block located in 'compressed_in->' buffer. + /// Otherwise, abandon header and restore original offset of compressed_in + if (compressed_in->offset() >= header_size + sizeof(Checksum) && + compressed_in->available() >= (size_compressed_without_checksum - header_size) + additional_size_at_the_end_of_buffer + sizeof(Checksum)) + { + compressed_in->position() -= header_size; + compressed_buffer = compressed_in->position(); + compressed_in->position() += size_compressed_without_checksum; + + if (!disable_checksum) + { + Checksum & checksum = *reinterpret_cast(own_compressed_buffer.data()); + validateChecksum(compressed_buffer, size_compressed_without_checksum, checksum); + } + + ProfileEvents::increment(ProfileEvents::ReadCompressedBytes, size_compressed_without_checksum + sizeof(Checksum)); + return size_compressed_without_checksum + sizeof(Checksum); + } + else + { + compressed_in->position() -= (sizeof(Checksum) + header_size); + return 0; + } +} static void readHeaderAndGetCodec(const char * compressed_buffer, size_t size_decompressed, CompressionCodecPtr & codec, bool allow_different_codecs) { @@ -216,14 +276,12 @@ static void readHeaderAndGetCodec(const char * compressed_buffer, size_t size_de } } - void CompressedReadBufferBase::decompressTo(char * to, size_t size_decompressed, size_t size_compressed_without_checksum) { readHeaderAndGetCodec(compressed_buffer, size_decompressed, codec, allow_different_codecs); codec->decompress(compressed_buffer, size_compressed_without_checksum, to); } - void CompressedReadBufferBase::decompress(BufferBase::Buffer & to, size_t size_decompressed, size_t size_compressed_without_checksum) { readHeaderAndGetCodec(compressed_buffer, size_decompressed, codec, allow_different_codecs); @@ -245,6 +303,17 @@ void CompressedReadBufferBase::decompress(BufferBase::Buffer & to, size_t size_d codec->decompress(compressed_buffer, size_compressed_without_checksum, to.begin()); } +void CompressedReadBufferBase::flushAsynchronousDecompressRequests() const +{ + if (codec) + codec->flushAsynchronousDecompressRequests(); +} + +void CompressedReadBufferBase::setDecompressMode(ICompressionCodec::CodecMode mode) const +{ + if (codec) + codec->setDecompressMode(mode); +} /// 'compressed_in' could be initialized lazily, but before first call of 'readCompressedData'. CompressedReadBufferBase::CompressedReadBufferBase(ReadBuffer * in, bool allow_different_codecs_) @@ -253,7 +322,7 @@ CompressedReadBufferBase::CompressedReadBufferBase(ReadBuffer * in, bool allow_d } -CompressedReadBufferBase::~CompressedReadBufferBase() = default; /// Proper destruction of unique_ptr of forward-declared type. +CompressedReadBufferBase::~CompressedReadBufferBase() = default; /// Proper destruction of unique_ptr of forward-declared type. } diff --git a/src/Compression/CompressedReadBufferBase.h b/src/Compression/CompressedReadBufferBase.h index 152447c0b64..baea4d2b855 100644 --- a/src/Compression/CompressedReadBufferBase.h +++ b/src/Compression/CompressedReadBufferBase.h @@ -39,6 +39,17 @@ protected: /// Returns number of compressed bytes read. size_t readCompressedData(size_t & size_decompressed, size_t & size_compressed_without_checksum, bool always_copy); + /// Read compressed data into compressed_buffer for asynchronous decompression to avoid the situation of "read compressed block across the compressed_in". + /// + /// Compressed block may not be completely contained in "compressed_in" buffer which means compressed block may be read across the "compressed_in". + /// For native LZ4/ZSTD, it has no problem in facing situation above because they are synchronous. + /// But for asynchronous decompression, such as QPL deflate, it requires source and target buffer for decompression can not be overwritten until execution complete. + /// + /// Returns number of compressed bytes read. + /// If Returns value > 0, means the address range for current block are maintained in "compressed_in", then asynchronous decompression can be called to boost performance. + /// If Returns value == 0, it means current block cannot be decompressed asynchronously.Meanwhile, asynchronous requests for previous blocks should be flushed if any. + size_t readCompressedDataBlockForAsynchronous(size_t & size_decompressed, size_t & size_compressed_without_checksum); + /// Decompress into memory pointed by `to` void decompressTo(char * to, size_t size_decompressed, size_t size_compressed_without_checksum); @@ -46,6 +57,14 @@ protected: /// It is more efficient for compression codec NONE but not suitable if you want to decompress into specific location. void decompress(BufferBase::Buffer & to, size_t size_decompressed, size_t size_compressed_without_checksum); + /// Flush all asynchronous decompress request. + void flushAsynchronousDecompressRequests() const; + + /// Set decompression mode: Synchronous/Asynchronous/SoftwareFallback. + /// The mode is "Synchronous" by default. + /// flushAsynchronousDecompressRequests must be called subsequently once set "Asynchronous" mode. + void setDecompressMode(ICompressionCodec::CodecMode mode) const; + public: /// 'compressed_in' could be initialized lazily, but before first call of 'readCompressedData'. explicit CompressedReadBufferBase(ReadBuffer * in = nullptr, bool allow_different_codecs_ = false); diff --git a/src/Compression/CompressedReadBufferFromFile.cpp b/src/Compression/CompressedReadBufferFromFile.cpp index 0c347b7ce2c..68f6757e04d 100644 --- a/src/Compression/CompressedReadBufferFromFile.cpp +++ b/src/Compression/CompressedReadBufferFromFile.cpp @@ -91,6 +91,9 @@ void CompressedReadBufferFromFile::seek(size_t offset_in_compressed_file, size_t size_t CompressedReadBufferFromFile::readBig(char * to, size_t n) { size_t bytes_read = 0; + /// The codec mode is only relevant for codecs which support hardware offloading. + ICompressionCodec::CodecMode decompress_mode = ICompressionCodec::CodecMode::Synchronous; + bool read_tail = false; /// If there are unread bytes in the buffer, then we copy needed to `to`. if (pos < working_buffer.end()) @@ -102,10 +105,28 @@ size_t CompressedReadBufferFromFile::readBig(char * to, size_t n) size_t size_decompressed = 0; size_t size_compressed_without_checksum = 0; - size_t new_size_compressed = readCompressedData(size_decompressed, size_compressed_without_checksum, false); + ///Try to read block which is entirely located in a single 'compressed_in->' buffer. + size_t new_size_compressed = readCompressedDataBlockForAsynchronous(size_decompressed, size_compressed_without_checksum); + + if (new_size_compressed) + { + /// Current block is entirely located in a single 'compressed_in->' buffer. + /// We can set asynchronous decompression mode if supported to boost performance. + decompress_mode = ICompressionCodec::CodecMode::Asynchronous; + } + else + { + /// Current block cannot be decompressed asynchronously, means it probably span across two compressed_in buffers. + /// Meanwhile, asynchronous requests for previous blocks should be flushed if any. + flushAsynchronousDecompressRequests(); + /// Fallback to generic API + new_size_compressed = readCompressedData(size_decompressed, size_compressed_without_checksum, false); + decompress_mode = ICompressionCodec::CodecMode::Synchronous; + } size_compressed = 0; /// file_in no longer points to the end of the block in working_buffer. + if (!new_size_compressed) - return bytes_read; + break; auto additional_size_at_the_end_of_buffer = codec->getAdditionalSizeAtTheEndOfBuffer(); @@ -113,6 +134,7 @@ size_t CompressedReadBufferFromFile::readBig(char * to, size_t n) /// need to skip some bytes in decompressed data (seek happened before readBig call). if (nextimpl_working_buffer_offset == 0 && size_decompressed + additional_size_at_the_end_of_buffer <= n - bytes_read) { + setDecompressMode(decompress_mode); decompressTo(to + bytes_read, size_decompressed, size_compressed_without_checksum); bytes_read += size_decompressed; bytes += size_decompressed; @@ -127,6 +149,8 @@ size_t CompressedReadBufferFromFile::readBig(char * to, size_t n) assert(size_decompressed + additional_size_at_the_end_of_buffer > 0); memory.resize(size_decompressed + additional_size_at_the_end_of_buffer); working_buffer = Buffer(memory.data(), &memory[size_decompressed]); + /// Synchronous mode must be set since we need read partial data immediately from working buffer to target buffer. + setDecompressMode(ICompressionCodec::CodecMode::Synchronous); decompress(working_buffer, size_decompressed, size_compressed_without_checksum); /// Read partial data from first block. Won't run here at second block. @@ -145,15 +169,25 @@ size_t CompressedReadBufferFromFile::readBig(char * to, size_t n) assert(size_decompressed + additional_size_at_the_end_of_buffer > 0); memory.resize(size_decompressed + additional_size_at_the_end_of_buffer); working_buffer = Buffer(memory.data(), &memory[size_decompressed]); + // Asynchronous mode can be set here because working_buffer wouldn't be overwritten any more since this is the last block. + setDecompressMode(ICompressionCodec::CodecMode::Asynchronous); decompress(working_buffer, size_decompressed, size_compressed_without_checksum); - - ///Read partial data from last block. - pos = working_buffer.begin(); - bytes_read += read(to + bytes_read, n - bytes_read); + read_tail = true; break; } } + /// Here we must make sure all asynchronous requests above are completely done. + flushAsynchronousDecompressRequests(); + + if (read_tail) + { + /// Manually take nextimpl_working_buffer_offset into account, because we don't use + /// nextImpl in this method. + pos = working_buffer.begin(); + bytes_read += read(to + bytes_read, n - bytes_read); + } + return bytes_read; } diff --git a/src/Compression/CompressionCodecDeflateQpl.cpp b/src/Compression/CompressionCodecDeflateQpl.cpp new file mode 100644 index 00000000000..9e165a9c913 --- /dev/null +++ b/src/Compression/CompressionCodecDeflateQpl.cpp @@ -0,0 +1,412 @@ +#ifdef ENABLE_QPL_COMPRESSION +#include +#include +#include +#include +#include +#include +#include +#include + +namespace DB +{ +namespace ErrorCodes +{ + extern const int CANNOT_COMPRESS; + extern const int CANNOT_DECOMPRESS; +} + +std::array DeflateQplJobHWPool::hw_job_ptr_pool; +std::array DeflateQplJobHWPool::hw_job_ptr_locks; +bool DeflateQplJobHWPool::job_pool_ready = false; +std::unique_ptr DeflateQplJobHWPool::hw_jobs_buffer; + +DeflateQplJobHWPool & DeflateQplJobHWPool::instance() +{ + static DeflateQplJobHWPool pool; + return pool; +} + +DeflateQplJobHWPool::DeflateQplJobHWPool() + : random_engine(std::random_device()()) + , distribution(0, MAX_HW_JOB_NUMBER - 1) +{ + Poco::Logger * log = &Poco::Logger::get("DeflateQplJobHWPool"); + UInt32 job_size = 0; + const char * qpl_version = qpl_get_library_version(); + + /// Get size required for saving a single qpl job object + qpl_get_job_size(qpl_path_hardware, &job_size); + /// Allocate entire buffer for storing all job objects + hw_jobs_buffer = std::make_unique(job_size * MAX_HW_JOB_NUMBER); + /// Initialize pool for storing all job object pointers + /// Reallocate buffer by shifting address offset for each job object. + for (UInt32 index = 0; index < MAX_HW_JOB_NUMBER; ++index) + { + qpl_job * qpl_job_ptr = reinterpret_cast(hw_jobs_buffer.get() + index * job_size); + if (qpl_init_job(qpl_path_hardware, qpl_job_ptr) != QPL_STS_OK) + { + job_pool_ready = false; + LOG_WARNING(log, "Initialization of hardware-assisted DeflateQpl codec failed, falling back to software DeflateQpl codec. Please check if Intel In-Memory Analytics Accelerator (IAA) is properly set up. QPL Version: {}.",qpl_version); + return; + } + hw_job_ptr_pool[index] = qpl_job_ptr; + unLockJob(index); + } + + job_pool_ready = true; + LOG_DEBUG(log, "Hardware-assisted DeflateQpl codec is ready! QPL Version: {}",qpl_version); +} + +DeflateQplJobHWPool::~DeflateQplJobHWPool() +{ + for (UInt32 i = 0; i < MAX_HW_JOB_NUMBER; ++i) + { + if (hw_job_ptr_pool[i]) + { + while (!tryLockJob(i)); + qpl_fini_job(hw_job_ptr_pool[i]); + unLockJob(i); + hw_job_ptr_pool[i] = nullptr; + } + } + job_pool_ready = false; +} + +qpl_job * DeflateQplJobHWPool::acquireJob(UInt32 & job_id) +{ + if (isJobPoolReady()) + { + UInt32 retry = 0; + auto index = distribution(random_engine); + while (!tryLockJob(index)) + { + index = distribution(random_engine); + retry++; + if (retry > MAX_HW_JOB_NUMBER) + { + return nullptr; + } + } + job_id = MAX_HW_JOB_NUMBER - index; + assert(index < MAX_HW_JOB_NUMBER); + return hw_job_ptr_pool[index]; + } + else + return nullptr; +} + +void DeflateQplJobHWPool::releaseJob(UInt32 job_id) +{ + if (isJobPoolReady()) + unLockJob(MAX_HW_JOB_NUMBER - job_id); +} + +bool DeflateQplJobHWPool::tryLockJob(UInt32 index) +{ + bool expected = false; + assert(index < MAX_HW_JOB_NUMBER); + return hw_job_ptr_locks[index].compare_exchange_strong(expected, true); +} + +void DeflateQplJobHWPool::unLockJob(UInt32 index) +{ + assert(index < MAX_HW_JOB_NUMBER); + hw_job_ptr_locks[index].store(false); +} + +//HardwareCodecDeflateQpl +HardwareCodecDeflateQpl::HardwareCodecDeflateQpl() + :log(&Poco::Logger::get("HardwareCodecDeflateQpl")) +{ +} + +HardwareCodecDeflateQpl::~HardwareCodecDeflateQpl() +{ +#ifndef NDEBUG + assert(decomp_async_job_map.empty()); +#else + if (!decomp_async_job_map.empty()) + { + LOG_WARNING(log, "Find un-released job when HardwareCodecDeflateQpl destroy"); + for (auto it : decomp_async_job_map) + { + DeflateQplJobHWPool::instance().releaseJob(it.first); + } + decomp_async_job_map.clear(); + } +#endif +} + +Int32 HardwareCodecDeflateQpl::doCompressData(const char * source, UInt32 source_size, char * dest, UInt32 dest_size) const +{ + UInt32 job_id = 0; + qpl_job * job_ptr = nullptr; + UInt32 compressed_size = 0; + if (!(job_ptr = DeflateQplJobHWPool::instance().acquireJob(job_id))) + { + LOG_INFO(log, "DeflateQpl HW codec failed, falling back to SW codec.(Details: doCompressData->acquireJob fail, probably job pool exhausted)"); + return RET_ERROR; + } + + job_ptr->op = qpl_op_compress; + job_ptr->next_in_ptr = reinterpret_cast(const_cast(source)); + job_ptr->next_out_ptr = reinterpret_cast(dest); + job_ptr->available_in = source_size; + job_ptr->level = qpl_default_level; + job_ptr->available_out = dest_size; + job_ptr->flags = QPL_FLAG_FIRST | QPL_FLAG_DYNAMIC_HUFFMAN | QPL_FLAG_LAST | QPL_FLAG_OMIT_VERIFY; + + if (auto status = qpl_execute_job(job_ptr); status == QPL_STS_OK) + { + compressed_size = job_ptr->total_out; + DeflateQplJobHWPool::instance().releaseJob(job_id); + return compressed_size; + } + else + { + LOG_WARNING(log, "DeflateQpl HW codec failed, falling back to SW codec.(Details: doCompressData->qpl_execute_job with error code: {} - please refer to qpl_status in ./contrib/qpl/include/qpl/c_api/status.h)", status); + DeflateQplJobHWPool::instance().releaseJob(job_id); + return RET_ERROR; + } +} + +Int32 HardwareCodecDeflateQpl::doDecompressDataSynchronous(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) +{ + UInt32 job_id = 0; + qpl_job * job_ptr = nullptr; + UInt32 decompressed_size = 0; + if (!(job_ptr = DeflateQplJobHWPool::instance().acquireJob(job_id))) + { + LOG_INFO(log, "DeflateQpl HW codec failed, falling back to SW codec.(Details: doDecompressDataSynchronous->acquireJob fail, probably job pool exhausted)"); + return RET_ERROR; + } + + // Performing a decompression operation + job_ptr->op = qpl_op_decompress; + job_ptr->next_in_ptr = reinterpret_cast(const_cast(source)); + job_ptr->next_out_ptr = reinterpret_cast(dest); + job_ptr->available_in = source_size; + job_ptr->available_out = uncompressed_size; + job_ptr->flags = QPL_FLAG_FIRST | QPL_FLAG_LAST; + + if (auto status = qpl_submit_job(job_ptr); status != QPL_STS_OK) + { + DeflateQplJobHWPool::instance().releaseJob(job_id); + LOG_WARNING(log, "DeflateQpl HW codec failed, falling back to SW codec.(Details: doDecompressDataSynchronous->qpl_execute_job with error code: {} - please refer to qpl_status in ./contrib/qpl/include/qpl/c_api/status.h)", status); + return RET_ERROR; + } + /// Busy waiting till job complete. + do + { + _tpause(1, __rdtsc() + 1000); + } while (qpl_check_job(job_ptr) == QPL_STS_BEING_PROCESSED); + + decompressed_size = job_ptr->total_out; + DeflateQplJobHWPool::instance().releaseJob(job_id); + return decompressed_size; +} + +Int32 HardwareCodecDeflateQpl::doDecompressDataAsynchronous(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) +{ + UInt32 job_id = 0; + qpl_job * job_ptr = nullptr; + if (!(job_ptr = DeflateQplJobHWPool::instance().acquireJob(job_id))) + { + LOG_INFO(log, "DeflateQpl HW codec failed, falling back to SW codec.(Details: doDecompressDataAsynchronous->acquireJob fail, probably job pool exhausted)"); + return RET_ERROR; + } + + // Performing a decompression operation + job_ptr->op = qpl_op_decompress; + job_ptr->next_in_ptr = reinterpret_cast(const_cast(source)); + job_ptr->next_out_ptr = reinterpret_cast(dest); + job_ptr->available_in = source_size; + job_ptr->available_out = uncompressed_size; + job_ptr->flags = QPL_FLAG_FIRST | QPL_FLAG_LAST; + + if (auto status = qpl_submit_job(job_ptr); status == QPL_STS_OK) + { + decomp_async_job_map.insert({job_id, job_ptr}); + return job_id; + } + else + { + DeflateQplJobHWPool::instance().releaseJob(job_id); + LOG_WARNING(log, "DeflateQpl HW codec failed, falling back to SW codec.(Details: doDecompressDataAsynchronous->qpl_execute_job with error code: {} - please refer to qpl_status in ./contrib/qpl/include/qpl/c_api/status.h)", status); + return RET_ERROR; + } +} + +void HardwareCodecDeflateQpl::flushAsynchronousDecompressRequests() +{ + UInt32 n_jobs_processing = decomp_async_job_map.size(); + std::map::iterator it = decomp_async_job_map.begin(); + + while (n_jobs_processing) + { + UInt32 job_id = 0; + qpl_job * job_ptr = nullptr; + job_id = it->first; + job_ptr = it->second; + + if (qpl_check_job(job_ptr) == QPL_STS_BEING_PROCESSED) + { + it++; + } + else + { + it = decomp_async_job_map.erase(it); + DeflateQplJobHWPool::instance().releaseJob(job_id); + n_jobs_processing--; + if (n_jobs_processing <= 0) + break; + } + if (it == decomp_async_job_map.end()) + { + it = decomp_async_job_map.begin(); + _tpause(1, __rdtsc() + 1000); + } + } +} + +SoftwareCodecDeflateQpl::~SoftwareCodecDeflateQpl() +{ + if (!sw_job) + qpl_fini_job(sw_job); +} + +qpl_job * SoftwareCodecDeflateQpl::getJobCodecPtr() +{ + if (!sw_job) + { + UInt32 size = 0; + qpl_get_job_size(qpl_path_software, &size); + + sw_buffer = std::make_unique(size); + sw_job = reinterpret_cast(sw_buffer.get()); + + // Job initialization + if (auto status = qpl_init_job(qpl_path_software, sw_job); status != QPL_STS_OK) + throw Exception(ErrorCodes::CANNOT_COMPRESS, + "Initialization of DeflateQpl software fallback codec failed. (Details: qpl_init_job with error code: {} - please refer to qpl_status in ./contrib/qpl/include/qpl/c_api/status.h)", status); + } + return sw_job; +} + +UInt32 SoftwareCodecDeflateQpl::doCompressData(const char * source, UInt32 source_size, char * dest, UInt32 dest_size) +{ + qpl_job * job_ptr = getJobCodecPtr(); + // Performing a compression operation + job_ptr->op = qpl_op_compress; + job_ptr->next_in_ptr = reinterpret_cast(const_cast(source)); + job_ptr->next_out_ptr = reinterpret_cast(dest); + job_ptr->available_in = source_size; + job_ptr->available_out = dest_size; + job_ptr->level = qpl_default_level; + job_ptr->flags = QPL_FLAG_FIRST | QPL_FLAG_DYNAMIC_HUFFMAN | QPL_FLAG_LAST | QPL_FLAG_OMIT_VERIFY; + + if (auto status = qpl_execute_job(job_ptr); status != QPL_STS_OK) + throw Exception(ErrorCodes::CANNOT_COMPRESS, + "Execution of DeflateQpl software fallback codec failed. (Details: qpl_execute_job with error code: {} - please refer to qpl_status in ./contrib/qpl/include/qpl/c_api/status.h)", status); + + return job_ptr->total_out; +} + +void SoftwareCodecDeflateQpl::doDecompressData(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) +{ + qpl_job * job_ptr = getJobCodecPtr(); + + // Performing a decompression operation + job_ptr->op = qpl_op_decompress; + job_ptr->next_in_ptr = reinterpret_cast(const_cast(source)); + job_ptr->next_out_ptr = reinterpret_cast(dest); + job_ptr->available_in = source_size; + job_ptr->available_out = uncompressed_size; + job_ptr->flags = QPL_FLAG_FIRST | QPL_FLAG_LAST; + + if (auto status = qpl_execute_job(job_ptr); status != QPL_STS_OK) + throw Exception(ErrorCodes::CANNOT_DECOMPRESS, + "Execution of DeflateQpl software fallback codec failed. (Details: qpl_execute_job with error code: {} - please refer to qpl_status in ./contrib/qpl/include/qpl/c_api/status.h)", status); +} + +CompressionCodecDeflateQpl::CompressionCodecDeflateQpl() + : hw_codec(std::make_unique()) + , sw_codec(std::make_unique()) +{ + setCodecDescription("DEFLATE_QPL"); +} + +uint8_t CompressionCodecDeflateQpl::getMethodByte() const +{ + return static_cast(CompressionMethodByte::DeflateQpl); +} + +void CompressionCodecDeflateQpl::updateHash(SipHash & hash) const +{ + getCodecDesc()->updateTreeHash(hash); +} + +UInt32 CompressionCodecDeflateQpl::getMaxCompressedDataSize(UInt32 uncompressed_size) const +{ + /// Aligned with ZLIB + return ((uncompressed_size) + ((uncompressed_size) >> 12) + ((uncompressed_size) >> 14) + ((uncompressed_size) >> 25) + 13); +} + +UInt32 CompressionCodecDeflateQpl::doCompressData(const char * source, UInt32 source_size, char * dest) const +{ + Int32 res = HardwareCodecDeflateQpl::RET_ERROR; + if (DeflateQplJobHWPool::instance().isJobPoolReady()) + res = hw_codec->doCompressData(source, source_size, dest, getMaxCompressedDataSize(source_size)); + if (res == HardwareCodecDeflateQpl::RET_ERROR) + res = sw_codec->doCompressData(source, source_size, dest, getMaxCompressedDataSize(source_size)); + return res; +} + +void CompressionCodecDeflateQpl::doDecompressData(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) const +{ + switch (getDecompressMode()) + { + case CodecMode::Synchronous: + { + Int32 res = HardwareCodecDeflateQpl::RET_ERROR; + if (DeflateQplJobHWPool::instance().isJobPoolReady()) + { + res = hw_codec->doDecompressDataSynchronous(source, source_size, dest, uncompressed_size); + if (res == HardwareCodecDeflateQpl::RET_ERROR) + sw_codec->doDecompressData(source, source_size, dest, uncompressed_size); + } + else + sw_codec->doDecompressData(source, source_size, dest, uncompressed_size); + return; + } + case CodecMode::Asynchronous: + { + Int32 res = HardwareCodecDeflateQpl::RET_ERROR; + if (DeflateQplJobHWPool::instance().isJobPoolReady()) + res = hw_codec->doDecompressDataAsynchronous(source, source_size, dest, uncompressed_size); + if (res == HardwareCodecDeflateQpl::RET_ERROR) + sw_codec->doDecompressData(source, source_size, dest, uncompressed_size); + return; + } + case CodecMode::SoftwareFallback: + sw_codec->doDecompressData(source, source_size, dest, uncompressed_size); + return; + } + __builtin_unreachable(); +} + +void CompressionCodecDeflateQpl::flushAsynchronousDecompressRequests() +{ + if (DeflateQplJobHWPool::instance().isJobPoolReady()) + hw_codec->flushAsynchronousDecompressRequests(); + /// After flush previous all async requests, we must restore mode to be synchronous by default. + setDecompressMode(CodecMode::Synchronous); +} +void registerCodecDeflateQpl(CompressionCodecFactory & factory) +{ + factory.registerSimpleCompressionCodec( + "DEFLATE_QPL", static_cast(CompressionMethodByte::DeflateQpl), [&]() { return std::make_shared(); }); +} +} +#endif diff --git a/src/Compression/CompressionCodecDeflateQpl.h b/src/Compression/CompressionCodecDeflateQpl.h new file mode 100644 index 00000000000..1a13a1ca42c --- /dev/null +++ b/src/Compression/CompressionCodecDeflateQpl.h @@ -0,0 +1,115 @@ +#pragma once + +#include +#include +#include +#include + +namespace Poco +{ +class Logger; +} + +namespace DB +{ + +/// DeflateQplJobHWPool is resource pool to provide the job objects. +/// Job object is used for storing context information during offloading compression job to HW Accelerator. +class DeflateQplJobHWPool +{ +public: + DeflateQplJobHWPool(); + ~DeflateQplJobHWPool(); + + static DeflateQplJobHWPool & instance(); + + qpl_job * acquireJob(UInt32 & job_id); + static void releaseJob(UInt32 job_id); + static const bool & isJobPoolReady() { return job_pool_ready; } + +private: + static bool tryLockJob(UInt32 index); + static void unLockJob(UInt32 index); + + /// Maximum jobs running in parallel supported by IAA hardware + static constexpr auto MAX_HW_JOB_NUMBER = 1024; + /// Entire buffer for storing all job objects + static std::unique_ptr hw_jobs_buffer; + /// Job pool for storing all job object pointers + static std::array hw_job_ptr_pool; + /// Locks for accessing each job object pointers + static std::array hw_job_ptr_locks; + static bool job_pool_ready; + std::mt19937 random_engine; + std::uniform_int_distribution distribution; +}; + +class SoftwareCodecDeflateQpl +{ +public: + ~SoftwareCodecDeflateQpl(); + UInt32 doCompressData(const char * source, UInt32 source_size, char * dest, UInt32 dest_size); + void doDecompressData(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size); + +private: + qpl_job * sw_job = nullptr; + std::unique_ptr sw_buffer; + + qpl_job * getJobCodecPtr(); +}; + +class HardwareCodecDeflateQpl +{ +public: + /// RET_ERROR stands for hardware codec fail, needs fallback to software codec. + static constexpr Int32 RET_ERROR = -1; + + HardwareCodecDeflateQpl(); + ~HardwareCodecDeflateQpl(); + + Int32 doCompressData(const char * source, UInt32 source_size, char * dest, UInt32 dest_size) const; + + /// Submit job request to the IAA hardware and then busy waiting till it complete. + Int32 doDecompressDataSynchronous(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size); + + /// Submit job request to the IAA hardware and return immediately. IAA hardware will process decompression jobs automatically. + Int32 doDecompressDataAsynchronous(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size); + + /// Flush result for all previous requests which means busy waiting till all the jobs in "decomp_async_job_map" are finished. + /// Must be called subsequently after several calls of doDecompressDataReq. + void flushAsynchronousDecompressRequests(); + +private: + /// Asynchronous job map for decompression: job ID - job object. + /// For each submission, push job ID && job object into this map; + /// For flush, pop out job ID && job object from this map. Use job ID to release job lock and use job object to check job status till complete. + std::map decomp_async_job_map; + Poco::Logger * log; +}; + +class CompressionCodecDeflateQpl : public ICompressionCodec +{ +public: + CompressionCodecDeflateQpl(); + uint8_t getMethodByte() const override; + void updateHash(SipHash & hash) const override; + +protected: + bool isCompression() const override { return true; } + bool isGenericCompression() const override { return true; } + bool isExperimental() const override { return true; } + + UInt32 doCompressData(const char * source, UInt32 source_size, char * dest) const override; + void doDecompressData(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) const override; + + /// Flush result for previous asynchronous decompression requests on asynchronous mode. + void flushAsynchronousDecompressRequests() override; + +private: + UInt32 getMaxCompressedDataSize(UInt32 uncompressed_size) const override; + + std::unique_ptr hw_codec; + std::unique_ptr sw_codec; +}; + +} diff --git a/src/Compression/CompressionCodecDoubleDelta.cpp b/src/Compression/CompressionCodecDoubleDelta.cpp index 89004cec057..017c82701f5 100644 --- a/src/Compression/CompressionCodecDoubleDelta.cpp +++ b/src/Compression/CompressionCodecDoubleDelta.cpp @@ -292,7 +292,7 @@ UInt32 compressDataForType(const char * source, UInt32 source_size, char * dest) const char * dest_start = dest; const UInt32 items_count = source_size / sizeof(ValueType); - unalignedStore(dest, items_count); + unalignedStoreLE(dest, items_count); dest += sizeof(items_count); ValueType prev_value{}; @@ -300,8 +300,8 @@ UInt32 compressDataForType(const char * source, UInt32 source_size, char * dest) if (source < source_end) { - prev_value = unalignedLoad(source); - unalignedStore(dest, prev_value); + prev_value = unalignedLoadLE(source); + unalignedStoreLE(dest, prev_value); source += sizeof(prev_value); dest += sizeof(prev_value); @@ -309,10 +309,10 @@ UInt32 compressDataForType(const char * source, UInt32 source_size, char * dest) if (source < source_end) { - const ValueType curr_value = unalignedLoad(source); + const ValueType curr_value = unalignedLoadLE(source); prev_delta = curr_value - prev_value; - unalignedStore(dest, prev_delta); + unalignedStoreLE(dest, prev_delta); source += sizeof(curr_value); dest += sizeof(prev_delta); @@ -324,7 +324,7 @@ UInt32 compressDataForType(const char * source, UInt32 source_size, char * dest) int item = 2; for (; source < source_end; source += sizeof(ValueType), ++item) { - const ValueType curr_value = unalignedLoad(source); + const ValueType curr_value = unalignedLoadLE(source); const UnsignedDeltaType delta = curr_value - prev_value; const UnsignedDeltaType double_delta = delta - prev_delta; @@ -368,7 +368,7 @@ void decompressDataForType(const char * source, UInt32 source_size, char * dest, if (source + sizeof(UInt32) > source_end) return; - const UInt32 items_count = unalignedLoad(source); + const UInt32 items_count = unalignedLoadLE(source); source += sizeof(items_count); ValueType prev_value{}; @@ -378,10 +378,10 @@ void decompressDataForType(const char * source, UInt32 source_size, char * dest, if (source + sizeof(ValueType) > source_end || items_count < 1) return; - prev_value = unalignedLoad(source); + prev_value = unalignedLoadLE(source); if (dest + sizeof(prev_value) > output_end) throw Exception(ErrorCodes::CANNOT_DECOMPRESS, "Cannot decompress the data"); - unalignedStore(dest, prev_value); + unalignedStoreLE(dest, prev_value); source += sizeof(prev_value); dest += sizeof(prev_value); @@ -390,11 +390,11 @@ void decompressDataForType(const char * source, UInt32 source_size, char * dest, if (source + sizeof(UnsignedDeltaType) > source_end || items_count < 2) return; - prev_delta = unalignedLoad(source); + prev_delta = unalignedLoadLE(source); prev_value = prev_value + static_cast(prev_delta); if (dest + sizeof(prev_value) > output_end) throw Exception(ErrorCodes::CANNOT_DECOMPRESS, "Cannot decompress the data"); - unalignedStore(dest, prev_value); + unalignedStoreLE(dest, prev_value); source += sizeof(prev_delta); dest += sizeof(prev_value); @@ -427,7 +427,7 @@ void decompressDataForType(const char * source, UInt32 source_size, char * dest, const ValueType curr_value = prev_value + delta; if (dest + sizeof(curr_value) > output_end) throw Exception(ErrorCodes::CANNOT_DECOMPRESS, "Cannot decompress the data"); - unalignedStore(dest, curr_value); + unalignedStoreLE(dest, curr_value); dest += sizeof(curr_value); prev_delta = curr_value - prev_value; diff --git a/src/Compression/CompressionCodecEncrypted.cpp b/src/Compression/CompressionCodecEncrypted.cpp index f7e597a0519..bf36fa114fb 100644 --- a/src/Compression/CompressionCodecEncrypted.cpp +++ b/src/Compression/CompressionCodecEncrypted.cpp @@ -131,7 +131,7 @@ std::string lastErrorString() /// This function get key and nonce and encrypt text with their help. /// If something went wrong (can't init context or can't encrypt data) it throws exception. /// It returns length of encrypted text. -size_t encrypt(const std::string_view & plaintext, char * ciphertext_and_tag, EncryptionMethod method, const String & key, const String & nonce) +size_t encrypt(std::string_view plaintext, char * ciphertext_and_tag, EncryptionMethod method, const String & key, const String & nonce) { /// Init context for encryption, using key. EVP_AEAD_CTX encrypt_ctx; @@ -160,7 +160,7 @@ size_t encrypt(const std::string_view & plaintext, char * ciphertext_and_tag, En /// This function get key and nonce and encrypt text with their help. /// If something went wrong (can't init context or can't encrypt data) it throws exception. /// It returns length of encrypted text. -size_t decrypt(const std::string_view & ciphertext, char * plaintext, EncryptionMethod method, const String & key, const String & nonce) +size_t decrypt(std::string_view ciphertext, char * plaintext, EncryptionMethod method, const String & key, const String & nonce) { /// Init context for decryption with given key. EVP_AEAD_CTX decrypt_ctx; diff --git a/src/Compression/CompressionCodecFPC.cpp b/src/Compression/CompressionCodecFPC.cpp new file mode 100644 index 00000000000..247eb73b65b --- /dev/null +++ b/src/Compression/CompressionCodecFPC.cpp @@ -0,0 +1,491 @@ +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +namespace DB +{ + +/// An implementation of the FPC codec for floating-point values described in the paper +/// M. Burtscher, P. Ratanaworabhan: "FPC: A high-speed compressor for double-precision floating-point data" (2008). +/// Note: The paper only describes compression of 64-bit doubles and leaves 32-bit floats to future work. The code +/// implements them anyways. Your mileage with respect to performance and compression may vary. +class CompressionCodecFPC : public ICompressionCodec +{ +public: + CompressionCodecFPC(UInt8 float_size, UInt8 compression_level); + + uint8_t getMethodByte() const override; + + void updateHash(SipHash & hash) const override; + + static constexpr UInt8 MAX_COMPRESSION_LEVEL = 28; + static constexpr UInt8 DEFAULT_COMPRESSION_LEVEL = 12; + +protected: + UInt32 doCompressData(const char * source, UInt32 source_size, char * dest) const override; + + void doDecompressData(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) const override; + + UInt32 getMaxCompressedDataSize(UInt32 uncompressed_size) const override; + + bool isCompression() const override { return true; } + bool isGenericCompression() const override { return false; } + +private: + static constexpr UInt32 HEADER_SIZE = 2; + + // below members are used by compression, decompression ignores them: + const UInt8 float_width; // size of uncompressed float in bytes + const UInt8 level; // compression level, 2^level * float_width is the size of predictors table in bytes +}; + + +namespace ErrorCodes +{ + extern const int CANNOT_COMPRESS; + extern const int CANNOT_DECOMPRESS; + extern const int ILLEGAL_CODEC_PARAMETER; + extern const int ILLEGAL_SYNTAX_FOR_CODEC_TYPE; + extern const int BAD_ARGUMENTS; +} + +uint8_t CompressionCodecFPC::getMethodByte() const +{ + return static_cast(CompressionMethodByte::FPC); +} + +void CompressionCodecFPC::updateHash(SipHash & hash) const +{ + getCodecDesc()->updateTreeHash(hash); +} + +CompressionCodecFPC::CompressionCodecFPC(UInt8 float_size, UInt8 compression_level) + : float_width{float_size}, level{compression_level} +{ + setCodecDescription("FPC", {std::make_shared(static_cast(level))}); +} + +UInt32 CompressionCodecFPC::getMaxCompressedDataSize(UInt32 uncompressed_size) const +{ + auto float_count = (uncompressed_size + float_width - 1) / float_width; + if (float_count % 2 != 0) + ++float_count; + return HEADER_SIZE + float_count * float_width + float_count / 2; +} + +namespace +{ + +UInt8 getFloatBytesSize(const IDataType & column_type) +{ + if (!WhichDataType(column_type).isFloat()) + { + throw Exception(ErrorCodes::BAD_ARGUMENTS, "FPC codec is not applicable for {} because the data type is not float", + column_type.getName()); + } + + if (auto float_size = column_type.getSizeOfValueInMemory(); float_size >= 4) + { + return static_cast(float_size); + } + throw Exception(ErrorCodes::BAD_ARGUMENTS, "FPC codec is not applicable for floats of size less than 4 bytes. Given type {}", + column_type.getName()); +} + +} + +void registerCodecFPC(CompressionCodecFactory & factory) +{ + auto method_code = static_cast(CompressionMethodByte::FPC); + auto codec_builder = [&](const ASTPtr & arguments, const IDataType * column_type) -> CompressionCodecPtr + { + UInt8 float_width = 0; + if (column_type != nullptr) + float_width = getFloatBytesSize(*column_type); + + UInt8 level = CompressionCodecFPC::DEFAULT_COMPRESSION_LEVEL; + if (arguments && !arguments->children.empty()) + { + if (arguments->children.size() > 1) + { + throw Exception(ErrorCodes::ILLEGAL_SYNTAX_FOR_CODEC_TYPE, + "FPC codec must have 1 parameter, given {}", arguments->children.size()); + } + + const auto * literal = arguments->children.front()->as(); + if (!literal) + throw Exception("FPC codec argument must be integer", ErrorCodes::ILLEGAL_CODEC_PARAMETER); + + level = literal->value.safeGet(); + if (level < 1 || level > CompressionCodecFPC::MAX_COMPRESSION_LEVEL) + throw Exception(ErrorCodes::ILLEGAL_CODEC_PARAMETER, "FPC codec level must be between {} and {}", 1, static_cast(CompressionCodecFPC::MAX_COMPRESSION_LEVEL)); + } + return std::make_shared(float_width, level); + }; + factory.registerCompressionCodecWithType("FPC", method_code, codec_builder); +} + +namespace +{ + +template +requires (sizeof(TUint) >= 4) +class DfcmPredictor +{ +public: + explicit DfcmPredictor(std::size_t table_size) + : table(table_size, 0), prev_value{0}, hash{0} + { + } + + [[nodiscard]] + TUint predict() const noexcept + { + return table[hash] + prev_value; + } + + void add(TUint value) noexcept + { + table[hash] = value - prev_value; + recalculateHash(); + prev_value = value; + } + +private: + void recalculateHash() noexcept + { + auto value = table[hash]; + if constexpr (sizeof(TUint) >= 8) + { + hash = ((hash << 2) ^ static_cast(value >> 40)) & (table.size() - 1); + } + else + { + hash = ((hash << 4) ^ static_cast(value >> 23)) & (table.size() - 1); + } + } + + std::vector table; + TUint prev_value; + std::size_t hash; +}; + +template +requires (sizeof(TUint) >= 4) +class FcmPredictor +{ +public: + explicit FcmPredictor(std::size_t table_size) + : table(table_size, 0), hash{0} + { + } + + [[nodiscard]] + TUint predict() const noexcept + { + return table[hash]; + } + + void add(TUint value) noexcept + { + table[hash] = value; + recalculateHash(); + } + +private: + void recalculateHash() noexcept + { + auto value = table[hash]; + if constexpr (sizeof(TUint) >= 8) + { + hash = ((hash << 6) ^ static_cast(value >> 48)) & (table.size() - 1); + } + else + { + hash = ((hash << 1) ^ static_cast(value >> 22)) & (table.size() - 1); + } + } + + std::vector table; + std::size_t hash; +}; + +template +class FPCOperation +{ + static constexpr auto VALUE_SIZE = sizeof(TUint); + static constexpr std::byte FCM_BIT{0}; + static constexpr std::byte DFCM_BIT{1u << 3}; + static constexpr auto DFCM_BIT_1 = DFCM_BIT << 4; + static constexpr auto DFCM_BIT_2 = DFCM_BIT; + static constexpr unsigned MAX_ZERO_BYTE_COUNT = 0b111u; + static constexpr std::endian ENDIAN = std::endian::little; + static constexpr std::size_t CHUNK_SIZE = 64; + +public: + FPCOperation(std::span destination, UInt8 compression_level) + : dfcm_predictor(1u << compression_level), fcm_predictor(1u << compression_level), chunk{}, result{destination} + { + } + + std::size_t encode(std::span data) && + { + auto initial_size = result.size(); + + std::span chunk_view(chunk); + for (std::size_t i = 0; i < data.size(); i += chunk_view.size_bytes()) + { + auto written_values_count = importChunk(data.subspan(i), chunk_view); + encodeChunk(chunk_view.subspan(0, written_values_count)); + } + + return initial_size - result.size(); + } + + void decode(std::span values, std::size_t decoded_size) && + { + std::size_t read_bytes = 0; + + std::span chunk_view(chunk); + for (std::size_t i = 0; i < decoded_size; i += chunk_view.size_bytes()) + { + if (i + chunk_view.size_bytes() > decoded_size) + chunk_view = chunk_view.first(ceilBytesToEvenValues(decoded_size - i)); + read_bytes += decodeChunk(values.subspan(read_bytes), chunk_view); + exportChunk(chunk_view); + } + } + +private: + static std::size_t ceilBytesToEvenValues(std::size_t bytes_count) + { + auto values_count = (bytes_count + VALUE_SIZE - 1) / VALUE_SIZE; + return values_count % 2 == 0 ? values_count : values_count + 1; + } + + std::size_t importChunk(std::span values, std::span chnk) + { + if (auto chunk_view = std::as_writable_bytes(chnk); chunk_view.size() <= values.size()) + { + std::memcpy(chunk_view.data(), values.data(), chunk_view.size()); + return chunk_view.size() / VALUE_SIZE; + } + else + { + std::memset(chunk_view.data(), 0, chunk_view.size()); + std::memcpy(chunk_view.data(), values.data(), values.size()); + return ceilBytesToEvenValues(values.size()); + } + } + + void exportChunk(std::span chnk) + { + auto chunk_view = std::as_bytes(chnk).first(std::min(result.size(), chnk.size_bytes())); + std::memcpy(result.data(), chunk_view.data(), chunk_view.size()); + result = result.subspan(chunk_view.size()); + } + + void encodeChunk(std::span seq) + { + for (std::size_t i = 0; i < seq.size(); i += 2) + { + encodePair(seq[i], seq[i + 1]); + } + } + + struct CompressedValue + { + TUint value; + unsigned compressed_size; + std::byte predictor; + }; + + unsigned encodeCompressedZeroByteCount(unsigned compressed) + { + if constexpr (VALUE_SIZE == MAX_ZERO_BYTE_COUNT + 1) + { + if (compressed >= 4) + --compressed; + } + return std::min(compressed, MAX_ZERO_BYTE_COUNT); + } + + unsigned decodeCompressedZeroByteCount(unsigned encoded_size) + { + if constexpr (VALUE_SIZE == MAX_ZERO_BYTE_COUNT + 1) + { + if (encoded_size > 3) + ++encoded_size; + } + return encoded_size; + } + + CompressedValue compressValue(TUint value) noexcept + { + static constexpr auto BITS_PER_BYTE = std::numeric_limits::digits; + + TUint compressed_dfcm = dfcm_predictor.predict() ^ value; + TUint compressed_fcm = fcm_predictor.predict() ^ value; + dfcm_predictor.add(value); + fcm_predictor.add(value); + auto zeroes_dfcm = std::countl_zero(compressed_dfcm); + auto zeroes_fcm = std::countl_zero(compressed_fcm); + if (zeroes_dfcm > zeroes_fcm) + return {compressed_dfcm, encodeCompressedZeroByteCount(static_cast(zeroes_dfcm) / BITS_PER_BYTE), DFCM_BIT}; + return {compressed_fcm, encodeCompressedZeroByteCount(static_cast(zeroes_fcm) / BITS_PER_BYTE), FCM_BIT}; + } + + void encodePair(TUint first, TUint second) + { + auto [compressed_value1, zero_byte_count1, predictor1] = compressValue(first); + auto [compressed_value2, zero_byte_count2, predictor2] = compressValue(second); + std::byte header{0x0}; + header |= (predictor1 << 4) | predictor2; + header |= static_cast((zero_byte_count1 << 4) | zero_byte_count2); + result.front() = header; + + zero_byte_count1 = decodeCompressedZeroByteCount(zero_byte_count1); + zero_byte_count2 = decodeCompressedZeroByteCount(zero_byte_count2); + auto tail_size1 = VALUE_SIZE - zero_byte_count1; + auto tail_size2 = VALUE_SIZE - zero_byte_count2; + + std::memcpy(result.data() + 1, valueTail(compressed_value1, zero_byte_count1), tail_size1); + std::memcpy(result.data() + 1 + tail_size1, valueTail(compressed_value2, zero_byte_count2), tail_size2); + result = result.subspan(1 + tail_size1 + tail_size2); + } + + std::size_t decodeChunk(std::span values, std::span seq) + { + std::size_t read_bytes = 0; + for (std::size_t i = 0; i < seq.size(); i += 2) + { + read_bytes += decodePair(values.subspan(read_bytes), seq[i], seq[i + 1]); + } + return read_bytes; + } + + TUint decompressValue(TUint value, bool isDfcmPredictor) + { + TUint decompressed; + if (isDfcmPredictor) + { + decompressed = dfcm_predictor.predict() ^ value; + } + else + { + decompressed = fcm_predictor.predict() ^ value; + } + dfcm_predictor.add(decompressed); + fcm_predictor.add(decompressed); + return decompressed; + } + + std::size_t decodePair(std::span bytes, TUint& first, TUint& second) + { + if (bytes.empty()) [[unlikely]] + throw Exception(ErrorCodes::CANNOT_DECOMPRESS, "Unexpected end of encoded sequence"); + + auto zero_byte_count1 = decodeCompressedZeroByteCount( + std::to_integer(bytes.front() >> 4) & MAX_ZERO_BYTE_COUNT); + auto zero_byte_count2 = decodeCompressedZeroByteCount( + std::to_integer(bytes.front()) & MAX_ZERO_BYTE_COUNT); + + auto tail_size1 = VALUE_SIZE - zero_byte_count1; + auto tail_size2 = VALUE_SIZE - zero_byte_count2; + + if (bytes.size() < 1 + tail_size1 + tail_size2) [[unlikely]] + throw Exception(ErrorCodes::CANNOT_DECOMPRESS, "Unexpected end of encoded sequence"); + + TUint value1 = 0; + TUint value2 = 0; + + std::memcpy(valueTail(value1, zero_byte_count1), bytes.data() + 1, tail_size1); + std::memcpy(valueTail(value2, zero_byte_count2), bytes.data() + 1 + tail_size1, tail_size2); + + auto is_dfcm_predictor1 = std::to_integer(bytes.front() & DFCM_BIT_1) != 0; + auto is_dfcm_predictor2 = std::to_integer(bytes.front() & DFCM_BIT_2) != 0; + first = decompressValue(value1, is_dfcm_predictor1); + second = decompressValue(value2, is_dfcm_predictor2); + + return 1 + tail_size1 + tail_size2; + } + + static void* valueTail(TUint& value, unsigned compressed_size) + { + if constexpr (ENDIAN == std::endian::little) + { + return &value; + } + else + { + return reinterpret_cast(&value) + compressed_size; + } + } + + DfcmPredictor dfcm_predictor; + FcmPredictor fcm_predictor; + + // memcpy the input into this buffer to align reads, this improves performance compared to unaligned reads (bit_cast) by ~10% + std::array chunk{}; + + std::span result{}; +}; + +} + +UInt32 CompressionCodecFPC::doCompressData(const char * source, UInt32 source_size, char * dest) const +{ + dest[0] = static_cast(float_width); + dest[1] = static_cast(level); + + auto dest_size = getMaxCompressedDataSize(source_size); + auto destination = std::as_writable_bytes(std::span(dest, dest_size).subspan(HEADER_SIZE)); + auto src = std::as_bytes(std::span(source, source_size)); + switch (float_width) + { + case sizeof(Float64): + return HEADER_SIZE + FPCOperation(destination, level).encode(src); + case sizeof(Float32): + return HEADER_SIZE + FPCOperation(destination, level).encode(src); + default: + break; + } + throw Exception("Cannot compress. File has incorrect float width", ErrorCodes::CANNOT_COMPRESS); +} + +void CompressionCodecFPC::doDecompressData(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) const +{ + if (source_size < HEADER_SIZE) + throw Exception("Cannot decompress. File has wrong header", ErrorCodes::CANNOT_DECOMPRESS); + + auto compressed_data = std::as_bytes(std::span(source, source_size)); + auto compressed_float_width = std::to_integer(compressed_data[0]); + auto compressed_level = std::to_integer(compressed_data[1]); + if (compressed_level == 0 || compressed_level > MAX_COMPRESSION_LEVEL) + throw Exception("Cannot decompress. File has incorrect level", ErrorCodes::CANNOT_DECOMPRESS); + + auto destination = std::as_writable_bytes(std::span(dest, uncompressed_size)); + auto src = compressed_data.subspan(HEADER_SIZE); + switch (compressed_float_width) + { + case sizeof(Float64): + FPCOperation(destination, compressed_level).decode(src, uncompressed_size); + break; + case sizeof(Float32): + FPCOperation(destination, compressed_level).decode(src, uncompressed_size); + break; + default: + throw Exception("Cannot decompress. File has incorrect float width", ErrorCodes::CANNOT_DECOMPRESS); + } +} + +} diff --git a/src/Compression/CompressionCodecGorilla.cpp b/src/Compression/CompressionCodecGorilla.cpp index 4631a666830..0ca3e5660e0 100644 --- a/src/Compression/CompressionCodecGorilla.cpp +++ b/src/Compression/CompressionCodecGorilla.cpp @@ -208,7 +208,7 @@ UInt32 compressDataForType(const char * source, UInt32 source_size, char * dest, const UInt32 items_count = source_size / sizeof(T); - unalignedStore(dest, items_count); + unalignedStoreLE(dest, items_count); dest += sizeof(items_count); T prev_value{}; @@ -217,8 +217,8 @@ UInt32 compressDataForType(const char * source, UInt32 source_size, char * dest, if (source < source_end) { - prev_value = unalignedLoad(source); - unalignedStore(dest, prev_value); + prev_value = unalignedLoadLE(source); + unalignedStoreLE(dest, prev_value); source += sizeof(prev_value); dest += sizeof(prev_value); @@ -228,7 +228,7 @@ UInt32 compressDataForType(const char * source, UInt32 source_size, char * dest, while (source < source_end) { - const T curr_value = unalignedLoad(source); + const T curr_value = unalignedLoadLE(source); source += sizeof(curr_value); const auto xored_data = curr_value ^ prev_value; @@ -274,7 +274,7 @@ void decompressDataForType(const char * source, UInt32 source_size, char * dest) if (source + sizeof(UInt32) > source_end) return; - const UInt32 items_count = unalignedLoad(source); + const UInt32 items_count = unalignedLoadLE(source); source += sizeof(items_count); T prev_value{}; @@ -283,8 +283,8 @@ void decompressDataForType(const char * source, UInt32 source_size, char * dest) if (source + sizeof(T) > source_end || items_count < 1) return; - prev_value = unalignedLoad(source); - unalignedStore(dest, prev_value); + prev_value = unalignedLoadLE(source); + unalignedStoreLE(dest, prev_value); source += sizeof(prev_value); dest += sizeof(prev_value); @@ -326,7 +326,7 @@ void decompressDataForType(const char * source, UInt32 source_size, char * dest) } // else: 0b0 prefix - use prev_value - unalignedStore(dest, curr_value); + unalignedStoreLE(dest, curr_value); dest += sizeof(curr_value); prev_xored_info = curr_xored_info; diff --git a/src/Compression/CompressionCodecT64.cpp b/src/Compression/CompressionCodecT64.cpp index 0efa98fbd82..9ed37c2d676 100644 --- a/src/Compression/CompressionCodecT64.cpp +++ b/src/Compression/CompressionCodecT64.cpp @@ -8,6 +8,7 @@ #include #include #include +#include namespace DB @@ -413,7 +414,7 @@ UInt32 getValuableBitsNumber(UInt64 min, UInt64 max) { UInt64 diff_bits = min ^ max; if (diff_bits) - return 64 - __builtin_clzll(diff_bits); + return 64 - std::countl_zero(diff_bits); return 0; } diff --git a/src/Compression/CompressionFactory.cpp b/src/Compression/CompressionFactory.cpp index abf5e38a8c3..7291d42f681 100644 --- a/src/Compression/CompressionFactory.cpp +++ b/src/Compression/CompressionFactory.cpp @@ -166,7 +166,7 @@ void registerCodecLZ4(CompressionCodecFactory & factory); void registerCodecLZ4HC(CompressionCodecFactory & factory); void registerCodecZSTD(CompressionCodecFactory & factory); void registerCodecMultiple(CompressionCodecFactory & factory); - +void registerCodecDeflateQpl(CompressionCodecFactory & factory); /// Keeper use only general-purpose codecs, so we don't need these special codecs /// in standalone build @@ -177,6 +177,7 @@ void registerCodecT64(CompressionCodecFactory & factory); void registerCodecDoubleDelta(CompressionCodecFactory & factory); void registerCodecGorilla(CompressionCodecFactory & factory); void registerCodecEncrypted(CompressionCodecFactory & factory); +void registerCodecFPC(CompressionCodecFactory & factory); #endif @@ -187,13 +188,16 @@ CompressionCodecFactory::CompressionCodecFactory() registerCodecZSTD(*this); registerCodecLZ4HC(*this); registerCodecMultiple(*this); - #ifndef KEEPER_STANDALONE_BUILD registerCodecDelta(*this); registerCodecT64(*this); registerCodecDoubleDelta(*this); registerCodecGorilla(*this); registerCodecEncrypted(*this); + registerCodecFPC(*this); + #ifdef ENABLE_QPL_COMPRESSION + registerCodecDeflateQpl(*this); + #endif #endif default_codec = get("LZ4", {}); diff --git a/src/Compression/CompressionInfo.h b/src/Compression/CompressionInfo.h index bbe8315f3ea..985d74bbb74 100644 --- a/src/Compression/CompressionInfo.h +++ b/src/Compression/CompressionInfo.h @@ -44,7 +44,9 @@ enum class CompressionMethodByte : uint8_t DoubleDelta = 0x94, Gorilla = 0x95, AES_128_GCM_SIV = 0x96, - AES_256_GCM_SIV = 0x97 + AES_256_GCM_SIV = 0x97, + FPC = 0x98, + DeflateQpl = 0x99, }; } diff --git a/src/Compression/ICompressionCodec.cpp b/src/Compression/ICompressionCodec.cpp index ba52aee69f8..4c2b95682b3 100644 --- a/src/Compression/ICompressionCodec.cpp +++ b/src/Compression/ICompressionCodec.cpp @@ -86,12 +86,11 @@ UInt32 ICompressionCodec::compress(const char * source, UInt32 source_size, char UInt8 header_size = getHeaderSize(); /// Write data from header_size UInt32 compressed_bytes_written = doCompressData(source, source_size, &dest[header_size]); - unalignedStore(&dest[1], compressed_bytes_written + header_size); - unalignedStore(&dest[5], source_size); + unalignedStoreLE(&dest[1], compressed_bytes_written + header_size); + unalignedStoreLE(&dest[5], source_size); return header_size + compressed_bytes_written; } - UInt32 ICompressionCodec::decompress(const char * source, UInt32 source_size, char * dest) const { assert(source != nullptr && dest != nullptr); @@ -113,7 +112,7 @@ UInt32 ICompressionCodec::decompress(const char * source, UInt32 source_size, ch UInt32 ICompressionCodec::readCompressedBlockSize(const char * source) { - UInt32 compressed_block_size = unalignedLoad(&source[1]); + UInt32 compressed_block_size = unalignedLoadLE(&source[1]); if (compressed_block_size == 0) throw Exception(ErrorCodes::CORRUPTED_DATA, "Can't decompress data: header is corrupt with compressed block size 0"); return compressed_block_size; @@ -122,7 +121,7 @@ UInt32 ICompressionCodec::readCompressedBlockSize(const char * source) UInt32 ICompressionCodec::readDecompressedBlockSize(const char * source) { - UInt32 decompressed_block_size = unalignedLoad(&source[5]); + UInt32 decompressed_block_size = unalignedLoadLE(&source[5]); if (decompressed_block_size == 0) throw Exception(ErrorCodes::CORRUPTED_DATA, "Can't decompress data: header is corrupt with decompressed block size 0"); return decompressed_block_size; diff --git a/src/Compression/ICompressionCodec.h b/src/Compression/ICompressionCodec.h index a741e65dfdd..f40404a84f3 100644 --- a/src/Compression/ICompressionCodec.h +++ b/src/Compression/ICompressionCodec.h @@ -45,9 +45,37 @@ public: /// Compressed bytes from uncompressed source to dest. Dest should preallocate memory UInt32 compress(const char * source, UInt32 source_size, char * dest) const; - /// Decompress bytes from compressed source to dest. Dest should preallocate memory + /// Decompress bytes from compressed source to dest. Dest should preallocate memory; UInt32 decompress(const char * source, UInt32 source_size, char * dest) const; + /// Three kinds of codec mode: + /// Synchronous mode which is commonly used by default; + /// --- For the codec with HW decompressor, it means submit request to HW and busy wait till complete. + /// Asynchronous mode which required HW decompressor support; + /// --- For the codec with HW decompressor, it means submit request to HW and return immediately. + /// --- Must be used in pair with flushAsynchronousDecompressRequests. + /// SoftwareFallback mode is exclusively defined for the codec with HW decompressor, enable its capability of "fallback to SW codec". + enum class CodecMode + { + Synchronous, + Asynchronous, + SoftwareFallback + }; + + /// Get current decompression mode + CodecMode getDecompressMode() const{ return decompressMode; } + + /// if set mode to CodecMode::Asynchronous, must be followed with flushAsynchronousDecompressRequests + void setDecompressMode(CodecMode mode){ decompressMode = mode; } + + /// Flush result for previous asynchronous decompression requests. + /// This function must be called following several requests offload to HW. + /// To make sure asynchronous results have been flushed into target buffer completely. + /// Meanwhile, source and target buffer for decompression can not be overwritten until this function execute completely. + /// Otherwise it would conflict with HW offloading and cause exception. + /// For QPL deflate, it support the maximum number of requests equal to DeflateQplJobHWPool::jobPoolSize + virtual void flushAsynchronousDecompressRequests(){} + /// Number of bytes, that will be used to compress uncompressed_size bytes with current codec virtual UInt32 getCompressedReserveSize(UInt32 uncompressed_size) const { @@ -103,6 +131,7 @@ protected: private: ASTPtr full_codec_desc; + CodecMode decompressMode{CodecMode::Synchronous}; }; } diff --git a/src/Compression/LZ4_decompress_faster.cpp b/src/Compression/LZ4_decompress_faster.cpp index 32d21a37f18..269c1a681c5 100644 --- a/src/Compression/LZ4_decompress_faster.cpp +++ b/src/Compression/LZ4_decompress_faster.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include #include @@ -15,10 +16,20 @@ #include #endif +#if USE_MULTITARGET_CODE +#include +#endif + #ifdef __aarch64__ #include #endif +static inline UInt16 LZ4_readLE16(const void* mem_ptr) +{ + const UInt8* p = reinterpret_cast(mem_ptr); + return static_cast(p[0]) + (p[1] << 8); +} + namespace LZ4 { @@ -403,10 +414,65 @@ inline void copyOverlap32(UInt8 * op, const UInt8 *& match, const size_t offset) match += shift4[offset]; } +DECLARE_AVX512VBMI_SPECIFIC_CODE( +inline void copyOverlap32Shuffle(UInt8 * op, const UInt8 *& match, const size_t offset) +{ + static constexpr UInt8 __attribute__((__aligned__(32))) masks[] = + { + 0, 1, 2, 2, 4, 2, 2, 4, 8, 5, 2, 10, 8, 6, 4, 2, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, /* offset=0, shift amount index. */ + 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, /* offset=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, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, + 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, + 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, + 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, + 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, + 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 6, 7, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 1, 2, 3, 4, 5, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 1, 2, 3, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 1, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 1, 2, 3, 4, 5, 6, 7, 8, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 5, 6, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 1, 2, 3, 4, 5, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 1, 2, 3, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 1, 2, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 1, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, + }; + + _mm256_storeu_si256(reinterpret_cast<__m256i *>(op), + _mm256_permutexvar_epi8( + _mm256_load_si256(reinterpret_cast(masks) + offset), + _mm256_loadu_si256(reinterpret_cast(match)))); + match += masks[offset]; +} +) /// DECLARE_AVX512VBMI_SPECIFIC_CODE + template <> void inline copy<32>(UInt8 * dst, const UInt8 * src) { copy32(dst, src); } template <> void inline wildCopy<32>(UInt8 * dst, const UInt8 * src, UInt8 * dst_end) { wildCopy32(dst, src, dst_end); } template <> void inline copyOverlap<32, false>(UInt8 * op, const UInt8 *& match, const size_t offset) { copyOverlap32(op, match, offset); } +template <> void inline copyOverlap<32, true>(UInt8 * op, const UInt8 *& match, const size_t offset) +{ +#if USE_MULTITARGET_CODE + TargetSpecific::AVX512VBMI::copyOverlap32Shuffle(op, match, offset); +#else + copyOverlap32(op, match, offset); +#endif +} /// See also https://stackoverflow.com/a/30669632 @@ -501,7 +567,7 @@ bool NO_INLINE decompressImpl( /// Get match offset. - size_t offset = unalignedLoad(ip); + size_t offset = LZ4_readLE16(ip); ip += 2; const UInt8 * match = op - offset; @@ -578,7 +644,13 @@ bool decompress( /// Don't run timer if the block is too small. if (dest_size >= 32768) { - size_t best_variant = statistics.select(); + size_t variant_size = 4; +#if USE_MULTITARGET_CODE && !defined(MEMORY_SANITIZER) + /// best_variant == 4 only valid when AVX512VBMI available + if (isArchSupported(DB::TargetArch::AVX512VBMI)) + variant_size = 5; +#endif + size_t best_variant = statistics.select(variant_size); /// Run the selected method and measure time. @@ -592,6 +664,8 @@ bool decompress( success = decompressImpl<8, true>(source, dest, source_size, dest_size); if (best_variant == 3) success = decompressImpl<32, false>(source, dest, source_size, dest_size); + if (best_variant == 4) + success = decompressImpl<32, true>(source, dest, source_size, dest_size); watch.stop(); diff --git a/src/Compression/LZ4_decompress_faster.h b/src/Compression/LZ4_decompress_faster.h index c596ea6364b..08744755916 100644 --- a/src/Compression/LZ4_decompress_faster.h +++ b/src/Compression/LZ4_decompress_faster.h @@ -88,7 +88,7 @@ struct PerformanceStatistics }; /// Number of different algorithms to select from. - static constexpr size_t NUM_ELEMENTS = 4; + static constexpr size_t NUM_ELEMENTS = 5; /// Cold invocations may be affected by additional memory latencies. Don't take first invocations into account. static constexpr double NUM_INVOCATIONS_TO_THROW_OFF = 2; @@ -106,17 +106,17 @@ struct PerformanceStatistics /// To select from different algorithms we use a kind of "bandits" algorithm. /// Sample random values from estimated normal distributions and choose the minimal. - size_t select() + size_t select(size_t max_method = NUM_ELEMENTS) { if (choose_method < 0) { - double samples[NUM_ELEMENTS]; - for (size_t i = 0; i < NUM_ELEMENTS; ++i) + double samples[max_method]; + for (size_t i = 0; i < max_method; ++i) samples[i] = choose_method == -1 ? data[i].sample(rng) : data[i].adjustedCount(); - return std::min_element(samples, samples + NUM_ELEMENTS) - samples; + return std::min_element(samples, samples + max_method) - samples; } else return choose_method; diff --git a/src/Compression/examples/CMakeLists.txt b/src/Compression/examples/CMakeLists.txt index 3cfc0ccb7dc..7bf68e8845e 100644 --- a/src/Compression/examples/CMakeLists.txt +++ b/src/Compression/examples/CMakeLists.txt @@ -1,5 +1,5 @@ -add_executable (compressed_buffer compressed_buffer.cpp) +clickhouse_add_executable (compressed_buffer compressed_buffer.cpp) target_link_libraries (compressed_buffer PRIVATE dbms) -add_executable (cached_compressed_read_buffer cached_compressed_read_buffer.cpp) +clickhouse_add_executable (cached_compressed_read_buffer cached_compressed_read_buffer.cpp) target_link_libraries (cached_compressed_read_buffer PRIVATE dbms) diff --git a/src/Compression/fuzzers/CMakeLists.txt b/src/Compression/fuzzers/CMakeLists.txt index db1573f1354..6c0e36afdf7 100644 --- a/src/Compression/fuzzers/CMakeLists.txt +++ b/src/Compression/fuzzers/CMakeLists.txt @@ -4,17 +4,17 @@ # So, some symbols will be declared, but not defined. Unfortunately, this trick doesn't work with UBSan. # If you want really small size of the resulted binary, just link with fuzz_compression and clickhouse_common_io -add_executable (compressed_buffer_fuzzer compressed_buffer_fuzzer.cpp) +clickhouse_add_executable (compressed_buffer_fuzzer compressed_buffer_fuzzer.cpp) target_link_libraries (compressed_buffer_fuzzer PRIVATE dbms ${LIB_FUZZING_ENGINE}) -add_executable (lz4_decompress_fuzzer lz4_decompress_fuzzer.cpp) +clickhouse_add_executable (lz4_decompress_fuzzer lz4_decompress_fuzzer.cpp) target_link_libraries (lz4_decompress_fuzzer PUBLIC dbms ch_contrib::lz4 ${LIB_FUZZING_ENGINE}) -add_executable (delta_decompress_fuzzer delta_decompress_fuzzer.cpp) +clickhouse_add_executable (delta_decompress_fuzzer delta_decompress_fuzzer.cpp) target_link_libraries (delta_decompress_fuzzer PRIVATE dbms ${LIB_FUZZING_ENGINE}) -add_executable (double_delta_decompress_fuzzer double_delta_decompress_fuzzer.cpp) +clickhouse_add_executable (double_delta_decompress_fuzzer double_delta_decompress_fuzzer.cpp) target_link_libraries (double_delta_decompress_fuzzer PRIVATE dbms ${LIB_FUZZING_ENGINE}) -add_executable (encrypted_decompress_fuzzer encrypted_decompress_fuzzer.cpp) +clickhouse_add_executable (encrypted_decompress_fuzzer encrypted_decompress_fuzzer.cpp) target_link_libraries (encrypted_decompress_fuzzer PRIVATE dbms ${LIB_FUZZING_ENGINE}) diff --git a/src/Compression/getCompressionCodecForFile.cpp b/src/Compression/getCompressionCodecForFile.cpp index 5ef5502f947..f9365862c5b 100644 --- a/src/Compression/getCompressionCodecForFile.cpp +++ b/src/Compression/getCompressionCodecForFile.cpp @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB { @@ -12,9 +13,9 @@ namespace DB using Checksum = CityHash_v1_0_2::uint128; -CompressionCodecPtr getCompressionCodecForFile(const DiskPtr & disk, const String & relative_path) +CompressionCodecPtr getCompressionCodecForFile(const DataPartStoragePtr & data_part_storage, const String & relative_path) { - auto read_buffer = disk->readFile(relative_path); + auto read_buffer = data_part_storage->readFile(relative_path, {}, std::nullopt, std::nullopt); read_buffer->ignore(sizeof(Checksum)); UInt8 header_size = ICompressionCodec::getHeaderSize(); diff --git a/src/Compression/getCompressionCodecForFile.h b/src/Compression/getCompressionCodecForFile.h index 4870de8b3b3..ad855684128 100644 --- a/src/Compression/getCompressionCodecForFile.h +++ b/src/Compression/getCompressionCodecForFile.h @@ -2,6 +2,7 @@ #include #include +#include namespace DB { @@ -10,6 +11,6 @@ namespace DB /// clickhouse fashion (with checksums, headers for each block, etc). This /// method should be used as fallback when we cannot deduce compression codec /// from metadata. -CompressionCodecPtr getCompressionCodecForFile(const DiskPtr & disk, const String & relative_path); +CompressionCodecPtr getCompressionCodecForFile(const DataPartStoragePtr & data_part_storage, const String & relative_path); } diff --git a/src/Compression/tests/gtest_compressionCodec.cpp b/src/Compression/tests/gtest_compressionCodec.cpp index 77050908265..b634a3137cd 100644 --- a/src/Compression/tests/gtest_compressionCodec.cpp +++ b/src/Compression/tests/gtest_compressionCodec.cpp @@ -175,7 +175,7 @@ private: throw std::runtime_error("No more data to read"); } - current_value = unalignedLoad(data); + current_value = unalignedLoadLE(data); data = reinterpret_cast(data) + sizeof(T); } }; @@ -371,7 +371,7 @@ CodecTestSequence makeSeq(Args && ... args) char * write_pos = data.data(); for (const auto & v : vals) { - unalignedStore(write_pos, v); + unalignedStoreLE(write_pos, v); write_pos += sizeof(v); } @@ -393,7 +393,7 @@ CodecTestSequence generateSeq(Generator gen, const char* gen_name, B Begin = 0, { const T v = gen(static_cast(i)); - unalignedStore(write_pos, v); + unalignedStoreLE(write_pos, v); write_pos += sizeof(v); } diff --git a/src/Coordination/Changelog.cpp b/src/Coordination/Changelog.cpp index e61a827472e..cc5f292eae2 100644 --- a/src/Coordination/Changelog.cpp +++ b/src/Coordination/Changelog.cpp @@ -36,21 +36,20 @@ std::string formatChangelogPath(const std::string & prefix, const ChangelogFileD return path; } -ChangelogFileDescription getChangelogFileDescription(const std::string & path_str) +ChangelogFileDescription getChangelogFileDescription(const std::filesystem::path & path) { - std::filesystem::path path(path_str); std::string filename = path.stem(); Strings filename_parts; boost::split(filename_parts, filename, boost::is_any_of("_")); if (filename_parts.size() < 3) - throw Exception(ErrorCodes::CORRUPTED_DATA, "Invalid changelog {}", path_str); + throw Exception(ErrorCodes::CORRUPTED_DATA, "Invalid changelog {}", path.generic_string()); ChangelogFileDescription result; result.prefix = filename_parts[0]; result.from_log_index = parse(filename_parts[1]); result.to_log_index = parse(filename_parts[2]); result.extension = path.extension(); - result.path = path_str; + result.path = path.generic_string(); return result; } @@ -276,6 +275,7 @@ Changelog::Changelog( Poco::Logger * log_, bool compress_logs_) : changelogs_dir(changelogs_dir_) + , changelogs_detached_dir(changelogs_dir / "detached") , rotate_interval(rotate_interval_) , force_sync(force_sync_) , log(log_) @@ -288,12 +288,15 @@ Changelog::Changelog( for (const auto & p : fs::directory_iterator(changelogs_dir)) { + if (p == changelogs_detached_dir) + continue; + auto file_description = getChangelogFileDescription(p.path()); existing_changelogs[file_description.from_log_index] = file_description; } if (existing_changelogs.empty()) - LOG_WARNING(log, "No logs exists in {}. It's Ok if it's the first run of clickhouse-keeper.", changelogs_dir); + LOG_WARNING(log, "No logs exists in {}. It's Ok if it's the first run of clickhouse-keeper.", changelogs_dir.generic_string()); clean_log_thread = ThreadFromGlobalPool([this] { cleanLogThread(); }); } @@ -328,7 +331,7 @@ void Changelog::readChangelogAndInitWriter(uint64_t last_commited_log_index, uin /// entries from leader. if (changelog_description.from_log_index > last_commited_log_index && (changelog_description.from_log_index - last_commited_log_index) > 1) { - LOG_ERROR(log, "Some records was lost, last committed log index {}, smallest available log index on disk {}. Hopefully will receive missing records from leader.", last_commited_log_index, changelog_description.from_log_index); + LOG_ERROR(log, "Some records were lost, last committed log index {}, smallest available log index on disk {}. Hopefully will receive missing records from leader.", last_commited_log_index, changelog_description.from_log_index); /// Nothing to do with our more fresh log, leader will overwrite them, so remove everything and just start from last_commited_index removeAllLogs(); min_log_id = last_commited_log_index; @@ -342,6 +345,12 @@ void Changelog::readChangelogAndInitWriter(uint64_t last_commited_log_index, uin LOG_WARNING(log, "Don't have required amount of reserved log records. Need to read from {}, smallest available log index on disk {}.", start_to_read_from, changelog_description.from_log_index); } } + else if ((changelog_description.from_log_index - last_log_read_result->last_read_index) > 1) + { + LOG_ERROR(log, "Some records were lost, last found log index {}, while the next log index on disk is {}. Hopefully will receive missing records from leader.", last_log_read_result->last_read_index, changelog_description.from_log_index); + removeAllLogsAfter(last_log_read_result->log_start_index); + break; + } ChangelogReader reader(changelog_description.path); last_log_read_result = reader.readChangelog(logs, start_to_read_from, log); @@ -405,7 +414,7 @@ void Changelog::readChangelogAndInitWriter(uint64_t last_commited_log_index, uin if (last_log_read_result->last_read_index == 0 || last_log_read_result->error) /// If it's broken log then remove it { - LOG_INFO(log, "Removing log {} because it's empty or read finished with error", description.path); + LOG_INFO(log, "Removing chagelog {} because it's empty or read finished with error", description.path); std::filesystem::remove(description.path); existing_changelogs.erase(last_log_read_result->log_start_index); std::erase_if(logs, [last_log_read_result] (const auto & item) { return item.first >= last_log_read_result->log_start_index; }); @@ -431,6 +440,44 @@ void Changelog::initWriter(const ChangelogFileDescription & description) current_writer = std::make_unique(description.path, WriteMode::Append, description.from_log_index); } +namespace +{ + +std::string getCurrentTimestampFolder() +{ + const auto timestamp = LocalDateTime{std::time(nullptr)}; + return fmt::format( + "{:02}{:02}{:02}T{:02}{:02}{:02}", + timestamp.year(), + timestamp.month(), + timestamp.day(), + timestamp.hour(), + timestamp.minute(), + timestamp.second()); +} + +} + +void Changelog::removeExistingLogs(ChangelogIter begin, ChangelogIter end) +{ + const auto timestamp_folder = changelogs_detached_dir / getCurrentTimestampFolder(); + + for (auto itr = begin; itr != end;) + { + if (!std::filesystem::exists(timestamp_folder)) + { + LOG_WARNING(log, "Moving broken logs to {}", timestamp_folder.generic_string()); + std::filesystem::create_directories(timestamp_folder); + } + + LOG_WARNING(log, "Removing changelog {}", itr->second.path); + const std::filesystem::path path = itr->second.path; + const auto new_path = timestamp_folder / path.filename(); + std::filesystem::rename(path, new_path); + itr = existing_changelogs.erase(itr); + } +} + void Changelog::removeAllLogsAfter(uint64_t remove_after_log_start_index) { auto start_to_remove_from_itr = existing_changelogs.upper_bound(remove_after_log_start_index); @@ -440,12 +487,8 @@ void Changelog::removeAllLogsAfter(uint64_t remove_after_log_start_index) size_t start_to_remove_from_log_id = start_to_remove_from_itr->first; /// All subsequent logs shouldn't exist. But they may exist if we crashed after writeAt started. Remove them. - for (auto itr = start_to_remove_from_itr; itr != existing_changelogs.end();) - { - LOG_WARNING(log, "Removing changelog {}, because it's goes after broken changelog entry", itr->second.path); - std::filesystem::remove(itr->second.path); - itr = existing_changelogs.erase(itr); - } + LOG_WARNING(log, "Removing changelogs that go after broken changelog entry"); + removeExistingLogs(start_to_remove_from_itr, existing_changelogs.end()); std::erase_if(logs, [start_to_remove_from_log_id] (const auto & item) { return item.first >= start_to_remove_from_log_id; }); } @@ -453,12 +496,7 @@ void Changelog::removeAllLogsAfter(uint64_t remove_after_log_start_index) void Changelog::removeAllLogs() { LOG_WARNING(log, "Removing all changelogs"); - for (auto itr = existing_changelogs.begin(); itr != existing_changelogs.end();) - { - LOG_WARNING(log, "Removing changelog {}, because it's goes after broken changelog entry", itr->second.path); - std::filesystem::remove(itr->second.path); - itr = existing_changelogs.erase(itr); - } + removeExistingLogs(existing_changelogs.begin(), existing_changelogs.end()); logs.clear(); } diff --git a/src/Coordination/Changelog.h b/src/Coordination/Changelog.h index d0d9c94f515..9f90f72d9f3 100644 --- a/src/Coordination/Changelog.h +++ b/src/Coordination/Changelog.h @@ -138,6 +138,13 @@ private: /// Starts new file [new_start_log_index, new_start_log_index + rotate_interval] void rotate(uint64_t new_start_log_index); + /// Currently existing changelogs + std::map existing_changelogs; + + using ChangelogIter = decltype(existing_changelogs)::iterator; + void removeExistingLogs(ChangelogIter begin, ChangelogIter end); + + static void removeLog(const std::filesystem::path & path, const std::filesystem::path & detached_folder); /// Remove all changelogs from disk with start_index bigger than start_to_remove_from_id void removeAllLogsAfter(uint64_t remove_after_log_start_index); /// Remove all logs from disk @@ -148,14 +155,13 @@ private: /// Clean useless log files in a background thread void cleanLogThread(); - const std::string changelogs_dir; + const std::filesystem::path changelogs_dir; + const std::filesystem::path changelogs_detached_dir; const uint64_t rotate_interval; const bool force_sync; Poco::Logger * log; bool compress_logs; - /// Currently existing changelogs - std::map existing_changelogs; /// Current writer for changelog file std::unique_ptr current_writer; diff --git a/src/Coordination/CoordinationSettings.cpp b/src/Coordination/CoordinationSettings.cpp index 2e37949a104..3e03ee0d6f4 100644 --- a/src/Coordination/CoordinationSettings.cpp +++ b/src/Coordination/CoordinationSettings.cpp @@ -1,5 +1,4 @@ #include -#include #include #include #include @@ -37,7 +36,7 @@ void CoordinationSettings::loadFromConfig(const String & config_elem, const Poco } -const String KeeperConfigurationAndSettings::DEFAULT_FOUR_LETTER_WORD_CMD = "conf,cons,crst,envi,ruok,srst,srvr,stat,wchs,dirs,mntr,isro,rcvr"; +const String KeeperConfigurationAndSettings::DEFAULT_FOUR_LETTER_WORD_CMD = "conf,cons,crst,envi,ruok,srst,srvr,stat,wchs,dirs,mntr,isro,rcvr,apiv"; KeeperConfigurationAndSettings::KeeperConfigurationAndSettings() : server_id(NOT_EXIST) @@ -186,6 +185,8 @@ KeeperConfigurationAndSettings::loadFromConfig(const Poco::Util::AbstractConfigu ret->log_storage_path = getLogsPathFromConfig(config, standalone_keeper_); ret->snapshot_storage_path = getSnapshotsPathFromConfig(config, standalone_keeper_); + ret->state_file_path = getStateFilePathFromConfig(config, standalone_keeper_); + ret->coordination_settings->loadFromConfig("keeper_server.coordination_settings", config); return ret; @@ -221,4 +222,21 @@ String KeeperConfigurationAndSettings::getSnapshotsPathFromConfig(const Poco::Ut return std::filesystem::path{config.getString("path", DBMS_DEFAULT_PATH)} / "coordination/snapshots"; } +String KeeperConfigurationAndSettings::getStateFilePathFromConfig(const Poco::Util::AbstractConfiguration & config, bool standalone_keeper_) +{ + if (config.has("keeper_server.storage_path")) + return std::filesystem::path{config.getString("keeper_server.storage_path")} / "state"; + + if (config.has("keeper_server.snapshot_storage_path")) + return std::filesystem::path(config.getString("keeper_server.snapshot_storage_path")).parent_path() / "state"; + + if (config.has("keeper_server.log_storage_path")) + return std::filesystem::path(config.getString("keeper_server.log_storage_path")).parent_path() / "state"; + + if (standalone_keeper_) + return std::filesystem::path{config.getString("path", KEEPER_DEFAULT_PATH)} / "state"; + else + return std::filesystem::path{config.getString("path", DBMS_DEFAULT_PATH)} / "coordination/state"; +} + } diff --git a/src/Coordination/CoordinationSettings.h b/src/Coordination/CoordinationSettings.h index b702b553a03..5247f5d7ec8 100644 --- a/src/Coordination/CoordinationSettings.h +++ b/src/Coordination/CoordinationSettings.h @@ -77,6 +77,7 @@ struct KeeperConfigurationAndSettings String log_storage_path; String snapshot_storage_path; + String state_file_path; void dump(WriteBufferFromOwnString & buf) const; static std::shared_ptr loadFromConfig(const Poco::Util::AbstractConfiguration & config, bool standalone_keeper_); @@ -84,6 +85,7 @@ struct KeeperConfigurationAndSettings private: static String getLogsPathFromConfig(const Poco::Util::AbstractConfiguration & config, bool standalone_keeper_); static String getSnapshotsPathFromConfig(const Poco::Util::AbstractConfiguration & config, bool standalone_keeper_); + static String getStateFilePathFromConfig(const Poco::Util::AbstractConfiguration & config, bool standalone_keeper_); }; using KeeperConfigurationAndSettingsPtr = std::shared_ptr; diff --git a/src/Coordination/FourLetterCommand.cpp b/src/Coordination/FourLetterCommand.cpp index 24cdd47d5a5..c33630a913b 100644 --- a/src/Coordination/FourLetterCommand.cpp +++ b/src/Coordination/FourLetterCommand.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -132,6 +133,9 @@ void FourLetterCommandFactory::registerCommands(KeeperDispatcher & keeper_dispat FourLetterCommandPtr recovery_command = std::make_shared(keeper_dispatcher); factory.registerCommand(recovery_command); + FourLetterCommandPtr api_version_command = std::make_shared(keeper_dispatcher); + factory.registerCommand(api_version_command); + factory.initializeAllowList(keeper_dispatcher); factory.setInitialize(true); } @@ -236,7 +240,7 @@ String MonitorCommand::run() print(ret, "key_arena_size", state_machine.getKeyArenaSize()); print(ret, "latest_snapshot_size", state_machine.getLatestSnapshotBufSize()); -#if defined(__linux__) || defined(__APPLE__) +#if defined(OS_LINUX) || defined(OS_DARWIN) print(ret, "open_file_descriptor_count", getCurrentProcessFDCount()); print(ret, "max_file_descriptor_count", getMaxFileDescriptorCount()); #endif @@ -463,4 +467,9 @@ String RecoveryCommand::run() return "ok"; } +String ApiVersionCommand::run() +{ + return toString(static_cast(Coordination::current_keeper_api_version)); +} + } diff --git a/src/Coordination/FourLetterCommand.h b/src/Coordination/FourLetterCommand.h index b5d08f4c250..8a98b94b33a 100644 --- a/src/Coordination/FourLetterCommand.h +++ b/src/Coordination/FourLetterCommand.h @@ -315,4 +315,16 @@ struct RecoveryCommand : public IFourLetterCommand String run() override; ~RecoveryCommand() override = default; }; + +struct ApiVersionCommand : public IFourLetterCommand +{ + explicit ApiVersionCommand(KeeperDispatcher & keeper_dispatcher_) + : IFourLetterCommand(keeper_dispatcher_) + { + } + + String name() override { return "apiv"; } + String run() override; + ~ApiVersionCommand() override = default; +}; } diff --git a/src/Coordination/InMemoryLogStore.h b/src/Coordination/InMemoryLogStore.h index ad4466b363f..fc56826c81b 100644 --- a/src/Coordination/InMemoryLogStore.h +++ b/src/Coordination/InMemoryLogStore.h @@ -4,6 +4,7 @@ #include #include #include +#include #include namespace DB @@ -39,7 +40,7 @@ public: bool flush() override { return true; } private: - std::map> logs; + std::map> logs TSA_GUARDED_BY(logs_lock); mutable std::mutex logs_lock; std::atomic start_idx; }; diff --git a/src/Coordination/Keeper4LWInfo.h b/src/Coordination/Keeper4LWInfo.h index bf7267a68e2..7d90152611e 100644 --- a/src/Coordination/Keeper4LWInfo.h +++ b/src/Coordination/Keeper4LWInfo.h @@ -3,6 +3,7 @@ #include #include +#include namespace DB { @@ -42,7 +43,7 @@ struct Keeper4LWInfo if (is_follower) return "follower"; - throw Exception(ErrorCodes::LOGICAL_ERROR, "RAFT server has undefined state state, it's a bug"); + throw Exception(ErrorCodes::LOGICAL_ERROR, "RAFT server has undefined state, it's a bug"); } }; diff --git a/src/Coordination/KeeperConnectionStats.cpp b/src/Coordination/KeeperConnectionStats.cpp index b4edfe45159..71f24f1ed02 100644 --- a/src/Coordination/KeeperConnectionStats.cpp +++ b/src/Coordination/KeeperConnectionStats.cpp @@ -1,5 +1,14 @@ #include #include +#include + +namespace ProfileEvents +{ + extern const Event KeeperPacketsSent; + extern const Event KeeperPacketsReceived; + extern const Event KeeperRequestTotal; + extern const Event KeeperLatency; +} namespace DB { @@ -40,18 +49,22 @@ uint64_t KeeperConnectionStats::getPacketsSent() const void KeeperConnectionStats::incrementPacketsReceived() { packets_received.fetch_add(1, std::memory_order_relaxed); + ProfileEvents::increment(ProfileEvents::KeeperPacketsReceived, 1); } void KeeperConnectionStats::incrementPacketsSent() { packets_sent.fetch_add(1, std::memory_order_relaxed); + ProfileEvents::increment(ProfileEvents::KeeperPacketsSent, 1); } void KeeperConnectionStats::updateLatency(uint64_t latency_ms) { last_latency.store(latency_ms, std::memory_order_relaxed); total_latency.fetch_add(latency_ms, std::memory_order_relaxed); + ProfileEvents::increment(ProfileEvents::KeeperLatency, latency_ms); count.fetch_add(1, std::memory_order_relaxed); + ProfileEvents::increment(ProfileEvents::KeeperRequestTotal, 1); uint64_t prev_val = min_latency.load(std::memory_order_relaxed); while (prev_val > latency_ms && !min_latency.compare_exchange_weak(prev_val, latency_ms, std::memory_order_relaxed)) {} diff --git a/src/Coordination/KeeperConstants.h b/src/Coordination/KeeperConstants.h new file mode 100644 index 00000000000..eb75fda4547 --- /dev/null +++ b/src/Coordination/KeeperConstants.h @@ -0,0 +1,25 @@ +#pragma once + +#include + +namespace DB +{ + +enum class KeeperApiVersion : uint8_t +{ + ZOOKEEPER_COMPATIBLE = 0, + WITH_FILTERED_LIST +}; + +inline constexpr auto current_keeper_api_version = KeeperApiVersion::WITH_FILTERED_LIST; + +const std::string keeper_system_path = "/keeper"; +const std::string keeper_api_version_path = keeper_system_path + "/api_version"; + +using PathWithData = std::pair; +const std::vector child_system_paths_with_data +{ + {keeper_api_version_path, toString(static_cast(current_keeper_api_version))} +}; + +} diff --git a/src/Coordination/KeeperContext.h b/src/Coordination/KeeperContext.h new file mode 100644 index 00000000000..64fa8cea6ec --- /dev/null +++ b/src/Coordination/KeeperContext.h @@ -0,0 +1,23 @@ +#pragma once + +namespace DB +{ + +struct KeeperContext +{ + enum class Phase : uint8_t + { + INIT, + RUNNING, + SHUTDOWN + }; + + Phase server_state{Phase::INIT}; + + bool ignore_system_path_on_startup{false}; + bool digest_enabled{true}; +}; + +using KeeperContextPtr = std::shared_ptr; + +} diff --git a/src/Coordination/KeeperDispatcher.cpp b/src/Coordination/KeeperDispatcher.cpp index f97c65e7056..5b376a03b02 100644 --- a/src/Coordination/KeeperDispatcher.cpp +++ b/src/Coordination/KeeperDispatcher.cpp @@ -7,6 +7,13 @@ #include #include #include +#include + +namespace CurrentMetrics +{ + extern const Metric KeeperAliveConnections; + extern const Metric KeeperOutstandingRequets; +} namespace fs = std::filesystem; @@ -57,6 +64,7 @@ void KeeperDispatcher::requestThread() { if (requests_queue->tryPop(request, max_wait)) { + CurrentMetrics::sub(CurrentMetrics::KeeperOutstandingRequets); if (shutdown_called) break; @@ -78,6 +86,7 @@ void KeeperDispatcher::requestThread() /// Trying to get batch requests as fast as possible if (requests_queue->tryPop(request, 1)) { + CurrentMetrics::sub(CurrentMetrics::KeeperOutstandingRequets); /// Don't append read request into batch, we have to process them separately if (!coordination_settings->quorum_reads && request.request->isReadRequest()) { @@ -215,7 +224,8 @@ void KeeperDispatcher::setResponse(int64_t session_id, const Coordination::ZooKe /// Session was disconnected, just skip this response if (session_response_callback == session_to_response_callback.end()) { - LOG_TEST(log, "Cannot write response xid={}, op={}, session {} disconnected", response->xid, response->getOpNum(), session_id); + LOG_TEST(log, "Cannot write response xid={}, op={}, session {} disconnected", + response->xid, response->xid == Coordination::WATCH_XID ? "Watch" : toString(response->getOpNum()), session_id); return; } @@ -225,6 +235,7 @@ void KeeperDispatcher::setResponse(int64_t session_id, const Coordination::ZooKe if (response->xid != Coordination::WATCH_XID && response->getOpNum() == Coordination::OpNum::Close) { session_to_response_callback.erase(session_response_callback); + CurrentMetrics::sub(CurrentMetrics::KeeperAliveConnections); } } } @@ -259,6 +270,7 @@ bool KeeperDispatcher::putRequest(const Coordination::ZooKeeperRequestPtr & requ { throw Exception("Cannot push request to queue within operation timeout", ErrorCodes::TIMEOUT_EXCEEDED); } + CurrentMetrics::add(CurrentMetrics::KeeperOutstandingRequets); return true; } @@ -350,6 +362,7 @@ void KeeperDispatcher::shutdown() /// Set session expired for all pending requests while (requests_queue && requests_queue->tryPop(request_for_session)) { + CurrentMetrics::sub(CurrentMetrics::KeeperOutstandingRequets); auto response = request_for_session.request->makeResponse(); response->error = Coordination::Error::ZSESSIONEXPIRED; setResponse(request_for_session.session_id, response); @@ -358,6 +371,7 @@ void KeeperDispatcher::shutdown() /// Clear all registered sessions std::lock_guard lock(session_to_response_callback_mutex); session_to_response_callback.clear(); + CurrentMetrics::set(CurrentMetrics::KeeperAliveConnections, 0); } catch (...) { @@ -382,6 +396,7 @@ void KeeperDispatcher::registerSession(int64_t session_id, ZooKeeperResponseCall std::lock_guard lock(session_to_response_callback_mutex); if (!session_to_response_callback.try_emplace(session_id, callback).second) throw Exception(DB::ErrorCodes::LOGICAL_ERROR, "Session with id {} already registered in dispatcher", session_id); + CurrentMetrics::add(CurrentMetrics::KeeperAliveConnections); } void KeeperDispatcher::sessionCleanerTask() @@ -414,6 +429,7 @@ void KeeperDispatcher::sessionCleanerTask() std::lock_guard lock(push_request_mutex); if (!requests_queue->push(std::move(request_info))) LOG_INFO(log, "Cannot push close request to queue while cleaning outdated sessions"); + CurrentMetrics::add(CurrentMetrics::KeeperOutstandingRequets); } /// Remove session from registered sessions @@ -437,19 +453,22 @@ void KeeperDispatcher::finishSession(int64_t session_id) std::lock_guard lock(session_to_response_callback_mutex); auto session_it = session_to_response_callback.find(session_id); if (session_it != session_to_response_callback.end()) + { session_to_response_callback.erase(session_it); + CurrentMetrics::sub(CurrentMetrics::KeeperAliveConnections); + } } void KeeperDispatcher::addErrorResponses(const KeeperStorage::RequestsForSessions & requests_for_sessions, Coordination::Error error) { - for (const auto & [session_id, time, request] : requests_for_sessions) + for (const auto & request_for_session : requests_for_sessions) { KeeperStorage::ResponsesForSessions responses; - auto response = request->makeResponse(); - response->xid = request->xid; + auto response = request_for_session.request->makeResponse(); + response->xid = request_for_session.request->xid; response->zxid = 0; response->error = error; - if (!responses_queue.push(DB::KeeperStorage::ResponseForSession{session_id, response})) + if (!responses_queue.push(DB::KeeperStorage::ResponseForSession{request_for_session.session_id, response})) throw Exception(ErrorCodes::SYSTEM_ERROR, "Could not push error response xid {} zxid {} error message {} to responses queue", response->xid, @@ -520,6 +539,7 @@ int64_t KeeperDispatcher::getSessionID(int64_t session_timeout_ms) std::lock_guard lock(push_request_mutex); if (!requests_queue->tryPush(std::move(request_info), session_timeout_ms)) throw Exception("Cannot push session id request to queue within session timeout", ErrorCodes::TIMEOUT_EXCEEDED); + CurrentMetrics::add(CurrentMetrics::KeeperOutstandingRequets); } if (future.wait_for(std::chrono::milliseconds(session_timeout_ms)) != std::future_status::ready) @@ -651,12 +671,7 @@ uint64_t KeeperDispatcher::getSnapDirSize() const Keeper4LWInfo KeeperDispatcher::getKeeper4LWInfo() const { - Keeper4LWInfo result; - result.is_follower = server->isFollower(); - result.is_standalone = !result.is_follower && server->getFollowerCount() == 0; - result.is_leader = isLeader(); - result.is_observer = server->isObserver(); - result.has_leader = hasLeader(); + Keeper4LWInfo result = server->getPartiallyFilled4LWInfo(); { std::lock_guard lock(push_request_mutex); result.outstanding_requests_count = requests_queue->size(); @@ -665,13 +680,6 @@ Keeper4LWInfo KeeperDispatcher::getKeeper4LWInfo() const std::lock_guard lock(session_to_response_callback_mutex); result.alive_connections_count = session_to_response_callback.size(); } - if (result.is_leader) - { - result.follower_count = server->getFollowerCount(); - result.synced_follower_count = server->getSyncedFollowerCount(); - } - result.total_nodes_count = server->getKeeperStateMachine()->getNodesCount(); - result.last_zxid = server->getKeeperStateMachine()->getLastProcessedZxid(); return result; } diff --git a/src/Coordination/KeeperDispatcher.h b/src/Coordination/KeeperDispatcher.h index b632327a165..5e2701299f4 100644 --- a/src/Coordination/KeeperDispatcher.h +++ b/src/Coordination/KeeperDispatcher.h @@ -150,6 +150,11 @@ public: return server->isLeader(); } + bool isFollower() const + { + return server->isFollower(); + } + bool hasLeader() const { return server->isLeaderAlive(); diff --git a/src/Coordination/KeeperLogStore.h b/src/Coordination/KeeperLogStore.h index 3e558c0508e..e1c66599e0a 100644 --- a/src/Coordination/KeeperLogStore.h +++ b/src/Coordination/KeeperLogStore.h @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB { @@ -70,7 +71,7 @@ public: private: mutable std::mutex changelog_lock; Poco::Logger * log; - Changelog changelog; + Changelog changelog TSA_GUARDED_BY(changelog_lock); }; } diff --git a/src/Coordination/KeeperServer.cpp b/src/Coordination/KeeperServer.cpp index 5f77e996744..8850e33f9c4 100644 --- a/src/Coordination/KeeperServer.cpp +++ b/src/Coordination/KeeperServer.cpp @@ -15,10 +15,14 @@ #include #include #include +#include +#include #include #include #include +#include #include +#include namespace DB { @@ -103,19 +107,32 @@ KeeperServer::KeeperServer( SnapshotsQueue & snapshots_queue_) : server_id(configuration_and_settings_->server_id) , coordination_settings(configuration_and_settings_->coordination_settings) - , state_machine(nuraft::cs_new( - responses_queue_, - snapshots_queue_, - configuration_and_settings_->snapshot_storage_path, - coordination_settings, - checkAndGetSuperdigest(configuration_and_settings_->super_digest))) - , state_manager(nuraft::cs_new( - server_id, "keeper_server", configuration_and_settings_->log_storage_path, config, coordination_settings)) , log(&Poco::Logger::get("KeeperServer")) - , is_recovering(config.has("keeper_server.force_recovery") && config.getBool("keeper_server.force_recovery")) + , is_recovering(config.getBool("keeper_server.force_recovery", false)) + , keeper_context{std::make_shared()} + , create_snapshot_on_exit(config.getBool("keeper_server.create_snapshot_on_exit", true)) { if (coordination_settings->quorum_reads) LOG_WARNING(log, "Quorum reads enabled, Keeper will work slower."); + + keeper_context->digest_enabled = config.getBool("keeper_server.digest_enabled", false); + keeper_context->ignore_system_path_on_startup = config.getBool("keeper_server.ignore_system_path_on_startup", false); + + state_machine = nuraft::cs_new( + responses_queue_, + snapshots_queue_, + configuration_and_settings_->snapshot_storage_path, + coordination_settings, + keeper_context, + checkAndGetSuperdigest(configuration_and_settings_->super_digest)); + + state_manager = nuraft::cs_new( + server_id, + "keeper_server", + configuration_and_settings_->log_storage_path, + configuration_and_settings_->state_file_path, + config, + coordination_settings); } /** @@ -158,6 +175,17 @@ struct KeeperServer::KeeperRaftServer : public nuraft::raft_server reconfigure(new_config); } + void commit_in_bg() override + { + // For NuRaft, if any commit fails (uncaught exception) the whole server aborts as a safety + // This includes failed allocation which can produce an unknown state for the storage, + // making it impossible to handle correctly. + // We block the memory tracker for all the commit operations (including KeeperStateMachine::commit) + // assuming that the allocations are small + LockMemoryExceptionInThread blocker{VariableContext::Global}; + nuraft::raft_server::commit_in_bg(); + } + using nuraft::raft_server::raft_server; // peers are initially marked as responding because at least one cycle @@ -315,11 +343,30 @@ void KeeperServer::startup(const Poco::Util::AbstractConfiguration & config, boo state_manager->loadLogStore(state_machine->last_commit_index() + 1, coordination_settings->reserved_log_items); + auto log_store = state_manager->load_log_store(); + auto next_log_idx = log_store->next_slot(); + if (next_log_idx > 0 && next_log_idx > state_machine->last_commit_index()) + { + auto log_entries = log_store->log_entries(state_machine->last_commit_index() + 1, next_log_idx); + + LOG_INFO(log, "Preprocessing {} log entries", log_entries->size()); + auto idx = state_machine->last_commit_index() + 1; + for (const auto & entry : *log_entries) + { + if (entry && entry->get_val_type() == nuraft::log_val_type::app_log) + state_machine->pre_commit(idx, entry->get_buf()); + + ++idx; + } + } + loadLatestConfig(); last_local_config = state_manager->parseServersConfiguration(config, true).cluster_config; launchRaftServer(enable_ipv6); + + keeper_context->server_state = KeeperContext::Phase::RUNNING; } void KeeperServer::shutdownRaftServer() @@ -333,6 +380,12 @@ void KeeperServer::shutdownRaftServer() } raft_instance->shutdown(); + + keeper_context->server_state = KeeperContext::Phase::SHUTDOWN; + + if (create_snapshot_on_exit) + raft_instance->create_snapshot(); + raft_instance.reset(); if (asio_listener) @@ -367,18 +420,35 @@ void KeeperServer::shutdown() namespace { -nuraft::ptr getZooKeeperLogEntry(int64_t session_id, int64_t time, const Coordination::ZooKeeperRequestPtr & request) +// Serialize the request with all the necessary information for the leader +// we don't know ZXID and digest yet so we don't serialize it +nuraft::ptr getZooKeeperRequestMessage(const KeeperStorage::RequestForSession & request_for_session) { - DB::WriteBufferFromNuraftBuffer buf; - DB::writeIntBinary(session_id, buf); - request->write(buf); - DB::writeIntBinary(time, buf); - return buf.getBuffer(); + DB::WriteBufferFromNuraftBuffer write_buf; + DB::writeIntBinary(request_for_session.session_id, write_buf); + request_for_session.request->write(write_buf); + DB::writeIntBinary(request_for_session.time, write_buf); + return write_buf.getBuffer(); +} + +// Serialize the request for the log entry +nuraft::ptr getZooKeeperLogEntry(const KeeperStorage::RequestForSession & request_for_session) +{ + DB::WriteBufferFromNuraftBuffer write_buf; + DB::writeIntBinary(request_for_session.session_id, write_buf); + request_for_session.request->write(write_buf); + DB::writeIntBinary(request_for_session.time, write_buf); + DB::writeIntBinary(request_for_session.zxid, write_buf); + assert(request_for_session.digest); + DB::writeIntBinary(request_for_session.digest->version, write_buf); + if (request_for_session.digest->version != KeeperStorage::DigestVersion::NO_DIGEST) + DB::writeIntBinary(request_for_session.digest->value, write_buf); + + return write_buf.getBuffer(); } } - void KeeperServer::putLocalReadRequest(const KeeperStorage::RequestForSession & request_for_session) { if (!request_for_session.request->isReadRequest()) @@ -390,8 +460,10 @@ void KeeperServer::putLocalReadRequest(const KeeperStorage::RequestForSession & RaftAppendResult KeeperServer::putRequestBatch(const KeeperStorage::RequestsForSessions & requests_for_sessions) { std::vector> entries; - for (const auto & [session_id, time, request] : requests_for_sessions) - entries.push_back(getZooKeeperLogEntry(session_id, time, request)); + for (const auto & request_for_session : requests_for_sessions) + { + entries.push_back(getZooKeeperRequestMessage(request_for_session)); + } std::lock_guard lock{server_write_mutex}; if (is_recovering) @@ -405,14 +477,12 @@ bool KeeperServer::isLeader() const return raft_instance->is_leader(); } - bool KeeperServer::isObserver() const { auto srv_config = state_manager->get_srv_config(); return srv_config->is_learner(); } - bool KeeperServer::isFollower() const { return !isLeader() && !isObserver(); @@ -501,7 +571,46 @@ nuraft::cb_func::ReturnCode KeeperServer::callbackFunc(nuraft::cb_func::Type typ } if (initialized_flag) + { + switch (type) + { + // This event is called before a single log is appended to the entry on the leader node + case nuraft::cb_func::PreAppendLog: + { + // we are relying on the fact that request are being processed under a mutex + // and not a RW lock + auto & entry = *static_cast(param->ctx); + + assert(entry->get_val_type() == nuraft::app_log); + auto next_zxid = state_machine->getNextZxid(); + + auto & entry_buf = entry->get_buf(); + auto request_for_session = state_machine->parseRequest(entry_buf); + request_for_session.zxid = next_zxid; + state_machine->preprocess(request_for_session); + request_for_session.digest = state_machine->getNodesDigest(); + entry = nuraft::cs_new(entry->get_term(), getZooKeeperLogEntry(request_for_session), entry->get_val_type()); + break; + } + case nuraft::cb_func::AppendLogFailed: + { + // we are relying on the fact that request are being processed under a mutex + // and not a RW lock + auto & entry = *static_cast(param->ctx); + + assert(entry->get_val_type() == nuraft::app_log); + + auto & entry_buf = entry->get_buf(); + auto request_for_session = state_machine->parseRequest(entry_buf); + state_machine->rollbackRequest(request_for_session, true); + break; + } + default: + break; + } + return nuraft::cb_func::ReturnCode::Ok; + } size_t last_commited = state_machine->last_commit_index(); size_t next_index = state_manager->getLogStore()->next_slot(); @@ -511,7 +620,7 @@ nuraft::cb_func::ReturnCode KeeperServer::callbackFunc(nuraft::cb_func::Type typ auto set_initialized = [this]() { - std::unique_lock lock(initialized_mutex); + std::lock_guard lock(initialized_mutex); initialized_flag = true; initialized_cv.notify_all(); }; @@ -741,4 +850,25 @@ bool KeeperServer::waitConfigurationUpdate(const ConfigUpdateAction & task) return true; } +Keeper4LWInfo KeeperServer::getPartiallyFilled4LWInfo() const +{ + Keeper4LWInfo result; + result.is_leader = raft_instance->is_leader(); + + auto srv_config = state_manager->get_srv_config(); + result.is_observer = srv_config->is_learner(); + + result.is_follower = !result.is_leader && !result.is_observer; + result.has_leader = result.is_leader || isLeaderAlive(); + result.is_standalone = !result.is_follower && getFollowerCount() == 0; + if (result.is_leader) + { + result.follower_count = getFollowerCount(); + result.synced_follower_count = getSyncedFollowerCount(); + } + result.total_nodes_count = getKeeperStateMachine()->getNodesCount(); + result.last_zxid = getKeeperStateMachine()->getLastProcessedZxid(); + return result; +} + } diff --git a/src/Coordination/KeeperServer.h b/src/Coordination/KeeperServer.h index 8c21cf47d94..1fb3e579214 100644 --- a/src/Coordination/KeeperServer.h +++ b/src/Coordination/KeeperServer.h @@ -8,6 +8,8 @@ #include #include #include +#include +#include namespace DB { @@ -60,6 +62,10 @@ private: std::atomic_bool is_recovering = false; + std::shared_ptr keeper_context; + + const bool create_snapshot_on_exit; + public: KeeperServer( const KeeperConfigurationAndSettingsPtr & settings_, @@ -95,6 +101,8 @@ public: bool isLeaderAlive() const; + Keeper4LWInfo getPartiallyFilled4LWInfo() const; + /// @return follower count if node is not leader return 0 uint64_t getFollowerCount() const; diff --git a/src/Coordination/KeeperSnapshotManager.cpp b/src/Coordination/KeeperSnapshotManager.cpp index 1481767add3..1e3f37b617f 100644 --- a/src/Coordination/KeeperSnapshotManager.cpp +++ b/src/Coordination/KeeperSnapshotManager.cpp @@ -1,17 +1,20 @@ -#include -#include #include #include -#include -#include +#include #include #include -#include #include +#include +#include +#include #include +#include #include #include #include +#include +#include "Coordination/KeeperContext.h" +#include namespace DB { @@ -20,6 +23,7 @@ namespace ErrorCodes { extern const int UNKNOWN_FORMAT_VERSION; extern const int UNKNOWN_SNAPSHOT; + extern const int LOGICAL_ERROR; } namespace @@ -142,16 +146,55 @@ namespace } } +namespace +{ -void KeeperStorageSnapshot::serialize(const KeeperStorageSnapshot & snapshot, WriteBuffer & out) +enum class PathMatchResult +{ + NOT_MATCH, + EXACT, + IS_CHILD +}; + +PathMatchResult matchPath(const std::string_view path, const std::string_view match_to) +{ + using enum PathMatchResult; + + auto [first_it, second_it] = std::mismatch(path.begin(), path.end(), match_to.begin(), match_to.end()); + + if (second_it != match_to.end()) + return NOT_MATCH; + + if (first_it == path.end()) + return EXACT; + + return *first_it == '/' ? IS_CHILD : NOT_MATCH; +} + +} + +void KeeperStorageSnapshot::serialize(const KeeperStorageSnapshot & snapshot, WriteBuffer & out, KeeperContextPtr keeper_context) { writeBinary(static_cast(snapshot.version), out); serializeSnapshotMetadata(snapshot.snapshot_meta, out); + + if (snapshot.version >= SnapshotVersion::V5) + { + writeBinary(snapshot.zxid, out); + if (keeper_context->digest_enabled) + { + writeBinary(static_cast(KeeperStorage::CURRENT_DIGEST_VERSION), out); + writeBinary(snapshot.nodes_digest, out); + } + else + writeBinary(static_cast(KeeperStorage::NO_DIGEST), out); + } + writeBinary(snapshot.session_id, out); /// Better to sort before serialization, otherwise snapshots can be different on different replicas std::vector> sorted_acl_map(snapshot.acl_map.begin(), snapshot.acl_map.end()); - std::sort(sorted_acl_map.begin(), sorted_acl_map.end()); + ::sort(sorted_acl_map.begin(), sorted_acl_map.end()); /// Serialize ACLs map writeBinary(sorted_acl_map.size(), out); for (const auto & [acl_id, acls] : sorted_acl_map) @@ -167,16 +210,25 @@ void KeeperStorageSnapshot::serialize(const KeeperStorageSnapshot & snapshot, Wr } /// Serialize data tree - writeBinary(snapshot.snapshot_container_size, out); + writeBinary(snapshot.snapshot_container_size - child_system_paths_with_data.size(), out); size_t counter = 0; for (auto it = snapshot.begin; counter < snapshot.snapshot_container_size; ++counter) { const auto & path = it->key; + + // write only the root system path because of digest + if (matchPath(path.toView(), keeper_system_path) == PathMatchResult::IS_CHILD) + { + ++it; + continue; + } + const auto & node = it->value; + /// Benign race condition possible while taking snapshot: NuRaft decide to create snapshot at some log id /// and only after some time we lock storage and enable snapshot mode. So snapshot_container_size can be /// slightly bigger than required. - if (static_cast(node.stat.mzxid) > snapshot.snapshot_meta->get_last_log_idx()) + if (node.stat.mzxid > snapshot.zxid) break; writeBinary(path, out); @@ -192,8 +244,9 @@ void KeeperStorageSnapshot::serialize(const KeeperStorageSnapshot & snapshot, Wr /// Session must be saved in a sorted order, /// otherwise snapshots will be different - std::vector> sorted_session_and_timeout(snapshot.session_and_timeout.begin(), snapshot.session_and_timeout.end()); - std::sort(sorted_session_and_timeout.begin(), sorted_session_and_timeout.end()); + std::vector> sorted_session_and_timeout( + snapshot.session_and_timeout.begin(), snapshot.session_and_timeout.end()); + ::sort(sorted_session_and_timeout.begin(), sorted_session_and_timeout.end()); /// Serialize sessions size_t size = sorted_session_and_timeout.size(); @@ -225,7 +278,7 @@ void KeeperStorageSnapshot::serialize(const KeeperStorageSnapshot & snapshot, Wr } } -void KeeperStorageSnapshot::deserialize(SnapshotDeserializationResult & deserialization_result, ReadBuffer & in) +void KeeperStorageSnapshot::deserialize(SnapshotDeserializationResult & deserialization_result, ReadBuffer & in, KeeperContextPtr keeper_context) { uint8_t version; readBinary(version, in); @@ -236,10 +289,34 @@ void KeeperStorageSnapshot::deserialize(SnapshotDeserializationResult & deserial deserialization_result.snapshot_meta = deserializeSnapshotMetadata(in); KeeperStorage & storage = *deserialization_result.storage; + bool recalculate_digest = keeper_context->digest_enabled; + if (version >= SnapshotVersion::V5) + { + readBinary(storage.zxid, in); + uint8_t digest_version; + readBinary(digest_version, in); + if (digest_version != KeeperStorage::DigestVersion::NO_DIGEST) + { + uint64_t nodes_digest; + readBinary(nodes_digest, in); + if (digest_version == KeeperStorage::CURRENT_DIGEST_VERSION) + { + storage.nodes_digest = nodes_digest; + recalculate_digest = false; + } + } + + storage.old_snapshot_zxid = 0; + } + else + { + storage.zxid = deserialization_result.snapshot_meta->get_last_log_idx(); + storage.old_snapshot_zxid = storage.zxid; + } + int64_t session_id; readBinary(session_id, in); - storage.zxid = deserialization_result.snapshot_meta->get_last_log_idx(); storage.session_id_counter = session_id; /// Before V1 we serialized ACL without acl_map @@ -273,18 +350,60 @@ void KeeperStorageSnapshot::deserialize(SnapshotDeserializationResult & deserial size_t snapshot_container_size; readBinary(snapshot_container_size, in); - size_t current_size = 0; - while (current_size < snapshot_container_size) + if (recalculate_digest) + storage.nodes_digest = 0; + + const auto is_node_empty = [](const auto & node) + { + return node.getData().empty() && node.stat == Coordination::Stat{}; + }; + + for (size_t nodes_read = 0; nodes_read < snapshot_container_size; ++nodes_read) { std::string path; readBinary(path, in); KeeperStorage::Node node{}; readNode(node, in, current_version, storage.acl_map); + + using enum PathMatchResult; + auto match_result = matchPath(path, keeper_system_path); + + const std::string error_msg = fmt::format("Cannot read node on path {} from a snapshot because it is used as a system node", path); + if (match_result == IS_CHILD) + { + if (keeper_context->ignore_system_path_on_startup || keeper_context->server_state != KeeperContext::Phase::INIT) + { + LOG_ERROR(&Poco::Logger::get("KeeperSnapshotManager"), "{}. Ignoring it", error_msg); + continue; + } + else + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "{}. Ignoring it can lead to data loss. " + "If you still want to ignore it, you can set 'keeper_server.ignore_system_path_on_startup' to true", + error_msg); + } + else if (match_result == EXACT && !is_node_empty(node)) + { + if (keeper_context->ignore_system_path_on_startup || keeper_context->server_state != KeeperContext::Phase::INIT) + { + LOG_ERROR(&Poco::Logger::get("KeeperSnapshotManager"), "{}. Ignoring it", error_msg); + node = KeeperStorage::Node{}; + } + else + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "{}. Ignoring it can lead to data loss. " + "If you still want to ignore it, you can set 'keeper_server.ignore_system_path_on_startup' to true", + error_msg); + } + storage.container.insertOrReplace(path, node); if (node.stat.ephemeralOwner != 0) storage.ephemerals[node.stat.ephemeralOwner].insert(path); - current_size++; + if (recalculate_digest) + storage.nodes_digest += node.getDigest(path); } for (const auto & itr : storage.container) @@ -292,10 +411,30 @@ void KeeperStorageSnapshot::deserialize(SnapshotDeserializationResult & deserial if (itr.key != "/") { auto parent_path = parentPath(itr.key); - storage.container.updateValue(parent_path, [path = itr.key] (KeeperStorage::Node & value) { value.addChild(getBaseName(path)); }); + storage.container.updateValue( + parent_path, [path = itr.key](KeeperStorage::Node & value) { value.addChild(getBaseName(path)); }); } } + for (const auto & itr : storage.container) + { + if (itr.key != "/") + { + if (itr.value.stat.numChildren != static_cast(itr.value.getChildren().size())) + { +#ifdef NDEBUG + /// TODO (alesapin) remove this, it should be always CORRUPTED_DATA. + LOG_ERROR(&Poco::Logger::get("KeeperSnapshotManager"), "Children counter in stat.numChildren {}" + " is different from actual children size {} for node {}", itr.value.stat.numChildren, itr.value.getChildren().size(), itr.key); +#else + throw Exception(ErrorCodes::LOGICAL_ERROR, "Children counter in stat.numChildren {}" + " is different from actual children size {} for node {}", itr.value.stat.numChildren, itr.value.getChildren().size(), itr.key); +#endif + } + } + } + + size_t active_sessions_size; readBinary(active_sessions_size, in); @@ -347,6 +486,8 @@ KeeperStorageSnapshot::KeeperStorageSnapshot(KeeperStorage * storage_, uint64_t , snapshot_meta(std::make_shared(up_to_log_idx_, 0, std::make_shared())) , session_id(storage->session_id_counter) , cluster_config(cluster_config_) + , zxid(storage->zxid) + , nodes_digest(storage->nodes_digest) { auto [size, ver] = storage->container.snapshotSizeWithVersion(); snapshot_container_size = size; @@ -357,11 +498,14 @@ KeeperStorageSnapshot::KeeperStorageSnapshot(KeeperStorage * storage_, uint64_t session_and_auth = storage->session_and_auth; } -KeeperStorageSnapshot::KeeperStorageSnapshot(KeeperStorage * storage_, const SnapshotMetadataPtr & snapshot_meta_, const ClusterConfigPtr & cluster_config_) +KeeperStorageSnapshot::KeeperStorageSnapshot( + KeeperStorage * storage_, const SnapshotMetadataPtr & snapshot_meta_, const ClusterConfigPtr & cluster_config_) : storage(storage_) , snapshot_meta(snapshot_meta_) , session_id(storage->session_id_counter) , cluster_config(cluster_config_) + , zxid(storage->zxid) + , nodes_digest(storage->nodes_digest) { auto [size, ver] = storage->container.snapshotSizeWithVersion(); snapshot_container_size = size; @@ -378,14 +522,18 @@ KeeperStorageSnapshot::~KeeperStorageSnapshot() } KeeperSnapshotManager::KeeperSnapshotManager( - const std::string & snapshots_path_, size_t snapshots_to_keep_, + const std::string & snapshots_path_, + size_t snapshots_to_keep_, + const KeeperContextPtr & keeper_context_, bool compress_snapshots_zstd_, - const std::string & superdigest_, size_t storage_tick_time_) + const std::string & superdigest_, + size_t storage_tick_time_) : snapshots_path(snapshots_path_) , snapshots_to_keep(snapshots_to_keep_) , compress_snapshots_zstd(compress_snapshots_zstd_) , superdigest(superdigest_) , storage_tick_time(storage_tick_time_) + , keeper_context(keeper_context_) { namespace fs = std::filesystem; @@ -479,7 +627,7 @@ nuraft::ptr KeeperSnapshotManager::serializeSnapshotToBuffer(con else compressed_writer = std::make_unique(*writer); - KeeperStorageSnapshot::serialize(snapshot, *compressed_writer); + KeeperStorageSnapshot::serialize(snapshot, *compressed_writer, keeper_context); compressed_writer->finalize(); return buffer_raw_ptr->getBuffer(); } @@ -487,12 +635,13 @@ nuraft::ptr KeeperSnapshotManager::serializeSnapshotToBuffer(con bool KeeperSnapshotManager::isZstdCompressed(nuraft::ptr buffer) { - static constexpr uint32_t ZSTD_COMPRESSED_MAGIC = 0xFD2FB528; + static constexpr unsigned char ZSTD_COMPRESSED_MAGIC[4] = {0x28, 0xB5, 0x2F, 0xFD}; + ReadBufferFromNuraftBuffer reader(buffer); - uint32_t magic_from_buffer; + unsigned char magic_from_buffer[4]{}; reader.readStrict(reinterpret_cast(&magic_from_buffer), sizeof(magic_from_buffer)); buffer->pos(0); - return magic_from_buffer == ZSTD_COMPRESSED_MAGIC; + return memcmp(magic_from_buffer, ZSTD_COMPRESSED_MAGIC, 4) == 0; } SnapshotDeserializationResult KeeperSnapshotManager::deserializeSnapshotFromBuffer(nuraft::ptr buffer) const @@ -508,8 +657,9 @@ SnapshotDeserializationResult KeeperSnapshotManager::deserializeSnapshotFromBuff compressed_reader = std::make_unique(*reader); SnapshotDeserializationResult result; - result.storage = std::make_unique(storage_tick_time, superdigest); - KeeperStorageSnapshot::deserialize(result, *compressed_reader); + result.storage = std::make_unique(storage_tick_time, superdigest, keeper_context, /* initialize_system_nodes */ false); + KeeperStorageSnapshot::deserialize(result, *compressed_reader, keeper_context); + result.storage->initializeSystemNodes(); return result; } @@ -547,14 +697,14 @@ std::pair KeeperSnapshotManager::serializeSnapshot std::string tmp_snapshot_path = std::filesystem::path{snapshots_path} / tmp_snapshot_file_name; std::string new_snapshot_path = std::filesystem::path{snapshots_path} / snapshot_file_name; - auto writer = std::make_unique(tmp_snapshot_path, O_WRONLY | O_TRUNC | O_CREAT | O_CLOEXEC| O_APPEND); + auto writer = std::make_unique(tmp_snapshot_path, O_WRONLY | O_TRUNC | O_CREAT | O_CLOEXEC | O_APPEND); std::unique_ptr compressed_writer; if (compress_snapshots_zstd) compressed_writer = wrapWriteBufferWithCompressionMethod(std::move(writer), CompressionMethod::Zstd, 3); else compressed_writer = std::make_unique(*writer); - KeeperStorageSnapshot::serialize(snapshot, *compressed_writer); + KeeperStorageSnapshot::serialize(snapshot, *compressed_writer, keeper_context); compressed_writer->finalize(); compressed_writer->sync(); diff --git a/src/Coordination/KeeperSnapshotManager.h b/src/Coordination/KeeperSnapshotManager.h index 37341ef546a..4984e54f15f 100644 --- a/src/Coordination/KeeperSnapshotManager.h +++ b/src/Coordination/KeeperSnapshotManager.h @@ -1,10 +1,11 @@ #pragma once #include #include -#include #include -#include #include +#include +#include +#include namespace DB { @@ -21,9 +22,10 @@ enum SnapshotVersion : uint8_t V2 = 2, /// with 64 bit buffer header V3 = 3, /// compress snapshots with ZSTD codec V4 = 4, /// add Node size to snapshots + V5 = 5, /// add ZXID and digest to snapshots }; -static constexpr auto CURRENT_SNAPSHOT_VERSION = SnapshotVersion::V4; +static constexpr auto CURRENT_SNAPSHOT_VERSION = SnapshotVersion::V5; /// What is stored in binary shapsnot struct SnapshotDeserializationResult @@ -49,13 +51,14 @@ struct KeeperStorageSnapshot public: KeeperStorageSnapshot(KeeperStorage * storage_, uint64_t up_to_log_idx_, const ClusterConfigPtr & cluster_config_ = nullptr); - KeeperStorageSnapshot(KeeperStorage * storage_, const SnapshotMetadataPtr & snapshot_meta_, const ClusterConfigPtr & cluster_config_ = nullptr); + KeeperStorageSnapshot( + KeeperStorage * storage_, const SnapshotMetadataPtr & snapshot_meta_, const ClusterConfigPtr & cluster_config_ = nullptr); ~KeeperStorageSnapshot(); - static void serialize(const KeeperStorageSnapshot & snapshot, WriteBuffer & out); + static void serialize(const KeeperStorageSnapshot & snapshot, WriteBuffer & out, KeeperContextPtr keeper_context); - static void deserialize(SnapshotDeserializationResult & deserialization_result, ReadBuffer & in); + static void deserialize(SnapshotDeserializationResult & deserialization_result, ReadBuffer & in, KeeperContextPtr keeper_context); KeeperStorage * storage; @@ -77,6 +80,10 @@ public: std::unordered_map acl_map; /// Cluster config from snapshot, can be empty ClusterConfigPtr cluster_config; + /// Last committed ZXID + int64_t zxid; + /// Current digest of committed nodes + uint64_t nodes_digest; }; using KeeperStorageSnapshotPtr = std::shared_ptr; @@ -91,8 +98,12 @@ class KeeperSnapshotManager { public: KeeperSnapshotManager( - const std::string & snapshots_path_, size_t snapshots_to_keep_, - bool compress_snapshots_zstd_ = true, const std::string & superdigest_ = "", size_t storage_tick_time_ = 500); + const std::string & snapshots_path_, + size_t snapshots_to_keep_, + const KeeperContextPtr & keeper_context_, + bool compress_snapshots_zstd_ = true, + const std::string & superdigest_ = "", + size_t storage_tick_time_ = 500); /// Restore storage from latest available snapshot SnapshotDeserializationResult restoreFromLatestSnapshot(); @@ -118,10 +129,7 @@ public: void removeSnapshot(uint64_t log_idx); /// Total amount of snapshots - size_t totalSnapshots() const - { - return existing_snapshots.size(); - } + size_t totalSnapshots() const { return existing_snapshots.size(); } /// The most fresh snapshot log index we have size_t getLatestSnapshotIndex() const @@ -161,6 +169,8 @@ private: const std::string superdigest; /// Storage sessions timeout check interval (also for deserializatopn) size_t storage_tick_time; + + KeeperContextPtr keeper_context; }; /// Keeper create snapshots in background thread. KeeperStateMachine just create diff --git a/src/Coordination/KeeperStateMachine.cpp b/src/Coordination/KeeperStateMachine.cpp index be7110fa841..90f108dadb6 100644 --- a/src/Coordination/KeeperStateMachine.cpp +++ b/src/Coordination/KeeperStateMachine.cpp @@ -1,12 +1,27 @@ -#include #include +#include +#include #include #include #include #include +#include +#include "Common/ZooKeeper/ZooKeeperCommon.h" #include -#include -#include +#include +#include "Coordination/KeeperStorage.h" + +namespace ProfileEvents +{ + extern const Event KeeperCommits; + extern const Event KeeperCommitsFailed; + extern const Event KeeperSnapshotCreations; + extern const Event KeeperSnapshotCreationsFailed; + extern const Event KeeperSnapshotApplys; + extern const Event KeeperSnapshotApplysFailed; + extern const Event KeeperReadSnapshot; + extern const Event KeeperSaveSnapshot; +} namespace DB { @@ -19,52 +34,29 @@ namespace ErrorCodes namespace { - KeeperStorage::RequestForSession parseRequest(nuraft::buffer & data) - { - ReadBufferFromNuraftBuffer buffer(data); - KeeperStorage::RequestForSession request_for_session; - readIntBinary(request_for_session.session_id, buffer); - - int32_t length; - Coordination::read(length, buffer); - - int32_t xid; - Coordination::read(xid, buffer); - - Coordination::OpNum opnum; - - Coordination::read(opnum, buffer); - - request_for_session.request = Coordination::ZooKeeperRequestFactory::instance().get(opnum); - request_for_session.request->xid = xid; - request_for_session.request->readImpl(buffer); - - if (!buffer.eof()) - readIntBinary(request_for_session.time, buffer); - else /// backward compatibility - request_for_session.time = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count(); - - - return request_for_session; - } } KeeperStateMachine::KeeperStateMachine( - ResponsesQueue & responses_queue_, - SnapshotsQueue & snapshots_queue_, - const std::string & snapshots_path_, - const CoordinationSettingsPtr & coordination_settings_, - const std::string & superdigest_) + ResponsesQueue & responses_queue_, + SnapshotsQueue & snapshots_queue_, + const std::string & snapshots_path_, + const CoordinationSettingsPtr & coordination_settings_, + const KeeperContextPtr & keeper_context_, + const std::string & superdigest_) : coordination_settings(coordination_settings_) , snapshot_manager( - snapshots_path_, coordination_settings->snapshots_to_keep, - coordination_settings->compress_snapshots_with_zstd_format, superdigest_, - coordination_settings->dead_session_check_period_ms.totalMicroseconds()) + snapshots_path_, + coordination_settings->snapshots_to_keep, + keeper_context_, + coordination_settings->compress_snapshots_with_zstd_format, + superdigest_, + coordination_settings->dead_session_check_period_ms.totalMilliseconds()) , responses_queue(responses_queue_) , snapshots_queue(snapshots_queue_) , last_committed_idx(0) , log(&Poco::Logger::get("KeeperStateMachine")) , superdigest(superdigest_) + , keeper_context(keeper_context_) { } @@ -82,7 +74,8 @@ void KeeperStateMachine::init() try { - auto snapshot_deserialization_result = snapshot_manager.deserializeSnapshotFromBuffer(snapshot_manager.deserializeSnapshotBufferFromDisk(latest_log_index)); + auto snapshot_deserialization_result + = snapshot_manager.deserializeSnapshotFromBuffer(snapshot_manager.deserializeSnapshotBufferFromDisk(latest_log_index)); latest_snapshot_path = snapshot_manager.getLatestSnapshotPath(); storage = std::move(snapshot_deserialization_result.storage); latest_snapshot_meta = snapshot_deserialization_result.snapshot_meta; @@ -93,7 +86,11 @@ void KeeperStateMachine::init() } catch (const DB::Exception & ex) { - LOG_WARNING(log, "Failed to load from snapshot with index {}, with error {}, will remove it from disk", latest_log_index, ex.displayText()); + LOG_WARNING( + log, + "Failed to load from snapshot with index {}, with error {}, will remove it from disk", + latest_log_index, + ex.displayText()); snapshot_manager.removeSnapshot(latest_log_index); } } @@ -111,16 +108,124 @@ void KeeperStateMachine::init() } if (!storage) - storage = std::make_unique(coordination_settings->dead_session_check_period_ms.totalMilliseconds(), superdigest); + storage = std::make_unique( + coordination_settings->dead_session_check_period_ms.totalMilliseconds(), superdigest, keeper_context); +} + +namespace +{ + +void assertDigest( + const KeeperStorage::Digest & first, + const KeeperStorage::Digest & second, + const Coordination::ZooKeeperRequest & request, + bool committing) +{ + if (!KeeperStorage::checkDigest(first, second)) + { + LOG_FATAL( + &Poco::Logger::get("KeeperStateMachine"), + "Digest for nodes is not matching after {} request of type '{}'.\nExpected digest - {}, actual digest - {} (digest " + "{}). Keeper will terminate to avoid inconsistencies.\nExtra information about the request:\n{}", + committing ? "committing" : "preprocessing", + request.getOpNum(), + first.value, + second.value, + first.version, + request.toString()); + std::terminate(); + } +} + +} + +nuraft::ptr KeeperStateMachine::pre_commit(uint64_t log_idx, nuraft::buffer & data) +{ + auto request_for_session = parseRequest(data); + if (!request_for_session.zxid) + request_for_session.zxid = log_idx; + + preprocess(request_for_session); + return nullptr; +} + +KeeperStorage::RequestForSession KeeperStateMachine::parseRequest(nuraft::buffer & data) +{ + ReadBufferFromNuraftBuffer buffer(data); + KeeperStorage::RequestForSession request_for_session; + readIntBinary(request_for_session.session_id, buffer); + + int32_t length; + Coordination::read(length, buffer); + + int32_t xid; + Coordination::read(xid, buffer); + + Coordination::OpNum opnum; + + Coordination::read(opnum, buffer); + + request_for_session.request = Coordination::ZooKeeperRequestFactory::instance().get(opnum); + request_for_session.request->xid = xid; + request_for_session.request->readImpl(buffer); + + if (!buffer.eof()) + readIntBinary(request_for_session.time, buffer); + else /// backward compatibility + request_for_session.time + = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count(); + + if (!buffer.eof()) + readIntBinary(request_for_session.zxid, buffer); + + if (!buffer.eof()) + { + request_for_session.digest.emplace(); + readIntBinary(request_for_session.digest->version, buffer); + if (request_for_session.digest->version != KeeperStorage::DigestVersion::NO_DIGEST) + readIntBinary(request_for_session.digest->value, buffer); + } + + return request_for_session; +} + +void KeeperStateMachine::preprocess(const KeeperStorage::RequestForSession & request_for_session) +{ + if (request_for_session.request->getOpNum() == Coordination::OpNum::SessionID) + return; + + std::lock_guard lock(storage_and_responses_lock); + try + { + storage->preprocessRequest( + request_for_session.request, + request_for_session.session_id, + request_for_session.time, + request_for_session.zxid, + true /* check_acl */, + request_for_session.digest); + } + catch (...) + { + rollbackRequest(request_for_session, true); + throw; + } + + if (keeper_context->digest_enabled && request_for_session.digest) + assertDigest(*request_for_session.digest, storage->getNodesDigest(false), *request_for_session.request, false); } nuraft::ptr KeeperStateMachine::commit(const uint64_t log_idx, nuraft::buffer & data) { auto request_for_session = parseRequest(data); + if (!request_for_session.zxid) + request_for_session.zxid = log_idx; + /// Special processing of session_id request if (request_for_session.request->getOpNum() == Coordination::OpNum::SessionID) { - const Coordination::ZooKeeperSessionIDRequest & session_id_request = dynamic_cast(*request_for_session.request); + const Coordination::ZooKeeperSessionIDRequest & session_id_request + = dynamic_cast(*request_for_session.request); int64_t session_id; std::shared_ptr response = std::make_shared(); response->internal_id = session_id_request.internal_id; @@ -134,18 +239,32 @@ nuraft::ptr KeeperStateMachine::commit(const uint64_t log_idx, n LOG_DEBUG(log, "Session ID response {} with timeout {}", session_id, session_id_request.session_timeout_ms); response->session_id = session_id; if (!responses_queue.push(response_for_session)) + { + ProfileEvents::increment(ProfileEvents::KeeperCommitsFailed); throw Exception(ErrorCodes::SYSTEM_ERROR, "Could not push response with session id {} into responses queue", session_id); + } } } else { std::lock_guard lock(storage_and_responses_lock); - KeeperStorage::ResponsesForSessions responses_for_sessions = storage->processRequest(request_for_session.request, request_for_session.session_id, request_for_session.time, log_idx); + KeeperStorage::ResponsesForSessions responses_for_sessions = storage->processRequest( + request_for_session.request, request_for_session.session_id, request_for_session.zxid); for (auto & response_for_session : responses_for_sessions) if (!responses_queue.push(response_for_session)) - throw Exception(ErrorCodes::SYSTEM_ERROR, "Could not push response with session id {} into responses queue", response_for_session.session_id); + { + ProfileEvents::increment(ProfileEvents::KeeperCommitsFailed); + throw Exception( + ErrorCodes::SYSTEM_ERROR, + "Could not push response with session id {} into responses queue", + response_for_session.session_id); + } + + if (keeper_context->digest_enabled && request_for_session.digest) + assertDigest(*request_for_session.digest, storage->getNodesDigest(true), *request_for_session.request, true); } + ProfileEvents::increment(ProfileEvents::KeeperCommits); last_committed_idx = log_idx; return nullptr; } @@ -157,19 +276,27 @@ bool KeeperStateMachine::apply_snapshot(nuraft::snapshot & s) { /// save snapshot into memory std::lock_guard lock(snapshots_lock); if (s.get_last_log_idx() != latest_snapshot_meta->get_last_log_idx()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Required to apply snapshot with last log index {}, but our last log index is {}", - s.get_last_log_idx(), latest_snapshot_meta->get_last_log_idx()); + { + ProfileEvents::increment(ProfileEvents::KeeperSnapshotApplysFailed); + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Required to apply snapshot with last log index {}, but our last log index is {}", + s.get_last_log_idx(), + latest_snapshot_meta->get_last_log_idx()); + } latest_snapshot_ptr = latest_snapshot_buf; } { /// deserialize and apply snapshot to storage std::lock_guard lock(storage_and_responses_lock); - auto snapshot_deserialization_result = snapshot_manager.deserializeSnapshotFromBuffer(snapshot_manager.deserializeSnapshotBufferFromDisk(s.get_last_log_idx())); + auto snapshot_deserialization_result + = snapshot_manager.deserializeSnapshotFromBuffer(snapshot_manager.deserializeSnapshotBufferFromDisk(s.get_last_log_idx())); storage = std::move(snapshot_deserialization_result.storage); latest_snapshot_meta = snapshot_deserialization_result.snapshot_meta; cluster_config = snapshot_deserialization_result.cluster_config; } + ProfileEvents::increment(ProfileEvents::KeeperSnapshotApplys); last_committed_idx = s.get_last_log_idx(); return true; } @@ -182,6 +309,27 @@ void KeeperStateMachine::commit_config(const uint64_t /* log_idx */, nuraft::ptr cluster_config = ClusterConfig::deserialize(*tmp); } +void KeeperStateMachine::rollback(uint64_t log_idx, nuraft::buffer & data) +{ + auto request_for_session = parseRequest(data); + // If we received a log from an older node, use the log_idx as the zxid + // log_idx will always be larger or equal to the zxid so we can safely do this + // (log_idx is increased for all logs, while zxid is only increased for requests) + if (!request_for_session.zxid) + request_for_session.zxid = log_idx; + + rollbackRequest(request_for_session, false); +} + +void KeeperStateMachine::rollbackRequest(const KeeperStorage::RequestForSession & request_for_session, bool allow_missing) +{ + if (request_for_session.request->getOpNum() == Coordination::OpNum::SessionID) + return; + + std::lock_guard lock(storage_and_responses_lock); + storage->rollbackRequest(request_for_session.zxid, allow_missing); +} + nuraft::ptr KeeperStateMachine::last_snapshot() { /// Just return the latest snapshot. @@ -189,9 +337,7 @@ nuraft::ptr KeeperStateMachine::last_snapshot() return latest_snapshot_meta; } -void KeeperStateMachine::create_snapshot( - nuraft::snapshot & s, - nuraft::async_result::handler_type & when_done) +void KeeperStateMachine::create_snapshot(nuraft::snapshot & s, nuraft::async_result::handler_type & when_done) { LOG_DEBUG(log, "Creating snapshot {}", s.get_last_log_idx()); @@ -204,22 +350,26 @@ void KeeperStateMachine::create_snapshot( } /// create snapshot task for background execution (in snapshot thread) - snapshot_task.create_snapshot = [this, when_done] (KeeperStorageSnapshotPtr && snapshot) + snapshot_task.create_snapshot = [this, when_done](KeeperStorageSnapshotPtr && snapshot) { nuraft::ptr exception(nullptr); bool ret = true; try { - { /// Read storage data without locks and create snapshot + { /// Read storage data without locks and create snapshot std::lock_guard lock(snapshots_lock); - auto [path, error_code]= snapshot_manager.serializeSnapshotToDisk(*snapshot); + auto [path, error_code] = snapshot_manager.serializeSnapshotToDisk(*snapshot); if (error_code) { - throw Exception(ErrorCodes::SYSTEM_ERROR, "Snapshot {} was created failed, error: {}", - snapshot->snapshot_meta->get_last_log_idx(), error_code.message()); + throw Exception( + ErrorCodes::SYSTEM_ERROR, + "Snapshot {} was created failed, error: {}", + snapshot->snapshot_meta->get_last_log_idx(), + error_code.message()); } latest_snapshot_path = path; latest_snapshot_meta = snapshot->snapshot_meta; + ProfileEvents::increment(ProfileEvents::KeeperSnapshotCreations); LOG_DEBUG(log, "Created persistent snapshot {} with path {}", latest_snapshot_meta->get_last_log_idx(), path); } @@ -235,6 +385,7 @@ void KeeperStateMachine::create_snapshot( } catch (...) { + ProfileEvents::increment(ProfileEvents::KeeperSnapshotCreationsFailed); LOG_TRACE(log, "Exception happened during snapshot"); tryLogCurrentException(log); ret = false; @@ -244,18 +395,21 @@ void KeeperStateMachine::create_snapshot( }; - LOG_DEBUG(log, "In memory snapshot {} created, queueing task to flash to disk", s.get_last_log_idx()); + if (keeper_context->server_state == KeeperContext::Phase::SHUTDOWN) + { + LOG_INFO(log, "Creating a snapshot during shutdown because 'create_snapshot_on_exit' is enabled."); + snapshot_task.create_snapshot(std::move(snapshot_task.snapshot)); + return; + } + + LOG_DEBUG(log, "In memory snapshot {} created, queueing task to flush to disk", s.get_last_log_idx()); /// Flush snapshot to disk in a separate thread. if (!snapshots_queue.push(std::move(snapshot_task))) LOG_WARNING(log, "Cannot push snapshot task into queue"); } void KeeperStateMachine::save_logical_snp_obj( - nuraft::snapshot & s, - uint64_t & obj_id, - nuraft::buffer & data, - bool /*is_first_obj*/, - bool /*is_last_obj*/) + nuraft::snapshot & s, uint64_t & obj_id, nuraft::buffer & data, bool /*is_first_obj*/, bool /*is_last_obj*/) { LOG_DEBUG(log, "Saving snapshot {} obj_id {}", s.get_last_log_idx(), obj_id); @@ -272,6 +426,7 @@ void KeeperStateMachine::save_logical_snp_obj( latest_snapshot_meta = cloned_meta; LOG_DEBUG(log, "Saved snapshot {} to path {}", s.get_last_log_idx(), result_path); obj_id++; + ProfileEvents::increment(ProfileEvents::KeeperSaveSnapshot); } catch (...) { @@ -311,13 +466,8 @@ static int bufferFromFile(Poco::Logger * log, const std::string & path, nuraft:: } int KeeperStateMachine::read_logical_snp_obj( - nuraft::snapshot & s, - void* & /*user_snp_ctx*/, - uint64_t obj_id, - nuraft::ptr & data_out, - bool & is_last_obj) + nuraft::snapshot & s, void *& /*user_snp_ctx*/, uint64_t obj_id, nuraft::ptr & data_out, bool & is_last_obj) { - LOG_DEBUG(log, "Reading snapshot {} obj_id {}", s.get_last_log_idx(), obj_id); std::lock_guard lock(snapshots_lock); @@ -325,8 +475,11 @@ int KeeperStateMachine::read_logical_snp_obj( /// Let's wait and NuRaft will retry this call. if (s.get_last_log_idx() != latest_snapshot_meta->get_last_log_idx()) { - LOG_WARNING(log, "Required to apply snapshot with last log index {}, but our last log index is {}. Will ignore this one and retry", - s.get_last_log_idx(), latest_snapshot_meta->get_last_log_idx()); + LOG_WARNING( + log, + "Required to apply snapshot with last log index {}, but our last log index is {}. Will ignore this one and retry", + s.get_last_log_idx(), + latest_snapshot_meta->get_last_log_idx()); return -1; } if (bufferFromFile(log, latest_snapshot_path, data_out)) @@ -335,6 +488,7 @@ int KeeperStateMachine::read_logical_snp_obj( return -1; } is_last_obj = true; + ProfileEvents::increment(ProfileEvents::KeeperReadSnapshot); return 1; } @@ -343,10 +497,16 @@ void KeeperStateMachine::processReadRequest(const KeeperStorage::RequestForSessi { /// Pure local request, just process it with storage std::lock_guard lock(storage_and_responses_lock); - auto responses = storage->processRequest(request_for_session.request, request_for_session.session_id, request_for_session.time, std::nullopt); + auto responses = storage->processRequest( + request_for_session.request, + request_for_session.session_id, + std::nullopt, + true /*check_acl*/, + true /*is_local*/); for (const auto & response : responses) if (!responses_queue.push(response)) - throw Exception(ErrorCodes::SYSTEM_ERROR, "Could not push response with session id {} into responses queue", response.session_id); + throw Exception( + ErrorCodes::SYSTEM_ERROR, "Could not push response with session id {} into responses queue", response.session_id); } void KeeperStateMachine::shutdownStorage() @@ -361,6 +521,18 @@ std::vector KeeperStateMachine::getDeadSessions() return storage->getDeadSessions(); } +int64_t KeeperStateMachine::getNextZxid() const +{ + std::lock_guard lock(storage_and_responses_lock); + return storage->getNextZXID(); +} + +KeeperStorage::Digest KeeperStateMachine::getNodesDigest() const +{ + std::lock_guard lock(storage_and_responses_lock); + return storage->getNodesDigest(false); +} + uint64_t KeeperStateMachine::getLastProcessedZxid() const { std::lock_guard lock(storage_and_responses_lock); diff --git a/src/Coordination/KeeperStateMachine.h b/src/Coordination/KeeperStateMachine.h index 73578e6a2ba..9ddc4372d3b 100644 --- a/src/Coordination/KeeperStateMachine.h +++ b/src/Coordination/KeeperStateMachine.h @@ -1,11 +1,12 @@ #pragma once -#include -#include -#include -#include #include #include +#include +#include +#include +#include +#include namespace DB @@ -20,23 +21,32 @@ class KeeperStateMachine : public nuraft::state_machine { public: KeeperStateMachine( - ResponsesQueue & responses_queue_, SnapshotsQueue & snapshots_queue_, - const std::string & snapshots_path_, const CoordinationSettingsPtr & coordination_settings_, + ResponsesQueue & responses_queue_, + SnapshotsQueue & snapshots_queue_, + const std::string & snapshots_path_, + const CoordinationSettingsPtr & coordination_settings_, + const KeeperContextPtr & keeper_context_, const std::string & superdigest_ = ""); /// Read state from the latest snapshot void init(); - /// Currently not supported - nuraft::ptr pre_commit(const uint64_t /*log_idx*/, nuraft::buffer & /*data*/) override { return nullptr; } + static KeeperStorage::RequestForSession parseRequest(nuraft::buffer & data); + + void preprocess(const KeeperStorage::RequestForSession & request_for_session); + + nuraft::ptr pre_commit(uint64_t log_idx, nuraft::buffer & data) override; nuraft::ptr commit(const uint64_t log_idx, nuraft::buffer & data) override; /// NOLINT /// Save new cluster config to our snapshot (copy of the config stored in StateManager) void commit_config(const uint64_t log_idx, nuraft::ptr & new_conf) override; /// NOLINT - /// Currently not supported - void rollback(const uint64_t /*log_idx*/, nuraft::buffer & /*data*/) override {} + void rollback(uint64_t log_idx, nuraft::buffer & data) override; + + // allow_missing - whether the transaction we want to rollback can be missing from storage + // (can happen in case of exception during preprocessing) + void rollbackRequest(const KeeperStorage::RequestForSession & request_for_session, bool allow_missing); uint64_t last_commit_index() override { return last_committed_idx; } @@ -46,32 +56,18 @@ public: nuraft::ptr last_snapshot() override; /// Create new snapshot from current state. - void create_snapshot( - nuraft::snapshot & s, - nuraft::async_result::handler_type & when_done) override; + void create_snapshot(nuraft::snapshot & s, nuraft::async_result::handler_type & when_done) override; /// Save snapshot which was send by leader to us. After that we will apply it in apply_snapshot. - void save_logical_snp_obj( - nuraft::snapshot & s, - uint64_t & obj_id, - nuraft::buffer & data, - bool is_first_obj, - bool is_last_obj) override; + void save_logical_snp_obj(nuraft::snapshot & s, uint64_t & obj_id, nuraft::buffer & data, bool is_first_obj, bool is_last_obj) override; /// Better name is `serialize snapshot` -- save existing snapshot (created by create_snapshot) into /// in-memory buffer data_out. int read_logical_snp_obj( - nuraft::snapshot & s, - void* & user_snp_ctx, - uint64_t obj_id, - nuraft::ptr & data_out, - bool & is_last_obj) override; + nuraft::snapshot & s, void *& user_snp_ctx, uint64_t obj_id, nuraft::ptr & data_out, bool & is_last_obj) override; /// just for test - KeeperStorage & getStorage() - { - return *storage; - } + KeeperStorage & getStorage() { return *storage; } void shutdownStorage(); @@ -82,6 +78,10 @@ public: std::vector getDeadSessions(); + int64_t getNextZxid() const; + + KeeperStorage::Digest getNodesDigest() const; + /// Introspection functions for 4lw commands uint64_t getLastProcessedZxid() const; @@ -101,7 +101,6 @@ public: uint64_t getLatestSnapshotBufSize() const; private: - /// In our state machine we always have a single snapshot which is stored /// in memory in compressed (serialized) format. SnapshotMetadataPtr latest_snapshot_meta = nullptr; @@ -145,6 +144,8 @@ private: /// Special part of ACL system -- superdigest specified in server config. const std::string superdigest; + + KeeperContextPtr keeper_context; }; } diff --git a/src/Coordination/KeeperStateManager.cpp b/src/Coordination/KeeperStateManager.cpp index e083cd5d568..3d7f5f2fb34 100644 --- a/src/Coordination/KeeperStateManager.cpp +++ b/src/Coordination/KeeperStateManager.cpp @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB { @@ -12,6 +13,7 @@ namespace DB namespace ErrorCodes { extern const int RAFT_ERROR; + extern const int CORRUPTED_DATA; } namespace @@ -199,8 +201,13 @@ KeeperStateManager::parseServersConfiguration(const Poco::Util::AbstractConfigur return result; } -KeeperStateManager::KeeperStateManager(int server_id_, const std::string & host, int port, const std::string & logs_path) - : my_server_id(server_id_), secure(false), log_store(nuraft::cs_new(logs_path, 5000, false, false)) +KeeperStateManager::KeeperStateManager( + int server_id_, const std::string & host, int port, const std::string & logs_path, const std::string & state_file_path) + : my_server_id(server_id_) + , secure(false) + , log_store(nuraft::cs_new(logs_path, 5000, false, false)) + , server_state_path(state_file_path) + , logger(&Poco::Logger::get("KeeperStateManager")) { auto peer_config = nuraft::cs_new(my_server_id, host + ":" + std::to_string(port)); configuration_wrapper.cluster_config = nuraft::cs_new(); @@ -213,6 +220,7 @@ KeeperStateManager::KeeperStateManager( int my_server_id_, const std::string & config_prefix_, const std::string & log_storage_path, + const std::string & state_file_path, const Poco::Util::AbstractConfiguration & config, const CoordinationSettingsPtr & coordination_settings) : my_server_id(my_server_id_) @@ -224,6 +232,8 @@ KeeperStateManager::KeeperStateManager( coordination_settings->rotate_log_storage_interval, coordination_settings->force_sync, coordination_settings->compress_logs)) + , server_state_path(state_file_path) + , logger(&Poco::Logger::get("KeeperStateManager")) { } @@ -261,10 +271,143 @@ void KeeperStateManager::save_config(const nuraft::cluster_config & config) configuration_wrapper.cluster_config = nuraft::cluster_config::deserialize(*buf); } +const std::filesystem::path & KeeperStateManager::getOldServerStatePath() +{ + static auto old_path = [this] + { + return server_state_path.parent_path() / (server_state_path.filename().generic_string() + "-OLD"); + }(); + + return old_path; +} + +namespace +{ +enum ServerStateVersion : uint8_t +{ + V1 = 0 +}; + +constexpr auto current_server_state_version = ServerStateVersion::V1; + +} + void KeeperStateManager::save_state(const nuraft::srv_state & state) { - nuraft::ptr buf = state.serialize(); - server_state = nuraft::srv_state::deserialize(*buf); + const auto & old_path = getOldServerStatePath(); + + if (std::filesystem::exists(server_state_path)) + std::filesystem::rename(server_state_path, old_path); + + WriteBufferFromFile server_state_file(server_state_path, DBMS_DEFAULT_BUFFER_SIZE, O_TRUNC | O_CREAT | O_WRONLY); + auto buf = state.serialize(); + + // calculate checksum + SipHash hash; + hash.update(current_server_state_version); + hash.update(reinterpret_cast(buf->data_begin()), buf->size()); + writeIntBinary(hash.get64(), server_state_file); + + writeIntBinary(static_cast(current_server_state_version), server_state_file); + + server_state_file.write(reinterpret_cast(buf->data_begin()), buf->size()); + server_state_file.sync(); + server_state_file.close(); + + std::filesystem::remove(old_path); +} + +nuraft::ptr KeeperStateManager::read_state() +{ + const auto & old_path = getOldServerStatePath(); + + const auto try_read_file = [this](const auto & path) -> nuraft::ptr + { + try + { + ReadBufferFromFile read_buf(path); + auto content_size = read_buf.getFileSize(); + + if (content_size == 0) + return nullptr; + + uint64_t read_checksum{0}; + readIntBinary(read_checksum, read_buf); + + uint8_t version; + readIntBinary(version, read_buf); + + auto buffer_size = content_size - sizeof read_checksum - sizeof version; + + auto state_buf = nuraft::buffer::alloc(buffer_size); + read_buf.read(reinterpret_cast(state_buf->data_begin()), buffer_size); + + SipHash hash; + hash.update(version); + hash.update(reinterpret_cast(state_buf->data_begin()), state_buf->size()); + + if (read_checksum != hash.get64()) + { + const auto error_string = fmt::format( + "Invalid checksum while reading state from {}. Got {}, expected {}", + path.generic_string(), + hash.get64(), + read_checksum); +#ifdef NDEBUG + LOG_ERROR(logger, fmt::runtime(error_string)); + return nullptr; +#else + throw Exception(ErrorCodes::CORRUPTED_DATA, error_string); +#endif + } + + auto state = nuraft::srv_state::deserialize(*state_buf); + LOG_INFO(logger, "Read state from {}", path.generic_string()); + return state; + } + catch (const std::exception & e) + { + if (const auto * exception = dynamic_cast(&e); + exception != nullptr && exception->code() == ErrorCodes::CORRUPTED_DATA) + { + throw; + } + + LOG_ERROR(logger, "Failed to deserialize state from {}", path.generic_string()); + return nullptr; + } + }; + + if (std::filesystem::exists(server_state_path)) + { + auto state = try_read_file(server_state_path); + + if (state) + { + if (std::filesystem::exists(old_path)) + std::filesystem::remove(old_path); + + return state; + } + + std::filesystem::remove(server_state_path); + } + + if (std::filesystem::exists(old_path)) + { + auto state = try_read_file(old_path); + + if (state) + { + std::filesystem::rename(old_path, server_state_path); + return state; + } + + std::filesystem::remove(old_path); + } + + LOG_WARNING(logger, "No state was read"); + return nullptr; } ConfigUpdateActions KeeperStateManager::getConfigurationDiff(const Poco::Util::AbstractConfiguration & config) const diff --git a/src/Coordination/KeeperStateManager.h b/src/Coordination/KeeperStateManager.h index bdfdeeae1e5..5d210f8c0ea 100644 --- a/src/Coordination/KeeperStateManager.h +++ b/src/Coordination/KeeperStateManager.h @@ -40,6 +40,7 @@ public: int server_id_, const std::string & config_prefix_, const std::string & log_storage_path, + const std::string & state_file_path, const Poco::Util::AbstractConfiguration & config, const CoordinationSettingsPtr & coordination_settings); @@ -48,7 +49,8 @@ public: int server_id_, const std::string & host, int port, - const std::string & logs_path); + const std::string & logs_path, + const std::string & state_file_path); void loadLogStore(uint64_t last_commited_index, uint64_t logs_to_keep); @@ -67,7 +69,7 @@ public: void save_state(const nuraft::srv_state & state) override; - nuraft::ptr read_state() override { return server_state; } + nuraft::ptr read_state() override; nuraft::ptr load_log_store() override { return log_store; } @@ -109,6 +111,8 @@ public: ConfigUpdateActions getConfigurationDiff(const Poco::Util::AbstractConfiguration & config) const; private: + const std::filesystem::path & getOldServerStatePath(); + /// Wrapper struct for Keeper cluster config. We parse this /// info from XML files. struct KeeperConfigurationWrapper @@ -131,7 +135,10 @@ private: KeeperConfigurationWrapper configuration_wrapper; nuraft::ptr log_store; - nuraft::ptr server_state; + + const std::filesystem::path server_state_path; + + Poco::Logger * logger; public: /// Parse configuration from xml config. diff --git a/src/Coordination/KeeperStorage.cpp b/src/Coordination/KeeperStorage.cpp index f6121b238b3..693a1b16f0d 100644 --- a/src/Coordination/KeeperStorage.cpp +++ b/src/Coordination/KeeperStorage.cpp @@ -1,19 +1,28 @@ +#include +#include #include -#include -#include -#include -#include -#include #include -#include -#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include #include #include #include -#include +#include +#include namespace DB { @@ -49,37 +58,10 @@ String getSHA1(const String & userdata) String generateDigest(const String & userdata) { std::vector user_password; - boost::split(user_password, userdata, [](char c) { return c == ':'; }); + boost::split(user_password, userdata, [](char character) { return character == ':'; }); return user_password[0] + ":" + base64Encode(getSHA1(userdata)); } -bool checkACL(int32_t permission, const Coordination::ACLs & node_acls, const std::vector & session_auths) -{ - if (node_acls.empty()) - return true; - - for (const auto & session_auth : session_auths) - if (session_auth.scheme == "super") - return true; - - for (const auto & node_acl : node_acls) - { - if (node_acl.permissions & permission) - { - if (node_acl.scheme == "world" && node_acl.id == "anyone") - return true; - - for (const auto & session_auth : session_auths) - { - if (node_acl.scheme == session_auth.scheme && node_acl.id == session_auth.id) - return true; - } - } - } - - return false; -} - bool fixupACL( const std::vector & request_acls, const std::vector & current_ids, @@ -122,11 +104,12 @@ bool fixupACL( return valid_found; } -KeeperStorage::ResponsesForSessions processWatchesImpl(const String & path, KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches, Coordination::Event event_type) +KeeperStorage::ResponsesForSessions processWatchesImpl( + const String & path, KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches, Coordination::Event event_type) { KeeperStorage::ResponsesForSessions result; - auto it = watches.find(path); - if (it != watches.end()) + auto watch_it = watches.find(path); + if (watch_it != watches.end()) { std::shared_ptr watch_response = std::make_shared(); watch_response->path = path; @@ -134,10 +117,10 @@ KeeperStorage::ResponsesForSessions processWatchesImpl(const String & path, Keep watch_response->zxid = -1; watch_response->type = event_type; watch_response->state = Coordination::State::CONNECTED; - for (auto watcher_session : it->second) + for (auto watcher_session : watch_it->second) result.push_back(KeeperStorage::ResponseForSession{watcher_session, watch_response}); - watches.erase(it); + watches.erase(watch_it); } auto parent_path = parentPath(path); @@ -156,10 +139,11 @@ KeeperStorage::ResponsesForSessions processWatchesImpl(const String & path, Keep for (const auto & path_to_check : paths_to_check_for_list_watches) { - it = list_watches.find(path_to_check); - if (it != list_watches.end()) + watch_it = list_watches.find(path_to_check); + if (watch_it != list_watches.end()) { - std::shared_ptr watch_list_response = std::make_shared(); + std::shared_ptr watch_list_response + = std::make_shared(); watch_list_response->path = path_to_check; watch_list_response->xid = Coordination::WATCH_XID; watch_list_response->zxid = -1; @@ -169,14 +153,40 @@ KeeperStorage::ResponsesForSessions processWatchesImpl(const String & path, Keep watch_list_response->type = Coordination::Event::DELETED; watch_list_response->state = Coordination::State::CONNECTED; - for (auto watcher_session : it->second) + for (auto watcher_session : watch_it->second) result.push_back(KeeperStorage::ResponseForSession{watcher_session, watch_list_response}); - list_watches.erase(it); + list_watches.erase(watch_it); } } return result; } + +// When this function is updated, update CURRENT_DIGEST_VERSION!! +uint64_t calculateDigest(std::string_view path, std::string_view data, const Coordination::Stat & stat) +{ + SipHash hash; + + hash.update(path); + + hash.update(data); + + hash.update(stat.czxid); + hash.update(stat.czxid); + hash.update(stat.mzxid); + hash.update(stat.ctime); + hash.update(stat.mtime); + hash.update(stat.version); + hash.update(stat.cversion); + hash.update(stat.aversion); + hash.update(stat.ephemeralOwner); + hash.update(stat.dataLength); + hash.update(stat.numChildren); + hash.update(stat.pzxid); + + return hash.get64(); +} + } void KeeperStorage::Node::setData(String new_data) @@ -197,25 +207,484 @@ void KeeperStorage::Node::removeChild(StringRef child_path) children.erase(child_path); } -KeeperStorage::KeeperStorage(int64_t tick_time_ms, const String & superdigest_) - : session_expiry_queue(tick_time_ms) - , superdigest(superdigest_) +void KeeperStorage::Node::invalidateDigestCache() const { - container.insert("/", Node()); + cached_digest.reset(); } -using Undo = std::function; +UInt64 KeeperStorage::Node::getDigest(const std::string_view path) const +{ + if (!cached_digest) + cached_digest = calculateDigest(path, data, stat); + + return *cached_digest; +}; + +void KeeperStorage::Node::shallowCopy(const KeeperStorage::Node & other) +{ + stat = other.stat; + seq_num = other.seq_num; + setData(other.getData()); + cached_digest = other.cached_digest; +} + +KeeperStorage::KeeperStorage( + int64_t tick_time_ms, const String & superdigest_, const KeeperContextPtr & keeper_context_, const bool initialize_system_nodes) + : session_expiry_queue(tick_time_ms), keeper_context(keeper_context_), superdigest(superdigest_) +{ + Node root_node; + container.insert("/", root_node); + addDigest(root_node, "/"); + + if (initialize_system_nodes) + initializeSystemNodes(); +} + +void KeeperStorage::initializeSystemNodes() +{ + if (initialized) + throw Exception(ErrorCodes::LOGICAL_ERROR, "KeeperStorage system nodes initialized twice"); + + // insert root system path if it isn't already inserted + if (container.find(keeper_system_path) == container.end()) + { + Node system_node; + container.insert(keeper_system_path, system_node); + // store digest for the empty node because we won't update + // its stats + addDigest(system_node, keeper_system_path); + + // update root and the digest based on it + auto current_root_it = container.find("/"); + assert(current_root_it != container.end()); + removeDigest(current_root_it->value, "/"); + auto updated_root_it = container.updateValue( + "/", + [](auto & node) + { + ++node.stat.numChildren; + node.addChild(getBaseName(keeper_system_path)); + } + ); + addDigest(updated_root_it->value, "/"); + } + + // insert child system nodes + for (const auto & [path, data] : child_system_paths_with_data) + { + assert(keeper_api_version_path.starts_with(keeper_system_path)); + Node child_system_node; + child_system_node.setData(data); + auto [map_key, _] = container.insert(std::string{path}, child_system_node); + /// Take child path from key owned by map. + auto child_path = getBaseName(map_key->getKey()); + container.updateValue( + parentPath(StringRef(path)), + [child_path](auto & parent) + { + // don't update stats so digest is okay + parent.addChild(child_path); + } + ); + } + + initialized = true; +} + +template +struct Overloaded : Ts... +{ + using Ts::operator()...; +}; + +// explicit deduction guide +// https://en.cppreference.com/w/cpp/language/class_template_argument_deduction +template +Overloaded(Ts...) -> Overloaded; + +std::shared_ptr KeeperStorage::UncommittedState::tryGetNodeFromStorage(StringRef path) const +{ + if (auto node_it = storage.container.find(path); node_it != storage.container.end()) + { + const auto & committed_node = node_it->value; + auto node = std::make_shared(); + node->shallowCopy(committed_node); + return node; + } + + return nullptr; +} + +void KeeperStorage::UncommittedState::applyDelta(const Delta & delta) +{ + assert(!delta.path.empty()); + if (!nodes.contains(delta.path)) + { + if (auto storage_node = tryGetNodeFromStorage(delta.path)) + nodes.emplace(delta.path, UncommittedNode{.node = std::move(storage_node)}); + else + nodes.emplace(delta.path, UncommittedNode{.node = nullptr}); + } + + auto & [node, acls, last_applied_zxid] = nodes.at(delta.path); + + std::visit( + [&, &node = node, &acls = acls, &last_applied_zxid = last_applied_zxid](const DeltaType & operation) + { + if constexpr (std::same_as) + { + assert(!node); + node = std::make_shared(); + node->stat = operation.stat; + node->setData(operation.data); + acls = operation.acls; + last_applied_zxid = delta.zxid; + } + else if constexpr (std::same_as) + { + assert(node); + node = nullptr; + last_applied_zxid = delta.zxid; + } + else if constexpr (std::same_as) + { + assert(node); + node->invalidateDigestCache(); + operation.update_fn(*node); + last_applied_zxid = delta.zxid; + } + else if constexpr (std::same_as) + { + acls = operation.acls; + last_applied_zxid = delta.zxid; + } + }, + delta.operation); +} + +void KeeperStorage::UncommittedState::addDeltas(std::vector new_deltas) +{ + for (auto & delta : new_deltas) + { + const auto & added_delta = deltas.emplace_back(std::move(delta)); + + if (!added_delta.path.empty()) + applyDelta(added_delta); + } +} + +void KeeperStorage::UncommittedState::commit(int64_t commit_zxid) +{ + assert(deltas.empty() || deltas.front().zxid >= commit_zxid); + + while (!deltas.empty() && deltas.front().zxid == commit_zxid) + { + if (std::holds_alternative(deltas.front().operation)) + { + deltas.pop_front(); + break; + } + + deltas.pop_front(); + } + + // delete all cached nodes that were not modified after the commit_zxid + // the commit can end on SubDeltaEnd so we don't want to clear cached nodes too soon + if (deltas.empty() || deltas.front().zxid > commit_zxid) + std::erase_if(nodes, [commit_zxid](const auto & node) { return node.second.zxid == commit_zxid; }); +} + +void KeeperStorage::UncommittedState::rollback(int64_t rollback_zxid) +{ + // we can only rollback the last zxid (if there is any) + // if there is a delta with a larger zxid, we have invalid state + if (!deltas.empty() && deltas.back().zxid > rollback_zxid) + throw DB::Exception( + DB::ErrorCodes::LOGICAL_ERROR, + "Invalid state of deltas found while trying to rollback request. Last ZXID ({}) is larger than the requested ZXID ({})", + deltas.back().zxid, + rollback_zxid); + + // we need to undo ephemeral mapping modifications + // CreateNodeDelta added ephemeral for session id -> we need to remove it + // RemoveNodeDelta removed ephemeral for session id -> we need to add it back + for (auto delta_it = deltas.rbegin(); delta_it != deltas.rend(); ++delta_it) + { + if (delta_it->zxid < rollback_zxid) + break; + + assert(delta_it->zxid == rollback_zxid); + if (!delta_it->path.empty()) + { + std::visit( + [&](const DeltaType & operation) + { + if constexpr (std::same_as) + { + if (operation.stat.ephemeralOwner != 0) + storage.unregisterEphemeralPath(operation.stat.ephemeralOwner, delta_it->path); + } + else if constexpr (std::same_as) + { + if (operation.ephemeral_owner != 0) + storage.ephemerals[operation.ephemeral_owner].emplace(delta_it->path); + } + }, + delta_it->operation); + } + } + + std::erase_if(deltas, [rollback_zxid](const auto & delta) { return delta.zxid == rollback_zxid; }); + + std::unordered_set deleted_nodes; + std::erase_if( + nodes, + [&, rollback_zxid](const auto & node) + { + if (node.second.zxid == rollback_zxid) + { + deleted_nodes.emplace(node.first); + return true; + } + return false; + }); + + // recalculate all the uncommitted deleted nodes + for (const auto & delta : deltas) + { + if (!delta.path.empty() && deleted_nodes.contains(delta.path)) + applyDelta(delta); + } +} + +std::shared_ptr KeeperStorage::UncommittedState::getNode(StringRef path) const +{ + if (auto node_it = nodes.find(std::string{path}); node_it != nodes.end()) + return node_it->second.node; + + return tryGetNodeFromStorage(path); +} + +Coordination::ACLs KeeperStorage::UncommittedState::getACLs(StringRef path) const +{ + if (auto node_it = nodes.find(std::string{path}); node_it != nodes.end()) + return node_it->second.acls; + + auto node_it = storage.container.find(path); + if (node_it == storage.container.end()) + return {}; + + return storage.acl_map.convertNumber(node_it->value.acl_id); +} + +namespace +{ + +[[noreturn]] void onStorageInconsistency() +{ + LOG_ERROR( + &Poco::Logger::get("KeeperStorage"), + "Inconsistency found between uncommitted and committed data. Keeper will terminate to avoid undefined behaviour."); + std::terminate(); +} + +} + +Coordination::Error KeeperStorage::commit(int64_t commit_zxid) +{ + // Deltas are added with increasing ZXIDs + // If there are no deltas for the commit_zxid (e.g. read requests), we instantly return + // on first delta + for (auto & delta : uncommitted_state.deltas) + { + if (delta.zxid > commit_zxid) + break; + + bool finish_subdelta = false; + auto result = std::visit( + [&, &path = delta.path](DeltaType & operation) -> Coordination::Error + { + if constexpr (std::same_as) + { + if (!createNode( + path, + std::move(operation.data), + operation.stat, + operation.is_sequental, + std::move(operation.acls))) + onStorageInconsistency(); + + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + { + auto node_it = container.find(path); + if (node_it == container.end()) + onStorageInconsistency(); + + if (operation.version != -1 && operation.version != node_it->value.stat.version) + onStorageInconsistency(); + + removeDigest(node_it->value, path); + auto updated_node = container.updateValue(path, operation.update_fn); + addDigest(updated_node->value, path); + + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + { + if (!removeNode(path, operation.version)) + onStorageInconsistency(); + + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + { + auto node_it = container.find(path); + if (node_it == container.end()) + onStorageInconsistency(); + + if (operation.version != -1 && operation.version != node_it->value.stat.aversion) + onStorageInconsistency(); + + acl_map.removeUsage(node_it->value.acl_id); + + uint64_t acl_id = acl_map.convertACLs(operation.acls); + acl_map.addUsage(acl_id); + + container.updateValue(path, [acl_id](KeeperStorage::Node & node) { node.acl_id = acl_id; }); + + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + return operation.error; + else if constexpr (std::same_as) + { + finish_subdelta = true; + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + { + session_and_auth[operation.session_id].emplace_back(std::move(operation.auth_id)); + return Coordination::Error::ZOK; + } + else + { + // shouldn't be called in any process functions + onStorageInconsistency(); + } + }, + delta.operation); + + if (result != Coordination::Error::ZOK) + return result; + + if (finish_subdelta) + return Coordination::Error::ZOK; + } + + return Coordination::Error::ZOK; +} + +bool KeeperStorage::createNode( + const std::string & path, + String data, + const Coordination::Stat & stat, + bool is_sequental, + Coordination::ACLs node_acls) +{ + auto parent_path = parentPath(path); + auto node_it = container.find(parent_path); + + if (node_it == container.end()) + return false; + + if (node_it->value.stat.ephemeralOwner != 0) + return false; + + if (container.contains(path)) + return false; + + KeeperStorage::Node created_node; + + uint64_t acl_id = acl_map.convertACLs(node_acls); + acl_map.addUsage(acl_id); + + created_node.acl_id = acl_id; + created_node.stat = stat; + created_node.setData(std::move(data)); + created_node.is_sequental = is_sequental; + auto [map_key, _] = container.insert(path, created_node); + /// Take child path from key owned by map. + auto child_path = getBaseName(map_key->getKey()); + container.updateValue( + parent_path, + [child_path](KeeperStorage::Node & parent) + { + parent.addChild(child_path); + chassert(parent.stat.numChildren == static_cast(parent.getChildren().size())); + } + ); + + addDigest(map_key->getMapped()->value, map_key->getKey().toView()); + return true; +}; + +bool KeeperStorage::removeNode(const std::string & path, int32_t version) +{ + auto node_it = container.find(path); + if (node_it == container.end()) + return false; + + if (version != -1 && version != node_it->value.stat.version) + return false; + + if (node_it->value.stat.numChildren) + return false; + + auto prev_node = node_it->value; + acl_map.removeUsage(prev_node.acl_id); + + container.updateValue( + parentPath(path), + [child_basename = getBaseName(node_it->key)](KeeperStorage::Node & parent) + { + parent.removeChild(child_basename); + chassert(parent.stat.numChildren == static_cast(parent.getChildren().size())); + } + ); + + container.erase(path); + + removeDigest(prev_node, path); + return true; +} struct KeeperStorageRequestProcessor { Coordination::ZooKeeperRequestPtr zk_request; - explicit KeeperStorageRequestProcessor(const Coordination::ZooKeeperRequestPtr & zk_request_) - : zk_request(zk_request_) - {} - virtual std::pair process(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time) const = 0; - virtual KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & /*watches*/, KeeperStorage::Watches & /*list_watches*/) const { return {}; } - virtual bool checkAuth(KeeperStorage & /*storage*/, int64_t /*session_id*/) const { return true; } + explicit KeeperStorageRequestProcessor(const Coordination::ZooKeeperRequestPtr & zk_request_) : zk_request(zk_request_) { } + virtual Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const = 0; + virtual std::vector + preprocess(KeeperStorage & /*storage*/, int64_t /*zxid*/, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/, const KeeperContext & /*keeper_context*/) const + { + return {}; + } + + // process the request using locally committed data + virtual Coordination::ZooKeeperResponsePtr + processLocal(KeeperStorage & /*storage*/, int64_t /*zxid*/) const + { + throw Exception{DB::ErrorCodes::LOGICAL_ERROR, "Cannot process the request locally"}; + } + + virtual KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & /*watches*/, KeeperStorage::Watches & /*list_watches*/) const + { + return {}; + } + virtual bool checkAuth(KeeperStorage & /*storage*/, int64_t /*session_id*/, bool /*is_local*/) const { return true; } virtual ~KeeperStorageRequestProcessor() = default; }; @@ -223,331 +692,380 @@ struct KeeperStorageRequestProcessor struct KeeperStorageHeartbeatRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & /* storage */, int64_t /* zxid */, int64_t /* session_id */, int64_t /* time */) const override + Coordination::ZooKeeperResponsePtr + process(KeeperStorage & /* storage */, int64_t /* zxid */) const override { - return {zk_request->makeResponse(), {}}; + return zk_request->makeResponse(); } }; struct KeeperStorageSyncRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & /* storage */, int64_t /* zxid */, int64_t /* session_id */, int64_t /* time */) const override + Coordination::ZooKeeperResponsePtr + process(KeeperStorage & /* storage */, int64_t /* zxid */) const override { auto response = zk_request->makeResponse(); dynamic_cast(*response).path = dynamic_cast(*zk_request).path; - return {response, {}}; - } -}; - -struct KeeperStorageCreateRequestProcessor final : public KeeperStorageRequestProcessor -{ - using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - - KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override - { - return processWatchesImpl(zk_request->getPath(), watches, list_watches, Coordination::Event::CREATED); - } - - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override - { - auto & container = storage.container; - auto path = zk_request->getPath(); - auto parent_path = parentPath(path); - - auto it = container.find(parent_path); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Create, node_acls, session_auths); - } - - std::pair process(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time) const override - { - auto & container = storage.container; - auto & ephemerals = storage.ephemerals; - - Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); - Undo undo; - Coordination::ZooKeeperCreateResponse & response = dynamic_cast(*response_ptr); - Coordination::ZooKeeperCreateRequest & request = dynamic_cast(*zk_request); - - auto parent_path = parentPath(request.path); - auto it = container.find(parent_path); - - if (it == container.end()) - { - response.error = Coordination::Error::ZNONODE; - return { response_ptr, undo }; - } - else if (it->value.stat.ephemeralOwner != 0) - { - response.error = Coordination::Error::ZNOCHILDRENFOREPHEMERALS; - return { response_ptr, undo }; - } - std::string path_created = request.path; - if (request.is_sequential) - { - auto seq_num = it->value.seq_num; - - std::stringstream seq_num_str; // STYLE_CHECK_ALLOW_STD_STRING_STREAM - seq_num_str.exceptions(std::ios::failbit); - seq_num_str << std::setw(10) << std::setfill('0') << seq_num; - - path_created += seq_num_str.str(); - } - if (container.contains(path_created)) - { - response.error = Coordination::Error::ZNODEEXISTS; - return { response_ptr, undo }; - } - if (getBaseName(path_created).size == 0) - { - response.error = Coordination::Error::ZBADARGUMENTS; - return { response_ptr, undo }; - } - - auto & session_auth_ids = storage.session_and_auth[session_id]; - - KeeperStorage::Node created_node; - - Coordination::ACLs node_acls; - if (!fixupACL(request.acls, session_auth_ids, node_acls)) - { - response.error = Coordination::Error::ZINVALIDACL; - return {response_ptr, {}}; - } - - uint64_t acl_id = storage.acl_map.convertACLs(node_acls); - storage.acl_map.addUsage(acl_id); - - created_node.acl_id = acl_id; - created_node.stat.czxid = zxid; - created_node.stat.mzxid = zxid; - created_node.stat.pzxid = zxid; - created_node.stat.ctime = time; - created_node.stat.mtime = time; - created_node.stat.numChildren = 0; - created_node.stat.dataLength = request.data.length(); - created_node.stat.ephemeralOwner = request.is_ephemeral ? session_id : 0; - created_node.is_sequental = request.is_sequential; - created_node.setData(std::move(request.data)); - - auto [map_key, _] = container.insert(path_created, created_node); - /// Take child path from key owned by map. - auto child_path = getBaseName(map_key->getKey()); - - int32_t parent_cversion = request.parent_cversion; - int64_t prev_parent_zxid; - int32_t prev_parent_cversion; - container.updateValue(parent_path, [child_path, zxid, &prev_parent_zxid, - parent_cversion, &prev_parent_cversion] (KeeperStorage::Node & parent) - { - parent.addChild(child_path); - prev_parent_cversion = parent.stat.cversion; - prev_parent_zxid = parent.stat.pzxid; - - /// Increment sequential number even if node is not sequential - ++parent.seq_num; - - if (parent_cversion == -1) - ++parent.stat.cversion; - else if (parent_cversion > parent.stat.cversion) - parent.stat.cversion = parent_cversion; - - if (zxid > parent.stat.pzxid) - parent.stat.pzxid = zxid; - ++parent.stat.numChildren; - }); - - response.path_created = path_created; - - if (request.is_ephemeral) - ephemerals[session_id].emplace(path_created); - - undo = [&storage, prev_parent_zxid, prev_parent_cversion, session_id, path_created, is_ephemeral = request.is_ephemeral, parent_path, child_path, acl_id] - { - storage.acl_map.removeUsage(acl_id); - - if (is_ephemeral) - storage.ephemerals[session_id].erase(path_created); - - storage.container.updateValue(parent_path, [child_path, prev_parent_zxid, prev_parent_cversion] (KeeperStorage::Node & undo_parent) - { - --undo_parent.stat.numChildren; - --undo_parent.seq_num; - undo_parent.stat.cversion = prev_parent_cversion; - undo_parent.stat.pzxid = prev_parent_zxid; - undo_parent.removeChild(child_path); - }); - - storage.container.erase(path_created); - }; - - response.error = Coordination::Error::ZOK; - return { response_ptr, undo }; - } -}; - -struct KeeperStorageGetRequestProcessor final : public KeeperStorageRequestProcessor -{ - - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override - { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Read, node_acls, session_auths); - } - - using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /* zxid */, int64_t /* session_id */, int64_t /* time */) const override - { - auto & container = storage.container; - Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); - Coordination::ZooKeeperGetResponse & response = dynamic_cast(*response_ptr); - Coordination::ZooKeeperGetRequest & request = dynamic_cast(*zk_request); - - auto it = container.find(request.path); - if (it == container.end()) - { - response.error = Coordination::Error::ZNONODE; - } - else - { - response.stat = it->value.stat; - response.data = it->value.getData(); - response.error = Coordination::Error::ZOK; - } - - return { response_ptr, {} }; + return response; } }; namespace { - /// Garbage required to apply log to "fuzzy" zookeeper snapshot - void updateParentPzxid(const std::string & child_path, int64_t zxid, KeeperStorage::Container & container) + +Coordination::ACLs getNodeACLs(KeeperStorage & storage, StringRef path, bool is_local) +{ + if (is_local) { - auto parent_path = parentPath(child_path); - auto parent_it = container.find(parent_path); - if (parent_it != container.end()) - { - container.updateValue(parent_path, [zxid](KeeperStorage::Node & parent) - { - if (parent.stat.pzxid < zxid) - parent.stat.pzxid = zxid; - }); - } + auto node_it = storage.container.find(path); + if (node_it == storage.container.end()) + return {}; + + return storage.acl_map.convertNumber(node_it->value.acl_id); } + + return storage.uncommitted_state.getACLs(path); } -struct KeeperStorageRemoveRequestProcessor final : public KeeperStorageRequestProcessor +void handleSystemNodeModification(const KeeperContext & keeper_context, std::string_view error_msg) { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + if (keeper_context.server_state == KeeperContext::Phase::INIT && !keeper_context.ignore_system_path_on_startup) + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "{}. Ignoring it can lead to data loss. " + "If you still want to ignore it, you can set 'keeper_server.ignore_system_path_on_startup' to true.", + error_msg); + + LOG_ERROR(&Poco::Logger::get("KeeperStorage"), fmt::runtime(error_msg)); +} + +} + +bool KeeperStorage::checkACL(StringRef path, int32_t permission, int64_t session_id, bool is_local) +{ + const auto node_acls = getNodeACLs(*this, path, is_local); + if (node_acls.empty()) + return true; + + if (uncommitted_state.hasACL(session_id, is_local, [](const auto & auth_id) { return auth_id.scheme == "super"; })) + return true; + + for (const auto & node_acl : node_acls) { - auto & container = storage.container; - auto it = container.find(parentPath(zk_request->getPath())); - if (it == container.end()) - return true; + if (node_acl.permissions & permission) + { + if (node_acl.scheme == "world" && node_acl.id == "anyone") + return true; - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; + if (uncommitted_state.hasACL( + session_id, + is_local, + [&](const auto & auth_id) { return auth_id.scheme == node_acl.scheme && auth_id.id == node_acl.id; })) + return true; + } + } - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Delete, node_acls, session_auths); + return false; +} + +void KeeperStorage::unregisterEphemeralPath(int64_t session_id, const std::string & path) +{ + auto ephemerals_it = ephemerals.find(session_id); + assert(ephemerals_it != ephemerals.end()); + ephemerals_it->second.erase(path); + if (ephemerals_it->second.empty()) + ephemerals.erase(ephemerals_it); +} + +struct KeeperStorageCreateRequestProcessor final : public KeeperStorageRequestProcessor +{ + using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; + + KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override + { + return processWatchesImpl(zk_request->getPath(), watches, list_watches, Coordination::Event::CREATED); + } + + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override + { + auto path = zk_request->getPath(); + return storage.checkACL(parentPath(path), Coordination::ACL::Create, session_id, is_local); + } + + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time, uint64_t & digest, const KeeperContext & keeper_context) const override + { + Coordination::ZooKeeperCreateRequest & request = dynamic_cast(*zk_request); + + std::vector new_deltas; + + auto parent_path = parentPath(request.path); + auto parent_node = storage.uncommitted_state.getNode(parent_path); + if (parent_node == nullptr) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + else if (parent_node->stat.ephemeralOwner != 0) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNOCHILDRENFOREPHEMERALS}}; + + std::string path_created = request.path; + if (request.is_sequential) + { + auto seq_num = parent_node->seq_num; + + std::stringstream seq_num_str; // STYLE_CHECK_ALLOW_STD_STRING_STREAM + seq_num_str.exceptions(std::ios::failbit); + seq_num_str << std::setw(10) << std::setfill('0') << seq_num; + + path_created += seq_num_str.str(); + } + + if (path_created.starts_with(keeper_system_path)) + { + auto error_msg = fmt::format("Trying to create a node inside the internal Keeper path ({}) which is not allowed. Path: {}", keeper_system_path, path_created); + + handleSystemNodeModification(keeper_context, error_msg); + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADARGUMENTS}}; + } + + if (storage.uncommitted_state.getNode(path_created)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNODEEXISTS}}; + + if (getBaseName(path_created).size == 0) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADARGUMENTS}}; + + Coordination::ACLs node_acls; + if (!fixupACL(request.acls, storage.session_and_auth[session_id], node_acls)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZINVALIDACL}}; + + if (request.is_ephemeral) + storage.ephemerals[session_id].emplace(path_created); + + int32_t parent_cversion = request.parent_cversion; + + auto parent_update = [parent_cversion, zxid](KeeperStorage::Node & node) + { + /// Increment sequential number even if node is not sequential + ++node.seq_num; + if (parent_cversion == -1) + ++node.stat.cversion; + else if (parent_cversion > node.stat.cversion) + node.stat.cversion = parent_cversion; + + if (zxid > node.stat.pzxid) + node.stat.pzxid = zxid; + ++node.stat.numChildren; + }; + + new_deltas.emplace_back(std::string{parent_path}, zxid, KeeperStorage::UpdateNodeDelta{std::move(parent_update)}); + + Coordination::Stat stat; + stat.czxid = zxid; + stat.mzxid = zxid; + stat.pzxid = zxid; + stat.ctime = time; + stat.mtime = time; + stat.numChildren = 0; + stat.version = 0; + stat.aversion = 0; + stat.cversion = 0; + stat.dataLength = request.data.length(); + stat.ephemeralOwner = request.is_ephemeral ? session_id : 0; + + new_deltas.emplace_back( + std::move(path_created), + zxid, + KeeperStorage::CreateNodeDelta{stat, request.is_sequential, std::move(node_acls), request.data}); + + digest = storage.calculateNodesDigest(digest, new_deltas); + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); + Coordination::ZooKeeperCreateResponse & response = dynamic_cast(*response_ptr); + + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } + + const auto & deltas = storage.uncommitted_state.deltas; + auto create_delta_it = std::find_if( + deltas.begin(), + deltas.end(), + [zxid](const auto & delta) + { return delta.zxid == zxid && std::holds_alternative(delta.operation); }); + + response.path_created = create_delta_it->path; + response.error = Coordination::Error::ZOK; + return response_ptr; + } +}; + +struct KeeperStorageGetRequestProcessor final : public KeeperStorageRequestProcessor +{ + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override + { + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Read, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /* time */) const override + + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/, const KeeperContext & /*keeper_context*/) const override { - auto & container = storage.container; - auto & ephemerals = storage.ephemerals; + Coordination::ZooKeeperGetRequest & request = dynamic_cast(*zk_request); + if (request.path == Coordination::keeper_api_version_path) + return {}; + + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + return {}; + } + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const + { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); - Coordination::ZooKeeperRemoveResponse & response = dynamic_cast(*response_ptr); - Coordination::ZooKeeperRemoveRequest & request = dynamic_cast(*zk_request); - Undo undo; + Coordination::ZooKeeperGetResponse & response = dynamic_cast(*response_ptr); + Coordination::ZooKeeperGetRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it == container.end()) + if constexpr (!local) { - if (request.restored_from_zookeeper_log) - updateParentPzxid(request.path, zxid, container); - response.error = Coordination::Error::ZNONODE; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } } - else if (request.version != -1 && request.version != it->value.stat.version) + + auto & container = storage.container; + auto node_it = container.find(request.path); + if (node_it == container.end()) { - response.error = Coordination::Error::ZBADVERSION; - } - else if (it->value.stat.numChildren) - { - response.error = Coordination::Error::ZNOTEMPTY; + if constexpr (local) + response.error = Coordination::Error::ZNONODE; + else + onStorageInconsistency(); } else { - if (request.restored_from_zookeeper_log) - updateParentPzxid(request.path, zxid, container); - - auto prev_node = it->value; - if (prev_node.stat.ephemeralOwner != 0) - { - auto ephemerals_it = ephemerals.find(prev_node.stat.ephemeralOwner); - ephemerals_it->second.erase(request.path); - if (ephemerals_it->second.empty()) - ephemerals.erase(ephemerals_it); - } - - storage.acl_map.removeUsage(prev_node.acl_id); - - container.updateValue(parentPath(request.path), [child_basename = getBaseName(it->key)] (KeeperStorage::Node & parent) - { - --parent.stat.numChildren; - ++parent.stat.cversion; - parent.removeChild(child_basename); - }); - + response.stat = node_it->value.stat; + response.data = node_it->value.getData(); response.error = Coordination::Error::ZOK; - /// Erase full path from container after child removed from parent - container.erase(request.path); - - undo = [prev_node, &storage, path = request.path] - { - if (prev_node.stat.ephemeralOwner != 0) - storage.ephemerals[prev_node.stat.ephemeralOwner].emplace(path); - - storage.acl_map.addUsage(prev_node.acl_id); - - /// Dangerous place: we are adding StringRef to child into children unordered_hash set. - /// That's why we are taking getBaseName from inserted key, not from the path from request object. - auto [map_key, _] = storage.container.insert(path, prev_node); - storage.container.updateValue(parentPath(path), [child_name = getBaseName(map_key->getKey())] (KeeperStorage::Node & parent) - { - ++parent.stat.numChildren; - --parent.stat.cversion; - parent.addChild(child_name); - }); - }; } - return { response_ptr, undo }; + return response_ptr; } - KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } +}; + +struct KeeperStorageRemoveRequestProcessor final : public KeeperStorageRequestProcessor +{ + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override + { + return storage.checkACL(parentPath(zk_request->getPath()), Coordination::ACL::Delete, session_id, is_local); + } + + using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & digest, const KeeperContext & keeper_context) const override + { + Coordination::ZooKeeperRemoveRequest & request = dynamic_cast(*zk_request); + + std::vector new_deltas; + + if (request.path.starts_with(keeper_system_path)) + { + auto error_msg = fmt::format("Trying to delete an internal Keeper path ({}) which is not allowed", request.path); + + handleSystemNodeModification(keeper_context, error_msg); + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADARGUMENTS}}; + } + + const auto update_parent_pzxid = [&]() + { + auto parent_path = parentPath(request.path); + if (!storage.uncommitted_state.getNode(parent_path)) + return; + + new_deltas.emplace_back( + std::string{parent_path}, + zxid, + KeeperStorage::UpdateNodeDelta + { + [zxid](KeeperStorage::Node & parent) + { + if (parent.stat.pzxid < zxid) + parent.stat.pzxid = zxid; + } + } + ); + }; + + auto node = storage.uncommitted_state.getNode(request.path); + + if (!node) + { + if (request.restored_from_zookeeper_log) + update_parent_pzxid(); + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + } + else if (request.version != -1 && request.version != node->stat.version) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADVERSION}}; + else if (node->stat.numChildren != 0) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNOTEMPTY}}; + + if (request.restored_from_zookeeper_log) + update_parent_pzxid(); + + new_deltas.emplace_back( + std::string{parentPath(request.path)}, + zxid, + KeeperStorage::UpdateNodeDelta{[](KeeperStorage::Node & parent) + { + ++parent.stat.cversion; + --parent.stat.numChildren; + }}); + + new_deltas.emplace_back(request.path, zxid, KeeperStorage::RemoveNodeDelta{request.version, node->stat.ephemeralOwner}); + + if (node->stat.ephemeralOwner != 0) + storage.unregisterEphemeralPath(node->stat.ephemeralOwner, request.path); + + digest = storage.calculateNodesDigest(digest, new_deltas); + + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); + Coordination::ZooKeeperRemoveResponse & response = dynamic_cast(*response_ptr); + + response.error = storage.commit(zxid); + return response_ptr; + } + + KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override { return processWatchesImpl(zk_request->getPath(), watches, list_watches, Coordination::Event::DELETED); } @@ -556,101 +1074,150 @@ struct KeeperStorageRemoveRequestProcessor final : public KeeperStorageRequestPr struct KeeperStorageExistsRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t /* session_id */, int64_t /* time */) const override - { - auto & container = storage.container; + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/, const KeeperContext & /*keeper_context*/) const override + { + Coordination::ZooKeeperExistsRequest & request = dynamic_cast(*zk_request); + + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + return {}; + } + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const + { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperExistsResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperExistsRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it != container.end()) + if constexpr (!local) { - response.stat = it->value.stat; - response.error = Coordination::Error::ZOK; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } + } + + auto & container = storage.container; + auto node_it = container.find(request.path); + if (node_it == container.end()) + { + if constexpr (local) + response.error = Coordination::Error::ZNONODE; + else + onStorageInconsistency(); } else { - response.error = Coordination::Error::ZNONODE; + response.stat = node_it->value.stat; + response.error = Coordination::Error::ZOK; } - return { response_ptr, {} }; + return response_ptr; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); } }; struct KeeperStorageSetRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Write, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Write, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t zxid, int64_t /* session_id */, int64_t time) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t time, uint64_t & digest, const KeeperContext & keeper_context) const override + { + Coordination::ZooKeeperSetRequest & request = dynamic_cast(*zk_request); + + std::vector new_deltas; + + if (request.path.starts_with(keeper_system_path)) + { + auto error_msg = fmt::format("Trying to update an internal Keeper path ({}) which is not allowed", request.path); + + handleSystemNodeModification(keeper_context, error_msg); + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADARGUMENTS}}; + } + + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + auto node = storage.uncommitted_state.getNode(request.path); + + if (request.version != -1 && request.version != node->stat.version) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADVERSION}}; + + new_deltas.emplace_back( + request.path, + zxid, + KeeperStorage::UpdateNodeDelta{ + [zxid, data = request.data, time](KeeperStorage::Node & value) + { + value.stat.version++; + value.stat.mzxid = zxid; + value.stat.mtime = time; + value.stat.dataLength = data.length(); + value.setData(data); + }, + request.version}); + + new_deltas.emplace_back( + parentPath(request.path).toString(), + zxid, + KeeperStorage::UpdateNodeDelta + { + [](KeeperStorage::Node & parent) + { + parent.stat.cversion++; + } + } + ); + + digest = storage.calculateNodesDigest(digest, new_deltas); + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override { auto & container = storage.container; Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperSetResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperSetRequest & request = dynamic_cast(*zk_request); - Undo undo; - auto it = container.find(request.path); - if (it == container.end()) + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) { - response.error = Coordination::Error::ZNONODE; - } - else if (request.version == -1 || request.version == it->value.stat.version) - { - - auto prev_node = it->value; - - auto itr = container.updateValue(request.path, [zxid, request, time] (KeeperStorage::Node & value) mutable - { - value.stat.version++; - value.stat.mzxid = zxid; - value.stat.mtime = time; - value.stat.dataLength = request.data.length(); - value.setData(std::move(request.data)); - }); - - container.updateValue(parentPath(request.path), [] (KeeperStorage::Node & parent) - { - parent.stat.cversion++; - }); - - response.stat = itr->value.stat; - response.error = Coordination::Error::ZOK; - - undo = [prev_node, &container, path = request.path] - { - container.updateValue(path, [&prev_node] (KeeperStorage::Node & value) { value = prev_node; }); - container.updateValue(parentPath(path), [] (KeeperStorage::Node & parent) - { - parent.stat.cversion--; - }); - }; - } - else - { - response.error = Coordination::Error::ZBADVERSION; + response.error = result; + return response_ptr; } - return { response_ptr, undo }; + auto node_it = container.find(request.path); + if (node_it == container.end()) + onStorageInconsistency(); + + response.stat = node_it->value.stat; + response.error = Coordination::Error::ZOK; + + return response_ptr; } - KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override + KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override { return processWatchesImpl(zk_request->getPath(), watches, list_watches, Coordination::Event::CHANGED); } @@ -658,33 +1225,49 @@ struct KeeperStorageSetRequestProcessor final : public KeeperStorageRequestProce struct KeeperStorageListRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Read, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Read, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t /*session_id*/, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/, const KeeperContext & /*keeper_context*/) const override + { + Coordination::ZooKeeperListRequest & request = dynamic_cast(*zk_request); + + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + return {}; + } + + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const { - auto & container = storage.container; Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperListResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperListRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it == container.end()) + if constexpr (!local) { - response.error = Coordination::Error::ZNONODE; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } + } + + auto & container = storage.container; + + auto node_it = container.find(request.path); + if (node_it == container.end()) + { + if constexpr (local) + response.error = Coordination::Error::ZNONODE; + else + onStorageInconsistency(); } else { @@ -692,174 +1275,285 @@ struct KeeperStorageListRequestProcessor final : public KeeperStorageRequestProc if (path_prefix.empty()) throw DB::Exception("Logical error: path cannot be empty", ErrorCodes::LOGICAL_ERROR); - const auto & children = it->value.getChildren(); + const auto & children = node_it->value.getChildren(); response.names.reserve(children.size()); - for (const auto child : children) - response.names.push_back(child.toString()); + const auto add_child = [&](const auto child) + { + using enum Coordination::ListRequestType; - response.stat = it->value.stat; + auto list_request_type = ALL; + if (auto * filtered_list = dynamic_cast(&request)) + { + list_request_type = filtered_list->list_request_type; + } + + if (list_request_type == ALL) + return true; + + auto child_path = (std::filesystem::path(request.path) / child.toView()).generic_string(); + auto child_it = container.find(child_path); + if (child_it == container.end()) + onStorageInconsistency(); + + const auto is_ephemeral = child_it->value.stat.ephemeralOwner != 0; + return (is_ephemeral && list_request_type == EPHEMERAL_ONLY) || (!is_ephemeral && list_request_type == PERSISTENT_ONLY); + }; + + for (const auto child : children) + { + if (add_child(child)) + response.names.push_back(child.toString()); + } + + response.stat = node_it->value.stat; response.error = Coordination::Error::ZOK; } - return { response_ptr, {} }; + return response_ptr; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); } }; struct KeeperStorageCheckRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Read, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Read, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t /*session_id*/, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/, const KeeperContext & /*keeper_context*/) const override { - auto & container = storage.container; + Coordination::ZooKeeperCheckRequest & request = dynamic_cast(*zk_request); + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + auto node = storage.uncommitted_state.getNode(request.path); + if (request.version != -1 && request.version != node->stat.version) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADVERSION}}; + + return {}; + } + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const + { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperCheckResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperCheckRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it == container.end()) + + if constexpr (!local) { - response.error = Coordination::Error::ZNONODE; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } } - else if (request.version != -1 && request.version != it->value.stat.version) + + const auto on_error = [&]([[maybe_unused]] const auto error_code) { - response.error = Coordination::Error::ZBADVERSION; + if constexpr (local) + response.error = error_code; + else + onStorageInconsistency(); + }; + + auto & container = storage.container; + auto node_it = container.find(request.path); + if (node_it == container.end()) + { + on_error(Coordination::Error::ZNONODE); + } + else if (request.version != -1 && request.version != node_it->value.stat.version) + { + on_error(Coordination::Error::ZBADVERSION); } else { response.error = Coordination::Error::ZOK; } - return { response_ptr, {} }; + return response_ptr; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); } }; struct KeeperStorageSetACLRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Admin, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Admin, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t session_id, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t /*time*/, uint64_t & digest, const KeeperContext & keeper_context) const override { - auto & container = storage.container; + Coordination::ZooKeeperSetACLRequest & request = dynamic_cast(*zk_request); + if (request.path.starts_with(keeper_system_path)) + { + auto error_msg = fmt::format("Trying to update an internal Keeper path ({}) which is not allowed", request.path); + + handleSystemNodeModification(keeper_context, error_msg); + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADARGUMENTS}}; + } + + auto & uncommitted_state = storage.uncommitted_state; + if (!uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + auto node = uncommitted_state.getNode(request.path); + + if (request.version != -1 && request.version != node->stat.aversion) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADVERSION}}; + + + auto & session_auth_ids = storage.session_and_auth[session_id]; + Coordination::ACLs node_acls; + + if (!fixupACL(request.acls, session_auth_ids, node_acls)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZINVALIDACL}}; + + std::vector new_deltas + { + { + request.path, + zxid, + KeeperStorage::SetACLDelta{std::move(node_acls), request.version} + }, + { + request.path, + zxid, + KeeperStorage::UpdateNodeDelta + { + [](KeeperStorage::Node & n) { ++n.stat.aversion; } + } + } + }; + + digest = storage.calculateNodesDigest(digest, new_deltas); + + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperSetACLResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperSetACLRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it == container.end()) + + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) { - response.error = Coordination::Error::ZNONODE; - } - else if (request.version != -1 && request.version != it->value.stat.aversion) - { - response.error = Coordination::Error::ZBADVERSION; - } - else - { - auto & session_auth_ids = storage.session_and_auth[session_id]; - Coordination::ACLs node_acls; - - if (!fixupACL(request.acls, session_auth_ids, node_acls)) - { - response.error = Coordination::Error::ZINVALIDACL; - return {response_ptr, {}}; - } - - uint64_t acl_id = storage.acl_map.convertACLs(node_acls); - storage.acl_map.addUsage(acl_id); - - storage.container.updateValue(request.path, [acl_id] (KeeperStorage::Node & node) - { - node.acl_id = acl_id; - ++node.stat.aversion; - }); - - response.stat = it->value.stat; - response.error = Coordination::Error::ZOK; + response.error = result; + return response_ptr; } - /// It cannot be used insied multitransaction? - return { response_ptr, {} }; + auto node_it = storage.container.find(request.path); + if (node_it == storage.container.end()) + onStorageInconsistency(); + response.stat = node_it->value.stat; + response.error = Coordination::Error::ZOK; + + return response_ptr; } }; struct KeeperStorageGetACLRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - /// LOL, GetACL require more permissions, then SetACL... - return checkACL(Coordination::ACL::Admin | Coordination::ACL::Read, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Admin | Coordination::ACL::Read, session_id, is_local); } + using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t /*session_id*/, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/, const KeeperContext & /*keeper_context*/) const override + { + Coordination::ZooKeeperGetACLRequest & request = dynamic_cast(*zk_request); + + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + return {}; + } + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperGetACLResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperGetACLRequest & request = dynamic_cast(*zk_request); - auto & container = storage.container; - auto it = container.find(request.path); - if (it == container.end()) + + if constexpr (!local) { - response.error = Coordination::Error::ZNONODE; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } + } + + auto & container = storage.container; + auto node_it = container.find(request.path); + if (node_it == container.end()) + { + if constexpr (local) + response.error = Coordination::Error::ZNONODE; + else + onStorageInconsistency(); } else { - response.stat = it->value.stat; - response.acl = storage.acl_map.convertNumber(it->value.acl_id); + response.stat = node_it->value.stat; + response.acl = storage.acl_map.convertNumber(node_it->value.acl_id); } - return {response_ptr, {}}; + return response_ptr; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); } }; struct KeeperStorageMultiRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { for (const auto & concrete_request : concrete_requests) - if (!concrete_request->checkAuth(storage, session_id)) + if (!concrete_request->checkAuth(storage, session_id, is_local)) return false; return true; } @@ -889,65 +1583,115 @@ struct KeeperStorageMultiRequestProcessor final : public KeeperStorageRequestPro concrete_requests.push_back(std::make_shared(sub_zk_request)); break; default: - throw DB::Exception(ErrorCodes::BAD_ARGUMENTS, "Illegal command as part of multi ZooKeeper request {}", sub_zk_request->getOpNum()); + throw DB::Exception( + ErrorCodes::BAD_ARGUMENTS, "Illegal command as part of multi ZooKeeper request {}", sub_zk_request->getOpNum()); } } } - std::pair process(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time, uint64_t & digest, const KeeperContext & keeper_context) const override + { + std::vector response_errors; + response_errors.reserve(concrete_requests.size()); + uint64_t current_digest = digest; + for (size_t i = 0; i < concrete_requests.size(); ++i) + { + auto new_deltas = concrete_requests[i]->preprocess(storage, zxid, session_id, time, current_digest, keeper_context); + + if (!new_deltas.empty()) + { + if (auto * error = std::get_if(&new_deltas.back().operation)) + { + storage.uncommitted_state.rollback(zxid); + response_errors.push_back(error->error); + + for (size_t j = i + 1; j < concrete_requests.size(); ++j) + { + response_errors.push_back(Coordination::Error::ZRUNTIMEINCONSISTENCY); + } + + return {KeeperStorage::Delta{zxid, KeeperStorage::FailedMultiDelta{std::move(response_errors)}}}; + } + } + new_deltas.emplace_back(zxid, KeeperStorage::SubDeltaEnd{}); + response_errors.push_back(Coordination::Error::ZOK); + + // manually add deltas so that the result of previous request in the transaction is used in the next request + storage.uncommitted_state.addDeltas(std::move(new_deltas)); + } + + digest = current_digest; + + return {}; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperMultiResponse & response = dynamic_cast(*response_ptr); - std::vector undo_actions; - try + auto & deltas = storage.uncommitted_state.deltas; + // the deltas will have at least SubDeltaEnd or FailedMultiDelta + assert(!deltas.empty()); + if (auto * failed_multi = std::get_if(&deltas.front().operation)) { - size_t i = 0; - for (const auto & concrete_request : concrete_requests) + for (size_t i = 0; i < concrete_requests.size(); ++i) { - auto [ cur_response, undo_action ] = concrete_request->process(storage, zxid, session_id, time); - - response.responses[i] = cur_response; - if (cur_response->error != Coordination::Error::ZOK) - { - for (size_t j = 0; j <= i; ++j) - { - auto response_error = response.responses[j]->error; - response.responses[j] = std::make_shared(); - response.responses[j]->error = response_error; - } - - for (size_t j = i + 1; j < response.responses.size(); ++j) - { - response.responses[j] = std::make_shared(); - response.responses[j]->error = Coordination::Error::ZRUNTIMEINCONSISTENCY; - } - - for (auto it = undo_actions.rbegin(); it != undo_actions.rend(); ++it) - if (*it) - (*it)(); - - return { response_ptr, {} }; - } - else - undo_actions.emplace_back(std::move(undo_action)); - - ++i; + response.responses[i] = std::make_shared(); + response.responses[i]->error = failed_multi->error_codes[i]; } - response.error = Coordination::Error::ZOK; - return { response_ptr, {} }; + storage.uncommitted_state.commit(zxid); + return response_ptr; } - catch (...) + + for (size_t i = 0; i < concrete_requests.size(); ++i) { - for (auto it = undo_actions.rbegin(); it != undo_actions.rend(); ++it) - if (*it) - (*it)(); - throw; + auto cur_response = concrete_requests[i]->process(storage, zxid); + response.responses[i] = cur_response; + storage.uncommitted_state.commit(zxid); } + + response.error = Coordination::Error::ZOK; + return response_ptr; } - KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); + Coordination::ZooKeeperMultiResponse & response = dynamic_cast(*response_ptr); + + for (size_t i = 0; i < concrete_requests.size(); ++i) + { + auto cur_response = concrete_requests[i]->processLocal(storage, zxid); + + response.responses[i] = cur_response; + if (cur_response->error != Coordination::Error::ZOK) + { + for (size_t j = 0; j <= i; ++j) + { + auto response_error = response.responses[j]->error; + response.responses[j] = std::make_shared(); + response.responses[j]->error = response_error; + } + + for (size_t j = i + 1; j < response.responses.size(); ++j) + { + response.responses[j] = std::make_shared(); + response.responses[j]->error = Coordination::Error::ZRUNTIMEINCONSISTENCY; + } + + return response_ptr; + } + } + + response.error = Coordination::Error::ZOK; + return response_ptr; + } + + KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override { KeeperStorage::ResponsesForSessions result; for (const auto & generic_request : concrete_requests) @@ -962,7 +1706,7 @@ struct KeeperStorageMultiRequestProcessor final : public KeeperStorageRequestPro struct KeeperStorageCloseRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage &, int64_t, int64_t, int64_t /* time */) const override + Coordination::ZooKeeperResponsePtr process(KeeperStorage &, int64_t) const override { throw DB::Exception("Called process on close request", ErrorCodes::LOGICAL_ERROR); } @@ -971,50 +1715,51 @@ struct KeeperStorageCloseRequestProcessor final : public KeeperStorageRequestPro struct KeeperStorageAuthRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t session_id, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t /*time*/, uint64_t & /*digest*/, const KeeperContext & /*keeper_context*/) const override { Coordination::ZooKeeperAuthRequest & auth_request = dynamic_cast(*zk_request); Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); - Coordination::ZooKeeperAuthResponse & auth_response = dynamic_cast(*response_ptr); - auto & sessions_and_auth = storage.session_and_auth; if (auth_request.scheme != "digest" || std::count(auth_request.data.begin(), auth_request.data.end(), ':') != 1) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZAUTHFAILED}}; + + std::vector new_deltas; + auto auth_digest = generateDigest(auth_request.data); + if (auth_digest == storage.superdigest) { - auth_response.error = Coordination::Error::ZAUTHFAILED; + KeeperStorage::AuthID auth{"super", ""}; + new_deltas.emplace_back(zxid, KeeperStorage::AddAuthDelta{session_id, std::move(auth)}); } else { - auto digest = generateDigest(auth_request.data); - if (digest == storage.superdigest) - { - KeeperStorage::AuthID auth{"super", ""}; - sessions_and_auth[session_id].emplace_back(auth); - } - else - { - KeeperStorage::AuthID auth{auth_request.scheme, digest}; - auto & session_ids = sessions_and_auth[session_id]; - if (std::find(session_ids.begin(), session_ids.end(), auth) == session_ids.end()) - sessions_and_auth[session_id].emplace_back(auth); - } - + KeeperStorage::AuthID new_auth{auth_request.scheme, auth_digest}; + if (!storage.uncommitted_state.hasACL(session_id, false, [&](const auto & auth_id) { return new_auth == auth_id; })) + new_deltas.emplace_back(zxid, KeeperStorage::AddAuthDelta{session_id, std::move(new_auth)}); } - return { response_ptr, {} }; + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); + Coordination::ZooKeeperAuthResponse & auth_response = dynamic_cast(*response_ptr); + + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + auth_response.error = result; + + return response_ptr; } }; void KeeperStorage::finalize() { if (finalized) - throw DB::Exception("Testkeeper storage already finalized", ErrorCodes::LOGICAL_ERROR); + throw DB::Exception("KeeperStorage already finalized", ErrorCodes::LOGICAL_ERROR); finalized = true; - for (const auto & [session_id, ephemerals_paths] : ephemerals) - for (const String & ephemeral_path : ephemerals_paths) - container.erase(ephemeral_path); - ephemerals.clear(); watches.clear(); @@ -1026,7 +1771,6 @@ void KeeperStorage::finalize() class KeeperStorageRequestProcessorsFactory final : private boost::noncopyable { - public: using Creator = std::function; using OpNumToRequest = std::unordered_map; @@ -1039,11 +1783,11 @@ public: KeeperStorageRequestProcessorPtr get(const Coordination::ZooKeeperRequestPtr & zk_request) const { - auto it = op_num_to_request.find(zk_request->getOpNum()); - if (it == op_num_to_request.end()) + auto request_it = op_num_to_request.find(zk_request->getOpNum()); + if (request_it == op_num_to_request.end()) throw DB::Exception("Unknown operation type " + toString(zk_request->getOpNum()), ErrorCodes::LOGICAL_ERROR); - return it->second(zk_request); + return request_it->second(zk_request); } void registerRequest(Coordination::OpNum op_num, Creator creator) @@ -1057,10 +1801,11 @@ private: KeeperStorageRequestProcessorsFactory(); }; -template +template void registerKeeperRequestProcessor(KeeperStorageRequestProcessorsFactory & factory) { - factory.registerRequest(num, [] (const Coordination::ZooKeeperRequestPtr & zk_request) { return std::make_shared(zk_request); }); + factory.registerRequest( + num, [](const Coordination::ZooKeeperRequestPtr & zk_request) { return std::make_shared(zk_request); }); } @@ -1077,6 +1822,7 @@ KeeperStorageRequestProcessorsFactory::KeeperStorageRequestProcessorsFactory() registerKeeperRequestProcessor(*this); registerKeeperRequestProcessor(*this); registerKeeperRequestProcessor(*this); + registerKeeperRequestProcessor(*this); registerKeeperRequestProcessor(*this); registerKeeperRequestProcessor(*this); registerKeeperRequestProcessor(*this); @@ -1084,41 +1830,205 @@ KeeperStorageRequestProcessorsFactory::KeeperStorageRequestProcessorsFactory() } -KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordination::ZooKeeperRequestPtr & zk_request, int64_t session_id, int64_t time, std::optional new_last_zxid, bool check_acl) +UInt64 KeeperStorage::calculateNodesDigest(UInt64 current_digest, const std::vector & new_deltas) const { - KeeperStorage::ResponsesForSessions results; + if (!keeper_context->digest_enabled) + return current_digest; + + std::unordered_map> updated_nodes; + + for (const auto & delta : new_deltas) + { + std::visit( + Overloaded{ + [&](const CreateNodeDelta & create_delta) + { + auto node = std::make_shared(); + node->stat = create_delta.stat; + node->setData(create_delta.data); + updated_nodes.emplace(delta.path, node); + }, + [&](const RemoveNodeDelta & /* remove_delta */) + { + if (!updated_nodes.contains(delta.path)) + { + auto old_digest = uncommitted_state.getNode(delta.path)->getDigest(delta.path); + current_digest -= old_digest; + } + + updated_nodes.insert_or_assign(delta.path, nullptr); + }, + [&](const UpdateNodeDelta & update_delta) + { + std::shared_ptr node{nullptr}; + + auto updated_node_it = updated_nodes.find(delta.path); + if (updated_node_it == updated_nodes.end()) + { + node = std::make_shared(); + node->shallowCopy(*uncommitted_state.getNode(delta.path)); + current_digest -= node->getDigest(delta.path); + updated_nodes.emplace(delta.path, node); + } + else + node = updated_node_it->second; + + update_delta.update_fn(*node); + }, + [](auto && /* delta */) {}}, + delta.operation); + } + + for (const auto & [path, updated_node] : updated_nodes) + { + if (updated_node) + { + updated_node->invalidateDigestCache(); + current_digest += updated_node->getDigest(path); + } + } + + return current_digest; +} + +void KeeperStorage::preprocessRequest( + const Coordination::ZooKeeperRequestPtr & zk_request, + int64_t session_id, + int64_t time, + int64_t new_last_zxid, + bool check_acl, + std::optional digest) +{ + if (!initialized) + throw Exception(ErrorCodes::LOGICAL_ERROR, "KeeperStorage system nodes are not initialized"); + + int64_t last_zxid = getNextZXID() - 1; + + if (uncommitted_transactions.empty()) + { + // if we have no uncommitted transactions it means the last zxid is possibly loaded from snapshot + if (last_zxid != old_snapshot_zxid && new_last_zxid <= last_zxid) + throw Exception( + ErrorCodes::LOGICAL_ERROR, "Got new ZXID ({}) smaller or equal to current ZXID ({}). It's a bug", new_last_zxid, last_zxid); + } + else + { + if (last_zxid == new_last_zxid && digest && checkDigest(*digest, getNodesDigest(false))) + // we found the preprocessed request with the same ZXID, we can skip it + return; + + if (new_last_zxid <= last_zxid) + throw Exception( + ErrorCodes::LOGICAL_ERROR, "Got new ZXID ({}) smaller or equal to current ZXID ({}). It's a bug", new_last_zxid, last_zxid); + } + + std::vector new_deltas; + TransactionInfo transaction{.zxid = new_last_zxid}; + uint64_t new_digest = getNodesDigest(false).value; + SCOPE_EXIT({ + if (keeper_context->digest_enabled) + // if the version of digest we got from the leader is the same as the one this instances has, we can simply copy the value + // and just check the digest on the commit + // a mistake can happen while applying the changes to the uncommitted_state so for now let's just recalculate the digest here also + transaction.nodes_digest = Digest{CURRENT_DIGEST_VERSION, new_digest}; + else + transaction.nodes_digest = Digest{DigestVersion::NO_DIGEST}; + + uncommitted_transactions.emplace_back(transaction); + uncommitted_state.addDeltas(std::move(new_deltas)); + }); + + KeeperStorageRequestProcessorPtr request_processor = KeeperStorageRequestProcessorsFactory::instance().get(zk_request); + + if (zk_request->getOpNum() == Coordination::OpNum::Close) /// Close request is special + { + auto session_ephemerals = ephemerals.find(session_id); + if (session_ephemerals != ephemerals.end()) + { + for (const auto & ephemeral_path : session_ephemerals->second) + { + new_deltas.emplace_back + ( + parentPath(ephemeral_path).toString(), + new_last_zxid, + UpdateNodeDelta + { + [ephemeral_path](Node & parent) + { + ++parent.stat.cversion; + --parent.stat.numChildren; + } + } + ); + + new_deltas.emplace_back(ephemeral_path, transaction.zxid, RemoveNodeDelta{.ephemeral_owner = session_id}); + } + + ephemerals.erase(session_ephemerals); + } + + new_digest = calculateNodesDigest(new_digest, new_deltas); + return; + } + + if (check_acl && !request_processor->checkAuth(*this, session_id, false)) + { + uncommitted_state.deltas.emplace_back(new_last_zxid, Coordination::Error::ZNOAUTH); + return; + } + + new_deltas = request_processor->preprocess(*this, transaction.zxid, session_id, time, new_digest, *keeper_context); +} + +KeeperStorage::ResponsesForSessions KeeperStorage::processRequest( + const Coordination::ZooKeeperRequestPtr & zk_request, + int64_t session_id, + std::optional new_last_zxid, + bool check_acl, + bool is_local) +{ + if (!initialized) + throw Exception(ErrorCodes::LOGICAL_ERROR, "KeeperStorage system nodes are not initialized"); + if (new_last_zxid) { - if (zxid >= *new_last_zxid) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Got new ZXID {} smaller or equal than current {}. It's a bug", *new_last_zxid, zxid); + if (uncommitted_transactions.empty()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Trying to commit a ZXID ({}) which was not preprocessed", *new_last_zxid); + + if (uncommitted_transactions.front().zxid != *new_last_zxid) + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Trying to commit a ZXID {} while the next ZXID to commit is {}", + *new_last_zxid, + uncommitted_transactions.front().zxid); + zxid = *new_last_zxid; + uncommitted_transactions.pop_front(); } + KeeperStorage::ResponsesForSessions results; + /// ZooKeeper update sessions expirity for each request, not only for heartbeats session_expiry_queue.addNewSessionOrUpdate(session_id, session_and_timeout[session_id]); if (zk_request->getOpNum() == Coordination::OpNum::Close) /// Close request is special { - auto it = ephemerals.find(session_id); - if (it != ephemerals.end()) + commit(zxid); + + for (const auto & delta : uncommitted_state.deltas) { - for (const auto & ephemeral_path : it->second) + if (delta.zxid > zxid) + break; + + if (std::holds_alternative(delta.operation)) { - container.updateValue(parentPath(ephemeral_path), [&ephemeral_path] (KeeperStorage::Node & parent) - { - --parent.stat.numChildren; - ++parent.stat.cversion; - auto base_name = getBaseName(ephemeral_path); - parent.removeChild(base_name); - }); - - container.erase(ephemeral_path); - - auto responses = processWatchesImpl(ephemeral_path, watches, list_watches, Coordination::Event::DELETED); + auto responses = processWatchesImpl(delta.path, watches, list_watches, Coordination::Event::DELETED); results.insert(results.end(), responses.begin(), responses.end()); } - ephemerals.erase(it); } + + uncommitted_state.commit(zxid); + clearDeadWatches(session_id); auto auth_it = session_and_auth.find(session_id); if (auth_it != session_and_auth.end()) @@ -1135,7 +2045,7 @@ KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordina else if (zk_request->getOpNum() == Coordination::OpNum::Heartbeat) /// Heartbeat request is also special { KeeperStorageRequestProcessorPtr storage_request = KeeperStorageRequestProcessorsFactory::instance().get(zk_request); - auto [response, _] = storage_request->process(*this, zxid, session_id, time); + auto response = storage_request->process(*this, zxid); response->xid = zk_request->xid; response->zxid = getZXID(); @@ -1146,15 +2056,24 @@ KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordina KeeperStorageRequestProcessorPtr request_processor = KeeperStorageRequestProcessorsFactory::instance().get(zk_request); Coordination::ZooKeeperResponsePtr response; - if (check_acl && !request_processor->checkAuth(*this, session_id)) + if (is_local) { - response = zk_request->makeResponse(); - /// Original ZooKeeper always throws no auth, even when user provided some credentials - response->error = Coordination::Error::ZNOAUTH; + assert(zk_request->isReadRequest()); + if (check_acl && !request_processor->checkAuth(*this, session_id, true)) + { + response = zk_request->makeResponse(); + /// Original ZooKeeper always throws no auth, even when user provided some credentials + response->error = Coordination::Error::ZNOAUTH; + } + else + { + response = request_processor->processLocal(*this, zxid); + } } else { - std::tie(response, std::ignore) = request_processor->process(*this, zxid, session_id, time); + response = request_processor->process(*this, zxid); + uncommitted_state.commit(zxid); } /// Watches for this requests are added to the watches lists @@ -1162,7 +2081,10 @@ KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordina { if (response->error == Coordination::Error::ZOK) { - auto & watches_type = zk_request->getOpNum() == Coordination::OpNum::List || zk_request->getOpNum() == Coordination::OpNum::SimpleList + static constexpr std::array list_requests{ + Coordination::OpNum::List, Coordination::OpNum::SimpleList, Coordination::OpNum::FilteredList}; + + auto & watches_type = std::find(list_requests.begin(), list_requests.end(), zk_request->getOpNum()) != list_requests.end() ? list_watches : watches; @@ -1192,6 +2114,57 @@ KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordina return results; } +void KeeperStorage::rollbackRequest(int64_t rollback_zxid, bool allow_missing) +{ + if (allow_missing && (uncommitted_transactions.empty() || uncommitted_transactions.back().zxid < rollback_zxid)) + return; + + if (uncommitted_transactions.empty() || uncommitted_transactions.back().zxid != rollback_zxid) + { + throw Exception( + ErrorCodes::LOGICAL_ERROR, "Trying to rollback invalid ZXID ({}). It should be the last preprocessed.", rollback_zxid); + } + + // if an exception occurs during rollback, the best option is to terminate because we can end up in an inconsistent state + // we block memory tracking so we can avoid terminating if we're rollbacking because of memory limit + LockMemoryExceptionInThread blocker{VariableContext::Global}; + try + { + uncommitted_transactions.pop_back(); + uncommitted_state.rollback(rollback_zxid); + } + catch (...) + { + LOG_FATAL(&Poco::Logger::get("KeeperStorage"), "Failed to rollback log. Terminating to avoid incosistencies"); + std::terminate(); + } +} + +KeeperStorage::Digest KeeperStorage::getNodesDigest(bool committed) const +{ + if (!keeper_context->digest_enabled) + return {.version = DigestVersion::NO_DIGEST}; + + if (committed || uncommitted_transactions.empty()) + return {CURRENT_DIGEST_VERSION, nodes_digest}; + + return uncommitted_transactions.back().nodes_digest; +} + +void KeeperStorage::removeDigest(const Node & node, const std::string_view path) +{ + if (keeper_context->digest_enabled) + nodes_digest -= node.getDigest(path); +} + +void KeeperStorage::addDigest(const Node & node, const std::string_view path) +{ + if (keeper_context->digest_enabled) + { + node.invalidateDigestCache(); + nodes_digest += node.getDigest(path); + } +} void KeeperStorage::clearDeadWatches(int64_t session_id) { diff --git a/src/Coordination/KeeperStorage.h b/src/Coordination/KeeperStorage.h index b7fb76a72e6..d160971f4ac 100644 --- a/src/Coordination/KeeperStorage.h +++ b/src/Coordination/KeeperStorage.h @@ -1,14 +1,15 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include #include #include +#include +#include +#include +#include +#include +#include +#include +#include #include @@ -29,7 +30,6 @@ struct KeeperStorageSnapshot; class KeeperStorage { public: - struct Node { uint64_t acl_id = 0; /// 0 -- no ACL by default @@ -41,31 +41,44 @@ public: Node() : size_bytes(sizeof(Node)) { } /// Object memory size - uint64_t sizeInBytes() const - { - return size_bytes; - } + uint64_t sizeInBytes() const { return size_bytes; } void setData(String new_data); - const auto & getData() const noexcept - { - return data; - } + const auto & getData() const noexcept { return data; } void addChild(StringRef child_path); void removeChild(StringRef child_path); - const auto & getChildren() const noexcept - { - return children; - } + const auto & getChildren() const noexcept { return children; } + + // Invalidate the calculated digest so it's recalculated again on the next + // getDigest call + void invalidateDigestCache() const; + + // get the calculated digest of the node + UInt64 getDigest(std::string_view path) const; + + // copy only necessary information for preprocessing and digest calculation + // (e.g. we don't need to copy list of children) + void shallowCopy(const Node & other); + private: String data; ChildrenSet children{}; + mutable std::optional cached_digest; }; + enum DigestVersion : uint8_t + { + NO_DIGEST = 0, + V1 = 1, + V2 = 2 // added system nodes that modify the digest on startup so digest from V0 is invalid + }; + + static constexpr auto CURRENT_DIGEST_VERSION = DigestVersion::V2; + struct ResponseForSession { int64_t session_id; @@ -73,11 +86,30 @@ public: }; using ResponsesForSessions = std::vector; + struct Digest + { + DigestVersion version{DigestVersion::NO_DIGEST}; + uint64_t value{0}; + }; + + static bool checkDigest(const Digest & first, const Digest & second) + { + if (first.version != second.version) + return true; + + if (first.version == DigestVersion::NO_DIGEST) + return true; + + return first.value == second.value; + } + struct RequestForSession { int64_t session_id; int64_t time; Coordination::ZooKeeperRequestPtr request; + int64_t zxid{0}; + std::optional digest; }; struct AuthID @@ -85,10 +117,7 @@ public: std::string scheme; std::string id; - bool operator==(const AuthID & other) const - { - return scheme == other.scheme && id == other.id; - } + bool operator==(const AuthID & other) const { return scheme == other.scheme && id == other.id; } }; using RequestsForSessions = std::vector; @@ -112,6 +141,150 @@ public: /// container. Container container; + // Applying ZooKeeper request to storage consists of two steps: + // - preprocessing which, instead of applying the changes directly to storage, + // generates deltas with those changes, denoted with the request ZXID + // - processing which applies deltas with the correct ZXID to the storage + // + // Delta objects allow us two things: + // - fetch the latest, uncommitted state of an object by getting the committed + // state of that same object from the storage and applying the deltas + // in the same order as they are defined + // - quickly commit the changes to the storage + struct CreateNodeDelta + { + Coordination::Stat stat; + bool is_sequental; + Coordination::ACLs acls; + String data; + }; + + struct RemoveNodeDelta + { + int32_t version{-1}; + int64_t ephemeral_owner{0}; + }; + + struct UpdateNodeDelta + { + std::function update_fn; + int32_t version{-1}; + }; + + struct SetACLDelta + { + Coordination::ACLs acls; + int32_t version{-1}; + }; + + struct ErrorDelta + { + Coordination::Error error; + }; + + struct FailedMultiDelta + { + std::vector error_codes; + }; + + // Denotes end of a subrequest in multi request + struct SubDeltaEnd + { + }; + + struct AddAuthDelta + { + int64_t session_id; + AuthID auth_id; + }; + + using Operation = std:: + variant; + + struct Delta + { + Delta(String path_, int64_t zxid_, Operation operation_) : path(std::move(path_)), zxid(zxid_), operation(std::move(operation_)) { } + + Delta(int64_t zxid_, Coordination::Error error) : Delta("", zxid_, ErrorDelta{error}) { } + + Delta(int64_t zxid_, Operation subdelta) : Delta("", zxid_, subdelta) { } + + String path; + int64_t zxid; + Operation operation; + }; + + struct UncommittedState + { + explicit UncommittedState(KeeperStorage & storage_) : storage(storage_) { } + + void addDeltas(std::vector new_deltas); + void commit(int64_t commit_zxid); + void rollback(int64_t rollback_zxid); + + std::shared_ptr getNode(StringRef path) const; + Coordination::ACLs getACLs(StringRef path) const; + + void applyDelta(const Delta & delta); + + bool hasACL(int64_t session_id, bool is_local, std::function predicate) + { + for (const auto & session_auth : storage.session_and_auth[session_id]) + { + if (predicate(session_auth)) + return true; + } + + if (is_local) + return false; + + for (const auto & delta : deltas) + { + if (const auto * auth_delta = std::get_if(&delta.operation); + auth_delta && auth_delta->session_id == session_id && predicate(auth_delta->auth_id)) + return true; + } + + return false; + } + + std::shared_ptr tryGetNodeFromStorage(StringRef path) const; + + struct UncommittedNode + { + std::shared_ptr node{nullptr}; + Coordination::ACLs acls{}; + int64_t zxid{0}; + }; + + mutable std::unordered_map nodes; + std::list deltas; + KeeperStorage & storage; + }; + + UncommittedState uncommitted_state{*this}; + + Coordination::Error commit(int64_t zxid); + + // Create node in the storage + // Returns false if it failed to create the node, true otherwise + // We don't care about the exact failure because we should've caught it during preprocessing + bool createNode( + const std::string & path, + String data, + const Coordination::Stat & stat, + bool is_sequental, + Coordination::ACLs node_acls); + + // Remove node in the storage + // Returns false if it failed to remove the node, true otherwise + // We don't care about the exact failure because we should've caught it during preprocessing + bool removeNode(const std::string & path, int32_t version); + + bool checkACL(StringRef path, int32_t permissions, int64_t session_id, bool is_local); + + void unregisterEphemeralPath(int64_t session_id, const std::string & path); + /// Mapping session_id -> set of ephemeral nodes paths Ephemerals ephemerals; /// Mapping session_id -> set of watched nodes paths @@ -126,23 +299,54 @@ public: /// Global id of all requests applied to storage int64_t zxid{0}; + + // older Keeper node (pre V5 snapshots) can create snapshots and receive logs from newer Keeper nodes + // this can lead to some inconsistencies, e.g. from snapshot it will use log_idx as zxid + // while the log will have a smaller zxid because it's generated by the newer nodes + // we save the value loaded from snapshot to know when is it okay to have + // smaller zxid in newer requests + int64_t old_snapshot_zxid{0}; + + struct TransactionInfo + { + int64_t zxid; + Digest nodes_digest; + }; + + std::deque uncommitted_transactions; + + uint64_t nodes_digest{0}; + bool finalized{false}; /// Currently active watches (node_path -> subscribed sessions) Watches watches; - Watches list_watches; /// Watches for 'list' request (watches on children). + Watches list_watches; /// Watches for 'list' request (watches on children). void clearDeadWatches(int64_t session_id); - /// Get current zxid - int64_t getZXID() const + /// Get current committed zxid + int64_t getZXID() const { return zxid; } + + int64_t getNextZXID() const { - return zxid; + if (uncommitted_transactions.empty()) + return zxid + 1; + + return uncommitted_transactions.back().zxid + 1; } + Digest getNodesDigest(bool committed) const; + + KeeperContextPtr keeper_context; + const String superdigest; - KeeperStorage(int64_t tick_time_ms, const String & superdigest_); + bool initialized{false}; + + KeeperStorage(int64_t tick_time_ms, const String & superdigest_, const KeeperContextPtr & keeper_context_, bool initialize_system_nodes = true); + + void initializeSystemNodes(); /// Allocate new session id with the specified timeouts int64_t getSessionID(int64_t session_timeout_ms) @@ -160,85 +364,69 @@ public: session_expiry_queue.addNewSessionOrUpdate(session_id, session_timeout_ms); } + UInt64 calculateNodesDigest(UInt64 current_digest, const std::vector & new_deltas) const; + /// Process user request and return response. /// check_acl = false only when converting data from ZooKeeper. - ResponsesForSessions processRequest(const Coordination::ZooKeeperRequestPtr & request, int64_t session_id, int64_t time, std::optional new_last_zxid, bool check_acl = true); + ResponsesForSessions processRequest( + const Coordination::ZooKeeperRequestPtr & request, + int64_t session_id, + std::optional new_last_zxid, + bool check_acl = true, + bool is_local = false); + void preprocessRequest( + const Coordination::ZooKeeperRequestPtr & request, + int64_t session_id, + int64_t time, + int64_t new_last_zxid, + bool check_acl = true, + std::optional digest = std::nullopt); + void rollbackRequest(int64_t rollback_zxid, bool allow_missing); void finalize(); /// Set of methods for creating snapshots /// Turn on snapshot mode, so data inside Container is not deleted, but replaced with new version. - void enableSnapshotMode(size_t up_to_version) - { - container.enableSnapshotMode(up_to_version); - - } + void enableSnapshotMode(size_t up_to_version) { container.enableSnapshotMode(up_to_version); } /// Turn off snapshot mode. - void disableSnapshotMode() - { - container.disableSnapshotMode(); - } + void disableSnapshotMode() { container.disableSnapshotMode(); } - Container::const_iterator getSnapshotIteratorBegin() const - { - return container.begin(); - } + Container::const_iterator getSnapshotIteratorBegin() const { return container.begin(); } /// Clear outdated data from internal container. - void clearGarbageAfterSnapshot() - { - container.clearOutdatedNodes(); - } + void clearGarbageAfterSnapshot() { container.clearOutdatedNodes(); } /// Get all active sessions - const SessionAndTimeout & getActiveSessions() const - { - return session_and_timeout; - } + const SessionAndTimeout & getActiveSessions() const { return session_and_timeout; } /// Get all dead sessions - std::vector getDeadSessions() const - { - return session_expiry_queue.getExpiredSessions(); - } + std::vector getDeadSessions() const { return session_expiry_queue.getExpiredSessions(); } /// Introspection functions mostly used in 4-letter commands - uint64_t getNodesCount() const - { - return container.size(); - } + uint64_t getNodesCount() const { return container.size(); } - uint64_t getApproximateDataSize() const - { - return container.getApproximateDataSize(); - } - - uint64_t getArenaDataSize() const - { - return container.keyArenaSize(); - } + uint64_t getApproximateDataSize() const { return container.getApproximateDataSize(); } + uint64_t getArenaDataSize() const { return container.keyArenaSize(); } uint64_t getTotalWatchesCount() const; - uint64_t getWatchedPathsCount() const - { - return watches.size() + list_watches.size(); - } + uint64_t getWatchedPathsCount() const { return watches.size() + list_watches.size(); } uint64_t getSessionsWithWatchesCount() const; - uint64_t getSessionWithEphemeralNodesCount() const - { - return ephemerals.size(); - } + uint64_t getSessionWithEphemeralNodesCount() const { return ephemerals.size(); } uint64_t getTotalEphemeralNodesCount() const; void dumpWatches(WriteBufferFromOwnString & buf) const; void dumpWatchesByPath(WriteBufferFromOwnString & buf) const; void dumpSessionsAndEphemerals(WriteBufferFromOwnString & buf) const; + +private: + void removeDigest(const Node & node, std::string_view path); + void addDigest(const Node & node, std::string_view path); }; using KeeperStoragePtr = std::unique_ptr; diff --git a/src/Coordination/WriteBufferFromNuraftBuffer.h b/src/Coordination/WriteBufferFromNuraftBuffer.h index d52049edcff..c9ca1e2a227 100644 --- a/src/Coordination/WriteBufferFromNuraftBuffer.h +++ b/src/Coordination/WriteBufferFromNuraftBuffer.h @@ -12,7 +12,6 @@ public: WriteBufferFromNuraftBuffer(); nuraft::ptr getBuffer(); - bool isFinished() const { return finalized; } ~WriteBufferFromNuraftBuffer() override; diff --git a/src/Coordination/ZooKeeperDataReader.cpp b/src/Coordination/ZooKeeperDataReader.cpp index e59c67329ff..6702c4cc718 100644 --- a/src/Coordination/ZooKeeperDataReader.cpp +++ b/src/Coordination/ZooKeeperDataReader.cpp @@ -520,7 +520,8 @@ bool deserializeTxn(KeeperStorage & storage, ReadBuffer & in, Poco::Logger * /*l if (request->getOpNum() == Coordination::OpNum::Multi && hasErrorsInMultiRequest(request)) return true; - storage.processRequest(request, session_id, time, zxid, /* check_acl = */ false); + storage.preprocessRequest(request, session_id, time, zxid, /* check_acl = */ false); + storage.processRequest(request, session_id, zxid, /* check_acl = */ false); } } diff --git a/src/Coordination/tests/gtest_coordination.cpp b/src/Coordination/tests/gtest_coordination.cpp index cf4d1eaf9f2..4beb40f6efd 100644 --- a/src/Coordination/tests/gtest_coordination.cpp +++ b/src/Coordination/tests/gtest_coordination.cpp @@ -1,6 +1,11 @@ #include #include +#include "Common/ZooKeeper/IKeeper.h" +#include "Coordination/KeeperContext.h" +#include "Coordination/KeeperStorage.h" +#include "Core/Defines.h" +#include "IO/WriteHelpers.h" #include "config_core.h" #if USE_NURAFT @@ -25,6 +30,7 @@ #include #include #include +#include #include @@ -58,7 +64,10 @@ struct CompressionParam }; class CoordinationTest : public ::testing::TestWithParam -{}; +{ +protected: + DB::KeeperContextPtr keeper_context = std::make_shared(); +}; TEST_P(CoordinationTest, BuildTest) { @@ -103,13 +112,13 @@ TEST_P(CoordinationTest, BufferSerde) template struct SimpliestRaftServer { - SimpliestRaftServer(int server_id_, const std::string & hostname_, int port_, const std::string & logs_path) + SimpliestRaftServer(int server_id_, const std::string & hostname_, int port_, const std::string & logs_path, const std::string & state_path) : server_id(server_id_) , hostname(hostname_) , port(port_) , endpoint(hostname + ":" + std::to_string(port)) , state_machine(nuraft::cs_new()) - , state_manager(nuraft::cs_new(server_id, hostname, port, logs_path)) + , state_manager(nuraft::cs_new(server_id, hostname, port, logs_path, state_path)) { state_manager->loadLogStore(1, 0); nuraft::raft_params params; @@ -139,8 +148,7 @@ struct SimpliestRaftServer std::cout << " done" << std::endl; break; } - std::cout << "."; - fflush(stdout); + std::cout << "." << std::flush; std::this_thread::sleep_for(std::chrono::milliseconds(100)); } } @@ -183,7 +191,11 @@ nuraft::ptr getBuffer(int64_t number) TEST_P(CoordinationTest, TestSummingRaft1) { ChangelogDirTest test("./logs"); - SummingRaftServer s1(1, "localhost", 44444, "./logs"); + SummingRaftServer s1(1, "localhost", 44444, "./logs", "./state"); + SCOPE_EXIT( + if (std::filesystem::exists("./state")) + std::filesystem::remove("./state"); + ); /// Single node is leader EXPECT_EQ(s1.raft_instance->get_leader(), 1); @@ -699,13 +711,32 @@ TEST_P(CoordinationTest, ChangelogTestStartNewLogAfterRead) EXPECT_TRUE(fs::exists("./logs/changelog_36_40.bin" + params.extension)); } +namespace +{ +void assertBrokenLogRemoved(const fs::path & log_folder, const fs::path & filename) +{ + EXPECT_FALSE(fs::exists(log_folder / filename)); + // broken logs are sent to the detached/{timestamp} folder + // we don't know timestamp so we iterate all of them + for (const auto & dir_entry : fs::recursive_directory_iterator(log_folder / "detached")) + { + if (dir_entry.path().filename() == filename) + return; + } + + FAIL() << "Broken log " << filename << " was not moved to the detached folder"; +} + +} TEST_P(CoordinationTest, ChangelogTestReadAfterBrokenTruncate) { - auto params = GetParam(); - ChangelogDirTest test("./logs"); + static const fs::path log_folder{"./logs"}; - DB::KeeperLogStore changelog("./logs", 5, true, params.enable_compression); + auto params = GetParam(); + ChangelogDirTest test(log_folder); + + DB::KeeperLogStore changelog(log_folder, 5, true, params.enable_compression); changelog.init(1, 0); for (size_t i = 0; i < 35; ++i) @@ -737,10 +768,10 @@ TEST_P(CoordinationTest, ChangelogTestReadAfterBrokenTruncate) EXPECT_TRUE(fs::exists("./logs/changelog_6_10.bin" + params.extension)); EXPECT_TRUE(fs::exists("./logs/changelog_11_15.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_16_20.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_21_25.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_26_30.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_31_35.bin" + params.extension)); + assertBrokenLogRemoved(log_folder, "changelog_16_20.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_21_25.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_26_30.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_31_35.bin" + params.extension); auto entry = getLogEntry("h", 7777); changelog_reader.append(entry); @@ -752,10 +783,10 @@ TEST_P(CoordinationTest, ChangelogTestReadAfterBrokenTruncate) EXPECT_TRUE(fs::exists("./logs/changelog_6_10.bin" + params.extension)); EXPECT_TRUE(fs::exists("./logs/changelog_11_15.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_16_20.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_21_25.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_26_30.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_31_35.bin" + params.extension)); + assertBrokenLogRemoved(log_folder, "changelog_16_20.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_21_25.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_26_30.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_31_35.bin" + params.extension); DB::KeeperLogStore changelog_reader2("./logs", 5, true, params.enable_compression); changelog_reader2.init(1, 0); @@ -789,14 +820,13 @@ TEST_P(CoordinationTest, ChangelogTestReadAfterBrokenTruncate2) EXPECT_EQ(changelog_reader.size(), 0); EXPECT_TRUE(fs::exists("./logs/changelog_1_20.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_21_40.bin" + params.extension)); + assertBrokenLogRemoved("./logs", "changelog_21_40.bin" + params.extension); auto entry = getLogEntry("hello_world", 7777); changelog_reader.append(entry); changelog_reader.end_of_append_batch(0, 0); EXPECT_EQ(changelog_reader.size(), 1); EXPECT_EQ(changelog_reader.last_entry()->get_term(), 7777); - DB::KeeperLogStore changelog_reader2("./logs", 1, true, params.enable_compression); changelog_reader2.init(1, 0); EXPECT_EQ(changelog_reader2.size(), 1); @@ -826,10 +856,40 @@ TEST_P(CoordinationTest, ChangelogTestLostFiles) DB::KeeperLogStore changelog_reader("./logs", 20, true, params.enable_compression); /// It should print error message, but still able to start changelog_reader.init(5, 0); - EXPECT_FALSE(fs::exists("./logs/changelog_1_20.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_21_40.bin" + params.extension)); + assertBrokenLogRemoved("./logs", "changelog_21_40.bin" + params.extension); } +TEST_P(CoordinationTest, ChangelogTestLostFiles2) +{ + auto params = GetParam(); + ChangelogDirTest test("./logs"); + + DB::KeeperLogStore changelog("./logs", 10, true, params.enable_compression); + changelog.init(1, 0); + + for (size_t i = 0; i < 35; ++i) + { + auto entry = getLogEntry(std::to_string(i) + "_hello_world", (i + 44) * 10); + changelog.append(entry); + } + changelog.end_of_append_batch(0, 0); + + EXPECT_TRUE(fs::exists("./logs/changelog_1_10.bin" + params.extension)); + EXPECT_TRUE(fs::exists("./logs/changelog_11_20.bin" + params.extension)); + EXPECT_TRUE(fs::exists("./logs/changelog_21_30.bin" + params.extension)); + EXPECT_TRUE(fs::exists("./logs/changelog_31_40.bin" + params.extension)); + + // we have a gap in our logs, we need to remove all the logs after the gap + fs::remove("./logs/changelog_21_30.bin" + params.extension); + + DB::KeeperLogStore changelog_reader("./logs", 10, true, params.enable_compression); + /// It should print error message, but still able to start + changelog_reader.init(5, 0); + EXPECT_TRUE(fs::exists("./logs/changelog_1_10.bin" + params.extension)); + EXPECT_TRUE(fs::exists("./logs/changelog_11_20.bin" + params.extension)); + + assertBrokenLogRemoved("./logs", "changelog_31_40.bin" + params.extension); +} struct IntNode { int value; @@ -984,24 +1044,24 @@ TEST_P(CoordinationTest, SnapshotableHashMapDataSize) world.disableSnapshotMode(); world.insert("world", n1); - EXPECT_EQ(world.getApproximateDataSize(), 177); + EXPECT_EQ(world.getApproximateDataSize(), 193); world.updateValue("world", [&](Node & value) { value = n2; }); - EXPECT_EQ(world.getApproximateDataSize(), 195); + EXPECT_EQ(world.getApproximateDataSize(), 211); world.erase("world"); EXPECT_EQ(world.getApproximateDataSize(), 0); world.enableSnapshotMode(100000); world.insert("world", n1); - EXPECT_EQ(world.getApproximateDataSize(), 177); + EXPECT_EQ(world.getApproximateDataSize(), 193); world.updateValue("world", [&](Node & value) { value = n2; }); - EXPECT_EQ(world.getApproximateDataSize(), 372); + EXPECT_EQ(world.getApproximateDataSize(), 404); world.clearOutdatedNodes(); - EXPECT_EQ(world.getApproximateDataSize(), 195); + EXPECT_EQ(world.getApproximateDataSize(), 211); world.erase("world"); - EXPECT_EQ(world.getApproximateDataSize(), 195); + EXPECT_EQ(world.getApproximateDataSize(), 211); world.clear(); EXPECT_EQ(world.getApproximateDataSize(), 0); @@ -1014,15 +1074,22 @@ void addNode(DB::KeeperStorage & storage, const std::string & path, const std::s node.setData(data); node.stat.ephemeralOwner = ephemeral_owner; storage.container.insertOrReplace(path, node); + auto child_it = storage.container.find(path); + auto child_path = DB::getBaseName(child_it->key); + storage.container.updateValue(DB::parentPath(StringRef{path}), [&](auto & parent) + { + parent.addChild(child_path); + parent.stat.numChildren++; + }); } TEST_P(CoordinationTest, TestStorageSnapshotSimple) { auto params = GetParam(); ChangelogDirTest test("./snapshots"); - DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); + DB::KeeperSnapshotManager manager("./snapshots", 3, keeper_context, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", keeper_context); addNode(storage, "/hello", "world", 1); addNode(storage, "/hello/somepath", "somedata", 3); storage.session_id_counter = 5; @@ -1036,7 +1103,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotSimple) EXPECT_EQ(snapshot.snapshot_meta->get_last_log_idx(), 2); EXPECT_EQ(snapshot.session_id, 7); - EXPECT_EQ(snapshot.snapshot_container_size, 3); + EXPECT_EQ(snapshot.snapshot_container_size, 5); EXPECT_EQ(snapshot.session_and_timeout.size(), 2); auto buf = manager.serializeSnapshotToBuffer(snapshot); @@ -1048,8 +1115,8 @@ TEST_P(CoordinationTest, TestStorageSnapshotSimple) auto [restored_storage, snapshot_meta, _] = manager.deserializeSnapshotFromBuffer(debuf); - EXPECT_EQ(restored_storage->container.size(), 3); - EXPECT_EQ(restored_storage->container.getValue("/").getChildren().size(), 1); + EXPECT_EQ(restored_storage->container.size(), 5); + EXPECT_EQ(restored_storage->container.getValue("/").getChildren().size(), 2); EXPECT_EQ(restored_storage->container.getValue("/hello").getChildren().size(), 1); EXPECT_EQ(restored_storage->container.getValue("/hello/somepath").getChildren().size(), 0); @@ -1068,9 +1135,9 @@ TEST_P(CoordinationTest, TestStorageSnapshotMoreWrites) { auto params = GetParam(); ChangelogDirTest test("./snapshots"); - DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); + DB::KeeperSnapshotManager manager("./snapshots", 3, keeper_context, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", keeper_context); storage.getSessionID(130); for (size_t i = 0; i < 50; ++i) @@ -1080,14 +1147,14 @@ TEST_P(CoordinationTest, TestStorageSnapshotMoreWrites) DB::KeeperStorageSnapshot snapshot(&storage, 50); EXPECT_EQ(snapshot.snapshot_meta->get_last_log_idx(), 50); - EXPECT_EQ(snapshot.snapshot_container_size, 51); + EXPECT_EQ(snapshot.snapshot_container_size, 53); for (size_t i = 50; i < 100; ++i) { addNode(storage, "/hello_" + std::to_string(i), "world_" + std::to_string(i)); } - EXPECT_EQ(storage.container.size(), 101); + EXPECT_EQ(storage.container.size(), 103); auto buf = manager.serializeSnapshotToBuffer(snapshot); manager.serializeSnapshotBufferToDisk(*buf, 50); @@ -1097,7 +1164,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotMoreWrites) auto debuf = manager.deserializeSnapshotBufferFromDisk(50); auto [restored_storage, meta, _] = manager.deserializeSnapshotFromBuffer(debuf); - EXPECT_EQ(restored_storage->container.size(), 51); + EXPECT_EQ(restored_storage->container.size(), 53); for (size_t i = 0; i < 50; ++i) { EXPECT_EQ(restored_storage->container.getValue("/hello_" + std::to_string(i)).getData(), "world_" + std::to_string(i)); @@ -1109,9 +1176,9 @@ TEST_P(CoordinationTest, TestStorageSnapshotManySnapshots) { auto params = GetParam(); ChangelogDirTest test("./snapshots"); - DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); + DB::KeeperSnapshotManager manager("./snapshots", 3, keeper_context, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", keeper_context); storage.getSessionID(130); for (size_t j = 1; j <= 5; ++j) @@ -1136,7 +1203,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotManySnapshots) auto [restored_storage, meta, _] = manager.restoreFromLatestSnapshot(); - EXPECT_EQ(restored_storage->container.size(), 251); + EXPECT_EQ(restored_storage->container.size(), 253); for (size_t i = 0; i < 250; ++i) { @@ -1148,8 +1215,8 @@ TEST_P(CoordinationTest, TestStorageSnapshotMode) { auto params = GetParam(); ChangelogDirTest test("./snapshots"); - DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperSnapshotManager manager("./snapshots", 3, keeper_context, params.enable_compression); + DB::KeeperStorage storage(500, "", keeper_context); for (size_t i = 0; i < 50; ++i) { addNode(storage, "/hello_" + std::to_string(i), "world_" + std::to_string(i)); @@ -1170,16 +1237,16 @@ TEST_P(CoordinationTest, TestStorageSnapshotMode) if (i % 2 == 0) storage.container.erase("/hello_" + std::to_string(i)); } - EXPECT_EQ(storage.container.size(), 26); - EXPECT_EQ(storage.container.snapshotSizeWithVersion().first, 101); + EXPECT_EQ(storage.container.size(), 28); + EXPECT_EQ(storage.container.snapshotSizeWithVersion().first, 104); EXPECT_EQ(storage.container.snapshotSizeWithVersion().second, 1); auto buf = manager.serializeSnapshotToBuffer(snapshot); manager.serializeSnapshotBufferToDisk(*buf, 50); } EXPECT_TRUE(fs::exists("./snapshots/snapshot_50.bin" + params.extension)); - EXPECT_EQ(storage.container.size(), 26); + EXPECT_EQ(storage.container.size(), 28); storage.clearGarbageAfterSnapshot(); - EXPECT_EQ(storage.container.snapshotSizeWithVersion().first, 26); + EXPECT_EQ(storage.container.snapshotSizeWithVersion().first, 28); for (size_t i = 0; i < 50; ++i) { if (i % 2 != 0) @@ -1201,8 +1268,8 @@ TEST_P(CoordinationTest, TestStorageSnapshotBroken) { auto params = GetParam(); ChangelogDirTest test("./snapshots"); - DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperSnapshotManager manager("./snapshots", 3, keeper_context, params.enable_compression); + DB::KeeperStorage storage(500, "", keeper_context); for (size_t i = 0; i < 50; ++i) { addNode(storage, "/hello_" + std::to_string(i), "world_" + std::to_string(i)); @@ -1222,7 +1289,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotBroken) EXPECT_THROW(manager.restoreFromLatestSnapshot(), DB::Exception); } -nuraft::ptr getBufferFromZKRequest(int64_t session_id, const Coordination::ZooKeeperRequestPtr & request) +nuraft::ptr getBufferFromZKRequest(int64_t session_id, int64_t zxid, const Coordination::ZooKeeperRequestPtr & request) { DB::WriteBufferFromNuraftBuffer buf; DB::writeIntBinary(session_id, buf); @@ -1230,16 +1297,18 @@ nuraft::ptr getBufferFromZKRequest(int64_t session_id, const Coo using namespace std::chrono; auto time = duration_cast(system_clock::now().time_since_epoch()).count(); DB::writeIntBinary(time, buf); + DB::writeIntBinary(zxid, buf); + DB::writeIntBinary(DB::KeeperStorage::DigestVersion::NO_DIGEST, buf); return buf.getBuffer(); } -nuraft::ptr getLogEntryFromZKRequest(size_t term, int64_t session_id, const Coordination::ZooKeeperRequestPtr & request) +nuraft::ptr getLogEntryFromZKRequest(size_t term, int64_t session_id, int64_t zxid, const Coordination::ZooKeeperRequestPtr & request) { - auto buffer = getBufferFromZKRequest(session_id, request); + auto buffer = getBufferFromZKRequest(session_id, zxid, request); return nuraft::cs_new(term, buffer); } -void testLogAndStateMachine(Coordination::CoordinationSettingsPtr settings, uint64_t total_logs, bool enable_compression) +void testLogAndStateMachine(Coordination::CoordinationSettingsPtr settings, uint64_t total_logs, bool enable_compression, Coordination::KeeperContextPtr keeper_context) { using namespace Coordination; using namespace DB; @@ -1249,7 +1318,7 @@ void testLogAndStateMachine(Coordination::CoordinationSettingsPtr settings, uint ResponsesQueue queue(std::numeric_limits::max()); SnapshotsQueue snapshots_queue{1}; - auto state_machine = std::make_shared(queue, snapshots_queue, "./snapshots", settings); + auto state_machine = std::make_shared(queue, snapshots_queue, "./snapshots", settings, keeper_context); state_machine->init(); DB::KeeperLogStore changelog("./logs", settings->rotate_log_storage_interval, true, enable_compression); changelog.init(state_machine->last_commit_index() + 1, settings->reserved_log_items); @@ -1257,10 +1326,11 @@ void testLogAndStateMachine(Coordination::CoordinationSettingsPtr settings, uint { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog.append(entry); changelog.end_of_append_batch(0, 0); + state_machine->pre_commit(i, changelog.entry_at(i)->get_buf()); state_machine->commit(i, changelog.entry_at(i)->get_buf()); bool snapshot_created = false; if (i % settings->snapshot_distance == 0) @@ -1289,7 +1359,7 @@ void testLogAndStateMachine(Coordination::CoordinationSettingsPtr settings, uint } SnapshotsQueue snapshots_queue1{1}; - auto restore_machine = std::make_shared(queue, snapshots_queue1, "./snapshots", settings); + auto restore_machine = std::make_shared(queue, snapshots_queue1, "./snapshots", settings, keeper_context); restore_machine->init(); EXPECT_EQ(restore_machine->last_commit_index(), total_logs - total_logs % settings->snapshot_distance); @@ -1305,6 +1375,7 @@ void testLogAndStateMachine(Coordination::CoordinationSettingsPtr settings, uint for (size_t i = restore_machine->last_commit_index() + 1; i < restore_changelog.next_slot(); ++i) { + restore_machine->pre_commit(i, changelog.entry_at(i)->get_buf()); restore_machine->commit(i, changelog.entry_at(i)->get_buf()); } @@ -1330,63 +1401,63 @@ TEST_P(CoordinationTest, TestStateMachineAndLogStore) settings->snapshot_distance = 10; settings->reserved_log_items = 10; settings->rotate_log_storage_interval = 10; - testLogAndStateMachine(settings, 37, params.enable_compression); + testLogAndStateMachine(settings, 37, params.enable_compression, keeper_context); } { CoordinationSettingsPtr settings = std::make_shared(); settings->snapshot_distance = 10; settings->reserved_log_items = 10; settings->rotate_log_storage_interval = 10; - testLogAndStateMachine(settings, 11, params.enable_compression); + testLogAndStateMachine(settings, 11, params.enable_compression, keeper_context); } { CoordinationSettingsPtr settings = std::make_shared(); settings->snapshot_distance = 10; settings->reserved_log_items = 10; settings->rotate_log_storage_interval = 10; - testLogAndStateMachine(settings, 40, params.enable_compression); + testLogAndStateMachine(settings, 40, params.enable_compression, keeper_context); } { CoordinationSettingsPtr settings = std::make_shared(); settings->snapshot_distance = 10; settings->reserved_log_items = 20; settings->rotate_log_storage_interval = 30; - testLogAndStateMachine(settings, 40, params.enable_compression); + testLogAndStateMachine(settings, 40, params.enable_compression, keeper_context); } { CoordinationSettingsPtr settings = std::make_shared(); settings->snapshot_distance = 10; settings->reserved_log_items = 0; settings->rotate_log_storage_interval = 10; - testLogAndStateMachine(settings, 40, params.enable_compression); + testLogAndStateMachine(settings, 40, params.enable_compression, keeper_context); } { CoordinationSettingsPtr settings = std::make_shared(); settings->snapshot_distance = 1; settings->reserved_log_items = 1; settings->rotate_log_storage_interval = 32; - testLogAndStateMachine(settings, 32, params.enable_compression); + testLogAndStateMachine(settings, 32, params.enable_compression, keeper_context); } { CoordinationSettingsPtr settings = std::make_shared(); settings->snapshot_distance = 10; settings->reserved_log_items = 7; settings->rotate_log_storage_interval = 1; - testLogAndStateMachine(settings, 33, params.enable_compression); + testLogAndStateMachine(settings, 33, params.enable_compression, keeper_context); } { CoordinationSettingsPtr settings = std::make_shared(); settings->snapshot_distance = 37; settings->reserved_log_items = 1000; settings->rotate_log_storage_interval = 5000; - testLogAndStateMachine(settings, 33, params.enable_compression); + testLogAndStateMachine(settings, 33, params.enable_compression, keeper_context); } { CoordinationSettingsPtr settings = std::make_shared(); settings->snapshot_distance = 37; settings->reserved_log_items = 1000; settings->rotate_log_storage_interval = 5000; - testLogAndStateMachine(settings, 45, params.enable_compression); + testLogAndStateMachine(settings, 45, params.enable_compression, keeper_context); } } @@ -1400,13 +1471,14 @@ TEST_P(CoordinationTest, TestEphemeralNodeRemove) ResponsesQueue queue(std::numeric_limits::max()); SnapshotsQueue snapshots_queue{1}; - auto state_machine = std::make_shared(queue, snapshots_queue, "./snapshots", settings); + auto state_machine = std::make_shared(queue, snapshots_queue, "./snapshots", settings, keeper_context); state_machine->init(); std::shared_ptr request_c = std::make_shared(); request_c->path = "/hello"; request_c->is_ephemeral = true; - auto entry_c = getLogEntryFromZKRequest(0, 1, request_c); + auto entry_c = getLogEntryFromZKRequest(0, 1, state_machine->getNextZxid(), request_c); + state_machine->pre_commit(1, entry_c->get_buf()); state_machine->commit(1, entry_c->get_buf()); const auto & storage = state_machine->getStorage(); @@ -1414,7 +1486,8 @@ TEST_P(CoordinationTest, TestEphemeralNodeRemove) std::shared_ptr request_d = std::make_shared(); request_d->path = "/hello"; /// Delete from other session - auto entry_d = getLogEntryFromZKRequest(0, 2, request_d); + auto entry_d = getLogEntryFromZKRequest(0, 2, state_machine->getNextZxid(), request_d); + state_machine->pre_commit(2, entry_d->get_buf()); state_machine->commit(2, entry_d->get_buf()); EXPECT_EQ(storage.ephemerals.size(), 0); @@ -1434,7 +1507,7 @@ TEST_P(CoordinationTest, TestRotateIntervalChanges) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog.append(entry); changelog.end_of_append_batch(0, 0); } @@ -1449,7 +1522,7 @@ TEST_P(CoordinationTest, TestRotateIntervalChanges) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(100 + i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog_1.append(entry); changelog_1.end_of_append_batch(0, 0); } @@ -1464,7 +1537,7 @@ TEST_P(CoordinationTest, TestRotateIntervalChanges) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(200 + i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog_2.append(entry); changelog_2.end_of_append_batch(0, 0); } @@ -1484,7 +1557,7 @@ TEST_P(CoordinationTest, TestRotateIntervalChanges) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(300 + i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog_3.append(entry); changelog_3.end_of_append_batch(0, 0); } @@ -1531,7 +1604,7 @@ TEST_P(CoordinationTest, TestCompressedLogsMultipleRewrite) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog.append(entry); changelog.end_of_append_batch(0, 0); } @@ -1543,7 +1616,7 @@ TEST_P(CoordinationTest, TestCompressedLogsMultipleRewrite) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog1.append(entry); changelog1.end_of_append_batch(0, 0); } @@ -1554,7 +1627,7 @@ TEST_P(CoordinationTest, TestCompressedLogsMultipleRewrite) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog2.append(entry); changelog2.end_of_append_batch(0, 0); } @@ -1565,9 +1638,9 @@ TEST_P(CoordinationTest, TestStorageSnapshotDifferentCompressions) auto params = GetParam(); ChangelogDirTest test("./snapshots"); - DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); + DB::KeeperSnapshotManager manager("./snapshots", 3, keeper_context, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", keeper_context); addNode(storage, "/hello", "world", 1); addNode(storage, "/hello/somepath", "somedata", 3); storage.session_id_counter = 5; @@ -1583,14 +1656,14 @@ TEST_P(CoordinationTest, TestStorageSnapshotDifferentCompressions) manager.serializeSnapshotBufferToDisk(*buf, 2); EXPECT_TRUE(fs::exists("./snapshots/snapshot_2.bin" + params.extension)); - DB::KeeperSnapshotManager new_manager("./snapshots", 3, !params.enable_compression); + DB::KeeperSnapshotManager new_manager("./snapshots", 3, keeper_context, !params.enable_compression); auto debuf = new_manager.deserializeSnapshotBufferFromDisk(2); auto [restored_storage, snapshot_meta, _] = new_manager.deserializeSnapshotFromBuffer(debuf); - EXPECT_EQ(restored_storage->container.size(), 3); - EXPECT_EQ(restored_storage->container.getValue("/").getChildren().size(), 1); + EXPECT_EQ(restored_storage->container.size(), 5); + EXPECT_EQ(restored_storage->container.getValue("/").getChildren().size(), 2); EXPECT_EQ(restored_storage->container.getValue("/hello").getChildren().size(), 1); EXPECT_EQ(restored_storage->container.getValue("/hello/somepath").getChildren().size(), 0); @@ -1717,9 +1790,10 @@ TEST_P(CoordinationTest, TestStorageSnapshotEqual) std::optional snapshot_hash; for (size_t i = 0; i < 15; ++i) { - DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); + DB::KeeperSnapshotManager manager("./snapshots", 3, keeper_context, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", keeper_context); + addNode(storage, "/hello", ""); for (size_t j = 0; j < 5000; ++j) { addNode(storage, "/hello_" + std::to_string(j), "world", 1); @@ -1763,7 +1837,7 @@ TEST_P(CoordinationTest, TestLogGap) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog.append(entry); changelog.end_of_append_batch(0, 0); } @@ -1777,6 +1851,295 @@ TEST_P(CoordinationTest, TestLogGap) EXPECT_EQ(changelog1.next_slot(), 61); } +template +ResponseType getSingleResponse(const auto & responses) +{ + EXPECT_FALSE(responses.empty()); + return dynamic_cast(*responses[0].response); +} + +TEST_P(CoordinationTest, TestUncommittedStateBasicCrud) +{ + using namespace DB; + using namespace Coordination; + + DB::KeeperStorage storage{500, "", keeper_context}; + + constexpr std::string_view path = "/test"; + + const auto get_committed_data = [&]() -> std::optional + { + auto request = std::make_shared(); + request->path = path; + auto responses = storage.processRequest(request, 0, std::nullopt, true, true); + const auto & get_response = getSingleResponse(responses); + + if (get_response.error != Error::ZOK) + return std::nullopt; + + return get_response.data; + }; + + const auto preprocess_get = [&](int64_t zxid) + { + auto get_request = std::make_shared(); + get_request->path = path; + storage.preprocessRequest(get_request, 0, 0, zxid); + return get_request; + }; + + const auto create_request = std::make_shared(); + create_request->path = path; + create_request->data = "initial_data"; + storage.preprocessRequest(create_request, 0, 0, 1); + storage.preprocessRequest(create_request, 0, 0, 2); + + ASSERT_FALSE(get_committed_data()); + + const auto after_create_get = preprocess_get(3); + + ASSERT_FALSE(get_committed_data()); + + const auto set_request = std::make_shared(); + set_request->path = path; + set_request->data = "new_data"; + storage.preprocessRequest(set_request, 0, 0, 4); + + const auto after_set_get = preprocess_get(5); + + ASSERT_FALSE(get_committed_data()); + + const auto remove_request = std::make_shared(); + remove_request->path = path; + storage.preprocessRequest(remove_request, 0, 0, 6); + storage.preprocessRequest(remove_request, 0, 0, 7); + + const auto after_remove_get = preprocess_get(8); + + ASSERT_FALSE(get_committed_data()); + + { + const auto responses = storage.processRequest(create_request, 0, 1); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZOK); + } + + { + const auto responses = storage.processRequest(create_request, 0, 2); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZNODEEXISTS); + } + + { + const auto responses = storage.processRequest(after_create_get, 0, 3); + const auto & get_response = getSingleResponse(responses); + ASSERT_EQ(get_response.error, Error::ZOK); + ASSERT_EQ(get_response.data, "initial_data"); + } + + ASSERT_EQ(get_committed_data(), "initial_data"); + + { + const auto responses = storage.processRequest(set_request, 0, 4); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZOK); + } + + { + const auto responses = storage.processRequest(after_set_get, 0, 5); + const auto & get_response = getSingleResponse(responses); + ASSERT_EQ(get_response.error, Error::ZOK); + ASSERT_EQ(get_response.data, "new_data"); + } + + ASSERT_EQ(get_committed_data(), "new_data"); + + { + const auto responses = storage.processRequest(remove_request, 0, 6); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZOK); + } + + { + const auto responses = storage.processRequest(remove_request, 0, 7); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZNONODE); + } + + { + const auto responses = storage.processRequest(after_remove_get, 0, 8); + const auto & get_response = getSingleResponse(responses); + ASSERT_EQ(get_response.error, Error::ZNONODE); + } + + ASSERT_FALSE(get_committed_data()); +} + +TEST_P(CoordinationTest, TestListRequestTypes) +{ + using namespace DB; + using namespace Coordination; + + KeeperStorage storage{500, "", keeper_context}; + + int64_t zxid = 0; + + static constexpr std::string_view test_path = "/list_request_type/node"; + + const auto create_path = [&](const auto & path, bool is_ephemeral, bool is_sequential = true) + { + const auto create_request = std::make_shared(); + int new_zxid = ++zxid; + create_request->path = path; + create_request->is_sequential = is_sequential; + create_request->is_ephemeral = is_ephemeral; + storage.preprocessRequest(create_request, 1, 0, new_zxid); + auto responses = storage.processRequest(create_request, 1, new_zxid); + + EXPECT_GE(responses.size(), 1); + EXPECT_EQ(responses[0].response->error, Coordination::Error::ZOK) << "Failed to create " << path; + const auto & create_response = dynamic_cast(*responses[0].response); + return create_response.path_created; + }; + + create_path(parentPath(StringRef{test_path}).toString(), false, false); + + static constexpr size_t persistent_num = 5; + std::unordered_set expected_persistent_children; + for (size_t i = 0; i < persistent_num; ++i) + { + expected_persistent_children.insert(getBaseName(create_path(test_path, false)).toString()); + } + ASSERT_EQ(expected_persistent_children.size(), persistent_num); + + static constexpr size_t ephemeral_num = 5; + std::unordered_set expected_ephemeral_children; + for (size_t i = 0; i < ephemeral_num; ++i) + { + expected_ephemeral_children.insert(getBaseName(create_path(test_path, true)).toString()); + } + ASSERT_EQ(expected_ephemeral_children.size(), ephemeral_num); + + const auto get_children = [&](const auto list_request_type) + { + const auto list_request = std::make_shared(); + int new_zxid = ++zxid; + list_request->path = parentPath(StringRef{test_path}).toString(); + list_request->list_request_type = list_request_type; + storage.preprocessRequest(list_request, 1, 0, new_zxid); + auto responses = storage.processRequest(list_request, 1, new_zxid); + + EXPECT_GE(responses.size(), 1); + const auto & list_response = dynamic_cast(*responses[0].response); + return list_response.names; + }; + + const auto persistent_children = get_children(ListRequestType::PERSISTENT_ONLY); + EXPECT_EQ(persistent_children.size(), persistent_num); + for (const auto & child : persistent_children) + { + EXPECT_TRUE(expected_persistent_children.contains(child)) << "Missing persistent child " << child; + } + + const auto ephemeral_children = get_children(ListRequestType::EPHEMERAL_ONLY); + EXPECT_EQ(ephemeral_children.size(), ephemeral_num); + for (const auto & child : ephemeral_children) + { + EXPECT_TRUE(expected_ephemeral_children.contains(child)) << "Missing ephemeral child " << child; + } + + const auto all_children = get_children(ListRequestType::ALL); + EXPECT_EQ(all_children.size(), ephemeral_num + persistent_num); + for (const auto & child : all_children) + { + EXPECT_TRUE(expected_ephemeral_children.contains(child) || expected_persistent_children.contains(child)) << "Missing child " << child; + } +} + +TEST_P(CoordinationTest, TestDurableState) +{ + ChangelogDirTest logs("./logs"); + + auto state = nuraft::cs_new(); + std::optional state_manager; + + const auto reload_state_manager = [&] + { + state_manager.emplace(1, "localhost", 9181, "./logs", "./state"); + }; + + reload_state_manager(); + ASSERT_EQ(state_manager->read_state(), nullptr); + + state->set_term(1); + state->set_voted_for(2); + state->allow_election_timer(true); + state_manager->save_state(*state); + + const auto assert_read_state = [&] + { + auto read_state = state_manager->read_state(); + ASSERT_NE(read_state, nullptr); + ASSERT_EQ(read_state->get_term(), state->get_term()); + ASSERT_EQ(read_state->get_voted_for(), state->get_voted_for()); + ASSERT_EQ(read_state->is_election_timer_allowed(), state->is_election_timer_allowed()); + }; + + assert_read_state(); + + reload_state_manager(); + assert_read_state(); + + { + SCOPED_TRACE("Read from corrupted file"); + state_manager.reset(); + DB::WriteBufferFromFile write_buf("./state", DBMS_DEFAULT_BUFFER_SIZE, O_WRONLY); + write_buf.seek(20, SEEK_SET); + DB::writeIntBinary(31, write_buf); + write_buf.sync(); + write_buf.close(); + reload_state_manager(); +#ifdef NDEBUG + ASSERT_EQ(state_manager->read_state(), nullptr); +#else + ASSERT_THROW(state_manager->read_state(), DB::Exception); +#endif + } + + { + SCOPED_TRACE("Read from file with invalid size"); + state_manager.reset(); + + DB::WriteBufferFromFile write_buf("./state", DBMS_DEFAULT_BUFFER_SIZE, O_TRUNC | O_CREAT | O_WRONLY); + DB::writeIntBinary(20, write_buf); + write_buf.sync(); + write_buf.close(); + reload_state_manager(); + ASSERT_EQ(state_manager->read_state(), nullptr); + } + + { + SCOPED_TRACE("State file is missing"); + state_manager.reset(); + std::filesystem::remove("./state"); + reload_state_manager(); + ASSERT_EQ(state_manager->read_state(), nullptr); + } +} + +TEST_P(CoordinationTest, TestCurrentApiVersion) +{ + using namespace Coordination; + KeeperStorage storage{500, "", keeper_context}; + auto request = std::make_shared(); + request->path = DB::keeper_api_version_path; + auto responses = storage.processRequest(request, 0, std::nullopt, true, true); + const auto & get_response = getSingleResponse(responses); + uint8_t keeper_version{0}; + DB::ReadBufferFromOwnString buf(get_response.data); + DB::readIntText(keeper_version, buf); + EXPECT_EQ(keeper_version, static_cast(current_keeper_api_version)); +} INSTANTIATE_TEST_SUITE_P(CoordinationTestSuite, CoordinationTest, diff --git a/src/Core/BackgroundSchedulePool.cpp b/src/Core/BackgroundSchedulePool.cpp index 344860ca5dd..6f5a5a1fa54 100644 --- a/src/Core/BackgroundSchedulePool.cpp +++ b/src/Core/BackgroundSchedulePool.cpp @@ -10,18 +10,6 @@ namespace DB { - -class TaskNotification final : public Poco::Notification -{ -public: - explicit TaskNotification(const BackgroundSchedulePoolTaskInfoPtr & task_) : task(task_) {} - void execute() { task->execute(); } - -private: - BackgroundSchedulePoolTaskInfoPtr task; -}; - - BackgroundSchedulePoolTaskInfo::BackgroundSchedulePoolTaskInfo( BackgroundSchedulePool & pool_, const std::string & log_name_, const BackgroundSchedulePool::TaskFunc & function_) : pool(pool_), log_name(log_name_), function(function_) @@ -39,7 +27,7 @@ bool BackgroundSchedulePoolTaskInfo::schedule() return true; } -bool BackgroundSchedulePoolTaskInfo::scheduleAfter(size_t ms, bool overwrite) +bool BackgroundSchedulePoolTaskInfo::scheduleAfter(size_t milliseconds, bool overwrite) { std::lock_guard lock(schedule_mutex); @@ -48,7 +36,7 @@ bool BackgroundSchedulePoolTaskInfo::scheduleAfter(size_t ms, bool overwrite) if (delayed && !overwrite) return false; - pool.scheduleDelayedTask(shared_from_this(), ms, lock); + pool.scheduleDelayedTask(shared_from_this(), milliseconds, lock); return true; } @@ -106,7 +94,7 @@ void BackgroundSchedulePoolTaskInfo::execute() UInt64 milliseconds = watch.elapsedMilliseconds(); /// If the task is executed longer than specified time, it will be logged. - static const int32_t slow_execution_threshold_ms = 200; + static constexpr UInt64 slow_execution_threshold_ms = 200; if (milliseconds >= slow_execution_threshold_ms) LOG_TRACE(&Poco::Logger::get(log_name), "Execution took {} ms.", milliseconds); @@ -121,7 +109,7 @@ void BackgroundSchedulePoolTaskInfo::execute() /// will have their chance to execute if (scheduled) - pool.queue.enqueueNotification(new TaskNotification(shared_from_this())); + pool.scheduleTask(shared_from_this()); } } @@ -136,14 +124,14 @@ void BackgroundSchedulePoolTaskInfo::scheduleImpl(std::lock_guard & /// But if it is currently executing, do nothing because it will be enqueued /// at the end of the execute() method. if (!executing) - pool.queue.enqueueNotification(new TaskNotification(shared_from_this())); + pool.scheduleTask(shared_from_this()); } Coordination::WatchCallback BackgroundSchedulePoolTaskInfo::getWatchCallback() { - return [t = shared_from_this()](const Coordination::WatchResponse &) + return [task = shared_from_this()](const Coordination::WatchResponse &) { - t->schedule(); + task->schedule(); }; } @@ -184,15 +172,18 @@ BackgroundSchedulePool::~BackgroundSchedulePool() try { { - std::unique_lock lock(delayed_tasks_mutex); + std::lock_guard lock_tasks(tasks_mutex); + std::lock_guard lock_delayed_tasks(delayed_tasks_mutex); + shutdown = true; - wakeup_cond.notify_all(); } - queue.wakeUpAll(); - delayed_thread.join(); + tasks_cond_var.notify_all(); + delayed_tasks_cond_var.notify_all(); LOG_TRACE(&Poco::Logger::get("BackgroundSchedulePool/" + thread_name), "Waiting for threads to finish."); + delayed_thread.join(); + for (auto & thread : threads) thread.join(); } @@ -208,6 +199,15 @@ BackgroundSchedulePool::TaskHolder BackgroundSchedulePool::createTask(const std: return TaskHolder(std::make_shared(*this, name, function)); } +void BackgroundSchedulePool::scheduleTask(TaskInfoPtr task_info) +{ + { + std::lock_guard tasks_lock(tasks_mutex); + tasks.push_back(std::move(task_info)); + } + + tasks_cond_var.notify_one(); +} void BackgroundSchedulePool::scheduleDelayedTask(const TaskInfoPtr & task, size_t ms, std::lock_guard & /* task_schedule_mutex_lock */) { @@ -223,7 +223,7 @@ void BackgroundSchedulePool::scheduleDelayedTask(const TaskInfoPtr & task, size_ task->delayed = true; } - wakeup_cond.notify_all(); + delayed_tasks_cond_var.notify_all(); } @@ -235,7 +235,7 @@ void BackgroundSchedulePool::cancelDelayedTask(const TaskInfoPtr & task, std::lo task->delayed = false; } - wakeup_cond.notify_all(); + delayed_tasks_cond_var.notify_all(); } @@ -264,20 +264,25 @@ void BackgroundSchedulePool::threadFunction() while (!shutdown) { - /// We have to wait with timeout to prevent very rare deadlock, caused by the following race condition: - /// 1. Background thread N: threadFunction(): checks for shutdown (it's false) - /// 2. Main thread: ~BackgroundSchedulePool(): sets shutdown to true, calls queue.wakeUpAll(), it triggers - /// all existing Poco::Events inside Poco::NotificationQueue which background threads are waiting on. - /// 3. Background thread N: threadFunction(): calls queue.waitDequeueNotification(), it creates - /// new Poco::Event inside Poco::NotificationQueue and starts to wait on it - /// Background thread N will never be woken up. - /// TODO Do we really need Poco::NotificationQueue? Why not to use std::queue + mutex + condvar or maybe even DB::ThreadPool? - constexpr size_t wait_timeout_ms = 500; - if (Poco::AutoPtr notification = queue.waitDequeueNotification(wait_timeout_ms)) + TaskInfoPtr task; + { - TaskNotification & task_notification = static_cast(*notification); - task_notification.execute(); + std::unique_lock tasks_lock(tasks_mutex); + + tasks_cond_var.wait(tasks_lock, [&]() + { + return shutdown || !tasks.empty(); + }); + + if (!tasks.empty()) + { + task = tasks.front(); + tasks.pop_front(); + } } + + if (task) + task->execute(); } } @@ -309,7 +314,7 @@ void BackgroundSchedulePool::delayExecutionThreadFunction() if (!task) { - wakeup_cond.wait(lock); + delayed_tasks_cond_var.wait(lock); continue; } @@ -317,7 +322,7 @@ void BackgroundSchedulePool::delayExecutionThreadFunction() if (min_time > current_time) { - wakeup_cond.wait_for(lock, std::chrono::microseconds(min_time - current_time)); + delayed_tasks_cond_var.wait_for(lock, std::chrono::microseconds(min_time - current_time)); continue; } else diff --git a/src/Core/BackgroundSchedulePool.h b/src/Core/BackgroundSchedulePool.h index fbd7e3f749a..ebd0d52ee20 100644 --- a/src/Core/BackgroundSchedulePool.h +++ b/src/Core/BackgroundSchedulePool.h @@ -62,6 +62,8 @@ private: void threadFunction(); void delayExecutionThreadFunction(); + void scheduleTask(TaskInfoPtr task_info); + /// Schedule task for execution after specified delay from now. void scheduleDelayedTask(const TaskInfoPtr & task_info, size_t ms, std::lock_guard & task_schedule_mutex_lock); @@ -69,12 +71,16 @@ private: void cancelDelayedTask(const TaskInfoPtr & task_info, std::lock_guard & task_schedule_mutex_lock); std::atomic shutdown {false}; + + /// Tasks. + std::condition_variable tasks_cond_var; + std::mutex tasks_mutex; + std::deque tasks; Threads threads; - Poco::NotificationQueue queue; - /// Delayed notifications. + /// Delayed tasks. - std::condition_variable wakeup_cond; + std::condition_variable delayed_tasks_cond_var; std::mutex delayed_tasks_mutex; /// Thread waiting for next delayed task. ThreadFromGlobalPool delayed_thread; @@ -102,7 +108,7 @@ public: /// Schedule for execution after specified delay. /// If overwrite is set then the task will be re-scheduled (if it was already scheduled, i.e. delayed == true). - bool scheduleAfter(size_t ms, bool overwrite = true); + bool scheduleAfter(size_t milliseconds, bool overwrite = true); /// Further attempts to schedule become no-op. Will wait till the end of the current execution of the task. void deactivate(); diff --git a/src/Core/BaseSettings.cpp b/src/Core/BaseSettings.cpp index d4b2d1551b6..f03a59c1342 100644 --- a/src/Core/BaseSettings.cpp +++ b/src/Core/BaseSettings.cpp @@ -11,7 +11,7 @@ namespace ErrorCodes extern const int UNKNOWN_SETTING; } -void BaseSettingsHelpers::writeString(const std::string_view & str, WriteBuffer & out) +void BaseSettingsHelpers::writeString(std::string_view str, WriteBuffer & out) { writeStringBinary(str, out); } @@ -39,13 +39,13 @@ BaseSettingsHelpers::Flags BaseSettingsHelpers::readFlags(ReadBuffer & in) } -void BaseSettingsHelpers::throwSettingNotFound(const std::string_view & name) +void BaseSettingsHelpers::throwSettingNotFound(std::string_view name) { throw Exception("Unknown setting " + String{name}, ErrorCodes::UNKNOWN_SETTING); } -void BaseSettingsHelpers::warningSettingNotFound(const std::string_view & name) +void BaseSettingsHelpers::warningSettingNotFound(std::string_view name) { static auto * log = &Poco::Logger::get("Settings"); LOG_WARNING(log, "Unknown setting {}, skipping", name); diff --git a/src/Core/BaseSettings.h b/src/Core/BaseSettings.h index a4ddc6571ed..7b56367769e 100644 --- a/src/Core/BaseSettings.h +++ b/src/Core/BaseSettings.h @@ -43,18 +43,25 @@ class BaseSettings : public TTraits::Data { using CustomSettingMap = std::unordered_map, SettingFieldCustom>>; public: + BaseSettings() = default; + BaseSettings(const BaseSettings &) = default; + BaseSettings(BaseSettings &&) noexcept = default; + BaseSettings & operator=(const BaseSettings &) = default; + BaseSettings & operator=(BaseSettings &&) noexcept = default; + virtual ~BaseSettings() = default; + using Traits = TTraits; - void set(const std::string_view & name, const Field & value); - Field get(const std::string_view & name) const; + virtual void set(std::string_view name, const Field & value); + Field get(std::string_view name) const; - void setString(const std::string_view & name, const String & value); - String getString(const std::string_view & name) const; + void setString(std::string_view name, const String & value); + String getString(std::string_view name) const; - bool tryGet(const std::string_view & name, Field & value) const; - bool tryGetString(const std::string_view & name, String & value) const; + bool tryGet(std::string_view name, Field & value) const; + bool tryGetString(std::string_view name, String & value) const; - bool isChanged(const std::string_view & name) const; + bool isChanged(std::string_view name) const; SettingsChanges changes() const; void applyChange(const SettingChange & change); void applyChanges(const SettingsChanges & changes); @@ -62,23 +69,25 @@ public: /// Resets all the settings to their default values. void resetToDefault(); + /// Resets specified setting to its default value. + void resetToDefault(std::string_view name); - bool has(const std::string_view & name) const { return hasBuiltin(name) || hasCustom(name); } - static bool hasBuiltin(const std::string_view & name); - bool hasCustom(const std::string_view & name) const; + bool has(std::string_view name) const { return hasBuiltin(name) || hasCustom(name); } + static bool hasBuiltin(std::string_view name); + bool hasCustom(std::string_view name) const; - const char * getTypeName(const std::string_view & name) const; - const char * getDescription(const std::string_view & name) const; + const char * getTypeName(std::string_view name) const; + const char * getDescription(std::string_view name) const; /// Checks if it's possible to assign a field to a specified value and throws an exception if not. /// This function doesn't change the fields, it performs check only. - static void checkCanSet(const std::string_view & name, const Field & value); - static void checkCanSetString(const std::string_view & name, const String & str); + static void checkCanSet(std::string_view name, const Field & value); + static void checkCanSetString(std::string_view name, const String & str); /// Conversions without changing the fields. - static Field castValueUtil(const std::string_view & name, const Field & value); - static String valueToStringUtil(const std::string_view & name, const Field & value); - static Field stringToValueUtil(const std::string_view & name, const String & str); + static Field castValueUtil(std::string_view name, const Field & value); + static String valueToStringUtil(std::string_view name, const Field & value); + static Field stringToValueUtil(std::string_view name, const String & str); void write(WriteBuffer & out, SettingsWriteFormat format = SettingsWriteFormat::DEFAULT) const; void read(ReadBuffer & in, SettingsWriteFormat format = SettingsWriteFormat::DEFAULT); @@ -164,19 +173,19 @@ public: Iterator end() const { return allChanged().end(); } private: - SettingFieldCustom & getCustomSetting(const std::string_view & name); - const SettingFieldCustom & getCustomSetting(const std::string_view & name) const; - const SettingFieldCustom * tryGetCustomSetting(const std::string_view & name) const; + SettingFieldCustom & getCustomSetting(std::string_view name); + const SettingFieldCustom & getCustomSetting(std::string_view name) const; + const SettingFieldCustom * tryGetCustomSetting(std::string_view name) const; std::conditional_t custom_settings_map; }; struct BaseSettingsHelpers { - [[noreturn]] static void throwSettingNotFound(const std::string_view & name); - static void warningSettingNotFound(const std::string_view & name); + [[noreturn]] static void throwSettingNotFound(std::string_view name); + static void warningSettingNotFound(std::string_view name); - static void writeString(const std::string_view & str, WriteBuffer & out); + static void writeString(std::string_view str, WriteBuffer & out); static String readString(ReadBuffer & in); enum Flags : UInt64 @@ -190,7 +199,7 @@ struct BaseSettingsHelpers }; template -void BaseSettings::set(const std::string_view & name, const Field & value) +void BaseSettings::set(std::string_view name, const Field & value) { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -200,7 +209,7 @@ void BaseSettings::set(const std::string_view & name, const Field & val } template -Field BaseSettings::get(const std::string_view & name) const +Field BaseSettings::get(std::string_view name) const { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -210,7 +219,7 @@ Field BaseSettings::get(const std::string_view & name) const } template -void BaseSettings::setString(const std::string_view & name, const String & value) +void BaseSettings::setString(std::string_view name, const String & value) { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -220,7 +229,7 @@ void BaseSettings::setString(const std::string_view & name, const Strin } template -String BaseSettings::getString(const std::string_view & name) const +String BaseSettings::getString(std::string_view name) const { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -230,7 +239,7 @@ String BaseSettings::getString(const std::string_view & name) const } template -bool BaseSettings::tryGet(const std::string_view & name, Field & value) const +bool BaseSettings::tryGet(std::string_view name, Field & value) const { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -247,7 +256,7 @@ bool BaseSettings::tryGet(const std::string_view & name, Field & value) } template -bool BaseSettings::tryGetString(const std::string_view & name, String & value) const +bool BaseSettings::tryGetString(std::string_view name, String & value) const { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -264,7 +273,7 @@ bool BaseSettings::tryGetString(const std::string_view & name, String & } template -bool BaseSettings::isChanged(const std::string_view & name) const +bool BaseSettings::isChanged(std::string_view name) const { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -316,20 +325,28 @@ void BaseSettings::resetToDefault() } template -bool BaseSettings::hasBuiltin(const std::string_view & name) +void BaseSettings::resetToDefault(std::string_view name) +{ + const auto & accessor = Traits::Accessor::instance(); + if (size_t index = accessor.find(name); index != static_cast(-1)) + accessor.resetValueToDefault(*this, index); +} + +template +bool BaseSettings::hasBuiltin(std::string_view name) { const auto & accessor = Traits::Accessor::instance(); return (accessor.find(name) != static_cast(-1)); } template -bool BaseSettings::hasCustom(const std::string_view & name) const +bool BaseSettings::hasCustom(std::string_view name) const { return tryGetCustomSetting(name); } template -const char * BaseSettings::getTypeName(const std::string_view & name) const +const char * BaseSettings::getTypeName(std::string_view name) const { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -341,7 +358,7 @@ const char * BaseSettings::getTypeName(const std::string_view & name) c } template -const char * BaseSettings::getDescription(const std::string_view & name) const +const char * BaseSettings::getDescription(std::string_view name) const { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -353,19 +370,19 @@ const char * BaseSettings::getDescription(const std::string_view & name } template -void BaseSettings::checkCanSet(const std::string_view & name, const Field & value) +void BaseSettings::checkCanSet(std::string_view name, const Field & value) { castValueUtil(name, value); } template -void BaseSettings::checkCanSetString(const std::string_view & name, const String & str) +void BaseSettings::checkCanSetString(std::string_view name, const String & str) { stringToValueUtil(name, str); } template -Field BaseSettings::castValueUtil(const std::string_view & name, const Field & value) +Field BaseSettings::castValueUtil(std::string_view name, const Field & value) { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -377,7 +394,7 @@ Field BaseSettings::castValueUtil(const std::string_view & name, const } template -String BaseSettings::valueToStringUtil(const std::string_view & name, const Field & value) +String BaseSettings::valueToStringUtil(std::string_view name, const Field & value) { const auto & accessor = Traits::Accessor::instance(); if (size_t index = accessor.find(name); index != static_cast(-1)) @@ -389,7 +406,7 @@ String BaseSettings::valueToStringUtil(const std::string_view & name, c } template -Field BaseSettings::stringToValueUtil(const std::string_view & name, const String & str) +Field BaseSettings::stringToValueUtil(std::string_view name, const String & str) { try { @@ -521,7 +538,7 @@ bool operator!=(const BaseSettings & left, const BaseSettings } template -SettingFieldCustom & BaseSettings::getCustomSetting(const std::string_view & name) +SettingFieldCustom & BaseSettings::getCustomSetting(std::string_view name) { if constexpr (Traits::allow_custom_settings) { @@ -537,7 +554,7 @@ SettingFieldCustom & BaseSettings::getCustomSetting(const std::string_v } template -const SettingFieldCustom & BaseSettings::getCustomSetting(const std::string_view & name) const +const SettingFieldCustom & BaseSettings::getCustomSetting(std::string_view name) const { if constexpr (Traits::allow_custom_settings) { @@ -549,7 +566,7 @@ const SettingFieldCustom & BaseSettings::getCustomSetting(const std::st } template -const SettingFieldCustom * BaseSettings::tryGetCustomSetting(const std::string_view & name) const +const SettingFieldCustom * BaseSettings::tryGetCustomSetting(std::string_view name) const { if constexpr (Traits::allow_custom_settings) { @@ -780,7 +797,7 @@ bool BaseSettings::SettingFieldRef::isObsolete() const public: \ static const Accessor & instance(); \ size_t size() const { return field_infos.size(); } \ - size_t find(const std::string_view & name) const; \ + size_t find(std::string_view name) const; \ const String & getName(size_t index) const { return field_infos[index].name; } \ const char * getTypeName(size_t index) const { return field_infos[index].type; } \ const char * getDescription(size_t index) const { return field_infos[index].description; } \ @@ -851,7 +868,7 @@ bool BaseSettings::SettingFieldRef::isObsolete() const \ SETTINGS_TRAITS_NAME::Accessor::Accessor() {} \ \ - size_t SETTINGS_TRAITS_NAME::Accessor::find(const std::string_view & name) const \ + size_t SETTINGS_TRAITS_NAME::Accessor::find(std::string_view name) const \ { \ auto it = name_to_index_map.find(name); \ if (it != name_to_index_map.end()) \ diff --git a/src/Core/Block.cpp b/src/Core/Block.cpp index 34e6c08c718..3b7595eb886 100644 --- a/src/Core/Block.cpp +++ b/src/Core/Block.cpp @@ -8,6 +8,7 @@ #include +#include #include #include @@ -68,9 +69,27 @@ static ReturnType checkColumnStructure(const ColumnWithTypeAndName & actual, con actual_column = &column_sparse->getValuesColumn(); } - if (actual_column->getName() != expected.column->getName()) - return onError("Block structure mismatch in " + std::string(context_description) + " stream: different columns:\n" - + actual.dumpStructure() + "\n" + expected.dumpStructure(), code); + const auto * actual_column_maybe_agg = typeid_cast(actual_column); + const auto * expected_column_maybe_agg = typeid_cast(expected.column.get()); + if (actual_column_maybe_agg && expected_column_maybe_agg) + { + if (!actual_column_maybe_agg->getAggregateFunction()->haveSameStateRepresentation(*expected_column_maybe_agg->getAggregateFunction())) + return onError( + fmt::format( + "Block structure mismatch in {} stream: different columns:\n{}\n{}", + context_description, + actual.dumpStructure(), + expected.dumpStructure()), + code); + } + else if (actual_column->getName() != expected.column->getName()) + return onError( + fmt::format( + "Block structure mismatch in {} stream: different columns:\n{}\n{}", + context_description, + actual.dumpStructure(), + expected.dumpStructure()), + code); if (isColumnConst(*actual.column) && isColumnConst(*expected.column)) { diff --git a/src/Core/ExternalTable.cpp b/src/Core/ExternalTable.cpp index 3b515fab5c9..4528fe19e03 100644 --- a/src/Core/ExternalTable.cpp +++ b/src/Core/ExternalTable.cpp @@ -12,8 +12,9 @@ #include #include #include -#include +#include #include +#include #include #include @@ -36,7 +37,8 @@ ExternalTableDataPtr BaseExternalTable::getData(ContextPtr context) auto input = context->getInputFormat(format, *read_buffer, sample_block, DEFAULT_BLOCK_SIZE); auto data = std::make_unique(); - data->pipe = std::make_unique(std::move(input)); + data->pipe = std::make_unique(); + data->pipe->init(Pipe(std::move(input))); data->table_name = name; return data; @@ -157,20 +159,14 @@ void ExternalTablesHandler::handlePart(const Poco::Net::MessageHeader & header, auto storage = temporary_table.getTable(); getContext()->addExternalTable(data->table_name, std::move(temporary_table)); auto sink = storage->write(ASTPtr(), storage->getInMemoryMetadataPtr(), getContext()); - auto exception_handling = std::make_shared(sink->getOutputPort().getHeader()); /// Write data - data->pipe->resize(1); + auto pipeline = QueryPipelineBuilder::getPipeline(std::move(*data->pipe)); + pipeline.complete(std::move(sink)); + pipeline.setNumThreads(1); - connect(*data->pipe->getOutputPort(0), sink->getInputPort()); - connect(sink->getOutputPort(), exception_handling->getPort()); - - auto processors = Pipe::detachProcessors(std::move(*data->pipe)); - processors.push_back(std::move(sink)); - processors.push_back(std::move(exception_handling)); - - auto executor = std::make_shared(processors, getContext()->getProcessListElement()); - executor->execute(/*num_threads = */ 1); + CompletedPipelineExecutor executor(pipeline); + executor.execute(); /// We are ready to receive the next file, for this we clear all the information received clear(); diff --git a/src/Core/Field.cpp b/src/Core/Field.cpp index 2f37d2ea951..acdfca7a7b2 100644 --- a/src/Core/Field.cpp +++ b/src/Core/Field.cpp @@ -286,7 +286,7 @@ String Field::dump() const return applyVisitor(FieldVisitorDump(), *this); } -Field Field::restoreFromDump(const std::string_view & dump_) +Field Field::restoreFromDump(std::string_view dump_) { auto show_error = [&dump_] { @@ -559,4 +559,31 @@ String toString(const Field & x) x); } +String fieldTypeToString(Field::Types::Which type) +{ + switch (type) + { + case Field::Types::Which::Null: return "Null"; + case Field::Types::Which::Array: return "Array"; + case Field::Types::Which::Tuple: return "Tuple"; + case Field::Types::Which::Map: return "Map"; + case Field::Types::Which::Object: return "Object"; + case Field::Types::Which::AggregateFunctionState: return "AggregateFunctionState"; + case Field::Types::Which::Bool: return "Bool"; + case Field::Types::Which::String: return "String"; + case Field::Types::Which::Decimal32: return "Decimal32"; + case Field::Types::Which::Decimal64: return "Decimal64"; + case Field::Types::Which::Decimal128: return "Decimal128"; + case Field::Types::Which::Decimal256: return "Decimal256"; + case Field::Types::Which::Float64: return "Float64"; + case Field::Types::Which::Int64: return "Int64"; + case Field::Types::Which::Int128: return "Int128"; + case Field::Types::Which::Int256: return "Int256"; + case Field::Types::Which::UInt64: return "UInt64"; + case Field::Types::Which::UInt128: return "UInt128"; + case Field::Types::Which::UInt256: return "UInt256"; + case Field::Types::Which::UUID: return "UUID"; + } +} + } diff --git a/src/Core/Field.h b/src/Core/Field.h index 2a925a9e2a6..f60b7e4902e 100644 --- a/src/Core/Field.h +++ b/src/Core/Field.h @@ -54,7 +54,7 @@ DEFINE_FIELD_VECTOR(Map); /// TODO: use map instead of vector. #undef DEFINE_FIELD_VECTOR -using FieldMap = std::map, AllocatorWithMemoryTracking>>; +using FieldMap = std::map, AllocatorWithMemoryTracking>>; #define DEFINE_FIELD_MAP(X) \ struct X : public FieldMap \ @@ -346,7 +346,7 @@ public: } /// Create a string inplace. - Field(const std::string_view & str) { create(str.data(), str.size()); } /// NOLINT + Field(std::string_view str) { create(str.data(), str.size()); } /// NOLINT Field(const String & str) { create(std::string_view{str}); } /// NOLINT Field(String && str) { create(std::move(str)); } /// NOLINT Field(const char * str) { create(std::string_view{str}); } /// NOLINT @@ -403,7 +403,7 @@ public: return *this; } - Field & operator= (const std::string_view & str); + Field & operator= (std::string_view str); Field & operator= (const String & str) { return *this = std::string_view{str}; } Field & operator= (String && str); Field & operator= (const char * str) { return *this = std::string_view{str}; } @@ -631,7 +631,7 @@ public: } String dump() const; - static Field restoreFromDump(const std::string_view & dump_); + static Field restoreFromDump(std::string_view dump_); private: std::aligned_union_t diff --git a/src/Core/Joins.cpp b/src/Core/Joins.cpp new file mode 100644 index 00000000000..1cd7215335f --- /dev/null +++ b/src/Core/Joins.cpp @@ -0,0 +1,79 @@ +#include + +namespace DB +{ + +const char * toString(JoinKind kind) +{ + switch (kind) + { + case JoinKind::Inner: return "INNER"; + case JoinKind::Left: return "LEFT"; + case JoinKind::Right: return "RIGHT"; + case JoinKind::Full: return "FULL"; + case JoinKind::Cross: return "CROSS"; + case JoinKind::Comma: return "COMMA"; + } +}; + +const char * toString(JoinStrictness strictness) +{ + switch (strictness) + { + case JoinStrictness::Unspecified: return "UNSPECIFIED"; + case JoinStrictness::RightAny: return "RIGHT_ANY"; + case JoinStrictness::Any: return "ANY"; + case JoinStrictness::All: return "ALL"; + case JoinStrictness::Asof: return "ASOF"; + case JoinStrictness::Semi: return "SEMI"; + case JoinStrictness::Anti: return "ANTI"; + } +} + +const char * toString(JoinLocality locality) +{ + switch (locality) + { + case JoinLocality::Unspecified: return "UNSPECIFIED"; + case JoinLocality::Local: return "LOCAL"; + case JoinLocality::Global: return "GLOBAL"; + } +} + +const char * toString(ASOFJoinInequality asof_join_inequality) +{ + switch (asof_join_inequality) + { + case ASOFJoinInequality::None: return "NONE"; + case ASOFJoinInequality::Less: return "LESS"; + case ASOFJoinInequality::Greater: return "GREATER"; + case ASOFJoinInequality::LessOrEquals: return "LESS_OR_EQUALS"; + case ASOFJoinInequality::GreaterOrEquals: return "GREATER_OR_EQUALS"; + } +} + +const char * toString(JoinAlgorithm join_algorithm) +{ + switch (join_algorithm) + { + case JoinAlgorithm::DEFAULT: return "DEFAULT"; + case JoinAlgorithm::AUTO: return "AUTO"; + case JoinAlgorithm::HASH: return "HASH"; + case JoinAlgorithm::PARTIAL_MERGE: return "PARTIAL_MERGE"; + case JoinAlgorithm::PREFER_PARTIAL_MERGE: return "PREFER_PARTIAL_MERGE"; + case JoinAlgorithm::PARALLEL_HASH: return "PARALLEL_HASH"; + case JoinAlgorithm::DIRECT: return "DIRECT"; + case JoinAlgorithm::FULL_SORTING_MERGE: return "FULL_SORTING_MERGE"; + } +} + +const char * toString(JoinTableSide join_table_side) +{ + switch (join_table_side) + { + case JoinTableSide::Left: return "LEFT"; + case JoinTableSide::Right: return "RIGHT"; + } +} + +} diff --git a/src/Core/Joins.h b/src/Core/Joins.h new file mode 100644 index 00000000000..7c91c5a5c16 --- /dev/null +++ b/src/Core/Joins.h @@ -0,0 +1,119 @@ +#pragma once + +#include + +namespace DB +{ + +/// Join method. +enum class JoinKind +{ + Inner, /// Leave only rows that was JOINed. + Left, /// If in "right" table there is no corresponding rows, use default values instead. + Right, + Full, + Cross, /// Direct product. Strictness and condition doesn't matter. + Comma /// Same as direct product. Intended to be converted to INNER JOIN with conditions from WHERE. +}; + +const char * toString(JoinKind kind); + +inline constexpr bool isLeft(JoinKind kind) { return kind == JoinKind::Left; } +inline constexpr bool isRight(JoinKind kind) { return kind == JoinKind::Right; } +inline constexpr bool isInner(JoinKind kind) { return kind == JoinKind::Inner; } +inline constexpr bool isFull(JoinKind kind) { return kind == JoinKind::Full; } +inline constexpr bool isCrossOrComma(JoinKind kind) { return kind == JoinKind::Comma || kind == JoinKind::Cross; } +inline constexpr bool isRightOrFull(JoinKind kind) { return kind == JoinKind::Right || kind == JoinKind::Full; } +inline constexpr bool isLeftOrFull(JoinKind kind) { return kind == JoinKind::Left || kind == JoinKind::Full; } +inline constexpr bool isInnerOrRight(JoinKind kind) { return kind == JoinKind::Inner || kind == JoinKind::Right; } +inline constexpr bool isInnerOrLeft(JoinKind kind) { return kind == JoinKind::Inner || kind == JoinKind::Left; } + +/// Allows more optimal JOIN for typical cases. +enum class JoinStrictness +{ + Unspecified, + RightAny, /// Old ANY JOIN. If there are many suitable rows in right table, use any from them to join. + Any, /// Semi Join with any value from filtering table. For LEFT JOIN with Any and RightAny are the same. + All, /// If there are many suitable rows to join, use all of them and replicate rows of "left" table (usual semantic of JOIN). + Asof, /// For the last JOIN column, pick the latest value + Semi, /// LEFT or RIGHT. SEMI LEFT JOIN filters left table by values exists in right table. SEMI RIGHT - otherwise. + Anti, /// LEFT or RIGHT. Same as SEMI JOIN but filter values that are NOT exists in other table. +}; + +const char * toString(JoinStrictness strictness); + +/// Algorithm for distributed query processing. +enum class JoinLocality +{ + Unspecified, + Local, /// Perform JOIN, using only data available on same servers (co-located data). + Global /// Collect and merge data from remote servers, and broadcast it to each server. +}; + +const char * toString(JoinLocality locality); + +/// ASOF JOIN inequality type +enum class ASOFJoinInequality +{ + None, + Less, + Greater, + LessOrEquals, + GreaterOrEquals, +}; + +const char * toString(ASOFJoinInequality asof_join_inequality); + +inline constexpr ASOFJoinInequality getASOFJoinInequality(std::string_view func_name) +{ + ASOFJoinInequality inequality = ASOFJoinInequality::None; + + if (func_name == "less") + inequality = ASOFJoinInequality::Less; + else if (func_name == "greater") + inequality = ASOFJoinInequality::Greater; + else if (func_name == "lessOrEquals") + inequality = ASOFJoinInequality::LessOrEquals; + else if (func_name == "greaterOrEquals") + inequality = ASOFJoinInequality::GreaterOrEquals; + + return inequality; +} + +inline constexpr ASOFJoinInequality reverseASOFJoinInequality(ASOFJoinInequality inequality) +{ + if (inequality == ASOFJoinInequality::Less) + return ASOFJoinInequality::Greater; + else if (inequality == ASOFJoinInequality::Greater) + return ASOFJoinInequality::Less; + else if (inequality == ASOFJoinInequality::LessOrEquals) + return ASOFJoinInequality::GreaterOrEquals; + else if (inequality == ASOFJoinInequality::GreaterOrEquals) + return ASOFJoinInequality::LessOrEquals; + + return ASOFJoinInequality::None; +} + +enum class JoinAlgorithm +{ + DEFAULT = 0, + AUTO, + HASH, + PARTIAL_MERGE, + PREFER_PARTIAL_MERGE, + PARALLEL_HASH, + DIRECT, + FULL_SORTING_MERGE, +}; + +const char * toString(JoinAlgorithm join_algorithm); + +enum class JoinTableSide +{ + Left, + Right +}; + +const char * toString(JoinTableSide join_table_side); + +} diff --git a/src/Core/PostgreSQL/Connection.cpp b/src/Core/PostgreSQL/Connection.cpp index e526396e1d1..5a589a80d02 100644 --- a/src/Core/PostgreSQL/Connection.cpp +++ b/src/Core/PostgreSQL/Connection.cpp @@ -30,7 +30,7 @@ void Connection::execWithRetry(const std::function LOG_DEBUG(log, "Cannot execute query due to connection failure, attempt: {}/{}. (Message: {})", try_no, num_tries, e.what()); - if (try_no == num_tries) + if (try_no + 1 == num_tries) throw; } } @@ -73,6 +73,7 @@ void Connection::connect() if (!connection || !connection->is_open()) updateConnection(); } + } #endif diff --git a/src/Core/PostgreSQL/Connection.h b/src/Core/PostgreSQL/Connection.h index 8c5609dc66b..d39659a9953 100644 --- a/src/Core/PostgreSQL/Connection.h +++ b/src/Core/PostgreSQL/Connection.h @@ -32,7 +32,10 @@ struct ConnectionInfo class Connection : private boost::noncopyable { public: - Connection(const ConnectionInfo & connection_info_, bool replication_ = false, size_t num_tries = 3); + explicit Connection( + const ConnectionInfo & connection_info_, + bool replication_ = false, + size_t num_tries = 3); void execWithRetry(const std::function & exec); diff --git a/src/Core/PostgreSQL/ConnectionHolder.h b/src/Core/PostgreSQL/ConnectionHolder.h index 38e321e222c..2fd8717c643 100644 --- a/src/Core/PostgreSQL/ConnectionHolder.h +++ b/src/Core/PostgreSQL/ConnectionHolder.h @@ -20,11 +20,20 @@ class ConnectionHolder { public: - ConnectionHolder(PoolPtr pool_, ConnectionPtr connection_) : pool(pool_), connection(std::move(connection_)) {} + ConnectionHolder(PoolPtr pool_, ConnectionPtr connection_, bool auto_close_) + : pool(pool_) + , connection(std::move(connection_)) + , auto_close(auto_close_) + {} ConnectionHolder(const ConnectionHolder & other) = delete; - ~ConnectionHolder() { pool->returnObject(std::move(connection)); } + ~ConnectionHolder() + { + if (auto_close) + connection.reset(); + pool->returnObject(std::move(connection)); + } pqxx::connection & get() { @@ -39,6 +48,7 @@ public: private: PoolPtr pool; ConnectionPtr connection; + bool auto_close; }; using ConnectionHolderPtr = std::unique_ptr; diff --git a/src/Core/PostgreSQL/PoolWithFailover.cpp b/src/Core/PostgreSQL/PoolWithFailover.cpp index 844c60087e0..1bac17de579 100644 --- a/src/Core/PostgreSQL/PoolWithFailover.cpp +++ b/src/Core/PostgreSQL/PoolWithFailover.cpp @@ -5,6 +5,7 @@ #include "Utils.h" #include #include +#include #include #include @@ -20,10 +21,14 @@ namespace postgres { PoolWithFailover::PoolWithFailover( - const DB::ExternalDataSourcesConfigurationByPriority & configurations_by_priority, - size_t pool_size, size_t pool_wait_timeout_, size_t max_tries_) - : pool_wait_timeout(pool_wait_timeout_) - , max_tries(max_tries_) + const DB::ExternalDataSourcesConfigurationByPriority & configurations_by_priority, + size_t pool_size, + size_t pool_wait_timeout_, + size_t max_tries_, + bool auto_close_connection_) + : pool_wait_timeout(pool_wait_timeout_) + , max_tries(max_tries_) + , auto_close_connection(auto_close_connection_) { LOG_TRACE(&Poco::Logger::get("PostgreSQLConnectionPool"), "PostgreSQL connection pool size: {}, connection wait timeout: {}, max failover tries: {}", pool_size, pool_wait_timeout, max_tries_); @@ -40,10 +45,14 @@ PoolWithFailover::PoolWithFailover( } PoolWithFailover::PoolWithFailover( - const DB::StoragePostgreSQLConfiguration & configuration, - size_t pool_size, size_t pool_wait_timeout_, size_t max_tries_) + const DB::StoragePostgreSQLConfiguration & configuration, + size_t pool_size, + size_t pool_wait_timeout_, + size_t max_tries_, + bool auto_close_connection_) : pool_wait_timeout(pool_wait_timeout_) , max_tries(max_tries_) + , auto_close_connection(auto_close_connection_) { LOG_TRACE(&Poco::Logger::get("PostgreSQLConnectionPool"), "PostgreSQL connection pool size: {}, connection wait timeout: {}, max failover tries: {}", pool_size, pool_wait_timeout, max_tries_); @@ -94,7 +103,9 @@ ConnectionHolderPtr PoolWithFailover::get() catch (const pqxx::broken_connection & pqxx_error) { LOG_ERROR(log, "Connection error: {}", pqxx_error.what()); - error_message << "Try " << try_idx + 1 << ". Connection to `" << replica.connection_info.host_port << "` failed: " << pqxx_error.what() << "\n"; + error_message << fmt::format( + "Try {}. Connection to {} failed with error: {}\n", + try_idx + 1, DB::backQuote(replica.connection_info.host_port), pqxx_error.what()); replica.pool->returnObject(std::move(connection)); continue; @@ -105,7 +116,7 @@ ConnectionHolderPtr PoolWithFailover::get() throw; } - auto connection_holder = std::make_unique(replica.pool, std::move(connection)); + auto connection_holder = std::make_unique(replica.pool, std::move(connection), auto_close_connection); /// Move all traversed replicas to the end. if (replicas.size() > 1) diff --git a/src/Core/PostgreSQL/PoolWithFailover.h b/src/Core/PostgreSQL/PoolWithFailover.h index 600e12fb53a..81c94d92141 100644 --- a/src/Core/PostgreSQL/PoolWithFailover.h +++ b/src/Core/PostgreSQL/PoolWithFailover.h @@ -12,6 +12,10 @@ #include +static constexpr inline auto POSTGRESQL_POOL_DEFAULT_SIZE = 16; +static constexpr inline auto POSTGRESQL_POOL_WAIT_TIMEOUT = 5000; +static constexpr inline auto POSTGRESQL_POOL_WITH_FAILOVER_DEFAULT_MAX_TRIES = 5; + namespace postgres { @@ -21,21 +25,19 @@ class PoolWithFailover using RemoteDescription = std::vector>; public: - static constexpr inline auto POSTGRESQL_POOL_DEFAULT_SIZE = 16; - static constexpr inline auto POSTGRESQL_POOL_WAIT_TIMEOUT = 5000; - static constexpr inline auto POSTGRESQL_POOL_WITH_FAILOVER_DEFAULT_MAX_TRIES = 5; - PoolWithFailover( const DB::ExternalDataSourcesConfigurationByPriority & configurations_by_priority, - size_t pool_size = POSTGRESQL_POOL_DEFAULT_SIZE, - size_t pool_wait_timeout = POSTGRESQL_POOL_WAIT_TIMEOUT, - size_t max_tries_ = POSTGRESQL_POOL_WITH_FAILOVER_DEFAULT_MAX_TRIES); + size_t pool_size, + size_t pool_wait_timeout, + size_t max_tries_, + bool auto_close_connection_); - PoolWithFailover( + explicit PoolWithFailover( const DB::StoragePostgreSQLConfiguration & configuration, - size_t pool_size = POSTGRESQL_POOL_DEFAULT_SIZE, - size_t pool_wait_timeout = POSTGRESQL_POOL_WAIT_TIMEOUT, - size_t max_tries_ = POSTGRESQL_POOL_WITH_FAILOVER_DEFAULT_MAX_TRIES); + size_t pool_size, + size_t pool_wait_timeout, + size_t max_tries_, + bool auto_close_connection_); PoolWithFailover(const PoolWithFailover & other) = delete; @@ -58,6 +60,7 @@ private: ReplicasWithPriority replicas_with_priority; size_t pool_wait_timeout; size_t max_tries; + bool auto_close_connection; std::mutex mutex; Poco::Logger * log = &Poco::Logger::get("PostgreSQLConnectionPool"); }; diff --git a/src/Core/ProtocolDefines.h b/src/Core/ProtocolDefines.h index 6ee491f3ab5..7e6ae4f5f82 100644 --- a/src/Core/ProtocolDefines.h +++ b/src/Core/ProtocolDefines.h @@ -52,6 +52,19 @@ /// NOTE: DBMS_TCP_PROTOCOL_VERSION has nothing common with VERSION_REVISION, /// later is just a number for server version (one number instead of commit SHA) /// for simplicity (sometimes it may be more convenient in some use cases). -#define DBMS_TCP_PROTOCOL_VERSION 54455 +#define DBMS_TCP_PROTOCOL_VERSION 54460 #define DBMS_MIN_PROTOCOL_VERSION_WITH_INITIAL_QUERY_START_TIME 54449 + +#define DBMS_MIN_PROTOCOL_VERSION_WITH_PROFILE_EVENTS_IN_INSERT 54456 + +#define DBMS_MIN_PROTOCOL_VERSION_WITH_VIEW_IF_PERMITTED 54457 + +#define DBMS_MIN_PROTOCOL_VERSION_WITH_ADDENDUM 54458 + +#define DBMS_MIN_PROTOCOL_VERSION_WITH_QUOTA_KEY 54458 + +#define DBMS_MIN_PROTOCOL_VERSION_WITH_PARAMETERS 54459 + +/// The server will send query elapsed run time in the Progress packet. +#define DBMS_MIN_PROTOCOL_VERSION_WITH_SERVER_QUERY_TIME_IN_PROGRESS 54460 diff --git a/src/Core/Settings.cpp b/src/Core/Settings.cpp index 5251569505e..7bac3f04fc6 100644 --- a/src/Core/Settings.cpp +++ b/src/Core/Settings.cpp @@ -1,5 +1,6 @@ #include "Settings.h" +#include #include #include #include @@ -145,6 +146,53 @@ std::vector Settings::getAllRegisteredNames() const return all_settings; } +void Settings::set(std::string_view name, const Field & value) +{ + BaseSettings::set(name, value); + + if (name == "compatibility") + applyCompatibilitySetting(); + /// If we change setting that was changed by compatibility setting before + /// we should remove it from settings_changed_by_compatibility_setting, + /// otherwise the next time we will change compatibility setting + /// this setting will be changed too (and we don't want it). + else if (settings_changed_by_compatibility_setting.contains(name)) + settings_changed_by_compatibility_setting.erase(name); +} + +void Settings::applyCompatibilitySetting() +{ + /// First, revert all changes applied by previous compatibility setting + for (const auto & setting_name : settings_changed_by_compatibility_setting) + resetToDefault(setting_name); + + settings_changed_by_compatibility_setting.clear(); + String compatibility = getString("compatibility"); + /// If setting value is empty, we don't need to change settings + if (compatibility.empty()) + return; + + ClickHouseVersion version(compatibility); + /// Iterate through ClickHouse version in descending order and apply reversed + /// changes for each version that is higher that version from compatibility setting + for (auto it = settings_changes_history.rbegin(); it != settings_changes_history.rend(); ++it) + { + if (version >= it->first) + break; + + /// Apply reversed changes from this version. + for (const auto & change : it->second) + { + /// If this setting was changed manually, we don't change it + if (isChanged(change.name) && !settings_changed_by_compatibility_setting.contains(change.name)) + continue; + + BaseSettings::set(change.name, change.previous_value); + settings_changed_by_compatibility_setting.insert(change.name); + } + } +} + IMPLEMENT_SETTINGS_TRAITS(FormatFactorySettingsTraits, FORMAT_FACTORY_SETTINGS) } diff --git a/src/Core/Settings.h b/src/Core/Settings.h index c241955b268..08a3df0a3e3 100644 --- a/src/Core/Settings.h +++ b/src/Core/Settings.h @@ -35,6 +35,10 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) * * `flags` can be either 0 or IMPORTANT. * A setting is "IMPORTANT" if it affects the results of queries and can't be ignored by older versions. + * + * When adding new settings that control some backward incompatible changes or when changing some settings values, + * consider adding them to settings changes history in SettingsChangesHistory.h for special `compatibility` setting + * to work correctly. */ #define COMMON_SETTINGS(M) \ @@ -96,7 +100,10 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, replace_running_query, false, "Whether the running request should be canceled with the same id as the new one.", 0) \ M(UInt64, max_replicated_fetches_network_bandwidth_for_server, 0, "The maximum speed of data exchange over the network in bytes per second for replicated fetches. Zero means unlimited. Only has meaning at server startup.", 0) \ M(UInt64, max_replicated_sends_network_bandwidth_for_server, 0, "The maximum speed of data exchange over the network in bytes per second for replicated sends. Zero means unlimited. Only has meaning at server startup.", 0) \ - M(Bool, stream_like_engine_allow_direct_select, false, "Allow direct SELECT query for Kafka, RabbitMQ and FileLog engines. In case there are attached materialized views, SELECT query is not allowed even if this setting is enabled.", 0) \ + M(UInt64, max_remote_read_network_bandwidth_for_server, 0, "The maximum speed of data exchange over the network in bytes per second for read. Zero means unlimited. Only has meaning at server startup.", 0) \ + M(UInt64, max_remote_write_network_bandwidth_for_server, 0, "The maximum speed of data exchange over the network in bytes per second for write. Zero means unlimited. Only has meaning at server startup.", 0) \ + M(Bool, stream_like_engine_allow_direct_select, false, "Allow direct SELECT query for Kafka, RabbitMQ, FileLog, Redis Streams and NATS engines. In case there are attached materialized views, SELECT query is not allowed even if this setting is enabled.", 0) \ + M(String, stream_like_engine_insert_queue, "", "When stream like engine reads from multiple queues, user will need to select one queue to insert into when writing. Used by Redis Streams and NATS.", 0) \ \ M(Milliseconds, distributed_directory_monitor_sleep_time_ms, 100, "Sleep time for StorageDistributed DirectoryMonitors, in case of any errors delay grows exponentially.", 0) \ M(Milliseconds, distributed_directory_monitor_max_sleep_time_ms, 30000, "Maximum sleep time for StorageDistributed DirectoryMonitors, it limits exponential growth too.", 0) \ @@ -127,7 +134,9 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(UInt64, group_by_two_level_threshold_bytes, 50000000, "From what size of the aggregation state in bytes, a two-level aggregation begins to be used. 0 - the threshold is not set. Two-level aggregation is used when at least one of the thresholds is triggered.", 0) \ M(Bool, distributed_aggregation_memory_efficient, true, "Is the memory-saving mode of distributed aggregation enabled.", 0) \ M(UInt64, aggregation_memory_efficient_merge_threads, 0, "Number of threads to use for merge intermediate aggregation results in memory efficient mode. When bigger, then more memory is consumed. 0 means - same as 'max_threads'.", 0) \ - M(Bool, enable_positional_arguments, false, "Enable positional arguments in ORDER BY, GROUP BY and LIMIT BY", 0) \ + M(Bool, enable_positional_arguments, true, "Enable positional arguments in ORDER BY, GROUP BY and LIMIT BY", 0) \ + \ + M(Bool, group_by_use_nulls, false, "Treat columns mentioned in ROLLUP, CUBE or GROUPING SETS as Nullable", 0) \ \ M(UInt64, max_parallel_replicas, 1, "The maximum number of replicas of each shard used when the query is executed. For consistency (to get different parts of the same partition), this option only works for the specified sampling key. The lag of the replicas is not controlled.", 0) \ M(UInt64, parallel_replicas_count, 0, "", 0) \ @@ -183,6 +192,8 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(Int64, network_zstd_compression_level, 1, "Allows you to select the level of ZSTD compression.", 0) \ \ + M(Int64, zstd_window_log_max, 0, "Allows you to select the max window log of ZSTD (it will not be used for MergeTree family)", 0) \ + \ M(UInt64, priority, 0, "Priority of the query. 1 - the highest, higher value - lower priority; 0 - do not use priorities.", 0) \ M(Int64, os_thread_priority, 0, "If non zero - set corresponding 'nice' value for query processing threads. Can be used to adjust query priority for OS scheduler.", 0) \ \ @@ -201,7 +212,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(Bool, insert_deduplicate, true, "For INSERT queries in the replicated table, specifies that deduplication of insertings blocks should be performed", 0) \ \ - M(UInt64, insert_quorum, 0, "For INSERT queries in the replicated table, wait writing for the specified number of replicas and linearize the addition of the data. 0 - disabled.", 0) \ + M(UInt64Auto, insert_quorum, 0, "For INSERT queries in the replicated table, wait writing for the specified number of replicas and linearize the addition of the data. 0 - disabled.", 0) \ M(Milliseconds, insert_quorum_timeout, 600000, "", 0) \ M(Bool, insert_quorum_parallel, true, "For quorum INSERT queries - enable to make parallel inserts without linearizability", 0) \ M(UInt64, select_sequential_consistency, 0, "For SELECT queries from the replicated table, throw an exception if the replica does not have a chunk written with the quorum; do not read the parts that have not yet been written with the quorum.", 0) \ @@ -236,7 +247,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(Bool, join_use_nulls, false, "Use NULLs for non-joined rows of outer JOINs for types that can be inside Nullable. If false, use default value of corresponding columns data type.", IMPORTANT) \ \ - M(JoinStrictness, join_default_strictness, JoinStrictness::ALL, "Set default strictness in JOIN query. Possible values: empty string, 'ANY', 'ALL'. If empty, query without strictness will throw exception.", 0) \ + M(JoinStrictness, join_default_strictness, JoinStrictness::All, "Set default strictness in JOIN query. Possible values: empty string, 'ANY', 'ALL'. If empty, query without strictness will throw exception.", 0) \ M(Bool, any_join_distinct_right_table_keys, false, "Enable old ANY JOIN logic with many-to-one left-to-right table keys mapping for all ANY JOINs. It leads to confusing not equal results for 't1 ANY LEFT JOIN t2' and 't2 ANY RIGHT JOIN t1'. ANY RIGHT JOIN needs one-to-many keys mapping to be consistent with LEFT one.", IMPORTANT) \ \ M(UInt64, preferred_block_size_bytes, 1000000, "", 0) \ @@ -283,6 +294,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, metrics_perf_events_enabled, false, "If enabled, some of the perf events will be measured throughout queries' execution.", 0) \ M(String, metrics_perf_events_list, "", "Comma separated list of perf metrics that will be measured throughout queries' execution. Empty means all events. See PerfEventInfo in sources for the available events.", 0) \ M(Float, opentelemetry_start_trace_probability, 0., "Probability to start an OpenTelemetry trace for an incoming query.", 0) \ + M(Bool, opentelemetry_trace_processors, false, "Collect OpenTelemetry spans for processors.", 0) \ M(Bool, prefer_column_name_to_alias, false, "Prefer using column names instead of aliases if possible.", 0) \ M(Bool, prefer_global_in_and_join, false, "If enabled, all IN/JOIN operators will be rewritten as GLOBAL IN/JOIN. It's useful when the to-be-joined tables are only available on the initiator and we need to always scatter their data on-the-fly during distributed processing with the GLOBAL keyword. It's also useful to reduce the need to access the external sources joining external tables.", 0) \ \ @@ -347,7 +359,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(UInt64, max_bytes_in_join, 0, "Maximum size of the hash table for JOIN (in number of bytes in memory).", 0) \ M(OverflowMode, join_overflow_mode, OverflowMode::THROW, "What to do when the limit is exceeded.", 0) \ M(Bool, join_any_take_last_row, false, "When disabled (default) ANY JOIN will take the first found row for a key. When enabled, it will take the last row seen if there are multiple rows for the same key.", IMPORTANT) \ - M(JoinAlgorithm, join_algorithm, JoinAlgorithm::HASH, "Specify join algorithm: 'auto', 'hash', 'partial_merge', 'prefer_partial_merge', 'parallel_hash'. 'auto' tries to change HashJoin to MergeJoin on the fly to avoid out of memory.", 0) \ + M(JoinAlgorithm, join_algorithm, JoinAlgorithm::DEFAULT, "Specify join algorithm.", 0) \ M(UInt64, default_max_bytes_in_join, 1000000000, "Maximum size of right-side table if limit is required but max_bytes_in_join is not set.", 0) \ M(UInt64, partial_merge_join_left_table_buffer_bytes, 0, "If not 0 group left table blocks in bigger ones for left-side table in partial merge join. It uses up to 2x of specified memory per joining thread.", 0) \ M(UInt64, partial_merge_join_rows_in_right_blocks, 65536, "Split right-hand joining data in blocks of specified size. It's a portion of data indexed by min-max values and possibly unloaded on disk.", 0) \ @@ -372,7 +384,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(UInt64, memory_profiler_step, (4 * 1024 * 1024), "Whenever query memory usage becomes larger than every next step in number of bytes the memory profiler will collect the allocating stack trace. Zero means disabled memory profiler. Values lower than a few megabytes will slow down query processing.", 0) \ M(Float, memory_profiler_sample_probability, 0., "Collect random allocations and deallocations and write them into system.trace_log with 'MemorySample' trace_type. The probability is for every alloc/free regardless to the size of the allocation. Note that sampling happens only when the amount of untracked memory exceeds 'max_untracked_memory'. You may want to set 'max_untracked_memory' to 0 for extra fine grained sampling.", 0) \ \ - M(UInt64, memory_usage_overcommit_max_wait_microseconds, 200, "Maximum time thread will wait for memory to be freed in the case of memory overcommit on user level. If timeout is reached and memory is not freed, exception is thrown.", 0) \ + M(UInt64, memory_usage_overcommit_max_wait_microseconds, 5'000'000, "Maximum time thread will wait for memory to be freed in the case of memory overcommit. If timeout is reached and memory is not freed, exception is thrown.", 0) \ \ M(UInt64, max_network_bandwidth, 0, "The maximum speed of data exchange over the network in bytes per second for a query. Zero means unlimited.", 0) \ M(UInt64, max_network_bytes, 0, "The maximum number of bytes (compressed) to receive or transmit over the network for execution of the query.", 0) \ @@ -388,6 +400,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, log_query_views, true, "Log query dependent views into system.query_views_log table. This setting have effect only when 'log_queries' is true.", 0) \ M(String, log_comment, "", "Log comment into system.query_log table and server log. It can be set to arbitrary string no longer than max_query_size.", 0) \ M(LogsLevel, send_logs_level, LogsLevel::fatal, "Send server text logs with specified minimum level to client. Valid values: 'trace', 'debug', 'information', 'warning', 'error', 'fatal', 'none'", 0) \ + M(String, send_logs_source_regexp, "", "Send server text logs with specified regexp to match log source name. Empty means all sources.", 0) \ M(Bool, enable_optimize_predicate_expression, true, "If it is set to true, optimize predicates to subqueries.", 0) \ M(Bool, enable_optimize_predicate_expression_to_final_subquery, true, "Allow push predicate to final subquery.", 0) \ M(Bool, allow_push_predicate_when_subquery_contains_with, true, "Allows push predicate when subquery contains WITH clause", 0) \ @@ -404,6 +417,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, parallel_view_processing, false, "Enables pushing to attached views concurrently instead of sequentially.", 0) \ M(Bool, enable_unaligned_array_join, false, "Allow ARRAY JOIN with multiple arrays that have different sizes. When this settings is enabled, arrays will be resized to the longest one.", 0) \ M(Bool, optimize_read_in_order, true, "Enable ORDER BY optimization for reading data in corresponding order in MergeTree tables.", 0) \ + M(Bool, optimize_read_in_window_order, true, "Enable ORDER BY optimization in window clause for reading data in corresponding order in MergeTree tables.", 0) \ M(Bool, optimize_aggregation_in_order, false, "Enable GROUP BY optimization for aggregating data in corresponding order in MergeTree tables.", 0) \ M(UInt64, aggregation_in_order_max_block_bytes, 50000000, "Maximal size of block in bytes accumulated during aggregation in order of primary key. Lower block size allows to parallelize more final merge stage of aggregation.", 0) \ M(UInt64, read_in_order_two_level_merge_threshold, 100, "Minimal number of parts to read to run preliminary merge step during multithread reading in order of primary key.", 0) \ @@ -425,8 +439,10 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(UInt64, postgresql_connection_pool_size, 16, "Connection pool size for PostgreSQL table engine and database engine.", 0) \ M(UInt64, postgresql_connection_pool_wait_timeout, 5000, "Connection pool push/pop timeout on empty pool for PostgreSQL table engine and database engine. By default it will block on empty pool.", 0) \ + M(Bool, postgresql_connection_pool_auto_close_connection, false, "Close connection before returning connection to the pool.", 0) \ M(UInt64, glob_expansion_max_elements, 1000, "Maximum number of allowed addresses (For external storages, table functions, etc).", 0) \ M(UInt64, odbc_bridge_connection_pool_size, 16, "Connection pool size for each connection settings string in ODBC bridge.", 0) \ + M(Bool, odbc_bridge_use_connection_pooling, true, "Use connection pooling in ODBC bridge. If set to false, a new connection is created every time", 0) \ \ M(Seconds, distributed_replica_error_half_life, DBMS_CONNECTION_POOL_WITH_FAILOVER_DEFAULT_DECREASE_ERROR_PERIOD, "Time period reduces replica error counter by 2 times.", 0) \ M(UInt64, distributed_replica_error_cap, DBMS_CONNECTION_POOL_WITH_FAILOVER_MAX_ERROR_COUNT, "Max number of errors per replica, prevents piling up an incredible amount of errors if replica was offline for some time and allows it to be reconsidered in a shorter amount of time.", 0) \ @@ -441,7 +457,6 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Seconds, wait_for_window_view_fire_signal_timeout, 10, "Timeout for waiting for window view fire signal in event time processing", 0) \ M(UInt64, min_free_disk_space_for_temporary_data, 0, "The minimum disk space to keep while writing temporary data used in external sorting and aggregation.", 0) \ \ - M(DefaultDatabaseEngine, default_database_engine, DefaultDatabaseEngine::Atomic, "Default database engine.", 0) \ M(DefaultTableEngine, default_table_engine, DefaultTableEngine::None, "Default table engine used when ENGINE is not set in CREATE statement.",0) \ M(Bool, show_table_uuid_in_table_create_query_if_not_nil, false, "For tables in databases with Engine=Atomic show UUID of the table in its CREATE query.", 0) \ M(Bool, database_atomic_wait_for_drop_and_detach_synchronously, false, "When executing DROP or DETACH TABLE in Atomic database, wait for table data to be finally dropped or detached.", 0) \ @@ -449,6 +464,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, optimize_trivial_count_query, true, "Process trivial 'SELECT count() FROM table' query from metadata.", 0) \ M(Bool, optimize_respect_aliases, true, "If it is set to true, it will respect aliases in WHERE/GROUP BY/ORDER BY, that will help with partition pruning/secondary indexes/optimize_aggregation_in_order/optimize_read_in_order/optimize_trivial_count", 0) \ M(UInt64, mutations_sync, 0, "Wait for synchronous execution of ALTER TABLE UPDATE/DELETE queries (mutations). 0 - execute asynchronously. 1 - wait current server. 2 - wait all replicas if they exist.", 0) \ + M(Bool, allow_experimental_lightweight_delete, false, "Enable lightweight DELETE mutations for mergetree tables. Work in progress", 0) \ M(Bool, optimize_move_functions_out_of_any, false, "Move functions out of aggregate functions 'any', 'anyLast'.", 0) \ M(Bool, optimize_normalize_count_variants, true, "Rewrite aggregate functions that semantically equals to count() as count().", 0) \ M(Bool, optimize_injective_functions_inside_uniq, true, "Delete injective functions of one argument inside uniq*() functions.", 0) \ @@ -458,6 +474,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, optimize_duplicate_order_by_and_distinct, true, "Remove duplicate ORDER BY and DISTINCT if it's possible", 0) \ M(Bool, optimize_redundant_functions_in_order_by, true, "Remove functions from ORDER BY if its argument is also in ORDER BY", 0) \ M(Bool, optimize_if_chain_to_multiif, false, "Replace if(cond1, then1, if(cond2, ...)) chains to multiIf. Currently it's not beneficial for numeric types.", 0) \ + M(Bool, optimize_multiif_to_if, true, "Replace 'multiIf' with only one condition to 'if'.", 0) \ M(Bool, optimize_if_transform_strings_to_enum, false, "Replaces string-type arguments in If and Transform to enum. Disabled by default cause it could make inconsistent change in distributed query that would lead to its fail.", 0) \ M(Bool, optimize_monotonous_functions_in_order_by, true, "Replace monotonous function with its argument in ORDER BY", 0) \ M(Bool, optimize_functions_to_subcolumns, false, "Transform functions to subcolumns, if possible, to reduce amount of read data. E.g. 'length(arr)' -> 'arr.size0', 'col IS NULL' -> 'col.null' ", 0) \ @@ -479,7 +496,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Seconds, lock_acquire_timeout, DBMS_DEFAULT_LOCK_ACQUIRE_TIMEOUT_SEC, "How long locking request should wait before failing", 0) \ M(Bool, materialize_ttl_after_modify, true, "Apply TTL for old data, after ALTER MODIFY TTL query", 0) \ M(String, function_implementation, "", "Choose function implementation for specific target or variant (experimental). If empty enable all of them.", 0) \ - M(Bool, allow_experimental_geo_types, false, "Allow geo data types such as Point, Ring, Polygon, MultiPolygon", 0) \ + M(Bool, allow_experimental_geo_types, true, "Allow geo data types such as Point, Ring, Polygon, MultiPolygon", 0) \ M(Bool, data_type_default_nullable, false, "Data types without NULL or NOT NULL will make Nullable", 0) \ M(Bool, cast_keep_nullable, false, "CAST operator keep Nullable for result data type", 0) \ M(Bool, cast_ipv4_ipv6_default_on_conversion_error, false, "CAST operator into IPv4, CAST operator into IPV6 type, toIPv4, toIPv6 functions will return default value instead of throwing exception on conversion error.", 0) \ @@ -492,8 +509,8 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, allow_non_metadata_alters, true, "Allow to execute alters which affects not only tables metadata, but also data on disk", 0) \ M(Bool, enable_global_with_statement, true, "Propagate WITH statements to UNION queries and all subqueries", 0) \ M(Bool, aggregate_functions_null_for_empty, false, "Rewrite all aggregate functions in a query, adding -OrNull suffix to them", 0) \ - M(Bool, optimize_syntax_fuse_functions, false, "Allow apply syntax optimisation: fuse aggregate functions", 0) \ - M(Bool, optimize_fuse_sum_count_avg, false, "Fuse functions `sum, avg, count` with identical arguments into one `sumCount` (`optimize_syntax_fuse_functions should be enabled)", 0) \ + M(Bool, optimize_syntax_fuse_functions, false, "Not ready for production, do not use. Allow apply syntax optimisation: fuse aggregate functions", 0) \ + M(Bool, optimize_fuse_sum_count_avg, false, "Not ready for production, do not use. Fuse functions `sum, avg, count` with identical arguments into one `sumCount` (`optimize_syntax_fuse_functions should be enabled)", 0) \ M(Bool, flatten_nested, true, "If true, columns of type Nested will be flatten to separate array columns instead of one array of tuples", 0) \ M(Bool, asterisk_include_materialized_columns, false, "Include MATERIALIZED columns for wildcard query", 0) \ M(Bool, asterisk_include_alias_columns, false, "Include ALIAS columns for wildcard query", 0) \ @@ -540,6 +557,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, query_plan_enable_optimizations, true, "Apply optimizations to query plan", 0) \ M(UInt64, query_plan_max_optimizations_to_apply, 10000, "Limit the total number of optimizations applied to query plan. If zero, ignored. If limit reached, throw exception", 0) \ M(Bool, query_plan_filter_push_down, true, "Allow to push down filter by predicate query plan step", 0) \ + M(Bool, query_plan_optimize_primary_key, true, "Analyze primary key using query plan (instead of AST)", 0) \ M(UInt64, regexp_max_matches_per_row, 1000, "Max matches of any single regexp per row, used to safeguard 'extractAllGroupsHorizontal' against consuming too much memory with greedy RE.", 0) \ \ M(UInt64, limit, 0, "Limit on read rows from the most 'end' result for select query, default 0 means no limit length", 0) \ @@ -548,7 +566,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(UInt64, function_range_max_elements_in_block, 500000000, "Maximum number of values generated by function 'range' per block of data (sum of array sizes for every row in a block, see also 'max_block_size' and 'min_insert_block_size_rows'). It is a safety threshold.", 0) \ M(ShortCircuitFunctionEvaluation, short_circuit_function_evaluation, ShortCircuitFunctionEvaluation::ENABLE, "Setting for short-circuit function evaluation configuration. Possible values: 'enable' - use short-circuit function evaluation for functions that are suitable for it, 'disable' - disable short-circuit function evaluation, 'force_enable' - use short-circuit function evaluation for all functions.", 0) \ \ - M(String, local_filesystem_read_method, "pread", "Method of reading data from local filesystem, one of: read, pread, mmap, pread_threadpool.", 0) \ + M(String, local_filesystem_read_method, "pread_threadpool", "Method of reading data from local filesystem, one of: read, pread, mmap, pread_threadpool.", 0) \ M(String, remote_filesystem_read_method, "threadpool", "Method of reading data from remote filesystem, one of: read, threadpool.", 0) \ M(Bool, local_filesystem_read_prefetch, false, "Should use prefetching when reading data from local filesystem.", 0) \ M(Bool, remote_filesystem_read_prefetch, true, "Should use prefetching when reading data from remote filesystem.", 0) \ @@ -572,6 +590,8 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, enable_filesystem_cache_on_write_operations, false, "Write into cache on write operations. To actually work this setting requires be added to disk config too", 0) \ M(Bool, enable_filesystem_cache_log, false, "Allows to record the filesystem caching log for each query", 0) \ M(Bool, read_from_filesystem_cache_if_exists_otherwise_bypass_cache, false, "", 0) \ + M(Bool, skip_download_if_exceeds_query_cache, true, "Skip download from remote filesystem if exceeds query cache size", 0) \ + M(UInt64, max_query_cache_size, (128UL * 1024 * 1024 * 1024), "Max remote filesystem cache size that can be used by a single query", 0) \ \ M(Bool, use_structure_from_insertion_table_in_table_functions, false, "Use structure from insertion table instead of schema inference from data", 0) \ \ @@ -584,6 +604,13 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, use_local_cache_for_remote_storage, true, "Use local cache for remote storage like HDFS or S3, it's used for remote table engine only", 0) \ \ M(Bool, allow_unrestricted_reads_from_keeper, false, "Allow unrestricted (without condition on path) reads from system.zookeeper table, can be handy, but is not safe for zookeeper", 0) \ + M(Bool, allow_deprecated_database_ordinary, false, "Allow to create databases with deprecated Ordinary engine", 0) \ + M(Bool, allow_deprecated_syntax_for_merge_tree, false, "Allow to create *MergeTree tables with deprecated engine definition syntax", 0) \ + \ + M(String, compatibility, "", "Changes other settings according to provided ClickHouse version. If we know that we changed some behaviour in ClickHouse by changing some settings in some version, this compatibility setting will control these settings", 0) \ + \ + M(Map, additional_table_filters, "", "Additional filter expression which would be applied after reading from specified table. Syntax: {'table1': 'expression', 'database.table2': 'expression'}", 0) \ + M(String, additional_result_filter, "", "Additional filter expression which would be applied to query result", 0) \ \ /** Experimental functions */ \ M(Bool, allow_experimental_funnel_functions, false, "Enable experimental functions for funnel analysis.", 0) \ @@ -594,8 +621,11 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, count_distinct_optimization, false, "Rewrite count distinct to subquery of group by", 0) \ M(Bool, throw_on_unsupported_query_inside_transaction, true, "Throw exception if unsupported query is used inside transaction", 0) \ M(TransactionsWaitCSNMode, wait_changes_become_visible_after_commit_mode, TransactionsWaitCSNMode::WAIT_UNKNOWN, "Wait for committed changes to become actually visible in the latest snapshot", 0) \ + M(Bool, implicit_transaction, false, "If enabled and not already inside a transaction, wraps the query inside a full transaction (begin + commit or rollback)", 0) \ M(Bool, throw_if_no_data_to_insert, true, "Enables or disables empty INSERTs, enabled by default", 0) \ M(Bool, compatibility_ignore_auto_increment_in_create_table, false, "Ignore AUTO_INCREMENT keyword in column declaration if true, otherwise return error. It simplifies migration from MySQL", 0) \ + M(Bool, multiple_joins_try_to_keep_original_names, false, "Do not add aliases to top level expression list on multiple joins rewrite", 0) \ + M(Bool, optimize_distinct_in_order, true, "Enable DISTINCT optimization if some columns in DISTINCT form a prefix of sorting. For example, prefix of sorting key in merge tree or ORDER BY statement", 0) \ // End of COMMON_SETTINGS // Please add settings related to formats into the FORMAT_FACTORY_SETTINGS and move obsolete settings to OBSOLETE_SETTINGS. @@ -629,15 +659,16 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) MAKE_OBSOLETE(M, UInt64, background_schedule_pool_size, 128) \ MAKE_OBSOLETE(M, UInt64, background_message_broker_schedule_pool_size, 16) \ MAKE_OBSOLETE(M, UInt64, background_distributed_schedule_pool_size, 16) \ + MAKE_OBSOLETE(M, DefaultDatabaseEngine, default_database_engine, DefaultDatabaseEngine::Atomic) \ /** The section above is for obsolete settings. Do not add anything there. */ #define FORMAT_FACTORY_SETTINGS(M) \ M(Char, format_csv_delimiter, ',', "The character to be considered as a delimiter in CSV data. If setting with a string, a string has to have a length of 1.", 0) \ - M(Bool, format_csv_allow_single_quotes, true, "If it is set to true, allow strings in single quotes.", 0) \ + M(Bool, format_csv_allow_single_quotes, false, "If it is set to true, allow strings in single quotes.", 0) \ M(Bool, format_csv_allow_double_quotes, true, "If it is set to true, allow strings in double quotes.", 0) \ M(Bool, output_format_csv_crlf_end_of_line, false, "If it is set true, end of line in CSV format will be \\r\\n instead of \\n.", 0) \ - M(Bool, input_format_csv_enum_as_number, false, "Treat inserted enum values in CSV formats as enum indices \\N", 0) \ + M(Bool, input_format_csv_enum_as_number, false, "Treat inserted enum values in CSV formats as enum indices", 0) \ M(Bool, input_format_csv_arrays_as_nested_csv, false, R"(When reading Array from CSV, expect that its elements were serialized in nested CSV and then put into string. Example: "[""Hello"", ""world"", ""42"""" TV""]". Braces around array can be omitted.)", 0) \ M(Bool, input_format_skip_unknown_fields, true, "Skip columns with unknown names from input data (it works for JSONEachRow, -WithNames, -WithNamesAndTypes and TSKV formats).", 0) \ M(Bool, input_format_with_names_use_header, true, "For -WithNames input formats this controls whether format parser is to assume that column data appear in the input exactly as they are specified in the header.", 0) \ @@ -646,7 +677,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, input_format_defaults_for_omitted_fields, true, "For input data calculate default expressions for omitted fields (it works for JSONEachRow, -WithNames, -WithNamesAndTypes formats).", IMPORTANT) \ M(Bool, input_format_csv_empty_as_default, true, "Treat empty fields in CSV input as default values.", 0) \ M(Bool, input_format_tsv_empty_as_default, false, "Treat empty fields in TSV input as default values.", 0) \ - M(Bool, input_format_tsv_enum_as_number, false, "Treat inserted enum values in TSV formats as enum indices \\N", 0) \ + M(Bool, input_format_tsv_enum_as_number, false, "Treat inserted enum values in TSV formats as enum indices.", 0) \ M(Bool, input_format_null_as_default, true, "For text input formats initialize null fields with default values if data type of this field is not nullable", 0) \ M(Bool, input_format_arrow_import_nested, false, "Allow to insert array of structs into Nested table in Arrow input format.", 0) \ M(Bool, input_format_arrow_case_insensitive_column_matching, false, "Ignore case when matching Arrow columns with CH columns.", 0) \ @@ -667,11 +698,17 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(UInt64, input_format_max_rows_to_read_for_schema_inference, 25000, "The maximum rows of data to read for automatic schema inference", 0) \ M(Bool, input_format_csv_use_best_effort_in_schema_inference, true, "Use some tweaks and heuristics to infer schema in CSV format", 0) \ M(Bool, input_format_tsv_use_best_effort_in_schema_inference, true, "Use some tweaks and heuristics to infer schema in TSV format", 0) \ - M(Bool, input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference, false, "Allow to skip columns with unsupported types while schema inference for format Parquet", 0) \ - M(Bool, input_format_orc_skip_columns_with_unsupported_types_in_schema_inference, false, "Allow to skip columns with unsupported types while schema inference for format ORC", 0) \ - M(Bool, input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference, false, "Allow to skip columns with unsupported types while schema inference for format Arrow", 0) \ + M(Bool, input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference, false, "Skip columns with unsupported types while schema inference for format Parquet", 0) \ + M(Bool, input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference, false, "Skip fields with unsupported types while schema inference for format Protobuf", 0) \ + M(Bool, input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference, false, "Skip columns with unsupported types while schema inference for format CapnProto", 0) \ + M(Bool, input_format_orc_skip_columns_with_unsupported_types_in_schema_inference, false, "Skip columns with unsupported types while schema inference for format ORC", 0) \ + M(Bool, input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference, false, "Skip columns with unsupported types while schema inference for format Arrow", 0) \ M(String, column_names_for_schema_inference, "", "The list of column names to use in schema inference for formats without column names. The format: 'column1,column2,column3,...'", 0) \ M(Bool, input_format_json_read_bools_as_numbers, true, "Allow to parse bools as numbers in JSON input formats", 0) \ + M(Bool, input_format_json_try_infer_numbers_from_strings, true, "Try to infer numbers from string fields while schema inference", 0) \ + M(Bool, input_format_try_infer_integers, true, "Try to infer numbers from string fields while schema inference in text formats", 0) \ + M(Bool, input_format_try_infer_dates, true, "Try to infer dates from string fields while schema inference in text formats", 0) \ + M(Bool, input_format_try_infer_datetimes, true, "Try to infer datetimes from string fields while schema inference in text formats", 0) \ M(Bool, input_format_protobuf_flatten_google_wrappers, false, "Enable Google wrappers for regular non-nested columns, e.g. google.protobuf.StringValue 'str' for String column 'str'. For Nullable columns empty wrappers are recognized as defaults, and missing as nulls", 0) \ M(Bool, output_format_protobuf_nullables_with_google_wrappers, false, "When serializing Nullable columns with Google wrappers, serialize default values as empty wrappers. If turned off, default and null values are not serialized", 0) \ M(UInt64, input_format_csv_skip_first_lines, 0, "Skip specified number of lines at the beginning of data in CSV format", 0) \ @@ -689,13 +726,14 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, input_format_values_deduce_templates_of_expressions, true, "For Values format: if the field could not be parsed by streaming parser, run SQL parser, deduce template of the SQL expression, try to parse all rows using template and then interpret expression for all rows.", 0) \ M(Bool, input_format_values_accurate_types_of_literals, true, "For Values format: when parsing and interpreting expressions using template, check actual type of literal to avoid possible overflow and precision issues.", 0) \ M(Bool, input_format_avro_allow_missing_fields, false, "For Avro/AvroConfluent format: when field is not found in schema use default value instead of error", 0) \ + M(Bool, input_format_avro_null_as_default, false, "For Avro/AvroConfluent format: insert default in case of null and non Nullable column", 0) \ M(URI, format_avro_schema_registry_url, "", "For AvroConfluent format: Confluent Schema Registry URL.", 0) \ \ M(Bool, output_format_json_quote_64bit_integers, true, "Controls quoting of 64-bit integers in JSON output format.", 0) \ M(Bool, output_format_json_quote_denormals, false, "Enables '+nan', '-nan', '+inf', '-inf' outputs in JSON output format.", 0) \ \ M(Bool, output_format_json_escape_forward_slashes, true, "Controls escaping forward slashes for string outputs in JSON output format. This is intended for compatibility with JavaScript. Don't confuse with backslashes that are always escaped.", 0) \ - M(Bool, output_format_json_named_tuples_as_objects, false, "Serialize named tuple columns as JSON objects.", 0) \ + M(Bool, output_format_json_named_tuples_as_objects, true, "Serialize named tuple columns as JSON objects.", 0) \ M(Bool, output_format_json_array_of_rows, false, "Output a JSON array of all rows in JSONEachRow(Compact) format.", 0) \ \ M(UInt64, output_format_pretty_max_rows, 10000, "Rows limit for Pretty formats.", 0) \ @@ -732,14 +770,15 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(String, format_regexp, "", "Regular expression (for Regexp format)", 0) \ M(EscapingRule, format_regexp_escaping_rule, "Raw", "Field escaping rule (for Regexp format)", 0) \ - M(Bool, format_regexp_skip_unmatched, false, "Skip lines unmatched by regular expression (for Regexp format", 0) \ + M(Bool, format_regexp_skip_unmatched, false, "Skip lines unmatched by regular expression (for Regexp format)", 0) \ \ M(Bool, output_format_enable_streaming, false, "Enable streaming in output formats that support it.", 0) \ M(Bool, output_format_write_statistics, true, "Write statistics about read rows, bytes, time elapsed in suitable output formats.", 0) \ M(Bool, output_format_pretty_row_numbers, false, "Add row numbers before each row for pretty output format", 0) \ M(Bool, insert_distributed_one_random_shard, false, "If setting is enabled, inserting into distributed table will choose a random shard to write when there is no sharding key", 0) \ \ - M(UInt64, cross_to_inner_join_rewrite, 1, "Use inner join instead of comma/cross join if possible. Possible values: 0 - no rewrite, 1 - apply if possible, 2 - force rewrite all cross joins", 0) \ + M(Bool, exact_rows_before_limit, false, "When enabled, ClickHouse will provide exact value for rows_before_limit_at_least statistic, but with the cost that the data before limit will have to be read completely", 0) \ + M(UInt64, cross_to_inner_join_rewrite, 1, "Use inner join instead of comma/cross join if there're joining expressions in the WHERE section. Values: 0 - no rewrite, 1 - apply if possible for comma/cross, 2 - force rewrite all comma joins, cross - if possible", 0) \ \ M(Bool, output_format_arrow_low_cardinality_as_dictionary, false, "Enable output LowCardinality type as Dictionary Arrow type", 0) \ M(Bool, output_format_arrow_string_as_string, false, "Use Arrow String type instead of Binary for String columns", 0) \ @@ -750,6 +789,12 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(String, input_format_mysql_dump_table_name, "", "Name of the table in MySQL dump from which to read data", 0) \ M(Bool, input_format_mysql_dump_map_column_names, true, "Match columns from table in MySQL dump and columns from ClickHouse table by names", 0) \ + \ + M(UInt64, output_format_sql_insert_max_batch_size, DEFAULT_BLOCK_SIZE, "The maximum number of rows in one INSERT statement.", 0) \ + M(String, output_format_sql_insert_table_name, "table", "The name of table in the output INSERT query", 0) \ + M(Bool, output_format_sql_insert_include_column_names, true, "Include column names in INSERT query", 0) \ + M(Bool, output_format_sql_insert_use_replace, false, "Use REPLACE statement instead of INSERT", 0) \ + M(Bool, output_format_sql_insert_quote_names, true, "Quote column names with '`' characters", 0) \ // End of FORMAT_FACTORY_SETTINGS // Please add settings non-related to formats into the COMMON_SETTINGS above. @@ -800,6 +845,13 @@ struct Settings : public BaseSettings, public IHints<2, Settings void addProgramOption(boost::program_options::options_description & options, const SettingFieldRef & field); void addProgramOptionAsMultitoken(boost::program_options::options_description & options, const SettingFieldRef & field); + + void set(std::string_view name, const Field & value) override; + +private: + void applyCompatibilitySetting(); + + std::unordered_set settings_changed_by_compatibility_setting; }; /* diff --git a/src/Core/SettingsChangesHistory.h b/src/Core/SettingsChangesHistory.h new file mode 100644 index 00000000000..8d0e69f4b29 --- /dev/null +++ b/src/Core/SettingsChangesHistory.h @@ -0,0 +1,115 @@ +#pragma once + +#include +#include +#include +#include +#include + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int BAD_ARGUMENTS; +} + +class ClickHouseVersion +{ +public: + ClickHouseVersion(const String & version) + { + Strings split; + boost::split(split, version, [](char c){ return c == '.'; }); + components.reserve(split.size()); + if (split.empty()) + throw Exception{ErrorCodes::BAD_ARGUMENTS, "Cannot parse ClickHouse version here: {}", version}; + + for (const auto & split_element : split) + { + size_t component; + if (!tryParse(component, split_element)) + throw Exception{ErrorCodes::BAD_ARGUMENTS, "Cannot parse ClickHouse version here: {}", version}; + components.push_back(component); + } + } + + ClickHouseVersion(const char * version) : ClickHouseVersion(String(version)) {} + + String toString() const + { + String version = std::to_string(components[0]); + for (size_t i = 1; i < components.size(); ++i) + version += "." + std::to_string(components[i]); + + return version; + } + + bool operator<(const ClickHouseVersion & other) const + { + return components < other.components; + } + + bool operator>=(const ClickHouseVersion & other) const + { + return components >= other.components; + } + +private: + std::vector components; +}; + +namespace SettingsChangesHistory +{ + struct SettingChange + { + String name; + Field previous_value; + Field new_value; + String reason; + }; + + using SettingsChanges = std::vector; +} + +/// History of settings changes that controls some backward incompatible changes +/// across all ClickHouse versions. It maps ClickHouse version to settings changes that were done +/// in this version. Settings changes is a vector of structs {setting_name, previous_value, new_value} +/// It's used to implement `compatibility` setting (see https://github.com/ClickHouse/ClickHouse/issues/35972) +static std::map settings_changes_history = +{ + {"22.7", {{"cross_to_inner_join_rewrite", 1, 2, "Force rewrite comma join to inner"}, + {"enable_positional_arguments", false, true, "Enable positional arguments feature by default"}, + {"format_csv_allow_single_quotes", true, false, "Most tools don't treat single quote in CSV specially, don't do it by default too"}}}, + {"22.6", {{"output_format_json_named_tuples_as_objects", false, true, "Allow to serialize named tuples as JSON objects in JSON formats by default"}, + {"input_format_skip_unknown_fields", false, true, "Optimize reading subset of columns for some input formats"}}}, + {"22.5", {{"memory_overcommit_ratio_denominator", 0, 1073741824, "Enable memory overcommit feature by default"}, + {"memory_overcommit_ratio_denominator_for_user", 0, 1073741824, "Enable memory overcommit feature by default"}}}, + {"22.4", {{"allow_settings_after_format_in_insert", true, false, "Do not allow SETTINGS after FORMAT for INSERT queries because ClickHouse interpret SETTINGS as some values, which is misleading"}}}, + {"22.3", {{"cast_ipv4_ipv6_default_on_conversion_error", true, false, "Make functions cast(value, 'IPv4') and cast(value, 'IPv6') behave same as toIPv4 and toIPv6 functions"}}}, + {"21.12", {{"stream_like_engine_allow_direct_select", true, false, "Do not allow direct select for Kafka/RabbitMQ/FileLog by default"}}}, + {"21.9", {{"output_format_decimal_trailing_zeros", true, false, "Do not output trailing zeros in text representation of Decimal types by default for better looking output"}, + {"use_hedged_requests", false, true, "Enable Hedged Requests feature bu default"}}}, + {"21.7", {{"legacy_column_name_of_tuple_literal", true, false, "Add this setting only for compatibility reasons. It makes sense to set to 'true', while doing rolling update of cluster from version lower than 21.7 to higher"}}}, + {"21.5", {{"async_socket_for_remote", false, true, "Fix all problems and turn on asynchronous reads from socket for remote queries by default again"}}}, + {"21.3", {{"async_socket_for_remote", true, false, "Turn off asynchronous reads from socket for remote queries because of some problems"}, + {"optimize_normalize_count_variants", false, true, "Rewrite aggregate functions that semantically equals to count() as count() by default"}, + {"normalize_function_names", false, true, "Normalize function names to their canonical names, this was needed for projection query routing"}}}, + {"21.2", {{"enable_global_with_statement", false, true, "Propagate WITH statements to UNION queries and all subqueries by default"}}}, + {"21.1", {{"insert_quorum_parallel", false, true, "Use parallel quorum inserts by default. It is significantly more convenient to use than sequential quorum inserts"}, + {"input_format_null_as_default", false, true, "Allow to insert NULL as default for input formats by default"}, + {"optimize_on_insert", false, true, "Enable data optimization on INSERT by default for better user experience"}, + {"use_compact_format_in_distributed_parts_names", false, true, "Use compact format for async INSERT into Distributed tables by default"}}}, + {"20.10", {{"format_regexp_escaping_rule", "Escaped", "Raw", "Use Raw as default escaping rule for Regexp format to male the behaviour more like to what users expect"}}}, + {"20.7", {{"show_table_uuid_in_table_create_query_if_not_nil", true, false, "Stop showing UID of the table in its CREATE query for Engine=Atomic"}}}, + {"20.5", {{"input_format_with_names_use_header", false, true, "Enable using header with names for formats with WithNames/WithNamesAndTypes suffixes"}, + {"allow_suspicious_codecs", true, false, "Don't allow to specify meaningless compression codecs"}}}, + {"20.4", {{"validate_polygons", false, true, "Throw exception if polygon is invalid in function pointInPolygon by default instead of returning possibly wrong results"}}}, + {"19.18", {{"enable_scalar_subquery_optimization", false, true, "Prevent scalar subqueries from (de)serializing large scalar values and possibly avoid running the same subquery more than once"}}}, + {"19.14", {{"any_join_distinct_right_table_keys", true, false, "Disable ANY RIGHT and ANY FULL JOINs by default to avoid inconsistency"}}}, + {"19.12", {{"input_format_defaults_for_omitted_fields", false, true, "Enable calculation of complex default expressions for omitted fields for some input formats, because it should be the expected behaviour"}}}, + {"19.5", {{"max_partitions_per_insert_block", 0, 100, "Add a limit for the number of partitions in one block"}}}, + {"18.12.17", {{"enable_optimize_predicate_expression", 0, 1, "Optimize predicates to subqueries by default"}}}, +}; + +} diff --git a/src/Core/SettingsEnums.cpp b/src/Core/SettingsEnums.cpp index bff1971bad9..616026520db 100644 --- a/src/Core/SettingsEnums.cpp +++ b/src/Core/SettingsEnums.cpp @@ -26,16 +26,19 @@ IMPLEMENT_SETTING_ENUM(LoadBalancing, ErrorCodes::UNKNOWN_LOAD_BALANCING, IMPLEMENT_SETTING_ENUM(JoinStrictness, ErrorCodes::UNKNOWN_JOIN, {{"", JoinStrictness::Unspecified}, - {"ALL", JoinStrictness::ALL}, - {"ANY", JoinStrictness::ANY}}) + {"ALL", JoinStrictness::All}, + {"ANY", JoinStrictness::Any}}) -IMPLEMENT_SETTING_ENUM(JoinAlgorithm, ErrorCodes::UNKNOWN_JOIN, - {{"auto", JoinAlgorithm::AUTO}, +IMPLEMENT_SETTING_MULTI_ENUM(JoinAlgorithm, ErrorCodes::UNKNOWN_JOIN, + {{"default", JoinAlgorithm::DEFAULT}, + {"auto", JoinAlgorithm::AUTO}, {"hash", JoinAlgorithm::HASH}, {"partial_merge", JoinAlgorithm::PARTIAL_MERGE}, {"prefer_partial_merge", JoinAlgorithm::PREFER_PARTIAL_MERGE}, - {"parallel_hash", JoinAlgorithm::PARALLEL_HASH}}) + {"parallel_hash", JoinAlgorithm::PARALLEL_HASH}, + {"direct", JoinAlgorithm::DIRECT}, + {"full_sorting_merge", JoinAlgorithm::FULL_SORTING_MERGE}}) IMPLEMENT_SETTING_ENUM(TotalsMode, ErrorCodes::UNKNOWN_TOTALS_MODE, diff --git a/src/Core/SettingsEnums.h b/src/Core/SettingsEnums.h index 83a65f2a320..308d53ff690 100644 --- a/src/Core/SettingsEnums.h +++ b/src/Core/SettingsEnums.h @@ -1,12 +1,14 @@ #pragma once #include +#include #include #include namespace DB { + enum class LoadBalancing { /// among replicas with a minimum number of errors selected randomly @@ -26,26 +28,9 @@ enum class LoadBalancing DECLARE_SETTING_ENUM(LoadBalancing) - -enum class JoinStrictness -{ - Unspecified = 0, /// Query JOIN without strictness will throw Exception. - ALL, /// Query JOIN without strictness -> ALL JOIN ... - ANY, /// Query JOIN without strictness -> ANY JOIN ... -}; - DECLARE_SETTING_ENUM(JoinStrictness) -enum class JoinAlgorithm -{ - AUTO = 0, - HASH, - PARTIAL_MERGE, - PREFER_PARTIAL_MERGE, - PARALLEL_HASH, -}; - -DECLARE_SETTING_ENUM(JoinAlgorithm) +DECLARE_SETTING_MULTI_ENUM(JoinAlgorithm) /// Which rows should be included in TOTALS. @@ -197,4 +182,5 @@ DECLARE_SETTING_ENUM_WITH_RENAME(EnumComparingMode, FormatSettings::EnumComparin DECLARE_SETTING_ENUM_WITH_RENAME(EscapingRule, FormatSettings::EscapingRule) DECLARE_SETTING_ENUM_WITH_RENAME(MsgPackUUIDRepresentation, FormatSettings::MsgPackUUIDRepresentation) + } diff --git a/src/Core/SettingsFields.cpp b/src/Core/SettingsFields.cpp index d35865d35c6..5b1b6b10cc2 100644 --- a/src/Core/SettingsFields.cpp +++ b/src/Core/SettingsFields.cpp @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #include #include @@ -51,6 +53,37 @@ namespace else return applyVisitor(FieldVisitorConvertToNumber(), f); } + +#ifndef KEEPER_STANDALONE_BUILD + Map stringToMap(const String & str) + { + /// Allow empty string as an empty map + if (str.empty()) + return {}; + + auto type_string = std::make_shared(); + DataTypeMap type_map(type_string, type_string); + auto serialization = type_map.getSerialization(ISerialization::Kind::DEFAULT); + auto column = type_map.createColumn(); + + ReadBufferFromString buf(str); + serialization->deserializeTextEscaped(*column, buf, {}); + return (*column)[0].safeGet(); + } + + Map fieldToMap(const Field & f) + { + if (f.getType() == Field::Types::String) + { + /// Allow to parse Map from string field. For the convenience. + const auto & str = f.get(); + return stringToMap(str); + } + + return f.safeGet(); + } +#endif + } template @@ -120,6 +153,9 @@ template struct SettingFieldNumber; template struct SettingFieldNumber; template struct SettingFieldNumber; +template struct SettingAutoWrapper>; +template struct SettingAutoWrapper>; +template struct SettingAutoWrapper>; namespace { @@ -192,7 +228,8 @@ namespace } template <> -SettingFieldSeconds::SettingFieldTimespan(const Field & f) : SettingFieldTimespan(float64AsSecondsToTimespan(fieldToNumber(f))) +SettingFieldSeconds::SettingFieldTimespan(const Field & f) + : SettingFieldTimespan(Poco::Timespan{float64AsSecondsToTimespan(fieldToNumber(f))}) { } @@ -290,6 +327,48 @@ void SettingFieldString::readBinary(ReadBuffer & in) *this = std::move(str); } +#ifndef KEEPER_STANDALONE_BUILD + +SettingFieldMap::SettingFieldMap(const Field & f) : value(fieldToMap(f)) {} + +String SettingFieldMap::toString() const +{ + auto type_string = std::make_shared(); + DataTypeMap type_map(type_string, type_string); + auto serialization = type_map.getSerialization(ISerialization::Kind::DEFAULT); + auto column = type_map.createColumn(); + column->insert(value); + + WriteBufferFromOwnString out; + serialization->serializeTextEscaped(*column, 0, out, {}); + return out.str(); +} + + +SettingFieldMap & SettingFieldMap::operator =(const Field & f) +{ + *this = fieldToMap(f); + return *this; +} + +void SettingFieldMap::parseFromString(const String & str) +{ + *this = stringToMap(str); +} + +void SettingFieldMap::writeBinary(WriteBuffer & out) const +{ + DB::writeBinary(value, out); +} + +void SettingFieldMap::readBinary(ReadBuffer & in) +{ + Map map; + DB::readBinary(map, in); + *this = map; +} + +#endif namespace { @@ -349,7 +428,7 @@ void SettingFieldURI::readBinary(ReadBuffer & in) } -void SettingFieldEnumHelpers::writeBinary(const std::string_view & str, WriteBuffer & out) +void SettingFieldEnumHelpers::writeBinary(std::string_view str, WriteBuffer & out) { writeStringBinary(str, out); } diff --git a/src/Core/SettingsFields.h b/src/Core/SettingsFields.h index dcc99f4a2c0..f01ac37d3cc 100644 --- a/src/Core/SettingsFields.h +++ b/src/Core/SettingsFields.h @@ -58,11 +58,82 @@ using SettingFieldInt64 = SettingFieldNumber; using SettingFieldFloat = SettingFieldNumber; using SettingFieldBool = SettingFieldNumber; - -/** Unlike SettingFieldUInt64, supports the value of 'auto' - the number of processor cores without taking into account SMT. - * A value of 0 is also treated as auto. - * When serializing, `auto` is written in the same way as 0. +/** Wraps any SettingField to support special value 'auto' that can be checked with `is_auto` flag. + * Note about serialization: + * The new versions with `SettingsWriteFormat::STRINGS_WITH_FLAGS` serialize values as a string. + * In legacy SettingsWriteFormat mode, functions `read/writeBinary` would serialize values as a binary, and 'is_auto' would be ignored. + * It's possible to upgrade settings from regular type to wrapped ones and keep compatibility with old versions, + * but when serializing 'auto' old version will see binary representation of the default value. */ +template +struct SettingAutoWrapper +{ + constexpr static auto keyword = "auto"; + static bool isAuto(const Field & f) { return f.getType() == Field::Types::String && f.safeGet() == keyword; } + static bool isAuto(const String & str) { return str == keyword; } + + using Type = typename Base::Type; + + Base base; + bool is_auto = false; + bool changed = false; + + explicit SettingAutoWrapper() : is_auto(true) {} + explicit SettingAutoWrapper(Type val) : is_auto(false) { base = Base(val); } + + explicit SettingAutoWrapper(const Field & f) + : is_auto(isAuto(f)) + { + if (!is_auto) + base = Base(f); + } + + SettingAutoWrapper & operator=(const Field & f) + { + changed = true; + if (is_auto = isAuto(f); !is_auto) + base = f; + return *this; + } + + explicit operator Field() const { return is_auto ? Field(keyword) : Field(base); } + + String toString() const { return is_auto ? keyword : base.toString(); } + + void parseFromString(const String & str) + { + changed = true; + if (is_auto = isAuto(str); !is_auto) + base.parseFromString(str); + } + + void writeBinary(WriteBuffer & out) const + { + if (is_auto) + Base().writeBinary(out); /// serialize default value + else + base.writeBinary(out); + } + + /* + * That it is fine to reset `is_auto` here and to use default value in case `is_auto` + * because settings will be serialized only if changed. + * If they were changed they were requested to use explicit value instead of `auto`. + * And so interactions between client-server, and server-server (distributed queries), should be OK. + */ + void readBinary(ReadBuffer & in) { changed = true; is_auto = false; base.readBinary(in); } + + Type valueOr(Type default_value) const { return is_auto ? default_value : base.value; } +}; + +using SettingFieldUInt64Auto = SettingAutoWrapper; +using SettingFieldInt64Auto = SettingAutoWrapper; +using SettingFieldFloatAuto = SettingAutoWrapper; + +/* Similar to SettingFieldUInt64Auto with small differences to behave like regular UInt64, supported to compatibility. + * When setting to 'auto' it becomes equal to the number of processor cores without taking into account SMT. + * A value of 0 is also treated as 'auto', so 'auto' is parsed and serialized in the same way as 0. + */ struct SettingFieldMaxThreads { bool is_auto; @@ -146,13 +217,13 @@ struct SettingFieldString String value; bool changed = false; - explicit SettingFieldString(const std::string_view & str = {}) : value(str) {} + explicit SettingFieldString(std::string_view str = {}) : value(str) {} explicit SettingFieldString(const String & str) : SettingFieldString(std::string_view{str}) {} explicit SettingFieldString(String && str) : value(std::move(str)) {} explicit SettingFieldString(const char * str) : SettingFieldString(std::string_view{str}) {} explicit SettingFieldString(const Field & f) : SettingFieldString(f.safeGet()) {} - SettingFieldString & operator =(const std::string_view & str) { value = str; changed = true; return *this; } + SettingFieldString & operator =(std::string_view str) { value = str; changed = true; return *this; } SettingFieldString & operator =(const String & str) { *this = std::string_view{str}; return *this; } SettingFieldString & operator =(String && str) { value = std::move(str); changed = true; return *this; } SettingFieldString & operator =(const char * str) { *this = std::string_view{str}; return *this; } @@ -168,6 +239,32 @@ struct SettingFieldString void readBinary(ReadBuffer & in); }; +#ifndef KEEPER_STANDALONE_BUILD + +struct SettingFieldMap +{ +public: + Map value; + bool changed = false; + + explicit SettingFieldMap(const Map & map = {}) : value(map) {} + explicit SettingFieldMap(Map && map) : value(std::move(map)) {} + explicit SettingFieldMap(const Field & f); + + SettingFieldMap & operator =(const Map & map) { value = map; changed = true; return *this; } + SettingFieldMap & operator =(const Field & f); + + operator const Map &() const { return value; } /// NOLINT + explicit operator Field() const { return value; } + + String toString() const; + void parseFromString(const String & str); + + void writeBinary(WriteBuffer & out) const; + void readBinary(ReadBuffer & in); +}; + +#endif struct SettingFieldChar { @@ -256,7 +353,7 @@ struct SettingFieldEnum struct SettingFieldEnumHelpers { - static void writeBinary(const std::string_view & str, WriteBuffer & out); + static void writeBinary(std::string_view str, WriteBuffer & out); static String readBinary(ReadBuffer & in); }; @@ -286,7 +383,7 @@ void SettingFieldEnum::readBinary(ReadBuffer & in) { \ using EnumType = ENUM_TYPE; \ static const String & toString(EnumType value); \ - static EnumType fromString(const std::string_view & str); \ + static EnumType fromString(std::string_view str); \ }; \ \ using SettingField##NEW_NAME = SettingFieldEnum; @@ -310,7 +407,7 @@ void SettingFieldEnum::readBinary(ReadBuffer & in) ERROR_CODE_FOR_UNEXPECTED_NAME); \ } \ \ - typename SettingField##NEW_NAME::EnumType SettingField##NEW_NAME##Traits::fromString(const std::string_view & str) \ + typename SettingField##NEW_NAME::EnumType SettingField##NEW_NAME##Traits::fromString(std::string_view str) \ { \ static const std::unordered_map map = [] { \ std::unordered_map res; \ @@ -430,7 +527,7 @@ void SettingFieldMultiEnum::readBinary(ReadBuffer & in) using EnumType = ENUM_TYPE; \ static size_t getEnumSize(); \ static const String & toString(EnumType value); \ - static EnumType fromString(const std::string_view & str); \ + static EnumType fromString(std::string_view str); \ }; \ \ using SettingField##NEW_NAME = SettingFieldMultiEnum; diff --git a/src/Core/SortCursor.h b/src/Core/SortCursor.h index ca6667e9898..d3c9a99b8d8 100644 --- a/src/Core/SortCursor.h +++ b/src/Core/SortCursor.h @@ -6,11 +6,24 @@ #include #include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include +#include #include "config_core.h" @@ -127,8 +140,14 @@ struct SortCursorImpl bool isFirst() const { return pos == 0; } bool isLast() const { return pos + 1 >= rows; } + bool isLast(size_t size) const { return pos + size >= rows; } bool isValid() const { return pos < rows; } + void next() { ++pos; } + void next(size_t size) { pos += size; } + + size_t getSize() const { return rows; } + size_t rowsLeft() const { return rows - pos; } /// Prevent using pos instead of getRow() private: @@ -155,6 +174,11 @@ struct SortCursorHelper return derived().greaterAt(rhs.derived(), impl->getRow(), rhs.impl->getRow()); } + bool ALWAYS_INLINE greaterWithOffset(const SortCursorHelper & rhs, size_t lhs_offset, size_t rhs_offset) const + { + return derived().greaterAt(rhs.derived(), impl->getRow() + lhs_offset, rhs.impl->getRow() + rhs_offset); + } + /// Inverted so that the priority queue elements are removed in ascending order. bool ALWAYS_INLINE operator< (const SortCursorHelper & rhs) const { @@ -250,6 +274,36 @@ struct SimpleSortCursor : SortCursorHelper } }; +template +struct SpecializedSingleColumnSortCursor : SortCursorHelper> +{ + using SortCursorHelper::SortCursorHelper; + + bool ALWAYS_INLINE greaterAt(const SortCursorHelper & rhs, size_t lhs_pos, size_t rhs_pos) const + { + auto & this_impl = this->impl; + + auto & lhs_columns = this_impl->sort_columns; + auto & rhs_columns = rhs.impl->sort_columns; + + assert(lhs_columns.size() == 1); + assert(rhs_columns.size() == 1); + + const auto & lhs_column = assert_cast(*lhs_columns[0]); + const auto & rhs_column = assert_cast(*rhs_columns[0]); + + const auto & desc = this->impl->desc[0]; + + int res = desc.direction * lhs_column.compareAt(lhs_pos, rhs_pos, rhs_column, desc.nulls_direction); + + if (res > 0) + return true; + if (res < 0) + return false; + + return this_impl->order > rhs.impl->order; + } +}; /// Separate comparator for locale-sensitive string comparisons struct SortCursorWithCollation : SortCursorHelper @@ -279,66 +333,126 @@ struct SortCursorWithCollation : SortCursorHelper } }; +enum class SortingQueueStrategy +{ + Default, + Batch +}; -/** Allows to fetch data from multiple sort cursors in sorted order (merging sorted data streams). - * TODO: Replace with "Loser Tree", see https://en.wikipedia.org/wiki/K-way_merge_algorithm - */ -template -class SortingHeap +/// Allows to fetch data from multiple sort cursors in sorted order (merging sorted data streams). +template +class SortingQueueImpl { public: - SortingHeap() = default; + SortingQueueImpl() = default; template - explicit SortingHeap(Cursors & cursors) + explicit SortingQueueImpl(Cursors & cursors) { size_t size = cursors.size(); queue.reserve(size); + for (size_t i = 0; i < size; ++i) - if (!cursors[i].empty()) - queue.emplace_back(&cursors[i]); + { + if (cursors[i].empty()) + continue; + + queue.emplace_back(&cursors[i]); + } + std::make_heap(queue.begin(), queue.end()); + + if constexpr (strategy == SortingQueueStrategy::Batch) + { + if (!queue.empty()) + updateBatchSize(); + } } bool isValid() const { return !queue.empty(); } - Cursor & current() { return queue.front(); } + Cursor & current() requires (strategy == SortingQueueStrategy::Default) + { + return queue.front(); + } + + std::pair current() requires (strategy == SortingQueueStrategy::Batch) + { + return {&queue.front(), batch_size}; + } size_t size() { return queue.size(); } Cursor & nextChild() { return queue[nextChildIndex()]; } - void ALWAYS_INLINE next() + void ALWAYS_INLINE next() requires (strategy == SortingQueueStrategy::Default) { assert(isValid()); - if (!current()->isLast()) + if (!queue.front()->isLast()) { - current()->next(); - updateTop(); + queue.front()->next(); + updateTop(true /*check_in_order*/); } else + { removeTop(); + } + } + + void ALWAYS_INLINE next(size_t batch_size_value) requires (strategy == SortingQueueStrategy::Batch) + { + assert(isValid()); + assert(batch_size_value <= batch_size); + assert(batch_size_value > 0); + + batch_size -= batch_size_value; + if (batch_size > 0) + { + queue.front()->next(batch_size_value); + return; + } + + if (!queue.front()->isLast(batch_size_value)) + { + queue.front()->next(batch_size_value); + updateTop(false /*check_in_order*/); + } + else + { + removeTop(); + } } void replaceTop(Cursor new_top) { - current() = new_top; - updateTop(); + queue.front() = new_top; + updateTop(true /*check_in_order*/); } void removeTop() { std::pop_heap(queue.begin(), queue.end()); queue.pop_back(); - next_idx = 0; + next_child_idx = 0; + + if constexpr (strategy == SortingQueueStrategy::Batch) + { + if (queue.empty()) + batch_size = 0; + else + updateBatchSize(); + } } void push(SortCursorImpl & cursor) { queue.emplace_back(&cursor); std::push_heap(queue.begin(), queue.end()); - next_idx = 0; + next_child_idx = 0; + + if constexpr (strategy == SortingQueueStrategy::Batch) + updateBatchSize(); } private: @@ -346,26 +460,27 @@ private: Container queue; /// Cache comparison between first and second child if the order in queue has not been changed. - size_t next_idx = 0; + size_t next_child_idx = 0; + size_t batch_size = 0; size_t ALWAYS_INLINE nextChildIndex() { - if (next_idx == 0) + if (next_child_idx == 0) { - next_idx = 1; + next_child_idx = 1; - if (queue.size() > 2 && queue[1] < queue[2]) - ++next_idx; + if (queue.size() > 2 && queue[1].greater(queue[2])) + ++next_child_idx; } - return next_idx; + return next_child_idx; } /// This is adapted version of the function __sift_down from libc++. /// Why cannot simply use std::priority_queue? /// - because it doesn't support updating the top element and requires pop and push instead. /// Also look at "Boost.Heap" library. - void ALWAYS_INLINE updateTop() + void ALWAYS_INLINE updateTop(bool check_in_order) { size_t size = queue.size(); if (size < 2) @@ -377,10 +492,14 @@ private: auto child_it = begin + child_idx; /// Check if we are in order. - if (*child_it < *begin) + if (check_in_order && (*child_it).greater(*begin)) + { + if constexpr (strategy == SortingQueueStrategy::Batch) + updateBatchSize(); return; + } - next_idx = 0; + next_child_idx = 0; auto curr_it = begin; auto top(std::move(*begin)); @@ -398,7 +517,7 @@ private: child_it = begin + child_idx; - if ((child_idx + 1) < size && *child_it < *(child_it + 1)) + if ((child_idx + 1) < size && (*child_it).greater(*(child_it + 1))) { /// Right child exists and is greater than left child. ++child_it; @@ -406,9 +525,190 @@ private: } /// Check if we are in order. - } while (!(*child_it < top)); + } while (!((*child_it).greater(top))); *curr_it = std::move(top); + + if constexpr (strategy == SortingQueueStrategy::Batch) + updateBatchSize(); } + + /// Update batch size of elements that client can extract from current cursor + void updateBatchSize() + { + assert(!queue.empty()); + + auto & begin_cursor = *queue.begin(); + size_t min_cursor_size = begin_cursor->getSize(); + size_t min_cursor_pos = begin_cursor->getPosRef(); + + if (queue.size() == 1) + { + batch_size = min_cursor_size - min_cursor_pos; + return; + } + + batch_size = 1; + size_t child_idx = nextChildIndex(); + auto & next_child_cursor = *(queue.begin() + child_idx); + + if (min_cursor_pos + batch_size < min_cursor_size && next_child_cursor.greaterWithOffset(begin_cursor, 0, batch_size)) + ++batch_size; + else + return; + + if (unlikely(begin_cursor.totallyLessOrEquals(next_child_cursor))) + { + batch_size = min_cursor_size - min_cursor_pos; + return; + } + + while (min_cursor_pos + batch_size < min_cursor_size && next_child_cursor.greaterWithOffset(begin_cursor, 0, batch_size)) + ++batch_size; + } +}; + +template +using SortingQueue = SortingQueueImpl; + +template +using SortingQueueBatch = SortingQueueImpl; + +/** SortQueueVariants allow to specialize sorting queue for concrete types and sort description. + * To access queue variant callOnVariant method must be used. + * To access batch queue variant callOnBatchVariant method must be used. + */ +class SortQueueVariants +{ +public: + SortQueueVariants() = default; + + SortQueueVariants(const DataTypes & sort_description_types, const SortDescription & sort_description) + { + bool has_collation = false; + for (const auto & column_description : sort_description) + { + if (column_description.collator) + { + has_collation = true; + break; + } + } + + if (has_collation) + { + initializeQueues(); + return; + } + else if (sort_description.size() == 1) + { + TypeIndex column_type_index = sort_description_types[0]->getTypeId(); + + bool result = callOnIndexAndDataType( + column_type_index, + [&](const auto & types) + { + using Types = std::decay_t; + using ColumnDataType = typename Types::LeftType; + using ColumnType = typename ColumnDataType::ColumnType; + + initializeQueues>(); + return true; + }); + + if (!result) + initializeQueues(); + } + else + { + initializeQueues(); + } + } + + SortQueueVariants(const Block & header, const SortDescription & sort_description) + : SortQueueVariants(extractSortDescriptionTypesFromHeader(header, sort_description), sort_description) + { + } + + template + decltype(auto) callOnVariant(Func && func) + { + return std::visit(func, default_queue_variants); + } + + template + decltype(auto) callOnBatchVariant(Func && func) + { + return std::visit(func, batch_queue_variants); + } + + bool variantSupportJITCompilation() const + { + return std::holds_alternative>(default_queue_variants) + || std::holds_alternative>(default_queue_variants) + || std::holds_alternative>(default_queue_variants); + } + +private: + template + void initializeQueues() + { + default_queue_variants = SortingQueue(); + batch_queue_variants = SortingQueueBatch(); + } + + static DataTypes extractSortDescriptionTypesFromHeader(const Block & header, const SortDescription & sort_description) + { + size_t sort_description_size = sort_description.size(); + DataTypes data_types(sort_description_size); + + for (size_t i = 0; i < sort_description_size; ++i) + { + const auto & column_sort_description = sort_description[i]; + data_types[i] = header.getByName(column_sort_description.column_name).type; + } + + return data_types; + } + + template + using QueueVariants = std::variant< + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + + SortingQueueImpl>, strategy>, + + SortingQueueImpl, strategy>, + SortingQueueImpl, strategy>, + + SortingQueueImpl, + SortingQueueImpl, + SortingQueueImpl>; + + using DefaultQueueVariants = QueueVariants; + using BatchQueueVariants = QueueVariants; + + DefaultQueueVariants default_queue_variants; + BatchQueueVariants batch_queue_variants; }; template diff --git a/src/Core/SortDescription.cpp b/src/Core/SortDescription.cpp index e7fa6816807..ff81f69383c 100644 --- a/src/Core/SortDescription.cpp +++ b/src/Core/SortDescription.cpp @@ -82,7 +82,7 @@ static Poco::Logger * getLogger() return &logger; } -void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attemps) +void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attempts) { static std::unordered_map counter; static std::mutex mutex; @@ -109,7 +109,7 @@ void compileSortDescriptionIfNeeded(SortDescription & description, const DataTyp UInt64 & current_counter = counter[sort_description_hash_key]; if (current_counter < description.min_count_to_compile_sort_description) { - current_counter += static_cast(increase_compile_attemps); + current_counter += static_cast(increase_compile_attempts); return; } } @@ -142,11 +142,11 @@ void compileSortDescriptionIfNeeded(SortDescription & description, const DataTyp #else -void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attemps) +void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attempts) { (void)(description); (void)(sort_description_types); - (void)(increase_compile_attemps); + (void)(increase_compile_attempts); } #endif diff --git a/src/Core/SortDescription.h b/src/Core/SortDescription.h index 3d4e3b665ee..6c19ce36115 100644 --- a/src/Core/SortDescription.h +++ b/src/Core/SortDescription.h @@ -28,7 +28,9 @@ struct FillColumnDescription /// All missed values in range [FROM, TO) will be filled /// Range [FROM, TO) respects sorting direction Field fill_from; /// Fill value >= FILL_FROM + DataTypePtr fill_from_type; Field fill_to; /// Fill value + STEP < FILL_TO + DataTypePtr fill_to_type; Field fill_step; /// Default = +1 or -1 according to direction std::optional step_kind; @@ -107,7 +109,7 @@ public: /** Compile sort description for header_types. * Description is compiled only if compilation attempts to compile identical description is more than min_count_to_compile_sort_description. */ -void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attemps); +void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attempts); /// Outputs user-readable description into `out`. void dumpSortDescription(const SortDescription & description, WriteBuffer & out); diff --git a/src/Core/config_core.h.in b/src/Core/config_core.h.in index 3fc2503aaa5..46c77593d4e 100644 --- a/src/Core/config_core.h.in +++ b/src/Core/config_core.h.in @@ -6,6 +6,7 @@ #cmakedefine01 USE_MYSQL #cmakedefine01 USE_RDKAFKA #cmakedefine01 USE_AMQPCPP +#cmakedefine01 USE_NATSIO #cmakedefine01 USE_EMBEDDED_COMPILER #cmakedefine01 USE_SSL #cmakedefine01 USE_LDAP diff --git a/src/Core/examples/CMakeLists.txt b/src/Core/examples/CMakeLists.txt index cd74ce68136..868173e0e31 100644 --- a/src/Core/examples/CMakeLists.txt +++ b/src/Core/examples/CMakeLists.txt @@ -1,14 +1,14 @@ -add_executable (string_pool string_pool.cpp) +clickhouse_add_executable (string_pool string_pool.cpp) target_link_libraries (string_pool PRIVATE clickhouse_common_io ch_contrib::sparsehash) -add_executable (field field.cpp) +clickhouse_add_executable (field field.cpp) target_link_libraries (field PRIVATE dbms) -add_executable (string_ref_hash string_ref_hash.cpp) +clickhouse_add_executable (string_ref_hash string_ref_hash.cpp) target_link_libraries (string_ref_hash PRIVATE clickhouse_common_io) -add_executable (mysql_protocol mysql_protocol.cpp) +clickhouse_add_executable (mysql_protocol mysql_protocol.cpp) target_link_libraries (mysql_protocol PRIVATE dbms) -add_executable (coro coro.cpp) +clickhouse_add_executable (coro coro.cpp) target_link_libraries (coro PRIVATE clickhouse_common_io) diff --git a/src/Core/examples/coro.cpp b/src/Core/examples/coro.cpp index c87e78fba9d..370820a228d 100644 --- a/src/Core/examples/coro.cpp +++ b/src/Core/examples/coro.cpp @@ -12,11 +12,16 @@ #if defined(__clang__) #include -namespace std +namespace std // NOLINT(cert-dcl58-cpp) { using namespace experimental::coroutines_v1; } +#if __has_warning("-Wdeprecated-experimental-coroutine") +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-experimental-coroutine" +#endif + #else #include #pragma GCC diagnostic push @@ -92,14 +97,14 @@ struct Task static bool resumeImpl(Task *r) { if (r->value) - return false; + return false; auto & next = r->my.promise().next; if (next) { if (resumeImpl(next.promise().r)) - return true; + return true; next = {}; } @@ -178,7 +183,7 @@ int main() auto t = foo("foo"); std::cout << ".. started" << std::endl; while (t.resume()) - std::cout << ".. yielded" << std::endl; + std::cout << ".. yielded" << std::endl; std::cout << ".. done: " << t.res() << std::endl; } catch (DB::Exception & e) diff --git a/src/Core/fuzzers/CMakeLists.txt b/src/Core/fuzzers/CMakeLists.txt index a5416035010..269217392e7 100644 --- a/src/Core/fuzzers/CMakeLists.txt +++ b/src/Core/fuzzers/CMakeLists.txt @@ -1,2 +1,2 @@ -add_executable (names_and_types_fuzzer names_and_types_fuzzer.cpp) +clickhouse_add_executable (names_and_types_fuzzer names_and_types_fuzzer.cpp) target_link_libraries (names_and_types_fuzzer PRIVATE dbms ${LIB_FUZZING_ENGINE}) diff --git a/src/Daemon/BaseDaemon.cpp b/src/Daemon/BaseDaemon.cpp index 1b1e4611dc2..c89f55092f8 100644 --- a/src/Daemon/BaseDaemon.cpp +++ b/src/Daemon/BaseDaemon.cpp @@ -10,7 +10,7 @@ #include #include #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #endif #include @@ -73,6 +73,7 @@ namespace DB namespace ErrorCodes { extern const int CANNOT_SET_SIGNAL_HANDLER; + extern const int CANNOT_SEND_SIGNAL; } } @@ -86,7 +87,9 @@ static void call_default_signal_handler(int sig) { if (SIG_ERR == signal(sig, SIG_DFL)) DB::throwFromErrno("Cannot set signal handler.", DB::ErrorCodes::CANNOT_SET_SIGNAL_HANDLER); - raise(sig); + + if (0 != raise(sig)) + DB::throwFromErrno("Cannot send signal.", DB::ErrorCodes::CANNOT_SEND_SIGNAL); } static const size_t signal_pipe_buf_size = @@ -295,11 +298,11 @@ private: /// It will allow client to see failure messages directly. if (thread_ptr) { - query_id = thread_ptr->getQueryId().toString(); + query_id = std::string(thread_ptr->getQueryId()); if (auto thread_group = thread_ptr->getThreadGroup()) { - query = thread_group->query; + query = thread_group->one_line_query; } if (auto logs_queue = thread_ptr->getInternalTextLogsQueue()) @@ -349,26 +352,27 @@ private: #if defined(OS_LINUX) /// Write information about binary checksum. It can be difficult to calculate, so do it only after printing stack trace. + /// Please keep the below log messages in-sync with the ones in programs/server/Server.cpp String calculated_binary_hash = getHashOfLoadedBinaryHex(); if (daemon.stored_binary_hash.empty()) { - LOG_FATAL(log, "Calculated checksum of the binary: {}." - " There is no information about the reference checksum.", calculated_binary_hash); + LOG_FATAL(log, "Integrity check of the executable skipped because the reference checksum could not be read." + " (calculated checksum: {})", calculated_binary_hash); } else if (calculated_binary_hash == daemon.stored_binary_hash) { - LOG_FATAL(log, "Checksum of the binary: {}, integrity check passed.", calculated_binary_hash); + LOG_FATAL(log, "Integrity check of the executable successfully passed (checksum: {})", calculated_binary_hash); } else { - LOG_FATAL(log, "Calculated checksum of the ClickHouse binary ({0}) does not correspond" - " to the reference checksum stored in the binary ({1})." - " It may indicate one of the following:" - " - the file was changed just after startup;" - " - the file is damaged on disk due to faulty hardware;" - " - the loaded executable is damaged in memory due to faulty hardware;" + LOG_FATAL(log, "Calculated checksum of the executable ({0}) does not correspond" + " to the reference checksum stored in the executable ({1})." + " This may indicate one of the following:" + " - the executable was changed just after startup;" + " - the executable was corrupted on disk due to faulty hardware;" + " - the loaded executable was corrupted in memory due to faulty hardware;" " - the file was intentionally modified;" - " - logical error in code." + " - a logical error in the code." , calculated_binary_hash, daemon.stored_binary_hash); } #endif @@ -391,8 +395,14 @@ private: #if defined(SANITIZER) extern "C" void __sanitizer_set_death_callback(void (*)()); -static void sanitizerDeathCallback() +/// Sanitizers may not expect some function calls from death callback. +/// Let's try to disable instrumentation to avoid possible issues. +/// However, this callback may call other functions that are still instrumented. +/// We can try [[clang::always_inline]] attribute for statements in future (available in clang-15) +/// See https://github.com/google/sanitizers/issues/1543 and https://github.com/google/sanitizers/issues/1549. +static DISABLE_SANITIZER_INSTRUMENTATION void sanitizerDeathCallback() { + DENY_ALLOCATIONS_IN_SCOPE; /// Also need to send data via pipe. Otherwise it may lead to deadlocks or failures in printing diagnostic info. char buf[signal_pipe_buf_size]; @@ -855,7 +865,7 @@ void BaseDaemon::initializeTerminationAndSignalProcessing() signal_listener = std::make_unique(*this); signal_listener_thread.start(*signal_listener); -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) String build_id_hex = DB::SymbolIndex::instance()->getBuildIDHex(); if (build_id_hex.empty()) build_id_info = "no build id"; @@ -865,11 +875,11 @@ void BaseDaemon::initializeTerminationAndSignalProcessing() build_id_info = "no build id"; #endif -#if defined(__linux__) +#if defined(OS_LINUX) std::string executable_path = getExecutablePath(); if (!executable_path.empty()) - stored_binary_hash = DB::Elf(executable_path).getBinaryHash(); + stored_binary_hash = DB::Elf(executable_path).getStoredBinaryHash(); #endif } @@ -920,7 +930,7 @@ void BaseDaemon::handleSignal(int signal_id) signal_id == SIGQUIT || signal_id == SIGTERM) { - std::unique_lock lock(signal_handler_mutex); + std::lock_guard lock(signal_handler_mutex); { ++terminate_signals_counter; sigint_signals_counter += signal_id == SIGINT; @@ -983,7 +993,7 @@ void BaseDaemon::setupWatchdog() if (0 == pid) { logger().information("Forked a child process to watch"); -#if defined(__linux__) +#if defined(OS_LINUX) if (0 != prctl(PR_SET_PDEATHSIG, SIGKILL)) logger().warning("Cannot do prctl to ask termination with parent."); #endif @@ -1003,11 +1013,23 @@ void BaseDaemon::setupWatchdog() /// If streaming compression of logs is used then we write watchdog logs to cerr if (config().getRawString("logger.stream_compress", "false") == "true") { - Poco::AutoPtr pf = new OwnPatternFormatter; + Poco::AutoPtr pf; + if (config().getString("logger.formatting", "") == "json") + pf = new OwnJSONPatternFormatter; + else + pf = new OwnPatternFormatter; Poco::AutoPtr log = new DB::OwnFormattingChannel(pf, new Poco::ConsoleChannel(std::cerr)); logger().setChannel(log); } + /// Cuncurrent writing logs to the same file from two threads is questionable on its own, + /// but rotating them from two threads is disastrous. + if (auto * channel = dynamic_cast(logger().getChannel())) + { + channel->setChannelProperty("log", Poco::FileChannel::PROP_ROTATION, "never"); + channel->setChannelProperty("log", Poco::FileChannel::PROP_ROTATEONOPEN, "false"); + } + logger().information(fmt::format("Will watch for the process with pid {}", pid)); /// Forward signals to the child process. diff --git a/src/Daemon/SentryWriter.cpp b/src/Daemon/SentryWriter.cpp index 904d2f04a7a..ec19913ff7d 100644 --- a/src/Daemon/SentryWriter.cpp +++ b/src/Daemon/SentryWriter.cpp @@ -149,7 +149,7 @@ void SentryWriter::onFault(int sig, const std::string & error_message, const Sta sentry_set_tag("signal", strsignal(sig)); sentry_set_extra("signal_number", sentry_value_new_int32(sig)); - #if defined(__ELF__) && !defined(__FreeBSD__) + #if defined(__ELF__) && !defined(OS_FREEBSD) const String & build_id_hex = DB::SymbolIndex::instance()->getBuildIDHex(); sentry_set_tag("build_id", build_id_hex.c_str()); #endif diff --git a/src/DataTypes/DataTypeAggregateFunction.cpp b/src/DataTypes/DataTypeAggregateFunction.cpp index c65a30b80ac..8c0f0b95025 100644 --- a/src/DataTypes/DataTypeAggregateFunction.cpp +++ b/src/DataTypes/DataTypeAggregateFunction.cpp @@ -119,7 +119,40 @@ Field DataTypeAggregateFunction::getDefault() const bool DataTypeAggregateFunction::equals(const IDataType & rhs) const { - return typeid(rhs) == typeid(*this) && getNameWithoutVersion() == typeid_cast(rhs).getNameWithoutVersion(); + if (typeid(rhs) != typeid(*this)) + return false; + + auto lhs_state_type = function->getNormalizedStateType(); + auto rhs_state_type = typeid_cast(rhs).function->getNormalizedStateType(); + + if (typeid(lhs_state_type.get()) != typeid(rhs_state_type.get())) + return false; + + if (const auto * lhs_state = typeid_cast(lhs_state_type.get())) + { + const auto & rhs_state = typeid_cast(*rhs_state_type); + + if (lhs_state->function->getName() != rhs_state.function->getName()) + return false; + + if (lhs_state->parameters.size() != rhs_state.parameters.size()) + return false; + + for (size_t i = 0; i < lhs_state->parameters.size(); ++i) + if (lhs_state->parameters[i] != rhs_state.parameters[i]) + return false; + + if (lhs_state->argument_types.size() != rhs_state.argument_types.size()) + return false; + + for (size_t i = 0; i < lhs_state->argument_types.size(); ++i) + if (!lhs_state->argument_types[i]->equals(*rhs_state.argument_types[i])) + return false; + + return true; + } + + return lhs_state_type->equals(*rhs_state_type); } diff --git a/src/DataTypes/DataTypeFactory.cpp b/src/DataTypes/DataTypeFactory.cpp index dd08656dccc..9f60210f8d6 100644 --- a/src/DataTypes/DataTypeFactory.cpp +++ b/src/DataTypes/DataTypeFactory.cpp @@ -119,7 +119,6 @@ void DataTypeFactory::registerDataType(const String & family_name, Value creator throw Exception("DataTypeFactory: the data type family name '" + family_name + "' is not unique", ErrorCodes::LOGICAL_ERROR); - if (case_sensitiveness == CaseInsensitive && !case_insensitive_data_types.emplace(family_name_lowercase, creator).second) throw Exception("DataTypeFactory: the case insensitive data type family name '" + family_name + "' is not unique", diff --git a/src/DataTypes/DataTypeFactory.h b/src/DataTypes/DataTypeFactory.h index 704d8926bf0..f452f6167c7 100644 --- a/src/DataTypes/DataTypeFactory.h +++ b/src/DataTypes/DataTypeFactory.h @@ -25,7 +25,7 @@ class DataTypeFactory final : private boost::noncopyable, public IFactoryWithAli private: using SimpleCreator = std::function; using DataTypesDictionary = std::unordered_map; - using CreatorWithCustom = std::function(const ASTPtr & parameters)>; + using CreatorWithCustom = std::function(const ASTPtr & parameters)>; using SimpleCreatorWithCustom = std::function()>; public: diff --git a/src/DataTypes/DataTypeNullable.cpp b/src/DataTypes/DataTypeNullable.cpp index b354b1278be..a14fb785b96 100644 --- a/src/DataTypes/DataTypeNullable.cpp +++ b/src/DataTypes/DataTypeNullable.cpp @@ -85,6 +85,13 @@ DataTypePtr makeNullable(const DataTypePtr & type) return std::make_shared(type); } +DataTypePtr makeNullableSafe(const DataTypePtr & type) +{ + if (type->canBeInsideNullable()) + return makeNullable(type); + return type; +} + DataTypePtr removeNullable(const DataTypePtr & type) { if (type->isNullable()) diff --git a/src/DataTypes/DataTypeNullable.h b/src/DataTypes/DataTypeNullable.h index c87e4f77008..379119b364c 100644 --- a/src/DataTypes/DataTypeNullable.h +++ b/src/DataTypes/DataTypeNullable.h @@ -51,6 +51,7 @@ private: DataTypePtr makeNullable(const DataTypePtr & type); +DataTypePtr makeNullableSafe(const DataTypePtr & type); DataTypePtr removeNullable(const DataTypePtr & type); } diff --git a/src/DataTypes/DataTypeTuple.cpp b/src/DataTypes/DataTypeTuple.cpp index 558b13927c1..ef05cd440c0 100644 --- a/src/DataTypes/DataTypeTuple.cpp +++ b/src/DataTypes/DataTypeTuple.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include @@ -214,6 +215,19 @@ size_t DataTypeTuple::getPositionByName(const String & name) const throw Exception("Tuple doesn't have element with name '" + name + "'", ErrorCodes::NOT_FOUND_COLUMN_IN_BLOCK); } +std::optional DataTypeTuple::tryGetPositionByName(const String & name) const +{ + size_t size = elems.size(); + for (size_t i = 0; i < size; ++i) + { + if (names[i] == name) + { + return std::optional(i); + } + } + return std::nullopt; +} + String DataTypeTuple::getNameByPosition(size_t i) const { if (i == 0 || i > names.size()) @@ -257,6 +271,7 @@ size_t DataTypeTuple::getSizeOfValueInMemory() const SerializationPtr DataTypeTuple::doGetDefaultSerialization() const { SerializationTuple::ElementSerializations serializations(elems.size()); + for (size_t i = 0; i < elems.size(); ++i) { String elem_name = have_explicit_names ? names[i] : toString(i + 1); @@ -289,7 +304,27 @@ MutableSerializationInfoPtr DataTypeTuple::createSerializationInfo(const Seriali for (const auto & elem : elems) infos.push_back(elem->createSerializationInfo(settings)); - return std::make_shared(std::move(infos), settings); + return std::make_shared(std::move(infos), names, settings); +} + +SerializationInfoPtr DataTypeTuple::getSerializationInfo(const IColumn & column) const +{ + if (const auto * column_const = checkAndGetColumn(&column)) + return getSerializationInfo(column_const->getDataColumn()); + + MutableSerializationInfos infos; + infos.reserve(elems.size()); + + const auto & column_tuple = assert_cast(column); + assert(elems.size() == column_tuple.getColumns().size()); + + for (size_t i = 0; i < elems.size(); ++i) + { + auto element_info = elems[i]->getSerializationInfo(column_tuple.getColumn(i)); + infos.push_back(const_pointer_cast(element_info)); + } + + return std::make_shared(std::move(infos), names, SerializationInfo::Settings{}); } diff --git a/src/DataTypes/DataTypeTuple.h b/src/DataTypes/DataTypeTuple.h index 009a2284a0a..5abec18bd3b 100644 --- a/src/DataTypes/DataTypeTuple.h +++ b/src/DataTypes/DataTypeTuple.h @@ -1,6 +1,7 @@ #pragma once #include +#include namespace DB @@ -22,6 +23,7 @@ private: DataTypes elems; Strings names; bool have_explicit_names; + public: static constexpr bool is_parametric = true; @@ -54,12 +56,14 @@ public: SerializationPtr doGetDefaultSerialization() const override; SerializationPtr getSerialization(const SerializationInfo & info) const override; MutableSerializationInfoPtr createSerializationInfo(const SerializationInfo::Settings & settings) const override; + SerializationInfoPtr getSerializationInfo(const IColumn & column) const override; const DataTypePtr & getElement(size_t i) const { return elems[i]; } const DataTypes & getElements() const { return elems; } const Strings & getElementNames() const { return names; } size_t getPositionByName(const String & name) const; + std::optional tryGetPositionByName(const String & name) const; String getNameByPosition(size_t i) const; bool haveExplicitNames() const { return have_explicit_names; } diff --git a/src/DataTypes/DataTypesDecimal.h b/src/DataTypes/DataTypesDecimal.h index 00b5e2b9e37..7bcc6593435 100644 --- a/src/DataTypes/DataTypesDecimal.h +++ b/src/DataTypes/DataTypesDecimal.h @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB @@ -13,6 +14,7 @@ namespace DB namespace ErrorCodes { extern const int DECIMAL_OVERFLOW; + extern const int LOGICAL_ERROR; } /// Implements Decimal(P, S), where P is precision, S is scale. @@ -58,7 +60,7 @@ inline const DataTypeDecimal * checkDecimal(const IDataType & data_type) return typeid_cast *>(&data_type); } -inline UInt32 getDecimalScale(const IDataType & data_type, UInt32 default_value = std::numeric_limits::max()) +inline UInt32 getDecimalScale(const IDataType & data_type) { if (const auto * decimal_type = checkDecimal(data_type)) return decimal_type->getScale(); @@ -68,7 +70,10 @@ inline UInt32 getDecimalScale(const IDataType & data_type, UInt32 default_value return decimal_type->getScale(); if (const auto * decimal_type = checkDecimal(data_type)) return decimal_type->getScale(); - return default_value; + if (const auto * date_time_type = typeid_cast(&data_type)) + return date_time_type->getScale(); + + throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot get decimal scale from type {}", data_type.getName()); } inline UInt32 getDecimalPrecision(const IDataType & data_type) @@ -81,7 +86,10 @@ inline UInt32 getDecimalPrecision(const IDataType & data_type) return decimal_type->getPrecision(); if (const auto * decimal_type = checkDecimal(data_type)) return decimal_type->getPrecision(); - return 0; + if (const auto * date_time_type = typeid_cast(&data_type)) + return date_time_type->getPrecision(); + + throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot get decimal precision from type {}", data_type.getName()); } template diff --git a/src/DataTypes/FieldToDataType.cpp b/src/DataTypes/FieldToDataType.cpp index 283d1b1e41a..49ece27cc1f 100644 --- a/src/DataTypes/FieldToDataType.cpp +++ b/src/DataTypes/FieldToDataType.cpp @@ -22,13 +22,14 @@ namespace ErrorCodes extern const int EMPTY_DATA_PASSED; } - -DataTypePtr FieldToDataType::operator() (const Null &) const +template +DataTypePtr FieldToDataType::operator() (const Null &) const { return std::make_shared(std::make_shared()); } -DataTypePtr FieldToDataType::operator() (const UInt64 & x) const +template +DataTypePtr FieldToDataType::operator() (const UInt64 & x) const { if (x <= std::numeric_limits::max()) return std::make_shared(); if (x <= std::numeric_limits::max()) return std::make_shared(); @@ -36,7 +37,8 @@ DataTypePtr FieldToDataType::operator() (const UInt64 & x) const return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const Int64 & x) const +template +DataTypePtr FieldToDataType::operator() (const Int64 & x) const { if (x <= std::numeric_limits::max() && x >= std::numeric_limits::min()) return std::make_shared(); if (x <= std::numeric_limits::max() && x >= std::numeric_limits::min()) return std::make_shared(); @@ -44,77 +46,90 @@ DataTypePtr FieldToDataType::operator() (const Int64 & x) const return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const Float64 &) const +template +DataTypePtr FieldToDataType::operator() (const Float64 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const UInt128 &) const +template +DataTypePtr FieldToDataType::operator() (const UInt128 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const Int128 &) const +template +DataTypePtr FieldToDataType::operator() (const Int128 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const UInt256 &) const +template +DataTypePtr FieldToDataType::operator() (const UInt256 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const Int256 &) const +template +DataTypePtr FieldToDataType::operator() (const Int256 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const UUID &) const +template +DataTypePtr FieldToDataType::operator() (const UUID &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const String &) const +template +DataTypePtr FieldToDataType::operator() (const String &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const DecimalField & x) const +template +DataTypePtr FieldToDataType::operator() (const DecimalField & x) const { using Type = DataTypeDecimal; return std::make_shared(Type::maxPrecision(), x.getScale()); } -DataTypePtr FieldToDataType::operator() (const DecimalField & x) const +template +DataTypePtr FieldToDataType::operator() (const DecimalField & x) const { using Type = DataTypeDecimal; return std::make_shared(Type::maxPrecision(), x.getScale()); } -DataTypePtr FieldToDataType::operator() (const DecimalField & x) const +template +DataTypePtr FieldToDataType::operator() (const DecimalField & x) const { using Type = DataTypeDecimal; return std::make_shared(Type::maxPrecision(), x.getScale()); } -DataTypePtr FieldToDataType::operator() (const DecimalField & x) const +template +DataTypePtr FieldToDataType::operator() (const DecimalField & x) const { using Type = DataTypeDecimal; return std::make_shared(Type::maxPrecision(), x.getScale()); } -DataTypePtr FieldToDataType::operator() (const Array & x) const +template +DataTypePtr FieldToDataType::operator() (const Array & x) const { DataTypes element_types; element_types.reserve(x.size()); for (const Field & elem : x) - element_types.emplace_back(applyVisitor(FieldToDataType(allow_convertion_to_string), elem)); + element_types.emplace_back(applyVisitor(*this, elem)); - return std::make_shared(getLeastSupertype(element_types, allow_convertion_to_string)); + return std::make_shared(getLeastSupertype(element_types)); } -DataTypePtr FieldToDataType::operator() (const Tuple & tuple) const +template +DataTypePtr FieldToDataType::operator() (const Tuple & tuple) const { if (tuple.empty()) throw Exception("Cannot infer type of an empty tuple", ErrorCodes::EMPTY_DATA_PASSED); @@ -123,12 +138,13 @@ DataTypePtr FieldToDataType::operator() (const Tuple & tuple) const element_types.reserve(tuple.size()); for (const auto & element : tuple) - element_types.push_back(applyVisitor(FieldToDataType(allow_convertion_to_string), element)); + element_types.push_back(applyVisitor(*this, element)); return std::make_shared(element_types); } -DataTypePtr FieldToDataType::operator() (const Map & map) const +template +DataTypePtr FieldToDataType::operator() (const Map & map) const { DataTypes key_types; DataTypes value_types; @@ -139,30 +155,37 @@ DataTypePtr FieldToDataType::operator() (const Map & map) const { const auto & tuple = elem.safeGet(); assert(tuple.size() == 2); - key_types.push_back(applyVisitor(FieldToDataType(allow_convertion_to_string), tuple[0])); - value_types.push_back(applyVisitor(FieldToDataType(allow_convertion_to_string), tuple[1])); + key_types.push_back(applyVisitor(*this, tuple[0])); + value_types.push_back(applyVisitor(*this, tuple[1])); } return std::make_shared( - getLeastSupertype(key_types, allow_convertion_to_string), - getLeastSupertype(value_types, allow_convertion_to_string)); + getLeastSupertype(key_types), + getLeastSupertype(value_types)); } -DataTypePtr FieldToDataType::operator() (const Object &) const +template +DataTypePtr FieldToDataType::operator() (const Object &) const { /// TODO: Do we need different parameters for type Object? return std::make_shared("json", false); } -DataTypePtr FieldToDataType::operator() (const AggregateFunctionStateData & x) const +template +DataTypePtr FieldToDataType::operator() (const AggregateFunctionStateData & x) const { const auto & name = static_cast(x).name; return DataTypeFactory::instance().get(name); } -DataTypePtr FieldToDataType::operator()(const bool &) const +template +DataTypePtr FieldToDataType::operator()(const bool &) const { return DataTypeFactory::instance().get("Bool"); } +template class FieldToDataType; +template class FieldToDataType; +template class FieldToDataType; + } diff --git a/src/DataTypes/FieldToDataType.h b/src/DataTypes/FieldToDataType.h index 1922ac8b746..5e66fe420ad 100644 --- a/src/DataTypes/FieldToDataType.h +++ b/src/DataTypes/FieldToDataType.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace DB @@ -17,14 +18,10 @@ using DataTypePtr = std::shared_ptr; * Note that you still have to convert Field to corresponding data type before inserting to columns * (for example, this is necessary to convert elements of Array to common type). */ +template class FieldToDataType : public StaticVisitor { public: - FieldToDataType(bool allow_convertion_to_string_ = false) - : allow_convertion_to_string(allow_convertion_to_string_) - { - } - DataTypePtr operator() (const Null & x) const; DataTypePtr operator() (const UInt64 & x) const; DataTypePtr operator() (const UInt128 & x) const; @@ -45,9 +42,6 @@ public: DataTypePtr operator() (const UInt256 & x) const; DataTypePtr operator() (const Int256 & x) const; DataTypePtr operator() (const bool & x) const; - -private: - bool allow_convertion_to_string; }; } diff --git a/src/DataTypes/IDataType.cpp b/src/DataTypes/IDataType.cpp index 0976233c031..cb3bab5c653 100644 --- a/src/DataTypes/IDataType.cpp +++ b/src/DataTypes/IDataType.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -162,6 +163,12 @@ void IDataType::insertDefaultInto(IColumn & column) const column.insertDefault(); } +void IDataType::insertManyDefaultsInto(IColumn & column, size_t n) const +{ + for (size_t i = 0; i < n; ++i) + insertDefaultInto(column); +} + void IDataType::setCustomization(DataTypeCustomDescPtr custom_desc_) const { /// replace only if not null @@ -172,12 +179,19 @@ void IDataType::setCustomization(DataTypeCustomDescPtr custom_desc_) const custom_serialization = std::move(custom_desc_->serialization); } -MutableSerializationInfoPtr IDataType::createSerializationInfo( - const SerializationInfo::Settings & settings) const +MutableSerializationInfoPtr IDataType::createSerializationInfo(const SerializationInfo::Settings & settings) const { return std::make_shared(ISerialization::Kind::DEFAULT, settings); } +SerializationInfoPtr IDataType::getSerializationInfo(const IColumn & column) const +{ + if (const auto * column_const = checkAndGetColumn(&column)) + return getSerializationInfo(column_const->getDataColumn()); + + return std::make_shared(ISerialization::getKind(column), SerializationInfo::Settings{}); +} + SerializationPtr IDataType::getDefaultSerialization() const { if (custom_serialization) diff --git a/src/DataTypes/IDataType.h b/src/DataTypes/IDataType.h index fc9e50dc55b..0174ca426c2 100644 --- a/src/DataTypes/IDataType.h +++ b/src/DataTypes/IDataType.h @@ -101,8 +101,8 @@ public: Names getSubcolumnNames() const; - virtual MutableSerializationInfoPtr createSerializationInfo( - const SerializationInfo::Settings & settings) const; + virtual MutableSerializationInfoPtr createSerializationInfo(const SerializationInfo::Settings & settings) const; + virtual SerializationInfoPtr getSerializationInfo(const IColumn & column) const; /// TODO: support more types. virtual bool supportsSparseSerialization() const { return !haveSubtypes(); } @@ -159,6 +159,8 @@ public: */ virtual void insertDefaultInto(IColumn & column) const; + void insertManyDefaultsInto(IColumn & column, size_t n) const; + /// Checks that two instances belong to the same type virtual bool equals(const IDataType & rhs) const = 0; @@ -530,6 +532,12 @@ inline bool isBool(const DataTypePtr & data_type) return data_type->getName() == "Bool"; } +inline bool isAggregateFunction(const DataTypePtr & data_type) +{ + WhichDataType which(data_type); + return which.isAggregateFunction(); +} + template constexpr bool IsDataTypeDecimal = false; template constexpr bool IsDataTypeNumber = false; template constexpr bool IsDataTypeDateOrDateTime = false; @@ -563,4 +571,54 @@ class DataTypeEnum; template inline constexpr bool IsDataTypeEnum> = true; +#define FOR_BASIC_NUMERIC_TYPES(M) \ + M(UInt8) \ + M(UInt16) \ + M(UInt32) \ + M(UInt64) \ + M(Int8) \ + M(Int16) \ + M(Int32) \ + M(Int64) \ + M(Float32) \ + M(Float64) + +#define FOR_NUMERIC_TYPES(M) \ + M(UInt8) \ + M(UInt16) \ + M(UInt32) \ + M(UInt64) \ + M(UInt128) \ + M(UInt256) \ + M(Int8) \ + M(Int16) \ + M(Int32) \ + M(Int64) \ + M(Int128) \ + M(Int256) \ + M(Float32) \ + M(Float64) } + +/// See https://fmt.dev/latest/api.html#formatting-user-defined-types +template <> +struct fmt::formatter +{ + constexpr static auto parse(format_parse_context & ctx) + { + const auto * it = ctx.begin(); + const auto * end = ctx.end(); + + /// Only support {}. + if (it != end && *it != '}') + throw format_error("invalid format"); + + return it; + } + + template + auto format(const DB::DataTypePtr & type, FormatContext & ctx) + { + return format_to(ctx.out(), "{}", type->getName()); + } +}; diff --git a/src/DataTypes/NestedUtils.cpp b/src/DataTypes/NestedUtils.cpp index 20aae08f363..b28b70f676a 100644 --- a/src/DataTypes/NestedUtils.cpp +++ b/src/DataTypes/NestedUtils.cpp @@ -1,8 +1,10 @@ #include +#include #include #include #include +#include "Columns/IColumn.h" #include #include @@ -17,7 +19,6 @@ #include - namespace DB { @@ -53,7 +54,7 @@ std::pair splitName(const std::string & name, bool rev return {name.substr(0, idx), name.substr(idx + 1)}; } -std::pair splitName(const std::string_view & name, bool reverse) +std::pair splitName(std::string_view name, bool reverse) { auto idx = (reverse ? name.find_last_of('.') : name.find_first_of('.')); if (idx == std::string::npos || idx == 0 || idx + 1 == name.size()) @@ -76,8 +77,7 @@ Block flatten(const Block & block) for (const auto & elem : block) { - const DataTypeArray * type_arr = typeid_cast(elem.type.get()); - if (type_arr) + if (const DataTypeArray * type_arr = typeid_cast(elem.type.get())) { const DataTypeTuple * type_tuple = typeid_cast(type_arr->getNestedType().get()); if (type_tuple && type_tuple->haveExplicitNames()) @@ -106,7 +106,7 @@ Block flatten(const Block & block) res.insert(ColumnWithTypeAndName( is_const ? ColumnConst::create(std::move(column_array_of_element), block.rows()) - : std::move(column_array_of_element), + : column_array_of_element, std::make_shared(element_types[i]), nested_name)); } @@ -114,6 +114,28 @@ Block flatten(const Block & block) else res.insert(elem); } + else if (const DataTypeTuple * type_tuple = typeid_cast(elem.type.get())) + { + if (type_tuple->haveExplicitNames()) + { + const DataTypes & element_types = type_tuple->getElements(); + const Strings & names = type_tuple->getElementNames(); + const ColumnTuple * column_tuple; + if (isColumnConst(*elem.column)) + column_tuple = typeid_cast(&assert_cast(*elem.column).getDataColumn()); + else + column_tuple = typeid_cast(elem.column.get()); + size_t tuple_size = column_tuple->tupleSize(); + for (size_t i = 0; i < tuple_size; ++i) + { + const auto & element_column = column_tuple->getColumn(i); + String nested_name = concatenateName(elem.name, names[i]); + res.insert(ColumnWithTypeAndName(element_column.getPtr(), element_types[i], nested_name)); + } + } + else + res.insert(elem); + } else res.insert(elem); } @@ -243,7 +265,71 @@ std::unordered_set getAllTableNames(const Block & block, bool to_lower_c } return nested_table_names; } - } +NestedColumnExtractHelper::NestedColumnExtractHelper(const Block & block_, bool case_insentive_) + : block(block_) + , case_insentive(case_insentive_) +{} + +std::optional NestedColumnExtractHelper::extractColumn(const String & column_name) +{ + if (block.has(column_name, case_insentive)) + return {block.getByName(column_name, case_insentive)}; + + auto nested_names = Nested::splitName(column_name); + if (case_insentive) + { + boost::to_lower(nested_names.first); + boost::to_lower(nested_names.second); + } + if (!block.has(nested_names.first, case_insentive)) + return {}; + + if (!nested_tables.contains(nested_names.first)) + { + ColumnsWithTypeAndName columns = {block.getByName(nested_names.first, case_insentive)}; + nested_tables[nested_names.first] = std::make_shared(Nested::flatten(columns)); + } + + return extractColumn(column_name, nested_names.first, nested_names.second); +} + +std::optional NestedColumnExtractHelper::extractColumn( + const String & original_column_name, const String & column_name_prefix, const String & column_name_suffix) +{ + auto table_iter = nested_tables.find(column_name_prefix); + if (table_iter == nested_tables.end()) + { + return {}; + } + + auto & nested_table = table_iter->second; + auto nested_names = Nested::splitName(column_name_suffix); + auto new_column_name_prefix = Nested::concatenateName(column_name_prefix, nested_names.first); + if (nested_names.second.empty()) + { + if (auto * column_ref = nested_table->findByName(new_column_name_prefix, case_insentive)) + { + ColumnWithTypeAndName column = *column_ref; + if (case_insentive) + column.name = original_column_name; + return {std::move(column)}; + } + else + { + return {}; + } + } + + if (!nested_table->has(new_column_name_prefix, case_insentive)) + { + return {}; + } + + ColumnsWithTypeAndName columns = {nested_table->getByName(new_column_name_prefix, case_insentive)}; + Block sub_block(columns); + nested_tables[new_column_name_prefix] = std::make_shared(Nested::flatten(sub_block)); + return extractColumn(original_column_name, new_column_name_prefix, nested_names.second); +} } diff --git a/src/DataTypes/NestedUtils.h b/src/DataTypes/NestedUtils.h index f6dc42d5c58..38da382254c 100644 --- a/src/DataTypes/NestedUtils.h +++ b/src/DataTypes/NestedUtils.h @@ -13,13 +13,14 @@ namespace Nested /// Splits name of compound identifier by first/last dot (depending on 'reverse' parameter). std::pair splitName(const std::string & name, bool reverse = false); - std::pair splitName(const std::string_view & name, bool reverse = false); + std::pair splitName(std::string_view name, bool reverse = false); /// Returns the prefix of the name to the first '.'. Or the name is unchanged if there is no dot. std::string extractTableName(const std::string & nested_name); - /// Replace Array(Tuple(...)) columns to a multiple of Array columns in a form of `column_name.element_name`. - /// only for named tuples that actually represent Nested structures. + /// Flat a column of nested type into columns + /// 1) For named tuples,t Tuple(x .., y ..., ...), replace it with t.x ..., t.y ... , ... + /// 2) For an Array with named Tuple element column, a Array(Tuple(x ..., y ..., ...)), replace it with multiple Array Columns, a.x ..., a.y ..., ... Block flatten(const Block & block); /// Collect Array columns in a form of `column_name.element_name` to single Array(Tuple(...)) column. @@ -35,4 +36,20 @@ namespace Nested std::unordered_set getAllTableNames(const Block & block, bool to_lower_case = false); } +/// Use this class to extract element columns from columns of nested type in a block, e.g. named Tuple. +/// It can extract a column from a multiple nested type column, e.g. named Tuple in named Tuple +/// Keeps some intermediate data to avoid rebuild them multi-times. +class NestedColumnExtractHelper +{ +public: + explicit NestedColumnExtractHelper(const Block & block_, bool case_insentive_); + std::optional extractColumn(const String & column_name); +private: + std::optional + extractColumn(const String & original_column_name, const String & column_name_prefix, const String & column_name_suffix); + const Block & block; + bool case_insentive; + std::map nested_tables; +}; + } diff --git a/src/DataTypes/ObjectUtils.cpp b/src/DataTypes/ObjectUtils.cpp index 62204652ec4..b81c8c7a033 100644 --- a/src/DataTypes/ObjectUtils.cpp +++ b/src/DataTypes/ObjectUtils.cpp @@ -143,30 +143,17 @@ void convertObjectsToTuples(Block & block, const NamesAndTypesList & extended_st continue; const auto & column_object = assert_cast(*column.column); - const auto & subcolumns = column_object.getSubcolumns(); - if (!column_object.isFinalized()) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot convert to tuple column '{}' from type {}. Column should be finalized first", column.name, column.type->getName()); - PathsInData tuple_paths; - DataTypes tuple_types; - Columns tuple_columns; - - for (const auto & entry : subcolumns) - { - tuple_paths.emplace_back(entry->path); - tuple_types.emplace_back(entry->data.getLeastCommonType()); - tuple_columns.emplace_back(entry->data.getFinalizedColumnPtr()); - } + std::tie(column.column, column.type) = unflattenObjectToTuple(column_object); auto it = storage_columns_map.find(column.name); if (it == storage_columns_map.end()) throw Exception(ErrorCodes::LOGICAL_ERROR, "Column '{}' not found in storage", column.name); - std::tie(column.column, column.type) = unflattenTuple(tuple_paths, tuple_types, tuple_columns); - /// Check that constructed Tuple type and type in storage are compatible. getLeastCommonTypeForObject({column.type, it->second}, true); } @@ -274,7 +261,7 @@ DataTypePtr getLeastCommonTypeForObject(const DataTypes & types, bool check_ambi key.getPath(), subtypes[0]->getName(), subtypes[i]->getName()); tuple_paths.emplace_back(key); - tuple_types.emplace_back(getLeastSupertype(subtypes, /*allow_conversion_to_string=*/ true)); + tuple_types.emplace_back(getLeastSupertypeOrString(subtypes)); } if (tuple_paths.empty()) @@ -468,7 +455,7 @@ ColumnWithTypeAndDimensions createTypeFromNode(const Node * node) } /// Sort to always create the same type for the same set of subcolumns. - std::sort(tuple_elements.begin(), tuple_elements.end(), + ::sort(tuple_elements.begin(), tuple_elements.end(), [](const auto & lhs, const auto & rhs) { return std::get<0>(lhs) < std::get<0>(rhs); }); auto tuple_names = extractVector<0>(tuple_elements); @@ -585,6 +572,28 @@ DataTypePtr unflattenTuple(const PathsInData & paths, const DataTypes & tuple_ty return unflattenTuple(paths, tuple_types, tuple_columns).second; } +std::pair unflattenObjectToTuple(const ColumnObject & column) +{ + const auto & subcolumns = column.getSubcolumns(); + + PathsInData paths; + DataTypes types; + Columns columns; + + paths.reserve(subcolumns.size()); + types.reserve(subcolumns.size()); + columns.reserve(subcolumns.size()); + + for (const auto & entry : subcolumns) + { + paths.emplace_back(entry->path); + types.emplace_back(entry->data.getLeastCommonType()); + columns.emplace_back(entry->data.getFinalizedColumnPtr()); + } + + return unflattenTuple(paths, types, columns); +} + std::pair unflattenTuple( const PathsInData & paths, const DataTypes & tuple_types, @@ -683,7 +692,7 @@ void replaceMissedSubcolumnsByConstants( res.emplace_back(full_name, types[i]); } - std::sort(res.begin(), res.end()); + ::sort(res.begin(), res.end()); return res; }; @@ -709,9 +718,9 @@ void replaceMissedSubcolumnsByConstants( addConstantToWithClause(query, name, type); } -void finalizeObjectColumns(MutableColumns & columns) +void finalizeObjectColumns(const MutableColumns & columns) { - for (auto & column : columns) + for (const auto & column : columns) if (auto * column_object = typeid_cast(column.get())) column_object->finalize(); } diff --git a/src/DataTypes/ObjectUtils.h b/src/DataTypes/ObjectUtils.h index 8dc46ceecf5..602d40cef6a 100644 --- a/src/DataTypes/ObjectUtils.h +++ b/src/DataTypes/ObjectUtils.h @@ -51,7 +51,7 @@ void extendObjectColumns(NamesAndTypesList & columns_list, const ColumnsDescript NameSet getNamesOfObjectColumns(const NamesAndTypesList & columns_list); bool hasObjectColumns(const ColumnsDescription & columns); -void finalizeObjectColumns(MutableColumns & columns); +void finalizeObjectColumns(const MutableColumns & columns); /// Updates types of objects in @object_columns inplace /// according to types in new_columns. @@ -73,11 +73,14 @@ DataTypePtr unflattenTuple( const PathsInData & paths, const DataTypes & tuple_types); +std::pair unflattenObjectToTuple(const ColumnObject & column); + std::pair unflattenTuple( const PathsInData & paths, const DataTypes & tuple_types, const Columns & tuple_columns); + /// For all columns which exist in @expected_columns and /// don't exist in @available_columns adds to WITH clause /// an alias with column name to literal of default value of column type. diff --git a/src/DataTypes/Serializations/ISerialization.cpp b/src/DataTypes/Serializations/ISerialization.cpp index 512653ecb13..e6e6fdba5dc 100644 --- a/src/DataTypes/Serializations/ISerialization.cpp +++ b/src/DataTypes/Serializations/ISerialization.cpp @@ -172,10 +172,6 @@ String getNameForSubstreamPath( else stream_name += "." + it->tuple_element_name; } - else if (it->type == Substream::ObjectElement) - { - stream_name += escapeForFileName(".") + escapeForFileName(it->object_key_name); - } } return stream_name; @@ -228,8 +224,10 @@ String ISerialization::getSubcolumnNameForStream(const SubstreamPath & path, siz void ISerialization::addToSubstreamsCache(SubstreamsCache * cache, const SubstreamPath & path, ColumnPtr column) { - if (cache && !path.empty()) - cache->emplace(getSubcolumnNameForStream(path), column); + if (!cache || path.empty()) + return; + + cache->emplace(getSubcolumnNameForStream(path), column); } ColumnPtr ISerialization::getFromSubstreamsCache(SubstreamsCache * cache, const SubstreamPath & path) @@ -238,10 +236,7 @@ ColumnPtr ISerialization::getFromSubstreamsCache(SubstreamsCache * cache, const return nullptr; auto it = cache->find(getSubcolumnNameForStream(path)); - if (it == cache->end()) - return nullptr; - - return it->second; + return it == cache->end() ? nullptr : it->second; } bool ISerialization::isSpecialCompressionAllowed(const SubstreamPath & path) diff --git a/src/DataTypes/Serializations/ISerialization.h b/src/DataTypes/Serializations/ISerialization.h index 6c6b64f2416..b5d2082631e 100644 --- a/src/DataTypes/Serializations/ISerialization.h +++ b/src/DataTypes/Serializations/ISerialization.h @@ -126,7 +126,7 @@ public: SparseOffsets, ObjectStructure, - ObjectElement, + ObjectData, Regular, }; @@ -136,9 +136,6 @@ public: /// Index of tuple element, starting at 1 or name. String tuple_element_name; - /// Name of subcolumn of object column. - String object_key_name; - /// Do we need to escape a dot in filenames for tuple elements. bool escape_tuple_delimiter = true; diff --git a/src/DataTypes/Serializations/PathInData.cpp b/src/DataTypes/Serializations/PathInData.cpp index 574c34f1c27..b7c8bbc4da1 100644 --- a/src/DataTypes/Serializations/PathInData.cpp +++ b/src/DataTypes/Serializations/PathInData.cpp @@ -6,9 +6,6 @@ #include #include -#include -#include - #include #include @@ -73,43 +70,6 @@ UInt128 PathInData::getPartsHash(const Parts & parts_) return res; } -void PathInData::writeBinary(WriteBuffer & out) const -{ - writeVarUInt(parts.size(), out); - for (const auto & part : parts) - { - writeStringBinary(part.key, out); - writeIntBinary(part.is_nested, out); - writeIntBinary(part.anonymous_array_level, out); - } -} - -void PathInData::readBinary(ReadBuffer & in) -{ - size_t num_parts; - readVarUInt(num_parts, in); - - Arena arena; - Parts temp_parts; - temp_parts.reserve(num_parts); - - for (size_t i = 0; i < num_parts; ++i) - { - bool is_nested; - UInt8 anonymous_array_level; - - auto ref = readStringBinaryInto(arena, in); - readIntBinary(is_nested, in); - readIntBinary(anonymous_array_level, in); - - temp_parts.emplace_back(static_cast(ref), is_nested, anonymous_array_level); - } - - /// Recreate path and parts. - buildPath(temp_parts); - buildParts(temp_parts); -} - void PathInData::buildPath(const Parts & other_parts) { if (other_parts.empty()) diff --git a/src/DataTypes/Serializations/PathInData.h b/src/DataTypes/Serializations/PathInData.h index 323bc37d99b..278a81a9b0b 100644 --- a/src/DataTypes/Serializations/PathInData.h +++ b/src/DataTypes/Serializations/PathInData.h @@ -7,9 +7,6 @@ namespace DB { -class ReadBuffer; -class WriteBuffer; - /// Class that represents path in document, e.g. JSON. class PathInData { @@ -57,9 +54,6 @@ public: bool isNested(size_t i) const { return parts[i].is_nested; } bool hasNested() const { return has_nested; } - void writeBinary(WriteBuffer & out) const; - void readBinary(ReadBuffer & in); - bool operator==(const PathInData & other) const { return parts == other.parts; } struct Hash { size_t operator()(const PathInData & value) const; }; diff --git a/src/DataTypes/Serializations/SerializationEnum.cpp b/src/DataTypes/Serializations/SerializationEnum.cpp index 39e9885fe17..a1b9c8bf95a 100644 --- a/src/DataTypes/Serializations/SerializationEnum.cpp +++ b/src/DataTypes/Serializations/SerializationEnum.cpp @@ -18,7 +18,7 @@ void SerializationEnum::serializeText(const IColumn & column, size_t row_n template void SerializationEnum::serializeTextEscaped(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings &) const { - writeEscapedString(this->getNameForValue(assert_cast(column).getData()[row_num]), ostr); + writeEscapedString(this->getNameForValue(assert_cast(column).getData()[row_num]).toView(), ostr); } template @@ -69,13 +69,13 @@ void SerializationEnum::deserializeWholeText(IColumn & column, ReadBuffer template void SerializationEnum::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const { - writeJSONString(this->getNameForValue(assert_cast(column).getData()[row_num]), ostr, settings); + writeJSONString(this->getNameForValue(assert_cast(column).getData()[row_num]).toView(), ostr, settings); } template void SerializationEnum::serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings &) const { - writeXMLStringForTextElement(this->getNameForValue(assert_cast(column).getData()[row_num]), ostr); + writeXMLStringForTextElement(this->getNameForValue(assert_cast(column).getData()[row_num]).toView(), ostr); } template diff --git a/src/DataTypes/Serializations/SerializationInfo.cpp b/src/DataTypes/Serializations/SerializationInfo.cpp index a0dc20b6479..1b845533aaf 100644 --- a/src/DataTypes/Serializations/SerializationInfo.cpp +++ b/src/DataTypes/Serializations/SerializationInfo.cpp @@ -1,9 +1,9 @@ #include -#include #include #include #include #include +#include #include #include @@ -47,12 +47,25 @@ void SerializationInfo::Data::add(const Data & other) num_defaults += other.num_defaults; } +void SerializationInfo::Data::addDefaults(size_t length) +{ + num_rows += length; + num_defaults += length; +} + SerializationInfo::SerializationInfo(ISerialization::Kind kind_, const Settings & settings_) : settings(settings_) , kind(kind_) { } +SerializationInfo::SerializationInfo(ISerialization::Kind kind_, const Settings & settings_, const Data & data_) + : settings(settings_) + , kind(kind_) + , data(data_) +{ +} + void SerializationInfo::add(const IColumn & column) { data.add(column); @@ -67,6 +80,13 @@ void SerializationInfo::add(const SerializationInfo & other) kind = chooseKind(data, settings); } +void SerializationInfo::addDefaults(size_t length) +{ + data.addDefaults(length); + if (settings.choose_kind) + kind = chooseKind(data, settings); +} + void SerializationInfo::replaceData(const SerializationInfo & other) { data = other.data; @@ -74,9 +94,7 @@ void SerializationInfo::replaceData(const SerializationInfo & other) MutableSerializationInfoPtr SerializationInfo::clone() const { - auto res = std::make_shared(kind, settings); - res->data = data; - return res; + return std::make_shared(kind, settings, data); } void SerializationInfo::serialializeKindBinary(WriteBuffer & out) const @@ -221,13 +239,8 @@ void SerializationInfoByName::readJSON(ReadBuffer & in) "Missed field '{}' in SerializationInfo of columns", KEY_NAME); auto name = elem_object->getValue(KEY_NAME); - auto it = find(name); - - if (it == end()) - throw Exception(ErrorCodes::CORRUPTED_DATA, - "There is no column {} in serialization infos", name); - - it->second->fromJSON(*elem_object); + if (auto it = find(name); it != end()) + it->second->fromJSON(*elem_object); } } } diff --git a/src/DataTypes/Serializations/SerializationInfo.h b/src/DataTypes/Serializations/SerializationInfo.h index d83fc16f2f6..a4a5685253f 100644 --- a/src/DataTypes/Serializations/SerializationInfo.h +++ b/src/DataTypes/Serializations/SerializationInfo.h @@ -34,6 +34,7 @@ public: void add(const IColumn & column); void add(const Data & other); + void addDefaults(size_t length); }; struct Settings @@ -45,6 +46,7 @@ public: }; SerializationInfo(ISerialization::Kind kind_, const Settings & settings_); + SerializationInfo(ISerialization::Kind kind_, const Settings & settings_, const Data & data_); virtual ~SerializationInfo() = default; @@ -52,7 +54,9 @@ public: virtual void add(const IColumn & column); virtual void add(const SerializationInfo & other); + virtual void addDefaults(size_t length); virtual void replaceData(const SerializationInfo & other); + virtual std::shared_ptr clone() const; virtual void serialializeKindBinary(WriteBuffer & out) const; @@ -61,6 +65,7 @@ public: virtual Poco::JSON::Object toJSON() const; virtual void fromJSON(const Poco::JSON::Object & object); + void setKind(ISerialization::Kind kind_) { kind = kind_; } const Settings & getSettings() const { return settings; } const Data & getData() const { return data; } ISerialization::Kind getKind() const { return kind; } diff --git a/src/DataTypes/Serializations/SerializationInfoTuple.cpp b/src/DataTypes/Serializations/SerializationInfoTuple.cpp index 803302f9642..d0fa5572a48 100644 --- a/src/DataTypes/Serializations/SerializationInfoTuple.cpp +++ b/src/DataTypes/Serializations/SerializationInfoTuple.cpp @@ -13,10 +13,14 @@ namespace ErrorCodes } SerializationInfoTuple::SerializationInfoTuple( - MutableSerializationInfos elems_, const Settings & settings_) + MutableSerializationInfos elems_, Names names_, const Settings & settings_) : SerializationInfo(ISerialization::Kind::DEFAULT, settings_) , elems(std::move(elems_)) + , names(std::move(names_)) { + assert(names.size() == elems.size()); + for (size_t i = 0; i < names.size(); ++i) + name_to_elem[names[i]] = elems[i]; } bool SerializationInfoTuple::hasCustomSerialization() const @@ -40,22 +44,34 @@ void SerializationInfoTuple::add(const SerializationInfo & other) { SerializationInfo::add(other); - const auto & info_tuple = assert_cast(other); - assert(elems.size() == info_tuple.elems.size()); + const auto & other_info = assert_cast(other); + for (const auto & [name, elem] : name_to_elem) + { + auto it = other_info.name_to_elem.find(name); + if (it != other_info.name_to_elem.end()) + elem->add(*it->second); + else + elem->addDefaults(other_info.getData().num_rows); + } +} - for (size_t i = 0; i < elems.size(); ++i) - elems[i]->add(*info_tuple.elems[i]); +void SerializationInfoTuple::addDefaults(size_t length) +{ + for (const auto & elem : elems) + elem->addDefaults(length); } void SerializationInfoTuple::replaceData(const SerializationInfo & other) { SerializationInfo::add(other); - const auto & info_tuple = assert_cast(other); - assert(elems.size() == info_tuple.elems.size()); - - for (size_t i = 0; i < elems.size(); ++i) - elems[i]->replaceData(*info_tuple.elems[i]); + const auto & other_info = assert_cast(other); + for (const auto & [name, elem] : name_to_elem) + { + auto it = other_info.name_to_elem.find(name); + if (it != other_info.name_to_elem.end()) + elem->replaceData(*it->second); + } } MutableSerializationInfoPtr SerializationInfoTuple::clone() const @@ -65,7 +81,7 @@ MutableSerializationInfoPtr SerializationInfoTuple::clone() const for (const auto & elem : elems) elems_cloned.push_back(elem->clone()); - return std::make_shared(std::move(elems_cloned), settings); + return std::make_shared(std::move(elems_cloned), names, settings); } void SerializationInfoTuple::serialializeKindBinary(WriteBuffer & out) const @@ -99,7 +115,7 @@ void SerializationInfoTuple::fromJSON(const Poco::JSON::Object & object) if (!object.has("subcolumns")) throw Exception(ErrorCodes::CORRUPTED_DATA, - "Missed field '{}' in SerializationInfo of columns SerializationInfoTuple"); + "Missed field 'subcolumns' in SerializationInfo of columns SerializationInfoTuple"); auto subcolumns = object.getArray("subcolumns"); if (elems.size() != subcolumns->size()) diff --git a/src/DataTypes/Serializations/SerializationInfoTuple.h b/src/DataTypes/Serializations/SerializationInfoTuple.h index d196f80393e..b01c629d2ff 100644 --- a/src/DataTypes/Serializations/SerializationInfoTuple.h +++ b/src/DataTypes/Serializations/SerializationInfoTuple.h @@ -1,4 +1,5 @@ #pragma once +#include #include namespace DB @@ -7,25 +8,32 @@ namespace DB class SerializationInfoTuple : public SerializationInfo { public: - SerializationInfoTuple(MutableSerializationInfos elems_, const Settings & settings_); + SerializationInfoTuple(MutableSerializationInfos elems_, Names names_, const Settings & settings_); bool hasCustomSerialization() const override; + void add(const IColumn & column) override; void add(const SerializationInfo & other) override; + void addDefaults(size_t length) override; void replaceData(const SerializationInfo & other) override; MutableSerializationInfoPtr clone() const override; + void serialializeKindBinary(WriteBuffer & out) const override; void deserializeFromKindsBinary(ReadBuffer & in) override; Poco::JSON::Object toJSON() const override; void fromJSON(const Poco::JSON::Object & object) override; - MutableSerializationInfoPtr getElementInfo(size_t i) const { return elems[i]; } + const MutableSerializationInfoPtr & getElementInfo(size_t i) const { return elems[i]; } ISerialization::Kind getElementKind(size_t i) const { return elems[i]->getKind(); } private: MutableSerializationInfos elems; + Names names; + + using NameToElem = std::unordered_map; + NameToElem name_to_elem; }; } diff --git a/src/DataTypes/Serializations/SerializationLowCardinality.cpp b/src/DataTypes/Serializations/SerializationLowCardinality.cpp index c79f588e46c..8e19c5a740b 100644 --- a/src/DataTypes/Serializations/SerializationLowCardinality.cpp +++ b/src/DataTypes/Serializations/SerializationLowCardinality.cpp @@ -511,8 +511,6 @@ void SerializationLowCardinality::serializeBinaryBulkWithMultipleStreams( /// Insert used_keys into global dictionary and update sub_index. auto indexes_with_overflow = global_dictionary->uniqueInsertRangeWithOverflow(*keys, 0, keys->size(), settings.low_cardinality_max_dictionary_size); - // size_t max_size = settings.low_cardinality_max_dictionary_size + indexes_with_overflow.overflowed_keys->size(); - // ColumnLowCardinality::Index(indexes_with_overflow.indexes->getPtr()).check(max_size); if (global_dictionary->size() > settings.low_cardinality_max_dictionary_size) throw Exception("Got dictionary with size " + toString(global_dictionary->size()) + @@ -656,11 +654,6 @@ void SerializationLowCardinality::deserializeBinaryBulkWithMultipleStreams( { auto maps = mapIndexWithAdditionalKeys(*indexes_column, global_dictionary->size()); - // ColumnLowCardinality::Index(maps.additional_keys_map->getPtr()).check(additional_keys->size()); - - // ColumnLowCardinality::Index(indexes_column->getPtr()).check( - // maps.dictionary_map->size() + maps.additional_keys_map->size()); - auto used_keys = IColumn::mutate(global_dictionary->getNestedColumn()->index(*maps.dictionary_map, 0)); if (!maps.additional_keys_map->empty()) diff --git a/src/DataTypes/Serializations/SerializationLowCardinality.h b/src/DataTypes/Serializations/SerializationLowCardinality.h index 0a3597e86c7..96e3a297d6a 100644 --- a/src/DataTypes/Serializations/SerializationLowCardinality.h +++ b/src/DataTypes/Serializations/SerializationLowCardinality.h @@ -78,9 +78,6 @@ private: template void deserializeImpl(IColumn & column, DeserializeFunctionPtr func, Args &&... args) const; - - // template - // static MutableColumnUniquePtr createColumnUniqueImpl(const IDataType & keys_type, const Creator & creator); }; } diff --git a/src/DataTypes/Serializations/SerializationObject.cpp b/src/DataTypes/Serializations/SerializationObject.cpp index 2d6555dcb43..cf49fa8798d 100644 --- a/src/DataTypes/Serializations/SerializationObject.cpp +++ b/src/DataTypes/Serializations/SerializationObject.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -9,12 +10,17 @@ #include #include #include +#include +#include #include #include #include #include +#include +#include +#include namespace DB { @@ -27,71 +33,6 @@ namespace ErrorCodes extern const int LOGICAL_ERROR; } -namespace -{ - -using Node = typename ColumnObject::Subcolumns::Node; - -/// Finds a subcolumn from the same Nested type as @entry and inserts -/// an array with default values with consistent sizes as in Nested type. -bool tryInsertDefaultFromNested( - const std::shared_ptr & entry, const ColumnObject::Subcolumns & subcolumns) -{ - if (!entry->path.hasNested()) - return false; - - const Node * current_node = subcolumns.findLeaf(entry->path); - const Node * leaf = nullptr; - size_t num_skipped_nested = 0; - - while (current_node) - { - /// Try to find the first Nested up to the current node. - const auto * node_nested = subcolumns.findParent(current_node, - [](const auto & candidate) { return candidate.isNested(); }); - - if (!node_nested) - break; - - /// If there are no leaves, skip current node and find - /// the next node up to the current. - leaf = subcolumns.findLeaf(node_nested, - [&](const auto & candidate) - { - return candidate.data.size() == entry->data.size() + 1; - }); - - if (leaf) - break; - - current_node = node_nested->parent; - ++num_skipped_nested; - } - - if (!leaf) - return false; - - auto last_field = leaf->data.getLastField(); - if (last_field.isNull()) - return false; - - const auto & least_common_type = entry->data.getLeastCommonType(); - size_t num_dimensions = getNumberOfDimensions(*least_common_type); - assert(num_skipped_nested < num_dimensions); - - /// Replace scalars to default values with consistent array sizes. - size_t num_dimensions_to_keep = num_dimensions - num_skipped_nested; - auto default_scalar = num_skipped_nested - ? createEmptyArrayField(num_skipped_nested) - : getBaseTypeOfArray(least_common_type)->getDefault(); - - auto default_field = applyVisitor(FieldVisitorReplaceScalars(default_scalar, num_dimensions_to_keep), last_field); - entry->data.insert(std::move(default_field)); - return true; -} - -} - template template void SerializationObject::deserializeTextImpl(IColumn & column, Reader && reader) const @@ -120,29 +61,23 @@ void SerializationObject::deserializeTextImpl(IColumn & column, Reader & auto & [paths, values] = *result; assert(paths.size() == values.size()); - HashSet paths_set; - size_t column_size = column_object.size(); - + size_t old_column_size = column_object.size(); for (size_t i = 0; i < paths.size(); ++i) { auto field_info = getFieldInfo(values[i]); if (isNothing(field_info.scalar_type)) continue; - if (!paths_set.insert(paths[i].getPath()).second) - throw Exception(ErrorCodes::INCORRECT_DATA, - "Object has ambiguous path: {}", paths[i].getPath()); - if (!column_object.hasSubcolumn(paths[i])) { if (paths[i].hasNested()) - column_object.addNestedSubcolumn(paths[i], field_info, column_size); + column_object.addNestedSubcolumn(paths[i], field_info, old_column_size); else - column_object.addSubcolumn(paths[i], column_size); + column_object.addSubcolumn(paths[i], old_column_size); } auto & subcolumn = column_object.getSubcolumn(paths[i]); - assert(subcolumn.size() == column_size); + assert(subcolumn.size() == old_column_size); subcolumn.insert(std::move(values[i]), std::move(field_info)); } @@ -151,9 +86,9 @@ void SerializationObject::deserializeTextImpl(IColumn & column, Reader & const auto & subcolumns = column_object.getSubcolumns(); for (const auto & entry : subcolumns) { - if (!paths_set.has(entry->path.getPath())) + if (entry->data.size() == old_column_size) { - bool inserted = tryInsertDefaultFromNested(entry, subcolumns); + bool inserted = column_object.tryInsertDefaultFromNested(entry); if (!inserted) entry->data.insertDefault(); } @@ -193,24 +128,51 @@ void SerializationObject::deserializeTextCSV(IColumn & column, ReadBuffe } template -template -void SerializationObject::checkSerializationIsSupported(const TSettings & settings, const TStatePtr & state) const +template +void SerializationObject::checkSerializationIsSupported(const TSettings & settings) const { if (settings.position_independent_encoding) throw Exception(ErrorCodes::NOT_IMPLEMENTED, "DataTypeObject doesn't support serialization with position independent encoding"); - - if (state) - throw Exception(ErrorCodes::NOT_IMPLEMENTED, - "DataTypeObject doesn't support serialization with non-trivial state"); } +template +struct SerializationObject::SerializeStateObject : public ISerialization::SerializeBinaryBulkState +{ + bool is_first = true; + DataTypePtr nested_type; + SerializationPtr nested_serialization; + SerializeBinaryBulkStatePtr nested_state; +}; + +template +struct SerializationObject::DeserializeStateObject : public ISerialization::DeserializeBinaryBulkState +{ + BinarySerializationKind kind; + DataTypePtr nested_type; + SerializationPtr nested_serialization; + DeserializeBinaryBulkStatePtr nested_state; +}; + template void SerializationObject::serializeBinaryBulkStatePrefix( SerializeBinaryBulkSettings & settings, SerializeBinaryBulkStatePtr & state) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); + if (state) + throw Exception(ErrorCodes::NOT_IMPLEMENTED, + "DataTypeObject doesn't support serialization with non-trivial state"); + + settings.path.push_back(Substream::ObjectStructure); + auto * stream = settings.getter(settings.path); + settings.path.pop_back(); + + if (!stream) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Missing stream for kind of binary serialization"); + + writeIntBinary(static_cast(BinarySerializationKind::TUPLE), *stream); + state = std::make_shared(); } template @@ -218,7 +180,12 @@ void SerializationObject::serializeBinaryBulkStateSuffix( SerializeBinaryBulkSettings & settings, SerializeBinaryBulkStatePtr & state) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); + auto * state_object = checkAndGetState(state); + + settings.path.push_back(Substream::ObjectData); + state_object->nested_serialization->serializeBinaryBulkStateSuffix(settings, state_object->nested_state); + settings.path.pop_back(); } template @@ -226,7 +193,56 @@ void SerializationObject::deserializeBinaryBulkStatePrefix( DeserializeBinaryBulkSettings & settings, DeserializeBinaryBulkStatePtr & state) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); + if (state) + throw Exception(ErrorCodes::NOT_IMPLEMENTED, + "DataTypeObject doesn't support serialization with non-trivial state"); + + settings.path.push_back(Substream::ObjectStructure); + auto * stream = settings.getter(settings.path); + settings.path.pop_back(); + + if (!stream) + throw Exception(ErrorCodes::CANNOT_READ_ALL_DATA, + "Cannot read kind of binary serialization of DataTypeObject, because its stream is missing"); + + UInt8 kind_raw; + readIntBinary(kind_raw, *stream); + auto kind = magic_enum::enum_cast(kind_raw); + if (!kind) + throw Exception(ErrorCodes::INCORRECT_DATA, + "Unknown binary serialization kind of Object: " + std::to_string(kind_raw)); + + auto state_object = std::make_shared(); + state_object->kind = *kind; + + if (state_object->kind == BinarySerializationKind::TUPLE) + { + String data_type_name; + readStringBinary(data_type_name, *stream); + state_object->nested_type = DataTypeFactory::instance().get(data_type_name); + state_object->nested_serialization = state_object->nested_type->getDefaultSerialization(); + + if (!isTuple(state_object->nested_type)) + throw Exception(ErrorCodes::INCORRECT_DATA, + "Data of type Object should be written as Tuple, got: {}", data_type_name); + } + else if (state_object->kind == BinarySerializationKind::STRING) + { + state_object->nested_type = std::make_shared(); + state_object->nested_serialization = std::make_shared(); + } + else + { + throw Exception(ErrorCodes::INCORRECT_DATA, + "Unknown binary serialization kind of Object: " + std::to_string(kind_raw)); + } + + settings.path.push_back(Substream::ObjectData); + state_object->nested_serialization->deserializeBinaryBulkStatePrefix(settings, state_object->nested_state); + settings.path.pop_back(); + + state = std::move(state_object); } template @@ -237,36 +253,45 @@ void SerializationObject::serializeBinaryBulkWithMultipleStreams( SerializeBinaryBulkSettings & settings, SerializeBinaryBulkStatePtr & state) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); const auto & column_object = assert_cast(column); + auto * state_object = checkAndGetState(state); if (!column_object.isFinalized()) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot write non-finalized ColumnObject"); - settings.path.push_back(Substream::ObjectStructure); - if (auto * stream = settings.getter(settings.path)) - writeVarUInt(column_object.getSubcolumns().size(), *stream); + auto [tuple_column, tuple_type] = unflattenObjectToTuple(column_object); - const auto & subcolumns = column_object.getSubcolumns(); - for (const auto & entry : subcolumns) + if (state_object->is_first) { - settings.path.back() = Substream::ObjectStructure; - settings.path.back().object_key_name = entry->path.getPath(); + /// Actually it's a part of serializeBinaryBulkStatePrefix, + /// but it cannot be done there, because we have to know the + /// structure of column. - const auto & type = entry->data.getLeastCommonType(); + settings.path.push_back(Substream::ObjectStructure); if (auto * stream = settings.getter(settings.path)) - { - entry->path.writeBinary(*stream); - writeStringBinary(type->getName(), *stream); - } + writeStringBinary(tuple_type->getName(), *stream); - settings.path.back() = Substream::ObjectElement; - if (auto * stream = settings.getter(settings.path)) - { - auto serialization = type->getDefaultSerialization(); - serialization->serializeBinaryBulkWithMultipleStreams( - entry->data.getFinalizedColumn(), offset, limit, settings, state); - } + state_object->nested_type = tuple_type; + state_object->nested_serialization = tuple_type->getDefaultSerialization(); + state_object->is_first = false; + + settings.path.back() = Substream::ObjectData; + state_object->nested_serialization->serializeBinaryBulkStatePrefix(settings, state_object->nested_state); + settings.path.pop_back(); + } + else if (!state_object->nested_type->equals(*tuple_type)) + { + throw Exception(ErrorCodes::LOGICAL_ERROR, + "Types of internal column of Object mismatched. Expected: {}, Got: {}", + state_object->nested_type->getName(), tuple_type->getName()); + } + + settings.path.push_back(Substream::ObjectData); + if (auto * stream = settings.getter(settings.path)) + { + state_object->nested_serialization->serializeBinaryBulkWithMultipleStreams( + *tuple_column, offset, limit, settings, state_object->nested_state); } settings.path.pop_back(); @@ -280,54 +305,20 @@ void SerializationObject::deserializeBinaryBulkWithMultipleStreams( DeserializeBinaryBulkStatePtr & state, SubstreamsCache * cache) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); if (!column->empty()) throw Exception(ErrorCodes::NOT_IMPLEMENTED, "DataTypeObject cannot be deserialized to non-empty column"); auto mutable_column = column->assumeMutable(); - auto & column_object = typeid_cast(*mutable_column); + auto & column_object = assert_cast(*mutable_column); + auto * state_object = checkAndGetState(state); - size_t num_subcolumns = 0; - settings.path.push_back(Substream::ObjectStructure); - if (auto * stream = settings.getter(settings.path)) - readVarUInt(num_subcolumns, *stream); - - settings.path.back() = Substream::ObjectElement; - for (size_t i = 0; i < num_subcolumns; ++i) - { - PathInData key; - String type_name; - - settings.path.back() = Substream::ObjectStructure; - if (auto * stream = settings.getter(settings.path)) - { - key.readBinary(*stream); - readStringBinary(type_name, *stream); - } - else - { - throw Exception(ErrorCodes::CANNOT_READ_ALL_DATA, - "Cannot read structure of DataTypeObject, because its stream is missing"); - } - - settings.path.back() = Substream::ObjectElement; - settings.path.back().object_key_name = key.getPath(); - - if (auto * stream = settings.getter(settings.path)) - { - auto type = DataTypeFactory::instance().get(type_name); - auto serialization = type->getDefaultSerialization(); - ColumnPtr subcolumn_data = type->createColumn(); - serialization->deserializeBinaryBulkWithMultipleStreams(subcolumn_data, limit, settings, state, cache); - column_object.addSubcolumn(key, subcolumn_data->assumeMutable()); - } - else - { - throw Exception(ErrorCodes::CANNOT_READ_ALL_DATA, - "Cannot read subcolumn '{}' of DataTypeObject, because its stream is missing", key.getPath()); - } - } + settings.path.push_back(Substream::ObjectData); + if (state_object->kind == BinarySerializationKind::STRING) + deserializeBinaryBulkFromString(column_object, limit, settings, *state_object, cache); + else + deserializeBinaryBulkFromTuple(column_object, limit, settings, *state_object, cache); settings.path.pop_back(); column_object.checkConsistency(); @@ -335,6 +326,49 @@ void SerializationObject::deserializeBinaryBulkWithMultipleStreams( column = std::move(mutable_column); } +template +void SerializationObject::deserializeBinaryBulkFromString( + ColumnObject & column_object, + size_t limit, + DeserializeBinaryBulkSettings & settings, + DeserializeStateObject & state, + SubstreamsCache * cache) const +{ + ColumnPtr column_string = state.nested_type->createColumn(); + state.nested_serialization->deserializeBinaryBulkWithMultipleStreams( + column_string, limit, settings, state.nested_state, cache); + + ConvertImplGenericFromString::executeImpl(*column_string, column_object, *this, column_string->size()); +} + +template +void SerializationObject::deserializeBinaryBulkFromTuple( + ColumnObject & column_object, + size_t limit, + DeserializeBinaryBulkSettings & settings, + DeserializeStateObject & state, + SubstreamsCache * cache) const +{ + ColumnPtr column_tuple = state.nested_type->createColumn(); + state.nested_serialization->deserializeBinaryBulkWithMultipleStreams( + column_tuple, limit, settings, state.nested_state, cache); + + auto [tuple_paths, tuple_types] = flattenTuple(state.nested_type); + auto flattened_tuple = flattenTuple(column_tuple); + const auto & tuple_columns = assert_cast(*flattened_tuple).getColumns(); + + assert(tuple_paths.size() == tuple_types.size()); + size_t num_subcolumns = tuple_paths.size(); + + if (tuple_columns.size() != num_subcolumns) + throw Exception(ErrorCodes::INCORRECT_DATA, + "Inconsistent type ({}) and column ({}) while reading column of type Object", + state.nested_type->getName(), column_tuple->getName()); + + for (size_t i = 0; i < num_subcolumns; ++i) + column_object.addSubcolumn(tuple_paths[i], tuple_columns[i]->assumeMutable()); +} + template void SerializationObject::serializeBinary(const Field &, WriteBuffer &) const { diff --git a/src/DataTypes/Serializations/SerializationObject.h b/src/DataTypes/Serializations/SerializationObject.h index 549c8735aee..ff72c84faaa 100644 --- a/src/DataTypes/Serializations/SerializationObject.h +++ b/src/DataTypes/Serializations/SerializationObject.h @@ -1,19 +1,35 @@ #pragma once +#include #include #include namespace DB { -/// Serialization for data type Object. -/// Supported only test serialization/deserialization. -/// and binary bulk serialization/deserialization without position independent -/// encoding, i.e. serialization/deserialization into Native format. +/** Serialization for data type Object. + * Supported only test serialization/deserialization. + * and binary bulk serialization/deserialization without position independent + * encoding, i.e. serialization/deserialization into Native format. + */ template class SerializationObject : public ISerialization { public: + /** In Native format ColumnObject can be serialized + * in two formats: as Tuple or as String. + * The format is the following: + * + * 1 byte -- 0 if Tuple, 1 if String. + * [type_name] -- Only for tuple serialization. + * ... data of internal column ... + * + * ClickHouse client serializazes objects as tuples. + * String serialization exists for clients, which cannot + * do parsing by themselves and they can send raw data as + * string. It will be parsed on the server side. + */ + void serializeBinaryBulkStatePrefix( SerializeBinaryBulkSettings & settings, SerializeBinaryBulkStatePtr & state) const override; @@ -58,8 +74,31 @@ public: void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const FormatSettings & settings) const override; private: - template - void checkSerializationIsSupported(const TSettings & settings, const TStatePtr & state) const; + enum class BinarySerializationKind : UInt8 + { + TUPLE = 0, + STRING = 1, + }; + + struct SerializeStateObject; + struct DeserializeStateObject; + + void deserializeBinaryBulkFromString( + ColumnObject & column_object, + size_t limit, + DeserializeBinaryBulkSettings & settings, + DeserializeStateObject & state, + SubstreamsCache * cache) const; + + void deserializeBinaryBulkFromTuple( + ColumnObject & column_object, + size_t limit, + DeserializeBinaryBulkSettings & settings, + DeserializeStateObject & state, + SubstreamsCache * cache) const; + + template + void checkSerializationIsSupported(const TSettings & settings) const; template void deserializeTextImpl(IColumn & column, Reader && reader) const; diff --git a/src/DataTypes/Serializations/SerializationSparse.cpp b/src/DataTypes/Serializations/SerializationSparse.cpp index 64db248c5fc..6fa40e460c5 100644 --- a/src/DataTypes/Serializations/SerializationSparse.cpp +++ b/src/DataTypes/Serializations/SerializationSparse.cpp @@ -263,6 +263,12 @@ void SerializationSparse::deserializeBinaryBulkWithMultipleStreams( { auto * state_sparse = checkAndGetState(state); + if (auto cached_column = getFromSubstreamsCache(cache, settings.path)) + { + column = cached_column; + return; + } + if (!settings.continuous_reading) state_sparse->reset(); @@ -281,7 +287,8 @@ void SerializationSparse::deserializeBinaryBulkWithMultipleStreams( size_t values_limit = offsets_data.size() - old_size; settings.path.back() = Substream::SparseElements; - nested->deserializeBinaryBulkWithMultipleStreams(values_column, values_limit, settings, state_sparse->nested, cache); + /// Do not use substream cache while reading values column, because ColumnSparse can be cached only in a whole. + nested->deserializeBinaryBulkWithMultipleStreams(values_column, values_limit, settings, state_sparse->nested, nullptr); settings.path.pop_back(); if (offsets_data.size() + 1 != values_column->size()) @@ -291,6 +298,7 @@ void SerializationSparse::deserializeBinaryBulkWithMultipleStreams( /// 'insertManyDefaults' just increases size of column. column_sparse.insertManyDefaults(read_rows); column = std::move(mutable_column); + addToSubstreamsCache(cache, settings.path, column); } /// All methods below just wrap nested serialization. diff --git a/src/DataTypes/Serializations/SerializationString.cpp b/src/DataTypes/Serializations/SerializationString.cpp index 5614e970315..e07fd4f26cf 100644 --- a/src/DataTypes/Serializations/SerializationString.cpp +++ b/src/DataTypes/Serializations/SerializationString.cpp @@ -213,7 +213,7 @@ void SerializationString::serializeText(const IColumn & column, size_t row_num, void SerializationString::serializeTextEscaped(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings &) const { - writeEscapedString(assert_cast(column).getDataAt(row_num), ostr); + writeEscapedString(assert_cast(column).getDataAt(row_num).toView(), ostr); } @@ -266,7 +266,7 @@ void SerializationString::deserializeTextQuoted(IColumn & column, ReadBuffer & i void SerializationString::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const { - writeJSONString(assert_cast(column).getDataAt(row_num), ostr, settings); + writeJSONString(assert_cast(column).getDataAt(row_num).toView(), ostr, settings); } @@ -278,7 +278,7 @@ void SerializationString::deserializeTextJSON(IColumn & column, ReadBuffer & ist void SerializationString::serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings &) const { - writeXMLStringForTextElement(assert_cast(column).getDataAt(row_num), ostr); + writeXMLStringForTextElement(assert_cast(column).getDataAt(row_num).toView(), ostr); } diff --git a/src/DataTypes/Serializations/SerializationTuple.cpp b/src/DataTypes/Serializations/SerializationTuple.cpp index 8dc15fc9841..8138b15c9af 100644 --- a/src/DataTypes/Serializations/SerializationTuple.cpp +++ b/src/DataTypes/Serializations/SerializationTuple.cpp @@ -135,20 +135,21 @@ void SerializationTuple::deserializeText(IColumn & column, ReadBuffer & istr, co } elems[i]->deserializeTextQuoted(extractElementColumn(column, i), istr, settings); } - }); - // Special format for one element tuple (1,) - if (1 == elems.size()) - { + // Special format for one element tuple (1,) + if (1 == elems.size()) + { + skipWhitespaceIfAny(istr); + // Allow both (1) and (1,) + checkChar(',', istr); + } + skipWhitespaceIfAny(istr); - // Allow both (1) and (1,) - checkChar(',', istr); - } - skipWhitespaceIfAny(istr); - assertChar(')', istr); + assertChar(')', istr); - if (whole && !istr.eof()) - throwUnexpectedDataAfterParsedValue(column, istr, settings, "Tuple"); + if (whole && !istr.eof()) + throwUnexpectedDataAfterParsedValue(column, istr, settings, "Tuple"); + }); } void SerializationTuple::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const @@ -213,19 +214,18 @@ void SerializationTuple::deserializeTextJSON(IColumn & column, ReadBuffer & istr auto & element_column = extractElementColumn(column, element_pos); elems[element_pos]->deserializeTextJSON(element_column, istr, settings); } - }); - skipWhitespaceIfAny(istr); - assertChar('}', istr); + skipWhitespaceIfAny(istr); + assertChar('}', istr); + }); } else { - const size_t size = elems.size(); assertChar('[', istr); addElementSafe(elems.size(), column, [&] { - for (size_t i = 0; i < size; ++i) + for (size_t i = 0; i < elems.size(); ++i) { skipWhitespaceIfAny(istr); if (i != 0) @@ -235,10 +235,10 @@ void SerializationTuple::deserializeTextJSON(IColumn & column, ReadBuffer & istr } elems[i]->deserializeTextJSON(extractElementColumn(column, i), istr, settings); } - }); - skipWhitespaceIfAny(istr); - assertChar(']', istr); + skipWhitespaceIfAny(istr); + assertChar(']', istr); + }); } } diff --git a/src/DataTypes/Serializations/tests/gtest_object_serialization.cpp b/src/DataTypes/Serializations/tests/gtest_object_serialization.cpp new file mode 100644 index 00000000000..f1fbbe115e2 --- /dev/null +++ b/src/DataTypes/Serializations/tests/gtest_object_serialization.cpp @@ -0,0 +1,80 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#if USE_SIMDJSON + +using namespace DB; + +TEST(SerializationObject, FromString) +{ + WriteBufferFromOwnString out; + + auto column_string = ColumnString::create(); + column_string->insert(R"({"k1" : 1, "k2" : [{"k3" : "aa", "k4" : 2}, {"k3": "bb", "k4": 3}]})"); + column_string->insert(R"({"k1" : 2, "k2" : [{"k3" : "cc", "k5" : 4}, {"k4": 5}, {"k4": 6}]})"); + + { + auto serialization = std::make_shared(); + + ISerialization::SerializeBinaryBulkSettings settings; + ISerialization::SerializeBinaryBulkStatePtr state; + settings.position_independent_encoding = false; + settings.getter = [&out](const auto &) { return &out; }; + + writeIntBinary(static_cast(1), out); + serialization->serializeBinaryBulkStatePrefix(settings, state); + serialization->serializeBinaryBulkWithMultipleStreams(*column_string, 0, column_string->size(), settings, state); + serialization->serializeBinaryBulkStateSuffix(settings, state); + } + + auto type_object = std::make_shared("json", false); + ColumnPtr result_column = type_object->createColumn(); + + ReadBufferFromOwnString in(out.str()); + + { + auto serialization = type_object->getDefaultSerialization(); + + ISerialization::DeserializeBinaryBulkSettings settings; + ISerialization::DeserializeBinaryBulkStatePtr state; + settings.position_independent_encoding = false; + settings.getter = [&in](const auto &) { return ∈ }; + + serialization->deserializeBinaryBulkStatePrefix(settings, state); + serialization->deserializeBinaryBulkWithMultipleStreams(result_column, column_string->size(), settings, state, nullptr); + } + + auto & column_object = assert_cast(*result_column->assumeMutable()); + column_object.finalize(); + + ASSERT_TRUE(column_object.size() == 2); + ASSERT_TRUE(column_object.getSubcolumns().size() == 4); + + auto check_subcolumn = [&](const auto & name, const auto & type_name, const std::vector & expected) + { + const auto & subcolumn = column_object.getSubcolumn(PathInData{name}); + ASSERT_EQ(subcolumn.getLeastCommonType()->getName(), type_name); + + const auto & data = subcolumn.getFinalizedColumn(); + for (size_t i = 0; i < expected.size(); ++i) + ASSERT_EQ( + applyVisitor(FieldVisitorToString(), data[i]), + applyVisitor(FieldVisitorToString(), expected[i])); + }; + + check_subcolumn("k1", "Int8", {1, 2}); + check_subcolumn("k2.k3", "Array(String)", {Array{"aa", "bb"}, Array{"cc", "", ""}}); + check_subcolumn("k2.k4", "Array(Int8)", {Array{2, 3}, Array{0, 5, 6}}); + check_subcolumn("k2.k5", "Array(Int8)", {Array{0, 0}, Array{4, 0, 0}}); +} + +#endif diff --git a/src/DataTypes/getLeastSupertype.cpp b/src/DataTypes/getLeastSupertype.cpp index 14cfafb1ef3..fee3cf1553e 100644 --- a/src/DataTypes/getLeastSupertype.cpp +++ b/src/DataTypes/getLeastSupertype.cpp @@ -55,16 +55,24 @@ String getExceptionMessagePrefix(const DataTypes & types) return res.str(); } -DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_string) +template +DataTypePtr throwOrReturn(const DataTypes & types, std::string_view message_suffix, int error_code) { - auto throw_or_return = [&](std::string_view message, int error_code) - { - if (allow_conversion_to_string) - return std::make_shared(); + if constexpr (on_error == LeastSupertypeOnError::String) + return std::make_shared(); - throw Exception(String(message), error_code); - }; + if constexpr (on_error == LeastSupertypeOnError::Null) + return nullptr; + if (message_suffix.empty()) + throw Exception(error_code, getExceptionMessagePrefix(types)); + + throw Exception(error_code, "{} {}", getExceptionMessagePrefix(types), message_suffix); +} + +template +DataTypePtr getNumericType(const TypeIndexSet & types) +{ bool all_numbers = true; size_t max_bits_of_signed_integer = 0; @@ -107,14 +115,14 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ maximize(max_mantissa_bits_of_floating, 24); else if (type == TypeIndex::Float64) maximize(max_mantissa_bits_of_floating, 53); - else + else if (type != TypeIndex::Nothing) all_numbers = false; } if (max_bits_of_signed_integer || max_bits_of_unsigned_integer || max_mantissa_bits_of_floating) { if (!all_numbers) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are numbers and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are numbers and some of them are not", ErrorCodes::NO_COMMON_TYPE); /// If there are signed and unsigned types of same bit-width, the result must be signed number with at least one more bit. /// Example, common of Int32, UInt32 = Int64. @@ -129,10 +137,9 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ if (min_bit_width_of_integer != 64) ++min_bit_width_of_integer; else - return throw_or_return( - getExceptionMessagePrefix(types) - + " because some of them are signed integers and some are unsigned integers," - " but there is no signed integer type, that can exactly represent all required unsigned integer values", + return throwOrReturn(types, + "because some of them are signed integers and some are unsigned integers," + " but there is no signed integer type, that can exactly represent all required unsigned integer values", ErrorCodes::NO_COMMON_TYPE); } @@ -145,8 +152,8 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ else if (min_mantissa_bits <= 53) return std::make_shared(); else - return throw_or_return(getExceptionMessagePrefix(types) - + " because some of them are integers and some are floating point," + return throwOrReturn(types, + " because some of them are integers and some are floating point," " but there is no floating point type, that can exactly represent all required integers", ErrorCodes::NO_COMMON_TYPE); } @@ -166,8 +173,8 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ else if (min_bit_width_of_integer <= 256) return std::make_shared(); else - return throw_or_return(getExceptionMessagePrefix(types) - + " because some of them are signed integers and some are unsigned integers," + return throwOrReturn(types, + " because some of them are signed integers and some are unsigned integers," " but there is no signed integer type, that can exactly represent all required unsigned integer values", ErrorCodes::NO_COMMON_TYPE); } @@ -186,9 +193,8 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ else if (min_bit_width_of_integer <= 256) return std::make_shared(); else - return throw_or_return("Logical error: " + getExceptionMessagePrefix(types) - + " but as all data types are unsigned integers, we must have found maximum unsigned integer type", ErrorCodes::NO_COMMON_TYPE); - + return throwOrReturn(types, + " but as all data types are unsigned integers, we must have found maximum unsigned integer type", ErrorCodes::NO_COMMON_TYPE); } } @@ -197,16 +203,9 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ } -DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_string) +template +DataTypePtr getLeastSupertype(const DataTypes & types) { - auto throw_or_return = [&](std::string_view message, int error_code) - { - if (allow_conversion_to_string) - return std::make_shared(); - - throw Exception(String(message), error_code); - }; - /// Trivial cases if (types.empty()) @@ -243,7 +242,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ non_nothing_types.emplace_back(type); if (non_nothing_types.size() < types.size()) - return getLeastSupertype(non_nothing_types, allow_conversion_to_string); + return getLeastSupertype(non_nothing_types); } /// For Arrays @@ -268,9 +267,15 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_array) { if (!all_arrays) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are Array and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are Array and some of them are not", ErrorCodes::NO_COMMON_TYPE); - return std::make_shared(getLeastSupertype(nested_types, allow_conversion_to_string)); + auto nested_type = getLeastSupertype(nested_types); + /// When on_error == LeastSupertypeOnError::Null and we cannot get least supertype, + /// nested_type will be nullptr, we should return nullptr in this case. + if (!nested_type) + return nullptr; + + return std::make_shared(nested_type); } } @@ -294,7 +299,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ nested_types[elem_idx].reserve(types.size()); } else if (tuple_size != type_tuple->getElements().size()) - return throw_or_return(getExceptionMessagePrefix(types) + " because Tuples have different sizes", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because Tuples have different sizes", ErrorCodes::NO_COMMON_TYPE); have_tuple = true; @@ -308,11 +313,18 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_tuple) { if (!all_tuples) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are Tuple and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are Tuple and some of them are not", ErrorCodes::NO_COMMON_TYPE); DataTypes common_tuple_types(tuple_size); for (size_t elem_idx = 0; elem_idx < tuple_size; ++elem_idx) - common_tuple_types[elem_idx] = getLeastSupertype(nested_types[elem_idx], allow_conversion_to_string); + { + auto common_type = getLeastSupertype(nested_types[elem_idx]); + /// When on_error == LeastSupertypeOnError::Null and we cannot get least supertype, + /// common_type will be nullptr, we should return nullptr in this case. + if (!common_type) + return nullptr; + common_tuple_types[elem_idx] = common_type; + } return std::make_shared(common_tuple_types); } @@ -342,11 +354,16 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_maps) { if (!all_maps) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are Maps and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are Maps and some of them are not", ErrorCodes::NO_COMMON_TYPE); - return std::make_shared( - getLeastSupertype(key_types, allow_conversion_to_string), - getLeastSupertype(value_types, allow_conversion_to_string)); + auto keys_common_type = getLeastSupertype(key_types); + auto values_common_type = getLeastSupertype(value_types); + /// When on_error == LeastSupertypeOnError::Null and we cannot get least supertype for keys or values, + /// keys_common_type or values_common_type will be nullptr, we should return nullptr in this case. + if (!keys_common_type || !values_common_type) + return nullptr; + + return std::make_shared(keys_common_type, values_common_type); } } @@ -377,9 +394,16 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_low_cardinality) { if (have_not_low_cardinality) - return getLeastSupertype(nested_types, allow_conversion_to_string); + return getLeastSupertype(nested_types); else - return std::make_shared(getLeastSupertype(nested_types, allow_conversion_to_string)); + { + auto nested_type = getLeastSupertype(nested_types); + /// When on_error == LeastSupertypeOnError::Null and we cannot get least supertype, + /// nested_type will be nullptr, we should return nullptr in this case. + if (!nested_type) + return nullptr; + return std::make_shared(nested_type); + } } } @@ -405,7 +429,12 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_nullable) { - return std::make_shared(getLeastSupertype(nested_types, allow_conversion_to_string)); + auto nested_type = getLeastSupertype(nested_types); + /// When on_error == LeastSupertypeOnError::Null and we cannot get least supertype, + /// nested_type will be nullptr, we should return nullptr in this case. + if (!nested_type) + return nullptr; + return std::make_shared(nested_type); } } @@ -425,7 +454,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ { bool all_strings = type_ids.size() == (have_string + have_fixed_string); if (!all_strings) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are String/FixedString and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are String/FixedString and some of them are not", ErrorCodes::NO_COMMON_TYPE); return std::make_shared(); } @@ -442,8 +471,8 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ { bool all_date_or_datetime = type_ids.size() == (have_date + have_date32 + have_datetime + have_datetime64); if (!all_date_or_datetime) - return throw_or_return(getExceptionMessagePrefix(types) - + " because some of them are Date/Date32/DateTime/DateTime64 and some of them are not", + return throwOrReturn(types, + "because some of them are Date/Date32/DateTime/DateTime64 and some of them are not", ErrorCodes::NO_COMMON_TYPE); if (have_datetime64 == 0 && have_date32 == 0) @@ -520,13 +549,16 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ } if (num_supported != type_ids.size()) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them have no lossless conversion to Decimal", - ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them have no lossless conversion to Decimal", ErrorCodes::NO_COMMON_TYPE); UInt32 max_scale = 0; for (const auto & type : types) { - UInt32 scale = getDecimalScale(*type, 0); + auto type_id = type->getTypeId(); + if (type_id != TypeIndex::Decimal32 && type_id != TypeIndex::Decimal64 && type_id != TypeIndex::Decimal128) + continue; + + UInt32 scale = getDecimalScale(*type); if (scale > max_scale) max_scale = scale; } @@ -543,7 +575,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ } if (min_precision > DataTypeDecimal::maxPrecision()) - return throw_or_return(getExceptionMessagePrefix(types) + " because the least supertype is Decimal(" + return throwOrReturn(types, "because the least supertype is Decimal(" + toString(min_precision) + ',' + toString(max_scale) + ')', ErrorCodes::NO_COMMON_TYPE); @@ -557,68 +589,77 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ /// For numeric types, the most complicated part. { - auto numeric_type = getNumericType(type_ids, allow_conversion_to_string); + auto numeric_type = getNumericType(type_ids); if (numeric_type) return numeric_type; } /// All other data types (UUID, AggregateFunction, Enum...) are compatible only if they are the same (checked in trivial cases). - return throw_or_return(getExceptionMessagePrefix(types), ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "", ErrorCodes::NO_COMMON_TYPE); } -DataTypePtr getLeastSupertype(const TypeIndexSet & types, bool allow_conversion_to_string) +DataTypePtr getLeastSupertypeOrString(const DataTypes & types) { - auto throw_or_return = [&](std::string_view message, int error_code) - { - if (allow_conversion_to_string) - return std::make_shared(); - - throw Exception(String(message), error_code); - }; - - TypeIndexSet types_set; - for (const auto & type : types) - { - if (WhichDataType(type).isNothing()) - continue; - - if (!WhichDataType(type).isSimple()) - throw Exception(ErrorCodes::NO_COMMON_TYPE, - "Cannot get common type by type ids with parametric type {}", typeToString(type)); - - types_set.insert(type); - } - - if (types_set.empty()) - return std::make_shared(); - - if (types.contains(TypeIndex::String)) - { - if (types.size() != 1) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are String and some of them are not", ErrorCodes::NO_COMMON_TYPE); - - return std::make_shared(); - } - - /// For numeric types, the most complicated part. - auto numeric_type = getNumericType(types, allow_conversion_to_string); - if (numeric_type) - return numeric_type; - - /// All other data types (UUID, AggregateFunction, Enum...) are compatible only if they are the same (checked in trivial cases). - return throw_or_return(getExceptionMessagePrefix(types), ErrorCodes::NO_COMMON_TYPE); + return getLeastSupertype(types); } DataTypePtr tryGetLeastSupertype(const DataTypes & types) { - try - { - return getLeastSupertype(types); - } - catch (...) - { - return nullptr; - } + return getLeastSupertype(types); } +template +DataTypePtr getLeastSupertype(const TypeIndexSet & types) +{ + if (types.empty()) + return std::make_shared(); + + if (types.size() == 1) + { + WhichDataType which(*types.begin()); + if (which.isNothing()) + return std::make_shared(); + + #define DISPATCH(TYPE) \ + if (which.idx == TypeIndex::TYPE) \ + return std::make_shared>(); /// NOLINT + + FOR_NUMERIC_TYPES(DISPATCH) + #undef DISPATCH + + if (which.isString()) + return std::make_shared(); + + return throwOrReturn(types, "because cannot get common type by type indexes with non-simple types", ErrorCodes::NO_COMMON_TYPE); + } + + if (types.contains(TypeIndex::String)) + { + bool only_string = types.size() == 2 && types.contains(TypeIndex::Nothing); + if (!only_string) + return throwOrReturn(types, "because some of them are String and some of them are not", ErrorCodes::NO_COMMON_TYPE); + + return std::make_shared(); + } + + auto numeric_type = getNumericType(types); + if (numeric_type) + return numeric_type; + + return throwOrReturn(types, "", ErrorCodes::NO_COMMON_TYPE); +} + +DataTypePtr getLeastSupertypeOrString(const TypeIndexSet & types) +{ + return getLeastSupertype(types); +} + +DataTypePtr tryGetLeastSupertype(const TypeIndexSet & types) +{ + return getLeastSupertype(types); +} + +template DataTypePtr getLeastSupertype(const DataTypes & types); +template DataTypePtr getLeastSupertype(const TypeIndexSet & types); + } diff --git a/src/DataTypes/getLeastSupertype.h b/src/DataTypes/getLeastSupertype.h index 5444bb34d06..2ef4a0e6850 100644 --- a/src/DataTypes/getLeastSupertype.h +++ b/src/DataTypes/getLeastSupertype.h @@ -1,24 +1,39 @@ #pragma once - #include - namespace DB { +enum class LeastSupertypeOnError +{ + Throw, + String, + Null, +}; + /** Get data type that covers all possible values of passed data types. - * If there is no such data type, throws an exception - * or if 'allow_conversion_to_string' is true returns String as common type. + * If there is no such data type, throws an exception. * * Examples: least common supertype for UInt8, Int8 - Int16. * Examples: there is no least common supertype for Array(UInt8), Int8. */ -DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_string = false); +template +DataTypePtr getLeastSupertype(const DataTypes & types); -using TypeIndexSet = std::unordered_set; -DataTypePtr getLeastSupertype(const TypeIndexSet & types, bool allow_conversion_to_string = false); +/// Same as above but return String type instead of throwing exception. +/// All types can be casted to String, because they can be serialized to String. +DataTypePtr getLeastSupertypeOrString(const DataTypes & types); /// Same as above but return nullptr instead of throwing exception. DataTypePtr tryGetLeastSupertype(const DataTypes & types); +using TypeIndexSet = std::unordered_set; + +template +DataTypePtr getLeastSupertype(const TypeIndexSet & types); + +DataTypePtr getLeastSupertypeOrString(const TypeIndexSet & types); + +DataTypePtr tryGetLeastSupertype(const TypeIndexSet & types); + } diff --git a/src/DataTypes/transformTypesRecursively.cpp b/src/DataTypes/transformTypesRecursively.cpp new file mode 100644 index 00000000000..3544c7e477d --- /dev/null +++ b/src/DataTypes/transformTypesRecursively.cpp @@ -0,0 +1,178 @@ +#include +#include +#include +#include +#include + + +namespace DB +{ + +void transformTypesRecursively(DataTypes & types, std::function transform_simple_types, std::function transform_complex_types) +{ + { + /// Arrays + bool have_array = false; + bool all_arrays = true; + DataTypes nested_types; + for (const auto & type : types) + { + if (const DataTypeArray * type_array = typeid_cast(type.get())) + { + have_array = true; + nested_types.push_back(type_array->getNestedType()); + } + else + all_arrays = false; + } + + if (have_array) + { + if (all_arrays) + { + transformTypesRecursively(nested_types, transform_simple_types, transform_complex_types); + for (size_t i = 0; i != types.size(); ++i) + types[i] = std::make_shared(nested_types[i]); + } + + if (transform_complex_types) + transform_complex_types(types); + + return; + } + } + + { + /// Tuples + bool have_tuple = false; + bool all_tuples = true; + size_t tuple_size = 0; + + std::vector nested_types; + + for (const auto & type : types) + { + if (const DataTypeTuple * type_tuple = typeid_cast(type.get())) + { + if (!have_tuple) + { + tuple_size = type_tuple->getElements().size(); + nested_types.resize(tuple_size); + for (size_t elem_idx = 0; elem_idx < tuple_size; ++elem_idx) + nested_types[elem_idx].reserve(types.size()); + } + else if (tuple_size != type_tuple->getElements().size()) + return; + + have_tuple = true; + + for (size_t elem_idx = 0; elem_idx < tuple_size; ++elem_idx) + nested_types[elem_idx].emplace_back(type_tuple->getElements()[elem_idx]); + } + else + all_tuples = false; + } + + if (have_tuple) + { + if (all_tuples) + { + std::vector transposed_nested_types(types.size()); + for (size_t elem_idx = 0; elem_idx < tuple_size; ++elem_idx) + { + transformTypesRecursively(nested_types[elem_idx], transform_simple_types, transform_complex_types); + for (size_t i = 0; i != types.size(); ++i) + transposed_nested_types[i].push_back(nested_types[elem_idx][i]); + } + + for (size_t i = 0; i != types.size(); ++i) + types[i] = std::make_shared(transposed_nested_types[i]); + } + + if (transform_complex_types) + transform_complex_types(types); + + return; + } + } + + { + /// Maps + bool have_maps = false; + bool all_maps = true; + DataTypes key_types; + DataTypes value_types; + key_types.reserve(types.size()); + value_types.reserve(types.size()); + + for (const auto & type : types) + { + if (const DataTypeMap * type_map = typeid_cast(type.get())) + { + have_maps = true; + key_types.emplace_back(type_map->getKeyType()); + value_types.emplace_back(type_map->getValueType()); + } + else + all_maps = false; + } + + if (have_maps) + { + if (all_maps) + { + transformTypesRecursively(key_types, transform_simple_types, transform_complex_types); + transformTypesRecursively(value_types, transform_simple_types, transform_complex_types); + + for (size_t i = 0; i != types.size(); ++i) + types[i] = std::make_shared(key_types[i], value_types[i]); + } + + if (transform_complex_types) + transform_complex_types(types); + + return; + } + } + + { + /// Nullable + bool have_nullable = false; + std::vector is_nullable; + is_nullable.reserve(types.size()); + DataTypes nested_types; + nested_types.reserve(types.size()); + for (const auto & type : types) + { + if (const DataTypeNullable * type_nullable = typeid_cast(type.get())) + { + have_nullable = true; + is_nullable.push_back(1); + nested_types.push_back(type_nullable->getNestedType()); + } + else + { + is_nullable.push_back(0); + nested_types.push_back(type); + } + } + + if (have_nullable) + { + transformTypesRecursively(nested_types, transform_simple_types, transform_complex_types); + for (size_t i = 0; i != types.size(); ++i) + { + if (is_nullable[i]) + types[i] = makeNullable(nested_types[i]); + else + types[i] = nested_types[i]; + } + + return; + } + } + + transform_simple_types(types); +} + +} diff --git a/src/DataTypes/transformTypesRecursively.h b/src/DataTypes/transformTypesRecursively.h new file mode 100644 index 00000000000..5cb8f095494 --- /dev/null +++ b/src/DataTypes/transformTypesRecursively.h @@ -0,0 +1,17 @@ +#pragma once + +#include +#include + +namespace DB +{ + +/// Function that applies custom transformation functions to provided types recursively. +/// Implementation is similar to function getLeastSuperType: +/// If all types are Array/Map/Tuple/Nullable, this function will be called to nested types. +/// If not all types are the same complex type (Array/Map/Tuple), this function won't be called to nested types. +/// Function transform_simple_types will be applied to resulting simple types after all recursive calls. +/// Function transform_complex_types will be applied to complex types (Array/Map/Tuple) after recursive call to their nested types. +void transformTypesRecursively(DataTypes & types, std::function transform_simple_types, std::function transform_complex_types); + +} diff --git a/src/Databases/DDLRenamingVisitor.cpp b/src/Databases/DDLRenamingVisitor.cpp new file mode 100644 index 00000000000..7ea5dbeda83 --- /dev/null +++ b/src/Databases/DDLRenamingVisitor.cpp @@ -0,0 +1,369 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ +namespace ErrorCodes +{ + extern const int WRONG_DDL_RENAMING_SETTINGS; +} + +namespace +{ + /// CREATE TABLE or CREATE DICTIONARY or CREATE VIEW or CREATE TEMPORARY TABLE or CREATE DATABASE query. + void visitCreateQuery(ASTCreateQuery & create, const DDLRenamingVisitor::Data & data) + { + if (create.temporary) + { + /// CREATE TEMPORARY TABLE + String table_name = create.getTable(); + QualifiedTableName full_table_name{DatabaseCatalog::TEMPORARY_DATABASE, table_name}; + const auto & new_table_name = data.renaming_map.getNewTableName(full_table_name); + if (new_table_name != full_table_name) + { + create.setTable(new_table_name.table); + if (new_table_name.database != DatabaseCatalog::TEMPORARY_DATABASE) + { + create.temporary = false; + create.setDatabase(new_table_name.database); + } + } + } + else if (create.table) + { + /// CREATE TABLE or CREATE DICTIONARY or CREATE VIEW + QualifiedTableName full_name; + full_name.table = create.getTable(); + full_name.database = create.getDatabase(); + + if (!full_name.database.empty() && !full_name.table.empty()) + { + auto new_table_name = data.renaming_map.getNewTableName(full_name); + if (new_table_name != full_name) + { + create.setTable(new_table_name.table); + if (new_table_name.database == DatabaseCatalog::TEMPORARY_DATABASE) + { + create.temporary = true; + create.setDatabase(""); + } + else + { + create.setDatabase(new_table_name.database); + } + } + } + } + else if (create.database) + { + /// CREATE DATABASE + String database_name = create.getDatabase(); + if (!database_name.empty()) + { + String new_database_name = data.renaming_map.getNewDatabaseName(database_name); + create.setDatabase(new_database_name); + } + } + + QualifiedTableName as_table{create.as_database, create.as_table}; + if (!as_table.table.empty() && !as_table.database.empty()) + { + auto as_table_new = data.renaming_map.getNewTableName(as_table); + create.as_database = as_table_new.database; + create.as_table = as_table_new.table; + } + + QualifiedTableName to_table{create.to_table_id.database_name, create.to_table_id.table_name}; + if (!to_table.table.empty() && !to_table.database.empty()) + { + auto to_table_new = data.renaming_map.getNewTableName(to_table); + if (to_table_new != to_table) + create.to_table_id = StorageID{to_table_new.database, to_table_new.table}; + } + } + + /// ASTTableExpression represents a reference to a table in SELECT query. + /// DDLRenamingVisitor should handle ASTTableExpression because some CREATE queries can contain SELECT queries after AS (e.g. CREATE VIEW). + /// We'll try to replace database and table name. + void visitTableExpression(ASTTableExpression & expr, const DDLRenamingVisitor::Data & data) + { + if (!expr.database_and_table_name) + return; + + ASTIdentifier * identifier = dynamic_cast(expr.database_and_table_name.get()); + if (!identifier) + return; + + auto table_identifier = identifier->createTable(); + if (!table_identifier) + return; + + QualifiedTableName qualified_name{table_identifier->getDatabaseName(), table_identifier->shortName()}; + if (qualified_name.table.empty() || qualified_name.database.empty()) + return; + + auto new_qualified_name = data.renaming_map.getNewTableName(qualified_name); + if (new_qualified_name == qualified_name) + return; + + expr.database_and_table_name = std::make_shared(new_qualified_name.database, new_qualified_name.table); + expr.children.push_back(expr.database_and_table_name); + } + + /// ASTDictionary keeps a dictionary definition, for example + /// PRIMARY KEY key_column1, key_column2 + /// SOURCE(CLICKHOUSE(host '127.0.0.1' port 9000 user 'default' password '' db 'default' table 'ids' where 'id=10' query 'SELECT id, value_1, value_2 FROM default.ids')) + /// LAYOUT ... LIFETIME ... RANGE ... + /// + /// We'll try to replace database and table name in SOURCE if the specified `host` is local. + /// TODO: Probably we could try to replace database and table name in `query` too. + void visitDictionaryDef(ASTDictionary & dictionary, const DDLRenamingVisitor::Data & data) + { + if (!dictionary.source || dictionary.source->name != "clickhouse" || !dictionary.source->elements) + return; + + auto config = getDictionaryConfigurationFromAST(data.create_query->as(), data.global_context); + auto info = getInfoIfClickHouseDictionarySource(config, data.global_context); + if (!info || !info->is_local) + return; + + auto * source_list = dictionary.source->elements->as(); + if (!source_list) + return; + + auto & source_elements = source_list->children; + + Field * database_name_field = nullptr; + Field * table_name_field = nullptr; + + for (const auto & source_element : source_elements) + { + if (!source_element) + continue; + + auto * pair = source_element->as(); + if (!pair || !pair->second) + continue; + + auto * literal = pair->second->as(); + if (!literal) + continue; + + if (literal->value.getType() == Field::Types::String) + { + if (pair->first == "db") + database_name_field = &literal->value; + else if (pair->first == "table") + table_name_field = &literal->value; + } + } + + if (database_name_field && table_name_field) + { + QualifiedTableName qualified_name{database_name_field->get(), table_name_field->get()}; + if (!qualified_name.database.empty() && !qualified_name.table.empty()) + { + auto new_qualified_name = data.renaming_map.getNewTableName(qualified_name); + if (new_qualified_name != qualified_name) + { + *database_name_field = new_qualified_name.database; + *table_name_field = new_qualified_name.table; + } + } + } + } + + /// Replaces a qualified table name in a specified function's argument. + /// It can be either a string or an identifier with a dot in the middle. + void replaceTableNameInArgument(const ASTFunction & function, const DDLRenamingVisitor::Data & data, size_t arg_idx) + { + /// Just ignore incorrect arguments, proper exception will be thrown later + if (!function.arguments || function.arguments->children.size() <= arg_idx) + return; + + auto & arg = function.arguments->as()->children[arg_idx]; + if (auto * literal = arg->as()) + { + if (literal->value.getType() != Field::Types::String) + return; + + auto maybe_qualified_name = QualifiedTableName::tryParseFromString(literal->value.get()); + /// Just return if name if invalid + if (!maybe_qualified_name || maybe_qualified_name->database.empty() || maybe_qualified_name->table.empty()) + return; + + auto new_qualified_name = data.renaming_map.getNewTableName(*maybe_qualified_name); + literal->value = new_qualified_name.getFullName(); + return; + } + + if (const auto * identifier = dynamic_cast(arg.get())) + { + /// ASTIdentifier or ASTTableIdentifier + auto table_identifier = identifier->createTable(); + /// Just return if table identified is invalid + if (!table_identifier) + return; + + QualifiedTableName qualified_name{table_identifier->getDatabaseName(), table_identifier->shortName()}; + if (qualified_name.database.empty() || qualified_name.table.empty()) + return; + + auto new_qualified_name = data.renaming_map.getNewTableName(qualified_name); + arg = std::make_shared(new_qualified_name.database, new_qualified_name.table); + return; + } + } + + /// Replaces a qualified database name in a specified function's argument. + void replaceDatabaseNameInArguments(const ASTFunction & function, const DDLRenamingVisitor::Data & data, size_t arg_idx) + { + /// Just ignore incorrect arguments, proper exception will be thrown later + if (!function.arguments || function.arguments->children.size() <= arg_idx) + return; + + auto & arg = function.arguments->as()->children[arg_idx]; + auto * literal = arg->as(); + if (!literal || (literal->value.getType() != Field::Types::String)) + return; + + auto database_name = literal->value.get(); + if (database_name.empty()) + return; + + auto new_database_name = data.renaming_map.getNewDatabaseName(database_name); + literal->value = new_database_name; + } + + void visitTableEngine(ASTStorage & storage, const DDLRenamingVisitor::Data & data) + { + if (!storage.engine) + return; + + if (storage.engine->name == "Dictionary") + { + /// Syntax: CREATE TABLE table_name() engine = Dictionary('dictionary_name') + /// We'll try to replace the dictionary name. + replaceTableNameInArgument(*storage.engine, data, 0); + } + else if (storage.engine->name == "Merge") + { + /// Syntax: CREATE TABLE ... Engine=Merge(db_name, tables_regexp) + /// We'll try to replace the database name but we can do nothing to 'tables_regexp'. + replaceDatabaseNameInArguments(*storage.engine, data, 0); + } + } + + void visitFunction(const ASTFunction & function, const DDLRenamingVisitor::Data & data) + { + if (function.name == "joinGet" || + function.name == "dictHas" || + function.name == "dictIsIn" || + function.name.starts_with("dictGet")) + { + replaceTableNameInArgument(function, data, 0); + } + else if (Poco::toLower(function.name) == "in") + { + replaceTableNameInArgument(function, data, 1); + } + else if (function.name == "merge") + { + /// Syntax: merge('db_name', 'tables_regexp') + /// We'll try to replace the database name but we can do nothing to 'tables_regexp'. + replaceDatabaseNameInArguments(function, data, 0); + } + } +} + +void DDLRenamingVisitor::visit(ASTPtr ast, const Data & data) +{ + if (auto * create = ast->as()) + visitCreateQuery(*create, data); + else if (auto * expr = ast->as()) + visitTableExpression(*expr, data); + else if (auto * function = ast->as()) + visitFunction(*function, data); + else if (auto * dictionary = ast->as()) + visitDictionaryDef(*dictionary, data); + else if (auto * storage = ast->as()) + visitTableEngine(*storage, data); +} + +bool DDLRenamingVisitor::needChildVisit(const ASTPtr &, const ASTPtr &) { return true; } + + +void DDLRenamingMap::setNewTableName(const QualifiedTableName & old_table_name, const QualifiedTableName & new_table_name) +{ + if (old_table_name.table.empty() || old_table_name.database.empty() || new_table_name.table.empty() || new_table_name.database.empty()) + throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Empty names are not allowed"); + + auto it = old_to_new_table_names.find(old_table_name); + if ((it != old_to_new_table_names.end())) + { + if (it->second == new_table_name) + return; + throw Exception( + ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, + "Wrong renaming: it's specified that table {} should be renamed to {} and to {} at the same time", + old_table_name.getFullName(), + it->second.getFullName(), + new_table_name.getFullName()); + } + old_to_new_table_names[old_table_name] = new_table_name; +} + +void DDLRenamingMap::setNewDatabaseName(const String & old_database_name, const String & new_database_name) +{ + if (old_database_name.empty() || new_database_name.empty()) + throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Empty names are not allowed"); + + auto it = old_to_new_database_names.find(old_database_name); + if ((it != old_to_new_database_names.end())) + { + if (it->second == new_database_name) + return; + throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Wrong renaming: it's specified that database {} should be renamed to {} and to {} at the same time", + backQuoteIfNeed(old_database_name), backQuoteIfNeed(it->second), backQuoteIfNeed(new_database_name)); + } + old_to_new_database_names[old_database_name] = new_database_name; +} + + +const String & DDLRenamingMap::getNewDatabaseName(const String & old_database_name) const +{ + auto it = old_to_new_database_names.find(old_database_name); + if (it != old_to_new_database_names.end()) + return it->second; + return old_database_name; +} + +QualifiedTableName DDLRenamingMap::getNewTableName(const QualifiedTableName & old_table_name) const +{ + auto it = old_to_new_table_names.find(old_table_name); + if (it != old_to_new_table_names.end()) + return it->second; + return {getNewDatabaseName(old_table_name.database), old_table_name.table}; +} + + +void renameDatabaseAndTableNameInCreateQuery(ASTPtr ast, const DDLRenamingMap & renaming_map, const ContextPtr & global_context) +{ + DDLRenamingVisitor::Data data{ast, renaming_map, global_context}; + DDLRenamingVisitor::Visitor{data}.visit(ast); +} + +} diff --git a/src/Databases/DDLRenamingVisitor.h b/src/Databases/DDLRenamingVisitor.h new file mode 100644 index 00000000000..44146a8ee6b --- /dev/null +++ b/src/Databases/DDLRenamingVisitor.h @@ -0,0 +1,54 @@ +#pragma once + +#include +#include +#include +#include +#include + + +namespace DB +{ +class IAST; +using ASTPtr = std::shared_ptr; +class Context; +using ContextPtr = std::shared_ptr; +class DDLRenamingMap; + +/// Changes names of databases or tables in a create query according to a specified renaming map. +/// Does not validate AST, works a best-effort way. +void renameDatabaseAndTableNameInCreateQuery(ASTPtr ast, const DDLRenamingMap & renaming_map, const ContextPtr & global_context); + +/// Renaming map keeps information about new names of databases or tables. +class DDLRenamingMap +{ +public: + void setNewTableName(const QualifiedTableName & old_table_name, const QualifiedTableName & new_table_name); + void setNewDatabaseName(const String & old_database_name, const String & new_database_name); + + QualifiedTableName getNewTableName(const QualifiedTableName & old_table_name) const; + const String & getNewDatabaseName(const String & old_database_name) const; + +private: + std::unordered_map old_to_new_table_names; + std::unordered_map old_to_new_database_names; +}; + +/// Visits ASTCreateQuery and changes names of databases or tables. +class DDLRenamingVisitor +{ +public: + struct Data + { + ASTPtr create_query; + const DDLRenamingMap & renaming_map; + ContextPtr global_context; + }; + + using Visitor = InDepthNodeVisitor; + + static bool needChildVisit(const ASTPtr &, const ASTPtr &); + static void visit(ASTPtr ast, const Data & data); +}; + +} diff --git a/src/Databases/DatabaseAtomic.cpp b/src/Databases/DatabaseAtomic.cpp index ea887c84111..1d7ff40135c 100644 --- a/src/Databases/DatabaseAtomic.cpp +++ b/src/Databases/DatabaseAtomic.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -73,7 +74,7 @@ String DatabaseAtomic::getTableDataPath(const ASTCreateQuery & query) const void DatabaseAtomic::drop(ContextPtr) { - assert(tables.empty()); + assert(TSA_SUPPRESS_WARNING_FOR_READ(tables).empty()); try { fs::remove(path_to_metadata_symlink); @@ -90,40 +91,40 @@ void DatabaseAtomic::attachTable(ContextPtr /* context_ */, const String & name, { assert(relative_table_path != data_path && !relative_table_path.empty()); DetachedTables not_in_use; - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); not_in_use = cleanupDetachedTables(); auto table_id = table->getStorageID(); assertDetachedTableNotInUse(table_id.uuid); - DatabaseOrdinary::attachTableUnlocked(name, table, lock); + DatabaseOrdinary::attachTableUnlocked(name, table); table_name_to_path.emplace(std::make_pair(name, relative_table_path)); } StoragePtr DatabaseAtomic::detachTable(ContextPtr /* context */, const String & name) { DetachedTables not_in_use; - std::unique_lock lock(mutex); - auto table = DatabaseOrdinary::detachTableUnlocked(name, lock); + std::lock_guard lock(mutex); + auto table = DatabaseOrdinary::detachTableUnlocked(name); table_name_to_path.erase(name); detached_tables.emplace(table->getStorageID().uuid, table); not_in_use = cleanupDetachedTables(); //-V1001 return table; } -void DatabaseAtomic::dropTable(ContextPtr local_context, const String & table_name, bool no_delay) +void DatabaseAtomic::dropTable(ContextPtr local_context, const String & table_name, bool sync) { auto table = tryGetTable(table_name, local_context); /// Remove the inner table (if any) to avoid deadlock /// (due to attempt to execute DROP from the worker thread) if (table) - table->dropInnerTableIfAny(no_delay, local_context); + table->dropInnerTableIfAny(sync, local_context); else throw Exception(ErrorCodes::UNKNOWN_TABLE, "Table {}.{} doesn't exist", - backQuote(database_name), backQuote(table_name)); + backQuote(getDatabaseName()), backQuote(table_name)); String table_metadata_path = getObjectMetadataPath(table_name); String table_metadata_path_drop; { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); table_metadata_path_drop = DatabaseCatalog::instance().getPathForDroppedMetadata(table->getStorageID()); auto txn = local_context->getZooKeeperMetadataTransaction(); if (txn && !local_context->isInternalSubquery()) @@ -136,7 +137,7 @@ void DatabaseAtomic::dropTable(ContextPtr local_context, const String & table_na /// TODO better detection and recovery fs::rename(table_metadata_path, table_metadata_path_drop); /// Mark table as dropped - DatabaseOrdinary::detachTableUnlocked(table_name, lock); /// Should never throw + DatabaseOrdinary::detachTableUnlocked(table_name); /// Should never throw table_name_to_path.erase(table_name); } @@ -145,11 +146,12 @@ void DatabaseAtomic::dropTable(ContextPtr local_context, const String & table_na /// Notify DatabaseCatalog that table was dropped. It will remove table data in background. /// Cleanup is performed outside of database to allow easily DROP DATABASE without waiting for cleanup to complete. - DatabaseCatalog::instance().enqueueDroppedTableCleanup(table->getStorageID(), table, table_metadata_path_drop, no_delay); + DatabaseCatalog::instance().enqueueDroppedTableCleanup(table->getStorageID(), table, table_metadata_path_drop, sync); } void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_name, IDatabase & to_database, const String & to_table_name, bool exchange, bool dictionary) + TSA_NO_THREAD_SAFETY_ANALYSIS /// TSA does not support conditional locking { if (typeid(*this) != typeid(to_database)) { @@ -173,7 +175,7 @@ void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_ String old_metadata_path = getObjectMetadataPath(table_name); String new_metadata_path = to_database.getObjectMetadataPath(to_table_name); - auto detach = [](DatabaseAtomic & db, const String & table_name_, bool has_symlink) + auto detach = [](DatabaseAtomic & db, const String & table_name_, bool has_symlink) TSA_REQUIRES(db.mutex) { auto it = db.table_name_to_path.find(table_name_); String table_data_path_saved; @@ -188,7 +190,7 @@ void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_ return table_data_path_saved; }; - auto attach = [](DatabaseAtomic & db, const String & table_name_, const String & table_data_path_, const StoragePtr & table_) + auto attach = [](DatabaseAtomic & db, const String & table_name_, const String & table_data_path_, const StoragePtr & table_) TSA_REQUIRES(db.mutex) { db.tables.emplace(table_name_, table_); if (table_data_path_.empty()) @@ -229,9 +231,9 @@ void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_ } if (!exchange) - other_db.checkMetadataFilenameAvailabilityUnlocked(to_table_name, inside_database ? db_lock : other_db_lock); + other_db.checkMetadataFilenameAvailabilityUnlocked(to_table_name); - StoragePtr table = getTableUnlocked(table_name, db_lock); + StoragePtr table = getTableUnlocked(table_name); if (dictionary && !table->isDictionary()) throw Exception(ErrorCodes::INCORRECT_QUERY, "Use RENAME/EXCHANGE TABLE (instead of RENAME/EXCHANGE DICTIONARY) for tables"); @@ -244,7 +246,7 @@ void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_ StorageID other_table_new_id = StorageID::createEmpty(); if (exchange) { - other_table = other_db.getTableUnlocked(to_table_name, other_db_lock); + other_table = other_db.getTableUnlocked(to_table_name); if (dictionary && !other_table->isDictionary()) throw Exception(ErrorCodes::INCORRECT_QUERY, "Use RENAME/EXCHANGE TABLE (instead of RENAME/EXCHANGE DICTIONARY) for tables"); other_table_new_id = {database_name, table_name, other_table->getStorageID().uuid}; @@ -292,19 +294,16 @@ void DatabaseAtomic::commitCreateTable(const ASTCreateQuery & query, const Stora { DetachedTables not_in_use; auto table_data_path = getTableDataPath(query); - bool locked_uuid = false; try { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; if (query.getDatabase() != database_name) throw Exception(ErrorCodes::UNKNOWN_DATABASE, "Database was renamed to `{}`, cannot create table in `{}`", database_name, query.getDatabase()); /// Do some checks before renaming file from .tmp to .sql not_in_use = cleanupDetachedTables(); assertDetachedTableNotInUse(query.uuid); - /// We will get en exception if some table with the same UUID exists (even if it's detached table or table from another database) - DatabaseCatalog::instance().addUUIDMapping(query.uuid); - locked_uuid = true; + chassert(DatabaseCatalog::instance().hasUUIDMapping(query.uuid)); auto txn = query_context->getZooKeeperMetadataTransaction(); if (txn && !query_context->isInternalSubquery()) @@ -315,14 +314,12 @@ void DatabaseAtomic::commitCreateTable(const ASTCreateQuery & query, const Stora /// It throws if `table_metadata_path` already exists (it's possible if table was detached) renameNoReplace(table_metadata_tmp_path, table_metadata_path); /// Commit point (a sort of) - attachTableUnlocked(query.getTable(), table, lock); /// Should never throw + attachTableUnlocked(query.getTable(), table); /// Should never throw table_name_to_path.emplace(query.getTable(), table_data_path); } catch (...) { fs::remove(table_metadata_tmp_path); - if (locked_uuid) - DatabaseCatalog::instance().removeUUIDMappingFinally(query.uuid); throw; } if (table->storesDataOnDisk()) @@ -335,8 +332,8 @@ void DatabaseAtomic::commitAlterTable(const StorageID & table_id, const String & bool check_file_exists = true; SCOPE_EXIT({ std::error_code code; if (check_file_exists) std::filesystem::remove(table_metadata_tmp_path, code); }); - std::unique_lock lock{mutex}; - auto actual_table_id = getTableUnlocked(table_id.table_name, lock)->getStorageID(); + std::lock_guard lock{mutex}; + auto actual_table_id = getTableUnlocked(table_id.table_name)->getStorageID(); if (table_id.uuid != actual_table_id.uuid) throw Exception("Cannot alter table because it was renamed", ErrorCodes::CANNOT_ASSIGN_ALTER); @@ -368,7 +365,7 @@ void DatabaseAtomic::assertDetachedTableNotInUse(const UUID & uuid) void DatabaseAtomic::setDetachedTableNotInUseForce(const UUID & uuid) { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; detached_tables.erase(uuid); } @@ -428,7 +425,7 @@ void DatabaseAtomic::beforeLoadingMetadata(ContextMutablePtr /*context*/, bool f /// Recreate symlinks to table data dirs in case of force restore, because some of them may be broken for (const auto & table_path : fs::directory_iterator(path_to_table_symlinks)) { - if (!fs::is_symlink(table_path)) + if (!FS::isSymlink(table_path)) { throw Exception(ErrorCodes::ABORTED, "'{}' is not a symlink. Atomic database should contains only symlinks.", std::string(table_path.path())); @@ -499,7 +496,7 @@ void DatabaseAtomic::tryCreateMetadataSymlink() fs::path metadata_symlink(path_to_metadata_symlink); if (fs::exists(metadata_symlink)) { - if (!fs::is_symlink(metadata_symlink)) + if (!FS::isSymlink(metadata_symlink)) throw Exception(ErrorCodes::FILE_ALREADY_EXISTS, "Directory {} exists", path_to_metadata_symlink); } else diff --git a/src/Databases/DatabaseAtomic.h b/src/Databases/DatabaseAtomic.h index b748e53244d..6cb2226a7f8 100644 --- a/src/Databases/DatabaseAtomic.h +++ b/src/Databases/DatabaseAtomic.h @@ -35,7 +35,7 @@ public: bool exchange, bool dictionary) override; - void dropTable(ContextPtr context, const String & table_name, bool no_delay) override; + void dropTable(ContextPtr context, const String & table_name, bool sync) override; void attachTable(ContextPtr context, const String & name, const StoragePtr & table, const String & relative_table_path) override; StoragePtr detachTable(ContextPtr context, const String & name) override; @@ -70,9 +70,9 @@ protected: void commitCreateTable(const ASTCreateQuery & query, const StoragePtr & table, const String & table_metadata_tmp_path, const String & table_metadata_path, ContextPtr query_context) override; - void assertDetachedTableNotInUse(const UUID & uuid); + void assertDetachedTableNotInUse(const UUID & uuid) TSA_REQUIRES(mutex); using DetachedTables = std::unordered_map; - [[nodiscard]] DetachedTables cleanupDetachedTables(); + [[nodiscard]] DetachedTables cleanupDetachedTables() TSA_REQUIRES(mutex); void tryCreateMetadataSymlink(); @@ -80,9 +80,9 @@ protected: //TODO store path in DatabaseWithOwnTables::tables using NameToPathMap = std::unordered_map; - NameToPathMap table_name_to_path; + NameToPathMap table_name_to_path TSA_GUARDED_BY(mutex); - DetachedTables detached_tables; + DetachedTables detached_tables TSA_GUARDED_BY(mutex); String path_to_table_symlinks; String path_to_metadata_symlink; const UUID db_uuid; diff --git a/src/Databases/DatabaseFactory.cpp b/src/Databases/DatabaseFactory.cpp index 5cc334eaad4..c16de2d33a5 100644 --- a/src/Databases/DatabaseFactory.cpp +++ b/src/Databases/DatabaseFactory.cpp @@ -14,7 +14,9 @@ #include #include #include +#include #include +#include #include "config_core.h" @@ -59,38 +61,56 @@ namespace ErrorCodes extern const int NOT_IMPLEMENTED; } +void cckMetadataPathForOrdinary(const ASTCreateQuery & create, const String & metadata_path) +{ + const String & engine_name = create.storage->engine->name; + const String & database_name = create.getDatabase(); + + if (engine_name != "Ordinary") + return; + + if (!FS::isSymlink(metadata_path)) + return; + + String target_path = FS::readSymlink(metadata_path).string(); + fs::path path_to_remove = metadata_path; + if (path_to_remove.filename().empty()) + path_to_remove = path_to_remove.parent_path(); + + /// Before 20.7 metadata/db_name.sql file might absent and Ordinary database was attached if there's metadata/db_name/ dir. + /// Between 20.7 and 22.7 metadata/db_name.sql was created in this case as well. + /// Since 20.7 `default` database is created with Atomic engine on the very first server run. + /// The problem is that if server crashed during the very first run and metadata/db_name/ -> store/whatever symlink was created + /// then it's considered as Ordinary database. And it even works somehow + /// until background task tries to remove unused dir from store/... + throw Exception(ErrorCodes::CANNOT_CREATE_DATABASE, + "Metadata directory {} for Ordinary database {} is a symbolic link to {}. " + "It may be a result of manual intervention, crash on very first server start or a bug. " + "Database cannot be attached (it's kind of protection from potential data loss). " + "Metadata directory must not be a symlink and must contain tables metadata files itself. " + "You have to resolve this manually. It can be done like this: rm {}; sudo -u clickhouse mv {} {};", + metadata_path, database_name, target_path, + quoteString(path_to_remove.string()), quoteString(target_path), quoteString(path_to_remove.string())); + +} + DatabasePtr DatabaseFactory::get(const ASTCreateQuery & create, const String & metadata_path, ContextPtr context) { - bool created = false; + cckMetadataPathForOrdinary(create, metadata_path); - try - { - /// Creates store/xxx/ for Atomic - fs::create_directories(fs::path(metadata_path).parent_path()); + /// Creates store/xxx/ for Atomic + fs::create_directories(fs::path(metadata_path).parent_path()); - /// Before 20.7 it's possible that .sql metadata file does not exist for some old database. - /// In this case Ordinary database is created on server startup if the corresponding metadata directory exists. - /// So we should remove metadata directory if database creation failed. - /// TODO remove this code - created = fs::create_directory(metadata_path); + DatabasePtr impl = getImpl(create, metadata_path, context); - DatabasePtr impl = getImpl(create, metadata_path, context); + if (impl && context->hasQueryContext() && context->getSettingsRef().log_queries) + context->getQueryContext()->addQueryFactoriesInfo(Context::QueryLogFactories::Database, impl->getEngineName()); - if (impl && context->hasQueryContext() && context->getSettingsRef().log_queries) - context->getQueryContext()->addQueryFactoriesInfo(Context::QueryLogFactories::Database, impl->getEngineName()); + /// Attach database metadata + if (impl && create.comment) + impl->setDatabaseComment(create.comment->as()->value.safeGet()); - // Attach database metadata - if (impl && create.comment) - impl->setDatabaseComment(create.comment->as()->value.safeGet()); - - return impl; - } - catch (...) - { - if (created && fs::exists(metadata_path)) - fs::remove_all(metadata_path); - throw; - } + return impl; } template @@ -138,8 +158,15 @@ DatabasePtr DatabaseFactory::getImpl(const ASTCreateQuery & create, const String throw Exception(ErrorCodes::BAD_ARGUMENTS, "Database engine `{}` cannot have table overrides", engine_name); if (engine_name == "Ordinary") + { + if (!create.attach && !context->getSettingsRef().allow_deprecated_database_ordinary) + throw Exception(ErrorCodes::UNKNOWN_DATABASE_ENGINE, + "Ordinary database engine is deprecated (see also allow_deprecated_database_ordinary setting)"); + return std::make_shared(database_name, metadata_path, context); - else if (engine_name == "Atomic") + } + + if (engine_name == "Atomic") return std::make_shared(database_name, metadata_path, uuid, context); else if (engine_name == "Memory") return std::make_shared(database_name, context); @@ -334,16 +361,33 @@ DatabasePtr DatabaseFactory::getImpl(const ASTCreateQuery & create, const String configuration.username = safeGetLiteralValue(engine_args[2], engine_name); configuration.password = safeGetLiteralValue(engine_args[3], engine_name); + bool is_deprecated_syntax = false; if (engine_args.size() >= 5) - configuration.schema = safeGetLiteralValue(engine_args[4], engine_name); + { + auto arg_value = engine_args[4]->as()->value; + if (arg_value.getType() == Field::Types::Which::String) + { + configuration.schema = safeGetLiteralValue(engine_args[4], engine_name); + } + else + { + use_table_cache = safeGetLiteralValue(engine_args[4], engine_name); + LOG_WARNING(&Poco::Logger::get("DatabaseFactory"), "A deprecated syntax of PostgreSQL database engine is used"); + is_deprecated_syntax = true; + } + } + + if (!is_deprecated_syntax && engine_args.size() >= 6) + use_table_cache = safeGetLiteralValue(engine_args[5], engine_name); } - if (engine_args.size() >= 6) - use_table_cache = safeGetLiteralValue(engine_args[5], engine_name); - - auto pool = std::make_shared(configuration, - context->getSettingsRef().postgresql_connection_pool_size, - context->getSettingsRef().postgresql_connection_pool_wait_timeout); + const auto & settings = context->getSettingsRef(); + auto pool = std::make_shared( + configuration, + settings.postgresql_connection_pool_size, + settings.postgresql_connection_pool_wait_timeout, + POSTGRESQL_POOL_WITH_FAILOVER_DEFAULT_MAX_TRIES, + settings.postgresql_connection_pool_auto_close_connection); return std::make_shared( context, metadata_path, engine_define, database_name, configuration, pool, use_table_cache); diff --git a/src/Databases/DatabaseLazy.cpp b/src/Databases/DatabaseLazy.cpp index b024c73d578..3a1b3009878 100644 --- a/src/Databases/DatabaseLazy.cpp +++ b/src/Databases/DatabaseLazy.cpp @@ -77,10 +77,10 @@ void DatabaseLazy::createTable( void DatabaseLazy::dropTable( ContextPtr local_context, const String & table_name, - bool no_delay) + bool sync) { SCOPE_EXIT_MEMORY_SAFE({ clearExpiredTables(); }); - DatabaseOnDisk::dropTable(local_context, table_name, no_delay); + DatabaseOnDisk::dropTable(local_context, table_name, sync); } void DatabaseLazy::renameTable( @@ -158,6 +158,7 @@ DatabaseTablesIteratorPtr DatabaseLazy::getTablesIterator(ContextPtr, const Filt bool DatabaseLazy::empty() const { + std::lock_guard lock(mutex); return tables_cache.empty(); } diff --git a/src/Databases/DatabaseLazy.h b/src/Databases/DatabaseLazy.h index 3a7d7b14be1..d3c3ed2843b 100644 --- a/src/Databases/DatabaseLazy.h +++ b/src/Databases/DatabaseLazy.h @@ -37,7 +37,7 @@ public: void dropTable( ContextPtr context, const String & table_name, - bool no_delay) override; + bool sync) override; void renameTable( ContextPtr context, @@ -102,8 +102,8 @@ private: const time_t expiration_time; /// TODO use DatabaseWithOwnTablesBase::tables - mutable TablesCache tables_cache; - mutable CacheExpirationQueue cache_expiration_queue; + mutable TablesCache tables_cache TSA_GUARDED_BY(mutex); + mutable CacheExpirationQueue cache_expiration_queue TSA_GUARDED_BY(mutex); StoragePtr loadTable(const String & table_name) const; diff --git a/src/Databases/DatabaseMemory.cpp b/src/Databases/DatabaseMemory.cpp index bc14f7b0ba0..8540c785419 100644 --- a/src/Databases/DatabaseMemory.cpp +++ b/src/Databases/DatabaseMemory.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -17,6 +18,8 @@ namespace DB namespace ErrorCodes { extern const int UNKNOWN_TABLE; + extern const int LOGICAL_ERROR; + extern const int INCONSISTENT_METADATA_FOR_BACKUP; } DatabaseMemory::DatabaseMemory(const String & name_, ContextPtr context_) @@ -30,31 +33,44 @@ void DatabaseMemory::createTable( const StoragePtr & table, const ASTPtr & query) { - std::unique_lock lock{mutex}; - attachTableUnlocked(table_name, table, lock); - create_queries.emplace(table_name, query); + std::lock_guard lock{mutex}; + attachTableUnlocked(table_name, table); + + /// Clean the query from temporary flags. + ASTPtr query_to_store = query; + if (query) + { + query_to_store = query->clone(); + auto * create = query_to_store->as(); + if (!create) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Query '{}' is not CREATE query", serializeAST(*query)); + cleanupObjectDefinitionFromTemporaryFlags(*create); + } + + create_queries.emplace(table_name, query_to_store); } void DatabaseMemory::dropTable( ContextPtr /*context*/, const String & table_name, - bool /*no_delay*/) + bool /*sync*/) { - std::unique_lock lock{mutex}; - auto table = detachTableUnlocked(table_name, lock); + StoragePtr table; + { + std::lock_guard lock{mutex}; + table = detachTableUnlocked(table_name); + } try { /// Remove table without lock since: /// - it does not require it /// - it may cause lock-order-inversion if underlying storage need to /// resolve tables (like StorageLiveView) - SCOPE_EXIT(lock.lock()); - lock.unlock(); table->drop(); if (table->storesDataOnDisk()) { - assert(database_name != DatabaseCatalog::TEMPORARY_DATABASE); + assert(getDatabaseName() != DatabaseCatalog::TEMPORARY_DATABASE); fs::path table_data_dir{getTableDataPath(table_name)}; if (fs::exists(table_data_dir)) fs::remove_all(table_data_dir); @@ -62,10 +78,13 @@ void DatabaseMemory::dropTable( } catch (...) { + std::lock_guard lock{mutex}; assert(database_name != DatabaseCatalog::TEMPORARY_DATABASE); - attachTableUnlocked(table_name, table, lock); + attachTableUnlocked(table_name, table); throw; } + + std::lock_guard lock{mutex}; table->is_dropped = true; create_queries.erase(table_name); UUID table_uuid = table->getStorageID().uuid; @@ -127,4 +146,42 @@ void DatabaseMemory::alterTable(ContextPtr local_context, const StorageID & tabl DatabaseCatalog::instance().updateLoadingDependencies(table_id, std::move(new_dependencies)); } +std::vector> DatabaseMemory::getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const +{ + /// We need a special processing for the temporary database. + if (getDatabaseName() != DatabaseCatalog::TEMPORARY_DATABASE) + return DatabaseWithOwnTablesBase::getTablesForBackup(filter, local_context); + + std::vector> res; + + /// `this->tables` for the temporary database doesn't contain real names of tables. + /// That's why we need to call Context::getExternalTables() and then resolve those names using tryResolveStorageID() below. + auto external_tables = local_context->getExternalTables(); + + for (const auto & [table_name, storage] : external_tables) + { + if (!filter(table_name)) + continue; + + auto storage_id = local_context->tryResolveStorageID(StorageID{"", table_name}, Context::ResolveExternal); + if (!storage_id) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Couldn't resolve the name of temporary table {}", backQuoteIfNeed(table_name)); + + /// Here `storage_id.table_name` looks like looks like "_tmp_ab9b15a3-fb43-4670-abec-14a0e9eb70f1" + /// it's not the real name of the table. + auto create_table_query = tryGetCreateTableQuery(storage_id.table_name, local_context); + if (!create_table_query) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Couldn't get a create query for temporary table {}", backQuoteIfNeed(table_name)); + + const auto & create = create_table_query->as(); + if (create.getTable() != table_name) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a create query with unexpected name {} for temporary table {}", backQuoteIfNeed(create.getTable()), backQuoteIfNeed(table_name)); + + storage->adjustCreateQueryForBackup(create_table_query); + res.emplace_back(create_table_query, storage); + } + + return res; +} + } diff --git a/src/Databases/DatabaseMemory.h b/src/Databases/DatabaseMemory.h index 87fae115b59..6262543b0c1 100644 --- a/src/Databases/DatabaseMemory.h +++ b/src/Databases/DatabaseMemory.h @@ -32,7 +32,7 @@ public: void dropTable( ContextPtr context, const String & table_name, - bool no_delay) override; + bool sync) override; ASTPtr getCreateTableQueryImpl(const String & name, ContextPtr context, bool throw_on_error) const override; ASTPtr getCreateDatabaseQuery() const override; @@ -50,13 +50,12 @@ public: void alterTable(ContextPtr local_context, const StorageID & table_id, const StorageInMemoryMetadata & metadata) override; - /// This database can contain tables to backup. - bool hasTablesToBackup() const override { return true; } + std::vector> getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const override; private: - String data_path; + const String data_path; using NameToASTCreate = std::unordered_map; - NameToASTCreate create_queries; + NameToASTCreate create_queries TSA_GUARDED_BY(mutex); }; } diff --git a/src/Databases/DatabaseOnDisk.cpp b/src/Databases/DatabaseOnDisk.cpp index 31739305e8e..fe229ba6ee9 100644 --- a/src/Databases/DatabaseOnDisk.cpp +++ b/src/Databases/DatabaseOnDisk.cpp @@ -117,11 +117,10 @@ String getObjectDefinitionFromCreateQuery(const ASTPtr & query) auto * create = query_clone->as(); if (!create) - { - WriteBufferFromOwnString query_buf; - formatAST(*query, query_buf, true); - throw Exception(ErrorCodes::LOGICAL_ERROR, "Query '{}' is not CREATE query", query_buf.str()); - } + throw Exception(ErrorCodes::LOGICAL_ERROR, "Query '{}' is not CREATE query", serializeAST(*query)); + + /// Clean the query from temporary flags. + cleanupObjectDefinitionFromTemporaryFlags(*create); if (!create->is_dictionary) create->attach = true; @@ -129,20 +128,6 @@ String getObjectDefinitionFromCreateQuery(const ASTPtr & query) /// We remove everything that is not needed for ATTACH from the query. assert(!create->temporary); create->database.reset(); - create->as_database.clear(); - create->as_table.clear(); - create->if_not_exists = false; - create->is_populate = false; - create->replace_view = false; - create->replace_table = false; - create->create_or_replace = false; - - /// For views it is necessary to save the SELECT query itself, for the rest - on the contrary - if (!create->isView()) - create->select = nullptr; - - create->format = nullptr; - create->out_file = nullptr; if (create->uuid != UUIDHelpers::Nil) create->setTable(TABLE_WITH_UUID_NAME_PLACEHOLDER); @@ -217,8 +202,9 @@ void DatabaseOnDisk::createTable( if (create.uuid != create_detached.uuid) throw Exception( ErrorCodes::TABLE_ALREADY_EXISTS, - "Table {}.{} already exist (detached permanently). To attach it back " - "you need to use short ATTACH syntax or a full statement with the same UUID", + "Table {}.{} already exist (detached or detached permanently). To attach it back " + "you need to use short ATTACH syntax (ATTACH TABLE {}.{};)", + backQuote(getDatabaseName()), backQuote(table_name), backQuote(getDatabaseName()), backQuote(table_name)); } @@ -296,7 +282,7 @@ void DatabaseOnDisk::detachTablePermanently(ContextPtr query_context, const Stri } } -void DatabaseOnDisk::dropTable(ContextPtr local_context, const String & table_name, bool /*no_delay*/) +void DatabaseOnDisk::dropTable(ContextPtr local_context, const String & table_name, bool /*sync*/) { String table_metadata_path = getObjectMetadataPath(table_name); String table_metadata_path_drop = table_metadata_path + drop_suffix; @@ -336,11 +322,11 @@ void DatabaseOnDisk::dropTable(ContextPtr local_context, const String & table_na void DatabaseOnDisk::checkMetadataFilenameAvailability(const String & to_table_name) const { - std::unique_lock lock(mutex); - checkMetadataFilenameAvailabilityUnlocked(to_table_name, lock); + std::lock_guard lock(mutex); + checkMetadataFilenameAvailabilityUnlocked(to_table_name); } -void DatabaseOnDisk::checkMetadataFilenameAvailabilityUnlocked(const String & to_table_name, std::unique_lock &) const +void DatabaseOnDisk::checkMetadataFilenameAvailabilityUnlocked(const String & to_table_name) const { String table_metadata_path = getObjectMetadataPath(to_table_name); @@ -410,6 +396,18 @@ void DatabaseOnDisk::renameTable( if (auto * target_db = dynamic_cast(&to_database)) target_db->checkMetadataFilenameAvailability(to_table_name); + /// This place is actually quite dangerous. Since data directory is moved to store/ + /// DatabaseCatalog may try to clean it up as unused. We add UUID mapping to avoid this. + /// However, we may fail after data directory move, but before metadata file creation in the destination db. + /// In this case nothing will protect data directory (except 30-days timeout). + /// But this situation (when table in Ordinary database is partially renamed) require manual intervention anyway. + if (from_ordinary_to_atomic) + { + DatabaseCatalog::instance().addUUIDMapping(create.uuid); + if (table->storesDataOnDisk()) + LOG_INFO(log, "Moving table from {} to {}", table_data_relative_path, to_database.getTableDataPath(create)); + } + /// Notify the table that it is renamed. It will move data to new path (if it stores data on disk) and update StorageID table->rename(to_database.getTableDataPath(create), StorageID(create)); } @@ -465,11 +463,11 @@ ASTPtr DatabaseOnDisk::getCreateTableQueryImpl(const String & table_name, Contex if (!has_table && e.code() == ErrorCodes::FILE_DOESNT_EXIST && throw_on_error) throw Exception{"Table " + backQuote(table_name) + " doesn't exist", ErrorCodes::CANNOT_GET_CREATE_TABLE_QUERY}; - else if (is_system_storage) - ast = getCreateQueryFromStorage(table_name, storage, throw_on_error); - else if (throw_on_error) + else if (!is_system_storage && throw_on_error) throw; } + if (!ast && is_system_storage) + ast = getCreateQueryFromStorage(table_name, storage, throw_on_error); return ast; } @@ -506,7 +504,7 @@ ASTPtr DatabaseOnDisk::getCreateDatabaseQuery() const void DatabaseOnDisk::drop(ContextPtr local_context) { - assert(tables.empty()); + assert(TSA_SUPPRESS_WARNING_FOR_READ(tables).empty()); if (local_context->getSettingsRef().force_remove_data_recursively_on_drop) { fs::remove_all(local_context->getPath() + getDataPath()); @@ -713,6 +711,7 @@ ASTPtr DatabaseOnDisk::getCreateQueryFromStorage(const String & table_name, cons /// setup create table query storage info. auto ast_engine = std::make_shared(); ast_engine->name = storage->getName(); + ast_engine->no_empty_args = true; auto ast_storage = std::make_shared(); ast_storage->set(ast_storage->engine, ast_engine); @@ -727,8 +726,6 @@ ASTPtr DatabaseOnDisk::getCreateQueryFromStorage(const String & table_name, cons void DatabaseOnDisk::modifySettingsMetadata(const SettingsChanges & settings_changes, ContextPtr query_context) { - std::lock_guard lock(modify_settings_mutex); - auto create_query = getCreateDatabaseQuery()->clone(); auto * create = create_query->as(); auto * settings = create->storage->settings; @@ -761,7 +758,7 @@ void DatabaseOnDisk::modifySettingsMetadata(const SettingsChanges & settings_cha writeChar('\n', statement_buf); String statement = statement_buf.str(); - String database_name_escaped = escapeForFileName(database_name); + String database_name_escaped = escapeForFileName(TSA_SUPPRESS_WARNING_FOR_READ(database_name)); /// FIXME fs::path metadata_root_path = fs::canonical(query_context->getGlobalContext()->getPath()); fs::path metadata_file_tmp_path = fs::path(metadata_root_path) / "metadata" / (database_name_escaped + ".sql.tmp"); fs::path metadata_file_path = fs::path(metadata_root_path) / "metadata" / (database_name_escaped + ".sql"); diff --git a/src/Databases/DatabaseOnDisk.h b/src/Databases/DatabaseOnDisk.h index a118c8da678..90aba6be169 100644 --- a/src/Databases/DatabaseOnDisk.h +++ b/src/Databases/DatabaseOnDisk.h @@ -43,7 +43,7 @@ public: void dropTable( ContextPtr context, const String & table_name, - bool no_delay) override; + bool sync) override; void renameTable( ContextPtr context, @@ -70,7 +70,7 @@ public: /// will throw when the table we want to attach already exists (in active / detached / detached permanently form) void checkMetadataFilenameAvailability(const String & to_table_name) const override; - void checkMetadataFilenameAvailabilityUnlocked(const String & to_table_name, std::unique_lock &) const; + void checkMetadataFilenameAvailabilityUnlocked(const String & to_table_name) const TSA_REQUIRES(mutex); void modifySettingsMetadata(const SettingsChanges & settings_changes, ContextPtr query_context); @@ -99,9 +99,6 @@ protected: const String metadata_path; const String data_path; - - /// For alter settings. - std::mutex modify_settings_mutex; }; } diff --git a/src/Databases/DatabaseOrdinary.cpp b/src/Databases/DatabaseOrdinary.cpp index ada9030905d..18b70222382 100644 --- a/src/Databases/DatabaseOrdinary.cpp +++ b/src/Databases/DatabaseOrdinary.cpp @@ -29,6 +29,12 @@ namespace fs = std::filesystem; namespace DB { + +namespace ErrorCodes +{ + extern const int LOGICAL_ERROR; +} + static constexpr size_t METADATA_FILE_BUFFER_SIZE = 32768; namespace @@ -83,7 +89,7 @@ void DatabaseOrdinary::loadStoredObjects( */ ParsedTablesMetadata metadata; - loadTablesMetadata(local_context, metadata); + loadTablesMetadata(local_context, metadata, force_attach); size_t total_tables = metadata.parsed_tables.size() - metadata.total_dictionaries; @@ -151,12 +157,12 @@ void DatabaseOrdinary::loadStoredObjects( } } -void DatabaseOrdinary::loadTablesMetadata(ContextPtr local_context, ParsedTablesMetadata & metadata) +void DatabaseOrdinary::loadTablesMetadata(ContextPtr local_context, ParsedTablesMetadata & metadata, bool is_startup) { size_t prev_tables_count = metadata.parsed_tables.size(); size_t prev_total_dictionaries = metadata.total_dictionaries; - auto process_metadata = [&metadata, this](const String & file_name) + auto process_metadata = [&metadata, is_startup, this](const String & file_name) { fs::path path(getMetadataPath()); fs::path file_path(file_name); @@ -168,20 +174,35 @@ void DatabaseOrdinary::loadTablesMetadata(ContextPtr local_context, ParsedTables if (ast) { auto * create_query = ast->as(); - create_query->setDatabase(database_name); + /// NOTE No concurrent writes are possible during database loading + create_query->setDatabase(TSA_SUPPRESS_WARNING_FOR_READ(database_name)); + + /// Even if we don't load the table we can still mark the uuid of it as taken. + if (create_query->uuid != UUIDHelpers::Nil) + { + /// A bit tricky way to distinguish ATTACH DATABASE and server startup (actually it's "force_attach" flag). + if (is_startup) + { + /// Server is starting up. Lock UUID used by permanently detached table. + DatabaseCatalog::instance().addUUIDMapping(create_query->uuid); + } + else if (!DatabaseCatalog::instance().hasUUIDMapping(create_query->uuid)) + { + /// It's ATTACH DATABASE. UUID for permanently detached table must be already locked. + /// FIXME MaterializedPostgreSQL works with UUIDs incorrectly and breaks invariants + if (getEngineName() != "MaterializedPostgreSQL") + throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot find UUID mapping for {}, it's a bug", create_query->uuid); + } + } if (fs::exists(full_path.string() + detached_suffix)) { - /// FIXME: even if we don't load the table we can still mark the uuid of it as taken. - /// if (create_query->uuid != UUIDHelpers::Nil) - /// DatabaseCatalog::instance().addUUIDMapping(create_query->uuid); - const std::string table_name = unescapeForFileName(file_name.substr(0, file_name.size() - 4)); LOG_DEBUG(log, "Skipping permanently detached table {}.", backQuote(table_name)); return; } - QualifiedTableName qualified_name{database_name, create_query->getTable()}; + QualifiedTableName qualified_name{TSA_SUPPRESS_WARNING_FOR_READ(database_name), create_query->getTable()}; TableNamesSet loading_dependencies = getDependenciesSetFromCreateQuery(getContext(), qualified_name, ast); std::lock_guard lock{metadata.mutex}; @@ -214,12 +235,12 @@ void DatabaseOrdinary::loadTablesMetadata(ContextPtr local_context, ParsedTables size_t tables_in_database = objects_in_database - dictionaries_in_database; LOG_INFO(log, "Metadata processed, database {} has {} tables and {} dictionaries in total.", - database_name, tables_in_database, dictionaries_in_database); + TSA_SUPPRESS_WARNING_FOR_READ(database_name), tables_in_database, dictionaries_in_database); } void DatabaseOrdinary::loadTableFromMetadata(ContextMutablePtr local_context, const String & file_path, const QualifiedTableName & name, const ASTPtr & ast, bool force_restore) { - assert(name.database == database_name); + assert(name.database == TSA_SUPPRESS_WARNING_FOR_READ(database_name)); const auto & create_query = ast->as(); tryAttachTable( @@ -235,7 +256,8 @@ void DatabaseOrdinary::startupTables(ThreadPool & thread_pool, bool /*force_rest { LOG_INFO(log, "Starting up tables."); - const size_t total_tables = tables.size(); + /// NOTE No concurrent writes are possible during database loading + const size_t total_tables = TSA_SUPPRESS_WARNING_FOR_READ(tables).size(); if (!total_tables) return; @@ -251,7 +273,7 @@ void DatabaseOrdinary::startupTables(ThreadPool & thread_pool, bool /*force_rest try { - for (const auto & table : tables) + for (const auto & table : TSA_SUPPRESS_WARNING_FOR_READ(tables)) thread_pool.scheduleOrThrowOnError([&]() { startup_one_table(table.second); }); } catch (...) diff --git a/src/Databases/DatabaseOrdinary.h b/src/Databases/DatabaseOrdinary.h index 2144f874b03..6e524ae18b0 100644 --- a/src/Databases/DatabaseOrdinary.h +++ b/src/Databases/DatabaseOrdinary.h @@ -25,7 +25,7 @@ public: bool supportsLoadingInTopologicalOrder() const override { return true; } - void loadTablesMetadata(ContextPtr context, ParsedTablesMetadata & metadata) override; + void loadTablesMetadata(ContextPtr context, ParsedTablesMetadata & metadata, bool is_startup) override; void loadTableFromMetadata(ContextMutablePtr local_context, const String & file_path, const QualifiedTableName & name, const ASTPtr & ast, bool force_restore) override; @@ -36,9 +36,6 @@ public: const StorageID & table_id, const StorageInMemoryMetadata & metadata) override; - /// This database can contain tables to backup. - bool hasTablesToBackup() const override { return true; } - protected: virtual void commitAlterTable( const StorageID & table_id, diff --git a/src/Databases/DatabaseReplicated.cpp b/src/Databases/DatabaseReplicated.cpp index 47a7041b3f4..a7ad632efff 100644 --- a/src/Databases/DatabaseReplicated.cpp +++ b/src/Databases/DatabaseReplicated.cpp @@ -24,7 +24,10 @@ #include #include #include +#include +#include #include +#include namespace DB { @@ -41,6 +44,8 @@ namespace ErrorCodes extern const int INCORRECT_QUERY; extern const int ALL_CONNECTION_TRIES_FAILED; extern const int NO_ACTIVE_REPLICAS; + extern const int INCONSISTENT_METADATA_FOR_BACKUP; + extern const int CANNOT_RESTORE_TABLE; } static constexpr const char * DROPPED_MARK = "DROPPED"; @@ -144,7 +149,7 @@ ClusterPtr DatabaseReplicated::getClusterImpl() const if (hosts.empty()) throw Exception(ErrorCodes::NO_ACTIVE_REPLICAS, "No replicas of database {} found. " "It's possible if the first replica is not fully created yet " - "or if the last replica was just dropped or due to logical error", database_name); + "or if the last replica was just dropped or due to logical error", zookeeper_path); Int32 cversion = stat.cversion; ::sort(hosts.begin(), hosts.end()); @@ -209,7 +214,7 @@ ClusterPtr DatabaseReplicated::getClusterImpl() const treat_local_port_as_remote, cluster_auth_info.cluster_secure_connection, /*priority=*/1, - database_name, + TSA_SUPPRESS_WARNING_FOR_READ(database_name), /// FIXME cluster_auth_info.cluster_secret); } @@ -584,7 +589,7 @@ void DatabaseReplicated::recoverLostReplica(const ZooKeeperPtr & current_zookeep query_context->makeQueryContext(); query_context->getClientInfo().query_kind = ClientInfo::QueryKind::SECONDARY_QUERY; query_context->getClientInfo().is_replicated_database_internal = true; - query_context->setCurrentDatabase(database_name); + query_context->setCurrentDatabase(getDatabaseName()); query_context->setCurrentQueryId(""); auto txn = std::make_shared(current_zookeeper, zookeeper_path, false, ""); query_context->initZooKeeperMetadataTransaction(txn); @@ -604,6 +609,7 @@ void DatabaseReplicated::recoverLostReplica(const ZooKeeperPtr & current_zookeep /// and make possible creation of new table with the same UUID. String query = fmt::format("CREATE DATABASE IF NOT EXISTS {} ENGINE=Ordinary", backQuoteIfNeed(to_db_name)); auto query_context = Context::createCopy(getContext()); + query_context->setSetting("allow_deprecated_database_ordinary", 1); executeQuery(query, query_context, true); /// But we want to avoid discarding UUID of ReplicatedMergeTree tables, because it will not work @@ -807,7 +813,7 @@ void DatabaseReplicated::shutdown() } -void DatabaseReplicated::dropTable(ContextPtr local_context, const String & table_name, bool no_delay) +void DatabaseReplicated::dropTable(ContextPtr local_context, const String & table_name, bool sync) { auto txn = local_context->getZooKeeperMetadataTransaction(); assert(!ddl_worker->isCurrentlyActive() || txn || startsWith(table_name, ".inner_id.")); @@ -816,7 +822,7 @@ void DatabaseReplicated::dropTable(ContextPtr local_context, const String & tabl String metadata_zk_path = zookeeper_path + "/metadata/" + escapeForFileName(table_name); txn->addOp(zkutil::makeRemoveRequest(metadata_zk_path, -1)); } - DatabaseAtomic::dropTable(local_context, table_name, no_delay); + DatabaseAtomic::dropTable(local_context, table_name, sync); } void DatabaseReplicated::renameTable(ContextPtr local_context, const String & table_name, IDatabase & to_database, @@ -917,4 +923,78 @@ String DatabaseReplicated::readMetadataFile(const String & table_name) const return statement; } + +std::vector> +DatabaseReplicated::getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr &) const +{ + /// Here we read metadata from ZooKeeper. We could do that by simple call of DatabaseAtomic::getTablesForBackup() however + /// reading from ZooKeeper is better because thus we won't be dependent on how fast the replication queue of this database is. + std::vector> res; + auto zookeeper = getContext()->getZooKeeper(); + auto escaped_table_names = zookeeper->getChildren(zookeeper_path + "/metadata"); + for (const auto & escaped_table_name : escaped_table_names) + { + String table_name = unescapeForFileName(escaped_table_name); + if (!filter(table_name)) + continue; + String zk_metadata; + if (!zookeeper->tryGet(zookeeper_path + "/metadata/" + escaped_table_name, zk_metadata)) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Metadata for table {} was not found in ZooKeeper", table_name); + + ParserCreateQuery parser; + auto create_table_query = parseQuery(parser, zk_metadata, 0, getContext()->getSettingsRef().max_parser_depth); + + auto & create = create_table_query->as(); + create.attach = false; + create.setTable(table_name); + create.setDatabase(getDatabaseName()); + + StoragePtr storage; + if (create.uuid != UUIDHelpers::Nil) + { + storage = DatabaseCatalog::instance().tryGetByUUID(create.uuid).second; + if (storage) + storage->adjustCreateQueryForBackup(create_table_query); + } + res.emplace_back(create_table_query, storage); + } + + return res; +} + + +void DatabaseReplicated::createTableRestoredFromBackup( + const ASTPtr & create_table_query, + ContextMutablePtr local_context, + std::shared_ptr restore_coordination, + UInt64 timeout_ms) +{ + /// Because of the replication multiple nodes can try to restore the same tables again and failed with "Table already exists" + /// because of some table could be restored already on other node and then replicated to this node. + /// To solve this problem we use the restore coordination: the first node calls + /// IRestoreCoordination::acquireCreatingTableInReplicatedDatabase() and then for other nodes this function returns false which means + /// this table is already being created by some other node. + String table_name = create_table_query->as().getTable(); + if (restore_coordination->acquireCreatingTableInReplicatedDatabase(getZooKeeperPath(), table_name)) + { + DatabaseAtomic::createTableRestoredFromBackup(create_table_query, local_context, restore_coordination, timeout_ms); + } + + /// Wait until the table is actually created no matter if it's created by the current or another node and replicated to the + /// current node afterwards. We have to wait because `RestorerFromBackup` is going to restore data of the table then. + /// TODO: The following code doesn't look very reliable, probably we need to rewrite it somehow. + auto timeout = std::chrono::milliseconds{timeout_ms}; + auto start_time = std::chrono::steady_clock::now(); + while (!isTableExist(table_name, local_context)) + { + waitForReplicaToProcessAllEntries(50); + + auto elapsed = std::chrono::steady_clock::now() - start_time; + if (elapsed > timeout) + throw Exception(ErrorCodes::CANNOT_RESTORE_TABLE, + "Couldn't restore table {}.{} on other node or sync it (elapsed {})", + backQuoteIfNeed(getDatabaseName()), backQuoteIfNeed(table_name), to_string(elapsed)); + } +} + } diff --git a/src/Databases/DatabaseReplicated.h b/src/Databases/DatabaseReplicated.h index 72a4f0d00bb..07014702067 100644 --- a/src/Databases/DatabaseReplicated.h +++ b/src/Databases/DatabaseReplicated.h @@ -30,7 +30,7 @@ public: String getEngineName() const override { return "Replicated"; } /// If current query is initial, then the following methods add metadata updating ZooKeeper operations to current ZooKeeperMetadataTransaction. - void dropTable(ContextPtr, const String & table_name, bool no_delay) override; + void dropTable(ContextPtr, const String & table_name, bool sync) override; void renameTable(ContextPtr context, const String & table_name, IDatabase & to_database, const String & to_table_name, bool exchange, bool dictionary) override; void commitCreateTable(const ASTCreateQuery & query, const StoragePtr & table, @@ -72,6 +72,9 @@ public: void shutdown() override; + std::vector> getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const override; + void createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr local_context, std::shared_ptr restore_coordination, UInt64 timeout_ms) override; + friend struct DatabaseReplicatedTask; friend class DatabaseReplicatedDDLWorker; private: diff --git a/src/Databases/DatabasesCommon.cpp b/src/Databases/DatabasesCommon.cpp index 1c3f417b431..93a9523d115 100644 --- a/src/Databases/DatabasesCommon.cpp +++ b/src/Databases/DatabasesCommon.cpp @@ -10,6 +10,8 @@ #include #include #include +#include +#include namespace DB @@ -23,6 +25,7 @@ namespace ErrorCodes extern const int NOT_IMPLEMENTED; extern const int LOGICAL_ERROR; extern const int CANNOT_GET_CREATE_TABLE_QUERY; + extern const int INCONSISTENT_METADATA_FOR_BACKUP; } void applyMetadataChangesToCreateQuery(const ASTPtr & query, const StorageInMemoryMetadata & metadata) @@ -154,6 +157,26 @@ ASTPtr getCreateQueryFromStorage(const StoragePtr & storage, const ASTPtr & ast_ } +void cleanupObjectDefinitionFromTemporaryFlags(ASTCreateQuery & query) +{ + query.as_database.clear(); + query.as_table.clear(); + query.if_not_exists = false; + query.is_populate = false; + query.is_create_empty = false; + query.replace_view = false; + query.replace_table = false; + query.create_or_replace = false; + + /// For views it is necessary to save the SELECT query itself, for the rest - on the contrary + if (!query.isView()) + query.select = nullptr; + + query.format = nullptr; + query.out_file = nullptr; +} + + DatabaseWithOwnTablesBase::DatabaseWithOwnTablesBase(const String & name_, const String & logger, ContextPtr context_) : IDatabase(name_), WithContext(context_->getGlobalContext()), log(&Poco::Logger::get(logger)) { @@ -196,11 +219,11 @@ bool DatabaseWithOwnTablesBase::empty() const StoragePtr DatabaseWithOwnTablesBase::detachTable(ContextPtr /* context_ */, const String & table_name) { - std::unique_lock lock(mutex); - return detachTableUnlocked(table_name, lock); + std::lock_guard lock(mutex); + return detachTableUnlocked(table_name); } -StoragePtr DatabaseWithOwnTablesBase::detachTableUnlocked(const String & table_name, std::unique_lock &) +StoragePtr DatabaseWithOwnTablesBase::detachTableUnlocked(const String & table_name) { StoragePtr res; @@ -223,11 +246,11 @@ StoragePtr DatabaseWithOwnTablesBase::detachTableUnlocked(const String & table_n void DatabaseWithOwnTablesBase::attachTable(ContextPtr /* context_ */, const String & table_name, const StoragePtr & table, const String &) { - std::unique_lock lock(mutex); - attachTableUnlocked(table_name, table, lock); + std::lock_guard lock(mutex); + attachTableUnlocked(table_name, table); } -void DatabaseWithOwnTablesBase::attachTableUnlocked(const String & table_name, const StoragePtr & table, std::unique_lock &) +void DatabaseWithOwnTablesBase::attachTableUnlocked(const String & table_name, const StoragePtr & table) { auto table_id = table->getStorageID(); if (table_id.database_name != database_name) @@ -291,7 +314,7 @@ DatabaseWithOwnTablesBase::~DatabaseWithOwnTablesBase() } } -StoragePtr DatabaseWithOwnTablesBase::getTableUnlocked(const String & table_name, std::unique_lock &) const +StoragePtr DatabaseWithOwnTablesBase::getTableUnlocked(const String & table_name) const { auto it = tables.find(table_name); if (it != tables.end()) @@ -300,4 +323,34 @@ StoragePtr DatabaseWithOwnTablesBase::getTableUnlocked(const String & table_name backQuote(database_name), backQuote(table_name)); } +std::vector> DatabaseWithOwnTablesBase::getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const +{ + std::vector> res; + + for (auto it = getTablesIterator(local_context, filter); it->isValid(); it->next()) + { + auto create_table_query = tryGetCreateTableQuery(it->name(), local_context); + if (!create_table_query) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Couldn't get a create query for table {}.{}", backQuoteIfNeed(getDatabaseName()), backQuoteIfNeed(it->name())); + + const auto & create = create_table_query->as(); + if (create.getTable() != it->name()) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a create query with unexpected name {} for table {}.{}", backQuoteIfNeed(create.getTable()), backQuoteIfNeed(getDatabaseName()), backQuoteIfNeed(it->name())); + + auto storage = it->table(); + storage->adjustCreateQueryForBackup(create_table_query); + res.emplace_back(create_table_query, storage); + } + + return res; +} + +void DatabaseWithOwnTablesBase::createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr local_context, std::shared_ptr, UInt64) +{ + /// Creates a table by executing a "CREATE TABLE" query. + InterpreterCreateQuery interpreter{create_table_query, local_context}; + interpreter.setInternal(true); + interpreter.execute(); +} + } diff --git a/src/Databases/DatabasesCommon.h b/src/Databases/DatabasesCommon.h index dbed4dbeaf1..c5842d7dac3 100644 --- a/src/Databases/DatabasesCommon.h +++ b/src/Databases/DatabasesCommon.h @@ -15,6 +15,9 @@ namespace DB void applyMetadataChangesToCreateQuery(const ASTPtr & query, const StorageInMemoryMetadata & metadata); ASTPtr getCreateQueryFromStorage(const StoragePtr & storage, const ASTPtr & ast_storage, bool only_ordinary, uint32_t max_parser_depth, bool throw_on_error); +/// Cleans a CREATE QUERY from temporary flags like "IF NOT EXISTS", "OR REPLACE", "AS SELECT" (for non-views), etc. +void cleanupObjectDefinitionFromTemporaryFlags(ASTCreateQuery & query); + class Context; /// A base class for databases that manage their own list of tables. @@ -33,19 +36,22 @@ public: DatabaseTablesIteratorPtr getTablesIterator(ContextPtr context, const FilterByNameFunction & filter_by_table_name) const override; + std::vector> getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const override; + void createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr local_context, std::shared_ptr restore_coordination, UInt64 timeout_ms) override; + void shutdown() override; ~DatabaseWithOwnTablesBase() override; protected: - Tables tables; + Tables tables TSA_GUARDED_BY(mutex); Poco::Logger * log; DatabaseWithOwnTablesBase(const String & name_, const String & logger, ContextPtr context); - void attachTableUnlocked(const String & table_name, const StoragePtr & table, std::unique_lock & lock); - StoragePtr detachTableUnlocked(const String & table_name, std::unique_lock & lock); - StoragePtr getTableUnlocked(const String & table_name, std::unique_lock & lock) const; + void attachTableUnlocked(const String & table_name, const StoragePtr & table) TSA_REQUIRES(mutex); + StoragePtr detachTableUnlocked(const String & table_name) TSA_REQUIRES(mutex); + StoragePtr getTableUnlocked(const String & table_name) const TSA_REQUIRES(mutex); }; } diff --git a/src/Databases/IDatabase.cpp b/src/Databases/IDatabase.cpp index 992598879db..9e33548b0dd 100644 --- a/src/Databases/IDatabase.cpp +++ b/src/Databases/IDatabase.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include @@ -8,13 +10,32 @@ namespace DB namespace ErrorCodes { extern const int UNKNOWN_TABLE; + extern const int CANNOT_BACKUP_TABLE; + extern const int CANNOT_RESTORE_TABLE; } StoragePtr IDatabase::getTable(const String & name, ContextPtr context) const { if (auto storage = tryGetTable(name, context)) return storage; - throw Exception(ErrorCodes::UNKNOWN_TABLE, "Table {}.{} doesn't exist", backQuoteIfNeed(database_name), backQuoteIfNeed(name)); + throw Exception(ErrorCodes::UNKNOWN_TABLE, "Table {}.{} doesn't exist", backQuoteIfNeed(getDatabaseName()), backQuoteIfNeed(name)); +} + +std::vector> IDatabase::getTablesForBackup(const FilterByNameFunction &, const ContextPtr &) const +{ + /// Cannot backup any table because IDatabase doesn't own any tables. + throw Exception(ErrorCodes::CANNOT_BACKUP_TABLE, + "Database engine {} does not support backups, cannot backup tables in database {}", + getEngineName(), backQuoteIfNeed(getDatabaseName())); +} + +void IDatabase::createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr, std::shared_ptr, UInt64) +{ + /// Cannot restore any table because IDatabase doesn't own any tables. + throw Exception(ErrorCodes::CANNOT_RESTORE_TABLE, + "Database engine {} does not support restoring tables, cannot restore table {}.{}", + getEngineName(), backQuoteIfNeed(getDatabaseName()), + backQuoteIfNeed(create_table_query->as().getTable())); } } diff --git a/src/Databases/IDatabase.h b/src/Databases/IDatabase.h index a1c05b3d712..72155bc818c 100644 --- a/src/Databases/IDatabase.h +++ b/src/Databases/IDatabase.h @@ -30,6 +30,7 @@ class SettingsChanges; using DictionariesWithID = std::vector>; struct ParsedTablesMetadata; struct QualifiedTableName; +class IRestoreCoordination; namespace ErrorCodes { @@ -146,7 +147,7 @@ public: { } - virtual void loadTablesMetadata(ContextPtr /*local_context*/, ParsedTablesMetadata & /*metadata*/) + virtual void loadTablesMetadata(ContextPtr /*local_context*/, ParsedTablesMetadata & /*metadata*/, bool /*is_startup*/) { throw Exception(ErrorCodes::LOGICAL_ERROR, "Not implemented"); } @@ -196,7 +197,7 @@ public: virtual void dropTable( /// NOLINT ContextPtr /*context*/, const String & /*name*/, - [[maybe_unused]] bool no_delay = false) + [[maybe_unused]] bool sync = false) { throw Exception("There is no DROP TABLE query for Database" + getEngineName(), ErrorCodes::NOT_IMPLEMENTED); } @@ -331,9 +332,11 @@ public: throw Exception(ErrorCodes::LOGICAL_ERROR, "Database engine {} does not run a replication thread!", getEngineName()); } - /// Returns true if the backup of the database is hollow, which means it doesn't contain - /// any tables which can be stored to a backup. - virtual bool hasTablesToBackup() const { return false; } + /// Returns CREATE TABLE queries and corresponding tables prepared for writing to a backup. + virtual std::vector> getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & context) const; + + /// Creates a table restored from backup. + virtual void createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr context, std::shared_ptr restore_coordination, UInt64 timeout_ms); virtual ~IDatabase() = default; @@ -346,8 +349,8 @@ protected: } mutable std::mutex mutex; - String database_name; - String comment; + String database_name TSA_GUARDED_BY(mutex); + String comment TSA_GUARDED_BY(mutex); }; using DatabasePtr = std::shared_ptr; diff --git a/src/Databases/MySQL/DatabaseMaterializedMySQL.cpp b/src/Databases/MySQL/DatabaseMaterializedMySQL.cpp index 13f55eab9e2..230a0b4d4a4 100644 --- a/src/Databases/MySQL/DatabaseMaterializedMySQL.cpp +++ b/src/Databases/MySQL/DatabaseMaterializedMySQL.cpp @@ -39,7 +39,7 @@ DatabaseMaterializedMySQL::DatabaseMaterializedMySQL( void DatabaseMaterializedMySQL::rethrowExceptionIfNeeded() const { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); if (!settings->allows_query_when_mysql_lost && exception) { @@ -59,7 +59,7 @@ void DatabaseMaterializedMySQL::rethrowExceptionIfNeeded() const void DatabaseMaterializedMySQL::setException(const std::exception_ptr & exception_) { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); exception = exception_; } @@ -80,10 +80,10 @@ void DatabaseMaterializedMySQL::createTable(ContextPtr context_, const String & DatabaseAtomic::createTable(context_, name, table, query); } -void DatabaseMaterializedMySQL::dropTable(ContextPtr context_, const String & name, bool no_delay) +void DatabaseMaterializedMySQL::dropTable(ContextPtr context_, const String & name, bool sync) { checkIsInternalQuery(context_, "DROP TABLE"); - DatabaseAtomic::dropTable(context_, name, no_delay); + DatabaseAtomic::dropTable(context_, name, sync); } void DatabaseMaterializedMySQL::attachTable(ContextPtr context_, const String & name, const StoragePtr & table, const String & relative_table_path) diff --git a/src/Databases/MySQL/DatabaseMaterializedMySQL.h b/src/Databases/MySQL/DatabaseMaterializedMySQL.h index 32686784f2a..a6810f29d87 100644 --- a/src/Databases/MySQL/DatabaseMaterializedMySQL.h +++ b/src/Databases/MySQL/DatabaseMaterializedMySQL.h @@ -52,7 +52,7 @@ public: void createTable(ContextPtr context_, const String & name, const StoragePtr & table, const ASTPtr & query) override; - void dropTable(ContextPtr context_, const String & name, bool no_delay) override; + void dropTable(ContextPtr context_, const String & name, bool sync) override; void attachTable(ContextPtr context_, const String & name, const StoragePtr & table, const String & relative_table_path) override; diff --git a/src/Databases/MySQL/DatabaseMySQL.cpp b/src/Databases/MySQL/DatabaseMySQL.cpp index 446518be5cd..95098ba9cbd 100644 --- a/src/Databases/MySQL/DatabaseMySQL.cpp +++ b/src/Databases/MySQL/DatabaseMySQL.cpp @@ -26,6 +26,7 @@ # include # include # include +# include namespace fs = std::filesystem; @@ -148,8 +149,16 @@ ASTPtr DatabaseMySQL::getCreateTableQueryImpl(const String & table_name, Context auto storage_engine_arguments = ast_storage->engine->arguments; /// Add table_name to engine arguments - auto mysql_table_name = std::make_shared(table_name); - storage_engine_arguments->children.insert(storage_engine_arguments->children.begin() + 2, mysql_table_name); + if (typeid_cast(storage_engine_arguments->children[0].get())) + { + storage_engine_arguments->children.push_back( + makeASTFunction("equals", std::make_shared("table"), std::make_shared(table_name))); + } + else + { + auto mysql_table_name = std::make_shared(table_name); + storage_engine_arguments->children.insert(storage_engine_arguments->children.begin() + 2, mysql_table_name); + } /// Unset settings std::erase_if(storage_children, [&](const ASTPtr & element) { return element.get() == ast_storage->settings; }); @@ -438,7 +447,7 @@ void DatabaseMySQL::detachTablePermanently(ContextPtr, const String & table_name table_iter->second.second->is_dropped = true; } -void DatabaseMySQL::dropTable(ContextPtr local_context, const String & table_name, bool /*no_delay*/) +void DatabaseMySQL::dropTable(ContextPtr local_context, const String & table_name, bool /*sync*/) { detachTablePermanently(local_context, table_name); } diff --git a/src/Databases/MySQL/DatabaseMySQL.h b/src/Databases/MySQL/DatabaseMySQL.h index 1ee090ecd52..542cd65c1f1 100644 --- a/src/Databases/MySQL/DatabaseMySQL.h +++ b/src/Databases/MySQL/DatabaseMySQL.h @@ -82,7 +82,7 @@ public: void detachTablePermanently(ContextPtr context, const String & table_name) override; - void dropTable(ContextPtr context, const String & table_name, bool no_delay) override; + void dropTable(ContextPtr context, const String & table_name, bool sync) override; void attachTable(ContextPtr context, const String & table_name, const StoragePtr & storage, const String & relative_table_path) override; @@ -109,15 +109,15 @@ private: void cleanOutdatedTables(); - void fetchTablesIntoLocalCache(ContextPtr context) const; + void fetchTablesIntoLocalCache(ContextPtr context) const TSA_REQUIRES(mutex); std::map fetchTablesWithModificationTime(ContextPtr local_context) const; std::map fetchTablesColumnsList(const std::vector & tables_name, ContextPtr context) const; - void destroyLocalCacheExtraTables(const std::map & tables_with_modification_time) const; + void destroyLocalCacheExtraTables(const std::map & tables_with_modification_time) const TSA_REQUIRES(mutex); - void fetchLatestTablesStructureIntoCache(const std::map & tables_modification_time, ContextPtr context) const; + void fetchLatestTablesStructureIntoCache(const std::map & tables_modification_time, ContextPtr context) const TSA_REQUIRES(mutex); ThreadFromGlobalPool thread; }; diff --git a/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.cpp b/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.cpp index 60d2fa0d2c8..08a0859e6db 100644 --- a/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.cpp +++ b/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.cpp @@ -63,9 +63,9 @@ void DatabaseMaterializedPostgreSQL::startSynchronization() return; replication_handler = std::make_unique( - /* replication_identifier */database_name, + /* replication_identifier */ TSA_SUPPRESS_WARNING_FOR_READ(database_name), /// FIXME remote_database_name, - database_name, + TSA_SUPPRESS_WARNING_FOR_READ(database_name), /// FIXME connection_info, getContext(), is_attach, @@ -79,6 +79,7 @@ void DatabaseMaterializedPostgreSQL::startSynchronization() } catch (...) { + tryLogCurrentException(__PRETTY_FUNCTION__); LOG_ERROR(log, "Unable to load replicated tables list"); throw; } @@ -99,7 +100,8 @@ void DatabaseMaterializedPostgreSQL::startSynchronization() else { /// Nested table does not exist and will be created by replication thread. - storage = std::make_shared(StorageID(database_name, table_name), getContext(), remote_database_name, table_name); + /// FIXME TSA + storage = std::make_shared(StorageID(TSA_SUPPRESS_WARNING_FOR_READ(database_name), table_name), getContext(), remote_database_name, table_name); } /// Cache MaterializedPostgreSQL wrapper over nested table. @@ -110,7 +112,16 @@ void DatabaseMaterializedPostgreSQL::startSynchronization() } LOG_TRACE(log, "Loaded {} tables. Starting synchronization", materialized_tables.size()); - replication_handler->startup(/* delayed */false); + + try + { + replication_handler->startup(/* delayed */false); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__); + throw; + } } @@ -210,7 +221,8 @@ ASTPtr DatabaseMaterializedPostgreSQL::getCreateTableQueryImpl(const String & ta std::lock_guard lock(handler_mutex); - auto storage = std::make_shared(StorageID(database_name, table_name), getContext(), remote_database_name, table_name); + /// FIXME TSA + auto storage = std::make_shared(StorageID(TSA_SUPPRESS_WARNING_FOR_READ(database_name), table_name), getContext(), remote_database_name, table_name); auto ast_storage = replication_handler->getCreateNestedTableQuery(storage.get(), table_name); assert_cast(ast_storage.get())->uuid = UUIDHelpers::generateV4(); return ast_storage; @@ -234,7 +246,7 @@ ASTPtr DatabaseMaterializedPostgreSQL::createAlterSettingsQuery(const SettingCha auto * alter = query->as(); alter->alter_object = ASTAlterQuery::AlterObjectType::DATABASE; - alter->setDatabase(database_name); + alter->setDatabase(TSA_SUPPRESS_WARNING_FOR_READ(database_name)); /// FIXME alter->set(alter->command_list, command_list); return query; @@ -259,6 +271,7 @@ void DatabaseMaterializedPostgreSQL::createTable(ContextPtr local_context, const auto * create_query = assert_cast(query_copy.get()); create_query->attach = false; create_query->attach_short_syntax = false; + DatabaseCatalog::instance().addUUIDMapping(create->uuid); DatabaseAtomic::createTable(StorageMaterializedPostgreSQL::makeNestedTableContext(local_context), table_name, table, query_copy); /// Attach MaterializedPostgreSQL table. @@ -389,10 +402,10 @@ void DatabaseMaterializedPostgreSQL::stopReplication() } -void DatabaseMaterializedPostgreSQL::dropTable(ContextPtr local_context, const String & table_name, bool no_delay) +void DatabaseMaterializedPostgreSQL::dropTable(ContextPtr local_context, const String & table_name, bool sync) { /// Modify context into nested_context and pass query to Atomic database. - DatabaseAtomic::dropTable(StorageMaterializedPostgreSQL::makeNestedTableContext(local_context), table_name, no_delay); + DatabaseAtomic::dropTable(StorageMaterializedPostgreSQL::makeNestedTableContext(local_context), table_name, sync); } diff --git a/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.h b/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.h index 08420f4ba5e..ac2bcedca60 100644 --- a/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.h +++ b/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.h @@ -55,7 +55,7 @@ public: StoragePtr detachTable(ContextPtr context, const String & table_name) override; - void dropTable(ContextPtr local_context, const String & name, bool no_delay) override; + void dropTable(ContextPtr local_context, const String & name, bool sync) override; void drop(ContextPtr local_context) override; diff --git a/src/Databases/PostgreSQL/DatabasePostgreSQL.cpp b/src/Databases/PostgreSQL/DatabasePostgreSQL.cpp index 1bcc203beb9..c4b815c0c9f 100644 --- a/src/Databases/PostgreSQL/DatabasePostgreSQL.cpp +++ b/src/Databases/PostgreSQL/DatabasePostgreSQL.cpp @@ -264,7 +264,7 @@ void DatabasePostgreSQL::createTable(ContextPtr local_context, const String & ta } -void DatabasePostgreSQL::dropTable(ContextPtr, const String & table_name, bool /* no_delay */) +void DatabasePostgreSQL::dropTable(ContextPtr, const String & table_name, bool /* sync */) { std::lock_guard lock{mutex}; @@ -369,7 +369,11 @@ ASTPtr DatabasePostgreSQL::getCreateDatabaseQuery() const ASTPtr DatabasePostgreSQL::getCreateTableQueryImpl(const String & table_name, ContextPtr local_context, bool throw_on_error) const { - auto storage = fetchTable(table_name, local_context, false); + StoragePtr storage; + { + std::lock_guard lock{mutex}; + storage = fetchTable(table_name, local_context, false); + } if (!storage) { if (throw_on_error) diff --git a/src/Databases/PostgreSQL/DatabasePostgreSQL.h b/src/Databases/PostgreSQL/DatabasePostgreSQL.h index 3397dcc8076..fe4dff2ca93 100644 --- a/src/Databases/PostgreSQL/DatabasePostgreSQL.h +++ b/src/Databases/PostgreSQL/DatabasePostgreSQL.h @@ -53,7 +53,7 @@ public: StoragePtr tryGetTable(const String & name, ContextPtr context) const override; void createTable(ContextPtr, const String & table_name, const StoragePtr & storage, const ASTPtr & create_query) override; - void dropTable(ContextPtr, const String & table_name, bool no_delay) override; + void dropTable(ContextPtr, const String & table_name, bool sync) override; void attachTable(ContextPtr context, const String & table_name, const StoragePtr & storage, const String & relative_table_path) override; StoragePtr detachTable(ContextPtr context, const String & table_name) override; @@ -81,7 +81,7 @@ private: bool checkPostgresTable(const String & table_name) const; - StoragePtr fetchTable(const String & table_name, ContextPtr context, bool table_checked) const; + StoragePtr fetchTable(const String & table_name, ContextPtr context, bool table_checked) const TSA_REQUIRES(mutex); void removeOutdatedTables(); diff --git a/src/Databases/PostgreSQL/fetchPostgreSQLTableStructure.cpp b/src/Databases/PostgreSQL/fetchPostgreSQLTableStructure.cpp index 9f136efa1ff..eeae110cddf 100644 --- a/src/Databases/PostgreSQL/fetchPostgreSQLTableStructure.cpp +++ b/src/Databases/PostgreSQL/fetchPostgreSQLTableStructure.cpp @@ -39,9 +39,10 @@ std::set fetchPostgreSQLTablesList(T & tx, const String & postgres_schem std::set tables; if (schemas.size() <= 1) { - std::string query = fmt::format("SELECT tablename FROM pg_catalog.pg_tables " - "WHERE schemaname != 'pg_catalog' AND {}", - postgres_schema.empty() ? "schemaname != 'information_schema'" : "schemaname = " + quoteString(postgres_schema)); + std::string query = fmt::format( + "SELECT tablename FROM pg_catalog.pg_tables WHERE schemaname = {}", + postgres_schema.empty() ? quoteString("public") : quoteString(postgres_schema)); + for (auto table_name : tx.template stream(query)) tables.insert(std::get<0>(table_name)); @@ -53,9 +54,10 @@ std::set fetchPostgreSQLTablesList(T & tx, const String & postgres_schem /// If we add schema to table name then table can be accessed only this way: database_name.`schema_name.table_name` for (const auto & schema : schemas) { - std::string query = fmt::format("SELECT tablename FROM pg_catalog.pg_tables " - "WHERE schemaname != 'pg_catalog' AND {}", - postgres_schema.empty() ? "schemaname != 'information_schema'" : "schemaname = " + quoteString(schema)); + std::string query = fmt::format( + "SELECT tablename FROM pg_catalog.pg_tables WHERE schemaname = {}", + quoteString(schema)); + for (auto table_name : tx.template stream(query)) tables.insert(schema + '.' + std::get<0>(table_name)); } @@ -263,10 +265,11 @@ PostgreSQLTableStructure fetchPostgreSQLTableStructure( "WHERE attrelid = (SELECT oid FROM pg_class WHERE {}) " "AND NOT attisdropped AND attnum > 0", where); - table.physical_columns = readNamesAndTypesList(tx, postgres_table, query, use_nulls, false); + auto postgres_table_with_schema = postgres_schema.empty() ? postgres_table : doubleQuoteString(postgres_schema) + '.' + doubleQuoteString(postgres_table); + table.physical_columns = readNamesAndTypesList(tx, postgres_table_with_schema, query, use_nulls, false); if (!table.physical_columns) - throw Exception(ErrorCodes::UNKNOWN_TABLE, "PostgreSQL table {} does not exist", postgres_table); + throw Exception(ErrorCodes::UNKNOWN_TABLE, "PostgreSQL table {} does not exist", postgres_table_with_schema); if (with_primary_key) { @@ -278,7 +281,7 @@ PostgreSQLTableStructure fetchPostgreSQLTableStructure( "AND a.attnum = ANY(i.indkey) " "WHERE attrelid = (SELECT oid FROM pg_class WHERE {}) AND i.indisprimary", where); - table.primary_key_columns = readNamesAndTypesList(tx, postgres_table, query, use_nulls, true); + table.primary_key_columns = readNamesAndTypesList(tx, postgres_table_with_schema, query, use_nulls, true); } if (with_replica_identity_index && !table.primary_key_columns) @@ -299,11 +302,13 @@ PostgreSQLTableStructure fetchPostgreSQLTableStructure( "and a.attnum = ANY(ix.indkey) " "and t.relkind in ('r', 'p') " /// simple tables "and t.relname = {} " /// Connection is already done to a needed database, only table name is needed. + "{}" "and ix.indisreplident = 't' " /// index is is replica identity index - "ORDER BY a.attname", /// column names - quoteString(postgres_table)); + "ORDER BY a.attname", /// column name + (postgres_schema.empty() ? "" : "and t.relnamespace = " + quoteString(postgres_schema)) + " ", + quoteString(postgres_table)); - table.replica_identity_columns = readNamesAndTypesList(tx, postgres_table, query, use_nulls, true); + table.replica_identity_columns = readNamesAndTypesList(tx, postgres_table_with_schema, query, use_nulls, true); } return table; diff --git a/src/Databases/SQLite/DatabaseSQLite.cpp b/src/Databases/SQLite/DatabaseSQLite.cpp index 7a4844e4d69..44a392ce1f2 100644 --- a/src/Databases/SQLite/DatabaseSQLite.cpp +++ b/src/Databases/SQLite/DatabaseSQLite.cpp @@ -173,12 +173,16 @@ ASTPtr DatabaseSQLite::getCreateDatabaseQuery() const ASTPtr DatabaseSQLite::getCreateTableQueryImpl(const String & table_name, ContextPtr local_context, bool throw_on_error) const { - auto storage = fetchTable(table_name, local_context, false); + StoragePtr storage; + { + std::lock_guard lock(mutex); + storage = fetchTable(table_name, local_context, false); + } if (!storage) { if (throw_on_error) throw Exception(ErrorCodes::UNKNOWN_TABLE, "SQLite table {}.{} does not exist", - database_name, table_name); + getDatabaseName(), table_name); return nullptr; } auto table_storage_define = database_engine_define->clone(); diff --git a/src/Databases/SQLite/DatabaseSQLite.h b/src/Databases/SQLite/DatabaseSQLite.h index c8df79d0f6a..8f0c9b4d720 100644 --- a/src/Databases/SQLite/DatabaseSQLite.h +++ b/src/Databases/SQLite/DatabaseSQLite.h @@ -54,9 +54,9 @@ private: bool checkSQLiteTable(const String & table_name) const; - NameSet fetchTablesList() const; + NameSet fetchTablesList() const TSA_REQUIRES(mutex); - StoragePtr fetchTable(const String & table_name, ContextPtr context, bool table_checked) const; + StoragePtr fetchTable(const String & table_name, ContextPtr context, bool table_checked) const TSA_REQUIRES(mutex); }; diff --git a/src/Databases/TablesLoader.cpp b/src/Databases/TablesLoader.cpp index 898376f8e0f..7e9b83d423a 100644 --- a/src/Databases/TablesLoader.cpp +++ b/src/Databases/TablesLoader.cpp @@ -93,7 +93,7 @@ void TablesLoader::loadTables() for (auto & database_name : databases_to_load) { databases[database_name]->beforeLoadingMetadata(global_context, force_restore, force_attach); - databases[database_name]->loadTablesMetadata(global_context, metadata); + databases[database_name]->loadTablesMetadata(global_context, metadata, force_attach); } LOG_INFO(log, "Parsed metadata of {} tables in {} databases in {} sec", @@ -171,6 +171,11 @@ void TablesLoader::removeUnresolvableDependencies(bool remove_loaded) void TablesLoader::loadTablesInTopologicalOrder(ThreadPool & pool) { + /// Compatibility setting which should be enabled by default on attach + /// Otherwise server will be unable to start for some old-format of IPv6/IPv4 types of columns + ContextMutablePtr load_context = Context::createCopy(global_context); + load_context->setSetting("cast_ipv4_ipv6_default_on_conversion_error", 1); + /// Load independent tables in parallel. /// Then remove loaded tables from dependency graph, find tables/dictionaries that do not have unresolved dependencies anymore, /// move them to the list of independent tables and load. @@ -183,7 +188,7 @@ void TablesLoader::loadTablesInTopologicalOrder(ThreadPool & pool) assert(metadata.parsed_tables.size() == tables_processed + metadata.independent_database_objects.size() + getNumberOfTablesWithDependencies()); logDependencyGraph(); - startLoadingIndependentTables(pool, level); + startLoadingIndependentTables(pool, level, load_context); TableNames new_independent_database_objects; for (const auto & table_name : metadata.independent_database_objects) @@ -237,7 +242,7 @@ DependenciesInfosIter TablesLoader::removeResolvedDependency(const DependenciesI return metadata.dependencies_info.erase(info_it); } -void TablesLoader::startLoadingIndependentTables(ThreadPool & pool, size_t level) +void TablesLoader::startLoadingIndependentTables(ThreadPool & pool, size_t level, ContextMutablePtr load_context) { size_t total_tables = metadata.parsed_tables.size(); @@ -245,10 +250,10 @@ void TablesLoader::startLoadingIndependentTables(ThreadPool & pool, size_t level for (const auto & table_name : metadata.independent_database_objects) { - pool.scheduleOrThrowOnError([this, total_tables, &table_name]() + pool.scheduleOrThrowOnError([this, load_context, total_tables, &table_name]() { const auto & path_and_query = metadata.parsed_tables[table_name]; - databases[table_name.database]->loadTableFromMetadata(global_context, path_and_query.path, table_name, path_and_query.ast, force_restore); + databases[table_name.database]->loadTableFromMetadata(load_context, path_and_query.path, table_name, path_and_query.ast, force_restore); logAboutProgress(log, ++tables_processed, total_tables, stopwatch); }); } diff --git a/src/Databases/TablesLoader.h b/src/Databases/TablesLoader.h index a14a28c487a..43e8bfdb92c 100644 --- a/src/Databases/TablesLoader.h +++ b/src/Databases/TablesLoader.h @@ -12,7 +12,7 @@ namespace Poco { - class Logger; + class Logger; // NOLINT(cppcoreguidelines-virtual-class-destructor) } class AtomicStopwatch; @@ -104,7 +104,7 @@ private: DependenciesInfosIter removeResolvedDependency(const DependenciesInfosIter & info_it, TableNames & independent_database_objects); - void startLoadingIndependentTables(ThreadPool & pool, size_t level); + void startLoadingIndependentTables(ThreadPool & pool, size_t level, ContextMutablePtr load_context); void checkCyclicDependencies() const; diff --git a/src/Dictionaries/CMakeLists.txt b/src/Dictionaries/CMakeLists.txt index 19e82c45cc2..964e44efffe 100644 --- a/src/Dictionaries/CMakeLists.txt +++ b/src/Dictionaries/CMakeLists.txt @@ -4,8 +4,7 @@ add_headers_and_sources(clickhouse_dictionaries .) add_headers_and_sources(clickhouse_dictionaries "${CMAKE_CURRENT_BINARY_DIR}/generated/") -if (CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE" OR CMAKE_BUILD_TYPE_UC STREQUAL "RELWITHDEBINFO" OR CMAKE_BUILD_TYPE_UC STREQUAL "MINSIZEREL") - +if (OMIT_HEAVY_DEBUG_SYMBOLS) # Won't generate debug info for files with heavy template instantiation to achieve faster linking and lower size. set_source_files_properties( FlatDictionary.cpp @@ -15,7 +14,7 @@ if (CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE" OR CMAKE_BUILD_TYPE_UC STREQUAL "RELW RangeHashedDictionary.cpp DirectDictionary.cpp PROPERTIES COMPILE_FLAGS -g0) -endif () +endif() list(REMOVE_ITEM clickhouse_dictionaries_sources DictionaryFactory.cpp DictionarySourceFactory.cpp DictionaryStructure.cpp getDictionaryConfigurationFromAST.cpp) list(REMOVE_ITEM clickhouse_dictionaries_headers DictionaryFactory.h DictionarySourceFactory.h DictionaryStructure.h getDictionaryConfigurationFromAST.h) diff --git a/src/Dictionaries/CacheDictionary.h b/src/Dictionaries/CacheDictionary.h index 0dbaf2716ba..d4716999b47 100644 --- a/src/Dictionaries/CacheDictionary.h +++ b/src/Dictionaries/CacheDictionary.h @@ -190,7 +190,7 @@ private: /// Dictionary source should be used with mutex mutable std::mutex source_mutex; - mutable DictionarySourcePtr source_ptr; + mutable DictionarySourcePtr source_ptr TSA_GUARDED_BY(source_mutex); CacheDictionaryStoragePtr cache_storage_ptr; mutable CacheDictionaryUpdateQueue update_queue; diff --git a/src/Dictionaries/CacheDictionaryUpdateQueue.cpp b/src/Dictionaries/CacheDictionaryUpdateQueue.cpp index 2077f846f09..1fdaf10c57c 100644 --- a/src/Dictionaries/CacheDictionaryUpdateQueue.cpp +++ b/src/Dictionaries/CacheDictionaryUpdateQueue.cpp @@ -68,9 +68,9 @@ void CacheDictionaryUpdateQueue::waitForCurrentUpdateFinish if (update_queue.isFinished()) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "CacheDictionaryUpdateQueue finished"); - std::unique_lock update_lock(update_mutex); + std::unique_lock update_lock(update_unit_ptr->update_mutex); - bool result = is_update_finished.wait_for( + bool result = update_unit_ptr->is_update_finished.wait_for( update_lock, std::chrono::milliseconds(configuration.query_wait_timeout_milliseconds), [&] @@ -133,19 +133,23 @@ void CacheDictionaryUpdateQueue::updateThreadFunction() /// Update update_func(unit_to_update); - /// Notify thread about finished updating the bunch of ids - /// where their own ids were included. - std::unique_lock lock(update_mutex); + { + /// Notify thread about finished updating the bunch of ids + /// where their own ids were included. + std::lock_guard lock(unit_to_update->update_mutex); + unit_to_update->is_done = true; + } - unit_to_update->is_done = true; - is_update_finished.notify_all(); + unit_to_update->is_update_finished.notify_all(); } catch (...) { - std::unique_lock lock(update_mutex); + { + std::lock_guard lock(unit_to_update->update_mutex); + unit_to_update->current_exception = std::current_exception(); // NOLINT(bugprone-throw-keyword-missing) + } - unit_to_update->current_exception = std::current_exception(); // NOLINT(bugprone-throw-keyword-missing) - is_update_finished.notify_all(); + unit_to_update->is_update_finished.notify_all(); } } } diff --git a/src/Dictionaries/CacheDictionaryUpdateQueue.h b/src/Dictionaries/CacheDictionaryUpdateQueue.h index d6a195ca7b8..8db5c4a59df 100644 --- a/src/Dictionaries/CacheDictionaryUpdateQueue.h +++ b/src/Dictionaries/CacheDictionaryUpdateQueue.h @@ -74,7 +74,10 @@ private: template friend class CacheDictionaryUpdateQueue; - std::atomic is_done{false}; + mutable std::mutex update_mutex; + mutable std::condition_variable is_update_finished; + + bool is_done{false}; std::exception_ptr current_exception{nullptr}; /// NOLINT /// While UpdateUnit is alive, it is accounted in update_queue size. @@ -159,9 +162,6 @@ private: UpdateQueue update_queue; ThreadPool update_pool; - - mutable std::mutex update_mutex; - mutable std::condition_variable is_update_finished; }; extern template class CacheDictionaryUpdateQueue; diff --git a/src/Dictionaries/CassandraDictionarySource.cpp b/src/Dictionaries/CassandraDictionarySource.cpp index 9d574917f74..e0cf2483b3d 100644 --- a/src/Dictionaries/CassandraDictionarySource.cpp +++ b/src/Dictionaries/CassandraDictionarySource.cpp @@ -2,6 +2,8 @@ #include "DictionarySourceFactory.h" #include "DictionaryStructure.h" #include +#include +#include namespace DB { @@ -136,12 +138,12 @@ void CassandraDictionarySource::maybeAllowFiltering(String & query) const query += " ALLOW FILTERING;"; } -Pipe CassandraDictionarySource::loadAll() +QueryPipeline CassandraDictionarySource::loadAll() { String query = query_builder.composeLoadAllQuery(); maybeAllowFiltering(query); LOG_INFO(log, "Loading all using query: {}", query); - return Pipe(std::make_shared(getSession(), query, sample_block, max_block_size)); + return QueryPipeline(std::make_shared(getSession(), query, sample_block, max_block_size)); } std::string CassandraDictionarySource::toString() const @@ -149,15 +151,15 @@ std::string CassandraDictionarySource::toString() const return "Cassandra: " + configuration.db + '.' + configuration.table; } -Pipe CassandraDictionarySource::loadIds(const std::vector & ids) +QueryPipeline CassandraDictionarySource::loadIds(const std::vector & ids) { String query = query_builder.composeLoadIdsQuery(ids); maybeAllowFiltering(query); LOG_INFO(log, "Loading ids using query: {}", query); - return Pipe(std::make_shared(getSession(), query, sample_block, max_block_size)); + return QueryPipeline(std::make_shared(getSession(), query, sample_block, max_block_size)); } -Pipe CassandraDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline CassandraDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { if (requested_rows.empty()) throw Exception(ErrorCodes::LOGICAL_ERROR, "No rows requested"); @@ -181,10 +183,10 @@ Pipe CassandraDictionarySource::loadKeys(const Columns & key_columns, const std: pipes.push_back(Pipe(std::make_shared(getSession(), query, sample_block, max_block_size))); } - return Pipe::unitePipes(std::move(pipes)); + return QueryPipeline(Pipe::unitePipes(std::move(pipes))); } -Pipe CassandraDictionarySource::loadUpdatedAll() +QueryPipeline CassandraDictionarySource::loadUpdatedAll() { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for CassandraDictionarySource"); } @@ -192,12 +194,8 @@ Pipe CassandraDictionarySource::loadUpdatedAll() CassSessionShared CassandraDictionarySource::getSession() { /// Reuse connection if exists, create new one if not - auto session = maybe_session.lock(); - if (session) - return session; - std::lock_guard lock(connect_mutex); - session = maybe_session.lock(); + auto session = maybe_session.lock(); if (session) return session; diff --git a/src/Dictionaries/CassandraDictionarySource.h b/src/Dictionaries/CassandraDictionarySource.h index 76ad2316366..2591b33c638 100644 --- a/src/Dictionaries/CassandraDictionarySource.h +++ b/src/Dictionaries/CassandraDictionarySource.h @@ -8,6 +8,7 @@ #include "IDictionarySource.h" #include "ExternalQueryBuilder.h" #include +#include #include #include @@ -51,7 +52,7 @@ public: const String & config_prefix, Block & sample_block); - Pipe loadAll() override; + QueryPipeline loadAll() override; bool supportsSelectiveLoad() const override { return true; } @@ -64,11 +65,11 @@ public: return std::make_shared(dict_struct, configuration, sample_block); } - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; String toString() const override; @@ -82,9 +83,10 @@ private: Block sample_block; ExternalQueryBuilder query_builder; - std::mutex connect_mutex; CassClusterPtr cluster; - CassSessionWeak maybe_session; + + std::mutex connect_mutex; + CassSessionWeak maybe_session TSA_GUARDED_BY(connect_mutex); }; } diff --git a/src/Dictionaries/CassandraSource.cpp b/src/Dictionaries/CassandraSource.cpp index 5b84936a137..f5277e77eba 100644 --- a/src/Dictionaries/CassandraSource.cpp +++ b/src/Dictionaries/CassandraSource.cpp @@ -25,7 +25,7 @@ CassandraSource::CassandraSource( const String & query_str, const Block & sample_block, size_t max_block_size_) - : SourceWithProgress(sample_block) + : ISource(sample_block) , session(session_) , statement(query_str.c_str(), /*parameters count*/ 0) , max_block_size(max_block_size_) diff --git a/src/Dictionaries/CassandraSource.h b/src/Dictionaries/CassandraSource.h index ba76e72c245..9325883a33d 100644 --- a/src/Dictionaries/CassandraSource.h +++ b/src/Dictionaries/CassandraSource.h @@ -4,14 +4,14 @@ #if USE_CASSANDRA #include -#include +#include #include namespace DB { -class CassandraSource final : public SourceWithProgress +class CassandraSource final : public ISource { public: CassandraSource( diff --git a/src/Dictionaries/ClickHouseDictionarySource.cpp b/src/Dictionaries/ClickHouseDictionarySource.cpp index 355920bbf50..b1c47561948 100644 --- a/src/Dictionaries/ClickHouseDictionarySource.cpp +++ b/src/Dictionaries/ClickHouseDictionarySource.cpp @@ -29,7 +29,7 @@ namespace ErrorCodes } static const std::unordered_set dictionary_allowed_keys = { - "host", "port", "user", "password", "db", "database", "table", + "host", "port", "user", "password", "quota_key", "db", "database", "table", "update_field", "update_lag", "invalidate_query", "query", "where", "name", "secure"}; namespace @@ -54,6 +54,7 @@ namespace configuration.db, configuration.user, configuration.password, + configuration.quota_key, "", /* cluster */ "", /* cluster_secret */ "ClickHouseDictionarySource", @@ -110,29 +111,29 @@ std::string ClickHouseDictionarySource::getUpdateFieldAndDate() } } -Pipe ClickHouseDictionarySource::loadAllWithSizeHint(std::atomic * result_size_hint) +QueryPipeline ClickHouseDictionarySource::loadAllWithSizeHint(std::atomic * result_size_hint) { return createStreamForQuery(load_all_query, result_size_hint); } -Pipe ClickHouseDictionarySource::loadAll() +QueryPipeline ClickHouseDictionarySource::loadAll() { return createStreamForQuery(load_all_query); } -Pipe ClickHouseDictionarySource::loadUpdatedAll() +QueryPipeline ClickHouseDictionarySource::loadUpdatedAll() { String load_update_query = getUpdateFieldAndDate(); return createStreamForQuery(load_update_query); } -Pipe ClickHouseDictionarySource::loadIds(const std::vector & ids) +QueryPipeline ClickHouseDictionarySource::loadIds(const std::vector & ids) { return createStreamForQuery(query_builder.composeLoadIdsQuery(ids)); } -Pipe ClickHouseDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline ClickHouseDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { String query = query_builder.composeLoadKeysQuery(key_columns, requested_rows, ExternalQueryBuilder::IN_WITH_TUPLES); return createStreamForQuery(query); @@ -162,9 +163,9 @@ std::string ClickHouseDictionarySource::toString() const return "ClickHouse: " + configuration.db + '.' + configuration.table + (where.empty() ? "" : ", where: " + where); } -Pipe ClickHouseDictionarySource::createStreamForQuery(const String & query, std::atomic * result_size_hint) +QueryPipeline ClickHouseDictionarySource::createStreamForQuery(const String & query, std::atomic * result_size_hint) { - QueryPipelineBuilder builder; + QueryPipeline pipeline; /// Sample block should not contain first row default values auto empty_sample_block = sample_block.cloneEmpty(); @@ -175,32 +176,25 @@ Pipe ClickHouseDictionarySource::createStreamForQuery(const String & query, std: if (configuration.is_local) { - builder.init(executeQuery(query, context_copy, true).pipeline); - auto converting = ActionsDAG::makeConvertingActions( - builder.getHeader().getColumnsWithTypeAndName(), - empty_sample_block.getColumnsWithTypeAndName(), - ActionsDAG::MatchColumnsMode::Position); + pipeline = executeQuery(query, context_copy, true).pipeline; - builder.addSimpleTransform([&](const Block & header) - { - return std::make_shared(header, std::make_shared(converting)); - }); + pipeline.convertStructureTo(empty_sample_block.getColumnsWithTypeAndName()); } else { - builder.init(Pipe(std::make_shared( - std::make_shared(pool, query, empty_sample_block, context_copy), false, false))); + pipeline = QueryPipeline(std::make_shared( + std::make_shared(pool, query, empty_sample_block, context_copy), false, false)); } if (result_size_hint) { - builder.setProgressCallback([result_size_hint](const Progress & progress) + pipeline.setProgressCallback([result_size_hint](const Progress & progress) { *result_size_hint += progress.total_rows_to_read; }); } - return QueryPipelineBuilder::getPipe(std::move(builder)); + return pipeline; } std::string ClickHouseDictionarySource::doInvalidateQuery(const std::string & request) const @@ -244,6 +238,7 @@ void registerDictionarySourceClickHouse(DictionarySourceFactory & factory) std::string host = config.getString(settings_config_prefix + ".host", "localhost"); std::string user = config.getString(settings_config_prefix + ".user", "default"); std::string password = config.getString(settings_config_prefix + ".password", ""); + std::string quota_key = config.getString(settings_config_prefix + ".quota_key", ""); std::string db = config.getString(settings_config_prefix + ".db", default_database); std::string table = config.getString(settings_config_prefix + ".table", ""); UInt16 port = static_cast(config.getUInt(settings_config_prefix + ".port", default_port)); @@ -259,6 +254,7 @@ void registerDictionarySourceClickHouse(DictionarySourceFactory & factory) host = configuration.host; user = configuration.username; password = configuration.password; + quota_key = configuration.quota_key; db = configuration.database; table = configuration.table; port = configuration.port; @@ -268,6 +264,7 @@ void registerDictionarySourceClickHouse(DictionarySourceFactory & factory) .host = host, .user = user, .password = password, + .quota_key = quota_key, .db = db, .table = table, .query = config.getString(settings_config_prefix + ".query", ""), @@ -291,6 +288,9 @@ void registerDictionarySourceClickHouse(DictionarySourceFactory & factory) else { context = Context::createCopy(global_context); + + if (created_from_ddl) + context->getRemoteHostFilter().checkHostAndPort(configuration.host, toString(configuration.port)); } context->applySettingsChanges(readSettingsFromDictionaryConfig(config, config_prefix)); diff --git a/src/Dictionaries/ClickHouseDictionarySource.h b/src/Dictionaries/ClickHouseDictionarySource.h index cdcc0ee824f..7bf6b805c03 100644 --- a/src/Dictionaries/ClickHouseDictionarySource.h +++ b/src/Dictionaries/ClickHouseDictionarySource.h @@ -23,6 +23,7 @@ public: const std::string host; const std::string user; const std::string password; + const std::string quota_key; const std::string db; const std::string table; const std::string query; @@ -45,15 +46,15 @@ public: ClickHouseDictionarySource(const ClickHouseDictionarySource & other); ClickHouseDictionarySource & operator=(const ClickHouseDictionarySource &) = delete; - Pipe loadAllWithSizeHint(std::atomic * result_size_hint) override; + QueryPipeline loadAllWithSizeHint(std::atomic * result_size_hint) override; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; bool supportsSelectiveLoad() const override { return true; } @@ -71,7 +72,7 @@ public: private: std::string getUpdateFieldAndDate(); - Pipe createStreamForQuery(const String & query, std::atomic * result_size_hint = nullptr); + QueryPipeline createStreamForQuery(const String & query, std::atomic * result_size_hint = nullptr); std::string doInvalidateQuery(const std::string & request) const; diff --git a/src/Dictionaries/DictionaryHelpers.h b/src/Dictionaries/DictionaryHelpers.h index 80b15eb2569..9899b9f4c88 100644 --- a/src/Dictionaries/DictionaryHelpers.h +++ b/src/Dictionaries/DictionaryHelpers.h @@ -518,7 +518,7 @@ template void mergeBlockWithPipe( size_t key_columns_size, Block & block_to_update, - Pipe pipe) + QueryPipeline pipeline) { using KeyType = std::conditional_t; @@ -568,8 +568,6 @@ void mergeBlockWithPipe( auto result_fetched_columns = block_to_update.cloneEmptyColumns(); - QueryPipeline pipeline(std::move(pipe)); - PullingPipelineExecutor executor(pipeline); Block block; diff --git a/src/Dictionaries/DictionarySource.cpp b/src/Dictionaries/DictionarySource.cpp index 526d9fc85cd..4763c3e3ff9 100644 --- a/src/Dictionaries/DictionarySource.cpp +++ b/src/Dictionaries/DictionarySource.cpp @@ -1,5 +1,6 @@ #include "DictionarySource.h" #include +#include namespace DB @@ -11,12 +12,12 @@ namespace ErrorCodes extern const int NO_SUCH_COLUMN_IN_TABLE; } -class DictionarySource : public SourceWithProgress +class DictionarySource : public ISource { public: explicit DictionarySource(std::shared_ptr coordinator_) - : SourceWithProgress(coordinator_->getHeader()), coordinator(std::move(coordinator_)) + : ISource(coordinator_->getHeader()), coordinator(std::move(coordinator_)) { } diff --git a/src/Dictionaries/DictionarySource.h b/src/Dictionaries/DictionarySource.h index b54a8da6596..3fa7ce8bda6 100644 --- a/src/Dictionaries/DictionarySource.h +++ b/src/Dictionaries/DictionarySource.h @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/Dictionaries/DictionaryStructure.cpp b/src/Dictionaries/DictionaryStructure.cpp index 5624f9595d7..3ba82164eb2 100644 --- a/src/Dictionaries/DictionaryStructure.cpp +++ b/src/Dictionaries/DictionaryStructure.cpp @@ -167,6 +167,12 @@ void DictionaryStructure::validateKeyTypes(const DataTypes & key_types) const } } +bool DictionaryStructure::hasAttribute(const std::string & attribute_name) const +{ + auto it = attribute_name_to_index.find(attribute_name); + return it != attribute_name_to_index.end(); +} + const DictionaryAttribute & DictionaryStructure::getAttribute(const std::string & attribute_name) const { auto it = attribute_name_to_index.find(attribute_name); diff --git a/src/Dictionaries/DictionaryStructure.h b/src/Dictionaries/DictionaryStructure.h index bb4c306affa..327606e97f7 100644 --- a/src/Dictionaries/DictionaryStructure.h +++ b/src/Dictionaries/DictionaryStructure.h @@ -127,6 +127,7 @@ struct DictionaryStructure final DataTypes getKeyTypes() const; void validateKeyTypes(const DataTypes & key_types) const; + bool hasAttribute(const std::string & attribute_name) const; const DictionaryAttribute & getAttribute(const std::string & attribute_name) const; const DictionaryAttribute & getAttribute(const std::string & attribute_name, const DataTypePtr & type) const; diff --git a/src/Dictionaries/DirectDictionary.cpp b/src/Dictionaries/DirectDictionary.cpp index f15e44a6e21..189ea2a7bca 100644 --- a/src/Dictionaries/DirectDictionary.cpp +++ b/src/Dictionaries/DirectDictionary.cpp @@ -8,7 +8,9 @@ #include #include +#include #include +#include namespace DB { @@ -169,13 +171,13 @@ ColumnUInt8::Ptr DirectDictionary::hasKeys( auto requested_keys = requested_keys_extractor.extractAllKeys(); size_t requested_keys_size = requested_keys.size(); - HashMap requested_key_to_index; + HashMap> requested_key_to_index; requested_key_to_index.reserve(requested_keys_size); for (size_t i = 0; i < requested_keys.size(); ++i) { auto requested_key = requested_keys[i]; - requested_key_to_index[requested_key] = i; + requested_key_to_index[requested_key].push_back(i); } auto result = ColumnUInt8::create(requested_keys_size, false); @@ -206,10 +208,13 @@ ColumnUInt8::Ptr DirectDictionary::hasKeys( const auto * it = requested_key_to_index.find(block_key); assert(it); - size_t result_data_found_index = it->getMapped(); - /// block_keys_size cannot be used, due to duplicates. - keys_found += !result_data[result_data_found_index]; - result_data[result_data_found_index] = true; + auto & result_data_found_indexes = it->getMapped(); + for (size_t result_data_found_index : result_data_found_indexes) + { + /// block_keys_size cannot be used, due to duplicates. + keys_found += !result_data[result_data_found_index]; + result_data[result_data_found_index] = true; + } block_keys_extractor.rollbackCurrentKey(); } @@ -258,6 +263,35 @@ ColumnUInt8::Ptr DirectDictionary::isInHierarchy( return nullptr; } +class SourceFromQueryPipeline : public ISource +{ +public: + explicit SourceFromQueryPipeline(QueryPipeline pipeline_) + : ISource(pipeline_.getHeader()) + , pipeline(std::move(pipeline_)) + , executor(pipeline) + {} + + std::string getName() const override { return "SourceFromQueryPipeline"; } + + Chunk generate() override + { + Chunk chunk; + while (executor.pull(chunk)) + { + if (chunk) + return chunk; + } + + return {}; + } + + +private: + QueryPipeline pipeline; + PullingPipelineExecutor executor; +}; + template Pipe DirectDictionary::getSourcePipe( const Columns & key_columns [[maybe_unused]], @@ -275,7 +309,7 @@ Pipe DirectDictionary::getSourcePipe( for (auto key : requested_keys) ids.emplace_back(key); - pipe = source_ptr->loadIds(ids); + pipe = Pipe(std::make_shared(source_ptr->loadIds(ids))); } else { @@ -284,7 +318,7 @@ Pipe DirectDictionary::getSourcePipe( for (size_t i = 0; i < requested_keys_size; ++i) requested_rows.emplace_back(i); - pipe = source_ptr->loadKeys(key_columns, requested_rows); + pipe = Pipe(std::make_shared(source_ptr->loadKeys(key_columns, requested_rows))); } return pipe; @@ -293,7 +327,7 @@ Pipe DirectDictionary::getSourcePipe( template Pipe DirectDictionary::read(const Names & /* column_names */, size_t /* max_block_size */, size_t /* num_streams */) const { - return source_ptr->loadAll(); + return Pipe(std::make_shared(source_ptr->loadAll())); } namespace diff --git a/src/Dictionaries/ExecutableDictionarySource.cpp b/src/Dictionaries/ExecutableDictionarySource.cpp index e19d0328fab..5d805cc4a03 100644 --- a/src/Dictionaries/ExecutableDictionarySource.cpp +++ b/src/Dictionaries/ExecutableDictionarySource.cpp @@ -103,7 +103,7 @@ ExecutableDictionarySource::ExecutableDictionarySource(const ExecutableDictionar { } -Pipe ExecutableDictionarySource::loadAll() +QueryPipeline ExecutableDictionarySource::loadAll() { if (configuration.implicit_key) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "ExecutableDictionarySource with implicit_key does not support loadAll method"); @@ -114,10 +114,10 @@ Pipe ExecutableDictionarySource::loadAll() auto command = configuration.command; updateCommandIfNeeded(command, coordinator_configuration.execute_direct, context); - return coordinator->createPipe(command, configuration.command_arguments, sample_block, context); + return QueryPipeline(coordinator->createPipe(command, configuration.command_arguments, sample_block, context)); } -Pipe ExecutableDictionarySource::loadUpdatedAll() +QueryPipeline ExecutableDictionarySource::loadUpdatedAll() { if (configuration.implicit_key) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "ExecutableDictionarySource with implicit_key does not support loadUpdatedAll method"); @@ -148,10 +148,10 @@ Pipe ExecutableDictionarySource::loadUpdatedAll() update_time = new_update_time; LOG_TRACE(log, "loadUpdatedAll {}", command); - return coordinator->createPipe(command, command_arguments, sample_block, context); + return QueryPipeline(coordinator->createPipe(command, command_arguments, sample_block, context)); } -Pipe ExecutableDictionarySource::loadIds(const std::vector & ids) +QueryPipeline ExecutableDictionarySource::loadIds(const std::vector & ids) { LOG_TRACE(log, "loadIds {} size = {}", toString(), ids.size()); @@ -159,7 +159,7 @@ Pipe ExecutableDictionarySource::loadIds(const std::vector & ids) return getStreamForBlock(block); } -Pipe ExecutableDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline ExecutableDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { LOG_TRACE(log, "loadKeys {} size = {}", toString(), requested_rows.size()); @@ -167,7 +167,7 @@ Pipe ExecutableDictionarySource::loadKeys(const Columns & key_columns, const std return getStreamForBlock(block); } -Pipe ExecutableDictionarySource::getStreamForBlock(const Block & block) +QueryPipeline ExecutableDictionarySource::getStreamForBlock(const Block & block) { const auto & coordinator_configuration = coordinator->getConfiguration(); String command = configuration.command; @@ -184,7 +184,7 @@ Pipe ExecutableDictionarySource::getStreamForBlock(const Block & block) if (configuration.implicit_key) pipe.addTransform(std::make_shared(block, pipe.getHeader())); - return pipe; + return QueryPipeline(std::move(pipe)); } bool ExecutableDictionarySource::isModified() const diff --git a/src/Dictionaries/ExecutableDictionarySource.h b/src/Dictionaries/ExecutableDictionarySource.h index 7a6254780a8..0456d3cafef 100644 --- a/src/Dictionaries/ExecutableDictionarySource.h +++ b/src/Dictionaries/ExecutableDictionarySource.h @@ -39,17 +39,17 @@ public: ExecutableDictionarySource(const ExecutableDictionarySource & other); ExecutableDictionarySource & operator=(const ExecutableDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; /** The logic of this method is flawed, absolutely incorrect and ignorant. * It may lead to skipping some values due to clock sync or timezone changes. * The intended usage of "update_field" is totally different. */ - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -61,7 +61,7 @@ public: std::string toString() const override; - Pipe getStreamForBlock(const Block & block); + QueryPipeline getStreamForBlock(const Block & block); private: Poco::Logger * log; diff --git a/src/Dictionaries/ExecutablePoolDictionarySource.cpp b/src/Dictionaries/ExecutablePoolDictionarySource.cpp index 7f3d50519c2..df502efc882 100644 --- a/src/Dictionaries/ExecutablePoolDictionarySource.cpp +++ b/src/Dictionaries/ExecutablePoolDictionarySource.cpp @@ -68,17 +68,17 @@ ExecutablePoolDictionarySource::ExecutablePoolDictionarySource(const ExecutableP { } -Pipe ExecutablePoolDictionarySource::loadAll() +QueryPipeline ExecutablePoolDictionarySource::loadAll() { throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "ExecutablePoolDictionarySource does not support loadAll method"); } -Pipe ExecutablePoolDictionarySource::loadUpdatedAll() +QueryPipeline ExecutablePoolDictionarySource::loadUpdatedAll() { throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "ExecutablePoolDictionarySource does not support loadUpdatedAll method"); } -Pipe ExecutablePoolDictionarySource::loadIds(const std::vector & ids) +QueryPipeline ExecutablePoolDictionarySource::loadIds(const std::vector & ids) { LOG_TRACE(log, "loadIds {} size = {}", toString(), ids.size()); @@ -86,7 +86,7 @@ Pipe ExecutablePoolDictionarySource::loadIds(const std::vector & ids) return getStreamForBlock(block); } -Pipe ExecutablePoolDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline ExecutablePoolDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { LOG_TRACE(log, "loadKeys {} size = {}", toString(), requested_rows.size()); @@ -94,7 +94,7 @@ Pipe ExecutablePoolDictionarySource::loadKeys(const Columns & key_columns, const return getStreamForBlock(block); } -Pipe ExecutablePoolDictionarySource::getStreamForBlock(const Block & block) +QueryPipeline ExecutablePoolDictionarySource::getStreamForBlock(const Block & block) { String command = configuration.command; const auto & coordinator_configuration = coordinator->getConfiguration(); @@ -147,7 +147,7 @@ Pipe ExecutablePoolDictionarySource::getStreamForBlock(const Block & block) if (configuration.implicit_key) pipe.addTransform(std::make_shared(block, pipe.getHeader())); - return pipe; + return QueryPipeline(std::move(pipe)); } bool ExecutablePoolDictionarySource::isModified() const diff --git a/src/Dictionaries/ExecutablePoolDictionarySource.h b/src/Dictionaries/ExecutablePoolDictionarySource.h index f732e274b1d..1fc10d18b76 100644 --- a/src/Dictionaries/ExecutablePoolDictionarySource.h +++ b/src/Dictionaries/ExecutablePoolDictionarySource.h @@ -42,17 +42,17 @@ public: ExecutablePoolDictionarySource(const ExecutablePoolDictionarySource & other); ExecutablePoolDictionarySource & operator=(const ExecutablePoolDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; /** The logic of this method is flawed, absolutely incorrect and ignorant. * It may lead to skipping some values due to clock sync or timezone changes. * The intended usage of "update_field" is totally different. */ - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -64,7 +64,7 @@ public: std::string toString() const override; - Pipe getStreamForBlock(const Block & block); + QueryPipeline getStreamForBlock(const Block & block); private: const DictionaryStructure dict_struct; diff --git a/src/Dictionaries/ExternalQueryBuilder.cpp b/src/Dictionaries/ExternalQueryBuilder.cpp index 1701f08fd67..19dabe92d64 100644 --- a/src/Dictionaries/ExternalQueryBuilder.cpp +++ b/src/Dictionaries/ExternalQueryBuilder.cpp @@ -84,6 +84,19 @@ std::string ExternalQueryBuilder::composeLoadAllQuery() const } else { + /** In case UPDATE_FIELD is specified in {condition} for dictionary that must load all data. + * Replace {condition} with true_condition for initial dictionary load. + * For next dictionary loads {condition} will be updated with UPDATE_FIELD. + */ + static constexpr auto true_condition = "(1 = 1)"; + auto condition_position = query.find(CONDITION_PLACEHOLDER_TO_REPLACE_VALUE); + if (condition_position != std::string::npos) + { + auto query_copy = query; + query_copy.replace(condition_position, CONDITION_PLACEHOLDER_TO_REPLACE_VALUE.size(), true_condition); + return query_copy; + } + return query; } } diff --git a/src/Dictionaries/FileDictionarySource.cpp b/src/Dictionaries/FileDictionarySource.cpp index a6b423cfe74..86287971428 100644 --- a/src/Dictionaries/FileDictionarySource.cpp +++ b/src/Dictionaries/FileDictionarySource.cpp @@ -46,7 +46,7 @@ FileDictionarySource::FileDictionarySource(const FileDictionarySource & other) } -Pipe FileDictionarySource::loadAll() +QueryPipeline FileDictionarySource::loadAll() { LOG_TRACE(&Poco::Logger::get("FileDictionary"), "loadAll {}", toString()); auto in_ptr = std::make_unique(filepath); @@ -54,7 +54,7 @@ Pipe FileDictionarySource::loadAll() source->addBuffer(std::move(in_ptr)); last_modification = getLastModification(); - return Pipe(std::move(source)); + return QueryPipeline(std::move(source)); } diff --git a/src/Dictionaries/FileDictionarySource.h b/src/Dictionaries/FileDictionarySource.h index 8fe2d87d8b9..86ce1baa02a 100644 --- a/src/Dictionaries/FileDictionarySource.h +++ b/src/Dictionaries/FileDictionarySource.h @@ -21,19 +21,19 @@ public: FileDictionarySource(const FileDictionarySource & other); - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override + QueryPipeline loadUpdatedAll() override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for FileDictionarySource"); } - Pipe loadIds(const std::vector & /*ids*/) override + QueryPipeline loadIds(const std::vector & /*ids*/) override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadIds is unsupported for FileDictionarySource"); } - Pipe loadKeys(const Columns & /*key_columns*/, const std::vector & /*requested_rows*/) override + QueryPipeline loadKeys(const Columns & /*key_columns*/, const std::vector & /*requested_rows*/) override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadKeys is unsupported for FileDictionarySource"); } diff --git a/src/Dictionaries/FlatDictionary.cpp b/src/Dictionaries/FlatDictionary.cpp index bd664224d41..c858618c5ff 100644 --- a/src/Dictionaries/FlatDictionary.cpp +++ b/src/Dictionaries/FlatDictionary.cpp @@ -105,7 +105,7 @@ ColumnPtr FlatDictionary::getColumn( getItemsImpl( attribute, ids, - [&](size_t row, const StringRef value, bool is_null) + [&](size_t row, StringRef value, bool is_null) { (*vec_null_map_to)[row] = is_null; out->insertData(value.data, value.size); @@ -115,7 +115,7 @@ ColumnPtr FlatDictionary::getColumn( getItemsImpl( attribute, ids, - [&](size_t, const StringRef value, bool) { out->insertData(value.data, value.size); }, + [&](size_t, StringRef value, bool) { out->insertData(value.data, value.size); }, default_value_extractor); } else @@ -184,7 +184,11 @@ ColumnPtr FlatDictionary::getHierarchy(ColumnPtr key_column, const DataTypePtr & const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; const auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const UInt64 null_value = dictionary_attribute.null_value.get(); + std::optional null_value; + + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + const ContainerType & parent_keys = std::get>(hierarchical_attribute.container); auto is_key_valid_func = [&, this](auto & key) { return key < loaded_keys.size() && loaded_keys[key]; }; @@ -193,13 +197,26 @@ ColumnPtr FlatDictionary::getHierarchy(ColumnPtr key_column, const DataTypePtr & auto get_parent_key_func = [&, this](auto & hierarchy_key) { + std::optional result; + bool is_key_valid = hierarchy_key < loaded_keys.size() && loaded_keys[hierarchy_key]; - std::optional result = is_key_valid ? std::make_optional(parent_keys[hierarchy_key]) : std::nullopt; - keys_found += result.has_value(); + + if (!is_key_valid) + return result; + + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(hierarchy_key)) + return result; + + UInt64 parent_key = parent_keys[hierarchy_key]; + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, null_value, is_key_valid_func, get_parent_key_func); + auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, is_key_valid_func, get_parent_key_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -222,7 +239,11 @@ ColumnUInt8::Ptr FlatDictionary::isInHierarchy( const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; const auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const UInt64 null_value = dictionary_attribute.null_value.get(); + std::optional null_value; + + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + const ContainerType & parent_keys = std::get>(hierarchical_attribute.container); auto is_key_valid_func = [&, this](auto & key) { return key < loaded_keys.size() && loaded_keys[key]; }; @@ -231,13 +252,26 @@ ColumnUInt8::Ptr FlatDictionary::isInHierarchy( auto get_parent_key_func = [&, this](auto & hierarchy_key) { + std::optional result; + bool is_key_valid = hierarchy_key < loaded_keys.size() && loaded_keys[hierarchy_key]; - std::optional result = is_key_valid ? std::make_optional(parent_keys[hierarchy_key]) : std::nullopt; - keys_found += result.has_value(); + + if (!is_key_valid) + return result; + + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(hierarchy_key)) + return result; + + UInt64 parent_key = parent_keys[hierarchy_key]; + if (null_value && *null_value == parent_key) + return result; + + result = parent_keys[hierarchy_key]; + keys_found += 1; return result; }; - auto result = getKeysIsInHierarchyColumn(keys, keys_in, null_value, is_key_valid_func, get_parent_key_func); + auto result = getKeysIsInHierarchyColumn(keys, keys_in, is_key_valid_func, get_parent_key_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -264,6 +298,9 @@ DictionaryHierarchyParentToChildIndexPtr FlatDictionary::getHierarchicalIndex() if (!loaded_keys[child_key]) continue; + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(child_key)) + continue; + auto parent_key = parent_keys[child_key]; parent_to_child[parent_key].emplace_back(child_key); } @@ -379,11 +416,11 @@ void FlatDictionary::updateData() } else { - Pipe pipe(source_ptr->loadUpdatedAll()); + auto pipeline(source_ptr->loadUpdatedAll()); mergeBlockWithPipe( dict_struct.getKeysSize(), *update_field_loaded_block, - std::move(pipe)); + std::move(pipeline)); } if (update_field_loaded_block) diff --git a/src/Dictionaries/HTTPDictionarySource.cpp b/src/Dictionaries/HTTPDictionarySource.cpp index cf8b60f3681..39e034a071f 100644 --- a/src/Dictionaries/HTTPDictionarySource.cpp +++ b/src/Dictionaries/HTTPDictionarySource.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include "DictionarySourceFactory.h" @@ -31,8 +32,7 @@ HTTPDictionarySource::HTTPDictionarySource( const Configuration & configuration_, const Poco::Net::HTTPBasicCredentials & credentials_, Block & sample_block_, - ContextPtr context_, - bool created_from_ddl) + ContextPtr context_) : log(&Poco::Logger::get("HTTPDictionarySource")) , update_time(std::chrono::system_clock::from_time_t(0)) , dict_struct(dict_struct_) @@ -41,9 +41,6 @@ HTTPDictionarySource::HTTPDictionarySource( , context(context_) , timeouts(ConnectionTimeouts::getHTTPTimeouts(context)) { - if (created_from_ddl) - context->getRemoteHostFilter().checkURL(Poco::URI(configuration.url)); - credentials.setUsername(credentials_.getUsername()); credentials.setPassword(credentials_.getPassword()); } @@ -61,7 +58,7 @@ HTTPDictionarySource::HTTPDictionarySource(const HTTPDictionarySource & other) credentials.setPassword(other.credentials.getPassword()); } -Pipe HTTPDictionarySource::createWrappedBuffer(std::unique_ptr http_buffer_ptr) +QueryPipeline HTTPDictionarySource::createWrappedBuffer(std::unique_ptr http_buffer_ptr) { Poco::URI uri(configuration.url); String http_request_compression_method_str = http_buffer_ptr->getCompressionMethod(); @@ -69,7 +66,7 @@ Pipe HTTPDictionarySource::createWrappedBuffer(std::unique_ptrgetInputFormat(configuration.format, *in_ptr_wrapped, sample_block, max_block_size); source->addBuffer(std::move(in_ptr_wrapped)); - return Pipe(std::move(source)); + return QueryPipeline(std::move(source)); } void HTTPDictionarySource::getUpdateFieldAndDate(Poco::URI & uri) @@ -89,7 +86,7 @@ void HTTPDictionarySource::getUpdateFieldAndDate(Poco::URI & uri) } } -Pipe HTTPDictionarySource::loadAll() +QueryPipeline HTTPDictionarySource::loadAll() { LOG_TRACE(log, "loadAll {}", toString()); Poco::URI uri(configuration.url); @@ -109,7 +106,7 @@ Pipe HTTPDictionarySource::loadAll() return createWrappedBuffer(std::move(in_ptr)); } -Pipe HTTPDictionarySource::loadUpdatedAll() +QueryPipeline HTTPDictionarySource::loadUpdatedAll() { Poco::URI uri(configuration.url); getUpdateFieldAndDate(uri); @@ -130,7 +127,7 @@ Pipe HTTPDictionarySource::loadUpdatedAll() return createWrappedBuffer(std::move(in_ptr)); } -Pipe HTTPDictionarySource::loadIds(const std::vector & ids) +QueryPipeline HTTPDictionarySource::loadIds(const std::vector & ids) { LOG_TRACE(log, "loadIds {} size = {}", toString(), ids.size()); @@ -160,7 +157,7 @@ Pipe HTTPDictionarySource::loadIds(const std::vector & ids) return createWrappedBuffer(std::move(in_ptr)); } -Pipe HTTPDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline HTTPDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { LOG_TRACE(log, "loadKeys {} size = {}", toString(), requested_rows.size()); @@ -228,46 +225,84 @@ void registerDictionarySourceHTTP(DictionarySourceFactory & factory) if (dict_struct.has_expressions) throw Exception(ErrorCodes::LOGICAL_ERROR, "Dictionary source of type `http` does not support attribute expressions"); - auto context = copyContextAndApplySettingsFromDictionaryConfig(global_context, config, config_prefix); - - const auto & settings_config_prefix = config_prefix + ".http"; - const auto & credentials_prefix = settings_config_prefix + ".credentials"; - + auto settings_config_prefix = config_prefix + ".http"; Poco::Net::HTTPBasicCredentials credentials; - - if (config.has(credentials_prefix)) - { - credentials.setUsername(config.getString(credentials_prefix + ".user", "")); - credentials.setPassword(config.getString(credentials_prefix + ".password", "")); - } - - const auto & headers_prefix = settings_config_prefix + ".headers"; ReadWriteBufferFromHTTP::HTTPHeaderEntries header_entries; + String url; + String endpoint; + String format; - if (config.has(headers_prefix)) + auto named_collection = created_from_ddl + ? getURLBasedDataSourceConfiguration(config, settings_config_prefix, global_context) + : std::nullopt; + if (named_collection) { - Poco::Util::AbstractConfiguration::Keys config_keys; - config.keys(headers_prefix, config_keys); + url = named_collection->configuration.url; + endpoint = named_collection->configuration.endpoint; + format = named_collection->configuration.format; - header_entries.reserve(config_keys.size()); - for (const auto & key : config_keys) - { - const auto header_key = config.getString(headers_prefix + "." + key + ".name", ""); - const auto header_value = config.getString(headers_prefix + "." + key + ".value", ""); - header_entries.emplace_back(std::make_tuple(header_key, header_value)); - } + credentials.setUsername(named_collection->configuration.user); + credentials.setPassword(named_collection->configuration.password); + + header_entries.reserve(named_collection->configuration.headers.size()); + for (const auto & header : named_collection->configuration.headers) + header_entries.emplace_back(std::make_tuple(header.first, header.second.get())); } + else + { + const auto & credentials_prefix = settings_config_prefix + ".credentials"; + + if (config.has(credentials_prefix)) + { + credentials.setUsername(config.getString(credentials_prefix + ".user", "")); + credentials.setPassword(config.getString(credentials_prefix + ".password", "")); + } + + const auto & headers_prefix = settings_config_prefix + ".headers"; + + + if (config.has(headers_prefix)) + { + Poco::Util::AbstractConfiguration::Keys config_keys; + config.keys(headers_prefix, config_keys); + + header_entries.reserve(config_keys.size()); + for (const auto & key : config_keys) + { + const auto header_key = config.getString(headers_prefix + "." + key + ".name", ""); + const auto header_value = config.getString(headers_prefix + "." + key + ".value", ""); + header_entries.emplace_back(std::make_tuple(header_key, header_value)); + } + } + + url = config.getString(settings_config_prefix + ".url", ""); + endpoint = config.getString(settings_config_prefix + ".endpoint", ""); + format =config.getString(settings_config_prefix + ".format", ""); + } + + if (url.ends_with('/')) + { + if (endpoint.starts_with('/')) + url.pop_back(); + } + else if (!endpoint.empty() && !endpoint.starts_with('/')) + url.push_back('/'); auto configuration = HTTPDictionarySource::Configuration { - .url = config.getString(settings_config_prefix + ".url", ""), - .format =config.getString(settings_config_prefix + ".format", ""), + .url = url + endpoint, + .format = format, .update_field = config.getString(settings_config_prefix + ".update_field", ""), .update_lag = config.getUInt64(settings_config_prefix + ".update_lag", 1), .header_entries = std::move(header_entries) //-V1030 }; - return std::make_unique(dict_struct, configuration, credentials, sample_block, context, created_from_ddl); + auto context = copyContextAndApplySettingsFromDictionaryConfig(global_context, config, config_prefix); + + if (created_from_ddl) + context->getRemoteHostFilter().checkURL(Poco::URI(configuration.url)); + + return std::make_unique(dict_struct, configuration, credentials, sample_block, context); }; factory.registerSource("http", create_table_source); } diff --git a/src/Dictionaries/HTTPDictionarySource.h b/src/Dictionaries/HTTPDictionarySource.h index ce357814982..86e3836f2dc 100644 --- a/src/Dictionaries/HTTPDictionarySource.h +++ b/src/Dictionaries/HTTPDictionarySource.h @@ -37,19 +37,18 @@ public: const Configuration & configuration, const Poco::Net::HTTPBasicCredentials & credentials_, Block & sample_block_, - ContextPtr context_, - bool created_from_ddl); + ContextPtr context_); HTTPDictionarySource(const HTTPDictionarySource & other); HTTPDictionarySource & operator=(const HTTPDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -65,7 +64,7 @@ private: void getUpdateFieldAndDate(Poco::URI & uri); // wrap buffer using encoding from made request - Pipe createWrappedBuffer(std::unique_ptr http_buffer); + QueryPipeline createWrappedBuffer(std::unique_ptr http_buffer); Poco::Logger * log; diff --git a/src/Dictionaries/HashedArrayDictionary.cpp b/src/Dictionaries/HashedArrayDictionary.cpp index 66c63b7330d..b8ed664e91a 100644 --- a/src/Dictionaries/HashedArrayDictionary.cpp +++ b/src/Dictionaries/HashedArrayDictionary.cpp @@ -191,9 +191,12 @@ ColumnPtr HashedArrayDictionary::getHierarchy(ColumnPtr key const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; const auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const auto & key_attribute_container = key_attribute.container; + std::optional null_value; - const UInt64 null_value = dictionary_attribute.null_value.template get(); + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + + const auto & key_attribute_container = key_attribute.container; const AttributeContainerType & parent_keys_container = std::get>(hierarchical_attribute.container); auto is_key_valid_func = [&](auto & key) { return key_attribute_container.find(key) != key_attribute_container.end(); }; @@ -206,15 +209,25 @@ ColumnPtr HashedArrayDictionary::getHierarchy(ColumnPtr key auto it = key_attribute_container.find(hierarchy_key); - if (it != key_attribute_container.end()) - result = parent_keys_container[it->getMapped()]; + if (it == key_attribute_container.end()) + return result; - keys_found += result.has_value(); + size_t key_index = it->getMapped(); + + if (unlikely(hierarchical_attribute.is_index_null) && (*hierarchical_attribute.is_index_null)[key_index]) + return result; + + UInt64 parent_key = parent_keys_container[key_index]; + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, null_value, is_key_valid_func, get_parent_func); + auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, is_key_valid_func, get_parent_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -246,9 +259,12 @@ ColumnUInt8::Ptr HashedArrayDictionary::isInHierarchy( const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const auto & key_attribute_container = key_attribute.container; + std::optional null_value; - const UInt64 null_value = dictionary_attribute.null_value.template get(); + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + + const auto & key_attribute_container = key_attribute.container; const AttributeContainerType & parent_keys_container = std::get>(hierarchical_attribute.container); auto is_key_valid_func = [&](auto & key) { return key_attribute_container.find(key) != key_attribute_container.end(); }; @@ -261,15 +277,25 @@ ColumnUInt8::Ptr HashedArrayDictionary::isInHierarchy( auto it = key_attribute_container.find(hierarchy_key); - if (it != key_attribute_container.end()) - result = parent_keys_container[it->getMapped()]; + if (it == key_attribute_container.end()) + return result; - keys_found += result.has_value(); + size_t key_index = it->getMapped(); + + if (unlikely(hierarchical_attribute.is_index_null) && (*hierarchical_attribute.is_index_null)[key_index]) + return result; + + UInt64 parent_key = parent_keys_container[key_index]; + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto result = getKeysIsInHierarchyColumn(keys, keys_in, null_value, is_key_valid_func, get_parent_func); + auto result = getKeysIsInHierarchyColumn(keys, keys_in, is_key_valid_func, get_parent_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -305,8 +331,12 @@ DictionaryHierarchicalParentToChildIndexPtr HashedArrayDictionary> parent_to_child; parent_to_child.reserve(index_to_key.size()); - for (size_t i = 0; i < parent_keys_container.size(); ++i) + size_t parent_keys_container_size = parent_keys_container.size(); + for (size_t i = 0; i < parent_keys_container_size; ++i) { + if (unlikely(hierarchical_attribute.is_index_null) && (*hierarchical_attribute.is_index_null)[i]) + continue; + const auto * it = index_to_key.find(i); if (it == index_to_key.end()) continue; @@ -555,7 +585,7 @@ ColumnPtr HashedArrayDictionary::getAttributeColumn( getItemsImpl( attribute, keys_object, - [&](size_t row, const StringRef value, bool is_null) + [&](size_t row, StringRef value, bool is_null) { (*vec_null_map_to)[row] = is_null; out->insertData(value.data, value.size); @@ -565,7 +595,7 @@ ColumnPtr HashedArrayDictionary::getAttributeColumn( getItemsImpl( attribute, keys_object, - [&](size_t, const StringRef value, bool) { out->insertData(value.data, value.size); }, + [&](size_t, StringRef value, bool) { out->insertData(value.data, value.size); }, default_value_extractor); } else diff --git a/src/Dictionaries/HashedDictionary.cpp b/src/Dictionaries/HashedDictionary.cpp index 81d3d42617b..9beac59f274 100644 --- a/src/Dictionaries/HashedDictionary.cpp +++ b/src/Dictionaries/HashedDictionary.cpp @@ -7,8 +7,6 @@ #include #include -#include - #include #include #include @@ -119,7 +117,7 @@ ColumnPtr HashedDictionary::getColumn( getItemsImpl( attribute, extractor, - [&](size_t row, const StringRef value, bool is_null) + [&](size_t row, StringRef value, bool is_null) { (*vec_null_map_to)[row] = is_null; out->insertData(value.data, value.size); @@ -129,7 +127,7 @@ ColumnPtr HashedDictionary::getColumn( getItemsImpl( attribute, extractor, - [&](size_t, const StringRef value, bool) { out->insertData(value.data, value.size); }, + [&](size_t, StringRef value, bool) { out->insertData(value.data, value.size); }, default_value_extractor); } else @@ -235,10 +233,20 @@ ColumnPtr HashedDictionary::getHierarchy(ColumnPtr const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; const auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const UInt64 null_value = dictionary_attribute.null_value.template get(); - const CollectionType & parent_keys_map = std::get>(hierarchical_attribute.container); + std::optional null_value; - auto is_key_valid_func = [&](auto & key) { return parent_keys_map.find(key) != parent_keys_map.end(); }; + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + + const CollectionType & child_key_to_parent_key_map = std::get>(hierarchical_attribute.container); + + auto is_key_valid_func = [&](auto & hierarchy_key) + { + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(hierarchy_key)) + return true; + + return child_key_to_parent_key_map.find(hierarchy_key) != child_key_to_parent_key_map.end(); + }; size_t keys_found = 0; @@ -246,17 +254,22 @@ ColumnPtr HashedDictionary::getHierarchy(ColumnPtr { std::optional result; - auto it = parent_keys_map.find(hierarchy_key); + auto it = child_key_to_parent_key_map.find(hierarchy_key); - if (it != parent_keys_map.end()) - result = getValueFromCell(it); + if (it == child_key_to_parent_key_map.end()) + return result; - keys_found += result.has_value(); + UInt64 parent_key = getValueFromCell(it); + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, null_value, is_key_valid_func, get_parent_func); + auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, is_key_valid_func, get_parent_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -264,7 +277,9 @@ ColumnPtr HashedDictionary::getHierarchy(ColumnPtr return dictionary_hierarchy_array; } else + { return nullptr; + } } template @@ -275,6 +290,9 @@ ColumnUInt8::Ptr HashedDictionary::isInHierarchy( { if constexpr (dictionary_key_type == DictionaryKeyType::Simple) { + if (key_column->isNullable()) + key_column = assert_cast(key_column.get())->getNestedColumnPtr(); + PaddedPODArray keys_backup_storage; const auto & keys = getColumnVectorData(this, key_column, keys_backup_storage); @@ -286,28 +304,43 @@ ColumnUInt8::Ptr HashedDictionary::isInHierarchy( const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const UInt64 null_value = dictionary_attribute.null_value.template get(); - const CollectionType & parent_keys_map = std::get>(hierarchical_attribute.container); + std::optional null_value; - auto is_key_valid_func = [&](auto & key) { return parent_keys_map.find(key) != parent_keys_map.end(); }; + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + + const CollectionType & child_key_to_parent_key_map = std::get>(hierarchical_attribute.container); + + auto is_key_valid_func = [&](auto & hierarchy_key) + { + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(hierarchy_key)) + return true; + + return child_key_to_parent_key_map.find(hierarchy_key) != child_key_to_parent_key_map.end(); + }; size_t keys_found = 0; - auto get_parent_func = [&](auto & hierarchy_key) + auto get_parent_key_func = [&](auto & hierarchy_key) { std::optional result; - auto it = parent_keys_map.find(hierarchy_key); + auto it = child_key_to_parent_key_map.find(hierarchy_key); - if (it != parent_keys_map.end()) - result = getValueFromCell(it); + if (it == child_key_to_parent_key_map.end()) + return result; - keys_found += result.has_value(); + UInt64 parent_key = getValueFromCell(it); + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto result = getKeysIsInHierarchyColumn(keys, keys_in, null_value, is_key_valid_func, get_parent_func); + auto result = getKeysIsInHierarchyColumn(keys, keys_in, is_key_valid_func, get_parent_key_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -328,13 +361,13 @@ DictionaryHierarchyParentToChildIndexPtr HashedDictionary & parent_keys = std::get>(hierarchical_attribute.container); + const CollectionType & child_key_to_parent_key_map = std::get>(hierarchical_attribute.container); HashMap> parent_to_child; - parent_to_child.reserve(parent_keys.size()); + parent_to_child.reserve(child_key_to_parent_key_map.size()); - for (const auto & [key, value] : parent_keys) - parent_to_child[value].emplace_back(key); + for (const auto & [child_key, parent_key] : child_key_to_parent_key_map) + parent_to_child[parent_key].emplace_back(child_key); return std::make_shared(parent_to_child); } diff --git a/src/Dictionaries/HierarchyDictionariesUtils.cpp b/src/Dictionaries/HierarchyDictionariesUtils.cpp index 0b5f8478f7a..fd59a0c37db 100644 --- a/src/Dictionaries/HierarchyDictionariesUtils.cpp +++ b/src/Dictionaries/HierarchyDictionariesUtils.cpp @@ -1,5 +1,8 @@ #include "HierarchyDictionariesUtils.h" +#include + + namespace DB { @@ -26,25 +29,36 @@ namespace detail namespace { + struct ChildToParentHierarchicalContext + { + HashMap child_key_to_parent_key; + std::optional> child_key_parent_key_is_null; + }; + /** In case of cache or direct dictionary we does not have structure with child to parent representation. * This function build such structure calling getColumn for initial keys to request and for next keys in hierarchy, * until all keys are requested or result key is null value. * To distinguish null value key and key that is not present in dictionary, we use special default value column * with max UInt64 value, if result column key has such value we assume that current key is not presented in dictionary storage. */ - HashMap getChildToParentHierarchyMapImpl( + ChildToParentHierarchicalContext getChildToParentHierarchicalContext( const IDictionary * dictionary, const DictionaryAttribute & hierarchical_attribute, const PaddedPODArray & initial_keys_to_request, const DataTypePtr & key_type) { - UInt64 null_value = hierarchical_attribute.null_value.get(); + std::optional null_value; + + if (!hierarchical_attribute.null_value.isNull()) + null_value = hierarchical_attribute.null_value.get(); ColumnPtr key_to_request_column = ColumnVector::create(); auto * key_to_request_column_typed = static_cast *>(key_to_request_column->assumeMutable().get()); UInt64 key_not_in_storage_value = std::numeric_limits::max(); ColumnPtr key_not_in_storage_default_value_column = ColumnVector::create(initial_keys_to_request.size(), key_not_in_storage_value); + if (hierarchical_attribute.is_nullable) + key_not_in_storage_default_value_column = makeNullable(key_not_in_storage_default_value_column); PaddedPODArray & keys_to_request = key_to_request_column_typed->getData(); keys_to_request.assign(initial_keys_to_request); @@ -52,20 +66,36 @@ namespace PaddedPODArray next_keys_to_request; HashSet already_requested_keys; - HashMap child_to_parent_key; + ChildToParentHierarchicalContext context; + + if (hierarchical_attribute.is_nullable) + context.child_key_parent_key_is_null = HashSet(); + + HashMap & child_key_to_parent_key = context.child_key_to_parent_key; + std::optional> & child_key_parent_key_is_null = context.child_key_parent_key_is_null; while (!keys_to_request.empty()) { - child_to_parent_key.reserve(child_to_parent_key.size() + keys_to_request.size()); + child_key_to_parent_key.reserve(keys_to_request.size()); - auto parent_key_column = dictionary->getColumn( + auto hierarchical_attribute_parent_key_column = dictionary->getColumn( hierarchical_attribute.name, hierarchical_attribute.type, {key_to_request_column}, {key_type}, key_not_in_storage_default_value_column); - const auto * parent_key_column_typed = checkAndGetColumn>(*parent_key_column); + const PaddedPODArray * in_key_column_nullable_mask = nullptr; + + ColumnPtr parent_key_column_non_null = hierarchical_attribute_parent_key_column; + if (hierarchical_attribute_parent_key_column->isNullable()) + { + const auto * parent_key_column_typed = assert_cast(hierarchical_attribute_parent_key_column.get()); + in_key_column_nullable_mask = &parent_key_column_typed->getNullMapData(); + parent_key_column_non_null = parent_key_column_typed->getNestedColumnPtr(); + } + + const auto * parent_key_column_typed = checkAndGetColumn>(*parent_key_column_non_null); if (!parent_key_column_typed) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "Parent key column should be UInt64. Actual {}", @@ -74,17 +104,24 @@ namespace const auto & parent_keys = parent_key_column_typed->getData(); next_keys_to_request.clear(); - for (size_t i = 0; i < keys_to_request.size(); ++i) + size_t keys_to_request_size = keys_to_request.size(); + for (size_t i = 0; i < keys_to_request_size; ++i) { - auto key = keys_to_request[i]; + auto child_key = keys_to_request[i]; auto parent_key = parent_keys[i]; + if (unlikely(in_key_column_nullable_mask) && (*in_key_column_nullable_mask)[i]) + { + child_key_parent_key_is_null->insert(child_key); + continue; + } + if (parent_key == key_not_in_storage_value) continue; - child_to_parent_key[key] = parent_key; + child_key_to_parent_key[child_key] = parent_key; - if (parent_key == null_value || + if ((null_value && parent_key == *null_value) || already_requested_keys.find(parent_key) != nullptr) continue; @@ -96,7 +133,7 @@ namespace keys_to_request.assign(next_keys_to_request); } - return child_to_parent_key; + return context; } } @@ -138,22 +175,41 @@ ColumnPtr getKeysHierarchyDefaultImplementation( const auto & hierarchical_attribute = dictionary_structure.attributes[hierarchical_attribute_index]; const PaddedPODArray & requested_keys = key_column_typed->getData(); - HashMap key_to_parent_key = getChildToParentHierarchyMapImpl(dictionary, hierarchical_attribute, requested_keys, key_type); + ChildToParentHierarchicalContext child_to_parent_hierarchical_context + = getChildToParentHierarchicalContext(dictionary, hierarchical_attribute, requested_keys, key_type); - auto is_key_valid_func = [&](auto & key) { return key_to_parent_key.find(key) != nullptr; }; + auto is_key_valid_func = [&](auto & key) + { + if (unlikely(child_to_parent_hierarchical_context.child_key_parent_key_is_null) + && child_to_parent_hierarchical_context.child_key_parent_key_is_null->find(key)) + return true; + + return child_to_parent_hierarchical_context.child_key_to_parent_key.find(key) != nullptr; + }; + + std::optional null_value; + + if (!hierarchical_attribute.null_value.isNull()) + null_value = hierarchical_attribute.null_value.get(); auto get_parent_key_func = [&](auto & key) { - auto it = key_to_parent_key.find(key); - std::optional result = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - valid_keys += result.has_value(); + std::optional result; + + auto it = child_to_parent_hierarchical_context.child_key_to_parent_key.find(key); + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (null_value && parent_key == *null_value) + return result; + + result = parent_key; + valid_keys += 1; return result; }; - UInt64 null_value = hierarchical_attribute.null_value.get(); - - auto dictionary_hierarchy_array = getKeysHierarchyArray(requested_keys, null_value, is_key_valid_func, get_parent_key_func); - return dictionary_hierarchy_array; + return getKeysHierarchyArray(requested_keys, is_key_valid_func, get_parent_key_func); } ColumnUInt8::Ptr getKeysIsInHierarchyDefaultImplementation( @@ -181,23 +237,42 @@ ColumnUInt8::Ptr getKeysIsInHierarchyDefaultImplementation( const auto & hierarchical_attribute = dictionary_structure.attributes[hierarchical_attribute_index]; const PaddedPODArray & requested_keys = key_column_typed->getData(); - HashMap key_to_parent_key = getChildToParentHierarchyMapImpl(dictionary, hierarchical_attribute, requested_keys, key_type); + ChildToParentHierarchicalContext child_to_parent_hierarchical_context + = getChildToParentHierarchicalContext(dictionary, hierarchical_attribute, requested_keys, key_type); - auto is_key_valid_func = [&](auto & key) { return key_to_parent_key.find(key) != nullptr; }; + auto is_key_valid_func = [&](auto & key) + { + if (unlikely(child_to_parent_hierarchical_context.child_key_parent_key_is_null) + && child_to_parent_hierarchical_context.child_key_parent_key_is_null->find(key)) + return true; + + return child_to_parent_hierarchical_context.child_key_to_parent_key.find(key) != nullptr; + }; + + std::optional null_value; + + if (!hierarchical_attribute.null_value.isNull()) + null_value = hierarchical_attribute.null_value.get(); auto get_parent_key_func = [&](auto & key) { - auto it = key_to_parent_key.find(key); - std::optional result = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - valid_keys += result.has_value(); + std::optional result; + + auto it = child_to_parent_hierarchical_context.child_key_to_parent_key.find(key); + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (null_value && parent_key == *null_value) + return result; + + result = parent_key; + valid_keys += 1; return result; }; - UInt64 null_value = hierarchical_attribute.null_value.get(); const auto & in_keys = in_key_column_typed->getData(); - - auto result = getKeysIsInHierarchyColumn(requested_keys, in_keys, null_value, is_key_valid_func, get_parent_key_func); - return result; + return getKeysIsInHierarchyColumn(requested_keys, in_keys, is_key_valid_func, get_parent_key_func); } } diff --git a/src/Dictionaries/HierarchyDictionariesUtils.h b/src/Dictionaries/HierarchyDictionariesUtils.h index 6a59a37b5e7..621290f40f9 100644 --- a/src/Dictionaries/HierarchyDictionariesUtils.h +++ b/src/Dictionaries/HierarchyDictionariesUtils.h @@ -33,7 +33,7 @@ public: keys.reserve(parent_to_children_map_size); parent_to_children_keys_range.reserve(parent_to_children_map_size); - for (auto & [parent, children] : parent_to_children_map_) + for (const auto & [parent, children] : parent_to_children_map_) { size_t keys_size = keys.size(); UInt32 start_index = static_cast(keys_size); @@ -97,7 +97,6 @@ namespace detail template ElementsAndOffsets getHierarchy( const PaddedPODArray & keys, - const UInt64 & hierarchy_null_value, IsKeyValidFunc && is_key_valid_func, GetParentKeyFunc && get_parent_key_func) { @@ -156,7 +155,7 @@ namespace detail break; } - if (hierarchy_key == hierarchy_null_value || current_hierarchy_depth >= DBMS_HIERARCHICAL_DICTIONARY_MAX_DEPTH) + if (current_hierarchy_depth >= DBMS_HIERARCHICAL_DICTIONARY_MAX_DEPTH) break; already_processes_keys_to_offset[hierarchy_key] = {offsets.size(), current_hierarchy_depth}; @@ -190,7 +189,6 @@ namespace detail PaddedPODArray getIsInHierarchy( const PaddedPODArray & keys, const PaddedPODArray & in_keys, - const UInt64 & hierarchy_null_value, IsKeyValidFunc && is_key_valid_func, GetParentKeyFunc && get_parent_func) { @@ -201,7 +199,6 @@ namespace detail detail::ElementsAndOffsets hierarchy = detail::getHierarchy( keys, - hierarchy_null_value, std::forward(is_key_valid_func), std::forward(get_parent_func)); @@ -213,7 +210,7 @@ namespace detail size_t i_elements_start = i > 0 ? offsets[i - 1] : 0; size_t i_elements_end = offsets[i]; - auto & key_to_find = in_keys[i]; + const auto & key_to_find = in_keys[i]; const auto * begin = elements.begin() + i_elements_start; const auto * end = elements.begin() + i_elements_end; @@ -263,8 +260,8 @@ namespace detail Strategy strategy, size_t & valid_keys) { - auto & parent_to_children_keys_range = parent_to_child_index.parent_to_children_keys_range; - auto & children_keys = parent_to_child_index.keys; + const auto & parent_to_children_keys_range = parent_to_child_index.parent_to_children_keys_range; + const auto & children_keys = parent_to_child_index.keys; /// If strategy is GetAllDescendantsStrategy we try to cache and later reuse previously calculated descendants. /// If strategy is GetDescendantsAtSpecificLevelStrategy we does not use cache strategy. @@ -436,13 +433,11 @@ namespace detail template ColumnPtr getKeysHierarchyArray( const PaddedPODArray & keys, - const KeyType & hierarchy_null_value, IsKeyValidFunc && is_key_valid_func, GetParentKeyFunc && get_parent_func) { auto elements_and_offsets = detail::getHierarchy( keys, - hierarchy_null_value, std::forward(is_key_valid_func), std::forward(get_parent_func)); @@ -454,14 +449,12 @@ template ColumnUInt8::Ptr getKeysIsInHierarchyColumn( const PaddedPODArray & hierarchy_keys, const PaddedPODArray & hierarchy_in_keys, - const KeyType & hierarchy_null_value, IsKeyValidFunc && is_key_valid_func, GetParentKeyFunc && get_parent_func) { auto is_in_hierarchy_data = detail::getIsInHierarchy( hierarchy_keys, hierarchy_in_keys, - hierarchy_null_value, std::forward(is_key_valid_func), std::forward(get_parent_func)); diff --git a/src/Dictionaries/IDictionary.h b/src/Dictionaries/IDictionary.h index 32c81beee6f..d82f89b7473 100644 --- a/src/Dictionaries/IDictionary.h +++ b/src/Dictionaries/IDictionary.h @@ -5,16 +5,19 @@ #include #include +#include #include #include +#include #include +#include #include #include #include - namespace DB { + namespace ErrorCodes { extern const int NOT_IMPLEMENTED; @@ -52,7 +55,7 @@ enum class DictionarySpecialKeyType /** * Base class for Dictionaries implementation. */ -class IDictionary : public IExternalLoadable +class IDictionary : public IExternalLoadable, public IKeyValueEntity { public: explicit IDictionary(const StorageID & dictionary_id_) @@ -62,26 +65,26 @@ public: std::string getFullName() const { - std::lock_guard lock{name_mutex}; - return dictionary_id.getInternalDictionaryName(); + std::lock_guard lock{mutex}; + return dictionary_id.getNameForLogs(); } StorageID getDictionaryID() const { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; return dictionary_id; } void updateDictionaryName(const StorageID & new_name) const { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; assert(new_name.uuid == dictionary_id.uuid && dictionary_id.uuid != UUIDHelpers::Nil); dictionary_id = new_name; } - std::string getLoadableName() const override final + std::string getLoadableName() const final { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; return dictionary_id.getInternalDictionaryName(); } @@ -92,6 +95,8 @@ public: std::string getDatabaseOrNoDatabaseTag() const { + std::lock_guard lock{mutex}; + if (!dictionary_id.database_name.empty()) return dictionary_id.database_name; @@ -278,22 +283,121 @@ public: void setDictionaryComment(String new_comment) { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; dictionary_comment = std::move(new_comment); } String getDictionaryComment() const { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; return dictionary_comment; } -private: - mutable std::mutex name_mutex; - mutable StorageID dictionary_id; + /// IKeyValueEntity implementation + Names getPrimaryKey() const override { return getStructure().getKeysNames(); } -protected: - String dictionary_comment; + Chunk getByKeys(const ColumnsWithTypeAndName & keys, PaddedPODArray & out_null_map, const Names & result_names) const override + { + if (keys.empty()) + return Chunk(getSampleBlock(result_names).cloneEmpty().getColumns(), 0); + + const auto & dictionary_structure = getStructure(); + + /// Split column keys and types into separate vectors, to use in `IDictionary::getColumns` + Columns key_columns; + DataTypes key_types; + for (const auto & key : keys) + { + key_columns.emplace_back(key.column); + key_types.emplace_back(key.type); + } + + /// Fill null map + { + out_null_map.clear(); + + auto mask = hasKeys(key_columns, key_types); + const auto & mask_data = mask->getData(); + + out_null_map.resize(mask_data.size(), 0); + std::copy(mask_data.begin(), mask_data.end(), out_null_map.begin()); + } + + Names attribute_names; + DataTypes result_types; + if (!result_names.empty()) + { + for (const auto & attr_name : result_names) + { + if (!dictionary_structure.hasAttribute(attr_name)) + continue; /// skip keys + const auto & attr = dictionary_structure.getAttribute(attr_name); + attribute_names.emplace_back(attr.name); + result_types.emplace_back(attr.type); + } + } + else + { + /// If result_names is empty, then use all attributes from dictionary_structure + for (const auto & attr : dictionary_structure.attributes) + { + attribute_names.emplace_back(attr.name); + result_types.emplace_back(attr.type); + } + } + + Columns default_cols(result_types.size()); + for (size_t i = 0; i < result_types.size(); ++i) + /// Dictinonary may have non-standart default values specified + default_cols[i] = result_types[i]->createColumnConstWithDefaultValue(out_null_map.size()); + + Columns result_columns = getColumns(attribute_names, result_types, key_columns, key_types, default_cols); + + /// Result block should consist of key columns and then attributes + for (const auto & key_col : key_columns) + { + /// Insert default values for keys that were not found + ColumnPtr filtered_key_col = JoinCommon::filterWithBlanks(key_col, out_null_map); + result_columns.insert(result_columns.begin(), filtered_key_col); + } + + size_t num_rows = result_columns[0]->size(); + return Chunk(std::move(result_columns), num_rows); + } + + Block getSampleBlock(const Names & result_names) const override + { + const auto & dictionary_structure = getStructure(); + const auto & key_types = dictionary_structure.getKeyTypes(); + const auto & key_names = dictionary_structure.getKeysNames(); + + Block sample_block; + + for (size_t i = 0; i < key_types.size(); ++i) + sample_block.insert(ColumnWithTypeAndName(nullptr, key_types.at(i), key_names.at(i))); + + if (result_names.empty()) + { + for (const auto & attr : dictionary_structure.attributes) + sample_block.insert(ColumnWithTypeAndName(nullptr, attr.type, attr.name)); + } + else + { + for (const auto & attr_name : result_names) + { + if (!dictionary_structure.hasAttribute(attr_name)) + continue; /// skip keys + const auto & attr = dictionary_structure.getAttribute(attr_name); + sample_block.insert(ColumnWithTypeAndName(nullptr, attr.type, attr_name)); + } + } + return sample_block; + } + +private: + mutable std::mutex mutex; + mutable StorageID dictionary_id TSA_GUARDED_BY(mutex); + String dictionary_comment TSA_GUARDED_BY(mutex); }; } diff --git a/src/Dictionaries/IDictionarySource.h b/src/Dictionaries/IDictionarySource.h index 128595b815f..0fd528aafd4 100644 --- a/src/Dictionaries/IDictionarySource.h +++ b/src/Dictionaries/IDictionarySource.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include #include @@ -21,10 +21,10 @@ class IDictionarySource public: /// Returns a pipe with all the data available from this source. - virtual Pipe loadAll() = 0; + virtual QueryPipeline loadAll() = 0; /// Returns a pipe with updated data available from this source. - virtual Pipe loadUpdatedAll() = 0; + virtual QueryPipeline loadUpdatedAll() = 0; /** * result_size_hint - approx number of rows in the stream. @@ -59,7 +59,7 @@ public: * * ... */ - virtual Pipe loadAllWithSizeHint(std::atomic * /* result_size_hint */) + virtual QueryPipeline loadAllWithSizeHint(std::atomic * /* result_size_hint */) { return loadAll(); } @@ -72,13 +72,13 @@ public: /** Returns an input stream with the data for a collection of identifiers. * It must be guaranteed, that 'ids' array will live at least until all data will be read from returned stream. */ - virtual Pipe loadIds(const std::vector & ids) = 0; + virtual QueryPipeline loadIds(const std::vector & ids) = 0; /** Returns an input stream with the data for a collection of composite keys. * `requested_rows` contains indices of all rows containing unique keys. * It must be guaranteed, that 'requested_rows' array will live at least until all data will be read from returned stream. */ - virtual Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) = 0; + virtual QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) = 0; /// indicates whether the source has been modified since last load* operation virtual bool isModified() const = 0; diff --git a/src/Dictionaries/IPAddressDictionary.cpp b/src/Dictionaries/IPAddressDictionary.cpp index 46cba702b5d..efb81849126 100644 --- a/src/Dictionaries/IPAddressDictionary.cpp +++ b/src/Dictionaries/IPAddressDictionary.cpp @@ -261,7 +261,7 @@ ColumnPtr IPAddressDictionary::getColumn( getItemsImpl( attribute, key_columns, - [&](const size_t, const StringRef value) { out->insertData(value.data, value.size); }, + [&](const size_t, StringRef value) { out->insertData(value.data, value.size); }, default_value_extractor); } else @@ -387,7 +387,7 @@ void IPAddressDictionary::loadData() setAttributeValue(attribute, attribute_column[row]); } - const auto [addr, prefix] = parseIPFromString(std::string_view{key_column_ptr->getDataAt(row)}); + const auto [addr, prefix] = parseIPFromString(key_column_ptr->getDataAt(row).toView()); has_ipv6 = has_ipv6 || (addr.family() == Poco::Net::IPAddress::IPv6); size_t row_number = ip_records.size(); diff --git a/src/Dictionaries/LibraryDictionarySource.cpp b/src/Dictionaries/LibraryDictionarySource.cpp index 20f4c4b0a01..7eb4d803fe8 100644 --- a/src/Dictionaries/LibraryDictionarySource.cpp +++ b/src/Dictionaries/LibraryDictionarySource.cpp @@ -12,8 +12,6 @@ #include #include -namespace fs = std::filesystem; - namespace DB { @@ -44,19 +42,21 @@ LibraryDictionarySource::LibraryDictionarySource( if (created_from_ddl && !fileOrSymlinkPathStartsWith(path, dictionaries_lib_path)) throw Exception(ErrorCodes::PATH_ACCESS_DENIED, "File path {} is not inside {}", path, dictionaries_lib_path); + namespace fs = std::filesystem; + if (!fs::exists(path)) throw Exception(ErrorCodes::FILE_DOESNT_EXIST, "LibraryDictionarySource: Can't load library {}: file doesn't exist", path); description.init(sample_block); - LibraryBridgeHelper::LibraryInitData library_data + ExternalDictionaryLibraryBridgeHelper::LibraryInitData library_data { .library_path = path, .library_settings = getLibrarySettingsString(config, config_prefix + ".settings"), .dict_attributes = getDictAttributesString() }; - bridge_helper = std::make_shared(context, description.sample_block, dictionary_id, library_data); + bridge_helper = std::make_shared(context, description.sample_block, dictionary_id, library_data); if (!bridge_helper->initLibrary()) throw Exception(ErrorCodes::EXTERNAL_LIBRARY_ERROR, "Failed to create shared library from path: {}", path); @@ -87,7 +87,7 @@ LibraryDictionarySource::LibraryDictionarySource(const LibraryDictionarySource & , context(other.context) , description{other.description} { - bridge_helper = std::make_shared(context, description.sample_block, dictionary_id, other.bridge_helper->getLibraryData()); + bridge_helper = std::make_shared(context, description.sample_block, dictionary_id, other.bridge_helper->getLibraryData()); if (!bridge_helper->cloneLibrary(other.dictionary_id)) throw Exception(ErrorCodes::EXTERNAL_LIBRARY_ERROR, "Failed to clone library"); } @@ -105,21 +105,21 @@ bool LibraryDictionarySource::supportsSelectiveLoad() const } -Pipe LibraryDictionarySource::loadAll() +QueryPipeline LibraryDictionarySource::loadAll() { LOG_TRACE(log, "loadAll {}", toString()); return bridge_helper->loadAll(); } -Pipe LibraryDictionarySource::loadIds(const std::vector & ids) +QueryPipeline LibraryDictionarySource::loadIds(const std::vector & ids) { LOG_TRACE(log, "loadIds {} size = {}", toString(), ids.size()); return bridge_helper->loadIds(ids); } -Pipe LibraryDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline LibraryDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { LOG_TRACE(log, "loadKeys {} size = {}", toString(), requested_rows.size()); auto block = blockForKeys(dict_struct, key_columns, requested_rows); diff --git a/src/Dictionaries/LibraryDictionarySource.h b/src/Dictionaries/LibraryDictionarySource.h index 32a4c942959..57ab9976a3b 100644 --- a/src/Dictionaries/LibraryDictionarySource.h +++ b/src/Dictionaries/LibraryDictionarySource.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include "DictionaryStructure.h" @@ -28,7 +28,7 @@ namespace ErrorCodes } class CStringsHolder; -using LibraryBridgeHelperPtr = std::shared_ptr; +using ExternalDictionaryLibraryBridgeHelperPtr = std::shared_ptr; class LibraryDictionarySource final : public IDictionarySource { @@ -46,16 +46,16 @@ public: ~LibraryDictionarySource() override; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override + QueryPipeline loadUpdatedAll() override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for LibraryDictionarySource"); } - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -85,7 +85,7 @@ private: Block sample_block; ContextPtr context; - LibraryBridgeHelperPtr bridge_helper; + ExternalDictionaryLibraryBridgeHelperPtr bridge_helper; ExternalResultDescription description; }; diff --git a/src/Dictionaries/MongoDBDictionarySource.cpp b/src/Dictionaries/MongoDBDictionarySource.cpp index 57f2c8f60c3..1ede0ec5045 100644 --- a/src/Dictionaries/MongoDBDictionarySource.cpp +++ b/src/Dictionaries/MongoDBDictionarySource.cpp @@ -20,7 +20,7 @@ void registerDictionarySourceMongoDB(DictionarySourceFactory & factory) Block & sample_block, ContextPtr context, const std::string & /* default_database */, - bool /* created_from_ddl */) + bool created_from_ddl) { const auto config_prefix = root_config_prefix + ".mongodb"; ExternalDataSourceConfiguration configuration; @@ -39,6 +39,9 @@ void registerDictionarySourceMongoDB(DictionarySourceFactory & factory) configuration.database = config.getString(config_prefix + ".db", ""); } + if (created_from_ddl) + context->getRemoteHostFilter().checkHostAndPort(configuration.host, toString(configuration.port)); + return std::make_unique(dict_struct, config.getString(config_prefix + ".uri", ""), configuration.host, @@ -163,12 +166,12 @@ MongoDBDictionarySource::MongoDBDictionarySource(const MongoDBDictionarySource & MongoDBDictionarySource::~MongoDBDictionarySource() = default; -Pipe MongoDBDictionarySource::loadAll() +QueryPipeline MongoDBDictionarySource::loadAll() { - return Pipe(std::make_shared(connection, createCursor(db, collection, sample_block), sample_block, max_block_size)); + return QueryPipeline(std::make_shared(connection, createCursor(db, collection, sample_block), sample_block, max_block_size)); } -Pipe MongoDBDictionarySource::loadIds(const std::vector & ids) +QueryPipeline MongoDBDictionarySource::loadIds(const std::vector & ids) { if (!dict_struct.id) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "'id' is required for selective loading"); @@ -185,11 +188,11 @@ Pipe MongoDBDictionarySource::loadIds(const std::vector & ids) cursor->query().selector().addNewDocument(dict_struct.id->name).add("$in", ids_array); - return Pipe(std::make_shared(connection, std::move(cursor), sample_block, max_block_size)); + return QueryPipeline(std::make_shared(connection, std::move(cursor), sample_block, max_block_size)); } -Pipe MongoDBDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline MongoDBDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { if (!dict_struct.key) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "'key' is required for selective loading"); @@ -251,7 +254,7 @@ Pipe MongoDBDictionarySource::loadKeys(const Columns & key_columns, const std::v /// If more than one key we should use $or cursor->query().selector().add("$or", keys_array); - return Pipe(std::make_shared(connection, std::move(cursor), sample_block, max_block_size)); + return QueryPipeline(std::make_shared(connection, std::move(cursor), sample_block, max_block_size)); } std::string MongoDBDictionarySource::toString() const diff --git a/src/Dictionaries/MongoDBDictionarySource.h b/src/Dictionaries/MongoDBDictionarySource.h index 85531f89902..0d4c5f6aa0b 100644 --- a/src/Dictionaries/MongoDBDictionarySource.h +++ b/src/Dictionaries/MongoDBDictionarySource.h @@ -46,18 +46,18 @@ public: ~MongoDBDictionarySource() override; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override + QueryPipeline loadUpdatedAll() override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for MongoDBDictionarySource"); } bool supportsSelectiveLoad() const override { return true; } - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; /// @todo: for MongoDB, modification date can somehow be determined from the `_id` object field bool isModified() const override { return true; } diff --git a/src/Dictionaries/MySQLDictionarySource.cpp b/src/Dictionaries/MySQLDictionarySource.cpp index 22ca5a5b08c..6fb4dffc5e7 100644 --- a/src/Dictionaries/MySQLDictionarySource.cpp +++ b/src/Dictionaries/MySQLDictionarySource.cpp @@ -78,6 +78,9 @@ void registerDictionarySourceMysql(DictionarySourceFactory & factory) : std::nullopt; if (named_collection) { + if (created_from_ddl) + global_context->getRemoteHostFilter().checkHostAndPort(configuration.host, toString(configuration.port)); + mysql_settings.applyChanges(named_collection->settings_changes); configuration.set(named_collection->configuration); configuration.addresses = {std::make_pair(configuration.host, configuration.port)}; @@ -90,6 +93,12 @@ void registerDictionarySourceMysql(DictionarySourceFactory & factory) } else { + if (created_from_ddl) + { + for (auto & address : configuration.addresses) + global_context->getRemoteHostFilter().checkHostAndPort(address.first, toString(address.second)); + } + configuration.database = config.getString(settings_config_prefix + ".db", ""); configuration.table = config.getString(settings_config_prefix + ".table", ""); pool = std::make_shared(mysqlxx::PoolFactory::instance().get(config, settings_config_prefix)); @@ -180,13 +189,13 @@ std::string MySQLDictionarySource::getUpdateFieldAndDate() } } -Pipe MySQLDictionarySource::loadFromQuery(const String & query) +QueryPipeline MySQLDictionarySource::loadFromQuery(const String & query) { - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( pool, query, sample_block, settings)); } -Pipe MySQLDictionarySource::loadAll() +QueryPipeline MySQLDictionarySource::loadAll() { auto connection = pool->get(); last_modification = getLastModification(connection, false); @@ -195,7 +204,7 @@ Pipe MySQLDictionarySource::loadAll() return loadFromQuery(load_all_query); } -Pipe MySQLDictionarySource::loadUpdatedAll() +QueryPipeline MySQLDictionarySource::loadUpdatedAll() { auto connection = pool->get(); last_modification = getLastModification(connection, false); @@ -205,14 +214,14 @@ Pipe MySQLDictionarySource::loadUpdatedAll() return loadFromQuery(load_update_query); } -Pipe MySQLDictionarySource::loadIds(const std::vector & ids) +QueryPipeline MySQLDictionarySource::loadIds(const std::vector & ids) { /// We do not log in here and do not update the modification time, as the request can be large, and often called. const auto query = query_builder.composeLoadIdsQuery(ids); return loadFromQuery(query); } -Pipe MySQLDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline MySQLDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { /// We do not log in here and do not update the modification time, as the request can be large, and often called. const auto query = query_builder.composeLoadKeysQuery(key_columns, requested_rows, ExternalQueryBuilder::AND_OR_CHAIN); diff --git a/src/Dictionaries/MySQLDictionarySource.h b/src/Dictionaries/MySQLDictionarySource.h index 90506ad1726..840345e3dc2 100644 --- a/src/Dictionaries/MySQLDictionarySource.h +++ b/src/Dictionaries/MySQLDictionarySource.h @@ -52,13 +52,13 @@ public: MySQLDictionarySource(const MySQLDictionarySource & other); MySQLDictionarySource & operator=(const MySQLDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -71,7 +71,7 @@ public: std::string toString() const override; private: - Pipe loadFromQuery(const String & query); + QueryPipeline loadFromQuery(const String & query); std::string getUpdateFieldAndDate(); diff --git a/src/Dictionaries/PolygonDictionaryUtils.cpp b/src/Dictionaries/PolygonDictionaryUtils.cpp index 313743c09b6..c28c7c15aa7 100644 --- a/src/Dictionaries/PolygonDictionaryUtils.cpp +++ b/src/Dictionaries/PolygonDictionaryUtils.cpp @@ -131,7 +131,6 @@ void SlabsPolygonIndex::indexBuild(const std::vector & polygons) /** Map of interesting edge ids to the index of left x, the index of right x */ std::vector edge_left(m, n), edge_right(m, n); - size_t total_index_edges = 0; size_t edges_it = 0; for (size_t l = 0, r = 1; r < sorted_x.size(); ++l, ++r) { @@ -170,12 +169,10 @@ void SlabsPolygonIndex::indexBuild(const std::vector & polygons) if (l & 1) { edges_index_tree[l++].emplace_back(all_edges[i]); - ++total_index_edges; } if (r & 1) { edges_index_tree[--r].emplace_back(all_edges[i]); - ++total_index_edges; } } } diff --git a/src/Dictionaries/PostgreSQLDictionarySource.cpp b/src/Dictionaries/PostgreSQLDictionarySource.cpp index 511d6a7288e..9153b9cb05d 100644 --- a/src/Dictionaries/PostgreSQLDictionarySource.cpp +++ b/src/Dictionaries/PostgreSQLDictionarySource.cpp @@ -78,37 +78,37 @@ PostgreSQLDictionarySource::PostgreSQLDictionarySource(const PostgreSQLDictionar } -Pipe PostgreSQLDictionarySource::loadAll() +QueryPipeline PostgreSQLDictionarySource::loadAll() { LOG_TRACE(log, fmt::runtime(load_all_query)); return loadBase(load_all_query); } -Pipe PostgreSQLDictionarySource::loadUpdatedAll() +QueryPipeline PostgreSQLDictionarySource::loadUpdatedAll() { auto load_update_query = getUpdateFieldAndDate(); LOG_TRACE(log, fmt::runtime(load_update_query)); return loadBase(load_update_query); } -Pipe PostgreSQLDictionarySource::loadIds(const std::vector & ids) +QueryPipeline PostgreSQLDictionarySource::loadIds(const std::vector & ids) { const auto query = query_builder.composeLoadIdsQuery(ids); return loadBase(query); } -Pipe PostgreSQLDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline PostgreSQLDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { const auto query = query_builder.composeLoadKeysQuery(key_columns, requested_rows, ExternalQueryBuilder::AND_OR_CHAIN); return loadBase(query); } -Pipe PostgreSQLDictionarySource::loadBase(const String & query) +QueryPipeline PostgreSQLDictionarySource::loadBase(const String & query) { - return Pipe(std::make_shared>(pool->get(), query, sample_block, max_block_size)); + return QueryPipeline(std::make_shared>(pool->get(), query, sample_block, max_block_size)); } @@ -185,16 +185,27 @@ void registerDictionarySourcePostgreSQL(DictionarySourceFactory & factory) Block & sample_block, ContextPtr context, const std::string & /* default_database */, - bool /* created_from_ddl */) -> DictionarySourcePtr + [[maybe_unused]] bool created_from_ddl) -> DictionarySourcePtr { #if USE_LIBPQXX const auto settings_config_prefix = config_prefix + ".postgresql"; auto has_config_key = [](const String & key) { return dictionary_allowed_keys.contains(key) || key.starts_with("replica"); }; auto configuration = getExternalDataSourceConfigurationByPriority(config, settings_config_prefix, context, has_config_key); + const auto & settings = context->getSettingsRef(); + + if (created_from_ddl) + { + for (const auto & replicas : configuration.replicas_configurations) + for (const auto & replica : replicas.second) + context->getRemoteHostFilter().checkHostAndPort(replica.host, toString(replica.port)); + } + auto pool = std::make_shared( - configuration.replicas_configurations, - context->getSettingsRef().postgresql_connection_pool_size, - context->getSettingsRef().postgresql_connection_pool_wait_timeout); + configuration.replicas_configurations, + settings.postgresql_connection_pool_size, + settings.postgresql_connection_pool_wait_timeout, + POSTGRESQL_POOL_WITH_FAILOVER_DEFAULT_MAX_TRIES, + settings.postgresql_connection_pool_auto_close_connection); PostgreSQLDictionarySource::Configuration dictionary_configuration { diff --git a/src/Dictionaries/PostgreSQLDictionarySource.h b/src/Dictionaries/PostgreSQLDictionarySource.h index 7345366f3ac..b6a604bc7d3 100644 --- a/src/Dictionaries/PostgreSQLDictionarySource.h +++ b/src/Dictionaries/PostgreSQLDictionarySource.h @@ -41,10 +41,10 @@ public: PostgreSQLDictionarySource(const PostgreSQLDictionarySource & other); PostgreSQLDictionarySource & operator=(const PostgreSQLDictionarySource &) = delete; - Pipe loadAll() override; - Pipe loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadAll() override; + QueryPipeline loadUpdatedAll() override; + QueryPipeline loadIds(const std::vector & ids) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; bool supportsSelectiveLoad() const override; @@ -56,7 +56,7 @@ public: private: String getUpdateFieldAndDate(); String doInvalidateQuery(const std::string & request) const; - Pipe loadBase(const String & query); + QueryPipeline loadBase(const String & query); const DictionaryStructure dict_struct; const Configuration configuration; diff --git a/src/Dictionaries/RangeHashedDictionary.cpp b/src/Dictionaries/RangeHashedDictionary.cpp index 261e9166ec8..ad962ca4acc 100644 --- a/src/Dictionaries/RangeHashedDictionary.cpp +++ b/src/Dictionaries/RangeHashedDictionary.cpp @@ -151,7 +151,7 @@ ColumnPtr RangeHashedDictionary::getColumn( getItemsImpl( attribute, modified_key_columns, - [&](size_t row, const StringRef value, bool is_null) + [&](size_t row, StringRef value, bool is_null) { (*vec_null_map_to)[row] = is_null; out->insertData(value.data, value.size); @@ -161,7 +161,7 @@ ColumnPtr RangeHashedDictionary::getColumn( getItemsImpl( attribute, modified_key_columns, - [&](size_t, const StringRef value, bool) + [&](size_t, StringRef value, bool) { out->insertData(value.data, value.size); }, @@ -255,7 +255,7 @@ ColumnPtr RangeHashedDictionary::getColumnInternal( getItemsInternalImpl( attribute, key_to_index, - [&](size_t row, const StringRef value, bool is_null) + [&](size_t row, StringRef value, bool is_null) { (*vec_null_map_to)[row] = is_null; out->insertData(value.data, value.size); @@ -264,7 +264,7 @@ ColumnPtr RangeHashedDictionary::getColumnInternal( getItemsInternalImpl( attribute, key_to_index, - [&](size_t, const StringRef value, bool) + [&](size_t, StringRef value, bool) { out->insertData(value.data, value.size); }); diff --git a/src/Dictionaries/RedisDictionarySource.cpp b/src/Dictionaries/RedisDictionarySource.cpp index 85a11e9a33d..ab5c758848a 100644 --- a/src/Dictionaries/RedisDictionarySource.cpp +++ b/src/Dictionaries/RedisDictionarySource.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include @@ -126,7 +127,7 @@ namespace DB __builtin_unreachable(); } - Pipe RedisDictionarySource::loadAll() + QueryPipeline RedisDictionarySource::loadAll() { auto connection = getConnection(); @@ -136,7 +137,7 @@ namespace DB /// Get only keys for specified storage type. auto all_keys = connection->client->execute(command_for_keys); if (all_keys.isNull()) - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( std::move(connection), RedisArray{}, configuration.storage_type, sample_block, REDIS_MAX_BLOCK_SIZE)); @@ -177,12 +178,12 @@ namespace DB keys = hkeys; } - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( std::move(connection), std::move(keys), configuration.storage_type, sample_block, REDIS_MAX_BLOCK_SIZE)); } - Pipe RedisDictionarySource::loadIds(const std::vector & ids) + QueryPipeline RedisDictionarySource::loadIds(const std::vector & ids) { auto connection = getConnection(); @@ -197,12 +198,12 @@ namespace DB for (UInt64 id : ids) keys << DB::toString(id); - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( std::move(connection), std::move(keys), configuration.storage_type, sample_block, REDIS_MAX_BLOCK_SIZE)); } - Pipe RedisDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) + QueryPipeline RedisDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { auto connection = getConnection(); @@ -227,7 +228,7 @@ namespace DB keys.add(key); } - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( std::move(connection), std::move(keys), configuration.storage_type, sample_block, REDIS_MAX_BLOCK_SIZE)); } diff --git a/src/Dictionaries/RedisDictionarySource.h b/src/Dictionaries/RedisDictionarySource.h index af12981f348..26f5ab2a613 100644 --- a/src/Dictionaries/RedisDictionarySource.h +++ b/src/Dictionaries/RedisDictionarySource.h @@ -8,11 +8,6 @@ namespace Poco { - namespace Util - { - class AbstractConfiguration; - } - namespace Redis { class Client; @@ -82,18 +77,18 @@ namespace DB ~RedisDictionarySource() override; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override + QueryPipeline loadUpdatedAll() override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for RedisDictionarySource"); } bool supportsSelectiveLoad() const override { return true; } - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override { return true; } diff --git a/src/Dictionaries/RedisSource.cpp b/src/Dictionaries/RedisSource.cpp index 6089b836d98..4208d5fa63b 100644 --- a/src/Dictionaries/RedisSource.cpp +++ b/src/Dictionaries/RedisSource.cpp @@ -35,7 +35,7 @@ namespace DB const RedisStorageType & storage_type_, const DB::Block & sample_block, size_t max_block_size_) - : SourceWithProgress(sample_block) + : ISource(sample_block) , connection(std::move(connection_)) , keys(keys_) , storage_type(storage_type_) diff --git a/src/Dictionaries/RedisSource.h b/src/Dictionaries/RedisSource.h index 24507998f58..0f8cc317003 100644 --- a/src/Dictionaries/RedisSource.h +++ b/src/Dictionaries/RedisSource.h @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include #include "RedisDictionarySource.h" @@ -19,7 +19,7 @@ namespace Poco namespace DB { - class RedisSource final : public SourceWithProgress + class RedisSource final : public ISource { public: using RedisArray = Poco::Redis::Array; diff --git a/src/Dictionaries/SSDCacheDictionaryStorage.h b/src/Dictionaries/SSDCacheDictionaryStorage.h index 9b1a4ed1e6d..5f73352a4c9 100644 --- a/src/Dictionaries/SSDCacheDictionaryStorage.h +++ b/src/Dictionaries/SSDCacheDictionaryStorage.h @@ -1,6 +1,6 @@ #pragma once -#if defined(__linux__) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) #include @@ -27,11 +27,6 @@ #include -namespace CurrentMetrics -{ - extern const Metric Write; -} - namespace ProfileEvents { extern const Event FileOpen; @@ -39,6 +34,8 @@ namespace ProfileEvents extern const Event AIOWriteBytes; extern const Event AIORead; extern const Event AIOReadBytes; + extern const Event FileSync; + extern const Event FileSyncElapsedMicroseconds; } namespace DB @@ -507,7 +504,7 @@ public: iocb write_request{}; iocb * write_request_ptr{&write_request}; - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) write_request.aio.aio_lio_opcode = LIO_WRITE; write_request.aio.aio_fildes = file.fd; write_request.aio.aio_buf = reinterpret_cast(const_cast(buffer)); @@ -527,8 +524,6 @@ public: throw Exception(ErrorCodes::CANNOT_IO_SUBMIT, "Cannot submit request for asynchronous IO on file {}", file_path); } - // CurrentMetrics::Increment metric_increment_write{CurrentMetrics::Write}; - io_event event; while (io_getevents(aio_context.ctx, 1, 1, &event, nullptr) < 0) @@ -551,6 +546,9 @@ public: file_path, std::to_string(bytes_written)); + ProfileEvents::increment(ProfileEvents::FileSync); + + Stopwatch watch; #if defined(OS_DARWIN) if (::fsync(file.fd) < 0) throwFromErrnoWithPath("Cannot fsync " + file_path, file_path, ErrorCodes::CANNOT_FSYNC); @@ -558,6 +556,7 @@ public: if (::fdatasync(file.fd) < 0) throwFromErrnoWithPath("Cannot fdatasync " + file_path, file_path, ErrorCodes::CANNOT_FSYNC); #endif + ProfileEvents::increment(ProfileEvents::FileSyncElapsedMicroseconds, watch.elapsedMicroseconds()); current_block_index += buffer_size_in_blocks; @@ -576,7 +575,7 @@ public: iocb request{}; iocb * request_ptr = &request; - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) request.aio.aio_lio_opcode = LIO_READ; request.aio.aio_fildes = file.fd; request.aio.aio_buf = reinterpret_cast(reinterpret_cast(read_buffer_memory.data())); @@ -656,7 +655,7 @@ public: char * buffer_place = read_buffer.data() + block_size * (block_to_fetch_index % read_from_file_buffer_blocks_size); - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) request.aio.aio_lio_opcode = LIO_READ; request.aio.aio_fildes = file.fd; request.aio.aio_buf = reinterpret_cast(reinterpret_cast(buffer_place)); @@ -785,7 +784,7 @@ private: inline static int preallocateDiskSpace(int fd, size_t offset, size_t len) { - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) return posix_fallocate(fd, offset, len); #else return fallocate(fd, 0, offset, len); @@ -796,7 +795,7 @@ private: { char * result = nullptr; - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) result = reinterpret_cast(reinterpret_cast(request.aio.aio_buf)); #else result = reinterpret_cast(request.aio_buf); @@ -809,7 +808,7 @@ private: { ssize_t bytes_written; - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) bytes_written = aio_return(reinterpret_cast(event.udata)); #else bytes_written = event.res; diff --git a/src/Dictionaries/XDBCDictionarySource.cpp b/src/Dictionaries/XDBCDictionarySource.cpp index df005349ce1..0a097c4faef 100644 --- a/src/Dictionaries/XDBCDictionarySource.cpp +++ b/src/Dictionaries/XDBCDictionarySource.cpp @@ -1,7 +1,6 @@ #include "XDBCDictionarySource.h" #include -#include #include #include #include @@ -119,14 +118,14 @@ std::string XDBCDictionarySource::getUpdateFieldAndDate() } -Pipe XDBCDictionarySource::loadAll() +QueryPipeline XDBCDictionarySource::loadAll() { LOG_TRACE(log, fmt::runtime(load_all_query)); return loadFromQuery(bridge_url, sample_block, load_all_query); } -Pipe XDBCDictionarySource::loadUpdatedAll() +QueryPipeline XDBCDictionarySource::loadUpdatedAll() { std::string load_query_update = getUpdateFieldAndDate(); @@ -135,14 +134,14 @@ Pipe XDBCDictionarySource::loadUpdatedAll() } -Pipe XDBCDictionarySource::loadIds(const std::vector & ids) +QueryPipeline XDBCDictionarySource::loadIds(const std::vector & ids) { const auto query = query_builder.composeLoadIdsQuery(ids); return loadFromQuery(bridge_url, sample_block, query); } -Pipe XDBCDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline XDBCDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { const auto query = query_builder.composeLoadKeysQuery(key_columns, requested_rows, ExternalQueryBuilder::AND_OR_CHAIN); return loadFromQuery(bridge_url, sample_block, query); @@ -204,7 +203,7 @@ std::string XDBCDictionarySource::doInvalidateQuery(const std::string & request) } -Pipe XDBCDictionarySource::loadFromQuery(const Poco::URI & url, const Block & required_sample_block, const std::string & query) const +QueryPipeline XDBCDictionarySource::loadFromQuery(const Poco::URI & url, const Block & required_sample_block, const std::string & query) const { bridge_helper->startBridgeSync(); @@ -220,7 +219,7 @@ Pipe XDBCDictionarySource::loadFromQuery(const Poco::URI & url, const Block & re auto format = getContext()->getInputFormat(IXDBCBridgeHelper::DEFAULT_FORMAT, *read_buf, required_sample_block, max_block_size); format->addBuffer(std::move(read_buf)); - return Pipe(std::move(format)); + return QueryPipeline(std::move(format)); } void registerDictionarySourceXDBC(DictionarySourceFactory & factory) @@ -276,8 +275,6 @@ void registerDictionarySourceJDBC(DictionarySourceFactory & factory) bool /* created_from_ddl */) -> DictionarySourcePtr { throw Exception(ErrorCodes::SUPPORT_IS_DISABLED, "Dictionary source of type `jdbc` is disabled until consistent support for nullable fields."); - // BridgeHelperPtr bridge = std::make_shared>(config, context.getSettings().http_receive_timeout, config.getString(config_prefix + ".connection_string")); - // return std::make_unique(dict_struct, config, config_prefix + ".jdbc", sample_block, context, bridge); }; factory.registerSource("jdbc", create_table_source); } diff --git a/src/Dictionaries/XDBCDictionarySource.h b/src/Dictionaries/XDBCDictionarySource.h index 1892d5aa079..8ca2e172aa6 100644 --- a/src/Dictionaries/XDBCDictionarySource.h +++ b/src/Dictionaries/XDBCDictionarySource.h @@ -50,13 +50,13 @@ public: XDBCDictionarySource(const XDBCDictionarySource & other); XDBCDictionarySource & operator=(const XDBCDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -74,7 +74,7 @@ private: // execute invalidate_query. expects single cell in result std::string doInvalidateQuery(const std::string & request) const; - Pipe loadFromQuery(const Poco::URI & url, const Block & required_sample_block, const std::string & query) const; + QueryPipeline loadFromQuery(const Poco::URI & url, const Block & required_sample_block, const std::string & query) const; Poco::Logger * log; diff --git a/src/Dictionaries/registerCacheDictionaries.cpp b/src/Dictionaries/registerCacheDictionaries.cpp index 88e01a31402..5233bd6b715 100644 --- a/src/Dictionaries/registerCacheDictionaries.cpp +++ b/src/Dictionaries/registerCacheDictionaries.cpp @@ -41,7 +41,7 @@ CacheDictionaryStorageConfiguration parseCacheStorageConfiguration( return storage_configuration; } -#if defined(OS_LINUX) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) SSDCacheDictionaryStorageConfiguration parseSSDCacheStorageConfiguration( const Poco::Util::AbstractConfiguration & config, @@ -209,7 +209,7 @@ DictionaryPtr createCacheDictionaryLayout( auto storage_configuration = parseCacheStorageConfiguration(config, full_name, layout_type, dictionary_layout_prefix, dict_lifetime); storage = std::make_shared>(dict_struct, storage_configuration); } -#if defined(OS_LINUX) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) else { auto storage_configuration = parseSSDCacheStorageConfiguration(config, full_name, layout_type, dictionary_layout_prefix, dict_lifetime); @@ -261,7 +261,7 @@ void registerDictionaryCache(DictionaryFactory & factory) factory.registerLayout("complex_key_cache", create_complex_key_cache_layout, true); -#if defined(OS_LINUX) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) auto create_simple_ssd_cache_layout = [=](const std::string & full_name, const DictionaryStructure & dict_struct, diff --git a/src/Dictionaries/tests/gtest_dictionary_ssd_cache_dictionary_storage.cpp b/src/Dictionaries/tests/gtest_dictionary_ssd_cache_dictionary_storage.cpp index 9fd9dc9b78c..af21eaeac9d 100644 --- a/src/Dictionaries/tests/gtest_dictionary_ssd_cache_dictionary_storage.cpp +++ b/src/Dictionaries/tests/gtest_dictionary_ssd_cache_dictionary_storage.cpp @@ -1,4 +1,4 @@ -#if defined(__linux__) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) #include diff --git a/src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp b/src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp index a68f23a978f..10d335ebbbc 100644 --- a/src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp +++ b/src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp @@ -17,19 +17,26 @@ TEST(HierarchyDictionariesUtils, getHierarchy) auto is_key_valid_func = [&](auto key) { return child_to_parent.find(key) != nullptr; }; + UInt64 hierarchy_null_value_key = 0; auto get_parent_key_func = [&](auto key) { + std::optional result; auto it = child_to_parent.find(key); - std::optional value = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - return value; + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (parent_key == hierarchy_null_value_key) + return result; + + result = parent_key; + return result; }; - UInt64 hierarchy_null_value_key = 0; PaddedPODArray keys = {1, 2, 3, 4, 5}; auto result = DB::detail::getHierarchy( keys, - hierarchy_null_value_key, is_key_valid_func, get_parent_key_func); @@ -49,19 +56,26 @@ TEST(HierarchyDictionariesUtils, getHierarchy) auto is_key_valid_func = [&](auto key) { return child_to_parent.find(key) != nullptr; }; + UInt64 hierarchy_null_value_key = 0; auto get_parent_key_func = [&](auto key) { + std::optional result; auto it = child_to_parent.find(key); - std::optional value = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - return value; + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (parent_key == hierarchy_null_value_key) + return result; + + result = parent_key; + return result; }; - UInt64 hierarchy_null_value_key = 0; PaddedPODArray keys = {1, 2, 3}; auto result = DB::detail::getHierarchy( keys, - hierarchy_null_value_key, is_key_valid_func, get_parent_key_func); @@ -87,21 +101,28 @@ TEST(HierarchyDictionariesUtils, getIsInHierarchy) auto is_key_valid_func = [&](auto key) { return child_to_parent.find(key) != nullptr; }; + UInt64 hierarchy_null_value_key = 0; auto get_parent_key_func = [&](auto key) { + std::optional result; auto it = child_to_parent.find(key); - std::optional value = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - return value; + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (parent_key == hierarchy_null_value_key) + return result; + + result = parent_key; + return result; }; - UInt64 hierarchy_null_value_key = 0; PaddedPODArray keys = {1, 2, 3, 4, 5}; PaddedPODArray keys_in = {1, 1, 1, 2, 5}; PaddedPODArray actual = DB::detail::getIsInHierarchy( keys, keys_in, - hierarchy_null_value_key, is_key_valid_func, get_parent_key_func); @@ -119,21 +140,28 @@ TEST(HierarchyDictionariesUtils, getIsInHierarchy) return child_to_parent.find(key) != nullptr; }; + UInt64 hierarchy_null_value_key = 0; auto get_parent_key_func = [&](auto key) { + std::optional result; auto it = child_to_parent.find(key); - std::optional value = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - return value; + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (parent_key == hierarchy_null_value_key) + return result; + + result = parent_key; + return result; }; - UInt64 hierarchy_null_value_key = 0; PaddedPODArray keys = {1, 2, 3}; PaddedPODArray keys_in = {1, 2, 3}; PaddedPODArray actual = DB::detail::getIsInHierarchy( keys, keys_in, - hierarchy_null_value_key, is_key_valid_func, get_parent_key_func); diff --git a/src/Disks/DirectoryIterator.h b/src/Disks/DirectoryIterator.h new file mode 100644 index 00000000000..6021effa77a --- /dev/null +++ b/src/Disks/DirectoryIterator.h @@ -0,0 +1,31 @@ +#pragma once + +#include +#include + +namespace DB +{ +/** + * Iterator of directory contents + */ +class IDirectoryIterator +{ +public: + /// Iterate to the next file. + virtual void next() = 0; + + /// Return `true` if the iterator points to a valid element. + virtual bool isValid() const = 0; + + /// Path to the file that the iterator currently points to. + virtual std::string path() const = 0; + + /// Name of the file that the iterator currently points to. + virtual std::string name() const = 0; + + virtual ~IDirectoryIterator() = default; +}; + +using DirectoryIteratorPtr = std::unique_ptr; + +} diff --git a/src/Disks/DiskCacheWrapper.cpp b/src/Disks/DiskCacheWrapper.cpp index 8e355f70432..45c98224966 100644 --- a/src/Disks/DiskCacheWrapper.cpp +++ b/src/Disks/DiskCacheWrapper.cpp @@ -90,7 +90,7 @@ DiskCacheWrapper::DiskCacheWrapper( std::shared_ptr DiskCacheWrapper::acquireDownloadMetadata(const String & path) const { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; auto it = file_downloads.find(path); if (it != file_downloads.end()) @@ -101,7 +101,7 @@ std::shared_ptr DiskCacheWrapper::acquireDownloadMetadata( new FileDownloadMetadata, [this, path] (FileDownloadMetadata * p) { - std::unique_lock erase_lock{mutex}; + std::lock_guard erase_lock{mutex}; file_downloads.erase(path); delete p; }); diff --git a/src/Disks/DiskDecorator.cpp b/src/Disks/DiskDecorator.cpp index 02babfbb59f..52e323487f2 100644 --- a/src/Disks/DiskDecorator.cpp +++ b/src/Disks/DiskDecorator.cpp @@ -8,6 +8,11 @@ DiskDecorator::DiskDecorator(const DiskPtr & delegate_) : delegate(delegate_) { } +DiskTransactionPtr DiskDecorator::createTransaction() +{ + return delegate->createTransaction(); +} + const String & DiskDecorator::getName() const { return delegate->getName(); @@ -83,7 +88,7 @@ void DiskDecorator::moveDirectory(const String & from_path, const String & to_pa delegate->moveDirectory(from_path, to_path); } -DiskDirectoryIteratorPtr DiskDecorator::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskDecorator::iterateDirectory(const String & path) const { return delegate->iterateDirectory(path); } @@ -113,7 +118,7 @@ void DiskDecorator::copyDirectoryContent(const String & from_dir, const std::sha delegate->copyDirectoryContent(from_dir, to_disk, to_dir); } -void DiskDecorator::listFiles(const String & path, std::vector & file_names) +void DiskDecorator::listFiles(const String & path, std::vector & file_names) const { delegate->listFiles(path, file_names); } @@ -156,6 +161,11 @@ void DiskDecorator::removeSharedFile(const String & path, bool keep_s3) delegate->removeSharedFile(path, keep_s3); } +void DiskDecorator::removeSharedFileIfExists(const String & path, bool keep_s3) +{ + delegate->removeSharedFileIfExists(path, keep_s3); +} + void DiskDecorator::removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) { delegate->removeSharedFiles(files, keep_all_batch_data, file_names_remove_metadata_only); @@ -171,11 +181,16 @@ void DiskDecorator::setLastModified(const String & path, const Poco::Timestamp & delegate->setLastModified(path, timestamp); } -Poco::Timestamp DiskDecorator::getLastModified(const String & path) +Poco::Timestamp DiskDecorator::getLastModified(const String & path) const { return delegate->getLastModified(path); } +time_t DiskDecorator::getLastChanged(const String & path) const +{ + return delegate->getLastChanged(path); +} + void DiskDecorator::setReadOnly(const String & path) { delegate->setReadOnly(path); @@ -221,4 +236,9 @@ void DiskDecorator::applyNewSettings(const Poco::Util::AbstractConfiguration & c delegate->applyNewSettings(config, context, config_prefix, map); } +DiskObjectStoragePtr DiskDecorator::createDiskObjectStorage(const String & name) +{ + return delegate->createDiskObjectStorage(name); +} + } diff --git a/src/Disks/DiskDecorator.h b/src/Disks/DiskDecorator.h index 883e58f9c8c..0110154ff78 100644 --- a/src/Disks/DiskDecorator.h +++ b/src/Disks/DiskDecorator.h @@ -12,6 +12,8 @@ class DiskDecorator : public IDisk { public: explicit DiskDecorator(const DiskPtr & delegate_); + + DiskTransactionPtr createTransaction() override; const String & getName() const override; ReservationPtr reserve(UInt64 bytes) override; ~DiskDecorator() override = default; @@ -28,13 +30,13 @@ public: void createDirectories(const String & path) override; void clearDirectory(const String & path) override; void moveDirectory(const String & from_path, const String & to_path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void createFile(const String & path) override; void moveFile(const String & from_path, const String & to_path) override; void replaceFile(const String & from_path, const String & to_path) override; void copy(const String & from_path, const std::shared_ptr & to_disk, const String & to_path) override; void copyDirectoryContent(const String & from_dir, const std::shared_ptr & to_disk, const String & to_dir) override; - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; std::unique_ptr readFile( const String & path, @@ -50,13 +52,18 @@ public: void removeFile(const String & path) override; void removeFileIfExists(const String & path) override; + void removeSharedFileIfExists(const String & path, bool keep_s3) override; + void removeDirectory(const String & path) override; void removeRecursive(const String & path) override; + void removeSharedFile(const String & path, bool keep_s3) override; void removeSharedRecursive(const String & path, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; + void setLastModified(const String & path, const Poco::Timestamp & timestamp) override; - Poco::Timestamp getLastModified(const String & path) override; + time_t getLastChanged(const String & path) const override; + Poco::Timestamp getLastModified(const String & path) const override; void setReadOnly(const String & path) override; void createHardLink(const String & src_path, const String & dst_path) override; void truncateFile(const String & path, size_t size) override; @@ -68,16 +75,22 @@ public: DiskType getType() const override { return delegate->getType(); } bool isRemote() const override { return delegate->isRemote(); } bool supportZeroCopyReplication() const override { return delegate->supportZeroCopyReplication(); } + bool supportParallelWrite() const override { return delegate->supportParallelWrite(); } void onFreeze(const String & path) override; SyncGuardPtr getDirectorySyncGuard(const String & path) const override; void shutdown() override; void startup(ContextPtr context) override; void applyNewSettings(const Poco::Util::AbstractConfiguration & config, ContextPtr context, const String & config_prefix, const DisksMap & map) override; - String getCacheBasePath() const override { return delegate->getCacheBasePath(); } - std::vector getRemotePaths(const String & path) const override { return delegate->getRemotePaths(path); } - void getRemotePathsRecursive(const String & path, std::vector & paths_map) override { return delegate->getRemotePathsRecursive(path, paths_map); } - DiskPtr getMetadataDiskIfExistsOrSelf() override { return delegate->getMetadataDiskIfExistsOrSelf(); } + bool supportsCache() const override { return delegate->supportsCache(); } + String getCacheBasePath() const override { return delegate->getCacheBasePath(); } + + StoredObjects getStorageObjects(const String & path) const override { return delegate->getStorageObjects(path); } + DiskObjectStoragePtr createDiskObjectStorage(const String &) override; + + void getRemotePathsRecursive(const String & path, std::vector & paths_map) override { return delegate->getRemotePathsRecursive(path, paths_map); } + + MetadataStoragePtr getMetadataStorage() override { return delegate->getMetadataStorage(); } std::unordered_map getSerializedMetadata(const std::vector & file_paths) const override { return delegate->getSerializedMetadata(file_paths); } @@ -86,6 +99,12 @@ public: void syncRevision(UInt64 revision) override { delegate->syncRevision(revision); } UInt64 getRevision() const override { return delegate->getRevision(); } + bool supportsStat() const override { return delegate->supportsStat(); } + struct stat stat(const String & path) const override { return delegate->stat(path); } + + bool supportsChmod() const override { return delegate->supportsChmod(); } + void chmod(const String & path, mode_t mode) override { delegate->chmod(path, mode); } + protected: Executor & getExecutor() override; diff --git a/src/Disks/DiskEncrypted.cpp b/src/Disks/DiskEncrypted.cpp index 8edb00e5a67..e6479727aad 100644 --- a/src/Disks/DiskEncrypted.cpp +++ b/src/Disks/DiskEncrypted.cpp @@ -8,6 +8,8 @@ #include #include #include +#include +#include namespace DB diff --git a/src/Disks/DiskEncrypted.h b/src/Disks/DiskEncrypted.h index 14793818f07..1a714395f82 100644 --- a/src/Disks/DiskEncrypted.h +++ b/src/Disks/DiskEncrypted.h @@ -6,6 +6,7 @@ #include #include #include +#include namespace DB @@ -83,7 +84,7 @@ public: delegate->moveDirectory(wrapped_from_path, wrapped_to_path); } - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override + DirectoryIteratorPtr iterateDirectory(const String & path) const override { auto wrapped_path = wrappedPath(path); return delegate->iterateDirectory(wrapped_path); @@ -109,7 +110,7 @@ public: delegate->replaceFile(wrapped_from_path, wrapped_to_path); } - void listFiles(const String & path, std::vector & file_names) override + void listFiles(const String & path, std::vector & file_names) const override { auto wrapped_path = wrappedPath(path); delegate->listFiles(wrapped_path, file_names); @@ -192,12 +193,18 @@ public: delegate->setLastModified(wrapped_path, timestamp); } - Poco::Timestamp getLastModified(const String & path) override + Poco::Timestamp getLastModified(const String & path) const override { auto wrapped_path = wrappedPath(path); return delegate->getLastModified(wrapped_path); } + time_t getLastChanged(const String & path) const override + { + auto wrapped_path = wrappedPath(path); + return delegate->getLastChanged(wrapped_path); + } + void setReadOnly(const String & path) override { auto wrapped_path = wrappedPath(path); @@ -232,6 +239,13 @@ public: SyncGuardPtr getDirectorySyncGuard(const String & path) const override; + DiskTransactionPtr createTransaction() override + { + /// Need to overwrite explicetly because this disk change + /// a lot of "delegate" methods. + return std::make_shared(*this); + } + private: String wrappedPath(const String & path) const { diff --git a/src/Disks/DiskLocal.cpp b/src/Disks/DiskLocal.cpp index 85de683b431..b224d202541 100644 --- a/src/Disks/DiskLocal.cpp +++ b/src/Disks/DiskLocal.cpp @@ -11,6 +11,8 @@ #include #include +#include +#include #include #include @@ -39,6 +41,7 @@ namespace ErrorCodes extern const int CANNOT_UNLINK; extern const int CANNOT_RMDIR; extern const int BAD_ARGUMENTS; + extern const int CANNOT_STAT; } std::mutex DiskLocal::reservation_mutex; @@ -68,6 +71,8 @@ static void loadDiskLocalConfig(const String & name, throw Exception("Disk path can not be empty. Disk " + name, ErrorCodes::UNKNOWN_ELEMENT_IN_CONFIG); if (path.back() != '/') throw Exception("Disk path must end with /. Disk " + name, ErrorCodes::UNKNOWN_ELEMENT_IN_CONFIG); + if (path == context->getPath()) + throw Exception(ErrorCodes::UNKNOWN_ELEMENT_IN_CONFIG, "Disk path ('{}') cannot be equal to . Use disk instead.", path); } bool has_space_ratio = config.has(config_prefix + ".keep_free_space_ratio"); @@ -173,7 +178,7 @@ private: }; -class DiskLocalDirectoryIterator final : public IDiskDirectoryIterator +class DiskLocalDirectoryIterator final : public IDirectoryIterator { public: DiskLocalDirectoryIterator() = default; @@ -325,7 +330,7 @@ void DiskLocal::moveDirectory(const String & from_path, const String & to_path) fs::rename(fs::path(disk_path) / from_path, fs::path(disk_path) / to_path); } -DiskDirectoryIteratorPtr DiskLocal::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskLocal::iterateDirectory(const String & path) const { fs::path meta_path = fs::path(disk_path) / path; if (!broken && fs::exists(meta_path) && fs::is_directory(meta_path)) @@ -387,7 +392,7 @@ void DiskLocal::removeRecursive(const String & path) fs::remove_all(fs::path(disk_path) / path); } -void DiskLocal::listFiles(const String & path, std::vector & file_names) +void DiskLocal::listFiles(const String & path, std::vector & file_names) const { file_names.clear(); for (const auto & entry : fs::directory_iterator(fs::path(disk_path) / path)) @@ -399,11 +404,16 @@ void DiskLocal::setLastModified(const String & path, const Poco::Timestamp & tim FS::setModificationTime(fs::path(disk_path) / path, timestamp.epochTime()); } -Poco::Timestamp DiskLocal::getLastModified(const String & path) +Poco::Timestamp DiskLocal::getLastModified(const String & path) const { return FS::getModificationTimestamp(fs::path(disk_path) / path); } +time_t DiskLocal::getLastChanged(const String & path) const +{ + return FS::getChangeTime(fs::path(disk_path) / path); +} + void DiskLocal::createHardLink(const String & src_path, const String & dst_path) { DB::createHardLink(fs::path(disk_path) / src_path, fs::path(disk_path) / dst_path); @@ -664,6 +674,23 @@ bool DiskLocal::setup() return true; } +struct stat DiskLocal::stat(const String & path) const +{ + struct stat st; + auto full_path = fs::path(disk_path) / path; + if (::stat(full_path.string().c_str(), &st) == 0) + return st; + DB::throwFromErrnoWithPath("Cannot stat file: " + path, path, DB::ErrorCodes::CANNOT_STAT); +} + +void DiskLocal::chmod(const String & path, mode_t mode) +{ + auto full_path = fs::path(disk_path) / path; + if (::chmod(full_path.string().c_str(), mode) == 0) + return; + DB::throwFromErrnoWithPath("Cannot chmod file: " + path, path, DB::ErrorCodes::PATH_ACCESS_DENIED); +} + void registerDiskLocal(DiskFactory & factory) { auto creator = [](const String & name, diff --git a/src/Disks/DiskLocal.h b/src/Disks/DiskLocal.h index cb3356ab7f2..2919063c979 100644 --- a/src/Disks/DiskLocal.h +++ b/src/Disks/DiskLocal.h @@ -58,7 +58,7 @@ public: void moveDirectory(const String & from_path, const String & to_path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void createFile(const String & path) override; @@ -70,7 +70,7 @@ public: void copyDirectoryContent(const String & from_dir, const std::shared_ptr & to_disk, const String & to_dir) override; - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; std::unique_ptr readFile( const String & path, @@ -91,7 +91,9 @@ public: void setLastModified(const String & path, const Poco::Timestamp & timestamp) override; - Poco::Timestamp getLastModified(const String & path) override; + Poco::Timestamp getLastModified(const String & path) const override; + + time_t getLastChanged(const String & path) const override; void setReadOnly(const String & path) override; @@ -120,6 +122,12 @@ public: bool canRead() const noexcept; bool canWrite() const noexcept; + bool supportsStat() const override { return true; } + struct stat stat(const String & path) const override; + + bool supportsChmod() const override { return true; } + void chmod(const String & path, mode_t mode) override; + private: std::optional tryReserve(UInt64 bytes); diff --git a/src/Disks/DiskMemory.cpp b/src/Disks/DiskMemory.cpp index 4f0e881e079..9b857d617c9 100644 --- a/src/Disks/DiskMemory.cpp +++ b/src/Disks/DiskMemory.cpp @@ -20,7 +20,7 @@ namespace ErrorCodes } -class DiskMemoryDirectoryIterator final : public IDiskDirectoryIterator +class DiskMemoryDirectoryIterator final : public IDirectoryIterator { public: explicit DiskMemoryDirectoryIterator(std::vector && dir_file_paths_) @@ -262,7 +262,7 @@ void DiskMemory::moveDirectory(const String & /*from_path*/, const String & /*to throw Exception("Method moveDirectory is not implemented for memory disks", ErrorCodes::NOT_IMPLEMENTED); } -DiskDirectoryIteratorPtr DiskMemory::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskMemory::iterateDirectory(const String & path) const { std::lock_guard lock(mutex); @@ -409,7 +409,7 @@ void DiskMemory::removeRecursive(const String & path) } } -void DiskMemory::listFiles(const String & path, std::vector & file_names) +void DiskMemory::listFiles(const String & path, std::vector & file_names) const { std::lock_guard lock(mutex); diff --git a/src/Disks/DiskMemory.h b/src/Disks/DiskMemory.h index 726be8bc3b5..0a1b16a4fea 100644 --- a/src/Disks/DiskMemory.h +++ b/src/Disks/DiskMemory.h @@ -52,7 +52,7 @@ public: void moveDirectory(const String & from_path, const String & to_path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void createFile(const String & path) override; @@ -60,7 +60,7 @@ public: void replaceFile(const String & from_path, const String & to_path) override; - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; std::unique_ptr readFile( const String & path, @@ -81,7 +81,9 @@ public: void setLastModified(const String &, const Poco::Timestamp &) override {} - Poco::Timestamp getLastModified(const String &) override { return Poco::Timestamp(); } + Poco::Timestamp getLastModified(const String &) const override { return Poco::Timestamp(); } + + time_t getLastChanged(const String &) const override { return {}; } void setReadOnly(const String & path) override; diff --git a/src/Disks/DiskRestartProxy.cpp b/src/Disks/DiskRestartProxy.cpp index bf97c2cfe49..01c9b176853 100644 --- a/src/Disks/DiskRestartProxy.cpp +++ b/src/Disks/DiskRestartProxy.cpp @@ -171,7 +171,7 @@ void DiskRestartProxy::moveDirectory(const String & from_path, const String & to DiskDecorator::moveDirectory(from_path, to_path); } -DiskDirectoryIteratorPtr DiskRestartProxy::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskRestartProxy::iterateDirectory(const String & path) const { ReadLock lock (mutex); return DiskDecorator::iterateDirectory(path); @@ -207,7 +207,7 @@ void DiskRestartProxy::copyDirectoryContent(const String & from_dir, const std:: DiskDecorator::copyDirectoryContent(from_dir, to_disk, to_dir); } -void DiskRestartProxy::listFiles(const String & path, std::vector & file_names) +void DiskRestartProxy::listFiles(const String & path, std::vector & file_names) const { ReadLock lock (mutex); DiskDecorator::listFiles(path, file_names); @@ -276,7 +276,7 @@ void DiskRestartProxy::setLastModified(const String & path, const Poco::Timestam DiskDecorator::setLastModified(path, timestamp); } -Poco::Timestamp DiskRestartProxy::getLastModified(const String & path) +Poco::Timestamp DiskRestartProxy::getLastModified(const String & path) const { ReadLock lock (mutex); return DiskDecorator::getLastModified(path); @@ -318,13 +318,14 @@ String DiskRestartProxy::getCacheBasePath() const return DiskDecorator::getCacheBasePath(); } -std::vector DiskRestartProxy::getRemotePaths(const String & path) const +StoredObjects DiskRestartProxy::getStorageObjects(const String & path) const { ReadLock lock (mutex); - return DiskDecorator::getRemotePaths(path); + return DiskDecorator::getStorageObjects(path); } -void DiskRestartProxy::getRemotePathsRecursive(const String & path, std::vector & paths_map) +void DiskRestartProxy::getRemotePathsRecursive( + const String & path, std::vector & paths_map) { ReadLock lock (mutex); return DiskDecorator::getRemotePathsRecursive(path, paths_map); diff --git a/src/Disks/DiskRestartProxy.h b/src/Disks/DiskRestartProxy.h index 084e06e3f18..07c2b808a04 100644 --- a/src/Disks/DiskRestartProxy.h +++ b/src/Disks/DiskRestartProxy.h @@ -37,13 +37,13 @@ public: void createDirectories(const String & path) override; void clearDirectory(const String & path) override; void moveDirectory(const String & from_path, const String & to_path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void createFile(const String & path) override; void moveFile(const String & from_path, const String & to_path) override; void replaceFile(const String & from_path, const String & to_path) override; void copy(const String & from_path, const DiskPtr & to_disk, const String & to_path) override; void copyDirectoryContent(const String & from_dir, const std::shared_ptr & to_disk, const String & to_dir) override; - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; std::unique_ptr readFile( const String & path, const ReadSettings & settings, @@ -58,15 +58,15 @@ public: void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; void removeSharedRecursive(const String & path, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; void setLastModified(const String & path, const Poco::Timestamp & timestamp) override; - Poco::Timestamp getLastModified(const String & path) override; + Poco::Timestamp getLastModified(const String & path) const override; void setReadOnly(const String & path) override; void createHardLink(const String & src_path, const String & dst_path) override; void truncateFile(const String & path, size_t size) override; String getUniqueId(const String & path) const override; bool checkUniqueId(const String & id) const override; String getCacheBasePath() const override; - std::vector getRemotePaths(const String & path) const override; - void getRemotePathsRecursive(const String & path, std::vector & paths_map) override; + StoredObjects getStorageObjects(const String & path) const override; + void getRemotePathsRecursive(const String & path, std::vector & paths_map) override; void restart(ContextPtr context); diff --git a/src/Disks/DiskWebServer.cpp b/src/Disks/DiskWebServer.cpp index b8a0d12d6c1..b3a4b862be8 100644 --- a/src/Disks/DiskWebServer.cpp +++ b/src/Disks/DiskWebServer.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -18,7 +19,6 @@ #include #include #include -#include #include @@ -74,7 +74,6 @@ void DiskWebServer::initialize(const String & uri_path) const if (file_data.type == FileType::Directory) { directories_to_load.push_back(file_path); - // file_path = fs::path(file_path) / ""; } file_path = file_path.substr(url.size()); @@ -95,7 +94,7 @@ void DiskWebServer::initialize(const String & uri_path) const } -class DiskWebServerDirectoryIterator final : public IDiskDirectoryIterator +class DiskWebServerDirectoryIterator final : public IDirectoryIterator { public: explicit DiskWebServerDirectoryIterator(std::vector && dir_file_paths_) @@ -170,10 +169,22 @@ std::unique_ptr DiskWebServer::readFile(const String & p auto remote_path = fs_path.parent_path() / (escapeForFileName(fs_path.stem()) + fs_path.extension().string()); remote_path = remote_path.string().substr(url.size()); - std::vector blobs_to_read; - blobs_to_read.emplace_back(remote_path, iter->second.size); + StoredObjects objects; + objects.emplace_back(remote_path, iter->second.size); - auto web_impl = std::make_unique(url, path, blobs_to_read, getContext(), read_settings); + auto read_buffer_creator = + [this, read_settings] + (const std::string & path_, size_t read_until_position) -> std::shared_ptr + { + return std::make_shared( + fs::path(url) / path_, + getContext(), + read_settings, + /* use_external_buffer */true, + read_until_position); + }; + + auto web_impl = std::make_unique(std::move(read_buffer_creator), objects, read_settings); if (read_settings.remote_fs_method == RemoteFSReadMethod::threadpool) { @@ -188,7 +199,7 @@ std::unique_ptr DiskWebServer::readFile(const String & p } -DiskDirectoryIteratorPtr DiskWebServer::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskWebServer::iterateDirectory(const String & path) const { std::vector dir_file_paths; if (files.find(path) == files.end()) diff --git a/src/Disks/DiskWebServer.h b/src/Disks/DiskWebServer.h index 47042fabc3d..4dc476894f9 100644 --- a/src/Disks/DiskWebServer.h +++ b/src/Disks/DiskWebServer.h @@ -90,15 +90,17 @@ public: size_t getFileSize(const String & path) const override; - void listFiles(const String & /* path */, std::vector & /* file_names */) override { } + void listFiles(const String & /* path */, std::vector & /* file_names */) const override { } void setReadOnly(const String & /* path */) override {} bool isDirectory(const String & path) const override; - DiskDirectoryIteratorPtr iterateDirectory(const String & /* path */) override; + DirectoryIteratorPtr iterateDirectory(const String & /* path */) const override; - Poco::Timestamp getLastModified(const String &) override { return Poco::Timestamp{}; } + Poco::Timestamp getLastModified(const String &) const override { return Poco::Timestamp{}; } + + time_t getLastChanged(const String &) const override { return {}; } /// Write and modification part @@ -142,6 +144,11 @@ public: throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Disk {} is read-only", getName()); } + void removeSharedFileIfExists(const String &, bool) override + { + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Disk {} is read-only", getName()); + } + void removeSharedRecursive(const String &, bool, const NameSet &) override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Disk {} is read-only", getName()); @@ -167,9 +174,9 @@ public: throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Disk {} is read-only", getName()); } - std::vector getRemotePaths(const String &) const override { return {}; } + StoredObjects getStorageObjects(const String &) const override { return {}; } - void getRemotePathsRecursive(const String &, std::vector &) override {} + void getRemotePathsRecursive(const String &, std::vector &) override {} /// Create part diff --git a/src/Disks/FakeDiskTransaction.h b/src/Disks/FakeDiskTransaction.h new file mode 100644 index 00000000000..e80b45a94ec --- /dev/null +++ b/src/Disks/FakeDiskTransaction.h @@ -0,0 +1,134 @@ +#pragma once + +#include + +namespace DB +{ + +/// Fake disk transaction implementation. +/// Just execute all operations immediately, commit is noop operation. +/// No support for atomicity and rollback. +struct FakeDiskTransaction final : public IDiskTransaction +{ +public: + explicit FakeDiskTransaction(IDisk & disk_) + : disk(disk_) + {} + + void commit() override {} + + void createDirectory(const std::string & path) override + { + disk.createDirectory(path); + } + + void createDirectories(const std::string & path) override + { + disk.createDirectories(path); + } + + void createFile(const std::string & path) override + { + disk.createFile(path); + } + + void clearDirectory(const std::string & path) override + { + disk.createDirectory(path); + } + + void moveDirectory(const std::string & from_path, const std::string & to_path) override + { + disk.moveDirectory(from_path, to_path); + } + + void moveFile(const String & from_path, const String & to_path) override + { + disk.moveFile(from_path, to_path); + } + + void replaceFile(const std::string & from_path, const std::string & to_path) override + { + disk.replaceFile(from_path, to_path); + } + + void copyFile(const std::string & from_file_path, const std::string & to_file_path) override + { + disk.copyFile(from_file_path, disk, to_file_path); + } + + std::unique_ptr writeFile( /// NOLINT + const std::string & path, + size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, + WriteMode mode = WriteMode::Rewrite, + const WriteSettings & settings = {}, + bool /*autocommit */ = true) override + { + return disk.writeFile(path, buf_size, mode, settings); + } + + void removeFile(const std::string & path) override + { + disk.removeFile(path); + } + + void removeFileIfExists(const std::string & path) override + { + disk.removeFileIfExists(path); + } + + void removeDirectory(const std::string & path) override + { + disk.removeDirectory(path); + } + + void removeRecursive(const std::string & path) override + { + disk.removeRecursive(path); + } + + void removeSharedFile(const std::string & path, bool keep_shared_data) override + { + disk.removeSharedFile(path, keep_shared_data); + } + + void removeSharedRecursive(const std::string & path, bool keep_all_shared_data, const NameSet & file_names_remove_metadata_only) override + { + disk.removeSharedRecursive(path, keep_all_shared_data, file_names_remove_metadata_only); + } + + void removeSharedFileIfExists(const std::string & path, bool keep_shared_data) override + { + disk.removeSharedFileIfExists(path, keep_shared_data); + } + + void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override + { + disk.removeSharedFiles(files, keep_all_batch_data, file_names_remove_metadata_only); + } + + void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) override + { + disk.setLastModified(path, timestamp); + } + + void chmod(const String & path, mode_t mode) override + { + disk.chmod(path, mode); + } + + void setReadOnly(const std::string & path) override + { + disk.setReadOnly(path); + } + + void createHardLink(const std::string & src_path, const std::string & dst_path) override + { + disk.createHardLink(src_path, dst_path); + } + +private: + IDisk & disk; +}; + +} diff --git a/src/Disks/IDisk.cpp b/src/Disks/IDisk.cpp index 363cab3c539..7d89fb28271 100644 --- a/src/Disks/IDisk.cpp +++ b/src/Disks/IDisk.cpp @@ -6,6 +6,10 @@ #include #include #include +#include +#include +#include +#include namespace DB { @@ -15,7 +19,7 @@ namespace ErrorCodes extern const int NOT_IMPLEMENTED; } -bool IDisk::isDirectoryEmpty(const String & path) +bool IDisk::isDirectoryEmpty(const String & path) const { return !iterateDirectory(path)->isValid(); } @@ -32,6 +36,24 @@ void IDisk::copyFile(const String & from_file_path, IDisk & to_disk, const Strin } +DiskTransactionPtr IDisk::createTransaction() +{ + return std::make_shared(*this); +} + +void IDisk::removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) +{ + for (const auto & file : files) + { + bool keep_file = keep_all_batch_data || file_names_remove_metadata_only.contains(fs::path(file.path).filename()); + if (file.if_exists) + removeSharedFileIfExists(file.path, keep_file); + else + removeSharedFile(file.path, keep_file); + } +} + + using ResultsCollector = std::vector>; void asyncCopy(IDisk & from_disk, String from_path, IDisk & to_disk, String to_path, Executor & exec, ResultsCollector & results, bool copy_root_dir) @@ -99,4 +121,18 @@ SyncGuardPtr IDisk::getDirectorySyncGuard(const String & /* path */) const return nullptr; } +MetadataStoragePtr IDisk::getMetadataStorage() +{ + if (isRemote()) + { + return std::make_shared(std::static_pointer_cast(shared_from_this()), ""); + } + else + { + auto object_storage = std::make_shared(); + return std::make_shared( + std::static_pointer_cast(shared_from_this()), object_storage, getPath()); + } +} + } diff --git a/src/Disks/IDisk.h b/src/Disks/IDisk.h index f243f477f2c..816db57b016 100644 --- a/src/Disks/IDisk.h +++ b/src/Disks/IDisk.h @@ -1,7 +1,6 @@ #pragma once #include -#include #include #include #include @@ -12,6 +11,8 @@ #include #include #include +#include +#include #include #include @@ -39,8 +40,9 @@ namespace ErrorCodes extern const int NOT_IMPLEMENTED; } -class IDiskDirectoryIterator; -using DiskDirectoryIteratorPtr = std::unique_ptr; +class IDisk; +using DiskPtr = std::shared_ptr; +using DisksMap = std::map; class IReservation; using ReservationPtr = std::unique_ptr; @@ -49,7 +51,15 @@ using Reservations = std::vector; class ReadBufferFromFileBase; class WriteBufferFromFileBase; class MMappedFileCache; +class IMetadataStorage; +using MetadataStoragePtr = std::shared_ptr; +struct IDiskTransaction; +using DiskTransactionPtr = std::shared_ptr; +struct RemoveRequest; +using RemoveBatchRequest = std::vector; +class DiskObjectStorage; +using DiskObjectStoragePtr = std::shared_ptr; /** * Provide interface for reservation. @@ -92,7 +102,12 @@ class IDisk : public Space { public: /// Default constructor. - explicit IDisk(std::unique_ptr executor_ = std::make_unique()) : executor(std::move(executor_)) { } + explicit IDisk(std::unique_ptr executor_ = std::make_unique()) + : executor(std::move(executor_)) + { + } + + virtual DiskTransactionPtr createTransaction(); /// Root path for all files stored on the disk. /// It's not required to be a local filesystem path. @@ -135,10 +150,10 @@ public: virtual void moveDirectory(const String & from_path, const String & to_path) = 0; /// Return iterator to the contents of the specified directory. - virtual DiskDirectoryIteratorPtr iterateDirectory(const String & path) = 0; + virtual DirectoryIteratorPtr iterateDirectory(const String & path) const = 0; /// Return `true` if the specified directory is empty. - bool isDirectoryEmpty(const String & path); + bool isDirectoryEmpty(const String & path) const; /// Create empty file at `path`. virtual void createFile(const String & path) = 0; @@ -161,7 +176,7 @@ public: virtual void copyFile(const String & from_file_path, IDisk & to_disk, const String & to_file_path); /// List files at `path` and add their names to `file_names` - virtual void listFiles(const String & path, std::vector & file_names) = 0; + virtual void listFiles(const String & path, std::vector & file_names) const = 0; /// Open the file for read and return ReadBufferFromFileBase object. virtual std::unique_ptr readFile( /// NOLINT @@ -205,58 +220,41 @@ public: /// Second bool param is a flag to remove (true) or keep (false) shared data on S3 virtual void removeSharedFileIfExists(const String & path, bool /* keep_shared_data */) { removeFileIfExists(path); } + virtual String getCacheBasePath() const { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "There is no cache path"); } - virtual String getCacheBasePath() const { return ""; } + virtual bool supportsCache() const { return false; } - /// Returns a list of paths because for Log family engines there might be - /// multiple files in remote fs for single clickhouse file. - virtual std::vector getRemotePaths(const String &) const + /// Returns a list of storage objects (contains path, size, ...). + /// (A list is returned because for Log family engines there might + /// be multiple files in remote fs for single clickhouse file. + virtual StoredObjects getStorageObjects(const String &) const { - throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method `getRemotePaths() not implemented for disk: {}`", getType()); + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method `getStorageObjects() not implemented for disk: {}`", getType()); } /// For one local path there might be multiple remote paths in case of Log family engines. - using LocalPathWithRemotePaths = std::pair>; + using LocalPathWithObjectStoragePaths = std::pair; - virtual void getRemotePathsRecursive(const String &, std::vector &) + virtual void getRemotePathsRecursive(const String &, std::vector &) { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method `getRemotePathsRecursive() not implemented for disk: {}`", getType()); } - struct RemoveRequest - { - String path; - bool if_exists = false; - - explicit RemoveRequest(String path_, bool if_exists_ = false) - : path(std::move(path_)), if_exists(std::move(if_exists_)) - { - } - }; - - using RemoveBatchRequest = std::vector; - /// Batch request to remove multiple files. /// May be much faster for blob storage. /// Second bool param is a flag to remove (true) or keep (false) shared data on S3. /// Third param determines which files cannot be removed even if second is true. - virtual void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) - { - for (const auto & file : files) - { - bool keep_file = keep_all_batch_data || file_names_remove_metadata_only.contains(fs::path(file.path).filename()); - if (file.if_exists) - removeSharedFileIfExists(file.path, keep_file); - else - removeSharedFile(file.path, keep_file); - } - } + virtual void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only); /// Set last modified time to file or directory at `path`. virtual void setLastModified(const String & path, const Poco::Timestamp & timestamp) = 0; /// Get last modified time of file or directory at `path`. - virtual Poco::Timestamp getLastModified(const String & path) = 0; + virtual Poco::Timestamp getLastModified(const String & path) const = 0; + + /// Get last changed time of file or directory at `path`. + /// Meaning is the same as stat.mt_ctime (e.g. different from getLastModified()). + virtual time_t getLastChanged(const String & path) const = 0; /// Set file at `path` as read-only. virtual void setReadOnly(const String & path) = 0; @@ -317,7 +315,7 @@ public: /// Actually it's a part of IDiskRemote implementation but we have so /// complex hierarchy of disks (with decorators), so we cannot even /// dynamic_cast some pointer to IDisk to pointer to IDiskRemote. - virtual std::shared_ptr getMetadataDiskIfExistsOrSelf() { return std::static_pointer_cast(shared_from_this()); } + virtual MetadataStoragePtr getMetadataStorage(); /// Very similar case as for getMetadataDiskIfExistsOrSelf(). If disk has "metadata" /// it will return mapping for each required path: path -> metadata as string. @@ -345,6 +343,19 @@ public: /// Return current disk revision. virtual UInt64 getRevision() const { return 0; } + virtual DiskObjectStoragePtr createDiskObjectStorage(const String &) + { + throw Exception( + ErrorCodes::NOT_IMPLEMENTED, + "Method createDiskObjectStorage() is not implemented for disk type: {}", + getType()); + } + + virtual bool supportsStat() const { return false; } + virtual struct stat stat(const String & /*path*/) const { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Disk does not support stat"); } + + virtual bool supportsChmod() const { return false; } + virtual void chmod(const String & /*path*/, mode_t /*mode*/) { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Disk does not support chmod"); } protected: friend class DiskDecorator; @@ -361,30 +372,8 @@ private: std::unique_ptr executor; }; -using DiskPtr = std::shared_ptr; using Disks = std::vector; -/** - * Iterator of directory contents on particular disk. - */ -class IDiskDirectoryIterator -{ -public: - /// Iterate to the next file. - virtual void next() = 0; - - /// Return `true` if the iterator points to a valid element. - virtual bool isValid() const = 0; - - /// Path to the file that the iterator currently points to. - virtual String path() const = 0; - - /// Name of the file that the iterator currently points to. - virtual String name() const = 0; - - virtual ~IDiskDirectoryIterator() = default; -}; - /** * Information about reserved size on particular disk. */ diff --git a/src/Disks/IDiskTransaction.h b/src/Disks/IDiskTransaction.h new file mode 100644 index 00000000000..572d86dcfdb --- /dev/null +++ b/src/Disks/IDiskTransaction.h @@ -0,0 +1,118 @@ +#pragma once + +#include +#include +#include +#include + +namespace DB +{ + +struct RemoveRequest +{ + std::string path; /// Relative path. + bool if_exists = false; + + explicit RemoveRequest(std::string path_, bool if_exists_ = false) + : path(std::move(path_)), if_exists(std::move(if_exists_)) + { + } +}; + +using RemoveBatchRequest = std::vector; + +/// Simple interface batch execution of write disk operations. +/// Method are almost equal to disk methods. +struct IDiskTransaction : private boost::noncopyable +{ +public: + /// Tries to commit all accumulated operations simultaneously. + /// If something fails rollback and throw exception. + virtual void commit() = 0; + + virtual ~IDiskTransaction() = default; + + /// Create directory. + virtual void createDirectory(const std::string & path) = 0; + + /// Create directory and all parent directories if necessary. + virtual void createDirectories(const std::string & path) = 0; + + /// Remove all files from the directory. Directories are not removed. + virtual void clearDirectory(const std::string & path) = 0; + + /// Move directory from `from_path` to `to_path`. + virtual void moveDirectory(const std::string & from_path, const std::string & to_path) = 0; + + virtual void moveFile(const String & from_path, const String & to_path) = 0; + + virtual void createFile(const String & path) = 0; + + /// Move the file from `from_path` to `to_path`. + /// If a file with `to_path` path already exists, it will be replaced. + virtual void replaceFile(const std::string & from_path, const std::string & to_path) = 0; + + /// Only copy of several files supported now. Disk interface support copy to another disk + /// but it's impossible to implement correctly in transactions because other disk can + /// use different metadata storage. + /// TODO: maybe remove it at all, we don't want copies + virtual void copyFile(const std::string & from_file_path, const std::string & to_file_path) = 0; + + /// Open the file for write and return WriteBufferFromFileBase object. + virtual std::unique_ptr writeFile( /// NOLINT + const std::string & path, + size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, + WriteMode mode = WriteMode::Rewrite, + const WriteSettings & settings = {}, + bool autocommit = true) = 0; + + /// Remove file. Throws exception if file doesn't exists or it's a directory. + virtual void removeFile(const std::string & path) = 0; + + /// Remove file if it exists. + virtual void removeFileIfExists(const std::string & path) = 0; + + /// Remove directory. Throws exception if it's not a directory or if directory is not empty. + virtual void removeDirectory(const std::string & path) = 0; + + /// Remove file or directory with all children. Use with extra caution. Throws exception if file doesn't exists. + virtual void removeRecursive(const std::string & path) = 0; + + /// Remove file. Throws exception if file doesn't exists or if directory is not empty. + /// Differs from removeFile for S3/HDFS disks + /// Second bool param is a flag to remove (true) or keep (false) shared data on S3 + virtual void removeSharedFile(const std::string & path, bool /* keep_shared_data */) = 0; + + /// Remove file or directory with all children. Use with extra caution. Throws exception if file doesn't exists. + /// Differs from removeRecursive for S3/HDFS disks + /// Second bool param is a flag to remove (false) or keep (true) shared data on S3. + /// Third param determines which files cannot be removed even if second is true. + virtual void removeSharedRecursive(const std::string & path, bool /* keep_all_shared_data */, const NameSet & /* file_names_remove_metadata_only */) = 0; + + /// Remove file or directory if it exists. + /// Differs from removeFileIfExists for S3/HDFS disks + /// Second bool param is a flag to remove (true) or keep (false) shared data on S3 + virtual void removeSharedFileIfExists(const std::string & path, bool /* keep_shared_data */) = 0; + + /// Batch request to remove multiple files. + /// May be much faster for blob storage. + /// Second bool param is a flag to remove (true) or keep (false) shared data on S3. + /// Third param determines which files cannot be removed even if second is true. + virtual void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) = 0; + + /// Set last modified time to file or directory at `path`. + virtual void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) = 0; + + /// Just chmod. + virtual void chmod(const String & path, mode_t mode) = 0; + + /// Set file at `path` as read-only. + virtual void setReadOnly(const std::string & path) = 0; + + /// Create hardlink from `src_path` to `dst_path`. + virtual void createHardLink(const std::string & src_path, const std::string & dst_path) = 0; +}; + +using DiskTransactionPtr = std::shared_ptr; + +} diff --git a/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.cpp b/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.cpp index 5f2e19162f4..cbfcbdf7b88 100644 --- a/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.cpp +++ b/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.cpp @@ -2,8 +2,8 @@ #include #include -#include #include +#include #include @@ -67,7 +67,7 @@ String AsynchronousReadIndirectBufferFromRemoteFS::getInfoForLog() return impl->getInfoForLog(); } -std::optional AsynchronousReadIndirectBufferFromRemoteFS::getFileSize() +size_t AsynchronousReadIndirectBufferFromRemoteFS::getFileSize() { return impl->getFileSize(); } @@ -97,10 +97,10 @@ bool AsynchronousReadIndirectBufferFromRemoteFS::hasPendingDataToRead() } -std::future AsynchronousReadIndirectBufferFromRemoteFS::readInto(char * data, size_t size) +std::future AsynchronousReadIndirectBufferFromRemoteFS::asyncReadInto(char * data, size_t size) { IAsynchronousReader::Request request; - request.descriptor = std::make_shared(impl); + request.descriptor = std::make_shared(impl); request.buf = data; request.size = size; request.offset = file_offset_of_buffer_end; @@ -125,7 +125,7 @@ void AsynchronousReadIndirectBufferFromRemoteFS::prefetch() return; /// Prefetch even in case hasPendingData() == true. - prefetch_future = readInto(prefetch_buffer.data(), prefetch_buffer.size()); + prefetch_future = asyncReadInto(prefetch_buffer.data(), prefetch_buffer.size()); ProfileEvents::increment(ProfileEvents::RemoteFSPrefetches); } @@ -168,6 +168,8 @@ bool AsynchronousReadIndirectBufferFromRemoteFS::nextImpl() CurrentMetrics::Increment metric_increment{CurrentMetrics::AsynchronousReadWait}; size_t size = 0; + size_t bytes_read = 0; + if (prefetch_future.valid()) { ProfileEvents::increment(ProfileEvents::RemoteFSPrefetchedReads); @@ -181,28 +183,37 @@ bool AsynchronousReadIndirectBufferFromRemoteFS::nextImpl() /// If prefetch_future is valid, size should always be greater than zero. assert(offset <= size); + bytes_read = size - offset; + ProfileEvents::increment(ProfileEvents::AsynchronousReadWaitMicroseconds, watch.elapsedMicroseconds()); } prefetch_buffer.swap(memory); + /// Adjust the working buffer so that it ignores `offset` bytes. - setWithBytesToIgnore(memory.data(), size, offset); + internal_buffer = Buffer(memory.data(), memory.data() + memory.size()); + working_buffer = Buffer(memory.data() + offset, memory.data() + size); + pos = working_buffer.begin(); } else { ProfileEvents::increment(ProfileEvents::RemoteFSUnprefetchedReads); - auto result = readInto(memory.data(), memory.size()).get(); + auto result = asyncReadInto(memory.data(), memory.size()).get(); size = result.size; auto offset = result.offset; LOG_TEST(log, "Current size: {}, offset: {}", size, offset); - assert(offset <= size); - if (size) + assert(offset <= size); + bytes_read = size - offset; + + if (bytes_read) { /// Adjust the working buffer so that it ignores `offset` bytes. - setWithBytesToIgnore(memory.data(), size, offset); + internal_buffer = Buffer(memory.data(), memory.data() + memory.size()); + working_buffer = Buffer(memory.data() + offset, memory.data() + size); + pos = working_buffer.begin(); } } @@ -210,10 +221,14 @@ bool AsynchronousReadIndirectBufferFromRemoteFS::nextImpl() ProfileEvents::increment(ProfileEvents::AsynchronousReadWaitMicroseconds, watch.elapsedMicroseconds()); file_offset_of_buffer_end = impl->getFileOffsetOfBufferEnd(); - assert(file_offset_of_buffer_end == impl->getImplementationBufferOffset()); + /// In case of multiple files for the same file in clickhouse (i.e. log family) + /// file_offset_of_buffer_end will not match getImplementationBufferOffset() + /// so we use [impl->getImplementationBufferOffset(), impl->getFileSize()] + assert(file_offset_of_buffer_end >= impl->getImplementationBufferOffset()); + assert(file_offset_of_buffer_end <= impl->getFileSize()); prefetch_future = {}; - return size; + return bytes_read; } diff --git a/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.h b/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.h index ef1b0fe6c4b..b7738ee9cb9 100644 --- a/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.h +++ b/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.h @@ -23,11 +23,11 @@ struct ReadSettings; * * Buffers chain for diskWeb: * AsynchronousIndirectReadBufferFromRemoteFS -> ReadBufferFromRemoteFS -> -* -> ReadIndirectBufferFromWebServer -> ReadBufferFromHttp -> ReadBufferFromIStream. +* -> ReadIndirectBufferFromWebServer -> ReadBufferFromHTTP -> ReadBufferFromIStream. * * We pass either `memory` or `prefetch_buffer` through all this chain and return it back. */ -class AsynchronousReadIndirectBufferFromRemoteFS : public ReadBufferFromFileBase, public WithFileSize +class AsynchronousReadIndirectBufferFromRemoteFS : public ReadBufferFromFileBase { public: explicit AsynchronousReadIndirectBufferFromRemoteFS( @@ -51,7 +51,7 @@ public: String getInfoForLog() override; - std::optional getFileSize() override; + size_t getFileSize() override; private: bool nextImpl() override; @@ -60,7 +60,7 @@ private: bool hasPendingDataToRead(); - std::future readInto(char * data, size_t size); + std::future asyncReadInto(char * data, size_t size); AsynchronousReaderPtr reader; diff --git a/src/Disks/IO/CachedReadBufferFromRemoteFS.cpp b/src/Disks/IO/CachedReadBufferFromRemoteFS.cpp index 2e85c4eb34a..a10e136334e 100644 --- a/src/Disks/IO/CachedReadBufferFromRemoteFS.cpp +++ b/src/Disks/IO/CachedReadBufferFromRemoteFS.cpp @@ -6,6 +6,7 @@ #include #include #include +#include namespace ProfileEvents @@ -55,6 +56,8 @@ CachedReadBufferFromRemoteFS::CachedReadBufferFromRemoteFS( , query_id(query_id_) , enable_logging(!query_id.empty() && settings_.enable_filesystem_cache_log) , current_buffer_id(getRandomASCIIString(8)) + , query_context_holder(cache_->getQueryContextHolder(query_id, settings_)) + , is_persistent(false) /// Unused for now, see PR 36171 { } @@ -101,7 +104,7 @@ void CachedReadBufferFromRemoteFS::initialize(size_t offset, size_t size) } else { - file_segments_holder.emplace(cache->getOrSet(cache_key, offset, size)); + file_segments_holder.emplace(cache->getOrSet(cache_key, offset, size, is_persistent)); } /** @@ -119,7 +122,7 @@ void CachedReadBufferFromRemoteFS::initialize(size_t offset, size_t size) SeekableReadBufferPtr CachedReadBufferFromRemoteFS::getCacheReadBuffer(size_t offset) const { - auto path = cache->getPathInLocalCache(cache_key, offset); + auto path = cache->getPathInLocalCache(cache_key, offset, is_persistent); ReadSettings local_read_settings{settings}; /// Do not allow to use asynchronous version of LocalFSReadMethod. @@ -127,7 +130,7 @@ SeekableReadBufferPtr CachedReadBufferFromRemoteFS::getCacheReadBuffer(size_t of auto buf = createReadBufferFromFileBase(path, local_read_settings); auto * from_fd = dynamic_cast(buf.get()); - if (from_fd && from_fd->size() == 0) + if (from_fd && from_fd->getFileSize() == 0) throw Exception(ErrorCodes::LOGICAL_ERROR, "Attempt to read from an empty cache file: {}", path); return buf; @@ -300,6 +303,7 @@ SeekableReadBufferPtr CachedReadBufferFromRemoteFS::getReadBufferForFileSegment( assert(file_offset_of_buffer_end > file_segment->getDownloadOffset()); bytes_to_predownload = file_offset_of_buffer_end - file_segment->getDownloadOffset(); + assert(bytes_to_predownload < range.size()); } download_offset = file_segment->getDownloadOffset(); @@ -369,7 +373,7 @@ SeekableReadBufferPtr CachedReadBufferFromRemoteFS::getImplementationBuffer(File { #ifndef NDEBUG auto * file_reader = dynamic_cast(read_buffer_for_file_segment.get()); - size_t file_size = file_reader->size(); + size_t file_size = file_reader->getFileSize(); if (file_size == 0 || range.left + file_size <= file_offset_of_buffer_end) throw Exception( @@ -507,6 +511,7 @@ void CachedReadBufferFromRemoteFS::predownload(FileSegmentPtr & file_segment) assert(implementation_buffer->getFileOffsetOfBufferEnd() == file_segment->getDownloadOffset()); size_t current_offset = file_segment->getDownloadOffset(); + const auto & current_range = file_segment->range(); while (true) { @@ -530,7 +535,7 @@ void CachedReadBufferFromRemoteFS::predownload(FileSegmentPtr & file_segment) "Failed to predownload remaining {} bytes. Current file segment: {}, current download offset: {}, expected: {}, " "eof: {}", bytes_to_predownload, - file_segment->range().toString(), + current_range.toString(), file_segment->getDownloadOffset(), file_offset_of_buffer_end, implementation_buffer->eof()); @@ -563,28 +568,31 @@ void CachedReadBufferFromRemoteFS::predownload(FileSegmentPtr & file_segment) ProfileEvents::increment(ProfileEvents::CachedReadBufferReadFromSourceBytes, current_impl_buffer_size); - if (file_segment->reserve(current_predownload_size)) + bool continue_predownload = file_segment->reserve(current_predownload_size); + if (continue_predownload) { LOG_TEST(log, "Left to predownload: {}, buffer size: {}", bytes_to_predownload, current_impl_buffer_size); assert(file_segment->getDownloadOffset() == static_cast(implementation_buffer->getPosition())); - Stopwatch watch(CLOCK_MONOTONIC); + bool success = writeCache(implementation_buffer->buffer().begin(), current_predownload_size, current_offset, *file_segment); + if (success) + { + current_offset += current_predownload_size; - file_segment->write(implementation_buffer->buffer().begin(), current_predownload_size, current_offset); + bytes_to_predownload -= current_predownload_size; + implementation_buffer->position() += current_predownload_size; + } + else + { + read_type = ReadType::REMOTE_FS_READ_BYPASS_CACHE; + file_segment->complete(FileSegment::State::PARTIALLY_DOWNLOADED_NO_CONTINUATION); - watch.stop(); - auto elapsed = watch.elapsedMicroseconds(); - current_file_segment_counters.increment(ProfileEvents::FileSegmentCacheWriteMicroseconds, elapsed); - ProfileEvents::increment(ProfileEvents::CachedReadBufferCacheWriteMicroseconds, elapsed); - ProfileEvents::increment(ProfileEvents::CachedReadBufferCacheWriteBytes, current_predownload_size); - - current_offset += current_predownload_size; - - bytes_to_predownload -= current_predownload_size; - implementation_buffer->position() += current_predownload_size; + continue_predownload = false; + } } - else + + if (!continue_predownload) { /// We were predownloading: /// segment{1} @@ -607,13 +615,13 @@ void CachedReadBufferFromRemoteFS::predownload(FileSegmentPtr & file_segment) read_type = ReadType::REMOTE_FS_READ_BYPASS_CACHE; swap(*implementation_buffer); - working_buffer.resize(0); - position() = working_buffer.end(); + resetWorkingBuffer(); implementation_buffer = getRemoteFSReadBuffer(file_segment, read_type); swap(*implementation_buffer); + implementation_buffer->setReadUntilPosition(current_range.right + 1); /// [..., range.right] implementation_buffer->seek(file_offset_of_buffer_end, SEEK_SET); LOG_TEST( @@ -687,6 +695,34 @@ bool CachedReadBufferFromRemoteFS::updateImplementationBufferIfNeeded() return true; } +bool CachedReadBufferFromRemoteFS::writeCache(char * data, size_t size, size_t offset, FileSegment & file_segment) +{ + Stopwatch watch(CLOCK_MONOTONIC); + + try + { + file_segment.write(data, size, offset); + } + catch (ErrnoException & e) + { + int code = e.getErrno(); + if (code == /* No space left on device */28 || code == /* Quota exceeded */122) + { + LOG_INFO(log, "Insert into cache is skipped due to insufficient disk space. ({})", e.displayText()); + return false; + } + throw; + } + + watch.stop(); + auto elapsed = watch.elapsedMicroseconds(); + current_file_segment_counters.increment(ProfileEvents::FileSegmentCacheWriteMicroseconds, elapsed); + ProfileEvents::increment(ProfileEvents::CachedReadBufferCacheWriteMicroseconds, elapsed); + ProfileEvents::increment(ProfileEvents::CachedReadBufferCacheWriteBytes, size); + + return true; +} + bool CachedReadBufferFromRemoteFS::nextImpl() { try @@ -801,7 +837,7 @@ bool CachedReadBufferFromRemoteFS::nextImplStep() #ifndef NDEBUG if (auto * cache_file_reader = dynamic_cast(implementation_buffer.get())) { - auto cache_file_size = cache_file_reader->size(); + auto cache_file_size = cache_file_reader->getFileSize(); if (cache_file_size == 0) throw Exception( ErrorCodes::LOGICAL_ERROR, "Attempt to read from an empty cache file: {} (just before actual read)", cache_file_size); @@ -836,33 +872,34 @@ bool CachedReadBufferFromRemoteFS::nextImplStep() { assert(file_offset_of_buffer_end + size - 1 <= file_segment->range().right); - if (file_segment->reserve(size)) + bool success = file_segment->reserve(size); + if (success) { assert(file_segment->getDownloadOffset() == static_cast(implementation_buffer->getPosition())); - Stopwatch watch(CLOCK_MONOTONIC); - - file_segment->write( - needed_to_predownload ? implementation_buffer->position() : implementation_buffer->buffer().begin(), - size, - file_offset_of_buffer_end); - - watch.stop(); - auto elapsed = watch.elapsedMicroseconds(); - current_file_segment_counters.increment(ProfileEvents::FileSegmentCacheWriteMicroseconds, elapsed); - ProfileEvents::increment(ProfileEvents::CachedReadBufferCacheWriteMicroseconds, elapsed); - ProfileEvents::increment(ProfileEvents::CachedReadBufferCacheWriteBytes, size); - - assert(file_segment->getDownloadOffset() <= file_segment->range().right + 1); - assert( - std::next(current_file_segment_it) == file_segments_holder->file_segments.end() - || file_segment->getDownloadOffset() == implementation_buffer->getFileOffsetOfBufferEnd()); + success = writeCache(implementation_buffer->position(), size, file_offset_of_buffer_end, *file_segment); + if (success) + { + assert(file_segment->getDownloadOffset() <= file_segment->range().right + 1); + assert( + std::next(current_file_segment_it) == file_segments_holder->file_segments.end() + || file_segment->getDownloadOffset() == implementation_buffer->getFileOffsetOfBufferEnd()); + } + else + { + assert(file_segment->state() == FileSegment::State::PARTIALLY_DOWNLOADED_NO_CONTINUATION); + } } else { - download_current_segment = false; - file_segment->complete(FileSegment::State::PARTIALLY_DOWNLOADED_NO_CONTINUATION); LOG_DEBUG(log, "No space left in cache, will continue without cache download"); + file_segment->complete(FileSegment::State::PARTIALLY_DOWNLOADED_NO_CONTINUATION); + } + + if (!success) + { + read_type = ReadType::REMOTE_FS_READ_BYPASS_CACHE; + download_current_segment = false; } } @@ -915,7 +952,7 @@ bool CachedReadBufferFromRemoteFS::nextImplStep() { std::optional cache_file_size; if (auto * cache_file_reader = dynamic_cast(implementation_buffer.get())) - cache_file_size = cache_file_reader->size(); + cache_file_size = cache_file_reader->getFileSize(); throw Exception( ErrorCodes::LOGICAL_ERROR, @@ -987,7 +1024,7 @@ std::optional CachedReadBufferFromRemoteFS::getLastNonDownloadedOffset() void CachedReadBufferFromRemoteFS::assertCorrectness() const { - if (IFileCache::isReadOnly() && !settings.read_from_filesystem_cache_if_exists_otherwise_bypass_cache) + if (FileCache::isReadOnly() && !settings.read_from_filesystem_cache_if_exists_otherwise_bypass_cache) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cache usage is not allowed"); } diff --git a/src/Disks/IO/CachedReadBufferFromRemoteFS.h b/src/Disks/IO/CachedReadBufferFromRemoteFS.h index c73114f50a5..7fe3af29ef7 100644 --- a/src/Disks/IO/CachedReadBufferFromRemoteFS.h +++ b/src/Disks/IO/CachedReadBufferFromRemoteFS.h @@ -6,6 +6,7 @@ #include #include #include +#include namespace CurrentMetrics @@ -72,12 +73,15 @@ private: SeekableReadBufferPtr getRemoteFSReadBuffer(FileSegmentPtr & file_segment, ReadType read_type_); size_t getTotalSizeToRead(); + bool completeFileSegmentAndGetNext(); void appendFilesystemCacheLog(const FileSegment::Range & file_segment_range, ReadType read_type); + bool writeCache(char * data, size_t size, size_t offset, FileSegment & file_segment); + Poco::Logger * log; - IFileCache::Key cache_key; + FileCache::Key cache_key; String remote_fs_object_path; FileCachePtr cache; ReadSettings settings; @@ -123,6 +127,10 @@ private: CurrentMetrics::Increment metric_increment{CurrentMetrics::FilesystemCacheReadBuffers}; ProfileEvents::Counters current_file_segment_counters; + + FileCache::QueryContextHolder query_context_holder; + + bool is_persistent; }; } diff --git a/src/IO/ReadBufferFromAzureBlobStorage.cpp b/src/Disks/IO/ReadBufferFromAzureBlobStorage.cpp similarity index 92% rename from src/IO/ReadBufferFromAzureBlobStorage.cpp rename to src/Disks/IO/ReadBufferFromAzureBlobStorage.cpp index 2576b10f9ac..069d0aed312 100644 --- a/src/IO/ReadBufferFromAzureBlobStorage.cpp +++ b/src/Disks/IO/ReadBufferFromAzureBlobStorage.cpp @@ -2,9 +2,10 @@ #if USE_AZURE_BLOB_STORAGE -#include +#include #include #include +#include #include @@ -23,17 +24,18 @@ namespace ErrorCodes ReadBufferFromAzureBlobStorage::ReadBufferFromAzureBlobStorage( std::shared_ptr blob_container_client_, const String & path_, + const ReadSettings & read_settings_, size_t max_single_read_retries_, size_t max_single_download_retries_, - size_t tmp_buffer_size_, bool use_external_buffer_, size_t read_until_position_) - : SeekableReadBuffer(nullptr, 0) + : ReadBufferFromFileBase(read_settings_.remote_fs_buffer_size, nullptr, 0) , blob_container_client(blob_container_client_) , path(path_) , max_single_read_retries(max_single_read_retries_) , max_single_download_retries(max_single_download_retries_) - , tmp_buffer_size(tmp_buffer_size_) + , read_settings(read_settings_) + , tmp_buffer_size(read_settings.remote_fs_buffer_size) , use_external_buffer(use_external_buffer_) , read_until_position(read_until_position_) { @@ -75,6 +77,8 @@ bool ReadBufferFromAzureBlobStorage::nextImpl() try { bytes_read = data_stream->ReadToCount(reinterpret_cast(data_ptr), to_read_bytes); + if (read_settings.remote_throttler) + read_settings.remote_throttler->add(bytes_read); break; } catch (const Azure::Storage::StorageException & e) diff --git a/src/IO/ReadBufferFromAzureBlobStorage.h b/src/Disks/IO/ReadBufferFromAzureBlobStorage.h similarity index 89% rename from src/IO/ReadBufferFromAzureBlobStorage.h rename to src/Disks/IO/ReadBufferFromAzureBlobStorage.h index e5a39b84d45..5396fcf9719 100644 --- a/src/IO/ReadBufferFromAzureBlobStorage.h +++ b/src/Disks/IO/ReadBufferFromAzureBlobStorage.h @@ -5,7 +5,7 @@ #if USE_AZURE_BLOB_STORAGE #include -#include +#include #include #include #include @@ -13,16 +13,16 @@ namespace DB { -class ReadBufferFromAzureBlobStorage : public SeekableReadBuffer, public WithFileName +class ReadBufferFromAzureBlobStorage : public ReadBufferFromFileBase { public: ReadBufferFromAzureBlobStorage( std::shared_ptr blob_container_client_, const String & path_, + const ReadSettings & read_settings_, size_t max_single_read_retries_, size_t max_single_download_retries_, - size_t tmp_buffer_size_, bool use_external_buffer_ = false, size_t read_until_position_ = 0); @@ -47,6 +47,7 @@ private: const String path; size_t max_single_read_retries; size_t max_single_download_retries; + ReadSettings read_settings; std::vector tmp_buffer; size_t tmp_buffer_size; bool use_external_buffer; diff --git a/src/Disks/IO/ReadBufferFromRemoteFSGather.cpp b/src/Disks/IO/ReadBufferFromRemoteFSGather.cpp index c2a317b43b0..f21e2bd7642 100644 --- a/src/Disks/IO/ReadBufferFromRemoteFSGather.cpp +++ b/src/Disks/IO/ReadBufferFromRemoteFSGather.cpp @@ -1,28 +1,13 @@ #include "ReadBufferFromRemoteFSGather.h" #include -#include - -#if USE_AWS_S3 -#include -#endif - -#if USE_AZURE_BLOB_STORAGE -#include -#endif - -#if USE_HDFS -#include -#endif #include #include -#include #include #include #include - -namespace fs = std::filesystem; +#include namespace DB @@ -33,6 +18,26 @@ namespace ErrorCodes extern const int LOGICAL_ERROR; } +ReadBufferFromRemoteFSGather::ReadBufferFromRemoteFSGather( + ReadBufferCreator && read_buffer_creator_, + const StoredObjects & blobs_to_read_, + const ReadSettings & settings_) + : ReadBuffer(nullptr, 0) + , read_buffer_creator(std::move(read_buffer_creator_)) + , blobs_to_read(blobs_to_read_) + , settings(settings_) + , query_id(CurrentThread::isInitialized() && CurrentThread::get().getQueryContext() != nullptr ? CurrentThread::getQueryId() : "") + , log(&Poco::Logger::get("ReadBufferFromRemoteFSGather")) + , enable_cache_log(!query_id.empty() && settings.enable_filesystem_cache_log) +{ + if (blobs_to_read.empty()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Attempt to read zero number of objects"); + + with_cache = settings.remote_fs_cache + && settings.enable_filesystem_cache + && (!FileCache::isReadOnly() || settings.read_from_filesystem_cache_if_exists_otherwise_bypass_cache); +} + SeekableReadBufferPtr ReadBufferFromRemoteFSGather::createImplementationBuffer(const String & path, size_t file_size) { if (!current_file_path.empty() && !with_cache && enable_cache_log) @@ -40,77 +45,26 @@ SeekableReadBufferPtr ReadBufferFromRemoteFSGather::createImplementationBuffer(c appendFilesystemCacheLog(); } - current_file_path = fs::path(common_path_prefix) / path; + current_file_path = path; current_file_size = file_size; total_bytes_read_from_current_file = 0; - return createImplementationBufferImpl(path, file_size); -} - -#if USE_AWS_S3 -SeekableReadBufferPtr ReadBufferFromS3Gather::createImplementationBufferImpl(const String & path, size_t file_size) -{ - auto remote_path = fs::path(common_path_prefix) / path; - auto remote_file_reader_creator = [=, this]() - { - return std::make_unique( - client_ptr, bucket, remote_path, version_id, max_single_read_retries, - settings, /* use_external_buffer */true, /* offset */ 0, read_until_position, /* restricted_seek */true); - }; + size_t current_read_until_position = read_until_position ? read_until_position : file_size; + auto current_read_buffer_creator = [path, current_read_until_position, this]() { return read_buffer_creator(path, current_read_until_position); }; if (with_cache) { return std::make_shared( - remote_path, settings.remote_fs_cache, remote_file_reader_creator, settings, query_id, read_until_position ? read_until_position : file_size); + path, + settings.remote_fs_cache, + current_read_buffer_creator, + settings, + query_id, + current_read_until_position); } - return remote_file_reader_creator(); + return current_read_buffer_creator(); } -#endif - - -#if USE_AZURE_BLOB_STORAGE -SeekableReadBufferPtr ReadBufferFromAzureBlobStorageGather::createImplementationBufferImpl(const String & path, size_t /* file_size */) -{ - current_file_path = path; - return std::make_unique(blob_container_client, path, max_single_read_retries, - max_single_download_retries, settings.remote_fs_buffer_size, /* use_external_buffer */true, read_until_position); -} -#endif - - -SeekableReadBufferPtr ReadBufferFromWebServerGather::createImplementationBufferImpl(const String & path, size_t /* file_size */) -{ - current_file_path = path; - return std::make_unique(fs::path(uri) / path, context, settings, /* use_external_buffer */true, read_until_position); -} - - -#if USE_HDFS -SeekableReadBufferPtr ReadBufferFromHDFSGather::createImplementationBufferImpl(const String & path, size_t /* file_size */) -{ - return std::make_unique(hdfs_uri, fs::path(hdfs_directory) / path, config, settings.remote_fs_buffer_size); -} -#endif - - -ReadBufferFromRemoteFSGather::ReadBufferFromRemoteFSGather( - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, - const ReadSettings & settings_) - : ReadBuffer(nullptr, 0) - , common_path_prefix(common_path_prefix_) - , blobs_to_read(blobs_to_read_) - , settings(settings_) - , query_id(CurrentThread::isInitialized() && CurrentThread::get().getQueryContext() != nullptr ? CurrentThread::getQueryId() : "") - , log(&Poco::Logger::get("ReadBufferFromRemoteFSGather")) - , enable_cache_log(!query_id.empty() && settings.enable_filesystem_cache_log) -{ - with_cache = settings.remote_fs_cache - && settings.enable_filesystem_cache - && (!IFileCache::isReadOnly() || settings.read_from_filesystem_cache_if_exists_otherwise_bypass_cache); -} - void ReadBufferFromRemoteFSGather::appendFilesystemCacheLog() { @@ -129,8 +83,7 @@ void ReadBufferFromRemoteFSGather::appendFilesystemCacheLog() cache_log->add(elem); } - -ReadBufferFromRemoteFSGather::ReadResult ReadBufferFromRemoteFSGather::readInto(char * data, size_t size, size_t offset, size_t ignore) +IAsynchronousReader::Result ReadBufferFromRemoteFSGather::readInto(char * data, size_t size, size_t offset, size_t ignore) { /** * Set `data` to current working and internal buffers. @@ -151,35 +104,33 @@ ReadBufferFromRemoteFSGather::ReadResult ReadBufferFromRemoteFSGather::readInto( return {0, 0}; } - void ReadBufferFromRemoteFSGather::initialize() { /// One clickhouse file can be split into multiple files in remote fs. auto current_buf_offset = file_offset_of_buffer_end; for (size_t i = 0; i < blobs_to_read.size(); ++i) { - const auto & [file_path, size] = blobs_to_read[i]; + const auto & object = blobs_to_read[i]; - if (size > current_buf_offset) + if (object.bytes_size > current_buf_offset) { /// Do not create a new buffer if we already have what we need. if (!current_buf || current_buf_idx != i) { current_buf_idx = i; - current_buf = createImplementationBuffer(file_path, size); + current_buf = createImplementationBuffer(object.absolute_path, object.bytes_size); } current_buf->seek(current_buf_offset, SEEK_SET); return; } - current_buf_offset -= size; + current_buf_offset -= object.bytes_size; } current_buf_idx = blobs_to_read.size(); current_buf = nullptr; } - bool ReadBufferFromRemoteFSGather::nextImpl() { /// Find first available buffer that fits to given offset. @@ -193,15 +144,18 @@ bool ReadBufferFromRemoteFSGather::nextImpl() return true; } else + { return false; + } if (!moveToNextBuffer()) + { return false; + } return readImpl(); } - bool ReadBufferFromRemoteFSGather::moveToNextBuffer() { /// If there is no available buffers - nothing to read. @@ -210,13 +164,12 @@ bool ReadBufferFromRemoteFSGather::moveToNextBuffer() ++current_buf_idx; - const auto & [path, size] = blobs_to_read[current_buf_idx]; - current_buf = createImplementationBuffer(path, size); + const auto & object = blobs_to_read[current_buf_idx]; + current_buf = createImplementationBuffer(object.absolute_path, object.bytes_size); return true; } - bool ReadBufferFromRemoteFSGather::readImpl() { swap(*current_buf); @@ -263,13 +216,11 @@ bool ReadBufferFromRemoteFSGather::readImpl() return result; } - size_t ReadBufferFromRemoteFSGather::getFileOffsetOfBufferEnd() const { return file_offset_of_buffer_end; } - void ReadBufferFromRemoteFSGather::setReadUntilPosition(size_t position) { if (position != read_until_position) @@ -279,7 +230,6 @@ void ReadBufferFromRemoteFSGather::setReadUntilPosition(size_t position) } } - void ReadBufferFromRemoteFSGather::reset() { current_buf.reset(); @@ -290,7 +240,6 @@ String ReadBufferFromRemoteFSGather::getFileName() const return current_file_path; } - size_t ReadBufferFromRemoteFSGather::getFileSize() const { size_t size = 0; diff --git a/src/Disks/IO/ReadBufferFromRemoteFSGather.h b/src/Disks/IO/ReadBufferFromRemoteFSGather.h index eb6d26a4c15..4ed61501281 100644 --- a/src/Disks/IO/ReadBufferFromRemoteFSGather.h +++ b/src/Disks/IO/ReadBufferFromRemoteFSGather.h @@ -3,14 +3,9 @@ #include #include #include +#include #include -#if USE_AZURE_BLOB_STORAGE -#include -#endif - -namespace Aws { namespace S3 { class S3Client; } } - namespace Poco { class Logger; } namespace DB @@ -20,14 +15,16 @@ namespace DB * Remote disk might need to split one clickhouse file into multiple files in remote fs. * This class works like a proxy to allow transition from one file into multiple. */ -class ReadBufferFromRemoteFSGather : public ReadBuffer +class ReadBufferFromRemoteFSGather final : public ReadBuffer { friend class ReadIndirectBufferFromRemoteFS; public: + using ReadBufferCreator = std::function(const std::string & path, size_t read_until_position)>; + ReadBufferFromRemoteFSGather( - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, + ReadBufferCreator && read_buffer_creator_, + const StoredObjects & blobs_to_read_, const ReadSettings & settings_); ~ReadBufferFromRemoteFSGather() override; @@ -38,13 +35,7 @@ public: void setReadUntilPosition(size_t position) override; - struct ReadResult - { - size_t size = 0; - size_t offset = 0; - }; - - ReadResult readInto(char * data, size_t size, size_t offset, size_t ignore = 0); + IAsynchronousReader::Result readInto(char * data, size_t size, size_t offset, size_t ignore) override; size_t getFileSize() const; @@ -56,24 +47,6 @@ public: size_t getImplementationBufferOffset() const; -protected: - virtual SeekableReadBufferPtr createImplementationBufferImpl(const String & path, size_t file_size) = 0; - - std::string common_path_prefix; - - BlobsPathToSize blobs_to_read; - - ReadSettings settings; - - size_t read_until_position = 0; - - String current_file_path; - size_t current_file_size = 0; - - bool with_cache; - - String query_id; - private: SeekableReadBufferPtr createImplementationBuffer(const String & path, size_t file_size); @@ -87,6 +60,23 @@ private: void appendFilesystemCacheLog(); + ReadBufferCreator read_buffer_creator; + + StoredObjects blobs_to_read; + + ReadSettings settings; + + size_t read_until_position = 0; + + String current_file_path; + size_t current_file_size = 0; + + bool with_cache; + + String query_id; + + Poco::Logger * log; + SeekableReadBufferPtr current_buf; size_t current_buf_idx = 0; @@ -100,124 +90,9 @@ private: */ size_t bytes_to_ignore = 0; - Poco::Logger * log; - size_t total_bytes_read_from_current_file = 0; bool enable_cache_log = false; }; - -#if USE_AWS_S3 -/// Reads data from S3 using stored paths in metadata. -class ReadBufferFromS3Gather final : public ReadBufferFromRemoteFSGather -{ -public: - ReadBufferFromS3Gather( - std::shared_ptr client_ptr_, - const String & bucket_, - const String & version_id_, - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, - size_t max_single_read_retries_, - const ReadSettings & settings_) - : ReadBufferFromRemoteFSGather(common_path_prefix_, blobs_to_read_, settings_) - , client_ptr(std::move(client_ptr_)) - , bucket(bucket_) - , version_id(version_id_) - , max_single_read_retries(max_single_read_retries_) - { - } - - SeekableReadBufferPtr createImplementationBufferImpl(const String & path, size_t file_size) override; - -private: - std::shared_ptr client_ptr; - String bucket; - String version_id; - UInt64 max_single_read_retries; -}; -#endif - - -#if USE_AZURE_BLOB_STORAGE -/// Reads data from AzureBlob Storage using paths stored in metadata. -class ReadBufferFromAzureBlobStorageGather final : public ReadBufferFromRemoteFSGather -{ -public: - ReadBufferFromAzureBlobStorageGather( - std::shared_ptr blob_container_client_, - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, - size_t max_single_read_retries_, - size_t max_single_download_retries_, - const ReadSettings & settings_) - : ReadBufferFromRemoteFSGather(common_path_prefix_, blobs_to_read_, settings_) - , blob_container_client(blob_container_client_) - , max_single_read_retries(max_single_read_retries_) - , max_single_download_retries(max_single_download_retries_) - { - } - - SeekableReadBufferPtr createImplementationBufferImpl(const String & path, size_t file_size) override; - -private: - std::shared_ptr blob_container_client; - size_t max_single_read_retries; - size_t max_single_download_retries; -}; -#endif - - -class ReadBufferFromWebServerGather final : public ReadBufferFromRemoteFSGather -{ -public: - ReadBufferFromWebServerGather( - const String & uri_, - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, - ContextPtr context_, - const ReadSettings & settings_) - : ReadBufferFromRemoteFSGather(common_path_prefix_, blobs_to_read_, settings_) - , uri(uri_) - , context(context_) - { - } - - SeekableReadBufferPtr createImplementationBufferImpl(const String & path, size_t file_size) override; - -private: - String uri; - ContextPtr context; -}; - - -#if USE_HDFS -/// Reads data from HDFS using stored paths in metadata. -class ReadBufferFromHDFSGather final : public ReadBufferFromRemoteFSGather -{ -public: - ReadBufferFromHDFSGather( - const Poco::Util::AbstractConfiguration & config_, - const String & hdfs_uri_, - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, - const ReadSettings & settings_) - : ReadBufferFromRemoteFSGather(common_path_prefix_, blobs_to_read_, settings_) - , config(config_) - { - const size_t begin_of_path = hdfs_uri_.find('/', hdfs_uri_.find("//") + 2); - hdfs_directory = hdfs_uri_.substr(begin_of_path); - hdfs_uri = hdfs_uri_.substr(0, begin_of_path); - } - - SeekableReadBufferPtr createImplementationBufferImpl(const String & path, size_t file_size) override; - -private: - const Poco::Util::AbstractConfiguration & config; - String hdfs_uri; - String hdfs_directory; -}; -#endif - } diff --git a/src/Disks/IO/ReadBufferFromWebServer.cpp b/src/Disks/IO/ReadBufferFromWebServer.cpp index b9614601a72..5e9d4f63807 100644 --- a/src/Disks/IO/ReadBufferFromWebServer.cpp +++ b/src/Disks/IO/ReadBufferFromWebServer.cpp @@ -27,7 +27,7 @@ ReadBufferFromWebServer::ReadBufferFromWebServer( const ReadSettings & settings_, bool use_external_buffer_, size_t read_until_position_) - : SeekableReadBuffer(nullptr, 0) + : ReadBufferFromFileBase(settings_.remote_fs_buffer_size, nullptr, 0) , log(&Poco::Logger::get("ReadBufferFromWebServer")) , context(context_) , url(url_) diff --git a/src/Disks/IO/ReadBufferFromWebServer.h b/src/Disks/IO/ReadBufferFromWebServer.h index ea746fb75a1..99a9df9ebcb 100644 --- a/src/Disks/IO/ReadBufferFromWebServer.h +++ b/src/Disks/IO/ReadBufferFromWebServer.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include @@ -15,11 +15,12 @@ namespace DB * * Usage: ReadIndirectBufferFromRemoteFS -> SeekAvoidingReadBuffer -> ReadBufferFromWebServer -> ReadWriteBufferFromHTTP. */ -class ReadBufferFromWebServer : public SeekableReadBuffer +class ReadBufferFromWebServer : public ReadBufferFromFileBase { public: explicit ReadBufferFromWebServer( - const String & url_, ContextPtr context_, + const String & url_, + ContextPtr context_, const ReadSettings & settings_ = {}, bool use_external_buffer_ = false, size_t read_until_position = 0); @@ -32,6 +33,8 @@ public: size_t getFileOffsetOfBufferEnd() const override { return offset; } + String getFileName() const override { return url; } + private: std::unique_ptr initialize(); diff --git a/src/Disks/IO/ReadIndirectBufferFromRemoteFS.cpp b/src/Disks/IO/ReadIndirectBufferFromRemoteFS.cpp index 699f8380cb8..3f7b378dee4 100644 --- a/src/Disks/IO/ReadIndirectBufferFromRemoteFS.cpp +++ b/src/Disks/IO/ReadIndirectBufferFromRemoteFS.cpp @@ -19,6 +19,10 @@ ReadIndirectBufferFromRemoteFS::ReadIndirectBufferFromRemoteFS( { } +size_t ReadIndirectBufferFromRemoteFS::getFileSize() +{ + return impl->getFileSize(); +} off_t ReadIndirectBufferFromRemoteFS::getPosition() { diff --git a/src/Disks/IO/ReadIndirectBufferFromRemoteFS.h b/src/Disks/IO/ReadIndirectBufferFromRemoteFS.h index 64495a538e4..f27d67fc5fb 100644 --- a/src/Disks/IO/ReadIndirectBufferFromRemoteFS.h +++ b/src/Disks/IO/ReadIndirectBufferFromRemoteFS.h @@ -30,6 +30,8 @@ public: void setReadUntilEnd() override; + size_t getFileSize() override; + private: bool nextImpl() override; diff --git a/src/Disks/IO/ThreadPoolReader.cpp b/src/Disks/IO/ThreadPoolReader.cpp index e39f6057445..8e51b1bbfbd 100644 --- a/src/Disks/IO/ThreadPoolReader.cpp +++ b/src/Disks/IO/ThreadPoolReader.cpp @@ -1,4 +1,5 @@ #include "ThreadPoolReader.h" +#include #include #include #include @@ -7,13 +8,14 @@ #include #include #include +#include #include #include #include #include #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #include @@ -71,6 +73,16 @@ namespace ErrorCodes } +#if defined(OS_LINUX) +/// According to man, Linux 5.9 and 5.10 have a bug in preadv2() with the RWF_NOWAIT. +/// https://manpages.debian.org/testing/manpages-dev/preadv2.2.en.html#BUGS +/// We also disable it for older Linux kernels, because according to user's reports, RedHat-patched kernels might be also affected. +static bool hasBugInPreadV2() +{ + VersionNumber linux_version(Poco::Environment::osVersion()); + return linux_version < VersionNumber{5, 11, 0}; +} +#endif ThreadPoolReader::ThreadPoolReader(size_t pool_size, size_t queue_size_) : pool(pool_size, pool_size, queue_size_) @@ -84,11 +96,15 @@ std::future ThreadPoolReader::submit(Request reques int fd = assert_cast(*request.descriptor).fd; -#if defined(__linux__) +#if defined(OS_LINUX) /// Check if data is already in page cache with preadv2 syscall. /// We don't want to depend on new Linux kernel. - static std::atomic has_pread_nowait_support{true}; + /// But kernels 5.9 and 5.10 have a bug where preadv2() with the + /// RWF_NOWAIT flag may return 0 even when not at end of file. + /// It can't be distinguished from the real eof, so we have to + /// disable pread with nowait. + static std::atomic has_pread_nowait_support = !hasBugInPreadV2(); if (has_pread_nowait_support.load(std::memory_order_relaxed)) { diff --git a/src/Disks/IO/ThreadPoolRemoteFSReader.cpp b/src/Disks/IO/ThreadPoolRemoteFSReader.cpp index f8050b8a8b0..32cb7b022bd 100644 --- a/src/Disks/IO/ThreadPoolRemoteFSReader.cpp +++ b/src/Disks/IO/ThreadPoolRemoteFSReader.cpp @@ -7,11 +7,10 @@ #include #include #include - +#include #include #include -#include namespace ProfileEvents @@ -27,8 +26,7 @@ namespace CurrentMetrics namespace DB { - -ReadBufferFromRemoteFSGather::ReadResult ThreadPoolRemoteFSReader::RemoteFSFileDescriptor::readInto(char * data, size_t size, size_t offset, size_t ignore) +IAsynchronousReader::Result RemoteFSFileDescriptor::readInto(char * data, size_t size, size_t offset, size_t ignore) { return reader->readInto(data, size, offset, ignore); } @@ -69,7 +67,7 @@ std::future ThreadPoolRemoteFSReader::submit(Reques Stopwatch watch(CLOCK_MONOTONIC); - ReadBufferFromRemoteFSGather::ReadResult result; + Result result; try { result = remote_fs_fd->readInto(request.buf, request.size, request.offset, request.ignore); @@ -98,4 +96,5 @@ std::future ThreadPoolRemoteFSReader::submit(Reques return future; } + } diff --git a/src/Disks/IO/ThreadPoolRemoteFSReader.h b/src/Disks/IO/ThreadPoolRemoteFSReader.h index 0d5513e4c01..66e300697b8 100644 --- a/src/Disks/IO/ThreadPoolRemoteFSReader.h +++ b/src/Disks/IO/ThreadPoolRemoteFSReader.h @@ -1,38 +1,32 @@ #pragma once #include -#include +#include #include -#include - namespace DB { class ThreadPoolRemoteFSReader : public IAsynchronousReader { - -private: - ThreadPool pool; - public: ThreadPoolRemoteFSReader(size_t pool_size, size_t queue_size_); - std::future submit(Request request) override; - - struct RemoteFSFileDescriptor; -}; - - -struct ThreadPoolRemoteFSReader::RemoteFSFileDescriptor : public IFileDescriptor -{ -public: - explicit RemoteFSFileDescriptor(std::shared_ptr reader_) : reader(reader_) {} - - ReadBufferFromRemoteFSGather::ReadResult readInto(char * data, size_t size, size_t offset, size_t ignore = 0); + std::future submit(Request request) override; private: - std::shared_ptr reader; + ThreadPool pool; +}; + +class RemoteFSFileDescriptor : public IAsynchronousReader::IFileDescriptor +{ +public: + explicit RemoteFSFileDescriptor(ReadBufferPtr reader_) : reader(std::move(reader_)) { } + + IAsynchronousReader::Result readInto(char * data, size_t size, size_t offset, size_t ignore = 0); + +private: + ReadBufferPtr reader; }; } diff --git a/src/IO/WriteBufferFromAzureBlobStorage.cpp b/src/Disks/IO/WriteBufferFromAzureBlobStorage.cpp similarity index 90% rename from src/IO/WriteBufferFromAzureBlobStorage.cpp rename to src/Disks/IO/WriteBufferFromAzureBlobStorage.cpp index 51d8bf6aba2..8130d742ee5 100644 --- a/src/IO/WriteBufferFromAzureBlobStorage.cpp +++ b/src/Disks/IO/WriteBufferFromAzureBlobStorage.cpp @@ -2,9 +2,10 @@ #if USE_AZURE_BLOB_STORAGE -#include +#include #include #include +#include namespace DB @@ -15,11 +16,13 @@ WriteBufferFromAzureBlobStorage::WriteBufferFromAzureBlobStorage( const String & blob_path_, size_t max_single_part_upload_size_, size_t buf_size_, + const WriteSettings & write_settings_, std::optional> attributes_) : BufferWithOwnMemory(buf_size_, nullptr, 0) , blob_container_client(blob_container_client_) , max_single_part_upload_size(max_single_part_upload_size_) , blob_path(blob_path_) + , write_settings(write_settings_) , attributes(attributes_) { } @@ -84,6 +87,9 @@ void WriteBufferFromAzureBlobStorage::nextImpl() } block_blob_client.CommitBlockList(block_ids); + + if (write_settings.remote_throttler) + write_settings.remote_throttler->add(read); } } diff --git a/src/IO/WriteBufferFromAzureBlobStorage.h b/src/Disks/IO/WriteBufferFromAzureBlobStorage.h similarity index 90% rename from src/IO/WriteBufferFromAzureBlobStorage.h rename to src/Disks/IO/WriteBufferFromAzureBlobStorage.h index ef13a24abd8..0005705e68c 100644 --- a/src/IO/WriteBufferFromAzureBlobStorage.h +++ b/src/Disks/IO/WriteBufferFromAzureBlobStorage.h @@ -8,6 +8,7 @@ #include #include +#include #include #include @@ -24,6 +25,7 @@ public: const String & blob_path_, size_t max_single_part_upload_size_, size_t buf_size_, + const WriteSettings & write_settings_, std::optional> attributes_ = {}); ~WriteBufferFromAzureBlobStorage() override; @@ -36,6 +38,7 @@ private: std::shared_ptr blob_container_client; size_t max_single_part_upload_size; const String blob_path; + WriteSettings write_settings; std::optional> attributes; }; diff --git a/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp b/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp index 77da60ca07d..a909e8f109c 100644 --- a/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp +++ b/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp @@ -1,11 +1,5 @@ #include "WriteIndirectBufferFromRemoteFS.h" -#include -#include -#include -#include - - namespace DB { @@ -32,7 +26,6 @@ WriteIndirectBufferFromRemoteFS::~WriteIndirectBufferFromRemoteFS() } } - void WriteIndirectBufferFromRemoteFS::finalizeImpl() { WriteBufferFromFileDecorator::finalizeImpl(); diff --git a/src/Disks/IO/createReadBufferFromFileBase.cpp b/src/Disks/IO/createReadBufferFromFileBase.cpp index 4ff492e4013..d87144dee55 100644 --- a/src/Disks/IO/createReadBufferFromFileBase.cpp +++ b/src/Disks/IO/createReadBufferFromFileBase.cpp @@ -52,7 +52,7 @@ std::unique_ptr createReadBufferFromFileBase( { try { - auto res = std::make_unique(*settings.mmap_cache, filename, 0); + auto res = std::make_unique(*settings.mmap_cache, filename, 0, file_size.value_or(-1)); ProfileEvents::increment(ProfileEvents::CreatedReadBufferMMap); return res; } @@ -96,7 +96,7 @@ std::unique_ptr createReadBufferFromFileBase( if (flags == -1) flags = O_RDONLY | O_CLOEXEC; -#if defined(OS_LINUX) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) if (settings.direct_io_threshold && estimated_size >= settings.direct_io_threshold) { /** O_DIRECT diff --git a/src/Disks/LocalDirectorySyncGuard.cpp b/src/Disks/LocalDirectorySyncGuard.cpp index 2610cd7c37f..843d1c1ed43 100644 --- a/src/Disks/LocalDirectorySyncGuard.cpp +++ b/src/Disks/LocalDirectorySyncGuard.cpp @@ -1,6 +1,8 @@ #include +#include #include #include +#include #include // O_RDWR /// OSX does not have O_DIRECTORY @@ -8,6 +10,12 @@ #define O_DIRECTORY O_RDWR #endif +namespace ProfileEvents +{ + extern const Event DirectorySync; + extern const Event DirectorySyncElapsedMicroseconds; +} + namespace DB { @@ -29,8 +37,12 @@ LocalDirectorySyncGuard::LocalDirectorySyncGuard(const String & full_path) LocalDirectorySyncGuard::~LocalDirectorySyncGuard() { + ProfileEvents::increment(ProfileEvents::DirectorySync); + try { + Stopwatch watch; + #if defined(OS_DARWIN) if (fcntl(fd, F_FULLFSYNC, 0)) throwFromErrno("Cannot fcntl(F_FULLFSYNC)", ErrorCodes::CANNOT_FSYNC); @@ -40,6 +52,8 @@ LocalDirectorySyncGuard::~LocalDirectorySyncGuard() #endif if (-1 == ::close(fd)) throw Exception("Cannot close file", ErrorCodes::CANNOT_CLOSE_FILE); + + ProfileEvents::increment(ProfileEvents::DirectorySyncElapsedMicroseconds, watch.elapsedMicroseconds()); } catch (...) { diff --git a/src/Disks/ObjectStorages/AzureBlobStorage/AzureBlobStorageAuth.cpp b/src/Disks/ObjectStorages/AzureBlobStorage/AzureBlobStorageAuth.cpp index 3dcdd47826f..590433e91e5 100644 --- a/src/Disks/ObjectStorages/AzureBlobStorage/AzureBlobStorageAuth.cpp +++ b/src/Disks/ObjectStorages/AzureBlobStorage/AzureBlobStorageAuth.cpp @@ -5,6 +5,7 @@ #include #include #include +#include using namespace Azure::Storage::Blobs; diff --git a/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.cpp b/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.cpp index 4ea7c609a51..1726f4eeed7 100644 --- a/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.cpp +++ b/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.cpp @@ -2,13 +2,15 @@ #if USE_AZURE_BLOB_STORAGE -#include -#include +#include +#include +#include #include #include #include + namespace DB { @@ -21,24 +23,27 @@ namespace ErrorCodes AzureObjectStorage::AzureObjectStorage( - FileCachePtr && cache_, const String & name_, AzureClientPtr && client_, SettingsPtr && settings_) - : IObjectStorage(std::move(cache_)) - , name(name_) + : name(name_) , client(std::move(client_)) , settings(std::move(settings_)) { } -bool AzureObjectStorage::exists(const std::string & uri) const +std::string AzureObjectStorage::generateBlobNameForPath(const std::string & /* path */) +{ + return getRandomASCIIString(); +} + +bool AzureObjectStorage::exists(const StoredObject & object) const { auto client_ptr = client.get(); /// What a shame, no Exists method... Azure::Storage::Blobs::ListBlobsOptions options; - options.Prefix = uri; + options.Prefix = object.absolute_path; options.PageSizeHint = 1; auto blobs_list_response = client_ptr->ListBlobs(options); @@ -46,15 +51,15 @@ bool AzureObjectStorage::exists(const std::string & uri) const for (const auto & blob : blobs_list) { - if (uri == blob.Name) + if (object.absolute_path == blob.Name) return true; } return false; } -std::unique_ptr AzureObjectStorage::readObject( /// NOLINT - const std::string & path, +std::unique_ptr AzureObjectStorage::readObject( /// NOLINT + const StoredObject & object, const ReadSettings & read_settings, std::optional, std::optional) const @@ -62,26 +67,42 @@ std::unique_ptr AzureObjectStorage::readObject( /// NOLINT auto settings_ptr = settings.get(); return std::make_unique( - client.get(), path, settings_ptr->max_single_read_retries, - settings_ptr->max_single_download_retries, read_settings.remote_fs_buffer_size); + client.get(), object.absolute_path, patchSettings(read_settings), settings_ptr->max_single_read_retries, + settings_ptr->max_single_download_retries); } std::unique_ptr AzureObjectStorage::readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const StoredObjects & objects, const ReadSettings & read_settings, std::optional, std::optional) const { + ReadSettings disk_read_settings = patchSettings(read_settings); auto settings_ptr = settings.get(); - auto reader_impl = std::make_unique( - client.get(), common_path_prefix, blobs_to_read, - settings_ptr->max_single_read_retries, settings_ptr->max_single_download_retries, read_settings); - if (read_settings.remote_fs_method == RemoteFSReadMethod::threadpool) + auto read_buffer_creator = + [this, settings_ptr, disk_read_settings] + (const std::string & path, size_t read_until_position) -> std::shared_ptr + { + return std::make_unique( + client.get(), + path, + disk_read_settings, + settings_ptr->max_single_read_retries, + settings_ptr->max_single_download_retries, + /* use_external_buffer */true, + read_until_position); + }; + + auto reader_impl = std::make_unique( + std::move(read_buffer_creator), + objects, + disk_read_settings); + + if (disk_read_settings.remote_fs_method == RemoteFSReadMethod::threadpool) { auto reader = getThreadPoolReader(); - return std::make_unique(reader, read_settings, std::move(reader_impl)); + return std::make_unique(reader, disk_read_settings, std::move(reader_impl)); } else { @@ -92,26 +113,27 @@ std::unique_ptr AzureObjectStorage::readObjects( /// NOL /// Open the file for write and return WriteBufferFromFileBase object. std::unique_ptr AzureObjectStorage::writeObject( /// NOLINT - const std::string & path, + const StoredObject & object, WriteMode mode, std::optional, FinalizeCallback && finalize_callback, size_t buf_size, - const WriteSettings &) + const WriteSettings & write_settings) { if (mode != WriteMode::Rewrite) throw Exception("Azure storage doesn't support append", ErrorCodes::UNSUPPORTED_METHOD); auto buffer = std::make_unique( client.get(), - path, + object.absolute_path, settings.get()->max_single_part_upload_size, - buf_size); + buf_size, + patchSettings(write_settings)); - return std::make_unique(std::move(buffer), std::move(finalize_callback), path); + return std::make_unique(std::move(buffer), std::move(finalize_callback), object.absolute_path); } -void AzureObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & children) const +void AzureObjectStorage::listPrefix(const std::string & path, RelativePathsWithSize & children) const { auto client_ptr = client.get(); @@ -126,36 +148,37 @@ void AzureObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & } /// Remove file. Throws exception if file doesn't exists or it's a directory. -void AzureObjectStorage::removeObject(const std::string & path) +void AzureObjectStorage::removeObject(const StoredObject & object) { + const auto & path = object.absolute_path; auto client_ptr = client.get(); auto delete_info = client_ptr->DeleteBlob(path); if (!delete_info.Value.Deleted) throw Exception(ErrorCodes::AZURE_BLOB_STORAGE_ERROR, "Failed to delete file in AzureBlob Storage: {}", path); } -void AzureObjectStorage::removeObjects(const std::vector & paths) +void AzureObjectStorage::removeObjects(const StoredObjects & objects) { auto client_ptr = client.get(); - for (const auto & path : paths) + for (const auto & object : objects) { - auto delete_info = client_ptr->DeleteBlob(path); + auto delete_info = client_ptr->DeleteBlob(object.absolute_path); if (!delete_info.Value.Deleted) - throw Exception(ErrorCodes::AZURE_BLOB_STORAGE_ERROR, "Failed to delete file in AzureBlob Storage: {}", path); + throw Exception(ErrorCodes::AZURE_BLOB_STORAGE_ERROR, "Failed to delete file in AzureBlob Storage: {}", object.absolute_path); } } -void AzureObjectStorage::removeObjectIfExists(const std::string & path) +void AzureObjectStorage::removeObjectIfExists(const StoredObject & object) { auto client_ptr = client.get(); - auto delete_info = client_ptr->DeleteBlob(path); + auto delete_info = client_ptr->DeleteBlob(object.absolute_path); } -void AzureObjectStorage::removeObjectsIfExist(const std::vector & paths) +void AzureObjectStorage::removeObjectsIfExist(const StoredObjects & objects) { auto client_ptr = client.get(); - for (const auto & path : paths) - auto delete_info = client_ptr->DeleteBlob(path); + for (const auto & object : objects) + auto delete_info = client_ptr->DeleteBlob(object.absolute_path); } @@ -177,13 +200,14 @@ ObjectMetadata AzureObjectStorage::getObjectMetadata(const std::string & path) c } void AzureObjectStorage::copyObject( /// NOLINT - const std::string & object_from, - const std::string & object_to, + const StoredObject & object_from, + const StoredObject & object_to, std::optional object_to_attributes) { auto client_ptr = client.get(); - auto dest_blob_client = client_ptr->GetBlobClient(object_to); - auto source_blob_client = client_ptr->GetBlobClient(object_from); + auto dest_blob_client = client_ptr->GetBlobClient(object_to.absolute_path); + auto source_blob_client = client_ptr->GetBlobClient(object_from.absolute_path); + Azure::Storage::Blobs::CopyBlobFromUriOptions copy_options; if (object_to_attributes.has_value()) { @@ -198,7 +222,7 @@ void AzureObjectStorage::applyNewSettings(const Poco::Util::AbstractConfiguratio { auto new_settings = getAzureBlobStorageSettings(config, config_prefix, context); settings.set(std::move(new_settings)); - + applyRemoteThrottlingSettings(context); /// We don't update client } @@ -206,7 +230,6 @@ void AzureObjectStorage::applyNewSettings(const Poco::Util::AbstractConfiguratio std::unique_ptr AzureObjectStorage::cloneObjectStorage(const std::string &, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) { return std::make_unique( - nullptr, name, getAzureBlobContainerClient(config, config_prefix), getAzureBlobStorageSettings(config, config_prefix, context) diff --git a/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.h b/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.h index 37c3ba72ed9..8564e2dcd36 100644 --- a/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.h +++ b/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.h @@ -10,7 +10,11 @@ #include #include #include +#include +#if USE_AZURE_BLOB_STORAGE +#include +#endif namespace DB { @@ -45,61 +49,73 @@ public: using SettingsPtr = std::unique_ptr; AzureObjectStorage( - FileCachePtr && cache_, const String & name_, AzureClientPtr && client_, SettingsPtr && settings_); - bool exists(const std::string & uri) const override; + std::string getName() const override { return "AzureObjectStorage"; } - std::unique_ptr readObject( /// NOLINT - const std::string & path, + bool exists(const StoredObject & object) const override; + + std::unique_ptr readObject( /// NOLINT + const StoredObject & object, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const override; std::unique_ptr readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const StoredObjects & objects, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const override; /// Open the file for write and return WriteBufferFromFileBase object. std::unique_ptr writeObject( /// NOLINT - const std::string & path, + const StoredObject & object, WriteMode mode, std::optional attributes = {}, FinalizeCallback && finalize_callback = {}, size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, const WriteSettings & write_settings = {}) override; - void listPrefix(const std::string & path, BlobsPathToSize & children) const override; + void listPrefix(const std::string & path, RelativePathsWithSize & children) const override; + /// Remove file. Throws exception if file doesn't exists or it's a directory. - void removeObject(const std::string & path) override; + void removeObject(const StoredObject & object) override; - void removeObjects(const std::vector & paths) override; + void removeObjects(const StoredObjects & objects) override; - void removeObjectIfExists(const std::string & path) override; + void removeObjectIfExists(const StoredObject & object) override; - void removeObjectsIfExist(const std::vector & paths) override; + void removeObjectsIfExist(const StoredObjects & objects) override; ObjectMetadata getObjectMetadata(const std::string & path) const override; void copyObject( /// NOLINT - const std::string & object_from, - const std::string & object_to, + const StoredObject & object_from, + const StoredObject & object_to, std::optional object_to_attributes = {}) override; void shutdown() override {} void startup() override {} - void applyNewSettings(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + void applyNewSettings( + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; String getObjectsNamespace() const override { return ""; } - std::unique_ptr cloneObjectStorage(const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + std::unique_ptr cloneObjectStorage( + const std::string & new_namespace, + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; + + std::string generateBlobNameForPath(const std::string & path) override; + + bool isRemote() const override { return true; } private: const String name; diff --git a/src/Disks/ObjectStorages/AzureBlobStorage/registerDiskAzureBlobStorage.cpp b/src/Disks/ObjectStorages/AzureBlobStorage/registerDiskAzureBlobStorage.cpp index 92ba6e426b3..dc70008649e 100644 --- a/src/Disks/ObjectStorages/AzureBlobStorage/registerDiskAzureBlobStorage.cpp +++ b/src/Disks/ObjectStorages/AzureBlobStorage/registerDiskAzureBlobStorage.cpp @@ -5,12 +5,14 @@ #if USE_AZURE_BLOB_STORAGE #include -#include + #include #include #include #include +#include +#include namespace DB { @@ -72,9 +74,7 @@ void registerDiskAzureBlobStorage(DiskFactory & factory) { auto [metadata_path, metadata_disk] = prepareForLocalMetadata(name, config, config_prefix, context); - /// FIXME Cache currently unsupported :( ObjectStoragePtr azure_object_storage = std::make_unique( - nullptr, name, getAzureBlobContainerClient(config, config_prefix), getAzureBlobStorageSettings(config, config_prefix, context)); @@ -82,11 +82,13 @@ void registerDiskAzureBlobStorage(DiskFactory & factory) uint64_t copy_thread_pool_size = config.getUInt(config_prefix + ".thread_pool_size", 16); bool send_metadata = config.getBool(config_prefix + ".send_metadata", false); + auto metadata_storage = std::make_shared(metadata_disk, ""); + std::shared_ptr azure_blob_storage_disk = std::make_shared( name, /* no namespaces */"", "DiskAzureBlobStorage", - metadata_disk, + std::move(metadata_storage), std::move(azure_object_storage), DiskType::AzureBlobStorage, send_metadata, @@ -101,6 +103,8 @@ void registerDiskAzureBlobStorage(DiskFactory & factory) checkRemoveAccess(*azure_blob_storage_disk); } + azure_blob_storage_disk->startup(context); + #ifdef NDEBUG bool use_cache = true; #else @@ -108,17 +112,14 @@ void registerDiskAzureBlobStorage(DiskFactory & factory) /// read buffer. bool use_cache = false; #endif - - azure_blob_storage_disk->startup(context); - if (config.getBool(config_prefix + ".cache_enabled", use_cache)) { String cache_path = config.getString(config_prefix + ".cache_path", context->getPath() + "disks/" + name + "/cache/"); azure_blob_storage_disk = wrapWithCache(azure_blob_storage_disk, "azure-blob-storage-cache", cache_path, metadata_path); } - return std::make_shared(azure_blob_storage_disk); }; + factory.registerDiskType("azure_blob_storage", creator); } diff --git a/src/Disks/ObjectStorages/DiskObjectStorage.cpp b/src/Disks/ObjectStorages/DiskObjectStorage.cpp index 208e05fa1bc..0849a3f09e3 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorage.cpp +++ b/src/Disks/ObjectStorages/DiskObjectStorage.cpp @@ -1,4 +1,5 @@ #include +#include #include #include @@ -8,14 +9,14 @@ #include #include #include -#include -#include -#include #include #include #include -#include +#include +#include +#include #include +#include namespace DB { @@ -23,19 +24,11 @@ namespace DB namespace ErrorCodes { extern const int INCORRECT_DISK_INDEX; - extern const int UNKNOWN_FORMAT; - extern const int FILE_ALREADY_EXISTS; extern const int FILE_DOESNT_EXIST; - extern const int BAD_FILE_TYPE; extern const int ATTEMPT_TO_READ_AFTER_EOF; extern const int CANNOT_READ_ALL_DATA; } -static String revisionToString(UInt64 revision) -{ - return std::bitset<64>(revision).to_string(); -} - namespace { @@ -85,94 +78,53 @@ private: } +DiskTransactionPtr DiskObjectStorage::createTransaction() +{ + return std::make_shared(*this); +} + +DiskTransactionPtr DiskObjectStorage::createObjectStorageTransaction() +{ + return std::make_shared( + *object_storage, + *metadata_storage, + send_metadata ? metadata_helper.get() : nullptr); +} + DiskObjectStorage::DiskObjectStorage( const String & name_, - const String & remote_fs_root_path_, + const String & object_storage_root_path_, const String & log_name, - DiskPtr metadata_disk_, - ObjectStoragePtr && object_storage_, + MetadataStoragePtr metadata_storage_, + ObjectStoragePtr object_storage_, DiskType disk_type_, bool send_metadata_, - uint64_t thread_pool_size) - : IDisk(std::make_unique(log_name, thread_pool_size)) + uint64_t thread_pool_size_) + : IDisk(std::make_unique(log_name, thread_pool_size_)) , name(name_) - , remote_fs_root_path(remote_fs_root_path_) - , log (&Poco::Logger::get(log_name)) - , metadata_disk(metadata_disk_) + , object_storage_root_path(object_storage_root_path_) + , log (&Poco::Logger::get("DiskObjectStorage(" + log_name + ")")) , disk_type(disk_type_) + , metadata_storage(std::move(metadata_storage_)) , object_storage(std::move(object_storage_)) , send_metadata(send_metadata_) - , metadata_helper(std::make_unique(this, ReadSettings{})) + , threadpool_size(thread_pool_size_) + , metadata_helper(std::make_unique(this, ReadSettings{})) {} -DiskObjectStorage::Metadata DiskObjectStorage::readMetadataUnlocked(const String & path, std::shared_lock &) const +StoredObjects DiskObjectStorage::getStorageObjects(const String & local_path) const { - return Metadata::readMetadata(remote_fs_root_path, metadata_disk, path); + return metadata_storage->getStorageObjects(local_path); } - -DiskObjectStorage::Metadata DiskObjectStorage::readMetadata(const String & path) const -{ - std::shared_lock lock(metadata_mutex); - return readMetadataUnlocked(path, lock); -} - -DiskObjectStorage::Metadata DiskObjectStorage::readUpdateAndStoreMetadata(const String & path, bool sync, DiskObjectStorage::MetadataUpdater updater) -{ - std::unique_lock lock(metadata_mutex); - return Metadata::readUpdateAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync, updater); -} - - -void DiskObjectStorage::readUpdateStoreMetadataAndRemove(const String & path, bool sync, DiskObjectStorage::MetadataUpdater updater) -{ - std::unique_lock lock(metadata_mutex); - Metadata::readUpdateStoreMetadataAndRemove(remote_fs_root_path, metadata_disk, path, sync, updater); -} - -DiskObjectStorage::Metadata DiskObjectStorage::readOrCreateUpdateAndStoreMetadata(const String & path, WriteMode mode, bool sync, DiskObjectStorage::MetadataUpdater updater) -{ - if (mode == WriteMode::Rewrite || !metadata_disk->exists(path)) - { - std::unique_lock lock(metadata_mutex); - return Metadata::createUpdateAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync, updater); - } - else - { - return Metadata::readUpdateAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync, updater); - } -} - -DiskObjectStorage::Metadata DiskObjectStorage::createAndStoreMetadata(const String & path, bool sync) -{ - return Metadata::createAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync); -} - -DiskObjectStorage::Metadata DiskObjectStorage::createUpdateAndStoreMetadata(const String & path, bool sync, DiskObjectStorage::MetadataUpdater updater) -{ - return Metadata::createUpdateAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync, updater); -} - -std::vector DiskObjectStorage::getRemotePaths(const String & local_path) const -{ - auto metadata = readMetadata(local_path); - - std::vector remote_paths; - for (const auto & [remote_path, _] : metadata.remote_fs_objects) - remote_paths.push_back(fs::path(metadata.remote_fs_root_path) / remote_path); - - return remote_paths; - -} - -void DiskObjectStorage::getRemotePathsRecursive(const String & local_path, std::vector & paths_map) +void DiskObjectStorage::getRemotePathsRecursive(const String & local_path, std::vector & paths_map) { /// Protect against concurrent delition of files (for example because of a merge). - if (metadata_disk->isFile(local_path)) + if (metadata_storage->isFile(local_path)) { try { - paths_map.emplace_back(local_path, getRemotePaths(local_path)); + paths_map.emplace_back(local_path, getStorageObjects(local_path)); } catch (const Exception & e) { @@ -188,7 +140,7 @@ void DiskObjectStorage::getRemotePathsRecursive(const String & local_path, std:: } else { - DiskDirectoryIteratorPtr it; + DirectoryIteratorPtr it; try { it = iterateDirectory(local_path); @@ -216,30 +168,30 @@ void DiskObjectStorage::getRemotePathsRecursive(const String & local_path, std:: bool DiskObjectStorage::exists(const String & path) const { - return metadata_disk->exists(path); + return metadata_storage->exists(path); } bool DiskObjectStorage::isFile(const String & path) const { - return metadata_disk->isFile(path); + return metadata_storage->isFile(path); } void DiskObjectStorage::createFile(const String & path) { - createAndStoreMetadata(path, false); + auto transaction = createObjectStorageTransaction(); + transaction->createFile(path); + transaction->commit(); } size_t DiskObjectStorage::getFileSize(const String & path) const { - return readMetadata(path).total_size; + return metadata_storage->getFileSize(path); } void DiskObjectStorage::moveFile(const String & from_path, const String & to_path, bool should_send_metadata) { - if (exists(to_path)) - throw Exception("File already exists: " + to_path, ErrorCodes::FILE_ALREADY_EXISTS); if (should_send_metadata) { @@ -253,10 +205,9 @@ void DiskObjectStorage::moveFile(const String & from_path, const String & to_pat metadata_helper->createFileOperationObject("rename", revision, object_metadata); } - { - std::unique_lock lock(metadata_mutex); - metadata_disk->moveFile(from_path, to_path); - } + auto transaction = createObjectStorageTransaction(); + transaction->moveFile(from_path, to_path); + transaction->commit(); } void DiskObjectStorage::moveFile(const String & from_path, const String & to_path) @@ -268,10 +219,9 @@ void DiskObjectStorage::replaceFile(const String & from_path, const String & to_ { if (exists(to_path)) { - const String tmp_path = to_path + ".old"; - moveFile(to_path, tmp_path); - moveFile(from_path, to_path); - removeFile(tmp_path); + auto transaction = createObjectStorageTransaction(); + transaction->replaceFile(from_path, to_path); + transaction->commit(); } else moveFile(from_path, to_path); @@ -279,66 +229,41 @@ void DiskObjectStorage::replaceFile(const String & from_path, const String & to_ void DiskObjectStorage::removeSharedFile(const String & path, bool delete_metadata_only) { - std::vector paths_to_remove; - removeMetadata(path, paths_to_remove); - - if (!delete_metadata_only) - removeFromRemoteFS(paths_to_remove); -} - -void DiskObjectStorage::removeFromRemoteFS(const std::vector & paths) -{ - object_storage->removeObjects(paths); + auto transaction = createObjectStorageTransaction(); + transaction->removeSharedFile(path, delete_metadata_only); + transaction->commit(); } UInt32 DiskObjectStorage::getRefCount(const String & path) const { - return readMetadata(path).ref_count; + return metadata_storage->getHardlinkCount(path); } std::unordered_map DiskObjectStorage::getSerializedMetadata(const std::vector & file_paths) const { - std::unordered_map metadatas; - - std::shared_lock lock(metadata_mutex); - - for (const auto & path : file_paths) - { - DiskObjectStorage::Metadata metadata = readMetadataUnlocked(path, lock); - metadata.ref_count = 0; - metadatas[path] = metadata.serializeToString(); - } - - return metadatas; + return metadata_storage->getSerializedMetadata(file_paths); } String DiskObjectStorage::getUniqueId(const String & path) const { - LOG_TRACE(log, "Remote path: {}, Path: {}", remote_fs_root_path, path); - auto metadata = readMetadata(path); String id; - if (!metadata.remote_fs_objects.empty()) - id = metadata.remote_fs_root_path + metadata.remote_fs_objects[0].relative_path; + auto blobs_paths = metadata_storage->getStorageObjects(path); + if (!blobs_paths.empty()) + id = blobs_paths[0].absolute_path; return id; } -bool DiskObjectStorage::checkObjectExists(const String & path) const -{ - if (!path.starts_with(remote_fs_root_path)) - return false; - - return object_storage->exists(path); -} - bool DiskObjectStorage::checkUniqueId(const String & id) const { - return checkObjectExists(id); + if (!id.starts_with(object_storage_root_path)) + return false; + + auto object = StoredObject::create(*object_storage, id, {}, true); + return object_storage->exists(object); } void DiskObjectStorage::createHardLink(const String & src_path, const String & dst_path, bool should_send_metadata) { - readUpdateAndStoreMetadata(src_path, false, [](Metadata & metadata) { metadata.ref_count++; return true; }); - if (should_send_metadata && !dst_path.starts_with("shadow/")) { auto revision = metadata_helper->revision_counter + 1; @@ -350,8 +275,9 @@ void DiskObjectStorage::createHardLink(const String & src_path, const String & d metadata_helper->createFileOperationObject("hardlink", revision, object_metadata); } - /// Create FS hardlink to metadata file. - metadata_disk->createHardLink(src_path, dst_path); + auto transaction = createObjectStorageTransaction(); + transaction->createHardLink(src_path, dst_path); + transaction->commit(); } void DiskObjectStorage::createHardLink(const String & src_path, const String & dst_path) @@ -364,49 +290,57 @@ void DiskObjectStorage::setReadOnly(const String & path) { /// We should store read only flag inside metadata file (instead of using FS flag), /// because we modify metadata file when create hard-links from it. - readUpdateAndStoreMetadata(path, false, [](Metadata & metadata) { metadata.read_only = true; return true; }); + auto transaction = createObjectStorageTransaction(); + transaction->setReadOnly(path); + transaction->commit(); } bool DiskObjectStorage::isDirectory(const String & path) const { - return metadata_disk->isDirectory(path); + return metadata_storage->isDirectory(path); } void DiskObjectStorage::createDirectory(const String & path) { - metadata_disk->createDirectory(path); + auto transaction = createObjectStorageTransaction(); + transaction->createDirectory(path); + transaction->commit(); } void DiskObjectStorage::createDirectories(const String & path) { - metadata_disk->createDirectories(path); + auto transaction = createObjectStorageTransaction(); + transaction->createDirectories(path); + transaction->commit(); } void DiskObjectStorage::clearDirectory(const String & path) { - for (auto it = iterateDirectory(path); it->isValid(); it->next()) - if (isFile(it->path())) - removeFile(it->path()); + auto transaction = createObjectStorageTransaction(); + transaction->clearDirectory(path); + transaction->commit(); } void DiskObjectStorage::removeDirectory(const String & path) { - metadata_disk->removeDirectory(path); + auto transaction = createObjectStorageTransaction(); + transaction->removeDirectory(path); + transaction->commit(); } -DiskDirectoryIteratorPtr DiskObjectStorage::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskObjectStorage::iterateDirectory(const String & path) const { - return metadata_disk->iterateDirectory(path); + return metadata_storage->iterateDirectory(path); } -void DiskObjectStorage::listFiles(const String & path, std::vector & file_names) +void DiskObjectStorage::listFiles(const String & path, std::vector & file_names) const { for (auto it = iterateDirectory(path); it->isValid(); it->next()) file_names.push_back(it->name()); @@ -415,86 +349,33 @@ void DiskObjectStorage::listFiles(const String & path, std::vector & fil void DiskObjectStorage::setLastModified(const String & path, const Poco::Timestamp & timestamp) { - metadata_disk->setLastModified(path, timestamp); + auto transaction = createObjectStorageTransaction(); + transaction->setLastModified(path, timestamp); + transaction->commit(); } -Poco::Timestamp DiskObjectStorage::getLastModified(const String & path) +Poco::Timestamp DiskObjectStorage::getLastModified(const String & path) const { - return metadata_disk->getLastModified(path); + return metadata_storage->getLastModified(path); } -void DiskObjectStorage::removeMetadata(const String & path, std::vector & paths_to_remove) +time_t DiskObjectStorage::getLastChanged(const String & path) const { - LOG_TRACE(log, "Remove file by path: {}", backQuote(metadata_disk->getPath() + path)); - - if (!metadata_disk->exists(path)) - throw Exception(ErrorCodes::FILE_DOESNT_EXIST, "Metadata path '{}' doesn't exist", path); - - if (!metadata_disk->isFile(path)) - throw Exception(ErrorCodes::BAD_FILE_TYPE, "Path '{}' is not a regular file", path); - - try - { - auto metadata_updater = [&paths_to_remove, this] (Metadata & metadata) - { - if (metadata.ref_count == 0) - { - for (const auto & [remote_fs_object_path, _] : metadata.remote_fs_objects) - { - String object_path = fs::path(remote_fs_root_path) / remote_fs_object_path; - paths_to_remove.push_back(object_path); - object_storage->removeFromCache(object_path); - } - - return false; - } - else /// In other case decrement number of references, save metadata and delete hardlink. - { - --metadata.ref_count; - } - - return true; - }; - - readUpdateStoreMetadataAndRemove(path, false, metadata_updater); - /// If there is no references - delete content from remote FS. - } - catch (const Exception & e) - { - /// If it's impossible to read meta - just remove it from FS. - if (e.code() == ErrorCodes::UNKNOWN_FORMAT) - { - LOG_WARNING(log, - "Metadata file {} can't be read by reason: {}. Removing it forcibly.", - backQuote(path), e.nested() ? e.nested()->message() : e.message()); - - std::unique_lock lock(metadata_mutex); - metadata_disk->removeFile(path); - } - else - throw; - } + return metadata_storage->getLastChanged(path); } - -void DiskObjectStorage::removeMetadataRecursive(const String & path, std::unordered_map> & paths_to_remove) +struct stat DiskObjectStorage::stat(const String & path) const { - checkStackSize(); /// This is needed to prevent stack overflow in case of cyclic symlinks. - - if (metadata_disk->isFile(path)) - { - removeMetadata(path, paths_to_remove[path]); - } - else - { - for (auto it = iterateDirectory(path); it->isValid(); it->next()) - removeMetadataRecursive(it->path(), paths_to_remove); - - metadata_disk->removeDirectory(path); - } + return metadata_storage->stat(path); } +void DiskObjectStorage::chmod(const String & path, mode_t mode) +{ + auto transaction = createObjectStorageTransaction(); + transaction->chmod(path, mode); + transaction->commit(); +} void DiskObjectStorage::shutdown() { @@ -519,40 +400,26 @@ ReservationPtr DiskObjectStorage::reserve(UInt64 bytes) if (!tryReserve(bytes)) return {}; - return std::make_unique(std::static_pointer_cast(shared_from_this()), bytes); + return std::make_unique( + std::static_pointer_cast(shared_from_this()), bytes); } void DiskObjectStorage::removeSharedFileIfExists(const String & path, bool delete_metadata_only) { - std::vector paths_to_remove; - if (metadata_disk->exists(path)) - { - removeMetadata(path, paths_to_remove); - if (!delete_metadata_only) - removeFromRemoteFS(paths_to_remove); - } + auto transaction = createObjectStorageTransaction(); + transaction->removeSharedFileIfExists(path, delete_metadata_only); + transaction->commit(); } -void DiskObjectStorage::removeSharedRecursive(const String & path, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) +void DiskObjectStorage::removeSharedRecursive( + const String & path, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) { - std::unordered_map> paths_to_remove; - removeMetadataRecursive(path, paths_to_remove); - - if (!keep_all_batch_data) - { - std::vector remove_from_remote; - for (auto && [local_path, remote_paths] : paths_to_remove) - { - if (!file_names_remove_metadata_only.contains(fs::path(local_path).filename())) - { - remove_from_remote.insert(remove_from_remote.end(), remote_paths.begin(), remote_paths.end()); - } - } - removeFromRemoteFS(remove_from_remote); - } + auto transaction = createObjectStorageTransaction(); + transaction->removeSharedRecursive(path, keep_all_batch_data, file_names_remove_metadata_only); + transaction->commit(); } -std::optional DiskObjectStorage::tryReserve(UInt64 bytes) +std::optional DiskObjectStorage::tryReserve(UInt64 bytes) { std::lock_guard lock(reservation_mutex); @@ -578,14 +445,35 @@ std::optional DiskObjectStorage::tryReserve(UInt64 bytes) return {}; } +bool DiskObjectStorage::supportsCache() const +{ + return object_storage->supportsCache(); +} + +DiskObjectStoragePtr DiskObjectStorage::createDiskObjectStorage(const String & name_) +{ + return std::make_shared( + name_, + object_storage_root_path, + name, + metadata_storage, + object_storage, + disk_type, + send_metadata, + threadpool_size); +} + std::unique_ptr DiskObjectStorage::readFile( const String & path, const ReadSettings & settings, std::optional read_hint, std::optional file_size) const { - auto metadata = readMetadata(path); - return object_storage->readObjects(remote_fs_root_path, metadata.remote_fs_objects, settings, read_hint, file_size); + return object_storage->readObjects( + metadata_storage->getStorageObjects(path), + settings, + read_hint, + file_size); } std::unique_ptr DiskObjectStorage::writeFile( @@ -594,34 +482,16 @@ std::unique_ptr DiskObjectStorage::writeFile( WriteMode mode, const WriteSettings & settings) { - auto blob_name = getRandomASCIIString(); + LOG_TEST(log, "Write file: {}", path); - std::optional object_attributes; - if (send_metadata) - { - auto revision = metadata_helper->revision_counter + 1; - metadata_helper->revision_counter++; - object_attributes = { - {"path", path} - }; - blob_name = "r" + revisionToString(revision) + "-file-" + blob_name; - } + auto transaction = createObjectStorageTransaction(); + auto result = transaction->writeFile(path, buf_size, mode, settings); - auto create_metadata_callback = [this, path, blob_name, mode] (size_t count) - { - readOrCreateUpdateAndStoreMetadata(path, mode, false, - [blob_name, count] (DiskObjectStorage::Metadata & metadata) { metadata.addObject(blob_name, count); return true; }); - }; - - /// We always use mode Rewrite because we simulate append using metadata and different files - return object_storage->writeObject( - fs::path(remote_fs_root_path) / blob_name, WriteMode::Rewrite, object_attributes, - std::move(create_metadata_callback), - buf_size, settings); + return result; } - -void DiskObjectStorage::applyNewSettings(const Poco::Util::AbstractConfiguration & config, ContextPtr context_, const String &, const DisksMap &) +void DiskObjectStorage::applyNewSettings( + const Poco::Util::AbstractConfiguration & config, ContextPtr context_, const String &, const DisksMap &) { const auto config_prefix = "storage_configuration.disks." + name; object_storage->applyNewSettings(config, config_prefix, context_); @@ -630,13 +500,15 @@ void DiskObjectStorage::applyNewSettings(const Poco::Util::AbstractConfiguration exec->setMaxThreads(config.getInt(config_prefix + ".thread_pool_size", 16)); } -void DiskObjectStorage::restoreMetadataIfNeeded(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) +void DiskObjectStorage::restoreMetadataIfNeeded( + const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) { if (send_metadata) { metadata_helper->restore(config, config_prefix, context); - if (metadata_helper->readSchemaVersion(object_storage.get(), remote_fs_root_path) < DiskObjectStorageMetadataHelper::RESTORABLE_SCHEMA_VERSION) + auto current_schema_version = metadata_helper->readSchemaVersion(object_storage.get(), object_storage_root_path); + if (current_schema_version < DiskObjectStorageRemoteMetadataRestoreHelper::RESTORABLE_SCHEMA_VERSION) metadata_helper->migrateToRestorableSchema(); metadata_helper->findLastRevision(); diff --git a/src/Disks/ObjectStorages/DiskObjectStorage.h b/src/Disks/ObjectStorages/DiskObjectStorage.h index e7e8869bff0..ad9f744f92e 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorage.h +++ b/src/Disks/ObjectStorages/DiskObjectStorage.h @@ -2,8 +2,10 @@ #include #include -#include -#include +#include +#include +#include +#include #include namespace CurrentMetrics @@ -23,18 +25,21 @@ class DiskObjectStorage : public IDisk { friend class DiskObjectStorageReservation; -friend class DiskObjectStorageMetadataHelper; +friend class DiskObjectStorageRemoteMetadataRestoreHelper; public: DiskObjectStorage( const String & name_, - const String & remote_fs_root_path_, + const String & object_storage_root_path_, const String & log_name, - DiskPtr metadata_disk_, - ObjectStoragePtr && object_storage_, + MetadataStoragePtr metadata_storage_, + ObjectStoragePtr object_storage_, DiskType disk_type_, bool send_metadata_, - uint64_t thread_pool_size); + uint64_t thread_pool_size_); + + /// Create fake transaction + DiskTransactionPtr createTransaction() override; DiskType getType() const override { return disk_type; } @@ -42,36 +47,19 @@ public: bool supportParallelWrite() const override { return true; } - using Metadata = DiskObjectStorageMetadata; - using MetadataUpdater = std::function; - const String & getName() const override { return name; } - const String & getPath() const override { return metadata_disk->getPath(); } + const String & getPath() const override { return metadata_storage->getPath(); } - std::vector getRemotePaths(const String & local_path) const override; + StoredObjects getStorageObjects(const String & local_path) const override; - void getRemotePathsRecursive(const String & local_path, std::vector & paths_map) override; + void getRemotePathsRecursive(const String & local_path, std::vector & paths_map) override; std::string getCacheBasePath() const override { return object_storage->getCacheBasePath(); } - /// Methods for working with metadata. For some operations (like hardlink - /// creation) metadata can be updated concurrently from multiple threads - /// (file actually rewritten on disk). So additional RW lock is required for - /// metadata read and write, but not for create new metadata. - Metadata readMetadata(const String & path) const; - Metadata readMetadataUnlocked(const String & path, std::shared_lock &) const; - Metadata readUpdateAndStoreMetadata(const String & path, bool sync, MetadataUpdater updater); - void readUpdateStoreMetadataAndRemove(const String & path, bool sync, MetadataUpdater updater); - - Metadata readOrCreateUpdateAndStoreMetadata(const String & path, WriteMode mode, bool sync, MetadataUpdater updater); - - Metadata createAndStoreMetadata(const String & path, bool sync); - Metadata createUpdateAndStoreMetadata(const String & path, bool sync, MetadataUpdater updater); - UInt64 getTotalSpace() const override { return std::numeric_limits::max(); } UInt64 getAvailableSpace() const override { return std::numeric_limits::max(); } @@ -106,9 +94,7 @@ public: void removeSharedRecursive(const String & path, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; - void removeFromRemoteFS(const std::vector & paths); - - DiskPtr getMetadataDiskIfExistsOrSelf() override { return metadata_disk; } + MetadataStoragePtr getMetadataStorage() override { return metadata_storage; } UInt32 getRefCount(const String & path) const override; @@ -119,13 +105,12 @@ public: String getUniqueId(const String & path) const override; - bool checkObjectExists(const String & path) const; bool checkUniqueId(const String & id) const override; void createHardLink(const String & src_path, const String & dst_path) override; void createHardLink(const String & src_path, const String & dst_path, bool should_send_metadata); - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; void setReadOnly(const String & path) override; @@ -141,11 +126,13 @@ public: void removeDirectory(const String & path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void setLastModified(const String & path, const Poco::Timestamp & timestamp) override; - Poco::Timestamp getLastModified(const String & path) override; + Poco::Timestamp getLastModified(const String & path) const override; + + time_t getLastChanged(const String & path) const override; bool isRemote() const override { return true; } @@ -176,31 +163,45 @@ public: void syncRevision(UInt64 revision) override; UInt64 getRevision() const override; + + DiskObjectStoragePtr createDiskObjectStorage(const String & name_) override; + + bool supportsCache() const override; + + bool supportsStat() const override { return metadata_storage->supportsStat(); } + struct stat stat(const String & path) const override; + + bool supportsChmod() const override { return metadata_storage->supportsChmod(); } + void chmod(const String & path, mode_t mode) override; + private: + + /// Create actual disk object storage transaction for operations + /// execution. + DiskTransactionPtr createObjectStorageTransaction(); + const String name; - const String remote_fs_root_path; + const String object_storage_root_path; Poco::Logger * log; - DiskPtr metadata_disk; const DiskType disk_type; + MetadataStoragePtr metadata_storage; ObjectStoragePtr object_storage; UInt64 reserved_bytes = 0; UInt64 reservation_count = 0; std::mutex reservation_mutex; - mutable std::shared_mutex metadata_mutex; - void removeMetadata(const String & path, std::vector & paths_to_remove); - - void removeMetadataRecursive(const String & path, std::unordered_map> & paths_to_remove); - std::optional tryReserve(UInt64 bytes); - bool send_metadata; + const bool send_metadata; + size_t threadpool_size; - std::unique_ptr metadata_helper; + std::unique_ptr metadata_helper; }; +using DiskObjectStoragePtr = std::shared_ptr; + class DiskObjectStorageReservation final : public IReservation { public: @@ -223,7 +224,7 @@ public: ~DiskObjectStorageReservation() override; private: - std::shared_ptr disk; + DiskObjectStoragePtr disk; UInt64 size; UInt64 unreserved_space; CurrentMetrics::Increment metric_increment; diff --git a/src/Disks/ObjectStorages/DiskObjectStorageCommon.cpp b/src/Disks/ObjectStorages/DiskObjectStorageCommon.cpp index eb9d7107d39..499791caf94 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageCommon.cpp +++ b/src/Disks/ObjectStorages/DiskObjectStorageCommon.cpp @@ -3,6 +3,7 @@ #include #include #include +#include namespace DB { @@ -73,7 +74,7 @@ FileCachePtr getCachePtrForDisk( FileCacheSettings file_cache_settings; file_cache_settings.loadFromConfig(config, config_prefix); - auto cache = FileCacheFactory::instance().getOrCreate(cache_base_path, file_cache_settings); + auto cache = FileCacheFactory::instance().getOrCreate(cache_base_path, file_cache_settings, name); cache->initialize(); auto * log = &Poco::Logger::get("Disk(" + name + ")"); diff --git a/src/Disks/ObjectStorages/DiskObjectStorageMetadata.cpp b/src/Disks/ObjectStorages/DiskObjectStorageMetadata.cpp index e863d811101..ae03915d944 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageMetadata.cpp +++ b/src/Disks/ObjectStorages/DiskObjectStorageMetadata.cpp @@ -1,7 +1,11 @@ #include +#include +#include #include #include +#include +#include namespace DB { @@ -9,182 +13,82 @@ namespace DB namespace ErrorCodes { extern const int UNKNOWN_FORMAT; - extern const int PATH_ACCESS_DENIED; - extern const int FILE_DOESNT_EXIST; - extern const int ATTEMPT_TO_READ_AFTER_EOF; - extern const int CANNOT_READ_ALL_DATA; - extern const int CANNOT_OPEN_FILE; + extern const int LOGICAL_ERROR; } -DiskObjectStorageMetadata DiskObjectStorageMetadata::readMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_) +void DiskObjectStorageMetadata::deserialize(ReadBuffer & buf) { - DiskObjectStorageMetadata result(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - result.load(); - return result; -} - - -DiskObjectStorageMetadata DiskObjectStorageMetadata::createAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync) -{ - DiskObjectStorageMetadata result(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - result.save(sync); - return result; -} - -DiskObjectStorageMetadata DiskObjectStorageMetadata::readUpdateAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, DiskObjectStorageMetadataUpdater updater) -{ - DiskObjectStorageMetadata result(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - result.load(); - if (updater(result)) - result.save(sync); - return result; -} - -DiskObjectStorageMetadata DiskObjectStorageMetadata::createUpdateAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, DiskObjectStorageMetadataUpdater updater) -{ - DiskObjectStorageMetadata result(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - updater(result); - result.save(sync); - return result; -} - -void DiskObjectStorageMetadata::readUpdateStoreMetadataAndRemove(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, DiskObjectStorageMetadataUpdater updater) -{ - /// Very often we are deleting metadata from some unfinished operation (like fetch of metadata) - /// in this case metadata file can be incomplete/empty and so on. It's ok to remove it in this case - /// because we cannot do anything better. - try - { - DiskObjectStorageMetadata metadata(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - metadata.load(); - if (updater(metadata)) - metadata.save(sync); - - metadata_disk_->removeFile(metadata_file_path_); - } - catch (Exception & ex) - { - /// If we have some broken half-empty file just remove it - if (ex.code() == ErrorCodes::ATTEMPT_TO_READ_AFTER_EOF - || ex.code() == ErrorCodes::CANNOT_READ_ALL_DATA - || ex.code() == ErrorCodes::CANNOT_OPEN_FILE) - { - LOG_INFO(&Poco::Logger::get("ObjectStorageMetadata"), "Failed to read metadata file {} before removal because it's incomplete or empty. " - "It's Ok and can happen after operation interruption (like metadata fetch), so removing as is", metadata_file_path_); - metadata_disk_->removeFile(metadata_file_path_); - } - - /// If file already removed, than nothing to do - if (ex.code() == ErrorCodes::FILE_DOESNT_EXIST) - return; - - throw; - } -} - -DiskObjectStorageMetadata DiskObjectStorageMetadata::createAndStoreMetadataIfNotExists(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, bool overwrite) -{ - if (overwrite || !metadata_disk_->exists(metadata_file_path_)) - { - return createAndStoreMetadata(remote_fs_root_path_, metadata_disk_, metadata_file_path_, sync); - } - else - { - auto result = readMetadata(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - if (result.read_only) - throw Exception("File is read-only: " + metadata_file_path_, ErrorCodes::PATH_ACCESS_DENIED); - return result; - } -} - -void DiskObjectStorageMetadata::load() -{ - const ReadSettings read_settings; - auto buf = metadata_disk->readFile(metadata_file_path, read_settings, 1024); /* reasonable buffer size for small file */ - UInt32 version; - readIntText(version, *buf); + readIntText(version, buf); if (version < VERSION_ABSOLUTE_PATHS || version > VERSION_READ_ONLY_FLAG) throw Exception( ErrorCodes::UNKNOWN_FORMAT, "Unknown metadata file version. Path: {}. Version: {}. Maximum expected version: {}", - metadata_disk->getPath() + metadata_file_path, toString(version), toString(VERSION_READ_ONLY_FLAG)); + common_metadata_path + metadata_file_path, toString(version), toString(VERSION_READ_ONLY_FLAG)); - assertChar('\n', *buf); + assertChar('\n', buf); - UInt32 remote_fs_objects_count; - readIntText(remote_fs_objects_count, *buf); - assertChar('\t', *buf); - readIntText(total_size, *buf); - assertChar('\n', *buf); - remote_fs_objects.resize(remote_fs_objects_count); + UInt32 storage_objects_count; + readIntText(storage_objects_count, buf); + assertChar('\t', buf); + readIntText(total_size, buf); + assertChar('\n', buf); + storage_objects.resize(storage_objects_count); - for (size_t i = 0; i < remote_fs_objects_count; ++i) + for (size_t i = 0; i < storage_objects_count; ++i) { - String remote_fs_object_path; - size_t remote_fs_object_size; - readIntText(remote_fs_object_size, *buf); - assertChar('\t', *buf); - readEscapedString(remote_fs_object_path, *buf); + String object_relative_path; + size_t object_size; + readIntText(object_size, buf); + assertChar('\t', buf); + readEscapedString(object_relative_path, buf); if (version == VERSION_ABSOLUTE_PATHS) { - if (!remote_fs_object_path.starts_with(remote_fs_root_path)) + if (!object_relative_path.starts_with(object_storage_root_path)) throw Exception(ErrorCodes::UNKNOWN_FORMAT, "Path in metadata does not correspond to root path. Path: {}, root path: {}, disk path: {}", - remote_fs_object_path, remote_fs_root_path, metadata_disk->getPath()); + object_relative_path, object_storage_root_path, common_metadata_path); - remote_fs_object_path = remote_fs_object_path.substr(remote_fs_root_path.size()); + object_relative_path = object_relative_path.substr(object_storage_root_path.size()); } - assertChar('\n', *buf); - remote_fs_objects[i].relative_path = remote_fs_object_path; - remote_fs_objects[i].bytes_size = remote_fs_object_size; + assertChar('\n', buf); + + storage_objects[i].relative_path = object_relative_path; + storage_objects[i].bytes_size = object_size; } - readIntText(ref_count, *buf); - assertChar('\n', *buf); + readIntText(ref_count, buf); + assertChar('\n', buf); if (version >= VERSION_READ_ONLY_FLAG) { - readBoolText(read_only, *buf); - assertChar('\n', *buf); + readBoolText(read_only, buf); + assertChar('\n', buf); } } -/// Load metadata by path or create empty if `create` flag is set. -DiskObjectStorageMetadata::DiskObjectStorageMetadata( - const String & remote_fs_root_path_, - DiskPtr metadata_disk_, - const String & metadata_file_path_) - : remote_fs_root_path(remote_fs_root_path_) - , metadata_file_path(metadata_file_path_) - , metadata_disk(metadata_disk_) - , total_size(0), ref_count(0) +void DiskObjectStorageMetadata::deserializeFromString(const std::string & data) { + ReadBufferFromString buf(data); + deserialize(buf); } -void DiskObjectStorageMetadata::addObject(const String & path, size_t size) +void DiskObjectStorageMetadata::serialize(WriteBuffer & buf, bool sync) const { - total_size += size; - remote_fs_objects.emplace_back(path, size); -} - - -void DiskObjectStorageMetadata::saveToBuffer(WriteBuffer & buf, bool sync) -{ - writeIntText(VERSION_RELATIVE_PATHS, buf); + writeIntText(VERSION_READ_ONLY_FLAG, buf); writeChar('\n', buf); - writeIntText(remote_fs_objects.size(), buf); + writeIntText(storage_objects.size(), buf); writeChar('\t', buf); writeIntText(total_size, buf); writeChar('\n', buf); - for (const auto & [remote_fs_object_path, remote_fs_object_size] : remote_fs_objects) + for (const auto & [object_relative_path, object_size] : storage_objects) { - writeIntText(remote_fs_object_size, buf); + writeIntText(object_size, buf); writeChar('\t', buf); - writeEscapedString(remote_fs_object_path, buf); + writeEscapedString(object_relative_path, buf); writeChar('\n', buf); } @@ -197,21 +101,33 @@ void DiskObjectStorageMetadata::saveToBuffer(WriteBuffer & buf, bool sync) buf.finalize(); if (sync) buf.sync(); - } -/// Fsync metadata file if 'sync' flag is set. -void DiskObjectStorageMetadata::save(bool sync) +std::string DiskObjectStorageMetadata::serializeToString() const { - auto buf = metadata_disk->writeFile(metadata_file_path, 1024); - saveToBuffer(*buf, sync); + WriteBufferFromOwnString result; + serialize(result, false); + return result.str(); } -std::string DiskObjectStorageMetadata::serializeToString() +/// Load metadata by path or create empty if `create` flag is set. +DiskObjectStorageMetadata::DiskObjectStorageMetadata( + const std::string & common_metadata_path_, + const String & object_storage_root_path_, + const String & metadata_file_path_) + : common_metadata_path(common_metadata_path_) + , object_storage_root_path(object_storage_root_path_) + , metadata_file_path(metadata_file_path_) { - WriteBufferFromOwnString write_buf; - saveToBuffer(write_buf, false); - return write_buf.str(); +} + +void DiskObjectStorageMetadata::addObject(const String & path, size_t size) +{ + if (!object_storage_root_path.empty() && path.starts_with(object_storage_root_path)) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Expected relative path"); + + total_size += size; + storage_objects.emplace_back(path, size); } diff --git a/src/Disks/ObjectStorages/DiskObjectStorageMetadata.h b/src/Disks/ObjectStorages/DiskObjectStorageMetadata.h index d6e791bd53f..d3ea5795dd3 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageMetadata.h +++ b/src/Disks/ObjectStorages/DiskObjectStorageMetadata.h @@ -1,30 +1,31 @@ #pragma once #include +#include #include namespace DB { + /// Metadata for DiskObjectStorage, stored on local disk struct DiskObjectStorageMetadata { - using Updater = std::function; +private: /// Metadata file version. - static constexpr UInt32 VERSION_ABSOLUTE_PATHS = 1; - static constexpr UInt32 VERSION_RELATIVE_PATHS = 2; - static constexpr UInt32 VERSION_READ_ONLY_FLAG = 3; + static constexpr uint32_t VERSION_ABSOLUTE_PATHS = 1; + static constexpr uint32_t VERSION_RELATIVE_PATHS = 2; + static constexpr uint32_t VERSION_READ_ONLY_FLAG = 3; - /// Remote FS objects paths and their sizes. - std::vector remote_fs_objects; + const std::string & common_metadata_path; - /// URI - const String & remote_fs_root_path; + /// Relative paths of blobs. + RelativePathsWithSize storage_objects; + + const std::string object_storage_root_path; /// Relative path to metadata file on local FS. - const String metadata_file_path; - - DiskPtr metadata_disk; + const std::string metadata_file_path; /// Total size of all remote FS (S3, HDFS) objects. size_t total_size = 0; @@ -33,36 +34,73 @@ struct DiskObjectStorageMetadata /// /// FIXME: Why we are tracking it explicetly, without /// info from filesystem???? - UInt32 ref_count = 0; + uint32_t ref_count = 0; /// Flag indicates that file is read only. bool read_only = false; +public: + DiskObjectStorageMetadata( - const String & remote_fs_root_path_, - DiskPtr metadata_disk_, - const String & metadata_file_path_); + const std::string & common_metadata_path_, + const std::string & object_storage_root_path_, + const std::string & metadata_file_path_); - void addObject(const String & path, size_t size); + void addObject(const std::string & path, size_t size); - static DiskObjectStorageMetadata readMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_); - static DiskObjectStorageMetadata readUpdateAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, Updater updater); - static void readUpdateStoreMetadataAndRemove(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, Updater updater); + void deserialize(ReadBuffer & buf); + void deserializeFromString(const std::string & data); - static DiskObjectStorageMetadata createAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync); - static DiskObjectStorageMetadata createUpdateAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, Updater updater); - static DiskObjectStorageMetadata createAndStoreMetadataIfNotExists(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, bool overwrite); + void serialize(WriteBuffer & buf, bool sync) const; + std::string serializeToString() const; - /// Serialize metadata to string (very same with saveToBuffer) - std::string serializeToString(); + std::string getBlobsCommonPrefix() const + { + return object_storage_root_path; + } + + RelativePathsWithSize getBlobsRelativePaths() const + { + return storage_objects; + } + + bool isReadOnly() const + { + return read_only; + } + + uint32_t getRefCount() const + { + return ref_count; + } + + uint64_t getTotalSizeBytes() const + { + return total_size; + } + + void incrementRefCount() + { + ++ref_count; + } + + void decrementRefCount() + { + --ref_count; + } + + void resetRefCount() + { + ref_count = 0; + } + + void setReadOnly() + { + read_only = true; + } -private: - /// Fsync metadata file if 'sync' flag is set. - void save(bool sync = false); - void saveToBuffer(WriteBuffer & buffer, bool sync); - void load(); }; -using DiskObjectStorageMetadataUpdater = std::function; +using DiskObjectStorageMetadataPtr = std::unique_ptr; } diff --git a/src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.cpp b/src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.cpp similarity index 72% rename from src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.cpp rename to src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.cpp index a36c987db7d..bce8d6cf7d0 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.cpp +++ b/src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.cpp @@ -1,10 +1,13 @@ -#include +#include #include +#include #include #include #include #include +#include #include +#include namespace DB { @@ -21,15 +24,17 @@ static String revisionToString(UInt64 revision) return std::bitset<64>(revision).to_string(); } -void DiskObjectStorageMetadataHelper::createFileOperationObject(const String & operation_name, UInt64 revision, const ObjectAttributes & metadata) const +void DiskObjectStorageRemoteMetadataRestoreHelper::createFileOperationObject( + const String & operation_name, UInt64 revision, const ObjectAttributes & metadata) const { - const String path = disk->remote_fs_root_path + "operations/r" + revisionToString(revision) + operation_log_suffix + "-" + operation_name; - auto buf = disk->object_storage->writeObject(path, WriteMode::Rewrite, metadata); + const String relative_path = "operations/r" + revisionToString(revision) + operation_log_suffix + "-" + operation_name; + StoredObject object(fs::path(disk->object_storage_root_path) / relative_path); + auto buf = disk->object_storage->writeObject(object, WriteMode::Rewrite, metadata); buf->write('0'); buf->finalize(); } -void DiskObjectStorageMetadataHelper::findLastRevision() +void DiskObjectStorageRemoteMetadataRestoreHelper::findLastRevision() { /// Construct revision number from high to low bits. String revision; @@ -40,9 +45,12 @@ void DiskObjectStorageMetadataHelper::findLastRevision() LOG_TRACE(disk->log, "Check object exists with revision prefix {}", revision_prefix); + const auto & object_storage = disk->object_storage; + StoredObject revision_object{disk->object_storage_root_path + "r" + revision_prefix}; + StoredObject revision_operation_object{disk->object_storage_root_path + "operations/r" + revision_prefix}; + /// Check file or operation with such revision prefix exists. - if (disk->object_storage->exists(disk->remote_fs_root_path + "r" + revision_prefix) - || disk->object_storage->exists(disk->remote_fs_root_path + "operations/r" + revision_prefix)) + if (object_storage->exists(revision_object) || object_storage->exists(revision_operation_object)) revision += "1"; else revision += "0"; @@ -51,53 +59,53 @@ void DiskObjectStorageMetadataHelper::findLastRevision() LOG_INFO(disk->log, "Found last revision number {} for disk {}", revision_counter, disk->name); } -int DiskObjectStorageMetadataHelper::readSchemaVersion(IObjectStorage * object_storage, const String & source_path) +int DiskObjectStorageRemoteMetadataRestoreHelper::readSchemaVersion(IObjectStorage * object_storage, const String & source_path) { - const std::string path = source_path + SCHEMA_VERSION_OBJECT; + StoredObject object(fs::path(source_path) / SCHEMA_VERSION_OBJECT); int version = 0; - if (!object_storage->exists(path)) + if (!object_storage->exists(object)) return version; - auto buf = object_storage->readObject(path); + auto buf = object_storage->readObject(object); readIntText(version, *buf); return version; } -void DiskObjectStorageMetadataHelper::saveSchemaVersion(const int & version) const +void DiskObjectStorageRemoteMetadataRestoreHelper::saveSchemaVersion(const int & version) const { - auto path = disk->remote_fs_root_path + SCHEMA_VERSION_OBJECT; + StoredObject object{fs::path(disk->object_storage_root_path) / SCHEMA_VERSION_OBJECT}; - auto buf = disk->object_storage->writeObject(path, WriteMode::Rewrite); + auto buf = disk->object_storage->writeObject(object, WriteMode::Rewrite); writeIntText(version, *buf); buf->finalize(); } -void DiskObjectStorageMetadataHelper::updateObjectMetadata(const String & key, const ObjectAttributes & metadata) const +void DiskObjectStorageRemoteMetadataRestoreHelper::updateObjectMetadata(const String & key, const ObjectAttributes & metadata) const { - disk->object_storage->copyObject(key, key, metadata); + StoredObject object{key}; + disk->object_storage->copyObject(object, object, metadata); } -void DiskObjectStorageMetadataHelper::migrateFileToRestorableSchema(const String & path) const +void DiskObjectStorageRemoteMetadataRestoreHelper::migrateFileToRestorableSchema(const String & path) const { - LOG_TRACE(disk->log, "Migrate file {} to restorable schema", disk->metadata_disk->getPath() + path); + LOG_TRACE(disk->log, "Migrate file {} to restorable schema", disk->metadata_storage->getPath() + path); - auto meta = disk->readMetadata(path); - - for (const auto & [key, _] : meta.remote_fs_objects) + auto objects = disk->metadata_storage->getStorageObjects(path); + for (const auto & object : objects) { ObjectAttributes metadata { {"path", path} }; - updateObjectMetadata(disk->remote_fs_root_path + key, metadata); + updateObjectMetadata(object.absolute_path, metadata); } } -void DiskObjectStorageMetadataHelper::migrateToRestorableSchemaRecursive(const String & path, Futures & results) +void DiskObjectStorageRemoteMetadataRestoreHelper::migrateToRestorableSchemaRecursive(const String & path, Futures & results) { checkStackSize(); /// This is needed to prevent stack overflow in case of cyclic symlinks. - LOG_TRACE(disk->log, "Migrate directory {} to restorable schema", disk->metadata_disk->getPath() + path); + LOG_TRACE(disk->log, "Migrate directory {} to restorable schema", disk->metadata_storage->getPath() + path); bool dir_contains_only_files = true; for (auto it = disk->iterateDirectory(path); it->isValid(); it->next()) @@ -139,7 +147,7 @@ void DiskObjectStorageMetadataHelper::migrateToRestorableSchemaRecursive(const S } -void DiskObjectStorageMetadataHelper::migrateToRestorableSchema() +void DiskObjectStorageRemoteMetadataRestoreHelper::migrateToRestorableSchema() { try { @@ -166,7 +174,7 @@ void DiskObjectStorageMetadataHelper::migrateToRestorableSchema() } } -void DiskObjectStorageMetadataHelper::restore(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) +void DiskObjectStorageRemoteMetadataRestoreHelper::restore(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) { LOG_INFO(disk->log, "Restore operation for disk {} called", disk->name); @@ -179,7 +187,7 @@ void DiskObjectStorageMetadataHelper::restore(const Poco::Util::AbstractConfigur try { RestoreInformation information; - information.source_path = disk->remote_fs_root_path; + information.source_path = disk->object_storage_root_path; information.source_namespace = disk->object_storage->getObjectsNamespace(); readRestoreInformation(information); @@ -193,12 +201,14 @@ void DiskObjectStorageMetadataHelper::restore(const Poco::Util::AbstractConfigur { /// In this case we need to additionally cleanup S3 from objects with later revision. /// Will be simply just restore to different path. - if (information.source_path == disk->remote_fs_root_path && information.revision != LATEST_REVISION) + if (information.source_path == disk->object_storage_root_path && information.revision != LATEST_REVISION) throw Exception("Restoring to the same bucket and path is allowed if revision is latest (0)", ErrorCodes::BAD_ARGUMENTS); /// This case complicates S3 cleanup in case of unsuccessful restore. - if (information.source_path != disk->remote_fs_root_path && disk->remote_fs_root_path.starts_with(information.source_path)) - throw Exception("Restoring to the same bucket is allowed only if source path is not a sub-path of configured path in S3 disk", ErrorCodes::BAD_ARGUMENTS); + if (information.source_path != disk->object_storage_root_path && disk->object_storage_root_path.starts_with(information.source_path)) + throw Exception( + ErrorCodes::BAD_ARGUMENTS, + "Restoring to the same bucket is allowed only if source path is not a sub-path of configured path in S3 disk"); } else { @@ -214,7 +224,7 @@ void DiskObjectStorageMetadataHelper::restore(const Poco::Util::AbstractConfigur LOG_INFO(disk->log, "Removing old metadata..."); - bool cleanup_s3 = information.source_path != disk->remote_fs_root_path; + bool cleanup_s3 = information.source_path != disk->object_storage_root_path; for (const auto & root : data_roots) if (disk->exists(root)) disk->removeSharedRecursive(root + '/', !cleanup_s3, {}); @@ -223,7 +233,9 @@ void DiskObjectStorageMetadataHelper::restore(const Poco::Util::AbstractConfigur restoreFiles(source_object_storage, information); restoreFileOperations(source_object_storage, information); - disk->metadata_disk->removeFile(RESTORE_FILE_NAME); + auto tx = disk->metadata_storage->createTransaction(); + tx->unlinkFile(RESTORE_FILE_NAME); + tx->commit(); saveSchemaVersion(RESTORABLE_SCHEMA_VERSION); @@ -237,20 +249,20 @@ void DiskObjectStorageMetadataHelper::restore(const Poco::Util::AbstractConfigur } } -void DiskObjectStorageMetadataHelper::readRestoreInformation(RestoreInformation & restore_information) /// NOLINT +void DiskObjectStorageRemoteMetadataRestoreHelper::readRestoreInformation(RestoreInformation & restore_information) /// NOLINT { - auto buffer = disk->metadata_disk->readFile(RESTORE_FILE_NAME, ReadSettings{}, 512); - buffer->next(); + auto metadata_str = disk->metadata_storage->readFileToString(RESTORE_FILE_NAME); + ReadBufferFromString buffer(metadata_str); try { std::map properties; - while (buffer->hasPendingData()) + while (buffer.hasPendingData()) { String property; - readText(property, *buffer); - assertChar('\n', *buffer); + readText(property, buffer); + assertChar('\n', buffer); auto pos = property.find('='); if (pos == std::string::npos || pos == 0 || pos == property.length()) @@ -310,7 +322,7 @@ static std::tuple extractRevisionAndOperationFromKey(const Strin return {(revision_str.empty() ? 0 : static_cast(std::bitset<64>(revision_str).to_ullong())), operation}; } -void DiskObjectStorageMetadataHelper::moveRecursiveOrRemove(const String & from_path, const String & to_path, bool send_metadata) +void DiskObjectStorageRemoteMetadataRestoreHelper::moveRecursiveOrRemove(const String & from_path, const String & to_path, bool send_metadata) { if (disk->exists(to_path)) { @@ -339,29 +351,29 @@ void DiskObjectStorageMetadataHelper::moveRecursiveOrRemove(const String & from_ } } -void DiskObjectStorageMetadataHelper::restoreFiles(IObjectStorage * source_object_storage, const RestoreInformation & restore_information) +void DiskObjectStorageRemoteMetadataRestoreHelper::restoreFiles(IObjectStorage * source_object_storage, const RestoreInformation & restore_information) { LOG_INFO(disk->log, "Starting restore files for disk {}", disk->name); std::vector> results; - auto restore_files = [this, &source_object_storage, &restore_information, &results](const BlobsPathToSize & keys) + auto restore_files = [this, &source_object_storage, &restore_information, &results](const RelativePathsWithSize & objects) { std::vector keys_names; - for (const auto & [key, size] : keys) + for (const auto & object : objects) { - LOG_INFO(disk->log, "Calling restore for key for disk {}", key); + LOG_INFO(disk->log, "Calling restore for key for disk {}", object.relative_path); /// Skip file operations objects. They will be processed separately. - if (key.find("/operations/") != String::npos) + if (object.relative_path.find("/operations/") != String::npos) continue; - const auto [revision, _] = extractRevisionAndOperationFromKey(key); + const auto [revision, _] = extractRevisionAndOperationFromKey(object.relative_path); /// Filter early if it's possible to get revision from key. if (revision > restore_information.revision) continue; - keys_names.push_back(key); + keys_names.push_back(object.relative_path); } if (!keys_names.empty()) @@ -377,7 +389,7 @@ void DiskObjectStorageMetadataHelper::restoreFiles(IObjectStorage * source_objec return true; }; - BlobsPathToSize children; + RelativePathsWithSize children; source_object_storage->listPrefix(restore_information.source_path, children); restore_files(children); @@ -391,7 +403,8 @@ void DiskObjectStorageMetadataHelper::restoreFiles(IObjectStorage * source_objec } -void DiskObjectStorageMetadataHelper::processRestoreFiles(IObjectStorage * source_object_storage, const String & source_path, const std::vector & keys) const +void DiskObjectStorageRemoteMetadataRestoreHelper::processRestoreFiles( + IObjectStorage * source_object_storage, const String & source_path, const std::vector & keys) const { for (const auto & key : keys) { @@ -418,17 +431,16 @@ void DiskObjectStorageMetadataHelper::processRestoreFiles(IObjectStorage * sourc disk->createDirectories(directoryPath(path)); auto relative_key = shrinkKey(source_path, key); + StoredObject object_from{key}; + StoredObject object_to{fs::path(disk->object_storage_root_path) / relative_key}; + /// Copy object if we restore to different bucket / path. - if (source_object_storage->getObjectsNamespace() != disk->object_storage->getObjectsNamespace() || disk->remote_fs_root_path != source_path) - source_object_storage->copyObjectToAnotherObjectStorage(key, disk->remote_fs_root_path + relative_key, *disk->object_storage); + if (source_object_storage->getObjectsNamespace() != disk->object_storage->getObjectsNamespace() || disk->object_storage_root_path != source_path) + source_object_storage->copyObjectToAnotherObjectStorage(object_from, object_to, *disk->object_storage); - auto updater = [relative_key, meta] (DiskObjectStorage::Metadata & metadata) - { - metadata.addObject(relative_key, meta.size_bytes); - return true; - }; - - disk->createUpdateAndStoreMetadata(path, false, updater); + auto tx = disk->metadata_storage->createTransaction(); + tx->addBlobToMetadata(path, relative_key, meta.size_bytes); + tx->commit(); LOG_TRACE(disk->log, "Restored file {}", path); } @@ -438,9 +450,11 @@ void DiskObjectStorageMetadataHelper::processRestoreFiles(IObjectStorage * sourc void DiskObjectStorage::onFreeze(const String & path) { createDirectories(path); - auto revision_file_buf = metadata_disk->writeFile(path + "revision.txt", 32); - writeIntText(metadata_helper->revision_counter.load(), *revision_file_buf); - revision_file_buf->finalize(); + auto tx = metadata_storage->createTransaction(); + WriteBufferFromOwnString revision_file_buf ; + writeIntText(metadata_helper->revision_counter.load(), revision_file_buf); + tx->writeStringToFile(path + "revision.txt", revision_file_buf.str()); + tx->commit(); } static String pathToDetached(const String & source_path) @@ -450,23 +464,24 @@ static String pathToDetached(const String & source_path) return fs::path(source_path).parent_path() / "detached/"; } -void DiskObjectStorageMetadataHelper::restoreFileOperations(IObjectStorage * source_object_storage, const RestoreInformation & restore_information) +void DiskObjectStorageRemoteMetadataRestoreHelper::restoreFileOperations(IObjectStorage * source_object_storage, const RestoreInformation & restore_information) { /// Enable recording file operations if we restore to different bucket / path. - bool send_metadata = source_object_storage->getObjectsNamespace() != disk->object_storage->getObjectsNamespace() || disk->remote_fs_root_path != restore_information.source_path; + bool send_metadata = source_object_storage->getObjectsNamespace() != disk->object_storage->getObjectsNamespace() + || disk->object_storage_root_path != restore_information.source_path; std::set renames; - auto restore_file_operations = [this, &source_object_storage, &restore_information, &renames, &send_metadata](const BlobsPathToSize & keys) + auto restore_file_operations = [this, &source_object_storage, &restore_information, &renames, &send_metadata](const RelativePathsWithSize & objects) { const String rename = "rename"; const String hardlink = "hardlink"; - for (const auto & [key, _]: keys) + for (const auto & object : objects) { - const auto [revision, operation] = extractRevisionAndOperationFromKey(key); + const auto [revision, operation] = extractRevisionAndOperationFromKey(object.relative_path); if (revision == UNKNOWN_REVISION) { - LOG_WARNING(disk->log, "Skip key {} with unknown revision", key); + LOG_WARNING(disk->log, "Skip key {} with unknown revision", object.relative_path); continue; } @@ -479,7 +494,7 @@ void DiskObjectStorageMetadataHelper::restoreFileOperations(IObjectStorage * sou if (send_metadata) revision_counter = revision - 1; - auto object_attributes = *(source_object_storage->getObjectMetadata(key).attributes); + auto object_attributes = *(source_object_storage->getObjectMetadata(object.relative_path).attributes); if (operation == rename) { auto from_path = object_attributes["from_path"]; @@ -523,7 +538,7 @@ void DiskObjectStorageMetadataHelper::restoreFileOperations(IObjectStorage * sou return true; }; - BlobsPathToSize children; + RelativePathsWithSize children; source_object_storage->listPrefix(restore_information.source_path + "operations/", children); restore_file_operations(children); @@ -531,6 +546,7 @@ void DiskObjectStorageMetadataHelper::restoreFileOperations(IObjectStorage * sou { Strings not_finished_prefixes{"tmp_", "delete_tmp_", "attaching_", "deleting_"}; + auto tx = disk->metadata_storage->createTransaction(); for (const auto & path : renames) { /// Skip already detached parts. @@ -557,12 +573,13 @@ void DiskObjectStorageMetadataHelper::restoreFileOperations(IObjectStorage * sou to_path /= from_path.filename(); /// to_path may exist and non-empty in case for example abrupt restart, so remove it before rename - if (disk->metadata_disk->exists(to_path)) - disk->metadata_disk->removeRecursive(to_path); + if (disk->metadata_storage->exists(to_path)) + tx->removeRecursive(to_path); disk->createDirectories(directoryPath(to_path)); - disk->metadata_disk->moveDirectory(from_path, to_path); + tx->moveDirectory(from_path, to_path); } + tx->commit(); } LOG_INFO(disk->log, "File operations restored for disk {}", disk->name); diff --git a/src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.h b/src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.h similarity index 95% rename from src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.h rename to src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.h index 58ef8405a13..19011a04722 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.h +++ b/src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.h @@ -17,13 +17,13 @@ class DiskObjectStorage; /// /// FIXME: this class is very intrusive and use a lot of DiskObjectStorage internals. /// FIXME: it's very complex and unreliable, need to implement something better. -class DiskObjectStorageMetadataHelper +class DiskObjectStorageRemoteMetadataRestoreHelper { public: static constexpr UInt64 LATEST_REVISION = std::numeric_limits::max(); static constexpr UInt64 UNKNOWN_REVISION = 0; - DiskObjectStorageMetadataHelper(DiskObjectStorage * disk_, ReadSettings read_settings_) + DiskObjectStorageRemoteMetadataRestoreHelper(DiskObjectStorage * disk_, ReadSettings read_settings_) : disk(disk_) , read_settings(std::move(read_settings_)) , operation_log_suffix("-" + getFQDNOrHostName()) diff --git a/src/Disks/ObjectStorages/DiskObjectStorageTransaction.cpp b/src/Disks/ObjectStorages/DiskObjectStorageTransaction.cpp new file mode 100644 index 00000000000..7fc3532ed4a --- /dev/null +++ b/src/Disks/ObjectStorages/DiskObjectStorageTransaction.cpp @@ -0,0 +1,684 @@ +#include +#include +#include +#include +#include +#include + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int UNKNOWN_FORMAT; + extern const int ATTEMPT_TO_READ_AFTER_EOF; + extern const int CANNOT_READ_ALL_DATA; + extern const int CANNOT_OPEN_FILE; + extern const int FILE_DOESNT_EXIST; + extern const int BAD_FILE_TYPE; + extern const int FILE_ALREADY_EXISTS; +} + +DiskObjectStorageTransaction::DiskObjectStorageTransaction( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + DiskObjectStorageRemoteMetadataRestoreHelper * metadata_helper_) + : object_storage(object_storage_) + , metadata_storage(metadata_storage_) + , metadata_transaction(metadata_storage.createTransaction()) + , metadata_helper(metadata_helper_) +{} + +namespace +{ +/// Operation which affects only metadata. Simplest way to +/// implement via callback. +struct PureMetadataObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::function on_execute; + + PureMetadataObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + std::function && on_execute_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , on_execute(std::move(on_execute_)) + {} + + void execute(MetadataTransactionPtr transaction) override + { + on_execute(transaction); + } + + void undo() override + { + } + + void finalize() override + { + } + + std::string getInfoForLog() const override { return fmt::format("PureMetadataObjectStorageOperation"); } +}; + +struct RemoveObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::string path; + bool delete_metadata_only; + StoredObjects objects_to_remove; + bool if_exists; + bool remove_from_cache = false; + + RemoveObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & path_, + bool delete_metadata_only_, + bool if_exists_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , path(path_) + , delete_metadata_only(delete_metadata_only_) + , if_exists(if_exists_) + {} + + std::string getInfoForLog() const override + { + return fmt::format("RemoveObjectStorageOperation (path: {}, if exists: {})", path, if_exists); + } + + void execute(MetadataTransactionPtr tx) override + { + if (!metadata_storage.exists(path)) + { + if (if_exists) + return; + + throw Exception(ErrorCodes::FILE_DOESNT_EXIST, "Metadata path '{}' doesn't exist", path); + } + + if (!metadata_storage.isFile(path)) + throw Exception(ErrorCodes::BAD_FILE_TYPE, "Path '{}' is not a regular file", path); + + try + { + uint32_t hardlink_count = metadata_storage.getHardlinkCount(path); + auto objects = metadata_storage.getStorageObjects(path); + + tx->unlinkMetadata(path); + + if (hardlink_count == 0) + { + objects_to_remove = objects; + remove_from_cache = true; + } + } + catch (const Exception & e) + { + /// If it's impossible to read meta - just remove it from FS. + if (e.code() == ErrorCodes::UNKNOWN_FORMAT + || e.code() == ErrorCodes::ATTEMPT_TO_READ_AFTER_EOF + || e.code() == ErrorCodes::CANNOT_READ_ALL_DATA + || e.code() == ErrorCodes::CANNOT_OPEN_FILE) + { + tx->unlinkFile(path); + } + else + throw; + } + } + + void undo() override + { + + } + + void finalize() override + { + if (!delete_metadata_only && !objects_to_remove.empty()) + object_storage.removeObjects(objects_to_remove); + + if (remove_from_cache) + { + for (const auto & object : objects_to_remove) + object_storage.removeCacheIfExists(object.getPathKeyForCache()); + } + } +}; + +struct RemoveRecursiveObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::string path; + std::unordered_map objects_to_remove; + bool keep_all_batch_data; + NameSet file_names_remove_metadata_only; + StoredObjects objects_to_remove_from_cache; + + RemoveRecursiveObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & path_, + bool keep_all_batch_data_, + const NameSet & file_names_remove_metadata_only_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , path(path_) + , keep_all_batch_data(keep_all_batch_data_) + , file_names_remove_metadata_only(file_names_remove_metadata_only_) + {} + + std::string getInfoForLog() const override + { + return fmt::format("RemoveRecursiveObjectStorageOperation (path: {})", path); + } + + void removeMetadataRecursive(MetadataTransactionPtr tx, const std::string & path_to_remove) + { + checkStackSize(); /// This is needed to prevent stack overflow in case of cyclic symlinks. + + if (metadata_storage.isFile(path_to_remove)) + { + try + { + uint32_t hardlink_count = metadata_storage.getHardlinkCount(path_to_remove); + auto objects_paths = metadata_storage.getStorageObjects(path_to_remove); + + tx->unlinkMetadata(path_to_remove); + + if (hardlink_count == 0) + { + objects_to_remove[path_to_remove] = objects_paths; + objects_to_remove_from_cache.insert(objects_to_remove_from_cache.end(), objects_paths.begin(), objects_paths.end()); + } + + } + catch (const Exception & e) + { + /// If it's impossible to read meta - just remove it from FS. + if (e.code() == ErrorCodes::UNKNOWN_FORMAT + || e.code() == ErrorCodes::ATTEMPT_TO_READ_AFTER_EOF + || e.code() == ErrorCodes::CANNOT_READ_ALL_DATA + || e.code() == ErrorCodes::CANNOT_OPEN_FILE) + { + tx->unlinkFile(path_to_remove); + } + else + throw; + } + } + else + { + for (auto it = metadata_storage.iterateDirectory(path_to_remove); it->isValid(); it->next()) + removeMetadataRecursive(tx, it->path()); + + tx->removeDirectory(path_to_remove); + } + } + + void execute(MetadataTransactionPtr tx) override + { + removeMetadataRecursive(tx, path); + } + + void undo() override + { + + } + + void finalize() override + { + if (!keep_all_batch_data) + { + StoredObjects remove_from_remote; + for (auto && [local_path, remote_paths] : objects_to_remove) + { + if (!file_names_remove_metadata_only.contains(fs::path(local_path).filename())) + { + remove_from_remote.insert(remove_from_remote.end(), remote_paths.begin(), remote_paths.end()); + } + } + object_storage.removeObjects(remove_from_remote); + } + + for (const auto & object : objects_to_remove_from_cache) + object_storage.removeCacheIfExists(object.getPathKeyForCache()); + } +}; + + +struct ReplaceFileObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::string path_from; + std::string path_to; + StoredObjects objects_to_remove; + + ReplaceFileObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & path_from_, + const std::string & path_to_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , path_from(path_from_) + , path_to(path_to_) + {} + + std::string getInfoForLog() const override + { + return fmt::format("ReplaceFileObjectStorageOperation (path_from: {}, path_to: {})", path_from, path_to); + } + + void execute(MetadataTransactionPtr tx) override + { + if (metadata_storage.exists(path_to)) + { + objects_to_remove = metadata_storage.getStorageObjects(path_to); + tx->replaceFile(path_from, path_to); + } + else + tx->moveFile(path_from, path_to); + } + + void undo() override + { + + } + + void finalize() override + { + if (!objects_to_remove.empty()) + object_storage.removeObjects(objects_to_remove); + } +}; + +struct WriteFileObjectStorageOperation final : public IDiskObjectStorageOperation +{ + StoredObject object; + std::function on_execute; + + WriteFileObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const StoredObject & object_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , object(object_) + {} + + std::string getInfoForLog() const override + { + return fmt::format("WriteFileObjectStorageOperation"); + } + + void setOnExecute(std::function && on_execute_) + { + on_execute = on_execute_; + } + + void execute(MetadataTransactionPtr tx) override + { + if (on_execute) + on_execute(tx); + } + + void undo() override + { + if (object_storage.exists(object)) + object_storage.removeObject(object); + } + + void finalize() override + { + } +}; + + +struct CopyFileObjectStorageOperation final : public IDiskObjectStorageOperation +{ + /// Local paths + std::string from_path; + std::string to_path; + + StoredObjects created_objects; + + CopyFileObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & from_path_, + const std::string & to_path_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , from_path(from_path_) + , to_path(to_path_) + {} + + std::string getInfoForLog() const override + { + return fmt::format("CopyFileObjectStorageOperation (path_from: {}, path_to: {})", from_path, to_path); + } + + void execute(MetadataTransactionPtr tx) override + { + tx->createEmptyMetadataFile(to_path); + auto source_blobs = metadata_storage.getStorageObjects(from_path); /// Full paths + + for (const auto & object_from : source_blobs) + { + std::string blob_name = object_storage.generateBlobNameForPath(to_path); + auto object_to = StoredObject::create( + object_storage, fs::path(metadata_storage.getObjectStorageRootPath()) / blob_name); + + object_storage.copyObject(object_from, object_to); + + tx->addBlobToMetadata(to_path, blob_name, object_from.bytes_size); + + created_objects.push_back(object_to); + } + } + + void undo() override + { + for (const auto & object : created_objects) + object_storage.removeObject(object); + } + + void finalize() override + { + } +}; + +} + +void DiskObjectStorageTransaction::createDirectory(const std::string & path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->createDirectory(path); + })); +} + +void DiskObjectStorageTransaction::createDirectories(const std::string & path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->createDirectoryRecursive(path); + })); +} + + +void DiskObjectStorageTransaction::moveDirectory(const std::string & from_path, const std::string & to_path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [from_path, to_path](MetadataTransactionPtr tx) + { + tx->moveDirectory(from_path, to_path); + })); +} + +void DiskObjectStorageTransaction::moveFile(const String & from_path, const String & to_path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [from_path, to_path, this](MetadataTransactionPtr tx) + { + if (metadata_storage.exists(to_path)) + throw Exception("File already exists: " + to_path, ErrorCodes::FILE_ALREADY_EXISTS); + + if (!metadata_storage.exists(from_path)) + throw Exception(ErrorCodes::FILE_DOESNT_EXIST, "File {} doesn't exist, cannot move", to_path); + + tx->moveFile(from_path, to_path); + })); +} + +void DiskObjectStorageTransaction::replaceFile(const std::string & from_path, const std::string & to_path) +{ + auto operation = std::make_unique(object_storage, metadata_storage, from_path, to_path); + operations_to_execute.emplace_back(std::move(operation)); +} + +void DiskObjectStorageTransaction::clearDirectory(const std::string & path) +{ + for (auto it = metadata_storage.iterateDirectory(path); it->isValid(); it->next()) + { + if (metadata_storage.isFile(it->path())) + removeFile(it->path()); + } +} + +void DiskObjectStorageTransaction::removeFile(const std::string & path) +{ + removeSharedFile(path, false); +} + +void DiskObjectStorageTransaction::removeSharedFile(const std::string & path, bool keep_shared_data) +{ + auto operation = std::make_unique(object_storage, metadata_storage, path, keep_shared_data, false); + operations_to_execute.emplace_back(std::move(operation)); +} + +void DiskObjectStorageTransaction::removeSharedRecursive( + const std::string & path, bool keep_all_shared_data, const NameSet & file_names_remove_metadata_only) +{ + auto operation = std::make_unique( + object_storage, metadata_storage, path, keep_all_shared_data, file_names_remove_metadata_only); + operations_to_execute.emplace_back(std::move(operation)); +} + +void DiskObjectStorageTransaction::removeSharedFileIfExists(const std::string & path, bool keep_shared_data) +{ + auto operation = std::make_unique(object_storage, metadata_storage, path, keep_shared_data, true); + operations_to_execute.emplace_back(std::move(operation)); +} + +void DiskObjectStorageTransaction::removeDirectory(const std::string & path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->removeDirectory(path); + })); +} + + +void DiskObjectStorageTransaction::removeRecursive(const std::string & path) +{ + removeSharedRecursive(path, false, {}); +} + +void DiskObjectStorageTransaction::removeFileIfExists(const std::string & path) +{ + removeSharedFileIfExists(path, false); +} + + +void DiskObjectStorageTransaction::removeSharedFiles( + const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) +{ + for (const auto & file : files) + { + bool keep_file = keep_all_batch_data || file_names_remove_metadata_only.contains(fs::path(file.path).filename()); + if (file.if_exists) + removeSharedFileIfExists(file.path, keep_file); + else + removeSharedFile(file.path, keep_file); + } +} + +namespace +{ + +String revisionToString(UInt64 revision) +{ + return std::bitset<64>(revision).to_string(); +} + +} + +std::unique_ptr DiskObjectStorageTransaction::writeFile( /// NOLINT + const std::string & path, + size_t buf_size, + WriteMode mode, + const WriteSettings & settings, + bool autocommit) +{ + String blob_name; + std::optional object_attributes; + + blob_name = object_storage.generateBlobNameForPath(path); + if (metadata_helper) + { + auto revision = metadata_helper->revision_counter + 1; + metadata_helper->revision_counter++; + object_attributes = { + {"path", path} + }; + blob_name = "r" + revisionToString(revision) + "-file-" + blob_name; + } + + auto object = StoredObject::create(object_storage, fs::path(metadata_storage.getObjectStorageRootPath()) / blob_name); + auto write_operation = std::make_unique(object_storage, metadata_storage, object); + std::function create_metadata_callback; + + if (autocommit) + { + create_metadata_callback = [tx = shared_from_this(), mode, path, blob_name] (size_t count) + { + if (mode == WriteMode::Rewrite) + tx->metadata_transaction->createMetadataFile(path, blob_name, count); + else + tx->metadata_transaction->addBlobToMetadata(path, blob_name, count); + + tx->metadata_transaction->commit(); + }; + } + else + { + create_metadata_callback = [write_op = write_operation.get(), mode, path, blob_name] (size_t count) + { + /// This callback called in WriteBuffer finalize method -- only there we actually know + /// how many bytes were written. We don't control when this finalize method will be called + /// so here we just modify operation itself, but don't execute anything (and don't modify metadata transaction). + /// Otherwise it's possible to get reorder of operations, like: + /// tx->createDirectory(xxx) -- will add metadata operation in execute + /// buf1 = tx->writeFile(xxx/yyy.bin) + /// buf2 = tx->writeFile(xxx/zzz.bin) + /// ... + /// buf1->finalize() // shouldn't do anything with metadata operations, just memoize what to do + /// tx->commit() + write_op->setOnExecute([mode, path, blob_name, count](MetadataTransactionPtr tx) + { + if (mode == WriteMode::Rewrite) + tx->createMetadataFile(path, blob_name, count); + else + tx->addBlobToMetadata(path, blob_name, count); + }); + }; + + } + + operations_to_execute.emplace_back(std::move(write_operation)); + + /// We always use mode Rewrite because we simulate append using metadata and different files + return object_storage.writeObject( + object, + WriteMode::Rewrite, + object_attributes, + std::move(create_metadata_callback), + buf_size, + settings); +} + + +void DiskObjectStorageTransaction::createHardLink(const std::string & src_path, const std::string & dst_path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [src_path, dst_path](MetadataTransactionPtr tx) + { + tx->createHardLink(src_path, dst_path); + })); +} + +void DiskObjectStorageTransaction::setReadOnly(const std::string & path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->setReadOnly(path); + })); +} + +void DiskObjectStorageTransaction::setLastModified(const std::string & path, const Poco::Timestamp & timestamp) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path, timestamp](MetadataTransactionPtr tx) + { + tx->setLastModified(path, timestamp); + })); +} + +void DiskObjectStorageTransaction::chmod(const String & path, mode_t mode) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path, mode](MetadataTransactionPtr tx) + { + tx->chmod(path, mode); + })); +} + +void DiskObjectStorageTransaction::createFile(const std::string & path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->createEmptyMetadataFile(path); + })); +} + +void DiskObjectStorageTransaction::copyFile(const std::string & from_file_path, const std::string & to_file_path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, from_file_path, to_file_path)); +} + +void DiskObjectStorageTransaction::commit() +{ + for (size_t i = 0; i < operations_to_execute.size(); ++i) + { + try + { + operations_to_execute[i]->execute(metadata_transaction); + } + catch (Exception & ex) + { + ex.addMessage(fmt::format("While executing operation #{} ({})", i, operations_to_execute[i]->getInfoForLog())); + + for (int64_t j = i; j >= 0; --j) + { + try + { + operations_to_execute[j]->undo(); + } + catch (Exception & rollback_ex) + { + rollback_ex.addMessage(fmt::format("While undoing operation #{}", i)); + throw; + } + } + throw; + } + } + + try + { + metadata_transaction->commit(); + } + catch (...) + { + for (const auto & operation : operations_to_execute | std::views::reverse) + operation->undo(); + + throw; + } + + for (const auto & operation : operations_to_execute) + operation->finalize(); +} + +} diff --git a/src/Disks/ObjectStorages/DiskObjectStorageTransaction.h b/src/Disks/ObjectStorages/DiskObjectStorageTransaction.h new file mode 100644 index 00000000000..9c42203b613 --- /dev/null +++ b/src/Disks/ObjectStorages/DiskObjectStorageTransaction.h @@ -0,0 +1,119 @@ +#pragma once + +#include +#include +#include + +namespace DB +{ + + +/// Basic operation inside disk object storage transaction. +struct IDiskObjectStorageOperation +{ + /// useful for operations with blobs in object storage + IObjectStorage & object_storage; + /// useful for some read operations + IMetadataStorage & metadata_storage; +public: + IDiskObjectStorageOperation(IObjectStorage & object_storage_, IMetadataStorage & metadata_storage_) + : object_storage(object_storage_) + , metadata_storage(metadata_storage_) + {} + + /// Execute operation and something to metadata transaction + virtual void execute(MetadataTransactionPtr transaction) = 0; + /// Revert operation if possible + virtual void undo() = 0; + /// Action to execute after metadata transaction successfully committed. + /// Useful when it's impossible to revert operation + /// like removal of blobs. Such implementation can lead to garbage. + virtual void finalize() = 0; + virtual ~IDiskObjectStorageOperation() = default; + + virtual std::string getInfoForLog() const = 0; +}; + +using DiskObjectStorageOperation = std::unique_ptr; + +using DiskObjectStorageOperations = std::vector; + + +/// Disk object storage transaction, actually implement some part of disk object storage +/// logic. Works on top of non atomic operations with blobs and possibly atomic implementation +/// of metadata storage. +/// +/// Commit works like: +/// 1. Execute all accumulated operations in loop. +/// 2. Commit metadata transaction. +/// 3. Finalize all accumulated operations in loop. +/// +/// If something wrong happen on step 1 or 2 reverts all applied operations. +/// If finalize failed -- nothing is reverted, garbage is left in blob storage. +struct DiskObjectStorageTransaction final : public IDiskTransaction, std::enable_shared_from_this +{ +private: + IObjectStorage & object_storage; + IMetadataStorage & metadata_storage; + + MetadataTransactionPtr metadata_transaction; + + /// TODO we can get rid of this params + DiskObjectStorageRemoteMetadataRestoreHelper * metadata_helper; + + DiskObjectStorageOperations operations_to_execute; + +public: + DiskObjectStorageTransaction( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + DiskObjectStorageRemoteMetadataRestoreHelper * metadata_helper_); + + void commit() override; + + void createDirectory(const std::string & path) override; + + void createDirectories(const std::string & path) override; + + void clearDirectory(const std::string & path) override; + + void moveDirectory(const std::string & from_path, const std::string & to_path) override; + + void moveFile(const String & from_path, const String & to_path) override; + + void replaceFile(const std::string & from_path, const std::string & to_path) override; + + void createFile(const String & path) override; + + void copyFile(const std::string & from_file_path, const std::string & to_file_path) override; + + /// writeFile is a difficult function for transactions. + /// Now it's almost noop because metadata added to transaction in finalize method + /// of write buffer. Autocommit means that transaction will be immediately committed + /// after returned buffer will be finalized. + std::unique_ptr writeFile( /// NOLINT + const std::string & path, + size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, + WriteMode mode = WriteMode::Rewrite, + const WriteSettings & settings = {}, + bool autocommit = true) override; + + void removeFile(const std::string & path) override; + void removeFileIfExists(const std::string & path) override; + void removeDirectory(const std::string & path) override; + void removeRecursive(const std::string & path) override; + + void removeSharedFile(const std::string & path, bool keep_shared_data) override; + void removeSharedRecursive(const std::string & path, bool keep_all_shared_data, const NameSet & file_names_remove_metadata_only) override; + void removeSharedFileIfExists(const std::string & path, bool keep_shared_data) override; + void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; + + void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) override; + void chmod(const String & path, mode_t mode) override; + void setReadOnly(const std::string & path) override; + void createHardLink(const std::string & src_path, const std::string & dst_path) override; +}; + +using DiskObjectStorageTransactionPtr = std::shared_ptr; + +} diff --git a/src/Disks/ObjectStorages/FakeMetadataStorageFromDisk.cpp b/src/Disks/ObjectStorages/FakeMetadataStorageFromDisk.cpp new file mode 100644 index 00000000000..d1413bd4e88 --- /dev/null +++ b/src/Disks/ObjectStorages/FakeMetadataStorageFromDisk.cpp @@ -0,0 +1,200 @@ +#include "FakeMetadataStorageFromDisk.h" +#include +#include +#include +#include + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int NOT_IMPLEMENTED; +} + +FakeMetadataStorageFromDisk::FakeMetadataStorageFromDisk( + DiskPtr disk_, + ObjectStoragePtr object_storage_, + const std::string & object_storage_root_path_) + : disk(disk_) + , object_storage(object_storage_) + , object_storage_root_path(object_storage_root_path_) +{ +} + +MetadataTransactionPtr FakeMetadataStorageFromDisk::createTransaction() const +{ + return std::make_shared(*this, disk); +} + +const std::string & FakeMetadataStorageFromDisk::getPath() const +{ + return disk->getPath(); +} + +bool FakeMetadataStorageFromDisk::exists(const std::string & path) const +{ + return disk->exists(path); +} + +bool FakeMetadataStorageFromDisk::isFile(const std::string & path) const +{ + return disk->isFile(path); +} + +bool FakeMetadataStorageFromDisk::isDirectory(const std::string & path) const +{ + return disk->isDirectory(path); +} + +Poco::Timestamp FakeMetadataStorageFromDisk::getLastModified(const std::string & path) const +{ + return disk->getLastModified(path); +} + +time_t FakeMetadataStorageFromDisk::getLastChanged(const std::string & path) const +{ + return disk->getLastChanged(path); +} + +uint64_t FakeMetadataStorageFromDisk::getFileSize(const String & path) const +{ + return disk->getFileSize(path); +} + +std::vector FakeMetadataStorageFromDisk::listDirectory(const std::string & path) const +{ + std::vector result; + auto it = disk->iterateDirectory(path); + while (it->isValid()) + { + result.push_back(it->path()); + it->next(); + } + return result; +} + +DirectoryIteratorPtr FakeMetadataStorageFromDisk::iterateDirectory(const std::string & path) const +{ + return disk->iterateDirectory(path); +} + +std::string FakeMetadataStorageFromDisk::readFileToString(const std::string &) const +{ + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "readFileToString is not implemented for FakeMetadataStorageFromDisk"); +} + +std::unordered_map FakeMetadataStorageFromDisk::getSerializedMetadata(const std::vector &) const +{ + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "getSerializedMetadata is not implemented for FakeMetadataStorageFromDisk"); +} + +StoredObjects FakeMetadataStorageFromDisk::getStorageObjects(const std::string & path) const +{ + std::string blob_name = object_storage->generateBlobNameForPath(path); + + std::string object_path = fs::path(object_storage_root_path) / blob_name; + size_t object_size = getFileSize(object_path); + + auto object = StoredObject::create(*object_storage, object_path, object_size); + return {std::move(object)}; +} + +uint32_t FakeMetadataStorageFromDisk::getHardlinkCount(const std::string & path) const +{ + size_t ref_count = disk->getRefCount(path); + assert(ref_count > 0); + return ref_count - 1; +} + +const IMetadataStorage & FakeMetadataStorageFromDiskTransaction::getStorageForNonTransactionalReads() const +{ + return metadata_storage; +} + +void FakeMetadataStorageFromDiskTransaction::writeStringToFile(const std::string & path, const std::string & data) +{ + auto wb = disk->writeFile(path); + wb->write(data.data(), data.size()); + wb->finalize(); +} + +void FakeMetadataStorageFromDiskTransaction::setLastModified(const std::string & path, const Poco::Timestamp & timestamp) +{ + disk->setLastModified(path, timestamp); +} + +void FakeMetadataStorageFromDiskTransaction::unlinkFile(const std::string & path) +{ + disk->removeFile(path); +} + +void FakeMetadataStorageFromDiskTransaction::removeRecursive(const std::string & path) +{ + disk->removeRecursive(path); +} + +void FakeMetadataStorageFromDiskTransaction::createDirectory(const std::string & path) +{ + disk->createDirectory(path); +} + +void FakeMetadataStorageFromDiskTransaction::createDirectoryRecursive(const std::string & path) +{ + disk->createDirectories(path); +} + +void FakeMetadataStorageFromDiskTransaction::removeDirectory(const std::string & path) +{ + disk->removeDirectory(path); +} + +void FakeMetadataStorageFromDiskTransaction::moveFile(const std::string & path_from, const std::string & path_to) +{ + disk->moveFile(path_from, path_to); +} + +void FakeMetadataStorageFromDiskTransaction::moveDirectory(const std::string & path_from, const std::string & path_to) +{ + disk->moveDirectory(path_from, path_to); +} + +void FakeMetadataStorageFromDiskTransaction::replaceFile(const std::string & path_from, const std::string & path_to) +{ + disk->replaceFile(path_from, path_to); +} + +void FakeMetadataStorageFromDiskTransaction::setReadOnly(const std::string & path) +{ + disk->setReadOnly(path); +} + +void FakeMetadataStorageFromDiskTransaction::createHardLink(const std::string & path_from, const std::string & path_to) +{ + disk->createHardLink(path_from, path_to); +} + +void FakeMetadataStorageFromDiskTransaction::createEmptyMetadataFile(const std::string & /* path */) +{ + /// Noop. +} + +void FakeMetadataStorageFromDiskTransaction::createMetadataFile( + const std::string & /* path */, const std::string & /* blob_name */, uint64_t /* size_in_bytes */) +{ + /// Noop. +} + +void FakeMetadataStorageFromDiskTransaction::addBlobToMetadata( + const std::string & /* path */, const std::string & /* blob_name */, uint64_t /* size_in_bytes */) +{ + /// Noop, local metadata files is only one file, it is the metadata file itself. +} + +void FakeMetadataStorageFromDiskTransaction::unlinkMetadata(const std::string & path) +{ + disk->removeFile(path); +} + +} diff --git a/src/Disks/ObjectStorages/FakeMetadataStorageFromDisk.h b/src/Disks/ObjectStorages/FakeMetadataStorageFromDisk.h new file mode 100644 index 00000000000..b1c8340ef1b --- /dev/null +++ b/src/Disks/ObjectStorages/FakeMetadataStorageFromDisk.h @@ -0,0 +1,125 @@ +#pragma once + +#include +#include +#include +#include + + +namespace DB +{ + +class FakeMetadataStorageFromDisk final : public IMetadataStorage +{ +private: + friend class FakeMetadataStorageFromDiskTransaction; + + mutable std::shared_mutex metadata_mutex; + + DiskPtr disk; + ObjectStoragePtr object_storage; + std::string object_storage_root_path; + +public: + FakeMetadataStorageFromDisk( + DiskPtr disk_, + ObjectStoragePtr object_storage_, + const std::string & object_storage_root_path_); + + MetadataTransactionPtr createTransaction() const override; + + const std::string & getPath() const override; + + bool exists(const std::string & path) const override; + + bool isFile(const std::string & path) const override; + + bool isDirectory(const std::string & path) const override; + + uint64_t getFileSize(const String & path) const override; + + Poco::Timestamp getLastModified(const std::string & path) const override; + + time_t getLastChanged(const std::string & path) const override; + + bool supportsChmod() const override { return disk->supportsChmod(); } + + bool supportsStat() const override { return disk->supportsStat(); } + + struct stat stat(const String & path) const override { return disk->stat(path); } + + std::vector listDirectory(const std::string & path) const override; + + DirectoryIteratorPtr iterateDirectory(const std::string & path) const override; + + std::string readFileToString(const std::string & path) const override; + + std::unordered_map getSerializedMetadata(const std::vector & file_paths) const override; + + uint32_t getHardlinkCount(const std::string & path) const override; + + DiskPtr getDisk() const { return disk; } + + StoredObjects getStorageObjects(const std::string & path) const override; + + std::string getObjectStorageRootPath() const override { return object_storage_root_path; } +}; + +class FakeMetadataStorageFromDiskTransaction final : public IMetadataTransaction +{ +private: + DiskPtr disk; + const FakeMetadataStorageFromDisk & metadata_storage; + + std::vector operations; +public: + FakeMetadataStorageFromDiskTransaction( + const FakeMetadataStorageFromDisk & metadata_storage_, DiskPtr disk_) + : disk(disk_) + , metadata_storage(metadata_storage_) + {} + + ~FakeMetadataStorageFromDiskTransaction() override = default; + + const IMetadataStorage & getStorageForNonTransactionalReads() const final; + + void commit() final {} + + void writeStringToFile(const std::string & path, const std::string & data) override; + + void createEmptyMetadataFile(const std::string & path) override; + + void createMetadataFile(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) override; + + void addBlobToMetadata(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) override; + + void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) override; + + bool supportsChmod() const override { return disk->supportsChmod(); } + + void chmod(const String & path, mode_t mode) override { disk->chmod(path, mode); } + + void setReadOnly(const std::string & path) override; + + void unlinkFile(const std::string & path) override; + + void createDirectory(const std::string & path) override; + + void createDirectoryRecursive(const std::string & path) override; + + void removeDirectory(const std::string & path) override; + + void removeRecursive(const std::string & path) override; + + void createHardLink(const std::string & path_from, const std::string & path_to) override; + + void moveFile(const std::string & path_from, const std::string & path_to) override; + + void moveDirectory(const std::string & path_from, const std::string & path_to) override; + + void replaceFile(const std::string & path_from, const std::string & path_to) override; + + void unlinkMetadata(const std::string & path) override; +}; + +} diff --git a/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.cpp b/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.cpp index 4574b8cb52c..78bbed21e39 100644 --- a/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.cpp +++ b/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #if USE_HDFS @@ -32,55 +33,74 @@ void HDFSObjectStorage::startup() { } -bool HDFSObjectStorage::exists(const std::string & hdfs_uri) const +std::string HDFSObjectStorage::generateBlobNameForPath(const std::string & /* path */) { - const size_t begin_of_path = hdfs_uri.find('/', hdfs_uri.find("//") + 2); - const String remote_fs_object_path = hdfs_uri.substr(begin_of_path); + return getRandomASCIIString(); +} + +bool HDFSObjectStorage::exists(const StoredObject & object) const +{ + const auto & path = object.absolute_path; + const size_t begin_of_path = path.find('/', path.find("//") + 2); + const String remote_fs_object_path = path.substr(begin_of_path); return (0 == hdfsExists(hdfs_fs.get(), remote_fs_object_path.c_str())); } -std::unique_ptr HDFSObjectStorage::readObject( /// NOLINT - const std::string & path, +std::unique_ptr HDFSObjectStorage::readObject( /// NOLINT + const StoredObject & object, const ReadSettings & read_settings, std::optional, std::optional) const { - return std::make_unique(path, path, config, read_settings.remote_fs_buffer_size); + return std::make_unique(object.absolute_path, object.absolute_path, config, patchSettings(read_settings)); } std::unique_ptr HDFSObjectStorage::readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const StoredObjects & objects, const ReadSettings & read_settings, std::optional, std::optional) const { - auto hdfs_impl = std::make_unique(config, common_path_prefix, common_path_prefix, blobs_to_read, read_settings); + auto disk_read_settings = patchSettings(read_settings); + auto read_buffer_creator = + [this, disk_read_settings] + (const std::string & path, size_t /* read_until_position */) -> std::shared_ptr + { + size_t begin_of_path = path.find('/', path.find("//") + 2); + auto hdfs_path = path.substr(begin_of_path); + auto hdfs_uri = path.substr(0, begin_of_path); + + return std::make_unique(hdfs_uri, hdfs_path, config, disk_read_settings); + }; + + auto hdfs_impl = std::make_unique(std::move(read_buffer_creator), objects, disk_read_settings); auto buf = std::make_unique(std::move(hdfs_impl)); return std::make_unique(std::move(buf), settings->min_bytes_for_seek); } std::unique_ptr HDFSObjectStorage::writeObject( /// NOLINT - const std::string & path, + const StoredObject & object, WriteMode mode, std::optional attributes, FinalizeCallback && finalize_callback, size_t buf_size, - const WriteSettings &) + const WriteSettings & write_settings) { if (attributes.has_value()) - throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "HDFS API doesn't support custom attributes/metadata for stored objects"); + throw Exception( + ErrorCodes::UNSUPPORTED_METHOD, + "HDFS API doesn't support custom attributes/metadata for stored objects"); /// Single O_WRONLY in libhdfs adds O_TRUNC auto hdfs_buffer = std::make_unique( - path, config, settings->replication, buf_size, + object.absolute_path, config, settings->replication, patchSettings(write_settings), buf_size, mode == WriteMode::Rewrite ? O_WRONLY : O_WRONLY | O_APPEND); - return std::make_unique(std::move(hdfs_buffer), std::move(finalize_callback), path); + return std::make_unique(std::move(hdfs_buffer), std::move(finalize_callback), object.absolute_path); } -void HDFSObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & children) const +void HDFSObjectStorage::listPrefix(const std::string & path, RelativePathsWithSize & children) const { const size_t begin_of_path = path.find('/', path.find("//") + 2); int32_t num_entries; @@ -93,8 +113,9 @@ void HDFSObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & c } /// Remove file. Throws exception if file doesn't exists or it's a directory. -void HDFSObjectStorage::removeObject(const std::string & path) +void HDFSObjectStorage::removeObject(const StoredObject & object) { + const auto & path = object.absolute_path; const size_t begin_of_path = path.find('/', path.find("//") + 2); /// Add path from root to file name @@ -104,36 +125,40 @@ void HDFSObjectStorage::removeObject(const std::string & path) } -void HDFSObjectStorage::removeObjects(const std::vector & paths) +void HDFSObjectStorage::removeObjects(const StoredObjects & objects) { - for (const auto & hdfs_path : paths) - removeObject(hdfs_path); + for (const auto & object : objects) + removeObject(object); } -void HDFSObjectStorage::removeObjectIfExists(const std::string & path) +void HDFSObjectStorage::removeObjectIfExists(const StoredObject & object) { - if (exists(path)) - removeObject(path); + if (exists(object)) + removeObject(object); } -void HDFSObjectStorage::removeObjectsIfExist(const std::vector & paths) +void HDFSObjectStorage::removeObjectsIfExist(const StoredObjects & objects) { - for (const auto & hdfs_path : paths) - removeObjectIfExists(hdfs_path); + for (const auto & object : objects) + removeObjectIfExists(object); } ObjectMetadata HDFSObjectStorage::getObjectMetadata(const std::string &) const { - throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "HDFS API doesn't support custom attributes/metadata for stored objects"); + throw Exception( + ErrorCodes::UNSUPPORTED_METHOD, + "HDFS API doesn't support custom attributes/metadata for stored objects"); } void HDFSObjectStorage::copyObject( /// NOLINT - const std::string & object_from, - const std::string & object_to, + const StoredObject & object_from, + const StoredObject & object_to, std::optional object_to_attributes) { if (object_to_attributes.has_value()) - throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "HDFS API doesn't support custom attributes/metadata for stored objects"); + throw Exception( + ErrorCodes::UNSUPPORTED_METHOD, + "HDFS API doesn't support custom attributes/metadata for stored objects"); auto in = readObject(object_from); auto out = writeObject(object_to, WriteMode::Rewrite); @@ -142,8 +167,9 @@ void HDFSObjectStorage::copyObject( /// NOLINT } -void HDFSObjectStorage::applyNewSettings(const Poco::Util::AbstractConfiguration &, const std::string &, ContextPtr) +void HDFSObjectStorage::applyNewSettings(const Poco::Util::AbstractConfiguration &, const std::string &, ContextPtr context) { + applyRemoteThrottlingSettings(context); } std::unique_ptr HDFSObjectStorage::cloneObjectStorage(const std::string &, const Poco::Util::AbstractConfiguration &, const std::string &, ContextPtr) diff --git a/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.h b/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.h index a9a223a3d7e..4687d63c128 100644 --- a/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.h +++ b/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.h @@ -41,67 +41,78 @@ public: using SettingsPtr = std::unique_ptr; HDFSObjectStorage( - FileCachePtr && cache_, const String & hdfs_root_path_, SettingsPtr settings_, const Poco::Util::AbstractConfiguration & config_) - : IObjectStorage(std::move(cache_)) - , config(config_) + : config(config_) , hdfs_builder(createHDFSBuilder(hdfs_root_path_, config)) , hdfs_fs(createHDFSFS(hdfs_builder.get())) , settings(std::move(settings_)) {} - bool exists(const std::string & hdfs_uri) const override; + std::string getName() const override { return "HDFSObjectStorage"; } - std::unique_ptr readObject( /// NOLINT - const std::string & path, + bool exists(const StoredObject & object) const override; + + std::unique_ptr readObject( /// NOLINT + const StoredObject & object, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const override; std::unique_ptr readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const StoredObjects & objects, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const override; /// Open the file for write and return WriteBufferFromFileBase object. std::unique_ptr writeObject( /// NOLINT - const std::string & path, + const StoredObject & object, WriteMode mode, std::optional attributes = {}, FinalizeCallback && finalize_callback = {}, size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, const WriteSettings & write_settings = {}) override; - void listPrefix(const std::string & path, BlobsPathToSize & children) const override; + void listPrefix(const std::string & path, RelativePathsWithSize & children) const override; + /// Remove file. Throws exception if file doesn't exists or it's a directory. - void removeObject(const std::string & path) override; + void removeObject(const StoredObject & object) override; - void removeObjects(const std::vector & paths) override; + void removeObjects(const StoredObjects & objects) override; - void removeObjectIfExists(const std::string & path) override; + void removeObjectIfExists(const StoredObject & object) override; - void removeObjectsIfExist(const std::vector & paths) override; + void removeObjectsIfExist(const StoredObjects & objects) override; ObjectMetadata getObjectMetadata(const std::string & path) const override; void copyObject( /// NOLINT - const std::string & object_from, - const std::string & object_to, + const StoredObject & object_from, + const StoredObject & object_to, std::optional object_to_attributes = {}) override; void shutdown() override; void startup() override; - void applyNewSettings(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + void applyNewSettings( + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; String getObjectsNamespace() const override { return ""; } - std::unique_ptr cloneObjectStorage(const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + std::unique_ptr cloneObjectStorage( + const std::string & new_namespace, + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; + + std::string generateBlobNameForPath(const std::string & path) override; + + bool isRemote() const override { return true; } private: const Poco::Util::AbstractConfiguration & config; @@ -110,8 +121,6 @@ private: HDFSFSPtr hdfs_fs; SettingsPtr settings; - - }; } diff --git a/src/Disks/ObjectStorages/HDFS/registerDiskHDFS.cpp b/src/Disks/ObjectStorages/HDFS/registerDiskHDFS.cpp index 04862e43c65..e0cea249d00 100644 --- a/src/Disks/ObjectStorages/HDFS/registerDiskHDFS.cpp +++ b/src/Disks/ObjectStorages/HDFS/registerDiskHDFS.cpp @@ -1,7 +1,9 @@ #include #include #include +#include #include +#include #include namespace DB @@ -31,21 +33,41 @@ void registerDiskHDFS(DiskFactory & factory) config.getInt(config_prefix + ".objects_chunk_size_to_delete", 1000), context_->getSettingsRef().hdfs_replication ); - /// FIXME Cache currently unsupported :( - ObjectStoragePtr hdfs_storage = std::make_unique(nullptr, uri, std::move(settings), config); - auto metadata_disk = prepareForLocalMetadata(name, config, config_prefix, context_).second; + + /// FIXME Cache currently unsupported :( + ObjectStoragePtr hdfs_storage = std::make_unique(uri, std::move(settings), config); + + auto [metadata_path, metadata_disk] = prepareForLocalMetadata(name, config, config_prefix, context_); + + auto metadata_storage = std::make_shared(metadata_disk, uri); uint64_t copy_thread_pool_size = config.getUInt(config_prefix + ".thread_pool_size", 16); - return std::make_shared( + DiskPtr disk_result = std::make_shared( name, uri, "DiskHDFS", - metadata_disk, + std::move(metadata_storage), std::move(hdfs_storage), DiskType::HDFS, /* send_metadata = */ false, copy_thread_pool_size); + +#ifdef NDEBUG + bool use_cache = true; +#else + /// Current S3 cache implementation lead to allocations in destructor of + /// read buffer. + bool use_cache = false; +#endif + + if (config.getBool(config_prefix + ".cache_enabled", use_cache)) + { + String cache_path = config.getString(config_prefix + ".cache_path", context_->getPath() + "disks/" + name + "/cache/"); + disk_result = wrapWithCache(disk_result, "hdfs-cache", cache_path, metadata_path); + } + + return std::make_shared(disk_result); }; factory.registerDiskType("hdfs", creator); diff --git a/src/Disks/ObjectStorages/IMetadataStorage.h b/src/Disks/ObjectStorages/IMetadataStorage.h new file mode 100644 index 00000000000..948bfba2615 --- /dev/null +++ b/src/Disks/ObjectStorages/IMetadataStorage.h @@ -0,0 +1,143 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace DB +{ + +class IMetadataStorage; + +/// Tries to provide some "transactions" interface, which allow +/// to execute (commit) operations simultaneously. We don't provide +/// any snapshot isolation here, so no read operations in transactions +/// interface. This transaction is more like "batch operation" than real "transaction". +/// +/// But for better usability we can get MetadataStorage interface and use some read methods. +class IMetadataTransaction : private boost::noncopyable +{ +public: + virtual void commit() = 0; + + virtual const IMetadataStorage & getStorageForNonTransactionalReads() const = 0; + + /// General purpose methods + + /// Write metadata string to file + virtual void writeStringToFile(const std::string & path, const std::string & data) = 0; + + virtual void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) = 0; + + virtual bool supportsChmod() const = 0; + virtual void chmod(const String & path, mode_t mode) = 0; + + virtual void setReadOnly(const std::string & path) = 0; + + virtual void unlinkFile(const std::string & path) = 0; + + virtual void createDirectory(const std::string & path) = 0; + + virtual void createDirectoryRecursive(const std::string & path) = 0; + + virtual void removeDirectory(const std::string & path) = 0; + + virtual void removeRecursive(const std::string & path) = 0; + + virtual void createHardLink(const std::string & path_from, const std::string & path_to) = 0; + + virtual void moveFile(const std::string & path_from, const std::string & path_to) = 0; + + virtual void moveDirectory(const std::string & path_from, const std::string & path_to) = 0; + + virtual void replaceFile(const std::string & path_from, const std::string & path_to) = 0; + + /// Metadata related methods + + /// Create empty file in metadata storage + virtual void createEmptyMetadataFile(const std::string & path) = 0; + + /// Create metadata file on paths with content (blob_name, size_in_bytes) + virtual void createMetadataFile(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) = 0; + + /// Add to new blob to metadata file (way to implement appends) + virtual void addBlobToMetadata(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) = 0; + + /// Unlink metadata file and do something special if required + /// By default just remove file (unlink file). + virtual void unlinkMetadata(const std::string & path) + { + unlinkFile(path); + } + + virtual ~IMetadataTransaction() = default; +}; + +using MetadataTransactionPtr = std::shared_ptr; + +/// Metadata storage for remote disks like DiskObjectStorage. +/// Support some subset of Disk operations, allow to read/write only +/// small amounts of data (strings). +class IMetadataStorage : private boost::noncopyable +{ +friend class MetadataStorageFromDiskTransaction; + +public: + virtual MetadataTransactionPtr createTransaction() const = 0; + + /// Get metadata root path. + virtual const std::string & getPath() const = 0; + + /// ==== General purpose methods. Define properties of object storage file based on metadata files ==== + + virtual bool exists(const std::string & path) const = 0; + + virtual bool isFile(const std::string & path) const = 0; + + virtual bool isDirectory(const std::string & path) const = 0; + + virtual uint64_t getFileSize(const std::string & path) const = 0; + + virtual Poco::Timestamp getLastModified(const std::string & path) const = 0; + + virtual time_t getLastChanged(const std::string & path) const = 0; + + virtual bool supportsChmod() const = 0; + + virtual bool supportsStat() const = 0; + virtual struct stat stat(const String & path) const = 0; + + virtual std::vector listDirectory(const std::string & path) const = 0; + + virtual DirectoryIteratorPtr iterateDirectory(const std::string & path) const = 0; + + virtual uint32_t getHardlinkCount(const std::string & path) const = 0; + + /// Read metadata file to string from path + virtual std::string readFileToString(const std::string & path) const = 0; + + virtual ~IMetadataStorage() = default; + + /// ==== More specefic methods. Previous were almost general purpose. ==== + + /// Read multiple metadata files into strings and return mapping from file_path -> metadata + virtual std::unordered_map getSerializedMetadata(const std::vector & file_paths) const = 0; + + /// Return object information (absolute_path, bytes_size, ...) for metadata path. + /// object_storage_path is absolute. + virtual StoredObjects getStorageObjects(const std::string & path) const = 0; + + virtual std::string getObjectStorageRootPath() const = 0; +}; + +using MetadataStoragePtr = std::shared_ptr; + +} diff --git a/src/Disks/ObjectStorages/IObjectStorage.cpp b/src/Disks/ObjectStorages/IObjectStorage.cpp index 3941ad8b6f6..4074b0f6908 100644 --- a/src/Disks/ObjectStorages/IObjectStorage.cpp +++ b/src/Disks/ObjectStorages/IObjectStorage.cpp @@ -1,9 +1,18 @@ #include #include +#include #include +#include + namespace DB { + +namespace ErrorCodes +{ + extern const int NOT_IMPLEMENTED; +} + AsynchronousReaderPtr IObjectStorage::getThreadPoolReader() { constexpr size_t pool_size = 50; @@ -20,21 +29,11 @@ ThreadPool & IObjectStorage::getThreadPoolWriter() return writer; } -std::string IObjectStorage::getCacheBasePath() const -{ - return cache ? cache->getBasePath() : ""; -} - -void IObjectStorage::removeFromCache(const std::string & path) -{ - if (cache) - { - auto key = cache->hash(path); - cache->remove(key); - } -} - -void IObjectStorage::copyObjectToAnotherObjectStorage(const std::string & object_from, const std::string & object_to, IObjectStorage & object_storage_to, std::optional object_to_attributes) // NOLINT +void IObjectStorage::copyObjectToAnotherObjectStorage( // NOLINT + const StoredObject & object_from, + const StoredObject & object_to, + IObjectStorage & object_storage_to, + std::optional object_to_attributes) { if (&object_storage_to == this) copyObject(object_from, object_to, object_to_attributes); @@ -45,4 +44,32 @@ void IObjectStorage::copyObjectToAnotherObjectStorage(const std::string & object out->finalize(); } +std::string IObjectStorage::getCacheBasePath() const +{ + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "getCacheBasePath() is not implemented for {}", getName()); +} + +void IObjectStorage::applyRemoteThrottlingSettings(ContextPtr context) +{ + std::unique_lock lock{throttlers_mutex}; + remote_read_throttler = context->getRemoteReadThrottler(); + remote_write_throttler = context->getRemoteWriteThrottler(); +} + +ReadSettings IObjectStorage::patchSettings(const ReadSettings & read_settings) const +{ + std::unique_lock lock{throttlers_mutex}; + ReadSettings settings{read_settings}; + settings.remote_throttler = remote_read_throttler; + return settings; +} + +WriteSettings IObjectStorage::patchSettings(const WriteSettings & write_settings) const +{ + std::unique_lock lock{throttlers_mutex}; + WriteSettings settings{write_settings}; + settings.remote_throttler = remote_write_throttler; + return settings; +} + } diff --git a/src/Disks/ObjectStorages/IObjectStorage.h b/src/Disks/ObjectStorages/IObjectStorage.h index b9ac497f54f..69c1c31403d 100644 --- a/src/Disks/ObjectStorages/IObjectStorage.h +++ b/src/Disks/ObjectStorages/IObjectStorage.h @@ -3,15 +3,18 @@ #include #include #include +#include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -25,23 +28,20 @@ class WriteBufferFromFileBase; using ObjectAttributes = std::map; -/// Path to blob with it's size -struct BlobPathWithSize +struct RelativePathWithSize { - std::string relative_path; - uint64_t bytes_size; + String relative_path; + size_t bytes_size; - BlobPathWithSize() = default; - BlobPathWithSize(const BlobPathWithSize & other) = default; + RelativePathWithSize() = default; - BlobPathWithSize(const std::string & relative_path_, uint64_t bytes_size_) - : relative_path(relative_path_) - , bytes_size(bytes_size_) - {} + RelativePathWithSize(const String & relative_path_, size_t bytes_size_) + : relative_path(relative_path_), bytes_size(bytes_size_) {} }; +using RelativePathsWithSize = std::vector; -/// List of blobs with their sizes -using BlobsPathToSize = std::vector; + +using StoredObjects = std::vector; struct ObjectMetadata { @@ -58,76 +58,77 @@ using FinalizeCallback = std::function; class IObjectStorage { public: - explicit IObjectStorage(FileCachePtr && cache_) - : cache(std::move(cache_)) - {} + IObjectStorage() = default; - /// Path exists or not - virtual bool exists(const std::string & path) const = 0; + virtual std::string getName() const = 0; - /// List on prefix, return children with their sizes. - virtual void listPrefix(const std::string & path, BlobsPathToSize & children) const = 0; + /// Object exists or not + virtual bool exists(const StoredObject & object) const = 0; + + /// List on prefix, return children (relative paths) with their sizes. + virtual void listPrefix(const std::string & path, RelativePathsWithSize & children) const = 0; /// Get object metadata if supported. It should be possible to receive /// at least size of object virtual ObjectMetadata getObjectMetadata(const std::string & path) const = 0; - /// Read single path from object storage - virtual std::unique_ptr readObject( /// NOLINT - const std::string & path, + /// Read single object + virtual std::unique_ptr readObject( /// NOLINT + const StoredObject & object, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const = 0; /// Read multiple objects with common prefix virtual std::unique_ptr readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const StoredObjects & objects, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const = 0; /// Open the file for write and return WriteBufferFromFileBase object. virtual std::unique_ptr writeObject( /// NOLINT - const std::string & path, + const StoredObject & object, WriteMode mode, std::optional attributes = {}, FinalizeCallback && finalize_callback = {}, size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, const WriteSettings & write_settings = {}) = 0; + virtual bool isRemote() const = 0; + /// Remove object. Throws exception if object doesn't exists. - virtual void removeObject(const std::string & path) = 0; + virtual void removeObject(const StoredObject & object) = 0; /// Remove multiple objects. Some object storages can do batch remove in a more /// optimal way. - virtual void removeObjects(const std::vector & paths) = 0; + virtual void removeObjects(const StoredObjects & objects) = 0; /// Remove object on path if exists - virtual void removeObjectIfExists(const std::string & path) = 0; + virtual void removeObjectIfExists(const StoredObject & object) = 0; /// Remove objects on path if exists - virtual void removeObjectsIfExist(const std::vector & paths) = 0; + virtual void removeObjectsIfExist(const StoredObjects & object) = 0; /// Copy object with different attributes if required virtual void copyObject( /// NOLINT - const std::string & object_from, - const std::string & object_to, + const StoredObject & object_from, + const StoredObject & object_to, std::optional object_to_attributes = {}) = 0; /// Copy object to another instance of object storage /// by default just read the object from source object storage and write /// to destination through buffers. virtual void copyObjectToAnotherObjectStorage( /// NOLINT - const std::string & object_from, - const std::string & object_to, + const StoredObject & object_from, + const StoredObject & object_to, IObjectStorage & object_storage_to, std::optional object_to_attributes = {}); virtual ~IObjectStorage() = default; /// Path to directory with objects cache - std::string getCacheBasePath() const; + virtual std::string getCacheBasePath() const; static AsynchronousReaderPtr getThreadPoolReader(); @@ -137,10 +138,11 @@ public: virtual void startup() = 0; - void removeFromCache(const std::string & path); - /// Apply new settings, in most cases reiniatilize client and some other staff - virtual void applyNewSettings(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) = 0; + virtual void applyNewSettings( + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) = 0; /// Sometimes object storages have something similar to chroot or namespace, for example /// buckets in S3. If object storage doesn't have any namepaces return empty string. @@ -148,12 +150,40 @@ public: /// FIXME: confusing function required for a very specific case. Create new instance of object storage /// in different namespace. - virtual std::unique_ptr cloneObjectStorage(const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) = 0; + virtual std::unique_ptr cloneObjectStorage( + const std::string & new_namespace, + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, ContextPtr context) = 0; + + /// Generate blob name for passed absolute local path. + /// Path can be generated either independently or based on `path`. + virtual std::string generateBlobNameForPath(const std::string & path) = 0; + + /// Get unique id for passed absolute path in object storage. + virtual std::string getUniqueId(const std::string & path) const { return path; } + + virtual bool supportsAppend() const { return false; } + + /// Remove filesystem cache. `path` is a result of object.getPathKeyForCache() method, + /// which is used to define a cache key for the source object path. + virtual void removeCacheIfExists(const std::string & /* path */) {} + + virtual bool supportsCache() const { return false; } protected: - FileCachePtr cache; + /// Should be called from implementation of applyNewSettings() + void applyRemoteThrottlingSettings(ContextPtr context); + + /// Should be used by implementation of read* and write* methods + ReadSettings patchSettings(const ReadSettings & read_settings) const; + WriteSettings patchSettings(const WriteSettings & write_settings) const; + +private: + mutable std::mutex throttlers_mutex; + ThrottlerPtr remote_read_throttler; + ThrottlerPtr remote_write_throttler; }; -using ObjectStoragePtr = std::unique_ptr; +using ObjectStoragePtr = std::shared_ptr; } diff --git a/src/Disks/ObjectStorages/IObjectStorage_fwd.h b/src/Disks/ObjectStorages/IObjectStorage_fwd.h new file mode 100644 index 00000000000..f6ebc883682 --- /dev/null +++ b/src/Disks/ObjectStorages/IObjectStorage_fwd.h @@ -0,0 +1,13 @@ +#pragma once +#include + +namespace DB +{ + +class IObjectStorage; +using ObjectStoragePtr = std::shared_ptr; + +class IMetadataStorage; +using MetadataStoragePtr = std::shared_ptr; + +} diff --git a/src/Disks/ObjectStorages/LocalObjectStorage.cpp b/src/Disks/ObjectStorages/LocalObjectStorage.cpp new file mode 100644 index 00000000000..af6dab0b8a6 --- /dev/null +++ b/src/Disks/ObjectStorages/LocalObjectStorage.cpp @@ -0,0 +1,173 @@ +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int LOGICAL_ERROR; + extern const int NOT_IMPLEMENTED; +} + +namespace ErrorCodes +{ + extern const int CANNOT_UNLINK; +} + +LocalObjectStorage::LocalObjectStorage() + : log(&Poco::Logger::get("LocalObjectStorage")) +{ +} + +bool LocalObjectStorage::exists(const StoredObject & object) const +{ + return fs::exists(object.absolute_path); +} + +std::unique_ptr LocalObjectStorage::readObjects( /// NOLINT + const StoredObjects & objects, + const ReadSettings & read_settings, + std::optional read_hint, + std::optional file_size) const +{ + if (objects.size() != 1) + throw Exception(ErrorCodes::LOGICAL_ERROR, "LocalObjectStorage support read only from single object"); + + return readObject(objects[0], read_settings, read_hint, file_size); +} + +std::string LocalObjectStorage::getUniqueId(const std::string & path) const +{ + return toString(getINodeNumberFromPath(path)); +} + +std::unique_ptr LocalObjectStorage::readObject( /// NOLINT + const StoredObject & object, + const ReadSettings & read_settings, + std::optional read_hint, + std::optional file_size) const +{ + const auto & path = object.absolute_path; + + if (!file_size) + file_size = tryGetSizeFromFilePath(path); + + /// For now we cannot allow asynchronous reader from local filesystem when CachedObjectStorage is used. + ReadSettings modified_settings{read_settings}; + switch (modified_settings.local_fs_method) + { + case LocalFSReadMethod::pread_threadpool: + case LocalFSReadMethod::pread_fake_async: + { + modified_settings.local_fs_method = LocalFSReadMethod::pread; + LOG_INFO(log, "Changing local filesystem read method to `pread`"); + break; + } + default: + { + break; + } + } + + LOG_TEST(log, "Read object: {}", path); + return createReadBufferFromFileBase(path, modified_settings, read_hint, file_size); +} + +std::unique_ptr LocalObjectStorage::writeObject( /// NOLINT + const StoredObject & object, + WriteMode mode, + std::optional /* attributes */, + FinalizeCallback && /* finalize_callback */, + size_t buf_size, + const WriteSettings & /* write_settings */) +{ + const auto & path = object.absolute_path; + int flags = (mode == WriteMode::Append) ? (O_APPEND | O_CREAT | O_WRONLY) : -1; + LOG_TEST(log, "Write object: {}", path); + return std::make_unique(path, buf_size, flags); +} + +void LocalObjectStorage::listPrefix(const std::string & path, RelativePathsWithSize & children) const +{ + fs::directory_iterator end_it; + for (auto it = fs::directory_iterator(path); it != end_it; ++it) + children.emplace_back(it->path().filename(), it->file_size()); +} + +void LocalObjectStorage::removeObject(const StoredObject & object) +{ + if (0 != unlink(object.absolute_path.data())) + throwFromErrnoWithPath("Cannot unlink file " + object.absolute_path, object.absolute_path, ErrorCodes::CANNOT_UNLINK); +} + +void LocalObjectStorage::removeObjects(const StoredObjects & objects) +{ + for (const auto & object : objects) + removeObject(object); +} + +void LocalObjectStorage::removeObjectIfExists(const StoredObject & object) +{ + if (exists(object)) + removeObject(object); +} + +void LocalObjectStorage::removeObjectsIfExist(const StoredObjects & objects) +{ + for (const auto & object : objects) + removeObjectIfExists(object); +} + +ObjectMetadata LocalObjectStorage::getObjectMetadata(const std::string & /* path */) const +{ + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Metadata is not supported for LocalObjectStorage"); +} + +void LocalObjectStorage::copyObject( // NOLINT + const StoredObject & object_from, const StoredObject & object_to, std::optional /* object_to_attributes */) +{ + fs::path to = object_to.absolute_path; + fs::path from = object_from.absolute_path; + + /// Same logic as in DiskLocal. + if (object_from.absolute_path.ends_with('/')) + from = from.parent_path(); + if (fs::is_directory(from)) + to /= from.filename(); + + fs::copy(from, to, fs::copy_options::recursive | fs::copy_options::overwrite_existing); +} + +void LocalObjectStorage::shutdown() +{ +} + +void LocalObjectStorage::startup() +{ +} + +std::unique_ptr LocalObjectStorage::cloneObjectStorage( + const std::string & /* new_namespace */, + const Poco::Util::AbstractConfiguration & /* config */, + const std::string & /* config_prefix */, ContextPtr /* context */) +{ + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "cloneObjectStorage() is not implemented for LocalObjectStorage"); +} + +void LocalObjectStorage::applyNewSettings( + const Poco::Util::AbstractConfiguration & /* config */, const std::string & /* config_prefix */, ContextPtr /* context */) +{ +} + +} diff --git a/src/Disks/ObjectStorages/LocalObjectStorage.h b/src/Disks/ObjectStorages/LocalObjectStorage.h new file mode 100644 index 00000000000..2225d0c72b7 --- /dev/null +++ b/src/Disks/ObjectStorages/LocalObjectStorage.h @@ -0,0 +1,91 @@ +#pragma once + +#include + +#include + +namespace Poco +{ +class Logger; +} + +namespace DB +{ + +class LocalObjectStorage : public IObjectStorage +{ +public: + LocalObjectStorage(); + + std::string getName() const override { return "LocalObjectStorage"; } + + bool exists(const StoredObject & object) const override; + + std::unique_ptr readObject( /// NOLINT + const StoredObject & object, + const ReadSettings & read_settings = ReadSettings{}, + std::optional read_hint = {}, + std::optional file_size = {}) const override; + + std::unique_ptr readObjects( /// NOLINT + const StoredObjects & objects, + const ReadSettings & read_settings = ReadSettings{}, + std::optional read_hint = {}, + std::optional file_size = {}) const override; + + /// Open the file for write and return WriteBufferFromFileBase object. + std::unique_ptr writeObject( /// NOLINT + const StoredObject & object, + WriteMode mode, + std::optional attributes = {}, + FinalizeCallback && finalize_callback = {}, + size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, + const WriteSettings & write_settings = {}) override; + + void listPrefix(const std::string & path, RelativePathsWithSize & children) const override; + + void removeObject(const StoredObject & object) override; + + void removeObjects(const StoredObjects & objects) override; + + void removeObjectIfExists(const StoredObject & object) override; + + void removeObjectsIfExist(const StoredObjects & objects) override; + + ObjectMetadata getObjectMetadata(const std::string & path) const override; + + void copyObject( /// NOLINT + const StoredObject & object_from, + const StoredObject & object_to, + std::optional object_to_attributes = {}) override; + + void shutdown() override; + + void startup() override; + + void applyNewSettings( + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; + + String getObjectsNamespace() const override { return ""; } + + std::unique_ptr cloneObjectStorage( + const std::string & new_namespace, + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; + + bool supportsAppend() const override { return true; } + + std::string generateBlobNameForPath(const std::string & path) override { return path; } + + std::string getUniqueId(const std::string & path) const override; + + bool isRemote() const override { return false; } + +private: + Poco::Logger * log; +}; + +} diff --git a/src/Disks/ObjectStorages/MetadataFromDiskTransactionState.cpp b/src/Disks/ObjectStorages/MetadataFromDiskTransactionState.cpp new file mode 100644 index 00000000000..1ee87537114 --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataFromDiskTransactionState.cpp @@ -0,0 +1,22 @@ +#include + +namespace DB +{ + +std::string toString(MetadataFromDiskTransactionState state) +{ + switch (state) + { + case MetadataFromDiskTransactionState::PREPARING: + return "PREPARING"; + case MetadataFromDiskTransactionState::FAILED: + return "FAILED"; + case MetadataFromDiskTransactionState::COMMITTED: + return "COMMITTED"; + case MetadataFromDiskTransactionState::PARTIALLY_ROLLED_BACK: + return "PARTIALLY_ROLLED_BACK"; + } + __builtin_unreachable(); +} + +} diff --git a/src/Disks/ObjectStorages/MetadataFromDiskTransactionState.h b/src/Disks/ObjectStorages/MetadataFromDiskTransactionState.h new file mode 100644 index 00000000000..3dc4c610e3a --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataFromDiskTransactionState.h @@ -0,0 +1,17 @@ +#pragma once +#include + +namespace DB +{ + +enum class MetadataFromDiskTransactionState +{ + PREPARING, + FAILED, + COMMITTED, + PARTIALLY_ROLLED_BACK, +}; + +std::string toString(MetadataFromDiskTransactionState state); + +} diff --git a/src/Disks/ObjectStorages/MetadataStorageFromDisk.cpp b/src/Disks/ObjectStorages/MetadataStorageFromDisk.cpp new file mode 100644 index 00000000000..cdd0fdc8457 --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataStorageFromDisk.cpp @@ -0,0 +1,334 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int FS_METADATA_ERROR; +} + +MetadataStorageFromDisk::MetadataStorageFromDisk(DiskPtr disk_, const std::string & object_storage_root_path_) + : disk(disk_) + , object_storage_root_path(object_storage_root_path_) +{ +} + +const std::string & MetadataStorageFromDisk::getPath() const +{ + return disk->getPath(); +} + +bool MetadataStorageFromDisk::exists(const std::string & path) const +{ + return disk->exists(path); +} + +bool MetadataStorageFromDisk::isFile(const std::string & path) const +{ + return disk->isFile(path); +} + +bool MetadataStorageFromDisk::isDirectory(const std::string & path) const +{ + return disk->isDirectory(path); +} + +Poco::Timestamp MetadataStorageFromDisk::getLastModified(const std::string & path) const +{ + return disk->getLastModified(path); +} + +time_t MetadataStorageFromDisk::getLastChanged(const std::string & path) const +{ + return disk->getLastChanged(path); +} + +uint64_t MetadataStorageFromDisk::getFileSize(const String & path) const +{ + auto metadata = readMetadata(path); + return metadata->getTotalSizeBytes(); +} + +std::vector MetadataStorageFromDisk::listDirectory(const std::string & path) const +{ + std::vector result_files; + disk->listFiles(path, result_files); + return result_files; +} + +DirectoryIteratorPtr MetadataStorageFromDisk::iterateDirectory(const std::string & path) const +{ + return disk->iterateDirectory(path); +} + + +std::string MetadataStorageFromDisk::readFileToString(const std::string & path) const +{ + auto buf = disk->readFile(path); + std::string result; + readStringUntilEOF(result, *buf); + return result; +} + +DiskObjectStorageMetadataPtr MetadataStorageFromDisk::readMetadataUnlocked(const std::string & path, std::shared_lock &) const +{ + auto metadata = std::make_unique(disk->getPath(), object_storage_root_path, path); + auto str = readFileToString(path); + metadata->deserializeFromString(str); + return metadata; +} + +DiskObjectStorageMetadataPtr MetadataStorageFromDisk::readMetadataUnlocked(const std::string & path, std::unique_lock &) const +{ + auto metadata = std::make_unique(disk->getPath(), object_storage_root_path, path); + auto str = readFileToString(path); + metadata->deserializeFromString(str); + return metadata; +} + +DiskObjectStorageMetadataPtr MetadataStorageFromDisk::readMetadata(const std::string & path) const +{ + std::shared_lock lock(metadata_mutex); + return readMetadataUnlocked(path, lock); +} + +std::unordered_map MetadataStorageFromDisk::getSerializedMetadata(const std::vector & file_paths) const +{ + std::shared_lock lock(metadata_mutex); + std::unordered_map metadatas; + + for (const auto & path : file_paths) + { + auto metadata = readMetadataUnlocked(path, lock); + metadata->resetRefCount(); + WriteBufferFromOwnString buf; + metadata->serialize(buf, false); + metadatas[path] = buf.str(); + } + + return metadatas; +} + +void MetadataStorageFromDiskTransaction::createHardLink(const std::string & path_from, const std::string & path_to) +{ + addOperation(std::make_unique(path_from, path_to, *metadata_storage.disk, metadata_storage)); +} + +MetadataTransactionPtr MetadataStorageFromDisk::createTransaction() const +{ + return std::make_shared(*this); +} + +StoredObjects MetadataStorageFromDisk::getStorageObjects(const std::string & path) const +{ + auto metadata = readMetadata(path); + + auto object_storage_relative_paths = metadata->getBlobsRelativePaths(); /// Relative paths. + + StoredObjects object_storage_paths; + object_storage_paths.reserve(object_storage_relative_paths.size()); + + /// Relative paths -> absolute. + for (auto & [object_relative_path, size] : object_storage_relative_paths) + { + auto object_path = fs::path(metadata->getBlobsCommonPrefix()) / object_relative_path; + StoredObject object{ object_path, size, [](const String & path_){ return path_; }}; + object_storage_paths.push_back(object); + } + + return object_storage_paths; +} + +uint32_t MetadataStorageFromDisk::getHardlinkCount(const std::string & path) const +{ + auto metadata = readMetadata(path); + return metadata->getRefCount(); +} + +const IMetadataStorage & MetadataStorageFromDiskTransaction::getStorageForNonTransactionalReads() const +{ + return metadata_storage; +} + +void MetadataStorageFromDiskTransaction::addOperation(MetadataOperationPtr && operation) +{ + if (state != MetadataFromDiskTransactionState::PREPARING) + throw Exception( + ErrorCodes::FS_METADATA_ERROR, + "Cannot add operations to transaction in {} state, it should be in {} state", + toString(state), toString(MetadataFromDiskTransactionState::PREPARING)); + + operations.emplace_back(std::move(operation)); +} + +void MetadataStorageFromDiskTransaction::commit() +{ + if (state != MetadataFromDiskTransactionState::PREPARING) + throw Exception( + ErrorCodes::FS_METADATA_ERROR, + "Cannot commit transaction in {} state, it should be in {} state", + toString(state), toString(MetadataFromDiskTransactionState::PREPARING)); + + { + std::unique_lock lock(metadata_storage.metadata_mutex); + for (size_t i = 0; i < operations.size(); ++i) + { + try + { + operations[i]->execute(lock); + } + catch (Exception & ex) + { + tryLogCurrentException(__PRETTY_FUNCTION__); + ex.addMessage(fmt::format("While committing metadata operation #{}", i)); + state = MetadataFromDiskTransactionState::FAILED; + rollback(i); + throw; + } + } + } + + /// Do it in "best effort" mode + for (size_t i = 0; i < operations.size(); ++i) + { + try + { + operations[i]->finalize(); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__, fmt::format("Failed to finalize operation #{}", i)); + } + } + + state = MetadataFromDiskTransactionState::COMMITTED; +} + +void MetadataStorageFromDiskTransaction::rollback(size_t until_pos) +{ + /// Otherwise everything is alright + if (state == MetadataFromDiskTransactionState::FAILED) + { + for (int64_t i = until_pos; i >= 0; --i) + { + try + { + operations[i]->undo(); + } + catch (Exception & ex) + { + state = MetadataFromDiskTransactionState::PARTIALLY_ROLLED_BACK; + ex.addMessage(fmt::format("While rolling back operation #{}", i)); + throw; + } + } + } + else + { + /// Nothing to do, transaction committed or not even started to commit + } +} + +void MetadataStorageFromDiskTransaction::writeStringToFile( + const std::string & path, + const std::string & data) +{ + addOperation(std::make_unique(path, *metadata_storage.getDisk(), data)); +} + +void MetadataStorageFromDiskTransaction::setLastModified(const std::string & path, const Poco::Timestamp & timestamp) +{ + addOperation(std::make_unique(path, timestamp, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::chmod(const String & path, mode_t mode) +{ + addOperation(std::make_unique(path, mode, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::unlinkFile(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::removeRecursive(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::createDirectory(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::createDirectoryRecursive(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::removeDirectory(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::moveFile(const std::string & path_from, const std::string & path_to) +{ + addOperation(std::make_unique(path_from, path_to, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::moveDirectory(const std::string & path_from, const std::string & path_to) +{ + addOperation(std::make_unique(path_from, path_to, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::replaceFile(const std::string & path_from, const std::string & path_to) +{ + addOperation(std::make_unique(path_from, path_to, *metadata_storage.getDisk())); +} + +void MetadataStorageFromDiskTransaction::setReadOnly(const std::string & path) +{ + auto metadata = metadata_storage.readMetadata(path); + metadata->setReadOnly(); + writeStringToFile(path, metadata->serializeToString()); +} + +void MetadataStorageFromDiskTransaction::createEmptyMetadataFile(const std::string & path) +{ + auto metadata = std::make_unique( + metadata_storage.getDisk()->getPath(), metadata_storage.getObjectStorageRootPath(), path); + writeStringToFile(path, metadata->serializeToString()); +} + +void MetadataStorageFromDiskTransaction::createMetadataFile(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) +{ + DiskObjectStorageMetadataPtr metadata = std::make_unique( + metadata_storage.getDisk()->getPath(), metadata_storage.getObjectStorageRootPath(), path); + + metadata->addObject(blob_name, size_in_bytes); + + auto data = metadata->serializeToString(); + if (!data.empty()) + addOperation(std::make_unique(path, *metadata_storage.getDisk(), data)); +} + +void MetadataStorageFromDiskTransaction::addBlobToMetadata(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) +{ + addOperation(std::make_unique(path, blob_name, metadata_storage.object_storage_root_path, size_in_bytes, *metadata_storage.disk, metadata_storage)); +} + +void MetadataStorageFromDiskTransaction::unlinkMetadata(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.disk, metadata_storage)); +} + +} diff --git a/src/Disks/ObjectStorages/MetadataStorageFromDisk.h b/src/Disks/ObjectStorages/MetadataStorageFromDisk.h new file mode 100644 index 00000000000..8c1fb6edd14 --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataStorageFromDisk.h @@ -0,0 +1,131 @@ +#pragma once + +#include + +#include +#include +#include +#include + +namespace DB +{ + +class MetadataStorageFromDisk final : public IMetadataStorage +{ +private: + friend class MetadataStorageFromDiskTransaction; + + mutable std::shared_mutex metadata_mutex; + + DiskPtr disk; + std::string object_storage_root_path; + +public: + MetadataStorageFromDisk(DiskPtr disk_, const std::string & object_storage_root_path_); + + MetadataTransactionPtr createTransaction() const override; + + const std::string & getPath() const override; + + bool exists(const std::string & path) const override; + + bool isFile(const std::string & path) const override; + + bool isDirectory(const std::string & path) const override; + + uint64_t getFileSize(const String & path) const override; + + Poco::Timestamp getLastModified(const std::string & path) const override; + + time_t getLastChanged(const std::string & path) const override; + + bool supportsChmod() const override { return disk->supportsChmod(); } + + bool supportsStat() const override { return disk->supportsStat(); } + + struct stat stat(const String & path) const override { return disk->stat(path); } + + std::vector listDirectory(const std::string & path) const override; + + DirectoryIteratorPtr iterateDirectory(const std::string & path) const override; + + std::string readFileToString(const std::string & path) const override; + + std::unordered_map getSerializedMetadata(const std::vector & file_paths) const override; + + uint32_t getHardlinkCount(const std::string & path) const override; + + DiskPtr getDisk() const { return disk; } + + StoredObjects getStorageObjects(const std::string & path) const override; + + std::string getObjectStorageRootPath() const override { return object_storage_root_path; } + + DiskObjectStorageMetadataPtr readMetadata(const std::string & path) const; + + DiskObjectStorageMetadataPtr readMetadataUnlocked(const std::string & path, std::unique_lock & lock) const; + DiskObjectStorageMetadataPtr readMetadataUnlocked(const std::string & path, std::shared_lock & lock) const; +}; + +class MetadataStorageFromDiskTransaction final : public IMetadataTransaction +{ +private: + const MetadataStorageFromDisk & metadata_storage; + + std::vector operations; + MetadataFromDiskTransactionState state{MetadataFromDiskTransactionState::PREPARING}; + + void addOperation(MetadataOperationPtr && operation); + + void rollback(size_t until_pos); + +public: + explicit MetadataStorageFromDiskTransaction(const MetadataStorageFromDisk & metadata_storage_) + : metadata_storage(metadata_storage_) + {} + + ~MetadataStorageFromDiskTransaction() override = default; + + const IMetadataStorage & getStorageForNonTransactionalReads() const final; + + void commit() final; + + void writeStringToFile(const std::string & path, const std::string & data) override; + + void createEmptyMetadataFile(const std::string & path) override; + + void createMetadataFile(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) override; + + void addBlobToMetadata(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) override; + + void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) override; + + bool supportsChmod() const override { return metadata_storage.supportsChmod(); } + + void chmod(const String & path, mode_t mode) override; + + void setReadOnly(const std::string & path) override; + + void unlinkFile(const std::string & path) override; + + void createDirectory(const std::string & path) override; + + void createDirectoryRecursive(const std::string & path) override; + + void removeDirectory(const std::string & path) override; + + void removeRecursive(const std::string & path) override; + + void createHardLink(const std::string & path_from, const std::string & path_to) override; + + void moveFile(const std::string & path_from, const std::string & path_to) override; + + void moveDirectory(const std::string & path_from, const std::string & path_to) override; + + void replaceFile(const std::string & path_from, const std::string & path_to) override; + + void unlinkMetadata(const std::string & path) override; +}; + + +} diff --git a/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.cpp b/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.cpp new file mode 100644 index 00000000000..4a3f76cb2aa --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.cpp @@ -0,0 +1,348 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + + +namespace DB +{ + +static std::string getTempFileName(const std::string & dir) +{ + return fs::path(dir) / getRandomASCIIString(); +} + +SetLastModifiedOperation::SetLastModifiedOperation(const std::string & path_, Poco::Timestamp new_timestamp_, IDisk & disk_) + : path(path_) + , new_timestamp(new_timestamp_) + , disk(disk_) +{ +} + +void SetLastModifiedOperation::execute(std::unique_lock &) +{ + old_timestamp = disk.getLastModified(path); + disk.setLastModified(path, new_timestamp); +} + +void SetLastModifiedOperation::undo() +{ + disk.setLastModified(path, old_timestamp); +} + +ChmodOperation::ChmodOperation(const std::string & path_, mode_t mode_, IDisk & disk_) + : path(path_) + , mode(mode_) + , disk(disk_) +{ +} + +void ChmodOperation::execute(std::unique_lock &) +{ + old_mode = disk.stat(path).st_mode; + disk.chmod(path, mode); +} + +void ChmodOperation::undo() +{ + disk.chmod(path, old_mode); +} + +UnlinkFileOperation::UnlinkFileOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) +{ +} + +void UnlinkFileOperation::execute(std::unique_lock &) +{ + auto buf = disk.readFile(path); + readStringUntilEOF(prev_data, *buf); + disk.removeFile(path); +} + +void UnlinkFileOperation::undo() +{ + auto buf = disk.writeFile(path); + writeString(prev_data, *buf); + buf->finalize(); +} + +CreateDirectoryOperation::CreateDirectoryOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) +{ +} + +void CreateDirectoryOperation::execute(std::unique_lock &) +{ + disk.createDirectory(path); +} + +void CreateDirectoryOperation::undo() +{ + disk.removeDirectory(path); +} + +CreateDirectoryRecursiveOperation::CreateDirectoryRecursiveOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) +{ +} + +void CreateDirectoryRecursiveOperation::execute(std::unique_lock &) +{ + namespace fs = std::filesystem; + fs::path p(path); + while (!disk.exists(p)) + { + paths_created.push_back(p); + if (!p.has_parent_path()) + break; + p = p.parent_path(); + } + for (const auto & path_to_create : paths_created | std::views::reverse) + disk.createDirectory(path_to_create); +} + +void CreateDirectoryRecursiveOperation::undo() +{ + for (const auto & path_created : paths_created) + disk.removeDirectory(path_created); +} + +RemoveDirectoryOperation::RemoveDirectoryOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) +{ +} + +void RemoveDirectoryOperation::execute(std::unique_lock &) +{ + disk.removeDirectory(path); +} + +void RemoveDirectoryOperation::undo() +{ + disk.createDirectory(path); +} + +RemoveRecursiveOperation::RemoveRecursiveOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) + , temp_path(getTempFileName(fs::path(path).parent_path())) +{ +} + +void RemoveRecursiveOperation::execute(std::unique_lock &) +{ + if (disk.isFile(path)) + disk.moveFile(path, temp_path); + else if (disk.isDirectory(path)) + disk.moveDirectory(path, temp_path); +} + +void RemoveRecursiveOperation::undo() +{ + if (disk.isFile(temp_path)) + disk.moveFile(temp_path, path); + else if (disk.isDirectory(temp_path)) + disk.moveDirectory(temp_path, path); +} + +void RemoveRecursiveOperation::finalize() +{ + if (disk.exists(temp_path)) + disk.removeRecursive(temp_path); + + if (disk.exists(path)) + disk.removeRecursive(path); +} + +CreateHardlinkOperation::CreateHardlinkOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_, const MetadataStorageFromDisk & metadata_storage_) + : path_from(path_from_) + , path_to(path_to_) + , disk(disk_) + , metadata_storage(metadata_storage_) +{ +} + +void CreateHardlinkOperation::execute(std::unique_lock & lock) +{ + auto metadata = metadata_storage.readMetadataUnlocked(path_from, lock); + + metadata->incrementRefCount(); + + write_operation = std::make_unique(path_from, disk, metadata->serializeToString()); + + write_operation->execute(lock); + + disk.createHardLink(path_from, path_to); +} + +void CreateHardlinkOperation::undo() +{ + if (write_operation) + write_operation->undo(); + disk.removeFile(path_to); +} + +MoveFileOperation::MoveFileOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_) + : path_from(path_from_) + , path_to(path_to_) + , disk(disk_) +{ +} + +void MoveFileOperation::execute(std::unique_lock &) +{ + disk.moveFile(path_from, path_to); +} + +void MoveFileOperation::undo() +{ + disk.moveFile(path_to, path_from); +} + +MoveDirectoryOperation::MoveDirectoryOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_) + : path_from(path_from_) + , path_to(path_to_) + , disk(disk_) +{ +} + +void MoveDirectoryOperation::execute(std::unique_lock &) +{ + disk.moveDirectory(path_from, path_to); +} + +void MoveDirectoryOperation::undo() +{ + disk.moveDirectory(path_to, path_from); +} + +ReplaceFileOperation::ReplaceFileOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_) + : path_from(path_from_) + , path_to(path_to_) + , disk(disk_) + , temp_path_to(getTempFileName(fs::path(path_to).parent_path())) +{ +} + +void ReplaceFileOperation::execute(std::unique_lock &) +{ + if (disk.exists(path_to)) + disk.moveFile(path_to, temp_path_to); + + disk.replaceFile(path_from, path_to); +} + +void ReplaceFileOperation::undo() +{ + disk.moveFile(path_to, path_from); + disk.moveFile(temp_path_to, path_to); +} + +void ReplaceFileOperation::finalize() +{ + disk.removeFileIfExists(temp_path_to); +} + +WriteFileOperation::WriteFileOperation(const std::string & path_, IDisk & disk_, const std::string & data_) + : path(path_) + , disk(disk_) + , data(data_) +{ +} + +void WriteFileOperation::execute(std::unique_lock &) +{ + if (disk.exists(path)) + { + existed = true; + auto buf = disk.readFile(path); + readStringUntilEOF(prev_data, *buf); + } + auto buf = disk.writeFile(path); + writeString(data, *buf); + buf->finalize(); +} + +void WriteFileOperation::undo() +{ + if (!existed) + { + disk.removeFileIfExists(path); + } + else + { + auto buf = disk.writeFile(path); + writeString(prev_data, *buf); + } +} + +void AddBlobOperation::execute(std::unique_lock & metadata_lock) +{ + DiskObjectStorageMetadataPtr metadata; + if (metadata_storage.exists(path)) + metadata = metadata_storage.readMetadataUnlocked(path, metadata_lock); + else + metadata = std::make_unique(disk.getPath(), root_path, path); + + metadata->addObject(blob_name, size_in_bytes); + + write_operation = std::make_unique(path, disk, metadata->serializeToString()); + + write_operation->execute(metadata_lock); +} + +void AddBlobOperation::undo() +{ + if (write_operation) + write_operation->undo(); +} + +void UnlinkMetadataFileOperation::execute(std::unique_lock & metadata_lock) +{ + auto metadata = metadata_storage.readMetadataUnlocked(path, metadata_lock); + uint32_t ref_count = metadata->getRefCount(); + if (ref_count != 0) + { + metadata->decrementRefCount(); + write_operation = std::make_unique(path, disk, metadata->serializeToString()); + write_operation->execute(metadata_lock); + } + unlink_operation = std::make_unique(path, disk); + unlink_operation->execute(metadata_lock); +} + +void UnlinkMetadataFileOperation::undo() +{ + if (write_operation) + write_operation->undo(); + + if (unlink_operation) + unlink_operation->undo(); +} + +void SetReadonlyFileOperation::execute(std::unique_lock & metadata_lock) +{ + auto metadata = metadata_storage.readMetadataUnlocked(path, metadata_lock); + metadata->setReadOnly(); + write_operation = std::make_unique(path, disk, metadata->serializeToString()); + write_operation->execute(metadata_lock); +} + +void SetReadonlyFileOperation::undo() +{ + if (write_operation) + write_operation->undo(); +} + +} diff --git a/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.h b/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.h new file mode 100644 index 00000000000..0bce6141301 --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.h @@ -0,0 +1,294 @@ +#pragma once + +#include + +namespace DB +{ +class MetadataStorageFromDisk; +class IDisk; + +/** + * Implementations for transactional operations with metadata used by MetadataStorageFromDisk. + */ + +struct IMetadataOperation +{ + virtual void execute(std::unique_lock & metadata_lock) = 0; + virtual void undo() = 0; + virtual void finalize() {} + virtual ~IMetadataOperation() = default; +}; + +using MetadataOperationPtr = std::unique_ptr; + + +struct SetLastModifiedOperation final : public IMetadataOperation +{ + SetLastModifiedOperation(const std::string & path_, Poco::Timestamp new_timestamp_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path; + Poco::Timestamp new_timestamp; + Poco::Timestamp old_timestamp; + IDisk & disk; +}; + +struct ChmodOperation final : public IMetadataOperation +{ + ChmodOperation(const std::string & path_, mode_t mode_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path; + mode_t mode; + mode_t old_mode; + IDisk & disk; +}; + + +struct UnlinkFileOperation final : public IMetadataOperation +{ + UnlinkFileOperation(const std::string & path_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path; + IDisk & disk; + std::string prev_data; +}; + + +struct CreateDirectoryOperation final : public IMetadataOperation +{ + CreateDirectoryOperation(const std::string & path_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path; + IDisk & disk; +}; + + +struct CreateDirectoryRecursiveOperation final : public IMetadataOperation +{ + CreateDirectoryRecursiveOperation(const std::string & path_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path; + std::vector paths_created; + IDisk & disk; +}; + + +struct RemoveDirectoryOperation final : public IMetadataOperation +{ + RemoveDirectoryOperation(const std::string & path_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path; + IDisk & disk; +}; + +struct RemoveRecursiveOperation final : public IMetadataOperation +{ + RemoveRecursiveOperation(const std::string & path_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + + void finalize() override; + +private: + std::string path; + IDisk & disk; + std::string temp_path; +}; + +struct WriteFileOperation final : public IMetadataOperation +{ + WriteFileOperation(const std::string & path_, IDisk & disk_, const std::string & data_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; +private: + std::string path; + IDisk & disk; + std::string data; + bool existed = false; + std::string prev_data; +}; + +struct CreateHardlinkOperation final : public IMetadataOperation +{ + CreateHardlinkOperation( + const std::string & path_from_, + const std::string & path_to_, + IDisk & disk_, + const MetadataStorageFromDisk & metadata_storage_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path_from; + std::string path_to; + IDisk & disk; + std::unique_ptr write_operation; + const MetadataStorageFromDisk & metadata_storage; +}; + + +struct MoveFileOperation final : public IMetadataOperation +{ + MoveFileOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path_from; + std::string path_to; + IDisk & disk; +}; + + +struct MoveDirectoryOperation final : public IMetadataOperation +{ + MoveDirectoryOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path_from; + std::string path_to; + IDisk & disk; +}; + + +struct ReplaceFileOperation final : public IMetadataOperation +{ + ReplaceFileOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_); + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + + void finalize() override; + +private: + std::string path_from; + std::string path_to; + IDisk & disk; + std::string temp_path_to; +}; + +struct AddBlobOperation final : public IMetadataOperation +{ + AddBlobOperation( + const std::string & path_, + const std::string & blob_name_, + const std::string & root_path_, + uint64_t size_in_bytes_, + IDisk & disk_, + const MetadataStorageFromDisk & metadata_storage_) + : path(path_) + , blob_name(blob_name_) + , root_path(root_path_) + , size_in_bytes(size_in_bytes_) + , disk(disk_) + , metadata_storage(metadata_storage_) + {} + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path; + std::string blob_name; + std::string root_path; + uint64_t size_in_bytes; + IDisk & disk; + const MetadataStorageFromDisk & metadata_storage; + + std::unique_ptr write_operation; +}; + + +struct UnlinkMetadataFileOperation final : public IMetadataOperation +{ + UnlinkMetadataFileOperation( + const std::string & path_, + IDisk & disk_, + const MetadataStorageFromDisk & metadata_storage_) + : path(path_) + , disk(disk_) + , metadata_storage(metadata_storage_) + { + } + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path; + IDisk & disk; + const MetadataStorageFromDisk & metadata_storage; + + std::unique_ptr write_operation; + std::unique_ptr unlink_operation; +}; + +struct SetReadonlyFileOperation final : public IMetadataOperation +{ + SetReadonlyFileOperation( + const std::string & path_, + IDisk & disk_, + const MetadataStorageFromDisk & metadata_storage_) + : path(path_) + , disk(disk_) + , metadata_storage(metadata_storage_) + { + } + + void execute(std::unique_lock & metadata_lock) override; + + void undo() override; + +private: + std::string path; + IDisk & disk; + const MetadataStorageFromDisk & metadata_storage; + + std::unique_ptr write_operation; +}; + +} diff --git a/src/Disks/ObjectStorages/S3/ProxyConfiguration.h b/src/Disks/ObjectStorages/S3/ProxyConfiguration.h index a567c2abb5a..97535ad7729 100644 --- a/src/Disks/ObjectStorages/S3/ProxyConfiguration.h +++ b/src/Disks/ObjectStorages/S3/ProxyConfiguration.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include namespace DB::S3 @@ -16,8 +16,8 @@ class ProxyConfiguration public: virtual ~ProxyConfiguration() = default; /// Returns proxy configuration on each HTTP request. - virtual Aws::Client::ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) = 0; - virtual void errorReport(const Aws::Client::ClientConfigurationPerRequest & config) = 0; + virtual ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) = 0; + virtual void errorReport(const ClientConfigurationPerRequest & config) = 0; }; } diff --git a/src/Disks/ObjectStorages/S3/ProxyListConfiguration.cpp b/src/Disks/ObjectStorages/S3/ProxyListConfiguration.cpp index e8be30ee3e5..7c7bc7966ea 100644 --- a/src/Disks/ObjectStorages/S3/ProxyListConfiguration.cpp +++ b/src/Disks/ObjectStorages/S3/ProxyListConfiguration.cpp @@ -12,15 +12,15 @@ ProxyListConfiguration::ProxyListConfiguration(std::vector proxies_) } -Aws::Client::ClientConfigurationPerRequest ProxyListConfiguration::getConfiguration(const Aws::Http::HttpRequest &) +ClientConfigurationPerRequest ProxyListConfiguration::getConfiguration(const Aws::Http::HttpRequest &) { /// Avoid atomic increment if number of proxies is 1. size_t index = proxies.size() > 1 ? (access_counter++) % proxies.size() : 0; - Aws::Client::ClientConfigurationPerRequest cfg; - cfg.proxyScheme = Aws::Http::SchemeMapper::FromString(proxies[index].getScheme().c_str()); - cfg.proxyHost = proxies[index].getHost(); - cfg.proxyPort = proxies[index].getPort(); + ClientConfigurationPerRequest cfg; + cfg.proxy_scheme = Aws::Http::SchemeMapper::FromString(proxies[index].getScheme().c_str()); + cfg.proxy_host = proxies[index].getHost(); + cfg.proxy_port = proxies[index].getPort(); LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Use proxy: {}", proxies[index].toString()); diff --git a/src/Disks/ObjectStorages/S3/ProxyListConfiguration.h b/src/Disks/ObjectStorages/S3/ProxyListConfiguration.h index c7a4ee9ec58..2ef1b5bbb16 100644 --- a/src/Disks/ObjectStorages/S3/ProxyListConfiguration.h +++ b/src/Disks/ObjectStorages/S3/ProxyListConfiguration.h @@ -17,8 +17,8 @@ class ProxyListConfiguration : public ProxyConfiguration { public: explicit ProxyListConfiguration(std::vector proxies_); - Aws::Client::ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) override; - void errorReport(const Aws::Client::ClientConfigurationPerRequest &) override {} + ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) override; + void errorReport(const ClientConfigurationPerRequest &) override {} private: /// List of configured proxies. diff --git a/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.cpp b/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.cpp index 7449c5200de..109ccf0eba7 100644 --- a/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.cpp +++ b/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.cpp @@ -24,17 +24,17 @@ ProxyResolverConfiguration::ProxyResolverConfiguration(const Poco::URI & endpoin { } -Aws::Client::ClientConfigurationPerRequest ProxyResolverConfiguration::getConfiguration(const Aws::Http::HttpRequest &) +ClientConfigurationPerRequest ProxyResolverConfiguration::getConfiguration(const Aws::Http::HttpRequest &) { LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Obtain proxy using resolver: {}", endpoint.toString()); - std::unique_lock lock(cache_mutex); + std::lock_guard lock(cache_mutex); std::chrono::time_point now = std::chrono::system_clock::now(); if (cache_ttl.count() && cache_valid && now <= cache_timestamp + cache_ttl && now >= cache_timestamp) { - LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Use cached proxy: {}://{}:{}", Aws::Http::SchemeMapper::ToString(cached_config.proxyScheme), cached_config.proxyHost, cached_config.proxyPort); + LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Use cached proxy: {}://{}:{}", Aws::Http::SchemeMapper::ToString(cached_config.proxy_scheme), cached_config.proxy_host, cached_config.proxy_port); return cached_config; } @@ -88,9 +88,9 @@ Aws::Client::ClientConfigurationPerRequest ProxyResolverConfiguration::getConfig LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Use proxy: {}://{}:{}", proxy_scheme, proxy_host, proxy_port); - cached_config.proxyScheme = Aws::Http::SchemeMapper::FromString(proxy_scheme.c_str()); - cached_config.proxyHost = proxy_host; - cached_config.proxyPort = proxy_port; + cached_config.proxy_scheme = Aws::Http::SchemeMapper::FromString(proxy_scheme.c_str()); + cached_config.proxy_host = proxy_host; + cached_config.proxy_port = proxy_port; cache_timestamp = std::chrono::system_clock::now(); cache_valid = true; @@ -100,23 +100,23 @@ Aws::Client::ClientConfigurationPerRequest ProxyResolverConfiguration::getConfig { tryLogCurrentException("AWSClient", "Failed to obtain proxy"); /// Don't use proxy if it can't be obtained. - Aws::Client::ClientConfigurationPerRequest cfg; + ClientConfigurationPerRequest cfg; return cfg; } } -void ProxyResolverConfiguration::errorReport(const Aws::Client::ClientConfigurationPerRequest & config) +void ProxyResolverConfiguration::errorReport(const ClientConfigurationPerRequest & config) { - if (config.proxyHost.empty()) + if (config.proxy_host.empty()) return; - std::unique_lock lock(cache_mutex); + std::lock_guard lock(cache_mutex); if (!cache_ttl.count() || !cache_valid) return; - if (cached_config.proxyScheme != config.proxyScheme || cached_config.proxyHost != config.proxyHost - || cached_config.proxyPort != config.proxyPort) + if (std::tie(cached_config.proxy_scheme, cached_config.proxy_host, cached_config.proxy_port) + != std::tie(config.proxy_scheme, config.proxy_host, config.proxy_port)) return; /// Invalidate cached proxy when got error with this proxy diff --git a/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.h b/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.h index f5baac54fba..58eda8a9a06 100644 --- a/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.h +++ b/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.h @@ -19,8 +19,8 @@ class ProxyResolverConfiguration : public ProxyConfiguration { public: ProxyResolverConfiguration(const Poco::URI & endpoint_, String proxy_scheme_, unsigned proxy_port_, unsigned cache_ttl_); - Aws::Client::ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) override; - void errorReport(const Aws::Client::ClientConfigurationPerRequest & config) override; + ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) override; + void errorReport(const ClientConfigurationPerRequest & config) override; private: /// Endpoint to obtain a proxy host. @@ -34,7 +34,7 @@ private: bool cache_valid = false; std::chrono::time_point cache_timestamp; const std::chrono::seconds cache_ttl{0}; - Aws::Client::ClientConfigurationPerRequest cached_config; + ClientConfigurationPerRequest cached_config; }; } diff --git a/src/Disks/ObjectStorages/S3/S3Capabilities.cpp b/src/Disks/ObjectStorages/S3/S3Capabilities.cpp new file mode 100644 index 00000000000..3e9a7d729b3 --- /dev/null +++ b/src/Disks/ObjectStorages/S3/S3Capabilities.cpp @@ -0,0 +1,15 @@ +#include + +namespace DB +{ + +S3Capabilities getCapabilitiesFromConfig(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix) +{ + return S3Capabilities + { + .support_batch_delete = config.getBool(config_prefix + ".support_batch_delete", true), + .support_proxy = config.getBool(config_prefix + ".support_proxy", config.has(config_prefix + ".proxy")), + }; +} + +} diff --git a/src/Disks/ObjectStorages/S3/S3Capabilities.h b/src/Disks/ObjectStorages/S3/S3Capabilities.h new file mode 100644 index 00000000000..622558f5d23 --- /dev/null +++ b/src/Disks/ObjectStorages/S3/S3Capabilities.h @@ -0,0 +1,26 @@ +#pragma once + +#include +#include + +namespace DB +{ + +/// Supported/unsupported features by different S3 implementations +/// Can be useful only for almost compatible with AWS S3 versions. +struct S3Capabilities +{ + /// Google S3 implementation doesn't support batch delete + /// TODO: possibly we have to use Google SDK https://github.com/googleapis/google-cloud-cpp/tree/main/google/cloud/storage + /// because looks like it misses some features: + /// 1) batch delete (DeleteObjects) + /// 2) upload part copy (UploadPartCopy) + bool support_batch_delete{true}; + + /// Y.Cloud S3 implementation support proxy for connection + bool support_proxy{false}; +}; + +S3Capabilities getCapabilitiesFromConfig(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix); + +} diff --git a/src/Disks/ObjectStorages/S3/S3ObjectStorage.cpp b/src/Disks/ObjectStorages/S3/S3ObjectStorage.cpp index 78c0fa0ae3c..e017e19c06c 100644 --- a/src/Disks/ObjectStorages/S3/S3ObjectStorage.cpp +++ b/src/Disks/ObjectStorages/S3/S3ObjectStorage.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -25,6 +26,9 @@ #include #include +#include +#include +#include namespace DB { @@ -38,14 +42,10 @@ namespace ErrorCodes namespace { -template -void throwIfError(Aws::Utils::Outcome & response) +bool isNotFoundError(Aws::S3::S3Errors error) { - if (!response.IsSuccess()) - { - const auto & err = response.GetError(); - throw Exception(std::to_string(static_cast(err.GetErrorType())) + ": " + err.GetMessage(), ErrorCodes::S3_ERROR); - } + return error == Aws::S3::S3Errors::RESOURCE_NOT_FOUND + || error == Aws::S3::S3Errors::NO_SUCH_KEY; } template @@ -54,7 +54,21 @@ void throwIfError(const Aws::Utils::Outcome & response) if (!response.IsSuccess()) { const auto & err = response.GetError(); - throw Exception(err.GetMessage(), static_cast(err.GetErrorType())); + throw Exception(ErrorCodes::S3_ERROR, "{} (Code: {})", err.GetMessage(), static_cast(err.GetErrorType())); + } +} + +template +void throwIfUnexpectedError(const Aws::Utils::Outcome & response, bool if_exists) +{ + /// In this case even if absence of key may be ok for us, + /// the log will be polluted with error messages from aws sdk. + /// Looks like there is no way to suppress them. + + if (!response.IsSuccess() && (!if_exists || !isNotFoundError(response.GetError().GetErrorType()))) + { + const auto & err = response.GetError(); + throw Exception(ErrorCodes::S3_ERROR, "{} (Code: {})", err.GetMessage(), static_cast(err.GetErrorType())); } } @@ -73,6 +87,11 @@ void logIfError(const Aws::Utils::Outcome & response, std::functi } +std::string S3ObjectStorage::generateBlobNameForPath(const std::string & /* path */) +{ + return getRandomASCIIString(); +} + Aws::S3::Model::HeadObjectOutcome S3ObjectStorage::requestObjectHeadData(const std::string & bucket_from, const std::string & key) const { auto client_ptr = client.get(); @@ -83,9 +102,9 @@ Aws::S3::Model::HeadObjectOutcome S3ObjectStorage::requestObjectHeadData(const s return client_ptr->HeadObject(request); } -bool S3ObjectStorage::exists(const std::string & path) const +bool S3ObjectStorage::exists(const StoredObject & object) const { - auto object_head = requestObjectHeadData(bucket, path); + auto object_head = requestObjectHeadData(bucket, object.absolute_path); if (!object_head.IsSuccess()) { if (object_head.GetError().GetErrorType() == Aws::S3::S3Errors::RESOURCE_NOT_FOUND) @@ -96,29 +115,56 @@ bool S3ObjectStorage::exists(const std::string & path) const return true; } +String S3ObjectStorage::getCacheBasePath() const +{ + if (!cache) + return ""; + + return cache->getBasePath(); +} + +void S3ObjectStorage::removeCacheIfExists(const std::string & path_key) +{ + if (!cache || path_key.empty()) + return; + + FileCache::Key key = cache->hash(path_key); + cache->removeIfExists(key); +} std::unique_ptr S3ObjectStorage::readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const StoredObjects & objects, const ReadSettings & read_settings, std::optional, std::optional) const { + assert(!objects[0].getPathKeyForCache().empty()); - ReadSettings disk_read_settings{read_settings}; - if (cache) - { - if (IFileCache::isReadOnly()) - disk_read_settings.read_from_filesystem_cache_if_exists_otherwise_bypass_cache = true; - - disk_read_settings.remote_fs_cache = cache; - } + ReadSettings disk_read_settings = patchSettings(read_settings); auto settings_ptr = s3_settings.get(); - auto s3_impl = std::make_unique( - client.get(), bucket, version_id, common_path_prefix, blobs_to_read, - settings_ptr->s3_settings.max_single_read_retries, disk_read_settings); + auto read_buffer_creator = + [this, settings_ptr, disk_read_settings] + (const std::string & path, size_t read_until_position) -> std::shared_ptr + { + return std::make_shared( + client.get(), + bucket, + path, + version_id, + settings_ptr->s3_settings.max_single_read_retries, + disk_read_settings, + /* use_external_buffer */true, + /* offset */0, + read_until_position, + /* restricted_seek */true); + }; + + auto s3_impl = std::make_unique( + std::move(read_buffer_creator), + objects, + disk_read_settings); if (read_settings.remote_fs_method == RemoteFSReadMethod::threadpool) { @@ -132,56 +178,57 @@ std::unique_ptr S3ObjectStorage::readObjects( /// NOLINT } } -std::unique_ptr S3ObjectStorage::readObject( /// NOLINT - const std::string & path, +std::unique_ptr S3ObjectStorage::readObject( /// NOLINT + const StoredObject & object, const ReadSettings & read_settings, std::optional, std::optional) const { auto settings_ptr = s3_settings.get(); - ReadSettings disk_read_settings{read_settings}; - if (cache) - { - if (IFileCache::isReadOnly()) - disk_read_settings.read_from_filesystem_cache_if_exists_otherwise_bypass_cache = true; - - disk_read_settings.remote_fs_cache = cache; - } - - return std::make_unique(client.get(), bucket, path, version_id, settings_ptr->s3_settings.max_single_read_retries, disk_read_settings); + return std::make_unique( + client.get(), + bucket, + object.absolute_path, + version_id, + settings_ptr->s3_settings.max_single_read_retries, + patchSettings(read_settings)); } - std::unique_ptr S3ObjectStorage::writeObject( /// NOLINT - const std::string & path, + const StoredObject & object, WriteMode mode, // S3 doesn't support append, only rewrite std::optional attributes, FinalizeCallback && finalize_callback, size_t buf_size, const WriteSettings & write_settings) { + WriteSettings disk_write_settings = IObjectStorage::patchSettings(write_settings); + if (mode != WriteMode::Rewrite) throw Exception(ErrorCodes::BAD_ARGUMENTS, "S3 doesn't support append to files"); bool cache_on_write = cache - && fs::path(path).extension() != ".tmp" - && write_settings.enable_filesystem_cache_on_write_operations - && FileCacheFactory::instance().getSettings(getCacheBasePath()).cache_on_write_operations; + && write_settings.enable_filesystem_cache_on_write_operations + && FileCacheFactory::instance().getSettings(getCacheBasePath()).cache_on_write_operations; auto settings_ptr = s3_settings.get(); auto s3_buffer = std::make_unique( client.get(), bucket, - path, + object.absolute_path, settings_ptr->s3_settings, attributes, - buf_size, threadPoolCallbackRunner(getThreadPoolWriter()), + buf_size, + threadPoolCallbackRunner(getThreadPoolWriter()), + disk_write_settings, cache_on_write ? cache : nullptr); - return std::make_unique(std::move(s3_buffer), std::move(finalize_callback), path); + + return std::make_unique( + std::move(s3_buffer), std::move(finalize_callback), object.absolute_path); } -void S3ObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & children) const +void S3ObjectStorage::listPrefix(const std::string & path, RelativePathsWithSize & children) const { auto settings_ptr = s3_settings.get(); auto client_ptr = client.get(); @@ -210,112 +257,81 @@ void S3ObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & chi } while (outcome.GetResult().GetIsTruncated()); } -void S3ObjectStorage::removeObject(const std::string & path) +void S3ObjectStorage::removeObjectImpl(const StoredObject & object, bool if_exists) { auto client_ptr = client.get(); - Aws::S3::Model::ObjectIdentifier obj; - obj.SetKey(path); - Aws::S3::Model::Delete delkeys; - delkeys.SetObjects({obj}); - - Aws::S3::Model::DeleteObjectsRequest request; + Aws::S3::Model::DeleteObjectRequest request; request.SetBucket(bucket); - request.SetDelete(delkeys); - auto outcome = client_ptr->DeleteObjects(request); + request.SetKey(object.absolute_path); + auto outcome = client_ptr->DeleteObject(request); - throwIfError(outcome); + throwIfUnexpectedError(outcome, if_exists); } -void S3ObjectStorage::removeObjects(const std::vector & paths) +void S3ObjectStorage::removeObjectsImpl(const StoredObjects & objects, bool if_exists) { - if (paths.empty()) + if (objects.empty()) return; - auto client_ptr = client.get(); - auto settings_ptr = s3_settings.get(); - - size_t chunk_size_limit = settings_ptr->objects_chunk_size_to_delete; - size_t current_position = 0; - - while (current_position < paths.size()) + if (!s3_capabilities.support_batch_delete) { - std::vector current_chunk; - String keys; - for (; current_position < paths.size() && current_chunk.size() < chunk_size_limit; ++current_position) + for (const auto & object : objects) + removeObjectImpl(object, if_exists); + } + else + { + auto client_ptr = client.get(); + auto settings_ptr = s3_settings.get(); + + size_t chunk_size_limit = settings_ptr->objects_chunk_size_to_delete; + size_t current_position = 0; + + while (current_position < objects.size()) { - Aws::S3::Model::ObjectIdentifier obj; - obj.SetKey(paths[current_position]); - current_chunk.push_back(obj); + std::vector current_chunk; + String keys; + for (; current_position < objects.size() && current_chunk.size() < chunk_size_limit; ++current_position) + { + Aws::S3::Model::ObjectIdentifier obj; + obj.SetKey(objects[current_position].absolute_path); + current_chunk.push_back(obj); - if (!keys.empty()) - keys += ", "; - keys += paths[current_position]; + if (!keys.empty()) + keys += ", "; + keys += objects[current_position].absolute_path; + } + + Aws::S3::Model::Delete delkeys; + delkeys.SetObjects(current_chunk); + Aws::S3::Model::DeleteObjectsRequest request; + request.SetBucket(bucket); + request.SetDelete(delkeys); + auto outcome = client_ptr->DeleteObjects(request); + + throwIfUnexpectedError(outcome, if_exists); } - - Aws::S3::Model::Delete delkeys; - delkeys.SetObjects(current_chunk); - Aws::S3::Model::DeleteObjectsRequest request; - request.SetBucket(bucket); - request.SetDelete(delkeys); - auto outcome = client_ptr->DeleteObjects(request); - throwIfError(outcome); } } -void S3ObjectStorage::removeObjectIfExists(const std::string & path) +void S3ObjectStorage::removeObject(const StoredObject & object) { - auto client_ptr = client.get(); - Aws::S3::Model::ObjectIdentifier obj; - obj.SetKey(path); - - Aws::S3::Model::Delete delkeys; - delkeys.SetObjects({obj}); - - Aws::S3::Model::DeleteObjectsRequest request; - request.SetBucket(bucket); - request.SetDelete(delkeys); - auto outcome = client_ptr->DeleteObjects(request); - if (!outcome.IsSuccess() && outcome.GetError().GetErrorType() != Aws::S3::S3Errors::RESOURCE_NOT_FOUND) - throwIfError(outcome); + removeObjectImpl(object, false); } -void S3ObjectStorage::removeObjectsIfExist(const std::vector & paths) +void S3ObjectStorage::removeObjectIfExists(const StoredObject & object) { - if (paths.empty()) - return; + removeObjectImpl(object, true); +} - auto client_ptr = client.get(); - auto settings_ptr = s3_settings.get(); +void S3ObjectStorage::removeObjects(const StoredObjects & objects) +{ + removeObjectsImpl(objects, false); +} - - size_t chunk_size_limit = settings_ptr->objects_chunk_size_to_delete; - size_t current_position = 0; - - while (current_position < paths.size()) - { - std::vector current_chunk; - String keys; - for (; current_position < paths.size() && current_chunk.size() < chunk_size_limit; ++current_position) - { - Aws::S3::Model::ObjectIdentifier obj; - obj.SetKey(paths[current_position]); - current_chunk.push_back(obj); - - if (!keys.empty()) - keys += ", "; - keys += paths[current_position]; - } - - Aws::S3::Model::Delete delkeys; - delkeys.SetObjects(current_chunk); - Aws::S3::Model::DeleteObjectsRequest request; - request.SetBucket(bucket); - request.SetDelete(delkeys); - auto outcome = client_ptr->DeleteObjects(request); - if (!outcome.IsSuccess() && outcome.GetError().GetErrorType() != Aws::S3::S3Errors::RESOURCE_NOT_FOUND) - throwIfError(outcome); - } +void S3ObjectStorage::removeObjectsIfExist(const StoredObjects & objects) +{ + removeObjectsImpl(objects, true); } ObjectMetadata S3ObjectStorage::getObjectMetadata(const std::string & path) const @@ -333,16 +349,28 @@ ObjectMetadata S3ObjectStorage::getObjectMetadata(const std::string & path) cons return result; } -void S3ObjectStorage::copyObjectToAnotherObjectStorage(const std::string & object_from, const std::string & object_to, IObjectStorage & object_storage_to, std::optional object_to_attributes) // NOLINT +void S3ObjectStorage::copyObjectToAnotherObjectStorage( // NOLINT + const StoredObject & object_from, + const StoredObject & object_to, + IObjectStorage & object_storage_to, + std::optional object_to_attributes) { /// Shortcut for S3 if (auto * dest_s3 = dynamic_cast(&object_storage_to); dest_s3 != nullptr) - copyObjectImpl(bucket, object_from, dest_s3->bucket, object_to, {}, object_to_attributes); + { + copyObjectImpl(bucket, object_from.absolute_path, dest_s3->bucket, object_to.absolute_path, {}, object_to_attributes); + } else + { IObjectStorage::copyObjectToAnotherObjectStorage(object_from, object_to, object_storage_to, object_to_attributes); + } } -void S3ObjectStorage::copyObjectImpl(const String & src_bucket, const String & src_key, const String & dst_bucket, const String & dst_key, +void S3ObjectStorage::copyObjectImpl( + const String & src_bucket, + const String & src_key, + const String & dst_bucket, + const String & dst_key, std::optional head, std::optional metadata) const { @@ -368,7 +396,11 @@ void S3ObjectStorage::copyObjectImpl(const String & src_bucket, const String & s throwIfError(outcome); } -void S3ObjectStorage::copyObjectMultipartImpl(const String & src_bucket, const String & src_key, const String & dst_bucket, const String & dst_key, +void S3ObjectStorage::copyObjectMultipartImpl( + const String & src_bucket, + const String & src_key, + const String & dst_bucket, + const String & dst_key, std::optional head, std::optional metadata) const { @@ -445,13 +477,35 @@ void S3ObjectStorage::copyObjectMultipartImpl(const String & src_bucket, const S } } -void S3ObjectStorage::copyObject(const std::string & object_from, const std::string & object_to, std::optional object_to_attributes) // NOLINT +void S3ObjectStorage::copyObject( // NOLINT + const StoredObject & object_from, const StoredObject & object_to, std::optional object_to_attributes) { - auto head = requestObjectHeadData(bucket, object_from).GetResult(); - if (head.GetContentLength() >= static_cast(5UL * 1024 * 1024 * 1024)) - copyObjectMultipartImpl(bucket, object_from, bucket, object_to, head, object_to_attributes); + auto head = requestObjectHeadData(bucket, object_from.absolute_path).GetResult(); + static constexpr int64_t multipart_upload_threashold = 5UL * 1024 * 1024 * 1024; + + if (head.GetContentLength() >= multipart_upload_threashold) + { + copyObjectMultipartImpl( + bucket, object_from.absolute_path, bucket, object_to.absolute_path, head, object_to_attributes); + } else - copyObjectImpl(bucket, object_from, bucket, object_to, head, object_to_attributes); + { + copyObjectImpl( + bucket, object_from.absolute_path, bucket, object_to.absolute_path, head, object_to_attributes); + } +} + +ReadSettings S3ObjectStorage::patchSettings(const ReadSettings & read_settings) const +{ + ReadSettings settings{read_settings}; + if (cache) + { + if (FileCache::isReadOnly()) + settings.read_from_filesystem_cache_if_exists_otherwise_bypass_cache = true; + + settings.remote_fs_cache = cache; + } + return IObjectStorage::patchSettings(settings); } void S3ObjectStorage::setNewSettings(std::unique_ptr && s3_settings_) @@ -486,14 +540,16 @@ void S3ObjectStorage::applyNewSettings(const Poco::Util::AbstractConfiguration & { s3_settings.set(getSettings(config, config_prefix, context)); client.set(getClient(config, config_prefix, context)); + applyRemoteThrottlingSettings(context); } -std::unique_ptr S3ObjectStorage::cloneObjectStorage(const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) +std::unique_ptr S3ObjectStorage::cloneObjectStorage( + const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) { return std::make_unique( - nullptr, getClient(config, config_prefix, context), + getClient(config, config_prefix, context), getSettings(config, config_prefix, context), - version_id, new_namespace); + version_id, s3_capabilities, new_namespace, nullptr); } } diff --git a/src/Disks/ObjectStorages/S3/S3ObjectStorage.h b/src/Disks/ObjectStorages/S3/S3ObjectStorage.h index 9c6c7664ffb..8f20671d841 100644 --- a/src/Disks/ObjectStorages/S3/S3ObjectStorage.h +++ b/src/Disks/ObjectStorages/S3/S3ObjectStorage.h @@ -5,11 +5,13 @@ #if USE_AWS_S3 #include +#include #include #include #include #include #include +#include namespace DB @@ -42,62 +44,72 @@ class S3ObjectStorage : public IObjectStorage { public: S3ObjectStorage( - FileCachePtr && cache_, std::unique_ptr && client_, std::unique_ptr && s3_settings_, String version_id_, - String bucket_) - : IObjectStorage(std::move(cache_)) - , bucket(bucket_) + const S3Capabilities & s3_capabilities_, + String bucket_, + FileCachePtr cache_) + : bucket(bucket_) , client(std::move(client_)) , s3_settings(std::move(s3_settings_)) + , s3_capabilities(s3_capabilities_) , version_id(std::move(version_id_)) - {} + , cache(cache_) + { + } - bool exists(const std::string & path) const override; + std::string getName() const override { return "S3ObjectStorage"; } - std::unique_ptr readObject( /// NOLINT - const std::string & path, + bool exists(const StoredObject & object) const override; + + std::unique_ptr readObject( /// NOLINT + const StoredObject & object, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const override; std::unique_ptr readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const StoredObjects & objects, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const override; /// Open the file for write and return WriteBufferFromFileBase object. std::unique_ptr writeObject( /// NOLINT - const std::string & path, + const StoredObject & object, WriteMode mode, std::optional attributes = {}, FinalizeCallback && finalize_callback = {}, size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, const WriteSettings & write_settings = {}) override; - void listPrefix(const std::string & path, BlobsPathToSize & children) const override; - /// Remove file. Throws exception if file doesn't exist or it's a directory. - void removeObject(const std::string & path) override; + void listPrefix(const std::string & path, RelativePathsWithSize & children) const override; - void removeObjects(const std::vector & paths) override; + /// Uses `DeleteObjectRequest`. + void removeObject(const StoredObject & object) override; - void removeObjectIfExists(const std::string & path) override; + /// Uses `DeleteObjectsRequest` if it is allowed by `s3_capabilities`, otherwise `DeleteObjectRequest`. + /// `DeleteObjectsRequest` is not supported on GCS, see https://issuetracker.google.com/issues/162653700 . + void removeObjects(const StoredObjects & objects) override; - void removeObjectsIfExist(const std::vector & paths) override; + /// Uses `DeleteObjectRequest`. + void removeObjectIfExists(const StoredObject & object) override; + + /// Uses `DeleteObjectsRequest` if it is allowed by `s3_capabilities`, otherwise `DeleteObjectRequest`. + /// `DeleteObjectsRequest` does not exist on GCS, see https://issuetracker.google.com/issues/162653700 . + void removeObjectsIfExist(const StoredObjects & objects) override; ObjectMetadata getObjectMetadata(const std::string & path) const override; void copyObject( /// NOLINT - const std::string & object_from, - const std::string & object_to, + const StoredObject & object_from, + const StoredObject & object_to, std::optional object_to_attributes = {}) override; void copyObjectToAnotherObjectStorage( /// NOLINT - const std::string & object_from, - const std::string & object_to, + const StoredObject & object_from, + const StoredObject & object_to, IObjectStorage & object_storage_to, std::optional object_to_attributes = {}) override; @@ -105,32 +117,68 @@ public: void startup() override; - void applyNewSettings(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + void applyNewSettings( + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; - String getObjectsNamespace() const override { return bucket; } + std::string getObjectsNamespace() const override { return bucket; } + + std::string generateBlobNameForPath(const std::string & path) override; + + bool isRemote() const override { return true; } + + void setCapabilitiesSupportBatchDelete(bool value) { s3_capabilities.support_batch_delete = value; } + + std::unique_ptr cloneObjectStorage( + const std::string & new_namespace, + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; + + bool supportsCache() const override { return true; } + + void removeCacheIfExists(const std::string & path_key) override; + + String getCacheBasePath() const override; - std::unique_ptr cloneObjectStorage(const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; private: + ReadSettings patchSettings(const ReadSettings & read_settings) const; + void setNewSettings(std::unique_ptr && s3_settings_); void setNewClient(std::unique_ptr && client_); - void copyObjectImpl(const String & src_bucket, const String & src_key, const String & dst_bucket, const String & dst_key, + void copyObjectImpl( + const String & src_bucket, + const String & src_key, + const String & dst_bucket, + const String & dst_key, std::optional head = std::nullopt, std::optional metadata = std::nullopt) const; - void copyObjectMultipartImpl(const String & src_bucket, const String & src_key, const String & dst_bucket, const String & dst_key, + void copyObjectMultipartImpl( + const String & src_bucket, + const String & src_key, + const String & dst_bucket, + const String & dst_key, std::optional head = std::nullopt, std::optional metadata = std::nullopt) const; + void removeObjectImpl(const StoredObject & object, bool if_exists); + void removeObjectsImpl(const StoredObjects & objects, bool if_exists); + Aws::S3::Model::HeadObjectOutcome requestObjectHeadData(const std::string & bucket_from, const std::string & key) const; std::string bucket; MultiVersion client; MultiVersion s3_settings; + S3Capabilities s3_capabilities; const String version_id; + + FileCachePtr cache; }; } diff --git a/src/Disks/ObjectStorages/S3/diskSettings.cpp b/src/Disks/ObjectStorages/S3/diskSettings.cpp index 79a7978c53e..11f7b2e8ad7 100644 --- a/src/Disks/ObjectStorages/S3/diskSettings.cpp +++ b/src/Disks/ObjectStorages/S3/diskSettings.cpp @@ -12,13 +12,16 @@ #include #include #include -#include + #include +#include #include #include #include +#include #include #include + #include namespace DB @@ -128,7 +131,7 @@ std::unique_ptr getClient(const Poco::Util::AbstractConfigura auto proxy_config = getProxyConfiguration(config_prefix, config); if (proxy_config) { - client_configuration.perRequestConfiguration + client_configuration.per_request_configuration = [proxy_config](const auto & request) { return proxy_config->getConfiguration(request); }; client_configuration.error_report = [proxy_config](const auto & request_config) { proxy_config->errorReport(request_config); }; diff --git a/src/Disks/ObjectStorages/S3/diskSettings.h b/src/Disks/ObjectStorages/S3/diskSettings.h index b06e412b6e9..9092f5e712d 100644 --- a/src/Disks/ObjectStorages/S3/diskSettings.h +++ b/src/Disks/ObjectStorages/S3/diskSettings.h @@ -4,22 +4,22 @@ #if USE_AWS_S3 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include + +namespace Aws +{ +namespace S3 +{ +class S3Client; +} +} namespace DB { +struct S3ObjectStorageSettings; + std::unique_ptr getSettings(const Poco::Util::AbstractConfiguration & config, const String & config_prefix, ContextPtr context); std::unique_ptr getClient(const Poco::Util::AbstractConfiguration & config, const String & config_prefix, ContextPtr context); diff --git a/src/Disks/ObjectStorages/S3/registerDiskS3.cpp b/src/Disks/ObjectStorages/S3/registerDiskS3.cpp index d7e82ef3392..f946e9757c1 100644 --- a/src/Disks/ObjectStorages/S3/registerDiskS3.cpp +++ b/src/Disks/ObjectStorages/S3/registerDiskS3.cpp @@ -11,12 +11,14 @@ #include #include + #include +#include + #include #include #include - #include #include #include @@ -24,11 +26,11 @@ #include #include #include - -#include +#include #include + namespace DB { @@ -50,6 +52,8 @@ void checkWriteAccess(IDisk & disk) } catch (...) { + /// Log current exception, because finalize() can throw a different exception. + tryLogCurrentException(__PRETTY_FUNCTION__); file->finalize(); throw; } @@ -64,7 +68,49 @@ void checkReadAccess(const String & disk_name, IDisk & disk) throw Exception("No read access to S3 bucket in disk " + disk_name, ErrorCodes::PATH_ACCESS_DENIED); } -void checkRemoveAccess(IDisk & disk) { disk.removeFile("test_acl"); } +void checkRemoveAccess(IDisk & disk) +{ + disk.removeFile("test_acl"); +} + +bool checkBatchRemoveIsMissing(S3ObjectStorage & storage, const String & key_with_trailing_slash) +{ + StoredObject object(key_with_trailing_slash + "_test_remove_objects_capability"); + try + { + auto file = storage.writeObject(object, WriteMode::Rewrite); + file->write("test", 4); + file->finalize(); + } + catch (...) + { + try + { + storage.removeObject(object); + } + catch (...) + { + } + return false; /// We don't have write access, therefore no information about batch remove. + } + try + { + /// Uses `DeleteObjects` request (batch delete). + storage.removeObjects({object}); + return false; + } + catch (const Exception &) + { + try + { + storage.removeObject(object); + } + catch (...) + { + } + return true; + } +} } @@ -85,12 +131,33 @@ void registerDiskS3(DiskFactory & factory) auto [metadata_path, metadata_disk] = prepareForLocalMetadata(name, config, config_prefix, context); - FileCachePtr cache = getCachePtrForDisk(name, config, config_prefix, context); + auto metadata_storage = std::make_shared(metadata_disk, uri.key); - ObjectStoragePtr s3_storage = std::make_unique( - std::move(cache), getClient(config, config_prefix, context), + FileCachePtr cache = getCachePtrForDisk(name, config, config_prefix, context); + S3Capabilities s3_capabilities = getCapabilitiesFromConfig(config, config_prefix); + + auto s3_storage = std::make_unique( + getClient(config, config_prefix, context), getSettings(config, config_prefix, context), - uri.version_id, uri.bucket); + uri.version_id, s3_capabilities, uri.bucket, cache); + + bool skip_access_check = config.getBool(config_prefix + ".skip_access_check", false); + + if (!skip_access_check) + { + /// If `support_batch_delete` is turned on (default), check and possibly switch it off. + if (s3_capabilities.support_batch_delete && checkBatchRemoveIsMissing(*s3_storage, uri.key)) + { + LOG_WARNING( + &Poco::Logger::get("registerDiskS3"), + "Storage for disk {} does not support batch delete operations, " + "so `s3_capabilities.support_batch_delete` was automatically turned off during the access check. " + "To remove this message set `s3_capabilities.support_batch_delete` for the disk to `false`.", + name + ); + s3_storage->setCapabilitiesSupportBatchDelete(false); + } + } bool send_metadata = config.getBool(config_prefix + ".send_metadata", false); uint64_t copy_thread_pool_size = config.getUInt(config_prefix + ".thread_pool_size", 16); @@ -99,14 +166,14 @@ void registerDiskS3(DiskFactory & factory) name, uri.key, "DiskS3", - metadata_disk, + std::move(metadata_storage), std::move(s3_storage), DiskType::S3, send_metadata, copy_thread_pool_size); /// This code is used only to check access to the corresponding disk. - if (!config.getBool(config_prefix + ".skip_access_check", false)) + if (!skip_access_check) { checkWriteAccess(*s3disk); checkReadAccess(name, *s3disk); diff --git a/src/Disks/ObjectStorages/StoredObject.cpp b/src/Disks/ObjectStorages/StoredObject.cpp new file mode 100644 index 00000000000..1341f468bf2 --- /dev/null +++ b/src/Disks/ObjectStorages/StoredObject.cpp @@ -0,0 +1,55 @@ +#include + +#include +#include +#include + + +namespace DB +{ + +StoredObject::StoredObject( + const std::string & absolute_path_, + uint64_t bytes_size_, + PathKeyForCacheCreator && path_key_for_cache_creator_) + : absolute_path(absolute_path_) + , bytes_size(bytes_size_) + , path_key_for_cache_creator(std::move(path_key_for_cache_creator_)) +{ +} + +std::string StoredObject::getPathKeyForCache() const +{ + if (!path_key_for_cache_creator) + return ""; /// This empty result need to be used with care. + + return path_key_for_cache_creator(absolute_path); +} + +StoredObject StoredObject::create( + const IObjectStorage & object_storage, const std::string & object_path, size_t object_size, bool object_bypasses_cache) +{ + if (object_bypasses_cache) + return StoredObject(object_path, object_size, {}); + + auto path_key_for_cache_creator = [&object_storage](const std::string & path) -> String + { + try + { + return object_storage.getUniqueId(path); + } + catch (...) + { + LOG_DEBUG( + &Poco::Logger::get("StoredObject"), + "Object does not exist while getting cache path hint (object path: {})", + path); + + return ""; + } + }; + + return StoredObject(object_path, object_size, std::move(path_key_for_cache_creator)); +} + +} diff --git a/src/Disks/ObjectStorages/StoredObject.h b/src/Disks/ObjectStorages/StoredObject.h new file mode 100644 index 00000000000..0b8028b6ef6 --- /dev/null +++ b/src/Disks/ObjectStorages/StoredObject.h @@ -0,0 +1,36 @@ +#pragma once + +#include +#include + +namespace DB +{ + +/// Object metadata: path, size, path_key_for_cache. +struct StoredObject +{ + std::string absolute_path; + + uint64_t bytes_size; + + std::string getPathKeyForCache() const; + + /// Create `StoredObject` based on metadata storage and blob name of the object. + static StoredObject create( + const IObjectStorage & object_storage, + const std::string & object_path, + size_t object_size = 0, + bool object_bypasses_cache = false); + + /// Optional hint for cache. Use delayed initialization + /// because somecache hint implementation requires it. + using PathKeyForCacheCreator = std::function; + PathKeyForCacheCreator path_key_for_cache_creator; + + explicit StoredObject( + const std::string & absolute_path_, + uint64_t bytes_size_ = 0, + PathKeyForCacheCreator && path_key_for_cache_creator_ = {}); +}; + +} diff --git a/src/Formats/CapnProtoUtils.cpp b/src/Formats/CapnProtoUtils.cpp index add5220414f..b8702380aa7 100644 --- a/src/Formats/CapnProtoUtils.cpp +++ b/src/Formats/CapnProtoUtils.cpp @@ -29,6 +29,7 @@ namespace ErrorCodes extern const int UNKNOWN_EXCEPTION; extern const int INCORRECT_DATA; extern const int CAPN_PROTO_BAD_TYPE; + extern const int BAD_ARGUMENTS; } capnp::StructSchema CapnProtoSchemaParser::getMessageSchema(const FormatSchemaInfo & schema_info) @@ -52,7 +53,7 @@ capnp::StructSchema CapnProtoSchemaParser::getMessageSchema(const FormatSchemaIn if (description.find("Parse error") != String::npos) throw Exception(ErrorCodes::CANNOT_PARSE_CAPN_PROTO_SCHEMA, "Cannot parse CapnProto schema {}:{}", schema_info.schemaPath(), e.getLine()); - throw Exception(ErrorCodes::UNKNOWN_EXCEPTION, "Unknown exception while parsing CapnProro schema: {}, schema dir and file: {}, {}", description, schema_info.schemaDirectory(), schema_info.schemaPath()); + throw Exception(ErrorCodes::UNKNOWN_EXCEPTION, "Unknown exception while parsing CapnProto schema: {}, schema dir and file: {}, {}", description, schema_info.schemaDirectory(), schema_info.schemaPath()); } auto message_maybe = schema.findNested(schema_info.messageName()); @@ -450,7 +451,7 @@ static DataTypePtr getEnumDataTypeFromEnumSchema(const capnp::EnumSchema & enum_ throw Exception(ErrorCodes::CAPN_PROTO_BAD_TYPE, "ClickHouse supports only 8 and 16-bit Enums"); } -static DataTypePtr getDataTypeFromCapnProtoType(const capnp::Type & capnp_type) +static DataTypePtr getDataTypeFromCapnProtoType(const capnp::Type & capnp_type, bool skip_unsupported_fields) { switch (capnp_type.which()) { @@ -483,24 +484,44 @@ static DataTypePtr getDataTypeFromCapnProtoType(const capnp::Type & capnp_type) case capnp::schema::Type::LIST: { auto list_schema = capnp_type.asList(); - auto nested_type = getDataTypeFromCapnProtoType(list_schema.getElementType()); + auto nested_type = getDataTypeFromCapnProtoType(list_schema.getElementType(), skip_unsupported_fields); + if (!nested_type) + return nullptr; return std::make_shared(nested_type); } case capnp::schema::Type::STRUCT: { auto struct_schema = capnp_type.asStruct(); + + if (struct_schema.getFields().size() == 0) + { + if (skip_unsupported_fields) + return nullptr; + throw Exception(ErrorCodes::CAPN_PROTO_BAD_TYPE, "Empty messages are not supported"); + } + /// Check if it can be Nullable. if (checkIfStructIsNamedUnion(struct_schema)) { auto fields = struct_schema.getUnionFields(); if (fields.size() != 2 || (!fields[0].getType().isVoid() && !fields[1].getType().isVoid())) + { + if (skip_unsupported_fields) + return nullptr; throw Exception(ErrorCodes::CAPN_PROTO_BAD_TYPE, "Unions are not supported"); + } auto value_type = fields[0].getType().isVoid() ? fields[1].getType() : fields[0].getType(); if (value_type.isStruct() || value_type.isList()) + { + if (skip_unsupported_fields) + return nullptr; throw Exception(ErrorCodes::CAPN_PROTO_BAD_TYPE, "Tuples and Lists cannot be inside Nullable"); + } - auto nested_type = getDataTypeFromCapnProtoType(value_type); + auto nested_type = getDataTypeFromCapnProtoType(value_type, skip_unsupported_fields); + if (!nested_type) + return nullptr; return std::make_shared(nested_type); } @@ -512,17 +533,26 @@ static DataTypePtr getDataTypeFromCapnProtoType(const capnp::Type & capnp_type) Names nested_names; for (auto field : struct_schema.getNonUnionFields()) { + auto nested_type = getDataTypeFromCapnProtoType(field.getType(), skip_unsupported_fields); + if (!nested_type) + continue; nested_names.push_back(field.getProto().getName()); - nested_types.push_back(getDataTypeFromCapnProtoType(field.getType())); + nested_types.push_back(nested_type); } + if (nested_types.empty()) + return nullptr; return std::make_shared(std::move(nested_types), std::move(nested_names)); } default: + { + if (skip_unsupported_fields) + return nullptr; throw Exception(ErrorCodes::CAPN_PROTO_BAD_TYPE, "Unsupported CapnProtoType: {}", getCapnProtoFullTypeName(capnp_type)); + } } } -NamesAndTypesList capnProtoSchemaToCHSchema(const capnp::StructSchema & schema) +NamesAndTypesList capnProtoSchemaToCHSchema(const capnp::StructSchema & schema, bool skip_unsupported_fields) { if (checkIfStructContainsUnnamedUnion(schema)) throw Exception(ErrorCodes::CAPN_PROTO_BAD_TYPE, "Unnamed union is not supported"); @@ -531,9 +561,13 @@ NamesAndTypesList capnProtoSchemaToCHSchema(const capnp::StructSchema & schema) for (auto field : schema.getNonUnionFields()) { auto name = field.getProto().getName(); - auto type = getDataTypeFromCapnProtoType(field.getType()); - names_and_types.emplace_back(name, type); + auto type = getDataTypeFromCapnProtoType(field.getType(), skip_unsupported_fields); + if (type) + names_and_types.emplace_back(name, type); } + if (names_and_types.empty()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "Cannot convert CapnProto schema to ClickHouse table schema, all fields have unsupported types"); + return names_and_types; } diff --git a/src/Formats/CapnProtoUtils.h b/src/Formats/CapnProtoUtils.h index 47fe3ada7cd..50f146a05f6 100644 --- a/src/Formats/CapnProtoUtils.h +++ b/src/Formats/CapnProtoUtils.h @@ -38,7 +38,7 @@ capnp::DynamicValue::Reader getReaderByColumnName(const capnp::DynamicStruct::Re void checkCapnProtoSchemaStructure(const capnp::StructSchema & schema, const Block & header, FormatSettings::EnumComparingMode mode); -NamesAndTypesList capnProtoSchemaToCHSchema(const capnp::StructSchema & schema); +NamesAndTypesList capnProtoSchemaToCHSchema(const capnp::StructSchema & schema, bool skip_unsupported_fields); } #endif diff --git a/src/Formats/EscapingRuleUtils.cpp b/src/Formats/EscapingRuleUtils.cpp index 5aab8909a0c..a5c4dd1dd47 100644 --- a/src/Formats/EscapingRuleUtils.cpp +++ b/src/Formats/EscapingRuleUtils.cpp @@ -9,8 +9,12 @@ #include #include #include -#include +#include +#include #include +#include +#include +#include #include #include #include @@ -255,7 +259,220 @@ String readStringByEscapingRule(ReadBuffer & buf, FormatSettings::EscapingRule e return readByEscapingRule(buf, escaping_rule, format_settings); } -static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) +void transformInferredTypesIfNeededImpl(DataTypes & types, const FormatSettings & settings, bool is_json, const std::unordered_set * numbers_parsed_from_json_strings = nullptr) +{ + /// Do nothing if we didn't try to infer something special. + if (!settings.try_infer_integers && !settings.try_infer_dates && !settings.try_infer_datetimes && !is_json) + return; + + auto transform_simple_types = [&](DataTypes & data_types) + { + /// If we have floats and integers convert them all to float. + if (settings.try_infer_integers) + { + bool have_floats = false; + bool have_integers = false; + for (const auto & type : data_types) + { + have_floats |= isFloat(type); + have_integers |= isInteger(type) && !isBool(type); + } + + if (have_floats && have_integers) + { + for (auto & type : data_types) + { + if (isInteger(type)) + type = std::make_shared(); + } + } + } + + /// If we have only dates and datetimes, convert dates to datetime. + /// If we have date/datetimes and smth else, convert them to string, because + /// There is a special case when we inferred both Date/DateTime and Int64 from Strings, + /// for example: "arr: ["2020-01-01", "2000"]" -> Tuple(Date, Int64), + /// so if we have Date/DateTime and smth else (not only String) we should + /// convert Date/DateTime back to String, so then we will be able to + /// convert Int64 back to String as well. + if (settings.try_infer_dates || settings.try_infer_datetimes) + { + bool have_dates = false; + bool have_datetimes = false; + bool all_dates_or_datetimes = true; + + for (const auto & type : data_types) + { + have_dates |= isDate(type); + have_datetimes |= isDateTime64(type); + all_dates_or_datetimes &= isDate(type) || isDateTime64(type); + } + + if (!all_dates_or_datetimes && (have_dates || have_datetimes)) + { + for (auto & type : data_types) + { + if (isDate(type) || isDateTime64(type)) + type = std::make_shared(); + } + } + else if (have_dates && have_datetimes) + { + for (auto & type : data_types) + { + if (isDate(type)) + type = std::make_shared(9); + } + } + } + + if (!is_json) + return; + + /// Check settings specific for JSON formats. + + /// If we have numbers and strings, convert numbers to strings. + if (settings.json.try_infer_numbers_from_strings) + { + bool have_strings = false; + bool have_numbers = false; + for (const auto & type : data_types) + { + have_strings |= isString(type); + have_numbers |= isNumber(type); + } + + if (have_strings && have_numbers) + { + for (auto & type : data_types) + { + if (isNumber(type) && (!numbers_parsed_from_json_strings || numbers_parsed_from_json_strings->contains(type.get()))) + type = std::make_shared(); + } + } + } + + if (settings.json.read_bools_as_numbers) + { + /// Note that have_floats and have_integers both cannot be + /// equal to true as in one of previous checks we convert + /// integers to floats if we have both. + bool have_floats = false; + bool have_integers = false; + bool have_bools = false; + for (const auto & type : data_types) + { + have_floats |= isFloat(type); + have_integers |= isInteger(type) && !isBool(type); + have_bools |= isBool(type); + } + + if (have_bools && (have_integers || have_floats)) + { + for (auto & type : data_types) + { + if (isBool(type)) + { + if (have_integers) + type = std::make_shared(); + else + type = std::make_shared(); + } + } + } + } + }; + + auto transform_complex_types = [&](DataTypes & data_types) + { + if (!is_json) + return; + + bool have_maps = false; + bool have_objects = false; + bool are_maps_equal = true; + DataTypePtr first_map_type; + for (const auto & type : data_types) + { + if (isMap(type)) + { + if (!have_maps) + { + first_map_type = type; + have_maps = true; + } + else + { + are_maps_equal &= type->equals(*first_map_type); + } + } + else if (isObject(type)) + { + have_objects = true; + } + } + + if (have_maps && (have_objects || !are_maps_equal)) + { + for (auto & type : data_types) + { + if (isMap(type)) + type = std::make_shared("json", true); + } + } + }; + + transformTypesRecursively(types, transform_simple_types, transform_complex_types); +} + +void transformInferredTypesIfNeeded(DataTypes & types, const FormatSettings & settings, FormatSettings::EscapingRule escaping_rule) +{ + transformInferredTypesIfNeededImpl(types, settings, escaping_rule == FormatSettings::EscapingRule::JSON); +} + +void transformInferredTypesIfNeeded(DataTypePtr & first, DataTypePtr & second, const FormatSettings & settings, FormatSettings::EscapingRule escaping_rule) +{ + DataTypes types = {first, second}; + transformInferredTypesIfNeeded(types, settings, escaping_rule); + first = std::move(types[0]); + second = std::move(types[1]); +} + +void transformInferredJSONTypesIfNeeded(DataTypes & types, const FormatSettings & settings, const std::unordered_set * numbers_parsed_from_json_strings) +{ + transformInferredTypesIfNeededImpl(types, settings, true, numbers_parsed_from_json_strings); +} + +void transformInferredJSONTypesIfNeeded(DataTypePtr & first, DataTypePtr & second, const FormatSettings & settings) +{ + DataTypes types = {first, second}; + transformInferredJSONTypesIfNeeded(types, settings); + first = std::move(types[0]); + second = std::move(types[1]); +} + +DataTypePtr tryInferDateOrDateTime(const std::string_view & field, const FormatSettings & settings) +{ + if (settings.try_infer_dates) + { + ReadBufferFromString buf(field); + DayNum tmp; + if (tryReadDateText(tmp, buf) && buf.eof()) + return makeNullable(std::make_shared()); + } + + if (settings.try_infer_datetimes) + { + ReadBufferFromString buf(field); + DateTime64 tmp; + if (tryReadDateTime64Text(tmp, 9, buf) && buf.eof()) + return makeNullable(std::make_shared(9)); + } + + return nullptr; +} + +static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBufferFromString & buf, const FormatSettings & settings) { if (buf.eof()) return nullptr; @@ -279,7 +496,7 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) else first = false; - auto nested_type = determineDataTypeForSingleFieldImpl(buf); + auto nested_type = determineDataTypeForSingleFieldImpl(buf, settings); if (!nested_type) return nullptr; @@ -294,6 +511,8 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) if (nested_types.empty()) return std::make_shared(std::make_shared()); + transformInferredTypesIfNeeded(nested_types, settings); + auto least_supertype = tryGetLeastSupertype(nested_types); if (!least_supertype) return nullptr; @@ -320,7 +539,7 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) else first = false; - auto nested_type = determineDataTypeForSingleFieldImpl(buf); + auto nested_type = determineDataTypeForSingleFieldImpl(buf, settings); if (!nested_type) return nullptr; @@ -355,7 +574,7 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) else first = false; - auto key_type = determineDataTypeForSingleFieldImpl(buf); + auto key_type = determineDataTypeForSingleFieldImpl(buf, settings); if (!key_type) return nullptr; @@ -366,7 +585,7 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) return nullptr; skipWhitespaceIfAny(buf); - auto value_type = determineDataTypeForSingleFieldImpl(buf); + auto value_type = determineDataTypeForSingleFieldImpl(buf, settings); if (!value_type) return nullptr; @@ -382,6 +601,9 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) if (key_types.empty()) return std::make_shared(std::make_shared(), std::make_shared()); + transformInferredTypesIfNeeded(key_types, settings); + transformInferredTypesIfNeeded(value_types, settings); + auto key_least_supertype = tryGetLeastSupertype(key_types); auto value_least_supertype = tryGetLeastSupertype(value_types); @@ -398,9 +620,11 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) if (*buf.position() == '\'') { ++buf.position(); + String field; while (!buf.eof()) { char * next_pos = find_first_symbols<'\\', '\''>(buf.position(), buf.buffer().end()); + field.append(buf.position(), next_pos); buf.position() = next_pos; if (!buf.hasPendingData()) @@ -409,6 +633,7 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) if (*buf.position() == '\'') break; + field.push_back(*buf.position()); if (*buf.position() == '\\') ++buf.position(); } @@ -417,6 +642,9 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) return nullptr; ++buf.position(); + if (auto type = tryInferDateOrDateTime(field, settings)) + return type; + return std::make_shared(); } @@ -430,15 +658,29 @@ static DataTypePtr determineDataTypeForSingleFieldImpl(ReadBuffer & buf) /// Number Float64 tmp; + auto * pos_before_float = buf.position(); if (tryReadFloatText(tmp, buf)) + { + if (settings.try_infer_integers) + { + auto * float_end_pos = buf.position(); + buf.position() = pos_before_float; + Int64 tmp_int; + if (tryReadIntText(tmp_int, buf) && buf.position() == float_end_pos) + return std::make_shared(); + + buf.position() = float_end_pos; + } + return std::make_shared(); + } return nullptr; } -static DataTypePtr determineDataTypeForSingleField(ReadBuffer & buf) +static DataTypePtr determineDataTypeForSingleField(ReadBufferFromString & buf, const FormatSettings & settings) { - return makeNullableRecursivelyAndCheckForNothing(determineDataTypeForSingleFieldImpl(buf)); + return makeNullableRecursivelyAndCheckForNothing(determineDataTypeForSingleFieldImpl(buf, settings)); } DataTypePtr determineDataTypeByEscapingRule(const String & field, const FormatSettings & format_settings, FormatSettings::EscapingRule escaping_rule) @@ -448,11 +690,11 @@ DataTypePtr determineDataTypeByEscapingRule(const String & field, const FormatSe case FormatSettings::EscapingRule::Quoted: { ReadBufferFromString buf(field); - auto type = determineDataTypeForSingleField(buf); + auto type = determineDataTypeForSingleField(buf, format_settings); return buf.eof() ? type : nullptr; } case FormatSettings::EscapingRule::JSON: - return JSONUtils::getDataTypeFromField(field); + return JSONUtils::getDataTypeFromField(field, format_settings); case FormatSettings::EscapingRule::CSV: { if (!format_settings.csv.input_format_use_best_effort_in_schema_inference) @@ -466,9 +708,13 @@ DataTypePtr determineDataTypeByEscapingRule(const String & field, const FormatSe if (field.size() > 1 && ((field.front() == '\'' && field.back() == '\'') || (field.front() == '"' && field.back() == '"'))) { - ReadBufferFromString buf(std::string_view(field.data() + 1, field.size() - 2)); + auto data = std::string_view(field.data() + 1, field.size() - 2); + if (auto date_type = tryInferDateOrDateTime(data, format_settings)) + return date_type; + + ReadBufferFromString buf(data); /// Try to determine the type of value inside quotes - auto type = determineDataTypeForSingleField(buf); + auto type = determineDataTypeForSingleField(buf, format_settings); if (!type) return nullptr; @@ -481,6 +727,14 @@ DataTypePtr determineDataTypeByEscapingRule(const String & field, const FormatSe } /// Case when CSV value is not in quotes. Check if it's a number, and if not, determine it's as a string. + if (format_settings.try_infer_integers) + { + ReadBufferFromString buf(field); + Int64 tmp_int; + if (tryReadIntText(tmp_int, buf) && buf.eof()) + return makeNullable(std::make_shared()); + } + ReadBufferFromString buf(field); Float64 tmp; if (tryReadFloatText(tmp, buf) && buf.eof()) @@ -500,8 +754,11 @@ DataTypePtr determineDataTypeByEscapingRule(const String & field, const FormatSe if (field == format_settings.bool_false_representation || field == format_settings.bool_true_representation) return DataTypeFactory::instance().get("Nullable(Bool)"); + if (auto date_type = tryInferDateOrDateTime(field, format_settings)) + return date_type; + ReadBufferFromString buf(field); - auto type = determineDataTypeForSingleField(buf); + auto type = determineDataTypeForSingleField(buf, format_settings); if (!buf.eof()) return makeNullable(std::make_shared()); diff --git a/src/Formats/EscapingRuleUtils.h b/src/Formats/EscapingRuleUtils.h index 1ce04a8d1b7..ad4ce65a430 100644 --- a/src/Formats/EscapingRuleUtils.h +++ b/src/Formats/EscapingRuleUtils.h @@ -60,4 +60,21 @@ DataTypes determineDataTypesByEscapingRule(const std::vector & fields, c DataTypePtr getDefaultDataTypeForEscapingRule(FormatSettings::EscapingRule escaping_rule); DataTypes getDefaultDataTypeForEscapingRules(const std::vector & escaping_rules); +/// Try to infer Date or Datetime from string if corresponding settings are enabled. +DataTypePtr tryInferDateOrDateTime(const std::string_view & field, const FormatSettings & settings); + +/// Check if we need to transform types inferred from data and transform it if necessary. +/// It's used when we try to infer some not ordinary types from another types. +/// For example dates from strings, we should check if dates were inferred from all strings +/// in the same way and if not, transform inferred dates back to strings. +/// For example, if we have array of strings and we tried to infer dates from them, +/// to make the result type Array(Date) we should ensure that all strings were +/// successfully parsed as dated and if not, convert all dates back to strings and make result type Array(String). +void transformInferredTypesIfNeeded(DataTypes & types, const FormatSettings & settings, FormatSettings::EscapingRule escaping_rule = FormatSettings::EscapingRule::Escaped); +void transformInferredTypesIfNeeded(DataTypePtr & first, DataTypePtr & second, const FormatSettings & settings, FormatSettings::EscapingRule escaping_rule = FormatSettings::EscapingRule::Escaped); + +/// Same as transformInferredTypesIfNeeded but takes into account settings that are special for JSON formats. +void transformInferredJSONTypesIfNeeded(DataTypes & types, const FormatSettings & settings, const std::unordered_set * numbers_parsed_from_json_strings = nullptr); +void transformInferredJSONTypesIfNeeded(DataTypePtr & first, DataTypePtr & second, const FormatSettings & settings); + } diff --git a/src/Formats/FormatFactory.cpp b/src/Formats/FormatFactory.cpp index 71231d7424d..962a57bb512 100644 --- a/src/Formats/FormatFactory.cpp +++ b/src/Formats/FormatFactory.cpp @@ -56,6 +56,7 @@ FormatSettings getFormatSettings(ContextPtr context, const Settings & settings) format_settings.avro.schema_registry_url = settings.format_avro_schema_registry_url.toString(); format_settings.avro.string_column_pattern = settings.output_format_avro_string_column_pattern.toString(); format_settings.avro.output_rows_in_file = settings.output_format_avro_rows_in_file; + format_settings.avro.null_as_default = settings.input_format_avro_null_as_default; format_settings.csv.allow_double_quotes = settings.format_csv_allow_double_quotes; format_settings.csv.allow_single_quotes = settings.format_csv_allow_single_quotes; format_settings.csv.crlf_end_of_line = settings.output_format_csv_crlf_end_of_line; @@ -93,6 +94,7 @@ FormatSettings getFormatSettings(ContextPtr context, const Settings & settings) format_settings.json.quote_64bit_integers = settings.output_format_json_quote_64bit_integers; format_settings.json.quote_denormals = settings.output_format_json_quote_denormals; format_settings.json.read_bools_as_numbers = settings.input_format_json_read_bools_as_numbers; + format_settings.json.try_infer_numbers_from_strings = settings.input_format_json_try_infer_numbers_from_strings; format_settings.null_as_default = settings.input_format_null_as_default; format_settings.decimal_trailing_zeros = settings.output_format_decimal_trailing_zeros; format_settings.parquet.row_group_size = settings.output_format_parquet_row_group_size; @@ -109,6 +111,7 @@ FormatSettings getFormatSettings(ContextPtr context, const Settings & settings) format_settings.pretty.output_format_pretty_row_numbers = settings.output_format_pretty_row_numbers; format_settings.protobuf.input_flatten_google_wrappers = settings.input_format_protobuf_flatten_google_wrappers; format_settings.protobuf.output_nullables_with_google_wrappers = settings.output_format_protobuf_nullables_with_google_wrappers; + format_settings.protobuf.skip_fields_with_unsupported_types_in_schema_inference = settings.input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference; format_settings.regexp.escaping_rule = settings.format_regexp_escaping_rule; format_settings.regexp.regexp = settings.format_regexp; format_settings.regexp.skip_unmatched = settings.format_regexp_skip_unmatched; @@ -150,6 +153,7 @@ FormatSettings getFormatSettings(ContextPtr context, const Settings & settings) format_settings.orc.output_string_as_string = settings.output_format_orc_string_as_string; format_settings.defaults_for_omitted_fields = settings.input_format_defaults_for_omitted_fields; format_settings.capn_proto.enum_comparing_mode = settings.format_capn_proto_enum_comparising_mode; + format_settings.capn_proto.skip_fields_with_unsupported_types_in_schema_inference = settings.input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference; format_settings.seekable_read = settings.input_format_allow_seeks; format_settings.msgpack.number_of_columns = settings.input_format_msgpack_number_of_columns; format_settings.msgpack.output_uuid_representation = settings.output_format_msgpack_uuid_representation; @@ -157,6 +161,14 @@ FormatSettings getFormatSettings(ContextPtr context, const Settings & settings) format_settings.column_names_for_schema_inference = settings.column_names_for_schema_inference; format_settings.mysql_dump.table_name = settings.input_format_mysql_dump_table_name; format_settings.mysql_dump.map_column_names = settings.input_format_mysql_dump_map_column_names; + format_settings.sql_insert.max_batch_size = settings.output_format_sql_insert_max_batch_size; + format_settings.sql_insert.include_column_names = settings.output_format_sql_insert_include_column_names; + format_settings.sql_insert.table_name = settings.output_format_sql_insert_table_name; + format_settings.sql_insert.use_replace = settings.output_format_sql_insert_use_replace; + format_settings.sql_insert.quote_names = settings.output_format_sql_insert_quote_names; + format_settings.try_infer_integers = settings.input_format_try_infer_integers; + format_settings.try_infer_dates = settings.input_format_try_infer_dates; + format_settings.try_infer_datetimes = settings.input_format_try_infer_datetimes; /// Validate avro_schema_registry_url with RemoteHostFilter when non-empty and in Server context if (format_settings.schema.is_server) @@ -499,7 +511,7 @@ String FormatFactory::getFormatFromFileDescriptor(int fd) if (readlink(proc_path.c_str(), file_path, sizeof(file_path) - 1) != -1) return getFormatFromFileName(file_path, false); return ""; -#elif defined(__APPLE__) +#elif defined(OS_DARWIN) char file_path[PATH_MAX] = {'\0'}; if (fcntl(fd, F_GETPATH, file_path) != -1) return getFormatFromFileName(file_path, false); diff --git a/src/Formats/FormatSettings.h b/src/Formats/FormatSettings.h index eabfa2ad58b..c240d9bcb01 100644 --- a/src/Formats/FormatSettings.h +++ b/src/Formats/FormatSettings.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include @@ -36,7 +37,10 @@ struct FormatSettings bool seekable_read = true; UInt64 max_rows_to_read_for_schema_inference = 100; - String column_names_for_schema_inference = ""; + String column_names_for_schema_inference; + bool try_infer_integers = false; + bool try_infer_dates = false; + bool try_infer_datetimes = false; enum class DateTimeInputFormat { @@ -92,6 +96,7 @@ struct FormatSettings bool allow_missing_fields = false; String string_column_pattern; UInt64 output_rows_in_file = 1; + bool null_as_default = false; } avro; String bool_true_representation = "true"; @@ -140,6 +145,7 @@ struct FormatSettings bool named_tuples_as_objects = false; bool serialize_as_strings = false; bool read_bools_as_numbers = true; + bool try_infer_numbers_from_strings = false; } json; struct @@ -183,6 +189,7 @@ struct FormatSettings * because Protobuf without delimiters is not generally useful. */ bool allow_multiple_rows_without_delimiter = false; + bool skip_fields_with_unsupported_types_in_schema_inference = false; } protobuf; struct @@ -253,6 +260,7 @@ struct FormatSettings struct { EnumComparingMode enum_comparing_mode = EnumComparingMode::BY_VALUES; + bool skip_fields_with_unsupported_types_in_schema_inference = false; } capn_proto; enum class MsgPackUUIDRepresentation @@ -273,6 +281,15 @@ struct FormatSettings String table_name; bool map_column_names = true; } mysql_dump; + + struct + { + UInt64 max_batch_size = DEFAULT_BLOCK_SIZE; + String table_name = "table"; + bool include_column_names = true; + bool use_replace = false; + bool quote_names = true; + } sql_insert; }; } diff --git a/src/Formats/JSONUtils.cpp b/src/Formats/JSONUtils.cpp index 1ac58760516..895833abf4d 100644 --- a/src/Formats/JSONUtils.cpp +++ b/src/Formats/JSONUtils.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -121,7 +122,7 @@ namespace JSONUtils } template - DataTypePtr getDataTypeFromFieldImpl(const Element & field) + DataTypePtr getDataTypeFromFieldImpl(const Element & field, const FormatSettings & settings, std::unordered_set & numbers_parsed_from_json_strings) { if (field.isNull()) return nullptr; @@ -129,11 +130,48 @@ namespace JSONUtils if (field.isBool()) return DataTypeFactory::instance().get("Nullable(Bool)"); - if (field.isInt64() || field.isUInt64() || field.isDouble()) + if (field.isInt64() || field.isUInt64()) + { + if (settings.try_infer_integers) + return makeNullable(std::make_shared()); + + return makeNullable(std::make_shared()); + } + + if (field.isDouble()) return makeNullable(std::make_shared()); if (field.isString()) + { + if (auto date_type = tryInferDateOrDateTime(field.getString(), settings)) + return date_type; + + if (!settings.json.try_infer_numbers_from_strings) + return makeNullable(std::make_shared()); + + ReadBufferFromString buf(field.getString()); + + if (settings.try_infer_integers) + { + Int64 tmp_int; + if (tryReadIntText(tmp_int, buf) && buf.eof()) + { + auto type = std::make_shared(); + numbers_parsed_from_json_strings.insert(type.get()); + return makeNullable(type); + } + } + + Float64 tmp; + if (tryReadFloatText(tmp, buf) && buf.eof()) + { + auto type = std::make_shared(); + numbers_parsed_from_json_strings.insert(type.get()); + return makeNullable(type); + } + return makeNullable(std::make_shared()); + } if (field.isArray()) { @@ -145,20 +183,32 @@ namespace JSONUtils DataTypes nested_data_types; /// If this array contains fields with different types we will treat it as Tuple. - bool is_tuple = false; + bool are_types_the_same = true; for (const auto element : array) { - auto type = getDataTypeFromFieldImpl(element); + auto type = getDataTypeFromFieldImpl(element, settings, numbers_parsed_from_json_strings); if (!type) return nullptr; - if (!nested_data_types.empty() && type->getName() != nested_data_types.back()->getName()) - is_tuple = true; + if (!nested_data_types.empty() && !type->equals(*nested_data_types.back())) + are_types_the_same = false; nested_data_types.push_back(std::move(type)); } - if (is_tuple) + if (!are_types_the_same) + { + auto nested_types_copy = nested_data_types; + transformInferredJSONTypesIfNeeded(nested_types_copy, settings, &numbers_parsed_from_json_strings); + are_types_the_same = true; + for (size_t i = 1; i < nested_types_copy.size(); ++i) + are_types_the_same &= nested_types_copy[i]->equals(*nested_types_copy[i - 1]); + + if (are_types_the_same) + nested_data_types = std::move(nested_types_copy); + } + + if (!are_types_the_same) return std::make_shared(nested_data_types); return std::make_shared(nested_data_types.back()); @@ -167,38 +217,35 @@ namespace JSONUtils if (field.isObject()) { auto object = field.getObject(); - DataTypePtr value_type; - bool is_object = false; + DataTypes value_types; + bool have_object_value = false; for (const auto key_value_pair : object) { - auto type = getDataTypeFromFieldImpl(key_value_pair.second); + auto type = getDataTypeFromFieldImpl(key_value_pair.second, settings, numbers_parsed_from_json_strings); if (!type) continue; if (isObject(type)) { - is_object = true; + have_object_value = true; break; } - if (!value_type) - { - value_type = type; - } - else if (!value_type->equals(*type)) - { - is_object = true; - break; - } + value_types.push_back(type); } - if (is_object) + if (value_types.empty()) + return nullptr; + + transformInferredJSONTypesIfNeeded(value_types, settings, &numbers_parsed_from_json_strings); + bool are_types_equal = true; + for (size_t i = 1; i < value_types.size(); ++i) + are_types_equal &= value_types[i]->equals(*value_types[0]); + + if (have_object_value || !are_types_equal) return std::make_shared("json", true); - if (value_type) - return std::make_shared(std::make_shared(), value_type); - - return nullptr; + return std::make_shared(std::make_shared(), value_types[0]); } throw Exception{ErrorCodes::INCORRECT_DATA, "Unexpected JSON type"}; @@ -215,18 +262,19 @@ namespace JSONUtils #endif } - DataTypePtr getDataTypeFromField(const String & field) + DataTypePtr getDataTypeFromField(const String & field, const FormatSettings & settings) { auto [parser, element] = getJSONParserAndElement(); bool parsed = parser.parse(field, element); if (!parsed) throw Exception(ErrorCodes::INCORRECT_DATA, "Cannot parse JSON object here: {}", field); - return getDataTypeFromFieldImpl(element); + std::unordered_set numbers_parsed_from_json_strings; + return getDataTypeFromFieldImpl(element, settings, numbers_parsed_from_json_strings); } template - static DataTypes determineColumnDataTypesFromJSONEachRowDataImpl(ReadBuffer & in, bool /*json_strings*/, Extractor & extractor) + static DataTypes determineColumnDataTypesFromJSONEachRowDataImpl(ReadBuffer & in, const FormatSettings & settings, bool /*json_strings*/, Extractor & extractor) { String line = readJSONEachRowLineIntoStringImpl(in); auto [parser, element] = getJSONParserAndElement(); @@ -238,8 +286,9 @@ namespace JSONUtils DataTypes data_types; data_types.reserve(fields.size()); + std::unordered_set numbers_parsed_from_json_strings; for (const auto & field : fields) - data_types.push_back(getDataTypeFromFieldImpl(field)); + data_types.push_back(getDataTypeFromFieldImpl(field, settings, numbers_parsed_from_json_strings)); /// TODO: For JSONStringsEachRow/JSONCompactStringsEach all types will be strings. /// Should we try to parse data inside strings somehow in this case? @@ -284,11 +333,11 @@ namespace JSONUtils std::vector column_names; }; - NamesAndTypesList readRowAndGetNamesAndDataTypesForJSONEachRow(ReadBuffer & in, bool json_strings) + NamesAndTypesList readRowAndGetNamesAndDataTypesForJSONEachRow(ReadBuffer & in, const FormatSettings & settings, bool json_strings) { JSONEachRowFieldsExtractor extractor; auto data_types - = determineColumnDataTypesFromJSONEachRowDataImpl(in, json_strings, extractor); + = determineColumnDataTypesFromJSONEachRowDataImpl(in, settings, json_strings, extractor); NamesAndTypesList result; for (size_t i = 0; i != extractor.column_names.size(); ++i) result.emplace_back(extractor.column_names[i], data_types[i]); @@ -313,10 +362,10 @@ namespace JSONUtils } }; - DataTypes readRowAndGetDataTypesForJSONCompactEachRow(ReadBuffer & in, bool json_strings) + DataTypes readRowAndGetDataTypesForJSONCompactEachRow(ReadBuffer & in, const FormatSettings & settings, bool json_strings) { JSONCompactEachRowFieldsExtractor extractor; - return determineColumnDataTypesFromJSONEachRowDataImpl(in, json_strings, extractor); + return determineColumnDataTypesFromJSONEachRowDataImpl(in, settings, json_strings, extractor); } @@ -529,7 +578,12 @@ namespace JSONUtils writeObjectStart(out, 2); writeTitle("name", out, 3); - writeDoubleQuoted(fields[i].name, out); + + /// The field names are pre-escaped to be put into JSON string literal. + writeChar('"', out); + writeString(fields[i].name, out); + writeChar('"', out); + writeFieldDelimiter(out); writeTitle("type", out, 3); writeJSONString(fields[i].type->getName(), out, settings); diff --git a/src/Formats/JSONUtils.h b/src/Formats/JSONUtils.h index f2aba3cbcb5..b4ab6a29c93 100644 --- a/src/Formats/JSONUtils.h +++ b/src/Formats/JSONUtils.h @@ -22,16 +22,16 @@ namespace JSONUtils /// Parse JSON from string and convert it's type to ClickHouse type. Make the result type always Nullable. /// JSON array with different nested types is treated as Tuple. /// If cannot convert (for example when field contains null), return nullptr. - DataTypePtr getDataTypeFromField(const String & field); + DataTypePtr getDataTypeFromField(const String & field, const FormatSettings & settings); /// Read row in JSONEachRow format and try to determine type for each field. /// Return list of names and types. /// If cannot determine the type of some field, return nullptr for it. - NamesAndTypesList readRowAndGetNamesAndDataTypesForJSONEachRow(ReadBuffer & in, bool json_strings); + NamesAndTypesList readRowAndGetNamesAndDataTypesForJSONEachRow(ReadBuffer & in, const FormatSettings & settings, bool json_strings); /// Read row in JSONCompactEachRow format and try to determine type for each field. /// If cannot determine the type of some field, return nullptr for it. - DataTypes readRowAndGetDataTypesForJSONCompactEachRow(ReadBuffer & in, bool json_strings); + DataTypes readRowAndGetDataTypesForJSONCompactEachRow(ReadBuffer & in, const FormatSettings & settings, bool json_strings); bool nonTrivialPrefixAndSuffixCheckerJSONEachRowImpl(ReadBuffer & buf); diff --git a/src/Formats/NativeWriter.cpp b/src/Formats/NativeWriter.cpp index 77692eec6b6..9d4cfb68d56 100644 --- a/src/Formats/NativeWriter.cpp +++ b/src/Formats/NativeWriter.cpp @@ -103,7 +103,7 @@ void NativeWriter::write(const Block & block) mark.offset_in_decompressed_block = ostr_concrete->getRemainingBytes(); } - ColumnWithTypeAndName column = block.safeGetByPosition(i); + auto column = block.safeGetByPosition(i); /// Send data to old clients without low cardinality type. if (remove_low_cardinality || (client_revision && client_revision < DBMS_MIN_REVISION_WITH_LOW_CARDINALITY_TYPE)) @@ -145,7 +145,7 @@ void NativeWriter::write(const Block & block) SerializationPtr serialization; if (client_revision >= DBMS_MIN_REVISION_WITH_CUSTOM_SERIALIZATION) { - auto info = column.column->getSerializationInfo(); + auto info = column.type->getSerializationInfo(*column.column); serialization = column.type->getSerialization(*info); bool has_custom = info->hasCustomSerialization(); diff --git a/src/Formats/ProtobufSerializer.cpp b/src/Formats/ProtobufSerializer.cpp index 9006c9276d4..42e02fd4f45 100644 --- a/src/Formats/ProtobufSerializer.cpp +++ b/src/Formats/ProtobufSerializer.cpp @@ -77,18 +77,18 @@ namespace return convertChar(c1) == convertChar(c2); } - static bool equals(const std::string_view & s1, const std::string_view & s2) + static bool equals(std::string_view s1, std::string_view s2) { return (s1.length() == s2.length()) && std::equal(s1.begin(), s1.end(), s2.begin(), [](char c1, char c2) { return convertChar(c1) == convertChar(c2); }); } - static bool less(const std::string_view & s1, const std::string_view & s2) + static bool less(std::string_view s1, std::string_view s2) { return std::lexicographical_compare(s1.begin(), s1.end(), s2.begin(), s2.end(), [](char c1, char c2) { return convertChar(c1) < convertChar(c2); }); } - static bool startsWith(const std::string_view & s1, const std::string_view & s2) + static bool startsWith(std::string_view s1, std::string_view s2) { return (s1.length() >= s2.length()) && equals(s1.substr(0, s2.length()), s2); } @@ -195,7 +195,7 @@ namespace { protected: ProtobufSerializerSingleValue( - const std::string_view & column_name_, + std::string_view column_name_, const FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) : column_name(column_name_) @@ -264,7 +264,7 @@ namespace return reader->readFixed(); } - void writeStr(const std::string_view & str) + void writeStr(std::string_view str) { if (!str.empty() || !skip_zero_or_empty) writer->writeString(field_tag, str); @@ -274,7 +274,7 @@ namespace void readStrAndAppend(PaddedPODArray & str) { reader->readStringAndAppend(str); } template - DestType parseFromStr(const std::string_view & str) const + DestType parseFromStr(std::string_view str) const { try { @@ -307,7 +307,7 @@ namespace return result; } - [[noreturn]] void incompatibleColumnType(const std::string_view & column_type) const + [[noreturn]] void incompatibleColumnType(std::string_view column_type) const { throw Exception( ErrorCodes::DATA_TYPE_INCOMPATIBLE_WITH_PROTOBUF_FIELD, @@ -318,7 +318,7 @@ namespace field_descriptor.type_name()); } - [[noreturn]] void cannotConvertValue(const std::string_view & src_value, const std::string_view & src_type_name, const std::string_view & dest_type_name) const + [[noreturn]] void cannotConvertValue(std::string_view src_value, std::string_view src_type_name, std::string_view dest_type_name) const { throw Exception( "Could not convert value '" + String{src_value} + "' from type " + String{src_type_name} + " to type " @@ -351,7 +351,7 @@ namespace public: using ColumnType = ColumnVector; - ProtobufSerializerNumber(const std::string_view & column_name_, const FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) + ProtobufSerializerNumber(std::string_view column_name_, const FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) : ProtobufSerializerSingleValue(column_name_, field_descriptor_, reader_or_writer_) { setFunctions(); @@ -590,7 +590,7 @@ namespace using ColumnType = std::conditional_t; ProtobufSerializerString( - const std::string_view & column_name_, + std::string_view column_name_, const std::shared_ptr & fixed_string_data_type_, const google::protobuf::FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) @@ -604,7 +604,7 @@ namespace } ProtobufSerializerString( - const std::string_view & column_name_, + std::string_view column_name_, const google::protobuf::FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) : ProtobufSerializerSingleValue(column_name_, field_descriptor_, reader_or_writer_) @@ -727,7 +727,7 @@ namespace { case FieldTypeId::TYPE_INT32: { - write_function = [this](const std::string_view & str) { writeInt(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeInt(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readInt(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_int32()); }; break; @@ -735,7 +735,7 @@ namespace case FieldTypeId::TYPE_SINT32: { - write_function = [this](const std::string_view & str) { writeSInt(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeSInt(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readSInt(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_int32()); }; break; @@ -743,7 +743,7 @@ namespace case FieldTypeId::TYPE_UINT32: { - write_function = [this](const std::string_view & str) { writeUInt(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeUInt(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readUInt(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_uint32()); }; break; @@ -751,7 +751,7 @@ namespace case FieldTypeId::TYPE_INT64: { - write_function = [this](const std::string_view & str) { writeInt(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeInt(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readInt(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_int64()); }; break; @@ -759,7 +759,7 @@ namespace case FieldTypeId::TYPE_SINT64: { - write_function = [this](const std::string_view & str) { writeSInt(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeSInt(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readSInt(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_int64()); }; break; @@ -767,7 +767,7 @@ namespace case FieldTypeId::TYPE_UINT64: { - write_function = [this](const std::string_view & str) { writeUInt(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeUInt(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readUInt(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_uint64()); }; break; @@ -775,7 +775,7 @@ namespace case FieldTypeId::TYPE_FIXED32: { - write_function = [this](const std::string_view & str) { writeFixed(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeFixed(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readFixed(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_uint32()); }; break; @@ -783,7 +783,7 @@ namespace case FieldTypeId::TYPE_SFIXED32: { - write_function = [this](const std::string_view & str) { writeFixed(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeFixed(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readFixed(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_int32()); }; break; @@ -791,7 +791,7 @@ namespace case FieldTypeId::TYPE_FIXED64: { - write_function = [this](const std::string_view & str) { writeFixed(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeFixed(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readFixed(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_uint64()); }; break; @@ -799,7 +799,7 @@ namespace case FieldTypeId::TYPE_SFIXED64: { - write_function = [this](const std::string_view & str) { writeFixed(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeFixed(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readFixed(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_int64()); }; break; @@ -807,7 +807,7 @@ namespace case FieldTypeId::TYPE_FLOAT: { - write_function = [this](const std::string_view & str) { writeFixed(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeFixed(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readFixed(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_float()); }; break; @@ -815,7 +815,7 @@ namespace case FieldTypeId::TYPE_DOUBLE: { - write_function = [this](const std::string_view & str) { writeFixed(parseFromStr(str)); }; + write_function = [this](std::string_view str) { writeFixed(parseFromStr(str)); }; read_function = [this](PaddedPODArray & str) { toStringAppend(readFixed(), str); }; default_function = [this]() -> String { return toString(field_descriptor.default_value_double()); }; break; @@ -823,7 +823,7 @@ namespace case FieldTypeId::TYPE_BOOL: { - write_function = [this](const std::string_view & str) + write_function = [this](std::string_view str) { if (str == "true") writeUInt(1); @@ -855,7 +855,7 @@ namespace case FieldTypeId::TYPE_STRING: case FieldTypeId::TYPE_BYTES: { - write_function = [this](const std::string_view & str) { writeStr(str); }; + write_function = [this](std::string_view str) { writeStr(str); }; read_function = [this](PaddedPODArray & str) { readStrAndAppend(str); }; default_function = [this]() -> String { return field_descriptor.default_value_string(); }; break; @@ -863,7 +863,7 @@ namespace case FieldTypeId::TYPE_ENUM: { - write_function = [this](const std::string_view & str) { writeInt(stringToProtobufEnumValue(str)); }; + write_function = [this](std::string_view str) { writeInt(stringToProtobufEnumValue(str)); }; read_function = [this](PaddedPODArray & str) { protobufEnumValueToStringAppend(readInt(), str); }; default_function = [this]() -> String { return field_descriptor.default_value_enum()->name(); }; break; @@ -908,7 +908,7 @@ namespace } } - int stringToProtobufEnumValue(const std::string_view & str) const + int stringToProtobufEnumValue(std::string_view str) const { auto it = string_to_protobuf_enum_value_map.find(str); if (it == string_to_protobuf_enum_value_map.end()) @@ -932,7 +932,7 @@ namespace const std::shared_ptr fixed_string_data_type; const size_t n = 0; - std::function write_function; + std::function write_function; std::function &)> read_function; std::function default_function; std::unordered_map string_to_protobuf_enum_value_map; @@ -953,7 +953,7 @@ namespace using BaseClass = ProtobufSerializerNumber; ProtobufSerializerEnum( - const std::string_view & column_name_, + std::string_view column_name_, const std::shared_ptr & enum_data_type_, const FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) @@ -1067,7 +1067,7 @@ namespace protobuf_enum_value_to_enum_data_type_value_map.emplace(protobuf_enum_value, enum_data_type_value); }; - auto iless = [](const std::string_view & s1, const std::string_view & s2) { return ColumnNameWithProtobufFieldNameComparator::less(s1, s2); }; + auto iless = [](std::string_view s1, std::string_view s2) { return ColumnNameWithProtobufFieldNameComparator::less(s1, s2); }; boost::container::flat_map string_to_protobuf_enum_value_map; typename decltype(string_to_protobuf_enum_value_map)::sequence_type string_to_protobuf_enum_value_seq; for (int i : collections::range(enum_descriptor.value_count())) @@ -1133,9 +1133,9 @@ namespace Int64 readInt() { return ProtobufSerializerSingleValue::readInt(); } void writeInt(Int64 value) { ProtobufSerializerSingleValue::writeInt(value); } - void writeStr(const std::string_view & str) { ProtobufSerializerSingleValue::writeStr(str); } + void writeStr(std::string_view str) { ProtobufSerializerSingleValue::writeStr(str); } void readStr(String & str) { ProtobufSerializerSingleValue::readStr(str); } - [[noreturn]] void cannotConvertValue(const std::string_view & src_value, const std::string_view & src_type_name, const std::string_view & dest_type_name) const { ProtobufSerializerSingleValue::cannotConvertValue(src_value, src_type_name, dest_type_name); } + [[noreturn]] void cannotConvertValue(std::string_view src_value, std::string_view src_type_name, std::string_view dest_type_name) const { ProtobufSerializerSingleValue::cannotConvertValue(src_value, src_type_name, dest_type_name); } const std::shared_ptr enum_data_type; std::unordered_map enum_data_type_value_to_protobuf_enum_value_map; @@ -1152,7 +1152,7 @@ namespace using ColumnType = ColumnDecimal; ProtobufSerializerDecimal( - const std::string_view & column_name_, + std::string_view column_name_, const DataTypeDecimalBase & decimal_data_type_, const FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) @@ -1412,7 +1412,7 @@ namespace { public: ProtobufSerializerDate( - const std::string_view & column_name_, + std::string_view column_name_, const FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) : ProtobufSerializerNumber(column_name_, field_descriptor_, reader_or_writer_) @@ -1490,7 +1490,7 @@ namespace { public: ProtobufSerializerDateTime( - const std::string_view & column_name_, + std::string_view column_name_, const DataTypeDateTime & type, const FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) @@ -1574,7 +1574,7 @@ namespace { public: ProtobufSerializerUUID( - const std::string_view & column_name_, + std::string_view column_name_, const google::protobuf::FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) : ProtobufSerializerSingleValue(column_name_, field_descriptor_, reader_or_writer_) @@ -1654,7 +1654,7 @@ namespace { public: ProtobufSerializerAggregateFunction( - const std::string_view & column_name_, + std::string_view column_name_, const std::shared_ptr & aggregate_function_data_type_, const google::protobuf::FieldDescriptor & field_descriptor_, const ProtobufReaderOrWriter & reader_or_writer_) @@ -2061,7 +2061,7 @@ namespace { public: ProtobufSerializerTupleAsArray( - const std::string_view & column_name_, + std::string_view column_name_, const std::shared_ptr & tuple_data_type_, const FieldDescriptor & field_descriptor_, std::vector> element_serializers_) @@ -2833,7 +2833,7 @@ namespace return field_names; } - static bool columnNameEqualsToFieldName(const std::string_view & column_name, const FieldDescriptor & field_descriptor) + static bool columnNameEqualsToFieldName(std::string_view column_name, const FieldDescriptor & field_descriptor) { std::string_view suffix; return columnNameStartsWithFieldName(column_name, field_descriptor, suffix) && suffix.empty(); @@ -2844,7 +2844,7 @@ namespace /// which doesn't match to the field's name. /// The function requires that rest part of the column's name to be started with a dot '.' or underline '_', /// but doesn't include those '.' or '_' characters into `suffix`. - static bool columnNameStartsWithFieldName(const std::string_view & column_name, const FieldDescriptor & field_descriptor, std::string_view & suffix) + static bool columnNameStartsWithFieldName(std::string_view column_name, const FieldDescriptor & field_descriptor, std::string_view & suffix) { size_t matching_length = 0; const MessageDescriptor & containing_type = *field_descriptor.containing_type(); @@ -2887,7 +2887,7 @@ namespace /// for that case suffixes are also returned. /// This is only the first filter, buildMessageSerializerImpl() does other checks after calling this function. static bool findFieldsByColumnName( - const std::string_view & column_name, + std::string_view column_name, const MessageDescriptor & message_descriptor, std::vector> & out_field_descriptors_with_suffixes, bool google_wrappers_special_treatment) @@ -3030,7 +3030,7 @@ namespace used_column_indices_sorted.reserve(num_columns); size_t sequential_column_index = 0; - auto add_field_serializer = [&](const std::string_view & column_name_, + auto add_field_serializer = [&](std::string_view column_name_, std::vector && column_indices_, const FieldDescriptor & field_descriptor_, std::unique_ptr field_serializer_) @@ -3243,7 +3243,7 @@ namespace /// Builds a serializer for one-to-one match: /// one column is serialized as one field in the protobuf message. std::unique_ptr buildFieldSerializer( - const std::string_view & column_name, + std::string_view column_name, const DataTypePtr & data_type, const FieldDescriptor & field_descriptor, bool allow_repeat, @@ -3395,7 +3395,7 @@ namespace } } - [[noreturn]] static void throwFieldNotRepeated(const FieldDescriptor & field_descriptor, const std::string_view & column_name) + [[noreturn]] static void throwFieldNotRepeated(const FieldDescriptor & field_descriptor, std::string_view column_name) { if (!field_descriptor.is_repeated()) throw Exception( @@ -3427,19 +3427,23 @@ namespace return std::make_shared>(std::move(values)); } - NameAndTypePair getNameAndDataTypeFromField(const google::protobuf::FieldDescriptor * field_descriptor, bool allow_repeat = true) + std::optional getNameAndDataTypeFromField(const google::protobuf::FieldDescriptor * field_descriptor, bool skip_unsupported_fields, bool allow_repeat = true) { if (allow_repeat && field_descriptor->is_map()) { - auto name_and_type = getNameAndDataTypeFromField(field_descriptor, false); - const auto * tuple_type = assert_cast(name_and_type.type.get()); - return {name_and_type.name, std::make_shared(tuple_type->getElements())}; + auto name_and_type = getNameAndDataTypeFromField(field_descriptor, skip_unsupported_fields, false); + if (!name_and_type) + return std::nullopt; + const auto * tuple_type = assert_cast(name_and_type->type.get()); + return NameAndTypePair{name_and_type->name, std::make_shared(tuple_type->getElements())}; } if (allow_repeat && field_descriptor->is_repeated()) { - auto name_and_type = getNameAndDataTypeFromField(field_descriptor, false); - return {name_and_type.name, std::make_shared(name_and_type.type)}; + auto name_and_type = getNameAndDataTypeFromField(field_descriptor, skip_unsupported_fields, false); + if (!name_and_type) + return std::nullopt; + return NameAndTypePair{name_and_type->name, std::make_shared(name_and_type->type)}; } switch (field_descriptor->type()) @@ -3447,31 +3451,35 @@ namespace case FieldTypeId::TYPE_SFIXED32: case FieldTypeId::TYPE_SINT32: case FieldTypeId::TYPE_INT32: - return {field_descriptor->name(), std::make_shared()}; + return NameAndTypePair{field_descriptor->name(), std::make_shared()}; case FieldTypeId::TYPE_SFIXED64: case FieldTypeId::TYPE_SINT64: case FieldTypeId::TYPE_INT64: - return {field_descriptor->name(), std::make_shared()}; + return NameAndTypePair{field_descriptor->name(), std::make_shared()}; case FieldTypeId::TYPE_BOOL: - return {field_descriptor->name(), std::make_shared()}; + return NameAndTypePair{field_descriptor->name(), std::make_shared()}; case FieldTypeId::TYPE_FLOAT: - return {field_descriptor->name(), std::make_shared()}; + return NameAndTypePair{field_descriptor->name(), std::make_shared()}; case FieldTypeId::TYPE_DOUBLE: - return {field_descriptor->name(), std::make_shared()}; + return NameAndTypePair{field_descriptor->name(), std::make_shared()}; case FieldTypeId::TYPE_UINT32: case FieldTypeId::TYPE_FIXED32: - return {field_descriptor->name(), std::make_shared()}; + return NameAndTypePair{field_descriptor->name(), std::make_shared()}; case FieldTypeId::TYPE_UINT64: case FieldTypeId::TYPE_FIXED64: - return {field_descriptor->name(), std::make_shared()}; + return NameAndTypePair{field_descriptor->name(), std::make_shared()}; case FieldTypeId::TYPE_BYTES: case FieldTypeId::TYPE_STRING: - return {field_descriptor->name(), std::make_shared()}; + return NameAndTypePair{field_descriptor->name(), std::make_shared()}; case FieldTypeId::TYPE_ENUM: { const auto * enum_descriptor = field_descriptor->enum_type(); if (enum_descriptor->value_count() == 0) + { + if (skip_unsupported_fields) + return std::nullopt; throw Exception("Empty enum field", ErrorCodes::BAD_ARGUMENTS); + } int max_abs = std::abs(enum_descriptor->value(0)->number()); for (int i = 1; i != enum_descriptor->value_count(); ++i) { @@ -3479,21 +3487,33 @@ namespace max_abs = std::abs(enum_descriptor->value(i)->number()); } if (max_abs < 128) - return {field_descriptor->name(), getEnumDataType(enum_descriptor)}; + return NameAndTypePair{field_descriptor->name(), getEnumDataType(enum_descriptor)}; else if (max_abs < 32768) - return {field_descriptor->name(), getEnumDataType(enum_descriptor)}; + return NameAndTypePair{field_descriptor->name(), getEnumDataType(enum_descriptor)}; else + { + if (skip_unsupported_fields) + return std::nullopt; throw Exception("ClickHouse supports only 8-bit and 16-bit enums", ErrorCodes::BAD_ARGUMENTS); + } } case FieldTypeId::TYPE_GROUP: case FieldTypeId::TYPE_MESSAGE: { const auto * message_descriptor = field_descriptor->message_type(); - if (message_descriptor->field_count() == 1) + if (message_descriptor->field_count() == 0) + { + if (skip_unsupported_fields) + return std::nullopt; + throw Exception("Empty messages are not supported", ErrorCodes::BAD_ARGUMENTS); + } + else if (message_descriptor->field_count() == 1) { const auto * nested_field_descriptor = message_descriptor->field(0); - auto nested_name_and_type = getNameAndDataTypeFromField(nested_field_descriptor); - return {field_descriptor->name() + "_" + nested_name_and_type.name, nested_name_and_type.type}; + auto nested_name_and_type = getNameAndDataTypeFromField(nested_field_descriptor, skip_unsupported_fields); + if (!nested_name_and_type) + return std::nullopt; + return NameAndTypePair{field_descriptor->name() + "_" + nested_name_and_type->name, nested_name_and_type->type}; } else { @@ -3501,11 +3521,16 @@ namespace Strings nested_names; for (int i = 0; i != message_descriptor->field_count(); ++i) { - auto nested_name_and_type = getNameAndDataTypeFromField(message_descriptor->field(i)); - nested_types.push_back(nested_name_and_type.type); - nested_names.push_back(nested_name_and_type.name); + auto nested_name_and_type = getNameAndDataTypeFromField(message_descriptor->field(i), skip_unsupported_fields); + if (!nested_name_and_type) + continue; + nested_types.push_back(nested_name_and_type->type); + nested_names.push_back(nested_name_and_type->name); } - return {field_descriptor->name(), std::make_shared(std::move(nested_types), std::move(nested_names))}; + + if (nested_types.empty()) + return std::nullopt; + return NameAndTypePair{field_descriptor->name(), std::make_shared(std::move(nested_types), std::move(nested_names))}; } } } @@ -3540,11 +3565,16 @@ std::unique_ptr ProtobufSerializer::create( return ProtobufSerializerBuilder(writer).buildMessageSerializer(column_names, data_types, missing_column_indices, message_descriptor, with_length_delimiter, with_envelope, defaults_for_nullable_google_wrappers); } -NamesAndTypesList protobufSchemaToCHSchema(const google::protobuf::Descriptor * message_descriptor) +NamesAndTypesList protobufSchemaToCHSchema(const google::protobuf::Descriptor * message_descriptor, bool skip_unsupported_fields) { NamesAndTypesList schema; for (int i = 0; i != message_descriptor->field_count(); ++i) - schema.push_back(getNameAndDataTypeFromField(message_descriptor->field(i))); + { + if (auto name_and_type = getNameAndDataTypeFromField(message_descriptor->field(i), skip_unsupported_fields)) + schema.push_back(*name_and_type); + } + if (schema.empty()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "Cannot convert Protobuf schema to ClickHouse table schema, all fields have unsupported types"); return schema; } diff --git a/src/Formats/ProtobufSerializer.h b/src/Formats/ProtobufSerializer.h index 607d0b15b63..7cbfe5fd42c 100644 --- a/src/Formats/ProtobufSerializer.h +++ b/src/Formats/ProtobufSerializer.h @@ -54,7 +54,7 @@ public: ProtobufWriter & writer); }; -NamesAndTypesList protobufSchemaToCHSchema(const google::protobuf::Descriptor * message_descriptor); +NamesAndTypesList protobufSchemaToCHSchema(const google::protobuf::Descriptor * message_descriptor, bool skip_unsupported_fields); } #endif diff --git a/src/Formats/ProtobufWriter.cpp b/src/Formats/ProtobufWriter.cpp index ece4f78b1c8..da680fae601 100644 --- a/src/Formats/ProtobufWriter.cpp +++ b/src/Formats/ProtobufWriter.cpp @@ -196,7 +196,7 @@ template void ProtobufWriter::writeFixed(int field_number, UInt64 value) template void ProtobufWriter::writeFixed(int field_number, Float32 value); template void ProtobufWriter::writeFixed(int field_number, Float64 value); -void ProtobufWriter::writeString(int field_number, const std::string_view & str) +void ProtobufWriter::writeString(int field_number, std::string_view str) { size_t length = str.length(); size_t old_size = buffer.size(); diff --git a/src/Formats/ProtobufWriter.h b/src/Formats/ProtobufWriter.h index 1dcc8f4ef7c..3ede956e910 100644 --- a/src/Formats/ProtobufWriter.h +++ b/src/Formats/ProtobufWriter.h @@ -30,7 +30,7 @@ public: void writeSInt(int field_number, Int64 value); template void writeFixed(int field_number, T value); - void writeString(int field_number, const std::string_view & str); + void writeString(int field_number, std::string_view str); void startRepeatedPack(); void endRepeatedPack(int field_number, bool skip_if_empty); diff --git a/src/Formats/ReadSchemaUtils.cpp b/src/Formats/ReadSchemaUtils.cpp index 035546031d8..5ae21340864 100644 --- a/src/Formats/ReadSchemaUtils.cpp +++ b/src/Formats/ReadSchemaUtils.cpp @@ -66,7 +66,7 @@ ColumnsDescription readSchemaFromFormat( } catch (const DB::Exception & e) { - throw Exception(ErrorCodes::CANNOT_EXTRACT_TABLE_STRUCTURE, "Cannot extract table structure from {} format file. Error: {}", format_name, e.message()); + throw Exception(ErrorCodes::CANNOT_EXTRACT_TABLE_STRUCTURE, "Cannot extract table structure from {} format file. Error: {}. You can specify the structure manually", format_name, e.message()); } } else if (FormatFactory::instance().checkIfFormatHasSchemaReader(format_name)) @@ -75,16 +75,34 @@ ColumnsDescription readSchemaFromFormat( SchemaReaderPtr schema_reader; size_t max_rows_to_read = format_settings ? format_settings->max_rows_to_read_for_schema_inference : context->getSettingsRef().input_format_max_rows_to_read_for_schema_inference; size_t iterations = 0; - while ((buf = read_buffer_iterator())) + while (true) { + bool is_eof = false; + try + { + buf = read_buffer_iterator(); + if (!buf) + break; + is_eof = buf->eof(); + } + catch (...) + { + auto exception_message = getCurrentExceptionMessage(false); + throw Exception( + ErrorCodes::CANNOT_EXTRACT_TABLE_STRUCTURE, + "Cannot extract table structure from {} format file:\n{}\nYou can specify the structure manually", + format_name, + exception_message); + } + ++iterations; - if (buf->eof()) + if (is_eof) { auto exception_message = fmt::format("Cannot extract table structure from {} format file, file is empty", format_name); if (!retry) - throw Exception(ErrorCodes::CANNOT_EXTRACT_TABLE_STRUCTURE, exception_message); + throw Exception(ErrorCodes::CANNOT_EXTRACT_TABLE_STRUCTURE, "{}. You can specify the structure manually", exception_message); exception_messages += "\n" + exception_message; continue; @@ -100,29 +118,32 @@ ColumnsDescription readSchemaFromFormat( catch (...) { auto exception_message = getCurrentExceptionMessage(false); - size_t rows_read = schema_reader->getNumRowsRead(); - assert(rows_read <= max_rows_to_read); - max_rows_to_read -= schema_reader->getNumRowsRead(); - if (rows_read != 0 && max_rows_to_read == 0) + if (schema_reader) { - exception_message += "\nTo increase the maximum number of rows to read for structure determination, use setting input_format_max_rows_to_read_for_schema_inference"; - if (iterations > 1) + size_t rows_read = schema_reader->getNumRowsRead(); + assert(rows_read <= max_rows_to_read); + max_rows_to_read -= schema_reader->getNumRowsRead(); + if (rows_read != 0 && max_rows_to_read == 0) { - exception_messages += "\n" + exception_message; - break; + exception_message += "\nTo increase the maximum number of rows to read for structure determination, use setting input_format_max_rows_to_read_for_schema_inference"; + if (iterations > 1) + { + exception_messages += "\n" + exception_message; + break; + } + retry = false; } - retry = false; } if (!retry || !isRetryableSchemaInferenceError(getCurrentExceptionCode())) - throw Exception(ErrorCodes::CANNOT_EXTRACT_TABLE_STRUCTURE, "Cannot extract table structure from {} format file. Error: {}", format_name, exception_message); + throw Exception(ErrorCodes::CANNOT_EXTRACT_TABLE_STRUCTURE, "Cannot extract table structure from {} format file. Error: {}. You can specify the structure manually", format_name, exception_message); exception_messages += "\n" + exception_message; } } if (names_and_types.empty()) - throw Exception(ErrorCodes::CANNOT_EXTRACT_TABLE_STRUCTURE, "All attempts to extract table structure from files failed. Errors:{}", exception_messages); + throw Exception(ErrorCodes::CANNOT_EXTRACT_TABLE_STRUCTURE, "All attempts to extract table structure from files failed. Errors:{}\nYou can specify the structure manually", exception_messages); /// If we have "INSERT SELECT" query then try to order /// columns as they are ordered in table schema for formats diff --git a/src/Formats/registerFormats.cpp b/src/Formats/registerFormats.cpp index 8493c84173d..0953572fab9 100644 --- a/src/Formats/registerFormats.cpp +++ b/src/Formats/registerFormats.cpp @@ -82,6 +82,7 @@ void registerOutputFormatMySQLWire(FormatFactory & factory); void registerOutputFormatMarkdown(FormatFactory & factory); void registerOutputFormatPostgreSQLWire(FormatFactory & factory); void registerOutputFormatPrometheus(FormatFactory & factory); +void registerOutputFormatSQLInsert(FormatFactory & factory); /// Input only formats. @@ -205,6 +206,7 @@ void registerFormats() registerOutputFormatPostgreSQLWire(factory); registerOutputFormatCapnProto(factory); registerOutputFormatPrometheus(factory); + registerOutputFormatSQLInsert(factory); registerInputFormatRegexp(factory); registerInputFormatJSONAsString(factory); diff --git a/src/Functions/CMakeLists.txt b/src/Functions/CMakeLists.txt index 60386908f01..1bc95b49dbe 100644 --- a/src/Functions/CMakeLists.txt +++ b/src/Functions/CMakeLists.txt @@ -6,13 +6,14 @@ add_subdirectory(divide) include("${ClickHouse_SOURCE_DIR}/cmake/dbms_glob_sources.cmake") add_headers_and_sources(clickhouse_functions .) -list(REMOVE_ITEM clickhouse_functions_sources IFunction.cpp FunctionFactory.cpp FunctionHelpers.cpp) -list(REMOVE_ITEM clickhouse_functions_headers IFunction.h FunctionFactory.h FunctionHelpers.h) +list(REMOVE_ITEM clickhouse_functions_sources IFunction.cpp FunctionFactory.cpp FunctionHelpers.cpp extractTimeZoneFromFunctionArguments.cpp FunctionsLogical.cpp) +list(REMOVE_ITEM clickhouse_functions_headers IFunction.h FunctionFactory.h FunctionHelpers.h extractTimeZoneFromFunctionArguments.h FunctionsLogical.h) -add_library(clickhouse_functions ${clickhouse_functions_sources}) +add_library(clickhouse_functions_obj OBJECT ${clickhouse_functions_sources}) -target_link_libraries(clickhouse_functions - PUBLIC +list (APPEND OBJECT_LIBS $) + +list (APPEND PUBLIC_LIBS ch_contrib::wyhash ch_contrib::cityhash ch_contrib::farmhash @@ -24,44 +25,28 @@ target_link_libraries(clickhouse_functions ch_contrib::metrohash ch_contrib::murmurhash ch_contrib::hashidsxx +) - PRIVATE +list (APPEND PRIVATE_LIBS ch_contrib::zlib boost::filesystem divide_impl ) if (TARGET OpenSSL::Crypto) - target_link_libraries(clickhouse_functions PUBLIC OpenSSL::Crypto) + list (APPEND PUBLIC_LIBS OpenSSL::Crypto) endif() -if (CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE" - OR CMAKE_BUILD_TYPE_UC STREQUAL "RELWITHDEBINFO" - OR CMAKE_BUILD_TYPE_UC STREQUAL "MINSIZEREL") - set (STRIP_DSF_DEFAULT ON) -else() - set (STRIP_DSF_DEFAULT OFF) -endif() - - -# Provides faster linking and lower binary size. -# Tradeoff is the inability to debug some source files with e.g. gdb -# (empty stack frames and no local variables)." -option(STRIP_DEBUG_SYMBOLS_FUNCTIONS "Do not generate debugger info for ClickHouse functions" ${STRIP_DSF_DEFAULT}) - -if (STRIP_DEBUG_SYMBOLS_FUNCTIONS) - message(INFO "Not generating debugger info for ClickHouse functions") - target_compile_options(clickhouse_functions PRIVATE "-g0") -else() - message(STATUS "Generating debugger info for ClickHouse functions") +if (OMIT_HEAVY_DEBUG_SYMBOLS) + target_compile_options(clickhouse_functions_obj PRIVATE "-g0") endif() if (TARGET ch_contrib::icu) - target_link_libraries (clickhouse_functions PRIVATE ch_contrib::icu) + list (APPEND PRIVATE_LIBS ch_contrib::icu) endif () if (TARGET ch_contrib::fastops) - target_link_libraries (clickhouse_functions PRIVATE ch_contrib::fastops) + list (APPEND PRIVATE_LIBS ch_contrib::fastops) endif () if (ENABLE_EXAMPLES) @@ -69,45 +54,46 @@ if (ENABLE_EXAMPLES) endif () if (TARGET ch_contrib::llvm) - target_link_libraries(clickhouse_functions PRIVATE ch_contrib::llvm) + list (APPEND PRIVATE_LIBS ch_contrib::llvm) endif () if (TARGET ch_contrib::base64) - target_link_libraries(clickhouse_functions PRIVATE ch_contrib::base64) + list (APPEND PRIVATE_LIBS ch_contrib::base64) endif() -target_link_libraries(clickhouse_functions PRIVATE ch_contrib::lz4) +list (APPEND PRIVATE_LIBS ch_contrib::lz4) if (ENABLE_NLP) - target_link_libraries(clickhouse_functions PRIVATE ch_contrib::cld2) + list (APPEND PRIVATE_LIBS ch_contrib::cld2) endif() if (TARGET ch_contrib::h3) - target_link_libraries (clickhouse_functions PRIVATE ch_contrib::h3) + list (APPEND PRIVATE_LIBS ch_contrib::h3) endif() -if (TARGET ch_contrib::hyperscan) - target_link_libraries(clickhouse_functions PRIVATE ch_contrib::hyperscan) +if (TARGET ch_contrib::vectorscan) + list (APPEND PRIVATE_LIBS ch_contrib::vectorscan) endif() if (TARGET ch_contrib::simdjson) - target_link_libraries(clickhouse_functions PRIVATE ch_contrib::simdjson) + list (APPEND PRIVATE_LIBS ch_contrib::simdjson) endif() if (TARGET ch_contrib::rapidjson) - target_link_libraries(clickhouse_functions PRIVATE ch_contrib::rapidjson) + list (APPEND PRIVATE_LIBS ch_contrib::rapidjson) endif() add_subdirectory(GatherUtils) -target_link_libraries(clickhouse_functions PRIVATE clickhouse_functions_gatherutils) +list (APPEND PRIVATE_LIBS clickhouse_functions_gatherutils) add_subdirectory(URL) -target_link_libraries(clickhouse_functions PRIVATE clickhouse_functions_url) +list (APPEND OBJECT_LIBS $) add_subdirectory(array) -target_link_libraries(clickhouse_functions PRIVATE clickhouse_functions_array) +list (APPEND OBJECT_LIBS $) add_subdirectory(JSONPath) +list (APPEND PRIVATE_LIBS clickhouse_functions_jsonpath) # Signed integer overflow on user-provided data inside boost::geometry - ignore. set_source_files_properties("pointInPolygon.cpp" PROPERTIES COMPILE_FLAGS -fno-sanitize=signed-integer-overflow) @@ -115,3 +101,15 @@ set_source_files_properties("pointInPolygon.cpp" PROPERTIES COMPILE_FLAGS -fno-s if (ENABLE_FUZZING) add_compile_definitions(FUZZING_MODE=1) endif () + +target_link_libraries(clickhouse_functions_obj PUBLIC ${PUBLIC_LIBS} PRIVATE ${PRIVATE_LIBS}) + +if (USE_STATIC_LIBRARIES OR NOT SPLIT_SHARED_LIBRARIES) + # Used to forward the linking information to the final binaries such as clickhouse / unit_tests_dbms, + # since such information are lost after we convert to OBJECT target + add_library(clickhouse_functions INTERFACE) + target_link_libraries(clickhouse_functions INTERFACE ${OBJECT_LIBS} ${PUBLIC_LIBS} ${PRIVATE_LIBS}) +else() + add_library(clickhouse_functions SHARED ${OBJECT_LIBS}) + target_link_libraries(clickhouse_functions PUBLIC ${PUBLIC_LIBS} PRIVATE ${PRIVATE_LIBS}) +endif () diff --git a/src/Functions/CRC.cpp b/src/Functions/CRC.cpp index b7c6c1195ea..10045a246c0 100644 --- a/src/Functions/CRC.cpp +++ b/src/Functions/CRC.cpp @@ -143,7 +143,7 @@ void registerFunctionCRCImpl(FunctionFactory & factory) factory.registerFunction(T::name, FunctionFactory::CaseInsensitive); } -void registerFunctionCRC(FunctionFactory & factory) +REGISTER_FUNCTION(CRC) { registerFunctionCRCImpl(factory); registerFunctionCRCImpl(factory); diff --git a/src/Functions/CastOverloadResolver.cpp b/src/Functions/CastOverloadResolver.cpp index fd6fecc37d6..761e49fe7bd 100644 --- a/src/Functions/CastOverloadResolver.cpp +++ b/src/Functions/CastOverloadResolver.cpp @@ -5,7 +5,7 @@ namespace DB { -void registerCastOverloadResolvers(FunctionFactory & factory) +REGISTER_FUNCTION(CastOverloadResolvers) { factory.registerFunction>(FunctionFactory::CaseInsensitive); factory.registerFunction>(); diff --git a/src/Functions/CastOverloadResolver.h b/src/Functions/CastOverloadResolver.h index 9b579c34923..e62020e10fe 100644 --- a/src/Functions/CastOverloadResolver.h +++ b/src/Functions/CastOverloadResolver.h @@ -45,7 +45,7 @@ public: const auto & settings_ref = context->getSettingsRef(); if constexpr (internal) - return createImpl({}, false /*keep_nullable*/, false /*cast_ipv4_ipv6_default_on_conversion_error*/); + return createImpl({}, false /*keep_nullable*/, settings_ref.cast_ipv4_ipv6_default_on_conversion_error); return createImpl({}, settings_ref.cast_keep_nullable, settings_ref.cast_ipv4_ipv6_default_on_conversion_error); } diff --git a/src/Functions/CustomWeekTransforms.h b/src/Functions/CustomWeekTransforms.h index 8656f9da927..c296c8228b1 100644 --- a/src/Functions/CustomWeekTransforms.h +++ b/src/Functions/CustomWeekTransforms.h @@ -63,12 +63,10 @@ struct ToStartOfWeekImpl static inline UInt16 execute(Int64 t, UInt8 week_mode, const DateLUTImpl & time_zone) { return time_zone.toFirstDayNumOfWeek(time_zone.toDayNum(t), week_mode); -// return time_zone.toFirstDayNumOfWeek(t, week_mode); } static inline UInt16 execute(UInt32 t, UInt8 week_mode, const DateLUTImpl & time_zone) { return time_zone.toFirstDayNumOfWeek(time_zone.toDayNum(t), week_mode); -// return time_zone.toFirstDayNumOfWeek(t, week_mode); } static inline UInt16 execute(Int32 d, UInt8 week_mode, const DateLUTImpl & time_zone) { diff --git a/src/Functions/FunctionBase58Conversion.h b/src/Functions/FunctionBase58Conversion.h new file mode 100644 index 00000000000..82e2a2caac0 --- /dev/null +++ b/src/Functions/FunctionBase58Conversion.h @@ -0,0 +1,161 @@ +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int ILLEGAL_COLUMN; + extern const int ILLEGAL_TYPE_OF_ARGUMENT; + extern const int BAD_ARGUMENTS; +} + +struct Base58Encode +{ + static constexpr auto name = "base58Encode"; + + static void process(const ColumnString & src_column, ColumnString::MutablePtr & dst_column, size_t input_rows_count) + { + auto & dst_data = dst_column->getChars(); + auto & dst_offsets = dst_column->getOffsets(); + + /// Base58 has efficiency of 73% (8/11) [https://monerodocs.org/cryptography/base58/], + /// and we take double scale to avoid any reallocation. + + size_t max_result_size = ceil(2 * src_column.getChars().size() + 1); + + dst_data.resize(max_result_size); + dst_offsets.resize(input_rows_count); + + const ColumnString::Offsets & src_offsets = src_column.getOffsets(); + + const auto * src = src_column.getChars().data(); + auto * dst = dst_data.data(); + auto * dst_pos = dst; + + size_t src_offset_prev = 0; + + for (size_t row = 0; row < input_rows_count; ++row) + { + size_t srclen = src_offsets[row] - src_offset_prev; + auto encoded_size = encodeBase58(src, dst_pos); + + src += srclen; + dst_pos += encoded_size; + + dst_offsets[row] = dst_pos - dst; + src_offset_prev = src_offsets[row]; + } + + dst_data.resize(dst_pos - dst); + } +}; + +struct Base58Decode +{ + static constexpr auto name = "base58Decode"; + + static void process(const ColumnString & src_column, ColumnString::MutablePtr & dst_column, size_t input_rows_count) + { + auto & dst_data = dst_column->getChars(); + auto & dst_offsets = dst_column->getOffsets(); + + /// Base58 has efficiency of 73% (8/11) [https://monerodocs.org/cryptography/base58/], + /// and decoded value will be no longer than source. + + size_t max_result_size = src_column.getChars().size() + 1; + + dst_data.resize(max_result_size); + dst_offsets.resize(input_rows_count); + + const ColumnString::Offsets & src_offsets = src_column.getOffsets(); + + const auto * src = src_column.getChars().data(); + auto * dst = dst_data.data(); + auto * dst_pos = dst; + + size_t src_offset_prev = 0; + + for (size_t row = 0; row < input_rows_count; ++row) + { + size_t srclen = src_offsets[row] - src_offset_prev; + + auto decoded_size = decodeBase58(src, dst_pos); + if (!decoded_size) + throw Exception("Invalid Base58 value, cannot be decoded", ErrorCodes::BAD_ARGUMENTS); + + src += srclen; + dst_pos += decoded_size; + + dst_offsets[row] = dst_pos - dst; + src_offset_prev = src_offsets[row]; + } + + dst_data.resize(dst_pos - dst); + } +}; + +template +class FunctionBase58Conversion : public IFunction +{ +public: + static constexpr auto name = Func::name; + + static FunctionPtr create(ContextPtr) + { + return std::make_shared(); + } + + String getName() const override + { + return Func::name; + } + + size_t getNumberOfArguments() const override { return 1; } + + bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo & /*arguments*/) const override { return true; } + + bool useDefaultImplementationForConstants() const override { return true; } + + ColumnNumbers getArgumentsThatAreAlwaysConstant() const override { return {1}; } + + DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName & arguments) const override + { + if (arguments.size() != 1) + throw Exception("Wrong number of arguments for function " + getName() + ": 1 expected.", ErrorCodes::BAD_ARGUMENTS); + + if (!isString(arguments[0].type)) + throw Exception( + "Illegal type " + arguments[0].type->getName() + " of first argument of function " + getName() + ". Must be String.", + ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + + return std::make_shared(); + } + + ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr &, size_t input_rows_count) const override + { + const ColumnPtr column_string = arguments[0].column; + const ColumnString * input = checkAndGetColumn(column_string.get()); + if (!input) + throw Exception( + "Illegal column " + arguments[0].column->getName() + " of first argument of function " + getName() + ", must be String", + ErrorCodes::ILLEGAL_COLUMN); + + auto dst_column = ColumnString::create(); + + Func::process(*input, dst_column, input_rows_count); + + return dst_column; + } +}; +} diff --git a/src/Functions/FunctionBase64Conversion.h b/src/Functions/FunctionBase64Conversion.h index a1d6b966660..87a3309f7ef 100644 --- a/src/Functions/FunctionBase64Conversion.h +++ b/src/Functions/FunctionBase64Conversion.h @@ -85,7 +85,7 @@ public: { if (!WhichDataType(arguments[0].type).isString()) throw Exception( - "Illegal type " + arguments[0].type->getName() + " of 1 argument of function " + getName() + ". Must be String.", + "Illegal type " + arguments[0].type->getName() + " of 1st argument of function " + getName() + ". Must be String.", ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); return std::make_shared(); @@ -98,7 +98,7 @@ public: if (!input) throw Exception( - "Illegal column " + arguments[0].column->getName() + " of first argument of function " + getName(), + "Illegal column " + arguments[0].column->getName() + " of first argument of function " + getName() + ", must be of type String", ErrorCodes::ILLEGAL_COLUMN); auto dst_column = ColumnString::create(); diff --git a/src/Functions/FunctionBinaryArithmetic.h b/src/Functions/FunctionBinaryArithmetic.h index 4aaaf37e6cf..fa13008f352 100644 --- a/src/Functions/FunctionBinaryArithmetic.h +++ b/src/Functions/FunctionBinaryArithmetic.h @@ -39,6 +39,7 @@ #include #include #include +#include #if USE_EMBEDDED_COMPILER # pragma GCC diagnostic push @@ -1179,6 +1180,21 @@ public: { if constexpr (IsDataTypeDecimal && IsDataTypeDecimal) { + if constexpr (is_division) + { + if (context->getSettingsRef().decimal_check_overflow) + { + /// Check overflow by using operands scale (based on big decimal division implementation details): + /// big decimal arithmetic is based on big integers, decimal operands are converted to big integers + /// i.e. int_operand = decimal_operand*10^scale + /// For division, left operand will be scaled by right operand scale also to do big integer division, + /// BigInt result = left*10^(left_scale + right_scale) / right * 10^right_scale + /// So, we can check upfront possible overflow just by checking max scale used for left operand + /// Note: it doesn't detect all possible overflow during big decimal division + if (left.getScale() + right.getScale() > ResultDataType::maxPrecision()) + throw Exception("Overflow during decimal division", ErrorCodes::DECIMAL_OVERFLOW); + } + } ResultDataType result_type = decimalResultType(left, right); type_res = std::make_shared(result_type.getPrecision(), result_type.getScale()); } diff --git a/src/Functions/FunctionChar.cpp b/src/Functions/FunctionChar.cpp index f50e212d9b2..c022fda04c8 100644 --- a/src/Functions/FunctionChar.cpp +++ b/src/Functions/FunctionChar.cpp @@ -113,7 +113,7 @@ private: } }; -void registerFunctionChar(FunctionFactory & factory) +REGISTER_FUNCTION(Char) { factory.registerFunction(FunctionFactory::CaseInsensitive); } diff --git a/src/Functions/FunctionDateOrDateTimeToSomething.h b/src/Functions/FunctionDateOrDateTimeToSomething.h index 5269eecea37..d734c7f87c1 100644 --- a/src/Functions/FunctionDateOrDateTimeToSomething.h +++ b/src/Functions/FunctionDateOrDateTimeToSomething.h @@ -148,8 +148,10 @@ public: const IFunction::Monotonicity is_monotonic = { .is_monotonic = true }; const IFunction::Monotonicity is_not_monotonic; - /// This method is called only if the function has one argument. Therefore, we do not care about the non-local time zone. - const DateLUTImpl & date_lut = DateLUT::instance(); + const DateLUTImpl * date_lut = &DateLUT::instance(); + if (const auto * timezone = dynamic_cast(&type)) + date_lut = &timezone->getTimeZone(); + if (left.isNull() || right.isNull()) return is_not_monotonic; @@ -157,20 +159,20 @@ public: if (checkAndGetDataType(&type)) { - return Transform::FactorTransform::execute(UInt16(left.get()), date_lut) - == Transform::FactorTransform::execute(UInt16(right.get()), date_lut) + return Transform::FactorTransform::execute(UInt16(left.get()), *date_lut) + == Transform::FactorTransform::execute(UInt16(right.get()), *date_lut) ? is_monotonic : is_not_monotonic; } else if (checkAndGetDataType(&type)) { - return Transform::FactorTransform::execute(Int32(left.get()), date_lut) - == Transform::FactorTransform::execute(Int32(right.get()), date_lut) + return Transform::FactorTransform::execute(Int32(left.get()), *date_lut) + == Transform::FactorTransform::execute(Int32(right.get()), *date_lut) ? is_monotonic : is_not_monotonic; } else { - return Transform::FactorTransform::execute(UInt32(left.get()), date_lut) - == Transform::FactorTransform::execute(UInt32(right.get()), date_lut) + return Transform::FactorTransform::execute(UInt32(left.get()), *date_lut) + == Transform::FactorTransform::execute(UInt32(right.get()), *date_lut) ? is_monotonic : is_not_monotonic; } } diff --git a/src/Functions/FunctionFQDN.cpp b/src/Functions/FunctionFQDN.cpp index 7385de807a1..c4ac409ca04 100644 --- a/src/Functions/FunctionFQDN.cpp +++ b/src/Functions/FunctionFQDN.cpp @@ -44,7 +44,7 @@ public: }; -void registerFunctionFQDN(FunctionFactory & factory) +REGISTER_FUNCTION(FQDN) { factory.registerFunction(FunctionFactory::CaseInsensitive); factory.registerFunction("fullHostName"); diff --git a/src/Functions/FunctionFactory.h b/src/Functions/FunctionFactory.h index 13b14559ec4..6758592558c 100644 --- a/src/Functions/FunctionFactory.h +++ b/src/Functions/FunctionFactory.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include #include diff --git a/src/Functions/FunctionFile.cpp b/src/Functions/FunctionFile.cpp index 01314b52119..f65d8900351 100644 --- a/src/Functions/FunctionFile.cpp +++ b/src/Functions/FunctionFile.cpp @@ -1,7 +1,10 @@ +#include #include +#include #include #include #include +#include #include #include #include @@ -19,6 +22,7 @@ namespace ErrorCodes { extern const int ILLEGAL_COLUMN; extern const int NOT_IMPLEMENTED; + extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH; extern const int DATABASE_ACCESS_DENIED; } @@ -30,21 +34,41 @@ public: static FunctionPtr create(ContextPtr context_) { return std::make_shared(context_); } explicit FunctionFile(ContextPtr context_) : WithContext(context_) {} + bool isVariadic() const override { return true; } String getName() const override { return name; } - size_t getNumberOfArguments() const override { return 1; } + size_t getNumberOfArguments() const override { return 0; } bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo & /*arguments*/) const override { return true; } DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName & arguments) const override { + if (arguments.empty() || arguments.size() > 2) + throw Exception( + ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH, + "Number of arguments for function {} doesn't match: passed {}, should be 1 or 2", + getName(), toString(arguments.size())); + if (!isString(arguments[0].type)) throw Exception(ErrorCodes::NOT_IMPLEMENTED, "{} is only implemented for type String", getName()); + if (arguments.size() == 2) + { + if (arguments[1].type->onlyNull()) + return makeNullable(std::make_shared()); + + if (!isString(arguments[1].type)) + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "{} only accepts String or Null as second argument", getName()); + } + return std::make_shared(); } + ColumnNumbers getArgumentsThatAreAlwaysConstant() const override { return {1}; } + + bool useDefaultImplementationForNulls() const override { return false; } + bool useDefaultImplementationForConstants() const override { return true; } - ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr &, size_t input_rows_count) const override + ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr & result_type, size_t input_rows_count) const override { const ColumnPtr column = arguments[0].column; const ColumnString * column_src = checkAndGetColumn(column.get()); @@ -53,6 +77,31 @@ public: fmt::format("Illegal column {} of argument of function {}", arguments[0].column->getName(), getName()), ErrorCodes::ILLEGAL_COLUMN); + String default_result; + + ColumnUInt8::MutablePtr col_null_map_to; + ColumnUInt8::Container * vec_null_map_to [[maybe_unused]] = nullptr; + + if (arguments.size() == 2) + { + if (result_type->isNullable()) + { + col_null_map_to = ColumnUInt8::create(input_rows_count, false); + vec_null_map_to = &col_null_map_to->getData(); + } + else + { + const auto & default_column = arguments[1].column; + const ColumnConst * default_col = checkAndGetColumn(default_column.get()); + + if (!default_col) + throw Exception( + "Illegal column " + arguments[1].column->getName() + " of argument of function " + getName(), ErrorCodes::ILLEGAL_COLUMN); + + default_result = default_col->getValue(); + } + } + auto result = ColumnString::create(); auto & res_chars = result->getChars(); auto & res_offsets = result->getOffsets(); @@ -67,8 +116,8 @@ public: for (size_t row = 0; row < input_rows_count; ++row) { - StringRef filename = column_src->getDataAt(row); - fs::path file_path(filename.data, filename.data + filename.size); + std::string_view filename = column_src->getDataAt(row).toView(); + fs::path file_path(filename.data(), filename.data() + filename.size()); if (file_path.is_relative()) file_path = user_files_absolute_path / file_path; @@ -77,24 +126,40 @@ public: /// Otherwise it will not allow to work with symlinks in `user_files_path` directory. file_path = fs::absolute(file_path).lexically_normal(); - if (need_check && file_path.string().find(user_files_absolute_path_string) != 0) - throw Exception(ErrorCodes::DATABASE_ACCESS_DENIED, "File is not inside {}", user_files_absolute_path.string()); + try + { + if (need_check && file_path.string().find(user_files_absolute_path_string) != 0) + throw Exception(ErrorCodes::DATABASE_ACCESS_DENIED, "File is not inside {}", user_files_absolute_path.string()); - ReadBufferFromFile in(file_path); - WriteBufferFromVector out(res_chars, AppendModeTag{}); - copyData(in, out); - out.finalize(); + ReadBufferFromFile in(file_path); + WriteBufferFromVector out(res_chars, AppendModeTag{}); + copyData(in, out); + out.finalize(); + } + catch (...) + { + if (arguments.size() == 1) + throw; + + if (vec_null_map_to) + (*vec_null_map_to)[row] = true; + else + res_chars.insert(default_result.data(), default_result.data() + default_result.size()); + } res_chars.push_back(0); res_offsets[row] = res_chars.size(); } + if (vec_null_map_to) + return ColumnNullable::create(std::move(result), std::move(col_null_map_to)); + return result; } }; -void registerFunctionFile(FunctionFactory & factory) +REGISTER_FUNCTION(File) { factory.registerFunction(); } diff --git a/src/Functions/FunctionHashID.cpp b/src/Functions/FunctionHashID.cpp index bd875a9d4ff..829b3d9d2f6 100644 --- a/src/Functions/FunctionHashID.cpp +++ b/src/Functions/FunctionHashID.cpp @@ -4,7 +4,7 @@ namespace DB { -void registerFunctionHashID(FunctionFactory & factory) +REGISTER_FUNCTION(HashID) { factory.registerFunction(); } diff --git a/src/Functions/FunctionHashID.h b/src/Functions/FunctionHashID.h index fbfb368bec7..e469381a784 100644 --- a/src/Functions/FunctionHashID.h +++ b/src/Functions/FunctionHashID.h @@ -51,9 +51,12 @@ public: bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo & /*arguments*/) const override { return false; } + bool useDefaultImplementationForConstants() const override { return true; } + ColumnNumbers getArgumentsThatAreAlwaysConstant() const override { return {1, 2, 3}; } + DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName & arguments) const override { - if (arguments.size() < 1) + if (arguments.empty()) throw Exception(ErrorCodes::TOO_FEW_ARGUMENTS_FOR_FUNCTION, "Function {} expects at least one argument", getName()); const auto & id_col = arguments[0]; @@ -67,7 +70,7 @@ public: if (arguments.size() > 1) { const auto & hash_col = arguments[1]; - if (!isString(hash_col.type) || !isColumnConst(*hash_col.column.get())) + if (!isString(hash_col.type)) throw Exception( ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, "Second argument of function {} must be String, got {}", @@ -78,7 +81,7 @@ public: if (arguments.size() > 2) { const auto & min_length_col = arguments[2]; - if (!isUInt8(min_length_col.type) || !isColumnConst(*min_length_col.column.get())) + if (!isUInt8(min_length_col.type)) throw Exception( ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, "Third argument of function {} must be UInt8, got {}", @@ -89,7 +92,7 @@ public: if (arguments.size() > 3) { const auto & alphabet_col = arguments[3]; - if (!isString(alphabet_col.type) || !isColumnConst(*alphabet_col.column.get())) + if (!isString(alphabet_col.type)) throw Exception( ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, "Fourth argument of function {} must be String, got {}", @@ -114,18 +117,16 @@ public: const auto & numcolumn = arguments[0].column; if (checkAndGetColumn(numcolumn.get()) || checkAndGetColumn(numcolumn.get()) - || checkAndGetColumn(numcolumn.get()) || checkAndGetColumn(numcolumn.get()) - || checkAndGetColumnConst(numcolumn.get()) || checkAndGetColumnConst(numcolumn.get()) - || checkAndGetColumnConst(numcolumn.get()) || checkAndGetColumnConst(numcolumn.get())) + || checkAndGetColumn(numcolumn.get()) || checkAndGetColumn(numcolumn.get())) { std::string salt; - UInt8 minLength = 0; + UInt8 min_length = 0; std::string alphabet; if (arguments.size() >= 4) { const auto & alphabetcolumn = arguments[3].column; - if (auto alpha_col = checkAndGetColumnConst(alphabetcolumn.get())) + if (const auto * alpha_col = checkAndGetColumnConst(alphabetcolumn.get())) { alphabet = alpha_col->getValue(); if (alphabet.find('\0') != std::string::npos) @@ -138,18 +139,18 @@ public: if (arguments.size() >= 3) { const auto & minlengthcolumn = arguments[2].column; - if (auto min_length_col = checkAndGetColumnConst(minlengthcolumn.get())) - minLength = min_length_col->getValue(); + if (const auto * min_length_col = checkAndGetColumnConst(minlengthcolumn.get())) + min_length = min_length_col->getValue(); } if (arguments.size() >= 2) { const auto & saltcolumn = arguments[1].column; - if (auto salt_col = checkAndGetColumnConst(saltcolumn.get())) + if (const auto * salt_col = checkAndGetColumnConst(saltcolumn.get())) salt = salt_col->getValue(); } - hashidsxx::Hashids hash(salt, minLength, alphabet); + hashidsxx::Hashids hash(salt, min_length, alphabet); auto col_res = ColumnString::create(); diff --git a/src/Functions/FunctionJoinGet.cpp b/src/Functions/FunctionJoinGet.cpp index da1061e4b3e..825ae6a665a 100644 --- a/src/Functions/FunctionJoinGet.cpp +++ b/src/Functions/FunctionJoinGet.cpp @@ -96,7 +96,7 @@ FunctionBasePtr JoinGetOverloadResolver::buildImpl(const ColumnsWithTyp return std::make_unique>(getContext(), table_lock, storage_join, attr_name, argument_types, return_type); } -void registerFunctionJoinGet(FunctionFactory & factory) +REGISTER_FUNCTION(JoinGet) { // joinGet factory.registerFunction>(); diff --git a/src/Functions/FunctionSQLJSON.cpp b/src/Functions/FunctionSQLJSON.cpp index a316d9de7ab..e9d179ad6ae 100644 --- a/src/Functions/FunctionSQLJSON.cpp +++ b/src/Functions/FunctionSQLJSON.cpp @@ -5,7 +5,7 @@ namespace DB { -void registerFunctionsSQLJSON(FunctionFactory & factory) +REGISTER_FUNCTION(SQLJSON) { factory.registerFunction>(); factory.registerFunction>(); diff --git a/src/Functions/FunctionShowCertificate.cpp b/src/Functions/FunctionShowCertificate.cpp index e978f77244c..2e2b7506803 100644 --- a/src/Functions/FunctionShowCertificate.cpp +++ b/src/Functions/FunctionShowCertificate.cpp @@ -4,7 +4,7 @@ namespace DB { -void registerFunctionShowCertificate(FunctionFactory & factory) +REGISTER_FUNCTION(ShowCertificate) { factory.registerFunction(); } diff --git a/src/Functions/FunctionShowCertificate.h b/src/Functions/FunctionShowCertificate.h index bb3c0fd8299..0724158f66b 100644 --- a/src/Functions/FunctionShowCertificate.h +++ b/src/Functions/FunctionShowCertificate.h @@ -74,7 +74,7 @@ public: { char buf[1024] = {0}; - const ASN1_INTEGER * sn = cert->cert_info->serialNumber; + const ASN1_INTEGER * sn = X509_get0_serialNumber(cert); BIGNUM * bnsn = ASN1_INTEGER_to_BN(sn, nullptr); SCOPE_EXIT( { @@ -101,7 +101,7 @@ public: } } - char * issuer = X509_NAME_oneline(cert->cert_info->issuer, nullptr, 0); + char * issuer = X509_NAME_oneline(X509_get_issuer_name(cert), nullptr, 0); if (issuer) { SCOPE_EXIT( @@ -130,7 +130,7 @@ public: } } - char * subject = X509_NAME_oneline(cert->cert_info->subject, nullptr, 0); + char * subject = X509_NAME_oneline(X509_get_subject_name(cert), nullptr, 0); if (subject) { SCOPE_EXIT( diff --git a/src/Functions/FunctionsAES.cpp b/src/Functions/FunctionsAES.cpp index 6a4777c4dd4..9ef07e2747d 100644 --- a/src/Functions/FunctionsAES.cpp +++ b/src/Functions/FunctionsAES.cpp @@ -25,7 +25,7 @@ void onError(std::string error_message) throw DB::Exception(error_message, DB::ErrorCodes::OPENSSL_ERROR); } -StringRef foldEncryptionKeyInMySQLCompatitableMode(size_t cipher_key_size, const StringRef & key, std::array & folded_key) +StringRef foldEncryptionKeyInMySQLCompatitableMode(size_t cipher_key_size, StringRef key, std::array & folded_key) { assert(cipher_key_size <= EVP_MAX_KEY_LENGTH); memcpy(folded_key.data(), key.data, cipher_key_size); @@ -38,20 +38,12 @@ StringRef foldEncryptionKeyInMySQLCompatitableMode(size_t cipher_key_size, const return StringRef(folded_key.data(), cipher_key_size); } -const EVP_CIPHER * getCipherByName(const StringRef & cipher_name) +const EVP_CIPHER * getCipherByName(StringRef cipher_name) { - const auto * evp_cipher = EVP_get_cipherbyname(cipher_name.data); - if (evp_cipher == nullptr) - { - // For some reasons following ciphers can't be found by name. - if (cipher_name == "aes-128-cfb128") - evp_cipher = EVP_aes_128_cfb128(); - } - // NOTE: cipher obtained not via EVP_CIPHER_fetch() would cause extra work on each context reset // with EVP_CIPHER_CTX_reset() or EVP_EncryptInit_ex(), but using EVP_CIPHER_fetch() // causes data race, so we stick to the slower but safer alternative here. - return evp_cipher; + return EVP_get_cipherbyname(cipher_name.data); } } diff --git a/src/Functions/FunctionsAES.h b/src/Functions/FunctionsAES.h index d3796081f18..0d8e5a5546a 100644 --- a/src/Functions/FunctionsAES.h +++ b/src/Functions/FunctionsAES.h @@ -32,9 +32,9 @@ namespace ErrorCodes namespace OpenSSLDetails { [[noreturn]] void onError(std::string error_message); -StringRef foldEncryptionKeyInMySQLCompatitableMode(size_t cipher_key_size, const StringRef & key, std::array & folded_key); +StringRef foldEncryptionKeyInMySQLCompatitableMode(size_t cipher_key_size, StringRef key, std::array & folded_key); -const EVP_CIPHER * getCipherByName(const StringRef & name); +const EVP_CIPHER * getCipherByName(StringRef name); enum class CompatibilityMode { @@ -53,7 +53,7 @@ enum class CipherMode template struct KeyHolder { - inline StringRef setKey(size_t cipher_key_size, const StringRef & key) const + inline StringRef setKey(size_t cipher_key_size, StringRef key) const { if (key.size != cipher_key_size) throw DB::Exception(fmt::format("Invalid key size: {} expected {}", key.size, cipher_key_size), @@ -66,7 +66,7 @@ struct KeyHolder template <> struct KeyHolder { - inline StringRef setKey(size_t cipher_key_size, const StringRef & key) + inline StringRef setKey(size_t cipher_key_size, StringRef key) { if (key.size < cipher_key_size) throw DB::Exception(fmt::format("Invalid key size: {} expected {}", key.size, cipher_key_size), @@ -120,7 +120,7 @@ inline void validateCipherMode(const EVP_CIPHER * evp_cipher) } template -inline void validateIV(const StringRef & iv_value, const size_t cipher_iv_size) +inline void validateIV(StringRef iv_value, const size_t cipher_iv_size) { // In MySQL mode we don't care if IV is longer than expected, only if shorter. if ((mode == CipherMode::MySQLCompatibility && iv_value.size != 0 && iv_value.size < cipher_iv_size) @@ -167,8 +167,8 @@ private: validateFunctionArgumentTypes(*this, arguments, FunctionArgumentDescriptors{ {"mode", &isStringOrFixedString, isColumnConst, "encryption mode string"}, - {"input", &isStringOrFixedString, nullptr, "plaintext"}, - {"key", &isStringOrFixedString, nullptr, "encryption key binary string"}, + {"input", &isStringOrFixedString, {}, "plaintext"}, + {"key", &isStringOrFixedString, {}, "encryption key binary string"}, }, optional_args ); @@ -182,7 +182,7 @@ private: const auto mode = arguments[0].column->getDataAt(0); - if (mode.size == 0 || !std::string_view(mode).starts_with("aes-")) + if (mode.size == 0 || !mode.toView().starts_with("aes-")) throw Exception("Invalid mode: " + mode.toString(), ErrorCodes::BAD_ARGUMENTS); const auto * evp_cipher = getCipherByName(mode); @@ -439,8 +439,8 @@ private: validateFunctionArgumentTypes(*this, arguments, FunctionArgumentDescriptors{ {"mode", &isStringOrFixedString, isColumnConst, "decryption mode string"}, - {"input", nullptr, nullptr, "ciphertext"}, - {"key", &isStringOrFixedString, nullptr, "decryption key binary string"}, + {"input", &isStringOrFixedString, {}, "ciphertext"}, + {"key", &isStringOrFixedString, {}, "decryption key binary string"}, }, optional_args ); @@ -453,7 +453,7 @@ private: using namespace OpenSSLDetails; const auto mode = arguments[0].column->getDataAt(0); - if (mode.size == 0 || !std::string_view(mode).starts_with("aes-")) + if (mode.size == 0 || !mode.toView().starts_with("aes-")) throw Exception("Invalid mode: " + mode.toString(), ErrorCodes::BAD_ARGUMENTS); const auto * evp_cipher = getCipherByName(mode); diff --git a/src/Functions/FunctionsBase58.cpp b/src/Functions/FunctionsBase58.cpp new file mode 100644 index 00000000000..3aa141c3dde --- /dev/null +++ b/src/Functions/FunctionsBase58.cpp @@ -0,0 +1,15 @@ +#include +#include + +namespace DB +{ +REGISTER_FUNCTION(Base58Encode) +{ + factory.registerFunction>(); +} + +REGISTER_FUNCTION(Base58Decode) +{ + factory.registerFunction>(); +} +} diff --git a/src/Functions/FunctionsBinaryRepresentation.cpp b/src/Functions/FunctionsBinaryRepresentation.cpp index a13558133d3..d53963ace8a 100644 --- a/src/Functions/FunctionsBinaryRepresentation.cpp +++ b/src/Functions/FunctionsBinaryRepresentation.cpp @@ -621,7 +621,7 @@ public: } }; -void registerFunctionsBinaryRepr(FunctionFactory & factory) +REGISTER_FUNCTION(BinaryRepr) { factory.registerFunction>(FunctionFactory::CaseInsensitive); factory.registerFunction>(FunctionFactory::CaseInsensitive); diff --git a/src/Functions/FunctionsBitToArray.cpp b/src/Functions/FunctionsBitToArray.cpp index 76496b102cd..f154884a0fd 100644 --- a/src/Functions/FunctionsBitToArray.cpp +++ b/src/Functions/FunctionsBitToArray.cpp @@ -8,6 +8,7 @@ #include #include #include +#include namespace DB @@ -285,7 +286,7 @@ public: { while (x) { - result_array_values_data.push_back(getTrailingZeroBitsUnsafe(x)); + result_array_values_data.push_back(std::countr_zero(x)); x &= (x - 1); } } @@ -329,7 +330,7 @@ public: } -void registerFunctionsBitToArray(FunctionFactory & factory) +REGISTER_FUNCTION(BitToArray) { factory.registerFunction(); factory.registerFunction(); diff --git a/src/Functions/FunctionsBitmap.cpp b/src/Functions/FunctionsBitmap.cpp index 159d0ff6777..5dcc20c3dfb 100644 --- a/src/Functions/FunctionsBitmap.cpp +++ b/src/Functions/FunctionsBitmap.cpp @@ -7,7 +7,7 @@ namespace DB { -void registerFunctionsBitmap(FunctionFactory & factory) +REGISTER_FUNCTION(Bitmap) { factory.registerFunction(); factory.registerFunction(); diff --git a/src/Functions/FunctionsCharsetClassification.cpp b/src/Functions/FunctionsCharsetClassification.cpp index af6c1de2768..a25da8f6c13 100644 --- a/src/Functions/FunctionsCharsetClassification.cpp +++ b/src/Functions/FunctionsCharsetClassification.cpp @@ -143,7 +143,7 @@ struct NameDetectLanguageUnknown using FunctionDetectCharset = FunctionTextClassificationString, NameDetectCharset>; using FunctionDetectLanguageUnknown = FunctionTextClassificationString, NameDetectLanguageUnknown>; -void registerFunctionDetectCharset(FunctionFactory & factory) +REGISTER_FUNCTION(DetectCharset) { factory.registerFunction(); factory.registerFunction(); diff --git a/src/Functions/FunctionsCodingIP.cpp b/src/Functions/FunctionsCodingIP.cpp index 1fdbbf3e9bb..eaf62e232f7 100644 --- a/src/Functions/FunctionsCodingIP.cpp +++ b/src/Functions/FunctionsCodingIP.cpp @@ -1128,7 +1128,7 @@ public: struct NameFunctionIPv4NumToString { static constexpr auto name = "IPv4NumToString"; }; struct NameFunctionIPv4NumToStringClassC { static constexpr auto name = "IPv4NumToStringClassC"; }; -void registerFunctionsCoding(FunctionFactory & factory) +REGISTER_FUNCTION(Coding) { factory.registerFunction(); factory.registerFunction(); diff --git a/src/Functions/FunctionsCodingUUID.cpp b/src/Functions/FunctionsCodingUUID.cpp index 5ac1d585325..9309c4cdbeb 100644 --- a/src/Functions/FunctionsCodingUUID.cpp +++ b/src/Functions/FunctionsCodingUUID.cpp @@ -229,7 +229,7 @@ public: } }; -void registerFunctionsCodingUUID(FunctionFactory & factory) +REGISTER_FUNCTION(CodingUUID) { factory.registerFunction(); factory.registerFunction(); diff --git a/src/Functions/FunctionsConversion.cpp b/src/Functions/FunctionsConversion.cpp index 7f8e9148032..dc0235f810f 100644 --- a/src/Functions/FunctionsConversion.cpp +++ b/src/Functions/FunctionsConversion.cpp @@ -5,11 +5,7 @@ namespace DB { -void registerFunctionFixedString(FunctionFactory & factory); - -void registerCastOverloadResolvers(FunctionFactory & factory); - -void registerFunctionsConversion(FunctionFactory & factory) +REGISTER_FUNCTION(Conversion) { factory.registerFunction(); factory.registerFunction(); @@ -41,12 +37,8 @@ void registerFunctionsConversion(FunctionFactory & factory) factory.registerFunction(); factory.registerFunction(); - registerFunctionFixedString(factory); - factory.registerFunction(); - registerCastOverloadResolvers(factory); - factory.registerFunction(); factory.registerFunction(); factory.registerFunction(); @@ -111,6 +103,9 @@ void registerFunctionsConversion(FunctionFactory & factory) factory.registerFunction(); factory.registerFunction(); factory.registerFunction(); + factory.registerFunction(); + factory.registerFunction(); + factory.registerFunction(); factory.registerFunction>(); factory.registerFunction>(); diff --git a/src/Functions/FunctionsConversion.h b/src/Functions/FunctionsConversion.h index bffc15cdc57..d888a181d7a 100644 --- a/src/Functions/FunctionsConversion.h +++ b/src/Functions/FunctionsConversion.h @@ -1,5 +1,6 @@ #pragma once +#include "Common/Exception.h" #include #include @@ -190,27 +191,29 @@ struct ConvertImpl vec_null_map_to = &col_null_map_to->getData(); } - bool result_is_bool = isBool(result_type); - for (size_t i = 0; i < input_rows_count; ++i) + if constexpr (std::is_same_v) { - if constexpr (std::is_same_v) + if (isBool(result_type)) { - if (result_is_bool) + for (size_t i = 0; i < input_rows_count; ++i) { vec_to[i] = vec_from[i] != FromFieldType(0); - continue; } + goto done; } + } - if constexpr (std::is_same_v != std::is_same_v) + if constexpr (std::is_same_v != std::is_same_v) + { + throw Exception("Conversion between numeric types and UUID is not supported. Probably the passed UUID is unquoted", ErrorCodes::NOT_IMPLEMENTED); + } + else + { + if constexpr (IsDataTypeDecimal || IsDataTypeDecimal) { - throw Exception("Conversion between numeric types and UUID is not supported", ErrorCodes::NOT_IMPLEMENTED); - } - else - { - if constexpr (IsDataTypeDecimal || IsDataTypeDecimal) + if constexpr (std::is_same_v) { - if constexpr (std::is_same_v) + for (size_t i = 0; i < input_rows_count; ++i) { ToFieldType result; bool convert_result = false; @@ -230,7 +233,10 @@ struct ConvertImpl (*vec_null_map_to)[i] = true; } } - else + } + else + { + for (size_t i = 0; i < input_rows_count; ++i) { if constexpr (IsDataTypeDecimal && IsDataTypeDecimal) vec_to[i] = convertDecimals(vec_from[i], col_from->getScale(), col_to->getScale()); @@ -242,10 +248,13 @@ struct ConvertImpl throw Exception("Unsupported data type in conversion function", ErrorCodes::CANNOT_CONVERT_TYPE); } } - else + } + else + { + /// If From Data is Nan or Inf and we convert to integer type, throw exception + if constexpr (std::is_floating_point_v && !std::is_floating_point_v) { - /// If From Data is Nan or Inf and we convert to integer type, throw exception - if constexpr (std::is_floating_point_v && !std::is_floating_point_v) + for (size_t i = 0; i < input_rows_count; ++i) { if (!isFinite(vec_from[i])) { @@ -253,15 +262,46 @@ struct ConvertImpl { vec_to[i] = 0; (*vec_null_map_to)[i] = true; - continue; } else throw Exception("Unexpected inf or nan to integer conversion", ErrorCodes::CANNOT_CONVERT_TYPE); } - } + else + { + if constexpr (std::is_same_v + || std::is_same_v) + { + bool convert_result = accurate::convertNumeric(vec_from[i], vec_to[i]); - if constexpr (std::is_same_v - || std::is_same_v) + if (!convert_result) + { + if (std::is_same_v) + { + vec_to[i] = 0; + (*vec_null_map_to)[i] = true; + } + else + { + throw Exception( + "Value in column " + named_from.column->getName() + " cannot be safely converted into type " + + result_type->getName(), + ErrorCodes::CANNOT_CONVERT_TYPE); + } + } + } + else + { + vec_to[i] = static_cast(vec_from[i]); + } + } + } + goto done; + } + + if constexpr (std::is_same_v + || std::is_same_v) + { + for (size_t i = 0; i < input_rows_count; ++i) { bool convert_result = accurate::convertNumeric(vec_from[i], vec_to[i]); @@ -281,14 +321,38 @@ struct ConvertImpl } } } + } + else + { + if constexpr (std::is_same_v && std::is_same_v) + { + /// Turns out that when ClickHouse is compiled with AVX1 or AVX2 instructions, Clang's autovectorizer produces + /// code for UInt64-to-Float23 conversion which is only ~50% as fast as scalar code. Interestingly, scalar code + /// is equally fast than code compiled for SSE4.2, so we might as well disable vectorization. This situation + /// may change with AVX512 which has a dediated instruction for that usecase (_mm512_cvtepi64_ps). +#if defined(__x86_64__) +# ifdef __clang__ +# pragma clang loop vectorize(disable) interleave(disable) +# endif +#endif + for (size_t i = 0; i < input_rows_count; ++i) + { + vec_to[i] = static_cast(vec_from[i]); + } + } else { - vec_to[i] = static_cast(vec_from[i]); + for (size_t i = 0; i < input_rows_count; ++i) + { + vec_to[i] = static_cast(vec_from[i]); + } } } } } +done: + if constexpr (std::is_same_v) return ColumnNullable::create(std::move(col_to), std::move(col_null_map_to)); else @@ -535,8 +599,9 @@ template struct ConvertImpl struct ConvertImpl : DateTimeTransformImpl> {}; -const time_t LUT_MIN_TIME = -1420070400l; // 1925-01-01 UTC -const time_t LUT_MAX_TIME = 9877248000l; // 2282-12-31 UTC +const time_t LUT_MIN_TIME = -2208988800l; // 1900-01-01 UTC + +const time_t LUT_MAX_TIME = 10413791999l; // 2299-12-31 UTC /** Conversion of numeric to DateTime64 */ @@ -705,7 +770,7 @@ template <> struct FormatImpl { template - static ReturnType execute(const DataTypeDate::FieldType x, WriteBuffer & wb, const DataTypeDate32 *, const DateLUTImpl *) + static ReturnType execute(const DataTypeDate32::FieldType x, WriteBuffer & wb, const DataTypeDate32 *, const DateLUTImpl *) { writeDateText(ExtendedDayNum(x), wb); return ReturnType(true); @@ -1046,13 +1111,11 @@ inline bool tryParseImpl(DataTypeUUID::FieldType & x, ReadBuffer & /** Throw exception with verbose message when string value is not parsed completely. */ -[[noreturn]] inline void throwExceptionForIncompletelyParsedValue(ReadBuffer & read_buffer, const DataTypePtr result_type) +[[noreturn]] inline void throwExceptionForIncompletelyParsedValue(ReadBuffer & read_buffer, const IDataType & result_type) { - const IDataType & to_type = *result_type; - WriteBufferFromOwnString message_buf; message_buf << "Cannot parse string " << quote << String(read_buffer.buffer().begin(), read_buffer.buffer().size()) - << " as " << to_type.getName() + << " as " << result_type.getName() << ": syntax error"; if (read_buffer.offset()) @@ -1062,8 +1125,8 @@ inline bool tryParseImpl(DataTypeUUID::FieldType & x, ReadBuffer & message_buf << " at begin of string"; // Currently there are no functions toIPv{4,6}Or{Null,Zero} - if (isNativeNumber(to_type) && !(to_type.getName() == "IPv4" || to_type.getName() == "IPv6")) - message_buf << ". Note: there are to" << to_type.getName() << "OrZero and to" << to_type.getName() << "OrNull functions, which returns zero/NULL instead of throwing exception."; + if (isNativeNumber(result_type) && !(result_type.getName() == "IPv4" || result_type.getName() == "IPv6")) + message_buf << ". Note: there are to" << result_type.getName() << "OrZero and to" << result_type.getName() << "OrNull functions, which returns zero/NULL instead of throwing exception."; throw Exception(message_buf.str(), ErrorCodes::CANNOT_PARSE_TEXT); } @@ -1092,8 +1155,6 @@ struct ConvertThroughParsing static constexpr bool to_datetime64 = std::is_same_v; - // using ToFieldType = typename ToDataType::FieldType; - static bool isAllRead(ReadBuffer & in) { /// In case of FixedString, skip zero bytes at end. @@ -1253,7 +1314,7 @@ struct ConvertThroughParsing } if (!isAllRead(read_buffer)) - throwExceptionForIncompletelyParsedValue(read_buffer, res_type); + throwExceptionForIncompletelyParsedValue(read_buffer, *res_type); } else { @@ -1276,9 +1337,18 @@ struct ConvertThroughParsing } else if constexpr (parsing_mode == ConvertFromStringParsingMode::BestEffortUS) { - time_t res; - parsed = tryParseDateTimeBestEffortUS(res, read_buffer, *local_time_zone, *utc_time_zone); - convertFromTime(vec_to[i],res); + if constexpr (to_datetime64) + { + DateTime64 res = 0; + parsed = tryParseDateTime64BestEffortUS(res, col_to->getScale(), read_buffer, *local_time_zone, *utc_time_zone); + vec_to[i] = res; + } + else + { + time_t res; + parsed = tryParseDateTimeBestEffortUS(res, read_buffer, *local_time_zone, *utc_time_zone); + convertFromTime(vec_to[i],res); + } } else { @@ -1354,18 +1424,32 @@ struct ConvertImplGenericFromString static_assert(std::is_same_v || std::is_same_v, "Can be used only to parse from ColumnString or ColumnFixedString"); - const IColumn & col_from = *arguments[0].column; + const IColumn & column_from = *arguments[0].column; const IDataType & data_type_to = *result_type; - if (const StringColumnType * col_from_string = checkAndGetColumn(&col_from)) - { - auto res = data_type_to.createColumn(); + auto res = data_type_to.createColumn(); + auto serialization = data_type_to.getDefaultSerialization(); + const auto * null_map = column_nullable ? &column_nullable->getNullMapData() : nullptr; - IColumn & column_to = *res; + executeImpl(column_from, *res, *serialization, input_rows_count, null_map, result_type.get()); + return res; + } + + static void executeImpl( + const IColumn & column_from, + IColumn & column_to, + const ISerialization & serialization_from, + size_t input_rows_count, + const PaddedPODArray * null_map = nullptr, + const IDataType * result_type = nullptr) + { + static_assert(std::is_same_v || std::is_same_v, + "Can be used only to parse from ColumnString or ColumnFixedString"); + + if (const StringColumnType * col_from_string = checkAndGetColumn(&column_from)) + { column_to.reserve(input_rows_count); FormatSettings format_settings; - auto serialization = data_type_to.getDefaultSerialization(); - const auto * null_map = column_nullable ? &column_nullable->getNullMapData() : nullptr; for (size_t i = 0; i < input_rows_count; ++i) { if (null_map && (*null_map)[i]) @@ -1376,20 +1460,24 @@ struct ConvertImplGenericFromString const auto & val = col_from_string->getDataAt(i); ReadBufferFromMemory read_buffer(val.data, val.size); - - serialization->deserializeWholeText(column_to, read_buffer, format_settings); + serialization_from.deserializeWholeText(column_to, read_buffer, format_settings); if (!read_buffer.eof()) - throwExceptionForIncompletelyParsedValue(read_buffer, result_type); + { + if (result_type) + throwExceptionForIncompletelyParsedValue(read_buffer, *result_type); + else + throw Exception(ErrorCodes::CANNOT_PARSE_TEXT, + "Cannot parse string to column {}. Expected eof", column_to.getName()); + } } - - return res; } else - throw Exception("Illegal column " + arguments[0].column->getName() - + " of first argument of conversion function from string", - ErrorCodes::ILLEGAL_COLUMN); + throw Exception(ErrorCodes::ILLEGAL_COLUMN, + "Illegal column {} of first argument of conversion function from string", + column_from.getName()); } + }; @@ -2447,6 +2535,9 @@ struct NameParseDateTime32BestEffortOrNull { static constexpr auto name = "parse struct NameParseDateTime64BestEffort { static constexpr auto name = "parseDateTime64BestEffort"; }; struct NameParseDateTime64BestEffortOrZero { static constexpr auto name = "parseDateTime64BestEffortOrZero"; }; struct NameParseDateTime64BestEffortOrNull { static constexpr auto name = "parseDateTime64BestEffortOrNull"; }; +struct NameParseDateTime64BestEffortUS { static constexpr auto name = "parseDateTime64BestEffortUS"; }; +struct NameParseDateTime64BestEffortUSOrZero { static constexpr auto name = "parseDateTime64BestEffortUSOrZero"; }; +struct NameParseDateTime64BestEffortUSOrNull { static constexpr auto name = "parseDateTime64BestEffortUSOrNull"; }; using FunctionParseDateTimeBestEffort = FunctionConvertFromString< @@ -2477,6 +2568,14 @@ using FunctionParseDateTime64BestEffortOrZero = FunctionConvertFromString< using FunctionParseDateTime64BestEffortOrNull = FunctionConvertFromString< DataTypeDateTime64, NameParseDateTime64BestEffortOrNull, ConvertFromStringExceptionMode::Null, ConvertFromStringParsingMode::BestEffort>; +using FunctionParseDateTime64BestEffortUS = FunctionConvertFromString< + DataTypeDateTime64, NameParseDateTime64BestEffortUS, ConvertFromStringExceptionMode::Throw, ConvertFromStringParsingMode::BestEffortUS>; +using FunctionParseDateTime64BestEffortUSOrZero = FunctionConvertFromString< + DataTypeDateTime64, NameParseDateTime64BestEffortUSOrZero, ConvertFromStringExceptionMode::Zero, ConvertFromStringParsingMode::BestEffortUS>; +using FunctionParseDateTime64BestEffortUSOrNull = FunctionConvertFromString< + DataTypeDateTime64, NameParseDateTime64BestEffortUSOrNull, ConvertFromStringExceptionMode::Null, ConvertFromStringParsingMode::BestEffortUS>; + + class ExecutableFunctionCast : public IExecutableFunction { public: diff --git a/src/Functions/FunctionsEmbeddedDictionaries.cpp b/src/Functions/FunctionsEmbeddedDictionaries.cpp index eeaea9a32a5..570f717f3f6 100644 --- a/src/Functions/FunctionsEmbeddedDictionaries.cpp +++ b/src/Functions/FunctionsEmbeddedDictionaries.cpp @@ -5,7 +5,7 @@ namespace DB { -void registerFunctionsEmbeddedDictionaries(FunctionFactory & factory) +REGISTER_FUNCTION(EmbeddedDictionaries) { factory.registerFunction(); factory.registerFunction(); diff --git a/src/Functions/FunctionsExternalDictionaries.cpp b/src/Functions/FunctionsExternalDictionaries.cpp index 0cd56f87df4..371b838635b 100644 --- a/src/Functions/FunctionsExternalDictionaries.cpp +++ b/src/Functions/FunctionsExternalDictionaries.cpp @@ -5,7 +5,7 @@ namespace DB { -void registerFunctionsExternalDictionaries(FunctionFactory & factory) +REGISTER_FUNCTION(ExternalDictionaries) { factory.registerFunction(); factory.registerFunction(); diff --git a/src/Functions/FunctionsExternalDictionaries.h b/src/Functions/FunctionsExternalDictionaries.h index 03833f9a2b2..4bc7a17cf4c 100644 --- a/src/Functions/FunctionsExternalDictionaries.h +++ b/src/Functions/FunctionsExternalDictionaries.h @@ -458,6 +458,8 @@ public: { default_cols.emplace_back(result); } + + ++current_arguments_index; } else { @@ -465,6 +467,13 @@ public: default_cols.emplace_back(nullptr); } + if (current_arguments_index < arguments.size()) + throw Exception(ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH, + "Number of arguments for function {} doesn't match: passed {} should be {}", + getName(), + arguments.size(), + current_arguments_index); + auto key_col_with_type = arguments[2]; bool key_is_only_null = key_col_with_type.type->onlyNull(); @@ -973,7 +982,7 @@ private: auto dictionary = helper.getDictionary(arguments[0].column); const auto & hierarchical_attribute = helper.getDictionaryHierarchicalAttribute(dictionary); - return std::make_shared(hierarchical_attribute.type); + return std::make_shared(removeNullable(hierarchical_attribute.type)); } ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr & result_type, size_t input_rows_count) const override @@ -985,7 +994,7 @@ private: const auto & hierarchical_attribute = helper.getDictionaryHierarchicalAttribute(dictionary); auto key_column = ColumnWithTypeAndName{arguments[1].column, arguments[1].type, arguments[1].name}; - auto key_column_casted = castColumnAccurate(key_column, hierarchical_attribute.type); + auto key_column_casted = castColumnAccurate(key_column, removeNullable(hierarchical_attribute.type)); ColumnPtr result = dictionary->getHierarchy(key_column_casted, hierarchical_attribute.type); @@ -1042,8 +1051,9 @@ private: auto key_column = ColumnWithTypeAndName{arguments[1].column->convertToFullColumnIfConst(), arguments[1].type, arguments[2].name}; auto in_key_column = ColumnWithTypeAndName{arguments[2].column->convertToFullColumnIfConst(), arguments[2].type, arguments[2].name}; - auto key_column_casted = castColumnAccurate(key_column, hierarchical_attribute.type); - auto in_key_column_casted = castColumnAccurate(in_key_column, hierarchical_attribute.type); + auto hierarchical_attribute_non_nullable = removeNullable(hierarchical_attribute.type); + auto key_column_casted = castColumnAccurate(key_column, hierarchical_attribute_non_nullable); + auto in_key_column_casted = castColumnAccurate(in_key_column, hierarchical_attribute_non_nullable); ColumnPtr result = dictionary->isInHierarchy(key_column_casted, in_key_column_casted, hierarchical_attribute.type); @@ -1082,10 +1092,9 @@ public: const auto & hierarchical_attribute = dictionary_helper->getDictionaryHierarchicalAttribute(dictionary); auto key_column = ColumnWithTypeAndName{arguments[1].column->convertToFullColumnIfConst(), arguments[1].type, arguments[1].name}; - auto key_column_casted = castColumnAccurate(key_column, hierarchical_attribute.type); + auto key_column_casted = castColumnAccurate(key_column, removeNullable(hierarchical_attribute.type)); - ColumnPtr result = dictionary->getDescendants(key_column_casted, hierarchical_attribute.type, level, hierarchical_parent_to_child_index); - return result; + return dictionary->getDescendants(key_column_casted, removeNullable(hierarchical_attribute.type), level, hierarchical_parent_to_child_index); } String name; @@ -1234,7 +1243,7 @@ public: auto dictionary = dictionary_helper->getDictionary(arguments[0].column); const auto & hierarchical_attribute = dictionary_helper->getDictionaryHierarchicalAttribute(dictionary); - return std::make_shared(hierarchical_attribute.type); + return std::make_shared(removeNullable(hierarchical_attribute.type)); } std::shared_ptr dictionary_helper; diff --git a/src/Functions/FunctionsHashing.cpp b/src/Functions/FunctionsHashing.cpp index 901234e5443..31ffae2d98a 100644 --- a/src/Functions/FunctionsHashing.cpp +++ b/src/Functions/FunctionsHashing.cpp @@ -6,7 +6,7 @@ namespace DB { -void registerFunctionsHashing(FunctionFactory & factory) +REGISTER_FUNCTION(Hashing) { #if USE_SSL factory.registerFunction(); diff --git a/src/Functions/FunctionsHashing.h b/src/Functions/FunctionsHashing.h index c6e66a3d46d..862592254c1 100644 --- a/src/Functions/FunctionsHashing.h +++ b/src/Functions/FunctionsHashing.h @@ -31,12 +31,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -1085,6 +1087,16 @@ private: executeForArgument(tuple_types[i].get(), tmp.get(), vec_to, is_first); } } + else if (const auto * map = checkAndGetColumn(column)) + { + const auto & type_map = assert_cast(*type); + executeForArgument(type_map.getNestedType().get(), map->getNestedColumnPtr().get(), vec_to, is_first); + } + else if (const auto * const_map = checkAndGetColumnConstData(column)) + { + const auto & type_map = assert_cast(*type); + executeForArgument(type_map.getNestedType().get(), const_map->getNestedColumnPtr().get(), vec_to, is_first); + } else { if (is_first) diff --git a/src/Functions/FunctionsJSON.cpp b/src/Functions/FunctionsJSON.cpp index 49546aac92b..6beb8155965 100644 --- a/src/Functions/FunctionsJSON.cpp +++ b/src/Functions/FunctionsJSON.cpp @@ -251,7 +251,7 @@ private: } case MoveType::Key: { - key = std::string_view{(*arguments[j + 1].column).getDataAt(row)}; + key = (*arguments[j + 1].column).getDataAt(row).toView(); if (!moveToElementByKey(res_element, key)) return false; break; @@ -304,7 +304,7 @@ private: /// Performs moves of types MoveType::Key and MoveType::ConstKey. template - static bool moveToElementByKey(typename JSONParser::Element & element, const std::string_view & key) + static bool moveToElementByKey(typename JSONParser::Element & element, std::string_view key) { if (!element.isObject()) return false; @@ -447,10 +447,16 @@ public: FunctionBasePtr build(const ColumnsWithTypeAndName & arguments) const override { + bool has_nothing_argument = false; + for (const auto & arg : arguments) + has_nothing_argument |= isNothing(arg.type); + DataTypePtr json_return_type = Impl::getReturnType(Name::name, createBlockWithNestedColumns(arguments)); NullPresence null_presence = getNullPresense(arguments); DataTypePtr return_type; - if (null_presence.has_null_constant) + if (has_nothing_argument) + return_type = std::make_shared(); + else if (null_presence.has_null_constant) return_type = makeNullable(std::make_shared()); else if (null_presence.has_nullable) return_type = makeNullable(json_return_type); @@ -498,7 +504,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - static bool insertResultToColumn(IColumn & dest, const Element &, const std::string_view &) + static bool insertResultToColumn(IColumn & dest, const Element &, std::string_view) { ColumnVector & col_vec = assert_cast &>(dest); col_vec.insertValue(1); @@ -526,7 +532,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName &) { return 0; } - static bool insertResultToColumn(IColumn & dest, const Element &, const std::string_view &) + static bool insertResultToColumn(IColumn & dest, const Element &, std::string_view) { /// This function is called only if JSON is valid. /// If JSON isn't valid then `FunctionJSON::Executor::run()` adds default value (=zero) to `dest` without calling this function. @@ -550,7 +556,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - static bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + static bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { size_t size; if (element.isArray()) @@ -580,7 +586,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - static bool insertResultToColumn(IColumn & dest, const Element &, const std::string_view & last_key) + static bool insertResultToColumn(IColumn & dest, const Element &, std::string_view last_key) { if (last_key.empty()) return false; @@ -614,7 +620,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - static bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + static bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { UInt8 type; if (element.isInt64()) @@ -656,7 +662,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - static bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + static bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { NumberType value; @@ -731,7 +737,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - static bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + static bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { if (!element.isBool()) return false; @@ -758,7 +764,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - static bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + static bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { if (element.isNull()) return false; @@ -1158,7 +1164,7 @@ public: extract_tree = JSONExtractTree::build(function_name, result_type); } - bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { return extract_tree->insertResultToColumn(dest, element); } @@ -1201,7 +1207,7 @@ public: extract_tree = JSONExtractTree::build(function_name, value_type); } - bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { if (!element.isObject()) return false; @@ -1245,7 +1251,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - static bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + static bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { ColumnString & col_str = assert_cast(dest); auto & chars = col_str.getChars(); @@ -1349,7 +1355,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - static bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + static bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { if (!element.isArray()) return false; @@ -1381,7 +1387,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { if (!element.isObject()) return false; @@ -1417,7 +1423,7 @@ public: static size_t getNumberOfIndexArguments(const ColumnsWithTypeAndName & arguments) { return arguments.size() - 1; } - bool insertResultToColumn(IColumn & dest, const Element & element, const std::string_view &) + bool insertResultToColumn(IColumn & dest, const Element & element, std::string_view) { if (!element.isObject()) return false; @@ -1437,7 +1443,7 @@ public: } }; -void registerFunctionsJSON(FunctionFactory & factory) +REGISTER_FUNCTION(JSON) { factory.registerFunction>(); factory.registerFunction>(); diff --git a/src/Functions/FunctionsLanguageClassification.cpp b/src/Functions/FunctionsLanguageClassification.cpp index 521a4b0301e..18579e674ec 100644 --- a/src/Functions/FunctionsLanguageClassification.cpp +++ b/src/Functions/FunctionsLanguageClassification.cpp @@ -221,7 +221,7 @@ struct NameDetectLanguage using FunctionDetectLanguage = FunctionTextClassificationString; -void registerFunctionsDetectLanguage(FunctionFactory & factory) +REGISTER_FUNCTION(DetectLanguage) { factory.registerFunction(); factory.registerFunction(); diff --git a/src/Functions/FunctionsLogical.cpp b/src/Functions/FunctionsLogical.cpp index b615f52652c..05ec1e54c94 100644 --- a/src/Functions/FunctionsLogical.cpp +++ b/src/Functions/FunctionsLogical.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -21,7 +22,7 @@ namespace DB { -void registerFunctionsLogical(FunctionFactory & factory) +REGISTER_FUNCTION(Logical) { factory.registerFunction(); factory.registerFunction(); @@ -50,17 +51,15 @@ MutableColumnPtr buildColumnFromTernaryData(const UInt8Container & ternary_data, const size_t rows_count = ternary_data.size(); auto new_column = ColumnUInt8::create(rows_count); - std::transform( - ternary_data.cbegin(), ternary_data.cend(), new_column->getData().begin(), - [](const auto x) { return x == Ternary::True; }); + for (size_t i = 0; i < rows_count; ++i) + new_column->getData()[i] = (ternary_data[i] == Ternary::True); if (!make_nullable) return new_column; auto null_column = ColumnUInt8::create(rows_count); - std::transform( - ternary_data.cbegin(), ternary_data.cend(), null_column->getData().begin(), - [](const auto x) { return x == Ternary::Null; }); + for (size_t i = 0; i < rows_count; ++i) + null_column->getData()[i] = (ternary_data[i] == Ternary::Null); return ColumnNullable::create(std::move(new_column), std::move(null_column)); } @@ -68,13 +67,14 @@ MutableColumnPtr buildColumnFromTernaryData(const UInt8Container & ternary_data, template bool tryConvertColumnToBool(const IColumn * column, UInt8Container & res) { - const auto col = checkAndGetColumn>(column); - if (!col) + const auto column_typed = checkAndGetColumn>(column); + if (!column_typed) return false; - std::transform( - col->getData().cbegin(), col->getData().cend(), res.begin(), - [](const auto x) { return !!x; }); + auto & data = column_typed->getData(); + size_t data_size = data.size(); + for (size_t i = 0; i < data_size; ++i) + res[i] = static_cast(data[i]); return true; } @@ -99,7 +99,7 @@ bool extractConstColumns(ColumnRawPtrs & in, UInt8 & res, Func && func) { bool has_res = false; - for (int i = static_cast(in.size()) - 1; i >= 0; --i) + for (Int64 i = static_cast(in.size()) - 1; i >= 0; --i) { UInt8 x; @@ -458,7 +458,9 @@ ColumnPtr basicExecuteImpl(ColumnRawPtrs arguments, size_t input_rows_count) for (const IColumn * column : arguments) { if (const auto * uint8_column = checkAndGetColumn(column)) + { uint8_args.push_back(uint8_column); + } else { auto converted_column = ColumnUInt8::create(input_rows_count); @@ -543,6 +545,8 @@ ColumnPtr FunctionAnyArityLogical::executeShortCircuit(ColumnsWithTy if (Name::name != NameAnd::name && Name::name != NameOr::name) throw Exception("Function " + getName() + " doesn't support short circuit execution", ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + executeColumnIfNeeded(arguments[0]); + /// Let's denote x_i' = maskedExecute(x_i, mask). /// 1) AND(x_0, x_1, x_2, ..., x_n) /// We will support mask_i = x_0 & x_1 & ... & x_i. @@ -596,14 +600,14 @@ ColumnPtr FunctionAnyArityLogical::executeShortCircuit(ColumnsWithTy if (nulls) applyTernaryLogic(mask, *nulls); - MutableColumnPtr res = ColumnUInt8::create(); - typeid_cast(res.get())->getData() = std::move(mask); + auto res = ColumnUInt8::create(); + res->getData() = std::move(mask); if (!nulls) return res; - MutableColumnPtr bytemap = ColumnUInt8::create(); - typeid_cast(bytemap.get())->getData() = std::move(*nulls); + auto bytemap = ColumnUInt8::create(); + bytemap->getData() = std::move(*nulls); return ColumnNullable::create(std::move(res), std::move(bytemap)); } @@ -692,29 +696,14 @@ ColumnPtr FunctionAnyArityLogical::getConstantResultForNonConstArgum return result_column; } -template -struct UnaryOperationImpl -{ - using ResultType = typename Op::ResultType; - using ArrayA = typename ColumnVector::Container; - using ArrayC = typename ColumnVector::Container; - - static void NO_INLINE vector(const ArrayA & a, ArrayC & c) - { - std::transform( - a.cbegin(), a.cend(), c.begin(), - [](const auto x) { return Op::apply(x); }); - } -}; - template